kernel-devel-4.18.0-488.el8 ?>?  AH0?????dDU]̑J9d-Д^t4[VhGʽDF߽D _a|Q48}b$Yxd[t-CMݾ{B?Rp)Zܸc:(҃˓=AiΦ޾$X/³%q`K )?iy8Ē-wWT|j`ѐHp,s#I aO|1-.HĘtv)70',|FPu'˹ӜBxr]%.HMX|V?Z%NlX)Ktq1w7nV)B~uitU`&󍧈#q)(\Г<Sg2s`kIG>3/ջ{rd97g_ cnZc 顳"[KU"yDky1C`C IQ!ǥ4qv\c A [8>)0slW6؅8346994ed288a9bbcbe83c5bd3791c64c91cb009bde9507329fd257514a9c002ce57132679ed02c1449baa84f2a5180977cf33fc0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500683066023100f70866c89f36a0ba1bc426549d0b419a1d768023db5d20e72a5f722972285ffa129dd53503c3a7c7ca85c7e5400bb2fc0231009ef83aca743ca385f1442ba21af7ee11bb179a43b4ec98681d36e396d325dfde33f74a8494a67f7a782e155d2aa2cebd0302047c435bb500673065023041eaf65a9fb8c3414d471eb902214b219aa1d46fb850a20cd797a7c2c05af2631d66f618c0b7b7c8e6728269faa38d46023100c7058066ec7d423f33ade9f24110c7763f391190219c0ff299453a85083584b5a159eb1732c44774fe913fdb435f50f10302047c435bb50067306502307fff630906c11e26c43e81f4fdae7490bfe2bbbb91946683ecc0131cd763c76f054803ef4d3be0aeaf7d7334aeb9b720023100be392f6c64e294606e456ed1497ac4718f344b1932875e513d0576730a80bd60adad2570464b4c650bb7b3364c86c3350302047c435bb500683066023100c38cac86dc2044ae1436357981f04013d4d13ded3c859dc46a201fb7b33f621f0b2fb6f95af73064e61b05eb8f3f4453023100a8116f6f1238b2a8b6dbfc6a7a9c76c2abe490f1d962a139986cbb04446c9a410a158e2f4a3de3d182b0bfa33f9651950302047c435bb500683066023100871c702d623fc22e6ab8e4310f53d3ef4c7b1b6ff973c4c9738d98194b7139d40a02d3673d2626bfe0f4ff486295dda60231009e46bced49fd418aaf94ad3265ba2709f50aa9aba1f8f6f5236487f3b2fd0a3c750c9b258d845b7c31f2ce48b7fb36520302047c435bb50066306402304b87cba9170ec291ea5e43fdc1b973c44ee62a50439f155400fac2e11b2f4ce0592bc44a144bfdfef60acf080291ebb2023056c28d81aab20d06cf9826dbbd7c10b1374bd44e6315b43c123f061422dd53ac1006315db820149c38f303d31bebb7340302047c435bb500673065023100ca79b5f1c2411bfa9febddcf997172213dc01c8ebc8a9542d0b0cb433628bbd1287a387ab4ad04389d46e88f7fcdf84d023042a6ed6457aba09524b2f56043687cbb1f7d5d27f657131af2f7a957a358451458cab482eb55a283ab1bb86d258d1ac50302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008a9948d876c5e7dbe0a7806faa125677aae706d514613068dd9592e23df45f20641ac0cb09720d560e28097e7a20e757023100e56d680bf85430b7daaf69a0536f05d8031c4b4ccb92447f91f388d7e509c46b0f97357f142fa8e5425e6c98c69f93370302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500663064023033b706f6527a678613f7a5c99aa3e8c0d8da52be8e6f461d5ecb810f1833cc82c10b57ae9c4924321bd59b4fce02a62b02302eb694756c84e6c28e0af4bc43d7b37dbe127b63d96afca004657eff5770f103427522875a9cd89d7e7d53c655d8cdd80302047c435bb50067306502307f0977ec894f47751e60772cdf9149968416391d96a2d47578de6d3c96781c5227506a4f432deec593913dd77542d4c6023100a14197a00fa2ea8f4d18aab1ceaf867ce0fd75c77150cbd58166c3a1b1b35cffe957d1bc849b34cecc27ddc7f31d20810302047c435bb500673065023100914c00c39bf20b681695441e06a2ae3b52dafff8306e50398443851bf621d3badf9a631f5f3049d1d14685ff5673df6102305ca82e426ea1566f920fb8fc78fd9a485bd11ec9b0b2aad902e61c95947d1d51e4b96202f380cf8c898827eae508bfa30302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500683066023100dcfc704357d51aae4d831217f29dea96b206638ccd402f0194c8b3983de4dc0247cebe49004037c9a1c28e21219069a9023100fdbef4a4c00e66f6e37e97ac4bb37183a9b6e95dccd823efee5b1b2ca874cce1e7b15cfd5f5b73b295ed6762eb18a9450302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500683066023100fa3cba8de353bd4968b50d5803cf34016a948d775f5b1e0a6d6f882969ea3172c7b33c3af0f2363a02a275fd8145856202310092b135c21342e5dc91d1db806b6e3fe596d7f2fa5b99f3e098f2c3214e400125b206409c4e3afd040b8bc214b7a4f7910302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006630640230181d3fb4f41046e2b7cfb5772f06d285716b22370ea32204a9d2b9e5d8d2a8e06551f9f000d4997737f4a3824f494c0c023050869a67c9434dfdf86d13276846b5ad40be2ff15197f157dc4a8e920e1cce17aff530be39aa3609a137b5d6a83d76cb0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023100f397025dd4fc03c60fcdf3e014dddd65a9523ce908ff226cfe6765837600f095e0ff67ab6a9ce19fe3dca1147e7f342e023034160a4febf953bbac6b655f5560dba31208d72f17733fad9211ad1ba828cabf19b1bfc62cff810dd289967b78fed57c0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50067306502310086deaf092cf9366a12e15712c8cf90f99cbe90f7904d3aeb52e8e8bfcc7bc51b705cb06e0a6d692c025f0551f36f027902306acdb044b91896a778519b7caec1857e6d21eab107656eb2df8c3f5d6f165cd9900197b4f894190f12367f6ecbfa72330302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023100a008eabf5b650b09b778d8f25848d67b41f5aa371c3dec254518077b16ec116081818404b667b6b35ae1db72a1f0876d023020d3df9ada6174d26d035b61b0b66e5d4401186a0aa7041f2171d72e52174de690e15c906a16eaf624a8e385281787600302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500683066023100dff6ab8c47cae48562480269152b67c69400ba4b366ab623c98d3fad13789d566c72192bef0247720d0f9adedd7cf9f0023100fa710204006852d3ac7a9ad8657d838936c44e1626a58239deee26b54d3ba2a55f95165caf4f7f69f7636891ad905e450302047c435bb50067306502301ef49d1a6552dac024a75604613e79ec2850166cd38e30ef2d72521b242b2657f8b7236c29574cbe7f1efac6da5ca86d023100d925935eb43d7c508e1a5ea4218d69e956af9f7ac1f3f4b219a8d895eda39684fad161dcd1bb05e40d75641fa5ea42af0302047c435bb500663064023062abcf9e7f0f607d04554227f7fb44e75dea4c666363c0026a610c4b839a4f055769b68822c40ca876b021a69bd1a35102305a9a546c337faba02d917e97486729fc8ce0167a90f93975cc86e6df6eca4b1adf5798ad330672fd1479a83f64be937a0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50066306402301db60653faad94f18311e2e300405fdaf5fc9e6cfbb08386516ba593ebd5e39a65457c1fed79a8a434b73548296dea43023053f84fcfc95ef2e6dda4e9862805b5f2e207f44506b3f375ab28381ef79f6be85c62fdaddc72735117829c45b04694bf0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50066306402303d486a780153e52f5ec5e2a2ab6fb515900026728b2f6b1c8a8b38df7c700294af7364183efb2bc5b195be096c730e3202305332ce720cdb8a337763fd20f64933bfbbca800ea658bdc088f4d2268e56f52e5ff3a55a5b86a2051803df095bb838580302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006730650230257b404c049a40900a14849bb7335916c2f9e32ff72700ee3e34554694363294b01b9c1d4f0e4c11bd75577f132daba3023100ce7af59617cccaa450104731fe1b4951b8af879ea2d308dd8d3588d74048e66e668bc99d590f1c41d0bfd3913d6ac77a0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50066306402306778049a6abc49191284b3a0f4d2c8603ee4f04cd130bb14f310cc70d8d49cc1ce773bc9b03ddecf80837c67e4e56de50230794d8631de40ec88775130006623b8c3775dea89e58f9af66e2415ef751d17c9451dfe53d0d0adea4c0527d805c43ff90302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023100ff7dca9c07bc9ef29cae36a177497bb80fbede95ca3e064572067b13d474127eec91017013879abf83f2cf26d91cf46e02306354b7788ecd9357f9d7d44e22070c49293a1e684fb818f8ba5e0c22713e6c1f16a1b10caef0fbb8a445692cd1999e820302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023100ded2ce7c2645ff932c27faa4e4645b5542e9205d374982fbe3e55cee9fb3ad5b64b50fe7d1c5e9d351d5b23e43773f26023022c79399c266277f448074f862cbaebf3963567b904e4e3f8a0d9940342d46a0b8d5b3126dc2313c59786c449095aa9b0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50066306402304f59ec9f6c77ecaa0c2884650ba6dbee9b0ed4f4aef4af4418ee8d00fef3283cd3d97c501dadda51ab768972d123947c023028162998a744bd7ae9cc3627033960e612dbc54c087fe79203f7f7a4b6991495a6064a6663bf3b1a7b214ee89a7b10300302047c435bb50068306602310081cc4fbf92e8e548b4f2ebe8add35281bf616db4ae787bd24dfc1363c28e212178069078c799db39df8fc6466e7c3ef8023100b254faa61ca00c034b5044e9a37549be5908cff56a46cf3c6ff9f2cb6651f567b23c334507598d9785dd80673c067d8c0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500683066023100df12a60b85b5d9b51509ae28d59b5cca07cc21cf3e070b89ff522af08cbc013afce50a553df1c516c7890d631b1ea4590231009d3e682ab9cf58fc73d8832355312a2797908cc99bc78ab9f444a3b2e78f3910e2ef178a1fd4c4ae78ac6b8f0c44e38a0302047c435bb500673065023020821aa9a6929af996c20da52806cb23b8bf27506ac0d872483efc0567ebad1a33bbd0b3e42f3921e5153590e850566102310081179295931c6b0a08b6b784ee9a3f2a771b20ef269a49ccba12a8889bae5364a6a00179f7637ce089077ef6cd09e26d0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50067306502301b8ce1bb9f4defce9aa511ea76597ccfab500f2bc5ad5d578ed66f685a9fe5a7597e18b65f7774ffe356430b5af1c771023100ada3e580a3af4d728efe836c5e23c18aa1aaf27e376020d96dfdbc0c25aa9bf012cfa302b444628d9f17a5b07584301d0302047c435bb5006630640230204f034bd0858581c362961f325e869afa2b020a9ac1e96659854ac28caf9b5bb8597433596245385fae350591527b3502306a718eefc25a026f254afc5df6d6d4729e139d720170d171552a48314d0f06a9eec796094778fd5424c0fc772e9f245e0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500663064023026ea61f1ad20b82e787f5fccb66dcfa921f3e16c1447f14bf80aa21eef1c5ad12d2bcdd5d796619a7539fcaa50ea97840230699377b5956063dfa2c6cc13734a2ddfc73862e7f9b3090b138c8571342ff33d4ac044b763d6404516b15449ca7f8a7d0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500663064023061c562c42c2c9416384698d816bb4501efb68a7b39c12ad6d0791c8b8da72889ea3b5f35ed60bb83c1d27e89cc4e4968023052c08f702ef72cb9b3c08b7c6a48042b142857c7f1ba0ff196328d701ccdb6b745d91e9ca60c703c801700e8c76461b60302047c435bb50066306402303e3ac501f01d0b5eba7d90c0860941c7310f369240cbc0d37624c24eed4497b9631c2b301e91400b19d7ea5ec5bd04bf02301de984f7d9de50913283b5ebb930980da604ff1e8b2a4bd941b279c5f5d95605778b1f38881353167ca881331dd9078e0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023061cadffc09966f273b858f2ccc44ec10ef25705122fc0ca3ecac352a50a254dca69f4a34caf2460978ef81ca67644c75023100c42238242ff1b2de4a4c137cecdc5737bc8c4da2e38ad12be8d2939a4af7d1fcd2bcde7fb2e2e5c1d55601c6595683320302047c435bb50066306402306147d4f188f48729c3fd3b06face0fec7b6b9a62975f5737a316c83ced15e2fba7f0d6a5b952628666ed3fe9217666a9023072f2cb63de81e10942cb566f2c02e373067891623ca2bf7d36e7201c022b7a4b1cdec072ee5b847dba44ead54bab964d0302047c435bb500673065023100dd55728260a9b6fd471642c73047bd9882750c57b6cb448601abf2e8daff320ac71f8f6d0083c8145838d9f72bbf843402301a49d3c268adab2df2ef977c280f73b97e4e04341a6bb03d1f6155bf747200b07a72d828ff7b1e3dec41f14cf6959e7f0302047c435bb5006730650230737e8246398b0281e421753463049e0531145dfab7b021c2fd914c41902ed7f35c703515ad268b8e6b4d17cf7044af1e023100f21162bebce795618de1b6371b59f15d6b9956138022b0285bc64f9741a083eaae9167e6f9bccbee249f302ecf38fa290302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500683066023100978524c24d016274ba4c34b3dd26bc2dd214a27f2f8ab139ce51ead53a51b7579674fd98285056af7582a7d3b1071a050231009d0c7eec04cfae2d1106de41e94faea6c65ec5cbd8a700a93649e0ba93398e2c2cccb7d163da46595d3f86f29a79fa3b0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500653063022f482af599732cc5fdf5b621fc08ba56f964d1cea46433512f8d35e4c8cb27e8b9fa4492d8dcb89ddf9c11ce25b544f6023031c30928b7822450f29c4c45ae70d935e98c667592d872ec78dbb453a70dcdc7d7854483dea9ae6c167006f8818508d30302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023041f2f8af5b0f2aa829a6d88e1db5e8a8154e487095cd33d900206cb88abf5e9ddbe72bdd9bbe56a0a55493429b8f7714023100ffecc569658fa437dbb03e353ace186e09a0a19fa57db1852070f4a3948a09e7ba8d5cbf03c6c607afb6296be8cbccae0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500683066023100f145ccf944da1ff324ab6b4d11f5b3b7da3fa59321735d5197f24ffed4cab1d0e5a3669e70d6338dc1cf744f61533f8f023100876879e1fedccc8b4d3d6a0fc48b2ec60e3fff069d533afed20c07118377febad76f4c317f49e4a37b065c2f7011186b0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50067306502310096bf28b9700f27118b37248747abd8908a2f31ba2ad0b319bb715b4d6b25731f79937a12495553adbbce05fc40ec44fa02303e584f27fe4953aac5b64727dc953e36b01aba1e047deacb1c5a63a1f61ef6c889998e0f34ede85e7bc5ce2be8bdfcc70302047c435bb500673065023100d16e14101441d53f30f5c833a79e10934eb1b2481affd9ed3d9b1a4191dbf11ee5561291524c931dbd28f424b053c8d202307917dcec023087cb63249c5c896ea79edfd755a1609fb368d91c49a3ab04c8b77fdfe92e8c333bfdd9f5272531c3a66f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50066306402304c38c686e01c8b167c8821f4711f41a4921a15aa2d8dcfb4d69b969fd224f9b8209ef783cd1f8543654b2f5c7c8a3b640230500592b1ebf073292a00da1020f2fa62ac1477e208b9e55bb6561286704ad8d260a51fc78a079b6bcb744fbb3359d71b0302047c435bb5006730650230490622d1bde826c52051c77f2d3aa832df188e6cf58033d9dc3a56222e8aece63d8260a3bec3840ffcdd1744b48741e7023100e72b3cbdb1037ff4070883fac86c3193924bf6abbc00a49eeeab5a4ab6bc6fb720497e9029149ec4eb8e7d489d3f8f480302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500683066023100a10fd162d4e20dfe30791fafc3090d6913538d24754e6be0944025920bcbeff05c0efb75c913ccd6e457771c8ededea7023100e23ec903afb0bbf8eeca652cd721185e9c12fabc0ed46cbbbff4bb772f478442e82e2bf7a9ea37479cb6fb7b0dd3d3400302047c435bb500683066023100e86564a2596f88b8dfb3e69b7fbb71202185491bf190bb781f54b86a49a644f12996cb28dcde56a0b74f2e42dc4be4ed023100b955dd9d4fed9b2e588abcb8e93d2599c879d8da6e394538270bea05ffd1aeb9450c3f51d2e6023e631df2112a71bfb70302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006630640230066a0f9ece9a2b1bd6039fd90d9b40a456c9236fbd5ebd97bb9bbf38298854f2155a69675b4bdec8ed71dae3ede0f17c023024fa8079f76c40e0a995b04b279a40e5908c10942a167562bf386b324ec0a79211c15b97de37ce8d9f4610f51eac3a680302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50068306602310087a39360a07ca0204b519adfd4c6ba65561b9317856b51116584d55a69f298f18c2ec3df4120282eae447fa932bc6b35023100f140b9b9fdd77a37762a43f5f5b4ab74be39b0abe40164887dc239213175b6180a5bc87ecbd82af2a2427a83403a7d9a0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500683066023100fae316a38eb031f1896964200ffab69ef0b4450e169ba6be0d9ed70a3dceb1be76c459f452c3332f29995f1f74e538b6023100c0d85dcd7db8769dcd4b86247909d5db5a73ec558e48941738543237b4bfa53799f4e0f38db91c00ce05f0838f84fe160302047c435bb50066306402302d6541672fad6206a441e7ec8c3210e164b7b99cf565d0d6b7ae08086f62e4eec8856bf52ca66d07acff80d0ce68c81602304711587d70031a94ffcd7dda0512a0c1a6510ff691ce23fcd8d9d625ee0b2ed7d2e386193d715a733faf8c6d56bf88350302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006730650231008d7fb27d2aaa31897688c6d86dbebd0caa163241d44b37fec8f8f28032e29f808f8007a9f0fc27c5ac537fdbb7cdbebf0230505de6e4069b5170672d0b08d38765cfa9ea94a7136506fac0739685345b955f004ea5a04ce2f3ca28159b0d1d79077a0302047c435bb500673065023100a685e6d5acb6de3fa1e0c1e075860d3978663e7092eecf70212c65bea0589ea4d5b91db34623732d8b20b3fc297b2c40023014836ea48d81e23a27161808a26cc9744e406d8fc8ba8de9929f89ad414d3da449aa6e1c223a833a1e62cf8f05f49b900302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023100ad5d6a7901592c5ca924b3577fb6564648818c2ed16b3bace5ed66f59e05c5c438cefea08df702f09be59f34d1d5abb102300648d107f7aefc1b24e2aa76c24085ace4f209c2dee0b57896b2dedf1f14b70e8b6d5800472251e917c036831a9db08a0302047c435bb50066306402303fc9c3d820e6b4c87a242172c478794eb4a88b733c5ae4164d05051a41e2fcf6e5a9ab77120accf3f055102b5ead361302302ead503df0ece0831adce03fdfdae7a636aa328a7ef1a6d5c2593211def81ef9ac5f8472b2d5152155a63dfb195beab00302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023100e8e320c763914c0030ac21d862528a83d5dd27f3ae0fbc93908a4c21889dd79c15b11d2296374f8ec25681db071201da0230769cba04e900e99256c4677fb64fbe0f8fe0cef39b2ba0435abb3e7df34d6cb78c34de2457aeb66953057428cb9ca2dc0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006730650231009f66c33771d24e2e19fecafc972bbcf7a58771fcdac8302c008d3a9822f8530cbe2c253e8de11b4af2cdf655ee03c57202307930df2f02c525f972f7f33cb67acfa7bd0d8ee59790c6444899ce02a8263357bf397c2773ff0bcc70f4a8b0129eea270302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500683066023100a6964f7417895b17b87f67745c12820324ffbc03e162bf72d86714fa5f7a7b0c0e0435c67b8d2b394610887c4259813e023100ab8f2eca34c2fa31adf3e7523bc10a728ba45e363ddef8db81277c97223dae2902948d3a4fa0a315e3870daf1858d55a0302047c435bb500683066023100addbb609e6b532850bc105d8b34bd3977f65ac15f4664f0b2d28669874d83e9f9345ebcc092acbe5848827e0d1b33b5b023100dffe500321f70a8aaa632b0c33e6a635fb03125b005ad868ded1fc9a55e513ec339c29c41e277474a1770c1e16c777ca0302047c435bb500673065023100a81026fc1ca3025ecae82387fc6c3b45f8cb91879226f243196d4d9d20db176aca5c1d6fec3614958ed784bc4a418a9402303762dcaf4a8fdee5deba3cb5c0622e23bf269068fb4764d9a56c0fb102be5574f8eb144025f0df0ea6d4f9dfd06c1d3c0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50066306402301c28b160bfd036db39381babe13f93817c909921c0b91d59b8f7154e2f2b21daf17ae83ab4026833f155808dd66c75dc023010a912fdff0fa1b6010ef68cefc5bc097115a701f39b238f9f5a7f70b43058f09eb80dcadee23a35b85588a43e39088a0302047c435bb500683066023100ffa326389d503e04a64161d910724c1fdae14fc558457fd6823f0abae60b58366267bf506e31efa6f99f5bd7569fd9f6023100979958314589db06e8fb075e2545348bda9c538f5d72d1b0af38251314be56bf14029d06ac5120d75180893b498710760302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50068306602310096cd66cee94124dcd2ca6fa9deae266ac1286c8400fb8d0656f2c4a016ea34febda0c448e1ba7709950645e8bcc901f4023100b1ce0d376949b4fd3d68fc809fb7b7d4b6129854ee5a764361e40f8d0fbf37bcc8aaa4ecdd2ad9b9ca42e46c909148760302047c435bb50066306402303ab881c86c9c75f9272b19a5918f5406806d9e79f6e99946b1e9f1006205933d5ba890adde7469d4f9b75753ecd56bff02305f1204606dff7dce5dadba910b0276b3c65ff0887a160678eea5e45805d41c45b765977fc65ca1a899882510cce163f90302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006730650231009f08db895efe11f27cafc75ce3d934d1c26aa61b7d377ca6f7737b83d216a651f4856d142e0e0044ccebd8ac37dd865b0230416755abd5d6affaa064a39fb376b93de15b2dc8bf3a916be6dcbfc17c502037f64fb00a6335bde9eaf03c70d770e7830302047c435bb5006630640230280261cea5e98a95452a079cfdc6f9a440a7340f93a6ccfbefd3f9846e04648344fdece4a4b79aa849fb22028b7b5b9502304e17dea3d11a61248bedd16014ac37c7b8b08f08ab9f4cd4ce732e1bed998b1b48660c967e47341af6c48a521a359e780302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500683066023100ebd3fb18e7f2aabe690b107888e740cca637331d834b3f2e399c1cb973bbd227725964bb73e1d9711d8b5a2096774e5e023100f249e84b6d4ae656636fd6ad1a11b19885b85c9b1f196b507edc2ac266aafd27460da5e5c0a0e29b9e96083963f143650302047c435bb50067306502305ce9746157dcda4d74ba2729578fa755ad939a225a0facef37568d92181693b19f654ecad13b356ff97f7bb2d50b3311023100a5d84199cfb86bcfc6177f3f6b1499c1deefb0b1a791f6918dbc3131cc894e189fc04dde23166fe3fb4e8b07e7444c240302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006730650230208151d437d2f1902bf6c6d2facf00dd466cfb287360444ed1a624cb8eef20a5ecc01f083ed75ab5712de3e6b5ece0a4023100b4bf748c22cf431366d5907f57adaddf32f67ed3c7824b5450a986608a9c7b0c5421d6dff9284091127bb45a80bec30e0302047c435bb50066306402307efeed563a40dab1843436d6302c117140e6c45f35a2de6a08af243efeebdb72866bae28813735e38eb4ffecbed1a48d0230651d303d685988e5bfcf20dc1686b9abe7752210db17cf1b0d96648696930c420a88f3998fc821fb326b1d32b6d9de860302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006730650231008a815db4264194c77bb2229e1d495fdc73b874ec8103d861fc94a5ba87d735f4fa5785f10b1fbd4bb2ccb1308af54038023075847b0b45285ba0ea9328f3df4e4c9816a16134a017cd8d7e456975dd871d8a971d66e93b795cec2567adcda3dedcbc0302047c435bb500663064023058ee0c974468b079a2d37cc6cd9e5f216195d2c11eaab55fe32fef774b2827bee70559b06d3ca5a16c37257bc8eca9cd023068fb2176b8c46b7741fbb2c0e21ba2b2eb85eb4c7231f5dde98ef9bc7c9855fa5207674327ff98092b93dcdef57e0c2f0302047c435bb500683066023100ddd8a8e1dbe23f3e8d68c6725a0ff35308eb60a478801afef4c96c478648ce63aacbe4e8ff5c7f83c1e78d250cea2edd023100b1c50cfa47e4b4192cea9824c00f07489bf5ccddf94b0bdca14d9f641ec218e87156f0ab7da427e6d17af57fe412c9bc0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006730650231009d83fdedea2b134103a4c0d4f186ea6e0fe414387edb4b08a52d20d55e1742ab048547033aeee7c27e4800fa850779940230584074f44a34ef3f19f695aecdb7b8ae52afcd8585ec8f01028bae5053765154eda8b6eb811e081126bc0eb48478688c0302047c435bb50067306502306db96a25ab039f4392694ba09f1ede99f619cfe9a90082b129e1177cfdd4963e68b47a9d5dfcac7a589d12154e1baacc023100faea7d2154feea9e6ae25b708b3a7ffca2a141c62c353fd0d71bf52cd03f4c9eb0384da91363d2fa4d3755622d3b20ff0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500683066023100df8418d374f070c73a8686aaf59ef300a85115bd9e3cd34683fb84f8ac78ce5574ea063b9afb3ef89f99931a3eb7d2a6023100fc87ee7b834bb1dbbad00113ea0686556fb57bbdd588b17a04a62797f9e7c6d903720a6cbd3e4bcb35739608997852550302047c435bb500683066023100ce9d053aceddb04f0589b05570e0b15f3321bd2925643b6f3465f2daf331decde080997a659765d710464216b3db137f023100f6302294e24beb169780680fcd629d7dadeaf58e45c6d68bdc7183be03793218b855953aea37a7c69f4572f04d69d3ba0302047c435bb500663064023013d8b6ee4700ff4ec8e9be74efcd4854bfeffe9061367db98eea389113d755fc5075d473c02e5d3879692218e921a95f0230341a78704029a07606d82aebb7551d7d48b61a5b556956837970e82f71babf93b94d38ead0909bf19f09a1554159d24e0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50067306502302a03d5b25a021d3fd9a78cc0429e48fa080ca769a99a658364c612d127fda286a7137c7696741d880b7a3a51ae7407c5023100b813ec24a0d9db04d9c21b3e0a49ef16fc652a57245d260ffddc3a092dfbbd852f5655dd5697caf02dbe538f69c8054c0302047c435bb50067306502310096cb51504bc517c764f3593cab01d2d63cff802baf03a45adca6f176bcaf5ff43552519d3842f591e122e5efd6f8b6cd02304a98e4389060a6aa19984b215f38c8d4a8a09c4dca7fc7a4abe5f94557149e91d37f22c632de2f558931bb1fd8c125f70302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023048cd30631a50a4ff4f24d53b9b646134505cf80314a8d6cbc2bb369403f93076774fff5ea2dc25380216eae87ec52f48023100cf4d446e9c3be758005ee7edc3cbc72df57675cf4322c060f6f8f379dc8eab339824bc050498352840764f3463a22a920302047c435bb500673065023100a81026fc1ca3025ecae82387fc6c3b45f8cb91879226f243196d4d9d20db176aca5c1d6fec3614958ed784bc4a418a9402303762dcaf4a8fdee5deba3cb5c0622e23bf269068fb4764d9a56c0fb102be5574f8eb144025f0df0ea6d4f9dfd06c1d3c0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023100af7b07c04e3ec8935e8194701964e4158af1031e2dc6bcbe209b37b750b1bedaed0d7755160aa99f1efe4a2bf41fd78402304e910aa8f274644ca3d5021a1889c42ce7e9a16239f4d3acb2bd8dc56ae28b0cddf7d13cd1242ac725fc108dfab2db4c0302047c435bb5006730650231009bef0f65b5090963832331b3d8bf163c02f7f7c0709be45b6b5302f9c5b9d40057fa7211fa57e681994b7aa500e892e00230624b3e459d0d47b3be1cd7ca17fb6b6447e6523eda1765d3305e730b399e7adf4b047658a2eefb8ae42040f9c5d988620302047c435bb500683066023100e150900cdfe4817d4c09b69bc0da81314f13465e386f6a51cf53e0a1658788da5665905a36abd3e40a2ec55acb649743023100f28e9196dc51a551d3a27b8c93c2b0ca797e3b5ef637dfec7ce2096472d9272878c031a27240d5960a38ef5d21b09b130302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50067306502301c0cc4534144b735c54a22c935af8f6dde11732fa2e963122145c60d20c338efc845726d2657c33f962f1cd7323461ea023100d961857e525d74abbbaf53f6c530d9ea6f53bacbe251bc3850748ccdc5402ca5d6c125e3427ea3dff2f61ad424748e4a0302047c435bb500673065023100dd6d9e4226ae06bf74acd02b36bebae2d2c1388dae680dc086f06a8e27e735e84219adfc641bb0372db428faf99a6914023030ca9ba481ace0ac3aa405c392b0abdef169855d9cb0bf3da60ce7e4523dff1b2b7c2aa4c8f2a2a918a652df709c59f40302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006730650231008afe6b01b86fe2db497c1f8520f1678a8d3fde62e42837ad983d4089715faa4dd08e29c65203b64a4cbedebe9be3f88702302d9e9ffd52e58feebc9209c124e0ea1aa2c5fb4082e390d738960a623a6b7c7fd60362573e3f5ca36e7186050b41dfee0302047c435bb500673065023032ffc10b340428c1234f284783233e971bfd086f01f9a32dee908d06974f9e2f5aed050937f4dfa8074f3b16ea401342023100ae383a387c72b71064737c9f1c1ddee47254d85a873bdff9b4ab9617e539ca43f53e1b32ce1eeb33ca227586288608a00302047c435bb5006630640230176542ff13866c612525fb4ad0e9bca9bd2918445b5d926e150571fe2a10057775dbad6d41a8f7a283e91cb4ceb69537023013251c6659b98850a7ae373d36e9748e6ab2384c48b662c9c1dd6ddefca213c7903dada6bc21144a94456a41fb0bd46d0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500663064023037c5613044e5db996a0975b8f45d50c096208c00d0b3dade2693044ec0cc7189b411e593a0551a3c220e3f73c1333ff60230798e77a175c2ad94b30802c4ff8da40bb9d06d7939c717a0e3c812b5fa8a4cf8052d6a9c027cf4b11da544524b52126a0302047c435bb500673065023058d39d6f9176c182d690f561901b5fa5f22f53b67a753c9eb06a2e0df23394664e3f368203bb390f9210d46d7a5c1c52023100f98c7df12d2fccca23af82b74fa74bc2745988beaa51cf29d8b0b3ceec6fe45f9ae9aed179b4cbe8ba2ee870988e15e40302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50067306502303a9f6f50aaa805d118b863d2de76008fabacc34aa10c01f42aecc08e3877950019598f6361c4457728044ca897fba980023100d0b49551ec91f69c7916cec0b4ff54f5f733fa38985ab962c26b359aba8073beda49adcc3339ee9d802f342c0a939a5c0302047c435bb50067306502306c9e807103b7fd1cfd492a746544bfc9d48e86b3d1af8780433681c62d068332caac430a026f034a356958264ce232960231008d26eb2612629360a14951b4831c104fd705c58537f5afefafb00acd55fe5bb36b23e5f754f575a76f52ed169573daf00302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500683066023100ed99356082ff62b9b5a235ff0ea68291dfe927fa4778f3735ad502726d74b59c9ba7097c69f609646346195870a4d4c2023100f5fc9fc4137a8a09c6ebe9d7c0544992723b2f9349962a74b013a82f8d4c5aa36f2b861c918808b210b788a54cdd30460302047c435bb500683066023100c515d3a1d0240f605b6da80ff2f6e97bc86bfcc859c0ac55cd94be4813f5cf5977afa59c1f8ac9356884c8e91371f567023100b5ecf3d1644c1f92298ed4a2137ab9d441e093284114c13c6ac2df37f5175a4c2e6e9bf7edfed368797d58fa92abdfdb0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50066306402301a5136abc18ef19be07c60dda6860d4bc53baf2a2013f7859c61a927d95c45e339a0a1ce4ba59107f7e76a8ad9aa0b8002300aae1ee2ed50ab58e7e3c28656b84a444ca66381e79709467fff4ed983028d9dfc79b8f2e1a863297251449aff5d69cd0302047c435bb500673065023063b4112e8fe07735bda331973a3fb856ca8f37fd73541c23eb09405454dbb2fd8c4ccd31a082f41bfaf445e7b0b59589023100e1765b074daad91b42fdf19cb3cfd314d53339acca41a5f4273d79f0f13a2fc473e8d9fd3a5b40b2cc3894ff201bcd880302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50067306502301142e17df3ca9074eb46c3a17ff7c2c4dfd2cd052f3eae6befa04d4732a850dc5bb52be26fa9d309496bd05b46182354023100bc3d8c16eec7280eaad5656c5828286ea1f17a1c89db80a91ea4ab97930ebec1209bfb8b8a99743a4fb01993ae74cff30302047c435bb500663064023019659eed5259a776cbdfec7f028e3eac23e4629c95a3ae500c532d54c03a1aa87843748ec36d7b083121477530e9540402306299b3eec1ad67b535d2cdb24ecfe842650072e56cf919d4a427c4b1efe19f1385bc64ab4a487ae0b67e6cdac50c90200302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006730650231008734403042d2ee2fbd30cc46c2c853890b5918220da78873af80827f475a34b13b037073793ddcd45c5366debcf5864f023050f8af05e0fdb10ceea01624b829be6efcfc9c334838531b145fa6c3d0571831f1bf76c895e7cf982edaa3540c948e800302047c435bb50068306602310089049904591286f23018e55855860a63f7087c47280ee3f0ebba79dd2179297b62497c5527dac559af94ac2fb8332bf1023100c3c0a5faf93292f1a666592efc249f7b5b8ac9313410738ccab2f272f22503909682391625fcaffa4ba6d8816ce910bd0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50066306402301b64f6fd010af39841e328f1234d3927ebcf13a0ad831b7fc9ead235bfab51e3b89cbfa9038a898ec6582c38edf40b18023046d14eeef1d6747e348e9bacdf6656570e95416c0e760e4d9ca6876e6615d81abaebbaaec82549d06ee360d0b9ec68950302047c435bb500673065023100a1e72e6940ea24ae829470e4ac16474db19575002b758d1f0f690f41d6bb6c781b12cca770e67ac7538250f5dc51d8a60230218f3ba27db0bfa5fc1c290d0ac7c0cbd0778113aa6d8adf568a3eab03f2dc8b7341cdfbf85cf0e38642d6a8af7720740302047c435bb500673065023100c11e133a50e06acd67cc7ea3fedd29e85af91171821c10e634f513d1fd62d3fff9eb9bee4dbb2699cd589461f194dd9b02302f1f5a6adf023d36a54d153f81a45e2e8b6e6bc34afe6237fcb8b02ce4b7ab5ebea605398dbd68c60d98bdfb52623d380302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500683066023100810ab9ae7b7bd783c0517bcb41211f3e95804fbd700b3702afb2404a740294b648b5e28511705ce62326bf69486fa3b40231009159495a3725a60b0dd1acfe2062a198ff8d393c5f9eb8e72562f516be45baa9cb0f35153eefb4711803d58f00ee004e0302047c435bb50066306402300b267918c41a4c0b8d14e7077bd796d985949b97b046aa2808ec527668b995ca0916604c437eb684a5a4f349ff501550023041d1223a54192715c579ecb2fd0cb8bdf3b0f431a27b090ae44429965ef80a2fdf31a35025a815a7b1c5df3b777e6d9c0302047c435bb5006830660231008528070bb6230a8ae39afc175b344ea45dafa1a9a78d5f1dcf2f2e12279c5a7794e3a27b7541b81b4d21ef59f57b1751023100cc920ed4764fa398fcfc781e849065c10892cf940131e437378c1894414315b224062100a0df3dfc1c583e73106f90220302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023100fc56dc7f59da47ca3b0f08446c285b5e7122d12428ea078e4dcabdffc5a3b19b70aeec399e9f1b2ffeb1c38968a48e0302301b7e15039d3e189990e89fa3f93e9acbd569f0480a297251c2f35452d2181076ee9f335eef7b7246d069baadab940ddf0302047c435bb500673065023100899095b4099d221d08e7da19145af7e3beb0baefa3844f3cbd99685a5bbca5307e3df86d19b1e903115095ed0c5d371002306233842469f7e35a9c90788c686985403dd8f8b6058d0c25c709068a2b39eeb9ef99fb054422f6b8dfe6da82804244b20302047c435bb500663064023013d8b6ee4700ff4ec8e9be74efcd4854bfeffe9061367db98eea389113d755fc5075d473c02e5d3879692218e921a95f0230341a78704029a07606d82aebb7551d7d48b61a5b556956837970e82f71babf93b94d38ead0909bf19f09a1554159d24e0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023100f8391ec6a6246af6852770d9f234eee4b55f1e3a017bbf360a4dc272ad11e8f0ad00648867677cbcc84b60b822a3b25f02307dbc4699c3e54c005db33fd7d4ee840b48e2c3b453bc2e4afa6b899aaab68dbd9dc29cc8aefffd04178f57246124f3640302047c435bb500683066023100a9206343a61e9b9d2fb28a9b91cf21847b5c19d496098b7d698251b5cb8406a7b239208c091b994ecfdad66cb4ece062023100ec7bbd3ef93b4fe0f9030bf660c9131591e17f74f0c000381cd278f160a930e62fb6c218e03f537578df14922c5cdfde0302047c435bb500673065023058fe6e96e67e4fff8f83a2763bdceb212f8ca7cd4e4899bb1d31837f84df0449c846ba73d9c6d43579ce5065c8ec9ce20231009eeeade878c139c9bcf2e130aedd9939ccb15ff25e769e1e7212573d675a712383c8ecbd2632cd3af3892b32f6c290eb0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50066306402302e1ec2eaa5dec4b92951cec6873179a28af93afdb42d8a44c0e1ce1332faa34cad399610897bf74deda55f7ea4a2b52e02304121e7662fbced891b6a411a1b378372cc6276e79b5949d389fcaece9ca9cf8b6484323ea983dba4e909ba79ccaddcba0302047c435bb500663064023003a6430d242e31db1bec0744f9e592cd420b770c4eb1635327f27a85b90958af1588a7e53b4350ad0983516f2e784d910230269010607b4734e2965a5e689bda897b893ba1cca96502c80b382e920aaf323c6355a1ca18e46e846959855ad575297f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50066306402302cdb3d6afe0a7da6ec2c774dabf771cd5376b926e9801c4b27cfda1dd28b4bb78535ea23a839eab95b88df8b0b454027023038d1b6739321f93866c49e06f2864be8d923f7c37fabb0b22a7c6e70c5aa05afb37ad35547d040d990a62f9d4e05d33d0302047c435bb500673065023005bbd78e0b19462c2e70d2bb117197b0b94d24aac44de1a691a4d4c906a25b4009c3e7ab101f0090cf98b0d782e4892f023100f29e6ca95a0b38ac62d1de9c5a545dd97df48b906d102c1fa4caaa1db84033e7bfcb100ff2a277d0b6bd8907504fa3720302047c435bb500673065023100b12617426a58ac079d5bf202546ee27c48934de7425b9d0089ed65f187b191f57bee240faa2d137763caf37cc257909f02306c5299a842af649db40336e89b186d562c4d6b132b3d2c2289f3a8c049533cde3a919eff84611d2aa8f26b54173391be0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500663064023001dd3459b4293b079d138740de1994d9b0c2d7a73237927effb9f618b40439378bf1f04ca98757a4689c5d750074411702304995b01a2a6677362e0c5dc0f215ed63bb79d10370ca49693d2b85c7c5d116879a18e67f3e3916357924ef39cc79485d0302047c435bb500673065023100a81026fc1ca3025ecae82387fc6c3b45f8cb91879226f243196d4d9d20db176aca5c1d6fec3614958ed784bc4a418a9402303762dcaf4a8fdee5deba3cb5c0622e23bf269068fb4764d9a56c0fb102be5574f8eb144025f0df0ea6d4f9dfd06c1d3c0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50066306402300d6e442aa67591a8e2f7aabd6fa9a8c6f3165021458bbe29731d78758053e2451223197f75b2f5b5f5a49f5714645e4502301d2715b0c64d8bab611b78c66daa8354dcbc112af1cc2197fd0384a3e43d3a12bba69c776a0105b8ecff742bad589b3c0302047c435bb500683066023100b74dab9fa148eba0f07deae0dfeaacf090cb4a767c8c0902b52f3cf26b9a8c67d6e83eb69ddeb09e8d427904f99b06270231009c9f6528b556bfef6e4dfc274ab7b8728c307ba3910d1d77910050cd9e82ae58bc9f2c60c97901cb657b44e25c0bf3df0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500683066023100bce31ab0ece3238a223b6d65dc07c8b1513dcb9ffb4f03e3173addae02927374256a8981d9f9d2cc22ba304e5310868c023100f8bb7903fc83fc94220f219aba06f117d963049ad5f5d20f5520a24f49cfc3e042f408f524f5db3d1d4387d7e191a08c0302047c435bb500663064023039a6d047f5c89b830efcceab0f95d49cd1e3082d0c05ef415b423184099bfc1f8694e9566e4d103a7529e711573facd20230179a150c178d7da2fd570294a17e7cd53d611349c152a9f8d703e786bc9f4c61f92844d17e27b55d0fb42a97e5d5d0e90302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006730650230115546a71657d8e3d67a1a587c0b3ea72ddfcbb07e033716ea2a2c07cc9bbceb2fdaf9e9ae63eee5ac10434f83b8d6be023100c6f3b54c1695ec8837d1b2f161317b6a6de34cee23119a1925ce02f2b0b42f299f27182e06469c9536a94fc71c392f5b0302047c435bb50068306602310099cf1d2dfdda8379653cce0bb32a284e62573cdcbcb78d807270de42fda16cc6321d1c2c1aa8810195fd72f791a6b6c5023100e487c8fa9cb1e610fc0a7a72f20b919e9a7c0e1a284e2e1f09565ec42e209f706e2c5568a0cc67d33f592fe8de28594e0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006730650231008614190bb9b7ac9eeff7faa809b8269c45fbbd3dfa9c6e2b26e90cde67f7da7c631f38eb859b038b4d4b61f79edac76b023005e1aea3746fcc870c341045447389924827288186003806f97ade5909edd7cd900a11172c7e489095411e2ae19e2a5a0302047c435bb50066306402305c9eb738e94c7bbc3edb5c0cd4e28265a82dbff65824c089cbba31d70b4fa6c5d9bf17d992752c1730bfc756ee7e33c10230348e5e4192a8dc31780da27e1abbffb9013965940fddd5c960a03c2b40f7c83752687cfdaec0f3affe123bef758e2cff0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50067306502310094ce65561929081657823fa869f41195ea5d5b240fb35768ea43b4239cc70106781fafc9214653fda61bdc6c2c1afbe8023023befc2edd0d9c3da3abeea460a36d4f17c35c5c9a744f41704048fdd7a05de1d33be5186b71180ad83acfbecfaa60750302047c435bb5006830660231009eeb9615ee220c24312a10dbfa185a249364dab1dc9dea5ad0ac521dfcba8f8ed385798b52db30aea8d73fd18eb05db9023100bcf06f4e97f9cb4548cdf5e52506efd9b42030b0d8aa86f18904f6f3949fd63bdeb5326095a85edaae9203574c14aaa40302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023042a0afb97c7426b7947740c57e377d8916efa8c7fc72ea20090accc78baec2336a79103ff4fd09531a7d1cff882638fe023100e770d26af70d2734186e93fcbddd9173f72da5244dba9d67cea8954551d1df3ae93cdf8327993d5803296f765efc6a100302047c435bb500673065023100a14da735eb28848c6a3aa9cb0e1a7572d175fb2b25a6d6e70bcf8586a63fb4ebb7d586660e7da703c5ca1d1a999c096c023077b6037e3866c72ba2ad82a03c18f074c6023aa05ecddd74c51cb1685afb0cdf713b78626ba0e8c2cbd89046f3aeebb30302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231009fc5f48054bd6755aaf667792541f2426aab6f995c7331d9a2e8ecb6618fe586b6f2c4fc97a5baa364b6b0a218cb63bc023100ccfff6c5a9d3c80c51bb738e32911d5eb6836bf6f58ff314dcca977c3577a5b242bbd8c6eee9f3046405eacd266ee4ea0302047c435bb5006630640230062274cd13a0f6f68ce7510497ba2249414fb990cba1c2195f35c8090af848f93449c35558a3af774e747eb1be1db7f402301a2571aa8b15612b82698b941dae7fc52e8cbd3b8c1df80a8af1e3311732394b21cb2ddd07cfc74f11ae3b535bccd7c50302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50066306402305c2be2193816bea40e9a1b682bfacd4d36325b4de99d284beb9f0ebe93f87dad255a3b308341c7ef6bb7d2ebf1560ba10230351ed3679a49afd68120c1460968aa709c0dc60261e7f2de40820c42b360a875c10ee831208675904235c7bbee5cc41c0302047c435bb50066306402301c901795bdebc5316bdb3fd5af9b0daa8109de32e39e89eb8eb7c325e126a71562cd7d1cb49464213b8585d69ccb422902302aedc4881020f3c7b10e3473e7c1fb8c4a3ffdf80326d5daa52ec9d2a5ff626eb0148679ceb27dc1515f3ac7adcc64450302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50067306502307deaec9277e0bd62385570036db6f4c731f1f8039d861dc95b7ae6afe51bede5d2c53a32f45584f6e0265e8474500333023100d3b0c6e60b7060af893f99457068b3f380db95207af61105f8f1b8ebaaf48a1d0ff8a39459581c5c5c516ca8ed1469260302047c435bb500673065023012a441434fd413c77d3e1b3b646dd7d2bb6a01704bd12d0068361268499b6f679c4fe59be2ae1b9ef48d34f20f503728023100efcf9f85b376ef981749c546b864886f807472a8bd42ee8855745b08d7195c4394ef9a9ea2038f876084e8f6a646580d0302047c435bb500673065023100e4e1d7f12b3b35e3de4797e90924af334f327b3cd2000f1cc815236ff0bffc0287e8cf1395a7c6e31220504b34739cf102303eec13720ba6403e47afa60089824e9adcba62f9a1f7b7f2272bf9ca7ebadf9b8594221473940ead0b15564b2ddfb6940302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500663064023079d28b94ef01dde4728bc0af18e710a2b84d9b5832fe05463da3a497f07d6b46c74573da4a7cdb41a522cd982a97e69802302d13142890e3c4adc4a9fc651acdd4aacf81c9c46a851cce480fc2b9225fb0feb7ebc8acabf4cf3a1e7568f58e222cde0302047c435bb50066306402304e8019277cb4e02b84e49b68e9b2515356a8e431281fc3dbdfd6291a5ee04f555e208535bbc6c64b7f80335b98054526023051e4f4c346e1ab87678f714f3d9b4ceccd7f6fa1dda4074c739009a0b4a9ac2638bcc9faaebaa1c24cfaed54b41f9f010302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023100e9a1af7d443e4aabd2d8ff7df6cd92f7efaec6779dea3624e6861c50b36ea10bd71bf527d62d190b76cd126c5f15ec7c02302a0b39c1bac733287fdd6c53d0b9736ebcf3991a3088220d89c32cdd2638dc9c986e730438cd6c43c913a461f393a8080302047c435bb500673065023100997acf08275f1aeb44abdd6c336cdebcdb2def2cbb91f5789bcb40a9c1f76d65d69d3408f4131e1df5e11d7bbf1a18e702304b231f205cccb7d161a69cd3edbf4e6ffaf6a2aa94c8580f4c2670353e7f54bce0bb72880c6d90cb377fdc3ded05cca10302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50066306402302f3bcf5283ccbf117077e099b21b101e18fe7ae8b499a4b5bbf4c4c1d7d2e63a152a7cd6447d57354dcf4d2ca8eea4fb02304896e07379cd310e287e04d3b72dedb4ec74708aaa5bfcc22373d0b47351d3e9be9587efe4162b6bc1abcc24405b5e3e0302047c435bb500683066023100a772ced4451754dfdf4517da4e387c6f6a019e238e452db07d94320b05e5d400a21d1ab6babb7e800ad0fa2281ceed5d023100f75e205c8bbd7fba3e0f9fda1c98b4b16432ceb9f3e9ec6c8098308952a78a86afaa745d235c4783e2efbb0922b6cdcf0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500683066023100f67d3bc2de56873eec1466d7bde94baf7f44aa3dfe1b597ce0e489af5a8fdc3a220cba163ccf5c89fb6416468b596b2e023100dbd42337b5e7911b5da3a177806e2b505d7a39f4d8f7054d1de9b8cbd823950e43626b386a35f0ebd839bb6df2012d9d0302047c435bb500683066023100f0201e1bd2c25f28b59d57a1f5feb612e01516c44b4085c5cd28ff28b04bb6467b2928bdc60ed5c5b00c2be94556b2aa023100a377d03ff278e24098302ee126ae6b7c9f0f6203553c64ca3e009ec9fce51a42dd6a1d1f493645ebb03d6851d11e41320302047c435bb5006630640230711459f26232baab340f351b01d67ef941ff7658f937ec316ab2a7fb0f7d308686a30480a6240f2149d2f259af3b883e02300a73dfd91f178ca3361c4276c345f6af40220aa4480173fd595714f577c0a6872d7a7bdd0073f18521c344e0c0d14f290302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50066306402303e4e85e6fff69e4cbb4890dbdf66f7fffa76f56006953c06cabbc4f537457df76085ef2d9202d53deb4d7fcc7b310be002306d96b13d177e8a5d83e3cf0248f6a5462b0b8b5a6e5e7cc6464c23fd00dfd8d8a89d884246d75e7828527dd5779e26440302047c435bb500683066023100ab6eb56a6c02887dea13009031d6977028053a58fd4420e4375f0e52bcf5b9c322bdcdc44aad365d7c11bf3704857f9f023100fe65421035dcb0b65f20fa4d23ab4f2b31aec19803e64e6e6a84dccc15050432be7824b92cfc3cdc150ebb3543374cb90302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500683066023100e57204a77c834fbc6eee7f825820535358dd82a40b90df1e47df357e6db7e274faffc099cf3e36bdaeffd3616c9c7d1e023100c1da6546b2f426626138a280712812546311aded8c867360cee3fb2d6eb4337b99ccb203b537d61e706db8ae730b05c90302047c435bb500673065023100985516bcdf6b0ae50b18e5f313c927e866a0cccff958c1e2d701130195c561e1aaac1e0b507c16070ced635733d13098023058de3221fc9e407042dfba1d78613cec3ed78b8a3b6895117abee17b54f7d7eea7367fdf790f46869469ce15f796ffc30302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50067306502300ed31abd8a2ff0c88202191c3afec816a1bb60c01f775750f466f1cfe8e224bd06393223d2ae2aada308c867b48adbe3023100ab9e1fdc48dc3cc027102bf20127b7017fbac306cf7cdd4a8247f653ffafdd69d2ee1bd72ae3d9fa1cab5dc52fe82c3d0302047c435bb50067306502303041516070f080ea8db9a5bde08a01a414cdc8f87d8c3b4af783a428142df9f373583ef4f95b611273652739343db291023100bd5ef6b490e066089502f54f7821290f831b6e3f00d59437a8cd8974641f0e3c4895ca4d342fa87632d1a9b23176ff6b0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023100bc3a2bfead4e417dc8a4e7ce6ee7469f10ae3270ec29d2bf3b94cc087897378e3842b05eeddacf5e448a92e52c606d66023010eb0b8e817f338a9eff5e6dcad5dd147fb117d83ad36b6d4add81e292b40b5120e122156f6b6b0bccf8cd07c5239e3d0302047c435bb500673065023100dfc34841a9764143b52412ec5a80ffa519c502121fd2ba4d4ac622c5ff63550c0c45ea160131d4df8b4a00b0ce75ab4202306c25ecb6250fb28c55e4eb957fe9932c066759acd21b8214bc0ddf594eb7100d18c8f2c84158870a85b68808736adda30302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023100b262de235ff3f275fff6df3af4d779d1c746c193582d2e4201f8dcb51079a0a970cb7e0d3c10419f6d90b7ffde743191023059cf0d98976be8235c90a0ff71b0e60b0711c5a66a414dd94109e8c62da0f2b909bfb20183785cba20601dfbc39d29ae0302047c435bb500683066023100fdf8e253ea4270898f57e7f66d21f9900335aee827a7e67e664e71fe40ff9a091a7673cc51729c40068aae2ccf495fbe023100e14a7b8c49aa5c1c43a0de4f463578f82ae6d67a911afb97e32d5f8cd57dd8685b974d2c9f6dac28563e199c3dbdecb40302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231009f09286dd558f34aa100f6421e49c375ce70dbddd9b59229fe02c4f32e59b61677a478f33e9cf127c9052085bf55fa66023100b85515b8f8d96006fad3471d77220cb4f5f6cbba702a6d2c0d0b73ba26fba1f4dce6f2af960743d02fe3717ac47c50220302047c435bb50066306402302189e0725ec60b8f77ebae1f0b210f0c9c5044200fcea921c8c3b2fd6bc3a12f1d62103cdda02c9b31239498e0b04fda0230070d8120a18d09479b679f71307e54553da1890209d14306314545ea0efc9948d1f611c42cea0e678dd4c144e6df93b20302047c435bb500673065023029d5405e15cabb98254ed9cf83eae9ebc7eb429873ae859ee881bb3441065c1cddf45c9eded55813020c7d35a15e266b0231009f7b8c210503e5f12470b82558f3b4772263962f841f363326f278627cf48ab3de24ffea5543a719385cc259aec62cdc0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023100ba64a3319c9b3061a5c2f9ac9447b852f839aa1092692d7027460737b7d852f572fad0216c4665c7a17c3f3408aec75e02304cef976d4b02240717ab10b5a7779320da1600f0fcc2356ecf892d480b9425c192b52ec115de06fd02cd2cd0451205c60302047c435bb5006730650230709332f600575e26a1718a4eacc07df02d87222b65ca1915228ab1fb72ff9ef82651b7df6154d4b73134c2fd16400293023100dfc2a9aa291a5d4275ea8a7c079ba8f5b88799919fe0dc749f140ad82c6f4f65c065b8553ce6402c2d7520bb7c710d2e0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50067306502300ea521cf7108536957bf870db1cb4cf6329acc26ac84fb4d467fd9d686c31ab75515843fbed0dffc4c7392c66b154bba023100ec5c38d47be2c9a84bb8c47727db582a50a03168b92084d3828dba10c966a9d505897866bfe0d5ae85f225a9ea373dfe0302047c435bb5006830660231009ee63ea36ba8e0715589c554b64480b050c2a56f8a1020b2c611165eb84ae413bac856f86f5135748e4a2935b939f17d0231009d67e7048d8e35ccfaa54875b26fd8c6cbd5f251ceb7c81c40b540e2fd5827004cee2e685bb610b1854379d6dd9a41440302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500683066023100deaecf8ce6557f20d5af0021e8e627b16eaaa27d6161005ee3c00c5aba0d9a6917120d68d0a89e09be62eb2dce1db231023100b9d37d17242490d9dc2514c71e98e656a9b2f2356cb74db19574186529164d922ff49c396090d47f28c030d9bd69636e0302047c435bb500683066023100ad41f3363a87c2c765c3b6cdacd90111e901b1ead1f4ca71d2decb6c1000bc73e096e18fc09c9ec62c14626d509cd5f8023100f203d08079d7b163be7d3231390f0f305ee156fa6e5b0ddd66b57fe52bbb26fdaf3795dcc051c963988e782f2ada55bf0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500683066023100d80cc0a19b06c3468de5bb56ff21af6781cd8ba2a0cebdf7a0becfa5ea15310d55b7e0851010a219cecdebedaa3026630231009bfa5418231af1697e48e10b250d312d768249af4fa236541d7b4b89ae56d73194a86b3d5b184a5007dc9fea138abde80302047c435bb50066306402306ef2441ccf3649ea901b69e078fecbc63552553f74b6588c4829946e83eaec10eadb6cfb8a8a3bf126a4df87e1d023aa023076f79ec34660b33381888bc66d6d55403a550956f745f3982edd1c4f75fb5cadf6fbdf0603f765ceda6e703f968b099b0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500683066023100b38e641ccd791a46f91fd0c668b13a39954db9da8e7727143fee63b6e54da5b045c6575c8766edeb83e6ece7dee9ceb5023100eede11659cfbf241ff16e939bb943889ebeb039c53824ea483751f7bd334a1208b5fc76979b16b64f2d12af280d1812b0302047c435bb500683066023100cb214bfab2541c1819eccfbec913a6ebd5158909b28a594e0536c3759c723f4cf6be8819850981cc90f819c98925b616023100b361fbcf002111a1810985589b34de206a584d1f95d9279c0636bd91ef4c942dc945c821e4eaa5bf274435b53f5ab2860302047c435bb500683066023100cf9a4958d19949c5a0a400706d847ebc41e7e4d55a1a620ddaf24db1e24439d7ffac5441fe0d6b60dd15ac30b5628201023100abfbb8db68f4e9c0191437256380ca7215c394f749bb17a70da79d7bd7e4ca9f88ef5bb0ff8db334225cb5adf12e5fe90302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500663064023013e690797a5b25981a9990c4716bd83c6378f37ad3526458ae82fecb0bc0db6959a2b4a2e961e268287d770c075a4e1e02306d73c011a5f4aef571519212868e34288d57f324702ca4d6ac9011b6956f0f516b0555ca1fbad4efedaf9bc0e5c196910302047c435bb50066306402307ae97c8c00a8789e6610206d0bdd19bc0b5d8d7ec18628b73794ed13b973268a857f88a894ba15b40d95bb2ad98909fa0230208815da420ca43056afb5e148f60c92a355b87f6e1f7e7e07cfe990feee6075c6935013c44304365922d2a7d4e12a650302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50067306502301bde9bfec186728fb5b2142f9f7813eee57727191a6780402b2403e18e5b79a0f3b4de446b9e42e7c90bea1f229adad7023100dc1dd8ad7c3fe6067cbcfef6777d820930e15f3b30d80b7a2506fa319d78bc0763c0722d37e5a96ad6ed5974022a25e40302047c435bb500683066023100f4f3be8708287613f3ccb9602ba21066f7cd4f98a9aa9dbc1175a89697fe0de31b69073898bb46aa80bc0ee8336a9593023100937bd6567fcc0dc9eb96ee173f986d91c889ea9f3ef17002d714ae3a6ec97fdc1822a705980525e17bbb67732421c3290302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023014aca81eabee06dff155305169c3a8d07e7c5b7574102312fce384a40527a3492f2479e8f400a4ed5f840ca4cb9fe6f1023100efec07218f726be18e645e9f01bbf534b25f3b828878c4e7752251704bfb3fb75817fa4850109e74b359a6d200c26c3c0302047c435bb500663064023009ddb40c6ec4502a8ae23f51872e02bd00792933f5ec000cc93b13b604334f598fa08722c42c8546c3452117988afedc02300ff5b1499df3f48b0db8191d0feb945d2c7db26203d853e21c33e870232ad82e1101008d3108bce31aae4ef55bc3e6730302047c435bb50066306402304c862ee1c0cd38583725f297f43309639d1a66b80f184b89597eff0734f8d06d313ce1ce64ff0afd07fb8bbcdc50ccf702302f46576114c2e60dd31bffcefd9aafa4a1e0867ef1c929f5d3632f5f0ba24171d10dd178163abe8a8deb23ab3b524fde0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500683066023100fbe0980258ed80c589a3b3fbbb5231ce5396a845eb130a1c537dc60bb94d1ddf4c7f0047421f71d046a3937ddcce2825023100b1debf44b7f2b5c93261e46dfd12c06ccf5a9f9ac03f9bc4b4ce778f1a9ed2d2b2e3608ee0837d28d2b8fbd7759b43070302047c435bb50067306502310090388f3721b105a57deab3a71699e07852d0e7058a7b7c3dd2804962c25672d11c7a72f46f262a967eb612d09f5afec60230789730f2d50400d6718123708f49808dce5c876573096147ea0984b6aaf6acee3802a21bee8ee23d6ce7113e547016410302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023100af10520d60356c757576783898ec504cf1463aec3d060bd44c8bafb04a4da65c91fb0c1d0b13926a72ddbe8d10910fc702306b2b66230ac62bdea8eb9b6e12c8b56ab60c6a1563e618e26fb2b8fdca72d8fbc45cc1c124e0d9a5e05c6c51bc93876d0302047c435bb500663064023031e5a93a86231451b658b57c64536c8371c7be3b8939be1dafd416e7856e6aa5ba84ece0b70927d53d530df2315c3e6d023045b31f7153aec113557c84095851f20371728a00615bef238a22b1f54352626c1d6d983603c091e1b64fe67ca3e7410e0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006730650231009348b8340fdb9c0ea942a4c3e2cf625ae1fdd5ea99924fbf1f37ea8d45b96ed6ca0d67d9cada2f0289803a888fe077bb023078c73ddb0caaacccd07cac398a3543299c9eb5417a1c06aa9151c35ccbfe28222b5d7e80fcf45ee2870e5ef152c4b7220302047c435bb500683066023100859157804dcf5a2c2fd748b0e286b021df42f422d9693895f06e2a22ae5ad6df3d6a5fc6962b5a37f3edf43441ae47bf023100da8925c780d00c3a0a657c43f08a867e42a5c9c49f3f07f6cc757b072081596b59e34262901204d25e92f7dd6187935f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500683066023100e668cc92a5dd5af92cb62d1804aaf7bf5595d936d972915d6b3b6a846ec32103097502b2a80749062006437a96b22006023100fd8cc2f6a34714933e52140404180f7bff08f0c233493b88e3485a61ecd8b49549b1ef1003f878cbdae8db4a385db1c40302047c435bb5006630640230528a9178a5549a2c12a90ad76cc44af565e80b9335eef9ba83b23d3214939854178620c6f9cb2152c2210189cd149b0c0230097af30b435cfd93051906f8f94625f2b6332e95451e46ef57ee55753153813ed329047fe218591eeacfd87bc8b2c4900302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023033b3d8604e64e7a015e4f88d1d51328a170317e282d35126eedf7cb64e372076e087fc4667298506f58bea269971f5f2023100f5454ce1d268a92725e62f8b2c48d870fe32d28a971aa1bfdb67a1bc122b4ccc5f7cce6262854248b094d178ad47eeaa0302047c435bb500663064023001dd3459b4293b079d138740de1994d9b0c2d7a73237927effb9f618b40439378bf1f04ca98757a4689c5d750074411702304995b01a2a6677362e0c5dc0f215ed63bb79d10370ca49693d2b85c7c5d116879a18e67f3e3916357924ef39cc79485d0302047c435bb500673065023100a81026fc1ca3025ecae82387fc6c3b45f8cb91879226f243196d4d9d20db176aca5c1d6fec3614958ed784bc4a418a9402303762dcaf4a8fdee5deba3cb5c0622e23bf269068fb4764d9a56c0fb102be5574f8eb144025f0df0ea6d4f9dfd06c1d3c0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023100b9029f972128c4c3560a07996e1023cc10b12dc399b4c2d460471d3bf83a4e9336d3cc2a82802ea6c64993768813b1900230053505f7a4daa419e7574c47bcac5104a09796e07a0f5c134d45ea586a2c3befd4d4fe672f365e57c402b116dc73b3aa0302047c435bb5006630640230653e502bdf72cec2a0036c0ddbe23e5b1e38e5a7bb9502fc8a4567f47b098d1593a75147da1483486ba8455276b1a33a02305249497485a14600b808f4cd193256224ce5164db25a06a5d7796905b4e254d1783e5b9e470d0fcc4ab687e09feb11990302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500683066023100a5a82f9c0224c0bac748b030cc792ed09bfaed34f15548fd00c31c0cd006171e3bc1e897f24c4ed6fa1f6fb76b839cfc023100bbe862da70cf69b4df49a2a83b0ef5120e3128d7e5532b3255dbf7d330e48a2c50522030f84f10e716bf5a5bda937e700302047c435bb5006630640230417b529b914addbc601eafdf9b63d76ba74a9bb4a1d675d882c4a997a44ed10e65e402a7bf6b0fec280d36649967e72d02307ef5ae1781f470bdbaa686ab0c15d6a90f6586617a4405ef096b613fed722d3c6a825a98138b8a303adeda0dd42152290302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500683066023100e47d342461533310830017f7ca87f4a66c2d61df934d28bb8f36c8d5a8cb67848b57336a624f4ec761db16b3cf6ffbd80231008da6d973fae29c9b9386d591f327f59354d68e43f904577c1cf938ba0aca4edf4bc608550fe99bece4d25aa9c8db92e20302047c435bb500673065023100a033645c973a87f169a3bca5ded5ec49b38166f17baf7807d9118508ac9643258715a2ccf04312315d078df5fc6b625802306782d584804717ad04c36348d3b4b1a68fad1ae5686b228fb3d6598ca50b7a10d5b7cc1921780c0fbf028ecfaa23b7c90302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500683066023100dfaef96e32d72a40eb1032e7504d7933161e816f115c2a069e38280672f1cdce7ddba4af5ffaee2fcbc83f5bced88321023100dd6cc24e5e51fe783670adcf959825d4c0ee3d664e1a2860359c11e198b897c477b0d66a3ec4aa5764137d547780fc8a0302047c435bb500683066023100ff6c518df330d6b92fcaeebf33d735e87dad9b822bda8facbff8ad127f520fd2123916a8e01c7dc221d09ce09e9777d9023100b3fdbbe9d8c36db7fa5dd2df6a1fa8440f4fcabbff32c0534522790d1e9a77dcc9ad3adebd6be4556c4aef648fa930a40302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50066306402304481d47d453fba25cc6fe3ea2a4678c215c1c6321a32de6cef22cda59af34d4372dad902817ed6cf567d1b108cf0bbd0023037018ff1dff9eebc487ec843b912939126d6f389663de44ceb072be1808f365b4a408b487981b37b026d243242b324690302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50067306502307b30fac1678438ebf4a99e152dc5d3d329a6504b57b442134e80d1e43dcd7fde23ff19cde9a913465bc22eb95e5f0ded023100a813b4b5761f820cade5b89c6c9508e48493ed36c49dee99ca9088852719133b687d1d1d01e4fd3e91bae6bbe0f366600302047c435bb500673065023100991c7d382eb032f7de89772e76836d7cb1a39b0bb0fc850b6f836755711122411adccc2a7841edb9e5b9b4e1e4e6a48e023058b551d0f2765bdf4c934377d27b5be962c7a9b9e4fbbdbce23889fbf38a546c4993a85f67a44b06aa533bd10a5314540302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023100f40a21d8c6a05c63f7e65117994fe24bc5652c56b07a54a66627ec8b95a03303ada30c0a8761078c7968a068cb099553023019f04e199deff326f7bec763428be31984b3874ae4aceaec5be83f26b7a1713a3e22c89c1504829934da7e2b4f19aebb0302047c435bb500683066023100b95b76694c6f81b95e7c8341de930fb7ea0613ad81f6c72be32521cd4ceb3224985354986c315b0d43aa77893f240c130231009ffec27be6a896a90354cd24314c95b3622224af5c05a87b5e0b1384a7783922ff196e806aeb152ede6ddf6653e647b20302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500683066023100e412109e74ce1a456a76182bd052c189ca8fddcf77728eff220ac0238460b043db37d78ebbb09c870e35caa20fd52bac023100931bd6a339377a09846b383563a180bb6a0131c4f49aacc216a7f59529b726e47d55fa81185a36091e2f5c2db7bcacfa0302047c435bb5006730650230128c10087d567a2fd512028de2bd21b5e93908fd94c9e43395e84d3794db1749de079b0ec4524078054e0dcc410d95fc023100a0cfb1a5ca0556e2ec42d7f709152ef849eeed1aed339792c136fad7f27292addbff2fb378939262640239ca4a8478580302047c435bb500673065023100a81026fc1ca3025ecae82387fc6c3b45f8cb91879226f243196d4d9d20db176aca5c1d6fec3614958ed784bc4a418a9402303762dcaf4a8fdee5deba3cb5c0622e23bf269068fb4764d9a56c0fb102be5574f8eb144025f0df0ea6d4f9dfd06c1d3c0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500683066023100fd0eef8d4f9245209226c64dd840a9f835506c16e36a1ec9751935b02bc7bcb04daa8f7ccc638cbaf5076c47d7d29bbe023100aa0c40eccf874c19b804992fc3e163e1329519f330bf0b986e982691accc248a0a009b0d3920a256d22ebe4504d1fed50302047c435bb50066306402306d98ab7c6f6d2aa931e80eb386f4c8e60eb059483f3365c1bbda73f6d1d5023baa5c21ee37384d57288e7d7bb66f978f023005c76f854cd5dbe16cfd10becf92676e40c9fa24247161b67e6dd757c6d4bb0863b301bfb5a8d3607a7e723ffc8af78d0302047c435bb50066306402306e72c56dc88c3b47ef7010c7a55392a6f292755469f92eddb476f05d932612b456fd6bf589d2835a2b8999528b9014420230263d23f1ae3bf666cd8f25d178372ab36cc2eeb039ad94eb0e669d2f6ae936425a6e198446d1f325c225c57276dc215b0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50067306502302dbd2ee1337bcb29f9fd23eedfbd5760876d0a55a078070cc6d39a142be94ac5d2d95bc75d5611bde69cc6c656768559023100ec5a844068d40238574992bf1da6989300f8e5907c2999e059d94140679d53299f330ece47d50b8308f2999494b2030e0302047c435bb5006730650230607f751eb98bc95759cbe2876ca4f5530845c14bb67019d2dc37b22734909aa625e95f3765f016799cc28664ba1fb275023100b614f281be11ff8ed00d27e0e08185c0a633336641d5bf3283770019f84d3b9ec0c7bfc89bf42398bafd9b4a03c67c890302047c435bb500683066023100b30f25e53f6e899a790d6338488620519677b548425a3855ec548f5d5eff591c255d53b5d140cbc0ed67fb7a65befa3e023100c794e02a8dca787e83c5ba5ff778eedd849b7f5d4aa35d304fdb07863f26b6f02f51079046c08b4298c784abbc1f39380302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50067306502305e543d2553fae2b6488b666beae7134ec289e280cb85a8e8d9ee8c02d0a58801ea991e07da1413e6d341ff3c2f0963ea023100a4e4f07e2a1b76a76070fb6044567258904c60be232b8494108c96ad5f0a21f432b38d812e5e4c2e921829855fafaff30302047c435bb500673065023100c2a30702ecd67ac35093cf6f848e02a3d14f7a0bdef6878157be7808325b189e2e6b213c1cc777e2ace02d62d7c2800c023073ee8b1df64393cb0b366961f5b9d51b1d7494e4171f778aaf66b1305fd370b945f7dde9545ece75c40b6293bd6121c50302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50067306502310080781df12245ae5ff58ad9e5284d9d23a172858b5841682ac6de5ce608c8220a05833cd160de9e304110cd11f9d8c11102302411a82683a652ed2aa40e3533d875fcd3bb9209f590659e4a1c66f6d4b1fd3885a50e30b8e17a85e3afffa60a25f6a10302047c435bb500673065023100867284f0225dc75bb3809f403ef6ee4b54bfa0636e91bfc6df2cef1da9a41998d38fffed41c2f4d582ea4f4280b58d4202302f2916fd8fd3028b40d4007035efee38912f95e5ddddedb948fb388259d97203332c4c10f98caa03f300c63091dece0f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006630640230659e7706c779da91551908fbaa803ed60a580c0a980ebbf79c70a34861195eb33919a717d71d53106867fbf1f50327210230326dbc6892691919c518b7a32e5e455dd4b9187e293785b849db50da74d5e70c7ea67fec9ea17803c6822eaf29a156ec0302047c435bb500673065023011d6b8d1576cc046cf01af6a45b8acf671d585ed84697d5243292ca7114861e13bec63009d01918528b608b3e44398f1023100ba16c3a1c4892ca2dd87f76fadea2c9b0a6360fc7af36ace96709095c7938b02c4f44245d9a6e7c7cba0a84eb312e4890302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500683066023100f341febb1605ffb0c16e7019ff16a7119a91032aedda31284a20032bdb782bd5c3463b4f4dd44dfa3853b983eedd6bc6023100d6bd8c54ea329529beef1d068fc113329bc88348063d3029a27a7e432a490e54c9924a2e5bb95b2e0e636a59d1e0fe960302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50067306502303ff7a0b3cb606dd31756752cc794503984229b76e2719125109f8bb0bc987c10b6c15a746a0bb9bb6280b5fc2f757daa0231008ec49cdfa78f8920bf0f0283d868b721469b99f6a6c76b02203f19e9b407a1bd5e57a42678386e902e6b3828a4a18d800302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50068306602310098a0a755b582441b9e13a62a74466f78be89ee8bc4cdf09a2a4c4858e1b70a79cc9d9ea7155ca258f7bc017ca278b5b4023100babdd646c66ec7560720da9a61a269d0df27cd8fd614a017e4b5c736b7c4db5b67a82a76f0ed1a05b0c8b91a53104ff90302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006730650230676e1048d4830e44379e83fa38745730596412c326709ca4956a7ef25340c6e25b081a41bafe49842fa29e1557b898d40231009f5c441b7eac1a745e3ac1b75f41ee5ed6d182e50d0edaa81e9a729d555cae75b7c4d25fe777d0566a8b1b64d5a09caa0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006730650230504b3585cda1dc6e4d5afed19956a968485534884cab8fc8949bf2a96b7462169cce339e7f4a54cced45a22e3b995f75023100ef7dfa77b5be50f2dc06940442172c46df76ec5974d32f30b54a7a6c2983c787b934ea8d30149b64a4dc672f8dcde2c00302047c435bb50066306402303695a4812d544536303d6b3fe86940304dd5470006d1149bb48767fa06c2cc759a3d65fd17d0bbaf0ae774f44b139f7a02306a0ad29b521de01527e0a0707f8c33c6cdfbb7f53d3dca69e9f79ba3fc833f96a4ec3850ec7c479a44dbcd41564ae7bb0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023100ada52d629d762e816746f7104a50a6ab602c14cac7695fe35063d8e1a45a890870987ce46d85fe3dea67855ccda0b80402302bbdef885f075629f16c5d4618779e227e0724df652ee7f36b8e714b2bc88bdee2c96089e4ba677b6a83e072f34daa320302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50066306402307a05070f117c192dd294bdbae745a9d0c0940b17ce98c496229e05b8dcadf31d716f863b810eff9496c4a843ec544a08023028d5315a7ab32a5d70d57fa09cb259c7b70cd005a084319c111e06b188ea0c2ee8ecfb64446305ad5a086d33d15a22cf0302047c435bb5006630640230223761c8b7571a240fd23fa6e7ba6a8b139244d10118c85c1b7f91f2a46b535044b2275555d9328b78f62028d984b4e4023025737d1051183a2b0b424e18bf0971d41ba96eae8c6911c6d5d74cf6aeaf1d8e3bdb6af46b95af81d8e2335b019a6fc00302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500683066023100884fcb7995cf33648ce946a60915ecef40f7ee104fbfbfc14f7e3f9e6ce04a9aeaea0b7cbfa7a50b473758fd3e2d18320231009d1f5f23af3e98c30a931417c751dfe88120ae66e7035b374c39a0ed4e1659020539ec2616902f489e9c07459e2d2fd10302047c435bb500673065023100a39111a713630f0d3c52f8b9ba0372ffe1bc51ebebd66935209a497594768372bd8fd61950c8ca8f9253ec041e5079590230400707040ad6583ba8f4757a024ef9f973991d7af6502fb2e6f55dd70167732e01c77802d843c84f4de30e2a5e89a2930302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006730650230566bab8f2b0009d87173f0e381351803a5db15be77122728c93945525af563ecdb65d1e344769f440fa8b8ee85e8f2a6023100d14498ee523ffdfed206a41e4e6d3f897db4c76a4ec28076a3db603fd85c1634f273ea93ac137ce514ebdb41ac2aa00f0302047c435bb500673065023013bdd5ebc48aa014ad9450e9da391e6ab3d23685f65f131e17cb9040daa3a3c9d860821ce4450c1e824b24c352d0ca08023100bc2bbbb86232104c2af6259476e7983d2a16467b3a45f8a396f2bc0fe1cf835e28e6b3f0897662dc1d5a0132ed8a977d0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023100c22d02f30760ebf6622c051bfe2f8301d4ee972d83620350c6c932ac8190d8362c8eb7a27ce64d7c65a718168b03b99c023076ffcd116133f3e1750d5a147302353cb4f04b3b484573aac921a8645e0fab387ed5f0a8fc6852a7528ffcad155e08ad0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50067306502307a3e828e911dc259330a4f895e362e83b6e28b272cdd7cc13d829048dbf7298d9ee7d4efb24374cdd121d61bca5fd9b8023100b4d0898de4223dbc0aba5fe88ebe9b4021a55bed2092719ece967edccdae8cf833bdccfd9e8dafaf4c6e983f2d45322b0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006730650230421900af96b54051ee194ab145d8899027bd5efab1d477c9956c0146c002de75cff42cda67ce5262d1366660dedf29c4023100cfb7c42876554c620ac4283042efabce3d9f07f0581bd36247956abd914536af440039b52e9c2ac245f4559e8f03e6680302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006630640230435766c23f3a1a0949407ab4d5814429269fdd17f0b8d47478b8c256bd09650b982184b960478bcbb2d2b49c6c7b6f65023017688f629958f18d3974f91cbb72d8ded010d6d9128717c41e61ee1e553c30c2036304dc324883932a253bc570ebd2520302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50067306502310082629909761fc68311313ffae4ff86c1337015f519fa0267e8254b0250c5217d302e797e9cf00222031c825c07e9d40402305d37099d62efd151784f91d1157df04546070cbcd71822c843e6c4da0da7fdebe479962270ae628f9ca374fd6bf65d790302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008a05293b647f7f9d81a81eafcec173b6857b3a170b75f3e52faebb783b98d0cea5811d4f3851a710e548bb5d130fb6e5023100e219d44d199082c090e006b2eae6ba19cfbb33788bec46248010d16c2d1987e68906ed57760f83f657596a6d18cf509f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500663064023073b90e467736e0536f20b2132e520ca16e8f789d62503bfd0f85e70687e748e2becaf771d1da0df2b2d3ba628e153ca702304943aa21fe545afd8f1c9fa8487ef2c4cc6d5aa87e406fc079c41fdb31f1d623907d4b7e799927889f928c763ad8684d0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50066306402301686d8455f26c3a1183200cb355fd153d0655defcd0dff1241d4778ecf4c2a1677963f10a67f50adb566ffba4633df5c023052887a40500ea378f790c767573bc08f52de25dd89c4b498aadc4e43319921c826c950e916b22f90ab34bf8728165fe30302047c435bb50067306502310082792834c23b1731841859f4181f05c82996b24aed583b203f2eacf281e6cc376161b357c7d4ebd9e4d78ea005c543c9023041b72f30cd70e1958082ac9bca10412884466e9e31c114871c0623396c26a191b339eb5db9661e8357b027e20100aad50302047c435bb500683066023100aec297c6a0cb42bc3086f7c779544c81703a2db656bde2c4714b040045c70ba4fae1be843b00b7933198dbb312d0efb2023100ca4335a2dabf45f0cea4cde505303726371b6a46fd993ff3cebc923d8791ec1e803a9dc8f009e294fa0a165c61204a580302047c435bb500673065023100d1bd60d727c9d09376733ccf2e080d80e272772d33a0a144cae7bc57343f561b380c95a7af733ef55b6f40d29cdd71ee02302d50da01b6a6e08722b3bfcaf8b5e326a4d99ec44929ca418921f20ecf0007c1e0f8d22211d50ef7b1af1e1921a13b710302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023100d5f810adb6cf3f88ca009c88286a48c3a74c9878d5f256b891a7cf1853e3a1f7c4e6ef45685bc74fcc1b6daabae990e102307c18bdad4a8ab6af86b6c54a86fe62fa6e13dba851b01df80a520f2b6d9e5711146e9c6fff59aabddbc1954fa1fe886c0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023100de2d46eb11fad096b67e5610f0eb4e3ed07eaff7cc2963da97beb63c0811da58958a727a59e08831982b35905dc49ee102300183281f4b43a51566ec46bc95bde09b5be40c362b87f5e096e5ed9abb35ae4bc4415b1b4190ec7862f38c9a1cafcc100302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023100cd8855be0a20cfe8fdd3be2d1f5a8dbf16b6ec043050c07aab16c69cdd2efb72e2cfc21d3f6092513d718d9723a5515802301d23537a7d564cccf2bef62c0f912065958ac9adf4f5fe8cef442a5725b3ccd02181944c87e6a6b61d3f1a90e64962510302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006730650230448a9cb11595d4bf395c8cb6a3dd06284b5fde29c3e00b255073fe3db0706603924d228ed01d33f47fbcf105ed47fa2e023100bc5bc41ece818dfcd337c99b9b43946a02a1b0e82fc29ed053ed0822345427eb46f062ef0ba65334af28d8b5b84fa7770302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500683066023100d89d305559131120c52627697b9a18b6bd2bb1f4e8535d9e3ea87d9a707dbf70a3a3b10d4d773f50abb7e9a6cc615912023100ff870d8eb93b6df08431da82770cb9ba74e63553b91537efc8ea8ed60100c231bee35a4d7eff840695d7ac84d9f2abd60302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50067306502310093acc7c9bd824a3300a627330c300f8610c7f72bb6f9cea4170491222a07ecfa97528150574c58e5310b5030f0b40475023034b99b2127622cdafd1cc415894fc14f2bacc554351e3b47eb1f017d790215339b5f2fb736cc94fb0a0b5f87adcb8c8a0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50067306502300f2a07eeb1980816349bbb438ed073d1df0b2a1d2f9bb4542099ad9a701ece0293e1c5f7891197a671c9204030ad453a023100bd9d6ba888c8a04ff48b2f33223c22564036c4423d2f0e2f5f53d1589d1ba6c5710cab92ded92f21380c4597e1f6b3620302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500663064023061fd215538d9a8b069b60fa52e27fb600ecd9ee65bfd81d67caccb01626d44252094fc6df3c8176de9406db59a746a50023049022281914b42a89e78adfde641c541aea486ca651221c0fc37278c4d6f43bf8d9c2a5c79b7dddb5aa8a9a883fe75290302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006730650231008def4fc7100b2911120c9b7c674585f33a8f000371ae3d38bdc10687e097063aebb15ce477c53287daae328884c2e6260230599bedacc09a8f4bd1a1dfeddead5f73e5de1b5422aff74b08409ec496be955cd15e7ddca8937e03fb65661ab9b446d50302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50067306502310086cda329abe09ccde8ad45d61943bbc1ee97e247e777e7ee5c1d9b8946c0d061fc574170f0508a2099c4b6fb3faf317e02302d102ebc3bbe8261ff2cc3ea07d2f78fe5e3ebd32cbb800099184139fd5836c885f10f26cd312b2853b1b6ada1b183ed0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231009b10ee1ef695b8fab94379e7b5360ff958f7ba013e442b64cb505ef34d0ea36383799eecfd350634c598097ebbc4fbd8023100e693c2788067804cbf73102bfaa7b202fcf7ee59d5dd3c30c3fef47bcd0187b8ea6f0dd05eb45326c4b434a4d59a3eea0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008f327799f0aa43908ffda4b1fd0cb9930776453eb6d44cef94f30e14b4404f4464bab77303f58e56c3ede842b60b4049023100f2d1b8c23f84d44ae59ce117feaa9eb5509f4b5856d1e0c37b32f7a02fb626348334484c86bc80d921c3134f32d157a70302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50067306502301833dd5425983f53f2b7d60f9ad239d3476c5848e1933f81bb9313d8108a5d4faf3189e08fd95d1bc7beef0848f73d52023100ed65f6f11ffd3f080880c73cf523ea0deb1eecb63085e4541661ffe55bc1e903279cb2dd9303f90b56424482d8d854ad0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023077dae40794a1a95b20c2bc88ddb7ffae204b08fd7b4b7ccfcc2cbc6f8b6fe5f22e5a28ab055c7ed95844d01b0287e4cc023100fa55f70ab7bfb64cbbf581fe2fa25256267863befdcf1ea25f8f313140dd6890bec7f2fc4266228ee3a8c8681ebe4e890302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006730650231009dfea163aa3f15d44acfcc7fd44030d9ee52ff281b646823a1aac5fbd340ca447f3a22e0b3df233c9cb07b376468d63d02302e7af4b41391d83d47c72fac9a1c85b81139c52167ab1df76d34d76a63f3225a837d978586109858e762b0e450842fe80302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500663064023003c411ea1b04be516b39358ca5b4ca7adc3331124a93bb8287a1e1921b62deb88689ce27c816a2172f20522294dd8ea402302df720e610f928a4d844d589342b635361e8ff195791b35a5bb163218bedfce698a906110fb77e63e9d1d3f9a619b7060302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006730650231009fa8fbcb14b9a63c8f34d9348b6b66abfdc6b5ef21bc5305668381dd5a9c9de4c35a99e388941764a802268860c6453c023064fc8bf96dfb14621e63bfb533029fa659c61bf3faa7a301c04b81ab6d27a718a27e3443e8fb2e152830f2b62bdf3e7e0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023011327f9860408d4495da96721dcecb7af8dec1aa6a6ced3d666cbe91f0827fc5da236dfee433306fa09e9ff18256243c023100f694d34971d717eb5fdd06e53d829188fffbe465aeeef7e2a4153b3ff4e9a815c1080f6dc05d72c17299a68e2fd6da060302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50067306502304486fb7f9873e16ba98211f73ffe25153a1d8ecfb0883a3fb6479ae07de6cf1bd7cd416343348958e049e29335531c4f023100fcbeea74f24b952a9d4395d8ea15c132f4dfe9f209bf3e526a342d1c079fe605bdd3a69c6af5319ce43d07f7f8f66dcf0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500663064023047c10113541f1e5b53d0fcac65532b88cf4e11859684d5bb29f27609b689e7683ad734a9fa9edf535430f191df5158be02307aa515efbe86cfd817ca2a9c76ad47b44f2b53195e6499581fe3ba7ebeda7eae4f73fba7e4d35df2ac95fa5f7be00d7e0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023100e37945351065ea16382333f83d7cf3c75d84a0792d01c4236921c67d21ee11c2f6b004b695f0ce6d4874a0b6a21e2aaf02304c255ba3e24b94cc05dab74c7a2443328f3e7d3cbae9e5ec7d0d89896bb6dd92468f6fffa75f5c38d0296e8ea0eee7130302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006630640230035041f8a2c37aa3725fe64833b749db93c76a10f9c2283f19b9fb019aab9b92f973ddfcd6d3bc00767029c8200b279a023051b2bcd9239c95ddde1b238906e05e03e3942ae066cf72fe5aa41fab1f586573dcc610fcdfd34534df897e1a9d6943880302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500683066023100f7e62bc188b2c5c965bad2bb2833d28e012814c5d2a88b6970ff62407e25a6c991f2b7d3e6e0253557188ba45805e874023100dbb78604370d0e4ea1f147dfc54824ba207f7353afe4066a88251bbe8fd3c9a8147d6c49c3bba02c1bc97b6261754b8a0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500683066023100fb0c97b55995fd22a5ce86ce76f96138b82abbcaf8bb8739e48eec32ef4a744bf911a8d6f54a98d81de144c5cc79c44a023100e32cf855c474597e95d5f85709b4bb9ca4e45703b446d32818cfae4d92541c2f6fc67e5d1cf1007c83e12585c18236b00302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023100e5142d032321b4274f8a4648f11e65d38be1786f14bab788bdffbabca4d2e084c500a99ff72a934182576c239d029862023025c5099ae18aef98d5ff5d5a4b0a7108fcce42b332cd8eb80faa6f43c8440d7f63cf48040779cf8d3c56b4561b83a1520302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006730650230580208983c751339f7e442c42dde30b74949ec4ddca5eedc74878e9cb2f2e2318a50e621b0575c73a8b7e842507efa3f023100eb5815f06f6f2e531fceb8f205843b36d03b7198042151c00a464341612caf9e9ccd6f3f5f0cc8e628d9022661ecd17d0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500683066023100849339835981514a4893ad1a915f4e66593d8bff7722b1c295e0669d9fcb437462ff3e93d8773b882c24ef2d28d4c449023100c674b066334e747d45fd40666305d46a0c92e390cdea77d353def0719fd72990277c5716d44b2b21dcb45f43ed0559070302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500683066023100c94f5e069eed225fbf92d3c4f4cc5366cf5ae2d0fc759f0f6e033bd34da6bcbd91afea6dda537d7aca521bceed42de920231008f71e4aa159094a5e0ce435a0ffa17d5759dd912b534973f50531c615866f5c91dd41bebba36ac6b8b0f3573107ca2600302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50067306502305446d8bb37f5e79329a1855f5f96ea26ae5b07f812450ee77f83c34ecc9e1119377cee849f3656bd2d8bf795da57ab9f0231009d5669f4a50f3fcab313d07d3488092ed8e607ecf1290b79616123b474ab84c2d07b8724b966e9cdb86a9373e4197fe90302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500683066023100a3ff2192e9c0ae8ec999bbc3f1ecb95d525515c59d56c16c57674e80b694ccfb8bc5021fefd1c8b54a74e0c3b638225a023100dc32b1c798d41e73c9cacc847d0375a932d441fcb3d421520a80d723abf06600c5936629c7ed7e82c62cfd4dc00728400302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50067306502306907a56aff922cbebd78826f102288c0cd1a80ace1e104f50087e5b50bcfb76bba9703b771fb237835cef9ccae418888023100e36a8af7f8d157b67b8807ffc9f9a012a94e9abf3e66590d8d21d3363e514890d7720776fa00ec0d1a2b6be2e1bfbc430302047c435bb50066306402300f55562f1a6756b60230d01773ea90dfd9fbcaca6549a0d2e7ab38c07bb7cd8e6a21eba1cb2edef56c5712bb044a12d50230463d6cb664e71e0b8d420ff3246638b52d6e40e8db673f6a2b25cddb20daf42235cd52bbad0ff2a46213e8df469fea870302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50067306502305eff6f2f642a60d9e2198f27b23839599eaee958436782cf624d1e57046d9e06bdf65672126d19a43d45628a1ca212890231009481b68768ee47c29ac36a50535953875b4ce1de8a2852a1b69c2d4a2fee487f7eb2cf862b0a75226e7757b1dad7e7b00302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500683066023100f83775a2e87da86cf77880613ba7f864d43abeb5e2a2ffd14aa217973e698024800163e0909abb747d3786831bdb449a023100eb3857967e70bc025b1c5ad347f5b5a1e0e368a1c6cc516a050ae3cd457f5ea48dafdf350af4a0c8fbcca6b031dfade60302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50067306502305a3d81d50647ee521076dad2ec9b036ed99de3d29c7073ba75498a27ace3665705514b660226b7bdd490a75dd50468bb0231008314fc01fb5a806cddd04ccd31c8f652a8dc5901a2052a4dfb6aa992d732bf30d0524cd0a93f18c871f1d01ef721106d0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023100d7cfcd26a1e897310226c37e61e38f0520229261ecd5cf25fc7fc6dd14e163e6df3fcb69687b0ef7b7b4e2c2af3950600230231ec7de82eb99f4819ddb14d3dbd1e341786a8c6893bb4a97f6e3652b90d13e2d41b68f6be8a4400c9033b1291212f50302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023100c52c1c5fa580453091c65c3e82897dc0ec3c7835f87e67fb3505a88021038aeb43b4ebf81990a1b3b04e85755a0c06d30230604e232a871e49ac4ca6a16acdedd9310ccc22af109d5e33c9d77a32062ded348eacb7bdb55d70e9e14b9339ec8082cb0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023008499ef44ec41b8615e7ef92af466953e4e314bf0e244e64401daf16e005aca8e6837ff79fd8e7da03f14471a65a52130231008faa4830eccdd0c27ed25d9496587257aa5603b4ef8d54c5382266b03e8ea873a8cecdb76ba7863536fedcfaff8038700302047c435bb500683066023100df9ef0f5964f337cfb79f73ddcf6b199e9bad310a34313aca94b9ed3e11486e385aa2b1e4aa4baa4e50a9cc3fb668de3023100a2831bc51398ccc74dd1190c8fbb12ad4818ba05e9490191ad6c07ce8a3afc7545bbb5c348c49bcea447557cc05a5c490302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500663064023042ebefde5f4d713ec70cfd139ffcabca5d6ee9f09deaa84e3544a615f34fc224362d33938ac53621eb482f99900e964c023034a0595cdf32a26e12de4880cba9c00da8b8df9e62725cbbcf36ade6036047b012888f656fcbc8d21387bddf08c0a5c90302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500663064023000a6a189d05628f3621947c0b97d16b1a7aaf2b2ee0ad38c685921a77cd9928cde030720320b431dec306c0148fe928a02307dd5a2d41c96bd1cd449e3877f1c376b534d0a3c10847c6a28fc33d4cecc9e08f43e26d7196123749a2a43dfd33029930302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500683066023100ea3f7da601c8f89e8fa1cc815675be9521e1cecbccf3b1969c1c025049e8f2e05e3ba2b83c37f8bcc29aefe8037d1fab023100de4c069d187e5a0f005de237075a39a1e9b019a777b75a110def6ee7ce3fb7748fe9465edbe7b5dbf959549a780d44a80302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006730650231009242797206f40b442debb3b67e699aff5926a45655ae8a4d3cd8c1b27ad64e33ed01aaaab4802ce5e45cf457cd70a87f02306c79906159a75314d2712ef4d3e257beb053b5dce3e447096019d3ff3c699fd1fef54a7f813f4c7f82cc13182bbb4ad40302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023052936614391eb4b73b0acf21109fb973137684b64e54d2d7baf7bdf4161eb5398b71c3d85432632402937639292f47d6023100aaa559a2ed1db8eda091bea3fbf9e18a6a7443f9e316f4fbcdfdad7739a71b225138065f999fd9770b568eb6f9bbc41d0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50066306402302c06caf32dc6cfbc4396dba4af4b5203b6af41d21248dd5251f0c69ddbdfc1712d6f3fe7e10059aa4ecff5ebf970fa73023042948359e5b6a68a70acf7d4bf218aad5d929dfaba9824d68f5cca38a332404671aee6292724d64b930f02bf2c081ef00302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008c4f94cbe67d57205f438eea2bb648f843e7870513f14282f01ae0b6e14b9525b7fba6be482b31157b0fc8a123559830023100cc14aeab2fea62049fff575da1c3703c06256eea8872d59c79179a91aa72b8b3409b4bdef4d9840ccfb5c43bc0b86e070302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50068306602310083e3b1d99a1396c09d710cca0b0023cd976e8d4fe07f6bd684cff8bef1389f07cd0ace54e076eb29ff4dcb2cabf8052b0231009f07c77dda512aa70a44a4af966c61b7e8252043883fe3c3f2f73cad87c8bc715bb5178702a59288901a2057b514eb260302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50066306402303b8fca315e5900d279692855100079e2ff83f65ad8045ae1b4cee70f45ddd79af5889da50098fbc2a2a53f22f4113ae2023003fc41cb4cf6524273fbd31feb1444e0cd2f086ee7010a7fe9e32881e69dfd3c6ea9f1c2fe11b00bf38747d5c8d246f20302047c435bb50067306502306831d5bca7e592bb14d232a71e2dc927b0ff7eca3ded0fa32e64e7a9bd4b2bb18018e1fe568c1be880860f8ff20a34310231008521c25dab351609b21d3be14d37dcfc2ec85a45df7af8229ec34154298b4c2d34e9f684b6be757add40e34698183e8a0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50067306502301f7210b9c49e91a7a3b1e60269decb535d1b36bfa8b5574e1d84b011d6fef93666caba911d9377997619094b0f53aeec023100c6bc5bb9be2f6245a5005d0a9298ddb7a8e0fa55c4f773e6e90ade19a0b7285648ce6f7d22e45267f48144419c4f73a00302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50067306502301f496dabd9bd0cc1b6bbd710f99d4e11d3fd7cd7cfd3bb62ae4129c973ff7df824b8f4f97e2fd1df455b9a19625936ba0231009b38e4f4f824c1c07b493f36b38b3f7648248b4d79bffe12d10734729c72d949c739636d49cd1be577c5ef2c4290901d0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500683066023100eaab048eb21cd2c807d8b3784ac19ee6de6cb687568e3280ce6a0401a2302b70a1ea1458af0eaeb19bf076967eaff664023100d38edc569aacb4a0e3cce42fbe7e5ce54c4403ff07498a56232b25592ab2bc53fcf64f957eec5da8cc58106569b952980302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50068306602310092040022d66e5658b8d4e584915db21b0a1f4fd0d80db1e24f48070a72540bb552a2e9b1afa3382f12f75e9dcf0a636102310098d493e8dcf0cc3792a21a0f2916e219a5fac5b7a386a55708fa65dc9bc5bd0c6ee768d1f18dd6fe5ecbad81d44c7a980302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023100b52fe1a74841373da61fddf9d9f3098dc5de766330fdcd05f747d6074b9d5f520ac1470afd2d7f901b64335799aceb4502300d5d317a6c1a7ea3a7c28023ee243e8fc19c70ba5b61fe1d1f773acd41c2d2e49ff7d9019614ce9c7d4557bf315e96690302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023100a8c50c880ac93c79b11ed15c760753fce8d085e3300783456efb8f29cff48c3e11e4b5f7c11fbd9103471c22af4cf4e2023015ed61b5b729e423d9de67ca76b2b4301eb8c3efdfbdac503fd6ab915d2af6235b0fc9b593147e15e4abfd7048652f870302047c435bb5006830660231008c0f5bafd483716e17ddac6b1b09975440a26060f2efc37b7f450c5a89c148600c48f42edb5cb2f4f195c9a9e1860225023100dcbb04589a7875ee21866b08de75064c43544943983f8c44c50dca4ce1fc29ebb63327cdac1d85186cbce31bca6966470302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50066306402307bb03d9f27b5e4ddf1e61778a91f6eb66644c80d382bcd16c57dcd07230bfde2d5e6b3fbcc3cfec1270c38fc73c19ea3023047295d0317ecc20701645885e629f170e1be7a74de23c211631bbace08e84104abd4fed6c47f59545ad9cd8d5a8039ac0302047c435bb50067306502310096242bbc50baf8bedb38833568e780c3064001f382fe38a35c6d33712c9b05244714c03dc2831890c8e4229bd74fff380230293891b13ce7cf972abede254189d9ed2e8642654eff061e45a48cfa93617b48275e56f5bdd78a844ee12bb04aa02a580302047c435bb50066306402307ba9c2a70c51fe390cf2e8fbcdc9eb7784be4124a0763f117d672e92a9e8c1b51f9f7402c61a511d969aea11704ef04402300f7048cc871c5bb5b2c8429b1f79e5c99aa5688a5573c2a14cf94fa5cb168ecf1a7f3d57c7ada10fde0f49004e8543740302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023100d72776d623ae3faf99555935923110d80f473bb48afc003d51454564eed36bc7e8ddd912d8278b940a40edad3d5c6a010230214cba9d533f856bc866f3d3e11d108cb12b7af4ef7cabc441d41fa5a86e3507c9bd74fa7d504edbb4d9b5ce818660220302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50067306502306ddb507300f4f8651a51cd618889762f21f0ef1c8b1a9f43bac9381ac2807237980443a5ce237e97a34ba1dc818378bf023100e86bed1568e13ce1713d0e623a20053af1046464681c06d95877b48a849280cfe465cb92bf7785cedc3d74c6fd191d280302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50066306402302c4a4cd477b4ae58086a92c57dbd23f03b90c8512e9392376cf7d19a7987a43bdab4d2779f43d73d314a3abd18ee09d2023027a082a8ad1be5d573b96dba15dcbb45739f8608a4b8c845ce02cc3bb631bbe727306bd4c96d083eb5eddd41981345600302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023100d227087a806ad50317ada08e980f29e63ba38c19ea0fcc3ab633bbb6b0ab520ff358eb194ddc87d634645b16f3470914023015ed61e49c3fdb0cdc70aab439f16f0cdf148b8c7a596d06b4e5c977883e431d50dc92408f146a8eb5bdd9be5d1def660302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500683066023100866b4affb258b86672a5f40ed4929ee8a4f6a890c2f0628ae097360ca92bfd2ea085adcb24b19076568f0c542cc34682023100a78a57099da5644a5e3b773f8f2de313aa1e5088438914cd5e337985837485d13ed51eca00ce7f64aeeddcb2bea478260302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023100f0cfa7a57ffaaa00c288dda76665fc3df1162dc2b99a530deb104e6bf94347a4f6fdd0d8287b89560cd0c7f5bc33824402300b1309b7dd1fd8da17e96ca9579aef0b0ebb5d6d33d1036c05bf15e934468355ccaaa6c7b58f8db2fba78514e8f0ed470302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500663064023013426969782c742c3479d838c1c9416cbd90c4444fd4890b915204d0823dc92e9360722c6ab4ef455aaece75e33f02fa023078e6ea39b47a6f399b8e2185096823b5b4713f8a8ff813b6ef64130ab6620fdbd63d83fad20c8d8a1a65116e37a4671b0302047c435bb5006730650230723b8518868c027a62e916a0e787f4a59ab16a2ae5b11357beaccade18741c051e5d3d6cdd3054dc7ed1c4758248934d023100e5a23024f35e69a6e74d459bb79211dced5aa82c86fc923e635de4eb3f0e031db64b3133489c8b4364ea0fa4ae94e0f30302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023100b80ff54b7e86a76c919897df91cafe4de1c97412312aceb58f47d885be0814623cc98f122442ce55d834144fbc12550a023034af7fb60f8bad326b3aa73bb228885604c20997ec8375906bb07609d3ad0314a70839ba021fa2630a3b0e266c54fad60302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006630640230751b807d9b6b3292fba8a864e65b1ad19caf336780526cefbe9a73dd739c9acee47c344e61ed49b557760e9757cc857a02305a4e850f45bf0c7e70428203efd86f1e827deb7fd2d13423b720bbef00e68398c16f3a0c0d0a9663a188b4b5fde9e1330302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500683066023100e05229bd09586191a993e6119a4bf03a2c354c11edd2f8bc33274cf660c2759af87712fb219066c8c804fa5ecbc09359023100bdd4d9414f10b75d481c601d9e59bdfc8f909a4d29d103b9a647f3f00d4c303a27379a36f20e342b9dc53fbc27018f930302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023070d6d4f324826df65e5921a85ab7fd68c29783a4156578090f5259b4defb5fb0323e5d7a9b6f8242b13486a21848c89e023100d02de89b89b4fc3c533f0f219ff1968c69149b0527ca0df7357a89dbb9d2df2fcbf6f1cc90934a68c0871abd0c24f7f90302047c435bb500683066023100c449c319c0634263d93e62b72969ff455dab43b77023b5cbc25dd572f8660b84b7c2cc47903a74ec3df693af33da8c65023100f9ee460e3339df46e066b3f6205aed40a3979481e960c3a28990dd1eed4511b6638dd94123a95303ffe11efaa6c96b2b0302047c435bb500673065023100ca1018a8ca9a4477b6923465ba630f4a8435f45e92042713450b77f61dc7cfc0c67f1c67808f8750dc1940ec27a4b55a023041ab42cbd8f1e9c941f93219ca58a70250afc107e643b1efd31613d17af7436278c6340e3a665d13f58a00ff5cb473410302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50066306402307413f0be7ae013f53564b7fab46ff4d393cf1d57735001b8eef2a3624bd0d2936fb45cec746f9086bb1e617ee2dcecaf023012f401cee493a087ece847d530573433acce2ce24b5465314b0969d3a5a6ff6942818b056f2f79bb3d263c3be04ed9b50302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023100e3366415baf8e704e7ff90bb6641da2109868c14b1ddd0876f9bb721d7c196757d4870282e9e5ea4c1af26f013c6a38502306246d84915ebbd3efb4151cfa221d35bad37e549abf29b7609e66fdeb22a6492843f30a4fe248fd72a0c9029444624d40302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006730650230652a6581eee6cd0f8f51019f5da2d6d1c33c83e86c0742ecc00b4bacebe13e203ebffd94df82bfa59e95839456ae9ee1023100a98d1c0147e872f76f364020ff17e9c5dcccc27522139760efd0ccfa93d77a683846f0673b5c44bcbf80aca1b3d5bb4c0302047c435bb500673065023100aaf72f7a0c5c19160b11d2d6df9ecb9260695f456530bb52e18f6aa4cdf82540313ea442b60d5c0bbad862d85ac6442f02304b674cbf610e5308096079c10b4b11f9f6204db13bbc35a23fde17a2eb43a2f7e13266d87783aed66ca0b453a52655cf0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500683066023100f82e2bea376d0d3944f2403613d469a3bdd59da224b3ad369281096ada2e2a1346b86a502308732d4180ebbc6d8bd72a023100bff7d385d547cad15c7eff96d2bb44170e15cf0058aa38c11bf91b70893892c71c9ca469703114b917eab95c62cdb8970302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023100a53cfbe48d28658018e07295a4d4f1b01c44bffe945280431eb6a7ae1eb16ccbfea95d4fcc811e68e88969afd2d2c33102301520a65f84770076147fafa2b16fddf1d1888139a5ee1a1b398d149e0a16d9c1b71c0b7331a6511a3af57210120821e90302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006630640230625f138771a6ed274fff9f22f6c888ecd2a74a062648506d955a271145ab72041b8ec8e5f1b3fedbd4454193ed11108802307ad20bb3a47c1e31febdf077e3eb97bdce7dc730f90282ae3b1d9a88cb7d68436a401162a87c207c84d78a04ce6ba0370302047c435bb5006830660231009a0beecc2685ced6f0bbbbf5467cd8ad63926f6cf554d553f96a2329cf502ee5afc16cb79a2ce966647b09647b656bef023100a8d00dea4cd4b22f05f632e12b51239257e08bff287bc048931035e3949aff15828317af4fd675e8ca8455a5c5b9bdbf0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50067306502301c3d7f0c1f07f5c18a8258711e8b413636e8d2c5f1fcf4e91f72cbf68c82f50d8f9a76b9e56857a84aaf7345dd5e2d56023100fd740a1af42c6d05524069df5297a3b61421dcbd71a0187694278c1501e6becd3b4473b34867b4e787acaea0df9679690302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006730650231008f2f70d3e46f06f7f8b02125e5655092fbdb65d4a592a9b522835588e661bd6ba5c56a320b3314e76171d0e954ede9a202305d2cb4e525f447ca1a7b8ff3b85acd21c2f1f518b5917275254cbaae3fcc467236df21fa05d9a4e41263b863e1d7aab80302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006730650230058680fa21ad9bda2465eb112211bd32c6bfcf6180e2c92c622137d82c486271f6cb2de66f2fe893b4b7ca9c3f3e7984023100cfe3a4eb02f2296606a4b82968651e3002f4bf4613b0c75c23c3f9c6486dd66c0253ba52016580741c6100cdf2d547800302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500683066023100d0aae310ebbe8e428a93344b1beb14073f570f4622182bc521d92ecb1c9fe8b7e444a6c435f416ba3a9ac843fdb06e61023100a673944d64dc7a0877bcbcaccecce29c33abd11bdd3921517d2d3796c0a7e1b06a250bee1cdad0c463c7409a5303bdec0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006730650231009cbf03feaaee3642cf81159d8be94961814213237188ce67e369af7ad9d6ef592356b613183c1360e2f079f6ccccc20302305be15795127e08f550c6a3abe09811d682e210d8d87386c2db3908b0465d51b2bdde83f8f04fb8405378a29181d05c330302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500663064023018bbfc8b7a220d162e85141b4f6ced939848383e1b254ce2a5ee88abcc150cc8d9942bc3f395e399a0a3126f3c29974402300f88a26bd37989e835103665a987e5f4d7e058a79e14b980fac47521d3d89b539c096366ab6e787dd12b5f8be03884400302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500683066023100830a397e56f5599d65c3cb9f7b975eca1918fbb643d9d32e642b71c5ccb36659f95e64328a5233a12ebac478033114a7023100bad5f542c78924169ed501a6fccd2166423099506b4a537a4bf718b435418aa354ebc8cbb1aa6c07008d26856c09a0c90302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500683066023100aaf13543c134c2fe7d0e92767821bfb3aa6ba7284ea5264496a35116ec26b357be2cb3466ed8f99e363770d89337a875023100d850a98850137235679b34b1f1b819a972964a0152e00fb24112bcfe5b1f6b385887d6c9ba37d09874ae4b2761521cc80302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50068306602310083fe439bccc9bcb7b3da44da465168381463da19da7661bad0a1ec1d65ab1c70c152686ece46ce5b76d7d0914370f564023100dce1743f6b2379adc8112aea96077979f1f3392e9624493a073b3290422124b648add7be16ac0d1c3972c489de2ed20c0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500683066023100eddb2991db7e6efca8e24765cc6158c7be037945c9dcd41ddff674e9daeb2b2cba642e10aa2239e26be2aaa6e73391a9023100c51a9aadf346cfe1264b2759e64440576cf273e5ab63c1eb0f21d920089e2e78667b10e812643381d63ecdcc61c149a80302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500683066023100f39093ccd99e6c8a253222c82ca2a6856029134062a669a925cb0a0b3e79b6192b52966ace898a5562e3e5dc6121de89023100ec886902832499219d3f07fcc804a0efaf43295cc1aa1d9d44e82932cb9bcfe956d4a8655ba3cb94e51f9f35eff02e9b0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023100d89ea9206f479ea15f08a22c520c947eda248c801dbbe325b5e6d0cf3b1ea28200c066e3b13d0bf1dbf5121b33cb72ab023023489c4c6748c12e904c81560c47317eaa2ca9f2b37fea7dc3585ed0d7bdfb4df3dd80ae97882708993aa07a16f8178e0302047c435bb500663064023039e1c834148778625323a8e0e0f2979dd004c7ddbe1a97401b7b8ae7615346349808c1fd7e90a8d00b72f8502b018ad40230727100503a3f8ae3a76b0ccb3a7c2afed6065d089cb75e3927129eef7d64ff2f1b4cc064332036893096cc54a9e406ff0302047c435bb50067306502307c3d0fd313ddcec8d51bfbaeb7768ad663cf4fc8e63b313bdca28773fb4b4b5b55a1570060c63a724320559c4e93b4480231009cfd92815f9669bdd41a8a53de5dc700bc3c31d169d356a4db72bb402c3f1c4305b1954be181da2dd209df100f721d280302047c435bb500673065023074f25ab17291aebed76e11c12241911fd81b5723b2f4071c2ea57aea66b33ac4c980041b150455efafd71bc5fbf44bab023100bf07cf674053f8b6f823651d8ec688dbafbc90c40c9e6ba5f8b3904242d2c970a86a3a419b0ccb5a1f40dfbd2f7a27e50302047c435bb500683066023100df6cf0346a6242d7b9e719c9585a9563a6a9cd1d3217c506709e64856925c062c96d6d37c453f9f43fda15b103d03028023100c7164399552d2ccfc02c8cc8fd7936541ccfd1d9de8ffb95c6153eb217e7716de7d67729535037393badcdbe6dd8b98f0302047c435bb50066306402306e235fbbb8a98f2b1fce4c34f31d871dc1b90339a8146424f534990cc20eb606e6023a6e8b026faf440e2ad389a101640230517286eba21fb003c8769923d57aa93a2a96ce9e8e320e219f1f61087351717ff4988d287892673df05e392e0d029aa00302047c435bb50066306402300fa52bc74ec93878e1d8086a091baa53cb0a18f52c855cd64ae4d642fed0a734515862f39d9486317cc52ea684e7be97023033349caebdd7d93a802308fdcf42132cc73f471aa7a9ce207451c63cb32b25ed0c4158ecdc920d2562aada58d43670290302047c435bb500683066023100affcfd5def01b9d7befc2ef68225826c6e5411c57d5a76e027be98421f2e7be7c8949764b1afcdcce706cde7ee9dea4002310087999753dc025154b0e54e6a4f204814e8905acbed61fab9e2926590fc9d8fb7b476c271a56d0563fb6c4f83d41775770302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50067306502304ea08c2b7d363a2cfcfb6aad4213b77ab954886fabcdb858697c5861c571cf87d83e62c3e46545c2da00c9aa49d36a90023100d80551594e030c14c863b3b1674941e08699fdc33a5dadd362bcd4ebc35f039a09e991d9c042875405b7616efed4ff7d0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500683066023100c95021ba081ec6cb4eaf484cd7aa706010b485e6f7785f93593d1636acff7e0fb24dcf4a376c8a574e54ff29b13735bc023100f844f68ef570984cf769a0a3684cfc1ddfe9519c48fd42d8d3dfdf2629fd23902e2b9d2d22c9b3d1592bfce6df5e84d10302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500683066023100d0ab15f544572a09f50b6dff157fcfc9694379ec653fb4687739ef1f340a22ffebcc1b0cd3268d464e7683b056939af6023100fd3305927306a52eeff8c11e70447672ef0e6a4e488653daa8f69c250fd3aeb867c66ba4e7a6c23f358f30bb299907530302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500683066023100d9e2b65d0425fc892af424ca08190b37ad1134fa10b4cdea356b1787df372e47f0589cf7bb2deeaf82a4da15b5833309023100c07028cd731e401703b96bc7f00d66e7ac4cb2c4213ee0ea862766c79269a8cd89236cdf45aa0a298f30e9ac60f0e8540302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50066306402307f5a0dcb984151a763024f04da668cb357495bd70835048e82c07996d29e937aead7639205e43030f62cd86bce84c3160230143af05a926ec06db8eedb6cef2afb92eb9c70636f9ed9c9764b110308816d1ed288eba17729b3720dfbae047ed957240302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500683066023100b4fb3d27a1edd830ce471286885380a65b085e7d7f6f7b7b613a50855a74d86daef46959ca8f13648a4f0388f1ca1ef6023100c847d1d02d07d951a78e236777d7daad8f21207bc802b6f1beb23997affb129f9027c9e3c39fb2f8f2c78217fa4d54870302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023100d4efe3678377add7cdcc102a7f313b97c64c06ca15dcc435279400a776c830d57153375b3f6e9dd7f5e79683a8ec9bca023040254cab0815e33258ea4373ae1de1da4331e877fa4e990e3c50ed46be982a1fcbcff8cd3a114524252b4e239dd6193d0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500683066023100ee29da2a6053fd6cf38d7edfb822e046b1b1281e1b6d5dd90acc05a874a0598c1b1996ce71710a3ba3255f759b8bbbdd023100cc403364a76bc31928cb5b9ab15fcec1e122c57dc91997ad4dbb0834f8a7d9a546a01741ec3b04e82b5e6e3c07ec4b630302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023100c8345f1d29cdc00ce08a1198246b37e93005767897e08c6c7954db679d3b998ef71fa1b5c2370c8ae895fd7762c5fdeb02304518e40367f1d979fe159d4aea84a3c2a4eaedab017ca39007ac375f0a7dc4031d998734491873fbaa6f839ca77d60470302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50067306502300beda62470f48aa3b0d41e508bb4778242dc81b37e2de77e32131d3d0b6379bb00d0c8c0d54aa56aee7aca4cf1edf676023100d9fc6b957f8ec47bc69586b11eaf3fe3cb1ecaf383284a3d6e8f85aaccdce23042c60ecc18ed159e70c39cdfe80fe7390302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006730650231009517214741e7892c169e7258d8953cdbc2e27e34044436d7d48c191723c2fbd1bb4e8edb063d5e19660afcc2690560e802300e55674eb19eaa73dc39cf0e101d45fc4efd546d33613f3fd112d7f18292d03262c3bbb74b83e4647b32f31cf352252f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500663064023038b3f5f35f5c6f42b2a9df0bbffc1890e523b9171825728f2f6193d4489b630da972fdf611d76783d01f604d404ab133023022cb1af193265215f8def172d0c2a815a23200c809e615985a376ceef6306a9e68043d11333317b85b6cede136748dee0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500683066023100cfcf9b2d536cebcb4e0c4149e0f5a41daec8fbcf3ddd533214555c62ddfebf32f9b2f7726ad70426ec95f3edee8d01ff023100bce55ae509b30b00e22bb71f0494a625bda1f5aef11c153a349c56deec586d224ae8eb67067bb42655493a9e83cd71c60302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006630640230754184df18cc4111b341224ac76f6a50bea566300acd6c2e19d9c0680f651129adbf913acf9ade47dd59793adf72b13202305c4c3817ab2aa4311463a01738984651ba4fc10120965849e5839856088d1ed828cea0f9ab6841f20ce5e6c0650f99470302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500683066023100b86eeda1c6a14196875862079e0d43376873ba72a32cf9fef12b1905fe94b76f9b4316e11cbf7b79376887984369c2f5023100c1eae18150d2388d4470445d996290242e79d509ee3e92d28b753f689f760f7d348bb124a3b29d2322effece0f9c19bf0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500663064023062475648fc3ce7d3dd936a324844a43c861e8bdcf4945f37bf79b39087a04eb7386d6961674e3af576561d295e89b52702302df292d8b5f32434a5658389ab7f660f4e976fd40aa90603d1676d0c65373fd166483c9a13c0c4bf1d477e24efca31b00302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50067306502301ccbad538147d4d5437fef9720830fc9bfc1ca2da6b13949ebc4914f0874f207a2e64f5588fc9c89a48cf11ef3fbdf6e023100cde7f05ca25993e486268daabffaa0ef41af64d4ba23f8387e84d2c452757ebdf530327cc43de65f33dcb4459a99e69b0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500663064023011b31db2fcce29693f805a341ac608d2ebf9c2e1add4b3786dc852b8700f4c2885ee5ffd3c28754d732b7701d24613c4023033e88aba73a1eed1639a63fb08a89ae8746fc59c35dd48314987bae5e79820589391b1038d62af0ec8fae5a02fa6d3050302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023018a5fdb4c7abe580e0b2c83e4e3a6a2463d7ae62f490cc98e9832384979e1e146f75e54475c98fa6d40c4882eda137d8023100c81fb090b44dcb830e2cc86d6995dce3194ffca16fb8553355150f83a2497379d845f7ca7e6a3031b3e1463801deeee40302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023100f33221154673db13b967a9cb9776fb7d21840f51cf4370c6b7ccd850c7dc6072ed866b404a8b39429575fb483cd0b2e0023027299b5a62471805a3e946ebe687ba7758f9126cc11216d6e5ead32e66afdd5a60227f29479d8dd802b7509be5e0b08b0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500683066023100b3cc725629737376a365f8e399210be23820eb311f5c17b8a377c112c2c5f67373327ea23c12c104af841fc998c3b42802310094ab4b72e2a66ad01161560b324e046a3ecb07c08f656ee004ee647295bd0d28a96d2b4f3898c8041e752509493e95760302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50066306402301e4f0e04b5ebae990a60d116df0a677488d97d80acf70ceb36f92a797420961c472e428326af6e0c368dea762566acb702303531227b375799adaec90c38ffdee11bfe4e875d2f2e46fa0d5de1f855d89058d9883ae852a840a38e9b3f2608587fec0302047c435bb50067306502301c1961aac99fd80ba3545ab18d7e460576ed95c719cffe6aeee436c75f66c52027c47afcf1aac10906ec66a92d1cd9d3023100feb663f7f833cad0449497a46e41099d90bcf7e1f4c72d9e0c724d2d4383a32f833390e0d34715d5252cfd9a8c9281320302047c435bb500673065023100ce65e7d030fe98b70771fa57e4d6561992f2040e47f739e5b5a6406c83e29aa4173014689f150957d26baa88e7b25e3c023064d849b60700579db28a5e14f973d800df71bf94e6c8aaae9fba1a34eff92f3c4f811a677311722e5e9184d0896e750b0302047c435bb5006730650230417803540cd8803b510a665f8eb1dfab4d62c6ced0c980b9b87569ecab956c2ad458c66dc81f63c3d900e1c5d3bc671302310097e0920692562351194ed0d3aed4e7fa8abd18360bef0bd1bbd927df8babc0fdc1332f6969c9769f2f2b97e8b7a331610302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500683066023100e65e9cab1206f062c03a6f167a500cfeb0464c310ce7d894bd6a47deecba346ca567463158f451383be24285114e32f2023100cdc7f4b9a33e18c713e3c6345384a0d97009ae8efac84de07b95556a5577a9fe50dc46ee2c32d1293c43fb27ef6c0b000302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50067306502310095da1f32d43b2a2564296be1daaf5dab1a71cf08928164a939aea388130da187382e7d7aeecc1c2b0e685ecc08c9fd4602306fb433168c022563125519cb2db15f7c520a05fb3b6c7e25429f1cb8d5b616d79faece9bd3f4f9f0b0335dba90b8ff810302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023100826f6628cd19c533f95862e70ee56f7c56b8ae8dd84a3ea9838a89547b48af66900b2b0af0b0856ccbaee2e8b6c3550e023006fe723918ad6dc6a6eac69a37551ffb9b19e6a0f051def190dd399a14b1c5de7bc524b7a4b5286c9076986bd401b54e0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50068306602310081e16518e77f03af3865df95d0e3b5a0c3c61e9c1635222de2eef4a318557da0edc6cd79bcab8f8a7d6faad3a01faf22023100ae0eba3bdf69ab3aef9018d61a218ecb53d24919bd891bc05ad03ab2f9e7fff6a01638c9be0dec58d587782115c12c960302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500663064023064af2bcaa9cb39e96873aac65e617a628ce5888da3e857bc3d06c5cdc8f97cbba6da9be586ec9fd622cdbf7cdcdef21c0230683f8ce81940d3c7008ecee574cab12dea3e9d9432e76657f38b470d3d5888257d52961013d01a88d6ae4d4bfdfca56d0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023000d89d1db6208766ddac7b21a47e3d011675ed2426231eff9f0fc38990a954c2435c94c24b64941907b0934f048d3c8a023100b0cee735a47627d79544b5b14430f0e225ec7b235f587163973a661506df7090a2b717f3bd1133994ebf4b35a965e9670302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023100adc3f486e308f067c867b1d7d16b3f8e303e113960dca56148c79a66f360e8cf3882515f56f99d07a966b82657f56faa02304492a2cb6c46e4f81e754bfc7d556d02fc9bda0cfca2aad3ee68ab28b5a2d4b41b3a2d89bb8e41f503b822eb81095ba00302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500683066023100bf7f6850ce185b44de521ebdc9c278deb0f042ce51d08154be55a05c6ca05725853402c6f2e54e381989f4b01183f47d023100cdf6753c9fd74b3ee900c4eeb34fb96078fe7e4b947e614787112bc5bca2995b37bce6089747d2d90f945a7db52dad800302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500683066023100f3bf4d88dfb736cf2d32e068e5494dbbefc389698a9ab0fe4558c8eacfb51ec3899d459757f6ae922d69660dd497fabf023100cebd7fa82eded79ba4350883fc194d0213edd8f21aa5d0140e4dcdb92fe3760630c6161ecbf7d8360c562c938c907ac60302047c435bb500673065023053240b1799192cddfd2574f5e4a1f53eca0bfdfcb70f54420d514181637b4f59537a878cd2ba46ef375114fe584d62f4023100f749b2caf387ffa84da7967f41e962ed95d5ca8a1e5af1090ead195a04eee55f727f086ca6bd897e1c947b5b23ccb7b30302047c435bb500683066023100d4d5777bf0e9a9c31b3d8728f32007234a26ebb4e32ab108a60065387fbf7e7efcea9ede4ea0199715d8c47fac8bfc47023100de5589d60562bb0ca15e75e2068bd110aa702a7a037f1839e79c9eaa8208213fa5faa1e8869df0e5cacd3191888b6ec20302047c435bb50066306402304c4aa51447e787b2ac09bc7e6d3cf7b05815d5b5889bbec771ebd1ee93ff2e236d865a0f7e7ef05cd14002dc5e7b1b5a02303e3aba8883c9e1a71bd54b122fe296c3ddabf08ab3edb8f0bd460cbe7f6a6cd3f7dcc6ff2c8d0e1c87032641c7ec6dc90302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500683066023100fea15730abf18bda097541282d03a49b9afc3385d4b9b54b5ddd7bd46765c1814092c00e96c4931397e5cccdcb93d8a90231008783201b11376c18a86df81a9ce3219155935900f17d4d37c43158974671163d7e8ee6993ba569336362a629d78f93330302047c435bb5006630640230116b944523141d6322ce05bd034402d96cb483b382fc30d9faf59a683ae12fe67c59a0c530eeeeab4ba8bc89eb757a0a0230349442a82f8dca5316034b6470bc94562abb904927d57be343f8f16d6c932cd6878986151b2c8cc3b84d924dcc104be50302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023100e80d80bfe41c0acbcd52fb94aa17e2bb2799b00c89a009893e19b76fbe8f9c7c933c02a783487ba868947d591bcaa531023036dd57796c4a0a3fbd83ee8014b46757a109c271f5e88517de91b8177491ea0344a0187e6392e86ca36d0d8bb7ed32a30302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500663064023065337e6c45d36e1324e73634c042e1f05b54e9ad3038d0ce019e749f99b20dd61ed9c34822e7e17e4567d50177f74ff202303833b4b0ded63736f68a92898c3c86ff7aa352f2950fb67369d4c69ccf00a0f225582cede72e51f63460ea0794840ca80302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50067306502304744b0960cae02f5a1340f8e97c55318506f7424ad41c4a2f94b7c00810fc2f1d0b7a86533cf5d9c873d36cebcf8a7e6023100be7ce957c80af714990c73e66d11e28695d6312667f3391e8cc98bc7c618765c69df4bfec8a700c136c28a63fef993490302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006730650230540ed302c3aa0421a6f6f4321783c491b5f7290d3983f3bfef021e508e7f2a607872afd682b1b128862b049fb7e61734023100f5734fe6b886ae9db820934bb8dbb934d69733a58c2e02b4750c952196e16be9fb7a21c0faf16f541f2c335fb8c87cd70302047c435bb50066306402303e25f2e7acf305d00100623974678ea64fa9c4c9ca3592f572eb8805179838d51b30342bc8600f0d0802a65f4650f55a023074336d3eb62a3a53b7fb81d0022347fc1db1aa52369e5d7dda69eb28525bd2291135f6144af3e17696899477066f5bfa0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023100decc80993d480416ffa61839d948f2aade4b9430dedf2e9788b71de33f4cf2f899adbfb38f0489b06e01d687935fc41a023025f7e6d967329ac5fec82efcb1f505cf4c3f3bf57b5f2ad2670cce61d2accf6403303c2dedc642b7ac5c6cb37be2f6050302047c435bb500663064023068516db0c85eb5e9b1e4b5d506fd1c54f14d5fb18159cadd902e69ff80996c39907a7f152a4ef57d8e68d17043fcd1af02306d430056e4af70b283884d1d3bdcf07ad7ae4cc686895881d36427aca06fcbb7e0b3772a23754f577eaf7f03722973c50302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006630640230033eb7cc63c949a6232eeea08a0052f8974e6b99ee20544ef823f39a67045e240d1225c9741a3bf62de3d7d1b31948cc023079a1ef7a96231e96d72a6dde4931c9cd9e325a274ccc059eef5213170a5cd7743a325a6d335f6c6c89eb59cf70ad9a310302047c435bb50067306502305b4ab86b7015770528001c3082a2e0c1f8b9b21b300ace5441c50aabca1ed4ca07ab50b169cea76c287aede36c67c1720231009c08620b64086437c3bf710bbaec1c6f0fe358daf079ffd6df7c27cdf27aa994d0d181daffb6a945e7887431410cd87f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023018b9d11334c2367c696d9e618f6b4bbe21efa2d1db83252972270ae7efdc5acceccf7193fb9763246e15e341bb5e8686023100c609d3191145eda53ec17838a6194b4d4de59fc3612e301ee81fac633597530b02dbe7dc57d616eab158521912265ee40302047c435bb500673065023067eb3f2602bf063ea50f30810fbbd3ae12bfee5aaed65114a71479040e24ca45cda55547530288c2e01189ed4bc2565a023100aa29b097329d1c178d1196e588c9cf74ae602a231b3155d80f35ba370e46f4605223ffefa29a8663063118410ebffb960302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50067306502305626013383fd46ed23cb22a78848873e231d2f233fc620bd5e09f2ceccff1eed1c5e0d472f6ba84566a27d1c2e8cd35a0231009f946a57a3111daf38868b9e1656c1f5a4e1092682542835accb1d6c879fcee4e2cd56066a103723c4e818a116dcfd100302047c435bb500683066023100a7f8111d16de206907c3b784ec9c669568397987101118a176959a752a6035917e5e8522171bff18f49e92f853902b89023100849c52f39d3f76adc97f6df84c24ff115682b5a6d12f2277ae4fb0e77b3f5e2fefff4c6aa9f86efa1ce120406dc6eb1f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231009df1db4664c90ecf00b7c80a4facf954da2c1be582c6678732045dcff35f2412ff4eedc874345b68d1236d659c221965023100f5fc14ce06c59004363f46d527830a5f38448e21c196d0b83af4bbffbe361aa6ce4bbdc517a1de567c50e77da30683890302047c435bb5006630640230539e3e10168d8a3314215ecdcac29cc82edcfec353f586233430e1c2eecc7511634931c0f7d60b02d552a56a7ff7aaf102307ba94443751571ab2ee62ef0262aca83d6a46078ae5c997e49dc0dc4562b8feb743a330b5be36be8889cc09822cbcd750302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500683066023100eba1e1b5a689ca17c8e9a9e0da37da40d793becdc62eef9408b863e2dd8531915d0fc9291a35035bfd9d33fb3544df8f023100f4169cd85d58ee2837d2deff0e86035a8fa8db2a67807f6cc9fe6868e4c9fffa5ae2afa03c6d9822a771b5d0fdf73be20302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023100ce00204c11cce25760b9229737cdc79bd901a4e659a91518de1a65ac78f4b426399bc0b056f266a21a95307419f21a4c02304b45cbc3b28419cbce333523fcc82212556e0b0ed0f76187c5b1ac837be81ab9b7079eb6365d97eba888d28d6c15de0f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231009ecbe8455a3a40d3039e0da61ddb2b3665da03cf6b9ff1282f4d8f94a9ec7c697f997ed44c322f7921a7060518c8bef6023100d0928e242cb1a1ff8447f927569282d00cc911984af2e0b9f80df32389a4df7ed5a563a6c0936cdea0ea7eb9023ff5650302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023100b1b36bcb34dd0169d59ff727acaa84b55563f81e1e469afd3336993d065ee6ce713be120d37732c2f94e5bfea1aa0f7f023001d8f19708dffcc9f3d20d36f78dd7fdd8d4e5ab49021b11b59b40c2907bfd00da048637bd84ffb41871ce9b5c101b710302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500663064023051cd02ab6287b2b3f61832b2cacbcfaf27cb2b05fc2c4894a807d17b2dc9f164f4a87ae508edfd81e0ae0792fa5c90a20230763e184ec994db850518aae41adc6e69eda669a4191957f98b501772e232f77ab1f06fe39d19e1e031cc234e10e47bfb0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50066306402305fde82f667a827c326c25750bb2550e81cf587ec17645267bd0d11647ce3f883d080ea82111250bf08bb8593f55362b40230024635152addb88914b0d30c39ced360c98e4547e943e2f386c28f7b11bbae112c438581c4ad7dc361c9b04513b21f520302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023100a492e65277fa3f6afd12493200a4711445623c66a9d70a12c1c963a110620cc4f263d29b13a0a38fef128452d2f3a23502305a1fdef5c90ede0db20e51936476d0c3aeca6a4f1b4997c918ca1bcebd5f6b135bc1df1b1ed6f76694e5b49a49637d210302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50066306402305d7d37728a02c17eb05832c0ce214f39a523e7a4d399fbc851fbaede9fc36ef59e6770962154e53f0255020dbc76a66a023060660c606ff91677079b830e4b08944ac71217f63016b382695b7e9dbc80a6e971346e2b5b29e1b1f92dacd37a6719e90302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500663064023047eaa822a1341423afefa043b16fb6c5b464813c72b642c27495244876853073eed3f72afa368ea13c840d89c8360d960230486c7f37a2295faea1348d980ceb9dd1dff52ff704be55c8dce84d6fdc3ff2d1dda867905fe5d6fdb26311a7c3d593510302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006730650230610db4f88f0bbd8925f892ffb6092e12c1ad96bf61a053fae6452feb42a27f0ca998be327df3fda37399ea42d0ac5acf023100e02a6fd96f37c72953c50148c40c3ddd68f45a329a3a387b3d3f9655bc8d1c1963c714d9ed9e79e333411fcda61fced40302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023100d7042b48e2ad01b2de2fbced47b70603d4728766e9eb72e4cbee9c28bc6ebb0a24205d9f99aebb61df0045fed910cc8802303380b87d9e66c88261c901173cc6fd518b882c5210e5d4351f378066ad01689f12a4968af9b02a3865b82009dfbbaa650302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023100cdecc4c79d57047b5bfe3376d1a1c7887dc403fc6d127737df4366e25fcf84489086e38035933223b1fb90f98101b06b02304984031ec0f346c35183b9307b6fddf7b425e90ddf713d7b26572fd1d03b614546d4ead36f0e6de6b75c3af0fcca89ca0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50067306502304f4403c1aac8f38ac805526ac77329f1442535da54f59843337fb90ac0f3361033aedef1550f86badfd2ee5fd9e0da76023100c4b2a5bcafdcc011d5400858f717956d72e58c8970fa0923812ddfb48bf5ac27f539d7be1c1151062643920ce01397a00302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023100e500e4e6b9607d67cc0828536271816365f5f553d87332e77abb2e0e5e8f59e79e18a8317f4b794540cf7345a64bb4ce023005e74bd2fbbeec5390e86d501ad58378cec513b3a3276e739b8756ebf58594fb8d4ea08f2797b67596b388e77c7f4a030302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500663064023024891d64800ff13bc30581f081129311b6fea8c67f3dac0d8e774e50401d151b2ce404745293eb4d1705d0db403cddcb023047c5123f433e9b89a5ffbbf42519936cc76e721a72b5f56766e14dd50864c8063976547dc7419c715a695e7aa5cf6a140302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023100a177f5d200a0657e6ff2bf740d91b4847aba50d45c62439c9827a3b93a11323fa80f2f1848e8eb8d39abcaeaebbf408302306ac811770b1baff91b7325dd2acbddd4e8ec5342560cf2fc6fa69c57c08e48ce35bb87a6733c34d64eb2272361d264280302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231009a56cf03ddaeb18ced082a4a73daba6fa33a0a389c3c34f19ae8381653df4c3c7c0b369b0d3057e8e61940c611464e8c023100e35bcec04c32b4d35f3815ec95d067eb9099507d81abacd18d54a9c2853d0a031715b6cbc7daea3f81db0ae09bc12ffb0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006730650231008e37231d9cf469b2545f561b4bcef1ab12725d8e3300a18b27e2839d29f83365ce545a68a8d0b3986e1620f0d5432b950230657467abdb50909e5d95c3dc36091687196e311ce3b87592ad14096d139aa97e3c41d46c698d7032f496e3c6cf024d840302047c435bb500673065023100cde918d05f376ec99667adb35aa0d6e890c4f7e384c48b91c5ef30dd7ab85a620a3734f0deff24dab6a9936a925a9ee1023024e8fd9f296e46a8e7d199a2b452711a8c1433e623b390e9fed7d63f697826113a2af759df6f434ef1215f8a5f497be60302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50067306502306658c434d6f926793de0d0553a68f78e3aad578eee3a2e3822054610bf23f4a928ef60b407a203b13164a9477a81dab7023100ae85f7e9c775d8ec821066c343e7434218cb46577af66429108590bdfa9799ab9707bc9a81e900e1d918bee6521b1df50302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023016d11c6d9632d7b677a0c39b151775cad90c7c9fd592a2ca2a428df1e7c72bdc5bc2c4f35af8872b7e889dcbd72523ed023100d02e21da128e9a8ddccca63042f52ddde7c16eb44ef4b3b2b121bd0a3eafda3784111416f7d04b8552c9175d2b4779280302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500663064023077d3ff12d80fba8a9820e52fff04b2e6107554a6c2967328715b39040e24da50efd5d62b942e95fae7b92782f1665d32023034f60cf2637e4b30db95ea745f4856a42569789451d1d4e28bd2a956d471fbe385fde500b0b2576ad7fa7f8918d54db10302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006730650230670d50c65b352d3f0712ceb41d4cacee580f72791fe79f4d0472a03293acd7d110dff943dd746eec64d2fda7030dc999023100cb2c5b4196565c12a8b97b0c32cb2b517f4c2343bd21c48634c8401d53fb3f88d98989139c073872106530da9c750e2c0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500683066023100f166c9f37821d705970e5080af4c6e5cba756814753ccba6a211a5ccd56d564f604714b52078b19c00890566d0ee49bc023100fc9b7adafbf0b937044287b10c3027982fcbd38bdc5d0873e6faec8d9a0d865006c3970052ec88b095e2696a5b251ca40302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50066306402305528b2ec163a51ba47cfb81ec93d08bd894a2b8e44774a78aed4ab1f01793172292238a5e739ea4c87c35ae15aa2c8c8023061b33356073df273ea27746d476f25039fc8a992c0c39543a57e1b502183f56f3875c24866ab9a40d56862971541800a0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500683066023100a15bd76357e56cca89e136c0c9948f5c1d1cff26e38942d76c7ebae883371674b94c1a04e917292864ecf2df7cea008d023100d8fe9711076609a5807597bd0b2a2b35bf374f74fff9f369086670bd362d23634e5dd860f8bd716a7fd714c6968d18a40302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500663064023039fd68a38c1a790c2cd61e6009ee3f86126083277e17ec46e2cc309bc199b7d9a6026047e9f70018a97e55af277a79be02300caa784e057d777b6f11260caef7f3a3a664a14903054f907a7d37ed6970e1e30de28c5d4d1c790f7965a473a98cbd5b0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023100d2bf1060f1a83f55a85a1665162f87776940ed61029a36bb8cf497995cc7fad713c458c8dbd65ea8225f04d7639b44ba02305142bce5783c7e9bb6e02dfa88e9b21e9d516f3af90ecbdb2ab66537f0a1172231c84a18b2306dfc7ca168d9ca3a9d190302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023100827387e82ebbac450e97d3a36df6a40895435459231696418d4641b91e8b64a83d9135f6b7eb757cc6f209be748a3a6d0230089ab065b1fe71dc4d961aa21753b29bface7beb81b008a7e545aa1e7d26e04f3f6dfacd7043ac5d1657824ed9cbb24c0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50067306502307b28ce1941322597f6cdf6d6a8e21dce7dc2081667419b22aadb8a0a5ba4f7fdb9da27133340241ea371da9417f5ba58023100f6f294a4b6d3ff8a4189fb8c1765359f999d53b91af4702a4c637e9fb0af71fea546008c1cab3ac8d5711032c74752f30302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50067306502305908e07e03d23c6bedc36d01cbbc9801d5bb4de5d510b179a02ea8491164694c7f8b58e5c3806f46d2f7f15281e4ef350231008ce9af627af38aa271d2e6239b001c6d0e966bd94d0b940ec4ee9ea9f149246667612f61141c8aa0f00dd03fc943240f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006730650230364b14fae99dad45757919916a967484f0845698d2e73b053f82a2ab5da24d55981940125287cb91939b655abd87e583023100d9d68cce8e2d03a8eea5c70f8be9f31695a396438c6fb37e464898502ca2507c8035d519dc5d92852b21bae7adaf0cc60302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500663064023049ef21124bf0a20916ed3ef64b2e8ae25b4069027945cb8f8c28b0bb58def13986b5b0b8f694e8568e50b9e38a6bacff0230602944dafea1075799c156ee3c8923dc89044cb398fe3515b73c311ea1ff7782a6284836e82100a4b6f41c2ef66bc6580302047c435bb500673065023064dd4668d6ab52118a17aa54d418d21c2eed881990e660e7b9e954df58675498f4df7eb1333118196e0e37b08685c251023100f318acf316ba3347256d21f4ed47016e1ed65c7af68468439368b63412bc1a003444c25b64d1a1b287ac531ab39e3c360302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231009f88498322b04845bde6c438c29f63b7a89202e828e069abb8ba1b14f040f072c9c99b4260842ad7d422ec059a6b096b02310084d2186b2975fb299c8e8007a8325b1f22fb8f45f37f947d5247deb7f34b21a00c2b856ed985d0666ad4c4d229b19b700302047c435bb500673065023077c33bd2f56a102c601211ac99999ccd706aef08d6d1d15504b8ed7d5ea314f7e1023a4c2114ee3db2c6646ddbd3399e023100ac84ce1fa5faaae56b157f02a5f2b713d4a6f693f2efb4fe3e6c62c1ea5314a7ceae8f07b29bfece0129273b33c85f470302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500683066023100eb7333550a47e7803965914480ae1093660ca1f873b09e6df9e2cbf3d4292266614c2349cf72183f28c819a98bda29b4023100bf5fab4d8d255f498bcac7a4b49cfc6a1674d4b566579dc5e60495a0d4518dcb7608aadcdf2ec5edff8498b137e317050302047c435bb500683066023100b9500643d1734f3d397883b06b920dc1b1c15943dddeae2a61e5096c5d0217486f1371e02546442eafbb68abc4af00ea023100bfc06f5c8d516d52d749489153612654c16dbd890263eb1a85b4ee635e8d5dae989276d0c927150ec262465c25fa8a340302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023001c3c72daf9f069795c678ad0b8302d991da991754084661b2e9115ed0a9f4fe938e2de6570c01f6e85496abd6d946f50231008afb0ab2880734866d6f94a54026f2f6729fe8f86e1315f34d66795e2f9ab6b5b4a57ea5f190fcbd189623130e51c1d40302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023065a7246bec35a80f35a31e102bffbb273d348911c753784be15c38c0738d14c173dbfc5538303d639446b623c8907de0023100e66b0e308f5c601267432e6a5757fe8aeea0ab20bebc106578c767399e5940eb320b3c07874f740c524215e5982a564c0302047c435bb50067306502306ff9dff6f0fdfd033db867b00f6a80df457626523611e597e8c7f813c8fe9181ad2e3e0504f89918eaa2cce652c9b3df02310086dde75a2e5ece0af5cc9950c6d673204cfcb032c9907ab3d77bd85bcbbff2968f29d97a282022804d1f3fb0d25601f00302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50067306502306d133f36e2970a5432ff4d7b682a40cd94ca2cba8cf3142c2609dacc10ffa779ff6574ecd913ea663514c236f6009682023100af5a5cdb2cb1ce8380be49426e97c237c9043d25c10bbfb794e563bc87824c722d45087d3e0b91f01617a99a9ad573160302047c435bb50067306502301f0237ccb37b3b44beab96d0f80f44896725869f534979e1101ee955d0412808894119104b00d0b2bc45b6e854a9ef50023100b6a159af73ce62663ef7d4927d31a213e4621b6c8b5741191c17712ec617d0c4632668ca4c8ac71adbff28903c8cfd070302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500683066023100863a47676a4d17629630c3468a1b2baaae540f621bcaa09fe35d8f8e01f7dcb647ad939b65c50d7a38e03993807ae016023100c85038815d380b3d859b23d0b02ab07dcc2e3eb25d5c623da8a664d188ac40b60c07a2a8f3b9bc93f2911f87e5e189a60302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500663064023034266f44d883a5343128ee4a8670481b4c9c300f94a5d0ad3b5a41af655c5605d154dc3e4117b7fa169acefe1ea4018102307ddebabb74cbfa4a31f0f2c17cf5ef70777e0d8aa10f3ffc98d1845aa308bbefdb544f87574d55ec42e7da1cc6aa317d0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50066306402307bb6a4a19f361ed9b909361ad604669fea5941acc20a70506bf8b6b2239f94c4ad1b2c6e511196956e80d402fb45cf6402301c284eedeea56258eb5f65171e5465da44fd50985620164e9dddaba41d8ab0f4821d72db3b345ae3c09d21c2161c819e0302047c435bb50068306602310095ab8a744d5cf63d4b02a70874010c88e698a16f71da820564e506bd1f199efb69e6f8c1ee63865db5de9c3a8db541b7023100c019736f874832c4b7c44c22ec8d13d7b997f8a4f850c973d3b3fd9305f4e2b5278c6450c8805ef8a67ba921d605a46c0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023100af6d0cf6e8c3b86b9c1dc71a4ee679fa1f2e5409fb55a4119aab0bc1b1ad0110605962fe880a4d92c7666dfe2240d50102305ad17df2d4d92c8788e98dd3abe6a9bea4a844a39ae2369bd0b4e97d5d5092d1078d77e66e7b6e8de89bf23cffa0237d0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231009851816a889b526c99f79eddc0e95fda7a35809d27cd245a1bf7265255a21e722b012044c2c05ac79bedbbde04f3e251023100e4fc2d55147f4955563a5e6af25bf7ee9003aa8a080904fc3047a3b5c7c8a7242e30b5c3c2f6e17d49df4a3a453563810302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006630640230204959e20a16169974e6597553a7e267d58e8201ae8b494a2e31194e53625e0c79d062e6965da72d33ebd43ed92434c8023065cbc2576aa476fc28455a8490695170c03b6e9c29ccc8869f498ef5845d64971504a2be76e97c3a7d132a98f23d100a0302047c435bb500683066023100a6bcd9cec2fcb6ea7630b3aedfef8ba889876d410d2cbb5f8589b5f543cf9cb69fa95356dac9883d5b3222eaf5f03851023100bce833e10b9d14ef12f733d73dce48f0656cd0d2a35f699cea95ef355bf2749e54f28b10e1737d0515fbde4aafc0c9480302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50066306402303c1ce944c203dd2408061489771859ef70855682792d00c1893216dc32b5fa15655e2249d70a6f4e34e3836d2aea71f00230382641baa1ab15b2c53ad684ef421bd694d942ed53ac4d129b8b9d51e6cad87b386636f70502340c7048d70850df3d7c0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006630640230430098267bdbd86f4c55ac521a10a35d562973a945d1ff8458b77477f216d117ae86d4b99941ba562c6776bd9e52f60302306854106c831aced97bae432b32106d7b90a81b3ded52f55bcad961221703f90f8e7ab081fdcfa93dc8dee5e7771536100302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50067306502300bed3b16f7e1b55b8942dc8c311186972306760a91a8557736b75ba1d963e054381ea43e910ed1a9034276087a7aeaf7023100c178608e797a361801ad5b11e10bae71ba7f9cbf146358c8ec8e726d974721e5cb2477b86deead9e19e27d1e7e5fd2420302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50067306502307f638037cb44ae464711ad244c1dcf88223e72d8fa659ddd6187b74df26bbab90c60280e1bdb10bf23adb79bbcebf7c6023100b46538b8cf79ecc0e29085eb9fc1176d800a5bd4a7743a466500369232437ba1d51718054b9851d450241a53f3a646ae0302047c435bb500683066023100ccaabbea8f68cb95e816db3578e7f78559e052a357d13a4b5e5191b0e424df6a3f26a790bfc5a40d75487df9d902115d0231009212bdaddbbb62897b3cdf7d73cf74c09786d7ca0d6843f05222f2a2513b7471ec0958ba8034a46451ee407e89edcd5a0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023100b927cbd67f21dff6b06855739143c101b4a4453447bc4b730d45cdf859116ce51a4c31018ffcbc9d08dcbd2360f4aa4d02306bca5c51e36bb0222f0892ffacb64060142eb3b7696090fc58b967387dd65ffdaa63f649292eefbe8b64b475adbfd38b0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500683066023100d87235d468aefbe8f707991031defb8c2416c3dd1a070910427662bb78cb60709a0a5e269b570f912784d2e9437cd7be02310089080bfff78c8fdc117735fb8dd59f5652dabe7c0c0a853d0561e79562245355fd1ceeb1eaf71f459f29b47343b02b1b0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006730650231008108f6763ed2b6efd1848fb4a4d9499bf036bc16d96400d184cfac286653b26755bed7da3a0a97cb699ac78eb69a045b02300896031f99c1bbee01e31ffb8e5e1d71ddf03f5d512be8ebec07646172979ac462f942a3a1d950c88b7073c461a4775b0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50066306402307491bc4c4093f909cdb5b609d85608246e0bd5ddab09b771d7e82212d998430e946b2948ae00b9f0a0731a8b28b00bf702304931f0949db18ceae6d0612e37360d5ebf0862b5a216add7aa5a889872172e61e3f2d6443a60a773e92920bf501017460302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50067306502304582136e2913fb13118de2f64e2a304c1ccc4f2e6315a24d50b22eaa1a5e89403f4c884a2c1596126b875aac5c215fa4023100dde762f2779d10ba776c183b18c64de0cec8ee963c947b4dcaa49229012b6484e07584daf3c33bfe045ce88b745883500302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50066306402305c34b320e7ec9a60a490ac33a57e93fca533fbd2e517e0db33c91727e27d7781fe87dc3d159fa39750425716807bdaae023042f664a7b1b5d523012ea7205e1fc47282535f9a9bafd331b1733285c4e263575a5269d74205959bc65f40d3099b3e8a0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023100fa57ac0ce6dc757defa6751868fc4e8138404c668032bf1b9447c2ba8813600550e38c981c1797ffaf9cd61546dbb50b023051163c7b1b49461d54163d7ac9a6b6d0b825d7c5a8fb6180370abde20fe2be512aa584aa800dd12d2793c9da35c2304e0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023012a37a80d14f29b6b54c7b36b877fbd2957a52fc93e8cce2a1b45cf50d5a0059353203932da004d560b39ab9f0251637023100f4297a7766045a8c03b58961c6d8ae830a39c1eef0c9d78983feb66c7e4dbc0988a268edc3e23cc6dda1773a729c0ef00302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50066306402301ed8a5ebbffe9cae34aa998384a40813e987538a6548c1bcf20b203c8c26925e7016abcf6d72f520dc8384954f033cf502300d19a1cd4b8095157a86c469025ba2cac16fed7073bc3f4e87ef6f957bc2ad48933d44c52261589436d596837c7370f40302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50067306502307183620a2d958172b6fc1810968c7781db4ab610c5fe04d974a6b75396e54fd6d6d30ad1b8286932c7f8ee2685d94df8023100c9c6971e71b35a36872e5cba1cce0b2ac3afd1b8566142e21980944c7a07670a0f2d85b87f1da6a1d6620d1faac1e87d0302047c435bb500673065023008a014a53ec51e3b030129933df9835c5a50f137793eb0716dc59f84cd0c62b3b3ecdfddb3f6344f46e12632ed5c067e023100a31d3970833bf16276389b2f2d51b9f70875661c2c49828c1735b5ed186e732e80bae601af1e3ae016d27f4251aa9d0d0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500683066023100e7e5d68e7786f649b864231b574d8873e6a56b2fd9ddd64d6a1b86c1c9615636f31fc4c2366467cb0c83fde7965e7142023100d7a13f0d9ac0db3e3c4e40857ba5536aed945ed11a4d1d1e26e24593d14c416274788fe825e9feb0515f3507aae3edb00302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50067306502302c37b3b5ac9dfe0c205ae330a92121c06489c167832ad95b6cfa186eede8954a6294638c9652f5977fdc90aff53990d4023100bc9c51b1a9d9c8bd444907d90509ccbc13c373b34d21a4ab15f323db9aaafdddbcf6f1d671431185d5c9c04a8ea2ba760302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023100bb33ac68bc8bb378de6258b3260588265c2ff677a0c1e40f5f25444ae3e5008592b1d262c0feec82c42c7dc71e718bc002303f67143295335271355c6f8acf21ba9db326f8d4ea42516b762fefa3fbac53ca1b55df12b4d177341a3f9f18fd74f7420302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50067306502305c917ce73af25cc6d74c119c6578d593c0bde969924330b14c11edd2f18d12cd73da8e52dd30e8e69b6cf56c25ef2fde023100de66fb67c8bbb65886f066af5eebce96f33e3412b3e22dad8ac95b88ceeed170ec5eef27d6c0b99967d853719c8fadca0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231009bea8228b7525c1d96caf8c30f8a9f2d0a24923eea1a150b3777ba9f6b2b3fe52c9c73545e36bf5ee93fb49f82c886ff023100ecc16b61e810347fde3cf12bb354c46a243b0ddf2cb8db7d9ae73e535d50ed7cfdb9fdcef97b59fcc1647f01061868300302047c435bb50067306502306938e6c2152d2080c7770c7560a3d529260f559d1241ef4cc8fe0fdae2cf62d26d125605405254bd63df145fcba5841902310081c04ce42a1e860ac94b7dd2cf352d6e520ef2c7bf7e5f3a3e6b9f7704a7ee9a557d035938c427931bf0fe2d03e8159e0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500683066023100e10cf1b554425c7249eed4851b04327e9495b717bca47e756df63fde1640b9328ae634ae033cf7fddc1938757ebe52c5023100e2b2727a113b445492ebaaf9753c26598ee560ab87dd21839af55101a05e3a1b52bd3b41a3d5ef1b28ec1c6517db28aa0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50067306502306f82d4c25bec8cf51a90cb5c1a24af430019142c41b5e6383289bf52ed900e248a870ea893bca14a43eca9cbcc8aeb97023100f7c8fd97f96eb7fb7b038fdf71e6e757851480fdfb680b097969dd437c20ec523be0960f0b151787bfd507e40a4ef96a0302047c435bb500663064023017410a03aee3298990fee0005b6c359f13f68466ce390add05cf7cb737c0da7918ffdd5e9d26cbc8671f478621cac5b802307c5e01976a2ca856c490f134621570021e4b490fe45ef2696414ed862569e19c4f0c83ebd702c76cef4a6c9efdbb03ef0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500683066023100f6fc39758bcd8673e5d291c5845f2390a0ccbf3b233fe40093062d6cdb07d8abcac09388bcd9eef15fa600d3fb0d1011023100c308cd18d4874446478e6695d2c3a263734184bdb7bffa532a3128c163957238d42d830caf043d06a251f4477af7d1720302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231009a2936593aa06b907435144fab0142f662afcb9ded88edc3c6d967c5bd58ef0579410898d01abe521a1b7e8cef30334d023100ce5d35bd28cb611557a976f3872273b7d4251f726168a92aee4835323e848d83b10bc44465efd426b9e277ac727853520302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500663064023042b4e67540006419d63c9844210551a449c7862e8ad4881ee667b43485652ec764d2abd201dfb3b467403244c9f0795702300f48a7910d54f431239a76d7f7166d33e8107442059c787af9d18467b03f89716008536be75c830548b40c374453e7c00302047c435bb500683066023100c455b06319e6196bd5cb0b5f2ac2b2da11f90686f1d3a985e5dfd352214635e998e9229573e19e6b1f4286c819e4a99d023100d92c850e4556affdf0516235208b6a893c0ba25e678e5f088551978a5ccfba96e6b7acdc0fb61c344ee927f177398b0e0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500683066023100ad3291cd85398e052b570b83b294ce53c4cda475f1595962fca8f5e24183de2b959274d95e6e298c2bad4b47ebe10d9f0231009d57b7a99728c9526de5aa066829669350acbaa2b42671923a689bfeeb5257b58d14683246861763f8fee4d5f39fbbab0302047c435bb500673065023037ebb21f4eaf0e182e216daef43fa553e55463d75fb6eaf41c812f3a9e7d783fe7dbba55d05935dad6501c88da2cc000023100c4e4d88645bcf516edcac5176ccb54f9505f0e628f1b57793d322d89c6d38976f2dca92dabc7ac0f75c6d59eaa28030e0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023100acc1ee9b7d48325f58b8d485b8e74f8857c2f5c3c88133756ec0d37ef31789e5016f4278d2d86d73321aeda0e872b5ad02307c23df5c9bd10392836edbee5a81af6581ccaff677585209ac76f6ceb3afa9f4ef44d3626f166eb672050a823b8b692f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023018e5a30463319dedaecf03c144f6ad620aa000dfbfad7d68c6895009ec2e9202d8eeb6f9d8add85bbf123f04cb0dcbbc0231008cd92c45eb141f1424ec2cf59b93e84a928182288456d9b36f1dcf4a42b7a64acda9806b5385604149b0c5d4e5fffec40302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023100b5571ca10ebf9ffc33c13e9cf36688df6555cc2aeb8a114eb353f3008fc5ceaf67e64ef379f6dbd45cd168200c7347fb02302e2edb5f28aecdafc3782df1d3f0f3eb1184998ccaf521d4e77e647e74f1bd7cea7036931556b0ee992aee31c49ad9190302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023100f90d49d036b8e0eec0645c7a72055c2bd392bf19de1760505b01d6e2f8727e3b7929ab3ade0a57d06bee62091ee73d77023036d0a1bd07e6ec346dd48235e26676bbe4acb50775c6ceb7acda562fb26e2f6212e33f145b21f1c08a88b3724b2733210302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023100dd098da88105efbf85f7eda84caa8c472ed02caea9c3bd7f7d8497b731d1845dd69b95ad4657f04935fa5f141f3853390230640339c083d149583fe34c5570794aa737393a21b85b76838d6257f1c1cae1e59b07a0a438ef19b9bfb50b2fc96df7f10302047c435bb500683066023100cc48561178a0734c0301b57f3d42fbf1b53a903782ca1eb629ab7420a68f075eccb191860b72a5fe5c82aa6eb011d018023100d719f73c1ded28c924cb47f751bb518f38de456ccfcd4d7755982d530b2184f726995f77986f8140e815e2624dfd45380302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50067306502303d7f7974097a42ec9613238a7f5bd57ce17aabb957570c2f47087fc8c1f2c01cbefd570ba61405f1df48ac0f4b7213ad023100e23ebc49f03554df87ea344f243c1b89156ff2f2d8aae23d1bf3c94a4800296893aed13c0fa03560109419d3e2d47b3e0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006630640230704ad765e967cf06fc5ecb949712ce4ae5be03e8055ac7e76d2039bf016aca7ba6df9ca3c0b453637434abcba883bff2023008f95d1d277712d112bb7a9b3dbf2dc5ca50f892d4665d9eb576cfdc8bae26abbe039efed4283a9eb8ead0e254b46fcf0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023100e9f1e98c5afcb21ecf0cecc6a4a7661e7eabb5d2ea19456c99efc946a2ac589fb73d224f30129c9bc6dd17a21eb03472023063fc4a040b5cf3ef0bf7c63639a8cb20e13a0f173ec81cfaa5ec1f1f863e4e6bb887dc37547770e188928b99d211c3070302047c435bb50068306602310094ff66000fd5c1715a86da6dade27887b8c154a1ed8f7961239d5053172b58d5967aca8772895d86e54d99b594b82606023100e720219ea8cc144b36d7d74b9357182881526341e22ecec159e7c0848e0d574086458667e44cf2c83f0bfcf6c4030fbd0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006730650231009ac1638015357c0dc7a871c14194ca326905b507ced9311fd6701db30bf652832a10c8ec2d7a982c3989ab029dfda68e0230013a44204076643bf49d5e7fd5adcfccbb68ee5ea502b1ab75b2817cb16ab6d2eb329c6474da32da84b614d3595f5cd60302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500683066023100f51eb9715189c34c94d546550bff27d20059eb1185dd2a2e115fd221054af12c771586d8134d233011c3da6174642a1702310092c75c18d9e1cef0f6abe373b72ae03ded017e28d6d5ee553cf65e9c2e03d5c4e80cba4d3ba84dd8654ec798dcf6ea800302047c435bb500683066023100d14db74bf44ce54a013e12e49703f1915a0a7039a3dc0468717192488b5abe0840d3f68ec29055830662ef60e4264430023100b0b6aa606ca01e3beecfbd1d23d805d490d56ca69393be6807b4adcb3ed260d617c07b585da531923a2ec8cc6ca8be700302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023100ce84da77f57eb7a8fe14960daa529d9aa49145626d5d0ec8615efb57057e59438879bf9dfa228fa2d470b53f026261b4023052c019e2e94d3501389c929976225726e60dcd4dea3103a9d2c96729e5e1d47b1cdef909fdee393410302204763948a70302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008b039ff69e7ea0bd72f47a56fe09998f10abea8d26ce20dd6af4e6000bc8d2c1fbd6baf7d4f839e36f315f2b8eee9a2a023100ab67c6fd9b803e097831e8c1d62fec56dbeb300935af2a6a2b78d4ba8a672ef8817adaf83f676e17cb99495c29e922990302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023100ce84da77f57eb7a8fe14960daa529d9aa49145626d5d0ec8615efb57057e59438879bf9dfa228fa2d470b53f026261b4023052c019e2e94d3501389c929976225726e60dcd4dea3103a9d2c96729e5e1d47b1cdef909fdee393410302204763948a70302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023100a061e701972e2e054d8140272e70a3aa9cd4cddef4649db8391d1962e7449988d356d5b4cecd44e0deefc24feedd29fb02301fb72f6ac2270e840cfea5eb4ea3370b1035ac7a4a93a09ea6ca66b63abad9e5e1e61146b6ad1c87862ab9e7f6f418a40302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500663064023013fdfc4caaf456d9f31405cef56fa6c5f628e4db74fdf86ef9257ac70cb1e9db78c9790c1a4d138d0925a4a8ad0b733d02301da137acff8e20787ef9a2733657e385c8cd6deb6027ec64d9dfb953b9a4164c368ebdea2a03e4b547396821f7fece500302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500683066023100dea2467599719058a1cf431547814961987fedd6e1e68895bb43b56810c297ab3486b41fdd832f400b51eec04aa5c13c023100ac26a0e3be2556fcfd569b8441a06ec4957a00475fd66d8771238b11af0959d4803f67ef08f0390ae947b703f0717da60302047c435bb5006730650230208ecd09a9791ed69abfd51ab30ceaafd5e3cddddd2c2233ce9c2e3fe547d36f786128f9cfd12412b6802f3e5a73ec9002310091db393698797df424548e30f3d8777ce9dfe1d1d464c6eb053e5046f1cc0f59c3ca2c3dffe8836f089bd50ae654684d0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023005887915bc48b8ffbb591121977f0b3886b60d50cffdca41270b713b2d2c3ac205dd5fd5137f79e9bf0addf0ca77b267023100beb18d8bc5816df3800b49ec80dd10fbf62d7bea775721c9d005d05b3152c2999520f35cbdf250ec41f2230bf892f8770302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023100e70e87e9800ef5f4045834b863c69c7ce676a9e1ca4e75509a95554a3922f26b444f00fc93a290f08963d5dcbd37c7d9023061f3672eed69739023ab2dc9e470aaa394b9ecfe83ec5a60325ff4b270daa6fc6147d06c8fb28bb44c140ad60ef325300302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023007fd1b6e31adf15d5904e08097acb4d751f0628445b1559ef2b5bc9b1538c849f64755690ea57cdada42b98b63bab93b023100c4050335f28517987738ac00c56b92557eeedd4d709968a901182ed17bae3881fe89659f08c28f6657bdf717bd1414f50302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023007fd1b6e31adf15d5904e08097acb4d751f0628445b1559ef2b5bc9b1538c849f64755690ea57cdada42b98b63bab93b023100c4050335f28517987738ac00c56b92557eeedd4d709968a901182ed17bae3881fe89659f08c28f6657bdf717bd1414f50302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006730650230612869b3368bb36d731aefd98def6c78c8df91fd0e302398450f3663cc58099c086aa03a5a140d9f8ac3146b52d85092023100b6693442b866911179d40ce82a2fdc0ae66ef54fcf5ad364074318c719d1405cc7ac79c6d53da37bd33fb2bbbccc85fe0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50067306502300aa73928bf2ef3b78cab963d89d7a9975bfb14ef56a09fab0e3b3fb1d5e77f0a77f52486cb36ce06e945d99d1f39907d023100d56620e3cc367e3a7570cf2daae9414e03f403158f7925cd6aee2dca23be4b7fe210e869c039ffb6f305d9333b0282990302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50067306502304932393a30e7f1a661defcd160f53607a53da9a0809efa632f5a4fd759c41020a08985755ac276ab2ebc3d4cc0908bae023100c43d81897ed84b4f2e308ba785104ddd6285b23f4aaf18e968a56742e0a4fb1caa2e39162cf2990a8c98aeeb8fdf69080302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500683066023100f52f76ad3a4684d56f1cd04db4e17ad9500aa0937973d8cca8e8e5905247f3cb7a2d0e60a36184f964df1be51508bba2023100c822e9440bd98478bffd705b10a9115afd8d5892c1d95a5e739fb129ca18c22bb1e5428e5772b6a48f854e391d1148650302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023032a1c39c2cfedc97801ad45ae5852cad7236b8741c82610749d13db51423b5512cb31582217decafa5ef82656d19b4c9023100c8323a9570e7b11b1ab45cab125d91db95cec6c0e4927854d9b8116fddd32b098732d34c93fa0c67762a4bd9439c5b1b0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023100c719967b9bd2bb2e78a06c68862f4dfcce8493127fa8ae5ee59a117ff809dbba574a66bec7ed3fd14198ef9a8e821e1a02304dde043b2398a8ba12e225d4ef958a498998e28f91a70a43edbc7846be9ad18cfe9fa5f190d1dd1d665c8cf4cd96de3a0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023100c924bfac3e5ab7f462e2daa7456fee3b60deb7c2f2e58a4f2b7880a04a732015b753c99e6a9c801bda3efc41f2a8aefb02305b5ba2d366e00d83a3ad4415edcc3b636deba67a45488631e9f324641bb10ab8d61d3b8c2fb5bd1124ed676adb921e8d0302047c435bb500673065023017a4d059260a2e70e309bb370b0ffc4c68519079f90c0fe92dc93657aff14fa9e7c1b76d88bb8adad6a4b09669d13308023100cf818c322a02cc14a86a1e0a57aa8663c9dfffd5e9e6c146f8fba715b97fe73ad13a28941c19dda4268048457113a5170302047c435bb5006730650230479806df55808332fceb2e6a1a564e5987a7f623724017fca4f55f16f03be56bb3608005772a24b615e807e8ad2ec3bc023100d54061beb460dbd7fcc4ab0bb73ab52e8ca16aae5b87384c7f3eb8dd2fd8b04d5f9084881f01c071d65c46bff0767e910302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50067306502304f19e8f2b6b91bf51d57c8775e4d37368b2dbafbd0443bb9845970d6046dad12ee54d0c80ade7f061e7cd10c8d2d66160231008d206a74dac67102ab7edbbda1ab992d37e2a3facd7ee5adc94d168782e8d26048684a1b24804dcd4eea10ec18fd19700302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50067306502304f3664b901afd68612e906ad205867400ea7da7cdef2a7c1ba59225991d61ce9d6a6c048aa74526b78d663f1b7f5559c023100fce1f6376ce89a81393ddb36040b017d846ae7735eab1795fb2c5fd9ce615368fb905fb3201ca3ac781cb937af40c0ba0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023100b8ef2cf8d865a920654aaffcbe1c6c72191227d93ffd0ae75e00d98c01b0bbf74809ed2430ad97650be86ab7442885ae023005b296abe5a185af852dc07507c5764a30817c261416d235eef68ea68341ab3f7688b796be96324620cbe4ada33d836e0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50067306502310088fd0fd1071dad0d24d9f8f35f7209191316106dab4fec4380585f449b01e7872351f5fa0558ab031453553a3e2dcd04023000c88e0f5aebc687fb79a7daa3a1b70c98290586904d30f6b34418a97bf566060ba13291601bbb2df2430e157706f7740302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500683066023100b2fb7b3a1a13e3280a0d5d22c117bb998c96d730c415b0d945b9111e241bc2d4bf1b0ae6e870658a8d604c46b5bbe0f7023100e4b633a201c55a5acc898a3f85734153e80dd0d1d1b6a60e73cd0914d847f9afb492401d16698b0891325e81e7007ea90302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50066306402307a09007c123716536dd72f07c3b9630ec0a5bca8c7e1bc26e3c3a2b836119c465d16d1cd2b95d2869680fa68973260fb02306b22729cbe90a5647152e3cbaef1b8656dd7759d7aafcc2cb94362543c092d5f19b65efa6d987ce291bdc75e177b28d90302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50067306502300a6fe41400dadc161bc5c4c61f2088d444eb4051e106111769f41e7d5185407d6432ce04bb5cf839390a3a03ac814f4e023100c5b2830da3e4163cfe65983606103a89966a67c9534ce67db378066ac30877faae2d384252b43daf69109182556484aa0302047c435bb500683066023100e80f6dbea8338659c7e280f154641dea38779d58ea269d75ea91b90a5f202deecfb360ac55b01234b08f201b39e59514023100d395b60dfca43313335967d985e99261a6fdf669607abe8d81da45e34a400b19b3f53e01da26e3b57b22c5dee73e7de00302047c435bb500673065023100d3f936687b41f4261806cdf88e95c2b65e6fb94a01150c0cebea0a9dfd30e0a6947c966f43990c0c259cae39332de94f02307b0711920370f5b78f4d9d07007a342d02e42002dbb51a87e4a96c9541787ac59452df7f0c73e345fd265e04128cab440302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023005b034c39d676d5c3588dd93252336f4f75caacc23cadc4449d49852aba7d47fda26922a4e3efd5314ec59f4ccd310010231009b82e4ae6172aecf78dba6640454a9aeba7ee10217cf63e4cc719144e789e3fae6b6f76694fb1381f33a38e8977caea20302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500683066023100b697350132b06ed571314a0990aab1e2587dc4ebd41ffe6f3ca7dbfecff635cb5a919c2ea95a69fcdca05f92f154e4a7023100fb3f040440f648754bc4fbbc4fb6d34827ca6840d90bebdc5b3af3dec4d84d9b7ed08fecfe8171b41f59414d82ba7c380302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500653063022f7bac09b7a0113120da7f309038cf1b49370c73d4615bcf748411ff5a6b8adbb006852c327b4eb167e99318ba3d24d2023043209b31d89b1980d36b9be420ecc141459e041660d0991b1b20b65be1242916ee1214002c2bcfa76d3ada65f67631870302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500683066023100f09bd1b4602aad07eeab2d43d3e41c8af948053ac77cbeb9e413c5adb071ea64ca3b38ff2332f188268cb1a14088a816023100fcf1817bbd57ad26dede30a406a4b8485a9193d26441a5e4272e2bfe0e5c77681bd5508e622531fe4a9487d9057fe1800302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50067306502301a5abbadd3fe105cdd393f6e0512b60339f6fc0c4e0774f27e5ff6b307d394e41dec27ce70fbb5f7da3c80f4976bbc6b023100f7acc636359093d1213130e65188610d3993d147002eea92a15610e330b17a82cc826b675a487a4f017c1c39e4f46e2e0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500683066023100b8959ac7c9fcf9922ad09ea5faa730dd8ff93e59a446481565a7b92de3ca435c4aefba981d4388dfe78be3bea7ee9d87023100ecdae4377886bfd9242aad8a15f66577de079edab0a3217a45c0bee326c6a260d86ac1e000b4b0d576974ce7997d255c0302047c435bb500683066023100bb10f40545d5500bcbd37f407a2e9bd6f740dc2b4c583de2b86682e531f044783949e339cebce26f3a38c22ac71cd201023100a633720ae503d0080c299b79720f62c2a3d8ff58fe61b4940a0d2f73d3e0f3634971152167cc879f00a047abd290cb370302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500663064023013fca69be971a049d97405aee813e6339ac86721f18c822567f8a8aa73a65850cae3273bf7e276be2320e6ffa9b10a6302303ab2c133624f1c1122df692dda01f82eb5b721a98d777ec58822fa11e4e681e46da8418e75b6be7aa62bd703de2c5fbb0302047c435bb500673065023100db36801d522947b490cd91a96fe0ffbe4d13cf0edfb9dd01107f382bf40e99d5c58cdda30ca61408194fa806ff8f4cff02301d45e4bfb31340f8d5c2053dd19d1e6eb87c27de546a68f14ce43d5b4edb922499701401e51d49793f4802f83ef2e7350302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500683066023100ca4c78f00ffe6b2916f3cb9987a897ca12de3daa63da40d3f7158b9867209757099271e782edc6f7085c102ff056e527023100c199ccdc25670b687038949990cca4c13a58ff584f51b69b7624d2337ba3bbb6f5a091bec376e606c280dd609728b95a0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008159890238a40764295b1a76e5ca35e7d231c1a14a82ccb3b3135e23fbbeefea53b7e489e69694a12ee02e8a5e3995f7023100cdfb6bab473e273ee3e1deca62f3512b8918f4c1e5096722ea685c03cbdf431e8355fffbbd00b07e54e75b4bb28533d30302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023100d9d88e6c153638d0f2deee894e6cf4e4f32a2512ce2354f61d454a5d799a48310681e009eca955235b270b6d104904db02302794637974514ca278efd337e2a00b37ff12a1cf8905189bc14d88df3a60bc28c9a0dc3ad966932c8ddb07474d55ac270302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023010c228b9da1b6a6f904086e745618021bc6d17e48f37b05e1633c2cf370dadfa23383e2d4a00ed8d1acd96b8799771f3023100c8c992e1ff2d03f7044b6e32720e55470f251546277b8e2f05726321e060f23bb076178f4f693311018f7c95aaecb6010302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231009a17cfbf8b58a729159d6aa9702edcc388c2c9122825254e6a23d2c41d92f2be696c5a8d3146feb923cda4a7f29379ef023100b0451581bda5d404dfca7dfa072d4f8e4f22e36ff091bf151f79ad78099abf41629f9b3c1947688fd39b270cd1820f860302047c435bb50066306402300613a630f5458f07cb1f664e414278cfb27a674c962a06b10addf510bf91eca1ef6feb1b9ed9776829b734568e0a4fae02303cbe5b537fff9124f2b32fa4594b44e773156eb7ac5319ae7aebe1cd3340ad72019ce278a07b3c8f33c1875921341a0c0302047c435bb50066306402302ff51b927cff7624894fac5253ac16e02ed4deb404c042b38fffa1eb6b74270faf7d3394922dc331fc780110bb486f4f02305a5727ab250644b57f9deb5c4a2da6118ce63cbf936b0f9c74c97b8798fa60a6625dfcb0a7a23d286cb4601eca7ac25e0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500663064023017192bfde980c940b1e3906a97e4f818a2c628e6c5a22873f3929ad74a6babdb2435c580b77bbad90797f47d19a6f669023034d2d5a22e4a5e59606342ab08bebfa54e4d2c0059e8226b19c1aa2c1840cfb4d7e482f627ecd9dbf6240006247cc0230302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006730650231008a16f9cff3b88851ba049806e3d4e721cf2af5463c81608987d3dff8c69e82e07108e6ee732122b652bbd5a567ad63ac02301c27355bd379d1b3adf6a687e1e3ab0c3988f4c4a2136cbbd4891728409ce8ea685489ae1ebddac8e75279475ebadc7f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023032cac0883a985b733a2b9432cd09d8f6b5e6f13b2e0a6b90622601a26bd460fad43cf57812833c0bb788bcb63bbc46d3023100add812f06202a6d2df212482f516d4217a2da96ed9038a0f91ca3fc2011a7204c4621317e196b398d9b2bcf02d3ef8e30302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023100b37dacc3c61a5ad2955e9b7deea0d8caa44c3160c342f0c2f6708ca2559c631a7f153739c4e7951c746e6fa7c0c6655502306470b9c5471f2ab8aec3ed646b73437260ce13de6a16a672ef3d5d8a06d61e67e9e48fb9355d79da4dc68846799a953a0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500663064023054442ed5e12f89242a4652d6734554d780501b03f8355bcc558c3be570e1d7c7063eb3d295f10166137c82da87912c5b023009c39894004037a279b6f19c2bc071b39d58d2e306e8f30f1ad64a33a74bee1902784a93d1a46835c88a8c3fc6bd9a470302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006730650231009889bad6cfad3ab2ecf43660a6f74873b4e561f65f7a1e1bf0b230321a15ae1d3823b49dc480a87b8da50eac160799de02302162de9ce529bf7af0fee47edbbf9415b6778685a649ea7366abcd714801644ec6ea7bfe0458c1295d1bd87d007ac1190302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023020c95aeb573998afb56327cbf67859cddcc19d8253649d68e5ce54c4b90b96dfeb0092dbb0bdabfcad9f59ba828a9ba20231008aede5db542ee2bbbe961f683457fae4ea553653708be5e1cc21bea5b41e9547d883b59df290f3ee3b372697704cfa7b0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50066306402306e105498669dab80c273751eaf69bab3d08c33aa71c8fea28321a16119a0fdcd305078d3585013abf7b800b367da4db20230566cdf643af0a4e7e6bb7faaf66dc6420674da120058e31f1cc54b774b912462bd6d392d620be520851298818da7c67c0302047c435bb50066306402301b43db7f51e3569908c89caa4d2bb5278fd0124cc292fb8cf50cd36cc6ae464a35b5c3a32f07e439f1832ac020fd170502301362d522112419956b4cf1915692b2fdca5c3e52c3d018f24ac2bc1894d13a76bd3e4249d8ca54c123672fe73824140a0302047c435bb500673065023100fe14dfc26f51c7b36f79c573879f535979cee737df1b671ab27f2ea2fb33b178d92c20619855aa53398b86440cc6303202300475dc86efafc0a27b2a6c96ef729294250522e8ab5290156390afa54a60221d001400bf5594d29bd3929312259ac9500302047c435bb50067306502301f09c2dd479c9c0285171289a13b3797f9fc76baa669220e1cb9f392d95c5d80687c679e29bbc82b38ea3a99a164ccd1023100de88d63cdf2aed975933301cbf1c181591c45fc14fa5fe27af970bd49d193915ddc4b34d1037cb1e72e896276aa4fcfc0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50068306602310093b75c2e5435eaa0c6ed1702fe2e7732567badd333cae803247929f93aba86fa12fb52ac67eeb341e254d928348233b0023100cf20a621b9dd98bfa68a08ddabd1ce71e5959ab5e02523b56f26e484fb0f68625970db717784ea618b3fd4f2a0fbeef30302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023020a64a33d9f1f690dd049bbc5e9ed590245390767ed41f36f42368b66d0c8ad9d048a2fe719ed018d5d356895f766fb102310099b711ea938e3a303155d826f14616944604cb17e0157fc752ce84674c5289b1faa9629fe95216e5a95e573247f1c4780302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50066306402305ec8a41f59aebc2895aa522b3e6f967597ffc63a8c7c88a072f0a310831f4eb8ab868cf45d881b5cdd912ce39db72a500230435b85732a1397824451b93e00bd707f2cb35f4776b387a446012fb9b878c2cf8467937510e9a8ffe4d1aa8a02883b130302047c435bb5006630640230068c9fa7f94a16646183885886e0ca0d7df32b6d62af2b1b3dbc48d8dd071277b48e0be2df3e7707a9b1fec643776dc3023046f68395fccfe61cc093fffe68d76779b6060583f09810cd1877cdc66ae93fdbb91a12b5cde5d6ad4dcf50544ffed46e0302047c435bb50067306502310084699b32fe2515de728df13512cc8febbdb38f076880b03cb401a91802c0c18d7e721d128ab78e3ecf595109f80448f9023002c0daa63ae9f9ec2bc8ff8880baeea62da6b8a65d33baeda410e77b64213ca4dc2ea41828039955d68edbf798a27b9b0302047c435bb500683066023100910557f65882dc8a0c2fd78d8b5b76f22ce6880d474b301bc0ef6e1557b4984fe63e4b4cd5fdbbcbc7a5c3f5bb23258002310092a4989717ef731a78a6ea950c28394d6a9a088c3bccffa5e59e6c81bd0ce1e28321c39ec98d345d7e1758ccd6b84cdd0302047c435bb500673065023100f9fead9d3522086b4808ab218fa45cea0f3f0885a172fe65f4465f44d60d1e9b9cdfa17044c385e6881cfef011230a42023052695c8687ebe9408921a38a3c333d2057f6ab33204d7f4239eea68b8885a6d673c461aa8fb04ae67e7c59e95141e62f0302047c435bb50067306502305ae35da53c8197daa7179e326cee2e66848b9d93fcdef0100e61a402ef1d46db2e55d19eb30b5af35b85a495f354514502310080b90e3312d316b4a5bb1a73297954a4ed98f14fb390f124676b10291dd8d5388af061b451b0f76eb8546185ce028f080302047c435bb5006630640230085177274140d4d75bda8477f99e6cc954f6ea58e92fdb1e8c448b26ce23e4072d7079f14abb71e936c9086d5f031f38023033dd29ccaa10c4427d3171f4fecd20f9a2ec82fe3e2505125adf37e583dc011cf2737f2d1048140289caba0c14daca180302047c435bb500663064023056f8834c7f6a0b61e3df8d4b0350bf5c6f1ad0ee01babb3ba155c82066db8a1228dcbd76c8b9d340a03f7aa567d5ac2102303d85efdd00cff0fd4556d0b68d0993c2e8f2ded33bdf2e813e51a6e5a74594e45ec54366207fc8c0547e9d54de9ec4350302047c435bb500673065023100b988686fc272d102ac380a313cc94405089b7d5a2ff6458dc816e1f52027bf1167e911860528c4eb37b085034e11b6fc023054e6da8e6dcb74475aabfc5220266aa05c930117067292b4e518a6b0d8a8a688b321ab796c21450cbd312fe616f816870302047c435bb500673065023100a452948d51b6f88f00f995f940ba4e4ea78de86d93f30a85eeaceeae89142a272afd88d8c89003aa30512a284ee49cc1023059f467b7d1b0fb4c812766f14f6b03c6f1e565df07545cd3f7e0590720f4e10f2c1b4efce21518cdfde83f9231af29a10302047c435bb500673065023100cccf83407cbe77be0f73a0220db986b0530496dfe7897daedbd7d52b91fde42a262a4a044ae7d7bc4cd45d9b7ea1b784023035f5b715ab697656558160f86210d99b531a89df48b3ce54424a5c185004e06922b4d453bcb27d895ea9fd4c2c1f6a150302047c435bb50067306502302edbb19a4b4fb86470bfefe342e28861fc354d21394e48ea8103d6a5c1ee22c9db11e12d32bf356dbba7c5a642eb64d0023100caad67d4d3df9e759fb72e658785cff77dadc1d7eed92d31af0a6730fe0564ba47995d43040fae3fdd9499bb62e01adb0302047c435bb500663064023074c37be8b072db584ad4c113cc65a09256e64ddab026d3a1c1578737983e92e8bfd14ad8dd880200c5468dd34f7f6b350230479f311a97072a0083f948b5d1f97aac6a0043c66293429d8e3cfeaeca73b3fa9550566aeed6f351e79a43cb9114f5b30302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023100d7c073706e4fa055bdb492295051b3c2efbc7cfda5cd551b7d63ea71303b8b2b130f24e85fc8643fd6f58fd5ab244ec6023079e1c97ffa19a8671c56bcb805c1d5c5835c262fc482bd3755b4766591fe387ef22d34102a67f4cbdd6d1853d1f4dd100302047c435bb5006630640230478d23c6725141a64021f24a2d4657124151490ecd0be03b3f515ef865a26dbb262cf04c47cac38b71dccf8724885b7a02301888be1d5a5c05d91802bac5f20108219a27ea0238e9b06262c87bd97b76a1650cfbbdb1f22720751408e106bae2c8990302047c435bb500683066023100a10300302dd2e6b5f0afa072380d25eb8799f3a8b1de84b412e6afebf79f6f5416263f6a2c450562271a865d5f949a2f023100be278faaa2c6c7095b14c561ecc99202fcc1c5ef4fd67c690e7899c41cd457487dc2b08b993ac28ec22a3885531a6b660302047c435bb5006630640230110e4b3ef90a27a54a1ed15ebd4bab2884bc2a7889bd1d21ec7a63d110226ed91269361d04628f0e5a526200d2672cd302304c67b1fb6931ec30c1858156e8c1842dba86604f8099ce4f3dee10424e91126c788024dd0f9f62d531843c65807f94040302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50067306502310088d69be4f7e8014d0a62ce07d17df90899ea4db559b1fd985a99097a001ab3f78deb0598a147caf1bdb6ec53dad371e502305fc1e60ca95ef36de0d142f7d0e333db9d19f82c002a304653c7dd3ab9204110cc9b432c38227d9634303afd258ca6d40302047c435bb50066306402301d195e4db4c551a07e46d896b60445cd88b9c90845565927988aadf4ee7de67bd79cdbe609fd886060b7dcda91cce5f20230060618880430d2d599fa6bfca1a13f3eedb21523f97e107afa8f6626448baa9ad93bf226e5d69c473a9902cc04966d1e0302047c435bb50067306502310086091fc14b7cf381257f2b910f227165047c8af331e46051efd747944a5642eeb117189a52bf293526327e1d1a5c1d400230437b00454d13e6295d90f96cf664028bfa5446b12071c9faca4cad77c3a804403873422587f84f57f3cb3565ca43ea8a0302047c435bb500673065023100fe05d91a20795fd927ab4b74dcde5359208ee20d7066ba871596cf31c0e7a7a4c71c484c5255bee78e7dd25b82b97dda023015140a0c34f19df5cefedf8e945962af8786608b08b043856164775be62196c24c093fe074413fc6a360a727f83d32180302047c435bb5006630640230587d2f916a7381667375ac23114cd57bb4035407a4e6b0c5768f4e0ed68aa35be59045feb3047ec6ae029b85e8f063d5023043e6f88eddb7e68a6a61f3c96be431ba6dea9cb0642ce96fc5a549dffbbe7d1488f419cb95a7723826b3113b615695210302047c435bb50066306402302d728ea3ab4bcb4fbd40cbaaf2a872e61ff19e0718189e1e4b298f8e6232598da564ab9fdb6132ddf2fb1546c7c23cbd0230403d2acdbe23c25721dbf1b3a5d735a3769417076c1cd7c4d4b34804d4da96a5e992a4974b6ae3338fd9af57e08b04e20302047c435bb50067306502305305dfc04495d2101c37bfd0191a4edfc547e429a4ebb5e470c241cbd39b5546b17cfab48f60c2d8b7a3bdcf1b94477a023100f5c7ddf656f9c2a53abd25624b74df138c6a7486d8fb014bfd4928fc59d994ca23725d3c619da4300ac339fe3364cda40302047c435bb500673065023100c6bb502f4c9c12c0f08a64c4302ccad46c2e4192b61ded08836f7f30e39d7da49892a54074db691201a61db6649ceba8023022695a800cc45ee7c47e8a0e0b7826d80281aef46925a1713c5fcbda7e4a808d3fe61f534d4232ed7dfe28851d7f9d290302047c435bb500683066023100ec673628cfd7e2358fa2fdb9be7b522e9c41ff82649fed29fcf27f844c3f9e3805ba8ba2969b50c75aed0b499ed66a310231008807be44a6e1301691ea31ab3eb42c3c48d9bb7c3149e4bf66a18a88a626cc847c6cb2dd8f637c1f7394ef09e99960650302047c435bb500673065023031b94aca260a37965a635e7cdd1dd8ce9c211c596d6f0d139976ab8a04df6818096de2118aeb20fc45796087a0c01b32023100c4f10f24eab668f5232015da098e13348cdddffdf1d57434d183a377260ae6191e2ed15100f36ae05c30a50ec03631e60302047c435bb5006730650231008c1cf0b6306574e23a755147b80b80d9ca34ef9b8c25da9f6c7ec539bbced2aed541f8fb86af0ca9057ea4f0f51cb2670230026db7e65c3e1b084591bbf4edfa554a6a3ceda2462fbb26c6d465606c40c0d0a83c81d55ca74697f9393a7f27593d690302047c435bb500683066023100dcb2de99c67b9a7e508fb793ce3744d2093eb8323a07753e8f8fa23a85eb1dc97b0e38469b6c5a6615dce65e96f70d21023100b57c20e80013560fa3e2e808126dbb19c695b6e2fe0939568057b35d20b8c8a7097ae5d1bf77aaedf90a589c32ed52260302047c435bb500683066023100ecbf608588e2010205bc8e93814961b7a76dd27955614bc563c909c577bab64ab35b211d58bc69fca4593d3d6c01a443023100d1682c5b9e6bb3f47ec098a3bf2117aacbbda4aa8c276ce32dee43c483177a69c07b9975f7ce38bf7711978751ed67820302047c435bb500673065023100c4615796d5158e62d8c30588bc88fb7e9dfca13e4205f4da9d04e42dd9423d2704d2e8c3f64cff357c3872b73c4de58602302ec1acdd5afae93265f4b4c89553c77a30b773283ffe0a6e97e8fec2f035218ae8c717d312b9f73b814169193ddcc5570302047c435bb50066306402306d86793c3dfc8918cb694141e8d54c115992a168de8fa9143e48fe0871284b0371484612d06ba3327fab75a35aaa985602307abfbabe90feed522435d63235cf4c40ce4128f55d2ce0e499a51d4f39b49f75c58c594982ea368d20cb22f7232ecab30302047c435bb500683066023100a3a33e0034580f9d5f2283f7445e13efe51fa81849584023b8bfb15b84d091ee62e558f65260e725fb2e6b876ee95d4002310080a716ee0d6cb0ada1705a4c020d956210f21594a4be818e048766880eecf16421ac07e6f69bea63e28e6f53ef93401c0302047c435bb500673065023100c2dc5b06fea576e9879bb143e74c3dd72a8bc90f55d04dd8475219378fdc470e40105ad4139b7899aa8eb9723fa5c157023065a2d9d08457d664b595de7af9d5e52f39ea2630d25bba0412e3b71c9e79a4b9c5365c370a92c4bd95df6d4b96881fe10302047c435bb500663064023030ffcc8b1a20f0047c2cba11629082d0a51150c20fe8e28a8868d0c6393a081bb2e849499820cc0cbea80fd1f5fa7b360230418a07b67d69059994dfda31785375e162c5918353d14671db95b3c0dbf4a0e4bdf9f39c362972f7c42eeb440e8289670302047c435bb50066306402301a34f4786e6db6663b63f876e6100d544de37f175fc8f4fb1d94a305dae4d35eb6ca2385c2152b997951f02f2107bd7f023025a9e9abc4e2e3d1198a0c16db905fdee2381c25633ebd1d2ecfad6a77848b7af3dbc2f9db1c9bc7325d5b5d385c66de0302047c435bb5006630640230434c874e6f2f951e5d921e9a7f1db810cd1039b8b56584650f09ac6b36499777a1b7116e13fcad3c283ce683f5b8124402306990d2ab840523ec8aa09c9a7013f2908c3bd5532b2db163759164ffddc27b71366898065dec264dc172054c2ca190d00302047c435bb500673065023100fc023f8fda0e9f644a39001b8dd6c1f8a3bbe99b915f625bcd359d558df45d02417224110c81f424af678ae2affe9d9d02304378093a088b33d1ff3f346d298409e0a4a2976bc45de6b21eb099a68b5465608e4f031da290f63e3e30c70cf96e24590302047c435bb500673065023100b43bb0ecaf69c4088d48c19db24d6789c06e45529a6e32131cedcf42a2673857c80f21274cc4125e1a6417fbe052f88d0230044881512c3d3505fc18169e5e60d0378c565e200536178bf115f94ac31215a72d82a2aff586d756f82c47194a7d23070302047c435bb50067306502307b716314133930ce905e4314d53ea337112ec000918265558cbde94adcc76da13069641b0ee135537918e231014bfad0023100854b385ea947ac4c767b38c807533c16f04234a93f6a5a23aac71edcdb07efdc2b8c2840aff12c4dafb1a84357dd1ab10302047c435bb500683066023100c1939aaa6bd24ea264006b4ad1ab6038ca1b1595b9e058496db650e0ea9b377f230a0fb3fa326654e7aea674fb535e8c023100d64e5e500ec1ca25bc233356d82e08449469d860b6a3ab5227993012a497d93d006dbaabf97f88f878203b11b05a16790302047c435bb50066306402304cf62b82c3b1c901766efc1fdcf1f4764754aecd61945dbe7a221b408aa085046439fef2dfa6c455914b82fa967b72530230612ee4d92ecfe86174b869067595d39ac4692934c7a14132394aa0b167779cf06692bc1821f7f4d8b76c022d257c5f2a0302047c435bb500683066023100c7418160f67f3760e6c3649605b803f4c2d6404f892345f4bbc70700df27758f57739f688f724fecb7e3f938ea1e733a023100d81985e447718404f05e633a295aedf09e7d47cc3492d16b83458f803ddb3f3376084d2a5b1c41516de6397c487b69ab0302047c435bb500683066023100b5569ea528fcfa5df6babaed75d1ec895dbc0a4634f4345e7d90a0488e42a52dc9fde699acbbe315a46fc6f1af4996aa023100c95e435a45b46fafd2733135d83392c4b753b7ed85438f6ba56b3949718b2ab9bbd66862badda4dc8a84233358abaca50302047c435bb500683066023100fb256355f9f60e010de8d8ca5369e7461a26aaa8683ed56342bb76afff52fba7a7fb1b447f4e191df961a5cfb5cd13880231009e15250ded1931b582a6ce97d18b5fb6cbd8739d466b33449076697e6d366189490d1038ab7af2233c0bd7118ab6fc100302047c435bb500673065023100975a41f8db0804c0fa9041c4b1ece6e340af65735e86ebe8d17e9c0cb614ba474853eaacfe4622565f926a2e6bbe0cdd02303bb501134aea92b7957160317d4971999c3f851d3697c7ea2895afee87fa8543cc2b640fe75b9f21c570cc128e7c9b570302047c435bb5006730650230666f828ce98a3af50a7ee2a7bf954c6fb2a75798a8bc234acd459768f0d504e3bbc781dae07e035755d275d5c8a31148023100f3ac72ab662e72efe535931713ec254b41bcc53529557a154280cbca23ef109055916ab2226ead2cff32533bfe6b500b0302047c435bb500673065023100ccc36a7dfc51bc3b9e41a4bcecece561f61c9cc607989fa6d588f2f8f982285ad3e4a5f9d6e83e8734b8b21392ed40b4023025858504fffd50d0e71753891dfce9700821865bd475576aada000ad40de4ad0ae3c1987eebeee3a9625c9e434ace9440302047c435bb5006630640230564815e6138b53fbd5adc3ac64fa9f42d9b8d6f2050ea2463e171117901f84621ccf94bc93097020d507acf296af3fb9023075e42181f64095a90211aa80cca1b9484b0685dc661965f5f6a6f43a478f396d557feec95dd864aee92b276e67c435f70302047c435bb500673065023100a9a273411c5aa3c73b6e335f819e51748ead8054249cceaa4d03c8642337ecbae63a9716ebec42c6faa2a26637abc0640230146f28e61935fedbbcc451fa9c245e1d2d4ba02d1e95a589350fb6b8e04678cab2747e8eb1fb95c17544a54b34b2012e0302047c435bb500683066023100ee3a8552551aab71958e2022f01a8e693d6b357843ca85af16183913f665defc2cb6c96dbe87f571be6a72cd82310aa0023100af099997f88400ee83c4788d89894f26beb3d35403d7457a329ad4631fdfe909b7f4437bd61926c94d12b5126b0f65cf0302047c435bb500673065023100c93ba7f7e8b2bb8c3cbc63942c6a3af697ad97fa46b1fb3e46e06b939a61a0ede61615152edb75e2321c3eb5db024bf40230631aaa99f15f08cb70d38774752f985e99b74baf74fc93eaa641d435ae709bac712d8483af923ef586fb83127a5e8f1f0302047c435bb5006630640230321865b029d72e05d608ecb9018d666a3059cd0476294224d2bf42c85f370e709e8bf13b4ed6d7dc9486d231628a2b35023032509c8e1bd3330e888798edf97d186ab39d23275cff19a2a2d2064abb91a7279b320323e6285a57561d5e9b1f120a210302047c435bb500673065023100f80577379d78502c58ba62a4fe3e5c74fdfe21e1b97044ce02577101358b77109f89332835fbc428eb9dd45f8db09378023037622f350322f17564dc96b762aa31dfe958b6547c05f3d7c56d1972484e1a0307faf4450a845e82efc7596d39d5959a0302047c435bb5006830660231009960bd207148b9c2ad24e01304a317c59ba9d1e8b58229c56fca2617256dff88a9e56718a8a464f6f871fc5f14696307023100ed1e1c90df0bb5d0c00aaf1e950e9da4e60f13a50f874f1261787b7ec9e34d761136136a4a0bc4d60efabd1d166649af0302047c435bb500683066023100dfe7bf150a339c46f01acae1fb89a5c8b03b0ddff80249c4e1d4b984841ef05563e33f15de95aba6fd24bad212dd7312023100c6658282f93269f414026513779ee264226f2ebacd294f024f36fbf84a4815b927396f7aa9286819177e666a086d34f70302047c435bb5006730650230417796cb7e7d2959423e7d86f287afafcc48de34f85dc3629996bf8fc62249764fde1425838e85903d6c130593a9cebd023100dbc077309b4cc8646fec3d7d9308029757a12913af349c1492b1b3c75487c52736b5fe348aeac1d777b945fbcea747e10302047c435bb500673065023031001b71f95133fef433bd319da37950fd082564367a8dbb046ca8d2417195057787e77c3abdac0eb696cc45b8acecf302310093eed240663aede7119a1416141217189945ba5af22bb885c4de6683a2cda7ed621a2bf07ded4d0f212efecbba7a6dd30302047c435bb50067306502305244c468ff8cbe5f2aea5258cd9f0f801a9df39dcd6d1b6af3c59028cc9bc4b5113e906dbf7d7af5d40af97aa40a28bd023100c8c57e5148113ff2996179c9ee702a6b791f4169242f10b7f65c54e7fed81e3cc7e7bb2a3d5e890ab4fc3fcf8d2ca4590302047c435bb5006630640230226d85d47d02183818881a011d4747180c2b1730fe3009f066f6ddfc35048a9515b8e985d7414fa68d72553c19449afe023042d2bff9c9cdb5bd372ae691e3553f89b6797bad28dec66c1602bae5d3b19aa858ca2089f6a5d23f30edd0f01c7152880302047c435bb500673065023100eeec69288f1cceba36d0874dbe588b885043ed3d229d606739c3894e37b47e39c96d2b5a540709ccfcc34b159056cc3f023075d2ada0467bafb3c9b9128fb89f2ab0dec74a00359dba66ff9674129ab7db029324dbe9ef35be88d40a8cc386292b3a0302047c435bb50066306402307406c9026a98684601e5cb511342ed27c2658c6c980270647cfa142deda384329525af15557705e0634b5509734356b9023059785233f8dc79cb19ea496167216889831e021cdccea9f4d778e892886a3c8d9c0f3f549e29ee7575c16aec23d94e960302047c435bb50067306502302ebd37c52fccfd404e4a2513c56ea79312673e931bca7f1c373eb81126562daed147a570a23c2336461e20d949573cd3023100dde3a49583cdc6437434be43d915980393448adf433a18cde64f8c67ab8b165cfb7fb68897956137678a0e281321e7e70302047c435bb5006730650231008c97806242ca810f0557458483d1f23c983788ad72ac3a7d2dd10aa816c45186a024ff32682582c9faa03f3293baf79602304369f03e6fe9cf5b7dbf0191d7993fe5cdc2ae71937eff57560f738a84a5199a07a88bca5441ca16adbae25d150e30590302047c435bb50066306402301a65bb586baf363d548b64eb44a705afce681d396a09274b2a52a14bcd2531c38356db64e889aa79a7909452f7d4e8b60230474629d5afda817f50bf17c501cced56a137c25f33d3c9efaa3855350db9e48a5ae07344c2d0f0e53b5579a2210cb84d0302047c435bb500673065023100a7c743e867811ab207ab3409e6798fc3e1d42044014edbfe2cb7399b3f75b81d9725b53bcaec79e863e4120848ac98d702306143be04555a28d4eda9643f659cb44f51c7e331613f84061a5afa9f29bd16e5d5f81f3e7f1b98dac591f9c795456f600302047c435bb5006730650231009df55560ee3efbb3655c47e83ae04907bf9aa2972a2fb01b950fa6bfe21e7c4d37b577003d87b7677759d056c9e481ce023061b52512b15e0697363baabae39203a0a4031406e2577976c79b0473afa7e5957f8001a648f105c53469bd0f44c2528e0302047c435bb500683066023100d6d3779cd24fb29a4ae37abd1cf4d49699b42924cea23989e73c6b5eac217c61b2cabbf97355d58597395fc132ec6b2b023100f396c593e535cd73e010b0025f201bf4907846896d1b046d44554076309641f8a73044f3563a1a21b7a4006d5a32a7cd0302047c435bb500673065023100eac93ae79ba5f67a9e132153c5e6ed2b1b5c1c0f9e3db14606c5c38ec9b7336ea64fc9dc208407ce25611994ea272265023065cf692e33ac1813fc026a328bf609ec18f6d204fa74bfa7a1b18b964e08a7ed6d162fa07400f113a4e883db12f751b60302047c435bb500673065023100efe77ed8274fef1cea7c2379d458df0b5a3823b5556b119cfb2db241be72edef07d39620de817d9658d7d0829ac399910230763b1919576ce4935491f97fba67af4f2ebacfa9884aed4914cc31ed01688abc0e8c7258c976e07d8556d7018c76cfd10302047c435bb50067306502300771508a49b89a47f8f033f7bb14772a4743932c17bfa651f568d49eecd642dec7bb7113262c737d8f7d2647091d9020023100a5d8cbef96909708024b83232cb3dba0a27fcb5d817e87379a75f9f458ef10f2bc6dd851b63fb3d69f3352ac10100d9f0302047c435bb500683066023100875a9db9169fa4e76d0f8db8f4d72127e8ddcc2fa92f9c2e2ea51d3355819e1596e3c2fcaccbbfa707302ed236c28b65023100d0644874b0ee7125f694c479518c42efc9d86c3e9e49691dcdd6fb8649b414c6ab9e05ee6220875bba12911edcf318050302047c435bb50066306402304efd3f1a78406d5e0ef6a282c11fc0f4df52855e0e6eb5b822cc28f392ebe8edcdab5143cb0190307c4ef6e3dc13ac590230302027622592747603d72ad63dcb86fa6207f7b01b0b655504c88d174e93b5da8fe1981c9210c2b8faf0301f576731560302047c435bb500673065023100b0f4ad0cc4d708f39744efb92a010bb95effaf964344c4b25e73b71f6f9c94312e0eb4b4c56cdf05ae743c7d87a5c3d5023041ee4ed8de5b66833f780c5d50dd9ee34e31307d83ae959c0d65b8901d939c27d82dd86e0d31f434818e02fa94e7c45e0302047c435bb500683066023100c76d36ac9ac45dfe0772ea13f4c8adf5664780080b033afb20f3c474a691067447ed9d8517e98d2b958cedbad45d2103023100f76da8977f7da523c5ed2d4cbeb9c6789a1501b895e84a1c11ddaa48b9756913b3fc4395e521a0473ded663684dd617d0302047c435bb50066306402301da0b89d32b2196b50d017128d742ba875dbdd49ccafbdd927e9e77710767b1d31644b263517b59a3876e0a20d612fe30230612e6353006fee77e0cab8c728b1c06183edd35f5f23f6f9e8bd721205ba4b1c261d57f49ddce845707e6198a595ecfa0302047c435bb500673065023100a57d4130155c2f97fa292aa0d1317c2a6daa79abef5bbc999a7d762d4cb5cf8e70c6d68b83e265a3fdd1d3b96779fbb202307adc42ae7c3af219baf86467b00803975bc2989c915353f2b60383a61ac33d9a7c620abb6bb854ea31a254438efd77310302047c435bb50067306502301634ba3ed338893e611befd030242bb3f515e6efb0df9abc7e2b8d10465273464e85932524d9a08776e4a294e5bf77ba023100fd575f630a1d482328545d61306feabd4b83867e9d8328e432280fda939b7a4764edd80bb68852bba422152a24ac040a0302047c435bb50067306502307f9c91b6aa2b01479b4aee800a27e40b8b543580f78e1a6df5774e1571d4c7a4801d2186eda80cef78b6573eeb39dcf4023100b68d18a44e59c127007ba8a37e81bf03aba9cf2f0a33b525a76fb06cfa1d1f93a8d39fff63a554a7e2603427ce0ab60b0302047c435bb5006730650231008cf9500fd8938d41e3750dfbb673a6c1cee68b8eb93c9c009bbf0f12db3708750ddebf85fa9abae3a80d8001f2f21bf402303dc44042ee7c19c770e730585d47ed7d69307f6cfef8bbdaf39fda20eb838f301ac34799339a5c96370a392b1f0a659a0302047c435bb5006630640230609b072ccc5b165e24a607179b9e5e22a81c6879f96ba404a536e41bb0ce141435d506d583679e4261c5f52b1292548102303c37ad13aea060eeec8197ff67b9e60230f0fff4a93930748b4b1b3d4260443f0bc33910e94b569205bc252ab14a92fc0302047c435bb500673065023100b0d1f0e5208fef84a9f81cb5662ed24e5c3153bfaf7ec3dc863591eb42826714ea251a887fbbb6bd40d63a28759d4342023067a70a7e7a4a79728b11e932c80d6a5b2a39f1f2386ad376c543376bbc11a5e31d1aebe941d504f1d196374f9508e7070302047c435bb5006830660231009f52815492c7d88adce4d93d3a994f2e383d83e17e89ff4d1cd3b334e9e1cd57f5a5f0f22b6feccabbffd8387c6bef4f023100f2c87305f2547bd1223fcf049db540315ff50606bc092fa49055979926eb6a70d68aa8d25d07ff245b1eece6626c885a0302047c435bb5006730650231009254554a233e21de472289edd71bbdd91db1b03a438b697982a3c12d5f2f0bac08b15675e7011e412bf57cf7eeea7dda02300e4066af78501d37d391febdb7e25ad025c36851e3030c234252e425666c0163090176a6114488aca86ac6d9b4e698830302047c435bb5006630640230668d7f72c1fe1e0e44b58207cf51d0cfe935497cf313eae162cb5652ecf65a9667646b7aa669900bec8dca2b1624ae3f023037da036a7f59c3fcc90fd95ae54000b667e40120644a8e5844fbff2dc3b1fe9e07d6db7edd637be247bf4162e01301a00302047c435bb500683066023100f121478a0be92217638d37f77fc9de9eef1c9dba04f1abe7613ee3f57e85a349b2272ac923063b9c47f3cc905f05395d023100cc5913a0bac90498f2a6ac8d0dcfff0828f8dd712fd9d19d26ffdc41a0d0013fab3e34b173c49ad782611c06b35273f60302047c435bb500673065023054a38d833859799135d7c07149261450191ea02afbd9ddd4da83594d6e34823b428b4994eb8fb4396c18e072f033a077023100ca0fe205e19cce4ec286df68c0bb483577305d0dd4b77273b4b59162ea0d4d56d1a47d5f8bf06b6f7b79bfb245e22bd30302047c435bb50066306402302431458dc4876403935cc5b6de6604c329b3fd154420be832ab97cc23feb815b34dc5c8c9d735023e0bf2b3c35b075680230614d1741f933f1425a0e9c0c35229057682a676f1cce31987b8f3e14e47a514033bb8f9c99651a73af9413b181ae75390302047c435bb50066306402307ad49fee8f027f0051901eb359db42010f4a1f47e4a51d045659962531ed311b646ad75598c8a6cdc789452946672c4b02301a04ee9bf267c049497c6487f386369286efda1e5f642e952a9eba0db7fb7e4b268917124e3870a2ad88c797869865bf0302047c435bb500673065023100986d09a8e5add257e4f27711604ed2e41dff9e60b59aa2b759bb809d2f150bc89a2d45ecd74e89f1c16602b8ce5feec402305407afd2c7ef58a27983d7d27391f4d772213977ef3c358ee3fe607013a00d4e33eaf2afd241fd0fd0103e709ad7cfcb0302047c435bb500673065023100bca8ff304fbb1ef436cbe23484e5778cd90f20db56547acf2f4fe9c6e1b0830e47365ccef22b8e75492f77381440d67a023040a3133358a3cf5e3998d723ad86a173a3f2f44013a1d0e5706923fe10f5e7b0e07686ea13b76f0e04a7fed64f52ed5d0302047c435bb500663064023012b5d6c9f2f22f6b0f82a969f261835559ba006f5c5973d016f42f07db35c8d6ce7f48484cac81093d2839961018993f02305172a62daaf23b879e40eae60b63b3f0f361e8a706f3d173df13dd3a5ca9031e26281f862d734be26cf8913412e7e2f20302047c435bb500673065023100ec59e429896c044e1de0f4362eede3fddb9edc93222073849bc9790b05d1025ee236cc2e87bc9dabd5208e4128adb62002303fea3433d45e284751242075535000dc73f9daadb607b0b236edfbde54120112186d78e9283733f070cf7dba4f6763740302047c435bb500673065023054bd6bb1d074809b8ac3d46d845110e4917cb9eb65868aab9794f413f31e1f0a0aaf3b6ef0bbffdab582475f8b820987023100da5404bb65a64f942566a79cb71260a05e4fd51664c27f5dbd83d601d83cc125ddec02fe726a180247f8f04833f202c30302047c435bb50066306402306eef04adc2c1f4c7f69e09bb4fe5ec49064899976ab2613c0f22c61cd20993523ae3b1b7b62800d9ed7044d709afb2c102307d590f0a2091095e6b8c1c793174b90e6bbd179897b654628cabf5bf85bd9587487c93d48976da755b3abcda4312b5e00302047c435bb500683066023100a7730ab2f26cb6209e468969de56dc66e7b17d1a304b8106fb74eae7bd078fe4f4c07f67dd5443563f4a67954cf3c8cf023100a4e793b07501fba6eaa4954bb94a9466dde00fe2eaf60647ccd7fd599c1636c9571943ed2d369b9ef0c62a9f8d295d180302047c435bb500683066023100b6bb0bad6d694829d281b647875dd46ee00612395c9941275bf87db29840bf9e7575abbeaa0649d4e06d527133a85e52023100c78fc429d229e8beeaee1e13c6361e2d30a80792fef8f4a38ec670cc968ed3ca797a57b29c7dc8ac78aac9d53f161d2d0302047c435bb500673065023100b6367535b02c9e0aefc7fade87de41e6f4c53141f4bf3e5d1daa9a11a9a2d3e6cf0a4db8295e19aeaf8dd1c3f609a00b023008673e73a074152d0241ab064dab358e0037ea897deff5323ebda58a423203341333aa3eb3dca514c161a6c76ab1c7ec0302047c435bb50067306502307d628b08e32aaac487f9cea67cff59a9bc56c67e45664383edec0f415930d621a203955fb4745fefec60498e1ab147d802310088870190b96c761dfe281812ee84c28850cc20cd248dd8e223114ae48b4cffcde9f43481bbef76dbd9149e19e6a854ed0302047c435bb50066306402306a45f7b4691a165af1f770fe2359b4c9ef38693d57ae47117655dac0c81b5c3603620b74a6ecce82747c0f4416554bc002301453d7c366c0720f3fa88092fb4e8edf168a1b3417a8fa6d24b8466badcb446d636206cd18cf7217528ec19f1a00de880302047c435bb500673065023025c561ff5f0e934821226043c9f4554c18cd5d532669b63f6547e1c4bbe8c2a998fe5b4564d1cf812cc05e96ea9c2b8d0231008ee2addd98078f6541647e06cb186f6d802ab6c63c3ed5fed15092642693915b6230c76009e413f75046c002ebe2f98c0302047c435bb50067306502305adf4d27c74fc87683f03afba3784d4e0fb90a733b075c69a0980a073aaac308ca929a346a81e414fc89fcafa94189ec023100c91100c3e46ee858e9de1df7da95db94877bf75494af2f9affe9985feb661364fdc8aeddb35a2dd2f5e573a06c3bab810302047c435bb500683066023100a93290c886f86887d6fc026491cf6cca64e3e1da0ec8bcd2a89917407995bb50ab05737d780bfc7c9b971e750315a8f402310090760c799c4dbc970c07bbd0d9f08c4a77daeeb2d91260dd13815ad699692feece2460d7317e2fb65ec67a0221709b650302047c435bb50066306402305e66399047823982f929b48799e85b895cf31070ae5affea60d7699b2299581190621977b024766bc94db35d5bd053db0230711d38f01555361233a9a0aa331b21ba2cd6c1c590c6a01207c6ddab6a304655c7cf23b560aa3a368ba860bd266e429b0302047c435bb500673065023100b9f511683dbb8f716d309417f6a69402a1dc8944aee49ecfac4f30db2e8b964606f104eb93497fb2721620485da486ee02305b71e1e8e4cef6d146260eb2bdc25c1d14de2c0e93966c8e321d27a0c1bc04e0a6aac3c2d6e8f4ca28495e89a7d9037f0302047c435bb500683066023100d85f22d0545550b4816add7ae292c0804c2309fcb6c0aac7bcc418d984f29eb492b87540a45b98dca603fc2bbb709f07023100ca00af4943d10f116c322f19942210653359eac903fd3b64536e8e58f63650bb730b74e4df554338edc06d5d5ac889680302047c435bb500673065023033f37ba57ccecf6a1c975b8d9367f87bc23920e51a4754f53be62a7a64dc6baca7e325e1da6f3156cb6f3528c26199be0231008b97e1027ccad1721de07181c97add28d288ed0ce24d610b138c1e27fef176c5d8aa37f933266300fefc33b318ab51d50302047c435bb50067306502304c547939149518900ef2434cc5bac6e749fb310d7576b4abc7162b151552a121d511e33acfe165246673fc174a091874023100ec58bde1beab88108484ce951bca345bc8322dadac37fcfb9ed7e1c24d7f439e2f6d81e60740fd37ee5017aef6ef712f0302047c435bb500663064023055361ff74d914e009c13b735a49de4399433b76fb93f8c7ea9b44a9adeccc103d3b560be8307b6b0f8ae9ab611fa349102301730a1969114f949fec3c6c66b94254a1b9609b1a9cde60529657d5e4bcef653761099402ce60285f11c443ceae911e60302047c435bb500673065023100b385c05d7ddedb4fb8a487d56e8b39ccf80801a1cc30bf1899468fb303ad4c12361767a1751159cc0db715a20f81272b023067b0c5d0a93b768f5e66368a4bc6fa68525ab230f734a4129e79e497ac841cb687d0471d2d3016852a979e22bd4b08ef0302047c435bb50066306402307284aa2718debaabbc34dff9f4fee2a541ebc44383aa0005c4d655a97e2313f37fffbcc046eabbaba1d6a8fe2c0fe2b602307a8903231c74eb36d1387484d8af50e93e0a9da57ace303836f145c60e6c6620bf1f135ac9180645f9d39d2ff5a947290302047c435bb50067306502302ff80ca7c4260b78ff2ce2dcf164c60a8127f232f2ad8e17a962fe7bbedd9c1f3d11919213062bd42291a488e91cd692023100d1ff38af8d0f27758150316ea34f3826d5242500c2ede86015a213c4aad063a2b4de654b95c30ba80b4955859caac7a80302047c435bb5006730650231008bb18611135d6a012e8a7967fd0aa15ce892a88f54d5c246ee5a20a5255d2366644a0db865061ac6d0244d038708e41e02303026c883a5493f829e478717006ca7c2dceb0a756e8da1a50567382f5bfb4085abc71ad43badc38cab0813a7fa5047240302047c435bb500683066023100820a9e8d454eaab9608021ad1ed8a61a5309dc0e209ab09ae9553f500ecd0349384656194abedf6978a6d99de79c395c023100d5eec33e3d51308730c36fde0b211372604db682168310ea8b69aa592619b11a68c71f06a5a2410f2a65aa77102281800302047c435bb5006730650230222df7a613fbc99f81efee00e7ac2c5fda2c0eadeb2497cd6773f3f8f1fa45939f92b37d1c575ae0bf3322b061ec8876023100b4683a488331964ed7987069324b1b7de5ad1b04a115515168f599b985049b0a8040df49c39e512256ca03edc395581b0302047c435bb500683066023100b130541602601a52145e4e38b894d991665270992d50b66b222439d2a0e3f62fe4f40548e2053b36087085938b299a6f023100a6c431d6794081f524a10849fea65cf737d43e2827283125a03418ed15cfe81a2d2edb736a5963de4afd3428ac9715420302047c435bb500673065023100db6841af0c6ddca250fc130b8a19c558bc7a18940e3addc0706b026e8e391a8316774b1999423d9cdc30189d43b3170402302b1a7ed42fbcb43deeb677196ea3c737daac696284df4fd2d1da9b1697cd672048598c7c8488fa5f5010f1d5a2ec94e20302047c435bb500683066023100e97437f1d82e1bfd0f25a36b12ff4571b557f7768b9c567ec975a7438bfca7bd8bab11bf17a43687bb00bf7ef2b82f86023100878ee51e330890fc8d27f20a7bdf5549247f0b2ceb0c0aeb21a10fdf5a013836e7788ea5483a80301353bf5ed8a423b30302047c435bb500673065023100be755bc5f301fa4b5b50f192a52ac488358d0d842565099861c76aaf2b4ba0cbe3091eb5e8325e8b2ff44f24c3442d7102304a61d6e2d2d299d73b280f62596e8ec0b11e7fa06569db39c936ac6a8ea13d546e9756f3c7e684502c533b80d8edf8070302047c435bb500683066023100a4b972e30b5866d7260018e0b58ed9233855d745c0ce1e745b4633e185f30cf009c8bae07d150340ea7764ec3ae328470231009aad241ec4c65499d52b67c896a37b4f09737906a90dff5526fe0c7c655c2e879790125129da223b05844d866312e51a0302047c435bb5006730650230748370d53020561c850ba4a51a9d717b6a0cb934f4328b9c87d6f39b8f40df71a9b72f2bf331fc4c41f191373a959f5c023100aab307a641dadc6e8b116f3921453e4d509bf0245a5778752f2819fe0d87759a4b8124a2e012edbf596de6fb95e984470302047c435bb500663064023047bb22a4923fab345257b6a70a82488ca84d784210e1c643587c3e993dde86471ea25373f52628e164c3a2fa3318f4d502304e800bb12e0961ffd45745c75b8484cfa2a3742959552b7254e03a7ee3b6c510b77a763ac905f585b55a5e13d05b5c610302047c435bb500673065023100aef6389d4aa57e3f3b595d82418933c372eb3180dcaed9aa286451b7e738824303897c9073de5e663a61adca3d8b29fd0230138b8c9d39ef916f4c73a6daf5abad3c39ebd181d64e0df93c2a5ca1b677119385493a4f9ac8e4a8a660acc591d63b930302047c435bb500673065023100c7dacc5e88a0bba34d344142c33eb81e3d00b7875570275fa6c65e23a7e48beeb325936398a6d05e7c3b74e93d1be47902302490c14db400a24b09b7cf5a3ef89f10c17c3c0a05ff943762f4ed5fbf928c83c848e85b648b3087ddd3716dbd6734860302047c435bb50066306402306f97ccfdf7af5df44b3e9e6d4611bd20e5259145dca9f6e48001851c79e530692866c809daacc5610fce675ff0f77922023064dea7d1909f023a30670819a5e28bacfc854d2ad1c9d4d387a4f70c5fc648d425d7f951a3796b341c8ba103d6c22ed30302047c435bb50066306402307f025724e4de6e18fa8a85410db380e57630df6e96917ca28a9debed2d7fef418400b02eada0c91becf99e27668a291d0230688baaa5a3b2561ec405c3d8838d3bfb4d65ebc1de1e4e1a0ca33cdadeb71daaef47e4deb86bf0f70c818686ac3416570302047c435bb50066306402306272b9ade5a8230ac599d5d14ee93a37c5c96b22804c723133915542299dfb5f030fb8548b78453890e47caaa5e844b8023009163c7e404b2c1509ca0403ec958ceece37ca40be02b42378e17fc279fa7c0dd797b92f82312903180421ee9628b5a50302047c435bb5006830660231009c569390d761904d09ecf7256008de7591f820eb1558717bcbd995aa022f504f331b23d5f33d51c8bda0e2d0657bfd7f023100e65dbcb0792b9b1dbb05406d86ed26d5faa743aab7d20d3553fafabf100fc0a235bea2a902b0ebf55a49012eb19b12900302047c435bb50066306402303618830c1642b35e3c2f3944f86bf380c17188de8620696018c06373445a6de7c8d86e93433f2c39c2a0083865f08c4e023060b84220964ddde9ab0230159ba66700c937fd360331b857f1683b448bf9af910de75bafcff3730e935622e1359a04a10302047c435bb500683066023100d44338c8143452080dda6f3a8ee674a98c0d0e8bd33dd602720607789b49d1024d260327a39c16e20626b8ab21fb1ca4023100c52900b9ed2d02bb7a8dfc872c5569b4934b56bf11b282a5d6b6d83fa923e94c5e94126d4c1639cd8b585a9f920eff0b0302047c435bb5006730650231009ff92cb5e871cb3e745a22e10436956e43b8b6f139a8d46277a4accd26c5b8711da5b30443e5778459994e462858e08202304a2a6d2f60223bedba51afff5aee7f33ff0f51c3fe13a08a111f3b62961c03da90645e212edb918b67d4696f5f826ab40302047c435bb5006730650230233ef6fd717877a087eb3444d92df3ce1fc428dd9d3022f651302322d2f24af77c12be5687967f2530329cfd478a39ae023100c36aaeb611db10b16649488a845c67eafdf3bbe0b67b3871f8263adecc570621997703eb68ea4608f0c9e25a4c196f0e0302047c435bb500683066023100a3790eb933329690ee04e1d4a7ea62ccad143e88f09424bfa24bc8275850aab1646edadcdea9d3017e109c95ba22669b023100c846968e411d4c6f7843e3379335d2148b12546c795fbf68b2ca7e6f4e07eb378b4858b778ca08a2f87b469cba15a6260302047c435bb500673065023058f3a6d13ae0b6fb36aa76ed2767723914b2dfdeca185c648d4cd965b9d6e405186922ffe31278b9093ebfae1e873540023100cb0f64da64925b6b3e14b6688b54425d85114128e6a31d39addadd842f6a7ed80af391133e4153243eb4fc4f8a0ba02a0302047c435bb50066306402307e52c82b803541d028c067d4f91abde08540af5c16d44bb10c5a22f0d17dd10596e90dd8872a3ef48836295b61c598e102301031401c08c3726b6a0ef60a364a8d0a26d08408aa42ce86ac3516e9c039b5b50af7d5aa90fe19fbb6ac31a61498e4b90302047c435bb5006730650231008bb01d6b8326ef4e28525b55a6dfcc53582d31e34573a23b0f1fbb53bc35414cdbe1304c2512edebc604aa1cf626f65a023031af7b4e9037843535502a684919dc5eb2fa6f9e6109e730871fe3542840110d7d27f0a959cc93255d6edb5f04f1e2c40302047c435bb500683066023100b68c3f7d7daacfa113fadeb1b87c2fc8ccfa4ed5a2ab27d1935ba9d5e93e224175d20162010b6d7d537d8006c6de2915023100d4f4c1e4626b46ff02c9ec4f7d5f0589f4ed6e4e271576bdd75cabc1cc424aa98d70b7086a4325a38e2d6a938a7741860302047c435bb500663064023075ed2b1f381ad210f00faa7e86841d5b9b01421214fe4c11740d19417fabceba961a2772cb347617ada71c621383d204023029faa64b9f6ab540a2946342ffaa51d19eda744a5a3abb751c2859d93633f5196b0e7a6a144c8fc5a26c54501964d4b60302047c435bb500683066023100cf1e17f7bd1fabc6225df0daa79fb1efdb7df866829bc1de229199ea8a8ad99c6b07cf81268ea34a3687c57fc2bc0c8a023100cbaa0a62ab05b7a49f6689405baeb7ca291374715c6d5ad94c16f31af845a9d75715864e14f788a657143f44256a3d190302047c435bb500663064023053c6a81eca490063a956304f060030ef7543cf6b8b94c86543d24ec4f2f7ab0c4344bc0653c3c5165274cfac8709f81e023065f13a361f1d12832c30cc8c1f5db2da8ec829bd459292ee34c09c277ffa0356d8174acc7ff13116435c4d9594e7f2f80302047c435bb5006830660231008b9a811a596a627ae4078b7e6cae9d419230a601a86cd3fa0d9967e50fde9e0ad7f9e4ae3ee327ea18b174155d420c4f023100a8034e73c6f12c7c2a4e82021f9fee34b3d4de81064d72102fc1ce92f22397c9e928c109a870ccd276bbd4863837e0d40302047c435bb500673065023068168f5973c9c0c41fc789756c3d49e771dc5d9de0f24b5188a1d2c7738cc1649224f1a2397cbb704a5e6c2fa4353784023100cc04a3374a8f4441201e5e0248b3b717ec88c9cb2b12795957ad94128efdcc8a5a2f6d77b6eae867f82112c7262ad3660302047c435bb50066306402302119b28c6f74d93023a20383f5f9cb0916f1b2fec4cb0b45ac6051a68c22339f3250976320eb30d69982b9941ccd1258023053c150323a0efd9389b574391b0c8295e6902943ed9ede9652949708e3333221bda67ab7bd3be0c360ce35e0968fa5750302047c435bb5006730650230252a9d9d4942185bee17fab3c57913e233b68bed4463c29838e062b0055c2ecd3b0fa0c4706138dcb91055175546c0c5023100e98c2f3de997b0a64450768de916115c13f297aee24d97c10b7e5621cea7583187ee58b07fca71448bdc5e98a23b662d0302047c435bb500673065023100dc6b2f9829ac7a8dfc4025dbd67d9fef1564b4b60073b4c1de07d7856008621cb9f7699c7a179e36bf201cb1c961170f023026f16722db4eb4535fbeeac30e28e4b2493cc3439835ddc45f5350a9ac422209a89c3986da2665a5f1cc783cf92de7760302047c435bb50067306502302e398d26a812765541d9bebe3e698bd641054a0d3e828819a581f5b1e2fc4638c2c6f8f8d42d80d9010cafcc0e617afd023100958f19687081af2d6f6c4fa690fd6811c27ec9d97eaf8326a1947f19f78599506b934743ae8ce23dbd7bc0b074564a760302047c435bb500663064023035c4613743d650bc542ec862298aff2acc67a5770cef08ea53f3fa064b46d83720a7706022c888d334bd19282cc8704d02300449108963c8421379c513ac78733a46eab0a25d480b6261d557fe30655181114a1dc5ed87eca04ee9b57496c8c392c70302047c435bb500663064023048bae6af523449f6d292c316b833472657266575233c07d26d25c30924b504b3503185810ecb1cd1563aab41b9716ea50230430b6d59bf4f1026f9d54adff76cd373e324b73148f63de7616855cc9968c9276d64fb54db645449beb9194fdff11caa0302047c435bb5006730650230666848a54588285fadedb54d7b72f5be66ddf29b7a3fd5c1638cf3653b56f76b0b1a265f25c5bd353d1a42b64e888eb802310090a4d0eee62604467685e5baea0f510fd1ecd18a4128976085fb9c008ff4fc5b5947e284e17d5a32ca1681087103b4920302047c435bb500663064023061f8cb205cefd585f08fdf016c039c085053f49eea8722dc222a9597dc86a9ea782a7de1164858e37113f4016bf2f517023035c6dbc09aadf3bec0dce3da668fa41e435bdcb77ffa24190c623f076d64da887947b15afcfc063198a40a6b3b4908670302047c435bb50067306502307bd583fde21bab782b9be95056639712fa8ef77c7c67927a2eb677f6d0f2c13c0bf431ac54c265de8d9a6451c970fa24023100c1b9c78539d2c49f37f62e4c5cd8e90e98b1510d8cdb2da8bc0ee9fbac6e2fa0510268fba302b5a07ec058ee9402517c0302047c435bb500663064023020cf853077d22879bc5c73e7c22408c195b1d0cd44a430fcb3da5dde53485190940f6a56fef4b0d9b9e466fdfaa23b4b02307bcc726e84de6c04c5e5c12b39ed5902110f1d2615db5529537f8dab1085cab51fd98c12168f5179a8798cba938e6d460302047c435bb500673065023100b58a0bb95db910536a2baf4633e07d5fdb699f033b4800850331b8d3bb34713274386cd9de95686b93dcf108a03a864c02304d4d273ba04468c1614c50bfa5315b57f853285aeffb11ccef36457b24895aa8973b83cb68ae8417f07dd511945762040302047c435bb500683066023100bca506f67e30d1d034cafc7ad293595ac68f154a930a663be6da3f6733f8cb82456b3b6ac97606ec5b877c7cd0935d08023100ad758ef4f914262359f7a6e0c16ca37ee460005e0edad546c9aea552fb3800b7c702666f86966942362cd13cc9e6fdba0302047c435bb500673065023100d0f574d3ab2d1a28ef179b48e11bfc24b605b552842dcc4b3276bdbe5dd834990b5c4503daeac53fe974ef58d07d839c02307213211d7a35b53dc88da22124c2fc0d76c0ae5359f96176e70c50f818f3423fcb9cd8bff6d206c68677421c21ba207e0302047c435bb500673065023100bb9a10936dfe8b28a9db25089d98ef5f4e27eeb842362c27ae400e73664a6bb8e32eea89764d0de7bfe9180f4eb6353d02304baeb43c8139f057284c1de02c027d2a738f6f4baf734b50467d40cfdcaec27f4a55fd4ee931fec9cca05b23c966d4eb0302047c435bb50066306402302e8508ec033bec9776ed8ac5fee1d88221f078a543145eaec74c2c0cb225d7b0d7857a4e34ad2190456ad683568865ba02301f67b9216a8bbe9deb05bba4b022329b57539798a76aab3aea5e695cb9177224c80b2a8ea0cb05f518ccadfaa41425920302047c435bb500673065023100c67580ea60c691432794b75c40842428f0313b2611fd182bee2d61e0fed90f862935bd0cb4b2168f26fc190c34d4a209023053be1509aef038b6d02ef09027211af87b7e4fb983c03682b3096ca2c148df4e4677bbba90bef7e95b8667e751d858d90302047c435bb500673065023040212715dc66a842c864a26f9f689e06732e550a60e915bb4a0cbe38bb0f7d7de0089127906c86efeb1bb606bfc36530023100daa0503a6ae7209016afd50724d1b4192e3a92b04ebbfc8014bf22467cb1a7a1d9a51ccce5f1db5541e21d84ddc328820302047c435bb500663064023053a523dfb9f1dd895f759e607cecfe8051ecfd3a5eb359f06d29d6d2bdb24d8669b2b10592be70f90e814d51828febf702301a10aaac9cd81e22d2449d3adedf6a788373df99db269e3402f24bca30598dd8f718f74d03a250bc29ce5896705c8be30302047c435bb50066306402307fa30d749b1f95c7b503dd587e261224aae473fde0a1ac649223aa3157f20a5902df54783f7980f816e645cf3244d3740230410d6a30ad7871140c113757042d30764923d6a7a14b45987ba2f53a1d0421cab2b22c45c3a20523ee02551697b0a0d70302047c435bb50066306402300bfb8b7520a47f0048a9dd087d19ecaee8b98aad3db58c7cc2d8272848894d1f6d51098f16a4676d7382ef9e0943981402304e34e482880bd84cbc57e62f6fce38bda4ffa78d3d9e79d149d2f593c517811cad8876dd8be529da4d761b51101a189b0302047c435bb500673065023100d017a088fb5f1b6b421cbf7a991913c8958dc75fd2aebb7f5406d06e7f0c7e94ee3f3389e26b1c11504f5a9364644d3102304725b2498273687f0e2bac6b73e8895958e699e8def16a4aeefa96615cf727f4ef3cbff95bf25be1fd9442d37c87317a0302047c435bb5006630640230610ca85754e6aae9bf7a5919cc5079771943f1277064edb674fef5ff75068f977f5ec19810247f827b32e725b1b7b82602303be7fc149c3551a6ae0caf0df92e157204cd40288943769ae7ec1e5e24b73fae6613ccfdd616145d5718a90614175f200302047c435bb50067306502306cfdac0e656fb3fff6819e8c7669df5d849c47cc44587d66fda8740654d078e7b27d4528b16059af90d1852c431836d9023100f0b11d317e4c0b31a2262d881e41674f1ebb872064bbc8c6417ef9911c307e638ae0f4e0e9a6b7bc78067450c13f22030302047c435bb5006730650230137659d968c045add059cbb17b9a0edf87c62de45d88dfdc621cf8fcb1783ee80a52b07ad110501e60d151da2f6935b90231008eeaade9971577e66e323b251e1486aea8cfbc296c08f6a11eb74964e256348cd8a81db989fc8d36af42d2099c367f100302047c435bb500683066023100c6442701300378877a69f5df6b146fb3de0af1c0f9d7dcc5e7e707a25075dda5dff79a41e53535906ecd29e7783bbb98023100d7e56008ae4a213ca9f2f29fa8a78732e3b85119b80103b8495003f6ee443d0c8e4f9b51c721ada39b31dd465779ef010302047c435bb500673065023100f9fa3bfb38a44347bb02486686d111bb5247fde421d14e71606e30075f48dcbcc9f49011cbdb49e1658b13c7eff153850230529016ede8575b20012776518b1f50e30689a8cf9e96f2d73e0879a6d05f49224d836b125db8a82605353ab36dcca3c80302047c435bb500673065023100db7544aea460431af2e45ec23667fc0b7167806e2fc5987c01c154834fa322194eb1762cce2ee75f467eb7c9ab15fcf002305dcaf24059ab55cbe9c9cee1f6cc072ddb3604e8dc78a9ba0515e7118384abfe52d5866e94ddab5da2da67c3027aedf10302047c435bb50068306602310085f3c9545ced7e131a0d7c00fa00e8d6191f872a67f18c7dcd357a99cfefbe71a980b6feb7b77afed487fea45bd741ff023100fbeafd1d5fa4acfbda4903c4febaff2e97e6b2a8ad9927b29b26f5daa29710e649e91243146bdfaabc233eee73de1a990302047c435bb5006630640230401ba853eac1df7c26d62f280749079dd086b0a30ba710211ee299e1ed0b15f003ab4b6437a788f99784a5d080e204c402305d75b5f8af341a39a59b9f91141714078fee58de433133b3b1776b6dec733b9fe9623047ba655689c1f13bd3fda2166e0302047c435bb5006730650230288e828278f681676bd30c2b4ab5b7371f3903366b8c49f5552345295839e937a34b06628b7e118b3f2492d837e26c83023100c1eccc2d96877804c8ff9f4bde600bf23541a044c6d98f6e6684bd00e2fc06e210f9194ba686d9a94e3b7909bcf4f0600302047c435bb500673065023100a0d0c67dd1f1ba21274d1e390a1c680e3cf4e0a0d98329e9e60d6e2cad9fa21a59e245031c0ebd407b4d18ae03fd494a02304d43e908a9913b95f4fe76d9c8b71597dc7ad57277c905a41b863750f2d2e12ac89b3a55b71408eb8775e7b6a1739e010302047c435bb500683066023100f3e3f6a756e5a8f65c8fe309db1de78f324a5bd6cede7308a341820c7894f2c52e0a4f8ffa04b5cfea9a1e03a0d21d7a023100e0f04a0b8e30ee051eece16889ee362997b54bcc31c1da34be40946566f03eed4c91a42b004f051d94b3b815162f56c80302047c435bb5006830660231009659d1f824132a357ab81480add2608ed5e08a764262d73f3fc8cb800680d8cf98a2ec78bc4973407f87e7a5d1fee55702310086fbe5bfe337dadfc67905b1863e7201ebdd9ebd028302f71df9a0b1bb311e69d1b037edaf219da934aa30a78e53f2e30302047c435bb500683066023100d767a6282ffb77c4fb01a1ead7d61cc1fc23ebd73afbeccdec2a9076c2b41007ae17d761e61965def67f6aa38e73263b023100d93e25a7047999c5b7e280991f0464552033e66c12921a9c04e9bb9b10e9bc82e9e9d781076f37cae6f3669678b4246f0302047c435bb500683066023100dbb6b7c45190c426b14da6818962336d8250c4aa7d7aa5a4cdefd4ceaa0190c9b2511a028fdaf4339ae12ff07ec680d7023100d9cf2a5f5b7b16fd379c88e546c07c30c2685b3666fc76637c17ab19bce1f7f5f183f8e4af8db862dcd96cd139bda29c0302047c435bb500663064023068ff974bb04c9d23e53f79d335f2c6e0cce51ebac2c40f27eee921ae31a92e64c1d9509e132e597ad5e79c5c13609e4f023037f4ab17ddb5b1ea5d2e421edc93c02a47efcb78fc21914f6a65c1e1326ce26bedba51d682a74351f6c495a152b732790302047c435bb50066306402300a25cb8f8cec0bbf6f6f6758888098caa74eb6df770d27a9d0d7d9cd0de2e3ac4677a10c2621abe26746e33bf2082d0d02305777c5c4e9d4baf99ce707dbd15c84a7e25c145b2b9697a77753acef97a4d4ca9a6cf1ec5ff6a874b9f53af6bc57e7c80302047c435bb500673065023100fbe90c8ab8fc98f23e188f728c23a92b0e8e1c1ef35d56edc77d6b1d9788ff71992dfec055e2f3172b957d7316773e2c02303d115bde18d54a8086eb2e77977cfa07b0519f546622af341814cd2f81aa96fd4eb79bb64e61ba50efb9a940fc1bc5c50302047c435bb500683066023100d4e200e97b9bea6e238bb90bf0515fba53805140d139d05dcb85a9cf1eff14773c1172d9c5b0c9f7c4cd80de863b3d17023100ff0de05a86bbbcaccb7bfa0072397ce4b4e8eba578c6fd5a42c81285ca85cfcefefd1d963cd41f04a873007bb492df140302047c435bb5006730650230300b0194e589d2e18e5273bda19e8a0f9b91b2bbc76482cf62103acd10dc5416045afd18aec8429fb426e4af1fca7f5d023100979700a775ddd699d59f942ddc315b74aa9caebc35e0840756c2f2f7a15b39c6b4dc6e58691916087f85cef2cdcb40fc0302047c435bb500673065023100f5fcb5d5680da288189d390e9763f14dad2e9bf2a52e6c7acd168fd29fbdd221c3c495a4fda8a957665270c3fa9d531f0230538a37d8190fb58df60f41860ccb8ad083d1cbfce5a312a26cabcffdec6b879b581d5eeedc57e24b7efbfed7a0bbdea00302047c435bb500673065023100be243668cf34a20a2e631bb5f08ad51ca2a7c3dd739867a3004bf1e16495fbd706176e4faaa36307bc1ebb4399bc873a02302745b72f21162a94fa865aa4a8b84edfbd5d200d3df7b2cdcc3b59bdab57c5e7833575556c1f48d8461e3e99d29f93140302047c435bb50066306402303f87ab0097b97f75ff069cb6c26e994e343ddc8d42de602a09a30b08be78ea6a904656bb50d14115631cd4c7e549f3f202306c2fd412ff3f85e6e50a35b6ef5c976d89ca99356239f7bcac871509c0dfcfa6a562c14c4cf4d33dcd23d3c178157c110302047c435bb500663064023014c8679295a16364011c39c3147abe86a7098d1c7eee50e498654f7750f6c717eaf3483f3805dab34ee43055eaf4459d0230628b510d4020a38c46f259d090b75bfd33cb3b212f67aca7be9c41c598b60d110daec51080c7c3cd9d9159391437a8a20302047c435bb500663064023048b577ff0d1e6deb10829b23c5aad434ba31122a2b334158d5da048bc2adf033181bc5b70fcc9dceb478b9e1e283da5702302b5fb12e5f95e3bbb19c277b108f2d0a9e05d8b43ac06346386bdffe55ba51662878df068b54211ea6e70f37da6716660302047c435bb5006830660231009b898fb2e4c28cf6e11a3110175e4cf1e75d142704813753f11e18d50f9a067d163f0111f3556b95255b331ba6197503023100dc3211a33fec9cc1a2d2cfd027d22a95e3c6d3583e756253938774dc836c23b482fe25f550120b8fa4b2f6d0174313200302047c435bb500653063023032a2decc31952140d0c53f8962c2564d0aeb6f74f4bbb7876b35af635c0a32e320451f318fad7815c97b3524d631238a022f187633aeb78c1c5bd3e3b95d2b484b729d15446d5ade4e3ed93409a86abfe345eed85a98f00f552fee1d0aaa432a240302047c435bb500673065023026a74e38a2ab2490c3be0c77f68fc8bc8c3b8a68f3acc189111652abf01b1d14952fd31a8b1052f53302f64e3b779360023100f236a6a00d82e2420c6ae4b7b8d8e687ec50af4aced6b3d268e1423ad4e8c642c5afdd20c28516f547804a3966ece7d20302047c435bb5006730650231009a973522a15ca172df4893523c1a4234650aca558020d58f7bd70a2d3241ba3b29cffbf37a1ebf9c97c237d9cb924908023061dd4add56ad877e76278bf0817e902d8a78f76922fd113e3d3cbebb0cee7d1bdece90ee14417f561b1f3a03678a50f30302047c435bb500673065023100b1544dd55490d49f9b1780e52b1d391705335d40801bbfb6c97892d714afeb347fc7bf0d2d72cd53dd34d3c8e9b9270202300965d9c106f0d9df39ea580cc8966bc6860777e1b71dcb0d8afcbc8c59126b6024721bae0f452a3ccb50bd6e2ecfbfe50302047c435bb500673065023034909dd2c7a8d49f18a301a7bedcac2a536c58bad0ec151d4fe305a4d1507b77b0582fbf1bd9f463e35bf820e4f25ec7023100e2e953dbd5d10ccd3d0f7c7b42a3ba9f166b4eb0ab5dd702baf41b3b966a6344872f3aa80b1565fa708a8bd29fae21f90302047c435bb50067306502307d1ad5752135f0ff2919f0d2d6edf56ac9f8ed97d08ea4afdd88f0d1acc9eb7035e480cea57c40994644fb91229de04e02310093d81c130fccf81cf5a001157f4f91ba27550681190a3548e469b949aaa3a814f6edbd9112dd5a55cecbc497809737b90302047c435bb50066306402300b15fea8885ff8f436110667f52239b22717d82b5eb8e28ee77a52fc4b4857a350ac062cd8279ea9267d1e3ca6888b12023027c8aa8ccb44df016924fde7b1c46ad3678477a37a719d058b6087cb140e13405a1d24ab8818f8dc983f1d13564f5bf00302047c435bb500663064023003a2796c7a8637ec72c0656c45b94501bcba0fd49fda69e6214b832bdf6526477f319fce7676a5f1a43c1fd77fefe5b702303f75523b3f2a34e7c28ffae5eb81c130bd76c6844182014beb5f305c1ad23a0e127826afce2345e3ee9c965a4b894bc80302047c435bb50067306502301fab01dcc2e1b1f8eede885a754e44b814507cd5ac27e8d8108e1d228f169b9259007dab0da491569bf5afd36489ee50023100a3d591e0b19437c69579af3d616eadb3f2715cefed75b20ec1f7b8b43c11a2f2311b83259f0d8dbcb5b093cdc9aff4bb0302047c435bb5006830660231008a04ebee181023e5d9ee6764d10ae7842a2c9608a39955d4414021ca20697d47bc88c094ffe0e0930de9dd1c661b56ec023100a4464a5cb8bd0c337a6e7a97bce185cadb8888cb1680e5185d05834593c52928f6e3b4bda91baec531c409ce3d1fb1690302047c435bb50067306502303699530aa024296e820a1c96788e92feb721db62761104b8b247aac62eb1d2e96b97c8ea7163669410897f69e5e2985002310092d5e2a7781456c4c9648dfbd0728e169d63c3cb6280598332d4316dcfa415c4f61e8fdfdf7a5fedf24aefee98f052fb0302047c435bb500663064023022cd8470e65ed9481dc4ea59e459d188ff809f3f1cd76d01b7d4fca944d6bf3048c28637fe60b54240f64b48318fa86202305d4f5874714209673ff770622fc64e13927b933ba48d77e04a51714db6206783b9f47305d19dc38e7c72aec731af35510302047c435bb50067306502300df852bc74a8c0a8388f97ee0820f954648761079c092d3428cbf28bb47615b6ba8c0215de6112d347f17480afb9a8de023100a6755c18270bd9e1005d0c1179f2e44972c93dd8d862ee92545e8eb2067818ccdb0b2370d1c85b376e141dbd30d97a720302047c435bb50067306502301d2b67986930cd56a4150a3be34383a43186994d13c8f20d4b20d0c02822ea4724246f795080bdc1763455cbd05f31f1023100ea0dc717e8e3b5aab644a8a2635b1d2b02edb35653db0783f877efa8194cd1ad64f312c427ab6cdc8be7043861c4b2ef0302047c435bb500663064023075d0b40c2e88fc8f8ddd1261f3be4919cdb86645ef9dbd2b7bcf212be0dd0e135681ed460e891f72fe5ccb13d71d5443023025161d24e53b9150ce9da7b9b34ec97e1ba60d43a1409d9702412822ca38428aea644e52167ec39382b8f5e142cadf820302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500663064023002147aa899e995f7a03208ca48e2f9b1aff691931db55612a597c48bce64c529f963301623d566aae10fca09f73ed09302307ddfde4c9537bed316002518e99105ee9afa5b59f467e2ff8b3330972b12a6c884040ff50163fa41cd4d6676b30a7d7f0302047c435bb50066306402304ff3186fba35bddbe8c60e7a499cf8ad3b854f618873f883265d8b4eb14549507107f056ccdc4f94c8e1bcb0dc8b0bf8023045993075882e499bc8f8a4f7396bd32b44a46d46de4454ed5de4b4b3fe82466044680de6cc9fe1d8d28e07e7dd52f0cc0302047c435bb500683066023100dc422d5751a0c7378a8f77d55e2e69c2761197d9a861d075fd3d9961ebac8b5b154b6ecf76555290c7d1c3ae1ba8a368023100e19dc41333bd0adca93e09b9ecfe16f9d829d4c8d51b99d86e421dd016a266238a7d802963e2bb1ec0564adea583fa370302047c435bb5006830660231009eeb04875c8c79f73d13eb18a9bb36c0af4878bc639feb9b06d156cb120020a1137e0c0a42f4a6070b2011e51a871f22023100c07e228af2f2ef7a41e7ed20ed0e371880da8536ee22bd70df5ebb367ab9e2b26d5cb855b72b3e6079a6f6810b7ca4ff0302047c435bb50066306402304c92276134c0e0efe2e86b076768cabcbc94ab4ada62ff72497d021483fde428bcbcc733685ba879e1ef5108a990aa260230648db9a84a53fa149718e25b9f07c9c6773b5c202b12315f9320e823bae73b3a821c16232d1276f7e110fa28588772400302047c435bb5006630640230482f2f9dddc27e8d8950aef22b7df109505d22cb851efcc98ad5a85094a0a1e4d41f22703e697e08b0bda36e9ec43d2002301b9b1d35d0334187c248ec027d572728212b393e3b7ec7251798af8bd76316e3a58534dd88dd7824658e952b317b36b50302047c435bb5006630640230382af76b2273068de48d224dc11204d4f43818c70e2922a53f582ea4f09017f3d7bc25ce2feffe788e9f0aad70360648023037505d39264e9df7ac8a36756f17e125c891989ed3b745ff7793d467ee7c5560b4fc846d17cc1eda2ff2bc03ccf34c9a0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023100eb0d44dc3a6137104bff537a8e3776c1c0f6a07259f11f96dfedeef15716be3a20e762b1a3ba29d70f5748cca27ea90f02304655458ea71afcd1400bd4b30645a198ae54b66ae4e9b08648715a129c37b2540c4481b4f76895599b6cedd71a8945bc0302047c435bb500673065023100a6c136869e3c5595dec36c7c3cd85424eb773743e396df33f944749a0eb4c24bb3ad95a1c04f9806dad834f865f0e07b0230636f20fbd65976cf71cac26be31733fc0eeb93463edf35f860cbc4fea522cf0fa7eca86ce282168324f2862573fa6ffd0302047c435bb50066306402303499b8683595cf77fc8e3de6d22a3845a8546860d41abff2423a2795fee9a291f82efa19117fc34900f610bfdfaee3d4023012c6d6fcc69dcb4a287ef6abfc81323fafb0c2664091a86c920f0e2a6dced873d454819a6211157c216c4c3db13578160302047c435bb500673065023100a1286e7f51c1342172618a7cbd781f0c1145b02de7d008d7676080814d9020319742735a0f1b97467e5d0c5ea691e7b402306fa7bf7b597c1ec82a3061cd64e4f2d7de6594cbce5fd676a1dd9b9d1c0e80cd59c371165dfc7c72e35a5103c2af8c1d0302047c435bb500683066023100a96a9c01bbc0ec99a74dc7b3fb7c628a5d6d551ffd22480d0d66633015a2065aafb7dec7472146096208d498f2e4d8c702310095a3f0e472d446bc9013a692869bb2e7e4faedfc95145a262a293a4a2995bb8ce525036674c92b345b4010ee68d219b00302047c435bb5006730650231008b2c8adcc3b2e8a5dc38f0474f2e46f347934941015528c04e24992daf5d6d99a5b3dd5408ba2148ee6594a21c1c519c023011a85785ec8b59ebbc99575c5e742a8574528e2f662a3cbe924bdf1214b57b432a8af6df6f8d957000e3e823577ff1690302047c435bb500683066023100ff3e6f3deadcde938633f988bc78349430772daadc2173b995e997d6f5d4e993788e27069e41cac29d44936294ac0499023100e839ffbe5e6780e3330b902c11e79e28d6e26f12fc0e802446ac50c67284cc16086dab15ba6666da1dbcb2bc3ef739ee0302047c435bb500673065023058bce2673df6c5585e2a13b756d05b30e88b990d8ec2f6f3e1817faa2b616b7682592ac456d6ddc88f25c787af071bfc023100ebcfc8edd72cc979674b7b469ff2859d1cdb7e112b536b5c5b754d45705970260d94a07d84cabaaba63535b00ea003a00302047c435bb500673065023100e038b6267ae38119ecaf3d69df58ea71741076fac2c1c85a589035bc9b9ca4e5af75fd62d6a37c238b9fecc1a44f631c023038794d0a77723e21ac8c6150dcb1d58e79e3ec530fe119e9b0f07345f875b356d02a2e7f50131bb25c19ab3c3ff999430302047c435bb500683066023100c3f418189f1f366e489269e2c5a9ec226d7b560b3a0c0d3ea3663bf5bc1615b03f264dee472e5e966f354c7322ea4926023100e6125bbe431a05bb136678d8baa82d61e8d693a0c699baa06c120dd5ea82de34c08d06949e3f6795802991b086da9cc10302047c435bb50067306502302a129e7b68df1b8062049c2c8a3a63a49c1123afe63c1e08335caad2b5d02359a5394a2772d735c8c41312d7712bcec5023100e0db9a366479fadc8c8a83803fb28cb2ed5dfd7832bda8896ff09a01fa83c1818e72d99f5ec4f8b035b21e5754c5d5030302047c435bb500683066023100f3daf51dab1635560eaf6ab1105eff4866707a6cff0d2eca6f3a21c3deb5aa370b2a99bc0fe0fcacbd052f6d317e50a3023100acd039ed224bcc333522d332717da6376eea833b78dbd3d341bb7f09ecb3487063f4f05e305c5208ef4edca9d893d4d30302047c435bb500683066023100f230ec0aea85ee5f3238ecee9a33e7baf2a1cf70709df50da485cdda0d663d9f7d72674f05b98071809e28fa844ffe72023100e493ac9f47261db5d456ed87187ca1519cbd97c179f506ad8838a478c3d4f01b31e69871aaaa01d64769ee9d071c9a6e0302047c435bb5006630640230493a8a7cf8abf508d0655ebefe8a714d785155201e180896644cb688fecf2c090a9b46c82bd9307f4df8fd1fc5f0d3f40230381108c7c1a5c9babcbc4767a461c803f833ebc450c66f46f0da9faa44329cd456ab64e6943d94b396e170fcc175aaeb0302047c435bb500663064023063fe489f6cccc24703dc24323e062846d3c4a57a863c2360a3bf2a7a21bb92dfc9c6108d957caf3b4881dbc95b0595010230245ae0201762634899c5eebb8af4ef9be55affa395d1c57e95495d14b8e7df338de0d3bb7c645f503df797eeea84a0700302047c435bb500663064023008d8c6c31062e6f5cf6ed6238afd347bf213a74f775cdc9443256cd00e3c59edd9c2420f97e907f7a4b21b3975786b29023079d262a25f47aee66a4b5244067c14a8f7d11f4401f0b2f49753a5e05e0346192bb5ff1cdbdb7b0502702a004ee2d0d60302047c435bb50067306502301a6587f219354cd2c6d9e2027706262540e80d0575a214a30f589bb6818cc8a9a4391d57dc94ee6e5f14c511debba210023100a3fdd4f7920a5a9ec27f938478530de928e9226fc749f2be9a3ca535169069ce8a6c3d0db84ab78df736c082f3473d900302047c435bb500673065023100ba4a72dc49126689ef603f916b437e1dea7a9f5146a280acafc8cba69a30c1c9397c2a3c848ce7742eb2d37fdcad199a023051dc5cf51029b9869ec2f7782e1f8d7fa4dd8752e55746668f1ac9a5fd8cdf7da6f4475e11b32848502a020a9428ceb40302047c435bb500673065023031ce2efc1ed5845734c5182c8cc085ea27abf896a41e8a04a1c23955e87dca59c48c3b3ab2abc5046f8ded29b1e37b460231009e0740fcd681d27aab1b53361f114cee8d625d669f5637e66ae800c30f456f1b6a407013124c9f101e6be9372835e2280302047c435bb50066306402305ea5c1e02d8adefa8ac31612cd9793625a7a37bfdac4ef09b4a57316296dc41568b2742f200f69dc2bb8bea8bbc20e3b02304416c00795087e58b3741ee18f9ec0a5f94762dc03d6c9cf1a95eb672eef65e703fcbb639bc850f0d9cbb3c5b03c033a0302047c435bb50067306502301e34041befc809d59df69e43327317b8759f7c3a1b3d57b5b8671f62cfe04281ffe49da7a7b83d913ec669a8f2fe25b9023100e2a0fe97724ce213206367b2fb13bc85773de807712827cf9a9b27dde56e5988288abdc118323f642211f2657f64ad330302047c435bb500673065023023ac754d56b8fd91b5a077c32abaf34142782ea36d7754e50d3b0d37b9abca84b9982ddde9fcccb8aef19fb6759df98f02310082a7534fe7c3a3b2081166caf91548dc1b27ec60e83c26cc12cea81a3241e51f75aa42ca427bbee885b070805308afbd0302047c435bb500673065023048ddd697126b8e76ab408ca78f099cb2b4c86fe224ed7fdee2262c4cbbb38428cae102025d04e9816c01564114f5bc0d023100ddaecaf67461093ff0795694eaffed5415868491d78e71d83f26ac5336c6b30f5c9ee5d2b46bbf9bbad1c6ef6f461bee0302047c435bb500683066023100bdd0bfa2b5ac2bf9d482f80d420f6374174f7bdab5d023705065c7b5d79f0fe74d03b446c61d2317ddb1eec96eed72bd023100825b49b27a17d53552e7374995b96863aada80a4efaff9b9b2ea764dc5d326ba34a16d04904cfe153a9fde7872a42b0f0302047c435bb500683066023100e07e934b95d75faf010412a5b0d9a831365c4c3ec32c5b3b744f00ef6c3579cb16f339c24281de4d8b1c580435e744e00231009865aa6b03ac6560f34482b2ea0af2e800e62d8abc4787c9987f81f8e37b1ff9bd4b72fff785968c95580b4867abe36a0302047c435bb50067306502302702367c84e3c86780583e62a8a856b91de7490ac9e33814280a2ebac216f053c1dcf41c43ef3224dc356bbee44c381e02310097ae15e718dc50e42fb27ca541435c52382008f81fddee2a5f8a7457aaf966fd1df5bbdf229d1c394d3810a01b132f290302047c435bb50066306402304f7a8df4fb33cfefba0362be6638d3d99ebb51aaa9d7b565e8c7d18745b4a6a21f9ea13540406b9369afbb5d028fb32302305082ab02844f47296de14588bc2622ddda7d403b53099a14c16dc4d6b493b0e6a11f588dc41df7f0295ad79bf05ccd990302047c435bb50066306402307e408d7d422abb98812e98bcf81f5533ebd3362748e66a5e8c06b47b64f1e68b4ff80bab9012eef7dd91958c89cdb83a02302e78b6ab31a17f6ae106ee80dcb04e03122ff3325e819991aa82f26ae8b0c0de6cea5d953367a329bab230b6db86cd300302047c435bb500673065023046717e84c79bdeaec2edd35fc397f2b16aaa5c546b167c4c33b8b5d8466ff15f5f8efc27ebbc1e099ed9c9d6512e4f09023100a83ac5c814613b68126b07a694a0e71b8b8ccd4aa51daaeb27a7641931e5b4fc78e5fd0054302402319483e3a0dafc610302047c435bb5006630640230330dcac1e17b51957687170c2bbdaeb5005bb6025d4e0a38abb6355031349a3431e74c4cc2d4a7fca861f30318ef89ad023068fbf55f586274b51941478f2dcd2f15d98093e22f819088e70d35ef9e5de01f3e3a40c61b6136de20287b11a9d78a5b0302047c435bb500673065023100fc93c06786b05a3de9a323d4c9b97c00524ac2cada5a2ba1af05577b4ac6b952bdaf927ddede33d9f35cbef557bcfee3023016b8446e0c6a88c2f303c5900bac333a7c440e3ce8b9434f09ffda9965f702f17dec8dcfc7134b36210746a2447764880302047c435bb500673065023061a4e05e064470ce70fff806d057f1a83b8fcdbb529ac935f60f1d812e9e01a3a6318d92f727ca3486c91109620cef80023100bf2e1b6e8a7f80d9369014524c9482935f78ebbb3879de0301a88e2dc6d5e3d9dd2e037b18b76795b92245d815b395110302047c435bb500683066023100da4f2bbeac745d50f6eded48a46290b9e006f3ad5aee688bf31e3ae93ac56b1be330e1bbb07da59f54c0a38b7efa4a82023100b36f6e9bbdef967b0493ed87fbafd9b97f7e40b5bd9288485073fb11f4e5b3657a0ae41894ebb1c0d063fcbb587755030302047c435bb500673065023100b7fc393c3d528398f09ee0d663a0f4ec44a102dd566886527dab82f80962079cee852fd1d2ef4de71d38ba890870ba60023033e3e435901b8f4ef9f2116f38bb2bea4ba6b17d89c4477e8244b6e2cdfd66b7b502e988deb9138b925f5e392d0931870302047c435bb50067306502310084e06012be8255d3b7612440280d308a07a868325f210ab2a71ac6a40fc865df75c56212ed23d535d4ebfba9539a40d402307d9b9212c727e8e5f486bb95a33916bbb845a1c5a7c952832e590998c4d7f7bc9947506874cc7b9e03caef19ecddab460302047c435bb500673065023100c2cfceba29bbbb49ee88106fc133678cd4c99040e049671ddb358de887e60687346ec99e190857590fc49b99b1411933023064a137c5cad35dd033833be13709dd7ef1c4abd1a8991396e59e8e1ca0b7d7cd911c7c3cd34e7c85dfac48327281adce0302047c435bb50067306502307247cc577dc2b0b4117b4d551d44afb1b68b4598e776ec4c7110972ae521f1cd9dc1d544c958389b2540812d86f1aed80231009e37f3274abc489873013ab863a4694dee4bf4d66a26f7331b0e9c5e7d053556ad8e49ed34a509dc59f86f3fc311fc6c0302047c435bb500673065023100dfbbf3ae22349600c0317a0a4f5fce2f0a2660f80d636fa9633b1d3525dcc41b586d14f8f9ff72a6ac86d6100e6ac48b023057573b94be8d974a5e6454b6d0717508e56205dceeaa30da4924509c9c02f5dcf165dcb6c1d12ecf0fc075447bc6c6670302047c435bb50067306502306fce89d2d34ac138f7c54945c61b4ab3bee444e2b591ea578efcaa844c9d3474fc2751d901db16b1aa98b793a536eba0023100b0e14e9dee87baa65cb9a01f12efbb14a89bd9491d0d3ef338ac0d06f220647d67e7b9418d711129e5a692b5cc2086450302047c435bb500683066023100b298f88b13130bcfde9e70e96b5ae0de3008000758be9a8ae4aab550afef6c2026bfbe1eaeb9a44d277dbcbef64d5394023100fd016eeb594e4d73c060897aa04b74f0777f5fb1157c3c46ec5c23af6c3e5d30d841f64a181535c4a71882b1e2860faa0302047c435bb500663064023100cb4fd08e5cf7a6c59ae0c98cb92713545c38f502480fa9c71e0ee5b8a30dd9d896d5929cc571dc365945aa42ffd49913022f53b018e0be4dddf6eddcfa95d9db5d7f8e8a5126f0fc9e4d9f886b71956ad106a6e9805c136162c242d8eef363de9d0302047c435bb500683066023100abf51b56bd3fdaa989cc5ce6daa5c0d0beacdf26ac959b5ccd134588c7b70c5c6a5ac699298a92c46c2f1199605655d0023100d7ca7116c1c71a2b72e286d981c3259f443ccb6809d0af70a505d73f3fbdaa32e05445898e16783206f6cad3cb6e08a20302047c435bb50066306402307df1bd2b142fac73cdf926f6e007cbba808b28b0517a83f9bb8e23999c6de6b0c540020c1725b62fa58a352eb630bc7e0230208cfb315cf00d598d60d8df817911d4389d13d2b74a3ba8ea1a36eab5d0655c26bbe79f1a9d7730083751f81886e7980302047c435bb500673065023100b173062e987571a6f0e79db1e1e9a3946ce369b8a2fa399df8b405fb3bb729791080f9cd070ab8555d1b2ff5805abeac02306139b17f8977c19d871b7cf87484f4f187265081db5ad5ebce8d4d21af977dc798f0b0b007f7f52498a04dd7f5dd85020302047c435bb50067306502301d63588de3c71b50c771dfb8530821fe35c9806d45c4b31f19e5f599b2f47b9df81baa85ee9f40798186ee0fbb6ec6c1023100d2efa1846b9e049a87a92bbee4e216bc9e0fdd146ec1cfc4e0884bb638243e3261f31d400195574818400a234634df740302047c435bb500683066023100d6af3af3ed91732850f5eb88bf2928930438edde472e210b6e098e471480d0a71a6fd67e145a2e9df9d09dcaab6fff41023100af12c4d7f3445cdaf719ee3ed927c36beb9dc12abc422233ba035ec0cc21ec0c79c7819459b5efd89535275d0c59ea260302047c435bb500673065023100cb3dd6261da719d124c9bc4e07d280efb8b547b92358fd2be15e3754c52570799718e719fb145548522ddf182e71911802303e666e55ebf3c307b3c38de9f595cf80bb295a141ecec67678d940d4a0d6ca88cfb8ce07e5b9f234fe0fb45f2b7cdd8c0302047c435bb50066306402307042237b5eca2eaa60d8e9900eb0baacc73c9d331b98c58c6e097126c218f25304b8d8b575ab09096e4fe9c30a3ba43d02304c7c8c46267a8207e543edfe8f7be0ae5894f7cdaa50ed24445ca6253e0c6cb06a715fc8907e9175ebdda6acb1524c340302047c435bb500673065023100c948b00d209f4ee970995c2b95a2db9f327a7580a5ecf166a9a8c7c40cff2c706bf2341d08ac8771fc7df24b9ba9553f023063b78bc683e96611ddb062a4e7c993cf061ad3d3b19472fc7c313f76956b7bc9f55f4bf4877745232de9d73765d8b7180302047c435bb5006830660231009d732f2cf8a85db9b810b567ebca6d1717ad54e08155de86f2cc54530ffbfdc90d1aded171d9440cb31b86a00697ca6f023100c3313681c441494b1e28e81386f4b432ea8634750f09bf23c03de93a1be8e2cef8c12dd85cee198f3efa9e364aa08a4a0302047c435bb500683066023100f1da39f2c2e993d1bafd1e6cae21a9d2a8669e153f53f57e15e4d6da2e2cc85161189acd2a434061c75ae33b8ccba37b02310094f18cd25e39f9bb81556833dd82d57939ce091e38e75735479e0b7f08c11f5bed43ed669adcc7a12f1de5b0edf0dc960302047c435bb500683066023100beb8bac557125d7a10266dc80f9462ebfe5ce648b1a8c065debdfd2e9ecc4a2a0d4b75f6767c19944ac1af5b7c793fd102310086a6e338b7eff3ad80440ca529ba3f5e1a2f413302fb4413cd7b16f42370d1839efc83d31b12067bafc327a14b3a687b0302047c435bb500673065023045e7755028d4e2ce7280dcf970aa166e3f50d483a62b6248ef85b9626ab80bb1a54a07b5a265ddde1cc783942f6c10b6023100d14d745e3046b483c66c4eb58a4a7b9e4c20e770bb6b704a09c122c29d2a16fc6fd13ac5ba552c874b0737139dd4b1f60302047c435bb500683066023100ed192a4a035dd936a22037ad24870786231689a1f990034fc98ccaca9643546fc0e1fa60c3c6a479e2af55aff2513bd9023100f5ab6bddc22209e6f4925bc4f95d24e35761034f3546eb43a421162683409bbef575dc0b9bbc3824d0a09698e634661e0302047c435bb500683066023100bdb8112685fb5dc14985ee19aafb501926bea449dbe1d421572820584f232a21115e9556db45c8d8af01dc7e86b8f7230231009555e958e52691803eac815b59633d9a3cea7f8ea279a0991c3aa57381a3c9a07a8e140dfb430667009dfd07a21db7a90302047c435bb500673065023100ceb5f6a488b8b978d6aa132322de7150145a4a39e06999dbb9555c4fb52623827f9377920e2f0fb4f3c56993caba4a9f023039da368b011f58219ea494eb6f96610849c4858a3f798a3666740430d6320a5028a6b5436f133ed37100e1de596878460302047c435bb50066306402300d191a91af422b3eaa52426938cc75b09493ff511296598381bdebe361f10bdabe4f7271cb7cb27c7364fdeb8031a4e30230238451c1bfbb454653fb3e5f142b6654ca03b945083beafdb4d0900993afbca023f4df9820bdc72f92afac5666fc46f20302047c435bb5006630640230183a30871e6fef9337febd6c91c986071c0d0290f3139f16aa99c50f8c6ebebef63c5161594e45157a6c50e9548fbf83023072b9c12f535b560f9aef75f40691d548defcb6465047e0756238870a19056bf90dbc5be29d93b5a6136cce8905d6691b0302047c435bb50067306502310090448abaa44c2a4fbdcb8bd09cc21c63a03ae18ec86e09644cdbdb40a1e9bc7b3c4c285fcae7e14703aceffd527391c8023018a3f6db20076ef4567434a0047fa706fa98d5d88fcb9deecb83349e69bcba4bd413d51a7551b60d159c4af5c6873ec80302047c435bb5006730650230265113017e2cff31cec37d461a4531fdc87cc9d47e9862abdf03413f472c4779cd9844f882bbee3acd31dac971003deb023100c9392420f2fed09725679b4393ed8aa59abf59181ccebcb11b26d8662ac76fca448fabc03e18c8c2e8e5fbc67f5af3c70302047c435bb5006730650230114f2e7b63bdc00d12caa7165fd0ea4bb9d1e73a6113b53f4590a055a55dcf0bafefdd1823d2762b3a976ea82c2576140231008b571f120b5f8510fe086e999b5fc174d0246abf0d6bb43014e95c5ff8414ddf8e3dfcb3888858ce9b1af1217bce7e860302047c435bb500673065023054c36613a482ae0f300c5aa657347963b9f05d912881de2a9cfb20d96992d63745f6fce44d700f38c70f5c8ecb969c9b0231009805bd6bc031b9c4d4d280b08c9cb4753ff05c4c6a2e6d03ddcdf23886e1761b11478dea12ad3309639bf230473c77d90302047c435bb500673065023100b5805955a62f9974115aebe03c89621c337f0806aef33f02d5b66e8d8d86d0a008e37d87a53dd69450bf1e80daa49a1c02300cba124f09ef6508032c82eb687cbd13425732b978069f4bd1affade8d6fcea3b622c44ad9552dabb7cb19453ecbc62a0302047c435bb500673065023100d5a759dfcb30d5e255708d824097cc101d0cd402151bedb9dc8fc981a9fd19331b87d70433d573491daa098c9e6cd10e0230604e721fc0069bc2f3502a7ae3dc23276f43cd66206045b5a4fbd4063104fc3835eaf9f98f59a8a00a44e8c24595a8ac0302047c435bb500673065023100a8636f386fe19f94014f32b47bb8ae0f1d9bd5bc5eee9a41872b1d4f69dd3dbc06cdb5fa8a2b194d3ae916591517048102304aa4451121b16e442606755d61b24d357fbacd641c4029b307985c3d6395f27ed55f131e855f3529292bc75fd9813b1e0302047c435bb500683066023100855fca74e8e699632140664743f91ba23accc695267980b752df87a09fee57fc6c0cb99dfd044915f6c9f8c0172b50ff023100a9c01228c3b61684279b04b7f21ba1d3548a5a4607c6a0d72b93b7226e6342f0d6f9f679cfcf01632d8794e5ea56136a0302047c435bb50067306502301308246bc1dd28edb6b5208c45fdd33ad68d67ca27564170bade07babdbb422593b33ea01066c40c876d2e99ef242b3a023100fa1a3620551d12fb4ae354ca7e150a60aee57375e5ff24960d20156f3020cee92134ac42302677de062241bdce349f5c0302047c435bb500683066023100b395fbeef4be9905060df70638d84c5e22641bad6fb046f102516554a32ee48eba37409570187bb5b3831ce3dfcdeb65023100e928d781349cb506494fd6e52433f6fa3368fb4ee0bdef3bccd008d2e7e4185d1a71d94e0eb2845085286a883017db050302047c435bb5006630640230166a4e778038979bab6b45348fb08139e4855a3ed03a99aa1865432b7d33e5774a63b5626b443595787d63d4b8d12ebc0230530a8ccd808a0f81c8d3c2a0bd7faca34cb0fd8afd75d022cf2af266971adc3335f06d72fb80b500e0a6cf99c04bbd5c0302047c435bb50066306402304e60fcd641e6436f314902921504655da40d58a7afebe2ac49b3ccb71c66bc48fa08d535769da171c53f444d8c001323023038511be141e8a3e788cced288f64a34cd9733e037e2252e37a7d35864bc583674f2bdaaeca8e2751ce7916af6e22b81e0302047c435bb50067306502301e3c9d593917ff8d346a3d4964e698f95ad1af59271bd1a0d92922352690b0ff2d1f74feefa02e1bf20d60a33b5a8bc90231008a73cd8010fa8c917f969a8a21f723609f1145e3a200c7059c833165754b7f6b3c1de3f64bb13fdefcdaa2e805463c340302047c435bb50066306402304571f2f70d468e61e254b76203c9c22f4c14a55fbedd2921bf4b2387d3613d68d99b2f3ca7eec207373e1e6a33384e960230721e093b71ed31496ef70b1dff03bd639873c6668d945d78c9627c7807ea26d9e9dd5e9d1d8c1ec6fa2e004a77bac8f80302047c435bb500683066023100e6e0f1cdbb4e0503650322e12dbcac9c128f2d91875cb9b2b5b71e8d29692da98226516aad41c3156d3a3364da7a902c023100bf8e7210cf903d4110c91f2135318f9d20caa8c9e1dd5f4b2c8b62d95a3058b9c96d3362c7f711caa455668f8b7cacfd0302047c435bb50066306402304b8a87195553a43c6bd7169b92044c59319bb27d238eb6bf474bde73f2c9f703608eac0b3c6771373fa576f3be6896520230474b9f7a04d561a2fd619a1422e2c0e93d0492a581499c0a1d200f4331c130acb9db2e24528da077b17ee4faec3169bf0302047c435bb5006630640230350cdef3590cc95f6a705e596bb70f44e3e0122879235d92d47ea74b73216d58fc6fc65e9f383d5dfd353e8a39c2bbf302306d4288cb256ae9db52fd379088772905125659d1320c04372735403c39a2571265605b5846dc5860e59b9e7af1af587d0302047c435bb50067306502305abf30bb5c57fe88bf38b8913abc3c6b30d6a276056c5cf2ccf08d21323331426920a4008f38d7e2247ccc6c6bc89743023100f0183faef832af02b83052b754e3153ed48338cf706d61b0dfd098c06343378c19256df90dfdae4ea3419f26749ec7a10302047c435bb50066306402302942edd4dc7f95194d97432275f4ae83ab44a692f2ed5742598fd7e73920ad6c26652471f45a959452bd23e3deaabed002305d88da5ad835f7549ad7289477c414c0933531e4cfdfcc5fbf8be3164b20b5f683a4a391893eae6925aedee58f6fd4790302047c435bb500673065023046d398291359e86af4cc9460a742cf37a441a41a3fe4772b3a72d81140f9f6dbe01e5b04595744997d3a8129e9e7bef1023100e3dd3703f8b90105246defec8f88a735af3cfad5a06825cae8c81add000793740260acb8372072d192d111c7ae3222360302047c435bb500663064023079abd09be774f7c9207cce4ccb46069d087c969a03509f2d786525ee7cf3c84adf5630253cad989914ca878e3c8ff39a02307ddc201ec1848b9ca9a396705fd087f1517e633a8c050265461bf03a52bb6a3c54d9eac347f6a1ad7348c688ab7b4ced0302047c435bb5006730650230405758ffcb12521d5afd60804b6971c71ab3c5b56d1e8841f2ccb4555effa8ecbfaba3f7e9a0120d81d54f67e2df9731023100a23dcc34f64beccde57758171b5301322658e7d2dfbea049b231160997d7a64235ce3c1239ac600c049925fd3b636ef60302047c435bb500663064023050dff32053de86fad4ac5832a29639a56cce0106f7228735eae1bd055a74a45f80a812ddff757399ae73b7cffcdb5035023011bed0dcdc35b6a3b38643216a165a5680d8ce120f4c51742cf325d4ee52c05d3b9e3eb74be33b215d9a2af84674fc670302047c435bb50067306502310085e60bcd05725df5cd2c7d38270b78e5a5601a15e92bfd105121d51410216a49d870705a495700a8ae33f7e6afd77f3502307ec8f9954141a73583ecd56323268d9ef156ac9ab4ae32d8bfb1ae8d1f952313502df8400969490e74b0836ebd92e1120302047c435bb50066306402302b64119fe0186a8c474c2526c7e8ff673ed0583ad3b8a37cc4f387bc5dc6cb0fbf0dfc1e5ed21dba9106d60a376b8afb02302bbff13853d429cae03e1843f20f432b49c19d7a6ed442b99f2755738465012709bfdf29d7148b9c4c933130284ff7400302047c435bb500663064023062992348376e933a6f45ef8e87547eb2fffbec99ef6df44088ff9caaee807ea8c9759d609ac4d104092cd73e9a4b582002307ead56d9b0375faecae9e49132010f388dc590803fc69d78d062424533da51ea1a1201179168a9912eb9d5b852f776870302047c435bb500673065023100e49c262dd3bb2ba9e234f15f1d92c76ffb7e6fe5418b3e824e332bfca89e4bbacd642819c8a682a089ac6cd1d74a777d02307666f2dcfbd686b8f0c8a4f986d6e00e51010843c6af8d35f993f8746c8122e8595d7a4cacf21fbc35e064ebc08282490302047c435bb500663064023078f4f3e026ff9df413252fbd7314d025c55f5697ef0e6d0b0190c7e65ce946b7427f287b1f2d9b4f4d65c0eb143f0997023061c2b9928fe7ffc9fc9c2dcfa45e1a57f20a830c01076e3c3291cd29777805b8c572764bd5eae20fd3645a0584bc8d200302047c435bb50067306502303573f86facfe0c11983901b20715f740d274eff39615f31114f1a07679176b1722f0a373279aefe89d14ac9ce7453d16023100be4b2b538ccfb60175a6c4abe1a7ed2f09703adaca62575276256b9023ccbc38abfceef8a95876e6d072c66cfdebdc9a0302047c435bb500683066023100f7f5cdf5476fb062505e5db7252846ab71342640de7bc54fe8e7290a4716a9f7ea833e32bbb610ac4e657d0be1d10693023100ae2033dca25995fa6f3dd41088c303c4e76875c6da4613c80b23e9890d127b51226bdb74a47d289a260a8e9475c84fde0302047c435bb5006830660231008e20bcec73017623e0518480fa7117364b81aa279b3a1c017af63b487a830eb610a4f810f641f9f3587429d7794e7980023100d1846394e6c7db2617f359643675249dcc8e3d792ca088d2481910ec1d3292a7358b02ceb1f69ff7f93cc76961b907970302047c435bb500663064023054c1c6447de9a244f65d92cf65873be64b11757bd24b66274b96bf73a29ebced92ff113aba11107713730a8ba94f2bed02302da6345c2dc4314f1a28d619fa90f0593aa2ac5c046fda7bb1281ff55c720e9581373af854ad8aec732192b8c6d6c5180302047c435bb50068306602310086c06385cdc5748f6a9543950999b0b6a6289ad93fcf4e80e1164c386727c7af397310418daa7a3b1495d304eeb039fa023100aa620a02765aa291832ebfce03169b1b35928b6b67ef3c8456167882d46aed75c9cadadcae0d115a8cd6585d59bfd7030302047c435bb500673065023100adc5dfde1f89b82708454d7771b180fab04cbbeb2c602b9f6c7a8eb219f8a20ea021b6495d766b2e84cd22e5fde61b5b023015cb8a2c09beb17b2c7046eaeff4bedc95d6653fc001c7da01ec62b6fd324c764e0afc689a2be56543a2e9d77458b62d0302047c435bb500673065023100f769921e793360e9f2077a05d070c2bdfe1f1c49dce49547f4d13f15bb42ede4fdfba57f1cba7b6e02b50bf392c68930023055e813e552c7100c17f4de554bdb463519dbd5dfaacfb66ad55bd9ed8268139420cc06d965ef585b53921bdae429b6610302047c435bb500673065023100f1a2c08187afc363b6740cc7e958e868888b381d666e2cd8e75300efdd1e07bb3d329878916997312cc550ebf23d2ccb02302de0ca4e03e25f2c3495d7f03ee33605ba8a43802b62061c203e0a9eecfa1b0d2cf6d7f7ad43a5ee15e8747f17f9b7da0302047c435bb500683066023100e9e44a25ffdd808145b148f9ef286dfe27ad6238d60675142076f4be1adae41e2212e4c0621c676e02eb3288efec11ca0231009439e6e9042a45f4cdee48210dad79cd9d084b5096b2952d57fc922dedf28bbd0292f899fb0b972777df1501b7066cdb0302047c435bb50067306502304093d90212e7577e092aa715ce467608e83123cc388c4df5e9ce79e39137cd8b1781f765c352e27fb8679c44515a5796023100b2df88da5a29149d67177ab62680b026342d35a4f0d12a260a65dcb178735b97fd9d6fa95afab0ce77dc82645bf4d3a90302047c435bb50067306502306b9d53c2c661531495c1af5a6d0a93a86322e28390c6df8b3d9d5486bd2697595d80eb3c9ebf4a3edd7c8cfb82421a02023100b03d25ee2cb2a01cbd07fcfff4f380da8bdd95b11f4ee62a09f47ff92706731dc9534011421916964d1004e66dfc6e4a0302047c435bb500673065023100cf76d16189a0944ceebade9083b026947192f3f5f4d3129bb72a66d6821367c6d0b8f0eb063f801bfabc00776125356d0230085e9583ee65ced6cef70ea085ddd80a198682d5e583e8804d7de1f476c1ccc3bd3c0f839c2b3ef5a9e795cd7259b3b20302047c435bb5006730650231008d7815b84e3c987db195541f52a5a8be6d4614b1f3a137f8d4230e2d966872d4531f3058224226d5e185b4f847f84154023008489a94ebeceecfe8c946c367c570b38fa2dc3726aa0e503bb15e1d791aefe75af66e43b22027bda9244cabd22aff020302047c435bb500673065023100d4897442cfa85345b76121c1e24b69105b530feceb5cb6a0d22e0e46e7142706dad8fa40aa762047bbefa1deb4bc91e40230541f77fec61d8b88b7e02f2725c65b5269931d9affe6514aafe884e46806af11a2c165afe59457e76faabbdf65000f720302047c435bb5006730650230712d0f2c1ed6f8bc2c8f27ba605d843db8ee240f6c5d13f43aef76709d518d5012efd764cc74b06c6a68b069204d0f74023100a89faa25595f5d0db110e92ad05374736d0d5298416ad38fcf889eeae82d51b4bf4bf6a3741293d71e07df488612bee30302047c435bb500673065023100cd2769f9921b62c44f3649b12c03fbed3adf21edaf4ea5a3e509e867a72b87d18159d9b79b1ce2d001a5c29732886752023067c8b84f3c1f424d7f4aa9c11e5e709dfd3bc428d26d607e7efa311be31972c195bdfafe6bc981db72824f924c690b5a0302047c435bb500673065023100d4f8b59011932b1450041a5c0dd46f7724f1e4f8a684009fa1af59f2b43005085814d5b78bfc51d9fbc221e6ed8a782802304a06b3732d14b613bef81b27e1367cae7c9f24a86c1e7018585e37932fa28b57ae615941afe8213b06814f2cbeec85be0302047c435bb500673065023026840467ba0ab03dfa773284e1c94ecafd3db62d39b4d8725729998607f251ef6c5d53e0fc2cde8739934cbea3143afe023100b56b1a35f31fa363dde546b7b88328f4df8c12bc392e4ca0b71607d8c3456564997f27630ff6392f5c67179414da6fa00302047c435bb500683066023100e692ced252c28984ed326448c1a55f9705f7700c0d5b25ab013fdbda8a38ada5e2bdce9f632d8991611b31e88a08c485023100823b57d84d3cf5c2cc7a722fa4a650ae5e7531cd0a1bc10478fd77e62312f0c88392306c8075f7d5fc7e53e9d4ef58a70302047c435bb50067306502302fb1705b9237ad5c8c435d3c36303c23c6dc1d8718cad06d62a6fef704c2b129a9c66b73ffd9cc9235161b2ee63c84fd023100a253536da6143f94427d05cdbb8c7de79c42698d792e791bdb9af4ab269e596c75de2580310009978bb1e1ed61e534cd0302047c435bb5006730650230631157f8fbcf667bea8c764131567c9683cf13709b6e19aba305d6a17a1110754cc5cfa452a2beb454ef441c9ea3b3f7023100c86eefd6480933fe0d9e32456d639cf08bd992add9c5ddff954d8288200a3e9f29302f256e4ac65c226b9137e00b37d10302047c435bb500683066023100d4b844bc55c31e5918912c119cee012fbfd903a552f354f18338d140a712f7c7fa9b30f0e3135cfed7fa06e2ad631c2e023100fa3d9b3de88210a359a430ce2307e0d6dfa3b18dd041186d253e8bd85b8a8d516b01f05ba4a9a5932c7ea2858b56adad0302047c435bb500673065023064340afcc34018da863d1f911b6a5d1adb1ecf20ca2a37eeb114828f4fa5f11cdc26302d398d0b35b5f6ae3f2ae0b5fc0231008d4ac8adb6fff4d8772652f0b223f2df7bc8aae2219337110b27bd28284bb6090b75be4ddd51b6949bcfc0e6ed1380430302047c435bb500663064023052cd34dc34a5cd929bfa25fa2d67f60c3c2a3f294d258e7552ddf701dd216e00e9b183f2e3a2a6d555e508f38dceea7202306c38c7d84c34a7750ada5dd71083decded0fd1a93de6f4552d50a8bed1e68790e26cc5bc5d03c9e0fabd3b60911074f50302047c435bb500663064023006b72d43a791c3a2a888c0fe6e54f25277e61106bf127cef7dcd65bf12b02f4cf50ae6d7b98350891c36ada8b01a9c7602307513d101ecf4942e53ef992ace99e281952f7fc07aa7da687dcac45c2ed8221a7f6c995265ea9694d4c7584266cace050302047c435bb50068306602310084920a8ca85310a980f4d8a1138108789188012e6e879c08c6931bdc10aaa6aafa06e0feddb2c0a9c0d725429cc2b7be023100deac9c48ff5d1bf706b7104dc08cdc63956e18d6fae89bd6764db39934821c333af341cfd403455553ed2e7eb815e3280302047c435bb500663064023077b31d88e80bca52c58c7bda734bb6d4db3fefc4c081c9093de5c045fd763ce50db1a2a05fd326d4617b4070585436cd02306acfe2b7e2f0dacbef9b089e763c5dbc063778ce6a61862bc96da8b0b2a4c2e2edf13f42053a1304b1547aed1c30f2630302047c435bb5006630640230572f0bbe3eadbd0ad6e433896b09d09b1590a6dbee7832285052bac0cc343b88f8754a8dceca18cc0ee09762ff11e1d202301e4a02a5114963cbf80981e849110e502d3567800e5fa7f56653793595b02149e06e6f554d6f639aac37af8d1a70d8170302047c435bb500673065023100a64f6a64bc3d16d05226c6e74c940b99a06416d30eedb7599bcc497239b1af98ec256d26a318a05afe02f3a6cb80251e02306cd0986b173e5ed39dc1052e9f4d554d7b8ecbb23f8072e8550a44dfa10cf6b7b9b827412c0096bf71d07958aeab71b50302047c435bb50067306502304c1ec831d73833cb89bb3b5eef029c8bf290ee12b7985c7270336ac662a868331ec178df9bb77e7cff683c97ddf2b97f023100c759f00ec9e257925d7cfdec6cdb8aa8fb88b7038cece7b00eb1de17aa0f966899201d0dda005744eea48b41545e92f60302047c435bb5006730650230232bcaa3b88fbc5fcaa73005804cd432bb19ec6d9a6527ec5861fdc4e90087156ecdad12dae2e79f0195dde1bdb51fd7023100a0ed98d50581171f4a0551283a50bac5924c1cb1d2a2a2d9fe90a06a676ae54a99fcd66b1dda8313a9ea5dd7a27aadb40302047c435bb5006830660231008274894532579dab4bfae07bb5804f2f41a95aa705f8720570ed38c1bce4a2e9d16ba266e70ba2d53f16dfb03df3248f02310092f3c639db6c8efd17f4e00ad756808f4ea79a5d275cb907015c6a671e3830889a01e9c2fa1966eac6f09f2eac832f6f0302047c435bb500683066023100b19d78729a3c7b1b172e1d68c4877ad9f9941119585e0721d773680bbeb95dfefedce9cbeab9f9501854cea796a31950023100e758ae46eecff58cee2e7d9cae8cc1edfe466a6942f920c11a502e894f8fd11202cc2bd05760cf7be9c77236265f665f0302047c435bb5006730650230088cc1f3ebe65bc0d62e06c3bd11885967f4096c17926383e8447de284b5d602908d6a64a6e216d500f24c4af7e08b69023100f1eb805b3d73343352ce961a043e524de9daa1691eb7b2959a543702ea1268941e5a14479d4c1c53628e59810ef9caf10302047c435bb5006730650230299ba2492eb7306d1ed63ac0010b29feeada5215a57eb54476bdb9aa1261068a966c81add9d1cb55d03cc2d7205d9323023100cc019df7d53eca8bcebf70bc0e6996fd4702b4bd9941449a92e8790abe5a7bf7f84f76cdc1b5c2f6ccb8076b6b3369b40302047c435bb50065306302300792d68e064f5a0313e7fa91fefc6aa06894440263c37b4a232494990a1c59443c47d8ee271de712b472dbb26b59d679022f068e9dbfcf19079d25de605c34712d12da46fc07043effd4205d69702fb7dea0daa83bb5c4daf2ad0af7a347bd82910302047c435bb5006630640230125b3ebb755fa93ef65f933d3b11cc292c01acd8f78c8c723a9a1d40d53aa23dbd0894df464e20243d2baaad8074fada0230169bddf94cfeb6eb7524109cf7d7e9c21d218f38c23936f5c31deb608eea0c7dbce95c45a04ce443ba9962477692774b0302047c435bb50067306502310091d1106d0e6545e8f68f08f489111528018cd083b8e2c54c43e6cd79ace9e2804d5e34ecd6ea82adbf16dcab9c76956302301fd118a5a8acd241159a9deaa9b238e85a54e4da146cb9c50fb4a7d8a6866b4c441e9f5c093edb87d5fc7ff09d48471f0302047c435bb5006730650230748dc2d064069c917efe87f04516bb358b1d2b9aca67a072d2d66abeb38e08ad875f27b5896f0b6f802140c73341fc120231008e0d59e4febc612f1b92901ed84a69f92325afad68f77ed5fce6cb5ab6fdf835be623dde930d6a7517722426f43ee6d80302047c435bb50067306502303faaadb65ff50777a52cdc10a71c3e8dd63b9523ea0542ae57b5a8e1b23572884f67d6016bdd2c8d219bb981dd218a2d023100b8b3d3d7806d486a428d3b7210cc79a3ae2ebd8758017c17d5a3413da566a1331935476e03837d89396343f56c1196b70302047c435bb500673065023100de41b89151b197298f84aed68afa67c4c5f466f7320e59a42a48e104bc3806b3392e1bba3d72cdf7ebcb1ba55be0716502304d39ed064cc21fd898c62cadfdb6ee1267d4abb5844923cb19d1cb81079b5f6bcfdf83e5f39a7f8915493108390f1c480302047c435bb500683066023100d949482c75cacea7626741528aa91d9cdcd367884714316d149c44fb1d09f6c2eb073fea020b382143f707d9990c7e4d023100ba3f722354d8a95136f87b7cf2da974d8360848b4751bc63e2e095786d605318f8874ad49e0c6195efb85a28f94d13c90302047c435bb500673065023100cbb7e5134fdfa643deb446ad32923393eae4aa3dfe3cd1aa4167ad88c70119be3ef3e74d9ce594ef87c64214aad99e1502307442117c2dc99975f5434e1ae6187424e249a4b109e5095a47815b040e94ab8e7aa8d0ee5a9c99264f33221e3d5f33920302047c435bb50066306402305a0ab4ebb565d53e061ef489c5af99d1ffcd93ef05f30b5d1c8b4aa5e571d656215c1234cffebc47f4a7ff437f427be3023033795637e094e464282ffc1da44f3128c53ceb666832408b4ead4a99f240c6a0d077b757f689c1e8f0bbc02dfaf218b20302047c435bb5006730650230560d1c8c1e044d3d400123f28c28b96d8fafe3b8194157c17eaf859ab5051b40c1ecb143dc3f7f4899510518ae1380a7023100dd10f3e283b70840225617c365527c3fc10c697b0e49bac9b5852ea2b96dcd0cfc47d635d77b67ec29328813320f4c030302047c435bb500673065023100d57e5ece81fff3e40aaa96a9318426c969fd36dcdc733fa005505e1f4234d856f1dcf07dc9436d1d0da7d37b0455a6b502301bcfa3ade3a0604168e0176dc5169e4f1a44f77351b9f2da703ad49724ef2f20f0857f68066b02a611370739b11c68390302047c435bb500673065023100f7032d736e66cb543b93ab3cda752e42dfc8761b5545775ccbbefee61a8c34377c231ccaf92a86598af02351e9b23ca90230370474bbd2a9d54d8652939db0966c3f4ae8e547b3eae1f758505acb09f3f154369ae5171e96140202acf13e4a8e0cd50302047c435bb50067306502310080301e7c69d55bb9f12c33455f682c3fb7b44e5769a24313a21b1d488c19e4b36bf465d8a120c121bcdcde4c911d195602301fa7156a0aefe0aa9441abb8e136d07c49af58a021068375bae90a9a74bd4c6e1e3634fe10095a0fbbba6c33da7c36790302047c435bb500663064023034cf5d0c6eca195e136c0189248fbfeaea7717b80a351c8f190c177207254ec02898ab3516541d72f2027a56b691b83b023045978882a5a3773cbee578a3dce3528c24cf50701a67f1334b62dfa4118c7182e1b57951e507f3feadb79cd96f4121210302047c435bb50067306502307dcb20232370fc8cfc8dc6defeba8665d699c70e1a32392d6df2927c964442c064ff8fc7659b990e876934aabf9ff6f8023100f2c5fba41a37d3a1d6f3e912c4cd153100b01d91b0fca8fa16637ec2337da85ce1b83109ebcf02ef0a349790e8c4bdc30302047c435bb50068306602310080c6882970e36803866707cfe47828a95c2ebb5b7be1b07d425b2b2602585c781ae04d50485bb1df5e78a07d942d423a0231008c6ca8103e37eb5d984fddfcc0d85382afc24c82d653b25f77a406b3dee03c34994cefc1d0af4ccdf42b983a71290ea70302047c435bb500683066023100a95081f99c1bd07cf408e09c5f71ef24a939c18a71968af812c99e0b2439819c1ffa1156143588e6614fe563e541fa0b023100d1a02e408e3e6adb484be22faf4637147927d5eb6165899cb82d1cdca6d81108e26a1adf57ba847d26dd570ae4974c8d0302047c435bb500663064023025b645d9b706e5eadf05fe4a55c32778d4e15aa607ab0a8d4c32761540e0c30e74c99d7a5b966e290d439b244ef0a0de02301caa897ab7ac863344a4ce8475f46e3c79aac1980df78b9dcedf838d6fb006573cd4536c43d9afdc2fd22f5febcf9b780302047c435bb500683066023100e96dff80d03a4a1dbd58c05a627d94eea2ad1ff840aaf1111b2eeb069f24ff656b07597385f609049674b7d4cf320454023100b584af2c35c935347a069f87ed97fb91ce7f9ee604190e18dbde1c00d955cb795241017ff11bcb1f3f43452a187502270302047c435bb50067306502301763e40590d7009e4a9f020a96242475d6210a85b1c6afbc073185468a1387a3462f3097cf2e492cb87903d4504cfdf0023100eacf9fb72be98a8e0445e87ff30b8aef69fa2aa8b3cfbbacbff330b0369784b57f8c7a5382b3d061eae9b147633a46c40302047c435bb500683066023100ee56dcdab19849b15ec5bbcb007310a7f0ab5c21b24fe3ed2c5cd16a580e331ac8faa804ba8d9c62b4e5bcec08ed26520231008082e245bc10b5c2fa573c7bad1772ba34976bf7533dd5d2e5d369c8f80f7063f6d4a194267a6d574a361ec9169e8a930302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50067306502300b8445b54809f6d378c9c4f3355a2b98036e3ec23422140a1a9fff14954395040a926207d1ec6819154e6c509166f0b00231009623af7c23991b7a4d251f6a7fdf077573622ead2248fa3d4b861eb4e5a11026508e13e43f3675778e1e1a48514188840302047c435bb5006730650230654d67c6f6ab842121ee4acc84fd99a0cbdfb2e49386f0590ba86d762730357c7a188b888aa2be7c488f3c55249b75d0023100bd21127f9713781d85c48c765013b2908fb5a90ca9ba8a045cc15936fdcf82e08f91b9f558ee388961c870ff898766f90302047c435bb500673065023100fa59347fcfde5595bc6ffedff1d2ab9ff96bace0819d100efa074a9e16e2ce196acec08a351f1193a773cc3deb0ec85b023045a1c85ce778952a6e768b518700d19efdc11b13693e15fdbb13aae9c91eb82a161a328792975946139a4739bf7c541e0302047c435bb50067306502306f42ba0576a933a3f3006d816cb5f13bf5e88540a5b6f5038e8fd33017cf196296af23bb79be3f9467bb0ee51ed0a618023100af9458c715558dbd68cd5d63caa0dea213234008eaea82c4638d690accb0a2adabd13f5efea9b6b11bdd5b5dfb058cf10302047c435bb500673065023030af36d163ab9c5bd59529edd0c52e79de660d24e513520f8dbabd89e1d5aaa5d8d877e021e2abed3ef8c46097ff4d2f023100a51e5d3a0191314d2ae690e00d77e6eed3f9326ff224d931d073c627bd3a5762dc27e57145cba4a7fd6f5ab40e3199fc0302047c435bb50066306402301110c85e89f3f8dee7ff19dcccdb7a4375b5cb538134af278581e537d04ac64ed723b26c7f49d6221856bcc9a0169c600230469585db860d65ce32fedbf54871506afeea088cdc4efe3ba241fafbfa0d9ff1d2d8cbc6e15ba790a47883643e55bcfa0302047c435bb500673065023100c48ee7dd46479c2a85276ad01aa2b0190c99216bfee09824efb1d5461b8f2b58b41143c1690a67978ede2787067b4aae02307265d681d2a61cf20117e994868dc8d20392f6a32f2eb265768070c33fb671d01e5da4d1af0ce98923ed7c76535a394c0302047c435bb500673065023100a9fbe793079f406d4d21c08da4c9df14cd5e05e09d3dd9d60e832a0a341e18074bd77363c5fa809aba8e8614ecfe87e002302aaf050bda9c93920d1f010d308dfe33bfbf4864ee6685aa42df69c150d13a7308901669009c5c3481bc2cc6858a48b80302047c435bb500663064023061d0f2691942a675baaa228e714d6e0aeeef6378a58e6f3fc0532929eca88677fdeb4cd5cd9a98733248a5ee8a22cf8502306c0c1ac05a9dc2c5ac359218fb56a269ff61a79c42768b85b9f71440ffdeefff0f84bb0d4eb2a1d2dc6c09272555fa220302047c435bb5006830660231008e8d775df3e62902cd6b806cecb7f3b2bae7598d412fad83169206fd33645e0d717270a7471bcc9eabf28c96c6554e19023100db35b09d568a05aed96e4f8b14978b893f1458aa67a920f2a43944f7d57a70d29a1fde8d56a5b1a4bbcba8abff7bcf740302047c435bb50067306502305439577a8ff51922ce10047a7f5beaf13e54a25be99ddcf6758747441a960b331369be90433a2963164873590d880b01023100ff6f92a2615f9424d7720ee0a40beae032775ee31e7adc0cefbb3e52412493b6e798255401f7f62eef64a12b9cbfd2ef0302047c435bb50067306502304010d4c8ea787e96f473a14d7f2306e7b630b666645d527b623ac2dc8b971ba3d320f44d4da5a26b24741ebde54f440d023100d6d93a7c2b8d9589fb71a0363a8673542ee4993126c00434c787a17fc12429da67f38511e6fb03eaac9fe236a11f32f30302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023100af9eb1a725438c883e7072e0e717cd0fef850a17c218da70a8615d526ee246392bcaf9a7e51410a6863f8fad3d041f6a02303750764852c4eda23fabd8e645934263687370c927f5d9f1fc302025bc409e8ebd5695e73d4ce84f14c625bb601d717c0302047c435bb50066306402300425ec95ac445690aa73233cb182a8b827ff095c9911bd44a451323443d4f18d7b241b490efde91848d855e8b50f8af60230123fe072df698a677b816d0caac21ee16ba562969ccfafe3264fd614f0c8e8aa955f6c5b5374bd8c4560535e5038a4750302047c435bb500673065023071d122ba5866f468d0e5cee798df452f6f37e0823f6295f3e4744092cda10f351022a5e30b75c43c5b10a4d11e1edb00023100ba487b26221330c34c1d43a8647c2c9e2a89280822a78ea18fadfa27328462810f476c3d66320e8f21a84a7776180df00302047c435bb500673065023029c60fedafc6d2689b5b97c4dbdb2f85856dc54f076ab8b0283f862ebf8694a9ff5756384d2d4b24cc3758c2fbd90a00023100ce363a8ab52b2dd2684b72035db34e7f37a79baca953950716b7ccc9c26dbf6fd50b9dd9afb3880cc3bbdf7f4fc3193f0302047c435bb500673065023036b7dd4c15da8aa0a025393b39377f50a8ea25d036916a33cffd0e8500aec66d073b7adcadcbc8deb6139f1ead46ce3c023100bac99d8cc2a7d07ef5d0e1d4f1dea6aeaaf67a6252b4fe47dae31247e9c3dae749a0659c396b9b41286b01767bcb65560302047c435bb50068306602310086dab0cdd037fac4f52cff27a9ecea1b933a91513028bae9fe8c49d4fa6a2073404ef9131fd47dd3bca2243e0585d9aa023100b10421d4361b7e18cff3484c08ccc67667932fb8563fe539b5122e2e2a7d323b11a022d83fe358f68fe5b03496d285e20302047c435bb50066306402305d5950178e912a52df3ddf5debf0d613923f7226db00e18d9adc9f8b75878150289f88a2439a4f33d92c8916c9d980ff02302c797a0394b6a97fc5a8075c398ea2dd05d40704498c12a145ab8754be823594af02fa3d889213e69018796d1ac6bbac0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50067306502301aed164c11d4f72bed3790b7390527c707b2ab744e67cff82424aa2bb01cb77c66afed2543ad7646f345daa7ee782487023100ac130146104e46c67a727422e4e5f130da5a0e51e757fe8614209354b7100a37dfdf6f5883ec547c6a5b03af90bd7c500302047c435bb50066306402301bec503346a85e9ec1817848b0d2f39adda59b5ad0a6880c28d02f1a54dfcf5fe1324fc2cd2c6e3582071771dab7e74b02305df106e04bc9b4d859d109794930eae26392349c778f9883a85acc847a3ce9866cb237231aa290984dec3300346bdc7a0302047c435bb50067306502303999940b718125ae6f3f58702289d885c75edc91941f99e1c7b4f41f8017ec68beaf53f86ced1ae191361b5d0c6d3e1402310082383e842bca6343fc6f14a890df665ffa82ddb1f7d00ae6b85b0d375c18bd09b627e415c51aace66a8521261b70464c0302047c435bb50066306402304949f24c90b0da4b4acfed56c1e6e2b53b8b27f6f6df31ea3a0c32180d1180306c1f278d45be2e355e835a3b2cc0185c02300b629af4b93c95df40ea0f46afb74d9049c155fb88a13910aa64f24aedeefa2ab133aa19c31d156e77b28eaf4c60a6f00302047c435bb500683066023100e0b7859077e908edaabdc1ad2be71c55d5281c62ae83a399837330256f0b1334ec53e1e92c4b7792ac253415dbd9ab5c023100cb68c35f8dda9783ec44a2c5316fe2030a521fad28f6bc5ebd0db443189e0006cb80b63f3d5ca9d23d37088bac0aa7a60302047c435bb500683066023100ed7517482483817a8100073a0e36b9346a4fe03012f389124f6984e63d5f03c0e4af725fe2ac1235447b60c266665cad023100cad6c5c8c3f70e92f7e83f03fd967287963106792533745fb1b6bae4112540c34f2d3e824a04727f0c6d6c33d828b3e90302047c435bb50067306502307a88d1551f9ba092448fb94791edec5a2c91a6da8298889c54b38a7232dc3ac8d6998c9fbf6a9f727fac50464d6d8698023100f99892f191d1f8da5eba009663d43384bd7df13d417c728bc05b8064b6af67718246667900ea00297cb435e4a72786a50302047c435bb500663064023026bf93114ccc3cc6fe0f2c0501cc7980313a49c6e5162f404b8c7db1f45966d640b5c9403cbc47b559dd4262b0a1762d02307a1cff5f84bc89cc0a04929f8d08969bf3b00c4a4b6852fbc51970f61b008687e0660477c5307937027aa60e959cd72e0302047c435bb50067306502310083e382b4f01188f8e1f4b3a486da95905180dd4f5c9935e43169058b64e41e50c55bc7ac2fcb632bca3e0e0720f7308802307d42ca7261ce118a57821797ab8c6787c1ffd430370a9610e20792af6aae3e45859da597c7509de7ca0734107ffa27f80302047c435bb500673065023100c5ded09addd44fdb36d655020bc2edd8562eda4a62657f14b5d39cdee630333151bff752d68b59ab395aa1b72877ebc10230253a700c49de061433042a0ed2a8cf2b2878a7b1234543fa3db4e4eb9945b5f877d12d3f74882963e337d6c2411be7680302047c435bb500673065023100c81b734a4ae78f7468a75b734e88571e43ab849401528f7b54ded31012570179a24e6daf544e220fe00059a83164e64e02305ed55aadaa6feb9e662201d052ed545988d0df220baf759cbf7cea46421c77792878a1873323881d24bf90e8a5b927ba0302047c435bb50066306402302f94d3eac45f77700c6f0a9b6516ea56489abf72c52a0ce8441ca28a0568ba81551b76462a1bf99b73497c37179e944d02300c8c32ed581b3b453af4fc092c7d057b3eb6ab7e4dc6765c815086e2c89d6afd41a897ea94718611c6250f94ffdb88860302047c435bb50067306502310096e14db663c114a892e9ffcfd24adbd4e16ed4ee4e06beb0a791667d767642c28ed7af0299b0ee9d06f0fd8e9ddc397402303363a78c0085c65511cade2e81dec0561f7328af822b482cf0395c774cce8ab06c8e69860c23ff0d7af7fb2ecda8a2450302047c435bb50066306402302983fb158c193eb33d2ebc52bb28603e8bcde007a3a9cfe714e8f793d8624db9804a477a39156bbd4713c88d86bd18e80230346edfced2aea09427a19034e6958d5af5d91e8590ddb2b0336de7ca189b093ce406503a000746b84602d3a72fed48370302047c435bb5006730650230313fbcaaffc18b11abe44c7faf5846e9d814ed7f60d8782fcadbbaf6004dfbb1e3b89ce4b4b708a5999bec91823b32b002310093b0fe5819cf9a7723dfab82178ce342044141d13cb2244f862ce324faedd262e29402ee7156b13899fe9bc713d582d60302047c435bb500673065023100884c95c612f5b1dd2a189eb98c1433bd2d0557e629912356ee8173994080dc6c10f6c80b90e8a72f040655ff022159ca02303c1f6728d5750c434e090b55bf1a21cc5790eb9878039d16edda22e57e9995e151c84cbfbd16d8c3decb1a41772ff5220302047c435bb500673065023100982379289190a7e63449d0b9bda965799a013bc069202dd15cae0c9cb75cdee83dcce38e62c1670c94687601b9a3234702300144ff13ece9af065d03ecbf2065560dace1254151ebedd2198ef1487a8f599f1876b13a8b6a8ee21b756f880b77761d0302047c435bb50067306502306a4627db61dbecf21baba89e97aa66a22a1dc7980f1855f56d8f26031c0694ec3c7ccf3180b5d1ba69296b3b8f737f700231008a01a0f12b1d934a47e4b84e26305374c2631ebae82a2f15a94996d3e020181bdf25c2cf24848298abde1636c39a96130302047c435bb500673065023011007737ddd8a09faf0730d86bc3d8bef90ae45518c23ce26bcaed7ae44a2335cf2f5a5d9dc7ce371c3869ab818a661d023100c2aeb837435206fff7364f6d11e48f467ba5d260df3227ed550da78e8e8d9d61b272280421f2a043d59200a40fe6dfb10302047c435bb5006630640230266bc1af7374aac69f8f4a1b48300558ec33607d4f4d4adadad457424fea7db94bc9fa16654ad9f4419218ddd4ccdc7902304995547a663e8018a53453656cc9ef9458fcaefc1b5efe096a542096cde9b492c21a038ff53abe61933dd5290155a9630302047c435bb5006630640230179d81e3471ffa701cd5adb2a0e216a93bd8fb03a5b14df337a31670bcd8ba4ee90f3ed40cc852b9c9bde33ec0e32620023034c62b2d1a6cfaf62dc4d398fffdcb38a3605a8ae3ac04d5d874b313f15999e329a89f9aa510d6f2c5bf2b9ba2d487cd0302047c435bb5006630640230555f8bb4152c9e123a21175676a5ec26361f0d7610537c99474171b3bb11b4f0c1582dfc3d5ff6ce99fe5293b62a6ca302304451dea51520f781a462668075b7da1165bde85a9f00264884e2ec6407a3de69cf6fe324bc982a2338a0da26ad89fdd80302047c435bb500673065023030307ef69c2e3fa0be8693404567e7d18cc47f5f282cde7d10af1e292399f477ca234c609e2de1e5f58a0dd6ca4160c502310088e82dc33cff69800c73d86601497d02c5941808380dcbaa4d12b63fa510ea3ff793c12441df3185dce5425662a080440302047c435bb500673065023001b3929f8229bcd3a87bf1304305385be052971a854408156e23cfb1b611e8911d20aceffab37bd725264a5d58d9f1960231008013d5852a4192734c557e2a4aa2d1415a95e49fd9191d60c0fabd4b47710276acb17c1aba9d8b43828bb4aea5318b510302047c435bb500683066023100fdb685c45d8073829b5394212480a6b7103c9cf7386e1505551a9ba784a7fb4700f720f26f0230bdb5880ca1907fde82023100a8bc02938e822eb152391d32567200eecb8ff5c63be670e01802a6e43ac2b036cc0c9c4d758826ebdf0efb5433a155b20302047c435bb50067306502302a0c53b2257eb73f428d506297da27925c563e04a694110efd0294ab8df41265c1a0ed1ceabcac00249464fcfe09471f023100d6b1023e146b4113491b6e7f21ee6b06728eb5360ef57c855a308111801f6ea265622490288625c46624b79151891bbc0302047c435bb500683066023100bf58799fd8d901f3f9cc8868ddd850b0628901641921a237e0e48d126afcb6b38cfe9804569c88015847931b9985515b023100e907a044ae1efd8115b78bbc742c6757a02a34b8187a01caa34b2e36730e1707d83358814420c919801fed3045b979ff0302047c435bb500663064023047ae05df0d1dcbe90c3ee6fbad3511c331483aa8826e1a998f26df85df41a571c3e62fea912465d01d96e3c059c8abc1023050f765fd68a396e012ba0585ee91f8b63dbb0fba68ecbfb98e14344c23844770aac7c387c21b44f570c3ee6459ad72360302047c435bb50066306402306afc0d9130a5b6d8b4a31ec31b995fea53f803cc67f88e31df3263425cc29fadc9a4f9c9a439dbe7e87361be917303330230763ad3ed03b77a7f5dfb4a9ca543e008e310b2843ae609441c9f88be25b08b1cea906d3c7b9640d1f9f51a003d74bc1f0302047c435bb500683066023100bcffff371a0b2de5d822ef8f3ca17e8830d4f8eceb15de4efe41543338f11307afc699e1eb0813fa1036228f41913592023100efc4a327d354baa8d1b2ac42afac3ced4726b0f16e471c9d9b6239a0b7614ae1f998e2ce6bb954e599898a28715b95a50302047c435bb500673065023100b361243a8794464a441d361e1200c239fa1edbc3f23c91d17b7f16273e7435502ce2ec348e741177ecf7e5c4719eafe602305beca9dcfef1d4b288ce0150916ca38947f8b6595ed034d1a5f265eb5f866420ddbe9bc736d808e03efde204581a19f60302047c435bb50067306502302a87f6c8d0cad1edf943a92c561f2af1240f880dda31c97eaec798264499a3c785c60632099987fb66cd74c0d5142b46023100df122031aba416026707e9e01992582b5f7db3b22b8302a7569bc9608e08d973707dc15866f0601109d5bf9a3572fb720302047c435bb50067306502310096200b6349d3a475480e0e42589f49c45ac17d46712a33f2e5cd4ad86d5bdb94cc027260fcd7040fca3a97be4c9f0867023034be125d977f00da56c29aa6bf3738c7da2afcad78e335f398c9d1600e329bef92870ac3229ee2829689f5af2a0e6cde0302047c435bb500673065023033fac78c8e050237eb115678e2213ac8a5700ada838be20c7714c461b73fd3e10d4e6868c0a6c1419cb54b25a6e940ea023100e343e9270a3ca3f3ea0347865375d69f8ba03d3958e30446525e56b1b1f94f11fc19df1635dfe695620cb1a107136c300302047c435bb5006730650230659088f7074aac2d86378a828910668033bcf76cbb8a5711fe67ea10a8bca819dcca4ed0f6e496e946a3c5fe7cacce62023100cb80f096e4487ab7baecac41bdc5eb2de14918ee217fa2cd86587d8d91803e16c81f8df8302553944c9ee63e2cbd04970302047c435bb500673065023100d995b96da87f1f53f702459fa03e4fff81d3dea93dd3a8dfd5505a78960d2806934226c0f33715cdd403348fc37564e602300b366eb92549ac5969364fdd41dbde137685005458f5950296a88a0993cbe7067c4733305960f3549e8ca48b6d2a0c8b0302047c435bb500673065023100b4dd9aa5ff3003a1d8ba38a8f5652a40212c57cc53f42cdfbd85b9a8ed6bb8313a3f0f73823d845085e06e5d5c8fe31b02302d250de16c809fe92e3faf903cecf6940003bd552277d3abed22741e52b7905e0c1e70b2cd3b360bdfbbf549b6dc219f0302047c435bb500683066023100f9aa00b2818ed701947e3596b5acff1d11a5a10331a98af0201360e70916b58c1f2df97861f8a67cd144a5d5f0c1265d023100fdede241f577c7804d87ec144bc7b94d881d38202103bd372b5a26bfe93726f1df6e89e259cdcfbd2dfd9934b2894ee50302047c435bb50067306502301d00b9f558d5d28990fc73deaececa2406be33fd3b5fb5b0d54a914162045893b8c1bfb0c144b7c3393f65f9b8e5f89c023100ee9ea1416ef3b95e671fd06a57c3ca3725b13d61973b64d3fe391a5a4e3a1b9ce43de9736c9c90640d6b11120dcc7ac10302047c435bb5006830660231008d2f7dec1e2b3a84136abe887f0c4e3e3e597e158d4cb12448276c0dfdd0fc1d4a3865b67358d9b7ffb4f35426228fab0231009b877dbea93cd532352d47a8ea4113e3a118cb0e0fb98d53c3898a52ab8b7077933cfe0fdbc02f17f7e41ba6725df2ff0302047c435bb5006730650230764e23b32984f8e365d1ec43927cae46c0e5ca50d2c8bec5753ca3354dfeda5a98550bc0b2358c52c36912c5232332eb02310097246ccfc2f2e9f6c844dab7b78537c6aac7e43467c2c1f53ba18823c47d5a9c5547694c40fb8d33a1b18f5a9e6a03a10302047c435bb50066306402300e98c02b2e682411a3a08217361710f66679c32485f65c8050087fb74742ca7946bc95d8a9940aeec35e71ebf5b9aa6402305284854fda8e50b917d9adda783b45804184cd6dc2544e49db0ca07879f26500ded78b276ce51b6df43afb66d9d37cff0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023100f59cab00b5f785839a4e141e9d8ba3e39f5026394f939d20b400cbfe5e48342910cb7410795095f98313b8ed2d7523170230353fef759447549c29b93c2d1aa97eee7db06c0827d835c84f3ee073648b161be0bf667178d2a8e8d0cc29a5f20122830302047c435bb50067306502310082a9597ea5bc6c717b31acec34dea4115a637e3a4c59ddb91596f42d3bd58d6a4e1b9640862cb476b2a94a3f0aed6dec023043597257874ff1da8757de815c5ac1fc09a64a6775d6931697982cd7bf5669008880599059c61962e6f5d1090553e8fd0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023007799fb4a104970f678256c65ee2a22ed63810ffbff73ba13a2ba81eafcd3504bffc8ef4c9c6dd489f5dcb87149d7f9e023100a65c37a992fd8eaf6206f476a479c67fa0f9a36888cc53874a698f2c9ce39a652600f0ce46173536c9481fac96bfd49d0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500683066023100b9d3e7a58a2b7210777f362965102cdfde7be7d01495739b1c67efceb2be4e972adbef858e9d87e883fd2a7f6c33f935023100e795e7492a1aaec8e80949361a6cbfa4e458f0adf089489842f3c68f9da59fe77a611bf870defdd6661aad6574299f680302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50066306402301fbcc4a0068cef4e4794a0159d7e15a7eb73056501e5e8f73ef790b662013504b43ad0e5a6afe824761f44132a56988b023075b25fecb8b6d47c25d0f6d5bd17eeabcd5cfd4d8c4fcf8fcdd4784f1ebd0823862f6410fe6e5afd65b28659bebcd5260302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50066306402302c79a73c60e67cfc78a3e73b4e10b3070371bd90bf382f9f8f16f406b9456dd1d767bbf0762b1b5553b7fc9d94c47438023030414612a04d89ce431a7db8bb92e0a7d1b04f2dabc9c0c261e866172362d80a5d5fffcadcc665e3ab37980681157ec30302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500683066023100990c8043d026c497c34e9353519f07bf68b07392772544fe5596b675bfe5abadd3595ef9f6075914c2b18bc647844251023100beaa556a49bdbc978f69a901de564ca8f62059a6e54405b10349da71aff16df9edb871cc66cbddea35f45b2f9777aa1a0302047c435bb500673065023100c3837a49ccbcd639a0d8b8d2ce2545bc5c1b278189bd56b1b16cae32b0ded22a18f9b7fbbd56f280e0c2a8ffa418cec202307a60dbf159c5372ee2f0a8c43c2ef5178bcbaf2e947693d381bd8713c5fac5f809d73936b52fc4aed5461ca7d1ae1c7f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500663064023056ef7f6c3b472119d58155e195eaebc00112dc344760b7762af0d798bd7067175469bb123010b367eca10ee8cc06fa1702300eeb246ff2ad84b398e382bc97399a122737b4c95ffdcb6a86467f20b82a55b426164158abd05fe561e069a36d87839d0302047c435bb500673065023073eea6a3527e4d7faf95c7e73d592549e3e98bbcb9df6c4788c6b7ea593e2b16fd506490f7f3748919b371b901fa6e7c023100d7cae733b9f6e06548dac3795e09e7acb2639d3c2225f196c9f94592fc4cedb93bef2e9675168ec043c9cc5940761a8b0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50066306402304ead05cb087bdb8e6982f44b4096d135d9063972068cf9545d5b4ecc1e16f06614ff78e344c74ac6306fde2aa647bc260230535d2753a1176dbfa27a81f5d01612260be61c6792e067dea8fd8cf9e233df6a2f343d7d63f779e0e9a87aadb9dfb1200302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006730650230185fae3a0f85ceb1336dff4a1ef64206e5dda114886a16910dd71d134e7b12a41c0a95c723d2c1f35ce1ee04d0e70c5b0231008272e079c2d4b8b51ce7e4440fc78e089175cdca15f34853ab0281b00a7dc262d4ff55a3d5ae6187c355da3b405aaedd0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500683066023100bc6692600ed99285c66ec60b73b05f0d6a7bf283387d8da726b75d6689ef3be7b89eed7f49d6dab67d35baae01ed92040231008740803d5ecec59f30b7939370a12743067b480f56d9eb2cd5a19963127e0ee8afa1469d1e63729c72548e6feb6f41b80302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500683066023100c4915de3778f6e66cfb0fcd1500488d5bbcdd7ba28bb8ed22ed4d3e3d8383bbbd1fbf4d4d5895d65ac3e9e8da70e485d023100bd2575414e4da9042b258d5c605fb9abb4c40d8c03b73204fa20c19418ec0538ce47845e8f618ac352923edb525b059d0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50066306402305502208b4d15c57265ac10c97fa78f2f0e16769942ed38da73153b8c7684cfcf51c5f02b3cddbfe0e7d70aa848800f3b023068de6de7a232fe3c003fbe1964f08a8e4c0e86d2cf57abbedf280fefe31aedd033cf3690e591fd9d99c78be2fbde2a410302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500663064023009e67b2ca42676bb03d66456792ccd2c7a43ceda901c910bdf52f59daaad4eb2aae208fb19e0f7e84497e15f6df1a70c023009c241caa8688332ee7f0b5cfc6b38259ecd545692bf83f49df0a31a9812b2299a0090a97e58f1ac821d81f55179ed340302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500683066023100fdeb7b8aa7a5c0b2d5d118eb777e9e91a6e1c3984a85d50ca6fa89f1cbdf7706038b443e95b813ac0e96bf462b7a851c023100caf8c388fced0b50fa84b261a84dcc9aecca882356c1b74897d71045bac4dbe5ac25e1faab5bb1febd4b57e89ad48a1e0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500683066023100a9ac1f8a1f14020433d00d6e4beb4687e07d4854795db72769f4c61d13c800c1c3f3481d7ca1138017309d2b67f97f02023100cb9e61dcaaffc0e4bad8054f2af70585efc0b596f02db47a872f4296b3fcc93c236eafe727111e3e49f6c6c44c66a8820302047c435bb500683066023100bbd9d211511554fcd568f9faf0ab46cefd7b5b0b26755d272b5cd12b4e4684df46a3929e35398c99ddc6245863512dca023100aec3869684ff22f77ede376b6c4b3d10f76d1cc80c1920f9f6ffb700e3055633337c5f3d8bce7ebb8a894ab4faaf20a80302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023100c0b191e4d42d20b7d5efd4e48033764717a56c70ddf7a3e7d3e8f2d5bc4ab06e4aa9d8bb519851fdddb94273d96747b8023041907092b63f9919f214d948d4aa35f570f04e2edb70e5f425efcf3b992d9f214b06104d171bf3bc48fbac75aed25dae0302047c435bb50068306602310085e03c1a73170a09060b0318a5d5e4000e11eb54a0132993e6f1e73e698224bc419de29cb83cf58a64fc9527f84c2806023100fd21f6bc3c2a7c2d12dfeac3d2ac44b4c36ad9ff468f9ca99b579eaf29ae5ffb537d2d21e8bacae47a944df3871242e40302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500683066023100922f7ffaf89d5e7ed37fa60b5dfe2871ee2d190cdedc12ab64310bc479e87170c6d475a049703f1bc2c78e6a4c4dad76023100a9494a4d68c7c3a69609b7906f9318ef28f645a8a20a613b5ce4297468f6c4b1f8e080c021282bccef18cabca158fa060302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231009d54d84324ea76b17386c020b1a79f4130363f05713dc71cf622420eca862794a12c75f0f2eb9794821988af78fa1fc1023100ec4597c442c6897c2fde73b6ea37d82c56711d30895b39c9f94d236d2ca8d4858b5858de5f9b0a701d2b6e1bf0a2be390302047c435bb50067306502300aa01940a7c22ffaa5ffdd0bdd7bc1e7bd84f4369e7d1e83f8b9a7f78b3b7a6697e47ed0b115117c6d80e1ef1b2dad36023100c3b9c038afecb332e45320152ee9e07c4f9ff21fa52d4278dcdd0bd4b09210bca26ab6774bde43ffe82cbc08a2b6858a0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023044ca5da6547dbd8a4091648c5cf2aed70213f4738cdcb57b0069597506227c3942eff1ae67215a55b5eab46bbcf78b46023100edb6390ed361dd54e3bce826f314fa73e1d755e5879c4116d95ea2e82f6fc49a95ecded889ba3f83916a5d40f1aa41900302047c435bb500673065023079f8f01992b8b523134a14ee4a9afb3d610e573b2e8eaa71a95124ffe931203b1fa2907209733af560761b4b40512a43023100fe7c14e1f2bc7e91bb11059245724a244d6a0ca889f1c1f4b9dccde241bd9fef07b903f958bb1b63fdaac39ee26d841b0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023100dc61f74ae8359a1449769a6a51d61f8dcb78b661999a421fb739de74c1b01cd9b2198bb63038b5feca67a139ec13fb100230718cdc4e05e60512901d0181ada526983171eb07ebe2b1eba49f5ff851ab800697a84dd2d1ec65e3531fbb265b1739270302047c435bb500673065023100ffc1d8a5ea5f34820e474d674f96c2f1f2a52f5d872f96a3245bf6f968b7815a83a573f781f8fde4db166ffc3419e3f30230197c7288958aa1ddfb8f7c0cb6db5e7922a1a25a83205a29bb9fc400c6de4c11346ac6c5773402e587013a5ea02859910302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231009dd96e71e0a3035665b0d3585bc8eb1f6651795e936f30847e803a44d782c5e589a86e7d013fc5ae6b16d407aea042da0231008bdb02f74e0dc7f7d449da92ae6bac8e9012ab148f2f5b34003f5192b21c217bf947ad450682b275613643fdb69ac4270302047c435bb500673065023100b21fe66ee00240b00c5b9e7787f05aaed602bb04a5e6133b4c8628c172724fade1effd01ebe72eea8bfd23ffff54b33a02304507068677b41c903e763a8099cec7dee26f66364dc9675fc36832db7ba036605d059ee7c35fcb6da565060e154664b10302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500683066023100a42544d7a1629c342dd156475aaa9035b78019d757951401b06bbe416a4f5d18af882befed875a9f6fd1bc43a18e2b09023100e4999e0f2c9081bf8fc9cfe2af829f0200839875ee986f2d0052fd803ae9bf2038b3f1b72fa319cbec93ee417ff191480302047c435bb50067306502305d9eb84eedd2ff9def4b3acc15761bd880e637fbe3cfc22b2165c6a6c4b791766fab327ea8000416b518a42531cf2a860231008fc8bc6c54b988a29358825a9e8650763fdc5cb0e4e5766e5df430fea4ccce5bc7816e92fc9b51d3a96eb956042aa1910302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50066306402305f1f248afd5d2c7327f4779b2a6fb6ea48eb4b7cf91a0bf271a24da407dd43203875e7e2e0b8c019f12ad14a0c8c6d3b02305389ee943e6af1c7e50e2182afe3457d0838f890afccfc96f2632acb95b6db4833f4a3bc5cb39901c663a6708e26012c0302047c435bb500673065023100fcb002c1db40d36cf9ffbced0c4edad90eaf64c0b79ed4c196c3780a705f7d004cbfde4b32cac7fbb9250fc68118150a023021802e814a261e68633d24d4bf730eb4f7399b6e3fd5035717b479f410b310ea9c0fed1ca4ff628850f18cc2888d1ff40302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50067306502310096f41cb3f2d375a550a591eeb348fa2568a76537f71906a3d0bdcc494b1a5d5a5c2666710eddcc74ecbeaa7662df231002301ac7d1e5b7a44b5459245dd58762eda7795181e9b2803956601cb89ab106c48fe7b300f7b3952fc92b18c6afc633da670302047c435bb50068306602310097b6f3740f6a897779c401eaf57b1c5b4b9e01008046bb540ad375151d3b21b6ddec6d8e7583b2788e48199673bd4213023100e14fa1f0aa9294db1f3101582e9659a3a11f80df95720e175baa5dde24c2647eaade59e36b4feef24c1674db627cd7200302047c435bb50066306402300e51a728b7111a94a99a178a7728f169952dcd3dc181a4650a38c83d6e96adfc68d5326ff223d0b823bbf7b180e9120b02304d1a96ea582aa9d30053a14c9088ff0dc734bdea9f24b817a101cae9919c6c756e240500116ae9eafb5087e02005e9cc0302047c435bb5006830660231008f707f01c90309ea3ebc2ef7c8bab04311ddfb316ce97b6f3f2437805e60e087ddf7939203161ac887a5adef7f30c3f5023100ebba440823c481bbdcf9f54e190c99735bd377eea616af779320e2d29880f78cd686972ef22b7fa16ca459a5e5de98270302047c435bb500673065023100b18c0db6f686edad5d6e7c0512d630a86791263a97ca9830cc6fa385609819d9b9bb4e32985c8ce7548150de3ab9f9760230031ce24a4fe5870c3dc14c51b9d417109bb86e46645274f8ddf6cf67e01c429f3a75bf5d73f9e9498832483f3fe6afa10302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023047a048e621e5be30a0327d2ef09359fe71ac629c6a8b3d467e21988942f9bc32d9ea6f9c0483259b0eb26fdeafa9f63c023100c61f375b88d5e606579eaeaf83c9b5ba29bb15f0f63a3a8fc5a27e6aec7e07c2b5cddc26be9dba700bb1b886f1cb60580302047c435bb500673065023100f0d8dd59b1358552713efcd90fa13705b5bf4501173bb6874fe7fe487cfb46f064f865ca3b6e2d999f630054775bead9023049911fe395f38cd250dabc2c6a6cc51db367ecaacbe69f9fd7e29afe83654feb8a6de52d7d9b5bd13ccc8bd7d5e3ad830302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50067306502302bb47bd21ea13108b784f55c7f0b1d2848e784e7b652268352d1f3f7fc843a8f626f0e60b4c94ca22d52bc885325a338023100d856d65819c4511f619952b216ef599937e600c89fed829b7ba674b9bff8f3e20e1b5b2fbc5618db93ad7c67bf9b722b0302047c435bb500683066023100bd00986df13d79eeda1c4a199e6ef8432b0628dd5b1225d5137b54125b6cc7a0d12af02530dda801b401c75ece5a2727023100af669e0f6f2bd70d924bef1e895f353ea27c9c6d23ba0193570305cfe017a82f3cc525e79a1b0f16f6e3e558338695990302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500683066023100aa75e3dfe1fcac0f13da94c76763e2a3e2faf412d3f3dba967d2745ad4a7fbe64094ba0808a2d5405f6807e301b7a8b0023100bb8b0ce0a34791c19d27a1f35b4c4eb3d20b483029f9eae4b41c0ff0695c2f85ac4b28b50ac6354ee1b9e884781c9d840302047c435bb500683066023100db78ffe1a1717307dcd2ed3e138ba72ce5dbcdbb02d0a1fe3b6661a842307fc6c78463a00ba057d31fcbda56fdb6806b023100a947e0007633a6e29774a56bf0341003bbc3ddbac6df28da333c0d4f499c4c191e8c84d594e5c66513651738aec0c4610302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023100c826ca85f55ec3b2a59a2eee69f3016cba66699f49e679db75f97fafb085e97c2061384943cdf7d86273d7f7e70a95a602307d62415fa1e4caa3da08174572fb565abd4f12f87313bdc11c47204d8cc6bb0807ce16a06b6aeac8987949a0015120970302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500683066023100d04ca4a38b895d9cbfb10def6903d02363a86c83c1ffc2d92256b7d1da608bf9eb1e149e31d9c4aecd2835eda78a6d9b023100a6c7ee79b80b472dc47b2c64cd09e4ba8e98a49d3af50e07147fe2988ffd35f8376bcf53381e47b08d4a07f74d5a0ec00302047c435bb500673065023100be4bb3cad99314d0d1c0ccf52e3b6043bc0fd8a0be22d44fed7ab5e4d88b7a47d2fbe7c41a51817c1f0436b35745cf14023019d7268715efc06a7d9b2d8fc7e57cbaea882ea502cfee74f6287df4634ff849c76370537c5ad4e0e6bf163ee37315a90302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023100a8a040e77b63d643b9dc81658a41ac40012b4a38b7e3e930495ab92d7b90a4f560712b98674acbb08a20df498db6cca402304dd0b7e1314b749069f3be88f0c1f5e40fcd96905257094d52db6d1717914fa6295adef3a4d195d8ceab36825a97b6cf0302047c435bb500673065023100eec6461def7f404e2d4d0050b2b5c47500557bbfafed43d8e8b7b4e31968ed2a92847d097f9fbf0e873820efd814cf7302303b910960aeb948c75966982ab594c14c4f0f3aedb962de46c5dbb2313af5cb2e7fed79c3f5c9b99dc3dc3e4302d9a3770302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50067306502310097e9ee7850d7df604ad0b0aefd98d8b5e0cec11d270ba534a67cae95bc8cf3d9ba55d3acc49353abc37285f6aa74c52f02306d7d1c0a16bf49588d18425007e51e6f02ba2bc89a28da68b2bd1733cc04e219843129c9abcf108d854b194bc2e82c800302047c435bb500673065023100b5a0f849494fff97b10603547d5d7cb05c19d55b3c89e7c17c7e7a16d4166ad58d7894cf6be2425ca226c33ec17b5a7b023072903edc1c87fa26c0fb3387e1ec4667bcba2c907993a2bc21747f4812757cfd2eb5f0e5cee7fc17f83f712a1f1ee9f80302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006630640230547877714bbc6be3eb335621d3ce8d347d3cb4e2ec467541364d57f950ae44e8d9991b07a173d210ae5bd706ea2aa18802306c11c1cf2defa3a11852b4a34b559cc7c2cccc59d59df350dd40d200df68cb114e02135eb275057ecc3d6bfbc8dcdbba0302047c435bb500683066023100d818ba69e4960ffd616464bc2c24a72efc8ce74fa3c15e1c0c40b88cc221b1768ab04b17ce89172e6291e17f2c66a968023100b20abbf3c831459d3af931dfbefcc37f076812300318fa6cabd0691ebd455fa72e42bf8bf5287d0173f421512bed60d40302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500663064023011222ea168a869f0c176126d996ce2c5a798f91683dab6a8393e75c705a8c42ff3ac5c34261f42f26b93e65ca2f349de0230159687bda782e420d5f76b07d8436f48b5ef30cc94b42856f7177717e5ea67e22c34aac1304a99d01bcfa8178515cfa80302047c435bb500673065023100fcbb229d04c0409a567f657c4d65a0c728804a2668a405515e610e88775936125ea054713534c155cf8f924d4ca50378023054bfd4a1020d9f79fe93e1c24e3bc51556a3e1f399ea6c328bb635da806c5755ad6ecb6f68f7203da4e89309d581faf10302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500683066023100d88df0255e5ab67574224ab0308c07e3b5c8ef76220968b5c48f727e9f00f7d6f4f1240120ca7226badcf0a833b4729a02310096e85931214bf2569241eb776a9035867cd64f31a5b217914e91e32a26f60ce4bb4bdad10bfc0ec02a8db2f792505e200302047c435bb5006730650230616d87abdfad1b736b9030e77c44c0bf230f7f78846785a79985ee797bdbd508d1dfeb5541859745fd93ac99ceeef753023100ca673379df71b85a98b0e0e48cb797d7357070111448cc910f96b6ba013e8011ddb05a0fb4c327d2c68ba3e54aa5f1dc0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500683066023100d825d31dbf7f39743f73acad1fa8000304c3294da80675d3cc92797b391a48b688b2640f3678f77390fd26a139aa2f5e023100b202025a481970cb9a24a6aea081a10c876a028f4ce1a91eeba941017970f19a0d6b9d06939597e538f065f62d5634bf0302047c435bb5006730650230531ffb28a12c5ce5c18509d1fa1ff10537b23383ae456f41a6c2b8063f3b2fa9ea64473ff264ec6dab4c822724cbf12f023100d7cd4d415d78f77e6fd8cea5b979dfaab081c40e94a3474a67bca70ebf46045e9940c4f92b04740d9abcac5cded5aed20302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50067306502302c3d90052912e29eb57272ae40d95af2a65ed4431f19941f33884235647cc0f33e5f9a4c18fbfb81bfe7fafd7cebe5c80231009e395c787380d43a76b0ab53a755128c5d0a732611a3bf31742023be3aa591fb00a903beb3d7dd8b55bdc3af00af68a80302047c435bb500683066023100caaa7cc567093aaa01f14f65b755f2c96f3bb92feab6ba1bb8b1d13d4c4ecf84d9e8ef865deda8ddcba9ca2514ec7fbc023100a998875c088178d51a61dba84acc1495db956442e66ba951a82a02cd9b46105d1a0cc318e5bf4d79cda78910a1e3037e0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500683066023100f827bab041155f953d206a2aa47076b0616e6db3e979753bbfac300fb175e48d608af38b2a25b494b0fbdbb33aa18f87023100b2c6db2832bfa45ae6f9eed7cc962b76f18623a09b1be48fd929075da55ebda00b96bcee8f987e5db211a6e55c8d2ba60302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500683066023100af3d72237ac2bcb0d748b703192ed2b73f2487412d1f1468e08d00f5b02cdc1a208155c464131c49687ab7c1369e2740023100f19379b9fc3f1419844579294447046cb24115f99d25f1ced9ee922f626c3fdefad6f0b60d5660e170344913d729ede90302047c435bb5006730650230622d245a8fa9f6668a1190dd6fbf13470654f7b2ef6fd94a127e5ce130296382b9fc91c2f80389e896efac4fb9ea3685023100df834c3633a8710478651dbac0d45e2d4785d7d66bdafed58e6427c1a15f7a994522bb6fda753538a07256ff9c03c9f10302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006630640230580d17f271208a428fd29c931899b0248cbe44708d0b1eb79b5c2f6e0c261e03569d1e066ee9572e75a28116e4ab8cb8023034985d128ba0eddb6371da9f9c606930ffa87cf8e765e2f3bc45e4661150dcb85b580174f8c5a28e1b0621544ca1d9570302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50066306402306ec6c48bd0339a9e6626ff5e06cbe2f866e675a3744a93a4d56881e5f646ea81bb17e92662f5772dea96b160299db1a102306530503787f8527989665426f353d18b9d599e0015f9aca35ee5bc3b70c6177d9e7d6c90d3ecdc05c9a8c9e388195f980302047c435bb500673065023100d3eecc20839fe534210e38d231efd4a7ada9045584aeea6002fd0500db7a5f3b8d53555947a11961cc2b0523cb918cc70230740139a3f61b847c7649197796b2f2f6f287e2cc4bcce5064b87bdddd48fd71dc26dbc092e9220273a3a4651ab3824a40302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006630640230311fe1e028cbc53c781e740bc1c5fc78bd6d552b77346a092bb5fd32118656492f61b9e78719d2a24d6be681658d3033023040f3398cb29d4d6cc5ce355fb46827af928e08b5a60d372baae127f727aaf871a72788ceea56981e3eb9c5312a4f79c60302047c435bb50067306502307eb53e6702ef5168305ca58a68aaff1b8f211638ca3965474a8e60f4a8ed83a6cd23f267553e6e7b14ee7a411ce56ede023100afcde8f164973688b6decde8444b3e9c3cdd0993b1719ff012b9a4e8873b437ef110e6f8c0ab1897c993646b4fbd781c0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50066306402300d171c04202f456dd786efea03e8145f169be76c72c4a03489b9027f40f30e209d5268778cea6f8987ce4454379be4f702303a8d84221665ece6794b6e87c0d46bddf3dcd259daa2d570727b252f58f5fc77d9449ad93da2f63abe84a93c114d6b5f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50067306502310084d70f521372371b9aba8d31671d1ef5dbc40436998a1f084410b847e31032a81d874406fc66307564791346e85455e202304b6b6c5cdb0650835d82f852b2e7e58d0455bab9faa66767f355ca7284ad1091d4ffda31664aa10d81fae52a97c0a86c0302047c435bb500673065023100a45ddbd214e1a8df348d574140522e0d97499342f3ea9161d1a3c8c0e8a852c2094405ae6a41c0738d31d7255c429b3c0230760cf85d1492cd98e4f73fddf2f1074eddc61e8249647593cb9807ef62b2c9800765c0a2b3a46307b925bc5d7dfd43ad0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500663064023056d601461d1cf29bbf2147ea0997eae2fd1efd5650ec81c9ecefc1cc2a2ae7a05571560c120baa8ce6fcfc975bd922850230580304be6828ee9eb561be96e62f414f7ddb0cdf829a916ea7a633e3ec8d2037b2fc46250e1f7b78c89f0512c2817cd50302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023100f3aade0020cc2eceb0a1a2a49661aa1b2604ee0ab2212f1fbbc25d469630277a30ddf8b777c3f840e87ee05add84543e02305b4cb4fbd5fe093e3095d37856ef1d038dd24afe58bf09dc85aba367289bfca65f3396112b9a94a6a88601e0663b64a40302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006730650231008622d2661425bc2928ef6a0987b4ed330cb4b16625304ca1ffb07fee3d36f2feb89d2c5eaadb20e7b4782cb9e946707e023078f0a6bed9a85b8e1c6ec4e2a35e32d93bd0b7c33e9e61df022dee81a47323b143bb0b2d2817f625862a0b5777369eee0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023100e871ac6a1719f95a98f2a81e2c89c9897a9d4a57570acc73e42d4f6435f75ea6621446ce321da69a26c41b6b083e341b02303089c5f86e00015d94b19b14f0c9d641fbd27cff1e769e05e6530e7b7578f69eed9ed64a74ceb4454e3f8d9efa8176ad0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500683066023100f13adc62501f27669f88d933789ff01edc6716f563840d82e1240d40b04ded9ec1e148673b8181f190a34f5a94780c77023100f8bb144586616857d1effa092dfb0f8957813433466c900edb6c296cd57c19722adf399cb44591e5591141150780c2410302047c435bb500673065023100d386f061c4dcef238bfe735d73a5b7f3a91352565d15f10a18a85da07f84648746d0d517abb5dd9c27d636c00f7f0d4102300232029d78e659c011c5e08b8613caf4309995e3543e366308a685f76278ffaf729bd0e0a30c2160051ff46da4b10cef0302047c435bb500673065023100b5572677c7b9c5fa801973a1691365ae82a91fbd8a15ff3253acc4401f52176c329292eeefb1e3784f294ee897b05646023059d171a97e850d8216d0e09bef60a66ba64e1b679f8e4b5ed341408113f338b1d8f197d40d053a034dd1564173f43e270302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50066306402305db5b92a1d539b1f918166db47ea1c10c82024cda7e07431745d8bc7e324caa10813f4004caee34860c93ef2afa46a01023033008469c21592723ca690ebb4b341218c97f5d88fad7f77fa23633046092b8ef8f01bfddfb271fc6f521785ad107a7d0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023071c977c7ca5405e2692a6834205edbb4bfe03b7a7d4e7eebdaae193f0cb86799f60399bc0f89b7d10ca5cbefabe0aa19023100ffacfb59012bc60fdf5de48dd2234923248854268b68166a9581c07263cb4fbd7037ab9faaf0c199bec0ed5bda9d66a70302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023100c37419234f367881d8b1151b10df0b3e77a60afb948d8d2ddaabf825ba8cbe1c450d6c31c8d9d9e1f210115e17d4568002300b98bf9397f654721d9804b4f13e6d894f88d0343e71f375ef44b1ed0f7b292419ecb22e333e93dc177961e7f835631f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500683066023100a81ae67d345eb5749903a560ab08c807831fc2fca8a14c3042c6181051e2587d44d80dcb04f09ea7af9cbd887762b79a023100c75a203258b8d679cf684582d48b2a53f09e0f4231d2260044b536b29eaa2f222d1055f1eca8589dd0da3ba1acd3bab20302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023100f4de9ebeb6fc920bc80aeeec759a9cbbc914c8d86af8373e86758adc497a88c81192c4a0cf7ea5e9e75002c45b98c2f2023001bd2c7cf905a8bfd79eade451d9677a1c8ff5bfdb3a4cd60450cc5a0c4bef2c547eb0f8ad1b6f0f52bdee40bd63f8060302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500683066023100c2a9e0c8206d0ec62a55fa2e95ca9e9c71830a0396722bc092cb521a90493e29e36b9ec5a221c51ddc753885691444ca023100d5f015a7dcbfb8015591bfb707a6e37461074bd0d1aa4b837ee09d527e26ccd3f823d1add0254568e5f1bc364e76ee950302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500683066023100d58105fc376d7b38f1ae39217f79a0e5ffd3683677087e5b0d445e1f5ac0bb92f06515ab5a80f1ff8c71967e5a91b1d1023100836785b3ab5bb058f871e93e45fc7e5faa969987199345cb349b217979d7c800ca6f952d80872b609d6296f278eeb9790302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500683066023100b2f1d4df193c5e0ee7f5e25037aecb1a8fafe2ebfe14358d87b96c88c1a731251f8db28c72a1fb623c4d64c5ccc02daf02310091911b3c19047f19f8dc079470a83e04cd4c7c9c486edc62fd5a3605e9b0012851f3c0c0a7e4c6ac7f1218d3c0d1f5280302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023027d841a50d373293cf9821d8c3581f679d562d17439e59edd9b69f1875ab08b21efb2dbe8eb93475b12e11d8a63281ff023100a6a23e2e41023c0a830f298274d5e17bc260d53a22d85184c38485d32622f4ed086708ec3f67e04616c376105e0a6f8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500663064023005ab33363ba3f7c26f2d41e9f560a7d8701b3783c814312b4087227cfd3a188ef878414ea5e7015ed87c05f455c2a31802301983264da9621e82ee9668290225ed90e5c81287c38acf1606f5be4d2e6154b3ed2200137460454dac69c5038c72f1f20302047c435bb500683066023100ca26b8a255a32ead329c9e4fa5faa65afa57324282c5c8a390ae8ad3fbb0152f659281fdd03db8d0e84b026e5d652e46023100fa7c69958f47ed6772c28d5d3453ea8e14ecda1604ea0e16a0bccbed1eed62c5d44782da896123bbb89570f43a2fb32c0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500683066023100a09edb7e29a5748d7aca37d1dfefa33b1856b92d1613d4825dfd5f1dcd4693e64053892edf33d3346788cdc7da2cd1c6023100952c55f117f311469544422005878e21c89a40b44f4b1969d472fc920483d929d6653d8885bde65f32638fa53f59a7cb0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023100b3a0d0fa73f6247d6d29b26c43cbe21e2c37d3d90a313be4a8da2966af6a41703c9d88300fb05be367c4a2b2eba7ccf5023072934a1695b9b8fbb950dcb88b69bb9df720d7657f57c9243383cd9e5862ea0f061f163875034f42b62e6646e35136160302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023100c0ec6aefc65356fb482f02f221eed20f68a06a7c5e1b678c78c6aa3390722d9747c22ca29a3450e07b307eda295c33da02302bb98b89dc23e642f05cd7db65defa177b324b5512aa4c6ad7b93b6086dc6b2d7688c44463c331e775ea82e12c12a4e40302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008549f6a51acf795f68167e19ac1487fae9bff63455438a5033aeef510f151dd6474f13a7964465d861aeee8951011194023100fa0812721e62c58966c67d5a2d1247c888ed50beada94a8f00b06daa062a541e99f22f671fca1b081a920f14dca6911d0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500683066023100a17dbaf2064b956bad7adf8717368247634c269a30f6b795a88dc659860f961620cd73906ee32128a04330f495b73822023100abd6149b33242749f9f31a3daefe71d5e155ea263af7b9368d8bf99ca9af05c666c8d207fae339d22b72cdec0a2d91000302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023100c99fb54f38771f84103cc9e1b3fa0683167ddea0333979399fd67830a9a0d92b1d311f522665cf472af3068d956763d802304d7fcd6791a146842dd6fe507f012d7c3e7c163593470689dbc0dfd3600115cabd4b9d2937fc2e595045cc91ef7195780302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50067306502304982c73d2838aa7efe64af38c8f730d6813ce261e32e49b2917c31b753bb72813bcb1b5ccaca39904e1a2ad37fa29f6e023100a35e14d21846a3fae81ae7c1978f726a76264397f172aaad8f514a6a3be2dbd22a67f875e12c1538893db531a6ecf8930302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023100cf5ed1a0596bbecabaae3ff663b9ba1a67f808a992cc5ca2f7dd962d35e81115344d8830d9b8f691b0381a24317e799d023027883b1f27da8cd76934a32ec06e491b067c31ac82309a1a0dc6bac2a3f5fe12025e331c7933fb6578da5b205d4bf5800302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023027e2260dc71622a00cc3943ac9dccf84e0326b420c76fc017bb1a9a9d658b6739ef41d7c79be61c666608523566d2b0802310086b051a0e6b4c0c6f93842d337be18f0e513e6923d45e6f009908e5ccb448cd0a7b6278e835c8f21e5a57be3a5b2599d0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500683066023100d6a4a0ad0408c21b30ae89a8277a27de4fb15c5818cf1e75555e30fcb47e6edfd2f5f7628b6375560f75bb4e0c7ec2a7023100cb022c2d5b016889f5fb01225721948f366d550b819d38f0cce663b0ed7271e6ee0f5bcc9510bf65eac4762121c58daf0302047c435bb500673065023100f29855ae46adf8a53091f7dfd882b4454b869bcb8e7370b11d668f706dc64af91338281ec661397acb664a05adb8a2ea02303361ed931ae06deec49092f8ba5d37fce34853472aa5d836fa907ee4928d19eabd6654963843d24feb84ff63c2a61d3e0302047c435bb500683066023100bb72c8c76ab74119961dbb3a73943fd6917cdfe6a0a06941a4138366fc3e702ba80fb7ab5c25c03ee5884c9fae84877b0231008e8c079adba680831f7518b73f7328250b294b94c5af0b4e9f834f2fc9f16a354b2b6a8154f1158d9afc2ad47d8af5c10302047c435bb50067306502305b934f777268fb3dd0391e3ae200499df02139589d9ea8e3705411919ce45a34b72e4f3556d1be85512f05411546bbff023100962e66f3f6879d25fc46de9d841b2e083b796bd5188b6b446a6405bff58ad96ed2f6173d91afc894882d588f35d14f720302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023027ae7d6be016505c133cdda56475935e966d017640460a19009f18774786b60ce29d29b7e73987639a22a58e3ee0ed01023100aa0310494a8704b1920d472c78280a2ff877590c8b7d3bfd35f2a35062871e1f3fb90fcc3bdc0dac188fd1bc78071ee60302047c435bb500663064023055aa5d9a92bcfc0dece36303e52304f87840bc7352dd22b6abca54275e35c0dfba2ec5f91814d54a39b57a44f48ca6ac023016a75927cde985bd813cebfb2a03f17cf30f41a87b683352508d6a0ff5bcfb30355abc3f4435db7d3308e96b127321960302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50067306502310089f307cdb5efa58462864cb24abe55ebcd76a9cf23505efbe1d1e3b1832de4258eb0b8c9a45119d9629fb9e0bda2af71023002c42c1bd675de80ff335dd7b8e67b0d0498d92afa5a96006de0a7449546c70d3ce84214961c277a2b2a3f7900ca46300302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50066306402305a8cf465454558e3e18561cdc5fa09209092a3a4fd1f5b439347590ec219f7ccabf2bbf1042867dd5412d651c19d675f023034c9de235208aaf7e08c861494a4eb886cf4ed5109c800c5132a4a03d9606b79c2ec8fef611bc761b1a4358a2306d0b20302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500683066023100f40428c04b29611fb4d14eec1fa159eeebf6c679179133a16b1605f018118d63aef40abc0e563aec934d5640cfdf3ca9023100b36f62830a02ea282a09bde5259c5aa686591ba6d71bc7a11f3e7cb805f040d7dab627db6c5d76066bcf733d70e2d0790302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006730650230508d1539ad551ae6db6f4ee74bb3e54fec1576d91c1db6c058da360d8dfe00c019bd1a5b7f4b2427ebee3e4fd5b78fae023100d7e11f3caaacdee874dcb953df4b1c90540bc372a3ae11fcb5148514375a47fac652f24dad253d04358e644085106bf70302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006730650231009c3e592443ba06c36b1d59fece640ba963f41c52b65afb4a58ec57d8653c4156c3a8693a5e16d4d1e59706af9ac001b8023072ab213cfe280a295a492c068eacf793926b68e62481c370dc79423723e31474e7b7802322d2488017517d1d578748700302047c435bb500683066023100b8ffc217e3b9d884696578cfa75f0dd94aff8600ffd98ca8687e59cc980deb67b9f1deb39a946c9daa5869cefae1f068023100edfb808fee268a50210fd7644039c1b383c949b8d5655d5997d15cccb6cd2d3c65f2baa670a07445b19953402d68455f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500683066023100a396828f31daad5703a132bd8bb1d34cc95cda987bf7ad2f7f2f4049c6dd083dceb1b72db23a8e5ffd085f3c3c22add3023100d60e38c186abbf766fb6746799ad2a2030af8352f94d6a34ff7786914e2e9779e005f3a68565db8254c90581a243bbd50302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50067306502302fa241437294297d225c290ce051828a386263d572b26d08af914ab5e47c573f48cb43e53488863aa2b92005fb5ba534023100a1bc3056ad6dd57d7537078b2abe1fc4f131539ba8c70a38c76f1575e7b89031055ea182b7afc81c7d4649c338d42fc70302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500683066023100f55be43c8134b381d1d782ec82ee26832a4c5bcd0e7e4a19cea74ddc4266a770a0669c5e29eaef7a594badc3180803bb023100c21507385fd522800d7aad2df1a3466e67613aa5c8b83fd47ca66688547c42ba5967374d9184e2afb09f19f8d26ba8b70302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500663064023038d1639204b567d33cddbd9fccfcbd914838e96a46d3112759d5b369309ced413619fcd2195648c0d7f36c689047600d023068156ca349d32f81e994c08a3d93627579546e7263164b586b89647fb3189d5a8eb5271d0049888373dfa5d14de7184a0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50066306402307bb9d03204e85de9df9d645c779f749fe626701eae730f0f4a461cc0e79fbf47c706abb86d1f9792ca02e1c954fafbe902306eda05fbcc94848aa5a3e65b193ac9887ca57ab97f5359e38e223d842b71f75fd05ce24acf04ac40496e906c7eb1c8490302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50067306502300e2986725f98c1aac2d280605fd11a27f44ebc03d77b9d0b9c53313f2e6b879d85b58e6ea1894e2573ba7aa2c4116538023100f70459f6301fddfb806800dfdb087e9ed8697769f20f11fd80aeda787f9901eed6053795401e1ebeff74666225dce4590302047c435bb50067306502310098cfcef110a46057a15212ec3a49ffe953948f88a57ad83c899c4de9f0c8e85f6d699e092467c53db0658d80beeb0d53023036764a4c9a4bf201013ab2c19783278afad20c3eeb80593ddc2c915524ef251cda79fb23525321da61a2b5388ae9e89e0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50067306502305f2fd308429e96c15fc144174f9fb18b9f6da8004c9d0b7c649d041f4fdbb76735f45b82207c963e9e0f1fc3cfb230f402310082bb069ff838d010e1f2ca08a7cea939196c6dd202a84a05bfb66a599d0dc9140733cd90f8966360da6a74086e9f78950302047c435bb50067306502307886baf4cc4f08c72cf3cb715e74b479d7a17769e6cbb89b7fc34c4ad7121188fc0e2c87117886c71b818f2d29d5ac13023100f24828d9da3e3d7190d55afb256ed52830aa75f2024f1158acb9cdac184c8cc9c037059a11ead47c7bd3682bbd16509c0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023100e5354e902e5c133917e0f2b5e3ee1d34e2d7c2252b6e6a3aed531e2eb998ca5ac33da74b613793d4b0860c55d164a6510230545cd71883be124d1fd31216289e332085f033f373734a6a1908977d305b7ccb258061543cbc59aa435cef4097be49950302047c435bb5006630640230749d16a9f16873d361c3b8ad7e32821d2590263ece5a57b8243b534a2915ac3ef1870707d38bc439cac9872ea91aa3340230725d90a98c03d959cf5acb36c2e4399e31d0e28726f8881db1539cc8a3f4f3ad4bc266d890b0a5ce12f6cfc3a51d9dba0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500683066023100cc0eeb9d8be64021f9daa034eafd31d6544981142145a7ec6c9e5d50d1eb9998cdc1339072b2b66ad6f0e3580c629568023100b1872369f739c8692057a3eb475095741f16cb5e770256907180c0912ec3ac38f5439e44e2339b40f53c450148eeabcf0302047c435bb5006730650231009dd5112797e4c06aa4d00501684c5a02bb15e5a55013123fd9e70a58ce131cf07c740b61c3e03859af4f0747af6df92b02303b2fdcf9e4a27aca10d8a3334448b4344ba00246fa90c743435d340fe51dc8f23effda2cd7e51b92b272ba5dee93b00e0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006730650230192c1b7b4c434c0def75c3186e5e1a0028e97279fbed1e4887526dc93cf81d3f7e6410e715271a77052f6da5946d993e023100c090f98af907205178ff1c457a9d4eacdf23c921ee2104858fc4e38c94d7ac803a2c3a6bf4d0da5f7740fbd065d35b410302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50067306502301841fe3656820355326ca448977718397642aea2bc8a53fd53262e23c9fbc9aa7c57ebcae05184d8452cbdd172d69358023100e642873e04ef04c66332aaba64898b7232011a5214d60544415d9b4174f332af0b66e132b79d03722dbf704f7b4c81000302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023100c96867f40b4e1ee5b78714cf26dbcba8fdff2238fdbc459b1e3dd5e67ea25d4d8b908a8985017cdf32e0b9bc6cec6c820230570a4b7b0225ccdb9fe4715b5fc34834c7970ae84ea3d5529653d8431939ecacd432bde9f58eb977325d83d039b0e6170302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50066306402306f29d22cc65139a4002282313f718e4cc8b4513d95b6949bd8ef583ff8c36bf0208acf7b258c758b93888dfc161e79d80230123e9d829e56dfebfd423c4450f6a2d98cde2e2376a18236193e26a207988475177872ec752dd0a9e35c87417d662bba0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023020b33ef91e6967b4477330b526588beff65d85f1a10ab4f0e4afb211053b85c5aae24d37e7dee55d982f2222e18bc7e00231009e94f748c4f90f873785a0586748a918ed4268aec3f71ccf78335df25094bb3c85a1e34f331aaef4722776abe07d84730302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500663064023075cab01246b83a79a1eaabb135ce9b8d59a818c822e16421c95e833b38d70bf42071d35e46405775cebc0407c815e27a0230200178d46e9afb85f24a4c6bdf359bc4a88f7b18fbce9004aabee3b4721632d3c61ffba8b5559bddd6f1779de8515abb0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023032a81aa3cccab9eaadce1197855195fd42d5b768f31fc56b8c35bad954efc0fd664b5898ea585c29f14350e5c91648fd0231009bea3d9d7d8ec7d0058b4c5aa6ff5b609654d65643bdc437372883478402d1f078e4932ae0f04c44e5e0936dc87ad4660302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023033a3d282f109843c81c4e74441ff2c3657fcae6909a08d90393017a5e1fb1d8b5d597c0d2c6850dc77ad065c39f4141a023100aff30452601ab0527fe957a6869a88f3d6998d9e9bfc4848fac0563b03f6e28afe0c60514e0cf69f85aa6d9b0110e7c40302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231009ac26faff5c61778ca3316467fd444ea73db86822376cb7b9a29a42e487cafee8e197099cb96162a4f5054650aeaa0b7023100fed20226c978b3ca2677807e6c7ff5379168cbc5adf9f3e0ea77b047c459797b5c105e429fe20bf37f29a4cd26e9ab820302047c435bb500673065023100b44246a2b3d36419c1af70ebf23289c075a537836b8df233a05f521900dfb4806a5e2b2ea7b3a19e7db72b18970d5693023054b9b57331637033805d9d3ecf190e62df369d67bcf738da2da021157c8138075e7c14bca3f8413e69d834624ba780670302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023100e5c1a88b6f8fa4fe9be614e4b1ae6af605b4fe1fa4dcdb0aed1b620226e4b921e33c507b00fec00ee86d52c1771608e402307f40ed5cf3dbc0aa21dfe2f661eb89c82f91ea55b18f2bb2fbbddba469134a30a6b1ca51229712935f5263f09d1dc5870302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006630640230615e41e375cdef8ca2341496bc62786d8df06a920b86db7f276cd48f4535a34b96d2410a30a99505fe81881d65ed86f102300c9c6cf1957de5db93d49c5b3ea512c6d002e5d0929ef182ec771b76563708ea39b4a57e25513b9dc4410faf9c656ab10302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500663064023043aba3e384b9e5d95e4671bf618f0af0a7ea5f2eaa2c559dd027eb373f046f4acb990047879c06a2229e410a487b366b02304d7c7071e3a2e744832f7456f4e3a7d190e6c238f81b60a442fb07fd0f36d588903e29274d376701dd7c25a0c57857250302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006730650230443e0638ba35a34bfc61df36fb2f4d74ec07eb773b302915a58d8165122fe412e6f9b12a9c7b1dd74e9a1f4a47b6549a023100d3cf314b3c42d7a5cf35e8eb9d81aa276f4ba30464e0b854b4f42aff6ad4d621b2b693a9b6984093b120084bdf8e61ce0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50067306502307a62807371e5aede9ab0694f2ffba91a8dce23b7949415a075fdfcc64a718dbe998065c6915b37fabba77009e3d4688f023100e2f830361f31406566eb6e71cf0803d2043cd528874b4ab0915966ef932051929d9fcec4eb5ed543919480f1614280760302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023100859681e2751169b1bbdfb937b29ff673be72815ec3bbd8d43737d2f5dcc1eff959ce1ed6906d570a2a6bd36fb9d39871023013025a4b71bc8666658243a926d203897fb706aef6c2996adfbed3db8e4e6f2055fefd96510139e076519f93ba41a8810302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006730650230371912bec5858bd93cf0365f061a16384c7230c95e4ff101e5ca4ff280adb3e4cb91ff83f81cd40e7f32934477e2476d02310090f85a2065300dc66db38e4329f32dd982263c8d497cf927617a52100f37491ee92327678db23b42f4df11961ee38fd20302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023100d856a60ce1687979d7888cc8ec0bb365a37cd2af3224cf54c3ff31adc55e73a46dbf9290d0565bf78291cf387126b7b902300ec7ffd8085d84aef56e21251273c36b1e19e26b537f25baff380611e681ea38aec1bbfc4afa02191d6277ef555f48840302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50066306402307671a8c0d6417f4a2f0de93dc7656a131f331f1158207133b32f0c8809015bd7dcf256c711a441e2893cd3b4369e074402301873808e380f032a8454763efab830cb23788a6488c685feb9db3ccb13242bb1a80fd17ebc2be526580f678c58ef61380302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006730650230494b712f89fb519f062cb2d0577ddbc479185fdca64070c98a3623944b0a9c2b9511b7fdb5cb0b294d7fa37794040001023100abf14c7f9e99238797cff0b6d9eb3390a32ace8fe280709a7d185ec30ea47b2f637d894cbdf5525463507cc4efff9c110302047c435bb5006730650230163d966c50daca905eeb2f14934157d2fed5eb10584a145cb006b609d26f60753a321fa3936f40164a6987bd554879bc023100b16d83e9f4943c859068d562a95583878b7999194f8d418bf0132537acbbf1bd5a87238fe06113357f510e7d60ae1b920302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008c43fa752247753e6188c89b555d3de1aab03d2a21e21dac8996c06d1c4b5b12ef075c404393001a99a0d2b55721ecb4023100ec8d7119d543b0aec475c1b2f1a7d8dcb66abf551e16cc099761273dd398adfff634a1ca80bcb75f1caf1b1b9254a8330302047c435bb500673065023100afb41b5a9ecd397fd6599aee81c8199a77805c706d5ec58a81a7f4048f2bf30b5b8a5af48b5d2bacdbd930581ece07e002304d797b0e6171641c3d8933068aac75a12baa533cb33e18ed1bf1116adc54e5b29bb4fa269a36c92eb2a4390c42df3e910302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500683066023100a2b12a2a94c6b35862446fa6f9894df380180cf99a706f5742451e8639e0a534e912ec3304d8572664712fd71cf167be023100cf95579ecd61a7a3b83ed9271fb77b6bf9cdc1bc86a31c75bf6f27bb5966666806bb5dfdcbd106ede07bb41e8deebebc0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023026236ad321d9e41808819689a1b0c78cbc2313d2a3002371920dfa9f936232b6647c88c4ff6cafada0151487a451d462023100a5152ee173671246b3274485ae560124c75bde5e0f328d9ea89d784c089e658dedff67413e8a0afcafec12f297b9af740302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500683066023100af13a9c0195a35e5670d0158ac534dea95f51374dd4cd1d48eaa4f39738bc5a4e0a800398c939d234ef9f5e0b1ed3af90231009faf8f0b293c6309ad0d4fcb17ca16db5c685ecc45daca4b151ae8e9ce3758556f6c436490ff372780943e3aca546b1c0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023100fafaea90aa899df30af8942f73045ad5c3916cfe77e83961e99de3134ba425cef50db755bc0ef4a8c6fb6fe3923167670230694cfbf26360b9e39afe56011b3e21127ec016d7eed9ba29a728d9fa08fb63f9eb652165d413fbde7b65ffbac3e84ad50302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006730650231009444f36a0d170c3583210287e7fe5f01b4cadee09674cf7f131546e9166f79816d86f6532b0a5b5979f475c5103b229602304f912836f72f5271ae9c20f8c5cd62ec4d608362ab4ee35d72d8e5eda99efad5d6af7010ef475844a7e170c55ead100e0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023038bf6bee10014b53c43c34e3ba0279fa925c919726fd0166557288946d33fe607f377b77dfa44e1d0a5fbcbbeab5e809023100f61a1b8ce8d1261668873903fcd143db646cb54419c273295b2f0f3593615cb4261e113e2b81a73b6839f4b56354e32b0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500663064023056fb281071b28544ea94c972c82992b2453698b4a497ce1959b2e4a3bb601fa089e88f1c1816939dd8125a2f0a28355d0230372b87592cc5af786292d14673a2e6c3d1462b071837975fe6d915ae1e73776b84446ff96c8770116814de7927d1876f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023008e10b2877db1c1de0111e37ef2b2efa8db6a1482953e5b315967e690dfb39cb3fe317b39f46142a2d08a9c833ed9c6a023100f06477756de54699378425a855bd4454d27776c302cadd1d30ce9baca579aeae29c9febaf39162acee21fd4ced3f5c210302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50067306502307a25e016a77078a2613353a6f023d2d69f2328368caabe6ebc95b4039e832e192a5cd6b1b83da8063a0300e9ee183eab023100f72418c6324be785014757afdd90691788c3f5c85c242b90d1e9febbf2beb4f6f3451b78d9a97db325b198a1fe3060480302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50067306502302df9dbc35424e5ec815ce88cf7c20686d7aa1417a09c0c207fcc7e87a48ec7316520aada309e90e1a963a9d9d841dc3b023100c285789399f7755920ff6ce3a60758d59ff6b595f053b6bf432b5cc62087f803d84f988dacbfbfbd9dcb904de49ce6620302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500683066023100b6d59a8af9189fda3a3b13e49fb676e2783c313cfad3222ddcecb26b446e1bff1d4b3216c4aa436d0278796462ce31e5023100fcc093e1e4f8926a83ec0a1d55c9d46e252a008bedf634f9d70ef568567cf9711e27ee1371df8ba7f799073813daf5590302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50067306502301d76d4ee66e995e71607660f2ef32da0c89089d01f35ecb6966ab950ab936d9018d917da668aa05a1658f2e8f840a91a0231009d897a42565a3b5bfed68ae97abd6ffb60cb1270164e7d85c7836d3d0668548757df7ccdbb81f074f1ac68ed5b6dc5a20302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006630640230322543b7964a7fd6f45eb61d5c515bb9ff3bba084664a05b3f4b29ab11620b3da934117851d341e5d2732edfc587201f02301700fdf194633973fea4b81c45df9532971cc77e42b1df154795aa4e53b670a10ae3a26ba1dc844cdc7bed947556f8ea0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023100b7e11b0eefe25c593606c9d9dc8eb40d4e086a5a094f6abad72d5b0a92abff81328fe3a704bead86d04a2ee5770634af02300192293104db8c09bbc291c1c2248724b866768f64b817fbe50a7249c6abae5462590b43993119cfb58953e22beb4af40302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50067306502304898c19c1ef39d6b96c4ea194853cd344aeb4a8a44aa2947782ada13783f0c1e038d886199ab22d01c32db378a01313c023100840f1c9920880e3ffe4fadfe6e7241e64c4fdd95607ae5d14438bc3c78f27d5d2d14693c9b8cf00d6dc84f19d96cb4590302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006730650230285d3e03ec561958b8dd62dcb3dc7650f829d45210f57fe3677b8616367a66422b5649d66fbc272c2125cce403d54fe102310096c8b6bed2ca5cbff3892759ba5a5ca7ffc41ba0e5545fe892672b98756451157dfaf3e6f5e2babe7dffcdc163022f6a0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50066306402300b2ad755785b01731163daabd74445d77f317108aa3861b508298a477691fe98f3ff75c514f69198a221a0ac7ad53a2202307cc9a89e0a18a2ecec2617d9296c0afca85d01f9a924b2c13e64ee0e7fadad2dcb4067b976f15015aa5faf6d63855ce50302047c435bb500683066023100e2a79dfd9858fb211cb5fcb2435ae5bcadc1f5cb2f687b36b4c236589bcdafa6d60053da8cd138a2538c46f60f8bc663023100fa18bde41e11a5cfcbeba73796b27e027cb1b9144a86bfe3b67176f4771df09f37f222d3c140495a8e17774961b9897c0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500683066023100e162384a0ce9978e3dd6bf546fa417d0a771499f9c07120721cb54ad0cb1feb83f9df6ffc3621d3793bcc08ca092b181023100f8d2fecf6baeccd42c615f426fdf0742b3e54511259507420c37b38218b3a8085d4d8bc4c1af7da54bbc20de7405ae8e0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023100bf9ea9c823285f03d0743dd3b8daa87c343163284cdab2b0334df2a2361068c07f027cac75d12a4e68dfeda08c9b135c02306da66cf59e8adc3428e7026ae2ab315f7b9bd6ea0ba48c96102def779b14353948b534d8a9c71dcb98d8aee53693769c0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50067306502302b954c398cf63382dd08861f5f79d6c11f4575a942b007ab11b57a69dd571dbdc914bf9d4781da904c4b3d90f00b9bcd0231009685d6a91914292298cf53b6956bb7fb975324ae4edb8d958c794bcba509043754eb18e2a7781c218a60d05e8ba0ed9d0302047c435bb5006630640230452719e9bf7177c58bfb3e8040928017de504beb49ccfca11d53cde949f908f347f1ae9312ec591ed27a786273947c8d0230305aa1d0a98896e6340cbb6f10dabcbae6760acf4b8f1e28b9bb4e6882d779ccf009b416b97ffdba6500273e0e0008ec0302047c435bb500683066023100d7cd3f970bdfd50e6ff3d65c9a25f4a0dfa526e26136a903977514ff4f2e52e521e171f9e463ec08d1011a791a41bbd3023100941edb74162d8c35b5a04420cdd9695357bc6f8d18b3d55f9e1662c62b4d3ad78e9f8bdff6d1cfc854d7dbcb6cdffb1e0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023000cc1af271d588ed7fa7e3ef59cfaaea03e9e0bb4ff8fda5a03d323c2b05d5bf7bd5d652c6f6b73ab19039d1f2e2c7b4023100ec8db8860e6e24558497f293f6a31780b7afb8887a924515b3f201b1771c91e10b6c56431eef3ef209d0ae5c7e00f0870302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500683066023100d9337c27f2975085ec0f9bc88c6318f5386974d56683b1808ae7f34a5a92f54d9cbc1ca4264a5bdd71ac2840e3fd263e023100e5b6eef1323005983089bfce18f06d75e2bb2f69f2a554852c33c34e3908429f750d29d33fe3553f48f3ff7c497168700302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500683066023100ada7230bf30d382c4c710c61e521c5e0c602fa008fb0251b267d99fc0f5693bbd2a2691af61c40dd23252ef6e867d2ee023100d63f9a3eb790331701c00b66820b6deb745b0c627d03714ed18e559845bc12f4a39851900c1e0fb4754798d2b19899f50302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023001dc183ab61206ea335acecd6ce71650b4f79c4467becd5ed0a4b19aea91993eba1e46a59323ff45b151ffc138436549023100b3ecb74036050e1c40fc62aece3d6f61abcd59b84de8136414984e3ca626dc8e0ce20f70d3d8f30a06e5d21f5a842e280302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50067306502303437f8609afdccef4c3256e36a56ba030e0bf01711ebd77f6b0f3c61fbc2d5c12763137d1605afa141c744c7a744ee2e0231009934830c56227cc0d77fc89cec1e1a7e7cb84a5dae6f675a5486d1252b37afc90771c3da61b0dd4b9e75669329476f7d0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500683066023100c846723675073e9dbb11dba67d63262f2b0cbb957838e6b214d9de79fb047272bab1bc94f17fc6d17e4e66f310e0dd35023100d7ac2bec05851d9cac34c16a58ec678914d831a6e446de6833576980647f13307cc60b8826f44baf99f5d9023e51f5b60302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500683066023100bac4c96a677faf597ec533067a49086b513b1e797d1b42099ea015fc93bca10eddcec506e437b6c2aff63926305730d6023100fa24a811b2d805620e5e4935abf7763bdfd3f99aad38bca2dfb9ab0f8292224648ef11fba98e23922a1cc8b02bfa0ace0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023100c616047f382cd6920b7046c2bddee9ae4231608ac8911bb2f6f25b3cbc9610e8b7334280b8c75f3e446159de0490e2c502302bf442d99841cfbacc40a9222b160855b7bc837cfb9244e8206044cab5b096f4241f7d74898e82877b764aea1d884bd20302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023100dbed9b81fb7c602e12aaa610bc034953a9eb7112d3fb352c74a1c078ba698fbf696eedeabf28baebce05fadfb7253eb90230039d3105aacca4e61a843aeb2de4ba96bc3e23d7d9d46b0103e3d0a1cff23ac08365c990bb3ede1b5bb70f3dc61e10a50302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008833124ced39b90f0263e5b009b0915bae9066f5aca91c6c2cb274f0e31eef301181954dabc1a0e4de2b42c45c344539023100e008a583d8986807a3806b3c524f16474717f377af932a688ad4b59f59849710c95ba65917afe5ae4a79e31e9b41be600302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023026fad54a89f913588f165f5609a9875237e0072db3d84aecc5db20e3024501ff1c3c1e3069bbf4068369747eab84d204023100948bdd121b26aa1e360293045edb5cec4e4c716bbb4e7ed3f69a4cc54a22ff367e20ea81b9334a95854a81f33ed4c6210302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500683066023100dc386eda7d7a874b397bc1d9e7287b32770c2256bc696970b39cdc7a80d9748abff604a7a2a97f478677b91283901a23023100d567f6e283b9eaab35788c074203955854225abc8e2e2b790ffde6746cae00a4a7bdcb1e37e4f85db543a3bf32a757ae0302047c435bb5006830660231008f2fed0dd83e2cc00463ab55908d0fc17566933117b8db164e3a5917724ff2d55323a0666e42a5a8fa5c156368fa206a023100f5739aff7ac95d89b2f697edc43d4db5a9a09122606f13fe19e4acb2848dd1f5c521774b6ac65c17daa549c339a3b8950302047c435bb500683066023100834eff19f878403bdd64f17b7b0500d69df67e76fef6add819f4b4cb687e2c18970c58c1113c384007e9b2e3a5b2e5aa023100f139819e5b594ef3673dfe89960590e019ba2fc66fb65a641e82478d292853919da3d5b9b2cefdb2dc6b55f3c4b617cf0302047c435bb500683066023100b40885ec3502c697f8091713272734ee194c8915e521cb9601ac87a618011014927e3214b42688e865d3937ae0dd3c25023100d9517995d65b95226a27890494f545e8e876d4267a77a6a56073df479eae3934e89b97b607c2c4afd97d70fbb32d36a60302047c435bb500683066023100cd8e73ffdcb919bdc9c3c3a4294ba2b23aef02158e1b2f64e0864c53d0ca92fe59d8bd4d6485f0b4a3dd86a98f2abe32023100ccc0d3736b1eb6abb956ef2da238d2c4c5b0b124df790707a0a47154401824387417e734e1511fe2569608d6b41c207b0302047c435bb500683066023100c847073ecfba19a8d56a1a107ec72f8b549e52acb2e92d65913183f5500dc3e53831524d224ff03baa55913365869df5023100fced8c2f47bca16013ff96fc2e5b10579d5391743df5ce0818dd85d5f2936e03df54d4ef7084de15119845e5afe0d3090302047c435bb5006730650231009baaa711256f219426c242dc440227ede9aa1dfb9deb5248416e34ab468c8701a8e2d261235e4452e66eb3a604b3a1f80230047527cf3d8e801c9dc08f4d709d8b0158901100ea281e38645f70cd5cfa1273176f2e63d56dc767de7425c3bbd851be0302047c435bb500673065023100fcb2eed9b608d2bf22509a4470ba4ad90756199875e45390646fc447c2bd6ece386d3a9a0bf5437ae2f138c1d468e514023017662e938c287d0ef209b668f6aa3efd9de86adda49bff528750dba4d880cab19f1040c875ee06f92278134ddae792520302047c435bb500683066023100a6fc281c11cfa6b09c062a915c24407cefefde207e7b70d0677d2cd146997cec89aab760de042dbe789ec8030dcfa49f023100c5b013ed7b1c77f05e0f77fe6c3e22c9d19e5415a240b0746e4c95837697db87f130599d8c8d955730224bd66fce51990302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231009c78f7283000df5de127728cb1248888af037dc6cac939c8f0a3f5cfc29cac4b3c3d17bcef5b0b991a7eb97d4977913802310085f0e9e0317359956a38c6ae294a285c7ea4b133381f190c86db541de428bea3e8a1181efc297ad6534c237f2958b09a0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023100c488ec3892a7a9f47a7e8dcd5759bdf1d1888e0753ae94fe32a780442e6507183244a6b80859c990e513a08facb91d2302303340c3dc755fe369bdecbefa08f113de44afcf17327103a475726ef2468bc79488902a8675ea718e09c3e8c3a2557ae90302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50066306402305b5e6aa6ca898dec35bd2b56034f5715f875b2f1341b57b586534c1c946c551805f5824da27080ae5cc5cba08d29888402305379e66cb684a3bf0188c400f628721c2800ac6c77f8af4009f4740a0490ccb9c24ca389c63ea977e5715ac98c6488430302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50066306402307306ba374a72f87427527878c283bdbfc4436855c374c4e27fe30a94a98f68b87367792a06ec3a8266e435a4e6423ce4023058025f4970282a66c9cd7c5ab92b20e30485760386deb0b9ef945f4f45ffff34b214b3d836be9cf0644031d94af5bf570302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006630640230444b835078680cc3eb3d1fb96325d0334713f7ed0cbe4b108b953f04f6b4aa7184babcda7aeec5ac76a2b3f275b54ed8023057923c3b14a91f50c140ae249d786a8313db307706e7d8f6b0c72f6c4cd1ba12af8b98dcf81303dcc76004f7ece8d94d0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50067306502303b7987d02279a77b589269a8889a78421001593ffa27932f49675a53ff579358fbf9b3b6dce2d343d92ed30f9c76a82c023100e985b6d5054cef5ae07da771ae2a209fc9597383c79af91c248fc073e96f071ab69b96066a38ae47e3a94c5cba30aebb0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50067306502307569722f7195c15b088344f8cd87d82b4bdb9d9b3ae30c9bc5b213e802d20a54c2658334fd54e04939ddd903abab5cd6023100cb2b0fb8bf3d1accb25800eba5fc58dbf77787506d924ad981e46f5cc66540e7ac1048e78bcb551d84c8670e4ebbb1970302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50066306402300cb30d2d4152276b7368501903dc981d9bc2b7d3a255dc897940e7073a72edf4da21ac6d0647ab30a8302fb503a19439023038d6cca985e387b26b9a54be96ca7aef364fb9c9d658b0935d5f04136024455ccd2b976b1ab5de071799ac608ccac1330302047c435bb50067306502305a8595acca0cbbd4668876f5b3beefa7b3b7333d1e865dcbd3be19861716917ca8b09e5039ae654b8776208cb502d3f602310096e87c2f9b295f808c332bbf48dddbee379cb810e44cfdc19f96aa5162d1b92473d6dbd1fbbce37c858c19599aad3d490302047c435bb5006630640230543207c5b9557d55943179a455b02c2fc349f4ac8eb211617fe577ddeadf4b445749ba876c7aab836f6c99f854c480c30230340beb02829407bab262ffcdec9ac932da509c4e1903dd7bfc4e24b3a086afc8156faa84bb25ae05529c8044d42071c90302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500683066023100eb09b90e34ae3ebf06a1e66c04ef0a7cdb7c5fb4262909fc7baed63c969fb413b54525c4986a069241adcdce9ad82171023100e2fba084bbe628b0cea663d1653cf34217cb13fad4075421f1974222aa02d5206e3cbb4efc08a738a00625aefb61e6b80302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231009c980460c1727d550e2fdafa389a8f2abe00fa7c2d93c90f6fa79c4cc78980937c8c5ce45bedc2ba4b7f7d36c10011d502310092d4502ee181b45fe6796b8d8d12a970e4c7809dc4f64373a88ef6692e8ee41b7528ae49bbf68ce69a515473014957fd0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008512d902aa8eead67a13f911c55786ad07ee05ea34ca9990c5442d73f69637154052a858b5a34c053ee55bf613a4ea7c0231009d398013b2af140b1c3e999c9497ff10da8f0cb3fa769158a5c39cb114cb7b35a29a7769c7cf37968d5c0f6f4270c27a0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023100b45526c59a2fde13bd40e2b8dfadf64c63a33cf79ab32e324d8e0b2d43c16c597a0d935b492ad293cddfb85669ea1cf702300eb83f4a6b695a49bf6d4fc93ddcf96310d90a30f99114129662c4c2d48415cf50088e6be6946d71aaabf94d7ed4fafa0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500683066023100e2951906b1f0cc44f0e20d69a7fe96561958e3346b025b90bd9b51c228126f10469d03a585798baca0a7a2e2f8467092023100d25ec3c5c7bf382534a98e031642905ac8e5c374387e52a066d24dd83b5e80b4120f2c00ac6bf04915d6ff96fa7ae1b10302047c435bb50066306402303317ca8ffc37c1393104ca061636b7c0dcbc11d4e3245c8af6aed84dd04e98d114eb5dc141bcf1dbac734ea6101dd20f0230178db82e5cb16ac9beb27f6c93f03c35a6b305d3613d9a781b9eefd8af0f23f95ab914453d9c36ff1acb8de65d362e0f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023037cc0d88d1a03ec88af4ca1af12896a02c7ed753da8a1dafa38d2d5b631110d238636b0a6c2a769b62e6587559325295023100d4fd3ad4fc69a1e992a7d4a49509fef3ef47b032ced9fb6db181cb91aebba3a61ff243a53245b42a2d8fa3b3eda2662d0302047c435bb5006730650230301653a4fd44187e3841d0b53551fab5d40a7d0aabf80a1d271bf0831a4dda3619b1043868a4720dffa28e6bfdc620c002310098a4a2d6fc348bbe4d3aed8fccfad5c0a6118f3d577f5f2719773f3233fe289e1c8bacce908df879515950a748ccd5910302047c435bb500663064023017cdc8824a254d3ac74a2ba5e0383c290c1dd83b869653885feb86827be75a724fa7e90070d1b78be5dcfdc83320c894023049e662489690c7d79924166f1c3440badf2b61c75e294755e3e3771587488967ba67b2ea6358308f00e62d031ff4ad4d0302047c435bb50067306502300159fbe92562ed52cf7232436f8bd6370b8d34fefc21c1f4aeef00a8f9ced4d1799eff61e9e1fcafb251337ad35d1bac02310080294c90442a6d2a2d5c6fd650c7e3197382dbe351ff349995b9cebcd3dcbf2ef6b3900569f49d300168f52ca15033e00302047c435bb500683066023100ccb054d6a7aac0f10a0c70915668cb7bfa369a80bd41aa7fca53b9a24348aa90b58dbc4f9ca90f3ce8f6230d9ffab376023100979e9612d437e5c150c9cb188cd2d09f4312893b92133c892121f5b5c50abfa09346a3d76811a07f04cebedae746955f0302047c435bb5006730650231009a7adef43f9f68553ada3c558e4620cef3946db81e267f264f14a3313760d0d711b7f2d7ea1d2104f464430162cb468102300d5f3e7510f7874b7b44ca87c1cb6a5f12204030f7d582de2cd2bbe52e07c41de70fb48d4c14447749902e7840deea770302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023100e8de1f1b75b00b53ae2f3a918fb22d10a5f27e8f5760ad556331e58b91a26cfc6d29035bf140b4ca4702c3ecc91c7b7002304fc60dceb623d8c23f7d3d9a4483459567fa4c793767975e80dd8135a3f9082e9e45273a74b0b1db864099eee70ab59e0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023100939e1885d5e7846ac6a0989cffd53da426baac2ff1677424250fc0503519cba1a5ce277995746809cb3f64b58c91d10a02300253a114874033a86229f8a29f09d146f06a32c9946d5223915071119ad55ff0214988fef12b0fd13cc5ecd0321264230302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50068306602310095fb49568cc205993c04d52e5629a19a55f47fdba1d54df6adeb1f9418f3155dc37c741ba903d536a4113dfee6f7bf30023100e6442fdd0fdfd2c6627d396706ed5d19f58dc37d8ab3675c3f4e8d8a37eab57840d3d61e14d001cb27b5f1020b8ca2120302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006630640230495ce4be160652ddd22c93b1dcd077d976ef903301b97948b1c081c4436aa45cc39a680b8b60ea23c8f7d78f43f0c4c102306bcf0ab17e43a1197608e2c5b77447244002ee0e08abcddf5914b66ee8c6055f7c6aa9b87957748a126128b6af678fd10302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008e1d697ef75e138027905cd5442007ffb6cf9a4acf81e2e0f535e347fd829c67338052394e9dd604725fa7ca905d95b1023100d6d5e5a5811908ae5d890fa97071cc130e1f48d32147ec0d928ee063bc96510e6e977f4796947e2477342b26408aa1a70302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500683066023100856e8d3ccc01344ce6b524096aa631bfbc61aa15f620c9d649e29f2b4a5844babc84c87f84152004da8a4ccd656d11fe023100b79fbfe3d28ee45b964abf97c6a97bfd9d92f3f4ee8f0912e4c26abd7947f4afbc8be9e0e338ec5d2f0271bc7196d2440302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023100e8baed71265148d0b402a89fa24fbab61accee86dadd984f29d270f5ab0cc580f7ca4e5702f0fcba803adcf22e2d369f023070fc8d3459b413c61ed4d568bf00d0ac52d802ac4b9bfc1f471550ffc6ba452ef1b06decb6034a88e1fbbd8835c5e5e20302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023022595e8e7d62bc51cf360949ce3f5783b9df70e56372879f62b91e0f3406777afb7cee0be573dffbe7df38af63268796023100d2ee1ddd0c246332668ddc7bb5557037481e65486770b3480cc4953db0ea5861cb68319d8296744c2f9df254e0bdc03f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500683066023100efd5bb56e0dfeb74908fe6cf82e951cb859d7c89e3d98bf1866e1ad63aa796e552360a355b74e78c330a1852a051df29023100a87b1e44725c43108c3fed58e8404a6da973b958a3af4bd79cf32fc2d492a8f682e4719e50c1e113393895ca918a1e6c0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023100917c04701a4e46076a0aec8f4fb853f163d761550f225860a6d82f9d365470bcc47ab1edd0162e38452ab97f05f659ae023053340b6a1cd7a3bb4f3ba1cae822fefc1396ad982d3d23cf3149c0ac12adcea4742a66c0c5ee5f02f613f693b8e840cd0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500663064023032e05aa47d557923223bf9520ccda645e71bbf992946a36d544049d95a4e448f804b145e81d8b5f10c60038f67a5a53f023076cc2792bb69253b8db7242fde75fa7619e01b1c4fa0d7efd8bd70490baa19f7bdf7312c32c46bb89a0bebd5b78505760302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500683066023100fa946384fb764043ad439666002ed1854a3dcf179426e69acbb35637af40504197e37d62f6a07293b86b11b99f076679023100d6af2990d194d01ff24dfbe8a387eca00001a17d2d6ab22891c47306b106759a8bd534f81215fdc3e78906c98afa34220302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50067306502304a854f8e9065d4243b8d820fcdd023ca8071b445d3f1ed1c561599907e7af2467e6475bca966f8115e9da3dfa40bc98e0231008bbb8edf2d24043f08182a56cbefec23bfa70746f6ce808cbe8f6d0320388927f0380fdc20b338641c32dea6b989f6210302047c435bb500673065023059e3cc435cedc7f4ca615aef3f110d195dcde7d07444ebce035f2b2ff983bb0a6d06e2e3f81f01566ba1035c0d74291402310094e23226013879fa811426934ab627b63ad2448b1511373adfeb64e4e568f22c2f605a78021ea61d90c37937c8da8cfb0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500683066023100a0c4000097347687480ac64e1d8ba313d9c951ef5835d46044c899148af5a37cba2f8afb02b471cd8a7a6bfe917f98bf023100845e76f6cc0c0d90c8cdf63ae421f6ecb5ca66b13ca57825e0ae118aae5ee13f96e8f52ed6c7cff3c2f86348e87898040302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500683066023100af01c834c56e13e21ed43d1bc25b024cf40b57d2cb4d9bd1831898cd246d55483e924963cacac40d1af9bc263a8eb047023100acd7bb07641fefd5cc4b81cd82246990c49288bc48c589d0901824dbd1a4357d269a61ab658b7da541e505799d019bc10302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023038ae38eab7d1e576271bb572c83664cbe3746973f22dc21fad5dd590c22e2eeefb071e987c5a7610381c55e82f08f1a2023100bc22c45b05af26f12ba92adfc2273002912b7c4089864167d901f737602c020368e16f536981a13d0205e9620e05cc070302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008004a994c27a38369820bb99d55916d595df143498b54dbbcaac42f53d089f61c18bdd9629dd510fadc5a148e232619f023100929153f1af4a902a292d96cafa56c4cb7854e75893f09e88d10e571dc35e15a4075b95e6ba539044f6cb2a7a1f8bfd120302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006630640230724b9f20d697579bb4362290c2b728bfb5cd9d4e985c3dc121359c98163ec5d9c3ce74894d0fd545d4111e2781d42bd102307ec220c39dcf734ab9762283f7afa59a2efb820fe6116407d8f872f90c5c1cf23a6e683079da5fb96fae6b094a5a0b060302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023043f8fbc4aa21c03df46f84bf67f2d1871a0e1b165254274da0510a45ceb271b09fc8c13e4190cf02795d7816bc892b89023100a10837a89ff3bc047b7f6874381afc7bfc134713b321ad83b46678d36f802f97d70385b090e07cac012519097b4a78a30302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50067306502307e6c2f97a9daa2fe302f6363a1c3d24f163ee0bf126ade3a2ae7c8492c7f00871d74afdb860cc21b18568c94c6fba4f7023100f04cd024d04511ba2d89b576a8885a37792942e0889de0c209b108a631d89030bc27119d9e9fdca615f07dd63efed3af0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50066306402301a5e589395bbe1cd9a59fb85f95dbded8d323c31c29233be17e0f981ca83772e2f79ee35aad56e525f72509f850618bc0230349adba1fd597b79b9acfc0e26d75808af68bc72efcf6c4235e5a74c411cdb69bc158206f06de26905dc8639b8facbfe0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50067306502307e6cd5164a300fc78178a267a407a9938d062f6f16b70dd72cf059eee96a2349285f1d169a66bd498282d68e39725d4e02310080db1ff7e3c1e2cfc6da245617f1bf3ee159cc6fabac3a5c91deac04c3e1dbde45e27d18d93c80f3ac6ada9f1655c7080302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50067306502310083ead56346bd5cfe0feb420c720ccc028469b9540f2aef0050ec10e175740badbe5be9374e82e532d18a8d46fa7d932f02305966b2e5521cb731b09e4e17d0518550c02cea66113334a94c44fc2da924712368c26340328dcedc8651baa7070ad6510302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023100fb29935b08e66fcb7d4c7eadf9f76ff913a148222fbb78d9797b604c16bf4ddc6741c6a0377a16430a78a20bb5cb5c3f02300d3f403d8cfa7147029f686701381ea33b7adfd0063f8530b9ed19c02dbf7b940aed2f05d5fbed03dc3e532e354da0d50302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023100d6b272d1cd73c7c0f6946a9d400d7ec882c6f7237ac35b597e5b87a7b19260cfb223768b9f958e8332c931fba6f8b8cf02304f4d33903d272e637d4d570cb0b45f818441ac7019822857558c2de38eaa3c3659d2acd5b0717e001224fd4e90f38a740302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500683066023100985eb45cf2b4f4df38e2504910cfa3bcadcbaf0b9c2ede2f0854afa5608cac84c18fd4fcbcb6ed91e7435148f132a158023100be1bb7b8c30cb7b4f06dca3174f17e78d408c1c5388fb7e514087b85c8409c3c096015d3a786b3943a37a4a63f2cfee00302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023100a1d6220be964593d7d0997aafef5c9b6c51db121d3f19ea6ef8cb5bb1a9dda8d0df7039b829e4a9a56dc3f4014071beb02307ef196fd9a8b0b95211a73d0be984ce48dc38b5f14495c5f3c855f5ce954977a25cd2eb669b298098965fe805df5504c0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500683066023100b9c09e8562a36c0a6a64ca84089a5d050d46fc23b4bb4e078e22b8a113548da2606bcc83be0e58a7cbbe1d02ea4ab543023100a83570615e5eab28492da351ac90f45df76109e68eca4a59efb3cbeb028857b3432051c9ea816a1cefb656a9103cbf7b0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500683066023100c108ce0a7886da809d36b4000b7fb7bdf320dfe07e337a1d8860358f8a1830bb2a7dd66b7d390a38157074da014e66a10231009ad64634f0058343e304e7e3fb938ae86cf60c262cf25275dd8043c5bcc828dfa3340b760fca7aea49b98cd63ab6026d0302047c435bb500683066023100d30ad2d99e956dcaa5784eae0790c4355ba3dbba53595373c4004e62b86a85ced40d0c7bcf52ffeb28006347d17cac54023100c1c00f4fccc8f9182ec44f773df023d465ff88ff143d3a06ce69177990518a2f56ff76ba813a48126ead45fb325f9c6a0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023100910ecb03b17171e1cdaf45c0edb985ba672689dc33ce77734ac3b8eb67067cc2b1fbbb92c5db236f816dd9218db1383e023043e9fde1874b1affe2d994a405ec778ba41a3a11a1d943b75dc53fd05f6f4e3d20a42bbcf91d4fe75d4f5cc97a8ae9580302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023100ce67016ae6d1bce74b9c3940398880b275d44cffa2e1e80dac915c7d22224467fd6f973b4889355440d3aa9a7ced1bda023046b2a699c0492a906e01582de00b44ced2c47859c515648bee38ae8620adf37ced5224e29446191b70a8bb2054f6805f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50067306502305542811081588f73be882f2d7a5635a4257580f1901566697d2a8490108e12afa9b120c5ee74103acf1e6358899c3706023100cf62715ad1747df366ddf922f3d1817aaf0a701854bb56d69715a4b3b98bb9827048d3014a934584c0113722f2c3e2630302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500683066023100d04c88a99cda78342e68be3a0704117716204841598e2f8c07ef3888e0ae0775f0d99f6fbfbfdfaf5b958efecbcbd6c20231008dc31a1034bbb81aa2b67eb61af392439a6b7a53375e485a0d2a1cbe277b740e056f263c9853be62c8093660592276700302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023100b9293170fd00e93daf2a7b8400d32244f7321c48a92d7842bfcc8d4d9344ee3db15f16a9f50530fa4d786f40fac960d1023027ce1341839d4685b2d8623380348d8f0b3583c40431337e7dea1194b7ebf60c7c7ffa4eb46a638583a780e162af06090302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50067306502305a255e547238df6fe72a0504bda41aac9fb3062fc280d045efb1b987e7e53ba377de136bacd8d7e6718cb6e253f3322b023100d95c1d5cc91a1dc2e18a83caea2a21a1c48209a86e93440f33315d671365948d420c53468fee290332b5869281eb0fec0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023100a61e4e0b2ddcc1d9041418ad7dc1a584bc276bfa16a6a340c032b6482db64d2975eeff8e031ab83ecf2e7dc6a10f362702301bec56a2a48565f64ce107dca3707aa2586541da671b3bbf1e910163ce96b8df3f54245ab3befc0dabb1eb0497d10f0b0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023100b286039bcfc053b553ea430170d97732570eebf4d86044aef2487dcdfdb0aeccccc765a837ba2325002d1cda3b5ed1ae023005481d4d23b00393ef6f5dd04bbd098c381607eef124a61b47443e5703114641dc0812e6f38bc78b2139cf1aeb4683170302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500683066023100f480db10620d2e03b80c4d412bcd6ace82808a89d6b1f7e956000257a80b3d751b61022cdaf9d3dd26606e4e1c3cc13d0231008bc63649488bdcbea03552da317307bada6e426e8398db89ef6b4bd6d9dc1514962ce4cf662d40e962b0ec794907ee930302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006630640230618441fa103f02c0039bdb6ccf9cd2724f30a6930e8fb987597329088e1dc84cee53acd1a3a3da2c35cfc093f2af1f1e023064da25054c74b5264bbbf2f55d566e50b3691327b965b4b4ca71cd92d7270b515be9ad496a9e23b4d4bc4298e9e4ed000302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500663064023017ab1d3905db589f07a62b1c56bcb86cae389d80aca56f566751066853a8348d2f5b5ab5b760eea665bf1b95150028100230056ed1193d8b677c3279ad7d02008dc7ba242cfdfdfdd3bb0f3158ff7d3eb8546374cf6186d10e3c9b95b6307d203aa60302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023036ee93cb99c0545055f8c6370a749a2af740ad57a975bac1cbcb599ed9d61f9f8ffbc1828f51e8a3c87684e4ae23610a023100f20b73fa86e5ad79521953f0905d461ed1ece9d1600dbb4938d7fea96391550d72354c3d2cbf4bb2301482e62afa4be20302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50067306502303b661c3109b866fab4511bc6259a883756e6d4ca79e1403c10022eae2c9e162b2284424dfc6cc3d95ad5a0fb35d18188023100b001d6ab78dc34fb0676563210af5f0eef9fe996fae34664b82adbdb9b041e4873bf1478d4ded176335f0c48115ce99f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500683066023100d1efc1548287031e3f72a6fa0fdbb5a4e8ccd61c82d0a6a3306018e62270c0fcfb5f34bcb4b4c95c8b87e68c3ad5d2ba02310094c7990ff2efa2998cd2f89a508c73da03c7e7c24d91ce3bb19e5f66d7103a92a4455e06791a73b266a6317528560b6d0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006630640230637158c97ba52d01498e093e796b5b14ac1f1652f5cc9b275055c9bf9e8a4c054a72becea864d33ed0d965542865557e0230282a930d5e0922ca94b338bb0d674d6f1e2c5d57f7c951fd58f575a8d166a03fae5152cd47bade82c4af1b0d9ecb27e00302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500683066023100c7758881460ebfa4986f36fa830fc405a6d1619f45ecf64f7f77961c91f63404678086f3b3da08cc380fd2b1d9586be0023100965dbf00fefe2b3ac64258942e16af418da839bf7cf3cda2b69015a082bb6ba7ccf7a0869a743398b42b53f6d7c976960302047c435bb500683066023100acf687b34120b8f5731ac961ef97d9dbb44b6d1aaf7411860587beb4b1e295bfd12be2648604d3024242988bc81f43d702310082e46ab27d2b5b9b1561b593076e2d1e61d90756d1247a3fbeac4621a264333299fb2d529ada914edfd75b572643dc340302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006730650231009b789fca49cfb6c9d5856a24e90d83fddf580494ef2b4dfe04c0a5871fac2a65cc084154fd8ab403f5f0086b4a5a5e0902303aa82882cc8f1cf538bc829e5be5ee95e16e91673a138036d208f8a84eb07c761e562e3a23d28eaa3d37e3226b0c54ab0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500683066023100ef44ac738a1f65994f0d305c96373a14a11427fee48ae6599500bc1ba9323f7a3261a1b4ea6ae4c570f01312a0a48679023100e2adb5b9b241b3c83e4947b246e6d58627759c521de9e49daf990b00e7e84eb78126c36632d56b5e27b2b4a422b1737f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50067306502307cfd81617dae17ec1c103447edbe6326db85a5e6bf4b91f1f866dbff8598c245cb9c03f31231da37233d3e3ff508109e023100db2aaf7700f67a77bfb44dc15ee3b4dee27e0d66c708caaaaca9fca02abec6b702e251070d7a63b691c9cc619feb4c850302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023048847ffa0090695ae61603aefeb769acf4c3ec7dca8052e59da8673bb856266f17badeaebc6f0010cb7b572a0a404719023100a5cfa5365b25808712f83d2b6ac4788d1c95baf47f2104afcf083d0360fc0d9ad1f7c4baeb175716b4a45109c5a2b1700302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006730650230237b68c377cfa99d583be9497e6dd8545186987fa5adc42d91f0821a9dcfcf0ede61ac6a38c221077ca174d42cd51a46023100ee0dadae35e48acb3c8a5e6669c379fe9765543506a0fb1277abd9b3b57700890f6d985decebc6793b1eb8f9de65935a0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50067306502306eb8d50599b4ed952bdb9b70c51a744b3d4f20745ec69cd8a91fca945a7edf1cc1f00ba91262ab2e9e913a0f4f1e69d702310094aee1984e9c5f7a3b347313e6855bd7a9b48c7011e0d8049b16c9d1900075c31e4f34e027641f46a27820df7b02e5210302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006730650231008eaac54e022fc22408d2d56ec52a41cac452d305ebc1b5aee45bf18e86b6c293e027719ea68052ffbaeead673f12c96a023051656d04f5c043eb8adf9271f83be9f7cb9cd37e08361e210f4523382bc84972143801659b3adf61ca8799b16b8abfc10302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50066306402300ca1d702ee842174d1ad9b7f200605931bce751fc5d1bfa80ae435425a28de0a49aaf68ace6365e7bec93680d90ff5f002305e0ff5e5cba4353d1ee8eaf78b63206fdaee025a9060007718907af40f8fff4cd9d1d9f2d810dabe5c5aa10b0bae77fd0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006730650230555b37d94f48be24925d8586e882e00d0384b2ea0c1fb2a139f927e08a266129c75e8a0914c8d546a7838744a292b805023100c64f301a2b8788a1ca1d8924f96fb832792521fdbea37a949c93a72b9f1aa4f7fb8f9121d17bbe4e3126d8e99538e3e30302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500683066023100dac6cd73d613deefc357dc63a67874e6badfc44a2701d118e0a45a2bf60bbfe2c2501a7b18ca280b60d72b11fe68524c023100df3405a6cd878c9a31e03cffe4bd555fd003afb9b22ee465df4ef770a89350623436bdfc9e61898ae38ab163a74991870302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50066306402307373061c446db05904a05c48076be27f68e005c1d97e3abd98f9ee7182f7d85f4eba94432484d5039365e75cc48dda8e023016ddcb5e01df34119c06d3b71da1827e92288dfe75947ed913283fcb59ddca258f2e5810b7159808baeb7fe5ad750e2a0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50066306402306b8b212e92257b24edbe7147b6ef7372250219576c60495ee43bfecf42f4166a981dafb8e3db58e59f2ad9ba787fee72023039be7c6641bffe7e5ed548163ba9489422b0184663c771e47f1403f8391b63902e6a11b00702665dccaf24d9c59fe1b70302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023060b46233259faf00e8e7e75c2321273f01beaf31349c6f9509abbc644bd2121eaefedb3edaa9ec18e87da604f639a262023100a5150ce30a0364185c091f3e51504b77770fcc81e1be0781fd950a2d957f3cfd5ca7044b2b2477680f214274ca23a3f20302047c435bb50068306602310098fb057384a02b0d725d4f8e395ebd0852d62ca2c0911de9b4e9ee3cfc7ec9a754fcd276f494d4a65abfc29f277fce190231008248fa15655712ef678faa367b73244ba9aa10357ae55787e6f5961485a4aa3edf77429f046c6f2d4a310af406ec80b20302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50066306402304b17b4c1dd5e72bf1a1a8062468772bba7ce26513c583601044b862e4e7e215e2bed48cf795ae684ef22c419762137ba02305cc0d6db98e008f1c32300d65323cc57a5caeb202288d7a0bf0a6c3cdf517dc50dfef26803de0901c1a23f90d4ed72e90302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50067306502304367f66ce2bbe98d286d7911dd0d732396f823105f9806369be16637587639902d874b5d17d4119b1d1a3927de185904023100d5531122f73c60b4086fe88cdbc3dc101fa2e312f9fb56d3ecf398f1583b9257dd0d595f6adb7f662b6025caa28b90210302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023100bf1cd303c09372fdaad7390acca5a9d23443d1ec18c9d4eb6fe7b0d92d46c22ba32655855224791dffd641b6700eac390230606e09b74b9d5113901f47e7188929e977d6c031e2ac3c001ca27d3d0f96d09d5c240544eafb3fd36eb0363429ed25f20302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023100df433aef7ed935b2580bdb7cba65ece10ba896a08ab3f0a184762398ae2a6ec13fc4c49ce7833e7ca534832f80beb38202301999663668593d7ab510f4ad23bfee9e0d5c970e87f5df2b80e7d625c28d765d5f014129c3f8d54ade435bee4a777f530302047c435bb500663064023024b2a6938f34a5a773ad8fe9899ca3ee514d840f3507b26de0c4e9202b50eaffad11a65f3639bc4a6dc0c506a7d96aa102301668c7ae2e25a38cbd8edc3361a3008ed529bda87a5c6c610269e167bc4aa2cfa508160854e1c437845ca35c1088b3550302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006630640230644e0571b0f84e30db79f303c06c05925104dce7a6a4f8fb0067877b1f60e343488b752aa84f3b648d7ef79baf54f6520230606d4efc24176959183d23edf378fd2bbc1fc16c3195da95cefa108bcebc47991b9f464a245ccb288ba5d4b9aa2e91690302047c435bb500673065023045a8d461b456111eb67b904d35e8f66ebc0f4e4f28dff2d30b8468ec749071c96a38c5a433e4fe1753c4a53c96f61e7a023100eaa231afac11e45caeaf55bc50d2e96b63000c2e0ec53850f1078d973cc759690d6daced786246b207ce521e3825fbda0302047c435bb50067306502304749833b1ac5e92328a2072f9e6fb176902a1817215fad530111d435cfd2b6dbc46a615b3e4ba3aeaf86a1cc9f5216dc023100ecc6ca8cc04672afaed4fb34bc7cab69ef205382084852bcbf2bae61b605580c1dc067d7c457bd4900c70bcd48236bb90302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50067306502310099b229b501ecc6db867c4ee93818532709b9a337bb2898a0c09d1b31a45414defeca48113500cc84373c0e9fe57dfc2402306ef54d10083ab4742481af34b77711167de17f2377774ca53154fada36cc5341e926a756459a62511e49c2ae2250955d0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023100e4773bb94491cdbea599967edabc8418ef90981be37be2ac1954144dc22b257817923825558c7d2f88a017cb1b1f43f702301788a9809c2ef00803ecd35efd0009234aaaf8e7401011e4a378e34867ffdd508275a6b083bdf401626701b49bbbde150302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500683066023100a8fa2211b08d87bac7ea5dcdb3276c7d9dbde981b2f3b9d692f72cd931964b9b6ca1e418c6365f4e3723ba9f6e251511023100b20c30e09f7b624af5c968b3e2492e2d713a536f84d684f1b9728956d427d9dc615ec095253b3809e156a18614ca48ef0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023004ffc5f440793d92cb904ea906d27fa92be6cfea3cd232a953d0490de0e9d85d44d96cac75e2301b18e5aa72209c6496023100827cdbeca304087847eb5a4cd6d94d9aa412be63335a7da6f808bc6ece53b324bd39c09b3e68d7468f8a30eae932d6c90302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006630640230053988261603cea865d43c7a892f9aa0c32035925d354a5b4ede447f7e35da63eb76c8b3c30ed1edc83e1969c683b62c02304a9df3d441184e1831013af9db65a9f397de7a676398c23a1799f250a7de202e76b071974570a6ddc7d211ffd5780dd20302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50067306502300af50ddca95907aa59f59450c1e319026b514ddffd275443acf877a91f8647fbaed2bbdd1a219277d59d606c2acb06330231009e8e1102e2c24fad82838f293ebc756691041b8eb070b3fa58ae5b09d733927a27ea318636656d9fb2957e6fe9e0dd080302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50068306602310090f8ad4c7e790fb2f7a14057ea7487b3c13c6107ba0b0a9a2a9cfde1cc78d54d4d59a33bfb1c6e4560cd228f3c439659023100a02d62e3417d29eb2c94d87a491fcc6d76b81b1056fed3b7159813ca48677ea8d4c608fcef59f198dcedbc7844a7a36c0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500683066023100ea255beb65aaf5a7c2feed2389a25eb011e9ac56e69aebac86bf3c7e2eefdde810db13493066e16258dcdf660c6076480231009dc6972a04b22363ff4d0d5f80832e747f93458779d3cd201314eacd93ea05848891e077bfe44b8bdf50a8383c4ca4780302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023100a00371077e187116fb8d69767579664eab7f7c0d94cb611c482bd6969db0aacdca424646e495552caeca0bf17d2f0d370230287a334266ea700a926252eda1cb6b78f62441ebdc78b5e005f06af569077b460634cf06f18b987e559c016dc10f7ac90302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023050e61821414186201d4c34bcd7f06091309cac516d52712310f67e5c2490fc1e9dd4bf3f14d1361737f4c2285d652e9c023100ce44e12a9778be22ac698fd6afe8332cc65bb9c99460ac01dfbd69f89ee4eb240945325ef53f4575888b8afceea572350302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023066e1251c130ba9d0c0c2c0640a3b3f39479010cdae572b7d978b9a0dc04c479c86340d80ed4b8c2238f0816e27843d9f023100a4965252728b464f1c206aa28975d970396ca1306334502daa9067021930ba8a47a643ddf2ba40aa1302908738cfd9830302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50066306402307701d59f6cf266ee34ad9b66f8d4c87fa992c2930ea6c257bd667519a61dd06ed64bc2b62850a9310abe7dd8908a2a0202301fc28df89ee5c5d0901cbdfcf8191b01aa684ad7892a8696065de0e4561a0df504e9a41fcb3b615ddbb62f7c1c8555580302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50067306502304bffa750171a52f0d6cf1d9ad5e36cbe1a85b5e4f0e1d0682853595fd21c213e0dd75f011d3d775d32f58c08d5041951023100828091d3a3625584b9f48332e6ab96ca0aafde07f1390ad9959c08d4658a31d1d36a97c9e77a2ecf122e25b90ab89a1e0302047c435bb500683066023100b24d18f5cf3a52796af2bd8f500f7b73db4d1bc1c0e4bd53db29dfe66c3d2013db6d04b01020622a8c411ab1f6deea00023100fadc6e16d78b1fb1afbc2e3bdec5fcb2506048497b6cab3e97d4618953a2a0415f51599d8340b3139a0df553b0d1388a0302047c435bb50067306502303368eef62aafa500ec0f6449b93e4e6acbf7dc20c29cce96a972daae9b329e0456268bac14f76b23eca4e9d694022317023100a3c149bfb826034a455e9a688d3bbbcbec5d72893bd5f1015aaa18c8a8072e817af48ff84545e5037554e8fc139a28290302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50068306602310083d7d90270ccb01bfa2689d04c00beb825e65a7700c8d5a97038d26cb3b817f50eddaef5f41a0d932c79dd4d9873208c0231008347993bda93335203dfe4114886f6772d3f8b1c118fe7ae2908dcabd93a666dbc08fc674a697e535211fc7518fc3ef10302047c435bb500663064023028fce62e60d950439a16c1471ccdadcb497d875b04861f2d53f5b350ac7bb6f0b65aaa65f6130cfe34a4dc4ee889f1720230187641c45d521a909c399a45fb0ad68c945561fc1f369f82b64949e8ff22beb4ca86ba53ce9ffa2f5f687e7fbd8989bb0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023100be9fd6a5fad946adae59c50faddd4e1c31098ec2fc41d20b04912429202c49a8194a58f181b2489ec32b3f4a1b4c7b780230656d480ba1582ce9eb1411a7dafe0fa5293fc07d9e54571dd43c7a14aac0aab5c507cb5ce190042d63b2d6d4d91fd87a0302047c435bb50068306602310081957e611c8b5a783b95b080bcee6caa6772ef2c11db18d6bbc3fdc66d5a5cf65225545183299a4eaf860d0ada4db7f4023100c07fb11a4d460e759da55d094feb6082155e39484cc45e6c9d59389685c61d5b72864e4f0ca1bed8c641a3cc210738860302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023100884db261ebc188a29a789385d51b5b116ae73b21251b41841bf52d9ea8b318875297ad521614c22b6780c6deea4fc3ea0230474695a92ff4ee4c63963bdd0d67d817d743f33d4cadf22362371cb6625f23c16930019a74a31495e072b63e68b3b3dd0302047c435bb5006630640230708b4cc873316c53d9ee511552fa05183059868f2f3ccd39ed28cda332c91bdc849f5150805f2b90927574b0af28c08f02306ccf3dede6f9d8ce7936b8d26072130c31668293076da1ef07d55b1c12c23250a8a759efd6eb9c4ae69abb087a3fe3520302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231009a61a997856101ec5aab2f25970a0a00e2cbcd17895db93dc0d25b622a8bd510e398d801413c075b9aa0082bbd947f4e0231008f329129c76091e4130c043ebdf5616c4a7c6e47ce9c91a6bdda3584253c5973d495dc2600f5c57502915e7e4190618f0302047c435bb50066306402305ee6e3384d99e6c28ccbc4bd0201eb7992d3992c24f4643b165b0dc053f13cab4868ff1747cbbb33e1b68e40e2817798023074deaa86a230b6c41567be096fc498e1f3c5a144b43780c19e2986d219e7210943732096ca498f4d1e76d76c0e1f10ca0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023100bd6ac2601e24206edf9aba15b6f6fc925721da6319400b3bd2914c64378ab4a40ab0d6e57967c30e5f8abd7e6182265502306579b48f51eb004fef6e301599e1b42032a6e54691552bf95b53cdcf1b46c9537d229a504a68d6baa4691cb04af6994a0302047c435bb50066306402305ad5b421563c978b319c8bbe127e486194b58565f6a6b80b0c2c00a35c97751e25f2b23473b07f60d17c8bee1115649102307e0ef56d345c834620f3c95fcbff5cf325044194295da706a016106208d53f3dfe3e9da357e8f6c327833437dd60a49c0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023037c7321fafa1695af815464e90ca12559c9e1435fb26e44ec5c572cdae7aa084721f4c95af03a43c01d1aac6ba384312023100d1df2090db4a1bc950613aa9e060466fdb4e492512bbaa8da4cbcfe1ba330ee504b1d59d93fb11b667875a720d11bdd90302047c435bb50067306502306e471afd02ab3ac866bfb63c170d82d5d77676074d772ab601a01f09485d1eddd4e1665c2a7258acae5f8fe2d2712e32023100dfd98ffb83e188b45738a8a2a12a315fe7c32f0963d6a0fb13702c587ddd8a9ff7f31c04dd0505f7474b5b96ecc0fcd80302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006730650231009d692e7c88846df7e0ee7877d04b8ceed0b111c3c405820853ce7dad6ec77beda7afafca096190129512cb950385263202302e07e073da1971bf4a343e53ca77032c9d150cbf240d3c8a26c916452b01ed1334241e877b4cf6ebad418514478ec30b0302047c435bb500683066023100c4796eda8dfa9fe85ef2555416ea92fc7f9b57bd6ec12d010f085e571714531cb7d48399f6f69af811eaa6066772e5a5023100de7db134e7366671426af2e94ec8784abb9cf0f4831b4219a48bdafa5eb8d069363de5c43e80a5ca65991357444320320302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500683066023100bf84a66a4a846805dc20eb00565ca0cb6e663a6a287b76cb520c6a5fde6e3e42bbf6033a4a4c39dfb90468f21e936f55023100944213b27b56750d5d73dfe020cafef7b7946ea0d2a20f5159158a697d23861d2f10b884280b57ea5360f879756c4a0a0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50068306602310093a099e128c2c127ec21b812374542120cc592db429f496da4da1d9fb27d99f67b7e0573cad24563f42ff081e96523c7023100890af3229089cf75347311b8c2b5b93b5f6d1a6ea6eb4e95004aaa42275ee7185713ddf21a04c86166f0232f2ec91cb80302047c435bb500673065023100d329e994bd9126da00941030c738dd2c6e7fd37534f18ce7f1af5dafd017c4631166a0025bdaa64d8e835926976e0d7502305e2ac1af074d845eec99cbe53e8cfb8ac5d4208aeb4ddddc53b3d51bb0222f5571b67d31d33300a1a5f758b7f4d1a11a0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500683066023100e80973bd331e9b3e9f9360b01a195f24b822ec6d160d65be7bf56159660f95d99ad283f17f7eabd14dfda01d727c134d023100818b9f26d3cd74d8ab3de10cf0200b6411e7705ba66cc8b9aa923beadbd69eed0a083c1580e90d77afcc0c14120c0bed0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50067306502305067e7a88f33783f8b8ed176bbff214102700d7791cde1cafa4c8c04a229710ab06967fd85cf729103c2c604c8e8edcc0231008c788cf3c081cdb438a4ac8717a0cf06a446860e25d8585cd6a41df75568409596a2b1a6445975b6bda088e3facbda630302047c435bb50067306502307a4633ad79794be945eb79e8453b2a82bb0150a9ece98c0b99db0fba72a862c5033449d8ef7d4c53c12176afde8484b1023100f4c293b8ae6051ebb7b5d235df73fadadff0831837aa70893c0fb52e3e8460b4af8cda3e2ced5a46ef55cac5b871e7d40302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023100813b472418469f1a39b499788564232df0ed8b6c07a06154c27c368bdb89d1d93682d92891099133974a12896e6ce35b0230755a4a5576bd354a231abc630f3b81c31c80486bf81d68680e937580155ee154f8527a5f15e89191a1502fc920abe4460302047c435bb500663064023074e48d82ca496677ed6bc801ade2c9563908ec2a099ccbb134f590404e0f0902c76257b79cb54e52049a2aceb8d507a902306e719270c3bd6230953a187554b8a5e112c24ad32e0dceb63f462c79cb6fad7f5ec425770934a27b4ad53bd5733c38410302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023046e97cd68956445a41d2fc9a98f80062322f2b90dc0e31770106b7a05a03e92a76528579764f7ed68fa4052e4ee5960d023100a468173e2fb9456c2af8811ac91fea564e389d447f300bdc8160db79b13bf46cd9c59affdd117fba08ed8939ea9800080302047c435bb50067306502302c97a195a8c5b4dfef851c978fa0ed5bb17844c21939b362077fb81815cc339fd7cd7ba5d7d9aee642dc37c6952fcf00023100af878cd0139305f190e647db0addbc7b09f38bee041d5ffa408891a39387e637cbbdbd019417cc453beaa5bdd4a44d3b0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023100af4c4b835946a2bf30d4ab9eabb50893c2d9574dd6918cf1e33075dd56a9da01372d14edb1e3c1b8811ebc1abf49911e0230706f99027378c55605a47198e80ceb4b317b954069ecbb22e2979ded2a9ef28757baff65c0f6b5f341cc19b429fcaa8c0302047c435bb50067306502307164a5eba8184e153292aa5b4f9e531d36f48d7a2127942b4f2c85a3c16d8d58f9e3894b6eba87e2cb5da2042c24bd41023100d1c9ff714e28d690967f788bd72bcc8b91e11da4b775f17b85c912023eb5f7b5301bd96bfbc13308923bcb0ce671d97d0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006730650231008aed45258aaae6a8912d41f083726de2032f704e60a93bb7c580ed7f7b31f3f55cc1790e8a89c2aa35055ed38cc45d3302301e7a520b5e869e3056be0e3f5b9236f0fa5f5f4fec2fc7eb66acf711b205d43ca49f16e966cb9cc2258922b888f78f2c0302047c435bb500683066023100b97d6c669517a4c5d00c1c31ea44c8ebcff97b0bb08fa196dd4a6b0f75a23a473c84d0f77575d9541806765162c4f78a023100901554d39d12904624786a688983ff5aec9097a629f5dcd7187f75460eb40981487bce3f168abceec0bf57bb4628d3640302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500663064023009997b2cc7760cf23e9bbcf846f1f8d3dc6819bfb9527498493ea621b65f9879edb1092445167c46c7ea2cb0fdbde51802304a72905d197d482b9438601022074886696cd8178ec5db29a54ec506fbec80c329a2b2f3ddf6a6f0991e925e4f7e3b8d0302047c435bb5006630640230339ce8ab9341f5219da83680a49c3afc3c0b207efa309c7a92a145139324e53b46dae888bdc9c7386119f4a8866ba63802306558140bde6034a4c68f944c39169fffa9205011e461d54b99b6ba83130a9f70a0d8d34324f089de8a874e83d0f2754d0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50066306402307dec71478e8fedefb705877b30a300427a6e8fef63a16378958bd0657c68c8efa3e447be2be56f9ba62db271523f902002305049ea4ffefc4c89f22992ba8b5289e093f66afe4f05bcbdc0e862816b163541066730b4044c9d4af789545b1172f44f0302047c435bb500673065023100f0ff1a2e7e76b5d0a1b82ebd15758742fde370c07cde6188a75c4d8173bc3533fed68cfbf9f6e50af346dd88b393b2f002302ea3f25602788bd1ceaed0d19fe42274b32e71cd53d71ce89812267bff5b487efa95af45c8ebda2bc21ef4f939a8a6a30302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500663064023100c3f20d6481570409336bd2932e896a993f7ca5832be0211a70bb06758dacaeb68ed68ccd6807bad1c83d4092bb11eff2022f49c1f3e50313badf4a64c48ce4bcd4ddbe074d75b23dd33a7e9a6ffc030c7a70837d2f19bbe4a73099348b573412dc0302047c435bb50066306402303291596672d4d2f24378ed7f609ee8c12c8a00be226735a384bb0c16a5a3938e5347bf51f1e2ddcdac31d63d49b70eec023072287d1ff084cd6e09c25deb49c626075913cfd4a50d24f51e86e1b304a6d4dbaf7951d80a3ed5b6752ae6f4d310bed60302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023100910b715f3311ef9299604c317781868a0033ef56541bea3e99bbe3028577db0a8e4e8f134591fb9c5a86da060c3f416c023004f3c19a65eed13337026abff1250bee5b74cf2b985a703916fa2192b1627aa012528d2b51929297fe97f069233149a10302047c435bb50066306402302c08f8bbd9c5765dca940fd429087ddb99daff52fe9de80131b636d1b23be9e7d5de819cddb53b3624ef256f894036db0230286f677b19e93dadbb0c8f9ba6ba7b7e0bb6dae97ac7a0fdd7d4dfd865e7cb23c519ec14cb0fbe080660de38c4e1d0590302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023100c0255c5441c2df9937a1a11913c387f7e0e0e73bc584fd03fa2c73d5ae7eca20e16e845506a9d261eb1d3c324bc8bcb002305bf9a5ddbea6e6bb6c05803989ede84880082da3da0d2e70205e33c8f9a3d969f586a17adf616b3bef13fc11acec4af00302047c435bb50066306402302c28cc6b1e385b00ee948e409df49ae610b320c3842a2835a09c44f64ab3938021326b844554abd905aca5186fb8e8280230365393d7e0e2c0fdc60f52ee75aab95077fec090ecc995774a2de7c62e92e351950cf1d0ce94022b2331bdaae39d1e840302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50067306502306cc21480d5f48edc6d5e1d65b7340296a1dee9a139a49180008e3815cf49e6dd1eeba116b8b2c43639af6bbcc168384a0231008857ab7d993b90b212bdae41f50fccd338c3160884fed8b3b987f48171b6d6673d473474ef32c5285ca418315ee435d30302047c435bb500673065023100c8ce3dfb0cb81bdd0adf4f72a9cc0db9459132895471135c43490740db0d341a3fede40279f03fa7f91f40a22b5688c102307a6d5a29a34caa9fd1590bf43e29ecf0d7c7aa21ef1ed5e19ee786ea3bec9cdf29d4cc2f8e8e54b06354f59ea4d244f00302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023100cb75f8cf3dfdab49e97ac994c59d9a2117ae7eedb608280fcc3c93242dee32093c81f3edcccffe923140ca76d84d7bbf02301a8f2db327488bd9dff922af94623e8ac2f3719e72a467b2457075db471850224887c719b6a8f61876c7ffd3c5e2dd7c0302047c435bb500683066023100e48a59a00ca63a157efb586f5609b3dc9ed3e3217b513bef9da3fd9f05028b7aea0207e61e5eef5fe980edc9ebc00a02023100cc46f7a9a08f70c73cfea0b11f401fc38a7fd97f5451dd88f1e318df42ea465ba41bdc352fd3f3dfc8c590b6a4ca0cad0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006630640230352f93432952675b19c51cffa930468453ac5f2809b66f95df46be155afc827b11e0d631b4f19b6a171947a84b2d4aef023028be0c5ce7d7dd534902b7b33f23cefd85a3e7fe04d0f9edc77c5a6d486b835481fe3fe718500103674f90a7191284a60302047c435bb50066306402303236c265210d7bd728653712f4c1bfaf5a6ff3806fcb14b49e6bbcac46b19d27386d011385ee82cc01bfc683a12e6c1d02307e51101701dde3853bf18c5b45a92b573a05155ed87af8d4b70cc5fa0674e9c1a908366b98b8f46b542e289cdbb634520302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006730650230226b8225b035fc69f1cd0f2556ebc4e745fc02a984d075d281940f8e1133add04c1382dffb50558d4ad01392add22699023100894624870f031f30d47af5d9842cec410ff1b894314d7b5bfb0a52eea126e32fb6e21ac286e3819eb6fce197def595bb0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50067306502302cff40fa1a1b57eb042f5209d038d4ae60354d7829212c14d8e7aecc72be5cbc3dbc4f20bfb1c2d0189bd8fe5d7d9329023100b83d717b40db94a0e297414b653d48175d7e0413bc06b1d5d474e01d69468fa079b164cfe05248b4fb469f1a60bdacdb0302047c435bb5006630640230282b43ecb460a2965689555772a34066f6120fa5347d414ef9743d33180d13d60b29ed40bdcbaddadef5fa474d7195ab023059db8da5b4a5beab1aeb177379ba849576ed18af46bbd164a9d8d37ca43f5483af8b84e4c195290dac3ac80b55e4476a0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023033c39686a5d8419a042b29d918ac81b7f0c3c50084b1a0ba8bd141d169f4c6ee42ef66a50e47d256feedc81766d2fcfa023100f65268acfc6db01b5d48cbce8b8c9e8d724ecb6844cc812cfdc82520e47e974d82281d8866a69b31c268a9d13f680c330302047c435bb500683066023100979c9fa3e75f370ffd8d7b8321b05b4dc56c513d3e2356470e55a78711e1568e6addf7d1c0757b84551770ba66c9577f023100b88091b9b2de79b0e04a92cc72cabd4ac23860ece20e0b7aa659ce4d0807f19de34a0fe687b72ac2bf639c3cd8e7bb210302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500683066023100bec18bef45e2f5ea4db5cd6e654999451852d0db6995cc547caa078215ca2f3426a5f3d3dba1b1b46f37f104a2796f7e023100e49b68c6d959070d0e0c5f05b54ff15c0e9fb8d55eb55e8e52955cb99a7168fb6dcbd96aee9c681d063e687c35c9a6470302047c435bb50066306402302273bf1e1f466fdd2391ab017cb894963a60a7cf848c7bf4ea57399fecda5638344ba24c21920f86fa71fe5a1d59ef63023072a0fd2aeda5ac263f84ef632a063a27a09388863ba63f7bb33dd902e4712650089017ed4fd3760c2f74ffd09a4a0cb50302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500683066023100d43e67456258158ee02ce2d7080543b80607f2b52d2ffc431ab14de08a156c034fd3755df7086266405a36b11405058a02310087f7316a2817a3adc009cf1b916794a81fab32b649cac27fd510abc0569b03784dcb866fcb63f028e78fc3361295b76b0302047c435bb500673065023013635b864208c4c087560c3654a50d991a16f6e2628efc7f79418b0b5c67e4ff905c3f9d1b6675d1c4be3fa6753f238702310096a7528a6278cdec263e38d855f5cec6241c51ea847b80ffd8c97188eb9a9a7c6aa85082e0c90955d63e32cfaf14ff2e0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500663064023072d54a9acdd51a7e13e57e743ce3508dfbd58c7b7f5f93ef417a2e0ee378a5204faba12e7c00a11bd8984cd8f430b368023058f188c2501f7c192f4510c2ac33465ad775139071bfbff0935692e2e6435856545e27f690537410588846be3042175f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500663064023004bc216aac3254ef5d226ea909bc37f45ee45014a3003aca4f490ad96ee9b953f12eb7e0b34481c52c4b2d8296322da202303f2cd51378c44ad12eb77f958d06c6be215305ec973d31a44c6045bcfb6dcd21551c105c74eccb02ff82f41a49fa227a0302047c435bb50066306402305df5e021e71f8a78723fbf728bbc3a3b78bb2f25811f3980e089f52fa5a76850c3456cecffe9490cbc0a09024dcecff902304ad5f0782988588f50a4d95ab07dcaa0b1464ba7b508c0c4b75fa8f828f42236050fa7f70f5d97775eac2d5c000359bc0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023100c576f06349056fcf29a778a0d3ceeb001e2a1b0b770227f10b3b7c24ded434c3e0a678201927636ff6a9c42870ed738502307d135b929b18d0f4e7df842c49fb303e85fe526f2fd848ca7806db759cd6dcd16c2894b96ec27479a42bbadf6f6641260302047c435bb50067306502306871707525b453cf78bb327800f7fdc97f9ffe7dd519fb8bfc9069f3fe01075886750cbbfbb8ea91f238c868ec473bd0023100a41d4ecdc3d7b8d6a0d558cda43146df25d11ce117678be353310f6cecc0709bb6d011253277720cd777d7cb905dc8980302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50068306602310080546fd3508d03975fca8a2bed01cd4909db232e4ffb827f3ce2e08e8d254e6d2d3c591e8cd0e6dbff428a9328e8c5e3023100f4a58d2e7dfe1fce2c9860ec5a00831469b5b4e917c4017f21934945d5d1d764f06ab1ed449ebf715fd0070ee19eb1ae0302047c435bb500673065023100bd3f3c06a6b1e61353dc7b0ef4f2dca15a2237c3ec23571932da15ae810a63580248cd80bfd2147037060bd57287f58202301d088e498e5015c1613f3d9cde701b04fe530c8218198d7b2cc39203e51d5eb96e5b7c24521af31afaf4462a223818de0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023100dbd96a93cf6c1c6ee6d05b939610c39e0f6b3acdb09fd0505bc3e18bcc50e8c863f1c2282d01c6bc0e48b6b01af2233d02302270fcebccb702a7fa3a15e21cc7d732e368cc43b6d09d86b6c0dd1ea27ddb5252d4096a4468635a0323fce1a774359c0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023100c3ce9e00a743570e674afcfacb6a5b1be0e0eace29892f98e07767d1c8265c51ea331c7bf41b05687377ca6c9a153cbf023012dc90472c90ede1924bd316aef0620a1776cd426a3bd53018154b5f7d2506d7f7fd1bb60538bb13cf10e2af61ef18a10302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50067306502302b32350066877349da24c42f4484e08905c6b13fecea78356ffc04bf1475879f84f830f0cae31a362a76d24aa7c86272023100f68b2c256771cd56f342dc5a8efae4afcc724d639492b0a9887c3b6a488e7532f2e10450f3e78ebd30f869d2350f67670302047c435bb500663064023050fa567900335dc1df3c69986bd41c6f21eb84194b739ed5e517adb7f42feed0edd35bf08d095362a4b6a377773e784602303b187b401935d857eee9c1be6390cfb3b3b7e92b494d9c632efb10dac869ac066857c34fa89a11cc7bf5fa8fb6ad18810302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500663064023038574eba17440f97bcc730feb46cb7d864bcdc9b305fc8c02ffcc4bb8bde387315e2ba8753f18db381c832beb78fc6c9023073b4ae841ddbc66515377c2664976becc7acc010243d041b7589bb919bb2e129a75bdb91e22b7953cd5140a0a3f925500302047c435bb50067306502306b47e09fe3055417f4fad173a379a01e50227e673339d1c134a235d36206e2fb7f3907218a474d3a4710b8e37fcbb73102310096fce4473df9f2dcbcbe8df0490e98f6fb3466602bef4669b4fdf7db97a6dcf484afb4b501c8542f3796eab412bb998b0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023100f29dd3ff00983fd823398b736a2f4d6eff38ff8ea6f4ca8a3729fe44e31805768392574408a50ebe94ff68dbf67d01450230547a45ca093ce55fe8e474642836dfbd185405ad32ff6709cea103057d5711533fc83bf0005146a0c55cbcf45f2a831f0302047c435bb5006730650230621b0684a9213e42d73fbdfd66a5a6d145d1247f393a01f7b4d4cd0ef8d07f0689a6c7f1735dcf5cf523ff7f25a1eccc023100a482b0bb931073193ecc18d000f04978856c63d7af185d1c287ca182c7ca34e0385f89b2bb129890830beb129ef571c70302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500683066023100a811fc61f02b6051bc255da19407db50c8e943574374573641ff9ae6e674798af6adfbe8b78dd793de998a234552056702310090d9b9cbce4b77ea8def45b1751be34d06a614c815b99ed3da0d2e25d76db08bb183b7d37451d1befa6839e14728a2c70302047c435bb500683066023100f1a2de9dd081da28942ca0ef50aebf33c1e7debf6d8446dabaabf9d043c26ef688afdd3b57baa17e601334d3ca29edc6023100a833e2e7040c3aba8897258de451a90afa1eb80da90eb080e6adc60d9e7b930e6a792cebed43b351f7783ccbda98374a0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023100d625238830d155fd932a8ba431b95540d8249ec886cb8de3d11351b847928bc9c94987d2742a9668955287bad421c2ca0230094fe5963184648072f34aa0444091b8235d894c15c21bb9cfb381f165d0e7d4e880ce5036bffcceb57b38382e7557d40302047c435bb50067306502301b37a5492e83af3e69e9388a9d1626667385d7fc63c826807b1c944818793a55e60f13fb463ed70f39861c7cf9254a1b023100d733ea122494791dca4d25d7cde18f719d458a55a040c80a52357638b44989285160026a6224c5421b8dad4cc2cce52c0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023100c341351bc317019d036bd5b8fbf3481dcff8d188e423d2794341c623b4b8818a256a0ffde8db3f4a4cd8c5632ad18af202301f4db8231bbb0df6a49f1f6be598808f362e461594c1a2fb7c2e6e90be47fef7dc080c832d694051c14245d3fca6fc1a0302047c435bb50066306402302859650b290730678062414ff8a6d72b81b7671b459a46ea656cd8591be5eef20282fb7f50d79a441c01abf18b443a0c02305d13afbf0fe27d944e041c260caa1cf6c8fe0a6fc27a1a440042d68b47184084713f449cb85ddb0fd26343c914bd1a340302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50067306502302ffabb63401b847c3dcedf401662563f993387b94222a1cc895cb3ad142a5603f67c5b236989162abef2363e7eb92a25023100e8593de34d6bcf058ceafef02c6ac8a6e40043b083e04548c833059f44f009037fa520419fd7aa6589653fe3acec919d0302047c435bb500673065023100e7d58f9f29759d4c7ecaa1d7e035ddddf8c4ed9bb8a47ecb019d913d626736c2cc6c6a5daf0151bc7a8af29984f0109302300ef1fe92a536d811f914ec907e11ad39a24c0c455d70a413acee78b530ce15805bcd7cb8eb47fc89317b70b2303d284f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023100860a16b0a565f864a701a6140d1368c911348cfbb8cad943f1bb82a5a393a920c4932b58659e82a58aa2d7ae2e5c9d40023036a669ea270c611572a692aaa7acd6efbe4a30db7fee3e691df11aed4ef112969265bcbbb1f05ff3974963bfd6335b450302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023048cc838dfa0d5c6e90b15f6158264ffbcec4234e7d7673a5a48d32f26ec114e236adab1096d590b467237e3c3b2bbd76023100f953d548008db45f7328a7b9dba4be3d974e3aa048d2094d30362d267605235221f7b980df61e0652263c14f8efbd6b70302047c435bb5006830660231008a5b7a408b02d286a0b3c11671a2c912fb58f23bfe6228290d8e4530350d6c2c93047fa05a767acb1b86de5cd7033a95023100e6646b35c8847bd666a439fcaa9098fedc3aa878a3a26a7ad316850fa10f682a3440d8d7d786c3d108c4d16131a09d1f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50067306502306b1e56f827df95ebff0690232479fee3db632d9bee4475ca8c57dcca8a94a964e783c444febd12a9114a2913f3bdb76e023100854ee24398a62d2bf1334c5a026a9c66791d76827dffd033da99cf5ff78e35abac95a8751e2df9de6d9467f544ced4da0302047c435bb500683066023100e2ff31df6001758fcf04006f69cda904b8c08f6210d8af9bd832ade71517fb12cb168779dc0fc964e787b355c7e7d927023100ecd886e241dd6fae7939479a0b167e453025aae724ddb2137313bdea7128ac287f69b619aa009e05ae7d73d0344259420302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500683066023100e65674859102bc6cff3baf3aaf0be8d30e77289e5076fcd6383460c0b7364b45a7f85446b99f34566fcd25366337e9e6023100ed7c371c567b8442c57d13da76aecf981cfcc799145e58b04f18da80e1936e5882591e24cea7904993eb7d3065227f990302047c435bb500673065023046d60c925767c901a08686228f969fc8cb9cb6eaa82d37b2010f009e2b08ebc4521c0ed07e9ef3bf077891a5c1ff17d902310086e8a2036ae73947910e71bf0f1cdf0b588d3c3224e46bf97cd8eb497bb4c66dbcbe3f0d54bc23fda967bc94d13e29380302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500663064023007af535e2ce6350f0c08bf13a6593863aa634cd3781d3246906f1c9d5adcf6c0668334f19c98d2a482e525b1093c71600230529d7e1164d5943f2483babc88b1c0d1b8d5ea101c274c1f506ae0d99a641e2123d18680508f883992b7964d47337ba60302047c435bb500683066023100d19bfce07e2f8611e7196edf441d5b971ebe6ed702378f37dc1313514847e37bf69b1ae16a9082c7eb22a7731264f619023100996e115a681ed449cc5ce290ad7cfdd5ec2b739acdc27561fdabc23ea8062c70487ace018465c840f59cff3441f39c9d0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50066306402300d87fefc71f245611494f39111e7530e85b1e93220d1173882851b6fc2118196518cfad7c59e962da0c8bfea5a78f097023050cc41559b52f202d057a194592513fdc1d16e06c360c39c37bb1c1253d15b10d2da106533c2566b77b35d14d85950fe0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006730650230047fac0a481c8d5f8b58d34f7a3a7475ab73e9973433cd5f4b6dcdf43f958544e5c834a3cf3b23336bc6fdf2dfdd44a3023100a0cc4d65f8081b7aa888a8381c77cfb838dd24a0e40518961b48e1b7eb346d0ee20ecfda02112bcf22c24e009e8d9e240302047c435bb50067306502306645be007fa407d4ee12b81870a183d61b3775ca2b8b832d63a5f02c72dd8acff09b6a6544887e4b314567d7d95160380231009bb732f6fd3a35d766c4a3a55e9dbe74e6aa96736b65552b23c9ef030a2336419bfb6364e3fc9e0db506ee39f1d56a410302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023100a52e924c392a5ed6626c4b438223a2eefbb1b798eb53d6f27dfecdc1292b282c6d28a5b2965101ae6a35767889515f1c023041bbebd8a344f2441d0babcaff5c49f2f593ebd58e3cebbe687614f0887467dc029bcd3ca5d8c6fcc48bca3c54d863150302047c435bb50066306402306ec55c5f0a2cf0fa54ecf0db34d9722f45f0c76c9908f062327ab9c73167336bc5fe5566a230a748b4231dfb4c8db44f02305499958f5dae95c3eaa367c1a9df2b81f80ef0e6ab64fd6545f5c59835e8ea99f3ea012ab0120211ed0ea96feb2633b10302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50066306402302a6ffe2705dbb634436e5c26c37b37784404548906f20e7eb0287fd0721197c13bd69bd68644f771c438eb6ef7820d0902302d960d22f63e01397f8858e6d8ac6eca6d8e290417500df528669fb315e98141e2a71c12a6c3d681557df6ecb2a3ecba0302047c435bb50067306502306a6d6bae378d17a6a662c442a232043da0d3a76739cffd5439bc397bac1e32b553880091a9fce9956e686f579e8246a4023100a03fb1d38df48247c6ae380e7d312c83d437e1963dda4751375092e1cfaccadd7f1e204f76d2d93f4e74eee7c7b0d34c0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006630640230152f4fff4f9eecfdad288b8870b20bd4651d2ea0c1c1a14aaef3c18f6e529a3651e30b1110120a40f2991bc5680e503c0230222ed6f44d5063edd021b99161b9878037ac9d190cf780d1dc6d7a77258a9114bad3457e555db1e5f6b73dbe0a3019f40302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023100eed7b9ccf8a1b7ebb43933f082751e9b413d26e40a1e8a40e60d95ab80716939a5665c0a365645c9bbb984748691328202305acc58c845d154e31aaf605c1611f1fe888846d30d32325aab24a4d36bd7597ac6fd093d2ddccb037053ff32f71064f50302047c435bb500673065023100f129ee6ae20b5a1aecee039e4b5245d40aa239f6e785808e0e7d92faede584d01eec76a86e9f4e81b5768bfca0c180bd02301e05b6c4ec33c2695b23f549831b1e8eefd79bdab7f17848e984f823265586b8a51d4871ff1242d2587823f63ecaad310302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50067306502306216b664d9a849c434781100e579c1c728d8da9c930646c9fcde09e04e78afee90e48ebd21937d5ec3134eb3a9dd5888023100911a271f220171aed3b83fe47745d463d27debde8ab72035ac680bdc6f6929be6d8b90d97e927965d9eb6dd82726a7060302047c435bb500663064023056d1664f88be910c8444840051328d8d867e62bc1afd548f81419c880b71a4961570d984175c88c778f4701556ce553b02306315148535496ace10af6bf16eb9ed5713661017a42e3461166079ff31ff9cb9a0ff906b22795b5d6c9568cb93adc2cc0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500683066023100d8405a079f73c23e072686b6046f04b4e2d43b2f5ca96d35a0e844faf91728f38fe63895f2e2cc78ece6c40db2db6aca0231008f6a4c853bbf214cdb8464ba1514fab31a0279cc3e655e44ea141d4d579a21951ba583c5036bba7ba00b6a39026ec0b80302047c435bb50067306502306ecc48224b1d5c29b2022ff7c4703832c039253c766c92b7fbe4b65f427271ca4d391a215caf9534a41e64febb2bac37023100fe48b91c844677c7aae46669d7843db4820d86944d4a7e666b21b4d35e35aec5ce7691405d204572a27f72eee5dea3a00302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500683066023100dbb039876ca2f1519ab0a8b11ed05124b1772b42e409680d9ebe85aef6541b3630c0185e1abdfb304c27e8c6ee854e33023100df40baa07b5b605bf7e324961346a159cbe7bf8fb90302d303117bb00f4e02576cc69088dcaedf17f931b778bcc954690302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500683066023100fb6b1c56b49ccb22e6d08067c1c57cf8f9202928ffd282c3104b59ec120539ba52e34560e3f6325ee91fdd08d25dc46e023100faf13cbdef336b0b881c23f565c4932efddfaf024790b0e5566ba2b4b4cb6f17d2b3945978a04683b110dfbaaa26142b0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023100a6888d77afdd47daf2522653b39dbd629f35da4f1ffd6078e11545166e41228efcfa55e417ad85aa9f3fcc386aae9fd5023027aaa7460f124450e129f8d9e41bcbc74ca6e3fea64e0c5804f147294e11ed80d86daa57039e326c5a166c3fdc9dedd60302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008aaa3a3bdc73cc0d5de9b7a1a7d0eee1b6135e303d6acdd6623764ddf39f5ee3047a5b680be0e43411b807be73fbd7830231009f9c0271a9d3124246f7b7cbfce48fef1764b764d9945b7f53aeda4512f1aaa54b87e7a0d7c84d504857a962f69f81b70302047c435bb500673065023100e468b9e2a401c03345bdf1d9a76246b9b85e3a3a64d67a8f7fad43054835cfdfc215cd03465ad5024915ed3b52dca8d2023047e37b81446618c30a7a7d164d5ccf76bae678e8e11a6a2d7950aaf94084e0a086f7bc2b8a4a9826309cab91d3effa9b0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500663064023058f10c5023573b85e6fe0b2f3abc0e13da79b27aaa5f5a7740f894bfc9ea10a176e533eea28579396ac72c53b5674be3023036c4782b0e28acc6545875de9b4bed8d603ee360049fdbdad1f5c2aeb60b611b0ed004c10c5f65480c07feb6d9e63fc30302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500683066023100c50640fa73f353c53dbf5e9d5dc421403fbc25c9ce2d72fdce01cffb50f008d1bae35f7fff363902981820b76030b42a023100df6359007e75cc3e437e2f61f6ab73af81bf47f9951811a3722a438bb355052ec977e17523e0ad2c27148245f99a8a460302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500683066023100e8c55b4d41835a613cf190d8f225efc2996541a047134285e39d7b19ecf839e5348441281da9d584570557384ec26cec023100fe05335e8413b45f76705cd1b6bb28e6a46d026b1ab1135dd8abc30378610c778922a4c415826349b4b84103f90be0dc0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006730650230795155a11a5eb589310e13053cec0941dab9cc0754d0220d99e2df330f90f7a3e44f937619a44be11dd1384a7c8fea45023100f18cd4752421a0bafbc762740dbe2e07f7ca74c2f9db799de8201764e510cbf581272142f773a1ba31edddc5a597b7170302047c435bb500663064023017a29f43e8ebe6511c93d8b326306b51d2f189e94322bc4eeb962cc4deadca2f0d6133298118defdadad2848bcab67490230060689afdc2a16f4b4f3bf9310edff0262bdba35da1852513a7bd5a999114fdf496dd8fbb330da374130eb77b0a6159d0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023100b545b777219b5bcb42b8b828482d77cca024d696caf530c1a0a4565d43b86421a209845577ba5993b219dac569022614023075db1ca2816eac58295975de976bcb8e6592115d2f8a5b8f948399af71a91bc6c07c58994208a25714412531888c1a5e0302047c435bb500683066023100a5418b8a226b81d621703932568f320a8d903b8507066daa4c068866245bb5aa35443eadf8ef7a74b4897a5b208e1ff2023100fe6afa780f2c2dca6a52b70137f76ccb858f29e25a977d55ebceb1bb7f4faf2aa821e4d7d484b7ce50dd202eb08392ea0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50066306402305cffc122c089e4c09d2b240b55c1de101814e6525b2241fa79b5e153e31547eb337bf237ecb70e5bac25e25a00f67af402306802c0c11cdc9e051121f347e76359c61697e4500227039bfc576d3ff191f1fc8e70762bd44d6ff595427f7e000844770302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50067306502300e5aae69bfc9ddc1237832c60215811e147c387b2b619f9323ebda1d47bca423b444f5361e1f5b59b63d1573764c1370023100a5aed33b9aed3b795ca687125b92ce1675a99f74fed46bb8108d2692e3dbdc03bf34b1db53dc7799904da8f2ba6701360302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500683066023100b3a67759f44a957f24c94a6b4466e5718ba29598054d5f497b042f545b47e68c22c8430101c8a9e851867112ce6a3784023100cb34dadba9763364b7c3e0c46d02aa239e8704b1168c7265b6514cbe132469025b99122e4bd0e895510cbb92fd8885a60302047c435bb50067306502310084089072ae49156a2074edcd3c95b9cb9a3c5938945fa98d0674c0f0bde2bb719e21a3171e58551d3ea2d091b1de21a102301c761e44a26bb4adff055b75b5310e6db48f2c3fd9e7d02e9f096655bcf85261d8c2ee0fb792dd49a425ebbefb8244d80302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500683066023100e96f9dcaeb20a18c6ef114b342b1d09f179e250e6e557849a51179b462f1d70e13cfbe81855c04ded7fed5651323174a023100c680ebd93c3e0cabd9a3a79687cfa9810f0847b21a5cbfd9e426985a9fc25b67c57c9e951eac730d94fa74be6852073d0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500663064023027ac2f68025773b3d4207ef1f8a23ecdeb19f10daf6bb204b18e3ced80fb04167ae9b61ee5ad3af91fb54fb14eb0032e023046b3b1f95ddb0a434591ccf6476738f9a9d2272abe9f47eb9b7d8fc9b89236d57d473e56b4159b3b116ad8fe7f8ecdd30302047c435bb500673065023100a0dd2d4118f2964c4d7011b0aab227f6167f8cb6c592da4526fe7e2fdecf7e6d7de3c5783ae5cb4b716dc2979777f906023042f62c4b8fdaa95e752f6899dfd3c67e365e58b1886e2586756a9ccffd506cb80eb75b354dc9dde234d5c10a66288d980302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500683066023100b310d31df21255284b31197b5ea3fc45c33da440b5295d8b3dba36782ee37f369eb25b5fd5bd22333a06216a02ca9948023100b6d4dcad2af707f143f5a044a893a599dc08cab03479d33613cdfc21c38dce364f67a9f8160f7824517d2526bec321b70302047c435bb500673065023100bd64545b4b583914065d25ef694904030d454226e4446d6b7be550495fbee7d4fe6a4b46c2ed82bc7d2c2a5ffb438ef80230733aed028d3448e2a7961b3877b034333593e156ec31052ec06daf63425d64023f5c84af738ff2b37c2585f19f306a4e0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500663064023065a8eda7b2ffd3041fda1a8fd140013f398154e28906df647e4226e7473268d5b5f697b27ebf4cb2f37d209164354843023027e41106caa3ff014684aef792a6bd4b536be25bd9397f761a795c86a7885ff85e5ded7103b73423b031dc827b0d618e0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023008b9270c6cc2f16b93509b56b0ae14d7b634c1105eadaed80f6c0dacf1ea426093812ce2ea66a4c76b6984e3b3dec63102310082625d92fe61625ff6a0e8bd26749925f1faebe841d5bfbc8d1daf4e0efa55f4b6272eb1b8eb2adc3bb5b9a2a9952aaf0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50066306402307943c7a270c0678fad83cb82e22d252ac07ce9b92a1555c5bd83a7d3923afde97d36064bf5f2682270f3bd33637bb417023019e65513ac62242ff5c9307f9928523e3351c3e4d6f16bb064241e1fe44e5b7c79ddec480247afa96b3845aadb3d46460302047c435bb5006730650231008abc5e7d40d12473e1142411ca31baeec68e17781ab4ccb069fa0878a818fef14c9503ae76cd0943a6628098c89ab65602300869fd7573cdbf0015af67d63715d9a2c5c973eceef1a1f3c37b18619e96424ae9ed2c21f2ad190e5ac26c19991635890302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006730650231008fcda593480166d2a93dfe4144df3f053b8f86a7a9faa5211b33d4cf53328c572ca44445ca071a7054d4dbd8d829c69202304b7f1996e8ed14a190cb52bb8cb7ad60aa6f8cd9eed7da86a4086e23dacd648776892afa875d7359705d648c874a53010302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006730650231008a1486d55d2b2a1a1251d7305ab9aa0c3819f2fcb60a70134bde916698976791be263bc059709e0fe126c0a2dc24b05b02300a70038b158db5ee52662d8c0e76b2bd5c433eb60651e0be6632f7bb9b613fd41b28f47e5e0d4bb43359955202e88b920302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500663064023010463197be309860a3116dc650985018a5e5092e345e86450e49fbceeeb72aa7b18f8e137446c4affc039458a65cb9a802305f32b7ce7cd9247c5e6094fc925da4353a53d75b45e9bcc460ddf469caec346965d6d076a8c2cd26eb0bd61cd95d4b550302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023100e084f4208e4d978f2a82b94cc84332ad8785f5460effa3e57056250f3d64ea849e941a858bd85f719a96748d288230d30230196cb77edf7de8ec74c23f4515bab9d5d8f78aa17bc349737c2e625ff26ef4ee472cf180d3c06e43262dbcd920a94c950302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50068306602310087eab39475a51306770e447c2ce8e15a1543a0baca96b66845f3a5b798f225f8a6c445c0f6bbeb61abe44c542527b930023100c08c985e72915cd084dd39e5e9981af2b8b8e65596af479ef4f6ffc5fb1268562e11fd85ca1a17b9f20f99f808d33ed10302047c435bb500673065023021202199408eeef1068de8024bba919551f98067b0d961dccaa4005ef5fcf6a9b34a84b94de6726846675d0ca98f7077023100d3cd8cee3a1b0017c5dc26c3927e17275a64ca69fea1d7a3fb9e926bbdf77cc77f8ade0ce03eb8115aa5d56f93a7d92f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50067306502304b5aa14f019b9686806bdca6eb52a4332313f5bd68f666643decb2da74e5e4905f7edfb90c43d4c2a946fc616f53d22b0231009a9d887d2300fec2f2d7ae831db415d5e62bbc871097f491f2590912d14f52f72cc721fb5e4bf432cd9b9ac7946743be0302047c435bb50067306502300606ef600ecf18339c30a47c2d46ac39c2a1b2806559c066dfa9bbbfbccf86fa058b92451185267952e93bc0a07186d60231008f34d7e3d29c77059a30be80ba11610740dffcac32887f95d99fc6b34033f06332729c2e977ce02f45f889eff316c2ac0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50068306602310091480dd8d2659c64076373974a6ac243e02e8b5ae742dee2eb89127ae4ee3b27595114c5b36df41804ce2630507735dc0231009809536070bb254a14018a5961826853ff6829bb28df6b553ae9c5dc18e8ccaf0ac24123491c13289760e13da137edfe0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023100ca3e13b62fb8b6da987178ab1fe8bd222b91b26b2ea7fd5fafaa680ae82198467912d2d0c0c49d73099e7b64a7f6a358023009f6a0164788097944d1c34e10894e8c2837cdc7000f71ed69cba3a46a018ef21a07b02c63c05b1a55305c0b759457790302047c435bb5006630640230217def832c0fe85e3054470f4d2323efd43af7a4bcd6eaf40fe116cb46cadf4c1120ff8046e7ce55f86befa2f6b9d89e0230018c3aee57e3d4c4d4b76298987936f6bf784479b86f7b45798f3d518a8567acd0247c52f2f3b866ccb1c9934785d44d0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006630640230531c62f0dc45f056a15ece08507871da2feda5b5e630245fcfe6592ece9346955e2899ba00a726ce0cbab52a12c1512602300bc9930560f36d3843365f8aa86271ef19c5e58bd3bc2ef72835bc09876d366783d13ef2dc9cb9e1fce9d1f8c5f364b20302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50067306502306ab3ad80574494a484cb487de16b87d899f2320e80e5e9691a243a85ef182722c38209b44f7db8ba1e9c373ec38d013e023100d264e8427bef92eaa24169125aabcf0f9e0070a664db0af4217f6f174ef3d058c1d4d82c11d03ff66beb2dd5696287550302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500683066023100dec11e81763de204d8945bf5b5002ac4c5b05ee12fdd5ebdcd3a1c166b6bf698d568adc0d082770fe8af75ab7e9dc3bc023100be1fc40449f62a6fe3ad300ded71168e6fc64ed5ebb05ee1726202d7aa8129344bd03820ca74aac696eecd1a1d3baf520302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50067306502302aaa94ee121c7282bd5538e8de88dcf6cc1a0c93f4a9e66c7a19a8ea5b74375e18bb39ae90ad82c39ec8865f3a8e9d05023100c93b547675dbe7b3fcfd691569f3964bb15965188d8ff79a366ae14d8f34c24fde840140ac01c6b00c374855e8e0ad1a0302047c435bb50066306402300125cf03e8386e59b4431fcff78dd19ef5b432d51dca84a77bb6bf2c8c61c365d51fad71cc024368da215974f016b79202301b34e1f28beb3113a0ffb3ecb5e4ecf621906bda107abb2f9e4fe9f0ca19f44e9fd88df9b8839e666258f84c9ee95a7b0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500683066023100f4c0785d391281324a0dbdd8223f12a05d24352412e4fb681bd1a7d75611fd5db3cefc32b960084f21492fa98faa6465023100a4b7eb85602e9da94558560c472a02d5ce82c695ccdb477dffebf0e9c19ce71e6828eefa4bdcac55db2074e69f0af4700302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023044f354f8e05dd0e44212ad020e4a2163130807be2a176ef2161a0a9ebaae4e5fb5289d15afc5895b37af334822c9cdc90231009b5db88d03e81e91f91ee5cbc096a68c2e0085e1592ab3692cba5a453906dc39587d093361c36768879c9baed71231760302047c435bb500673065023100fbfe1997ca51f237b779589a6f2baa9f184e32832cd629accb3de92dc595a27a7f01c081e5918e05bf75ba7e8010fbd502301d705cd52b243061d1c1760503f31b52a03900ab5b5bbf83aab887dc0987b77112acc7475c763260159c9dce52863b110302047c435bb500683066023100c5ce37dd3a66520172fb158e1435d3491e8d66ee1de676a9eab555468e492298225eedd7f6e990e0d2160ecf5234e9ed023100b829897224f72f3ef4de11172cd78f8957e32123a596af7bfc0e4f962c8e04aa7bdeebd0f31ac3ebaa63df2ef030b49b0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500663064023061bfa9ada40e56ee1023d09a88f840f405c8bb0e3b4b374065c324cdc48235e61def96441b6f1a4cc41cb65a86a789b402301bde797526a2e4ef4f33ec2accbba73ef4b1aa2f66dfd3aee79d2632ea1e87a1862fea0235762a544e9721218e8a0dc60302047c435bb50067306502303a2855dee42ddb68dcc3fb58fc3a258b6924c9776000f3bf97026fe3578cf13d6a12e2e2d43181b14a6ca932c4263d5602310085e252455ea723f61436b0840622cb01ca3cf17fa080933529967dab221413384661ddbc36d489029a9d40f31898eb5a0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023100d1a184a606cc589cd3849bf629d3608e5a369beb18527caa805765477c1eed03834555bfcc950d2a1f0fc361b27df82802306cab3c619bdc024a6e91e7eb24264da2b1ea75dcbbc9e4199f32f96c010181ceda36c637b2fd4e4bda1a9d60d7f706910302047c435bb500673065023100b604ae82c6dc3801212a7c54f34052e713d0cc5227a2cd598bab9de84f7a5ee973c141b02aa81a70b0f525815692f64602301c718118dd56c1bc135ec4a806ed664a877d8950aa89a333252c341357072ca58fbd5ab3ffa59f17a29b9605e929a59d0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50066306402302a6d547d0f3b50b5f36d02aa62a6b557d4b68805074a4508f49bc0d05ab20f2945255950e517b550ce2912ae57274429023034fabe2e61f808a09d49456bc6459660dd781896ce6a46a1f6b7486a011e0af16394b330968cd6b03c7ed462a9a789460302047c435bb500673065023100ef9a81a1889d1b19d841d362c6e6047af18ccc5155772117c3bcce83b0b06821351adb3c7f928b403fcc4d09ed0a6ae4023048f96d7165600b6cf171cd11733a87e586fada88e19b14a5d7173733553c5ead2a0e51b195d7b1f1f6f5269ae820cac30302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023100e1a3f74f884d149e7edc72a494f69693992103a5850817ba12238fca0614ebe7a2b943c648b395060f04d87e861fa91e02300d556e0d75a92357c5c25039ad104de13a66e9e2f9d7a79cae89727682f99e2e9db9fba4bbc255d2fe1ddf1777fe69540302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023031d9ac11dad6890492af59b11f3a1f23b1e79b37605f5cb51d91a311370f249e20fd58587542af70feaae8a04546102a023100a1178a406a959a82f30c0ee97d6b530154ade0589c250d230d06c6043231c666e1f8721fac0dab950b455e9ed39e33930302047c435bb500683066023100cad1f1d3f826a13180184dc9ac0b3e16416fff214bca40394ffcd6fa64ac933849dc2301f1559ce9d88c02e3034c00ad023100c7845f79d841f81d4f453f44b310bd22600669d602f4318231fd35dec5866bae286020ecfeb07214816c66c8007183d50302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500683066023100fe1dc45c4d20a19d88881b57e2fe858c70672710415490754f41ece6bfc8145119a35766c0f7a516e1f91fa535c2a576023100aed76bbf92121bd67eff2f471e922d327ad6ee530d80e43e31cd4f9124cb0647ac764edf88285fa2422d56a14b1c9c870302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500663064023068e1d5a1e6c75edc21ccf512fd7bafa6e93b57b01c7fb56f6c838564d425ed9bce6ed6e055ce814bcbc726bfb00847bd02300a3a406063de3410478d69b6a26c5731bdce35033880748abc82195bd15c694739aac1ccd8c5f897df7cd7274710c8f40302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50067306502310087fa4a92f4e56544e46c4136ace8625b85fe8a3752af804253762f4f821dfb56fa35fafa79705917ddd46ab3e8e41e3b023011392e582b26a2d0530d1a89658b4422042a24fcd0061cf51409fb4bd0a1e22803d0c0092bdbcd2f1b3c4a90c7c15d2e0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006730650230485cd976841e50ea353fad8ebc99b092df4c063cb40b27bdecf0a344576aa7e1f6454109b4e8cfa4f2bdc3b1e8e7d815023100ba44752dee7f35ac694da51ee62b25f29ced9d4e4c11045c982589d9fb35aba38d7af9c2bb946b0d9f168194047324340302047c435bb50066306402303284bba493c4f86d8a0e76b9351325b671b25f278807e1eff6a4a08f7aa1e5d7f5b13e3194f1520161bfc8d21639609502306c3afdb4e5f7005afadc6a6375f3e67750a8745bdb8e5a07fd2ec23ef7e3bd8ce1af1e6253b48ca214ba877e840f6cd40302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500683066023100b946457a1beb8233df76577bc0a7869b653a65d1de48ab923df8a5ee62eaeefe41e860cb7d1f784219f868e1ff97c1c3023100cc737f894be11a4bca03b3f62281be967063b8b1c38e8e81a379238dae9a53083c4c9b5c16a778e893526c5fcfb27ebe0302047c435bb50066306402307b3179747a72c70e3c9ff18ca65321b1295ea568bffe43f67c9c5657291a61be11abc205e056527b91541581a30e588a023010d8ccf4cc407a5b800c090fe789b9044a33d15639ff8760f99cdd30ce549393eaf117cb17ad6411512f1771e4aabc820302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023100d992bd134cbc028ac06981215eca85f66a05aba1ff179dbef2d334831c4f178e1b7fc3f39edbcc24c72da2b68e948930023013fc6d4c09ada17c5a6705733557ca054bb8b9944efdf7e0ad639ee49164344fea23b4e8fa26c862ec4c3b6844e472d70302047c435bb500663064023023d1ff16710a7af19151fa4b2c3226a086933ffda07fe5c050b4bebea8d3331fad0c76b3bc7488ee5f7b38fb4cbc22c102301b513c4eb4677cd0c7b1926353a8a6d1bc003186760e52bcb4e99c71ff71e31221b547b945335b5dc1d59c0bf33272370302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50066306402302969dc3ec08dbd3f924276c02c7b6629e0411425776a9b554b5086c07d50168a11d7ac5e532949e64128b25058a108d902300e76207bd10a75d66f8a72f996b1ea19bbbd11baf3d3865a5d435edb6e5cea29d474d7279d3264f38e49777ceb657c130302047c435bb50066306402303440a26b6cd48cc973ee5ba4ef956a03656c3bd7fda6b00c9a0558efad6689d2439abe77136ef97e7c4b743dc4c2847c02307c3b2b2e8eb2e4a9b22814bc451882e3001dfbfa5b7ca9beb71139ef42e8a8b8a416a33e2517aea2e65b005ccf3561a90302047c435bb500673065023100b3d5a69a7eff9ecd44c9ce79ff094710ccecf766b8b929c394d2f62237daf31dab6ad1f25518d792a6d3acf73625564602307b9cd62160bc058c4bffc77dca5f37830fe938a25d458fe81f5fa73cfca3cba0f1effce8632ad00729366b1add02128c0302047c435bb500663064023007b82b09dd265dd57d5a130c9edda5e61e1b2f7c4ca6454ab86ce81497d1ef6d0dc438b2ad2200b4e7fef62d34d8b85e02304c09866176c0b09c56748699301aee82c652a17e5fea789c0ac8b9dda29a3749c53e2b0a13f890f339a92eaa405178720302047c435bb500663064023022fca82923d070df491a68dacd34ac3897cc97b569ceca646604a71e9404312bfc32c83693709717c60492be70ca342d023070687ea26f008ea14c46adbaa1a137766921b4a872cb834a127e43b702e3f147be2bddc825e6acd3f27237cd1dabf7340302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006630640230045268b40ad0866910c5133b7a65f0ccc96c252f7d427d479009914b9506ab264dba205b0c9c29804ca365909af11b930230387328bf7ea0dc6837137703bf7877c4b65af9b42bb15abf2b19852331f508e0c03caa30cc1fa3c1e2915ff14e99e6b70302047c435bb500673065023073c84277f165381380d42d8b08daba2b9175d7536cd5632833786fbc76e7dc6d179bad401fdeae31e0c07dd23b8a623e023100a1d636eec8f1a441debcf447711991052540423e63c74519fb6d094eb38369775f1fd86dfc43531542c94ab88595a9230302047c435bb500663064023024b78b957adeb83332e4266e91ddf765cbd9fcd1a5d3eb9bf554623692807688cfc1e86e57d1fe08dc727ae63c5cb03702301415d5e6a39be66b2c4090f574ac7dcf38cbbc21bf89b1dfcb56f9a0a6c323e911d08f3ebbbf571596007f0090d0282c0302047c435bb50066306402307fd0c0396ef46b1dd13c3cce3cbe66c68ed6d5ff98bbbdcb5b2266fef3ce98779e045cfea9f5dd87acde07e115965b4802300ebf6e7a1a848e2dd4b0ace74d286ef8aecdd211e3d788daad88d6a52b2ffd6f9a5858dbe1845f2116a5c47ce4bac0740302047c435bb5006830660231009d50284e2235afa54613011a7af799a97638814ac5381c399d77029a3af4dd4c2e047dd762eaa3620a26a640c8732433023100923a0b009967e82796c197f96703c2f6dfa2bd4d51ba7fd979da030422102163cd5ad18b46786c1da85c7b6ff5e246e10302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023100f0fc3eba2c609e28caa89912130dfd8bbf4331c0e79116149e9d720aa0b66eb8e2484e767bcd2bda574de0815bc680640230029eb842510aac87facc5ba7fe5afe1b1f889d2f18a52ad966d9cb575e559245c45fc60ef3b41e6b92067559a6b8bd8e0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50066306402306157b32bdefa34736cc87d55cf6fcda22fc01d4bc6d12f06fa785f397743479cbc6716d9e8728d78b88890d069633d2002307234ecfc01a8caed450532f1af3dd7e5b250af57c9529956164fb633e5530e9efd52850726fbc11e753eb5265e3e3bd60302047c435bb500683066023100cf400a6a3508484774bce2614bd0daa44b333413a6b1d1564c0da6de69153d47523c4e8987c906416616ae76672d6f67023100d990b4ce7ff7f03323bdfc7d76ff4fe65279fbdb4096ee0f1a778de985facf220fc718851fc28fa1187a0aac20bf98720302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50067306502303dbe4ffe0c6675db30d4710e53f6127997e636281d8bdf685ad82830892e9ab8e0e384720b0a643af20d6d579d707b1f023100b238147d1ab1fae64b030b99d2dbd30c25c39acd27d12e3f55517136b00a1e88d183fffb0fd5751d50134271f43f84b30302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006730650230563684f33a57150351895a91bf6f5bbff8e9bb2a644bb9ddaef5653a0b3d2bb14f9faf1fee5f7b3335c65bd18cb8ce3c023100af8b1028ff960d1361bcdf19cf201358e749c484125c62442e3082fe286dba58a59c61b50f0e0819e4289d260d0522c30302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50066306402300546f4daa23ce8aeebf4cdd90d5bd1c932e3688879d0d99e8912d64d02df08d7989683f222a8e84a1d723a542c44dfd50230789a5f4aa9c04ae3fb0258effe36f483588e6c3a5a3c1953f4a207df17f95cade80551f7c51bc6bc5895584ddd7faa1f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500683066023100d148b21fc31065ba1ee78fc8055813558c2c788fa6d7c856519ee18a46144d1d10e967716ebcd3626eb0b3dab84309010231008c95620ea69afa8fbf90f32c0cbc6353304fa02dc056d801736adb6ff635a9274331ba2c9321cf10f8b69e7cd253ead70302047c435bb500663064023056a3474fc00df8aac4b164da2adbe2ae53d5d2183de155a25b178758231a3c42f1b1a33837e16ff4f58ed92c2ca09f9802302d71d47d25cf08393ef8c59ebfbfadcd3824db95ce685bab9879476044b7027aa25939f46e1702e72ff95b046e6ed1e20302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50067306502301a1ea47c508197dfd8e11bb77fa4c6cb5b0ef4bf90f5e4924e1f4d0819f00a2180358846b74b11fc7ddf18858f75a0ff023100e8d327e86159401dff0c760a4a182e5b2bf7841864f5f61b953985d2f31537b32a1b98db69c7f6d400b7e9bb712917bb0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006730650230789d8f40b841c9ea08a689032a4a087e2b1413ebf90b0cf3c78cb7e27c2b6d6590c6f418b860d17f566f721ce5aff71a023100e2dd882869855bef57768d8bfefbace1b56f18ff005032b1f40f84f566e572f9dd6d81122498040623d74fbeb5f07ccc0302047c435bb50066306402302db1867e9b7bdf59ff576078d36011fa0fdf55eefa45b38ce655264515f9c7200db58f660128395cab7d45135e416bbf02300712f90b95ea57f8b4ec88cec192a4d5439b06d962afda8f01bdf873e725d03a6cabc679a2c7a73685e6020d16f36c7a0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023002913f4891ebeb9ea5cd5015b64f1a5fadc0dbb55ba615a873486b1a082b9a25ff1f4ddb106fc690a012addb12832fb00231008e695809ab1c8e38bd7f6e275b1d2902207f007e14c692595d606db70f1962a1474fbce25f3fd495c67b9844132ebb4d0302047c435bb5006830660231008289a21cc630f864dc2437da0b1823b7f0573328daa147ddb67dd5d2871ef8be91be39e6045fdf31cd9c3e15fc8a5054023100fa41fac569058952f876cd342c13426c2fc06913e01e62ae240e210b45da1f4176924db4c48f2d8cb60e5298939d49710302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500663064023071bd463738fcf7af02bbbe3a9b1b3f2b02e3020d40ec2d2994f87c0598fa8e3ec384e0bf2a7e5d541e0758265872de61023037e657518564f25b18ad150f49b49ad6f9808cece6401578e3991e4e62ce82b6516b80d8565c25cfa40dbec16f535ca90302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023100930fd388e19369c4d6a8373fd3af4590e9ad0401ffd5692cc0c1d5b6f1b16274f9782459b0bf7102d42e9bbf50179d6502300f1218b13ccee3b173f54fcec7e19c3f680209017a5575ade283c2b94a96fd4a81aa40f828ee3700673c0b19eecf91cd0302047c435bb500683066023100ef06bb9e1ccfe42c6db32059172ba46dc63135b83b219d62844fd2984923258e8c05844b7763a8c18fcdf7de2c9f0330023100d7f3e54a510838be96fb380109470cf3369f844a19a6b236cbda3824617220573f0c5a7d7bb75087a3027709e0fd02b70302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50066306402300521c20ccf93bc4480bc9286800e7c6fec3a2e2d64b1452695e0beaae6dca92328538087f72231701ad86cb39e9c6c0402301fab041a3fa00dbea5d92b0a4c4b96d44d2adfab12eb12cedcb8650304f85c797872cee177d4d023515234f3b7a4c4bc0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500683066023100e123d10350a9fdefe294c0b7c5fb254499cc4422276ee2d16f3d49e6ee59ff51bc14fce346015727a04a49b80c1c16cf023100d2256dfeac597b3e3552d51e4b6891f4cffedd61567531bd94716cf18b959a4179cf964a410eed07b9b56668123b08450302047c435bb5006730650231009268974cc51fa60eb8aac14144fc31a83d876e8fc5dba851cfcc2c420f446a9b7471538411782365c1dab03cdd5f255d023026a54662e94fd2f6c4b196156435096c001d52368866e061e36c0cf8213a724c2c6fca17fa4b8b8db0563fba42ade17d0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50068306602310094a6cd8532aa9ae01c376ee4557cbe48b58d72d9f5c494e8035632383674a2d1889be126521c656518c93b7137c2b297023100a9dc17ed64526ce768f1f2560c78accdd334157566977d7819db27b5984f276f92350141d5c3de79ac621dcfa1cad68b0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006630640230045a2db8a74fdc87fc01fff0bebe58ea92387c30dfb6cf50c152b9410818655a62efbe9fb8deba743d12adc325c834e902305f28160c09c78dc14bc923cf13804aa24ae516c6ff2f8343596f3ccd765e2295376b4fd16714524742b217f67b0228b50302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023100c3f1e3c9fd120ad3dad93c980efee3f4a187c4f4db85d634cff37b8e9ffb655113f1a5a5693ba47e60a4c8e46bfed46302303b7e83031b395dc152a09ef628ebf6d155a3ea07c9f6a3e868d449dade5caa352608b5767acb99e3cbb6cafd9ea2bcae0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50067306502301083d134f54cdf9fd4110e1cb0586eca8861da3117f95065818546e8e688ff4de08835669e6268f9af8a2cd9653ba3c202310099a950023445dc0e5dc474eaffedea78a2c402bad0a16745772629c7a86a2a76473cb57a1c391cfd2a884ad80be637100302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023100b470009df608cc598bf8c5d843b9e512a36a6daddcfe0c59927fb9df0b5c9a40a3ee70a33476c3f0a448b99d6b9a7734023071ecb516f20a1de72c0ef55efb17f261b2d08ea4fcf1ea9e38e2a2963c58f9f12f2ca275671ce4e66e08dccad52784820302047c435bb500683066023100ab532aa889becfebf5c03162e256d624e3081d671558b36b7f93401ece59de1b191d9433b46bf77d9acb62311ec836d702310087b660d0715cb18c1e01b5c3bfd247eea5fddca5130d77348f651f94de6395a44afdbdf4c32e43c90f466d46abfddfbe0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006730650230496f28a02c645aa048822c888984fb7d188226821347fec827caf5c39f426ee3791eea878ca7c14361deead3d63b26aa023100c71d69a6e41a909d7e4b349d73d41fa8b570c096b969339bfec821d62851085c3d93515dfbcbee157548a78efe1ed78c0302047c435bb500673065023100bb76509c550aa64bf42d44cd68a1ec5e61bf680770e24f9b649f04c9ae72fa54b58f065c9fe65b89bd8caad2f40889920230667db346645780d3ef5b76841c2064e4ee1ec2dcf85809928e4ea7fa938bd655c24c290a6cb7a631023cbdd8796869ba0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50067306502310093a4724ec1d1f7497619b7246bc9419edd5e1a9b78a67cff342bf04a2200857075a289413c0588a7b3170b5b497d934d0230799e886d22938f6ade1b02a1a845e71fd946581e1f3ba818e38e41b2f79a262515c02d0aa324ac2ed924591f2a78646b0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500663064023029ea1cd6255f1530fba39c73a63b1eff422f1df7d0f45dc3784f43d26a77257abcb88ae5ed6001b48822fdff1017922202307042c4ab0b5cf5d89decbe1a638a3c39c2995180c5d4271cafb7559e99df5960ef543e545945cbca083ca04b0dd050b10302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023100be9182d3af49cf13d6453760a128899b2e68d51546b10e3d34cd5f80658e802af9ba0d0aec3c8685e171b937852f026a02305351d25b21f89aec6d9fe22e668e9213410c1b6f428ab633b0054b8e6096ffe4df011c250bb4b5a0e4f94603322b53f10302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50068306602310096b43b036a7a8d1f177d16278d7acbec138a3896f6a575eb6e852c34730608862fb8b9b547e6166f566ed8a9f2a6dc67023100f419b86f32d581ff09a555c3329531f94705b0d9cd7137f2445c122f30a08f78fcf5f97019d934ecc3fa52c3d4b12d130302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006630640230260188a2864bbf3ed3d27b57314e6eca545fcec600320315c6e7e2292e13ea86248bf742363885300a4bc44ed8d140560230699c7a035b253ab16377faed461e9d70972f7f4c97dd1d5cb47f5430af3f4734ae6049726dfb0e0cac6a3ddf5a0ab8c90302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023012df87689e3dcb273dd6176991f72fa287709221f5d69b6adf22706c832175395683abb39ac43018c8da031d8b6a35a4023100e16a87e837fc0047038a3de446b3cf09247be17783a8ef9c392197e2b8b67197dd3b5b27910538e393b47d15a885afbd0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500683066023100c8798a2856eeb6d62dda361959e587d8931ab13e2331defc7b258ae85d9567fa0b1108b2a5c76fcbd0baec874f652190023100ffb5e35c9914523804177676a2f8bef5243554ceb9662ddb9e1b1766440e0f47776b05d369aa4ee108cd307a52fc30de0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50066306402305fd8802cfc816a096d5c375ef47840a05e7736713eff8318996aa76fba3d26c96ba805ef089f30947f5d66c3844ffa1c02301902a594b3c1ecf9c77ce24279b0d318c5b4a1833c92a26dcd4306cdea7c9352d74ef7030e9bdf58ea0eb69309f0cbea0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023100bcd028d95b894ffc00d84f05f6a61309bd9c448c0c013866ef3d5d89caff2f1e37da60313b2315ca7eed16b0e54e2ef3023073c1a5a1419c21a2aa989480251d68caf5f49fba9d681a9a30ac4c7e0b4939c0ea9e4352dba6e9a53a283a21738b6de20302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500683066023100aa8b5d85f3097694769c14aaa8c75ca37f68ece9eb413cf85a905c8eaeb3e12e040bc966ce4036c156ae815c6ea12975023100d0d7ee57e62a2d79cda92fb4977817b83a2721e7b3b1ccb01e003baec40d6ff4f2ff0a0fc07da5e52cdb8f311f599ff80302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023100e5852567d812cb017c1b98b1615f8c8c3795d168c9086a98fea93d6de4d4c0180881552237e588dfac5656ea0f26e53c023079fc4f8a17d0e5a244024f30c9e345c879cbae9759b2c13eb17b9361b45f74204c98c560bc162ac216254a5d28c3be640302047c435bb50066306402307fc31955c2101e8a210711b4aa57ae37cdfdc9d93fca740042f52cc78c70c0a68cfbae6f82d037a174b44ad7673fa50e0230422672722f9e73dde8e119a62b8fe5abed4507eb961015314799b3403c6d9f47817c13f8228d5cf39eb65d56544359f10302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006630640230744e0ee2d7638d722112f1f3fd80efade425fea51e127f522474963af3402f9f8498f077af6b5552b69f2edd63df32d3023077d2e3a81ffd0eb247c3c89564c2584e397525d66e54c212194adaaa50dd9defd1a4a34183d158912752166246dc6e230302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008382680d8ba3cd9580824cd27aeab7a5df23d1d531260d363a6d9814467cc47153a24e21e3d1f7c55a320dd96498e3fd02310087bab06f5e9243bcfa234d8b141015a6ac5b951764dfb4ea51b44d5bf6c8d6acd289c68bac60542d736a1cec6f5c09f20302047c435bb500683066023100b910c7752da844cc6e5810022af7485ad23c3f428c1fab2fc78563fe416e06e776b2fbb4aa6c89318a9ae7de79ca675d023100cd1d335be0686c90806fa32087977008762fabff718f3c9234a198252fda7bfe08d7ffabe36cb34092edb0a12dd161090302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500683066023100ba8b71cb64dbd321ead1474ded4852d661443296da5b476fca500a53134ae5761c1ab57cf0e13327c1c1e4a7d57b9adb023100fc7711669d839a0274ac95b5066f7575a40f0ffb6935d76289d347316ca73926faf318d0777669d44debdc2cf96373c60302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008ee527a2745c37f935bea452acd36e55e8fa3a5b9ab557f7aa50ae1c7baeebc5d9aa6daa81236567241804b76c6dfb73023100ce0c2faafad3f4ca8bcc3889a92daed007b3b6955c4be4edf53d37098a73c98151898e43ea9f1a1c1a925d3164632cb60302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006730650230333ecdd5312dbee06e4f636b0a914a2deeab84f8b83c84bee9e15425e331ce3a4e9385e6b1d2fc6e926b702e411bfa73023100b3c127a908cf19e834a613afdd38ceba112de57d8654df081bec22e2aa708a7a1b2091b8593be9119746456f5983af010302047c435bb50066306402305f19524275090929f4882885cf184475161fc787f73ab8faf7194bf54fd293eaeda92a20ec442f14dc5aac556c0cfe6d02301ca1ff06ae01593f3bce1943283df1296b5956a859544d9e447c19f5dcd2a5154edf8c540dff0f105d68ad64f2f007380302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50067306502303242863a05a085c08cf947f913d9eb40b2b156d850c27d19f7d59e2db387f1b2a1eb286590eb64245b33f31b290b8c23023100aaa9ebe8e5b06641557a1c60b49c074beccda0f3e2ee25de96aca4744ca30e9155c1cf6ccda8504af966f0a4276a6aa50302047c435bb500683066023100f312dd7eced170f213e83c0ac527800be3be277470c27c8cf936611f48d11895c08872115a46bb47a23b78fe65abcf01023100addf7aba8e590f685d667c4ca7ee4827b040eba6a1b261e431e074599b160b2bb78ab52453b8ae60dd8655972a04e9460302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500683066023100a56388a79ec29be4147fdc5f97473a6531d90bea00bf2ffe05d0f11d7fa6bfe7a7d08952d9b23bf3a7936cabfb23606d023100d68ba9fe5b53b42304073c065c299232e34cb4eddf0eb206272e9028b0d2feace4c142082ece89f65932dfb3dda91ab50302047c435bb500683066023100abf8180e80177ff0bf11c36ef6de6114fa014ba24287c7f5cf0e1bf8d51c7925c759c1e080dc023f708a98d411167b12023100a3fc0b7e7c379ba7948f0442d88f545e63f1e4ef3356d0da24cf45b261f244c0e7e0b18e5f4cf886629ca3d4f1412fe60302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023035bd7cfea76c51983773cc726e3e5f703aefd6a5fd981f5c5372a95ab579fabe87bc64138c8aef0e481ff281fdd1e3b1023100cffc47f2d09705b71b4c3b743b57a31cb1c16e96b82bab95ef9d911c30e51a8b1a6398b0b1954b6b9478dc3c5899c49c0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500683066023100ae6d89b2a3d8dfa7ea9cef6063dbcf64a1f33fb1e73ae94ff1ec1f052803ed57070e72c5da84bb35a452f9b780632ef4023100989565ba7d56d66db3363b8ff18111d2095335091a1178fa9de76d4f156e4208fb459c5ab37b51b59af6e6c0e2be49a70302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500683066023100ad076ea120344318bffa0a5e353c096d0301429db481a8d359c6837fd1ecef79882d5724f526840706cf48513adcb7fd0231009e965abd7e77b6f896d4bf7196b2c78b09c69c2306b9ea861c3e703b61d663bd95d4648a7d0db58dcfd24f7ea00ec00c0302047c435bb500673065023012442942d113c36856a7ff83f137d2ba1ecc155b9c868390157cedde3320723bf9ea9031c59f27bdd78622ebc78b96c8023100d092d442cf09bc34710a6dfd94401aa748b9a8e80ab7c8cf465219690be4fbc9020f86c2c0d8fbe7d987167c1625e6de0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500683066023100e2b63fdc03807c1b29e6d15e0ff454eeb45e79fbc97d19a496d2c52a2d522d6065cb4289b78fd22a3702abbb13a53138023100d41ff43878050241b3eedd5bee84543f1a7283f4fad566afd8236ad421d0c925dc3625fe0259e93977fb02ec1b4c3f690302047c435bb50066306402300470b07ee1f0a976a1ce77c487c41f4b6113ea1c99b43cbc3ce7981a80a716dca655af25075a358185d4310e15eb01460230327eebb1f3253ba15ac69d86bb9631d3c37266aca4d4b8b671848185447d2e54bdce88d6ac92e5cf44c4c5029ddc6bb50302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500683066023100af38d04af9fb527327306d6f6f97285da783a2abe8891effed148c5fb081ff06eb38808b276102b70b965c2c9d2445c9023100e2b3d10b28fa3a72ab70800050f3f5b0fe0f462553e0f1e333f83d6b7c7b09e924ca4d7dfd58f4f085215798e9ec3e470302047c435bb500663064023036903ad5e8c9de31f1c151b831402514881aa664f7ad00db5da2980538c71a05c9982c2436087a0e0b0f0fb30b30bcf2023079d0132c8cc33900a46193e1811105d5e398933695945576d6a815ff90fd45e0ae46ac7f1e1cf6cf627e570b2871a9090302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006730650230558c03bf442300daed9aac5a137bc34378011ac22eaffd9617be50dd86543922ebbd0acc72166a2419dc47dfaa0b6a0f023100fdf870078dcec6771a275e35db6387b34a4ca8bd5b34309391e23d49221cc366e72f6393c8e63531ece984a25ed94f120302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500663064023051f3da884018c3d7e7e1cca809d5d81b3c11e00fe14e7f04764229139ed982a9d5852a26307bfdb9a50edf946011f0610230624be99fee2bc0fcd4746c9ce76590c3cf8732d0f7d4d970df15ed24654a19cd7745469fc5e5a799eab541765f88cc6e0302047c435bb500673065023100cd1a08d8a5f20251b446e97dd39dd7b35a45169ba8d99569245b49f874cb0e815a97822ec20802d8a6da4ba372c8985402304108eb27b9c502f53ebc18c9508823b501145eb3321276217b3e28c22aea80abffb76a113d93a6bd69cfd97e6d262aef0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023100d8fc0bc73c74f2bf8b2749c75ccd48c09ec50930c06c3167b2a519cc12b6ff7b3adeffb02be8b724bd58140dd9e18dd3023008787c3de4c78131b50190f172ad7a7983d01d96302aee8bc4575f7dbe2e32974f5ca056d8232b83bbaa356dafa9ac100302047c435bb500663064023049ac522f419a692654f7a4387494a7d3b293bb418acc9a2e7769ec0f44e6cd70aa8ac8d1fc06b46a7febf6533a87322502304ded3a3b4b88bd866bb63fd79557d37ac3dfd382d1e5af2ab8f6626d9d728341cadb38659af122225b989357e7b6afcf0302047c435bb500663064023003dda200dc4b76a99bcbd739f605ae3adcb3e2557c6cdc3054b706c073b448425147a6df602f05839780a82102ef8c5a02305c020dc63a493eed43920af21f9eff92c5370b68043e227d9c130a53e97869d4542f5e1a3b32e72a288885aca2a0bdea0302047c435bb500673065023100c65c3db40e59e6e7c7b9023c6859150dafa5fad9b7ba07985ce5ca91b291aa74cd091c2198a4f48e58ecc4f8395b9b8f02307763105d89f1649612d876d9721e612bcdb0a7b0f3f34e795607a659b60153a5bd1fe77dec785695c8bfb8a8fabcdb770302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50067306502301038521ec6270bf1998505366aba872e4046d5d40667dc2afba0868ba5425599834eff3b8ecb7c9835553a86fceef9dd0231009b8f7eaebd8b004f74a22117a78663faaa2d903681429177af70a320c5e6acbb7f255ba4001664421949fe7c0a09624b0302047c435bb500673065023100d932ef151cb22a747f75f19956cf5559443d94fe685554ec8c599e645b330aef705acd4a94bae7d3cf8382b3de737a350230517a3aa3cac3cd23a8d90dfae95f70819cf9b4113a41b14361cb095982a09c46cc258bcd87cc1a6febd9b2bf73cc26c80302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500683066023100e2fff269d0e614dcbb207d3f25f2805a71f9d5edbcdc1219d9131427af56b53f544d51d64a86d6bb8a97bbd4176d73bb023100c119b01cea1225ee59fe0209874012723a16fc3d3bb47cfd72b027e68cf03e020830f3f304fc5abdd8cd1c5b32e0aca70302047c435bb500683066023100aab0ac6d255599d3054bf90e2370ac3231bee63d48ca208043116ae6c306377829d9bf95e2aa898fc9ffb8f4364f64a4023100ade28ac86503490fe2eb75654181254df1d7ea55b1fd3bbc99388ed0e9529b38474e78ba7b0089f396cff5fba4ac83180302047c435bb5006730650230639cd4af03d2bbe98ce906a5475990043e84a4247a6096b0f5ff55ad5d7ef199f89b9ab1bbad9746ec13f143403ee3f2023100f148564c86f986ea4bc62aee8f3b4a8f071dbc5481158692c347ad8ee4c9a4dc6247baa29e9e11fb1ea1e01421ddb1e80302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023100e259cfbce83aca2c6e97123c87ff58b7ef12afd5e5eb81538aa75db348a9b6273fa2368fc38a21835604f29dba3091be02304082692da1acabc6ae0100aee474ad8da4256339b20c62fa77044334440f60bbf82566762a4a4b7f777e39fdd72080a70302047c435bb500673065023100e26e4ff829b30486f9a82f1c4f1a1c4d03002f96c9ef803b3db6c97d0b2c33e5dd3cfa2e7ae501ddaf1594f95d979cf80230453da4e2793bbfebaac70f2d0f049bead7616a2574e3529d32f09a6bd2afb80d2e9a2527044511bcca349605c4dd5e720302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500683066023100e6bd753f754c690cc7bd1535e32fc0dfa3d9e35b69cbcfa23c84d020acbeba454c596df1ab1896cc1469b0ef8a9ea3e1023100e479d58ef170ea1122eda898902207b80d52f4b3bdf5ba523944e4fc7214318abbcbc3821f3d179d52810e3ec61bcbeb0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006730650231009f7a22baa595dc32cd2b1ea4e9109f2a0449b2b6b6c3e5740b5d61f3bb5065b3e87744aa7cc254a853c0af114a7e494d0230540f374227e9325e3395412ea5f2194b08735cd4c00ab9ff5b0b128a8ecf7a9dfffcdaa7a6ef005b39360591a54d85020302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50067306502310086972ee079c9b77520bc530ba8f305f3847f20fd46132da3106ca1991105d3cba346f38c737638c4259cc1698118a4fe023035ad60deee268827683a192b704c82f2842beb039b9e444fa05d19f4b24277e37588a3a10a7118dc48014a3df0afea660302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50067306502307ab0c4757c3f77bbf644a3536a4687694e5bda8a7817992e9e248a5fc751c00ebb60b116e71d6b6fc02344dc805ac655023100ed497b634eda8740486e7de480812364102fe6a92da32577865887d707ea9dc036372163205c63647843273f8350455a0302047c435bb5006830660231009bcfd5addfaee449c94a1bfd597ccc477d8b31ff9878c6e3a5af0a1c7612794f43deb9d012c3699e29e36b147234a14f023100b43fe3a326ba81586e5a934ce9c496108d15e1cf4c0c4266eb62a5fb0656191948590e64f12e4708f0907634a83bd0010302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50067306502307a9e70401a3b40fa80b196ee9df3eca0a3f5222e4cb442ca6bf5381d6a50d3d0836153c99b4a743e59236b8d6d6dcc1a023100e61a8022f21836285980163a08ddd574ffd6221b3ca74bb4f9253252581906bdd7ad8029e92b7ed4df748046fa240d400302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500683066023100e605ac3fa256ac2bcd96942e4cbcdd19d3dbaaf96ef144ce4bee258c577eda7e5480456b634bbce890b5ba905373dd3d023100b3a57e0fb9bd9d4a9bcaf5ea648beb7e440817835a76894fb06c1c49e23e23296e59032fc5aa9f8d28301727245336da0302047c435bb50067306502300864217261a6fd04ad2ffa84dea1e66ef1077d5258d2ae9962dad4ffcfa368b81e3f279e4642c4b7bda1aae149aa67d002310097deb6ea97745823a23c2e961cb87729292643ad21e0ccbfd609cad44927c624248f57d53179847e0ef1a00c28ba5c870302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50066306402306708574248391248ca5729036bb9ac25b1500566a4da0b2eb6e304ba8e7968ff8630b40e92e9abf56decd2c259b55ffc0230024eda2be4091d1551d9340010520a479343812ed0fcd80c64165a875971b65180e5cb2a167ebd52bb75df8e342d4d8c0302047c435bb500673065023100bcf6e4a44d0b2926a3a63a5594bcc859d7eba62c4e1e1b12016dc46cfc2144dc22c7bec370a40a3132dbc5c0a19010f80230713f19dee4ea76a90ce8cf695353d738059495b71bd468b45fc0afe081865170e5a8363d2b56c7c44024af0840a9e7d10302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023100e123e5e95d9b003e951b69585c33d840bb02f513063e92f019ace7034b7699332f71ff0d1f1a7f1a50a8f04c3089e527023074e2f19bc6bfa8407303ae34d20d4f74a795c98cb521be163a36f7168a7477b70d90fec0041363270a7bac8d3cf9dcec0302047c435bb500673065023100b53cc6b49b0374d391c55a916b12093c4fbf7841915ce9ce0747f827a2c559b81c25839e559551917ef83dc01aa6d67602303b29f248a4860b2df04d8eab7366df152972e7c354e9bc3f98fb4252699e05ca7e30b9850ad712be2abc9ba413af74a10302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50068306602310084d2f57aef082f169e5c9b0e2e5c6d587bda5bcaab8c2df22f82d6b5c5631e07ab69621bbe08e76508be19093f928705023100801aa8dc0d6a0e00287735479efc5b89ea6a2f473c2688660bfb868f0178dc9f4f1b7396ab00825fa5028de1b0540f2e0302047c435bb50066306402306d84d0f6a817ca204994fd75b83e78a66b16fff227bfd31ef7e4b489dafe2c6e495c86472cec12341556e04c28f31f5002301a7a9ba2d01b106f08060a59dc6bcaf0b83f1c61a32ea00a8f64470613e91aa54689190fb9e9fc492ba02fd34252b11a0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008ae18a0cf5649b3fdcb46b338df20f9bf1fe894a68be9b8f9dc000f41f5348a7451bd1de7e94d9f434bb450789a0c73f023100bf607d71ffa3b553569c075dd68398d93359018066a4bebe3b5f65ff82ed50f92910d28d833edcacdde0f660592a9ced0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023035b6c3bba6dd264d180c5552cf4e386d17efdf361a5389fe84dddbc10a9e1166fe60a13c122a68cfc910fa9afdd39059023100ed13d3749e39642049f5bce4c2178c762eb0785453b97acd9ca09cb8ef0088791d70dc9ce0771d0a332d1d7397023e800302047c435bb500673065023100b8229e93daa862b7891f0bb0dfc864a1a290f9b0ccef36981f87a6bbd6e4dd87a50aefd8677817f93c50d15c7ddfe2fc02304fe40dd76b1bd23c9bf11de101a5237f83df92392862fed6d9bacf74fff39d8654510bb83ef9d3333cebcce8577edc3e0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023100a9c7bde4e2e087caab932605fa5945923e36c2d8e1e0a6626ee07bb653714d86c0a13097fc05387cbd9c80c73549a029023033c2a747b5e3b75e8edab2723bf7ea6a3e088bd88fc31d05057e4eb4acc56ac274342d5b4fe524f677f8919adaf6bb100302047c435bb500673065023100c34ddc8a05fa631e53adb41acaeae7ad6f3c757ac2b4fc58dc736b181de5d5e5dc732b44c9a43e187fca12ed33e95d0602300927ccb814ddbed7885b86a34760b41b736fc51951fce64b59aa1382d2e8a38abca27dc5b4e38a930d75947172d63c1b0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500683066023100d68d8756baeb012559960f35ead5a5025c87e9bc1d184ae8195aea25e80d3f46f9c442f4adbab2181c17b380cb6e434c023100fb749339e1092a3c3e14fe4ec5706cac4c3a0cad997fac2fd715395b7342bf62502322f6f4da20ef82ba5cf099d74c7f0302047c435bb500683066023100a6bc1fc9e0a81db795e7fc2de8860e31a32b512645f93ae22020f2fcb0414a9186714a9487624e33c3842ed20a4b4a07023100cb825bdcd62fe57ff445c06a351c85abd4f5935faa5d072c3463f87867b0f3f7b2ee6e0d1ac9c2fd88167389773534a20302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023100e59d38b13017ba43921d3534cc0288a085da00c3d7522aa5a7c281cae68daf5c7b777a0c9bef1bf0bcffd206e3b823d502302170cd091bd49d959f96e696dcd307aae83c27e9bbbc0b6ded1a691b006898e35c9c529f9ed09c34102cd3073825fe020302047c435bb5006730650230504ebfecd0cc1696553de4f823bc249435211e4589a7d5efa7e5071914b461233c423d57129c63e2b1718f6bb9912c57023100f2368f9363aadcdc41a6cd2199ba984af71d993d629951b7bcec8fe4f0a43d913a95a93656cb83e192b0eec0b41b9cda0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50067306502310083bc773c7b72d6a36174ba5f66d90b90349daf7eb472f68171ffd323724a179aeb59a02aad488bf43b93e0c47389ae4c02301a6a2811946bf5b865169460169aa27cbb6c48c48ba78925667cdd22524592a30c9404115e234b5a88ec844ec0e0498f0302047c435bb50066306402302b33576317584310ed7b1e84755f27d9f34c7f22c98e92eca798990657f9994139e54b29ca2c3d6698ae731c6f74dc3902305c9b103c812d20fbe02256cbc67e0a65d24996bda4c5a68ae01f2091fe7d4f6717f8c4c3d9e74fcec61bf4399767236f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231009e603bb2d31be87a1984f4506cdebb221c012f21e5838af2a36728f5948ee25d667bac2167f23170c538f35eaca0898e02310088b3af7c0d82e7d4e977bfbf761e5264f1ad29c62409d06ab8876790a8621a847e045a12a0d0650eccdf1702738030e40302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50066306402306011fbfe166bbf935d11a8288b05b6d6d17f57db0f0ca320c59c8d0656130d4847850a0ad6b1a8a1b6ac6b23625c0144023022a03fdac37c47e180f71f8acf7d22bebcf63b49ca221df6cadcb20e54cd4f0a455dda9f35db68428afd0596bbc4879d0302047c435bb500673065023100883943afe25c4fa35faa657303712b053ed9779d69f162233527abe928f3451bed060cf22814aa1e2d0991ff786ba327023014187640d6239fdd3be3b3d2a37c4263d707b3c06763119635b6b1de0e26888daa00a18ad6b5c121d92e3ca5ffec66f20302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500683066023100fea22ccb7c93bd12c0b2c2fbafc4c2e59b58a26b4f579c5ef63e0c63fc6fb264c7005fac1a64768ac2c905b539b12e88023100c5b45c024c3549f899485a7c7bff25f1ac3a1479a9bab136d05e75c6436845d2e6f27389bcae32ae79f18c7892ade6a10302047c435bb500663064023008dfc8f9df3cebf549ff7ac632b96c8198aea51af2c766fdcbd7c2544f0520fd59a9d6d027e6dedc78f874bcdf98bf91023044fc28eb2718f1a09734e52f6113c17bd7ba2acf42b61adf5d00d3c0cb2f94fea58ec1bfa06eb2c14ccdc9c23ace0c140302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50067306502307155d87b51e7bccf8f1abbba006b508dca70fadbb78092658749b7f3b0397ca5711fa53b0f939cde50f2b5fe624f2422023100929f9eee604faa4e46f78aa2467f6c39c7949496b251ec27cce0ccbde803e3874b631cb9baf034621f63a734acfa61a90302047c435bb500673065023100e3d45849c7592d53ddd173324f5a5995ff3d3f751d2518bfa60dbfebe6df647a5728375b5c0686bfef3831915138d20402302f16c4fb9f1ad08b4e43b73253a7a00a2af8bbeae937fd9422ee061be20ba9b1252903d55a5f2116b3c8fe439d67eca00302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006630640230507fa48a4099b6bb26fb10141536e60638135534a3a698f1c86baca9bb871b7a4ae43a64287c72ec2e58e03e8d577eb5023074a450e9d9c5a5aa6fc1c84cc508ba8fa906c4759c08a7b59071fcb6cbd95fe0d747a7e42bcb3b8115c491a84e51bb870302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023013c222791729274fe8a7498fa783f3e914bb813f6047bbbba777e3b796e5ecb16d38624623732b7582aafe923fb202cc023100a78fe57ace24f872d591023e6bd9ba7e275689940f281adf59a777945776359745754b43f24b3d393f5853587d71a00a0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231009c15300bae011b4adb9c4b2b7600a002eb6469ae604efcc81b096daa3e65ab215ff6ffd13503d488ae3a6b71b4797174023100bc00513592166fabcded1afd6e3b7cc3651686ef8e1740984d63b7ecf34c4cf5e0ffc1ac0791e2b0a6dd939e00f9d0f10302047c435bb5006730650230247a72439d4ee2fdacce13c0e89362ecff60723f3dccdc8b9cfda0067d94dbc836d15121e1ab4b17c99240f4a0c8be61023100aa8c78e189881f8f61383e6e43dbcc5539266d2ab3d488ea27f2a3865f3ba2d7b4137985c06c8b593911e93a5b0beb9c0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006630640230573855df1b1f9d002b8970cfd60c114322d7134724168e172e788526584760ac1c889225a16331e3e25fd89c1300f9ef02302797f940cc422c7edd5d2553c08c294ee098d774e0121665dd3397cf96356ccf305d01a343e93204d8d0dea8440fc6b60302047c435bb50066306402304e999b5a91d36ecfa99e1ebc579f2279318fc4e79ee27bc946b10f1820c0bdf2433baa7fb2f7bd47f1782614f189affc0230355d3858945608d21367787e756ca990b2bc50ceee8cbff680707f6fabce90d3b3ca304e20c3fc50588c2f86d1f2b7030302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50066306402307ceeec5fda0be9005f9c8e5625e3ef4c719e39e8e5e68b31cb4a66572905a4053ab30caac5ca5359ec64c5c8f465a3ce0230525d6a132041e490b4b06a1c1d8f43dc104c0851a0277a7bb2c3fe5721e3e1b85a9d6780ceecc5106598533c3d3b3f530302047c435bb50067306502307ee7e790bcd8919c399f3d01a230dc90e1bf4d78186775b2c6198a54872759755f38306632a48d13cc9ba52497c897bc023100d724a28cea95ffd1be9303287242c1b7aedd87be156e983dace1113a34f1c1c9e253a8e358427d7428fef511f6839c180302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006730650231009471cd7143cd03efd7fafb58d1c1f9e9de9c23178b439a221ef23fb1de45fb3c35c46a51e85f7e56864c11ac052f348c023078607cc6cfa126cef19ba2ca8ffcda09a00bec7ae9b266d64222992d901f56ed901ed05ed1b1151b8aaf6cd77aa5c4e40302047c435bb50067306502301b50b1026e68297f645528f7576a69b569cd755eb94e4c716d1ff189ab253acf98b36e4bcb9fc67b20c1f4bb134cef7a02310089a1aacd8790a6e2efbe0b06ca46cbcb6e4a222b7d7e1c7baf99363b4956df62ef828a68e35a741a45fdce117ec5e7c50302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023100dae7c4ad0ecddef60e86350ad1fe15b48248f061f19114fab8f39b9862c461ddf49c6436a8ef3057b3ee921dca03154502304b45251b19893ec4cefd154358792243f89e9bb71e9b308fbe529ec6bbe57add855592701e1fbaad62ca8f4eb0da49320302047c435bb50067306502302b5170c9047e2f612a521effc34026ead6111619b8741cf415faa3407dc0dd72dad68b64e69a21ebfa577c1d80e234a4023100d5cce3292f2ef4ed4fd355a2f1f1807e2e9e2660ea2f8c0f1fe645377a2b9f37391270445c6acdb7d3cd934bfbf232d00302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500663064023062aca0101d3e1f27ca27a1b09f83abcab65bf2576992df8e1822a5bad818d40defc3fecb8a0055da4571ab8cda0e143e023071776cef62728e35d9bb8b43c5296a169b3f8196b5a5c03753b3d7365b5275b51bd2f46bca63983fc006c877b2a1242d0302047c435bb500683066023100fda9f16ec710391c7c349ba997a887e909a1e858ffad72de5193e17f18b8cffc6137efc0b77741f6a623b627c6b5016d0231009666127206acdc16747739f0e87f66cc6876719873a891107fecdefee2a0c6b139fff3e4514f3e7818ccec6b2b8147330302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231009ef2cdb2dc947d7c6b152e546db8217f40bf9b36a55c91321d13b43410274c4c14ee96b4644fab22bc228ef65473757b023100c61b47e337f8e01a32bef4ebfb2787f4fef7538658409df7b3c47dd9ab65d596cd72079f61d964f339cbebb08c351cab0302047c435bb5006630640230231666808af625c34b9e4ea02614458b2eb298a1feec03b8a561bab33afd60c6c8d3d9d2ce2040c58fe411dbacbf305b02305ba53b594d6fbb87b9ac3af6abcb3be226d7abb6a06d42ac36c61ebdab361ff1fe62590566caf3f7a3614fd8f751f6c40302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023100db2024533107f32e8757b164ece06d1bf33a86913a7765032d739b472b8fdc4526b350541dd0e6061ad4586ec067010f023050eb25f9d281c6cb897a74a6f44a8526ec8f95c0e230f0cf98eb58b98142f9c454bb5c27b743f28b5c1e73001f5246390302047c435bb50067306502304b24374cf50e984ab387f7973cf82e98daa8aea14a54cbc6de1b31a0141d301ac3d57574e08be184348a7cf1a3e243e2023100c0767c33591dd8d9729c11a879ede55a7ce11f2d1bd770568a5e425e79fe1b6e3111ee5ec41bcfd286bc8f771c223d9e0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50067306502310099a81469eba18f264f4a8081a433ec6f9ca54bdda452a1b8d31b67e6a73e3117dd4988b7e4b909cb26bc12ec1c838b630230695ebbccd3b229e4577a9f698cad5a006500e72231434fb3db12a86a5b9ab1b0276e88209475f4b98fe04a1c642efab10302047c435bb5006730650230685f5e2ef3dabff428ad4774dc332e97778a10cc445a510b4f0f1183901d1ac745802d2064cf675c723f274bcbb999f2023100ea84aa09686cf7414a5f14d83a2927eb476d9316a98f4d0c40619e92d4e64fc5e84f8a44ed797770ee4a2e3a9db3118d0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023100d29fbb31b5beaa60027f0acf4227d58670eb19219678694cc465df1577832f7727e704a1943f279102c986f7b3a09d2502300600188bcc9889c183b1dcdfafc2912ef96df5d63b17f8013586be14385068c4af8d0ed69565bad4c5218774e77ec1700302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023074802119c8bd717870f6dd8d0978c7451fa78d4eee0083a2b995bcf9e5e287dfeeae61c6fde9544b20412408a770d32e023100b76e96a8f1f5e9b2aac3bed023833d2ded6f3516205a5164a7c9b594b8505d436300866f03c1952ea373820f67eb1d670302047c435bb5006730650230595e8e770192f5e6eacb0e92688b63a0aba6b386ead4e5731c168f939b7f4f65122221b79be3babd9ab6c0726f320f04023100e206e2c61e93543eb2f29de52c7eff7c1301c1f2882833c089bb37e323d3ce009b787a7f43456ce921c60783ac4ab4e20302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500683066023100a8467245aee36772f1ecfc5237a8264d46bd39117491ecc2d40c3d75aa38d5d951230dbe5f6abe500e3ac5daa65206ae0231008999426cf7ca04c73f9fe4a2344e911c7b411b5db90dc1d570e476017a14256c36baa2760c1fe65f30eae71c1cf8615c0302047c435bb500673065023100e1c8d70ad9201b04b552eba455db91f12a2c4af5c58192087f677b30873b8e8a18eae3b6f3e7696ffed48a6d1cff695e023069269aebf53c8df83fbf68c76d4e9e63d369d1e5d6fa186569905aa506c92d9fb7b01cbbdd4e60e0755ee67e7b88497c0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500683066023100c179b090aece52190753ae7441bac248837a569a328b2fe8061f62d3c4a55f1c7c455cad6baac62bd479773fb6ee9eb6023100daaaa630184809684adcfa5ad043400ea160e073cee5591cd4548dfd468766651de92fee038a2226868ec3f35d79e5950302047c435bb50066306402305d18760e9ce2f6b659554fd9d570f12d3ba98cdd0dfaff4823252a4237d892971cab6e10f5f2993ac9a3ece20f4f1676023037d67f6097145f86c03a3238a909552813a13aa038f2962eeb153ce0805f71cb614e00e0d3c16685cf5d12a9842bf6280302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50067306502303e06ad4475a9e50a580bb2ac8fc938b2c92d80d495f6c331544d54353d487a6cd3c6e2b2b20aa78f040369e2c36b1989023100a919d3083bcf1448ad73f2b999eea06deb4d813baba93f477be40ee3819e205d8f979b42d36454cf804b1a24ef62d9070302047c435bb500663064023008c95827010855db0f44ad5e7755a5592ceb9beceb7197ab045b91a75ab8b9c0fee18037bdfb3aa7b707940780ed718a02301caa421c4f06f775a9068ba3c158496903cae5902b766f8930c7b58773cdc332a2c15c248a44afb6dd3c2ad0c5ba7b930302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023100824a5c7fcd35e37a118ca04120a9d0d7eb79346902aaef2ad36b3eac69d0f93a41dd1ea509d392a0da638c9f5bbcee6d023009b98dd51602edafa17c37721f79a4c86c3289cdba95677011324d30cecfa6448203fd1d10e00db30573d3928b680d890302047c435bb500683066023100baaf21bff7cacc9440a0d321e5dc9924d1720b363d7bcbc8650701e832b4b6a1124e1b9ad35fb33ce5cd33bf5cf7e9a3023100b9c497e382b29b9c0013df1e4d4ec439fae6492f82444249a32004b4c40410d7c687dc5de1f7782b8a313b47310398430302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50067306502310092e1b6e31b528a20e23068572fb80e35ebabb4b604866c63f3aaded9ddce31e6ed724ff15e923c0df4ac8910a35f0e67023046a19dd9a8c39e9a71e46a66d7c011c932ad7b7972a7be7da6a991e06adbb6a18572487e9255420711d171cd5753efe90302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006730650230492102806c689abb051d6f8347a6b92133162e6b6b256d77162f59bb19a1805d1a9ef8f05ee618ad7b80273b3a009b7a023100f84284f99c988fb21ccc2fd5565bd14c8deb20c85cdc8a28b4f10b329497b549c77dfeb066b6ab310065661e9e75accc0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023100aa4dda8500b6a5fef1d50335158ef9501b7311f42cb229a4446c2c5f4cf29c400c872fb04d721e749268b68819cdc2b502303feeb4c5c57194f476d206ef40bf317a875db5614bc8c302a655c4b0e3c4eaa73dd214b7441088fd7e2ec18f0e67dc140302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023100ff3a0297ad5527dfc362fa5ea896db2cff164ecc7c0d6e386d577c5b3ffa3c16938c63c8f92b7510fd79327b8ae4621a0230421c704580e70c27566eb27e74bbd7c89de007825bbb2006cba79620e0cb4c93969893b6f5ab5a70f3ab8ea7f00c4a7a0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023100d44732736216a2f618e0a83b68f8ead2739c2cb2d618e06a262547a34dc201d07139e8b8b249663e45e82b5b0cf7583b023034289b5587abcb9b035959c6f36d3b2888c7d826949a31c7fdf19cc160efd9a4dce1f749c51d1c91f3b20baac36fb16c0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023058ba587909d2a986f95cea1eed29eb690f4045a61a95bb7252804e8c4ac33e0394fe0c62d48f982b30b3cd284d4072f70231009bb7c5b54731b5ff36e7ed5a3c831b90f0371550d37db84c7eceb6c52c47f0a4ec6cf4657ade3eae92a7207dec8653470302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231009e122eaa62290c3d90eac8079492196f448066affadd2e6c488f706e46410e255bed116a085d62e82875d669d472c2d2023100c012dd7e3a51ee146c97930a93c685a519a206601f58049f9928f22a89c65694331f8d7f1344c66ffead9cadcbeb7e4e0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50067306502303d7b864ad3019e66743b448313b8774f60c1e34115bf5c5180dfa470d92bbca86fd74cab10b0ddf7fbcdc1ff293549b5023100c53aff5d2ae5dd63f4cf408c00e3f8e305a067f3403896ff3cb58ac343ca2af0c3d53945ba699a24dfe18abdd6b7108c0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500663064023041b39cf073b12eb6cdf14376ef6f15968b0e071412f722a6d17451d39f0b853a04aa256c05975375b5ad68a90e540e8f02307a0cacf0b3481d2c25c1d745fdbc3c2f28d616fab2abad285f11f07f126cbbe0f4af7de9d4a045fd1fc9b8946f022a3f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500663064023043aa10a2706077ecf03fb6c1f195236c63656c67a073d904336b7bd9e3b439c13b35ab4455657c60968f25c802cb5783023067f2b00bd6797f632e100d3c3a11326caf5f67ddde87e01604b0372fad27dd2242f347d2151f86b884335cb751d638030302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500683066023100e5ff6e0d66f7f93b9e61b20f7c344a3a772670bf8cadb8f8440cbbff79f7335c1d8dc4b0804da7635e7c9b1c7ad9090d023100a3256b531a79b35812d4709e8f50793a9ccc7ad97451cab9820e83f3a1b29c2b7eef2af011e84340bb28e7f4064fa82a0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023051d9f4f5fdf99eacdf35592b9d03cd1f71895d47b36d8a2a6e4f4c6463aec1e8395694d054d419a0604d5fb40064e03902310085ed4679fc6c4eb653a3bf11acd31fc25a009be624526796c6e0d378fdf7b07718eab2f06565d140c94bf3dfb71f0f570302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023078be9b5891740a81194fd79bbbc128bc7ada25fc6a9896fa3a2bf2905213fe633cbe52325f50f9e1f871b4de3a9d0706023100ca4f28b4e8d50c37555be04fb245149ee78d4cbe27f7321e11ee2c38376a9aad9b3b85109910d92aa5ba839589d43bbe0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50067306502306740a72ad8da6ec765033d8f58b86e87e52d9986e12748d2e8c9a06630df227d82f13c369ebcdd6150f5dec1f08010f0023100abcf3f8e2b1cb009df602168fc93e7a6e64f33dbdfad8395f9680dc1d850a0d61f517071e48ef3c0089ab93508dbad460302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023049d50d5f18041262816dfc609548fe42b438cd10c3c94845100174caf9fca1a72ec31943dad69665844b5f3dddde8aae0231008a2b56e406bcf5b3a3c72e4db86b976ef6a421cc32e23af2c42aed7adc4793ebb1ab47fe1a7daec90c0ea4ef464bc9d60302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500683066023100907446589a932557eb52773635153d9d3df771b558d115ab0692884cba286687560db09a669d7b2bdc47389748147cd4023100cd2f47cc5b91aa84a173909388864550a6fad136c4e360bbb3d3d089f217edd9490ddd81347324b813dcd7923e04e2380302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023025fa2016a4221d4f0472c022a8b450661bfadd56979e0bb7fa8624339f75e604a32f6d55bbf5babd9afe502ec60fcd32023100a3e9be0093a3e50a8c820784ca46875408f8ed7ee5ac8e4431e6f01bf3d2004c8b36c1b86edc5c9229b8c999d2213d7f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500683066023100d4866b9c601129fe8c06827f2e4f84b0452b498e8e3c5a688bc905062d7252ca3b3a08d48c7b6a28f6e4ea1ffbef9886023100b344b77802b18d3740117d78eb370d980afe767aa2fd7f5263b38a45c365e8d2fc15b7b81c9ee014e63023af17af3cf10302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023100aa93b99f4cded4d544119d70ab56ffe00a55e12a60da4625de4201850ea42553c92be67847123e9a5db5ea7e6cd41509023057064a1955dc2bdf51960821c250813c058af31e974b47cd3fca0c65fe499bc332b869e384d99567128d0e2ba81716b80302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50066306402303ae44badaf69ffe1073f0f267445f4e54891b7ce37d4686d6b4147c0df5c1bc0fcfec34cae19cbe8bc71a80ae7094172023052961e5b49e62e6edf1d1acf39251d96144431d52b7b676a6d8be780bab97d0c19f716157ab3e0f62da50c4fc940d3870302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50067306502310084e00a0af5ebc96610d608538f2556595a1db3f79a89f81a5239110313a5cefe1dcbf9872201f79d1e61f301547bfbaf0230779015f28aaaec78d5d446a0b104dddec59950e6b957ad00bd335b56e31e571f668453fe689a08ee0432a1c19b0ff9fa0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50067306502305f848337f1d541fb7bbadb2dcbcc60c520a3d2574a72d9492d158dbf0a4a9b25d9c14d07d5ce1f4674ce21ec980a583f023100cb06c6951ed4d28281af74ba91a6420b112642adc1331c200e50565e5e95ecd57dfc34b45341ee18c3f7ceea6d7e7f090302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023100b9539ab4d33ffc44bad6416f768da74362fc7f5b65e2c9b2462799ec592984a93758296fc98a45d55108b3e9c1b7685d02300e7257d5c21ad923c76c6c0f2652a649f1471659ba80d0839ec295a6483f612b56833183b93f68126909c18a3052c8470302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500683066023100ced71e220682cff49a40945d5f0c6597025309f80d29061b5cda4afd710d89cad0f184b0a5c042639e6c087c5e772d69023100ad8134119c2ff0aed657fbbb017ed7e66d0cceaf35ad94535c11d7235cc724b351a9d4f0cc6fa8b2d4155fa72c8b47dd0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500683066023100b5f8f0c2db840634091e4f898d6dbca818f77f87850dfd57c514a66ad552b5db6b7a5f26ee2f57be67b664c13dfa984e023100e5832a21d19c9b89521a5c3d562e8209f12a9949915a5af2ac3c5d94628ed07cb3941e2b46008f69583956556fd113ca0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500683066023100d9fd54cf6ff290792d3ac215760ad58924086ad20ffd88d1db8df75e09779c31d9f5af70d6318e90bc7e151b1a00a1d40231009a8741f4a2cec9d45c687954b3b10e319c82fbeced02d549315423c0423fc17912abb1af784e2b0b5ff37081bb36fa270302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500663064023059784e2fddebbfe3dbf0eed14c94fa96165550f6a488ebeb5d5615d8c96b70c1328ba93fccbd0a1bd4a04b5e56c257370230265aa7a82407e066fa393ae57da8daaed5c0ae16fb2fbf730e0866c8d0ea3d29105f1988dfa08cfd84da309e91c6a5030302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500683066023100f6a27aac6672926c5ec10834f2348de4992b33dc687462d51da2ead71687c7314f5e716ef571139f160ab984aeba2b9002310098095bbf3daee1974b8c3edf67f907e4ba32e28662862c2966dfb981efbe9ae6b6295f76a04d85ed95875e74247b9b5c0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008bf810de38786aa2a8a2a8245d262980d023374e0b5f26eb21e1193ac4e986ad306ac64a1eab4ca73507c2a7e3527aee023100891f19395254b0ebb25bd2a848ee9db912fcbcf31238aac2b69626c25a72b97968c8ac9942dde540dd43bc38530f2fdb0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50067306502304cc856e868d29bccfc03060a0e35088845dd05390b76b79bed43a5a4cb7c285abb6ffd927a4e182deab156332e25f41d023100eedb782cb62c8d17605548b2247651c0f547701bca360101293363daa26e4bae586923f86ec53deedb31adc035636acc0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023041f3c62793a36c209e8c2957917c6d7db4b3746e2cda6512e8e22dece0fc306c92edea400e4206c293eb50f6a0d0727e023100d772864f0424fa357747c802b7b3cbb9e77b7c8bf12001145b9b7d66f189b0418420f25f7f780eddd526d4976c242a990302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023100e60e6bb8aaa3997aeabad1af7d9eba80a697e3495e2ccd56c00162d1d80882232b083d1895afc136c79719f480abd31f0230258af010e913aa2fe72282e26e3e50a66632b90ce5e51368356d9881fab2637b39bd2a396a4c5cf4dc8716a30fafc3b80302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006730650230773c20bfb312d019f22da298749f7188aea40ac09773c1805ea241328b9868c8eecb3b9fad6e4da41cb0632c4d40d6290231009f04a41134ab3fb1b96d1aaa422e7021f46797f9b2b0c860cd3ec59576cbd21f51f6dc2ad829dd71b51ed2601bf3e09c0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023100bc8710c212d55f89bd13298016c18f47dc67c7eae4ef9691481dbe4628bcbbf955c1ebdfb3be44f35b84d46fff6bfe3d023058fb7640b36f9283963526d8069e380b2fd927d40ddc1aee422da3659380727146835a7648eddb2c2faaa9fed3c0f7ad0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023025a2c3d51719702afd7f28969c8dbd5b57ab385d4771755b641744abb114c8e79ed35a5d675ca60fb6f0c53bc76ff4ff023100e8844a428f8b5903657ad61fb73f2ea7a7ae57af6b0209a70606bee932f2e3838fccb0e5c5b7bb4c5913bb05e73a859b0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006730650230388ddd03efbcda63f5fccb7f3f1501ff85254f933e1a8144cd3267155ce9817ce1b31a7b3ac22bfc46ce83df8eeaec610231008025ca2c2458aea3336bc4391a001a0913af785cee97405125d57d9d6fe47b19433a5e6a1f0bec2c494e3ebbc485803c0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023048b58f61932ef3358ae04d0a3aa189168886e6d49b249ca04251f4f5c1f8abd3a003e1ae69f9c1eddea1fe9647171c9c0231008371efdadbde575911527e04dd40aabf67d14791a2b9d0af4ee58d2aee6090375fffb3486323e7c4999adc47d712d5760302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50068306602310090334d1829919d8d41b7a8bcdeeb0763a8897d55273e5accf656c9f0b8ee13a809cc472aa3ddaa959b6309b420ac68ea023100a5a5adda05327dee7cf4fb0c727bb9be55ac64808460e0b2e9fb554f98eed876a7e6c76e49457412e94ce5412ec48d450302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500683066023100accc8c242f2d8b415ebacd6b55971d3b3771ff406858e0d8737a9ace38c9f1b71cb9c772d3a942466730f8c0700765e2023100ab9a00bba796fdb7987852bff4578efa01efb87b13ebab48a583e84cd0f375683c85bc926b6a589c6b557a98b84953230302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500683066023100bc155b1dfa49ff5048d993bacb6fb953188f5985f982962d10a08f05357f141aae19f23d2227041414a59d8b65bf31a0023100aa4eb09711cf5843b52d5a9de6709b6df4d25d0f93d5703f0b7550afe16b50b9a1b6b0ed60a5be3c437b7627da3c51e70302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023043ff8e81d1a24855d1b965101f9022b6c6baf7f6993cb3e1ceac4de37d64f3bdbc5fd0ed7576ab3f626e4cb77480cc5d023100b7c3aa781df1583c753e16f96d4979b034712384e11a678e6adb8df04c46ae7d17bb86c06220b61727551c8da9ee1b2c0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023015c8adf0fc0d1ab32f85fea456ded6f0074a797754a149c4859bb7198b347a36b0c5fd07c466aa10527e900f5707aa06023100c39ec14adb1f5952e27e796b74c73595b1f60f31a47a668999172ac704fa7d55f0b563338ac2a9cb7f0a2bc99db87b180302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500683066023100ec238b2c3fd6b4a709c7b21ac1a12f58317682393b956529448cf436ce76f79ba3d80f228e0ad5eac3dbdf08759727df023100c5045c294db9cac060c9235acc83405b6b65750ceedc869cdfc17c35d0719545f2c9f123f4fbc724163c63667995d6f40302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023100f81335e8060e40b5e4e0a9d0f04e46cf3693ae58b6fbf6fc1dd4159da00d8779166ac311b95c75a69adfccecc80a4b48023006e0dac45b11b835020bf5f24c6f3713fe654464b11ce63dedd91b2d780d237949f6e68c6eaca8d20cee9a2512a2271b0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500683066023100a4c2c787d00a72d7615cf6d3296f9c061b995c55c461ed4bd54ec309e03ffc46d0279dc6f8d158db837f048014b83528023100e687acc4de9efec1aa3ed3eddeca37c4f034c3c3723dadcfc3e5deca939cc3e11dd44bf815e80051bbd47627e5c1259f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006730650231008be0578ad939f4f98366fff1dc8511b1f21e944c73a556a0ce3814a655a6b1cb794f0afe78df54f6fa15d3bd7ece2ff2023017d89a83d5e21c245e17eac761cd63547e62b5fbd6cf789367ca3135a9372f0ae5bb517e6160faa62ce4766ae116a3bb0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50066306402302eefe9a6e697820b330996448bd6addda1f5d8f51b3cc918ef393c6c681359d7b35bf756f3f4675a03c13df1a027c9d502302dd2b82ae382a18227736bcdcf754a930c3504a85fe0f8bc20fef67896e7f7c215519ae8360459c08dd3841a59515c650302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50067306502310082d498086e97b8916e64eb81910d78e4d73fb4d582db0314f81a0ab182aefdbbb9d9a18345ecd2b4ec6b96c1b7a953c70230225d1ad85459f2404ef4be674ef583d6120462f5cd3237fca5a441edd51e4b865685d33a9bfb3aff03235dc7335f39220302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500663064023064bd854731252d67f027ee2d7d86a064871cd6c69ff852f749c67e19e4c0c6710e53de2b24eeba52793b637edbe522880230514453690b731e58d7161d413169fdf583951b8befca941b88408db33f7e6e446cfbd36377dfee0f2e68f55d132952560302047c435bb500683066023100ba1e8e7275dec0734a8243b06e5a5c2f08b7b47df77e0a422d6b4f4e900c4e30ee370fd60a13cd27caf00aa89bdd21a8023100901cbf767c4eb376308dabc1c3ca535c3e0115b4809b34804651493c1b2d9c56634aa95226fe061421ffbf7d81c846b50302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023059eb851cde10c41a2add4409efdf92a1f5828a4e7db8ffbe593cab0d11f02e0109bb0cd4b503870735b7107efcddffa5023100ee3a53bf2def52eff8226b26ef1174571a5b83889d9562ce00b8d93064449d514824ed13a1b44522cbc1066c92d602e00302047c435bb5006830660231008b6628b7183eb60b2df478a3bccb52ea82f53e019dc86a57f059eec46b1f1a37371e8bccea2fa596b1c24e81e4172bcb023100efded2b73924e2ba99b32e8874e0ce0b34f4e1aa6566dc395094b1efd8edb0eb7682126471462b9980d08fd566197aeb0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50067306502300f76b1d4206624930d48a4de8187db4f297abba508f0495960edf98bc994708212fddea0053fc389a4b6e391223bfbc3023100b64c75566a0f18a066116738862f04403955d1a1def9b9edd1309a7cb9e3948acc437b12838b7efeef476aeba1ffc40f0302047c435bb5006730650230376bafd8e7939414c1d5415413467e5ca43e0ff97ebb720511148fa9929b5aa70c16335ccff58a2ce40a3895518442ca023100b4b05e692c4ae534fbf9e505634903ca0836d6d8e7ef4547e2c81f93a2194093780c49fa5f11dc36177ad2cc5d70329a0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023100ed9497bc11c56018fc2e3a0a87ae25b5be345671b1b331b24ba9ff72721b478d0c7edb39b2f9b31148b72e149bebe20d02300586ce997a660ff1d7ca0b88752cda1dec84ff0ba13aa40ba9e6b8d060799ab0c9f21ba855e0a01625b25b2b7d37fb2c0302047c435bb5006830660231008e005bcc1e6d1cb067cdc5716845068d41d1c2d0b04c1d745a00f0a0b9c730e2be141e7f6273a8e892a9b638470fec39023100cb230e433831b7bc979560e6e8c32ec6ed965462ea589a6a6f39ef3a980a949accfa6bd737b8c05a251deb102d7c6e040302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50066306402307d8c49c091f0fe73a85284aeab259d1df03b8fd6caf6e27f349d32043551a058470653a4b1df7aae85ee43bd2f94ddf902302c9d37715aa807ee09135a0fc881c65834f2773b74235b999299544a04808a067738653f01b88177a765e2fbccb283ed0302047c435bb500683066023100b5f40b28fe247df3166558511be849a54ba954707b5e33e60890fc4151fed9ea7d5f5605efc1efb3d17ad7164b7b2b9e023100cd39f49b87be921118123529bd1893615690cf2d7cf68daac3f32ba536e459d9369ec01c9ac2c30b0bc72b054d15c00a0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50066306402303ceb5d624d7079c1ceb343f5c37c559767b752df4fc413757e50530b20947c9fa9f3f8d00f7b49518c51352b2e91130402304fd6851efff9319953267a3cf66ea8cd687eac5889ac792ad79aa4f0f3e464fb9e97f7cf947b7029b48d938aabdd06c20302047c435bb500673065023100a9d36d8ed855953ca064ef8f8c56e81453de8e7753f3b23260255fa2e48535040defd60a3429173f97530179065cdc1702305b85bf9d6d688fc9bada0aeb825fcaecdfc8ee7fe1d19abf4daca16d3cf25f933cf6d77bc9f7d058e876476f0cbabb560302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023100c0f4aabbe5d6e27e35e85a7966ee60a4a6f1fac776a4417a7ad1e2d0aa6e5d8d9490f4bff4f515274d2f29150a778708023051235c1c5b96b3f2999fca392125b04316f69a5cf0dded68ad90833a3cdca067cd7f86732f5bfa39f5732507d2198f1f0302047c435bb500683066023100a909f1481c5df846cc3665c203ddb9edd71a0a19ff264421d47de513740df0fe334f6e3ca9a06022a3e522e86387c7dc023100b98cc506be61e6dde98b56860166949357f2f3ec5bccd6d9e7e0d2bd9a319113181964cb374462d39ea04a7b346b34e40302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006730650231008c804d22a52be7b43b1cdabc4ab02a2bf48a61d68b010d8790c2ce7d24b4e8405389423fc3bcdeb68e68f4cfb0acc695023079e4df9a1e278ba77fe8a96d3f25f764dd2b7831da83891b459a27f7b4ab616976396a5d27dc7511fec7a5c2d1099ea50302047c435bb50067306502306cfecb3e0106b4041dd9132b7d7bd21d767044dbb5ab23f8216c2aa9b156a4bad90a2eb6af47cecde673628d7cf55588023100f35b88cced146e5ff1a23a37e530113bcdeee03bd649d286fc89b7d5648af621e5e72b6f7f1c641f366d0ce811612ed30302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023100fcd2f9af5052216ece6307f76a18bf9f9eafdc7b5695e1d0a71171dc6fc104a1128a1f50e10f3c66228b2461a1b217d002300bb38867a6415192f829a33d58a12fee972dd7172bf14ecfa2d62c4c960df8fd47e475aaac0eeb66ef2fa844362706800302047c435bb500683066023100cbf85ff599421856846c001114fb6295441c783a0b93664cf14a0e812ba2300d770b0f7f50e7090b5c0c20617f347e410231009a68f5e8dc07e9594ba41c25081202504706e3094fba4fb6fb7a2a6ffcb7af79f20f7b43c535c6553798cfb29f6793d50302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50067306502310090a2ca1c60b6f673cb923e109aea8297dbf80cf4b7efc8dbc8032caeea34e4cb5196d16a17cc7e54f36e8397631e2eef02306428ca73466507ca0e09a75b405166eaa091eefb5e3171c2352d89f53ca6460649012c121eaa6ed1864d4515c9cffe7d0302047c435bb500673065023100e475c8225713f28ec91e40cc3e38620d01d1dc65fcd1c21f012aab2f427635d151a2a5203849241db400782786afce1d023007b8b79263049575551aaeb82dec0e5a36bf10fa4d3d87652ee2afddb4831469d5a8240abb40727fea9ccf17ad9e26700302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500683066023100e1c0e2d846ad79be92f49450544d6a4a4ba2fded05d2746d0b19ce64b77c0f1fd00e07ef0076aab4588d8a3587643f7b02310098d909209979b9428cd1e58b5af846cad6ebea06557bfb3d19da09bf38ff6f3cfb7350da752e04e7396b6d70cd861ab50302047c435bb50067306502310083f44c9be23b3f2eb98d838ae1cfcf1f01b025f3f6ac849357a5481167df36c31133a546225a5c6bf8e6e64bcb1a8b5402304b32bb3db9965cbc34e6c7b2268e945967a6f18baf96410f8b939407958db12595ac3b44af5c747e65c1dc8f89ed31b90302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023100a9603aa7f665c092baaf77cb5f2e75bd8ea55a755319bfeef7dffd206af394431fb8526fe2ec1fed0a36a0fbee5fa9f6023078eb422d93a9dd0df4dec5ba64f2c9bb2e0afee2611034ea699e0cf31d9f8a93c05a615ea3218e2334e83ee95fd162a10302047c435bb500683066023100c5f04ee1b634a5b5257f1299f00ee757caeaed8fad49989ca0821549716b331cd1a69b054f0ea8edeba65f0493b2c753023100b085e134caddb4a4e1fd48c4d32f934e5f3618a4960648a7970209e67c1ef901487bd3899e2619937bfd9b9664d80e5a0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50067306502310094d86957635aff212173ca161c60775219b1ad6e54fd891f887c4a943e962bd756b8917b9756715fce1c5e270ed05feb023019bf2c93a6702ba5971600c0f366b25fe3b3eba1638fcf87977cf124dfe886c44c78846c570c12932a15f886e9e433b80302047c435bb50066306402310098d84150db5fdf5be9aec3718064e1bb53ef3f5b6165defa48410c02b511dfb0fb5e575d7aab23e5b78bed10c8edec50022f28fcb148e39b29ecb506c38f1a6a7db9f85e4b22cf236f5b464526d862da88f8c083d497f5a5cbb2bdbe81145fa0cb0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500683066023100a30476a6d5821d791153cb88703e58944019653e8180e068dbd312defec5fceb16411ae66389f8218811f3b2b0bb3224023100e3400cc0f26e2b830160cea775a3c7a4c9d4a7e9cc756bddca1c38fc8d2bfdadb301d37aff0b244e4cec52b6de4b365c0302047c435bb500673065023100f40e6d57d73961043dd4bb6a38f90b5bacb657e6f126fb469d0ce78b66684643db7c81dac15bd89f84970b6343016b1f0230389ce3e88c5485ba400b7a5d5ba013b0bfaf85120725c052f232c06f4d29cf11b0c62d1cd86dd5a3403e26fb114d032d0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500683066023100d7388f4ef421b4639b92abbb059329c9ea9dfe37bff173d3ffa7a3ee6941f469112d09f4a0c6a3689ab68cfbe99e39ec023100dbbde32a51ed9d3f24ecd89c7fe706d80299adecee4dbd854584dd9a0fe7fad0629c21df21d94ae82273d7ff2bd947670302047c435bb50066306402300d1145a8f8ccc3a1d041985ac7ceedf5f50de3f979222933b607a93d5b1696151879ad6300564707ad327bd8deac19d2023020e0812a3233df4fee2224df2d24dd935c587ebdb8418bec7b0678f7530807288a366ef39476412ac63a8a7234311caa0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023100a46589bfc27df74e1004d2d368ee5b53405b9b733efc62819674a2205db5ca2ea5a76f4f88631f4164264b1ad74f4a41023012cd97edf0aaebbc3408974397de9b91fb8ba363d8c57b33ec3dbf17be3d2113029f6da5f620fa2d3ae2bfa82837f98b0302047c435bb500673065023100fb84b196c1783a365dc914f8f340034e20a5f33c22cdcd1091e0183954e31bcff294342d9108fe9401af128f2393b2b502303117d03fa317f1db0acbeebfecf1d6743f14ee3abb3325de35ed89475211dcff2d6c0e9d5c00d3db509476891ecbbe8e0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023100e9173f73f8edd54520e155930c14ab7d8b5fac29d82432c11290945e772c62cfd97f2c0f4c7f60f67f5aae9321212c630230159eb5058144aa1c30ee6585e31dfaca6df787a2fc801b642bef668f31a680d75a89615a16a8a3128f18886b3930836e0302047c435bb50067306502310092c3c6d9c6c069d34c11bde9266cb41291e39b09c077e646614dc997f1e3f171f24a3a8c7477cb8e57e21a4e61784d2f02307d6a9b2242f2ba90bd60f2ceef0b0064fb44e4ec7912cddd7f5b3e56d24143e425634a948ce7cdd887cfb247d22d7e9a0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023039bca9883062c120ac843d4e866e67ebc3acf121ec7228b73c04f215a7509341a587804eae09e36b6fdadc607dee181e023100bb8054f376270e21c4200acc773f5e288a9618279b6ad08672165819df831beb8172b038402d86f72ae3d36e48c092660302047c435bb500673065023100f657400c98db9cdc25ec06f849cdea184b7df7c4c0d9f8be17be52f534c2173e9c20d9e79a4c9baa0ee2198f4a6e89d60230381092aa7a7f325497b16c33f59cb4e6d15edaf72c6d5679c3836b7411470b7fcc2cb36b6b842e2bf3404a5f488cc9760302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500683066023100ee317c158c6bdcd9180f8ab398b2fc13f22ff0073f57db15fe4520283b81f309b54e298476d573c463ef7fb1010338b4023100895491518c00af7c24a386682c4ac9d803dd961bbaa1f3e0dd53d350e2442734780fb6e28a316851dcdafee16e3247710302047c435bb50067306502301ff467f5950a9100964775d3e169dcb15e813f2e0fd19ea9feea6bdf7515d2639170994a4fdcec62b66fb67c8e630ad00231009b37e3e6f1fa88f523dc750880ef14dcd723b016f2de68980b9e09ab33c4b93e8289a4f15490e435da32cdd3a1eaa9f80302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500683066023100edb8f816f0b3cea7214b7724078e39fc3ae00f9f1dfbcaa226e5fb80e489375707586fb4d57abdfb83dcf1fed6be0fb902310082c4525b82f93573a95d5b6fbd6401ba5ced28ce1e630e4d74e204354ae0ed32e48630a9658b2b571c8ca4aa9e21b7850302047c435bb500673065023100a550f09607f4752dbe52c1ba44486fa511a3d793bf70d67b4f1a596b9c60cb0ec62ebb10e9e426d09fe41a1c2d38f9c1023018524be30a986e17252494b00f3b722b7408b6beb33d35f200dc7d8f6a4e59f5d31fea9ca3676aa0f3a1dedf8347f24e0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023100f741b6160a33e8c0415b9538c3d5cbd63c47a053e3ef8dd9800cf55b69a542ed1fb02365643aa54f8493406717f8b5500230196c634d432747992e1bdbf2739fe0c56030f32d18c4ddc20e79e132f47f3a2b121547bcaddf6f64375e638dc49087990302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50067306502304c54fd4df99643465741a8d533347353d7fa7782e7484028ad86023bd13f916f30cc3b237184c4db1f6bcf681aa35262023100f9bf1f24736ca78fab72a23e6dbe67ac8247b733b8257bba0f9fc214257f742e1a8682d000c020cf7eeb56a05bbb85e30302047c435bb500683066023100a5fea93babcc8d757ff37d2f4425c6b239d3e07b78ccbe7cc595711a7922375a679e9ebb1016ca986bf9269a2365b805023100a82d49ea585fb5acaff6631118da37ebf20ef540419567b451001fdf422e9adba635e33f99183b0a65a3913bec09275c0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500683066023100fc9317c2a80fa94978585d71b071ad01fdba27a74ea5de5025663aef11d3ff39279be55f445a61f28761cb686931d09d023100a1ad770b639e9a4dc9730999a041fa0721201d2448b9c57ccbf8f000b178b37a903d561922a6fe7ebc4b6ec29fbab7d00302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023100f94110931fbf1e0efd687ad7ca8888c25cb97a272165d62ae0399d91f453d0de6344f08a502dcdc58cf0f03da809324602301f25351cdedf23bdcb4e1134d0d6caef58b8acfbddd530c76ec004ade99b30959646ce16176b257c92792981e45f90b80302047c435bb500673065023100860079936fc9108f0d9d241bd533a1bbe7e68c584c42769b3443e624f550bac6a9cf40cdbfe3d15f8fc3445db4a8145f023073e7802345195da99eb272c5dbe8d00a9e399fea77e416e5f636d404f9f84007d548685372da43ab994445ee19d176560302047c435bb500683066023100978889975cfd59dedef9997646d36280ed34585487b52e6a75e00adf3ac5f433493c4b320417b7df395149a8bd0e8c8302310087118c49c81ab189b03bb7fd57b45aca6722b97d9eb829c41cac0027317356086de46de19340c1902fefc39a6b47066f0302047c435bb500663064023071139da8c6979bec04045b4ebed036bd8b858a2bf5703bb951cb65accc5eab2184640c14234112394f2ca2e28d969f10023041cb60ed884a65a775afa385ecd459899fb84a7fd55e69df2800684156e6f4156dcaf80cc434ffd4bac66921564943d20302047c435bb50066306402301b77fb4f626d10fd1aa05cd6db6e858c9d7b715b3a49382c6a712a9910f49e61a5588b22092891f314b35a5b5439100102303caccf85dc33280555ad24e6cc27f2fddb9ee8283e9adf0ac2b1366fc4aaacd951bc921f53beb771fa8d272338ed8d710302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500663064023032507aaa4b8f79df8aadbb77c68c1503a37c40393deeb553be70d4e4727831a3b1300c12977f06f430f96bf4164c3b2902303b3a1088e6c8db69509b630170ff5f200233ef75a133df62365a51a967f9b6acf0da6cf93b28722f4bc626d60b5ffac20302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50067306502307b19650c24ab1a2952b922acf69e4382c7078088722900456ff0a3e4eb73d90012a4bda6ad58fd6ad59da41674e7f87e0231009a681b1a0e52981c2a064d0c2d8281e7db9edfb03f724ad362b8399cb09ce46eae11c7966de612728434c428eba8dbce0302047c435bb50067306502301b0ee57ce6bc1c6ab7844e1a3545598f232a3126bcf34a361c3f9cf3edce1a8d27547cfabd0c2df6fa57250df86189a8023100e9d14bfc561306d70e657c48c129bc5e3c5b7211f882ac8deb121db536a4f83447a408675de7690308f656a6b401c1180302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50068306602310090e903232935b61f940ec48918cf89bb736619668b9cc9199f7711df4127f204adbf821a0d91dbcee55438dd96c435f3023100bb99bdde5e55f2b7ecc77ec952a89e65625ffd7b9aa3fb415fb706f0bc854658be1fb766373b743e35d9ca20654809ef0302047c435bb50067306502303e9dbdfd5c3be92526a57d0b7d64f92de3a448c98c68ccb1efa7f14de291c684c112335fc9d080bfd311030b52f68ad7023100f497a3aceae62f47b81de7750c196d6af3055c81f9053f1fd07f200dba01eddbe6cc436bfb13d07f4d5e2b0a2cc261b80302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006630640230223513117d54a22b953e3c9b78748559c8b2482855c9fe253fc098f7769fcd986a52ddde006ffa81c0f09425e4a2e5df02300193fa686571eff8ba52ba637604bda6cd23914577151aa5aceb9716b4cca343bebbe277fdad5b191a678857e811303a0302047c435bb500663064023070ec33b70dd2c1419dfe57af36e180cdbbdd1b7d6f5681109433f2655d51d3a79a7c842c6afe0fe262c700e09a09a55002306c71908d82a0a64d395075e374c9cca2b23edb66416c99c7a32c01ad3a3d6d29875a928a3df75794dce1cfdf5d69e8970302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50067306502305dfbc2294861c0256e516e8279d848f761160ef4eab1cf1063a9bd7f0c34ba49feb7c142ca524d39b99113abf2b39442023100b7eeb43d084fa369b3ed4de234ce417320480a15821d6cdb06c0ed2ec540f86e1c9ea609503dab7fb0a202d84936970c0302047c435bb500683066023100f924e2f1b287c4a28958a8e9d283cc614c87222b2217fb1f88b2f8c610e83539eb5999f9f56b2c89c3b0bb55751b9c940231008eebf36d2ee3f2e4644bf12378827570ba7a910971f423cffa47ae5f70dd1cb2d50e7ec6ecdbfc35445d2cd885fe730d0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023100e2f725170a6fdf714f3874a065869fb24c36ef9a9a1ba1a9ba7dffa31fdd9e6056440a25ce1e258a2e7680b34aeed4f8023048238509ba0486e21e43f06d60999e7a7f9e91a976b605312baa6a257dd03e7e8e3a3740fae595ecb8ca8571b0af96f10302047c435bb50067306502301f59e6d2988d15ae927f83fadc29a84719f85fee23ea9f1f1bdb8f6fd18ced9ae427fcf2dbfba146dbe0e266b03e1122023100b711b1fde4d8a2c6f1ab272518a7311adc0f2e62edf785315a249b4c789be296244322964fc1718b949780c073cdbc640302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50068306602310083272f3186f066158973ae358dbc1b3101f27394ac34a6a82e87e3d4811faf269473221ad51c7660a67e5dd58e3498cb023100fa6d7123835df2f37c03de369e7fb765c7bb93a22231e9703db28cf2f09310c038b696a85d0ce7b47107d07dd319c99c0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023100f25fb870f8d15d65c53b57c978a2b220ef9f0fb82c45e9d75bc8fc363ebcef5cf5f370e602047ce7bb491168b0bce582023079797ef1112f212663031708ab0c59d9eb6a6805a69c3cf3ff7fbf91865cf189c431af3b01b73fd1b78eb0b758127f780302047c435bb500663064023039050acbe455c44a8c12d80154de3bfb6bf6888ba1a414cdc381e1858faadce55fd2b34aa17e6685644593540bb5703f0230405feb976248745d03ccff4a4e8509bfefd0b3559ae49a857061e9ac0946723bfb707106b576844dafef57b5fe5205120302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500683066023100a2c154e055d4c2fadf43c3dd68b931ecb805dd919c5680119797790f2d1f21e30d32f88e35010d8478e0914656982e74023100da2376042b6190248cf6c0f11b667e340e1fed16bf8b08d93179c09977f541813a5c713c52f2a25eb0479242ec512bce0302047c435bb500683066023100d8dfd7a0b8f970d5dc9a1489ba1b80455c73ae901e869638d47bee7da6d83e6e3ff143e5e030117a37bbc76c79eb0a6c023100dde76cada736eb93e3b1bfadeddf2c0abf84b10d8839a78e0a580c8320bb9dc36b846d874a553f14c9e191cc26497f8a0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50067306502310090b0f6b653a13b25d1dd12fa45f05625473a58b4cef13af1f8a755127b491ea6d58a501e757df1aed14902df314fc86602306d210fde056f1b18d7910fb6493eedd572b230a2dcec5a5ff64ed446bf84018cabfca723a962120e76fc300a2307ab740302047c435bb500663064023055cb243042f4477d95b0fba42a7a5a66c68e4d63f1bdab855ab678b1d19a50f9763cd0f27f55a692aa3b6cf32d69974002301165e2845e261a44fd120ac17caed5aa48e8e0154783d5c875d3f0fbbef0bdb347acffa0e35afa34c4853563ad3d3a280302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006730650231009d32590bc83c8ae619ed0649897c051d195c090bc155237282fc82d862db524325837bb0b7f77a86107a21afd9fb4204023022987a511de47000487fd0b079db1bfca7b91b4deb4886c514d283ec1f8277dad83d4f56584b9cd85299a08ddf7b033e0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50067306502302bafd6b202e8f819e74b0f2b61f8cf6889a47cb9f5a59a040d7def071510465e40dab8521446f4f907d86e89bd68bd18023100e686a8296aea5ca50d4228b09a369ed8b09793f77c8d023411bdf86dee4a0dac79b51ea6262b6ddaa8202ffb771908c20302047c435bb500683066023100d2ace8702a85b8e1b4cdf6b9a4b842965155630f2b1e5a87a2f30c4feef2629a676235e3cf0c32d6c3c8b10e1767dc46023100b35213be67cad59127b6082d15dd8681d847e76428a8747bfe3611c8984e486ffd66cf83f4fd9ca4807fbd98c73e8ab10302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023100e42c6621ff394b45461463dc0c78d758894a5d16523e527006f24eaba4b5d9331ff1806cc4a4ef135f935c12a337178202302372f1b95c53eee7650527caea6286eb43d77e35f11d16bdc227eeb70eb9a6af1cd34497a630bd25b8dfb65218ab333f0302047c435bb500683066023100f0af9ed7f968c4f1f8e9f1e5055e1a8f0f51cb47bc8a1c33a8edf5887c2b7ed6c2fb871402bfb5b45c7d7216f6293c53023100b569ad8cb04906fa061c4e78ff6af8ecb1cba7502421cdc10d08b654f6552480bdb2ac1f45306dca50b4cf7c2829c57c0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023100c00aca97284120a21312d2a5cf9478a1572d7fe8aa37d0c1201fe5d04217694a8de51d766fcf6d7eb47e8cb43abb86cc0230114d6824154823281b280c9c78f0f9e102977e7dae29260049b6ec7f23734942b4a751684021aeda448dd2ee0a53944a0302047c435bb50067306502306d9ecdb1ab22a0f54d09c31a20a724acd5a0e3614b5b5566e06841ede5539d860a0d8c97d925e0aa6e7886e34d0fc1630231009dcf0f15d9521a8782685b186bbf4ef53447e6bf7fca626a29f1cd446c88b66d7c02b83dfc0030e9f1de46f7d15ff36a0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023100f1d62f74057c5a3ad90409d74a39698a135cbe84bdd8f3f1ff9309c264c2d6e168946d7ae4e35c22dbff701ef428adf3023008463b632273251a39e0dac3d24543722640a65409029ac6fac913303eb164caaaab3f86862e7718efe104c6de67511b0302047c435bb5006730650230751da6d22d5becddb6f41d0ccb06244e667c109d7d17b6dcb2c1f9ac492aee2a0cdee32e63657fece0ae9a0e84587c4c0231009892367af6d8e6c921a2458e9bbc38c1f0304f5ad56148e974c275413a142a5de456b5e15f6cedd9371772d8adce82180302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023021ad4c70b1dbc62a463724e42f14dc9333fd652b31862c93ee94791ed41415e898452f1778a5a499e497d75d67392e5c0231008ea40878e4a1c365140b3b3b95f9ce2ba7cb8defebb48756c5bdf6fdbd5f7c4186af6fdfa9402bb1d345ca3e2177ce220302047c435bb500683066023100902b7eb77eab5a3785cffc5245664a05e2bc0b141a4833fcd69466dd908d5c2b247dabcb30b0fd992071ea8f592c1f91023100ce5aba98cc1ac7faa31252625934a1928167470e473da8fd892d746b0b5409e054b84694803973f1a582f34177e7bb430302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023004c2c4d05312a60832479fbb67258a185e1f1bdd476286c39ab89d0f864dd5d670474fb910fd8e3cd67ef903252fe808023100a8469287d09a06ea4c2863df83921e7bb34c6d38b9c6f1f14cc94f542e91efd86deeee378a1d21db7010dee7a31110b40302047c435bb50066306402307f2197ac6827c1dc7e8a08b9c5675eb8f34001738d62c44e96338e7fcbaa01ba014c86b6207972003781bfd2a7d6814802300520363fe3152bd8cc9dad5615a04a52dc2d73d6a16cda471341b3d7223879decda4e8bcde7df6bd0dc5be33b39449610302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006630640230404cb949df1b1707b0a8a3c626bd18c0d812b2de8252baebe41a24d10b6a2781b1322d57d8ca66f7c21ca29c52fe27b80230659ee12608dd3b8db3ef107324e47d9a3ba3bfa3cba7f899579ae1ab9b25c3ac2acfb2f127dc5b616ae42f365cac0c170302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500683066023100f3c4da312713f1927aa6f8cc8cdb53487f9056a31305d451f337b280a40eb66d097162bcc132c5eb0873c6b8e390f46c023100f329aa9427c9dd66399e877376b03785fbf092bbc03cabdf843075b448d0ea207914658d22d2225b2bccc1cfaa8b21460302047c435bb500673065023100bcd4381d25e992821417033ab7361ec1673681e7ae5efe35b9f4c6716a194c87cccad9cbaf280a95ab748ea3b91eee8e02307fedb3bbdf2ca24f5f7a3f252a3e59f617aaeb0f49030f6a8bbddc6baa6cbd927b02dee0a1cc39e480a3fd4d8e94faa70302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50067306502301c5ada05ce4c9bf502793cd52ac1eb3d366883934f6c6d8d80155cdaf4f1905f35c93a55a6d47a9bdd8986d96154dba0023100cd4b7be71f1b78b6eaee8a14eba9ed530d9a6ccbeeb14b73fa6dae7fc79f8a1e845d819ea477740648f599d07398717d0302047c435bb50067306502304daaa0382624d6ed0fd117263f4b5b0df8a3bb258eccf3552a9c0236827c7d23ab40dd50b5b4cc80d61fb1e73ff74580023100a2ce3ea61f5ce415827794379305d20291d656f16cd6be0fbc99212649fdc6d71d250fd7004309009062b1229f434e590302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50066306402304d13f7227d26584c5b3ac4f337ffeff1b9c48e8fc6eadbc01b3bf421f8dec15f099f7574fb653be03c82f26b2cef423302305a97dd5d07df4e918ef49de059488dc6a26b1360354a84f1d07f0c521872d8ee7efcc661b3d4c0c0d61277ed583a85560302047c435bb50067306502303fcb4d16cc03f96c38e044181f8d30bd7ca26a488cd54dbea4ac783413bf9c5296f2861468dd846b0525b55484ac1fc8023100b2cfabca09e51d2e8a8266be88d2b7c69c1d5552326e97c4c857c7d4aed284350b0422ccf0437ac00869260d81bec9820302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500683066023100bf80ff10ee06f74f79f66c2543a3c37962a93b1d98ad137435761ea1b3c7a8bfac00b672864357f642decbf74e3130b2023100a5b4d6d0b03eab4ad403bd29ea3df685c3467cdea5e3b6638cc9ef365654e34f8e7c820b8c5cacaecad115e7abd321ef0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500683066023100a9ed754ee20e1fcf76ad6b16445185c6806573dcd9f16b7e774dfb89e4cab92ed995a5b3a1c734469c262a69e0457d48023100a72230dc91e6c32e5d3002e3d0fece164f760c049009720fa2f0888bc1c6515527b7de69bc9f1726cf8911d3706d26470302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023100c0c0e1a6f9beec2b5c7b3f9829fd44d869ae7d866b951c4c19db292c7951007dc8a42cc597d3661a2ada554f29466248023054f7a4c4f2c2e49c6a1f05d05bbb2480ed40babc3fdc8c5870a85d017f6f18c44e52d58125ea61322cf3799b0ce9b6800302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023100b77a0b6515e1f8f1a2bf1260098a9f037a36638c3aee68da03a1edc91e45f6542d7a3d630b92a29978e7ce4d24c25eb902307b5070200dab140bfb319e88d2b2a32a42ceba803752f67ae18d87126c7f64290ce2c51dc7df33fed4267ac0d99d8e890302047c435bb500673065023006611aa5a53b8a0a30aa765b9d4c9a6c3c91903fd6044086573d50f9c790d9749009cf1ee02c9fed6fbdfdefe813189b023100de1d839f73af7acf2009d43e9b4e544dbcd2865c9e066b6ee165e32c6c7592802507c8710465d496ffead1a029ced19e0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50067306502310084bac02a7179ae5a99f2f06a463eb607498770ba1f99e8fb778be15948102aa803f2d79fd0d12f76321ff4cd9ca37bb50230721aaa4d02e0fd5ea864fd9c5767ae40dde63b1f20d54dc5b27fae9d00310a74714590bc0dde783720069070c38d52100302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500683066023100d3b0852933adfa08b6727c0f521cf607919f5516432e69b72b08ccfaf369f703ddcd7de75faf05f6ef8099a19d8fe5b3023100a5d2489482460ce6d1376346d7ee9551c8d63c6b68d0343f64388e7c9a67dd64dd2db0b4cb88d522b01b717a9109f9de0302047c435bb500673065023001c95323e618ab37ee1bc8209ad39b5ea94d2379e25a8001d7dcca3b089d0abd4a5b9236f7ab3b2ba460ce5339b2b526023100960760624364ad14ebb3f224e261046ad2cf2e63c69ec1273029c4fd0fcd49372ad42cf5b6f563ad663421cfe81182c10302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50066306402301b01d6680ec049295ee5e88780a565247f059b78075cc81fa4b6dfd835c93e3ab06df6efdd174d93f94f04aed71eee59023015ea8b50b608c85879998d1aed8043b812e56cfbc4844ead7afc2bdeb4bbd1f9d0a3cff355fd87f81c9872f403b308710302047c435bb5006630640230038a9be734bf0d332d633eb104066d959b2c27267c08461abd470f889edbe2299ca95f362fe6a91734bfdcfd6068bcd3023074df3211e36d43884834933162d2e33de3d426148daf2e65ef9410e442080485d5ae1a0b86befc4b55efb2c6a0aadb550302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50067306502306f6225e022b7a2c770ea331a01136a89ad7230bd22011ca2c1038939d071d34abf7075f75c5f55afbec3419b186977130231008d2acc553ad81edf0b4d135bfffa63b63bb65637c8e84b40c70919549be53f6f28b57912487834c04e564edc801451870302047c435bb50067306502306c29b9b79162dc2167af751fe121fefbff7dea01b7e7ad2b1e17758bd0242875a3b2c937fa05fcb317ee487f6c40899d023100e5cdbd6c413bdc96c15ccfc6dbbeab29dd234c600cfd226d508878ec46f4d0b33b0654421df8f5947515331d64d453dc0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023100b632d7da8fe914a464bd7a876b7a16a08f1a054faadb1a205ddc33a55f00e9b94cb9d09a4d9bcefea6e00479c7d1b81802305fc9c23dbb89b5d256a68eab3c17843d1fb2072840804d02db65197c76ddbc012ca9c12d6d268196a09edc5bf0d6142f0302047c435bb50066306402303fb8cbfc1a65568803319c474a208b7535cafe21780435483e3cec068af2b6e53e751ac7a8f3a60a99d44712341c347b02307c4eaeeffba1831acdae3a5ad25a9137f7d5e0dcbbad981e5c1fa6176cbccbf2de60ae79d07861d86af29fdfddb58ffd0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006730650231009e6a563dd70c162eb4ca5ebe93743e60bc7f724679610c5ab07cbc771f7e8f1cac5a91e695a3780f969ccf947e5d631202300a2bd2c8d3144d9ed041d3554a0972fd61e50bcd39c3bc0d4ef2030ece83d0aff1301d481ab394a4420961b58a8a899c0302047c435bb500673065023100b992163185f4f92f8fd3ed27cc7ff1156732e40df0c70cc87ae61ad6ecd8060642dd269aace48118d3bbe193c3d7d948023069f8e770c8e5c75521e98813c0de6a5a727d9057cb9c25dd379d1829c853b737a712dfa8d8f3e2f8c0cc9dc904d97e900302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500683066023100a0a9e202afb22144ce5eb5920b27253d59a9a1a4967290584ce30521e843b837ed82f10e84674a119f83b2f67de81e9f023100fc28bb9265162cefaf4c3caf884ce7308c7d9c699a9771efdb0ad39e17fd7436674bd262c74ca5d3a1cc8a702adf7c260302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500683066023100dc0140ab240e7ff12fb1ee9e405517e7fefb244ff6a2d33661dc33308823f5da3a4b28fb1f1bfa26e7a05378e0659c5e023100ef6705c5b53448838a1455327f386d7b6b2a650507925f6706d35fa7a56f6b66b598d4989e61a0664e920d3a68ea5c1b0302047c435bb500673065023066c967eaf7987625d26320ad5a9cc0bc72c8b974395864b312a1208354ba97b5d2ed787d4de72f409be7df46ffbe4076023100a1cf5dbac206944deddbcc80a320b7fc3b9d998262059d98d77192f6b315e02fb376a05a1daeb0d66c3b5aa71dbf273c0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500683066023100c86fb3b9b285a458cc6a20157290993c9e878728ce4d7c882131a8b610eeaf8503b7ab0fd7cdb885cd52dd029785cff7023100b9914d4f2fc828703cc32df60d8517a1bc2e9acfdaba5c90268b1d1c5c3a6affd6438578e93bc70f954d83a68512cdbb0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023100ec2c2ece9f7b8e3eaccbcab3842bdb55e1a36dbf8a454d97ced464e3e848a434e95303773b07bb4580e2f093eea989ad02305d023783450e44b7bd76e505616cbad97a624737a0b51176de43f77239eed7e9ea5fe82c8cb5f5bbbc5942ad84e0a34d0302047c435bb50066306402303b6b579a97b71209778538a70c8ace6b2bd2325a071b7780fbfe03ed78b3d33728193c2b3c89b1255e4480791aaaffa1023051acc7e1140a213dec3816589329d667d477dcc916f25a96c5324a1a859f54e785810a1d5ca67b363992264306a865570302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50067306502303991c8e490dab98b264421bf53582243e4e1687f1eec3be3d8c206038622f5b54acc7e8ac3473bef267b6fac08111c56023100dd89aa5b97d79a106e4b75443a2908b1f720b9ee4d9ad49e903cd897ff821417db1a9b8734f0c7f7f3cead735752537a0302047c435bb50067306502305c069dd86da5e523d845aceae3a9556c24e3f1d9a094c4453b21075068b385ba87f090a364c5fcfc226c811b64ab0758023100e2f1862754398b379110d881aa7ead026cfb005fab94a4558ac81ac4cdc9ec69cae1bd59466863ea77e3e23c2b24d4330302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023100f65100ebae95382d69a5955f8c714d595e5432596af782913cf33ef07cd51a17e633a2e39c60a453f26ced2407a19a9a0230627b0a9ae679d9a52998424a76d29fe23d5feee847a833a27056ce0426c0e49f6c67bea86be6d8ca7d9259fb793bc0780302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50067306502300f37406397794f35ae91d08c0c6b9776b838e7ac8f3419190798fd04769069f1b55d76a0e985feaf872ab9a2f9403ba6023100aa247b39e86da2413e6a1d50dd257e2efe6c2e864c875d2fc42551fa3977a42a0cc03f17ca3addedec389f1cebd2bac40302047c435bb500663064023061151e2119b1b894b94401738822c32123be60c819a573f02962b50938a4aa216d01e09cd2586e0df6f7d3ca42f5ed1a023029585364a7f496c90b86ddbdc823d17631a346e1ccb5dfc76f90b6b904b49036862803e8383313621f889d2761debbe60302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500683066023100f49a25865608e2899c913e4058906f7b835529961032ca7eaa774772bff8343ea64921e225cfe10f8ca01564a5baec8e02310081ce43193c59b580db36c8fc5e7d08f2cc080ff3fee135761eb7909dacbf6e11c9985dc7eac2f8e83cc10a58ef8f5ff10302047c435bb500683066023100c829a1e2805a7458de1486f4b65ec38a785e3f879a1457849dc766b12191796771e1c7fccaff389df3de66aca843c37002310090597e978e7967d3f0ec1c02cd15293c6139df6773365f1552aebe106a7081a5a98732007a00abaf92b58a2e210090060302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500663064023023bdacedf5a6ea54a942c6f2ccb043a6d60e2c977376cc5b04ab0fdd6913b9ff54e1340bc8b1c8ef4c0688fe35496f1f023012469bf316e207adbae157842684cad185ffa764b5e274dd6466883f154691682caccfafbcdd96eece6e803a5339badf0302047c435bb50066306402306dbaf1f2f0e9b22fef27549ab4c3a57fa07d4865a7e6438ba6a8e92534a796591485171085726458627f3ed499a4c898023011dc879ff66dc3e434368a0a2dc28ca4f58415d11e15c1d42330c58f7774bba44c077351ad5f9eb9bcca06b0041f24d80302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50066306402307e6d43e793d506b7343b6c05c148ab001e1bb4def41a73c18231018d434340ccb7a2c5fef18661bc95f9c310419c49f90230694b8c76daa6bdb2e6dc3cbacef47cb4b562d0d9176642a784dd8a7742b1bd799e63bff4b481c666175794b89972faa80302047c435bb50067306502306c1c78302fe78ba81e359f6b36b7de4777d6f0bc9ff79c8e8f7ff1f5ddea6be284deaf87487cc6bd8ae2c52a9e7c1188023100eccb04540ee51eb91106bad0585f99058cdaa8f1474d513d9f63d5d411a4e2a7727c8126aed237351a8278db40f0710a0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006730650230316f3ce54757a2996f887548fbfc70dc0ce84c161571888eb5aedd3fc5f72970b8331402e1aded169c664ce01b7f61140231008559275bd2d2e033cfb1b3d3a5a125701c2485c46c48a5c82f39a443b3af8b9567419b6b1631565aeeb76bcc5d7a0fc70302047c435bb50067306502304fc0d7c44989dbbe9b093968daa0021556eafbf7fc0d5fc43c8e052238a4fc9c639632ebbe3dc90bbd488110a1414126023100c6b2437e75ad66b65d96c458154fc5a76c36fcd699cc8abfbede426f2942159584c08f49f62413b624c856739adb79ba0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500663064023037785d651f0f4c929f227af975985c0d1ee4c54fd677d378484f415eb5bb7bf37f9012f790601666081ff42b8af036ed023005f9a53a017ee84d37dc257ef66c29d8e46af6c4354fe4112b88a6ecbb095c665da8f47847e3792b882dfe108f7a4c630302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50067306502304e820a8efbdd442abfc47c5476540817fbaa661859e8910a572b396a5264918f67bda01926f77fea4ff077da14e8fdbe023100d4cfd5fbfb373702d5c9086564be73b3d1fb5ef1d75004afd68529620b08de88ad1d8853826144bfaf4be6c8d2c898a00302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500663064023007a3bf2dda6c8c4096972518be7e5d2773cabbc73859b14f800a8fd51371dce74f473c328889c7b875dc652c430e0f6c0230087084146953c6657480c1642bba71618db44df3034008796847b84d0ef185611176c69b4f5b99b1d1f7b6e0affee3310302047c435bb50066306402304ed593bb290fff24d51d460bff43df2d828c1cf8373b791be62262d72c8112880f5d26b9947290468d78bba38e138525023018e57c13ac18efc60776f07e63ceb91c129204486c3b3a1cb3c75d50e390bcb9bf0e2346c14465225709ec6afac6d7240302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023100b304f21fef13979ae28b8de7e102f0158e09bc1e8649cb84a2c89553fee78ad602f001882cdde03ec64b04079fea50fc0230547fb97173692a1cfdafa2266ab3b1a6748d0bcba32d68f98ba5cadec891592c24739050566a07610ae26327251366d70302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023100c3c1f0646bc20a077eb81a20e246d55546b4ad061fa0c35a9677b9e3e4ea49f56db646c88a42623db9afdcfd918a1a3a023046f306c34ec2b074fa3a853bc2bdb54c37ba2553032747ac58fb0dd069d6bc8752f3bb8bb04e17523b9f84af769de3400302047c435bb50067306502307722157701dad523948e120065b69f509794c81c7fb115f30b214ddac2377695d939616182fc97753fa98f93e00257aa02310088338c3f7068e0e11f38d57d08c7fdd806967701aaec1902a28da927d71d5cfded7e6eb7160d88b91755f281cd6052460302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006730650231008c5b1719fc86574ac5f5da481917bec6b93b46c9503f09d2883b2444db5d592c20e9834f6828346dc919a4277b79a88d02300f226ca42321eb6865ac5e20a2f8b11c510629b584a8fb37c41bee0095bb14e211ce04bbca1ee707a9c52a85991ac9760302047c435bb5006830660231008b8c2ac24cc891c76550358bb36c1b0ba542e56eb6c09052411dbf84727f247c00549c30e0b71b63458322406b4e25f8023100a2e33d8de92ce4ee477db025a55d35d051d7515b1dd8e493fa44f088e3f2b5262a7dedb2dbe21bd1d58dbbe2d28685fa0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006630640230546087625431b4dbcef5ac9755d66d1d3aff418e43b7a9eb526cf5071a9cfedb65532cef743efc6f8642f3111def77fd02303bd00e5d56021ca9a24b053c2069b5154da422a95c55793bbe61b5c66975d515e8e4b0993ae39a85093bedb1d280a9e60302047c435bb500673065023069439f4591e1fb386ed6818fb754cf2fd97eb8252db2443ce283504b8cd0a1c05b4aca7b38913b6f000b6561a1a7336e023100d62a83cb38b377d0be8d39e729a2c3ec7f60922ab4762523cca15f97dd397fc52945090622a6883e03eac4b1d7a452870302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023100c9af0cfbd8e2edf57b406aa708304da5b040b353e41db0f9834a3ec9c97137d3c1310f1d4bb4fb0d20753c1ea6f9af0802300dd54e8fc737ae99f12e981dfb5463e4f288648c98f8c0950ea0027578e399f3b32f1f6981a2e6b763787ed212aa05490302047c435bb50066306402302a0fb809836ec7b101806fbb73d4ca8cd6849b26b554fb3ca5e966c264b906c26ec51ee6b727cecce77356490858da1102302bb5eaf0ed544bd1f5a63d282c343de0f52ee84ea558e91ec1f858d8289773b9c5b07f4d1f8c2c3b04d261563b968f7d0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500683066023100f50e9a4b530029c60410a9536305387c9be00757536aa0044394015d312c2d9fd341929d52e3cfc45ce63860ac140c3d023100f9a30b5846dd1626f42ef1b8b2513e8efb768fd65657337c84828917a6ab02306ff11a0c836eca9467913c9ccea3db7a0302047c435bb500673065023100fe71d3917a68c33373260a8e34dd2cb10418273bb8095fc33ba7051c55def5ed04ee4ea0cfc4acd6bbff484902456e8002305e4b6fd9fcb41dcf204fec290c91b0faf3fa3467d075c3788c3f401a79654465cdff233af8be87e3c674bf81e64c597f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006730650231008f7cbb48882c2dc0da88c5a2990a58166f9500eb3e0dc0bcdc459607d85502fc1421bc280b12d23a289d60854f1d543d023072b9efffb617716966ead27b2071205fd2d09f13ff7999ccf66370f54c300bea990205d152dee1e3cdc4157da6a453a80302047c435bb50066306402300391824d7e378402e4bd7fb0cfafbb3ca8f02a4e72cbab20ba0668466ab84c98118a9edfafa1af863331dbf9470a3b5d02300c49c6981a86c157283a871d68b479e264f5c2d94726a0243b2fce25a804a5484310f25c32087e3d550c4f3b026958300302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006730650230709bad9c05350cadec33cb0c72155d58634780706e182fb8fec2ccbe24234085877e2048a77ac7fee56ed1ec277b133b02310096498ee3b5fd787c1be74dddb57d5f9384b8432ad290593142aad4efb5691d0dd444dc1a98efbf717dd942e3d8795b380302047c435bb500683066023100f7ee1a67c3190be32a10998ea80d5c0220c07ae75bc1240247c911f575e7ccf459fd37891592132c91bc544f8fad646002310099ab678b22732329bbaa017942954c3e5945138b0610e0f313fa1790604ea0c395f2f091e90c69f303f01e7a76de748e0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500663064023016c6a5a93ff294c6fd0cc992576d08346fa5cb8504f7fc03be8aca947cc64bca59e8da0dc1bea3f4c07e523e861ce4b8023048f61aa919f0351c829ab647629d468ae4c4a729318e40c30012b0f7d7b0b034995931f01b1c08f89e54cdae3471f3f30302047c435bb500673065023024b156468e13aa8478417a65f388d1ff973cd5b42a782155abce3cf2a360966607ebbbd57645f3617ff8b8532b442f81023100820b8d6dc8a67307fb0889f804c82055f2a1ffd3547b810180e7da2706927ac370d342d76c9c471840b9f68c149e43910302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006730650230098d3edad1f7d053ee00cb71674c87003f3f954b62010924052eafb15c4c4ddb7a21795a4aa04af581e6749023eb1aee023100b4bb576cbb74508fd653d3ab00a519ffb4ddcf11ad14feee0e65925240dea08ed2b7ed87ec70def5edde04347676d3b00302047c435bb500683066023100c59ce79d6229c3ebf5d90d97b9218d95eec47f87b5b7694856108f751612d39e7b449d4126908593ca231186a3e8d8b602310082c3d134a1e6da1dcc3cd190c4e0884ba803babb84e1981cad00529ed7932ac192a50e86d96a3ea16767ba7110d2c16a0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023100cb23547a1705fa2415b810bb158a3d72e757e1c5b77d5e5fa4a8bab027740399bca5acd90688ee0b3452fd15af43bbbe02304181d794c3d2470ad9f2f376ed420916a6b30f574e339ed21aa26130bcf14e84ea1df9bba8580a31557b647f50b8ccc80302047c435bb5006730650230143cdbec92e521a15f2dc3a6613c929afe4e73ec6789d154c872362968e88b02ad104f293f1899ed56273bc8faeb2217023100aabfe20fc33079d8b31b439f4e6559afa57eba788ea960358f67c64fc80a0345665d328cc3b43842d37fa081d360bbae0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500683066023100e6888f892b2f3bf850f296164bd109ad93dfa8bb234046b1c1ba8aa6da70db6333792841dc6bfb5c475810e930e4c625023100a30e8201618f1c213a58766344d540a738a9aaaaa38abe1774d2aba6cc06502db9dc40cabf4372bf46a0618a355641710302047c435bb500673065023100d148bae70e8193217dd47425fa11bd4074c2cbe851a8a9fabaf935bf38b94a56598fa96ccbd1e1c56fa116f33ec51e1a023040218b1ccf8c7837f127b7e338cd720719649b4e8424d568c2daec2605617308a01ea54c99c45c1174c0aaad55e4a8b80302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023100c1c9372f3573c43f79c0aaccf5473b716e3cfa2b2513409b1ec1788306973e8b6f804224ba1f0dc9345ac322545d604e02303dbf2dedd51036d76c1f40e253ecac3fbd9ba26a78d7d1fbf34fdb59ba4cdf889f19fda64234ef7bb4e70770297345790302047c435bb500673065023100e54ac00649de8bb299dd1bbed65627bac85fa1114d11e6817a78ed6312a8ed039cb591e1d33ec93d0552700c44536d4d023036ffee277f680c9b0fe46271605ca3cf4276f9bcdc7d4bb8b948e7f26eaf8220e09103457e69e50e99228c1c239adbda0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50067306502306c5a6ab95a7a389ada197c8f3484ce2adbfc71e0d0e88b5c0228d1029b3c477e24d0f53416865297145c87ca817ad880023100bdfd76718a0e0858a3f8446f8c726388948cf2170c83367a4199c925db695e0329b5d7f3d1234cea67d1aedabc1541cf0302047c435bb5006730650231008c261799b39c0733743133426e1eb3a6630b9fb7162ff0cfbb451b4d6ea5631e95994964326b66a6018dbeff0ec0c2890230245508cde287915757e890c16af500e2aeeffe1220c568376e217ae26e2adcad50f6d4ae51df66b1921aa240d8d7bcd40302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500663064023073268b1ac66280006b934334818319862f2eecfb66cb26cc5a7d101e223f55441c4dec557ed7d31f11ded572c588755802302d642737196d93469a3cf95ca9b898ccccfc7d416f6b53a37b8a528c3c88acbe5509683a1f46567428ce8326bbf3daf50302047c435bb5006730650231008d66e23f27313d47f83ff9ace40da7e2329168a6ff545db37d93a40506aafcb6e0377c5ab05965bf3ee6ef7e008c36db023072367d8c8d24c6e77a2db05c1a895f4ee593f65d3fdb4eb95d5aa17f41c7b18412b193387a3046ca3e443086628956f30302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023054aa79a9c542761a1d21a99ec5ecf4d1293be23b999d16da5bac4f41a4798486f7359183771ca106d37aa1eec9a7893f023100824cb1c899b8bc42570924a3bea4c59d0975a5971a34168833df230424e62e4f966110ab6f2e983a45a184f7c7c6b7a70302047c435bb500673065023100ac130d2d9257e816615f7f02408fda093f026df839fc71035bd5f2e47171f47e175cad5166ffdf784d27522c17ba3b1d02300acd3be8b9393e74fb289d7966a632ae37d04457b061e7e139e0798143a76871eed4fb485d5362b048e4f5d8e1788fe40302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023100838091409f695ae76a71ef5aeed6fbfb18f60a1db185b8aafa21948ecef1900d924a72654970335d0b2e2badcbdfc44a02304b922b5b22c821a71c9313e7d61e2e22ab541b7dc6d0e1de52ae2e027fb574220f2c19652287c34a63b51718735675bb0302047c435bb500673065023027db96547d51627162221a4766c9a33def81bfdfd40409433abdc84d8373c2cdaf37fdb832800c9c6e66ad5ad6f21cb0023100f9257bea7423963b380417ef4ddc94a0b46f087ac044d719d3e84acc10e965a8517146b64ca27513f9a540f50a98e0780302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500683066023100dec3b53c019e9b9f9b515c88c00285037b458f98ff952bda86bd9ec6e7f27d5af8b14dd378e31c6d4ae93fc7823de7e8023100c6cc571529ffc7aa234c9fed1012e67a3a5d60a7e532707625b8fc70d56364ccabe9ec2a1f0e8539b5afa5a775a76d2c0302047c435bb50066306402305845f874cf0de330286bc19639bd3ed00da24b05ccbc540722304ae1c69951626cfbcb62b1411feca8b5deda735cc745023046196d974803b94ba50ec2b792b8b88813885b1b782e6cf6d54629e26933475e215e927671955ef09860faf153968b5a0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500683066023100dbcde784db5f4e7018f5b906dabb0b4c209576ed8b118b846f13af7f62d3ce172f4a5f9166b893b70f96d6ec0def0787023100db1e5792b6533bac3cb15f4e0bd86c528bdd76ffc2700602194dd9c8c7e4fd27e1b64408c3456c9ec38fc4788193f7030302047c435bb500673065023032acc655e45536b59ae562a64119805295338ceeadbca29642ac267317eb27d0cd62804a560e6e291602b6cf005857bf023100d680c2e2955ccbd1fb2adde24082957b9bc641c78c60e8dbbd9242f9b774279a9276e801ad46f4c10c7ec5672d609e540302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50067306502303b828eb9153de827abcdb666f3b4e128a6dc0ecd54b5ac482a2f4624d1a70f49e8de4ad6db5400a0bf3c4115c0bb8160023100fcf47bd8850a63958a92ed34b3fc3f83630ad307a4803344b980247759e1207f66a75b8e29cf24a400c8a666b82323940302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500683066023100eb7956ff783e117eb0e6817d80b7b6cb89ab2631e745cc891cc1c54d9826eccf8c3b5de87c89bc2b22a67a498d68235e02310089e50fd3c4f389623602ba63914104107e8540214afc2e124d9d268491fbe1b602ba374cf4418083dca8af6d700d833b0302047c435bb500683066023100b2ffb47be162b6720dffd3b098e4d68c6eee3a70bd78814ac69d58cd83593a871fd44e997fb459f5c45c6ad2a2808e6b023100b5b03f69846f27bf7530ed92b1ae4814f8bbbeedb0436dfcf676bc07597e4ba26e19961a3ebbc4246e28eec898ada5fc0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023100e9c87591c91058ab28296db0edfcd22eeb74100b5937fccbff6dc37cfbc323a8550c6b7877205dee3ec36a68d803a3f802304c6045d9f4af588745e433f514665a015b1dc6aef05f27ee7e03118c64102a3bd96be87053ead6a0e358d83d8f7fe7610302047c435bb50067306502303004ad2055ae2bdb5978de816c70ed9807a5b46541006e30825aa467ca725f1958c342a3d210cc8d6a1a3ece5f1d5fd1023100f20d72ea8dfa10ec92bd279496127e9d56c1dfe4308ea76e8353ba50c5f91e9933411f34d57a5c72fe208146e7a00ec60302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500663064023046ca9dea584f7aea2c34986d6514eaf59c8e0b13e3a5ea8ffe86d5e67841f23a274714b7d318aa681bd6790c219542a902306bb85af964e2d606f3d3bcd1d1ba7a5d15136473cbb01ddf7d62c5309b7de8fad4cf6edd988249d8dcdb362c3d44b7140302047c435bb500683066023100ee6c39f39864e4c12244f9079487404eff218e980c45f2efdcbc572d5d57ffb879a69a29b3b364cb5a7a7f5ccc2c8eb1023100ebea20e18f3e82965902aaeb5b799e7fb8d54adb1057aa7c1feb39fd5e870366a86d5cf3fac07b94bdfeea88e3c48d8e0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023015445bd2bea31d97bd163e4020f4ee587457c7aacaf76a22f617e68f67ce299fe972731af762d09af32e2ba61ecd85a00231008a6a9f725f2418d6dc2d6c4375efa61852475c8630c339751f69d9e06e50cb33dc6c787a9621ca9db0a7d20022f396520302047c435bb500683066023100fb4f1a6f6d9d0def04d9e75e5e1a3dc0372c908731d8c1adfed77870ded4fbfa6966c3277f153ca3a21840166f15ca2a023100b82edee5c4914a525ebaf6de13bfd7ff23158b11d733e663f9c1fe7f59de5f0272e82573962f3a37ce4258a9479f7de10302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023015c307aee4a012925487742d22e73b558bd61ed846ef4f718e46bc5aa81a33a2b662749b4fca1a86416f643b3d3d666502310088b1927d2cd69e535a9877bd35d84a3c3310f7dc058a561c3b7684d58125db21d5ff883cd7b3c18e73a99b2b527ffb490302047c435bb50066306402302119248351d1fe4c517606e494ca52e3c8f3086e2120846678bcba0aba6583552acdd48008baa68cfdb3dad0ff4089020230227011988b4b7207a66c53ec50fd330ba19022dc2b96eb562577de55cb3e740f11f83dd53273d756e76ef18ee0e201fa0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50066306402301f16bf059d8733f5a247ff2fa750158e304a73fb1aa87e8880827a24ec391fce1be384ba1df9ac6105e0310bad8585da02301c70f8ce99d406ecaa023ebd59056b79028f6b9b6eb396287fd05cd8e8118e32f4caf009cbc4df81439b0545a07e0cfc0302047c435bb500683066023100d0b641cfbcf1f43848a16d635b5f32e144a83fb33b37d104f62bd3d61023aa94a6d6b062c184f1f069a0f101d87b1947023100b1f73e43749f8d6b04eee6ad27747a2d1e96a8edde1cee145c95aefec0408db0b83fb06fdeaf83e75db836c221f0e68c0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50066306402302d23f84c519b37e9802cb7a00ff853ddff5d2df975056970d4a3b7813d13c06b503b9737c06810ca9e6f55fabec4bcb60230022997fabd08505aab9629e0bee1369c2371859e3c71b6b51c2b69407bf47a08222402be579ccefa3aba09cdd98947e70302047c435bb500673065023100f0be218363934534eb9f5f9be27574f92f641ccbb66afb1ef76c5b1d0f4e4e689e28bb363a9f01acbb26f7582dc4b21302307a646ad43aece08b8b6debb8bc2eebceeb8e327d7e13dc6c890635c6df5c90162d6bf48fbac23e9d8d2579a2696387620302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023070df99de1ddbc57c87d3f711a93c3950bcb9aa7062d8cd712dc86af8f8e87ef4002a401a930724d261fac8adec2686bb023100b29397246e8d9fd3045e4b06e043aafd97052c6692067301fd48f7f61607e8b890ab1437818d506597456baa07b9b0d50302047c435bb5006830660231008266590c59e4b129819ddf29f81a423817da441854e6863e0861b80bd32133a6ae0ef61a1d4d8298d1d1db5f89c40b09023100812aa325317afe1192af0075caf97b4fffe0071aa5fb86665bcf4b495f8b044c290fb961192f8b5ec876a0f3e454525d0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50068306602310091b39c61081da4e36268bf305aac99d1d5aa48717c7044c5757574431565446ed3e971c9564627cbf179fb45703d1ec402310083b951a85658860997ac160f89cddd6053e2f7c439dd7f00da4dcef4cfcc2079dd67b1540c15d00f17885840b92412ec0302047c435bb5006730650230715a8d79c182fd891551e4a42802ec5025733aac6bc070cfbc8f0e654258fc80c9348ff8b2b3829e84f2654951d04314023100936b6b8c7614dafd100e63605f04ead72d822e56329d9b031592d1a6ab6356daba62e77beec6332f54bac76687c72e290302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500663064023070774fa91f0f69c8809f855c2e10685b5d2d9c38dc5da477200f3d7039f6012d4791ae8137a5f7c4e58e02fb702b2369023018efb6aaec5805e6c6f337910b9734c488b20b8537428cc65037d3ff36b4ace12d18ed2337efa5bbfed4b9bdf761aa240302047c435bb5006630640230030fb587ffb640e9e14c8ec9dd369bd61f8089c88687e79a50b2b7abe46f6cebcbd44737b4983c831446838d91a214100230562abe0f609df8b425b0f3bcfd5d08c6efe746591930bd4c0b0e7b3cf6cdf6fe35730352a3501e455ff0ff367ca7d4590302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006630640230246b0be43c95b2fc68308bf8b26749c14fa456fb598929da26c688abbe953d4580fe10e229176a45f665b27797979d4f02303496790d745db883f7ea684a1b076d15db812b6666a89e8af707ddf5c45aacbfa2ecbeb02da56c2fe4ed76abd850f2240302047c435bb500683066023100e921fc7c30623a809dabcc9222991cf26974e4b26955241314c383ced95e3e1698778888f8ecd2df715b21b12d16f289023100b55b36f5866a55c65d7a78ccf8d3c5f903397e7db4b186c88ff70bd474a457575fd0e2983375669529c7e38800be00ba0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023100b7c7a68374ce920b5fbbccd5995145ce53bb86ff04fbb30bd1cb4b6283d5834a314fb00a117eb425076b0b89908b248802305b72936ba4b0e8dca215c0dc03eba0a679106f23955221a944e9dac29f9cc87444a3189cc5dade10cb901f2039ceae740302047c435bb500683066023100f87a39e1ba0b67c83a253146aedce2574cae8abe57e95e2e0e19873af417d17f5321604efbd02497e576846b2abcb9f20231009721f974b214a9f028538dffe9b8c7ccc365d99407fcb2a0974655cc236a79bfd88e0164a145b4ecad72200db15da9080302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500683066023100ca924413c4a2c4ac80399330d55bb32841eab7b92f13b3c2f3469088d3ff786392058ecf82ddb971d71de431cac6f242023100fcb10c5fe61cf06c8b7299dcb31d6ca5198e4bd09183b535be3f86c099f54796d23b788535fd83b1c794d0313806629b0302047c435bb500683066023100c9759ca26b73e8ed62610626a42cdfbc1b707c0f8df87066bde941c6fa1b7c09b6b82837534881ecafde62a196e3563102310082dfcc3ee5719c259e229c8122f7eef42d7f99d9f8c278a3201c8a61713698e11680358e02e3f551572554c81c0911090302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50067306502305f1a88247c8047d5de383f3481d98e15560b47ccacf8c797e0e515e286f9690566396b043002ab4816d05a7b5299281c023100ebec62eb547b2bc1c7500a6d4966c1212a149ba581f019e49f401d1affe844e2bf88144721ba9977f6dd2d949e1ee5b00302047c435bb50067306502306681c0fcf359ba2d53a4448ef5490512267ada0e295ed115c581c4c5a59d8971f363951b6fac72569058140616916612023100809ea02aafb248ee969fb438307d13eafb01c56c929d2ad7a1c79fe5ecdcbc8a5f4fc24556fccd12992ca712caed0ee90302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006730650230608a197ae7191670ed218548147150f7f44657108923ecf7f1a2e6262e5b89b9562a328be81004ae9e24771aa60929a3023100ca7562d8d6ff0f8227526f0b6a5b8d4f213c56d4825233fad847247c8bc93e1d7b993b4e6d503038294ff1bb686e2edd0302047c435bb50067306502304ea730f7e16314ada843e89c8b557508e66de4000ae51f2512d10e1b533aad63a53c34c53c1c301f0b61c81720f35b650231008386dd85c18b5c234cbc33115cde3e967d2278e1664382c990645d1a30a225e24e5e21dcf6d8a966f125857c020d6a5a0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023058fc76d24abaeab88071898c7d48ae9add9f18c66c0e3cf55609f4c3ce9c9346c2e436bc9d7cd56ecb45a8dbceabd9ca023100b854bd8c624bc643fffc359393cb3e7140cd1510410e23ecb760f8a63d83b32cd76285e567045f5a917ce06a7c9b05eb0302047c435bb500673065023100adc26be2f2a20a9441a6c7ff740f747d11e81936dfc7045d5ab87f8fdaf841d14771bc5efdc80deffda0ac08a5c90a0d0230712bc183b7cca3aad70b3b970e2800d5a5cfc25969107e00775139d24de31b1796aca286e914598da7b41fe009c4ae020302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50068306602310085e612548cbf2192c7cd85bad96134903765e0df69badd0995f47d8394bd2b8b60c833f1e0647b5309a5c0b5d749bd880231008036509c751d6ff50b247b78a7ba1040c7de14b5914063d089265f9ab08f4e71afea5f5000e3018d1cda9bf4f88895cd0302047c435bb50066306402303e1e55e7bdf3df1d6d4e89c1eb66945f10ddd23def706219c2d071e691d18d6ab70333d3a10960faaf6facf6300c783d02302f3fb9c530422d668743776d8746393bac1bfdfaab1343027328394bf3ffa61fa6606683807251e914dd36757f534bbb0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50067306502303692c0ccbfad17bbe198a5bc57f5d9c846858261ac1439eff2b8f04ad1b119b71af276e0b498b76c5e39555b8e85b116023100b88e072e3fa349b8fefe375c250776a05b6b42a2998a70e30ec50a5830d3a1c08c6ae21de311046fee5c6d21c9154afa0302047c435bb5006730650230050373ebb87887e599e8ae061c9045fbb6283f5a49b5328a4aeb025748771483ab0bae12fc6e5520d94160cf5bf2a316023100b1d133c230442929091f76482263b578524cf95ef6266eada9b4925e2b6666d7136b898c660f73f492d67fdae4c4a04f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006730650230641135a3161bd93aa221e6e720faca4b7f527b3c0389a8c827b2da14a5fa2c997dc016b826c78dad8ad87851f425bd730231009416691426c74d7ef0ec6f4bfdecf08e12b9b098379d8524e9a82c0aa520799e47a6cd1dfec9b0fbd098101794e75da10302047c435bb5006730650230455eb421acdfbc0f3b5c5fd1b9d0d63d4e865738c9a20f3a92afd2c40f3ea11000a059ee02c56e5378aa8a7676371e4c023100f43246953dc7f99dfc311940d0ec8eb1fcdab46eb3df03f48b3b4fb384f039e9757e02cea45ffb4ab99661c926ec2cb30302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023044a2b82a67bd73331757518775ba6e68afe4277863e13521eb2e0d219ed67e5ed4e23ee69cf608bec3c2225f7d83e32f023100d4d0c633e5af880f02c2dc8f08dd84ae69e9140fe4d16a342f07301c0dda6df6fcf7a7ed26bce7cb62adfadc133b4a610302047c435bb50066306402300e4072fd68a62e4338a29fe7179b4f92f8c75331ca2f99e4c89adb130081735a5f3433df34404a36b7047349d80cf8a202307230b54b1380d6c81a1000a1c5381d8a2bbbd43890c367693d24c576472f4cdad87942fe9b011ddf115262f6d531e97c0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023052af24a3e93c623e68a0d81a228f08d931d49edec0d495c022eb84c7cfd8901b16a2bb5fc05e0f09498829dc85998081023100fc9aa992f2807750063b819bfdf6057987ec29de2a7a9d359bc4bd71e37a4ba6adfa62cc97b9ed32406ab5cdf9a20ff40302047c435bb50067306502307d960de18685f1aaf984c34507d58ff3e296f4c160a634869f9b15b2cea326e9e1b3a515d30b317fe59cb9aa27dba787023100fe42560675d20f75bf54f66fe51c6b859bad6be3b1b6e5ed98480ea898392dc32802323d09888663c2b52450d18837230302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023072488ee536b3b4047fb7c3267579e2d7329d25c143a97a2db1ea4fa887390477c1b28dd2ed2056d178f09f5ec720d9d00231008035d771d30fbf805a62b63bb09e4683c7df5fbeeb1051112b28fae38a58d7a6fe67a4aafbf8c8aec6601367d2ea6d560302047c435bb50068306602310087460acdf124e0d4dc3b531b5003a010935340e591d7d204744473b06ff40b334d1bbe5dd9d668b26d289d241774f7000231008a0c836ac1f2c8b3ca9717a4c6c58c9bd9e67b651b3dcef8252e01d8b15a7e7f0b4937cd2b0f53c11fa0d6f2407728df0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50066306402300fa16e79d6ac23d554d2f8b2bf388aac8f274a41f0ca5b4dc0386d51a7b1f49e147f3d574808d3da96930e27985081190230665665dc4d6676ae4526fdd9ffe6c4bb120762757a7a5d45341f195cce2d9eb9c386e109475f2349d11cc66863e9ed460302047c435bb5006730650231009f8bd7bf51dc85ad88c6987d5cc4eb037b648545488d433e3df21653e9b1c8124e246369427868e03ec7d844c7c5b2d402306e855c68693cca5339a31b0ca8fb68d826dff134170a0e4950547436b9ba93be3c2c2f74a88207e7241fee6de7b66ccb0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50067306502310099622829f59b9df5a69e20c450530c26c2f50d11f85111e41d807af3f7c688be73a2a418b2132c0d4510ed6b43be964202304ba57261ad8a785236c12b36882bf08c430815c56a7bb22df8c9494c20ab028b15bbd7042642891f8df0d3cea6252c580302047c435bb500673065023100bbd2346fd28df7d9380b7fe92d394fe7d5d46f20f19ee848947dfccd850db3ba11cd08deceac3498b74e4d301d3a71d20230346c523f213a6d6af7074de9eadcda1cd6e2ab0cbe0fadc5d08fe62589d537e8629a13fe233373098e8e16c46dd0acce0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500683066023100a589997ea102041acadd422892bc3d79d965ff12e3e37d8b73497518dda43ed21ea4f211e28c33fe8418aa512538b3da023100b58161d6c2c46469b8508a5ede3b7093290419bde2466f6ad617b109efdf9057183e2392ee65b79cca602a6a78e5fc320302047c435bb50068306602310087f95a5ff5afc17cc50518aa73e28c4d3bd2aa9430bb48a855ac99181f44b01e3ed6a5137125d8ff02aebb02d171f12b023100962259b3b1a7493c3907ad1e27e5a605c2f5e78d5c74a6159680c5de1359331816827e192aa2a0dbb40e46058f1cb2a80302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500683066023100f3f9983c768fae1893fb734a3e18f2844a85555780c5434038881f4d6dddac9db27f14ba53da31aa93b4781d30cff6220231009df2f31cf56c9542408f9e841123d54d98ac3a4e9c275b20d16f2cc0705853511b54a4fd6fb504c8e9fc3719b02732230302047c435bb500683066023100eeb56924f916624a6a478ea5355eab4c81389117b4795785ada992a0ea68bb5ec9341cf8b26e29292a2c5c809c1c72f3023100f32bd80274979fd87145f71ed854dcd946a9641cca09caf5851d3c889d75b52151975d3fae76c2866aaba1c2c76945630302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500663064023073a68adb110d908a1f07896903838c5c245917b2ed07f55320416245dd48f3fe274b45288590dc4d6039c5a8b68e782a02305232285d61ffbce50fc7b2330b4b5660d9e64cabbf6185fa868bc3052a57b9180c9910f292da567b1e805919d4a046540302047c435bb500683066023100e86115bfd268fa1aae0f0e4d05c08f0e13dee7c2ebd71dd1c6fb90d9f198fa59def60b9d30c318ee965926dd78cd8d86023100bb2d914df69e7138e0d723f26662fce400d305a329ed618f3008660f8a19b3e57a06a332927f560060ba9ad6ab57d62b0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006630640230008f9cbeb23dc00e1b1862f18f37034c607857333a4ef1979ad3aa10f9f9dda0261633e5089d62cdd8abc4d9c69cb55c023030d2d2506651a5d1aa80da3af50ec807f4e3398b4c1659c41bdf44580929d96bf45ddf434a00c910f2c2785ba34f5dc30302047c435bb500683066023100d6de154c260c7020a3a688c75649ad0df968bdc95a6171d8e5a203cf350a911ebd95af8d431113c9395f3ab28846af5c02310089cb89bd8a00a03db760d0bd70b79f9b53a08e3f6b8aef290dd91390a12e09f9289176a2991bbb9ea3c4c93d5f4f2fb50302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500683066023100870c5c0ef3801baf73b2d331f5657fca7e0ba38bd50f931ef662b1437d7f05593c9c0207e33bb930b914059f213c6931023100dac105aec318f4bd7184c2ef40f6df391a8698581dff80e6ae454b4a33e42100cc9f6d6940add16544e71bb1fae44c520302047c435bb5006730650231008a7b8514da8defb8749b6d346028ee8b763a8fc020d42b0ade7ea67172fa02a24cb2fb1a67baf83e849f115c0e5d948f02302f37f9a5151b7993a8650899b4c4718111a7e340cf2331767528cf912e0f1a5fff95090399676d2e7dafb229b060c2560302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500683066023100b291f1dff49144a2b414a4e667c0d2a2ca4fab6ae6ef67a6a9774670edd98e074f5b1eb32ac42d5a5bce06a82faf0f860231008916bea2eb46cdb6a0d30d76def90eaa06c629d42ad709e42f771135a6ad4435e3c14ecddf3a05bfb031ae9db7b700fd0302047c435bb5006630640230683b7d081a516b11ce19c1fee73e385a9a481e683e99d5bb6546632484814f9e02f14874aa3466495b1888c051fbb08d023044c48f4893bd4731255fa31ff143fc36ee8d9305edc8556d82c70c47b36550672555ab078e23915c154e297322ba36a50302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006730650230784bbce1f25f002eabb41964b0c87f26e441a3f454e9f9cd00396a2d603f096c8ea9c4762ab85dd8734949ce3335223a0231009519d178cacb64e31815733a1b14904a896225a3e9b6476cef85fc651f3fe4e12cc74dd1e492f05129e1ee9195209d5c0302047c435bb50066306402304bf477fd2a3ac816879fd0666fd28a7b6838699185c03e9fdda637020ef4250f5526bf455e5f967a734c8b6c69b90732023041a1342ae9e8a3e1544b5401a8ad22432c880a2ba044e6944e056ee756fc9a61fc497970d8d126ac8828c4cab8bca2450302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023033d3faa726e5ac77da965044665f6b4accdc86a350b78c336e161504aefa4e01de78c918d2e762f3e46ee78396e76292023100ebcd81906734e8caafc8e8647d8462588fc13a742f1ac0055878fb2210f2755ca16f8ca37eaaa94e327757293482196c0302047c435bb50067306502301001b971599916a38c756c80cee0b04cf2f4c2d35dc3f60ab78262bd8ed50bd56c3691853e13b8d4e0a207ca4c7a71440231009ce183c871d07428c817f5f67eb0309a2345e3026195bbb552010b4b2df4728379e5355245625c94c75982ee9ed9f5e00302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023008ad36e69f6409e6ede1009abddbf38a14bbbed26177c402d77ad3d63dd941af1f499434b945a89e057df7e5b0352dbb023100d933dd78f8b3830b34c99983aafb6cbcff837a7b89fc2c21b4115b82a42741d0e9efac9b37cb67a30222d2ea0241b0b00302047c435bb5006730650231009eee72b02f0c38cbf182ac4d094d23df22769ffa98e695684d599af9ce651b9e9249ed5bf8e0bc8c2cd8e84e4f0d229402306233fba7926daada93379afa98fd617a9c34af0063bf4abf3377b3a9112db7fa4e8d9d994dc44bf8429f314ef4e746910302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006730650230157747f25ef9a166b02d2a6a212c6ad24ddecb230a8b7930b3a44c6547c8b7d7ef37f7452f97a0fa04dbe4ec05677c7e023100c22f5a9f31647a5c74b19a017b3b8fc3064595d10a48bca47a37e3bee715f4d5037c8d6f0f783d95cc17378cc3ae6e130302047c435bb50067306502307a3d47bfbc88517926d3a243483382ceb956b499b4c380a234572a3e81bf2d4acf10e48a816a705cd705c183079d54b4023100c36335da2a79638ef0d89a408c41b72910e16e947856e5d8e81964dbede2b6a135d56d88d00cfaf77291be2f5f5aacd30302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023100d61031c30909ce3e15098fcfadabc071f84909aa88a8951ec4b7a7a8a2fd9dc55f44404cc057c59c9951f22e5a8cca290230550405e114d8cfbea2d87fbc538e0a3ab211303cdd769a1674dceb95438eb3ad71cd56d087280210c963ff0197a5e4800302047c435bb5006730650231008118728a1fda600a7fbb6c94acb988d94098738f65370b6928accdf7ed118be3b051c20cddd4afba6b9c7a811e9c376a02306cccc477d842e20fa65c5d5c8eccbd6ced8a04d00e67990a4ac0ee69ec176daef4de2cdbfa6de9202b1faccace73594e0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50067306502307d3e4c4555df1d385a77764c740ce74b2ad865beddd1e1775bc1d88999b4c9bc8f3a31a3bfad6f665fecc466fd13f8ee023100f4a3a7bfc1bba78633df43b86fb4d79e379074923a16f36a5a5a86e08e7473425c5bf95fafa569aef69660f61b1fd1ed0302047c435bb50067306502301f130abd24c0feb00648a73e4d153e3637d078d208441fa1fb187b4b265420e8f6d82d09dd1f7c8eb1941b3d01ed9e43023100c13d79bdd217f48b20eb67d71a1477d512733d3393ca1ff7e170c86aaddb37eef045375b571c2e308f6509f034cca5400302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500683066023100827ce38ae5f61ce5d7b96f7fae2109eb3a99769bff7b529694e6f1b6b67b3f897fa9038e4eab6ea438b9a1d19fe627c8023100eb75e83319ec265a441cc34ea1246fec2b4e5a382b8550e6fb544463ff4b00fab14f4a911c022b25428641ed779e48020302047c435bb500683066023100c557507b7fd52000964a28940ac02157117c5259e1b459aa1f62d4db3aa2dd01f7a92f0f040748c8599b5bffee815dc8023100ab44ddbe016428d6238e0a1a5acc1255bae6c644994e964b82d72e0df0cad2c6ae4cb64fe6f9d8eadd9d9177b87ae3d70302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023051ea54446842ba52cae622be84ab3c300e0f442cb52a6556d4f6487a3ec9f226f535b57d8d3831ce4482fe925bc1da22023100f02ad71e143a99041a075d63207b2306c8d2898365633e8414ee6016fab2e8abc49f7d33d61938a02a1006e2d5de23340302047c435bb500673065023021f526b6741ad65815efea9a55d0d4b4e01a4c2f8b37ebf953f8db82aed223395becf9e37b0cabd62b4d9f69a6a8247b023100cd33cd6e7383a89974a392342f40ebc74f4588afba2ae39067cd5173306652c102645944b02dd2d4e1b0c535c1886c010302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50066306402301ce772af21b8f2a17e484233c4e99a4eca04da533d918f4dbbde2ea043d95b41ea9adf124f59c7981418aa5532305b2c02306470b2f30ad8d629be83bdbf508125f1b78f96fd00d9fb6aa21733519ff7fd0966595d6c833b4ee333cd210d1aed20020302047c435bb500673065023100c54d54415399f028350cb202e8bf98a88a3169071faabbe9d220e8746e6055a2debbdcb0c73551f18864d4c66ecc57890230264f611ec17cfcb408eca2fe4f598b7e2d9ebf1564731a4494af59fdac4cf1cf3e0326e755e01177b5f02a677cea054f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023100a8c54cb6609229c996495f417ba1e0b4128de3ddf8f97865116c1eb089ec612a5325e6e08a7c1e1e46d00347ae3035f6023076b2f37195a135736fb96fdb8f052759c44964609e657d2e574e511c4e898230144713dd14c59a1b783fa6c17c9f5ea70302047c435bb500673065023100e5c247378583103e6892bb5849d9f77b74127c041be6a54e54227c2adc8af9b1c2c22cbfcc63a28980795870737337ac0230320fef79e18cf0d50009344eaeaa3556b9c655bd281297f0c02d22de273be89e7e3d0c414c2d1ad2ef3185facd3d02160302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50067306502310086497c5da4fd05d54d2174e01c675bab6f596e87afb2545ac8af13288b0df7b7eb6393bd0dbc8e717405d5931e8dde59023048afb7b16e2335c30cc5faeab3009272aca3e70131af781721636bf70f55e0e60a826e722bbd33ed968f567f978550080302047c435bb50066306402307520f7512be6d3735a91e9a615a48bbd68575f9ff4e4bef4c693717ac85b451f37cf71076ec034a0f8991db8331a411c023035c130ce3b57f7e36ebde87c4f5d52e9ff77061896ba2679efc827d3874c0904fb066831142c21b7e3a7b9a6a6b01c170302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50066306402305cd8806f71d0b7b3543d3d8f519f19572ec277eddde03da8fffc33479d1eb7c24bfef56587e6896733612fd0f0924c62023069208335bfc7715017eb8f31abe45a5bce07f7cde3fe0ce3c43d86ad3b7c826a7a188bb947a5033b9135e70fabcac4060302047c435bb50067306502305f0d2cfca6dc69494e4226a51b6f08fae8d8ba3100e6ec41cadf1a0023d740d45c6135c3285be99d86e7809a855e915d0231009639b9da71c87e9864d2ff8ce4ef17142ef8e0737430f6b399834b7f38a0ea4fd5c9c0e66ddf5c384873c072c7fca2ab0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50068306602310099007d0fb5c169b752167858786965eba5564105685edfc42ba8dcc0a78297bbdf31e41dd6f17593f72daee970c83dc8023100cc1b16da541092232ed58b4fad8c3194903e3524b905a4c253a892c52051a4ada982a5c376cd100da0e898709d6d53f00302047c435bb50067306502307613ea5698bdd78d926af354aa0c6f42b4abd6ff518ba09173753079facb9b585183f4c3039390b4ecf90ada9cb1c84a023100db4f3f1a90f6859accb3352494eb8e8b9b95cb02d4fa90a38790996f7e84bc2f0672cc5ceffd387847c7201c9124071d0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006630640230498d3f83b3ce47c9dd7c73b9f045f080b289e05ed334b49187ab5b5a53184083fb34378e5a01f2a9bc451b00c2a31661023022711c6790cff793f7ad56f9967649717bc9bf1e0921644108f8ea6cefa640fc23b6b62073328422026e568ce0f69d6a0302047c435bb500683066023100db1898536c82f942536a5664f8aa67feaaa4e1bec87d9f635cf682d3f01455d2adc54fce42e9e9920f9c693f0d7cc812023100b7851bf3cc4f19ed48b202919ae21a3f79b9b0960589a98a8fe1353f0e893ee422924fae1a04d087f0e423156e65ace00302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50066306402307c0dbce2c862d1f32f98da11fdedd1fde2e0341eeaaef616e5edf9c6bd9841531a41ac3604bb3333aeb51ebe8518f3050230635cef45e38517c500386769a2ae226b3065b63212d6b947093bab7533857aa6d9fa1fdc293362dcbc791f041afcbbb20302047c435bb50068306602310095549510c60ee9cff0d7862cce4d1841084e154955ebc2e36569795430a6f2efc09db2975143c7e4b2ef79fe8ad95130023100ae571ed526227f24d2526a3327d06ec61fcad6d8189f7e7dadb03a70aa8c9855c39773dbe5382888c7d8083b21dc39b10302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500683066023100dcbc9d03dbe4072c9bbf0d98ed573103b2e0b7ada0187d61d36cf9985a6aea950bdc7762953466f924f1c0f8339326ce023100b6d137616911ea5578031567f595c0ea7285a5b20f3a7ce42cac823a41a9ad2215c57a9219ab3b0ca2110945ba489fb30302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006730650230426403767be80eab0a6c7d45b8664547159d3d7bdf159862617283f085e9cd33166e9ad462c6901550f933eaeacfc560023100b4a6e04c5eef9550d24c94d1e021f746a7a18c557bac05b0cca4a94e74020570d48cd19221d5788414a233371ec7e4180302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023016f38f1d4f9023a3d5baf754951e4880425e933074cba79433fe517eb400fd078c8f346c3e173b19b570d55642028c45023100c0dd1cc208575b77ff361a6ab2cbe87c5063da9ce820a3c14fea5821685d3b1ccb54e67d74df1e6df2c5e8d7dfaa95c20302047c435bb50066306402307e394bb1f24cb6100f61c85e3c2e0ce64d8ce8f49dde5fad00a9374b340bbb16c88c716c55fe7a532f55ae4d288246440230690eeb4fa66019c867a142da59b5b1f3ed93158df4a8942af3821b88efcf8869040bf88ce890fff838c9f2a95151c3850302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023100eade895cb3ce6be896f35717b8ae1c462331c1d6415807054a6878374381cc51500140e2d6277679086a0ad75549f0330230264f41ceb24b45047e5dd17b05feaa0f545d3063ef74db77f7c0350f5c002bddd297e1b385f8b319e1171e14ed267a980302047c435bb500683066023100c0f93c132884b40d386d510d226ccd5b147dc9298946584b60fd55d8c6ca3ed2910a8f7a8f9aa09ff21b7973632bf105023100f73efa677cef0b4a12bb7b9cc6983248db9bb346bda8e20bddc9c5b412b41b7bc5f7240eba05dceab26cca9cac547c340302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500683066023100b19e06e40f8cfc792e1fe82d140641eac9a98e89c4d5bb4b9b1861972fb3b0c7790ffc2f374c5aadc27fb52dc686a0a7023100c3e60332efbc569c95372f8b8b87cdaf8f755b40231cda8822773692b4209052e56d471091bea79c2ee2ec9cda0120ab0302047c435bb500683066023100b528ee851124789efaba3a298cccddba7bd523efa6971409f3a11207b7e10999acbfeb1adc69ddd27c949ca861a0f13c0231008227e0f863a253ed64bd9992485b1368bdedeb2e672515570c3f1b053a617f8c0b2d26a86bb407609aeff8306c3d9dd20302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006730650231008a56a5b115f986921db8746579ab8da48d0abc21376c4b65d88bb23c16b11808b749909dd39cd655cb3cc05a3a5955770230229673de5bfe79cc60fe26b86b047fb20c1a631b5dfb03e71ead0b7510bd7a185b7d224cfb19313471de9cad921f65c90302047c435bb500683066023100a8bbc0f6290f3f709b51c24c0f97efb21fe395514ed78f87b1761744ae7755555f189cda6a42ad9f8cde421fc3dcc83b023100ea1b5db9e932b4adff2316a034f5ab9daf7d9286de9674c4c611a27a551dfb56f2dc5390caafcadcadd1ab44fc0b03610302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50067306502310088fe3594aa231512013c9baef831c2ee9deb50d5b49ca5cb759d75d9a91d5145bf518354dadf164315e096cfe4f0e47502307afb047cba3ab2caa68308a37d127cef50645c14fd636e7ccaef0f8385dc7e16ba8d84cd836f36daae670ee3218a31f70302047c435bb5006730650230499834f9df8e884be1fa4be56fd316fc93d7f63460a912ca9536cf29513e78b9e63b8428587ced39af9bb44c640416a9023100cb7c36aa7126052b8d14f58b61d4471e4c7e681eee22a42b5060d4a8a1886f29b3631cc056f97a2238746c837316d55f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50068306602310092262f86fdb064ea3242e650b964141f8a1b6e5bfcad370edb063a9fbc972e1a57f94da94e3b59fbfcc15c4d06b8a306023100fd2cc02b706ca2742c51f93361a30ce35fa7937d54f5a21f78deb2cfe9f88b9f5b6437f99465777bd37be874aed5eb0b0302047c435bb500683066023100d8c45dc27b73dd12ac25bb5f89f7835a0fe963adfff8cf4bcf8420273b125fa782e94dc0ceb646baeccad7165b77cda1023100f98bc87af29e531756b1ae653781f91dd4b6e126c1f8cfbf19e91bb8ca215fcc6505fdc22ade94302dae09257cfdf6f40302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500683066023100c18053d68206585f14dc8714f5d05a126697f34492a3d98981599683343527fdf57381ece9350fe07beb5d813c6ce6c7023100d15b4d87e953870e699691859b705c268f2d036e2eed6b976f784b4c27769020e9f38173f1e88c7eb7a3746a937b5c8e0302047c435bb500673065023100c5f71e55ca44f6ca0f44038b82962e434cef9400b583a1f446e6d30f5ba87e28e2fff70ed81038ca177b1d786aed5c180230327e78b375760b61c5af4dee58d790c109719deb3808240c8b0c2b04e101ec48baa8a0d5e924b6fa53ca60e096e4aa640302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006730650230409e842e5dceff82884d70d25bec3f4fb70420331f700a4339217d41e565faa9432bf1ac295a73104b65d255847d070a023100a345f1ead88dd7b78b3d3a868d81afae238e01804fc14868fd47a9bc9e3333f4208cedf5cb71e4c0d4df030b69aee2d70302047c435bb50067306502302f09c1bf03040680628de68c6a2d7889cc476af4cc0fbff568c593ce16d62c69b64178ee29c9ac1714ec7c3febbdbc0d023100c6519d61ae0d2f04e7a2d7ddc1c412451a86c1ce3676c1a31913e359a15edd4837d4561a2029acb5ea1a8093e68e7e5e0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50067306502303ace76ed91799f59319eb21a5a42a9dc2ae894f4c322358ee99c44b1ae5b89e3bf1b8e11257ae8f3ffd97f8448caf9e6023100dfd1792bcd8d41888fdd490763c3c13c4f6b7d2aef601f3f3bfcf431bc2fa12b5b36c0da2c8bc0462fcd0980a38c04120302047c435bb5006630640230415a501745a15731732f6ddca40711e1d10f3998680d845bb6c2829be758a8b5cb0f93b8d02494dbc9522a3668994e17023025b9def1a498b5e55ec0473f7809bf5b6a6503b06b033cc1c377f05d480c4b7fd6227bc883d77c92cb410e2a840940850302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023100e0391f038601a5ee86c6686670531ba1b93f290756d51d9dbc74a11abe4fb62b333e214fed3a2aff50eb8f231d5eed3902306845587e67fdbe922ec64a326f28f3ded37c5e6c54c743261fce3b767e6827001af14de01816e237f0cca4deda5efcc30302047c435bb50067306502310092cd879176f13c3debc76b7ec7223d93600c6276948dfc44243d683db8a80b5117b5220d99cf695fbd28ad3a52792cab023068d5d5072346451cb2bfff72de9bbd57521d7ed01867b30dc7afd0f8cdb753169e356eda9a9a358270567357adbca81f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006630640230284937c1d5e901f232cc4bafa669d2f98248707c6f7cd7f7f5f83abcd206b384779a73cc36ce99d3322320b1e14602ab0230534d4b053c865e13938f97bef3f6daae8ebf0800684f9e259755ef054d6b45752dcb79e70e562f0fb90157c5543062dd0302047c435bb5006630640230018541b598d1c46c2502a53f453328961075c4e9d5a785a5b2155734ecc3c9da68d5c49546eef03b3e25f3d28604fd35023078efff7083571884733c8773bd8e316bb409c15d15c0e08f2d9483dd36a10373a041056fb48558429bbf232acee0b1de0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500683066023100e6332706e83cf0dfdf9f220b7b4f74475aa8b9c4937296e2818d5e19091fbbc9b52007e9cf74163151ee6c1ef8f69caf023100dd0c7567e37ae8aed12fee727aa2a8a44b0ee3dcc36685a8ecbf4691831788d0f8ea76eb1953b6b61996f8595de82d870302047c435bb500673065023100fd70102685e82cde1541ce2673807ee5ebf9742ea64318aac376da9ae6305ae364ee915d5eeb3fa995ed478349b819a80230465c4d9f0c93077a60de5000c36863f2e946c29984896669422ef4cf3195a35d3f380ed0be5bfc64aecf54af168455170302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023100ba9550ae0bde3ec1abee9e68395a1c62c66580da234d01f51ec7a7d08f6b106e90d5c4a37a09f7fc91c5e00c00b3b2d9023027baa9603e6c6da0c388a63ed8454d1fe0343cd1977d6bd7ee887f0fd03af019b7c749fbfe066bf6d88e92856371abcd0302047c435bb500683066023100cd84eb37368dda1791499b11d8912cf8ed2421b8f76b8a28079e48cf1525ef4e7b3219f16324470420e5845506ac3dac023100f021b740a67287e32d27568798cae0c0210fa9914878722f326e9ad7a65ff3e5ef020ed3102b6005dfffc16666feb9430302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023100af1e46685abd50fdb5095c56ed52f128ba59855e86cdef465018c8f20c7f20d6aec88bb2efaa8c04c478bf102cdb57ab02304ebcf428b8e36d5ebe3fa6ffef125a59131249cbf6664b5d99a05fca6f26ab34d024812fa93e30e1aa55d36774b8b7ad0302047c435bb50066306402303b637646cc98270963394cdd6ab314643ae03a126ac86f6f41cc0bc3d3ab3a25a7df34237e5e7e829b98047ca5a03b7e02304de5888cd0c859c2339e2e0170af30360eeb2e47096320d1bd80b29c99b78c44e14474c2e73e252df2a79ea26eab0c4d0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008a9c6b2aba0c10c833696b868796eedb9a742e94c4ef04ba1694cbb8bbda8c65bb6fc9d359ff64dc6d3875c81d21b9e002310082691ab108d4851dcb2a318d30cbcecadf79d8c3d085893089120d80d256209eb977988abf14e1c3a55f10dee4486f910302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500683066023100cb2148917a56c2d7a3c80b72ae7c8cfb86b74a2add0d6b45acaaf764b143dd382cad4e66bae727c4cb3de9a2badfeb9a023100e58597fc88818decc82e5226c5de5449aa6bdb67c6c515e0bcd3ecbab76f9fe4c4374da2958b5c2696602fe0ff3714e70302047c435bb5006630640230171a050611b3382b7a6418654283658f27bc00e9466b9c798bf53d3e1c5da3c1c16cc97b07e8e08e287a50897a6befb102304200eb03b16e92fe9495817065f79a8c43d638af39743158ad1213b8bec27a530c3f8ef1f2433c8b34a9331c665fc02e0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500663064023030824090729e9241610dbc6531ad662dc03b833e1f0de5ed1e5e05749feba81e37626d66d852bcd57e829806e6070ffb023014c81d03486c1546047973051dd417ff04557f8eb553704b069820243fe4ad65476cdb315a5d79c491f43e64dd6896810302047c435bb500663064023062ec662bf9ddbec3a8b8020a933d44833878f0375bde87495ba72bf4a3d088d67e32ab682b7cec628b8eaeaecff7b50d023049b4bfd4492d42d07b3f2ac719e3973e10b1dbc0d8de8e3f008678c68fff430d48e5b6f102eb75ba5d281fb9f5655f2c0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500683066023100893680396c3b7c7da1b68611db8d5496d98521993b58763c7b93d1a2cf2f76a71f92a31f620d7df32004c6251f720131023100b89b8b1213add078dddf0cfa15a7b7ebf6f4b22f3d07d6c98146b1bb3d5a76be7c051a72c523d4322b1b29cc979ec9e00302047c435bb500683066023100e6defa3241148162cc2a27cee32af8eb640ffa5d2b5b56fe6ea860d874983a98cc7b414d72475e0ce4e1ada96956d3920231009504dfbc300ea03fa95e863bbd6981e0d478c4dc98532ba376ed94f5b99fe017ff636fd0ce4ccc14cee5090e8f1418a10302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50066306402303f78be26fc8cfad8d58f3582658484f4cec4c04404e66b9690b7a5ecc9eb4943eef8fd35faca4097bbe1aadb2d92f77a02305f96c56c70e4b8b047f6afeffe73a62cab1f51580594994830c01bb58ed6199356a9d36bb63eaa2e7d5228d89dc6d0e30302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023100bccfda89060d9609245a25cfd573b1226a5d726835edaa0effd1a64d06e2897c2809164367e1a27282c54c82f3a5c2c902305aea1e574de1b9749a9ee8aced6bbd3318fec332f0ce80e247b335fe357f58d62fc0bd504d4a652ac8e41fb19093ed440302047c435bb50067306502301f0d757876f6e05c1cb457b49f56407af62f436cf72a61033a348675e4506e75a17a583020e1864e39823f3c61da93f902310091f682cedf31cd4d0527d798be22c85e1a9ec02ec4a780109955799b5862582cadd386b4ee03e1a3ec17765a908168d80302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023100ac16a68c91bd4bd95cf00713e37c4e37af0f0562f0bc2ebf9f38cd846aaec29f15f7e4f532e64502e0ef889493e319da023044d2bb955674588e16e2d6dc0568c3d56ad48dbdb2216b7cef18d0c773f41b9569fd37bf16502574df228a1fa0c61d2f0302047c435bb50068306602310094643c8f6d9ea28685338eac08ccbb5c45d9f7976e290adca90648222c468f86477eea653cac3cc0dbee7044430f3056023100b5a62bf17248c4464260e701780cbedfcd45d261c50aded3c90427650478f3fca816aa047939bb70a834a0a8509f71e50302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500683066023100e55a72346eb1f90f67d4b1ae8b0eb0313cf39088df6f651a72319f9a72a57a5fce630c0e0a936720590a45ac885df034023100893f41df0b37f43c42a41fd577a07517f8705388b10a92880831ebe788e040aa46b52c56a66a8552f8b30b85e02394710302047c435bb500663064023045a6c44a63bb879483fe09faa8ccadc4eb6ef9b2f26258111507d8d2ad7724ca9e8dc55e9bd7b9d4fc715951595b4d3b02300ffd85eb3759a523fec9c23e488b0b393d7b2926f4bedaaeea8de44c10244280f55adf1c7cfd07c94b790c797f55b11f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500663064023052f76852a4dce19b1b5d1b57fe4126c6d6c20fbe618adcf352cbf55fa59c6a2ace89e0835df22ac8ecf97cf067a77d2f0230689f64732538bff04161faa4a520b0d58fa9266a069389ceef8b8573cd75ac31b7f83feb8d782b687567eafe5521c2b10302047c435bb500683066023100cc7951d82d8e4eca2cdd97414114ee88d001eeb7e283c8ebf3875d28237f52621ac4b7123b259d45e683c610f1a68a2c023100a7147f61cedf1d67d36b19f517a058cad91923b809e5f2788fde289dff0f62b32d0766da1b40a701d51000817bb622c50302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023100bd2bb131ed81310d7b0fcf37e94a6920c05adbae8b62a8c3b3e5207b6f43119b6762ff4681fce25ce72a4a629376c9bb0230596e9ec18a94005c5c247ebcc206b9fadf7e7cdd0f3d110b581453c5b21ee792536dfe4291bda2ea01ff32d9cfb2072a0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50067306502306590e537f10b2d7a4b98cfe72d4fb1556a8d439f60dfc02fd0cefe986afae3b77cac52d7565c6f5ca8df19fb090c2320023100b7bc0e0ebd7093cef17e0decc4580f5feee232f250af9d7419c440dc658490e8539b34e554e110a2164866ae5538f94f0302047c435bb500673065023100899a4cecc478b24e02368c52a32d1515a2705fdb922580a51ddb2f05a15def479a614c07794a9cb50d862487f318b7b802301741a0e46b2ae8a82d756405e9737d04d25d7e8eefc09e1b78060e7e42a2dbe4e0ccbe9d255b28164f2e76e021c321da0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500683066023100c29ff886bcece85cd8d444e13b31062c23be30b6f1aa353ed0626f0044b09eb3433e77ceeff98aedb49d839b36bfaccb023100ecb49ff775fef66a1f58f4a1b57a68c375f7d5c391a7f65d230fd56aeb46e488ef4fe5d3834eda2faa7b22ae66c036290302047c435bb500673065023100f25ea395a035db04acee5ef5be3dcdfa4fabc6947b7e148dc50f9b3e21c8ae56d95fe3ee26f3a13b5f76801e02b20dd102303fac7ac89abf0c1393997c0bae2d632bfc809228587794f693a5f6dcd39d422d2f37674b11ace8f4912d5c70ff85b73f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50067306502300cb4ea316c74227d6d3d9b1c34203691329fb9fe3dd2ec15c623b0fb982646dae39b86ba6e655149d5f11322067f457b023100d934241254c264417b132a914affc5086dfff2227c0d891de6a68b8e2c76639ba9423d287d865820b24df918758b9e180302047c435bb50067306502305bc7444adab5f05f1f3f39b64d9f0baa27aab023914b6f37dcaad435a589ddd724fd656e0ff8bd441be6eebf9b10aa1b023100dfe75ab0bf4164c3d6bbdf1ff7671fdc1335b63ff99e1322d3aa9c040eae5cf2edf98d3e57e45207c869cddaa73d1b0f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50067306502306a9bd37ed8068b1e6841d6072f87ecdab4b4b8c7c082de8c32f019422150ab0127a02c5dbb9b845ebfc71c2e71d329b3023100d876d27a84a39a5641654b319100766f63ea3a08a003c3552b3cfe7267309546af0e32c9e8d2586f69dac6aeb7434fbb0302047c435bb5006730650230620e99a8801e8a86d38495cad15c598148f584cf03089793cd9de9041a4669fda3241f3ba2c7768325d9e20789ecf88f023100a0fab077aba21a953c8abdc96214b9775f65b784766654d3162d4abfd5862b6d2a8d41822a66228ebbac2ae2bdad12b60302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006730650230586686d2a3455dea31307313eec8f175953b168109c24636ae22cb5e1d92487cb9b1b0efa1c5b89deb4deb9fb28f429e023100f2fb3117b4b834e02eee6d943b882ab91a904cd039ae8a4445226c16d98a22c1ed3b91a5d4fe64eef60003f0a53a285e0302047c435bb500683066023100f64ad8d0ff894a6120c51399d8e845b482fecffbbc57e41474f9dc044b9e3bac11bc3db80af9fec81e5dd4ff39f90abf02310099c9b41f0e8589987712597d58adbbf6297d4f47f3f1b52e01f1dff81f9564ebcbf7514ee4ed1c883179de89de01e6010302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50067306502310096abc42d153ff548849547214d23d321f7533e2efa4662c92a6b8e8f398bf4a6400ad904e2986b25bd08b4963a468aac02306059d1116775f43d38cb1e1b46e586f182a73dc78eba45aab0c0a8709d265ee6b3d5b76f8527d598b7cf176c84eb937b0302047c435bb50066306402300c569c8d27aacc6ee7e4cd72dacb5a44ca60f4c02bb74b0148f037daa0732d91c712f0f7227e74c4681139d66d36df06023024020b6a0bb4a1e13a68087ca149d386fcabd42fdbfaca42c3901ca2d442bbef9c6f983725fe741e83db7007605f942a0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500683066023100bea0dd774405e788b1abcc0032c58a9b93d617c778d6d6fe173fce9367a62e1e66ede2a62f325776b1f2e6ccf3449d2a02310086257d65896189cd5cd517dead9694a97c7e21c0f49d8f2c68064bf69e25fb0f25a6a9fc4b469d3ae2eea5ce8a8fb7c10302047c435bb500673065023100851d301c267f73d1dc974d97427d53cc1eb55d70651453d60fd369e1b1a66615dd21e386549eacbd048b3d413655aff402304937f8ebf50cc96e7f17295d1dd602d6cda14d8f0f6154414b99ddc80c1ab361c51f0e516dddb11596e03721025eda2c0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50067306502304ffffa92f5cfc8e121175c6bab304b782b8faa30fd45bbffb4d64884fc3af85c27348ad5ed3b650db7fd7653320e9deb023100c1b9fb7661a512c7bc28d1ee0d1a2af82e1313e0815ec381feefee7ae646b31bc57363ff1398e64d6e06be9afecd50c60302047c435bb500663064023029a2fd166d115305861d75b661a33fabdfc3ba0b9761819afe155eb443f99b3a8f71af68ea890b79d21c893386c85be902304762b3af25f64bbfd8cd8db7776e7858e685a9a1b403049cddd89b9d4f41f9cda9a0d0b3d2a7c39f0c222f9c1f2ee1680302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500683066023100988540fc08960a3e66c56c5aefac9c133ca33c55d986ab7cde2656968cfc143952409ca1af25a3ffc4c2693498ac2b250231009a563c72974f117324704001a31ce09c584169219ce603238661e75972057a8d49fc38583e9c8ef8e24bdebdc410d2960302047c435bb500673065023100f12a3f5f6a8d52aa4bbf41aa04d7ba55d77c49987c9f62cbf89466e55ada1dd4db98b41554bbd43381f7069ef6062a650230773a9b80c59b52fddae00ebd3fdfd69fd13627f0f2933fd5369ded70fa1b8e67ea93aaf470a8025982fdbdbe9e5456ce0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500683066023100dfed983627b5f85ecdd75369ff4ab3599ff3ac3489589c6bb0e5e3e3321eec73cb13e9c5e662e5692b261fb34c70200b02310091b05cb85f9e52cefc72527f463646e01aaf8e4a0a0f365d265236c2c120bf9981679488dc0358a2291ea2ae6e8491c00302047c435bb50067306502306158183ae0ca7697af41078324a7af606243aa9737bd3d105c6d740ce531792f9ebb4f85498dd55b80568102bf28627d023100b24aba99086f81b4abaf781f0de086a31f0fe033aff773cd33107c14393e4d6699b5b277915e72ec5358e3f3f01689c00302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50067306502300e230949d0fcd66e928bec1a9daf57354a87a8c173df4be70d97eb51716a097895330d0cc923717cc82d91877316a66d023100f9877ae304b73117124181abfbed6e7831302bef33c9df65e3357c151dc44fccc4bf721e278744d86aee0dc7399b49750302047c435bb50067306502300c79929d076f0659c0f804f409168c0a48d9756d523a91bc2b7bc09a05fa96ad648eaf6efcba7f4d0898f7f81c4862ca0231009f581293949f44f049296102f1c2794741f49c999a803ef814e2bba4905ebabbc4e271d1fb3c8e6f9cbf0f48644d0a9f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023100e836d69a8bb3d74fc12057419b691ccb921fa38c7b8096b3acd4f9c845550793ed442d086b390d93be220169ef8a244302305bc2442ecc3f2d744b43f84f03e870691b5bd41949ff0dcb1212f9fe53c6cdd1b567c146738a12863a2c477d45a713230302047c435bb50067306502306e0b9909f071875f70c2570753937dbd13ec46dfd1460d36695d7be0d8e9337f34f28c64e0bac889f720761c9ef9d53f023100b8e1b3f34a5ce27ea8916e2ce6306c0e2c937d34da7d755d65ebbd3ae63167bc38d73e2d1848e4db71c5af46f9fb27850302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500683066023100ea86b99a95d17b9dd6075acf6d2c46e19aeea9c1bcfbcd2ed40ef7d3dc6f069019ba42452d77926950dffbe35d44a87c023100bad9976ff1203e0b8f830f2c3ff6fc7f27ba1d3a8b189e08baf2e824dd76ca89388f01ffa1708db2b07fd057f7bc86fe0302047c435bb500663064023027913240d7bc3543d858beed18f20981fa9686be074839297199ed32b752bde7d9890742dcd8895dd210a2cb668c1599023041f76ab997e70ff76a6d9cd3a9e812ce39d34febfeb6c21c25c2fb5c68c9d02f5fc72f59efc0f47fd727caff696b64ee0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006730650231008d9a5583c5c46dcbbe22108904c5e3a1d795bd64f1830f22c9bd79a551a1b7633ac163dbbe7d6c8e8c733cc1e6806327023042fbc83833060bce86e145a0d084b3040a663424236fa371e072471a731489c663b8f1260a1b339f4524837ba8a2b0de0302047c435bb5006730650230168555d10faeda0ed5646c83fa30c44ee9521fcdef51fe02422b5a5bafdd33fb95100e3b3f2b5c15ed411221d295ea02023100bfa8890348f46586fddc501118703c010bf4a7c7fdeea62e7521987a39aa23b96cb631db1d59fcc84c17d72616595d9a0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023006543097bae212a99d7240d11a98cc63d2938badc28cc0066a39bd3233fb83ed7084d0b0ec0a5b713222b9de32d3b47d02310080277c730e9ae0dccec6f4e1aee9f48fca1df7397a57b6a8188894090141ea32370a4929507f980de337f86dbd7fd1b20302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500683066023100f5af3a7e92a97098f9d23fccf8ece513ccf2dfd7c12824605b52916efad4bc86e27765f87b89ef92b6eeadfb405c72ae023100a66022d18dba0d611a34547636bde9f2c73ebf6ab7000a46c794b07dad2d913f683919ee74b87be1d121ff446307e8120302047c435bb5006830660231008f8f5edb2a3ebbc82ef1c49e68fb632ec15fd275bf9ba8c04c73e97b34eb4948413c4efa6bad2289d5b7b29efb6b79e402310094fd14350484d78b73b1d4274137bc80b6bfe91ca19cf1ac62077109471bb458347027e4c3e9d402ee61889d06bbdfbd0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023100fe545bbd84ec1b18b54392d1ba4c416cd73803edd2eb274b28ab0de61ef54e79f9eddd4309553f29deb30285abd5b6fd02302016f686c6cda1c404657cfae67e8b2d1d6a687ec12aaf07ba6899c74d2b75e58ef8e358215a233a60e2ad4b8398e2c20302047c435bb50067306502301431b54e550ed7469e4fecd5565d531148b7a1b49b908f560240e7af6f69bf55e30493831413aeec93849cedc4beeace023100aa127c7bf63568ec5177dbb8a03949bc5a89d93fca3cf1b97d0b4eb4f9eabc865b7ad089333fc2bc8f32e053cb14ff100302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023100b8110c60bbe1451e524bbd709d63f394b1fbf9aa5be136137766f75ab1d630f2306555bf07f5479e6ac2dbe8a26c60ce02305da3965233eaba942a598a51dc9168f11142f35e58e35f72d6815aac9afa4a9e4de00236b2adce798a809f1620ef5a2b0302047c435bb500683066023100d5fbfffdfb494775a60194cbc609640df0ca4debfd682b551c1efe6a3f459825c920477f8bedb8274e6fc9603d6659bb023100ec2495179301f723ae404a127f0c5942f633178e472777bfac0055867d8b373f0766986c375eb6dcf0c2b9e439a5fc220302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023051a5fc0230142146cad0a527bb562263fe45dca22d733c1bb7698998ba0b9977bf36c2d3979fc5a97d39f0dc97d3021e023100fa1d935790e978b7e8bfb5ff89d9285b354da99d02659a697fbc33cf3b7ad6541118bd0a744c7a5e72f7ccb1295963d00302047c435bb500663064023010ca92777e11beabbf1aadd9cfd179b80b189cee65340b3b3b195f22d2306fe25e5724c9908d8e4f36a981453cc9879502301da4e1428c9d72b3370780a47b82838e97b6f102ab4bf8c739cb0525c3e138ba1244b335c76371683137b550dba9c0790302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50066306402304e3fb9dbf561adfed1cf44fc12df099bc5a10fda136ed0d36b3200d9dafe3d0de54aee6fe2f70535bb0d59df11edde670230333058ec315ac68393a1d65560df0ad9e92b59fbad2a23a5f9e78e4a22d7cc145aea55256034c041002eb469a138cbb10302047c435bb500683066023100cdad3190b90bae5af5aa3c3d705d6225aa537cf2f9332f4ebd21d7517d96dac367f97d67d63fb263334ed284c53730f5023100e8aee690fa240dd324c956fd208c4dab0c3b55079d39216c75260f6bcd48761ba2fefc5bf25187fb1ff94d0616a071550302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023100add66051e2dd0388f84c0b1a5270cc8b2c131ab40b610a40481861b6b71ad5b3653d01ff662d58c060937e06671df60d0230500aae5e5c2e94e842d939e7c2ab90da08164ec7a26a2cf0e83b484a46efa88ebefe85888947f626c965eb7c214a982c0302047c435bb500673065023100cb05f39377d106edfd088ea108f47ffd4cf5ba0ee8ee8dd3d8cf0ddcd077446bc5221c6537292420bab80f66a9ceb5c002307359bbc0312b45fd19bacc9bdae06c04674f5f6dba021a27263a62909c26b9f5b1c4a00d3491dc5acd71886757665b8e0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500683066023100b7363d3a2f70298b1e8af6006f7a551564df9845ff58ab90af1f5d070fa2d1591aef6dda1358b719f90d925de5b98176023100d2ec92cb347eea50e91d03732af96e376aa272bd253815afcd6c6bd406c2b5cdb06ebee33a76d88763dac0b005bdc2790302047c435bb500683066023100d92d8f738c26190ddd5720cca373e01563c3bf036b91ca50c2a4c0798c0b248082016b4a4e1eedb7502453ed1bd2e5b6023100ca79603fc7eb3e2e7b55cbeb9246d523a9b4d7b76611f811cf89758e98c0ebb683a3910381fc02361fef9dfe4d1ef9f40302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50067306502304bc0af02b8c33833d7166447f484ed346be46c4427e100a058f88f9e1df60932f1e65bec53e789b90e0500c4a9d6a79f023100d310a254ef3fecd937addf8e4dbf66072f64eb8412ef46801e00c25ee10feca4c8523abd6375a542c9e93fbd394e5cd20302047c435bb500663064023055138398391aaac0c2063bc6acce27d923355c48f2af1e4a9501d1a105e3d836214ca4692d1a0afb7bff97ce249f0aaf02302c22fc05fa6798fa0d5c79a347c1a49aa4dd0a1503e497f84eba7dc87a6bf7a22b4d0af771b50ab5dcd0cb401fd6e38f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50066306402303f412703adea82f2da02cd365fbc025a20126f85e4c817e7c4f4bbc14080edd375ae99057f20a6b18c54315946131dab023012eb62b3a4e8b08ee6b547e59fee6a6bd684ea4c4c97e184f0b09696311a9256295d0da96ea1da2a1b8e95fd3a160cc30302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500663064023073cecc9c481fd7ab631ada25cb1538586b47309ad9fc0b40566924ce75355af2ab93f21eb4060e41383697bd15b7618102303be47b2165e5d25044e2723f3c73274e3ded51ecb6785572bbd9cc27961771414de7d618be1943cb292a33359d25d6be0302047c435bb500673065023100f2a373dc44ceec281f6aa2344e20f4989d05e36accc7a8e4b01285f6e175d7d56e88b371c9f5498fa9f9bcd7e81cd15902302698f4314ea0a9323702894218f21c8358e0fc80ec5ff45f962ecd958bff44f16c2b7321590ab68d44403933e2724aab0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500663064023056599795cdb1ce928c361271bbcb37b2186ff844d5110008f20553bf1955fa304c8c25c8e230efec3f8f9da3f11158ee0230018b51f800b8627db9014b2179015cd12cd79e5ad9762dbf8b07b8490a7f1257732c52552719d780ce25fc2efdc2db4d0302047c435bb5006830660231009baa846d8e00396e8e6541ef2e9e69e1146d4839b461d925e3cb0503fb1943e590adc5c0facf872a980de358d7c9b245023100d8b0bec29b57010b3ff4a070e061b1f943910aa9aa6d1cac9b321ea34bb20277572fa8fe5bafd4a535be279ce95c4d360302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500683066023100e4d81deb2ba7478c954047d3b4bfc9e9d154f7a1b13eba5441db6b6624b87eb7547d57913b643acae9b0cc02d9c11572023100c9fd15dad1fc133e82237f9a2bd5232293e3235e4be26c6b627d3e93e9644320781d6c352265b61a477b68698ec159950302047c435bb5006830660231008e090dfd323d25af99633fa175d042810c4e10bb1e5e51fcb5ed4eb53dfba31e5be067c2a1718623d6a36d9e5d72e627023100fad48f06fc09e6132a75a8729ccc9bd42a20dd94e95a9500e2e3f9703e534fad8a10d1d7de1a73f6e7c1a0a571502d690302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023100c1caf24da92bd509502cf1526a9915d8735cdf08da12273a3ae87e4d9dff64c506f901264b226e42de032740939b3712023047f3bd89aabb4fa840a6fe0cc5278d65fbf0736aec1c6e1992d4466ac94799492b467b13ae211b1091f57cb2d848964f0302047c435bb50067306502303aec04034c5bf7a480c3ab6833eeac78ca5ac00fcc3a85320a9483d71b5c2fa6f5ead4b4b582e47a3bd6f5f7c3491c17023100edac9a8328431a6633e494ab78dd1af1d2cd1fe4ca8c6758bf0778d9f6cdb170b8477674db12143b502ed30395145a150302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50067306502303919bb905b181cee286a2958724b9011eb23dbb78190904173a3fdaec88478423ec4f03ccf4028f4f0947b3e94a1386d023100f894d805bd13d2529be6c9f2c9cba7e4b823614894b1dac792de46ff65d8cd2679d4c45b55649581746fc70c54af93bc0302047c435bb500663064023021a4fdbb028877d28d52939b25adb06c3b532377f3215e1f5c34d892254bca47c4cd2f2b8b86489c94facbf4fe8a359102307bb48f3589123a08fc460423d807e56af89c9bf559022cc622c84c5ff9afe9459baf2dbecf83c14c6e497d3b90dccbcc0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50066306402300b6e64f491c43bc870e728903de83bd3fc31d79138d4e755801aa28bbaaa48799c251b2e5d01310a8d79a069fa3f2ed602303a5af87c8eb82c92945c37c9cc4748b75ba75a5da219ec0c45cc6dd5b8378ac3dc0573ecb5b0de0e7b8fd8853582e48a0302047c435bb500673065023075cf74cddbd459a7aceed4b000cfeea97bc4ade171a9f5ee8785e88c871cd8ceb410315eda86b7f0cdd2fb257ab25a79023100f6b662058ba1a904e91603301e57acbdfdebf96b9fa75569588bec6eeae18893dd3dbdea5797adc3024456ab79cc4d110302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500683066023100916cc57bafe689939d694dc059a05754e66019b73d8a664998ad70146356b553752512099cce283cedb4e658802943db023100904183c9f41aa61e1b3623f5c3a88758e9afd1106c724e61d63d7a504d3ccdfe0a5f6a659e237d0f3b785244daace0760302047c435bb500673065023100c926b62671ace8467a6be5664ad50ad057e2cacb1cb9793574e93421f7489c3f38e80f685cbb68aca93f96db6efde4dc02301d1e97564c913241cfbad2246efb9060f45647cb7b80b191d4709591783754635a8cc654cb65704b444019562bac897c0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006730650230399dcfd550391458d78b61e9eb9d45c864ebabbce8af1c844720fcf40b8021c962e4d0e7e531cd9ca57bdcdcb365f8dd023100df3016d54de6c60842fb7e9d8f44e79fb69a7c4ba9a757e77c228ba752d54fbb5a2b13f225b6496cfb612b65c27d23900302047c435bb50067306502307e10fb6490cfb878e49b6daac44871ec337ac5a767806383b5176acf0afaad510a6b4d7e14639959e835a966420c5a64023100b091a2bfb2e777f69c6ee2a0c4d594c4747a60acec7de0538f05b02dd73f1a0ce626881797d588b4b98dff7318a505320302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50067306502304e7f2b507518ffe0ca2e1e79f0f2dd4d213eb782dc56981bbad7a81da05930be90114b1069d2fbc7d83b6460fcc15052023100f4ab09755d324ccd0494381835102832dc2d2e832f3be12eda341d2b81faa4b818a888a7149951bd6de1637c48e4906a0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500683066023100ca6a6f93838ea567c4a1e098cd04789ecb5063be06159f3417e33b7f540212d4f0bc140f561e5e12b3e3aa3fc7f34e2a023100f5fe69fcb47c11ed2a206d52ab4396f1dc611a7ccb36f87c009caef37acc7407d4ed3b39abfd673bfa268c599b2cd9f30302047c435bb500683066023100a93721223a1b70669aed34112e166e3fcad866f4f6181b0e1cccc5055ebce1edf3a01b1743787a318c961ed43c3b4268023100b37d707f2540c0d40e4d587fc57a59431d4561ea2c1d0893da178c950bfad702bfce97f54840974da5e8eea22bc027560302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50066306402300d1d2de6e77df7109eacd4785b308a918ee08fe0dcda6cd3a6fc54738e9bbaa2bb271404fbcf37d22b92eb5006c3af7802303224799f49bd5c6cdf55ad92b00691c9785399efa59477b7e51dbd347da667e53b71230520b922ea3848e2e5d7153df10302047c435bb50066306402307223a30beb39ea706aec6ca4f65928b426a6dfc41fca539d75eb0748776a51db072722f392228ee85bc77800050f5c5f023031bc9c3e95140aad127657ae66654759a15eebd2c25a3d4d5832d4d2ae906ba5a661504b3e896b9dd3a7d1e19159e4dd0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50067306502306bb1740476c2435d052c815b8a0e7d85c6c738a73531b4f09f0e8941116ac2577ccd7b12cc02bf88eafdd85f018eb009023100aef6dc65aac99a3f62f6ec4dd3b53d492680e061ca48814d78155b44796456abf6166b88dd7e71eed7af54309eaf65df0302047c435bb500683066023100a7ab51401004a5a9fa148feac04517e9b6e8ee556ad3e241892d9ced59f00df1e68f4cb2d987f967fd31f6bafd9c19470231008079486c1853b75a67b9cb8435696cd396af29e03e85e41afd20a896979dee04e5b7b989d2f8e9c631fe7f105b56f1750302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500683066023100fab13f685dc71a5fb19bf21ca9476b0415f7863850acd3a5630a4b82b0fb2d0640848cae00334c380c42d532a0b405d3023100dfc1b17daf29341aed52c2e7c6f28d4791ec572574a0a63e56fbdfc9d41d9b4808aad28488572176403620a549cb716a0302047c435bb500683066023100ac9d0eb320e6266b541fccc942c116ba3349336701eff287560382dd44e6975488494c63cccef6a430f72e6a69b7504c023100cf55a00b4c629459a22ff86714bd9f9f2f253e8ba1c426187a06c91809928a9d71d12c07c542002a5eb5937cfb414dd30302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50066306402305a074ae65e90670d111b4460ac7aa99dec94703596287a482f143d7e2854c9f8445f7b7e11df5713d6926a83b47d32200230730e694f3c87a3eb15d26d1195834939a1cb44147195df15bc0694cac614b0da58e115384da274e6533b536c4819fc520302047c435bb500663064023031d3dc1deab64f0c75f661449af272293d494883a451a3409f8fca9318f890072c6023b4aa73368525363ae4a70bccf802303a3c4960a2b677e2d59764ca4a1c2875c5ae28b4a3420062a5bb074e7c9b3b71bc7a109615968467a15479138623016b0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023100eb8fec2124bd779c79e35aa8f561d6687e845503e32df162fffbcda8bc6def0204bd8d0a12c4f900454a6d2a5408eeb40230559e5b35873b9f9d1ad19c19519cfc7a60c06d3f7e382aade21e4c285963fc54f996c7a0778b44bde2d322a5893a063b0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50066306402301a3e7e54002a4705f01260a188a6c74bc0ad9043afc1f70a670c87a3c46f71e225133e68091a2e8944b1602358267fdd023077697a29beac6fa5bf61b9b5789c25b1721fd255ef875762a870a79324429e4d2cd016fac0f043293825329d355571b30302047c435bb5006730650230109ebfdd1947c68a11acfd113ff6f1dd7e316e677bf17b41088372a4c258285ef68e4bfb2de7d69bb009e17c133d3f99023100de7d4bff2a575305376ba38801a17006511a6c59087cd86ee4e4ba9d51e23dd4478c7f38738305018da05ae6fb3ed2f00302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500683066023100ec3e82b0f82ef83f0dc4cb9979b3c6d4ff80219993a7d2abe5378f97474e7b2b54cca0310bd13b7d66400b5a5279baeb023100e6017c90e59ad0a7437cbdcd53af3c6ab86dc128ecfca48247d84952a401e3157868b960aa11bbdfcdf4e36650d141bc0302047c435bb500673065023100c95e085a2092131c9cbe16ce0fe46f19c71274006f719a2fa7694b322612a4bd340a247dd5515c78f83d32bd64e92ae1023052c3da69b6c7bdcb689cd6d7062954767cb1c78b103bacc1c14f826be72d0d52e01e3167c23067aff86e12d7173df4860302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006730650230065b542340859a005de3a00808f5253e5516551fa518f7e74cbe770fa3eb65b529a4f24075f54ca2fa1d6dd71180a464023100c59b49c6f5d27d8180c8bfb565c924e01cd12070d573e42f888474003982007076dde06565e5bfda42f81264d5a245ca0302047c435bb50066306402307683763a44436f7630bab4308a4c8908c74e21ba1f15b62d5788b8a678434e178a234bcaeeb3abbeff1afbecf8ce855d02304a4024b8d94c0aa1090ef2376a7d04cdafce68aa13403241b4a86a1670aaa987ccf4f26c22717b6b717f90e572f1e5bb0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500683066023100b23a137edfe1930f00a22a9dfb1a29d0bf16cdbc4d3523ab90a8c404eae1521aacb2305872710d452eecfc6ebf7e0105023100ea715bd40e99165e30b267861532fe4d7df834ca172842c6d2305a3f0daf3623bc6530eb59126055339adae29d418cd90302047c435bb5006630640230623690a911b09054d3e9cff3bc8b46024d6fb8d468411f98fffea7edf3bcecce1ee0d3921af1fd289b685bd8e8f04bc7023061b0e3def7ab5d3b9a8538d3dd1fb7dd80bbfeb0babdaee3cf5121752ced3b502aca0b8065ccacf927614b47487f017e0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500663064023073650c4256ea772a1911a98b6aa2475a6ba554289c42eb98812bac3f94f2f617155254caa320ae1bb9c18f5637df5ffc02300f700c889b263287c086a6072e7131530336f580a388d65ddc7207809f65d956cb950f6857a4d2dccdde2c5e4e744c0a0302047c435bb500683066023100f4be664a0f1db3441d8753c76adbed0955e15d0832ea597d0fa020aa668dbf2dd9bf62336a8af4945ce084aea0772e3b023100f9bb5b56969b1cedd432c8e4ccc0d1fa259828dbe3922ed939c5b5c0247eb2ecaf90cb624939af0d3d28cd5384985adc0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500683066023100ee9e41db6271997c312832f6a1d9815000bdbf2d404e329ee5444966086f00d94c55514342435a543fd9352531f8302f023100a3945b16a7ab1bfe23376b3e56ede74c1506a30b8505d7dc4f0e3c0c21c0eefe677f5fb165b886f0e40ce09c8ed451900302047c435bb50067306502300819802e75511a07e67455ff56911da396db8f551143c8b76ef0cb4b9bb1495398a08c26b4760bff4584615e334e2cc0023100b31239a50177766c56e2db82fa02bc01961379658239b8ff1902547688d2953989350796bed983ce3b9defeebe6ae2620302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500683066023100f3dbb5e6de873e6897f09eefe4944e51abf046ab6ba96025fa573943a82793471b59727d5ae5718cc5720029a6438f40023100e880d88cf62198d6baaa5b8aa80b4ff5cf58a922922e6644e7dead064e9cad5748968048f4bc7515a6c81fb5c18bbd330302047c435bb500683066023100b2456f32268b938496abfe56725bba701095653ad786c847045210e155516b83347ed9ca601a8dd814e0b3ff57c7e126023100e6237c112032351b755a5632243d2b7db79083b827d3f5fe144794d607cc98bb3ff69cb4c92cbde56a3dab424a9c32c50302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500683066023100a08aa83e80b1b4b6fb97d05ad94bac94fb42d3f277b627a45a8a1c1a29e19d16195c5c78f8d42e8e2c6fa5e13ee9e1da023100a3b94c8fbe9b79ca059f3a6d888a750db77ab0c9c98c5cc687cfa9b641be4a9321dae3723cc9e1dfff17e4a04089b5fc0302047c435bb500673065023100d65057c68842a3ef0dba52db5d16a25d3dc78899db34edca9a9edeef7b956a0c87aec4be48948d8d5a29c8dbee5715e1023037f47f3e0fc5ecfa5873800f0b7fa45580a7f169b91cd89377f6014e974d23e7297afa676e26f10daf2d461bb2ce3b400302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50066306402305f0216a34fe1f604c9eba5d506ac351581afa7a6bfb02567dfde954de4da56ab5c7b169f3971b15e9000ff422756e84c0230469544d92239d7848b6757af10b2d9a5d9584d925ee288212dfee08baea633730de4563a33a8c40303df7aa55bd0209b0302047c435bb500673065023100d878c7b4c66ee2e332df59827cd0d39bfad7cab68d6b0afc2a6abede3cdee9427f6d5f80477b16dbdbdf06fb6f505a7e023077e363b95dbeef763f7891ae6c5c9d9171183281847e69157503d101b1db5c8db5b6a7bbd391a8cffef4d754ad80e86d0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500683066023100a4c483e5218a2844c43a9e05bebb83a4c5611035064cb7d4242daeefe8bd6572efcb6154b7c448f3379534fb71179a5d023100d0329018e4e207ab1e5fe827bb7dea148c57b6f148ee69a026f50ea4d19baa01c96bbc5baa106f7b1bdd78537efe0bea0302047c435bb50067306502306960188a8903116e5cf01bd41a51c842fed7d0101698bbb3f912b533150d136cd44c7cd3e3a1f9fea82ad396f7524d50023100f7ec3ab172eb8ab9476dd38f76aa21333c61cfdc9f202902e20306623ce3fc5b2b67f92e743fab75da65bec7878d8f8a0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023100f9ef675249905584a8553ba134a70530aba953ae7d44681394607a974fc2b973afe4e07fcb0e2d44969e1180ec574046023012e57b209b873e5e41b5405992e5f2dc6037060744dd3ca71d4c47ae404bc2e3828652234cc34091f3aeba2eb016a16f0302047c435bb50067306502307fdbc5d1767ba60f812c031eefd1fa36e193f6d6db8d26d06022223fd8efcdc1d694a6f59aff38f69e39166284f62450023100f325120baa7c31d78ec669516ec8161d2e90275c654377d173475125099b96f84bcb1457cbb9f88ba86e88e53752f8770302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500663064023045ec67afed8231cdb121019d8f85464fa221469b2e862878768112cae276a7c2c7c95ca1fa3bbeafb8652fea892822530230777a79049294bf3236cce95ffa6c2bb6848ddc57051912cb5d5696ef00315d314c80fc9fb5030aaf4730b66d3c9fdb900302047c435bb5006730650230551d90b51413eb8710a3667f9e9d5722a8f07d5f71d809aa003e1d1271f9ca4c15a18b6d8b7bc39ac2d6d3cb3fe335b9023100cda46a64f9512f76f7e68589607970a07b2f18574e137ef564e3ab2b17cc118f69f3ab18c638a152c9e9124204d01bb60302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231009ba8f98dd4824d037a27172f66306a5a9d443eaa226cf496a5cbff2acedd19e61adb15add4127178b5b4d0e350f0d8f5023100daf7e18d3ed32352bef4d3cb0a4c9c23fb85422d396eee4be07fa0a47c299e502bcaa2b1222310b0ad38938130a2f6800302047c435bb50066306402304bd7d5c064d17da7e542ee2f2b5f35dd4f8d1efead1aad47150cb315ef92b265c4a0a089b6a7dfbcbd7a4e9fbda1ae30023031791beb2fefba8fea0c5a0a0a438e4c13dd15672b984b288186ce0adfd515ab25ba545a0b4758f3d78345f310ef9fd50302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500683066023100bab0f62a8f3f97320fa93ce6ab28b94059db9f6425b271cdc7dc2dd34cb844d14a80e2ec30c6ea7fb791ef4cf82bb856023100d177e50995eae7b7866a1d451ca577be0ffe43390ff3494e09cc52d9c70a5a329ae1172f6f1509fa3353b63212e7fd010302047c435bb5006730650230240eea77e77bae22ae1bd15848b2e9eb6851607326dadd394da82aea8c91b3771810c7d52bd721e2bfc01d52de8827fa0231009df41c7991473eeab6f2def447852fe12786471da45595544031177d53c3873a22bd0ed23e169620cbd6d858af1f2d7b0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50067306502302e42038cb913097e96ce02b390f81658b1c31fb2930a6ccc49b7b005a7378ce65a8bed355912a65db42e0cc3e6d2ba19023100c8060e390c43015679d14210a1e15381af9b9a7845d3af5ab465323ccac0c9418290e5be758369c01656f533817e7ae20302047c435bb5006730650231008888cf03cd0bdc014d497637c254aedb48e96e655d5e1a97796cd55b7d98156d448754d05212dccf774614321bfeb27f02300f9fcf17f2bef8fec3e496fac12cd6b617197095fca40242d8df9b28004eb81fb849813f11d994d8165b2bc899ad68da0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500663064023034caf3035f743fb0b026bd5ab89e6c3d11d010a818764cc065f198e124e148a5d6a324c2f8e9c658e25cbb1c4d8b4fa7023079d60298916ba967d7742d945e99e961c66e5430ad96cd4308851f8d8f38776344b64b40f79127bb8d93ba887a94870a0302047c435bb500683066023100b83472ae4de9123d2b6c8ba1c48b013531e532e8ce2162a81016c7d0752adb261c714edc4f0f071edff93ed40043b73a0231009f09a909af00e4e9960b04276e69210786a873647d4c247c03000a389f2acc61fb500c38962747f74c2de5ac5828cc4f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008f6d419600ec2a5e34345b96606df6962002c72e32b1e52d7016f960f97e78431e9dd6a8200ddc61dc594ddaab35d9d6023100e9e1f658ddfba91c4c2f304f32876e8e29dc6bf6b4d8203acde836bc1c4639ddf7d49358c951fb6db066b768e5e2b9ce0302047c435bb500683066023100d0a2d2998e7b02ce2243a59d25ee3472103126b681d4c4d5ce7706320e66874e226471ac7fbb15533c87c25840f1eea90231008edf69e7fb4500e5987ee71abeb8449a29544f662ecf5b09919400dc1fb728c23f459c3f33936db54856ac0f73d7abbd0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500663064023071048ec7c4142e6365f0a314843287f42babece5074d3cd84ca70832f954406dd8afc7319803cf7838974fbce19f6b9b02301b274ca2eddbea1a7950b2a4f66cde403b38580e225b13979a8be73f319b1760dcbc1a774008408a75330706ec793f890302047c435bb50066306402300b806b10db77b352bfe87db14d89bdb8b60ad2fcc6523dae1f24938ef2af0f3810e01c686364071b4f9a4962ed488b3702304a7d9558119db348a33f6f583780923976ed44eb9386380e888e8cc421a9e289ef6e3ad41672e5fad763199810acc9da0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50067306502305f3412a32d4f3f3f19ada47f715ba0a106a399d22793c72a0ead35102cf2ef4e771ac79312c3a543a8a5e913aeb074a0023100c01d16136130beca5a7aafd7ca3b04a42fd83699012113d051d77ed12e7054e474ce3a38502eadc60f1ee9d1cf9017150302047c435bb500663064023052eafb5a41c804b88de365b6c9e620c7cd803e4524f62391c72034f8b4f655e0b33a60c33b8e85917a50d3c2d69c6ce9023060564a72cabf62f41b1007bd510219ae7a24ec54691cf2167838798ffeaf103ad54aad62c52971892111caf0480bd2860302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50067306502306c3888285e908a130ea1ee1635fe037695c2e5e0014966f6d673bb3fdc5b50d7d14ac620e4c82f54cb34026f42405b75023100f15e61a2ac39aaa8c5e17d1fb8bf46b2545ba24dfd243b54a98062c8d504997e41e99c7b21e51df597ef48e5d50cdd940302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023012fa6bfab1fe7121f09c126e4baaa29997ae5d5d9378187e6750b7f3d4d572e1f70e651ee5b118e520b8454da14fdf04023100d8eaf041c100a0c4ce3bf26a19d6aa8fd9254bad95478f2e6b561efcf41d2e26f3a1eadd389a5fa293450cf2c41713600302047c435bb500673065023100c3e1f4e79dae7ac2991796458f0316bbdd3615b1b7a162c235aa2174cd35714e51be785c2ff40535efa4584471e32d8f02300f11a019062e1bd595ab84df056659b7010d27a9a10a4da9942d32457457a82b7e32d92a66ef79dce4976334bb2152930302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500683066023100a37a5b45d932c7ee8645524c300e71c80394b0f8c8f7bfa465aa58dfa572ce781e7ab60c3af5987c5519414bbc76325a02310092a636c0d094769dbe0a09cf27a3be9f939fcd3a6a9e1ae21ec26ca7371bf8bd051bebb1500a655dad853e5827a69c950302047c435bb50067306502310098a888f644c9919878ad7ba2d8ea664de865fc0a6ff4c129756f83f6347ae57a4b9aef3b7de14308d6e63ea68400e9cf0230293501177c26c56461ca4212f1820afa8c93d2ba39ef0d0a5f82e62bcca87bfe9576df71034e1371f63a4d9c97eb45100302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023100c2b81bdc3fbabdc2a0390acffb4719ddabcc23de5b0edee827a81fd082766567b3715c1bb66a9c3d5debf93d737500d802307fe680d54ad226c6a0649c177d7156831ca8edcfc72226d33bcf570c66faa334f66b0d0ed831ff6c980ed8cc0d4d98170302047c435bb50067306502305d6d1721d344bdedc4427ef48d05d1418c850e423bd022c74492bb46ad53064d73c6a5a38c83e013b849dd840af5acbf023100ac9b06d322de580450759ce4afd81c9192d1df40d9fa681b33dd7bac96b2fc90f25d2a0324817a7c6da1be43a854eddf0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50067306502304ebf63b366d609ce276d58e49687ba25121e1a58fec575c8d98a6f8657ee941989656ed0a1938c34ae5f63715663d9c70231009f9de29016294f6c3610c2f27faa812f9518c5bb49fe6716375a996fb0b17570962059c04659bb7dcd876a5d56652e370302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006730650230701c65cf5b3d17a32c6582b9d23e349e2216389a7baf311ddcfb8248f1202b6e35bc961871808be57e342257e4b82e34023100b6f104ff2e90e09908f171e88a86a24b0eef6518eded3fa305c68326d34643ef0a59564d7aa8694d53b807f182eeeddf0302047c435bb500673065023019f7e32a76dc656064ee089a500530aa246bb1884058e90c3628390b1c11eb2eaf0999abbc0295c017d9a907ba840498023100a2b5b65ea8c31d8e2a75db41b0bdc35965547a6a660817d6ea8094b4130574fba949335e824ae9e0b0beddcf9e00952c0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008ea2b93996fe896fd9338ecf910db6d7c7c8c413deede9a515c8b598f9d6ae3b5d71775420e02fd11e2b4667ecbef868023100c1a04549b8731dfd3f3b3dbc1f0f6fe4fb9b2a1f1fc13a7778c9d66fd79ab710708c034a2c51df037a783452c5a9c4f30302047c435bb500683066023100a2a5f3ca13efe3a2744b1f75937c8f93f78d813ca904590b638744bb63db2c309a81a2eae185e4e6e74b45c7e483aaf60231008989232f708870c506be660e6b409a7c518ecaee3e23d25ae4cbe4942ecb70e35faf80227cb5383eb12f32a6b892aa970302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006730650230343f0354d8384dfcb636a9f72932a0b3104719257a6149146b4da635800ee16e29edb2158b6acbfa5b58a6fda2a99f0d023100cb20d8dfeb923fa62bca91ae69df759ce4b75afd7aa0c4463f27be666a37fa43df1f7d4fbfd93cd0fe6acc9856fff49d0302047c435bb5006830660231008b874bc9078b6615171cae170a62aafae6df1c6580dc89651a564dd3354ecbc5bfde4ce846b2a41ab3146f2fef233d89023100d59ae61fe4023c85fdc4dd84b7098287915636d2eca01a486efe8821bc0697e40e6bddd8604fab0c6ec6460d5310baab0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50066306402306c76538625b78e2aeb74c5a5511adfbf70eb2076ba1d36a3b534b83439034393f17edf6dcc7f9816c80939958f06012702307036831c6bcf790ba7329260563b70f66c8433a8fcbc2403b1b79a58fd4423c7aad970103032f0cd0860c61da0eff76a0302047c435bb50067306502304051a8190c1952bb3a74fcba9857bae5bf8be1207bf7a9a559c80fb699061c9275e2c972243af738fdba80120d03e99a023100917446e73b1a719aea35e997f472d54b7f2c92bb7b654aee02ce8880561d038197f12b3e60b5aea65a9a1fbd438f2aad0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500683066023100ca0b5abc303f25b6441dd3bf98ca449832662a63f60db8878a79fc8d5fbcbe896ee1a6397da4c4020983e891228843a20231008f04ee448632081b93d5ed41e34475ac177922eef5ae912badca74963ca4c175619d71c23a7dde0b5b2f24a480dbd0d90302047c435bb50066306402306ccfc17378b3eb311c395f9a3869a0712d90575871d9c900368890ad583dbbec324e5db08af4b15cbbfbd47e013b75dc023078c0b5543e4709748f92890ad2ca5c443173a70b2b592169f40f25cb0ec346d6fb5fbf62fa3be3a85e2775ee7d03cf390302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50066306402306f4e2d537e46f21f312c0c0b347f9abb77582825c1bcecc855301eb8a1efa6b3464033d2cfca29cdad373fc22119a0900230124859f57213346f152a9ad9529297b933c4d99f9ca007e000c7fd44b96378171620a7854908deb7c980df7b6c67fd0b0302047c435bb50067306502305c426cfc0b4a6ad24031d24fbe2c2e224eee5fedf157f30044aec34686bd361df798131b2636f237780246be91fc7eec0231009a5e80da624e42e316a01e8047577c98299e127ccb549af646d1f8e00eac630814a57f85164efdc193e5db54fd7616bf0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500683066023100cb0942700b9dd2484471e4b2b698799f8cf9ef91718f76c754fbdc5d3c9a1937dd2ad564cdf07856cad67d7e1c1d5d7d023100988a840c74951d605da6768dc1ba2c7f18220e2a0bd429e833756aa3ec894642b4683e7a48ba7fe42527ab02db7872d70302047c435bb500673065023100a4b4c3e0c84589a237cc06ff937bf36240e032fb4002c8ab637ced454e9a8b1b58dadc6281b82c332a1974c3111353c4023072f5e3c7d269114457184807aba123747588b1b0ba33ea902b98e1116f1c5fc3088d59e50a7bd466a49dac41f8b9b47b0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500683066023100bb13080c48d56024be5abbd674721a252485a2615fef5b70f8e762894f759de142c0677b763de5e0c18d882bebba74fa023100b56b05354631a90a0b7ff815dd43fced40c147d29cd7009e78c4e34c4ae41a336bac9751293f8637053f86f0ff8a163e0302047c435bb500663064023052f5eaf77eff97f0ca76adae5af75a494dc71bc39ab76a92fc56844ff81b6c9ea59721a4821d994bc8ef93f49ffead9702306765309916db75bdb882ed877f0b18a069c4f946a939b62989a388da63de5b6e6a02ece03345e226fe2738c4202b19e20302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023100bae6e765c02b549353d02b057cae15cd4291c76c13c746bd2f162cb78a4e0915b05246f02620d14248fedf4e7b008bc602302ec97fef746b090f3ec5c1fe050b256a3ef59ab999fae54336750e567079dc2c6e958ed049a5e88f7980877c160e8a320302047c435bb50066306402305f6262f7a8c7eef57c4caacf5d221ad2ff63b41747ca76de7a1ab52c38837e60824ba877d10adcb787aad8605920954202307c99e34fc06f595733a90bbcc091a648db8a23ada9b447dc5b1fbad635e69b65e27f48889a76ce3d9023f3c5e3eb25150302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50066306402304c0f02e3ea2be1dfa80b6c13352c65cd6c4566db930017c3775d32dd7d9b88e39afca43e2f0ab1a405a559ef03038caa023063f79cde5d201fd39c2a429e169e6641513316243683f3b759f17b4dca8e242cddb9b0e99e95b63fca8aa7d176f63b250302047c435bb50066306402300e3fa7a200057acbc015a689fb8758398a74b39710151865bfccd7861375eea744bd2b55600c1d9a81ea681323e48ec2023067d33ae8355c459ddaf80726251cccdacc8e784f063d5a4af23da01ac04f5dc7f5668c824e6ed42054bc1ec0b52d730d0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500683066023100df43f40ffb7372e53c52bd7d46aae1f5e40d86d005d836fd5167eb2f10d6bc2759c21112f3a2ef0e58cbd0267999f484023100bf3c59e251762c1552ad5073763212c7e83f868ed77c0c821e2233d802f43cf82d8918ba106094a0d25fad99def3fa900302047c435bb50066306402301a7b3bed37375034a7d7dfe15f5b78d5264cf608c03f1684ae35ae098d690cdeab1b84e5c6b923532b63f3e8b9c35c8a0230758c3c84a42ca7fc5225f66abe21447d45e54688e114670f09ff031a563e6145701efed6606ed0ecad1cc51ed3d41d910302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500663064023057caaef8bf227bbdaa5887ab7bb84549b2ba4fe484d3c75988a9067c98cbce976fb01459e9e01abed0c91e3074481757023067254741378e7cb53147447d16bfacb5435f3c6238d8abd7d6d66d0dd2e9df1637c82ce112edabd5df4f87bb9dddf37f0302047c435bb50066306402301682a6bfe39db08b4c5bdac135e08c5e41fbfa3f2fe334f5dbc60731083cf3a467a7399ffaae22b6e77270707689c1480230550cc175d05dcbebae9535600165a488012597ba6275f9094563e6e5c0e5f237703ed69508d2d802824c7a9dade0ba0e0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500683066023100e1438859173cd3c35c699c28a337c77899c22be2be828730ca0a17048cc6322fff46b049147921c6168a1e91304eeb4b023100d042561bb9108319d75d6f81bb431f7ce0c07db454c7ceeef77f5e942ae0ce8211cde28f477a1b437606621284612e100302047c435bb500683066023100ef0a7f5007e81cbcccc1c07f7a83635655a8e228211806b0b5946d620450144d8aafd4b258c6c01e95f459536ae35bd1023100a8fb439e815e08e83bb11f1d52cecdf6306ed16c4bd763d4bbde0350fd2f42e2d737a6ea419b169a28db88a41185b0180302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500683066023100b43e06df02bcc321efe6446bffe2078b959c2c40a82e97754b0f8ce1a4b1486caeb3ec65c2d66bd0e8eb89eb8f655cd302310083e7b2ae35ce09ac584e7da54ba807490544a160076f58ad3c49b9052780a3d640eae82691b7f25869b63c3d503931d80302047c435bb500663064023066fa840d1664a0b7510a322ff1333a9231caa4b6c901b82f75aa99fd8a271f75664b975d2ebcd4ccc98f16649e255d75023066303f3f405bb97c41e5e947674e1fb46dcc5c3ea359ae7c6d3bca25b4d1275a5c6f3c13ef96329dd2832be87486021b0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500683066023100b756bba075bf57657c7c3c537e1a381bf143f895ef462f56c6fb6336954dddef7d1d105f0594f8ba0320319bda1d9cdf023100c61c3e57916df541a114b224a1a59acfa921d24967aa55f9f396d20f567b458e83359f7a5dfa9e3c8d641b70a534233f0302047c435bb500683066023100d9b020892e0efb1ac169b79e44e699ec8789441be3dac2e92d013460063e58b02d27d0458d77bc2fecc6a17ff709b6be023100b4f1d2b121b9e8c87bb08cca4874722b06d86eb47b182ff7f4e6217ece1a1a953cb9584d1339553e02de8335085493e60302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023100bd1e16a0c2fee4faae5552590479d340b3c9417eb52175b07e0124509e2a800ab0ade5324e78997c83b2fe24b522e032023051837d381793b34f26f29ec05e3b7af8a98f08333a09230208f296d922fbb7b8ea5c6c6c7443e4c4ac072ecdd8b28f560302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023100839c1f29ae1e965c5c56b506f149f382704f64140b9f552022a5a8a179c6d16be74b9047c384ea4a6fef5b4d13f732d402301d67ea23892fde8b99eed25b94280ade4595e864525d6468e330204908b73ca41694a64c2bde583ac6b41ec8a54eee5c0302047c435bb50067306502302a09262d88b47af738bb72a0489767b688708e00ff95cf4a6bf72143d0b8d8f1906dc1cc87889e5bb3acf02ba65c32e5023100c64520024ab309c9e3f055b7bae924ac59e217a53d698d08bfaa4627456906f4e43662bc58aec787ae18c91412c697bb0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006630640230364763fd025ac4d24e6fc521f3d11a25a89d597e4f471c34eb9d4e91d51aa8673c411e0932af21d337370e8fdf0956c4023065114603d230e88c25b4e4d0891533ce326d37ef2d03d41f45091f95ddd99e15c2219447cb55868596447682107390af0302047c435bb500673065023037d06e96bd53d5fc429e036fffedd2dc32e4f38f244693a3398b38fdd1c5a8eeb57ff8e78984ce70e48614a9fa4b75f4023100ee0651dbea5bc317b96f396b4bd1b1af26d74d215ff3b3bdf8107cd417d66ee5bbe16837915caa8d845eaf8156224b330302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500683066023100e01ea9c9ab7f2356eccc60b5d8519657553a2c3d8dbd2fef67f7e66c5109df3003fbb1c325ec769a74c0869414704ff0023100c9be7146e619163a0d85b7134ad7b3c44c1ce84c507fb6b20e3fd506c7857676c442075d489f873c6d989b30558fbce90302047c435bb500673065023100e971d2e24ebd0d7eb92a45dac075adb19e1c57251a69950d798ac5ca9da651b9709949a34396a30f3e03d712a5c6a11202304141b50065660e0b1640ed2c715078670a51aff7fc9249c8287ffa9e8af9bf4b1d985519c28dc561b8c213a21b2493830302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500663064023045aa72b0ce88e4615a232a1d7d9e0510b1559fe11ba68b4302c61704feee6ace230d615ebbaba4fdc0b873605cc11711023077a7a65f84a469da4cfda2750bbe43b6f838baa6e9ac69121b252df739ebf6659b800246e3a7de10ca660df92fc73f670302047c435bb50066306402306862e75147547a2bd9162ffa5752405c78523335271d2a0ec38a2d184f620e965f26163ddacf58b47d9f9c8a4711e0c502306cd71ac38f87c89e056e9d79c300f1703b396eeca88dbfd6837ca73753c63e2342bc9699c64ff36d1b0f716ea0116ad90302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023100cadcbca1878aaba2d65814143d322b64e8415bace5fc041d50a148ec27bf69e91c9624d994a7992ba3e33a86b754b963023015df8c478ae5decb61d7c1647429c39ec1e7a31b8746ef49fbd902e0700b27e98cbfd7933910ba597eb8b0471641f5dd0302047c435bb500683066023100d57aa4f951601ce66690eafdc421a1cb21b6a068913caf76c2c5dc7f38f3d47f489b5e669891ebb0fd3ccde674a0615a023100af026702664f243c206ba5766a176f51a1f677bb8179689a3f7f0b6232a9f64b297b03fc972a5c9f8f5062e18e7a44770302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50067306502302e20bc99345f29fdde0c8a14cdd9511613d4ed689cae0e16325bb439ff2c2c1e6181f8693e16c03d920459efa20d60b1023100d56b35e4d09eea145694eec7a2e4d4c04a97f46a0db0ff4560ffe06ce3d614cf1ab46a21643df71621c6dc3a0685c7200302047c435bb500673065023100ae5eb58fb8cbf9f7b44c79b016059cfcdb0e12d36c81f97caccd271e531eafb4f65c9edb4aa82eb0e9c947fe78d24c7302301327ca6fc65e79e8bab52692bb24a76377d888276a365d78a362a5e88bb221a3c37c79bf59ada2734f852966f3446b300302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50067306502305b592a9be65d9e20543e07041a921a820593ff68306094ac6994d566f7a048ed257a46ce92beff1e4987bbe64e61cb55023100dcc5c43d62e56cbd215c99395a8450581fd11a6b7588df260fc2d2c7ca718da2bb27e17838379d2faf7a56913b4cff960302047c435bb50066306402307680b9e1b7893a040a31acee8d23202e6be3810716412a09ef032e88963e5301db7d861b172c90d41d13654e74574cbb023075a1aca8a923c32d9c0c82bb2fdb8f16d104b99a20d481eaf3b4b48b2a8817cebb13e1cee2b751e4da1b616096fa481c0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023008e6ceb96e0ec4f4f595b0e2dc495dc48f0cf7c17e04324d4c24949d227bff4b14030c3af2aa64610b028f55ced4b65d023100b0d5f3156428342ce59ff846d2045322af8c4a9cf24341c8396eae20c64d6d474d84f1910c0e2caea72cc9e8c3911c8e0302047c435bb5006730650231009602c3e7bf02c9a7e29b01d6aa9f31010862bcc6f27aee1dfd8231c4edc57d0781731c70663bf594ad7077b4021e3a37023065a45191ebe003b48340bbc6bb09f6565c225fabeff457fdf33aa5baf04048915e5dec9e594f38a08017e82c3e60b18e0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500683066023100a04b9c5846adc759db5e8adedca8f50e0db7154964fef0c9c7dfedaf4dedc306f6cceb6222842cb9593a31250b50718b0231008de6f91a5975dd0df66db3221f3b6741da13de79c245fb18c0fe940754c0a29d0a38f13e7f6c7a1b712df96fc6b75ffb0302047c435bb5006730650230609fce11f7ebf6b7365675048df87292363ab7ca571473aad9a1dc0aeaf33804be3ab68cff025a96ca190617653b35690231009c7905c8269b11b656cfbffab5f57144667ba5c1073ec1a04e7ee797175afb562d5408dceec9437862c4dc47c75f907c0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50067306502304e642327d243e69331e50b05529eb1d5edda8336fed43725ce655c4174bbdaf900a658ac840cbbf6189f5f28ba521e64023100cbcae8c986154a624b247de377c898d101f5cf9fff4f3c6a4f58d7f8ec250676d6f1ab18caf65f3d271ac0b072624e830302047c435bb50067306502300912a8296fdd718ffb370d1cd6cfdaf4f6657cbfdf6820a34b7715a92f14660799c513a60e587526ef94e2314904f62602310086ba4350d9781d86eda289e0c19af3725b53e38ff7478c4639d5da8dbed35861ea1eb89770a58d3f76da9324a7236b260302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006630640230044bc386e3ce7ea4ad15c2e389e835facf7946fc5aa53eded8b86844fa4c53a958972c8c0a2ee3fd60a3df16627915ad02300791c6d4714d0b58a0e0930262585cacb309f68a2754345bcb99d7431d50af9586b447552f1727343a573458962b7d450302047c435bb50066306402301ec7c3251551cd5e143eb2fcf791eb12e99b88bff63ba48e0f6f8c96311eb27e447a63e48043c7f6402a79373731203602303b63124b907e1fda9420d34ff4bac451177b4a5d7f972792fb410d2cb0bc8c3af313655079853f9e7bc04ecc4c6417510302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50067306502300f87eca936eb4a6a17ce9af7eb77d7ac0e03aad337e8a543458ad4ab80041439f58736724e82b732784455fa0bd4d664023100d2480d76787e1a16a8d6bab891521ca2d302b0c335df8cd0d150d31bfb9dfe01c7685acc7579d0d3232186ecf65c80220302047c435bb500683066023100b741d81a70647a0fd0fdfe9031fe9b6f33e6c5aedc98d9232e5cfea7f3177391862fdd4e93ae05eb11d84a7ac97a9a2a023100feeb23a89e7037e7e5d7ceb5a00da496cb7bc4e271a9a4b6f78163aa531c0adcbec7930050d6553cf08bdf36a4b329910302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50066306402307d26fc13b3533029cce9d0436f8729f04e516050901dbcbf1f83c09bac8d69623daaed6e20406ee0f1fd01a8635f5b4002302cb1338122d2f73ca012dc20b86c9f18e4e0c3369397dae46717f77b9c660ac7ad065203bfc69fc5d45ef28f1c006b170302047c435bb500673065023035dc191420745e5f19514f464164db8014189d2641493f1264cab687823413221d6b5978119bd4fb9651c58cb070377a023100869988fb1af5149e892ca7dc630bc06d3dfc8b3debadbd747a9c2faf87e3482e07013b8ed73f282092b2f6cc70701aaf0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006730650230486c729272d54ad1588703a2d3fd83324e3cc39fd3b38ada0260795fb2d056f9436bf76639958219c489bf19b9fb55c4023100a4730a7c373444c0d5ef08cc952d647557e577aa7244d39c5bc905bad6f7b9746bdf7b98d1547267f142601aee9d01430302047c435bb500673065023025bf438c47c6dc8027042b1b22e790dc9e80eaa157539997b8f59af3975cbaaf3e1ddcddbda9cc4c2f0abd78a101035d023100b5fb734285ed9c02def868bf49164bda8175701eb221d4ec25c518e6c282c53f7338182f43683dc9b71d1e63f4d31ad40302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023100ab9c7051c004125ce247dbdc26bfc4b9fab3d6e028e1479500450ba49ad408a1862857bb31c6cb6021b1c5a825124cf202306f871c060351deb81e92a0ca0f967447e0dbbfbaee2eb8af493df2544489a2602d7a5378ac4cf1fec9b23099cf6f2c2e0302047c435bb50066306402301049722b0e7024e1496af6f30ec17a89a4630aebc54c4806814f345330d1cbb61b5373e7396b88153b402bfc55b3573102301ebd8c8271735093110e6d764a052fea4874d25bdb4f083281026382efca9250113fcff30fc56f0d497ce9edaf5f1fbc0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023043a6a085c0cf2941727c1a75c331d1570c8bf6bca49778601038fbb8609aa1879aaaca0d7b4139a27261c9282be7e1fe023100d9164c29d713cec9c7db34039f5f9487eb43de33b3cd609666f9b44230f696afc111636f1447941f190c11148eccf7390302047c435bb500673065023100a88d7eb27ab788d534338a9ce47efc76d15ada1e27f5b1bfe2816f5d2d63322c41766fb924674d347071f86609b337030230166e935f8afd4ceb2c89a4ef3071c650bf506559b5a56e355b1c12b72ea88b37482fcd0f0a63a4d4e631ad4e5dab53530302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023100a747e6960aff7add2210140500aaf0501807368d15170704e79dbb1629b7b4aaa900a95f915f7adc0836da599b20f728023057981473c425f2b3b007b367179778daa14f2b32f7dedc97402b187d73e5bf1a9ea6c14adc1d9ab7dfd06f964d969c0f0302047c435bb50067306502310091525a579033a3afc86e3aa6d71a43f62c061cbc36e42d783fe2b05571e8df7a87dcd938ae2f2b9d96e01b21fd9ca6a70230689144b01c0dffb0d625199d51f92c59b1894f7643bcad8cab6809ec0337fb276f7e18327305c370b8b163a7761981cf0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006630640230366a44b8c8651214ada34e3aba2d2014482e9753b3dce8ce72efcff2c6341469cd66fa76b2b7bdb289fd10a364dd063a02303e78fed2715f65b4996b6e1736574802069ff71fee92236ce1742befe0d72ac3204762f71faa37531c11db008295acfb0302047c435bb500683066023100cf0c78682a04d752448d3f3997a4db058a14a754aafd572cf7525e9127fbdcff7266a9f0214d01c6cb42340fc697f837023100db292039bcfe1de44ae1d3259b0bd331009572016175f638bffbcea7713bf9d853cbe0be4aed69d196a71da22095c20d0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50066306402306b168466bb4f85422efce004696fe849226a4396c81872957622c7ab79c367b1c7f64b2121f3ac3b77c779fd0596399902306c7ab429e670c8fa2ab3b43293f029a0a0f81e3bf1849d4129bc39fca33d35e8bd69dc2e45fe04b2c4744bfca53c65d70302047c435bb500673065023006e989af7e32f8f0f3b357a0d1047e34b3eebdb5b14d0a0a2167e920111c8c75988429a8b7e02b626d199ed1a401aa0a023100e99815991c0a8bc58bc945c4047bad11b387af13459acb1182b97cd738777fdebfff3dac93a69451d9ed12fab5c6d0060302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500663064023044c18d6551da8cda9dabef85711f36d7a01d4aaf1d177ef8e048fe095f778591696e35d0a9ee94ede513729aa1ad92f3023003c78913d68f7c13457c6cf9cc2a5a6e349f83dbe352b7166452db6fc932f77b63dd86a5f000fd32856ad9948ec3f1550302047c435bb500663064023055a6b3b826363874488bf25230145c122fdcc49eda10b4e0ec45408ecdb6a1049b1544c4dfba0256a593c3707a1824140230794e64175fee293daa1313166956bde5b950e458fbea5e8f58a249ed0f9526bd78008d13dc67bde2b6d28f3b3b7aaa220302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500683066023100d08bf112c2135a58603758eef5d58db7e017bef103a254b12cebec36df28c3b09f0eda75d5b7b57f3795f544bccfacfc023100d0db8f3851a27c587221124940680dd96899d0b13fcc2a186669bc5adff4c4be23d9d5ac8065d81d5555b9194632e4870302047c435bb50066306402302652fefd0ed1811a9681775248781cd250d01cba7a66af1d753f2d94bf2d3f2b80f4e438dfa6346b1c08c1998a9b6831023068909f2ab4c6e792f16672dad5b4c2d46d09005d7b047e4b914cf5540e12f08fd7871773fa8932d112d1243b9e568aff0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500683066023100dbbaa453d55675fcb1866d5140021deb038473d7df6af750ad788167207edeb217c74095cb5b1a91db298953abcce9d2023100d9600a10d84376bcad1b0f98dbea37bcebea896bfd8aea8b8d20e8a2ceebb13660cf1e0f3e55e8ed097ed3c73f41f54a0302047c435bb50067306502307b579a1a28da95d4e2b210eb84d64aca6d6ac9854abf2ee70da72c369d0a10114a7e8d462f473de142808a19b3054ae0023100fc66f2355b61a6f489ce1575519d060d16d9bdee7964a53e446d81f693ff98c4d121742d0837c656014c54ba6fcc04f50302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023100f743a85d099d3ba6d1f5f4ddb76cb53dd8084a303df35c70ca8fdf629e16ff5bf6dd54988f2e6e650886005dc2577f5602305fabfccd42c925718ac34ca8e17d226352338bc865be3060cca44da87886c031febc524be5d26adef2efb113531c04510302047c435bb500673065023100850ac96b65e4e85bb9ebf2a3da4ac67687af069ec17f078f5500a7950adcefe614f11a0ff622f37b387162fcc8a23a3602307507f0222ff5840df889c1d735d94540563498cbe62df0294ff05da06c30873501d683976bf4fb97fce0abadcc3f92c40302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023029f8f4adc947ddf02530e4fa4ed35dd8fdee7c72dc7a0acc350d0f7e7ed87530af3c09bf002767c2e8fae49f71c38363023100a38654721eacf5e86c7f45e48e96e5a0b07e5c957050f76b8297d5b115dd67d9e68c28e902926dea25040c6dc4108e1e0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50067306502307b1613ec676a0b99f8d85cd03606fad580a864a225254eca4ffc73ec68d7c349b0169c2c9fce5a03369e49081844039e023100924be66affcb03df96f9fff86c1c3fe2db0b2a9a82b830c8aea1d56419bb43cc2beb6c3a89a13d3fc001585d30c16a730302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500663064023048e52d34e9ff2eecd72e2e2b9c264f57e42d45abbac26ad7d449ee7c49f8424c1f3b347fec8ff69d7cae2202c11dcbda023004bbef9165c15742d4443576ae55289b23a7d5798fc35a2b3a6596595484592cea0e4f36913411ad323c97fc5bc700930302047c435bb50068306602310096a4e190a45b6f88b88edc9bf6b21d4fe42675935fe2c313fe3b9973dbe2ae30d0f28c95777a89f8e0c26ca9010652d0023100d424f81a5ee2b12a54a98f6b6423ce0f3be2b70e8891346366d4279b55118e85dc8a4f519dbce3199d90094683a449210302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023100d7c3ee3ff3e05c36af1c83a25008e8a9253c507869da39da7f5d3d5a5d6934b541f9d8e255915f0963d1c9d6aa5291f9023032f0e90f456b0dabb06648c47909c37bdf25c5588650d729d1badb834a6cc83509751cb0fda0ff6ad9bf2e1b8b9fc1ad0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023100f9d4e46024b73743de680907bbea49c79ade5edbe923647dbca911f0dd34ea1d0d2177d5bb243b6cc1b0c847ea0b4faf02304fb84889ee7a72244967f7bdef4768a7ade6fcff3848120aa0f2a8a85bb0b0d4e2ee5045a18113bd89d2fd24bbcca8840302047c435bb500673065023010919483ffd63ecec7468dc3643c2a97344a0fc1d5ae70c458e22655a4640c7a23e3e42c6c63c2b713d00a2200f731db023100933e2a305ced0e6f0404e434adbf38632add81707a780fcb87d1eeddbc228d2b5ccd749dceb025141a7a8cea72e04b060302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500663064023039a2711de271b2fb17fd699e0148c2b8a322b65c2bc9d46c5b4a4d0e41ff8b55f31f0af974fc05cdbb754cce1084ef6d023020f3f33105c6844a44a2571db172c7388d8f4aa5fe7f208b2f70df2164a5957e8781df30eb4a67df9ddbc833399c9a440302047c435bb50068306602310099d294a997b7cbf092cce353d2fbe452084644a0ed2d9fbbaf3183c4f7a25c5f2e3e647dd7c6de3a756dc6be58f14fa2023100939450d0d1a9d36496048d06dadc38ca932ac7ac8e8188a8c2b50959cbb53ee73ce1f144f5dfa77554f2f31b25f1c9c70302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500683066023100f712f62f792d9847e27742225641549400486e2fc1da4023cccaa28c4f2ea35f52a92aaf7e4f3637482030dee727462b023100d9a84bd190c3e38645f712b697173c3f87f1daab4e9526a73e084532d2c763a7943fcb16955d0b058ca10430b766c28d0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023028b35accab840e757e3db4ed09917bb6c719bafaa8a8b4f5c2f12e2f9c8711855266bd2baf2ec14c3b3b1e8b61f91678023100a52d91cfd95ead2ad36122571366979a7d5a60b049c1628cccfd6b370302f674a994be43e3087e029ef22a2f1225a8420302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50067306502300f395e2612ed091d314c65ec824ae1606edc7567036f0a1d7943701d028ae21f8799d8eea0c529c7501e9176925ba50b023100e20673d3d15da25654e90b3b82a702fe95f1a24a5636fd527568963037c135c8ac61b32eb74f3942e43bad0da47ed6530302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500683066023100c416777c7cf1cc56fef8c5d2c035c48ebcf179f83740aede448d4f2bfd6fc04e42cbf5222c57a1566cbe2e0a5d1cb29f0231008662b33461d2f23db0b4e62e173ff481cb4b853b5c69c290e5bdc03ba445ae73341fccc17d81e883970fcfd0751033900302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500683066023100e89020a2e758e929645975570d96a274cbde251954659552f554ba13c3f03be22787f80ee1bd7da88c6be873fb189b30023100c1d95cd27d08de5a6aa4969d69a1f033c0d41fe271b2f368f055c079cdea9f73cd184e07e62aa1d5646754d964ed50b30302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500683066023100bca4d39acfdbbdf369a1d646e819760e767fd9f93f250e2c71e134dfd9faca7ff8f5d473814601308ac7813e2f6095eb02310082cea0cc101ccb3a4e5e5597c54d03bb6d14e9c0251a08b833f6ded444407b225674d9a1285f3daee4bc511fff75fc6f0302047c435bb50067306502306e567a97e8d5d1a26984f676901b166fe1f09a2ce6645e33c09738fb75232327afd8d5938e1546d34072e60f4e9334fa023100cf26741c5b73cefeaaa28f05759947764532e6cd0adefabd8bb258e77dce92608557a95f1bd660d8519e947dd982a7660302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500683066023100f8cd8c4a7faab5b01fb62e50bd078dd1dc20b7cb4f7b213f2014ba578b50d125fdbfd1ea1dde50b44795eae8042b791802310086ca9cbe354713d774455b7394c04e6883f4acea45353fa142edcad9ea6083ea6eabf2ff69a1bb9f999d476d98d126ee0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023100a6a1d9dc25483d9381a8eeafa0ffab9cccb12dcea64f4103e294b64345043a44c0e0acbddebdd04208f36e4bfe0e4585023029476282687b83baec4185633e3de9d5b156d552dd718385836dfbec8bbb45a5fdb2fb62c84ee463daff931a450aaafb0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023100c887220c9c2394718a4d970fb47952b4df75a0b46357484209952642b0d627f077595ad3bd2038c15c35b41ec3ae2477023063fae7a37613b52f8b3016fdcac6b39e844755b34c36e9b58c91415060d3ab17af42b06c53257918fe34f0960766169f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50066306402304623a3f719298620a7319ef3f61e012403de6678a23a0435e51a1d840ae038a166015d244cfd5e867de92ff6e9cc44e102302651d1b5c333d8013228e62fdf62da14700e31a3bef4db3210363ceac0833ca8f5dcbe77e94515064a77b29cd37dabd80302047c435bb50066306402304d31ef3fd7a8fc61d52f812fd08b72b49d9661c6f55769f73adafc50e4d0b6abf57c965ffd0faeeb7a665d8d577c6ed00230248c1bf64203ecf5d98e67c1cab6211628e30f27073090a4251fd742f673cd0e46b2707246251a7c084d84fad787dbc40302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006630640230261af2f99d78b3ec92802b84483882dc09f2e6b09dcc98f070a7207327ef4d9735b293bda46d7ba7f2e73c21e3d9135102301fa6601d02006c3a538bac1c6043622fc5c17167d07f55eb0c03b004edb4055039e0a1fa9c511f5865a4097f8e5650fa0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50067306502302a38f83152a55c1efc7b897de0015e4528d5075d7a80f15736ed0d45cccd5bf9606c8a2bffac0e643bf3b181894f8500023100f6c19baf843c89dbb5713924725cb3813d646eb59cae8267e42a008057cc079d9b7898b7f26d3153d9ac8e0fbc448c2f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023100d48636de42cacb249658130a30fd0acdb6c4fe2441d364d698b443562ad646e841e319a5ea21ed5ce91492ec16fbe45502307b10d4e7af6d2df0c1f59fe54a9690b9017a2f5732998fcb783b83eee92bfb361df7e39e29bab4f5a19a68d3c619b0b20302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231009e7bea474552874dec9f1586675bb0a01517cfa6a9b0565de2fd13a001d9c7f091b0bf8c983fb5aae4ddbe441f695edb023100fcaaa85d30db4e044c392ebf17416caee0d22b2fbc86c23e185f5193c27bac983e7963ec9f4c7b076d02e7ad93e422fd0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008a3126bff25d061eeb72c729491940bf308a8880fa84f3430bda61c65c682a408b37da40943ad28eaf7870301e2a01d5023100f5428f6158d2b8039888f4fd4ccbb3141b2d5d286803edb6490529b38f867bfaf7dcdb6a30ebcc422dbbe09c2bdcee080302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500663064023005abe533f5e575ede5fd37a4f154210a670492093bfad8622d55bf0137812cf494092fcb00e97419e13cd1f65be5294e02303983dd593740e3fa80ed341da1a5176e82e345532999dedc8dcd1e7d3d33d254abc71032d3493576399c29c921455a870302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500683066023100e7625ebdba9069fec7c8971813a57542fd56b7a2612403f023b9b04c98a337e54b53c2f2649db40c15e50bac3ad6da78023100abf7f9bd613508eb014bcc1c757685a43f6724241d769efb9cff7ea26043ee55b87cfc6ab1e4c654efa6d477b3413b550302047c435bb500673065023100d11a88138d1046bfdf2257a838454eab01eb7fb4caefeddd7e10a87d59d26cd14f7b1f3783f01d899ef0493f40cb7c6902302a9bfb160cae6fe4cb342c37e4f38e2f05e79f009165c85e287715f4ed8dd4a82d12effbfad0b5c782567596c6bf75210302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50067306502303f4816f85ca54deb40a591f1eb101cfe9916ba3a25e581394382d9db5e5a30192fb576a6cb992c65f0c24e93b77ed77f023100b96ea45827e36dae9f52f0413e4aa8568d9825e69afaecf68250995db7655709387147556367c4f0ea0305d9dddf3eb50302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023060a044f3d61d9780e106f8ce7cf732078f134b49f91b87dcb3ed022c93655e2ef3bbc1c4c14decc334f981a3a58eb24a023100a4e50beba731d47b7a3754a3a0780c7b2c5ebb8ad93db6d4b1ca7c11f35a1d63f4e99d1e44381e8b763d246a4b22b1fa0302047c435bb500673065023100c9f37f7df9f743fcbd1733dac61b5b3fc3e0855bb9ee542aef6f84d3081caf49b2f744d2dfb715c70ee94703603c4c8c023010f64e0f3f66dcc38576cd355cd08035e12a3eefbbc8d8f8e6fc3870f3eb7ce9c49b65ca1e91de745986768ac482247c0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50066306402303f09c73bc42b0d2d76efc25c80db80ebea84f176759ad88f543c87373787e322b77096c0910aac9229492617e052f2d202302ea70808ef013f3bff62b30f8d92efddab99c2d9c1b6446bb7e24c41296f9be81c897c29a3b377b47c484562fb28d7f20302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50068306602310098645a8bf691de0b07a2530518db36fb5d98754eff4571eec2a197fd63073eab9a97151239b5c6350f2302c4594a9368023100aeb6c86a33417208ac19e023792c7d61dffaa35994e9a1ab7e197860d7d6638230d2c6dc15c9ae3767d2dda7dbbe8eed0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023100aaf2bca93f66bd558cd8d333e6fcfbcc91e0aa83712d15fdbd82bb5d2ccdf1d2b07b02ed33e63935a52ce803308ce41a023027d680eeaf4d7b9b093c25146dcf1a54104bc79cf524a406f69fba2d3a6203db79d48aab61d3d6f714eb8f9cf83a501c0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023100bbdcc115db1d1bb85a291be1ea8053841769ca4865bf579abc29247cf7b79936631b15a1da96e46007611148c618dd8102304bc0b9b3df1a126fda44ffbaf548a805a4f4523304b3da79e3ccfb8f2c96f982b3801f76b43a7cd389b3072ad18c5f550302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500683066023100a1a0be995ac57809120e101ddb00df4f8e79cbb81da317e9a607cce8a4d11f44101fbc2838c20249534c5103a639b29102310090547a998cfd25ea5e3f2ee2c7f7148efc3f55962eac64c4ddb23046f76b3289692bd9e3f2fa7661d4f1f8689aad712b0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500683066023100d159267f060071b1aebb26b34e1011dfcca921604ef51ed7bd96e31e00e643068bc09cba56613058880d5f1467307d05023100a7805440f0d9cef580d69df1a0cef867995f6728d686e757e69b7fb59d851e2a21d0de48482c790664e5fe5f2c0bdc670302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023100bad112f924e0f7c0c8e1813d4f73f03fa5a47194ef55197b468550ecf648a6e7693d903fc374b8aafdad46e214d0ae610230299305e00b89ec8221a5e715bd2540b08c8c76c85dcbaf9a3ebd739afcfef3e7638cbabe27769cb621f66ea18a1edeb80302047c435bb5006830660231009e0bc0274ce4c2e08e2b82a57da0fb88afba2861dfd85e39fd2e50f132bd79db266d3751ab86cf905793953b41da163b023100e64ef57825afbb151240f38b846e48eb06a652f9d4b602f35aa76c5690ebbb7e8f58d6a80cc53be12a54700b953e037b0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023100dec140991222d15ef402ba61d57dae56ed92d328ceb66bb5d65c8b4f90202b0d47651ce2d7a9dc56f7fa238253cacabd02306ad0dccf93081146a46f46eb0a8be6de938daffa0f0d56344f1321a938bff15932446e72a5b2abfa3a1870c0738037e50302047c435bb50067306502301127718efcfa504504fd9f54548b7590520bd7df1cdaef528a6c4bb83037a7bb478bdabf60507c039067e277c79cc81e023100e0a5bbea1decb8d3d52cea4bb6367a844352ce65820680ae514c916cf1a302c070c35d51d16fed7d84c69e19cdc14d120302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500663064023033793ee911d0958d7ce119f882d0b2feaa16012e5540bd557b63876bb7e5a4daf0ac0651a731b7c78fe23c194aa6e333023002e4c555733b974d5fbbd24aed558b3806c3282a732f08bc8e4b3b0704268842b342853b02ce8528414794fcb4bbc8950302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50066306402304948b3ce7489739b505552c1bf20c120483b2a0327467b6cda81cedfaaa66b36e27280a14d413ad1e23da13ec53ff0ed0230273367ce9cac65046f86980347073130dc0d13a752d160acfc8dbe8c613530b65cd50b8514221286ee0f203607d81fc80302047c435bb500683066023100a1ab45c4689985a19f12e81b9dab2313dba96c3468c6ad5f0b64126c6104bbe24bb28c644f6000721696d07d6acee21a023100f3ef9c667a188df10312e9344ee274a90b70712e3d648061878acf1dcf80dcc942061398b2f3928c30e3ffcb23a510230302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023053c07a65d0c0c4bff9a026a07f5936419e077b35c62433b7a7eab62a92dcb28c5ff1157077dc49be5ba7aa3b84489831023100884c323b6b35dc9eda09ddfbfdb701d44900e3d60ad057873c88ce6585117610981fa4e798c48d9723c743b67ecd17200302047c435bb500683066023100a09cf251ae93fd8e720de414282289a6d5150e9efb0b221844ac69df8a13d3462bc97f14f9fafc163dff03cceb419519023100fbddb8cee411c631f87e5767144cdcc5e5b1fc82a491442dfafead55aaaa7ae5cfee7061267b80134427940926745d350302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023100f8af78cc8feedd50208673a7a3e8c16909352e238f032ecb674ece753fb02991bf041c2bdded501b05022a231b0cda1f023036591d82fd7590e39ba5635fde11ce4a75d9969fe137860ee423e82cdc7c0ed2f007a19d0b5d2b607c521e3fb87946b40302047c435bb500683066023100a8c8881f373f494e7d8f8994b9a0bf66a504812c90a54c61bb4e26878dd5dd3fd7a35e109346e91eb7aefbe8e099a5a8023100a133104b28f9ebea2f343ea0fd0691dd641570dfae421093529a2dcd3f7d08edfc02bfe3e1d8bd79944f92e4d0d88a070302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006730650231008cfecadc61c603897911d77239eaa1a516fe5a6ba4285a84fdbbfb9eed9f8bdc5f0fdcc7294fa8f6c2be73602c93ba8a0230066080c14c308552a92aa92c5117e24c7e672a7b83dbe4deb27dfad61a92b9b59592c946f1bf67de17c8f817926eed920302047c435bb500663064023062619bc41fd43df9ce3cdca77249638f95df0156078e066699742dfb92a9e60b600ed172254c673ff0300464bc02e829023021238380be4a51045501b03dc2606a10ad7e6a885919bad8d030432b6d4c08987371d4d84f7f3824c7bf6e8eba4e7c160302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500683066023100c2d8bb649d136cacb332c2b96df4cbeff8086152acdf3f909d9bbd5f6676d7d5a99fa90b738078215f1ac5dedff6049a0231009ebf165d53958e6127469b87d00498c139bf936e4e4d3547fcb9edb948e0e0eeff02010a4a4d1334269fe36a4c1dd4170302047c435bb500683066023100fca861f4cbea73df1c496bc5db2c5a7902438c2968e43c587aba541339eebdd8bde086f184054b94fe3313b96e7528eb023100cd3803616085cdf18e32f432f24ceb922b4254336e61bf664bd4243923bfff4635dfa09fccfacad461441478dea94a500302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50067306502306c29fe952a13fb1d5cebf61e2e09247f81231156f03ad039e32ece0b661d06ba98b9d75064d146fe245405e38f11bdfd023100922eead0c77d59510ebd5a14111b1d1b796358236132c184658c909b97fb933781b2bf05f7c72666c0dc613bc3d9a0080302047c435bb5006730650230783cff687202546e7cfcf503f5ca47bf1cae3172ddcd57a10e0a0207e20a9080f56419e315b5a6bbeff6cd4cba4070d10231009ad6d45a9813da7a272077855a219f8505d81519edd144eed87f55b7715cfaedbac21663e4b680369aff378c3cbe2df40302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023100f17a4653bfc70b94d8e04c44391f368ce3834fe8df74efcf04f72c5c29892b756e55aa9c12407773520ce19082810003023058335ed7af5ff91aa778dd12f906dc22be43540a03da497a94ac37dab23838c3c04f48222095e2e913dfdcf4e16dc3860302047c435bb500683066023100abd1a56a278173dd31e5564cf72c25c0f07e58482f2f2742afce0ea10f7e4a3c4573e8920d1f1bb5eed64cd47d982c88023100fc7f940342b59ca2ed56dd73c3599517be056161e2449789a39240093b0644f4db02bd3c507a12b630440d4287a3b4d60302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50067306502307d39f75ec1784259468936a4664588bd0e1a1a3c0874a52ba9d12cabc39c3f66b7e8c3c85db327c916e6818aee6fa204023100fdcbec633859729761234f2f6dc709b5c5bbedc243c704874f7f103812397d42ee74fe532e2571bcf024230a47f61be50302047c435bb500673065023100dfae718c2dcb0dddc5f746bd2502254b844067b0db226dacc520979deedfd18fc8b48a599230604d3b72486350a2c10e023021d3d5bc685feeb8fe45026d8a656aa63e7e232aeb46bb4a951dc0763cb701f923052dd9eddfc085f1ac760a6149948f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50066306402307c5d6f798712f0d6c1cc5845fc612f5d85eafd34629d6fd46ba38942e5f29902923b795aef95c2dcd3c20e577561ea76023067a00b2b5a4f1b0a31aabcca5d3eb261616d68d01ae2f0d81498c2a62b3c664075e1a9ee6f3a78eb71eaa3a0479e4be80302047c435bb500673065023100e1e328107f069c799318396a0fa3632d46579649dc813fcbdf59bfbfb45fa6d714b4321f5e04edc84cd594b024877ce302300e46b61e3f56af877c5625ac6f5ac909bb17d42177faeb3083aaa56756c5856f01fe5827f9abebf8d48a56770d19dff20302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500683066023100f516bd1b093305a7419f35dde9ec741e2be54282a687e464ea47761a1fd25006799019454c15c444a849b087c1b5ae1402310091aa2c73d79369a56d3c6f8f4a6b1751a2353c30f86244e8af94e98bc5203df91ae7e9989ac7e077e5d52804303ddef20302047c435bb500683066023100e8968e0d4932939e3f198d059f8544521adac51650ef3b662700284c1a4430751cda86c80b7e3682796027bb7e67ce20023100e27efe3e2954a4cf6b16b97d4f8147bda50bd4c4f2d348623543ffb1fddb11fd328e6e0c82a22735f2a13408bee304e50302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50067306502301f4d70544d1cb17fd8e9e06f6f8396f8fa8f163cd555d40d63d56980386384e230dbf1a74812b177a80ee6424782dda3023100d7906161a573d3fccece859049e19a7a8c412cc8a56cd670290f2ff7f4f99a13afbf757a751217e39086aa501990e9080302047c435bb50068306602310092ce81a045d6fa7fc4ad33b217b36b32667a1ced815a35d06f989da10daf699f82c18b2f4ee1378fa23fb9990b31449c023100af9fe49a878752298de0270cfb1e21054479be6a4d6f71140c8e4fb381b646fb39fc385e5bb62cd3755d1c08c18e7c6f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500663064023036917ee129d7e0f4d7338fccdc812e4972be375d298a7330dd170497a777c2774d6645a14e5d77224a75fca155d419f802306056e636097a8ba8fbd21a06f98a8611accfe8d841005673f38383597323deb867c070fecdfd32aab50125cc8b17ca580302047c435bb500673065023034abb0af2e5402b957295b8635093ada1cfd07da7a7e290680c010d66658dc5934ff5a24dffb917e22772058766280d2023100ad69eba0f1fe6e2f658e1ba7815f70dfd827e34888c5651e99776d5dd7cc692089dcbed06e529a8917be1639f3d6abf10302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500683066023100badc2284e4647dc68fe8096fa83ba31828f0b568591c9696d25aac5d13da6400a16a98cbcdc2066c3f46690319b37115023100af928ec1e5bd2eff94d7189cbb892670146c543b93619ccb9c3b8cdb14ebf8013a10c18180193c0f7c1424cc1a899ada0302047c435bb500673065023100a494587b30105fdd76c405e854a986f742e308b9e7ce258c3f336f0088d48f75490560f7c65c2966813293b1d29e03fb02300471099af9a18d5f815cf5d3fde13b02bd90d86091b42240a2e932dc536778d310c9430ff94270b72d2300da7d27713d0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500663064023039814b46712cb71982f391cfaac92f2309a5afba9d2896324f3ddfe8e8c813198237e0d8940776eb7888827d5c110a3502304de6a824b390ea4f5d69660e3868c135b83cb212ba9847cbefb007b39ef8ff6ad63ab4c99103597cf48ea60c351080e70302047c435bb50066306402303e90f929e5876d096b7ab522ccbe20d4f8d7092c49bdf080e923d825327476e7e5e60255ce960d5904af9f092625a64a0230579f969372822e8ab3ddeb38c428bf2c0ff7661c3d9fe5c9898ce9b141699f3ac64c1e28176f35acf9699856531fce870302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50066306402303f0fbd32f2331b417d7c3e39c072414dfa4abc9c38888d18aa3c13be1b462c61b972352184b4cd0b0760306504b178f502306e9583808e6953aa0c76a92e138bdcf7cd83d92d4e772ea520502359f48096162e8d791d28a2aa50a1e2e14f9cbd29300302047c435bb5006830660231008e41d00d3288f71c04206d1365a9ad28b50d6a933f7be5823270b435bb5effdfd3e85231b459ce65eb738481772615ab023100a1aa42c3c7efca391e41d07bcaf91c1702f0fe2c60efa53a9ee7aef9a6bfa60b0015fb41dc4915a03cf421ad8c609a820302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006730650230133f2776ad0585ae6edee332de743d16eb8441e65d8f27482410f4380606776e9f7872a5f57aa80ae442477dd5db541e023100806faa2fd4dbe7e4a3b8bcfe9bc894f681dbcdb7171868b5bbf7f121f33a4633832ba5b36061b6d3665f334b0bfeef990302047c435bb5006830660231008ab979e8c7cecb0651a2a7df87a7ef2f9a28fc4624a28d4106863cfb9a89e2214d3a4cbdc4b01a110ba84d414295a06a023100af6d26af82f85ee0e94f9e9026d07416db73884f49e5d5a677f0405b8a566167e0fcebf6eb8466fbea21d4545fe270ae0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50067306502303d16a330bf9307934cce597026e06b702827c591fa29088dce907d29e77d5539de15f14ba1e0c0631166f34336ab3a17023100bd7f85b50d81c59f1a60fd0d953f96655921ac800bb3a2a69f49e7e93e052bd3aa13361b6f28748ac76a59cad9a8f9e30302047c435bb500673065023100b38bbae193dc1b31dad94a6d18a4f1ae3201bce24dfdbe2eb28673c09fbf3bf8ac14caa14d1c4872e3ea49343522eb680230524332387d174445bcd11a4db00e69225b1992c33b6c3a74017352c568e16d4b5a39cfd1c1a48f461d9beaaf88b378b10302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50067306502310092d3b6d6222dd6f04be0d0bab98022e4965d8e7c7c1806c27c95cf38940a399b424eafc2049e3c5b776dcfe2090522830230626dbfb336bae4035d0a37135142b522422bbb154f2f4fef0d86abd6dbc85808edbeace02dac41e3f910ef7c62ec9c930302047c435bb50067306502301b835a9e7c8d1caa35c98769412e0382ed833f4780fccff89908ed736feaf1efd77ad55b0c8e0486bb3024c048d292840231009ecd9116b4a841d2d9762c2a690c83e58c144b1c44f51f4edb928422ea3b06c78a68425d211fb8803613b900185af3fb0302047c435bb500663064023072ee486f5dcb16e03d4667591dd2125209a3daf0f94c3a30832e9cd47b6307f4c4734a32b998eeeeb4de3f0eebd3e26d0230040cecab8c5502b8f3739cc36f4616dc16e5c2a30688d3eb73c058c4a748fc5486180e624d579e969493a2148d06de230302047c435bb50067306502304847244381d6381b12a58043863384c9c83fec7ca8d9fb046d36bc419ef43535fd64264a9bcabc10f3ececb7daf00bfc0231009e8f10fac28ead5a037696ffbefd5e6a09131321b295b612ca1c0331545e6b2eda2c10c73ada5d9e9443f16d23ef0bef0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023036a4018bed00fe07ff19dece5b411bd2b0384d8a7f9fe22a3cc9fddf7672b838d3a81048e98c268c4791298dbda3029602310088a4c64181850098fc20b9ffdb4bb03629b82b44dec7bda88a5934031a82643ad64c102a8d2e24513f9ee86347a99b680302047c435bb5006630640230262808972deee25689d5ae6ebc6b738d3c2053b59f7877b4e27a7158a50ac51a32e75ec5b0c924fe3bb1146d78fff58502302c01b041832fbc9beda5dabf3083884cb47ab332f41ae54fa90246e64626ccdf8e2578ca72a7cccc4c064aec541a76960302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023100f7d733b1a8608003c7a22b1d46a507c0088641c787b18b611ab1c9a7c72fab4d71acd3db4d58409d0a377c659c3223cc023061cbf05963d3e2e8f30342ee81e7151563d59a243411310ba9c7d051cc6df033c16be3b210e90ab1c5dc2195f83c71130302047c435bb50066306402304c853a930d5bfa9324ae5e09acab39a56dd769b2d75e27143b47a84e6874f996a3b64811cfdde94a842b3fb30c83b338023048b736e3da5d2c039f57f397254028909c36fd18f930d8e03543bce76561ba4e0ac07b0ede0d2b73e818c816a0dbaf1a0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50067306502300a3dd060f48936a36d78a075b30242d63bb9879df834ef7977b1f3bad7793674ac9968e15cafa86966d162145d3f709702310081333025e444ea62746104f5353bbb9103e5c7c7830a8c4c086a2d6e3efc7b241ffcad6609f0c184838c1afee4cc78640302047c435bb5006730650231009d5a377b508edeb046c744a052704d82225433c69de84abc87ebad5ae3816a0c7e9899cc321c24fabac39ef36bb01daf0230047206233c3b40edbe9ba5bbeb7093be3e3cc457d9a1ee398e79f5a7895797e6e872c480711af6aef18eb3703bf249570302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023100ea29f92e13dcbd39e546ced3fb36b379cabe702b3bd7b730b922643944c2d65e13873ba469080a7d9457b5ca6ea80c960230338a781ba74555dfb65c5474bbf941d6845931c2a19a8fefa6268390df70ea91dbb97117a09a6ea19c779a95137719010302047c435bb500673065023100e1bce2880be393b382e339650eb0bb7f402f4d7b6629ebc46b9dd277b0b492a48c373aacf05ed38096bef386e835aa890230646daa107501eecea42ecb100df0ed379408e6ebf2b655b685420bfe9861c025a14afb2316779e6a1f24aaf71f7db60b0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023023e95266bdf28113e992348efe566b1525a5d0748ce17ea12a03aac2c29caf6dc2382f1b8dd85fcffc9d322ef6264c82023100b6824fb35d2f877517add456adefbd4df50c474e3b137bc1893571364aff3b598f8c1e4b0f0ea9ca6970f548735fd0b70302047c435bb50066306402300e74cadfc29352d0f7088aaad9c13b6be0288c16ecbf056cc99801c5bff8f4d16832e5c52bbe9141e69f2298d547f0d402306ed4daa8b4bca5680a3c66aea57991641451b4e2b68743fee6087d3833289be74d86933f819499f5908c2e568de6b3ff0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50068306602310096ee391515e544ea4a65eecf4f5af2fd0622ad6da2d5c7eab0be579392cd89b9ebe34375e1f7dca98cd3fd8857928f7b023100d55a7aa5c91a23304fa9bed7a1c50a79dd564733777d0d91a481f9b9adc046c3d0297c27a2bc2da0c08f71e60025f5c90302047c435bb500663064023029b253b3d6c9012a69aec07fc366d0d5645cd3ae14a1ad19d260a568ae01cdb1ac357a84c8d6f1ceeaaba1dff5d6d5030230271e0a5ae66faf347424113d6af4e636234822f3432cd14cafeee931e08882a19a60039fb13bacdbf212ca18707c00510302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023038e53555ec7609e34cd63de0e2ecdf5efbd674470707b7a535a1e6392ef215a6b2930036148ea33f6415c5a52018035b0231009e332a09cf91c16588a8fcf9faddee912256429114b0b128fe31c02594518838ef5a9ad2f7aa6c7631011e1acc2c82c20302047c435bb500673065023100c085cdeedacf9f6992ff2fa8329f24417039fb147d4c073db17f287ecf4a3c5e26402f137c04ba551c0a44441469086b02302f222f30df9dbc3399121d374cde1b66505a8cb732f89dcf552cc652ec682b971ddc9a9c1703de73002254aa363a14750302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006630640230188e29bd136ca2e1f4adba613563bd6053a94340025caf7a931a78264aa45159e7fb9abe411e66df6b470005ca8881a9023050a8fb29a07da935c85cc24b47e90efd7be0607fa3804b383e7cb92266b4887304337fffbe3fad264a23f25c05a7bade0302047c435bb500663064023025a2187bdf4946b38022e635f50bd1dc14f2839b280e3e3af6c06b76e2a322b5b09acd37b49308f3a4e3ca457e6b3144023037f5f6d50dea2a67ca3226dda9d08cb355f562773ca0ba39bb63459797db01d0f8b905fe41c2d6b894295c40c97d09fa0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500683066023100bfd787aded6efa69b7ac285b0a30e8523f14c9d4e2c65ed393a607629e6384300b5612299c88a8ccbee37dfec934f6a002310092e359be6c801d4bc1612f47d02a23385694e9bbf5d2b61d485325a86e8aa5babdee150907a5fc54f638f132b87480a00302047c435bb500673065023100d910f8b75cad7cd57d856e2c4182f0b76e133fb7830b0a55504a04257eb277e31727469ba6220c612c7d3722f60dc56402300f181ccbb1f7b59405aa17e75ee4a62792c178fc9eadcd5639934d3dcd4db3cce2215a2cc46fc9d0e7b9e072738994660302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500683066023100e09fb85de196e6df6efa0784dea015299758e5cd0de34a01b0385e313bf8aafd7e8557497893458971e0b63869b011f302310082fa6d46f1311cdcef6394be1bbd269784234f990d09d6f9f3bbc5e661e13047921d7a026b71c5ca968ce0d3872016aa0302047c435bb5006630640230422eca27ce11d8719064f0c2f3fc7bed6216c42d3719fbb2f3076bfd64dee4a20704c07542e785991b3d120cd462ecd1023013fdabb3ce39f41f677125e65d3b41100360ef24a661cd7eee8ffc60346551d54c9007a9c9ad37b3f86d4491b5d9fcce0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50067306502307ff0059127852bab22d05647a1c300dca8a5382cf836b4e3bffcabda2cd78e1f117eaf6dbd17044b4732ed99769ce5fe023100e6e9b2b01bdcd08a8e0b33bc0384b19a41ac0a01c3d43ae37a00eb1490d2aa42cef40fa574716ebeb2168ed455daa91f0302047c435bb500683066023100f5257819a44d134adf67dc028069f68e19c155d974f8aee9238dce3d31d57ae229c04fdeeff7e86aaa6460947dda14ad023100e75960e7d3bd68d00c3f6ad510ae6486a55a884a995c346111d8cd6557a27d27493515425ecc7a0c1959ef11c31d09e20302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023100f64597f9c035f3d4f8774536abdfdf1044de8e42dc9e640c03c0809cb13d9318d03f2060cdc994cd699f1ba4ede8bf28023033b805cfd1aee9c4331876f171100de1251e4b68df86ef81c8ba0927b97b1e0d2ee6ca4c95613d565c69b88f4b6bc3a60302047c435bb5006830660231008700bc22ed5f9e4c0fcb52e5ede43c2897174c1cf0f685b6781ae78ce57d468c5739a402b155e9745491114da933088e023100c340efa16ebdee21986c1a7eee9f09acfd3f312ba5e7c47f62be948ccf14771d59d25cf77078d8eb0052b117ebca6dd50302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023100b1e61b6f512f34247c5c005b930bc4d87853314665f2656f13e6a345175c2a583dd04973c0824c0c666e3939c5d4b8c90230088a867fcacaf25ada229308c419ece2cdce8328b1145c341f56c064431952d01eac1827f15bf2aab2c3d07c59166a3d0302047c435bb5006630640230227fe697783507ddc2541eb5a8d51f3a9d3912a9b397b2e1befdcf0daf5a27de734a500ff8622824f44bb97f5c3ec24802301d1e11ff3e0d2254bfe3828468129e0ce0a6d023707356ac014eacd7d9ee4f55139fa5b886fc646a9aca83b4430fc3d60302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023100ade42c8886dd77a89945b5abed62aaf1ccfb121192e53604f1a4310f1f050317468704b6305b00179f75871e5a69b3c102306a99220453550c9c9ced6e0408ca1780fa37b360119d590c1bc22799723597aaa2eef7cc102c1c5754a754ea1d3797540302047c435bb500683066023100d5beae389346321a9a160de265150cfbfd06f2f81abbaf3b52fb24323e6668e17d5994f75a23cbc9101198a263bfb229023100f152974a0e1d117de9863f8ab7e8e7424ef2a6c02bcfd55df11a9bde774f0d642a117f60fc906f2650030977f6dd1f390302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006730650230589f58ec08fe887bd972684e3784da34d1204f1e088e486489cbd115956ab1de2559a2412c642a340ee6c683391365580231008aa022f6bfcd97370afdd739aeec9692c0bfba94e555e77d6f3cdd94fd33ce45c483bbe349ef082afe8a540c8b48ae230302047c435bb50066306402305b974151ff604f5b06477f4ef401c1ba6271101f1e7f991eb6df71c61bd9e798dcb6d7ed772033ccf37d2202b4ff88d1023068d60850fe26ef35b4e606ef29e84ff48680f888aeecbf28bb8446ac167e27404b490c5fb5b998c459378eeb5115863d0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006730650231008276c92de202736d73aeff7980311bc2d1a28d46c9ab174dc75aee8193709f600242ae5ab6e70d1d505d79ad566e343902301cd42eee2a95f1b5a24c5dd1e41c10ad0cf439e0811d0a599fc859ae6d1ddcf031ec3f0bf26884835b2b612e6ed023680302047c435bb500673065023100c576f5553e361526a9c3fc405f34e172b7e4332a806f7185e5af35116dce7ddc33f112ee468f9796f6c884a119ba0d7602300d94661200147309bbc813bf970d31699e3720370380bf64bec08cc97eed4bc65c68ae92f07c2dc899802c5b87f953370302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50067306502302c59f06ef2e4c81f461d0c7fffb09c76413196c32b30d8ea0da8ef77248bad21d83d4a6746b40c32302292a326cfdd38023100d3506d51334a4392f900401ca5db567d3f20ae5a1dc495ca4a0338ea82dbc8c39fc7388c8d566bc6f0b839f1cc4bb0a20302047c435bb500673065023100eb353fbb68e2a170ca7229338511178940c401c9feb29cdc1086e091c6042c285fd0f8a3080277c5f7a73f9bfae864f102301bf527e82d794eddfcd5146486a91cc86040238ababe94fbfbb417d82bb9c03fba0e2723c6a1e6d752e7171ffda4b6f70302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006730650230032a9429220391bb86f9af90fa5b3fbbb7d502ae5c50fb6e155ee5f00735ad30e794e28ac03fc09782b077dd109d06ba023100d33b5d8042cea3678de77598d9273a7c7ba4f574392598321c50faa12f4b39fe0a930c72740dbd915ce3f2eba4e363770302047c435bb50067306502306095ec22f5f2d411bd9c466d0304c774b29e3a205cbd9754406d1658991840335b8193d07513f6c9e896b802fe961e85023100d1104d89c3427d4b445944dc33ea78d4c07b0ac7c46cdb7e1f5964bf8f348ca0526974f4d74a9608574b1680a1dff64b0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50067306502300e05d8f8585d9c709f088fe2bdab09fbff588f3a5f63e20a23186d04e8685f2a68d98b8818f73f4c100df41aa33674ac023100b3a3904afd5c5c0dd35d30382be5f83d5e15d90564c3745d2246387c7396b147232f9c23ca35e869b36cf5521828037f0302047c435bb500673065023037f5f13d48a566c4b02ae719fb19438042e1c25c0769df6ce60cd743e3f809bfca02bcbe657188aedb1fb822a06b9a0c0231008671e23f6c195958f52bd1b114cb3b16391a1a83dbf5e145801cede27e1902a1f4ca4916dab27abb7b00729fcf790f8d0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50067306502302f0fc5da4eb31f894e2c9c34195885c117b15afa62534f7ddf0b09b433c66fc3d19d98e34626af1d5921cee31052be8b023100fed3fb9f611606d900c719513687328346476691b265db3dfbb67a1b7f570054b5c0da1415f55bd1ee3589793e0be2240302047c435bb500673065023017e6132173bd9607aa522c9cb0065fee6beeaf63ea55557f1b75da78f3519be453cb39e702a8067f798198acd073de5f023100ec848229f84531c2cdaa9e4f426e87eacc9d8faa3685a6c6168c8527f3fed693edcf85c2ae825a486ad746b33a43a21c0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008971b635a667db6b857ff263796484deba59d538cf31b0ea6b9e324f13b25b024da89090edc2f192a961c44aa237e801023100acc494c124fe3200aac4eeb70ed3ed3eafd000c9795fcd80ef065c2355d9efb83a0d85c8b56f104b39fd8bb905674d1a0302047c435bb500663064023003c75f62583ae634c3cb1b845b6a38bb9ba809ea4c19db4361de68b5562e818588caffdf8ba983c831e397e34fc60fc002301cfdbefb80dcb71672fb2cc5dd626b12bfeb4bf51e19c53eecdf4497c0ef1c872a9ded9bf1c955aa1d8476708625e5450302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50067306502301f0046be228795ba6403986993edb1ff53c60759d79f2fe3e6e891d3aecacbe50b72a64cc50b0098d5640a951b18b7ca023100cb0c5e41bf43f5ee06b36e6ec69f856f38739f7fef334285a05e22682dc0c789a66f070c88168f05941e270ad3f521910302047c435bb50067306502310082af98b0fbccbb074097e1640330dee80f6c4054ceeb8b5a7c78ba09d3287274370e0dc121cc5a3d721774b09aae83cc023036d583b827a8b6e0c5ab551d4251e42d4bd02604914fd7929770270bad5aa8877cbedfa8311941e521f0b5886f12ca430302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006730650230354d47936255990fda02a2ae0d8ee0d38b1de78415fc0c23eeaeba98aa044cc1f64b50d72e8fb1a5f0a5190816153d12023100f5044f58d39cf658f86b4c35420f229cc21de2cc9de795c57742369bfead29e7250133f0f45dbb2c509e17301e9f4cb50302047c435bb500673065023100c6c5c1fbfbbe39b2ac52ecc3ae70ac87f36ccd09fa6936c5dc1efff00cd07e050acfd3e55e0015ce83faaf89acd355500230585b7bfcc101ecf928a002b0c90374eec0483ff6335f5bf6afbbc510ce0c5066417986cf4a59a433662954a3312b28590302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023014b690c966c1fb288fc0e323f766f4a5b6acda5f496b7f5ac5d33cc8931e4c8f0b5bef6d7c67297af88b1cc425bf534a02310094cb7b02ca022d3cd4d4e09add59af0c37048fe5a138e3f1628533dbe5539f609718d3360bcf0e5ead575700fd66fde90302047c435bb500683066023100ff16d3a060518d55d8fda6f9fce0c112d5738234529dc247f66ad6b271f8f8af35a22ad578abcc041d5fc3c48222cd2c023100c5df2fa434b666c5176010ef6bde9010368c53b998dc094d3aa11d4f1e1f398fe68730245ac9eab6bc4c2b1e6db96b320302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023100adaae2a7d0854dabb75e12c60421fb7ea368dc80dcd095ed05406ff943a05d3992bd32eb9d83ba23db30dd53e825f9de02307228c7e5dc2bcc7fb6cb3b4da15c03e337f60d0ec73f8a5da4722e7b3edb7a4065f7aa23de894d56b7e9f81a51691ed80302047c435bb500663064023058681eefab720fae3c95da44b7587d53828a804a32c08d4a08a92abf7eee515cfd50123cf9153343d1f2f1f1dccbf1dc023052f462ce276433f496dd6549567150f08e7192702b8a114c47a6fc60c740b13d31ed072976fbce6d148feec0213c10e30302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50067306502303f5c9baea3b925a6f8165fa7f87d57d7e249241fe96d18939643adfb144caff67cd43aae2f22af8db564c67a531b32b8023100dde9f0bffa030fccf5e7cade70968a01887ecc82e0ef6f42492565db03514a4436ad053db6d82e3058f1dd40138c08a70302047c435bb50066306402306ec24cbd8b40dfc3be13e5129d2c2e30e78560cc10e707599247f4121e7a08962d75938fee639ce81611d46260c5dc18023075b93962e27a1e5c78cf5f7d2ab1bd0bb8269d0930643baf67142abb9bd4a457e8eab99aff83508ca436ca7d7dc6f7c30302047c435bb5006830660231008c45ac1de8864568e521e5fcdbf50b431248891e08d8384b0051066a75cd47034d04fcaf3c1ba4395277afe32c56407e023100c4bbb4424b99bf6a581f0feadb0464f5b6ef0de3bbcd78590f9b691319789a409820c1ae0f822566dc9a288ab365566f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50068306602310096146c1f13e38cbd69a15fc688ad119cb1c320a5b9168b029e38d591ac6c59ca3f98803e213d0f3ed98ce142a8bdb83a023100d14f73feeb3a5b285f60778dc148790d1e8be7e9533cae0ee4e498f97866fbb760503e4726243a89f041428da0511ca40302047c435bb500673065023020ad93b05399a457f83d1b48db806156d7ec828c8c83e91b0e95472cab5b99bab8511a2135a713a4fe81381e1622b7e20231008de0c85508f414aae657eff2cc95b184b1a9f6dcce47bc5cd7ea3b6f2f50ffb37bda0c22e7b6c8a5d7d4b20805edd3d40302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50066306402304523d0440ab3c72c809829bcf8a97ceb07e2a5ae90cab42e84f120e317477376312ab2c792d2d8724d47a47c4f3be38702302b5fd2921f83a78c2f27849872976c7e55d792fa33253cef6e10033dd95ded0218c95b855aa9027552b7fc8910fba4a60302047c435bb5006730650230388dbe649cd72654bfbe748b1fac6384da768186155f7eacb4378217f48b49ffeae4dc6635c9fff294d89c576f2eeb41023100e1731d8c2ba607e39dbe9b4ecd84f0c89c15aeb53bbaaf4b854eec5ac16e395e466630b7bc94bc8dc2f8ca5b6d895bdb0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500683066023100adc5d8f84b6276b140a177b76e15d9c2f25812910f94e449b4c261afe4fbe0709d665d48cdcf0a50a17117705e059af3023100bf49d34557d8f0537566644b3863156eb8850966ff6e59ce6b85ea4916abeb9be20065d747e03ced7f75c3a1f66efa210302047c435bb50067306502307be56fd1c268fe0617419be2bf5117aaa6c4f4cf5ee922c50f5df5ffcda5c9ccaa59de45e842e5b8a3863b814e815a9b0231009cac383e19db74bc98f908b9326d5b859d6d1268dafd72771bab27ebc390ea2d26a5b58e9abf5c557502182d22b667700302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500663064023051ce0937926b4233d9c240e6379311bf32b674a8c5cfb2c156515200be6dba98cb30c6e1ac1b8ad664e648b11c1e29f0023016c45197b16c4d3fe6c18475a1214bc04f5b82fafe8c0ab10c0e4c4b198f8b29785dc524ab5879ab1e91a5e04cbce1530302047c435bb5006730650231008574eb2d091acba39a37f3e0512d868e28b76c3fceadb479b5fe39a97b9e4a06ad78faa0355491dddd23f153de9ad5aa023046aefeadafaabb1b744d1c62eb32863494d4cefb81f787feca67415690779a51b8c4513b8d6cffbb06890e856823bdae0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50067306502305ce1b8f93e5f28f53d14a94d4ee8d2a78e796e71d7c24f7cecc74e088756dbc20dd3fb87c06424fe751b464d3d3dfec70231008a9d65e74299199286215e41059ce6b1aeed0d471fa5a31cb5405e60e810ccc27bcd7a6d3aaa5ef166114cfd0a0ba6550302047c435bb50067306502302c10193f21dfcffa32aea89450c3f1a2838f3816c58c93c3fa45237cb13ef89c6561ae4ae2b3853eb960d58e94bd4a1902310098e1773af7eddcfe418946c16efd45c05aa7ef7d68528be3df28c38d0217fcc82cf7e81df4eec59150cc4b9c50d3d8250302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50067306502304016dce97e3bada465f910e94dfd081a08e2ef8ae61b673305c7b5ca9b5185e62441ecfa274fc3be9f5c8253da605f940231008cec4d50d179ea23a4f3544d3039c1bedcd5253fe3a3fef0e0f63425f2657833f669f144a002b03cdcd24694ef654ed90302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50067306502310089c0262c0d33dcfd9b71c61f4b37a68e24f308286a78dfca939b86f3a56548f2919b72da8f3e5d8a1bb2d0cf2d7311b002305a36906b35202de86446f08df7c0ed9e3fbdc19889b8d292d05352a6dc55a03130d48db34e7009be8fddbc0faf2507070302047c435bb5006730650230521543427e6a6b3cb3bc1b4adb0971fd190b8bfb971ff320220fe56c780dbbd7d6f40f6dbe6712623406c5f128e72f49023100d49338c787c1254b47594f8b4e467bd87725ea0130726fac66a02a618f36bb6fc8c4214ac7fb370fee7c95ac6d6bc3180302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50067306502303b3472a22f40df89bb23f7b4674b1118c802aaec4dc6242fa8a8692619b924e6e80493272e34685ab103a166652bfbb0023100d83fa91938b5c6f9d6502492c62c2b6a20adbfc0d0b629dc4cd666a8375564734dca5ae666f97744ef79fd4c995d12750302047c435bb5006730650231008a77cd5afd581cfc724af58baadad49d84dd670f51dd169d17a35da1e439a7dc56b65d6517829d3207a5279c53e1af67023036ba48c6f3663a24a0d782599e0a370354b3115ee03ee54c3e54a6efa6ece909970766eb397715ece522da2da63d68440302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500683066023100be4c7a3b2fce6e82b8a8641f81ab8fd462fb952658cdb7cf185beaf4f788d1bc383f20ae899d6bbff8f51c7e9e22b497023100f876b4998d2ad454c87138e799d2af1520673b1ec805a9b17ee719f85f2b7521d1d16d8f36e424ceeee2ecef7c54dd770302047c435bb50067306502303c1ce4510e858535da9aa09d5d11a50f410b3b4ad00853a0f816e207de7dbcb207654f12257641403d883c0a58fadbb2023100a8a791f4884746217a4d0ccedd53f13d4ad5af6bbc644ee7882031a0c4fcc7e77296fbc252c06913b5bd01f7afeb7c9c0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500663064023036c14bf7fb763047a070926696c6af8360b49cc823aedff6c37513f5ecefebb80a0c8d838e93c129e101513b4ac678d0023046ead1904f64361c2ebeedca69e4be25ea2a5e67776edb51b5a30f891194d645f7e9c748aac373f9ad910a8b5b3741e10302047c435bb50066306402305edda406203cb318d23d32a65983f3d0306ad26110320deb9ed0762fb5cd331c9cdf1590850086267cdae034159d217102305daafabcb5639c8f46b38850d57ad99e0606967377321be80db7bc468163aabcdc04733c3667cf1c5ac0c34330c163a00302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023100d0af175fa8cef207d63852f3b10fc9a0f0f6a57c023abb79047e2684872d1c5283d434c6532978a8025ab842c5a4e95302302e63b5894cf337bd47fddb5dda8a4c6a05223ec8faee9438e0783eb2e12ceec7c7f83a659ef31547775db08c9710bae70302047c435bb500683066023100cb7b96c290778fd5647dc1be0e38d8b4386b29d7fd99d208cfa0811a4044b1a160615027ffe073d5ab75a37e598dda5b023100c7b147cb66e971f2f1db582f6d3503e7ea05f9fe0b23e0f0d103a5eae4fecefa2db50465e7955101b6f3ca9a5c8dcc8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023100981b47a03d757c409da80f4a6206d894f336dcb21b1764ad08282df6019e77425eefbdbd99dfc6307f8220baef6e4dda02303d7e9119e76151a3f538fa74684979b24bc3dc3f327b0b01b7bbef009f868b530ccb3e6510ccb8f46b3377ed26445a250302047c435bb500673065023100ffb84cfe080f4ac3e9c2cde7cf4e81a9a876d8b28e44a5d7f0a104eb398c9202e4f83cca5334241d5705345dd6cde423023047707ba26fa9a47b2bedb337c893df658d79abf0f34b67a4042c8a8865888b60ffcfbb51e59d1e53f8ec3be2f3cce1430302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023100acb1cfe59784aaf8e9f19da21d018b15fe6aaf6bd0399535f239e4401857499a815497c139ee4372ea68914ea40c2c710230777c5ec0e1c342c949b5d62c33339359a0cd5ccca1c59fe1842d9f86dc4cebb15a538507c583835187e04dcde5c701580302047c435bb500673065023042d4aa398857b4ad7c2809441ccbb48ed5a2bf2435032b84b3a4284d3f47951b119ff227efedbf35d231fefb114260fc023100ce1410de7b9c7819ed35ec7e60579395d7eb58bf6d8577a56e130578a85719662ffad6806a81812189a91916b08c8e000302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500663064023025bcfdcb4d58b645598f38396510a438139cb901a9c17f401ae87e2b723be45ceb20c8f771e6b077ff765ec7f560b45f023077224d882c6c1eff6a94c5040b396c1a8a31b312cbad0fe4277a35128f0a5da1df5c66cc98c321015247bb00e187efd30302047c435bb50067306502300b1e19a5a4c08cb9d53043906d6d09fa4c4039c4c765a7f3ae975d2ccc80e4e7d537c128c7e172c1d641359d2912f811023100db699870cf6ed4624879f9a702b607a343d72cb857cd9e2a0b2c378ac01a267cb19d14cca222e16c86214314f070395b0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500663064023039b4543cb6fb2b2d2f79cd7cf65a97033b702644cbac6debbb4b6ba6e71cd6d1ea27b6ba4d59d3b1779144eaee20623a02307958bc1fb0a22807f6a16f7bfa3ad4c2eee8d76c40e99992b2e527fa2bc42fff54cb695076a6627586a036317193201c0302047c435bb5006730650230338a9a7337c3489e2e5d0a82e6d116bd3740cf97d11782d9cd97500c2475cdb0506e0d3c35c34474f5583a25fc96a4f1023100c75781f2ad0ae1472384857f7cd9c6e2d7ed77d615c082a04c3807bccec58d0436268ed704f1f604ac4fcccf505efe8a0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008e8eb17ba14ee6d9f3bd4cc588e05914eb46eb6c750d71153af26edc8f224497ccbbd6a6bcd0918d2fbe89442d3d1f93023100971513c461f488e33162f543c8895a0b08671961584c6c903293c49dcec45596d7a9bca1aa396d38e86f2811443301e70302047c435bb50067306502302b472382d4e2f84d8e17021914530e249ba9f03bf93769c85761a06446fbc8ddf8a09e18a1b6c083af843d2005c3d625023100e7a7363c8a6928f61d78c07fedeaa4dff94a5eb87cf4deea6e53ea56c020839765b73c29cfcdd18c6232ae7e1204af390302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500683066023100a90df22dd2ff497b78ac4cb9679e651dc26f5cc916ede4e7ff0b7bda83897884ca357988159d8f3db5cb5bd8b1b0aea90231009d00354d50ec90121f3b97aaac2e2975d44d2b877072b5a76fdef1480b12555ce2a6f18531eca688fc9afc335cf734890302047c435bb5006730650230330db62acdd66e9f6088d18a1c1b472727ca63929a6599c8b066f00533a2b296cc9275f587e870dd82713da9c5d66ac0023100bf176b4b3e998f723a308dbc629a3092ca6429995d56da50a34592c56d54524130780f3be47620b6e014e57c4ed00fef0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500683066023100826655f4b5b703bf40ee38d641d666e9d1d5398d37605776cc4bdd6efccd73809c9c233afd0708b56fdfde1900f29241023100e41bd88411e8d23c89e123751be4ef8a0360bf400e60e6fe60d5185133d564c89d0a0acbf094c4948cc818e8986d62150302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023000907ebc7394cc6b5d6bbb09e4307e370023f7efd95a9cb3b3eac8023b44c6a8fcb92c5105d4c323fcb352be907afe02023100daf67e46de294867d8044a9d768b89b21acf262c74e05da6c1ed8d444fba1d93411e51856c6c235285f33e171157ceec0302047c435bb500683066023100cbee737ef69d627574784ccd0f98008b11d205c55fae4ab4f95d80e2bf7dbe802b53d618123345b02987c8fc7b876b8a023100de6c364eaed2113aef399a4da27ad6b6f9055483e3a73ea9636fbac9f5a3b46e4ab96a696aadc045526d0d0340da17980302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500683066023100aa13f1500996ad79a77206614e14fd707cb57d49419798f0b3a393f269425e7fa877d4f6e49cd27634c8571b5a969e1e023100ab3155f9deb4abdd8ab8a923fed66682d29a2f0d3fe48c244978df6f0b41fb8e8dd91e11e94d8d1b3f3a2833ba70bce30302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50066306402305c2c9a7bef0dcce0363aadce6fd7a573bd6004713c0e0450a7e845e9959a905d779e27175addd35a011e82b6974889ee023013121b53aa5521a1b637b945016de20c58b42bb3e0179bb4c84f2c674d8c0a6b4444d48031b84152e65efb1efa00ddb20302047c435bb50068306602310084dbf6ec7b1f6dacc38e3ec575e911b435ba9f1d2f2cb77331fab62ac40b2d49f42036e58ac3c8c3e0215d69767633df02310094bb3b66f2c3ed14cdcd72737041b88ce88d8a21eb09167b340e4201cf877448cdf2a28115c4199f747eadf90a98195b0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50066306402306648d5b487b36efa6624da7f0b8b7fe5b81f227df48290c6d1e3fcbdeb7c21205c857801b55d26652ad5fc67d81bedeb0230345fd712f6a2b89c2207183efe92ea5ae32816c5337e128fc19d1b723f552e07470b9b00dfe1385444d7509843adeaea0302047c435bb500673065023070bb169e7b45fe723ea868ae3e811530f33c65a3d79ed58d72d2e6a1adaf7f081d06f1120d607a64f19a57415dcc4ba6023100982c3e81068b14c5d1075cf1a06ee52837a357e2a7c8b662c2b21235b1eed7c09ad00a4ec8db25d743c1b0bad5e2959e0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023078ff9d75286470bb5d62ee5544b9d00c2c607cb05097a93e673a674a96888a8553303ba7a4132c81464cc53fb31b50e5023100f457afa2ac8695d15b6106246bd9631e046e59152c395dea4a6e93d358b4ca7b0afd798824453121d47d6424d324211b0302047c435bb500673065023100e8f7818772a22d2ec39877f2d41de92d42ea9b2e9e515e80dff50d3215832277a935df975e28db112b557fd243f12839023061b6551fac317c3c7a0aa4c96a6d30342ee5b6c7ac516e5a0f4af175468d556eb06c34fd10255238c129493ca5b146680302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023100e880c4031aa553c8b3f955dc4467eb986888fa77112877a6d553533ee7565fed463a20714567a658ab434e2af38720ea02303963f0ac7845c32fe26cbae907cf5252158f6d79bea74c5fc8c79bc1cc543a4339d167a15fcbab0e694a7592e1c61af00302047c435bb500663064023026e18b79f9b9ad77bb2d2140bb4695670d7a6d7a23b3251974ac0d5060a163d30d214aaedf3b6e8aa44aa8107eb172eb02306b2dc0bfad1bae5eedd4ccda4d08f45d19ab5d70a77f009d321ac24c52f289c3a4ab79945f50442943b89dbf7ab75f330302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023100f5bf4ef6b4a6a8b5f5f78026e74583ced6ff00abaf1a0b3f73590f6d254c7b30260b8196a6e04f328ede99c576dd1a5c023017702eefcf1349c7c294fefa35a596c35370fb7ac40897910487cf123da0c2e782f996736cfa449feb7fc69fa70ad6540302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500683066023100e28bb9452eff5f099da7046553a1b8543d84b959d54d959dbd2cf6ac4c7e1875bce383943600897156c0026b47710f43023100b658e1be3a1837663080abdaec0c3f5055d8cafa92193687de909b174f80af41e2676bcb9456686c2af2f6207a92452b0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006730650231008d9255804997194cffa27c04c1a51ac9ecbd7ebd83a8987ccf9d598838449a40cb247c6ad148f03be7428eea473aacd2023026bcd9b76281838b7397bc5532f3386374edde9c47fc39961f4e69561f0ed7af537040f078b49e4e9e170c41d22c21ad0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50066306402306b56d51e27da11ad9a5fa895ffa1fe4174f166bab363e0821cbde1db3df08d558fca7a0c687adddd3f3ce28b287d487c02307e5da1c1bbd0b07f3f9d93c047e433c4c897d26ff56d5e28f3863475e95b8d8917e702b10f2ec409940b24b4a9c3c8090302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023100ca72b61650ad398134b8395a7415fad19707a46575a23b4bb98df2fde7d1fbec45361cc3a737aefc640a64a48c7f9f8702300ce27f7aaed1301b0885b8606b541361f84edf3b0b07d6197e64afcffcf511aa26514b119d811c07841fcd45484162920302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023100a83b31fa08633235e360fcefafa28a26e56c3c6ff3017f64f0b62ad2770d73da672ad39806e47820082ffce7ba1ea2270230191bb81e548c5344c1c7dd3730f7f0132b1082d0771253c1ca3a8f24a00aaac4606bdf97a68dd1273942c39f9630d5860302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006730650230026f606271c704806c7af04ce5dd58a36e0dd0aef306e62d5a7ae7e68d83eca1a00665d0bce8d3b0183743989169b109023100e961ef84c9757e00577ec1f01225785723f358e7668e116b1790adbd6325f3ad13f46b66948256472fa12c89bcf436580302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50066306402304f91539d923cedf90423713369e0f6f392b63053aa3b63faa35fab0e050dfc18a130391888db36502f41bc98120bc98702306c96ba71f9a22d716eb4ab43bb9910ffbd2801fc8e716e0777c1bae0a85815a324d0c34c58b7d46cd8a643477d2f8e540302047c435bb5006630640230140063dc2513eed3188d290226aa3120bfed5c6f18e541d1430347b21d77f792380033566f0962ce3f15bb47e8c3e30702303db68396c6947a20fc7b80efd46133c7f5c2541cddcdfd20b97420b082820215628a46712168a08e9d0e9d42f94534450302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500663064023026e9073eb3cc81cc8749fa4955825a1216c298f9de5dcedf29722874337b1dc5a3168a175e1d2fdf59469a000d87ee2902307eb38cd046fea7ed6cd19d2960f63dfb0753fce2d5b01e9201897698dba125db95da661acbd10eac3ece1a2bb9458d760302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023055931ed64bded94fb5ad6b267c7c7f9724969a59cf65c190deca850466471573808fa79673e2bc7fc5c35fae0d2c771d0231008d5c95a7aed6d429cdded228ec2539450d2c231f15ce1d38d03701e9142339235038b2d256ed5373bdc7aef1371ff4a60302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008ce9e17661c394253dca8223046ce85f1e930641542b6df229691e531512af40af5c752a04af6d4b16fb68b5965c619e023100defe24a235daaddcf3cdfd568b0a9bde090fbd016b07bdd81f9d0a3d92c578b5fe57eecfe62cf40f89a256ad7da3d0c50302047c435bb5006830660231008368ebe550b10c1bbb6e54e66a48fdfdd99645a5c075ac0c8682ecd7cb2acff0bcafdece99d71e149a1b03c2bd776095023100f20771e71ac4c117420dc9866989780ad3265818667cce0fc4d3205727c41a47a8f79561f1d7f0b53f23113241c77ca20302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50066306402306552a8fb752388c2f126491a2ee9833a1dd8f42ab2eef374477e7476c9ace2f1cfedfecb66e32b471dcf60123291ac1202300cb30144122fa2feae485830c26e04c9dc0d71781fbee2792ec1c44b64d59edae87b704d5b20da098d96495702136ad30302047c435bb5006830660231009c43bcb79e1a33ec158bf650be4db86b8cd6972644d56b31de2d5089b60825615be521d98d3e973a7cd4c54855a9bf5002310081708fdc75c0f9a3d42d37aea0346055866fe0a8dc0833bf77aaa473cd07f27bc4a56dc54b9e907847fb7742437ffd2b0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50067306502310083f46852a74e22cb404d69b911e6b1558800c6855191b9c8831d33bd10cff48d28e3169f010f04bbf15eead3512ad2bc02300c6e28d06855e2fc818e01a46b3a656cf49a1656c694b10cd0a3cf9e177d715ab3e6f89568ca3850cc0d01a0c2852b200302047c435bb5006630640230346ef18dfc6b2db0c09ebbe2863b1930fab40479544bd0adbbdb999db2be05e3071adbee73eed31321b5771b0fbaedda02307ab9d20f15b8cdae8582b0e7f381dbec2536c5a364be075d34b38fc7bf145248c57f20acad1bb71914d14b9bae409c080302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023100ea471232e1cc38d5c3c2ac926891318bc73b2a63f89aa8a472911d19bef77b145960821e7feb5207d2dd55f2b1befba60230349307f8c2f5327a6490a38a1c28f4a7d896ad2d3ac28edb0883ae44d0e3d49ecfb5af1ad5f6cbae372bb515c0e4ee250302047c435bb500683066023100ce5e37f4fe66756ad14ba51ecc3ef1d32c134a4f08e6eafece3e30bf817bb60162b92653e8d3c38fc9800bd6d013f87c023100af72f149956381d7c3bd111d4677cf948b555e3938eda432518bc6efc435bd5a9191d7fbc388a7eb61b7d9d6642cbb8a0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006630640230742c0d1a57a15fbd83704e58e1675d885f3af4b1009c68741a785d4d6158968a1a3ddac0d3a4c1d1a58c8c70c85a84d90230417ce8b7e4d33087d6374d8ffb5915ffc2680b1a0fea7c2265acc1563716830ee86cd4030b17c6b8ef9c6ad94476572c0302047c435bb500683066023100b4e202dc0dafded178eab34f8f612f146ba520cd4290ba2e1e547ef31080b9536c2657ed15831ee0a1f5fa562f487946023100dc2a06c5e40df41227721eb1cfc36722123fc9161fa7be8a17aefb2283e63afdc047fa43fa39e5e8224606057b6d8d400302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50066306402304698d294bcd7f5ea6a2b715cfa519ccd778449b89fa75962720155e189724c6ca5798ce5b4fe71a22769317c38c2b27d02307a484ede9102830d80e1d2887c3625f0a4b22ada2a57e36f07bfac14682c4968e846c54cf849948339d917310e93ff8d0302047c435bb50067306502301fd47e32af97eec5afa642bf349594983580479fdf63c0f5d3f6a5e1b14a3450602e28eaed9a0afb7851c2c0b44792bc023100fd22c570ce731b3b1a60d65f7a2a5c880e057c60a950f2335be89d7b8600098db4460959652e0dd19f0d03330be182a40302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023019863f8e1692ed70213f2c7448ce49c9abb9d4153d794d1b62510be68fa634e8f28c7635e95249b1454c74a6e5995e95023100bad42651c5f2517dddc0b947d13f7dc427f37b71e0be0cdb0091edd5aa3a160ed01f64351c456851f370af520fa2ca800302047c435bb500683066023100d2621de422fbf54ec1c9e89d175df63c3ca433f70253ab2adb5a7090809d7f0a0f6fffd8d399c6d0f4c28bcf5d718a3c0231008f1228b747542b97da26dc7ae598c82779585cdcc5e2655121be82db4d1da310d728cde7fcbe055137735f38a0947c1b0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500683066023100b69d52469ffe85c1625d74a949cfd5fffe6cb7b4147f7bdaaa798f8f1bda27d2bda560f566cfb58b1c3680ca0c4f1ee8023100c8383645ebec7a28425dbb43d356f7c9b45d245e7b10407fa9f708b91a237605c2d8c76965d4fe7d5f46ba3faf3d737e0302047c435bb500663064023020bbcae6bf79e02934160800ae65fe40057d16efe3291f50b9359a98bb2ba8ab342f5fe9fccc12d8c14527a8c027f82b0230397774253430e0ff6ec16af9c4588ff929663e735639636cc5e8d5b6889689bd99b2b4a615e7b72babb897216c89ab530302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50067306502302ad59eec232faadf813ede610375ed305669d5669aa04c9794964e8c6040495b2b284b5437379ec44826913cd832d9230231008302d5176349b2e89af6f3cfbbff4c87eebcaf2d3020bfd5e6cb958183d4672f48c2e346cf6ff030fe5edaad7deacd9a0302047c435bb500683066023100c9bc18fab96d2b221aeb7d2a851919958bc092875f79b056b0ff05d497db1c1259edb33b56d2244b4c2942f3e2306f430231008e6cc7acc27d701017fa5eb880bd8823de91e599d7166bd6439c3845ae3974016e7ef60be2d675838452af47753e11be0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500683066023100ce31411f92bca874ffdfdca68a6f4be7eb9da0e765f7792c70454ce1a498ba4ee6925527f97584a9c2cf5c624e564ff3023100dbb916baeaf2906175bf5eafce32272d88bc006d78b2e2ccaac9bfc973f1ecb2c2a2a11e2e6951a02f80607fc3946a2c0302047c435bb500683066023100c7b9abedeb41b1a0c810e6eb983969e6bada6c223ec0f1a65800b3839c91609da30a14f0a24c7425cf88ceb1ac7cdb7d023100f5f5c3ed834164fb821fabcea3bd14a7734d1dc8c2119089d3073b3e88d7adb8209f9ea6fe5613d57be715c8b50c4c0e0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023100d3e167ccd2fd883ff5ceadaf20a8f731d9f862fb351dcef5207a20d3b2aaad635fc6fb2e5ec642a2094a98e62d400755023057b7aeb1dc35d76685400a9b8c1a8d430754d901c24ccf5f3766b2ae28648c2491fa4c6aac69a38090487c1a6c4be1da0302047c435bb5006730650230717a1e9b72fd07e012fb9568f4c4ee585c76a1eae9faffce20b2b61d64b7c499ffafa5d4c210af0bf98e8758f8b82f79023100eaad8ef07dc721833fe22c748dd76ef47257f230d73d83cb7f52ebab15f420f033f16567bbc3fa693ec8c6dbd515c6130302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50066306402301c0bd57d82c6896b0693dd48d2d95f6008a03f6bd4747f1097a3b8ad6a3ac7d954a8d3dcb6bef6b4223c8d4912d952b1023026a259dbea2b9d96ad5da001dea5d8df0d9b6b6c2b5ecd328aa335564bbc0931c54aa203cbe73313f28ede0599174d6e0302047c435bb50066306402307271fc15e3bc6ce21f4da612c8c6ebda1501d19e26f849381ef813fa49bad89141bbb07e80da895d6854fb577d5b601702307e4e5624e80219f2dda89a6a2496ff9fee5ac9be34bc2fde131b7e3d531cc2d6b402ea38d6a50d8786f7455cb71b33e10302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500683066023100c44b875ceb97441ca318afb1383869df170b2455085aec0d325cbbd303a5314b8b75c0ba3cf0941d4a093815f7581c7e023100d0e4afe5881b0d0930a892e3cfa514f45f63572a50d5669a1493c898cb73a9d89180a77c936602f4ee62042e9f012afb0302047c435bb500673065023100af01164914caa4c0a78b589ae699b7652827b12056546b4f2cabfd3925535cdf5ad41849399ae56b54b2f7a974939b92023076122d82c08accf0275b565f9a9d1775e4dbb9f1b5f60fe0d47688672022b8a517d328ee64ce0cd6ed5e9178541f30330302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023009ad9037a7370717faace99ae74f5835671063ce1f8259d609c84410d06b9ea3842bf8221ad44a2b95de9644945c191c023100bda3f65df63dcec72131e9527804f0ee946a14131d43c9ddee17d06361f0e89404552e75ac3aa254de34b915d5c7161b0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500683066023100f8f21dd427b7e90cea8b95f677ab3fdb7382e0d41615e3d26f41ef33fe481fc150d7af282e15a9b6f0af553328a4b5f1023100d5074cab03f0b547ca8ceed7ed9e7e4a7fb97f6baad695ff2c86a66383daf1957201b3e522cd75cf2681f0f833fa5fca0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023100ab03038384c4c99b873a542a1b4e7720d77531046168f16411c95bf9364b6345af5f6c3ca381040ca92f1a707f4dae5f023065c9a07f763f5e87a2e52a9af40597cd835c8b1c4a1bd417b5e0fc8c4987bc11e3c7735d9069033edb049916db422d8e0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500683066023100c853eea11c660335727f158a91d0e5c120f03fad1d4bf7e4278fba7f3f0079df42a52f14fbd027bb68075562733df4e7023100f88af475f489b0ec059d03d52f880fef550e4ac8ffeb823529e6956047a66cc7f03be6119c48ecbebc13914bc5adc6c90302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50067306502306e9e82639a8be901b2c2d577339d7c4a88411183b2d0ba0c7c6fb0b37755961941bdc9b5187e7dba620a2987c029ffad023100ceaec57aa5d9623148a10e0a43e3ca2f937247fdc499d1dadb4e6b9ee75751c25d064d0a0932fcbc5371f71c636513520302047c435bb500683066023100c77768f5c8be97aa8c0e8bc02ee9ab8e5557c053160d2d1c27e6a4fb7038a10452824e6105cf2fdcdc3f9d57457bc4620231009617281eab4a47999c7a44cd6871dd827161e2ed767e26ac3aa1f88b282ff0fafe3920023d4b8e969d1ed7d71e9726070302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500683066023100a7188a217eb805728ebb55e21de93480849a608034d7fe4fbccd702f38c1d0d816c7909c62ad6391bcafd15592e5a6a1023100e7ea7e8c1fd3973a45753d84d63635885a391a1133a11d8c27dcecddd7b1ddaded917c0c5934d57eb29f745b0a24c9860302047c435bb500673065023100da91f5dd1673bc2e820669388adbc967f401871c84ad206d949fe0221c51b7d7290acd185fd9f062502023ac4582b14002301154796f30f2fb0232a1f6ab28fb08ca509389bc8f9f372bcb62501033ae420fdb3097cc87de618776287d7dc2f9544f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023100a9a79a8c0735cae8a632c8958b8a0c90a8fe1c1e907414d7eea983be36b2c3244b18e2bf3e7e3cd9f9f1cf14902cab01023040f3f4150a88d0d7d34d8a4557e3514f612fae98774c97bf7d11bcb9675b2e269254a8b63846bf38bf1c0f60f863d5c10302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023100b61509eccd848ca8250636d65a027bfd31acf71770525b573bf836addaec7e0f58e6d928aa56b86034514c621218468b023015fae847e4e6ba8870887c08ea41ebab1051587082a956f6f6b4bdb1806ad884e7f6b60092c6f2eee0544787fb14e8ea0302047c435bb500673065023100cf754da8d9540a834fff33e6633e5a69fcb4706f1d65bda742a16d5f8a2ca1d8e10eff3b537b4c0bf24370425bace40d023021ba35bafd2bddd8074d41d4b61eee9465a62013580aab73dd4c66c1a38d6d53444fbccf7b2b530ba6676511907e93780302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50067306502305b04fed388fea0112a9a8e4e141d385ebcc474127e9165e58e5ee9e32195c599465e313d570bb345c361411e9be3fe76023100c50c44970f132e73744fa720fe695e1b05e8a524bbf12ffeafb880bfb21c9f4a45578ad806957fd0fb4990122ce9aa790302047c435bb50067306502304c4c9fedfc700b829a63f68e0aba12b43f47db9804719a63be235dac4f7c4f1b7b72e4bd9144c278e3aab9440eb0b580023100aa04fabd6236cee500c51927c2c265a58679960733968b69601dc0ba410a26e9fbcce1780b8966959c4b7abdcb5ad5de0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50066306402301027bccb2492e824ee74d88ef525c6cbcee8eba79d4e0faf985a38e4a60b4af2f6de269841e477b0c19a2e30803ab5ed02301185a050c0edb65fbf6578d2482d662d219597ed6c3142e47e33366f786a78cc8a08a2a1edd16af4bb7dc1f9830ab4990302047c435bb5006730650231009dc55950ab47d218b8a7cfca352c75194dbb6c5c9e96eef2ded59e563b8a51174fab79118052151d737a3cbc7e7233dc02305db261603540b54ba8805e99a65c8ecb6d6bb040e96cff58f22f71bd15f3ed8487fef07c38879e6f75f3b01ccf671c3a0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023058a70cb2dca52f27eef15ec95722e1ba39b6a05d61da4c66bf7b08a946cfab95a324f211587911c3f75dbd4f9466285d023100e32d96da45728c683a7939039ef32c1dcc17c2b2da8efca2afd15e79168c1b902f44e2eed6bbafd6211cb755d4e3f7340302047c435bb500663064023027c22787fd409108ab3c192136aeb1d1165e74fe4320dba92c7a84073133614fe6cd4e169989efc14e343114d5885048023014f34a3b57c1cb9aeeebf483c4ff19b34cbc7915649864fb4e93f4f69b18d966ab786d2e9872fc431c9ce914d4f3cb170302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008fcac786cbf3e5e0d5ff4b5671062ba914335c0f7afd5323606d0257b81049c66b004717f3a4c89d77bbc50da0280e04023100d5a7e9add2811f1f9c08b487d1e02ca579f4661ccdcd436e188f877997da9d28e068668688157a9fc930f017304189de0302047c435bb500673065023100c09a4dde5977ebda63db45b084ffb27c569707a72ec5c7386d543538c4e0ea40535491350f064a39e6dc2d1e906ced9f023054c4fdee30ce3f4eac8b5fce146200663c2cd9c0cb9d11eedf8c7cb792c0b5d751079a98467e01263c8881ab258852f80302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500683066023100fb0acbf47282eac575479c1bea570874cc31b5fb1b85d32cf3b3e29428c8bea162dd1de7ce56f56884e12c8d12622cbe023100f4e4428c005b1c47cda4f9d518314a9a9e88cfdf9c5218a454d94ae7a2066640559fdde60f5d7e066de9d1e632a2f7560302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500663064023038c431268e90270a6f4511834111634f1a54e88ddbabec27cc0385bc9a94e8b8b6809d3646466c047c139791bd316f6602306bedf46061025b5e8e810539aa07b44dea2048057735b084c6bfa24dc700d97d0a04e8313b46d608fef7f5fb0c7a4dfb0302047c435bb50067306502307c11bb289d5b404350eed52aba70af4e2a059b070979ae5f79fef984f2dc5949058b1ca78535ab81e139023993f3193d023100d6092a327407a232681c806922a096eeefc81c3d22f267e05f88a0fc5f3c749e07a1c865b503a0317e8adeede33799660302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023100d94d5225f377b06476b9d68b204df37e5bf5823a9fb9ec64fc3f236a5b23504fe2ad01cd710b814cb606478f44ff849502305bb9a9fa32201615162059e894211bb3e4d8b720e5ddf20e57c22ef9879b205353364206cc04ec8f28eea02b2eade7180302047c435bb500673065023100b168523b975766fdb3fcee994e5291abf2bd4236aa5e755e68fd44f11b1877c09a726298f1129e9977cec14f5f5da6050230567ecd262d44cf6dc4723ab997eccc32850e473b33c734657f51d596f20675d699803702599a262cd35dfae22dd58a890302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006730650230462e5b5be2c76bbe14773ac0bec4c0eaac6464c1fd6bf81e890f29f754cfb32133a8288183915d3f1992b55b4a99dbc0023100d73dd425bb01859a32d225ff38d5c6482ad4dc0302b64b13f517fbbe173fbdd0c05007af16b44fcc42519337d61ec6a70302047c435bb500683066023100c3e6a53d8113dee9b53ae9ef41b7ed7c1c32ecce208d7d57f52c7945d7aa5e0c62fa091d4e4b8de0d879a028f187d172023100de04fc225b8e6543c0919b447ba583f5a8488c45d76972a122e2d34ff5181b1228d54f21a9890a388a375c43c8bbbb550302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023053f251beae33dd1442e12f11834015d925a2e6de0fad41b644b750f0c70b3b3261e7cefbbccb7740970c38483bfbbf77023100a450e4e7d390b27473e3b2084f3094f8236c5bf7b0eccfd0f04e43d8023c848fde12089738cef3d1284f1083bdfce3da0302047c435bb500683066023100a5628cf0dce77d7c54950862f9f2fce8fad8aacf2916afde21fbb5d8292be077bdeb7782e5b58d59f3047c6f8c780c9702310085db386a13d90f5b96cdeed57f7d1b7421d106fc250f6dc40e89f297c0cd97682d8a4d71ba62ae42aa6cf9974f4df0100302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006630640230579ca85ecdfa8d74f24908ecd267982b24b4d9896c52655bf5950dd1608ab366d861fc85b55ceb2f9fc3c5e10c9e9b68023000af286362ab4d9b4607fb24a32c5b207318a8d3759929764319ec8972981a26d214e04b8c8829bf63fe7f95be76a79a0302047c435bb50068306602310087389e4cd88e92334ca623400195697bff05459f6abf63d228a8f0ddfa3c57b5a03668d043b419d6d317b768e07d7a800231008b6cd1ea7eb472bf97f0e94a4f7074a43f1e761dc8151e0736ec05c711fe8d2918a24ff9dbdfbc2710a60f4303a4943a0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023100e01e8c1595b1b23de135ab6d6a2d46fe8228736b80999faeadf77c51a69a16f1ec32ccd235b8006e0dd0f20f79716e4f02300f43913f062897d925555f171b6f45b0fff10dedd1d3a6d4aae0624497c19ca28a7f3301c89da5adf2cd6a151b9e354e0302047c435bb500663064023015fd900245fffff71a6512af0c80c2f6bda1399647024cfe55367bedf570503ae206871430e5d00a487373c94ffb0079023052d0a89719709508d44eda5e0d916da45f3aa8caf0ee741e11c899755618e75d3998f6c5b85d36b3303d8439e2751e5d0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500663064023042c894c25158a7ef2deea9d366ca53d7d5f417bff0d0fbc8969b458f205027f9cf2b69b6466942eb0e45547d77d051f50230504ee81813e6284dac09165a624134b0abb13a05c395671b751f0753a1c783d792c8c429f71a19723ca88dca572788eb0302047c435bb500683066023100da6820019dd785de437cb884ffe827158ff1cf4fa18ee79a0403cca037bb0bb609b590781b7be26849b18a945db457a3023100e9c733a04528d8c03e117705565de7bec5a5393cbeecd050043c2a6b8189bb0a2504fcd71682aac611d607d734519c220302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500683066023100f5cf273df095e25945d3e2914dd949d8064d1c39d492f5c3b0729da9d135baebae578a1b59776cbe622973d710f54523023100f1b484a755b0bb77c49444249d09a404a61d555dff8d69a354f4514f956ff0db5320a57645d0c0577ceaa620eea30ac40302047c435bb500663064023076ad3feac59b266c5e163ba6bd4d0b39ef74b1e548bda9c6b537a93cb8de9ed401de4360db96269aa649a1f1816c5cd402306cd87f6783001441ac734d9359a730f107eea59f3d4cf776ef2ac512d4b16b91a989b0e128e5cca64b9a99c219fef8bf0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500663064023013f80c276842ee8df4e7a20598994d2a90bc6b9ef05d3214f5a028b66ae6f71e17a56b436fb7af2f06c815241ed3c23c02305ffdb27cc6e292bb5f94c35307577bb6fe9b58e89cb9a68218da65d2191ee14af70104437c3f5662a9503ed8d284d8b10302047c435bb500663064023031b755135c011d7072e40e39a0cf63af94e97a9b5846c9982727f970e3e2a19f504adc4db9a0c805ac340f7086e4abba02300799b42e0a48c0ad36936017c43a31f3f1fe44323d82a2227d51b642cf59cae69108a12ab7734ab8cd80e0878a25963b0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023064254c86842207b0921a218b1de313f28eee884317307c080d718bac1658b5f640e2257951ae2128b524fcca3d39bd1c0231008005493d046c4b7443421b8ddc5073a171313e7c29ee1334a7d8c7852fb5e6ed52f44d0fe4478db56851d68e8434b3670302047c435bb500673065023100dcbb1a3565c14fc4c36654c74f5807531e342d0151e83454c986526f54ff1d0561b89feb080fe1cebcf2ba800ff7307602306984ba99040276406ff63c8ef42274f1eb0f21960ed4a9d9f7f15894e63e1e7a55c51b48dffbb3a2d0b915ea451152110302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500663064023062e13cb711065f7e6528dfcf3c195add688d825767b24b4d0481be15c40497ebfe1288f3d9eee6f07305459609c6157e023012152a6803255089c79d47185119018b98baec7dba7fc74e8499029cf72d9cde7d6e94d49e5746792faac4227e36894c0302047c435bb50067306502301300f3a831651c1946466494616bfd0929536bf9355d3b44e3685e130466548303ee5d92ef81f291b4ae2a34e3e1caab023100cab188f0697396b8c5b65a3049516aecea8e8cb8c78361ddbd3ef9c0354e9acd5846e866fc2cf49da11b9d2de68f32ab0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50067306502305e1f332de9f11a95bcbe63c9c9211933f5d2fe9fa39d168004526c4c12b75e3db50ab3a74a1cbe11d64a24726da81d32023100dbdf19d016c3b7c53d3e3333018666f49189cb23359bf069315b7d98c9503eac41be413a9353b9aed12493cac02bbf850302047c435bb500673065023100ca52eee0af3884d5e98c09e9abc2d0398617f7d29afaf0abc7864251fb26d10e98e2059045803c5abf8ffc856eecb6c40230792f642d10a9cbe0f11bccc70d940d069742758524387a3d362b725cfd8e95ff864f9c4a97d8e7aa3bd0e34070374bb20302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023100820cc57849b0ad9cf6e8a28c84be1cea95b5aadeebd812048ccb45b142859245cf269e648f1f6fd72ed49c684353864202306a2c3db48ceb85a02a1cdb912c7d81fdc1fb7913c43d6348dd603325211058ae341cad8890ae45350f499e37cde43c340302047c435bb50067306502306226f48eada354bf263b50d93cd6fbac7bea0e0f6ed5efb6b8d1a54b11ff6d4e21298d4185efd644d6b38f6ba42cf6ab023100e4b452ec39d2910728eed3343a9f04b2615a63b1a306f89a273f4ae982fe0bc818267b480d8030cd3a2e4a62f1a888250302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500683066023100997b97b48e9a705352977d716b1157f21de6efc0993d55f52ccb4b4eeedb6e76017d010bd772a1960df60bd980e65b33023100a2a8c168ad303bb147061bf5d8162b236ff4fe274e6d2cc9e41138e18ebc0710ee95b65e43a09c07a91030ad561015c40302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023026fbbddb29c1681caeed13362da5631ba1ae12ed3a382fdeef1f7915c549fe2c5e1436bc02283ab58d504756b370d5d1023100a3e412aaf66b2d293b42b7c931e473b5a0606d2b73db33f2db67b797396f45fc706cb73bd4db909ed2da55eaac61b7a10302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023018269e59bc5110f02dc754eedc3703bde15dfac266734c85234435abb846282f066e8073bb799077fc8eb430293c9d6b023100b9c9b90bbd89fedd1282d6be5a4c3c6be99cdf1e84a9a8d615074d7691b1169b4e9b45d04fc1b0ac70c98008356321310302047c435bb500673065023100aae756f50d3bd2791af2c53cf7b99109fae8b464f896d92399c17cf7d6ebcbf885e245a0cc95dbb9f500f1397efe0fec02301a8f5475b5d524002d34e46bb0be5c391f01fbef11aa2e3866088a50a1c24b76f4c0544b1604e337189d81dc0a8a53360302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023100e4da2ed430dd30f4f56319797fba6c293a04ebc18bc921050ba22aeb83bc9c4444e3a0c3200f89db219133ae4b41015002304af9851a4e178d72960bf0d07b78b9da89d305ae8ef07ec6e174cbc63ced47f09a83a1d0c897ccce9b7b1d1365b115ed0302047c435bb500673065023100f26040581872e5362c8fb2c31a79a24ac79a0cc4e238c5b9c093c7e5e5fa3ab5187d5701e7cc38f15c71214cf255c9a20230203825b9ffcc372270507098fd0737c7b6bd37e7de9781b08692640ccfc4d6bb75e3f874b64614ab3ee86d091422b95d0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50067306502300cfff65526d1e6560f1621ec90a784878ff830ace455da1477cb5c9a047f6edeab7d2d94c3ea0c3dd3bd07a756baa71a023100afaf5b6f47eae01e9fe20f9749cfbc3b37a949bc39b429e1393ceae46d0e4418b0b6441bb0a77ad4baa80e9000eccabe0302047c435bb500673065023100848a4761734d6a1a61acca2bc5499e8b6c83f549e73652c687997cb146e25d899d3431ecd7b2ed68d10dbad79ca1deee02307db218cf52094e663225a778fdcd43c407e960a1b329505a1b0d8b73be993628e205831ffbb772a0a1240cf8ccad22140302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006630640230377c33f72119971d270fcda7147a1e3b24cb237ceb7fd62505931e9f40c9eb518f5fb5441b37c7924a4cfed16c3449ec02305db4991891ea2a2a0078eac34f374d52666c14564dbfaaa72c15f25a6d54478b689cc5a1792b7e0a8b0591e113a6e6ca0302047c435bb500663064023006ff742d18b85630f2ebef2580f9aeaf0d53422dceac0daca8fd9127a5d668a49e4d7fb95bc193aed887fc8842203f8102306d80007baefef8666fbfbf4bfa37df2b0f0a13442df4e2891b1bfbe865b5debaff373ab2643f1c4a66b60489dec0a82a0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500663064023050a0903373de2238845ec93495ccb47391af1660b2bc97c353eee1b362a4f1d20040a670a999480c3cc4a484632a9ca902303060a190907d260f61cb917a33393ce8968fbe69234741e23c2939d8d7817ff3df67ecd499d0b2941d4c914964a467080302047c435bb50067306502306b626db4cacd9c2370de66061dc3739e917e5b90adaa308b9d70f2eb6feb857ec7675a2770af9e41323b81c21d459ad402310097bb37971f29294629c81ebd881e65b928297db39fb69c6b9469782698872ec7c8c852ac05b45f513390e620b4f650a60302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50066306402303fbc0109023f83a20627aad097399cb5dce0cf3d989dab0a3ee1f021efc169db7b60b1b2c76e0b499ab566e0e93bab5a02305973c711389b24999d3f05564ed49a62e5ba84d1247e9c62bd664057622e120d0d906e83a935a35c491bdafe440b4acf0302047c435bb500673065023100f168d649c7661a9e21c15713ca1cc61851cf7cd831f0b8789faa4c50ceef883a6e9d58582ddc60e19ee2bda7855eca890230179703bedb5b38f3fb5ee3b261406fce2318fda9cf65ca793c881af64f2e36ebdc497c581f3bcd5050e82a03762c8c010302047c435bb5006630640230200c5ddc6f7f37fd11aa0aae264ca2f52b27f292014c389f559a12d66b54ed80d47bab3e97cf32af68b4582e100e9a2d0230501abf9929f2960c516f17b1f337f90fcb6ae9c489f62870ab90534e0f943895a273c13033b971243333e3d564ce34dc0302047c435bb500673065023100ce5e203bde5630bd899701963f681e202d75b680e08e0f7290fad8d4fe454298199f89ece0b711df7500ac1af2f948a30230231086ec760d2cc02ed002699e5ede0b14f92f79072aee99110517fb8ae3258aa3ba427258788f1197574aef5479151b0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006730650230730cda8e718b4b982093dbb51931d655c50e5b9301b14bf0fa350cc965f3a4b62486e09fd3127d3483d05e326d0ed90c0231009e0667e73ab204ca74ad49d157553df7c7f00b34215f905dd3ce23f8eb534044bdf95640409a6e6f9ef9f2d652a21a430302047c435bb50067306502307a3bd961fed99337d7525829195b63dbe1e116ada10a24900c0de01b04e6e3c1059bdcaef18dd326f6688e0af6934966023100df6bb2dcd5ac88cfdb8a870bafe3d534d8c5fe5470808cac20003b9958a6e302e4d9fce83192b23f103c05d95a1816db0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023044f8138106c2bbd87eb40696e306bc53d932a7485fbd4c0e892b5e8ae5e381ba9d0b92bbe7bc829051e14c9f91adb767023100a0711935d917966008bb9c55174ae395aaafb7e9f684d85fd2269db863c2838e98f2e2c9bd3660601015929d3ddac9f10302047c435bb500683066023100f08e87bc465a1fcd38f5f2bb8f0bbe50e0080fce69baa17e60ce597a451e17fd8913ace7201a1f558bedff51f0893f08023100e41c9d01e82d3148399fa13cba9975ea1822cd2350300792ed899395d3043ea9a4f4090e70f3cbca017b6256c37d9e3a0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50067306502306467ae9773a0d38f8dd626e6debc768c5b3d4d8abc5615cc91b3a5580e7a4315573da235db1b13f7bd2909b7b466b2f10231009405a2f4dccef0f743dea264dd4f42d7afa5daf92a7a69cf8e6b7a80dd8dcee7342dff2c1fb892880da72a6a70d7d0420302047c435bb500683066023100fb61f1fe0edab2fec62332bbca4066ca95dc7eb258cf93dd417eee5651d3dc4d8072d69cd3aa68afddedad31781952da023100f0383779e58c44ef4b0d8e9a2866ab35cb332a2951497b8fe619d11dc6085dcb9d599b44af5a940209dc82a5d70eea610302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50066306402301683fb9af43af5b3928f1d0dfd1ac2ac15f74732b24b54a40bfbf7cf152a458630fa55f0b3704281297438aa97a2266b023053465022dc354347cdc45c22520571bf494a8015386cdb0da3572a406ee543d76db4cc0aab7091a516b1caa8d3a0b6f30302047c435bb50066306402300a4fc4b262817b854574506b6752154b239cd0ff60b7839f642d15c26047bf2828eee7cbe745a8da5a7969d1fe6aa1c2023069aa3f12e943f1ddd42414ab3d3ba40232d72692ddd60713139dc39f0c9da227a5871618e5183a04defebae3ec3603a90302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023100840a75f01e90f4e62f3e38c3602f3c3278a8d4494134e0205063f9b7fba4ea9befbfdda1adcddfeca0663cf5e0be4ebf023046c9f3a958ec56ab7193b29ece9c9f2085ea9f85f395d1c697e1b5675002a302c1e7285361d30862ddbf48ec8bc38d520302047c435bb5006630640230375054d63cdc6b9c9b9f2b44e92a8b50feed597e43473d079cf286b48c00d37e0c779c573d2766b1baa7c611d4f56d99023021ca1e10979fb10481a07dba0cbc9156b8f8a2a608d74b37b358b08cb9869d5f15ba92f22f930d776a259cd3e4fd09a50302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023100ea139ff4064df740b101156171097e5bda58a963901cb1e59c5a4dfe302a7dd34cf1a5804ffd3c63cf452d213fac67ce023066557d75e59af8631be042d21d5b075504a60f33598afd439290fa23d6e79bea47ea6874785fa0881d210dc15d53564e0302047c435bb500673065023100d33b6fbbb7ed72e251e3428a0bdbdcb6c39f5fc5c5461cb903363de67186c5a40b2af4bb5e3728167ab78a09c85dc16102303870826f0e4473b9dd4ec4d26b065cdf0c2f96c1bd5ab8c3d51c843f4303dc9086aff5c8fa159d337682bd5336e8b74b0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50066306402301e4cd61c1935cdae6070f7e0b7bc0f12a4c5c059681e1a07bba1d378e44391e90a385ccc70b3acdddc2472cedab073d8023061b5c726c369248f684fae59182c574d0cfdd2881dbfa5a0c1dcf9e5e15ba48c18eee6d11637bcc628cd30551dd0319b0302047c435bb500683066023100dc0c9f541cd9d248417d117b099e8ff63431e6d9bb726114efa5fcca1ed238d20d940da034e54ac4827809448ff34b0e023100e54ccd408191658485dece8eebda2a5d624b513104b2677db67f0c3a99b9b4796c859357a83c9e3b7b867cad905046600302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500683066023100a8814f3c86138b21292b336b3ec38359d0a8d7bb075452b255956246d6b3c6ad55a81fca81b5fa47d1d6df68e84519fb023100dc00409e2595a98358bfa5639cfb10e54895776416ab907a153572d05d26b530eda57b82c757473c7306cc3beb1d74970302047c435bb50067306502305569e398f55b16192523251f1e54fa462561d4ed2ff1366811584523a964afc55d268c9c5374f9a0393c9a7fd471f9af023100abd98a049f1be9a9a83886138a354d85110aea3864ad36d896b58a60a1fac1321583ab883f75755fb64ab9fa3d1465740302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50067306502302f461982603db79c94957e1c1641156351a1b2baa351653d596bf38bef85d7aad51e89153dd111621745ce78fbbd988d023100eac76db4e99cfa62712c0373b990087264b251116e43c31a2aafedb658b8877ac4479e85f96cce1c631d47aefed751a90302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500663064023054f6f78ddb7b141d91e84ccd54eeba2ada548c87bd53af7d3b1374974d4769167db8075eafd9da5ddb75cc8e8e9008190230049485161a1666d440532a3f2964c852cbeb23d5526b79ecb6d5485730e604be35a3b8c58548b1c9b8b2401de3445d090302047c435bb5006630640230405ad7331ddc17672683ba83b7ca74290ce92b7adc4fb0a1bcc04adee408c272eef47a104b3e7a8a250136883156b69802305cb80cb74b17b898cfcb6cd599e9a1e9e0c75e23ecf3008dd8da668cfe98c3397dfaa85620794743a83653ea87a7299f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006730650230679f524b3088bc72516f478b822d31f0e077f7a430e8ab9f047337e47824eeaa0e71bdbd74c143da431b70da6cde81dc023100bdb9b12e5bafda0df47d93c2f3945b7ef4ffcabcb462b676ef8b92b180a89ceed718aa3267242f741ae65493a9275ec00302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500683066023100b7f35dbd81bf0362931990832bb59f0fca84d345326828659444c0689de41a1ac1840716664f2d376c23ef79b97bc537023100a8ced62aa8941e61c15a4883cf2aad8995bc332cdd296ebbb8d73d9f2cbe7b6b05b3a9c459a7976eda89b091b93c9ea60302047c435bb500673065023100d9fb0f055d76c598f077e138e7ee274b463b75102e4adde702734437a6c6c22a6311b1bd5fb13ea334e0b3e05a871d1702303f44cd3e55d3cf41f6dd5e4322363a025aa76d11c8d9fafdeac22a1430150240ef5dbd2a124b61066fd6b6ecc6aec7510302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231009748ef5633dd12c9f3e93d97afb394e73c675d561670a61650232d0337707eb98caf3f3934914c5ad834c5179bce0ac8023100b42aaa25172a95eb4c76bba3655ca9b508f53f1b343d3c0843b0763d070cfde9a5a47c5b3ae5a3d95d9deaa2306a54b50302047c435bb500673065023100d1f5defd5168949781c0e02419c5a8dd3cfa67f476b66f684f33812da08274b30368cd3d47586b056dd33fd5dc101da7023058144d5a7a4251ad9e1ded0263ab84db1a630c2e3437cfbcd19771e86980515dcb3e453283f19806dd6b5f6d86d573eb0302047c435bb50067306502300aca10e9cf6a9a597b87d7c36f002466058bd72c3b4ee1458186842b0f24d81f29383c68d0dcb1f2c03604881970eb00023100aa361a6b50a3c7d1a4e8a0e1cf3800db5230ce39fe6be2d6b9bf9c2860ace5ada45a1e9ac22472f144f1799fdcd1d10e0302047c435bb5006730650230032690394b77ebb433deb798cd4a852999255b27a32fe281bd8779eca1dcf550ddaafc537da3bd6dea881e19005e4b68023100b0a739c4391e7e77c7de09bbb3d25b56215dfb6d3da66bd66ad44c57e28c36d7fcf7d273028f51a1f2dcb86f13a368eb0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023100e9ec6c636ffc55cd7f4ba31c8faca6f80b5a8388a753f1e4ec9fe00f4706f4f99d1bb068c69a71fd009fd2cfa460138d0230432951928c4183e2fbb0c76d58abb471892e4988720624c86af656ad99c162ed391d169edbfb92f86dc820f4add5d3e20302047c435bb500663064023062c79c7653bf1f8b7353ec8dc6674af44af4a238debf8dc0c34af3068ca71fab9050131cc9e8d8482f36b391b48228f402306ef251573a338ed05858d529476ef6c2ecfe3403cf371d0a915251d93cb2c0655601d10282cec2df6ed8b4279c1e4fac0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500683066023100e69b0074af6fc3ef729237065ff208b4b4188f784656ec493baa1d512774a4ae2e9187698bc893c721e957dd184eb91c023100c27b4ae3f3cc13a417ecf6a084a0c26d27047eb949f0bf597225202fea29999779a4e9d4cab9144fc64d3bd06b9671670302047c435bb500683066023100f44731bd56bdf149e317cc548055106526dce1820781ecc28483355fbf245ed1de5c1df6785a0f9238dfb3e2ca2e6f2f0231008cb6bc68d55b9bf0e826cbd8955fe962f293850ac9bdb6542b2a4e207d6ce42ce9523924f3219787b898c84f30c13d9c0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50066306402306bd217a6fda401ecef56de2d714b963e0219c4a0fd11b2e1d08a360b21b2c1a7620122714cddb708fdc1115b54433f1802305f287fa462eae294f85af269f029b0cc0dc3c39940ea0589054c288b19228146254810dd23796bd62b7d445934a476550302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50067306502305ed354453c2d7a91c4827cbbb9adea0662d105fa374132b8ffd06bc1bfcf05acebdf0cdab92c170560c371ed848b16e6023100ce37b7b359e3859c8925f0a780b239595aa0673fbb306ab7098c40378b93ee1df8ab9d423a7364dc0d389b5fbaa1866f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023100e9f49d8566ab796b1492ce96aa14569b99c4fd48981a879d94887324ea52af3b3d4224a8caeaeeac1aa4fb5f1dcb71680230296b11ca885ae938ec14a86bd364b2e2e376d080af9685afca9fe1552c6691dc05bae4dc78bc4535f52fafa16b764ca40302047c435bb5006730650231009a17977101497d0325f4df8c83df8204493ebdf32302663bafb82abd34a0e5511264c7e02b342b834e17ca0d5e281f81023057c25a006b24b6909c30e7e0a4c8596dbaf4cb33e775805f07173d5d1b8312ee4711916c62f626a4f4e06cb1cc90d28a0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006630640230446608c9cdddb45d38bcbef9e813fb65dbec421e80457c1efd445a93253257f7613695d6ede7e8706cd70762c556f19402300762ca462757f42939ed13f305006de623a49349fcbab67eb4a025251cabf219a631139d4b7c8889e0a23f33b5f4af310302047c435bb500673065023018376d475fffc153fce90d078cbdc7f711d80008767b5ebc71b5f7576b1389c7cc3f5f0b8de7442a5f271a4c055ddfe4023100b19143932170426245ab3f9a8d11eb1954ddb1a73a30a91fb6c517e9c8933f6f708546ed77fd2d764592bef017718ea30302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50066306402301543035f36dda9888f03a8437b7202938ad5c499e34814ac1a6b865e64627289ed4dbf6be0d6183885b4fb15d97041c302307c6803eddfa9a06e93e84b41e9a1a90554c79e35d5a1ab46f9ef8350e74115141748ba6cfb048541c5b83782a8a283a10302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023100e464f23be703bc4af3ce3cc667841f96f516b963719c65d2cd8b2175cd5e7db6c2777a4c459451bc7dc10e25bee29fb402303b0a08098c6516008a49ba4cb2eb84c420e205aeb62499d071240f4f952144898f9719c0cc03d857c2421018d573567e0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006630640230226214524c292d8c3143b539456814b5ce524a1d675f48459bdd4839e788e66a2c30a2de36aa9a7cbf46caa538a3d7e10230625643b18282bd39afc5f92f66d2d2884b4eb94b868e3ccbcc48e52e47c29c62331c0a19337b1d0eafb71ef9c623101e0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023100cf06fbb93e5b7b8c49d91a5ccf72b8b8cd1bc363327ded00cfef40e382ce0ccfeb30edc2274a74c8c6988ca163bead48023072fa8c085e2ba69eed3c1c00fbb90e5b3aee96318dd18d6dcb7ec92f3da11669f40888324be30e9fd8880dcb8838d6e70302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50066306402303c662c359a62c9dafdbf630beb9a6db6af13054150176106329b429e74d34a3a4f51de4c441adb71941949b65e60529002302c827ab9e3b952f55109dff1b9ca26659d7bec5d1bd82d6b7a946d81ffc36af52202724c82f61eebc746ee86adadbaeb0302047c435bb500673065023033b61990a75d2d98f013f494a8d3fbd06994516e4c7648438664908298c00dcc0f069defdd03a2015c679f9c5d6d8046023100ab8ac76736a823853857bda1cd3616bf0a179cb3df2afc128166716645842c3b6728b58c18ea5b0b40197e47bf422b880302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50067306502310090e3ddcfa19bf40af8260236993d5d05f8bd136a0455c560e350c89227059815b69b1d449072b331f29e148c22389cb60230675af0016a07bb5268054602e0eccdfa2c6633bff1a9bee2cdc1bb1b044f0252ae7bc27864b497a5130afbe1f90502950302047c435bb5006730650231009171d44a82735f2d05dba18ce97b8a0ede81532d147e30603e4203776f391e43b206f32e6290fd50588bf6e7ebb9faa4023074925567fc44c1c57c80b64fe9cfde8b54e72409b942e2b7bb3b081c68066dbe06aa052b3f519c9a65a7de67c331287e0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500683066023100a44580e190636aae725ecc0b0230cf2dd3f009aea3adcbc54220afe3de9c0e724828a0eea422b317575e7a4f151369e0023100c20c1b8f1481b2c784e2bdfc99bd5af24ce2b7eae908c4bb157c84cf24346b9ea09350ba94b109f150fefe337a1bf0230302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50067306502301d4c3c9f202140c4e03e864c371ac9538e3f44b2afcea0feac438909e862ca20a6330e699cd2414db6f7cdbcc81fb40902310081d4e3c573acc7a6b5d49e9c361da5b1d4716a3f62a9b7499b904cb7ea1e41582ec3ecf98b56a62e470abf11ae45d1920302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50067306502306beb3222058fa1eddf19f88d65982f3eb9127e8b63013c51ccd54231d3f418b5ccd35f5daa381228eb4da6f1a5ff6211023100cdef03ddfb70a44f66da158c530964439afbe84985224a7f9f3438bea333ca27c0206064e23f2b4bc65f430e4b8b3a060302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500683066023100f19270e4204c83b162b5af05367431b2f717bc437ff6b1923fae698d2786dde2fded778daec0b0c7e1b4961793d9b625023100e4ff975a0523423775157baef095667221e49293de8fbcba4120a2b45961cbe42103c253edc2f8c8c73e0bab53ebbd0a0302047c435bb500683066023100f09973cfd3015ca89c00b8450e5c89a92bfcfa9f6473f001698d2791d580e504bd5d51c29b84bfe3c4876b16015c00cc023100a762fd2930b7b860de1906682fe12f382c32edbce512936a5d3e19bdd1b593109a9c20049ade157b295df99bd85db1b70302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006730650230698f5d6898f3838b30a17767ba2bfdc1210ba98f7f36b5050776b144cc2136e62ce4520e665d1aecf2c7a6b671d723be023100f131ffcf004ae659c3692151ae98e5fda506caad345741bf1b6021bd601f5ac7a3487c4cce3dd85c807e8c5548591c1a0302047c435bb500663064023040f85f3c5c23628a4984f6e42ed20dba482faed06879e095af91bda91c03bc56fbc66471c26eb8e7d23d0ac9a12885f9023034446bcb7862723e23fed4f8ee1f9dcd64091c18facb4d8048caefb3486247ee11a071dae3c303dfa155c4bd80d8a7af0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023100c1fdb9c9a8bf3c6ca74d74c42a006bd2b864ffdcd4db08d4d153f6b0eb02c68d1490d37103d264f0d79a752ccd263a9e023057bae3149f0453aa8d7019dd43ea13036bc4f491367480cccabd69ff47d2bb6a4a2a89e64f988a29b23ba006ec5ff4990302047c435bb500673065023100a6b606b4ad47766918af0ef9d0101a8ee4cf2bc27ae5dd006f681ed7d67832acc79f3d889872f4c0ae53448aaf76505b02304b65178ed3ab4de3edffef17ecd350f2345c841314a7f7ca41e464f73ebf412e4be85ce04e31f751dcd17ed7470831430302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50066306402303e28ba37a5de4c6972e17e5aaac77f11b0dee03c0965b148ec98ac8edebbba66cd55c9d5906cd0f80c52038358ea1c54023014ef2cc29745d4521860aeacbefb035e042f470844d138211c960943425b54096af4fe3bda99de8c9b636706ab9f3cff0302047c435bb5006830660231009007dc3eaeb96bffb126b163b6e6320677f0c20f4c1fbf29d217d76d9b6f4e745df702d71faa38df68007064dd1c05a8023100d25b8ebba1f14052ca29196fa0da385fb621a2f23c8234de4db7d81dc60c8030a003daf7d905832cea00b3c0139564bc0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50067306502301937d6f14f0d72cd07b33a94541d3a6c6325329da3c09378d912adb52b6edce10eac75abd107bf69b847430052c5d53f023100c076bf203f5bb89f59a19478a898776dff3544057ee9d1c8203d5b42666e5adacd3506ab1f5ae8d755b0444b85d4236c0302047c435bb500673065023100d0173127cad744ab25aef6525932b1e8e2069a47b1c02ea80da7c2afe95b42d884aa8a66797927d7c2d1e6ee87822f3f02305cd16551b42dd7bd18a8b4d3e16e9f2ca8a1e706659357ae5e8bd5ed78179c04a375f97fca29a2a9ce7ac712779d49f50302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023100c00b351e0daf3fb14817736821b43b7311624d39b525c4922de5f9de8768a7e2d7f4d7167c196072c3ddb997f8a2e870023000b50419cc63c1c11e35f74256612a0ee20b8dcbbdce6e40bbef97a36b7ef9051b93d22cfd4ce01f96ea552f2a93dd720302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023011e601e4645b8cae234f26b49560ebcea5a92ccc98acf726ed2bf34442a6978d8d8a84ac76a79c8ac12131b71de839a8023100b23c27a0df20f1315209fe9c45dbdd09e4920c82f99c31a21efa30b64d32fb5cee0306bd29de83e89aa23e2a5d8c381a0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023100bdc09eb29a4f0743d8b89e5808658a9c225b11c9df2fba2114d59b8574f9dac2b62560cea4a588a40a18c6fdbc1dea0b0230550a27d1f98d93bdda040ce24e1de3531b69e41bf7a53b316919ff7ebdb0d5bc68eaa4e4bf185e0f5f55135e0dcd44160302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023100b43faef49ad97cfc5218b52ff62d59ba82247717504111bfd1b7f2779f987b890335402da6034e0c4ef8758be9a9aaf5023022389f4456f9ed62be23fd064444507ffea6d4a29cc1feac405a1a0a928f1d41655929639129e3b2d86f30f1a9bffaf10302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500683066023100f2dfa1f9e3c70dd1e3a37b1e18a5867dbb472ef8b5dca7be1eb6ac3748e36e12450b3d71a66c73f352d308b760feca58023100b1c8d56d1ae7d562a085e4aa852df3be44c7a81a632da9ba8f6b316f3ad90186b55baf4bb63de6759e30ff50502687980302047c435bb500673065023100ac1ed5de34abb67a720bacad4887bd3dd3810e3b0ecb34f9fe64811d332643a85143542444e842e7f0726b27810ba0dc02300b70b95edd21bf013e1ab59503ff7e2e25ba04d433216a89e71e0233503957777be182c45da733b4b3c6409833abc3750302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50067306502307356ffb949ae666606dc0f1726271ef5cd8b4566be9da8fa08660b6bcb5ee539fe756ad810b1f9ef1e3f2dc2bcb59b58023100cb0c399e4d46feb9967c80245a0f633f3382bd05ac5a2920adfe185b5d3cc4b3914617a286c8252812cd52d4eddb19c20302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500663064023048e9410e570a4757ae1f76120ee9361705fee0b7d5b740501ddaf1b98f29e55e42a9c7c8757237e8ecbfde9c443dc8b80230347dfed2b2c6467aada9c40436532813a851c9af485b52f58b8e0ae3a224b9cb18c156efef234f49856c1e6037653a6c0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50068306602310092a005231f98b072f87729f164f17b3ec39cfb7b02b5b9f5d2e80d19560fe6be21b40ee00db2b32194d04802f5b29226023100e6e65e70c890358c1a704ecf924be06ec662539ceea513d3a0319177cf6efdbac233197cb02187bdeb5eb60dd71560e20302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500663064023021f167cbae009f5754dd7d77bce2fbb7a0cdc121a2ff494d0a646ccdf14c250567ce78570d998997a93c04dfb1f69e8d02301d458750ac9f97f67c178376e1e9b44cd6d771bfad490845bdd5ec1528c6a11aab1a9f80396d63cb5d0c850f64596c690302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50067306502302d3914af128e4ca89eeac4917916df823c6047fc760010dae6dc3066cb8e0430402226618c94e8ae5fde751b6cddc69e023100b3893c6b62f81ce49d4374ff6fac051ca13e527a0a0f0736d43ed25204a6bb252f4dd5edff87970d154458f30bd220dc0302047c435bb500673065023100a4867bfaa550034f6aaa574e812c2e2c8703122b9954d5e084fd414ed9cbc13cf59245082d12252e27f5962d647047eb0230444d51ddcdaeff8ed0edeaa19b0cfcdcee9d927cabda36060d75445e218fca1160fd1eeb22b58cc242d7d3030e0113870302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500683066023100c589398db7857303fea7c058a611465903b78053a629eb88dd0a26f734ce67d0dabcb6045eb6778280f9e71ae573cc77023100f117ff76577c148cee70827ac3693a922c18d9066a497347f433a984c5b3d0e89d99d0fdb61539ab9a00ab1b69efd6c90302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500683066023100aa9118754ed7871b6c81f68973a0b3df927bc13dc9c723ce56c4ddecfc091a48522f652e2192c60e62ab614d1583ab590231008e20a4f88bda83610b7c2e727d4b6f8d0a9ee3d211e5338e9a7430248e1a39cdfe8e702a175fe813eb4c482760779fe40302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500683066023100fdb1cae6083b7aff094953009c398c2d2ed593b04395b865d712d053317c338c58e02e40515a1bad5440b81a9fcf180a023100e6f6ac5c2bee504b7ed0ae94207dbe80177e00712ef30ef9fb6304acc1f8b1f239e6d4fda394acda2f6944a177f88ab20302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500683066023100ff410f2d7dd43ceb47d44cb3aee5e5b9bdb56a60d755edd92fd64487aad4957d70bc6d3b25d9559f8f900a1016cfbce6023100cd43f2355d6512b270b674af603b94fc27715cee540fc5aaf9b091556339c6cf188f8a1dd7ac747b9371f638a079d3cf0302047c435bb500673065023100b385f5fe301318296c5cbdbed00f586fa2c7944a9ca25cce9dbd3966e23e6b072015d89678fe416bcd666cffb9f242e402306743436e86576309fa836ac2f98e285bdf0e8cc128dd8126051470cd1f0fabbf29d56cb0d4a206ba1b3593af311c035d0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500663064023042067bb5a758001ebb6d53daf8355032c682ae2ed0020fbed1abb982714765f53cb11a41ecbbab326fd6f0b93f7ff60d02305294e2a79665d92652d2f47f45e6285d87c7769234b2070ca765dffbce0a00f522e0932d7f46e8cd3ea06677fb9cee870302047c435bb500673065023100ff88bf46d0617f1687966cbdd1f18b0672b6483b0e7e4a9ddf2203f2b85e31f70cef6898a046a4b222959ec9651a828602300c59e78790ae91f7bb58a44f891447dbab5f99f755ae353555b72c3803cbf7b8fb44c8e5b0e256b919ba072340b2bf510302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008ff54ee0a2a58576c2e6915549f78e4c32882a195cccee40a541d942bfd1d04112b97623d668fad9544a1ec337d98845023100f9f26633796ed9d373ac3888c14d46a1d720dc1fe16ad83672d779a51e69cc210f42ddc5bb2c4e2a8da8d1b7e374edc70302047c435bb50066306402300242071053974c57fca0430f55d11442207dc8d7d250c0da82d8037f81ef42f1b1919aae25761d963c68cd51e8fee22f023005f3e825baeed6c13c04b69cc8aee9fa3be39f07cdafd74fe3166182a6668a0ddd95289a14e57284ae2cb02b2f56c9d00302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231009cb70aae9d8ec6d052fb3dcee6d5b56983461c06cf1f2cb8af737cce10ce2ed26fbfa766cb72a932d40903820b6eac17023100a45f857a6c7d23b58d714ce0943ece92469a93eaa5eef5bcb19cfe728cc4204c6eff2c2eb29c34a9e0379177ec581d920302047c435bb500663064023037fda0427c51c68585df6317e4235ae1aef5039892b994229d21d286030d0b81a9d9f8022805b9df55c332515b5c20e5023055787a542bbd1e7fe31c18c23bc656ea627e642b075d195be02a58f03fc4919b9fa0e8e3be3573c9ec8e28db22a915820302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50067306502300629aef5587fd989792da9389a25c1b3404e0cd642b626e8d855388dca6b7eb1299cb19413a2951918587d062befa1b2023100bf9e9eef18658395570bdab67803a2b5faaaff83b4559336e6084e5a6dc31b17affb1b768c28ea774f44f4a16fa3ce2d0302047c435bb50066306402304913ddb60a9cc364d4ff9aa8bcdbdea0e7734254152c1ab56443678427db466248feab412e9bdc8a2f3268f2aedcee55023029473fc8b9bf9678fed3ac90b58dfba1f4d0baffb9d84f77af45a190f91463737197be04e3b0a35752768f8ed46c1e010302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500683066023100d5e73ee5ef20dda0ca5f23cc7be802b2c1163b2c31f928693b7c26c69f608b9c3aad5729766827e1db56bc768332aaf5023100eb41f027d1e5c31b386dda72e072bdccabdc3183182bb644fb860f2e79e0ee47531107fb87c26d7df71c91cf41ad70920302047c435bb50067306502304842d160c2d43ab9392e71631ce9c6329907f9ee52b9d45659fb982fa1186323cee1cb7562ef4ca626c2c4273d14031f023100d94fae8c9f4c68afaa20a5d58bb56d953d5c2ef7bab85b4be97ce38e7a95eb65087fcfe3f377919e9b3de571b03516e70302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50066306402307592071eb4754ea7281112efe69bc273cc9dc23227100de12402eb8ae8bd96d546cc91ed3ca96826efa090f2762d50a502306a023e7f43656448114060f5d52fa98fb430eb36485276242aaa5fc8303777da50e8ad7a446efa24ce7a24830251cae40302047c435bb500683066023100e8d08f92f409e14edeae042998ef06f307bf583de509499d8f8d6da2bb8c6c9e155653da735513ebd61e494af866bc6f023100e5384295594c07b03c08e9531d0624c85c14e5477483c1d8882e54aa18aa079999ba4e1851f9fb263bf9835e207cfbc70302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500683066023100e4e8e84056657d4d51c6aea7b59424194e942234b1294ca149c10ce844c01d5cd607ecc18cfe965d93aee53909488c5e023100b917a91fedc4b116f60995bd8644a6adaa20d78cd358712f1301a10c154a746c07b752c9b8c748418c6feddd510535350302047c435bb50067306502306380aa1191b558573614e84cd6f7768c0d44d8569d3be4a96815755d23fa9aa3a1a7fbc6daa2df4bca6d67786ce5eb48023100adbc29bb256c185b8d56bdfd7d2879abe737fd8bb18d90372d9ace06c0622d82516c5ee182e190d2a696beb2590ad3160302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006630640230579d26d74acaa258b6f17830aadaf975e4b82d077f54afb8cd95d2178928dda1ea17c08e3a86aad48787f4f59e76c32102300b4278638aacc176005d6b4a29a54beb320f008601128987c07103fba93192249c31d48400a1d9c6a552ef697f77a2590302047c435bb50066306402302cf97dbc819880bb450f533b277c996bc6fea0578351db408e0d48f19a82f603e28999b02a08b2d3f05b915ec85afef70230657a333927ac9e36983f660e2b99a338a86ec843bde50a17f6acc0f475f4ea6752f24e753ac1b21e89092ee4aa81f8c00302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50066306402304601472b0d7ea1c036fb2fc0b232c9182c060ecffdcf8ac470d0446482568e6fe6387f863b7479c63c0d6858dfc78dbd023028fd30291b0124dedfae6599c43769112be619c22bc11c6e444c4d203618c173475448de06a3164d07e8a9be4b75adf50302047c435bb500683066023100d3351d0ac14d05b3aab7f85350d22dd7e08d6feed884c0db7ece0d67946d0a28d7ecf09721aae2f310629d1f92faa494023100f802579e4d70b93abf162e05b929e4b934023edd4f8b2f7e93d820a445c87beb5f98219d54bb2b373cb3ff008c3eb4ef0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500683066023100b7efdf8cd70f0b059d2e54a770a1b3ced5feac3e78474bd2e75d34aa7776e3e077c42d14dfe348b8150cfd3d049a54f9023100cb7ba4a424d3655cf41d0858ffacb52ea80f5676affb612a0c19a64be46fc0900b0d7dd1500d44cc1122fc2cfb84aef40302047c435bb500673065023100b4bda22dcc7623156ceacb89c68d1cbb256177f30221187af26ac8a8f6bb51f90ba9574a9286b6bae96f1ff7cebb723202307364c27224670edb6025c5a1931eeeb4d17c2c9239b096f540f8a7b431233f762b3b1d01588b062033ef4219d456332a0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50066306402304efe7e22403ecced9a6b74a4509f45788e293799cb81c08ed3759c3351e87d7e5215eecce4e11a9473964885e63c078c023007334730a1907608c5d1acb55da6b4966ecc97acddb8649010b5f10cf36445d6bac10acec13ea0a47f538bfddad789180302047c435bb5006730650231009293a81a20ceef500220e8e03911ba7fa450cb49b547390fb36fd9bbaac040dd6b3e62ac6f921094e35b97aa9022f46802301a38dd65cc73da9ed2344ec6cb21deac0d88faae95917281fc6786108d6cca4953fa81d2df623ca1f6b51cecddc9c5530302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50066306402307b2b866afc70ac249452e0a457e5cea9da4587c59a09df2c0e2f90a433397d0c264aeaa37b99b6bcce772d8e2f14f72802303d9333904f4d4d4aefb3b0c373633b70f1a392c6fb87d0fc051ac77c4b2086f7e09b1151e48d59b0eeda0bf53e5c68620302047c435bb50066306402302ff77778014533b654426d8021814538000e913baa0a9a22d20461110e43b694fe274807e69c13f2bf5fce8f59da55a9023006a52a88582539458da7b4966c7f5f80d742236432aebdc3e0ddb9c1464a041638037dbe35fd8070d3b972fc905fabeb0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500683066023100fcab1f7ea06ae0f865a12ce7c869d778ea8b99d23bc339a88939c9542c910588bc3cb29cc5d6a1e476611ad0e545ccd202310088fff22092d457331c904365f8f75b990320158b5e7f371543ea56cd0606dcea73756a0eaa64ee75e2451ba1f278078e0302047c435bb5006730650230559d1d9f4edb3a0226efd086b2d6012c6223727818698236b7cf54fa9e5d88828db134d29c170e9dbf881fb0a73c69110231008672ada5a3b2e8cf682ae844a2a4b15632f054381198917aec58c2f8ad579d0200e7bd82c04cf2e40132921f4a3073df0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500663064023042856e1c3eb3b06c4026918540deba2a12afa2b6ebe8cd5e992961af4737e9a6f078705da6590466fbde7557c86a1be2023072eb1e78fd88c2482ac301553e80c229de3e79f78140771eabfef6a34dd021e92070217070b0c88a7452f56196ad42fd0302047c435bb500673065023100e2d205deb47262a049259192ea1ba1ae9a6c712b16bf679770e0dc330c63212d9d81ff6de3d3b91f806c08b6ae0f86580230715757b8e9479d327ae7520a5595296cfee48ba9ecc7b19dddba80ac904f9609dee9a9df9aa748b7525dcc74d441eb980302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023061501fd894cf63e10b9ee41565f93f0db067542d2fe7757cca67a1b49b65756b3f1caeee3e1fedbbbd240d34c7f4c1ce023100f9203ec026530e4c8e3680133816bd515eb533abd877fce3b6a18f41b68e95b1ea4883a89e2ec45725249e9dcab3d2b20302047c435bb500673065023031f2609340c9a7cb60e8a73fd985d999fecf153c2c684c51ad1a324d152528f2210b99e685c1196ea89f65fa0998eedd023100e49822cba49be9b1fb5b285fe60dc1cf92a64a3dcda990638cd4f924c938931200ae0a71f557424a6503f30f9c0629cc0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50067306502302f85038e7e964e2fdb6b34387dd908261dbe58e319c9eb78c3ddcb54043e9ac088b96275b2a0f3e531e377c265f9bf71023100aa7ca3fea3a34ea75daa402684e87b30c499d0628427bca19930cff6c87eb2ea862256627bba200ede3cd6c22894b8020302047c435bb500663064023017802ec96bfcfea02b2fd8c8e0654ed3c54967506a19fe7cd597a24c3f8c54ecaf3d8c36f766cf338c59fb2d2ca685b402306a846a7f07d411a7a29d9747672ce4b12a9e1c74f86f4d609257384fd6f6ce6460d2ba88f34e545c8e5337c349b55b9b0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50067306502302f4f5245d96e548dbcefdb5874ebf7a165fbb1b5939243c3e7d65e1509d659740243ca204674490c45ee31e9911afc1d0231008386c09f6241d4933a2ba8579b76d02e0800556dc2d218f04e4f692ab9fee2fc62c2509d5e07761b9eeddf4932df97650302047c435bb5006730650230132d48cd4ba4faa8356f47dc15535f3763af9d26e49340160bf7222142bf5dea9f2aa8bebd803dd36e8d92c51320c5b2023100a7e514a76b7fd462c11c35578037c809b91a36cc86ac06e33a22458a1d16e4b1891cfa9d8e33ba843d83f15c3c74f21d0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006730650230634eace345502acfccd60fb40a2bd127426c96510560c06925038ca0450e58ac552ad21d51506e483c8a24f6ce3d4683023100e7f201cc3dcfda651f38f687adfa77c005f96953ce17c74ceee96d336ee190bed42d06e397dc19d6de683e7d915f6dd60302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023100f2fe7afb05e8a2c6f25c587aa4940523dee2044e61dc8c7019bc70495b80038d1a71c191f1116e5e30be26181b937c0802304c56d9ea3778961bf25c53ebc799a9d3c7884caeab49b7e2a46b56b3a7a8ecdddaf85f11b510085c9b7c3514a3818d700302047c435bb500673065023100f6938496ae14e9f37b1b0441a69c58281a3b52297946e1e447cebf602204dc60198707be9797d89aea70aa5688b74f1f02300d288b903835742d7c6f0658489464f68f06020beb51fb2d0915eeac67c1d7e2045d6c422ff4417cd907a711e605a6490302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023100bf3fee25ceed6d3cb81e9cd9780b10daa46d2616a2a6a707156b83bb057561c859ea7a3308fdf27af907b1ce88f5bb740230544eab74f207aa33b43f2f4cfafcd03106eb5d1d4555522e941a60e2f86db1fb05c0313015f066346032951f72c7ce140302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500663064023070318c3a5f02327875c34402314f5d883a5652fd9375b02b5ea94f11621e42d16a6db7ae8b89e0e9b017afc3ad001c77023074f225224bbee25efa5322a13b1151f1c94fb1e59403b4965572addc42ce1ec669c5cce5b9d6dc226eaf37504078f5de0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023100a23a5d7aeeb2496b889716b03ad8b31474426271d468d8f9438e327c62896fefbe7cd017afbad9534f4429eda59f3fa302301aea3d13c71e0c2967f5b6cd73e5009e42b025d790160942aafef4ba96577569a960654963a95e830d0b724d8810f0a80302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50066306402307950e9798b4ba26b205525d0dc739b22acdf4f3d1ed864c459a64da99edf44481bd20d34ec21dfc6b6b7e2ed8c8ec47d02302e592deab3109d8e9671afd246d44e7ed7b3a6011a3fab90cbbdefc7c8bc712a36e80226aa5fb23f421be111334c92a60302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500683066023100dc6e8ee3f1fe13e9fea2c535b379d1a129c37089fed81d1ad6bee856132103f877392b2530a0d2d41fdf549921dca221023100d2a5618edf8c6214ed3115f18fcac3495c7d15c10b34156a8431e8bc8d5eaa24043bd5287900f9b41cc42e9a148586020302047c435bb500673065023100ad2e6a4d9ebfbae003f704e990b9e942ebb4cc174ab30842b634119f96d4defc11926317c3fca6b3f160260f743181fd02301fa271004ee3ec12492da87829068134ab1b3cc1e1d29ef7db844dbf1a55eea31c707b598d5c933018b4873e5d6513880302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023047bb3d114be7bb439f78d4ce3eabeda39c426551dd9a7bdcecc85cf367f8e9288587f8ade30f75b4a9e6bf0a5c65cbbf0231009af73ba83b3387fd533c50ceec872a206d91383cd8a56fe3d36762fa0a7d8c8882f1a39c9acd0b1f3b0cb701d751a3570302047c435bb5006730650231008a7ff2fe857193a301b0a5c0d7b03607bd7e2942a422057c4c3ab594b62c279260941c26896b1c1d6ac69d12141dfb14023016d1ba48fee24af1e85fe1229beb0a505ff49f087a7f58721e4ba791859a511b6af50505e22eb04c909ff66a7ec1b8e80302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50066306402302b877c78c8eab38d0931371d5b1f6b088ef9c48e34743e2a2a8bd7ac757131d960c5dc239302b7266c3eeb75c2c1552f02307fbfa777ae182c57b7ce8a093e19129c86931b1a695ed975f465ccd706c3c076e7a16b7b813ac828ceea4d0bfe75350d0302047c435bb500673065023005883fc03822fe5b2a5dc8df4bf73f97f089f4a7b857d4cd75058976da1357b5da396705232fb8fd0622d88b106026fa023100e19306214ec4bbe1f0c4ddda79be91003310b81216fc8068fbdd645a9ecc648faa7854e03ced9fa7b3fb8b1e705efcda0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023100c32ac3d4591e26d45bb352105ecde2a81806e16cb5994bd9d39e8be9f94cd5e7339aef68e609bd1b61d2a2f2d5224bce0230573e756eb8b988ac7629f597e6d0ee4dab7bbbd52326057714ef854c8d9dea42bde80cd65ca2ded123ad9d5229d631500302047c435bb500673065023100998716f9c2873fdfe1cc15fc322a740f9be653062f8705a5f293de0a92a6511e0942c6d90db98e23ca3cb9b8b9a7a1d102304c577038f74336a7171ba5ff24fdabe8eabf53a3814701463b2580f36be597e7ea2c3618244ca0c227ab6acc2cdf35d30302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50067306502306b2cbb8cab3bb336ca041dd98e556185953b4829ba65fd3977283809616ba35ac4e68b4f365379dca5b944dc47d19885023100a9bdcc99d2df4988be3a8af1dcde8404fb7e203cc5f8a3c9e0d7b7ec2b21dffe869607c777b7a760ef77f23cd4dcd5dc0302047c435bb50066306402304f0fc2b90053faf48482eb4d1bcd5d404afd36f74dbac30b2ada8a12e402d4a937caab2471b46c0a2f912e460550657302301a0a0bef3974febdc32f6bb6c279d0296de5b94ed73e996c645106056cb24db5404ab56a381e85a5b032acdee859f1b20302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023100b0247dad2ee53b15f7d40d8bb72f8fa905ce2f1c60bed3c3d137f49c872cc8656073dfd9e0bf5e974f214d4adaa118e202302e5941d4cd43b2d3249abf8f4c41392354e061eb3cbc1add425ec8d904b79efd246a807ca508ac03ad9a025cca87d7850302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500683066023100902c693882ec6314b081c35dc858611251a10b336f31c07d228fe681c2776fda88cf073e2b1eaf103ba4f086691c576c023100c49c870d8feb87e035016be4b2565ab6b8b34bec700e07ab22bab2242d28a2d774e0b23fa4de31e0959f4a340b799aad0302047c435bb500683066023100f38fa0d869b40579db3adb991f0b132511346956b4577989f915c9b7249ce3642f5eeddb75ef216a388ae02a432c87d1023100e8cfc6ceaba0678c95bd4130d18ee848c44668bf9fbd5e5deeb1942102faf086358272982e84b8666cfb13aae6b4f5730302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023100fc828f2b1d4cecba3d96be7c8ad3ba64563832177782005b04893146ca586441859aa4b9ff6856f2ba61d7266ac4965b0230582fbbda4248bcaf6207a239af4b6cc3d61a545af8c86746da114820a33c49d93a07af633b1d228d7f83372a7bf947f00302047c435bb500683066023100dc835c4d68b4268f9ef2959fe507ef80298e5007e653f9d5a78af18c93462c121b88c61c60412b6ac297cdfc4c35b765023100d1af2c63be374d10ace7b5ea7be36609c3fe39baca3df7520f0a2b2876fb3cfee1e7a266ef9907c6fc1caf30e6365b230302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023100f4a3dcd15282a7e53283bcd0c49d0b64eca403b25768b232d58d6ba8e497405d430fdac0c2da2593bfc192c0f58c569302301481bb2e74995654d20ee342541d95eefa6435b23d1d72d029efcc4b03a8f7bf21b19c7e775397d85dbd0129389b9f070302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50067306502306b8c2a44a61ce3c6a619eb36b5ae5ea63b54268b3db893606027296869576a8f57fc148da55b776f52734d1e2b3456d4023100c264c7fb34220b823a2ed88c96d06074691719be5084261adf687fdef5fa5730d3e4e1a431c64aaa18508ccfb90ec43d0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50066306402300341b693dd47974bc403984d78bd97db8408a094eb23539491aab190e146f7f625834ec9522da7555f3539fcd909ed74023034d24928448ba7f9bba3bd3a53ab4bc7740a8593a60de8e3300f947b00858702da37594333a6bb26257514bd4fb9d4f80302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023100a6f84f8621fee37596e4b4b87792a8b734e5cf44fbc974f1497bb3bf9edf4e8f15417d264eb5efb6b629286265dadad9023026d55a78b4dff63c4aedfa9bd86ce0676df0ed1c52d51b4b3d58cf20fd9acb0b77b6888cf95e7b350f7b442d2841424d0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500683066023100f1c4616b71893ab90eb96fea6f5c96cb4e6fde1a8374b4dcb1ac4e3b4dc91648a20aa82d2f9b6bdacc9ada1702811b27023100840b4d7b0049bbce5f20bdc0b193413a70b4bae670bfe20f199d2b2a0ed4c6fd82f389e40761ab2a7963bb50b53c7c9c0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50066306402300b872ff7d0c8b9f75ff7bb55f46049b2d338769710e87cb02e2c284ca5348caf036c8c3668fded2e5c17b4421c1bf14a0230496229e3b6cf927ed423406cf2d416d3821b22fd244f13907610114678d4aa27fe31c4eba3e06e69ac0160b98b5e530a0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023002d3f81b63cde5a5eaaff59344620df5ba0c097ab24894be7d335b42774988d12a5c0c201b60b1b40a45f885b42abbb80231008b3a1857f07e6e6107c80d58e0ecef995053723575e309a964e63cb4a9ed601f4f7745a8da4f23b2e3e860163e1a892c0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023100c72cd47ad1e01a9a76cb701f2b00da33d33f52d318bc42d5d4bab645962e4d43f2a2753112953f2579ea782f101598be02303871c5029974f01765106bf8e497ee016517a9737eb12570eae24b8902fa7c517882a024553d8a066b6f49c3fdf678b40302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500663064023036649b301b6fe322c34eb74bbdc17f699721be6586831738c264d05bcf35307f204771f3dd8cef65d53ffe8f3d7f82fa02304b3dfd7950000d5e9391e1a08851f7270bcf6048329ac3b78158ce5b10a422569ce0a818fd5ab793f354d071e434a1030302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500663064023019fdd6c57ff37ff35866039ee9f72d649fd17e4abad0725e249abfdaf8fb02aa9adbc80e2e4fb65a5d3da5bb9c67a32902301f256b18d3830f3d34dcabd7b8837d62ad6a094a4ca0ef14bc97306c26cd5e5ea35b3e718a056b1831ecf33aa87c905b0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50067306502302c7a1a626360ee99b666a8d32b4d6ce5f6672870119bffa48806d913c2d43f448a97e073815c2f0405edc1dde85b88fa023100f0901ca4c83aea048ea98a89d7f650fbc18e9266c4dbdc0154e3bae85c7147af7a1c907db2766f352377fbe0140820cf0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023044f62ac8450e7b7ba587f8c23229d0789f5f4cef2189fe411c36c8ec1a3d5058b29a28947826b95db895001deca8c6b6023100ad7e26e25840da4434892ee07d4dbc043a1fc63ba9ba6cb693085b1331ea600f26d35fd3a45b788f158adb076095bcfd0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006730650231009b1fbabe1c9a73b2a944eb488402215b1892ba04f29caf98eb0e62d48420e8ce07ad4a9b47fbed168c90f77bd960b3b40230652878d8ec474b36db45f858d026be79112b1f72953c249e5fb3b775bfb8be5524ffbf923b87fc35f0ed7532d0597f550302047c435bb5006830660231009b51e6cac4c2c94ca9de140ba8f3d15a44bffdf3a67910d62034bc3d3bd792990a8be10b9e3c6226428079bc0fc63b87023100c2b0eb0454e711264a1cb097f2e706bc09d11971a29100c254248894af2258ecd35425b0a33a0845e4adcff9b955ef840302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500683066023100f240aec9e26b1065ee6ae29e26e158017e131e174f9a5042f11a88e4ba221f43de4890824acd9ab90dc1a8d73f18b959023100d18afbcae2afe390196e2c8265476e0c3eef97d7e6ec7511d4ce0d8b04deefbf6f6f988f1bbf2e216597f088996c77b30302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50066306402303a3b1cc15e938fa0a39cec920c0b738303ca2f0075937fcc8fc505149f8b226f58602873516dc07ca26009b8cdb40dff023071c6d4d3866f9d037960eb5855b0945b16dd4a0c3a2016986b65f41c3e7e282797096f737c4fc30fd221262837cfe3fe0302047c435bb50066306402307fcac231017eff780408caf76ef63dec72e9522ca655313b33942e088eb51e2d0b104df9d1f00a46d7241fcb7888dddb0230221f2de66fec848b638861f43497fddde3a441b0a6cf5371f4802f48ba4d1f37251e73088544e70522962e616296f43c0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500683066023100ac4af5b746391c6974c73d4f1d357e6d22ddfdbaadac584130050420fa1ff138d6a10564e71cf65911f064a693c6a1cf023100a1b5c34801f89f00d904450c31584bf34f69cd1ed22fd52b66c47561f2948c63b06b2a3683fca2851f8f11f5486757450302047c435bb500683066023100d6797c375d5b956140e951628f0fff94080cc238f50ae569666a59874c7ccd1e7dc3a3a4fc2d920c9e9063e4d671d234023100f1de19153b9e0687a40fe30790f38df1ba9a32eccff7b6969c851f47ede681828453e271959a5618950955c8fdf159490302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50068306602310091efcef4777db94fe9eef355fd7ef9dd18cc08646b5c7d5bc17e87102db30e04eb6d0b962f3db4e634ff0432b897acd702310083022ae207a75e4b8ef12cedcc6d79bdbd64776adc39d8be44ddd6456c90a5456dafa9978afab0c0da395d38b2dca0110302047c435bb500683066023100b76bb16a58fe90ad00aa1ed246f19314871658966dfa755eab129531db92407063b4231facf8cc6953ad82b7507a048b023100e1a19d61956934a1eec57c2b639a77765bbf613e6e78f953e8b4c94bd4eb034ddfb844909dbd0404047ffc1623556d430302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023100a02b31196e5fde96bb158b177aa03fbadaedebd33a342c728834666c13aa7758e90a868a1534f7a903396bc9fa17aafe02305312eff7f7c4bd9c776020000182e0e0f53f9cf63588fb39467215bbcf12f48197a897875271f28e4be2ff7df05148810302047c435bb500673065023079a36fb3b568aee8ae17c6f4263e7cc5c70bbe9a14f53b22e3a656757c98b1e8224284bf682d9d864dee7ff6dce6fa63023100c0188fe8057ea42c0ac94edaf8a314f2199905547a42a14595ef6227478ff229ea1fd6f46b0eb4f237557b0edddfb8b60302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231009f2f1d9bd168910c20cc2f12108fff11b535e29a6d1f6e2a2c01ec2917f0cca84dd7bf0fdaee76dda991e38b239d8df502310094ab233e33d82809705594dc0bffbc9341547e83510b5fce4e938a63f612b5b8bb486fcdc27a4e74a1e9e38542ad90a60302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231009f2f1d9bd168910c20cc2f12108fff11b535e29a6d1f6e2a2c01ec2917f0cca84dd7bf0fdaee76dda991e38b239d8df502310094ab233e33d82809705594dc0bffbc9341547e83510b5fce4e938a63f612b5b8bb486fcdc27a4e74a1e9e38542ad90a60302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231009f2f1d9bd168910c20cc2f12108fff11b535e29a6d1f6e2a2c01ec2917f0cca84dd7bf0fdaee76dda991e38b239d8df502310094ab233e33d82809705594dc0bffbc9341547e83510b5fce4e938a63f612b5b8bb486fcdc27a4e74a1e9e38542ad90a60302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50066306402305e3de8e832139d8e3fbc2cb5ebe99765dff62e6c69bfbbc94f4daa0a0030560a5326e97d3b3052d511f59741317e252c02305c11411264f41e93fceede423aab48c7fe54615573220306ccfe45719ea774667369bf43cccf48156a0e480fec4810180302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231009f2f1d9bd168910c20cc2f12108fff11b535e29a6d1f6e2a2c01ec2917f0cca84dd7bf0fdaee76dda991e38b239d8df502310094ab233e33d82809705594dc0bffbc9341547e83510b5fce4e938a63f612b5b8bb486fcdc27a4e74a1e9e38542ad90a60302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006730650231008e803c8810d90bc973c6410bed90fecb1e6c9217e5d83cf28f7f0e44983a7add1733c2a64404914aaa526eac286e8c36023006761e9448f4e9f12b697e1d7158b02b8ae3c3335a56477ee81bfc489f3d24784bd73f369286d575b21f708c212be05e0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231009f2f1d9bd168910c20cc2f12108fff11b535e29a6d1f6e2a2c01ec2917f0cca84dd7bf0fdaee76dda991e38b239d8df502310094ab233e33d82809705594dc0bffbc9341547e83510b5fce4e938a63f612b5b8bb486fcdc27a4e74a1e9e38542ad90a60302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231009f2f1d9bd168910c20cc2f12108fff11b535e29a6d1f6e2a2c01ec2917f0cca84dd7bf0fdaee76dda991e38b239d8df502310094ab233e33d82809705594dc0bffbc9341547e83510b5fce4e938a63f612b5b8bb486fcdc27a4e74a1e9e38542ad90a60302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231009f2f1d9bd168910c20cc2f12108fff11b535e29a6d1f6e2a2c01ec2917f0cca84dd7bf0fdaee76dda991e38b239d8df502310094ab233e33d82809705594dc0bffbc9341547e83510b5fce4e938a63f612b5b8bb486fcdc27a4e74a1e9e38542ad90a60302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006730650231008e803c8810d90bc973c6410bed90fecb1e6c9217e5d83cf28f7f0e44983a7add1733c2a64404914aaa526eac286e8c36023006761e9448f4e9f12b697e1d7158b02b8ae3c3335a56477ee81bfc489f3d24784bd73f369286d575b21f708c212be05e0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023100c1800e5e5920bb1aa667f6c6a1861567223c9f36705fffc40c673bc52b533498940e04de15856db84f1de529ec014aea02306bd0789bf50574d6dd6a0ab7b865da36e04c20d338f1b4f6e6590d1d30fa9b456a5ac2d34889241424994fe5c25c56660302047c435bb50067306502301c14ed4d5c877b8d5229d867aa084ab7d64ad0472fdeb180bac0e68b26ddc4bcc2746347574ca45ba7228fdb017671cf023100aa50580d4e20e806cc222376fdabdc7ba614555c004dc0777893e69130030e668a7e63f9eb2fe5f76a350961a6bc50c30302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023100aa308a9fc74539f918864984403f63e769eb6c469c00a1a9283f35bd060bb2d06da1f60ce23a023f244eeb37f39c8a5d02305d26a22665904cfb27b20c2f7be2b0ddf224e79a59493dd05c82319bd128d88c3225e1c287494466caccb5648cda56b20302047c435bb500663064023064924d83bf9c3667a68ac01cd5cc4cb0aa142cb372bc4a0b3ca84d76a7096b89474b9800bdc955496b3404e436cc1ad9023013f3a3d6e5eae34a515aa1e6190e887aa5d98b6f70b5ba91a51616189633c05c6433cadeacce73d0c873c4ba2ca561bd0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023100b09c4fc144a77544a91b2e10ff171ab62ded66c8cb1ddbb5c1a7eef97a7e1e88cb243c7dcf6878e1a296abc4ba2bf61d0230052fc9769191c83b772160b9136020b9da0e037bfd54cfe48faa3e0a5e0643bfdd4b0760604eef8dfe13202554ea3c990302047c435bb50066306402307a32d985c0c82cf4cb8a003373f99bcea7d5ef258bb47af9f8e4bccc689153a42d61f84a8de0c285ca31a2939e5702d20230583bc3c24c142cefdb6e312bda6e8fe040510cc41ddbb4cb10e8f9f5de9a43aca9cd9d90d8a4b7ba58fa72e51c4f5e2c0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006630640230281f6c7c436ccc9eb5dabb68a3249b72b1ab238af86493dc058ce03a6b433801cfe194ebfc698ca5bb97650e529f21c302303f55400b5b6f2a5172f9486b2a2e6a6d5df177f1e92c7435166954323f6d636a81e31982a13ab55d86b0304183bc5e6f0302047c435bb500683066023100c461546801b08918bfd713d84c84232228a6194fb4b73dd1a74cc1ee5fc5dfcd59b759cac52d8c0555c2470fe2359354023100a923c8f1b907896ab74bc0eff41ee68d3199070699f49a9c5407cc80f2d951b74b3ba449c2afff191509e2c4896ab6c00302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023100e9993564ec368cf26959d28f482da5493895c38a0f535457540ad8c9c52d9158f2909e0a0606e8b1fd8094ca62a76c0602306a47bd5688a1992ca4a5abf6e1c1b2510b2a4dbfd36928e05e069c48e40adcd11e931fc6251a4ecf6ed11a30eb857e310302047c435bb500673065023100e74e7b8a6d7264408d4f0dafa87c490e9bb007bc1a7a16500591a42a42cee5203106cc379a4d06048208c0a6d0315232023019121901a204e47a02f06f495e95d4568fb1d6e562bbab70725e887cbf37065b44d09fb49019f26b0f607329627bb70d0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023100cdd0b3b7706674208d05a462c897a9d2ce9680dd486a122408aba0e6bb93e6a51c924a5a2014f52db825b61d585e0e25023025a241cf9a77c6da717872a6620dcf93aeff9ba297594b944ab9ac76d79cce1978324030aef8f2e00b9cbb3f24bf4c6c0302047c435bb500663064023060226bfa3fe0d264873d8b503ed71fdcb855939a466d57b2cc47adadfcf9a475278eb7ddb91f4f3bd9f19bf9f3fa86b4023079fe52648592789942652df8e2961c8f20c350fd109217f66ebf4f6bbadaf5ea88b03e08c4760f7b3256cab47bc4e8290302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500683066023100b93269be451ae3d1a438144b83eaeefae8fc837fdac85b7f7e077e3746e70c130451f177971f556d7cc90e6831b9e30d023100cd2e8e25341a7ee3968f2469222d512edae9c32e9d964c14073f5957f758070a43455dfbc2c8bdf7ec8f32908c181f120302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023034a1b30d9612f44ce54257b018ff86b0c5387e0bf9e56cd2c8d81b993594289f52ad90508f5f81df9303527f116a001e0231009d2ebc2d6058b86285b5af0b84ebe9a57246195d4729ee53f4a3ca3063a92136c144fd8d6959b28b60ea3cc866ded9b00302047c435bb500673065023100a69748b82b100922229c2da0f9eed38454e9c6dcf6ff9d60a43e5eaeeed4e6a901f205d44206bd2dc9402effb21dc2d3023032b5b05a0f7782dc85c73104728aaf8096f5888c32d2070b376f6c4fd285f1014b0d543545e07bba005d481429cf365f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500683066023100ce21fa9bfadf93130f97e18a47592af341732690af293522b6b4ca602bf6ed1f5b15120d3c3b7d5a977b601fa4f4bb4c023100c62489c7ac6b93e2fe8eefbcd878b30eae91c13d7071bad49b6d830f53d89758e8189f9a0d970e1c16367721c20c63550302047c435bb500683066023100fbcf054a5484c7e777720bab526fe5caab8be990e8366146256ebe6cfa0fae54b69c70d26d302ed7978f25b972ccd15a023100e00003052a993f0098b9c7de0e72c6d7a31a535feba05c3c74f4cf6882f3afd865229b118e0ef880d4f3cdb67b3bc9d80302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500663064023048411ca14a70c2a547f3a787b10004e680f66650d44c9192552a4fed5cd1981001aa18b6da9ceb3debedce53fc7193a602305f8fa23c3162837fe17f01a0053b0cbab3e7d22c296582493bb11b0d815f27d4b4ee5899a55fc5dfe420e437ad20c7d10302047c435bb500663064023054f80c78d95727cf75acfe8221cbd853cb561c282edd767049e194b6e1cc117ff6830c8f74880aff4c4ae5bb3e42062a023049b38de985293fe22c0e82c71e88f7d9283f35455aa5d2fa7d7e86e74037ab6cf33043bb7784e1e21d4de53feedd36ef0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500663064023056aaffda15480b1fec7786b6040c140b771443b9b2819f3ba4f21131eb13e32b3d9c77974a6e7c90430d6bd842ebd53d02301926e08830d6d38f8385e4f9574e8501d55a04aabe880eb2fab41d825439025ef69a0734e6cde4c21ec8ec7a40086e070302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500683066023100a60fc9c15718164cbed1786e55ec15195ef8466f21c4c4a52aa31e2b0882165d604a29c20bcd162a74371900c2a0b076023100865a1b08c6789e2b44e7001ce8ac2f045ea2de690b905150f76f2251abafc95af1f8aa99eddb6b162b044c788c1441100302047c435bb500673065023100b24b256cd2a9c29592d905da4323822fd961d2583a1fb6a775e031648196f272273d4df5b00d12a1fd5cf2b77bd9df3102305cca4dfdaa6eb644859a67be6381ff7512f532a7bba78dcf0bf9f2d4d15624635c9b24d66001663481a8ff74b40949910302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50066306402301f0cc931d327f0cb2113328f88c20da286428edcb15cdcc3b19c3f7fc1fa9aa1ef4aaed495c6c90f2cb7e5ef9dcdd3350230533e7291b39bfc076d581a3bfe6128ab2e2451040a0c6089e2c9e7129439121a815f7becfb99a350d4d9d3fece98e1ff0302047c435bb500683066023100fb229a4e9f59f9a78c4c79902ce0ea5c7792e274d36f4ef0b7ad919a183696541486ef428af515341f763d5d9f30ced9023100923adcd65397b2c73d0ed3c0ce715e5e124ab243651fc0bdd82844d5c2381ea2f0896aa2ca11803caee02159ec570d160302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023031e9deff6198014d3948ab299cc8d3a9fe5e9fed966c0f5d06806da7700a95ba842263d0cac3209088c4f16a58e7dd7f023100da9b8abb38b0847d4bb82cf355dd0ac0bd2d5a78f1df9c7e6fa7576a56b496314b773ae9fc29726742e54cf8633acc010302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023010eb219b36cf657953ee6bfcb450a1e5e700159fc4ab1efb13ff32f9c808c40dc05e61ccf833faa7672311f2c440fa5e023100b86ef73d6203a7b510100f66673af9a0d650f8d72df1a8bc63743c188bb79c4bfdeadc1fddd676acb7c562b88a2e26bb0302047c435bb50066306402303e5fa410c9ee1ce62ce0f72dd0db862118cf32360d4f7ddfd81702a5df49b5402c74e067ba5f7ce79b9df5726a9e9f15023019aeab563124bed049bd7a2c66a264c80190adf317466e70af47f70ea426aed2f8e9e4fc3ef352227a6515ca68827a0d0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006730650230789b6d502b4f8c944cb918e910953d17bd50570f7cdc48c47e8637827e2fb5d82990140b04cdd47e7f504e52593b7e2e02310083bebac82f6437744ac933862afb45337698645632fd6f0dc86530b4fdffc87a56f12c65c52de7c3f57af0a1766d1dd00302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50067306502305ed354453c2d7a91c4827cbbb9adea0662d105fa374132b8ffd06bc1bfcf05acebdf0cdab92c170560c371ed848b16e6023100ce37b7b359e3859c8925f0a780b239595aa0673fbb306ab7098c40378b93ee1df8ab9d423a7364dc0d389b5fbaa1866f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50067306502305ed354453c2d7a91c4827cbbb9adea0662d105fa374132b8ffd06bc1bfcf05acebdf0cdab92c170560c371ed848b16e6023100ce37b7b359e3859c8925f0a780b239595aa0673fbb306ab7098c40378b93ee1df8ab9d423a7364dc0d389b5fbaa1866f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50067306502305ed354453c2d7a91c4827cbbb9adea0662d105fa374132b8ffd06bc1bfcf05acebdf0cdab92c170560c371ed848b16e6023100ce37b7b359e3859c8925f0a780b239595aa0673fbb306ab7098c40378b93ee1df8ab9d423a7364dc0d389b5fbaa1866f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50067306502305ed354453c2d7a91c4827cbbb9adea0662d105fa374132b8ffd06bc1bfcf05acebdf0cdab92c170560c371ed848b16e6023100ce37b7b359e3859c8925f0a780b239595aa0673fbb306ab7098c40378b93ee1df8ab9d423a7364dc0d389b5fbaa1866f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50067306502305ed354453c2d7a91c4827cbbb9adea0662d105fa374132b8ffd06bc1bfcf05acebdf0cdab92c170560c371ed848b16e6023100ce37b7b359e3859c8925f0a780b239595aa0673fbb306ab7098c40378b93ee1df8ab9d423a7364dc0d389b5fbaa1866f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50068306602310083cbe50c986309e26d2950db4e256ac5147dae44dcc4e710d080b0afa5c2f50b6f1add75bd2aa2c9b2196e72f22034b2023100e37484fb3fb7192af8ad4b7256d7d16b370a3ca59dcf7a48d20a9e50b1d626950f262d8f34361a877f1512c493edff360302047c435bb500673065023100e3828c78ee9a54d997e032d1b65f46634534456285a405cf73b8418d2791e434aa5db5e26dc770a1b066e586bc9128c2023046b9275a0f46a2a09f28c758ad601cb2655996c56ae65c001fe15e2578f9d990e4c7f7aaadc31c93af90b402c9aada2b0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500663064023011d5091149568f202a23a85f8aa078531961e55b1341c4bb5cd71befd00df8bab5711c0f2f732899dbabd4a0ad2176a002303baee5cb91d9a02317e186275bc439df4cef8418498a2315d1609d66b959c95e175ea927eba03cccd0888f27a91dc7cc0302047c435bb50066306402304f40561e3789929b64c3e07c3c126447ff7b2623dc72a184aaa0b510347489059040a980db84fc00d2205def8145ceaf023044834f9a2f0a00bb4b2b008920afc205eff535e6827088b3db87a956cac38c0313c1c4f1ef35f8716af4a517639a91a90302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50067306502305c0c9fcaff536217177d609b911d6782e905a124f37480af46a076bcf9107447d1c5b15017a9c68706da75a8888ec56902310091a59dbb0c3d5a734f17863922027b154b874b961744c6b804281aaed95c4c19367dc9a75f3042ceefbc58e3ebd982d10302047c435bb50066306402304ba475150d4b490854384ef295bdf4243898b3f8fa90bab81f0aa011b000d7e825b5d60352dd8ff20657fe8b302c32ee023013665fbbf880a2e15da96e8400f4021ae36129ae57945b2554618d6539781da4f0c87f5a5f118817380bcf3f1aa2a10d0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023054aa75b6242d9a54ed263951527b5455be2e280424569f6b0a52ac2bbfbde9c64ff1735e65be4d0f1bb006322e4cd411023100fd1be5a9f793f2bd4c207630160cd1cf10b5208b6c6678073ddf547f8ada0717a22a8c05d2bb8e6925922450c10b02760302047c435bb5006730650230388e973cbd1fc7509642550b94a74e9588148bcb3cbe5f33869431198e9b71046ff30016d8bc1c4516033fa2fba0259e023100e474b95c1609ee571f4c28cf2a3af8bfefc920e76eda851d35c2f050cd8450d4843b941e3876d96db525b4c383d421620302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023100eee1dcaaa9eb663ed86d0ae70158399f0b67934c78a3b82d1e67649927f84318b578ab145398637c1f22c837950e79b202306f13f631f172970e3ec0ac6a655a180269e046ed6644a31ad43a16c13b52951638b247d7980011e626fa5ed94db7c0ec0302047c435bb5006730650230625bb4079f998941b47f28785333440a572ba87b1891453f87a871a81cf230711f549e539249951cc178e35b17e737cf02310097e463cbc249772ba8ac12b8caef9fa4e977b8ec1fabe4d700cef3e2ac59e9386f3e8a49592ba15d0c47ad05ea5128710302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50066306402302852567acadf6e73d1329d67d37a819a0b01d4a133dbdcb0f4c19f4e01a1a36afca75b7c55ac4e353abbcd6591f0ed6e02307a44813ebb987e9d9a858422aa72ad27de83479bbefde05d50bc6a8192fff328e4ae9f15505d85b5b7e21cd304375eb20302047c435bb50067306502300552cf0f019a7f2a09e1c902b71b178561209a611a40107950e4cae3ed4267712f7e00c8ca5e9bbf8916a1b611104925023100c25d98baa45e2e5c6569e55f0f3b2c0f4877698401cc1e37f8cf1cf28c6cb2ea2447b415b677209d638fa839ee7944f60302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023038dd857a5c4b5b20c5ce3cd70c53fc50481975e46e1dd3bd2ef55056558805faa8e32f5a8be009c01db2141b80cd0d6c023100ebd965751f028fd24918d0919762015e1dd1f92d06509f102e54a32ee3b7cdc6ff002ab3802ff21cab0742e26376c3e90302047c435bb500683066023100dcbc465ceef59557ee4f2ce11bab88aad93e604f1f225edc8cecf0cbe515f3f1a989b39976225307671919e63183f2eb023100f0d742cf0bc58a2f3d6b742904757d9bc459151ca4e038938c33bab5b8ef151f3720bc1b48e69930b7da6318044b33d40302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023100a7a3b2737346902c3b08e5f95bded128696dca6d8c134070aa43c275561d035e522c76ffc0f3cd91e19fac2546db488702303e319afdd2bd0e370e768683e0011c6db3f0ccd1906bed4b756c738d91769dbeb6658690a84f7e1640464ad7997c7bfb0302047c435bb5006830660231009961826b107b293b0d575407d5ec41400ace04ddae0bfbce9bf0c8268effeea9025875037cb56535bc95e7463ee33d45023100bc36a45d1ffc384171a77ffd304d0c7672f2b08fdacfa6e0e13570813c53e78d29563532d2f6fa6f765023933d23f7070302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500663064023064ac24512000238ad72ac0de5c8299e5adad6b827a5db46afe67ef6dc4af3c396ead030659acd967ffb4ed2a3bd3bf2102305d2e7a062c40433e6737035f0555abdcedc0410b70c0151ed8f29092a586135dcdde6490e7daed658a70ad2cee1134dd0302047c435bb50066306402300c83561da7ab81ff05d03968d7a3ee686b42afe58e3fad2e75759764a0324a0a701b131f83673b65c175b31a4a6b8bca02300dbf6f82293420ed190018d8d2c815c588de0f9c7852e718348c24f76188fbab3a949adc0870d2f45c3262f8e111a1420302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50066306402305a2698e07890f85c83e55ae7531b5793226bebc3816f883fa3033511489d937c8c818a39f8130b00bacc2b2f11743f71023020989044e75c43d8ef67be00fcfefdb96fb36154902e53c6277040fb5214e8fd80b3704a8d7de9ec007ae6ab052944d50302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006730650230065052b245917f2c87db14c120be7424a522b9f3ce191e75023e5c65ecb03e5c0582256d1490250a05cb2fc16c15cd4d023100f174ba2b3c4d67ab93028e9e668889042e71d3dcc3d6cda6dc153160a7d68f601a0199e974294dcb42ea18a84ef8a8870302047c435bb500673065023100eb6062efb900d71979e49ce4c0ed76cda7c4928673c47b4d885ed6a3a05338a36919acc4d01c895b9be9b276b603de0902301ff2dbaf10f3dd4356a07a9ab4b4d5c36aa74948ff4176eb4a897a895bdde031bcf1c7749755da5ed59b7bdd6de2e8e30302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50066306402307a8e90f1447d1e00bf48838196183d69018eb0f182524b55fed676c6a0535f07f54324f49a857698c293d0b15a2d1ef00230456fdc630f3e3bb2ef92b090b8a650b5297bc1a08e24855feef4fafae824c62beee80019e74d34bb19a8b22f9cd393660302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023079eb5c4e17567ccc724f97a9949f1f23c9b50de58fc1641444a9e96e25b658c0087b1ff3a0fa65c142f47accfd0a3bce0231009e673a961f7dd8369f192861e0c4f8f6f6876f29bfe6b087eb1a130bd9dcdbf2fa7152934a79359a04dda055d122bfcc0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500683066023100f19188386f362ad7c9b9289348a157367b592d3f5707154b8c38b3c5d263fbbe9cb81384d9058c61c57e7aa2ac483578023100ab9b21caeb789714dd0f44cc937e888816b69aa20d6bb2909902860d1e71ff491a61c10c8882c9b874284ad9c7fe328a0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50067306502304629dd74579ec86fec19c7079814d01ee9eae98a66d76bd548093dc614b8ee2c4b0968335cad6ce7eea07acf84d2f86102310099be3f568d39f347ff5e18e9bb1f869b29d7524192b772c509fb333da8137829c0dc881c08f1e13381e362094304fae00302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023100a1bf4a9081a13ca00bf13727a9b08cb26d4412e236fce7f66506acacc11a1cec27b7ba71dce7fa138e0e2b298127e2bc023055a8717f0d2fd636d0d2e56a2a7991a3f6c4620082f09b76ac3b5af27844232f2f8b9502d8e660e1f9c9ff8eb2b393940302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500683066023100f60c5a40d53881257a097e4e41241b565ead9c1ee71e141609dee485eee98cf0dc1bcfdccd8e4cef1f81f2b88e042943023100b0fea009d41fb72bc438fc990b12034fc13ee773a1b03ad7b52209525a64a8afd92c7f0fe45795319ba47b595533470b0302047c435bb500683066023100ff7f2c669c14ba232f60f5c7b8c00dea7d9378ec5ea6f475f092d32b0636416abcab3f87572abe64e5b4ddca5ced7f45023100f7f84e201f0c1faaec5ee6682ad131c4b2881607f75376703c0ad08029bbf46e80dd1aa797445889dd0666c851ee5a450302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023069ab34e7dae1a2907b9a04e0ad2da2af1625c4dd6a9d6f76bdc84dbb8090cc5c9fe9cf2ef7aa8197356d6b814553dd87023100eecdd18db680a4566b06a76cb1e1881f8dc34bcef2158a958bfd40902c7314758556d341f062583cab76a145f0051b450302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50067306502302bf1c4a0f178d9f74f0bb5b333cc5415aade0c9c9bcd69d5e001f391f4cc5c7371aa83fef07d35856ca5dc5bb514e2ea023100f2fc5ab72b28d2dd717aa3d7885ca02ef2c64d82a076acf6e22c2e1475e305182a80fefd5c6b74e909020a6f5c35ef2c0302047c435bb500673065023032270c0df0dd6e6653dff9c803e04c480cda159463aa48eb0b0a7211c55c847536359d54786a0bcb4976348e6f1dd155023100ac7c46a5fc54e1496c04e8fbffd67b4de781563a3458069e6f2e84b676beab82006c44866644f3c165695cbf875c049c0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500663064023043d67e15c40f74a240e4bed644dd2b4844d7a9d0a60e0404a1853322afb48b5ceb45be0def4bf5e5f9b3019d9dd9102902303d86421aa2932a9e5af456f853fbd337d3f5ea1e90394ca540df5cdf3655a8599f3f028dfeee511270f1470d455322100302047c435bb500673065023100be89ba573fb5da625987e05af811a036e81ab45cb827efd934c1ad85231b19aed93e33485782a3ba7ed080321ef9ff27023011946a895e12cac5467762b402cc2226951ecf29ccbe8c1ba0dd87181411d142607391ca6a536a32500e124e6a95be7f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500683066023100dc358a0135ed81ebcc67aa08b3833bca7ec4509105bcdb9496f4619db2e990fb9dbbc416e92dbdac7153ac9f55c54ed2023100eb5e646e6a76d23a06d8046bc5fd5aa30d5686cdbb82fe2eb68f96c20da8d8aaef48e876b3b9d2fbcc07e319cd6f86cc0302047c435bb500673065023043d8b2b852320a2bf89178d1100b5c9c7e437a7a4c964ba30154b58399e98f8045bf0ba629106c43f62d0b4a92fdb061023100ca13caafae3021f0958e275e3541bf3f6024f4fb7288db009065163b4c170ac430a41b54c32d0669963bbaebe4274f3d0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006730650231008dd94301d4e0c4f91a6948266bff9f8b0b3fdafe82cc80ba857358b6239a1125144e170496fe91a0737b0a72e9850ca2023004da6da33b1c154a75c2b4fff627d38bf463f088ef0680cece5378f6058cbe3bb85e49044157459437fcf8fe6f0b25270302047c435bb50067306502302980607141f15bd137b16e7a856bf676b67c953803dd6e37f5fe4a822201dc643080e5effcafad989be61db8b87e3a28023100c06a9c96374186190b95e082a5a6225bbfa86f3119b7ff6423d4bdea61f961b7c56be12d592ba729f788831d0f6498a30302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500663064023002cb4cccfc02308b36302ac43171c9e7856cc71b05b195636c99a8e64610f68e85e5e650f89c4fc98584d67ff6070048023069ec00d187b6e83f91ad7774b6412d5376b538c8c5ce42dffb2d7a963623d3dabdf628b72254f84c18cf83c66a1c94300302047c435bb5006830660231009fee68d92e0312b26de1f654a69ff6e9ef98b686ac61ba63d0c58ccf4acbb8220816fb2518135afa87b6b52c4baf446e023100e0ad64f486469c3c1ebd73ed6ff014a3bc929cc88066aca5589d539936027d8ed222b0f002f8861d40722904e8f4c78e0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50066306402302f9f71f53dc85f4d4f14fccef293370f4ec3a572c3775bf859b30826b75e1cd50406bf0cca2ea8e81355d628fc3aa94102305e76a3b73afda61112da6823668972fcaa811db108d8abdd1e2a6f81f0bee1619bd4c0790903e17958b107f85678e7780302047c435bb500673065023100ca12d3595b99f0788eb9ae8d4490ae03a96aac19cb3e9ef47078740081e3b99c40ba182eed2dd904022bbe3c9b1881fd02301efbfe570905a57f0531642f04ca4c6823f0da0ca1f58d63988329f74987470e8538632d0cb6dcc2481c347061abf4560302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006730650230763167008c38a331b2f6ca9f8e51d0b7afb0fad3030fb58062f3bf6c47d89c965bc94dcbfdcd0ee087042e1ab8766293023100c053647562cf168a125c54c1143a8bfbe10469028a6117eb39c03f9068b1997598b49237af59db6ad5a1f91d563772600302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500663064023065a440ed16927395b1d5f85a7ef6f391bcd946071e049d6036f2e0aec1b6ecf1ba3b84b267c4efe8ed04b41423b5c8c502302f72acd842e71d04ba93eb70181c986dc6fdb95a2902308eb4fee30e6eb206e2356a9750862449d9faa6e31ab10368700302047c435bb500683066023100a61efdb0f8fc66e2782a4d5e1ed421c19197098150c15b1330a759886c08c088e69a5d922d68af3afdb3b186d60fdb32023100edb7cd44a73d89f45c627369c46e610141c0c119bacc60f857d96edf5a22d61afe381052403e0df001e486c8088eecb40302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500663064023050789eb96c3dd26fc95751afa3cd186ba866d88fd5135f4d561046e8ad46501ce789462ee83eaee8dfebdcbfb31ce77602300eb1a2e070bdb7b6559c9a0fde1e5f1531e1624a8c4e22cc826f79c802e232757cd2d893290132cc3671af3cd12ad61a0302047c435bb500663064023100fca69584eb2f1fd62bce0d7aa3ee6e4512d274d12f7d2cf0bf5a77bde1ad838e8f696c90144c108a2c2e67e86bcb5ad3022f3a47f6ad0a5d8463a88973b929fda528e799b30f477ae1a1a53ea318f033966db192e4514b8e43c6a7db5e56736dff0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500683066023100e796920da56ca1a44f1e4507b7b5055671fcbce877f14c1901f452987df2e87d68613c5879fdd85de015bf42bb5f1f6a023100d25ca8397fca01d76a3369f45eefd8cd3ed16695337872a5fbfce7a6a95934edf33b05db227de12dee96d421fcd4b8490302047c435bb50068306602310095fb36c7997f462c6ee0335add98217d0cc96c92ee97a942f9c1070fcbcadf3dbd64dff76a406ba2b83228c4be06dffa023100cacc6ea647d6ccdc8fedd553f9570582d5e40e9ebb8f4b526b1172e4e709b1bc61e9fa74fe70dec9ccd790c24cf8b4a50302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50067306502302c9a62d45548757e81bb6447522c6c62f01320557670a4757b2db59ba397945ec5a4cd06964f87455d739a31f508a53b02310096e4614ad2d3d4a452ef8b12def802e06e5e15bd00f240375cae395b325d00976977913947b3f9d4ad293acaf0e0274f0302047c435bb50066306402307df92763839706ec3cfc59cbd89aaa79fbad5ead38880f7bcd6b7ffdaea92cb1dcf9f9c2993fc11897b43e744fae15be02307810e4aa22f700343470a8102a246a9ec406be2188bdd3faa5fe498a4f8d3d42a2dc3a73efae13271e449af2332ab3be0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023100f16c0bb7cd9b46e8c05b84efcd2de0470c787bafcb0f4a7d8e6b5e63645b3b442ed7b6e3dfef25208b6b623051223ba90230556d540af39a957d43370ca1a9c0618b0f69a2aca4f23af21c2447cc211b94be2086cb21aba6ec254820c1d001f51a540302047c435bb500683066023100c506b72f327262e6d9680c0ceaa91874a5bd1167c03fe5dc215bdd7478f489983b815d507d23e90e6be121418eaecf88023100fbb149b9c579eeb047b739e3554851c80c1dadc041178cb05534a5ad1cb247c332588a16c99f2624482c2065817d57b20302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500663064023039ab37546ccb489bc8d787b9fb7b6399af208e11c7a81ee6a7653417ecdcea9d3a6161921ad3e3b59825ae5064824082023032cabd4a0b4b774671c858bb839748c72938b4c353108dfa64c6d76ac2edd5e9425c74299b8773645d48188e827fa9f00302047c435bb5006730650230699f9fa7ed9e7332d2efe8bd19c144950457561ba4a72abf29b7e314aeea3da627d095a13d459e1de3c1385cd8264c94023100f8234dcc961c3d86b0d670b7a79cb24938d6ccf7011c7384c3e2c2ebba16ea5a65d4eb39670ca408c7555db61181605e0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50066306402301b81c39020bd97bd072f544315d274cd5aa16ce215401467b93dd4a2f3715c27e3e62b031e9bbfa9fe1409266b084029023047be33242bf8142be8faa7d8ec0e26a4a35d08df6a466f20569dfd14de9f6bb13130da8a12bba5181fc5e9b21d919a470302047c435bb5006730650231008c53ee4edffbbd7afa821bfeaa397cd4d655e7b0ee853cfd723c43a538399262a78c1e6002590cfbd6a5f892df848f8402304678e40ea539d9eb48383d157fa81a8a040781821bdfb3dd2911031fa34b07948d1fb61f190588a0b654636425bc62900302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500683066023100dcb20f182ca017b80947b280aeb77f0a4c8cd733890ba13b8432f10477cf3d21bbb41c076ab366addf9eac6c5d97e062023100964735ef945dc1b3ba36d0ffa57972f19c7374cb02ed831f802df8068add2c971e1bc076eb65dc934879b24bb6c69f3b0302047c435bb50067306502310085e487019a05846151aa7522a867ce2b654f871d8970f79d4f86b46535a6990ea60d10a1a38620598b10b48436f8407c02304627932989ab2f5be2dc5deaf698e976f977fb8ba9ab277690cdf2115d81b3e82d6c9185f285b5b1a5a2076c9f079a5d0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231009cd193fc97e9a0795cf9bb7ba999f24602a55709d77dd7fdc36d8b5711bcac078aaf32aba15b66fbbc420c4e2247d279023100fdd217431651245c7381fab6304687b39a07a138e33a8d80b159610b51116d4dbbaf46bb1753ba11c40e660c6b3913490302047c435bb500683066023100f28dd5be6d76f52923619f25f256236c36c4ad5d2ae4606901c5b9aed0d870ea975db133d7a78d7f626fd1589b91b8d6023100e48abada6f9545f14f76a89668bb5c9a8d4a29f5911f5bc644a8da0b2c17c76ce85316cbb628b8163afdbab5c6a2ad6b0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023024741eb84283200a0045157cf715301b9692473145e31d09225b53b72209b5c1e279bea5ae578686700a776801bea849023100f600bd6e7c912a4ae6033bc7cf37922528e36a82872c8b1d0e6a770f16c47cab68e668f05b41a84683fc5cd4763d8d4a0302047c435bb50067306502303085b3855a0b97160f11f0820ee3b8efbd6cb2b76eb0b0c64072c8750a95cdc44d1d73ac5448da3df89a389aef25e23b023100c0c2c8666b86d8bc63b4b0e11451540f021ed9851f6bdc05c3fe102bba100a5f0af782a84c57ad28e270265f658539500302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006730650230237266ed3225b9c63a1f6448f52c215ad6d782112f81a94437c94aec542c9ce04143eb5183175bce915fbdd8c1656c94023100bca352a45f3b4e5f44d1fbeac991db28a44e7257b410d65d8445bc84a6e647979064c3dd87b410987ce62f17e4cf01ee0302047c435bb500673065023029c8d8e7e3f5426d401a6c52250596d7e88cbc1c29a08f86bf98588557c2ef33016d91ece2dcbe3db7c5ce87366b6401023100af6515327b3c762d081d2a8e7f3000eeabc7df41ed7893ca1b58a99bb87e89e6ee82baa568e921c2a101f6d1627c8e170302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50066306402304743616a0ee48ad99405e6d1dfb108db2d30401ea2c18618f898fb4d2ba2e166dcc318bde38fe95c0d6d42396d6646810230290ae8d8f3ef125d88b1d4fa527c421ea6fe60e071824e39a8ddb1deb8735576bd6d3c0f9d3ebebb9ffc7e82c9260f8b0302047c435bb500673065023064ee05a9b0c773a1af33fd372de3ee1c7216ab8396332572c2a8096e68c34bfa728693f966fa1e53080d68ee5392e9590231009b24d7d9f59e4643c386ae0c9d96aa8d731e9b364ee567ae52b5d654936527074fc44a3b9039678ddc305a0112bc952d0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023100f3acd15c1462664359e0a93e5880479e822566a0b6fb4a2d3d396f5233708070323f9ec6618a82ac057bae22d05dc3110230504a24a5cb17b0b7400b57f01572b2a99e54989ccc304f06113cbba2d939b093350d52ca026872054308a707ccacbc6f0302047c435bb500673065023100af22af1aa961edfd970586f6bfb47f84fe390ce88d6e3b09aaf9f9b73d432c6eff439297e553a6c4244ab2c440b4aa4802307fed263cec60b8248aff4f0f6be62e792915dbf5e2c19401f0e3e3bc5b2c4331b9177d45ea73d6eb80101674a69f331d0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023100a8dbe8a6d019c438d107b177c599f9fd0837ee3f41cfb5ff7f4c3b19e26e1febe930aef0698a129f141939f53698c9cf0230431441d07ebcfeeae4574febe42787f581c0a399c6f95753b175d02a0f883b349ce26335848c69b10cd9126c09ca00aa0302047c435bb50066306402301be6e2fdb04a88f7e5cc955f7f1f20067dc352b318aa3c9d1175627635da7138ec09ada4de6b862a71ffee40ecf9f6c90230746dc5df6a16780c3d1f16ea211446cedd0db0abdefabf479310afbf43988ef3281abceaec2c058a98f6db716ad0a4860302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500663064023041ba87759a26faf927904b654a37b9f17f1189663f25d1659d4d3ac2f6b4a2217d247d3c6fd0f59fce162975d63aa5fd0230778ee55b3b317c0919550bb712441a955adb0d6fed9aef41389846b86f23bb46d5cf110de9dccd5c767e445ab0c6822d0302047c435bb50067306502301ccce8fac38ec3c5eadd092faa858848d6787c5aa18267b5fcec828f0313ff7bd5a963081e8d78b6f6d992b1b5132a2102310084785eda1d5387d3a674a7524b971ca2f68f2b428e66af9de82bf24f18d8b0f1065f9ab35dc857d5ea9de1429588a2760302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500683066023100cb11ef005e6c655565f3401299d50123de5767b521b664db59d8835571e796313960c2776f08c64aad317cf01ed856c2023100fbc3802af1bc590be56cd4e4386b88183963d46fab90ee9583838b81bfb51d63250bb28b43697ad414b000ab6464efcc0302047c435bb50068306602310085e464f91f803e2adb4568c8929cacfc6554c3a45fe97975c254df74f98eab488a2635d6f27213ec8c8f41f9b85faf63023100a4c804e8656337973915ea0c891012d8b36a5c88630b6830fa6ab688a30d5bf763ef23e609e3f4927b4f3656857ab4d30302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023100e512d7c5e1934c266875e28a0f060da95e8e804df0706da76295b14d3fd62be45985b90b08314b366fac18bda5ad1a6402305b55bd698ebfbc1e9f0e1f527c3ae2a041f68cf9c464e15107f4d66debcfe8c2ab55ebad449cfbbc6cab051501b719b80302047c435bb5006630640230535b5b6d2113354661515bb727f04886a1698b68d0fdf783645cba6ae1447874d4f3ec2736cdb64353a2cf053c29044f023032e1b81f13b44837e9b24873406afbc9f89d7be09546baace8b6768ddd38ca6159fbc4925c2e8263f030c997b68a1cf90302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500683066023100f30b6b5f8e8ccf4ba42ea0ed4046ab4b8c0e49153d462c9dc90e29ab5f86d9c3a27b9bf4747d0ccc01a9d120077f2e82023100a4a9c7e6897df9c7ec29e2166004be65709becdd4720f8a7644e6965385ba10e0fe50afc3611c76adbae598cb510c68d0302047c435bb500673065023100a50728303893a0bce975b2682734584f289cdbd256d65e85e7d4b8945d51856805a22853a6535d222ea1c07224533ae70230431fe5fff2cc806c5a2b9d6436c3aa0e39c0cae23d2c10c7cd3e1cbb295b6180f64dbce4e5dbbccaa0cc95a1f67a28a10302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50068306602310085ae9e0b1220c9de916b5dc96d42c9a8976ec2cf2064f524d0e258d40e9ec7ad719dd60617cfcf9752f235955e416dd1023100c9458267a257e6715730ed24e8addfaa835725091de3a7fb46129bb9ce97a0240700f2880ce91fb8a5a408b51c1f1fe70302047c435bb500673065023100e5091bf39756ee4885606d076f480b9b9785b2f5a9e98e62dd0e4bcb2703cacbcc3f873a4df311d584ba1d38ad40e775023033e987df49f6c81a2d14790d3852110c0a96f4917727af2277a0dd56e9f18cec278a6363f5db84f4c29a7d443c0a646a0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500683066023100d4459a890d219b60de4e682120573017a0aa1152ce734e3b4e4c386dd1bdcaf803d85d80879410931b0015cc4c84a5390231008a801efd229771344ecf43562f507a769bb6bb7be7144ff50a5ee7b9e610b4428ea2751304b92ca303e0dcbc2266e9f20302047c435bb500683066023100e671c5577615744302fb3ed13d5b8c90e2dff7132bf702514edd0ba144bdcbeca168463fa6d836cb285f8ca7624a7f56023100de549e8237d58001199ce9e9f4436438948b59963245288d0f6e902b0d33e8ebc451cfb09c0899c53a9c7988262f36340302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023100b25dce56fb2ca91b501e973b18444fea39cc601c2cd267a1eccd66e0125a33151b4bb6e45f87e00dda9cf47bcae24266023068be7febe0159aa56bced05accbbb29d3db036d6880e3dcbb0e5605cdb398ce2642779e1ac7bc0f447e7be26779fde010302047c435bb500663064023055507e3cce8f04eeb109a52b2c0c86f0599294b87d832a9df29008cff7681fa681141eea49be419507a598f77a0627c90230697e7aa999d8e0db04694058e249cd40339586f46ed0918aecaa60eb815dedd4937b935ec8af3deca79df38e006fdf9c0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500683066023100f215d53de53f2530cd274766e1c2c6a6770e66e851a2cf73426fe0e3f2325bdd1100bffbe65feaece2d2a1815e87c4e702310086e9a694b900ca56fc4bf3126b80d373563864f9a8f42384a73e8b88ac6294025994837ef3f0589c711097dcd47c92c40302047c435bb50067306502301d6dd1d7e2e38c227bf810288be30e3a08fa0c58a6f44eb54cc656b1d2aba7322d89941aca44ed459f4aa99cb063ec53023100e351f93903084522765003041d3b48fc7b3e1e93720cc395cdaf28254343a6fd5c6a7ce89c464398035d0b285f5eb77b0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50067306502310095fd9a9f9bca47890454c3dd6afc836e2adeeecf711b5e3609e55f4f850f4a08328664533115862992d7cedafd803058023069bc1f844229108957f6cc8b8b97a5abd4200bffdd17a130f5d121100d758773333d8ccc405a1e542256a518e7ebdbf00302047c435bb5006730650231008a7daefb0c9beec94a188c4c44b47c2f368ca20bf476bfe1ae4e8af1708fdcac8ca59507cc90fd1142a892da87128b8e02304182836d88daafe182bc0b4a52966a4bacf6b52d9fdfbc933e33e871f2fc9969eba140c4f4f32c61af9d4a4ce44fad6b0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50066306402301169d3923b92e102e44dd1093ef3d8d8adc21a0c34974b1308111ae0cb79c2b5ee8773a179e30d90e558df823855ec98023037d1d802512d3d8c187e7d2953810ebca6d38dd83654fedfbff31a91242a245bded0b80e8b5b0c9f91e0e3f9f9f90f7a0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50067306502302dc1718d793fa142fb125b9a72c34fe416c7705fd744f4a7f026021aad576356485a00366646a4bb9dd075684e405165023100f70207442f5d433f7c140595eae7f86f72c2c3a738224fbe8a15162c3680c85c3d4b9ab9c9377326feefb7dbf69d62a40302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023062fecc65a4c336efe4ceb5166cfe8c79a8c6af7b9a48c3ca29dfb4cd45f584e790200f50c42b78bd78b5eccf960b592a023100b4b6569282c5d73749a0099a4b73f77079abfcba843a15868277792639457ab763342c3a999023764031bc3a50647b390302047c435bb500673065023100825cf3867db9c42c86b474faab17415155b41f36089274912f67780a554e84bbb57803b2e25175c4620e4ccfb8849f77023028e5d64afd847613f878408cd7489cc6fb9db92956b62e1a8ed5baf1f9ac6535049d5384165e2fba00320d55b651b2750302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50066306402306d8c749da1046d96c840c8b897fda4d07c1938e46122285f73053195e154862d5151e57851e39ecac06bfe802074aab0023045dc844b5406089b3e6b1f27cc6c191616d820ab74e1c8721c9786b77b7192b8260955bf4cd455f4d79a8296e7193bf70302047c435bb500663064023014984803fc47b42580dd5766dd6e538104a32fb2e376230425cd0fd79b1241b999e5a6fabd79ef8db3f83cc3caefaacf02303035ac5830dc6c3fc1642a14c9b11d01b12bbc44a9208df40485b5fcef717619723306ee2f8a60f52638f51d3c6f0e280302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500683066023100bb857a9d579ed5c147d46a24583750116e1d2162d0ba8585e3c6c48f479189f38944629ecf0cb20f5dfbe435278d3ba90231008ce122d98b87f050476d9d093f39a07e51beb2847a2b19d91c9c3941b8bc406c3f3ad9c6629785ae16e7f23643de9d830302047c435bb500673065023069a55e761530c2a45b39e231e2d52706eb93ec7f637a9abc02d3d81cae63212336f07d0a8e805b7a3d2641cfbb98b1bb023100f67af6b1829d997eddde8ea89e5d8a39da9a99ed691e8f3b46c980379850914a97bab22c391a43d7e31683a2d6c991eb0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500683066023100a0eebe99ed250ca93098631ec1102627947522eebc8cb167487ff32b597cf15db12722a25e8b88b05fd5031cc7dc01e902310081464d02e8ec2465312dd233b1b80d9151d5ef11921db9d7708172c99da45c9623cd970ee5105671f858eda8a78cc6410302047c435bb500663064023015b274b9007f8580609dc808b14db616751b9fcd21f361fb1c1f7bc209c3f1be63b70f65e86700bd474749486839378b02303188aabc53a37dfaba60b2e77ed7a3a706cd83d2f2a4317ff63425e94b6ec924bef8e847a65400623739cf44df7fe5680302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500683066023100fc4ae5fb5dcb14295b7f69a5385a74c5ef5c798a6ba5356d70b61e65b051b29c568c061731e06c105c3eeda6fd7931af0231009c1c5a55c7129deb5989858354af4ae13350d1d040b06ce25dccac94eaf4ecd774b3a9c5ed402f9e47e0e9b426424d520302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50066306402300205bdc09629ac676fbc47745c5321c55b83b25e3b3a799f0f29375ec475be528921e0298a1f7c728dd8326dc08cd8de02301be2dc6a06700dbb1cecb9288642caaf578965b0f2d37c3a9a49fc4bb2e9b28b7a9f61b78841c876b8f1bc98f1b3e4ea0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500683066023100dadf108923ddc45235aaf710a8ed0aa8c995f57d6e047d101bc562a4834bbdc732a66ded36ae7d2247dfe84bcbab7c7a023100f36cf0c875b0bf842c0aada96bdf2c7931c6f9590992892297654fec13bdbb278e8263c06b5f8c752b37ed20b9649e1a0302047c435bb500673065023050039193d681fc22466d463faafa25838af4b5d42838b0ad209a999baacec4387b0a74199d00e5ff0be81941a5b2fa19023100cb68f9e0599c43c004110d0214027a9adca0b3e76b7dd3470221745d68d7fa7a5fc03f1c166c714176f0b899835ce4860302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023100d4b244e4678df7d9b35e4ff7e580078ffceabe2c77c1c9d8614c71d2575771fe95932dcb5bb0629ad920d40e04fbbba0023011310de364144b62c4c6b2a88e345574e9a6cb32dd37e4ef993bb53aae1396811f52d6754beb6266cd806d423f50a0e10302047c435bb500673065023051d24576f3fd9d532dfd9c8b9c020fda1a90eef3f1ae909b2700912bff5f3c1c2ec762028b1001a8ce031206c7d461a5023100bf00fd76ea5cccae5ba78f247ffc83fa0f34dc90bd28ee2bc793f8ec6d2f350de063c5218b097aeeb7d286342b2738390302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50067306502304afca43d4dea9182a31cce84e1b84942021136f681aa5d6c267b8e5844ff98fb2b7b643b8bdd06ebf5e9b5b258aee1d8023100fb8f1b43a00ca7f2ef02e59fda2816abe4c3cce407d32cda9e772feb03f7a64556e957d54955fbc722ad388a7eff69220302047c435bb500663064023045222939179bbb1083c2fa298ddd711c725a005b8a9f88e07abc75b0202b9c5f5fc9f6649e4ebdddf2f8c3273f0213ca023016d7ae7172df5789061b32d18126558c30c9ddcd58242a50b20d957b3d949e23d05e3cebfbfd9907a80aba2ee7f8421a0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023100df1df2940c1bd8636bf03e27d7a218a7b3a1a0d5bbdb8100c55cccdd3d04ec606237aa23503a481f3eb48c54b43370c7023061be768ee2225f932bfd8585738a2d776fa974e58819ee040d75e02c5c5cbfa7331cc3c0415fbbe3339994b9d9e314210302047c435bb500673065023015395199916fb59b295530b69930521098930e9e325ea950d345304d4091184ce62a966b9df2239a9812241686de1fdc023100d6e3eb10102b1664ef4ee37471c044b8526eedd9690e303a48dd9d0022cb60b95ecb2c62f923b1210ac274158db5622a0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500663064023011ddf153c1b059d10f229dda1f5e237ea01509b14c7229beeb0ffc39f59a6201baf35a69b9cef9563d9a00519f64467e0230265d50de05eb1289707aea2ceda4369524c1ec233f0fa6f6efe97c9c43a4782029cea7af2f40d8f7d8d8f9c05d06b8f60302047c435bb500673065023100d7b41d5084d79a7fa05986dc6fc8bcae6e783942668cffe2d91d6bf13311d504109f3ea420f36a2785e3e83141106834023033d5706c16ce87e1495c63dbc1ff25027e91897b2b3702973df2d9241ac8da84886370a05fe59aeb30ac5b2b61c4414f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023100cc28eaac12940e0d308fb2c09b69eb4e5473dc87989fed506146d32c282b1bcdb31d07c151c56f8e54b90ee94ddd92ca02301452d7ca47e9e86a76be39e4ae612c0c5ca526a246ee77a793b163cfd82b0d4473d518ee7ed98aef0e55d26d5bd9516d0302047c435bb500663064023017105dde572125b544ee9f8fa2aae7ee72341c7e33280b6b54b383ab2b1ae6aaa933e602092b1aad5474f56e990180f302305105348179bf826a0717f1996c8108f3a3448e4991d0e7adba77f2d642f2a799a7529400d41e0dc4be3505565cd887750302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023036721f68e1987dddc5ceef084d95fc919ac0fe2ebc97016c423777ed079499e679dd12a8c187ed427a64871e4b105970023100befa7565736f4705e79e7e241033db65938faee9a75bc308789e6d49207e01686c3a0d6f0d5a71075cd9b88fb25bd8c70302047c435bb5006630640230275c1ac8965cf7d572d11b741d3f9e5c2657b56de272744a37728f51e047f9bb69ad0198e1dd50a1a281b544f9689922023063a81789993f0ef0724aa3c76891e0be91c0f5f5ff9053fdda43729cc9c25895e9bfc7d5d9c4be1bcb965922b6070ab20302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023029db7f627d127d07655928a731a0e93656f8cf48df034064078b2052d65181778b46f537f47cba4f8ced99c7b17280b1023100bf4a7cd7a6894142d7da732e23a91d5aefc303fe9fab4fb71ef552f79995c311036d6a97d90482875ce19e9937a44a710302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50066306402305224804a39cdebcd11a68b5418d13e8e011223a9cd4fcfc077c36472bd78f5f8ad50c95ee96d0495c2e683a8bfc1018c0230638f7d09e2581813486d088743cb9058debc1a327b0d135816c961b60b0eb81cffd73384faa16c78c3ac175f9c31c23a0302047c435bb500683066023100ea3a4c404b283df0ab127532149380001573fe48114a4d98d6ec59c5e079f3572a858f22760f5ab0f60956e1dd2db6de023100869c4b11cd2ce8ee276bc7928797663ba4fd495ee8eef34260bcfd75fd3f27aa0be02b7ce629168f760b99a9d9f8032b0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500663064023017e6f2c14bf05b4a1b8ab708c5100aa331ef9de10a65b0c2ca95f64086a5891398b97b8ab3457433b69c0506a0222bd602304820d6f79d150220db641691f644e26b3240e1ce2b09c1dee59cd4fe2358b53c69f1a1df9dba270a5aab1c00ad84272b0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500663064023046af0679043070cb2fa32a17ed3aa5a28a9f6d4ddd6dc873b2b1bfe9c8593bef7f8121179f857d9fbaaed2fc7de8ccec023015e509e99089357043faf7a65187f238ea3a8cf8fa6f62d3ba80de4e1d362a642f0f81d175694ba248a35391d8d766e00302047c435bb500683066023100ec3015e6024e87fcb941c6f4682325e9fd6a15d89d8534cbd3332727c3af1f088cf79071149dc0d133a75fd1b7b300ca023100d70826e1400ea1c510bbebb273908c95badf3571713225308d24b4ec799222a9175e3b832d0c3b036fcf85221fe9c8e20302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50066306402301c227663e3cd1066a27bf7ea40776bb2cb9a14b6a1dce7273b6101813b94cdd9d2fe0d4c2fb3dc64486eb14d183c2184023019a46b2a869df9b4da524ca20c975f2c6aee55ea8fad144d8e5adc64b7faa9a5771cb9111acabd3a05da92bd2fdde8470302047c435bb500673065023100a080813abb87adc93c49387175ed799d669ed31a2b682d3850ff5c518b7119da21e345975f4c59a1df7ec85c3cbebca6023066f205e418f517b1b829bb3bb3d719b1ff58e6a44108dc592cb489792595eea2deaa1492c6bc6f362a1a264f411490f30302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023100c432666c611ab741f53fc291a8468fe733684c0e2fb3eab7e76d41e0c075cb046ad6da7b11a9b4b6be2ee99cb39ce64d023031c3d3c1d0ea6d1a01261606b00dc4342a949b667cbc01f369a88728dc3f8364c29020934bec68897cf94f8919ded3270302047c435bb500673065023067249ae7419932e55e9be25e096f0f7f5d30c01653fbf57d141d1283daaed1278a61c74f252f690c40fe862ed55e7d33023100fb19b0e12fa6031f5ca3967a9fc3a374583cb41c8e5557ff715e005b14bb657489b259b823fa14a7dc0619c915455eae0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023100a28059ad44760b215b6116f119431debdfab43b11de5e6bb64345de0eddffe3e69aa9eb6ccb9b7c1373bf1f95168757a02305c283ee5146441e5e44a725705ca8fd9577d09a72c0c291984972c050e15495cdbabeaffbef1a0ad0933fb10c69090d60302047c435bb500673065023100be6a574d10516b9c110967ea318bc4d265fb438de4320f234e97e7ce9be191946bc819353f4b7dea7f06e7db3241ebb7023047025a542704d6dca6aafcbf3e412d7826a0a43ae5475d1a5dc629b73ba2bbd01d3a81bdf859c6dc4b6e5abd6bccfdfc0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023100faa4ba65dbdfe599686171fde8eea3c3840ef9dff713beb7330ccfb61a268b869bcbf85bc49fe1f9e81fc39f894c9bcb02307c3dc5ce05f3d05cb455422d0dbcbfd536742059cc4b558056d4497ca901bd95de9232a31b37ca353bc65307d52bd7d90302047c435bb500683066023100a5bf4c04fd9238387429ffa9163f3d2d6c0c577b3385e6324f1a194e2b932ce0299198c37570d27116beb400b0d3981c023100ca333dfd2220e3f833b353ee97c176d0ca6827be580c5bfb8051f38aae0aadef59557f6947ee29363fe0d66406013e6c0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500683066023100c1498e8dbccf5f19fadd297c7137bc26f9f221f82b449e2531bbbd40eee0df965883882c297ce902a1c20f820a4493c3023100800114777cb64819a1bb533ad6ab9a48be3c005f0e341b7ee0c6367243e8411b028d022b023629948585fdf1387b809e0302047c435bb500663064023031f3d9ab015d709a0cfa905f4de55872ac98ae6ceb0e50617748bad5d67981c6da3181b9273b3020e85bbbcd5b1a3c360230377e09841aad3d9a97f4bb29797d92af1cd889053e1e69bf93019da731129ad0cd182d4940aa18fd05bc6f03036e6df10302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50067306502306a6d541ad4554a1452803b627339eacde30739c52d82e920f7614187b30eff140771c59df807a4fe53dcad7b68b8e684023100dd2a0328bb0b9bb2d37b3d1d704cc33120afb01698c7142ae6f7492ef991e16451104aca6fc75cc744f95da5cdb116500302047c435bb50067306502300882b3fa99ff1fa94c9822aaf7303a59a40f1b9fa4497f747c8a1b2e1f1832d69fb7ce45fba6db980a64d14b35de6079023100a360dc49d8fb880112a772cf50cac94bfdd0d960e115e899cc38376578d15e2c06e52313f4845aaf4c573aa890ed1c6f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500683066023100d1d65696bf2dcf0fa7db5e5701c8d2af37e88a923fd22fb81b916d466d175d6dfd8826112690fdb4bee57a7dffdad744023100a3a1fa1a1e8b64f729dd2710cea08a64bfcac4fa05ed3f339b5af877fa0794206691ff3b1291cd26b6ab7bc1979f378e0302047c435bb5006730650231008eab52b8b2496ba95441360b01cd5be3a1c2b02a61f18ebc8e735c2233ca51b20c032136a7696f81acca2a72a6d1c037023011f4208f69204ffd20fdd7bf7cd668d2995a1d0b7178c75486e142656b5dd08db138755b0fcc4ea2696830d00077ca640302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023100d02036bdee12d7409567cf001aff3efdec1227cc291ae11662d628f86818c96834c7f175f9d34e9eb14109152c22d10d0230367c1718df5316f41cd1c03cf599f4038ecc4adb2ea9a82c6c1947bc743b67e327f98d25a7c568bf72fb4700000d011b0302047c435bb500683066023100b1e7fa55a449786a76426027df70ee4ce432e0bc559f708524d884409072b77f072f20117d7fbec6b7f2e1bd22faa6cd02310092b1c1d2f914844f78d3445ba05f7b96c5aae83a9ba18be4188c63fee766ed301f2bce4a1e18e60ef1f7e0388c1737760302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500683066023100a2f6c02b0b61e4710e92c7a8c4b7b5efd4f903093d3ea378b7afdaeee2a1c7e76f9589f247cb331b92e2542c6283ed43023100d4ac575610f4bf30d5de433d1bcd87b809e3299aa4815083bbf02d4d073094b32de3424e3f9f14d08d773d1d95d873530302047c435bb500673065023100d7f61b2138a68c44c33f836597417b8936b4072af8bcdff960621edc8605f49e5e369796493006594e078ddc428956c1023052bbb89489d07f27d24056acc309794f8a963ad0277344465c9f141e938df64f1367f22761a95b21adbadc15fc66d6110302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500663064023049fae8ddcbc8871ab2ee5f04519eaa21d577f091144726fd80d0d2e45fa679056d1b72df743c38fe1c7199f9959d4a5f0230359e238232d6b44d9af1be795e4a36577e909c632e90f7108e1d7ab7dea4f261605fb1f2a42128af397d9dfb487aada60302047c435bb500683066023100f48be2997e26d6515c568c120fd5c2d33e0c3dd1c09d12e5698e91550fe0d9bb9a5ba6e559f0d14960d35dceb6a73ffc023100fb7262b072da320e9f7b9dca9f8321ac41db0bc083bb8ef97f114170fb1c62b6ce77037586ff12c79c144c781974f9bf0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500683066023100d5d5a26b2508cd0cf596123f8a3e0af54749cc3050e1739b5bf549618f13f2058d8abafb55188786790064b6c3536a93023100af3521a27c928e6f9e462ef737bbb789c808c024d6e81e3e691831e8d0365fc6a636df1e1a1d8176af7700f8b62ad0ba0302047c435bb500683066023100cd7f9f3ce57adc0d8375499bd9066bd52c4402ccffd4c3cee220f9f99454091d3d12d726cc3b295614f39c43c61a81a4023100c0f93fc162f482f76c4ec5e75a0a959c311d38732ecbe1ec5750e9848952bb04bf88e162dba7e13d36c6b935900491310302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50066306402306715b9a0c6e78d5c32ddd05e094baf4c5d8e498b13ef918e18c8832e1c8617bd126bf09d7e4cababdfb1fd1ca38674be02302cda562263cd8dbad7d8316b9cbe0b0cca0d762984b6f927338ae088276c0b6d1f1a390ac819e11d375e2595d6730fca0302047c435bb5006730650230087261a8562d9f151b78ef9f80b3c3d321b0c60286d199ba9fa16d91bfec0653f828352f1a5e103764c0947667a7ec90023100c0474431cf92fd9222d9bfc86d744166c1ab79a66f213c30018db76adefbe6a6bdbd2c90837087141f2aae8c0fba68030302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500683066023100a51bd02e78987d8901a8a1015da13051892f2881401bba9bd678fcada959503ef6c9b9ef024d21131d1436a1525a28f80231008fe1252d52ad896f8073e4f46195b904a77ee85b750ec0b8bee96d5fcbf9f64a3af1b5cdd1e61903adbc7f8d1efbc9520302047c435bb500683066023100ef6800a21a8a7309abe91a5a3fffa61749fb863aad048e32f2d60e88d341a693bea90d93e01350be80f2b3b92d219d39023100cb9c17823be9c1d4217d7a9a757030758b5c54986620780a1151e334df41f2c637f038c0094c3497b77ad5cbe5c5003e0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006730650230635c325b8d0377a5d83edc6b45f9eda2ee0ec63ca311a03ed4a1a485dbdc2dd6a35c073710fc40681bde9e369f7d90fa02310084b0c4a7ebc7ce13b7cdbc6ca9b99812f721d3e527774cca87a8eca7fde63f030fc4e55dff8d1bfce889fbfb34b23a7b0302047c435bb500673065023001d1b5c5fb5c91a19a4bec0c8b5ab655809df09fc04a2bb2a8e9d16a076bb259c41e3d8aa45666b7a8f742fcf3f75e2d0231009f484cacb1f4706abaa3bf66b844b97a7704bd26746e362f912347ccf94feeb0dd0b7d13e3e4dce3bad8efc0ecadd8910302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50067306502306cff29208e2a4c80d80e493691c213ae0a52d331b9dd29b083a048e7ac81b36f3e71b11f12d601330bb76266a8e9e634023100a00ee8e2197f60fd9cd8941ecc64cffdd5cde6ba96c2deb5449484b3b2422c45f0de10d6ca988a5f29a4af354718f18d0302047c435bb500683066023100f42944b69c3e04d72b392970db56ffdcc01dbb2fe465cb644473a419a40ff7fa0bfae804afaa2f7dea6bccdeb8c082cf023100ba56970e7f4cdc01fe4276dc7ade924371f00fb8f53420f7c64f842702f0f19361da16b5c4f4e675e9a773410b98b84c0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50066306402305754d7ef4302410730d1053708714eebb901efcb14e6868882cf5aedeb729ce591ac0ec00be2b0646b0dfabc6ad2511b0230326c4bfe6d90206d00ee38da2fe282825be41d10cf0c89d6480c1ae454931351bc99f772f5b62883e885a4b0f36214570302047c435bb500683066023100843568b72aa3a14defa070b20c88a4b8808adbc64f00abaae274620328772cb9f6f2e915f7227191da069c1bb5d4259e02310098b0dcb110b75020879758f4e892bf69784ab8d72e2c26f37c4bcd9a5846b997a659ae490c58f45736ba1c14b274ae270302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023100eb75c70533abf93101809487ecc5f85374461020a227d30b721d6351ce77b7f65af84752a0ed5cf1f34fde234c141ac602306f7c3b27143d101db1fcc5bccdee3bb2f9d15efb64f7e671fa279d66dccf2dfc17944c78b2d1f22823d0d281ec3e8dbf0302047c435bb500673065023100b10fd287eece8c7bf8c793e0e250963bf0ddcc0af9f63bdbc76b67db80229fe2d5ae11f5b2a54a654374a82f50d1d6e7023072e992429b85c9e343a4b5cef358fae6b91c7f5325c362168c55b0e81697ddfd8c7688009328ade670ee628821e2319f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023100f1589b44cb3304df6dff52ee10bd62c3ed00a3b8effa9b729e3a6afa346a927da7f089afb27a342c9ae447bec47191030230156753276dae0e2f44cf0ed2daeed82d5dd1f3f2b79bd28a3068aeffd28befe37f88881537f02082792c0ac05c969b8a0302047c435bb5006730650230632c9c9c65aa563dff3e438b09e4915ec6e84697bab9e6b5a212d89214bfd064c507246cfceb0101857a2809f4d254f0023100c2d3487cffaf7ba9ee3270faca586dd6e29aea76bce1e0a6b0c6069dafec69e3dc2d7b813a7821012263c241ddd73dda0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006730650231009b8e73651f155da8c682cf2d8369742dbec51895efb3b0008f323aee6bde2a729617315ca094d3b4890185e37bf593810230277a6fe32f1c945512f5b9731f246113e7856411732d13ed246db6dc61f7467875b2cd444fa9051461f8dcadc868e83d0302047c435bb500673065023100cb6d7df0c9f2cc20c52d95e28fa9bf8f9a403c6de77cfb860759d3a3c294fc8912ac7968f79460ee8cdde8ec99aa248402300efe8549cf53059c4f97bcfc1557bdde4c29549f7179e29cbc64c1bee4536c0eaa266810439dc382fa8bed96364959bc0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500683066023100da09df13074e9bddd8e8c9c2cf061f12cea64dffadd90e5aaac15a26ea4f0096268b48ca8c60913533af86af7a958aaa023100c07242fd13b124e9f0a9d9409423bb8af8317a9d07f8efc6c1eb96c4804c5d39519c5825db612ea88e3ec1725c0c3b400302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50066306402307bec0e425889f408eec671f93f9582524427d70ae0aee115d10b208d58059f28f3512b3242fa66920a64e8d1c71f447402302cd20e49f8982a60017a9c9b8b45f23146aae9d69da4591f157da57bfc8b9ad072a9d81ec5676c6af0826b7267e7b7390302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500683066023100b2c9b73b85fcf0d1d489f14f21a6731f81beb50ace7f2d24988aacc2d4f902b235754c045e8a88927cf8265ac2513798023100fbd2ae09e169671aba373754db89e0087e461ba7ad1064c2f21fc12a34300b45153d626368ceb92b511851a737850e500302047c435bb50067306502306416d61f2a6e5b1d134ba8f093c728c102187b381c08241ec8a222572dd29703c1c8fa78909843c7fa52a2d20362a319023100ff6e2987da3a912f0a72e215adc0bfacfd3af67f696a6308d972c4c3fb4d95e60ae51cd65c07d2f2674fff779df3ac2a0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023063805aa8f8ae04a386940f1e2f765bf9a08f7ee30f6af4db0469f1f9a4ed3af847c66b5131586003b0afa6e2d5e8a006023100b72ffbecf4da6c7d067d483900772692b1fbc96ab09290a812f4ea16072d19cd520676e864d7bb521c376c056b7d97000302047c435bb500683066023100cd503fa61527191bfcd021660e334a0ed195564785b4e4c680ca2f5515c14e2b86035c353eb2f4a717bd3917e7f2ad7c023100a82cb04864dafd26c13f48b663c628c6498c228b214789fc63e08786dd2c50793dbbbcd840fb1032c866ad557c78c9990302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023040768e5175cb9c69a9bf9f3ec825ea9e206e27b1ca7ef089bc5791e85a10462a36ba52cc1a4e5cc5969242759bbe7103023100f698f8913ca7d14b19a28cd1a31e7d14fe4eef89777dd377e18511a1c9800ab153f3076b5b029dd6843337d46806e4df0302047c435bb50067306502310095aeb3588520d09ee4d92b9a27f0ab5b894f3448f3f670731db212a2ca69c29ceb5b5cc11a882e8d792dd75ebbccc7a802302296c317725b19e3e053065926fc5a87f5ce8e86c3bebc230c2c754876cc01052f26cce387a2062a7054cddb8bd487e20302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50067306502307cb23021183941f416867564065cc5e55a910b132a1851051a228a6af64164860ce0aef777c0d191ebe9e563951938a0023100c10b7ee3152c1ec6d9a39f98f2258aa4a8383ddb7e3411a0efdce9fd34bcbf61f5c64c08cbdc51cd4770d6ae8457cc460302047c435bb500683066023100f6013f3d02a8e48465496196d03a8f1a550f6f79ef2ae5396a0dbea781a1752f5cb6e51ef468b43df405dc76586f45b5023100c73044c0ffe4372458dfb287435c3ab0f6a833c666997fbca151f5bf7f2aff700dcbc52160e94ee8b5506ed32b20b4010302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023100c7d95e597ccfb75e74e604aaa05eb009de3a4c282de5f7ed8d894418288d1487f2a79ef1025b55b417064778903a2e7002301a8f39fb19488339d7b2918901a50864c7219558cfacc085e27c2904b1e6bc1d3c4c115cc2d129edfc515b479b7636810302047c435bb500673065023061611164c6728caa1c736498990cb9fc026c4f4a53c129a2d03fb352fe087fd50f9b3394b990c690af2a8fb97efd42d30231009207856228a4b1ae4406e9d92e0767b2cfc23ceda7499fd7abc8e70310af03d0ab7468098827ddabac3046cb569b5d750302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500683066023100e2b5fc01a570a373b48da36e7ac9cc5b0b9d3f62ad1731e8bcef2ffe6d4beaaf597d2600fe95935a4ed4724017c3e141023100cf9f18a36e1418a950924a15fdf910da52bf2ea8cefd6549fdbe8b47db9ae67fd1a3089c6fd5baaeb5e81f216a5ecf1b0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023100af9944d02aca1b7a9075c641f994f4010e2b8f35cc7534e28390ef4c52854b7d52da69bb2ebf30b12c749f3eef8e99f302300afef1ebdd08bc180d88cb1652071c63af0f3af4a28ae0f6ce351d8851b801e3c40219d2ab48a68c5fc1a8a5e8b8f4bf0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50067306502300118f533beb318d479001a090f813703636df00305cc2321000277a6f09acdf9ebb6be3f0a71d395001c7add9ae44f620231009ca84ce03532bfd2e2f8b5d96518da36fd6f208e02561f1a61526b6aaa831f33e6438fbbc1f87dba0aa4e731c9c8e99f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500683066023100e2209a82d17ade282d0ec3f8737cf81b2f9dc6f5848b3cb2ad0a9ae836399f9754cb8e20ada3e7cb5e2a7091790bc750023100e8e6c3d3218929260e7ecb4e65c1000f5dd0cecad076f1a0e7947dba36af2f115f83a999ad44e9de64e1be15c5ec4bec0302047c435bb50067306502301e2cf48d42aef8adcf167dde6c2731aec3939e93297543cdb8eac6aa00085f70290313cb243a02e55bcfae3e299f510d023100afcf167a15542f64fb5b2db9112c52a55fff77b68cad8aa0c117469e853c2b9d54399d5338ca33a9047844a85df7334d0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500683066023100bac70f91fd1ae35c568c97e22f070f459486673ff5347b97ec368b68857b8c00ff35f2d469069bb57e2626ccea41d04c023100d81f647e44ed9d8de533d6fe2cf91df8f7a97806b8de7bf863b6606c712252a198d59d895001c132b7a052d005c52b000302047c435bb500663064023004c302a87b538c197357a0c2d6530fe400d272ddc063d2a864a60710d16f7f660f3ea1dd7a31d4eaddc664998cf2baa30230622e4b392025b0767ca34fe59bfb821d042bb05f5739af30fab7f8638d0357af32a73f45fc748ff0f459a85fbe368cb80302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006730650230152ad4a4a240e87434310545a626165ee21bb2744cec3846f8777d94be31f91852117527f18a2311d93db349da69aa16023100cd02869b69462004a3567feb9c9c1fd6ab6f8a513cea682228747f91e2f3b11cc9ee2078c3381cea24c35abc9e865e4b0302047c435bb500673065023100f8a2302cd50afbf55dfadebbfab57a3d93d22bff003fd84ae9ccc5239e9f0094e6e16c3cc1b1022dee39be00a282648f0230532216a6f602e64522475aa1d9c0ccca5c23f1f80a257b683045e2902b0d6f5b729e1afd75a7ad5e0d1603d9b97232490302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023100bfba034f2b581fe5a52dddfd852d3b7891054066afccf75bc5d61f40da9125a416c352e40c75934cfcc073fd9680b90502301f093c255ab7fd6ebe8324de7c100dd70a2d9cef2421fafc4c3bb435756b2481494fdc6e80bc529e32306cf088d7e32e0302047c435bb500673065023079e2534ddb5d0873f7bb8a240c6dc0c02a0156cde79c4293ff2901ce9435430e2072b777fd8998d3f1b8346b05b4aeb1023100bb96c0c0848a29107b4f4e00f94a4893194d421d10ade794cbeae5ff9042f02d2370693476b590b1c8fe33092ade49ca0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023047c62212f627ba0a4ea4f70ddd5de787c08546f13648ab114f1189d73dab2293b1b4d26da56251a53162587e93f74522023100afcdd3cb655711307fb4f485914092329c2e17b69ba0015a30aec23be2970dfbd122c2dad2175695eb2f2f4bda70aeb70302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023100ef3ff99a6282350988b2b9fd9edc0a905b735294409f988c230d50834deaad7b397e4e05705da5edbaec9ad061a3087a023065d1de370674be7a36af14760c961e1e3b888150251f17a8a316eceb452a5cfa6b6f20701fc301c44f5ad95ff99534a80302047c435bb500683066023100f58aed50f0fd138b38296ea192bc14562ba426626153fc54fa38169d1118a59c0451d3a2bf664eba849c59fa16eeef5c023100a70bf04179fd963c3beeafcd569e6ac4cc6eb8b698a000798fdd0d73fdbb7cff9447cfb58efd4eb19b64ce952fc2052b0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008d36766a734a2aec61b5a3d44d3ae56c3880a4bffbbd0fe9cf3a695a01d166a8125e238e81b2cea26a699957b23d8c9a02310095e260720a10a7a42052c70207724005b9826d672f691193b13b4be52e2e47192b0cf740f49206194103397451bcf96f0302047c435bb500663064023023e95ff9fa24ee00aedac89d04cfe331536477e9d617ba079a0b1af73d8307cbf6dd44636674db3c7b007e68bf8c40d302301272125f245c8d6a7e42cb44c3f49c33b511d26e97dd140a13f7f7b160149c6e383db173611ebd72fe5e365fe278647a0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023100a28678a51ae719cd2c5498bb0c496aa3ce1e428160ee671dd2e14190be88db2651a397e0b5de240f53d004b060ede521023022ffae2d064beee751e6e1db01d4560cfe376eaec70feed4add1fec80660f0fc6b2c064e3ce8bc61d8a2ef391c6ecd990302047c435bb5006630640230441b79f4c76be197fa51d8ebb5c861fbe76b7f0026444de571bbfec00cfd39d666034b3114ed76107db1ecb6a3bafedc023024d9fbd3762b1fc6e3840f12644234eacd9ce4bc8c825182c4812c7577bddbee2b7669fae53854e068ee5621850c81860302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231009b97939c74bc0f8872809c764719247ea66d1fdd0a32f234ae578488a5c9f455d1efc48c57f5ed2d9ca14a72d2f43a540231009dbce50cab33cc778a3d78c723f3aee9144c17f40804986f685e00d670531367182c3989966ae45e9ca820f748e0c2d00302047c435bb5006730650230142bbd6b73bdcb04fab43fa56c84bef6039a5dc69e216e14ee23b67839396c5a0a5552683707318aea44771522206399023100b03ac1cdddac19467fd1cdad31326007380ac15c7caf1fa100cef7ae952969da56c775f1236b6b80f092bffca251ed7f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023100ccb9e5199666d644295e3fde5a98d06ee40b2d41feb4c993aaf44fa60e269304be3c8ff33289b6468d153b715b16210602301dd17451f3b1f75ac96d04250f3c88e96d9fa99e14abd1c2b3a8ee4a7b7bf0d08c8bf84595f914e3dac80686e226e1190302047c435bb500683066023100d40b77eb3c465259d052d57e22e9c9a188f9867b7a3dfb93015f0ed002940ba2bf3261c15cc5c61c0c0b2d3be42bad18023100d54f3567747d780083747b073a898e5c7441df47263df47bc0f463ebfee97304807d7c60740eb7bad743f4f69ae0e0c00302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023100f1f9ccce75a18fff7760c7585e86c0808dc67b7a3d674c9b3d885a5c48620c598feea58cdd85593a9459539c2881b1300230197e621b55a4c4f67c0487acdb379bcf35b99bb5c8252875d7f203395e7e5918d42fdd79e2274d42f6506220789555540302047c435bb5006830660231009f2609f5c07e7725dc5183d0f208c926a3151fd0907dc113a543cfb222c3b75612896bfed9cba5b515131f24f7325fdb023100ea0b27e8a45a7ccd3be8dfff0a303b2bb54c15b1b90a240e33b9590f6263a0a90763f441a937c8ac5635579eebb04a240302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023100e02418cc14563c10f87c383a97ab4df75ca075f471d3fd5aa7134c554c12b1665ae8cef4683b1b7bcbdbd3a2a85e1b680230595a41676ffe1dd20a206634a9bf8a76253c7cfec81d0cf256fb9ac0b61d374b9280bd684106f867eee9ddce9feb54470302047c435bb500683066023100ba5692177d7efa59b615de94d709288ba97a0af305ec5d9e841f8bda28d02feb53f70d0aced6cac953cffc505592bf2a023100ea25de13f8d182398d8ae1b33336c91ed5b1c61bd5dfb238dd97d024a3dce2f755f33a242e4cb24cca91671f44b015320302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50067306502306621fc5cab74bcb599ab7b28c2f922fc5f141d7508d6a941fcb6758ae278b1262dca1652b82c68715655f76c203d6d55023100cce6c3239a6722cfb1b6d09eda9cc06a247043f27a1472a934b06d1a00cc867335b7366bdb424964ac314ad3716e846d0302047c435bb500683066023100e0ab14eec0ac7b9290241f0269eee5cfd2ce87b596c67f4f5c4ccb332bafc8e860f998998af2390156830894efde5698023100ebec6cca5ced4a9ba85fa79e2e2e7c3b5d821d1f9d8370a4e004c13e1329aaabb9940c7f1a7d0a97b66b300bf94cbf400302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500683066023100a3abd26248169dcf0386d79efc2e98b0789739c48ffd852dfcf579344cbd0652c38a981b62de6c8aa371475fa91f8dc3023100fa9970305d0a674adaf43dc2bb64251a11198c1ae8ce83727b88add0406a4a293cf8c79eb477c3f6fc68dbfb44cb397b0302047c435bb50067306502304214885e1af10d47690eba799d820b93839794bd0a912499ce7a8cc4e1e2e856a5afad80a862f3ecd36c1a3418d212a1023100d56a2416fe7edaa829d2c24131eb774665a1d4c438f27e467cd48f66a6231d8b16c87debc03c0daaccec9989cd8a60840302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50067306502302e5fa3db4f2cb19f19aec4e378a301d72f1e0ea716fd238853ee322126a114bee5b476b9de9f56fb5ec30389d68e7e4d023100f372caf3aee9edab471c00269640ae48db8bbbb7721c0724564714f7841a2ddbd299b0bc16dbb61abff61774f68d825d0302047c435bb50067306502307776dcc1d6bbaced8d73679d6a87b5576e1f10952443ebaf6a134b1367430f1cdadc603775b9e01d2b13b6c4a92a1c49023100e2fdf99eea3771b9a0546aa8051120f89a23fdbe2fa0e27172080c40691fc64d7d56a945517f7697f2e331644f97dc1d0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023100dff49b4f4de675887b7e7186c1a92774c822ada675f7cb062faca01325279676d4098c46e5342936b9c098ec14f684f402307ce671ecc1fba822634e9520acdf988f74485883d2a0a1a49c1380d3a56efc8e3c27baf99ed38aa1ffda5c1875b6e01a0302047c435bb50066306402300a718995469d8cefd52939360c23bfdf6b0134a80ce8473817db502aac6310847cd47d4b3dcd2f6dfb3b3f009a612a1102302a19ddee87ed0c2781021e1875f53587be6163ffa84f5dcc500f5f2281d4b87c1807f0d0711f2d136b3392eeeb77b5520302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023100c4666f1a44a20f5ee5da5bea82bcbb6f65d0e650bddb5cd5b76d4095dc4a13c8b4935a8d9f496b0615767e86b2cc21f402305db831138fcbf45e1da32697e12bddf75525407390773d6a46c5fae27354b259451712492fb16869045b2c9702dbd45b0302047c435bb50067306502304a6d98c8965da8b3d21db0de695ec7485c20acfb5d8ed07ef6ee955ddd439587acdd6d73a08040fcc0a77bd38442016f0231008bafc1adbe9c8966d0e8d2316cd37f1828aa043a80e85945a9f83e457f27b984a39ff6f8631b3ef595904def68a1580c0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50067306502304686119d7315cf5eb2ec9f85f896c6ec11cf2fa92ce6837fdf35069b0e11596753c91d3b147ff0048e9daef2091190ba0231008767bbb24b9904394d8298db611eae95ec29678013220c49b6ea8bf44257fbd51c3daad4371ed501c662a559f9cd66b10302047c435bb5006830660231009df29ebefd113bb8adab6c1780c3f2a8bb923f5ae38799ab88ddcd49fc74874922a9d491acf3ab6b5961de877b1b02fb023100e75465ddff111280f7b6ec24ab60d7a162e3420a27058ffd84a4c470acb48411ab4158e86dc8a4ee04f2b6457b4dff030302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023100bdaa342f1aeb194b9b320f79bebe613b1543676e10e011becb88fb855ce329d1ced71702cabb03825f191584d50c1b2f02307e24766d7fb19c68ce7764b2d5890e14d0eb7bb6c5a8562877c4a0c6a9ad2aa06594555988908ecec5ea571f3ca68f7c0302047c435bb500663064023014c85f28219c66cdcf470d9fd67f7fab840fd98bc2d845aa5cacbbdea9bf9a3ef795821b40d5d785e257624b139f57b302301d7634b9ea8412440a58d1aa842b6a355c31ab8d9acec2fbeeae35b7d3a307f8b98871dc6ca0d5fcfcd38a29c9c72a920302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50066306402301f53d4bed04d3bf975c1ebba3e27e9bcf8b6f1f486d5125c161cb75c7326cb85681f9004130b08a81b873ebc92bdf5b70230567791f965c8e466356a4f40dc66e732a0de8b032cd6d027a3308b91e545010162ae62da1b1e39ace408c768898918110302047c435bb500683066023100ced28a1ed632a63c28f39b883d850c5a5c52cb85204b4307d6a7c50744cec7f2d5d8d5900cf23fc0ffa70361d0861902023100cf8e3799293620144bb8106b45457fa12ac2afac6de339c406e4306b74f20eccfef75929b079ccc13cc87e5a013389910302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500683066023100fb362f2c58baa89f3340fd1406906266652633bc80bb102ee77bba3f172afdb4336278d9fbdb16cffa4f35c97df604ef023100cdb7ecd7eb5fdce64cd188be50532ec544f4811d3ae671fec91e02a9c168d974d67fe64bf8f6a4f99e1721937601d1500302047c435bb500673065023100f89e9042a02315e680e1b3f3b6c6633effc3af35e1218c77700ef6fd94c004e1ab4dfc74f57a1f91eab2c3ec5482c6cf02307b48022d452656ad753e71236eb76646d7f0be337521e3bae3bd9c1cf0366cb3c63bebe664c24237cdb58ee1d7e612cf0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023020793451f389a39bfd82ea8d25a82244c98af04b53f486bba750e23f6c5ca7c87bba9f22e6e97e3c94306e542c04e5040231009f65f08901e5261be9fa79bc0f45972caafa8d238ee8f6e5ff37806f8e61d1a87adc364486ecef237595d10bb1b424d00302047c435bb50066306402306d573ae36faacb00ce37a3a9142e43d935ae0dfea2a41b9f1fd9ef8efdb9a41a48f33e4f5899b444675f8ab0f1b0761602304640a9c35a9aa75f872cddc0969def0fcef6337649dc04083025bf216870afe99130e948e76619895b32a3db37943ad00302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023014cfc7ede01cc949cc90165e3871d12af1a847124704ec74a4809a3bbe776fe7f9d59783da8c8b53e79a6f5f37dc5043023100cf2f5854f974a78b665d040d22ae0b61106d97d858ec291c14774c3857e04b1085e5f5f7faf184569285d83c32d1af2a0302047c435bb500663064023050fa4edb04a76be1573439af54b1db861459d8683b705766751c9f40e9b48dcd039b2a957b898de68bfbb42842bf9d3402303638e9e729ad9386c19ac04834a93308e1d396c16168cac311e050736268bf7d9af5a4672de1a15f93930bcf48aed46e0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006730650231008df563bb679880f07f2149eb3fc10d1a9a52603e1af05486b10888e1bd4f70b6795d1cfde327413ab35d496a1dff4914023044e8f34f141f1b47670a554e71c3ae9deaec4c6d50d9b94fe0791b5d101400551b5113553fbb3b7d374d79886e741a170302047c435bb500673065023100e3b56976954102b2b3161a299c57aa1132c7baddbf74fe8895ad2426775b04d937b00b147659953060db5b88f6f268eb023055cd77c49d0154a82b1d7d216f1a8568396425fd0e4e5245b12c7343fb9eb38ee86ac5fa0ab0abd3ceccbb43e577fd140302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50067306502301fd48b538b4099edeeb6ede215270dfb119d8302f184250582c99c875156e2eed7a7b5c4cd71b39092da9df57bead9f602310081af9f70b642a7fc487b28d73b6e0e7fd997b4506943ff840e3dab131ff1377d502e7247eae62d0362a74a9be48981f10302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500683066023100b6a091b9c5715f2ffc5cf65a361e7e6f6da54b05fa64a79ec7e8ad4f9a5733db035fb0224ec138785b12d4235a41b40b023100f007eb04399052557c728613f23ea6b290e60bc8701fa03e9e590c51ffe8ab91584be9bed11cb92e03b33cae12c639150302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023100f7d464e8226330239d17efbd122df32fb20f6e28b26fcb43fd844d71e60663612e69040c5fa8528072602bf6f9225f1602301c8bfbc53ee848a5569b9891475226162ce2cba1fcdd844b7faecabbb0bddf08feb7a68b505550ad50a45f19b0465c620302047c435bb50067306502303d832feea3f192ce0b5ca214c9cfd2f675189c6422dd014ef1069b7c6dc1fdd7e19982772fb6ad13d6a7c30d57fa46d4023100eeb5b28d73ff3685ed032c730c4a95ce1ceb060b6d0f4a75faf472229ff6ef98c5e2867a3ad2834e29b804d1603ef9810302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006730650231008f83fe4aa5d0c9293fc85f3f06acbab4ebc003c8853c5b24ff6ef9c2caf5017ed6a029427e9dd3b050e7ad111861f80202305adc7eeeec49d87f837b09519606ab7a9f640be15d0eca51bbdb43d883847f25922a0c3df58651478c5fa54b1dc4f62b0302047c435bb5006630640230359bbdd1555a31bfff1955b021f42da0df67ba3cebb81f1624763513d9a2c57ab609866087e53e9b534d090382759784023066990f27d870e8396bb97c2da1e7d795ab7f23f7441aa0484f0de03cec2ffa509ddee73258370a27969de02a3efd33eb0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023100b27f5760d443606aa1515cf1aa36eb81ac636e1fc19b06f5f7b24e8f2cff2d85a58c1b99e39807ebd0e689224e6c658a0230208831d5b60421536eb9b2f34c02d1dd296e8ae959fbeceb1c76bd282238a15c64ed52571794659a8905121b48f6a9d70302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006630640230458a98db55c2c6041d3a3c52d5d5085e7ba1c93422282ddaab7aabef0e74a3796ca13874bb666c0bf227bb1d7d5339e002300535c998385a02657b8b3fcdc186b61a814a3a2e835d8816dc2ce5f75cb12bfb8aa6b05511be365852dc4355910de1c70302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023053ab9b71426611ca0a77b9e37ff999f545166e36e8b16ee224b4287124d95cb5ae413280eb988eed0ea13bcd18cdd8fc02310088e771ffb9f821bf3769a679a094a2227a4d0ffca19fde81cb437714bc9fd7d9d6c00065d962e34dd6b1ce48ee6cee770302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006730650230295703dc11f84d3123b6846881186c799ff5738ca957d6390450de430b698ad7f389acb41510bfdba44adbe274dcf333023100d0edeb1524dae4c91284130789337e91ef0269dcafd88e3fe2eb053b1cfc2cbc768fbecbcf9585e7c84c3ce36e8cd1bc0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50066306402303df16def336e904f1ba85e47750d01fe95844da6eef868baab3ed3f38b95e40a44fccd4e76c8aac1f13a1e3cb74bf5f102303c4f35541747137899ba6b27519cfcc0e14b0399891af336cf6a5d6860cfdd2955a3a66923bd338b2392f5f0b66dc13b0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50066306402300c3ea9ba4da5afbe35960fc65a70718dccfdc65315b4520ddd6ce35c8a4dc94bf4a7a3866e72858015a273d6052190da023053be860896d8e9d915da67cf1e00db38035c503625f81ab8c40f691b6afb826628613f082a7d0ad1c9523218d996c5510302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023076779670a89fdd2a31eaf94080417962d9746f6ac2294cf27cdcfbf4b2f729467714357a0d4225a4103aa1cde3af9e12023100e767b4e957e010886e1fb9f1703414883141cb7bbf78de7ecb6fd25340d26460544a9262ce4db787024d9985a79b4c0a0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023100996ee738e273b3b725e7c132b1c31998b0e1f05fc617eb2b154cd1333e87821efa91486adba63c44aa8f80d0ae519afa02301dfdf1bbadea2b67d8e51d78863ae0f0be403a01835a2dc0e4e2335a40ab50d4e1fc07242cdf63cfda202002b8616a4e0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50067306502307744993b8f3d44e047559dbb25f2e0b689986580bd7204b07a8e7bb966971ec739a71ef15143420d25151b4ebc6de40502310085241089996f01b76a071cf9d26f46b2395a9285223fd34f0ad0b96de5dad115eb45376c54594304224a81e0e2a5234f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50066306402306aac5ba530dce43c3561d7e772e978dc1cb6227490c2ffc5be2dd473480af6c4c919fbcf21bc0460ac16e624a76d215a02304abf1a64798b452c54fe819488cae48879cbfafb540ee123e3d6cf8cdb2b8ff3b5eb1d3f2bbe69b21811f657d9fe686a0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50066306402306600c0ffa3b3e2e2470bde38d451448f01fe51ecb8343ca9bad49cb3f3020e439f93c6a913a4cd8a46695d084798d6e102300fdaf2515ac2984c0b6b41519d8018e6ba98e2c0c3964545f74bbb9406a75b1d943884ed0739a4b2e82b04cae8a5abf50302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50066306402304b2e284af8245db6aa3f97df4dfb29fc993fbb3c47bc850946e445909dcaf7895f3b40c11de2fa6456f1bbddcf51514a023037372a2b4e34a7b660b36f64ea2f65acc3fd139d80b326656b920bd34f171d560973cdca547d881f92f7081a6c285f340302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023100c8385ef4e4307286a6aab07ee95fee3df76c3cec660b9e08696e7653f901e2e71c74e7ba0388af3f00a8dd59edc63f870230351e9c4a0232e1a6fae6183c7f6d5a285246afc912647c549ca0e772d46a10f14562d451dbda93a95191e064428359d40302047c435bb50067306502303e8b6bdb09a4fbf6943316e430b0fe6e6805f7984553d8f862811cfbe1c82aa8ef7b319eda03aa0de40153dfe4eb5dee023100fc8d394a9e628c667454cbc960b4d0cf22b7a04686c33c6a4805f0c5bb9e32a9de2558abadaf9feeb46867598841a8340302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50067306502305132fce2cdbaae2c36961388b33af7e4b5f9ef6e2d37e173d932290853b2e681925a2aa1ba9fcc78f69aacfe6da059d8023100b8524f9579e49da12bc7471c799c5b9410c58abb08840a50c234229e5bc43064b01c0ec8bfcec4984493d9a8d3770d6e0302047c435bb500683066023100fb5f7a29b3cb5b6c8b4eaa9df26822cc543f59dbe7b327b41cf36abd4897c5b1e7ca691f2762587470df31b9359e29f3023100aae1bb57949e073cf7374f9eabdf2fa7c5b200e359d3a0ab7d7b9fc813888243120f95e643f1ddfa42168d4c742f32a60302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023100c14d55070ca5671e89724a7b220dc8919b485696661abd0af3bdaab0f178497fe6fc6d34b5393ce163ccb5714d1f1d8302305dca8b637baf1606eca02274cf1caa51ef724d0a4ed6b346d8d1643a85959fbeb4a02507ecdd00c3f17b459a49476f2b0302047c435bb500663064023025ed8a07d88312bb472c52f9236544a73380d02da5c47f0c1b2c9d86444eeb97b802ea2c37e1d90b4dd2a04eca85bd29023017cfe522ac3cbb719c8fc7915b66118c980ee38e54549f5216e044c76df5fee8b254609a60dfb74efd2ceff1492b73150302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50067306502303bbc1901d1944824fa514a6636a9a7701974e9426ab663c1ab275a481b40682d68622c03439b552f71297a14425977e7023100d3fd2795a9eb6eea29c37274542c3d22f02d313256af3a8feb8d7b5d09515ffd3a9e28bd264bb2cd9106df055ebf5cd60302047c435bb50066306402305cb890dbf8b0ca305fde51c700448638b950647b249afe1c2cabb1193de206e2f483b3080bd1bfe924615aec51f60f5b023041fddaa7739f390f4575d0574c30b6b71a15986bbe7a5a57d7f2566a062fd48aea27a83a3da4209e65beb1bc576c9f740302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023039661d1a90d6c6a99b9f6315ea6e3f415be726b14ccc5bcd7244d5cd5a629f24a72b27b572d060005c91f19db5ec714a023100aeb0dfebd7c4d62fbebef92d62dd73a98092d30ffe5e5a5a54daa31d473c893d43a23570558b64b9dcb7b06989984f8a0302047c435bb5006730650230741156a03c16b9c7050af664806ca94d75c9c73cbc64bea205466681a43e0b1e89435e1f532affbbe8185fc05d6778f7023100c4d3a3c74357b7ecf5577a9956fcf389082313805ad36afe75608b536aa99a8264e2b00c08a97c8814b3f71deaef1af40302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023015de715f6309ef3f5065d262cea4740c12a54a23e6177a519b1b7eede2ec666f8ceb93104cc21330ca1628000b6e1e68023100c391c573fadaffae7f0a5d9c825226a85ee508907580662020d8abf86e9820e750efb5ede36835e48f890d25e0dc4e030302047c435bb500673065023100fce358762c6d1168687818c52187b4bf04df9ba8b7bd30bbc038571a45d4b85119035aa6e8ed7b97f845e17570fefec502302a2f881062a571b63ec654a974d662c23971fd2eb601306c2ac121ac6b27e7f6da09d2b60b62a30c226bd7bffbe3380c0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006630640230741608f7a50997d28214e4c98ee6738645f831690a6a8da383c3659b3657496821dcb167f274b49a63ef005b9e2f875a023057ac356a634192284b78c190853830148746833973237b540b8b7accc1dc22111533ae7f00e412c6495c7012594781360302047c435bb500673065023021e9239397cf6af6710cd37384695d7be2d3c9b634514fe63de9bc99e1be5a73f1cadafbc4fd0f56b55309aabb25cefb023100c3b0d55c5e84bf0d984c553a31018967f387c77e17b553ab1e2dc432a19cdd43f6151e8fcd629b50f722c2152e24a5e70302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023100fc6619d0af7e14ccaf1718c920b0fc7136d7ef426af082c605d474de32fbf72edef12de37f3768d2c425ca57e4e3a25102307caa7d747e12d0adb4ae9c761f88bccb32402ac591f6f550b76fc4cf745ae3d8fa2318c18660bf17597c4146886071460302047c435bb5006730650230251aa774295da8a60ef8e3e64b2516361d826e6cc91bf866ea9d973238c0811bafb17b96d9eb92a737001cd63cd6a4a3023100d6eb22259ee963b3b688338612ca14618a98b2322b037b540abfb91f608613c6e62c319ad72de7254588568aa83c832f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023100ea79c0cb9225ba431b011a2e60a7d854a017880fdd50c5a089a38bf404ba60e0a428dbc892a1efe1268c39cf4cb553d1023015b5c5696d834d079d348d776df3cb9c0f4d8350e6acc9917c921323f52f0831fea2c70430ff9fb8f63d149b228f91800302047c435bb50067306502300322689e0bbb98da12ae43f5deb6af3797f090c97f47730e5a767c4626547185d2d2391cfca6d2fc77c2575371518831023100cd7ba370474fbfc37e5ce3404dcf495d8fe5878e783c620f5b07db1f9e630e81fb6131860048c4f46f8a2dc7f5f322340302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50066306402307c0d2a3e4481e5007dc4eb18c92e1d528bb382d1845f6a33c13b92e1fbad3e6eb59db696d0101047fdd085cc72524d510230235ca6a5577b67c1f9dcad3339c08dacdc3d66dbedc7c587d9ff486eadc06a393f36074cd9b742e71d3d933dc012144c0302047c435bb50067306502304b942bc613093ccfc40879eb90ea00229b930430765d13aedf3accfa3400f35829c8808619ab411e0ba470e3a373d6a80231009c6e64b9747170d49548298e02516f36fe4512e672e4e02bff29141343dee4969d77deacabc9f87ae9e1b7cedc1317cf0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500683066023100d4c02a07f5a465589f72d499b4e37ce68d57a9ab6f8655048b0cda21e4fb8a00c306320728e6f35470d94ed1b4e0c5ac023100f9daac7697fd3ecc7e8d323c1be3926e4073a0eaaf5ffe767aedaa1b54ccaea0109ca23df15bf110acc3ad9c0bc3f8150302047c435bb500673065023100ebbb302adc2d149839f5fbe3cf6bfcfd0ee8fe289197442dc1fd2cb42c880adccea486397a876795ac8da686974dde1d02300fae671a980709b44c5151e1cfc95c593817b916fbb54ce80901539faea2957080b136356456b510c4ba615019e4ca800302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500663064023041c66bc6576a8b6e8aab0dccaba3d152d8a8cec60bce74f35bd9f693cf58a06035875e6e91e3607019694c6c45a781080230570ec5ff1bef7b834920c40cc1efa5c6ae7c19e623da01a5bcb6abcef839684c8bc0f6a5ffbe36145278b4a9bf720d790302047c435bb500683066023100e3821f3cb1d32f0a40c676810379c5292738b81c095323d5b30898af1bb0f6d9d6ad7ad9e7e86643fcca4128fdd3158002310089779ea880c5d41a9b9910f72fed70577803617ab5ee07fbaf4563bef9c2c4ce1cd08f632bab664847cf4baaf3885cf80302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006630640230520cc5cd7d16da81fc94c0ba940fd2caa3bc357e689e6a85a2a29c7ee99c30323b0ad6a5d0bcfef26c73509f2f83217202307efeb8f5edbbcfcd581d75d429d119d3d7d52e603621c495fe4ad14c97b88e772b003a94a0f5b9a32600529dddd50e420302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023077711a5efef6f76d915b01bb5d3ad9eb81f6cc645146d4616f978d9bb72b8f0832b75b068447f792f2f0269aea6612b9023100eede0200a0c82b25aa9ce4c54ebeaa48db88788d404058b1509f3ed76c3bc01284449d70b6f31a0b6cb2e97cc008e3e30302047c435bb500673065023011d92cdf0bf48eb463f5547dea4e2bb29431bb35d373f294455f9450a553f8b3aa621bac974ca5647b8d2cd21aa3e6fb023100dc806756d1ae4dfa83cafa24d83769bca4ed1885d5aa5cd4f696e6dd2fa246805de8cb5d077b307c81457a0ba09111e50302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50067306502301485498d49fa0f56b5f83d0e9353c2a6bf589ff001ed08591e72099b649861756553ac72374ba22ac61032dfe786e654023100e0f4159db1bf99a3c8665de897b190cfe8a104fcea2cbbd3e6922c0b41a23b54ace296f545d97eb8b97be2e79f5f22620302047c435bb500673065023100e3774533d46787c501cb53cda0ab7da4b4a4ee2d3324bc431ea165b70a0bd4f2c9e95fa154d7f76bd8f20bf27a19ecd7023040f23c09a1088dc0709d145e76f6f4a99345ecf5aa71f94446d3f0aa3c82be474fad1d8f67308dbd1272e8a2960f60840302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500663064023026333fb7b490ac45c68bec7829a0a0e92a8202dc4ca2a119ae80667c09b8b23ff0d4e8dfa67a244f52f97259f351267902306d43f88cb70d75c1ceaae5b5be8db59864016fa2ae338008d47c56813f92f2aab59b6b28b51a42505e864ef7799d11320302047c435bb500673065023100ad5d11836f4abb18d54099aad2411ab6a53f53ce9f804708706683c5989662516b88c03f1b9a22e3081bcb67857fac4d023062cb765413a401ccc36c42d0dbfbea207242dca05279e27b3110815c0861634cedac33a82a5280487a4cd65789aa2c560302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500683066023100a6c530b24b23ac404ffd1e75af2783d4b76b5a10555636182399cf4cf012ed1f904ed218113c2316cc384409d6306cfe023100b66d1dc696c4ab935e5e13bccbc213930209ce909b6882af3df3655893a482aee146693f941a362fb9642e091b7271990302047c435bb500663064023032b69418926e9289885eb7b59db9fcce30103e104783e6706e0ebc13b8c8200754234ec5586f5816f0d9155b62c5657502302a9dbfd0d49d56eccef53414212b2247da362c41f7fb35d266ae43af9b50390806d9b9df0d62c62871a99bdaf59268150302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023100ec8bd28e734e557e6f887724cd9a1ff0a0b3148641cc58619b014b01058812d293b84b55224f9ef77ad8c92d6f9ccebd02301050462f7400c142333d4d3c9d2e93f94e5de6c41ba9eec7d90369e0cfef6d1a50d11d38ba885ad444ba557204358acd0302047c435bb500673065023100afaac6352dbe28db6bceaa0dbdb90ed3f8e8b20d9aa989a44be8a82aff68e03ed47d9416b622f333b23729714d866b9802304c21eaf7fc1504b9124fc887ea8267a79209c58a6832e69ba287df3b14a47178ef03c52945e782c89f145695824d77d80302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500683066023100b3d3fc65ecd1271ab6ed781efd7028101d996fbf4482f1577edf27c4e0d060faa28e04119faa88a5d72ede83cb03ee4c02310093e309edbd311aef335a1e94a7bc9f434b372123860e798fa517df03624cfc314bcf232784bc20191918b2775cf153100302047c435bb50067306502310097c0e8f8227320d0f2fa84a8bc724a8b90001faeac7d73804c97036909e44bb8a36c729447faf38e757e74a2ee201ac5023010a26fddbe2231762df6bdb67f7949e20bd0812c3c774a24b922fc2dc43232e80a05f847993f09fd6a8a6803b66f971b0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006630640230123c1ff98c05febbe32c7d41407a3cbec9ce41039e12dc550b0e26beee5651e070cfc91914f886254ca058be7af3eb62023021fc8060c515c61ce6712863a165f51ea37e6d90ac21f8f4fb2f7cbd139f1be4b37d5baf0827326a2f46799cdb303e610302047c435bb50067306502303682b0801a8e7b380e055ebba87df3e333106dfb591e5cf99c7313a2e648dec7fa7799a4f83d463f7aa6b143a724affd023100d0f91aea1fa0b9358ed4fb53bfa9a1adcd73d078af8379d5fdebf74909b512bf88955c8f75105a727bddbb509ad8f7380302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006630640230454456b91a3357b577352c9fdecdd54832071190dcc2c052ceb2d0e403ce23f6e41690c94810df2c5ccd6a590b9f7c2d02306c04470208d7565dc98926002038adefaf72477f6088673fea5d4529714e998f95cab1850a1c26303fc905da0177aa3b0302047c435bb500673065023100db7fcd6932f0fd0afa6cdee505d18b45c08dc78013e14b9cfca30a3ee8daba2c6896bd7ec7363a4b5e89db852fda6b0102305158c3ff28974e98b79f935d044344205858ec621a2cc77b5652c0ebe3153997799974fade150343e2cf60f0739114fc0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006630640230625941a2279f1dcfd6845d4cf0814caec1d64bda93aef2468461fa7482e823e36bb90b0598add2dfec3f9a93fb5c520302304665d1481af6b4e1385d3bd174db40f0b802e34fe2a0d9de2695df319400d6530c0f0c7c73150d99c0bb060df3b54ad60302047c435bb50066306402303a9c68b71fd264739919ce8b11516d0f22f8a55353d44aaa000a8a07821ae5aba1e210337f7a6bf6ddfaa402db455a4e0230362618474fd7066d04e3912b1ebc949ec2ee564a6e4444a66ed9ae6abdc260d52f0e0919e91aae7f235674bf405f24fb0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500683066023100fa85acc0038217b4f799be0054b40d6961f546fc494732571272b8439f13426add552b01e52c49b6a85a514794415a6c023100896ba2c44f0a2a2458f018d79f19283080748728ac34abd0b013a6c75da11a77a5ae2f51661789178ad0ca75e5c19b030302047c435bb500663064023045e0881715b0eed8db54790f404a524306311c7ad145696021bed80bb062de5d72954b4fdb4dc94a23709055cc0543d4023042979763c2cfd5f61db31eeddd37b8d30b1c0f38439aeb6b8f289cd371947cee3acf9ac8d687b8431c65b2421eda1dde0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50067306502305eb33881db4309f5f46119116191a53ad463d00fac99a6fcb943975babf1eab97b5a3151c18f33cd3aab4f4b93f17793023100b9be3f5309248b9d0016405c9b39dfe25705d695c55639c6a0d1cda0f39927273d2c429a94f89cbe8faf013639cd8d990302047c435bb500673065023067eb0064d77abdae1ad9927f5844636839db77884e6284262fa21474ab0519767e20cec5de8985f8ab2c44ff3994342302310082e48b4da0893cd301a9a685bfcd4d4769a1c532a4757a35fc295f9cb1410d046866e4dd4def2e579861fc6af2183a7a0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023100cde1359544012d1ba37cd36e6fc393d5aa8976c5fa1cdd869c07432662851d0d31589113697dccdbd596cecbe4a1044c02306d3b8f32d95a164eb2cd6dc7bd1c157278322a24ef465beb83ea0ec5386d0e6cc94484a7b4cc4f87936a2fc7496d73590302047c435bb50066306402303379ad22c76831fffecd22402ff8623c6b2b95910396ada8c0bbdaad96f8beb4dc55ea06748e5503aed20e97986e4f060230620b1c43acc72048de929a5155a79add779bb8cc4959785802fd45bce63c845df84ef37e7596f7af527907e21d25c8060302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500683066023100cadf5de8eb3179e5a970b703ac4a90af8250d215a148c8ec1abe89c95d8c2f92d9a877a1f940197e2ca5c1929fd09315023100f3b3f769c771d7887a1f003783f6b9471692cd8a6477f4e80b5f3417e16d63c4353b74b4a403e0cf2fa62871bc656fe20302047c435bb500683066023100d48d74c68a86aef5923dc00daaab9e46decd54381124057837bbe1e10f9d6d787e1b7473a9d78f33528bf139c68e4268023100a03a3bfd97b463e43f7cc92d1e66ebdd677e298f07d985ddd07f79158b11a4544b7dc87df9b31ef93623807f6b7a75e90302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50066306402305be070ac659fcbd95aa1710a46ea7fed9c87fc6919fd3e42f95f170c16db6168b5061d60b22eef488127f78ac314a92b023013056a75ef1bbc490bba5d479b72423cab831968399225607d30e0489fee4b7fc913e9b2d3d71c469acd05f11d208ca80302047c435bb5006630640230556557b4475e2ac518c510e1cd46bac74ba2a8b80e735b06df5dc636ae366a6d75a6aab2ecc039daea271c9ba311473202304d74fa2ca1405584165c343f7f4bb83241343d663015d04210a89a3b4c04c8be06c717b8b66bb7c17b9489f9cbcb02a90302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023047c0a9df5e00ff29de549da17019d5a8cabc9c2cae3c890f2765fd93d2fd6110cdf2323c5707cb06e11f20f7534fddc1023100b9c1589f50cb3529460978c206686beac361e71b4758a307766ee29a87dad2dc1ec3c2a3a4971ae4a063c67b8d7515710302047c435bb50066306402305072e509b70147a968b23fa9b62f2dec494ef38456cd3b02431ccd895e31ff27c4acf500f50457cc55ef4c4636007d3d02304961b44953797a2032bcd75503fcda3aeb2b68096a7260e9e6de42a1557627e9038cea8f780539c46a25c38d001dfad10302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023100a1f207a74719edf50f0fc206d01c5cc5c6438cda7d3fe82f350d058f4869d038dc30ca3663a57203fd5a8dbaa7c960fa02300badf7a1655dfbc860d0d47c410084369d9252826ddd9bee016d7d9cb71afbf2fcd971eab30556e20ab78beb08e53d6e0302047c435bb500673065023100b16bc41bfca66d4e44b1728cd9c07ef63133e131f5946555cbad8ee3f9438ce4f97e1ba1d6030e2a20d2ee3b689a4fce023057614ef31a5f2ba866b0dcfc724249e09f17b85eeca37cb6d72f26ad107b7cbfa5d21500bc521c75eb6483f7e9999e2b0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023100b02cd4443ddca1af78b22f42ae99d29dae02decfb7735c666a6de13308a8695e8f2a169a707f28612bd58e3f6211d20a023051756dcc3626e38fc59ab5301afabd6852198fbc5b926db87a33c04d66c9b93e79afa458029b7732055b56ca5737e3040302047c435bb50067306502310091415c2f9f0733c7809096996ffbf9ff3dcf53dba509259b0d5c86e0318c5814307998acc530841494f45e14e6786a4c023046eb64d60d3e6d4bf6b95c8464718acdc08f1101b0ec671677d4877c4f6bf942b49e3542f387f9a2c70cbd341dda09e10302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500683066023100c4364d0d34036393e548b80c26cccaac4632dca49818e3e4b401ad6aee539f33e6e12894fb607e9b3dc3e6f4cbcec8b8023100b44f0c1315e095cfca7851c1bc815538edfe0138e849588b7425bde29cbd6c41884427281a29d85d738141103d88c8a00302047c435bb500683066023100d99da6019e118fad9c5d183eb07ccc152653ea5e9f4968b47dafa074ec3c48c67e6a14516301fbeb379ecc4b23cffbe1023100eea8a1a6746ef5605a0fe987ed93ca1f126fa7283f42f7b9bc5e49f834161ba67731851e5087ab990ef558229a89da660302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023100f6e779a6ffd73edd7ca69dba692f5b699530952780013435f69c6b2c930d1369f15a228e69086ff75113139630171dbd02306feeff64a1634995775bdd4e615d9ab0faeb3580d9973ef3b6743d2a4525346890c9e0b9c9a14d3bf7ce6456b3e03b9c0302047c435bb50066306402301463d90e71115e7b59a41e27fb21c7e16c4004d436faec36f999e6d7608291e9caf68ad8792a7c7bc345b48f6519bc6c0230787d62b66b99c67c812b2ace8e7190e61a490823bb1ebf5b2ad305b61cf77fd777aee236981de653640fd3f7c2fa8c2c0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023100ee2355e7e6f5663d754408d5f453e9230daefa1e0214a33771f6660f344f9f6150a2da37978f8f6b94143ca1d03946f102300d04d4862845784ddeaa94835333464945aa28fcc06f43ac0121c98af2b0a26d5bfa73e113cc3894041b4b2579648f820302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006630640230278b58e8043d08e8cfab592b5c3ff0dc2399fbdd5f61d652c417ae02636019d9f4ecbb66d019f301b729767d6b544ebb02304266bbd856e828a8e3ebced0a37ccc966ac6a1d3fab5128423977f430f9c8f009c511a236bcb1f8dcde8c57a20d2426a0302047c435bb50067306502305288e21275daa11264ca12dee286ddbecea66a1d526fd34ed017c1ff9856e7d2610eee9e5443494fd673cff7e2f80f7d023100a5a6de4a2525282c5c579973d19b8bb85e6ebe0f1decb81e4c83b13feafbd083c1f4010b7bb2eac90c421c15d0f95aab0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500683066023100870b0805f20b2d5028a5df16b6f29b7ada2db4e62e16d5a81d54cb872654ffd3a353761eeee1be65ef6442cad49c869e023100dd89df136663c8eda0e76f8792caf7da8b1b7af0037f650cf5d5f9df1664401517407b847a91e34a1856db963accb0cc0302047c435bb5006730650230709420cf4c1d10c986db7cd10de667bf6ab70a41903a40e12c288e93aa95a658581dd2e3fcb3d5ab28848e8a1151d016023100eb8fcb8749fa4e2b297e4c7331530a223da50a26756412359c1f4ef2f42399d7e9f5873add6329bbfa71c9d65cb5c7df0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50066306402306289e099f03946d4577f7f8f78adf944d3904bdcf4276498df76292af9349d4650891cc5d477f3b7b92507bf056cd58b023005af56b2574a1749982206d3be52d30f3c6a065f245331d1f6ae54d86e9732a8443727fb9b13e133aa3853b6b5500adc0302047c435bb50067306502302aa5aed03994ec1991661916e307f7afa0b1c652e42d413b37f50f21d2f44e10afa7b781e9ccdfa1bb1b26453957a5be023100eb609d919693013b896360da8104c1b535e8f0b67814bf267abbe4efc5fa3032c9578570d918bd62f8d792df9ebc79060302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500683066023100a2f0f0df142f925bebc971e42457a71c0729beedce993bdf643374c17653bb5761bca4b42225b8226d687a5c0690d04f0231009550c914f4316a3d7f9ddf76fd2a13491a084364f6ca309b2fb958cb2c2f3816d577326fdedb78021b16ba2198d4a7b10302047c435bb500673065023100c7fc32699fdf9cc6b5ac85b892235d41275fe1982a962f5bcbc16d474f069a93e63f370d99acdbdfd798195f32fbecc20230122054c4c83fe9024bee76db5bc871e4f6ac4a3bd337f194e2e12200deb3ae70fc27b7a34e4806d8c2751ff1bcbc6b880302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500683066023100a7624cd22aed220b00be207267f3ee30551ce7407e417abf5327a5771eff026f68e179092ea4f3fe742af6e4bd4111a6023100f5b02c0fd791f7d4e6496091090cb5e197dff93ec72ab6a76cbbb14f83baf06aecf8df60e3cd6b860c00e11d7cec80d60302047c435bb500673065023100dcd759c0ed27df30f283416b1528a891789ca9c6f3552483f861509046ebd5d62f4c75355466fc8222a4509760234dbf023029e2c518ffd8f0ec5e2dc86abd33146734f34b7e347ab60ce1f4babe9c614c1e21a3bc6edf1347f61c93a7111d06c61e0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500683066023100f5de4f121bf108fe789c63c7816dad4f56a6f368eb1ad5601265d921f97e59d08637e8cc5fbe9ba3ae13b81a38f2223c023100a2b731392222c92c43249a8cdf6cb8e462f75dc89cbc3656a4fe6b84706c6418273266fc02b82eae60b85cfb09a50eae0302047c435bb500683066023100ce952f51334b9d8281f3c00791f54c3594a888f67b3cfebb3e4c57031999ceb4ac7f4012cb28698142b9ef3ed2302b6e023100943bb914d534f8b53c7fd7b6df936d99ac641692b33c7b11f14b4c671fa29c69456283ac62904df580717fb76c3ec7570302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006730650231009a49bd5495fdd23223a9103605be0a18327eaa42d19c370a37c3c774971b88c320d0076ab100f706033abf0b5a8a44650230303779201e650aba5adfea34e61e3572e42d2fd730b6fae2f4a9f588d2c0275695f51cbc50365b329d2bced8cf4ea9d70302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500663064023006cea48369314b3860b8a22dc043314f15f120bb0342df00d21506c595ff6933c8c2c8ad7de58717db0c1b2b521c0a97023039411484caa514d6f4f9fbccf348ce4437eafc53d163b987bb91778f3956f48c505a5596256aa3b30c0b30194ab5906d0302047c435bb500663064023021368490c7482365acfde72d918408e101e22f57bee4cb7ad692e1f339e6d6d3b914003beb9c61a0941715a9e030476902302233988aee9c3e073894b329bae2eb5fe41709a3b51aa50b55943378731427df7b6817b8b1c2e539bf4c830ca2818a530302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50067306502310089b22340e11ca42e0d990f488e4aeb422a21ec8d115cf56d4349b4946da7d723a486bd1fcea2ef818eefbdbe5615dd8f0230497df563b1a44a8ba40fe6b3e755e9ff3ee3bf8ab8eb1d2ca0e70747aadd7c99f6f309fcf5f771bfe0ea53142628f11c0302047c435bb50067306502304afcb34469ba37392edcededd3b0c2b275165182cb47708b23a3326e99782f50af7b2aefd34c8a36978d452bd869c86c023100c098af669f966669b65ba1f62cf190d4ba30477a16fcd46f9abc940d9ff64df208ad61d3bc0b92c210477c4c5c980bf10302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50066306402301bc57051c2b7d587d4690e08c94ad664c4d4b9c175514be088e820a2c777fbb308895b34da60cabf20001564e31fe0e402304bb3baf155c2dc7cb0139dea4f059a6508af6153e6924ee8fe9e2fade4bf8813e22b6da21161f2769dca3f0ec2e60a6b0302047c435bb500683066023100e9e509ba8b7ccbe83cb8c986d36a60414e7169fa1431fdd9b9015f2442553e7aedbed49a8e3d71f05a912bdecd48f7a4023100d39a1ececaae356ebb4d61f50f4adabf14f9ed6265edd67e76e2f93930de709b49aea36cef40d2b9eece4f048d39886d0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500683066023100803d3ce9eafcbf70cea31577790a2b0d2f8ba2b9ff39b55723ea427ac92c6c8cdf5f12c1e53676ff4d9d59dbc644ba4e02310083cf9496b411d62c1802b14eac3a71f1572b3b56db05f01a4b310895692aea5011ce0d99f6bf0256851a84ca0e834ac90302047c435bb5006730650231008efdac5a0aab46ba7dc0ddf4313c7fb9b517230f30262a6a90f7e95c93a67c3d94e229f9bd0c3eadcdc637ae37f1746c0230395524cb552240c421a6bf83a3f73592688b3187030204619c8fd4d0f04745dcd29ecfc89853fcc3d82154d746fb5bec0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50067306502304bb2ec04d3d230938e8b2cbe683db7d0301a38fafd92329edc67cef04a82fb01ff0545f729bc4ea66b36fa367201f3fa023100fdf12b4ef36a03d5f9854e71b33ec407602f0f718e036138681461543732d2dfedcaf0d063d2f2783ff7d7ad69b0bac40302047c435bb500683066023100c792525d8d7a59a97e2e7292a237fd8ff6faf8867bfce487899557f551e302f0d7a5bb68a3d899992b405e0c444090c7023100a209e13d77e8abce26244430bf04b7760a3f17f81f2571a20b0299c0fc3355b6840062906c69528d9c9d3d9e866c33900302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500663064023032226f8faf52602a62d7cf8e8ea12acd363af7814c5bd420bdf16b90b7c429a80736385ec2aae4003e8353c2d05b716d02305fc6e68ac51e7c589f426098656273b02013e90eebc845851e59c83b0dc4e19eea3c940052ebd521cf1520557bb028d80302047c435bb50066306402307b6b641a09ddb797ad2664d1710f50c97e2fee9809ce3f5fb2303d4937fefe1a5ce0daabcaeda3857149dd52cc7fb35c0230473898b839585d2e7e09daeafebba2e2311ab5bbde6dfd59163adc9f0d259f04a3722f89620532b4472e120774b384c80302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50066306402304d3800f38c59e46b5ae09dc1cdf21d454975a34994b351d576a5e7f8add83c9b42bcafadb63582dbfe570ac4b5079add023009808715ee2cbe9e786f3e6169702fec7f2c59f1616d9d98ede580971c84ca5d9a35aff23a0ccc3825b6f2772341020b0302047c435bb5006730650230071b0db56d858c787910ef494da8a7b5235c679a2d1ad69660b201b8dd5f53be054c2d4cde619b288f5504e2f94fe1a2023100bd254408f6836c3b256e54174abf5677a5c081233bcd06acad042bb7883c74e05812ff5bc2fb3b63bf4bca2b3d1fc4120302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50066306402306d7bdf0dda314fbfe54480a30c6bd78f741bbddd7eee3f1fa0f5e4b582eca48c2b1494479ccdfd1a620479156083c252023071587c58b840362495236de53d454019b3585bf8e1b63a7c8c52ccdecbb33cc22a93fc48339b28f8f6f16ecc5b6929880302047c435bb500663064023011e09a4a231eb2894e8b9f7d60c241d23a0ba470562291d4009ba5603445e436d3de554315c832b6dd10fd84d394f1c902307e968396977aa8ce9d913cac9288042974497da6385fe956d4743a0cc35dce772128bc16cc9c4d5fce2231f59753a6b70302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006730650231009831d7e34681e96d7c41b10297675deb2b3c0beed85f021a1b873a8c423d88d7fa1ea712715cc8891ba033423c5377fe02306364b1c5dede7e955464860d7a55d4bb3f416f626996cbd369abdab967192f8e196376a9abb1d06a0b38ab3bcf4f26390302047c435bb500683066023100e40af84966ce698618df1ec6c39a70890f2f93a4b3e38816a855acefc32000fc285a194b83ba4a63199d3d89c83f5903023100d037140b1c6ed6116457d3ed01d2cf1b8b720ea0db3e5b53e135cfc6074f5a4a967608fdf953637defa6c7f30ff228b80302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50067306502306d6ad20555a8563221b903268a54488579983a94daf7f716d423211f46d1740b75941bb0c60a63332cb1874cd399fbb6023100a996ea7ba739c7b74d0e6e8578d242defec38eb6d2f7ec6f0358d54b69d9f1b1f3f33cba140358a48bab36b276d421c30302047c435bb500673065023100a189b5f3b65f92bf67295e77baea95c75d94889844c10804619183b4def266b99948e6bf34da7b282a5c6c004d460460023027978fb61fd4194877fd45b4044729920ab0aec821a14e8f210f3935bfa0511da5bab09a99e26b5528f42a92d5d9ef980302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500683066023100bff222a330aee8921e326f69be2746ebc112c77770b6eb839c1fbb0a4a041d23925e71091cef3f12c746df9a9e65c8dc023100d21a4497992de31ce023e9af0ba7c758f42787a17d0b2f35c1e3989ac3dcb4ad68d53db386b2215b14c34c008b02b1470302047c435bb500683066023100ae1f100fd942701af1cbf590eef2f0c4fba4e9a5968b82e5621db7efacf1f1a8d8183efc399a81148c99117a9fce3393023100aaf0314d91c24274c5b8fbd041e064ffeb091c41c0393a3ee77dd38f0ababe2257f046af8479c5adb988c663badba0120302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500683066023100b334b24937aa46e83abad1b38f0529109ec8c537163c74d0436b23f7fa5b77fed6a8ffe7f12c66445cc6bda580cbbe09023100cedd083165ed88fd71eb5cdddebb86345ce1d6b91c007ded506a3361c629547e101467c4b545e5f4f5fb2fec790085540302047c435bb500683066023100ee97638a121cfd5e79d206860c0c4b26370d9a4b4946c571aaafcb8bc097b574222014b3268e44332694d84fc2c842bc02310090e7335324c1631a148fe9afe5b9f9480ad931185c0f041536e927f00633f52fac51355ba08dafb4950ca9dbecbc61c60302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006730650231008c4efb47bb27082894d25199a7452877d8b2f83f66aae65a6691f6836a3a5f3a701b021a20d8547ea026573d275dd0ab02300896aa123ae24ddd02c9e5cdc0223603924308591bead25870650944fe9f84f21fb195bbfcf455e213ef7b66e03dfb2a0302047c435bb5006730650230790029560066df0173fd59d03393d33917de64434821a045ce4cd2c161a41aeeaa4615c89d0eb74c5ab59fca8c985988023100fcf4953f0a52712738eab563a28c90a12b7207465115f2dfe29bdf32f4020d7546f141cc9f313f4dedf7207998d38cec0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023100b64f1aa2c3c33f0f254adc87102812d515c0ae1347b7ece2817f7a567660517ddde71e033123bfbf3b41be42909b35fb023070f52fa742298495c8b5e9c37424fffb0e78002490950d1af86225063059b51b337e8154f470c1f671f4f1785653ddad0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500683066023100c97d6ad76a163404f3a50b1e710dad97635d415920e3d6af1d0e7e99a8d4e68f74dbf1787d4b7f1e394fe85e07e01cec0231008e36cdca185052ef025190363cc027a2df5d36197a2f261e1c4bdfaa95b275dfcc45afa7115f4a8a0e8f8e396ec18a960302047c435bb5006730650231008c39a5801ee9a435a58f451dab01fca843468800fa151893875a16aefd3276211b8c7a91a0c77de6652dcdfbe2c43eb9023006a49b69b5b1a810d4a1f5d78a3fc2a1430494c57a1a71f40405ca4c0fa7a512cf800c922b8966bfbd1ac1a3a8ef6d440302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006630640230241611ab352292eb7490cdfdd9ed2c771534893c6994d7a41bf47e48aa9e5bb8fe428186152d103a0319b8c06bcb10360230473f5f20c26c199f3bba61c59f5a055c313564ab314e6e77175e541edd6b85f878eb2b78b0702164db4c1190697d3e890302047c435bb500683066023100c0e8ee55118bee7aa992b1a7387c3971227da55c72b5b2dff429e5d18647bed3826bf2b18e7052b7759c6713edfd2e7c023100d40fbbb901ec604b1f7a5f83193519e03a0e0140cc4d8c4957e6084078d89eeb0a060acbcb9f8f6e1dd8740b3305ffca0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500683066023100e1890c91efb4be38151e0e30a84e173a9a68dabbde27ae5b8bcfb7665ff9e9ae1ce5e26359b29144afa6b81446e50d750231008294ad1bd73d77488dc009a83998fca7f3a1f033efc75d9e14fa6dc244ee437be2dccdae96e99b15fc9f56865bea7faf0302047c435bb50067306502307c958fb1978c7924e8e761adb99640469561a7c7954caf13a63878d3af42edb35a3d2d027023e25b30fe6c7da7cf71aa0231009da5c323064992a0dc96db67bb630d529e13dd783edcda3478e74deb67c97b0b47b3d99e147828ce4eb13be830d378fc0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500663064023029a7f45c68db7e704b3174c6c7bb9bddc734510b6c10fb01c70a07e89c848e4bd0407dfabf4806e226273ce038e9b465023062be13cf7a2b4c6210456ec7736c0ded2476c18d00d168b231e3bc77ca18bb7b949657c125b637e7545042baf66dd42b0302047c435bb500663064023100afdfd85e6177e36a1970e2fafbcd550f77bc3fe937f921303fc20906039d0a035f131a89908f50bde090c302df72f2f5022f041671ffb0be177093513a0887586de4e0da3db9035817ec50b3a3c1f56cfd10f5cf67354582cceacfca59d7f7a7250302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500683066023100f24a7723a2a03c2f73d1b99d079dc01cecebc42b1dcde4d0fe68571289b325e134c6e314a103c285b28f3b911357815f023100af9e4a264d8490c546489041f390694ae137df4254139eeeaf18aa444a5b6025638daca8ac0563e2bd0589d90e51f6ba0302047c435bb50067306502300bf5dadad9979b57ca26b254a41df364661ce8c6e9526816a01cf090c503b72cca21ff4795b32209c727335d4709990b0231009bb0036b66f3cbf355ff165e596337eadc338476e37df4ea5b8611d3f696bdcd27e176e249bc36765080b7c34aab576d0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500683066023100ba7f5e8e07b2acc7bb7c08c116b60508c0051aa0675824b055a98bfaaf08d1296a6fe9a088e12dcd37bf6486a14cbdbe0231008b923d74b946b280569ad94a4e7737eef36812333b1977c28ee95c0c59d81d4d478830522dd0ce38ad9afc748a10cb370302047c435bb5006730650230794e37edadf0e7c009cd239cdc2b0580102398c825ce7badb0f18024beef911b841f480d5397e53e9c8e434fabfb7d110231008b391cb14fd0cc661a7bdb2a9370c972bb3f7fc158959555bfbaffc27bcebbbd8b41f2b431f1991fffdee1cedb8f51760302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231009da377ea93f657c6559a9b03484b329f85782b51b4a6c25d0dd8fa6cf764a1dacdd6ce652f2a54e06390f268d470d607023100b1fcf4ba08863b478a7a1811cb607d66c6fde6273e888dcfa7b3cb75086cc1ecc3d22fc328ea4aab9941c4d29b11f6830302047c435bb500673065023100c729223aba398e8d55a51a155ad0f855bc0783761e2501b30be0b0da894d729751ccd7caedfd65e3b81b587334e582d9023036061f15e4a5f448bbae25aeb3ec7ea9ab820100de3c4d1e52a46bc55571a8c9cb74d9a9aa3f73dae27e6f9bef1edb710302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50066306402300e46c91d40439b6813a248f87bb7979fc8df57d653b8e23a4b563d6015c66141cc82ffe515c1dd76585ad5490af257c80230076dfcfff2e11bfae7c4cdd7608c544b40b10888b2b4d3f02bf3153c0b5c1b540232bafbdfc4b4d468fea1dc011d6a920302047c435bb500673065023100f9ca4c1a993fc894c4865c596077f4f513f91918de60599863415820edf81dd82fb8418bb9affc7b2a8b55d9e13d845f023014a4c906ac5db80e964988d93fd74d8a8a57e1c67a960695ee435f233c01c9bc5090447a7339dbf182d9a2690d9585250302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023100ba2fa697dfd5dd60452d21a73a6ad147eb71a5961cb6e81b5eaeeabab113b41a9114c728f02366511d578b1f04298716023052197fcd67aefd0cc0fe8d1635d14d5e6f9f5c70ac487e43bf8989378ec817d31b8df9bd400ce338331ad0797858c9880302047c435bb500663064023031346c09a978d121e61597fc78d5e5620c29bb98c9e3e9aa2f68bebbf69c889ec320c24dff8ab609d98ba6f1cc5695a7023007117edcdd4396acddb524f06b0c108f58c35a5cdfbb112c976deb4c40721da4706e7b264e1d133cba5a7d1b5c798b2f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006730650230698f874c3878f5a6e19f583449e8330c3bc0947d6c41d5c7d29e219ae632c7742c626828efbba6ddf7c027416f9b9206023100e6230cf6ba926f7e0e001f47b00b84704a745e82b2881185bf1b6b435ecc1283790d730d169d74dfa77b34ae0c2902060302047c435bb500683066023100d249b0dc868f2edf3d647948c75345390bcccba8672a2199c1595f7fa563af7164519525b59554623103bc61561f5c8d023100d962ebc049a9740f446758aab47ddcef4565aff263be27bfaf622162f68400cb425a5f8bd1a0272ac51b0f3388ee93890302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50066306402305478c38c23cb500603b28b61cde10691f5a4b7eff4c2c0a5b7931f66d613dc5f3a116a185415f59e92b9314389760e5802300f981e65029aec5d0f602bf6dc6602386bdf2cd7c2d7635ab02fcb34239cd40da819348c7f0581e66b3ca57332aca2cf0302047c435bb50067306502300f8398adc05b452dc0cb7c597857bad2c94055e550948740952cb528ff4d405c1446997d1db12c93516b51b0cf38ac6c023100acfd3446d22fbd36a475405231f6046cf275f4542582be83409f731f6358931c8dbe21c0575c11e95dc6b749e1021d690302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500683066023100a9ee880e76328df1f1e430c1770b03cede8e7b790ede20c99b0c786a026e6cd4a838bbf2d9eb9ca3493436679ab5c84d023100eb41c6dd7fa889c0cc75fc87e0b2b16aceb84558e58e882db653f7bddd878a0b85632e403812b5a6f93e6dd7854480cc0302047c435bb500673065023100905eac6d5f3658c8c55d33ca0ad0b903ddf645f06e327845eab77e21268cc2b9637bf09abf8bc99623e908e377ec2a0d0230420f5018da6c6c3903054c3e82eb12d16f6e214f456dd786a5eae6ad22586992d9c95256a6a389252d470bbc743a72e30302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500663064023013031df78d10e8cc27fe3f59c26da6b3e6eac466be52afddab879b2d70f3ee76bd1ceff62dd2da112104dffe1eab520d023010602849e36795a9f46301c4009e33f14bc11cb9eefbd028b40c5b7e62d5fedd9a9e0a79eb7ed20c4c08afd35dd291db0302047c435bb500673065023100c73fc218dcd3046b66b03871b8aa259aeb46480939babba3732da39b951f73745e589e36fb74a1a7c2e880159c0495d202304b9682cc77d1cf5f3a1618ae51a55d9fa38232e7f524ccc5922c1ff46a8d2d6af7e4866ee8dea8d3843a13f472ff4bf00302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006730650230422abe082e107c6101e9f6d2f6c3f1664c217209910db1598d22a24bb2fe620c63930fcbabffa380b7387100c1489d04023100a900c1ff6937cdc6dac5726ceb1ac1c6bc8807c04e8451ab1da0cf3414d4f66683fab20e5dc1bb78818678670b52bd7f0302047c435bb500673065023100a52f4f17a1c06d509219f23c2524d853eff7bf2347a6326b48a49527469846454727370c91582bd502c7097a9711ae9d02307d5fea1217a8aa5ee9a309875053f95c5035025eecf6ac4ae57d06febf64759df5f84af07ab58ec8d5fb971b039a50b50302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023100fd2f8bd7bf900d012dcc40f689c0bbc65b877d1b595cd58f27412fb0bfdc5f016e42432e8bab51bbb5d21797099714d302304747750330802af6249ae1cd03d302ecbdbd817efd2080a80dc609d94b91f19e1e2aadaf964d0b3c3c3bad73dea505ad0302047c435bb50067306502306f7b4cbc35ea6dfbc2611ac864312055571a5193daf4bfc629695610b67ee0583e9f986d2b197bdf55a0ce60d783c802023100f2a3d4ff72220dcb3ad9ff80f3ee754526bb7b6716617e17aaf26bb2ae2f5b75694b9268ce67b474f543d8899c2bf4e00302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023100f38e06048cf4a27c34c400ace2b0478eb58fe688a3ac61cd0a74e37811b4d8e8ff2db114b126bbbc3a23d38cb4a1445902304538f19c3a55ad288d26eb5d1152ae7818e74ee61bf52e1156e237ebc64928b2c802fbcf94b5ac6f28f4945efd9296000302047c435bb500673065023100f9aec22adedbbb7d3832dfd8bb7827d124910b0176128c9c668bc755421e7900364a5e9aec9978ee92e82e5ea8169933023022edd3b29c0f1ada280f05abd081df75f07b2deb38a9efe7b56852d6bc999554f59f4834be54c1fa2a5d9bcbc1ea07270302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50067306502310098a86b1f553c1a5fc2acde8cb5205353e424643f851549e5d2ef41d28fd9f7a00a49a7c11151036ab9f23c3eab90b79402300bce16fd0d08a95f7b9e53bddf4a8de1a2477444a2de68dc944d313c6164eabaeda19d4ea15ef019079c91201a13d0730302047c435bb50067306502306daa073b78d69b01991d45cbb12a2c732dab1755783259806ebe0392649b32a1a6c4932a6c15da628163866d10f3c7e2023100a7006bdcde0d625edd945eeeb612356d7a3fbdff735928c7cbed17f31bccb6b77ee8e4a5838997d765b7c9d95a4b86b40302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231009dbdd4818ed8b85050e4fd19b3d9ebc90e6beb2ff3abf917f2b8f01d9553651b57a13b54c3367a6d9619388bbdd11795023100dd56d3254c6f342eaeb63f7c37680559aa95b1a080d46606d5f605aa83bc2ee049cbac9e05d623953377d75d5b8ad3070302047c435bb50067306502301fbed2dc37dd0f05228174e9cff236d375f56f299082dc5caea54e8658a6b9f45af6d7cc914c45c41f95344a723f280f0231008c51d739abc6448a7ca081d9f37a159456f2e822c0a45d8e6d3377d8985cf73f13f5339c2ba658aadd018c4a0a2a754b0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006730650230112c5375c0b44ef0e6aec81b2e35615d7547946388d49e0160c38f037a086de7ff5d9b1122c76515b5b4be8696e02cb3023100f7183db1e55a9e05a44d750eaedd1ee0834195aa20b812ec3284b29f1ddae9112a55e67dedc3f8e0cad14b09b0e146580302047c435bb500673065023100941bef6959e6a274022d4630455afc1db2302dc756431538f1b52360dd60de606dca406c72a77b2c1cd6426cc37f85e102304f0d2b2e3917cca2164b0930bb798d04cbc09057964206c0689ccb6136a9aa47e50a97b175859b4ffde0192b291eb4080302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023100f4d883283d73fe0dc90a6015b17aea8845af92a6fcdc591574dd152179e1fdb991bad3adf2f8d892e9a68d62a58d5398023074c9abbe5d914c0b9fae68fb4bbdaf021f416c6fa91ee8c2cca129dd3fae663a10c9d331c796a25a956f363a93cd914d0302047c435bb50067306502306953a5adad1a46c09a8bca8fae70f1258f3b26866b8ac9689963644d816d0ecbd990eaea1b0dfeb4f286e8727c6944e0023100893596ad9f6d9c811dd237a5d61152f9d24c87c40134a140387a83980811284f87870695728e53f171c20325ace14b240302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50066306402307102f7767baeae090db33ac9d455cd6d0afbacacaf11991983b3e58e919675161ddf15fa70bf3458ffbe85f0587aa94a0230012977fa9e990850f023225fd46a195cec704d70250e9a2108c5c6e445390f3a02cc314fefc0c1d0daa7d367b0f83c8c0302047c435bb500673065023100d6e5dda710ef9b0eaa9905c3223ba51419c6832188a6cb65a1f6032348c64bae56f432cd52ef9f935c13268b356e98e7023057352a4c3969eaf70dc9047562ba1083461e80b0cd56a1fbf93b988ea49135080a11cb370a051318448f366c4c4cafa70302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008198acc9924aa0028d658e5a81eef8f5f92c671ba760a93401b46399cd46d1d0399334f7af4a75d231e2061d483051ad023100b64afacf9d2a40f9eabccac5deacdc913f33817a2f1e74fd221bcabb4fffcd230f1820640b857cdde1a97e40375d3a760302047c435bb50066306402306c72be1429c40dc47c7046ac6af703418b380074e9b5c73b2c4575ca9edc62d203554b4bdec89eb8b94c39189ec2003702306082dc5e215f3f4f1e3d8648904d72cc6a361d8ce85caca1b98cb24e8d36d48153408b493700b1ebe4b00c36b3d1b77e0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500683066023100d5855fe849e33a65d4572a0f00558d5703dab7dcd2f88f0477382af652b844d71701dcb32a00c58a80908528b397278c023100c6a5b39418400ba54231e8fed0f0b04d74a7e6786db2ba48332a19045f887f0ef98032a9c65212488300a626788ab2200302047c435bb50066306402301943dca781716207bcc4727660d70962f6081246c12a70bb4d7028d20ae2c413489fafd114de8f2f974641f5b1c30c10023034c81cd3dd3bc9f553727c27e050e30e9f64df5a1017e4283fae0648381d42421ec1a3962a7a726fbc1208e57405502e0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023058e70e010fddc86f70ff579054aeec213b017e9cb4b54224db04e0c16f1efe6787dd53e5e9132e8b1d5f61daa870df8f023100f6bdc3f4aedcae74e0efaa6dce3bf752b44c9fca61b5907c4a2458221828933618c10738b4d067a9955f200698c71ab80302047c435bb500663064023025291203c769ec7d9404508b1d5d7ec5fd1bec2550016b2598e579a1bb0dae1d9f2c5b08ece1d6f6b5c3d69a2a6e601002303b9ca023543f9fc10991f9b9fdd96b62919687d2311919db6fec2609666b812dd7d934aa603a22f4ac639ca9caa291810302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50067306502306d695685a466c21d8541b56dd073b42ae959ef02ce2482cb6e5d48ef6d736c7fae3ca1dfd12d6c35e3d372fd11426bf7023100bedfb44a82406a431159f48e5d265d13343aaf3dd96163d256255c458c28f1627da1478e741239b3c7eb8e57fae7996b0302047c435bb500663064023061d3853653613884cbd7aea5f3f92cdcdf9fa5386933da32d8fc47587a74a6b1ad28ff5b3e80cf5b3dbc05f9849d342b0230414563eba4701eb0cfe8eb8e89b306436ab675f5c6e34e2b92f9dff2815cf8f22dc39a8844c7b83397b4f03a4c9200110302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50067306502310092f5530849c111c4aa29b2b43fcb7231f26c1a71cd68488aa5e0bfe5cf854308bfa8b918bf61865e8b9df7b5fe0f8738023012a388f33c16bc942c3f426fa08aa395dc5d5ae4345c2b712b694ff3c084bf614d69fe2ff5738db5eed2a228204435c50302047c435bb500673065023100e80407e1e7a1211948beb62c51265be69a75290a7b28ca36b329abfaa2835ed1c76179a80baacfede64e3136ad4a38290230093a542ac3950b5df13491eaf17fbbf3ac2bb01730600b4c219098cf7e094450dc0038bae62d211ff7aa6d56e2add8300302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500683066023100c87ea99cedb96e4651f41f5e79fbe46cb9d66f98e8d0cf60d003a55be24f54b0fa5132a6fcd17b3c1ace785aa790f660023100e0b10f0c19fa4fe0ac58aac3f8fe328e05b12f93fe01476e09c76823b5b25c33ebf1c037088cf8f0cce7eb86374ae9950302047c435bb50066306402303fea261a413e47e2f5dd59db13f2dc6c7f7692f6ad523e6996908c102582abc8f76a99c1f244692b5bc29a8bae6b9636023045b7de1529d899fe1ba832d091f67d02de4aac495ceefb96d4833b460f89d11b502ab234fdc5860a8909b59852aad91e0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50067306502301e12d5377b74e6068a9aa5f79dbaa5201dc12acda4fcc1d232d989983240acb88a2edd934a3f0978876f97ceb11530e6023100bab75384a9e22716653206c666bd6207f4d7ed3a0e7c5abb86668542ce893cb59388a2ce8726fc7ff320ab11261e522a0302047c435bb50068306602310087043281a302e7de99adc1b2fe3fffbab881caea7d2a4830a6a854ea992e6270864153b3468931b79e35d3e685d1e4d2023100cc832f9834db52ba397ff9736df9d611eb5a253c5aa77e42dae0757fee96347564681a58340b3728b11ec537db329a660302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023073ef0eccb92870130ade96d8c764cadd95d0951f5d57e687974b41da8a1445e03f14356e003054ec690ea715fc9e68240231008e2d3213b275f58a62f87d78ef349b9c84955b52808b7b2e32eea1315b61074a0602fe49faf6134bb10bffd4681396b80302047c435bb50066306402302b8819612aacc37363ef0b5ddf00c6ff9c6000932bace02feb40288c513d7f7c3c78bd4e9756e367897dd24745ef64c002300822d6b6e7c1172b1c23fe01335cff9be9c42717ffe8a35459ddcd81daa98e1b6e940d1d8dff4212f493ce60864a6fe20302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023100fbe81a21453d7f8153a6480e008f707e8897e21f044927b483a68e20b1ad8c4ea98a1b371a50ce19801d8af85b802d860230604733bb90aadf3f7c85ec5a3f795c4974058ee8e53a0857bfe98b6ee73ec3ce3e4e63578d2eb3813e5c713c1eb89bd10302047c435bb5006730650231009475e4b3da7b947a2b7253705e7ed1d16bd9d40f02f9d9038f25e38972dc240a0dc693e53a86f9334f9761da250b654e02303dd4d349b3c410df485677964acd3967ccf16bb824cc8e5429a1d214dec9efbe47fe4d4615c338b00ec185bc802597ac0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500683066023100925ad1168db8a693ecc458a5128e02f38cb1337956a53cbd0d76d30d93dfe280e2754de29d90765d08dee73703fd5cf6023100feb6d871133ed68a0929fe9f0cebe08a6a528f557b9406f0bbd7652d39254cc07045bd5dc528c661712eeffd261539c50302047c435bb5006830660231008e2f104b75def7e5f16d91b950b4574c1208294e7ff1c36bbc8990852bd4eed4122efefccab39797d45f911ef2c979270231009fa25d1ecbe976a8b0113d9af9c68ed5fa469151b9db91d44397962dfb2c598919fe54a476efe3c5adf8dc19c63775350302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500683066023100da767af18121cf4b742691f77a81827df8df1db7d36fdf1086eef373655c91d6a891ae6fb9b85c5b7b1624d4440ec3d802310089fbc1e6b363ce163f03727c2132426f9b56ba75f905825df403e4d9bb21412c4c4e982a0eccc14fbcd5b747e55a35910302047c435bb500683066023100f3d03d7c362e91dac76607030419b5a5fccda8300897af7a6a452047a9f39cfb231609a53588e0186b3bce17c14bdd63023100d0f6e9711d09c5cebb3263f7e5bf858ca19bb6934178c54a23369f403a232797e920ac79a72f289a611c02e18bf54ea10302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023100dc2c40c271d210412d84f6da9ffbdfd341d39cd57e1cc498b2880fe95362921901c537c770003bcb81873a293de6f23802301903201f22508021712fdaed35570569dc2f9e7e051ce52df255404cd80fe251c2382270794fd63cd6fa18943c55eb440302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500683066023100c6c0ad433e54d1d0397e9dae3f74ec1c4fbbb2fbcad7c8239c07705d01314b31a40bf0a83e084ac729cf0e929cb8a190023100a80545bdeb60f96accff0a72c05a26622effc20f8aecac59f19468feaed60e179251f1610e5ba00d9313416ff0a735a80302047c435bb5006830660231008f050f0278f5d0faa9afa3e456e30cfe9a4b4f12f596ec9e9dd284be5e835ef051b25a3b7d547870fd2b4fdcfec32ef8023100d00afe94b51d648ec37d974b01e4a00d2932e93ebbc63e6f005ad4713786e1c47b08a62d267c825a2c8520e43e3317b90302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50067306502301ecd58fd6802ed5b2b68faaff2ded8fd3416983e8c2c86a0d091b3d3b88584e57291e8fb105bdc902f3f3504c4d7face023100cbee1c820a6013c572aa8a8c923fd3f967dd27992eb40087a459468f7f7b3b62d462ab2c542c905cd5a199fb1d337d7b0302047c435bb500673065023100fcccc72e2cdd474ab0e38e80ff6926e945b83878fc14dcb95426a694925ea51c62b1beff29ec37f2551e064fb1fb9aeb02300e5b7bcea1892f23483ccda2523b32f1a4de37d19d2d5c2dcf2120baada4fd3d830bc504dc642847c9ecf6a966d4e4040302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500663064023014ef86307404e9926199d7f11cfae7c8fc9f3ca29cae26e0303de4ed68e9525aab33a38ac9c682e1e32b64e6a66f9c8002304429e8b895509e41f14d3eeebd061e833cf76e6f325b987f48f3a46abed73a94c702fc571914ad4fbbbed8e8e23e09780302047c435bb500673065023100cacf61020dd813a8b0cc350b57e78d7eb1c1d0ad830f1f8530abcfc1636534467f33a25de33ae8ad557cefe779235213023015ef08737904ecd472729154664e21c5db321212b9ff08ef8ff048c54288f000e6d37f251e2e9ed40ecf1492059662b20302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023100fb2083238c22a913c7fb79d7a416a68e497ab9520228df57623cfbe6a04b2c97b5a1b8cf1ac2a734447e1020c75b2d1d023058254f92d40810eb9355e8cc232e19a31816540cd67b8c84dddf52f2cd4040e55e3cdfb6eed40cf253ff3898a5e9beb70302047c435bb500663064023034caacc9b46f58cfa852adb18933a8ab87d272cc3f8f93564b27acf224876b2c5fe0f4821c16b136ee00f46409932c3602303250cc7c843303f483fb04c04a9aafbc74385e73e57b00e095a4604e4bf8e2550ed720a66a58d18cd4b1829c1504421a0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023100aebd256642a7fd9faa901c36e98f52a2d6ec3d3c84a7bc3c004e85269e246e5020664004ebb9ec76161d99a5592e59930230495a34ab6f7e4941bb665706db451bcd1e424c8d5f49d227cb6cefb173cd7315db200cd18e66d58e08cac189d4957e110302047c435bb5006730650230548fe505ea0136a9658d43bc50d50bc00a723b7365c25f18e357f72ce5827759dab77d6a7f6f113418c668af23230a62023100bae23965e9183dc07a7276656e6dee32a294bf54bad5733069b556bf6f0fa0526451ea5bafd3fa4e024f6bb25ca0ddf10302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500683066023100f0a3100d04d697fece322ca56db52af557d32e44f78879fe4200882dda79ce478a51a7abf17f5921faa5b9e4f693b17e023100d278bfbe0944ffe2b353e9dfa0c57a079e2a7120624b831f47fae5682195aeec44dc26b386be5545f475a6c1690ebc9d0302047c435bb5006630640230633c2ca857b266474709751a7ec26f15723114b815714b6f73a1f21cc4afaac3770bb762b8d801474f3cd0a94537c98a02302b7817831f033fad71dd430b83a9589ed5ebf3c54a48b1fa4ca1d59fd571c023bd8de2f4cad970de2d2556e2aa5fc8950302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50068306602310090ba0feb0e31677ba28d1e4b956b8061dfc9ba2d92c29d95746d5b41fa74a24a6246577385fdcf6b7bd2a4509baade3e023100b72a1318f64eecf10a85700cd6bd846acc6f7e619c0895fd4f3b558594c77f6856dd930ef5b29b4ebcc6b3789d2cf53f0302047c435bb500673065023038dabbcebe29cafadf3caf4e4418366051921dc1af3677c656446c0d2126ea1de33f1bd537884b15d8e6c601ace2f4f7023100d1d189b50c702b9a0ffeb18976e418eba9af4e7a07b594ce4d95de626abab2af7007e25eb4fa602a81ecac0a2a764db40302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006730650231009b3c56872a73a0a82c23571eae734d8062b823dc9036239852ecff4c6702ba98c4bd4cc3ce00b571f93634e69359c9de02305d454952b4e9bcef0773a076030996d041ac71f4275108db7de3e031c51aabe56d8e354c3f043fb614f7c719af78d7ab0302047c435bb500673065023100ba9b880e57bf49943470f1725ef02bbb2ba06c675cc33ccabfb3edc305aa187f02cbba9c154bdad8b202409e7207558002303776496deb24762dc96a4595a39a49bc0bcf8a29680face4fb9b56c0f535bf95754b7a7b4dd677b87805659bab114ca90302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500683066023100c3c2b9de3b846ac6e7c2faa6f9f2473d638be030848a2a8c0250bfcd9466bdb229bb9066f0f570dc8a45c9b12076fd73023100f85e4a7037cc447363f2276a5cba2642af5e6385552a49c0e20280669945ecc260ebf0dc5c42e8bf3ba1811902025c050302047c435bb500663064023078cad73efd406996c9976514ce1866020241b4acdbce599c7585cd5d9d3cd2bbee32bb9c1586d4ba3e0cd98de28090cb02300d1cdc652c74c0d4d5f18cfa5976860125743d3ebcd393cb8aa49ede3203b56d4b603d2e7e30c348e12adf7a00cf03310302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023100ac4cafefe8cc9a5e3b05fdfb350187f4ba89a2205e64aec274dec1d37ffe5b446984d71b4b795b31b37f22bce448f4ea02302fb36ea54f3d9bd9d14ec79e4925c4620e05ffa13cb79af2b3da1ad335cb570dbc791af64be85b93841f946d407946860302047c435bb50066306402303e98d70faf4a975e1e7e562548c9c9a52b75cb5c9c997071ce04bc9d5d23917a21b99fa0e014d036a83987b4c9ce283202306ca668f792d3fb9f2f6748a15b7df291280a2181598a19ee798a839d7ab4a1d1f1e6d69bd51c867991fd8e83b7f38be60302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500683066023100b511d1533cdb0242f398d7111958fcd59a78fb78e499923bad55401e8b781fbd89a00499374eb36b77d3a002be964969023100a5b08154faa2286d397d9cf64cd1618509dfcaa982aa2fa67dbf1c0f1c713c067d27aabc5fcf6e4ffacf14c632fe16e70302047c435bb5006730650230477ac7ac3dbc4daf81fa4269dbf2fcb15b1c41a4e00840990cbccee147d6bf173fc70b2b901a12b254e4122d69cede0b023100840ecc5a1bc516ac76d27ef8b6ac6a7641632b7cdaa2e7b4739e03fda107440b8abfcd8d3fe32c56f842ab786a78148a0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500683066023100b65ea63e2f96c24d51713ee39c40932f1d3d432087dae102cf1a27a6f8dcc8ce2fde37675375531e3dcaa1e6e99038ed023100b9fd1c5d5270ee1c1cf08c2d71a9fb17ab3756098e0b936e5e9576324ec7926808712ca2379982bbe6e6af320a83f91b0302047c435bb500663064023074b7b8aac7f60c9352270010946e66ebe2102545442a3d1f5355e21321cd28d6670bfcb44bcca7cedd0c1849d92992cc02302e20da0f0c6b1f62ddf54658a47ec7f7edb297a30b0b3e506295086e0539294408442bc84726a9f1a06f9be0d788342d0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50067306502304c0e1c87d294050e3b1a90807bdf9c29e2cc0701ccdd3a3e0a7813ceeacf583897092d0da344d7a07069688eb214bd2c0231008a66b1b235de07ffb086596c91c76e47c1afb8be0839c0cabcf7acfba6ae7648e07b8f762d2f93fcd2e23dc3cf1c65460302047c435bb50066306402304a283242a3f0198ed3010427144da1acf8bedc22113ea5440604194426274e043555b359cacddb53824124d6709790c402304de89c55b3a69f06607c1fc240bac4a9bcb8e9b73a3cdef7bf88bb87b9af3cf20e04c63f3f1b8efd6c9ef6167e46eafe0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500663064023020dbbea327d9025d647f2309d6eaaef4a0356d2ebe103be71872320e0243e4bee2362bee9ce192bd0a257d697a45163e02304e3055948e21e87629fa1be5c9ff7ac16032e22a11740c53e91276d00fa4f3ca228c22d563ca76ec92e8f48f51b0cc1b0302047c435bb50068306602310085c7f1532561ee32a4c8b90b508767a047429226ca6d85d61d326b54aa4d7ac59053a063a58dfdd25804f938bd40cf5102310095eb5f8949d63df53a7cc874fb0fb8c482167bc8fdd94d24056d6898fc0743ee3fa8973dfc316e6ba52b826f7c4ec5bb0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500683066023100845df2e70d3f7c43a53caad19f46f408a044a4559f6442410fbdbb894e0a8dec2fec7d356236485758091399fc6a30dd0231008c69d72c6c49200513caa8c0a5bdf2db48be6aa6d345c3c01b8fbf65e5c9c574fdb4025f9d9c32aac2d28d51603169400302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500683066023100e20d0dbf46c74fce224214f115fe21ae8e992753a2fa8fd5deb065166b557c862a0a229eb7dda6ed38d6dcb0a7f15c0f023100f1c94067326dae56887be81e1e86c130706fe46af3d6d0e1094fcff146de35838066a3eee027009f676f9c5c6b8271b70302047c435bb500683066023100fdaabe1f7347d84b00293d984c3294437d760d7211973289a1907c90e9d74131d27978ca8601493c00259151b1df4026023100bc5680eea8b7fd061ee49e63dd117d519aeb066974c5f4f03a16b17c8bae7787dcb2e171d52924cbbfee066de28193d20302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006730650230273c19aa3d165e98aa72eaf21c397af79049f1ae66f6126966a49b738fb23b9eeb3cc587ce25c13bee8fe824942d2683023100b9b42dc0bdfe7fbbd20f5aa86a7aa082adeb468b06bdb4205595110d394218ac7d3f3f38c9a1ef99b23aab38809711180302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006730650230500b36a5ec1aedf812f8a4044ebf6f2424d24361676f7ee5185d9790f39196332c99170140d2c96aa9153b21cbd58089023100e525b5da271b0e0024147c27eb19a96f5a11a3a2c5a6ed0d09628764cc1f041ae4828651dd0fb43d7909a3bdadce1fe50302047c435bb5006630640230111ac9505ba7fa7e913e09f4e2ff36c283bdc41c95a4abc5450f79d9bf40999b380e466e397d99b71060733ba3b5328c02300fcc956c464b964ad69dcba4b8ad2cb5362b26167ddb9617e2f0e3a70b37b4a4f3592dd5631e444680cca962a9adc4e40302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500683066023100f539c173158ecf0204d43f9031586405470c16351e3f7aa99c37c094b8346b0c088aff42d3baa7117a920d31b40b44b1023100e500f1d6dd17b3964d0b6a76aa53aeb7442f9a38754bcb355ba1748e92097751b6ee117ef9eea03be144ecdb5841ac710302047c435bb50068306602310085b7306d15407019b3f9e8b2546cb2cadb03dff2979dd70aa9512612643557bed741d4b373703fbcd78d526a9d63c912023100d7a3eb4d09827f18d46b968544a59ea71d490beac246a3ce16df3fc568e4bdedc2ae5ab2851cfcbf32f39579bd14aebd0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50067306502307c6b296b2778b9f105e05f9fcdaa0262e180258e4fee9073060c92c7716375859b721eeeec84525e4a56f385b9228d7f023100c67d16c1f40606b32c0891e8615db249712b4d0e746c7598196dc42ba4cffe72aa66c1dc25caa06bf839a631d6cd0db10302047c435bb5006830660231008fc1c6b8b45d4ca04a5154b42a3407b4b526e60ef6ca97fd682ae7da50190a632be4163e531644b3684318b06e27c65c023100ecac94654010a3fd1ef2c2517d22cddb97e3cdc735f35beda435d1320a785bbc24d1e1927f430e166c62171d2962d31e0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023100f6b048eb8c8a86f4fd2544e3db3d88f7a46eb0706257e819ec86d4716938958081df7e37d7df9df0e9ae82b62931e4d70230301a47f21a95aabd817df038921f7ee1bbd7245a5428214e6cc976116614baab3851fc0a4ea7afe77fccb8070681c23a0302047c435bb500663064023051344a296690dc7925a9418b84867b68e22e96564bfcf47402b0476bfa46b063ae0e6a69c62f48b5b9a1d820801e6b6702301de58c9b217c8f83fe0a7a701309a227448947396e84c0eae44300d7c39a7188a03cff0a6ec69360a5f79e5f1ec7cf5e0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500683066023100b48f34d5735bcb30c3bd3beeef70406bc0b57d720f8507ae69cee9ca4a44a5cd2a83d0c5bae301e86dc9317eba7be388023100bbd70be84a21121c82c0c30078310d2b890e78115453f3fcbbe7429ad161d8c8af3383466af2e608a71e47756e954a7d0302047c435bb500683066023100f261886b0bf72e644944271180787db8ee3d9b09d57b9982b5c27f9c90d813d719cbec8dd9801bf47e0ddb94f6823601023100f52e8bceb9f5f6748fedc3a4a1a0e8875ca7bba7617c26ef328ac0658a29ba1ebe27c699ca2f1c68669fe2b7ee41f2000302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500683066023100b5cf43eccaba20afa068e0cee2aefb4cb869327428e2093929d4d27e9a56af362e262addd8d7c87b1f6dda926b9609ce02310095fc4d160d2935a4ee490543b2a54e43fb9cf4c0dde4ee118dc965283eb70f483f10cd6de6b440704250f629dfc3d4e70302047c435bb500673065023004c44c20c74bfae4c32f4ea82f458ef7a7be3ddb7ef1f8ab50298f997a9e422340bc449990a817987a1fb5a745e7a5450231008b42c70f466def7e8515ab8e5a7760a167edf10c3d8fb13e46691a6050481009e654cab6f6258b6e6adb6bb350ff27ac0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50066306402302522d032833c943986d1e3a282851e23f3dbc798d07d56d05ce9d66a1ca2cc364b8ddd4549ca735f421d482efee91d850230543edcc83b256e9fe3039f3c9a5c069f106bd623e1d6182849a74396062d04b1c2b543728de51fd13174475005bac88e0302047c435bb500673065023100d70e6294b6f20e689fcbd12b167938dd7ffcb56124c9dc6678e183871429f8dba803ff476225f12ad7211089dc32af3502306d2c83e4db25378bc2494e6d68bad98af449717b62d0c470d218ce11f9757f749e127d2c1e27889a368fb24a46d338bd0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500683066023100bfb2751882b7290b2ef0a5cad2debed34464db2cc625dfbd79691c83a5a678ea4b29eaf21c9ecbe8339eb76e75c4b7c3023100ee35d173267cdae83fd3b6c3bf575b30a3d944af6c4c1859a98ec5a16597386b65f5db863a8d8390d4e08485ebd0aad20302047c435bb500673065023100d6208fe4d932cf46b21692788e5e5f397664e1069d0977f061010da5b3e4427ff9a044fb5339b731f3c9242d38c5a45902302ab399f6cbc3e81ae9ba89f983cae1d09d45d0a733a992a09d27cbec8e7a9358f3c0a8241b898209d6a897aaa707ea170302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50067306502302103ecf41a642952d567ba02e2102f28016c9be146153786e9bc512d32ca4ab344a9dd77e4f741834ddcc62f7b28d122023100828b826ee73933e6dd52ee57ed8bdc0ebae03a6b4062b11dc49743728f55700ec16ec58282f3689d62a11275aa2ac6790302047c435bb500663064023011f0f82460dd243c1730b4e75b66f07e4049c585b634e5478bcd3dc3d742ea97796a3a6964b6f6a73f6f80ec9340179702303d226727bee335404e4e42dfab21e2968a0cf1d16bcc34f98087513d5bb02dd1d377c56d92a421f004da5932bc0ae0270302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50067306502306c2dbe47436bd7caf272f45fdc6d2e05c8036d4831c4708ee7f9b70d01756b353b7e3c3be6675015483ae439a9a23b2f023100dc3a1a7e10a86f6ad44eff2fa48c9cbf1f29f4e0cdb57b6a76abcceb868418c987bd7815ca08295c9c6f8c7de2d887f40302047c435bb5006730650231008a4b8a8b02db649c13695c0e1d99a1af33b66ca90cd6a1d8b7f4d2300d5168e3e1eb04defe9e36ba1394c94e66cbe4290230592c2bf9b51494db4a73f4225b0766e40e50c58b1d3998f830e41ab17c8f65a9799e14acb2e3f1defe684b5abd45c92c0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50067306502307c3d999a4eea205a049927d2a9959d06966bd919ddf39591b68348c271b11d96b60c2c6efbafa710edcda1e156c15a69023100e80cc3ccfca920670693194190ff41d1974791401cce26a696e88314424c0852d1a5dd9061dc2e42596e53d4857135210302047c435bb500683066023100810e81740e1b372bcd780b59b43c624a3ba720083be7990625ddc87c31fd74e62179ac1caed624619fe53829eced3b01023100d823dcf4ac6b68e62e8d605f0c0b367520a3aeb438151290f0f60fea33a966c627d749520412bea21f476e4c19bbf5f80302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023100bf5a66d6b3429fccb425fdcab090a2e3ca8163e10c649b888f3ba5a7fa03efa79f7fddd51f51f9ec6289e9fc9cce9ba702303cfce0e33be8d4a02e66c5047e2e50b3b66ddd45b3c0c07bf313bf681377297ef0c6e76440ea862cd5c1bf7335595a280302047c435bb500673065023100fbec454a1d5537b0a61301808b2197714b5e66d263bb5de62dd89a5653d251ec1ebf82652dbeddbee6404196f86fe76b02302f0319085508bc00b3a4ddb0f0d04ebe4441b6f1ab7a44cddd52cc87a624739cbe40eb0a6e8025ef15e6c8df32ae69fb0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50066306402306958809a07ad670d58000a25a5ef68ae4150cde7883b9a34fd4c0a8f18f32377fb9eb152eeccda90bba3bc8d67e57911023047bd9f1c541c14ba8948f5c4c3c7f11a63b62a8f68c6cdb79c054df86d4e7fe75ed842faee5704cd44a84cefd634efe60302047c435bb500673065023100984d06dfbd6aa7fe7726c4844b1b397f8d499ea10a6065bee7b8929b99d9e25b2ee275b469c1ccad88446c28873e5062023046c71683b866b6127e97156a4e75446d50ca03ceda51dac4063a5069412900a66f5f78c1bdbd522e0f278adbeb36ec380302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023100e496dafe0fd1ea9c143f73f0742292644d09eee470b237e3e367ca2b1ca701057ab5d160955734659b5c3abff3721f950230455b8f2f6e700bfd53abb89f659d6960deb66a5f388262800781593802bff463170ca83e08fbd6eb847bf35f6b36e3290302047c435bb50066306402300d2ce4e80af412968d572c674dfc43cec016ebd0bb880fdf3d0d2c819088070baca639b6dd9e1f2cac8fd8fffbf789ad02302d70cf84dadbc3b0383e4fff269bc6421fa8af9fa6d3e78e8bf02dd278f4b2c498c042cab7c2ec99a29bf833108ca21c0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023100d0a7a98fa605bb9e6440f913568133c24c3d484723def2f055254be08f96de74873c2c5b9392adb8d0e7e13aba43e0df02303d03e58771b438bfe58a425aaff2ff595cb1ba6ae980c48823ad8ac19de05dc98e0bfaad59daa59b7d99d92fc5a95bc30302047c435bb500683066023100ef9458091bd7591e54b964b39995862a84c258e16d2e596570819e9fdc6129685a0a0a22025c7d9bc1c4855156608654023100dd65adcb823e286e7a0e1d87ae5d80d40506aff0a808f6c62969c9d063c44809cf264d5ef7cc0700f75b9d2f6036802e0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500683066023100e3299512dc3a94f17f90c97987a67e6b4b9c63e633cd97b352aea580100da61a043e7c544c39d117732ec4ea21c5c2af023100965d10fe5d64bdf4c494ce7f49eac792cbb2e045c73018265f8803b746533bf9acdedd46488fafe3fac72868d587f2380302047c435bb50067306502301318347607c6dd55878fdf4ed3587e359086d73c7bfeddbe4ffebfad0ea75e46531a37818a50f1915f0f899666de301a0231008b783804f9821f7fe6910fb37e83f3b8155be5657780b08c0f30fdd637d583abf77ae7694fefcb36507e8871bdba37c90302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500683066023100bc14a059fc633e8998576940f96646e5297cc67a51bdff861c272f75a9fdfff808c49e26d1eb00507e90ce54236267280231009e5ec351ec82d405f7514afaa0faeb82c959f7faa7ff8826a49beff6800ca8b602bbe3f70e0c9a60956e64bc4e815a960302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023100a3809a2673178a79af84ea9db90b52dfb87a1399f66f97bf51bdbaec942bbd4bdfea287285f653fa49de303b2287c3ea023079b1319e60c9283b7812f8f673318237c6d89706d2fa0d3560448bbd09ffdfc0f46e95e11fb128ad373dda5fd6720f7f0302047c435bb500663064023057cc6e2839119c32eddc15d820a6d4ea86ffa88354a60801424ae3c9249bde71de0020ab56b74cfb083a6de5ef0bf111023042986920cda61a3ef820eb93f55b48688778c92fd5eaf813baa74c49a0a486efadfc0b3c70a396a162b0a16f54758ed10302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023100fd431de1588e8b5bb65dff9bdf8db8b6bd15af0d926e1d047f37e398740c7ca2dd42ac5d58fff7aaef0c8be31aa69953023065c94bc6a3bed280f371b86bfb311297365527729bafb8065f68094ec97f524614845a7fd69bc0f0dd9a5ee2431b12ab0302047c435bb500673065023100f1d61e55d955b258eee96fbbb123bb800b67a2ec8f562487c8e5aff648ca80104be64fe783d58e7e2eca6c9256c0121202307285b62406c8669f57fe0a8dd594b4e163fb2d6d2e37dfd501b36af927e55b9a59840b8053da6080b60abe2c6cbd48000302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500663064023045af5b1d980b9fe6e2147471ea54abacde9911c2e51861c769dfc180bbea4064b026a55b897464039c4ff7890d3c0b8302300eba04d95f16982c3c73508fb01ba247b570bb4ed2b573b280f97980a07ade07fa82b638ba30d35a6a8b0d5fc5ed9e820302047c435bb5006730650230647e2aac706a19572e9b311f161e762bbefc798d132f9d975d4f6ba03589b13be59d464f7184c53a30484ffe91825b5e02310098d81bcc5b1008a62dbd68d52c3e8ecfa8a70a053bc64e73e6deea89edb1e592eaa5217d93a1cb3e22dd79c4b60b1c350302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50067306502310093eeca8f0090c10cdf1e54ef5b0ff4ceed77ec0db7efc96cc92eab9bda2bf172a3272b45250970282c331c6f0bb5534a023030b525dddde18a3213b89eaa6668803b6f6ae9ba8aa597745a428f5cc494e0e12b59f2c4a5cbd768e617f8c53ce1e6330302047c435bb500673065023100da2b5073ff7f78266cfdd209a95370e8fc38050619c1299f2e924d140429ed3953ed6a61e9a37207a6b5e7c594708f380230503fc44da1bfc552a8c7a70ba6f95a78002872b9fd612d5a304b6b4ace87d2cccef809ff22322fcd607ad43f2e244bc10302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500683066023100e543e3c76ec2905221cac73c05f80cdfb9e26a8f49b7bee6f5fbd1e768668c8d37b0486439d974a4f27c6a02f675d22a023100f43163882a18fb70c1762c9494d52a77f7b10eb0234aebba0661108ce3bf623c1a8f004d073d843b8d3deec99267883c0302047c435bb500683066023100cbfa0c500ad35029326d242210d7d746a047feb62aaf32ab2ef7fe416c04b7520e148f5ca60753cc1e85897fb6d640420231008d51d9fd2e46f2f86b8b45256ef278330ab1db07958289b849ecd91e259fc39ebec1f350fb8e6986353bd7bbc935e73b0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500683066023100cf6d19a23c8f45a31372e2bb8d5632cbc7194d871afe2c9af9b660d5005523c812fc78b840c6f64be29b6002f8754e1a023100ea85d4854c8ee9f62fa47ae2f2b5a09a12be053265244b77c974c27a6e6e9a8e1f5bbeb4cd062e0c252761f6b477b2920302047c435bb50067306502306ff17426a21c3e72351ecbc0ea98be6c03a3b24cbb6666594d826854ed05eaffc7154b49b464281252f3dc98b33efca2023100d1f3aa0f7e9587d1630a5f708fa771c0fd00ea42950b962ae2c69bbc001f26f759c99b3a664f1ffed2527a9fb9a2108d0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500663064023014a994d54e35cc1e099078e79644ca0993eb287cd05479361647d467c23252fa1285c56d4ed706d002031a72b19b382902307375481b08321bb1f9b5787a26f096188b91f8a65335ab51610055af288830ea58bd9cb50d329e5c6ffe1e33acaa7d300302047c435bb50068306602310093e9e213b80272a157f92b7ea1d502329bc502a012b45c608513ef11d89f576e990e391cb3c54f4f22cc34af9496c544023100a631127946419223157a0b0703430cccf264be30491e2b5b6d1c4ecd519707e24197fb8dbe8941c2647ef6b6aadbad870302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500683066023100ec0f71d5f161f23c34550358a17f77946a2f53f3c3c1fbf55678266726e477ba88697b23b2785623b27b427ce62b6dce023100d79dc9b23067d18035e1d4ad112a764eac516793866bc7a1c00fe2e5137e8e6e69c39697564bb824af31e8dd91c910460302047c435bb500683066023100afaab1fc6296c79736b4c7a468fb6db84d8c2b1b3eccc6196e8717886e30fa4a2d072f4ce4786178446a198ba0df7f4c02310091a19a72d1816495f7c25afdb22be76239b68cb14b185d76dcba1822bff5d14a9c6c5e5f951539735638100694298e390302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006730650231009aaab1531fda9a4dfb6969f15341b6c1cbdab67eff6c976c3f5f0b9e24284c2c252d55526fb1cbc389cba95b59c575120230200a27b016731929f07e0fae1c564ebf74e25e535449398d6cb14223a0d62b5f748a450bcd2f14f980aa3d36e89bbfde0302047c435bb500663064023044596abeab4bc8fd66fd4959388695ec6cdfee7dc2aa9e69e4716a4c814ace4d4a1ce9310a9b085b00f97175c9abd9e102307b63fb2e2d9fc895f505119bffa972ebfef5be5c3c53d3ea1f1ffe03c6fbd83aa0bcad719ae569fa47fc86a1d7a20e700302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500683066023100b75ef11a01ea6e495667fe10cb45b9c3d8329ede20ce7028d45d8b9f1fb8ed8e1e09871f6f78b1404e58d473c438f28e023100baae24344900caa75bdcc03d2a7dd801ac91868f7bed24150fe488f6507db859fc5f03786c3a2ed10c041ef8516b55760302047c435bb5006730650231008d654f6db433c8a52b225370f88cfc72469e673d7840237c5bc43b10da0f680676a58c0bb2471f356d0efd0446fdc52702304aba75abc2251d1c8867ee42707022e36f2118bc4b1b1defc84304304ac5f6e97e054a30582e23a07b2b56025c2521890302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023100bc45aef5bbc8b5abfc68bdfc1309c5b36486eee76c3486b88fd4c0b61f0d69854bfa32cbcbd03c1d5d4356eb47a299fc0230090295fe88c42a14e70233366492dd4c22bed8fe2340c3d02a2452ab9605298a79f01d3a732529c5df1ee939ef48ce890302047c435bb50067306502306809d28e4bef510b0e45c93fde0e55c154d409b7acc7488effdce8b8c28f90e6c710900abc476f15e6b4fa49a78ab32f023100e03fae13eb7015af2c47ce11811d43b68903feca7cb4f7107840ce8fd14803147585d214d74efdd20aed8db6650dbf0c0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231009647ae931a76b242d2dd577a68f111220db859c335302c2d7ef43e0bbf2604ccc2031a3aa7162ffeb3b1c736a29b28b4023100a0be6b37368ce71ea4ef58860f7a7e000f66039ee10c73f25f8afffb5752954f1b94637ab72156fa0d145d83a4026e480302047c435bb50066306402301c2f3ff648dec2ab2c68590775cb61dfee4a29a06f70978f48c51d00fda18321d2f4fcb3a58d5aa700612927d0885548023005eb7642e965af00c772fafe6a9d74bcefbc751d052db0f7709274174f4793757dd2ce59eeba0051fc59157128aefb280302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023012fd7b4282699a9eaa3430b5f37ca2b3cfe367cd151f42393311250af02429f4faef992ae87fd2fc962e4f13f230e74f023100cd9a0bde0b9e8eca3f4fd316717d72eb96a696ae71a7881545636d1f83c7af314c3fb188724dc3237d5767e9fe2cf3ff0302047c435bb50066306402307f10039376881b3306e1b0a3812389cc57121b2c53e9562874005716bc11425d765ce334c04249f8f4137475c0680c9d023055d4b77d4e4b6c7ad0418f900beca79fdea77f47e3bcdd27a939f7ff7b700433aa3db37dbcefc627e58fb0738fbfe2510302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006730650230522aec7c79a496b1736f344bc5b63a628d7bace36e3824c49ca32d5b10aa2ec07d821c2fba3276fa70ebbcc983a72b8b023100f88b469e42a9e4dd6a7703100bc112d1988d1f3e057e3213dd625a833a98c41c848cf2ee8aee14e3eb9a815e22dbbf9a0302047c435bb500673065023100f82fc81ac98d32f04ee51943804c5bf24656c7928610306b3a62e2ca6a7b3ec7ceab12bdbbbf379bb9dcec161ab78b2d023070a86052b07693960fe64644f9c0b43196961646b4606f59ec5396c80c663b2c32513d5af2ee913e1b7c7e66cbb25a000302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023026e25e09c0f9dce06ad88fc3a108fc1f0fa496957ea28716e9bc468e3d34ed49534e7270bbfc9ca4132b24689bcc20a8023100c34ec44aa60083a10e3a2ef00352b3c8ed56f6e905254dcbaa72218e0765db1bfbebc1e708f3b60458881223265938db0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023100896f44c2365ff8dee5be8517d9c375a00c99b915eade5e703005e74e8efa0d37de535e8c6082b1b6291eb46e7a67d675023008e2e6e287aa52f83a106e5c6b08ff8fb035e530bbdc08daa864c7610777436b6a874d0ab7a145744a152b6d36d2fa150302047c435bb50067306502302d6f89be978f1e943226c6eff0df8f94958b5791ad605624ca753d0bddfe1e7b855fa772c8342e868b509c19b5cb1585023100fc9efd06d968f626aed690b61fe317898e5d9ab677eb682688a3e612d210c16a49a26cea7a49f3c3f581bd985fc021750302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023100c3d46e7643ddccbb27af52f835394d4152847658c5ebffa13d6a472323f196b32759df8e71cd82b655e1c390c8fa61ef023010a93821c022efaf6f8921c9a50ed160ce8113b08384c888921e2e88b4438f46ec5a8835af21c65f7ec3d5b8057b90a30302047c435bb500683066023100d3cb4aed42196835d493e9f84e71adf8a15d7456aea6787bfb63a439b17b794b87d90e4667c17398dbe0b6aef1f0b1610231009f1c8e4d1ae09ec8bdf92c1ff0402961aff1548728679ecdb15708a8e4657757408ad8d0136ba24b9066e003de8b14a10302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006630640230677ba331ed7e022cf50b2480f0fc5c829dc3ca775432c78d9a4e35ecf65ce4e50a11740e05a3019214efd8c40f427fe40230691a4b9f21945199c7539d61020685b09df5b24473a9b65162c3f5624c4a69c85fe325dcf35a12479d38c7d8590ca8100302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006630640230770fdac60237e3b5c40e8b160660f03975e23f70f2ef03a54a87e323ae58e25328b854714c9ff305c78a8a527f292a1402301c3c1e2f7faf9d9d3e4018159309ad2fbf3f92b921053f62270348ed7a70af3da2770d8d7ff73a232d54a97dc1bf52950302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500663064023035d4e48d97600670d1430c769da95286c0d5aa5511e2099cf1d3fca289ffd8a0a925d1dad1bad72b832c95203ddd28bb0230458ccfeb1bf62b422c459b94f59439969c885ed89b88bddf44daf26f07aedcdd2348f96931c9df3da03a4dc919382d110302047c435bb5006630640230242a85f9751f2413f49d49025ed56943dd22e98690c48351c140afc5a65e9ecdfa8a3e5e64aee079292ed50ea1bcf65102301609c50b805ed58b3d8628edc04dd260d9be5a7cd79cafd6b8275169b7d11d16ee8111ca27996fb7868f05b5ac57e2830302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500683066023100eda5f5979562c2aad1522d22b369150ea56684f39facf59f8ab252bd05eb80c593947d84e795c30dcd0b2b3cbe211da0023100a64ff525a5951b316a6d2a966b1de5632cea8abf061d254b68a9f907a4e3e58e3046cb70f2d0e3ace282d14f93cd38750302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006630640230222ab01719f2981c9d8093bbb559a5860dbc04d0e110c2f70ebf01208531ef14b45bb0395800aa69bd6b39a12bca17c2023017ff9530300ac0818b7ca773fccbb7d394d5cc2900154d5961a8ef834350b926f85ad957102e72d038c7f6abb8a551d00302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500663064023047f239cdd87b02cbbd4fc4b6d2a3fd1d44888c394ea55d0eb821aeeb8d05609a12a7dc2e73a6aa2aeb70ce8e7893a9e80230727afaea69d92a2e165365df58f10d525d96844c73537e257eb40dbf872d116ed845039b22ee1638043b9b52f7fc36420302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50066306402302647f0516a4463f13e822b10e5cba2f4fd93b80bc1f66e9bd6e57ba724f046fd97fd1188f2ce6d8dd9606d26f588a73a02301f67ef38f052715aa1992351ff036151202a748eb2c01d21b6cad5df8e0dad4ba94b511cfd015b9ca21d215cfa1643f00302047c435bb500673065023100a288f7d82b2db071a3456fc559c6abdfb46c2c0893a686304b2a13cb574f0df25a92a7b269738992969b47ff7a4a254902302c1008bdceb473ce83170c2ba3bf84ef42692494ff2722ecb969ca3d8e0304ef510d06add43af18bb7b0674f6d0f8c750302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023100a525f8901b72af786a3cd9841a8d4cfc97db90a6bf082b87634541d5bfcc6eadd6daa6116cfdc967e33bcb505bc3035602303e41ca9bc2209561917fde19d05681eee268d6b6fcfeeb3a4689dbf54b61addad5c65482493ce8fb7b0ce804c0e141590302047c435bb500683066023100cf8aeb92e023172b5cbff29985b0ad9e6d89d09546927039b68b578279e4631325410264988264b00d5ec629d4311ebc023100b54873821a4d444f24d167c226705b65bf4e2f3f8067aa1fcbeabccc4ecc1d3655e73c909f861b36c33a299cbd93f9320302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023100bb56c8bff8ae619f066b6765103053b244d93b50bd4076e34e1e3b75aa8e6da1d7bcc58f3c1e8f7683efa641c302406802307f936aafdc89d4669742aaebe5db002ef19de642ce30c896327f25750c7690fa45c2a8e84904ec2809a083cfc276bd0e0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50066306402300caa3537ed4a6dbb69aefe13fa743d3d374d86b4685905199f9c58a6bd96c7f8b97e691e216c245b2d57ba593f329f7902306b9fff9777a07ed3f395615eff1ad142232e847d00880861eeb318ea356580c8edce87b2eae69294344645294a29813c0302047c435bb500673065023034b0c614bfacda8ef7c85635ee6b3dc3e09fad2885b860f590cc59c16c645eb08c8573646a17d510caa0bfadd90347c5023100e382781c110fb69a6086aaacb7cdad94ad5c0042be8eb7fda4c774ad28beea0550c37576cf69919030ed65f0fe2799aa0302047c435bb50068306602310084ae15a3f6f6767f01123178887873c0f95ab4aec80e3b41d425d7418bd6d5090cc2d1da4573b0b22cc5280319f6aaca023100af80de65303087eacdfdb7fef554834d454a62309708e883204726f5551e9c4b6c895746bdc5ba40f3c05f47b559f0930302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50067306502310091a030d496132e30c4c827230218639b06a549d4a9faa33651c201d53850268be75858aaeed5ba9c3fe7ead76089251c023044d70cec9f65cfbd8be624d41195199bc33fe6e3ae67344dd33a70d18067bd57c42d9dd541f44b86c2c0a274fa2ebdfb0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500683066023100bf81f1dbd0a294bd669f06852d933405f39fb9237f3584041158af9f8d8b19a380d0a95c0301db46f0eb6417f65f53c9023100f29198fe543319434367495ab91a3e7b770d9c715bc55c1e0eae289af9a5fb9db89932bc2bf9875016ce415d063f14e60302047c435bb500683066023100b80c41e221bc30d82275045ea23744d6af244146061cb28708dde25457140785bb9f8bd4cf31451f1c7c8f9d1286911e023100d22767dc97cfdb93b66d668f43584919185b6b2034ddbf6e0e4d64a4216033c21377361f457ca0d2249401681571ebdf0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006730650231009c32ef2da459226830959d4bae61634e948aae660606eae0d8505d1eb43c348f000ae03ba0af8b22769912fb73f6344b023015c38e51d6c08b8329d33668960e13f9e961c0f75b6800792e39b685c5a9959a7a6526042198c2a8d8a165c88f7e95760302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50066306402303e14e8cfae2eb061d88cf5f45ebc7a1b7731668342c44be1e8357062fc56db9d8375e9e508136d571f371a42b201a13202307c9b5e2013b0da845d0f330aee5e2555e9e459b891e46451baec767f77626cedc514fedd7e012e0e37b6e5421cc6b7f70302047c435bb500663064023021dd2c270fb409dafd97b4ebd180094f67e69032f7f4ec22ca8d5a25ef17a1da64bb9702ce342689848311184b2cf40402302cbb5c45dc2003a8dea6575b420bfb6044a3cd98efece2d136f54e6d9c6aa4f1a5a543c58920f0fd13d8deddc024c2240302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50067306502304a20d23d3a5f258f5019f51e81c41b66c45fc52b7d001274bcb62cda40433b13bbf0ec47394af74864def2b2df46737202310080065f61e08f7fb60b68fab8129dcd7e8dbd01c58afa591f7639950db37cb8b242aec53b2bc8e62ded6fa728b818364c0302047c435bb50066306402303b621dc41cb9a0f731d374f62fa6be080326ca9ebd4bce0158d9d3cc802b19f3aceca4079212cc5366cb06b7b40a34ef02303bebb0d12711f1582fb8d64b50f595aca96efce1a475fd0a9377b60d8a6ef81a3f1e7f29cbb60ff6ad571263deb1f9460302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50066306402303bba007b0f574639179229291188eee7c47a67eb207dbbea0255ca09ea09267696e387ada96cf97ad660f912f138744e02307b1a97083c3fd32bcaa0d856bee2da43b45df3217304ae3c902c31242c74c02473c185dd710cb22cad72491a421475d80302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50066306402305e2a000bf584a7d4c196c1f16954094602258b84cd71da586f3571c35c96cfdc4ff593e290974042f011553ff0847aae023075c39ee6ae3e578e7ee9dba4d03a9cf5a5ba97173e87feea000f372ce6af1e607864bfede2043d73f7ad355c652ef34a0302047c435bb5006830660231008b20c5ecfb18057b0ea2f480a419c772530f463e943fbf2562add60d41658cc1d384bbbd94b98470f183de7a219a61e4023100f30fbf0f8cb1dc7a117b67bb90c78f7035ffb1f2ad1dfb34fe0c3bf2e0cad25a4be3b08c51fc38e2136760a97e0a54090302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50066306402300e0e185b49e64eaf59b22c6683114f541ea6fcf5cd8ff5a1715d7ae72e51f50865f57f1e4518ad288f4560f1382827ca0230666ed4899276f0c59430d19b026968d46c6370f8be45029df0b65fe2c0c4ba8f70cebb741b38691bd74e3a1a258bf0cd0302047c435bb500663064023077b08a789353440067c31ef4b3f15276103a1ea7fa59c9af834dad4a600760c227b68a5e062babf9242c35b4746803f8023046348729e1064a6fe3b961da5c9304f3648b4af5df856c377752cf30a49c8c58937016f4dcad65480995eedc12b99ec50302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023100e1b88b75d25b33bd807d0920f1b7e84c1e2866d67143d02146eef40d27d9484e71417a7d04b9238d462060a0e8a183cd023034b5c964485a549458cdb67b72f55807556e4b46faad9eddb6f8e682120e1bf8db82fbec77743b3093a1c671d6ffea950302047c435bb5006730650231008726979a5a6b824d94e635286f8355561e19ec416ba2a1202d7848349a8e754d4b45421dc158fdf6ef6d236c3d70637c0230175476a67c6655b7697334609406dbecdceacf018f097a469086e3911ac27d69407f9ecf81e4dfe831a4d4be1a9ddc580302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50067306502305f386c922323e6da3cb34b2d0d40e6941f83205f5aadaeacff10b8bcfaa08c44b7059d81323d2496598da6598b1fb49d023100f233d2a971c6ee761e61bc30bd2d06096094d0e2df7955f3c8713de3349ccdddda283e987dd7e1e14a4d6421944176460302047c435bb50067306502305ed000ba18c78016e799f807f8780172657b1820fa847efca238949035c4b74950da9821e79bb0ea4800a2256ace098d0231008ca626eebd931c276fd3d85e3b5abbfc0b508d81982fd592c062616583c3c5352a2a5807638d0e43bc34112d3c8c6e930302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023056c73b4feff118b68e276d64ba34f41dc3e96d32ff14bf13d52051829f8a60cd813cf499b511c75de97078c39a34a95b023100e45c1dc0b9370d176fb744e16245def1bf631462f8c06706754badc82a00e570c87c6677f6c157bf164b1770db86cf290302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500683066023100d91049c6ecff8d86559c190b2b302fc06bfc38ffd6a3cfa4d01d49526bbc1a08d9398dbb6687ad8351175cbd4203dab7023100854480435957e1e4990e96969cb6e231777ea484fa3ac7c4ef96d78412c972be6614db5cb7b34dbecb012ca82d8328a10302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50067306502301f2cacdc684d8ee12b57302767824bc3f1a0fb25e7a7ed8740dc44d93e859826765636b6aa7b11360355ff3bf2144ad7023100a76658580fbe2635fdec988a422742415de5596bf21ef32302875db9fee3932ad4fb80f32c406d141b892a99f1a327a80302047c435bb500673065023100d8ab85c07aa3afcfda3a9d633f4cd366da1e8510f0d0ade754894fc408a5e43ad6c92d77e21b41d9a6c9d0deee87dbab02303ec5929415f76acdd2d97f82b84234335fa92d3235734797aeac31024e6b055a222f02eda185fd80dca934c8e359600b0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50067306502306fc6c506f340ae2a21d9cec5a0587a80aafbf2a1ae9279fb05da721a2811799763d935d8a5c7416bab1416627b8e0d680231008c80873d1d72210632c6cc0b35466912b63828c6a4402960adc846362bc80eb879d734230c15af1472c1b008fbdcce350302047c435bb500683066023100921e44c091b6e44ec67a4592ee28b880685f55905cc9ff6b41013dfc75550ad0a00c930b9a97901d4eb1b060f1c9f49a023100ded3d9e08c8f76f14897be67793b8ac3114798b6ff3a0588293a2787f0522268f129b692596a5fb2bcd5446fa46044300302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023100defbfe606591742c7f230183b1f48c9bb84d08afd24bef9b00be15f749dca1f6db3cf76e0785bd279a66dc18b8d304fa02301e9ca97214e9cd9caeece6c7381dd939643daeacc47d960ec7b2e3838c502feb31380a762a618817fad2650ffb4172840302047c435bb5006730650230025414f94bb23db1bcfee480626bc8a596b1ea055e810e1ceac1babbf254d068edfd5297e38d58636ba2ea15574ca27f023100b3ee7e38f81d6aa77141582cb8b881397be8a2ec2fbd24ad1215faf332eb22a6456bfd653a22022d4bd4489abbc1951d0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023100bb2304ebefb7f5e05eea9688ca446036e1142837fd0cc3487423397d9bcd07837ab3052d43a761d7e482a8d61d7fbdbf02301b62dddc91ccbb3ed34fda738780b21338b3a3d1180d661913ff7b3988725a698c99e18f09370f3a4f9e73d7757c0bf70302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006630640230258371cc2a40244ccda406272842714c84fbeace1b2d6117f0e2b3e572d5b1898d4278f14c11e54c08d7d395ef0f1b0c02301d4f13638fe1295f514e349119011eba608a5909cacfec610eefb05e2aa9edc9185ee43ab9f940eccd058bd084cd0a5e0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023100cb41e661874fd98102abf5ddf8ded8ea2318a9fc1e224de39b69b88fe0a3aa3911bd7fa1186bf177d079db6de2dcef0702302bf07aacf97a333f9d5bb64793ad81f9cc360578710736ec706e37a997b3a1acc1762fc063ced76c67be411c819138d10302047c435bb50066306402307227c65b954d1749e525d7bab698ecf915d4d3c64ff391955ca82f6b443016f74e2467d00aca606315882ae425a819a102305e1bacd60e4ecee0b9b3cf16599c344ea5e195a74413528a765f587ba5271e75c8d8f4ab50c8d6c6ce7f298ac5b69d6a0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006730650231008722267415fb65f7b86a631e92e4a4028066505d87ce906582c711c5a71061d8090d93b8458297e3b6181e0c0d0281e2023029523098afe5a964811410b0575e2249eadf75e216fac486c84e0f8cc705e4de3d2074a5be8417b362859cbe76bcf6650302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500663064023021180dad44f62eebe50f437e7758e43614521d6e9f143671499f873d77f0a5b42f832ede465c8cc2d197c0f615cb6c510230294c2191298707853cbab9134b564d535c0299c5c5a3adf9035884a569e890347cbfdda19e891458d850203ecad6f70a0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50066306402304c68314a6b244fc24990bbffdec8896a230297d73fb06a9b7cb6143015c6d955a3e33cf2ddff2e23ae4d18b3e7db757d02300f804780d7718f268f5f5ae0241e66699ad47adb39c62dfdfd0342286dd78b3d06529ea8c322353c5e572508e07234c60302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500663064023027a7327e87bd7149b322b76ba9dadd10531f509521ba380597d242c3962fd93645597981fbc59a34e5fac86ac9d9546002301adb2dcfc7ed8e2e7d528b3d7c5eed8701b58a8a18697911af3ba249a993c5e2f5091e571604e63caa9e84ba9dda9f540302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500663064023041f10fca359f397d2f8365c2a6d95656c0d413eb0ed6e8360eed887d3f4c1d918be24252df0b5228285726055779798a023064009766cbf1e3aaef7a56868560bb3fb2b88a05da4c7b1b3ba1af8732311d76a17e909e7fcda73ca1938b4483ebc4b10302047c435bb500683066023100fbfb95f72fcc56e9c067de6144a404296782e60f8ccbb7a66db87f031db9f671cccf67c45e7ca2c5b1ae6460690cf3ce023100d9d4a42233b513cf000bdd9bf223a6082161b934ce31c5d633dc566549679aede91d292e500acfd37b0be774144d01d80302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023100981dd22f1755c96d245dd25f4166b42a559b6ce727119e67b2db7c22fbe04b6d926a13ac62180212ed09500afcbf384d023072fe88e08ffb68eb1d36d6c0865cfc36f80ee2c40b42b36d2d93d18a4a09fe273abe2f108f5831390f47476e42ba8dc60302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023100a6096091758fd99a7f124503f726bccc7a2f1bf531a111aea5ae955f8176a1fdc66076c37029b4a196c7312ad6f22066023002333d5ddc2f125a43999e1901f7a384e5333544447040f8d83e35f6195482070cdd48efdbdc37dcf668f648252db8420302047c435bb500673065023100bc5420000a7cbd300a814ef75e5b8dd26ebffd14c7fcc58c8ef6c7dd1def48a3db4ed2f7bc253d82d77e5d67cc11ee660230176568f4ad8b5d786eba7fd3465ef209fcc3c322d9784a005dadfb144afc5844c75283165a430310bad41f40b63199340302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500663064023071a63ae241a5b77ef537628440746229d07eac7e85d85072a09019c0e2adaae0a8982810f60df475a9ab8e2d1fafa35f02305f650a13c78812fa8b304f1ec0872a3a481c2bc263e521ecb2e97e12b1f0b1ccbe3e0db0df94965c154863a0ab2f35a60302047c435bb50067306502303ebda07e73624a68566a14643598f978f106b28aa70e34450edd02248ed8eb6433e36b16158a68e17613d8988d2cd9a3023100e0918d48d524f5c4a0cd13d4e8cf16ae83981449058435a4e64a1a9ea4ab87adc2889dca1f0bd4191d01146211d7c5780302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006630640230453caa6699d5ff452d43a3fff208bcd8129618c7b5aa97d6425c8d3a558233e25621ca43bf7cd7ea18f7ed079ab8790502305cc57d22abd93e7149b974abbc2fd9426642146900a5ccdbd8d4d1294e4aa866670057c983249943b8ad3b28971df16c0302047c435bb50067306502303f14241a6d012d83ef25f5aebc04c93e6d3b31088322e9b32838d52bc1fbc47a6104fe89689957d946900e22beeda64a023100985f924f5e534770321b7b86e840e867e5e9f5c2acaf1a3b6a794151f1b24b09138e224915c9c38d2cb633dac4e017060302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50066306402304fb81c66dbea2d911bf60c58d221dac9e7e14278f372f3ba074eae301c8beb6f0d1cbcd5f6276bdcf7dea78b8672b0f1023053fddd4002f4e81389f0f71aaca310fad4a51c3274289a4b47f8065cb388a7c671f427e8b898c8f3cc1ec54a67f926cc0302047c435bb500673065023100f745afd96dc10285e21ec0343e7650d9a551de2a77b1df1dce3ccc3f22c2db7aed82fc806a1e058f857ba834a90c308502303d35ae11e616adec9e6b31293abc06efb7c26a5e872870b5acb779a93d769bf4f07aaae2eec405cb77ffe321afb2eb9a0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50067306502306697d376247a504ae137a48777371636c642d3a9e2a2b2ffa8cd18f88ad6dadc04b052dd894119c8926506e3e5659c9d023100eafbc5fdadb55ff1f74fa4756668e1571e07fbe94996a1b930dd721a6613cfbdb920f4e3d085c2a0944625ac76f9e1740302047c435bb50068306602310080af009fa2176ed7396becde5a1bca6a14dcc13d5e109a0467f50269f3118df64c4b3e343400a5177ab838bb612baeb2023100ac719c3ca0ff401bed5f704ab4aa86dfbf522806c5626f5139079381dd1321bb53b047b1f096b07924da763d3e6747090302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023002cb1184070ae00ab18b773dfe6af98ca66fd850c9aafc541f895a58f0772d43ddb422247b677bfde677a29fdc0be3f6023100d4e471392bc291eb14bf801eb01aa8be8bfa606f6cf0e362844f5fc3e0566f8b31bbf1658c7bd29a9eaa92e0a3f255080302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50066306402304b0801da1d955e3909738eaf8550a0148cb4cc7be1701d253a2283d99a566060984b605c6fbb0386aca4d4e7c8750f2b023042ba07bfdef195452b33c8d5e81a3ce7903b71f4f4de3c68cde75993d577d44f2231ca9dc61e2ba52a761edea3f216ef0302047c435bb500673065023100eca76a28c254eefefabb371e0a9a9a3efb4bb1d38a3280f6ee85fa39ed8e05bdadf3dd78812b9f827d7ca52484b7724402306b04400c555ba29da301ce5bbe298ef61ba885751848a98e37c733c91053fa8a62a8949ad6db162c63a48fe91d05aa4d0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006730650230637eb3d980c406e4b8126af3129e9642b4c576c4eeacb11948d2a26a65f442f4d9d3e9128e5a1bad03964d9bed9e381c023100d1f975deefcd16d2bbe7e36a959ae12f2c5d1d4bb66050167d63f581f3b0e81e362be612a8acc5b9c8806f745d70efef0302047c435bb5006830660231008c82ff5fe06758e38a9ad6de805eeeb10a12e8f3effbeaf1499616a05b5cc57224145a00390dd515bc4f8f3f8ca084ed023100bbe0c2d04920ae79b0ef5675c9e3f10a1313668dbe597e8b8773d6675ecfdd2b26537e8290bc7426f27a77d9d72026840302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023079fe4b8abd12afb2c25dc4665e0b401a6cafd0f5b206d2d457c1ef44329e4491cb541aa803d95f9d6c9d2b6c0359ccf90231008083a4abfa81822c34a0e7934aa621c660f9b16201cdc7a914cca0155ddd3e722cdcdcaf6e75aa8552616332909739ae0302047c435bb500673065023100ffc1153c565fdcb3520a6d38a2019e21faec61b16552093b66076f2270be92af14c75367a274f44d861b4dba743ac43702304cfdc62cf441ec1920b577efc3868f7fe905fb8b2c3a4251ff188a4b4d1a7047080e6df873b5c3a2863ea3297e85c2b10302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006730650230750fedeb96eb1f1728eb69b731bf4a80860e861376c12bb14c8d58d221f83f76e8afa61a03c5bc64939340730304dac80231009725b4026cf54321d8cc56bca28cba405a75d9c8f889c75cc8aeca3b7177f2e4895d29e36782e5116b107b2c6632a77a0302047c435bb500673065023100d87e54255699568a8c44c0acd0413c6407e9816f984dc9373ae5541457edaf997bf992929772b969812222fe1a0f6cef023043283db5b5651213d484e4cd8bca7951ae1f496daed645f888ea72bb2d68d0157e2d1b464f131ccb1fb17cbe5c312b840302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500653063022f759ad7bebc24d6722b73b67c2e58d1dbef660f9f8099a44ca240ff2c603387630fa252d619f536939ba1db867fd7f9023031b8c860d53736e487e172526d663348af79dbdab383849e17a7c54db6796100e65acc86cd8986e1133a8fb4c5ea1d9e0302047c435bb50067306502305734db0df72467158884780aac755559450557a308bcc8bf304e40240a53b17f9047e52a226735bf39710e72bb46007a023100d4b402bd4b095add0fdf6cd82d9159814e461c1a1786e1cbf0c177d69ade81aeb60b3b30e83a045edf005671155a557f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500683066023100b5fa7cda86f8b3b256aca267c1ad7ac71888c708f242376534195229c62e9bf0307891c04510d2183a0553c8590af4ac023100f693b29ae3d45b6b5542aa6efbb4f265cbd55c738745cdfe6959e3fbc7a79290401015566da31e06b459569bb04831960302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50067306502302edb5ff543cc8bd1e12776d6ba0b042a5e0375866426fabe5ac86ebedf643907b0e53b86f442a2c49d801c899bfb5531023100fedceb2db8b88c0ebdb1a24db3757c640e73a25db1568c7d01e6ddba7861cad65bfb25b638260a4e51b970b0c2746da20302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500683066023100bc6d8638f1e2fe56a90b623321c064fabb13a875475df999868395213825675515b5b133f2984cf5a01b74d1a2f209f1023100db69773a0f4f80e6a22eabd0ca7b0da9d4660166d63cce94be6ac18b77e38e091041ac2960422e3a75c8074bf8da5cc00302047c435bb500683066023100f61e7ab843d8e3e54a07266f861afdd337793589ac4a3c21aa7e802bf0dcfdac49f54387d48c3fe06258d58dca980be602310080237e61b516381066b3b218ffa0ed8367eb29891ceeb20ca5ff495e911fca8adf7c54b2dfb00b8253e3faab181279c20302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500663064023013d515c07f25aabbce23986180187ad70bb75d51dd28908b1a0c137d4dc458736c8aea755e97485e066313f6a403ad3502303cb0ee7bceff4a04f7424fce368f7e6ef95120b0f1ff9694ce001455326ad0bcf20110aae1dfdcb2da1a24b5b5a9b8920302047c435bb50067306502303f066a8c9edf57dc01f351d35ed84bc29ad9a8d22fbcfd716451bb17be65fb7ce29e31f186b81b2147840de789e1ed220231008028f8d702c55af876f001b784f064550080951203745b842694c03c5b34fc5e55155950fb983c0db524d44ad6befec60302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500663064023024a597caeeea4cb8cc81bf41919dda8c38991501d8c3c216088156951e83056acbd1d4bc8265fbc2811b0c5d29f1faf402306caa448c177478dc3bcb382e26901fbe93c55cc9956370f590054e77836372562eedefdb4639e4f755cdb60940bc239d0302047c435bb500683066023100c8ed4f07c83fe37ce6e8cf1341fd5e0487092f681eb28dfe7468f21769f65f6f587956de009758fdc4f674df1eacc22f02310084fda0e5870af1056fdf85f3afcf337773cfe04f1414747713a5c0107e74be15d516be8a91e4088af307a2373327d3850302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50067306502305f9a410842015e83a57a5abaf6e2cb764eaf32dc74b5ddc2076fdb75837993f070e39cb5d360e988649f6489a16243f002310090fe06d5af923ba4aea81cdf869570765e8de9d5366b87479b2eb2cddd426a66efd7d5fcf8c74f0a3c91adbe64ffe6d60302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231009b7974ad5cfe7e29f54e6954767eee1ed0e575787f0249079c7f5a95d697d58f30beae5a95edb827bbb84463210e6adf023100e7fd5d65c41e7ac2e2ed15361974e923f412d6915510b1ad2d7008527ab40dafb1378b2297fe492642948fb9e1ae08cc0302047c435bb500683066023100ec2fcd33f13f1e4f20db455530f441cc0f6357e6087597460d12ac44eda2579f9227deab1a1f48eef63957e6467624e9023100d294f835c7beb7b01a921305401daf168aa8008d3023082156231254d3bf6b0588c6e100104e41506d4a5b9230ec0a260302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50068306602310097557f5cc2250734f32f181de01ab8ddceac5f3ebf8eb1f4173fd3517a705b837589edf455b87227e81479c8a5a257bb023100e3fea77daafd56b14f423ca0a1dddd952082f38bad5adf22d3654ae84948f69a6ff3682362ef45465a7150e356aac9a40302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50066306402302783e2de30167e36ba9484e712a685c9351bc22a08fff8029c708437b4eec74975626e406ccb80abae12eef7f6162e5f02302561bca593fdfad4490262948009ff433cf3e55c224f8a5fc28b9dc2628f395aba56355178c4217f2f43ef0b02c166500302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500663064023071c1b44ef13caec4f9748a38e89fd32cf4ce563e52a45b841a171a2c189aad0eb0e8371c562793e62ee2450759c1c410023000b5a43048fd48245f4cc2ec9c6e6fd777e7f44309c09ca09c5410f72b15c0f36b247e716fa58a860523cc3f142a19f20302047c435bb50067306502301791cdaa613811bf87f4c17bd71bf12689db35aa30878adc26db13230a2b5a8ccacf0d8e8d785eb3650c7ccd3454b0fc023100c738cebd883b5d406fcd15b0ed592aad1d1413a7870ce0568b8bd404449458c86190a9ad8eafaadf92117667fcd4f9a40302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500683066023100ead8cc5520c977792638fcf082875934d0a71586ed0e16d0e533b96b7affe1a3ff7175940195b2e511f864844d020320023100acbca04626274cfa60ebb5740550df6337d973b97098c5dc9b9a85d2e7fdadfe4b83824d61df5611144da043b4920a9f0302047c435bb50066306402300e492d58236e6ba863da75d1d59b62c5ccbb6da3785580c1e55cf0b27f233bc459b6036fc62fd5badb739828cd5dd1420230166bfca7b29604cbc7a3e426180ed4430da9b5dafdf9d3a0ffaff58a011dbc955af2b486286df67176b0dd63e2c10b1b0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006630640230106d08ca031882901947bd17cbfd216af6d3ff37cb58b597438242a5218d3b4e609623fa5c618da4589376589d7e7e58023048082eb5bc7328c53bca204b3299ceef326dc43c83cb343e383d9c00da6ef1e487949a5e5e408e61b63c1156d52ba2450302047c435bb500683066023100cc12bbe7a5e88ebe507b56b1a39f42d9a6bd99ac559eb7ea2b1a068d513f1de9ac71cc4b1450df5c25bb016a6c615a5c023100951182ef45cd7fa07e0a241ed4d6b344b9993f2629d0b77e2556b29c913d342d27b4864b215eb7aeb0279d3acc0b26460302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50067306502304b2328d93473b10a85d2d621dabce7cbb42ce7dcefc4edab3c1f5551e891cd1f0e7e5babfe995208621c6a3327871158023100a5d6af5e5f5f912a29aff39ec2bb251ce6b437ea9ac803f8a0f961c11d03a9127e435e094ccf9a8d929184585503a50a0302047c435bb50066306402300e040e4b537ad5d595c8dbeb333c6a8b44d72ec7e603f3457a99cd3f6ec8c5e448ee76f9131dd8b40175d1ab153ab053023068ffb878082b03232a4dfbf38b1c28eee2981dfe1e66585c1bd36b5733e72f32389b12926c5e9a2bf7f1b4fdb3cfa98d0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500663064023079123298813ad7e80a1953372f68b11a14b51ca2f0d6a0751ac1f6becf96a31491f348e7b80db224945fda70f4f152cc023052d95f867d1a7f9828cabff3a1fd449c698da7fb340f1c2209d8609b904c006b161bf4686a80073ada42c51df8cf0c760302047c435bb500663064023003979bcc28950a797cb7ba666b874adf60b29ea0fd13df361d8f98d6d60b6ce45ad0c48912667d46b247499d593a20cc023012f9e5ce0db8a18f6874166c44ba98495e79805100c9f16a3e9f6461929df3f14c885be0954c47c9e90313ced6a45eb10302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231009a1ec9e7ba862c559fa7eecb492a7783848775500098cd0c352f99f64d4697a0628bcc0f936e0bf1b022cc72ff5f05fd023100c38120d7168e37fe7a42487df387ec72872a92077edaa2cee4e708888728cddbab0e0ebdd42f7d4a8b7a84afe1d80d5e0302047c435bb5006630640230193f8a49ddee6f93bd939d6b4d1eed25d958eb58b1e1450c60e59eef79928526319310807fc6199ed309fec6718a779602306934b1003d257c3bea6e76093ce30cde39cdbd80a28313e5aff4e2acc7b065fd2e3db8f5aff4a40b88cd737e33274b1e0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50066306402303a4547b09c308cd8a108c265b47ef02afb169b5de4ed25b9cac4dfa24300b4cf02355644e65cf0bc6e14fd0b0e1c12ca023018f3d3447baf4b5d802555878590ba41eddeea7c2fb65c63e12a6b0f0cdfcec4b7a58baf04276ef2a33f4cae093ae01f0302047c435bb500683066023100f83abf699eb0c2ddfa752eb2a94c134baec3b0e934951ab9f000718d09c8c358d4eabffcc266a4a970ee2c96683d15f30231008acf01635e79097d97e4a9b3f17474ed10bc3ea699c4ba0243c6aa2ed32f0fd98dd4cd2161692438d329264ee61759330302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50067306502305a2285a749bb2fc8321cb87c87c6d8b58af27c3086839110bb28bef891c71b79540c3eeb1ba7eae211788f5ab79e8a79023100b69437201a8ced75c4c1d95a4dc28c76cce11cf416864d53362225875901a584680a30e2dd9c03911042dca7bb22bc700302047c435bb50066306402307a0e8972153b4cc2d99b4ba230adf5405d893d243134f7b5725eb5ea4335f3f59111d7e3c34fd253b06c4a28c8700805023023771f2f19870e4d5c8f4537809f729ba9081ed4e27dcfe5390be34e41137287864e25b217d6b3d8b22dfef21b4e81aa0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50066306402304475b72589be31df5f7e9d8a6b736130effbdd688b4a56ee63d63c4fa0b1c762b61013ce3236a242e7970511548ca58a0230089953573da762ca829eed3d0b28f1e717b2bc73dc67ca145965189a6f06c3cbd337e14a8b76f9dcead2a8ea640447450302047c435bb5006730650230641a3879e4011c62666acfd9b7e7aa7c6e5430144389e2ef83cf4b432068e00532781ccfb549dc1b2d1b25306b9ad263023100b9f7a922e42ea0f31867d8f5c4c89a1e3a4e205dd0fd7068943725516dc40e6e7af111a48f1527da2eb466681e13118c0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006730650231008da59d0e6fff188421f84c3f7b84ba846fd9ca49e294eb4f1358dc8b0dd9360ccba51eaae6a81a17a8e551a30d68728c02304ba2f4b5d5b34b2fe6686e808152ac421c80b41d97f200e9e1806ecc18dc4afad72bb58a11ac04cfd99f1e1bbec301040302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023064c9379a1d4c857062add5338db074c3c928759b4e52237c2e135d8c7b5bdb72ea0fba7bb5a9f548d25dd4f9ecd160db023100d7e352a202ccd0b35555e7b4a82032d5f56a1636c733a3754f674590bc7f93e913d94153fb29e059d6bb7258b69255240302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50067306502301ae3162cbcc39c48e56e8e43ff09860413d6a2fcc513abb84a355a114dd1b7964a14a9ac527110b55d66c26fae3a818c023100a6e8eff9eca707d7e2242a42b603fe34141abe1f265dedbaaa3e4806621d47d07af44c72db67198b0b2c8383a3dd27e90302047c435bb50066306402301088f8bea9e10bebac6dfec7f98fb809dc7ed95e44e7349f5f1864e857d39a48d24584136d744fed841694e5617c7338023070888995bfef37c7e961c25b1cf79397aa4af07207533a296cf166b0bda5ec06489508224fbbd7390de9c2cec3fe8b910302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500683066023100b3d6e16f360180812767b15af8fb7b8beaf1a1e5803b909b7bba6c599fb81feb578e5fe4560d273356658bee78992a59023100a29e84efef6f75949302de1836b36927d0973b47267a091977a58e961de78995f31fc746202daac16fab52962b615b370302047c435bb500683066023100fdcab81e3cbe59c01c00079b97df133b43c60a3cea4467ddbd92e5af8905a1d29586d48d1d9c1e851f5f1d82820c5edd023100dfa2b182f3c1670d433d3e5a465d4bd2e7e3af871438f1704ed9d23e3dede1e5e852a5461b42543e3d800fff495060bc0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50066306402307ba327c9d0213ce84c3cc2273bf0a583cbdde23e35f2b05e103d7fd2c427a82204d54f1e796c63a47fa7870fe266cff0023065a210022d2429ff90c43144c9d6832a9babaa4211c41ba81460e12e0e8b56e2e266c425d59d83e1da47ba8954d7d7e90302047c435bb500673065023100bd1584dff1257e09012a4b6d4036b310708db36137005f6b8209aa6eb231f6aad3d40a88b28418afc2d6f46f32d848a7023033e0b167d5387750146d63f28ab2cb2b6aefac0394ffe10de973519c20a0581e85f776b2ca294bfb06c6af72790c924a0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023100ff6b1271ed4b3b42f4a0d6945dfbf6b15315937e356affecd4fa2abeb6853d61a4a891d56858300d3a7a0f817aeaf2ae023017db8296c0b08315c56060da94da098d6767219c61529ac327758b3a4d8f3f287d351faa930852eee752bc8a3d7705ea0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023100b2442558b2315b240190f8f20bcf0451568e8911352642c066821e4421266a14b028af5b543c20d19a2913b345f393f7023046eb33df170cd41a9e0ef0e4dd61b1047c1563f8ea07f15ea7f03f95706815bce86b55ed40f34702f62180c8bae1ff020302047c435bb5006630640230336ca190e25a1813c73d0e95d8cb2670fd2083564a33b2c7b08e19ded495194da934d3cc5bc4933430258543ef616eaa02306d9f33c9700b93519feb4b0db467d7a8ff6ea56238100ddabe4d1a3d1434f0ff9269c1335d24d799aa33062ccc3f53820302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50068306602310098678d9516f772035aaf3b93cf94fbe849e0921eeb045b96a3b41d6e08a43b4987157f963febd581f5081340311e8df90231008aaa887f3836adccb3a44ef1ac246ea89b68cfb464d028b9c810affbad611b9e66961a511413b386ceac5e51f50e21350302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50067306502303c417f5e0d9ae9baee4d8512fbb6f85092b26ecc1dd39ed335b49826d69eb0364b559d85c691935a4fd0de323bbff322023100835499aa65902d84cd8eab7251c7e161643e50c4b49fa182804899a670309b18a6f7297e6324d4eb71f34d7adc1a46720302047c435bb500673065023100bdca51fbe5daf82380731601192474fcf9399a00a399bc06dcff8dc1c36224b758cccad8d09dced104431e355677abba0230496e80dcc96085f5807da765ae6cb30793e13c5da90c550d42ab7437e7207fab39d24b6885532d35ca1a104f6bd5ebab0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500683066023100821f77d13b6b4f1662e16bb32596ea859a573d52633082fd835c257807d95332d043569514758fc7feb7ad4d75b13c90023100f61ae52967f162da38526fd5b4dc12933f5d958ee17df5a67e7c7cf56e5899d78a79145a7872c22800305f4d33964bb70302047c435bb500683066023100ddb4a5bafe81aef05b6eb446ee910847546a0b6f0d04a553f26b4d4fb3f5c8ba09e28e191d0ed240e8e13df596665327023100f1534cea631c1ff080024a0eb8e2a31599f3e9acd3b4f8c5f3d6a65053f49a2256ffb74fe13a857301006374741699620302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500683066023100bcaf52a602b1d5dc41d363c92676aca94acb40f4cf93f952d3bb0714334c2808c6123cc5343d347bd16c96a9132b75d3023100cfe0f2654bf64ea2522ad8f4fb32408831fb2a18cb300ca8ebb82ec23ddf6d1eb22c6b2cbc437edbcf18f0114046d20b0302047c435bb500673065023100f3ab5174a43ab61b6079b4841e74c5e0b54a6ba2a284b92997a0cc6b69463eed61edf4ef1d3fa91c54ec622e78df126702306738c7efd23d30171d9a4ae5ce81af3d8718f8bc284518021b11068102d48a489cd0e7aa7bf6d8326e65014c7c8bbdbd0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500663064023053ddc311c00e369280f292519f1cdb3c871d89dd6a23e96163c8b1a13ab898bcd699cd80d339414cf4c98e7c2a4f08220230322e078bcc205c7902f12588083108f89678c4803194b85e9423b71973cab2642781dbf43b3abe806e02dae92bcad3390302047c435bb500663064023025ce31b18d07a7647097927353fefff8811e90d33ba54af9be34226fcee8f6c44cf235e645ca8ee1be1159b29b9dcbf502300612381176f0a365ba410f3adf00e2e364c9a61b60c5e8330afc05462640d3f3170b06147f8fd6369797e4b131ec3dd60302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50066306402303f943e9d6e70a70280486f3a752220637bad95896dc363af213f16f06ec10880b0e096dfa971f12b8cc7e438ee887093023024dd4c5719a554c96ac6d31f0aff83530eb05bd02b4c3f52cdceea15ffefb68bd1eff1cc39c9909159e2ad629ab1572a0302047c435bb500683066023100b983da6d3d2077f54aa26b105953e59a9e68fa754e1e543e2311facfc53645a4825df205ce478606fa30aa1483bc4485023100995ac70659b0363bedb9c6097222d320d56db70919ad90058fe644facdd1dfe302e293ab853d20fd4165634db485ba620302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006630640230043a4b9fcdd88b5532609285672058df031d9216c911cf1cbc8bd167378ce42b1d5a81c44cc34467b9878b73121a1e32023007b0058f9775c8feedd4fddb035c344d946b8fc9911501e99dee00c2f342f81b276902dcaaea175421faf331fc7ea5df0302047c435bb500663064023026ea8595569bdc37412e492854b347e7b0fab26eb9740be785d66fe8b16699118cbc525385057572e2a7910973645d06023045cd97a7bdac69b3c518ca2b3d8c5551af8e1018ebdee2377e0a757f57ade581ded6a292ecd880661eaf898784fbc4330302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006730650230272d23ea1683419252c379e1007f1d6288d3d2d90e2d1adda9c6d8a01f7f0bb052fea36a595e847297145e261fb5f91f023100d815a98842b9dfa9066bb0b1654c887014d1f8a8e15f00ae30d21adffc09f0904f8d99454878079cec87d9db115c58400302047c435bb500673065023100aa10be1ad6bf355ce14f638e5201c2a7aa9bcd0e2251320907ed91159b3058cbfbcd0aa2a9f956f79821d4a20476e29102300c66614cce20c7deb2822cbef66ff8186f40fc677621843e41c8bf4e8f046c8ae96d3b17f636e55122baa792f9f718d30302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006630640230676279bdcaf354632fda5ca89051daee6d925f0e84f9aac23fce52d5d7e77e9847cfd857c4b920601245aaf952ee9d1602305a80476700377e099a9e94f5681dcf5d596bef65866ce055f5e4c82fc27011ed98c9f40579f3d87b6401b10a590a0d560302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006630640230260249b5e8fddf716418cdfd73b42233566a38f7dfff2db74cb23c6e2fed1df02c0d105ec6f36b89962e460a597d768002304e724609018e542da9560dcd00181434556aa743d2f04178297d15c0f725433108ca2a78f36ceb7efd09110f8e39aa6e0302047c435bb5006730650230411ec0ed00f2b54e29678298da579de02e2591329b79d7945100de3cae535f25d77a61f595cf77e47f8d51cef43e098e023100bab863db496e81d5201550ad462b97982f55121b01af2aebc1306a33e51d1839f6274971f7a63a438016b86ddc5a76940302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500663064023046d609719121fd0388f303cb671fe222a3377b6d5e369c297fe5d2c3fd75872ddd0aeb64d7a688c09b47fee01e864f4a02306f70b055982d75988ebdbe5d7e89129829ec60c87fab5f302e870121c4dbe5d9561f205f9b39dbe4b52353fc5ebd50bf0302047c435bb50067306502301cb371f8d3a5a18e704def24eb9d8a5f5b40b1420b54d4dfdd1e3a6ecb28cbd1d9b166f47d7de145be8aebcce7bfe2f6023100fd08a190ddaf1c6fb41a7f62348917ba324276418a2ff2bfe684273389aee6f5bca1294f02aa213b36ae25e1e1d114b90302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023100fecfb728bb6a9f6d1ae5e741a82ab3a955935b0b2fb14f12d284ea1962a69518b284cb4e0b12156b729d10e64c996a4e02302748c922ef336666f6f9d340fb499c5fb5583cf208a53763ac854083359698e014b527b4b6e0f289c4d183cee574db780302047c435bb500673065023100daafd59e384463275a29bf5afe37fdee241572c158dedd5dc4f9341b98e387960ff58a78cafb1c0a57eeeb0d2a755d2d0230448317e9ebe50239f550aff855ed818dd3583dfbcdde534720455c266377a5d449d40debb6f6d552f10b0a543e3ed5960302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023032d039fb774631cb613a8d4b98ab79cea3c3f0333ac516c332aede3bedae25f9697e8a2b6f4a3e9db1c9254f4c9b0c65023100847d8c7b294e75e76823fe99f54fdb7fd55327411f64788c807893c3d23213f1968483cb27b1564b1e6fa51bf6ed23870302047c435bb500673065023034e210e7f4e3c9f241b5d918272e4f958311eac8b53e4a1912cc5d056a0e85d6713f5af831398c79f8b8875bd5b5c6f7023100874c32f9c21faa2f6ec0613d6c7251d3d0488aec8a021e9bb71151d9c3a95f9c96e5d3d2dd10e255c5135289d8f5bd950302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500683066023100f823899da01d4d80637a7c01cec84c8b90efa754808048248f36a4ba5e72324e9906ab35ae928615e373e3a3afdb4e9e023100bea45864a3e9e71b7683936e26bec6d93062d3b587b6093cd7b7cad98827804e4d1b48b47f9dba48e06083120d37939b0302047c435bb500673065023100c41ed7c22edeb9a81fa5f040201871afb20a66883d1b8b76340ad16429a5ece233a9002318437212ef3c7e32253f1eb202304f6e79aca258a3f528ea0a709ccd8268b6a1d660a6b627d4da5cd6438c66092dece107d714eb2a8a1dfe2f4991cf0d750302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006730650230736c2d7d7c9cf90fdb446b8e99228427cb7f494be6c21b9adeb79dec71978a49f3526c24097eb7511f3e1461427d5d5a023100c0235236577a556f2db139ca290cfe8a8d551d9430c1e72d4eb07c89b5256cec87f75067ee8b8004ecfaf9b0ff1feeea0302047c435bb50067306502301e51583eb9e779c9717523946a157f46c789e1112eeb7a98e34963f0ff55a6167c6c2803785c123247b7ae4b6563b890023100ddb0f9c96246a0018bbae890e621612e5b081815fcdd1bb45fc54dc767d78263d084913d582b098be47679b5bd4f7f6e0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023100a7d53c7ef7b7b0f21c6df0c9c7a638fe57cd0a178b9c104184f13282ceb631e5aaa01f015cb2ee9679bb66e236106806023060c0967adc2be94f38ddd653dacdb2935c99594df61b1f6d1c25105f7686f3c83d2da46ac4acbd75712514e83656f6170302047c435bb5006630640230370ee3e6e4092b08be68ccd7ebf7c35b2a030a407d9b13c5dc4ff764e8a305f34f3cf15a4340e6ceb9958c1786f810340230684e4229a2190f285066c4bc94c97c97aa0071b3b662425b00ffe89cede5824fd1a2ec3802aa654e1aad2ae3301bdc9f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006730650230628ac4934831b28f70aee34c8840f33bf4193f2252dc011b0625112221166eaabf67139f34db1de935f340c0e3c0f87d023100b29a87b76b989279976ce8ce18316ffeff57798695a339a2d7a2134e4382b768b021cf80bbef4d837492be9d9f22accd0302047c435bb5006730650230085a7936575eb1492c831aec21e421b8524243cba1d4c0f83b2d0ef939360b44027edb9a51a60588a69ba3462d26f66d023100940430825bb96dc4f20aa9945ce766853f7220f6a685864b96e9746ab931c1c30f3ad5dfa155652f4a9f92c9126760dd0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500683066023100c0d8fdb0b3632239e023dbc61c395196233e71dddfa76fa2deb3894f9e1635ed2a5186f66a8c4d3709a43e88e528bc11023100b1f6cd3bd93466fa4fe7328d4e23378e62952bd606561a3cd50122cac124c26331b284500340edf8d34be5302cb23b450302047c435bb500663064023010f1554b1a2f89dd570b96838b4c79d3407c2791360c9e7b1a4a7fcdcf05030c3c744508b08b956ce4a201d3e60c0304023076e8e2fe41ee615ba049cb29dcea273b3c321a3d71fc860abbd1efa1537e03344be676e1c87c40102ff3f0ed5b815f760302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006730650231008ab6889c53daf1ddcb673836ce40606db66ccd9418651193081a9e43468fe8edf7088ae984559655a3f95e49d15584d40230084796cb7d9ffe98bb0a3cf8fcad6c14d934918d21234d2e8233ee78d5be8d7da6d37933d035d0daaa84111f95f128910302047c435bb500663064023010796e948f5b61fa47e05fee56d83513e84c37efd0c924cb7d851f7fe5eafd0dc09b7f4112ea8651dc40b2be7d15580e0230168dc15d617566a7c3613b23e9b88737a1e42f0e789f687dd9b82a8e18815a329c46e86f7d90756de8f474eaa3ad2d440302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023100a44e32f31a9f4d8e19ab0f40a2d6a56a52468b19ef038d9fae3864b4b1192a42d543a9951f9b320d64dbb04c59425819023018717c72ea18d84b414b539d676ebeeb6e814578fadc0baa9c2f117c74f01a1263a746081c0f350b2b70a6221ca779710302047c435bb50067306502305d116478276efc47046e3e507badae63ae5932e2adee73516add4002409d1762afc6bfc6994137a13826f38ef22c9a38023100d4d9ea5780e0eaa32f195e7715914ef75cb4a9f64e0105b79cb1ca8834bfefb6c9df7dc98a2d4240ec5aa05a8d941f860302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500683066023100a55960609dfca97cc20ef06b3532360db0179d3a0574dba7bc22c83f7d366817ef2ed8f8dd4fae9f6256c09a880b9499023100be05d721e4f935984fa4493f642eebea91b4295e44caabfcec6c5199d4d20e8f4187b1c628594094adbac290b2be021c0302047c435bb5006730650231009d07f468f55270b2ac80ce83184cd33d546eed658bbe1e4ad20a69c5311449ff15366c22fdeabe404e78053fbeb2fcf0023007761ca162bf165ea909f8a58b8b45a6dd5cbb5f47523999b98caa0552acd5f0049f11003bb541771e109d5165b7ca580302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500683066023100b466f7d44cdc9a9001cf3a7b05e5c87fb7b5519bf0e07e7bc4c49bb7ce3db6dedb3a757831b54f1472da669b7fa74eec023100b7c39117a052e04dcaad52495fb155580369116374acd965baa6f4a77ae6252690ff3742a4d7dcd5c33d4b77a071ec530302047c435bb5006830660231009562d3319fbdee5397998f8c1f1f05f0a4ec8ea2cd6bf5347b84360aa9b249402a2f2942867540660575b8c6a1e262ba023100e7395ee5627f1694d35bf7df1a6dd481136895382aaa74c590577c6a697401804a09f3f1576cf19623107b1554e8390c0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50067306502301c479c40081eac96c6edfe173b9cb50a80169202121b6b52dc61b7b4f978a6f4a47a457b423a19a2f7f965e8d7be55fa023100a80e8794bca696d32e7adf62451b99eccf918e06f1aa786f31f9c152c17a2593359295384c185d27a4c2fc75d540af0e0302047c435bb500673065023054a4d830aa97ca49810511fd6d7630a968d98e3ca94b961eb35303cbd92a5c6db5358771bbc18469765a6e0f21cf56c6023100f0edc0b78c58838fc6de7f15bd25289584449ae6a407e6e9aaecab58ae40be7df392b3951807830e7b1b0ab6fe122be80302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50068306602310083fc956a2b755497d3e06bc9146b861220cfd2aab8d86d80ca69e66242cb064825e9198a90756ce07ca237e11ab42ca8023100edc4fbf0fe0f490d809e7c155169c15f21155494494cda7f3d35cb73e03f47f6f68938129d67588d042d5b8182537fa90302047c435bb50067306502302650ea07348996e9c3c377846b469cbd2dbc660a2b8cfb561d561f5bd0b0fcec229cf31d272fa974174ff9704410e403023100e69a1afa3f7842133fdccd355d659575c80255c49adcab14229b605548d40b015987f8a36ebb50d404798ee856f030cc0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50067306502305c06bea4caeb008d1b501fca545daaa1bf94be9bc765489049454878f44238adaa619b63c3b1dbd000de72bf055e9bcc023100ed6ee2e101e0a0c23788914d4766c51b9156473a9dbe5a90ccfb9d574703c9ab9868ba5e9578c4fa26e692b37fab7c860302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50067306502300f3963ff408ecaaa2e0fad67849152f7acec135c4018bf99f0889021c4bb220b2eb7ca6d57aea237cf1d4e345590b922023100a251cee3d4a07b82c2576e6c49a78a6dc25da9fae5fd20f0534aa4663d33a8cca63e29567659e3969120bede4c0269df0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023100f4ae97bc4dba18ede0a255652421007b5930e826bbef2873f51a464fc85f85b5cf4cdea9f0abe1fc6846fde09fbc49bd02305193996280ec67bbfe2eea407bdd352c8fbd3c46338218dd3ea069c13a4a5a14f61aa1b75a59718b5113b9ffcb7503610302047c435bb50066306402305bbf9e230966d45c5920b3e1b8da04ffffde2d9234deea5f5b391229f65e11780f43a05c7cfdbb1473d2b238340dda2a023063bf29cf708b3691804729f1676d1d67948d76cedc9cefab41542b400b6944d073cc1b9b1d1b147d71881e5291654fd00302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50067306502307486c5517e07808e7e797b4846597e6364804614b19526de1f929ac8df3ac4691ae7bd248ac20f6469838181c40b9cc9023100c3ff9b8b12e3ea59ee0ccc6117422dc537ff4453f8706fdb4fa0ae0450c6e57239ffc82731fcc167a5ccc4e9c830afaa0302047c435bb5006730650230757d7ed5aca41f369d3a8dace8a13165a750c7fca66dd23fa5710d9326a1a5bef350b0cd813ff00e1db38b7a621690e5023100deee89ac802f1a7bbef3b93a90df7de2544d2a449b06cb4269092acee1ddbd1401206382e7c581b9af8824d0cf8a410e0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50066306402303ddd78fd8b3d488a20e579a17151cdd385cc2021b023c005e042475376db506f71a650f5500518764237ded579585b32023071ed6bdb24d7751f950ec4a997a3fa7b289054d3d18cb58dd9934755029efb2f313baf724342a83ba84b5ffaf06da8ad0302047c435bb500673065023010d2fbeaeefe8d5d2956f0f49eb922ce7ed052dced5636fd6bfd71bf9889a468ca8461c3248aa5664fc465f3c8b66411023100da9716272ccbe7487c06427a1c4eec570bf03bc6d631994e73c5b71515b12f51a37d9c9afeb2879ccd1a99c8f317fd100302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50067306502307d213dc6e566600c7e77006340842ae7ba5e52dc471be602aacc48f2288cac92c3ecf6d0612118e0604920cdb6fd0793023100e6156a0b7f4dc46b044dfb356e4d32c32b0cfd338b0405ce1e86b7ae4efd531f3e561a541ae9ff5d7995e97190c1b6340302047c435bb500673065023100e96bb7b508f30baa0eb2328c12ad8df9b7fb4b98adfc4354ed0ced57aa7ea152da6dadf3c2da32b26b5cc4b9be177988023039dc295acf7c1db2b972358448377928de27854a4c9bbc491130f8e12d73e787f58cd6a82d20dd81e3457ef755961c020302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50067306502305c55d2fbe7d1d6e6c041f6ee8f7aa010938613d41c5bd2e16ce4a0884843f1c42d5a2f9564b7eac4a1eb89538a78cb27023100cb0110f91f83f39cfb3cbfc5ee3106a810a985a15a30391ebb6d8c2ed38f2e0dadac5410a9271976c54d3f3ff69d213b0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50068306602310080f9f7fb36f6b399e291f01936a4ea0ce71e94909211a2ececc0c1c7c945c5a066b072bfaa4c0922dc9998c80da5f3ce023100d888a324b64075bb9c923e8f3134ac81b0733cd9d0ed817b6cbf73e930e157f79b82440e087b56536930af8211aa8c6f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500663064023054ef57a2ace3472be943aef07ee80e1bfc0bf62653b879e0246462aa93cfe7b498c0f1b6949caaccb68b5bb3c5ddafc102306c9ccdad704addfdb332131010b6a50daa71bad49f2ed87bdec1052c01bf88e43c656d924809a28b8255df940ca3fa250302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50067306502303b92859b1c62db7083687813e0710656b7e3ee53bbac9c7a89e13c7a6ad697b405fa553f5739979b5af3dab318d44adc023100e259352616baebcaf010a55120775a32600aa24084a6cff52bd19a98ac3f473e425749fba02fe7da286206def540a88c0302047c435bb50067306502303a9ac216b00227f7ad1ed1801cb70d924a799ff5df9cd16685494076021023186fa511e128b4859e0f95208493d3d907023100f7aeed935fbf60296c60ec4bbee002d54b1221e5359dd8c8c7c50304f17e5e666d2458c3d7b6191a96971c4c34c32d000302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006630640230612b02966018146908b39abc85840fa5d036188f63c53643c5b041bde7f1cd6672f028f77daf70db8c7351d82f2b1f8c0230340935e5ccd7d348805c5a9063bd7e4d1e08a68eb9fc9b5d18d773bb165724e35b4f775507246b8e4982dfbc10ed42660302047c435bb500673065023100d7f2c0f87db6fe8c99542735f56258c9841ca5f7d9d9d55852f92c15af9700ce00f43a751373a8ce7ecb7c8f8b5545aa02305bd531956db6fb506cac5b8790f2554ac90f7f0de0d267fce11808c97bf24e385a8636c1c76b0a7c31e3df99edaeed9c0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023100e7a731978cc23c5c8b65bdb3efc5b881e6c3dc49cb2314529d71f6c318d8a5a4f88cc8a1add7e787e64f1790a068b1690230028fd1267c1d8079710f645aa664673c6f52079bcd6fec3748e12b2704107a9fbb038e8fe06238c61fde69782fb40c2f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50067306502307a0ed9d3eafbbf1d66ed5ffde12a10163a5e49b317e0d173d90086ecbac51546ea951e50dc53622bfd9b37150dbff2ed02310083e6d9ac0a068d3f36f7b015eedfe771d566bb3c2437b537cbad164160048777f87f1251d74e8b8ffc75c2e4f580358e0302047c435bb50067306502302b64d1d30c0afb98d983077e6e520bf079376c5f4976044e8740e1f3040eb04eb44d0111b8a6d371628cbe2a1fd17c12023100e4184e17edcf065d8977e13d242654eef5241b1f8e08528322358600ec821fd8619387d2a47cf3a1d38ad4f94f969ffc0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50066306402305e6951eb59d719254bb9bf318f0f6668a0fefab1419ed86f56bbb595cb5b7008d32798ba8c9c192da637d0625311ad9602302e5f8afd3e19a345fc5c2f5dfeec80eeab81771d8e8d2b71979c6739e208fa2877596b3a51dba8d6e00b4bdfdc01098e0302047c435bb500673065023100e6f5f6d7e47e06586e7666761390372719492965365863914242a0f527ba93d61dc4b6c137e1d9c512ae39c9ab52b74302307783bd76125be0f87bcb667a97c22fbb08110366d03a2cd65d792e49fbfac82dcd6e45ead41ce08b7baa51aa8d0f45700302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50067306502307931ffc214cf44af09ae9a9114f2c9db7ad36be0af21c1314c1f33bbdb8a1385d76e69bbcbe62e5e1ae63b57760c914f023100b70931408c0dde6721f9385cb34bcb25020159dd1a1c058d1335bbccafed69222da2684663e743eb143dd169f58075180302047c435bb500683066023100bfc1be01552ab51e2a3049eec4640410ea9b09cca8187a2ca25047866d73c8417bc7294db4184cc654cbe0f732c82192023100f5aaab40af458aaa7013e3d8a5023d173cfe64021e84fa74874d1a0fb44f85394c9e69e9e88dbc8e090248bd4598ceb50302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50067306502305a3c73759a15f90bf68e82f6e33af3f7e30c47903c79c099ff3df4d8207cc2ddbb0c91c68603fa3569980b2a7eee8333023100cbec010a55f819ce09d5e47fb4f448dc4bc67b6ee548d0e87e621a528e1ba2bbb5e108482aaa98da50b1f907a55346670302047c435bb50066306402305b8b0b0e237c3033fcf67bbcec3a75d4b7463631afefddecd7b9ee55ce40ebd358436a6149a9e2364593fecabf90087c02305cdf9caffecef45f2dd9acd88c5b979aecbcdf69f3a09c84aade4a1ee83a24eb02a9ec0ac3f786227aa9475339f342420302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50067306502304637e3769454be95b60b8508d2df7178b4f67e3e58ae17ce8865e7e31542e27227250795d9708ab8ac96421eefc0492f023100fa9edbe28295632aa21eaa00a146fa3ee46904e66b0c7e35e8f1dc6f3a1643342e1bfcff729003991eac7c0479ed36ce0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023005fe573c648d1164846a681ebe94804f73f364aa25bbb38bdd72ceca5828466ccc9146fb38abba77223bf8d2ae93098f0231009a78220edaa639c37c7df1b300616c081a69f8d393edf178f32e8e0e81844c8c9257ee07ac15b427b1e56db0b30a31020302047c435bb50066306402304d2a4eb826119556b780d49246712900ce3922b935c152922bc46b144db4aceb36b659d01ef0ef55183ca57c5b8d8323023069c89446a4f1d554b4c036349598d28b9807af69e9abb6a2297bc8743c72b4aa4651e90fcd836d1e1f8feb8b2233bf160302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50067306502300e5721283c130744d678f2cf0f91c8b521a679045d3dfe52af88a73fcb05fe6bbd23232d9cf81292fcabd1e20392df29023100963a0c29334981d1d889088e039c9290f4b272f0875c4a640ed7979c2f670a047046e77f616b3bffd7129edf86c174c40302047c435bb50067306502310098271f9ab5d236633d3231aa65ddc40904c5f27eacbea8a9b6a7810461200ee88372410200c5eb641b462a406fc865d302306ce86619d4f1437c4ecb3d0a616fd4b9d0ef2b7dea18b342e5c1b92b956b6f114ae6fba993c6c4fa6692c17fb7184f8e0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50067306502305b813305d9b9043e684e60cceac00ace145da144341666172161317d34f8ff9ff039b19c2c6e3f6bb3012b2189513e2f023100ca8ba648f69ae40e6de91f413394177e91c17fb3353640ba6dfa8834e49bd681bcc979eb3bdc2b2bdbfff9ee3010f8180302047c435bb500683066023100ded7f0509a83f93c6d48b9b15538ee390610880b7fa30f04e0d7fae4981228547c8c11aec7eec1607fb44a71994c9efd0231009117d77b5d5b19c4407fbb26139a045d75f99a88f72a1822f471f7e83304b7dee46bc1956ad14c5fa79eabb45caeaf980302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50066306402300e322e2c22f53e0ed29b646a13ca1b2ae59148e69c6c7e9c952cbc645d9d45f2b450bebcfcbbc7896e921642da913e1b02305c33bccd430f3dff1d3e11895e8b421ff0c38996ea6c06f4f588b82d6747e9c8af1dbb470bc624da2e383b7212aaa4bf0302047c435bb500683066023100cc42fc061a7f4017f98aa4399e057b70abc13314626f84aa9d2a80c2d2d5222bbac722a216f5425b46d485a15d14c7050231008e4b37e4daf4006d875da692f3360eb92622d554f28fbc61865bb28e37882fe4d5744bbaae0ce6e7682fadfce01049860302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500683066023100c23154c0926e2b4886ea2070edc083b66fb938bd25bc5d23bd6c7522de30d4c275bc5f5994cbee209c236e065f0beba80231008103eb03b8ca8ded36690642473a25e30f1fef7c95eb0e140f55d736701f25200624c0c7e82991e77c5c98d46f53aa3d0302047c435bb500683066023100ff9e477354a351191d3fb168871b931dcf4d7f166ef432f7dba50a9199e489b87f223af06679ac7d7de505a903c62b43023100d7996127e0af86cc9ddacb197db37e812f664dfcd042ceec2dd542edca3ee984256cc76a913d0473c1d3efc7749693a70302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023100b2b64e9624df719f082c202f3ea17622b77808e76c48fc2b27451174bcc4a3a2db7b59e89aae7d1cf5569a5f50905e4402300574b69680e8f36ffe15002a107acab6e25c784d44c037ec4bfed90b048acf606231fbf1d6f2965aeafa63288cf0be530302047c435bb50067306502306f88f9df49ffeebedd5a84434843dfcb503853ae7898f0c2cb45733fc91bfa2e299a3a1d9e8466ba0302361b31eb638d023100f8988cbdbff246a3e8a773cb95372a3514c1bfa942bb13015de9642015db8176c4798bdbad2888a23fec449c69251bfc0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023100d69bf4b79e5aa681e1a738e8ea327ded9bb019d018b2323a7e0339582f1398ea63a7fdb2eef660c05992670fd3a2f16f0230306250ff9d916d9f1a455dbb07888743112ddf5505d834a2be24a56e62a44177f7a33dde9a2d8005621443100ff961d00302047c435bb500683066023100a7c7dfc01029bab5828c1ee41f44e5e916ca89f4a410402fdf13747446216dc92a0c41af448cfaa86d9b76ae008b1e35023100bee3323bdad8153d17a688161cbc2b33a184139ad079fc4d632ea5fa067df22eb926886bebc0dd99c5e62fa352c675860302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50067306502303165d78101407a5e5d3c4bd8d9298602f43da6fe89c82c7c3dfd54dfaddc578c1b2a15f9138a31732bc89c74e1432365023100952f8c309f75cb555ab97d1d2975d4e661ecd79c7611aa1e26a4500fd28f5012fd6f5ee42c18de0007f69c985162affd0302047c435bb5006730650230415150fc099b29d7fa30c4461d7b27c93d31b8e0100360036ae2eb202531391bd73aae0525088b414e91bfe08d032f1d023100b0f173a3827f8c5786646b010b25f5dfc4bb494baf02db088ee0ee8d2781107e06d83e7dc6565f4b271ede9160b54e050302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006730650231008a6be9b992c2dad1be047606cebf99981123ba806eeaa0dd8e46785456fb92d0baace77fab244021f4d7f61a04920b8202307284f58364c4231bb4aed35603ed24b7e0c7f15fe394369bc14edbc5c122f8604aa00a426eca1818c15eff01a645724f0302047c435bb50066306402306e5ff34c5160c2dd545913a5a0abf6ab0a080db896795249406ff857cbe883df7fce6a4ca52f7894e0af66946de8841a0230545ae3bf0f7d011fc6657e5656d36ad93e99addaddaeccc72b7459d3a8e182763d018b3d67c3cc13fa700e57cbc70a700302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50068306602310081cd58592e9583bbe390245d1a5227ec27abd93de1cf3e8849b86842dafb14f4def276685f4eda96bcf7c45531a2df6d023100fef2f7be114996a7243ce4c802cc5639c307e3b03e4cd5ed2f8df7fcdea213d9cbb334001bf7a5ba38a40e6dc77ca9ca0302047c435bb50067306502305f5bc756c16402898857a35bcee4e8d0e7d4d142957c1b96e1196b1a77a983a2ef722f4dc17e2050d03ab9e517188cb1023100850138126a201720b7879e58a0f81dd1999bc0bc4e4c984a3cb796eeff8a692e91b1f100245cd3ba9ce364ff4fca45480302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500683066023100fb2c65762f7851a78d435a8b6c8abe615df059d7488fd524735c2ca31ca9ddbbb846de7ed0152264db179afb7fc6e6f4023100b8ce04a41908be157e4e91fc132eeebdc4fd85e2e8d1e80a1d21325c473848b513ee44cf1cfdadf971473a5a0ac085c90302047c435bb500673065023100c828ba48caacd1ed193e1aac02b8f6beb24ffb3d518faea637835df822542bcad4197c6932e2d44de4556087ed8ae89c02307d7d8125cacb28ecdb70a7ca8b0c3b77c00db344103fb6a077088affc7a3de03b4ac9c92bd16bfd540f5ca0a1251b92b0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006730650230459bd675195554c2a48a8653675439799f06d958f1a73708619eb61763e4eaf1bb5b507a4433f1a31bfa11317fbba4f1023100878ca523c98d947fbf1f800d02c05a08b5e6be8b850cb2b53d8408942227c9cafda92ca603510ee1eeafc390dab8c95e0302047c435bb50066306402304fefa2c7d6a1392a21d2a31c3130e699e8faff2676c202adb50e6b35a6b9f198885c923f877eacbb7c069615d32713260230155a8e24487cd8038e8f82aef18657fdaa95305dc5b890f55677edeb323fed6b4ea058bace1532c7b1b277c50242e0a80302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008c45b8b60a65d462bfc1d8cce0f965d5fdb92945ab944cae5f945e968538ca0a800d38ce54e0b8d0f38073aec13f570b023100dd04284b72f7e700f9fbdf96bf93d26e67b454fef6ef1b67d902e1a2de3b72df31b2316ca0d740adca3d21528371d20e0302047c435bb5006730650230777fcbbb1223ab8ce6f0fa32aa0cc73d4cfef27d7f1e284bfe79c0bd91d5efa19019fd66d650223d4d95469382ce4c68023100f6b5f0d4da21fc0ec82e7180400cbddde4cd6896c43c62fd098538630299bbc83a74f9f04574e6e204a99399b16fd8ce0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023100c567f29e93a82c6b52ac450d07a54043c7524ab3850af1ded8754346734872be5ee0a00a10faeb65f09a4b8b8086b11402302d3cfeee6eb29c10ab0384dcb5b8ef19d64d63d1b544363aec7215406e6b7e8d117900a89f54b559972f1c1c758365260302047c435bb500683066023100ea47810ae753dac9ca7858e020c40dd85ead5c1142b4a448d0717085b2711fa4e1ff9cba62583f1ff1834350cf6c4b53023100b51c6a8b4611131e4b7a4aba8fb2fd352f7a04b605fcee04dc6add8ee8bbcbf051a9613b7c97621206dd78d2ebc4705c0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500683066023100de860806955b95c175eec4a8cce1efdadecbb7019c046709e815fac29abb7ddcad33fe3bf17da72e937a253d295f6692023100d74d4d1dffe642d7183b4fd09c44e00183ede3aa26ad8f2f2775774d0a2e8ff5e6517be2f1a25e11448aae1dbbd583620302047c435bb5006830660231008271cc8474c8659eaaef8bd71a5f88defb1614fd2a0def22ee81b5b8402cd7a2a2ad15f1be7377fbe8f2f01ac46cf7b2023100fa9f5c6850cdf1b0539302ce55f9944e4cfeee63f8e851e1c3a660d2343484bd6658027dbf0ea3af4d3c456e316a12f50302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50066306402300b60747b2323ca0a0f8e072378e23d31ebcaf7f7460a2c23d834b43ed6ee7c1ae9ba7421b718ce703ae5671ac4f2618302304bec9f209335ec66dcd9b9f05138b8c5c27fcce5640257f60f48a8697ce5e991294ab6c30f87ba316f31d8729fe0ea490302047c435bb50067306502301a531e5de4bb4e40f53ccb7cff1d4614a06ea495a253e7dda2bf2e7dbf0ab75930f6765275f4e65268478bde834b2bed023100b0d272de543ae067a77efd99f3acc7702435b6e7cbe660a96e3d6a9487f0c1b4c7c4640762661335cd59754d89fd3c2b0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023027210fada331ca1673fa17b32fa2a5916b1b6d4d40690358d2ffd722ded04406c99dab24ac62f160407cc6ad4c854b65023100d865daaf381f9ade2aaa7d0a0c9a199ae64b3b81fc56991e9583dc60b045bf0518e20e7e163252001899e31023a6a8a40302047c435bb5006730650230176294ace7f62f5bc6e8855882db9b79985b789eb643fdac4d97f3c7f294e894ae4c126e15f8a677888267c37fa0af0f023100e92a3a3472560933f8ddba5a55b15f4b311e72ecd0230daf2b55cdbab31b0c50bdebbb7589cf769234861634afb46dc70302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50066306402306837f77a6d70631fc97a2212595000290d1640c29a31c0aeab0c5f888018deeca38a116a4c89dad6c028dd0729ae6b8902303204236fb228f4adc1bb101df6622842bb9d24ca83b7236277f160bbed6b012579bc70d23ae91dcc8d02414633cab5fd0302047c435bb50066306402301260f3b63d18964e30425600e3654df30db504dd4b61cda7686c24bdad4ebdae6667545fe79efd24692d76f3d5cdbe5102301befec626efff49f3d01961e2c151609d3d8e49ffccdb1ed2b27a56967afab4e678a5cbd8d5afb0c0005a6c77ca963bf0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500663064023018adb0004c31fa4b13d27abcc07ecdea9ea1e907a4060acc38e25e5927c455bd01e0d642cb3503de8e13d0c577f4474d023054252ae2a8344463443f53470430896cd956855fd819942fc305e668647c0bc34735c270ccf56c2527e95841f98ea5cd0302047c435bb500683066023100c1576292338dae55b1c409e48d1b65b097cab28de77a55aa030b85d2472d89f0b4ac51e1c692aff4d12e8caf9db5d1f4023100b7178848c9fc4f8739abd04e4fcfac30a218fd97b86829b4e5f0f4d941effb0c2b917c572ea28d25380257a2e5d5b2970302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500683066023100acd660797ff31842f8bd058121c80bdfaa787f3c567917598762a2ee3bdf304481828c687e3718421f1c9124052485880231009761406a2a3d35b77dd023a26b754a37ffa575fcea673ee5bff477b3ed06f18b6173c2f41e989f53e641f037e3a2d7b10302047c435bb5006730650231008f1f4417ca67cb660d4e6313822a1b94a9e92ed66cd3f770e313c36b2e879b60ca5fa0390e5d5381d46b43d216c1c72402306f2fc66ca0e103a346d43a81995e9bc2ad93007c3186e0159a9fb87f9858f893746a44449f3d7dfe104773246fa0ab1b0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006730650231009f269161fb20a3c8ff85cca0dae8b3f4f6b81520c631e03514bb4be05a8b0e5522715314d50fd11b2a9910fd5c84993b02302d17108f85ee231a60076c7f51ef9b5fb12f6a885e225bf54b43455a131ac940d0a0d20801e880248ca73e0c113abb590302047c435bb50067306502304bff40728ce978a3a79bd9f07438a19fc6a503ea1f0b8944d1193fa9e7e3fcae4e4f0ec3f59cdcab9fa7ab80e31f2731023100bff7a73e15119a09cae8c4e93b5be4325d51c9c09b29d981e976b54797aab7e3db657d6597a17f9f54a55b61b47c7ba10302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023100d8a1db3ddbabe80e1e9cbd3664ef6ded0bdc5272dcb346391ed561741e92130d5e66d97aa18b7c7980a40bcb1fc54c9802303b5f86d24cb91c489a00a3900900a0b25667cd605bb3ffec338fe5cf4eb9ddb60029ab02b9e9c01179bafa79c23a593f0302047c435bb500683066023100ede83c1724c30748429d421670aea63db8b0a235f51eef76ec8764f550d969c0ac71666c2adf1c1b25ea683a3763e152023100b6ebd2ff055d0b8460fa6e995a1a77d38a1fef461d0f550d902bf0f9b77210ce52c4ea1fde3ffe45b1a598d1e7913dc80302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500683066023100b17eacda0c373f38784d0c8449767c9254f033ab8d3d6db4d54114b29259907a10831f998d74c02acf12587c5fc1fe320231008aa43c3a4383655795680ed7f01510666397657ff264391011548c204271e4261dcfc6077fd0999d910cfb8564e302f20302047c435bb500673065023007c4068e60f292da6a1d72a76163cce7336e794430d18394e622acd00dab2a6f8c00e2c180dd8d757b161429496f44b7023100901da13dbd89b98f6133e75d5cc3e065b88c38bf6c00024627f845ba26fda5ae36069f2d14bfe3ef0dbb444bd9a1a7dc0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500663064023004efcfc5b7697ac8a138a561774d928108d608e1ec513c41b676e77539c2ab4fd58184f334852b23c311e950dbdae93502301a07da3b9ec37fc4d637f1a61f020429d09ba95cf2e20e7222095830f1d7f23b9cb647b679e10b99e50e0e9f21e427680302047c435bb50067306502300d556d2c94341eb9e7e9ecd179869d7cc768c9b45fdccef9e8c2e10fe60376019f7d0bad3c6564004c6dfcda8af3df18023100bae470847b520d2aac8012f4dbd11f7c28eb7517d0319811f4364f03f76ca4ef57bfa1a2ed87c4df65bdd3e49298bf420302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50067306502300a93362daddb65908fb03b362e9548e75814b851edfe5259d160a2c2a4b5b9acd68dea3ff54b4f2ea0e00c9954cd9e76023100ac9fec5e77ba6c7da79cd258a7f9322644d57a015f5e8844c49bb4ec93242561951c450e472c99f2d7dfda5d9416adaf0302047c435bb500673065023100a6a07214d46e8bbd9b448748c23fc591fbbe5c561edf57d2cbc395a3129e99d0a6a7f9f7106127dad61cce646058f8af02302c84adffd8fc5de114de77e0594366e9c29b366825e94c08a8c33737a2b21dbb7448863c1ec95250e9aafd2044b8d39b0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006730650230161790d8fb4d5d730dc9d36a927cc65ed99eec9813356938509849bd0133f32fa2690f7551567687d28a85251e08e716023100e746b79bb122e27004796b18f39e5d5fe72806c856f379121a00fdda00b260a0d4233acf89cc87d424bb1f49fc3f054f0302047c435bb50067306502305569226218ef54bc62ce5e29b9725866967a9a8143450a192ab8619a64dea2bfb960507c23482744e82d8977fce6c1cd023100b653747e62510c2010c6e9e4562ef3fc6e4036a3fcd023c048411cd13694183e50d2fa97288258742ad506d85ce16f6f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50066306402303aa5425896fe1f6910d165957e57105306595f471d260dc9a703044850e1d73df0d92d495b30feabe44ac1d61bcd1561023073ba7fa2a750e96f577106b7000f103e48df0134b256bb073397a4ba31afba32a63b95efb1d29b0273bf9b073bce613d0302047c435bb50067306502306cabf4e9b6dd3f697de3f1d847695ac1cb5cf087f72c926afa7a88c0081f2ebf152cb8dd8527c9ebd30260906f4eb792023100a44493b1211ee749143949a67c7802c8d58f6b9bf306d275156334b935cc6e4a2240dac97a4d31a60660760a167dd9d70302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500663064023057417a7b392c1044b518b0d5a2143d2c5303cd17ab45123d96f0d42e6d7c59ea9aa6bf393b1f38cdfa60429e6c4e0d400230710821d057db0fc6c7ff61c76329fdee920927e6644405a10413d4d0a6b12abfb38e0f0077bb039a1ec29820393ddd240302047c435bb50067306502300333cf898f12ba8041821b528db386c60d198b945825aa5296f99b4e52a31094e5563d114d9c324a1c7b477e4b3f65a8023100f76192ff2cd5f70579f87167a4ba1d157fc0d7758200bfbeb3d2e1139daeb24191271699d0a26c763efe14810b7d7fe40302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50067306502302ba3a0ab34484965813096efadcc6fded3a4857bc20adf048248113056df10e9fab82c6733e96c7f58e7118de5d1d629023100ed669ddb7441e163449d50b54260f549066f0d45f4e4c8a9d81650b9fe761753d19d31dab4b23578bf9864f2c761662f0302047c435bb50068306602310094141f147c6dcb4f9f0e527b985637a8b80d16053bae0abbd5ab0fe29a41da1824472bf8aa67b8538847cb9566de4085023100927c30fd41e410840c8d8242d9f99718c5ef85608c46b4f7ee0ea5e141c8ae7d7ee4668fa01c76806d8b1d69d363090e0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006730650231008aa951650e8283030b304f57cb3c88ed66c1ca744d3903e2e8ff949929aafa45ca83b0103b942c34aa01241e2c3ae3620230609de5573b92a8873d79857f79d4bf69a559aece4eeec8f30e4c9e88b38b92ac28631b4e1080d7f325bd24204f7b1d810302047c435bb500683066023100a733d3674ffa7c7bfc17a482cf8ef9efbd01a311f67c37cf0be58359e54fe9f39dab15a8dab12b89c3a06c9f1500b373023100aa65b331e114bf8d524de57aeb1e934d547e06f337b522f4031bdc71288c0ae78083ea97c75f8ccba2f28e38e8000cc60302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500683066023100bb7705afdf83e8d6216281bf86ebb4bf96d32b99de4a68ea1d5293ced754a41cedfb5b1e221b499b02fc58b831664357023100845e74c08e2bba312d65fd91385f18cf5f425de49a40b15192f9a2b282cb5c5a9727a2f12eacb97cfed387f089c2fa4d0302047c435bb500683066023100c905579accf3ece7a772d5663298b1a6d6fc2e76e21e62f08b8754b34794613d62e07b609427f7805f5117497d35d8de023100df53ec40d523ffa586346d8e72c867bc2ecfe2e113c9c3d6317d915d6aa37777082ec1795662deb69cf1954626292ee80302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023100dfc1a57eed0af32e89bb9338f9b8d918c9e9e084c8274771e29ea31a970020d4c6afc68cc55800c41541ef74d462a76c0230624715fcf4d6e10a57fbfa632d412cc2b5b0ada58f2f90320d6f8dfc1155444af06f2fc39763dca7fed145751c191c020302047c435bb500673065023100ee0749e2e582ac28cb75d48e7bcf521fc1544c40c5136ee3c4dd041691b038404428514c138c4748d5ae37c36770f03402302f2b16f90d7903c89a02b7236377e69184485d0e37f28b1ce201a77bc34d8d318892685f10dbf5931d73b982db723f8e0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006630640230072dc79004dcfd671948e63f0554f8119d6e4c273fba7b35183b8b2b1fdb4ba317d3a8a93c26dd9c7f5e3c4af0342c520230175004d9a4e92920564d71ff7de52339c912d455c15545dbc7f9bc4a5ede7448aef81effe7020b776113198eea0a366e0302047c435bb500683066023100d5790cfdb6e826daa60b801615cac6375c24f96febdb6ba84a8f824d877c00b6bcbad8f11c6b6ce44a53b96deba42027023100ef89947f9714be26b58eda6347443cc215f84647a2c28e5e8d49f5d09beb82e77560838b74cad2806b5ec29fc491439e0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500683066023100bc6c38e726088cd24f7b08bb9c1b9f1112190abb04a3abc363e6331cc8a6b9853086da82143a41688b06293c2404a87c023100a6a1bc57b91d10e807695f3e78ddb65c5890a5778523a5e0a38ca781d6990b5585c787174ebed9dde4a3fa11448205ff0302047c435bb500683066023100f3881719d2d13cc4fcd18c9206e1b7ba81338c93d4113d16cfb0b47e52c3fc46ff12f0f2467428146735f9be0cea4d79023100bca513fb7101d4bb88eedaca8702e4cf2f6b7cf1633ad02b6ea594d431cd49abe43b19bb6d8d5950277b39a38f7ce2610302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500683066023100efb4f7873a42abfbaa2085b0449d8200387c62de5564f4e6e40cd5c746010a0e23d1cbecceebec8d21d3ad2328fd3cbf023100eedb494b275efeda2c647b5c1534c327c3947582adeca5a0a0db5ef0bab4c471736bf3522f6a2164aabf5afe7a20beb20302047c435bb500683066023100c97ffd6fc1229c8eb6fde3139f8149eb55529e7341c900d11fdd2470f56cdd15e4935bac2110c9d85e71ea24266d991b02310094840f9749f5c2a04d7302759427a33d7269aeea35d46b8e91791b2489695f1388680a862c92e1e3dd3076321d424d610302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023100c2aa1875e74b91524cd5260735ced62b37c976a72d52871d650f282809425c3d93bba6f6010cf3f4b758e642e9115b190230201dba907eb4ebd0b09552971aba60389fddf8dda8029e73fdc9d4366f4aff0d3687c10c5e4497d9c3cb583f44f0fc650302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023100c1c891dfe2c958814aa8d90fd88e0f871f05c28dd7745541ba5ffac04c19b924e66a76797a112ba6a0e4ac8a168034fb023042800b3d189ceff69c200fb2b865f543cab7ce3da6421f35c881e0bd1086b9b9838e7d61042dcdc5c27578755452c6bc0302047c435bb50067306502301f91f7d557c27cb2249f2e11937a8eef497c2e9298c89fcd3b3a40f75b2d5b6887ccb7d31d62817b55b009a1ecd0bb92023100b760ac8ad7121ab26b03f7336bd6cacee03b993adae2bce1676586838e77b71cb2b757a81bba1ec42b0975b45815b8750302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500683066023100bb401807f0b1e858246fcae6ff31f0976478cf2d297e7b67a84d0b8a5a801cf5252f68620f18c62bf825f43ca6262427023100b3c47f63a0ca1674bf988f1449337074fdc0b7478379e78b3983bced49fd3b3295a2be26b6ae2855b67b7cc06a79353e0302047c435bb500663064023015982f2e7b0e90d21bd0fb619b62a0527cf621dd35a13a9ecb155f62165008d6bfe3a6cbf3bc38b6d1c07716f43b996902301f6290f1849cd1e46b1518d35e7ec81f54fbdb5ccb8b4c1bb9442d961d1765a219a1ebcad141d5598488e01d3e80c9220302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023051a7e7729ba929113c2004f6f99203798f042b149ac20a959f1c80b72551d56df5c465a913b90a9895d6d1f2d3097591023100c0bac5efbf4d673126a1be8f3e456b283f13ca4347b581cd4c246737724766d6d812d77b05025ab2e53ce11f8964c1ea0302047c435bb50067306502300889cd290f582b46a327efb3bf37070f7bf4312cf33c894c195711ce4b225705beed98c607655cf066fc072dc2324b5b023100c0856aa28ad009cd33d8911015228a6a63778687e9a74267b670ee4128698e37aa3d188fd737307b5a93371fb93375550302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50066306402306ff111f265fa77035082278725327e057ebe18aa9fd9c2dc5e4423ad15e9c7fdfc0da44c7f4f9e412197db06d8ee8a4d02303d3b26bb81f293fbee7a722727cdd4a89684dd78378d83418437e2d9b6dc6947456b3905f3de67d1b4ecbd52a21e8a1b0302047c435bb500673065023012604e3f624f1c191d75ae899ed07e2f79f47762d484137e240cb8e8f300e3e2d11c804a8b6da2819703528739453e81023100ba7928f9a05009c6b12ee9851d22b84ee244a42018d7e3b1035aa90d9986edb610dbb5c809b4a57790d0b043f251af440302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500683066023100d792655de025b77ffd721a3d70dbd44c9d766283a8bfe9a74fe292a7c220612d6650ff5ea3cc84cfd9b96253e161275b02310099a20931ba0263f3c37d39780f563be3ef2fc043f2dd2cc1e9b1ff887ed424ea18023401ba3b7fb870babe0242b828760302047c435bb50066306402302e0c8afcc74dd6def46669b546d50d58da0815fc2643d443d705dae6f391d0d4f34dadf8415509d2d7bcf1646371129e02301b2d1560eef61d7530be0b1cd64957b4352ed0e66018457d1b8dd35a0629713a79935feda9ee51d571d94890fb5849270302047c435bb500673065023100957c5e686f09230f602a20857c77f3395690291469d6b590360000662ff77f026708da876f0be560ab42f8ea8053544a02304debe72d5b03a38744f168c45be546310cb97be59ca6192a11e9ba71f052dcfbd98c3218726de34a0fffd194f9518a850302047c435bb500683066023100d468bd44c0aea55136531ea2e536547b2290ac423f6cfc5f06ef2f7b0abaed20ae6e3aec780ff8627c49e708b5f253a7023100bef02f787707baa0708908a39e0035ce1f228da5a37663d31e0b886560289790fcae8049f52753bd75a33d6eae3d4e070302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023027c6d962b882762f3e7c4e39cbe7ee31973b2efe17a969738be14d159beb4abcc615afb04c7fd294637fa650bd101101023100aceae95bf825ceb51924ec355c70e02f91c5f28098e7e86f038329741aa40cdf5662963eb8fbd010d0656b43eb4ff40d0302047c435bb50066306402301a9eda315f24a1b3de58a397d516822fdd7f9ca4a7d6ee0930b3ace6ec0906611daaddbc432cf85f2b7393620a91c7dc02302a24c3747aceb23ec7ef5e717a0df3e3c0ad773beed6ab2584aa75a02eb16cb4816adc81e4aa12a4c2f647efc366d3d70302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500683066023100eb3ae008d08d4ea7c8248d080d03cba1fff7e654862ac12cb24d15ffaf32b372a1bfd0f46e2faa3b41480c16b6488d9b023100fd1699bbfb28a1bd757221fa6c60af0d3d88ce5a30e7719966d0e35be44880c1c22f296702727929e52dde8fb97fddd20302047c435bb500683066023100df9d4f104b041e09e12fab049cdda9e1fe09c9e76c198670f1ee29aa759a73fe98af48e2d9f5ec3e2de3b2648f9d491f023100e50d3d50b9cfc5e8a896263d18ac015718c0d274c4c99487bd754825673e0aa6cb8ee708c0c7351c207305c5681b04140302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006630640230154ff106316a5504d6ff22fb88c10e8ce56d035fe890c0c7e09b9dddb81eadbc265c831c089fda4dfc0f2086b65c3b17023057649b05186497afb454828278d3e45ec6cd1f16e7f5b7eaf8f06b1bcad7f28e5169aeeab221c1c63bf34eeeb77192750302047c435bb500673065023100944292e5cce5f3eabe38b540b8f9c5f51ee8f22627787a4f183710c0f1f08df9c9db321d0600ba4c1db25708232120cd023065ad969e3c896d7abf546af33e91d856cbb3f49fc46081c627e9884d483171999fb6c7c96438b5224cf9a3b56235ce2b0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023100cf232e0e6fe0563160656ad8868dd42e0bf16a014988502a385bf2ccb777986caf867df4dfbba8cb07fc866e013de23d023004d27d6634a7dfd7ce9dabd38cd0c9d4f7cf2eb16cec59234b43d72bc45cbd55aae7fcd98eebff2f89c32fb3feda96960302047c435bb500673065023100ababee545b49bfc8933b04c2ae2e0ccd94efbf5e2488fb62e9d3eb66be257002dfbc7df542c333a097528f77d932f7d70230771c2c79542bb40341874dc9b8502377a27d3a06c2e3e444e1b2756596983bfe13603f5b7448b8921f591b5a53b08a550302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50066306402307d638fde151020c6c052c28a3a9a2ab77808c8e14b3e6703759aab47b84cf2b7b765575d943b1efb326f23868e2c7db70230535516e5f2a0343a4745f3fc555dd045362c516fe50de0ebef43b97f86f3d77caa8938ca4b2de50245d91359fdf76f620302047c435bb500673065023100c983692150522585bc6861e6adaee1ba69d218056e09bf3a43accb1834c2a738a153b05e9c6d66100b7b002759acaba902307eadb99054c20050f9c147b451c464a57cc721506e65521cd815f8590dd059e665d615d2132e025b2a9f643c52f369050302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50067306502310095c51cbe9247e5673e1187eee0dfb67f5a075eae7bba8c63c668a6bb3eb0214fe0593aefba9e9bf828e9c127d0cfd90602307bb00f2b6a5279684efddde232891ab85963b867ee21a218478ac1431a91220a7c54b77351cee2b29ceb70d48c56534b0302047c435bb500663064023040e452ce2d0837465552b8a22b600f1d785f2d2933d83e70942d96ad7319cdf6e8357eaac96e43a14eea76ab3d7a40e0023040447c1c285cd4fa78b7cebea88d5f65f2c255ccbb08091e5f5159105277891de0da0a2d5c80f225681b243a6e51c6690302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50067306502307cf54eaffef69d4e62120494caf9287c1edcb8cc052c9b7218d3163983365dfb359ced7ec030700dab80c151b37268760231009da3f38015b721f0f3d8c9ac381c728b765aec986b279d776ca007402af3b75dd9c26456352e7eedcb66a7bd7a71918d0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006730650230177738b735d098c757e0b44541e6b3de1641bfb069c59def2ce901653d04077351d5b97bda2980063ddd17a2d2d88fa5023100b9df351ae2b261399c28f84e7cff26fed40e82a70591c4725e452fb813fc7986407d0bc1ae25c71ecb2ae7476a682a390302047c435bb500673065023100d02d2b435d358dd621fd40771cdbce1e2aced9fb3188d28755756734a3f075361dd3bb3f41b67502fe384df6cb557d5b02305bf6a1409c724d1ba42b866f36dbea482f7943f17b696287c52de78dc9072ce0f229b594f6a27d4440c8bcd52de912a30302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006730650230094e26dd8bc3b83e8c60ec47612b8c29f2c677a0d9e4b6cdb0d89010dd15a407e54521c9340ae8a2e0a018baef682c99023100a3764c6bd1b0ad5ee5ce049d967bb1b39ef3c63d2563880851877be04e9dfb97276e5b42d9eea5730fab9487a4a360d90302047c435bb5006630640230324fe444c5761ac4ea89b7e85960e57796f3f7c4a3b238c10d49a5877ea2c9a0c303431fce23fe57ddbbe8d85ba13538023015fc59058ed9f9cff19f9458608bd1a38e424a593e92e8d0d8e0ab892facf8c1037b54132582009e57a8724130fcef140302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500683066023100ae7d481deae50e6cb3452450b1f93a0f036c9577db9ae06364d571b2d70d123ba3bd470c3350e09f3bf5a05a5e28cbc1023100801ed6e2953c8809d75d528d6b57853c37727895b5e415d9a2c20c8304cfdfc67741f8491611920de583170fca9c2d530302047c435bb500673065023074d6c7b9b70c047a710593ef4401ea37566949daf4009a42eab9fc7427c259f77895c740d259eeec841c34ac63b8872c02310086d2bec7afc88b55e16efb41861b56bb68704c2e6bb6860b0034b030ae820e0222ab59d5533e117ca2dc062a186c123b0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023065137b33b72c44531507ee655c90c70c18b8aa7db21f8ad97d6ca83506108b47f550d83e3f3b589eba4a18a47aec3191023100e5adb86e05a33996a9f231f542e5c6f87b4850cce32bf47a7e859d329f839067950dcd9a2024d8bd2b6e11fb4f7097d90302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006730650231008afe8ba64c8707035d75e6f7f2047412e3ce9dbf7e30a5d5d389298abaf9aa709ca40735ecbae5b9574d2b80ea43f0d3023021d5ea8f743210bb879b346a8b52acf5a03180f2c5472210e617cd00d0bc18b40783e3a289825037843c5e917785e1260302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500683066023100819b4edac40b616ba079a4f1b3c4aafcfe3b03e23e751f7d6388f72ee971a1945bacb80312e51eb468741c39540672e8023100b066e77928d47523f19b7f214d26aee3242ebcafff4bb555cf7601e4333dfd48d941620f4211482b5ef13ba5b91af3960302047c435bb500673065023100e97cde32bd9890f14f43e3d200f9a36cf1f120080fd7cf169a2960730dfbb8ca4a1e7fef72c624a8cb9dd23e80d36b8e02303073a4560f5f3967fbfd52ca48dfbbe70a834a7f386eb449d2578030f9f8706e0b988d32855a74e4a2a38147ee2f46f30302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50067306502302199ad12e9d2b8178a09e0cd2e10b0f13d7b143b471f2dcb890fd6c540e93cf64b522f04cbe8e3b9cf8e3ecf4cb77cd9023100edd755033764c7f437670cc826f5eb9753f9f7efa1fe0898c2ecbc6aae534492db3ddb2dbf923d857fd20d8260a09f370302047c435bb500683066023100ed472c49129c7f7a5ff29e4c3e8c2bdb4f9e483b1383859773133cf8b56eb7f7c031f1646685cfdbae3a5b691c227759023100e9ebef1814d377ac831dab38be8b51ae2e3ac58e945976ab7efcd631719e514729e1a6b19bd8c26bfb99d9c484ad063c0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006730650231009b387cd1334d1a3d66988bbfbdf4ef19803a51c2822847fd6d8444f1d593564d586f31823fd56e36eae29aeb067bc42d023020826ec1bd4c637f0ce3939a042b41faeeaad4f76b180b7a6144d38d860db25ab2e6e018a89c9d9586a8c06aaa45da0c0302047c435bb500673065023100b1808fc771d56f37899796a45cfc387c0e95633d804ba0cd0188d2c5b74814a2efb1005e4670c676103e88d6e0113f3802305b0564cfe175cfc1c4a87df4633507876c93b9ccf2104beea9e5752b4b74f965920f9c5b88c2624440fd19c170aeede70302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50067306502310088de69547ef41c397ad6952cf7f402d8c12abf2cf29a3cfff92700bc0150c72bf958d63814cc83e3ceef562a32c5b238023029953165c8bc83cc879d477130e41d370f33cd9c7d66f41dbb5aa57b4a47237e00b8bc022700447b5fd44e0a610ec0ac0302047c435bb500673065023100d45f5cdcf81e01204818492e618f4b3965120b861abac9dc5b4e461da195867bc52da208849c08e0914ca3060a9ad0ce0230480b94f400d87c2856e73d2d3a6621212fe04eb848c3ae20436095203ce0f3a6b8cf663add2b50a9f42d4cea956b58210302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023100f81886a105dd0fd256375c2f7dbe1d5d1f4501be340aecc823852d3a08763f933693935131a88286fa36091329d0f28102307bf6f5ba4156b847027db744f6490acec873c073a6c5e2eb690083e248fb3cff108a533ce191e9ecd25eafd163d6d79d0302047c435bb5006830660231009fdf3e8cdacab58e125731b2914d2ac8874178faf5b1c0dd8be84972bb580640176a54ef8767fdf8919acd755f3f166f023100e5c4c408073524541c613b846fc9ccda23db0b1f1a3e31ec355018ab79ac4907033e3b1e32c5c47936628a393c993b0e0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006630640230282c0747142b278d87ba2ae8ef1c1b76adffd0cdf23522e0c581f345d7654374f95e0dcddb199c75a7947ffb5e3ce54202300df3779fb234cf558a752a125a4d0261388ceaea8f18b6e637cef0a5e5e0cbf73f1553e3ffb927318d3752918b937ad30302047c435bb50068306602310092dd8c3069a6c0a62e898c6a8b149576db44fe9e2a2c3e78dea9c374b62b4b4c441ebbe3d7806fa20d8fe881bdf659b5023100c37573e5545e00177c030b34ce5698f053f2d8a676dcbf76a559f6bad9f042e5f635c9822bd50abe8857eeebd5535b850302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500683066023100e5c946eaac9c10da3c61fc646f7572b3c5ae017cd02684790030c9bfa9bbeaf3edec6822ddabf293e6dd3dfc73cbf4bb0231008771e1707bab70bae918c753af5a50fab19b8dc74f378e48ae232ad13a607ceaaa0f530183548506b22dd15f38f6376e0302047c435bb5006630640230798c9176e68e73abe5f0ffdc8995f9dd124ca678be7cc9f89b9a79ac23d0cd4b9efa179fb5299be547b680593e743200023049ec15d2edb6e407646b9deb49a3530217e5f1f9e507f7845b601a190596052a5d5f9e61db196a76c368753b027a555d0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006730650231008e5c6a2e6d42c89fe6a59c307b10b76e11b259614c4b533da4be7358bfba2f72a5c9780355222c20056725d255f8f8ff0230576dd2bd844b9178492e659d09cb2188bc3dd22136f28fa7fb2979c9472d0dcded04c692a2df8ae87d23e43a0c44f8320302047c435bb50066306402303f2e4eed35929c0a4f80323dac54e59ec3cce48b8e53716f1ec84457b78d21dc32bb922bac0337ea05be6ad6efc3049502305003308b03768af3b507c2d62fe01ca02a9658e0434c064a9da020aaa2fa755fedf508aa19bbbfef1b1ddd4214e7e7930302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50066306402302a323585182e318a69406a26e6f3f94fe00ad8fa78aa1203f5c828cba7007b55ffb9d5459fcbe1594b6fd2fb6aa3782f02306600f71a76a222193cf9f311d9dc1570180fb227f48b632abed0c763133806e23e6468837c923f27858d1a26e552957f0302047c435bb500663064023078ddb973a2150ae7d08fc3890b8108bdaeb578afd578e16213986b68997000e68688d9f7218e2aeadebea67d7f26c831023071cd8b8352603c4a4cad6e78ca4218acae8d2bc25fbd495aa16f0e086c4da3dd790ab6d5c8fbd36fdde236fe543242140302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500683066023100d62fc8b32e6bb951de514462221fb2dc20f884bc332fa3601da4cca44d225bee7413ccae892e329b63aa8f5edc8f57e0023100b85db443a775394deb14ea7563fb9c1f16c6461ba342d3a6b386f1eb707b9a1899a6751c7a3d86e2df177cfbe13ba5e90302047c435bb500673065023002200107b106b2330a8f70d476e97793585421b3ccaeb3c6a30b022e801e15142837777c45283ad78d912d6c18807630023100e51f3da058aae0f65451717de2c41bd25e891f4eb6d84a2456e51f7349ffbe2ed58a4301832ff13289cf38125a7e46360302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50067306502300eda6b051ca465397c52fbd00f55c5a121b4a2c4f82d670bcb239eaff85b457d2853742a9f9727eb3207c61302dbc7380231008ecd975688dc6afb5f030bee7bc8ea620db96233602c21d3851a36385eebe4acafbd1b45690c6ffa873017ac32aef4ec0302047c435bb500673065023100caf751098925c46627630be2ff03345dea5aa5a4568629b2155efbd75b99f2c78b00e8dd099bd0f6ccbe081227a973f0023011af18b49eb6b2dd4653f794a6d80991e04621042c6626c4844c4f6b1ca12db9a51f2e7587ec2a75f4541be6b9dc52cf0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023100cf51d2ba51b9d4eb6d51f6859b9a099e324814ed2010b3159634cb04bb167efd9dab0f8079f7871bc5f19f368df81523023071ed92e61826f4474b07ee6c06a42f0b324985a647977e2bc9cab80becc84e4755d574e3cf053332c2cfa32ad11425a90302047c435bb500663064023040c81c6275520069bbd0a54e6989eb23e25864eaf5dc386dfbf00aef088271ef1c0a73ade5736235f96d4c1003afd13e02307155daffbc737de42f803be94f025310235ac1d834e3ea05d2d6a36f2e8d98571b97c0422399690faa646155dccfa5410302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50067306502302c0e85e634f0fed76cabff76d36ee92b7e4ac5313157cd767d075d3c82b8506554a50dc2c81f3f3feb143d23d80d4ccd023100dc9ce4cb38b2884610a9bb4123b71f218a425714ed82f1e387ddb6974681b414fc08e521d7c2254db561e41e464c94810302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006630640230746d3345c6225c47a0f2eed51f72190485613caf1f335e28dc3031797731d088df0f2c8d15b83b3a562979374fe85bd9023077f73593e576ba03d19deb34e0a3ad77cd423c353721c6659865dec40f5ba2446b288d5bb6b140ec34b14a279cfd48d80302047c435bb500673065023100cbdd0b91d950a9633f84dd489b9c8c466a5632df62eea15ab0458d9c86dd40fe620d0a105cbf9d84d9fa9a694b409bb3023028cf5fe8d6f9ff4ba6a8b5868bfffeeeff8415f1434bf04ca78d9b9757d31e13f10079602c85ffdedca53b1b05173bf40302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500683066023100b771891a1bb31a8e5bac6da52ac9f94c1b2ccc49311896cf9244a58252d5fd752cc5514b216f6e8a666825d72861318b023100de8b1b66038cd64d64e4b03e937cb854e506fafda78019c5e25bdf65bd73ff93a9f46abb8371f46b66998d3c1a53206e0302047c435bb500683066023100cc5fd94d8b4467a316b415f35886a62b1aaa82ff8a1d344b60699e5de621e45d3825a76f701bf18714c71a21cede7995023100c9d3aacd4262b02c5510b492e48a09d2721b1b481b2bf34793d6a18a68c11833b9c5e174cb82babefdc3b38a47ece4cb0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50066306402300b026543e8d34def83d0e82d4637e981397034e4b2d85eaf9f9255167bbcc2f666806074c8d70b7cbff99ae1db148a4202307618751b897bedc3963897234dd705b722010065015af73864516565a4090a65b5ff118496a8d9a94cde2dc90e6f77fc0302047c435bb5006830660231009e1bdec486b38f0f675fb5aa0dbd820770f67ab888942e1664d321df6920829ed54f4ade8dd0945bb5b918856ad8580f023100e35843453691d3637a116d41e18660ed9a7a6757b74dcf27ac9c2217b0d5145f248bcac58cac35c10653afdb463f26670302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50067306502304e7970a0dae1ac47cc0e22f70ddf9ec50a664c91cf4361295fa25a9d6e87eda7db1eb2d1b0ba04cbfa3bc7421999240f02310093feae9e2ef895e3e970ae830a6c1786e16db50cdf8315a001565277a938c642368a6eae082fa5a8aec83fed416a40c80302047c435bb5006730650230707db5bc0e87fd716fa29265707da43ef245a6eeb5ae6332057bdd5a8a217465ac5e48a599b363c19e776e94ad310f05023100f2a74d2719f1aca1ea0329aaffe6cd97d9c7a78a55dff826844d7eb74425ca92115fc2a584283eb3e3581b31b3cbe81a0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50066306402304a4d8efde88e0b4144a7befe97ca2e38d647694650e831f987c8d5f85765a225130b281d5d61da969ab5663d934e574002307db28800bfbbe0fdee0436f651983839f4c07df128adada191d77b10c53d876d5830cde0654376378feab354e2fc1b1d0302047c435bb500673065023027f076c1edb2b78a1404f9b01361d8d457c48c0989e37af4765b3e07e3e42585590a11e1604e0b5a7567dd06b8858c64023100a67e661dd79f7376ace062156fa0d23a20c365dddba85f10d5aeb5d3c95b071fe17aeebf8cd1d02e0edc627fe8cc0a100302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50068306602310096f25f98e9c22c12c86de570c69f67c87d0889f3e57437ee596bd82237c7f7ccadeb37546d42d05eeeadbb6c29cf3a2f023100e38ade048a2670ffdee73960b0adf382b65d0aabe551176da80a653994bac5b022fadc67becdb3916a28a16010b991940302047c435bb500673065023100f66bc560453c3e6806336d8683e456ab0b5a527bdd2a4f0aeb65837e4234830c177ef52b53a8a50988fce2222117d05d023034d831421cc6f37d48e70f003d869dadd47599b173ecce816ac5dcf4395334435abfd57b45043f0a7ac1bc3980ca93e40302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023100f0b75caab52ccd357c22d35dd8c88bead7dd1e63efdf20260fb01a02c497519c83accf96f625e94266dc57966412773d02301ff2f62b648ef04c89111ae3be1be3911edae451b647e298aa7fbc18be85516dd758d106085ad72a4a79ff05e8f3f8da0302047c435bb50067306502302b864dd10ba06bb6194faa1fb23386b53e26290047b2d713eee90683469dbdf5f4b07dd17b0b6cff4308ccb2b12e0a6c0231009fa223262eeb2bd1596728ee40cae3c990ed6e54b0b133c5461b8a13dcb0e4468a54dabb6c56f85860f67cf422b4cbd00302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500683066023100d987311abad1ba90332577805c55e3ea00406086292f4ed31411b4a350c7cf6164de6133086825a5066c0b1b1572b0e9023100e45b5b2d68e26b0e85c1a18cfce4b1bd6426f99f01047bc4ec306580dcffb52542bb51bd48ffd385e8b33e3e2231af560302047c435bb500673065023053d8ef4aa08ab755d4b081f5f5bb5bffe8977c7a7c080f0632aa7e23df86384825b0329b6c43c88ba537e8c48229981d023100b416a2aa533ea1298f5b83e4f8122f6d22af9082240e8812e293ddbd06161c6dbcb8343b180062d5750d8a506215aa840302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023100fb70b101c023642fb7eadc1e822308c95c1b0d5f9902f34d33f7be71a924d90e5b5dd75a9f6e5c549d8ff12e42362bf8023071652d197fba9d959c867da5f0addb317c49789cd40a3e9d034be9a3ba59c8e0093282b0ff21fe111aae22ad68150a370302047c435bb50066306402301c225e468338a2d6c943c582f8576faa9023b14610e0a86bd3bd3432d1dbba52f2ca26886590fd871fd3e1e0b2eb1ef9023072a9743c65e29ee38146b93310a101bb18512d48ed29b1dacb0cce34f6859009c0f9eb268e2e07eabc6306ef40836e9c0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50066306402304f72214321fbb96253ef71b5691897a2f56cf8d0f76b5fe256e49399fd05223f68d9ace5bbe20177262f4da879819a7102300a7d7d50a0f69d984c4ac55021109088ddaaf76342c894268ec90e5961142f3fa4b1b80ad9c6f25bfe2f762e4b8fa6d90302047c435bb50066306402303b2488b5efe423438c95a3cfac31ab31595fc5ef53644aea3b910aa0c881b53387e8e6c2d2fa0a0920980b6d8d1cbea202306d8928fde88d44e9f71f9004c2c6941ecb9fa1133cf82057549ae2e28f30344e38c9bb7df1ec1e79a739a2a86ed5a7150302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006730650230479caaef2e6537b88e891e65eb94b57e38cf29c802682190cb0c3d12fd35d641bb2fc8f062ffe0182606c480d2ee3fb2023100838ea744e88c01346706985c58cb92b33180fa9f2f904cc6f79e97b4b0fe77466158eec489dab736a4ac246d34779b490302047c435bb500673065023029925186074faf8d3bef58e77356b5d8b71c4cf399a617faae3eb5469dbbbde90b5d92b96e3cbff02c10460bda175f25023100ec95d0043a4f7a16aac5400847ce7d3a0a1155aa667061a94898bd1f05f20db127b9823049ee6778e4d5dd0efb6f56c10302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50066306402307bc5b8454fc9a2c9648048db0594a9034fa36e7672c94834c0d56e23538062c2114a872d14031ec0ade7e65f2aca84b80230657266ebfcc3ae8c7721d3f978dae5954278a94524359404577b473f242661af2b83416a0e0cbd1592c1261cb91cd82e0302047c435bb500683066023100e422b9cc8d705ce583ccf4d7a2a476db735ff89e2d50f6c5fbbd4f05a9f0bf7efe77b279b0b3e82cd9e74f668a0bb263023100e57da588c86fe2b62d9bd9eb17d3dd7c8d767aedcbf6a9710825d83075d4541944f90d10434013a2d9a961dd89de9f490302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500683066023100e764d6bb85df77af51a17e8115896f53fbdf69b4812846b72363726436c1ca9cf41088d2fd938f731e5ed07ef10bc499023100c4e3b80172e64386b3016b6d70fcff008aefe1c119e1c69723eb26dff2d5fc55b5c51f1be4c9a633c03c9cc955f107d80302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023071bfa4f3843d0e42a3a8d04c251b311dcdc0e26bad0f06f97fe93ff7168648ad0ec4473261ae8a042947d2425bdfa9d3023100d4d9a0f9b2fd53f792e2fcef877cedf7f1ca740880d632aedd6add985f1b1f292226df63184d8c5589312ae13627eb2f0302047c435bb50066306402305b161d8ad89dec7edec59e72f9d90d24919da704e22425ce1f7a55c635a4bc087fff8792f3581d9728103f98a944f6180230338f9cf8f71718beb22321860d60231a23f704706d3fdf5ed1ebf8ec5a41f632eec17c09dc7b116f6464a68744fa251c0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006730650231009f9c612a5c3e34646504b20c66bdce1e808ed681f776a73a979bde1a743d22aa8b68eedc2c699e20bdbf6837a101e8f402306ec3b365107275a792afba0dd79583ffbc983ac14fe2e238f4c14aeca5a7b4df5ac36471f2252cc092910433b896cbf70302047c435bb500673065023014a85047584e3f2baf774def64be91fccf003ceef6773a2228155a3ee5adb2775f9c2028e0eb89ccdfbbe23fd36b27b2023100f6f0957ca3deae21d9e7310d8a238dec40a1ba828ad095797b198333ad488035babc4753a4ff1eb0503f601ef53ccc490302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50066306402301757348e964332205c7cd95dcf6830fa18153dd9c4cbb4f08d29a13fc9a3d1f50fdf0335c3e36fb7af4440206500d330023025234aec13d2e82301ec0ed48a0a992ad9290a59ff9f9a51b973f704847635e0d8ed9a6e07b8b48fc1f8d97282401bdd0302047c435bb5006730650231008f1c816d39db2461589a14f548d18cda37a128161e99229865783a3bf0b43c1a7afcdd5ab918915d5343eac42957033a02303c8179866621cad24ef50d99a108b933781d1199142048b7dd1d7d1284b3045c0f9f364cc56e729381dbe9d45c60718a0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500683066023100fbca3d5da83b81f0fadd79f8bfddda07bad6661ce2db862a0e681ce416f9dad264a0991f8c7d8be13763f6733a9f0e7b023100a71b9496b0227fd8efd409c7a066ca357a783b28bc724772105e84f4f35a724b6a5b48050d2d9cc3fa2625f235efa22f0302047c435bb500683066023100b62ee80aff9d409a6112c5aa3c788f43ead9cfb45b08a0f4b56b7bd5de5be7ccfbad17f05f3fc9e15ef09547b71a8c2d023100af196c92f005fecfebc59a39f4cf581f403173e97e21bf5eb593fc0f13d14125ba51f1e7654dfebed268260c9ca05df80302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500683066023100cd537d185d6104b49d199900425fcc750ceb1261fd257c53bccdc3521f4a92036a30ef7c38b23360fae2f037b8c00ad10231008b8663b1b1dcf21063d7e712c2ff712c0c19d0fd5c280073c344abe0e841a4106e3068e63daec30431b4fd8027edf86b0302047c435bb50066306402307e3481d3a17483db4b6869e960ba52e4d2037604f1324480b17ab3c8ec78d68f4606a35df30951d2f54b7a1c0dbe207e0230434954fa0a3ca4e8e3d07d645c22aaa310a927a29192335f80773037b00276dbc79c42238298b33c12269ea682ec9c5d0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006630640230240ca8f693504382724aed017971aa526357f5969456e129fbdbc96d0aa1d18bd54ef428c9e40e58d626dd47085e5e9902306660231d2e0225be5a366f6f552b07cd9c39713e5a037398be25e39f9ab9a5c0d17eb625787ee1614de62c9c798af5ef0302047c435bb500683066023100e7f673ca54b74630f9dee2e5c0cd5ef332d40ba308d41a203ccdf011c790b77767fee5fcf91972d46ee42a404082af8102310095bd85919f15bc87b2bbefafcb661941fb6094f2ad81b884d3bb9e4368072123e8a180faad41f9a0d3b47580a48340750302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006630640230542d7e6552f875efdfe8df52cea75de219741fb1d4375ed62a37e7c4832bb9eaa830258172859881898e0f491d3baf020230488e1dfce8223ac4f6c4a59ada92de222bd97bf55a2c71538d89abdfddd985384096a72148481b2d9d0e6846b4a977220302047c435bb500673065023100f9b172d36902d93234e10811b301ca6317264bd98e9634f8f9cee7d459bacb94704cec010062d89dd3bb712a499da0da02305621d3ea68b15338eb9fffc20457763f000249b1439f3608d38be605f7bc2ca954cc2856d0a8ed95ecda878f3506dc960302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500683066023100c21bb52007a5bd7035285d30459583906f76ffa134a9c0db1d75c320700ef740a475667203e671b7df6cd2a5d6d4c71f0231009897beeaf5b2e344a760863fd08968c8c9a06e45c446235dffe4bc9ab6c8eea669e48fe5c34b5475a3eafc7fc91703a60302047c435bb500673065023100ab688e0736a313748227d6905d985ce57b6eb1a36e4266b99d266566d681fb4d3b702e5430f4e5595eae41441006d49202305677e43c7bad03374708990294b8665b7ad9400924e2251fe9f20d2959f896f528ddc0ec24ea5b10635a133bb56c8d040302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50067306502303657496c515ab005326b0c4ce8a7e98e2cb0723de3f6d4392e0a446ab62d9d5ebfee7c96ff64e51ac7b935fc6b0d4beb023100b45dddacf93827b7f6175f4c19a483fe6a4435c070492dbf30f1f815cf6e750bb9c348e81a4b04beb9d8729acd17e1240302047c435bb500683066023100e6950e8c6a470fe818fce9e9d7ef61d8c7a15c19d5592129404d479b0b02a62728bd64a6b6229eaf79d96d08f62691a5023100db550c555c06148f448a372d296d2ff56670253f91df8a28d06931b74e1f90a87022b0ebf0ee5214ecb2ed71dcc4608a0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500683066023100ae3f1b70e33629650047d525903a1cf3b9254a25c24e4d9f205b347356605e383d2694b69cad4157dd6de3510b24c79a023100c2d3b57f4709020aa1158bfd5d08f75163a666a482fb25c66772e14c753b1d8566bf4afe8cfcd728ac61410109d8c01e0302047c435bb500683066023100dc7fcf4c2f67a8e777101e8b4367929bd3629eaadf02df43ef3c076e2d98d3c3695bc71a88c850cc1f9e775a9117f117023100b7aa31a1e14ea8749852c749672d2b5d5725c8b717faa36d30d1def6652285c28931529abb4b8b3f0d0ee4dd555d9a760302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50067306502301754fd81cae007b5a9e5f8ba4386197a21aaec191cc1b5f56b1a2fa5cb3a300aee7562cf6ac0371525774ea60c420c4a023100d23968b2b8cf01ecd9cf535a0ad3c27817a35966bf606770523cc23ad0735eb48971c415c7986a1fa8d980c9245312dc0302047c435bb5006730650230624b33da873c6621a3bc4beb760762d7ecae5e3574af72a32540cf2b68a19fc512040b88ed95c26eafec9140f964572b023100f93941892e136fbae2bd2c181e3cd834766c2d47a13520b2066c46301b3a2e4a9fee3f283f955fb4c9ec0c9ddf0535a10302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500663064023002f5edcba9f9a6ec2ef0ab8c6954846a5799617eed405ae8931a87fcd20e2927bec1fbe1a29330a09cf666a78ed2952f023079aca2fcae72ccf798cda31755b313a289cfd9b8d29a7bcadee2ef61e9e76640ab9a9a0f7cac039aa31a4697b16db8cd0302047c435bb500683066023100aa30b2b3de6feae994b669e9f5e18596c3a2093465546e02460289f2a44b7c8abf6ddbf24d3f6686b7f4a4afbc811f9d0231008802fe04ba24651319c672766c69ed9a8d350691cc7bfcc30eea5919c1bbf7bb69b5e6b37fac7a6258e0ab9056d728b50302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50066306402306d070e910e0fe8ddca9c028c36b5f254882c1a089ce590ca53b92607666f6ab3b8f3cbd86f0e8fc6c211fe2172fcdd60023056671b590b4078e0e82cb22505ef6d39991d1251889e38c120372230a97f0a08ee754b65348d04f938bcb3ac109425410302047c435bb5006730650230582d7f49d336881f7820568e3fef95559cc310e8affd1ab79c6406104688bcd180a36e62e7aea7eae7aff49866adefb3023100d03e8b37ef5d840d8981a659dd292e10ebf46b7df457c27075f93eb29894f53104cda247a3d829be3bbbe9001c645d1f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50067306502307f96911df96cc9d9fd8fdf095467900f6f25fdf6618937e2a639ded2ad29fddbb8b689e76ed17bf2ba9fca1943e27f3d023100c44a3d552b52bfa0e69c8c35b3bdfd4a429c490bf8e85452c8ebe33fa258c953193575acc06a9a044b22b01c344e7db50302047c435bb500683066023100a4a3ff4fffeee74c67dfe5622eb02dde20ec4e47e2f97ffe918ba74ba249be5abb0d54d295ef52ec541ec068d1e3306f023100b7180f58bc1c6a4432564f95ef0a022b6295615e2b4b4907d68dcc02143a9a75b1c3453b9ae6154181421c7d733b42f00302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50066306402300922dfcb634d5fa3432184f9133760108cd5068209ed76b68f43629111f2dd471998fbad9f41620094e01844f4632667023059be4d95b4eba7d69aa3f927a15ed8a98fbca1c120ac20a6c3f26a07a6847c145dd0c81ffa5c831427f9f16c4d612d420302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500663064023058c0302be2d48c18857fe9fd65f79494c4bd9eb9297f3852c4652b30894611e9caca5ef5f093a3239682c7907296bd71023052c519275f5c89806af34b7dbf8069af54671b51fa43212867fb4fc2ada5f2dfb46e8610bd80e3442f16c6cd264fbe9b0302047c435bb50067306502304ba6ee97337eb7031c4c96d8256ecda9609c9ace2efd2428fa6088840179f55058dc5755019a8e75a00f0b233d14cc16023100de2c4b4cc8a052c172762bc8dbc9f862586b5080104e76784521fa9e01bf0967b700c515b301669dfc6c074d9333c9ad0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023100f015de3b0a8904e417216276d296ea06d2d63273a7ab6bee162968d7a07a9e5dfcf14d55340c5115b0e1e9e9bde9623002307f1b675053a307f1db43885406b6202ab26dd6b11309dfa28add6556b6f31e1120f14e4748dadbe05b2c48924a20c15f0302047c435bb50066306402300af5d48534ca03f0c2b5c6f14976668ad867064dd6152284a44685de988e02a79ceeba4068f3251de478f1ecc6743bc9023053d6f3acfed7a9a336ec77148835378ed20ac3825fca50df2349b56a58565d166c79b34b3366d392f20325c6b8d7c1740302047c435bb500673065023100f69b7f7657795f34029d4e630c55ff7546c2e3c5d06c3218e5043f1cea85cef504f1b511c77e1dbef55c206b0c9d3d49023017fe88d904c78e2c9a857c17c463ada2690b740a0bb62238ea78df402739f4f5454fb3219878fb3ece7d3a516816d71c0302047c435bb500673065023049997474fdc08d09f6939d398f5aee8ac19ea4dae26e2c490e60e4cd2db5ecc0919f59ea45e74eba9dceef5c4754f528023100c2cd48d146ce115b24e3e8d2ae3ea83ffc25d5679390d92f49be5560590c6c0e6be5f207600f9f14a070760026900d170302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023100c2b57989b0907a657193e345d4ce679ed1b2d911d8306466bd702611a36174c890ebc76f1a925a43c0afea7734b0cce2023061f075ea3517bf4f98ec4be9b46e8e9f86edff8119fca5908a2136e59719ae29a4521daa4919476ca45b16977ba290f10302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023100e628ced5a94637afb01f66909258416b144a26796aaf7e49fe0ece73f397af36fd646c13cef320c5ba6419272b6499bb02301bf751203655e43bb23833865ffe5bced9d7d22cbafbebb433df0d85264ade2733bb8d508596e5527dc90533337f923b0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500683066023100f521dc06fefcfadcb79297c03024516e1ac29b967bf98cb48c2fbd7b10e5861b2b674ded368da6d91a81aff072c0571702310083d2977d16167d537f5f5161f417a9b54e42716fc4e44afdccccd2a46c6f12aa4c15ca7ee9741fd8243240e6bcfee6d80302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023100fe7238da439145f794509d9d2b4c7147befdaf064579a0297776efa0d9f21c780fddfec07245429a47ad985f75a707120230183c84b1d432b55697e2ca37acac224b218ab35102995bea05f65f4ac2a3821a1210e3fdecc248815d26fe66b9962a660302047c435bb5006830660231009c0e96172ed52de5fe205067cbcf284a8a595b71585149c784de7b6be97cbd1d00c2cb7edeb6e0a411c361c99d2cbd66023100aa1fe2a763665967be4d8f744c22822b896edd6e371f2ca50734190e58d456a722c923102249c56837d1fbda76f857f40302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023100f6c065a6ca222b245b92af2078f0145c706a61a85c942fa6e811f6b397104b53ff6eb4b36a66b372f466e4c6d3f58a7502301a7d055d9cbce75504e3cb990863f580f051f4cd34ccf6f03b8f92fe5863c469121b90de1477a707e14f68e3cbcdcee90302047c435bb500673065023100c7b0d8116ddc71d81a284e11c01df035a36b1e78927b47470128fcf9548d0255c06fad84d74bffef23019b9479b146c0023022f821c187a975a9fc04defc5014836ea479eef2c3d785e14b174bfc3ad451b9a9e2f6234b9c040fbd3edd09b2db5f4d0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50067306502302e154945dc75d5d7df7843336013ba58b198ba3d37ddc89e3223c40dcffaaae10979cc8565c1a45173df28d8e6394dcc023100c8b2d4bacf4977a36983130e692fb7a40f764674ccb1cf14ccaf510fc7468bf893d6918fe209caf71c40af66b3d6e4fe0302047c435bb500673065023049420944ea5bcd1df54c5d0635232675c5f16db6270c5e56870769e3f201771c0f6b7ef3e1fcfc309eedeaab77fb232b023100f7b8fefbf50316259b678fefcdee5814e28f369bf42c8d075c60ca3e7c4aeb3b554d750a04e2db1aefbbcbded8031dde0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50066306402302573a49bc1e356ac50fc57a770d30d04c1f3d01aa1714015e04a624e7fd6a107a2fc20a7a3ba5ff301e2fd717a6777c802302bccc02819eff9c254dd442fd65d8ef0e9fddb95ace743f6687aac21d47801362e8f892baa85ee37b29fcd67faac994e0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500663064023076ae7fed37acd7f9a04c4de012988542a99b2efcae57ea5ea92f7501bcf85d903e7af2a6e2a8e88dd067d6b48b0c05140230261c40dffbbc5a3413f32cbeb47d6dfc018cbac99396ad63bbca9d1355ff0b7f07e23d705b1f7239106a30558a1d69690302047c435bb50067306502310090e22fe027567e2f324a230f7d1a17d204c4d8ee9da59595c74b90c2a62b714ca13dfd2bb7bdb0170fff1f37eb6a50c202307f6ab9e757d3f45b850f35b75b1304efca718aec427422e997ae6d777a2491eb4c5c0758ec7bfca4d38658064beb8b120302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023100c2c668d2e7b7bb4069f223eb04b5971149022d4d23226dbe6441f550ae6563c8ce3446649eff14cad44928b7942e1cb5023047b479d9b2cf0a35759ed1c8efc31311a7a4b49f9618c51ea31c0c62bcf3cb2bad23713ad380d342c876c260b6bd64c10302047c435bb50067306502303aef534f0289cf3adad7b0ce3fab9018e7268b6224199ea594eb7d9faf7b7ae24797d407279c630780515bac03048973023100d8e90418b51d31b00b349ada6bb331dbc08e01b58fb10e54ceb8dd5798d7d315db8c89f37e8081dd99f18c89ed7ebf280302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023100f07baa71a99979db660b4ace8051ab36028d3d46563472fbda4cca3b9bb371697b1ae48177366658b286f13ff6c22a110230411f799d4686e4861888239e6dc3615489fd2b717d977a3477ffe5f455f9109c938d40653b0f21790f8fb61534fc90850302047c435bb500663064022f19872d5e591fae62cb68714a155fe5a5e3da2e5e2b11fb63549e0387abe3bcad7db3f03d1095a3e165190734b975a30231009e8475fab79b357c05c580e0d9b0078da15ba0114bacce1d07dc97561398633a0733188cab68d31c787f8bf0aa0251e80302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231009feaac18ccc97eb4903637e358147d2313f7b9d02af9a8232604d3823ad456a5e61b8fe340a843a6daa26ead672a4a97023100a0bd52c729c817e505cb5ef44f2cc3d9b9106280a671094c232c9713e10e63318291ec07ded84b2bffa5a9945c76102d0302047c435bb5006730650230789abf1fb8e77e17201f824555e4183e18b5a4cf76604b730ef65e5a7027e11792f0c26a063c2c4471ce8208542b6aa8023100e235f7f323cd13d1036ae51f5ebd2be4d56f6fabf91ba188cd629ed71c6371daa69d236c67737ff1dc0875da74bb67620302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50067306502303d490d54563c28e6a01786a734c0abed9077d7bcf1b9332e2b1501a02ffbffab1ed127bd9b5370f30ea382aabf8e85c3023100d122fdd824bdbdff604489b1febe9c5d395d8a425ebb578c84e266aa8534e5fc0ca62e7015b29f705e4aebe32b48d0820302047c435bb50066306402307d8db84b086c44a538ec043d0306d475435fafb1c644ab8e341d2e35f556271432cce9764b2d4cd0f03b52aa9623606e02305a846b1edbbaa94f5c8efdf265ffe94858afd08426abb8f093618f5b6bc0c79a69ff9f33707e280c16a72faf276284750302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500683066023100c32f6fbb5b2ea1296138160cfa81e472e60b6c9cf94fbd2dfe00c04476c9d665c4b28d91d6c61a9e0a1e6a361da6bd1e023100a9846a3e07741a97ffcaa82dd7fbe2755403b09020187b1e72d76c4fab34344955c51c4ec8f9e48ff942837cfcb23bdd0302047c435bb500683066023100b54ab29cfdddf5ded5ca1dfc87e7a1fed6497a4110d57455cbc43c1a7b9301958382da97cf409c25332943190507c87a023100df4f4db3349e39834837843c1633aacc537deb91359c0a735dd76d0c873750ed31598065d92b06be931b566122b94fbb0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500683066023100dead204e8b90be79274aa41245723abdd8e266fadd4dbede098ecf95e667be77eb6fc58c71e934076cbb3830d9eb5d880231009f45e4aed23bc9334a367bc24da1fce49cf36346f84246a03cd76cba5f3cc502e91243f99bf29beb7d12d5e119ef77850302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500683066023100b7199b614412c406dbe274592fa38fc66e5e6cd0e80bb502751663b51959c7a58a783ece7a4d6819ba160bf757bed499023100e59afddeddd1b10cd9a63878f9c934ae3067a647e3b1091a9234e96942673f57c461f6a420e9b525e519df62bdd7e3600302047c435bb5006630640230342336d76087e327c0a953f17491da2edba190fa529bed920c6138c0ecb6633f4fd5a6aa3c7c0d624add511902609c9502304539fb5fa24ce7abd597751dba99a777c622292f5856e9373c9145ff2d2d328c5558c3a148256968853daf3d99c86ad40302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006730650230223bb231b852a96d642c9b54ef15677091117d6950a68eec7cdbfd96afbcac0aa16f181c761e360398554c79fbf078b1023100d62fc82ab41fa2321a25425123a450a538ed592f91ce0ee586540ca999b06c9a4a17fc0fcc04d0159864c8610384eed40302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023051e3e3d7d55f4116eb93022438730f3ebf871a3956f31275cb1b6fa33c9c52db367334ce93fcd1daa215d4ee562fcabb023100df7184c45db8c0a2b41e216db90ec653bec4e5035568437b3016d0b65ab49a4150770871392b33fd9e25f88fd91a11e70302047c435bb50067306502306f0475e43e5320395c4182a754634c585545b17382fa8829b5306fa8a7d8038217e485b357c2cf89c3cfd7fd3b9166b602310081cefd10f6e405cd225c87432fb3c5df9d65a83fd701f2d20efed9a04af35ca0273fca0fd47c6d1dbf3eb19318cfa9180302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023100c4f85da50a588d808f351e1b1a0ebd707a04215aa071f9ae33a2419acc8940c4e4b042e4029f6fd8572bd19e711572ca023039199b5ea4b6907d524f700b838b048749857d2ea0ddfb76c57c78ba66894cd1838a81f467f5bdc497bb14ae74283bb00302047c435bb500683066023100de6d5034ef55e97719e04824e8564ad49fb3b873106a6f1efea0bb7afb6c2e61ce8e66ce3382a2689486022a6489a3c2023100c4793ea70852185c20e2779bd4542f7860cb9f3393de07a83d34d93f4e49ae917ecc1f05175c62b77aeb5a19a804541e0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231009b8f7a19e22b2f046ba8cec46785a28296ab0ce9f6ff3d088b3b1ae4291b912e8aacf35178771ec602ecfbbce548ab00023100e18537167ae1b2a2fbe085da46170d3287ef643539588ad9f967e9efb7cd48e4612dd353c9fb4ea7376f1d5ec3ee76ad0302047c435bb50066306402302928039afc6803b2166f122c0ac777edf2ad5f67c0abdaa09f126ec7cd66f3711767d818268a99dd16ffcde5144117ba02305ba0d074bca715a65f14181f4bad1687f15af9d893f202454c477e4c3c00e2caa473eb7f5a3552e6aa5dfe1774b8e9c80302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500683066023100b1f2bafb915c87990d14d31d00dffaa1ff9e047f47b065518206f7b8301528097114f42ba13f6447f2e725c0ba3074b3023100e4babf6c7e2850b24456404838fb38c51e42823ada3abb1b4031cdecdd36271f651a2aee040eaddbf9f0c9ba39f9fec10302047c435bb500663064023078bcbb1c5293107e064302eb14ad794bd55ccdb00dcd0c2eb972ba24596f87aa450e9e7fda452c7ba3c3c9a060043a8f02304840ea4df7d39458c4301954d32d6a4c0eedecad5764c9e6494aad9854289dafbd46656a62c49ee9bd0465bc04d2c9580302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500683066023100de694786b885a6bf13d979b5f5e33ddec6d55b38a198b6116ae7a57123605f3e8a39ed987a8d5dd3c9b1b94be9c59be502310093061388a921f66715089f00c51439e7e418ce07cb078630bd253b4d3ec43c2e8e64a321060c1240b5004f03e190b5be0302047c435bb5006630640230028e74a37d4e1eefb641f5d3d4bd843c75a41b14c4513f1218eb2e456f035c6116510c0a4dd7b8dca6fe000cdfbd356702304e253735eaa54c23ab6e9ad7da81610460978ae718e83362562e060e58315451f1790dd7a251a90f0269b6cecc6b19640302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500683066023100bdec62324daf43d4cfe78ddc789a39b1db19c315d3612f55ce370d63175ea2760a3b3cb8002463581c12befdd5cba6e2023100e0b708b719dae0f57a2359be7dc25e83b76146cae565a1bb33d9dff901485edeecfa88954a05a464dfc796366c5cc38a0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50066306402307e741892709e20e1225b2d19ea2cbd377d881302bfd283c45e305551fa08d2393628f9bea8374c00b27800856a6ef00202300e083f3b3f65a865425e63eb5abe4736d05b96e54980b0f1b8cfa134d6a108099aa81f97ed1a6789eef17bf6e08f32c70302047c435bb50066306402305926f2d87b61cec3b99d031fe73f74815c744cfe9f6317c472a6d4a6eef1a2348372c33b00bc4742c289fa6b814e9a3c0230367b92e114d041da9f83d1d5b52a61c2bac72afc5f68f469695e60fd8754de972c77656766a0181923c9ec3d6ba4df920302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023100e8ff1aedfc7fc10f50ae9185e2f085cc726fd1ffda63c86a9fc917713b1c328b6a995a8b8df052dd39d4bac45c2c00ab0230528977028a9e5312c60b3988d048133ef9215f7b963633dd27c2f53296940098eb9d47d1bfb7506fac435510a64cd15b0302047c435bb50066306402303faedbf69e3f82a18dd5ba1de69fa30c5306b8d74bcfb295b1843c73f1b67183f041b7c4885bfec20326a607215818a402305db50dff58cad274c74b07eca2d5c28ed1aac5e0c1dadb5ba9bb1d1be77ca8f966ed42952fa6587a895a25bc710dc7a80302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500683066023100c5beba08a96aaef82fd5270b2ed4d6d85353a397d0aa4b1e5cbd921456c142632a5367d3a7afe59d048a12b76d8e5199023100d65ae57be453ed94b8b8146ed864f996a0e1b854f76d8712f55e64ff7464c2a842135294e58a540ef5a055fbeae7eb2d0302047c435bb500673065023100d013e03695beb2bd0ce884536aa9b8d7ba36d3dd38324a3b04284d19914516ac2c968657300462f17e00e08a91694eff023044047f6366841d89652eba619e54f0ec277ea7de4ba6a601d87ce3e4808ba4b10c9a173a98e37a8f1c6ab6ebda259b520302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50067306502306133b2ceeda447adb42ce78ca714d19f5117d907e21249676b98351e5714b61b10c114a1fba75428d2f9b027a2e22f31023100e1d9066f4cc436448ff45d189b799daaa85a7d43060d309292f33a19ef1aea91f4e6ad2e64ca37bd7b144650d103ab250302047c435bb500683066023100abf35e98b04f133ba3fa1095d1c4e46b35e1f212c9573a462240d5b7e4bb70a493d012c4098d2ca752209c8fe28e74c6023100bcf6f3210849c29abeb6716da6ad3aa4faf3038810be8fe0767e27ce8220db18a973cf01ac5d91228ceb19a6d95dfc960302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231009be9405a7a087d6dd166c0676b6bf2002cc47ad0f3d0aa84ea9b2fff35d9bd77ef52184e1c4b4aecc0f4f11053a805e302310094ee8a76cfa8deb326bb9ec48f3fa266cf810c6961b3efd4cdc7a05beb4578efabcc1849d35823679a06fa70949919130302047c435bb500673065023052513c18593627fd2aee31d863a3984177bc8c83a33de7d74b93a00753c3685b7e8afdb5bce0fbe9d1983a546501387a023100d2db3a2f13e8f849bc80031c2f6fb270c5618afff43fdbe34434f7c82b3dbbbee1481b10d430eb90c35867469bc97e810302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023025374f3c10ea44805e5dc5bca23c3608ee35a8e767845492da55481c9b632b6ac89704ee9f14a24941f9c2b5cc0ce567023100d14ff8b25628d11ea21d5951877510c475c9cbaa87d9bc79dd84203d29bdb32b0b8520c7aff1db37f69129eee202ad190302047c435bb500673065023100d5f64640b90478a077d42c7b239a89e237029ed0d189a11d4559733b897d9f8bbd33923a8686b681fe78a9e9dfef1a6f02306b0a00238b4ec0af6687cfe23738b6aed8b677207ecf7e341cfe7ab6c5cd28cd408f92f126ea4eb54beaaddcaaaebe100302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500683066023100dc136dc79e4caa1d91e014073e8b08b6db40f895d2744951192b32429a09c201ec1ce4fd415f3ad9e5c5d1e90bf2859d023100f8e768e87290ebb3b630bcce7bb951a9acd0c315a672c18c44c13247e9d5ce581f2d9b70ba9b847554d2c31ddfed12360302047c435bb500673065023100e9cb9db5312e5fc07c5a6e9696a68b1c357fff99e15a10ed00b832e6fd7af36f19501625ad80eda474cfd3f204c46d8402304b331b82e57f10c2acf19d9c66f4b71f107ce4dfd91fba34d1c5f49506e5ae2e9592abdce6e0853e58b6b6e1a095f83a0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50067306502303df150e8881d1cbe979737f40060477a82c6e11b8e7b89191371ce570c469149cbf35c84f753f0ce76860c8421d9d301023100be04972d9b774dfcdd8a7e313dd7d252b44973cf4da43a052c87a482b257470cd3170624e1bc563fc29c1742d5dfc8b50302047c435bb500663064023064dd50bcf61368de692b156cc6f9be277624b410bfeb95b9dd2ecbe86c4f8efb4e846a7c598f783e556523dc6d989b7902305508b5807ac7c4c44b3c0b2c46ee305a017949318e3d2a36cac9a96d1eaa8ec981684376f96f14945e3c3b85b182781f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50066306402302d119db2396b2fda3a57104949f5c308a26d75a505b017bbbc31765f26b113498df198fcaee71a2f1286b1f2c65b0bc90230549edb349bcd3dbb5b4be527ef8802eecd201684c738c384150b8638c5eb06976215f06962c7a566aeb910b2cee8c2190302047c435bb50066306402302f3bf53718f8f030fa0fd2736598b216be5cbf355b3ffb5f442ae39d40e94b06d448d88afb69d6529141075ec5451106023071ea63332198c1d9ca890966ed31beac0a9719add12d35cbf4f16034c1959018058a413425a15d2d119517d43bfaa3d70302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50067306502310088e80a731f119b7050d30fedd8339115fbf5e800d115e1ac8deb33c412551c050d995c446497a486e9a9a89ebb8ed57f023067b2337d6d232f6a8566420de012bdd7f5f15ab33110f9c798a51f1c017a280d9f99b43b4a90ff053d334d28b434366b0302047c435bb5006630640230741178757d639d48baddef7bd74be23d1c8ec388600fff3181680f01c3019c048745cf6714d89aa14204fbefec1a8221023031737c26af02029e24135e45dbf388255e72a1ab2a7ca1b05f3bcb72148cd2b96f0d9f7b8f162a18084b3980cc39b5920302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500683066023100a51529b543da00785f7507c9dcade20b5bfa9c064ded08f5e41f194567e0c5170d2967d82291a426ad9b68cee7a83235023100a29c5f11c336e3a352610d8afdd11d04a6045109a1c8cd527639705f0045a8381c3ab9c78ae1cc21ec96529bb301cc890302047c435bb5006730650230782a6ac65c9009172bc274e255cecdcf1bc3cba1891a7de0aad345e9e51e4f041c7bd16bf594357a64a66b8e9af9a800023100e86de894efe7abd550a4249ea2c09721c4bcef427b9b1337c61ebec82904e1a4b1a76d06734dc3f4b90e4a942e0345500302047c435bb500663064023048ebcfb68372096afb05656751be53e6673ca42b054c9f3bcfe8e25d5c73d7e7e7ff3d1abfbd58ad202f43acfe0a310802304ddcf3fa0a060581b7f19a45a003472e258587064bb72f684811a43388585032aa89a0d77a7e645ce882e6800c315aa80302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500683066023100e0e09dc98aac87ac69ae48ba8f558d2e4b9f444e5a0693b58d0f100022d8dcc0f8bf8be7b146a700780e3ad4120153d9023100842c4290dd0372c206ba8f31ea2567a9c21714177f23603239b846ab94bfd6d61f73ed2e2d4fa0086c96615bf2e0d17c0302047c435bb500673065023100a7fbb44905c6d1e4bb57a46df3e2f08997feba672f619a502ead15f95a2a3521b0df12f2787fc0021d17ecef1bb1f6a002302b843d3d56b9bf0cd08e20ba63d93a12f57f8b6ca23aadf6305575aea91879fff4c93005ce1df9b192422e051525fc6f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500683066023100da79980ab080671280a302632391467b87e536610febb442e13834261855314a1c738b8c173690e8e4178b0fba75b2570231008b2320bc0275dcf4087be5a114d1f564cc13c790c934a35795cb7f53e00b1389c6cbb268fc1e2a77493f026be1d8790d0302047c435bb50066306402304053fc43d084f2fa936f5a6e23c27cba41a54e537fd9d12f689ffee66e9ec7836b8bd8a11969fd9ec48dbc91e43b0c0402301acb2c6a8adb52fe26103e9a0d60410d40f59c5e98b9e8c3c6ba7be29e8e9247ecb4d289c100212d8270c09d677768c80302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500683066023100e3edfb77ef67272c78e6e1ecee51555d39e401dd053753dd1019f1d7bacb7dd4f27399ad10027497078c820a687df8500231009f32d4e19a22a194227af69eb44aa8f19105e74020e445012a7c3300871e0965b1520ef168e88f6c9ce373cdb99123800302047c435bb500683066023100cbd799daa2bfc90c9fe58740ae7d46504c8750442744e829961df55900d821f2d84ac6a3a3adb52bdc0f39d2b449e2d3023100a77bbe8b8c9cb25ea0e04948755414e48e43508477fdcacbff375054d677578fe95534b30ee5b8e288feaa2f527964510302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006630640230686a4bf90b253fe2f9cce1ee1edd7d40c9edb92a601a4a8b830d92d9892ab5d1b2fe23ef7ab8ad6681b24dc79651614302307f86abcf93ef493458f9883420df62fe326364e4006fa69a255fe34097c2601250857325f3d469b4963a89791b59aa150302047c435bb500673065023100d2597e175d2e41eaef13bf4abe19bc2e219b18672e55e22758f3fa5e9e0102c6b7ec6ed3ffb12bebe31e37dc2d3a66c4023020f59cac463ebad24c684956cb97386c3a7452c6ef722864c79d502ab242ce9b9d96a2ed9122622e73189c67b93a7f6f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500683066023100c37b2e956cb9fabe901afccb0e1418b996c714c4cf5031452d36d5a26e6db60edd7b60feda145fb807591fbe7a01c737023100bd4baaa906c60e197965bce7bbd2cab026eb307409580b3b34762f596ee6c69767a78180ade2a536d292e58380b634850302047c435bb500673065023100fb1a0a0e58f999d50bb5a948c300442197420d7a7e0344935a71e8228883a6334073919893b67ca85a6bef7c1bbe0a18023056f2426898bd5209c8f6cacf9717cd5012f1ac855c8db5ee2cea0bbfbc3bd8608bc91658ad7244316198ec441d66378e0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006730650231008d112e6352cbdcff28d45887dd05aa3f153052cc00eb5c216c78ff5f58e740db279ab3e2d9a56580a31491c8a1df8caf023051c30e169fc19e60a685453dba16f7caf00bfa0a690db2381b217e06043470b102dee5d3d3fdec7dd7335bd4a3b4cbf30302047c435bb5006630640230290506abd28ba072d3401dbbc0219973cb0a52b8ff0eb824533f807bb68c0a5b987c336fea6fd2f8d264c7b97ad0e28a0230791084333154acba891db414551cd9f491f40fdbb85589e5d2781402f6401a9ee754591062cee6e65964f322d31bc0ea0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500683066023100904f6a47eaf23672255c2425f90b16cbeb6165b8db5aa12cdfcc8b2c5c5648470f053ad5f4aed2c3329947e59b498f6f023100fddf50a39f813f64f8887bd9044090822ee90a59fee5f0ae347fb6be712924f848d2264c61c466ebbe6cd86f13a520ae0302047c435bb500683066023100af99c34f5ee797bfbd641e25648ea3f4e94dfe949d33aa626a1fdd4093aa06b591b17ec0dbd867922c191690d4bf6d5e023100c77c42bf2e5c14fb25d8804a0ced5dd8e3e5c87c371a2708706a6fc22eeacb7ca34207741eeedd91ca60e0c2532aa6360302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023065d65a7b0959b835c6405c3fd3f5dc54f25e41804ef8ae32797c0d5403fbe717ead87dc850d6456c662b9dbfa29549c6023100ad3f50f601dd907a078a4ff86e36fe3f7cbb537cb2451652cfec768363283fac33fdf539440fb9741dc2a43aa7e7c1b10302047c435bb500683066023100c11086c6fa4f5698f8926f9b3d9a8c3e3c49d09119c5b0a4cc9b037fc959b9ab82cd1daabbb505157c9b6792de3bc497023100d1817ad75f15b4e7de7e39e339368e673ecdc202827c942fb293b0975d5e336aebc3199bc083597f9581c8df9f3b410d0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500663064023052f6fb5422592546323c01ea383c2b6f3da6511af5aaab925662e6354cb9d1d70d3c531ff1edab287fb37389ae94801c02305b095c8daa4f804bcf60ff776fbc9aa90b98e40b977027171bd97aaa1c4607f17fc3ec7488b0da7577b775c7c7c99e400302047c435bb500663064023014f77543cdbbc948a5207b4d5f94b9674b91dacb47d8d51f2528ee678bc760a6d219ca7c8200b6f9707a3be9fe1d2dfd02305c5a2615114f85e628f6facea51b08c182be3d30290f0b584067ca139b15436f8e59b4ad2c207812c84bee2b7cc2e83b0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006730650230695e1e3594fd74c037a842b8132b060b5ec821879ea21e975c94b2fb14afba166ef48ff81e84b0cf377380a9a0e2f98e02310084be20c53d986739fe250338b0f4127ed5d5eab288c4e50c815d808905e491cedf0d7b3b01708f37638acb232de6c53e0302047c435bb50067306502310083a29d138013f185a1834b7bba4419614878980ac35f4d9af2b57f21be8313bffc15eb2f9e85280aa7ee65a1e75cf3340230293975aa380e34cdd531718b0e17808941ac9fcea211394c47db71ea15fc94695e892da2e9a5c372bf0af0f855a68c1f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006630640230242f928baa22946589eed329a16ff1a608911044324ce2375f57611682b0c1d2571857fd7551f168521ccc12d0cc6eb802302ff992bdd6e16cd21137cd9815ad1ee395ed6098234418bd7790213a73382911421ef92d8ab5be3d7f6539c86d9fd71e0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50067306502300551283d5826e9d913dd4b5423452bf210d8f15a2dbf0486279fa4e7ac63d6ee945a7d20d87c1360ba935950a5334e18023100b903cf9426006ebf616efcb3fb5a6f66a43acb65bd2a0f2115dcee8b817f7e4f83bf6357b6fbed4affec6e862812449b0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008e298ccba9cc4712def7e4746bdc372d86d478d8ac70bc2921696a3268d11dd0f16b4abc750904c37623804772d1ff52023100e7ffbfae87233099cedb34647a257925b83b4ee9b16268722fa41e54a18cea1b352b180423d0ed25746277c6f4ed75320302047c435bb500683066023100ced4b68602ae681f79c0ff2360fc97db6d08da27da13a946c3bf5a284d6deef4024cc3247d6267b85751802efbe99e62023100da85a0a0e1e22ba7370469cc59f15f31a1f341fc93061a9cd53bb53f9d5589490138c0302ca369fc9a8b44450ed10d2e0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50066306402305e1c824af785ab57c01b5f6bb584fab1858b50687d679a0d2ac721eca6e775c7727253f830ef5bc0de4d645cf8023d3a02300f98683f7c070abf0a0e13ab46e1ebcd684e8929d614200c5e5b4c30a2fffa51fa611c6ca0325d1ee230dd7dc401836a0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023100ab46b9e3a687af13fff2b052db4eaa9b4faf17c59180707bdde3f9bd978900f5a070230c9885c015c1f781427431dd8002304b855ae34d3dd43a04c6db0b9d83acfdd0802ef90ee760abd2449878e44bfe987327e3295dd619b42ee022e98279fc770302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50066306402301824cf9abf2508f90b4cc6b8dc03e85171db7c95db2cf49bb8de62a76f636df366e6ad2696cae7780de7a1a0ce628ebd023048208eb2b83e547676c56cf944bded013cbf2ab5237a5d2a373f6edd1d91f296da8ec1218db7f5670f39622e6aa4b70a0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023100c44c1af5ddd34cb7d782b0081b8ba33a85c14f8b3c33cac0979a52123ac51ad27da2a05705380d588ba5f69b902e15ee023004ec2ce04ba041c75d33b01b0a342a1d8dba2cf222d4f8b7ef1220120241605d1e69c661dda37bd317ce09e47b80cdb80302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50066306402301568d5d2c4e97475208cb8c7092c9277a607ca380a057bf9846e7ceeeb5220c6114ff0ebc45a612b45204bcd45bdb3b6023020f5d6faad1d7f1e71144a3c43f2bfc2b8e2ce6a3c5c343fde3a3a277542a2259a2ba263c8deda833e0a18d9ddb46ffd0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500683066023100b2b1a378569169f84fb3f59852b5ba45a4bfc76260d7e2eb33098ac5b17a869b971028b76465b75b70a86e1db174d1430231009c79100dbaedfd6f4a7fca11ed99e5c3b240f13a14db9f324eeae3a056b22d1695e2d8475c08df8ed769d31cf72ac4cf0302047c435bb500663064023024e45a9475f589b217a45fa6cb47f57c3c2c1712513c293ebf1c05cc9debbd88a3562b32887a4c4db17c1c060b3afe1a02306143a445cec6cb1e19da857839a7bdee083b4c8e2d1121950a68cf3059442ba51dbdc59b53b3bb462e4192c42751185a0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500683066023100a4a6a9ca90a7bec92f50fe2093845fe92b96818a6be32d7e952ceff9c7e72fe3a73b717d249d3e3687f16dc4ee3bd0d1023100cd6a40d47685685b80b28c722a2b6a1430e546cd0eba725d7e6840b8252f1d1f6f097c5a70d280ae271bfeb4d8534a2e0302047c435bb5006730650230043818e30785d9d06b67e276398fc063bda4104fe0fa17de256d1a13b23376a3768400622f8647c1b79660c42aefe3c9023100f2d8a5137785b3fcab66361b3be2657bbd31716b9604b6083b8ebb016beab7eee65cd0df072b01f600d276c206fdb46a0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500663064023037b7a374007681d1f6445073d779e5fdb77747f14e7b44c6d3f7d90b2b49154f52614dffd58d00d40300d0587592e18e023026c6c1c0faff25f10b275bf9111f667bb11a8c06e1d4a1e438e2020f19edb457825be4e22e80caa2965dd897989453f40302047c435bb50066306402303abdb3ad981d74d2da2599cd6635097b5f5331f31ea49562c3917622986c1c2dc697b3fa5671d7bb799ef91effa96e7902306da9821c3d70de79c9bbaf0ba1b724b8b218af02821830762ef551a9369e0e0449ccadb096b316765572a3c093d290790302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500683066023100cb0216b6555a1803379c00c3bc0c94400183f72900565d45b111cf41204e658ace4f2e96b7f91b7386ad22fb074c67de0231008a348476775b18ac8c351bbc0c03c50044ecad111f524f4ce24a79d388a1f8b2a9b8037eadd8284598e20f9b7f5151a40302047c435bb500663064023008d7ba83ca7d630941e4ffeed294c997ba18e3d944773afb91e22a9a836cf6a907785b058761c980ea5465c82167759f0230502ed2a90ae29ba3c43db86f00b1fca51a776a199e735f2278919d73dc311e80fccbba89e367eee7b6492c0994c659c00302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500683066023100f01c570036c18bcd4aca73b72dcebed6efc344d852cf09051e467cc4cfaea583ff3af999db20ba9f5bbd71a54277ced0023100f5b6aee54ba1e7c5b247cd5b8604205a38b629529ef11926419b2d326a9c3d47ac2651d3647feb07934024274b29e9fb0302047c435bb5006830660231009191ba58635baffb1684decc1e521faf2ac9271c099b79f2460272322d134a1d32ab4efc7cf0947345c8d9836af761a2023100f533833cfed22b778aaa00ca2cec9f0fab9bc12e870f1a1d64f8e32f2eb04db457406eae8a1826941fabac34298168fc0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500683066023100b39f43a71f55c55ea212e72882143f22e638838dba3b8192948e8fd9e2c5d205f1a0ee5ad9904ae85f68595ffc80a605023100f0cd3f47f6b69b8b576a1e8bcd7a873332d5c5b3711a0881b77081a8e384b78b18af317dd8831c42cadb247258a5e0bd0302047c435bb5006630640230768cd2c7a0f0358df7f19eb0530c7022911a504916335df769f73ed265e101062b9d648ab63e4d0c0d0de9fbd36d92a802304289ab975dd5c3d9c01efc632212d2a8e191d7d5ca60fddaabcf29dd0c9e5872457814fae53db9d915345c7b41cacfcf0302047c435bb500683066023100ee6571c61990f7b885ad36fe7e0ec4296d0df3a301149f2d5514d09b6cb6bcec8f43bf5d50190d3525e40be4853e70de023100cdfb25be288d4fd5114bcfaa6719ee2903d2937a8d45e5b2e4646a44a9c8eacfa63deb4182298d4a46555b516a0768100302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50066306402305a651685b9a1692684a3d5952ab85cc6b59de8e63ad06858246ce445033725d453ac8afb67882657ea4983a8dcda0d3f023001e56bbb39990872f76d7694f922fdb8bed1abdb4183da5fac104a5519050d943a65f7a18a1ddfd3e130c3ba521811480302047c435bb5006630640230332990e3ed6647c9fc20cb833dfbf58a6a958c24aea9adf7a358bcc6f8da7210713065c969a1aeb228c12832cd7961b20230727ae74f4ee8a9a1817ea3650b6467633f57b7e2d7b60937dacf9b5e6f63a33bb85a00caea5d2278f5ab8cb9e57db0060302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231009d89865543680a1a26fc20c7c57415d33a541b140eb15648eda07be6eb14c2539a566e5ebcba250a5ff30cff5c4c88d1023100b3413ac44d9e1a58689e5a58cab3e6b5ec1407569c308afd21a147ad9c5ddd154841cfefeadd2814c0a907dcbf1a149a0302047c435bb500683066023100d338d7041a53abcf7743331025f71f1bb6ce1576fc2e627cd1aba42d95bab4e2b63e42aefcfb9c7e25148443a64e02650231009b5b8c1b32dd2748fcb07661c36447208fa69d31d3fbdbe1d0a17b419deb5bf02088bae3955ce62801230136cc07a8440302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500663064023052b31ac09436954a39cff9eb2c286a94c0eddbfe657cb664aad0e8144e905c0e1e040c6a0a68f004ba459a3d26b9936d02306a066359e12d45b5aab90937bf2421857089fb6e66c990d927c107e9d34322a1bb3be86c4cb177415223ae80bc9113bd0302047c435bb5006730650231009fb58de80519025174d37520791764197a9e5bb6bf70c8bd2a3d1345db4e1dba8da63ddd86cd28f0ac58ccc2d1c34c150230587cba29afde69eff46740762e85ed7eae4467bbc257365625b86bec13187076d57a70baa62158d6acd8e39a959dcd9c0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50067306502307311ce73261dabf3d00ffdc78b3e42bc6ae5b02e086b1e07842097f79811cf6e518de2b260490cfab3c7f246585a3ad2023100f58a532c8a11303bb6c57330762a91e9525813f79d31441db9aab3b8a6e531db117574239cb32395c18a440c9b689b7a0302047c435bb500673065023100c6cf3d34b1b638a6f939b2af3d4471ca7ef05188c70320ffc195fd625c1f137cce1b4978b7ac5bc1c1f601ddb0849df202301298bfe9a1a8ad21c611765b3465abe5d2312a8feaa421f21cf9984c2177e8836dffbb432d6a29314ca6f8e5dfc42eef0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023100fae4d4329734b2f4672312d8cf4621c6ce74c97c5e55f3ca7bb6a44151bed97b37e63b6b7435c285aad086cff922d583023001a80ebcdbac246905f07e03ece0f85b6d8435e6d0a88462a3e259df9323c9f5db8b958f865001070fe30cc6a6c8d9e10302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023100ef2522dd34b709e477d46f79eff4fb8f31c7d20e98fde9357fe155cb711154c9ab5b7d9ca6081cf287616cdc43c44369023077d949e94e0f53b05ed7470101f0e7b87b9da37686ed9dab818c010fe49792228f6582eada4ad6a0d3be9282104588300302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006630640230238d4681ae75dc0174ddeca161ae67638b0d090fdecbc46343623f7e705e761cc399ac17f1b38d429ec4dd630a9352a70230476b63d41047488fede68056401a76915f5fc7af4adf78a1bfc48a0beadbe478f1ccfaf28d789ff59c9168dac29f7e510302047c435bb500663064023027d4713b888e6581b8d6d3914c524a0bfb1cfef2172407b938a071068c8143a5f57bedf8af68fd0a4ff330944e59e38e0230609054a4b4f39cdc88f31d3abb2ac2f765cf66b70822355ffc94a4f636d8d4240a62b796c9c5d03b6c39bca965b765210302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023100c018105d8198636e111ccd901958c15490b1dae8b43f34aaeec14e47b0e4195daf5d89a8b235e0420092b3566382246102304026e594a7eba564de40f62ff1048d09a0d47b9c219a39d4eac8b114f2328598482a177c244ae4144bbba8f256598e300302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023100a4b9efb6c35944477e6e0fa7e20bea48bc63e8e327ce6312d9d72d6a0dc8f2d3a762fd20d9086d8626e5959f0ca6456502305248f09d02634a202e49e6381d2765a57cb5f4871a0b9559bc7eb21c7c14969111f7eed2e237dbbb11d0aa2361996da60302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023100a8715c92ec49c178e2df7689627909f289c5b8db45cc99bfe26e5ad43a0ae21100620a5f76affdb7c526d782c2fe4ed402307bb3aaa25e589f359a6d6c5aaa0f667341ef90bbbaa1d47b20b08e1fe2125904cc1ec2a220151c1fba8a28e9e7a6dda50302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023100a7d9714b7def96c656a8015960c4e92e610d7b5be5b3551de8d49757e7db359ad2db80b20d56e1cb25711ceff768b220023054185f84b7e373a577b0d3dce73bcf3d3508c4b83e6b2958d4ae1d4eb9191f088e6c3ca4066cfb246d52aa26f43d4e340302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50067306502301f2b5d1e0c34bfde4dc114154d431f1739561bf66985dcce77fc72f648c37e75d879e2ac783015c1b275aa7a3671e866023100b5ea9ff5fc6af5c4c1055d89d8e9eb3802d8cd05ff32f3afadc53c4d28052129b4bd220483a81fc46db7f6323c68c9480302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023024d275a14de0d150e0e977d832a8c2d2c3e96a714021673b0c1c9e3ce72ffed2eec7b6025d16bc4db5824df653708354023100a318b25fe0f5db2c8fdeb572e87ca84b70f29a353ac304b3670c0ebda2c3bc62e08b13b46d44fbb232fbf670f3d0bdd30302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023100d14dc0f1bd9edc6a1252571fd6f8f06e7785b8e358886bf12c27c04fd171e43eed74b6bd3eafc41e65f8181d5fe26b7302307dd2ef6729f6d1855b98101817c5c420d8a4de5b993d974ddadcb67c40d3f0735b639dcf08159257e0a04c030b6f5b2e0302047c435bb500673065023100923089f08d1d1d236d323ed6c7d8bb045bf312ab1b3d0df3b5bdd76fa7bda39a772d8a84b5669c80647dd5dbd4944ab902306a329d5cfea4e969ed7afdbc28a61cb02f969322466396a0d646fe56194c47add59ef237b8687c1d723078a0d86813a70302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006730650230087f63da6589f0268c469c6ef0816938ab92d37d48ac510ad87e06ec5615b3cc2752c4c7b8121444d564acd8965792b0023100a18c8cce6e99fbd713b73d64c998039a213879163917051fd5450c29f4b1ef421963a1e62f3ee64c6b321a059b4865d10302047c435bb500683066023100ddb5096c4983348b97078966a16bd1a6116684e56dbc7a27a935552ffab240f705a9ac06d1012d36c6578b54265de4d3023100bcfd70f21ca2e8850a8f51ed61f74b062d283c94789c0acae9d20d5c2601add159c18b0eeef78b6c5dd691cb6efcb55a0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500683066023100ea8b74133b5d2889087166c8a46b8d4f6d3fe22379d2618de2f031124a61fc1589b6bec2bf5b7c5cc6e7f833c3a803aa023100c7982b69c5b530a95c5131dc40fd2edca53512d99af4e7362ed0601995be187a294d5b86f0336777fe0728d4d54d78ce0302047c435bb500683066023100bd65a6c9862ed1fce5aa397097488674be859c423c60128e87446bfb76a12081d73071a9d3fac8b6178f394a22747aa3023100a80a835c720e0da37741caf801b7f879b09bd4242c74871715137b25fb26552d889a285094e76ffb3083100b24a83ec70302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023100fbabcb55ddd0a8590c565f28cf6727d6377bc4b48de457443316e62c3a57cfd9572f639c8ff53a78e45aa43e2327c79302302b41f99c340e420cfcff385c738812d9114f2b71d58d417809efe9d16c2417152aaac5ed00e755874a1f45662810c6e20302047c435bb500683066023100ef3e22b0b8cbd306f8c438e25703af607bcc7cda0061ae3e2eede530b5fe41f5d01f326a9c2421c38682a16aff2532b2023100f95f77b1235926c77dac9e6b70ce21eb0de5f49ac420ce2c7c90123844276c99f17cec687442528cc3bb726a2203645d0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50066306402306ee2d0aa4954d9561be844f092c4bbcd700d19c465cee0f44d9b346093f3a7df442a95bcc1fc5f42b6eac9d4d6f4129f02306ff6ec124308eb9b1331f3006a148b10ee8429999acdc9107f815e46f4e258e899aa07ea459cf088c21fea8f178c69ba0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500683066023100836152b7a804260541247ba2f99dd1bf5f9b031fc70aa875de470f6c9d29fc459a5ccb260608f7d4a6eb7a06fc9ada17023100935e75955770f8592db37cd704540d289308506d2df75fabbe05be89c15f945596b4bed9913d27fc2c203a816dfea1ac0302047c435bb5006730650230137e2af5540a27c3f22b57982853088a057c5638cec36f46c081cd8b6c5f6f000a6093c9fb880e515cd743dc47f930030231009e4b36da3b7e96d01d4fd99397bb88b1642e4beb5c7348953b0ba45db23a18f2c54928357cbd5020d434c7eb0085ecf20302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50067306502305081bfbf0cbc660fc310fa89d72c3029975befc958510bac1a4e9f34c0a5f41822ca58a1eb663e655dd28b9a855f9dc3023100ba22fe62798c74a1561737ae27021eb5b22f61c94d12c5be0137dc01667d9aace29cabfa2e8cb0d11386977e8e19020c0302047c435bb50067306502307cf204a90fa52a77ff03039ceb5c727aa881b09c267ab1ef57e3b536280f203c673d865b54e93ab0e8f691d0cbf8dd33023100b2e360adb8b3c096f51581d1b2b4681c4a3603aa348f262ab77c2b43757d4a58108ef9a0776c838023ac9a2b932a536d0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006730650230012342f39940ef5bc0840b2906b68d95f9fdd1dfb7b954c751a93ac4675b1ffbab8477cfb052d668fef2bdd0f11f6cfc02310083e983eecfcaefef7f57472a8dba5d06f1f3c23e7ffc5ec0f5f5df442ccac913430bc9abd97e9ab41d7f40df387feb5a0302047c435bb50067306502302e5a52361c670cf6c195fdf2af695e19ce2e6d527f6462b854dc3e3f9321920b36b6fc5d447816d3a5e537797654803b023100a93f1fef85b355c8447c45109897ccf5dded03392f928929cc1adbb36ae26d0b18953dcfbff61032f6b512dc23a230410302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50066306402300144e5c6a5e57b2336c90f6c63a4fa641cdd987d14653fa95685ca16a8f1b147ffe6a330055378748a97b8143cb708ed02302e50fe200cc577cde25db57f583d192eddae063f9ee92632a181e0c1221c1966236f53ad205b17a7b79100568bcd80850302047c435bb50067306502307e76953ff0c63fedef0b5afab6888234a12325458790aa219f5a146629a31b766cf1011ea080e5533bad47aac689711d023100bf7ed9dfcbf6f9d7d1d36ec844aed63723368bceae8cdfd0ec0929f2846cb952fdb6205cd086f5c7ac79a033db0f2b0d0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006630640230348fb5d588774d7ab3de8c76ac25b1bfa0448e0b5862aabbad5da8f50b7def2cf06fba5d20e1b32d38906fc3cfba6b8802303cd5691f9920b414a1609cae8dc6b521fc4ea70411e8b622a4f4ffe612da94c5c6dc164d96df74b64c546b568b7ca5880302047c435bb500683066023100ee9dea7d30538bed40dac1f369e7672eb981b7b413f8daa8f8613c441cbe55262fb2187b95aa330ccae2cb9cab934114023100d15340e77ad69d42f65fb977983a6b63d609629aca57b7bd5d005abf08545f3dcd4ff77c2f7b832c41b4c5f3dcc03a030302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500663064023006d15df76d0f5050532170b7fd5dc40a5f4374b9eabdffb92ccff2fddfec1528ebb8a93c41855642cf6be3cd6be54c8d023048d2b59deef874691e8144c0544f66d7441261946655cf3db1e0cb855e171a26267a2fba41a91022ddf24716b171a6f50302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50067306502307460392ab0d20aac5840f1419fcd3b1b6c728b6d8b683b1583651f1cdc9c49dd20e7275f08988a2fcc3ccaf20e05bd1102310085762d8a361af24e16d3913c8cfc6feb29a9dd4dfd7e86baf373c27e1726be3e885c892cb1c01f259656f55e9d33f01d0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023100f2e459ebe21b66f2f83339d87c136567de75ede75cb70917a23766441c940990b89796f05a44c69a63ac7d37edf16baf02300a7d69a3967e8ea34567d285c21964d55e3738e1c8f40894e91b418f94a9879ee7616b888c448feece0848b89176599a0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50067306502310082e00e957c1cbdad898bf7c87840b7df495ce9bb413df89fd89525dd36d67900517c03a97d73718917ccb43553fdeaef023024bf6ea8732ab9cb2e93761bda7021bcb4e6cf143e372e02b259f9dfdedf09f10eb8faca503c8222ed7c352be6a207d00302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006630640230021d3caea75ea82e8666d015298390e145c37ab3bc529a44f3ba9170d43de143ab57c4795ae75792e2c07c03a4b5d050023014dc6d0a7559a7aafc6b95208bb3f7a199417fa081f244d64253e5e45488ea4bb677b8b1563235bfa7335cbe284670840302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50067306502306294f4bd9782c0efa924433b83312e8b29bc063478cfea8f04b8ea638e0f76e8611f15a880cbefd973f57d57abaa934702310098c88e01b32dbb1d876da4e05e94140b78c68cefaf955c6a61a190bc0706a61b4eab5025126de7fa8228f48e44b9a6a80302047c435bb500683066023100de0b3fd73c160dd5bc82f27f6d3d6f52e42b5e5e37dbc47002b4f440d8e00a566d7f107e898ac1228d16aabf820ae807023100ef41fd7ef9e1ff595f58b680e7cf84d0e96e0989c7d89904c613e8fad589333890a994e8cad1ff8c5ca994b47f60ca790302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023100a13ce9eca0f37ab1a618890111672d76615d2c2af456dc873e36cd9159788e4fd5f29be6e7aa3bd868bc37d4827740ee0230254801183437031599966b95d50947f6df23726c50b5839df5a8e7a68f235b59096fdf0984c5d78e65ae4289041517240302047c435bb500673065023100cd83530fb5fdfcdfa44fb573cd10e3a059fdd03db852d0ccbe0514a28adbf35c918213ad8692ebc9a83c565a57b2033302302ecb0c788495d7ac8fefaa50085149e4bf56eb1e09027007b5adf1502ee9857bfdbaf8c8394c57d47b78fb2ef910cf2d0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023100e2e6161df0bdf69d5674f0809d2de6652e53eb5e47dd30ed633b715ee862de776a99130d702501384662da5cab09332002304dfb2f5741c591b1626c4cdbd7c1e5da2b77586a24230dcd1deaeabd078c843ddb93694b4c3ac3e409b8fb53aea064ac0302047c435bb500683066023100fa9f72401c7b6cd395fa3df869a3a0b85acad2038aff3afa8fb49886f878f5e73971b15f174b5bdc0cffd3aed3693f34023100fa66a7e258a2791eb6bb2573aa83d4bcca532e293da4497d4de282a5ec94934c05573bd17dcecb8ed59f3701e187399a0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50066306402300e47ec786ef50abeefd119c2cf2659bba22d46dbc3e63e890b0480be7b4ab44f9fbdc6da3b7bd0f105fabb6966f62dc502303c11007fd9d751dcc43613bfe8c165a295bead2a005999579c5e19b09523103350b42af71d942001d2d10aba11c2df2b0302047c435bb50067306502305b99baf1ec4be7daf2d0b3c5365063c728679ff6a93b335a830d397883fdc6f27ab510b34106ef2677224c22e8e8d514023100dd1daa4637901d9da2b0900dda519b5641687976ff99f36ab41a100a560406c8164efef87ec0858cd1b0d72e84f876f20302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023100ab0771322c8272925d6a0d3d613b04db1f184333b89e4f7f57bc59c469a58cd5bb4db6ccf7b1f10464d6be0f45faecd902302945826e74050badfd309384764a750daebe4b0986c9f0e49ff52691626146ad77f014a99d9cfb4c0d1376e80ce0a8870302047c435bb5006630640230215c29671e4e7c24368ce67faa81a3093aa6f17bb8e9803cb6af79cf3a085490bdb698ffe6cfa688c41436307f77aee002306ec342d124d04a419347835a3d537445ddddf567e98fa84e42b75899f92cf7e2957e8da1489fafa153040b9e528efb5b0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023100ce1c8f51f2635b3c098f931e53b3faa5b8e3d0cd12d440a3a8ce6b0c5d6913d31c8a7d609f2155a12dca7c884e0addd402300ecf65f57cac54d830567d439645ffea6ca7e26d339e671a3295ca476e87df6b41c5e865145620f3d20ac98eacbca16a0302047c435bb50067306502304a8717d6d9f61c9b9e7b79b13bd12318e53976672b980512e6663425210f914a2247dc5e30cb846f00ceb712ca2fe8da02310089a82e7603ad4b4f8c8a61c7050e1ee735944d0ad1ce06ec208eddc336a7ceac80191a3b26408f09fdc7db2df54ba4dd0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500663064023072922f9f52141b63983bcba3e7e7ed10554a75a3fa239351ded9bc1dba737ba5b8e386870128ce27c9d68884df67b96602304ac4f6dde4115125f05834f325ad172c220b452daac2a5bb2e618d35b07f3beaa35254d2f2115656b755b4e371ec9f0c0302047c435bb500663064023056a7896e8ea887e9d2837dd42249d8c7ec01be9ff31d2d32bf48d543693cc972873b57933cd49087e06a650bc96cd8ce02304abe385fbf338b222917e8cff493f39770e53d5dd20e27c20c2db7770a9b43de4dd996f9ccbcc925d480e758e72ade8b0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50067306502306709519314686854f5f21859af32d1f2cb73ec2b45be9c702f15d481da9e25d6d1c05e64a47f2ce5dfe589707e1d9588023100908fce4fca096828209bd4b8d0a1df07f2c46021da685e80e8527f739c03f3fdcdc1fd7e90ce4132ae70c7fa8ea288ec0302047c435bb500673065023100b4319fb3daa6fa10bb1defe4dd584fa4f947001b83f006c07839430d490a089032391820748534eb5e296451edaca9ea02302f87ba407f63263006979b81667ae34cfcc98782f6c2080abdcd7e22c11dceafa52cd3a699b8146a4f12c8992c54a4c50302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50066306402306ba8de4776e85fba396df7079f47e5cface0f0922d513fa69c65cffb1884e3385430e9ef87a2997758dd7daffef33128023033325074070473033ff500aef80945a9997ebe6cbf9c93df5df0196557a945fea89604f081a2b426b14239f10bbee6240302047c435bb50067306502305a423dbebe6fe1bc5c04c81530cb3cdff068248bc59c9e8e7050ed8d4326b1425ebc20a9aea116fd311cc34f47521baf023100ff3c36df8180c9b51c55a38acf6f71420662b4a84ee50af79efa2e059dc44ff46a88f191aeba060bcc1ae332753055a20302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023100dc038084e2da0ac1d9412bde53fcef6d7006b55f4a0e0c4df73b54ab202021b7259d5618536e49ef831c50e5d8fbdce6023076418afbbf0e27709d36abc899d7fa631531263f7510f3b4e2ca22f922360a6118c1a93fc6c3c1d956d07c8e857c94430302047c435bb50067306502304aafa2e1a18897ed2bbf545ecad150ea033acc8443db6e77faf78b4e7d40b5def1e4e34849a0ffaed03f41eb47c044b1023100ba8708d078fa73ecbc3423d8949715c24e61988109864c6fb60a2d4a93ee3162090a7a2367fd0012d6a1d289a9874f720302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500663064023058c722fb506c8b9e7408f6ea899fb14df4170fb94a6ee75596ccc39d7e874a14e2a857711f24ba580e075a1f7d28b40902304ffb8355d3d076da24f769e8721fc49b57a2abacf66a10a9bf842c1e9be581217bcb08dbe4895ca4b6a52644c9fea68c0302047c435bb500683066023100b83a750eb0102855c2dd90c3e14514aca9cd06acdb9d3b6b9acaa582afe9e1b105fdacda7b507fa8959bc9e1d399cdca023100e82ddbbdc946102dbf843eb2500d8d4096eafbbfd67839f71d16fc3b1a1e0cfa7445cfa81148a51827292c30d6ae3d4c0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023027642e9eab33f4d1eae1f431de883e3901d5b07f6292574686f980361cac60d967bca71f78b6146c676ad111c00732b9023100c467bd82edd6a033218458733d6b741ae7a02eac235658072ddf909f47e09527d9d311f4097f1f7c2260299db267c98a0302047c435bb50066306402306205c5b13a641926fa19f6682de78b90cc9155c93226863afc6b49c70385d17675297413fb5d9f575a9629bdc663005f023003a894503673f7dfa0f1d2ccc076c600b2ddbe8d779aaae7404066a7e01f4391dd8433422d8c31ca95a88dd044f371bc0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500663064023051ecc4cbb754bdb776050df191681e91f0918de84e6e40dc82dbd6185635c0507c6c6bd5d74369cf77074519f1adde2e02301e89436fcb6120074dd5adb342d606867247ab200c45a08683c8667a98a7d044dd36d5077f7314ff9da45a16d96489f50302047c435bb500683066023100cd2661eae3940864fd1d92114c8a433a8b34065ed68bbd03d9a4474b87f7d7ccef3f8cf35774e0eed870fc71dc505c68023100dfbb375d55bfe09532790fc3771f9c6c91db8d803ad7b15a6a444e4610c03fd823f658b0a5d67107f0c24b5b355d215e0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023100a47ae32c49598c090b83aa0b115ed62718905781d422e72a38c1b952d0eb9490ce9bf606b2e154b6860d0fff4f81bacc023015a30c50767cc05ffc56b7cd93c23eb9ffe67977fae7084453efb49afd577e3415131e699ff644b940b578046acc1f430302047c435bb500683066023100dd667af65c5e65fa9b6d8ecdfbbb452f28971143431115acf26c545f6eb0f2aad174889f0311d4a010342aab92084911023100b407518182989327f4a68c63bd2767600476c49073a5ec6ae1edbdbcee04b34013355ba34a4d5ad74864e9ad3af672ec0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023100c9f39c08aa4305a6d777aa39c1376ba4df6b1e290015300fa20ace88d0e638a786e50037cd57b1e1e2b365c03bb245550230406d3282042d07285267501fe6f9e3977f686a4e167be2a6742621f9e44253f8a1df48df4b71619e127decd0197453f30302047c435bb500683066023100cbbf337967a666c7cff0e7d9759c7b2fedbc3ce837a44d5947c32972420d3fca0b80bd9cf482a00397610c2ae685d142023100ebccecf2eccb213b1a14340e201e0091f107f2e0b19eb0aee6884a9daeac6a6e4cb09c1591406aedf6eb46799e027d2c0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50067306502310092dadb907d969d560ad5c66c77607f7204f71089bce4458a7d1c3db09150ad402706b532543850f9280eec015d72c7cd0230112dc93352aa406a09a6fda800edad3695928bfc522de6953db6609fbbdecd763b1f7ebf7168f02c2763a29f3692e26b0302047c435bb500683066023100dcf9b39891e30d23ab9761af42cd93fc957a91dc9baa8a2e7265fccc916f4767c8bfe8490355efc8473b51d79f5851af0231008c7fd37dd5aabd8c6911299f078c5eeab48cbdeae98fea9da1102f28f2fbb61b07078ba1a8e704ec2657b3bc87b4a41c0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500683066023100d877f880cf8df74bdb3d8a3882772b4af98632c00c98e1bb8a3aede43cfcf9a20b288dbf7bda8c059793f09361f85013023100a60cd42e44207c1a963fce64fea8f1bd4b25590f936b3bb6f71f1cbf789265d0acf88e849b2a2f9443755adb4befe1ab0302047c435bb500663064023079ec842be107b02d60184f90c8491df57a5fa444c96dd6bb8b7db5cf03f3e28caa62b003743fdc23e7e5b7b4369c5454023047f5669ce977c5d5e688496b0692f43ecfc693147e7d639670edf830f23434e5471127b178b6116fc767463544df94a50302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023007e69996be7a079879d6eef75b9d77d9d4b4f22b48e14b966d66e1b46f3e4df67e2ff363871cfefb8f1b696ccbeb17f9023100844d0a9366266430cdcd0b1999c25f50706c88cb714718b99df0be50fa65e834c2b959796c38c709f13a32c6a5475dfc0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50066306402304dc82c6df2e59aa162fa27f553d2634ad286993f56612f4956c953905baa5dbb0d6e60f62c5cc0e0e78164b1589bdafc02302e54d76b62a8a7e90bd52b5b25d99ba8e783ad7287d7d28cc48bc6a589a46dde0a37b4f185c0b157354ae1dfa54e435c0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50067306502310089f67bb8a18119919d10796c5549deee7375c1b48ba702f41796d3438e56bafaf30c6ea748cd170d19418c23c0676a1302305d8de4afc2ab81b9fb02008f7e2caa91ff67766eba21cbeb3b7a9df33f6701e3dd66578a8857da1e358b2d5d32a47a5e0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500683066023100d79ef6a3a9787ff51bc310cc78170a929aeaef5fc36ad448a9a8c068212431726c47169103ffa2f362bb730e7ff6a86f023100c2d060f5301f136b5c7ea0d57c10bfb50781a210775b155fd5b21e1177523d60341110ff69122a72a9c1ea70a05eaaeb0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023052406e78f927d6ba5c5571f94b51ebbacb9cda2bc6313aed49cc324e8a30ab31abe10780c0abcfe17f635d2fa5fe51ea023100e0dc21419b892478b07c3021ff7939097d25e3310015379fa77f3b1253f0e3b7821875cd321dc82d00235dcb23139f3d0302047c435bb5006630640230167010707009b28f98760896f41fdce89db9b70702c602fd8fee6aa1d5d37998d3807e9d7c9e6e57e199282e5a17ff56023006f415a98577830c1c4a2b07d63e6a400c4c686e5dbd78225faffbdb3aaee8ff66d59766f5cd24016a8801f13693ef390302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008055bea38c697b89b61197c9b60f76501ae83a6d600493437d0f3d886aa8bfc031c2cf1a2d5648223a45f33da07f395f02310082f1dd3be9e134056291aa286f43d14092c842526929c0613f3474a432a6dda0739b2df32adf93c6a087a096394b80f50302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500683066023100a91cd6430eb31b51349161763e66183a5ab99124d29ffaa091191a79e8ffa8bc807ff7d7a3c34351129b9c30add68aad0231009a2cb972162f175d939a558753a402c7ac82dfb554758c5e6d594209825582d698be53015d723a9f8563a3efb4f0f0a50302047c435bb500673065023005ad7202b9a599b0686ba02190aa218d969b95133ec5f4a4f04cc0e9895feb13d8f3107761e8a4f25c1de0ecfefcb64402310088babe81f690176a6b9d171417b9cfed22707458f98635cba5043dc14ab7b3d5deccfd9a6d8912df7eec40933ae7c6a20302047c435bb500673065023100a2ba4c4b3e080912ea65bb83458a6298bff6b1e668e34475c1255f22392479d90340e3fb2fab76383bff4e47f5ea273602301fcfa23560efaf96a31eef97ab5e30ec53426414537f652ec264a60a232963a90bfc05850991ce97dee11f3e4d5d365a0302047c435bb500673065023100eb163152559493d12d74ebf6897e2cd3c12c544e6896c711cb518c6b4921ac90408930337699fdcee8ab9f853f88a7330230780bd891e2fd99b2be51186904318e7f9e2178df146f7702bc800334a4d7d2b4f6696d543f740c78836aefed92039b1b0302047c435bb50067306502303ddf185a9f694af70608b7cbe8e61d3165f19091db2b9bfa04c3ef8c880cd4deb28d487333ea245aabd9773e94617ea8023100849255d63e7df3515766d52264641fe49bd745e495e7738d3484954876be152767467927473d5a0f47b124ec7af505710302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023100f92dd8507cef021d52f8c7bcf76eca1e80da2fd8026442f0cbec7ba7b34a6cbd1b1275180e152dcaf801a30c233c69d702300f9ecd476eab00100f6c723fca1525eb6d6682ab79d7ba218ccd190a02679b38eb408f556b20fd5e0fc889479f8e4f470302047c435bb500673065023100ccdbf8415aaa849846458b03819fcc1d705102e9eabc886953c0940a52ddf026bc9800d1eeddbd8fe584049ce6f98fb0023011064256bff6a95e29176f2fc1478cd5d64ee5621e1f652bb4df57a00223fec8f97317ffb327626f91d7fd429c0a39560302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023100c8031375cb32e32c9f162bf31513d9cce25303c6c31b1d4692796416167a9db4a0bc43a0831bfb8d16e4dc4581e813b002305963c851df77f3fae97a205fd9975ad5bf74efe633b6cadc528b434ea9598b2b27c0fbe757ecbb006f5aaace400f8a210302047c435bb500683066023100d8a9eb290c7241eddb34b73e71e5cc1af52c15b7a2cff1a75d44028f86cae83089876edefd2e7d2422816b60d8437df602310098446e700fa090b2844f21c4ca5daad90a63c9b9484375ec26ec8d1cd5ac8ba68284a78265a9e5e73d66c22f7c519a890302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023100ffa6cf48706a7198ac2c94d47aa399c66b0fde96ee8d42c66fe3e7d8bcbb9543e8e445d7584f4de3426eddf641c3ad7d023019b5c8b62b16af67888504af913736670cd724300e21cfbcb817a9a2fc098bda293b5b6aa9499589813486029988a5e20302047c435bb500663064023076fa7a7a923a2ec658d6aa788970b536afa5d9aaed3c7c5f3ba738c28cc1e0ebe58f171cb1a033eae2828e01c217d508023070d52e2cac5cdf715856e3382ca7a2d068f7fc0ac6fcdb0ab8f5e4867800fca0a136c7d49715f502e7f706dafcb14bf90302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023100fdb380a8a9cf39d5bb97e93688f162ccbe15f9d99f043c04aa2e0d03ef07b538c9241d279405f74960c439383f88d97102300c8ea46ed32fb3f202761f6f6563dfb68c745e1bd6078daa4534a2fc01487f8d4db1e29cc226ba8eac1a954f368993c70302047c435bb5006630640230734b2650c524269fe273131f18ff1ed89ffcdf4e1d583daa69e1c24c7ccf50538a2bee0f3d2180d11f58c0319a28201c023044149b4e8a236801affcc93ac4cad86dd0772766a8f2226a237bf06166fc2c9a9583c0868cb0cbeb36a6216bae9f58b90302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023100ac98a73e01e779e0ac6f7987823df7898cf4f715a92c87e6d511e76abd5182d8117c656a967c502c2b783ebd30e55dbf02301595badc16bb79dda31653de79bee449102b2696b95a5f4e6e48fa4d740726232975532976f058cf3a985c783a1964df0302047c435bb5006630640230173f93696146501bee68308809be539ba75ee4d6905dba5f8f972a3b479c16f425f64070be348b55d6762293b75a736d02306dd73930eb21cb581c4a7391b9b547dc70c7e8e16ad8aa713dd371f27248c40d724327fd4dbdf51fc9ba0e9cbe40db880302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500683066023100d2c58407bbe6c2e8e4daad920ee21e57e3339c3d7a311407ca414e3ec944575622383dfe19411c15b6b0aaca01b88c22023100e7b081deff4632971178cdc8cd124d107887ef676d2ddccdcdddf4859af69bb2964d38859ebd6eced328a684d9091ac20302047c435bb50066306402307b647b5d66a54edc832d9d99e4a99720f14530848bc35832cc7862a8eb083fb80cf61068f9d22774591a0c3e8170f06e02304df2d2347376ca8a273a227a6e9a9cb18815e23a5b59f7cb96cddffadcd13705f5c833493d5eaf1e3b3fe4334a9bcce70302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500663064023047f25461a8cfb7afb4fa6618dbe779d47a2b931386d45ad5e55be35891c9dae5ed670a77c8091298519fb699e626588e023075c4971027b86227af5d4a2d0ba530cedbf8f545d488694ff8dfe3ac4b76fb4aedee3621cc764e23abbcb82522c79b690302047c435bb5006730650230600d15c1d8bab8903ac5233b761afbb5c0a4eac85767bd435938f3afbcd3042b3aa916dd47082db5eafb40938958f4b9023100dcdace672c6f6f30a25ab3bce46a607b3463cdff42e7917df7805b12f6756985a7df868e383957b5088fdfb8c89d3e5b0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023100cd1fa1557ebca1b21df6c65a6d587b39649171516a6b89391aac052b54691c832bf6311cba08e770ae71254120c4dc7f02304e91b816bbd7c2f386c3cab323bcb049ad65c2e875ffe5736d1ff273437fa4f8ad521fc078806a6d22a979b4bf6e4b010302047c435bb500683066023100eb56d64679f21e72c270b59db214c8d911a79df1eaa82b97f5922a71d5b6f8a03a843771308a8c76c2f1998f41c08fa2023100e31af4c23e99ff5ce7988fc1d2933962892864e247cba874dda446cc368d3479a192f2ecac1f7079893537e8fa50a9f40302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023100cb0d02db4b84388da3412045bfdfbe6bb4fa278566177922b719ffea662c9ce83eb06559982cfdceeaca4072c9f6e76902303221bc3316c8c65d5e0e6838d66aa17f6fc67c14470bcf4e2d9b8650c97d053b6b8fffa93babb40ad2b7ab77de4c2bae0302047c435bb500673065023100e63f955cb3b14e92ad9fa9ee39fbc253cd0f7ae281d5779fc67f2a7a6d797ff8f24d2d6fc28e9516d66f1a74c78ca9cd02300f916ad847fc835ede61d64fafa102ead89e4057ebc0f405881dc39e0851c2551b45785f1b595b3786de87d1b36b32db0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500683066023100f81085df5c3fc546a54e47e5dbdff96d9e578bc8bd5c37dd889aa3edf538d26661f18385bc0afa00a75a725a526a029f0231009847466625d2b194785e2d8ec0bce18ff13315096b423d1c9d9d5f80eb1bf4ae5295e88bbadf64bc6e2f1d3d7f4128c80302047c435bb50066306402300ae45cefbcd22efdae68461f9203df8040198b3a5cdbce7a4de56bac6a112badc2d0cca1fe57be2f2244c0d4df2b05d9023005315ce60156ce020f71a1da8966def61a90390f950bbfdf76ec29e0b20f7363bc5310e54cb7941abae146549ed1e92a0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500683066023100909c5eced82a38049db1cedbe2faac693674e2f44fa3e23d98caf8152f0b2cbc254f9a39e9aa4a753eaa33fa1db652a0023100b7d82d26b5582309f718f7412913ac4659b9f68b515fa582ba7a87456a67d665bf5630e9cd956cfe670f7514697adc840302047c435bb500673065023100a41ed6ba6b37ba32b97a51d8fcef089504e3ec0a7fcf68c2b44dfe54e8820c2aee46c7673e4b1e955c1a8090c9b697f6023010bc649b36d238fd37b9b367253a10beb0e624550b06bd7da6ab95585a57d2466ed7abcf62a18848272f0c6c0a32d7cd0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006630640230383452f30113731f2ac4772e70bb7d4483fe0bda5d4226b70c66f4962215bea4c032b5e3d23d5606bf7a0fa96eecaa0b02301841163dbc679b14e3f007134d20b62cc7f1f2ffc6d3b2aaa34c5b1c0dc5c6c668a77e32facf64e35cbdd24f7829e6b00302047c435bb50066306402304b9eee08ccc17d2bf452e76733b6a7a8bda3c575739d57898c3820581f2358dbb88c8957335da62e45363718ed94c7e402307efd8ee84b1efea34be9ffc0ce89245b810b3c0815a21d84291536f9e617f6678f4b4937da6f602ead3c8cfd6e379b310302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500683066023100c2f3933a9fabe3ffea7520cd65ba7c6634648c6ce34acf3e86833be252b0fdf818599d97020ef04cbe6d16704c309694023100e8f8bdbf46baf1eddc1785cc1c5f7fbb1e9edffdd50217b4eed3a8fe5fc0ef1eaf05a0524cfb1c07caf8f13b9de0f6c20302047c435bb500683066023100bb41017b27737872e1b3a6fa3bedb96feafe4f19282164f8e04b61dbb97cf0908cf8f4e40accad08a29c943d4d0fc8a2023100856318f37532037dc1275a6243a7ab4b3c6bcb49395436c08c0561cbbe7310042bd0d3bf17c6d1b5b8fef1e378af62030302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023048a98e972c0186cc2ea2f8f786fbc235ea2dc37292df7ce324ec0dfd7b480587d2ae4a333a6b2869a16a71fd7849daab023100bbc1a8a4cf390244e3d97fa50d25cf31c5c77b36267526552432f72ee15eaecc19c3c3f8e45354d0303c4b9b73539fbb0302047c435bb500663064023072d2f2601fa6a09bf98042a6d8244ab8c23a69fa67a75c90379988f52c1d453afcb0fe5c36421bd69870b0251ce859ff02303f84c7bd9f5d8a8e192cd31d883bff81ea39c7396b0b40c4d63de8fa2fb3e48663c813115ece2a237faff0055c1b018d0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023100c072ebacf4ed9d16199ea592fee41e5b2acb973e24d1300851ce4ae27a075e582cbdae9adc7025c2ce6fb8efb992611e02306cde9de98cc7bc4e4f33d838b75bb649a8340567d3610d364259e7a3e673561c2656285fa11060f7f665f5e9516cbbf70302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023003a4d24a854a6d2f4dac8c9753d78a1c794c92ef4b26c8546713b2c7ef0a47f2a037ed7229233347a6b53951c52695060231008b3f24ff4e2c38627631878284888e94bcaa3eea80dfe71d1b1af146b31546d24272587d82442e0abdce9af121866bb90302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50067306502310089e2603505b0ba1fb61bc7a4df8b811cb4e7f2cbb888ba662efbcb3a32c2f7bec7a4e61d0cf1e4a41692acb41011fb2402301e33f85ec42a93813dc89b16a207a75dec5517f59ba24ab121827de4f7477b4a6d1bdfd3310afe945a69f3e9dff8f84e0302047c435bb5006630640230543266de9a83fac1fc4f3bddb40be379bd50cda2ab33ae4453e122c86624d1084ba201778903000cb8500401fe829b59023033858d861001110ca47cd030b57d709f5361ff7208ebe745135c1da1bb740d546c3aacb853ab0b916f4381bf6f0a82150302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006730650230362b7736bc7eac2fa8fde756caf5684fbcfe00103ff8836caa03a1969569dd6afae6fdc619621f7a05eece7c21e91933023100f29c4663ce5bd5bad20eec0c056eda13bb8998bb741e86e5bba4b0764979657a91f94e687bc78e810bb07a79fc7cfd760302047c435bb50067306502306ea5b5969e6ab93b3597c2099e7f18e883dc714e4375a0293cdead2cf08c3fd27b4e7bd39960b3aa54878366c078c181023100c82d87fc57c3169ae9ce8540f536f733481450a87b6883a31e5d7d3bc9c4644ce33e3062398e1bf2423e4c7298be0af70302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500663064023019b0e2c34fedf10a338fd1358928d2c763a0c1650ecd839682fd87c29548465ec61eebe098602e545125629448077a7002303bfbc78177974309db4474b05512afcc06cf05046109bbfd8d5d17cc6322c332e58f93caad22d12c4d26473f799627fa0302047c435bb50066306402304402d7e018f115628be3f7a8222b6efbfc85bb7ca58ca9824b0656d00bdeddeb24273c4bfae3340401f1f755c286967202306a08a451ae5ef706cc7546eb6371d922a2c19022fb8f59a70f07f756076f24d0592d299dc46f24260e5feaf8c9c0a1ea0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023075571030eeafc29594ff504648a76c7b78d0d04a934fdac47f3defeabbba3312d77e637ce02c3de3f24963e1a65d52be023100edac339e9a3c05fc1f4e804ee43d475c21dad4ccd753bb1a9766ad0dcba8a850fa5ee93d8e1eb4c54d723f8e656f9f600302047c435bb500663064023064e13114f6e5f2c1e3f4c36528b0f17c35587ce0e8a7d08f4d28174597ba7464853f50b9777482a12031b9f5abecaf4902300502daf868c2e31b8af2f534a0df822d373e2171a7185a2dc7f0288aa0b42d182d75f20a55bb660b6d0d0a6657d626710302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500663064023039c8da78dcae4a1aa2825962ce82a30399316eb456eea8c41005dd3913dd7bea6ad687c34493f28370fd5cc3f44133ca0230083e32190889e60e2e645c7cbac897c1c7fc5fd778650e40794860f291f3f7b8b7e9097b6267d5b4bf6c85f8e75cd55b0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023011918d412bc6441f5e76c42e6eb5c83ab5a78fcc1330e847cceaf27b6e87542299e1582d0b8cb71537e180bf2f19a655023100ccb9651c2106c3e2feb9197110c02e5d08f42d6cdc3427ff30e4a31623e9c227f02b1f3422311aea9a2a5f1fccdcc23d0302047c435bb500673065023100eddc05e8f96d5ab75583c65e9a8a36c05d73c15d72f966605e76325706103f403d2886a81c7fcc3489efd1fdae4f63a9023036acfa2888a14b0c81936d192c2744c399c415a3ce37f10a51eca75b0801b2a5913d7bbca01144d46346d2a916a25d960302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50067306502301e8b33004d28c2d730b185618f4f59544b9698a05120eb78b96761823827766baab829e65042acbc8dc92284d2117b0c023100fc2bce9c9e3fc6449da74f91c77736f3a5b99af5c87f01374faf191913c19457fa43eba36dd28658af61dda0b1e216f10302047c435bb500673065023100e88bf579f2beb893f26fef5aa98c93136ebec5ce3ee2b33916f47cecce4a3bae4918805804dc3b6713d0f53a6d7e9af502300a7e53caaee4bd2d579774c6fb0c5dc39dd03042027b87c4097a1da61566ba25711cf0eda0a73ae0d1c1fb11bd0fc49f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50066306402304e74e8da02f69d420c51989f9eaeba226262ab6345041f455d69b8c6005628322b4140995ebec46359aa4190c59ad6c00230302f48ef44ad86d368822350adfa95067958769d7a29ff7afda915d426f5159a35a12ebcdba82b55ad189600ca52723f0302047c435bb50067306502307645af655ffc5b1c84272ff6aebefa1570b4d2d84edd2b15f92f71eadd96677ea5a2a61861e1db0507b85da056ff7a4c0231008363d95e44e9fcadd774fdf14c482db82f0317713f6ef09e6121c9b76350cb0328d485abf1a9247bc86b97b36731fbcc0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50066306402305d1cc72391fc58cb62a40d0639b6cbce8b01ac9d270faf0e5685d2c6c1a457e16484932074a76ecc09e42ee382e9d191023028ed4f35247c0c1154f4b3462d39df5bd3ac6381ca211974fb8cb4d1353377f08acb063e544723e6d81b02aef553f4a30302047c435bb50067306502306170e9bd4881e7ebcd7bf05671ace72d94ff4311d619cf51531e1ab74dbb2f8ea2df2cea781dcdcde25a1b702d7d2795023100fc1eafac2c7565e29a0e4865f507009211e33ade86d7c8b83e86d6c50b278de98e0225c5face8b292d072c3ac00b448a0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500683066023100e2a2cd5fe55fad682a31ef7cf432aed79c6d50ea814e4fb234474973ac50e0827093e5e8b8bc15342e7c9a087401fb5a023100fb40c5d7f6767ce8042dd9f1c58252b2b33e218cae81054aff5672e52db116a5795015594ecb9636765bf1ede9ae9a350302047c435bb5006630640230587738a984da970f3a8c007b5849af5831fbb6f04f547e18c2929b64feccf6aef4dc163a07f5301ea64ea80218ac45a10230276f8d0cc94aee011931459f470bd28cbcb334758fd99d78e7152d4e6b03098cf07e28ffba137b83013d517dd51b4bba0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50067306502307534be18922958fff1e03e889460d0084b7a79443a5dde416618d26c93a812f04fc35ff8b913eabafe71cfb1e49cd3e4023100e1dcd2851dac223fe8275a19fce9de7439fc518ead3b59b712e33b56e0a8cce8c22357f3970d23250fac79ba438611710302047c435bb500683066023100f89b5a3e8a454617bcfe9b75c75aff1610a13ceaf515113cf20b68c65303ae0afd65f7b39b8ed3b5b086a82255ed9d41023100837a6c328389c69058041795c68f5dad117b78c1a53b33336133293f2576597b14968ea110178ebd45f3b247cd6db1de0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023054274f5a590560ee796d92f81b9117b3041e0adba5821d91dd8b4e09af4a421f30540696fc8942bfacf2a0b6447870eb023100c46c4c6e88de141bfb2c66248c4432bc44fdd42b3ce3aa4e5bcae7e85f96cf4d4bc0d418071d1134bc9f213c2fcfef5e0302047c435bb500673065023100a2717abc4458fb86a06cb8cfbfe9b8c60bf81383777a4ba9748096c625c26d49a264115b224b3da86ec761d3eb9145c102300256c77b56f2e4f685ad7ea7650d55b20d4769618b55cc21591d1095a51df261180e615a16b6dd0466ef0b851211d0ac0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023021ff63562c19abe9678f8b97dfc7b178e9b8f9bad66958ce22562e38e43580080f4ed88e37feaf4a3489e00819cd4ff5023100adfd1ff9014b2f63d1a86985bce1f62e3e293c5d7a115cd20ebc45f844125c3453391f0532cae74d074c1f7360c5a38c0302047c435bb500673065023100e9537a1abab506983311fddda889c4640d693f19a731232893442310cfd219f6bf575eb34e165de0243b7c1de3a2100a02304cab1ed57d8552618f59fe7c250a97ba0170ca98d7c7ef64cfe20b75999b189283664c32a46a82313f28145bb646e9fc0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023100bb700a29f31340f217c13fb5c23008bcdfed1756254e174d43e72f58ba78284a99c7643ab08833d7a38d7005cc4adf4102307791f01acbef2abfe56ea2ae2931eb015bfa78df6f14fc58e8d3f6fe97be19b75e3b56b18042a91ad81fc64aa8ce879f0302047c435bb5006830660231008604ee383215f84058c7580ad039b46c422bf278bdda86927f7a97b7cdfdf54a52ab32608c74217bcb4ceda49c3d3856023100a52c69bbe8a803c58d4f5ce4034e7941dfa2145977b4c9007d4533b955483592414599a11599165610f2e7ff5da3f08e0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50067306502304cf00b7ea02c659ebe4a9e2faa0418d48d2d01e355d59e6e708c9a3e878a1f1d31640163c58635e10b98d9447aa8c8cb023100f1e50774db61d80354bc5955cb0819041a4ae8e8a3330e67b36a4a1f084fecc06509c54d76139a3380b15eb02a2ce0fb0302047c435bb500683066023100c27701e03fdb982f6581b607316eff7f2b38a6c93e3442ff5c7bc38683c92f9bf66c52b235c635943f86221916928da0023100ed249cc52eeb21c8ffe609def96f0392c6a29a6d4bf46350953dd61b74329c6f9169ce675098ed2a24b68ee0e544e53b0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50067306502307cc7c126403dda5915e1380a4d445275d1d5ddc76fc12f0ea17a9a7282d154280ced051f185b86bbe6cb2298392de88a0231009fcd8c61fb87b7af7d3ceb124c4453d27cb1442242b5ac381d8b61643fc90209dba9094341c9a725bc08a27cbd3e9a220302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023051f519548683e1c4a1e463e91e547cb806f2f783c8c3c30a782f48c34a892bf37eb7b6ef2d94ca2d83a78ef29159f740023100fd60ab13e795cb558eef69bc9f1d92ed448fec1e5e31862a85f585c7ef16dd302fd768c5032e0f5ebf643261e8f0fb7d0302047c435bb50067306502307371cbdfcef5f05e14d7c82a54869d710d2b49fdb120137452c5f7c7919b93205aaef3d0b1d9a6b770dfc4fada49756f023100a82c2afe240573f76b607660fc672779e867da057d685d91ad3a2d23c0e71222c8bca72682b75bf7d20ebbd79891ce4d0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023100fd798a6b23beb58a8ab3214fad5a3b1d002c586e574df65a403a1137fe52577f96c351caeb45c38908e0c4cf3642e9c102304030223104a30836f206c582e00a158b8a8e0ca8dceba8e6f6722a12c98a4bb3f654dc60ff4e7f04018beba14d30e0300302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023100d28ddb217f82b15c601f89cc02f861869ba93a62072204bebe3b734a95d1f93e7399042eed4b92896cd36acced70e14102307850cd8862e3413ada79a4540d2b25fac1063961b9b8ad1862402092043449e83d6e681ea128528646be8b20702d0e330302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006730650230071c22522d94a6ecf01123f2883150bbd0666d53d54faf69790b740e08b1160adcc10318001d04152381a6bd5ca2843d023100bef759a26cbbae55a4a6d9f9df1d0398c4de78afe95f9c14ae95478e322e497f0e151174df2ede96f0736098d54b32d40302047c435bb5006730650230086aa95e235ab56788b5df21f7c02adbbe17b54a2dca27b58a84a66cc6bfd4ff26a5bd3fffd64dec289e7b187765733e023100cea4a9248399ce9d8b9d94d06bd4cc13ccf0d63f1c989e5baf1df394134785c68e08e04e66d46dcaecb615a594f978dc0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50066306402306236764d407b6366c7d494947b5b1bd3c9dae7916d3042a97e818f72c03308bcf75d386500573825747b759bab2977d2023031cfa5f8f0b323dbcc4e57fce6a8b5f5f91a7beacfaec449539a124130467b5b647df000676497a3b998b5157933eb1d0302047c435bb500683066023100dfe546d2f28a14132237ce437d8eb414a561f0de73d702f61c3a7abdd85a7b418cadc0b91acf10793f114b3b773bc591023100be5d856521ba3f63b3c30e63c237120694795a474ad4082350fb84fe4ccde6a43c18bdda6ccf203415781fe8dbe955fb0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500663064023052777a4e89de574cf374e734b446422aa89ff4f481735b4532d20520ee393ea3cbb13cfd38543955a7caebbdc835878e02305dc530f39d9ea0f8b093937c313d3ba4e2f3c14f160e45b33ad1ce2c98deab91f6bb6ecace49b872e634cb3422d663950302047c435bb50066306402307b8d81fcca7ae1fb9501831037e36b3d141a1115291f8326c25cafe0de0be0def33dccb436d89580e4eee3ab7b9dd70502301e8c0c2deb6db10bca4c64d7186b2f96e3a19dbd12224036f64de54dd9ad62d79b412dd4ab9bd24ac70d49c9862184b40302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500683066023100f1e99890c9c3ba0d583a587b5bfe8660f0f2e5d371d7a5598603d4baaef1909dd2e0a2ef9e4d5441c841c168fee121d4023100ae53e03fa16f2773531269875f6c9ce49a0dec6adb117869f9ab83d8fd28839d4866c237440b62c38b2cb2d5882dda250302047c435bb5006730650231009ccf020f487186ee9a020ff111a88a3319d8ea7045b58ea34a6bcacdcf97afe80a462353569ecd1d299e9088a344408a023075ce55afa30f6c5fd0310df294608eecbe97ba76b513f5ca25d9f11e091f39ff849e1737c2ed15d1929f3c7c322716420302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006630640230039be8284638334664e9a4702e418a0c07e7ac51e29d4a3438aa3e4e88490eb2ec4f7caaeb45687f02bbfcbe2496a0ee023011da23221d5fd405f73e0c7c8cf74f43cf2e0a41dd3d66d904ca7e6c31baa8a813d074530a71f2e0a203fe09e213734d0302047c435bb5006730650231009e2010de22f072887b58a6c75f1bade0f93c2093c0cad9f9a9c71fb93529e8161788630e167a7de8c85f375be2a890f402305441638d9b7e03218ea6b2ad6aee9e98b339e0b4d3003de53f2ec269501d40414546313d70868a61750e26438c19b22b0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500683066023100cc8b868987b7446f7ab9cf7bf9418fa699332404d76d8cdfb7f9445a7f212b6cd554d59ff7052153b46e81fb924e9b2c023100a2b71e48280a325f3d50cd592e12cad94d368b56492a4deb1927f3dd709d16eaf7596dadc0ed11a7b23da00ec37d364c0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50066306402302a5f54d5976c609a810681cac8a044f7c627facb542b0512158c81b752abbb7646ddc8e85a1bee6ae81728523363d9f202300d867d5be82ed4c6158e2f5ffab6717a83cfa91d4968da19f2c474fc9a762062d48ac1fbd31343a6942db11d8c555aaa0302047c435bb50067306502305a8fde6c08b7924f98642ce2b9b3c489c58d048743283e121b64ca8493f6cdfebed8998ce070680f597142c4292b027b023100f1c34129a458e4a2c63ba035beea8750fdf6e70d40c1dd9bd6920e011ca738e7b74edcf3c528a393ec0329553f761cad0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231009b8b3f315e2d1f007c54e06817b556bc16f0e65429aae7530305b77ff56397f231467d58c29f43ea6881229f168db741023100c785235a9235d0e7ee2e302e8afd7326b9163772e79def089fb780e95b973c7ed57ab172e515b5fe9bcbce017c0109740302047c435bb5006830660231008448a084472c90e894988010e65ef3e8282905b9598aba4eccc68ac22ea640d66e26fe10644bac7d8679e73e9cebbfae023100c29c776caab25eb09c8beb2105baf788fa0fd7c1df359bde2bb9d2ddcd13a43f835e099ab5c69164b7c09c1600a3fb2a0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023100c4c97ee86af155db05b65554fc14da463d39a775aa052fe09bf32ff8fc2c4a10cc220cd479207db91c713b627cbbd0b302307c369acda3922ed4b1a41b49f53b68a47dbe38e1032d05f9b78e51de0163edd5b2b152f4026f49b68d77e8c30e1e5f110302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023100f546961950c6898cd97224e9f876d7d05639a86b9c36d85859a1f99304a47b0b51d541a2f769bd96a9c362d70d7aab0202300dc2f5e12cd013e4ecdcd5e2a0a01b69c470ec7b1e34660f889af85a3808a0f120f7609d09fce8619bd2672d14b57d480302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500683066023100c62f57841d636020a3f7649293ddf4af98bff6e0e1243063321e793f4213f6a6ddfda61cc939756a6a05284908a144c8023100fbb3ca1fc672f803824d8b1451c017c15370a1757a362170d61910d1271fa399157fc0e3062b444d250257a3799ba55b0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023100bb78f79590eecac461f07383385f0bf807b8c219f0d4b4f2ec4d741c4834c2d31952f1ebeec3b561918cacc18b0017380230587a7886844eb5c6dbf2bc3fdab58e8050bef3ebd545b38bf1789978bc4e0276e96bec3731ce9cffd9780cfbe29b52d00302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023009aec2756defab398b7ac2025eb1fb1a4b4cf633fb201335652c7aca537c05a7aeac8a2c69fd5d5c74bd885439eae886023100a84141e89feff2c57ddcf944dc096c751a085a1f3abb14ce5fcef2f93c9b33c274431195aa37b4e6e7745b7d40a6e9400302047c435bb500673065023100a9edcaf24f1490ed7d0d2d7bab634734262003767153640dc2f390997d57af678dc4640a1b68bf4b3a5fcf5934a534070230525609628ef5e86d5c9c85644a9d725a317f879020ffda899c33c30f02e13d1e7cd629d9cad140c9af46e86944cfc0290302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500683066023100f50148474bd066042021f15bccbedab5274e33957ad15546ae8e1ac7231c7a05a0d28502138c18d8e0fbca7910a7db1e023100d92622877502d8c81a4c52a089a1f6c53890a11282be6c03ef52334af242d83792d0bae740c7358a123d2dbe09d656ef0302047c435bb50067306502301c54c5099717aa6f80c27eddb9d550954dcab24be2c7d9f6e418f07bcb23830d2518216618943c2050296e81f46448a5023100a9005a2342817917bf2a5aa715aab8e39bdc14fb9b8c08dedbf484a93ee5e5af03676f6f05626063ec86f60a040183ce0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023100adf84312cb244ac7301ba59a1c91d99c36320d7a9ddc26f2e7f3fda23cab1d377ec0ea2d9017bedfb8107d3d9e0a47e702301e0e2e803f444712095a7f0b339dd65294004f6e8bc4bc9f08e503d5ed4ef19e0a76b5735b6008cc075c32c292f43e040302047c435bb500673065023100c701edafe5a26d0a36459e709dd21099d515ca2c229a41a675abacb6c28a827d023df1539e4433104369c69fbabfc4e502300b99131fbbc12b438fdf0247eb7f85707ac7ffa9081391084959a37c04078764b5ab22dfcf31cace18b87c2103e61ae30302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50067306502306e561975a721a33128c1ec15ae3fddc9a83b47306d85e614f42b47c6c8ae21a197d8c7626d390014bfc036cbb9066745023100dfd39f80bd1d634c6c0dde0cdb825b1f83aacc26c4a39e7f4588cef016df61d74a30428e53a09d523df6ceb96cf809c50302047c435bb500683066023100970ea168b6a84d0f4569d64175eb3919436115fc95ca2f3ea22dbdbbf98b88c2de2dbfb7625d969fc8be817076e72bc3023100b86e56075030e9dc6681c337302ba57748199094fe2679c7057b60bbbbd3d3ac6ee60c846c2f5ddadb1c7836aae4b1ff0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006730650230515085c9162ceb7bd5354825bbafe062846352e2fe1e962a1579b8d39a4cf7fe5c533f497e7be1cdf18aa3e3f6b9240902310085204bb96071daf625aee98e26321d53acf04582a32f54fe8e98bb081756a9826bbc6617b4748a39a2222d279b8a1cfb0302047c435bb5006730650230560ffbccfbb3bd74fd0b31316abff629d8c142f60315c35dcee5b3ff1ddc1f1ef947080e1785fd4581bed815c9fb491d023100d78cf68bd5c82070a0929be938b3b184f1208ed59df99f88fab865186fea6d9fb31f30d0b7b7d289cf854573a4d7af9a0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50066306402306dbf1de1d8bf301da56584fda9474b2070128a4cab14736d3502c8e27f4fee2012e1ead823829060d37a1d8604ec87fa023028a0d73762a4cfebd1550baf2c8b285d3fb69d229d7284bca0c43d1496aafdda58d1e97b50bbc70a9b8f6d4c61fcd96b0302047c435bb500663064023048a711dcd8c39e9c72a454a1ac5dc21856f9247f54a7ba4f07feee2826017272f8373a13f8add4b0788ad890f4c3692802301cb4bd2237e887a3d0104c43f5517a640f7e8182aa6dad2356ca7938b301245c408f68faef7ccdb793fe03d2894c94e40302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023011a82349ba5d2261f9891356f2c5dca48f021a21e14a441a349c2cffe9cbcb80305e8df07f6af13ffa2e7129cf6b79e2023100eaf490a4aca40524ba37a215f93ba33ef8fcdef4230f712dc3f32c9880553933b853141a618edbc06c936f633e6b756a0302047c435bb50066306402302ea68f48fa6aef532ee285d156e6a5d1c8f4be050e1e2db6d9f106f09f06a897d19ccd5d3692abf60e0244315c468f160230345f9a831b67d01926525760166bf49089a8e4200022559a5dbaa0d1427eec0295de7fb3b1f0d7ee2d6a08b31ae9725d0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023020452d66dfeb0f09513eed9669d3298a2c3acc87f6cfec5bf32ce8af9499e33b8a577e3aca988ae8d557b53bdd5215bf023100a01ae2330ef11e3ac27135ef09e2f8f4140bf2f094d392973f61c743350f76dbe5ce282069b2aa7e3a0d3d20e0da20fb0302047c435bb500683066023100e0c56a7912104e730c717dbab3be5198646fc0084004848e2d81a14ddb886a8306902d07685122547ee6f84afca01ab2023100afbc0ad1086e614398a2584a1e11373e33e7f0c099ee346b527af969284971a68e9d688addadd80552a6e0591e3840690302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50066306402306d2d5b5c7a05c13e104e8c5db11f5c1b972f5cf120cd9abf046c37c8da442528f628764551eaa4210cb82c9b971675d502302df75a76cbedf893d308456e6376897fb4a3439cef96672a48859b6813ff02951dc46d9c94a8e7a65b4ee1e77683bd950302047c435bb500673065023034edd21cd57d3e9fedc24a1631e6fbe30285c24d21a889978dd9e11d3bc89435c60a88a8d2482e142c99c81e96192f70023100f90e3eb3470fa2135cbb6416963612e6b19f87e38adadbbe50dbd3169484f85ffbc75c8a71a51dc87f88758fe8243bb40302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008f4874674e03cc5933bdcaca27e67d343807b8b253a1d8cd7c2e8dcfb880319f0963936884b1fac3f247cdeb316328fe0231008ea276c80b3e1b1d723f1032be293ac7d509395af39a955b2696afb7b755d5feae3086b1193fb9e194638287188a79540302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50066306402307cfc5d7a012273f56e7d2fa3162674d9cc202011a093607d7dc372f7a2282ef630dae0b17c2d25f8c3952402a0264f6b02303da82247ad0b5847ed769351a3c779e5e4dba3ac3ccc3a1bf27ef0bfedb08ec5698315b7f14d581578cc6d386cd9129d0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50067306502303410b8d3d04b2bc57f74d50047b59695af6038fc12d47ebf647db216e26b04a7fcf636c50c88dd9d54bc7f085d77d930023100cda1f0d0940fa9f17941288cc3b1438be7097fc131a268cef8c1e19a1e45fe6a01af8cdcf11bb3d0f868b86e641b70850302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500683066023100f2837377ca4daca85feafc413cf0d45bbab6f2f48fe01884142192d0957b10391cdbe9460deed5cc1d55d0fe601407200231009368c1e05acc865c480e54ff350d559d2cf2b4a86250fd24c4bf0eef80554b5d4dc093fde54f80eb457df77c051bec470302047c435bb500673065023013d9a9bbc7f9f67d2bff4be393ec7c0b9a49873da5d7de404601f1d784c4cfea22dd615d9de03f978d9a5a92b329a0ba023100cd7c2b83ec7992912c26530cd66fd3024129ef0ed5f5d4eda69747aaba6376c7c3e79dbd5874470a800c3d2e14f176d10302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500683066023100def0a7d9526f7566ab1eb6a4f0815bebd1132cc2505780fb76f8e7d9a6023f4b132fc2a8acfb9b8432bce60b898ad6b00231008a7d78b40d1e4d4be3e52dc76af3678414c984f61b0bcbbbb86c5b657cf3f7bcc65cd102a79b99ff7bebf25b6c2662630302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500663064023061e85cdccab94e730c6210917155bacb1cbe86d2cceb72e13b3787eae6eb1af1f1c2907cc41d98ba1ae7d418cafc9a3002303d4380e24b48ad3319857f9cb72eb646f8ad4e64760a7c1b40093a288806bfb78f428174c83d377625c79f5cc2ca3aa40302047c435bb5006730650231009d3336689dac3cd6c32b1a9a22cd40fd11ceb454855435729ef324305c1d81fb914633dfba6f56c211f31b4d6044c70a023036ed42f6f6267644ad955fe9ba3af43c27923821a899b7c720e76a949fce609c88b211e810c8d2c9b1b557b264983a2d0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023100efdfba2c2b992665b0e6696236c46d8f98469ad3f3a9eca0c5061a0ceebe7bfd6c56f54014bbb4299c7bfe36fe19ca53023016616650fc142db8c97158f3a47ae9a3b9a13c155c4feefa30d97b938227db08b577f1cf5d629eefe80e99ca6363bf090302047c435bb500683066023100b2a28865fb67e18f2a3b06f4f876f226308420551c824ef257271fe33ca4bcc6c9bb5bcb0f646311ab742a8fee6f44b5023100d7a6fb6015e06c3320799cfad48e589a91e8aa9bfa16a11e82defd80c236af0627bdbe73ce8454ebce51ecc7b25f90a00302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50067306502304a8a13848a895996d1ad9488200dae696e3ae5585cf76f2996dce4d726db6f07acf35d3da9b1e05ceaf3cd9ca6ea5951023100a7d1b44fa69d5bc64a19c0f4cef5883d7b186680bcb2fc60857d011fbb4919ad7e94d02929e9321d0e69fab0b4a15d0b0302047c435bb500673065023023083d4217f50bf5f635ad80fab06d62d0926076ea2073d979fefc278fbd6d7a5b67b9254f7c9eb9212e7f59044695a6023100bef58fa6e22315506a953fc235c69b5b36264b52e614ba53857f024c46769fc07533760eed8802be9e0c3bc0902029ea0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006730650230670fdd07ae64af26fc86e96f54f2bf5ded097bd65a4b53f6b53733730f782530a99881167c7c384bf67c5e33ba3465cd023100b7b397070b0a2a3006c08c5daad4a767b7be536a73f7977051a2e8989a82b7d45f5a1655130fe441630e56656117748e0302047c435bb500673065023100aadb6e66ca4a419f2f4951034aacad91fe082d5cba9ab3fdd3a7b5292384d3cc2c3233a9c4d096e79545d6be6888bb2c023055a17454f6e6b51cb9826d0166b982edd2478da34da6e5b3bd10338eaa98fe7022ac21402580d59aab096eaa7ee63a870302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500683066023100c8625cb9ba53e4e1f56454b96004be9d072f34549d252538ead69ddd1fe89e0c44f1fe8af4d2c318b4e13c605682827502310088c34a26d7580e65aab6607f1ab61e9f8cfda47b9b6934331fe0752eca900a7af31452fd10d25e1b90a4562b207621e00302047c435bb500673065023039491e7744fb3176f0ffdc7ee2203b634b08b7bed2cea44de649d416f766ed7b5f942693af68498fee2d831114a8e35c0231009c2e2721af86919a0e6f41d04e1260d0721daff8e72ef78947c71c3c3438ab3403a2937af53444769f25304d1ab8e7ce0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500683066023100b6b639ed0999d3a8b357186ccfaaa11fc3d8700fe42c447e770f950ca9ce758043c05f7b29e691cefacbafa0942d4b41023100eb33d9da5cb08036c650a4b12478a607a5836a2ef6201db0200f88777edde80fcfb370f90b499d75e0f4bc51272d42b40302047c435bb50066306402301758c34c234e4bf8bca1e7db5b2e3969f9e9b13bcb3a6f73c5eb770fdd8ac4caa50a82974d23bc8a93f7e305b1aae5af0230767926323d2d14999e5549ea92f411cef83ba830573580d550872dc5b7e9f81b5b03782969aea6a8158a489b651cf7db0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50068306602310086e7f8cc4568a707ee5a3a2beb33e8975951d64006463c154b6e407981ba6c601e104032584d600dd4e4724bef83b96a023100b661045580d77fd79f78a8343bf9542625fe2e94846aa3ee4e4b29bd51ef1ae2bb702c72326c32ee7b851b64511207cc0302047c435bb500673065023100943e401b1a691eb1c1bfdff4f89a43694a4492b8066793be4646fb3acac5c6d19102753b6c80a02e1aa71dc6d122cb89023068c21dbc5eca7200144735e2c65e61913089c1eb0ee2c5a0b5316adb8e3dbd6157407c0d16233961e6a6513404f702710302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023067ee97430a2697c8104036c3c5e9e1f5522f6f4277a5a774455285f72d42276e5ffb7a3bc03b739f1b1198cbcfd639140231009de2e3f0a8d028ac92e35ecd31c7defee149747bc242300d3cf3a2b0ab71423e99946220203b4c67b3da09bf5d57301f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023100904c3c11ddd15746b1deda64f7d7c916c8ffc68fa22f6c1d0a78e6435bac49b528792fa94c29064f26df58cf4ffd594f023039e96b88ba549bf48b1489589aba6928fdfeb9b0c551038931675c225f32b7ab671384eb9bfca87d76965e8e80106fa20302047c435bb500673065023100a878d7f47c7b6fe4590a61e14eff53187e654f4e84e0390a43e90cfe92e5e33bf22a8b7f8ee088c469ad092d597ff1510230284a4da549056a44cddeffa44c435850193ca29a7005a32abbf340a592eee532076dcda922b1e01733f6f099846022d40302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50066306402304c93ceaf474a2425fac50e5e3b45b91208f8ca84a2c1235e0f9517d7744ef582d1d83f138cf2e4e82559de754f03939802307f28bac408e2135f22e111e0762810ce18714b188709e044b718d7b00a28996b640c657a291154729e565943ef792e0c0302047c435bb500673065023041119fcf1461b56cc0290fa6294d5afb4c15e5a6c380443571e47385973c47b1f63465f9459b9484ae878ed9d1df8c9d0231009ab245a4d826b0e801f10abcd836ee80fffc7cc24dda850f90b672220545242c09c2c84bb8321f8f3ad5e539f3acea9b0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500683066023100c755373c53f9e754877386fccd469908bc96bcbe2e1e9e82c83ff69cd6004a1e08e5c31ea7a0a28b36acea55c91a47ca023100d179d29544b1b87e622b71cbfde02d6cf5a767ade6c095f6c9f1ba1022533e32e14065499fb4594d8ee04e537f3492a90302047c435bb50066306402305b901fc39a38f3cbcc0ddb9da26dee63f3e5d14138a7dca4a8f7632bc3e6a121faa4825ee9c2148410ccb2a125dcc2e4023066ff426c0d78f772ec86cbfba307ea3e3b3776c1f12dd111755b772cc6fbd3f4335734e940f5f65fbf79b25858b20e0b0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023100914da7b4b94ca340fd3ff077fca23f36dc066611391511b52adfca7dff38bf712b360982359b2c1734c6b86455a046170230030820c5ec2a95a2d240455a642013c37a0172223d8fbffb67219dcc447f4f6aa4a173fea59cad2f0cd8d1ef55a047890302047c435bb5006630640230519c40b4297a22b213deebdcf021c7a33786e7ba47144ee4cdb2b2306025d2f139040653591da7b8f577c237f933eca6023057d8d06097e0d7635910469635585723195558d25e6191f5e6ba853ba92570516d0b85fbbf42854dfa56eafa5d7e04890302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231009bc9d7afa75e5e1a84721b44adcb39e214ebdb6127cfb7080a76a2bedccd2a7909c9fd13b87e0cc45e5d12d1fa9e45d8023100860267e3983a213e24330baeaf331a96a7649670f2ef6d837cbede9563ed9c9d9017cfdc75393d0dd3d829fa462f529b0302047c435bb50066306402302e6f6cbf9f2efee04b9b8878ca152250b395cc2946cd85257e50a52afbc0b25e7ee4224067c4fef63deca8d224be55ce0230458fe45fe76133ea4c84bf4488dba1c5f9b2c09126eb862d9ae7045abd2f93b05c37d8cf3f858066f786b4268dcda4010302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023100d7e1b6ec1b86ce52c8f2ca3b0ac1f508b9987bf8ffd4c014849f439b350acc07eb03f9cb9a5f363c7d44f448ac71b74d02307d881a0f9b61ddd7629b4f59c1327bf6d507ddc371725ae8416bffcf730036c53e1b254571fcc6338a6f4dabd9e6b3d80302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50067306502306e9c4f3ca8338a33217f7d2a39c815b6d1fea4ca11d11d10060565184d7ea655e10bfebb3bd851b070af17b151ce61f4023100f36602e13aef3f1277829e63947fc1f64085ea016e4d5c0de82a872e469b3f8a54863277bb64271fc35b0bbc0e0c77310302047c435bb50066306402306128ed3f789e1498137655f376724e6d992505cbea7c556b5a5d8871bc1818e28720f3c45a3e8e4ea82da53617a2977b023076125372b4543119c0ccf6ac6f27f40a7de6c55926d8c9c94e58b2e16cf304155c6e68253624b773888c93b98649e1a60302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023100c0ee6dc394aabb25b54b9e5549344cfc9c6172cedec47516fad797407623f7192a5c0a920b312bb6f55813088329b58902303fbf2d660bcc94b247868f8bbc173ea5890bd2c04c108f2390825b820de1a58fc365ccfa15af3a5a5552907c14c57a130302047c435bb500683066023100ceeb9d88730a00728db0720815b685669c3f1ecf4feacca7dfe2b6c2d8055b8d4f913d82bb07b0dfc187f7124bb3355b023100bdf25e12762f1b04e2c947c784cf776bf60fc03756d4e6c1885fb479883a2b89453d66ed9d3d181fab86f02fed9f04ba0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50067306502303f8bf22723ce8e7f2ef4a1fb14ed0ac1ae50e9902998672ad5ae1b820b21980dffe74e83f77b26c8588c4e77ac46631e023100bf9874dcfc7222f094c22be7fee492cde0d28fa86cbd847590fc45cf92a5eb4a2e43e3c8f122695c974dcd2bc0adb5fe0302047c435bb500663064023072b9732b61933d2571fcc213fdb90bd7a37d9115d874819b59786d3bc0eb1f268ba75cb9b9712fe218e767295c88b15a02307c72abfed304f296448a964d2e1e8e236340f7c9a871a8f3095847bdf3b2126fff3a8cb492b9021af03fce37ae2c466f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50066306402302dbae7ecf3b5da57ee5d7895f5f9e06bbde0d2046f717078e70c911238958b551fc58f3821db590ee47c8ccbdc181e9c02307309f60bfbfb3e8e2de40343fb84e22ce77a91ec04d3013a4ffdc289877c51a22252f0df3865750332a3258d058244150302047c435bb500663064023030ee662d9d4e03765579e9b2339466df1ed23fca3af5239bb232b559dd139193fabdd83283c8c0a5f1391bd627ac079302306e9038c9cf128fd106de962e422f418a3f7d7998f61d06ec0895285b51989076bc0a6529eca5b7df062d04215c31b4040302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023011c04576eef9f1e4cc16a052559ea77347b6e3825ab33d616aeda62b176adc39fa38f6daa366278914ef98cd94c9103d023100ac13166d132a83099976c97960cc07ee28723915ab8a155d46e837e63ebb5f5c8fb1fc6b38954af1258f9821405a93660302047c435bb50067306502310083bd8d0bb21f362c4dc52bc08df4136188986925e43560f73ebfaddc3f69b18c82badf3034c2ab392e006ca6f441e7790230533c61ab90c6d8b03283fc727037a371bf6db6bdb82c50ef1ce765584cc89f051727b43d11131b08dacd96c80a26a51e0302047c435bb500673065023100af63453e9e441d5b6f25286051f8a1438b79a56ee1940f3cdda6fdaa85105b337c316f6de13dbf448713f7e4be888b78023027624d2cce0750e20ef79b34978d21f08b936d402137b5a53e3c55e628b2d713e2113b6c7b28541c65b1dfc8870b2ce10302047c435bb500673065023100feb7a3ca92bd46c57579b425a5c2830cb4dde53d5fc4423679d72a5deedb3b4785a7777cdb315be1bbf3386cfc6850e402304f9f61eee35594294f2eacf5af397dd678e195fcd3322f4eb6bfd7f86c74f6c4d2eb30974e8a037d05d7675fd95287460302047c435bb500683066023100e7af9d27e54f829221ebbf4e2e85828310807ad2bc23f7474e7befb2ed4216f5388b697d1b3f6d857665aec0293929bf023100f6455311126986881b4e507be3eee4fd98e0c72a85f03b8e784b10b1b5b3537418be96868e0c7cd641c7b9854ac1dace0302047c435bb500673065023067fb69d5b9425f88e3f6cb8594a69e8bf4583935b4fbe1e12ca708fd87ca90d31c500ae715b1defdbc80e3875ce76f49023100c4a2c6d4ba25d34f4bb09e538c43b151773884759ce02e421566e943130ba1d6c06c74374ce36ce785897b141d49176b0302047c435bb50067306502310096a5dcc574853f3aa675229394c404d568ffcf12e59511fee308b0fd876cd38c7cde90280eae87163fef7999a0926a3a023073e619b7ea239ddcdcbf39811f3db48e902295706cd6260f591a65c3b2063b15e394b2cca6c6d9b62a5c670310360a8c0302047c435bb500663064023075294b939435c016b890fb6561211349c3191d558438192a53e2fb00ff8224b5127024c0e418cd3c06dedb2ab8dd989d023011e21631bbd387947b60675d6911682e89114f72c215492477d43ba5e9a9ed829ee8aded4a63a2f3ce84a3092b6cc5cf0302047c435bb500673065023100ac60fd3595beeb0fdac2e21d9d7efc347a06ddaf9e5a85a10de2353a0423c31e184910dd293d33fe5cba75ee6db8028302306894f77670fe34a130cae22903d8bdf315388cf640f5de7aa14bec47fa607a5acc1e134e085c0cde4331c0e2447e54600302047c435bb50068306602310082d42c4d4ddd2de3bc788c3ec1dc47f5b8da256dd9c92fbd860bf51a4a888464d6706943cee20128cfb4445d6102f2a4023100ef4ade7d56112ce18f019af61e7fd4110f7e07c0b5592b18860dd0c69801c2d681ae278df39adf7e6621768818b7a8f00302047c435bb50066306402304f32a73e6a212804a5e01620d78ef790d0ac67cf45d3060dbf5476211d07c8f0dbf70fa4fb5ffd193ac23cd786d5116d023015bd3a55f20106314c443ddfb29352d7ada89cf630a5db1c196be1c19ca97d10618e271fe68b7080f3b0ba5c8e84a8660302047c435bb50067306502307bcbde00d945243c422d2fdf263062ea20a8653d6f062a956190d2c09063affe2a8bf097506560107204389b08fe32d3023100aadd267fad7551cb0caa34cadfd4feb39664fdc9d46ef55b12b43f7d13beb11bef8bab650febb704c63639cfa1dacccd0302047c435bb500673065023100fdf2ecd1694087273039e0d1742ff8a5b92c419c0c9a85cb5a34b90ffad26a5235dc78e2fae5db913a710700cfd4fe7a02303aa06998b025cae8e95bd0f99d17ae180483b615766ececc44648af622251a4b30fc17a94384f996981987d62c533abd0302047c435bb50066306402305565a6f46aa3cf73f7005bcc260f2dc26e8246dafd2ec68c212130bf8a4f5e286d3dcb0b683c1e1f6a3a4682b018d78f023037576e1dc9b3a6d1697660bb45f9beb889edbcaf84b3f3d5e0b0d2dc5cb2eacc133d34c005dd17cf0bd327b2d25e2b240302047c435bb5006730650230464af6bd45b45eb8f283ed83b8a776cf2cd706e772cd0f6b03a386f5638f923af32211a5e2e10a2d67bfd01cd04d8680023100c606b955f367af8d4ffe517d0b869669d2cf4488e9b7be69c84cf1423f58ea67afc73c1c81d7774b4c8eaa3472af89f30302047c435bb50066306402303abfbc31645e0105b0764337fe0c26cd871fb7acd14388f26b55ad4d09f0a89e24094493963556487f21150eb067d28f0230154a85dd24720a11281f0ead45ff55f00529533c2c0851c1ec7295230ac495600635d8ecf19c1f70a9780970caa4f5fc0302047c435bb500663064023072c3afb963748125507ead2f0454d98c5f84f807fba66354dd1ec05bb802ff46eaff65bfbeb5a056d513bf7bdef497c20230394d8cd4c604d37a08f362cc28ab72bba5529bbe250d99cc3ed59b326022cbcb5a9669438d01c6807274c9cc9615d1950302047c435bb500683066023100c31ae2931ab50fd5622bac31be03f3d554f8c1e82e3bfae1bd72490a07f394dc6b736bd33ba983717486b4f48df894400231008172d5d887fc2329b7c321c536ae416aa33de9243481ca4b8421e4d5ff162557d169156c543a122c8ed493157a3e3c2b0302047c435bb500673065023100bb259ed3081f9ff0b3944ac592412e0022512de0e927a63a7824517ed1f6513331cf0c19144283dd636f2a7fe66dd151023057b1689c74dbef96136d98087e1fa56e15a0533ea796f2b820657f40994df73eec77084b1346b3b166a802e999a180480302047c435bb50066306402307985002e7ade09ff6944f803990469c26d80bb632e7d03d1b286097f2929373e7133dc9aada0fa9ddb248243df807dcc023057249da7cf253d89bd1806865e1fcb3ee7d7896badec1eb75705bd3698789ce939507fbc3c4c82c385aba31647e1c2320302047c435bb500673065023100b0164fea2929813a4d167de5c492da0d456c6021ff19f65cb8986bfc4f9fc56dbdb6aa46611ac44c460f2adc49b9e44302304fade0e5f251ee19c3105e26db677bd78f50d3bf87a86ed0b0a726ecd66602ec05c3e60fd45d9883e77378ab99aa4d4b0302047c435bb500663064023008efa8393a131b7d937e4d7394657e4e807489e18b37b6017144eb7fc312ecac398c2d9398009615920b074ff9e44b8b023034f383641ee7f3b39de3ba4a186341a21c24f3f7019004321b485039dbf200e34f1eaf6d9e6aeae643f3247902da96280302047c435bb500683066023100b8ebdece875420d413017aa43bd09b1c69b4471ddc36bbbe01cf1f6c1c92ffc1a2b642ad05957b2ddf8a497b4a085f87023100bd680c6e946f33c06db2a98e4fdaf5668760528e4f84411ec4cdf51ab9f1726d832b5bf95efdfce61c3ef01ca272d45e0302047c435bb500673065023100b4066fc6b72d7b5f0f2796248a0d4c173f0c58ab6d33aa393209b110d8663b557ddcc4a2173eefb626642a593a0e91820230067b53539bc6aa8efa4dc50d04dcb44d6a08053d7d43c86432f133d40ba114a9c40aaa49002df70ac8aad67cdb4fadba0302047c435bb50067306502301362f7c96c55570cefaa66bd3e516eb4763308de98c6eeaa7b1d05ccbedeaf27fd9935cc904ef1e69b7422f424ea446b023100ad5c7f1838db2d4d982f5aa9bde31b0406ad67f1f2b6dee5f3a0d4e71d540c73e8c2be61389a5a298c28e6f7e5486ce80302047c435bb5006630640230637e5a6fd0f48558bed504a94aa949b63b7016836de3e3c02eabaff61ef3d70837bd36328947bdcad55e96590d04dfe8023037ab347e1ce8994be7ee6bfafb811ef0bc4aa1c212c3e471c98ca612f6d3a4803eacbccf880454d1a2a5aa782cf8aa120302047c435bb5006730650230708eeb4fa76288182d8f69a39e65beb3f05dfdb740d508db553e984270cb0227256ee03162ac6604ed02225d29b75282023100969b43675e7de4264211e336438a13547c03c36c926cb3d483debdbe629c1550b2b6f2ba3ac158dda41192fd3c5309e80302047c435bb5006630640230315da95a82bf2d579ba364b1d17eb45e2f8f380f35fe364a874f4caffd82e441a8bf237b127d5572c4aad82d2148e70e02306fe3059ef0660875f3202308a2032a9b58103d9a545e14e0a5c9151e3cf09ce2e390cc7a13fa799c3d53866a62a501590302047c435bb500673065023054b71a0a13bb60f8eb96563a7ad9db8c431c666f1298dbdf842e3ca7efb11ce11628b5eb3fb2d2def5101de2a020e505023100eb0a4562da1f90beb64dc5c1e19cae150ee0271d76c6ad5e38f966e53039c1e8af3a639c392cf603b77e2b39852447a20302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006730650230100e176dc2937af22481f4368c9e2b9821e0376990c5eacd447aeaca307f51d91c3996b1fd3cfb9be7e740d1f1eecdd3023100f44a0120ddfcb34e8709bf059c6ddd5090a510bbbea92a21772206856787420acf004db03e69a745e017906ffd49a8350302047c435bb500673065023017a12f0c9e70c21222a83fb0a31299021771dc174da976433f4561498262834d9452a2243ecb06e9b190a817f17f45880231009cfdda4839e9c782c1d0f7dec6c5fb98a6b3c615eed739587c7345b5c70c7fc3c28967f4047766de010062ad97b9bdf20302047c435bb50067306502305e70f71c21a66025095567b22dc1a755d7ddb241059a488300b522fdb3d871663855874adb9e052e6b568c3b277b124c023100aaac63d85f729be22b62debe6c1b312b04d0a52bbc08510463b1af24edd54c9ba9eddf70262ecdae46b294926e647f9f0302047c435bb500673065023038ee0cabaa99be482851b80f25d435a03128200fe5d31c1f5809f3b25fdc8d0d36eec5ce92199bc19cd6e70507bc36b70231009df4c46ccf9dd50ed43796bb0b36df3b90b0420ba191fb1388248d62c7f9f945a8e42c3e4ab5fc4944294a9cd9fac75f0302047c435bb50066306402301de819a0fb7aa7e320de57fac61e592cbef51767b97e29b8f71642500b0789ace377016f87da7006f9126352b8cf75e10230436b22fdbc21a1050ec890bdae748ff04ac0b2617b2a83a9c42b60499d145f0c1fef65c4df923e03a441149222bd5c850302047c435bb50067306502310081934682f2bb16a682bc5c442e88c38b5e67aaa392ae798ac70b8aa313dfed8d881cdadc3e6fa394faa1314c9b728b1702301c36a58e94c2db1ddea34e16e60994e4eee76452acf29ba024a1a32415150483bbd02054d92095ad13283e9d6e12d82d0302047c435bb5006630640230042112994428b9980957d524a20e4a7610520b469c93338f8c206540d1320c7eb25fc2f5d8cdbd6a1c19d1accb9e68cf0230481ddcdd6e7c568d7f49e6b3c44fa7f9a1b8c0a39e9770b535ae49818994d2d23252d3054715e6496ee14bea2067889e0302047c435bb500673065023100e36d40a360a1eb0cab4cbfb06d5a9b8e1bd8887e9e0c48bd4cb5110379829ac8d7335094a954369bcd7156697a03a29c02300d92bbbc92bec017148a5db2f74e338ecb3dfc205538951ca111e8b814c8071dd54978c27c0c26c610836b9e7bf52df50302047c435bb500683066023100c0df794933f9a3918a5d2a256477112d1b878004e7f0784502fe3af715b469a0e01705cae2df8133aef6613509209502023100fb357f5cd57e507fd99dbc3dac3c9f6b38807c5b6cd8c1b580a68a37b8f6ae783572d71e1fdd933ca8e464693477cef50302047c435bb500673065023100914dc253908591b3485c920d22845e9bfc6446015528ec7d7712a53355db9af37492f60d8a99a6f0548048449656c796023022131fef6bb58b8531af34fd269897a489b092c47b47f5dac252cdc04d208c6bcf08d3514f681ac638fdb41e5b7687de0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500683066023100e57e9ae4069801fa217c7e8a55e85838e5115efa924ea8bd0def62287fb4887877b345252026b051721ba79a38dcb9ad023100eba178ee6ae47d17c6c533e76fae6e3bb4fd2f4f87c6dd5bb4ddd82dd0e3e29a42a448fc6e798f111c0a792ce21e575c0302047c435bb500673065023100e0a71b3e992def71c7f5f23a961e182758f46351bdf76a4b0b176eb49bf392c771004c0eb9c90610bb4c38ac622a3d6902304939c928c837c403118b2fef17c5ce0784f7bf4b70cd9c6eaab63a4d01569b5b30346902dda8d6797a915d96e6dfe7cb0302047c435bb5006630640230085177274140d4d75bda8477f99e6cc954f6ea58e92fdb1e8c448b26ce23e4072d7079f14abb71e936c9086d5f031f38023033dd29ccaa10c4427d3171f4fecd20f9a2ec82fe3e2505125adf37e583dc011cf2737f2d1048140289caba0c14daca180302047c435bb500683066023100d6b07850ef29705f3ba45c4b03be3f2e4deb0c7acd4999584c8f9060a82398b04529ab69bc9cfacfdc38789fc4c75df70231008a00a100aa9c6b6c3e32c62d55c787da69636abcebd375538d6183e272ac5c161f7342e38c5a4f10d70e70bd06756a240302047c435bb50067306502306ce4ac85d218f4550edf5f3d93b5c5d6a5bb38140c9a6126376510a5693e981d969afbe035bc25d836163a14ee4e5722023100851dfd5c6d1af2c5e70ba9dc2f94d57826ad2e8f91ce6412c53d2a9dda6b1809c55ce68cbbeb36bd317697b4592682400302047c435bb50067306502310086953f7f4f0c63f27a9ffc2ce9f9d268c6dfa9e169324bdb4002871d1d21425a631882c784b9df2d22da2bff73dad73302304ac6aeea092538c8badc36848c3c1897925392cc97b0e7a7a1c0d716831cf655306e405e0f1b01175f4e8ccba833c6070302047c435bb500673065023100ff2e1b36d080e3239616156c5dd2eab9a916913ce53f8de3d62e4bf97707e466388864e253ba7318ad37fea08ccdafce023045fbc3e33794b59a5590cdc55a1fca7a66883b4915e1cfe57baa757d8bc7064d575b9813e5aad2dc582d292dca4ea6f70302047c435bb5006730650230349f004f15d5ad115a188d4dad13aa47f9305ce3eedb1d1d51cffcfe7086f183af5993ec5f9d41292f4d2134fbf1f56502310080ed303bdf25b3d7db96d6a64bb4a427424b694a0c870b64a0d9aa8503a12cb19540b997a1d6a265a16fc4273a70c2950302047c435bb500673065023038c62404d458dd7da6d7963bbe130ead4c1519047a6f88b86386b7c99d4fc243d2899b25dcc33c5c8c7b1efe854e7ccd023100d221229ac78cca44dcdf2ad3a28e78c68ac52d33d19376ebe098e0eea27e9095ff311e390255b7be2874c1a51aa4f9210302047c435bb500673065023100dce2b5dd33f7d8bdb17c1e1f50250605bdad2e9227c0d121d46f1499329c4e25a025d5b8b68622bc2fa60afc3f5b889c02304b9acece3699ba279fc6efcb5c9ba9976b309602047302286c17e5a439eacb2d9d715fa13e70be82507cc501fd90c97d0302047c435bb5006630640230705376bc2331d3b1c9b58f4519e519ae3863668d224c8f91b6518ad0a511d464f644c825c126b222e67b79a636aeef880230701bc765702fb8c201ddf0a75b99192e05dc6fa3b22ea322d55d8f50c6a2163fb1f07dfb038ada20e56716045d08f0750302047c435bb500683066023100ec8cb2af1e7c0213fd65dc5832fdcf1304c13e8d47f240c8b0e525efc2a1e60375c7b17cb2c6fee021b1b8e23248b73d023100aebbb1163644366558803bd8750c29f2263dacb5cbd232847ad26ec099165f98d213de11b772d16eeb6c3914a72b7a5e0302047c435bb500683066023100ec0aacf176a7a52491f981c5d4ceb752be2ad9c250f36b35374c98cdc75fbdbfcb059212295350000f3d81024af29305023100d336dc58b57fc745363e3fdbbbcef7d589f21d4049bc931c98dfd0d75e17aa5e25424fcdae0023e4424fa44ece3732bd0302047c435bb500673065023016b04f9bedbae3bda84d06a0f909f53a6d54b657eb7382cafe07bfba7277c8f4013c39b71eb16bc2a7e7978e5aed630c023100f9354c3671c5a1185d72a85b939b8076109f569562360a24b7edd04580a3a27f1f3ec7f49e444c40b74a03743e9599830302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50066306402305c1a7de5941abbdb7873c5c60c5ba6cf4d6f2ef964f384cd551b7aeeedd718fb85414a0f940f25c187ee0aa3b04467fe02300eb0e017974c09911cf2a7cbe41ce041fd8d7a0fd206b39f5714338d9fb0a62236b503a909031172b657f3e8e30cae160302047c435bb5006630640230620cbf7ec90f460209ef08b76ce5e754bfb1ec4b939a1b78d1853a8ce6e33b4e473c639f01681936bd6a01fecaadd314023022b7ab09d77e741d9cc872ccac4e93ff79747fae71cc66b663ddb7ea46f15e0a5f408db1b2130ebe0d4a8315db6c54340302047c435bb5006630640230333832dd95fe931f8cc002100438e6ae7ebff28114bc8b6128684f1df22f9a2bd9cdbb27600c42b4e605dd8645041b4f02303cdc618a8508a567dd253e8bac807d19d71280c55bf498c7ba67860ffdd3ef2e793541a9b5b4d93929044b04ba25f5590302047c435bb50066306402304dda0cf95fbd530e8fa7c7eb939a1492d88c926f62fc46a1a3bc093ab1dd86a73a47221c18badc82947be18b96ae82e502300e563ef6eb15aa3d0bac4901ce6d2e561521d1cccdca994b965fb35cc73cd5f40c91e77edad9c728884f9124594920270302047c435bb500673065023100f9dcaafbd237e16d6561b33521f99598c0d1c092f8ade810103894e884398075f99752c9f5d1b7bfa484d2c95d7f521e0230464831859d27948e2cc5e0044d2f6fcc25a237fafdd5e7152d2ad9a59826e30d5fb1a2aed4d7bde1f8ee6be21390f7f00302047c435bb50066306402302923eb67510c5f4f7832ce5c4f68a382e89512d1d549e3c00f04ebf6bb72646b5032dde244eae074a6fe26af47fd9854023074ca45c671dfe985ed9206c08fd33e00555fe5f45a2873d8c814e5f42bcf964214c89d6b5e78602877b490e575224c560302047c435bb500673065023100f1086eb96740bc443af4e9013103e9358866571ae94d6c259b8a8ae35205a37ac872daa4a951dc12a6ecda24e10bc85002300490ba36593054f99814f084982fe6f3f25d0fec7d2a2c042fb0a7e63cd260846fa44b885755e3315cf4850bbf6e01350302047c435bb500673065023100d89b082b6c9760272ec685a41928c9fa9ab49b4a1b6300b4f14af8c7155c5654dec25798f9456b0c075a52609d973d85023054dd0204685e60b01d3f1ba90711db3b1d2fc49865e075e416b1020044ed10a2d24824208f4be303574b615204a247ec0302047c435bb50066306402302858999435102807dfaf60ce2983a7320b36ac14f6f92f16194a820ec9bc6b15590cc162a3bb9c4515050d2baf96805302301c6883d77c2dfa52968600ceb1bdabfa43b5c9b07a130e3476fb020c2ed34491d8bbd9d2ad06f9e663685151df2d23f40302047c435bb500673065023100c3fc2ba7bd72a78b5f804396f56c800d42c309541e9328dcc91a14c6733e5c82fb3af1b1168ff1c6dac9cd93a49ec18402303153ab214d29f8fa9373e48bc6d200f556acef21862960ec4d8984f5a786d1aa2a40bc9c157a5dbb3379e468927b51c30302047c435bb50066306402304787147c8ea2fed807ffda380e06002a6469cb597079f16bbce61110b44a3169203da66aba4ff8c92a146544b6fd1f8302301afd20f9edd2d7452d30b6af24826e622e9608592220b9199c878b699ee0fd72d64f942965919b6bd0306634415cae020302047c435bb500673065023100bd3bc11a800ddde5da34fc68c4b9d4f0be9fccf9e368c4a34644d93d53d0ecca8c5aaf8520e1ff1a41ef983c57f72dd7023028d6754b6a56050eefcd15732f3b117d423ff132ae8030ffdf5e07d4cb51824328618b848aa533de8a1ea70cec2bd78c0302047c435bb500663064023014ca5b384c949a084a00943d4cd816eac4f2ad277dc0562774722ae9012b80619b9370f622ca231cc8dcdb2dd322b701023010498dc60b9be5752149da85e1f04fdeb2f13a13ddc3f6b710d2a5438ae4161e20b1b4e01bfd87bf00e9184301a3105f0302047c435bb50067306502303f86e9b0272e52ca964ffd9d27de89dec639cefab83d0b0266df679041facfd97850a4698a6f508619b768d276d9cd6b023100dec2189524b58ad4fb140c292d7cef52d63267f10644c1a045a64bf7ec0b94f40f6f3cc31e3077974efe45554165ce900302047c435bb50067306502303ebe17b3a8e756a67513e13d238d02b95244f3df75829ba5335e891e962dd5966dbdf1656e56dd2f1269e8dcece5d8af02310098d8a1dc9155f213231f20358a8f48690c2977ec20f15ff430d1b061b458bb3c90447eae1c8c5889dbc8757a7242660c0302047c435bb500673065023100aafcd69cae2c2726f93abc29312a817922defd336f8f1fd7689fa2c33a374ca1bc9a51b58ecc19e1023ebe1f94785f6f023043f95c1533572e6b96ca69c8bd25c9777fa1df8d73a7682c9415bf9c68faa20bec124baa69c9899695e58461d6ee038f0302047c435bb50066306402303863a097826b6c785485f18c382b7f01408f08bc3792df022209ada27bd667e24dc71c7308aa48e1a7b53f25a20d18c102304a9cfe95b06698c2cd48f98f2746d38cf4bee6da01f74013b3aea147935581c09560ac52251d511843da7c4fec4222150302047c435bb500663064023040274be74d38b092bb94fd6925be32c8c74d7fe8ed6b11b057385ed918c5249fb432629403b44e10cffbe03e85c617be023062fe846a3564ca96dd0df71c34c06befed8bbee5edc31db2553e97ad7c1d9eca25d297d162d747faf28b8dce113f1e050302047c435bb500673065023100eb33a4a0647339bdcdf487e18938a16c88ba5655b6b012eeb65447a3df52e91c5d6a0549997d71425151edb6049c4e9602307d902f8a016f039d4921715675f9e66d35f2ce08dc9d4a752b9a7e244b8305f26f152f3fbe3d85747b8582515080d4490302047c435bb50067306502306b6b4151e938959697ae2d43e14fa72a58b7c2d21401bb69ac64fdf60c24994c16c0d79bb88df1d04ab89ca8af23950f023100e321ca9c73fa9fc752b9e82f53345334d38a40e4a901dea5493c06b4e5fc9e001313cc401bf464d1b2631144e57946230302047c435bb500673065023100a6b119674bd8a3a690f4b48b5585225403b23a900f51732dda90c0f7e77d2983f5f33e2ed1d2d63e3410c4f7f87e91a9023028c840d59b62ac5b38e9357ac1fed34b0224a7d034a021c3f0901cdca27a634d7029e0c6df37d208f13d4c65f9967adc0302047c435bb5006830660231008ba0204087c42d0ca120bfcac1c351c08b6b8ab30a652ceb917361e8c7e2f8afac4e4af64edcafa328d440533eae1560023100b7a121dccc28208979f8790f812f964e513bfd8e3ed7fc6ae3a5869750a736b65cd03992ff9894020f608b0654fe5dca0302047c435bb500683066023100c4e9ded352eb95e89236b60e95bb73be7918c3f920a6645dd65790e780a9c3446cb80b4adddb1456a8589c7bd297d7d5023100ee946f5563c18657cce149991bf21f07c59f2a4a0c4612fdbbd5dd567c5502c34e451801b8f92c4b0fbedb81787c442e0302047c435bb500663064023035fa7cdf45b07a03f035924a92f581f65ff453727681c312ae3f1467cac3cc0591bb58048cd664ec1c09a0e4a595a1700230491a18fee7d5b5751421410ae1c1eee88cdb9c2859390d968fe730096f29d4c7b4bb3ed7171f7093ecf9577f56bd002e0302047c435bb500683066023100913824c9630446cd7d47b82c4a7e37280d966ac536ef58ed00fb4ec19b538be004e5e7b59176414c5680f15a81fb29a3023100dc5323a569b26bba0b0e2ba5838166b4f7484681f36fccd2bf63a95d98b4a2f2e5795b5296bef1b508a39dd570fa4d100302047c435bb500663064023022bd169af8605ac008f7ea6d0bad7170f155c8f684ec0f2040eebf1b8689c1fd5c480097249c4a351945c03a9a8536b00230216de0f9185994f00a63c563af58712d7c35a212d9f5e71829cde2464b58b70e5a7305878f0a0c975b183158f335eb790302047c435bb500683066023100860065c99ca561ef8a8e19adfd2b07cad4874f7c0f594bf7789f00cb2ee91976fe36c67f265664821f540ce4015f19f4023100c72e3307c3ed478ef6ef705d190ba180c9a5caa5d33758efd237ccad8e3a203c847956ac09d272dbdf5b58aea588b1840302047c435bb500673065023100ce0b38869d11c48df4b7a32c4e77a4ae8b2d7c03106f40e15cc3a5def1af5ccb4c7ac27fe0f54fa0b3821a5b4b6e886a02306a7484344f3463717fde78bdb588ff7f3fb868d1f803a06ecc5a05c3a57db4780022a79a7d0bfa494167110e64bbb4a50302047c435bb500673065023025c261311e9e643b9624911b9797e3245dbea5ed9671f781b3eccb4fccb83bd4337dc63d9dee2b045bed313c93728616023100c2fd85e82581a34e42f0ec941e5cb74114214f22070f2c498daa5461f1d78a8ce1b2644c23b5096a3bf70c605b94b84a0302047c435bb500683066023100e30605c930c05596e3211f0ee35e703ae3656ba003b2bec394624e634e5e29dee01ea8d9002e10c4ef8b40bf711939ad02310096e7fec7a8417f3a28b48921bff70e291891b95ec48c42972a81669f9d846c902dd89a990d7c01fcbbfddb0240d4a8b80302047c435bb500673065023029962c421f5df6bac40a2f5da7911e1ff91b9e6b4420e451d56dcb383e2ebdc1406b9a61087957116b1a061f13a04b70023100d20e618f26472d2dbf6ab6937f43bf7ba86a55594c7972d9e18c15e1724ec36c44143395f27c39a4eb3599b28a8b487f0302047c435bb50067306502303b1dc48ac7d4e75eec8e7bf348acb1345965b45e1b1aaeebb202506c7e7a5f9e325f37a0cec6d434f2e00e586aaca6f502310090a2e858ed0ba49e5d56744fa9502ebb76748431ca8e8063f9eaa29c826b498c8651f3800c96d3d21300890be5229e040302047c435bb500673065023100a8a856fc7fb6333e2bbfde37c1af1c3d401292da3c96b3ad481431b07f23abeb5e7b6632b3e1bae0df6efec1c01e85b402301509524704884a45a87e730303ee81eecebb62d91eeea04c09ae4518c3e06e80ebd39715ca0235093832ad6aa19874c10302047c435bb50066306402306850d80d97e6dd2d3518a5c8b7ef1eb44640b289f376755557343d63267e47da6f895afdd724811efb50051a15e6378e02305d3320f9d3ad60363f123d54af2f5320c362456c4bc29ed5338b7b52f7a636082d77bf3377f0facd32038e2ec1ff5aaa0302047c435bb5006630640230238f2bc6ea65f6799641cf1c19119aad142cdc0c3f82a48960012e327660d852435017f74856b55c1ee694ea534bdd2f02307da3db4efb170eae1605ac6f62e81e697eb7970df03784090145faeb622fcaccc8a3eafbb8b63a2fb56e45dafd52131d0302047c435bb5006730650230386073f61e701eb834596440b63bae6f5a18b6e6108fe10cee7c03bab75c834bc3f7356b9e3a094c52a7763aebbce92a0231008ec1ae3adb7e06eb4a55d2a10ae67a11827aa4422365fcef556a5ed12233811602a9b7334f9927829a1f947fec86e43a0302047c435bb500683066023100c84bb5ac9566acf3ec77d8a1cbcf0ac32f1fb2cef4e9a147273dd518cb23f778b34c55354f257d89dc4e107444928282023100a8cdfc6bf3ff502425e5336120726472996f732fdca88b839fa27cbc474b1557a9e926128c12a44f51aeb0a034acb3c40302047c435bb500673065023100bde1ee32dbb756381d79acf034c039ca1c62750ec5d0b47c8d2399ec5ab02e875d2d8d295d5fb39912766e0fa3a723fc023044231c81b9de26bb33dc63ed0d1c5e7c9fe8f80ed952628821d850d8ed90f62ead10d89270e86adfe429431ae1700f060302047c435bb500663064023020b4dee0530497513276beb57c4117513aef1a7b301536596e4400370d0e7ca47202a6274a0092f398245689b56201c202305d94715efbb673e16ca9fd66049b6fec3fb80e43146564557efe0281cb4445ddbf155a12c64d2e8f72e5ca59b2e0ae3f0302047c435bb500673065023100cc45e0b8f07ede67629a9cfa333991d011b1640adcbf3dccb07fb72a9e08e1e48db48dd136ae2e7b7d7f0119aff246e202307b8b13865d8f6d7eef1c3fd4b8b5d022cdee28f6b882a97b9fe6e742fea071204cd908848aa097cbbed824c6c1d629f70302047c435bb500663064023020f56d78c777095204ee33265b5c644a96157f7127102ae0ae6c5ef90be02c1bd7ce648a1458de2a839bd7fa4ba84bdf023049d5da1ba31ff36c7ba76333177446cf1f11acac7efe2f4851f336683063ed5b264247463cd64a4415032135e6ca30350302047c435bb500683066023100cb2888af95648e74537b95fc191ec7733b4169d84c03d0182aeed4b403afc5e41244bbfa85e64049d77995922c568706023100dc033aa08a499ccf11edd7dff84a72f04655b9c1e1cc47db517f02e5cae8d33e7e0ef606cd4e11ed0214837dbdbfe7600302047c435bb50067306502310091dd11935812b319e1a1b0e5c311254a79429fba1c3e558650629a0c9aa7545459ee5da5a458e0ce16c5a2d8df1b93b8023036e98ab4da4ba426dfadf5a62e73184c6e58118138ca26ef12ed8e45d802c6b76243c92842ed7b8cf26d2180d96e43f20302047c435bb500663064023076cf3f5fe56d619ed54c7e1d702d30a585802b0b2959d22bf4a87609d43ee27eda44fabf85f8f094f3b636a2984d2d7302305b42b8d3afe0efaee9223b264ff27eae7adfa25c566e720b4ff0f836d5442d60119a7375af708823089d61823a97741a0302047c435bb50066306402304a8869b8c65d6d6fce7fec50e3d24428afa5818e3c637cba107cac470c67f204c52b168b1bcdffc9d7e22d8ba91938090230592a5573246c12cec0d7cc2ec68fd0f0ed5a41920c4be0ff4e3f69fed915a2c96a2735c4fd741d39931f259f263a4cd80302047c435bb500673065023100c670881527ce20c647e8342af8be9e97d9ee3bb3e6729b241f46f43279c733251114da99bea1f1a7bfb234b99ecb44e802307806b734e1b5d29f79476781d1f79117568b07afc4ce89cbbc30a2d1d271b89c6975d37e456214b6d6d929c46b05bb0a0302047c435bb50068306602310083ab933da30b7cad059db83da36d8c4fed377f024b0fa033efd2fdd19d47fe567d7a1f2ca094feeceda536838694c9f4023100c9653f6c1f5fdaef30967302841dc2901f9ac4e1cb3b0ddea0cd84f242d25d6d8ca0f6121030380a3a0a3ff3ef29d8960302047c435bb5006730650230439a6067153318ba749d91ea2080f33162a4c6c818c51e4884c32a041f47fdf2971ba67f412b4920867594fa34af5290023100cc3f63f91f10d33ee1518a01563c7e2028ddd9db6320c1505f02e94e19dfb9b0ff2adcfef1876688a315b02db03006750302047c435bb500673065023100a75a580a6b59199e52fbb22f60f32a9aad7c4fc901391feab01b2617b3b76cb598b1e8771772c1a109c635b310dabebd0230463d3767514952ef4ae44c8e5f8ec78ce83b56e48575bd400c7bfe90fd6436efb0bdf13c85363b94904b8b7dbac70f760302047c435bb5006630640230176a5b0bf82fc0e4eeeeaa5933d1e814b15063cab5d27ce518911f7be348aef00b4ab9b753ed9639338cec5af524083d02303bf5a757ea4471ce7d7e2c962438b5528ca9d3bf1e23a612956ad32f21f9c38aec0147573531ce17b52abacb97e87da90302047c435bb500683066023100c51dbcbdbd36035510b12d12e71b175cb2ab595cd41ecd49239040ae44927ab21d19bf7d2cfdc5e89816b7fb219b81e9023100ca138131977e4f3b7d980d8be166b0574a196d9c430d7794c333cf979ac45ac9f2e20eced9eec9979df985ad2347cb100302047c435bb500663064023050a5ff4db7bb0765d1e25eb78ebe9d3a9a65ddbb5ffe9c9d7c720359763f64db2061350db44da0b7b43c27c61c167a51023000b3a84caa40197dca4d7cd36fb3149c690808dc94da3470e15f761668d3bc14f3bb085f1b9efacef76eac1b79a12ea50302047c435bb500673065023100f5902d2015c19f824155a2ce58044228b25180c1df8b0646bfc02f8b3f9e6bb24a42b95e9363933c552251a129aed3fc023004f0f2be498c381320f78b7ae6e78c7e1b71e8ab8be790ba5b81601fbb5431b1dd78de00b8ac4b6765cd596fd3b06ab30302047c435bb500683066023100eb22dbe78b33134d14386c1a23cafc66cdc8a51af64bf715639f71176fa05c539cebfd12608c8b806c2b02608c704ab5023100b21e992e16c924e8e2add106ba93df61db81ed3d6422fb7c21e033fc6cc6f733401c061e1492b45ae015cb87fcb80ee00302047c435bb500683066023100bcf9d580a6df20b1b6cf7ac2af480c0fb31712293fb286ae1cf7c38d6b68585d5546ed1f8e45bc276e6d351cc1b27109023100de8a14a9436798483ea1cb10b65b9188b6a62d99022d114dc1543a46dbbf12d5b6360e0aade8d1464b5fd526e1c951d70302047c435bb500683066023100c69445163979786c57999555ad3e18baee4b5434fc94c477c411a7a041a1e661e2b89367726ab236c913498fa6a43337023100f1b414e3ecb9cfef4fcec967dc92599da524a1c7c251d386f12fee4844ee79d86db28483aee3bead4fde51a03ab93a2d0302047c435bb500683066023100aa82cb0a356f025216a07e19905837ff8ed176a613e47c2cd4e560ff6f54b84c61d2b93c84bb236105e7ced8b1a054fe023100e834b095d3eee1f31626a2a1d2f6b2f1aaaa141c2eeb19164f89c1a63620047fd3523fef6ee160f7ce72ca8c28ce8c3d0302047c435bb500673065023044a643cb58fd111e73c052a545c51a35b1da02136bc973115c261ef022d1f3928955fa53f3738aadbf542e6bdefd0bdd023100e15f42f8f45f4c4f25a55bfb392cb1043ddf4cf7e3c638694c11445ab727babd748494235a14e741098a94bcf96690470302047c435bb50066306402301d4dbd1a2d51cbe4a2d0d87eedc50a07fb523b7f1e10bfad9152a685ed7bbe547b0235c10b2c426160f99de4b3040f1e02300f07096baad1506176790e687c66721de210917a9ff8caf0ef3e0de0b4b67890abe40d05b1ab9884e797f946c6288c500302047c435bb5006830660231008124bbeefe6c17a2dd08124ed1a22b1f2884d83c190e7d54f5e2e63366c324bcdb4851fc7484a90231ac2807072b1c39023100848d1cb189bac2e1c591c579e68572b8bce57c3d24f3911d456a903d7b82ac528c55830a33ccf4f14369a586c53a266c0302047c435bb5006630640230395dd3a11cc92802f3164acaa9b1010f68036d2d45454e4bff2f368444634fa236730eac30a5fc316fd748f299986d92023079abedf32d222329f7d47627726aab893a457393e9577fe638a5c35ed709e03a2006e7323a6491840acc7096461d3ce20302047c435bb50067306502306a72de79bd5babccb4ec59b8a71b5fa05a05e6e6e0cdf60e2fbe420c6d8a95096d37872dfcd3b4c02808f18474e93f95023100f5154bc853db49e24d2146f694960e38fb48e6429f96decf62b8e2ccb5ce0e97d5fb1b618662c916ad4bd2778f2f8b0f0302047c435bb5006630640230537d222f57d6986d973fc10d0926d49260e623855afa75e0d5c1d81fda433a45c2aef00090a16d3711c683e0b973746202303f56b19e1021947410e8718209ec33d90c4944fad6c71e4ea90dfc2dcc7c6123b19c2247542b65a7a71b199c315f940f0302047c435bb500673065023100c5f1c144d4410a8c5758eddccbfab6704749c00f1bbadd93183753f40af62c86f61d1016778af6b57f82604bdefa8f93023036bc87e0976939b5d5091986e8979ec71c14682fac36d79cd4a0692fec424d16debbbac70a6c7d4bb6b05c45e0059b940302047c435bb500673065023040868ca299cb336c1e02e16600065c4f8e408a972982af8e1051302b092e66889f560bd0e59833a36ac63dd311ca23cb023100dbef897ff3d60eac941325469bbce7623cc6ccb65a08400e003a12208fff9cb994786737c257c56ad4001ce5dd435f9b0302047c435bb500673065023100eb62a6341eda2adb0d40499d9ed0ac16e85464d652e75cbe21201efe5162c25c3f3aa6aaa02c37d12dc574b9408377b7023016640f836d51a2c788ea8bb5ca68867218e26f79f1d297dfdf97027234fad3b3bccf21a3fad0cfbf9531d459e2b9e5c90302047c435bb500663064023078f735547af8ff189c7f0d5e5d1fbb04f41c7f54dc91b44af96f4f9a0816a172b742c5a89b5bc6d6ededd460e2ecc8cf02306a19bf66f64da267d064a4bef29f4f60ab2ebeb0891d310b8c13ca2654554348f2539f7ad9af9d39170cf72fe9fd5fb40302047c435bb5006630640230121101b10617a1e5e9040e57752f2a199a7a8d0f096f523c6cd5c0f6846e5b624dea6201b1ffc372d578e44e6cca96600230021540d3629ec624ce76a4ee837345c3a6d24458d76016d2b8a7d5274480c31f564b756dcec4fc06e0b9827d5538214f0302047c435bb50067306502301b453e0cdb0fe7697774f81db5a285974dd36c6257d6c9e998c145877bda3b36ea98a45e27135253ba05284bc510dafc023100fcb71b74d9a14459c19bf260f7efa4527c5f5f9a07797adb7b0a7a32f1350d63f3b69cc59ae66e3a02b348eaed38812c0302047c435bb50067306502305b12294d53132289b4db150b59170a6ef9d5218a458fc06e8c85649f8b327d3efb8e2e8fbd8c794f2d7b1883bbba9f03023100c78082ed18768d734c632513c7171ac53abfdf52bce207cf972a311708c9752c34a3a00b8456ce930534831e051b784c0302047c435bb500683066023100f8eb39b12835196c3b6dfa65a8ff543aab558ab299200d4500c2032d19edc2d7fd7157344e7729f0590ce89d2600bb1d0231009444c7c3442a379bc6e1e7634a8b45d962bb936286979a37fb8b6bb61d72b88df4432964cf27b25ed227bfc3b44a50200302047c435bb50067306502300bdb6a5fe6a2cf1db4bafd69423bc7e8522e4096767adabe2449415621f6e0aae745b23fbd97abb7c4ab082440b41980023100d20492dc5bd782e4f502276875c15bfc08c665ff86b109aca0a2c459908a858cf4ef46c5b004144936d149f11ca779910302047c435bb50067306502302053eeba135f06fe87a2af487fb8ddd6cf89d0ecfda284c5c0566ad292df2d63bdc00d987232f7298338ec19aff7571c023100c204c967e725e25a6897f3a1b08a3efb4fe7503082afa4f3a1076a7f156ec1d38445af2388e3fb24cd0c2cdfd9a79b260302047c435bb500683066023100faff56f9ba30cf94a8e400826fc7e2e3570e70732ab1de878ac59c1ef325ed9c6a2dc14afc738db8e5393893b7bec20e023100862ca3f582625a3a1033ee25d4ad7d29b161cc8e63fb76314a86667af81c6751734c72eae571baf44a7fb2ffe3b3bbea0302047c435bb50066306402302ee6e1feea25a8ef127f013bc2cc95466e0ddc284efc7be5e3e2fcd497edb9ef934db969222c9ff67c518fe9f411f3430230137ad1991573e2962bb0853dd1279fc702d86f8da36c1d3bf78b20b1202c05f73ece296e83cf41f1461195cb42fa83620302047c435bb500673065023050d14e219923931e8ada87df36116bcffbcfef7e11a6c6802bc0119bff354be5df78c1446c42e659f83cfc2c86b41c66023100d5fdfaabac11b3c1e7d8f4c1976a8cb2a7133095ee9047ccbacba7f3d148df8f156103391096a3b06c236e186620e2de0302047c435bb50066306402305cae5508b92ae60e4f981ce7b433071307c5b354ccb9ed764aa70fd99cf325ca66a810091ce4a7c2c47498d1c0fd53740230632aa5c06a4be338ef373a81eb04ed22ca1ee4b308513e7c099efb3cd955d864512a1bfa53df7fc90093d55f88f7eef70302047c435bb500683066023100cecbe1b235a636fde8e1c41f50b02fc8f50afc3a59eeaef2347757b18b9259ffbcd9813bb9ca75298a76c751ffa015910231008156eb00095a919565ad09b0760ee8d621e140a53cf0841ac122e90ffbe3c060ea1d1d80316435a1b8d7b4bf9d9905cd0302047c435bb500673065023100918ba3bdc5f92fa6ad62e7ba46361e4097705f87f64bf7aef1210534349c0837e12dba7b6d52f92f8b0d51fbd4b855a00230621654b379a35497eb7ee3a94e67df9984dda5387e32fedbc243a7427dd6f98404489d7836f5156a7040cd40bd916fd50302047c435bb5006830660231008a615dadf32bd1baa5101b940372978d3a3c63001879205bc85d63be1c34f8669c4e8b822286ebf503cb9a48fdc8e021023100f14e505c70d033cffcacb46dc086e79f8bb524a0c72772240627ddeba265b4073b40d71f40e695c196ad86fce872d2c10302047c435bb500663064023023eaf0c33991577b375551dce7cadb4c5cdb00ae710938b5fc81bb155b28b496810fc30b257c9a95b56ffccbfe0d51a702300e59cccf83792f31ad6dbb4a4469f30245e13ff00b637cd66323bdde3ffaf71843591f96f609fc9e77f608d9611bd1190302047c435bb500683066023100ada0db811da4e8162f7194b79ed9a87ebfa5728990db121ab03df6e1f20b730e4c5445e5452dedb72bf475a06b6f1fb2023100bc5f24fd4c3d50c6ffebbea36e2dd61cd55094c2e77f7305ea93b16b8a68a88be63b3c10269abe6e918063b1f2505f2c0302047c435bb5006730650231008fae672ae1cadee134419ed15b1a93bf16ab0df8b54533331917f66431589ac02177ec50b7afc29ab0fdd53d94f16a2402302d07ae198e8dec01310832b32590c323d6467806c999e6a84efe5e327598f7f666ca5e1b70ba482c0a1904c0699b7ae80302047c435bb50067306502303afced871d2bc6ed3fa261714ab299d83e202a2b84dba8e36e0afc68466b3fd6e4c9ff17a77cc52e1de9454cb4acb7cc0231008a08b96ee0f295585192d26ae19c9dc8e351786534c3e770294014b20913db3dfb76b6177980d83ab8da8850b3d9aa620302047c435bb500683066023100bb42f6b96dd4995cd11106ad9cd04ec1ab5f90ced38394789a3f8ce6d3565984e2fe63fc1ad04876a4b0f1d75ff7555f02310080d5506e0c68bde339288bb961b7d30eb62e0d5e7a626e04e6b22e56ae83001891d75c58431bbec5824e944a856caa880302047c435bb50066306402306bac5080a19c4ccc7af0cddd2c16e7ad12a7dffe91d675715027f7335e1595f2f28ceb5dca060ca420d0c5543501a8a602300264cdba845617a25b22e9a42e90465d4c0080045fe9a7104e08da3bd25c984b4d3cf4dfa4e1e825902d50ba2e614a650302047c435bb500673065023025b7c54a3ea4eea498e12032743a971498d96cfba5aed3f06c9cb8583d800ac691b975289ade21c3327e268f190ad868023100aff689f45e3466551290c34598cb1e35846b41fe127ec7e1a8e6eed64f3afaaca459e3c73af277a0387eaf796e30bce20302047c435bb50067306502301f108104a7c44bf9c506ed3c312cad414faffcdc9cab7f78766e817168d11cc8d591c7bbd307f80f0d07c7277dad1b29023100af7f1eeb9dd6c1007efae69b38c328e941c216ae1bb6e004bd1e8cb0803da7fb3c8588eb993a72ee31c130aeed80514a0302047c435bb500673065023050d1873b1bf55ab95c35e277ab3f0916501cd921cabaf8573f8588d51b080bcccea8f7b2c29f1b1cb0dc5ad295507ae0023100fcfb242a730f24e67aa6b9c24d59df732a7688dec88fe8d1697fd9e3a20e9533b62cb48ea68e12f4935d8502eb4b73a90302047c435bb50066306402303eff61a372e4ca813be1a101d98a2881da1525c9b4c650f7eb3fed6888fb172a7d9fdf1c32e12e7c7554da610f645634023008f16ceb61317bf14bb26111ee6c21d1d8de129d27f4e25703a15e170a0679d574017fc86ead591a071afc0a7844d1680302047c435bb50067306502302ba4edd31be1717139244a46f1b349e9ea9c281b57f6a1e99b58924dc1fa64d8fda441b02d56bbc31bcd6e1062c1992f023100abca32ba0b53fac75b322e1d757d114b2335a26ea2e30614a8cf75ed5c0d1acb0d045c8c42c0edf31086653042cd57b80302047c435bb50066306402302764fd43273ef0ba1a061b584ac86be7b89ceda43cc14cbaf0beead8f4c4413e40ce80df0b15f57a55ccc6d32fd0670e02305affe36085e0c80e7d4f6fd0f30c31890db6155c55777a12a1db52f25e2bb8540aa8f601e221f27714120d4e1ac218540302047c435bb500663064023032ffbd20e8e2f7b4660bd2841646b2d9a948899fcea9b97a2aa8240d19611429201d4a10087eefcfe89ebcab1ae6efa502306f388528bcbf481d61c7acc1a42ab4dfa710557d2608e3d01651634a4d3a3071b3e4fdf051fa7aaf0005da092a0c26530302047c435bb500673065023100a6d9b9f2d4776286b75be1707e3f81b7b13bb1f42207e2e4170b082b6084fded9b63bf9cef0b76d2191b498fb8ed6bc3023025abe000e05ae08a93e57234338a264032176d215a79aa22db420dba7a84c90c8a522f4e5e3c3f22cbe4a9713770d0870302047c435bb500673065023100f4b2326672eeb5e87107cdc4d891d75452032c8b55e23be474bac4794fbc00b93951289719ca8d46b0021863edc1aa8d023027a3ea309715d392602910cddef9eb195617c880ec31b274d3cf69d341c0516764c9291e9803ab2fdd5dd938b08524960302047c435bb500673065023100f4e047144bbdd984f1d805625e7202d57b523cc0bcf062412768b2f6ef0b43e609b9500b5c1cfe73e86f03f999237049023003ee678389a2807604a8844ce8597c02d0a595fabc22e9de234f6f1d0fc51bd1be0e7587f6c75a6e99c831408331af380302047c435bb50068306602310097fab861435fb0a1467e0b4cb30db2e1d3c63d04642750df3e2cbb042de08ed627a7903f1bbbac40ee4f25e4596f402a02310090413f023e1f198e9bf52bb397c25a915430554d1a8644e1629e551a2d362b7e5e8928084dfee7dcc13ff0b54435cfc90302047c435bb500673065023100972b24368f3baa7f2ed2c06019018433865758bee353e5051ab2dc70255607233d3fd587daf4af0c501892c72e969d9c0230520ee326fd13e07767e20109ff493a772df26921b211985b81f26f5f411cc3897c0b161aeff64377e42ac2284ab9944c0302047c435bb500683066023100b278a91122c691efa193bb6c1b35801390f025ffc83b3565a5aed99b743276ff437e9e17ee19c44cd078418afd72bac80231009c7fbc9bd73d365fbdb691a738194e1752ed57c41f4562fabd7683998a0775e1c42361763642a4c276cb593659a55a080302047c435bb500683066023100b5b79febfbe604e09888d250a748e935714ac0bb73a6a0756495d89e89a9f12e9568fb475c59c05df71448d753e0a7a802310091bcb33d822759a3e3fdda1e0e69749b487f0a388ec08237d051e0e62355e9794b325dc67ae8596ed47e73e6ee9d4fc00302047c435bb500673065023008e062170c92699b6e6bffe512db1e74b28fb6d47f11ef15d665539a77278bad50fe46a285fdc688dae9c95937fe00f3023100fe46feb2af1cf37650075fbc6d9dc59cdbd583be73ecb0b73ddd92ae3a50c89d76c1d22bcafd0aa4d1233a9f54c923b90302047c435bb50067306502304d48ec24a682e51aaea788b50dcde70c1fedf820ec582d32178ecc4e6c9b2a03887a82ac3c18e3e91a94e2a4c75c03f4023100cb2464f3d59604fb55dacb74815aa5b7bd1fb997dab0099804c744c50cdbda72a2ac1d57aa116c15aa684feee31ff7280302047c435bb500673065023100be98332065f5c6ce527d7b06244181c348951cfb766c6a7c842ed50f163bd38af2e6d23b8fe441422d48e38348f067e1023016e1685cc2320a7b4bb498dcc0d8f94ae19fe2ed58cb1f06225bd905fad3a12e777609fa0a0266d22af4e5dc501aea6f0302047c435bb500663064023003c2fa9746d44dc2bd73351548d4ea23e5dd9a5dca91dd112448bff4e67203db061881dd2d9b1790c6ea08451c51788f02307e6e9381c987f9f2f260e933db5e0e606e84f1b27f5ba92304106c4c3a45be2567235e6f4950e9a1fae377ba19e5d54e0302047c435bb500673065023100fd25c04d1f853bd5bd4639d959d2150492694f35b1ed1d4e376e28f3417c409ed19259a11500486ed4e315cd69272fe802304d1eb29f5e47744389a82e1c2d8d0ee12a24ce35c2d849ddc86dfcbc30c1beea0fed47088597d4f74d544818297cd26f0302047c435bb5006730650230412a1a8f5887939914ae07443c0b986e725f5e30f7d7d0bf5d99eaffc4c7d147b21435d8e7c49692c2af21c1185ddbbe02310086c14d24b652871ea4397483b9097734dc79fd4e6ad4a2fe44b85be5ab39727141be3a8723fdb95c9fab72ab2bc062b80302047c435bb50066306402307a57e03a044f95fbdfecfe14c5adeb325418b70842e636c5d89e2abb0685b6a3605d3b2b7b50fefbc633e2e27867b9ee02307d745dbf5758d5e1277e143732e43018ece33552468bc3d86713d5a8dce99bdce96fb6c76decfe663ce95ed6f1951fac0302047c435bb500663064023005fbfe66549f9c0344975e4a7d26eb045fbbab53487d1ab90f4659bb64c7d1631ba0c1f6d1d89a96f917382409744ee202304390dcaf6d69f8a58a96cd5a93b3c6e0eb972dc34c119bbc76d91459760080967ef0da298efa3ccca26eb9a4babb68d70302047c435bb5006830660231008fce78f5e6acb3cdde9709124632bfb96de398c38a9702f48e31d6105e6ee62a32f621a97b0e2e5ccc704d72ae35b4f4023100b3a3f64deda79335fd640a04ed6e77efde46524d2ef76c5234d4a6c3c10487adf431060be5237bcf43a2a8d2cd3ed70b0302047c435bb500673065023100912ee91182be881e4cc2ada1f681bcb5723d03262092ae3e3bbf8a59c541a7a97f7186070291bb93af7928db0a304727023051e686f07c8b071b40aee989d8ad9b7c21f00ee7db9887de7b24fc18a00dc5202ec6c2217ef0a4c2567670e49f9bdd420302047c435bb50068306602310095542ac67b507aa8aa56ea8e8f95d9faa3314f7b2631b6e80b1f18dc329496bd0d42debf1e4f59ca92611ebc79ad3fd1023100d6ae5783c76991a87887ac248fc7b6a56709bf6aeffbc6b8a41aa8be3b5a6840b91dcaa09521fa4ec45e27533700e4e90302047c435bb500673065023070e12591c3e5c77ba08aa0b43c5cd1d8627b48c6734c8104a26c467208201b519aa04358878bf0a7679ae541f5f449cf023100eea6b131c2b1757decd9ccd98a4e7ceeac4c3540e8d0d8ed5104cf8af39adefc27eea0b5d4b993c056fee9161d7830ff0302047c435bb500683066023100c884dbe06ddd25ab8fe1d8f06cb424b34473b9e361fe43fafd28b805d87a77748f26642f6de8eb943be5abd60d5e0c35023100e0e8693cb4e893bf21085522dc65baadff0303e7265da0c171daf1d4818868c82f00a2da3da5519ee31d051030ee0a1b0302047c435bb5006730650230224228b92a7863e05513f723c52372012563e68e1abf5a8b9fe917fc4c9ca203b8e715648281512a44b91ea03ade85b9023100803e79bc7575ba6eb0ed65b982ac9c17ad7961d441153cd9af7d355f2b0955a94c34279258a13bb95865ae2550aa85410302047c435bb500673065023041abe87186220392ff836c62b9f152cecb786689a9b9fb8ab25a9713ee48e131a299d9c148784e48f31fc9732bffee81023100dbe603b1aca94dc7d34d3c5841912ffdb801882b5a23c46112a49c12ea87bc62cc1ccd154d5e286d4e9ae3b89118bafb0302047c435bb500673065023100aadcd8a0f496fd7e8c1ca504161d81c72de230877d223aae2960eb1ae4994f0d84375440f97951514338a349bcde7a0a02307596c634f2b2404851add3c405d3e50db9a820da8a021ed053febef0ffd65a5cdb3bb1092361a77183a10a83726347bd0302047c435bb50066306402303f21d13eddbdc236faed1a4c7321e5f0bde4d98edc93f556592b56a89058a1b9bb85edd65b18a21c3b0100afda836b44023060c7f025c9a5ddd31fedf16ea872f996b39b6ac566612c50c0797dac0e2f3cdd41ad2c8ae150a13b1664462cd8d2868e0302047c435bb500683066023100960c0e6c4f2e4b20c312138ac9fd257f811d023a8cc9c4cfca21391cb112417ad969cf021c74801cb7df06e931d51c91023100ede940478e1bdd0b71947b0acfef4b54c456634eb5cf4a18df1791d145f18b8ed4fdbe352ae93a772083786f7e2e87e20302047c435bb5006830660231008bf8cca42f2cd21e334e22efe2ee0d2524523e61b1aa108db53ca0a3bbe2928293c4a0d54fe72f103e0ab080cc723932023100c4fe89dd479f54c56313891836b5e199eccf6585eb9a6e6d2b49846db36f97b007b79c42e56b482baa926ca66f568b0e0302047c435bb500673065023100af1b8fae07aa4b804236e22e8fbb1f62d89789942a14409b829e22143e965ebb57330949b31ffcd45e225e5f8ec4af9d02302ba231b59d530f00ab6344132db510f1d0741613b37036d23722614afc8585c91ee625357ff5e963378d5409cecd6db40302047c435bb50066306402304d3aa45b7f95fcb3301abd65f21725bd5702b073881be0d9800175a22d25e2aafae5f54bff75648d67701273810132fe023050aeb47f304146185a49657f7e14bb3f6c31c1a28f8a6b50db6706b206716334c4c4357f341cba7d98c3c6098b6d6c590302047c435bb50066306402305e35f1322c4669cce6e875e1bdd3c3c185a8eef25ead037d5ce3dd372fba8738450277467b7f0f7b5fa863ca970af1d702304a5e5de039d2bda511e58d022e2ec95feaeec618888e19e72d070ca790d80175df8a2156e0f4c7809d2989f0893b4c080302047c435bb500683066023100966245cd3254f803fa98440d96691175cc65cd60adeea85221bc1c26bc72068ac89cf6fc87d99d49b0421e50d1ed6ccf023100db02484dfc2023f5f28b8ca8a3c92e3e7775b27cc9b3dbad7f16c52ef61540ce2abece77a0f62115ee6c70ac4d9d97440302047c435bb500683066023100e7d67e3dc7e9f8a8cd1f9dadfd041f0604bc0119a0129a917e8002fc8ec6adf6124316f89219e9966a4dcccf8b481d2702310098c902c7b1f44d3389a9b9fd36567661cc37f3d48be382e2b2f62e5c58d91d6c390c4c80ebd1a122384d016019bd0a450302047c435bb500673065023100f249468a46e093baa90f67639e74716e91b084159cc310fbee19ae5b8a4900428862f4c8a5dc37e1d36fe6e173556c3b02306f8fdfa487d97e87ffb005e1c7ff591d2de2f4242c43601b05897ef507488b1515cc93fe8187a42fa75c05ac4e817f800302047c435bb500673065023100f5c21d5745a5f1e40413a47891d9409dcb4f2858fcd13acec1c601d36b4521ad6093ee03a6024c1be14e6afd4dc2136702304d9b7c5796ff902e051f2e085cb30560cee6a9a0b8ea28d7426228e77e49e2b6703859b01b0d084be4f1527074dbaae80302047c435bb500683066023100df106ed87a96a809a3d3e1fd4621a18e85bc0447bfe8bffaec7d8be467344d29c66fefd98944d9c767da5262d73fe78c023100b47c9fc5f11a82d400e25026a5fb1a9250e10e6c3d5e0c4b95cc4348540511b7a8b2f31bc6d1da888e1e05c13c6812650302047c435bb500673065023017f7c893a3564af4cc8e4817126b4dfbc0d1cc6e297bb4619d1338cff640cf0f1b1d58e33d3f9d6c7f45a46c3dfabdc80231009fc31e90679f234bc8ad95564ba136872ada56e35ce2fee9a948466991462e83f4d73296d192a731788ea22cf413c7f90302047c435bb500663064023006ae24d5ceaacfff066e109fc8a4aae95402c1085a40b359e3c1c3e4de7d930b2da4dc447ad1dc39e02d23be3b0d1181023032bd11acb710fc018f0b9c7d780fdb410d93b5aa36bd9ff27ad1b78c22cd90cbc1ace6b5a12826a7da995992ae0a36400302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023100eac2e4cae136c93399ddfb541d3f95a931d4725ecc5501bb537c92432f70926f9296f550606c4d651e24164941d85600023078e384e6e1aafa638de733fb12aa925bd9f8fd26d214e52219b9a12651714b7be5670704066993e8096064623d8215860302047c435bb50066306402303ca8ed6f954e7db14a8effe97ae2a3e44038035cc4ae45fcb228f76b1964735001768f9064b7b9aee7c3bdd48a672e7002304b9acc98bdb111709a29807098d9b146d91e9753ab665e32603f3a87072574caceb3ed23123a098157158047cb8b75040302047c435bb500683066023100d289f67b1015d81c239dd50f03543b2d9ad3a20636e4d0f0dc78a0aed98ec091588d42e58a7845e6f4f5e2aef16b63aa023100e15f76388abcfadfdbd04c479e43d19d506ddb228670d9757ff42b5bf1347be1261bd6235dd9ad620f57529faa5d430b0302047c435bb50067306502303221cc79537e20d53c670935da9afc8c37137e63efc1e97ef6a0c51360a4c0766a94d4737c69c97fbc740b085ffbf957023100a8a3deebe7768cae628dfd5e8454c33087bd7ce4c1eaf2f12797b3d8c5e96f25ed3a5508b11fa9980c0cdcd46685ae840302047c435bb500683066023100b03599cfa2045e88075de25ce231a27fc9d5a6d33ee964b16fd9861d01485623e78b93f29b09f33a1fe9d4764605124f023100802364fd0d3e9514a13662e0d9b0f42d821e7bc98205f65468aed87c9f2a3518879202b627291ccc1786867d05299bcf0302047c435bb500673065023100e45ef82b8dacb2335fac023971cd657352ec7a33bf6b6c5eaa4a2ed34dbdd5b0b154d59d982ae08a7f031da2f16d285d023014d1cc2d054a4e0d6ac0afb5cdddd12b16273f10b37ead8677650f9e66bc552370b1133854064aedb044117d1968637c0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006630640230422d4f07b983580e3684eeaff88f5923726a8c796118cb7969cf952a00a1b7ab092d465b6448810b5f159494c7138c6a0230731c7c8f825bf34c4585a47638e9602ecd20b20443b48fcf5cdc0c0992957904cc0e4274ee2c083b20c09c4a374668bc0302047c435bb5006730650230386e7e11705454538ad158300c57cc8052588d9a0f59c458b01941607b464e33e92771eec4246d40b4a9afc2b3915982023100ed74babd425f1668ca6b0fe21dc50f5f65a7a0fa75cc3a5371691958c553a59be668bd1022555ca092625ec974cbcfa60302047c435bb500673065023100ef9be6cade1735135160ba2a28bafb1e788ca191edf78b758955171a4b69291ed1b1434cf52f83eb83707d4b2ff992690230567acf1ece91ec7ef7da86325034929187c2a17adb178e4c2362c90eabb8a41624e47182a5de09951dd694531dfd127f0302047c435bb500673065023068f8a04fc1f6712da55d8e3100c301d4ced32aef8c652ce517ba0d062174bde7b08a86b04848c8ddd11affc205397c9c023100878cc1d6013b1fd6fbeed354264613e64d2e4f9f38c79d7255ca65575d0fbf9f97dc8a72482d1816c3fcb6d3187648f70302047c435bb50066306402310081c8f6e1de3771ead4cd233f797c3c3b670fdf37ebb7ac97168728e2c790647064f5c0551f2ad3889c9b04b258a371ee022f61f0859d1b5e3552027cd4ecf7848e6d6c5fb021f249b16fd989b135671e7934457256adb762ccc45c69a8b7dd33b30302047c435bb5006830660231008b797c61eb1a9068cc4cd8bfe4b53532bb1d3deaa64c9d205d4e7107cb75086d11b4232680f85bfefbe4216b07ce712e023100d54b161fb9d9295e6a81b11ffad264c962e123678df049dc07b63171d19547f692d136d9e91bffaee2485eafa15e17d80302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500683066023100f70866c89f36a0ba1bc426549d0b419a1d768023db5d20e72a5f722972285ffa129dd53503c3a7c7ca85c7e5400bb2fc0231009ef83aca743ca385f1442ba21af7ee11bb179a43b4ec98681d36e396d325dfde33f74a8494a67f7a782e155d2aa2cebd0302047c435bb5006830660231008ad763e6e3877ab0ffed200ad736a232598bdce29a5810d006cd26edcb483a3c47afcd7a4da4f8b83d5140ecee36e678023100f7ceee67aa1b4ffcd9d629e1320437fe01013fabf8275022c8f1112b59ad1467d3c0f5c42810ee05513c8eda2313ac650302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50067306502300eb314c3562aaeee98e91e39bbed7b6fc4f689c6dfad7db7ffac0c7a250617735037e9ff620e32002ade5d8355393cec023100c54018c32a30bad0d55815b5bb920a10fe03810f290e376c4def30577850e3b1557886ed85cbe013ad3d1644fdc3eb860302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023100a4ddeca38d16c8051e406ebd58287ce4fd4dab3565d190847b5e5376a52ea8accd48e4b81244db96c755acc9ee89bfa60230726738edad8739c5495b0a03c6a0f8d62f17c4f43ed9148b57ed4ec93a83eb72f874156f40155f2439e228e364de0b710302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50067306502300abd7f180e3777d341be420ec196b52b9e5d85df35e4c41ac050f7c2e48e707693ca423767252b1d989f5d9a7be6b0c1023100d93a353a46acf0e43b028cf3df3d9dc735076081483a21d5f6e25e957dcdad4338590e81c8a9b9d9f55776622e55cb880302047c435bb500683066023100c7b313e0a8d243253b5af35d6bcd6862b58fc58d2dd498a0a76441f4631d936b2cb9b644e578caebc6804a7a68f0aea1023100ddb7e8bb7f98c9d28a59139865fdb38335728bada41a65915ed02b20e97f8b032b0333711bbb4ba2f3c975beaa7db7c10302047c435bb500683066023100cf44fc9fb00f34dbb7b16f19eda1cb51a83f78b5cfd480421f3de6ec2bcf07c81922a2710e8b382865f55ca401cde8a8023100b767cbac299342c9873b948f55371c3d90b35ab8e9a904024786900241953af601a935595c0e8973d9baa442417f72c90302047c435bb500673065023100c2f10f37c1a4628e291140911c943b344ceeff2184085e971194f5577437fa908ae75564c37b9db715b029cdfd79f93c0230173e83071d20719274e26e544de3f6d7b2ebf9cabfd38892b83e833635830a0592d0f6de92fc784be05c303b36fd59d00302047c435bb500673065023100ee887606851030eb065e4aba0c272e31c57d0b24d9b76f3163f6a8a8ceb252973cb21cef036f6794d49cc63d6bd9d94c02302aa01d888eb142ff0a31aa3e521a515bcc55bf8b22a272603bb8835044a3a719b16ced7c5f9949402098f75d4fc508b10302047c435bb500663064023013fafd30a8f2aa9613465f2d1976419a65ff08ffc06b9577640d5b307a914982668ccca5dbfbada98295a13422c9ebde023032d3542a6c11af2cf787d154f3f99363c98cade28eb29f7a7228f598f16715dcb732bd6c65e530d1168363ee384b534b0302047c435bb500663064023024fccf2565e6ff01d9d2652ec53ef1f66dda81b7f5882e4760f150303e7b659b3eaed537df9179ac9eb8a0c60a558bdb023014b1072017ae2a073e066c6ba357070a4c98ddca708e082cb2d54d2e1ace5f7f4da98668768210a0ff58d4e75ad87bd10302047c435bb500673065023100bf7ba3d5c48ec252fe8c61f18152300900c4a5cc81d7ecf7657e21ab0ee5ea54bd1f02d375457b495529a7acdd26dcd50230378187cb6bf91300eabbb15b25ea6629781f869fd65d3cc55c798de1084a783c0661c86bda2b626f598a53b7d20ba7610302047c435bb50067306502301aca909af2e87c76d48d4a19e97add8fde105579d4b58d57183d24c57e10e8bf094da1ee80abdf65eb49f882468fd1e0023100e63161518455c8e75d6acde3e869bc5265493734e021149ca3319db6e529e35c096fc15ba57b8f46bc6a6343a9cfd7b10302047c435bb50067306502304aa130cd0e71c1b87cfaac4db3f447c3c55cd202eecacba054c6ff8fb4e91bc78a7370406ca8c1aa28f380e91310bff1023100e1bda3deb5188e286c0f5c9d1e36784a6a835de8be5e8cd98b2e8d883d61104c880488fc2af50f437c25c985e16850910302047c435bb500673065023100a0d18027f6be612359dc8b54eecff9b5551c44076b79f85af327ac9b09cb240999c9fd1b0826becd3fe4a96df998387e023016e862e45bde4bd63b558a44eb5b1078b49d63691939cd72ee5cca6637e7a7c660092fb0f9623a7d4193bd5209d2afcc0302047c435bb500673065023019fed17ab9dd11347eb23c47dd44639df1274097b1fead599304c2d864e6e80f5072d44f3a13ea09d6d095667a7a9989023100a251f5c9043c556f50d2fac560d9c8a509e569aeface60643c8057f31e1dda144d5975fd6268c6697e1d0989a0ec53340302047c435bb500673065023100847321de3cc36b896af062541cc3ca71153607d8336f5359aebe00d4b881a498797542a68fe458d0da5457ae8ea735c40230041d3cecefb4429decb229f994b4b4ff9a99164d3fd83dbfcfb4be21a4d10d25851075b5e527ec39c34e991ea31ebf8f0302047c435bb5006730650230073225dfc2f9395a597e291282f6da0b58bb0133665aa14eb145c897d30369dd57becdeefd92d373486ca079e50e7127023100aa99572191245f5f79414b2e3a673ef0953e6ef3ea5b6ec2013bd79849ef76a34eda48ac8cfb24783a5c25782b624d830302047c435bb500683066023100f9ec59ff4cd8141298126f120e3cf50085391c417719d5527755a2afc53a47cb630ea762034f66eb74a0dad36681b535023100fcb72c15474dff9e3d5f57eef9c7f489dc2fd52ad04f3e1d156532de1f7435db8c53b2dd4e7645b4f00c9e6668ad25750302047c435bb500673065023100801b7083f2eb6df03fc0d00ffe5b754d333b5946275f5b6026b8683f8b5e0fefc05790c166e888af02349a208eb5453d02302381ebd5ae730248037abee7a0df2509b7581ebea77a3e43e7133aaae0bf66888c16cc20db0e3d429932a7905304709d0302047c435bb50067306502302a7b2bc78f13b972e430a5cc24acf879cb53a0d7e53e4afb2b355d28a0418942a2a70e3e43a616564665afef96504279023100c03f692d0fe53e0d5c041025dee62b474df3abae8d82b07ec557d6e3d74ae12398be413187b17780a4ab388d23d173ec0302047c435bb500673065023100c8e1289c25c2d2640f60e0019498009a1efb0fe3daf4bd4b98239fa51b79e444379ae738c1f2005aa49d24636a4f025302301af5337e23f09fe6e5c39ac7eaab3d932d4da6542b0693a6fb2d6ce39d2b19fc6c78241b4e615dabe0b101023870630d0302047c435bb50066306402302e8a977db732de8c262a1d612fc3b8d84bca7542d4609d044fc3d952593cca850cb1259625b7ff5f203b069b8835944a02305436d9aa1f83fb9caa3dd1fb10d76fe86c4b22a58fdad21c8be3c55541b67db68773e86dfbe14ca80721805f8e12ea0b0302047c435bb500683066023100ea92ea4b10097fd8687a770af3bad8eb307fc891ffedfa2d0aab13f6e4fe1def4610ddd5f27f148abde8fecb136cff7b0231009e6138a202f012591ff9f5f8fdb1a594ddf31d80c557def237f7566e5404077f1c6897961eecef58fee77add587c3bee0302047c435bb5006630640230357ffa4591fc61cb131f89caba3bad11322a11ff7e4ca19cc6d0786eff2ef918a32e7af73c66edb3ca5c6fb6292313d7023041670532ac7aa51613415e9494f8338ecce4b9b891a513b76b355f5fd02ed00c60130a04f4fc44b39a1c84e28ed043f00302047c435bb500663064023029921cd6766c475a1c9398a3e118e15246eed83910ba9ea5a0b7ebd115916b215975a01af81517d9599e7e7992ca040c02307731d61ec02d92eee4e89bece1f27fc86492b647b3ff4ea4a99c711bcc88f6510c5e39c6e46017df2964a0ac4539d20c0302047c435bb5006730650230219cf65d48c640df5e8b99e0d544aeb8a237cd6097eb6b13eb3ebae39493efe5266e62c0e2504232f302ecb50ad8789e023100e4461f6f2940d1038ce5f03ebb4a8f827aa0d897b51c7cb615e6f5e521539fce69851dd9103c50a27cc2652d5be2be3d0302047c435bb500673065023100804cba59b89cde86cd82362ae665b254d0cdee4b833aa6010ec3be652a522fb3a923841868379535c96190ca573c216202307c4d97ff1b4abc13ca34c169bad62f8b1e58767cddec66218b979e18c8a75a6c4eecdb8e27f77177fdc8bb24e91900600302047c435bb500683066023100a705332374699f48166598070a421952c5f28d600e0b4e44f238f77bdd79ac093f3b559eca1524de965c96bad65a52fc023100dcae04cacee1e14f795775837ae8ec75f5550835858b54c9a9e38aeb8ec76724341b3e5ddbe081f7f5f82b80c9d6ae720302047c435bb500663064023041534ac46a41bd84822204959c02421d1e7d4e18d28779420a74a4f6921c6d21b2b6bcff7ae379771d5345094fc7acfd0230097015e7ee13ead7d78de73eeb5a2354d7de3ed00548cd095266b7c47c7efe32dcd23cd29b000a6fe1977693178efde80302047c435bb5006830660231009cb17d6d70534124b157026c55831c30ea2abd6b1e0184379149e733511719bcf5860e25a5c7a2cd31c432828ef74607023100830f1f0a9639df0c3d325ac8073394439586b7bd4897368fe5e5b5ce8bdb5e807d33588bee11158a1e051e579ec10bcd0302047c435bb500673065023100808fbb7e41f5feb80aa77568e394d52d82b7594ac7af6c76d7c70a424ab1b95c89cb86e589d6aa523c5636fa24f6ec47023005cd2ebf7521719741291bbc029ed059758024fbd4cb6e4e5a07c5bf0b7dd27a4b9a1d989b744f9c00e6709aa88eab390302047c435bb500673065023100e84ee958532cd8b99dea89fdf7a6e3e07be7d8a34aaa23def1305c2d5ff8bd41a83b995122cb90e149c158e059ae8c460230398d926281ccb08b32bf1b3809d22c6207623581aea0e38a7d93e6a8a45199356642689769d55b4ea170f51ffedca33f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50067306502307a1d5c787e973ef543b7771b8a809bfd69613c70c7477a27d5b736e1f5685488ee656ca869f35f21404bfcf17f00dc1d023100c0e1a62590fa961a355aca350ac87f5a6fc303fda8e66be8b2855ead161b09d64201adea377db43a5fb4b524cbdbb9a70302047c435bb50066306402301e5236ec6299c67c5265b160d36e79c06e2b874712550840b20ab188b8ac4e5d5b58570587b12e7e006b8cc80866b3a102303c69e5f14eb3db5310ef96e9bca597a2a0f17d3c37b64948f9fe48d5c96e984aecb3f22b4dd003dadd74c7889ba3eb6e0302047c435bb50067306502310090ae03e5cede9fb3156832f189e7a9f1393678bec828331a361a684b08e0e1c77576043f05f9be1a7d2cdd4172b6d3f702306f2483d7cd2d7f5cc2504507755f476239d3d3f2ffb906ca6db98008dd613974fcab2c3ccbe83338e06cb571bfa4120c0302047c435bb50068306602310098ea5beb981c70df341b1c216ecc878aa4dcb99a1345f8b770002af461f358a4098796934b8c62fb32ef06832b80ee98023100af5a54710a6a28f5677a86d4f5ecdc5ff716d9c531b658dd753dac3e809982fca22e84c8dc1b26c87e3b6580d49624ca0302047c435bb500673065023100fa957c5d6564d99beae7708c4565bbacd75dd8fdf80c60fae4fdf73d27b7d615425c15ff37c7b96c68c64b13cab74c8e0230425a44a87ebc39544673c076641ce8a6ceed2ee718f7e473cdfd3235fed4470cf0c27b0bf055e47d1138c4a7e85602500302047c435bb500683066023100a38dd4526db6942353a785f9ad56d39072127f04e390f08e0dae43cca7834c20e02c009de5c3e5a13505ab997b9d071b023100e0a12883b3c46ac40ab6ff02551c72b4266ef5115852c99e411e8b6affb6b5d76983b18774fe1c5da48ffd01a2e8e4fe0302047c435bb5006730650230411a74c5def3779bc8d8f9a8c1461b801f11b7550fc42c299282181ea038e7843fa5d27dcb0ec2b4cf405ad68481afb9023100d82b7bfc21e8c1b79f537f66b4d0b4529becfaad324ac42562009f7f43459313ce19ad9de9b5ee871eafa2a7470bc70b0302047c435bb50066306402306a7f99e988ec221b3295a3df9df032f960ce7a1c2ba04448f37ee79709d101f8205a2a29297fba7bc84e9600e720bf2b023066c45df7736564b145b6c05d0d0c108d83582d79ba5c0f70e223f018e5c063a81ffdc24a37ce03e822e3cf0bbebff6770302047c435bb500673065023100ad3fdd2a2e930edcbe687eb86ce6b5ed11e351dff1771a6b658d78125637fd4daaa23090e8da911fce0c032f07d014b502302ee8691630d424476350fc58bed4e2c9601d9a9655b0f1149f503569f9deb75296d4cb8d905d12da791df2208e4a3f430302047c435bb50068306602310088300e6cdda87440641b36fb3551d498f6ff113fde82ba947be3b5007672a16d528fb21a58753363fb258493ccd357eb023100b4760ac18723830a462bd907a05233b4c6368bedce0c44cd55965000750aca73ba4becf799add94de857dc03a8c39a2e0302047c435bb5006630640230212ffe0b2fb11250ac821ca92066ab174d88305d608f2dc91cfbffa2f886cfccf80c3066d36fd6ada9bc7af33836f95c023027edcac9a87bc083e17f0b1140d06d80a8ce9e11e15a394b5f76049b4de766c3c95618f015baf7add063180fc6b091050302047c435bb500673065023067ac278df9d11067609ce35926cb625e6538e437ff072ac50e337c0a3e9441f4cc91672a7a3248ee06209a2b55da20120231009084ad8895a9d95fd9fb492fda160fbe60c1bba31748b3e102e351a819f86f8d9c17d35c3867db1fa8ab82e5813c1fa50302047c435bb5006730650231009ab9a29b89c7a0c6c396ae4ec65ae5b33cc3541b4c6e8f7a352c6bac76ceb54ba9d7fb4e4fb9d7c9237416eca8305b4d0230282b690a6bb38d4b683498c447ca9cbdf0817d055bb5c9c71bdca890d4f93bb4e6a229870851e5278c1dd5c7c6c316ce0302047c435bb500673065023052b0a0f94bc56b6c5cf2f8bb4a52a07a33074642734c06ad33a6ada80606e7c51ed7dfc77fdf7f09119fbb64c0fa6af2023100db3a1cbd018edbd7dca413a5860553cf96d25a34313f17049b2c408a5ea76fd64b2cd85b33394350208b156e198a950f0302047c435bb500683066023100d87cddd4600de725791559a025991f02c37c40733cb7b93769362112a0307de991080ce47175fe7e1f3bf6402e7c2f12023100b64403dfe49b3bc64a7ce82abc49b6c2b20111b3dcc4d6c46b0ac5c57680b14d1ae9f9ade16a5092bcc1f8e512350c4c0302047c435bb500673065023100c15ec44ee74daf348eacc6ed64b028e2e8fca7b1335fd2179f65a11b1a5b54b2b234cc2d8427c4273a47109c49052219023015951741660fdd79b6b24ecc08c0e9514a26eb1671cc8a9ebfb6ac78fa43c4d80c2bd1b184f117f071e985ce8c10d3360302047c435bb500683066023100f75559986b2a9e31aaa54895c8f16e030567f96751227fa50b88829991a3c1a64423ef6d0215ef8e497837a3f01513aa023100b910896ddd35bf0696149ff409a42c55a38ef1ec82ceef4b0d822f90ced39791dd425a4e18b4693b6b36b8791fea8c650302047c435bb50066306402303d672c92ab42d2d85857f3745a09ac2f1a23fe02b6a2cd72426aebe019f2e331e73d5ad2d1702865408933d1c276e74b023039ffb1014c8486a3893bc91e1c0e473f8a10f2cdab18330dc60f97bd842b654d5903e03b6af82d3537d8ba7f79eb61330302047c435bb500673065023044f705a91684e0ee53d28743b404a449d9ec3018a5f351532b012b28d307c6247bfde8229c40a13bb31fea214016f04f02310096cd01cb0880d4c709a6984de0daf53f8d04f11c5d777e267660854d1d68386633435a841acbf3e936a55b2a17a6af480302047c435bb500683066023100aee611ec243a24fd69a36a66850bca7105a9ad023bb41e70ab977885f733a6bdb6f7d2e9768288c7a4fbdff6128964b70231009098048f6a6d252488cbaf8e0b2b97d9ab0ec5df288f038afa4ac31a2711e8651e560ba11214d8f876bf824a1ad17ee70302047c435bb500683066023100fd0fa35684afe8360713182d0e3db6c908f5c9f49b39051e0d89ada4d5753b431db2b7472394b0225613027290e283c5023100d894efbbc6de43c30d9e3015d3381387ef55b4e7059757a9a3a0cfa8927a6b9b9148356c1582ac3d5d49bfcc234017250302047c435bb5006830660231009ff0cbf804a9bfe19d30aaa72c71044be12f92a18ba8d0edede6692cedf5dcccc50fc43299268abb053383e5ad92b4dc023100c20f5917b171d1911d77ef6f368d4a8329cd44bc6d765f1f3e0b6c18147f88287589f8346c6c79065f70af3073405c730302047c435bb500673065023013b943aeeb60a30deb67e60b6c059529afd314462c39c8c9d373f5396483f532bd783f81dda79265fa1b48452a2f2eb4023100d5283322b76ed675d95543208cab51252892522c564885cf5795a97c07b721feb114f6ad036295b31b798145e2e5739d0302047c435bb5006630640230294a855d8c4195e780927ceabec99843d23a9592a8cbbcaac71e67db7ccdbafacfd9c466a55402e741bc6b69d892374102301a1958b5d63571090c95ab216a13caf9f382321a411a79ca0c7bddb0ba852ac1327f80d6ada8d46d32b6c6d00a9b0d970302047c435bb50066306402305d5e3fe226c846956133eee894048b01766bcc858f3270cb8187b7811b232dd4a17c7853b4c29c5686eb5bfc48e5f8da023030801846390bfcf736cfaa192acc5aad39c820e262226618c373c0fb1732238cca3d8ed56579aacc9cee60f39fa52caf0302047c435bb50067306502303246504c4d221fef7d7ade3397036cf6e0f8c4bd1a6efb1019b57f46d00422f55dcacd8852ec6cdd78b926db19f4a41a023100d946926d0d400653a61fd6732542ac53b83b10b4037d3275251e73580bb46f9e0ef7b20912151416477a3109a4cdd0380302047c435bb5006630640230715d43ecfb55fecf29a21fd50e2b0e2e04ced80af7f297a94a60eb52cc756059028dcab044ddd7886e7ce4101dc756660230458a13e0e41b3f50d1479ef2d1bdb80a5be0adbd9c746d4e034fc6aaf9c0eef72f05382c81682cd0cf8ceae1c27c6b4f0302047c435bb500683066023100cff07a34f9776f8be3a44aa9215859d698d912f5a5527e89df34a1b3ba6f4c6591e597e296d4490e0cabbe6683e6e330023100b306bdabbed208b23faf136149a6526d4ccfba5a984087935f755733d512465052bf6cc540cda7b39d893abb7d51c4750302047c435bb50066306402300d433f8169b7f5f73dcb6d5cbc961301a76cfc1ce3accfa02b2a80b70898a37553f50d77a54b4a85a980f56d167a2c73023069b4c57eec38cc279945695963e83fdffdcdc0adaf0abb44b4670de06e91051e4c43005c16d2adb22c86e98a31002e3d0302047c435bb500673065023031a0b84f755fd1636beabc6c7c0ee9902447283d3f2a2b89200d4052b29e1094220b60e0c5c295a1bd44fd557bfaeedc023100c0897c24c4f5951b5a374fd284adb6db5361e325358e55e228aa2b8af134e71b551aff95127af179aeb68ca7166830e50302047c435bb500673065023100c56c5a11080b9feb9d252b50a6f5edb8f5ca5907047be7bd40ef4453355e18d3ef5359b82504bb471a76bc240146add302307fed6c08466b65568d3ac78e1c884e5ba7650a20cf454b4f55a25d6c84b51e440a9de916e875dec66ebf74fe3c2262bf0302047c435bb500683066023100afe0b3b17080e4e2b6651a8e61fab0eef872523d6d846ba28b46b452cb4b4c05b3da50ce3699b426872de3daed244a95023100b2cf49793ac7a9bd8e4f980f5907510ef6cd9c5a53ee4b23e4e552f387e6685b2f3cffc649ed0fecead37631eed47ae70302047c435bb50066306402304b56f5cfee9e59e3a37bbdc0b56403e39e80f3e1255b150b709e66565becd0229f631d12e61cc7a3510677fdff82440e02303c604c7c7d268ba2ffe2d850c94b6eb4f9d8eddd0483c6b535dd63b3f16aababe049dd5cb44b0ec8a455280a348c8cf20302047c435bb50067306502302ef1f3269885ed8a454cf0def01c82ee2fd4ad8bcd215c6366d5c369aed9570576839fa004bc5d765c54be293354d215023100f4f8f209d5e2d0bb5b85473ff92402de45fd8a4ac18406ba8f93ef9e71afcd2dad23cf317a5c5cec26f7303be1e292b70302047c435bb500673065023100c70470f5b7bb4327b355e90c641e9b22670fd053505827a3c49fbf693190011b62f7955a3ec95ea090ea6a0553392aa0023046752b63c6cde0eb633dadaeb1dca8fc34bf82ed4129ec417dc6286bc3c1f8a988b9420e1ebd5c5970c6b5102e75aa9e0302047c435bb500683066023100cbb964bbf607d4df6e92dc5c55ba5cfc0fb87309f47e19f31acc85bad2865e3d19ed80b68dbfcd6f4e4cdf22f474b2af023100a7da9ad6b4e744b169da9202116097b60f2c89eb683467ac99927bc5807c332afe12ae750d1d4862ca808553c7a19d320302047c435bb5006630640230119bf05e64170b558c68e671b391b071067f5a592d7588a5e070984cd8604f887e51e9a67216ef1daa410bfb3f17acc6023013909ae76ae6b6d17d5d0f9c5625dbc8fae0ebd1ff8449a2d5b916bc9d37798dd41a6a62addebd7e526f08768914eafa0302047c435bb5006730650231009409cdf8785e6152474c89e285de8ba997f5f85ad2d53b50e3998043c6d978fd4d3f5f3c03eb2f63cfe85ce15d38513902303a71efee7c0ce842a045b9be8a3e18da9a2111e3be43919d1db8cd433fd52e233d4698f93d726a4ea6263eb45ed28b310302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50068306602310082f31b500601f00d01830f0082ef4579a22691f5a409ef98fc78fd4d30d190ec790ab4b6d210e9fe26b76127fdbf98db023100fdc8a44958057173947da1c58df34e018eae8c952276886120f4dcf91be3bf6493db8676283923e4271b5d388f85a8540302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50066306402306dfd8408b20c8f968d9f56ce7c41d44872278cbf4bc93b357ccbd721f56a599a966a926241bd86c1ce227ceb342123f602300175d1a28c0dfd202c71c9716609119fee98d71202d12af177806d6a1965b39fe7b06bd3f0ec8a646ad0f23fc2d4d4d70302047c435bb500673065023100a6baa50bbd05592f816b40cce611971355cb11dee1f2290ce9d486071c917eb3756d7381057cb941ea83ee022c5b34ce02301b2caba46db8bb6fad3cc5fa6b39066953705e6cef4eb340d819f38b98f7b3a440adb365df6cb08e83e24db26360ba870302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500683066023100a503dab0b6da545d5a307b5a4ec39c20c998241cde85e457cec1f6523199d60866b6bab9cf23d6628699f9f8a3a9b309023100c0f0a0eac58eb86a82fbf287fd39035279aad3033743817ec59a826b99b6221f7b0dafc818dde4379631de740bdffb290302047c435bb5006730650230110ed55bc333c83769c29b51f1cfdd0dfbc35cc98a2446c1686c0270197aa040e268d9f646c03c1721ed18a4f0a6b6860231008a001c07cb9f08472f9eac90b99c40c4484a94a2d2bfcb9d25dc12c335febe5f82aca88b42ab8cea0aaf3a2f75d801920302047c435bb500663064023073848e7a3794495937bdd43cc2af1ec08fa2f9189b2f2d10792eab436c824b071fce2d8b4bc6682bfa889cbc84cc43a5023003d9745b266dfd4ccff7f19b89546368e45ab0c18c063aff27014c36e42553bb5c180bf58132f7a9d5fa57200f3f57e20302047c435bb5006730650230115adc3b619411f08003b5a561151376f9c01291f039822a6c8f9d0b40d45e5f5bee72f6ea366152117e51fb5416fa49023100a231d666c65a2511b452e866f9c9b7d8150dc8247d03e7c23766feaa13fd0a2c1d46bbba5bf20c842a87d5045f9746210302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023100b9b9bd9c30ec2066c00dcfad244ef860edf673fe2161aa4d877801b45d0c90ac94f3f3d65cb349f0740ebf183c115b10023050d595f27bd3cb21dbb4eadc528e98d63ebb86e9b214552021370afd48087316bed8b8b00fc001c38a17a96ecfda89150302047c435bb50066306402306ff0578825975571f16615aa351261e55b2e74d7e8fe5fe7c260605ca405b67cd0d486ac6faa094a7d689197d3adde500230111e0ec14974a9609b22b036bc15c124396c9edcaa5b4926b5d1e019f7f9b2cae1301c2406a897a2370c4f349c6ebdac0302047c435bb500673065023100b826a16ceb3cc84a61d41a8ae49e00075fc345ac21b21773157b1f91b269af9f3511634e8d485beaa37e61728338c24e0230209bc0709ad82fa1448e6fa1291a9471d4e6f9828024b17dbdb23a5b66e1d6211fdb8a1a573b5dca3c15046869398d700302047c435bb500683066023100ba2c5edaa9f25bf246a3c5906d38e7f67e95d6e4ab64396c12103d1685f329ba0d098114977869f5e3f0fa290dd3a3b7023100f99fedf8b9b95e93c91e2475cbd8844c8a79d40a3fa54b44c4f9038a548ecbe93c9cd899446ac81fe2211441a7ad772d0302047c435bb500673065023100db58290da5a1c22f525f41b5e6ed7b6ce5856c702c42e98899e672bfe1101604c68f872612875589cceb12b237a44787023007d664cc51bf50e3c4b18729ccb3ab26d69d244861cf91f5fb6cfe2b1ec38936376a1c7e2d497f9e4d75b00cf1214bff0302047c435bb500673065023100a6caf7950fcb6fdb68db1efeaed7410857b1cf773f9bebf12efc9824d698a18cd2ec43f42daf0833544a74e6a26949ed023050a95f4181d69073d6bacddd5d1767d420e9df3e85d1651d5d2bdfc9438f6c04b3f11bc3aedb59c6e9f7bc5188de97790302047c435bb5006630640230263570ff17bf43b5dc0c2e8459a1e76b789ae3b5526ef141fc3cf04564e660af8ecb277ecff805f1ee3875081e5d3765023072e9c459d3255197c2e23d3dce17442f63cfd23eaf7f218fa64030207ef4ee6a2c297e7f821642979f32cd765c10043c0302047c435bb5006830660231009aabb204cf5a889d3fb363c26a9aff53628657f7d8a360774c565693bbc0794052e1fda549c0575c5b12f59871651da6023100dec3618aa13c89d07ec5d2b2f7f4731749e9e79289edf74b6e865deacf8a162a59fad1a3054f2a3a1fce050b204e34530302047c435bb5006730650230740c0331ab8be3295a90c1d025a81b0ffc57cb8fe3588ff32f8b3eacacf61ed50bb20050e860ba279eb36466287d2dd3023100ced75816df99659819696fce6631f390bd33476b27bcabada5d29f018b9bc901d41a6081899f3ec33eedfb07cefb4c3e0302047c435bb500683066023100e29001b1aba73795c1acdedbebe4c2314d7eaa44902adc0ba058c03bed5022b69d5eb07df6dd5dfdeb42893e9002726d023100f91720b1619de565023651ea676cf256d7f0e1628473571f57e5804fe3f301a10e4b202a3825c2952e26964d8868c40c0302047c435bb500683066023100939dac450e2701b873080ebe739a583a373665601ecbe7c6dd4a119f0aa9a6ae6e291e94c94b0fcf63f7dc9dcfcbbff7023100a5a781fb0a8c73a82399919de59c2d915a8f9add7b2c7c0995e3072bd313d598e00a6be09015c6213f18b20949ecc0cd0302047c435bb500673065023100ae71ad29577a91c0373b5d07dca4d5e1e7f70ffbb9de0a4187ef53c1ec338c4645b2e56c3e34bd604a99de4116a5ab9502301999940afedb73dde65b993759d6295fd35ce1f2b1f88e1cc1fe2441626c9640b37f73d677653540dac5f9a8609ea68f0302047c435bb50068306602310090d9fd8222b13243a3abff6147efb01fc1dd211f46e68176ccb5345ca5a3b939f70eab3344ea13a9894427fc07620fe7023100e0f805c72fd15fe2805852a841119904a50677327d1aafcda9e29e9968194e9d8ba295e569bac7ee80be8f55036f6fed0302047c435bb50066306402305f5a4213df2b71c86a7207b87779f942e34d74c6d5efbc90cb2b7dcb53d73f9f6e9c8fc66cf4ed975e70ab92dbd594380230123e50ae7f08fbdce5297abd4e0f25f16332db0f77dae1ca5e68284d721ebe02926195d801daf166b53eff440952952f0302047c435bb50066306402302b3556adc8a15f3358bec30da930294b1e8e208927acfb6a2de2784acba9c45a6cde52f0a0b3bedd6c8cd5b7fa1fdada023025bff783ed51259f5ddee34effb3ad03b6f6a2bdd5d6b753957be4af834a3c3b041cda3445d6cdf06c09fadfb65d720e0302047c435bb500673065023001fec69511583479734604270a3c5a2c51c38ee8d0ba6159f08140bf2fab918cef3ebb9a2e5dd7571a330fca24138e13023100ee5d337cf02d45e84700c533a681308474e273ecd38c3b2fffd787e13066c8bbff5d960bb7076aeab1c2635b8ddd948d0302047c435bb50068306602310096a6f28c1df95014eb692aa565a14c8dcb607bb9ed3e547ae8ea47036fadd9f5de40e12614c7a18d47ddcd847f076b6802310098e3b098a240161c1b97278d39e3aa21462762ad0d10dbdb8172b9b70ffce8d0b9812a9702a84889b0f390a82dc6ab8f0302047c435bb500663064023079e280b1f598747d23806543d434730a8ff0ff088330cf1814d0533266305ad8ffa6319d66ca3042acde30d39a2b648c02306d5139a953e0f8451af63834881b9fd3c0f85b6cbba67df589a7ecde15cd4ca5feddd7e25c86cafc9e6bad4f7bd582650302047c435bb5006830660231009c6a40b0cf9479ecb9fb884e06510157ad2e7054b176b00f643247101ec25c9db18416574ffd52bf2c8433b810e87605023100e8dccdc153e464b3414cf185a12095d46a50763a4946ff3ea696de50d5f26aae64dddbe7e10ec49735be94d4601ffe110302047c435bb500673065023100b110fcb5bfc1035448369dca0a99186fa2cbca9312f63029d874fc3aaa03ccf29e80f6a25c825903fcff348d6d7efe8802307c2e68be27f9a6b8f4432f7b751c318af0169ff8b2769d1171ecd241ac9b1aa28262ff9f3b4bd5905917263484c188930302047c435bb500673065023067fd66123d022f1e893d3c47dbb2e0ad0c008743ad82350594b9978298367e24449af017aeb508d48fe41d801aa612c1023100e8b502c2a6fb59a821317e52334286cffd5539e458517a1da879ccc8bbcbbec9084ccd74125ddc69d10ba741dd2e49aa0302047c435bb5006830660231009d7da7f1961b3847ec50ea0e5c69c785fbcfddad93c147aac068b46d2bf67bf10fe672f0369160e73ad34a167543cf20023100a75a06ea719e37e9eb182341a90ccede190befd81531e3405336f9236a329531c4433cf2cfd3e291f37a7ebb82a02ec90302047c435bb500683066023100a0c8970537ed4c74d213cf8adebb3e8b50df9db3514672d87ce06d1fd4976eda9dae829c5207eb9a42c84439c6382b43023100f7d8372ceda4fa92df99540a91d4d05ff8c886af186ad399004bf6aebe42246114a34fa6fd63487c875f7726c62e61250302047c435bb50066306402301d8f095717aad1563572b655e4d55739949c37efc4df702f19cff0636421f67bc320355df8787652a516718703da490302307a27e024fc07843beb08c65ff49a67cfdf27293892644621b2d7be1db2575471d63cd58651ab6256dcc09b9897d001770302047c435bb500673065023100ecb071eaf65fe6f26269a8bab3a812f4bb0a49e41e243d05f8392f8701fc9d7436e83b17a2d1f2d715507ac6ddc7984b02303316a92abdc9d87fe0ee471fa8a794a4a0e57ef7df5ceb41dd7e453810968c146beeb1da0d0c96ff2381ef6ba82634de0302047c435bb500683066023100e127e044bcd9e2356cd6c349b2f87cfb2080e7baac31428fbb0011dd37e36bc8d6ef2429655ec30797c032d4f596fcdf023100ba8c7fdbafde036ae07a4a3a2cad9a20eb7cfd1211d36fd298459e37b5d73ca9ba202e1fb4274c887b1c5a4e9f6381390302047c435bb500683066023100d65e273da581102eeb5a26f6a4955d19a8844f7a0a813d5c7f0945aea57f0990ead83eb7ebb2a0b9e9358d599b3b9418023100f041ec2d8f7e6b1c31b0bb12c3f09c21af021c87f9b7d5c95486266801fd7697a3ffa5194fa0fa8776ed6bf13c4386d50302047c435bb500673065023076b68b926389f0e05e2724bc7522cb91e6f591bf3d07ed94e761373be34c150c5d7c7c6fadacf4ed2453cd9063f9f58b0231009e72a0ab6888585dabdcefd3356e3eb8ff7a3b00057a1da77d3d93912a38328c0246d773c2aa3ddcc7bec8e8dd9d18340302047c435bb5006730650231009c4e79aa60ed50a543b4048eb3b2868e598f6424eae2fe2c7acd8133a33ecf586cffb77e56da948ffa54083db54807db0230732be6633c4bc75ff0788a5d9c9ddbb297361745086cfeaeab3c9a1255aa97967d8621812b1d6196b0ea698aac1a1d150302047c435bb500663064023057032e035f1528386b5bc404bb7a8618271507d79e444ce4d8240249d07038575c57488f3c7d4d9ae2d286189490466d02306910cdd80b8a4dedc072ad972d0d3c72482c2e59349cda430bbc233dbd8a172488ba90408a0bc62f36eba13df02220c70302047c435bb500683066023100f438aa75d3b21afbd7c6b3748150252d69fe58e3aeddd6d2df925757fb28da6446a5b572f319aecfddbe075b614ef1dd023100f05b578ebdd1e41edc6c5cbf7c1d31448950bc799e66784df924de28dcbdf77760b095b269b0d0f1e2b468542296fe1e0302047c435bb500683066023100f19d4fe1d635ebe34fe21ab64bcbec9700d1195f80ab6eb212723b44d6cf740e6971d7e57a16df4e2a258020e53ad75f023100a8b1b60ecc2b3aa2ef4bfb51c171604b86ca4d868c9f7f89965a15005f7493f60a998ff0224bd2e5f1ce3641d5236a920302047c435bb500673065023100aea8c84deebcab506feff5358298e6d9f254656f3564bc37730d271e45e2e5615187834f49a42c927c3738d3e09f9da90230617e5c1f9e70b7e2a829299c30c65a01b90cecd470a44bfd0f409e3ded4e5fd5450bf182e490cd5680b5aca854555fdd0302047c435bb500683066023100dd83cebd8dc0fb64674487a768f435f2f6c282a5eeb263b7bcd50184986b444b2f73f9c768dea3d76f3a8afa133ab396023100915fd6e63113e599577e9f4190766cfafa8d16786d57311af17d9ad5ec920dedd2d3ffe0c912f3a030eab3c35beb34560302047c435bb50066306402300acb32816baa87810258fc94baa176b5bb35ede07db60a3e7a089e64d71821caceb008b52ba6ecff61c46dbc0db7f4e60230055907aa486f7a22cd0c37334fe9dd80dd1284c1fdf9dcbb8a9fa508a449268897e011e92208de0720d32d105c18581f0302047c435bb500673065023100ffd0c22d2d1e7827056241810ed88e9a9cfcf40ac90f685279b5a455a6c98abc66823557a2d725fc64f4493d544f02e402303905b383127997ae20432cee34e3fee073b044f09c59fc71f48bd1279b1f9892f21dfd64b89ae341a58d9df8576b74d40302047c435bb500663064023028619babae95616250c4986f4bd64da84ad7e24f782c87bad6c2a5429403c36df26c609f7a0e9d76a3772438d72a4f730230771c15d6fc8049d2a7c7f4ed2470a5273e3e94f419311ce5c888408648d2d5a4459c58c7281507be4f0c232cd30abd5f0302047c435bb50067306502302b5cdb0c2f4384a32b087f3de1443261fef1aefc8add94554efa5c745ecbfe1a2c14168a6606bb5d6dc2193b467fbc23023100e162821da1c9be58d063f66d020b88e31944a5ab42ccb8f634d448c322a26937e080bb48db90b2d84e71be467c3b95e90302047c435bb500673065023100e396e4fe6ba3f4842de677d18de117fe0245617b5b514ea4a294c4b52dbc57d53c7900f51890fbdf32f77d8341627f21023012d7a91b1876ba7a12ac0c384896d08cefaeff1f7c746a51589c6d6840f7e037f2909bda9dc1b84e10d0cc4713be0dc30302047c435bb50066306402302ae3f7b6ae01ef528de448490167a51afc400c0e3f8c9b1218e8bf7c7d5764af1dee5f6de42a28c1531e51e8964111cf023004de20d6cb73b59377896c0d9518a3036c800e4ef23bbe320f3bb68c20b8169739a7162bc29b9ad281eb95d4d921e6090302047c435bb500683066023100802ada8e0e1eb2eefeae28bfe387e3100ec1c9b6568969f64197f3a510868c7d883253f2a4001aff46fa88f53889fd2d023100bc155ffce1e97a03973caf37fe71fa0929e24f89f40aaa1e26b6b877584b181271f2ccd7125d91a569855a03cf65ca360302047c435bb5006830660231008c1948c4b1bba48303e56333dee2e1319007e9d1d033cfd3482a1f332fed9e190fc07bfd227ef4db18d2e482d63ad3d8023100cb2cb50fae4dc6f908baea018211b7540733c9016471e811bea94fd3b4c900bbb7228fac787c1fad2dd364df25da16dc0302047c435bb500683066023100c609a9a3c74a4e76f87491be0a3fe4a0418c88227efb97639e46bf1f8817cec32d40dc639e06738675cef70e3962aa12023100e576a6f51aeca9ef79c095f220980363439812ae59b7404929939f75c5f0124a9de1aa709948401ca9ac06afbb8846e10302047c435bb50066306402306fb7ccb0d48ad29344ea1f346af3f2c0de767aaa8e8d51e6f891558349f21926643e8df314ab945ae4344607ce7cdc5402302946b8b4c8375f6f354c1e6d1dec85120998dd3cce6fecb851c39380788b04738cd6528693b61dc5cf2b8c258b9519a40302047c435bb50067306502302dbfbe6687f30278c0096b5ee38726b74790d3c585fc7718bc9008d6f4c525fb7187a94311be996766b90a7ad9e05260023100b8d921cba319eb58603dd4876daabe7d7e13e04d89fa27f9ded199316aad99688c6cd12ec5e4e111728b63a0d2e0cc950302047c435bb500673065023011d8b52ef42d77cd12f60d036452a095ca0e76a61ee7ecb6fed7936656cf65bd38c3a65b258c7f2df975b29e1e984518023100eff989134279d35cb30b33a3703c4c37576235392b1bc4c0529fa24abddd3923bbead6ca0423e39fefdffc74103103680302047c435bb500683066023100989e9eeb2dac2f67a322c853758acbe3e18b81eff5951be81afae1507a7e7497a3cb98657d8554edf602d4f07b523d66023100fcc94b2a8b56f637fe0a0b16f951ddd5d3a3506d4ab61b72946cf50676e9560b60b70bb6f83c31fcbbe7244906924be20302047c435bb500683066023100b9ac6e51c1a8e479241e890cdf1952811dfa4a3c5e622f2952793192889e6d3acf984179b49ec3f14dcf3e3b08f6b075023100c6555fee201a92a93dd40122ac0439df3a3e7130dec8446ff0eabab4bb5a79a5e58d2c4166017297aaaabf8dccb6b5510302047c435bb500683066023100855beb921f1f8279d448ea8c40e8b84579cb9fe17bf87fb1304cec7d4c0338375cf3179fb35c6442c034840b972f9f450231009b92d027ffb05556944da89c2ad729b43d4d5a2cb07a9e535e39475c8125e15cf8fe60a078896fc89f95e0e63dcf25e80302047c435bb5006730650230684f8e71e6b45436373ae5d787d64bf28cb2010c71d9096c25ead37375be74b19c05324ccdc4557fbaed0b29ee8175b1023100fe9290e6c4b32e5250b618eec95a90c9425f08352d0799c5054298f23ac15849ad6ab4c77487fa5d3e0dff98ba935c7f0302047c435bb500683066023100cf81e1b82905671294d5486c8c0262f68361c0e2e949d0cd6ab419b0b796778b6d465616d6a4fac34a101a84920a5bb2023100e3f38f2da648fbc99dd2d8177974c95806313c961ff72804b94e70c63a8f0490edb5f666cbaf2e10f9e32efb7b0caf810302047c435bb500673065023100f54ceff46afd10c98579ed697b815e6540c891c44911ee0554975389e0f68ce7f4860209fa25bd2f093815755d264ced02303bcff0aed93cafe00c83aa081e08504168d9eb86dc37a96422f003f3977b0f88e27b9556a6c49aff34e29ceaa0914ed10302047c435bb500683066023100ba5d0336fda0f3c9cb8b80a49407f3ee81321b3d77d08b0631c28fe48cd9d33056f2af56aff6bd9a1697c057db8397ed023100ef8350a1ef3cdf57eddb9025a45e9f0f4ba6591aaf73f7badb25fdd6f132aacad59c0d5f2956ffd56d90763055f6798f0302047c435bb500673065023100ae24e9d07e072370fba336965247b2501eb99d07ffd48161224d9bcae972ef47582057ba6edd2768911ccbbe3a9861be023019e9b5141c850ec87a208bf567b722d68ef89b8e517f84fa581fa876a423dfc251a36e9efd98cc62136019cd46b0b2450302047c435bb500673065023100b50cc65cae10dfc8dd4ca7c27fc61398e85f117f4c8e17fa108f179feb69dd19a262b90bc98d9bc6fbd590a5f6044706023045f66c55ebbb813c740f4fad0c5b5bb0d3ce5bafc64fe7743c30fac5686d2985fde8693cd82fa2a568f7bbd5d3ad583f0302047c435bb500673065023100e77fe89132ec5429750b67810dc30f6d9e7e18bf3ecb4873a5a1b5414119461b18baa6a88fb8e6af1dab8b5f2b99edc502300374d8bb78fa1e6a09a3d163f1e0ae52943816a261bf2912959054120cbbc5dde60055528cc6919fb4274a218316d6630302047c435bb500683066023100b674b7da9e1fc761e0fc1a4744d64fa12f9c6b832ccebb9bb87705ef61fc6a7beced4b8063e6f2c49b268512f2a3e662023100fa8bbc3f4d1e4200d4db1e8ad2b69f12acd93f7c472d3cc3ae9e94a24de13a1fb40bb840a336c8a44c8b90d12074b5190302047c435bb500683066023100d8c3d0cbed0f426766235dc252879cef0b9589b2aff95ba58d10410a8ecdfbab543eb10f692c6da96eddeadb7f4383f7023100f85e4fc5d2ed471c8ce318ec16950afc8714de50bf984c70a6b7090c06dad2f00c441048c4d80aed716b7ba2b8797c6a0302047c435bb500673065023100834bb935f1f6f7ded94c0f811d34699f68a9c6207373da0346f4ee269a97a0117649c5e9abd104f886a43b03fe4c5b790230506d2aed72a12fde0362795bdfaf5fdf57890063e38edf665557303ec0c47f1305cb2e8f39d4e60068987db022f50fd40302047c435bb50067306502310088ef906787c8b10573a8979b16c75fbb69375d2ccb32d8e4a168c7e78b8ce851b8e23e0938932f2ae0278fedc7d4058b0230444779ba4bdd1f901aedac1f13b3e8363b092791aa0645cc76c5e6720f169b657285362d9638c62d9d30a35921226b080302047c435bb500673065023100db61615ad16d3b4fef6533bbfe3f58f255b4739981feade42207ec7ead3cd8d25e51f6351069f08e44eb8a4d60fb8d9002304c770e0d20dcce2f2dae4e2d8cd2201b46ddee0ffab7b14a5072e3af45ea4a9ea6c2a316ef5e1fd49d845f84b1f5f8900302047c435bb5006730650230202241c3dacb05f0f8a6ae41f1f57bb73942167a7a31810d2bbc56081b276dba6a117ca20316eeb1d493d7566d34664f023100b7fc53ba8a652848fa6a2b3106021891d87daad77f80b2c16692775ee57f3c3cb8ba7132c6f86c11f7fa417538d5eb420302047c435bb500683066023100830fdcf494c89776e2c9ace5ab8e3db78ffd3717610acc46f04d11e1d5f13fa45717f9135e92a1a7fc5fe9422045b200023100f67e1b441c3d79ae2aeddba34656275feddfce58cb610e0480beda6f8aefa4345517cb599c36fb63129e31c00ca3d7200302047c435bb500683066023100d46336f96ac47e3bb2110586012943c4261f5fdcedd1aa042a2d1035a947a5703eaa3f7e9e3cb8b865b2c3a673b1606a0231009ba5e039979b774cec2f28a367c5cb0d69a97dcd64f4ed13575688a2bb68ed049450c3ab7ee0277dbeb7a76d9063f8d50302047c435bb50067306502307283b5dea4a0527e57f0ae05b393c8b32363c120798dc3e10d9f83e0633383a315e08506b5db3a2ca6788cf73e5a4697023100cbb0cf363aba92efd7369a961903b06b67afecaf045782aee974a475b53c0eb300e0098fdbedc3c258053f96626606a50302047c435bb500683066023100d37927274625a124a8a994764cf5a95d031ab2c85c5f1e3981f44fc30863f67800701d6cf37e1bb05a772f580a73da4e023100c5f485f65112ddd113360fe9db6422f63a0464f50b73e6d07a2e76784bfe325cc296faca01190124e274a327e788ad5a0302047c435bb50066306402307ebf68509b5537f23f792789f4bbf2bc549b7b9d4c26a4d1d03eb73d2006905de2e60498480bdf426b849b32262d22e5023024b2075cb841eceeb9bd51c13fcc9ac6878d66467d34d27bd24c684b4cf8a0b29510dc95233a0cae8c883bf772dc54ce0302047c435bb500673065023100914ed43edccbdc1a51186a4303aabba9e842e79616d8b66bc1cde8872a1c6814ad3f2f4fac45da14abe22fb17ff80d370230392781f33884c49df9d011f8d93334a57ade943e017b4cb1c3e9c65f92307fba4e95e4fee33b8624e44cac7ddac17e290302047c435bb50067306502303e261624ccbad96d16787c51245a42bccfa095a584773277790d3133b67e3b67649ff695e50f2a8e6a0a9b2f98d0df0f0231008ecb26e468ea58f7a02e42ff5d6edef95653b0d68193ea5d62bea0125d75743477897b5c3001644e41cd1988131bd3330302047c435bb5006630640230374ccaec981d07619ba60ec753388cc2c3ad3725856c596bea57ce586d49cfbf236313914eca2aa77142c37541a66f3402300fd78618101b678b2d37dd87d726221fb9f7bb6ad2084c5963ab6706f286c053f8162ec3c746e6ef7f8d56dbb303d8810302047c435bb500673065023100f990a4834e8de17fa292fd7e95eb48aa50c446de3df73ab5e3e5501778631db492a0bf8206c654ef92fc0e38698f98630230218aabbc477e02dcfd5df36b0df34f511a7d4e8182a4162f0c2c9dd328d0808b0739c4128bf8f1bf21e7e2be07d1275d0302047c435bb500683066023100f5bf9f754f1f8134c93ceffe20ea21af541b8b6fbf8afdff194910fa85477997ad3839f1b098cd501bb877d0445bff17023100a822cf8510ad43f17694cd2d7d261e6b005251754e7aa4db49745307071b994bfbc3159f076cf3101a24bc52f671fad50302047c435bb50067306502304a2913b2a02215d9326b8085d0c52bbb34f1daafc727f26772b6215ed0496dec140747bb1d7a681148bf7b4ab6e0eabc02310082dd7f5c953f1eb44d77a3fdd15ff63cf2541cea89fa7839943139af6f07949e48df5c06d9c9519e076eff64c16ce8f50302047c435bb500683066023100bc1329426f63b28e543b53dcf1289d0d44edf469319dfff0416547475af3c39ff1fe4e579a89f2bfb427c0685bba05e302310093a736637c2b81cccc75cbae3f51697261d7584e84726dd25bd1a133e64b1b01505be22c74b1122ae3a2990d5fe58a080302047c435bb500673065023100bc4280ca12b9fc51c7399972940ca55b1e3d3de2ba6f6237f79fd1ad1ce3e60a0f9f906eff0111dc790de1c3b3004371023012c186f2400eef832e8f41a83e13f1cde3992fc386ec65ae2300d4a4cd4217cec4fa3f8d75e2c91a741e926d4b24fa230302047c435bb50066306402304bd9c0e1f5206603919b8168b48a8f6305210bff243aebe23ac03d612ddd19bc5daa439fcf088336b20e518e4c372f0702301e9bcb17dcfcad9ece2fefc300265ebcdb139e13ce7d450acb2e4ec18e128033430dae4f6f131e22d4cd5144317cb0470302047c435bb500683066023100ae2e7b9dd9aee64c399284b172d79dee6937a53cb489b4bf7240a7c9adb6ada82f5454fe627947fc7d08e90c5d550946023100c11f535c87cc290886f2b1749644c117124519075a7b4c9add3de3661dafb6b499598c860f30dc6d88a9788ed03ae6d70302047c435bb500673065023100f088553b032bdd6574cd31b1268c985ee11d2d3f39fc84b55898e2fc5cf639cbac55ec061895693e9f0b927382c437c9023078413da228ead133b910d2554ffc3c9b13d9e4ba1622f593286abb54397ecb2a7156afb1a65ebff5f490b66b5d95f5230302047c435bb500673065023100ccf05650221e1841997f17478ac62fd1a356f90e8841daf51c8c8a09a7b4a4286174b5d0385b8080b3217f492dda764b023059b36820ab4facd8f0667cb04c21aea81cbddc97b73bb87593e1eeed24cb249990b7b432b555235a728d94c5efa8cc6c0302047c435bb500673065023003c4a5c97114f04e882ce51bc9ccd3c90240a900dfafde6ef087b34dc1c795bc979e2fed147424ab58ed558cc8abf1aa023100dcd9bfd13a3ce8cfe6c6132f6b1cf6aa3fb1bc0438d420bafd595a77e22dc43b40545b41de15abc53954b85c310470c50302047c435bb500673065023100b4fda8c7da14e4cbcd4fdf12ff0a4c958bcdec049fdc5b305428f2eab9c417d83e058e4907b6798ba8458e5ff3ba16e6023059429ec44bbf321195650961c7532f98fafb6f35e23805652c1fd1b85d874de3306d9d6ef9831f8a86dd946bf9dea3ea0302047c435bb5006730650230078544736484629a660ef851763ee43937a6423318e6c7cc679b06e4b69bf09f6fbc05980fa45c0f8880bef293cbf10b023100b802b1df5cadb0c850fab362edce2678c9cccaf1759acd50317470c01e114f5df2e23220d600100536c3029eceef01150302047c435bb50066306402304e6d63dcb62207ff718a4b25db937ac737e56d5460965d7cd320ea7d2eacef64d348f6d05d42a3bd5ba5c1abdcc3887802306ef8cb1b50e345b18101bec38dd7c784b1973cc26b439053b7911e15d0c39dcbd4484db29a9ba3338b085b3c96dd4bf00302047c435bb500683066023100b077f1b5edc25760e6d987ef1e6708ad2ad8776c9f3edeea5892b08ea50bed06703fdc461e2e16510ff08e27958351d402310084d1579d89a956420e5de3a5126e356ae054a459a86993673e7bb89167ec7e910a37b56bf0f8b824049ce5e21bebe84e0302047c435bb50067306502301a7a43a088888b6add3b5d6b4b3fe1b5113e902bbbb6fb04200b473830383917e342b260c6a84057cbac1267ed738f3d023100b7dea525bdf02dd70b6b7f2f61feef61325ad2d0e9ad0d4bbabb690a3e9c8d4d5dd32eda38e8e8c493cf49b2588be5530302047c435bb500673065023100eb778b30e9cb73365c74ba2d415d6ddf70f3f4b644637023a376e483966371924191098dc74d7729b01ebd2d28f2094302302cc24d77dac28025949f8e52d404cac7cca16dd191d41416ed77d72a1220c075127631c04e28c17cb93cc0452532a9510302047c435bb500673065023100d7d6077b2b5ace0c55222c8abad47fa7dc1b37e0caca8ea121b872824de6406babd7f950f8a8e099d66ea6d641445bd8023053c86d046958c6c22f8c8ef3a77cdec3965d600e907a968c42d4baacfad3c5212ff30dc6c448d1c2b33cd9fa0dd3dbae0302047c435bb50066306402301601d6da4b4912feedf82447916ebe097c53a26e33824a5be06ab2c1605408279e93638fc52eb68953b84feaef8b4cf202305004e584bf2c05d2bf5a9b525821775bc5a23777f423141b5adf1120bf7f20cda7c9d898ef2ca0a7563db829eebe05990302047c435bb50066306402300559d03046e2d64a72d2f88eea92e1992f2466d90bb71ed278ae8631a853765886e1229282a57d6ab449bc9d48202232023023c8b446417ca9a21e58ca3bd7a9612f5201f55fb18c4c12e578018ef3ff28e121ccd198fca99792086a95aef8baf1f20302047c435bb5006630640230476dbb8d41e0f590b71e2b336736726b9a1989e4f6c3eef74402e6541c3e984ab87031625c2642855a61064d26fc1b840230549eb4e7c5613f21413cb859e4f0610890131d1af08105ea602dc2ec6b322afa13cdc9fd01dbe3f1fc80b966d324ab7f0302047c435bb500673065023100e4eb2010025f9766a62bbcf06cbc3789cbcf627afaffd79f29b39186fa9b1a2817f2f66a5403c8f5d9b87b6beb8db4bb02303e75591689c5e8ce989de6e176cffbef2b8c96dfbf631b72ce18541df83b7025dfb479b239e761e2b620d1691ec465740302047c435bb5006730650231008140762d09b290b30b90d983c48be8ecdd1f453b4adde9392ea4483112318835a04d3595526e64f3a4dca0204dbd2afd02301e36200986e5e42041f6b1d968526c03ac5b9d2b436836afab3f274c5d44e320c43ed2e5db05cb75ddfafd9bebb13c300302047c435bb500673065023100b4df63ff01ff0f8990bf71d7c58c470f2dbb815f6fbaa0263122bf76c960555866d35e091b5e52b745b91e7829336c49023071218c652472e29ce6dcdab9afdfaf83ad33b03ecc428afd5880de3ea03e788e61fac7f2c1e48a9449fc7a78e9acdab70302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008c8fbe833c8eadb2bfe5e278f37651ade96479fc327c4c9448ee394226a6c8932c30da69f72e2d9a9af684201ae4ac54023100f72a4fcfd953b1b7e205d9930534beefc39fd6d2fc4bba1a3491f6a420f4d9622cad46902d67bcc688a8751000e87cc40302047c435bb50066306402302e05c474fc12e142388c3b189e2d2b45939a1666960ca9f6aac7d74dbce9d012ffd9e5d018d9d48cff082353a6d5f59e023074f01490ff1a8121ac72ef79665a927d2c86e365b73e5bb1f7b91f4a070ce9314541d9519a12acf4e9f12df3462472030302047c435bb50066306402306999aa7e8586ec8f8bc925f1924775d5153d20689663e646d0c7434475953c6aa3299cbf0a1bd7058feeca5d149c3c4402306256f07e34c873df97bb20ea68122926b85480d812f8e4f398fdb602167390124fa41dc31941ae7b4a00f6974cb097020302047c435bb500673065023100cb36ff52088274fd9dbbfadf62812a38565f32944e1b9a0ee7cf5c0d43e69d7a122be1a0556a83f483d855673f8ee07602302e51d18230d1142e739798f64f0e6a19d09ce8c423430d4b65f5f60bb2886ca0bdc5a882fa9109b0416115a47f211f8a0302047c435bb500663064023041f782db6176e58eb5b9ba627804258ed6932e76709d24e0c19b48d008d21d08ccb7f18e5cf8825334a11e70b59bb05102305357773d5b0b754a39f42497c2e4d4f2a74a149ab89c83f3acee9fd5a80d08a48df0ae1d2241b745b37712c84369dca70302047c435bb500673065023005f228b910ba540c0895b605a932e12b8c8b1c983c69734550ea107e60f8c24c70813fbc0bf42a237d4072c8c01b5eff0231009403e85d90dc2d2f94e8b5bb6bd11efebaacecc64745bbf1525f2a1d6dc5b6fbc5412c795ab037c72712f85e92f105680302047c435bb5006630640230011654c5b8bc0b7e52f1289a26e78a298d78dd61b7b89191fbe459ca77f1861719ebcbd5de0e8b7e7f659e70caed5e73023015b01c61c4e73925bcbfa1630b52c8543c37e275141ae70b7ff89a97fd67d58f9483c3432fc8edf4f209b262ba6efab40302047c435bb500683066023100a2b3200957d132720c0cd008179e9e0f699c000b5d569ee1229f89a672920403f9fd9c817e17c9aa69e0176800d4dbd5023100b6ad0179acc2c2aed99ae487fea90720d790f8a92f62c58ae26d2e7fed4f2c0fb3213c682ac1e008808bfbee823cc2c40302047c435bb5006730650230644ef8f5f3a75a4cdb0ec47fa39686b3034ab8315aa1cfe801ca8e32a1e6fb246729e5fb083b307352fef05511fbec8c023100e17541d377582fce0d72b47f27e1f4cf6facf98dabb477655692fea9a77395c21d48b15c51801113295f878f83bf15f50302047c435bb500673065023049ae9a0fa01d2273cdeeea0e08c5e10a9de777f28bdcc23c999230ee16a50c2d5aaaac84a9d11a6d19994ac5270b04ac023100a7dee5dc86b8ba2ce16fc2044bfc43ed8ce24e20313653485e9dae181004b7be7a4f6c4fd449ce258ce5e8be90bba95e0302047c435bb500663064023020850474debea02204b1106ae93c070008ab1014b3f59ef65adc222dc32419e928f8d34ee6ff6421121545de360665380230501070977c532332741839aba63088489ee4259ac237a5ff3e02d985c0389add62904769554d02def0cb5aa085366e700302047c435bb50066306402305df418d625638a8247532684b0f350f49065275e216172076a0f6aa7482eaa410d3be372086b11e50462dc9870ae3ad8023050c124c47a515349d29e56826dcfd1fc593185e0fb206041cf3393a510cfd5148dbf6f2fb19be6b71475ca6f12e54d860302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006630640230408ce1a866335fda5577718c239381e94467bb9d4d5f785ff325f9618cbb644a1c965340f24be1cea0c7621b5948d09602300da2f3645e8cd84a7ed0715622914deee15fe49f17e310f428a89746f41f82f063fe10016821012851e38c36ce5c44c30302047c435bb50066306402300d79e52ff14591cdf665dfc1b44b1931a57b6a500e49af368124b5e73849d63fcccf33fd85166471acf3afd7e8ed2d7202305820d067b017c4d812be0f3913c551e3ce9523696f184f7974458f4f9e9d7fe9c67f2cb1eb9e345308b18f317c5b81e90302047c435bb5006830660231008c6ff2be7aaeb184f78cf5a3661914937a2e56709bb4bd96f43eb7e2ef8586ae0c065cbfb3cd12479678acb07d277f0f0231009d6e1da9671cd6d6afd715f822b32a8f4c4d9f6f6711fe0d5528ee91fa30e4580a9f95c23be776c2e74f38c1691038ea0302047c435bb50067306502300ab4b2f6690299ef68a233c7f91ce293550dd9b1b37014396bc26c0e484cbc96a24807a5b9638f5af68122efd79ee1fc023100c6854a9f758dfd31a0526ef77be5305265dda8f6769f2c909fc44c9e5591a6115177daaf89f1d50db3bf4b39be25f20c0302047c435bb500683066023100dece3bbb229132a8613adb308ae29b2d81fb271e4a21c771184a4de39fd987f304c2c2c5c1e25940b417bfd91d177042023100e45f3a54be7940507c0a826abb2071e7d7f40e625ec121d73150bd77b287cf0091bb1620e2f613c1ee39c505980642b00302047c435bb500673065023100e6bbd0502d07f90251ae92cc2ffe25ad0a328c080a874b5e0d25f13ad132cebb6938890aeb0ae0cae57bd59d8b444c2302301b63b2cd38ffba25a6c34ef3e818096731ab03689bae0492e41b51371688fa1580dd3c223cb67e31b9b04e593c16a3a10302047c435bb50066306402307dc6e658414c19fbd972d5cdf0a8db307a027328d613ef8985dd520bcfbee5c281f3a68685a8530835402026dbeb3266023005e4a70accda70bb7bcafd3cd44bff2729e253d8ed63f5f2eacf634ddf1fff6f5c1827cf5686f4b469dd97a7570683c40302047c435bb500683066023100fbad7831ee9f3ce110534444927b03d94f7bff40c42369c3a327c23d1ca1892875de743ba2c801321a93420fc653854d023100d510cf3815798366c0b60a4b038eef93870ecdba327c876a989725a22159b78d631841fa0bc66adbde02b13b7cd307970302047c435bb50067306502303df8b2b9a11ff8537ff1ac749a4356953d6890865885cee5516c13ed2cb648d2e999bd3e42895630b6bfb7529436fc69023100b9b0c613eace23b9d6557dad5464c55bafb04bc18e047b7a8d531e649493dd4a932a3bc9c6131207dc194da9a4be1a000302047c435bb500673065023100b07203cdf592acb981e7d534a432120f24531bef66ce58017fb8973418cafb2752f639ac7278b2c5dd2d9578993a459a023075a44b79cbad2f42466354475b001a377ef86da187294afa065d1cd9c0699d8523c4035bce43e36890b572f74ab8d4e40302047c435bb500683066023100c3735fb4cf2b9f770f4b9ff9d89b05b5c0d5e8d7be03ebaa985cda74f905fbb8e544ecd95ed88ae6b8a34246217344770231008b96bc75e55437eb180e9cc0e75d732667f7bc9a9957d72d1e4e1a70bdc57a1b778e54c886f8f718e3bf166ab0002fe20302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023075208b695d68639e294e7c1842c5d15802d2e7b74e001366dbd4fcb35459f8b0326d9ad1ca47125081a2043b784e50d1023100ade41fa92ef04ffaac9138e091ae4760b8a1decdba13edfbd1c433d854218a1ad6fc3cba545b483fcdd1e8c8d06f45320302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023043f9bd6624c52d958f65914e096b21b11ce54f1833b14af39c7b703b3550e820b766d668856019d6b138fb66fa03dc37023100a2faa2e5196fc618265c0bab7f7e22515ab6445d909fd798b779c3a5422aa2d8acbfea684ece250b8b3e1faaaf7354470302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500663064023077ff1e1d885a6a07d9581573a67fd87c2a25bbebf0ed12bbe4b4fbc0d91afbeaba968e74f9c00272e3280a6b701fb1f302305be1bb1a832bd64674cdc8d6439d732952baa87075667f5c988919a1e3e861390050927744f18a86bc990ed0d9f984dd0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006630640230053799ff8847d9403261d391e00b2eea00869e87f09447c00746210decb9493ee05e7f80484ef07a628fcbac12221cfe02307e8727713e263edc11ed394227980e5aafaccb0ee5d75749e3e02152fe5b041dd6545beccd9bc52a3fe4038a60d434d70302047c435bb500683066023100c86fb4286a7ba4a36961270cd3f6379b319d6e7424f653a3ab548ee0cf9e008dcb5c85bc1d951eb02b1d791be5b6f259023100c59d953fb01b1fa4659de13109d4adf01c9f7741d64bca41d959757b85848cd8a6b5e01bad9acc0d736a260cd912aaf30302047c435bb500683066023100ead38ca2ad1f703f233f35f75577398dec6117b75320b5e1b544c9c41c605700ae9b4c31f4a8fc3629644812b321e3550231008cd6b39b73931272d8203b933d40df6aa5614a3e29c6d4debb062326f75aaf1eb4660b7f095d8ada4cc2632d54c2a94a0302047c435bb500663064023077051d9139d8c05231d57687c550f2393917d0e490b03514743ae35fd8bef3b60c10e85b8fbd4c802a87b3aeb4dc619702306d5f7dd1f3eb05201267d7cf797868475686e5ed79e3019ff8d9e3244bdd2baabf425063d5731ccfdf5acb27f1cc712b0302047c435bb500683066023100ba8b1c7325eed13bebdfd92807627c187c439e6e746c0672d174d51fbb64151971c31a0598f26476fe8f3279497f9a1c0231008d98eb8b30c6c339a08af18da1f74bfb884bc65332c941e14b10551fe7cfe21340cdc617e6924bd82703bf2370a322580302047c435bb500683066023100a66096692b37c607f570fda01143062cbdf58e3376ea862cede308844cb5dcb3d62348adb0fd451100936eed1086d925023100e67157ce4562aa75eeb27d422663ade0bcace35294227847906b056cb3d90c79a4b9155278b523defd050d9a8d91ec560302047c435bb50066306402304c34e1f5594b6d60b97db6066afcd5571d44d57bd996125a00e85088b40ca18c78e130762762350a1b0c926e21fcbe5c0230193e48f22d115ff186c0bb89ad080c07d9d427d501228bcc9f32825dc0bc742c0a5c65db2eb5c8b22455ffe6fd4e60b50302047c435bb500673065023100e70aad98c0fb8b1f125a87c37c824e095bf5b0038b9476de193b2cce04ac6853da6a013d2fe63d8f4bf2234ba9b7e53a02302bcfbfdce20a52468ff3eec8869e39bd1bdffaf9512c22987c8a57552a170934ec2309213aea990246928a2f8558b8270302047c435bb50066306402303bb6b6afd9c830860f78f22cfe3f21203bc4a157862983574a81874184985b68cfa022b34a71988a972e9b08803f007402307d174443e4e1317160c64091422268f5611a37a0137cdbea8f07073b1101fba2150b13e79131aaa14c2bb1f5b482d0240302047c435bb500663064023040706478c8bdf7bcae7c927a3cb75ee989c0c84bfca19733aa48f0900d58523a35130bdb93eef25771209f5ae68cd09f0230392acca17d93882025d73c6c8de8564522da80137b08798ebc559ccd28cf9a7a7845e69cbc190c3177baec06fe19785d0302047c435bb500673065023100dc47bd4bb91e1839dc6d79ce55970691f2d951a0b5f5452bdd72950897c03bca7fa414fead8da00dbb937120411dc4c302305c26e28bddfbb46476cf5d6a30876e4937a58cf4deafc25ac4b7ae426a49166df34aae306095c0fc4d567a42ae40cb040302047c435bb50067306502304f8763b355c9fb8a941693e50741025879dc5bdc16bdfbc897fdde50c3e0d402a24c34f43d2ba3e515f73b7473dfbd20023100b370b9c1ae6c5fd041312db71d8888368fde9520d820f13613ed68c721d796e08134bd075df63097291ab81b80634e010302047c435bb50067306502310084b4bb5fe9b062279ad2e7490c674f9ce65108adcf8b6ea07553012bb6a7e3355491f4a76066177b19e949f4e951a46f0230043d144ff78ae993134c506c4b998bf5de3a413f8c73aa441841162d1e9d5bbb7314a67b802535d36434434d092981810302047c435bb50067306502310092d467f3fe8d80e3facdeb14faca60939ac8dac7b0a40802e4a30905e8e9fbd22f3b264f780a108a822ccfd396879bbd02307e077e5ec412ccbcb485c6dd15cbed7eb011424cee47693f225ccd922f0d90d223799632b056eec5187f7e8f8d4a66390302047c435bb50067306502301613eaf914b3cef74efaa92ede0ad904698b5f1000df37e8afcef7e5c3c7b801d168ffccaa3ef3143937d5930d1463eb023100e6b3f5b904c087ccbef7db221bb946cc2debb5322a5e1225d4554e4460d20887ac13984334e7f1c2a0bfc4b179b63ebc0302047c435bb500683066023100db448b381dc8a478dea495d27a420636a833fd8c9842df0012f72f81f3ba6fd19a5508600f528be45f62e97e5ae52c41023100c64556fdf183f03564087d89a49232e7deebc186a83dd5cd1ee18425429884bd49b824fff9a8164b5686cc27441ea3380302047c435bb500673065023100c17efcf28337d465b7b18bfffedb99ea910dd1fd21d679ef0662444235d16e9e0a9bb81bbf0479a1ec89b5d0bb10a1c90230647ca5c928a8fe27363808828ba0b28a11832e82cd69053d27180701d2887b7ef4041e2ad847f46dd74095cd7ef894fc0302047c435bb50067306502305dd85264b7334844f52801580b1552428f12d44e428ce436a17fd006c60ee373506357ef2e6589c3362592cde15b4432023100b70522e5d3770821191d93949d52aef5a7ddd55fa5e1082780f09af6c9d02f85f50874a4bd15a69449c565a0bcb8dc4e0302047c435bb50066306402303caf319004d205e504c6ec07240ff443c509c9afcfbaed4a84580c0c51444ffdb49df30c9e657dd9577cc9114a89df79023035e18d7f8eafce4582d898e182b274bbd1d3abdcf64e43b80e6a494fd16d27ba5533b41ba9e50a1237ede6dba2864a170302047c435bb500683066023100a23be0352550ac82b649d85f8cbd2f94aaed04badcdc9d50d15512afb997cbf1a07b53713773c2e06ffd10da7df540ad0231008edf327cd382416f88b3d08719a97ce45a975fa6b9c3c09fa8f1883f23d6d647d33ae75abdfe1ecb1392e8986ac0b1230302047c435bb500673065023100c3a839d3956287f084690bbac81d7b3b93702826e60e31cc298729c9a70c4c072b1c09f107b65c5834d39b6a92e98867023038aeaae54f09887f99fdf4d208ccaea4b7739bdbcb8b8a89d8badb045558954d1b0e66ace5ae57d60249d6f55772de7e0302047c435bb50067306502301b67a1be2d9d3254b831f895a882d07713c50aeb9b0f85e2ef84b2f74eeac5e7f14f0b05c828dad2f880ca20dcec2ec60231009b57e74333f2f6f76e56c1e78f461dc32e42c4fc6af410eb6484ec319bc746c6318c724ddf412e1d14ddf67f7e0e77d20302047c435bb500673065023100e200e09c767a776a7cc64391bec442b6b221053709aab67b74b72419d938c9e10bd9eccf62cc7e6c3944f3b95bc79da8023053378516f4288510c07326ad2d108533a0d4cb8384b57e3269302783d0f30c3a157af653ffa5e41ddc1e0331f3ab628f0302047c435bb500673065023100ae771561b5231c75d0035c8f755b69c988d35f3e8afe1007c485178178c8e24e5a5936d3983c6efc176478376fb1fedd02307e9d9af960190dbba75c6795cfa49a3f26aefe5f35daaf0a17f64508d6630174a485546b5824533bb5b753e8adfcd3830302047c435bb50067306502307976d6a0b991d9bbf4824a6e9b3524873e6c4035e096cad7ed865e038f3c98ed3f3f5afbe4043379674caaf156387719023100d827eb9fa97ff4d3189c0bdeee37396eceef39482a6929d0e1a0e38f52ce130deb3f4e1e98efcb9c1c5958ee6270cb350302047c435bb50067306502305ef4d4e064251f39ec523bf27cebfd57264dffe32d1aaea3f56a478f378b72cc7057b6a288218f82a27ecea137818793023100d6186a99b48dbbc8632633dd12dd34d86194de8b8a1f7f780bdc3ccd83e3ba13bbcc08e16b82da80174a4f1cfcb061e50302047c435bb5006830660231008730b612e1f6b002df13930405a0ac6f1b57c6b8039dc8fea725015edec9025767c0e673da3daaf77bd541d5b5b74da6023100b380be264a7991548f5fa3b515fe0916fd9aa298e53848307156c42d4592479d9aa9e85ac05e16b67b6a12ec18c12df30302047c435bb500673065023100d97ffa371f32b1e6e2ed8a61a06d7f186a282ce043b18f27120f1c68bcfd455766328bd6f5ca07a42763da6ae71b023b02301d50ed130975d0014ca93841d70f2232affa19658974a1bf5430f2a24466523a88ed61237b286f6a119d148e5e9189fd0302047c435bb50066306402302688e38a41afd73f0812ecda658c2edfbbab2eefd4ac5450f161a76fb206cfe6f27f75aa57935c0ea672f915eb585350023013552950eff205a6216bb31f2a31c41a0248e1860ab31bf88b7e5a865980c8075f0f58fa22c48a2a2dec07f9e4c8ec5d0302047c435bb50067306502305d78867f09edfca83e4ef20fae879a1d899f70db12941e430c9bc7667d4c3751bc4eb003327ddc5becb302d8f5aca172023100c32ca941aa128af1f33085d9114e30ab26ebb9d34a615190122791984953878397f20c48d627715ee98b56462a7dca800302047c435bb5006730650230036a7e6045ca6f1aebea73667339655fc812e66c6e1470a95f6e250daa26b6622d2375bde7f9b86d992bc599d37e369b023100bd7dac753bb5e7ef3e6ddc0f76dc6d58fb8e8ffabc0a9f172111cca37c25a2970a80970fc925d3a2607fcd60f0109d370302047c435bb500673065023048917f1e2ae2374d6abbfe7f3cda9b7fe8ed21a9d1a906e67f95e890d1778eadaaa94a0f52ba1afc08f28001bce472a4023100e32ecb3c235d9f98742f23a383956d652ae70ae60528b5d68dd29d8f4e6695a7aae439124b7ca08e06a1cf128f02ce750302047c435bb500673065023100c1a5b4d1a35605389118cd75d7fbca8de75ba7b0c3eb3febc4c792c223717995f1dcf28a4d2b9f0d6d063394df88ba3d02300944bd16d0222c51ab9b784a0e72860fc3621ec66ca8b9a8f1956b6aa13010c7642458a75cbfac9a13d60face1cf94b10302047c435bb500683066023100dfa1f6039ce2fdeeca1a80f02288525f9af3182f9e4e8986d57fa844b9a361e5986fbfc8b3121e7f902fd00f785535bf023100f17a424e8f61f54dca0bd55029c45ef22fde616c6a4326e63401352232892480b5ee9bea8f40027664c041dd37df7e820302047c435bb5006730650231009056a580b523d8c131ecb06d608d8732eb89ef3d0ab7bee9834d662b85d96e8fceaf20b95e328b1fca40cf23a3af88a802302612e7d0c188a9bced4b6abbf1b3f540bb356bcb4b06abb277cfdb7ee066fe9d27cc8d7aaa4bbf9912652f679ef8c09d0302047c435bb500663064023072dbcb035a93aa89b11c77d71f848ca8096867d42a5ff6c7ed91a2d05340d7182e775bdb9d234a029a98850db2332d75023021392f3028cf78efb85d2b4cf351369ba3ed5419e51c214621f2f19a49c0247a84bb912316332086498a9693fd024e1c0302047c435bb500663064023022b90918458f6274bd7d5ca2f0c1ccc5d9228a9b3e96f5b5180ae2dd18bbb5ba841554d9104098e19296f0c5c89d941c0230141c47b71829b7eb46b33a5a381bb3d6af98248922a3c0289badea712382f321d6b3f6b5b6f83f7c1671bc7dd7d1a0220302047c435bb500683066023100f425275580b36ee57a3c2dc9f802d2acef8dbb3b5926eb35f7081acc490f265885503ae73a7bccfdc8a4aa0ae2ac3949023100dc95636d2d6a3a1a4bbf0a4cfafb103b7d5bb66c35225be5ceaf7662336fad01a7af1c724c25fbb58e922b10991835f70302047c435bb5006630640230697b87450e6acbde9d7676bf53ccc8efb6d7ede989d76cabbd5a1ccb946e3261b0e4d379d7cdcf3b9b1bc6c7fadca4e702304c1e88dfb0e5c78bc0c662d002d2b93bb378f60defc6b2081fb2f977306a50d1760b3966597f9be6cc994bfc06214f8f0302047c435bb500673065023100f9300b6e9f3f2ca47d74ef1e70dea10588d8d740247810004408636cdfd793fbdeb4c5a254b1df0d7b6be111c067900f0230779dfc83e49d02ec83536b058c15336531b677855bcc593d90b6b0a439ba0dd95aeef47ddca59b084f3688d7387e26b10302047c435bb50067306502302472539428251e9f9bbf0acac5ca56f84cde5f6e17d76e6c07e1c9d4e3f357c8903658e0db9d7acb93570aad105cd2f5023100d9affcc69ae0f7aea7bfc66477dbde9dcb6c1669154920c8a042b7cee985efe8d12e13fd19fb22b31f3258d38340fbbf0302047c435bb500673065023100c417b2b6d72a3c7f2dc0206077113b934e78938fb0f70fe57025ef42a038feb8420435b54509765f595274d838f9d746023058909aadf2a5cd9733c238735d55d414f65d1816f6da9b41603d09e820e899502833e53dc67c5a486045eb8d11c4db470302047c435bb500683066023100f14cb8105b9e8c8999b959724f0db7bdde7b35980c0c236e6c1bb75105243246625e00df79758d4d4ad03bffc269dbb8023100949a94877f31f731a7736c7c222a7a73b5a5362cdeeb7c8b46b3a09e864b907e5aa7c8e1e3f166ecca4594bc3b179a1c0302047c435bb50066306402303419832c10a9c79eaa1989ea2a8e91eb5852388f0740f7784915a576b0d80bd799981ef206cc181b251d41dff5d9e5cc02303619cd5a4afe1e4737bdc29de3b532a0ed14ab1ecb3ebd94ea29a044c4ea2e1f4052257e0090ddf2f2fec164ee0ca2400302047c435bb500673065023013242ddcf5d86cd88d6a6e9b720a218c58983163bf5fd8facd373c0b2875ae3fea6fdcb3470b242fbf9d7d2fc65a69b102310098e1005d03e0334200679661d9629d2637dcee40d87162c69406db0e3bb2597513fdf64a4c103545b71535d6be78cc0b0302047c435bb50067306502307f2468e6ebe306f4e0a65dc21c1380798c12da76dddf8e1a8aea25ff62e866f06767c576f40b0fe533a1a4c88e9f3093023100f1e2aa7e7afed018edc4845035bb33c42ef6ef79467ef37a3c5d20c9ba8d67d9cdaabee0aa678d2c1dec4e76f67f6e770302047c435bb500673065023074608a6b3be71b833a28eca18d05b8b958db0ffee795f92074c6f17988e409b2abb1a4d37ec1f75a5eea7315e5ef89f5023100e5172867fb3ebc8784dc0e6e1d5c43f72b085480b91d692717d107f05d2f0aa61bf236142ecac1ea9892c5163e0fe5270302047c435bb500673065023100a31e82218cebe7d33001bde2c416be01fd6c5a4e886abd30e8afb311e180433ebd3fbc16d2d11e7015d5be4ea93000f60230727fc2daf90b37336dbcf108ba14febfdcb19a95fbcb47ae1541dbe7bd12ea2250425e72d4b6b3af1691e5fecedd2d760302047c435bb500663064023034642a8a70330c439f188dc6f432f354b54f1268c7d5742ed3e365df88bc1c1824ab6aeaa4c5576313b65619c5ac832902306f0e0bbaa9fd8bba032ed9339a8bbd862de4e4c8b135726dc6abdce567bcfee3bb70675bf6cf05624f93ef807a18a80b0302047c435bb5006630640230417bac573481b5b5219dbfbd364756bfb6da4d63d2b9d4633b1f747458924260e9c65ab9998d0852ac813226f7ca888202303caafd274a963f2a11b78278d0af5c4bb8a6c655defb12ea596969d143d05e3d258643bf94c97347daa344a777d0405b0302047c435bb50066306402306cc4dad6cd754fbf5a2385239a7511e9d781de78db58e17b06866e5c43d3652644400f57d61e8dd69314ccd15a21e3360230774f7bba9741a032f901cb63ae9f30f4ffe8bb8e712d71f4e3204634462783a5a7d4f60ace891a0c6e29957cf4790e820302047c435bb500663064023021cf2ca455cb8b44fa4f230b1931d4d11f38a0f61afc6e30943060d234d65f34216f919f70efd13b4d4d7431c3fd144b02307b5d4692a1336b14cda634549b1e862dbe222ef3625b355dab400ec65340d6e161b51dc4b0844e86e79373e7087d47550302047c435bb50066306402300d38b54e1845eb5b0a1b615aa1fa43a16d5c3220f8c490dd35141e92a1729a8d61d517531bd3403738cdfac3b8216a7f02304824fa3165c07c5e3e66e0e097ef5ccaa24cb3231279dfb3d3e9bb5517130a864388af332400d8ab841a0e17cdfbed8f0302047c435bb50068306602310086ba2c0d2f392007463d068bb8c4ec550ca739c9a5386348d9385c6cbf5dee38710802a080abff961f3c530c3db0e3e4023100ce09daae50091da59f6337617e7d3c6b0008abe3edc6010b4a398960565cc519b6db77534ab42c37daedfc7fab923edc0302047c435bb500673065023100a79c9bb96505a6db03331dd550048205b27d5ee0eddaff2f6858f7ac9b99d26574f1c123d0f8967fa69c30016e2cf8f902300f609b1ddb28fff013632e06331c19f06a692b7ed233501f1604c8a18d7a6790cc3be71f1d9615d7c563098a660e96c30302047c435bb500683066023100d807726dd9e6b685dc225f5d30fcb04e9a9e44e679c9410a32907cacb9a7160863d13ea73360b142926692f55bcd0999023100a32e71f25b9d914ee24ea5e0c9c76ef1c1c5f101b85f982c69e5daa1221d02af2014a3d83527808977fedac9669c1b160302047c435bb500683066023100ea24dc233f25df090e0425c2c86c62d04e9b926beedbebdfcc09de262ffaa68a614a3ca24fb39b2cb97992d01b620afa0231008650c0291058d8349b618b61166bb422dcf701facfcc0aebbb01e93af9274d5dd43495ae93e31f1909c1096207d906040302047c435bb50067306502301ba85537bb399d17beafaeefc93f624611a866832e5389f6f6638c0b3eed318d761393042f57f83cf701a96806e28130023100b65c27090f0acca62a420f44023c924a80311904e3d1e8d1ab029affc444cc2b1a01b6bcb814b3421e940eced000ab880302047c435bb500663064023055372362bd4db80d31978fa1420978e4807ba00baa42f3507ada8c341edd64cc366208f1d45c11e55306a7495e905dee023063a1fd2df5ac59c72ac87e1ab99ec24701d625999a5e0ba44f2f204b906ca080b8b5e83fe5a660759e1884afe9ad09d10302047c435bb500683066023100d2089d34ac0d39b9861e4b784ff374dae5a51f27b018278fc82fdb3ef0a14588cba6271df0ca1d5dd1f8538a9d619abc0231008b9d0b6ca8a37b91521004484da8ae44542a985d5b3c8c7d74a2fb8e4d2910eb2bbadae2581abc233da3a93a46b43e380302047c435bb50066306402302f9d9fa6924603e590abb73ee94daf26f3793980e4812da34cdb44b351815bc4c9f400ac1df24ad9f97bcb2c8f1956ca0230724506a39d24ca40ced7badc1476a354f726fa54a25c7a704f8ab1966205a19185dce4975d710cfe59884593029f87160302047c435bb500683066023100d5a9c5a0f7ebdcd1cbce307e4fcccd988ea62e32dfa9bc5ae5e7dd5f8d178c6d16817a163c1d0c7bd5cedea3abe60538023100c1d85fb17abdb424445c0d627bab15ed4a907f5595445a65f40ed3e214018662ffc51a4d7c8cdaa4f3cdbd24bf1354ab0302047c435bb500683066023100d133187a7f1aaeb8a300fa0fcd7c47dfcc906dd65ae5eef43fa6bf9153bb66e7b59da323e240863a8da898ed375c6dc70231009116b9392f297143fd29d719352b45c703d9232c4956beda89454448ebbe6c2a2c7a28bbaf991bea2951b6808978f0110302047c435bb500663064023029ca7f666a056c2df3adcd56a984596cb4ba825ea5a851f65754e5e42a6bcc49d2c7ea822c187d9a828067cf1ea7a2e402306c2ffbd86d03250b6a09cf8e7e00d4cfb2627189c8372b7264712e30f13ba692c54dce63bb706381abd554ca0d18b1320302047c435bb500673065023100c3fdbb385af9a16f7527cbc173b694ee8ac360dc25cf2c5dc9edc4de0793f57cb3c88dd8195b7524cce52f501885828302303e048f547170747765992f04e7c33df3fca77967b86646517947b486dd3a83eeebdba7e8587b09faca7ef5e5cd56d4770302047c435bb50067306502307a05d0dad8533e8ae43a213c8b74fb8bd6f6a8db4d4ca2ab2fe66fb3cb9dce63f5a7b9caec774e0404ebc096711bd2e0023100d2ea2ab13db2f1c4ebddce4a10159b14f87c91debf4daef652ea945c946cfbc7e294f31e4446adf090575030640bfae10302047c435bb50067306502305a7bca453e18d31ce2a1c3af2f39c4b6e96e66ec5082f29ec61af52e562f16117c839bc6f64faaa4fd398366d86980c7023100dba1d4964e84af198016b1a0ab58caebbad5d7c97b597a004a5ad93511745774ac9d3d510c09c587cb836670ab6a093b0302047c435bb5006830660231009180728e7d2a87641d0141ec3dcc3f3f006be6f7d5ba33cafa5556b413593e367413f340dcc77e1b853fb1be550d4d68023100e6f9292e72a42f67d41b3f2566509dc66aced16f9cd001b29a3491df91fb32ccccc07884c59e84b8d2a2f7b4defc162c0302047c435bb50066306402306d611f2ed180ef80655b6265dd52c1aeaf3104543eb37767d0310c0490ebedf0115c074ef8c69d1a8fdc538f9390a14502304b6a915baf1e7640e476e24f5e10c68564d7e4a215fd65c81713855644abe3304d041bba8aabfacf04ab15e5fc5fcfee0302047c435bb50066306402306299bac9c24dbe94346073739193a00c0f79a6eabb355979b09bd71ddf35aa15b90bb30a9246fcec0eba7b6c9c261a6a0230349c790f6d39c4b74eb34378c075ab069f1f67118a27ade7d0937446190a069902713ec5782e4798424d4863536a6e3b0302047c435bb500683066023100850b98f578a29e6570ba39cc2056a93822d30e6a0f998039696e490f20498bcc6fbbec62600536039dc4cde18c655581023100fc00d1e6ed4b660635d4e297e83a94041ff498588fba0437e0bd6c043db6e2764bdae2576fd07d5ce78d34a29fcbcf8a0302047c435bb500673065023007c10190811044a0c43f5c7377e1c03fbd64b715b61246180c7bfd8c91b7bd6386c972b38aad400d04aba4f3e3c2e321023100d639aef6c73b2bf23e42df76313dfe775f5d4dc0ac88d318e6b01922a69fe598cdc460cb2eb5f1ff8761f4317474df6a0302047c435bb5006630640230090def1b816ee00497a562127a8c3992f398e54af8d8e6e6932ea89b5d97934cd4179fe5e414ef1d1727d768ca13c2c902304b8902af7f92d0bd9cb8daef5b9c95efbfecddfb3b4c8c2c9c640ea64d2533de059964f355ee04ac37b9a9a2ab847f440302047c435bb500683066023100a5c77d1036101af8af7f2c7aa7c7f9333a2b2639b483a6d87073d83faba6d7944dd92a70fdf01a82ad3d9025a593b85102310090e4651f065f1b09e9a9159f3a901f0312f5ecac34fcbd5978ffff97d087f3eb105d6cfa0f1211db5d30a3a8f763ee6f0302047c435bb500663064023013c47f2a10a726c41ab3d27c4cd28fb4cdabaf2e0aa5f40f0c0bb7b2850f349ee44d76974228e876c62283c120b6095b023021539ddab19a117ac93ba3ec5dd7bbe6ae68ca7259ab342b5020a4b03baa9fbd6a51a504bb0dfa1d07c5235e3ad250bc0302047c435bb50067306502306de60c19942b578979658cf09d124ab567439b85a0d41fafa4218016773735bb8e240ba903ff0825fa89bf7bbbed8749023100f7b8c615890f5fc85fa0e91304f5e26460ad9b831f51271ff1d6a8ae33c116d2fb54aeb32172ab94d4559cddbcd609b70302047c435bb500683066023100a93c72c549bc5303367b21ffb07371bca89f71d09a5d4fa108fb9c12d851c48079b73febecca1c8a493cca8a93dc719c023100c5d093b0826dd85e60d1ecfd291e20990d60015f5761297f0ac3b4ea90143f5633d4a4b15ca68deaeb0b2697880f38420302047c435bb500673065023038334604ca7a20ef07fd8abbc4299ff6d54ae8fe27438fc482ac4c62560bfb24c266228cc8d99f82989191c25a03d9b5023100bb0fb5a0750784848710f89f8470808958c12603918f750886f8b24b7fa90fc0abd6f241ac15dd0764d9e4874fe41c3a0302047c435bb50067306502300d20fd0b1191d433288fd4bbd266ba808c632477574e6ed7e1299570076cccd39ca7cb85625387f8164a75fdd835fa720231009566c6a1dd85040667871be4b95085c463b4e8df9e08a162e5347176b667bcf767cfc023e34eebdfb5d67b522eb6bae90302047c435bb50066306402300763325a70ab292020079219f6a9a13afd2a328ff0a97084b042186a334e46407a7e1a9e7a145101f6b371e448fda47e02307855668e4a9088904a820df0b19dc38b2d3d2f0b75d30f394cc3abc4c04923f479dca6fa4d14f75687e9e0f1acbd658c0302047c435bb500683066023100ccfb77f713e9144427ff0884da821d37f0710fc9beab169a7bf437abd12cc33128d1ee4054fce552242ec32b745d78f7023100fc4a78b0c629944f56a1b8de19a0c5fe4bfdedda8226fdfd70f8d4904dfcc285ec295561882e1fd674f565008d269ad10302047c435bb5006830660231009becb3b371f2c1e7c879bb2a9663ab0a5ddbd0c04d25345ed90f4f46bcba84a4de77b64f1c2d5b53ef5dff16f4196720023100ad24d2790bbb4ec5fe37435ecfa028eb24330157bb6c849c17e7bd89b1c80a76d872a3bde48add1543ecf2c5d74090bc0302047c435bb500673065023100b239aee227ba57ec4c9968fb9c6541f25166aac540791dd4f2522cbd3ef21a6f484bca177cf88a0d8475e42b9671430702300b2792ab4e725f19672826d87f418755ee03384c65047b802d33308c2ce3a1426943a2c993059f15da7ffa9c4d76d4b60302047c435bb50066306402306f9aa7a38869b108d175ba54e8c35aa23c9cf6b1e2f0401d031ce269bb00e86d151b1809214d166e4b470738eb9ffaa102306f2322ae2a0096356270f568612dbc9619ac31c429b177fd2b7f9623357fe0e1ec6b2a934d1f416c9854ad3df5f49a7e0302047c435bb500683066023100da2384a7d81d20821f9b397f1bc5c1f86b8cad60f60753f0d54a69c8bc5d3d1da7366bc0d443c695953bfc20bb919302023100f5b002ba4c95c55d69d53528562ef26ab46128569079de208ae61765cd4d289e6321e7a1169dddd8faedc70d219da28a0302047c435bb50067306502301855b2db37715c64a3e02422ad37783a43456afa26b10e4b5deee058da69f4d082e1acbc58c051fa5d04d1149d6bc62f023100e90841d06edca7df82278034e7adabbbdbc1c06a2e3ddb36b9edbb9f355e6161146220d962f83dd4bd2e8dbae1f9583a0302047c435bb500673065023100b2957c152fa229512d39dae91a0f0c83bdd945ac5f3752ef6ac05c8e571836e29a13b3360c673daab5e80df0f122bc5b023004d80b524a333aadf553356fa261fe33de0e4767270065fad2dc307c27e7c7454d8ce1ec106920dfe87346060396dcd50302047c435bb50067306502307a660b3336cabb64885d5d5b8aa63ab51b6b25fa0a4ebfb5b2b9cbb3a62ee3a95efc669a7758af0442baed3fbb81e81d023100ec80fc2a5ab90235503547f75c27a80e6679b452a95bd88525c640ed9233a9378d82058d4f5a5c5409911b307690eb810302047c435bb50067306502307fccd274cdba1fc7db1ec39543e3b97440d860763306703d385634b99285949dab8f610728b3d19f0fbb601ee8bb7c10023100a00ef47660cff499f173c212ac64ca1f6416c500a5628e3eaeb8e1765aa1abac563da06b4cbd099d29e275bf4e2595f20302047c435bb500673065023076a69b4c27e4160f3829d4e99256d6a4bccf1c74cefcdbe77a520239984d6eeb248ed8d3aaf555fe306945f370c2c75f023100f2a9e867a5d0e1c8b71be96e1c82ff8cba2f509efde817184ee42be64ffffc642c40b226247f4c0e713c8192e18c065a0302047c435bb500663064023100eb1e9da291e8435989d369949f54fde08af8aea9f69b2ae0468637d8f1f1288e676595ef063904b80d62e1b6558b2a96022f0d29d1576962319c23e6a445ccb36ed31b086c226a5c38f2ff5a8777baf109d94cdb3dd6c3ff8c83568496860e31f40302047c435bb50066306402301335fdbc3fdc58222b9420ee5aaa30435852b76c0370b35f6278a7171e7264e3046d5d739314e2958a36789aeb46a3c20230447761b5a812e41268045c8099b5390793264cab28b9e8e08b5369231c94457b0b8684648feb56799814b72f43ad73800302047c435bb500673065023100b7cb149487e1be2df1f77922f286ff976c4bacd3c58df1cda8db4511eb95882e39f4c45c4f4b65ec153b95304bdced0f023005f79af87158489f7cc3c74033b99deab105be5768fb6ba20367eb70ef8344ca27562ccda93e87c7a647029a9eb8c1440302047c435bb50066306402305ba8f3ea24cefccff0bec296be1c5b1c47ee78da8b8b57e8713afb4b182e92ad1706925741e5baa54f7a3b822086133c02300b159ee3e3a24c86450d7a87237618253b2741ff4adb702b500da2beb73650c5802ef46ec2d6fb2562817e6646c6610d0302047c435bb50066306402306baee5651aa9c387de6854b4619ae4189ecf5e43fc09ce20c221181c4fda46ab70286f6efe3738251477321a6b8c95e702301f535509a5d832c0188e9323587be0cae61c74401e6eee1bcda3ae86058fa60b0c67570702cc15a6009b12a2adacc5aa0302047c435bb500673065023100b35a8505069d55632add86c540b76555873ac515d25f84eabc38356b63bda1139fe18fa11cffe02dd50c62d1e66e622402302a811f0fdee03b62f6268ef75689c93dcd32c38c2503c69facd88d1cb90e6841cf6c4947d5ba95310bd963d5468240470302047c435bb500673065023100d078362b8d47bd22ed713fc6952976317500cf2d5935d3f4c58d1ce7bb47c1cb274e740ef13d98d01afe9f93540b8801023053a63745865eb1793a5d4bd33b4489a216cfbb9aaa4c212351aca89cc62d0db50f63c60913b3401205a20840315c985b0302047c435bb500683066023100a3fa39f40c79e2b3f830fb48125d938f99d35871ea0839788884786198556df0ab2f5eed3c02dc32ce7fbb50fb2687df023100ae60e79b92ef08fbdcb394def5c36ddf5bbc7117765dab13cda44ca5ee2026e5368c8d4d086bd9e83df6c52c8f45dff40302047c435bb500673065023065fceef5d192b374c6785e6a105510e045ee46124cad181c20c2729bf428bab6d6db14d11fc99ff00f1aaea1a8658ae6023100e6fb729110c43c90bfbc7ba3e4aad9996020f13582f6ab0554dbe55b7207005fdc9153e98d124327724375bcfc4956880302047c435bb500683066023100f2cfdc3389a650a7fca2d31233c40fbb9e0286d5343f67c52a600ed9163547b175d074f6b2f037d43be15bc426bca63e0231008bffbfc8faf107c08d2237ae99ceb1efd2ae5154ed273189f196552cc5169ca034e8a1932347ea8646fa8c7416e8aa1b0302047c435bb500673065023100856a436a370f5d480e80c2ed6afef751ff43a66a3492568cf7538af121d4debf93a87fd21abf8cd1f30e4422e196813a02304e5bd161f2a1306d44286efd7cd9a8b2f936978cbe71107da5f7fb5662f84e9a88b5a92427f5f75b24cf1cb89908e0a60302047c435bb500683066023100f8ace97ac16e80d612850ee25eb5a4669dcade85be91ecb4cc7994dd893eb807ca5ea4442d8bb05ea05c0c97c0e0b6fc023100eaef896932dea53cae281421c2b6c5fc61155e7c04b1ac59d67d29653b505f84bf27e5af83de57803678f6ab748b17ce0302047c435bb500683066023100c52b005aa272a08dce4914738aeb9691a984269b3045c8e9b18dfe3dded7795db90b8cc2348892cdd0b8d89d57bece77023100b22faf4c360b45d4cfb8b272217baedc416fa6b101c8897cfa67f9c0b67398a16e75bda7be9e4aed1597d91e658d379d0302047c435bb500663064023026ecf754e29474d04840a4a01c26d6e65949d44cd9271784380354c2eb2fc73372f59be044882244c86865791eb4b38c02305292fa8365a919c30bcac14f18d65e3197d4f84dd07a23458c71575fcb67cbf91ca99a9295b8adbb122fd9be1d6dcddb0302047c435bb50068306602310093e1770e9203feb3be1e0dc83911517c10f2330532e6e02b3ced3afb49f720ed048bb616d737bbc4971271f3087b0cfa023100fee76863f69cb3313471787f7d63fded1ab4487e9ed651f392e16f8d09521d3a9f11acc0b86744c92ad69026d4cc08710302047c435bb500663064023074641f7307a7c0cb671031d143a95ba358479f8a60ca6737ff60b5daa3dbdd940da2e7b27c523c9aefccc2a8d99216fc02306a147781a93e9cad40d4fe8457511d2cb340ef9afd779f4e47b4edf01bad572a7967b5107b1a37c6e2be1ca9f59761c60302047c435bb500673065023100dd5b7509c4a9257ea33dc1fa490d1575d23a8a82d06047bdc4d89a5e075c808ce6fd8b2db51eb18d743c70366f61686c02307e1ab30697d704d6a53c0bd819744c7d91642a4ee706ec81929b257637f642e2ac1851dc48ca8093508e034bec3cd0540302047c435bb5006730650231009ee3f6790a3573c35d813fd6e063d8365713fe830934c32007b0aa62f554ae751d3eea186e490f63f9f4c13fcb7eeda102306c31005867fd5e0daaf5b14199f203009cd9e0ccf2150db4a8a3cc0edceb4bb6cceb9343a1b455274953b27f9576a53b0302047c435bb500673065023001cdca0e3a679740c31657dd3b2f9857b1bc9322affac52b1ef77ac56969ff7fdaa7c627dac22c76eb145dbb36e9891a023100986b1be9a15c24ebbd7f731d84ade61da350b2d5828d14afe62a148c2cfe386c59c6a3824eec4e718080afd8322bb9fa0302047c435bb500673065023002d555c9bd034670153497422abd2c5d2c6a37b64569646bd944f227d814b67b3d214f817b41c5c1498f5fabcc4821110231009407f93c3a60e8a25fd5cfc7609d5639ec73ef563941cf515c66dfcad0b2055dd973977e15620abfac1cccbb415148de0302047c435bb500683066023100e192a8e587b94bb5bc4e6e6130f7a659265d6de616604c579158de535d72a340d0119e9a01ce3c2d80fc313728aa2e4002310084e4097a7bedf5a0569bc8fcd7cce6e0437acdf14604c4ce3c89f73fcb2865e0202f07e4145583520de72f4df60d61530302047c435bb500673065023059aa18551127ec5fa415bcb257e085ed6374bc765d8dbc20d76a02edc6bed005ec7ff6097ec629965dcc0ddd6dc6e4890231009e05856686e09db721bcd11bbd5cb167f552604abf2add3ac9ca693dd20ff096099d71db85299162147691df5fe816b70302047c435bb5006630640230434d6355da62c94de88e12890560c6fb8740db38903d58ebd2f296752bf7af5006381f89346177dba8ecd92fcbd885a802301e3f2799a54932b0a63d40bd96b2617dcf224ca61b5b9b1d1ef9dd5e969426d3816c4dfabb6a3d93098fca75b5fc90ca0302047c435bb500673065023068b9517e01cba0c9bcd39dcc32e545d49299ff4271f887e89f869e0d6994ee0db2f5aff8287efe073dedd4be22c51385023100c70551017bbeeb088cbfea29121d15d19813bf3350ea9656d3f07c9c803cac33fdcea0d58a78c55bc0c2108da707b1a40302047c435bb500683066023100f9dd62fdcd8ce2ca476232adf26c830bc675f3663c9f38d558b913067e3af7227a9ec887a46f66146738c8206c63540a023100c553366f9a0a1c3f82f1b1a8f9adecf600ba2bcf775d068e96fde5b242d3412f9493c5955dca0505d94c3f8a0d16f0720302047c435bb500673065023100e39e69783a68180f1b86ef385891b4cd21378bf4289c75200d485a3155698906abbb28b8888500a3d4ab830c3bd018c702305e93362aaaa04d14740cdf8c5fbb74250416a50d5108f4eb7cb2ce950d4f760c714c3757a5250f82da298111170209ee0302047c435bb500683066023100b41ffa8c38ac77ff378ddb5a9a54f0596599d2efb29ea812c93e96aaf9b2ca89ae54501c90070075f5a55e132c1ff087023100bdea4ebb7bbd003d1845c5c146093484588eae2881cfc8400d8d8ac889559609f6d1255df6d28f1241f864b8a98e48f60302047c435bb50067306502307cea4c73d145a8f9d6cfab5259f2b1c8eda0fa66ff0cb0b18901df21a8c2febb8973337c1a86b5c27e2bc86c90d16d6d023100e5747165e298c9fd893ff0b6bdf9ac372c898d651d6a5549ecb53c8d0d4a21d7171429817a00eec98d061407181161060302047c435bb50066306402302c076cb9eaa3ebc0527e39a0e03d9863f9f2f7a857e902aceb8e24806dd51fa6bb58737339d070f41ae312a8754c4635023010662425b20ac91c24b82757bbf3021dd7094f308295a3d81eec2bc93ca0288aee092efd74c6e0988e126e452f1292a50302047c435bb500683066023100f19f20c8c42e4ac1cb6d02dd1aa783f99062dfe76581ab950483917c8bd5e4ac81b568066fe7e88c67aad56329491a1b023100dff03995722124da00531e5a045b94950f23ba7367649a8728ab559f194f802ff3e1005200beefbd89cbf69942d7cd070302047c435bb500663064023030422e8bd76fe40800364dce57ff5060ad601741e2bec9ec13c23185bdff77a7c780aad70aeff8fc710ba7de5bf0ff6d02305e6a8c8503488b2d0b9bb8f8cff5f7aae29b0e7e4d85e36537dcd7c64c8cdb945aec07f05d563090bc8a551484ebb4ce0302047c435bb50067306502303700a1a2ecc70ee98e53401d03460bb18a18e1f2eec3886345aadc39afb110335e60608cf9e14ddbce3cb0e81588133e0231008ae15fbef6c592a18097c1df39d99f751a638b6311721a9f7c5b11b5c3192e86173347ef37d4cdbe288a27cec8548fa80302047c435bb500663064023032ba328f2c90c6df8106cc84c3a6f72d71962c58023330fc72351b9d1c617e310f1c1bc65c8409b4872fe74e40bc44520230290925f13a7afe35c6341b18573a84b263339ac2f4892a6613395d4905c24baab1483c07dda6cbd0d6be4b97f7a737ce0302047c435bb5006730650230470693895c1b213e6a875de13d77972d17f0cd5da3d49136aa1ce87e31c8a1285206de110f5b8c0074df715b75de6e67023100c96c81b3bd7d403bf2939eaf7dc2872fe573c5cef786f7d20ebe45304c3cfc2ced29bd70d2c8be30db886086e80f434c0302047c435bb500683066023100a642e086a00df6a0b850848f1578c981dff1663484cbf1d191fbd25f5a8bf3477fd93473a3e4e079daf59a7290346449023100ccb6a381de2ee91fc2eff8ff941c5574822fc5c4ab15949d4a58fcccdac483765b9afb61ef588052c5ac0a6f90e235880302047c435bb500663064023054cc11dc3f0c0646a05c9c1f70997665d506c145f148cc04c0fde01f6887741ef50cf255a78f59296ed97c9a31ad79dc02304d15031169f8fe484486dd6d1ac26352ccff31d44ca131bd18235a35801287ecb2c2bf78dc55c1f0d75a3f0eb252b50c0302047c435bb500663064023072988e397b0a5c825df7ebb8e31fb9531edad440ff53254ecce16eb16d9bbe327efae7bce3f16689b058a42d9e476b1d02305fb5993a9b1bfc5ca3e9adf41e7ba83278940d0fd8431bfe248793e55589fcaa2e66ac5bf70c7d04b57f4fdcdcce340e0302047c435bb50067306502303bedf4c4007edf0053aba331beefb8c0ea3f39e22b6cd69947fbf7a90cdc37f48f9b553d51d14bf844381b4e28b53cad02310082abec3bb27132d2fa869fad8ff33f6fd7ee850919ccc1e1554bf746d32c7a6615c0ba8b57a73bb4272fa9fb0241e5f40302047c435bb50068306602310081293b9726824dcde1b5cba9c0c2697b782e1dfabe7035508b47f19aea095928da6ceec9c0e772d9178fb3b460512b6b023100a57e276aa597ce20b37c7502abfc3fa8d1a374af701d799ca51e2e65796e577f1c701a50a2620868e636d6b4088dd7510302047c435bb50066306402305b87bb25ffa2cb762c4da911c7c0db3801b8851154795fe5cca8179199e09bfb57fccf107349e95e4c123de987df43f2023045986a2c991e9310e525935cc6e70469803eec374806b6d52676ecb0ca2e46382daf982bb905084d88fe97ed00460ed20302047c435bb500673065023100cca356f86ef9bea1d4e7f0fbf1107d60ddfe464331d11cb6a9bc819c5819d4d4e6b662f6b07595edb7e277fcfb5cd61d023076837b4a9a14abe496f2f232a262699a5e0e03a51d85748351d908905094488019e222837ea70f849be7f20331e10d800302047c435bb50066306402303052fe6483c01ff83220112154c6d79947b99a18cfa0540e31438d700da45a7cb17c449493c86282dac5ef3367529b4c0230297f65ee62ff43d34bbecd5af12d2e8c0483b1293b28875f8485b3d5383342c62bf93c6dcc5e8f171c15e5cf82a5fe2e0302047c435bb500663064023044fb247a064cd030c23e4ca54e40cefe9778682ae921abe6b4af66df25923f9a9f2ea1dcdfbcd06151f46b2e242eef2c02304b2eeabc8dc6a1100e29646f3b35a37cfcc35ac1b1e539b14e715223eb6b66376b2da4c64c90e4891ca0658e06490cc20302047c435bb50067306502303c22f280f0522df403d0d080b69bc969c16fc81f8ae4e37d8ab4ef7a0a90a5bc42f447f5911790a22f52a92cb37a69400231008a9bdd32e62dbb6e46236210460fa23d553ed83cfeafce78b3843b19053cdeb0684ca580e3b1881eab39b4947d6097f60302047c435bb500673065023052bf1df1c87f6d10bddcec32b9222f3acc4c50ead7cb12f29fe4a52f83f29320297e8076cf81a0825e8d7dae810df31c023100ccded89dfc4fa2b9b70d03bb23ee1a32b5087de89383f74610569cb8ad10165ea94dbccdc61501940d41e82a5a547c0b0302047c435bb500673065023100a015dcdb7a62da9adcd508391d3c80fe1538b0972c03263c3506a337ad6b2c326804b49f4a4a43295356fae9c21562e102305cbb8a99dbdb09c229e5168e3a68ae2c98be4ac7f2e1bf122ef0c9bae76fb757977862c5f7a7bc7c0c046a79774abe3d0302047c435bb50066306402301a66db0ebc4cdc441dc18128b2abf0fbdfbc705336e1b4ac3e4bcbaee1a158943946189bc222be7cbbc97b8b3fabb6d702307e57d095446df3e385b355d6f65f819710f1d6f6200801bee865cd5252a2b80e8b42b89ae4cdcc82df9e0af56eef84a10302047c435bb50066306402305bab47ba59d92add7009c89f8c4824dd248e21ca0f00cb6134519e91f6d7febe3c6d4f3d2a3c4814c61477e224904e0a0230219ff91bf78638b9ec2e7fdc4e0a671458c8662c1e8e8f693f09f1a48ed05457cb04c8934894bf6088bf14c534c80b440302047c435bb500673065023017b60ac245c6bc9a88b986eed2f46e85a3c70534a998dddf126cf3fe0d6ec132c0b51f3a8e7481fc81e66685a216fa61023100e9a7de65bee949896aed66aabc71d9155680c6d67ef42493688406d6ed178f4fc67fdc5b6d8dc7d6de9048263fc118e70302047c435bb500673065023054d64189aa6c92c31e08f55b8d195c4b99075429b35842456aa48ccb6e273b781e914168b86587869ddf29d50bc6057b023100acfbb5aa45c9c479efac5a1d494b3e3e16ecd974c019065648b2a70a33ced475e3d4787dc6c3040ef41ddf85db33c8f10302047c435bb50067306502300b8e208d6ba644e046f78e31b5aa01523bf3f0cc9469f4eebf0e6de5a4120b148ea04dc4d38463e7b810ce9cc6a3f901023100e04f6e94d180472b609e25c78e5274e2f2d8584fb693e477e492a6a80cd5a1e0144fd42f574a3249bff8e95dc06c004c0302047c435bb500673065023016cc923af1ed1519bdd8ed0d8fc3953fb8d11fe47db819546eba41af7a7408069694049ce18a2aa46f85922b01834ea5023100ada06cea70519c85124f86ff7913464946d0c0d45a76dcc576d1cc817c7a0e452e6d3bf49430b7ee373d4138d93d5b660302047c435bb500683066023100bdfea02895bc5ea0e126fdb17c78ed09838beaddef7b868e073edca06bb8f19dbbd91bdf3138ed020c8d8ac2fc1caf39023100c5f798cae1aa2472505b1b5e003a288b1a45b30e84bb0d12bc2b2dc46a020af856082815a08da5fff86be70ad84480880302047c435bb50067306502300d10a6c373a030cdf86a330bb67e2b9f454f89dfdc6ae96e5da62f4ba431bc95e4dc94210ce561b13fee2c53fedf2c9b023100f354d3aca2190277042dd3b978de819bf98f640bd0d7a27d00907c88902cce6b67ba79f26b3fd2acbb0a85d271fb54a90302047c435bb500683066023100e35b95ce66c0529bc26e7de4eaab14036efb65fb745edf5c7ae42ca0e4485eb53efe868d7b7cc8232d1a89c2bc52c0f1023100d4116f992645d1446ebb11e33be5da678355d1ade2cdb7b1ace24eee483d2b936ab84b3134a77f1d7235a66495444bbf0302047c435bb50067306502307f2255ee8162824131ccdd1d5c6943a9224c871944ba406803f7711b11b83e4507c920efda45bb1a2c3fc4ed230d1d2e023100f8ee1dc497bc621f0e208293bf454d313fde237b8822b69e44cd93d72f65307feb0458e1f55d5af4e36c9b4da672dbc60302047c435bb500683066023100927ccd874ddc617b0377a27eddc3649fcfa0cc2379a475a3d1fe72b01cc1e8889a8a639e6be714ea16fa7cd89f6402b6023100ccbeaa3f4bfa9a44ce30dd623ee1f2365dfba89628d4c252cdfbe3e8fc5f292bc828753d71cdbe55532c719ceee34f5b0302047c435bb50066306402302c031ad885a1abf991c424b8f8ded650f88ce863cbadc096d938d72d105ad9cbaedcd0f1f12f4b8b15a4d24b4fd0bdca0230669cd8a019dfb414cac9816727b523da4db17873c4c9269d50369d10870c5a32b0194c723884f3fa911feb4f7bdd786b0302047c435bb500683066023100f8668c5d467c3e034428a4bce2736e1bc6c58221b3f7b81027f8216c812fb73582b1c52d02d1a548b62a582c68c07d8c0231008343179a424ed05575fc67abc00ca814797ba780b358ed930ad5b51c0567682a0d66bf5129f664839ea88a6b1013fb590302047c435bb50067306502310082d733098cccbe1749024bf28b310462064e1d9304d3417404a4bd157af6780a12cdf84008d384fbb84a18035b41a61102306698b53fd99f2f929f785181e0636485e89af13b041cbdced2fa6beca54eb22d00c26d53453c9419511a0d14a34b64ed0302047c435bb50066306402301e50b4adcbf19747c0a261881d6d99a52f9dc13e5c174e33e95a640b245031f87e214f8d85352abba33186ab08dd552a02306ca495a8a23748e1848ed0c6e447f62aa06f51c5bde1ecc6e178de408e47018031bc2d278c3d6147a41f48da3d71610e0302047c435bb500683066023100ece8968fc3ccb5d5f4046796c977a7bdbf221a883f435ae3fcd79e8a908a8e8f36c7ebbd08dce33c59387cd108fedc2f023100a3d8a92f855563fe95a0e89ed089665c7b4f13a8b051bc71b98563fa50820a23e5e6be61f1d57b8c3e6b0e41b752287f0302047c435bb50066306402301a497cd67e1840bf647af070e4912e6d28740306a6a80d9a478838ccea049bff228ebbd8e297dea72728fdf94361239702306ca1a4701ea603d8e70c238a6e42823507071d3c3182226d596a2fe5d85eab269ae09f446f7e98cb6d1caa9af6fb034d0302047c435bb50066306402302377a55ef1e6842d5f0ac5a7b9e7c3b2a41649798a9820328693936a63d6196959925d3739ba8830f3d87086a4d13a6e02302c5d13b51bd99a330bf58c04f4290dac64d021da24ee899394aa0dafafcc518e5c1c5a9c0402e04aa4fb855b76fa149b0302047c435bb500673065023100c774026157217ea846f71acb4c30a9de05e5d8ecccb61ec4620f58346c992455b1973197d3f3fa03195b09c1f91e103002307022a1513ff554223257eb8d1ae4866ee3c09162ca3e5d71c6fdfbfdd02a821e12198c4a5bb68db6355d5c6ec7f3a3590302047c435bb50066306402305d76ffe23c2ca654321971c3f6520df60ffc05a20bd56a479e0c99c15e8747b71e24b3e75f3d3fa6dfeebc41066cde48023069184f764b2bc4729de93ac35cc8007a8d756cd70b17af05868ec26c668be474704d7cd6a58b0150187ba48fea6fbb9a0302047c435bb50067306502302e4c86c466b50e9cb36e06e84bad8c362886c3b5479a0d30dd132bd73bc0acdfb248e37d5540764595fdd885516b9f31023100eec5508ca86e2303fcf64f95f231cfff2d4107ccb986ecfe855f6c73eb75e88fe16df78d60f23e9c439ed63ca6eae8e50302047c435bb500663064023064d547256b7556b3eb9d39d6f4dae7c4f6806b9724474f694cf59f0d811a3723d9c1a1243017cc728c407e6ed3a9675a02307e52a15b6165ebd8fb04759b10b249fcad784363c9d42ec857f7855e31eec1332ea5ee58f8892648879f8364a29cf4430302047c435bb500673065023100c57f3678c58c6d32a4f8b1cea556ede2a9cf86170c6fab3ecefc1c6ca6df3f16a8fc5797d740fb42de06fd55385e50a502304295ea321aafbc3aedd727aec93e95249cc447f4ba5116f5d7b97eb2770cf72d155dac9a853844909e3a6cd4dc2504a40302047c435bb500683066023100dddcdc4490fe7aca42ace9a838f562dc333ce83c93c7746cfde6a09c2477e9a420a41de6cdda1fedc70cc647c750231b023100b5533a03b2f861c1db09482f4602baa69b4a52ffbe71d77ea018dc44c225cd856c3b625ee4afe022377c6893e5db8b910302047c435bb50066306402305659c19a46d0a6d5a3b22141125970c2c19007b8662386ce688a63ba4d6490eddda88e06a1686223c42f20606008d7a702305fa167a7ce370c454da1bd9334463ff7c2ea205e6841c529b75b597939dc2ccff1c1a9c3004e0051bc0c3970c9e33fa00302047c435bb500673065023100f017c94d459754f3699f62d84f2764ee77240028892b34ad4ba67607b798921d491fe7503db918cac998e99351ba006102307c13c958c1e58132a7242d7926b33625b3f59364be5f85c511daf3dcb89fec7b3e141144cae068467c9d35f9e390eff80302047c435bb500663064022f073ea39186dd8b6943f27516ae197fb9c92a07b95d75ebc5f8598f4d04582d7a6b73781aeec980b3add229747cf30f023100bb4e9607f05877fb399740444d9f095a56e40d1fa2311c2dd9d7ee2b14db4a44916a73c52500cd1505ea191f1b29f36f0302047c435bb500663064023073c4fc9a15a3eeb63d1a8c6e161f96fb029c94d05c1c748ae5541fe0b6b1c5c6bb5237aea2c0fca6ff42661ecd1701ce02307071c9f4076dec264cc3c10eb99e645e9bedd2886c648cc216d3604c3c6b5e08b4b6fda9aeb673297545c9be60247e1d0302047c435bb500673065023100c016462c812480d523d1c90b11a4afbce4aa55b72b2f8612d2dfcd98600eab4852e498a136e45f79a0bd4b073a443efd02304317970a6e104d3bfd0447cfe2f463e05e0509b995ba2b5392ff3a9c3e2b5c459a42b05e12ef861f8bad2fe69b1b3c2b0302047c435bb500683066023100fb7cf6a4fee4931b280abed2c9644b77563d525809331d1501bcd65b9e09e59ccb61e9b27304f20a0b488b5b5c49c7ba023100d4c4c42efa6e184b290fe282bdf644f2e19e1bbbb2cdce85fc4913119f25f01a8cb0f7e957a6a07d6788733e247b0ba80302047c435bb50067306502300d628b7c6d6f3ed54d69d9c7050f250576656ebc297262522fd139ddce741377ccd06adf8007dfae722cdb4138deb302023100eef23cc63d89910b6abffecfaa82bd364627e2585fdcad34f28f7f91e81b940f39493a2b66ad2868d575c5f466842a2a0302047c435bb50066306402302191dc1aeff994aee8e0cc481089406ce282dddccfca2332460e2b503dc5e448201c092e68fc0c8d78aa4161b1e56401023017ce4e3b8dd3cbac902e91bec12fd6124304fd28e9dc7e79cd0212b872f2a432e90735ce42145ab5e4df3f6038544cf80302047c435bb500683066023100ec8d03363f6791c146cab3b2f6ae5b39e5b0fac5adb6f48a82ee0044ee3abf73c40e89fe5b81976a64b37f7471816a7e023100cacb56894277de12f4e26f3b9d77e6e99b57cfad2e6e584048a5630da03d959db56d5b6512492deb03d7b2c4715c58980302047c435bb500663064023018482fe52d6354eb9ae009b538a88cb76c2cca4eca5c108ebdccf4fcc3066175d94c4cf2ee6cbdcbb71c9a1a71c976a702300e54fd42a26c83c4cfcbfbef0bce1080953c2bd27c0850cf6da0e5f874910899ee46a515c64bad5fd27ca36d80dd52ae0302047c435bb500673065023100f5ceaa3457694c1769dddbfd2173753bb01bb2dd67b16a0b233dc7a118dbe419a664b7744d74e0e80f5765aed62bea530230551078303a06c2cfe6efcaf486bd74c0b2a16aff4add13200d0868a3c85d6caf0c7cf4e0b36efee56229a8a5812a15e60302047c435bb50066306402304a1d1e24baf17d4aa81db9cf1e9e857694184b901fa718ef4882f2c55b5072c2316f461f01f9defdcbd868df6fceed18023057b74ced176d71b917590ae9f80ebec4627ced16cc23c50c43652378c0b8e743d7993dc1983fc8f3578599c9fe178ffc0302047c435bb500673065023004bccd5df2a114153202e4b6568fab53cef70c67754228a43249b35710bde71fac2250ca4c12f688912781a3c3ea2261023100fd98113a8d352fcde0844707978a3995f5d41633b7062ac37d3ae0fa473078d561eff7c3f0160128889e0672a79153e90302047c435bb5006730650231008fb019c59af362cb6fc4c9318d2732339608ac48c0f7c71a9c56711939b2d42ab5d4c38e21729b87d9421f040bd365e202300b5c32c37835529ffcdbdb62b41000de7001608b4b4f30ca304bfc3b8ada8ede20b44663f7521a7a62efbeb38e3ba2dc0302047c435bb500673065023057e5b6893e3c8d3c4dae1ebe7c544540432c71d567e089c9473e83fcbeca1df4b929c795df3921deb247c1d972956d7d023100eaea44b2fa19575e6933556fbe1e7f2593534cdb29e2d307638c17675308801f41ac3ad084cac6e534fff23bc50cf9880302047c435bb50066306402305091f59fb1664dc560255d6557ccc0399ef6da49fd78c92b59afa774fcd868c4bca5c425372afb858ddbe6f61fc48c4502301bb73a45e2245c52303e32c8017b427c9734204c1bf5de2daa09c7710500fb55f6293a21616ab45037b61e7d6e27ca1a0302047c435bb50067306502306ccd1ee8478bdd0be158e8c0d9c485a327e8bbf63ba1f210ed1b6a3a9622e734a825ad3f92464c7bcceb0296cf7389c5023100c30e9443b9f3bf6be00bf97e1455c369653cc34e81168ae7fe6c9beee1e52a3d93b45d4e83ba1bb7e88ac1b58ae237530302047c435bb5006730650231008c877393ee49e7c5d1b63a9e8e7afd034123da8ffefe21dcb51566ef2388810c32844eb0c1b5f552fdf9adb5f8e3eda1023065257e12a6a6e3d5083492774ff0010d4af506952fd661ba82ce26f78b2fcfa0087bcb867ff17a7c11b356f370b983290302047c435bb500673065023100bed7b299969b1d24e4cf9a5e81f7df6b57bf20a9b543cbee6b6ae2cec160ab4531414bff57aa65bad98012392db269b102302c500883f6a56e04baca15b144bea2fcdf49a186b4702c40503d260b6172b6e929a4d6e388cefe7007e44e1e95f0b57a0302047c435bb500673065023040dbace944d7c8d283be437b8e094d6e8d139c18b620c642067b5fcfea447975f2be4a1ae8dfb40576104737b073a47502310098f0044bc21a4468551b570c9a104b02ce2ce9c664e3117d2ebc2a9ab1f086a9525e2b284077c4f385b60283a132d0cb0302047c435bb500683066023100ce2ad19dce98c199155e1f59134325bd19b521c4968bf3aa8fcafbc9e0020292adaf4733d53b467817104070ad2f1269023100e76ae2bcd2f848d4db3dc741c5bbfa643fc7a8e5af754bc4c3daf9630a83eb90d1cf4a38ccffe1dea8b5f7e60b03afb60302047c435bb5006730650230504cbb76973dbb55836c42fb765e65f12e3b4e2e5e8f5404c562d5b52ad157fb8d4031403991559c2bf5a61e56f341f2023100b543b4bb395baef4cac50ff3104296231cf6077303b9beb4b9903fdb6ef1d51024fa6b7eda1ee1b09b541cc4bca9dd770302047c435bb50067306502305cefd96fe50f27c6bc157f00302758f044a829715effbcbf352db57eb3040d758b1e742bc24b84f7c7e8bac5c6995d52023100da06fa931f24d5280ef656d87f1de084fe3dadc5e4551a8c2283b82d743de38c51160857fd2367ef012de1dc53c5a4830302047c435bb500683066023100ef67e56e26dbd97569201a027930db7a65272f5d80199fbefbf9f6c2b0024c474d550875cf42648852d8485cd8949d67023100e8543bc41a5bd7371de2db682a487b49913506a5661389948625d7a92bbc4e73d7295c3cbee37ebeab6df75eba7a490f0302047c435bb500673065023100cb834fab1a8fdc78956cd8c3e8bbbe93a48cd0d7c8133e20479e8781553c711bb445f778984c0873f24a03f6d540237c02305b7cdcd81fa0d91aaf6731fed46b87f17e3a9e949f0acaecfde5361bddc1db231e4f006bac14cb80ca7d5d1e9541acec0302047c435bb50066306402305ed028bf3682e8522443f24e7ef5c02bfc5b9bfc962fc44a29a879d1750a86062778f40d8ee0eca1d753cc04849ac010023056c83574f4a5af15d88e213b390a7f848c09d2735d6ac8eb80c7f65f19e916d369e7161f2793e5df3dabfdcfbb41f16f0302047c435bb5006730650231009ce88c55dbec29326684da5d52f1b42f3cfa811b6846f81f8d9cbadff240ab33b8b33a21159ce257e2fe7d82259ef3a702304177442b71fe8be16c079decef9ccbcc042f1e1421d3ff78de98f3f8befa1962f124b906eafe2f37d89c410ad40010f70302047c435bb500673065023100943a4b141d7c5affcfc36394e6a84aebb1d3751c7f75c319a733039a7bde5405b41289b3b2c29cfbeb99c857b9b2eaf00230106f1e4cb6c6b11d17d37db0c614d20b4d78217456dd87452a9b9405d5c1ed3aeece0351a8b9b7cae0845b50033fbfab0302047c435bb5006730650231009ff332fa0e0e62e92dd05a82c2b3e815c19707379ffc572b32241d81ac6ddcf06c12fd137e8939a63d72f03e8fc83b0702302f8c717c2273a0e58a03330fabcb5a5ce68a698678e50f117010eb57cfdaf7d3bc5df500878343d45855a029d78269170302047c435bb500663064023060dd8c4de534607a8cea6db8a0b71683f1cf0bbdac99dd3dac5af09de5aaa6c83a06d1a35fb3350c86369940cbf9b86802307077c2ca9a3e9bf1b8b1432b1d5d73bcf85a825c51d9623e81a915f5fcf1614113bf4140aef9010ec48626cc00c8ce4a0302047c435bb5006830660231009817fbf9ce393f9051eff9f0ca5a75823311372cbacc165823b38a53683f186e15e092a0c5d011fc851544c500a89e88023100818cc1ec745240b9cab63278368d40520fd53c454bef914214a559fa6a21b2a7c4e0132829437d4a3dc309e16e50419a0302047c435bb50066306402304a1969e89cef612f1e6324e06d6b3166f3666a8d08791c4642c6311e53b9a1058230c462c978255b60c814dec676942d0230344ee3fc63315b70cdf9123059aec5a8b3d62104dba46473da13c277abda29c32e681f222fe79b40dfb8cb35c9ed99a60302047c435bb50066306402300504608cc636050123d38736d12a1e7a14ab0380c790001a4688ce4ab492326734b0a2762139d1607e87a5d4181eb5490230115647df843a895993dd6a6f90aeadc23d3c507ba5629a20e7fc71a59fef2b77fc748ebda53a3b62a91a9acf5a038a040302047c435bb50067306502302a1569e402d5d59a388d2c98b83cbece71ea793e14ff2ffc7820e2937afe2f260096d13ce89116a1d66b7c4980f4929b023100e858da8149c41388e81a17303815b127f5cb53b944d450379b40dbafe7ea8117ec07283a6674ece0ac0892b6859649370302047c435bb500673065023100f9d44c6f2cbacd43f2f307b7a667ac01d12d661d5b489f1f5dc64e658d02ccf358d99be1bab2c75fdcc84b01430157dc02304862e677fc99a186ef0ade7c866c9aa990187ac9dfabfd0b45217d84461719a03956936c75f8a1c0e90e0e9ca81feba30302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023100f8cf16e1e7af4a120f057fb36fbc09afded803b64f02c37717ac65b2275a4ebaf733e898abdb0e5199c10242d6f6b9e4023009c2dd3c79d6aa3ffe5f4f1cfa40a47e65b7fcc871aa05abb69d4d2db10024ca70da29f03dcd307380b48d325ea7f4420302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50066306402300f86f9e905dc5f627e3b4d6574d49a61a37e8d4dcc13207b1dad42fc222f00baaa52ae041c47ac9d902827ca2291ddea0230426f6ccc6570a8d831c401b32e827c69b4977a4fb8df63e9c68a624ed5ed08a3a1b3f722bac9f945b7160a640a6259b80302047c435bb50066306402301a75ea8f3924c5190ecf9ec3878b25dd275ec122d0a58faff3ee2f01515d60fb7343b97e624b0743dfad7810547ed3da02307a6fb6fb441414e0d9249f30d7a121275f63ad1db4ab45589764d247f6c9b77716ea7f0f183a4d736b07cd3c84a3d9870302047c435bb5006630640230676bca3ff379c958e02ce78a4d2fd983242e399f447b1129fac64d704dd7004887e7fd543894101496edcc9ea983844602301b8c3d6154e843ac343ca212d860b05e1aeb8ed6e3d1d2a848496d98e60bc1082cf77960cc1a10a331103249d0720d270302047c435bb500683066023100ab841e6da2f4e26d836e005233ccdb06708dc3fa205f4a45755e6eb9663f0cadce343300b99d3963630e0c9cb2af635b0231008da49f39c1876bd4171a7c615dbdfe71cc07d94dab2f59545cdf8d75e3e720257c1ec54644ec7fbb3daa2bf11118ad250302047c435bb500683066023100f82432e1b266f2f8349f02f153ed7143f829e67eee129f1d940c4614aaa607c175c1e9bddc0def5f41cc958ede9309d5023100b23c28b1ca9cc82e8e1d1f8ff579b68502597462d638c30421802b6389873fb874d752b466ef06910028e3ca0f499cc60302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50066306402301c0a0fc21821b050562de2d65b4758fe8ae93737112c389f5f66ae1dce47334552a88ba886b46b7bd3d9c75ed16bf27f023036f9e8ff7bfb86f7c331eb91e9a719bea8a21faa2436565bde2380166abd5acbb2c8472f2062c6516eb549f9537c60c50302047c435bb500683066023100d7e25c3f4519a070af4768ff5814f8d73d51d8c4b5f5be45eb92118296e397a2b359640aadacb0f0bdb74c8f0189037f023100ad01ecd2da2e9d84d19c8de317f4cb11d6c0382246a7a7531c305197202c9b18dfcf6e608293477e587f7cfa586f97a90302047c435bb50067306502305be1eb07444a80a4a361ebb5b293e36238cae7c9661db5d9fc37246f3ad61908ce8a3317a22efb19a9461d8252b9bfd9023100caf51a2772e380fd688db293941f903a5cf8e431e7c2b8cc88c9db204aa49edf3dfec63384482b30298d17b54bc70a5d0302047c435bb5006630640230651ef60784ebdc2c7193939fddad7a0c22917108081cd519683fb5f67892d2a3450439eb97ccf26548c72ee42c81fb5002305b1fb01da446c5e19eb635a0a8261c293cd25efb94f0d4da2dbd4aa3af56021deebbfa7650231f921daff1e2c00caa550302047c435bb500673065023059f3d2bbdb64e31656620d1dc78924c1aa7fdd8c589720e12c2bd6a26c18eeaad3bf578571a6ba4088abfdbe91b07bb40231009897f1ec8065167b20dd1fbe310c510da473934007f35cfe10a1a528a3355dccf45d8d66d5f659d9a0648b3e210ecafa0302047c435bb500683066023100aa0fba0722d2ae445bb430b2fc66250b7d5c32dc7c976bc9f54789ad87c88d5bd82402d24a1772cb3bb7259a6846a0b40231008ba9c99a246386f87afe37bc429629161612d16d40993d67f05f1c27083d4c46594c2a303bd7490b41bd1aa80793afad0302047c435bb5006730650230692e1deb1c99ad4a3ec894e4d825903b0abf427ba060f35e7720b5bc67070646e0642fb9c91d1076067a7d2df79833c1023100db717e3778966e63fc538d2f7a77897353fc4d7622db6198147f0bab58361a7fcba4bc09441fbd3ae554601636ce7ab60302047c435bb50067306502304fe84e22e5b7904d67dbd5204aad9dde2d96ed6617883e15c66a8a746978d07d46b3680f24f220dd0073db8a0cc178e40231009ea672d11676cbff86389f2f7225f6dec76ed90ca4dcf5a5527b44c9387e960590306686b7c89ea81efbf73f75815f620302047c435bb500683066023100b23f9a64ffc22ea32e5f01093139fa2ceede05782052f295528befc12c5c98b2022428ba8fdcda6852b7afaa00a68ab30231008bc7b74d410b62138b45f825e7fab9ec2697a6bedc40d66042c20f07eda83d39fc4c607dc9171c3481d2522cbdc1db990302047c435bb500683066023100c1b6f4b5d5df13954a32839748f1db58ed651dd484ad846b4c717bf509de6ae9a81a2a9e31915c5162ef8773ac201b04023100b507cabd62ef2cea5a52c739e7553471794813a66b72ff8cc4e6b81d6c6d301eaca668d59b600c4033ebab4ab57dbdbc0302047c435bb500683066023100ef6e18a1e6089917bcee4d8c394c0d9b383cb5424ed8639f6a896788bd5d1b26f3670e7cfc01af54edd123bd83682f2802310081b2b2d50bf47f8c56ad727f71517c068eab9b1f53d0d9c89f99808a0c7cc6cd6ced8af7570b82847af9f831cccb7eb10302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023100aa734b75ff5d9262104ec5881cb14c72e3f1de0404b728eb65796b94e51cc5f08f3683942727395e213a6c78e9e7e5a102303ddf88ee7cc077bb58ccd1af8e980b3cd144c75d69a4dbece9dc0a2ccacb908a841bc128511eba7eb06a27627020d5730302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500663064023013cffba74986c5eca51692770185b915dba73c9cd36b900138a1bcd72e0d3d3050d66b6bbbc2ed7712791648138f03d00230110094338ac1929e9204b60049f41ce89ead8102e5aa8969a0079cd6a092d022ee1558ffe839ea689021cc4020c7e14e0302047c435bb50066306402304c7147b5a1d1615c4d54f8ad9d9c9eac30c3c88073b36298061726b614a2bf20c770d1c0b526849f6625fe2d9e3d5b4e023051626a684db17e8b19bb84374dd846cb89c06bec2392bdc6465b2bae4788678b046fe22a8071689285b1aeaaaf3649ea0302047c435bb5006730650230291b8da896c4d433190aaad842033a39d771a06231ad9a1331e8e2664ba545a6b63bb9a4a2425d9e9d64e7d93d6b751f023100bd81fd901861c254d8329a418e8cffb587ad62506cc42de86b6bb694b9b79327b25cb7c1e4f31622989637620463d0c60302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500683066023100d8906ed95be34096d62f09e3fd19217e0874c5f8d4fd45b80bce8ec4a8be64059ca39a1c433985be83b90fe7b9cc6878023100b52954c13da693189f28edf0848c6487794cdcca2e9bbbe5f952323893de9956d01d98532b704365c1e68ac77208934d0302047c435bb500673065023100a67de3edc6b8629e6fb1dd90d9c90b47ea9dc03f97c1d1edb399b222082da1707a53cddf596ad3019d9cefc73a195b6102300273f2a66232c7596b72af75804bad7fb1ba3504e0b0a87eff1a4523b08dfa8d7a0fe2d01b49d85b6671ccde5e41eebf0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500683066023100dae04376195ca49498bbc0858e1075236fd7e697f5d3d19ac68cf53117d037bd5622029af08cfcb15d6457ace0dc3070023100ce7a593d0ea7fb8eaa9daffefa10dcfaca9b4dcfc0dc80ad569cf0d38096d10ecb14728887ef5f7a0805566440e0854e0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006730650230144851804ec1dc3bce38b86f8de92166c90c83916a23f583a91c70f65186debed5b90c5068faf6da78d5f82ce789d8c3023100b7fb4a812815afa4b99a56f8406bf24ae6b5c4fbf5a502fedd43763f45327c0209f1f107e5627d87b9205ad2aa6ec4f50302047c435bb5006630640230262b8cf9a83950e5a34e4e9e36cd5f4df4a749be03bb28ecfd42e73f1b4870ca49b708567e96ec92b6bd1648e8075df202306fbe7715d82b771e5c8eaf8ade4f2a46692defbbf6ce4a89e7e878f329926a9b2293a8d7bc71e65b6f93abb843083e1a0302047c435bb500683066023100d7528618be0006dda725e16f377d09edd7bd7640aa2a89bd61efafce2a6ff11669370e73fd31daf62de07aada79e307b023100ab001e349dc8c4aa8467208ab78e4c4020982ea98c032156f2f4c104d31c6a65d6f0c71df0ee9f01b3743f4c1e2327c20302047c435bb50067306502300db6e7473fc58b31fa508d33b9a52426835f48f271173be5bfcfe5b0cc57844ee7c3009447237b8ef376a679c98a437a0231009e91ae14e6563ec5059f05f5d399949a8a352f630ebcfe47d9746c3120375ef1c097664ce31acee8f11eec73775d3b750302047c435bb500673065023074051f3f32e4c4eecbb50573a6aa1ae6571a7c4fd3d0cb5b06b3656e30e7bb9617408fed7292d54931e8f6193832c90f023100c93153c8d7ca8027f761730f024d45ccff430c0b486f94b93d8dba1633edd64b99a74b0bd96ff0365223742148c00d450302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023100854bf542c8744da070d91d2f43d78c1cbf0a82b822b5bea19e0a302b994f2c67e78a3ab252ced41b26fe88b8ca88f6f402300da46c78093049abafd8f7c92bbf0221dfd9caadfc57f33520e418de8360640e03549e9c48646f0b0f312626e6ff2f010302047c435bb500673065023100c317fba656899cd6d384aee0e8b40a8454c6ec82b14fb2b7030ea74080b0c86031c1db08e7819624fe0ebbce520a33bd0230487a77f165f62119eace1b17caf4f31bbacdcddc4e0a0318a9787ac487511dd58e5c703cbcd6797a6999acc6ef34563c0302047c435bb5006830660231008a94b2dcf6f76db1877b523e4a10915cf70d651ba64725a26620410d8d63a829eebddce0b4f16840de705d21734c4b40023100ad206a03f57b672c2962fc97abefd6be256aa8abb4c12409d550411fc8b0a0018d8a8b3f3d1f192c85037e1744a8d7c50302047c435bb500663064023069bba69df87f5258066cca034fc23c467dfc436146800129708580af9515b9d4b350b7894146a911e4133940825269ea02305ff71d077dd87728391cb44ca9858b8476b3b9d181b3269d2646e3cbdf2cb4c64c9b5359bcbe85edf8c7c549541307430302047c435bb50067306502307b7c688294edac06c99851c459fe7ca1fea9c5e70a600b46d45693e035af0fae6c394f41c371556a2d73e8d22786e5bc023100ac632678841d0e8c0cd229f6645384af12271325e8a05eb64d19446023a7b30b564ffcfaeaacd3c2745cc9ca79acca8d0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500683066023100e9b41355956de2901da71a9ab29cb1ed0872ebfce10cc9d9d7e6acc3ddbf3da7db726b2d9a907c26f111c8def5c90b3a023100f0dfeada0e00394ade466157bb3d070b52d04feb5cc6b0892143089f43e6f4afb302e0eaf72b744afea7d9a5220beace0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231009318c171db4cdf26aac855cd544cdee71154b56fbaf6c541cea176b646977be79ce0342d0894df21fba54f3084be667c023100a75e03f7cb784b33806546dd4e0991de9e0d2b029ccd0485f08033fc6291a254e96e4101c6861929b96f2d5078d119150302047c435bb5006730650231008e9c031840df05a2e56f0beb3899a5131c7c375498db4eba25b8b8b51d064d827e828757982753bb7f48b4b18721ffb2023073346cd8337fc489abacb777e3823e2d4e37d0ce996788648c55a8fd93e9abc68f5911b746b872049fbdf219c283bd310302047c435bb500683066023100e1895032a6af8a99cac663f2c7dc93fadc20d766fe6e544d2fdfe2e9b11b722de1a77cc426cfa3175814bd69d39190c0023100cb77d1366911adea0ccc80a2e99237f4df4da7ab375e709973f415b51d1aaf234ce71eee740993a187d6dff99aa641cc0302047c435bb5006630640230626420b903db083bb064e395e90b824623cae93185d14ab9907f7e03298b42f6c36655795cfcf0f24666eb33e7aab9db02301a364960086acdeefe15e9b20e2a68389ae4ed3cce74e4bbe8c153cca7ce855e80887478c54f8752d52be4fa1b2bc4660302047c435bb500673065023100cf568edd2a967a5cb26a93a7b95e06c354d253ab2c425c7e4b3187cc9fa6d7d1b5f53a62f90ba636f6049cf3c3fe96ab02306ee51d21f0131ff43a436813f81188134da08b16eb65e19e264dda4c3ce2ab0767e5ae9ccc0fb17c0b2b8e7786b9835c0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006730650230281ba62af2a7faae290d44714a3ac81a039ef5f5a785a7de403ba75f44477d29b9c4526f5a799a714d74e9324770362d023100ebe0d8341005dc8a753ba6968bf951f2dcd9240f229123730621af01acbe8c728eb4c6e5969d16082c90f6fc0b2f60790302047c435bb5006730650230162586e3663fe2cfa1f30a56e4c7bb9751f12b46f623cac9a0fbf6f6b7cc14cc891740e074b3f13c526d859be95b2be0023100d437fc9fa97b7d63bd830aa78675f06df0475c740db8e3bcba46ca4b5e8c309d8b29f67b7db0968d4c4971be9ad33e7f0302047c435bb500663064023014b867128102102bebbe3207af191c8877532af312547ca294100579f24b57ce9e5e6daf1a65abf3fdbc33398f3d4bcf023048aae591143708cbace3d18f332e138f4de47cd43bfbfc8a3d6b176ca6db504076b3a572443601fba3df8e691efeb38e0302047c435bb500683066023100e572a69e8f8b29d44e5eec8e9027e0acf30c5f1c1a74723a0e52d51ba4a49b4159a955b16933a2710c248764a9dc424d023100ac3206d6e3f4e73136d91830fb8a955bfee9ad085d82cf26e633898a0f6256d9e0524b981cf8412498ace98b89ea1a690302047c435bb500683066023100eee93fce3fbbb9f5eadaf3dd14d494f19f4de5569fae358ad9ece2e7160f3d60c485d31579cf0f21b5d9e0c75df09565023100b934b080c62a82de4b119506c2570305de5df754b9290da65948afae9f95cf9402936b696cdc32a61b45e0f183a33c000302047c435bb50067306502307b25735c36510b1a4612e646f563f16ebd873c1c640a534fffe4d3c55be528fff43792b10510f3a9c7b42703b8feea41023100ecb33672722f6c66fb7b3defdbee56b69b564a75b4e48486c9778ab8db358f65568c7669a120d5b66eda5d93dfa437b00302047c435bb500683066023100e59baf9f1bc764e9965569c113d2e1d2213b321501206bf33f931075e7f1581753343485604454c5e16ed2747943ac78023100aa7fa708bb8408e5759522478207f2e2297363a3584b54aae05b9f7296017284f88c0349c1a39a2e018e0d66566236770302047c435bb500683066023100954a6d18b737b75968793ee9f28d1f619c1015aa3771ba56519936573a034e483c59a05f14d3c9d79bf29f5f69c8384a0231009d94d769709bf8f01abd24ca01a6a0062bbc83500845b739c159fa2292f8ff43d5a0d6b256969d5f1545d423eecd2eb70302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500663064023049774307483a7baa78572cd7c0ad8f16ccc6a9eb8d936a2950de26af9dcd264b23cf0b4d0e648d7640fca9b8d551535602303f780ee33a7931fec05570b982d99487e99f87fef2b96a34b7069bd64e2f66f73263e2e479822d8f5132628b740e7bab0302047c435bb500683066023100a4c8349f30188fa64ae66863ff363741e14278bad0f0f9eb093fca8b4813912d702c653fc5f80ef9849cc45a4f8a21680231009e7388668789e1b607a7d765158dac0187b98f4eb0dd15345e0af6934ffb33d4d2ef7853e255f7bdd170837dd512813e0302047c435bb50067306502303e84767693c43f3482500d0906c1ebbfec3b12809c59d1ab853e89d17026de1048a1e839870996277cccf0a735b988fb023100fddcc7770d26ae97ab45008c6574b004775a42e46d10995d36e4866bc9fa4c17259460f041c02f1676e787f4d64b16620302047c435bb5006730650231008c8129b51389ced9de90ccd23813935aa828c407ea7d7e28c0fc072cefe7747364fc41346495cf2ec78d20549d4f779902304e4d027acd1b84388a5118fea4947aab6af5c20b3e6c5cd5b76d08714e87bad72203ddd486da87ababb3d6ec5e7a6c7c0302047c435bb5006630640230319539ba79adcb6d2210b0219b3703177540dfb7519d63a393b6aaeb8199991079ecaafe087c611adee1aae3b2df4242023035f4a368126036af8adb1989f18385f65904a269eada7570c1881d89290e5c190fa32d523ab5f2897265eb45b3cc62e20302047c435bb5006730650231008241b543ab821dfa631aa65ab153699fd1a90cafefe9b7e21c78ab3fcff9f3cc84bf4960533b214f838886b1f044760402303a190234683a317e3120fad39b84379004d6f18cb55930efdb7c9c21dec74687756225e1d18c4f496fbc3a0b1252ed5b0302047c435bb500673065023100f81a1c4687c014c2e0d62497d8f11cf282f7b87d81d65cee08da703cd5072efdb7af66f29e870b6efddc97e1ed2772b202305a9981dee204be58e5198487fe5baeeefbdaaab7b8a7058c2fae658859191881fe2f142667a8f0075ed2031c6c27fa890302047c435bb500663064023026e5a1b8270cf5d65c31fce2201d839dab31313799f4a35a138d3f769cfe7fe13fe553066f1fc63c25f3dbd4e886327a02301e6926a61b67c654d7626543f91981dab7d8a08ce3e65765bc9555ac4bc26a0fec90e59926ec4011c4af467789543ebd0302047c435bb50067306502300acbe4ab17418ff3b3bc066d7f4d30994ffd5d177ad2b0065f7fa5875b09888d0368490f5d1d5fa9135bf09fc5f8c989023100f7c3a83835ff2eba6d459ed85f73102151d03f2f35c030ce4fc4c080a8b867f64845a66ad32aab438c620b83d50c03670302047c435bb500673065023030c6911454711bf20000d250fcc974529cf605d765b92a0f8e086f9448b2cdbad5afc092ab43daa975bfd870d87db216023100fb0d428d43290d59ceb7954cbb9a0faec2833f7e7bb49666b195250398bbfd8d87037d226aea039130bf574c0f1fbd8c0302047c435bb5006830660231009f7feee3e29045da1822a1cf56a5d9e5ecae2e21b8c1bc6c6dff1aa274e5d1f5739add5c629af2c1ebc93662636a4f80023100c1e0856e2998814fb9da87a4e3d14b184c3c85a41147d9d035db2fc7f4495a6a101ef76a6c0fe27b573706c2cb1902750302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023100d7226eb485db0acf59a5cb35ecfdf40b08f1a6c00fe4534a826320c73197bdeb1301ae571f06b2a22df4727fc5e8ef4902303e901f2c7c1c647ae25396c82b0e7cc0c691da56b321d159bca77046914463427deefb44f5e1cffe2421a04e04f5e02e0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50066306402301c851061636391c8d3ae601def0c56df4824c758fb752c5e9ab54debb24383840611fc9643aa475bac5ed6a2882c550402303fa3b249bdb16e03643f1e2d57faff7620917f3a0a57558ac71bd13574a848b17cb02bb8c7e68da78b0478f581771db00302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231009d8d46e658c505ec1299d68c83db4824e20ae9df1e5f3eb164edc5c012967983bc46fffb0495cea3c59dd58c56b6327f023100a209da60b17df822c2db4fee52ff72d41d8de8967d6d6780ab37fbbc035124c1ab980528f876a0e2de6fe1c2db5412ca0302047c435bb5006730650230402dc2ac1ff4d4a9a4f408961daab8e6472db5f87c386798351a1c3197faeab330c4f9fcfe28b7f77bab3e4ce099179a0231008262b473708bf29eb6a3759a3faebe2cc753f67edc8fcc8dbe4ebbbd0ad22de7fb7cf2f98d8a54c13517425f1d1b14ba0302047c435bb500663064023008affae277c77f9ac31e9bd571ec281cab792ec006e8a73f53db9ee3f3cfa74b85921beee30dc148edc5e5123a228b2a02304f974ee9f83717bdf651867fc752731a8b05e18bd59635302804f23eb54fd80517f0e87f1e427dd642d0b92795b9b0bf0302047c435bb5006830660231009b49039894e44ca448dac9b9e0531ae2252939dd0685ad98f34d48b8d76b480af343033542b6f121e390b939aa10f88b023100e652c0ce4931a174109c0606ac0776910643befe47b9af9068d85f512d91a6e87950bfc8f7fce297db7399361e5bec5a0302047c435bb5006730650231008f2f611c5dabec1c93e2b7fddb26b183581eb2f216049c56f768b67c06534a84e7a354caa6342f4e270cab672771e5df02306ff7c205840f196c435f30bb5be556dec0a16b8f45d7e7806bacf994a2ac1e797a2357bef9a19cf47922f9a4fc31c04c0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50066306402300248c381b2c289a622a738b2a15d852cf7e19bc8b3f1e35318141f25d47ba6cc777673314259af65bc4222ac70341a7a023050b118002e76295080872aa6c2c2ba6ad2a89b18d76c5413965f9f1f3fd59e8b692ad1957e410cb4107f17df98e656970302047c435bb500673065023100ab441e6009a8ecb6345b9d22112c8d85a2855fe412733c8a5646772d48ee7e7bffc8ca49dca851e7207f2594cd7dd11d023013484aa8ef951b4423ece41d3e1c5a71daa2ba37d35f26441860383d1eed00a52867880637a597254cb188fadab509580302047c435bb50067306502306e444c79c771a59d05c1f9bbdccadbebe72b961efa2c886665f1d37e77c0b42a7f80718e88b47f1168882fa3eebab4da023100a1c8f7cd87ea7975d106f740827284d2ef148f93e8411bf06b1d4aa955d9dc34594c179491ff28bf14b04e934ff41ae30302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006730650230419510c9fbfd2fb9f7389996f770c3b759127c5988a33ff4121c8b61be684bb758dd0808cf48243f5f0bee2202f7d5cc0231009ffab85ef8d647324cd5bf1d9d346177786d8adae5f65a98e048ef6ef5df2c6233dbe80529b2e74483f17dc1d569469c0302047c435bb5006830660231009ba22b4e1509bfa353a8192311809bc81bb0bb84cddcad0c63ce03c95e3b280ce4f4237437f1b1efdf9a7194866134f5023100f1ef4323cda4894b989d0f66cc30a5827e62a2c6e9acf75a00f0b21ac45851b992a5ffbb58b713a0c2f7ffa90018c9120302047c435bb500673065023100eb680f23a02dc815473c9bde2f40faa73c9b0f57db413ac3584611c14136e771a756e85e9c1b42a45984c62a0b7e5871023003133b5c65c53409fd439c49a1e1804c7fac8fc4910eaf6cb616ad71662c5ad9da8a259174903bc0b24fbaba16a8c6710302047c435bb5006630640230466721d9a58979e1bb2aec8a339e174bff8aea82b9a1a5391a8d8dcac63f9241b91cbf82d79d4ebb723c98452c902c53023035fab02a9907bfa1f9474cfa4129569a89907a3b5abeec6a75cdce3691dde4e68b8123f922b04f2abb60d1bfd4cd14250302047c435bb500683066023100e68dfb46213cf807190a048006381b8f2a969a4b8555fe85f4e049cf957f5d98d1346f5d72b4261825fb309bf6cb28660231009b86ebfd7a857c3f4eaaccd7fa0dbc07455e5de9cf6c158f1d9a1b51b49159d43980c7ea958dab514dc22cf180c315340302047c435bb5006730650230705379d466e4677102a1e6ca104a2832202cb04f3d05bcd7e76ccfd2bd60ba9e2e0ae7d8e503baab6c56bb7985ce1c37023100b00c3f6a11d2702756695d1adf4b78f7e25c90b5ecf04448095aa8ed93303a5702220dc34bcf79b6bb324e138c3ad2350302047c435bb5006630640230280768b291979b1c1cff4d05da453323fd8a773c3ae25386ece8ae7bdf99e88de9e2447e7d4b0afe3bb9e1570767881b023045a975e3ba90791de67818e1af6cc2f2166e0fd46f973f075107c95b4d6818b326f1d527f86fbe269aafb1b8fd62d4510302047c435bb500673065023100eba7dc2418e43da573de370affc3dce711cc60930d27f769f5ca2264e5d46dbb06d3d9d43363d1b01fa48161877abba6023006c17bdbc340582f0f4867d2affd1d251af386271e2545879107ecfba8a5f98e0fa8a38f81c5635592eeb9d1c97b17600302047c435bb50068306602310081e84b450529aea170574375780873f84a5981f596236550bc75c4cb05f5a84f21336933f082eeaf4caeec65a498dc76023100b2cf64380161b4188212a18ed9dffacad382285b62672a9970c596971221c9a26baabc17055a8eb344c96494af4a4a360302047c435bb500683066023100ebbefcf559f6dca4a95d698597fe8dc0bf766393ee46534662a24dd982b994b61dc11c1a80a4725d2f0c368dbc5012f2023100aee1f2a6801883d0cf93a5d8f7429cff6e2f1cece3604b58f7fb77b6ad21028ba78700fa1f57119531d19058f220d8700302047c435bb50066306402304031ab9f93be5f992bab428d8734d6f8df9818cab65cac1a768cb4b8e337b3faf0cbb43d9ba7d599cc5fe7fb772c51da023052a62cf62aa379da0661e82742457dd4895862ac5ebe9601f4e03efc21cc0a0bcf29155e662927ca96705da8373836c80302047c435bb50066306402306d3340f8aa37c38d288f45d47338c52849fca03cd3f40c18e5b3b4a0d0da2a87dd24f13fe958494e6a15e5d6c30ac86402300fe32537392ad5272b7f4877051d8765680b7ba3b130d315ab9d5a03e719ddb42440fb882f740f258ad2b860bc25a31a0302047c435bb500663064023043e366d5879c9a513690dfbd368f8a8de4bfe439a1792f1d386ab4ad84ce291fe2f54a648aa0f9d2be472c6e38c0319d023014428444eed8660a7936ee0ffeb5184e8926b2dca57f37b28dee023c7ca27c52fe2c0786b6e71c762990014d92b302fe0302047c435bb50066306402303ed5ad56adc13319078648ac16ee2d435681af5d4f41b424e7a8217cf156c17966ab96368d6910160df085561cac26cf0230332fc05143e77343d5f1f94682c95e96f5a79c375d0726d85273350317f693ec235b36b397988305ba3cbfb91999465a0302047c435bb5006730650230664568d444dbfc1d9c60897c1fb90964a4011519a9d16dc9fc34334ce282088cad4954ee5aabf9db4799bfc82d978139023100e88edd8e2d761a09f8ed070c2500f06837d63657e1b37c0e76a1c5180145e3d65547dc2831b8eb645d1427460f5b22660302047c435bb500663064023019983c8a135b78d2d52cfd5fe63c27145a8a1075207d4caf034bae4eb8caef27bb946bce3de62e579acc1b65d3c6205302301255471c7e1abc51e22d26c0a17511f92e2ad27cb913d0b347f69aa48c88c0deff6b84a8c1b583d40ff20bb61c8fcfcd0302047c435bb5006830660231009ed3b600d7f3c0c7d5ee0f4679a11ab452e7f86b620394bcd8209b613217272efca0b280fa8232eff0c4317c9085f29e02310097ce12bac88cbc5b91ea0d927f2a7d9085e24bbbf35da92529b655cb997169ed067a1d6ab2694ac9910daf8a766fc8cd0302047c435bb50067306502306b0694b2a9de3f3a16d80e7b26be46487f8a467e4c39333315c25f3b40e26b9ad79bbeef2436b0877fbb94adb7f40fda0231008c2d557898ba533632f0103b324cd75bfa894473743025d27e01ed13ec97ab2a8a3b5b91f608c0881fd2ba37084454880302047c435bb500663064023070e86ef4e2babf0711cb0ba893b911c9e2967030bdf4ccd5c8a6ab50be83dd69ecb684e4aef02abaa16f1589d79d9c7002301b1c8634fdce40bfd4b5e279a29b2bc1dab30f8710c6645a9194afd812197d181cb050141d7c1caa770b453b5a1481220302047c435bb500673065023100e611097e118aaa23b1da6b61b1f8b6b9c1e10a3be21fbbbb80b0b0f1a71868c5205d429b0a14969f3f97ad4a947ff6dd023075c9c6f02fd08ef3f1a5fa00644dab751e7ff08c57dae5b62530a62d1b6b9554df3f5cd679b87a11a2f8f21a4129d22d0302047c435bb500673065023100d52d9297dd2e6484dd39de80eb4bce2a1fda241d718d6f52cff5dd4f52ee13af9c9aa439fac63cf06ed9a8672f83553a023074167af952636aa95d13b8b82b88d4209ba183c069efe2d2aad2e0d75d1d5e36ad04aa51f21bf3b1342b2656afea0d660302047c435bb50067306502305ab528dcb0d306fb562745f0029762eefa05e012ae94a6c3b8848cb86b1b3d212eb5b4726544accc827f649ece1f756d023100d4cfb3ce425413966482c058b684f79bf46e6829c84e7307afac858b39a076b45e4769231d85e832445915fad85a733d0302047c435bb50067306502306adb185bd49db1cd6c767dd15f1d368dc1137205ce12287706af9a619331f6570bbeb76bb9abab99a82ffb1ccf58570d023100a885ea42726e6d11cfe937f9d31a207301218b80c201f27e2bd307beb426532c682ab5ce50273e52e27f1e98503e1d390302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500683066023100c8549bb780aa6e6654a642780d01cc3e5b19734535593da5343047b296c50ae1bb3286f5c0e786bc6260ee27d03f041a02310096759718cd63a9995bc5f2a9920b1cbb037022d554422cbd2d028aa9ef69fd04f6a029825048c3958b73a3b25fac04b70302047c435bb500673065023100c5d666656362700efa957f67c688bbf025a60608d95a2f378123f3d5dfebd2f6bcdda8dc6a43ae92a4e043aded8db70e02304706963c36ec964af35500be0a58383530874fab202916157dc25eb4f9c6f7c5bd5640a886de5251cb178f5f5c545d650302047c435bb500683066023100ec35ead970f788ca41574e27d6b38d4ab725583c576fb8e45580b90591b573e9b80e916a5f23e57a6212a562297a9576023100ad0bf8b44b2011e6d2a7d4da9ca632b09fd87076aa243e360d231f05f878f2cb31d1780aa3ee03b75d1f873a9aeb79df0302047c435bb50066306402300b61ec75c5da2720979646271ea7e03dd3cc5c99b9e50ff9e7771b8d73a64db890beeffdf6498932ae3478f7dec5e19002302437460848e08482c559969aa66388aaaf03020d7c5f05dc857a45813bc3f2b2ec106c396323eddf97e695afda09f9d50302047c435bb50067306502307307825c4f4d66b5a2d5a55b5c6a89df9015689e975427596904ff08265c9b0b36ee4d7c294f90061405d3f464e2eea3023100c89149c85e37fd60960ba404a1869ea0ea249b148ad1a626ec5fbde119b32aec0c71e048c4f9d8bd936aa038768dee290302047c435bb50066306402301229c5f66715dae0fa0b0379187b833c45a4d66594dd63c3adf9bd4ce4b6771bc03be9e305dc9f4bb448c463614f51b20230600dccf9c466fbdcf24f58e3edb3fe299c900162b4f291b922344f26489dc48fc95eba8240878d723bcc01e2d5fded170302047c435bb500663064023026ae08467101a46348836547b2e4cef64fa6df15cadb8ae075686ce344768969140504ee6bc2be172a429311e3e89a18023059ee017bb92c9a5d08fc4d67de49afcdcfbe57f06da219d2f257db75b2c9f28e2298749033036532a8f26decbeb3ed4d0302047c435bb500683066023100833764c0e2be11f87df093ec29a770d76c8af72090838834bca1198fc0ae1cde518744b1cafc9343f5d6f14bdf945f56023100a649ea247888bce8fb72415dfe5edc1ec91f3c44a174421f2250bf36428b3c120a7d2273a4dfd24f275e734f4e5aa7a00302047c435bb50066306402304d02cf621951c4e4c4595945ebef8ae693bd2cdbd712a33dba685051937d94218183727013cc07c22341c50cb4010d0902306e51fae171e9778f3dc4d258a3de946c079e3a59205c547c719cdddabb4c1fdff30e0d16a6505c90a3f776f61ea277cc0302047c435bb50066306402302245526c2703b8d7b357064b47cf55eef6212315e41c0d3c5fbcb2952f9a7d100ea13456f39fb38fb2cdcd2a1d6188a702307254cebdde1a8350bfc208591ec3435141de80391b60a235db29dff8a035412e4ca04d5dfbeb8d616b48e5db73401fa00302047c435bb500663064023020f46cea70985a4704ef22be4059343925d444056ecde5ef1bcc2babddfa8ac886e3153d47411e4426aea063b13e9b32023068ea1604a92fb73c1a610726d2e9e739839e29b64cf81f343f77981452512f0e79b64f30b7253d9bd7b6e3358f43cb020302047c435bb500673065023100ab94d25bd590e4d845c9508aab9165116b9a04e882b8c22c56b2bb1ad0ce8d36f4ed1f3e6ee5de361e647f26b8aa580a02301c4b18d840e8733abfaba0f416a7ff09f12a22fc7f498b7736c531fcf6ead9fe12af0218dfa9359b69860f2a608b5c8b0302047c435bb500663064023038f1725710434416f290362828f9e79b1c22fa2440f2fa47db8f2e0077b546139a9a63f68072a5c8e08c3b9f6db28dba02303e88f7ad7ee299bbcb35954ae04e172a6bc2e76ade637fdcbbb2430dc1d3202e90dfe2122627fb9c43f1b90a68662afb0302047c435bb500673065023100930c4340426f34be4faa39b1e84c5faf58d0ece8966c97bbe1dfddff133cdc91e0ea8018c5a03fb62bdc8376481781db0230415487be97ecbd688d58282d2d8ca477763b1d3b6069c499efc88490f5d02fe64892a76285af89f715cff3321b70cd360302047c435bb500683066023100aa5a466e525d9fb8106b405f8910523b2349844d25347ecc89be90dd3aa0fc99900718ed56b70585658e747cff2f13a5023100a258eb67bde46d4595cedaf6ece9ea064a11adf80ca331c33a3538da1c1c08f2da21e8eca5a3c87f3ec06d8c649dc63c0302047c435bb500673065023100e33fde290ba18152057f8f962347e08a69c2a626a656903d1947f4963971a97e21871d59e1002476356410f8355d88140230620bc5257cc46afdb6c831abd11c8fd27b738aaece57e4c283dd3cb3b2e0b372d72ff3fba62320b4961ffb726dbfcf270302047c435bb50067306502302d0366ef9a7ee87f4a12540e7f5adff3030db6018f2366c8eb4467bb7b87225fcac56aefc8690aeebc4c883bf917b019023100fe1b89a244a4a2779f542ec6036f0d3f36659aee234c7cd7309f6dd09ba0aa285649ebefa6170131ed75d0ed02ef38e00302047c435bb500663064023033d90a6dd7d4546813f7ff9c1e58dba30acea86dd5fb64a55f8a7aebe8729ec8f39539871bf652109b09bb37fbefa2f302306678e819f689bb0f77da49031ad7a495b8a8f8e9f15f4d0fbf46159f83d39730fa505550b84a73bcea6146a795be6e750302047c435bb50067306502306e5bce7db948295c6115f0b21b327e889ef78044a07aa7b0c9415610aab7c3e6c60f724c0a063944ba4054546cf0ae29023100bc435d6d217149ee559a76b4b12015802c475ecadd859e309893b66c2d232218c190af10834727e10dbf80f8a2fbee9c0302047c435bb500673065023100b6c9d733c292ef52b0088d5ecf3c51e814a6ae3ef15cde3ae23ded5b4b3d348cc646fdcbc6d4b79b4e79b66fcf13ca4502305af8086fe72880a0de9732dcb43dd1a9e0377c33005bb6afa664959d2694d4fe86d9bed1d296aa1352042591e903ef9d0302047c435bb500683066023100932b4606c971e78c602ea56d38e8dc9cb50e551121faa666bdf74d9ac3d869ddfc9c4cfea4bac1bd5704dd7ae72fda28023100cb5616b6550b4b1f8c61255a6145fd888da9c6180225b5678d09a5c080c9597ebac37733eb374e0ba0115ba4ffbc0a570302047c435bb500673065023001f64e538910a001d21246e1502f917d384e871156b07246b79acb09efe718bd27e60b42a55fbdb867976d5958e72599023100a4af4f73ed0adf60f1077d9e774a185e7c1ffa4e8743f3569402bf9fc8449c75f3d142c5642866e8da667a6b77b6dbb90302047c435bb500683066023100bc595c9d1865dad7be1471f837c7cddf9dd96b21e273f016ae275f178d4b7a41d3b8be9262b7136b52e31f8a48f8a59b0231009ff12d88b4fd9a59558bcaa38a61c4c8173f89fe6d64ae0efef723d320f24d481913d93b805ca2eaede6b16bf45d8d580302047c435bb500683066023100c167c23b61ce48540543088c18db54a076391014ed9ceca681613043ea4b84d9f9c2daf49906daf838612e538fe89af3023100beb618107f10c6abfbfbf7bcbbee832e5929a84975be3ba9a843f548103d84c6465b09d0d102528381c183d0d9f0bdca0302047c435bb500673065023100cfcb958b43d75e6519e59309cc8d1ead92ec623abb123aa771978321291db9c0ec15f8bc8688f8f7fd70fa39819c27ad02305b321ed4008e01d4c22fba56a0c3a5d5a9efd2d7233ae3b97fabea2a199c0302e031ebeb83c59aff29a80acfc10a6efa0302047c435bb5006630640230487d93ead27f1943bd194838af78c076b560f4a1192b8c7d3a1dc7558481f3ed46ebb02072f0054cc93f8fe2f89ecb7102305e6e309c9132cb9364328e3b9148ca5eb38fc4c594d4378ffc910fbfb44bf88612dff4d60a273227fadeb8572e3aa36d0302047c435bb500683066023100afa37777c8d0efdb17afdffbe7195b5bc93860ad86191bbd1ade3c3c6d43d400d970523cd4b6ac03d755d3b0eadbe08c023100e54be8a63a0c347c3840e5fb993275c4ea8fa2511bfc5a7f11bac470dc06d38c7a84923049da8786a440e3e0901611a30302047c435bb50066306402307aff696459459a19bf246b12ce8683a252441c3fcd30b3485956f99ff54e1d1a11ac73394adfed586d195012d94bace402301d5685fa99a0523ad6d3f3d6fdee33c89e46d93beef52726f3a13c913d901a243b019f7c9ff4322300b87f96965e26760302047c435bb500673065023100e45d4ab5fc68d969a9e998d7fe49ea69088b81e6c34200a05c81612908aef2cecc3c28a529fa9666d9f9a4c0a89a98f502305204eeb012c576409d3dc0764556e0ebb2ae45efdcdc2a811c641e6e396b33ede14988b141fa1b746f16fc88172cad2f0302047c435bb500683066023100e369eca7d988087b8474467037e117e0655a1bb1de70bb100489524dba4d6dde91b46fdb8b828323e4170fc0796388f40231009da7c5d4a99f2b2fcb5bddcea167809a03d7fd45a9086bf86173940ad6909d789b1f0270b7e51a0a6839f95420df08000302047c435bb50067306502310096e89b057d8ec8f95c6072118697172fa59ecdf5871cf9713819c295474db7acaccd2bb39fa245d65cce9ecd4648d26402307e17f853e98f7cf1f4237529d602fa4c38c200dbc3355a7e7c6e521da099d34aea339062445ff7f826a8667566a7fb300302047c435bb50067306502307a2ba68f0b2ae9c5f507ad820ebce38447247f87cfd8c1c3d029c938a03f416b06441ded980be0428cded9560e2ee95f023100f8864309f2ec398ccbb51cfceac22534e6d82533e60cc97c96515db36fe5ecff964394023278ded7e26897991009a1c20302047c435bb500683066023100ee68035b0c52becebce69c7541755ef16136521ce3d48b077a17d65cfafa8cf9cb892d6e945a98ce1b1baeda213cd712023100950ebd0157c4ba334a5f5ea4d8ddc163fe2814bc232682a03ecae7226cd10dfb676bd3b4e52788a5a303539b0f861db30302047c435bb500673065023023baa06ad519f30dea1885034889fbb8378f5628cafc3477f7854cb74074f9aed1063dc4a102e802298e5d4280d7f610023100ec905b18aa34e5fa66f2b3ead0d00719e71bdedd4a30eaa8d541d83f0dd41e4982fc2c5f31930d6d9a7cb454d1d133a60302047c435bb500683066023100ef3618b36a9dbdec0ea2c4bc631156b3743c23d455afd85a8b247d7757ec0c3a437776ee14d9321ede5aa5b014ae88ed023100e7de5fc83dc0bdb5160f5844d881024f7711ac3b7cf54037ade3483a11af95a6e2dd3cafafd772adeea34e750913cbe50302047c435bb500673065023100b8cd75e102208541f6f70dc2d1e1cdd179601a3c7e6e8cb70820fe1a1deed352d108e4eb50c00642392717317a4275b602301b9f57dfb221b3687d4350c220ca93313d6f8e996f27309eb94e3b70be84da7a212234f7da8deeabf33947f6dfc423e60302047c435bb50067306502307a2c656d490345ff732877d4285399f813e0e4ec88d6a440433bb61ee4ecfeee31cf96e836c87c93b478c76c7bbf515c023100dd2ec2c3498b7dc9b2a77a7acec342ad105bcdcb264ddc173908675e1e0a207f70a1082ab052b79c25129ca11102658c0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500663064023001623e3f1bc6fc9c10d354277e7bc663cbb0659ecc9fd8278311ac56ee02b80ac1bfd75b19c0eb9c709f77c451584161023007f8314feaf96b582a1ee05b9e3a32a3e0d0739b7c76388e56021d40ea422f3bbd9b26ddbfd0b027828dd3cf60d7736e0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500683066023100eae2312229f54061b766ccfc829879101fb75c502fbf4ed1441d8f9741643669f8221deae85bd5d63e61540d358b74dd023100a3dc7d475e8c033010579c827c06066cf328386ad351bb069cae4eade5768a5b5fd692f414d82f1bff52b3f0bb4bd5490302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500683066023100c8109eb2915b02ab678acbd4b51e42368f157301cf3ad10b92ca88098130ca34c3bc2d0ba1e1df0bd14e3fd3dfee887a0231009da9d95e1d17dc296200b8f7b5d1db00aeb5bb328d2ec1015f974ad9d49ce127dd5db504e16a9be4b2e08b97cb2802900302047c435bb50066306402304c936316061580591628792780c0d24584d4b9614e1dedc29dd6786340f52e470c57091149ae0b0b25da509e4c26e01402300d0b283445ba1d621013d59b50b916fee74d3434d3eaf979deff1662d9958682b08239d2174cf55e4497f14be43821170302047c435bb50066306402301685f774b74fb8cbf246c4db98589f707805dfbcc35c10185c30e4562c889cafe204d8ad04149ee2995ed8334cb59ad302306769bf2c78330d2e80db61af4662ea7f68d0df0786a526162d556b6c5859cac961637fe206fe0be282aff8137b09257f0302047c435bb500673065023100f535783eb88234d3d0c488be63597e69ee15d1b3e41121302277d22cc99347845860deb4ad5405c12f45f324ce89bb2202304e2e22cb8317adbf350b789c21a786aa0e4316dcfc0b666d71f54cacc6b32a9f355d676f5d446cf8344b46241b16665a0302047c435bb500683066023100de365eec254abebb1c120bcd6ce6f4c13ceb20823154b32b80583484502fd8fafe42a0c2de80c8b682e3a4921cc29399023100be78be4950b544d0fbc1104058e679fa5a0156f872efb69426f4fd672d66e89ecdbc347c623fbc2af7e327b45d8d02b80302047c435bb500673065023100ba0b8e2323f44adc2e869ea9116e36901636a535b6cea992c0f8cf5f2c8dbe327f54d346760b0c3774b8fc473200d51402307e4cca51871bead15f723e0db757e30a06af5b7c7fc92b2e06fd83b10568cc0dcf9c6306fc64d669798101425e6a00a90302047c435bb500663064023002b4131eb83dbbcb03cdbeec0096aa174463db996a5a1b1e83f5ae3ed94df57ff5c0f89138d0f0b0e681deb19e87896c023076b17aadd5bb9417827f3b9a935c6c674af4436963785c0e6a49930598807d642dd95f7f3768aab67b96c2457fcb836c0302047c435bb500673065023100974fc1d1a60d11cf94b0900b03dd7fc76cacc52cb4633f177044bcd728af08315fef7eb3a7dccddbd05e4ed2c2581f34023002ad28d6328014b5ca8162a93091afc04e6c8c1401c8d34b82a32e6357b2ddb12ea918fa7b320eee6f4522c13a9280220302047c435bb5006830660231009489b0fdbf649ae8b485655770269bde953561f138ec608f542abe7d15adcc8f48556e027a5f9cc77433ad60923704ae023100b2bb1761e0e0d454664beb24063af709a34472968ba43810ba26fea8e77ba6623c28a59fe7a7d9437e820e1287efa82f0302047c435bb50067306502310085a7b4a000812d5de02fc10ce28d0c7a1130eb54abb5094a5663b245a3b0f5daf0375e58421cf654fc936ba1ba45d94602304be5e2c25fd3e9291f3a771d9ea83081733924ad8a4f3f2b4ffb75dd51aca43fccc2f964d23cd98d8ff54c480e576f3f0302047c435bb5006830660231008c671a8e2eeca47d0e4fab33b4826b39c62ee24c6af0c4e870eed1731b44a3f1c102889976b2d8f52285a4f8e506835c0231008fb6dec0287ca279c5bda8e693da85fa57a208ad68c4b2d8dba8cf7dc1d075aed2f3ddd99e91243059625ce2bf837e5a0302047c435bb500683066023100a04d252506c4a8745aed647fbe20b2b010b695995c44e76a8560f3994c2d070b0ca7ffce68be5c8cb8a763ac8105c14702310081e3a803290e4b87585d669d05199ad2cd3f7aa694d09025c1c9d9493dc3b28c66372a21f66f4d2b9678d034b9dfa6f10302047c435bb500673065023039f26742cd1f6f2c39daca6e46cdacb410f9032673df9a7396cd7045b08b6d2c98f8bc02507d5aa2246e012120636981023100c7cc7e5a92319d61bb61fc7186eb425ce00cf2c75917ead9625f3d04c13aee63023b264e7b04cc20d96400d80a1fc8aa0302047c435bb50066306402307a85a8257fe14d85aa7ccc6ace5065639fed0119a428b9d0d7aca06e433ab6b8355456c0eb9ebf913f81fae2e47115b702307bac5f601320f8bc7e152c925ed6d332072ca552192d9ee5716bc21bf8c4213a370ea0045aec263405343cb12b515dc50302047c435bb500683066023100ecd0d4dfccad4a09dd906d25cf08af7f6679cad79ff96b7ab94a4be20d5e98c28b459b9fdf8294fc80dc559d34e8d92f0231009cf3bb098458788a1a5811771b96776fef962750276764fca9cbeae138db0ac9e7872902c43855b3c304aa2f34fc898d0302047c435bb50066306402307bf19fba097909ce4af105cf2a8a82b859e421a75b8f81b539563e46818bf07a5958f72496b74c6628eb6556529b2abd02306dce15f71a3d93940d83f7efe2dc30962e08a6605e5676f436a1ff9041fcaa22297ee2b190fa6f3346f7ffd177711a330302047c435bb5006730650231009a4faa87efd715bdd8d9b640048c2f7bba45c9fc90862ce5648bdc6966b29d0a257625509f1f2dc374cccad34396363302302ecedbad78d0afe6dfc7786448ebfb5974c21f2f12d3d9896b7991b072a9816dd9b945e73a6223a99b89a90c9ff891810302047c435bb50066306402302ba43743938dca8cbf6f140ecdf726efbdad118e335ceb13b73940100cf67750a06d3e45452b6ef237629b2d5dedccbd02303222c3d194ac6105c415be7ce0111950508fc203210907fa6b52956ea8f6626e20aea7b43435deb8200e7f7d2507e8890302047c435bb50067306502310091cb80d6be30bcdd8d8064f025eae08b50b8328a7cb2f3912d29fb29688b7a719008255952437fe9ab238166d3bda57f023047cc23af7f2da6b26ede73a72b4a97aca35480e482f94972d3670d7707c59d504fcc6e346e499bc40e7d22963b7b53b40302047c435bb500673065023100dcf061087e744cf03255bff412d6341d6b12f89bec8b8aa34f537180cfe33ea3e186216a65a8347152548055b1c5e594023067d978d5fe950e4bb51df75b36a33c99f37d4909998d4955086f7531b6493d10b0f6c4cb9a44ed83b68ee128c3c6e00e0302047c435bb500673065023100c544331810c1a416960ad4b988d33f3b4b51708c5465e15f2c0edf502770bcfe593972e26aca8a56ef16b8edd4414541023062d11200bf82819bd3e8b833d6d601c3f48eb3c2806f10afd04795c9f4d1d31547b69dce9aa23b49a5c52beb4045c6520302047c435bb500673065023011da2c8d0254f469581e11949ab8e63b921834e000e3aedc2901b50c13a8a5acb7af562a71395b8d717994641c496762023100b879812d78f469d8e3efcf2c691eb8bb89cdeb3055195dcf1646c4fddfb2d0c8ea49c8c050b316e0a6e931dc83a3d0ef0302047c435bb5006730650230012ee3f8dd0e6d2a4b59daab5a00825b9d773deebf4a89926fdd46d89d4e9b2c1bdc2f61c7d7ca8f2acc811aba1c4d36023100b7398057a3a5765eb9ff364099ae48fc84aa20b5a5e5c723aa1a8bbc39ed7a20c7af408850acfa3b92fafd2009c145980302047c435bb5006630640230549ed79551037e0a1c92673fb868acaf9dcce9aa036fab72307e293eab2f02ffe5ae9e366a0ad52267362ed7a3b68e3302304ab1f870883b33580ae671d4b8da7c47a3d42ab2f4525c475c9b611e787932c037c4aa009ea018f35f8e3f07d622cb8a0302047c435bb500683066023100fa428abd4fc7352d01c76554537adbefe29521a1a1e3dfeb4ce2f418b3a3fed658da9146dd872d14852194f1ba20879e023100eeef41f887ce2e00a187f458f34f04ce536523a8e31183e4fde4269106ea7a7948be9edbfd568953d309144ab13f3f8b0302047c435bb500683066023100d94599254926ea27dc0b05d182b7ed450b98b9b25530324ecfea905c9a20f0d4d7d63b7542700c2c744452cab86b83c10231008a5f12b83576422f49260a18d8f525eb47af89aa0706d76a067408c7959ddff5a5e27a4fd038c1d2ce6c8674834a48060302047c435bb50067306502301b62f6f3cb303acf91f4ae5e47e9d22953369d48f6594051c94be93428929a850351c5fd1c8850ce2460569816298fd40231009ab37670daf8dbca1b0b79322f6b35a42bdac9f2208f6215e04ffe7915a09330beb1074915c1c86764b8a57a8af28cfa0302047c435bb500663064023029b80a634c7398a002dce8d4011e14160977fec5062627fe07eb6bac5876b0ad3ca6e3c07f1386504b0694904018eaf902302ecab5fd9dd10641612a7248fefe4906e0d8debe9da36809f179a6bff89e0746b9c7223a92a6aaf5b294d52af750bacd0302047c435bb500673065023100b798ff2e0c8b72904b1bcef374782021e32d47744188d6e21f500a429ea0843f261d6f752f2c99a5a680f44b81546c9602304ba1c175d25ab84e06d4707a08131bbd8d0f22903d79942dd590b67fe2fb904982cc5a229d5436520749de4e7a938c170302047c435bb500683066023100e209cbc8946ec008aa940917e58bb736d906868fa2018bb8c132eb757db2b21984c7f6ed62ca7cad66c456798506b6b8023100c4842f23410a73de77d84af96d9e8f739754e98af546332dbad8cfec33e8b621d53591bef3528c9914cacfa221da05300302047c435bb500673065023061271746ec49265b85d73192c0bce92b4602c14b8991995cd0b482a5de64ee03b9d7db1a3b33abcb4a15aefa855035f5023100ab8ea0a64c37a2e49ef3cdbd9980442367fbe06933a2eb05bcfefe3bc67cd3425e312176b070f8d3580560c4378fe1470302047c435bb50067306502310081c662eb388f9788854cf91fdce18a63ae36b40fa31c1a716371d54b0dfb89987e1f328c6a79e43def586b678dc4fd99023048f48f41d818859223beb0a0b288cd6161820ed846d043df8eb24af7956b9352a977c409a571e6896a29b60a066071cb0302047c435bb500673065023100bc3b1eace54d6d298bf02af5ed983fbceaf405fd1a229486b78ab18064188f6013b87037a869d77aa6bedfad9d29bdbf02301b78bb34a29dd9b38af217ccb16dc6847f11874b2eeda0315ee6dc16a8372fba42d1c4d280da4439ee600b83838f2ef70302047c435bb5006830660231009a8ba8b6d0e8be97619413c708a670bc6d15f51176af24d08dfb7f8b71649c77d03d809347daa111f0d206dc09a508b5023100a11fd41ef57982f4d612431ad6cdf2d0e6ca833b0a066767e75301544581a3c417ff1f6958ace2234800b62c63330bd20302047c435bb50066306402305f7eac172f1a631708e9a61dc626715d9a4b464b96b49e51ce8370c957fde9484b9b524af0a7fc08433794a49bcea67302306754d2c53e4c81f05970f52f464ffb25d325f0db172852339862135c7eca2ecfb62a5991d93c47c1efb45b699c5c80de0302047c435bb500673065023100f16826c71c020714d23ac7e4286a3980283136b3c73f632d8b046eead4a401cc90e88011c85fc9641b9790839e24064f023031d1e94120d14f70235d05bca202dec0f45a73069d9d491c383164c550ecdfe50712fbde04adc63fafdb828e09b115a60302047c435bb500683066023100e9295db282721b6460d9ee4ba23fc2b8b109a9784b3da3922c77b85e49d0f2709d0fb18c347bdb1de1a5c3c2a8d0c3d4023100ec4fde6d3044ff522438de973eb836319c21f26086509b5f534fd7d7566b8cd9cc7327b8177e2dd64945ff1790cadb850302047c435bb500663064023012dc4175c2861634bc5c8b2ab67d22acd754b572d41e2916c538e2e7e99a32544218d68fc3f17ceab58f595c11527b6f023017b8fd991b4ed96c43182f6bb4585084600897602e8ecfabb527816016c39a4c9b0dd09d45862bee136b99105c46fd170302047c435bb500673065023100ca2b44f5514259232d7fe469f1daee7584afaa4e914049aed30d105c4e16b9245ba992cf7deb9991fcb736e0b0f2fb5f0230755bcb4fc18f496e688a32a39ca46af2920ec4bfdf9910e5b4cfdef933c17c9f1e768032721adc097d9d45632c6b2e2c0302047c435bb50067306502301d9be47b4fdb2d2fda896427c489980d9f987331130598bf2e863e8681311fc9718a3dce4eb3a7f64e73c68ef41ae561023100fbecc3b52216d95d36614538874ee0707a5242e400ea5236aa62498bc6dfb9f3e92934539ff04157d0ed86e1b72cb11a0302047c435bb500673065023057772646c1d57a7182e82c4d4771d2d67ddb984b07c8d003bde32bc5b02fcce0a8bbbe8732f5c60ed894d45efc695cd3023100d282b5cffca9ea57a7bd18a8e72bc8409fbb7c751824d921e80507adec36a1da3b4206d5727db24773435f28554851330302047c435bb500683066023100936f86962c6214af8b9df5e722a57c1fa6a5eb543f86a0b1cdb4f3a569eef77c3cc7e9cee377e01920427ffb80a5c258023100bdd0d0314d0b1ce9796f7c4b1d8ff2c466e4d3a228f8ecd92e94d0e20c5cc9d56ab2c05821ce8846e4f8974a98245aed0302047c435bb500673065023032cc1dd46d9e454a1c0a53b2ca5ad4ae2cba9ada6da822de246b7010b68c34b6f80eb04193016b4463b82e3b671bf43d023100de9bd25423d8622a54f3f3f6df623337910b02fb2375c70a0c51e7c7c1e027222c3f94c2dc14c851cd9b288c5b40bec90302047c435bb5006630640230315645b784ffb5ef1e029637340c94834387acb6835471c47eccc8a91b47bff5c9a3ab55a30314fab1771913c4c8954302307eadfac1b3fd515e48b3f23f08cef66da28c2e3db4196adb6062c051dd982c3ed76f95204bd37532dbad80cf5a0168600302047c435bb500673065023057445a31df5465b0654d32659bdb250e5a9f28de7155d2b87286bf7b69d7d4be5051b4c2b19fc11f894da6a6d56efb0b023100993f47f7fa4ba62e1570ca8f108fe72521b1439a901931c87d514c9474de5b13e013cb136f725f0bd3119acb3f75547f0302047c435bb500673065023022727ff838dec959e87229fa2de1f8d896aaddbfeced0af476b89c68553611d88a065a48d474d0228bdc442b6270e42802310095fc1996224dc7a4d85af7cf9da23ced8a4b49c8eef3e9d3f5ac81a32ba7ca8079119a4985d8e876739266b95211c56e0302047c435bb50066306402303c9954900efcf8be1daa722a3b3b75d253d6735ca94fa37fea1f1210ed4b96f2b0cda79805dd9def44863f461e666605023066d6013c7e217f7a8d5f8f74f8c411e77fffb99e6efaf26ea4266224ac5c7469d5020833637d1a44cf6c08fdb2e8be830302047c435bb5006830660231008d1309106ccc4ddef2bdf60fdaa57b202aa9751cc9d293cd9d9ded1c4c2b3628fd680b7e4b564501f064b80259329f8d023100b5b17239d008035312672c7f0c93feb93c83232022b6b4db2df1667d2e3a2aac31c595e7defe6603752b4f1c36e95bd60302047c435bb50067306502310088c318c98321770d13f6adb125c6b116987ee517520c6aa2bdfc966d14b631acc748cf7cd2161f9a5f17d0443229d1ff023049858278b23f9b180f579c892de478b1926e09a22413d70ae1e78c215fe7c42611c3c50d8cbbfa18542c8562822a86020302047c435bb500683066023100e8f12422796bbf50cf50572af872d8ece567ad1346d37ee640e06631c459769d1fb0770e449a37693b43f82ab9ada09602310093051a9187edcac1b64c92dffb2fa23e2bc1a35922dd29d6f8e59ada00ec9b839652675bb5cb9af810fe7056deb112620302047c435bb500663064023018427755d4f99fc329761a13a69ea2f5697befab302997ea700cd43d8efe5ae91da5fc80af833267e1ff6bd9c94be7b102304f9064142184ae46fe7f7217135a52c1f9254ff68be162b7d06feb217b4a2748cf9de51862a99508f91770f5b1165a1b0302047c435bb500663064023010be6efa282cdf5ef260e9f17e8972298257843a038932670d6f15ff3216a7511a28cc2bcb7299967b4da0020bc0dc86023051cb11a488ca908f40c33aa2b200a52ad7e91296ca81770ce01d241c0e2f81f69c9dc3ffc0c803988b6f0d5e364b77ff0302047c435bb5006630640230291055f041ad2327836f3e6ae898e81a89937bf3e633ec33a36b9238f39b0b171f7af10eb3614915acc809d0b800a538023047cfc3c031e9cda10644ade579a0dafab0a486b0a8317d5427711e6f42d11944f87ed7de5cfea3ee0f12d34c5bb910680302047c435bb500673065023054e6310ed5c9f1eb07da9694b7b297a5474a6ea084c52a09f9217d63e077b37e5d51daebf80adb0b2d0628deaff0363a023100df50dc6a92e7f6456d8ff9985dfdf2029bdeea63cb21b9d3f82c59e848334a9fc0e42d82550be95b6d27d17fb293b5b30302047c435bb50066306402300edd32a291e191a72d857abff4c34a58f29571c91949951fa50508859880e8ceffe3a6c4b7c8c3d7f190bab57da632f602307a2998e717195deccd7f332540bcd8103e5d7ce2485961d3d45a7d0f900dde99f97382dc6a63e311676e0c51c36ae6c40302047c435bb50066306402302b8a21a21a6f6973ae856e84e2490a2eafd425fd4ffb91bea3080df7260d9cd5da786f19b0ff7910c2d5bcf4d9faa14502305413b787b7494b46bde742b089da4827dcbeb6d5272d701b327f7f6ba7b3bbed1fe73b0123bdcf43138c91d1ba998a6b0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006730650231009b6b5310eb2a73f0486eb46c9c100d32ad91e35e415a7690dd300b5b12d751399e12104ea8879d6ee592a2877c101d6d023032b83cc009150e9f06dc3acaf508839888eea14a777930f49b2805af3c2f80115c164b77c90ef91411cfa09db8fa7f5e0302047c435bb500673065023100c23e258f632db7fac7e53843cd43a41b11d763b44d2780a25d0d93d152c1dbcad69de6ffaf2e2b0acc848b807c271e15023005d9674c11d19b163bdb0cfe01b7490e8b6389f8202d2139fa74f7da0e6083284d076dfbb9ccae47ae53ba47194ef6510302047c435bb5006630640230483c0b3f5e80a1756bdf25e8c92cee11cb2c064d34dfac0f50aa34af4ce97c76e22219aec3e918c3bd509f52ec37ef6302307b12f486edc5d957c32b9793886c50b2c423ae3f0ab8b524624d472f56bc8a603339edabb7a6610b402a6bd72d68c05f0302047c435bb50067306502302fb29766cdc1b033234a04c07818245e3f2a459290136b3b89ca145bac21d84599894314d2c489a3314d9c5b6112f53f023100d0847170f86875fd8226c13dc7328bd0847a3dad65298b682f16ea68c0527779215de601025ef6ccf5d8cba209eb39fe0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500683066023100e12cc9780bad9c5356ffeea763b01a923c947de263fd4ed75a03969c9e42cca25371ad6c3c4b3f4017b8b809ba1834be023100b9cb2a6b828edd4efa3a2b348336f662b0172ee5df551cf3b3528bfa3175e237800a2c99a0e3218f33109311bbb672910302047c435bb5006830660231008bad8a975b2cb9d7311fd5f9fef0a8140f569ac4ca3ea0c0ac7784e19f2ef0fbde3e7d0e216813e5cfcbbdf38220d4550231009deaa867e184d5bcf9e88f9ef746528411eb75dd2af28aa814328a069e841cea26d9e5f23b307e4fb1636e9cefd5d1300302047c435bb50067306502310089fd2764b17fa6a2326759424004dfcab1ce48d167280956b0c9328fec3bb7653496c3b910e3211760c41498fdc9a70502302aba235df94bdb9702f02a174b2cf89bcadc51517bd7ea591840f9eaf795c3c13b8c65f477910ede32755203f56edccb0302047c435bb5006730650231009aaa748419373e0db03562cd8d93e1ee4b3692398c462c046079d992a20735f8fd48b2a5a4e119e5334ef951519c3038023037cebe45458e0e9cf33acf2a5bb934d398de15e7b28097dcffb1f8c16f3a9bc38e2e0106c5e9ecbab571abcc89bf96bb0302047c435bb500683066023100f3b38fd9c00b1f64f21f569fa11781b5d64fb74f7543a8a7544030dd0df8a4d5420c49429ccb25c9341eefe08c1ea8c5023100866639d983d820dcac594ae2c772ca8154c4fe74af4d8c6f4e435c154024ad4cfbca291f1ed0c215a2067114f020975d0302047c435bb500673065023100890955b8b9ac530ad2806aed0bdfb6fd4a9db1986398d6ab8d72fff3e16fe62e3e9515d39fa7cc24d716228f72b44b5d02304ba7754e8707a4b1def144f8cad1fa6fc299cbaf3e850d45b9eca272c907319a6fc71cf669a97894d0074b3f21d61d850302047c435bb50066306402306bf05ac55db75756cf6c9c6a920b159e37bd24362f5ebc6b99e0aa8208064ca90a8de56ad57f15711c38e23716c53b7002306b9e919160d1a4dac967b00a611ff8aaaeb53f2ab252083ed931e64d82cd95b02f31615e0829cef42f5d7a1a13838a440302047c435bb5006730650231008cd56b38e3e2e9073d48864a53887d393863071e11ec77ef07afedf45f13eed54ee48e75842d06db2290c388dbf482fc023066f828334ce8c5ba078646c1cce8ccf6cb6dccae719e08bd9d452adf77a27a7144ba9e2e97dc918fb2a34ffc3fa26d9d0302047c435bb50066306402300547f3364c227798378e3b49ff0ef1f89ddbaec3db5e89653b5d13cf1d4bcc2d8ccbc953819212aa69b5835519d60d3702302d5afea10557f55edce42d34c9227433efda5259a61d2863e154d78f1eb8b401ca3ffd337100b8d37bfd004d88547df20302047c435bb5006730650230114dfcc8b311f5e154173feb8f8fc798f6c71800980ecdbadd3d66a7c84c827b3be924d9bbae0c3b04ad002ed77160b5023100adb3721cf148de75c4127b267850dfabbadd5cd8fef8e94fd74c0b03b57a1020b83ab9b8fc32db6912cc455418e32f800302047c435bb50066306402307471488f67a02eee813b38ce6d7fadce18f25aa60c16e21fd104046532ecea477881a99212d84310b965dcbe3b316f6302304e4a80f787817bbe0adc17dd6ee1a3aa9d4ea07d3f81b93e19d2b74baf8e67df668110ddc15a5bc73b8ab4daeea7c6110302047c435bb50067306502302c3d2ad433190d394974d770e6c7eb5a15d82b733e222e35bb17b9e27630485d447565b9289c53cfaac7fe18593a1c3d02310095f4c9817b43b6f7a33d37b15f96ff59f4fe15ba857393db23b2f8ec19f75161cc85f03a0c3b9069c88c715f1a61f9ba0302047c435bb500673065023100eace91c48d1eefeecd616afa2eaac9567618cff64c79c52baa8c72104f926b9ea212d15eb5c3a276d91862653726618202301d75664ef9b8dcfe71e4222148db9cb5f4bea31ec5256f8c9f160b634c15436f8f3d03116b4c387fd147d6e60ea78d900302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50066306402300ce6360697f023fc13348848d647dc66a722556c37db314b59bef24804139c240cac0c281364061c9eaf27089150c4390230443673c6767815d6df8ddb6c01c4c6aa644a8f459695e542471cf4530a33c93c1478167bf95b6503eaa6ad999ce95e520302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006730650230227634c42701928af05cadbabf340a77e632eb0a7ae52a4e25865420aa008fe3f0df2bb85a70bf84b48f73e2297c5a48023100fb310199d3ec99ec7db0342d43227cef793cf5b2213fb17acd52b868293bfbc2d8b64955899526cb0e95177a741555690302047c435bb50066306402306f96e227116af4be7e5afc88a3910d6ecead694449381988bda93c6a092e9fc7f1929d290602d4bae3879fee5767ce56023025d6557b0c0625d6e3bf73ec576844f02927a031656ef321edfc6dd7c01e5e5f69d0c09715f30762674f611bd864dc1e0302047c435bb50067306502307c1a157d06bbdab14baaba9e1b90226ef835e6e4a111262d7c12584b8628650e8e0cf2afdf2170bb326d3d7ec84f97420231009e0fcb4b2c309d3c7486550aedf87806291c243a17a78e9df378bebb3409fbe69c8c8971b37a6d5469550523b41484850302047c435bb5006730650230578b2a1483b53762a2fff5dfd28b47ec69377e7c75f7c52ecd4ab78191910ff33c065ad8a133f3e3e4e9fe6045ae66a1023100d0080a2b537182b67011f2d1f14e8bb36799b4627a198ff9d4eb5fc6a504ec3f6098efa5481c164a9e0142ac37801de40302047c435bb500673065023100c6e9443d868dd488e1edb51a1c4898a81a1b7af500dc89afd01b8e3ad49f3155d805e8db1a821909400f00e0ccadeae602303d5de62c87f787085c02110166777e606487beefd84c4559d4490a19aa0d1fcec2597b25c2ab4cbeeb732859c84e12440302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023029e9f7acbbaae43471d57bf5e688095ee05d1397cb56de148e400fbe49134efafad212117cf75944b5a9a447132cbd0c023100a6070f6c0dc5af3f38e7a6bc48539b35103cf81b515159748c78283b443a7336e1f14815df24a4df6006aa35eff3aae80302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50067306502307ed1c87e52bcdf9387176c517b29ee6ad2fbf7f79d626ed0b83f246049fed0c14ae37daacf95afd6e7417d2eadab0aa9023100d4efcca6dac71a29d9d863f5c18963d78d76a04279934a39d661c915bf5191bc5c5c7ec9fcc7fae754fa28b9d0cdb6b50302047c435bb50067306502301392d779eddcfaf2b7178e5394e4d51fcc58706a6e5031d44fd5c8ec34c88437664911a8d20a1cbfe0739bb08cbd63540231008914753c276b16a69665ae638035cf0074abfcb82349ff8f189aa2c2b8f91c1b0f94ae30906e3cb72e951522be1cfbea0302047c435bb5006730650231008d60494fdae73b58a0c166631ddcbed76d55eed498d09a5a51684d7a06a7a6f73fbe28fc7096aaf1788f9a770a77d201023001b463325d7bc41ac5e198964fb407ed22ec9e4f9047ee0baddd2e78eceb69f3f8a4cbf5c300bf14f90f1f1772e54c890302047c435bb500673065023100a63ae423dbb98b10e01c123335ab460ebc4fff993aacb50e3624479765f1cc328637f8ececfdee922b82eb2f9fa84c5f02305d658874a659794978204cfb90573b812c9e5480eb0c588c2110d2337562e9f687baade06e3d421082d42b0434560ce90302047c435bb500683066023100b1b49d8afedef8499b0970307dbb3ef0a94c2e54c2323edae928dbb377fd6c9863e76e89fa20532cd60bc46910072e51023100ad7f026e840f9a860b09abce3c5fdb34811a6b14153e5600f31bd44e63eca4223e6ff32fec976f442ba4e5953c1ae70a0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006730650231008ec066569de0e6b987c1dbe06c9cac409dce5ce10f2ec0a1a1a1ae350c816539ba649d2a63ee8c91d41ae979c20d35e102303afc938640da23b7d752a44228d5650b19f40d86b26f85ef8ecd867c5ae5b64ea756adf4b6db5eb8d0cd4204dbf18c610302047c435bb500683066023100948c3bb546adb95a3ae2b54995eea584d28bdc8e4a152c5f93854862b32d4f356670b9a5a45352fb95de542679ac86ac023100fc11dc54b1ea91f8332a11f7d16b9204fc468affccb67621a683a6865aa41d4f9ad507c19e860eea6c27d51c88c9367d0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500663064023075c3de360350a075b99acccb0410c9e902aa9e14d4b5c580872064885a4215b078036b3c5756dfe78bed0c08f5b7e82d02302296703cf0e747a529af8761224c5567c8357e2f9354d7b014625751787508b80a4c445027896e95a9f880284d99edbe0302047c435bb5006830660231009a55a0dd4ba0708368df8c141f5f9ea2fb5bd4f43828b3281d56064ed1c49688b4488f45f4dabd1c2930a49e31d20b25023100cc7b5561695efbe8a4a94673295834a42531636dffe764ab68600d6cb79d76813bdbf65b12a9fd3f51bdc04c826045f30302047c435bb50067306502306a879f78b252ef68a756ed4c12ef2d01656bda9059ff35c79dc973a77ccc00a90ec1917f168d7879ec36ba2ba0b03042023100a3106fbec089a482d873965961f2d7d804b73fe2043677d4266a94bddbe98e705dbce96a9d4b3fbd6a6982b68dfea5e00302047c435bb500673065023100fc057c4994151ff26a2d2c2eb40b253a6a57b704e227efb5cac0ed5618695b197dcdaacb1010b5aca2d7527443bdd92e0230020dad7effbeb73183edb8fcde9716f9aee57f2bc51ea36fd02e36450f88a47f64efcd1436c03f23246a4a1bbf5eec440302047c435bb500683066023100d6147c0fb9f8e9199c8a3fe54c89f295798fb8abdced09ed204bf63c3be31936457234f406279090d973600d11c1c46a023100eed046e899fe2b47ae11bb82e95b440ce7dbbe47cba96517d222a16fe9b912dfa7644472c91859de5ab95fe04a4f192b0302047c435bb500673065023100c449c07f27b69e3b5d123fd596495f7f13e26bb739ea74d3fc9dbab4523cec11eb0bdc0b046c3ac31165dd27d913db78023015b376eeb7787055700f3e833adfaae4793262176fc69df776d62df053a1cbc617c1eae85b6f7fb1b20396101ae6007f0302047c435bb500663064023059fbdfb1d09ca2b3ec252c7dfc7a900b47a7368255c3490781cbdfcf8e4cfd1eec7d64e73d33ed16f84a8469f078b235023046ceb563962b91b390ae80ed191ebd1d85c2d9128d7e7eb33b03fbcdb397548627d092d5b8ce281743cd465b90d3841b0302047c435bb50067306502306c21633aa9ca797a8b03fc055b1ecc23d2957530be1ac3d77245b81b463438f73cff2dcf76b2be5a7b0e999252941391023100b02f49b86fde3c8097d2bf5820c22662b3d5c418b80cbed8c050ff1eca2373c847073abff384600b4d1dd153d9000b840302047c435bb500683066023100a93a8e5a0cecd87fb57cb6aa62be48438470e6ac45e95466b6c58094b9c663247110e0ab46373616eab63a36d3fb4a3f023100f06e028e6b442d7af40e387347a01d71aa355508308505b17f259664065a88a68257615c9bb7c93290b20171da08a3da0302047c435bb500673065023100a7f7ce5243d4b13718f90868e2aa974c70478f71ecbd0b1d887386954a2821f672ab076831e129569d2c5541a14f846c02301bc159311b1b31cbaa6904814b7dbd9da0f915595ac99c35c015fc9d94ce686fede1abb6d77ec803141f342ddf9dec140302047c435bb50067306502305027a0895db89422dcc6069dcec636ee87b38deef1415d97c2d1069356ae26f888c116f0da279d5fa80d5e5f9a7c2433023100df3b2f24e79de17257d62708c4ff3d1b06896ef99b97bed7209fb04f7be64f4b9930718e041f6cf45be50538fd1e6a670302047c435bb500673065023100c5ade9b3d4b2a02fc8d2f3e1f18fcf9e83c1ce68ac80f2d29ef716763f7b92db394eae3bc0789f5a862553e8f66f190b023060f7b4b3713945f9ae3d3032b193aada23f473ab0645064c54a715f431e65cd4216e1964fa4434f74582a941d3fa03e10302047c435bb50067306502307387f9ba973a91be94a905ce372a6626152669d1376e1097f8f003b2172390dd8832d178af2b9c330c01dfa998e33e43023100b4599eb241c2012c898a1996b1c5b5806557325a9b0c8401deb563938b12c567c7fd105695beeb669a2d0a7326f2dfdc0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023100eee0d07ff24aa89c1b384d25812f6652b3c31238d22e1006a7aa10e84c75d39fb7dab631a3047a11a77ae5522ce633150230063cf048586401f8e6124420efee3b11c41dfd991fe17db4ca8487aab7183e3a57d74b1e38af0d0ce41446a853f8f76e0302047c435bb500683066023100e867ac07e272961c7fea6a513249423039971d582a6afba9b172a85064c0d9373afe602ffa399131cd6da8515833d7b7023100fc9ab428f74e8cc6b271db6644ff649d99d5e399ba08dcf341153e6345214a1d43888faa215a79347aa2e770f31c8baa0302047c435bb500673065023100f8cc9c3b7ed9c5d7c092796854cf1b76108d82a632b5dcc3c18282e274bff3ab37d205de33de9af52cdeec2c7a195b8c02307b81f9fa99959445ad306ac3f19cd488db410dff20a218780c30f005a152e9412572aecbd12951920cc2f4380d745c830302047c435bb5006730650231009ee023ae9b4ee4f5f30f30d6e6897ef0d24ad6c4366ec348ea44686c17418184c40850a0234109f0a93a640080bc289a0230631385108cc3ff0f31e08d4da329acb2a7719ce64e78f4dda67e710026a64e9790201490bf7e5659eede1734067d29310302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023035171b3320ee3170310f0a863561bbcd9e7c52796cbe315344abe54101a326395871633243ca44e57732408af5d48a45023100b9495a7a6288bced34538de01b174217cc23a0a8a8870590b45da9d21bbe742e1f35f04454d9625b48fbf8a6ad356f600302047c435bb5006730650231008a8d39775cf16094ffe50d6eef21b5daa48c0cf3fff1edf8b4d1c391e3b7396485915a5bee58ccebed90d86928837db802300b2f71fabbd940d9584592f6fccef6c6486aaa67338897e8e01ad8c902d6a2b6b1a4573eea13401e4753c26a24c328220302047c435bb500683066023100d0301fa2dbcacfc3ff879e370034ddd1c1769917d94639e78937fe74bb02aa5cf566f767b3747381d2fa9bc4c135ab2502310084985088592c16ec89a8b5d33e3d85ea833b7b692ea9c7f08917b97de83865b707b0470bdf5f1f8ae019081eb4c073730302047c435bb500673065023100edf3b8ed023aa0ca3881b0c46c06f266c686716332092fa3053eb836363f8a7201ec623657a00dc4da9b25571cca2ef602301868789a3c34fd844ef8d0f9fccee8c7404eaa0e02af3bcf29162b09de072b742ed1175e0679fc6fb86ca5ed1f90b26d0302047c435bb500673065023100a3e4e61221290fde39307f71d0331561dbdcb1829965c2b84a2bafdf7ae17a4c2a0e21b824b1516bee7a39e86b744b04023044815dee267e2a8d7509561e76c92cb54892641c6b7c2d9e98f303762edd278569bad7e0dc9831442cc667dc6f5302020302047c435bb500683066023100ead793c104f01cafcb15e07f3dfad39c2b30ee3e5e6b7b83a75bcc67a915074993a000cf75faf4ea74d1c3c722c7be20023100c84dbc416baa75f6fcd3eca6b740317d10f6993a7f3dcc6199ed59a4ff1dc68dd362063999e23fd8ec844811e9c092970302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50066306402300767b7a69f8b0e40eeb91f08a25ce86ba68e027ca38caf27440277a9b79af0b1c896bcb5a9995c2e66d33360f45cc4d30230271e8e521a7502dd285c2f4a60f016b9740635ce973b9eaf56aaafc21f256c39972fdbfbfadd3b45bf36eb6323d1b0e70302047c435bb500673065023100ae8df3cb969ac6e00a53fb4acc4e7294e994c4da912288166ddd23364198da27e1bc313f1670d17127be5658860ba452023050078b0606c481b49342eacfa7263cf883c4dbff2c67318bf3ef2760883e1577453e8d46ae48308d60eab00e49f183210302047c435bb500683066023100da77652f4108dd445257efc8362d9afaee7108edd6a71f5f079f763fa19b807f06d960de913f0f408839bd6d162f1016023100b4f21e3fcf13a2bdeff01914ba553aff8fd3a238767bfa2efe41fa303e19245b6884e79fec2ba6991b5f2766f95abe820302047c435bb500683066023100acdda9606d4846b94eff0c58318f4ae311b1337cc79bb438406a2164f5f6384f38317211548dedd150c70bd9833ac94f0231008644dabdaadcb82bc201ecd7378f77d836ef0765eab2c25ff033f0b49ddcc60852659871a0add1747a23d6fbce92bda10302047c435bb500673065023100bd311acfa5b06ffca25ef8d3d8561da21b6bbfb2672e2639886a79bfdce04794ad81da605295abe15c8330f19401ff4a0230442c47f2d641831ee612eb9e2bb7eb5b26da6aa51aa920259bbec1ad3a2a741fe9050be9abc5f6ffd37c07ac73b48b820302047c435bb500683066023100acbd335e9a619c2766cc7cb9c00146c50484cfddc10ab3d135f06dfa1e69ea89434b69a6d3409aab727c3ce593e97cb7023100f502c4abf574a7be91957b3b963a273571366c8ab292ca924405eff8c9d2554dfa6a7b96bc6a8441d278321446c48dcb0302047c435bb50067306502310083e4c1d63148bc3d7e54df793eed3f59696add1bfeabdcccf3af1535ec1c16c8872dd9c9f3e0e47e79a81d1b22befc1a0230238772920be8736de09a3e841dfba9d6a838be8852c559874f56aa5108b7c496286b145fc6451084e2bda600e93020900302047c435bb5006630640230047d197cfe05dfb1e93b0ec81c5631b244d94457523be199e384b2c9646378f6f6e71744742202ea97fc0b027cbe6732023028046b404d3de274b6224c0ee80edb2b496f1d2230e2da2dbd0b5b8d4ee8abd08959c0789bd9f4cb7faaa5e64ecea4eb0302047c435bb500663064023056dfcde726baf5848e059bfbd0f69dc94b52777e1cae0a610e4836c77551f2380e2dff5a2da617cc7914b7eff1a215c102300fbe34f4c62e2a1c1440a4460b1531b8c18d1c5551b618166b845d38ddffb263e35bb1030b94e58c346bfc3f4a5d03530302047c435bb500683066023100ce9cc1edad40bcee6e5cc109cbf972c3a624f491ef3daa917d39e09e1a37442b7db61d477fdb36850b32346a6fa6e57302310097dadd22470b8727bbb27c669c6e264825187db8ac5c45b1a7119ecd785881c75db59175d6b1696ff5793e97ec11defe0302047c435bb500673065023060ba328affdd938a4551f0da0e26891900eb9657d294e89f765e682001c2a37bdc6158f82285e5f7beb7edb1c2223a99023100b82aade09ffd0763bae4f9de9f9699353867608dd952048f10d3b3cf189ab796eeeaa1455cbf3e3077f44c68fa4145520302047c435bb500673065023005701193d0b715421d0d0a6d2eec03e4b1731d9d4897fa502457ffb3be4be90291f3950b1038c2fbfeae5c94684d0007023100cf9e34c5d5dec9a35f35e99dda0c9f701551d7e3e059ca57c462a352bc9fbeec5b66ddb7df0cd688bcb83ea3142a92d90302047c435bb500673065023100b8bd3cfa06a857c5d0fbfdd0af9b78054453a81fe77e0359ac08be0a83afdef383ddda7be0e50c1ef7c635b38715c9cb02305a4b00c43ae9023eba06d8594c2c68a60c4972150f279481bff693a3edd0b00d228d04c2d8dee455a68fad03423dd8580302047c435bb5006730650230337397c05b5bf9bc71e407388f1c798b1fd3c027e609e8a1f25e4a01c263b619a59915470715bcea59c7fcb8935f73a2023100b7d442fa2fe5b83176b8f8b6a2d67cb2e7f1dc9166fe71d27f1e234ba36e64aa29bf826b857d86eb302fe74cea9e703f0302047c435bb500683066023100fa87639280d0c6d17a10e5d06ae2cf2bae189320e0ed0979e7731e659a3d1b5e1b3a950727f37c9f29279d5fd9679b61023100f0b3e97b1c67d956e47572624f584d40708b8258d3d48e5d269ff6661edbd2e06aeeeb1afea0198d76d429f51c70bfbc0302047c435bb500683066023100ea89d8aee8405fe43b91aaa929e7dd3f0acaf841776676b93775a036c7f4106e7adbeaac794e56929006aff086629004023100d2ee18834dd5e6be48cfd555cff9d563f98857bed22a2dc03917feb95393d4f2dc2d3f61913c2208f631a3a13a1b7d0b0302047c435bb50066306402302c80603e51fde422e848c7bd7757c315a4c40ef09cf9fa29cb5d0332f673a152a41a9ae7f510e3f2940f8bd18015da8702304b1159130315e0a5273ef0224849f7db0b7de522f88bb2ba29ffbafb44e5afe6401bbd829710adc019c181b0b42307690302047c435bb500673065023035adcda38bd321d2c179b287c2e80f58b09aa05ed052dee5a62dd8156391aece56767c816506ec3b68b7e2a26cd1bfc5023100a552ec89238cd5cdb4b9fdf0aa014c14fd32223246228ae009f88b99121120db9648da29d1b17fa21d0ece32609b45a10302047c435bb5006730650231008d295f91b8bde2c3b4ea153aa6d9edafd6dbe75c28441da659d3f21373250556fdaaf101089d75f7d046d0427c4bcbb80230460a3c6e87f042c72cb9ddf5afc9bca6906a13728c41cd4aae14d4727ccccb0096de4deea1125f010aca46f1a94b89fc0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023100b9f9b509edf35829a1acd7bcd7da4235340488d070da564e626def9d9510ba73f934412b84862fe7189896b58109a868023069fa8411b741fe50b5b424258808f207b6e59ffba75b58be506b7a1d0ea3be5b4785d4ea2be33b0e50e28164186a10580302047c435bb50067306502303683bc2830193a0b8a7dbffc1149221ff4900bcd03ee727a70153f679ec01bc5ec355e34a11de7d1c85cbb8493d18b8e023100dab9785b411bbdb80186601caeac967816bf9a8f4c761cc854e3afe9f23a820ad418d26cf84c08f600cf31580debf5d60302047c435bb500683066023100f2eaa5401d2df8d4d4ee0c5c6a7ef824eb4e1b4177345827e26d1e860139cd32f87f2e8e8de33d6fc0f60c231813b639023100aae3e6f4708857cd47aed7afe82bfc8fae70fbbe824f6088cd07fafc1801a63907063a6c9665269f79cd32f1e12db05b0302047c435bb500673065023062da8b2d27972eefa5235db5a1ecfa9b17fc19cc69a0e7521c0bdc01251811aa8bff793d3dd83cb51d666a1603f748dd023100c3ae959106269ab0129281dd2296aaf6c40ef91b4dc5eb1823c25ad00cb76937975a6b219506459522f25ce1e3b1e9510302047c435bb500683066023100c5d06319fc4bd44857ef3ab8746e62cac774edae56e5ed6f5bd3576ff6bcd398fc5a548f7b191a63d2d10c04a0dbee2c023100c3c773fe59323f733d4d826a7291e41ec1fe8554a4e443982761dceaf6145a4074f95205682b68a26175706194ab848e0302047c435bb500673065023100c2fb4b5205e9a1dc0e9c518bd4381f44460df1e18e14e0f2434727dca85afcf51bd3e630526c909f999e2aff832255070230721ab5313f76df2282a2c35e4a4c2513a6d68eb45b5a2f078e7f8ad5eb9e5d6953c51221e967ed244ceadd7b54dafe370302047c435bb500663064023020fa9ab91a1cb0e8e02b4e48597177c7041746eea5c50a3cbc9c184e1c2ece9e8cd5c3fa2f06e59e4da60f9d777118fc02301f7b6690af824bc07825072fdd5b2d76d8e4f87a3b57bb796052233130373ca30667de55b4ac9d6d99e962123248ac6b0302047c435bb50067306502300c4e6b338e9ab53c7ab2f3dd3de70fbec7a9431abf05ddbc0e508e6ca338664099917cd28a4b150f767c5394cec2173b023100a5009f3c99e58db173c5069b79106da2abe61742f5b2bc9e82322097ba6ef47f16dfb2320954609f20a1f3fa3ca31d170302047c435bb50066306402303b219f0e11ece38bff68675d4783d5742348ba7678a205637c54b3acd5249d7958be6e1bdf65c665cc49211663ca359b023056acf6076173c2198e8a344fec4b4741509ed718f08402c466fa4280078b21597b7fa1055c8173de0a9f695b5dbb31090302047c435bb500673065023100e8c482d06bd9351576be810f3c64ad562c2cbaca651d444d8cbba4c2ceaf3451f94a70472bb5e7f6263f126562114de902307159390d6dfe724a85b303e5abd7b132784eb70096d3d0b886943c4fbba76413d3d6c000658826840f55bb6a6bd099030302047c435bb500683066023100bac9682a439cc2ac5bb95d8e4fc2dd8c3c2b5e748b570d727e657661efca27224cb85e2f0ff2345a60fa8a8925ac42c30231008bb03404a59dccc114c4066fc646c1a9dc10d8c0d22c5cee0db32bfadb97ce0dc8a29011a8f31f530e9a987ac7016e8d0302047c435bb5006630640230695afdb3230b48ee3cdf1cccfefde3a8a42c64e356d52d934e551690e52a79540e7a8cfe2287949a3306c1e9322cd12002301623302d3b51225de8ad25cfbade7aaa2fb500b827ab6b2bb2cda67d70856a205fed15a30c32dddaac6d7be3af8b0d090302047c435bb5006730650230370e0a6118e176b8aea8974b8bcf4ac5fda67dafbe704a625990144069c60acb9e36d740353e69ec3b2750c6ab6487cd023100fbb6fd44d5b92f3b0ab33be9072e4d98dc2589b8c3fa13fe34b74c373a809bcf0110591392bef9af59d2434a14d7653c0302047c435bb5006630640230405c2c15ddb0e4e22fa798e69e1feac4380c1151953ae2d7e94fe2fd8766d7ad4e4ab7d115a8fbf9a78de6918f328586023007c041f0e534e05a4ec03f18d47fbbbfe6cb4ba2587c9305e1518492ca31c486e297feafdeb424f4ad3227e7a60bf9c90302047c435bb500663064023029861ff70a8ce2afd8bea119d64e00215e095fdcb6117b7efe7f959df7881061e44b5b8db87b5c3601f550a249a2f531023000b77cf394bcd7761e1fd64ec5ba62ae977d42a109169d45e0a1cd3a64789b8d2e80d68399f488feff65a2a6fef34bad0302047c435bb50066306402307249831f7e6e958a13866d190de5d90d5d508a037e7a224225fa21c9d8f86c398529a85c7ea4e5c6ca5f09a8c8ada534023034f74d742216ce82f4f6be6482b42ccafba354525d4e91d71f9c54dac14b0f6dd742a2b7d6bca2ca92698d79e12f47420302047c435bb50067306502302828daee4867c1b616cb1d79be0fb7fc301effddf31d6ff7cea41fc878e61ddc4bca860e9b0608e5c6119bed5a3062a3023100ac3268cd088055770eca3a8f77ab289c3a8e078e99342451deb82c4b5b89bac3c8ca69520a986c9b15227dee8777aa330302047c435bb500673065023100b9468f84ec53b535dbad05d16c97546450a3b304bef8d64c756a2666cb862e82899fabb8737ba3d8650fd0d51829fb65023049430eb49ee5e67718846fcc569b95663211de98192ea2c0cd32bda20c24c69db4c4a4d02b78845ca7355a037caca9da0302047c435bb500663064023023c7ab927fae26645062e9d32f5db9fe230b5366151f8cd50af26069e5f87c38dfbc00aec2553f54c0897c59629aa783023004674ce45e090b1b21ebe3f60dc7864de8a8f02ce1ff56feb492a33ba099b279958910bfbc5224af9721c14dd76dc6c00302047c435bb50067306502306c9a8f4eaea38ee418bca7525cb19158fb138743c77ac535e205f49a29fe5ee1ddede8f5b561ddb225490e7b15dcc5cd0231009012c4591e86be926627c06faf1d8a89f66ba74f32f358d36f59a22e85f815ec544984fc6ee68483f9afdb78d20460e50302047c435bb50067306502307b7a023c075ba18a6c57e514ae78d9dbaaf19234983a383a929eaa7637047e39d0fd290285b9411dbd143913ef59e490023100c93c400ef8e3580fde011f4f83db1ebd8155ab84f9274636b069aef703eefc43a72fd283aef5db0c29ecfb4aef8a05090302047c435bb500683066023100d04630df47a8e93ed7a3f550c29f9f97e635122aad58cfa0525a3904c37dcec1346512ba0919eb179e524add65360a0d023100b574f3ee0d4f39f8b18679d66157b30bae669ca285888eae91b9799430f1da0dcbac031d48f8c981e783a8dfd29208b10302047c435bb500673065023049b70d835a390d494586a0d3615a7673f531e5434abae0d588f1165487f98933649c9828df1f3edaa16c6decdb6347a3023100d489cfdb3908e74271a75031bff8330cf3170fe071becb2ba9100615ff3027b4cea0c5c3362c50f3eb6fa3ce425ae8650302047c435bb50066306402307827883666fb39d0ac80b65abf6415c82be9a5bd809d44c8fd5105ea032d7a00da73dffec71d17daac83405cc3e3e5b702304d826f769cdc01387bb7b07377eb45babbd6e9bfe9b48a7e430ecb149b1065b9b608f39d0e7306cc408b886e272767a40302047c435bb50068306602310090e3ce4ccd94fdc9b594d48562653379b227757097a0fa6f7550c7d156799668c584638ab134157a5addb9b12e822db2023100dd341af72b71df3c7cc369bc69cde21c4f07e32a8cfe8e21427777a727c9dd0fed7fef9375acc7b997671acdf9cefd750302047c435bb500673065023100b157b47462f4079910b07bc1064359866e53e34e4fa19c43954b7190ca9b58874288e0a653f499412fd53c576858bbd102305c5c7a831f41a4c49d3a1d2c4ceb7092cee1493ed068a6d4a199d5e3e90e2857296e43e24f7533462b156e23a860a62d0302047c435bb500683066023100ca26a61e32ee400640f57cdfe0e4415ad42ca07d9e1b6c6559140534cff0604229a87a9d74e1dd8cdad792404b82796f023100dc03a549fd955c650dba15f7a719e04245fa3c6cccf478f285c9848bbc1c25e5c80662c68eb6019f4d44f19abd3403520302047c435bb500683066023100f7274042ce78173fcf04db8282747becefa012b43907e564a94509ba7a90e616c1b16672ad5eaa3fa66b10fea3f0b86c023100c7045fcbbe3a205321d4507a594ce6a6842f1692efa23ac1f05284cbbb701e521578947c608de63051ed585724b13cb60302047c435bb50067306502303bc09501f845bfd3c1528877a0ff4f96c3acef9125a8652845e114c30f24d148f230c28f7d2b86da4975a0688320095702310093d06e6aa6f382d535142c6e8cd207d844f4a71cf131ff27a052cfc5f638bd92890f8bf2691214acef495ff08032213a0302047c435bb50066306402305e76196e6d1edf038acc4f6e5de065c0fd33af3c22694cce87fbd90b2302b1550ea0ee05187cd691d3176eeb741a920b023073b0874d8626bc9dec432c796da187ab6d92f1cdd347312c8ae9772b184e515aad9a4d292c84af13ac191f81ffff18050302047c435bb50068306602310085fb881ed19577c7e317bfc5704f97bba2b50e34a03b045056d570c055292a09b6760e6eb3b268407fa817f25728e727023100c6137a740be3e68ae87e86aaad3cc0cf66cf07adf6dca1e053be126108dd59c5bb2182ed3c39381f4bc0bc8977bc1a1f0302047c435bb500683066023100ac0a4afaf58ee3c252023cb76f5f70a9c078b55f5018301359fced6cad73c872a125fd2b8e7330f7fd8bf004d6f69a51023100b10eb740c8b64a34931902b3d814f5cfcb74652d8b63e8eff8fb5e39f2db55e39bc9d14852d0282872c9c69323c0588f0302047c435bb500673065023100a91d20b76a2025cbfba820a55b07217bf9b45c930e0f6d2ea1fc08a0cd626a227c9554e63f235b19aae4f359e28b66b60230545ca7ec32f0fdf8f1f4a34895a8ad464ea94aef7b66af4e5b6c865b900f8ba5413b2a76f44a5a01d8c0738c55924ba90302047c435bb500663064023011e45016d0f1c828e969e8618544da32b39484fe238e878ea1134f1a6c9f88575c356c656236bb5c28a55dedc726b8e30230568d7526d081969db7b94f9b389e17b8224cc6cccbfe8d3a622f2f8f28c36dbf2083b3b362c9da1a24038a7c46c739440302047c435bb50067306502310096902e18cde9d03bffdb7be691be795192a54bca70805c531f3b53b2e4b64b70295cd781111fa3ce004bc383de97957b02302c16ac700656bde04a44f60eb9be1e189486261bd157467bcabe9ba9b2d7e3bc11b234f796ef073a135bfa9ddd797b4a0302047c435bb500683066023100ebc7076ae5060fd43b2e835cd88db228c03961cd5f1c643c0afd2c143a1a4f415ee0a12aa82ff8c1fad55d105de4621602310081aaa6ebcfa3b0ea87906326feb217369601c8a64dc47e4393f4cd20a7e815c13334f8c53b99ca58becac1292c3f9c610302047c435bb500683066023100d44ec6b5d7998ab81767c897f9809b86bb38e0d73bbbfa0c7cf0e8d6eb5d973a6bd4890858401ce53cd974c8c1c0bdc6023100e823cee8715ecc42702202c678576677578bad357cbb39752cba8bb5964abe2ea9724d8b5282bc2167b3f5a728ae2dce0302047c435bb500683066023100b5b8cb0c1c9d471401fa4a14e096346e032c1328bb19d84e591a5ab84ddcd2f5ed0ad15373a534c25b05a218ca7ef10f023100beda5add379b70cafa724dc529e725cb20db5fe028d61e184059d67000583a88f07e8938fb9ce672be1545f9e73d63450302047c435bb500683066023100933e30ed9ebad3bcec2310ef6c651014dcf2988f92b183cfd617482ff2ef01e38394462ec6674dabef2083a6bfe1ee78023100e3cee57de75c398f1124daf77ebf038777590b08eda689e8ba13bf11ecd6202f5b6cf771c1380ca21e78b001f90ff9a30302047c435bb500673065023060f093a6e66a04a4489e4ff036140bb7d5883d8afc9c24e78d1eb1f8cc8d0534d2c9b22090a57a0417f2c2533b484643023100dfa86e998cf75c976e3f8e7b62d96005279fce2a659b659ae7297f263b91c0da2681068ef14558c026debab81ac4152f0302047c435bb50067306502302e8819a6da7401438160bf2339c8e01ed04587da64d181ecc3f6c4fe58ed371ce969915f85d3e1516fa08b2d607b847a023100c5353a5e6122c036cfbbdbd67de21f4723f5fa612dbbf4e702dcfc089c143eb864881c53b656973882a6cdbd319bc0da0302047c435bb500673065023100d8f98d3e1aa2f93fab118f2eac7428846b458a3c06c9ff527e18a9edd64ad7453a13e565abf70ea302c99ebd6d08995f02304843b99fb202c28287e4cec98447d789ae2e04c5c282052b5a98ee546e03cb7de10f7126f645fbed9c98ef109291601f0302047c435bb500673065023100a732e7b10807c31d774ee1adc543905b85f9fb066454065045f5f544aa28102d362567e7860941eddf3065fa62cc1eed023025262972b50bc252d85b03c3f74a7943cb53e3e7a135d52cb0cd9b967f70fa8a00d7d1a8623a44cf3c1df2e3807ce4fa0302047c435bb500683066023100c5c98f35aad28ed57d885c1e735f1f3cab19f9b268c0c620045f776adb2c2cf9c01007905bee521ac389689a5572c580023100c3789c8cda39c81f540267f34e50bc8be3f0a0809b16c84e131afdf834cf8823724450a42a54735aea201cca72a5b8a30302047c435bb50066306402302ccb2ad38d0b043961afa9d53f26d50a3e8a66e73ce7a4f28a2b869c709f9bc9bdebf41a7456def62ba76c69b574d1aa023041e3cbcb2772cd75300c326e07aa170a3691167630adc0d9768413dbfeab8328b2eb8234c8ce140969cf1dd860746a3e0302047c435bb5006730650231009a725018d7efc8410f1e93fb05913510571d0bfa24f2fc1ca379e71b25adac7de9059e0424f30ab845b18c6e6dced45f02304bc261295ceb6307c164fa098bef002d5e830905f9cc1a4edfb2edf20822c20c255a8a42c17fb9dea43c64d0992dd7240302047c435bb5006730650230072fb2dba2a5494fe51b2132af8137235eb80f27921cccdd45190bcf2a921ab9f59aa7e9ee57c30ad4794b5d5137407002310086034f731c098d7fd27809f0361ccae07aaaf567c2fbd16ea17a89384bd3d85d599f33812c538d59e608c893de392a310302047c435bb500673065023070ee278e40539205da017df40247ddb09b1abdbf8ff79a0497f98e4b45a2d5167be3ee9c9a7355bf1ef410ec143e39a20231008fddb4a45a2f3273b54d0a4e9b297bb42d3b351fe58ffeccb34498bc3531b8266dd713e44eb7fb7eb361307f605e67f30302047c435bb500683066023100b8af8cab19d637021c8c1b698c48b62379cca9f5cc75a1cac329fc8e6c5ec1ea0b27a0115ad1cf3fd1feaa175a1f2649023100cbdcfc7f94101f032ae5fc58ca91a615fe1dac858e6c2d0c5b60203d344c6f818546b7f9da02780b37eff126ea9af4570302047c435bb500673065023100e7bae4343b5be2cfc3de2a3616e251ae66bc83a4cd3ee1d1526ace85b09b93af03c98fb6245bfce21abe18a13f94d03c0230202d781b66bde18fe87edcebba0ed7cc2410c7f35ff3f3f38829991a7c7597ce0a353fa992b72442001bc843c10890200302047c435bb500663064023003a89278c67f0c94f3700193cd62dd494f082640c617bfb16e6bc800b8674ac34aaca7212b7ec95239331bc12182451302302166b286ab84e18a44a1c83fbdf230af17b2d41e8eaa9b5a5cd69901a94cebcb03c10ffffe793522c741b5dd04e9f23f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023100dcc2a8f44155f793caaa5a623c74aa41185562563cc11fc35c2f76c33269b847d1fda1b621feceaf2070a3d25e39c78902300a39a704d4e8b29201be1af7a2e2bc08cb859e1950870b036df84504bd0bd64a838974a319d0a2b4f2cd5ac69630e8990302047c435bb5006730650230273beb891ca1675212852103d8259ed01313205af3f75415cfdb68bb3b4c969e2d86137901932dc2054b523689d0c0b80231008666415a0fff1370d6b6fba36eb22f00397c7337ff11bc2299e83f6de776efb6349ceec6d60f5b2dae7b7d68920e83da0302047c435bb500683066023100b40982f5ee44ea59b280ec8cba13649b2adf1832a96fbbac058247d43f9dd2d2b8b3beea749fcaaa8d2232405685e467023100a8f7ceaaea5eb8d4be6f297ec9484eed3e52392e635cc7c6f11a629abb236477068c61857e0951098dba4846bede36860302047c435bb500683066023100bcfdcdd5d115608225118992b1c61d63a9075469936b358fa4b91e634236decdbfc6b1174ac49cc8acb0377c70804fc1023100d24db103a6186afc11e8768438ea195289e62e465037c1d39ac1d4e09ae80ddaea998d28b1a1d912644471ee0f96b3d10302047c435bb500683066023100a449dcf4ee777214465ae7867c29224a3b4c0fdfbff81450f3377075a7136e92c19f357d2bedd764c4d63cf23128ffad023100912fea4acb6d3ea57435f318dc36cf8c26e5a800ec4acb30fb068ed1937d8eeb0720277be9110a1ad7d067d4ec32071e0302047c435bb50067306502310090d961adea8d09ec01f5060978a950b5a2c5a884b3fd45a1b690ad446b86bba43ee4c545cbfd4f080aa0308898841bec0230751c4719daa502a25b8e99a6da80ec58d44bb08f3b8a668248da631c6e218d0242699805883f229b70ed0cd5177f8abd0302047c435bb500673065023100b25d227c0dfa41abb8ab69fb5fb8885bbd4301b3b4e958077ff069ab6bf430c63cd52fdbeb5d4e58032ef4c2d0c7b159023061569f62fb291f0b8d703818836f854a9a8ad1de943448c1268d45c9ce41ac2cf7572c8e6f1098294360c673370b39be0302047c435bb50067306502310087cc85116bf28047b565abfdafee69e18c4c7699c49d8f0434eb3d728519f1b99d740b5ab71e85a25ca9ba06d1255d54023060e43b1e9033e9c0b79eada89a2cb1e22c30416e04037e1a8d1f41d349b7d298e13a3fad41a100052379d053ad9518330302047c435bb500663064023039714533a466891913ef02a1f4d9fe5f189baa2f9198c115d2375e55afa73220fd396af6dee23eaf683340e7632e4f41023033d1d015b11300841685a27b7ed0f9b9fc56bdbf06d79fc232862321af2b9ec298e2951c5243bb98a6de8330fc98de0f0302047c435bb50066306402304f2a3ecbff602dda8c53fc5c223dcd8485cd1d1c1a43df7af2e949a1bbb43da382f656bd90e63e303ec84cd7306621710230623bf4882a2c5b84c49069d6df181febe92a1dc9f0877e8fc8d54d60bbeb0518d6768d2d0c6ba4b17c068c30d082375d0302047c435bb500673065023100c7a1fb5c21d7a0050f2d7484ee0443785f2bbaf7160df99abc45a861bbcdd129342a04edefdf36ab2036f95abbff192a02304af462e499f9a3a41f96cf083805b716dbc5e944433c187e4bb384ea40b13f6530f69e731a53b0a8e1c1a23f1867d2600302047c435bb500673065023055343e438ff6b7307bf87109e6eae8873318c3daeacea386aecf2eba86e3706d3961deff8380e6c7f74f679b60f94eb8023100b1ac8d9d0d28e6c126bc4f1c26e64012d058590b33cb516ca388a334396736582c8961e4aa5fff4fee94b1b5bda97b210302047c435bb500673065023100a69d369c6791fbdd11e57cd40a30666c8547ee1933d58824c230796f088c4f54ec53d485c6a34a1b24f9a9125bdb260a023033be0a733c55378328949346ee426b8c80e900e437066e24f54f07eee9ea99929ec3ec2d6b8f2b4d25183687ddaa66500302047c435bb500683066023100c02059ce6fcdac1f994cff7007579a1c1ebf02ea650e791343bc7bca84c8da05f8eb2b7f5b0244fa4d4e915a553bb37f023100b9558cd28c93257f3ef176a117c7b291076d13a598ac3e15dec73b0b500146787252cc084a053c73fd1e015f1fb1b73a0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023100f9b92ba0ad8cb829d5586d324e683ace8dc346c53bc56d24974a3dbbf638bebd07f73616980d51278b29584652f29c6602301350b187c0ae281fd5546da479e1c06d615fe0ab89112fff28e952ef27ed2c2ef1ea07f13416aad3d5290e5e7fcd176a0302047c435bb500673065023100b998e9083bee7f348fa070b69925d99176470e0dbe61dfea4af94a9b4a041588f6fd1388a615aa93b625f24cae62948702304d35a59e4173409e8c6a95abc6ad5e10d0035e82ecef0d7c9836e787ad3a747cefa1b36d6f68eaf2aad9f81b80dac2590302047c435bb500673065023073ad9b1198162613a9af23a10990addd31fc3e72748dedaef5ebee4e928bd2cfe7a7a36347da444b6d928063fb1535dd023100a52904a95479fe1abb61ba41e6693f308a35f5e450dabf8755de438680b51f6043f1001111c1a27d4e3a9a7b170468e30302047c435bb500683066023100a98d34368e8bfdafd1b1afbeebf0e53b0fdc41308bfb58b305c3d8957740a4ab6d36f5dcef764a5ce750b49165b8353a023100ad94baf5f1df3b59e45db5381c96868b779a7896605fa74bb1617d210ab70c15747cce9a284e0f531b363578c8ccd0700302047c435bb5006630640230684c9c9d0ffd479712f8b0b8c9f403b91fcbb67ddb5598229f279825152b53f2788c00bb729f8e14556de3a38ef6e65502307b0b5e12d16d1e2f9aba3a422a06df7b86ad8cfd386635218410af99a5f260631cf4735472cb1c5504153a08daa9517c0302047c435bb5006830660231008a4f5e2475dc4dd3c09d442f939ee0ed56091d37ebbb68800af35bf97fc201dbfd2ea6c32dcf2f26ee33dc76001e43cb0231008ddad3bd8e7efb8b59f9b43cf4f2d0f9a52ed9c64aec5cee184904f4457033705091e87112a0906dd494b2c77d6ac1c00302047c435bb500673065023100bd6b1a5b2e6139cfe66c62cd2cf3a7084570668e6b14c2f755080798f2e3d4df256794610ebaff560e5337f1a397df300230645e1fa07583165690ad45353aa10cf3b4d8870c174a315c78e6c1d06b323098114404479d6c11c39aac973200dbfefd0302047c435bb50066306402307483168fd93752325a7a28eb046fb69b6e7ae45d618943558aa90a80bcf6c9f16ac204bd6ff0163aec4b38ec9fcb095902305228fa861e41127ea040c17df57b768d1de10a0c290ba29846b337cd12c399462a406a30049b923db9b900edcad3faa40302047c435bb5006630640230715927d7e3d6e2b404718fef2288282282e14ae82d815e5c6b47f6dd47223705e4fb81d443056c1d829cb9317dbe5c42023057d7adb06c1b8bd7e40a6be8c50e6679a0b80dd8b5e1181e4e4af14b6940da5fc58087fc718da905a1986c4f4a5ec8c00302047c435bb500673065023100b8b26bdd0c3a2aa4ff64e64a426e33712f0c0e74071db2474886e0b5fbcabef82e9c68e74431ba192de524f45870ef3f02300c7224631371984123a5fa22bc55282c4a9e89287eaa9bb76dfa1935df3807a1c78f8a4547bb28164d1bdff395c8d3bf0302047c435bb50067306502301653e878a72fc70ddc03e5af2fc4ec2f2e71ef8cd2d7323ec3495cbe6440a95b6119eb9ef11616ad1589625159a2319c0231008f079a99759bbe85e90f16bcd2e8622fb174b03e9973951f725df0dc57510419a90ed5ce92a68a8b80b054c136b2c98a0302047c435bb500683066023100a7a5c223c9239e5f626690f9e87dfffdbf6411f6d0aa9dca0248d621d1addae6dfe0c51f9c76990eb4009a90731e4856023100e2d39121aace41e73d025b9b85860998a4258cd085de76f1296e110e238b9e2fb25fd74feae539232f055bd3679d16e40302047c435bb500683066023100b2f126bae95325c7f5a9ff475d5bc7ed8375ea080b7fce1043de1d36fc316fde02fa6fe68498e03c8832958ae873954b02310083a4f52d40d03b0bc50dc978d6b1a286345454a4bf3dd23c5c2d270abe4ae348849d99a9973429afcbe089adf4bb19200302047c435bb50067306502306debac9bc4945244720d8019a3027099de9f49b69ad87b633bde5bb445be3ce63bce5a3ff2aa1ee771f4c3fc49ba83de023100adf19de01db2bfdede2ecb76c3500513ea81b27a7281fbc71b54b553f540cfafe8030fff0d866c6dc824a62a5275ec630302047c435bb50066306402304c27a1772e5ebe2355279aacda4943d3b17077f6e3355e96a63672a1d7ff2a6f6d75a97c0aeaeec7064f896cc888c07402300df86bba4e52b9e94ad9b9714d72522c7d3ae16bcf79b5481b20c36b8a189163f1d51ca3208a21f06db87919e3e990400302047c435bb5006730650231008933c8ea2e337cd0b388ae1120a084df7bf021fa650e61077c992509a88b1440132279a6d6d736d2acd55c77962d2bbf0230793c58f03d9485491548faf55c375ed85fa9d4c218aa583a1ca94ffcd52594809c3e0523009baff8f8731a2ce9987c160302047c435bb500663064023068304c1d12e6c2d52e814b9ad8602cfa5412f571f1418470a3c9d928ddf6807249efb64d5165be628eaca65219594c2902303919e72486c93763c1565153475fdd0216a0a91ffa538f8ac4ff0bb40f4d32ead13370cf48c58ac9122696a4f015ed2e0302047c435bb500683066023100fb9d689fa650d767db978c9e8f8218a4448ea4def7d5858de0d3587db0d26ea5f1f2b3b632a4617ed276ce067b12bcdf023100990c233e0faab98379f413d1b6319d7ae870d0594fc5a4732dabceaf7eba1c79cafd99ee5b039bfd52a019329bb2d5210302047c435bb5006630640230351bde172ffd2914de8feefa8fbc6281626199fd0ca642135b291b3a07a3ee124bf262ab667fd37068d81ca5e78f23b502302e0aecea59ed5c7118e89a8d815e3ecee7674aec3046f1748ee868b8be27b08859a689bea315e2e472d3251f8cddde260302047c435bb500683066023100c6d2b59b2068a152326059996168afe5200109cc6a442eda4a5fb56fbea5f1a51ecf945a66f4822f6abc5cfe246a35fc023100888f6d63bb3e320919e244b2f69eac2230dedfcb07079531642284b98113600d86427d53b935fbe5146e25817d92bbd50302047c435bb5006730650230060577aa01460359f7f240c7afb270bcb8656ced9fdacecc131c0f19cf10997bcf8b216df294f2926abb327f2f065e0502310088e6f13d454e7fe8d2a0e637fed47724400a08087efaaf6338229ee4b8a7c43e002e6a8fff9df8a76366579b208e99dc0302047c435bb5006830660231009f51afc425ed2cb9a1e9b1530191cf0e268e2c398d00fdc38f40560773576e0bbd4a5512f0e5c610537ae482a9ae08d6023100fc086d2b1746bd76c25bb95f5c79481f12c551edf8a50bc14b5b756aa7bdfa76f19578df80b7ac8e5d7bee7f5fff25cb0302047c435bb500673065023065d48abef795f2b0c90c7889169eb3d64ad150ad1c4c44681c75ab5df3dc187cd4ad198154d54eab3fd465dcbd864029023100e75c0a11d1cab5ed6d5bbf0149370e7a1f71fbfe1ffd65b041ccf82cf31615eec65e8b449e8a40107d420e9a7399c14b0302047c435bb50066306402307ad96efe7b7b493c534ffe0e891cbb4b53d5e47a004d7ae99164f9d12f578bdc53dd8a41737d3c1ee02c6b6bef765f1a023025fa37a8f6ac9f993c0ba05c4560621983c6e248e5ff87aa8a9d9b873d8f654febd786e4d2d8d6be4ceb4a9f47e30e430302047c435bb500673065023100ccbe1568eb0b3c264a2ae08fc172feb6b4e41b30ac31a5e02e433baf5432aa6dc37e1492848d9cb609e2028543252d2a0230024296b7ebcc26e5e5d01c8f63c3e6112af57c5e9ea8b8b699a693ad33be5d193830cd5abf30a0563ca020465936478c0302047c435bb500673065023100a6ea715c6d0b5750f411e0d86d2c44ea81df644b8c7812d4e39edb52cde3b7e9499b0d4486e65dfdbbcf32577677531c0230107b337cd00c17fbbbf39b64810ebf9b551a19021a45b38a98f0c671badf5bdaefc1fe28511297bf0c15902c9f34d30c0302047c435bb50066306402303bc72bea8350a00849353e22474fe18989350525a56f656cd7b8f6ab491c0c537f6098fbef0abf21253eb881117257c402304ecf08aa1226747757a4ec253591e75621b8663a4a39c2d19c3ef01ba6b9d1d7d5b747139047a953303a1a0037b67fd10302047c435bb50067306502303aeb1ef8731284e665f2d48bea53f6ed2017bf2f3d488e4520c139101fca04457a5f4a6e82d9dd1a7bdd1d9af91024ee023100ab119d6320b02cc83cad22bf46965de903f3d95b05d9a3a821b30d19609ca5a891c534373883215502dea3ebe159d8300302047c435bb500683066023100bf5e0c8dcdd1dae8e92898a2e20544c3a28c9eaeb3ef4efc35a5cff56ca53ebf6f197b78baff75bb4610c0e716c48df4023100e125ec302bad836a9eec0fad96de3ba8428a2d2813682a1233af95fd225af63ee5ddb11eb904acf25f2467dc67b3424f0302047c435bb5006630640230062b6016e26d533e002caa9868c770adf0186da52823a479ed858c262d43a9665dd0b429befb95570eb82bdbde778d8402300c38a4b2a6e7770ebbfa9e1b945cac4dc8d7b21cd4b01e3bb8b8882926e655a8bf2990e87100f64fad06fa3f96acbd2b0302047c435bb5006630640230347aa9bfe6c721153c8bb01d164e99dab1dc05d69d28d7d32298776063da9ce1c053a4b1f362f8e8b482775efd8cd2f7023070d0908f11681336be974f9fb1933879d15826210784c198ff7ceab47e9d031bbf3448f2dbf4daee094841d32993d25d0302047c435bb500683066023100d1f6369d0fa749713a369fec9326ee793d2756e7de2325e8ab36bf9ec9ae02a19af99bbc9f5f4bb565f191fe15cad8260231008e68f8e2f0e7edcc4658010a3bd668300ac2ef49edb2d50ddeb08e207b3aa109cbdfc176cd2fbfc987fe9a152f239c590302047c435bb500683066023100b73cdda5d2ac775901a5b4805598e3a085acd6edf0d10a6040d1a3eedb8d66161a5d7813cc130f2c60d1569d652ec29c0231009fe3db595a41b5c2b25ea37531436a52d924caa357ef2491e5cfa55cf9ac3641f7331db1969f19dcbdbee4a8e55f20190302047c435bb5006730650231009c717cd0328fe55c059716df04f3644547adc3442417dfefa6c9ea37bd24bad5ad4df9d4f8d3b95af7129c4e4dc46648023025d0dcc35d84a80e54ec8739cedd2f148097f12ebdb97227fed6e1ad61c12388f422cd96160ce331289628c7f37032d20302047c435bb500673065023100d4af33712a2fa626ed5edd35c049fa3bd56f8ccd9ec2f1c5d15af05639f61c551b5e720a5000df389766cad9bd43eee502305e1ec56f57066d111ab4ea2c84dd7bba2675f77fe73e6e46ac64f1f7baefc8342d38ce37111aedf499d93d13e4c0642b0302047c435bb500673065023100de6ca861cbafd7086161b4f884ac5030c95197aeb05c231af226aff9239ee2dd96459e50c7d2fa752d928c4768ad45d902302c321a3b2f51ebdc6d12b596bb6feb742c0bf3369b654770c7ff2fc1e0c388310086d1be9e1fe8b85161be85bb26c9430302047c435bb500683066023100b3229ce7a66e5de07f6f0120c4ee339d572236edf5e3d1d83a8389722c48e2237afd58bd9ba7e3423982d34bca422aee023100835c620089844850e6cfc094a053a18b19c02d05bb41cef86ac4f3cbc1fe6ffc39f6e3fcf050e7c1c3f71fb0eec4bc0c0302047c435bb5006730650231008a49133c9287fed8297dbb5373427a693ae7b451e33cb345f832f02ae20abdca28ccf36d533a54aeb54d9a3ecb1d29b002305d02ba6b0a02dbfcd769faf11b2a007bd8bd5746662d1b8e00b68227c248a70be8dbfcee0c82b9f87b7128a61e8508020302047c435bb500683066023100e19ea60144d680d9b29a6552a7b9bd336cc2ee02c32534a8cff73e397f61860451e5acf33f934312bdf1c18d83302264023100e338a64b70d55c6c24ef2d2be7700533fe5604ec2125c10a7a18e3db2651ab0e77a4d4163f35f879ebd61398bea7abae0302047c435bb500673065023100fc5164842a04e04c684f36f5f9a12c988cc9dbeaec7a26000422b6b374421c5e22e215b10b352f17ff6b8330daf3ab6b0230331f0999ec59208ef73811c0b618388bc848bc88506c3ed7c5c0bd9ff43ec3e362086f2c166692dd39a8decafc16bcd80302047c435bb500683066023100cae561fb33db20fe4b92c475875f5e1d0b2c138bd89826a8c25daa4ee4a691f7821232f45e160d827d4eaf02dea571e6023100eacf36e062e8bc50ed0ea7712ebfe01bcae49d8bc14bf0e07f7d45979d610fb66b29fb1371dc29edf1a3ea79061c75430302047c435bb5006630640230369c5a45d63bb30522d7881f131333699b9275c8b468e1d2d2b44e451e21eeb0f9fb6c6cc9f705c47843c9dc9725e7ce023037fdf2420f2d5228ecea499b632a4dc47be5c521cc3b3d4e1da29edb9d8004411403ef4b2738284804d2122db0e6e4980302047c435bb50066306402304aa7ee6137592896aa02d6f1893c5f5f9af73c008416a91bb7e687a3eac8db0eec90ee486c1807c8d8cbeab690f15e110230149e9b37611ea8aabc1749f318806b58c1ba7cb0fc8a44708134c3810e568212986bddba89116d78888386e95e4a53d00302047c435bb50066306402300a8b3cacdf4812666b505754f898fdd14c0eab63eafacb11a338f1e03cac283210941739bdd702f77a0a285a3ff82dc10230351982c75f5e536f01a2a0724c22ab2b3c940f0ed04d95458fa2fcf73f5809878c6b603db300720cba2d5a6123796c5a0302047c435bb500673065023015bdf84777081cdebdbf91cab13042d024b8671538d7c36224464ec5c50820e138a30018c048ea55a83515804906416d023100d9c31d72d8aedc198c602c063d6cc0c7e9f4709ab11759ab883bb7e2d4555edafd8b403a4465cc95490f7dba08e817590302047c435bb50067306502304787b9254f163005b06dd872a8225483f6c421b2546aae879830319a88d14d12d17493756a951fc641b14dc31f99defd023100b713a89f4338047dd8d71a59aa9a458d1501cfd03e0f45f85e1d6609a7e9ab56da97869901048ed11f6fa3c8e3a220ce0302047c435bb500673065023100d4747f82ce8dbd143caa529c622830f49236356b46607daa6d7cb1b573ba7049bec86e4b03ffbd744b5ad9cc8f7de35e02301a9875feb45cb6e92307b9af21c66a771da3f5a2e987f2272f89430d16bcce3c555ebd106258ca3eb85f4fd0309144200302047c435bb500683066023100c97ed88f2e8d886acb0a5fe5a269ca7c24706b326756bb2d27e75f21dfd7670223235c13ae7b561c0271765cd55bef5a023100e24f912a67076f17ced1cb29c34b1780680839c10848b41dee73d1bc410366e4cf88e8f0f1867f7a719000db59182c6c0302047c435bb500663064023001e426f4feacdb9b8cc769944661512f43fabc9f57906276294607fc7d61036312d39e3b4664e393bdd8a6ba96fb83ea02301a0c29d7b292ba08b76f77420b3a11f1ac5fbfdc1f1374e670e3eac85b22caa147e413fd812be2f69ba8a2ac455922d70302047c435bb500663064023044bb604da0f80ef115c202ececdbca365ffe60916f565e407257913965227e0f10cd519a218553777aa57585d15ce60902307556bc8e57d4a17d046f125c2999f7ad5f8ced3505c6ea2d619dc605d228b03ddb4c658f0822b18b800ca3fa7fd6b25e0302047c435bb5006730650230295720cabcdbe4432dcc44734786d8c28464ae37de8f12c9ea53a99e272f1c274a906c485a3310ae21ccb68749057cdd023100d82727a3027e1832d09f2d05c3f5a0f51c87f42995a253e56c0bda06039adb3d7a4d0d891c0f72d33a809b46c2c951320302047c435bb500673065023068f3ab87356639174299af9f48616096121afd3d1906a72eb44dd1281b0bd6b8b2056f1211211693175c1c0dea8f75ac023100fd7c97ce58991ef986a9a38bb3042433a77fb605963c72a2d337737d25646ef4061dee48fcab46d32415c5e9dfcb9b7c0302047c435bb500673065023100f76a1edf5dd54da9b5ee6bf0429fb85ff4075c9fc75f5f63568aa3ca72fcff6e48043177b3f903dcc756e0e21653f010023043dfacdbc727f1e6be4ee575c33749dd6a5281f98f02bc1ee8dff1568dc3711acd5968ddcee64a753c3208e3dbff141e0302047c435bb500683066023100c4758c804d60e31a95b92658acef0e21a567c8915d92ccd80e34139452ac930b2ff7bf5c827760b97e72fbf3e5f310df023100acb302066c2a074fdf5374efd7ee3f4b88ab62c05d0f456611e8bf3539fbade9ffc21aa1968e745f63fa16b0923691f90302047c435bb500663064023072a568ec05bca04f861b72cea0a2ffb3ca5f1357bfc40c8d90f4f3789f0fe9d45b76a79ff17090997b14b373bb03855a0230789dcae38300dd0a9b679571fe54660780ded467411e635145e3bd5af37c123c96b18911cebec1ea3e295bdec2a2b3f20302047c435bb50068306602310084d3b03d0aae992da5b1675b4c8a5b508a435aa3ebf958143dfc02312d5c1d8f3163a306b076127c8b30478f50f9ace6023100ffa9dec27686192ca5e4a67c516f324d250f499e8954d85f144789aba67b059801e7f2bf611b2ee0b582f577f56673da0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50066306402307e13ca917650602e7ee716b982f04b99be7e500140f33de2778a608fdadf07b7c33c6d5b04ae9c2e5d9244cd7c000cd6023054ecd4ad87f86e88fcd14248e9499aa88b3165595974630db908fa4cf4710498c9474fa4be9be44655fb73f9e7778dc70302047c435bb500683066023100e87621682f4092546a2ad376b211d0336e5ed43a6cee2c7682361bbb224cb466ba85faa76f943e84bdd6403263cc6fe7023100b8567a52b6bafc2cd892974b64610800b057f413081b8c4de36d961675e73e096ea9ec4a15fa7d60b57dd63b25992fa30302047c435bb500673065023031c575deb71f6183f54163f9e7781dd1ff7456da51757f5b8e59f03c354427a9b8517f18307cc7f35f2b6429192090ac023100e916664765f8a9c2800a3fbf81ea0f6f57a13d1a19438e79c5d2d106d125e0615d6ae124d001b7ef656e5c14fa2ea7da0302047c435bb500683066023100a56d5f5b2ca7667a9fa74854e48dbea3e36ca3d419a0859019ec4f07d04d4fc5f4c6c017bb77dafcd06ec1d621cdbc290231009e369be5efb6b21445b9fb310db59953c8d6cb17a2fdf0962145a3a49a41aa319d9824777f8e502eb289f619ea40a28f0302047c435bb50066306402301ca95fe20576ad7516453d72a7b48929eea721f65facef052d250afb6e32f16da584cafdceb0f993dcea267d67a04a7d023001da82040c78b296a19b7121d493fde3254dbf9d6a9a3619d1ced6a9320e092b0630dea932fd55b54026090e2c0e23d30302047c435bb5006730650231009392cf34291a71a97f4c359782316924984ff39c5f98086a400202f4a1341434a719a32251366bd6b39521b319504288023042ba77b91b62d0c07298ae3bb626a2c9a9ead4e1357c274438562ceeef7a0eb34ffcc5cf25f733399385c883e9d97dd90302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50066306402304ac355c5450e8e2b7d001102ff9267c8929bb0fb0756a807314c8a62924ca5ef6592889a16929287048149bd33425177023037ac242c8d6ff4397e7ea816ecc9e83539ee952654a1be9d4b1b7348de17ecf88904a257d8c094e7af6f9ce31a5bacfa0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50067306502304e615bafae2611330479f5084479765712334ef1e14ef8b22fb9cc4dd83efa6aced9a2837b1f61859d7aadd10632fbe5023100b981306dcd9122077688a14557ffa95f5a3fe6db0ae655c358706ed25d119a5934d5c60ae2ac7dea2bb842ac2d2ce9310302047c435bb500673065023028004a7a9819a728dcbd55ee29c0528fcab240a054f941bd28789ec7cb593ee4e8cb34fabe68178146fea29fa962f207023100c62b91878fc351d522a156b671c1e011c8b8c6530650d72d440d7bfdd562107170c0fab680a9c86ca57699c034d8a0ce0302047c435bb500683066023100b53c078d73aca14c81fbd66809299ddff49c1fa39636e60a6a8b7173aae80297f1b8671d55f2940ea5dabcb3f5388dcd023100a7db8a275f8d3274425f972c357f394198a002b95c20c311acd6cc6d97cc1e57735a02ca0d63b8e8cd093efdc61544140302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006730650230317f9243aadfa29f7abd253c62c5897eb487a6314bf73f899fb6672d3ba92febfbe937bf736c8f85c8e75478ca32ac22023100e8e848abcc027390c72827d9785ced65f9ffc38dcb0abb3ab28a119e92aa7b4567fa3139fc722409ce519ba3cf36d13c0302047c435bb500663064023057824fdd64266327490bca88589b33ed4ef164d8b9362a7d86ffcf7925a4e014714d7b0e2764dc690f3d6f01d2e6391002303f700a89fd6957d4bc60536767bc99780e5105a2a3573c878d3b200a7d4e6106f225e2a79f3c1c37a7aeaf8aa62e20b10302047c435bb500663064023035b24b5dd30d08ea69387450f9efe1588e5ad74f6d5932b0a758e79f47e14c17c1500b8bc6514a83d68fd07a9bcad14902304d5a0831a01d91c82c9326451668855f8c58071afee2ec7ee19cd9548340f4abb11186c965677157a1fbf857a5f1f3670302047c435bb500683066023100897df7556db8921f9dcda436b284f38885b1207b0628dfe99b6e027982e89ff2d1861aea5224a55292544f53fa13e5ad023100ea680aaa6eeef8ad584dabe2c9aeefd320d54c6a4f9f8fa4a24902d78bfecb03c7920896d6d7e72772ef099211b6b65f0302047c435bb50067306502301bb2ef5272031e050ccdd5f87fafa688247325ab787b384dfb4f4cf7cd3a50bff75083fe5a6aac9e37695405dca4d99e023100b6c05252daac6171f42f85677901443626bdf5bd343931dc78f24934b792dead648a3a5bed6e5776daee38cbfd74fac40302047c435bb500663064023015d5728db8235701fdea0f5d67ae6a2880bcf81456299f66ce08de91ebf37e9b82a793d366d031865f71527c82ddfa3602301d7873abc0243c245412b91308b57c5a8830e92d291e995369b5153d7a77a367b4b867e4dabd21f6a0728b7f111b7b430302047c435bb50066306402303e16964e9a3f2919da41c65d0f10989f0e8b8d9700454f9027d00d664c9440539ecc539aef14eceee22e13f218baf42002307b7760ca8a527f5174a333bb162b436c491ebf4a3808556b90b1423c48ff45e68bcff28f819be38f481bab42e2dd16af0302047c435bb50067306502307905ef65c56cf68866a4d734e76e317a54a59a0ec0b81f41bf3ff4fdb210b93660b057b62a41761792237ca5077c036c023100be489cef33417a30fbdc632eb4923bd18ad2b26b5b803185853cd89d67b215e404707d33c0d4849d517efed7aae1b02b0302047c435bb5006730650230733aa044dd911a3b9d0b583b7e0ef4680f2ace072c8b50d05cd50756d431d212b7d0153c5c22cc04ced61bf0c3d9cf81023100e0cc84b58bd9276a0b1c4e6a3e1edab26f47cec57ff0856a685dc36f757def74a9037c1f62abd0b3fd804ad2ff52e3eb0302047c435bb500673065023100a79c81bd634b14f642c57f831742de4fbdcf350e33eaeb5e4ddffe98391895487456d320a9e736b96b8f71dfe05c78dd0230662acc2b7477940c87f41a705f179cf9639cce3c3475b39ac5cbfc97e2668cc25a25505da585c13c1c47f442ecce8ad70302047c435bb500673065023008e79f6fdaa11fe407ec8a36cfe36eda25af5c01577c1ce894d9d3181c614ec948daf637bbc65c9ea0b6bd57336090b7023100e4e0530a7cdc20346b1a4178d1a0ebfca1f1e833f65bec24843d22bb15c7edc593d89f61221028181d034f4e35e593440302047c435bb5006730650231009fb394ea0d5bd83a8ce25113c7e2cbdd843751621f0bebf50b9f325ef43a8a63ef58299ea47e682426a1706ba3cbe664023017e76d3582eb81d4c6389987a46c0bde12b014babbb1b5c18ac1b214357068bbb478cd8af00e370e1afe71fe81b47def0302047c435bb500683066023100e4a50940f9b90c72208975baeba01f35eb228753f4a5339a5516d2a455d58edae27a419d2b4ef33f4b43999e315e0b25023100cda12f04f27a545026fbd3a4b0fb25c69c1a73de2c810301901dad8e027ee6d37392f273a052daff89ca4841d6e0da230302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50066306402305d91ad59152b3897074fa027bcb9a937b5fb9a187f06a6ebf5da0b30324c501375e203e69ebf1848dcc2f221866b60e902303fb9200f83d67ef4a5431ae3ddd6ba115dae323ce5006610f6dd9b6ab3d497bf3198e9152769798f9b9e9eaa091b3fff0302047c435bb500673065023063292be9810d4bb9da3bc8658e239c853442eda1e9bc711cc8249cf1d4f5e06aad7112dca7bf711bd17c8bfa52e939320231009b940a11ae26eccb2eb5db9dcfb6654fa4960e44ccd4c830ae7b609ab2a982b696917da32218161f5e40747fba47bf710302047c435bb500683066023100b760368af30c8abb923e62689650573998856b94892f69e98394c0390145ec028ae2698f6aedca00134e6405f56c4f6c023100c8d4e3ae74e8ba71a148e7d29a2498bfefd1a11069af2cbf8a63e5581f50defaa76a643699ee7e8803689e1be68b48210302047c435bb500673065023100fa1788d390305483e0e54d3bb38cd63f155deb2fd0d0e6398d23577d0c1f4491bca114281aaeec0d077bfb484140a57902304d3bb8da6ba5cbcb1a7436758d7cd079b354a313a73dea1fe8439fc24b2144573d62431d8589b76247607c1882fd71ff0302047c435bb500673065023100d49a8c57a15facedbc3e544736d26f09cd4660fdd149cad70df418d0e5a326a273760428f2676cd6c6a4f000b17793f902300f2f1df73f0047b53a295b4cad2463ef31356b80ae78b27b8bb9f7fc1de38dc4bcf7ddca0e9f724c13a12cec1f895a6b0302047c435bb500673065023074ba5a84b51febc20de6bf0d471697f6c2ce7ccdf3cd8c4b9514841ef928bc0888b56e7053672769bb6f577f9342154c023100a06874c0075b281d97b3d5919f892787ccfbd96de983fd27c13b12ce329f693ba31a988ab3818b6feee5668dd60ff7090302047c435bb5006730650230196e279cb0c826a84cd16d4d195d645b4b5e4c32eea72a2d5c1b4f6baa8e47eaa3f31ffc5a541c521511ac79da2b2eca023100d82e2889d4d6ad829cad08b6088a4def61bb6d7e96ab68a20ce6b5ff434e47032ed332fa4ec88e29f44f606e7f695e190302047c435bb50066306402303733c86fe568f1ea8b5a53c53f66a7e28947cfe761b6cbf8eb8156f40ffad09e3d27984053e16626cbebd0e3451f62a0023012cbb15efc558bdb7ab1f9fd7716e81b620686ef48921f93f265f61302a91004a7cd3c4554713f4d94ef2685da5ce3d40302047c435bb500673065023100d17fed1638ad4c814886622e399985db733a6ea4d65bacd8a5e14338fe83142f715610dd2c6ecde370ad4144e659660302301f21724a24ebb54b983a9c7d66fbbf8d8825b17767f012b7ee5430bb5f010fb47d8474258abbcfaecec61699ff3ce4540302047c435bb5006630640230793f05d35048d1dc105676706ee1fea4712411ebdb7b2a36e6d44428d214b3675c2fe5166861f9496e71c742fa41f70702301ff52d23d04bb493f28f186361e899515b40fe2b769c6c48f9513730f3d744b46c213e0df02f1d0acbc8f3f54c60ebc00302047c435bb50067306502301c065c6e7ec0ce728bbc0f0ae9e66ba42827d190ad2f3ef1b490e6b8709a3ad5846e203ce785a36628293d2357484e46023100c919274af90b3d4d98afae6e822a7402cef8d1ee7eafd8f98ef1946d79f819b6765b230b04460c3aad94fe6bb00517610302047c435bb5006630640230746c2ff6d7b5884c909b55550566bd36fc87b971126c468aa737d43fb5e1e1301e46408e0c493c38c2c7c1dae5f1bfe502300e39cafd963e02f05652d53151518681eba573a5ce40a0026a52e80161e4198fa3bdd6a2c4747b0ae050ca3f5cac0f0e0302047c435bb5006730650230050782d9689645666de9bb6bfe8dc83dcd361c280feae97afc3735717a86a206024315dc32791870fd588efc6af27989023100e348894903bf28163612a34b39fd6e4cbe19ffe958d4a8cb2ef5ddac3a41772548f8957775812dfc076816ee5a058d3a0302047c435bb500673065023005c06cf92e1b114ed6b63f174eb4f1cd459b1dae3eec24e13cd6746f8e0449d46cc73d8ad876673e0023d826f898f50f023100daf178e8d790c4e0fb2b7692df9782b36485810c7b05c597e891086ce3a4c6d514e0d9538d4675932ef5875c6544c0200302047c435bb500663064023003ef93cb951512bba40dca06f9842201c01a90d13f4799eefe812655024329808f6b80ddb4bbc69576cc784dedcd36c00230023980381a4f2a7c88c1990c8e339b7f8740a07dd40fb8e49a88e893103685689f5213d8cf8c923a1978db63abcd0acf0302047c435bb500663064023072ace9cce1abccc846395627d18a9ecf376b56a0517c166f868fdee28740b1f9634175ea6787ccccad149300a3bc2f75023061b7e29aa0ad6e01ad49bd1882f9ae8baddd9903a1cee5fe73ac66ecd3ec1b790b5827c8fb3428e751b6e8c2233fe8530302047c435bb50067306502304238f16f234e3ded3b3b989427baf4c97f0b26dce6af1365dbc085bf4cdee006bc8299ecc67b9ff7a5a467b048e77cbc023100981559dc95003faa3591470583bfad58fa92f046436310f3f367564cf0e44773b7be810be7cf8655b64e80790f273d330302047c435bb500673065023100fb139b7ee847d3e0fea3bd4ad0e2777c42ae562e0d5a3646fcf0ef866766a11da33083df5766987463c14eed2da025db02302659b2df36bbb591ffacf4d177995b726df4f8ea7799216b2e2556aa35a3cb00dafeca1e8c114d171aec35c33c3d31a80302047c435bb500683066023100f3a591a319b297d8b101e21c5af51bec5fb49b13a94e2844191d40930d77faa5f05e81af4c3cbc1f82fa4ed9e7d01539023100dd005f0fbc2c90c10b56684cc8a4f55a550f423741948450552afc6afde6fe948bf83d217bf5543252cc0c687028900e0302047c435bb500673065023015f43cd49484e7eece40315a8f67c10b0e49881345f3df4fc35f9a033c998fb1bdcfdf5a32adc29015bf9e1bd3dadd5a023100aff72f2d3dadf0eb0c54b26511376f1abbe72b7c3c232ec42ebc4d962c571f9c647c982ad504621169a0535c14ea990f0302047c435bb5006630640230615061309960ea562e657534a4561dacedbd7a53b2ee5974b490da34db004e2d26dd3c47fb60a270d70dc3e874f7dc2e023038356c502906a7157db08b3fe18a644c7bb9b80f76269534ab0f49838ebbf368e03875f822dd1ab174247c54a0362dcc0302047c435bb5006630640230521b594de814eb1d9a284c871ea47f5701e084ffeab8270eb335d6efedd71c38456679f6335d7fa1615ac364cbd659820230058aae69768eae72de4f2b5302d995bd574afbc71e02627f3cdf10cffeca2a92b0a19bbc09fae5d63eb133f947ab8e650302047c435bb500683066023100829653652031901a0c21b2dbf6f5c51a1676d0c202bd05b0da31c1f4c7975308f0127adff7d71d6203e613ab65621e9d023100960f391fcd635baa220f8b41bb7f0a5ccf0aa4ed093e0fedf8263752e49e4ec6785d60746fa7d9b3529ea05d08071ebb0302047c435bb5006630640230012e1c2d9b22d91f6737a69d553b4d78238eba7d4bf2352124c814fda35c2fa86dd56bae0b62467d2de3a3c2db0bc0b502305cf72a5ad8f0f633150f5e30b0c8e5b03eab42a359a267c743ee9191ba788471bab130db0b5de8ff175865dec9994b850302047c435bb5006830660231009ccb0cf5a7537c2176f7af47f0d2766149d373fc145257406f247e7b56c7b55c85ce2f664ff8475b1f9a100061122532023100b51718ac684dfda3eb41ede6e1e1d7e6b626b32b53f9b795f43cb55edb98238fa690a583514282cb9ff4fa00a002eafb0302047c435bb5006630640230270ccc3f8bdca84828caa27569c97aa32c08c133eba60a28b078e3bb1c10c03e942b7b4a33ef1eb0f96af9a5bdae4a07023056831c3e06ec80cd7a3ac38b419ed86d3df4956b613a3e7928ee1408f6c0aba394efc4686c0c574fa3e2487763c8fe530302047c435bb500663064023016973514e23fbd3c760fe1478a0090248c197e439453250fb71ad6fa4ca6f268429151a84fa45359aad466732cdfdad902306d17570f48c36bbb92431bb8cb3765d6c2a4d133f28af0ea7191519e721c0e23829e832958120fa16ff814a00bcb933c0302047c435bb5006630640230505eb9d1f961a5b4ea85b5ca67751ef70fd8c661c2736302e703c1a545a4f9635b5eac9e18d287b2bece89044d52992e02306b0bebfa4e12af2b1f4e66f7424e7b9887126f663d77b7173a763a598b2571b5a2706900d56873a0dee8c6dbdb1109bf0302047c435bb5006730650230435b72f585468e35622a2e9ffac44ebf0cc3d9f856a8da984c1178d5b79d5ff417c060045439d68935c6755080a79f3a0231008e4050b531274d2041b9d29ab1063540342ec7adfdef845416fa361ff2221b56639acde347003449da6868ccf8f1e4310302047c435bb50066306402304deaa51065c91436a027c9a84683cbfb4657ec3fc594e4f389f843e85b840641dc7fdb6f4fea27615094534ffbc7a128023004d7a291d39a0da09891c3302ca0a14c4dcbad067d492b15b3aa0d73a43403866847aea62521e13457ff38d0312701110302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50067306502302508d82681ac8765c10d9cb89c05a9644e35220924aaf6dc76f17919af3751381334034ab1a7d817553495cd69bd6f2a023100fa86cbace634d29cc82770b06e5e4ca5b40b30bd27ca91110816dfac2fa66af69b5c4162a9c8a53be5643bd9903638b10302047c435bb50067306502306187c08aa0a6ced995d48a776340b7ca3bd2a455bbcb60d42750ff2805926e6ea59abf934c48d51fb4a0d320fa1d02e20231008f6a41cad22295ca46b6ee3afe162b4f5557a144011980a236cea3fcb9e296d30ad459071426d95eac314179749820ec0302047c435bb500683066023100b0c2a67e36a5e00c76aa0f076e5640677db050da1aaa45a823f5ccd2b0516a571a70b6f444b0894dd40f9d536f373eba023100a1a153c01fec3a395a84047bd80177a710d9404a9249e0d23977643e492284ac4c2303b3ee80ab379c1bdf7d57c638ce0302047c435bb50066306402307079dd3d7a90dab1c51a22124cff9185725ba8149043ce002991013b38bbc8d88da808524e36617bfafdaad0b0a21ad002304828aff9b8bcad40849473df3040da714372c52336689ce678971811dadfc91130805480f0b1656ec14d7707d1d59d290302047c435bb50066306402305e36347dc221a24a2eba1e12e483aa2cacdf4e5790a1db5540b8dc88b689f488712fb0c55fcabf8ebab1e46738ea74f802307365df74fe47f54da4fa9b8c27d47b1c50ecf34bd778ed3706e4118483818ba9ad4702f1072d3b2a83f6d443b2b2f23d0302047c435bb500683066023100d37f6873bfbc06f12210d0da3a85d1198fb92a160a8266372181032b6303507b445938ae3e6cff5152758a17403daa9d023100d14205636458445527485f50fa933687850dfbda1654d90735043ce33ecea5a71512e2444d3963280d0c0cea281064790302047c435bb500683066023100e251547d75c7e8af429269db67697507fc326a8a05c945d8fa390451bf92bb0256acb550dab831d68d12be980c3be810023100b0c4a25e9d82ff79e3cff00fc818f3a916570e036a8d7d3132b47e451e32e9c1661f74b7e0b01cebf017a8a3489c31350302047c435bb500673065023100ca5c3100bd5657c28cc4aec2c6950484b6050588bf11c4be8d121df4ba965a13046619bb133dce8083243218036d7de90230073628432c497aeb009c40e13328f167470c902ed9fe2c93c1f3a50012985c85b5ee4d44563e0007505279b2b369f4cb0302047c435bb500683066023100e3c156210f52f835027736b446f8b6f9fe4d5b2381cb91d05535aa966c26bd0ff0f87aeb735fbfee5d6539b20a11193402310085dbcec430ec7beb2bf59008191037c22c23c456f1319822377c9696c2855385929d713b7e13178e9be8e1736fc112700302047c435bb50066306402301b7d347febe57458f943601a1e04c7dfec394e5a4ab00e80060f04ce20c7e2a36cfd3ffa216f22903c4d248b73a8b164023012a20d173126c30d1d161a24f31dcc7f96a8e1e4c6bf34739c376d95a3d4033894eb10df70e5410fa89940c6e8f165db0302047c435bb500683066023100c5a3137b27fa8b85fad0883b79c87250ca7f08a84552d5524cee7ba2ca815b16cd18df80676e9edd7091bf62b28af9da0231008b0ccb325c6861bc3dbb4ecf30ca7b6594f2600e3496668b2411896bd4d23946fcb71094180e26eb0e0b5f92d277a3160302047c435bb50066306402303a7ec45c7e4b716045a2454b70d51aaf360ec7423b1a1306b0d65ed9f85cf663d6b0b2e55d35244fbe9ca5aa3441040602300beb158c1e8f0e4e3201f51e9198eeb6c21e41dcdd929adc609354b2d3f629f51672fae5bb900cbd20c3e047bd04669d0302047c435bb500683066023100db2d97ae8b1c6f61a59faadcbd4ebc9f2c57ad34e25199890f40be5618c74d28e80640e2db979723a5fa1885a11888d4023100aefd64ab65f30795b0a1f282b4fee632f52faf1e3c902b0e176f8eb2aafacfeb6ec4f3eec3714f258b5697deeba5b6280302047c435bb500683066023100d5db261cfc7dbf7a026f32b0fcd6bb6e53c11190416e670cf379325259c3e237897d0c2df2a3298d8addee0385a4b4c6023100c101fbaca460c384c57e36f197e3c9ec09a5ca2e9ac970d67fb06f29b107d425bf12edec3fa32f783f59e9b05168d60c0302047c435bb50066306402306e8508547e3375e7a8de7e1f369821a50623d070a4d6afa5fbb0e8d1ccf926cdccb2f1e6c798f9134f298b24f62028ed02300e965ed8f3da772db4d31dea7ad340d8633ffc2c3f9e1483402643ad9ce32e1cc5720f79d0879b015a693dcb239f0ea80302047c435bb50066306402304dccc92b58f04d5e4afd759330d6addb710a0ec152574099ca836d5b6e50489c7749c9985d96ca5901bb378e8957edc1023079a55cbba5d57ea1d6f31b9553928a3dfbe6ecafa6802ec7f148defa971bd98621bfc3ded60a6e6e6d3e6fad7a5b79d70302047c435bb500663064023016c8d37a7fe8692b79a59364d0188c308693e693b86d5639d6b65ca274bf83984cb396da55e428fa486b66604d27d74102301141727fbc418cc5ccc99543172358a1c4960bc89bb101de387550371edb6c6e202aeacc5bd2de43a2373ce424b528690302047c435bb50066306402301e213e5dbd73488c65e3e8666376e36f3f9fc51e88f085642d90325417eaee6a0fac41c6bedc439075a5b1a0e01b038d0230577f83b9f71609d55feddad22c511231ff611dd5f1961fc44a267a9d32eef6ae331ca08a5ed35390783bbf26ba341fb90302047c435bb500673065023100bccba4757ad4e195c26881fdfbde42bb533a0f2e6ee9c9be5352802d12af7d686abeacf432942eead09d30bcf5c0aec302306389b9748f205cb6d89dd3ee618ef0d73c2a91dbcd30e83820c7f88296aafac6fa56111f47f9d12c78fe9596aa54c6640302047c435bb5006730650230642bd7a7c2ae658fed7d6dab7f2563a0eb39762c0ff79d297188efef0c5f215f1c56d73b8ddf6cac69fd463cb7106c89023100b069059e9611a26e5805f7b0de3512257d035709fc5148be95f5e67f555f198909316d30e839ae1e6006838b7090f4750302047c435bb5006730650230204074f9dcc527cee49bf6bb8bf5951a892b33d369d695a02a9f3753333df7d346ad40aff8eb9313e2554d6a59a0efc5023100f8af3b44bb5d533edf3aaec56ee98cab78647ae871e3f7ed86542d580744a4552ada09f824410f3536abe125f097ee740302047c435bb50067306502307fc52bf6cba574dbd611a6800d00ec4bbfd8b9fee51365e55331a63cdd3f9a3d29cc4414397d9fec96de2628313139900231009693fd6eb9d3ec0023ac531e3754fbe3ff40e613993b94402f3818e3ea2767dc1ffcc96bac1039faf09ae93a41cf5d0c0302047c435bb500673065023066e3ecc405ada71cdb0bc06a95dcf2d6b5b372ee77a8504f9a09ba71af7230bc6c5407a358c538492e0935483603de58023100f6673c885ff020f3267fa58d998272290ac985bc80c79585d33599d5d11df58cbcffe9ea50cabe8c2f15277e3c78f1080302047c435bb5006630640230196ccd0a67a1a1d173f032dcbb3a33b3f48ecc24e061bfe53b0bb7af5cf1595d798e1e9d7f503ad58402ec48a831de4d0230241e75c03ce407e725a5f3fcea34355b258c5854e458da14ff838cf2c96749ebcc0eda0e794633b6e87e227e61c9fed10302047c435bb50067306502304be07c3ae4caabe2e8f8869eb37e421a8748486f66471a250a0e8c524df5d3fb1faafa98c7deab638374ea71060313cf0231008e49d8aac984f44adc5d737c6990d3dbd7372bd17ce63e121be5e2d430bf4e934bb89dfa81ce4ba7621507209db33a940302047c435bb50066306402307d9e8cf89c6947dc58bbf0508bc2a9eb3896765bc4bf5c0bf7ab41580cf8ec692cf2d4e457bffed40fdff10dba4b38b602304cbb7c915006ec9a16c7834b9dd5fa8ea179af8f6948fc32e8ff26670d5f6289d83cf7c4539a2bcc7bb86368c29555a20302047c435bb500683066023100b2ce086fa23644e989ae3ddbcf47e3754203f7688c056bfca8cf4296d28c599c0a0956232b2bde6a7bb5d8562d04da1c02310093ec707b5db550fbec2d6fbe2acff1cac0ba132f370e4becc80051d3160771074bedf4939ef7f4b4899e059da0dc33930302047c435bb5006630640230309d92bc184bb40314464f8975b2f580aa5a527c41aeccfbf602c836b9481fd273c232ab9b6a2bfd28a9c7abd63e50a702301a19aa306e0b8dccea3ec0fc78aaae4c68d169ba46c5d0b00eb94b3d4ce4b86f961eed43d858a950a5cecad369b46bd30302047c435bb50066306402300af3e22c7258f09be807a4ecbae52195408cdc337e52a7ed5f867743fb5500b9821bebfb4aee4959d4936e2b8c48269c02301379e9c5e82395ca47a99d46ae54e87be7d4fff0103a09ebcd57c6610e40511d8f37ce55e0129a55845e8743492545730302047c435bb50066306402303a287c8ce0e4954e1ac2d489d27d2bbb635d6fd5021f80fc68e711e42373c3f568dda5fb89f8724b4b0e25f91a49a108023061031bea054527126490582ccc2f5283f940fec0ad8123e0e2185811c74ec0c636a11dfb22cc67542f4800eb7354996f0302047c435bb500663064023039188782f3cc0b194e8cd32a1d204f87e5bfce3f82d1717bfc33d071daf40f26cd9084c140f43943862e1d43ad520a3902307502eeeae32f29b71b6e3c616d154e0cab24d835ea56a60cb993d6d8eabe5ac99867ca6d488eb7c60aad67ef3d3b79400302047c435bb500673065023100f9fceb15be59b93feed58ac761832f3479cdc39f31016e88f7a819404095d97ab25ac9152c0e62b6acb4354d52c12b7902304c610ba3265b3f02b616ef0a0c71f8c6d9545a160b1ca560e2cf64f685707f629ac6dd28967d1e216691a52c2e9deafc0302047c435bb500673065023100e119d4e7b7f117cdcffb5770862ba90de0d0ab78786aed4cb3612b9f609fa51ad912869f4c1f9c36d4651f9df5df800202303dee6f85e05b3d3ef1964d921a8431f452c005538363425f09cf038f65ef7c0e3556a66b354fa3b3201b14e11e8f03d00302047c435bb500673065023100d8177c0a25853375f2e5606f9232e74465168cf24c5c6d213dd9762e087eda3c0db3906292588008b964d0a118e7e59b023052850f60ca9dd23604ad648220571ebefde78a377c1f04801e7a58c7e12552fbb6a649f7823896e57f66f561228fa78c0302047c435bb50066306402300785ad7446aa977bd36003f6b83575e3618f64d9c343913af05fffc208f45c4b149d8a89dfbb2e31e4513f9aba74e4c802307f2639941f3af62754dde895087fe2430f026cddc044c974f726f0dcb52d5848d8c31ca4ebe9e46886e9a01a17b904ff0302047c435bb5006730650231009f08db2d52bebf3d576981c93b18972ea17021d94e394ad63643a301ee2e4ea5316658871479a1aa38b504ecb7ccb7ce023033b6b6412d0f1b132bf1e030284566d5d2c0eb022fb402124bf316bfb0cad76ef943b6454d6ee3314c32f291c609b88e0302047c435bb5006830660231009520c45956e03ae258c3c4e5a2758b6988bcdf2d307c47b3a398ade1429cfc18e5f9aba7a11979ac4ee279d5f8384338023100c0d3dceb41fef106ada7762adbabe25b0d9e440aa54bf3484b5b0478be385619715be3697ebda57942c0ab05b6eff9b90302047c435bb50066306402306b2b4a55e1fe29650d0532a65066863df0b0fbee994ef6164458cdb588a3d1f8cc64778fb032e2c9dd661a7bd6f709f1023034623b50fedb7119a05b0466d468794700417f02a46c3ca24fb1665220359997d77d7b191d16fd67b9e227470f6c836b0302047c435bb500673065023028ba03c9194a4e83dba7d53e3a5d5826dd23f125b0a2e86f8b5c6e74b56278e2ab4ee808bc9960ddcf44fa9ac43fc543023100c523d62317fd497ad23c14e2ca723ab1dc69e006144a209d104eb18882bdb41d525b85b7e422fc0bef170fead795682d0302047c435bb50066306402307f2c62bf7e58e76020cee54d5b39d87690c52c3cd71f3f268dacf3088e5ccc815f4f214adc0ac58cdc982a74ea5ca5d5023039cce8cb82083e5fbee6c133801bcb5a821b4d1d665953b3ae3cbd9abc6bac3a44226fd7405f9a6fa3d561d2ce33ab650302047c435bb5006630640230205ec8e0001234b0c3d4f60e429bc2c4f15373391518b0a4e2a1a616c2d52b8a62be65cd63ba0f28133c3b067ed20afd02306549ba44071be6cd37695e781ee6df2092d0c746b473e88f141b8023354da3cd841308f0b02ec01782c479978d07dbdd0302047c435bb500663064023069d4af53130c180a0a104ea79af48b6f3fa8f569ea53f02f3ebe7c1c90093fcc6aa9934dde3360be04d92f5fef0da80902300408480276aa47b767b564d5c3e8d83e7364fcf360f0d30aa4d12ecae2b0c9f02757ff3965f91453666191e6bf9816cc0302047c435bb500673065023100ab8d2ab901a06ff286fc455aa9ca15678f2737eb5c75d64ea1f09242c56e1a28b5a0e6635765ca2ad2407d53e5f672a902301078b43c2165111183061e4061552809647570c60152169f495f2bd514155f01d6e041096afa198988efc815183edaf90302047c435bb500683066023100be0a33a10faa91367a5337af99ea182d199adb2969459097b6369dc8fc9f87c9a64b872a09a31de9e4bbfc92ec3d875a023100aa04da9ac7cc7720acf5ca1945d098b6312cba248dc6b466fcc3d013e55ad23de63732cf8ff4dd65d653dbbdf53a9ef40302047c435bb5006830660231008a7d45cd46b993cfab7a1a1951d82a3f5108975e6093d877526d5873a58213ac59acbe1729154f3c55c1353ee3cec43d0231009916945429e0a7b7b88d52d3e3457d1069b3f7cffbbe2830d32601ca820231f716b81e6528175143805e2dd06021d7420302047c435bb500683066023100f6110bb681868729dd3dbe3800fe8d7d5e1d98732c6dfa4f4547968de7e19b4c916817975335eb30030a908b29ff1572023100ee9d9d247eb3818a3af54f73de73727b0e3274342f6111794c8647276dfbd0886a6c3ff11a3ca8ed8dc3d9069ceef9db0302047c435bb5006730650230617a22b2c8c00576d4dddd22ad7ec393489956990f93bea56e4b971a18591d1de64d617c824e1779d9ec37b3aa1e6e8b023100eba14e032b3d6ef07eed386b45268508851776ee10b2bdf6b727c60e41468d8a3dc70377df95733d1bf3cbea5944717a0302047c435bb5006630640230732a2ade59c02da22629a1574b0fbebd286201a3d339b0e97cde955a52f7de431ea6e6427c7a2487ea4655072544693102304a5c36f3b8ac98a720a5879291766488a7b21d8556ffe7ef6eb72be1496742077b6542279569b1aa121158229845ccd60302047c435bb500673065023040421a3a45db292f1b7c7bcbb88b4ef059c4cf3c8f15fb863aec722d95326226d2cad571b35ba250f9c0ba8e55c48b4f023100e4ff149ededd8bef566a7da57851f3b85a0c21f95dd4c0034f24cd38653c12fadc4123645e6f6496e90c199e25a7d0a40302047c435bb500673065023100c9836cca978c7e835a1b146798ef6e5cc878b5a7bf30a48fe2d0e118a4292ee49746f69943cdac41b0dcfff96f23353702301cd3ecb3657be1c1829a6d1ca0eaad4b19799fde54b09a1b44970dd0f91393c5d1b42f4b168cb3a8efb119aed791bbf40302047c435bb50066306402307c8d1a546e98d09e8828bf1539dd6c141e8f61f3e8979f1ff50e0396cbc32702cc209afeb1ae211fd972e5cb45c2136902307bdc8ad16877d57ccb3c4b52379848c058842d53bafe24486796e22154ae3e8f53774d611e8a5a7bbfa328023c4060140302047c435bb50066306402300324fa49b3256a882fc9289634327987dfdbb9acb50e35e26a6e54b26ad30e0a61019fea4230c97c41fa70f7287241e80230021ecb22ea2033f71b86cc5bbb342380073c9c3e9b1700893f0adb3286273b63bb5b5ee5fe6d0dbb9ea66fb1de3c3d630302047c435bb500663064023039a9a859871629d006c31f2dd4742718904078b9ed1229e0decfadb4cd4501fc76c7d0879c11b26263399382a006cf8502304eb8affe2257bdf8f83c673436e855a0cf3932b527c65b04e937fdcc9586fd8a62e377cebb5dea17d61f581108663ae40302047c435bb500673065023100c12679e6febd510de15f0b5f8ee1bc021c6013f3ac1759b1f4c9287e163099df19d9cdc196677cdc39416190ec1f819b02305d5943e19c62ac6f794c1af414781461bfc50fd44a6aff2b32a4837d14db60bc356ec1342428ca07ce03f841028aeb210302047c435bb500673065023100bc8c909da9f7daed0fdec5f862635f3425fb79d63db4995d62a327ac6084f435d18073201b47725e8da703b4445a1b550230421cd6fb8c018b9b99aaf8cbc2d23383367058f29174d8c7c2e11bd018509a9fa27066d73444cf3151253ebb3642e0a20302047c435bb50067306502304a1a0e31dbb5686c0464a7fca2fc179262327480f8e0ea349ae00ba1474e7ec1821dd51e8b48870ab92f72da0f44bd79023100bb7ebff85197371b91f1919956ccd23b27d5740fd3f42e04d93835e2e9384fd2811aa683efaf2194ee6d69dac9a93c970302047c435bb50066306402304c8585f919678712e6171cf00e299e729523df5e9a223f179a283349724ecb1f72374ddcc019643a95984e5828cc23d7023010c68aebf423e5e049d525d4a46fb8fb6de5c1bd065b9e1d15aed6873ed14910d65155339625c28d8722cc24c9ac66d60302047c435bb5006730650231009b7f29097a654e91fd5aef485a2a4d361eab423f074f10faa9b7f990a074ef455509b9ac55a94863d7b0746af789b66502301f024ed7cc85f64a68b17713ff83d9da012e247b068a46f0ccdd2b7e79986173416842332cd78b0033bea009ab823e340302047c435bb50067306502300082b959dcaf2192fa02a749ddfc7063b5314116153ed963adb41c457f37c1aeaefcbadbf2a918a6eb5d48b8fc516508023100c52754bad349c3ff000cdb523f48a18299ca398624a7051df9a9f3229a741ac8f5519d7bac9141af7cf6489c13548d040302047c435bb50068306602310087aafdcf42831b3102d147125090a32cc4a0be09d5ea562b347125471e7e77e872b8670efda92fdeb06f5b4f5eddcb52023100d7b619d2e610f17bba0dd926cd26968d53611e1ec8ebb636546c8a6a356412691113e03fe012ff0707c2b4ea463f1b0e0302047c435bb50066306402306bcee22ce7b349207d2e475892ab2b922183f63b92ea9d04d78f384fe816c565ecca860e45346fd78c8897804a6d04cf02307d64c5ebbb350c8cee6b0347f0d17d086cf69d63aa8ab36c5dc03070b5f471dfac55ecbcf4795b9b2e27f85ecdb166cf0302047c435bb50067306502310097ffe18e5603517e5b9abd3c2501d6d09703da83a04c51206431af3a6ed11b2b63d5aa50785476f6de233c83169b0947023064ae86b46e676dde09ad318e411553adae0eb8cc134d9104a40ae5b519907859c58b9636e6c0fee1198d524bcffa5b0c0302047c435bb500673065023100eb94c58214750469abc43e727c21dcc08d8fd78e72c82d19ef9ac19b3f0a4ad1363f8a2988cf4cff385b0898ba8bad5c023015f6b88da13754ec760229bdc27ab2e4e58e848b66aac5b800513bba1e47f89df555a22c86b3165414c61354fd84822d0302047c435bb50067306502301c555d7614a05227065ba25d0479c6f8beb7452b0e0c833211022a27a5f11af3323d71f6d70d085f13ad797eff0b6d8d023100fd33a6164941bec6117428a9e35c292e95dee8defa327a234cdeb653470b55826d752f3c6c318c60ebf90fc2b43246030302047c435bb50067306502304539c253ba430258c024015e4c26ea3beeebdb66115eb1228cf2094e9bcb700fa5a648faad633198e0c0490bf41037b1023100afea732047b65e478fc66e8e9f83b7193ef8c3873d8d59db2b89b758e4c9d7e6e1fe241316729130c5d293c53106ee2d0302047c435bb50066306402307773f52d2ee51209a98569fd350f09e51481333e32d1952c8802a1a42e64cf0eebe7b05d275b5cc353cbb1fbe48cdb530230238664ea6ca53d7003ca9f61f219a5bb01d4c2c4cb0abb61e344d15f3bf2e1f9ef4bdf28e45e2e70dd4a35e44be5a84e0302047c435bb500673065023100a38130a1be94188f054c9725df929337bbeb00fd9ad74e6e63206cf0108362a66ca94f68b943eafcfcf47a7f4da2fcec02300f1f449b76563b550b0ebaf51574693f21012010b53511c2929255676cdc71362144c33a7f0674c0128a80d7e48a569a0302047c435bb50067306502310096c58ca2a02be078fdbbf4a202538fd89dc5c1937e9c3bf243dfabc89c16403cf6d6e2d39fdacd7a49bce7b2cafc4c0f02307e59cc1fcc5db4805da2d13cb3a847b407484881428df370b7afcd4ac77e44af8a8b6cfa6147fade3d69b86f6eb40c920302047c435bb5006730650231008bbc58ff780a4f1f2f53ceb9f78090d849f7b0ba15a1c88c7a9547e9e5d8161d7536bfc222e165841748026678b6aecc0230110ecbff8e9ac9045676bc7b147eaa274eab47e99925520e400f1a5f8a12c974540864395aae14a39d3ebe17ff64fd570302047c435bb50066306402300732034a30c92330d8d670d5aa37907cb156e639c435d0875948b973a0a3ae02ea6f09fa904930c5e911d39ebf695884023076f52fd64a4dbacbdceef4f97d7ff26437ea7c1de8469f4c605dd68b2ad10f5906790fcf0fdc684a179a0c1544df42340302047c435bb50066306402306c9decc81cbed553763c671c03fd6e13cae07f01784b2bc31239793800d9732acbee597cc28534c924f8722db8c4593702304e66095c09fd1c24191619f3dd9d45316ff9c060180bcf6e16ccc1c87a870400f7ff4563158b60ffb2908908cf21e7120302047c435bb500663064023017bfeb5ea3fc3529ab554e483f7084fcc21ec2a727b6bfb8e2ebf6b8741f456491fdd1df20930710f692efe393488e4502300a799e5004d51e6f2765e6cadd8807983af68caa72cba5d57dddaa30d94e0236ee588ee0bfcde0952e02c529c6c409600302047c435bb5006730650231009d42c73a2e6443b589bd2638b0b7394f6b95a57ab863b681c111e61c1bd4fd4e4c12c49a58fddfb7da7b7140b67c4f500230064567e1ebc3ef36fa6ac3341039899b2b6acd86d44a355ef0756445636758fa650442b5ae143b98c045174427f07a7d0302047c435bb500673065023061770dabe688898b3c62010b8336000a01d4e8ac2dd4dfad367f4b0bc591819269011ddae5b31e5554d0e9c98c96db47023100a5414b4e8c7711630c65a9710d189cc0a538fc6d28a31a74c69c966ef750ee2e480f042a71b5c58ee67c905ef89969190302047c435bb5006730650230757a819759996f9cd952c74bc93b2d0d83590c21fc0a5361755d995123507899dc608fabef9775991df1e05f88cbe08e02310083d6a9c2ea080f5414d99e0431f62b28b81bfcf0c15f2b6faede83762d03c5b18eea20eb3cf762d6b7beb248faf882430302047c435bb50067306502305d163c2100b328423685aed4018fe0b13dd6f352b251d49a75cb523265bd67f5fbc82e31872c81ccfd02fb4ff3ab27a5023100b30d3d23d31d71a81af993e946eec075f555b858b9d2f1c9219f4c7b887b93700564c65a1cf9b82bb85d0fd90bb1c4cf0302047c435bb500673065023100c7d33f693e5f433ea66f344fd1aefef879047d479eea58dc2dd479494519b77adbe4af0753b396acd83d89a324968afb023046665fc63319429432d9b99eb2aa5854375bb7571428b0c6c3be33b96120ff9567223313d47854ce29465f72403ee0580302047c435bb500673065023033df90af7348a0aa790c6959e27e3a861a56d6a2a43df36d534c32964ae3ef08637573de49680a36d774ca81b1f6657e023100952ac1f86727eec301ee95540d7bb497900d23141d16adc8276f1aaf3b611cc2d4d258129bc97ad9597b3a713716b9960302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500663064023075eafb3acdd21522256c210a71f5e3e28c4702ab89796149ac6a9d237980e4be9e9b68478b8427023e76e11f6b62beb102302baa716828f31918d8e34d4518544b5b4444d5a0f654adc7268d90fa6ed718519fc3f352cdbd8515304df3a2536b82a70302047c435bb500673065023056c0720a20fea09ac6ea4beca4f25bcd70f752a1d6e82b72cb3982e1efb912cdbfce5709b9a0a4a8765de4bdfb5b21a9023100c9e22c26c2c9536ea91c21824c55ef97a0a57b15fd8a0f6e4e5e39d1ab43c8e720871fb58392c11df909b2d04dbb72010302047c435bb50067306502302ff183eb5b2a64bd23c240a40d4f44a790531f6a20d9db866e54490e9f629a2cfaccd9d0245138447149cc5c1aac38d3023100f14110a4ae7b9bd9b68c1917696ecd61a20d70b008c8c20c439a780f06c2629ab1769720ce32d4bc84cb0d663b97e5760302047c435bb500683066023100cad957a59a7d09d489627688163d870aec74ae871225606153a192e103f1466177e7bf783845830aefb48df3f1478b19023100ec7944eca8da1553b47ced42aeadc2ccc0bbd5db71c63b955af7900d5a4f2fdce3e46732302e56377524c09f1dab410b0302047c435bb50066306402304811412d65c6986d7bfa3d97589844cf54d28c53a90fe367d7156280d593ac0f0284ff053d56199b1d97e39e8268944602303f2187ca707432f8ac0a13188cb5ac7af5d45dd51dce324e204cedd7599ad925e31537cada5095c0c45b7dfc3b170e830302047c435bb5006730650231009c7b6a460e15d87a0e2cd6812f4df39e07a5247ace42e76557d2c2b1561df880b0a051ce65485a95443574b4e215ed090230088b90608929f1be144ebc75b8f1b0c400c38921e66f77a89467c0fc0cc83c6e757d2ade7d55cafcf01a20d1a6f9eb7b0302047c435bb5006730650230504b33990ad44eeabbadd43565f58a67fd10cb11cce0b3f1d86fb895137dd890fdef5f68fad449c6f845595199ff1bdc023100ce53c3606445e137d2eb15e2b2d42fcdbe5118de33aae151df79ae49c19989a7370d70033a6272eb51875531503cb8fa0302047c435bb500673065023100cd826faa914d567d2f80a76883f1d963453822d8a6bacb4689016c7edfad439d6cad23953a89bc35cf72493e6cf38dfa0230789c0e1b6fbec9323069d7a6f8a119ef90ab70b7bea168ebb6d55b02afa7e4a4a4ae186f24fff97dc4c73e4940eb41ea0302047c435bb500683066023100db72433fb8fffe3b16f54457c824e23cd7da87a5f23cc8bfcc452a9cb047d88305ea52ee1fe6660bb8b25379e27716e6023100fbd03caff59f392abb6f32d2211a05b412c773c86d7ce57807c9df5fa365dcc82e6ead58f2cef7364dedb4882775a65e0302047c435bb500663064023012bf9cffa8a2318254ea4deee55865e613d86abbbf4871050d03b6e15f1deff44f04be370d2f4ec33be6be2452868d5602304757e5203f0e153767f5f32a20b289c5ceb2b0a08cbc5abe538e2726e537bbcba7025800696db14058f276288fc4d39a0302047c435bb50067306502304019d7a038a7b4dcfd6ca3487b72ee38330167385e765bf9f81fead36ba2dd412e68298b42ea261a070333098f6c5d59023100c05272adbaaf49032db4540e9f49bd3bba7901a3e2f92020fe6ca92b0ee7e88c69e8382a2b16bf5c1036a6e6853b4d010302047c435bb500683066023100e4eab73b5e2bcce65c67efc985f88a4cac411c1c4d26bc692ad0b43773f088583f3578b215a1b50335101e0ca8d933f6023100b262f1f5f1d325e59587bcf3524286fef3c5606f54f2326507fa9d6bcad614e7d2e6bcf283903a0c3974038025e40ade0302047c435bb500663064023040b686ab472ec9eeb8bf88391cdc5211e3314d45ba58469fbf0b59733ebeffdceff0a0a6271de26e4a8cd4c76daf7f25023040be6c4bae7435e6c4e22d336cc32da1762bbcf177b909641063811bcf111c0982a809da9a940ff0099f2963dc21a01c0302047c435bb500683066023100fbda22dd6002980c91015b27275935eb812cfdc1d933c92ee7f2986519202a02214bd9dead693c5d75f0ca5a20fd5740023100cbadec01610481324e3510a19821884a489d0f2a491fc708128e0c36d18716681a7ac32a85ca9a97e2f3fa700711d7310302047c435bb50067306502306ca3e4c09c39ef8284918c63d212ed81d5888c1156bec8cefbde639b98c489ea68cb055a283df49cb3f0e84f0c1fca33023100917c3f8b771ac1f0deff01a365fdb4c9a49aae14dcb28c7536a7c6832239d14b3c254fe17dd8a7f51dac905b24c104bd0302047c435bb500683066023100e1c468285a3934fcc8b4e33f6055828311e2e371d2eac739dcfd65d83f79d35606be52e7b9795e878b71dcd3cde61ad6023100fe77ab2fe1f0a2269084e5e770298d8b189ec4988caee920864c56972ed82e70336b38f19f190140c605520a55e421e80302047c435bb500663064023005bb02635efe22fbd1baf2907ee96a2e692e2b01bef9a62ccc4efccf98ad9d20dd8b40ca90625c409f9010034f08fc4902305aed1fa242f4c1558998cb537bcb8e82d3115d94954897942a7ef87ecd2bce65f757c1b1fe785c5bbf2a3aa2bae0b2660302047c435bb500683066023100ff9b41c69fdcca8f286ac8e9d7d01707353f70fd7945ffb2b8028d1d5861f99a728a412913babe3952fad636c1aea569023100b257ebe42026ab6d77de00240f468370241779225b54920bf604843a096f06f2a11db0001a46ea3b39f6808937b152280302047c435bb5006730650230644926150046350e351d55145b79d35b40f6700d95ee53ddab15554599248665ee26cb583aea3a3c3d605e6ba6ef4923023100a72001d9e07d75fc30fbf85015e9b4e8f63b691658af20ca925ac16a72fa812fe8abc22ec15f1e26f25a3cce4e27a7910302047c435bb500683066023100ca360f6ff801a460c22c1f154a762c06167071e48a5ff0398b333783f301937da6bf1f29d6125e1594076292ba8ec001023100c8f05daafda20ccc6c426d9ca5e4f451b6ef234c118a5008ac62b5f1fab9765ac7c96a9b0f8517d821fdf04ee8f0b5cf0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50067306502302d4e26fe3a6aa1bcfd746f587b39d8b89212651ec7a9d2f64548786cf80b0389b61bf2e8e44814828ba2dd37c168b1f8023100fd83a690ba39cf98fbe6fa8a9cf95d3a031a49c439541816bd1532eca2c3aca8ec4ad70330b23fe16b36c63686c12f8b0302047c435bb500683066023100b955bcb5595d17b9207313c4e4f0ee2a776e0279ac2227e71e118dde945607e3428e7e8a780197a1ca81ee8f2ef4928a023100c3f7ad86f7f059382da78e824519d2734af35232d939bd4fb77877c6854f882fd344a3b13af24d4b2220dfad994382a40302047c435bb500683066023100ba861a4f6e6cc34067a852c08a214710edf471806bccad87bb0c581fc9d456d53f8a2dfe4652ee0c2eda48289c9966a9023100917dba490839dd45a84d5d525122f8d5a856dbce2373a7c76d1982c2469f8c8480b0f1fc136aa98319082902f73a14760302047c435bb500673065023100de81395b4f9ad4e18f1de2e46e8811dc9ebf030adef62aaff2cd2193dbfc03be58cb667722ed7b931ee62b153a972973023028b1b791371b9a83508a58b1a3adb46b15c42f3f78b323722b5fb2f0502ab0727ac18f1eb52f0bf2de7dea7f24d9669d0302047c435bb50067306502300ce38991005c66aba6e9db19b3dfa351853f8a75e25a582414b183b0939424dc3cfac8901796bf58159b9b870a9d510d023100bfc564022f5fc9cae29d29a9e0b1664d4a2a616745d6c74ad89cae801489455eaf02529da42a00462f53241f86f5676a0302047c435bb500683066023100df4eb2671e8504b66a89fda5ce2f193cef09d290359887b3d807ae1b1cadec0496536161c2f23ebc57c55350d95a40af023100882e1d1ef82a6617544853bc723c1104c281cdf59c6397ff8a245496d1b59631e0688a9f00ea178a9797920262fc63df0302047c435bb5006730650230444a590ccdb61004c0bb145963e2f2f32db42ee197a3892f3ddfc9fa8910052b73d1fada1ec0f0dea0b2f3e856be1d2c023100dca2e452a0ef13f407528e92d7a1377c21579833902f55bf91f037270f31b811de9ff75edb6c024c57ed330bcd43eed10302047c435bb500683066023100b48bb3c7f9df29122a03f5462ba3552267bac82aff54c405fc4bc922728585e88738dec28a055ce085727d91e5e1ad16023100d6115231407ed2936fbba2f2296991674fbcc17c8a7fda3323f1dce9d3b044fef4bf2fb65201bb8b4582da6042e93b5f0302047c435bb500673065023043915dc759031ebc6dbd13d0228e86444013c32ab42016b9409fc6c42ab25604e2bacddd7e5b3bb368dccde530c7a887023100b06c403b1edb93f36dbc375092a4612fababd0e2478a67aa99137d8580c8d7c4295637c567ac0367718cd2e1a0a2783e0302047c435bb500673065023100db93377a9a5433cbf45f83bf60579de3bb0b72bc648345bfe021afc26bc7b4955cd54a6237630c759e60855a2e27198302301464ee127cd57b12e42a644c37bb40c4875919fd05f76a153467584c2853889f098730948213f6ac920c341b44aedd2a0302047c435bb500683066023100b9ff3cf930fdbcb020c2a43d1f201b9043d3dbf528d49a8fe684d4ece4523f389206d918f22010ec8d79636f265a67de023100f94d1de3f372439127491e6be4849fc7b9826666982036e87dc866d8e3d2b5a708f7f4bba207b0224dff40c2e899a2790302047c435bb5006830660231009766700e8de7eb3fa026a26c4ee11a9c9f19449b35c49824cf26518fc85ac6fae90da5a2a42acfb75db363b1f3444ec4023100c01b8e5239ed4afd5a2f4ead7017f00f902deb821b7360716f7c2740ce008ea94b47832f0be174e61a03b6c425556a7a0302047c435bb50067306502305a04020e582fc6ad27311b5bd4e625760470177ba978ef8bb0bf22f69a852cd8ff8aac2e2fc0f040c7546e48480569a8023100e7b211543254fd38a3f6c51b96137b5f7695432989897ce63e8a18db9c0ffe2e960d52bd8ab44b2682a5e61cf4276d5c0302047c435bb50066306402306212f731a8d69550c31b61e0f34d7b688f12987f4bf492cc0b642dce71c6baef815b4e924586c1b369a0cd3ee3c6cf2802307b4d933e4edbe5f0bd01044d02687932de53d2b1023319cc0c36d2246afe770b2185ed8c4ccd3fcb414eaabe9acc8e350302047c435bb500673065023100c95433438be50d0ea1686f34cadb997fee65f388654d99f42403dd77e4b26ec207b03d8ca0323cc942e30c25fa81c37a0230421b1a6f03511f13dfd186cb956a090f7a1644ec721588af93fd5a7a82a842aefe11ebeb1cbaacdfbb244eeb95ceda060302047c435bb500663064023056004a0f95c31183f2acfd02a0f4ee3acdbacbc2642f8da1f52a8e4a66392348c134dccc36273f8d696969f6473beb83023050ab209e2ae5cf88ee4c5fcac785c9658517fa2c4f35d6e1d3e4e3c1d1475557a402c382c52f2fd4aaa0f78bb59da7f60302047c435bb50067306502303357a51c4e9113868157df39f6ae0eea587a6de61917a0d19a06530107fda3c4b8d108896efe7f646400b6d3c61b87d6023100e75cda8be2186070126b8ec171a1533651ac34ecb0f76a19a15caf031e8eabee636c56a8add859e3169348b156726c1d0302047c435bb5006630640230449bbc35adc15e2356e0074631d9067dc6b7362a792fb266a90bd763916bc4ed64878a3da100c2a73d630b6598d1baed02303150b6810f98a4f05926de5132d1f8641d70dc627843c342f46f532b3ca101a84fb8989d3c3d6994580f5b885991cb340302047c435bb500673065023009e7a661da22d92b537246622b408ce445494b8f01a835a1171c26d2315761fdc0a1102e8f5b50056d3c4fd0df434fad023100a73cfa670fc56d236f195449ab2b362500d7b4a85eddd13bf8410ae2dc7e2f9d1e6fa9eb755900e25fc2ce832024f9670302047c435bb500683066023100bc411a7a93057ced104f107b10089046e610fbc4dcd735fe0ca9b94574d213def73d66fc360c84bad92ad8f6e3073c250231008ff379f05b5835b25af38d68d400e327a95917349e7ee699d427bd7bc960e54100fa6b53400fe2e5dfdfca7439ffa53a0302047c435bb500683066023100930711680360e8bff6987f591878f7000d8cb458a0766e6b402d5f8a7c6fad4c6db0d0419d0fe0c415fc87968257e2d8023100b92cd1233d34e66afbc12da79bb5cb6d88819b891bdde68d32fa416050133938ccfefefd17ab1c835274013ef03089660302047c435bb500663064023027634f9ac10f3b8821b22edd92eb21a738a51af593f239c00bb42ea8292462104328ce1f8aa6c9ff6ec7afa2bafdfd97023057233f62b73965b60b412db8a097646f2c08bf21d676f39419f514e5ef97e37a27db1c1ac388d6ce799dfe80b033d9af0302047c435bb5006730650230164e5895e12e59cbb5dd67adf6de77b3c94eb93ddf887445863fda9260c8e6ee77b524dbe8f401d5f093654d91139e08023100c860f313ee25cddc486844ad0ffa7edb200ca2a11e21a59e36121b91ed4ac4da22362361bad7b787ecdcb054f6a89d800302047c435bb500683066023100ae9cc5b199f1f8e68fa117393577c13c409a671950d38a9e74e95b543ac6c46b51db4805e3bf00476c7fe871058d33890231009337867cf35939382cb5b7081cb45bd1c0217920a068c6c6ebf80894d992ea2f0f8962ee315c968d1b65f78d7801bf890302047c435bb50066306402307206cbd1d0bc59097f041eb1e9be2b6d24cbd6f0085ed52e66591d19c07051f75d7ce401db2a0dc12e66a4eda7426c8b02302ea76a29a8590a0bce88c40a194c9eac9143cdb58f34b621942555f8ac0f3cc64c4436d71d3f5a949b69b57661ce1e2c0302047c435bb500683066023100b1efbe3ea907a5f4427afa3acdafb790c139ee378f996a957063057a34bddffc35c6820d7cd878ae8c4d17cc3bfcd9d2023100840a965d0e03ed74a242c5f75546d5ec896195921097b7580ad174b823c1129f89d4e9da380b3fd02feadd84bdc2b8d90302047c435bb50068306602310086a6c2dea7b6e66a8e2cb1236da476c773150abfdaabe7b4f03187c8a8fdf9c2a3101cbe474dd9c69ad07c5aa5ea7745023100eadd181fbac42265f2ad55cbd410f5e01643d71152bf3d15d53c341e0c2bc573bc1acb2edea71263ce2c83d3cb46478c0302047c435bb50067306502305b0070d30df95ec71d9467d4420d4b79d6242f176f3fce30bf5680d1ab9a4a2f042d2e54bf4bec91d69130a58a54ce7f023100a807477cba0e03de8a0d312c69d0001dbbaf06e4ef281e906c9d58cd978253b9321856ebb37092b508d09b29a947fdd90302047c435bb500663064023058f3b337ead304c12b88776d177aa08c0e31991e3d19b3aeff9eb47827ad59fab05902dbba7d941766a54ad35ddd451a023027242b2b4b2e45dee1b8f816e4053ff0053ec719a6d4b6cfc110c6d26963dbcebbf2b90573f77e114566a6fcecd1162c0302047c435bb5006730650230536e3358913554dafb9a344b22c7792381779de5bfd2baac087dcb3ba6fc3dccb0859f293982454968088816802a062b023100a6a3ef1ff3100fa3603b1a2d87004c0a4a58e6a449640f409e07460b718e810e53cec09b41b95232249a0bca5f309e7c0302047c435bb500683066023100b4360cec68230cf532bae1ba6084fedbfb0bc28eaeb793ca6954f58b19fc10aef1fb7342b68fb9215a471440e1164779023100a731df654655227fcf0fe745972172c7e863ca9088c7dbe311bf50358ce7b13476861698a79c7c069d81e002cffd06420302047c435bb500683066023100876cf7e35501572b021096b108b11d4e2ee4c752993e6d795b157e56dea40d2b5d489d777d5171af5829be7775401d56023100cdbde4cea4834421fabf764a4c3058156dff970fc0f2dd6658902344dcf2713e37e557a23b878b4d80cadbb99e45499a0302047c435bb500683066023100b4de0ba0aca407c3a1d549a598dd651ed0c915bf42bcb8a1bab3a161c45bd146579654bb59426e2505680b5070856c91023100d80f77190c75fb2626a90310941389c6611c3787eafd232daa9e4c71b7a673c23fbbe29fa809953593746e3396af9b960302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500663064023024e0bf918131ccd1d23b12d957fc60a173189fe13f9d7f04626cd73a71d6ee5d635b2f9d50a216f6a54d9912cd6398da02303c44fc20e57a8aa8ecaef36e9bb953453e470d21cfb38eca16b9bcf5e7540d4e6c43696f6c9064edc83602ce19bb13a10302047c435bb500683066023100bdad593a1c983bcab367e4c858d9e4954eb3dcaae7e4d08cde486d4b509fde30cdcf800b1a8eef63a87aebbfa6b5a2d9023100c04357f1a1a415adef24557665c2fee3aeb63835ae4e7a54e2dc1769069d72c763afc6e3e92343d12fec1c19e79b7d8f0302047c435bb50066306402307004761970fe9e0df2f61e09451f2b088f71baaf6379d8406b0b5c00a5deb1cb492f07cbfc9735e5c27228657dbe89750230265095669e6c7340f3ef198593aaf9254720a9bd5078aaa72d219eb7db25d21086bb3a96ef0b02208d736d5071be05c40302047c435bb500683066023100cb2fb9f31e5b9b9443c75bfaf97948a4924de86b808fe64b55202aaf054b3b4c962680137059a1e72b7324f1b7726806023100c8f4059ba803e9ff9f9fba9899d052ca067ead615754397cccd36a2806528d330ff9f489dc76721e189a859318fd7ced0302047c435bb500673065023100979de0f4eaa01f80cc9609d57220a6b5076b01ad8e44fc7f7da2aa54fd657c54e66355c29a1d4281f650fb416a11821602300cfabb7497e0a555d193ba44829fcefc3644a06bbb4e3317d90af9f9853d74d50a02dd699253ec3b135f9d0925fd54210302047c435bb50067306502305eb49f44f939665cebe26a999324cb68341f924291ec2453fea52d7d60481acfa6406468a1d49ed9b5c6bd19f3e73536023100a4d22443dcca5aa0d45570e12577da8eccc04aaa4aa3698f97a8ce35afd71799207c484ce9acf3a51a0a5c147e5bddfc0302047c435bb500663064023075c73ce5817c242945b37bd85f316de32fcf597c6f2b80acdc176b0b2227604e1b30d17d27d8de008e711e4746637f2002303ddfd1eef74d129476be792d509342b95f3ddc23d397f01dfb8511db520a769906fe8f30eca4f3e88e951aa44a136a640302047c435bb500683066023100b78ae2757ba3b2215a12c71cf293fc2f3c7ad645f3b8ef0409afe1dd245a5f105f4ecd05f66bb6bc187b350dc4202f2102310084c65069fe0fd5d635cf1a29ed75588551ccbbf458b27075ef3610721427633657a614a40b52d4b85ffb2e823dae26c80302047c435bb500673065023100ecd7fc7fb612fe23c4380517b8f460821b54ee2ebad8e4f3b93a73d8c564f5f081f4e4e89484f5e234e88f984469f34102302a4056390ac4d76fb442c6621b1fcc58269f5367dca5dbdf049c67d18341048328bf8e41df9d006220e523af87f3485d0302047c435bb500683066023100a2e90582b716d18ea54eefb805a476a726ddae1f30b8125bcb1f8bcee13c0388030b7cba4eaf2b0527afa9089f262a02023100e3b06ebba2935cd4d55c4c5c65edcf040ea77360924e5decb5afb796221d35d08ae2d2a3c0437132256db1ca81f85d2b0302047c435bb50066306402305f7dfaf80ec9bfa7eef10c961b7638e6af876d55ca8890087484db2841545b9b63c35f45c1312a51a1f45f47fdfe05ed023019fa8628cbb30d5e5b8fac9f8ac5e67fd2664690f6e97e30b231cdf21292107b9480a24c57e937e1171f6cda95d71a310302047c435bb500663064023075d7084af09181ab2c8f2954efe0e6d50221ce013b6957de852a345d6189d805b7c72ae1299f9bca26648395dc3ff0e80230457d989018ee7de8debc4b00d94b6a3a350b50fc1159c678440821987e5f46ea289f43826b6b4da3543edbdfa3a7b8360302047c435bb500663064023030c4e547f8a02a8f061559873e55b72a2eae3851aac156316c862b3f20769bdfe2dc6c98b453969e25c7ad57d2ac1aa8023016c6b9d33ecf820fe085b79678165aac9901fdbab2e83ca3e1cc6fef2d84700cba2ba90e43f04275907f52251aa18c630302047c435bb50067306502301afd1fa79f31a310de324e68487713720635f163ef4dcbea5aecd589a13663044e824a6a4e6c4fef02f7d2437e08e57d023100b78bf86209b4db192c5475f063f76d812ff5bcb1d05778c424f2c8acde99f9de58b03080b967274f536f1a4414aa3a840302047c435bb500683066023100c4f709773d24a141a75cc15a041e0330db4ee58c38d1a48af39240a18f4fe4eaee69e7345238c4b6df93a2bfd667da36023100e2f44c4bffd941f6cc5dad6828189745814d40488834d1bcb97488b500fffc0d889158e5d972010a637cea7de0075bd00302047c435bb500673065023100b1d5162ea37fd12f016f70f2ca6a5a9cbee3f62774315a9da32257637b75e1401bf9ac0e8a364699c2f9ad5fa93429e3023074f82740951ce9a5fae494b8ee8f346a8a5b0d0f90d65d507645ceee68229739c7329078944872c7923540430074e59b0302047c435bb500673065023014e6bb8da990f80083632b3fcc53889244de280db8d159c6101d2193b208e20970d89c870006666137f594e6fed9780f023100b9332177256e53fb7caf472751bff514a577c04874ff3902e435446a2a8078c1939919909f3f9ba9b2a103d11f75c2b40302047c435bb500673065023100cefa3aed154e259c78b7e1cf832824f1f0100fe112bd3c25a90dd1170e185b07c4149f49610fbc4a764109b58091cedb023003237456aba0fdaf7d7511826fa716e89ca6f35df67a7a13f7b97635b2304c63603ef78d61c500519d344165473ad1500302047c435bb50067306502303a595719672af66c3e492b725e051cf5c9ca961fffb1b76ec78e20de36f8d8205d75190a156ff6c3a4a835332409a237023100ec2c4f7111b29af9090f13ff233ac36f17f5be833a4333cd8990e88963f83e2440ff6203b08ccbd5081b2796c2faf4030302047c435bb500683066023100d236710dc9ff7bc75f747ae74117a96b97197b08afb3c5c6d42e3ff4cb8e96c70aba1c5b4ec8ec43703e3947bc3e40de023100bea267a146bdb0b632f25209b272e30febb708a0a2f313020e46172ac99704363e5677d469424292d88497ec504292d70302047c435bb500673065023100ded99130e136c96e63950f2a44cb26a3d0c9e367c356b4f7df88222864c0dea6d7d2bf4f7151e199fc7426d99bc105b1023054f661901772ea995868276aaa64dbcb2b3ebd7b42a2b595058af4e9f25db99f77aaecafd24914ec663f8d948787bfbc0302047c435bb5006830660231009a9900d8859db9dfe8806f77324d166d466a591e52a2af96c6ef56c36949baa3cec2b30e54945290c6fd2545f1934d49023100d93fa6764ebb62ab52d1adc919ff8e6979c75477565a6d800d61417b88c3031ccce258de45ff881a79ee2b7fc6c7de070302047c435bb50067306502305ab39f7b6c2b8525352309b5d4b19bcb9b39057855283492fd042a674a91c82c7def423791c3f2793bc42d16fb640525023100c7ff0d10bfdca39a11cd14f46993f9261b453606a168c6f999c8e2535bd69f16dc1a12e0ba1e11ca8675aece0279fc5a0302047c435bb500683066023100967d9b0e9535df96b3ce994d1b71eb558d709d30045f4708d57de6349349a7c5fe838e86a198f276b8739c9a56be81ff023100acaf4f305ae2fb03721b1eea8e11390582930d3ec5eff0d8d94711d224972871ce6006c2c1feebc71542b2cb11e9f9490302047c435bb500673065023100b5c1074453d7facf912f6b36833f980dcd154fbc16a819a5863617cdbcedc397e757d6df5d7574d77d127328e92ab05b023018aa1cc19c9d95be14e4e33725d54eb4af3d18cfb277966764d815a6c6e8bc1b0115cfaa95a5ff73750d0ed0e8ffb5ba0302047c435bb500683066023100ecb143a95ead89a3eddf23c78269a22e4183ec9479b487d2373cc5d77c897ee06b25817e1a6f7fb9b2720d2330879b7d0231008eab69e329f7c818e3e30813bde7cfe6384d763e2e5e8d256dc1e2327fd651116850ab4182c9fbb1274215eab5be5afe0302047c435bb5006730650230579f03a06a83d4aa9ae810c3f50d267b6c0b2e1efa258322929e02cd8152eeb902d58e228f4e8ba93e8579349bd4aede023100a2dfe92bc99af4338ac62d5586ecfd99bcecb2d13ef8089dd9d4a0c1d04bfe1be9f5218828d94b676a5f2fdf11ffaeff0302047c435bb500673065023047bba51f201dd906dc67136746ebf022104f602e26e3df19932c1d1ff80f529917d81ca33667fc47c937f24738d6c030023100d422ac0f113b10bdc1abf8e1fdc59b129fdec9cbacbcd71e643830d452b886160cb5ce1caa9d573768c04b8e019712610302047c435bb50067306502300158e27bc444c28fb62ef8a283e87645fd710533f2116394095814fe0cbea9593c17f9d7ce5f625bd9b8fe05b87211ec02310090f3116e89e9ef741d2dead4a93799ddbe931cb8de7cb25c44d698b62296b9f6f329929f462f7cf8fd2ff39c6e24d2960302047c435bb500673065023100c3f7d20cde3aaac29cd089a1d52ac7f0d983f4a740fec89e94cc6c5437f33abdf0be78871a80a420bab184f3bffce8b3023053c2c678d3aabfbf94db034628ab0c190876e7a0315c2e5d639f8d84db4dab0828d876e2f7753467d48727af3839bde00302047c435bb500683066023100c5b4d90f59616b500d5032a39f10a9f91948fd5ae8a2bc42cb5000f2ec95b06e3979748ee61193b417e85f137c638cd5023100d11b9a0b9795dbda29086fb55c6de51748ea8c0f04c3a67a17bf9b5f0cd72bf011910297060e5eb05a9b1533bef975ac0302047c435bb500673065023100877828af6bcebbcf4917273da365290beaef2bca921dfdfe578abf472adba33b15d17a87db743ae1ed49efa03420831d0230696577e1817d4aaab945d1fce1fcf98647d5aaa355723d680f426bf0e7f05f0d2a9c5a19ed420d531f8efceba308c7e70302047c435bb50066306402303a47aeab3601546a82b0bad781e53c34edf09b8154d6c073510ee14128d2384589e2a33820911dcd742bed790ee22b73023074e673036e6ecac3741d460001bffe981787a9d6ad65494aaad86e7670a3fc6b633f7a14ec70dd421fbb0d5994d7fdd60302047c435bb50067306502307b98f69812b97fd380416a12a7869ce7cbeb793e14ea2a7339531d4e49c74e6ce37a709ec5cb826907f840876e6dcf8b023100e5a9217a2370010e6d0bf6bf0d09e2f6f600d716249dec016b3c22c509270ed63f89e866adae9ac92b9583558d1652240302047c435bb5006630640230198c9c84a9d1717de4d78c0f7a4aac95ae185eee4105c78ab5ff5e54c75ed5675cda58e0f96ef29b4457bc1c3b9eeed5023047430223bd17b325e3544d8d0ffcfdaa86db94ec4fb2ca85cb3d9c8ba8217e1ab739a361bd3ba51a63fd91a4e9e71dae0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006730650231009bfe1757d57881ede4aa169598149d5f149915267f46630a0a8cf41daaf5fe325b7c4b7421204193ed6d5310cbb30ada023070132c16c553019d2e61e4f1941a55bec1c0fb53f5840e539833f4a3d0be40da88f30dc7469455c3e0300ea0c58c6df20302047c435bb500673065023100eb340288c6a1b7b0f3e5f058f1baf56cff465bc9e8f6542967efb6b9d3377aeb8c27b2abea2bdac551bc16ce8aaf0e4f023019ced6679f6b3c547b6b2845e5cc66188d4406008b3c0d2815fb39ed9e56724de86a5958e5f89abfcdf4fabfdb01a7fe0302047c435bb500683066023100fc7045b35aca5cee3f6b16616655d6e349c45bc1cf4b6c0ba231c4a73169949dce51d6c5be08afbf72cdc4cce8ec80e2023100c66b091afc6511a8988b0b69cbb284cd4f801147e4b2778fce477cb940a2082b01a517893684d23cfed019904a77a29b0302047c435bb500683066023100f248fcff42a6c11738774c0fa329452a1ee8a8ff3b789af7dd290ce6f1914f118e410baa4651413747251dec3417380502310097d3b5cf484467b82ff33f84b264257ab481af42e4f20a7de9131f8646b87cca0288c5bb44704d3fa964b028f035f5e50302047c435bb500663064023051784a48917846bef83808da3b9c5de45f9ae03819986651d1a98b744afc4ed76096f12c493dafce97562cb41d2b120302302252caeb2f2f70f426cef679a1f671c1bb5888d31d0e0cf6c29ec5915aff0963d5abadb6e6769f443dd3c2fc6797a76d0302047c435bb500663064023054a042f18f2b4f4b72b21b512daee7b4a50ce855499ca917244f265dfdbcc8c73c2f784777994aab8f1b3f923c21f4cc023041bb4142a8bd7198dc9d08f61afbcb82cd40a526304eef31aa5aa04f6cc111a09e0a92326e1cbcbe7a86a910988f0fc70302047c435bb50067306502304bba2c7f894d0e63ee8c58981d0540fdba63c4f00fcde4cc7a9b58f07f72e91eab58a6a9919d672ad42eb8f05f35a35d02310099144693803920ab2b064330521517a8f227f2946ca148226619e6125bd0b8553495dfda87fbe706378d09614d4e93ba0302047c435bb500673065023100d73d28919acb48794acc34aed7a84025dda9e8ce04b8522f21a2d11abf90fab1b35079f7df03f024892f77c64df1574702306b35d47663b5abba29cf08d5fa940396aac266a47c36b68197e42f57396065636ebd405882eb28a14113f1812b4f094c0302047c435bb5006630640230088f5937627150513bd9a84110a013f5c661c0ac2470d58022da7de65ce8bdacf3458ed5052603e78e87d5d6a581e12002307538a99ec49ce4761e7469c69af92a330cf84a11533f3e5cb595e2fc07904616a8dd921d673e542cabc7d7748e2f35510302047c435bb50067306502306655dac181012749a41456925b59b8cfb6f34b15b381905004db905d5ed5e054b9a93364df1f578b96f581cf6e9022f0023100c2b99308c461f2c345419db35fe63635239eeca776ebbd4633e9c41a80b1ec14f601eef41bc3218ea8623d457576e72e0302047c435bb5006730650230615137edbff7a81a6472e0dcb7a9cf4305c51f13a7816d2a22f1e83f40af2458fc22547735dd077c068130b8f73855cb023100ceaf8ad73ace9938bc70d913668bef9d9c14f67910b909c503c161b1d1f132d902099a949016baeaaedaf5575fe00d140302047c435bb50066306402302dc69f17fb05de218465d547583230ce6f01ceb519e7ffffed84a73a311b445e3d5467182b96114fa84bd1432be4468e023037135c2388759030a3111f6dc6b5b9965910b4cda7630c5a76cf3de299c99990d46f13379e13dfccbae5cc3c8a0f313f0302047c435bb500673065023100c80cd1c1f173ab08ae611a2929fbf6282a3d65eb8977abe3b3721301af9600c03a720a3e4ef92b1c0bfdb74bff7a0e800230574b0960595118031905b7dfe93a2f1b15a27e11eadf62e105e6a6035b84dbf35f03eb60cff4eabf145c8dea92e92a4c0302047c435bb500663064023033b6d007313ae30c6b4ad62546b0f3e0a66514a783212fd72441fee4240e079590c7b74152a78eb603871a777c9a3da802307d4f4efccc25d0448ae287e1414abdc499518a7033f199351e5287f1f160d4eabf703635c17624db9e715ae59db2d6f30302047c435bb500683066023100fc84afe2c4d2d610d32f9b172503b454d8e91c4e8f26bb268a5a59be5dcce609f18a7f88aed2f66bd3b1298444da51a0023100b17b5b3565ddabfef3a96471a2cf6f9967785befa6ea795c75e4fdfa616f40e3001f1ec40752310b581daf4badfbdcd50302047c435bb50067306502302ea7802c0a7cb053cf75fb7674e011b085749e89d271a8a499ce4055e224231f75a6f2968e0a6a1ec31e5f6221d7d90d023100b413ae185dc44c21fcd35ccbfd8033a6ab05861782d60bde7541dd666a8d72d34982725fc3310d5b288cb6ed3a6fa5f80302047c435bb5006730650230423ea2aaded9685f815131726eb530ed6c2807af1c9088dabd95e4447c06e64b011c06dd5f5c51e3fa76a01cdc5e3874023100cff8b80e1c4456cc78aea6d3d6d6f2af2b5cac96510def14983afc96e7cd719f458c3c6cde55d7de5bc97b9969c9da1f0302047c435bb500683066023100e727d8daa8bbfe9b1ee69e57569dff85c396fdd38d2fea8ddfb9b036abfbfff529281bf30ed6dc26f29ee8a12687e481023100cbd02e3d070c5a8a03540341e58173bae7d48feac01bc2a2ce3ae9038590d54e8fdcc838d007ee4a6521f45c5a1b9a940302047c435bb50067306502304a995e16bf95d61d3ec8cd4e5b7f9f38bc8fb43ccc81a3245b2c0c548ff2b22e5f0b2cce99369e2f4b3d1010ef556db6023100f23fc9164333d729d0feb2f37114acbda38df8434c17122da6ec5ec9d25ca6670358d0ce0f283e880cf9790f588922c70302047c435bb500683066023100fa56e91a5f19cc7c4412ac248caf4edc4e7a0797ff5c80f5dbc6b1c1714a68379e07c46b25e4f11463d07509dcfe5e360231009059c057c5026682e561cf5a8d675116ae20abca68fbc897e8c932558c5396fadfebfb66e1ba3a41141dcdc3203945580302047c435bb50068306602310087d228a100c665b628880216635380317896ef598a93d1e8a3ae550745188a9cb4ddba8238ed08ab2842601cdedfa0a9023100c7f55c813688a27ffc568b295a6fa8155513fb53d91174596d4fd3b110431a8c1008dd895fc5ecbfa3b8098ae9399f5f0302047c435bb500673065023070a9ebbd92baa8103f56e22aa6d0fc91890b3cd53766544252671e71bf7678aa31bd9387d21969000d2d54f23a0c6827023100b2ef493b924a230029bd1dc6bfd09fc1ef2d6dee6bcc1b2fece2a79fea86153a912c2638d2c2e22a796527a9ff248b8d0302047c435bb500673065023100eba3cfe477f4b2aa9936d89a72c273bfcb8b8df18cb6b6be618b63daf77ef04b61074f80f816e8c417f6adde2e9429d202307bc1e9ab3e4f71eb36d28d0e5a7b7315bf3d8a54e55b68dbf08d386249a59cedc54955a747cfb6e389caa7480697313f0302047c435bb500673065023100d174da2ee4950c62310688033826cead1c1198215bceb5aedd2468f5a8c803921f9b3eb0609f468ad5e7e7682b8505710230683518c2df9df17f9f89f326683202a76ff426b4c4a429eff76e11a828f2abf7797add3048abf4ac51f7a024f160f3bd0302047c435bb500673065023100850953270bdfd7cb3eff4c1895ab8acd18d8463dfe02b3ee7cd691c19a0662283aa5db622683a406601980972743dbad02305528e0549b7ab57d36d3acbc7f14305071cc8f4b2fc2b51233fe2f31800b3ddf3fc0a7ede63e84a10348a1f7b75975850302047c435bb50066306402300abb73729bd358c7a9989e36b47ddc8acc5754eb3d654a893b0d8d000392ee1ac8d9fdc5a155887176566be75da25ae902303ea06c3cbda48bc9b7d340adc9f12b35fbca76ca0277eed5d7fc1d0eaf480faddb7f4f1b232df252c21d56aa408913020302047c435bb50068306602310086aa65b663896a4002144e12c30c9a00c1fde5ce7b29b88c8168e6680e1edac8026486b32ecebbaf8b10eb6518a23a09023100b13d804ef7efc29a74a4b8f764bedf255c664f6aa4ffa6c522fea5d72ddee98e9ad83aefaf4c86754b94fe49f88613c70302047c435bb500663064023029839a6f55919b4b6d977a7a427fac09e1171abbfed831b75a4b833247b744b641067b92ca259d15339f2c03ba0c547c02304f8d7c8a3d6f1d3f74cc54aadf8ba60dfae5d2532293a405c47ccb23a6c8ca540148f4eb030a1c5206e553561d459c5b0302047c435bb500683066023100e1b4b7176c9771944947eafd9769da8bc57ea73cbf1efb7c4cd60cca2478ffa951f297c5d65737f66f1e1eb130473d3a023100866dd207b646a439e15067028642b9aef4c82d82ee41856f28e0bdb0a630dfe71e85a9f6bd25bb7772ae0955a88837e50302047c435bb5006630640230524638766272fa3bdafd0025eafbec7c80d13dbeee720f54e631add8d57239889e0a762f40d465058252ebe86b5cb75502304ef82bfbebfdf0766e589bf9e780c5a2ec0f6d251ef5243ea1109454cdb1ace9098ab811b1cd2828314890bb5cc974cb0302047c435bb50066306402300fdf01b28edfb352bc75a0948f9a002869b9a3a6902cd82433c18854ea11b0bd011fa78c60a2f9b9d0d50be71a8cbf00023079017202a68c2b9d4614365c0edaa2692ba72fb58ef5b8ce3bb80d82d0648634dd6bce5982b2359545e02b477e6c471d0302047c435bb500663064023004863ea0d0730ef2df78e8c61ca35d0eae3e77d40615ee88108dbd53273c3aa007af5f9c9e13ec514f7d0f46b60e89ad023055886481f60653e0c37ae78cd7df6acf0db24008fd705aa7a83b80c4bb644b215c35970275242edc80ea01be91c903790302047c435bb50066306402306f31e9b24c9a371243cc184f5b578655f48d1056f9279e217357b692e1bffb606824e0fce721056cf180a36422e5e7f90230600c04abd9020723ddfa4760d9f8ec3e89e92aaa1e6cc3593005679dfb00cf12066c3ff28ec24c0051487ff3fd597f630302047c435bb500683066023100b51900c84f8adb725083265b87658780c26c8d14d7ef9ef2b40a526ac4817d36bd8d48924b5e1445e45d30bf1d7c2d09023100f5b94fb6cc7ee74b41d6ba1cc7d02946ff8e4b27c7d3286dbc9dd4649fa56a6864bd9155ecb45aae6ccd6830d83b93de0302047c435bb500663064023024110b4ce4b78b605565d1d2cae5bbd2a65c455db10b28ba9d4bf001c588a0c9bbbdf4f0cad6f16d42487e25a79b617a02305299d53434358106533b9340e2e2d55a8ea3c02e0aeb93eaec165db923fa66ff7c3f7bbbdecd20c5548e5bf897fadc010302047c435bb500683066023100b5ba3dada62c8da9429cf579bad3752aedf753c38a4047488adeaac81fae18b848ff12d01d107d9c50ce97243d3a5b73023100f2bc1520a0252296032ab9a29cb1144c3727314d3955bd7c50b10a9d6e13f2f80a038a5aa299eb5d50f878347f3d056a0302047c435bb500673065023100df7ca1b2826ee644ad0529e498770e05296b2f3c745a175a1b66160eedfa81255da71dc03105a306af7090c5b826833b0230377fa106d305f4ca1a4ed1f00a27f8a4222783b09030548e8deeea453d73810fc0b5a897d3b3bec2ec2ff299a42552300302047c435bb50066306402301bb1f186ce4724babcf0025b9b21ea07a41907f392b5292f4720cf064984ed28b8e02b054dbc4fc0110b5203a5d06a6a023039f3efd3babd0cda351aa1365061b26d97925fc706a9dbe51a350070c8412557cf29f676360d3453924adc638ff7c5e70302047c435bb50066306402302ff1b00b9b12f6834b09b40ad50bfb09cedce7aa449f52e3ebcbd650ef29e55b18d9b23dc73a9bf7daaa6787c3077cf702306bf14befa61444a74667fcb446fc596109749c07dda59bb8d6183c2c8404bdb4a0723aa721eca6863929ff5f374a90a10302047c435bb50067306502307f3fa6d5e23265b4a8f72ae8271420222d4d88ef8a2b05f27fc6bcda4b7d1a71f81906e174c6ff257ef109a18cd19204023100a292b22eaf22247f0fd0389f5654f9f1e6bee8c1a40092ee71cc2024a0e40ac31be1578d97d81f88256a8aab0aa3bb620302047c435bb5006730650230753157e6e0bde9ad17b10d03512885d8b6909608b0c1bb43d02a3eb2151563a4859e5094e7d20c37f8835166af448b0d023100f5031a8416d2928e837b9bb6c34804607b701cde944de46c77683e19912da1f984e42b7db7f6d1593646baed5bce73a90302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231009a9bf2bc2f2d82ec25dec2cb1e37d0950be36d58f965e467e6c21cc6813a0db850947f5d3525a8e77f9173bd91354660023100dc273c7d7495513901e8aaa105f11268ba8e38035f33a7fefac4182c42e420b3f731a66a7504fe9da65c707f336009d40302047c435bb500673065023100f46e07a3960a5bb1b36bb960a6ec254e72d33fa5ffa3fd26e3d45182fad735a5f3e3865fa09c3c9eb630d20471c10f510230260b274bb439e0dfa9c76655a4f50707417865f0ef041e93db5ce9c902fd8c21536c5e1f417c6c6b689011eeaeb430ef0302047c435bb500673065023058221d473c779de65e37d5996e94278b4b96b0504d868987d716690eed1f9d58779b6f3d38185db663b0eb1f5c29d562023100ae0d8c71ffa05f76b51b2de3695f77a807e00e3b708970990f6980c9c5acf3bb636aab430d176b0f5aecb4720d756c360302047c435bb5006630640230034004c3bd4161f593b83ac043340404d0d3f064a6f9835a5d828dda49f67b73735db5de732c8d4e3d6897de76cdb1a002300378150de4160dee4c564e191cd638f82edb5d9a687030467f1dc2abed07f2aed84d036156616e380f3c7d2cd4f6e0240302047c435bb5006730650231008721169f7c3253a0bf58e275d3ae4854de832bf78cc5be861648377d1d24d9ee837e0397e333a7c724cd7b2530b095550230683c99740bd0d638377366a272ec453f3dbc55dd8aa043405e161cb89aae3f9dc1a0836f06c655ffdb143d4d97adc9830302047c435bb50066306402300e2c4ccaf12136fae0c4edadcc9940a559a063d36d88220b4e52122b94a640fa740cbb11753efba4a823a6a6674635ee0230336e3fa9bd92c2601caa1844fd27eae0a31c06c621364cfb1c1e3333ab5ade4237ffc6d2f5514d87618b97cbcc7963d10302047c435bb5006830660231009c8cf6cddd1dae45cfb2ae89bef5392d6ea95e7fe6e1fc4392e65b3ba1146c87a1589948b18dceb7dcf47f9b8ec3303b023100985b5c949b021aead38c61855784242d29d5d9d320a80e6a1a7ead0049913a9febe158f1ddc4eb89b00acab05f5c98b50302047c435bb500663064023043c31143b13035a183cab7bbb69e85e4b1feda27a9aa425b6bac323aaf414d297a4175dfffea646575cce0ad8e646b8e0230664216b0f695bd5a14e231726552602a3bd1f83e3529f29e6cca914775279e0c1c93ba844bc9215e51b46386170b64060302047c435bb50066306402300eaa34ab9afc3e6fd4c38ccb4ed1c1b616f63845dfe6caa989bf48812ad4645826653ebdb3317259d72bd56278082ddf02307ac91e28671fd69f1e86dbf9ce9eb5c3cd6e8521d7c6bc8d354736ffbbab23e810f6bc6639097bbd279350989af004f60302047c435bb500673065023053185037362a1985a9151d7f1c1e6cb569d89eac2f467b3ce2a0ac334101cf5a4029d5fb3be177f9c227cc7639c1da47023100e22c92c716fb1aae30ef23a514eb26cfa38fdfd712a0b295198b2cc7e559bfe55a05872e09d5efaac274dd244246f3cb0302047c435bb5006830660231009b0bceb6863c3585925b224521f1e006e4d651a019212ecedb638c68946609f630128651e9d2e5d43ce44653f20b470a023100ce7627d2c1a48b4765e42dd8a88c126ad5fa453357fb1e3d10d7342d026351ee567b1f24e16abe7ac3bd05053e2828e10302047c435bb500673065023066492d0e551d60e165da312c1bc959e82dadc818a33104c135b7f757f1c5f0de01caf61d2bed96345b973e32c14302d7023100c05f82487b6ffadd47b994c2ea276478ac35c30e445cf95489af48ee659b6e84f040c0b6e200ef2d724d648e984b588e0302047c435bb50066306402300b6eca581b038469c555a3e9959bfafff93839b686bb0b7dd59a231484b73b5a355b46cc67cee21eaa52a0f651cdbff8023004bb05a4a35d5c8897afc62b93d411ce5cee866d8eb9a4e204b642260a96786ab08f97a77c8acc22ec4e0e4c2d1961360302047c435bb500683066023100fa2aa3865e0a3d1808880ea7505cf4e8f027cadb5ff24625f2730d8a62ce1a8a25710f357c40aced6e6ff4cae5608f62023100c53cf08db3ce5a1dfc0dde423ae2fefdf24f849cabcd0f022c36b2f068ba55d46e53e4f539986d4bb452830612df0d5c0302047c435bb50066306402302c71f2200d2cb07a570753023cbfda6e367fe26d7d0ec319a979373f1ac9ad22e9b5ef2955768b72c09ac40cf668e3f30230356a20b7d847e7ddb5b5661e20c670af41aba21e0377a960831dfee1d99eeeba247cffd0bc6403f8ea3aee88e406166f0302047c435bb5006730650230702e9e668ca490faefe6028b0d31823c9b0894bc94e632bc370d9e83da6ecd79185c7dbeddb84ae62111da3befcc9e1f023100eb81ff474a140f92e73542f77d3db734ca7f8fd692f976cdee2d8c61c1d95cc03a3f8f14500c92997d790b333d1bf12d0302047c435bb50066306402300b873e8d913a832e71bf481a153dc56f1a903c042875d8ea93a57bb30499b5375ca9926dcb30e8d36878d79e06ef185502300f88bc0b237132d930710dd80fd5e9b2ae22d1f4b7755c63187275984e91c45669384592c1953ecd10436351d43908930302047c435bb500673065023100ca82c50ef4c3011da49b609f7a2f8e0944f60f02c2daf4c79a69fe067dcc516ab9fd3caa1775916009fc9922536a15fe02306cacb70ebc8810a37d98bfed74bbbb84bd86728d3734473e691b52beeb35c5ff22614deafd717de1064e45409eef693a0302047c435bb50068306602310095d08d0cca290ae46c579eea59bb18d4f7e30e861b7a9d63cdbb14c0762b4775e58a3ddeb39602a92d50c0e733c03fa00231009085fc253de99fca16747424395e9a1acbbbac3d397d1b540ada71af16c6413c2064ffa70ec35c087669ea914e6871d10302047c435bb500663064023003d7255d73eb675d883f72b6f37ea4b4d6392dd25a47dfa1bba1fe4a77b9f4d137463184667939a47ae30875af790e4802307d842b0bfa4b2fd5e50d4d356e4f5646a3670f00f765df2cef4041b280f70e1aba68048ee44f4dffba9b4216f3f223840302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50067306502300653bad3940f2a7fccd52e1bf46fb92eb4f20b12268cda5c19c8df68dcc9094f9e23e476deb68aae36a127249f47976b023100f266f9adea95c9754d2cf794df66df6cefc954dad97da7d1e156a41ff4eaa6696ffc41a1a46b49da5c9858a1dbf602470302047c435bb50067306502300f772378d836c081a8553de9cd1c8dcbd3b8b3b276e9778cab9004028c5627484818c140dc37ec1f8994bd5f6ad8f6c9023100a68dccdc2133b3324fd6c577ce1f23238c8978f56a6cafe516183c6fd04978e371c8f14df3a7561209c1bfa1918b34270302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006630640230051fa2223be351a9fd734b1ae6a42008772c791991a86bdbdf050fb4c820d7fcff80565db0186302b52a1bee67ab3e4702306bdc5fdbb492b12fe9e51316e117ae91faa0cba407664271bf14ba69090917e1554a7b55393594fe0cb7f9bb986e9e7f0302047c435bb500683066023100db6c5ff553f68941a71039509e8c7b971af5626decfeaf7d24405fafb44c9e6039baf13d3cc3a659ce3f5c66bfc7d443023100da51886c58845b0c10af9cd252972887ee618c9f1b499c76d07099f44d98620f2b4acd661aa8593c148905fae932a1550302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500683066023100a03336da62849c54afecf231b274a99f09feb8554727153a6fe6101427ebdb55e4ef537b048f1b4f6e299e80be91d835023100fe424c8755ecbaa95d9b558d716785f10fcef14d235b23b929d195cd6467db395a41e76111dc5bdde3430f3f7606a7cf0302047c435bb500683066023100c9c27748d986350d37d60688f8c07b07e3ca0518bf89ec81acd8b22f34bf64c9e214b5874cea8baa95d6a77be7b9652b023100a5c598eebdce05e78a9ad4028c839a9b584a86e3a85651f2976c3a6c919e0d38759c88daefaecb59fef38ab1a0c6482b0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500683066023100dd9176b1f1000689f7d54663647ccbbd0a68d83fca450161e9013516612ad1bff375b8ef9c9cc779053a307a9d54e11e023100eb42a7084ac85bb67e9069f785f6f2050c2023884ac35ad5a0c1702a5cfab0ba876f2b74216b4f647b7e8d952c76aea50302047c435bb50066306402302c37f0bc04fdfce437f16c2bad0274a448a04dc5fa463950debf586b6ecf59b2924a84a988c2e8df63a148c3afab76560230144fbbf85f0d33232d8c619fda5d8a2ae613e9a8398db1ac60bc9b7fa9291d908c7647af9911440469ebe710a1487c510302047c435bb50066306402302e9a68e11f904115efb7fe14632c435a8ca045b59bc679c6e343be911f3bcb6bb6fb4ea7c62af1fa06693faec59aa74e023031a05fc148b01dd39e6d99bcf066179c3220e9e7e2238f0967ae055e9b7de996dc58b6d73dde6281fc54e9d5fefe8f3a0302047c435bb500673065023035ab6aa3229a27691781c50526efe8499a538efb10caea283eec71b264188f62b64e3c59fe5321c8d51181d00aa525aa0231008a22207b9c58f2548fce489e378e014efa3c26747a3400e94c2bd2a5d176b35ce8e3b388b19fba1ba81a50ba7167b9370302047c435bb50066306402306e3550ff78880118a7dcda2362c511c2d3858760223768a4d2cab63512da349f1e0f58f6263deff0e3cc34db6af0936902302ad6d799c7b564a16fef3cda90440ff75d67450aa02d91bf10979abc8c2ac126c37a452e4a03e8c2f0a4576a07149f3c0302047c435bb50066306402304f6071dabd6f7439e6cc9857a990c72a671e4eadf209f4e36041748092e5dc5dee53aa2725a4da3c0bbfad5bac0880140230012d4d4a62130b42fd327aa89e50079ad422203d65fe2d1c43148d9fce114917c7599c1abe6b3b04f16cbe154f3d19740302047c435bb500683066023100df0ab4dbeacce7c12da8cbcafdc5717b3463726336da4ec8bc69c660694e5b44dac0f215350fb5f120f47e2aeba59d370231009a8efd2ebec0737279a3aeeb77372194fb6cbefe273184506ba2b71b1b2e83a631af3f40ce93d668b8dabe93affd4f5d0302047c435bb500683066023100d5238d8d517e4894f07c8686b5e8c66a0f4885bb1f111bbadd78c4065a7b40996e41d8a941713c9c393c64b36e70eb920231008a49f0a01beab1c43b182f977c6e878ef377e8443e013f14e89fb4708a8e936942fbbc5dc82fbff2f320246a06f9f2b10302047c435bb50067306502310092f5f06dfc234ca780a1667e59684bd798c74ddfa286f7aa8c53d6c249d2fd5b5c0a8be3bd733147a8b2c063c90f18e302304cf42c5e37b8f3eb366e44ad58c03fceb157fda5c4de6de3c24388b134b044d0be119ff4a85adedefd423240d71412760302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50067306502304de30d7028761c120346e335caec474d6cca8c97451df960e6eb543914bb21a2f415698504df9921e85369a9a4bed44e0231008a18d7c429cfbdfaa1eba34e33dbf40eefc9e8346a3e092b97fc97085d8d6e87ad86a12b9690e26ee366882d59db88090302047c435bb5006730650231009ec819a6c20e78a6ad9f13a72ea8e651778884bc7232da9d86f5bc47afeb3f49613eb7e8972eb36faa49e3a1408c86dd02304a7bbf7b6eed65a2077af9a7c7f23c22a2b19a9fa032e9190ef578a52381fcfc808b84a78806b77b4f493dee6dd6afaa0302047c435bb500683066023100d615f65e8a4fdb0115c54fd26fabc5f5e101442e7dc358e42fd5a8ef0df40d9a955e96c2251d3367aeb69a13180e0b7302310089f1bc1e8a73cd312de1b86a464991d436ef5522c09e29ee092a4d3866646027e8376e6d7fcc5095a9f2334ad9b123130302047c435bb500683066023100eedaeb0510b0cf0012ab5a800c92486e2bec1fb904b52c05834f020d084ee4e429993a2d4cf8b4b25e66e62d127b54b0023100ef2f9f22ccc882630f163ab5cec5cf62fff662869c0a1c34e6042ca428163c5d2303d4ac50757914b64d8894cc7f1d120302047c435bb50067306502300611ae78f63896445fe1b18486fc1575cb54f360f1af9cc8b70d1825628fb2517a63e3c1eefbd0e6f113b50a5032c22e023100a0949f69862f7032371eaa2eec2d4716810c7e970019525d6bf1fb0c17f181bff4a57b6424a98e6948b38b6dfaae73f10302047c435bb50066306402307143c852405dff368a2b33263ca8a016142260d3ab8572c4eb9df75e540c797031e6275466222644779dd722c8767110023073cfc271eaf121d27dc00c98f1341049cd1a62e685f4988754e149c9a1d628948de560b6fc9ebe9838f4357ca89309fb0302047c435bb50067306502300fd8d2f999ee134c2e64679666356d9efa866290a99edd765db71c4c3e6a536b8d8c5db80c35469fa9eaeea286e73c2b023100c30b5a47c18b3c355c15d31eba7ececa6142f2b87f3f6dd548bd291ac2572436402076a06b35ee180ec1b666d581870e0302047c435bb50066306402305b85537af54bc60f5154211a83dd25a7abb8dc05145e628c850052e9c45767fe539b0f6137f287db6b6191717c7c798102300fbed1dba33415f7c9dc6b0a622b61e0843cae23441df6e8bd9bf8f5df4619f4a320bbc85f50c2cf5bc7eef87f3e5b630302047c435bb500673065023100cdf6996892688b00a9c860998a5a0ac3e8068ec314265731cb6d60e82d83c146fe4317872daf3f9b5f0b231cc9eae6ac0230048f55c72c61a804c72b12bb2cdcc993bd1b1af23aa21da0e45abb4d5cb073834c1a1a35507ab7e2800ff36faf4646390302047c435bb500683066023100ea0ca51cdaac29c9f3ad523197755a2368ae492088ddcbdd4b2c4315576de3f488eaa04c2bdb19474b6514be7846959b023100ce929f5a1beb97c4c32e42439a3898cbeb6dd9dab00baac90d4ab1b5f1986954967a3a19d0cf97d738c0e3a808d7f0d70302047c435bb500673065023011a6a7f7dd4c6951f28dae8b95abff1b3d0b2516fbe4421026fee0996099bae879af8fe49581e673517cc599833d4e2e023100b7b0e3c654925fdbd2b87d39faa6d9c0b897960815ac4a9b1509fe5fe4ed6c162c9ac8c9475afc56358729fb378e7bb70302047c435bb50066306402300b7055f7d0292169b835fb1cc0df53db2532a547d2ff8c92d8c100c106e2ae2d77bde945c434a316cd1fb67af445ce890230502cf413944578307bec43d1c860d110f1b714055ba4c295c3a057cd51a259051080793fedb78a143fe836876366c1ab0302047c435bb500673065023100c002599f365a5567e409088fbaf916651cae90e091861ae3cb0c8b5b90bc389eb6490434fd0c8d2f89f21992c538393902302322128b9439c5efddc2f8a59b00755c5178f1932eeb075ea59fdbfd28789dc5f5f978d49c9d0b7a2f52e44004b18d9c0302047c435bb500683066023100bfd38e91a789e75129c0a954823ea7770b705152afb92cef6818250ce1c8b83302f051d2ce6183a2e2a616b73a6eb0ef023100b6d12000c7d05fe2bbbafd45ccef44697cfb1225a238e33b9b1ac2c87ce4fa794baa8af36c400e5c02c763d55f0e28430302047c435bb500673065023100c4026df35d3741d9b2c3298a4169694abe1baa9e317409e781ba07a8094a7fc0edf5ef03a51bed96ea9d1039e6b11c1502306247b4c8ce098a2a2b267f67584db4ee22f3b09e2bf8c94edf7bbb56cf032b8f14d0d9ff4f9070e94d2aaa5d573ba98f0302047c435bb500683066023100fe3d73d6503b9ceb3b8535590e25f305ce91ac31efbb6f4f5ec2e372e0b486d3256aa08ba64f84956409b76bb8f32740023100dc7f6a1c37cd365405dd3c600f57fbc0d3cfe7b7423f74dc03899e201dc46e4cd2e3c59ff43149d5874b601c0a9d2f8e0302047c435bb500673065023010e2c51cc1d7128b4022bc2f6be21d2115f56f30d087fa1dd2897f5cfcf262628acfb3a5eb06d99f4171da6a46195717023100c73423af6ed92d9b962ce7891387be2869a595916b15fc6b306117d60a0609ccb74dd57d9fd884d8bad3bee954cfc2d00302047c435bb50068306602310089fdebf19a821badffd93fea51d3a74cf6c178088b4d15ce754ac37e8ef631552cae9954ef4396442b11752581b1eef202310082d73beaf8affe849e4e9d453276ae785fe64898379d0312dea4c7e20ca8a25fd643e8288c50efcde1228869ce25fc600302047c435bb500663064023048d6ea3a6ab46617a65689c2cc13923260b7e476601919cb77aac4464f3e1414b7609641ec7d2cc91acd19425495d180023057d487fc1e727cad16fc735a099c92a5fec5477ebfd2f9d188e599539d7ba08cb4692bd595b409e2f532a4b4617e18330302047c435bb500663064023048f6d9bfcc0b6fba6b6827a3a7278a2b054e163d1f09ab776ce6b26c396a185c73ff65637262fe48fcd07a88cad4cddf02306a38a5a52d3f569f95d1a38797f321bdf0c4d8a5677591aac69ff38864fad136a2e7a8f625e5f535028c92ce3385edd20302047c435bb5006630640230447fb484c0a7484f43d93beec193835a8cc4d5ed72ac16daadf2c52855299c6720eb272ffb227c06e9bfde8b42dedf1802302d74394bd8d4f0aa61a8fef47a2f5593f538f23e0d2d17c041ada147159feeb71aad2b10b3285524b6d8df076a3991a30302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023100e618a5e308930d6332f2431f14a44ab093a15c2093fd1973d1d45f6483c8927ff6035b532b56607c2dc5d8f521e7c07f02305a145c73d9974fbcad9155e3eb47edac78f208524b6ead581e2bad8f1543e77d493e7d74922fc001e17723d9a5cf973d0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500663064023066324c6116eef9eadde2169099a23e6443e68556d84688d7e508a27138483f5db2dc9168afc8641aa3b05f8fce64b0fd023028b36ccd8e9420b86be4b4cc0ea720ef0e186d6db71e96025554b827b20dbd43d89acbabcc624b2ca1623878173459020302047c435bb500673065023040f7fa3bfb6e68c84de1ba9383b27de5acb053c7680710dd01d1db8604165aaf8ba61cd7e5004e60f8c370f16c504f72023100f3c4f386edaa3932f95165b904827db7b355da29e7e3a2a43c516aa8f0cef38bc6ff8d386bbb97f49bea50b51f2788410302047c435bb500663064023072bf8580506667ac978fee2f5aa5cea0acd7e4949ab01dff94dee272e69fcec23607f3efd98e8d2f7d0c172d6a97dedc0230608414044aba41a0e5b44f97c29d4d42b7e4d30c90e883a3258596c5daa81a8c94a13d7b91df879ab120878f62687e170302047c435bb50066306402304d0faf542c797480d685ab477a7318603a386651e76c375cdc79f3794bf8ebcad65abf8e03f351538119b76e7c01669402304f5876b5f8e85b06d8836c58e9ef95f610062a549bdd24839c49bdeb4b0a6dc3fb3f9a8085db93bc74931733bed0aed50302047c435bb500683066023100b6f7f6a1b8c615e6aa0493af0256fb4199b551133cdbd368297e0ec494b298b7ecd5f97396617029de6964d06c7f136c023100f102de501fad1a56da3bb00bb426b133ad0333dca3f3642d18c6a5e26b8b4b722cf4934baa47a61996fc47a9ee6096890302047c435bb500673065023054a26a0d14c14085a20e5995aebce3f1d776b458c5058139d9e2c2d051c5dfe030ae3a6bcdedc81164e875ab1db2faeb0231009085d5470dd07254925b1e0b1c7830b7a3c1c80bc75c32f87c76c13ceaed62f5d68566182cac08c3df73048f72aa348e0302047c435bb500673065023100b70e4bb0e802671ecb42151c5e81738c3f882eacc759161bc91994407bc67cbc0a0c5feae17b5aa171d092597ab9561002304afe2efb9ec38914ba9e31fcc2228fb42d3afa9ed9225570c517849de7b070b992c6a6cc5f5d77003a5c649e8d6eff010302047c435bb500673065023100b30e39a8f33bd948c712d3825eafa8bfa6743ae2987adec65ed459023d592834f50b24b282380970c4d1ad070d4d998f02300733f74b36aa5d5fda04522ce82baf5163fcdde6011de55218e92bbd4c014bc24d6b6996bfc7a53de86a8283d8b8b4600302047c435bb500683066023100b919fae1af80b80e1b6dc6ff4c1921acb79b3b0a58edaf83bc262d987d42d40d279165774939d0137adac9f370b67b7a023100e384f12c1a114308f3a7b03fb74e59e638d1f74f8688c78688791a4698776479f750590c1f162e28342036d648f021d90302047c435bb5006830660231009e182d6516bbcb022b59a8637cd76384a7b8a1fb834490aa7f0ffbd037261c09c3ac346e1d4c03f4c438ed36862e5f32023100a720a79ec928c0c7cb17c3500bca05b5a1780336b6899d06ad5de9ee5c77974f4375036b2653378595cbff3e92aed6ef0302047c435bb500673065023100a310be38a70cc26c7847e452102752dff2baf7f061cc394806b475422d585cbad283aa8ab372c8472dcde9c0f05f397802305d321f03a0fbdd2e433b4204073d848ce3ca35b3d8b1df71887792ee73b95a6f68fe922e426548d13dcffa05a09fe5590302047c435bb500673065023100af86c16fa962c411c637285d660ce67fc25798a2910d40e9ca88cff7b846b8b4e9dce011ef143ec029c419eed27bb4f1023035f83c821448b5c615c472373033cfe43ee23103b4ef9c0e7f2ae3055d09c55c91027f90dc882f727498f3cc8ca032160302047c435bb500663064023068a25930523823790bee0b78dfea4d2a3568f5b611377829f0549e8ea55eae6e12099c3517fd8d06c8f0d48e83143c6802307f238ea66637131c094a3eb15e9eb77386105e3f92dae494c85150af19bd90f749042d9dfbc012a5d2993b07624975b20302047c435bb500663064023018deabdb60ca04f713ef29ddc0c2825bc8a355dbb254a638bc9c986bbd538800b8b02ed92139a65552e33244f54ee2e9023062a74620d2a80eaa516f5ddaaca88ceef5d21ce2011b39489c16ae297be1748972a96f6f2977560e8238cdbfc158ede70302047c435bb500673065023100e2ebcddd04b561111a00058229a67278266d6111a1ff9deed0a99a7e967910da77bd71ef938a13f5e4adf56a2248faaa02303f92ac72dc499e1579eebe87feae9b1173f039d10daea5d1c507518cba6cbc4bacaffe057a7ff9e62ebe16ae92f0eace0302047c435bb500673065023100ee819fdade8ccf579ff0c3bba16257ef2ee1edb39a1f110de52a034bc5ef4c36ef1761a8a601abfd0d6aadb12cbb169302302c7a33ba27f9fdf425da123b7a1381e6789811937f03fc74057835b35bd78eebc7f55228fb025b94b1392f1c59478e7a0302047c435bb500663064023077c255d4568366733475a27d11300c47866445ca111b1daf7ad5f81477fd76e1bcbc1cd5716bdd155884a6b807bdab1f02303520125b4637fbb3e207974c46f9ebdbe433f82aa978c24b1405bbc5747a471869be51c877634c77f69e87ac76de155b0302047c435bb500683066023100b028e15c43ca9b2cfe6b94250610b5e8616f31035948b328360805257648b42f78e57f5d2d6fc4ec786ae8bf717f693b023100fb76a679aed6411f7cc3fa1b58615dcafa48e84d4a115ec72192078b6e92b154ebc308a85de25a324bf374e06827e10a0302047c435bb500663064023069c7e2400098f371a2e6dd331c4b8660b60d03a6411b31792ba41c0d0ca5b62e46ec8de1559efdc9ad32896a6159c14502303687d9ccc2d230283e51b762681654e43776dfdf83d3a274452a67acfe928d4c52107cb49c4910b3259cadb8ab168f470302047c435bb5006730650230783020258ff059e1277c9ebaf70b899b656b2bc35f72bed09b50cf6553bec4b4d9e9cbee1cff4b4ac2bc7a1f30c33c84023100bbe850fe1428eda31b140fe7d270c7ada7f200c2a273783813be9578c630d4951f662159ccc5b8babc824bd8c8377cb50302047c435bb500673065023100d6d2c818134032038c07de13481c18ca2fb8ff823be0a89270040bf248aa1430bea4583354ee2684608c1bf03c46362702304b037f0d41e0b23023b399f068a5db3f015a31c2a2a0f2f8d0bc37aaece4ab6bb3603015be34cd040d4fbe2bf61723460302047c435bb500673065023100bcd1f5ff1a125da441649f624319102442501542f447919977b4d76efacd593dd1515c615e3492a5a0e8e80ab6664e3302303dddc6d04292491410c5e519b8c31ba9c88d1748e94f7175a283e69f76fb86781805c00e7e16ef9c873154310122d5120302047c435bb5006730650230546fdbc962ec8d35514458f08f187804e460dae3c4869758e2f689ec656617f7382e2feba2419312773997f0ea1570d4023100ba893bab5951ad8c1aaeb6e2ef72c276784d571a1f6bd96ae2392c7c53617459e22731d43fcc8c710c67d5951a28ba300302047c435bb500683066023100c8a796c7940739456508e63aefe50fbd6b554828bb59d0980e1c05d244fc82a7983b0286e582f7f76dd3500033e083a4023100e72a443116ee64470fa382c90035cca50e43bf2b9cc8cfb890b76a3b850f28981409faf04eb83c3bf0da16299cced6410302047c435bb5006730650230221a9b88692d01e687bc5e5e9cee74e5549d8f2b2c4f5de7e0bd24c891bdbe6cddafd03c93638cd06418d1eaacca7903023100d4018f162007727af91972293f4129326f44c8f6356041a0079b6963b85c348c3d0833158c0a8128f39c10b3df8bb77a0302047c435bb500673065023100982d0fcef60bc3a71e226ab88474ddf4736d520f82c652550625f2a467e8bb9d8dfd09c7d8da23ad471cf5682644f7e502302df513f97842ee9a2967564549802e00edc7f26ab74b578d44c1c4391ba0f38774c27ddb94192b9a9b74a34171e3fee30302047c435bb500683066023100859adc3c40f6858e96a5676e3418260e878d252bd78a007eb790c927beeef69d2628902a6bacbeacb0402b48355240bc0231008cefdfaed7b4d26dfb5a4c23f1514080391c9a9cdb8fd2fe5fbd38fd016bcd8670bb2dcfc15497602eed937e6efedbd00302047c435bb500683066023100ec8e2577188b23271e4e7a3c4ad35a203a7dec1ec4ec6768604def12ac744765ab342912245bee45dc1361c204d56cd2023100ccc30f33b240dfa1035a0c1218860d05be168f21a0adeb43959f00bc2fb2d97d6a682f981218fee1bcd2dbadba7f9b560302047c435bb5006730650230603ba1689dda36f37f7748782ad0c67ce9fd47d20fc0363bd11124b179f660dbd1cb8837436822a7c1cb8bb3dd6a1fbf023100e42ce2f487f072640942dc0cbb9b3bd4be2614b85d6507e08d58f9efccbbf16ae7a215c5e1ef40564661f207e9e6ec360302047c435bb500683066023100cb29864e3000186df60265648e8dd53478db7e4691abd5f8228b850379ff7fe27c268fad9610423343743a81c55c0f3f0231008668334b432f8a9d83b10c1335e4979aae67eeab5d08f9611bd625a20b134ce2810cf21caf7953644d371b5e1d7c33160302047c435bb500683066023100b06239e09e18fb214ee7bff9359ad63ccc985efa9af2eaa22391539111e6154e5789da48d0a14897d6c65c246eea19da023100b49d480fe22ca982bce740eb974ab59745cb9d29d38bb28176e17b7806956c21f0d82b34c7d77bc015766e97734a69b70302047c435bb50067306502310093262a61e87ab092997b974fcdfa0366f70a5615785b8d6e59aa630c048345abef563b9550494f42fd8a97d63bb86ff902301c09f7c196de58c9a2e51ebcf1c31413fbb292f9018ed65208665f8c17b3cc6949c804105b37b916e6c27c4991c92f0b0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500683066023100f27f3cbe882cd2e93b44084bf4f3bda4bc598b331472c85796d63e0eb6ded48da94fde52cdeb3d885f862f7d361faa15023100e06cc6fdb6ec88aa0e42d2e09e566c74ff0593041ca40be4e07a79ef201ce807cf768b110a34beeacf47e14abdc0380d0302047c435bb500673065023100ad0a448325fe1de11b23df24fd136a7e6ffb56a0b89c517b6b07f8d3e56d5b0748b737e435937bfc5ad9cdf5f5daaf8d0230530ec018cbade010b9fbd9026dd521835ec3fc7ebd32dcfb5931ac6dd941f8e8888d4a6b5a3f08ab886de63573615b990302047c435bb500673065023057a915fb3f98c6c56d78ef3670ed712281431d1ce894b26883b4de685ab708f4fcb6c1b71c8112d73d60f32b2a9845e0023100f5718f6ee323491d8abc8240c1b518946c3c8e4bedf57225ab071bb1b28a8219dc261b7f63fa99952edc0bd6efffb6f80302047c435bb50066306402301295579b622cd1027133bb5bd0c936cbd176a824bafc275ed6e1fb0cc3da75836fbd86faa3d6b3a11a773355e5ab8fe4023011a41d72c46680db786c01652eebfc57bf7bd7b39b73eddc3fe5fd87140724760a1243edfc2a4de810f7d9378ba0e7b00302047c435bb50067306502305991ca57bc25a53511ba62d0f07541a8caf0b3bd0905193519921768ae14afed340dc4ead416b42391efad6fd0a2c6920231008d923566b2a0b8be4a0ba6615d9f305b5d61a94790c8e632966a6ffe77841c5edc07718001a12d5a853d5eeeccd7d57c0302047c435bb500683066023100bdbf9a0da2b6238efe25c850abdf8e4bc85170718719c13cda8e8f4004000c5ab1d9ad5a124ffe03b13812928cf6ca0d023100a7a6d1c56b3fd53ce8ec88a46bfea74e95a18766a647cd96ebe3d5a0c4513da2b5f29c9c48d6885e4c5e38cd4172477b0302047c435bb50067306502304c3a25002e9d20929fb1c610713c68a4c4d3bb9b273de97f5993015816ff24a834210a713b698a5eed19d8fe97273ac6023100ebc403c0a217057124236c809334a001a7e8810bf4acc7040751f792133008d26e8d9c87ef97921c5ff3f69d8cef3eaf0302047c435bb500673065023055ad56fe0f8f40e7b4e2350321a476930b0ce249b93e6f2bb4e985c1b7f682a803a3864f812df5ba0baefcd4eda746da023100e3df8b3bcc886344826c008c944c0110ae6dfad73a5ab0f13a541df4eaa8281a0c38d8a66a5c10d13a76c9cb5dfff7b50302047c435bb50067306502307965fa1586591bb872a9e58bccecc2426741cc8cd6f76131f35dcd4c72ee4c739ac1e6e3e0f599aae2f24198be1cd9e202310081570e43b432dee485de164157b2c6d23a3e9b738a471d46a4ac5ed6195edc1d39373424f404630c1f0494cc0ec552840302047c435bb50067306502306f2209e80a60b7cc18c9d230d8d5ae89c47e307d7460bd5d9569519a7683855a46d2d2b0496d8a9338685c9e130db6a9023100e619ca374727a77157bddd5093829e904b724407d6e13280960cbee092172fd329bb36a84002985f449202341919eaba0302047c435bb5006630640230551a70f4acff66427d7f41b69e75533e9f41b8750006fbd324431e56123f7d1b73de21bc2f455f86cf246fad67fe022d02301aabc0c13d171f48cb7f1fe519323de2636f70dc4899b5daf674d9a6ade8bffa6f6b0e4bf1c6d60da797ddf29da3f6dc0302047c435bb500673065023100ea5e61c46ca022a5937f8325502655f3e8e6f52cf4e6626f6a388323c0e4a62445c765bbe72c36c5e6694c607ee13c7d023062e579ac1658bfc84f9e108873ddc93f1eae2625fcece0b077549d5486cc1358dcc6f60a3d311ead99ac13b176b7b5430302047c435bb50066306402303a51e1706da379bd2806536eeddcf065577a51e92638875d69013ca2770eaae4b86efb3f63fd8c17852140c4e3be36c502301303ef0e4edb2583eb308dff28887b1bc2948bf11929fcd8a7bc865c1efd755a4b82282722299ac57435d41b4bcc9a230302047c435bb50067306502304eac540ef7859ac283c82014a9bfa4855e5d7fcc667f4898e827f0f45541581d95cb3370b3b3891f75fc3de7ed081aa1023100c29a2a47e1c14484273ee9ac86dca40d1d6c2f909ea8130c905aedcdf82a5234abf9f48dc4c0a559d331c5228a0c9dce0302047c435bb500683066023100c848e5aefe50ff62eeff2fdc5201496ef869add534caeaedad6d745093216132708767e39d42a492cb28c91bd27e7de0023100828a5acda937a8123e8c9e32993d318f735796c07cb3796a5e7c0042f85f43eff1d9e92f196492298ad583c15ea07f380302047c435bb5006730650230179be7ed0f58cf8391c860e065d8fa0f22ece168f52ce301fe14b5aaac31e1fa19e52f962dcf4d71dab78bfc8ef018e0023100d876a5b696a49532252401e0b8748a64ae47ea39a68075b8159d68df7ae1577cdf600f2578f98db009ede781a9ce69ed0302047c435bb50066306402300d88fffb5acf89c66b9a5665743d5609e2c9c20641657fa77121b6c1101fe338b679df74bdc86f619e8d00ce9efbb78e0230564c00d495749ce8f1d0392819a32d90eaf5d449341f587601e19828310db14f682fcf249f9306de946d819072dfdd1c0302047c435bb50066306402302a77398f95b8059687c2d99f8cb75b8a11b3c53af767c132170ee41a35a2ac758b2f1b52dfdb647a9261d9c705887fbc023053b7b6a1a898b3342019eab3fddc99316d48b53ed31830092abcc78eb9b6f2540936ba40e9edcbc6808c0a9e3d5a91f40302047c435bb500683066023100f02de1d0b3ecda2ad871f66bdaa1c4d065da61cebfc582d040e4e55bd2c5844a22f874d81c862dddc8de8951c2f9c565023100c4e368cc0474172632433edb7b7a5dcf729dc0ceeea60f2d9029cbf4cdcdf01671723e3204c07e63fc606b25c6ed01b80302047c435bb500683066023100a0d37dca1350cbbd750d80c4103bfab39cf2d611b6a9092cc52e58e79e6d6edda92161cec12fff1d4f578392278e6f11023100e6d77bde89aaf9db2886cbdae2b514a78eb7d5ccd6cb20da4fc1b0df4b36304188265f727a5b3b9511106baf73790bf20302047c435bb50068306602310094efd242581eb8a916efb242dc9dbc79bac6d5c30ab0bbf2904e72fd0b9bbc39debf13bc5dc2df7633839208b4485ae4023100d5fa3488eaa87e8d05ad3fa00e79b3ff6ce8fccc8320f3ec7e3e05c7719597dc72f533a8b82e74fe3946fc2a19549b880302047c435bb500663064023010aab0a29b6ccc7da1c28d7f3f8c27ff0bd907635d9df045228a0d5e41ef97e5446688b5e1ddc362b113763e4cd9a3c40230065ac274e9ffd1fb1ddfebccab9ca16e442d132ebe93be874f1ca6fdbe65d0bd4e890b0da270a00adb7eba6abb425e320302047c435bb500673065023100b43054e247d48794247fd06d474adbd1da19e069f34bb08f8d8931368b370647fae709a14c5eaaa6cb3deddc8604e6180230594416d82dbfcf20784db073c60acc6d116718e266fac5657a7440843902ea107d99be2c73156b75cc2561e045501a720302047c435bb50067306502310090d9b3d1e944c56322d9ecf3f10dac6642eceee18ec53429e9e2aab45dce12b32bbee15cc5d8f27e802a2c614cb51a7602306ddcda05596d4b00bd11c50b55327355245805490e7e0333c27c22849d6b7fb41e782815491f6eba2c6fcc558f2cbcbe0302047c435bb5006730650230351a844f5d96ec1ce8308042b266b87182e48a0139acdf5446350770c1abe4c908e283fb6b25c27da6e5cc07d5d5749e023100c1cf4becf093cd4b1bb3734331591c87659ee57ede99c01ec3ebd74e38e33fc89ec1ca73377de36e926e3441bc51ce5d0302047c435bb5006630640230319870f3ff89d189269bc2d9c4e4ced0fa9d5694e44403c456977bfd78cc26135c1bbded2e0cabd8795265a337ce30f102301578d8569cc245f2dcc57b1d4d59d9e1920379cc7f94df4d2e3524619a81ea3885b96ee3a750266c747466f6cce807410302047c435bb50066306402300bde01cb091c91ca43fdd850c3beba3d1f3fe425fe7f27d5e3e5af6d08458b3c89e16f8e72a90779d33752584e4bc8ed023026fba450fba6e44739ccaf37cec7ce5f1e0a2ad973741684e61c6cd81f55efb71518b6d309b3909f3294e22deb63cca10302047c435bb500673065023100eb5ee7321f79ed19e1b80388ec23952d17f96d551b931efce020bc5ff416d486e4c756173946ece2e5ce631891a2aa390230168e16e3303b9de1786911bd7ad6a31bfeb34c59792cd54bb7c52b05c163c696ff9498a3a43c56f8df7793b98e5283fd0302047c435bb500673065023100d4d00f96da2c4d6829251336913dd4bae001e55fe803b75f46192ab99c4645276611de3bdd50e06a880d4b05fa45348602306b990adf895661a2ae2820d47279b20124f3e1b3c5109855c6163c596605a067e3153590c7c4e84e9397337de46009340302047c435bb50068306602310082784ddedab79cb5fd35da3ba4f3879faa77cfece8bf722f7a09c0c0927d3e0a6c85094381439a9d55a1e846c9d24424023100b8dc8b31ea320b1bce39a149f75b7a1d2792f74a52501ead2fed54c08eefc2656bc65c6607d357f42d17d6c62b83e8a90302047c435bb500673065023100eb5900b3d7452ceadff386861037bec720d39a852cb8ac7d48b48896b6ee74629ac4434eb07ddfcf665325de7c52c02502302c2a4fb896d1aeafdf1d8c3cf12626a1037efe0f83555b76172b37bfdb5a9260286715a076be858131f9b2eec6c0ad490302047c435bb500673065023100d371db285f2065dd3d82ba95ec00bf8e7e0020be1235c3950f9295c2a027f63e517ef3d70f7d43415a6f2264376966da023069d6c94f24eb2e2944525bc01b03570cc5c2a053e7280ee7292ad1c766bbf3a78a60adc72ecac7bdb2916c787f3d03380302047c435bb50066306402300c1e186ebb5ce1bbed993a08404a885843d229441247c1250ff4cccfe2f19b718091a68c2ed57b73dc5c7d3e4f64a569023015ac57df5c0c2d99e1cd43a0c22af5c0397be39aaa4df904fd7b79361029b3924c087187f9ce99499cd8fa27994be7750302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023046d273d7c6fc50bcfe77d867f8bc4a4e6a232773538f88524e7a560a53484c9cc2d5ab1c07df3f1448b6af64688a8814023100be18c928010e8ca0869fde8e51456b79b1d882b4fcc488051b92872e76df37934afcbac292f640528d8507cdb9157cb80302047c435bb5006730650230721dde1758e8156a4e56f8cc931e2876c8f7e48cb03eaa170d08ccfae9dcc7644d7cee37221321621267bf48e24a0ba8023100a1687f4d912b41278ff6f913374a6f842c284a23ac2348da74c0ec3289312bc6260f4d5022d02875ede497d3ae2511450302047c435bb500683066023100e73164d70e9476d511d1a9050a1678792d9099bf252b80f73a7d5031b2dc879aa31c1b3514572be0080b089909a9fdf8023100b119b9315a7c3ee7e1afeb8782abdec1e42b3dc07e5325a6cf4bbbdcad0de801df7c370a453f2e2d479997f4e1ba00cb0302047c435bb5006730650230395dad211cabd649a34dec7fe02e52781d5c186fc6e77eb9d98287f6a510e5a42149300fbefdaab02ade048979e44e1c023100d39fba228d4fdba376ffeb5c3fff45b5b866fe608c8339d1fe7a5f142941d935ef568fbb0fa0e8ba29b66489f714f5bf0302047c435bb500673065023100ad97f0139458750c7c8d60ed9192d3f7ea30b5448c88f6c284c304037bd38b19fdbba4d29c0f713844bd5c4c1085a68a023074c2f1abc5c81dc8740cd5b2469dee59853f575ff918d43887690439462340aabcddbe1b69c083067882a6b9f43d49210302047c435bb500683066023100cca1e4e112cdd88231c4f36b6bed049c36c09b2f305f0f181950c6e56a9f50f3d96c626598e48f82ece66765e51d0e52023100a8b25610e0ccd118fcbfe266e3f30f9d967ac75a86ce3f99b4145deeb9e65f4b550d929b4f5747e7f2686100e2c86e890302047c435bb5006630640230363966a7ac1c8f08a7d25fb2a6e65e3f867d5fbf19bcbe3a616241ad9492ecd6e1119343aa544b0730511c79ee0e941c023019c87c8e55ed9a67e13896ff8618887143b7dbb6713bdb8180fe087c6982fb4765ed8ce1cf95dc49a91de2fd41f6fe790302047c435bb500673065023100dcb5cbd62c8e05c6cf8886f45485e9815ce7faf0f609f5a56a1c9ab7a52f7b520806651206a0c82e41fe6b8dfd6d079f023065179a375387fff73b09205fe4a776142be91d51252b3ae7e4681b607f9c332a6e5ea1a13c8f4c504467d1eb4b6ca7990302047c435bb500673065023100a756fe98973b2e50324d82af4a7ad481e0b2835832b8e0ffe48173177cc3f5d2837cff22d3169af3c988eaf23eae2fb502300678e842d886601071dc925a071f4a32d721b77f2732792dd50fa4831331edb1289f02fc9c5d6fb75650f3c2046bc6480302047c435bb50067306502310080b2e4612cc85744ea36f0d5cc24d17c13efcd4e92feb747a83fe6a76dbe00509ecaf01761fa19e3462e6239928bcd350230753942198e0d9c107649c8790241e1e433658dc4f64bf59d3c63dee31097d38df6a6a7372902f0c9a757082ca92a29190302047c435bb50067306502303382fd6997421688a592c3ba8257cacbb102b9c60da422fe552be3442a6be56efba5b5beacabadcac7abc06a36ea7418023100df48c7d2d7a45361defc074da83b833e3c7e46ac40db1909847cc56e70c072b543ea8008daec0f53448425cdaf48dfbd0302047c435bb500663064023005b3686de0ba781c027700acc48577aaaa8e12268424ca5a561e09f688c556c73d134ac05918064bf79f726a029070d5023053fa2ae5f27d4a365cdcb908cb1c13979702884ebd0b440374d89ab9dba03d80f789910b0bbdfa1f984783d71a1cbab70302047c435bb500673065023100c1ced24047a5b16924af10f491a00befae9a5a4413a9ad1fcaafaa03d86bf5bc19545d6d28bf86c734c36c1f4c11ce5502306ff276621b840c3f9d95d552716d1c49945c896ea04b30656598760df80eb6b0a4b201267a6fb3fde1275f1be766b7510302047c435bb500683066023100b8dfc06baac4bde0e66d490b3b63f383526858e9464b77d88963672372af0f46b3b1b844d7ce82655ff3bcef96fc97e9023100d7baa7625c851ad0426b5f4a9f40725ebcd562164552b63e687fa6bc74cdb322aaa75042628c043d637c7e472b47b86c0302047c435bb500683066023100b61ff7da30ec42d218ed1524808d50cf5f48fb0634e257e920fb326417961cbd4e7341d30fad7c1491ed07e76a76f17a023100eea0e1e4ef71f786bfaf77d31abfb8bd6137839c57f84c1e45dd72918eb08f09a26971ed38878f94b704e395be37cf9d0302047c435bb5006730650231009bb7870ccce174fca6c6cb3c1816f32a64b851fd6e0ec0acb605704c883427846761807b50f1f199501c4df0f41b280f02306a4b897eacaba54f99e881a0572ba076d18b52d340662500474b4de2fe74300dd829d479cbd6be3c53862ec97cd4e8e80302047c435bb500683066023100f05c51303348a7846915c4a3ddadc862268ecd944bcec1765d5c10cc757fd7b15937c747e6985ed0889ef09dd4c7e0a8023100f1b06f07ea6d8e7ef50212ad86fd99179740cb149a4bdc9c4eb115509a882a61ea769069c32c98532e473dd9668ff0e30302047c435bb50066306402306418eb930b244c0f420898a2023d305c562fa7ea6ae1f2e1343028668b0b5a37bee2805ce7a0cafbac786b2a0c2ea1e002302fd5603fbc91e703b0dc8da340b948cbd6a3cdc9b516e8a6cc82e8c50a07332622e65b53b613814c41bf925202a1d94f0302047c435bb500673065023100efb360aaa7ba9c81258939a5b3c5186f4ed1edde88edddca24d78e1dcddf482d9ea3edbe94f3f3065fb9c578aaacd345023008a65e49a73053ecc65ad94d5033877aee3b8483b499c9e7727d16b61bbb7b9390db47ce1b7b6fe63710e2a945c74b070302047c435bb500663064023041ae54a35d04a35cb25edbc8b3d16c07c9faeb529ffbe10a878855f0343b31159c3e23a1a8f0f16bde0e4817d9ca4e1f02307abff29e9bcf88ba4a45cc2529468f9003f086b101fd9e01e720a1278ad27d1e887743070e700957e6778b5f056f63200302047c435bb500683066023100e825c7c0ef31150b2e43373f8126b9527d3e41f49a215fad1e76b1cf8a5659e1fc8a8a0330e578da8a95aa18614a198d023100a9fbb8e5eb4d9a5eaf05c61b067d96a60c7627e9b89e76e61be9ab6a7f3170185e392be5dbb8dfbf12e0358a09aa9c6b0302047c435bb50067306502305194b70ac3b18dc5126ad80ab16fae43ec31b510c3e342a5df9d5de9fd38c349fbdaa580ee6de663599b8e4f5dac74ac023100f1dadcce5720903823d6816aafc169699e8f11911afefe1c65a491b0f44e0751c016200286cb66cdf9f50b3e6c16890d0302047c435bb50067306502301e54d6fe5546384f62446e57363505ecebef90b122cae4d93772aa21980aba94a481f5241d8d182c6d086def21e90f60023100d0d2c338a9aacb90419bc1ea14ab40d4a9201c79c33a4638beaf6f3e92897728c316191663943b9788a77b66919a48870302047c435bb50066306402306da5ae13b82599cba1ce797e0b7585430c4465558c3bd316b269bb2cc3f19fd2fa40415baec371c2282d6d0f15e5eb200230663b0d8525bced9cc864279ef751ed7a0d41f1721d74c95776172fd258b7a7ed392e213ce416b04c92cf34b0af02895e0302047c435bb500683066023100995484737e8b5e05a2517e98208674bce5f867f8bf6f6544e38437b7e551e13eb295c587c28ee4ef4978b6f22e6658c9023100f76b80ef807fb3640af685ec0342c1858310ffbb2f4ab55adf14c87f4addbb56f65cf1823bf3c85feedca5e0974ca5250302047c435bb500673065023100bb8c60490ea3ff6cfd9529a205b4688a8a49e8f2584890c3c6f385b9c6b9a7eb83100f06368d605c11eed1648e31467b023050afb065e582275831bb2af4c772a66645ab39196eb5cb9338d0fcbd1a7111214b03c800ddc41ce30bbcfe74518f870a0302047c435bb5006730650231009a8f60738702185172ed8698e8f4b2e373df136a3147c45652d555cc4ca854e25996d99c06b87eec74bb19ebfdde251502302ee4033e88dbf50c95f96346cf9ce9160edaedfb8accbd1f95f6f377f6510431d2cda25a6fbc772b245d1efc1a6a71920302047c435bb500673065023100cf655720a38aec4367fecb42cf87c2f74151fa63c487d89d967d26da830166bd866704582c18f92706478012c6481538023025de8ac2bfd443490f5d8822b70fe36ca3381455b7a56c85147b95ce461a0e254649440a5be42a9681664f8bd2d7e8150302047c435bb50067306502304fc92da194b3bc4af2cb258248ff64ed81478bc83e39f32a6487f0f32d6523656b6cfc7b3a734b1408de4f87ba0fa0a5023100cfca75597ad7c23b398304f419b8f454188b839166e1a98460d3c923dae297e4bcdf76d809dbfb4973395318c12bfb140302047c435bb500673065023064902d9f925c51d85657941bb31d9b8ce3b9442fb93c6e861d10926f11ef71e620ae448ee75ff61eece71f96e46d77a5023100c3a782eb365a5e0e2699704296f6f525dbd2bed8e0170d1a2d3ce2c6205b6841e27f63cf5b1a010eaef6752af310d0870302047c435bb50066306402304e317b1efb7f2ab812512bea55047ccfbbf7f2de2af7053dc3c46e80127995cc0e7a7040a2a7185df48006138e9af30b023073fd5e7355a715d167604934ae90298d9ce88c703ae7460138c7412a6413fd426e0e389ae8122bb8d2ec1da83f6839f00302047c435bb500683066023100e2d84fed623c5405af582ca0ce7268ec39b1981fa8fdd86868220dd55ed02702fe1a76c590e1af14720ce8a4f0856ced023100f6c72e222502d48908f6d733af11a5091134cc34da9cbcd56c9f7e97ca7462ad208ed219c80506673417251153da47140302047c435bb500673065023078e60dcb934b11b576df3bfcffcdeb316f259db3a7de75dea7c1d3b1a7076c9e7aa2fb7c1c39204c94057b6d68845a8d023100c9441288e633e57871cafb7bd16ef09bd2126ac974818c844d0bea4f9a92ea6505ed5b619a7d4ff2d8a57d0108b6a6080302047c435bb5006730650231008bcd768001b9c533c44e69304dba0d3643252e35b4c68878fb41c8ba885778bd3257476a3c35f89365ccb55d3cd0025702301f48e8e629972d15dbb643598432d26c75f634e3fce93b5537e44e3a8bf611a6148b0006bf03f5d47ef931c9da99d40d0302047c435bb500683066023100cbfc52cfbc81dc0ddbebd69789fe31a26234e3eeb570680d443d6fafe1184f8302acc57b7a5c8050419b986aae60ea960231009bd34f206db2b48f7af45a5894a1fbe88bfcdc2450c3ffc1e004558e9044392a3e5433b519e7e694d2ac96821d551c0b0302047c435bb500673065023100b94f8a83cdc00810e70bc7d1b32a6f8e071f58d25536cecc11e58305f54e5ff8d23457350cce1707e601a880f0362a2002307bfde84259a21d6725d963c7999ba32500b92f6b243191af1102acfde23f7d2511a0f3a55e13f9e087284287ac4bf1f30302047c435bb500673065023100f636400cd15cd99f188865b520f5ab1e6dc8e1ecdf8002fbcb0561c41e7ffe767912737b05c03a6c2e196cb7caefdcc3023043e10ccaaef498b21a8494f6b70dcbf72e1cffeeb216171b9c7f1a8f1007eda52f1e012a4f31fe61f63aef96445ab52f0302047c435bb500683066023100e3afb86b4025351f0ea87debe40e9192d54d7214165067eea0a43863a80eaa4e1895d1466a0c7de6fac26d8b9b7f3116023100c79eca9b6d88e99761efc3049e77cdfc21adc2021c3d568d7380ad9fcd559bec6fbd8d658e573eb31bb8449b59c16ea70302047c435bb500673065023100c7bdd6a7edd1b732d35e51caba051f93c4d3851a114aca1063febcf728b2ed3db0729b2939ec288d89694ed691db32e1023057647d32905accda5867ed66a55f4eaefc1b136c8c8a2a1be66367413bf7e5a16eb9b8ddcef36c7c10fbcd6529d73b870302047c435bb500673065023100b29b320685fa126fe08abcc9338d0d34add324b6d8c264125158fdde6c82e86e7afaac49e228f792e2fea5c64fbe57880230146f44e42fc17059642f12650665d2d6bf5439d71fa10d9868c932ea2e986574bb81b9a515a6a0b4e2325b928f4eff150302047c435bb500673065023100e5ee2daef6ef7534e0a1cd3c5d9a6dc7ffb794c86c4b333c30ad8ad8ddd60333e2554ec7f551d853b90363c7ebfb7532023005c70f31f67f2e37bd36dc941acae307edbac0014c053d62981275ffe7e7b3e12e8024ad5330b8cf647e713546ffb7960302047c435bb500683066023100b776539a051f37bd7bbdd9ce81b7d49149e7e9756f0c2bbfdce59baa569633e3190af1f5bda38c982c1897a40093fcc1023100c7895411e3599ad203a7b5d02b01f948b9d27309e63cec65b9172d9a54cb14f631e4c0a288b66a75df2ed61e7c8e4d1a0302047c435bb5006730650230680bb78dedcfe01718d28a3f612e82e926d2869a0b34b219cceaeeea00d731d53240493a507b117377e4f3a53b550edb0231008939f8bc06396193eb7c179ec0bc2fc4a8508abea0d6ede0e98b970d4504b72058f1037a47af52f89a2b8350afb5cfd50302047c435bb500663064023000e27cd63ebee2742c6bda6ceb197787346d89478c5460223c52929a2ed5f7acb4129dddbe48b48dc72f3bb6431fda34023067094261ddde80a1cae6891b098ea307276c7d1130c337564934fa974c02a1447349fee8d27ca3f14d51f5884e81482f0302047c435bb50066306402305bc90bf7a560738355b5c308552b9df9109aec2fdca0d1f79dfa609279dbc28f0746590a5a2fd28d0f3a22e83e59c1eb02301f178df37820d4427bb1e504f55d3566b8a0d1cebf41f294f97b43b8eabf13a38b29c88062353acb1ba39627fafc65f60302047c435bb5006730650230491cfc302b05b5c6ae676a676072f0e8cd536379423b454bd416452e02cb4606559f7fc73a7a27fa8cc56fc5698ec8b80231008890f212abcfde7bb810f8ca121c246d41eef5aa1f83a4f5c5437874bf9545a841d17abad5fee619668821cb8ac8cdb30302047c435bb500683066023100e32fb3d23f2d8be5c0ce258e24f109105b6c6b93c9f2ee01210c9865ea959941335a2db57a241a599adf0a2bddf0f26b023100ceab891582fcb798dadab9c2a7715f9f4c596b6f4942009a3c3026b6b5457f6c86e76028b0bdf44ae33cb797224fe6b20302047c435bb50066306402302d4fb82202d5f9e955f0cedc98c44d1437d7d396035b809abd258840f89dc70ada2c2b912adad83ae2554307c18a9cbd0230206712d3d87bd2f4aa17cb6ec7d41f163663f0576c16040cbbf1f1e18aa85da2d840fe34a7f5f222fb88f7d4274740200302047c435bb500673065023100b4b4ca69ec96596bcdaecbaf6a1b7ca426fbdedff2de24487ee5b405ce1020fd31be25727987fb2229b5064b468a3e6802300f2de4c3c27b25688b068510ab492e0783b0176e06712b6660110b217c7688167de309cfdadb82fc34e9d6606532721d0302047c435bb5006830660231008e49f7a2d95a9502efd8985122d79c1cb1ef075e51973ce1c95c24cb68a48c8cd49c3f711cb36923d089d018531a44a602310097e3e1facd26965aaef9e7313e20b21f14520f5799be1bf82be5066efddaaf6d0d3c0edef9b6e6f11f3f2c615590d8d40302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500663064023061e2c249f64aa2b6d3e1834eb2ea8c3e78748b1b280164420bf9b45de93a382f7982221c14de3fee047540d3016c66af023011ac6eb3dd8a7ced71e2329be1a366ae49478a0389afa682f8a7d1584a069d78f3c245901113c57a0e3e4641a4fb76370302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50067306502302b241095c2123f0fde1c74db973beb1b0874071c86afcd4f0e16684be3737b85e8055463a10b42a25491147fb364a784023100d241dd9ad2a2a276dbc8601008e9b2aa4ecdddbb823d5dbecd980e13449da53ffb01d2c52ecb980ae8e9d2e12e0db7210302047c435bb500673065023064c7a15853810ba22cb094aa9a36923235ca67fb1a04b9bed3e0ffabe3c227e718dc17e59d0fecdc68dbda20423e031f023100c2c8f8281c12e748d17368dd4d6a5e93199e4b4a3e2a70eb63c177f75636e8aae6b7cabb6c6a0a39ce61df2cd126fa710302047c435bb500673065023100bf4ab1ef74be07842471c11372501377ba1254c832cc1ebc5f13dbf249cfa2e1b09f42aeebc2ca6736964b6d04d8459102306b038e66a8092fdd462f7e37b6914f674ef1c21944fc7558a227f9cf7a25bdd67702525b989178723ba7dbe917b943b90302047c435bb500663064023024e023f345274b1142e8c51866c57ab8bd7be7a2b5907d1e427b0ebd03f5b3dcd3c3ed41522f0634d87f6da003513a0c0230439c3caba6b5cf26ef74d9b5ff18fe6cf0c503b89573123e741d9554f10c5c36041ff6fb3c96e8cf48be91e279929a380302047c435bb50067306502305fc3d716439423b7d9caf451df41310251638f82ec99a8b54e0bdc1b6a34dce4420efc8b34562604c0252920b0a7aae2023100d50a80c91784070af1aad3f701aedcd657fd9e71766246f8be58131a062a41fe1ca132fc099a77ffc2ce12336a6037680302047c435bb50067306502306d952ee01dd7f7a8bdfb343e223563f765236bff2eb2e1ab9cf5162511aa3fc664094292b18de319f10666900575a45c023100d9ceca34c8e42ad96e99b54ce44b4121c1254d01ff1c2183ba08c93c06d5df014dd4165f9f6654543a70379651c0c2640302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023010c1f0121d4059803c93ce5cc3b60ec417a2098528b3169e31351cd5972efbed8f45acb6fa6ab951dda120c067f7b2ac023100f4d6badaaffef9f919690e67204edda2894e748e80bd621ceefca50685f4b4333ceb665e870438c664db55f91c4c98fe0302047c435bb5006630640230756507c96dd6247379652868bb7e9505bf057f044090ebe979ac7f0eee4ed6025c8cd31d48b31bb065bc8e18973f580602303de08b759c79b756994c49afb041e7ba0954e07e965e2f3a8a0aacfc9051f2f7e02fd2b64846e6a8d966079d46306ef30302047c435bb500673065023100f30734f6337c54aa762cdf9168bd795a86fe0479d581672bef126ee5c1b1b2fa279b39e7d823dada2f529dd99521712d02300d07be0277b1063afdbcfb228f49d22493e8d1d9ae43638c51ab897513dbc8bd2abbabcccb9f45492f691c57f2b722330302047c435bb500663064023076da72cf99181bd1a21899aff138944936239bdd54e232aea7c9b966e2d0fa0b85b9ebb179c9123ea62351667b62ab8902305257c2b7df3cdc180439859bc1563c71b4dd03ed7ffa331cc8daa7fd27484805562c0291e0ed5340056153cf218feed60302047c435bb5006830660231009d2b9c760f54c5b64655c8ac3aa3b767da411124d2d04db0459a41529b64094390da07da930c6992fc7019845d95977c023100815f6285d32361477183cc63ae5ace0ccc96651c592b69be67e3623ea60daebaa61f96e7500b08022e2b21cc63d3fdab0302047c435bb500663064023031c31598a25502835bd4bd1a11d40be247d9057b39dff51610802913dca2992a0d7e96f7a89de1759e1d59811e91f12002302b3b5bff4df8a4af84d2c4265ead268dab0c3a37ce7369ebe5633b8eb520efa995092b00b14be5bc885c01c66b6492380302047c435bb5006630640230260cda129bf94ce819655d474e7c901ebd0620d2885071f21c3c297438d50441daaaf53c96152c7d989f09647f1825300230579f2bd67d56ab03d0325cd69e4a688ae9749365662eab3911b6a55b6fb16457974757f7223416245ca92454bef1ea7c0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500683066023100a6982873f87bd791ab48c84de9eafafa433447e153f99ba36733455332f6270e80ec907f3edf9505e8588070ff064530023100df2cb1d5fc73dd98e95e7d0b7e6920dff0e19c42013f877c8586337843fe1d235bac13382b63dc80746ea6e186033cad0302047c435bb50067306502306af7305f5acabf310c7c40ef3af919e50f7e43790f24fb79e7f168e22f147e8b62775aee4a42a74b09c76cace8c26137023100ba5b573a06fda84bd71eb3a384e5ebb1f961eec8d6b231d73ddaf25a0bcdf70b14aa6500aec163f0d82ae3dc15e2710a0302047c435bb5006630640230293c0ccf5b0e5b1736ca942b0fd5f2de7b02af80c269e4a0409012dd45637947b275a1da0ebedb3cb0a452101985ceb402303334f46315444eaa8428c1ff0214f3fcdf978cc773df74a1e07f9f8115e93cf883f6799b1300c9c74d1db875174228090302047c435bb50067306502303489d3abcfef60e26bcd8545e0840c3005e0fa7d15f516af0258ae82dd4063e30a57913fcf3faf8cc47db5ca16d5a9ef0231009f6fc6b8527a074213ea7384bf42c3296003b8761ef687ddea193aa512dc65e65dd37d098d4b64a0de19094cf3e408b90302047c435bb500673065023100a5406768310543f20da7fc08909784520d71ace6f13235fd77e2811201eaff0434d6f57eaeb808f3938d1e04a7652902023056465b7205a0115a3f48d2a9697f7d435994abd250788414c3462537b4ce5475a3b41d8312dffdb3c67adcf08bda49a20302047c435bb500673065023069b1df58ce8356143974d322489f65a9a4aa7676260c078f3dd2540f4083dc59ac31530eae7816c716e9650d0fc4eafe023100a05fcb93271126dd484603ed7a9dde7fb91a2e234ca646282318468f6be3edf09e0f1006e9df4b3d1b0a4d52205ea1320302047c435bb500683066023100938d22949011c0ee4fccca88fa9866e183026dc710aa6e3d582be4b7ef2c97821982640c32ca1210a5dfa5db197a88890231009f79f415642429dcdca4b533af8a5857b290c2470829d5298e43c02c5834e423949df2ee0de2cee534cf656fa62389390302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500663064023041ced8bed2c8c5fe66be18ba99675ced457bfe5a607b3ead702690aaa0348588ae563c2446c6c06b072017c3dc86bcc00230613893ce16116100c015096eedd5b39f383ae1753701f052a726bb1ba30532f61cb9ce997b72796b9c4cb936d4db6f820302047c435bb500673065023039bd7000a96da569c807c82149795dc18da8239cad49c03caad2c6f8102dca72a3870672b0068152d984c41cbdc7cf0f023100d1ff7b0f3d95365e1e691ae1c35a8e076312f496e51fa6ed10bc2f848af2a4301109616356345cb7fd482474094261e80302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50066306402300c8d4be6d1dd62b3b1b59f50224425b34cd6809e237169b8ebdd3d23323dc13beef662c1ef1b461207cf2f55f3f7770f02301ba9efcd58f7a43e17a3cf6a6f08a6f171a7cdd5f59814f0f20f958284a8a7372f0771dc002a1f2a220d788d6e6e55690302047c435bb50066306402300fc6e879ad07d14b6c47515dd14492fae075db7d00d7fe42e74ae1290a06bdebc74e5325cb7ca8e6b3abd473d803dde00230221d729e1ed0d21612b3b8c572f3bff0f06570fdf42858f218b3a846824fd90771e9da19284f951f20cf5920678bc2300302047c435bb500673065023100a274064aa4a25fccd3fdf1e3005c9cb1effbf2d35d39ce74cca1aa5fce242262a6eba2761164b5c80686ade347d11add02303baadd5d3a45ad6fab6c3fcf0a4f1127b4ca0485175dd0723a63cfe6308da285bcc26620d55f81f42a67afbd736a5c070302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500683066023100b32fec00449742faee1c3575ef91d3ee9a59589ffb4381987d4d7edc6483ab150e32410fcb2c1baa60c46c0afc73ec31023100d861cd8b7b12fe84550d52a87c65a717e5d10556b351a7fe7b5b49b5f4e0640b386c5db7dd9a229305285391e57248870302047c435bb500683066023100c184897b949f8585121f2032e4794dfcbe0bed81ed896f990a5f094be6a23bcfa576bd61eb3e008c45383ee30d179741023100fc8799022c714de89582e4195c6b72f54603548259e23937bb484ba20f3d4cb8726e98bbc26465c558d928178199ba3a0302047c435bb5006830660231008f3915f6d1848eb4a34aa86b1faa79bb7ceffefd2e5b9c5f10fa70bb90206d2580c58d2c9ba78907bd12ddb8ba912f49023100846d0ffb7241ae78f3be1ef1dd7534d7cae47becf5a5f39571a7c75d9fcb61772455a45950954773c0d318d3006917c00302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500683066023100ff4d3187d37c15f5cd74ac2887016eb5ad6974c9788ffa1c35b72b6b3323e301f0addaf14bc934bb457c084992727afe02310080a479543fa30218924e2917d0e64a9b2966f6512116c39f3354bb00250178e19d2b7de1d74a175d961d186988ce41aa0302047c435bb5006830660231008e651433eff8a5e4adc07b0f9190bddf42fecb9821c0db6ae7e8b6d26e223aac989387fb7bb07ff8ec3aa208c33abd3c023100b77dd57d488f9541986e1bb16a376b735737f9ecbc43a9847128a7347f870498e3b26bfc3961bd4f213ceef73d3cfc160302047c435bb500673065023005c11991c818f7b7b4be3262f6fe9b22046b554811dabdfefa690d34982650d6d8e060471e32282c8448c6bb08ea88cb023100d7b6bea00f3d67d48f8177ce557c6b2510940334ba95751818af18f305708d4ee0ee2a8ff53de1c75dd501810237225f0302047c435bb5006730650231009e4216176c04009b03f00b190815ece1c70c000c8bbbf2d450fda8a24d065cac571935ce231ceafe26635c4c9e7ced84023024a1d705a40856940feaf6ec9d636b37ae2979a24e018ed4d761a8832c7d097b29777b7063dd5443dff6d333baae151c0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50068306602310086f15935d98b802ffeeafc241eba01a6450bc2929fe710ee4f720e175918db9b97ba981ae0719b03d7d00610911a2d740231009c09f900f51e5c815547113bea78551df45377414327c6c157a7a3082ed0737f290c5a0cff9ec6d3038cfac7a64497aa0302047c435bb500673065023100a2a33889c9de28694e25d372ceeb2c88a0891eb8ed154295f085b0fcc26cc79de9951a6333148dade4b640910bac46150230311bda1255f21d9d8bef225950b6c61271a34366ed2a5facf2c34088b33c9ee50b7e20df9c1e428edc636e9c32c393eb0302047c435bb5006730650231008a8cee0dacb67122f7bc8a810e1500c7de3c6be6cbc969a333ba445cf10155a3c47892627b575518a4722917f980b52b02300502794697de0c8e683fe10e2baf5be26a329d326bba378d17379826319bac4e99365de3add6ed6c46dbcaae008fb24c0302047c435bb500673065023100bd05bed4e9edf0c274845df62ee224289c0ed497515125a2bbf2ee5ddd057d90c0e968facae2ccede30fb4ada337c27f0230395dd61a27fdba6d6dfbb9623618474e9934fcae4b201aea16f806e89e5bc0bfe81cd1ad9ea3fa661ab0abd14ca6e18e0302047c435bb500663064023054a78d8bf86a68c0697d8050bb26f4d35fecf762e92b9cff4289c0f7f57e6d15fc5ad5d99c756e2d29007c76d793b4ec02305732057960806ad6a6599e59e397adb099ea5afc7df56de0cc24b46c1d6c0383956310560d705896620ff4818a8c41c10302047c435bb500683066023100d9bf7c81dfe44a0ae32ca2acce3fb605f39652b021a382e3f82718bd027724820427f829f9d281ec2aab99a00ad5eed8023100afe0015165fca739a5d51ebf270e4d66157d4b7ecbc424ffb0fb85dfd84c1a95295322d979cf8f18b455b3ef4cbb545e0302047c435bb50067306502300d97d3941ca94804a23afe2c109d52896e9c33a0c9b947b360d966ef79d9444ca41b03d01c6f952de897223e10b370d2023100e2379e850d42a698b9fa3f332217c712fca768806f94691642860b7a4c7810cb335902a08a7fc2b5c82a3b2f9f8d2f100302047c435bb500673065023100e3de04b1849fd89a15af07a3c8f8471d02898264bd2484d0388c2fdee456a2e9d7695bd3285bffb1f84c77b134483f7202304cb706abbd6c6e37c3d53c7605bffd7142e42b4a686d3c2c16e88a63ae6a8516d09805151d4832b694b55d3c2dde92690302047c435bb5006730650231008979feb8f0336c14926a7da58f07af675a8025fb61e4c4cf58cdd28d6d6d7e270269fb1673e5458251c0895ddf9f13bf02301887c2bd09a0c32b479e75e9d4f67f2f7c952b2327eb1b5e2d35914474e99f0ecb1eb80187884c818cfdcb6077e1d2f50302047c435bb500683066023100b2888df27adbacd503506192e2329d2d9b67f2939dbe7d4faac176986046abe376e5ff1ff828248fd3a3db8ce864ab7a0231009d3711a30a796f4aac799879ee316c6ea22d916b26ac1d249d14d76cd872a3b18066a60248865bb375aa8e2f11eb27ce0302047c435bb500683066023100ffcac029ce59efaa9197b616bb05ab279da7ba99936a20abc9b435203f4b1c280eca738a23c12055cc1d8d6b3ab9160e02310084645a619ac45f83795902daae2498bc080038e03a2346c41b5fc1ebe614546d8068e8cc34f1f240c7f20ca8ae22a1510302047c435bb500673065023072db0543a131516a1c669aecbbe61cb23b394baee742512e5380a03184e084fc6148dbfbd6f9c12d0440e775c066a20c023100eeb64ad710698a0ce45d77a73b5ce20a3c93261c0e24dc3ce1b884670a4a8c0b8f6140764ddc9a9081aa398d96abac510302047c435bb5006730650230734ba5d11f3b94f111dda047de92631cac89adeff59debf72543bcb0a07c81df5838bd3b542c44748989cd925b4ce2d7023100e62bf37f597039f8822f0ffd35993685cc5478aa36ab5c86caf83df52b7489bee11319684159904fd36c1434df37fed40302047c435bb5006730650230225680919a255f6b81d9e4be7cff3d48cd3e7795416708319ecb5aef820fcd5e59dc38785dbf9c4aa256d0146d830711023100d148a7e02d2da0e9c5e492a9ba0e3821e949ccf2c5e47b6d8889d75f19287004d1d11b2b71ae2fa417e8e7a5d8c90f070302047c435bb500683066023100897757127eab7b4e95a3d182934fdf9215da2b3f82fc8c2ed4f35d7878f04794a81fb56219c810a89df848e4340ab7460231009bd56c382c083bb9209d53f76bfe6ae96f92bd4b440db9dfa4c8a73e7dd4580c2168e83cee4b09847f069cf7e050e2710302047c435bb500673065023100f7bd26ee057d23288ca9d5d3e735bfe86b7c9fe2231363fc7ba42dd29ef33b5f4e8ff34bc53ffe147b490c9c755bb2f802307aac1a9cd59efa654e5da8a5e2befea9a4f94b83fb37c5f7a50271b4dd11b1d36c1221d9412b093179d274575e6edb730302047c435bb500673065023100ab4990a3d44029994c8141fc73203ed6d711d1c05269db887b6758b1342560b4397da8c6d744ce0885f5b67f18cadae4023049d5082c9620bd115aa824c409ffd746bdc89aa846a2d04f48ad7532f619b4960ec8a53a67814dc9d2e219159c31d9fd0302047c435bb50067306502304073072b3c7faf2631c326df8c504d3a447697ad60425ec753da0d0ccb0494c0747035c09e06058fad9d622f458cc3bd02310081abb8aa39afb969103fc6c1334f4ff23648bcc1abecdb7e3167317b7eb5227860461e6c7022f5e93c357b5e96dfa8fc0302047c435bb50066306402300cd9d6d118d066d85780409f1477959e16f8e228de981973e39386eada67cdc50f179dde2c6ff5b09f288638c225e9ee0230611a23b6f48b4d0dae3fb4fef4a7ab0a8a89d614cf8c49bb3327149b0bd44e01d742cc5cdeec8c76dd626f9a3b6e741f0302047c435bb500673065023100c0c7d63ac651ffb1f8e52a03d62cbe20cceb384f2301fa5f84edc53bb1b54dc60999ba66bcecd0e7a464a8c4192275470230493b59ace51c03a7b7a4f80e47f95c02a6b054e7023140d6780e742cca19af6e2e7b45a97042bd564ee4ae947d8e48930302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50066306402306564a161f93d690117d34c37a592fee848d035bcf547a23c90c4962bc14c60dfbb979b2612ac2c5ab7033d1374eea49702300c7083ba48d64eba0b8a31fe0868bf8102daef3ba884ab7a606870e1c295d7ea0942b30728ba3bf431d4787c9d8cc8ef0302047c435bb5006730650231009cdb70583ab6eb74d946f65da50a0b021525f65d15bea44126b9757afc4c6293dfdb8f085b15e3ce7b041c529a41a46c02302505578a40615e142a4ef25d3c58ae5eaccb745e6d958100e202db306f7892c5a9547be3967e2a5122a56cdfbc88ec6e0302047c435bb500673065023100dc2305038d74568e5d8bfa9789407416ceea3e58da83b529a67119c5a68c52cda453c1658c18519bc3c5cbd0e6c3204c023052cd8a1d1f0701858c77ea5403c5545b2a6d6557911c0a6263b700092a7bca8f15632ed8c8fd06f54afe89b36c1d984f0302047c435bb5006830660231008ca09149277516ad847b040481f9c0387da81513a5550ae2cd50f44ff66a6531d0ed774e0fddc31a560486d8d6a2959d023100febe08f5818766896597160eb6f8646bfb2a7f5f1c1dcecf0192678861e795d1e2ee5b00e440ea9854354690e20f15fd0302047c435bb500673065023100c7c6f599bce2bf173b3ed70b95bc65060dd836f8ce12f4d19970631c352ca309c9d1197a46799e7fa7f6934b19c04f8702300b93b0019d33876fa8d430abb1fea440b2ad911918bf02780217c57df4d60f055736533caf26c06b81024973e41fd82c0302047c435bb50067306502301434209b57a6481e62055f10042bae72b5ee77a0603f8d57b2995f9fcbb30068e13e7714ae88548380cf28627e5b87be023100b0273b6d79bb544874f895492a0c485b39d9548a12745cac1f896324275cbb40f69bba593222cb96cd0ebc010bc667060302047c435bb5006730650230462097763eb04ab14a534b087073e9750dcf5e5174b6501bdc2a9c8c1a10d472c44eb852d17ce7d591693bd89ae873d80231009cdc7bc9c2e319f580f799a420d9e038cf4bc7e30aea7c59d2e6a83c8bc3f0bf5a00139f0accc022018738f643304c0b0302047c435bb50067306502307ec0617119886919dfdf75c75ba1c98e713b6378d9148f0a1d177b2bcc5c3abe2f3678a23c10832d3d0aeef18aad3bc3023100f9888840892b1105f66e485f455bc81eedb8c5d9e7897a5f428b285abb258fdde246ed2060a117672bb9c1fffb52d9d40302047c435bb50066306402302dca3446350fea14a6b547d0f5162dd050cc57e0e94f0a22b7c08fa09bbfa62f2d457f2403c6de6750d0ae1b54c24dcd02300c2449afd40ec858bcc63be598a2d188e259af3a7bacb7c1f7e1a162f19d5dccedf191befd7fa563e5211be1d6fbdc310302047c435bb50066306402303416fee0335cc7a3bfd8a7f73e45d7d692b65cfb7743a60ba61794c6196e7f45621e81e0ff1f8c7c21a34fcd9c28ecb20230298fc19c868be45d80362859f3d25fa5898405626e5d77e335c85c4cffa7345d91e7b4aae624e0c215c02568996710030302047c435bb50068306602310090b7b698cd736b1233fe5b718a5d1da8747ad6aef422e36254b61978b4191e7f7825aa1532392c3e57f55559a9801eab02310080e7f5cc71046ed8062fe884c622ad9df29a5dbcb048d9b415320dcad84d41ce8159d7d9e081c80883e8cb8f1de4d8770302047c435bb50066306402302d8db3b028615b392e10e4e9459146cb29c25eb88c2985a97823780037f10c08de420e8bdeb4dafec04afda031b33cf702300dde7f798542d2e4cfffe8fa8437701f724c5b0169ec0c8a5ecde8ac9c2bacfbc9fd5a40b085152cc51d5a1009527f140302047c435bb50067306502307f135a40f3f564267ab36b3b88415c139482488903372bf999a3a937c7db41434bec179c9fee0c2b87e3bb20e33ed66e023100a335503fa223283c723840f5fdd138608adb0f56d222d59455c53bb3bdb0c6b08581b949c997370be27cfee9fef7281b0302047c435bb500683066023100c410a6284c43b898e1e1145f247455b1bf5a92fe7c6801e7b6e194b5706f0a99645089a2a21a3d4d19b15d7206bebd9c023100831eafd9569e339ef3244e6a51e0f8a99e989f70d1bdc92e464273c863750a9b081e1e59faf5ed5c29da6b1bfe806fc60302047c435bb5006730650231009f40a3490cb4b31673e650d1b846cf415a16a299786d64dd5d477114f0f42f1bbab21f4018530790314c885dc8a3ad3e023026f3c6fd321d6380e6c43a90952ba6f7e6a06c3dc833c772cddaf43696530c1dee564b301195944b5143efda88a223dd0302047c435bb50066306402307f2747e66af0ce24f0692c291f63da239bcf48c0b8fd3fb4f88c2aa84a5a5a4c4e474876c712dc4f2af10039a538d95c0230435568418da6f88563fcaf83e2b6dac6e8a244fc0971ecf6cbc27ce48ee896eee5bbe4f49ae9edb2ae54ac7b8b14742f0302047c435bb5006630640230218f7f22524cde50d28b306fc98a81c92cbaf350b50e5f49c30066d069b8b130ad16852e64d3b5b3b7f72db298db1f9f0230424a42fe8323e5a64916e12251c61a0211232939f389239e6e34e01cc86ae9f1f66c066a34810645afb33baeb124d7240302047c435bb500663064023045498af4692b9a465642ed836ac65c4621b455a20cf30e1af2f19c3a76a06a192d842c06860152cdd9062197511c4f7b0230419c369d7d1e5fc39ad389ce5178614ba3b9b8c39e3186ad5a289228b6a08a5d925a429f17c7c911ed5bbbf237beb7cc0302047c435bb500673065023100acf34f47fe7e505239af2530dcfe92bf21c733f60c7f2efb7c38a59af6c9d9b48ead11df01319cf46c24afe7a9bcd1ce0230273fd6a0f75a031488d787c2557a2174f29f68e0299ce36a45a7d3354ed534e012c6bb87c58dd3210e28785dd617d1ff0302047c435bb500683066023100a6eb1d61c886d74d923494f57432be6eb3d6d6fd2faf0dcc2ef0616e767a639c6e1e79c73cef3516c1983b7ccc97cb99023100eb719c227b83015b28b7f878ee501e72573f57add8615b44c16ee29d80c024b9e9b5463893c1aa1b8b6c6da375365e520302047c435bb500673065023100dffce80c86fe69e15f4ec364a8c520c987bd6da6ad2e7244dc2943017adc5c35cbcb18e53d451fb8f5d2cb37176c498f023021ad0f0e76a0038ac0be9aef0bfba6d61be017fd513611f0b063359af94b2f2aa673c15eeca1a19a3966fbe9c6e940ad0302047c435bb500663064023024a2a25b9fb31c770fe0798deee0bb3403d1b6b38237fec2d2f404e924ab5d001cd2dbd06411203bda5fe896a0907a8802304e5a69787ad34be75fd90011fe6ceba330670e1728e941e26db24a44df0edc3c5a71f729f314b60c81bdc37591b1d7210302047c435bb500673065023031e7008423aaf21b3d0eff5c05390c7d0356972809b3246ee5b15c7db7357abbf401917fad70a56c023dd4e88bf306ad023100c130c779d7490cf1f80606aa6cabe834b3b602f059ae5ca36bd3c843a6de91a558696df8a3d02b66cab43d403437e2780302047c435bb5006730650231008b1ec3c5c6f4da097354692ee37bdef1c014711f4b21ded285648119ddfb9edadb9546cffc9ccb6d96865aad9bb8fd2c02305905d74b2bce8b8fb9ef1288c1045be62b344405d4532a1c87323b6ab4a4f58cfabe5ca14f118d62dfd2971c58b8ca6a0302047c435bb5006830660231009d2b92c33c17c7d62d3867dd423a96fbb459f5b85a057805e0cb84601ff16514080d03e6b51bfa6b79d76421aab75179023100ad4fc5fc7c69c9da11a8b7a47250eca78d2617a1e212e4f44810ff36d63acd9ab9ccd909a037355d874a52e92caf987a0302047c435bb50067306502303a19c9f867668db5fa9b5a9df859179f1e1cb0bd07f182881326b6fe3195ffb0a5bbd69bc7d4d7507fbd5ab3a0f135510231009826a4ca194ea44697edd3b1ac59b816b1df8402904166f9efc51a62c43912928d9b657de0acbfec319e41f86c98f3b00302047c435bb500683066023100f262fe987bda94687fcf5356811ad772d9a7e7067351de21475c8f302decae276723c45f08297b0edbc693ba8cb8ded20231009454785f7dae9c361cabcf8c02ed402c6f0bd5cd4d18e2b74cc2695c48eb19ab3db5ba3f2e4189f8368a3c9849bbc05d0302047c435bb5006830660231008a767afd8308afcceecb2b7b1004edd1d730bd5f9a4dfd11455074ee6caa9a4a59c5453f122c4d23ae19d5c6519c8a7302310098f537b894fc6a6fb9aab11a21e3bb0977e647ada50391d8cd031cb591d13f6fe1e9f402c4d68e4aea8adb25d8c7d27a0302047c435bb5006730650230214b4303f4fdfeace87432fbc11e7bf688be64b8cb8afd384a5559d97be2ab019617404a5e201505ba11f4d8e0d1f2fe023100ed3c3d48c9396d567561db11e859cbf199d36be906522aa9052a2e0e05ccfd533332954e3888369a4e4749c1e4df9da10302047c435bb500683066023100a762a0890c58d24c93133cd7d9ed184c50647228baf92853c627238c38986b07b30f2081f1dd2cd98a374f7ff296e2f9023100fb331714bf760e16b332f70d215dc9813f5627daf04aaa375267c36f127e8210acdfe5cb904a626429a03c6d71ec878d0302047c435bb500673065023100b3fdfed46bbdf37f50583a142a94b5973789fb643ae84c3cecb3184dbb7f9b0e7fcb3ff84f3d2a75366602699bc083c8023004314ca82559b15316dac3645e7fbc105b228a58342afac7b50a3476bf309137b7c8f2e0b55c2df8154dbea2530ad5550302047c435bb500683066023100cdc83c02c411735fb057824b7427d8581752c250489709dbe95cdfe0871d6e9171b89550883a88815ddcade80660abd5023100d9fc730018c0a9ecec1028101ddc6b3e28242a0bf180afb1f3ff9d1edd9828b9c06e49aabc11d5719c82615c1fd2b2b40302047c435bb500673065023047e61b473187aa02b822b81688de6e6a518c9197bb3848fb04d6ba28c308c065cc94519a7875e8f5b92a14f24709d41e023100c48e28161940a867950ca1a89c331d065c02975b5ce10b4316d2a6a73c525820d9d17c53489b26f79f33ca8594c517db0302047c435bb50067306502304409490705201c3f7bde582014d1060df1edca509aa746940dcf697fc7fd898ccc334c74e508fdfc4cf5064482b133ef02310083538b382895f968440eb16a87989c08116c3dd049fcced0851e3e66d208db3dd2e7e55a02797cdadabf3cfc1b9103690302047c435bb5006630640230548bf31d29b15335f9792eb5e4ef98d1777cfccb9a73f350593cc022499f7e75f74a03f413cb50143d0e09f0fb8f66a802307c5bb72a6b7bc3165d86cb2508f9d001974874ba1734938a5d28e02099103c586c20b78d8d23438d87604e773b45eb740302047c435bb50067306502300f6ee383f2241d7bba280c43ec888bc8921d433dfb7d120fe51618b75ec11860cb14fd075dc00455e22ab6bfb6297690023100b564591f771fb22918c84f5a4253059f25b1dd66d1ad22933151216aa80a98925851a226064607bdec04eb4e6d94c83e0302047c435bb50066306402303ed3bd7724d929d206cbc04c01cfe16e6427e4c6976d817d37a97e026ecec13423d148200a539aed7456ceca48db3b4802301b413bf6a4befd99277e983693fb96cf7067769ce9c6215dcae0a938ee6075a4f9904aea472a41cf5dd05feb7360f0a90302047c435bb5006830660231009a71ddd543f82a940a881e49cd4a02d2f026cf845a790172519788aaef2065f8b799d5ac951574025327bdc29d2a9432023100d31c5b41237e74bc05c42521742622277c0ef351868f708779456c2dd16d7bc809d2fde81764310c7e1b016a247842b10302047c435bb500683066023100c17ff81fc3ed8d3d5c65658b41e1a496d350c0f907cdacfa4a9df990b086aa3cf8bb1c9ef2fabcb108938db5484482d0023100f1bc14dc674cb407bcc9cd9893517204dbbda49f860773734ddc2cc7eea09ffd2f54338c6a167f4e687bfba9f5c59b920302047c435bb50066306402300bb21d920dd92f22a4da06a116213de70e413fb2423fcb144f7f6b3d919b713b23de2449e870fd85bbeff37b93b68ba40230513f17275c469046d10075ebc3fc924c7aee98ed6c27bd0b3b85d30addad9e13f01a51ce68c7c13b0d15785d528642780302047c435bb500673065023100c23ea1c982bac1ab6350160886eb34c8f064196c59189b21a8a027c91529a9ced7fad18d9bde71e87b3b08fa320bfcd302301e8013c3bf6bbc4e15bfc1d096528c2801fa4e7d6094c5fe2074f45c30e3a2f6b5b26ec485c8a9f7173dc2dbeaa7cb0a0302047c435bb50067306502310097e085e05e2a610d2c8b26bf822eb4db9f895c22dbfacf7b6e01161430ec7910eec41f61010cef1876fd460da6a1d07f02301b7a0a1ab4db294f3ba9836c670b68c65c892cde9ece5c88c567d3931ea964235969aabdeb3e0b836bd5bf80d114caba0302047c435bb50067306502306c4ad9ee06f25093b53efd83959e96648dce224774c8a035c91b3f06f156b51bae1d9d986a864ffac794414298f82e33023100b1369fc7b23dce2d8589e88405859903f515098031ad9bf6c88f7afd49383a62e8f02ae4237196093698b36ba022e4390302047c435bb50067306502310092de6967c127c158fe7f7de80cf6103e23b5b8f0876b35fc2098743b0e1143445f1a686b8fa5e6cba2abe101a8ed51790230308244e7d6a993bd2055ae43c032e6623bec14ba0be058945f2c1a8901a78083becce013b9baa6dd54c271cc2fde24a70302047c435bb500683066023100afb8d5e029218ade61702c53e9d8e6114eccb3551599b0e50a1ec295f46805b6d815e86bb6fdf767f7694141f9836d37023100d63faefef9dafe378c2ff7d7331d6e4fc40523237d33b64609ce11e2cc42a31682f32b616165af54bace51761558e2da0302047c435bb500673065023100ef4cba616bf3c84289705948fe57b331fd402baeb4d0aba583ab921e57a522d3f3ba3b55a1ec36939054d13909b63abd02305a8fc5aa5b5b7176981777f073ce3a3468b577ec502cca244d0619d2559f9cfa56c726d88610a426fa4a28336033043f0302047c435bb500663064023013a3b3a32475635c0bde8cad03c2b67222aad11d98f06a1e56f071306fc4c1441633a6523f341c2f73f24dfe1d9e8e5502304bf63406d85ebfee4e77c3df3d7ead7268ae456a11e020dc988f38cd4a49bb30415dd13df0b284038e5e47eb696b70c10302047c435bb500673065023023ec8042f88a313396373c037dc88c76686328b3fe0f497aac76261acf898d63141afc5a181af50624b4d0f56796279e023100ca38d9b6dbff793194e6308dba783a04db9acda595823468744a664107dc6e14b09782362629f2dd46dea909d9387c1b0302047c435bb500673065023048c88a65c6f2dd46d48fdd4b2a5fdee87a6ac8bd4e68436dd89f38c05fe2f7205a9708dfbfce40ac7cec109befed1f89023100fc93d84c538f3e986ad5a8a8e74a1cbae47afb331b3317007d9f5da81a38431ef73736866192833c46b5bafaab83433e0302047c435bb5006730650231008a62af9946b7943a2d7c0929867cc543c4be66342face8c700d2c83ad6027d44b0dd7376ceb97945fb7c12afdb344f06023061f6db16b5f4020271c0360d650aca1b644e11d5433b055a936a265d0a381c6bd6ccbfe8a453e7d6aab5f173e3af3adb0302047c435bb500683066023100c6bf93c4f63be58e0a0b9e9491bc16a32404e0d97f4da65551bf51b47e6a150fb53ad40677cdd0ddbeca67e195f69f23023100c8d4ad74c4f626aa2982aae50009886b051c3de8d2c509c66023af2adf698dc661a2c336ccbafbe9ddf44816af1a444e0302047c435bb500673065023100936a4f775f841731911bb4b55821c0582f9002174a939b6e2451e8b9a28a08af66af76d3f0497a030378049d9b554d4d02304da64d391e4ebaa0f8b37d4e6d62767f27e5d40e661ad21a9ab2e98a05cd9e53dc434213ad3b4b30c5670eb0bc908b1e0302047c435bb500683066023100aba41b530589a3644ab40bbb4d3dd6111cecafd7143b310bf8be17d2d2c10677181bc130f9b089b6fca31b6de7fe363c0231009a4bc76761f4eab0de285ea69fa6c685164a8ebc39dde5be1f0fefa20a48984816d255bcdff4b473769fb497f7f0d18b0302047c435bb5006630640230071849e44dcc74ccc9166465ebdf601c1026e7c966d536aeebc59d4c6949e257be689f7d8d2169533b611f877693c48702303487823210a99e384f481acfb60a1c9086a50b6776879d93e28ca17c60e86e9f0823583535c62e1266d135801714753e0302047c435bb500673065023100e877cf93f997ef2939328f040e4a046d27dba0af141074ff9051d48ee2420b4b97554c665e9691701113ae99997f184802305f61047611cf85dcdcec894f6970713ff6e48b7e66fa5dc0d9d84c53695567426621552e57e0aea3943f19dc20b29a0e0302047c435bb500673065023077cb837c4169cc8a17c54780d4002148a54e40708d862345c49fc62e3e0b9d02863315095b24da652906359d5be9f11f023100adf36d40f8630a1df4b39bebc7e88b705290d4c6774746255d5e5faa9202b18ac34c9e494097a4782d90f76c13a6bfe60302047c435bb500683066023100db282f911dcf837bf70757ba0cc06e9401641fe8d10f7574f1f4f2e8222b118f427ecea861d270108688eadeb017753c023100913ff88fbced27a51f9979e90e142fc9457334b6ec5df35d40569757b33bfabe01134269c3b04fd6a7a4dadb18fdd96b0302047c435bb500683066023100b177a96179ef4b2c2f4d1410bd3f809f3b0283036072d0db7257d21318314b106c93a5bec07c26dc03829158ef851912023100f4a4960e5bc2e6b368cb0c32239f5adfc0b515a8b9a4f5ccfe9ce8238b527e08e9fbb391bd4e4745b6884c22c04ae0c80302047c435bb50066306402301abe063d205e0c1ede8465fc74765fb3f3e811fd99b8ecb50df5f8d41b4f503e862dc65f60fd4cf25c01e57751ba82fa0230279d0620134a630fb5579e25391eb9c97e3f8cd3611ffaa224c260b4a33fb9dcb3a22998a7331515aae6827779f2684a0302047c435bb50067306502301d2be0a4104776b1287244a82606fc6ed45da092f1843b86152d513c94ee73aafe057e4c16bb7a339dbbf97782b31917023100a1a5a9d99a139f612e8edfddcb9f023e484a8b69ae26a2e6f60e47d9b8157e130b2ba6e942fbc919e78250e8e65ff9a00302047c435bb500673065023100a4f670d28814c695fa95508c5fb0eef00eb66ced3e893868359e71366a86b9d06a627431068933288b0a60ab72b6618802305469f9d3db6beaf988ffe869c7adb29abbf881e95dfc69d570bb17f7cd1f2ed65f2c629f1651eeb3625ae0aebd6e9da70302047c435bb5006630640230513681dc893ce6b39400b38acb03d5169b6282df91141973bab75a4e68ce3b1b69eb0642172a8b4d1d3e59d8c74acd6e023066832ab90be5bb6ec3da0bc0073c0ed42ea6a3165c578a3bbdc8867fc2e009e833d271c385928ad24e2dbfcfc60a3f280302047c435bb500683066023100cb31f2b7259374149d63c356fcb37400b686d3a43f96d58c0e2dacaa2bc65d1332c99ddf617fde3298dce75cf5051da1023100cd5ecedd9739552cc4523b337aac5296a4d69377b139b000c0a2317fa180ae6c28409ce8e0c6a33623104da0334091560302047c435bb50067306502306853fe36416f05ead88fe91817dd64d2784fdd47a1774adc460cd87bb2bad2290ae99b9514b5ffc3bf63e86a0464ac9a02310082b441f43fc344e31477a2fd755b0b810b2ddb69cfa4aee33fde67ef3ede5ac5d01e37c598e105ddcdddf4dcf2e3ef770302047c435bb500673065023050bcca434b5a7fe715ed33132b57bdc1c7e9f4dc392d67be6bd00f5e6450fbe47255a06dbc4a3484c6b9f7df38b4bda40231009553a49363c7e2749129990c929f7d8ad320d059f12a0de30e4a6ce7f52943e685c299a4618392623441c18e0e990a2c0302047c435bb500673065023000aff9c3416dedba79ecafc5f85864af269993ba94021ca884eb05c5a748305e19a2295bb2c04a4f21b4f5e420f52981023100e47d82a92d8447e74c18625544296d13decac81d430cd0f48cdb25002b6c27b65950be0799b6c609fbc5a0d7d978f7340302047c435bb500673065023063e46aab1cf44f75f88a52ad370de7d5153bba0d0ce630b189a6e594a10a6b916114d09b103b0c50963477b838774055023100a2fc1ca54e585e0feb9c120a4a677aff309264273a153365527f1f03d57debe423b3073f35bdecf3a5b80f6515a192050302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023100a7e66898e63232dcb40bc9fc816ef4a8e9b152d727685736945bd42f12a312f6485e170e465cd602f4949846e657544c0230540f1eaa31e4eb8c5cd642706150082a49ecbda01c350b8a4dce8f58ea128dbba12192c5d3059cb941e94101efa6778a0302047c435bb500673065023100ca1bdcda966411a03d4ad6960053cee024156c23cc2fe23c3e60257b9edd9eaee473deb18651624f0e58fdb9bb1b990f02301ca9040b59c330003ebbbe174606699cd90b339389e454412c1c3b1d99f6450b9a4f8e3b90a96f09c129ae813e2a33250302047c435bb50066306402305a60b47dca8f3acd394e6d8f939dec15df6d17e9fb63837ed355aa024289a58e0c22429fe41a47930bb52c09befc7a1e023041d07ed8a73baeebd87480a1d5b6293b16889e58da259cfcdc8e351359baf363bfc3b1b6846f6e2f07723a036c147c280302047c435bb5006830660231009c8df1a2aac5792bcc5d3fc8fd7093da744a69695853b77cb526fbdc607390eded058b119a4afe313cfc186e3fdf7075023100fb010d765a93f2d4998cf6843ab328b5dccf1fbde6c8e1123ddf0ee174c4c4d60fc635b923e264229b565de5fb3fe76d0302047c435bb5006830660231008f53758d94bc37755a2140f26b8757b4afb1bb679528db74b3eb3b7a478111eb66ac70bfc21e031c50816bd31b625b2e023100c7dc08eaf7180754c448777c37fd50f07d7f346ff9d0ca2f0ae0ad2f4c00cd8e5cb63649195db5fbc2182c3b429f5f4a0302047c435bb5006730650231008447317dc576bb5061d7752723aa4a0dafe09472942884ed42d9f97d5d6ebe65cf38dfe32de1a6faa14da796fce0db74023079e10567fe7b75fca3acda36118d7c9f6be60a025e957ad6069be7978b29ab3282058129330918e25640901f07e29d400302047c435bb50066306402305babd28b6a00384005c76e5b1091e5f55653458cc18a484c810f6c372ff3bd1cbad72c84fc586006b367aee495ccde5a0230339484dcbad2aa445ce5ef78ade4cf402343fa5567a74afd44ed63452fde6d993505a2890697a3d959b42fcd9531562d0302047c435bb500673065023100bc8047fec06f0f3812fe6bd2c55da2ad73ad435944cd6d0f7e5427cab4498a84cdfb19c29212f45c131cbe60434a0ac6023068fe248c575b24bb5a2da1b0c3a63fcb9a6e5faffe80e728a33ac50800a7bb170bbbb3ce99e549e8fe7af6ba0d3a23a30302047c435bb500683066023100f373b949676068a66a512af9d238b213c584699193eacec7c9054777b8f9ca8002a380a7f7a3ee40c13ecddc99554dfd02310099ece73d01ea49dc4a15dcf3d547323b986582b1a634e74b5edcfcad96e292bb65dba5800a839dbf096bf640995b7cca0302047c435bb50067306502307ca136b4896eeb59775c138107bc7a22eeb83ccd19a4d36529fb05ba4fa42d62b1440453e993f902d5179132fc6b45b0023100c801dd02ac7ddb5d3e8a5baad3c45802913c9d95e88e87dd304443ae4254de2a88985143783ad875c42115c80f045a1f0302047c435bb50066306402300d4f0fc046702f3ad5018cb8974f963755bd14900efb9dd0b4d819a6bfa87bd1851f4674b68a8ec3f0db1053d3e2c4b802305e35788b885c241fccb6705ee7e1e48f6335c406252233cbd4e9017d0cf47a36eee21a24dc1e1f1094b54008af1852710302047c435bb500683066023100975148d6828e1e282405a85d3e81f8043b8b53982a7e2dea580b12213ed7ed9b1183389544f59fdd8945039489e3b5df023100b15740f96cb3ec676c8125179c8195937bba341de85f0b219179e54e22f84c36d1229e3f9de63648f31986f2d86285390302047c435bb500683066023100856f69734c804e24d695b2a95de543f9b8bf65930408031f48855a46c1133a2c1fa4b4223167c16c86c9b35121fa4d09023100cd55b5edc265004ecae06ee5d83b3e30bd59ef8dcbb96935f9c02a0c15480e9442e1c7fe79837153122e95a68bee39e40302047c435bb50067306502306afa4e1ff9e146904685eb9e85b106317d99f2b262ecf778ff7ccf01c8f8ee8bd0934cd17e148cb1d8b3c2f15a07f131023100b46f1b15098f4c9e2b836a556284f58ab57525e49052400bd3727f91f832de20ee436ea0ce31f2e335869fbdbc779fa20302047c435bb500663064023047366cea553e6ea25eed75230810e7212c1be28b9d5f5ba58de7cd2830afcac5698faeca28148cb49d34e58fb48146c102305a06efc0ab696a839154dcc352b7c1fd6d0b14d27e0bedeb7f7f3044b54c554d709c2999914813e476094c1453cc91fe0302047c435bb50066306402301a78e3a392e0ffc7927e6d748106768c95257dadff4198a3396f66cfac595cce98d1fa65694a567166d9757ef48e310302305e072ab0c04bd941fab4c3974beb4b06e3487d0959d5f4d89863854fc6918d9f21ecb184a2a93d6f3fe049bc6f220d1e0302047c435bb50067306502304aa3a547ea836051614bf644ccce60bc0c98f613979565914eaf9af0506d5f6da21c65dde766a3719a0871bbc44d21590231008081f5f9de91432ad159fcda007e3ebcc34bc21ce18a1f638f4eb5e4a12d0cad83d71b3764a7136b3387fce6d294e5bd0302047c435bb50067306502306a80e6867f837854fdedd0f56c74a981e1e148a1876feab0841bb8c0ab01807103d4cab69f6dcccbb286676f612464b6023100b94dde17f7c204bf4452a481e471c1572f8d60cc64cdeaf7de0ae0c9ac6aea864cf2b5e14a506339551a43753cf553490302047c435bb5006830660231008635988bde5e388dd4bd00ee363939e5092b772f023b45e1949b8b1d6fa9048b4fade9d2667a9c02b466050ea69e16a202310093cf388f7461b6270adf8017ea446f126277c35ab607f3e3b4874ec23c0027bf3f34157fdbaf820dcec638b43da3369a0302047c435bb500673065023064b35f2d08778d5ab1408b7f1966caf7e1c6dee1eac730e74c683f025c5d5b3d2417019dd45e9ed1d94ff07cc331e0be023100a3325a7274ce093242368f6fa6e421de8d3fc72e0110049465069e1edcf1a3d375a680b0e6c873aa7f35f2b0915ed0860302047c435bb50066306402301a66f6ca2d11faac92a3d0fcf51c5b38ce604bda09c206f5c457b4535c3426aef9e393dcbd1bf97e58c0237a9832f45702307d87c7017db7c418d31b4050fe248b753aa2fda30a8a2b411f23152121067ef0ccf376d3e9eafcb47aa27c0cb00acf1c0302047c435bb500683066023100941a02f688c56db162706e2488020fd7292f9bcf0260aa9aab0146861816b1df1a6b1183540ce354bc113b0ea6401b72023100cbb5977a0e93520e7ae3aa011103e903ddc79373f8e3855a36d12ef43f6efe4cf570a69c78e67ec7eed78734d7403c1d0302047c435bb500673065023100d1c834a044fc2ff59a248050220cb8ee1ed39bb27136d17a5837ed76e09144cec57e1660d712d9c66b5b3341408f18e502307590858c4e001ec0160506a7a01272da63cb334fc4a372bee83102f308e166133deae054e52fe9b69fde91d406d5c00e0302047c435bb50067306502301fdc904b6bcc7383bc8b4d0faa592db24450e993eb5fa44898790a41fa12b8150f12bc3fe0fffed46b11dc89945c9e6c023100fcdc10fb2cdd6e442f109c14a2a52040d96e3d607c9cab81f4bb571ce9b60227e1bf773db4535da84fc8c25ea1fc17050302047c435bb50066306402305ad7da6965dbeaf65c90786b73bda791850065331a985031d0c153b4290f9798e6836401a95b733c8e17734422a8223f02302c44ef484fe9e0fbfb413b488c3ae2f72297e9c293612a4ad965ccdf0f39e754b08d2dd4d9073fa84598e10c66fb7fdd0302047c435bb500673065023074e1a546d4dcf97a20df01126d0a1cc6e49f6cec5eea2ae36270b8b7f74d774f01aaf88618f63a413e8b858f936c3df30231008ea1f0aaed8aeabdd47459941f6a3bf8164bcc954e259c1102bbe7a6cd9a2ae0369abe1c48dc6488ffab672221c792db0302047c435bb5006730650230510d202d9f1ec6cc239a5c6a223d24f1e35f32a9a9517dd81d01a9c2d3346117b332ec378a92b76e55b01ad99f450c4502310082700d8c61c23d56c6509e28db5c0ca8bbdcd4eb8b2cb499536fa68e24bcb41587c5658a8ef6c06a7b55e4b613eca0ed0302047c435bb500683066023100ffc22d6b8b800382abacb0936ec3313a1179a0d6d8e4a2f7fd111f6385c8f598c92621c1fd2dfd443774bbc3402c093a0231009cfba5fd802d8fdc9e3b3b555a5281ac7221312406f3fb23ca3bf7005c2cfc2b3127783eed6a2e5fe7ad6e9a89e41e280302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500683066023100c296e130c1fe26e43f87ebb8da608bbb7418599ea71b5c23a1503513508021a246972b2f4d6494a7497352f0cb90b9e8023100d65f26a342c5e80eda7d3b34f93d7145b47cd19cb6168d8495663bcdf1feb9a0daf682312ed56de381e28ca8d46776ea0302047c435bb500663064023029760cf41e98e9ea304a21d5c8c634ac9b8862bb26012e1b66e1ef6a14806241c818cf070733d91bceaaa1549e989a4802300165e09de37284a0fff4bbf98d7dbf7b9660bb3c888df66c5ca081365f4d5fddb3ad745b59bc2ef8d90be63c41ef380b0302047c435bb500673065023032a7f67a1a6cc1685f43c752a31fa8b86decc2c92bd78f2e96dc76dc48eb83be80ff4658a9b4d5dd5aa9a23098ab9eb5023100fc6f8c6af36f4a0cb96dc7209222b7f23ad9ad7f08e626766ef363f00459de56fd89c8d2c1fe751804712bfb72baec450302047c435bb500673065023024c9543d6f8a064565b735a7b71de8a772b945911bedc03f1a3963a35c63ffcc44003474d05902d600bef8c5996ccd0e023100f6d35dcc4f8894303da1351af1d7137b7fc8c777ceb9eaa5586b8522026f7d38c44428dd1bfa1f22f617edc0872d0a320302047c435bb500683066023100de5148aeea11fc70386ad5cb13993b0a2c0c69a18594d6b838308d5cd0cac5920c199e48b8e1cb2025de42d6cbe478d1023100b323cce18bb5550560344735515650af28746a8d62d87503e80244b2f135199a0cf9b9e5726f4406a38ecf1d8051af500302047c435bb5006730650230337bd96d607cb6cf25c5d1ddb7e325d2a17edaa6b4f01942f58a699abd930005fcde18644d0b9935aee56b5e267e3c0d023100ed2cf5d95286c709a8dbf0346bbb917644909d86ace2cabbd59d9bf2efb7453d7c1d0143254175e80fe94127e7a10a4b0302047c435bb500673065023100a9bc6471d831d4e06426165a1e2c0a854a93cc7f7ebd76ad9992d3cc56dfcde8bd043996dfe79958173910015458ffee02302c96c23c5212f8e5667a7ee815d65be87b221da551e621e4161766883e69d15574c6b7340405bc110c5242954c2462980302047c435bb5006630640230331f88493cf9114ce4528be791a66296e64cce489d40ab4bde870da31ac42f67501774e12a5dbbda5bb5ce4c2d17754602300b538dca57f91d322c98885429a9d159892819d95f44edb4a9c7e6caa72fe2d580398e1945404f1d7dfed8ab8a7d65880302047c435bb5006830660231009cce03b74382279492e54449a260c99accfeebd76c1e5ce7c10a0b13ae73994ccd52af1cdb0e2ebb0a222738ab3e37eb023100d78952100541376c97e1154434d2a3f239a2f402f66a9b82bd46ead68a1a7e84e7307cc57d1fbc4f9d948253fd6c20760302047c435bb50067306502301e09f934bbdc70ebd2c0ea1b63b5417804d49bcafcddb6be2b85c3bfff60e88ea7f9d2cf4906ee059027e2666419be2c023100ff91ff217478900d931ec39efe90dca9bc238144e1945acbd0181bc24138606e0825e89bc8cc616e8e8cfc6b6e8e34400302047c435bb500683066023100c5f3015a306e5eb9618aaabc3e01e2174f0bc8c2b1789208f534d5b6e91bd96c330afa78a0381a7912523d354e8fff7d0231008ce0d1ce5850cd9e2fb0c373bb16be30e4865b9a75757c731667ce1f9788b58b1a5eaa97d697c60c0b9942a39df59c8d0302047c435bb500663064023078363e52ca069d82469eb24913e554647679d4761cb4b4b70d0809c48dfb0ba262eb3c9e9f370eeb915b8a709443622e023058b028bb46a51eabecdc6c56b5e0037156f6ed147bb607d71fe00a7be6127285991c3144065b46f9deac9d37500faa2d0302047c435bb5006830660231008fc46dda54c4e0824ca096c02547c117e2f7e0437fbc636d52ce4d8894d4b7387d5c2583cf39591c6388f32f04f5e849023100fd5f6f9940a75af1d037172e935ad7446103e95edab7e27c8989af51e595092954bd53a971a1d55855b9d18572c89f2a0302047c435bb5006830660231008bc1491d5e8df5fdd89727e99327ab68378daf70d4c1aad32e5caf093b7ac836dcd48ca6d24d3d102eca7d2a557108500231009cdd9f741e4c7d7d22c76dd235264ad025874f61abfe81f028d0c4a20245acc4e6bf79efc0e3e4f9b2b5be77e06c7c3e0302047c435bb500683066023100d787b1ee4eae5cee60b823f1926226854fe02075eae0d11b7857570acb1e30b98720f1fcad06400a768cc2911fed3c6c023100d695b02e4b0c217a47b220600069cda2b517e67e595e1cd16f2f2a80a87ffc1b60556eafde09979e2134f3a3d21145140302047c435bb500673065023100bf9a388cfee4d57af2021d4c1539f3a59eca93ed2dd2f50fe97589d696914aace00386b35f4ec2f4a7f8133a62acd77202301d1f87f208788ed21903dcdfd356add818c9e1a3a1ed3be0abc81bfb434c0d315f97b566c19179b14a916101b635d1200302047c435bb5006730650230416c212dd8325d0a7f9306c0b885b1f9d103e752939e0c6cc158e4ffeae854f0bb78ac5190796962358dced6c92962ed023100f5c648e14504dee695948814b17a885efdfdd581f600cc6fcf4ac267cd9f971436daae2fd3982905a4294e16f77334fd0302047c435bb500683066023100bd4637cdf44e3225a0fc9508af6938ba19c9aede0e3ecdcaab622fa3e6935709703ac1c43382e407b84abe051923d7ab0231009811147cbc0c833c3be072eab07a246756549f99f159c49e2c1631962a1512562114c93a7c434ecf5d4da4d3c47658f00302047c435bb5006730650231009d8736db018d0925a7476812768d70894cf6017bb7e1195c13cc7d7428f24aed3fc8918b1d70a35d266e95c44567409e02303ca496ac8104e5dfe4d937b08c6569077809f1a1dd5407ae91b9f21cea4a5553cb204eb73d1ce7d4d23dd664005c5fb70302047c435bb500673065023037b5d20cfbb83541ec50433741b431cf55dea924117e5f99a7d4b6e4541dc62689219ab1cbf47a3b704d5aad491c2e0b0231009f70a4d56d49bdd83576cbc6779b42c47d75bbeb99b927885bae2d13456748ed23acb5f5df1494e00685977c6e2b6d270302047c435bb500673065023100804c13336a600eeae6340fceea867a4d93d7fdf2383b509de0bfed95697af2fb4f5876e682ee528683f37d7a872a875802304f43e950d8a55cb55125860be295c0e44a5c632fd63a3e9fbe1393e7bff8b003f8a06093bfb6ae7bc86806c789b339b00302047c435bb5006730650230062a7aa4b393a7fdae4cb11c4b2806096ed655294de0106ac87f696388fa49dd80d68528c1989a4efd6878865109e471023100d865c69bdf459aba576dc486d0b5d3f937e1625db37b662ff2159ddc17f7b8eea6f14ef16aa966dd5b62e7258619a27d0302047c435bb500673065023100dd9a44eb920cc7453045fa1b2960b73162b48672506eba50da9be9ae1c4fb69c198a8961f826866adec9238d5cc919710230563a489cb6c27c39d6d7d9929963a86c3db1b3cbd5e73cfb696da78f27843e012af4308fa3e182fc4c23931fd08cb30f0302047c435bb5006730650230244a9c5d0dee27572e328e46616dba7dad6ae23aad16869cfe018a46857b4c84b00587367b55d2c705b9a1f0b679155a023100c18a84fa74eafc072621c55e3cd5381fc38dabc8f56ce5d01b85fafb3a7924f9ba59d87a60118e80ecbdc6715da8a41f0302047c435bb50067306502310096dea4e572cf369942a8cfdbaedc9dc2c43a7628475fc0b5fbb4cd3ee67d14a63378656cbe00c0514ff8dd3122e9e47c02301c4627a78bcdcbcbda618b8c7624ded6f99fcfa663077bb7ec483fd14240c9560f90ec8836ab277324674c587ab60a910302047c435bb50067306502304d2c89a24d8a58d376e869f66fe3a5927cce7328057e647fee979d6536023360b7f439c8ce525635e5c5fac653d85f680231008c94c643b8dfe3d28cd28abaa3cf9fb7b44527ee5a157c5abb0d7b7e939bf3c58a3d1f96c67a7224c28b0415f9ad299b0302047c435bb500683066023100bc01eee50208c511b0b80a2698785eda4989dde0c5482bc6c4954a19861c043d2b245baaccdc01f07f83b3b5eb9946d6023100bba9538a7f30e58afb849c89235775a479330783484b70e8c9c1bf86d9949fc574b7308b5f0c17f94e3bf4c8ee0f80550302047c435bb500683066023100cdd4669bc11bc2b95b266109736e5b881843a60af85c2cbb5a1960ba76aa4233878e98d7920a58437d0cc675d14fc52f023100a538b431f70bbccbb4377b364bf1f08df72c215786a7da871a20174dd75395e159a9653daffc50f506929619928a405d0302047c435bb500683066023100bbe2bac156912bc9e301a9c0d195871a68cdf70618098c0f3dcf817a04b241490b73d17b77e29fe060efcc08553884cf023100fcbe591cae035f90f19e348a3c32c18886de03cf6bc9ed9b2a0ae4ec422f1926ad8eb301fe5666cad0cc3afa4b26305e0302047c435bb50067306502306feb414b257143ad05e6e0cecb5225cef1d31f2e3a8ba7b6b537b3734e1f9eefcb989a55ba653bc0cde711d99cdeb262023100c2a1668f294c92680bc9b4f6a2ab7562c63ca96197404afb43cd2f6113e1ee50a8448a99ed87e7ca70196b88b244dba10302047c435bb500663064023022c39366b9b50e621def3c9b41a918cd0d7262d593c39743536d895e396a80a1761c76f80fcad935f787eee5ec78451b02301b528b5c004c74d15c8a90e7bcf50192c0e00558f81aedd88cc4ca336a9812e51f6a0f8b35be097e60fdf02e2a289e030302047c435bb50067306502300eaf22c526bf438f21c89a0e17c089196f222e5822abb473946eb18cdeb84e65425e0224f754f17b8ea147191ce5790a023100993203df3034e445cf8f337124adc9755050a8cbd34617576ae9165258336ac3e991d493f2a492bcaeefcc1876caaf6c0302047c435bb5006730650230178db2bfd69fc10b54fe4784b0d09248e25886e38b9a6ae2f754104bf219052be1ecdbb17f06c30abfcf8e5e8d7b2e74023100efaa3ebee46bbba8430c9510df616356abfef33cc62b69e287605f19e73dfb5d4a143635e1a0d3791df5e881a9bf4de20302047c435bb500683066023100c197d5d3bec2fec84bf36b513d828c04b329884dcfba5a80112cb0acec2df84b679967b809c144222eb63c218b07f697023100e0752c7c981c8cb03cef5cee8d01c8d8038263c6bc6b1f909282d96f52588635818025e7f8f077e933dada7ce65c96340302047c435bb500683066023100aa171c6ab14f280e1b80dab2831e6536798986dfb46ea370c14e1689deaf5cd44d10386061a1cf0c84e65b7f948370f90231008a3a82193445f8a96dad77ba93b7fb404e66689837e6530bfcaa5e6aff1077ac6cdb51c2104e3edfb1c054b32c0b206f0302047c435bb500683066023100ff3da166ce64166267aa42a686a0c8bd24efb7cc9208953cadadb5b19ef259809d4b1f9e575e0b560194fa17bc91d81b023100b46bd383f002dd614cc0e0e75c26f0db1687d19cf4039a40de91772d4e387420d3ead1a755a25c8e7b7893e90adaf8b20302047c435bb50066306402300b7487330038c98eac354c6e2e99ba9ce0a67adb672ba29fb98787176cc4f697a3f3ae81fb3b6e21423f8b51bcb8dc7802304827f11b53ef185b85c14945dc7cdf0bdf2dc2a8f90b7c09de29c04612a7535947b4b5dd5e05feb34817030b8fddca8b0302047c435bb50067306502303e6deae8ea33084e5b358f55cdadd7a23da34bf5c71453653cf675efa8e5e80e8c09d054de27e8e194f99b7ef2767137023100dbcdf58caf8cd4fe5cccdbeed2c918b92c0497ccc8eed1a9ba93df6f5c1348998f95afb937dfcddc5f541a679c0043120302047c435bb500683066023100de1d7c150bada23ed28cc02d3b8e91c35ddc80e966f6947497cce2214fac85e5f56d2876e009456a91f43719902329e9023100e0895f2c1a2526232fd1f7e730fa65d69191a2f561e77ca7be5c8b539b72714131124f7bb72102d36c4b9c3aad28437f0302047c435bb500673065023026f25a5a624e0392f69275d252cecec93825a42caff34f10e905bed1035f9b237e92b0fe910dd1c55b4b930a6d30f47c023100d0ab33a939a2d8bb2e280e603bf9bd73f6b7465e1fb2d4080536cfcb81a205277d8bfd3fdbb42b7a6ea894e88a33ddc60302047c435bb5006730650230281f475a08a387b100f88fd641b997744fb0d3580305fd079aa6e885d4ff3540d842f8ac8f1354229c61cc977ea18436023100a2b2c0fbf6f7a26450b3ad8de80471a704176d25910989ad5e79f7e9d562c23da78134e8b5d36b209d53339780c4b1400302047c435bb500683066023100ec6df64411efcab3834577dc1b8f0ecf4752718c9f11649621651dc1c92a451955e98eef52ba69b80d7ffdb77ad9c26c02310091ccb955912ad1c1651e145affad0bc0ebc02c57001b7af10bb23fcb23d882e5e0887ac8e6dd88f83dbeb673792a3eca0302047c435bb500673065023100835cdb0d3d7cb80650b27b6b3866a82ed035cbd72c767f21c8321e3cc67f61462b2fed6975dc1da01eabd32444d22bf1023068b54045ab1fb06aa6aff9ecee9c94d33ee01a9c5ef2b25cfa504f85fbb50025cc19f7e38ef82bce379134f3e188d8b20302047c435bb50067306502300a40b3f23781bcf8698a648869d744ac31c79ab7744719768b306eb13c033ccd326d1c9450ee5971f8f15ec6c5926183023100e89baf25c46988dc1b14f0b2328fe898607071c48146867c629907501c5fb0aa886104297d1fe18e49c952958c8b49a40302047c435bb500673065023049faec44cde9e360e36e806e5c2f2e85f5453ff86ada30901466a329c8e87cee7a535f4754474ccc1f09f06ca0214863023100ebfb3b474cb43da44c9914fb729a939efda5638547fd44010ef13c25b985225ad73504af4332fac433b27719ea88f6970302047c435bb50066306402302c05fa9814a144831bb0c593e7351a5eb4abb4649daa47a19e4898e94f8403d7d695081c6e5a97f34cdc97167eded8be02300e8e76d5e9cf5851a71ca8cea1689f6ee72781d27701af6982d5d3b2001dccd5681e7ccc85be9ded07ad0600583755710302047c435bb500683066023100c9c9fdddca820e6379f94a04d2b3fbd69c00e4892366cd3e5d7bd04479b09d8300cc946a819a4c32d0a80adf75ff459002310093eb0ccc297034df5e026015aa4e70aebb8e4a803621075fe32bb92645a651580be6fa567f69f429f3065dd68ae3ab1f0302047c435bb500683066023100efaf7dc12f1c3507847a7302bc424ac14260f2c921cda6835077cd700f278b4c899adc6640254b2b6e2bbc3bd4f62b51023100dac15d915898d12608a98cf6868a1440c8a3495a2139e16e3f7c1ede322b7217e55a9f6423d2050281f75a5497d75c570302047c435bb500683066023100f6a5998faa05aa8e5636efd059a9ea2acd9c40edb39f9d17064c67a84ca0919b6ea03fc6a420eb676664ba1bdaca502d023100ce2b50327c2698c194578f9fc7adf6ffedf4d259087a6919017b9f35c0893361f61335cba081e93c99446f6871e7640f0302047c435bb5006730650230122f7e05762382e95d66549df211710d7daf01c4acfeaa07522956f19c95f1d841a619cd6427154c2d20b18d33d90c5c0231008f5a90e141120e0dd7d605a685741c324f21a4750c875c8b99479ab5773bc1bb010821d03aba1b6fce5c843a1cbc20e50302047c435bb500683066023100d2f0d83fd6c0ddd2aef31fc4a904f44fb4fb7d5977e62d59eb8fb73a5a99b42b698612859e88ff50cd46cea5b09ac194023100db365a1036ab415d2fc15631029596beb85e2653f13304eceb11a36a8005ae58cc1a7edd644fa1ac7764a5648cab14620302047c435bb50067306502306b208393656a76bb7da9313c5a52cc492aa2878c668dae5bf8c7d1e911da1b59ffb9681a046e0db8ab10724dfa16bd57023100ce46288951e840e9df78548c5d907bb15862bd7cb7f3ce1d52bab1be0efc09b1347e2760e69893d3650a92b4903d037e0302047c435bb50067306502303bbafba29eefbcef42ad42a9240062df3a56e37dee129dae0b532702b5a1571735248e95f6f51977bdc1b7b0b8ed608f0231008d570cb61f39b63c347116d24d20d3dcf223d8eca13e03ad326975257ba310826e3bfb416c8a2229b8f3163c0f194b250302047c435bb50066306402302a4ec46921f1e0ccb991fba998b26def523fdfd98dbcc4e1f251b287141c2c6b5b4bf7fa04085e3143a914dd047edeed02306fe74393edc435db3e942a13711c78e838acba715f3363b1fdcab5f12f5af8acdf95930b9197f85f76c5a9ebc7463db50302047c435bb50068306602310098523811e2948a11e9420b2675ee027d7f05c283262fa0a2153947705a9687daa14f2ea08f5cf66188d16d672b72aef902310089688dd875c1270469287c08040ad6cce5577b5a41ea6735f0f7d40973925d0e7879cbfdebe5f291cebe3133a3da54100302047c435bb500673065023100f933524ed6225f2deb712762874cd903d44ae0071f574ab0f023689fc4945314561267b13b8444de7a98a548a25d2d5802303905dc3005550990a2e764746dda7b1c2f3ce163b5c93ad52c0c66cdb551cd6e18c36b72fed10ad6f089a553729d2f7d0302047c435bb500673065023100d9724c4621ab54595bc0c51cecaca14028b55eabf6eb9b6828ba8b18fc42d60c180ba8d4239d99ee526b40dd768eb864023007199e99aaa8c1c31df9a9b29e4d2fcde58178f43d14147e38c9821c6b4a7a7761e973841ee0038225a1b10f15a0a3a90302047c435bb5006730650230560a9daf90e7146279c6d7997600d0d6a2403f70386d9411c8ce951be110b6112206be2bcf16a72a78c1755a69816345023100f0add28e30bfe5d35237e4fed8d5e43e493e336ca19cd95342931d4ba8f98e98d33af0a78042e3cd6632d0624fc3db560302047c435bb500673065023100cc14e2ebf6f64b63929666c2d23c98a521724afcd4af78441068cfd8e7e79453835938ead634b900c4da38deae460707023065501ff3a98ed1cb45efac0f435953cbf50af3df5dc98ccffc43846a44a61ef6bae72aac31dd3c213b2a72b10a57b3350302047c435bb50067306502302d91f76ac8419a8dbb22ecf6aa6847a141b7920a6f6e68479c46a7d409220b8ff37ad5abdfc13b0d66ec85dd8a2b6eb9023100975720b2b8a9b2a710d60842e8d670d1cc9a651186e44391a7271bbbedcf3bf3f303fd512f1550503391e1d7a195e1050302047c435bb500663064023058051a341c8d674926815fd1d6cfd8065ba6fbd838cf7c97f61e1649a7fb92f9157084ed26d01278fd3d888845b97c9002303337b862c19787df919177564d0c4dc85ea612efe437de674a76d79567019ee8f057928417388f8e09350cbc8f6dec930302047c435bb500673065023100fb0888c785e071c93ec2011a9ff1910a30199ad6d1bf093805e9e9e25196a8b1aec68589c802a462e73c8c8e839660a4023077f359c2316b7d6543adc43a8bd4a2a6cd8de440d02a2ff31bf809e7de615dc9472a8958b427a855d26281cfb9d46eec0302047c435bb50066306402306a5293d66ea1a88cc2c1d21078999b3de4cb0b3f7987af848ad668b7360dc7695dd007e4553021019d59a5d8ba6c3c0002305389cd4c25c36f75288609629075db90bb204f6ba0688812b4dfb967052fc55d1a187a58aac9a2b16a623d2d3bee80400302047c435bb50067306502303b5fd1db33ded33689d92f4c4249e52d5d26805f76c52d8702460c0b883f12a2d4b1162aac46899d204c0a16e96dc0da0231008530f10e07e47425597435287f2644d98dd099b9c49da6fd4ac86bc649efc6d6735cdcd0206d293d59cc5a8d7b9448820302047c435bb50067306502300982e9c4963794ad71961561c08242ddaeb94cc5dc1d68e3a834ce6f419f7070f2284d0ca3e72e52a5659bc7995c4dc8023100877c44a53017fdcb3592c7baad4d2febf4ba1a1331e9cac3241c1a873bf34ebf58e618a3cc4147ecf8fd9421f3c845e00302047c435bb500673065023058407555d63ff2632d9f780e0d498ef1886e828a115b4930389c918521ed8100095a86c679cc812009b0f548951998780231008649ce59a98c4917d0ef3634b0f5f51b1182811a3b260c1e8eaf8007a3b58b52ac118bfe63005cca74a72d5fadcada700302047c435bb500683066023100dcec1327711546a79fed36428d555fd7ab1b688ff2eea3c77a0a6d39feba214bae5ea6939630bb4480fa50a4a8fe4a4c023100ad517891b7967088ee4dbc0fa8eba834825732a3c4b82784eee68facca49afb2468fb1ef0bbcb248c6ca6ba45dd18e340302047c435bb500673065023040516ef710c9b9feac5a877eae94ba13307d635fa7ef628c9a95c474b8262793bff1ffb4ee5f1cbf4706fd402d534019023100a7d6741a9ae4603a298abc51cb00444b1ff7baf9933aa6ee602e94eaadf56fb2fd9f819deb04cdae29af3c3558ec99390302047c435bb500683066023100cfd729c14e6ebb7a8a308675c2a9b2e1340a5d0bd529e4d04ba27da8db4cb6f4f6fa70fc2c498658cfda086dbae5c5c8023100ef02ff1e0e1e74440685c59dcc65f9b4ff638de47acde0e4c25a6426398e00563f5e714af945b968bf00029702736e340302047c435bb50067306502304149dbe5cd7216d6c6dac78da1169f8e730272195b1d6ce39cefc4a61cb0a3b2d041b677680d3fe69ebe9c23ca0cc025023100a75788ab2b0c02c7bbca3a4a3602d440c7671928692a0bdfc6d29f032ca314653b6afb21ad0b4fcca6fb9ca5f9317dde0302047c435bb50067306502300b2d7915a9998a347219a22ac306c3f34dd3bc5c75c0a55a85f1a0d6f96948fa09518555e62e02f43bc356d81c9971f1023100a006297a3f7fb24168475554ac9a21a7de86450e81082282d72447d67f20d172cdfbf5c3b0089d824ce7ff0531b1ec110302047c435bb500673065023100d967685af9e2016f4478f44c1e48d5a5bf2dcea60abbda7eb1dba9ba73f294661347bb2d73f53da5f1ece90303963aa60230049923c3b98b6d9ace33cf5fd9ba00249ee9cd2c69c02c889565e62e25c5fa125a257a3c91140f1aeddb677c2458e3220302047c435bb500663064023067c0eb22c16442ccee87ccab6f41d614231ab765b454c8c217c84d17676c6369616737e654d82d9b34aafa2405e5ac6102304eaeeb41e5e8421db9ff7bad381a9117aa3fd0b8e90471a47ed4c146866d8e0f9ee1350087976c0a0f80888dbd6ef7200302047c435bb50067306502307cbb3c565fa826d43d231b8a30545510d16fb9d5ca613c08651e65f6efb20be847988558123775caa467b9c39727f4160231009a77afd52fe6229c827198a6d455eb75a5daea89d7d789174eafd056364611ace63d6db6c78c4c28309e1115faf0e6140302047c435bb500673065023100e7ef38c2cfcc377ac6577f56e5c94b853487739f8609dd72de805a43edfbf50c22052e05bc8e0cbc3a0032ff1c8c85210230695d85805dad8420d57e578a2949187145badec86cd0710b258d7fbd5f6a5519f04b953c0c7267f5f38c9bf598fa02080302047c435bb5006730650230777fc7c1db010170b00c4fd47898eefa213cb838a75ffbdcd40dc621f70f319489758db8adfae0e4ddb8f543f2f5e409023100ed27f4309d1238429237ce12f628edbe0b91568b8a703bc0ec1cd6c628a6266c7dc4735bd01e7411b1a8dd97a72df23c0302047c435bb500673065023100c221eac9ff58d243412dfb0c6b05521811f27190d3093db09ce74f21bbb7d0a25659461c83e20e1bf356f0923ec148e30230759992d735414a4daffde9e5a57d9263e1328bed703b4cb0cfe87f3501005397f78b5449298e8319a331c98fbcc2737b0302047c435bb50066306402300c26f85772aec61b663ff060d6ce49b83c168a505fa8d2d9ce83165e650d67d443e3b31dc9bb595b22dc587113c1988202301f3c80314a823643cb8f15975847a6221d318355dd044ad362e447c471e5424f1c502fd840fd0f3865d3c47d17dd37bf0302047c435bb500683066023100ae809cffe4570e18a041d189553fef5b19014c10d8c0350dd9f0c11b5f03f141ad928e8dd3a4d86fddcca64294a0f432023100d586c84a83629883c5a195093bb33379743c07f5f3b33e46f491a1fd58aa6efb8ca30105f97a16cdd9f6f641c6de1c890302047c435bb500673065023100fc012b6a4945cff358ce1ad0dec529c65e0e6686d0f4dfa26cc08cb53c3c6eb5f078ae6a16dc95a674bbea93ee2fda76023057fb8cc538927c49b85009bbc2290ceb8c73829a8a241af020f77b0c4e46f89f2ecddd7c144b93409aac9cf78f910bae0302047c435bb500673065023100be71088bea20373fe7abc676cead2814427f46e4963c00a5a06d6c17a7fd78fbad5686dda389e37d745bcbe5333196ba023052a69710c2ef5c75a3aa93d87e03dc816191dc1f87648bec2a3c4c4e885971e03674b310a6ae23a2ba65c87040741a800302047c435bb500663064023016bbcf4d972f1ad0b80493e4d0b733fd6b3dda69a51211a0165ea669670908b7804f1d8d118a8cd02cd4876ede7e5ccd0230582dee157b35dfb478ca4cdcd0025b80e96c12e40b390b2f7ac9a07b469e69ebe923469dce58a03f025b0a358e6d22eb0302047c435bb500673065023004f28f877f3da65f6852d9e854b63cb6ece6885913023fa6082c7c3668ca9379a688a07aaad4020dbd159f31b8f0d50d0231008f78000547a82a8138b0e8e970c54ffaad039a81e47965ad074267967515e8cb66d534ed7d8e1c1827d2d3f86750fb8d0302047c435bb500673065023006afd7bfabd4873ae0d461cb3df867016481a84e8e1e6e060136748dd50b99f4c89d338d600f2739ed89c593ada25b7c023100fabffdead63e1b7715f724d123cbf60f046ef834c652554c3949deeeb2c62e9a55b5c66274984594ead9d06ce21756360302047c435bb5006730650230188bde10894e1e083fcd8ffeb9fcd93d32511c9218b73180b0d9e51b0be8a9166bd68c54be4351ba0cb23649e1660aae023100b7c492d90e2d1af7322b748bd355c50e0e1ac94f16a8555577044161a8c5984bb00526a77e1f8730227aa6cb92f7f8ca0302047c435bb50066306402305bdc7d4adfee5bbe06a20721bee6e972f476a19085019004ab03e36d2ba76f2872332997324b5f830965bc161a97641e0230296f086ca55c138e20dc30c1d7c99754e7099edf56ebde462fd7bd2b7a17e2f5e51c81d60c066ebc65692c88d8219acc0302047c435bb500673065023100d56fffc94d9b17deaae8353124fe170c09c5910507f775d218c19720cfe1e6eb4d6af612492c5b2dd8c228f9c040101402304d0b2fd63947faaef0e512a7452cd3e3b0a82debd4c7a1764b6c7bf3e32a1d7a978eca66bb275ebff9a1af889fca87310302047c435bb500673065023056877f4e0120ceb0c7eb61f79f750f18f38f3fd402f476be19a556014a899f316578d50712c6a64a8ba2baddb9694071023100fd7b84b833bfdc950d0442469be64b1d68255d3cc183a43da46824cfc66699a30516633b395a56c3b25f324ce4634f7c0302047c435bb5006730650230532bd156a80e9e4c578f48766f4071ea9a166f6b9c2e44c003ed107e94b1a50752e1502178995727e9c207fcaf205a6e023100cdb816668f1820385c32b6186d416a7dcf5442bda9d0b6292be94d329dd8195f5cc55dd9bc9b3c6f00acb8ec2b517b6d0302047c435bb500673065023100ec702f2c71ba7f25623ce3a6f934d20447562b4b1baa9656c1ce82b1bdd37a03306c48be3ef22657d390827272c048e20230660e0788d79706b07cf80df7f772396162f32b10b75574e45a2c2c8b840dc94a8f6a206ebbfff85fb785edf7e8166b5a0302047c435bb50066306402306d82a059ad857fe4fbbe080112a8c8929ccb89689ac72d8e846048fef13c3aed5f10c5fb8ce82b48069f220e6da541770230745b3cfd70cd3617e7b84c3a2277a7635368e74aa01cfc0138e220abf9f2cd28a900c8804355834f903fa0c3c3d1aa850302047c435bb500673065023100c4eebfd9326f4f4b3df4fe27616343668538e12ca02c5ff3efafdbcacaa49fbe944562df2dff119fe34412e3cecf084b0230714f01a9a307e04e2606c2452269ef24b01f11a16b94c961479ff8c26b63a913fd65fe0e4607feba40d1b2a54ff23c490302047c435bb500683066023100b1cbc43b595d30ab6d5a6c459fd9b899c87196990529809870c20917490c6cd2d83adb18fe0970945836383de1240740023100a00eec2a13b757f8b253a1ef42eafb24b0e67ed1412f6775c285652f30a8ef179cb522a3580713d39a11ff47333082e10302047c435bb5006630640230368c5cf042277d54e9fac1361d600b8fe373fb4bb32428d419ad683242c966219b779702bb39a962055161fa4b07939202306acca1f1bf5eec3d3636b63a4809092ba64d8a9f5f62aa39d306175a4dda03f1607f2d1848954f0d324d45f2e66a4f560302047c435bb500673065023100aae1f917751d1b25c1dd8fcda0835c1d77c1a1ec731bc7eebd1033bfe176b17f87ced86a954b23ebae280a5e543268a602304e452e373a20b5b5afd3a55111151f0cea8e23ca20c7c13842c3c543c714c6cabb8edae5c6ab712983679f91c1639b920302047c435bb500673065023100e67d12ebaefdfa0a7ad3c01da2fa1ee7992e666c29c5bd5a60beddebc8d1d40bb261806f0bb16aa666889935b518616402300f30fedb93811bf535217639152eb0181c37aa925cf0bc2a7af882b4ff282349979a964bf9542df70383878b677d0c6f0302047c435bb5006730650231009a2f74758aca3a0369169fa62031736961eef136018ad5ad5d4d59da79d9c8e0b40da2005a759c73ff3313dcb9c3ed590230217112cad36a9453088851395fcaeedae30d8b21afae7fb5045a84480c2e2b905ecfc494020654a4ff60a860a95f58dd0302047c435bb500663064023028ba4c3b5d88b2743a3c47abe8065b943bf9e17e42c7881958582930cefdfde81d6f15652ed92e1ed4945c0c0cb6055102307f86725c495d77f08090dfdd85e121205474c49634cfdea947ee1b82855572247b5281b1c7721df6ad8d7319e6dbbcb30302047c435bb50068306602310098b446323a4d00d82ffd7b9f4fbaa599753538f9795e7d21f612cb16e3d09ca04c9e4af5d46fef0511a6d318f88773c3023100e8a66e303dcbbb6a9d8939209be84ade354500a0280abdedce568a7dae7d35bc60d619a6b079257cc8ea5597a27f1cee0302047c435bb50066306402306d99bb05132c9c6d96ed8c9a391805e6f0470bb11d03cc527e5a4688035951a9845f4e0119a4e51725c96771b9fbf5050230136a4d56f243e8516639a3a96f28445e0264d23d3e927bd47788052d2c41f4a7caccfebabe178d33964a3e931f3b494e0302047c435bb5006730650231009ddb9041db93e3c9266f3f3a23bfef49826b5966a21a09dd3a75e219f15543f7aa5220be85ee295bced822cdc76b6f0302301955b5e096c10c97f8856fb65260972cceb22e8f082a3bab6bd3b22bd0662dd111062aa4a6434f30dc289293c3fbceb90302047c435bb500673065023100965890d579231aa58507cd22d48d4db1c5bb471e51c004b074dc46f84052364801e2dcc2541904766770ce174cd3efd402303c70ef41f544fe8c05a225821247194e51020a25a7e849addd569340938c6a3e4710b278320e9cb80c83281c007e22cb0302047c435bb50066306402302bcff4db6e9722aa19592c721efb7bb796755910e50d086c74919cc7e080d94ddf55d1ed7282a2085d70e2f3bf654f98023032815b9edaf25b119c8048192ac74e323cde51355b668715bdd831ef55636f324e60152173a7af9c0640a52ca4a2b5a50302047c435bb50066306402304483eb8ccacbe92e91eb03eac51473846aab57b9f2c0982abf7f7900fd90672f84088207ede440c85c664f735e409e8e023007b56f543fe4a5a41a69302b7fe34c9b12eb4982b467a23ed6cc366dcd5539b2d3714be356a41ad03006d6bf6c993eb30302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023100f01ad6d2d2fd74874d6c6b89a42d3e012b69a6017cc73ee7011150f9d226c6ef8226c8fef2163d8dd9cb190a8f8573a70230693b5c3ad1ca2995629c01e5551151e35b46bee59c35585c00a67c0f04f2394b04c385d90c2cf603e9d5bc546264a8320302047c435bb500673065023100c4661c0a6931a415a2953a9e69ac9e5c5b57ed7a908351bd949393dd72a80531fa20745277997bcd541f63da2abf372502303a8f6d9865a55a62d973d6e286cbb5b380176a68eb2ef8bdde2af4a77a5fbe56f7f675df63a753aec207ee1b3e8a63120302047c435bb50066306402300184beb3e97472d58bb101bdd91e510d5582dc9a71fbc65ff0d080b4709c107ebd20ea5f491a6d47ca4dd26b64bec1f9023046ad24701871c3baa3567a941ead0a6b087969d409c0fc403228311cc9aeeb67d5996646c3d5d2672ee0b31f1005573f0302047c435bb500673065023100fd2277290eb0e9a60f57198ddcb5abf91b17dd271f284bb651a56be86200a22a041abda1f8a9a1e807976ff111a881ab02306a74bfb6aa5be0ee36fc6874e1dc5467a88809a7cf31588fb3873095d597aa0ddfba85ada8edc6283075b482162b6d9c0302047c435bb50067306502310090c88f2b11b73077b40018ce62acf519126d3e457c9a6666801abdc92f1998f7b15defa692a356703318d80970318b6b02302fa55d01330eb42f8919850554d347093f43664dd21a8f6d1002d66db31f22b25e5331db75c5ff3a5511472b029f76840302047c435bb500673065023038d8314ed666cb927b718821d4a467bf5187c7ebd1f7ad7113cbc1fc2aaa6ff689201d87d8d7fc258c0709c7b9a961e9023100e09727d11ab797430ca8bb7ce6fddbb2d1315e1280d0d138f34c773b9ed8ebc378912f29cfbcce7799b9db69222879b80302047c435bb500683066023100aa6d0619a21aabaf234520af0dcb3f7de6b918d71cecd372cb48c2410649ace7691a7f8cecc35bda80732e6bcb6b2f3b023100c18e8e8a1490095af6b07dcbd274de028d13daa49b13f145b56319ce8f60867c0bb28f31bb1b48bfcdfac8e8469001bd0302047c435bb500683066023100c6d74c03f303a34a6d9fb0448663652c29c6f96cf929fb351f27569a912c9dffe71a78ba9ae44a08b3053a866a594771023100d5309ddd241a6a4a2e19c097882f95fa9c610d1b0842fc9868dacd71a6b836fd2106086c3b309686221147423b9caaf80302047c435bb5006630640230712e64cb5de4947d3c8cc7cff7ca20930ed38b641b533118fcc46f1e88b1c24e96f4a4bda8965326875477dc047e419702304abff2fdbe564e5802e9a375bf56641d3914bf2d7e378e842e485ce31dd7716b92919e5b7cda4c8624b3fbcf7427ad6e0302047c435bb500673065023100bf151b644abdcea33278f9490ddf594a9c2d880bae3ec538ffdee5086928c4dee78b7c4f82e47821e1cfb1d51519af9802304586ebd498282c2a43906e767ae8bb4273826e6faca5ceef0cdc0d5686baeb06345efb498113207a5e2f8ebff59180450302047c435bb500673065023100984451c52d2e47123eb60838d3764ff1211cebc2bf776768c273ed15242b0207915decceaa396007ef6cfebf71f183c702304a4f663b87c5f8978e9929b16ef8ce3754b2de78cea2a89eaba04c07db8682ce392e52a40d4d2186859eabf2855d0f790302047c435bb500673065023100ad3680ca180128172d1dda089ffee3181047d527cc3c72cd086f55efa354ade188ddd3cd62654b8ccadfab422cfc64210230191ea34b4ed294f36f3c660d65973a32903fb86baab47ea90987f978575e73e42e0f3f7049a1d6b3b88e943c6ec86c780302047c435bb500673065023100b943345e1f73f0a01334968251fbbf84aeb7442b6e67a0e058decde89495f7d5c6fee5a35d3246d458cd40bb87110e6002303c01f22279b723210abd9c78eb33653e452211fbce6e51bf610f3a4424756b51cc286746d425765a20bb01d729d24e870302047c435bb500683066023100b6ad78ac0f32087c5e7a9e019696eaa0ec9b553b6919058fa7306a519e07cc186e882e179c70311af9b7f4435927774602310082b4c972d72839799fca61d42c012cc5a75cd274379f322eafcf62f9514fff38b194dcd1b2d95b106bca6589655831d00302047c435bb5006630640230408d99ea83b1cfb5be3469d64b5e0b001f6bc7f87c2e9487373bda666fd2530200316398350f289839bbb4c95809f5d602303f64bee19ca599aa5115c131c3de88b43db0b585a742649e2387e6796c5d4e04fc9329d3298ff73014f502754d2801380302047c435bb500663064023061bd48c305f126d9eea49137f0ec10d6d38a049874e8ded87fbc0fdbef9fc31457acb43201ef990ee32b08d25ef0851b0230516c9006e14b41423ca4de2d3cee309d28ef2ab3da0006076263c9f35ca8ac993e9e9d17d662bf0047f8464561d3d3de0302047c435bb500673065023052da3a9cf8ad8b71a19cc3c7649c2256a161f0f009dc05976054914db16ae64d0b584fb2be93610ff0632534268241e7023100d4ba5587a8a4d46efd0bc7bcc06a58f961e70b27857472eb937b3a9d84279e35ba077f005425653c874887c98d2547510302047c435bb500673065023100a91abcd43c6ba39990112aba09b24bdd8879dc90848d92d184a4e7b35a5ceac8472bd0b1fbe90f5e69a66b08b3a6fefe02303f8eed5894e12da5eb89df374738833190e99002da494c47f3a7bb317f0ad8229ec0fa9d15db849a3863e340912b5a8c0302047c435bb50066306402306c61216936bc50db7fb4c01a9d049bd36e9014caca323023e34230729ca8cb68b2c9aadedd4e1d907a622cf9b4a994ce02300b757be6487aeb5e988e51203ebb373bad6841eb95ceec56de0fb4c45c051d065de1b38d3c0bc3d063d1b14c6ab19aa70302047c435bb5006730650230202147bd1f5ca1ddffe8895202c7bd9a51724ccc226ae5ac5f12c586ed0716caebe35c3cb11d3ba1f753f28e6dbb16b50231009994d5f27cc71bec10351817b81a6dfb8a4eb61f87f7cb2872fe84ddec6c8bd39c767c2a98235fe6fed436122081b9550302047c435bb50067306502305afc9bf246e1cbce871be3fcceb29518349b134cdd925bad2d64cded8b79a320dcd490172435bedae1613c597aafdccc023100ca2a6debb069cbcace173b9c80d455ba371d9edcfff7edbf4b910857ac71e010feca80035e5a9475da5161969bdf2ee20302047c435bb5006730650230282959da2e9b6ece40b60d10cbd6705c00f60bd2a335f6723732790b17daa416c6878e9977bfab492ce025ba6451b62d023100df98f45d5de2e9d334118a84f66bb66a6fbf1458d1345660fe0a066dd798b4b389884367e1b45df4c77f0691f6b6103f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006630640230631b7e5d36ac9908f272a31da53ae0822cdddebc61b5beb7c5d01853c6076dbbfd97662763b79ad0f59334d0235cc3a4023051c9e97c379ada4f6deeeec0a6f740f51d147a32d9a5d6548a8cf3cd841628d6ef0f2d9ceaac5840277c2059b813cdcc0302047c435bb50067306502310083884b2aa61901673c7824864224485ab7a3ed1f7c02fd709adad61535b108b77b68071d0084b3b018baeb065989e3dc02303092b3258e9568fd0de66a1fd7a4470f1f4d08f8d49dab2bcc7ead4a897f2183ca1d72b1d6947fb1d128d9f7c53cc9570302047c435bb50067306502304368fa01d6cd7c32b53bd13830de29cfb4237b7656b38385e6a4ac87768cbc191616e9acf6401adecf0f23dafefe3198023100b08d64d57c115689ad596d2bf7ce85689dda46a90ae55c5d75ff49c4e8dea1d29f5c65921f3ea3030697bbfea78df72f0302047c435bb500663064023078e378c7cd8fc0ca5113b5ed64c0163f0c82c564c686610da6907ba785ae60159dd4673ba6c0e1fab59742296e66f7a4023004bb6bdbea11280d42442511da3bd871f99d2f94f77f74d44eec433be0089ab17bc652d07888296e1a778f1fb84bfca30302047c435bb50066306402307ec5f5336c3946dabf0345dfcce1aa341755f58654cdd2c972f83393322c063f1eabb4084f30999a203330d63e2e9c2c02306b6b71689e523b3128c9ac452c02962f63d3ba6caaa75c45882a5161157b8b8c743772337f1e54f3110796e1608375950302047c435bb5006830660231008a708adfb7fbe43f9127c9b55bf00f3e22829c694728eaf658ae3e5e3d5f16e659b5144fa64f1a2a76c72fad7985f60a023100846498d634619e96b032d3425e3c4170a91bb454c5a56845dff20034e18f8466b84a173357a7ba3e5c03c01750f23aa30302047c435bb50067306502301196903e1e1d1af55879fba193401ee1ee882f7da28ba3d4249dba1e9c37bf2b38f090c0b1a1d699c6e252442ddd1ac4023100947b0f44362f060f1da3da8d1da7949807785f66ec977848e6177ac3bb6c52ae15450e0e8eeb9f86b90a3f0cdb36ac890302047c435bb5006630640230066b2c528c48b81a5146390f0e65d492c651f6f6f5a298a94df9ba5ec574fe8b05df4af872eb343e0d1e399ce5a74cc90230162ef87cd45d28385638f6c620962ec0b2754a6542ec939182c127c5410a2324cc0f8d068c418fcca10799f6c01fd3860302047c435bb50066306402307af96e5391614b8077f70c1acedb1aa0429e30ecb44b55b7407b94021f39c7cbe075a24d7fb2a6291bb80073440a918202305ddb80ee1c62c10d54d3a77bf4ebd03d3c0fe5c3b775ff0399234360eef7e96b345f323bc3199aef4cfb599527317c6b0302047c435bb500673065023100ee34b424d8f8c36317e40e1cd056f90465068aa5542a450eedaad084112916150de41af6810df1ba1bdcab7634222574023050b09ed10b81e0fe987eba95170631fe8cfe5af821cfb5cbac5418df36fa5187d1898c0b60444e286d29f20a4eeabbf40302047c435bb500673065023100a76bcd010209bf7c2ab5f74f3346fe8662b3295222523e554613a5ab0f83557200a40c414b897022c048fd5d066297dd02304f46efd43561695b07ecec1d54ddaaca32c92c305940bad600d81b1f47d698e9be67e9885e1fe9a93e3b5e2e211298960302047c435bb50066306402307b5cbb20a84037d416ebb730502e74bd21ebf35a72ea7663e45e7f7977267c6719ca2253d9c3357754ac83e4b8de0c370230503776cee5fddfb32d1a0caadde1b847111f8a7fdc27c7780a8c12181a31e4994c0b53a1ab6f7c41b545d4aaadd3ebc00302047c435bb500673065023100836e82f28b1510a919b3252da9e90645e5fb9b9c5ddc96484b5b9e23b7a196f3abd6dd8a99e0d21e41be6965a40e4e0d0230157e1591ee7b96b3b10e94c3b7aa89fa45593438622779c923bdab1f09ef86f469474ed24f3e6375a787c7996aade7420302047c435bb500683066023100d9a1636131fed989f6d58642249cdba0fef7e1b5939180ffcbf1e1327fd84e87b27210429e4f27c436efdffcdedbbc9b023100b907eaed64ffedcbaaf51c90691687fdfe8311decd1daac6ece2dcf630ddd719a25561e0eb73d7cf29fa4753f467e3be0302047c435bb500683066023100a32f3164318be6e4d4dad62ab11d34e3c663d7b21602a55323a9e5c6e8cebb97a81bcc3fe4cb3f7f3b9cbcdc7bf4cc5802310092f3a5e5018c5587928d57979c8643faa44df8ddc648e5f65de61955c0f5933dfef5db23b8b2c6b0277b81f818cbd2200302047c435bb50066306402300c17e339e77b8a4d301a3e8d581a45f87dc4f728b5e864dd0bdcfafbf58874e649469f6976e465227bfab38f4a36621202307e70ff216de6269306addc3198ef325454b42e503b570ca6b6bf8ae1e390780f960f4f7c1013ea139e8b3c9e30e967210302047c435bb5006630640230687d7a1029a3c846d2a82665f3ae508d5c50e6e6ef73c1ea630bba41951587863f829ae2b918281c55e50c0378a752280230411122031f1b25ce2d9fc7822871419386888e5d9323f3843cdb519f9c5b29cc30d027736267ab352286cd610ea4a04b0302047c435bb5006730650230204388f1ed08db5bdd9140affd9b07d438442f9cf3701edb884e1d305b871b1d4ad1813ef79e39e58c59674228d97e53023100dc22477d26bf98fc82d3db7844de3356a27656f0a054909d804f2e2d596183fe313d993cbc47188c7d72912b0243714a0302047c435bb5006730650230280f698c1e37b8f8971bdea87d5ef3e9841f7b2ee38f45ad8b80aad806221437f28f87491bd8e7169d6725be4c04c2e9023100c91cc0369c675addcc5824fdd0c425162a67fe084ea22bfbdec33770dd1d621fe8e5b27699e0c5cee8f99b49f902aeef0302047c435bb500673065023037f19cea3855864d46c48b7c1ba82ef63f200d80e883e2addc8c1405c0eee8e260e2c359d806b542ccb72feb2e15e2ae023100ada93e7718fc028f933ee3d30184860db3968245b4803c46d673768091f2a2b2c94a6e5feff5c7a30c3db7c16c3aea340302047c435bb500683066023100ad3d730ef26c0a78110b02d1e4c3669acfa82bdc5d5845e309fcc4bc2b39befcfea699f9db7681cd2f88dc98da530f59023100a4fa3de6031a5e527783b5e0a8a2c0e0e30db1a0f7fe9ec02ffc15e897441b0a08bea420aa3a1a8bc05e400baa2a963c0302047c435bb500683066023100e7118658a926925e688ced800c7988cbc5a3c337d0573044fbc6b6840c37e3c65a244653a92187eb6600941abd72f7f1023100d3602099a5a1c0b8d7fb753c86b9e99475004bfe6991a8346e552762a37da173433e9e3e77e7c9546d9e4acd760a1a430302047c435bb500673065023030e7f4393c4d79357611966221eabcece04ebde1351940cd814ebf05915ad0a4c9f8f0d8ce49fe7ee690abf2a897723a023100ad751f4dc118ca66cac41b16519f0a83371b4ffbeb95a9adda83a61ab63f0d0a9f67d0a25bd74596b99382867255c30a0302047c435bb500673065023100d089276eddf5f212a698d9961f718baea1b83d16e5a8499be89be3be624dedfd2d6532e4a6383fd11ffeb5629cdb50a202306f606861e4c616694896951a03ac040bb1a19cf0ced8801a9eab076600fff31972807b3f47f4b089a45da9f531da0a0c0302047c435bb500663064023043dc710dace15c75875b1d893944f6d42949f3a8c761559606ded1d83c7f0650db37c58962c674452f25a1ca8f283f4c023040513c08839189b3a1af83a81242d131ec8923903417f94f9bab7a7e20144f3cfc2b407dc212de751b758d4aa8e43b8f0302047c435bb500673065023100e7dae900c325fad9b07cbbe6ad022d8364d992c83f7bac6e8186116de08b6d75c6a6ec05b258ce49a2ffc6e503f8b8480230396bc21620dbc7981411784c80752f79bba2cd13751ec8716e1d73f102e295d7d91d3c152c5d5c43e68f9cb624a91ec60302047c435bb500683066023100ec96eef798cf46ea706a3ee282b7bc3b5741700f08fec46d02f48089a1b29717c5a042159a56a6fa302ac693a7aa3b3302310082859b0e777e209c6be448d0b11fa66c41aef91217bd84e21ed338daa07f6bdc80f939a164f530fa50a79954e7a8f6300302047c435bb500673065023100eed04a770bd0430516010c152e1ae6bdf587b29a958e40531cdd2a822fb5fe9381d6eb98db22935fa7b460935e8b65d002303b45244d4ff02e917a75c59cb6da97c3d428e5fee35ac600c5e53c5e5f100365b8c4d299425e9b07080fdde27a394dda0302047c435bb50066306402307a8b6706d95382815d89ff33dcd0f41f3ed386abf5f5d6d7cef09b03cd3fa65f08e77e9f1e9612134eb76c329231ffcc02306e882039d919ba09c62ad8e76aa9600737939ce5a8a598e164834805c380c4cacc971874863621f3be8da636b940ac290302047c435bb500683066023100d49ffc106ae80f965a67b044eec4848fe7d2d2542b8aee876e4430a2127161229c4ff584d4cc15be34a3eff5817395d90231009b845c93ebdbc7abfad24a96c410f15390e4a67e17f77bfb90b3ec575b58efb19caf6d22361037a9cc5aa28ca525d32f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023066ca39fb6e050002cb7bd5d4a081e204c4d40c780656dfaeccefd4455433d12fdfc820dd8e33b08fadc158b708412270023100a8b256c066e48f1cd528bc456eb84d9f87e42841b93455e786b612f04fbe57a5ff08cebae3fc51e34ac6abcdbc8811ee0302047c435bb50067306502301d3b71a8cbd6f7b899044a3f030f0bc7d7ace73efc1cfa8a0088300a8766cacec58aa52a2cec7335b387f367b3f1c9ff02310085aa8f8e352b7d6fe4dd1aa0ed810796b78d4ec3b7d5944d56543befde0fddd81ae3fc291df5a403daf2b626bee234be0302047c435bb500683066023100af78d42e21516e78826ed967e68100a8417004fc1d714c8aaa974bd099ba6b1b068a3daa18b343fce640dbeeea976c34023100bb5bba939c6bf3c64045e6f92c73041e28bff2a0f0a2a76984a3e9a36048868f11f51b691aada7f9e590de2a7955c51d0302047c435bb500663064023047836467bdf88b53ee3b2a1db57bc8db0e3597fbf8e3b0991502dac28702eea2b882f8aa3b98c3a9a5d7642ec54a052002304d72be7c3dbe97973cb8284809e7d4d50c50ac8c572f47e48dd433170d7dd6a40def45f7da5b198ce8b23e379ffa1bb80302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006730650231009f968aac35f320882842e713078582fbdd09c6d5cb39cf3ebe56107a94510f3dd222c4e600603dd60e994fdf96834d6502303f9cce8c7d6499e8e5e6f7c6546d0884f72e1a23a6ca036a72fe502a3c4e8a4fb0599c66e125efdbaaacf77ee273004c0302047c435bb50067306502306e76f9d89d2c0484983c826733a1e0a58f8736784507c003bf7c91773ddb46a9f62c2ee83f3697762fde703bcfe312e6023100de9335036e5eb168f58af0038e8a1a9d9efd5371fb120975b172ede2191cfa2c97793ac9d0e7c1ebeaf861937429aa360302047c435bb50066306402304d72bfcf4eaa4a93d342c3232ed3a16b0a2d53e7aa3afb3db5a8d9f9c548e7a31f1901d788f752a14f40e44c51b7834402301fa74dc944261c728bcc364aa64db2fd52398cd9fb37d9876270cfe65ec2e96b50a9c8c4bd2142d7c2681421f4f4f5bb0302047c435bb500683066023100827376dc675dc350f2a5450ce1f9954cbc47e2f7f41b479001bdfdc64bb5f750d9ccdc4bd5591786c7fbf7746b7fbd9a023100d9f415c509ec139ec1480bcad68b92dd7f54d66ef3ef23a910ad761e424b978b3af27ba6ea9fdbcc24f2843895e292020302047c435bb5006630640230021c979cdd56c8b86fc78ec1f4041e0587e0366c38f9ffb7cc0f0a91ea299fcb38b4ae6511c6c30fd2d72b9cb9ca9982023056e7754d13a9c0b5474fda4f403a6f890a331c0baf2e911234d542f1586e7595a54e347ed5e799e227e148868315304f0302047c435bb500673065023047b5775adc0296c41c3467f4839d0ec08dfdb6f0aae8467c344fe5eedada175e5d7354c717c9a4c4302c9c3debd47fdc023100f238a1acbbc5e54dec3d7cb2d2224c0b802e6bcabe49528f0011458ab8be6af215328dbb780e06dc1455a83a945332170302047c435bb5006730650230598693851999e1ac5274dae4f14aa3308cddf07679e653279fcfdc2eb5744a973e46a2945eda9cca613aaeee2d3d62870231008e10fe1ce9b0cf859ec2bcb5fb352d944dea6399333c874858ae5eff34bfa9811f57165bf6e4b5e2be19198232d07e740302047c435bb500683066023100c5c2c121d6d36ea5c01db4cd8ef0195a2289b79411a544881c92d7590faab285095b63a65354ee6cf1d03524123281a9023100d10cad60070ff3e7fc7e8ae98736c104ecf5fc1faa7164e2df6c6bed319a530e0c2c848f06af72c5cb6ba76fa33564bf0302047c435bb500673065023100b1fff0ce8fa0fd0c954a8e82930b8e7b4eaf169774be351ec2ff7b2efa74f493d80fa08592925507a706e5bfca0b364402300fa6d4200cf633b6b6e8172a41a14f5bf05049512652770ba4e5db4bbce8907cb6071cdc9154520eada69927c888f1800302047c435bb500673065023002f7b150f69d45b02e1b8b2dd89382b8540ab63e92301064b9f0d74f75a3b47c1b6bbbff874e27dd663e365c8e0e8d55023100cdde3412c6cd246fa9c24e5ab601b5da1055afede5fbd36911a1d6ec0a7de3a5edd747559b9950d1959739286da94ce30302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231009c44add8c86a92f3364e9d07d6865610eb79a71c893b2126af4bf857c74d1194521fd6849fc9762de5b9e27bb28f622d023100e23547a93b608b07420195f1e4d151ef4c4c5a9aaa749dd64363bc2a6f178e439eafaeb49bdd46ee8f7d5864b516f4180302047c435bb500683066023100ab8f3aa0811cc959290821c8cbb4d30b7f8643ec2c1e66a15b5533f12673f89aa296f479de98af03c61370ed2034e847023100bc15a5bd051881b329c44038b1e56ee39daadba3fe0c936a4d36fce358fc3751049369c23b8df55122b90ee2797a18510302047c435bb500683066023100d4717d8d479d324bf1365a22bb3b6c974b81bd4a75e030feec50eaa1e4ea596414568c19d16e4a4e41f6021d6e4f05a0023100b343c9f31ae589959e630b91ba6b7cf1ed8ac358fc865522c5477df5218ef952ec0325f1076edd1ba7a9b9bc9bff4b020302047c435bb50067306502302258cf78a78f042bb6564c6e8b0997de6768b07ba779a875163f80f3eb7fc73bd218de50c5e01a00ee1961329d37b4bd023100dd06036e4ab8aaae0cf349944dc9b2a9013b9085fec31bc2903dd6072676101c64e15ce8b61b3801a7b85d2c6fb2d1990302047c435bb50067306502304e091885a0d47c97b6d00e0a1c860fa94b95a140c12a74dd4e032325c829f3c88bbec042c2bfe28844dd17042686f941023100d6e6df4e4bda8f5b0c5466c02561b28e15b8d9b07775a90c07843eb43c20fc9ed877abe0d485fb270fa7391a8cb1b3c40302047c435bb500673065023100e868030e5f6d6eb84bf88f7389fa382f8a69a6726546efc925feee08fcbcd69374b8fead054113409b9d438deb321ead02301cfbbff31a00ca4c4ccdaaee1a43bdd04b9f5b3ad863ee97655c874574a9cf01dc57bb55e93ca382e5344acf316a075a0302047c435bb500683066023100e261ac4ee88df949b15361bdb21681682dd57472f71ddaeca5700d15f2c3f3bebc4a407687f596e29f8566860d25b516023100c32611c9774d24b8f1d88358319b83f8f063028fdc735ffefb06e9032a153107a73510ef3e1fb0947aae99aaf080fae20302047c435bb500673065023100bdea69daad789c93e9836700e69dfafb798835e9341f95ad7cf9cd862aae3e88e7ee27c6a5e5947bd886f6f692faa6a202302ccd1faa52e6a2718edaf42807833b3e591421cc4b82680e50a9a33e8542482d62204f867174381b16324a5ed9420e220302047c435bb50066306402301f1b4dbfbe454fb2f602b3c490e5d084b487a7569f06723106e8b37af2b5982469f4560c868f1f1b9790948eb819394902300191b6ecc6984d0f804efe8b141406339bce3007cfe2996255074bf3d195703a4bff852b828abc46bdc183321917a7d60302047c435bb500663064023041eede1c7ce3dd19bc1f2950da8c8906f45b2cb0ddc987c3d4c3325433ee8d556a72ba7b48ffbf076f21c250d96da8980230429fae1036053833061b0f22f5bcdf6de2bad2f82394d77335a28410119e462ff26d9c38c743f8d08cad32813356bb870302047c435bb500673065023100b6c2078982ca5a984e8c14a044701040d57be6a785e32784c65e52c55bbcefe004db0bcea9862258d13bed83fc7a7c05023040e7572aa9ccfa820e9b2eadec4fd285d6957615328db2d5e716f530a5f73cfa3287e1a2399cbff47255eb52a54df8320302047c435bb500673065023100be879ab082311a3ae75f5c6270df9578d01a4def2499bdbbf3216a3a1d9a8db8e36feb91ae8318de485fb3a8015a0d62023041c307007ed511a2eff68c013f3d2f0de952e459287974fb5bce2c5eea6540b97ae7cd8174dcc77d53749d93ba66dc250302047c435bb5006630640230638639b266699236cb438d8372188d8fad9aa120771567c00657336603a804737497f6a0fa1b15f52b1dda857f7d896d02301e095982d3b457548ccda14c224f999a748dd7da2327a3e112e8b6547c1fa0165f8266abbd734814282050e7e22ebec20302047c435bb500683066023100dddbefcf2e72765d929d1c7e07e2cc05befb044046c1a0a8ba59c23d30efb5e266626701b2270393eed7bdfc2381a382023100e9082f5e3626a62b887e0f9fb98655e119f95da55411c45b0be2c5bc0944f1508e3927542307e28d53580be7c7cc39710302047c435bb500673065023100fcccc2986c5125ca25bc14fccddb7950841b0b1b6263dbb7ba1443d1b3cb809e5545ecdcf63d5bf3db6c7bf126c3323a02300ab1983653452749e1083f96a252eb143b3df55c609c341901bf20512f76f93f82173a601dd71017b1882a8697bb2ee50302047c435bb50066306402301025eef35da8232bdd9c94778747a2a15e6b3c616db1a0bffa7a4c6690f6d1d197791e8a2d807349e5eb6ee423fe2f0102304385a40e9c8613aff693c2b1e58e3d60a7092eb6bd01cefa8a28e5f849daa7d2e36299c6b8f33ec06198c303cabf76bb0302047c435bb5006730650230612dead85e424f775dadd45d0efbe992c15336edd06a44368f15d7124a6492537f2ec310e2aa0069353b30b07c23eebc02310096ce8084ea6046bcbdbe6fe29b43e995f87a13e102f2b233ea2cfd2061d733d7a209f6faeb1902369def2f2af4c5c3560302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023100d1c6d7929f771061bcedda3591440743cf7bbbf20a63c4894db3a09e7ec2858435ea456e0a0ab562c0112cffae053a280230718b56b6e86d7c3ee75484af907f5a8e69bf5866bcdbf592a30abc7ae9338b81c95dc735662affb8ae90cd2c7e7bc8ad0302047c435bb500673065023042def1af62bf9a309eb8661b8a12db1b197adfe7a6c2ab1b7da9be46edd6bc744d44ae2a4f5b1d7271ef78996e544744023100a80921dbe2b5ba575d951ec0852106192fc3f26b9ff7b44ea320b3dc98e72aca8a640cf5452b62efa12177d94d6a0d070302047c435bb50067306502306fb3eb77bfee9771aef918de59e7212d41dff7700334554b1e2bf07a58c8b634d7549c7d74ff00e11685ac11f6dcbec1023100b589d341af0f93de205d1229a52ace7c736bb68285f7815f9a569ee2c220d12aaaf3f4b829c1d0ddc56245041237c7f60302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500683066023100eea4a2764a70e2b4b93f482a48cc71054883707544c02c92cf26e10b851c380c5adb6156c7554746a8ca97a53c751ea202310086b01778985c7bfc3daeec069acebaad6e4e54d7d276c99dcf0f8ac801e04cc785b06f0952adc1f891a25bf0c935b5150302047c435bb500673065023025d53182b8fd6a2651f85f4950bf8a8027cb8a0a91c70b081fc69a072f82fa434fcde4f5fbdad7ab213c564e4b4332ab0231008ead352d6c9a0b336fa413c2793ffeedcaa7d1c98d348304e5c60723f3d12ad17d7621e99c2bbd9cfdacc51275d8a4120302047c435bb50067306502306650d170a422df704ff150a1aae1f9fdda46a1f1448502d458927bcfa390a91a31588c3fb9d9a457dfbba49db2e16a5a023100edef291b37ca3610b3dd80f9d3e0e226791e50a95dabc1b84c39352b5d6be6e75ca95bd76b485c9fa5217c4bc54d92090302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500683066023100f7dfb83a3814e4ec77e60273d7cf0ccca7bee6a5a085283930c30d237fa272b8db735fc057f0143ab22d30b156a02e12023100c5e14a351a96ebe378001447d3ca011f1eee63180264e4a832170f1a7c74b3a11123a516b535819d8be3160874452d990302047c435bb50068306602310085be8623a9c9ab69eb7087cbba112d1085b05fb1068b0daff009d4d2f02e655f1affdbfff0c5454acae6cfe251a0581a0231009448744668ea0efd4e1f0c3cc9b463660c76fa55a152442b249d4e34afb3355883be12d1781b1d15876bf2e4926991b80302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500683066023100cc1ab14d109296ef88fa819ec9690fb08429f7fe734095b416b63cf65c87a91458f9171c0277d81f376b9b22075ad4a1023100fc30a4a8f11fe2fc31bc49a8fa79c3eb0572c785c37fdef9465be10af40d657f87c449728bfcddcfe087cd75ed3ea6b60302047c435bb500663064023066a922571a30ef922e1938736db77bc6a1c57849e6cc2b3036d68d9a3dea85523ac02f4804d5949ad957637ff44299060230447fa5b22d6bf683fe2ee507f9b436567d4c917dd10d7e173c7eb81821b41fa0c7e3ef4b54a26c3a948bb211f5be78170302047c435bb50066306402300ef688ecf4ebb92d208b51d5471ecb6ff956fabf8f2cbf79d9c6dbba74d00a9a1398aec95a3de0b523a78edc5673b7b7023065f21728778a47f230368673e7b37418c1c6d30f89d736fe869ecafa8685b7fe30e707eded152d8ec6c11b02e950c8230302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50066306402307e68e680edf3c8997085006472d092428305d002c6880830f7cea1505392d585ed25fd5edf47794951e38ce64261975102302d0f4a54f03284896c5dae2ba73afeead8beea74027c0466e29420f81c01f098562805fb4ab03e7e4d2a9ccac53c37100302047c435bb500683066023100a7b11f79df7b8c3a86fe1537de8f02c5937da30ebc0235bd51b2279250d915f8a8b777e7cad8b34e837f7241f5af9c06023100e12f89cf9e46eb1270ee35c0d921245978b994449b2086eb2e1e42200b8a3a563f96c042e31358d90db2f156e035f8580302047c435bb50066306402307b86389a9c4a828d779f27d4dbb5edd8c430aa394ebaa49a325415e45470f8a78d112c0096cb449ee420b4a7af98a46e023023360aa40d2f4e72ebfa093be5238dac2b0139aaee42d5b73de74928ac8816f9e113d89fab2214c8b20736b1add4d59f0302047c435bb5006730650230672b450261f91c2598acfaa1880e75520e17845e4b4cb62ec92b360ca75c5f56c1e3d08c601b5a2c39f27c326d561d54023100a3d88f99a7b2566375bf84b5ace3e59d8cbe7ce65d48d670566b1e70c3a756d59ca745cdc5a6b10267f468dc2c0fa06c0302047c435bb5006730650230094570c5bcd8bfa59dd7ccba8277601900c4193bcbeff24b819460571092214b10566f9cc10c31c8a42998c8cba070c2023100967986d61e9bd5278645933818e04213cba3871fa0e97d91ad4ed363fdb3a27b65d7e7f1c2a952257359630fe90973910302047c435bb500683066023100d2f091acfcaa4ee05826d6b67db1467cbb38376dc79ce6f90d90c23966ce3f8d54ee7c0dbb3673edba888f62149c9c3a023100b4d63002a824daa1d7942d9ac3060139dbbbaf20566010175af0d2b2c15f9e6b3cab6875f21f3f3492c2b9891f1554210302047c435bb50066306402306c900c8c725c25c01d7748aa0860e0a698f5be7b7d78b16570a8577e9548bc05843ed63a363b4c6bc3020522b961c9d40230095df5fd51cffd2786494715f2686196f54307471bf3c429647cc14a9c67d08031f90b75d31f0b3c4884e9ec2411b0c50302047c435bb500663064023006ce2c11f9e7a5dbc2f8964f63f1e041e0e8c7afc597e798c2e51963312527c9e63b8f56007b23fd90bad26600eb2493023042d868a7d591d012e8a2b1ce168aad51a656b1abfd9253aedf74bbc3934752862c064112a444bdd0eb7c4ee2802c87e20302047c435bb500673065023049cec02933b45a150078efe5479745c3cfa82e4a005cbd667319f41bdc69212c863ff1c39a5a604c00cee694307d00060231008c115633e99280f50b18276d8072540f44bcd59dc4914598f463412dac2de6b0d78a3ce6214f8c2142a226956096633e0302047c435bb500673065023013bc21d186d441f1e7637761563e986ce8cf34c636ef57f0120ae98d570c2c9a1efd08611b42453ed51307ca37c0a64c023100addf46a58a309550df19648eff944cf7478cec9fcba1e7a3b673b5aaf6847d1db248b5a51bcfcac39c7fb95a218f827c0302047c435bb5006730650230333658cddfe1799e4495d313baff9182733f33cf63d36be1e8a98535f176ddbc202302157e4341333441b42be9756a15023100b2bd43359c50960564b7233a4522207f36f783d473fcf4561228552317b94b612863b6d547746c901fc774c7455f951c0302047c435bb500683066023100893811597f33605c70100fe65c82f46c1f4826d797294165e46a8f42e9adfbf7533a48710ed194ccb7aeb68a51540f38023100f65e554c86387b7483683de528590bebaf2ac3abe7b0e560ec4028432acd0b3dbfbada31833e0baad9aaa16372aa70570302047c435bb5006730650231008f8fcacfd4591af87b275da7ef2fa46fad53467715ac30696fcd8231b2b8babf2cab9c94f1f8c01f65a0e2ef209f8877023003d14753345ea2ca072d5550d459bc8b9cea0068e054e2d150536311a3e3ac4229bb9d6d8426e4059e27ca0aa1d34c510302047c435bb500673065023100809f7e13aa816a5d3ff20315fc37f5cf0463db6097a3429be09c8bed432fd78c43e4d0d0c73cd59ed7997e17b342199f02304fbeb53df2e8b51333cef32d026ec993b9c25aa1027f83b40669960dd5316cb1d4002bd3a4c97b490ea3740a15d5272b0302047c435bb500683066023100e111d11b061ee527bf9cf1e278cee22efea5eb9c85ce02447f581474aa7513fea94508a00241f3bff094af1b3d9d8bb10231008e17384316cfda66f79e221dc0c2aa94460fdc57bb0d7ae2e808b4cdaf9f9463105d2fc1ac633b0443699293fb07dff20302047c435bb500683066023100bce5f51897c91c80aa5849dfaa9ccc7756f7a289cf9b4ec48e217d5beb6d5b2c0bc90c7059246f3bef16014420990d06023100ef3a6e1811b35444264ab2cb4c22d7e5b448f5ac7cc492a4f4df465a3beca1c0e6099a31c1e13ee3ced5ba3cba9394690302047c435bb500683066023100c0da078d1efa42fcaa7e9f367168af59a84dfd0b7b8653012f1ae049fba59bc16330d3688d984dcfee19871e99a7a5a2023100c10054ce1585b8b72f2369ac49d91b03db4030d552cf32a5883bd2ae7ddbbe8c36bd49c60c3d25dae6d2838dcb768fa60302047c435bb500683066023100cbeac41ac0d0395e779bfc4c5279c776389b1d82990b00b40a5c31c208b5490a6eb9da1c4e7b618e858ea83739ca9b7d023100a7087d2fd42395195e069aed9985c9aaeabf65908ffb9bbac09a5826397d0c16a0392f36e150214a82acf070b05e56770302047c435bb500663064023031687c6af13ab3a8f6ed9d2199d0cead82b5280181414f68b094693bb0e04e20634aa378a53557652a6a1acc5dab74df02303a763fac906d3ed8ad6d54f40bac65826648e536f78d1744224d734b8ba61152a1393edcb66f76a7dd8e8c91b9bf0c110302047c435bb500683066023100a5f22a86c7c3eefe0a71bbfd1270fe49cd03301f5391b630991e22ed193d809721ed33ee52d6907245d8b80d118d4cc0023100c157ee0437febf54f0074475b2af2f7cc59dd92972b970d3b23cdb45a88d0da611503006c3d50e994e5d6eb4cf86e2780302047c435bb5006730650230465835d54057657a682461684c402dc710295d0f7d7fcce827a868d6bd5dae0f826e7bffc89931059aa6cdc7a841e8130231009fe47ee0728c1ce6db275904ca570189511042fafd0bd481daf3de01cd51343c936c505fe2728424a590e991f55bdb300302047c435bb5006730650230708eaed56d61302c5c02019e8c93cd7ea839411994753dd293bf0c77a8928ac8dce31a9eb4f31ea98a363454447cdb53023100b0c672584c19dad64b4456a5ddf4de91be9f87e6c590bcd41d2d47b33e6491446b1e9f5140095924f36d00008ac5591a0302047c435bb500683066023100a69b0ad6e18532a0cf8bfe7963abf27878ab5b2f63f50330308e4c9ac0f889f6c0ccfcd5754fe9d1976eec7835de7670023100c8257afbe2545f1ce6f47b7d2ee2bfb7a6af0d424955ffd7bcf5451cab23cfa2db78ba768ba011c588ff0457c7728ee90302047c435bb500683066023100bdb5b4e4023dd278922aaaa45ef604787db6a31cea1fa2c87673960918dda1433e692e78aad4bdbc61019abe4c90c052023100ca0baac6a60d74ae5021b03abf592c066ba29e550e52934dd03d32712073151653ac9ce230d57d647183dd91fa87af340302047c435bb500663064023013f04ce96edc97420776faf5d09c3587e9b764a885fb8be088f9dc43ba780a8e94bda3a8913b08717264c39f2e303cf002302eb0a13937562d410574a254143e502278c7084742f660f5f8274496e42c5baae76c847796e65deb520daeb46a061c880302047c435bb50066306402306bc4cce33747ae5baf66b71460e8021229d5ad98e8cd305981b70984b1cbd9a7d4ec5363a129f0fc64e385c8c23216f302301eb4fafb2c61bdf61da373fcb2681ebebf7148f24edf38c91d8a6a8e9393412c8562ed9cde1ec4174a6c565437c979c60302047c435bb500683066023100d79b347d82cc8a3404dc85e4acb5ce5724ea4467db564bafa9585c20c12f41af136276b538bdc11fb9e2d18d330f434f023100fc42842fd130a1c7ef63e14868d828d12a824cd70bc25d806c23db13a0446610e25dd95b31623656a080f48bb101e7520302047c435bb500663064023065faa095c8fceed52f4a91692a52a49917b2c1d33a318b6f1f427f6d2fc2990f566f55d0089de255fa999b01ca55309702301c0fa2a0dd14084cdb19131b890012fb4915a84e10d94dea825178ffd6cde6b5c663fcbb52becd622d4a683539705b340302047c435bb500683066023100d868165180105cac6b2f59dc87cb60f2fa3607de871a16d0ad5dc01968de19afadaff3989a93ae9d88cf786123265bc2023100db40ba48f2a5ca9d97b87390bb2108eee0a5ce73ba6f9e866c05e9e38b860855d057908cff4c73f049f9d655488ce6740302047c435bb50066306402300c491508cba4394558f8a33acee3a7a0a007962d2d2f548df0e7746bf85ccd363f14ed715e96551516d91b8be1c57c28023075549495b9f20265b6c1151b9325e81c89f8ee8e0dea71382e7c2c01769063f7f01e1d6f6136ab0d2d3e0b82ee0ea3410302047c435bb500683066023100dac6596f1b7068abb2ac60feeef8a42fb779c415c723ac52e2979ad228716c15c1a787f5988ddda28d2dee8badbac286023100a2b1578de7818c77f369cef213d0b48be9c5c3ed202a8a8d576f711ee6ea5945dd073f40e25fcb1c2498794e1c3247020302047c435bb500673065023100f0a9f0ef87e248306d07e6062ab1ad5bd51d86ffd232d5073ce15c124518b08b413941756c05fbc783f3d17790d6115b0230798a0ea9461c0b9ede20a86e70ff0eae0c3085d1fc953fb5c34421383aed34540a33466b1b97c4cb6f3b141168a9821d0302047c435bb50066306402307d8ffa27287ea27dbcde98c6c27ce1dec2050d320c3d7cdb2a6df077d2379073cd3c8aa60eeaf5f2be67af667e5b0af002304444a5e367181d6dcc74b279402f4c7c2622cc58814cc887c184a81e44c4cf27ece0437496c0c478794fc58523a048c30302047c435bb5006730650231008decce0a8865607de36a76cf1411d9e52a75cf0f8d2aaa397975a1d5d8341f44225dbeb074c8b4512bee4acaab3fd70f023014f592fe68f0621d33c0ba2951bd6832de4b2f7174569c08964da482c49816de732dfd8badf286c52f09f11f6b98f8770302047c435bb50066306402305b2097ce5d270c395137e2db5b4d4d410545e7b500b210e48deba26016f58678bbada92f478855544c58e3af13d294350230067ce56c7da12b4e472da6126913c34c3ca01d18fe0c87cc76d2f82d0e5bc199724278aaa3fe567deb1c4b20b3b2d9c60302047c435bb500683066023100e7226ff14b5baec9eec447c5c105d54dc71248cedfad4a57fa576bcbf104dd355be53b3f12c9776e62ca49313a883257023100b2e480955ed602a69545421940fa595a41f65aa5ba5159e4f9de765b166a448368cf43c6d9ab22147a785d65a68b46330302047c435bb5006730650230798a052453229b544b1396f02057ab6193b19d7f391ba460aa9aee28896adc09229de3ce326bf03540513b558388001e023100c16377bf014545063f7b1d5afb8bdc79bbb7686714af03cdae00ce80e2c9a56a0b61bc5a26b77acd9c897576a1945f8c0302047c435bb50067306502302c3a5a504d8ff4f82789411bb23f6aea31c41f0a375803a0d175ca73f3e5f27fe7d53c471802a24c56a83a639ed54b3b023100cf15087bfb353bb3450f199489bef2eb99d05e25f02909ed1b3e8aba44c2bb34ef0e7e7a51d0698f4dd46428521f00630302047c435bb500663064023047a8625a68485a4d6013ba1f1606547e13e519dffa64fe165a1447ae5c46af3971e42290532224c95e8f8a254b2a18dd02302a9adad13bee147e491f3ddc4410cdecee64f31a3de02290747a2b34b0d3dd5bbb63d481cf9a10edab287a79a14b01600302047c435bb5006730650230442cb77493c8a84096360964013a596ebf8cab6c018d313db6c897a53ecb446ad51230ef4193bfba47d4b5072726937f023100b977d154b6c575dbe687e1f1d7f75ccfb3fbcb6b78cbb0db32a4f6d4e096c7f0ca2e668856ef7d6f590ff31cee0bf5eb0302047c435bb500673065023061a035ae0ab5363b0b53b7191920bfea69909ce2e2740b73818636fed32ea4be37884e77c3fd195be76d17f05e3f6ca0023100cdf166d84aa1107c7eed996cd2d0d9a92b79b573e1ada2ebf4cf2613723719f072608a88608ba9465aed4a1c684625820302047c435bb500673065023100fe02e76a352c297ab7b36b005051dff71431745040d2a910d4dea2c42b33235c78a521be115906478fb3124c2afdde310230779698eaac9b58ee152a14f8d6df055d5371aa2c4d0d2b04eb7cbc5746a0f60f5887402a09987e347263e43063e568510302047c435bb50067306502301f7aaf286422ccccb8fb950a9eac0619358377daa7733a96198d5e1515efad8f6daac035469726cf09ee8af9b6612c69023100849e6e80921a9ea3627ccc352f212ae79b601a6da650e827197d6320b1b4bb188bc24d030d1588282d61bc34eabcd9040302047c435bb500673065023009318c11642aee6374030ecf1386dc6ebb6f7b81d67167568ccdd576b5f4cac6c44df4b7b45d37047f50f78dad5d4a2c023100cdd4ef27932e2ff0b299573ecdee013a001cddb7c8d3dc4b8ef0c9c3a61842c73a1c00ec9f6bac7f20715aa428016b760302047c435bb500673065023100cde8d1693d5c6d903c48902dd840482814644d8bfc17ef7c1253944188dab7e1c8608fd78874ea653b30633f11baf9c002300fca7ae9c7c8a8ab549288e1857148202ac47a38e6454f566f77f8dfc3f0a692223885efc1d5a514c7587c1922c0dfd20302047c435bb50067306502303aedd79d665f7bc5699ccb3b7557594bce31b775874b7c7ad17baef662e7dd4d8b8a35288de3f22b18449a168528513b023100b16040ab992fd8f4f4cf1231aa6e127c03a9d2c4df59fde32b9e1fa1b6467191bb92c197e2e899c817e20b4e4af27ed80302047c435bb5006630640230067a23cf787738200fa944ac30dfe1e7270519b6b6e92226f67a4478a4f8293cea81b9453ec52007241060b224e26952023033129af564a513a9c47b719aee6c0bf1be798ad54992a8a3df40672380929c36d27fd2459f3a015520f8855cf82219180302047c435bb500663064023070973b367db416356e487b78b5e7cb62ea7cb5435b5ff9d35eb33967c2f568257452e0b3acc645ce37f228b597b591f902302aee346ba2409b34a62c90c03eb345806e71f066428020cf3b74238d9ce9c49328291055c376f0b7682dd6d7c5b4d7570302047c435bb500673065023100d5de3ec49727cd4156484e6a2dc4d1e6874d5b6753d5bacb63a364e10fd4bf1b70f48d33429ef6ac9e13d3e0c97be29d02303d6824c5a37476cfd975e0441d6bfb417be28192437aee667a43c5e46f207a66a0c8aad1b8ec219f2f57985d57520ef80302047c435bb50067306502306fd53cb706a67c07e7c6bb86ea2f6717b4d54bc28e67e94251e96c108275897e351d818b47da9e27624cfe036d4d06c5023100fae7aae6213f1d6c266843872289cc7f73b1f79e0b61a3a418ee10b625e658c785087091ee8f3aaeae6d03b81d84ce750302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50068306602310091a52abd4714bf27b8809508507428c80f1d59f9a25bbf67ad4ecf869712082be82e27c39abf801383d38818256f18b3023100c8f636af334ee3cdb9393d58918f77a0c715c2ef07a28390173180b5413659fe23c638bfd72afda340a04a5b9527fa010302047c435bb50066306402300f8bfcab323a18cfa678e75453d06cc53daf0a2e25e45b0a34bf5f22b0fcad3d03e6c5a0d0e4ffaefeba07ebfb368ebf02304fed2442329ec75518ba9b9184b75e0816a4427d39530b83ffa05d2f9feb0a7d9e25d445d389f2be549d85d8ee7ee5290302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023100d07ba6263a8cb7c2bbde3802cd9fd71ff1c5e4ffc23667b57e25be1fa4a2fe140c488796b9647b7464d643da5c0a315f0230509ba479b781bf2c592b5abe1f5d2993ac501f62f3c81acd9c258001e44943a05345b56ac31ee755305ecc239f0d87f60302047c435bb50066306402302b5afcdf621b73805bae879598369c093ff62e959cba3e0d50a28b4e4f379d9badd46e4bd639f3155939e82c0e0c1fda023043a37a638f3b28aac528d36eb851632cd14676c16d421226c92519397e7547ceee4589c6fbdfbe317650cde0d2db889f0302047c435bb500663064023046ad6c44f016a330b52694d83726f4f4edf218925125e43798ad147e6dffe81236c39cc239ea3104fa23c23e0bdd0dbe0230230774e82457be2d8916dfce40d9482e1c3d63146f04e607b62fff81195c7fbfadbaecf0fcdd56ed673a73a202bd76ce0302047c435bb50067306502305fdab4509450b7ea3093026a53ab665cbff09687839c94330a9aaf2024482b8ae3ec34c23fe3bcd01277aee168bcbe3f023100867dbaa967620dd83415a1b0e27326487e90fb58752db61c878db95ac51163581f5458cf5aff538679a88995006b27b00302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50067306502300144a4931c21df099a184f41f1ad1f7f48b1f50382f934c6b5ce31aed19e63b312b007eb6a9a5ec9bb0ea38ac9368da7023100ee6240b9ecb92d00bf38e8da94fd892d1fcc7182ee258573f09aa3ca85b6d55c30f572506f82c911b9c0d8e27f71ef610302047c435bb500673065023100f4d15041c3383b9e7702425989901c1deabf3337925fecea6bc480ef41127cee5f0cbd9c3c45ea4a3739492d6c2f9ec902304ef68fcbb761bdaa95bacf6a7a3241d69ab79820455543416746e1cd4344eddc887c9c797c5581f761ffba8445990d6c0302047c435bb50066306402305b86479e7a952145b91bd5ca353e20e58efa168d34ae0566e3d781b1c1fb1bde9b018379ec63a74b368bc3194775e6e5023029d0db3ba5a1fe2b0b43fb4012d83f4700e34e68adf1b3cb05ac3c66ac056dcaa00caac7d3e8310d807aea4fc94f69be0302047c435bb500683066023100944fe7bca933b50f27aaf05421643b06a17b81c07d0633d142b25ff7454819e113cb3aa12bf3500cbe7b6a2e8802206c023100c85488beb7eb5585eab35a738e7ca0c214455c9152d88dac79096f91e3524781dd294453f903df97fb024ff47a0b3da70302047c435bb500663064023003a8a36575a3b0d853bd048d35ca1b5962d946bfccc5679fcdf11cdd02d229606394026fab711c5f769f563fdf2537ed0230391ac104f5298ca07b424216edb27151dd4e3cb1bc931fe70a38f95249e0a0ef9581b9d5e40b597698c69a1b9bfc393c0302047c435bb500673065023100a0af31f79a8be95d2170bb18459db622582024d96542763647abf7deb7ae5d2a37aa9778b2b4fb890c4b545f97ff21ce02302947a91fb84c0c7060de25b5b63b8b6f3c0d8581a40d1894e1841cd71cd6e7481913b1382db95cabe50e158d603b24060302047c435bb500673065023100fb2ee63e769c975a3ea0090a0647fef657a145cff1b9b978b624917e588d005cb12590c7dc635fda85b093263079524302304b062bf0606bc01838e80ae0580c35a0d1d6879faba38ef17725ac11697af2f5107fb7a1db6f810a863dc5da74f69db40302047c435bb500673065023100a07eee8cbf2b2fa70f39ef5a4ab31e2faf2571b33b2f83145f2a2c2d1e1349e390274153dc7126b01b9e6087ddd1e76e02305767f33ccd05e2bd0c04268e9f10b5fdf9ad1dd3827c43f4ca09c094c0b21eb7797a12c2bcdd3cf7b0eafedef7f4db1e0302047c435bb500673065023005c6b82a3470e3703e6d949532c88a61b53f7db4b52b9baeda5c28c8e729643719fb62fcfdafd63244548792d3fb0b58023100fc29931e2e61e36f213a6930a460d5d39125667d9139b1606f54878829210b20ead8f4fa869249cec69169779d98a26b0302047c435bb50066306402302920dec35eed53966e603ecaae2077969887faad5777ce18c6c165ca3b2c07a41ebdf4efb960d8f091880a873a62521f023020ccf2414fd3ab27dfc08f1502a890629ff1290a7a195a4ee45ffd66ed6152de23795944751fa96ab58b934401838aea0302047c435bb50066306402307fda6aae923842c2aef52133665383afadc13bdb2535edba8a81853a09fbf351039c957d468c80f74a6915f1bd604dce0230440a3004374d6caadc8b3aa2dc229ccc8e8ba1aa44ea6f0047635239d3e64d301c1a90504c2564d2ee9c00c6a49ab9100302047c435bb500673065023100f427b6d6c7a0be0ffcfbf67bae0fb1278ceccb431259b7cebba9aef3132860e126a1d94aa4e83036971f0a6bfef4f5e4023004788c2fa4c3d87059baeedf032c88ebed2c5db314685ebff6d4a2cfbc78a5b01b69008a1de438f2a1d92bde784f82530302047c435bb500663064023008927ee2397d8bc8b7a31cd0518108be2d5407d73bd077bcf1b46bf1c2a7211bb956d6a8ce07643984c73e7f2b224a4a0230204f5c559be229bb5d47bc9eb123f40128deb3de21430399c82a877b7313781679db3adfbdd9c04df7de160823acc7e90302047c435bb500673065023100cec5b91d3e6c27f59d234df0f7bce74a6ca759a22d4af690ea53eee7dac008f7a936ae6c93686d2273adce7f8877a96702304cc2a2d363ab2e33d6f3ee07670b532ff98c81ba92b3aab519f0ac944505167a7120953a543d4ea187b2a9d337bcbf690302047c435bb5006830660231008eecf0bf8d7d17e62c0936fd93980d0cadd9e50ad0b7a6c80eeeb07cc08969ea513b638901a5c250f5ccade7e7b62b96023100da892e5a7fc2661207acade1208fce82529da43684834d8ce1adc42929767dec271dea8d861fd465cee48271e9cc8bee0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023100ea3e4527e7d216ff3cbeffd64bda32f8e8678caa86b15e1416034106d63ea5330b7c124bac5ca173ca35547679eb6838023060b7551fde17f87a06441e555e974512b6b8aaf357305f1fb6eae1f05f1a3723b72ab6e5fb90b5d5b87ddff6eeb735630302047c435bb5006630640230349f8f372acf4f4e2365bb28512ead42833779a10304959beae7341ec9c9a4ac1c83e1675b3773e6121d6026fcd180be02307d142671f0c5498614569682e2ccbad3148d77a7c04384c8fb283923a2ac749885b194dbc015c11a4b1fe80a2dc239060302047c435bb50067306502305ca3f51f911b3dbeb2e5490c58c7a482934f5b680b281f10c3c73ac3e869f49c85d86912020704f52d6a7c9a9857c27e023100c5b38e92350582916e7e70be6c0fc5458148b6a0d2b10a52096a43bf201a72dfcbec2cfc3c5dbdf56dfb2a6e81c540610302047c435bb500673065023100c569d250d9eb2cf73129a31d2a98e634a084d2950e1ae92934750b22fa190f66ebe004a3a0bb79fc759cf702366f883c023004d96f0e5742400370720cdf3898bea671e7075092bea9fa17970f7d6b8ce31d52076bb6f8e8f63b19675f3114fb1b960302047c435bb500683066023100b2821e3d803d0fcebcfc6d4af1d0ed8c8ce8b5db215532ecef60393a02f949ba60e3f0b55b0c4afc27c6f218ddee9600023100a00edff7b5e7d11507f574e771bc4fbbc25e8b7175568ed2bd50fe6249468f167a8a7e554f46a225d71eb015445322ad0302047c435bb500673065023100afad0092b45c44f740f910fa835a346bb09a194dda62609816f8e738d63f3373e8050a5c3e782121b3d4eae6436fa6ff023052848817865b1080a7e934ad1c979beb26270060d8da028d69fc0f04c2957fc494075f828551881349c9b519947cd3a10302047c435bb50066306402306e5592bc4821dedefb31452ac4b71c11e72ca337c613d5b8f4505640c4bd57e6d0061dabf88d9e6fa06e54cb2b2a6fec02303b1b37e75ba7201f1d8b978ce04cb2d5f4cf8007bea0d6300e502779cce4dbe225129fe6fc98a7b8acc555b11502b60c0302047c435bb500673065023100899899a8ce47214f2fd724649a0f0cc274b5436803f75277acc099f93ed0237ce5e97156e7b69827869dd57857dceada023048915ea3c09e3f36f3900c5b95d6573ca9594f4b6b1ca29a6123587900a0315a6a51f8ddc8a2d4242cb1f8e940eaf6090302047c435bb500663064023003d7d279e687c11fe2427483e17fbfd1cd23b7f2e27b5ff9c58b820e23abd6797a5eb1589577bc0b1afa4c9e8a16000702301d10b5cb9873b7a69445eaec57001b96136aff9ea88412a32119a1622d58c0ef6aab1c81f990715f02658e39c09956c20302047c435bb50066306402305932f7ff322e9e31eb4199dfcb69ab49e1e32d05a247e0ba6b06b82c6c0a8cb1a502eeb242673af2c72f2d0993f605da02303d4404856e09d9a7ec2e5aed70d910680b0ffe08774c452e793c8b293b2abd5bfe04151246f7ff83d45b5cb6bff744fa0302047c435bb5006730650231009f212fcd8378286befc103012f300e5bc60c36c2028dd856c3ec1cd9afb2177a1dcc687826d86f819f83e6b5425894980230267a8b9fad260602e0b55d2becda246be948ed8e482ccbb413477c48ba04ee4e1628f99806e628cfa72dc09c36e5c34b0302047c435bb5006630640230710b9ecacd4dcaa67f1851e240961c3b94b145796076ba6d3588788b0f05c896f32b8f91a4ee4c610218ece94192c6cb02303a467c2b516841030e8b5cd4dfe244fd0278f233b4e82597fade9da5f098a8d9aa3e46ed2e0c6e69e8b8835e64cc306e0302047c435bb50067306502310092e27c81030e99158cfecae1b949677ff171d55d210df274995616eee1f358e6100dd53a7f2a711349292fae290c7928023024b6ebe3b1d07194c04f57cb42547fbea20bd46c69f866d9257256b6586b2bb493d082407aeb60ba697ad0d852abe5730302047c435bb5006730650231008480f5d634115f2bc63d22b884936369127c8911d1475c4d6d494569b0e243693da9ee71dfb6eaa18504e04da4bc7bc902300aa09f393a7880b583a8955f573a80902f073d86c3471c4585cdbafa921decb03568ba681444374d9a48f8eda4111d5a0302047c435bb500663064023037328dd1d6c9912dd7bef1651fcc703cf121e3f9ff3400278b41a57b6e98f637c3fc07a05fdc7d6f4e033a5a394bfd0a023009e29c60046e1333415197c1b69724cfec39b37d8ba98473ce1f779ed3e82a1fbdd6573c7037fccd25f8e8e3cde861e00302047c435bb500663064023068b19f273df7364ccf7dc1f5e0ed46ac41db6859f6067efadcd3278ae73312d282235ccdfe9946c224d4022b372d947302305468c3475834167928aee5a0ac51e9b82c3409fffb0d7955646dab6382fa8ca8831ba5544a683a27b4060b292be8170f0302047c435bb50066306402306ea9df1193831ebd94e49434671543b778adefda85adb458b91ca3039fd5e84b3f8e45f8b3c9974329e8a8722d0104e302304620bd4ac42b7624f279772a39d5eceb231feb218475f5e7092dc94910b6b317ee9d00bb22a96ec9c09c8afe1810fa270302047c435bb500683066023100b1103294578d14e70545d461a14163788871fd6febacb2bb565f2a03da8cf0c5b50979f4a765f22e3025ac549351fc14023100fabe503211a38d3aa1dc51fece2038a519e982a5b32e076e835b59334dbfe63a4072004ac352ddf75143f77e812f1f3d0302047c435bb50066306402307258b3be505b79c7056ebfe201854d62b11ce7673fd3b34535df295a27eee0a647b23b3ad277e180c5fd8aa47dda212502307613dd32f96ade85a8442588b0219f7799ed8e94c28ee88a673cb9c910afff4a47c0c8b5c2eb0c0895f0c75b3c4031c90302047c435bb50067306502302d29f1878dbdadfa0f1a8c56ad818bbb45d76adac4734c7f212e094a22df480ef71ffa61cc6419855ad97e3af7965d2c02310095681a3b73f28368358c0e68c054cb0aedd4a04cbe980f95ccbbd50b8ee0a705482e459a77e69716809df064e235a17c0302047c435bb50066306402303228553fee790f0e7c2dd95e58faaa29fd654be3d6fc2d076d0e41c34a29fdaf453916a741d6339e0f0daf035af1cade02307faaceadb56fcd1c32207654d29387bde29285a992b5a140a9d4e3e86f26027570e043c9c3d0d4719c5ba1585ddeb6110302047c435bb50066306402300f0a0f39aabeca275d714af8b14335d46274c357f6a843af7c17a8ad0ba8dbcda89bec4725a6207b23fcad0f9aea794c02302d9e8e38d510b7adfb907d8dfa8dd418a6b494268c753e19a3d1cd11e75d6c55b64d2ed383505d1748bd58a198f2c65f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50067306502305766c0abb1ca81ae59c28e95479c8d59925ade2506f20891d19b8f119f67fd67e44bc9df3b6a25a2d0974ae79348f2e3023100e0a5306930d84f4c0169685e297ceaa46024424d54efdc3bc7ce82adbbdbb7b9d549cf41a9eb19d3afb38c33640e39fe0302047c435bb500673065023050bace6c86d6d9c18db8fe3c23b9cec7c1741cbc4e624e06363cc33b5923eeb04cc1300e3c4878cdbe387e147424d3e50231008397cb2b4a6d84160435ed6126e3e89d28926604d28da5f2dbe21693308cf1053e61b733bc561b79609c03eced7c7a540302047c435bb500683066023100fae18e07acae2e3f9e201437274d02a0dfab809ee39737ba60649b8a9faa60716e6d8544b07a93f445498bff63399fbc023100a1232a9f3b5554a89aa4af8eaf8c425dcd732d41f2cf8332b6c30f9c345c07c1f9944a3a606b01ffa3506615dc1cb67f0302047c435bb500663064023068b3daaabdd56a92c14b40dc37b4b4655f53f5f92faaebb67f718db43d5f8671490dd9a6dfc9b00998b9bcf817d0842002307022ab5f03a38d7b43f298564bbb42fd72613062ca9cf4f1bba6941dbd80acb025af2d1302f23325bac84e571d408d490302047c435bb500673065023100fd120cb6672bef0015c483af52cf272356ddb7c582afdf35a89271c9dcaa1794067c0f202c717d7d33f85843a209e57502305786ef9810c5a22974a269bc8087ce94d19df84432799313c9cc5fe9d8a85745ee6885f45f3facdda324664258aace690302047c435bb500673065023100aa6b670b9976cee99cabc469367b52a30bafa0eb3c8a9747aabb8b71cd0603586535f2b827751fc4083e1ccc0134ad8302302ec292bda3bdcf825501779786daeed5a7ba9b4f266e9ce0cbff47d3e8d196d8f454fdb0f85e1523fdc42526de7f7e020302047c435bb500673065023100f84c28e8d34ef4e81ae1fed884a54dfe010ca845daa88427e7fd32cfc48d72d330313ac7a8a237ffc0ff9beabc65930902301a36441f9e8f2d8f3fd3a744d3a7e78f9790d3faffc64bada41eae14d4abf4468788da05e210e84423695fab4dc1cf160302047c435bb500663064023069ed3b94f48094f833ee8b327570d2aff31ef4f669c3751799ace16d4f6d811223b5c53abb132871bda0fcb2886946d002305f12bf8d00448e467fb5d7ddfcde3c7e20dc09699f08b4eb66065773625ac52a88758d2e53492f29486effef201eb4a10302047c435bb500673065023100f2db50414cfcf3bbcac3779e52bd9b35e90e5e85a56798851771c5f8924de22869a4319507a78d928b1163b1f231465702305484b9a1ea4abb71a3a56b37fbaf4241754c7c1df3edbe8bf0245ddf68ffaf57619d82bf51990cbb8bb8e3266512ad520302047c435bb500673065023100c18a28123fc22e64e3596398263a91900569cbc8096798bda31281eb5a23d0ad2cfcbf7bcf6866e008b97449604d93180230081143c229ef11f9978663fd5a243da5b2db448d5979b4d320ed8342c1b37618e02791f6b9db8d2fd44b549e69580de60302047c435bb500673065023100aaa24ed1e43dc0e7aefacdcbe71bd96a50b46eae67f4c7424611fe131f017ce5fe99c68882c109974473df5eacc9cfe60230519c2dd6ea7192e6935a393d37423397ba8a7f4544b46f9fa35620c459390e3f5750704b38479a7b98c7fdff8e933acc0302047c435bb5006730650231008169bafa89ffc43f61a80ce14fea8402614d09855b0a7af15ac4de6c356bfdd206d466ace9035c763eb862482281d60c02306a90d2d443714f0bdd4c8a05f469b0f304bed2bfd9a2935169219e5e70880a7c81cf9a0aa5afdc8337e84be8ea8866470302047c435bb500683066023100b01349da3f75bda2bd3901011ffd695de5ff1a1d2dcb62e8ba33c4a7b500cd052a2cc084d9386996197f06d6339423c7023100febc034776ed39a2ed95e9cadb3ea8ca198db3914b5a6156fc9736109a1e67ee782a6c86d72729417207eb0b486c14520302047c435bb500673065023048add0b011cf9b7068fd389a194f91c9ffae71caf3163f934efaad71cf4c9fdc716aa7f2b16c0cb63da514a3664cd144023100bf731c9d10fb8e3619cc135081fc1412684feddced37925c17e47e50b50d6f9e256c79d33a1df6e2d50dd9d15399a0730302047c435bb50066306402307d3c92739299bad5a8bed05c53144d307e2aaa22b1f92409e0b0cba91f74d24b6e7bb08465de8ce811c5caf3e70b86650230769170500168d48ff04dd45708a9d0e2aed3b33b081447aad1fd74aa0320a1bde67e3ab6ebc9a5fdba9c099a544c31e20302047c435bb500683066023100f2f711de1fd8e6f90a7f58c464f25f65c2ff8ac03be7082089be750ba95ea8af3c2b891713dd8d640580aeff04c9d1300231009718edc6a6c27121ec1d56b1b3a2d80165bd3dc65686489f5010565fb26200d31429757c7fc5bad88d1dae249227f90d0302047c435bb50066306402301c5bbc27dc402bc32102652343d6cba967824e3d7e8eb5ceb9b882d72c034f6bab625faacdeb3f8c3d9a76177a4d0433023058e8f63ad7158130b9eb50b62b8d77198a8d1a2b1a186cfef63956afb77b3a62bc582466b7e19b4696b4d2fbef6ec2f70302047c435bb500673065023100e7c8520a508073930f32c9051a81e401e52d1fef30fccb19747115fb048341f723a43a4659dd35bf34d0e5492dda6a99023077f0eec381e777d0fe309c5e026b33385ba5d504407f79212f941dd6585d13d4d5551ab12d862b2e479ae1c4613a45a40302047c435bb500663064023032b443c818ed16f2504e42c9e2e718016287e8ef50e3f13decf37dc1192f4725c29883ccb3830c8d29e166780bf9b6e802307bcfd4f45e00f4b9e6608ed3aa9e3133a78511c423f43a1056d9dff42af8edca1555312f6dde23ac6df8d39bef645c3f0302047c435bb500673065023100d34e20473cb39efdaa2d863113e62dca3047f4c66d978bc09a76b48492a7179582573149228789716ceb961d95ab049e0230094d515e815750cbc71c7414491c4cefbe860bfbb28ed1152f89781d551be3577b1bc41583cf8a7bd6019db6f81da2ad0302047c435bb500673065023025627cb69aeb32155635c494468bf0cd3e8c78c83a1a196604592066640de9efa59df6ece6aee0c396b36313b013a10a023100f0b6c3818b686c999e4b6de6a0d97205433ea29cf3ebe6066bc781e071c3c17950cd36455600279143a1de9fc7e3a12f0302047c435bb50067306502306de5db28b92df229fb6fb4fdddd74374801ea74c5495a048762c610ddef2b1943431bf6347971d760a9361496d4a9ae3023100a60ceacdd611bd521f72da5fc9c965310c570e2391f1fd92d9b788b9ad3ae2fcb46218bcc569b529abee35935404d58a0302047c435bb500683066023100ed4ea70e21cb8e5a4e83e7b397c294d8220cbcf85d32fcbeef263ca0ab58b5aa826498c1a36ef3ad123244bd5ead761d023100e19f4801aab56181df718822796d17b0da7d6aee6459c03e7f528c88ebeb99f7a336c880c0643ddd9c45bcaa085f517e0302047c435bb50067306502310086cb5dbb688ad450df5ba8bc45b5978033e60ac83c2dfe38f1ea54d5bc517150b949e5dd5edfd5ba4662913ed0690f1f02305f466273b2e04bbc4c5012b813eb187e2b9e9c918914c048fa6ece1b4ce15d4e3485545b294a219beeb778494c3fbf2b0302047c435bb500683066023100b29cc121b932bd57ce81aa97d959cd006d52437175df6c4ad54db1a05576be6ea5deffb411c02cef06db255a02460595023100bebe27c1b9c8d80c6e03a81be3e21f733662f15b5f1cb68fe25d1cf2ea69c644554c46ace91f847486f02fb9877c13440302047c435bb50067306502310099f489f68c79f1b8ec5b468a3ca995673ded8855ff1458e515b1db1b8f79a1f59200a88c53d16efa2868368e038f13fb02307c654b9fd2fbc269eda7bf8dbb514f9beffcdf32eebff9af9484f072da0445755076a9fb6ac147a3994e967e256a84370302047c435bb500683066023100b28db858c8b1905d577c5ed31d839f7ced2baa5aa0698bf5d0e5a933e38663f0b0c9d13eff18c02d6ea20d6f3e65790b023100ad62724001a9e32b1208bef1ca13fc2219d25df01edf33c6f1d59cc7304e498db3c9375526a092e712dbca0f272352040302047c435bb500683066023100bc4b73633b60f0ec367df105642bcba7fd331db9119dc1bcc4665503b203343ab44cba3b0cd95a4a6e8c21e3ea41d09202310081d8369300b27000e6b7a76bc614fff2e8ce5552bad37e777323d3d4d037ccb1da12d83e92d16a2b9cda06d4bde2c34f0302047c435bb50067306502306df6a6d9a41a513ab7903b3b5963a5dfe49f7a2721a8a8e28383131aaf7e4f62560de22e54bbc261b11428257ad19035023100c2634d7664be6bcb310c2bb7df2213a5eb0c9e9055a857de623fa98e777b21d330bc31f2bb98b9d1bf21850bb62481ee0302047c435bb500683066023100833e72de5623085e5cceb8a0566f4d5223ed3b55a5e659e39b8c1f89f8987491d4971ffc89f4498bebd4e62185d496f9023100f882e0264d2dbbb3ab5f122ade5d8feeea19bc244f5a54a92272e4dfeecc6653f0fb0b8d50dd310220228b9dc12812640302047c435bb500673065023100a6c89f46c484b1ca01aa7773d5f3b1245b2e515b5c52abba5b1b8cf273942f7d5557ddca4dd6973f9fd067c9780c5dfd02300d159957bb5bcb66d63d84efdb0abc60e829f273c75caf2d9adc5b8a8d919710028aed19f3e729951e8793711d18ab8b0302047c435bb5006630640230208a4e5e8921dfc326b37b008e5760be397c36e42535feefcbcbffdde053fd4d59fa9d52f72bdf3c5d97cee26a35aba6023014873f9fa0543722cdb3556f417f14cff1fac0bc2a1b81b145a6a5a583ae591d9a6424d0bf495ba2717395c35550a7250302047c435bb50067306502307973790448e096edcc7eebfd14b84fda12bc8ba674cfebbdb3af534e82a39ab9918ffd319903520cfad7d2c1610e4a85023100b067ae4c762c6628c70fac8f06ca08649150c33714632040c8033f46c1fa3689e60348c70805a6b3a0782e06bfcbdf990302047c435bb5006730650230358e71f839c4c7dd0484ae34655cf379e9d8ab0e235fa6ac3c31669e5d30aaae64cb7db6675633c4092d0189bab69061023100aebcfb884541b3fa52a7ced5054a930ec5458a6ad370fd6f8c01f3426fb750e8868e68fdd7f6b963e5b529f46d1a886a0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006730650231009b98febf6e01b8b404d47a75da84a581f0367d38d88c320fd6898c1618cc6a009115625306a37c57a947953782d5965c02304c86ddf24e208bbf818b935a690b16e2a4f37c91ea5efb485dcea6a2db857eaa401d776ce6ab7de7e21cc8aaa93a16b10302047c435bb50067306502303c3a55bcb553a46e3098513762ac4ee54c6af737ef5d598f57c96df66a321352eee1ee411df5dac29c2f3efda1f80ce80231008611a1fcdade46ef8940e3982190c9a3d94adeee43da8fc3ee63a9754552f5407c4b027876b012e66e96dec1433f18b50302047c435bb500673065023059161c0877e3f338959a8d9e48e6f38f87a0765e9e6117c7f9ffb8f581aa6486549250630706d6b94c1eabe37ce4e886023100b786c37919d7b7f7045ecbaf6c91efff7d8140a4d473e59771f689c0299c8b06b9895d96765f5988d9f1b8ce6f35f2890302047c435bb500663064023049dbe8bef42c056b25d0271606fd33a37dfc278adc553b1042dc746b89e505b165b8e9f65b1dc905250fa8fe8ce25ff7023007a378808fbf20e605868febd69dfcb288b8c494b663ddca361200804429487fc699c0c8502f0d74fba1daaedebf71fe0302047c435bb500673065023100f912eb9fe0ed5561ee428e620f005ad7b5356ec90d33369e5324788e4dd1109750767ee285b34913351da682745800d302302b2b40c8bff11d6da9b0c0020fb309f4be659208e00591ccde66e4b65e8142292ed08a68a42ac0d569cd08eb279a5ad90302047c435bb500673065023100ce8b4eb3bc4e45038c03f50af4050aba6cf2c9cac7ef11976a4652404f044ef4c1db206ec9960b29da1a252abd5aaebc023043ab74a87fa7add81c8580dc598045d8d74129be50594a6733735ca77d824cd74be402aa9c4d93f66a54c8eee5014b170302047c435bb500673065023100e829c6167f9dece0bb76478af5b3e0af223f04148d7e610796375a767aeb61702ccc33b0c9657bb80c7b4ac6aa9dd92f02306120cfb80f6e6fad14dc36449f170aa35dc1d59d68591204c0058ef41b47725e3a47937eaf6a6259e3501a8b7942dd440302047c435bb50066306402300d7d43407c00d5bd39ef0700da66f580e9020421d9ab703d1910078b6935aad46d8fc7f6f2d7ae5ca1d1172dd5adf39f0230445c44ae8a39160e472ca41a043ff286a085c8f293828a69c9177c142387c48cb9751804803258bb613f0d1d7d7d31ce0302047c435bb5006630640230627d49a947c118436f13027ea2c2985bba5b2ca0cfc30c77090617e574b2fd2faaccdd4764aa303d0e1fcf9bf8e57e9d023076a7098d5ce4d477fa46089cdd01906862edc49f2a35f5c75f42ac3007472d3811b5ac64ef11117539fa025f338a92a90302047c435bb500683066023100a9575a14f88aee203052480dbce85fa57875007ac14ddebc632e0f37abcf665f2c360b3af648c5eef8c426024f8bb31f023100f6dd95e8bd08ac53ac28e2eeff26ba28585f0b56ebfbd2596833bb5bb99241af57a2e4ffdc9fe9eb6526923bd91962070302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023064952d38513687dd53aac9053ad6775191def4cf286c4c5164fdff16f872516e6972c1e9bd8271c0aa79a5a1f87a8ff3023100b0991fbfce65e110cf3755c7d0401e80396536de22c18dee4f7d2057636e29d98ec3a3a1001b271b9661216946e4f2e40302047c435bb5006730650230414a3e54a514c3fd25896f768590297f611592413716c3295d6f883b6e48a55ecbcab207feec19e91982b14ff67af85e023100ced10a22790488d06172fac6ad8048a761b1d26dd013b8fff2133bee63ae7d786d86064d2577844c9fdecbb765c3d0510302047c435bb5006730650230185bdda0108173d7d30ebe2b170b5e8f73ce4e0bf26ff3e54468403ab7059352dcbe25e61488ae78325ad996cac85796023100f03cb6b82dd2292e767931eca1145f10ccc7cd2d7a4340f3d049a94944d73d80c14778143216c396fd29fb901578bdea0302047c435bb50067306502310086cb569e22abe1171933db78fd9283c586d4d392cfdbec25291b6cd56b8b774a99d923a5bffad673713b18315670a24c02302ad4189642ae196df7e7246c963e30775d38d830d7b18f7ed915b41b4c511134c903f8936ed9f7ad66aa8a33aac607be0302047c435bb500663064023075e3a6fdd7f98e9cd280d5ca509acdef2f6b51b5c69e151a292029da2b8bcb58f151cf5e9000833c45e3c71069121872023034050759e5dda32301b9422a9df3d3659c42a866daaa8060c5bc3acd89e2ee915f25bd24833b7d042a59cb2cbb3ce04f0302047c435bb500673065023016e927f8f1f459f9285733c210540139c547b7cab7065996e2fa76028c92c2504c6a4f9f1df2f09894ff7e84fa697832023100c76939ddcac346cd85d3391de4336633bee871c6f2ec35566e49b2f3be0dae39a357cb33b7341263fac42eea8d4d8b8d0302047c435bb50067306502306ac0c3a267bc3630c1758546d6bd93fcfbb69bb8b6a6ff0fda6b3a2be3348e3d3e2a11407412e40552d1ecd5da97d0430231008563c5fed8c7f0fb41074eb8f819e06de48035566918f3514dceb773369e3fa435087922a18b9894f8d941fa451a682c0302047c435bb50066306402302242f6bc0564172212941ccf03d5828197e9d6d030daa9bc6ff9cc676480d3304b16c90fa0e5954a549b13022b3bc0a70230017e70994d28e48d727923d2b8149711bcd9e38dd0a3e7bd59b77b3ccbb11ad2e61ddf46a14faa699d09c0c83ba546980302047c435bb5006830660231008d9c0ce1bc67bf4861f6140400e826f15cea4296cf4104463b2554d71a04afb4f4e48aa764e30365f192ecf9ba3b131e023100b0e6b43e100cd785e693720d9a8aeb6ba76b2923e83780aa8d2403b2044bf3ebb3ef64a71560f8d4764e4955e93d8fa00302047c435bb500683066023100f2410b68d4d6dc122f9de68969f98e61d1e698c29016dd7b2ba65c1427831ac5e2c9ae08fc44b9bb3d4fcc92e50894af023100e52db7cfa7453e63ddf86fc4bd64bd73ef06f58a31d5a90479fc15bde4c9e670ffbdd14f22925dc5b106bbe944f49ea10302047c435bb5006630640230045b7ee07e1de95a49e5118df461e47cd989f8e0fec688c3fe18b447bbac19fc1f2fa12c1022ffc0151cc46cad9c432802304108d67883578c5156cf5a39b2c7aba9d4f744c72fec13d98632c7b72acb6d59f3788d3981fe24578904a55a20de53b80302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50067306502304af54a3ca713abb627b364b29d281589729710d496948f7f1a97e41b3b9662f6db762ae7d587c09bd9640e996c6f1349023100e4855352f35fea2ecb9516cacc881b6cf50bb1ab7ef48d816860ca2160dab617612c88951d26ba92ea34590fd3eb3db30302047c435bb500673065023100a3973e78b1ce4fdd04355af230e829e3d1872a81f14a4c09c6b1d1ff25da82f9ae24c5501a4e9d024eb7b1ec7f05033e02300dd26dd016a61a668eef8e78ff3d8d093c7ba9558990573ca5eecf366452d464b86dbf53996b564f6fe0c5c4b3e2c0ea0302047c435bb50068306602310091e3618be6ed13f4731cfaaea216c47535a604147dfab51e29c9ab5f56598abae5b2d6410da62f70417029b75cdb247b0231009107cbd1425e3294dea71de899d09db1f97ed98ccbf5cf476026decb09bf2b7f21a08823046dc96f3c7e444c43b17d110302047c435bb5006630640230618cdd63ce552f688ca3a6b17027518084e8f61ff01b451ec6912a5e700ceba6d8b2a0104548de9ade5645d796cc1a660230491755c784cef1d43ef176533ad674242518cb43e7bade5e108e313d3396be290fa62ceff791adb347d6b936eda0a8670302047c435bb500673065023100d9faec71c04c85bb05637a2c8320eaa8b1892c62b5077af02600b05657e1f51ca3d1319ada295902eafc2efe4d71e1440230134f94aa6fb31b6cc69521553d17f4e5745929f5cced10bba292c58990a1932afcdec0f5cf0d17d09cf57bee197a92a20302047c435bb500673065023100fc843e5156a6cd8a7ed32ac8cb0969dd2bcbe5f66afa31e73fc674b3d16ee14f969440e655803978037461e73837123f02306b1eabb8dbbe1b50a0e11060af5700a4a192df7566bd438d26291e66ecd218f07cd4c7488febcf1cda951c0a052bf2ef0302047c435bb50067306502305a702545ac8c92f30de6579b4a17cfb7faf0be21edb408a99694fbad488b557fae154dc185aea4ec1053f00bd364f286023100804092d9bab7fc53d117b2d0deb8846ee4b1f94962d5bfbeed0469769bb4645d7a13cdfc68d52015bcb17fd3e3acd6890302047c435bb500673065023021a2cf62f1163f6d0a524f63091f227d836b27afaeb8317ededbf08deaf23c999113f93408ada17b20268491cd7d6df4023100c3dca7c37ccfd14c96cbf3febc8e5f19d95208ba9f84dc8556c5550bfb48ff4b0a402b04879937d4c234343b7a392a010302047c435bb500673065023100c41f26decf1ab50db6638f6408cafca50ec15abf7f3982b35653b1cf4cb33767b27e8e242a1aa00697af1d59baaf4773023077597ff6315718a1370baad3a24f30af68b5c62f6ff498809263f612fbbdae502be3d6463a71b0c9d41bbf97fe72d08d0302047c435bb500663064023032e1e4816ebb67cbb6e36091101621d60a5c4e10b22f5ed086904b2c3f22279d120fdd0045c6b02b6e22833282235bc3023078dd7a3247b07aee2b69b35fa7b46ec9d7e9a14acd64ab538b4ccbdf03c88026a8a147cfd4faa5443e3b2a134c5fc0dd0302047c435bb50067306502306c481428daac1b1ec81b4734b433ae394783c44b31ecbc71a74ddd27f758cda19dea68baaec957b5a7b21746deeb66f30231008fb8e1d8d537821d0c17e068afb4d7db039b1f05cd0f91a2e6810d9f4ebe4ab8b104f6af3b5d0137b7be409ee5e0e2160302047c435bb5006630640230768d9116c6416f0685622535441bd2671eaf228677af5cc837293967cea2ad71b949bf91c7ddc575b26a4526bc4c3cca02307b5b523664097b52cae4056f5223886ada43620896f3878739f7484ae8d9202dd388ae7c47ea7fda11f2111adc4647310302047c435bb500663064023009f400eca77e9848f5ac87f3efd0092f2f7d885575d56f464973e55639166a014209382e1e04321d0e736c00e5c8babc02300120a10792e6fe89bf3c6fe2a7725163d4d5d1d8c18078120e991d01f92d71b1fc74d7889d659dd0b40e1544c5b434420302047c435bb500673065023100ab9a44b5484a8ad5561bf95aec0bc84115b0cba970bd21575713fb00bfcbbaa770e1d8dcd51adcc3782d237d68fe977f02303e19aa91d797ea9fff60c98a504cb404a37d04bc83273d038c24f0b1a9b5130d70b56dfcb871786af354986c3fda6e250302047c435bb500673065023100eff6aea69973ab4399d9290b7f2481d4e82c97ac644518fb3a73d081bad7308b381b00e606afbd753ea530a75892f86d02307f34b4ef2e12279ef1f8bd53c47e79a8b350518495fb98a8088885c2ef11eba954f995b449b9df1b7093ff74624cb0a90302047c435bb500673065023100e10b507c42384d5e4543810fcd3447d6184946b76c8cb8c2d4cbb7ff9a4b606ce82d92ec590c4e4efafd9b347598af7402306f21a1975279e480e2323c1e41bd304bd7873946c35103779e6118831014583f4b01891cbfb30c30dbb46dfee1d941e40302047c435bb50067306502306ca7fb309d850fb6659c5cd76a5deb6fabb36836f96c3fd186cd369c02d06af89d858a474b503e7724208c1710a646de023100e36cac08a6e48050a740c3ac6f9d7b0285b1ef571f24b84763c40873507f42ee01f7dbc78f8e834e122a2b085ce770df0302047c435bb50067306502303b0ca478fc13422869673d87bf0f23617ce54330388b3681bfa718c6ccbb9f3844cc258163b99fa7305829ca8a790ba80231008afaa5f1709945fce111a5952d025d70ca8744e5f33c471a16c1639dc2ffd23b3ccd38ad2bb545e6685efa11d99604600302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500683066023100a7064a4d102e0bd675fa372be9d9b088194ed88c6545252a9109262093d0bd851164b037cd51c1a308932ee98fca4af6023100c29ae2c5531e6035f95692cdfae94a21ce6c26f0d37bcce037c31c775f6176ab2de3c11f4e9c08eaa8c827be3097ae150302047c435bb50067306502300cf36f03748d815fd8a96c5377ad6f90484bf03189c44414f7e8a0e459b33cd31c4764f0be60c201b606059b4ed40d62023100c65badd3b4ee6fc7b239829de6a87a10c5c6f32ba1b5d8dbc8c0db97b12e564d4474a10fad1463830792a4ce99f1c2830302047c435bb500673065023100c23aa7f153b5a5958584876d8932d55612f1974f88d994eec18c4fc6c4f7c3203135105e4ab833e9c8c30ed04d518b5e023055db353af0e147cc9af22607fe18c3ddb5d183b22b48c325e931fe0d020f8bc7b236f4ff7dcdda1bd6ee66eb862c447f0302047c435bb500663064023062fd24f78fdd4189effc8c30198dbd0abdd81332aca9a2d0c7b5ee860ace696e5662353f0693355d88ddcfc3344ee9c702306e55ea725561960ea83cd20e5b81afef14e9ad8cdb72fe0f05784773365a4fecbe2eb3dd2386c38c4b55a8d2d76d52b60302047c435bb500683066023100d0bb90f63e06b3e2c4abcaddd333b2f4178eef2c2821f851c9e9b760fdd041da1686e0c50abffcb44764e2c151c79374023100af2a406031c6d35afc5d36d3b03a086e5f6265fa6ba3c276faf8e2c86456c5fadb0046bfe5bb000bc405d64d380f3d750302047c435bb5006630640230458348562536f5001f1b692fd58fd6982ae44b9f2fff83ae7b17cd735c582d5dce2de9baf06bedd43a1a0d3bd84ad1840230667a9c2d75326eb9d558e670d1bad1e6ef1d2e7425a5e154d1ee9f6900c9bfca98980af37314201521ba5a0e9df9159c0302047c435bb500663064023006089c82b7fe5931dbaa61c4f04a5907800aec97e84b0ce029a0ed03acaf00c0f1c8e997895279de57d6310423bb12310230417c3b102277c9367c21d34133a42e500ff68a8f1fc0a15d9ba301936c674d1477ffe56ef0684034accbf5712d8565030302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231009bba225e5397f41e28ba4fdf394a258149568cdd2808197fa1221fc81ee9a316cbc0c77e923b82d6a595b74c2ab4540b023100c1111b421c4a569b6595024541412ea6551c666291bf2b7b0fe8d0ae68e56d7d21409fcdd07de877eb5144e2c802bfc90302047c435bb50067306502302a08beb88ea1770786cb5fd8241ffc24c651807ce3542f43a0925b1e59fe395443e7760634083b31be9f2beccb00dab2023100c53ed1b8c59467a1c68c63e8183a43953ff6411efb6be9491150cde39ef40f19ee290f3693c11092a13d637ef473161d0302047c435bb500683066023100ccfef97f87b03a64f4b1fa5e0ea9f6a76ecc5c311554db931783b401438d42262b6e9ce24f06e21566bcea6505cddc83023100f7d609415a424659ae2a517d4eed2bbd5b272f34014243eb0ed20f0421e65a1dd630f55069c8a0959fb0592227aab3030302047c435bb50066306402305e5adcae547a96f9a410d1dbc3f9dc9c353d56a4b37bece2a2fe29c06fa833bbe058e0a8bfdcd173c81906e003bde25d02307c69f02dab8a6ef1505f4f924755cda768c7eef46a1cf865bbafa42297f1c959fb17f2c15f9e6e4721f5897808a403380302047c435bb500673065023100b819c89b3ce1b3119c90d74ab40f35b2a59b3a940055afe28323110e5e40e5002681a0cbc4e7bed9ab0330debebfe64c02303b0765e507dfbe0ceada4bce9c68aa577de5c08483e234671807fa9927c789432e1f8d37ecf145154e950c8bea15eb040302047c435bb500673065023100b5cd9e589570b1fd2302ddaf73c7c3bb1062b1ee00f5ba2d063038ccdaf18f6d0d1e7573d81b7e8e57fa7a57cde9536c0230773876dce297050cc247d47ee72b6a3b5b9a238821edc1a1ddc28b6fbe69dbf6ba9ca364bc036a9bf5732c757bb500e10302047c435bb500673065023100f2c9be6fbe2da69626af9c310dc86203cc47f944277d2fd087eedbb2b7ad8ee46d7f3be2e65979a2f1710d7ae49316450230395610d4666d47a5255c452ac9550683e09f92cd36568bb55bf487dd09f4f1283be7494307fcc5f862afc3b05df20d640302047c435bb500673065023100984610e47ac58da7b55a9e73e1393c9df796d4a159c79f9f5eaf99b022bd908dc24b5c9f7693082871ae6a84308c8f67023064a5a945404575bcda0c162711cd125a0c4bf8e44240bc5f556798654607c76f1709e6bd5621643ea8521d1c8b26fdc60302047c435bb500683066023100f5f76359d108746198f72fbe1d4f7f8822e66b999bd559825f738f9bd0d0847b65792bcc48b51ded90a5237a6045f8bd023100f9928519663440535d367f7313d7a6509b7fad7acf4e1f90663a3eaa33a942cf7e765319060ca8aceb9c47572543f5170302047c435bb5006630640230514960836b6fa3ba8c7b82545b50337a7250bd84fccd3898d6e2c0cf1ed9e7825ee5e102a20e06eabd64732007b31e11023010da9dd34d40b48c4de586d0aab0932738c85b87b21ab47dccd763befe9751d14379748ecc987031d7e830eaf084e1980302047c435bb500663064023037d2c5945f3a742b4616023f410b7ef6985f18199161a43f419e5f25939f2585f8e8c57e8e8f6a60ec0ce161686f178402304056a5d28328ddb10edfe4e05f2b3f1c9f853407a1a9d482496b1bf9ffb6c10d1345950e7db84c2e0be1b5bc65befe7e0302047c435bb50066306402307d72bc950bc392d95fdf43f9f91c900ca6f4f250c9fdc7934f6f4dd06d55019ca454d4eaf3d8857e257520ed6a07ac2402305b53b5c0c3e18424f69ed4bc20bb1e1c1b444702544c093e987aee7544c17646384b5a5f3bdc156f278d59b4e03eaec80302047c435bb500683066023100c41ee0f051e45556098a3658ae0b49ba18f9a0064bf4130ca85d4c5e49109935c6cdb292f22ae34af6e272b9392a9106023100f7ffa643f95dc702ab1842f9af2789f6fed573e643cadf58aad955198efe0f4f214f56dc1e2827654f141d97fe2940330302047c435bb50067306502302f982a0f42ab5740b13a72473c3a785d97147d0aa5ae2824bbb787d0fa2b3b6fb24196087b0cc3f325c882ece3911f91023100bb36c8608394a2708fecb8903e094c66c8915f18f18fe9447dede59e4901740fadfc7cf6658cb344db772de4dd5f757a0302047c435bb50066306402307ae6894390e2a7e28a0626efa22c5717a51db973ab3231c0eeb1ed07417f4b6abab74c777a84d00147190eac433eb3dd02302148b46129a617cc8ace1b729358d0840149815a9c7000e77a073c7898de4813fc56782a95f771ed07ce2c89385264b00302047c435bb5006630640230059247f14bfdff7b857f30e131ec0ad341f75e8e41053547c7205eb91099d9fe4f650ca72058c56fe3e8dfe1303a6985023069c8b49df3db93f07df2aa4f4e30ca0970c06a8e1492561de1d0f40b226f9edef338aae40693d48d8036439925d603020302047c435bb50066306402307deef7220d10de6d25ecd2c2fdab42eed5937aad93d6eca21b8e4f213eb4ace42c6cf7abd205ffc89d10820181888daf02307269d585a110c42f0f6702eb54490684a1ecada4f22ed6e0a86966671d9152f987525101bc8c228e5d6738e0fed2dc1f0302047c435bb500673065023100fd782bfe0329d1e0c68ac4615b568590fca5f0948016d18c9c2d4c73b90e1375580dd804a480c9e2e4c72df3ee370f1402302e518e9834797d2a5bb6106d68f747245adc58dcebf7777f33eeb97085e4e9ee04b35b6a99ae8a6ccceaa7e4a4d4c04b0302047c435bb50066306402300df6d947166455d5b5542a13381522f7d2a006ef3e916b0560d5060a212d6f10a9bbbe878cf6f78792a9e1cec3929c3402304d532d64336586d6dfdfb9b2122d14bc43a50d917f2d98d37877e67714089bebbc45a6b0fbd37b1f30dda7e97e40edf10302047c435bb50066306402302976e2405439424a66146d56f709bce663a48eda49ece02349af185b8a443c477fdc78b3db94140db8690783b88a875f02301b90249b8fa3cad523dfa5fbda636dd2413120a9588024feecb1999a7d4c593df7cf3a96a48da6ab67349e8216f5b9840302047c435bb5006730650231008069b0845c314cd4f8a215517dd1bbe9de5fec6df448a70682b76936f0f7b49e783b8f88fd455ba512303010c02f8260023049422b2d64aa3e1c855c7cfac3dd73ce9bf8f82849ae41cce1f4a23a2ba685d60f7eab10c27c7fb9d60f6ccb896d0dff0302047c435bb500673065023100cf0e7ae16bd9d174e93a9a933ed90cbdbe84b95568fe75155e56cbc14af5c8985bab75d1523f4fc40348845b86bbb5f002303f977c45121e1b83f6ac8ea6fe3fb0ff039584de2217b7cffe7a9e0ef66f6988e0d64971df5df2927184f60dfb2478e10302047c435bb50067306502307a50ab7dfbf813788c41f4339e7044a2a2d12cd891d59758b4a03f5b5645ce71814cbb6996b4e68fd75e9215e27495c8023100e66f3991cc4e6b187120640e6e8f95f833dad070ba4a9d91ebb0857ea2d06e8ac295bc7d46ea63b9664c77d1e3918d540302047c435bb500683066023100e209095210aabf05ff876fd5410785088252e52326fc2cdf9c1b07d8500d148275ff99c1c16c75c13029e05518cadcbe023100faa6819444b4d93a63be04ab95322d37e73b4ca0127ca20fe322d645b70d5c9f90cc670108d9558fe0cea6e1cf60afaf0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023100aed818082fd1120ea9217f8b921988903003c173d8c3e1caf9bae1cf4d1768cd9adba74b86ba338f6c4c07e6ad290e8d023059ed24226b1cf829fe11914a90abae5492a7fa33b1ebe5b8f6d4b9605378f2ef4c1ceba796fdd95923e4c2e382c8c6390302047c435bb50067306502310084171a9bfe12c25dcd3a043a2211c598c11d44e74d1ea8938ec2304fca36f540914ff7da55c072e82a619c411179103a02304fbda435b3496828e28fd5b7ff45b7669378147d39357e8c570c0a15d5794ac72a0bb8289132aaecb1b4da604c21d5570302047c435bb500663064023012626e016907ba219300413f9f40c91a2e3f32ff44b9613b0e8554e208e768295c3c65c4ab953e3b4009c94a1097a22902305ef2b383d8ab6d209518f14cf1dcb68e39b3ffb62c26af504591a989e3bfcd5007b16120bffc37a414da0adbb7319e0e0302047c435bb50067306502306b3c9b44b909a134b245b9dd7bd00517c7cea633317a807c47ccaa21d0f5bd2830d3f717a72fb81cb495d891763473ab0231008f0045872b399ac35e8af5cb902b5d17cd1447e8d0a00504c7d28aabf9435747eaf62c1797daa36a6ac2b0d5679cddc30302047c435bb5006730650230282ec2c6f3c2e18ddf737b14d39c12fa1f65e7ee6494bcb3498cb6e5e01f9c8fb5f246851ea3c8e67cf3e1fdaefb15a8023100b7c6022748c92bb0cac583acf84cf3f21f621a6455f8e5e9b2d3890043cfff23ae6383f45373001b0ef60ec1b2972f280302047c435bb500683066023100bc6ca86fcf7b1655881bd1819484ad27fe0ef55267d96342c1f2b191d39579dd76bd7af54205784cc0d78dc231e9db970231009e7f95f0873f57352a5e0118bacbe169bb853624713129868a5c89f4cb7e70e7e910a7826116060a652d334384b1c8f20302047c435bb5006730650231008cd6d31aa94db1534af57aa78319275291f2708e0b07d7bd0278c37be489056c1737fbe2ddbce68f19e45744dfed401702304b6e8eaf6510aba9adbbb9acff422956863ae3ff2a7f8683197998122b3125c20a442efffa19d2a6f70054784fe515860302047c435bb500683066023100d658f30aa2a56be5a1bee837115e967285a0e271c4047a08ff26ed04029ed49960b9a09f42021d6ffb71484253d8df24023100ba7c3a2124f9f67092afbdf93b794ee01c10ede80b339abda6fb0788aee6e11e16cefb51aea6592e3355002a9aac88020302047c435bb50067306502306b1c1317d459f843dec0a6b6644f484f68d39b45ad5ebb541411311b080c713c791a86a422bb0b5859aa5f4a1884e8810231008a9eec2dd756a7bd29a21d9fd6ac3b29499c60e3305082ab7df653868f4b1198a859fd019235ead1db22d813f1e375b30302047c435bb500683066023100b8db4bdd8f3e90abee51fc4eb9eb7f371fd67d0936886dc3db9ec15330a297d952a8e5c3830d2204881a86ed0ad0e62d0231008b629d92faacc7feccf38f59666e74fcff73398f81bb3f7cee75f87e2dca5ef0ed96b530d40e009ea8b7a74f5f04f0310302047c435bb500673065023100ad49cb1319821adbbb7bf294b8fab15a4b0d1dd045a607db1c40125026725aad29e777cca22aab20db2c099761a712200230195f6e786de85fa5ff01f5aa935706f6db8997543e33f8730ef0fbbf222741adecb7f5ab0542ae3274c088e10500f9a50302047c435bb5006630640230061f2c48d397965e24ba03f831e83502a34233751af7d503afcc56b8f2f7d10301d6c787ac8665ccc8a895d1efdf8c65023075fff950bc693de9682f76792138e4f284e8a77cff146ca0450b20d3bf93167660945dcfeaaa2e8a85e20b89ef6fc8660302047c435bb50066306402303640270e09d6f8cbeac95368d209e5fef642771056222732bcd6180bc4de4f22bee7565141fe990c47358ff0633e88e202300968b7905ba376378169decef759c532d76036d50236a767413f5eb587eb08999f33580b2c67490bd257965678dca1a80302047c435bb500683066023100ebdfd6f1dac2ad1283bd655331db75c8f4fe0c70d5f1b8a4d945fa352f52ff80c40399565d544ec4abce1f26836db664023100b8f531c47dce462c12627f2693c38499e77e1d394f9e670b50398291a0b26b52ab19081b653634b2a96dbfea7c7537d40302047c435bb500673065023035d3d25cd8865fb11441a71f403afe744fb35607d00279a9d57a1d57eff6425c6e3979c927854d5679f5b1dd1e8d904d023100c79738cb92652d057ba64344277fb394b91026485595aca7ee123f7e7b4bbd6d63bd1f0d996e172de11aa94aa35a3c740302047c435bb50067306502304fc24c7ec15d7761d1a9c639702884ebf151030a7bb81e800a843b5a6f70a9789e2f39a03a1bc7c5e97ff8cb627a1917023100f65e3d0097a3648f75c5721befce264ef547a67b3a7e1a95d970bccf1c33a5bf1cf630bbf374459ae19b25b75567f2110302047c435bb5006730650231008f220afaf743864babccb94f776f26b805d217291343262110c5ef37b2a6bae67d2c3eb57ccbaffdc32ee8b486686c350230757e97d8ab231ecc9040386614580d9a937b05b163b6433f62512b19da4e5155ce644fada553a51b5e2f2826bd4663830302047c435bb500673065023100edc2de5e8ab6275e20dcc4d30c41b1a4e18f85429825abaa272af83a6744e30390f295e8405e81633b7edd5754ed67b4023017eff1044a3a1716ee2ff20b63352ab471669d594f376f0bc7464c03b1e5683028dd51e750396c6afb184cca81cfb4600302047c435bb50067306502307744b103f85ca8871a0aa1acacde4886e3fc9b503ca6015c3bad2b311a4fe380609393ee5b0bfad57077d9aeecef2640023100f703062f0198472a10ab369ecd3fd44f99dc5353a6750ad51f9b695466898b54ec0766224cee676a23d1bd58f74d71730302047c435bb50066306402302479de7315981afc1880bb9987989719d43955cd368b7af1bf8f3d14910481cd6e81df0d628dadd9c4e02c1c5ff4f2fd02303661380df394e84894ea7ff6c83b3344697eb1e0008a9083f25453da6326b24d1564b83c07a10d6a2fa17992e0cc8bbe0302047c435bb500683066023100cf146d594cf767c3d0ab9535c2551661fa32559ff1f3d04ee2db2bc3c2fd8782757bc77097b7c9d119aef89293b8a967023100bd914cd2fb79386e90ef4a3e06d810f3c660de72926bfc75f85489b1edc7633dc0aacd50395ce49b9bc6f0484e73286d0302047c435bb500673065023100fb702e93c6ca6a0f7a7e7fd3b0e8f5dadf877fa793de5aa2c4e5be742ed34f1647a56bf25b7dc86f56ded250e4fdf95602300b24a85e76a50a119b359de0ce91301bfcd892225a7f2b57db979df4024351721e13a78d364c7c0798f4459a0c9725820302047c435bb50066306402304cbd9d7953c24ab75897ff94549fda6f3557826e363553f3a3ece7031a14f41b60657faa44a858a4f97a890072d932000230158fee776505a9d25f061f5242531bac3d2e3252817a8f7c6f35534d4636211ac2425d7a0f1dcc3e2119f4bc9f3185710302047c435bb500673065023100a09b37aba985b21da7723344bfec34b2cccf172d93e1e2a0ac21d1ee55ce6b9eebc3f870e54c9672a0a13d60e3991afc02300ec7e20a0a0f331129873e786f5eebde86b828afc6b1caa0ca143c58b6e4d87045f157d8dfd8402f58578fdf0ce7a5f50302047c435bb500683066023100d73704a2919573d8343545bc86a14614d04c319f84373073428d7150a4db623969c0b34f782fe19c4af7467f2e5ed8f4023100b7898714db6f3538652f39cb459be03c313845076e8abe05dad2988956edd4e0eb36e3a3f3dc2613f07c15027ebe0d360302047c435bb50068306602310081832adab3be814fa128e2631b74ff68d98d025351a4861e80ac025d30d82c94ffab1f039a83b74e703691fa51e081470231009d9c9c829a1905553457be9f200040b008936e9aa7dd5ed96f317785be8b99eb7a7f24ea89ee4423ba8a32a978e9ebcc0302047c435bb5006730650231009ef6cdb67a4a2549b6cc617b580392c784eb144bc8625107b02690a5ec3f18611c57d982cde481f88a8e6b85245a16cc02307ad5e67fa2e341637840c95743d44dc763402c0e32eec39ec6558a0acb2b728eec3dfc861c7a8578550f2ad3c6f004080302047c435bb500663064023075e4c957759de9ece3573b1eb1e1884d63991a5fb58d3491a5d043501ac8df150e50fee5bd95af9ec4f8c318d7ba074a023000db8d95815ab1697e106e8fc35290d11051fc9d0926fb93e42f17fb28cbb31f05637b687b27aebc388d6afb1028591f0302047c435bb500683066023100ca151eeb941cfe4a3d7cec51cfa49e06acead13f686f8a32119ceefb82601c6ce10ff4912646302da1d664c5b9d399b6023100d20987346217ee5a90cbd2e328b3e241b237304bc170dcf2c6a4aa4ccbbf8ef8ce7676795322387bf9cf6fbadefb15bb0302047c435bb500673065023006bb63f827022daf3d9e4bb360a152befef1d2deb40f53e608e1af7700d6e359ba9fa08508355b84f26b7c8a5419a2c4023100c40eea80bf1a2ce7809547dc8fee8b0ad0c07c39f3c9a66f46964e1300d24a87bb19e4b066e5b4c149e34a4db2efd0cb0302047c435bb500673065023100bef75af2862d1c5343a9314a578b74f0c7dbf3e5d711805af91f2f36fb96440e58a9df113164c50a10c0db6e400c60b902303eda1614053b238dab7ca19df40ca8aab33f06c5811bdfe8319e854c5d332173184c514fefc6f43b0824ab4ce3b054e90302047c435bb50067306502307a7d730ca2176eb87fb3445de893b879e146cc1e719bed0ffa34c6443e161421830584ceb5843e8ecc3d7d6b8ab6f50b023100d613bbf3b75e85a66e9d8aa49106052cb4f19be92608654311fc8a5aed9d392b225b6ba9a1445acad9367de8fb2283d40302047c435bb500683066023100de9e3a0f25d694b310292c901a506c862d165f6e04e970b8d5b6dd77fdb3f651ce66d4bed0ff7d4f1636735f481f96790231008cd9e4b7d7c04f8b243f14c00d8a44e3fadab3feab568a10e7639c555709f481c58c271f15d799f5af024b1ae60e31820302047c435bb500673065023100c5613f31ddffb8adc0fb5964135dbcf28bfcb2bdbe9e2ed12301bb94b5994860ce2c07c2c41218f90a216bdc2e89419602302da23aad9ffa8a81ee0a51e7f9f9d4b7b02eaf1c0d61301b96d55547b157d1483abfb5f80305886d59c520bdf70a536a0302047c435bb50066306402307caac4b68e0677faee7db985eff1ab48c01ecd5fed30b2ae2c7676917a1d587c0433483a1322ebcceae8f580e46710900230506f2d34fc8ccd5d782d6523c8a510d217bfe7ff985275d6a3114bd1d1680c72404de6954f17ee0f58aac2486a90b0b20302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006630640230137cebe8fdb4612bb580cad802dc7ac92b9eb3027b53ef660dab7221abf7ba4f960e8fd076b8077282f5e677e729367002302e6296270c1945b5344d22dbd630392a4a9fd364e6fddbb69cff4fa7493106e6912e103b67a28e4da93588eed191975e0302047c435bb500673065023068efa9123259b3d1ba12255f60891a4342f7820d3b2e64e797b81c28800f68e9d5125926e216fc750e88de0840f942750231008a1cfb782ee2fc758bb36553943ac45121e67629370a8ac7be2b925f77f34b0053e9c8f6a88bee6a5f1ca8c7531775530302047c435bb50066306402305592423bc296a4e103b7c0d3be377f330a995e0f2394efee25b24f1d71a92735a778ebf87dcc9c23aa9fd52492c57ec40230144436b505a342e3d8d9823880cee7f52930b3f2a47e062048892a3abcc3c6a5b1d9eaf0621ff8380bcf274eeda25fc20302047c435bb500673065023009413edd3ba24c05abbc6004213f37b3141fc24748cfce79c4caf2c9af72b28900101ba0c652b00e2ca7d24c7aa675ff023100ffff2e94c5b8ed94e2d9c42efa547061195bc5f8f53bc352925506ebce3379f532a936b4224a2b2b73837b67daf5626a0302047c435bb500663064023057d54ea0d6b524f5e56db00c0fe824bf879fcd43197e6ec0b67ad905d6dcaf389ea43e57e2fd13fa19ac89855dda733b02305a394b45c9655c540d85a6a32d460cddec5e6b4924f1960a7abad9fbff6b968100b4396994c8568b9f3a9a9b9204e69b0302047c435bb500673065023100cc4d86fe13de01b35984503bd136490977c5e222c93ccf90d5fadb19287ece641e6995635ed30cd51b3c296aff4e0002023051ecdfddf2dda0f2c47ebfef90ff07370055da557451fbcace88c4df1a7f5c2e933ee99f932e1c81787943704aaefc8c0302047c435bb50067306502307aefabf780bb3276ad070e11fc3aa8f0347c97705e53b25699b7a438a3de243014272beca589b47804992593998f103e023100c4409a35160de371adf56972d61c86ce834582a32ce8ea8aa942ea21423f164ff06121565a442a079a8135184dd25b630302047c435bb500673065023041e9522644819ec784a50a4b571cfa10e88cc3d950aa785aa4339793791bf7118083e69ea9a837b1b96892d644414bc70231009604693d29a3a2d96d2fd658d9610bf51388defba92c60b0d86e53dab0ac6c490690250c49b8664a26052c12b79c84a10302047c435bb50066306402306e7c62efe40e178b6d857aff16818af38906ab4132311967b46793c29ef1cf962ccf3bc3ed671ee5941d4b777e6becdd0230781061a65b9cddb0598aae1d3f57dc30e3924657dcbb4ea6f2bd5652a25bf25d09a0d9bd78d5524f135a7c995f18c9650302047c435bb500673065023100992ef548431fb45d0577f2947abac35d28edaa19df7bfb1daa9a70d8fbfe554d4165b752047e7ed7b90514ed44df08c502307799cd02f5aeb0cc6106abb02679f6ddbbed67bbb70566cfd841f3d0e5e64ce4141abd937c20b4f1493c772abcc6d6810302047c435bb50067306502304162e2627cdf12d3a5e786fd9a427278905a2c599d4d0c9a48453bcb2c18f174a0be9b8bf52488840d6e5e4d7bc712e1023100de3125f0721c7f6ae0ae108536f96b81a5a6161674666eb0b29411cae4eb2d57f9969d314fe2d4d09b7575e21b61ecac0302047c435bb500683066023100dbd8b45f0c74d69a035a53ed427f1f09db62e2ad37de16435e843bb0fde9e9ab35729ff257329d724dcfa3c378ce061e02310084dc672240a62784f67a56abe0a8ed49825ff6bd5abc98a8eb5c688f650ae420eed468bbfd0b02d49febc5f4428a73900302047c435bb500673065023100851d451abb993bdcfd848d3f03ce13d5fbb59d4c7818e8965b32e34a0fc03b6d124458744a7bc353f6fab3dc4cdd3667023052e00cf419ec7d82fc581cd82bb2a3f27fe7b197248503dd269585393ff4e99ddbaf26a942637167d3af3e82a16bd11b0302047c435bb50066306402307cc4ac82ef065fa24ac2f990eb2912f8b316b0a64a141c4e7d303e9ea76eadf9c37317875042ec009bbfe0508ae89d9502307b509dbf72877c21291713236de506f33f465dcdfa491ea312387ae9b7fe2276b0c17554c8e29105743272d05273987f0302047c435bb5006730650230634fb0cb9758b9fcdf0109317038ebfffe84a413931e3c3fa4f4ea665415b040670f4ae17b1ac17249fca59bb493147c023100ad2cc24892dd0f49a75e38f2b247e843ef349f444b44da6c4dfb3e5adcb117f333440951342fa88fa6cc18cd79d1a26f0302047c435bb500673065023100bc768167f5c0cc8398981e217b7bf54f71639394b29b3641f35d5a15a42fdac48da78f93967d4a98bf3e41ae24375bf2023020ae4fc1d2e7ed7e559a7ff215d00916309b362e72bb4d203dec60d1c8ea6f2af0871166246a3df599829b3d417e185a0302047c435bb500673065023100edfc4bea09a7bcda3078625bd4652eb5127a4b5ee77e4fd8ed6aa3f48669e1391218368a28fd3585b7746441a2dcd42b02302dd0737f06ccd4708b521a316e9bf3f7b09a44b9d1f7309b5a1aa5b2ab8d045c25a22ee784964da5626f2794352a49220302047c435bb500683066023100a3ef1917c5b121e54da1bdea7053fc4323ba18447d7f9250b8dcf0e1785ba8dfb7003f3748d285c7ff96de7d23fdebba023100fee52aaa27abe5a4669c9b37c3288af66d7f813b7e0479a32d0383777059cab50649008c3cdf295ee4da40066b1751740302047c435bb50067306502300ad04118d7d166b7d3e25b92aecee7a5587755e8e52f004c1cbcbb73880b9904db3fb70b9d51be60bf39f69bb59e5e6a0231008d3a9ecae3765e3d7d5ea112a62d8ae27b688f388fc78f92bab0b54abb98009e671053c3c63dd4b75ef6ba2f3321e41f0302047c435bb50067306502304efaa751128cac9dd93b856ce802e1e53a4860073370e405e1a09ed0f3b4972a47af3f61af713469faf89683fc42d43c023100fa5e8c991688e623390436e321c3227972b02579b6f67f3b6eb0b8d3807b221d15fc661294314b8c23c4375058be5bd90302047c435bb500673065023002428c2585b3bf7bbc48f78310f21d602979b9d7eb8ac153bb7485891c393bded57b388cfb3cab7e6be59e61b43bcfb0023100a43b54adf26f1f54ae90d1ccff0cf47a507ac8b8689a4c9e4c547938a3522309e4c82d117ff0323a391d1066f9456d420302047c435bb500683066023100f7c72a708eae58436a5240943c45dbafa0aeed907ade5efb5e2fa754a228ed822d10c628641984986b5b01707ad1244d023100d6b417055823e7cbe967c302f73ad28516ca279399d22fcca77eaab9c744f135ce94e2f306f0d274e2d7488f5231809b0302047c435bb50067306502306722612bcd82be14b51839285d63245110ae796526f60905fb8928586cbb3a61260736b6bcd32f9a251aea3c51f0d874023100e569e0668ea0e842bacde090a38188eaab28e78c48dfae2dc5906e451616feb342d7a53a3ca35f3c3e9187441d4f9caa0302047c435bb500683066023100a43b060c292fe7192773fb65fd9e3afe253df44689f1732a9cd42a84491ebb7fee42827aef89b52319d02f893238677f023100b64921e8bf0054d8c3bd5d804504199540ca489fa51a13993f9ddeea29968b32aed739f1c872c7c1ee36f8c6fda0ecf10302047c435bb500663064023012a987e3c8cbd4c2906576fe2144eb8967fb3aaefea7638e671b95110c7d963c97e2ae2e0b663ea6333955b5529af11f023073e4969160d9d75d00416b60c85f92ddced3f92e0f2f3c6d1b5bc0b279326e4b77718f3716e9b6f3f0ef3be61bddd9450302047c435bb50066306402303dace4eda69eeaa6b05f9fa3cb0951f7f600a20d72b759e9695bad5904f21ff88823881db96b70be1719c886ac4523790230397d3504844b056f6e02c3c53c99aabc60e52a1413dd72a58e132ee7cfde937461000237d2127b4746d117e087378b210302047c435bb5006630640230594ecd83611392ddede6c53b01070bdd860a19d83020aea3793953dc1c285c36befddd6c7da65522e3ab4ad7117dfde2023006d5216d44529d6facb65e99bc4a4f4d2a17e31b61525753bd131a7b086ed3536125763ef92e309e8f6555fddc7d6c420302047c435bb500683066023100dfbb1966331a19546d3d8b24a87e35a68c5aa2c45137a1610187936dfc276adc8a69c7e3088cd1f87eb6760805db750d023100a375b6ff0f6bdc12901210e6de94e2068d0865c42faeafa966b2d3e1c42b900277f64449ca1630a97525bbc73f4b99090302047c435bb50067306502301a1a647168ff3d5e0cd9569075e1e87d408987fabecc25e052844cc9841cafc8747630504745d1e4e47da90fc8eaba08023100b1bf05757875e8b1c0ed91859a285fe728bde379d51e749f3c88503b7cd65e621b7fe860f6086d34eb1463963987b96f0302047c435bb50067306502302557df18f6e7f03c24f3de97004ab90aba3e2d54d01612a8337733b81683b1e48e0018a1df133435ee72f537dcbe5e9f0231009b0b8e8815b72c82c41bf0ed7ffb19b8a0076c0836c29820be91c08f5ded4242c6e70ebbb398781d55efaba10da5dfd50302047c435bb500683066023100e5aa3eab3ae6cf53ba8618d85449911bb52d960a188bfb05cb3d075773a694a39b729e7c03faddac4318800c83105cab023100f14ee4c1629c5b97f26395aa66f24d9c54defa08dcc7332b75306f6576a5c34bfd9f8cc93cd2de154daedb4c0d6c23010302047c435bb5006830660231009a8d53b0693c0f6373f1e5577728b932b8ed9208ddf958503c546fb741b2347156df7aef0370562da7e86d5805e79206023100c2b583554150aaa826f4c39acfd224f52d7e115f6dc0601bb700c331b9e0035afc8973d6644ec26076defaffb920af140302047c435bb500683066023100daaab087b1e542d9988cc4d3176b8ab82f6412a54dc573d91723c02f47e666c9efecbc4d4f5a736ae6f99ce8da894792023100ece36a8428876381bad1cc32616241803dca8fae45d90e10aad69bab5f7f16af2af31e54bbfbaf1cfd72fde52be51b0e0302047c435bb5006730650230440c4548c10685c23d02795fbd868e95a4393985219439442c5cbab76d3f7e6c77060594bf129fe7db67f8bd64d42a95023100ce48b8e4d41ea8536f2d7c2b0f4e82d4d9a7866da5db86bdeed1a3438ba0d85078b5568e0e13a70ef771c3abb833fa820302047c435bb50066306402305e534508582f5cd576c3176edc86e0862c5d349f2464a48825e9853db9494c8ee074ae97275342ac4fe9de4debf514220230101000c295fecdafc8d081a497184a7ee781a852151b2c54cb1e1f1106760b4cfebac3e0aa4e9b1a9136c466d37942680302047c435bb500683066023100cbfb60e29cfa54953437470776ad3d83fc16e050a40a6c1309ec29fab80e3fc308d981970dc7fc0cc90b4e9cd3b2c787023100be7dd8f6ad30e803566b1249338bc4e907f6f92acf07377d5f00def8319262830b0c2c79b36231b7a7b629aa5d2425030302047c435bb500673065023100c6366d64222b686a2f870611a11ba26ce4f900944c8ed4b9ef8b38af687ad6b5e0defc91883aca129d8b2ba602d220ae02303f9002c1ed77121f78c43d9cda8c75d68064203203d0765593e7c47124dd790a484791d4484246586c9872351abbee600302047c435bb50068306602310080e0848eb676044d4cd354d4b432117581743337454bbb0502548570a74d763af0fec985205effe229ebfb142a6ded32023100edd166f4a5294b292695724e95c9c39d97f540bdb1efbf654508228f824026ecb5f6825e5eb2074e71c6f38edca7caa60302047c435bb5006630640230303371b41b04e8fae1d667a7bc509ec91202a19d51769f0b0655c8638b4e28a061e8ae9f24347c2369dcb192d7bdb18302302726c9472bd2af3252c33cc577f84e8c9b183c326bc9385805ed0ec9e77f8b84953fb78e6fa1009fc69d3e86b2b6d2450302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023025fab18a45f3c55e6bac2e07ba0bbeabb527ac82dcffa49b3918f630a5854546ed92ab0b133ec9d60b6259f0b9a6b8f4023100fdf4ff20694a3429f0e389c5f72b8cbd6e83aeb6f225683787bba78867a3eba4a65bc2a8bc683333a3e3900ffbdf0e9f0302047c435bb500683066023100f969dfdb7ae63527d77b1121d5a02777e68b8393de2337324f8e722fa47bc6192905526b3d54437998188f73fed0aa4e023100f9c4e0d1dccf27e03953b7ec4103290d46894f7ca157fa393528f34b03f6f17aadcae20dd02c8edb3207659583b98e7c0302047c435bb500683066023100b113481f20a88bfa9c718bca3a8fc81cbabb97249faa21290ff56c59e027db1f9b30b91f6fc2e1746a2a349b94f0f0f2023100bc587e6e77f41d452e29c5520cbea5d67be04c09b3c4448ac913e170b4df1dee519b938e08a724ead515caf0bcfaff310302047c435bb50067306502310085657f2c85193722bd2655388273f7d2b849fdfa61232bf2fea6b2e1af67704eed27ed80266aeeaa6e0ae414456d2bfb02306fe1e932c59aedb6e023b871d4db5b25fc73103bf5d96203adc81f3dbd2e8771292aba0e91e5b8692628932ca943f48e0302047c435bb500683066023100af52f9f67fce72bf61a0614cea20e85a4b33a4e8fbb92bb9d8c694362d7c9dbef37d726da9a5c089bcf60d8aebb3bac20231009444779061bbadc84182381db237536cdbd7f84278ca772f7d5268363338d98f395818174b89d58fca8f7effa675ee630302047c435bb500663064023009071ba6925f947043d99607010c397471f0c3f3381f29a71be3451db8289f0bba03932cd346b8c87589398403b01bb102304bb25ac5fdfa4a929fc4386a2f49a635caf324d90c056623e0184aea574de4ecc81ce2c0e2594a5762c5df3ab255a25a0302047c435bb500673065023100a18db68233aa28a0bf524d00a5c5bc1bd71676b6ffb8a18147675289cdaafb8c03fcfbccf7ed83b6ffac622a7d37ab8e02302a5b4784a22b18986ca35b739dd7e4ddc4d06cc42d718289183f4cc206140d520cb7bb4462593b14e75ed1369a66e4730302047c435bb5006730650230232640a63b1ea28b6ccedd295fff7b423a20cbeec54f5b6fab257f1737e5fab3d5259b7c8d450f28988c4a7d061033640231009626fbf01f6f3e5ec45a4cad165fb6b1288eeb15d60a539237bec99ebd287596b92060c56a8cfb657974e5e4c2c1a41c0302047c435bb500683066023100f6fd76e11329e395f787d012bc19d87423f175430a9e7f8922ef2801a17d42cd5dedb29f4aeea5321eff7f238be4fdc20231009bd9b2b386cd1135bf0b83bca6cdfe372a15658528d029922d1b458e23c0338a33c3d4b049cc5accba5d0faaaba9a49e0302047c435bb50066306402300c53789ae1c77cbbaeedbfb1c3113ded8e1d6db5051205ff811d547a1f920863d569af3e22b49454f7ffcda46e32b83e02302c4c96c23e3478384732c625ac6a823c7b1b216db3de99d5432a1192757106f1f1a025ecaeb26121030a324d624b39de0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006730650231009bb27a1e11e94b9272af5a75330c7989288ec39f72f2648ffd376351cc93e68093b03e23ca79b8fc5dd90c620bb9bcd5023065d358dbd6d9da03ea5d26f61b3894c1507948d85aea213bcbe055da655e87b596b7f2869740ff399f3225bbc369e1950302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50067306502306ac24b57a873df4794fad8efa7f1d0457aad80e82748b79f87b139d320f1c8f9d1c5e6c5be1011691793e103e1e05e0802310096d2009e3f0e7656d58707315c0c7fbae68693926e06d06ac3c8f894031f8e89378f6eacd59cd4c2618d8bab15d728640302047c435bb500663064023049b297c9e39b8a98003a8cc809bc9c4d7c931e8f6ff4dd2bc585a1af264a93c6ba168fd00fcbf6d046d2ffd9048ed3d1023039aa7de46242aeadf9604ac8eaed2e2511d8fedc68d67f7710c34115df3b44f8333e9002f5b4120bd9cde55b5fb78d5a0302047c435bb500683066023100ab3a9f5640b30a921ffb86f28edcc9a424393766c55f483d1e4f5074cd0e1384208d0b566b1cda296ab0d37a727bb93102310093380c16cc811e3863afd0481361274f2216f1e39c1c7d1ec946230d65ba852a3c6563ea58ab8eeaba0e70d9129425ea0302047c435bb50066306402304c9cf3c4053c488d1e6cbade5d8af167fd4866368db574a08527e7ca29157017383d94ea3c5f6bc433a5efe218d39c03023054e139c93f89636bcf0717e89b457374195f558b2a0f031668786dd92d223b828cb2967299dca4a267ea242d2d88da290302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50066306402305d6c6cdb773a10a5405d76c63966878569ef3d3da2881abfbbdb8d1990aab4a4d118d4ffe2a64af072ed83c3ad237379023049c0fbcf1e96a429ebd77529b56f07b1e8d3f417a1316d2437d57668deadd0d5ce9d3ef5fa5ba9f2bf438148b988cb9f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006730650231008b9cabe2236d4a8bf33fd9af82fc73b6260743f5bd2671ac4f567737f40b81033968694c15a21238ab317bfe0891cf580230739bf0e1d800549c550c0c12ac84c6b3185ced9646d7327e7601935b264882ec3a9edef6bd3314850d9daf14a9c163b90302047c435bb500673065023035bf0110f5abdd6ad1c71a0143a7077db01b9a4956c2796effca79ee802d87f19793ba45f0dd61cff509510c689f6627023100ad4d9125242fb0205f8779c93bc55b9ce099e00081ef51c85415997140322f6a1a549f0c1a62d904243c73d3ae9d66780302047c435bb500683066023100b200e17c45fe745094dad99d49278cf3c33e883601bee789a8e9304c8a7665b7fe23d5b7b806dd0073b3d478a29a7bab023100baa04a5d4726caee58d6c0374f33e29b6f55d3da279ed27292cff7185cee318b9b95423aad3b4146d0d2480d7a4fb0480302047c435bb500673065023100dd5113df8b1021e44f92af2499aa6f2e1c53c3d00741e6ef041482bd28de2140a392a0747f76b2f5645e750333884f5402301a1990966c5895f292a07caf01d759e91b6e77a225699f24e570e91d4c03e0d76f149984ddb66c8d5ad63dc5b7e8cbd20302047c435bb5006730650231009d6afee9618e0558b8c2dfc3f64bc98a5327c60709d6671471bdfdb97011185212109fd9631fe66f05d858e7f783340c023075637210107d631a681b4a125497c025c704b2c627caad2375d405b5453994d0daf5b602e0bbde6b20d5b87899a4ed1e0302047c435bb500673065023100861fb41b1c8665d5469fbadec03683bd5c75f1fd17057a8c8660b8f90da39d965383d5422f55dfd86f96382a4a88708802302ae9ae952de9ea9225972673687afa14c7d64a13ec862152e2ab03c78d2b037d703ec25b5fedc87b793acfab9638d0e20302047c435bb500663064023026e7564c89d3390431f098480b344e243dff9e11a9d0fcebc4f67a8e859a53a5290023153cab30acb15ef1c0eb5b5dac023021c9b6beae54719a185adaed192c6f0849a9146974ea92ba56090b5fe54b1ed9a2f2c47e1b5865e99b02cf420f94adbc0302047c435bb500683066023100ad4c569abb25b4495e01af201ebcadffe039ef8fab4204a24ff2a54b0626402d1e52587f3be80d4dc375148945dabd6e023100d20f4d16695f89f04fb828792886dd0f3e75477ab93f4b76c529ad5879e30e23494916ac9a43a135772c9e1e2459207e0302047c435bb500683066023100c56b7ddf5707d0739bb9175a4e9cb34d4b34af475c061574643e9dc4aff96ec5d9a726fe39009ae469330930fc5e066e023100f34c0721bdf4a9d10cd10b7a891875840a8166856792bb80e3e828ad1089cb2693b53569920ecd0ac26c0b8b31917dc40302047c435bb5006730650230705b4f6a5c29156f23bd3a167b4975b2adba687035bb0f2c18395635397d1e88098987bbde0144177bd923607cf44329023100d5c702af92fcf1105b05cce0df43f0a6f5ce2fca72afdf4221cecc6f736c3ae63f5b6d6df58a0a80c8ce3485e05f82d60302047c435bb500673065023027bc623919e06036ab1aec03e6ae2a20abbeae5b90441f4f8f9906a1194e4a9d20d45de339b5220afcf14290886b8ec1023100fb4d8a243ae586f8e4ac0972335c6e2637327c599e28bc3355c780d5c8a3028a1ef1be516fcc5a111d241cb4a6a1d36f0302047c435bb50066306402305bc0ae510c2b1842bc48a85bbc3e42d2be6449314e0f2592aecadcb9f8e11d92240a4ab89b010fe303aa6e4c450722b8023009d794182258e3abea8e52a7bdd2a07b34a821b522bb9bf8804156e7a524ad2514833bc3722c367da0731b91767ce9290302047c435bb500683066023100d2196163ace0aa9ddf193fe39ec4ff31b8e68de7839085f17cb95b9d71dfab061117daf4be9dbeb9c871d503d9b85569023100cbb96c18a27e864a8d6b96f8dba8bb7a21de6547a4b042125c3e159887289906f7b188a5f7b70bbc15ee952cc6b7d7480302047c435bb500673065023100b92ed1a79933b907480278f989f1567d284d361cefdd523cb9042ae0bb3904e4ad1bd814544ed0c4f6f18f2743323b48023030d07224373ba5def7a8631557bac10c9339639132245b00ff3b7d268d9d46ade264d1963db021606b4c0068525a26f40302047c435bb500663064023017f0ac93a2b22c7259068186b9cff116ff7c9bf5e819e8c22bfb796b0520767d4bf566f2e7ae8b86d9e1df3c28cf399002300413503320b4c875eded1f56de5d933b770a43f9710ebe5729aeb121e4178a046323e61a7770d9689ff14c6b6d90f11a0302047c435bb500673065023100f922fcd2f300618436646c94afd35ac6449b814cf411d6c8fc89dc2cbb933df3f38e3ebb4c9182f8a04a8a614808a092023075d668fed89c1fdbd3ef1b7c2408fa4db0a0954b9dc722194008fdc680731113bbb5df4408cb14970a36f9a5dc7494f60302047c435bb50067306502307363b14bc338f20f161df6c710e266b2518352a92b018362f7fc04516801b922f27be5641bd58f046bba489e97d354bf023100b77fb299b52821ed80601745a2e46b4ed090016f4d29773f91ba3ac01b6527e5bdda8bc5e36f2dd1932fb8c06b20bf410302047c435bb50066306402303534d22781c85a46f9d2c2556de59569398030fa4bce1bbfbcbb8708b313ae88e6fbbb44dbe831b3a8ec45c1f95211d102300fb388b954a49418edfe9abe92bf74d3e5a8cab3121cc4c1193437987c57be9fe7d4a67909d5a28375b84d64b75ea8610302047c435bb500673065023076f4ab146602a9c319c5dac9c1c8582f3a5cd18ceffd729c7dab30a08e5806d03402fad1f7505628aa67bada2d27d926023100a674d7be8868720e028f4ce957231a745047a16f5344dc0c26bf0c8c4f0057bfe1ec6f5d4f832d85c38212f8d17178920302047c435bb500673065023021fdef62d67ba24f4961ab582347ed243326cbfb3070bc6534f331f036a280b1b41a08d459995d7731daac999770ba26023100aad34586da976c5a5f2ec37f4a0a06ab735f5d7591ce44f3999de658f30783d4a19ad635bf366e0a8efefe4df6d652250302047c435bb5006730650231008a9dfd46fe40a0683c84036daaf174bf90e0fff3b5f15ea0bda306820cd0e7aa33d2f5ecd0130a37cffc71a86b852c9002301a4eb7969fa4ea3d8a7c4d0327463369312aafb8f8ad1229078adca08a3f739e4ac1d8a234e0334185a0cf49c26636510302047c435bb500673065023003762451473c9db1013be1c8764c6e358954a22127d99039dce423807d0c4659f1b413dfcaf0492f74599fbdc6cd1d0102310098f526baf651ad7787609ce91cdad52f75e0d3e981a8267b3d60c6abdf5d851ed1c2a8f2b20b6d75a3efb7a8f33b0df30302047c435bb500663064023054724db8a9f33d3da7e57375508ab35874c43599575e2c8190cc590595f493cd4f217711dae7cad35b0cffd934300b22023049039a7a2f327ef98f9adad681abaeddb50c76ac3c9d5fdccc8188d1e948ff79a32e1902b82b600173c5aacf51c858d00302047c435bb500673065023100c3c307a7d47bc3a91019326d1e37851d514dca5a92b744aa8b09c1dc55a4f7ec2a25583a229d3665087ff19109af146a02306fdb648a9604e3762defa03e96743bd76a90b711d765ab58081f1b30d878992a75103a2b03bd4af399142a871accad5b0302047c435bb5006730650231009683ea7cceaf9ebc2acb5cca5230767ecb817ae545185ecd5ba23578b7136e055ee15bcbf74378ecaf331397e39f2ae002305e1e4b5b70d314e84e1de8c9cb24eb356c6823e4fce2c13d21b92bdf7866b1c6dd80960c8218ff98111990f63796e51b0302047c435bb500673065023100f7ea1ffe351b3b08b5b178456c2e288a3194e3853de49b75d7ac99ac2eeffa52fba75ca5bf52a77e82b1bb2679d00843023030d622fe2e4ab63127d617f94392b0f78f48030920b12f27e7de1d86bb90220b2f9a04eb09149d36061a74247bc774750302047c435bb500683066023100cc187e9c8f5ff84e96857ce2b8111f4bc120c95ad4d7154c15a1c6910fd1f985ca14c72eb5141e7c6a70b70b81cf224d023100c95963f4387777e4a1fa6938a431d4560169112a62a73dc091f03311b1b1f75d49ba7a5ff98ad63857ffeb63cef6dc400302047c435bb5006830660231009cabf6c1b374f3ab5d11ebef753e3cc7ea8779aa34a9c691b890245ea55c52ab20c0354036eb15163e05dd6183c77cc9023100d34a2127cf5efaa7121bd2b5e5e530c3a6d8f95a3eb5baa84ca71145c65f730076f85478a299e7162f60c703d881f6120302047c435bb500683066023100c7d8a9750a79e7b917e88ed61fe0a3e10c4badccaa5a6a241def346bfb7db1162072887eb7030ddacbe8195cd9cdf638023100d6f954136c0b94393f446560a27344949f306d7925b1548eac65c2743b30c9c5d0a54c6d805b3e4a044b2db1e101965d0302047c435bb500673065023100ecced0a58a0e04a14ad54caec526e8f91ba738c15f678a07146bdc279d620bf7cad0c655be56764885db18bf53ac20ab02303b683e8def4ae49a1a075a9983ed7c9d81a94f4158e9156d103967bf13b8a13128e3aa7585de72746f8e0d9c6a3469700302047c435bb50067306502304d16a56fca80ff413322a1be1fe4f337a6ba8a695723672eea17052e68251900042885f87769a07c735bd347ecfc37c2023100dd3af515a05e1cd78a8aba26d259010d248dbdc21a9ed376f34565600a4a4d200d0a3d15343d5233b809e205472542690302047c435bb500673065023100e92cfc5a693e8e26e920d517a750897763f310463da551393153dfa26ef9887a6f90ce36973a0fa51dbacd24b71ba12e023057abb8940a09844d0a511bd42aaaf71e7fd68d49f0816aca6a6824345650d2f9b2a9538974f1a73f536f1078ed98e8570302047c435bb50067306502301da70c40bbfe96c4f77ae5d6255f8c0432f1e66e72b2423239a1dede027bc8e2cbd276533d27905e37d230595f7b9a0d023100d08a81eb1d4a645a157aeaa2d472993d589f7abb1b20df7321213adef6acc17f4a9f78fdb5556f27f1e36241001193e50302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50066306402305f558dab22506b844f71ef1f5253c2f1312198c8918e63817229d7b5c80ba244e6b3a5df75a66af1a2664e5c1af8d514023025eea83ccc0b234ca0969ab152882fd94742c02f2da4c1175c248406d7d367fd6e0e66c248d3d9379c6dc29e60325c800302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023100934d88911b2c5a6a91cd2219d1bfc6a033b593fb2a047b848fe162caf13d521b18d4827ac32bf8bd5af155ca605a25d402305626e95a3d362b788eb52d9c9d705d97129922cac49658c090e0dcd66954bb21f3598189cc5662ae589ec60367e743c20302047c435bb500673065023100db8b93b0ecec75cd52aa4ff1d7c480dc8a4df9ade4b09f8f933d2ccbea6d75dd2308ad0170cc5820e5d11c58c3c1444e0230721aa5f4f01ea6009ad30005f6cfa0562919296cdc09a39b449974f415fee1a1e04738c0ddf956c71f1e12a6c13eaa0a0302047c435bb500673065023005e4f4490f2868117e2e29ce4912ebc8a109c6f57b972c033e352911a67bde5293f7f83802ff0b7fefc81c7bb385b1690231008cbcb4fa43f56acc6acb0a91e7a84999c2f887a418c627d43cd458f9c8653e2ccbf9693b9e5bcfd461f786185e4885af0302047c435bb5006730650230033ad13aa2fc87b88f824e972e0c9ac72f055c8ada422518b6520da8e57a6d0d4a307a06575b7044852a4d488b1549bb0231008e9699ff2763f97a4bea37c060dc3c050ecc307b1a6692552c6c959f179ee0a53cf669d00489001ed17decb1a4e8ad590302047c435bb50066306402300c450f80174de7a8ca2306b2c996942aa702b9500e3a1934da9d9d9b4619ed5fb000d914b2accd1c4d35425a1982080f023072b64dd5e8671836cd8aca6897d8e536df1dd13ca591a26916b6eb3efbadd5b95845e8128ea3bb11e3b5813d2c6adeb00302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023100893c5188b85569369594f3b5ae57e49f63c9db6b04ce8fb8096a50ae9aec3b4aacc1b0a4e73752d76572558cd1c43b4102303c60adf72f4d60bfaf9d6727b40b8f92bf975ca971f15cdbbf0aedbecff7c0a9a87483809004d74b32c2596d3797f4e50302047c435bb50067306502303ae4782b16220b4299831771cddd3ba8b1df0d9731200610e0d8537f7af0efec2ab2972e7909bcf72404992d30b3c826023100b62da0dac642eac20ffa4450af6c324af369318538729ca5325ca155d01524c4d7a9df4f5adcd6ec810461888c588ae40302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500683066023100c8b04d978bb3cb8904efbbeb18a4c2e1f0509d43a9d4061fc8f3d0f6b79c6aadbc8955cbb501fe661bacb02147e495b3023100b64e5bd1bb9dfe7805181acbeb2b635815be290d9515d6880c7cd5860b902c0643903d388b5deb51f0731135794c97c70302047c435bb500663064022f723b038a8774078f13383bbc5791991d5a6009d24e4aefdc6b206c7cecb9bf7ec19b79ee2e12174463dbc3af9972be023100b9333195627607e217a9280f8ee05db022685c3a15ab7297e632a8954fe6f75fe31e4b1ac30e87176ac4d065cd67490f0302047c435bb5006630640230212c9a1a7e171436bc1c2f12611cd6ce96d2dc650864e5000dac3bdedc101811d003fcf1be5d12ab9404fb8fe9077b2a023053f1046e0a76b8189b79dec5f5efe73647dd2a6e448b55c951a99ca8390a4277820498afe73b1a751ae38cd3947ef19d0302047c435bb500683066023100db1f7461816c880d341c301d9c2b79d574068b8245b63da462a780f9ab45621b1ba66552afd4ff7d6d5f3327c3c77dd5023100928bffda2f8df984c13817f5aff003a74b41e98592ef1199dff03d4b75eae6144d6979cd784872eb90f39760e5c9c7d80302047c435bb500673065023079a62629b773bfc939ef1160147a27c4c787d198b8797f1f72818e2c33faadbf046f532bb30d7d25b0f8bd8bec72aaee023100b924b4516c744d23f5961aad91af54cdd3fb4ce30e73f9d1deb03961eacee5bf9b5e9082bbc5b1a16787bcb991b2cede0302047c435bb500683066023100ed1b82716b99c57e2d7f977f5b3368fc1eadd10ba2a6dbf84919052aca4d1a5d006180808b528d1e177f25abb4e15228023100d920babb53d942ae9fea3eb571c18a0723bc732aaefe79e60f2a13ad4b22192fc92ab49b4d6851874179b029490772970302047c435bb50067306502307c0f95ad2c34f60461b45514c14fef5434e8e3f889911052f668a318c52f0ac8f2bd00c7628cbe211704d407dcf98078023100c1ea802a3c07de512f59e05f034bbcdcb077c8e6b4b784b925a659c6ee7262ce9ef3476060ebb25937cce5c9bbce7c9c0302047c435bb50066306402306d9038e2d7fec4926e4f8ac277e5293db5dc99c4dc9bba640f1c78d9f83db936c0f6763ff25dfc59601415f33571446a02307cc56e80b9b8fd4b6e0c480b1e8e041039543d9cab1c5b8f4aa9cc367c2286eff1b8745fede76615be679a967d95c3e70302047c435bb500673065023039e0cee6ee174b4c06f222c64c98183bd8a340183e10b9d4d9fa53c0edf08de6fafbe19e105a9339e6bd76c47f27e5bb023100f67e63ddc8aee1fe503e2aa892f5c581fa00ee36f8de6049607834570ae717c9539c8be16c15632af5ee0f9fc14159400302047c435bb5006730650230792a9d8f481118d1d2e6e079fc91f57b4a36df9419bf0f5b8f627cb1084719bf37db4ba5b1b52180f091def05f9364dc023100bb364225c4f438c415aab475edb24946e1c3d6af1d6a7397baf5440c803c7bfd7430262f849890ed747ef7ef1e23bc220302047c435bb500673065023100d2dd69f4f23e40b6f62d495eb200f7485322fa71c1ec611de1c2238b8722fe0dd894fc924fce3e1e644467b69e266a4b02305a484a2ae6752d685ea96c8048007c9b9ad952c071174ad5129b4c3a26b017fd0afbe2ab7f73ff7e233471b57f0188c60302047c435bb50067306502307882449aef61b11cc4bf1a928dc50a50d099a3cc20721077107e84d670e2b1ca93f0f08f293519dc0687c2c3480c867402310098ce25dd972cc2f967b79b028af742f66b0067def92b5f118a836e5644b2d21341dc93b14d58c4f354035daadb58c1d10302047c435bb500683066023100a262124c90917dd633e238ab163124e659e595a6416025c6e1e0e0996d8f2a26effc283ce2f9974d7bd431143ba3c30e0231008c40a4db9c203f117f8e72c5d2b44abd5afdeb8df428b2857c2d8b3891426a46dab5cc18eff46a8d6037c9d26d2ae4c40302047c435bb50067306502306865eaf53e75eea6144ed7d33c7a268efc123d12042280b7313e147d632b21ea05c2ef993c120e8d637eff2f28707158023100e794f4fc524a42500ace270158fb5431eb278d46acc57af61e89ac925d9251c1d320fd6eb431a5dd81f0ccfb5a90ffeb0302047c435bb50066306402304f4e4dc391e8c9d0b11d5e1859d659aa482f6ed42d1ca0e064c0f7e8cb97a9dfc7d5c6e613562ba3f6f53b7f53e0741c02300cbd1a07f1429f12cce75db39d09902e6ea9b1d62ae990b1b0ccdb0d94d6f19d87f20fae87680fdd08ef3f22ada1bf4f0302047c435bb50067306502301591406c02f1c3aa27bbce5bd40579875b14f9b491a0cb25ba2af3e130595e414e67b18ecc592b7d066c1027aaf04c42023100c2661c766211da573ffa3ec06b48bb12542ff31716a168a91bf35bd457db684b4a3914f0d90fc5bc1b342231cf1d0f4b0302047c435bb500673065023100ace80e46edb7658bc40d8876a298f9fe0b8d758cb60ba5da67815b083271d1ed061376853594f641cd1b7af94f098ddb0230520736c53bf7c5250b22fa0ef14eb43ba88700a1c0fc0ba3f5a936d480510a0d2afe14216e3427bab28dce17b71938ff0302047c435bb50067306502307ec0d0a4b9010f229a029f9e31345ba54fbc52c6661a7585df446370bf82fda4b459fe317a3b1f2c89a7789dc6568ca6023100e926cbc40e3cdf053fb483f7ab156b5877061a2638043e39af6f0e019b1db80dbaf870be195230f7eca3b46d331204810302047c435bb50066306402304e562da5fc4dc47f34753c965d5f549a0d0d6e0d82241cc958701830d8aebe3766cc630c9b5044c0dabc9ed33fbd687c02301c960be6663f65d0af40c4b06a9ba4dca445104ef573c08e16716af739adbc896d87df52d837ec5b2b95affe05c79fec0302047c435bb500683066023100b748b9db18d03a1335631fa5f3d278068d822c36986fa2ae834eb6528e535f9dfbbaccccc08f2a9c964e68d8476b1fa6023100c5b8780167242722396f87eea2e37da1d7d4d9c876eeacd192dcaab48576ef0f06c72954c411b168b57017778d4764410302047c435bb500673065023100d6a03e309e887b9a1c118a5cf9572435457358b5ad6e927550b3cc7d5e5123911fb4642aba589cd810de72184c8b5aff0230609267ebd95cfe4f78942d9ad4cd7dea1e83da089fff19f44f9c413965d7387bb3986678b1d087b23e007d44f7b7a23b0302047c435bb5006730650230757e0514b6aa56b7f7a3a6c6e08ecf7acf3debf7f1e68631045b0027654b011e239e9aa84e2b875167e3ea78f5c0e558023100bc2879f9726760c56e8706bf4c9fc20b21b878478eb609f2d64943020ac50237f0d95f7fe007858249e4937fc3ae731f0302047c435bb50068306602310098fa4a66d6745b4c0429cb64e906c981a524e903a570fbd8a96e021e1648d0a5f5957d3e5f222513406c61ca7856c0f002310097d5f73ded5629b9d3d7158134559b5c88dc8f6013bd28f60564f4105d6290b35c2016d844ff34e93c532afc2b36562e0302047c435bb50066306402304e1e5edc9b6d7ec46f97db9958f6702ef6d36bc47cd949c2f71d63bc1db5ab5fc1a1dc27237bcfb9103a9d32ce035b5a02306133c5ca4a8adc29512d7bfc3fae8a02ddd11a7bcea1d859350510ecc6fedc947514e2336ee6cf5356e9b4f4ef5318140302047c435bb500673065023100bd8d79952003c0551f3c84fdf68df4c99493e552837ff650e008927367ab7789cce596592ad04f5b5cf7d74a28d4509a02301e47ff9b2a5f001dc19f93dfdd7c1d14efd46dafb5674fe70185207688db41681ae27caa546d22ea63b1783f8cf3484c0302047c435bb500673065023100b8fd382946913636cf422783dc37d08c73040b9d3a3ca774292d45c9f5920ae8922ccb2e5e29968fa882916cce4cfe5902305f6ff72d0f261c4d15a9611bd77b57f9adbe44b940a9069700bb17ca236e44a7532e06032045bbc81e10756dec7b6d1e0302047c435bb50067306502303c2f6b4bf26b855c66c407d93f3ab200afcabbf6344a9ce69375d8d73ee48ad6c9a7588e34fb14a17c280fd56337dd5a023100da7b3e08ef992a2f1487358a9008f3bbc79353be7c70e3a936a4d1650c0090925ecb74012b0014064612f82e4d80add30302047c435bb500673065023100f53d43b5a0a5d0ec2ac35a1d3724549cb9783b4420a6d9db86b13a0709ec55085b2d91463efae676a07207782214c05b02306257cb810870b767929c5fc15ed5c1251be3478ec4d2cc6d2f608dc732f5fc5b8ed07ebddb32f24619643a804bec52ec0302047c435bb50068306602310085cb9befdbb4a4a886fd118edfa06d25bb1bb489223b80e284905832c333ff27a432b3e65be5ef5cb140a436398e24d0023100b761759e6493a1e538e69b3f4c18ba9180ea05c25a92efe8d2346f70b58df1a66c5b6d6e503367736a8e43f2ca773a800302047c435bb500663064023071d6ab120d37290a82f6a9adc34db9e8a516a96a411c002a0801b523ded6757abe64c3af78ffe182e5b01a86ccce2e81023077b9412af4e29c1516a0cc3dfcaa19939dae5ab6b3da6320fb7f845a573588d68757273942ba4e1ac579e9d6c20bf1f00302047c435bb500683066023100c8a7441ced23c296dfdf8738d6ed2177990052a0b135655a57793cd52fb762538f3be14abd87603db7fe4f5882fcc3ae023100fc68774f8de3a558ab2f10ee67a5261291c5729efb7c46ba467341819b9e5d07ce6fd212becd6d37b49f349c64f7207b0302047c435bb500673065023100bb10c2d9e76c749c7e7546f231b3f4aae6430a68f88a6e25f8b899a6db8a5a2d449a0673b4dcf5a698626b08b41ef3e0023014f5f61092a6932c4603a355c8b95f201171bcc9ca41927ce108260b0e9489fc46e4601789e4b38b842dda0b879cef380302047c435bb50066306402307891f04ff67efc5dff7f4b2f86f0d21b057ab1699346a91a93b54e97bf85c417718dac4e49ba3b70120de96b19c0aa60023028f15ed297c28e663a10694d769c988e13e52086f4019b8cbaf9b56cecdbf91bf33d84a90fbe72841e686588e5466dd90302047c435bb50067306502305d9520c714bda27a244fefc5b743e9503608c6b504947721b7742ea9c91ed300326c5c4c710847567bb6c652d709f510023100b8fe245c22b5240436657a6ec5a190e05dc215ab27c463a85c46129e967b52638a7429e5cab6e4ddcd70d9b800f735300302047c435bb50067306502302f08fae0c572b24481bccc82ae9eccf5bcf6d38c049ad8787b5c6e30fed504e3edf510850e582ba27b001f036c60a588023100db4557770f087390dffdaafe8b4087861efe77746b0b00cffaab554fd5b5827d86b816015b79b843c2c83e2140fdb50d0302047c435bb500673065023100faf9e6da6af904a26e4ff549d7707b00224ee44df07462565060e11c1e02866833190b6ea78fc5ba54db5720270833dd02305372cfb8c2c7277e5c49b1ab7bc3fecb4298617a93703baf95837f41e5efd08cf7d9d6f1d536825c3ccc1d182afa1a940302047c435bb50067306502300d706be3f7ae43f86a4f7194ce9421a7640022c5f94eb5dd7a4354456d3a5d74a7c1d45b4dc2d93d9a7523b6d21c5f35023100be8880fb234fbfadd9b773d6bdb21af50b73d0108906bf359a1ffd2db51a3a2b30a6f0493c49ba689ed7a0c24d4e6c760302047c435bb500683066023100b6fe6c01e2eb3d680a85e7f934384d78a14901981b6690c78d6f1f77a2c3a06ff2a495474cccc87352569bada932b58d023100e9feffb7cfc7861b2b09d4c224edbb882e4216112f0794b9bfb23b89bdb824d814e96762c2d32635197c1eef9e4a90840302047c435bb500673065023038cdfdbb9749ca46646f9ea90bac93c0afd4eca59383f37aad4a721cb0f10011de28cbe2df486140edc7be83a3fcb7ff02310094116c869c9b791174333c74397dd02157b97c75a2ec6437a707f96137489e6375c84d5c3f96f5305da5d52a8ba3017c0302047c435bb50066306402307175485cadf2d276f25abb1b327dd4ef76fccb90f4add8b6117833fd3ca76cb18953a3a464a2fbed3f62112bc47ca12d02304dad8b4e09280c740d01df78c72a03e97d1a7ffeaf42cc68db83ab2f5a927d0bd9e46041000c8e76bc63d8a07d47ed9e0302047c435bb50066306402307492843b97bd2f89e18df2f2891c0f4f04b0c7f4568dbe8c9d790abe19d3a74d2776305d2a00ff4429d595ff91ce6c7402304beb1a59e6b749cba3ef5e1d55a738494f353969eadb7f81e92efdaf41ba3d4fc76a31ca4b2affcaa9451a88eba2ed750302047c435bb50066306402304d34410a1f3b0c9c3f9e1eca43a8a1e392c1d0fd9997879ebaf30b0a72dc2289b24ff5a1311605c3a88c9dd9e7420f9902300a8357dde3ca93f4b6b8a2a6f09558ce0d99aaa8470f1f54e5d93cfcc01d8726b10b4c7e084a7cd1d1250e886e652b5d0302047c435bb500673065023100e9b52dcf60252d5033a6465859fa113a32c87bd8589039efc2ec3c396bc2c80817d12224cfdbe47920736139bdaf7b0e0230793ad0ea8009ac4306ace8503ec30b729d4f51029cb846d5a4d4d9d0afa367cacfb399aa960884428b43c43b474fadb20302047c435bb500683066023100aa07624b08117d1a0490fde45dc45f27032f24e0f3ae572c1fe1dd6cf408ebcbe9367206b52b43aee1e3f60dc6a06431023100866189d4213715636ccac1bb5a055a9c80ed4e43518f4b4acb370670f95cfe6b1e79616b6b8c7f59d32e8a8c7e0476ca0302047c435bb50066306402301028a59f515b7408d7f84ae9add9027ecc621eece90fb7e046161a9a0383e9da720323d2f7b55b1fc309af4f75f6dc26023064ad2944a898eccef462de92f25c638bd1e5be4e309b1e26c1b50591f7e8c325aff6d827b29b2645453cc5ea3d0123280302047c435bb5006730650230707cc6b8ecafdfda03d4fade88a3115884a2a5ef6aad1c74aa7ce988cf92738953fd2caed4c231f48d883cd38985e574023100db410f22c8bfa5e1d9d3f6cb4cb2a511f1db258e98d930386edee6744a504dc6492506192edf6d79e50d422c8ee034a90302047c435bb500673065023100c8753addb11bf462087efb9f70ca4a5b15f1cc336878bb1c7dde5d3acf91743989b7ac18e67af7d64d75fb9bebc963480230207850a5cbc8c791f1db5786b4f56256494c4a73c9f85c4076718d1b33e0caeca05f9e02459f29493914679cfbfa57930302047c435bb50067306502304f73b9b0d6ef7cd12e4877da8d95ebb15fb17001c3b8b336550bf40b20e37fdf5048b6374e55d4409027d66a3277f652023100e3d8760f63ba03b16f276f1fc7ef164c0308bea1ca32b829105420ad622edea3f191366d606c75f173f833621f9c34910302047c435bb500673065023100d87782d2708c5627599c44b64db2f4174fb2a54c9bf3384ff6ad92b1ebc21e7eae3fdd4c53f326afd169c79d08a1a985023008c992d05b02d5802a1852c945afea4daae50849ed46a57b64d0dbd7fce9b922c53a2d5f11a1f2f4c710b93b90443a5a0302047c435bb500673065023100e407132ac721dc7a69fd6f04122d8f998def9c38b783bedb2ede4901ad0e6f9dac7e2d1bcc65bd6bcffc282a341f763c0230188e22106e4740f1dc4286ebdff9e9276fdf94952f679b56b7bd9eae7ce93d60bcbf1bc4ff0f6437fde3b5de6479dac30302047c435bb50067306502300ce936e1a32af3e11a426b62e123a34c1801823fbaec202122f9cb061f9ac71614857fcba104ba2230902dca3a4cd18202310088ec3d0b6ca89d0daeebb73f8102b8eb380dfc97719f7b305660a9091d7c96132e8cab9c2eed96dd205aa73a7b3c74ab0302047c435bb5006630640230162f1dbcf51a0447cbe2257dda2a6b717827365743acf8ffc5766f6aa8c08e5f5601c667b55abd39994bc23accb9dabf0230625a98b65ea21b02fa5872af410764213096015882cd3bdaba8b04b6565b669a63d20344da7a2835f3e8ad13681f03c50302047c435bb5006830660231009c3b2b3cab699e85f7f4b0f6bba065e08ac463347b929fbe78741b1c22b53a5ce2bb82aa33b5f22836d62f3906191cc9023100fb26727f22ae8ea53b460a88242214196f3b0cc3a771c145891ed2a88175b4af7838cec5ad260e1158f51f3a646232460302047c435bb500673065023067e8016d54e2ca26ecac4a1609ffc64a3a36f2eaf2b8924fdd8e1840c236ab28f6063cd3409f4139e308485bbf15423e023100cd0112620c98f37ef36a0b092da9f9d893e0c372c46c64c26c4c00e77ae7927d205f6827c50a5b504c4c4d58ea8c0fd60302047c435bb50066306402300e3da044a2b327a700cb72ffc168c7e55db173a61f06203055392d9a5bd91e8600745534480f51e3d4282b8cd45ed9dd023047fe0a70bff97904661aec7739b830a172d91f0277ff39924d5a206f5373a9df07953c31cf39ec8f08036b77d90d95390302047c435bb500683066023100d1a92e815b2b201963f3e1436b49781f0545d4eb47b947ab3eabf9b8ea06fa36096ed79cd22ac406c06dcf59040bc3ef023100d5004b9287b60af840cedf9b72b9d1aebc20d673628f48c0bd3cb3f70fd6d0c7ffd7096d98c93eb7de174aafb3adaae70302047c435bb500663064023003ce0510f5873ec234e73a6c78cb59eac412101298f05a8d1435075525a6b4b5d84a61faf9660896c5f9ceb6dbf79b5002302a40d3874d9e7e96a6fe441ce15338014c232660e3cfbfb0969e73a1d5ac1e806f661d29ccb805367e9683eac58664310302047c435bb50066306402302d89c4e879af12531bad4a577704105783e848c42606d0ae1f98f86d07745b564825a974dd33713ed16570cadf2669a702302fe137b054c0de21c27783753e9c449789fe1a6f4fbad8ef0cac8375020f82c7fcaeab274b6526661ab105dbb6da653e0302047c435bb50067306502302be222c980e14c04d0178a7447c2ff64ea10dec19c7ddd5ecb04c5dd77773ea8271af8d627958784e967c337df357bd7023100f0d2e3f78fbaed9ee566acce2fa4ace40850e2c88ca397ea2c76d51b7c46a7feef37cb30867aa2d99ea9f0efbeebef620302047c435bb500673065023100c6b56ffad9287e86c0ef6f9dafee922c00906155913af4685caaff3eb1788c4190458fc29dcf50781029a19a54347c9602302240cb2f22b6d8715db82abb846c46fdf056a10945c799b39b2b8d0bf6c64f0ff0f9fc4f8ce12cd03e29fcd52549ae870302047c435bb5006830660231008a096ddca0a5f7d2d03874b2b598532ed43e44a687330f7db4e55f1cbb598a1e09fd1083b34c4ad314f08a665851d59e023100ee1ed41c1ba3c470482706c13b7d13425c19b836f2c7e82d787abe063de808370142622643627b29d6036f4e8db791d60302047c435bb50066306402306350acbdba872fca5034527fab4d0878972ee1b4139e29a7ec0981b5ac24d673a91247bdad4a30b12b51def559d5ac1102304ae127dd7ee42134c4aa8341c40a61a2ab776d1590386f8139eac8c212727025f01e9539002a9970bd944f6123367a7d0302047c435bb500683066023100e630e9f0acf903b6624e7c009e24994e2fab76a756684969fdc5e4662187278f090ca8a513c30a8b0b801f5a0c28266e023100a215f2bbb6e235dc112e8b3a5e57bf33750dce5ec203450341ec87cf5b9b649052d06ef3cc7a833d4b8bbbe5a7bdb29a0302047c435bb500673065023100ae2129f318b07d4a2b1f2c35777934af776cd707e6a1682533dedcf09d4bfd1c9d20e73fc4df0015569b58a58cc20ad202306634e14f1071be945b213710467141678c61563a62cf57f502838d100f49ce74a9bdc4b7e9ca6778c89fe5dded82e6d40302047c435bb500683066023100d0eab93c1850fb69429d1e3568c21e0c9e55fcf85f1643ec7f61eef63841addb2c7f89ab10b4435e7d7b13d7f286fe27023100967e5257d0012786bd4ad5f0a55d09006c2add012af775194e95e60a42c6ee856078ae76240b8bf0351ffc885ddea5630302047c435bb5006730650230092245d20c71d04b027409a55341d6598159c1f2399858f185a79640b3fdfb06140a7af1d24b67a84621f4eecf473d55023100c6781f1e52700dea79ef1d817250b3411415c596d93aa539cf47bb0775a921191159791c7c4d7305cf8de8e106869dc80302047c435bb50068306602310081f3570a2cea9b95dbc9f80ba2c7581292642c72711fe316c245759c5aaa510cfad09003c6e7a9c870cbd1883af3f746023100c914b9e47178a780301faeea27a6c2a47f59754e43d4acb52e5cbccb15cdf6bc836d604136f55454dba9da9839872fe80302047c435bb500673065023078e967d359121bede3fa956174c67a3e7b06a0972efeffe9630283de08fe763192f2e1bd9bc5565daa4e994e12c31436023100d19ba8cad922667d7aba8dd8eb8e0476b8de1e29ce4ae305b6587aed3a68f963c912ed6916edcfbd40f278857a9a3a380302047c435bb50067306502302148a6ccadf8332efd1917b1dc921a18bd17775b4cf940ebf1bc5fe97df558cc6178f883d82e3dc28723ce905dbe83d7023100b024ffb8f3f1f722c240b1952afcbccea84a3b9fcff7a74d30ac8f62a67442274acc9bc9974b409972001d7c7c2475e70302047c435bb500683066023100ce56d22fd3d064a0186d117c6811750aefba491527f58be5dee04e3b6e0591d26623fa4fae956be2059937abe8335d860231008d0ffe4d6f7869b805f0d4ce402ab4c7d59df2e062494be78936fdfca0f8b08ff22bc1044b2890a2de185cb8eb67e82e0302047c435bb500663064023025210cca7baec91c071ef2396ac2acd62e4223f089581c6316b50193271b04f783ef6b3ef6a9059f11e4598028d71cbe02303ae4ab8fb28920aa278efee8fbe345092432c7ca2a8e90e15ba657be29f3a21ecfe962d58a4ac809b1cf94c581c155bb0302047c435bb50066306402302c771e28ad2f4bd0d130607440be6308d3d1d802474cec08713a157e7170e3967809590b98330dab4db5f17f104b428f02303e9e64f9a7c78ededa568af4e793bdd05a4c6bd6600de9f5ed72b74fda65ea4a57a81ab193bcccb68f649e2cba4deb480302047c435bb500673065023100a28f0fd74221c29fba3807fecb14a4697747219e47c5a656b12348bf27eeaac02e68249ad4024570488031690d7e20b00230282b03f563c162857f18bec2dfc8598b479b3f9b8a273faab1201c200d0e526501693660ed78d2ee0b4cc48b7ac4bd0a0302047c435bb500673065023100f38d43f21dd6bfc92d3f069f87996b9c922f45d4d2b4523f89dece95e822c89ebaaf4047d1c81fef2881f2d8fd83a7980230110c89690b1b755c28e9099e560c4ea564ccb36e31ca11d613352d6e78b2558e7306e38bee48e1e11b62d94377641f270302047c435bb500673065023100a8abe0eec7af78faa0c3642e20a5961f4014229009fdcc4b50db086ca518a1c20b53c3b6da3232ef44e383deb68b55b702305352609aae2db63a04b521f9d570b42f02c4ca6b6d50f9b7d90276628273ab2d6bc85fe1d3c57774a5ead39aaca9b0580302047c435bb5006730650231009fa926e73f8703fce3458742bcc3b2c0c03e6396a1939d318a2d4d12af800a79467f3dd47bf99c31c291ecdade9288c702307c8e931a6f343408d06741c78d2287c978a145c54357a79dfb87957993e4540b28390f8a95ff23f4f10f588ca94d46a80302047c435bb50068306602310085de281ddc9a2916de781efe4d0a37e4b223aa711b1b8f2e1c96796af847b807faacb21341f7cca5c73cccfb70732215023100d9c87b2884590dba30c94fa3a31576fe1cb739a3a591f38038240caf6c27c204de68c973694ed2b5edc3b3809fc26ac50302047c435bb50067306502310090939f232a78465b47863932a108e35351fa66b369937b8867935ebae22db87bc909a08cc0ff64dfb6e5d33267f47a7202303f924fe858805ba586b0c09ae3309735bf0d498e496c94f88deed48899d4ec63d2e188078110c1ecc148c2c862f420c40302047c435bb500683066023100ff8be48f13e2fe91f46b299c8e87876bde5968232dbef89710b829afd7dcc8c01dd4a30794f452eb656b78f1c40a99c002310084b77a77bfaf6e5fa71e7876a673a962909df65b2ef11fd643c8544c841e19ec6eeefac4ea8ca3ae6ece5273f4ced4c40302047c435bb5006730650230624f8fdfbfb70a4ed0bc61db7b09439e56703539fae96faf0c1872efec51d8a5aacf7a7f470d33527b91c054f57cbdb8023100a0ae45e584b21cb8ae446f20e8e0e42d8dcfe3ea7fdb9c551bb688a613924feb2e3bb805d777975ddaeb3f8cfd7978660302047c435bb5006630640230261fc05bf9bd7a85e96bff44f3459c49377f49190358df032ba3f5f8464fe28959004551af40586e07815f110413a42e023027646290d6bf24022878be151ee86d2284e57db226f883d3cba47e227d86c129c7b0cdd340dba9e7314288b111cf9f160302047c435bb5006730650231008ae7b871f519d04e4beb497d85268fd7ffec9900a74e8f9df66cb03ff2467997ddce26392b34b3d1b5a7de6239806dae023043d8d5f1195d6cc5a5091bb8feb87402e520a0baeaad48538c21ce8e5accb6beb15b5e7e31e816fe437f8bc77efb4ca20302047c435bb500683066023100a8cc86a49ec828e0a8d13337a69c3c2812e5a9355b3f3e5f53273fef46cc1848f76987d4626a02fb7a23820d5f541a52023100d2284680eaa4e7f29ddf7f883f407f36b1bdcc3fd3a2a00e3e05e31429ae53cf79da99934f345b87811ccb88f0330b8b0302047c435bb50067306502302afe05912d06efaf5f2dc44bb5df8f37b890a6d6fe68a42d006e29497c2486e2f2a51fd0fb92cbcf0285f227a4d5df01023100ed73e98f54a40ffc9ea130218593ebd97f02529bcd22e76dc9914647572fedc5ef7c1a079d2cbd319bdb507a04d3d2350302047c435bb50067306502304307439d77907f3973ec09832c0906a360d0389f737394c7cccd1fa7e12d30dffd6b5b73d2ebdc5d875a5f5580bf5375023100f64772b3e006486bee60944c40afeb0fb466a2c098e630dab59beedeafb66a947506b5c3d1ec8e1d2ab09ba3068e13110302047c435bb500663064023068b095dc5e2926e45dccabecc5c66fae289b5e27159ece0137162c7e93260340c31007462b1c10382643f715c7d4def902302c1cfcabf823ac958a1676ae39d79ac5593afeea51fbd1095decfc27835fd158d1421d7777420ce669d3bce804fb27890302047c435bb5006630640230431bc309707f99778f24b755bae718525cf4a54e86591e1044c46ff02fa655d2c7608767f3cca34cda281598998daf400230227a2e1ae292365398baf63fb179c07c167dbb8698590c98757b0861611df6c870b28e36f89fa50fbed2bfe4bc38e9940302047c435bb500663064022f134e3f3bb3bee4d936d6eafec2ac574aacc621223e46d1beafebf2476bcaffe122266b74e4091eb046e0854bec9264023100a8a7503ae749e7e3eac2eb96bdf22e547ee66d9a2b889b1cb7a9f0736e31ae6c52fc31264be0e67bbd0a4fce9efc3c5a0302047c435bb500673065023100da32c93ce1895f43fd91dc3a0beb571102f8eb578805ccbede069dadf5c787cfbd3f2c49795646f409246c5b3dc6239602307315f0fff61aa29583482b0eb083c810872d4991eb7ca7656697f6877bb740737d314f2dceed48fd703864830ece6ba60302047c435bb500683066023100a7c3cc782134343b35c3cecfde4639f72db6e0f0361e19674fea8779c91c7eb01f244a4ea412673bef44e4b44312b6b6023100a03415281adc206aa44faf2e59796054bf003ec0ed03d81d239c1e305d222fa1538bfa3ae4b77195a77adcd8bd6e67f10302047c435bb500683066023100bb8c564d95f461d6cc6abf9fa8fa205d68cb84ca22f3e19e68fd1364765a8d0a93a487422b52885bb15f94591b97f720023100dd21710b7fb8481c8b38e6392b1281649767a862d8d39415af74ecfa5ecc4da4949a25d5258a02e4637c11248daa62a00302047c435bb500673065023100917b1d10467b324ecd7dfe3c4734322b6ce97d6206ed227bd0adf4b81b619b35f75b736253c32eb1e27be532fff360fe023043502c595da5c64f956c7935b1c1a639773ce2f42d2f1294486fc3fc4d244191839ba0dbed9e5204e43bc4a42add9dc50302047c435bb5006730650230751e019f33bd1f674213f4df76f7861be648d572e1822d42df4341e7e9ef29257be44d01e3a541b7a24574433b32e54d023100c9dd56d1dcda0fbfca425b608ae623035e3265b8fdcf9dfeeeec3e9fa82669310001d777603641b9c61c8949dacdc3a50302047c435bb50068306602310091f496c9caae2391b22bbb81bc560675a3b85a5ce42e8bf23e4e3363802c03205748cf3ed459a42e54669095707420b2023100ce4cf7077e4369b11a450b8c317b5c0cd5562c4137ca36338068fb4b374cdf9009477353a512d4b922c438e26a634d7b0302047c435bb50067306502310081a41fe5a8b17e1c127d19de4eb818e6e4b4a4f285b1dba4272644e982fbf70fbfc27283612aa86b873fdecca43999b80230455132cd42dbbab66c6194133d75a29a04b6e2ab21da7a0ffb93d5d15c14261b420be28b3931f7291b4ccdcf42cd41a90302047c435bb500683066023100d882679751f30007066a87953bc5e758df9d0470b49366ad696b69427261dfe6b655cd8461b38ae56f8e0233f21779aa023100a8090772a8ebd937bc06f0ceda790c6e3ebe0e8fffc6051dc414f1c16a3539d68928eb6d69c7cf540adc40c1b0d77b660302047c435bb50067306502304f673ecdc41886446dcbf84e8a61e96f01456c2e9bac7b7725590c701cf6888739368bada2af3e180e72a5bef721c787023100bee4435750c4f9fabe3b92bec5b6f427f6de9b58f038c31fc1f6d684c6294ca6aed501580ee4e27195139aaa020762cf0302047c435bb500673065023100b233ed8aab22db5f3a9a97f6eee0636d9c77291781b4fd952feaf0041ec07b1bb15122961a83c86caffbc873255cddef02307ef26a97b7d494afaef53339aaef5cab72d2a917340a3cfc07af560662549f700f8930d3db9c2fcb9ee380f9b9c53e980302047c435bb50066306402301867c711f9af7ca46bcf8042984c7505640895d1b058e6d2a2e676ded26c2859eb045c0c98dcd1735c4d09315a9dffb2023004281dccd63053e0bc04b4124a2774924d04f77b32fa3443a02012620d2ab27eeaabfd55efbacb8543f1374f60b2688d0302047c435bb5006730650231008a9a523ee0fcc44bac6b77c877d9d8e3888b03e8cc685fdf5a41fa93181629f16bff8c463d6657c84ea18debafa69b590230703c1b6acd3019cddadaca6c0d5ece3591648e897696c99728129b0a080dbc8925b52f2059bf4ccb317a76165be30fab0302047c435bb50066306402301dbc1fad74b009365c250a2a9ef46ff38e6f32eee672115d078be69b464825947065066f3ad504016f867e6af68c65e10230222d625303bee41c1aa333fa1e5662fcc19415e78e78bd53553b3b0ccac1dc5ae740884e4b960c3757053c1105fd710f0302047c435bb50066306402304e210fb77d4c3f13653ce97abc924e26fec48fff5a01b49ddd972931d6a4f5eefdfd44f783dcb76142c4554867525a4302305a6be710c8220f95b569f8237e47926dcd3eb0e1a2385e6f15a39ce7cf41001b5f5c56c9b78b2c4545e041c3b86143c30302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500683066023100d3ed54a3173a15faf795eb986957d56b8806008fad3fefe0b31b5e42eca8d3976f82b886a7e47d3b68df2c7d9fdae61b023100eb65c840b1b3c811892398902a22f7cb6114d14851d37ec79144ec91a3b8f68cbf746fa63553e86b862c95bc25d3892f0302047c435bb500683066023100faf08584c1fc1a7b43548f005bbd3334c16648a5775ef74a11407a653d3a6172a8d9ff0139e97127079338fd81505bba023100a7ec348dbba1f86e01584130dc5ff19248a710c62639055e9b3a92eb32d7f8d31689d087ea23093b3826b293870a315f0302047c435bb500673065023100a7cd852d63ed54bd42af48d3181ac352acbc36208e891d09e10b95515b677ad8f5b56013429c468c8a49745bd90cdf5c023051e5d48d5e6124facb18db46323386fd745204b5729269a9c47bac9c25997903daf379aab997a437613f36974949a4a20302047c435bb50067306502302cf4f1e33e4a7bc1d438b56ee238ecf16c89c09ff44475ee14ae142e4e9a8035deabbb6b5d6be6ed6a4e8e1070443320023100a32a5465b647578cd144ca4346787bbfd8c5e2190e29d24845160789af7878ada2c007fa798891bdb529d7f5d926fff30302047c435bb50067306502300b131ffab03ba85cc1c14690a04b38b11c4c4edcd0dc1d659311f3a536a50f26cc4dfdcc2b0bf85bef569545635333eb023100df4f98c5a117e2a7837cf500f581db27d9037d30c61adedf7556db9e741f4fbd03dac3cbe38c0d77236bda680702c1700302047c435bb500683066023100b0809fdddcc317217381d1911136a25d235dfd09341f16257296f45a6048ec6d1ebc41af4a38ae66a0d87eb537a628d5023100b717674bbeb0d87574843f0ecaa295bd00887e96c13cfccc099f6f6194df20a4997c15bea1dc662b7027ba932bc3fad90302047c435bb500673065023005795451373e208d7523bc77ea1bea61b4c1427b9a15d8755f55b03d0e87a75c33d26c5cdef7d2bf39abd23e201d4c01023100d511c189b4e0022b30a7ce1b21eb1f866ac60a77d8b9a7a23a40a1bb908c987466812a547096cea32cf605e5c1a91ef50302047c435bb500673065023100d67785abd9db15504a6a71c4fce97845ccdf08f3aa12633bd8eb8a85336d2777be82fae648316ecc007904a8193ff1b302302732070309f26722508f33eb50abf181958a246a642a4aa6a0981f9cb0f51855596e9356a8735136996ce970be4001580302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50068306602310098a33a778e2619070e714e12e091b190055679c4a2abd3ab729761cadfd84308c37ea4f3c946cbc1d24ffb93b1a24239023100a9c1c8559beb298ed866361d0a83149b33b921166b445691a53a85d4e6867aa9d06572fc977d74d6cef821f3e8c6fa360302047c435bb50067306502305adfcaf1e638db4bc29f679725ff83fc42725e50e10561d8d6c2a337026f854d41830ca48eb642faca1f520a2f42d510023100b5c411c4d818db7f33f4c0399f9f7851840c3668635172ccdee0da90d2a92948a53ab8254faa176c85376cb8bc8fefb30302047c435bb50068306602310090d1d48e1847ba3e6be2d1a7bee4dffb768aea2a583cfa2513496705fb97c32d115cce49c845c19d62b531c5b1b8c339023100ef828f3ffa405c829e7e687cdcd730f2417a8559975579cc3efdcf9aa0b1c8ecd3e21b88a2e85abfa07fd5894882db100302047c435bb50068306602310097f4a2a8bc7b396d9db060a673fe3235c1033ceb691bfdcb73f6c08f9099d4aa5d42d813252a003de8e95e81c304a73402310082c5c3c0f445ff62dfc316ccce035c9eb6f1d6085ae5a57d850d03ef8033d39d6bb7d8340e3126a56dbff58a7972b92f0302047c435bb50067306502305826e47ce44266959db5ac865c9318c77f8f0f131af11d3feca1270a8a7a6e8f98349ce8138d9a4688744fadc66d78160231008ea301342ea2178272f7caa3615d99e90b9e77937fcefb4d5e651f834509e9baf34e03a75316c9afc4746901c26e0ddb0302047c435bb500683066023100c571ebaf5b436d73c0bd214b010b4aae5d75f2ee46213303f673be5d0b34c242bd016de4835d637d1274cedeeea8213b023100fdf7a33e37f12f3975b56e067dea1d0519af188a4a85c78c7c6cdb939594edeaf60df5aa2ad6505ae40a0430b2fefed30302047c435bb500673065023100cfaa63168dcb672e67313e4000ae150769260c7ae848029a4c5170a53ded543f8104bb136fd1995e05843d258a739b8a02301a3c525c5e2c96d217da3fe8bc0be34ae39909ee08f014345bf975117d6a871a3ffc7e9eb6fa6d256142e9a8863cba110302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500663064023075c2c4586790ee540f2f340e449772374b21aeb4b204b65178127691bcd9b0def08190531c537e5eae75d22c1ee67357023064653c58701f6cf3ca34b9154e74c671ca6737400b81d9d67ad1321aebb210eaa20e099b632e211db52a3488467e38d60302047c435bb500683066023100ce970c516a2a3ed704a2cab068445ab765222952d2696a9b46d085815869139fe8036e985a9d5737ebc2de80f80d8a7c02310089bdd045a14955ccf0e195c48bf1577c05a14d17afefa28eca07aa81cacfa8cbd193be1bf754f578976a253741797a380302047c435bb500683066023100bdaae17fd241214e2fa4a17dafd4905550cb874ebe4ca3c235b768ec80b0085f15a35834ffa9544a8e19fe2ad03f2d42023100fa9732c5e4a5556078e3afc8a75e0941cc3ff69a7c203af0a5b72e5c0be179709b662e715aa8d8e1f9731554c94afe200302047c435bb500673065023100c45108e5b8b52b8394a094ba4d2cf876bbfd7c3d881bedc8152e614d74a019f107d87adafa8ebf40bc63d5db78306d85023028c8cc7e854e8012d0d603d73c757b304d8dff400a42ff1589ec7cdc5942e61e2cf63412639566454e6a3ed23e1642490302047c435bb500683066023100cfd92abb92bd2d1786ab2ff2c0cf39580cd172e769b504e5ac7bca7525dadce0d2de23df906a825d57a9c2d77455cf48023100d37b1286586d438852a5296a73d65c79f3d34ac01b6dee7ac2a3eda0a3fb44ab00aa96f7735f9e53761c4eddd10b4d700302047c435bb50066306402300bc6c0439737c076e8818c433f6d44101d7f613f6f4f4f3d6500f00d78d96d9856b4c11134248dc03031f989fafbff4d023056d4f999f1970e8085caaf6b64a553b9dc9adfe6e75529b685e34edd25abaefc50e6559b46c0d0d08ee35ce4273084110302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50066306402306989d693dd81f651ee6bd460982c9f2e5814356b5b018880ddfb7be34beae9b5ac239691d51aa5dfe684cb061ff216a402306f3fcc617c76bc9285f5e24995dc1ce6d55d5c1e61a0c46df0208a9f4e2f65f419b676071aa734e61659ea781f8d26630302047c435bb500673065023100b696f99815a5ed4530dac48ed11af193d39590a3ff4fe4ff6fe6b0d00ae54a59bef84dbe49d5a0a1fbe0d9bad53fec790230022a66b83e493eb10ca3d33b6c7f23a455d47d869881a19c9ae211d83213f1bd08ffd5b925121bcf2313f9bca5ffacb20302047c435bb500673065023079887ef897b0f473b30f7928e04f044ed6013a2ded8d1c1d5f287b7793f42c1c6859bf253449a387772aaea8d0b88df0023100e2e89486c3cb05996c58040678c2f8e92b43910ea538498e7ceb0aab1f70a478543afce4d7aa801403292d569f7520ab0302047c435bb500683066023100872860073d29aebfff46029f769b8c6079dbca46a82960b7728f255e51d9fbe11f6f70a125bc6d7640f951050d47664b023100881ae302b5df1634112110b1f762355833c7d6139d847ac21fa206f3e61cde68620edd301d5e941c45b7fe0668f87e780302047c435bb500673065023100bca023b853c6e0e187e430e7a15682cc26122c297245c3687b2abaa5b4e94f9f454927dad220ad0dd8cf00c1964b6aa602300af5393de5221b9389eef5e6865cc3b797856843b0c09366cb8b69c5f5593736a53a0040c07a44ce623e4c90197798d60302047c435bb500683066023100b5c4a1c6e1f21af9fd585fb34782425d07863c966bfc22a29a5b05489e1d1c57d6e71e8d2eab1b151b44ad70a56e5b35023100935b05507c96442d4f6ccf550324948249d70f5a1c18a33ecbf5eda8244cd01e4f6dc7f64ebbed3d193868aa014d6de80302047c435bb500673065023100d7b8e216e9541b1ddcc13aa3fc87dbb95d24f4defabec2bd2b41ccab88721f27e3e5a385914a212e336d02619456214c02306efd4567301bff7e659f92efb32ace5cddc55e9367ce54ed1da770e2010467678325a2c4230539014420ff972177067b0302047c435bb500683066023100f747bce5b317f0e7d6800e9b28593fb71897a3b19fa7804c4dfee1f6f0635a8e40f82ee24fa539f1d6062fece0ebe69b023100cde34e9da83862640afc5efc23674c8b7c656695f202e13df0b4d182897b2661edac191b06975848db5047a5b05b247b0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500683066023100b4d816d1e836edef647819b49f57000af363efb229e8aba5c1bb081cfb8a4e9eda368f4db2cc77d959a04e4c7f836203023100fc4b51a881ceec720ac0144a1d836857d1c0fcee4b59c0aaf6b680eb8a1b77c277aef1596360ff2c44c56c920b71fd870302047c435bb50066306402302f97d5cf0ab1d67a7a67ad81f55fe34125a771ec40ba7f10ec0741e6fd6ae95e815e5c41a21f801df02c575f2f2ab41802305045b1f96dc5a00c72d81fe1d0a342751585a26d2344f2ad5db2af99f324c1c4a058f06a4d75f5045abc3dc30139fc050302047c435bb500663064023042144e1829aef13c061efc06f35a8dd969950ab066123e8d54e1146892d98429beefbd284e3dc1867331e60d1b4ba8430230194e0583c77afc9edd0ee8bb10d5cb514459dec3fbf60d664b248403e08b384a09c1538bd7d8a495b4aae6f09bfef9ba0302047c435bb500673065023100de0273f531a3a20330a91dbf24227929681e5c1c4f609ec6d7f0badc7374d6d6b4c602865ff559fdbc4343ffe0bef72d02304f355ece0e54422584669f1922c407689b16dc2773687b8012d978188d3201b41a3533624d6f6be6ff14befb7a43323f0302047c435bb500663064023043b849a155170455da933c9066e7ad56a659428dd85215e9308eaefe7e978a7ba5c6ea152d10c2c8ff75c51c594d5ad902307c100e28b5a1e6954e679d5792131cdbbfa8aa3f716edc3a57cc4686a4490462a80fadd8efbcf1585701c2efc41140c00302047c435bb500663064023015bf47af067d24c86f842e23e2d6bb9379b9e48d02cee60ee5bbc42e56a13c1c3a1bb2f987ab992859fa62520abbdac0023046bf3e7d6e02e3b698d53e32df02ebf661618420ee55a8dde90d89036cc50a3cfab34f0676dd7dabe05e5c5fdf19971c0302047c435bb500683066023100aef123ee65050678c3b005aa223eac39e46953f69322dadd4371c0f16925266de7bba070070b05be9cd83a57edfd0eb602310089303b88127da50322b15b1d9d846d28928b2efdebde38b9fb808c9b1ead5bd8deb5dda4a030a0f7bd3b53d75c39b9260302047c435bb50067306502302b38d5ed125e0bc9abc79837124f240d5d01f5eaafb89a49a44ff801a0d86f33b0aaf689c53ccb667bfa0422e72811f90231008ec7b97bdb8f6866bed6a232628c97daaa91f8994ea7584a53d154981960f23ce36a520237b693176979ac50c5b2e82e0302047c435bb50066306402305a6649074a83ddc0442615de9993c834f7f50588e5bb7ddd7b00ca9d197478369dfb4913fca8f7102c50a73e503c912702302a5d95b72dba75340bf25182edffe9668aadc8c562b729abf0047ef503e759e8cea04e8548bda44d293a57122b72967d0302047c435bb5006630640230763c2381684c0e0543e7c047a31a62f00774743e7be5672dfbe4ade6d023f8723d99435dde013ff9834fe26f4c07f9e70230104e85a509adf18b2b8030445a605d2014097fc1343bdd90d8e2d7c80b4bb90875611062c29cea25a5142d3553e9e5ec0302047c435bb50066306402301f27dcea4c080e338c6a1b539e5d5cf871832c48833c45fb21511d0fd7bf9df50845cd83da40a1b0086e85a7d606b31e02302b5a182fadd5413490b17fbcfad40d122f5dc2878a88233a315b49ca42c34b48dbbed55f74fcbf22d43e6d07ab4f5de80302047c435bb50067306502303931a0b315ae4741911bfd114bbb5a0f46c64548f588bcfca5fe88a7c20756f338f7adb45c59bf711944462a257295ad023100f4d88d1939da381be524a0b3189f59fe7321189475184fd2b98e66d74ec468d88bde78428a42e2aa6a0f0cea6e573cb70302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500683066023100afa4499541ba17d1593f34b82c1d377c8dda7a9b07dfbe228c8900fcee1b22ae0f108f4efec79981779ec889996407b30231008531819f8a71cb852541242989af773f139b27220624302d598e36e3e025f52e1028d6ef185fedc7f249ec46d565815e0302047c435bb500673065023007152b1a50518b73a80940af34972bcf2cb2e27f5cbcc7c5094bb923a0824e34482106957806e4409e867b80a27b25fc023100a55f723ef917fefaf8f7b1b625cf799e0cbcc5c1edc386b10df020ec5be6183b925e02b1b4b1f442ab8a6847ffc778bd0302047c435bb500673065023028a036960b9e2c39be4de34854283ce26b6ddda77f77f53386ae7c441501ac4faf95b17a88e7c4e6e3adfdb8df593595023100eedc839e41dad6594d965ea0d236a2c9747daa30e137a80489957e9dd8b62c94e7a0090d0793115d808a6b63f5c17ff60302047c435bb500673065023100c219c482f2976493938e10b2a5d8956d8b74b4f53dc47b36b1b27d3870467f14c6e3c8b2143a1f5546d41a2680499c06023043e8471ede69b0160abf8a1bbf78328cdf20bdb2d475afb28fc94c5ca0cf640c1403a2d7637fceae3a7ca738dfe17acc0302047c435bb50067306502302d6449ee0c8af5822a8e3df5a291c0d28de539636f9426ec01864af215dd77fcc96ace88ee95692841f14afd6eedf09d023100d7afbeb2c8e2d52802c0dbeea9bbf41d20c2bec8ccc3ef18f74c8b960027cc9299684525b4334b5ecd9f76772bba78ba0302047c435bb500673065023014a4b01f33bbbbc3f5bc930efb2a7ad1322edaa2f352a90a67bb398a4893c681ada6ceda9a0d281cccfd7656f936b67e023100da9d947b6e226ab0fa58d64a02c210f410e2d1a6ac247ccf814f3db6d0ecf0d2ef5cde553f1cc8837c0aaf1e38d843fb0302047c435bb50068306602310081929ea75bf2137d290424a674d5dd792644f756d01c075005aafecfa4d36824342148ef82b36443cfa34fd2ac6d0230023100e6e9468d20d61bb7d24f5f7dec42a31b394a7de5ba24bb598e69bf7060ad290d01230dd2d0fe1c69639cece5771673780302047c435bb500673065023039e9aeca671109d11801c513c267da1e7452b1841ad07cc747f6834873da179f61a8ec9167d6bdd4090eef19b84cd81f023100ddaeeec3a343d3a233c18edce5fb0bd21776e93a06d414597ec1d3ab17a894935a915a9e32ad4d08e96a0c3fe5d6086e0302047c435bb500673065023100ea894b3dc5192ab45dd9b1c24d4d2267924b5b8e9261e402726b36edb9fd33d8a9001804498ad429e7e0ad8fdce4094002300f530b3abb9c5c0de625e47bd5d22efc4ea7b24a69c5f5c32484fa7bf16f9e78019a43ce521d23ce7175054f1b4ebd300302047c435bb500673065023074d180496846f6b94fdb4378bb22141615e7bcf654617c43f5620a681001afae5f6e0182ed330aaffe12fc87874be3dd023100a7e3548b898a15541bd9446c0fddc8ada429960549531f05d3b223ec76a3099a308c4376ed3826565d3877fa9359ff070302047c435bb5006730650231008627fdc5220bba3add8db02e98910ac002062c12b43397b8952af6b89679f205ef9286df54df96a3c4521d1e20c6dd91023010e847b955b3169ae105ceedb23788ce25945b9cedb442d78d1f8bc85a36d7501bdbcabd9213014198e10223d1183c6e0302047c435bb500673065023066a0ad3ced13679d9aa9b1d9553898a3fb4c110be2789f2c02c87e5a2820e6338651d5bccb3212354e457ad8e0d99992023100f6270b327286aba10bc6b64ecd34ed11820af2a72d60263ed79df97d6886a8572d4bde891218081c000a2aef993327150302047c435bb500683066023100ef5dfde75f8d01c86548d5e102b959547533b854c13d37292cc763f4711bfd3b90926e546defb07c16e03e6858a7625d023100adabcddc6648b58e103abee9b59c2b292e7fbd279b9961ab675ccef838dceebd6a5ecb550bc9ac3eec4c61014f226d6c0302047c435bb500673065023031388cdf3fdf82e45bc41b8f5155615b60c411fe18f83debdb8d8173c1f142a6b1b270c52270994da8703835c36c36e4023100a72a92c5c2fee7071ea5442190c55ccab113771e1d80d86e91b39aef04e64f7ca8e42c8f08bfcea67a1ee74f00c2229e0302047c435bb5006730650230237129e3633901ff6d975b695b6f7555fa1714a6ae25e0d06f956fd02df1a394f8b71d025f638bde98324d712519dcdd023100cc6665f28b689fa576dff6117ec5651b47daca8155204675b43fa4ab33420cdb0703f5bf84c158150eb12b719c9079d40302047c435bb5006630640230157453a15e2f9fdc4e540c4a2d53e3828e4d57bcc43933192003b65be4acad1cae026c326b4128999d8af3997c76b01f02301a2a425f519040e647459f6f29601852f89c358120ccc437baa03f181fce43b632f63357156ae5a8f4c7df726609252b0302047c435bb500673065023100e48ee32173bf7d30795e7e2e872dc09fcb54d29b0693cd25d6be1fa685ad518ff254aa7fde76bcb834c7e215e3fb5c130230145a853f6f8b37e84e7ad9a0f88d635f348076644c8e723dc8b2707c10bba1f9ca21b98395ad1204d3fefc4f51d941830302047c435bb500673065023100957edaa7986bb2751743ae924bcaf79f87653895da96cc23f4df1021d25ba36a7a5cb170cf9f1933de3bc6d6a5ddb346023044cac09580c9a9036379104775e9829f00b72a034d3b204d4bdabdcbec06f2b7764622b01d258fc63cbdaefd68f3ae720302047c435bb500683066023100c3cec9c277df3f58621212b12bc3682489245d601d0c86156ce95534dec669b7b771ed0ae8417e85f0231e09c42faeb8023100b3bdd5cb1610b847f4e92c2c897df564a62a674b7ef45acd6183c274e6dc9efe64396c991e5107abd0217d27efe445870302047c435bb50066306402307807da59a0d5f6272974f6696653eee75d3687cfa430c641d673ae7411879a4e09b7b1234340dbfa61cb40ab05f26b570230238e26fea3f9ec8efba3cfc511824b9ed4697baf3c388950675b41aa17c31ad7f6f959017121b6b112044b405193f54e0302047c435bb500673065023100d8d37748f037440789690ce1b50b143d12618f5b1433b6ef9e17a856000fbc9d8584657ee3fddca5af44a7c8d3697a330230140bc55e2db3b9580e01a40d565e6dcbb2d7b5a13ac5ee72619fcfb1822bc8391a86180f87d08f7d103628a1e433afdb0302047c435bb500673065023100fee27f9095aa82cdf992f6e969d2a684d643645c0892c987f0a51a3616e550cd332a6ecc745b7244598664434e1250c902305a0ab040c278c20c8e4570abde59d6cc5aed5c77d07657697dc7412990afb7fd389874a055e05bfa5cd96099c60866fc0302047c435bb500673065023100aebc82cf8a3c9e78fa53db94bd9f72d0bcefadea31f3559aacac556c29010f0bacae871f6a66b4979bba43d2ce9b39a10230379aaa2ef322a0243591fd3a68ba8904fabd9e1b173368eed0bad3f98ed6d5bc966e4ad0fff30943ae115e3c4640e8a10302047c435bb500683066023100cf6f95b93ca9ed1cab742bf69afffe49234ddfa9468e70bd148a57b3cf4fe19f2248d35a1577aa9a7221667d2de1721e0231008faac50d8a1f4f583ac76964757b25ed5c0b26953f2b9127ab7cf53e417f4ece7c7f31b7e01412a1a4e66cafa972009a0302047c435bb50067306502302a7972432dc7e3b2f648ae019203c9bf5225f6523b42d3aab10e6bcfd18ae8bb6c956f7d65dd904c2e8e33bf5a6d4cc802310091723634f6f344d3be10ac5c7be272f41dcaa8bf48942b515d6ab07cec9d6c587904400f44950a6d37fcbe00dbe6424f0302047c435bb5006630640230717bfdf165caa2b1c09a4a7dcd4bcc9e50f938908141bd60bd61add283dc4c755d3079c0376d54422e1495e94690319602305f8e7c788ea5bfdd7a46e8e061f4a22f75c442b8b69f07a13db85f72d0a5ccdb7bbf529b17d1509ce5d4eccde33b6d870302047c435bb50066306402305503ac1207be181b17484c28f3bdaae0555235aa7117908dc4ed4443e97b2c285db58766a2a7366814e858f8022c81bd023030e295cd71ab51a0049531ce6ef1cd0adb0edd58236121d56dfd43a41ac3eb226f1fef7212f0564fa0f03115e14c51b60302047c435bb5006830660231009ddf86b4577527c5939f5fde0d82d5b2260c7c18fdd8f33dcfabfdd8f2597c523301d4f60f29acc731dca2c6837017530231009a2fed58b372821c90e3acf72b0b234917812bd019be501df278beb3adfa35caa6c5f9945bcec82e686563faaf719d630302047c435bb500683066023100875440d37143c0901c0e0fa2874f7bf9e70a00bc2f4892c10625fb38de84d180ac719e5704e5a543a5ed4e816402e501023100a7fada992a2bfe703d83626404bcc058934da677e804bf58132eadca12d25521b7c250365da0a3e23504727422cfe9bb0302047c435bb5006630640230572defb27ec604c9053fb1111cdc4c4bd0837691499ebdb8e6f860de107d490229bba3aef31313ee4acb82780de2585d0230305a5f4bd22b2b4d9c30eb28e2bae42183b1454ed02f2c496d15b551c79d187fc6953387538e4f15eb4c520ac0d88c5c0302047c435bb50066306402300c12d0b2f72963671727eb3420e991b8f496f2e9c4befd09b85923717f0e3aeaee09d5a7c0da1b5ae4992332c19332d7023069a39fcd1be92a19f6b990006aff1c2d00000e3ad776b68ff1a9bfdce17684d331f171412768bc7f22c0c94937c29ed90302047c435bb5006630640230435a305e0791d5666e17caaf06bf5e4adccd1a15839eff5fec20c03fe50b46cc367bd0f2074edf3bf0842f9c95afeb3b023049bf3a497fe627f631b2e254c61e5f629e19036ff6b1d3980b4c0a4bb17073175573ba305e8d50ce67f9fb3380c3188e0302047c435bb500683066023100cae637ea0bc9b7127dd9934725a9c73844a972c9a346f3344314704b47027f610d624ae54ef1c46080312475375b6ee4023100f6d23e5d173ae0ffb6fdf4cfd12f7aa21bca88fb99b76cf21b256c9803f811beeecfd5895aeb1b1e5adaa8cfdc9ef4aa0302047c435bb500663064023025d3e375e8aefbbfa8839a8b8f041f1b59be5469dd3938ad69cdce51b6a0a4ecab0aea9271c5e81bc62036866fef78dc0230614b625dcd33fc7101d6852bd066430d86a694f41929fc9849e9e9733a62050f4e60706a1a22164a94ee8cab2aaca5ee0302047c435bb500673065023100da592f0afdc2fb92a4421110e37666af862f194600a53046cabd4ca0b2af77ecaaa9a03e7cfd7418ca7bc18ed161b6b00230513fe6b16b666ddf5d5663eefea1911c75a5cd66beb51076cf303f036f3ffa9d4999a18b45c6976ed352d9b26b8b8ddd0302047c435bb500673065023100f625359ac767671fa12e917ee9bd4585446ac85be7c354d90de497bb3e6a9aab1dbdd57f9325068141acd8bdd3aa563d0230522da6a0ec5cb7f48df6d994f3e25845cc6db8b5de7434577e4949b960c92c6254d43705ef2dc3640f18feb1425b70ea0302047c435bb50067306502307136bfdfcb15a14657c408f87d56fe821b24f5ab5d6a5cead8f7d6b0a4bb47eb8d59b586f8e4339c99bf9ee3b762bade023100d9fb2c70b106d3ffc872594f58a7b95433655d86bac9dfbe180d3941b6c7e0b1c9d6391eddda67330ff86b8df49d7f260302047c435bb5006630640230466d83215ccfe8abef38a7d3d5a3034b2197f42df6964c10c83b4885b3066c12816a4e1d47c1f326f3c41b994d07e8ab023014a0dd85db699e337fe811df53cece4582288d722080ca7c875622d779e43f8dfa23d3fae9d57ee964d09beef8295d2e0302047c435bb500673065023100f52b8344591f6c3e384ee2f9284e3ee281e36c36813b3ea470c9654fb8db0dfb25b4f8711fa0edbce0873a160787f649023008c05c911a4fedec367cd8d8c695f76a5344230d408cfde8b8d3ea0b98ad62f8bb2428c78289c228372407f367ec78d30302047c435bb500673065023100d99640888577f2290523fbff796022cdeaada8e3d0373fe2a3ce90767aadeb8d09ac5ca1f7187f21145d91d02b073bab023067df0740bf0794b812b32284278dd46c27db2618eeed43d4cfa3d52294c853cc6227a2284d8663b7cf32365a2237663a0302047c435bb5006630640230654eb7a223e229034480bad1aa35d0a6b22fda02d97a0cf05f548194ad37a062887c42fc21513e872c4770648ac4c9f202307850050b53cd1643a72600275e3685c8ea8759d71b594e9020e170724384fe67c73230f786c790413dd50ffc2d9da9fd0302047c435bb500683066023100f3dda279efe9bda70a8132c01f7b4f0ab09fab5667ea36c3cb46f05146617a8bdec8a23357f85f2f2fcba68d40aca984023100e73b4cf220c4741ef781400a1129aa7e8895f333275787fbe3cdc34aec80f36ffc38b255df845663eb15adff5d0c3b710302047c435bb50068306602310093bf8b0e9958bf6be8a604fe28ee95363c74948ee1bb54185df0ff127783b4c832350072454372de5dcd333a8889cd98023100c1553b36e519c9cde0ed5721be2814a66b87d2425fd54b6381d85c2dc52b6ae8fc7b1d9047ede60cb780bea6873270410302047c435bb500673065023031c48f383a9bc924784eb8f8b9269efa68dfa359bbb181c344a257d988f65a2a4e4aa59fc54863744670cb81d4a46c26023100d377effb7ba4547580aa78243c9286fd4e24169af90b33ad85de9ea506a129e7115cfdd5cd4b465d14327e36a93460c70302047c435bb500683066023100e56a3c78879cc4b2db0d646aa0565ec2623bf7b6da26195b78e7aacecbfa76918733430b3bbadcec174d65e93f9a1b0a023100d5dc26413140d73b8cbb2f455c990c0e605967e6b5ee349b091f3f687b781e90e04ad89bfa570e3369a4e3bcbabdba890302047c435bb500673065023100ad24f105da5c217862597d6ffdf50c042c76d6f169d997a77fc1e75892beb6cdc05a8ab88ea6e0750579ad2116236ea302307f02aa70a0865e68d8426092e7aaa4d3c43cfaa600b2191ff3888485c001298dd40e73d9d2a6268b7d60a13d138ae12b0302047c435bb5006630640230559d638f2a2493e06e16b4be9daee6604c906012d4c35b4b1862499746f52dba387742be5ea16a570097f3d75a6f4df102306674fe89a4f28ae760637387acfc7a2133956fb1de9131078c57d2f8d02d2ad6d3cea3c1742478a17c94deeaba5fe3d80302047c435bb5006830660231008d535148da0e03ecc8b5a0369d460756403ca299ef9dd7f24787490335a46a3e36469a8ed7229fb221126220871bd93b0231009143fba755feb294af0b6079ed9ab5efbb93b1a4bc02ab42dea12d00627610a345e3877d8b4ce131f4a027b75db7a7ff0302047c435bb50066306402301d5e3c3db74d014c2e3dc97d50b4be46b6f7407486b21aeb6b025aa6e2ec91f1146273d7b9c59c32a62d2496da54633002307dbd35f5a9735be179c481aa45fc2c50a2894473d4e56ed67fe2fbae9ff1a41f571f77f3944fcb94282c91b2479c5c7f0302047c435bb500673065023041e88560658d5519015406be5e72b8590a40cbd72fe7210d9ee0c8353157cc97a4cb944f1e4e8c98d54e69e15406ff02023100e8c1402660a49865c34328af353cfb1f641361626a00fc3a6b9cb43b9b3341f56c9290b9983f0b1f2fd3fa88b9371f770302047c435bb50067306502307fbe9c66db8c70f5fe4b95bfc575fef09ff8fd9577e3f68345098759f6815734bee9fc49be685429be8ffb3f9156f28502310098081e8733ef16af85b1f295635c39f7e6dfd7272ada7b23842f52677be70ccc083916740856fa9b106e02ff54ad95730302047c435bb50067306502300e977813eb377786fe61ebf5e3405651b72ebe150af1331b9064b833edf9ec2a4339db80ad08b4fad053c3cad71ce04a023100a9a78645ed2ce80dd05afbd9c4ba678f66239d66018b5893e66ead803b0998042670b3a5730540ca90bc5357fe9ab6b50302047c435bb500663064023074f253d3caaef283c481ff35602ba2ed314b934a47c1051aef755cbe1da0c2956348d9faddad942fb85d0e5c91bae96a02303b4ec21ae6642e2f3b157db173b9a54d3d242b0c888d691e7e69473f0edf71e0031363f076e930ab87177d3d389a92c90302047c435bb5006730650230323e3bbc815686357c076ce1d6f2aa22adb6748c24e3f6c05aad34d3c8f991cf11f8c2fd95ec2ad96394c42e91c8cc9b023100b262c00cb39a822f275093c67753175307d4a075fd1d75cdf4829e9c433b2aa32669b232d07a0d48f7e451212be067660302047c435bb50066306402301565cb1e6b3d32ffe4ceaf6fca31967d4d80707f3eeeb3e14c6ebf4bb35a618f40f9567f2c7f09dd2c3c82d35078b6a10230637edb65cad01d0b11acd687049ea37e83c923298fb9f729108bdd70148f46bd3253b607dce94a1f643180e5c392b6090302047c435bb50066306402300eb7618aac77d98a1a001e564c5f6b8496bf8c8cf24454ac0d12f38898bb8f629347295642d33987f0ef72418ec142bb023040fbebf7c6b9b6009afb03421a6b4504ebf7270cb6cc90d44692f17bb94280a093e082fbaa2f4736b6aa03cab73eb5450302047c435bb5006830660231009560590685ccb312a87dc81c67c9fc5e7776804ddf928ff644de4c6273117a6f213e9cb3214e432ac3fa917b5d357cc5023100866a01dd0aabad6d839b53ff3f1f94e69f95e2edf8c12ea5195a93fcbb1916bae60aa0ee518375e87fd47431258c656b0302047c435bb50067306502300a7305f77f328980f624449c4e6edfb51da59c1d51399ca0bbe763d6a0a44827bdeb9bab23ca81c29a64fc3292fe67ad023100a1998d3c93055651e92e9687438798ca884602e02b52b9a46501ff4c822fe64eb29c25974a7b87560d3fda2ff7f158170302047c435bb50066306402306fd64556790ffa0cd9ce407d18e9466c0656ad76dc90f78d280f5c7c4bfc8c40159c8b6c178e9fc7cd3bab8d3fb8da72023036faf1d725b3fc704ffec4e13e4cc4475982ede0a5eb6b454e88d99363634d234c8caac702cc994a282170ea74c906cd0302047c435bb50066306402305eacb406d56509feb8c996a24c758e2375d9585dd9499e7a58920fe7849dce972b30611bc5e60da86079f67d41f3b37f023027e5126de9c45b12d0f8910661f84940aaadfbb2fc55f5b10871f2650768dabccf45f3f50817656d6ffe65690a9189300302047c435bb500673065023100d7c473bb12aeb1f8e9cf3be0fe3ce28acc792d2b2522cba65a81ab90e7f4d2f372e609e910afa85bf02f880822bf1354023029fc996edbc31d4d566669215e0a8816076f07502c51f0494127de0b718612e6aa638abbc7eb66808e27052db64840840302047c435bb500673065023100aeee4efb25429aeac8769b93e1ed04e9a42f17ffff62ea11f1ad9983fd0e1abf89ff8c6eabc3a79c9676aa52019fb5a40230676a4f907d662511f5d53ea65f5513f7d58b9ca6e0b7e203cc4251046001e9d24c3c31eff2daa1bf3c1632e66612b96c0302047c435bb500673065023100d6cb7596a68874604fd95afe2d3e94fa52cb2589377aec12b93782735bfe7b76a80fbf0a8a8973cb37f2b08020676d1d02303aff4c9ef88d06ec4dbfe72ab958b383abad419d4cfe64b3fd098fe6ef9a8f5190326be67fd72fde4d0966a021007a830302047c435bb500683066023100fab720379bffd73159d2a7404f7cfec8be10ed2f679daca4d5f773df483e03e37f1f6de35e68c935af24be8acd7d507f023100c5526625e83c9cb6a0f687f5af79d4302db3f4777b90843ae615924ab785c3c979b3eb411a10dae79fe5cc604ab34f4f0302047c435bb50067306502307d3ecdec4714541da04bae0d43c71542cf29cd6b887f12e8b3e8fa896a89247976a4bb54b9820c345b71df8b11761cd1023100ae692e491d3a592c686d1b11ecb9bc6f76531ffa60dba5647ce658571104bfc540c55ca745fafcfc0a77357949f9f3a40302047c435bb500673065023100f5c47dbe7ad82390dafcd1a7924df75db09c6430cf956a320601a4bbec22b8168c21b41d4cca69a8de285fcc6c67a2f902304bcaa94514d5be03afbf708bb224d4318cec24f070c218414b6ee351ab950469bdd7d586100055cb17282ee39272c5880302047c435bb5006630640230231016cebab018f2cd307494801e34cdba768b38393a2667179741a2342ce91a0962485502c593ca7afa894a9d9a009702306da9c2260a51c80a282143056610022eee679b63f131917cc50c30d66d3a14b89eae606ba36494d25182baea636474a60302047c435bb5006830660231009474321f8701f72147729f2780d35f73124472d2eaabe0dcd1f3a225c2904c2f107fb4f600d28d6be27e17ce3fdb3f820231009abb00c51a708ff1d21ace3b0ae8bf6e65eded86a0431abce5f62e3754ee6d748521d7e7ce42ec8c2ee866770ce8dc640302047c435bb50066306402302c63ae527f85635e1bae3c308ca9387025d5fa5da46229fce5cd623d1d889e28f79992693a7fd10ed9f3683656f4887b023061decbb03bff187a16e718821f8b831c7049fad6f2d63afb7782f62e55e83a9c090a4ff5984cd8b83f778285b96ac1800302047c435bb50067306502301150708dccac58aaa99133156b1488e58f1f5df870f8e0bdfdf832397cd57490c7a948c93615aea8fb031bf6af14a882023100f211d4a451f502f071db3ece314d56bab568d83d5b7842952fdcec80943dc6c98e1674062fe9c378fb56f8bce9c062ed0302047c435bb50066306402306373b06b3ec0247fb60022469208fe748dc44c3ddb0d4969b52db163db15e4c05fd2fb0151d45ca1545afe9a7c9e3fa202304399a6de1a4d2163452e1a785b880a222bd8074c8df8dd9f663e33c7d3812532b1f0fad3335242ef26545075421bc01d0302047c435bb5006730650230262d2f41e2e03a8dd617ff46fbcadf34fb2f898ecf3e540666f9b47db5bfa1eb224994518025305e642fa36636be794702310084c6c9e8402c0787536f938421aa980b77c7a2a125601ba28ed5e8f137bb6c21cdeabbf039a0c1913f8f2a26e5bd3ddb0302047c435bb500663064023006fab2a925cf63a7de92457582f7f69b16f460d9e8f22585cae7331cfff2700573804eb5cec5b9893f5b7de71676e61202300e344d734a16d9519591cd89b3a6f92db26890bb9743ce5c5c2c3662ad848bff873ee765408ad51bb3a2853b000cea2b0302047c435bb500673065023100c2b68f7b290173e5b8046b0dff8361bc797606380a68dc09908a78918d726c67d059c22bb4e694aebcfe9ec2cae666d402301adc21a9068976904322b1646f74fc8aa833595e086e731f41481d7c1de588524851d1242cafa7a134897d7d352154fc0302047c435bb500663064023060d6ffd193c409ddf8b87b1ab3707bb25363d5737e7ad3e0d7380c2d31cd4e284f9ec69247e1a3bad7e0f4d450891acd023030b2c2828fe708a9d77d8e4722c85e2bc7104bba588352762efb1d6634c16b84236df730f5012151fab5c607ad53f8890302047c435bb500673065023100e199ea1285ca3e47b303718312aacbe01ada0e29781c92080e1ce50a210bd1cd25e14ed7f7f118277ea30370de93236b0230230b886fa30b48b93bfe2d9c8bb1c8ae547e51ce9adcc03f716fc0bcc3f00445716ae01a6434c6f77775dbd4a875dfab0302047c435bb500673065023066ee11dffdb86ef5556fd073e6f0f358d1a97470fdf629dd17e5fa606727af72216cf28da3c944f2ad7e1fe35923bcd6023100ff75b844916be7b64764d6e959100a8288f32a3b314fc8eb5f164a4b9ba7043062ca2c8c62fca3de4ca5ffd239aa7a980302047c435bb50067306502304957a9ce7a65944389ea6bb9c808a72e1614e78c28d16723be4558a3604002e127e06a305c3481b75f2926aa8cafec62023100d1e9019dc4f95317e65eb17fd44cecf8ecaa66b52f8ab6ce1ec397f3e04c5b719e4f3b406682d064b30fdca8d6c018ab0302047c435bb5006830660231009b7a7fbfb5092b4bd33e5c8a2d06bd44adf60f9f3702595856df9408662558b84bfc5be33fc5b590650fa6c65ae0b160023100b1c4c24fb64cb67d530db0b049d58795f578697aee8e651deac7c8eefea486a41445921037dc5ff2f46d9490707524fc0302047c435bb5006630640230329786dd62c34e98a2d8b5be12f79ad8866d9595b5376d3a8f25734c96c2171fc33cc4a64a8b651029befb088a6d2d6702305e2a7d2d0c74a9078912f058bc8415e91150acb4909f5efc2e9db7a6c0be9b4467c5e06563390b7a8e30eead75b42f360302047c435bb50066306402302e7b92f3dbe3d8c727dcfa0232fa37d180793935e924a11fbbae747112177a5850b1a6f68da7a262d085547a49c7beb7023066cc8c86533148c5a7343a95b35e4af166c95c55d51110be87c345e0ec6626569592bd6e23403e72d055dd02e6000b3e0302047c435bb500673065023100d0693af61d285a56d717c5c049077df45015b05f79d7374bedc06fea0fc040b8802f14c72526c42ac5bb73bd2e79c30f023011c011b2758eba50bf3d9554868fa4bd181c8e9915c6e01bab71ad5b26be985a62c0453815b1d4f3603692e25802635c0302047c435bb50067306502300575db9a3bb27221d8386f53f1ba182584d9be84ae53ebb21365d4a2a1f91dee0b6e5c22c73d7a0a60fcf3771a6a97f10231008112a196c8cc4fdc6bc6bb6a85711a69502380d3be4444d2799ac6cf2f4f9db604f183bcd7f8f2a9bd700a6e6714301c0302047c435bb5006830660231008cddc7f90eb6f1ca03147b0caeba55efdab0db28316abfa87790a906c35f6c461f590d93d234600733fd11a4a3081c48023100c4d45237e24cf5d15a0e345149976e89e3d07d44cb86ed34b87599e309514e8fde1d3e453e456799ff67fd08dfe079220302047c435bb50067306502304534d5245ad2d341008cfd20a772f689d3fc675a064bc4f04ba1b56948de7741996378668a6f1a55ce6f894e99a28e73023100f611beda90a866f323bfe8b233a8654e6e244bd057837421a427f0859cab45247e61be4f458d9f6116751ee18d6b60f30302047c435bb500663064023045d3d82955bb219327156414dc4b85b4f7b293e330fabed5f46966f0deb69ebc240df1a178b19a7f498bfb009de085ad023070fc4fc7a796d9191aaf412f99250b6847a4d9ae68c25e30dd42295a20b284e5826c8943d90a7f856f74415748b955420302047c435bb500683066023100dd76928c25fb3e186e7f92900060957920cf4f25bbfc373dc52759bf33a8496b8d89a073e6675206a1f2dd5d39226c8d0231008f7dd4a1174372cb41b8077da4034fb6b068c12d80db1b4689da03f5ebe30918216e71cf6eded66b12e946df8895595c0302047c435bb50067306502303eb9d9b2b1073a870dce2d73fcf0de820ea9a1a2bebd755243b3a01c28fff2ab59d484ed2ca8e73b300581afb0b943ac023100ae13f9fcc5295247014b38a507ed98c77d761409f50bc3a1d732f6ec66ec5c1a8d3e640c6dd677ca385ba1b2bb730d600302047c435bb500663064023022ff484cebd7c7b96d3a4abf0c20de9d9a63cb31cb45c21170d136061d124349f2194485535a907da4885d25997664560230054bde79ace65f09b00b771072e66435b4904e2001ac0cfad3aee0e75fcf75af786dfdd634061a105b13f18798a85f090302047c435bb500673065023100c315bcd923a4ad618549fa13fed7f9764f7aabb5f427dfc3c6e8a3da280bbc426036b29f578c4b4b97a46bb4481d5f2a023034569a1275a4593ae7bbd1ece9923edcf90b12804e2ad3f8c24ca9c0460b0f01b02b37df96efe39f972a3ed067075b7a0302047c435bb500683066023100ba2e26c09ea157b9fbd0fef8c086d744cbb7fac3466da09b2648e55e79b5adb59e2de2082732c8455bf784d1b22fd6d5023100ca1ab695a10ce19262ab475bf3e032ea371207cc3c88d5d0ea88dc2b1b764e9a022c9009d3aa18bdfc2e314653a21b870302047c435bb500683066023100852dc7daa40f0a92ae2688ebf933c50055d171ade2a56c1acdf3b3a621604187f55d5c5e35fee0410322528308982bb0023100a1a9ff668237438eb793db8454d32f65c06f8a1eacda9346b71500e7797f5d4fb59a930d858cc175aef16001c9acd2a20302047c435bb50067306502303e1232bea9d73a5f8d7e0f457b473a0337a98eab3b389a56418ae5faeee974e9634db9192741f761623e5b63003954ff02310090ab064e4e46d5593a0bbc4f876bda9f91d26065f363dadb7de0a17d65573be1c4399256e96ca0229de97402b8b99f010302047c435bb50066306402304eff164fedf11b06754bc881894a95352652b29df8a81cf0aefb98d55c3d6c09df5c6339fcfbe5f9786fcd0ceb29835f02305c7f57d10ce13463bb63ca2256624fd4624c3a1af517c754492f73798d8a48f9a86f7ffa2ad90040acade79118b965690302047c435bb500683066023100f6e7e4689916d507c81d5bc34d4f11bbc1fc870a687890fd6132557e1344b71f4d19cb5b2f73387390c50cda5419f445023100f84d9419ae4bc777d969953aaa27f3bb840be5fae31a758471180270e983e66c87fcb9c0d69a5376f14889fae2f42f960302047c435bb500683066023100d4459adb2aee4a87ba5ec44eb5d259bf9e62be144a73529a689491da38966bc46f33f0e9e9059a3cab1b4f9f094d47d1023100c96a981caad80fafa7dc2c1070f2d23f84b34491abc9739d5316e2c795d04b5b07bf1f4e28d56e5d4bab1c655a9fac8f0302047c435bb500673065023057468a72f335d3811f6dbcdecb608f791eb85bcd8b626ebb9817a8940236dd64eb72985a12763d774a42cd622c49865c023100dcabd2a5c91f1e330a4b67e0d6e2cf1fe148b9263da768061bce081b359e2170006bb6eba6378fdeaa2a7ca271ebe7d80302047c435bb500683066023100c7eb1ee5a54ee3cc3df594eda664a35d5f3781b548e7aa93d3f1f6d1e3d50860f69b161bfacc01a47f0717cbc8e89a2e023100d0a22aec9c0dd6394f58cd7cde222af3bf4a69fecc78b8a459ab265dc4246fabac3e75700a4096bd93d1c3fd1cb078910302047c435bb5006630640230545e2a35dd6327ed0a6aa41f66cf436097cd1e47abb4b98c9ef2246fd746562c2c987c43cf5a2503cada035ca5ae753902300365c259c963f49d873a65e016487bf2d42c03cd8c1c66a1a4a543e30dc4112d4cefff59d2733b55579d4bb4a427bd770302047c435bb500663064023009162f3305c61ac1ee8991f3d7e0043a34caf31149a27fdadbd5f0744b486347c50167c62767aa6df1e943e2e95f239f02301b1b47e42dbf29d7c010065aa05285e497a53afab2cce21d5fb526df94ccb28dd00152b8a0aeca1faf1e79efb0c322c70302047c435bb5006630640230226d03ae3fe52db43e52b60359b629208e2097929c8661bd75378816871a3abc6c485e7d7f0ec72aa9888c6616f909d10230213457c00b5ccf954d1278ce870dee9649952842177ff9195bf8c9c6247d008b969833a6c060c39ccfe3c9a6b51107780302047c435bb50067306502303754978826a614bc39c4a826ec11a191ad7b2558b752ada27afe2b7e666818b9a62b2d6b8d68a75a9907c41177ccf485023100b6f3a1aea56d12837829fa7778523f1200b60ecbe55bc498204666f28e7cf6e2c6f68f92cbd4e2a6b923b3cc0540d1f80302047c435bb50068306602310085c4b974b23fa99a77d7e5aa041f310716147330c1f23e18436b64ac3efc76a614d84bb10f634b60b3a46b2bf7763d8a023100d016c0bc516d8ff26e1b816c5dbad353074aee7b51c7112be632e62e820edb071623d30bece080b6346dd679b0518f840302047c435bb500673065023100ce1d95dab5caf27183f0a02fe167ea2757e009774d07e50db5c75b6569823bb818a1bbe6878f8312c58fedac05b0ad8202306c0f00e19dfe0e7c7036cf26b5b173c282050cf9d527aa7e9ed32837f95f3981bc29e2fda9396c5c1faaf8d7529a383e0302047c435bb500683066023100bfbb065c37888db6c1bce43bf57ca0e4b6153994e516d304e24fb1f7fa37dd945d3352a28f7343bb8279d74a0c01f0b30231009f050806d4bcf664b78a970398100253a11e9cafe31508fb6bca56db3cbd3445d3148bdcdc292a324714e64cc0a21ff80302047c435bb50066306402307be6b7b5defa52925e54fa4f3c55fe6e596a71c8921cf92c94b6636d37696966438c838bd21e5067415fb5e3432e37e902306f28fbe01b527299808681afcb36ff0e0d5413065c03befc98bed06bec0c89709fa08fc6f4f9d9451ae40ee53da8bbd80302047c435bb50066306402301e71d1627f7977ac9a5997345d4f646e9872eb217678d0e320b86d43a69d6c4b25fbfb1d4d244963f02515ad0989a415023005dffc08371ef31d72807619cece0f88cc3ef24e4e25fa4aa1492b03f28de4c413c763743170e251d71d84f16afab6920302047c435bb500683066023100b13593dd2fab5d606b19c91e6eb3a3f9d2e818b456940aef1d38721fdcda99df86853ca256645c70aa14d2a3e7c99c1e023100c11e22d8fa3916ccd5cc5593d9018f0819a06811c41372d361bb55ef206ff5fad47db88564c850d063c14de3f370b4710302047c435bb5006630640230362f574077d53a3232889a1deda5f0adc9a74285d458f9ca30300c46cbd7ec4eb5f010c4644c044e2e43eeedbb54ad3602302ec70fc925b23e11d658e80acd93687f7347ff9f0d57862ba20e9523243857612a62514b2165c4e3ec1a10b3fd70ccb20302047c435bb50067306502306bf31e3644b517ec493227e41114e1e279bc05517d5849892221d4a8a62dfbbd25681e7de1713cd04a72c455cac127d2023100c82bc61a2298510ab25e1ad06d77daffebf2713c0e33b8a707a1f8e625da1b614ca10036d257ed3ca163db2238d81ebc0302047c435bb500673065023100bc15b0270af31c216557a60c98b2d13c2cd0979d12dda5c30e85ae1f84f5804f6bf29c5dd59c4eda78723d460cdbdd79023045b76d3c291f92628b3d6d39d4e254058782afeeb47ef4cee0262ac05ff2faee45057a522cdbe52734e6a64139de1da60302047c435bb500683066023100ae74846da5cfa158dbc6eae3db71538d7cae6cf49d66f1409c7832da42ed32cd54cdca8a44831ccb3b22b84100c099b7023100fa0f682d42827a4a03b5f9482891a75977e7cfee0ef88b43491e77720867b2fd8d15e41191b6932a31aceffd863315210302047c435bb50066306402307a7eb4bd601db4453fd94d1ee9fec6c8cd2e0bcfc512c4e39d3634f89db1e03c6004f102e7facda381f24ba52b250289023055f00604e4da3b6684642bcf1f299bb0359621fad6170a2d67b6eca440db0449595c6c6fa05654c2719e080b2ff6848a0302047c435bb5006830660231009dbffc4d4e72306f2fb6e9eb1df9c70df05c8efc9ee176deeba3fdc338b3ec3755252872a0936bb116f5cfc229183940023100bddfed87078c719a0c464184d433590473b166a41c93c0187b4526909b3303791c1f723cf70aae0d639e2df72570c4c70302047c435bb500683066023100a05765144bd7ddbf58774679c96e9827de108a2d0ad94a1fdf6229b831e9a691654019593c30f0d9c1e4e2efd6238861023100a4c5f29d59421cfa8af72f9880db79a49fe57ff7c51c583f82162f392e4223fe3669a0a4d52db6aa4f8e359276e78eb40302047c435bb50066306402302151b676e3d3971746d6423bb5f5f37a94c715cc58471f7ec39c7445b8d69f2d24f4be1023ddca1f656e3fae7751ff3e023031a15edd2faf50762ebd1781212e4a4efff23b777ac923f6af32b7199d9a0f73aa43d2e0e57a268d656ddae7c2be2e150302047c435bb500663064023033698af204c0b76938d6ea0600ca1b77221551e6e8d5dc52494e6885819ef1767767f671757168b20bcb0f32e4d2fc250230432bb782d2fa381a52a045fa69b7ff9be1d0f4525a92c5da5375fa254083c349cd60e1228b1c7fbaf3baa72649db22310302047c435bb500683066023100a016b3541ce7b6075431ff0b09dfbbd94dd41c11178e140dd06d1370a4b7ce18bfd6175d3d3b3ba5b90b169f788709aa02310097272431ba890eef514f5986cd88f1c2f177a94506ef9b0e60a9de5772517aab2429463579ebef0dc5ba9eafd735b96f0302047c435bb500673065023100f7f81a2ffb0386f87b3f108bfef0dd83fb865953b1937d08f9e1aadb865f2f3adc0a3c1e3250e4e8ad7609bec1379ed102306dc9cacb3a907fc1983a875c41aea61d29b7ef80e7c55a7bb353d65e6542613fe070a377976c6697863fded4ccdd1c6b0302047c435bb500673065023039cb6d2077d92ab76f915fcc162da694f983d6cde76be15b71090251a92b1a9e16e1e080af39cb6893fe47e0cf44e53702310098a3fffa4686ef92a71187f4f340ecb78aeed5a8450492f80626dd5ed44b378927389041fd25d01751f4795557b675970302047c435bb50066306402306323ceb72ad9441581998de47d67785442ee60e0711a79ea05e05c5c6d185e6e2973c15382672e4268751a902f4b9dc902307e6f892ae3fdb6302db220dcc9fe9da35e8ff1f90e39a4105e125ed3fdbf8e464f9c6ea6d7fd77c97396c05f2f905d380302047c435bb50067306502304d56b5e49e10af81d2d4d9936aba1ee3247a78eeff7a5c0d5f361c5bb0732ab1aabc0b2444cf7a80fa622d17fa924113023100b8e074c1bee9259c2f900570cf9f2b9e54a1decc7bc0abdf60e017672cf8363a05ce58f46a88f197755dc62010b384320302047c435bb50067306502301f9ed1343f2e4ba9161b7466bbd80da2fb4995d996b7b19953e86b677dc0386fc65a8c81367c1827c5dc638e4a39b7f202310092c885257a7138062545e8b37f2087bea3e3769b0c388d06d3909912d41b703398deb5bb1e3ef4ac24022a65fe69f8110302047c435bb50066306402305dfb4d76c9beb9f4d019282a33129015de1a1883c29f3ac3cc4f67b05d33f3e954e52f990de258d8de93bb13ff111157023071b432f081a5bada31e1c3bb7cf00048b18c7d7d1d05a40e63f3c2ff600ee97aab94cb6fb22b943c72ef72b1eb2b418e0302047c435bb500683066023100f115e56360c0b7a2bcc3f0e6dd610d25687936b42d9984e520ef4e3d18cbd43a59f7ce6cf03fd8e2e552ad1e7b0a2d3f0231008f5ba7ad3f7c71ccec7765a8cfb87d49f1d561779f2a45047fa4f43cc94fabf3212b2f444e5d67a99747b97ae374f1a30302047c435bb50066306402300096e8d8537b9dfcbf5942fc7d27f398d7122b8b950f987ed79297a5f0b2a1f0e6d2dd8b8b37e01aaf517dea8d11dad302307d5b012c02564faa7b95d2024f752dbf92f20daccd3ac7569ab1ae9cd9e4624cb3c7f1621b6b864be7f70332e4d41eee0302047c435bb500673065023004322635debb1341f0e0379c8ad5b31d7f1595f55a1a354233448e273d277307ee515f95b7a909063648b0e4b6f590f5023100b6737f52fd60227d22c9eb7bbfa79ff7793b5fb1eabd54b23900f222d4561eb00b5d12f06ec8e1961bcfd5aaaf9691390302047c435bb500673065023100ad8297687b522eb6047ff0e01f81e382e7624d3c898ed38dfc5880d68d7e4c94d8384c17d1805db5f6030b613f50b43002302cde94885c0b4910f624a16f54010dca65607a879997a9e6f04c129142b7a8a152d1893e6c2636508c4c4699c3c50ea20302047c435bb50066306402302ee88bc927085f15f825e46d9814a9f8744e622f2b87435da82de17f2d4d6812fc057f21cd74b0d205e45514b07fca8f0230256dbf3ec963ecf8d06da7ac88578165250d53cafd139caf793a440d0a10a3d45d9b0b774872d7d4b6c4b997ed5f9b710302047c435bb500683066023100c79ac1f2b7fd6354745968f67cd825dda0f5ddad14ef3df5dc9c75669610f0f776d2eb723c92722a9471ba9e6ef9a424023100b871de91baa858f8eafdb989d3ef17baae32e06ee555a182733f4eb0a60db6566086bd52b316c179109ec0854db982290302047c435bb500673065023100e26d439a290b00f41c167975321c6aeb0e20a7e454f86cc8178cb5bcdea6017a8257ec3fbf0d882747af8b890f9a855702306af3babbde29d0cab6402645bffe4a9e6bb5f6127e97e15c4cd03f89951cb87a4c7b22cbde3723d3bcc3e80798dbf5d80302047c435bb500683066023100ec157f6ed3ad5c23267e98933174554137d73121f541daff215de5546c73eaa42534df8e10a4194c978aea3db46fce4102310098aa4012c2c7d469d4a5e4fc69c5c0ff36143738ecef3d42a3c2a79376c10f3fbd951aa75a857129a2c0cc8a32ffce480302047c435bb500673065023100c9e52b5d4ee71baaab6f63316c7eefd07bf14a8b2ae44549bb88a10d99a98a2ae4599d35d5e493cfcfbac3b3f2d86f67023076313477fed9f2b7ff5aebd06ee29538e4965e21c9a1f0dc8d0f5a54e84b1f46ab45a8c0dc3f66e88f6cdaff8155a5960302047c435bb5006730650231009b638eff1c068d829c136ca9dbdc6fc812cfeb78caba64434734a87472bf9718197ab9b41acfb73b7f4820beb5e74e10023039100d0b87dc4d8cd8e0f5e374bf174f7062b4abecacf9565ecb13c290a352e36944e275ef7ef218ef21a1682b6c68f20302047c435bb500683066023100b4b9be23b321c6d05aa51c16e57e4f2215a182d55be52e03d167f6c60c538bc4747052f74e5c8ca313d792a1a1e10e8c023100a5d8d00e7d7e672126c281efe661446a08215295e991816c88efb5b5b54af942c424160644c8f1c35b30c3c655c610180302047c435bb500683066023100f6eb09fabe2d224144360a7b3cdb8e26154015b36465cd4605ed6e41ab0d9a6fe38e4b377b91618bb88ea21346e3fe54023100b18d00a5e2af946e6de2874be77102c864f32ed2081a155da3357b0d9fb9569bd80c7aecbf613072a3880c6723ff9ecf0302047c435bb50067306502300f151c8aba8504551eb1c42c830a4c2d9843a26617e33b8777e2b3dda5c9062552e91c4df2fb786f9d050e3129a336bc023100f1cd0a4360b2204a0c712702831fcf978296731fa6afd30cb983ba83b55399d601dc7eda2173b0d55ef0681f35a8fdc60302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500663064023075eba94506016b8e281a6e7c82a74d1753521fdfae5748b84331bcc9b40143938a88f7e57f02626b5bbfd12d487c056c023053af74229c09ac4ac805d38a975768b53e236c4dbd8d9956ddec16a5219e0208249919734d3eeda8a931101b67430b700302047c435bb50068306602310089993114e7e5f0a9f3945a91d267d364795d265fdd331752fcb5265d641979cddadfe8754009b830e24eb8a6b30b22b90231009ec52984091335800c56d134956b7f56e6acda5c4133facff48f79c046c26830cda41a577a763b2ec1ae3253bc1088f50302047c435bb50067306502302e70552405e0aa9665f16fb85f1cbf0a5457843d8fde46e06b1823b702062a59c7fd1207b446b465648be60eacced203023100cd34dd041690593d06b5ac18635d8146b99fa2948fe2e49c255f922138f2f7bc855a2519eeebdd6996d91cc72e22c4590302047c435bb500683066023100e3af4c61b31fa4c4dd3bb58a25618c33f5c11b5a97ea7c940df0799798a3d366b6aa9748c01a589946cefc8fe32b80eb023100d5a09279c07f3b0e4095ed7ea8ceb678bf79c0d0aa45e6545f650dd85e4aaed910057e4c7e5fc92bd2fae2eb4b44da7c0302047c435bb5006630640230063c8e2a230f48ddc3c5ba9cfd69524fed8734333ce021041dfe5ceff46b59fa8810e8a2d98a69e065788837f838ecdd0230059dbca9177ea12ebba24c421d053f6fb0b57bbd07625373dcc5eed16d12a64116c023644bf314ddd9acc23e2706b80a0302047c435bb500673065023100daceb489a103a2fd73cd24fbfb8f18dd20f7a06bfe6a2c665d3a973f37538745859a05e4a18f3b3b2364d78e19316b660230228c8228a6d00a2fb02f9c7b9e943bca4ca7f577a9c31ff6d0f3e6fa7f0caa65c9719bcc3c413ce45a9c795d9a12b4630302047c435bb5006630640230151a88774858d639c5085bb3369f13e449820cc94881448f93afa036abc2a02f3c5b31a53accd1e53438f2c7a34a99ba02303c4b4bccea9560f61e427aef116f44b14de4f69a2169bd47ff1bfdcb4528880b6caded9103ec533b1af2c5fea61cdefc0302047c435bb50066306402305e4332524e8327386b002406cd7b08fe845a32866a0f84bd24cf7f055781f65dbe98f67c8d62665ea0a54c50cd5d732f02304a2f69470cb5591fd25ed9fda4eb4201fb2418198dca4a3ebb055858fc3898f2e70e204cc85713b3c737e65c5ad1796a0302047c435bb500673065023100be0a22a6dde490964a31fd6377fbf08f75e81d9d128f11ce87260608f9765ad65372a0e0453685f729e6ebb9b8210c7802306cd13679fda9a817825ba8bfc78b46ec7525e46cdba88e844e8bc5277bf0faff91b847ad00ee85fbb3b98f12d9b7f1cc0302047c435bb50066306402301a5aaaf93124f0422f915d4487f281f61ee5643a3427a86dd163a958fee6c41ae4ec9c62ea9b1a05b4e4fc2e7712beaf023047324412b07e0f68c8a44d4c4f21490338ef0f8914f9b8fca96c2047adc14f47ded7657bbe2d60894d24c9439889af5d0302047c435bb50067306502303c7c01f455cf822b77e2f65271662fc52e86a9577dae9b8e3855a2fa5fc76f1ef7eb130fec619fb2955124627e8792c5023100c89e5b3f71389407f7a1f7cf5d50048142a71437cebde47d075524e3475217f84d899a05ff972248e888072a93dd7e1a0302047c435bb50067306502300d260f6ce20f55ddf5e921bb5de03eaea36a9fa97effecca2f894a0d35ae6c6e8fb5f0a7420d848d8c392b15e54909b9023100ebd833db6e64c41d2c8f04ac5954da3ee6c5833076474dd5f817ff23f03cd0cfa719c5c8bcdb3fd210ca84f13ee281280302047c435bb5006830660231008312ee09507a7d4ccaa0bdea9a3050cb910d1d0f0d52280ba13c9d278e3c56ed3366f2e257321df7806fdcd2a9a3ce0b023100a6e8b76eb3185d4bbecda015273af57809a2b252dda649fb74f8af6d165bffe8a66aa67f830a8ac72dc3c8f2e93dda2c0302047c435bb500673065023100fa465bb6ace9cc602109a77a10f1390dbe692c9e9505d3e65d5b06cb48694dc9e31978e66234555e19b2c7674020f15e0230523f8882fb4761f14a6a5faed073447255f92d00c78aabb9bee208e79875bff22a2f966318d0e54e2212e34a59a079290302047c435bb500683066023100cbfdb99403a0e89d0784dbfac46fba9ef7909214359a140cb0d06a246715a4cecd52b8fb38091a118546c355c16e45bd023100e9248a0e0b64d06610ee1cf6bfe6ce0c665a0e248946c8e5508ee7f35f80446bead3560065f40439cf2afd36169cfb060302047c435bb500673065023041d01b1fc6cc4fe00a8e5a4da110b18df645272a18d66ddaa9ec6cfed1f34d507f5ffbcbaf2da1275973a7844da438d0023100ba9639027e857541532c142dfc857e2ba9c89cdfd7fedffbeecb7175c50a9dda672993347e9714d18b9e548c745921100302047c435bb50067306502310084a1b2b10ff019a9dd0de3094b2851152853004ee04872d7ce6c1912904ca4dc1ab6a5927a5f4b779fcde7fdc2ffe867023019d128e0fe5552facf82568b03bc06e5637221329c3b368088afabf0fcd1b6d853f36fa4722a272857bad6416601e9f70302047c435bb5006730650230490fec4937a35151aec7fa16274284d7cabc57de079b6f91e8ce23b39f76894dd66eeba96f67a12c48052aea9ce18326023100e185280b5abdf6bbea41cece752fdb95f8f3d98deb9ed02647ff36aa73681d97ce8bf270eb74feddad5ff4759302432f0302047c435bb5006730650230324e7ea6fc1b1f014189d6be7b0b91e2c172a2a3003e975bacaf57d625d28dda38e7802317e76418582b335ebb91454702310094f06d7c9f0c007ac5a73505fb7c3da6d4b8c0a76bff12991e78527c2e53dbbf17fd350f0466eb9c051a1b32d8e443ab0302047c435bb500673065023059aa635266aac7d14d4ce87438fb435fbe888497e61cd31b12187d389cd7dc33a14288c877ed76843083efdc7e3ce82b023100b3d374ffeabc459bb9aeb12e092f4f70411a7d8f9af3e50773d88d0f60efe9863df63737bb5ce775bf9b2ecd6071da5c0302047c435bb500673065023100f370aea0f196b2570aca5946495063ffb8273af035e7633c6cd37e33116fef51068057d26801437045f1098cf719417b023048f705e9c757ca7bb6f49a45245d90ea344b7b8794ccfa6dd9932fd8d99207fe9e8d24a659631637f4bd6867c46456300302047c435bb50066306402301fbd673b4218b5530e151bbf10241c616814ddb71750c94344e7940f2804dff7b6d5b2e34f899e1cb696c888f93a90c20230527bddc9503e8623c6ad4049072a5b328630eeb0fc7761d9af484ae1f53fe1fe4f04e015c7ae94f8ddb14f036b1f09ab0302047c435bb500673065023002ee0756ef4cab66d6303fa12cbd641c2f4807237ae523bae72a2ba17b43f428b7142e7fc503e1d64784ff830a1b5af70231008c20e3d86c2f6e9c474acaaed6f7b640e5d465b6fd6b1dace416e91a0fb4cbd4301a01509533ec469955b65e8473700c0302047c435bb500673065023100b692110ece40a6eba39f5fe1d9c2d5edb34bda62ef1912c40215d58c58febc74130372d3e5d7233f2c46f300a8c22be7023037ab7d4f07779cbd7eba681f90624d64d06edcd1dbc3f565612705647323db8d9a7494ac6fad6949cc19d9071688db7c0302047c435bb50066306402305cb3e9ba1ab1a37a07fad7fe60604a7e191a37bd76d795086c1aaa257af57fe453d6ea193300b0b6fd4de79f0c8dc01202300ef5c8a9faddf32b189213b6442d06b04b465cca1eff81c8ef75540ef5f3622bca3e5f980e5f643c7226c8c98751dc210302047c435bb500683066023100faa7f15532b5c0482170595e7c5cd97336ff40e69047c96dd55a62d1ecc3af831a98bbb5c45038f334956be8087c1d040231008044b5feeeff064625238cb245071973cfbe4b34c453fc9aeb720fd29bbc863f1e8527c2c82bf0d11df767acec8a3d060302047c435bb500673065023100d8f4a63b29aafeaf1adea03f238f7204e75441072160081ec6830ff0070b4482963a436bc9b99be2fb37606cb3b9f5ff023022ef8c9613080e309356fa7aa433e9063871d5466901e234f82bd9b3e3b895f6f045c60acad482358e578e0243e2fb310302047c435bb5006830660231009aaf2619ddca3cfc343817e65c933447dcbe5ef40671713b49124c610959ad8ca03cbbda1dfe489d8bfcf6f4de9ed565023100c8cfcb67ad11b15668c62c2710ff65bc3b55fb03b03ba21124a43cae182732153daa2f5dd2c89165dcd582961282f1bd0302047c435bb500683066023100e669938c8484adab2ecba37f27d150dbd2d6927a35aa5fd2f53b8394aee01f9b657777911f63f7f14fb57326f0ce9302023100ebffc826420643571549c461091f2cbe2d1bdd61a22c5f3091be485bae6808d29c5a81f418b723f5f6e118fd3d13dd3c0302047c435bb500673065023100a15f816d27f063c567966f2762d3df845be284afd3f87bf951061f427568535dfe52169d0f598234445d27c907ee88cf023069ef5a07ddcef59f5bffcfae55e66909c513b4256a9dc4804b9f6fd6e9b992c8b0d82d8de56481caa4787da3562097f40302047c435bb50066306402304078da9b4ab8e13ab53c763befc310537922c6d50230b1df430f611b4c8f204966bd270283d329ec07c9e227a77ea6c402304dea876650bb86056e048323cef7e5d8e79dff281100abb2ac248814abf88183bcf81aa13cf449af4e5ba3bea833beeb0302047c435bb500683066023100dc6526d1d252e16a64d9bdd345a57fb9ce728e6a4a0dc3ff2924801031a332b653e11010c5d29f5129f34bacff3f1c9c023100fb939b22c0230bbe26a603b71a00e9a2c998bfd2ce785026bdfb21676565918725d21ecd308683b0e7314a08d2cf2b2c0302047c435bb500673065023100c2e7ca6a6301b60d6487178e33b8c78272ac1e451df8895a38c298aed1ebe27cea66cff8e8b3a29c453cadeff44d7b48023066b469c30502a8d704732e9b5941d244e46244413c15fd96cd9dddf4d0dd94dff81b9cde2fba9d7259eb0a6ac0da3f750302047c435bb5006730650230405cdffb6d8028c00764d022c439fcbf6a87396e9e3d2e99eec9cb893bb7309c54c5fd0ddc6005b88a7c9bccdb11c7cf023100dcd40b952270d594bcbeb619721b1fc5a64149e53d56662411a50fe87ef1c12bb7c6f7e1b20fb17dd952d1236e43d3e00302047c435bb50066306402306d7c4296527e54adaff120ad1675c660a4ab41fc9617f5125bb1423925abd125cc67109e29b6cca5403b990ccf02a7db0230108fefb9a1a28afe1ed0693796f3fb5aa087c41c52469cc43ce03ab5b5d16d39a03731dd4db79d35e77cca892c9990a80302047c435bb500673065023100830543a38f0e78cab30cf824986e66c3916c7180ef406e30d96eedaa4728f52e58985465294797cadeb8d5eeaa8ec8f7023035245f457603a75054eabf384c3035f4fe3e77390acea2d75e4fac81f3184ca948202fcfb3a2d22022c6f4c055909a770302047c435bb50068306602310097368003b0c1f0e800826d489879867eebd3e89189ead0f90eff92fbaa0ad759155c4f5edc66a6e0b0748ec84abc7466023100ac4751ea659b0464524f40acb5a84c40a075ab5b2a58206382d46a17a16e558584a8e294ca9b5f4ef90dc1322bc10b510302047c435bb50067306502306636be707238b731ad8637147df7eb46eeef2ca9a640879182e983a44ff1d3b17411e240b2d3b634f6d04e6a7ef6a1d3023100987e75ba7164ced89861e99954c457fda3be45b380023d464892d290385ddcf6e3f8016ed454391202bccf5b4983eed60302047c435bb500663064023060ddf120407fb7087fb496b2576bb5adfa9fb7ca4669b3593d7aa1c382e7fd9e6159ab276ece579d93af4d217490febf02306b8b79dae921613eff0543b1016dce7c9a370c6dbf974a4d849ebbc8bcfc092692e4401f4b50f8f7d0263f8b33ca673a0302047c435bb500673065023100c8965b4c41c20102b7e8011d6f6998a004ced42a7b98e19942550d4d0beadb2a87ee7696dd314f31a1edf17bce03264602303567361d58e8da8dbe2b64a0f17d0a45d84cc47753d650cecf7f84b1307ad7d0407041693952509d6f154fca08f70a0a0302047c435bb500673065023100f987f52084d0540846a3edc88eaace904447575949dfbe722bfaf6a3cfc4ade65fc5d1bdb255bbcb555efb3351a916c70230493001ec436f56ee8924199a18a0e6e79affa7e790ab2b142b8aa87a09ae99e6713249396c25a3f6543d21569797cd860302047c435bb50066306402305d636fdd98d86fda09f21c552b2363099acf500721d69e3a52eb3e1b5af0722df160bc3d55b5814c7c4756aac7b897600230220964d7ad0c3c8f7b7f042d416f28c4377fba2fb8ade17b6915fe585528cebb70fb03171fc6d900e5aaf66bbc97e4ac0302047c435bb5006730650230629496c971f2c4ac72386b565c9d02c2d6420e5e37e089e6efec6d7b8f461693d8f49945e00d2b852823b08539f48081023100f33aa240b2ec3226e0a727a364873c3a9fe9c6b26c417d52a6cb6608605dfb1dc90baa1a0ba384b29734f4cadcbf95320302047c435bb5006630640230010716e5ebc6293d88218f7aef7cadbbfc42e90330baececc653d504813613da5087cc4a59d09d8b3453c7743e7ab6cb02306482eccb5c9c2e22c2146e9abc9c5013eaa88088425713c5a1024384147ded152543205b7c008796155a153aa38b29c50302047c435bb500673065023100d6075c8dfb3e86427d40e22b883db522b313b2f9126961166b2591ffff9c5787eca00c5be3d7025a8d3e95c95002d6ac0230419c6e0d94cdafc10c48d713d3267486b7a2faabc67c096dacbef86c1c0ca18b44d88771fb5b119a4c8f5901db8a54cd0302047c435bb50067306502306cdac2888dd485957db6573cf0bd139bf7920165313e622a6e77ff425bffc74412aee91c305af0317702ae8dd4456443023100aa3d201c2034df52e49f8bc8cd99a2a2c4bd307ad3639e52961579477416f337422143282726c7e179074fc2fddfe97c0302047c435bb500673065023056038e61506a68223edac34b91178631b2432281883f4e92057648ccaef18c30368f6c9a3be8758bf6f65a74380072460231008976fbd294979cbd7df7458ec1d57faee0c2f550f2de22e7474cd883c4e3398aa10219df8ef24e7052dadc42ea4ec7160302047c435bb500683066023100d134dfe0aa728021a19e15ba82aabd0f6bce9b9ea72f923c63dc9341403b12c7f6fe97f7511922caddc67d9ebb885d18023100b6010f68c06a94b3a05c5f4d814ebfeaf7e195ecb67cfa735f7b636beac9fc714329088653f5b82cd3028bab282afa860302047c435bb50066306402300918108ae811193b76af370b72bc05c312e13695834cf13bf9535fae679de61a0d63f91800867193213dfb99fa19686f02303f4852ed76fff31e4a473289570289998613f033381b64d2ea6a793abe843515e6b7d69e24823ea5b4e5d95a5e5baf7c0302047c435bb500673065023100b88d33a1834bab3c6871b396c01c23fcdf6620d5a1808cc23bc951240ccfe97308a2bebaf9f3af6c69f0d63d12e443c20230577574df142c647554dffd5fd5f2d0b6efc53d5e2eb1d8ca33a6298f11a6744c591b9c7e11f496db6d072023ba99a5710302047c435bb50067306502304052af1b4c8aedf9b791cf75ae16d3b13a23f24d1a2b0bcc17db17ddd23cc6565c26d5f383ea42451f232c135a649a6b023100e9847a9d038f7566034a058d5c994b38858cce3c4a11ab8d5356e7844866edf1cd5cbf7e54a2206717d628e7a3d05e6c0302047c435bb500683066023100b70997a204fa365bcf8b7897ab53db53fc815541fb4ba2213981864b1ac6214b35975fd8981ad9dbb039e026d0ef2ff0023100b9bc471051c6079338a9a8a68ebf3a0bf8a6c23ff7ec7b6ba6856a0214506dd088e2823a65c2144deeb007b1e51f6ddd0302047c435bb5006630640230458248257ca6f619938c162c6f7b50e17cdc8bad8b92b208c50299fb948cc841309cd857679c1a44adc2730bec99c80c02306de18a24bae931370d46485cd42073376275698dfce9d144ddae2f07eb6c88269dbf619e68498992279fb32c4ec148d00302047c435bb5006730650231008553d10f22c14d81210281bd471a05416fcf2458efdfc6e12b27594ea0a9aaa38197c14b5a3f18d7881d0f01aee26ee302307a67a99d78e33c0555debbaad0e3ff32d12ee5a5e056a0b0c903cc8a9ac423577ba6d1beb073004bfac4bdbf30b93ba90302047c435bb500663064023012a31505589011906b25a8495fa3390cfab2c56880587421b94b739e05bf7ce5daf528218d9d52be0df6310138d0c298023033d27e9f605fd1120ad0e46492a58fa9e5bd7815254ee45a3286e10b6c501554412b8ab684b5066637e7d23b1e7e9c3e0302047c435bb500673065023100f8121f18cd9026e44e5f518e75a7dc8fb9e9ba4092bed85aaab0c7f3700165f8b226fb9367856c7a6ffa0e321cf5acd20230686c0a6e9b43984c46090220bb1e4950355f06e4083a507e13a0b479bf42fe2507a9a355ae54a98acc19104cd29425e20302047c435bb500673065023100a1d001432fbb32b02f1ed95fd06e322a2d27aae508ea4cdc3a0ac8f6c4e3927c712c7e8b958e4be5afc1da2c66711fb902307edefd6e0e8637e329cb2850b0392ad5b3973fc50729533e7c7f85f9625ec6ebd9058c2f204fd5d1bb182f71d71828e70302047c435bb500683066023100db9dae96cfdb5f8123d020209421aedf6144363ea51be47f705e21d6abf76377ae8fc0814ebc7596c465d2e118f7ab56023100a86a56372ee66c74a3b833b07700d0b28ea49f7706cf129df5bb787092b197cb20f3b81bf04584f36274a71f3c5a62de0302047c435bb500683066023100dab7ac0b2b4ccc9bb20dc033068f8bc46740e61dce80f74d4c8dd2f623b7457ac2bb6259998bfab9eb3592d4ae47182602310095969a868708c74a8d0dc270948ed75528b3e3db3ba0c8ff0254eb0ba3455b6a9faddca756b561d0116ca6eeceaf84f50302047c435bb50066306402302e0646e5fb43561463ad0ca76db1d8d0f65f66f4d48c81ee3422d788ae65ca90209334d59a5d073dbdfd4a4368737195023007fb0348c0cad751c46deef37bf035c3717047f138c54b34482374eaa5b082a6d02622be1333df7db722d84216a169270302047c435bb50066306402302132c95c12c825711c43c3c943765bc6f065c2f76d4fd987fe838a704e83c3a63d9ae836d092a9b287167c69d10a307d02304eed78ec50917f9a75fe603b5c66cd62ac1ee643b3d14a5654c1d7b62d2131e682d19989e27a7b8b9cce10f9216d6e760302047c435bb50067306502304493cf8af365393c9109c935d0323724f80ca24e5f66abce99c9ccef325f71a4f8c81b91d450a5e43a3634d3f6cc7f76023100aa40b0a07c094ccf329aa98042bca8493387644703b9df1c7f96b576a1819731a1a0f75e973e54cfb13577d1d60723200302047c435bb5006730650230355e1139332e9437be4855d4614f02ca6f4a378100d9f3c3411abd3bb2999e648c050f396f9443866e8df7a1a800ec2402310084fa95dfb6b70f67c0a7c00fd851af8eb7fca1c02d7f773831055db061c6e5aa84453a115d976c0dd7423fbb125efa910302047c435bb5006830660231008b389137c7d9a7b7839bd5c8b0aec263252f53b78b5f1243a7a655ed3d5071ace7708fe7bb5df19471ad8e61f6b6f7f9023100ce7a74b4f2848f176752855d3a4f3be71c7ab6883710c46090162266d9f17dddc09732d9faf500e87c6821fabf4f575d0302047c435bb50067306502306f9bcf9890da91b47603751a97e8bc89341669a60563177eff094b4b56fa1f566f93cc697efa79f8eb2e89be24e38a8a023100e2078915bbeed9b2d0d765f9430e9f8c44ebf0ae6b1f3f840ae14a32af0663f7d8bee58c9fe3170c54965b36bd7145a20302047c435bb500673065023078da10db8b0a348d1c79a5089b2185b226b54eef09367d46f1e232d6b7d54f49bc022c69bbbae4328034ab50cb7ae718023100faf5754d166f0cb35207c0f19d6d2319c896bd17b33fc00244528cae72b540eaac0c58261c6e552f23002d4a85bb7a690302047c435bb50066306402304a3739d687786c40fdb2eb7762961a6eb4b7fd6436ce062348aff3016a80793d22a74e4bec278add7b77de252b2b88de0230499b396c7fcb62683c0b6bbe7bc60348a79a34e0f0e431e1ccac2ff5511e7ea703958a9dcc4795996321aa2abf787ae60302047c435bb5006730650231009722fe8f44dc03ee79ecb350d1647546f913cf4939a6cd0d6e45e212e77c6d7e92518806ab1bc18586802a79c6b9156c02302fc2f988d577e82d107b139d94698faf48a47ec7a0012ddc8c8b54c48620b4cd4e70530665a0a3b2a9aec7d4ff62252a0302047c435bb5006830660231008536a2b6cf9c01561a202a848528e9d68631b7f0abfc4a2a2a33df890c013a8851098a85d1ad333a975da053e451c339023100d43f95e877936d864595af8a60986c4dbdd1b6a2bed2384f074bbe90630be4a85b088da56f7972fb38c49512b4b8369d0302047c435bb500673065023100f934139d956b591c7a4165bf12216c26c11fc7830ce7f71cff74842e43e27a07499514349277c34f61e07b829e6d9174023022ddf5c6e31fa83ba03b8bb5170c628daa65d6a13342b4c0673e823f8325514237e92749069e4e3def27c00e2ae09ef50302047c435bb5006830660231008f76c0e9c78b504938d676cb512ba0a952f605ff8d99010dc0e610f03fbea7ec91771e227121c15dae96687b297c9d63023100b6a794af124ff2e385bc7ddcbdbead0d4367cb0dd57d9f89d768fcfd91f32f8bb0f9758d14e6a1e696e722fa0b855b050302047c435bb500673065023100b55506801e5fa42666c6696738c574cfc2c84cf2fe8c94424ea30adeec9738372a36d4c30b8ca87b1751f100393e79e5023038384712b4624554d83ef39e6ea80ca23c8c76c0cb646afd2015a3d8d88672708609f497ed9bbc76b494956ccf6e534d0302047c435bb500673065023100be352d01045f39828386f38e5f58474d2ea7daa2d13e37f890fd2de9021f8fe77d1f3bf319aac4e6e969a9cf7a416dca023035b5c15529c0fb9f4d3218daa6fe33594b7f0b7aa3a621d3fce1602d67b3a870071791c750802798aa52bac7cb6ad7130302047c435bb500673065023100b7041a03ad9751a22b04b72b243cb1cf9e8b4d1ce6cd791a2658fc4bbb10129636dd12760be90e8638dfdf07015d018f023039de55044dd862f709f8c9821a03c38a53471ca8819a2c38a311ae670110a851cf67957c466a34a2ec9f76db7f9930d00302047c435bb50067306502300318b7bd3e3e075f043a63621bdeed08caadbe63649e0fd871651c1b5f10998e82f5a50dc0b5856deef205761830ca09023100c0e19fdc812ea2298503f5a7d694a4fa706a4664124734f9b8a45740b7c846e5397670b58499040271d035b6562c76010302047c435bb500673065023100f6ff45e0f0b94c9d0144f99746d08d99d0d77cfcfc99c7dbdeec4a81af43fc3222336d72d0290bacfa09995b8f305824023001ab6a0ff1d08568075e0587bb6ca2d2ff8ad43e7bf3908252e6caa25bab822885a59f22e931fa2f6a30cf471a0140160302047c435bb500673065023010b3cd97d54dab6354063c8cc180389d51aa946ba594a15916ee1171f569c6b96a3e719b50e76c6605d7f51056273d8e023100d7020f94664021ff382c1929aabaf8c7550620a27d005f1dc1d1a64cc3c36c960b7411ae122a6cac4d159a7957e2be320302047c435bb5006730650230105d81c3de11c78a83133c603652a62d81e72a48f4078d20cf128f87e0880dabd60e43e053d567304262f4b2dd890049023100aa0dde346c8474343dd3b275bde7423a19a7643f017753c8ade294c07f7bafefaf3d85e7eb43470bba366810535485c10302047c435bb500683066023100d26a7db8f81e54b9cb66effc9396c0f2ff77a1d44c344a42082fc8422d2a420235235c707f49745b3f4f380c4673117f023100b736e680660d40f4a9e312bb57a560a074591524b612834827bbb0f63cb6794f2562c15986c402b0687d40fbad7e32280302047c435bb50066306402304847d02c853ba308fc8389ddb7a83912a1b938cfeca5a91e45e29896870e7d99bdb313f7f2cb0cb51f0108fa418d628602303b7345198433ed62fb9f832655e7d76eda162e909c284a832047dd7d23a383ef3634dbda1b995011ffc4a50dc273e68a0302047c435bb5006630640230090fa16d7e8d1c6857b055512139c0c77a37179f07709c017633adab7df2b87b7a0b6865a7940db97f73cd8fb862746b023065631bfec75328d6ba7d6779032845940350f8a276d9e2e26d039e39e97e1f558bc3f814dd982b3cbeb435f0d286caa70302047c435bb50067306502307e6e38fb348878ce0faec31089ab5092bf6b07d1ce2efffde8550cd5561a55302c952cde5c5500fccd6da03bb37ee743023100e7abbd95849840a553e091198515604b78a94fcda771f1a716fa3084cc430f0cd1c48f544d35163e90db901a557c75370302047c435bb500683066023100ae8be6dea9aab967d0a06d2a7eca882280681e3d382191f155c1b1af8d0f1903c1cd7116f26ca96fb7ddc38b5762557c023100ff998c40b54fa98aab4d9d05787059fbb491e7303c0103d67daa3642dd8c9686441015f39b14446125f41a8b7cfcbe9c0302047c435bb500663064023043f88d4647188e7633431494c4556488c525350cbbcf2d002d920bcc940d87a2c2f0d3574ba445e8fd37079cb0c07bfe02301ccaed9cc4bed715f18ec83d6d59f303dd7505cfe01577c0b53a66eed4d5ae7703d40cd9ef4bc9e5c8d7cf5187276bc90302047c435bb5006730650231008c257881cdc7a3863aa70d2b166a9f629db270ae53f9367370ebb473a81f04a0b4aacc2b654cdee3bc14e06334e2bcac02300534c17552b475e7ce6cdf159c799d6a235c297c31396f749d4ca4c8921156729d0cca5acfdda701d8d7d76a13d1751e0302047c435bb500683066023100a110fdeafa7b01289953d54db2a1b082d13ef0ccb7ddd1c4429ca997adacaaefa694f4b9e45c49344f53cfe98404f9e3023100a2797b1c31318be907f3592b11a57c58ef7d2870e2c8e586abd09a4dafe332982cf37ac288a82ffa8b27adcc6b225b550302047c435bb50066306402302a5d6eea10dde82fcc472217fc76fb563a49a288a54b40cbff90f264c5321f59dda66d24e14c382720861c2c228469f702303d20ba778829716f7e113dca390ad746d2b2c9316750753e7385e74ebb07c3b2d89b32ce931d0d24c36b05af947e8cdd0302047c435bb500673065023100ebd40ede7c019990b4ac8e05b1d3ebc93ab11b088ba9e6c5ed5f7d10eccd5c819a8558106ace2a457422f1b2de9b14850230761bc103d4c02dcd2e5ab50c2354d014457bb95d8d6de9364d0977e84574f0a8ee4b4e5eca0c36ba427ce4a678f100910302047c435bb50067306502301d39fc25c7de257c67b3ae3f7f1dda56970c9c4a4bf751b1bb9ae6fa6c8b4acedc978f5ca339cecfc72a6dd129f56062023100aebd1bde4b27f003d4f008d3f88c274bf094ded5c8e971deebce7788db342b4382ceb7de8e6492e2c1c8ae07a6fe42450302047c435bb500683066023100c6b5243c29bf56cb9a963d48043e5bae6e44c2ff500755c5e962ae2d9e89434c033dd90e6ff15589a0d39683654fa7c9023100cd1ac43b11796b1b8b8233934d4326d2d304c727cb646bff6b772ea163e10a027553acdccef3ef52b6fd6234e3416ba00302047c435bb500673065023065931a955f1771e0217fcd796bd6cde882222c114c9b81ef2ccc943ee301f959b7620a6cf3cfa2bf9dd9c4e7aa38a946023100f27f0a90f13c1847273802c52c6330ca4424e4d7d1ed153c5e2e07cf8aef9773012cdea8752a2312dff8c363b50c767e0302047c435bb500683066023100dd81e3f7c954631435a6afda31159f5fe1970ca1ae53d460127793951a570087d66b57256ba3ba61341970d2cb063c2e023100e2b291411230c08599c22f9a34184c2097578cae9eb5457674b49faa9674d9ad30befa4dbeba1fc173209fe832d1cbc80302047c435bb5006730650231009a28f27db4dccc594c27258ae50678f8d31d7e1d07df43a31c8652d02fa741871a698a4b5438bf1b741b2abb7ecf8971023013248ec010cc8c8d2ed83cca8983c2098a7a582d89d5dabaee2af82918448361ac41c3cbf59efe318ccf7ce2bf5e21d20302047c435bb500663064023074f7c8da3c4bec9b6c5da3f02059b997dac63ea30191330556713a6de1384b20d9b342387d60b1ecb38282ba841e6566023058db6c32f1750c74771700d7291704247143a3dd56acf2e9530c271abfea2545fcdd1adf8f41ad9d7276738b84b79f8d0302047c435bb500673065023100d76fa642154cdb085b25098a0222bfff0614651d4fc7d77be336c44de0ba049d64b217f19379030a7eab67e93358d12802303a6987fdd2b3d8d3e3e8edcde507d70b263852d86db35dbc1e76a7ad3aac7cdf7d22885cfc93ece60d6c5f56072f99e60302047c435bb500673065023074dcfc052a8c978262719c2b6a755e858a4ba59276875ffa94aeed4500fb6d7c180483612eacb9a38603f0e7c58bb449023100886fd9ace10b4473511145a6e4742c1c0de17c404587e795e811eba6503e3afbc5d3922752d9e07a3bdcc593993181ce0302047c435bb5006730650230329c11d903091c0323ac16a4ce7f42e81a8f2ac5bd36a1ecfeeccd77be915589c9862e3521fe80efc8c995665c0a746d023100c6fe6dcf718297bff13cfc8baf3e0555b0d15e7bab871bcc7fa5582d90dc2e6305b7f9ba0ffe0cb84e62328465da3bdf0302047c435bb500663064023059d63534359929bd4746488f53d736b7da3138cfe90e61fe0a1f5ff06d82b8b65667f7ad8a16d7c4f7ad8f23258abeb302304db98b919c14b704af85b6440d8455dece4032164f5c8ae35c7d49a830bdafdeb3e7494608a5ce03f2cf902ef9253e740302047c435bb500683066023100b7e660ad8b4645ae51ddba95239587b36ff55621753bed7ff3da585ee65598ec6be1385c5f38b952089e9803ba28b2e8023100d81f0424715386974d692e8923716bdaa40b842f814159566c269a429796eeeb05e453f050fe6f4fd5c2d8257a30f57e0302047c435bb5006630640230396dfa409dbda86ef05a97791a11dca131c6f2c2fe7d14202326ac41d95249471f81c316d7184c29e2c2dc1edab1e3ff02306525a6f98b429dfc8290b6ba4b55a04f1af3c79bf0cbe1b04f97a7abb68b7d731d8e41f7cd6afb816b1e5e9c61e8b6020302047c435bb500683066023100e8cdf249ee9ef03c9db6882ce7592b7fc7a20826e20be17dd69712ac5304fc3b8862448ccc6ee8703a18e43aff08ef32023100e2d77516901f7e2d3663a0080ead8db528f1680ca8c8f952fa3585fb89e0c13773bad1ed7f947d2a82712772a2eea1c50302047c435bb500683066023100ce95e6cf2aea7fdb233b98a6602980c920b73caa52855d44208e4ae966199d519d1046f66a605e55dc9aea703d588ea4023100f6a1146204b00e8f4fa80703ef7d950925c9bdae5340e3de7764933f4086fd5ca5ff2a17e0c94894fd37523429a6515b0302047c435bb500673065023100f0d7ab8e2e2358465742234521412ed26c56e3b4708dd6d314999c66459853c32e974c53bdc2ea7e97c5261ca1c1f94502305e537782b2ce2670f7b4cd875fc9b9c9adf4aa0c2eae39285bd1ddc7e1ca80087f66c436e99bc1c156e9743649aa6dda0302047c435bb500683066023100a1ab5d74e867e9c33c8784c93258fb4d25079d276391be6813ba7df5f91b3b47781c2f1d551d8b49bc7a974ea2daded3023100f61283ae8b2151d08cc4cddaa6e8ed565cd7637ee2919c1ba29a052c0387a624e8b62852e205d5c713a958fc7867d63c0302047c435bb5006730650230600365bb41c58bf9ceb9d717215488b96c213a36713717bc5537200fb3636f085a02bc47478ee0dfabacceba2f82ba58023100e130291ca683e594c9de3bc447c05baa9686c6bbf3578dfb2fda2a520e61bd45677dd3a3b820635b183335340e38dcf70302047c435bb5006730650231008b52414aebab732e29033d073616fea6f58caa464dc8ef9830a4308f631e230eef2f22ae91a367ae693cbfd7c78912070230196a016852bbcac914c79c78df9a9314e441fb7d79bd566b200df66b8760dbac433bac1082c6168b313030a0992340cf0302047c435bb50066306402307d149b20a9c083b92d0fb3ae182bd41e6c203274488833ff8f8db06da6b4b40912c1fc6dc65aa5bc342c8cb804b16bde02301a4e7f41af4bac7c2413a7bbea92f4d48ec0b9126e9b76739e6c68c2b063c5a7fd534f2277130524910c390064f84ce30302047c435bb50066306402304e26dc8d24ac67c0a25995d889f0523399206f575b069670522a4c74166bb5b7868592d9b01c2efa367d8e80e78ff98b02304f45d984b6743ff3a6dcba7c4db32e82293cd14ee09e6b12f76b79827ed01dbd6fbf8db61b15d2e7b1c4fd6696020e750302047c435bb500663064023065a65e212d9dffaf561eff70a063f35855b54440316cf87649f8bfd793e43ca579848c624d126fd2782466a08dc2676e02304db6d904a35b281a006d5d7b45bc5fdc5e011b7d7483dc0fb9477484d22eb80409807f5917b54bcb3c69251c64641df00302047c435bb500663064023021e882ca69d6a7acae7431b427be0552b7ceeefedaecb389616cdf4806df07587c8b278e0db81993a79b05fa9206e46c02307c4ff43963556813652089224fd91b800c46048989c2b8566acefea032437027eb7db304c214f21abff7c71f335fc4000302047c435bb500683066023100d0f21ad77250626205f8d13f672c866d296a337267850b24c7a27bbcd07c548f350d5981de9fe16cac04ada3785a1128023100c8e2c2eb17eca1b81e76de2a883b809fc9567a4a3e3fc1e6fb997e342f40b4e873e78db87ba9f8c13cac32e75221d17d0302047c435bb5006730650230193f94beed78824a1575d427beafb5d6816f97b5adc3e5ec4266dada4cab44b98c0ac83ce399c6e07fb62db68cd30b68023100861735562e507e0887722630c5b603c71eb9a7eed04087304581cdc18a120c09cdc01d663085530dbea4b516bdc8cc110302047c435bb500683066023100dc7008d07e68b5bc3a5782da62d75defa5af9db82ef9636ff65ab0856dff3661ae8eb2e9c1131a4d64a7f8f50c25a2a8023100bcb26838c7de90aed2ce1debd1493fb9fb7f78b10e5bf3418e424d71ad597d20ca4bb323f3a63609b7c6f2fdfea6d7060302047c435bb500673065023100a485b72c5ef80273c874a1da921a65c1641ca179d16fe653a39a8393eefd03296f8f3cc4442bc44c28dab1a06f827ae5023039ca5f974f60079c2035607e5b2987c493872c430487ec7ef3b7fc431227db64beb5499568f2e387891f1e66e5f699980302047c435bb500673065023100af081598bce5ec861b0330125123b60a871b941fc965e454f1e8a16aad5ca027694f7fd1dd7ef38d61c8a4047f757df70230614534c75d82ab7fb952ae940b13fb994e8604262ce1c7a56ea8d372ceaa19f553034664bd4504fe467bb4bc1a4692d80302047c435bb5006630640230215d1f66ca21e664019a2230ccc12d82856ab0570795db2c3c7dd2206671c3bb77e64e095942eed7a13a329ed64e0f8f023035faf1765e1448128fbe4fc378acd981f478b1f22ae27aa9f917e7f4b32ba55555c21cd2f6c08e837c0c817e7080c6890302047c435bb50067306502310097e8f25c88ebca4e7291acf3dd019db43fe7552993176703df745ed4ca59996b72ee14a206778245dcee26a047bc1bd102300cc269ccd7f89b0302a7c18bdef73eb2eb7b1b4b2e1c5ca828ea7ecd18a48de87936d9cd65017d239a8c6cfc95dfac090302047c435bb500673065023100e65022b0da5514b23a5b2ae1cdd2f2dff53a3aa18ccfa9fde590409b40bc3f7fbf29312b6ac9d7641235490a4bac96f9023022ba3b058948c9b21ca0f26cdc4cc3cd69c81e533e1023e42389a1063ead2dd1edb75a93a2450732e037fb0b2d0a450e0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023100b11f1675ff1812077fdcfe631aedb13250fa5fd8becc70f067ae82f76657613794b5a3ee20bf9b2de7f814585bd638350230459dd628b91d9ef6846f444e394e243aeb5f3ac7c745375566219c9e20368aef374df9d53d7d17d71c13cb887b9bea920302047c435bb50066306402305af4ba0f2251d5e305af7c570a1073c0b20a2c748ec4c884104bc5341822222f6833b60a1f4d4b1f1f6682cbb329a93c02300d8932a8e81400608c478a48c966ce668729a07b20d1e8fd217f84cbfdec4d0e28ae9eefb0640388fa81d5ba390562aa0302047c435bb500673065023038a15f5879bb293d0b11ff82588803935d802e5d846630d1dc08dc27253a5122f205baa831df2f7fab0daca7e611a445023100f105437a5b044dde6a48872542f8283a45a99f278cb3cb5f18a56acb24c0fb8aae86bb1734e0d49938856d5d40d7caea0302047c435bb50067306502301bd69edc1b43d8421bff9ff3039527e94865b1fb8b23b55a00af0d312a9b723b09fcf43625438c51d2efa7f68103298b02310097d78a939695b2c9122016940dd9b6990d484b4f95f273d153a0c8bea9b0f1367c025a110f448417ad75a0405758dc960302047c435bb500673065023023c802e0910acf0f852a66095c897e222f2b8a78ed2b0dc2f5f4a3d05bb408109b411dcec14502bb70fe19e82cc5a5f40231008438494106454649aa8aa9ecc77b0f85e0ef856158bd25e9b8bbda0dfb6a51a443dd3fda2dc6991a806f54380fa75ab20302047c435bb50067306502310089782628684ee44348913318de2e7b70f41acb5f9f9adff42235e0e68139368fb84874e82097ac0ad38ca5ab030a3a9902303b7e4e92d52ee3efbd5deba52a19094b73db3bc0efa9d6da8eb1d5d1884293b5fc835956d39ee7dc1d5aaeac44fc103a0302047c435bb500683066023100977329979879fc5942894a411d2f332a9f8ded1d78d637a4210193c9321397ec85046d7278dae3a93fd28634eb36e612023100bbc0355e0c3da9e2a28e8f5e6d85a0c65ff601197d33f0ab76883d9d2c16466a0edc4525266065be87de5418f0a475de0302047c435bb500673065023100dcdf19f04f9d53de320754feac05420dce72c0c1a155c2b67da8115f0f467a0b5fb7d8d1a5843a500466fa494531bfc10230708653a8205e3dd60fb3ec361b1714a3d9351f10ee46b4aa20831af053c6f4a497873f2a44e611a63d76dce94277f3f10302047c435bb50067306502302aa90d253993a3fcf216cc87a9d31cf215dcdbba4ed5565ea05b0b62068c77c053fd3dffa127f89f9442cb15af73d647023100aabe810a869dae42836211e7ee7a2445f220c7bffea1202430bd881e52c9d218aa43482746235b938e09c64a3da2b58c0302047c435bb500673065023100943a1198f20f1084eea992dcc6da9c447abdaa0f9e02d264550680f242e419b38dcef087d811b7c45fa8240d08a4588d023006af5e0822c2286ec76ca912e9533472a2f73717dea734abc24514b4ce651b7676982084948f2386dfa72980d4126d8a0302047c435bb500663064023059cbceaca9feca4f74325f13ee83cb3937b226a78c1a1d6508ce97979a24f1591ba899c70de83c0f78fc48e9ed8cdb0602303f3cd49e4b5e538b3b07639b9aca54f5a4a8ea621ef46af1e22516adc7767665e6a7bd19193453555316067cb658da360302047c435bb500683066023100c65c639f228dedf1782f80a7e2fbbaa9257ea6e1b4bc9c7aa96727be251b9401e988c821d22c43cdbc45e55c45080ae60231008aacd0755ac56817fe3f4f64ba73750002a2c33aa055d6bceb614e5734194fcc3c50911cb0345ebcf5a2917c4a8064470302047c435bb500673065023028ddbcaac8aa00a5ccdee6e186cbb72c98bc6699fda5ca1afa4bd39870caa9e19019060c44494e81910cfa8d7b86bcb2023100a37d4cc82b430d2ca3a39cdce3893733b7f2f40142366862cb7b52d8c2f467e2135c9a53ad4aeee519179262fdd48ce20302047c435bb50067306502301499078be7ee855dcb1711c2e4362a18d7d476db13fae64224274b8b68ee8e40b04302a46aff9187f6cba2dcbc2815540231008bf303bab64e607570ebb629c2ff5df9607a376be4a460a1e1037753b9707099b2365b5fb85198d1d5b714fb3eefae1d0302047c435bb500673065023100d24a208043e4f6edf08b72d97b97aa9872d99c0e24f914c1d28d6bff852178602fb9bfd07d2c6e3d09c6f059ccee58ab02300fbbdf1660162e553ef6b14b3331cfb22631a621a3bff865d1cb3a061ab16d287b35e9bd712b66fc01d7724093faba2a0302047c435bb500683066023100f17d6df478d04f3f1eb84d8ffe16a8ee31834186af77ca440d46b01448c90f5a408330fd4892b7449df918952323565f023100bf1ba7cbbd6970f9c18afb462b9d2d950096eaf6ebca8653c2b5c56ac4c0daaae1399a72c7144eaba22b3693d331e2b10302047c435bb50067306502310094f0b577f825d94f43f8af7af0b04530ad3a07c4f7d565b5f734a6199151aeb201bc666344f6c9ae1eb32794c6ea302e023035ab72f433d5ec2a883ba9602d04896e1c7c84ab57003e09003f0f082f6b8f7b397bc1a0e1635884a709dcaa0200ae550302047c435bb50066306402301b0ccc97bd684fa40ff5fa31e87c8a585b9174ca1dd6f36e5f78c01a068ee31c762f6256d34ce2c3899e37b33068ada502302a7b25610974c6103fe1047c7ba8f2feadfecacdd8488f32f06d905752a196d470184cfc22ae8ad97474647bb082baac0302047c435bb500673065023067a4a85362aa7ae7d43d19baee7024c2167aba5d468c6326d42c87e753aebbec9705717f1f7d3b9b771779f76d968a11023100efe7f4ba39636cb3d99073cd49633b295c37a544d88cc7906e1cea08d84bd8eb3e42a92de56c7c4b24c94b7f4d64523c0302047c435bb50067306502305e4f4ed1ec0cf5b62b7cfd8ac484383d19505b18791e7ec00c5f377a02b619b2ad7b7329d100630aa44af5f36832ce3f023100b4d05ed417b8f6d500fc4f646b1075b8a95be9f56e46f2145b5aea94a70fda1cf8c0bbfe05367e7e04cb6b8d8ee5c6f40302047c435bb500673065023047459523b49b476dc6b6f73c72142b3cbdc96317deb9058b3f39763236c618c00c54e972717233f1d35938d95eb3e493023100ff3c7c416d10f3956ea96b4fa8f5601e2688e8d814b329e87aaa42daf28ccec9d06be4a402459ecbef626dcd1a3a798a0302047c435bb50067306502307861bb962096dcb7c07cf0007779743d175649334bd8c67d5a178b51492fd917901a96d33696517bfbf6cbdf9d3dcd68023100ff64e3af9563be37999d5e2ec4486f06852d7659836c23fb51290ec0b391757f681ac4b0170390c7d7277ce05c5741440302047c435bb500673065023100c333ad2881f7bb1ce4673957caf5ed967549447be8e18f2e5fee855b1d128cbab0237fcd225b3979555b7d0e42f81a6602303fb32ddbda7c1fbd9ff5dcdebcd761b53d94f3624f495c41a32286d8cfdc1d50d95f2828b6e881f60ea684cd5d2d47360302047c435bb500683066023100955b2fa6b04a7452a2405095a592bb61dddf3f7b1e5f1c119157dbbec6164c68fb3e323f46da4556d415b5e47019e894023100defb48e04f73598615435b93226510150412e1e4cb2026e82da973dae74d21e6933bdc82040911a06fd6d77a79be4e890302047c435bb50066306402305838ebfc18febf8491c8f569a4a1deb677a6e270f523e4ce243c9e686117d1766808a34642dcc05fa56fc322716e918c02306661200be7bc14d8558ea498920ef85c10fecb7c6c87652917185ea0493d69b408424393a40d47d1d9131ee79bc422350302047c435bb5006630640230446797b887dc44f0ff0dbeb3798e40727897bf5ac8a1d0fc332d2c6e9062dc558724bd24caac781f307b0ed8b7a80aab023044afd2898babfcb0293154489d31fd7a91437498b9316d713b35c10c9bfc5475cc1956f3e2f7d459f36c399da3d6dfc60302047c435bb50067306502310091a57b862db1eae0bd244404a797979ec984257f7fe76136561a91acd548a8d076d349c904a00be2e842a0350eee5b04023049c41b21c081df52ffa44484351466c7bed4a0afce9ab171928017d28eb047e317dbddf385d9933be4acad3bcbb44ccd0302047c435bb500673065023038b49cd1b4ef005b8e55416b96e86a007fdbf0106c4538157918b5570508850c05a14b30c1f6f37369d46f6ff76ac4ad023100dfc69fa9ae12a89a4e79993f1119a77639bd2167757857aa130c73dd923f7aa77bf7aa4277b9d9775a963be0e4e56a370302047c435bb50067306502306c4cd50df03ba5e3dbed68b22cc8c8b92f65abc1a9b23a128b2fe5561f68f12efce135568f293a236433f79b311845df023100f8cf70f6b7e762155af11abb4afd7863ea8b92caf728f0d9d868aa70820edc72c8d37fc8380bc1166eb8d2e017ad2eeb0302047c435bb5006730650231008eae024037ae6252ed9df01e5ccf2c97d6f6d1245f510c22250317e9b135f2815e6a2eaf8d90d165fc40781b8bfb68f202306394c257fed6d8310179471e99549ee5a2e62d0e5d0b0bda40779a475517fbbfc3b3ed21fa78c7720e8eae62318e40740302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500663064023012aab2d54bcccf074dfccf7884dc04e7dca8aa04df29962d2a823573c2908db77b339459205f1d08c5595990bc2a5048023079c0859c07cb5b4450a22a820ab141975a36e950adc533637b98f24b9688fa27e91e64276a4c59e4cb7436412e8d3c5c0302047c435bb5006830660231009a977e37964f09af2d8130d713eb7458b8714f3805f758f00dd366e22312217b6f970952d6a73872495eb2679dbfb28c023100ece331f68d3ea5c4f9875c99b403561ba5e97e75001a6612b81b5d6f8f029095ddc27d0d8ccfc5f77862517f24f30e450302047c435bb5006630640230260008e6d302e36ae9009fb2ae0236a00376cf24c5e6218aa1e98dff0ba4d45d3ba8160cba0eb8e4ff2a5a205d00dfdf02301f65f88193d2a025ad845f3ad79b4b732db67572d0baa802c5b69575bd03c6a6e6ad87c007c9adb684dc418d9a2c4c6b0302047c435bb50067306502307a45dbc314eb9a1396488d2d1deac5c2505d4978cfb710f26cc00fc3cbc006e5c044c89437398fbc251a74c591bb2d51023100ef058979de099f75f4be85621dd7aa8cbfa1cc765c770784424e3bf756b1ef038733348d31600c198c7e60b3b173fadd0302047c435bb500683066023100aae6ee63f64df8835b909428488b77b1ce119597cb1720c36833375a0ae4ddd75caa9ea48c69d44cc52f40902ce5b08f023100c91f6f19167a4bc5af05954827ac29f96a631c30443dd00dba804af257d01604d163f1f74674259be3941c4478df61e10302047c435bb500673065023100c3b464773bd90febc42a5e84fd1dd262324f33cfad1c7769c79d82f400569a5bc69f23116d87eb783b0dc7622f5bebe8023058fe32bd2036fa48aa99fdaad7ce98a8479c6eaa0e80c3f53476795e280a5a6dd0dd506883d56815d8dbd3f5a6c092e90302047c435bb500663064023050385fae967d685da82d75a390137feb455905ce167aa87002b8b7ec9254d8de95aa0acf089bb71e41e1c123e14097f602300df882e5e89ef874315edabaf342dc9bc14f32767778bb57f691bc504741ba25130f8fae6369400a22f2f2a1dd46e9840302047c435bb500673065023100f17ee190441f0329b84a8ab6e05cb9670a9c99a140b77d60f4dc72162dd66aadb0c50f6dd361be2f03d200fded46ff9002307622c302510b3e39a0de396ac8bc673f4e0a153ba4778130683dcfa2e0b4e4f860457c4aac4069b40e6c35ecac106a880302047c435bb500673065023100fd01a0824926116f4edbd2b7cdf9cdb5aa44fc0e69a5cfba8a585b3f5a0d94ee5b89337f987d8e9ce02a7d7d503864e802303390a6110e35691db1577a6bf1053515294a24f94aa19dfc2b195ba3f94640eadabc91d57ae7824c2064ff06f6d0bbe00302047c435bb50067306502304d0b7a3422143d832bdb5fd66829472a8efcb4b14e1455757b1a98d32e67251d0f70e947524e2ccec6cfa447d5c84ea9023100f270b91465d8fe8b5e48a2bba057e4b9086eeef0620f63780035d554c9904be9050099a320a0cfeac2d1ce7c1f0c71350302047c435bb500683066023100ffaace87c0ff2f9b76b33666ea05cc4f97fb4b43d3474a4c806f5b72570070de567e2ead92d203cf52ee72ab8bd31b61023100880492824edcd9f23c6fb2e9edb3a03b55e9f561711b21b280f2ec451749758d8c6b738f8b7d4ce178fb232f6c38d2780302047c435bb500663064023006b1a21928ddd31b7d7c596f1fe615941f8ca444ca3f8944fcf8509a79c8884f30b9f5832d246b1684c076a84793cc0202303995646ed4799a2dc29aa71b676d774c31a0c7631999d4c62f5533d713a22b1b5d7b9f575f00e8d5193040cfc7e31f4f0302047c435bb500673065023100b335427ed602639d0ae331e4bc6a16aac1c27b403cad0877587bfc4fb48716e6fbc2bd47c0077706b5d48aa4cdb4b88f023058de658aa70d24cd87f46b84c87b8ddfd5b05e92413d7f085d3d9c99d4b8d49d82085f37014e10682b6cfcb2b791d9f00302047c435bb50066306402304767d976cb853fcf14850dd71fbff1fb48ca5cfca97e1357dc8eae2a0090a1eaf480878e75fa0cbde212aa24d17e706e02303aa8fbb5b316749eba7bee66a6c4a76035556f4ba2f9a6c16f9dc4a6d64f294d94fe97424a629560c2dccfabe68522b60302047c435bb500683066023100f4aa1f1e8df9ab540cbe7b3d1f6ecdcd60cbb3db06f781749a688c50ed4e1d1b26450cfcc46f99b5720d60cda3eec499023100eab33889bc182e6574e9c9d224b4dfabd6a4f00e96c15b1fc57d988e143dbc140912b40982e6b845f55c42b9c6a5342d0302047c435bb50067306502307de737c0fe3f0f7884b645e0402fb89922e59d28b74b5a58877b78c2e42fb95f08bba2c3b493525c97f9b93bac874d80023100b9489ec5d60d28d7561c524044104004cff4b770a5e609e3c0ec4cd5e013eb1501c833e7753d267d1f31d300222c45690302047c435bb50067306502310081e8b0eac3cd372164be9ab651a33c92f5da56468cea3b711e81c09102dd927a403a272124f1aa3672ff59285f9572b50230725582062afe49de204f248ae0d2d5f1812a3f83be2ea39ab9b0bf6508c5a3725b6160c0d6b12e99e211e765320d69890302047c435bb500683066023100887b91b4a0fa55bbdc25561cb192df837dc32c3b599b91fef27cb0fde073629a821a1d78779ea3c95d0cf39e83a79245023100c12bc4125ca758fabf1515c5f0bfedd0a56adf4c02026c39503d218b8279c09204ff502b0db35fc6781bda617efcfb960302047c435bb5006730650230702fdfbaadae38c17466e06ebaaae35c59a1141b4988c193301c30654f020576c111e8610b9d1dfb4b77b5bc1caadbe1023100bba82328228b2740798423f93f47cf92f7981193929ff21f32f15fc4200d65a253498abb9db1f13d7110b113896076250302047c435bb5006730650230026f79738ae7eb73f4e61af490bc3dbba0904f6d49d5a4d8f7e58d4b880af8e4ded46df6e61d0aaa45e8a88d035afc0a023100c61c37e480b636879d97c88e9720b474ab86cc2d8783e180db738cbc9e5abad0042315ba5b816e689bb12f4a7a05772b0302047c435bb5006830660231008f8e8c2a3797bf260aeb7aa61ce4e36a2d36b3f38b7ebd5bd700fa2e8bf6053bb06d2623ed83632dcb6915ef7999bf5c023100c025cb6c45faf0ec96c41792aadaf1be45df66d2ed8310f508c9355b4b13f4ec99fed9feb9ba449543876f40d07334810302047c435bb500663064023074f48ead835f7ffc87e4ff2e0676a94a251b34800333e7aa72372f8467198558a799084594064b7281f79edf3f5d7a6e023071f5b7bfa2d498f44516df7e6005890ada7c025927a16f8b510b138020ca22319f3d06cd4944a8915e10a5d3fa7ad87f0302047c435bb50067306502310085aac6fb9ab1a00695f264dc2512db2cfa46b43bcef75261395d251428ba50f6015c6ffd31b982ccfcd31db976ea629a023014610766a05494dfc7cfc6d2aa73286ac702a2342684557534efd67e9ebbf8bb0d2ed464d7d1e356b5b9d28ebaa27c230302047c435bb500663064023066dbb822b9123dbf986d7f68eb419a799fd36b1a7d61e04464dd341bd9e57736d4e754879b0f58f44aff9b157c124cda02305230c39cbadcb2666d4ab22e751bff4e3e78ed5db1c73a9ef07a63f8b4c5e88e9a20a94ee5a75eccaed57e929749b1b20302047c435bb50067306502303297187c3cae8e0269a0d8e3db3125bef5f023d728894fd54ef5c1f11b22df1d965cf53ca63546a574ca10d24a4493a1023100a095ec3b9be70806836ab3e4fa987950c3f645b8ed54e76f421c292b17c38c359771da821cb80bfa9e6cdbc98f9630df0302047c435bb500673065023020741a45a33e51356b47007bf61f0641db93d3b09ca0e289cac458458279ba8e24210c32112078d512b89e7c48e1e68a023100e5d3a08a135fe4695b582291970f32a5f9e442a71cef524f04c22a9c7d12199caa49e0b38da7a6351cb7f2675b13a8f20302047c435bb500673065023100d633f8ac93d3632783f8dc56e630d05b1db39a811ffadb80f3ae372ccf8ef84989974fa5dbed137722a4197466ef48140230477985e15faf9b7b2bc9df1885c814c3496865f7bcd5213c35449e15c7b97a5ed49fd0efdb97ad32a70f478305487fa70302047c435bb5006630640230446ae05314de17d5d6115632b5c34eb283110f9c458830af8cbe9bd909bd086407f89824a15ca5ac82af2b2adc0b587f023028db200bab10917c78e2accc3e36aadda68a1814fac9daf4e4dc393a5cf430c65f55620d6116d3a902dae47d85a423780302047c435bb500673065023064e7f81a854fffbf9cd84c455a4228f3e40f53cdadf9a9306cbe0c9cb019f9ce8c49432acd2be01abca54e16fa4d7090023100b733e0b7916a47c2e66196328a12c031c8f6f1c4c64b8aba376380131f8969eecf7314f8d15d4b86f0020bdef09b32fd0302047c435bb5006730650230782173429c44ec247eec998e5ae78576fae143f761cd63610a9290a996dfce08232b81a911fa1a8de0c8fee153a8fdb0023100a8968b807f85058828778bdacad5ed4c85360d9b16e6adc15b0f4d8e89780182c9b00816a2a56bcb1ca5a8ff84191ddc0302047c435bb500683066023100dd6963e1840f8d1055dec9f0beb68128691b456c3512765265d3e84a09a7e0d512b601f84e8d082bb4aea6dbafae1de9023100f6b666a88d03c45b1db32bb69d9706c4a79eac5de8cb7423d5e198b3f720d4b1c51666490948e922c41f9e8a76d7fb760302047c435bb500683066023100aa5547e9e1d39663dda02fcdab53dc5a21d8e145689339604d3d7b5ec83c559c57ce19d43987a391b8ca5b12b03f77790231009e67fb1c3b73602b15931322ddfb783717415a388b961d0408abd7352c2c822bedf52e7c923fc090801d7a9f7766347c0302047c435bb500683066023100f3885106c99d8506e750c19a38d8651eb9e94c34abd8a646656061e9892468fe622c275c83f1b1e5b8949408d50c2ea3023100fb42745d35133ff2ca58dcbcbf458e21ac7140836d91e2effa289da04a5369f7ba208673b84d9f9678906bbca94d98d20302047c435bb5006730650231009adab3289120e544badae85effae94537fb5c233be74282c8bb69b6ed133c77549b1721a1fa24306ce509596e108a27c02307a003328582545939f5486c1243bef9172fb8350ac9189b453628f3efc061d679832169710439e2dab147ca09688dac40302047c435bb500663064023065cb81bdd14911e50316ce9e4985d012b34d17fa6b640d50059e8f8a80531b89326ed9bef31e9e99193824219cbf31ad02305d4e5188c66c6f56d96f2a9f1a2ec9b9feba811e855aef69e0d97e0d7c7d25fd9e799151e599cbcc8036f80e6dc9944c0302047c435bb50067306502310099159867ace8deffa67a816a6fb00bfafc79ed6bffb335533f586a16d4bbae2b1b137b789e472fec67f998e29e5a88f7023033605599d24098ac84fe0be47ba9a5e6fda911da61ebc672918392cce90867837cb39eedb329f2a70a8aa5b45b73d1bb0302047c435bb500683066023100cf7ee74577c20599211a92e7355007ef9dd91bb0fb0f9b265920204dad1a55eaea58ec559deaa8ca1cf4bb87c42bd354023100ccc8ba6d59e57beae47b4c2ce49927b4defdea1a20b755bf18979c159b3023f84e224e5670896b2c5d19d5e900afe2110302047c435bb500673065023100b5980608570b04a516a5b2ab8d25d58e6b9eca894e180626c15730d53df71d206064d5586b6ac55b09fd4ceac9889cbd02306e47cad9ab20ae756da18b9adeb934909c7a85600b121ad63406f2d3ae066519e50313636b5e8d294896da4a39c55c7a0302047c435bb500673065023049644971d6b0feb80056a9eebff86287042d1c2513bd9a23ef22aeeeaed6624791b22683230d42f8bce15d73b4c64f9f023100cefe8357989f02ad9f6a9c09dc27d90fb0769c3561d457832dfa57a819245370f9f0a41edb59d5b6996df128845404350302047c435bb500673065023100c6332ec94546f4297c73579782540d8cd2d85a3fa076f5b02ef1d6240559243ff14954fa60f056a827e1dbf0e4dacc600230462c4453bbac3d1677fa14f423a1b67c2d7679b13ced0bc5bed8873804a245a10a5493fb8f98d9537856d4b55f649c1e0302047c435bb50066306402304b9b3f467103bea318ba380bb0fccd97bc12c526df3e336d60da372693349a80c07c8ae10ad64c5a24b6e832f1bf68a00230280e4c6d5e7d0ba541b3aa6082b0a4455eaf2e3800492e5c8bbb8b13b0b152b1a11a4c753f330ffdd70a6d337b042d690302047c435bb50066306402305f54cb2559f548412bd60dd3771a47d7cb3588166cebdbc968752f4e265575755c7a7efe03051c37a45db174db28f28f02303b05e1383474346a035a6d01500a79dc8a25c4f8f84401fb429b5971e29e4643eca78f34436d0d24132334229856ad6a0302047c435bb500683066023100a28738329952ab5f90f649b19738a8a2551ec14ff6a63ca3bb887232319bfc1552d473506a88721df2e1b4f861251b8b023100d301cea7e6fbd20e36b30ef6b3f596eed32bfab37b015c48205282185497f164acc3ee95dfe42e55486b866e2c6233bd0302047c435bb500683066023100e269ea9d8b3de11203e933c1b04f72bbc723813e458e54fb0acf1473e3bbf051ef58c1fb78c2eb71c78c8a0dafa98fcc02310098d7bb3bcb5dfff8fdd77b9a9402c65acb4376e574ee0ca2a88890966f1640173481dd2e10370ce050a7dbacdbff234e0302047c435bb5006630640230289e0513021a66a2cc7c1a01026f55456bff698ffa935f108e4b241a6c2459c27ad511c3309b2503dc9a9c03b2a7924202302af6b4ef315c67ea4dcad0e29ac4d599e4095176a951105624cd10f0028b86583ef63fbcc2a8a2312e9e4ab7e4563f1f0302047c435bb50066306402303da7b61a2280ea4369eedd3ff4f930fdfb594610e07722a9305418c39fa4da8eddc959184ee0bfa8333230cec4dd359c02304791c509dced53ee09cab14ffaae8be23c7488f7744bef48e307991be8d145a035644a2875f71593c6ff45a99aec52290302047c435bb5006730650230606412773965877b4110ec234d6bde4a4047105f33b0d7fd86714b13d9feb84c712acd5f1db66ad931b785da7c193eba0231008e14b8b199fb991e97bffa3e35a0e4ea9a4a201e5d07809137c13e0b5538eced8d7c3b4781e731b2c6d7431159c1f26b0302047c435bb500663064023019229c7fd99ef004f8c3024f3983275da8ad62a3c0f6bc97229f697b5ab12009ebde6863e1a872ed3d21fb086400953902306e73d43e08bb1ab470e8bbbe87c2271b27878d031bae7872a2261a85f892fd830ed7421ccc02e3f59cec4ba4d9a5905b0302047c435bb50067306502307df9e78a41f1a512ba117497fc6c14c4f7a443f036fcedffd8f22540e9e6576e0e7a5b86624fcfc269eee07403ec81a2023100e7af4904d852c3758e5f05d552bd691661b769da460d4163543b7a2d76f287a274fa39e3e98d90f3f1483182a8392fd70302047c435bb500673065023100e7906b1ef251a511c424cef7273cbe45ed18fd5fba0917f7800b50c6a898eb4fd76982ed5dd4426d79834561790fc83102305d21e6453c4a76c15bc50b4a8695e286e3d4a1614ee687076369c00c9e16fc40573e7130e9912ff157487c34ac996a930302047c435bb50066306402301f92b01bed0b02e7e52cc73638f1f62b20ed9709ae2bf72fbe22ccddf1c1b86983d128e1aa3ec211e8427565d3296383023052d3ed2bb7ca0f3ad859ea28b182c5a554ac8a7b27c92d9b913c403751e4a0968af0b2528257050368c3fd1f59b7860a0302047c435bb5006830660231008764e99e774f66c66b0bdeac26f6ea0075dda6b4d883ccc0c1e2023ba2db76c899f3c9a03b9ce7c5f07c976b1c0dc2fb023100ffc527e71ebc8372ee4327896c0a394906681da6d0dede5fe1fc660afad5783bfdbbf92db56a2a46355d0378c087f18e0302047c435bb500673065023100ddb64c31d7e4e3c840e9cdaf850a8ca919cc37ae46f08466a40781ba7e316a6327c837d9468bb3513167e9e9e3c54cb3023067abf277637853f8367c710c135c6a48c70a3420f8585d3a0ff73ab98437782f1051df5fa748035869f14ea8efcd4fe00302047c435bb50066306402300539c98e69efde08b7596ff26c165c688e15a89546a2ca3c31a699ee7a2e893e8ed1e52e357a86c9b554e8cb82438e2a02305b75024a47966a69e044a73358a671d7ae56ffba57523315e5f169b9f7db548ef89023d8954659809bf32a87eafc99120302047c435bb5006730650230133364d168a603e084d0abadcce705db04b05693693ec1df1c4369dfbfe985775ff47dfc3cc96af7e8ddd9434f4946e40231008956a5d539e4779c58c143746ca5ccdf223ad71d3b4c79163528e1444e6bce9da3f02f495085f7a4bf1599a2f1c77f190302047c435bb50068306602310084e8ac47218d0e4cdd9a486c44c77b2841c8185d8a8348b28cf5a5d7195cb1c0e742fbad0f3531446bdb2845697d980f0231009dde43fc0a6a77ddd87a4ef99032ea5cd048408872a757560f0a1ed82f89571f375f5b68a5067e5d6f53ca906bf6eab30302047c435bb500683066023100e5328452d3be38b3b5d81138811163ff020a970e2cc64a31a23aa5976553b63025389658958ba7fffb5362fe5d4d94d7023100ce091c9fe3103dd35dc796f33c71508ca83da1401198b79eafcd235177520cfcafbd6be0b9fe1582f9d2637ba331da070302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023052460dddda3d941ccfa66157c6035a9a40f106d57a784631dd401ca0e6d6ceca37b6945e7314b5666ba6be3f2ded2dec0231009a49016e573e1178eea328346491fccfe00ca440943d6e6171909e007c5bd564b982cd5ce71301b9ddcad75fcf4175cf0302047c435bb5006730650230264dcd087dfaaa5180655311c32b51dd176a196a7ba24d9971fa4496b59d54c6c4b1af02dc158099148bcc446b7a7880023100a1a25a93669dcac790d7660ed5fd35d207918725faa748493d88e82bde939a97ebb02488325edcb2d6846953108b2b890302047c435bb500673065023100f64e672da041ea046e088573a865307143d37c3dd921b3359e03fd3b1ba03e0f3b53d2bbb54248de19a3a4219f9d110202303b6e547521925ac6ac55e4c2676432ea45751ec02967aa6c5804d28fab1a8ae5968428b0670eb834b173611f7d099b080302047c435bb500673065023100f34a8e0a38cd52980cfcb8610059996858a27a9b5aa7ac514b20564403e2f12cbb81d97c13901bdd01a49ffeceec5a8e02304b3410b431e2df40bc37678bb631f424e113e265fa8699a4c7b954fd2fe835ece7a69a7e1d14205a46e4365e756304900302047c435bb50068306602310089bcb46205cead9b4907cd814e50e308fa3f8423ee630d55cca1b4d33e96c62d6f6203906f1174cbf60c4b1a2716752e023100c2c831fde469fb2f70af23bd0f6002a4e44a819ce51bdb2eefa73e42f4f56b0bdaa66b4012bfbcac196477c0d96b5c8c0302047c435bb500663064023023a198a60d5e1cbb79505820b383ffe9c0d87b4899365e24ae3241db556e664474c5b9eebeb87df2086ac3b8a12aa12702307ee9600fd4dd395b30eab0ed595461107accee3f7a5364a73129abd9c28f9f83da64cef39ef847353f35b409f6ca612b0302047c435bb500683066023100ee2286af350f93157a4e7b4ef5f528d73464763d0490453148b58ee0c34c7e573abb15e6517ef96ba7582a59c58be139023100cb17be93452e8aca08bad809e1c3ba0f1bcfd67ee950c8b4919c5d4378020f05aebf93be05bf70e1424491f4d2cd71af0302047c435bb5006630640230205e0aef0a74f155b490f72bbf06f7d44061f894bd88556583fd5afc3a2c391ccd8387ead9638b3e6ff215c89e9b257002302a68aa8ea6fb7d5288b84409e885029e8ccbe0eff2c88c0085990c9d742fdc48925709d871759989742e299e5c6e43d50302047c435bb50066306402304535eccfc43a2d3738f0b547f5a4171adeaa9f642f83660d85ca57ab657fe48dda7df2d608da4ad45ca3df9bab009b5302307193f4fc26ed7075d973c6c1724d95d4658901be3b06d1a57862934d9aae9b07be09251fd3026eafc2e08b8ce4c344ac0302047c435bb50066306402303440dbaea28e69ed25a1f77a30f995635eaccc5eba7f8794301f671ead7dab616e5bb41f04355ef9956c544a6ba4fb5b0230529f3cafe2103bdcab64446c07aa82ffa26bc41470b89acb3bb09c118619636d08795c90e1d627365808327c5d09c8850302047c435bb50066306402307741903324daec3cd7e047eeffd77c0cc60581678d9f766571c21a7909e5ea103ee46a38332ae04184ad770a3aec0eb202301b68f90e470d8376014dd5d2d8b76d52c95a5feab0d11ce57591ac224c43da8c048321513d2590ed2e338a6b38fda7910302047c435bb500673065023100c96ca989c331b276ac2f0b76e5b172ac4db03ccc321a1c9248b04a8e98dcc7aa1cee406d3acc3a07a5983ee33695937202302fbe559a61264178297984e45a3e3300ea84400e7b271757fe1f26d8161d0c5547c6b2af486bb136cfaaea51fef936fa0302047c435bb500673065023014bcd016bd7ef84b4298e127b1d594d6960eb5cc685c7c13f4acd258db8a9d9960709438cd413cb01d3f41a4d84add5402310083c0d169e9e421a202c6f5e74082d7bf0c1cfc2b3a28eb9345865975539368e23ba6dc92d4e034272f772d0be48b68660302047c435bb500663064023060d1bdd39a341f8e903ec653fbc951e51ea72656ea94ed58a7d763843b1d615012a9651adf7b1720ff59f9f7f29d527302304acc7494beae640b6dfad19461631da34f04da34bbe10f257291d71cae1a0d88cacd6715b1c9c4148bb2c9f646af23550302047c435bb50067306502302171ad5f4f2588498b5b09b083903a5fd8675e3da1dbee42a4b9c9631347d3b4e06dbedc489d4b930a847e6b6a0e469f023100872655884d18f6cf749c7ede884ce8286fe7d226be81960dd384c153bddbc810c9792905f3bccf9dc9eb29a1fa327db40302047c435bb500673065023100b32d863be54635e8b2daaef1071d47a511f65012a742350e055debb37b2293252a9bb177c44b86cf5eb0e38c779fc06602301ddfced714d89ca0c2830021f154d03a3d5cd81c5a6c0f6cbece0a45278c76155603c189f2d478cbc2569d74360146390302047c435bb500673065023100c9a0b33a67f65a75bfa39e1f485c220dc8f7e2f247990d229fcd59da5ffa53586d8944aab4e6d19266142570d94ccf620230232b1b8c7f76c5bb60b98959e5735e152d37c12a31f58c0beac0aea7eee79c5e35340e52c6c064a5dcad1a1f2c7e1c290302047c435bb50067306502301e5305b17a3677f51f56104648b598f6cf70aa38ebb131587b8020a72ff50633d49a49d95139295f12d46b0d8c9eb3db02310083de59385f91c3400cf786bfeb8de75c1f801a59e32e3dc83167b2ca8aa6701aee4565dee6511ef78d1f9d4caaed55f60302047c435bb500673065023100ce1c3d2087aa9172b367866f809dc74e45c17653342bdfde75f5576619fe15726b90a336e472a08a616d9b8d33ac697d02300ed1224f28e2a1aa416a632a008c1722ae26b296f8924fec6a8658412a190671b6f8ca0e38555e6e4973e3007f8d4cbf0302047c435bb50066306402300284ae78695bef2d61458c71a57198f2bc05d4546564b8d63e51a7a1242923b688eaabab7600822a682edcf10f56c3e80230627494e41accc72fd9bd431df80e87609051e75f954b1b0a6f813ef7780407d0909242a17e00b5296e56dcbfffb788300302047c435bb500663064023060b5f46e1aac9f3c8595f45e39e740cd7fc41af4a094ba7ccbc517b0c8735bdf403e1574b178e728cfb19b745eecc6be023009a050dd8f930754fd95596f9cc86646e51219b3c561155294268a38dc3483b4a219d019d44e6bab30b8f0f0d38fe87b0302047c435bb500673065023100b1710b42d5c346aff62f09c27ffef34f47d56bd86c5199154d26cda6a79620926a903be776be92e547691f1f10e039bc023033343d1e4c5ca565fb06e06061620fccce22834f90669d7e7a497f0efeac90eadc2b0b65d4da2d4d42847fded3858c7c0302047c435bb50067306502303f8a1eccf861d8418aa0ccd8f61a0ba5a5a5cbfc277336f80902f3cbef3483262bba0f3b1681909b5e8d193d19391747023100f8e728d7aa1521867c95e64d175d22df4b88da581f59148f697a73162ba97e9a7e093b8947c0c0161a5f5704a2300af20302047c435bb500663064023042fa615d0073cf8b37593a8b439c0ddd48f4586f43e23d73015d3b1a94b90addf1c82228c7c87cdd571023ff52c0fd8f02300b29f3c96b267efbfa8581b3d1a3a96346ed4aa86e3a7aab87800608d3913ca76beea36af5ecbae16499be86b96c14360302047c435bb5006630640230495836aef5b0abb7e8de80993ddf2f8a7ce938136629a3734c303aae1554c1dddc82258c12502776447320912d9e629f02300ecb7c10a6eb768dc380b4b4b7a37985b44c3abd5c1b1631996dfd5861ad7d7f8ae80b4db961c2ab11fe15f3638d70260302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50067306502310089b8319a11adfa84e1e14d81348d86441f71f9d7c167b7e8dd048413f4354b991f6f1ca97f2e791be314688041a9908d02300c88c70e79e060941cea4f401df71db3d42d3cecd4044ef98fff17167fdb5442152a1704e466e1486f7e2a8b08a308960302047c435bb500673065023100e9c896842f5ceb00ff9a9cc59cdf44151a16edae109655c0eac220335649633dee12cca4bf55e098df05797db1dd24fb02306cb33d9a7073ac8654dfbc7370c8c023adf976a183ceb4a4342c0d16492f634e76fb7a932b61e876336ee8017d6c9e1f0302047c435bb500663064023021d7768f6d31fdcd5c5d8f7107f39efb2f0c8d3f7c2bd4083f29b2bb497918c2ee009068cefe1e5c352d2e0bade9f37002307e775d882440a4b3182371e21a0534b38c36c4423e57fcb80665295deffd39c6d6e0626db845f936766fc7c0f3ae41020302047c435bb50067306502301f02e897fa5f1a839f8333f2c4d96e73593f8f078125bf50a4f72b796ebf788dad8c26b1d2cd2a3d4f71e61fdd951ccc0231008b38140d0f275ab9e6832debaaa99e2933290b4f841c02445baa417b646ce6555bc85c724452ee5b54c87bcfa2182cbe0302047c435bb500683066023100c98e4071ebc5bb5a6bb3d6dc8e0b46f8af3a08408ee1d25934f3aa2644b6099a5c9ee7db6dc2d32ed574b5b2c2dee0d4023100a11f6f765557f8619a7390621bc7b44eb5a0c1a1422b02261ff30f28b00051e925312b9757f6746407a98ec9e07d70860302047c435bb500663064023035c9184fb00fa065583eb3e8549a67fe45b7b7fcba51d43843ae7a970ace7199c565da0da7f1db43b6e6fa2afedefb1b02302bd5f754ca7a4d58311c0be58c27eebd8b543eb8f981cc30b9f863ac24dcd1873c75cf99fb6707095f5871a61f869f7b0302047c435bb50066306402305a7278cb4e4c20781aed9f99d3f4d4dfb4794f35d881fbda7a755b95f8179c829756dbb7697604a1eff1364a0d41237e02306bb73743b44d192e69b179200fdb175de75e302c0d09c0a000f0acbbefaa1fb62464da8ef8b2d8c33341c248a636ff4a0302047c435bb500673065023100a98feb8f632d92c774cfd1b16242626b737f0c6c2702a9f1ec4a2a25de26fe51747c10f66de36fc6790911940cc83bf3023026fa3a4cbf08d624046361ed3a5e2b137366dd082218e857b958f887f500c5b16b2465f830eb660a0cc486ea95fb5b970302047c435bb5006630640230424569c72657ca075d629e1ee5937348215569f4cad7e8ed9439dfad6524e798fa440dc7763e66a250ccc3a3e6075c2b02306e37c4a6ae0168020a5656677c15662a0678a8890bb9d8c5401db437c034a4f1fe892c3ddbc0f4cf6001b1d24b352c9f0302047c435bb50066306402300ac708b064ff7563915a98bf08c12e5dbab77c5e1b126e7f439afd0b4d4ff05e7c4e6f52a8c3992b54669cf7368cea54023077f030d2c6ab5bfa8c79332be5a92e096c777c41fee00ac6cc41a14f11bdf4809c42bae19283c1bca8618bcd331601bf0302047c435bb5006630640230613ad40f53e339d49e35188eb9520f6635916c69450379c3b773f7eca87e404331d8424e1bc0c743abecac3e4e15c67302306088bf95ecf93f3ffded32703755d1281d5b374e11b873a050a49cb8a83574ca3bb570ddb66fccd74f14038797daa58f0302047c435bb500673065023100aa0c71e9560ebd6e219171636b72c3c7b403789ab72716928393ee927cf5f0c761ab7c181a015c04e7203e3c0fc49b280230660ef960fa362eca2a7d3be9d567fe4f26cfff04ca6de7824a267cb6c1f128c61066175d0fff443f9b9ba5707684504c0302047c435bb500663064023034201a5b7b437f1f9fc09240a544628124440c452e4adfdb6263d3ee4bdb3275da1463c2f1c286630a7dec14800c56db02307647091eee28c8d8e823d59701e5ba0c9f1b3c5e59a3ba3f0c7920a6e17f0190c0b087b0f0f8c1b1848c5cff04ea8d6a0302047c435bb50067306502303694eb235d0a7d8112b888be41cec19fc1834318fa4b1d93b529835836045bc3f0a6db1fc4f356acc0d7eafa4e308c29023100ab80d29917f8ea61a29b076b68c77ec412e0615007a9913ae6640b34e6a80a77faa5658652d7cfbed64820e58af429970302047c435bb500663064023001e51c124930540dc03c9fe12ae50e01cc5675f7a82c450560718d27f8f6ce16cbe53abeec8c7a0ebe1275bc15500cb2023068f63246c9ecade0e13e68a68d36b00976233e69334581909e585ba97ea9c0d82048e9693d67194d4bd713d73ad4c4b60302047c435bb50066306402302533b8dc222369f4609d892dc55adcfd575fd4a81661daf52d5827e963821e4b897a41b8b9389b873c8772c8f8f7c63a02305ca95663ed039bfb20691d6e6ae165fecc10ec6f3ba1c9e78081fe019f691e26c8d8e77beef8c92a000ceced78a2b7cd0302047c435bb500673065023100ee8499da5be47fc25578f50dc1041e4d8c859ce852560949a55344442ad3e419b210905d096d424ed31ac2f20855b607023070df0ba02ddecb34abb176c09b4717bb17cd3cc1d8be8a0d53ea2a12fed2562bd28389e2b3a87f055280a2b8c01cb3210302047c435bb5006730650230580f3abf1469d139dd3959f6631f2309249d04ef593b32f27ff72f5a220d1e1f4a8fda40b317357ad637263eb9b0e699023100e0235957c4f32f207eee56ac73b782c9a9cc31afdf5216354ae5abd919c1c6a8856070c2db06f47cad5f5d58a506611b0302047c435bb50066306402307d184d2b3a2148fc1307f82c7a050ed93b0ccdc7a9c7a375ae2232eb52f5f7bd53a94fc69d49dac99520adfc966f865802307c421f3e908259bd75042268ae66f9248d8ee3eb847cb5ed09dcfb4443369ea406f013c3c8f7b9d5547e41168300a3590302047c435bb5006830660231009d442c1e04d61a478ffd7588b57606fe974ebecb88e59f681c7f5760b4a9c82795bca25f78a0d7eeeafe9205fcb09529023100ffba6a787353fd6d130dd5243e42697c98fb5668faeac5ce6ba9c0e510a0dd65def6392c2fd3fa7ed70a30c0e23f8b550302047c435bb500673065023019db5dbe63ae04505dd8a47eb1f0b9f889641880a0fee12383907dfc7813f72b7068bfda40183ab19ee747dd06c56a110231009c8fc36d3ab158c25a06818c9ff2be78f625e6c745a8ede9cad3034c2088912a60fd7aaefdf829a4e659c2ae7fb08da60302047c435bb500673065023100a93c93758d7481509df88439ebcc02ba8f6a9ea61c50a5dfa9681a1d961f1abe253cee26fc40f6ef1cafec7d81419810023059ad11a184abe9e9febf19dcc70db59776d818352664575893997863fe0a432643ba263cd0361d6cfb7116a639d2833b0302047c435bb500673065023100919bc6b249ccfde785480575e31ff9d495d9e9e8c9d3a80b99065a0c2c2425db1c30f5c24d2315c0c930f742883d10f202307893d2f53cbf7422be49532fc8bc019f4dda16a7e76414bb33c9b059556751f583ccb8abc0195783e0389e1f12b54d7f0302047c435bb500683066023100afab49c5f0f7272cff19cee1e5a7f17c551358a103ca18efcd6b09730f0696402a9637e26e565a2cfcc4314f3cf0f8d3023100d95891cc86a29f3e31b2dd2902c97ef661004e095aade04496fdf3f2b34dc670a225305530da72b0cf100094162149030302047c435bb500663064023019808e01a8c32f460cf99093327a22aef32cccebaf1be87f25399e1405bb27eddea80a0d8bb4ab252c8da5f83d2d1a1d02305bc46298e039eaf4d0281ad94f3277c20a160d1ae5387269e38587cbb4f7af4b5a81f161ad237ec3da0bd472072d5cae0302047c435bb50066306402302eec92137e17dfbfac56961607d0b2151a061f194fe49ec797ae3be3645dd58378577366d754c16ae733d00e4562c92102300dccdb1911942e07a4b44563412429300ecec8a0ac2dd0c859b9ec9afc396807e57995600ecc92a3f3c942300b357e8d0302047c435bb5006630640230632b8a71ca9af7fa1267472ef9f709be0917d7da73a644390ba58296266889d5f750de77baca8e5142f21e4c8d95f2fc02301303f2b13dbf4c07e4319f09237f711fb8b09cc50afb4dba11bc9a22d6708d20b6913d272f027af6e1f83090ea8c36170302047c435bb50067306502300b01c659dfc65320fb19921aad4a9263365db310024149da9e62e2330140a910ffc1ca36ddf397cd5275363c8d2a87be023100c0e3b17b122d1a42f8ecfd5a758b8d0fd1f307069b57d5024e661bb361717ab3baf3179f0c6617e1ea68e170d0295c7d0302047c435bb500683066023100b2ef993c71443d5f959d6cf66cd152a8e04472ba60b6850a870cb2c945b1673486b1f60a82a17f29ec7306c81b40ebdc0231008ae14eaf315cb8ced05cb992ada65471134f63ff802cbfa6cea9dbb8e06f3190df5b99ba0e981b836d19c5d703e593810302047c435bb50067306502304fdfb991294b5e3a4c862e12f24f2c99a3a516471d75a9953624b2e7631800f254f0915a23fd5aa064d34eeeceb119e4023100ec964a48dd6e87d8339eb18de0cc8cd6f66962d684b95593957123cabd98d2600738cc2b6457bf8ffc2671d404f66d6e0302047c435bb5006630640230355f73d73794d077338992b98fde2fd6931a9b7fbbb281c8b2fcadd49657f906f4e39fbb0dad1d82327a60e92c96311202304924f98d753b6be0816e835323ef02665cb7900d6c755d73edd8400389c00fd581b440a9d3050dfd44cf9a4b12915a1e0302047c435bb5006630640230200e929427f4e69ff335af31b373f5edc3a508f633d40c9371075c6989bb8c1f9ef29a33d0b3e3470d809557477723ca0230277b18e4fa61eb283ac28f3128f46909228cb9abd8017a77855dff41159ea702f7966ef7458053144503656e9ca773840302047c435bb50066306402300bc3c08ef1f88e24f7039fe3bf57c3b192c2138519714d77216f873f7bf065e4a647629ad72b2b92650eae363b7bde6b02302eea32234fe0ba9acf3cc5e6ada332f8369b6bc4bbcb48a6ff950acc942d8a2868f36712a13b50ddb332772275f7b53d0302047c435bb500673065023100f1e47d9b11b9130a0dfcdd3be24fdbbcbc3004761378c674e17cb0ffc0b65ba398b2df440ccc08ac13dfd50ce7ac360602305d6ae093990407b43d8b3da299fbcc64777bd328ebbb8fcc6c6fa6d89058c0c9951a129895a86604391c1c9e557fcf3a0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500663064023047ba1244f37299b102c1c5457f14cc066c25f438168ed68d43a4105167d2943a83051fbb84a28726689a7af279765eb80230159bd028cc89d54bd676aa10175213758657c7365e3e0a3af20e98db7875e6d16156c6b9af428e79c0c70c0e8d9bee980302047c435bb500673065023100f1af48ed981fdd4b5436d6b510c7b39c6bd0226bd70c15d8bdcb212d3af64c9e83c2c0e9154c69d9a17c263028b7feee023064e056690c02810f14d4e63163a0595cead7a2293ad0ca447dd858ccc010c1c0967381a0c7a4d88df30d040c7c962f390302047c435bb500673065023100f5267ba5b4b500d2e3fe1d4482639c430703fbf26356a070587b058f847696a9bec1e1febb85542084ad682d9239d4af02302d77b1e331bb773f30e9d3b0355753356a8aa835398ad8c3af6697e48713e2f24697ee5d2e7890e81128976ed18d68780302047c435bb500673065023022eed6f3b97cbd8165c13dc69217ce39f077aec153583ccc5ffa09a3236869fc25f6445fa8c826200c7031127f071181023100a5c3375c654b3e619b00ecc5ebc44557733585c780c323f2fef2bba8e74bb2434a322a4381d988b2854045e136f3616e0302047c435bb500683066023100a58a55776dd331bc813cba18d84368cd4bb82b991dee4ffcf38c3e2ad4beb1676f7922bdcbe09bf2e6f14252d34d1cf0023100c2dd4521379e02a6c652b75d565140d26b2626b5a2d5078bc6257d25b36fd3a9629ccb81119b248d0d8df6fb5d9258ba0302047c435bb50068306602310089bb1fe61e90cf44a4ec1dab641ecd825d2787f463dc45c2d6d2f15e648b0556061c326a3c7ed30cfcc18d4c2178029202310083da6320f2c5a9b87af80a881341c94d21d48f5ef4dd17313924516878cd1a344e6bd70c53cfd59014907f865fea205f0302047c435bb500663064023000fe6622c4062865e5e70bb9c240b2da74b8eae28db3f92be1b8461c26e47d3a87ee02bef402b54c0e3c92f4204a3fac023046a7d4c6f06729930a4365408dc8119ba7245edf861e2bb776ed5213bb36f53cbcf7980f02dc07f365af821613f6a8610302047c435bb5006830660231009f1611fc79d0770e454decf4ce44604251e21711e52d4a3e1561da88e9bcfbb00a18dd71b276c7573fde794b3e446a8002310099644d020af5d2b3ef984b06b557a53a1565c4309b85b4bfd5eec88e0b0571a43fe3ff0791e26882760c66483664c3a60302047c435bb5006730650231008b66483bcb245d752057235983767a1e0d77b44f7789e5f6a759c9abe614332b7aa199f84de57e3670369094cc5bd0c1023042262560367e6333c447b5161c165f82df01b8f2f31b1168071bd68501d6add9e3331acc59fca1410fb1af4fe8bfe8610302047c435bb500683066023100a670f00b5d56fe76e4b1e1e40ad9b90e35084df2c2a0ff3314d8ca0d568790227022f5125685d68c3c19bd6677ee2780023100b41e3694fbf954e21882892e5dd0031b21abd46f18d6acbc8335c15fd1546b8acd1f369c717398dcfd78defcaabf65e90302047c435bb500683066023100952e80d309ea86866d72ecae86464ee44d163ddba90eac2946b029dfc234c4c1c1694ceccc5da02a3e05c43276f39f55023100bc70a349ab220a6bba5a6aa73742d5aa953892bbebeadaf9d1aede59e9e3a65916acfeac9763be569eb94d019497df360302047c435bb500673065023100bdd983e29aa6daa14efc1b0f42b1cff21217942ff9f9179900a030938e3752d38dd861521a0e1196b4040493364f13b3023040848c3c980e73e9d8322498b1de5b9a2020698decafa6f855a7cb190bafd2b88e9e89e7b9f1c39db33c2d27cf23163a0302047c435bb500673065023100ac68b9e3edca6f52d3676831804676354ed94245b32ec672343ceb767586b67202da03bd67e6f0e6165da07d40ce7596023068fa2e4af69ec8919d80733483247d53c5f72998333940381c5cf3ef6b3fa8dcaaf255f177deb426ef26ae68eda756b70302047c435bb500673065023058ac1580614f3afdfd28e22c5703d6763bd124af2ca4e63b2a0696652988f6c49c7b39867d70ce65358ba0ae6d39ad13023100f790060411e337ea3986e7da2c3bae4f5b8cab580d07e13f8c01e954c32908a5c7e73676b60c8bc1314cfae9cb45f5cb0302047c435bb500663064023023b9e0fb82a0761e264905b29b0196c3ad19ebeabfee3cb7d1b52e10bf2f3d7f1f93e9011b121b3517473fb07732e69e0230708e319d64447057cdc26b1834defc7da68a03a48edd8315d9eb1970d5514120896921e60067675968dbc6748262b0d00302047c435bb500683066023100958918141811ad980f07635a639fa3d73c108f8c693b4b4ff3c709ffd5e3cff7d02477ea8ca780633f29e8c1a7cf2ada023100dd26a0949822c893bd802bcebc879db298f43e474abced194f7830b7c0e88c58e92d1ee4843f1c36ef0d10b99765b22a0302047c435bb5006730650230588d06ba4ccf332d313fd2f1685eff75e27f17352bd0eea3ceea220d0bd4253d4a329b5cf8ab52c66be8418fc56d724f0231008b74c18955d79f1e171438f16551113a390dd8d13d2d7c9328dc08ce42ddb706adeb4ef7a4d7c3d2429247d1b079aa5c0302047c435bb500673065023100d5aeb5eaadd8b804bf1bd2a2a824aeeb789c491ea87b6054436db7ade386569294065402f8d2786c492a52842881681d02304fba8ab1fa4bd693aef278763c861a44b3ef7b5fe5897af54f66cc72290a5d32e26927a5182cc68414ba4a871696c91d0302047c435bb50066306402301fe90ea1efe92ab11f4a2ffc03a4a5b88231aa03abb2937b3663ff92dc3d908e2fb26a3f6448f88ad30561d818f0a04e02304af162ea50c00ffc5cc18e2e66e66bd6ca38c8d4528d7700cbb40ea10aa6e5912a94581ac0b92316ca52470a770715060302047c435bb500673065023100e045ab9a3bdcf923b1cc3a30776598d3ed1ab9386cd263e082d3c283b80bec4dc8b9d56ada041fb90a3d19bbb6c0b89802303241b6496b277eb8bd5d53b6c33b565c54dbf6504fc5d935ace43ddad19b3bd130a2cde2564360e824aa27ef7e425fa80302047c435bb50067306502300849718ec1fe4bf02b64f52fd5894edbd7d9cafbf0fe2eb8f9bd4019a1acbec374fc8fbe1dff73bcb5e102d81861cf75023100f89f8a92f2aab05d92e774dd24126a1c66ad2a2abb7db39e6b65b00784c142e63155eafce22d6f34c04d320e89ad41120302047c435bb5006730650231008e0cbff8c0a5ae4261fc112132801e43fdc8b2728ae2a0aa7f5034e22aff75d5068f1d0c8fa04dce4c7c86411993436a023017a2659a796f2612863b380d527e10995c6425498d85b84b556ad030fb2cc97476c883a29f996cc296a26a38a8567c6c0302047c435bb50067306502306c253087d6ac1d01f4f369b43cc5e13a8047c86bf67b2527c9e474eb800077019db5c3450a8ba50f79bcb66713d4fbd7023100bc5cbb7d01ceaca39b0848153a2e7b2f1510b710035857ff36d4178c936de7a21e5763bdcfdf93b8345d1b52ee4d5eff0302047c435bb500683066023100e3d8f3b97e99468c740bc79d9070c3d983a9337c297e5542fa51087e1464631762f7e0834c7600e46eb9d79e0d3f8d7b023100c5b70f86e2ab6950686ac68641501cceda77c1cde9ae56933c925f22f69a9299b7b4f56bacef761c4a6642c2aae5b6e90302047c435bb500683066023100b4aa3e44b43762eb9797ef9c7f42ab33d0d55ee5fe1bc4ab5a96dbce302af01e227471a210650e4e114ddfbde8be32cc023100a46c31512b36254834c6ec5b53a9036079679ca1db5e851a978a626faae91000ba39c88ef4f3993cee4654e7364626aa0302047c435bb500653063022f0f53b46a612b3da5d619f3c955b49717f740f8e8cf9ec366651e7e9a4e9c7df67dc9699167cc7641c580ba7acb784c023044236f62dc23bf2ed6cfc14315ddc8b188645ca44adb7e253dc7acdbf23ee77e5d413b98683bb574e5d835d8ea46fa430302047c435bb500663064023042abb710872dafb469a16ae702ea987f7591bf9ff0f56fc7926cc0575d1889c6113b8b2792acd0c6585fe956b468cd38023055768855af83082fbf93fa64f4006e32106be529634ed8876b906d7686fc09b7e41c61e68310856c1923ba4d383b0cd20302047c435bb500683066023100c437b6de3297a10bc5893c7caea87bf10c6ca09eafd51d9b194f52a22c44fb1afc5e9b779dd369f7838b13ef92f1a098023100db41f5ec076f2211dfee7af0d376b4643d491414a8a128115a96055bf785bd2ba3ca79e8e33756f96c1bbb8d03f852490302047c435bb500673065023035a3f9cb9d65f7c15076275511f4b2e93966d6e17152fda1ee554219d2732a5e3b81fbea3e3c9f995af189c8d558d9b8023100bfbfccbbe5ee3651cc7160d77394732794812f76f90f855424d88938949481631c0fe12418128262c613ee293eaf80ef0302047c435bb500673065023100e3a4e55270eceab1e51ea90946ce5c66ee733315a5dbe873b3e0d4eebe909f296d0bc224e7d7f012a440b7a85d8693d00230783e3859c580104a9547a84523f9571c5cff5ace7ce90cc68c4ca4ed6bf93161372d493808e103f4a1059c1f4d437ade0302047c435bb50066306402301f4e51f6a733252b3919718d15adf1030bd790485ea350ca52ae9dbeb5cd81661f3c5a5e8876e1d2d2538db63a397fa60230361667d8c795c027ce449a95767bdfd18b1bbaff3630530a34948c00b5d891c8c6fb1bed4864b0a27c8b8759c5cb0c750302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500683066023100e944d3b0ca71d19fdfa2aa7aab938b486810d957d8e28a2f22936c39d6db9368d17296eb2304bc6b3620be13628ef60e0231008f2c2615e8455bb4313e54bbe66a655413cdff66d7011145480fd207aa18ea6fb7b72becfb262522ab2ffd03b223fe190302047c435bb50066306402303f9ea2c269a523993518ae7546d6d41c6ea80c73fedba63e51502f6e57c865c332f47fb61ec57a7a59ddd6a23f060cfc0230290b9be5e20151e59aeb3092898f8e0d83a405b6018ec8672021798c36c3627661297869a05e939bfb506340f79f3a300302047c435bb500673065023046d9ab3b035c2947378913ba58f03c1c894e2be01a38f8cc2cb481435f6bf10bcb1981d9cb0227ba99ecefa723a6d025023100f05b627162e30dd0c073e5f0a6ea4150885baa559130d71a71313f566156844da2738b182b443454c72c072d8effbec70302047c435bb500673065023100e3a83fe1ec9a19abead055977fdfbd4ff40c93319e25e1a6d9c694cfa377d92a01a6a1c8178750ff1a8f4586e0e32191023034abf588f718c53653d21127bf58f26370f43785a8a103efca8ab027f7ac24bca849ca362d432ab26b453182a9ca28490302047c435bb500683066023100e3a0d4119125483673b0a86d1ae164b8bad4efc799a930fc5d432a3753f0137e86b4afb190c83ae2559c6267d465d45b023100db411baa7fb424f550c702705221ae634d56f18f49130fc17a07ea8b5f1919d9d31402eace5ce00b00a9363ca988b8c70302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500683066023100d1190d60c6b468fbff251388295c994b8e88beeb235ecc9c47dec52e63c7679ea72afdfb17db5c06e1a7fcdbd006ec1c023100c09ecac77b247013553284c7bce00637d7358ea785719351218680e32da18e2a09e128deb6287fb2fc951658de068b2d0302047c435bb50066306402305ee2b82a37d44678ad679e99a58f9b0ace93f865c0f168ca66758d94adc98e2b3fbb2bb5c8d21955b073b11e329631e2023049a1e01fab76af35fafdd7f1d965f748af965fbf3bc5eef1c586ad977b621d0666f912ebb28e44eea76e30b14045f0010302047c435bb500673065023100a61d50e187d6f45852df58ce80b1ac3d71b9d0076cdb276090572ad24a16f084e36ee5c338defdcb925a2222f326f94b023043c695d62b1ecfd5d78fe737b0c12750afd275abf31f6fb8971cc76c6fbcfdf88975be0740a898cf162b6ba3a23c47890302047c435bb5006630640230345e98e0e3b1671884b1b961d816e8d7ed9d16dbe5d76b299f0de92ff86c2b36e623a8d19ba5ca9cc291a0ccf6f11fcd02301d1325d3b5fc16848d2b09cc9fe7138675590d0c14a3463968a7b72c1be14b1694864383dbb782e0432f5b007fc60a740302047c435bb500683066023100a175b7ab0f79d1616946c8f63e8f9a25c903a5b44569ead22178454e7560773e28684afec71c89ec0133e91a5b9422ad023100f1d1430bb2bdd6200252c9fd3ff466fe1ee6f4ad14921e278f4f7fcf2ed968bf90d0116d25b1c010ed02423b6d349b0f0302047c435bb500683066023100d68eaf14c9874ba3770d080932d841a0ef666387046f3ce885a7df9291d5d9cf9e847f619468ff601bd674188f26ad9f023100926004bb970b6ad779f6cb06abee9f093bc29f748cfaec7d9a5a3e1dcf5279bc7798867378712cf2123186ae524df9130302047c435bb500683066023100f20d8f7a0193054c387e4e2d862393115941635baa7ea62986616685d96a18c1a31d7885f54266f42a0c933968087feb0231009847e3c225cc1344cb7a92545856187136340e1ef13aba524c674e644662d1ca7b9511cd50b005c10178d416af4138260302047c435bb5006630640230221796af99bea42c4ddb11c416c8eb6109cb4d188cffdac213762b4bbeb4dd12da7d7faa501a330a5e1015e75c6ee0cd02306afd94c321bfd0a8e240425417b212e3283bef5a8f8f203250da245ff38b21e40200cd1c4239dcac3c27a07db6a53a450302047c435bb500683066023100b1c0d832b54a1eb25cd415707d4dff36453845ea80544ea70e52055c669b1cc6618884d90d7f1ff9fc386df77493bc31023100e880988f7341e730e1b337fd840dae5676fa859cc4b90cf10f9467415f8a7c8328647288e31a4d4d80ae47e68513465a0302047c435bb500663064023078b442b8635de3f0d5a0de4e1901bb5ac885641957b8b24039dcd01c6718605f95f645d57156c70d5c9a1516c7a02c8402300aa082f4bacd15fc44a026c538e6584c9a333501989afbf64e7c778bedd315ddefd7ab32e0728822bb9959b644582bbf0302047c435bb50066306402303225ab2ec21aae50a6d97692ad16d9c9740659abf81234decd77c8d838888563e84d1a5948fa3df72f5f8b9840aaf69b02305f71529b6234048b27f9c1695a0b0cbe49308f9d7d0d6813af32252739fb8092de3e5671c1ca159da5c4178cea3ef0cc0302047c435bb500683066023100ff174d5075431ffad699fbf8e19190bee8c8f20488db5f729c81628200f5e8932449882ebec5159c2b36505fce9c5dee0231009eb9d1b5b9266ba4b9a7a2ec4b82171ddc5088b1200bab8cb3a911d545f19fba9269d3e4eb52ad9acea22c05138569320302047c435bb5006730650230720c50a1a522883c5e7329677e0ba8b3fa6bb664a64d4d60fd46d14e1c5b795dcff0002f9438c822676786d99866ad9c023100a52055b31228df1d49d2c04499ef94a3060307fc5ceb123e6799c35132b256b33417e78fd400a5ceb66fecddd52b1ae40302047c435bb5006730650231008e796d7811951a9a8967dfd963cc924c36d9ee56b31d8bbd16121540e5080cd233a0e7489e238d580c8e2a5ef27bd7b802304668e3340496f9edd74b2f8e79c14f825dab524158fca7ea522e531c77f623e69653f9d005c3891fb88bb5ac426121fe0302047c435bb50068306602310081aa582ea5126550cf4c1115593924e7c04cdd172ffe6f226f21aa1eb6e8d22ec722c01a997e002b323ec71d7ef9ba7e023100d450aa23ddfb035862d2ff3e2bb2faa3339ea3b0a75ffd4a6fb707cacf4fd3c1279d1f88cdeec5f128750d8ab30e64f90302047c435bb50067306502305bf6690ac2cd18447f775b38f5d367a65013005442933e47cc8529ccb239cc20994868bc80312ec3edb375fcb562d6c3023100c54d30f2bd648854bf5dc482b1405dd21afc547dda6a82fd40cd567f3cf3dd5fbec2326dca5662273e99762325a6c1280302047c435bb500673065023100e299ab6726bbbf518f75d45454c9259df324f246091e6f5580a1e1541614b2a0fc00e7bd8252f1255ca6123c05a7bf83023013f47945ed9854981f196a9ba83596d94753e999e55ea203dfafb624ed61d46795893ae111b8a119945fe434f52fff0d0302047c435bb500673065023100ef563745e05ae92a32550cf3446378e400e158cbe7b61abb9ce596007463d7ad87e0654993308ba71775e8883cbd0c5502305f30a8ff619a08d7ef27dd97808154eb5b93c19dc7107652dfa90080027b56046e21db3cc56cd73dd582bfe24e553ed00302047c435bb500673065023100abbc9df7f56169754c27f0963a9bdd04c9509c14c49b8faa213a989f61db0394b804fb6735ebef0c381adf279a47665b02307e1d25835070b98fb8a959afd7eda13e7a791bfe6c4d53813a1a112ce1a5f204dbeb22f40484382a6e3d5529f0dc61490302047c435bb50066306402302e97e9ef7093977394508796d51d2a79b26469890c0bd2ac718e904ed166aedbb01768ef36ee7a587b336c33b291004202307b7b59ca60b5da0ae80ada3c699a2518882bf902038c69789489b03114c6fc9f49c8e0d08f6e2e57640f81aa1e3d07960302047c435bb500673065023029dc66efc00c405a1ff1a9bf57444641c73cf5e86a67a4b7612904234feec28e0fb7c6caddf8cf03e06e5ce58ae37e66023100a6a109d370d64208c90b92a9acca76a5438f1fcec99547843004ed626dbb3bdf5162acda12a5a11ecae51eee996365ff0302047c435bb500683066023100e7f4fa7bda5d92387e939f294dd66099939203e8cedc7fb5cc8b6c8ed587ac5dd2f3339aadb2fd303e221b4c6116504502310084c26ddcea62248fb1b4350f820a84f17b8ffad44145c15dda3baeedcdcf1b04f2273939fe723b89ea329071ffa782370302047c435bb500673065023100b13def2d9d989919834e57a7a3b6846fa86f95f9ee6cbd6ec8b11b58e020db4d0dcd779adc3f1f14a28563a465b6d0ee0230009dd98486ea9d074755d70d744e30e86f135aa34e16a6abd26d55ff6099c5a9a8787feaf584303170fca94a755035460302047c435bb500683066023100c5a7cea667e90878d6109057183a49e9fb4f3635ad59b558d76bc0b287afd76ba05197068308b5f4f32333661ed77ddd023100ac6097fb31bd9ba7ec2e642387926a8b9fbd36da9fa68bb59aff8d3599901a245232896bddf630c839ecdf804ecc30d00302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023100f5a3d29e7224c36596e47cbfa80afd4e0647206df60e243a7d0b2791ac28599c75ef2ff3ebf08c67ac35282e9838ba4b0230175947559fa6f4386a59e913109aa790a595acfe39750b82fc52a4da5b992d4574b5c6694a6d4699efc8d22e83ab4c680302047c435bb500683066023100c934176f1f27d8d8bacb9fe64cfcdee5b61f4834164f19fbb56c295796b7f45a1870c2bd52629c15bd5d3551fc4646b9023100b90f36b75a2aa446dd1a198cfe71cd2b3b274f4d6b193d96877b91a76efea93a5bf7fe7d37929def1328a08dc5d38d900302047c435bb50066306402305f75447f75864ff419a572e3798810e30996b98ed0c0328a41929ae9bb1adb859f900d4060a02e2724e3cc036b29db3b023043314547c455113a320ec25b439a5a44bd7c9ded1881bb172daf2200c4079417b8629c6179128a70c4ec0a0ea852c0510302047c435bb500673065023100af1fa962b1083da849b8bcc937995cd84531b95abe9dff8c33c24bb4effea198c4d6dc200fbb577201d827bc8180f8950230649839f7e9b4460e6cbfeb77f5243c0b22bb678b7c35ba82d266bd1cd426c306e8a8eba2c2a50e9da0d67e88b51b21100302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50066306402304dc9d9aa4e5703def5001d12a3310c41c28aa06cf112b87fb1c09abf004eb07c370ccc24284e3e1ad0243ce3b65964f6023043269112d9d4d10a431e7708b407e7ebd498a1ca3045fa6429f31a848dd3b9fc874d878052d73c93deb707a3beeb55720302047c435bb50067306502305fc10fd9eac6bcd231fc4e3f647567c23ff14918054de37418ac0ac002963da6b2e83f5ba5077b4588af53f133651a81023100d1675092552ef03a7bbf309facee58d37656204e2ca039b03a6bed82bd0a9f6c8236dadf9f46ceb0ca5f1bf4267ed0650302047c435bb500683066023100d1fc5a3e5f450e026cc48f94bdb212297de57018e778225e13c89ee9e0e8cb592d1ad39ec0850574ff033e350de44d0d023100a59727ddad28f24745f7381805b9663368ce821927ed2af0132f60165794e66936427e058704fcf0a5003b0e36f22f4f0302047c435bb500683066023100f33aee6ac2422b63d1961bc60b55f9ea37c8aa087d2544cff5f86fa26326f626db4a2021e80c984d2c76abd9ae077c8f023100f56561db8060ece3314df58a48babab9316e130bd4f374767a49ed7a108bd8853eb72f0710201ed9484022218868dc710302047c435bb500673065023100d8e36f5783bc4cdc764972f5269147c09f1e5811f4f977f9c680f11ac082640b022561ee3c730774b49b6e0cd649ab2a0230517f864ba912736527251d7f20ad490ba59ef379a6ac14ca6b24ba962cc7cea7d8f3ea04fb0316b016b81e86a71ca7460302047c435bb500673065023100a65c4a39c49dd595b999d64534fb875e9cb9dced088b4162bbc440a7134f3ab6bfdc3e2f90becbe37d4e75457641aa6302301966b83ea6ca8540c694df0384d6c9256d904338ea3abda22f830550cc5006859526d4ef10482d3d87021239800c22d30302047c435bb5006730650230230726888013b1604ac4ab8802fdfb2fdf32b5f539a186abf9770a9b44ca6aab6ca2d4ebfa2dc7747723db384ce19ff9023100feaa058cd298fcd634a55b35fb73f02109ac3823576b49e08f9d2ceefa006beb55dce6e4fdf36788e8565603bbbdd3e10302047c435bb500683066023100d177da9b6e11ad37eacde0edb80cf30f96764d8e70491b1512f4aed9f5bed0c520aa9ee279c31a6105de64b60a8fd8c8023100a408c29c271967dc4182171c2eba76a161559556af68849b2972da948f56a0da1e8020c7c8256e1c63ab68bf4f7045460302047c435bb5006730650231008532de66aa0acd22aad5d08a8b8cfe2315f0916b50dbd05a4a6fc65567242460c87e8e74ff28eb8c2c82b696da566d80023031d700c172e9bfaa2811879a68ebe6a894844b950caeb90fbf6ee86ab9671d9353ab4accc45bafe7330e03b3c3b009220302047c435bb500683066023100dad71f8ffe660ce98e93f9bcc1f2428b95fab29c4a98c6c18a0eed30a8aa282f74367ccf0c1a178658b67fbe0c620d320231008c5bcbe1e7792ff08c8634a89895a7276a471a358fe19b5f2c454574a59ca2aac287639366c5d691e8abfd00bce24a2d0302047c435bb50066306402302c79d979dd4188af0e0a859649c27dfa305906f78f17d39d3c5c2fcb88754e2012b0fa4b1be0bfc910540cee1328ab1302305c6f2b2e9aee7ac946c965f061282a753c2e21befbfe36981a4902b0d967bb896941e0d7b2890595904c2614c58e5e1c0302047c435bb500673065023100c06ced8dc334e8bea43146fd6a8c9dfa97ea67b010e7279058df5f05eed1f2305edac3c34e3f015236c3b6ef52ec996502306ef007795762c7d001051c42d0353ecd9fdbda0248024ddf42b6a813fc91efdf1810afbe01a0bb925de715eca8a23b720302047c435bb50067306502304fab54e5384b73cfb90c68c988bfe12fc692f2576aab3fe62a1a4b3035ac390201a7abd023002b446a8207e8af5955390231008a924d2b6f42a6cd1e35065f11355c515424fe93f26aefc54542e2d1688ae480d83db8c69090f0ba0a00223fd8e9329e0302047c435bb50066306402306e7dffab47a11496e5ac7b86415f7083713e8a74455df28a9544119ec7f64a3c9cf068cfd6cfc8862b2c9c3be86042db02305b4952ba0c908775a5c06dd8688114c06e8da043ac8b6ea41493b04fbbdca24dc12e01aaa239e8558081bb2ff5a4e56e0302047c435bb500673065023100f16ed84e058b7b23ec594e91c676405b17656165291e11f433258b7051c1e038b232093d15b8a630d90611b3b5c41cdc02307b60108ae3d9b2d0ea19153a41a0ccee11aa84b4938b902cd6391a38f90f5787def552b0e2b615648e38f16610ece6d20302047c435bb500683066023100ddba98ea302a82380644c17e373bdbda46a30ac41732bfdc24ba79b43ad862fa51f8a48b356d76b073763a609d5bad1a023100ab5d6e70a4d74b2b15acccebeb4173933f7a38a475ca6e7bbe37a448d4090e1e80e4b3ad9869faeb601609f117051f180302047c435bb50067306502305dd60afbe6839719dd20309c7ee91b663450fc77c699065ecf360bcca5e7970868873531a75ba77213a4e8dda689d0510231009cda34567f501fed881f48219446d5c77857b766302d99193724970b64c5c22ff5aa7f96303e54ac4093e124b5276b860302047c435bb50067306502304f927e192603ea90146384351dbfbfa45795e98f0b1b5d75314886359ace48ee09827e1c0956233c18ca1231bd84c6fe023100b21ea5cc10ad9fb6caecbf2b648513d3227fb69e7cbd0819c616084aa9ed9e366f148b235666ce1cd48d88b77b81d5e40302047c435bb500683066023100d054695b39ee6f13367b35411816200f7bc578e43589c2f7439f0a34d61025db3dab54ef2cd06d6b38fc010b46db2ce9023100df47a11fd59e8cb8770bc9aacd0d7a46099a1d9b4eff8ea9383fbfc279e8b730f0f4e9e5376d2a9e8cc31bb4e069b1740302047c435bb50066306402307bf8d85a6834d8369f0f9c9ded2b90d740238eeefbdc7b49b34bb65a7da9a5acf06008c714bfdc46f0999ebff4aab5ba023047e537f3d5a86cfbe470d31ecc99f4b4250a8303a4b8d615aa973ef483191f12d3f609ce8a6bc272aa387cf8f5bfc17b0302047c435bb500673065023028b57f2a1410ce5ba6d1632738e86462748acbfa795daf3ede1ccbde61b6fa3eafcd5ad8648f5766bf2a1063cac5c3d5023100c27f173f96876b724a1846c42145365e65685b5bdf1b3ebb61dfa570b943ab9651ce8e4b66bb2ff7ae9c14b10efa5f180302047c435bb50066306402303af8819092c37bb2a573401ceddb11c756409d8a7e4ee6a829a78cc1275e330154e85ae7bf7854ceb821ad38281a509f0230718daa21282ba467b6dec4e8a880a9c0e6990e2795b457c66935b192672fb57128aa9ee6a48de4f5de8d0788025adc870302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500683066023100c85524f255ee811d16c13c87b7e93e357ccf9d380dc27b87424100c777620e27cefcc4e0d1f244fb22e9197dc486d0630231008a836dbc5233185dd6592fe7587d8db0a50c15d4d3867155f6386ce97677b8b719d816d3c9cc84238ed3d4e74292cc070302047c435bb500673065023100af308a1bb9744a08f641986749978f3628a85c8163464d0deb1a0356ca2984a5e0456817c4386ed5a1a2cf5a5ff3c17e02300396c343ea8f0c19a32b4da75bfd1a083a068664f539bf669097abea500cd6f035bd1fb811626f70f15b94345bbf4f5e0302047c435bb50067306502302fcb3f64d3d0b959a7a1abd2b5d50cb17cc6442a265c65e9f046c43899c74b4213ce6ab9be648e3a8d8882d008ea4f8302310086950552f5b5352a4d9ca0a025ecd9fb366e0d20686779ef2d777c97233940c88146e624ff4b27376deba886cc03792a0302047c435bb5006830660231009d644c318127dadb6e90398e5c36b2b61719150325b128541a6eb75d9cdafbb89a9056625516829a95656e52279c572f023100e6f7a6323b52a7c6103fcad96c4fcf556c033242feda4681ecf3da1c02a07d049980dbad32675865b0cd862110b334740302047c435bb5006730650231008a7c5e0b471e6367e24ae656858fa693d7cfc09394dd2b82949dfb3fa9a50613a222f38717a20bdcfee678c2b1cd58230230737483daffb4b9ad3812d7747a720c196eba75a84d2f232c3d1b9caa04df8fcfee171766cc268f144d382db0f48adeb80302047c435bb500663064023035db4c08a9e691074fa9367447ebda3b80e1fecb81aa962895ee561d7ed11e8b00d025de2e6ef1833dc73b92ce44fa83023065c9ad35d396991bad31748c474fca97247877a987f7cb1770142c9532843bfa4cac75b87a1fa991f90259cd2415a9590302047c435bb5006730650230228a12a28fdb2797f9d924b54b16fca0fb67a5d39b0381e455edaa72396b5bb2543678aa373c720bfc382d373073f53d023100e9f52a65f0b0c0dad03ff72dc931cc9ec4d086bee7a55f397cd4313e117b840d30a85d208dcba5d650fbb47c082ea2f10302047c435bb50066306402307887674670baddca3c2e1d4c4e900e2fe3fd8253b4020b3757542380ce9d54e33396a1a36b9d229f77ffeb0892d29ac90230064d9560325e901268835e1abfc8fe0ca992bd6968b38006af4146386e489d8d08641105f549bd1a74cb0bd525b1d95c0302047c435bb500663064023025904ebae8caa671c069f2212c7562e93c2b90f03208ac7b69e2b341549740bd41c16b892dc5979c3581c8243d30f85d02306c43875bf4b34f2f91b14580d911737b80c95dc1949b4ee3c60ef3d72bcae0e44f13820aef117cfbd561a37fdab811440302047c435bb500683066023100d5d128cfd0052613d9aa8b87d7de1f13e65595a16b531808d680a93b0c2b95afdbff772ae230f39c8c8b63acd2861d6b0231009375360e933b43027fdd70949a359f62440183a165e38c273da475ac18b04b2195dcc0134ce6aa072c8367afd6b8022e0302047c435bb500683066023100a342008e3512c6bf87be57d4f892560fa4a116553d44ddb7df758b33f30cc77932e87e30b98e52826636cc16db255c77023100c16b837c4f61a3bcba551c5866b7836bf1912062e2c6d5243a3c1149d5e53013d2385b69a4dc98086e1f1af253da73800302047c435bb500673065023040b5a73165706de1a1670455b9f608a7be8a215677c40d05aa67405e7afa27d3d48bfcf8e4f5c119f18c131b2f19001f023100b58abc5b67f698576e555e59c0c4e31fd3f76c192d3612620502af4c44991a9da86d325b9423af3fdcc8f30b2c14895a0302047c435bb500673065023100b14509334e68fd6a62b356f3b3d5bbd3dd32d6e9e5e6e276ef9b7ea36f6f0fa2876da9c3a93b77d8abd8da3c8a08eace023031a76f5ec02f01f91ad9af229740c827e6ff15eadffecad6a06f3c8e60cedb3050f7a5764bae16b6779315140275a9b80302047c435bb50067306502304ed3aa03e59620ed7b4cc5e99b06dd4de7a7cdf00d88d72228b304a5947f15f563110afd87bfa907695676eac5642d2e023100c226b1390ea886aeac65cbe38d511afa0b970a8329d25eef983ac0f893412570a5f98ec6322442f4569dc69b2a086c3e0302047c435bb500683066023100ea88802da26bbb42b0eda59493407710ada35c6c757da1c64533dc7ec43712ea458a41dfdd526a0125e1d3ec630c2a0e023100c2809bd9570393d91baf3651d304b52cce22a8589c51f2928aae28015dbbb9ff4122ace2d072ea06beadd3b5739c28a30302047c435bb5006730650230643bd99175b2925a3c76161d6f9031aea8a1fbe9d6165ad2626b8ddb3954b3ee5caf6e0745443d359edd55e650340756023100ee53d31c05b897f27867e2fe7f93039d56a6e7f5de3009fcdfa9a7a83b639115974520d7f4efb3883a8f0615a240b62b0302047c435bb500663064023019135317877b21838a21476455fabfdd9d3d610590e452d47801e29a6fccc399a4129f7faf959873b6afeef16b4f27d80230209e4f025f3378f2a70d440bdf3da2f6ae446fecb22f5d2ab18c2a8cc0479f89d72d2664a60277d4a45b049d63cb499d0302047c435bb500683066023100b75727839f2fb703b2198165a42a32d07c4d7aa56abeb09665ccdb5142c440547e0654b7d44bd8d11d6d05cfa085bbc9023100c2e953dcd728b0d72d7c7fb72a343af4e46eef8a0fca5ce8bfc9720c56713754cc3fc85850fd336a26c9e6e00aed377f0302047c435bb500683066023100d8530df54e922ea7f2cac261629549914973396e2cd10c5a6c0df4fae486896a060319faf46f8248b4feceb54329d25c023100d5f19ad4a25771667f337ae3bc5e86e4b8b4fb1da30060889d705b09fe149d0553ae4d403e5ddf383b43ac8a3245fa0e0302047c435bb50067306502305e6a0aa20b0da0a487638ddff3c1364183397f93bb6ff014469831a3674c6e51cedad7dcfb3e998f42f1740c9f09000b023100dfdf5342e4869a41717bab1f9a69a3336cf66d9d1c7c24c5a19448faff8e6f0b314624b368214ab17a655e6aa0a4b0b60302047c435bb500683066023100bf6b4f10cbb4b8c1696e53118840076145eaacce34d9ccc6a4f11809cdc88dc47650f8f29d4a3cb1b255b1b641b16a7f023100ff97ca10797efd63b85d3525e74ee6fd0a134163ba3349e62e25dae181d7be4c19554b2803550d274f21f74646a33fbf0302047c435bb50067306502302f582fc17da14d9da5d1a1ca65fc74c58164d35cd0b6ac6ae458956bd81b815383ec5c4f70d4e0b90f21ac63f22bca24023100f178b4fcd1e5fb0c40820629264e383de69d6b96fdb56d75195e714f01966930eaba97b5520d0fe676bb044016e8eda10302047c435bb5006730650230294140880c38a1c0c4dc7d866427e1e8c4be2fcb4508bbba11d608b0a72ab7dbc8748b14d3e7a67d1b0297c8fab2bc4b0231008ac9faea6cbeaf8a4530e0768a8a89dca4973fcf88a0aeb26fda90940ee9d07e8ff8efe0a4a85a3e27911b7df9a63d180302047c435bb500673065023040f8c6e42b95be8d8cc7fba8bdf8babe7cc16bd049a065e23b74a065d9a059ff0b36feab23328ddb8ffd99a475e624de023100cf738d34a28c8a35c8413aaac3dc930b9fe39f64a72e9e67fceb22642712f16fb39221f7672f309f1f9c084cd42704060302047c435bb50067306502306c06cc8d596396eff432ebfece4e2da474d8c785c122fc28a2adbcd917df75d4314c1173d6eca6794b19449b6e41dedc02310099df6a7a82f60910c43c677089c61116aac41e73d9ce11f0b868194b268d7e2325d0253f439818f80722bb04f87e36a60302047c435bb5006730650230547a40d6fec6f4a7046f4a73e5faa1d20880fcf200808f52f8125876f9b410cf9a7a384f0ce030fb4798cb329aedf317023100c979c3fee648c670d7581a04e654b7210b730ec6451b25d2e66a53e21f70bd8e16e3105fafbc19db918e86e0520e34990302047c435bb500663064023066047c2a8fd9286c057d60b16108c893a012fce7ba0ec76223d498c284b018533a4f413560e8b6eae85a5c37b61ea990023011406b74e16c03b3036f4eb5486c990924aec73ab9e8a8ad53ffaaa81cc6d0e7a524673c3ff7619801f59b9f834d3afa0302047c435bb50066306402306796e0af68781d490bdf01a5ad83d08e954544557105f9b063d53f8870bd95521defd8208f8d9d215de18d9319adaa5a023034fb992715fea0208d72708fbd5f676e7c529624c6ae8bd4e6ff1ea934096eed9bd7a47df9b0b054bfa8f40248e96d120302047c435bb500673065023100ee4b2704f8ecea763ac58e5b776f08bbcdd74eb1c55f7acf08a5658a9e9b43c5c3e33f9016c41567741b479097652a1c0230396481e70f122db5cbd8492104e6d46054d0b812e0af37f735ac42e306740f4bc5512736c218d4b929ee4ae839229c990302047c435bb500653063022f441a538163866eec439080d10dedc3455944db4533e0f87f3cc37196052d238e047580a68ffd85395d0355295dff31023058a342e19053bb24e02ed29823a0926584af100d1a4a009cb1a1f48a930b6c679372d6537146defcb2ba6ffb6af2fe890302047c435bb50067306502301a65a0d81053560f2dd8864acd77135b7a0e116447766e41abc2ba533533d6640022e866caf1e3304d27a1cb46dfd3c4023100ad020c8630b4fc31e0093cad8d1b50a3487340597453412628bc3084e0fd05a20d33a13d035b23b29d7354aa8b7308c70302047c435bb500673065023100d53df3b6d2ccc33239f0345fb52ffa9ce8c34fd7bd8ab8541878d23774e38341155aacc2d6224cb9ea26383558dbefc3023072cf03cd4d4ee6becf00c6e04774b566cceece2146b0d7c426d41db896dca6b969dac31656f634e9574230f8ca1282ea0302047c435bb5006630640230408a82269b1546b8fd559cb340f014e353328aec94d5381ff301d81be3541a87c2f968d8d07bf4e80cf18348e080726e02306bcfd79dfe039787bfd10d27a29c05c92ff8a5d9528025d44584817626080c8b4b9cc033257c1c7981c4e1a38331c3b90302047c435bb50067306502302edd2eabdcdcf8aa924e1a4fafcabdff396dd74fbcb55854bab6f9805ecaa3f8c5357eca9db590c0d0d99f31a223d27e02310088c11f624fe34b8693aa6be5e818598409cf845dd37c7c63161b6679b731f0ba262fd8e180a5e88bd85a2ef229858f440302047c435bb5006830660231009764d8022b7dccf6e7da42afb218b4b28b45d0a958a66754608d20322474342cc1611bee314d259585b69e7d10fe0a260231008d7744cda4258add5e3d9823d6b8e72948fde713faea0845ed372c158bc2a2360c5f4348bd1d2ef3c024ddff9d8e0b880302047c435bb500673065023032b60d226e3156993ff9fb061e9f08f8902d15ffa4eb061dee4681e1534e151de496b275f48c7181a3cc919f4f73835d0231009a7eef55fb2a6ae316c46a06bb42d8cac47c154b8473c167998cd6dc84b75990be74acbf563c52664921546ac63f12270302047c435bb50067306502304a67be5189faac0372221f4976506c7247e01c2655366fa5e77bc87a35b6a11a95f0b9857e68037c430210d2b093be01023100d560101288d832e8be83973bfc341c158ad9e69a355868e7c4e1e14b7e580356653df6db8d422a696f4ff17376b2cbab0302047c435bb500673065023100b34c7505f32102b3ab1f7db82f52169508ad80641b0531c12ed298921aadb74defda6b7ce0e3115d2c1ddbddb292584502303c33256e88a561ddf80044e7631e6755e0f6dd577f5f9cd8d96e6ee11682340bbe057c450a90d2958a7e1e81d242c9790302047c435bb50066306402303bf4c0565bb7f37a183ef051edfa201a77b7f8d6ac971280ecececa79e91bdec7f7a561daa0278b18a8cdd35bf58cb040230515ee96a1fe3be5126b1edd97c9655acc4d7d11bef6d8215a033ea8a4d636c764c23b98ae5f0eef71f58572bc66f31bf0302047c435bb500673065023100f9fbe068455fd5a3e1a5572d023ee0a2b83d42626ea5f81aec83c9d9ff36134c77c0ee0d8b5bfb2a4a17d7b64f6dfe00023002de347ebd0008a910fcc89ae9825a2395ec4f931234280f5d0dc237ee523a11bcb151b1280666901c83a0fac4a877a00302047c435bb50067306502301a41dd250b20fa76e07683ce933049b553bf71d06c9316db5667e32c3fa1c29920f025ad02ceff044b4e3ce35003c00a023100db1484b8d9621938adde68867b683052d2e02761596f0448e91737ab7ae8edea2ab0f04d0879ac254d2e94fd2b31261f0302047c435bb500683066023100cb2600e1326fde164823dca2ed1d529261980dd0b49848b0749f840ce4191d67925c9d95aa54281e04df8165697f47f9023100fb6c18a162825c41d715e28d1aac21be8620a7bf9618bbbd058fc36dd80e54e35e3eeaf1cdd99f3492fe30849e9299cf0302047c435bb50067306502301298069f56453f9bd5318283bff7aa1d06449d489395b2e95f045264afb8743242d93ef18aaa4c76fa659382fd888eb4023100c69bc83c00c386dc8dcb844a39143e3f3591163e1feff390743fdb197aac61208184ed72b03f2e5ce22290a0207c10560302047c435bb5006830660231009cd92f6cb2437cab9e4f7427e1fdfc3fe0cc9bf17f25636dbd9072d9be45c20edebd4fe88c672c8566f2b388575dd4ce023100fea36edd064f7311504e8ffa7d78007bf89e92ca0ec72078cd0176fb94ce8221408d2430faf51360da7f1c70f71cae830302047c435bb500683066023100d04c8f57ac8fc0b5c7af106e3a657cce158c0e0a479a3fe62e793be15212bf16725dd918326aaba66785b631a7eb80f00231009f80a44943ba9d4fe031eb417718a298d702ade42a79b4fe21a1a2a1ac62df0d42e637f94651d309c97e12c0a7009a170302047c435bb500683066023100fa7163f16b3260b53d9184c66a0dce6c65a2c7ed42f3347b2fd759e01c90032fdc962107ee3fabe93571254ef225071b023100d940f38e62ff8d4b2b232d62339d94db924d858eb4680c898efa5275945ce228a4a69a7ddf08edbdcf99b1e41cc670dc0302047c435bb50067306502305c52c6eabbfd3fff8f3dbba6ce7805ba2a77f177108db993608a95b9218160df204bebbee3e11478bc6b01caddea3c14023100eaeee73bb238bf569e4a83053b2fecb7fca28805a3d7fcd2548f848ba7d0b4f4f59745b2a62d3591c23ebdff8ff942b10302047c435bb500673065023100b941e735782c045c7205ee3876f3341bb37bb5d69a83186080e14ae440dda5c9c8d69abece19200324dd3274cb3b144d02304222292413f8c4c6d6fac1750143015764fa61228d9ae30346fa45375230e8b4fbc756dd8472e665325849bb31d41bca0302047c435bb500663064023009452b8bced28f5504ba3060ad8d1c798b22306f928370bbc6a185ecb804b38245a1f3470f97c6d6d2a71b11dbc566da023004d5b54dace2989f6f12e650bc7d828ff75d5636d04e85a4c73f2e0e1fb2a77d3b53eb07412b8fc30a31796ef2cee8900302047c435bb50067306502303e1727e673679c28b18f130fd9f4ff58b07ed7b6828cfedb01c14627e21659dad1dfee75cb5de15305944a2fc7ae94100231009ef07ae6be73388856f503ea8b561c6f09e319afd08e9ef195fa9b043116671855002066f47b68251d47ca53bca723170302047c435bb50067306502304030faf2d7a8e0b1596f034cfdcd171d04af4c7797ba2fe436d2be9db81cae028956a137ab270a2f7564a3e4146bda6d023100dec895ddaefd011e4b99d35bb9eb2520b9117aab705b8078932daa37a9e94cec70d37712327cae683eefcc5827c137970302047c435bb500683066023100c5841a50baa0618821fe7e62700bc34138843cd5e93e901765487348d7dc233eb45ed02399dbe6802be1cf85fb72bc96023100df61832230c88fa452ed1abc4393289a2c9895eab23cbe2e3b066029ef544d5dc796311c026962638f741b43fa789c9f0302047c435bb50066306402302d3b344519486318e7deb07b523c3aa5eb38a9f4cfaaa14d5348836c231945fd3acadf32e78a228c181bb6595ad51616023079f4f8774efa5ce96d9f10982739a11840a1e222940faa1c7eec6ce30f56fefeb3f67c27ec7e0a6a661efaa483e991300302047c435bb500673065023062631302dea57faf8c81ce22fdb7c111f8fe5fddcdb7e906a3c23908e9d4698172fe8ed8b03cef397b645a6818fc4f350231009feb9a605060cd432b8babcdff54b2e9056b8afe4b16ea55192dedbaac7c087d77563e920e8e3b92702516dfe2f993ab0302047c435bb5006630640230066e7c76ffeb752b7723b1d0bbbc344740c4b1e4cab559a2c4ce22266106cdf4ad9b70e27e654d9860fa11dea8135eaf0230335a63057693d7f5af7dc450b1eed8c4961be34da60aa4d5b3a6058d0781c015902d14e22e2eb9700c9cbe6cdbe935fb0302047c435bb500663064023075dc2346cef8047f788283ebb4acb876ee30e09afc82de4b78eef13ed5b9337791f5539f67f2ae8c9587d9d57163f5e1023013165a71d2a2d00f1e36e8fb9a3a84d03446d8f3496f0f498671f29affa2b64b0ea753666cd81dcc7c3a40c6294e03280302047c435bb50066306402307ea114b746a7c66a5e5758632b4c7e1e1dc5fd88fabfac77d4b89a30996e2e3aee540896fb4355cf27efccd3faf6a45a02306183a76eef919a7af724db6bdabc8d98c48c99a566c0b8628ad38b3fab73461faa366adbdf9e55729a388e87ed127a6d0302047c435bb50067306502303adb6689f0efacf7ec413fe5e28c3026a41ef9e30305f5b1dbeea27fd0842144ee9158863b7961db38d656977f1925b0023100efccbe04505f0e3d07b0fe888530deaf24d507e37cb3b8eef0f7038d3e8bff6325b8753b478376ce8dff6c1b597343460302047c435bb50067306502300c5e034328c4b488c32dc6e092945c177305f29e821ba9dc5d6f3ef7087985eb10074987720cd662a0c34f92e4d6056f023100ac96b5ddb4d9b47aa59f14a11f0073b1aeb460e92eb7a0e65aff204e4521ba4f6aa2434c47fb263454e654bebb3f2f040302047c435bb5006730650231008469966ed86caa2e19a47d5eeda4a5321c9858327886b0285e55508a169dd42e8a0f9d6e8bd06e1365001b24a6c3bfe1023076b177b59a025a959ee711836ac1db42aee0d80adf100e2cbbf7870f3f9f0303efc659dd73c38d3f5349e4a41e4301570302047c435bb50066306402303fc8a57a29595210a6d6bca9177a239ee8583b554d15d135e1e2345d8e18e3d6ef5a688dbc0522f505fe15e47949fd99023028931854cbdfda376e18af3005ecaf6b73c7bb892226d050053409c57a543d4212f4232bed9d1751bca1ed4900be85fc0302047c435bb500683066023100f329d483ec004563d4ed9a32f3092601ee398529d008f02e30a505c9b4200568dc04ac7590dee3a080a25c04e1de8c73023100b69eb9382176559297f216a4aef5847421c40e9f6149ed8344afed91e071ddc76bec09afcf98e1f81ed00f9f6b603aca0302047c435bb500683066023100e36e12090a61bb065ef3f7c9f1038f6c7e852ae682f89683c80ebf5a259b76252a83b56c16d7222c4fc1da3310da25210231009695a35ebe361da61d3c5ec60ab0fa366d70c3a130fa6a4f95975b3c9dac259aa0e15fa2b4b68478921fca2bfe0ff1a50302047c435bb50066306402306b1e15234f59b16d064df3683620f9886c926b8913a393326c843c89b4da8f22533716913de41fd5d61188fe7c2781ee023046df69dab42f72179c3bb60fcdfbe0a461fcb4b93aa6b2907b6cde3937490600a694054ed82d0001f77874168f5e09980302047c435bb500683066023100d86e979cdab2e2be76921d46e4f85dd1461c8ab2860c2c922ed304b84f80922ec0e9b924bcd6e828c3d67776b4e83e26023100aa2eaa711b8c630e625478094ecf0a9f3ccfa081a459d01c23a2ff9b8112d17e5a9fae56cfee8c48a06632215a6f3f120302047c435bb500683066023100aeda653df9f2aa5b7af68ce1e448cbd864211e0eb340d5d7a822e97f9290a748233703df77ae3831c32662652d2dc401023100fd6de5f8c65a1804adc7ba715a0ad6e5be52c8dc9e028cd6336eb2c1cd6196cb61a10a335b374540645a4344ad61d5520302047c435bb500673065023100a044bc9e33747c6fdee9c06a4802c7deeef44464ff36d010622b435442528cc4a02a0c240ccb69b2684dbe5d80d6678e0230314e9577fb92f6b1a62663bbe26c3a37ce0e484d676a1c2bd665706aab822c60e3d0afe86a73dac1f45ec48606f7505d0302047c435bb50067306502301dd42562eebb6a7d9fc049278b8afea54968e2ce3e4f4163734f629264b45b53b2a4c8dd34156ca591340f9967e95415023100c3f1bc9c01b9d5b3ac302b6fede0b010a0abf0a2955755b350c69b682199de9da04d40ecabde2d2073ca97a0704b69830302047c435bb50066306402304a3e5c01d7f01ea14513611ca66efab21b6b0866d376c2b0b74bf22ce47d6b78451be3a335d9326cb5479f9d017de9da02307c2649fccd62b9d87a118f27401710779f2a146d812db019991b4990625085e534159614182ce5a0ecd2403ddde207320302047c435bb500663064023035a390fe6b3f05119b44d9d8d913aa36e47efbee2f88f4e96b4376f1ab497d684657984033c671b95c9b68deb4b9f30802302dc6e524ece52c4b161ac69fa700445abe280994c95b2e38de2ab1549deb7c8d3c51be2990c867038ae1a9306b1a837b0302047c435bb500663064023037e77a3307ee4b8d5a7e8e0362208eccf48972e44f1b686f703c4061fac0c0e8654e6db37fb7e3f8ead726679a136cc80230207dba66ca63165b314432df282a337bab0e99acceb7f907079494b72ea5300b3225d32d9a9bedf53f9fff82d550000c0302047c435bb50067306502305d1257a3aa47ba64c9eb6e217f1740c043f37c57c84617a6c2571bc9ddba5ace2843c262bb719182ca4e01b9f708282402310082c98815d1f3c1b7cfe0f1d002e16ed52964424da3467f064591e992a8dbf06610eeb13b0747ad5c9264f72422069e250302047c435bb500673065023100b9c9822a7443a3b3f58fcdb2de48ef4a7a214563d68ea8c3cb227c9ea462218b5c18ce3ec2e6b7d0680ec654fe1ae55302306ea7ef9074042c7301b1b37af29a97b564b2e10fab10062edb329ed490917bdaec7dee888bcdec2e806cc1037741bb180302047c435bb500683066023100b4f4fe1718ec3ecf185c121835d67dda03a637e575f753752f60dc25994414c8c63cef732379ad8cb3bb4074b7696546023100e57223964a0ac01b85c6c7f1a495eeed7226de4bf5b5ebc57ef1daf6952ffb21b6f0e8eae97f713bd8eb1b5bcb52c1250302047c435bb5006730650231008e1b40ce639d914b01bf2f4381126f020682bc249c5c1a04c7232b4310927a625ec2b56a55846eacbf365c8e930b72cc02307e97327f2d59b0d3aa541b0a513056d164672c816d4caf82e1ed4f14dd74f35fe0fa0bcd614517a599798a37cde11d4f0302047c435bb500673065023057a32067b263879d410d5097c3ef93090ddcc10f15791d917faa80c628f33d9f94bcabbb9b7cb2da66fa35eac5bf08c3023100a7a1e6171d7861fdef8fb17c9756ce5f701a6dade8d875cc09dd0f283a4ae3ec91f22b83845335cafd6180c78736d41f0302047c435bb500673065023100c212593f0fcaf1301527b0f7a5eb6a4cbbf98a4a1445991aa3bffd0156cb5c1e016c1e7a79292bf6ea31cfbe0f43b63b02303edc26f6becdfc5c8f699ef1c2d2eb9b0174c27f7136c82ac8f53f858617a6f1feeec22405a5412372b890cb585864cb0302047c435bb500683066023100a75552e86aee856639857c40c3516fab576de5e2b5c7fa45dc8bdcf4ba8709145d74cf0fc13c9a516b32ad6ef28f44b7023100a26111d0c52c05e404f14c2595c46a1389313c8eeed1ccb2eb4641ba6128e31e65d2880e0520fe3e8b10dbf06554b0570302047c435bb500663064023002cece0471d3fd67f2d012d49f2387fc9d2f78af61d40ae6781373ab34bc61fd852963f389ded3965071664eb70b976402306f39ca4248e90c19af9b85f3f6f546c000ccb1ae149aee503bd9d24bd5017ce5fa3979d56652a0f1a870ce3b2207b9820302047c435bb50067306502300cc533153ea7d3ef9f4e3b625ceafc6a93e279b89bc969a2e12aef0be0f1fe261d0c630715283ddbdccf25e3f8333178023100ba26321a6ccea362b5e208d3bb8a0b25fce916ab210e339d350f0c2310dde275eea27ade08d6da8fc961ff1ad523ddba0302047c435bb5006730650230282cc33a4eac562dd9447d19f821249271cf1d460386a3db27c3176829a66fff6371c911d9a4b116b2424aaa37823674023100ec99038f2d83de61065ab158bcc723caae188085646bd4667a021febc860b28560dc7cb67fe7a90892ba4ec7ad7d7bb70302047c435bb500673065023055c09b4976e5a6d3dd523f563821124242c4758120b4253f5167836a8ce11c1d8c3c0320d5668cac197ab1dc507b7e3f023100edd25226feafc6e2be3f03e6e1fc6ab87bba7b1c72550fd2221628c087a3950a55cda031c84172f0c14f6448131921160302047c435bb50066306402306debbc63fd355d943ffed14ededf25d3c31d13513b2c2d2e18c1011d739974033e86eedd29e230d8fc0abbc62eb18101023059fcdd3cae9a7ba8f4a423dfa2520ded58458b2ddcabda1a924a4051fd0dc82ed5eb8528231b08f347fa5e4f59a973cd0302047c435bb50067306502303b5e9918887f9a1aef710f35232b36d63377689969688d32fe5c93d2daca871e14ebea65fcfff440cf7555f5fc081abd023100a454253472557f15ee951b7e4879e89c2bd1bc5bab405df8f042fdd4cb20b9d426f4693e079c9b478b17a9b1ad4b300e0302047c435bb500673065023100f6cddd81c8e98e18abd51abd21d56d9d4691e0aad98690855c0709b9ee9ecfa64dbadabb5ded38e3e7af018c83c0b6c10230474534916a6b34604c0f21c850fac3b408a1626a9bd293f77624afe89b6fc55d626500634f4f2bbc9bd5e1f9e423a4730302047c435bb5006730650230356ef90e6b0ab854ffe094c23c720b9a3f918221519aa4a664d6cea95cde514c7569d00b28d3c18d2ed22bfbf3afb722023100acb4b9f5ca3ae51be25185e212e41ca062379c75045f76bc59bb78396636bccb11ac5509ac9985297c0456548834cd630302047c435bb500673065023100a4f9f1b4d9309111b9d7b4274fe82a0893c131ac92aa766c5517e1e9dbf25f4baf6b0369eea162979c32dd660af1a92402306d7d9ddaed7a960f751041af17c9092e827f0d4ddb67c69e4129f406aafa6d20041a0a7f3d5b470fed22413c12c2bd5e0302047c435bb50066306402301f7d5f1f5f80adf96fa12d7a025bf62e08f09d0703c69ff5141b67ddfdcbc067974e9fb5b0c99757422e57bd503b20a602307e83cc81bd55fda5f098e17d88965034ac8d874215640c5a1dbfbb9372440f850408995615d8f2017506e31f8e5ca85a0302047c435bb500683066023100cc27554013d118ee9a1adefc7f3b885b5af0dbdfc171dcca0b87254c749b534f586f05639aafeb75395fcfca69476bfb023100ecc70668fc8796ffced4bd6c1d065e9f5e2aefee5f8ff9a382307ffb8638bb5e7c0ddcf8f1721d27c22e4cfc3a71e6ae0302047c435bb500683066023100fa575605fc5be83e204e70886da76a53afb5267eb9b378372285c37edf1bb4b923e3dada890b17e3bdb21ddcab889bde0231008f9d552de00e775ac30b2120bb0dbdb8912425591d8b94b3d2491f720e52867b7e600c913d239201f126423c35e9c88d0302047c435bb50067306502310080be280ee30e31b1198d2dde805dabc383b993f8fd4a37ea1564a1a15fdbdaeb21d5529322c2232ec70e38e0781d3149023019e29f851969a35edcb6947888c635052520e55e30d1b4d386b015531d68a976471b87991f5668062c82ac7ac15755760302047c435bb500673065023100f2e2e69590e75107253d48376f88e61a0bed9d3ca504b1e8dec7f48691427c9a8ba26aa403ce2ea52af123343da045d5023077dc0b9cb67ad18203df5820aac7f9aa5d50cf463af250974499580d90ca01bf48bea652740d4ea42bca33280567c4060302047c435bb50067306502301c5ba0912986a20674b202213ed55f2bba6239dd6c28350fdbeb46f4b1532980961bedd6bcfa26227cb03b397d6e2a6f023100ce3960a7c69a20830cee39ddea86eae24105ac006860813a2177d6900bc6d414fdad727941e58769470153f05944d6390302047c435bb50066306402301c19991c9772b93c1ed11e64696f3e49fb28d960f9a6e339a79b6a5376b1c459327a982024198ffbc0727e6ceda7f1c902306b4303c7dac12cdc798a29f4896f8d7c8ffc6ac51c3a6e4ed8d2f4ec1d233d694ab84b27ed6e372bc5d26bc5f1e90a390302047c435bb500683066023100834b287c3f71bc46fa8152ee6f1805704ff87f99e8e5ee0f58bb0aae1804975bb544849105b5e3720f2fed9dd3d39bb5023100cc435923b42c028906c98b410afe5f84c02bfd169ebca2407d7df5bf1e9dfc375f31c4a85649a57fb85d41194dde40c10302047c435bb500673065023100ae5608d182d0c36972fb28905d75b25b221870c413f4fd52ca2e57ccea98c056c9d496c89a51f911584b939b338ce9ea02301477f4f984be582281814919664916a8716384bfca3c877afd122e6261f97cac95152b0b5e8e7f99edefb5c8644a8ba00302047c435bb50066306402300ed02c7ce7024c65705bee196ea0c2940905ee12ddadd90c2e487fb54c2a1eac54e9d982e44a13784b0ee7833f72913402307d7150d68a65c3a295108c86198c355fe8211e8b518d00d68e2ba146ad3949f84631b2dd28ed9f5fe4dad33a8bc06aaa0302047c435bb500683066023100e54ecb045c169cf0b412fc51d27e884adeb8cf80d44f4517d9bb0f3f19810332a765a3d0590197e42568b36a6ec9f8e4023100eaec614c680861d2a652128e69dccae8c964e48ca68536f4a8678f8185e3cd1b4482cb70457365494ef2c2cc0953b4f80302047c435bb50067306502302bd666f3df2cb91d420e481c8579b52b97316cfea0675de7a00b94829bd7b295c18477fe8b0b40ecd3c8c19070597a03023100bab7a3bc7dbc58154a2c1c27b3cbc9d8b187bc1258485ba8fad55037b21dbf35be09552a715e1bd526d77ce92c91444a0302047c435bb5006630640230258e2bf0a94b09ba696a39d43e5813ec31f8c587153658a6237e771a35584d9ba9a7ced251cd5e2d4f92571d15a5c65d0230553534cbe259db9469ec2e1fe107cfc83b8fae9c520a924ae5071a22b37131bdac5e3818d0fe3b1c829282483fafdfdc0302047c435bb500673065023062cb0318e296a1e9a04ea4106af8f90da84318f6551dad5e7f90cf5f2bf89d64eeac3dff6427cb30684d9575e04df23c023100e499ef8ed37edd3b7e9283ff8f7622e81d354a0c88a93e73aecd01a709b3828243e057ce173c429aa9a1e5b8bf6428a80302047c435bb500653063022f18557a081146069806b153c9cb5a3d0410e2ce3dd5866a77601a35ddaceb272929fca4c7c40ee578b00feda0a9db1b02307676688e3db3a8f4d41fc1f6af64a9d5527ae9c4a088d2c5fd50971cc6e3fe2a4af9eb65544073ca215e10941244a0580302047c435bb50067306502303b940a3ae0b5a60c5c1cf28bfb81594503255fc9ac1a2c8ad88e01ab8c8d384ffa02cde646d8e41f469bc93aefced9480231009bf79e75e7b48be4980840a6daa84d2181cc44819b4889e1240607a824b758ca7ddbabe204537bab11d79257be25f9770302047c435bb50066306402304f350fc7ff4d9c1074140c6ad21306c3dc00fc1f0833029bd87e8324baf4fd9f88ee6f781bc9d7134b46acdfbfa1b452023055c6e8d17db94340f63b3ebfd7075795f422ee32b9f13b533931de5183356af264011267a3e492ebc99282ce58ead2750302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023100ef1e2994b0fbb72ca36add8bed62646cc3169aaf253a8f52a58c0f3f5e0d5872b251e9945b89fbd435bce4d2f79c497b023027ab10c82fea3e53ec08bad29d4b65c915adca4aed28e360329e6d187d8a0f503894624d56c5c89f29692650ebc474310302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023100c73e2bfa2eda5c4abd0dfa429942189cb5119192b4845ff30f7305f9c2e0df9b8ba8f00bfe07c896a44b890649b66d7002302e0cc191ac143e3451039041fe1b3c64deb8838daec6f369894ee2562fda2e2a97517f7e0761965488f9bdb1a9a7c9c80302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50067306502307f3a325d6349c9035da02e4f24fd6c3f55ba94e7ecf4b2bf71b3934c6a0dcf4a542ae01515b04163e41e3d725b69dd65023100bbc2606894c5cfb85c5e8bbf5f0b7a0c5d05a4c16d96b5d6fd35b6e8b23fab7320f56ebe858375abae8542c7578009180302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50066306402302832e4ef8cae148d037c7e64df4d6bd004d2e09fc1f232f4908983cf960756e8ab438bdfdf29783ad7a8cfbe3fd2fce602304cd248df2a3fa1b8ff59ebc8be0ae8119ab008866480b99fdc9bba89bcebac0eed7d87b2fffb81f91df8389e8d290d550302047c435bb500673065023100e9d6731f1b080477a816eb96c4b8d856969aa1f631117ac070cadb94c9cae1b84479b63354ad6486a1352c4ac4b8ed740230704ab896e0d23a1e887b54038bdb0352c3aea2eb3aaeaf019f6354534c6513d710f98a425d0e21a2255c41f6fe0fd2a80302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023037a5897806461c6e71e586f3ef15f7ee6631e220f140fdbdf481827a7fffd9469244a19233f9cead836cab9b6e379f4602310091b65a0e79cc7f78308f56744fec5f3cbdf4c96c212dfd0b8827ab921b1bb15dc6eced7225162b034d43674ca9d405b70302047c435bb500673065023059ab98ef83c689ca2a89126eccd1b51473ad89ad0bc5ab3c973485e4291e732b38c87b232c286951508511b8a606d23b023100d6d39b709fe1792dcdea24c28fe65ab093b5581d3c307d81e1740e9736fe3b7c09d9fc20189149f3f3feede62503e4fd0302047c435bb500663064023032d87f5e53ec88bc0b40075fbd329b18ecf8e5ec0757446b7479e0ea10646cc6ba5c3917190459583445d1c75ac3a10d023017d04530891d919a3649ab491783fdbc4e863e5a4dc38d5f995ae2906bfe09dde3cb5ae9d5508b88746d4d58a654eb5b0302047c435bb500673065023100e443bd1620a765e958e5ccb7a9d68f47af05340e64fa9ca6544f6c7c82851b319598cf4526f3d4ac014db2838d1802e402307e7000d02dbf9560316316e2c8ba6bf95eea06178846187a0eb4815350397a597e228a23de279b0ae11f82e19939d88e0302047c435bb50068306602310081f2b0a4ddb007a5eeb0d12bc7d06d62cfcf1b62da3b9ede0f1c6658b901f51b32d6fbc8756c3d4b6ffc2d541e3d7fd1023100eeba6c1e427362be409e6dab5158bdf5fae7a5a171ecd6d53b04bc3627285f40bf44acf13cd30d0bc24e9466bb6173f30302047c435bb5006730650231008864dd3ecd7090646cdd6e9aa333f3fabf08704eb488ddb9f62c54011a69bf2d9a0e5473a6200d952702d6bfbb481f950230270fdfc00af13c053545aa5360e6d1390aa3750416bdd95c0ada5dac21aa44ec851d60c10b169e9593fee6cf95eff3c70302047c435bb500673065023100a814960c469ebe6338a8671aa6625209ac690dad9be8c0bfed05caed33b7a7cd430cf837ddea85e8ee385ed0834d6c7802300ce87fc24e74feebc835d0ae698f5fd3b9506c8e4080bc4f52435c0831a8bd3d9329640bc207d2509385347b20e270410302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006730650231008eb2a1c22cdc8a3aa9e429fd2c79583e8178d418d9a4203268d63e5385858c6a4f3e738df5da08964dcd25b19ffc2d560230200942b1665ebb9133a38344def1e143781fe7aa32d09e13a0b92ebdbf21be84636bde7ae5f5b5f320ae7f672de4e9820302047c435bb500673065023100bd04599a023e7f8c5a410af7b063945dbadab0419bc73d2819ce32bbb8826853e0960591e2057870c8fc090208ce5e87023052db2ad0d768d0f4ddbaf73dfffb7fe8fd6b3d912163dd0610b3f491210f0882f4b4a83486a9136001fa0bc72633ca7a0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50067306502306bb5a16f7f76e4b48326dd62915869956054455fca1673809ad8a08b87fb2b6ec7df4eb7e5263a314ce6af6b93cfbc02023100b8b64f4866873776eb2f6b13a7cd1ca51b61956748d406e3e5b1bc5ae5afc18b6d68854f21539a9125cc72d6a1cbb0930302047c435bb500683066023100e42bd9bfa49b9735387737ac1f9865a880cd92c4f1088c15c5f399927474665cea7ae879128cab1c6fc64640dac44bf9023100ace4b490b1770a452abee88b1dbe06a1c3a4ce69b5acc54f2e97efcafe46ca3bcc76db891393bd6170dbeefa4fe7a6b10302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50067306502301bf30bf3fc701e61894ac7eaf55a56aaf2767ee7fd5e9e4554578c851f885bb00edc956e3fac32ec19aedd972426ab9802310084ea85fa8b19c6489ecf426d50dd793fd3f76d6cfc4563c9831d86ec72e242891fa68e67f8c47236edb4a0552d1ac5640302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006730650230462662e2089e3ade351d7f485ee7931f615499c6c412180783416e6e5c58f4a2ee10902ff90e09804cc5bbc4c65ed781023100e06e285af3fbb531c174a8c20745109248512887213a2f7f7b256559a60526d3e109a7eaf54a0f27205da17027fbc5310302047c435bb500683066023100a27f96c13abb321f7a41239dd8b2971d75cdd5d2d29b6abd413f6ae299f5c2781c70a03ad86b776272aea6b56d1bef990231009df83e3fc9551c6272d5b7af452630716cdd89cf0a991b6c785bf9384377a3359f93dbf2d0ac6a8578f7c1dfbf452e6e0302047c435bb500683066023100f1be7b53c064b92f086afc206cf41c44d4bbb2f34bf31a542db6ef90752cb6cd2fb06925b512a030691b11e5cc970fff023100a9022543dfc8d85537a0c258df9f870fc3d58adc4a57e4cf864272b2a35e14e18495278998c4b0b61713868b5e1781a80302047c435bb500673065023100e68709798d2d22ace2aad3facac738f5f09c5f2c3b45cddcf659f35967a0bf3091f62f3c9c8073172cfaf766e36837b0023060ecdc2c06cccaa00d772c1d8fd5517dead58e17c79eccff5b3df76c6d87714d16e1b753fd5ba42d3a7363d7058615f80302047c435bb5006730650230380ffbdb60a386c687ef44708ab0dad4c7736257d974cc255a027d5c29f926c9fbaf0696699edf14c116930aca60362f023100d60d04c9309133896f45c21e7eed9f84ef4ed0fd81b8936ab859ce26cac26394c4f793ab326f72de60db321a26016c8e0302047c435bb500673065023100cb6e5068d7b0f9def2bd115de4816f8cbbe548e544f116d87c4d95620315143c1c863b62de1f218b01b714d0a1b0c6c3023016f8038d9dc53126f6c3417f4cb3fd102c44689c8792a476b97b9ca8d9e5c71beb6eafd0ccdcaa0a22b37cd3ad0215da0302047c435bb50066306402302868cbf87a5bd5184ccb9b8599222e2dc3785b6b1addf28721ae945f7ca7a2964a0d356fa1817d512d2a99eb0600f11c023006c12cf04f547582cc24847071c4742b0f9b2a3375018a2cdc0cdaa9397c05ffb30e61c8ec7336d405654bdae3022f990302047c435bb50067306502310080ee0bdf94ac6d9c5133c0523e858399036db1825dd7dd0def9177860159cc51e407c1b5ab0ad58e3c61da1a6b4d40e802304fbf69ec880009c6eb1ac697ab6291dc1fe1a7b143319e706f7dac150a2391c1c2bef85d576623e6b3625c754ea72b650302047c435bb50066306402303869f675f07c31602534c9059a9e0f02d9c5a6457899e27e0f30d0877263fb2361a2356e4984c7b0905ded69b96eaee8023066733851082829657634eeb35e159e172a44da8bf85e4883da69a0fe0b417d0c0984c6ac4772f9df137bd366a012cc110302047c435bb50066306402302b8c02347f53850aba7ccac4dee7aa054c8d569275a75dfe4fbebdb40ffe3183aa1b999f18c9174d2b31184cc56135c202305c84aa5f78bc95aa813f64af448d14edea21761a7f113fc100a172dbc8dc3af95be065c00fda80871bfb963d95f1bf840302047c435bb500673065023100a8aa989da6567bdadd39039a8fa37619645f8f2ecaa3b1e06132ca3478484ad9790273b848f55c3d1357acb771132e0f0230427c44934c5a241f02e50bb44fd38c5db3220fac72dba6f159daf6ac0fe8fae89a4bae68f535ccf4c886470f227bf1e20302047c435bb50067306502303d575e251374f0a1e4c8cac68ae8056fb2f795f129f177f65a9a60477a6a44ed74f1f8a96d7f2c03f965f0d4ee86489d023100b51d36ade03d49c0878586ec8242fd4840301e6d32d8e03a99530421338104ed68c589dd6fdedb128a407ab92d400c840302047c435bb500683066023100bd2c0e3a0f82d4a985f08aa4bf19aad8e0397a0ec44cc17682f4b220abbec472bc0cf791e60041fccf7399aab81bdf6f023100eb0af23a6be89a83e78737126652b58accc1f98c518d50e4c3f93319a1d5a8049a683ae54593a14bc632457c94f9c6c70302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023100e4951fa0ea5a917ad612e644c3894213b5c501f70641ea177d11b74149a538276d9d5d7af4c841c7216e3452b3dfcb30023035c6cbdbbe1a8c870cd2829e300a1c8746855d0c0ca7092cc807c880899f13d8453087e46bf523a7cab428887f325dfb0302047c435bb500673065023032bc5532c7ef7acc4b236d7defceb9c4a9fa59b2e30e5c731bf4d92e8c2281bf6ab36a17e19f4902145a3a68aadf321b023100b3482c1c865073513f773af93e0d7dc0511ba8d1526ac67d8736458bb16e763aecd7f247b4da5887ac66fc5a02d64eb50302047c435bb500663064023052aa83c959e2344578ae607c855bdf45844d1678f5272780e4882b0615ee2ab03300c023eca83279c6a676539812879802304c4e6910931a6f3ead36876afd187a7177fbf0b7c37899e5d1febf2a80158b8ed976371d71f27032f02479db669010930302047c435bb500683066023100873920c64430d16e0d52bff96d1132f1eb2d98b5afd2c9c92e6c2399108f1c5f624aeeee94c3ae9cc20a12c0ec85cdbc023100e43c6e5ef74b3e55df63b32135486468b825c08c4da436d1607a79ed70eda8dcff2e65bf89fc2821964cea6d046188b00302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50068306602310097ee1b38b1e51e947a73010f80b537ff07277b31375d84a34896e178b1594145b89d7b53f2b0a0d25933f4c1ce2e23e5023100dfa8ef8056d706a9928ec43cca643930519194ab6d12a47ba48d6c42152118cf9743d4607535327d4efc328f7322194b0302047c435bb5006630640230659a6e76a044f716728518bc3a024ca1be8477e2ff67a19f1a80e337327f8ccfc7583ebc258edf8530679c28d3e706ae02306ee219f503009094b588190c5eaa6124f366ad04572ffe4db4c9b045ce326c30024a8e6d231b0fdbdfc6521acb7d4c0a0302047c435bb50067306502304d2513123dcadf62e1c02024d4166fb9125772c14b0b73b64736b07804e3b710a3a98942fa6898926ad6249e99318709023100c5bb7b361b11901806a8455a81ea36aa8d59bc749fd00b226f4b598461458aab8270ef9c5ea7a877552f43c6ecf7ae470302047c435bb500673065023100a81d3ea8b911e6c44e960adcd91aa4808039c59f21725406ed4e8081ff0aa474e8ee91e7da5409cb766d88ad93ead9fc02302338c6cdbb1c2c6393c981b89c5d19843b22ddeae7ba0d11ee0046248558616ad7c99613d684d74742a9b01b5c686f180302047c435bb500673065023100ee6e485987b7234920eea39b4b048dae82838842e738e9bf39589b51d3d73381ae610e42f6cebdeec15e06d6fb1644880230095bf329f3900e2ac7977c91bd700be82eb4e19acf4e849d650255323f6d1bc8164e9636a6753aefe4f8775b8392e1f80302047c435bb500673065023100e9e66061614d2cf9e2c60f435f9d1609bdc0aa784461813b851a5d04bee466397e1cbfb51c8dc4a198588fb11066acdb023061a6b797c77e46fa8392a01bf872f2b4525bf4e48143ab14c066b21fcb92e8d460b43d3f90bf858d64456e8025d7297f0302047c435bb5006730650231009c625c8ba73be418eb0783cd44af30e25c9c2482c2429700a562571de328938bdd51a31b8c66002c053924766e0b386e02307978635f46b47fa28e540d493226fde3106b07ff726af991f43c23f9daec9df2150b882dccfdb82dae66621c82ef7fe10302047c435bb500683066023100ccc962401ab8c158638669d235d0417dd050f472d8aeb117cc3f230d6b617f4ba2450e32be1159aa9477e49e8ca713c5023100b6adddbee84d229b67b6d4c4d81db14c2385d1c99679b9f39772304ae646236e08df66824d96d984b750a14a32f1ede50302047c435bb500673065023100829f124624ca7ef541e49413662014c2dd312a6f943252669af5114f005e8371965e2248dad5d9e6850778a7fe4b8958023043ad73836debbf6d437cbb0a969f58b6d5bfd89b4affcbb075b318dc2659b29c3f14f30aab13044ce32c040e3b10cab30302047c435bb50067306502304e9a0ebd436890763c4aa3b18cd3e8d7377f54b4280411dfa321f3a676931bdf9de8701f531cbdec5ac21e6bce5d1ff9023100ec1fc579eef9e7c6425a9a3a4d7b3afa4dfdb004c23afa29a59d212fbb4c9e7239ef9307d2c497241896fb01a2192f760302047c435bb500673065023100d979001f8ae4c26c81de2b291ff55a743ade42188419bc9657376a2d745857ddfd76c9237ff7974394645fb45b90037c023038530447a401be2b5df89e8eabd76ac6f62b55a9321da0269d9afa2d7e6d945116f4d859ea9897a1ab597db6c2abed1f0302047c435bb500673065023100c490faef7b1d80659b52983580ad060ae69e86d8d01a6bbcc1163dc066572bc6c184a11a228d4ae2355653969bad2aa50230488394b8f58f617da3b62547eca8efdf037bb701263ace20a057760340bab14c7712f88e90918884e6a263f21c59084a0302047c435bb50066306402303ded355afdc79c79a57dfbc58b60f8e9c66131f475f566d3fa19b4348ea232d126c6e8729dc083a87e3a16e85f944f8b02307bcbbe74b88df9ddc5bacb2bb7aec141e806396019af3ea64b51d6f5cf3eb4af6d552f978309b0b695f8295395d294f10302047c435bb500673065023073f9ddaee464aa2a7e97dc45ea4906294dc4351264d7375b2192dad2f0941836920948a46307b3dc10a7dfd5bef73d2a023100fb5b7122e1b49c64838c7977082fbd1950ca197742bf29941b05fd9a7a421da035a31e9691b244c7f95e92b55861f0f80302047c435bb500683066023100aa3faf6a0fbdebbe0f28112a5ad52a9bb1bca7224b5f02f29fbfd4b9513e1b44ac1eeaad875e86e78d857f178ed6ea79023100ab1eeb209e312ad01875ca660fbcc1298db9c02d62e300805d8a367b98e5a54a38f1c28c4c83e7dd0f57488b84c107650302047c435bb5006730650230227ba06dba6d622fe9f8dd276bfc1cc8fd697196e148c3d51d25cbb86850bfb98ac6d3f928aa72b3e94587344a33d2b50231008da35573fd6430437f27a88f2b2597b1d68b65c7e720761da46368b4ab7a9ee02eb7d48e44a98a5fed14f9f1fdc4547d0302047c435bb500683066023100b605fb1389e713eddc25b3f6ed4d36d25b00848278fc49bb2e7956c9ec2b23b10d92cfdca6b7b533491f9b9a50dc9d5e0231008f8b3dbeccc6bf9be2a3611e5604251605f6989aa14186557b9bf97942aa1a6a863dce971d4903b082c2d779c749e57a0302047c435bb500673065023100c6ad82505c9bbdaadded9b8d8935d0519241bb63307d77d6c3bc231375d5ed33117b2660cc7b60f50bde04c2eefcbac102302a5d9e9fbed1ae58da6be9e66f7630eda5092bfc1789c68f24566ddffdebdc4fc5c99f0e7937137285f238733bf065fd0302047c435bb5006830660231009061844ec7d2508cfc1718cb364f16258bd534f278438bd0e6edef24a3bfcbb2290b83ef641166ddefe0fc6fdf8956cb023100ec1ba0027359b98e81271f89adca55a2ebfa7b864db7053725c5bd6b2bf753366c42a7ca9c7fb76441874c060f274fae0302047c435bb500683066023100dacf39ad65f212413396389865aa01e8e07b10e291859d48821173b4718be0af28d0cd8f750fb7c19e40d4d66f1d90ef02310089a13a015aa885f325bb7b916ff130c1722133344cb117ce078f80baedbbaf41b840f7d1b6889138eba3c540057a818e0302047c435bb500673065023023d5cbdaec843ba87da55a27a2bb35c1af9adc7fb3a792a2cad036be43aaab42538fb4b735035e1c8c95d010e3006d9e0231009799dddb8287fae3431516fa9187f31c449c0bb4e761b0bf99bd78446de2347d081c35b7e1316b04f9d2b490c3190f750302047c435bb500673065023100e7c733607a5c1de8f682084eeb499357b03845f94d6f127bc8d612c3f85cc1b1ecc9089075dca6d16db3da0ec852100102301ba631f90d79c16f53f14527cfc10ad5edbe2bbf5f4ac975d599edb63b4c7e4f0605f3f5f32b91a17f67da7574279d600302047c435bb50066306402301b730415c4b6bbe5e21bb593fb4d435fc2a820726dd8aa2b690ccbd72f5975611ce7a53fe839036e5c5f05f2088e143202300bf58ae20e193e6eb6c7d2119940c1084e09dee17ac746f007348dbe5381ede49c4c8c14876a1d8590ecdf12791beb750302047c435bb500673065023100a3cc55b526c2fe71b59a66a91d411351bda6dd267451b7df71403c24555378d3b7c936e75fa31ec419024e1979cdd96302303e03a14ec70bd2f8bba829c3e67c584052ebad259350abb8772a27f2b8ae9b58786f6b251b0a3747db7799a2f77052110302047c435bb50066306402301c1a0bb7ad5fc75586df47e5f982671aafb5d70bf96a2f329ea7996099f4a5479dd4692f109f89a933ed0be5fcc112810230490594ff805dc13d3b9156b902f9700b77cb219a240c25f30a1c67a44b3d4fd2a7889f477dd6da423ea1270f0728c4170302047c435bb50067306502305616518b2f54cc90e856c6c499501b6bb704e1f7b39df780fa10737bace64c4f180220a548ab55f425d6f66ae6762cf9023100faf41d4f718be50f4226b96554e6147b3de7fc23b15d447e673e0a1cb112ce770fb1327d69a327ae3c045aa64f8383ca0302047c435bb50066306402300bdd85b78a565c53ca9270f263b2c0a89bce2d9d55ae3a83d15436629a9d880b3f49cf00f8f53406cff67e7cf51339b302301b5d25f71c9412e32b79d9ede41186cf05b8197b31d29b6322a9b8fe2f8a40c939fcc934ceed00aef1ba3ecdd85a4f520302047c435bb50067306502300aa291cad351a9cb6ff2454a9154174dc1f8c9dfae9bd8e057a0e9867bb22f830c64c8b86ba17e6ea431697b39a7524d023100d43665047ec706e8d544972f0572a479a049bffaec2da677f8878bc608f0c8aa43ed79ac5c8ed042a75248cc919637550302047c435bb50066306402303807aaf26b19537073a83b3e960a7064c50d790a6d281846deff272683be8093eb50602f21d3a1835891656761aa2c0802306a46baa161ef1fc69ce6f0886301451186f1e4d17619dcffaffd591ffb5de5746ffef6960f0ce97556eb4c85832662680302047c435bb500663064023003460af5081dce96c0a87bf36393434259d0bba9299fa2e8da8174baedf2a746c0d80e597ae71c40856defe9f05a77920230605bd43b521e3407f408b5edda0ee8f613baff6915f061e6db4c4823329fd3bf130a344a956f514f4813974e9cf585ab0302047c435bb50067306502301b9c124e6b7f846d280c40ce25650927a36e1f35eacbe176268409caee5012736ba844c6007429df54624e070dbf5a2f023100ae21734652dd97cb3c4f7f585505dd539e43955c786ebf37a5e69c903a5eec7d600bb37fa9beff3d49b75aec9b869db10302047c435bb500673065023100807703d5e028799dd768e74e09a3f414fe60be0ee76efba074c71246695595191fbea41a9020ba97403a8b1fff9cd96d023024d6ea10f30dec7311a6c226983a391651fc93cbc44b72fc7cf41ac3683a3783b9714df48bffe5866073b1fefcd061ad0302047c435bb500663064023039bd0eaaa1f422f13752c22c71fc0a6cdc8471e452d9600182588c3420bb47f47cef889f0bf84a48009ab2f00ebb7746023004ddd2eb390251369933c557cca2137d6459707fda741c0cebba78603252af2226842c8d810df3f9939872aa5df9a6610302047c435bb50066306402306fc3d756c2d34f4457ed7d368ac3b1ce713bb62e062798a6e22d3b15959e1ecc2250e2a1092ff2117a6ee8350058362002301ecbee488dc28c39df6cf71bc2a76dd7fc6387113bb59693c1ff1cdeaa2170474fe98c7ac532751d61cd7fe0437d16590302047c435bb500673065023004c0c3d8d2f754196a586d0d5246e97afc0e7fa42f0335b937a1061412c4379ccd94844ce73885036c85af3e1dc4135d023100ee73b7682aa8fae461d5555cb6f8a74f68053b6d78b9f40434088d0602cc25ff111e24d112094235de36d4043609769b0302047c435bb5006630640230784fe97d5fde22e3ede7ab49a3c935b0f950348cb086fe6a39e5c17482bca457899238d963d7cb748d32d8f1763a6116023051c0ffe936be12acf32cc6d250b83600d14aa72be5c91f64b64381c5468b387f570d564c7fa445cf12fffcddbe5e9aad0302047c435bb50067306502303fcae981bb42501409eba194f7a1d2a3c437d2d80d652f63961a9040cff2d9df4869e2f11ceb7400afd302f89bb0772b023100e817f44ff7289d7d7eed0ab727d9eab03ccd055b24e1da5c88c99c0f9ba5d707e253d777017d9bf5e6c26f2551dfab100302047c435bb500673065023061ac51b8bcd9a269937814889709a8a6f8c3fac693b1ebd59791c5e45c22e0d65a229db240157f0df1bdedd4fb02ae28023100f292a669b8f00a88ebed77e2c0b120b5fb3aa29ec8f9c02147aa03eba6d914a1432fd1130f2d76f722a2f8b3bde94bda0302047c435bb500683066023100e7dcf855b0314cdd532cd1c4caebfb30aee28d9e4d9dc2e949180f8695df40b296c314d0055738d121118156784578a90231009c35984ff1bb2f0a00c8745354ba357b2ba2da2d842af2b4f90388f9b6d35eb70f838bfd69a722146a66debcfee997b30302047c435bb5006730650230194185a036e1639ccaee1b2e64983c7296010285692079d76c83c40d4b96da14662119d2d71443a5d9e249fbba6da10b023100cfdfb42c8d7e3968a2051a6e411594ddb4df49d6eb167a08d3e06a461cace9db9715c9618c48ecfe826e9af3d2247d310302047c435bb50066306402307a992b0244e352e1218655565eb6d546013b7df6326a8d8701b8ac2f0dbeb648107b7daa3eafbfa7ccef06f8efb92c3d02307cb35d8d9f756f11c93613a1e569519e9455b97a0a87bf8cc9fe7cdde54ee3f0538287f93382c5955cef46dd5bb509880302047c435bb500673065023042832068dac7c1b056fe18f8290b2eb43c9c2cbd2e2334abf4bfe04461c8e04970a67bff6581a57c496130d2c6f1fa55023100e967189d04b0328e558f673cbc5aa5bc337e265dbd25fc8289e9cc6a7f9001b4e45f5669b29ac12384c9c411f576e47b0302047c435bb50066306402307065b01bfdbb65ad67a4e40d9362439145c73fcdc8cf5a3a0b69a17240cd21728a0c92ce81316968df65d2e151ca2a23023072cba990514429262f11fcfedcf58c83e1cd22f266a9f7982f475e156b639d3e249631be94e53d526daeb18d9aabfcc60302047c435bb5006830660231008cf8725e2b00c3744feb771ec0b6b58c414983072e227a1d40c6bd0bf7e57cb3ed5fc3e63febcd65e2c82292183a2482023100daf0a81cc2277550c6df9bb8354636692d6b07830bd8bc46cbb632c69848514c5308144bb877ba2e9183751d12691c6c0302047c435bb500673065023100fec1000de95ea513347a0e7dc57a7dfeb4809edf8a8345ae61698263651f3b7a8db05405e1f788d70ef4eb5edd0ea22802307ccbf560d0830d8b814943d8afac57eb90934d036d2f042e2ff0ed31d3ad46de4a727811fd052cbf31ddd16d5ef025490302047c435bb500663064023021193a0c8b09de6ebecff17e34e7db93ae1c713b3d3629185ccb4cbe78b9d02635621913635200a2ee77c0ea5fa8d39a023076acc8cef1c63502b0ba8e1ffe0ede8ba90711e2a7424db2b941d28b7891189d0ef0b9b4c402255bec20adac3af960450302047c435bb500683066023100d4b9b1a8a162c6d0f8fe7319983ea55975bd06afdd1769a0a6f50a0865e2ab075a6e7ea6afea7d91d584b215b8a46a33023100e208c73cab397f590667da6d838c8e963bfd20fda036810dbb6aed2ed42333aece4d7504ce4b6dbe72c113c07ed55d3e0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50067306502304888a3f4c004123f9c2f8aa30a0ea42837c9951b72c4202a2e55b94e6c6cd2960024cc3c35b06da088476b02545e8dd3023100cd12e2b32d6ef35cc292126eb0705728451055f22db3a0fa77072ac7775c0f7dca9bbac4cb3ec1534e7e46bdec5eac270302047c435bb500683066023100e5d4cb7c69215e483b0ec58391c313d60664e121f2ccab2314c0dc731404be2b069813ee18724e69727e49cd45af5c980231008ee88dd1d1dc705381ecbc5a160ca7ba6ce05ce9fa9cd9452b138d0bbe4bf7a017c502c06ed8c39dd291f0e9760b9e7e0302047c435bb50067306502310089fb7b737d2359241b8cd8c8f834d290f07ebe4400cae93da2387aa2a87085a87336eae19c88cd262c2929925d42e11202302da77418010cd69fe9554a3c2f0e8e7956243ce0cd137a1eb006fe9dc7e81c7982d72f62202f6460b069bbcf385b46e40302047c435bb500673065023100aa3fa9c4e7829c70af26c03e747c4fb0cd26fd2cc6b4d2b999ba780f2aeef1bffd3c4a66c0e18f55e83907c7aef11d3c023060541107f0ad6a6b524a51bc1a63478557220345aebb3fac55eb8d21e1e654f6f9804b641336be82f3089ca40e24e4830302047c435bb50067306502301897818806847fad9d864508ab13eaa6a5d9e9c6eff00085db048173db1b8f4eba8bfa845477ce981f0e9e7add261a550231008064c95b074ae6f398ef10618d6a7b9757c0cedd64369f7650f8b73bd8ff5bb5c4f0090b3835adb4d458148e95e07d860302047c435bb500683066023100b50e7565573b5c5009ce436b04bf12ff45d741da6a3333c2f72f5d8a6a712c5513055e10c6db5d3e977d2ed0f3cc587e023100fe414d84ce89dced51d88c430f2edd9911864ea6b1e4df328e8954b4e8e1f4b86f235def53bff711b8ad10b24b511de70302047c435bb500673065023100bdfb388e7be892f33cf37bb8e7b5f4b14cd6a22849435ed63a43ac5ecac36b5b22d102ab5c80ee661221c05eed4828cf023022602d4055cfd1fa6281f82f07d9c6b16d8742779ffa788689a346ba90126793c78e9f1e3fa60082a71aac377717f9900302047c435bb50066306402300653c47455ae4d5fda7f73ead42bb61a78ed6f1489b556ea3234f5ee56fb97ecf6899bb2f38733535b226f23bf808ad202300bf317899a50a7fdb405a9c02d3af294b508600f7c707e1d7780819911347501b4cf11d4eaa465aa7d8ff1a9d18fcc6b0302047c435bb500683066023100bcaabc43ca6b0973a1c12f0f81c07a41245be3c005999ad8ce8c195ecaa197aa87925bdeff9d5f14b85f26de81cf034a023100e4a03fe34517b0a8e0d8d460da0b7d169a44e21b71635e2f4c12fb006665ee5c021502a665a9c7ba31da63fb98b3749a0302047c435bb50067306502304ff3759c91e9dbcab6c5b80158f5c1b00c1268c61228e5186615f8ad1519bbb22df9187202c8e3868f705383bc2e005f023100bd6f6dde68bd68189ee6589ae2706934948701e98a880a34e73a1d0b7387fbccfc0876a6001f9f904fa100bf3d2824d60302047c435bb50067306502304c864bf330dd30e96b03c7fb60bf8de9ead38fb3d504f0303a4f6c3258f5df708c17eb014f5ae33f4811494ae524ae28023100e34f496f6c9f45adfc50ba817ce132e7e72de14044ed85362b02637f75b0a4ad721718f2d3e9f78bc4625db70bd445e50302047c435bb50066306402307f61ca969ee160992ae7f5f09af279e2829f2235da5b8c163c112d55709fee953f33ecd3f06a6c6463f37ec10db5fa090230528d8b4ea0c3fb31c82f80bf1a402280fe00167b8cb3c0ab3f94984de83fc3ff6d289d23122f80fcc25ea75efb8d41360302047c435bb500683066023100acd1d1ed68215e8a92ff8c7dd1731af26757229185cf4adf8973ff4da34babd0f1df9800d42114d00124cc9239111d4a023100bd657b87b06668e0fafe41348d746e55aabbeaf360747b7e37db851f03956b2ea5839e72a676ea5e328a41c66bc744b80302047c435bb500673065023019ade9056cb64154a66ee4bc271f94463a7a13f4ff4e983428eb46f6641090f4b4644fa1597127dc09acd69acaa43af00231008d3abd30e22ce5454aaf9ca1f38d7b352cb1feab6ba12339217f1005e4a7964ae9e75f265a1155707ae22222beb660260302047c435bb500673065023100dfe2b6809b86405f0a28f2bc325d94542d92312e335077dfc250a94ee24dd5e877ebbb34730852a02498245a1f125ac602300ee9401f5a94c97b699879020fce925b39d5b1cf9ae0c65d385814bafc3f8a3159c52a598359cee83d5861fb7f81817c0302047c435bb50066306402304d30132b882acd1986ed7635b489dfb78416506accf5882cb99c6da228d906ab7e20c8abb040df6241a25458a6928b91023066c203b6c10c8da9a94e23c3a1f829c3e6c3353410a1c8af558bf529db5b2251981e25985de308685a24c093f74d38900302047c435bb500673065023100bd293db20343dfc1338597625c21094682a2fb0eef1f71c0da05ad96e2c20d50d3fefb14c9a418d0bdfe141807f499530230549ea102aca26e067a36401af34fa71293ca2dc490e83caf5158d9d92589f8a0a7b66fbed2a14c40717ee49e5e03d4cf0302047c435bb50066306402301d58c7b7554955a6e83d0e9e8e3dd4530558a3f6eeaf9c8d913847d2ee6ccd821d02c8677eeb0ca6e6d8044666c4eaf902305fa382dc8f8653cae8abc00dbb898f63c1ad1c0eed6d53057a1f853ed89dc6896c50c363fd537007277c1435a4466dc30302047c435bb500663064023035c26c7a71bbd07bdaa6215fab4800f4e953426b8e29a18b76ba9984e271284ef36fb1b790d3d329f818155634602a15023079ea7528deaf4be1ed57e39d9f6d3c7409ecabb9b02528783e12c06cde476a4450aed8643882dfd1319f21e37774a3370302047c435bb50067306502310083ba02c89be77420b27ac2ed77c42c1e902284550e8f0362b99e1bcf528b7fb8ffbb946083565755ab42474f345e1df702305cac13c91db78a95708455b9f98b12138a15104e377f06d595ebfd7273734adab64359755d3ef03bda77942ec1ed137e0302047c435bb50066306402303166df4b12661e3eddc6ec89ab086cd395af4ce4c5f55c0e1211eca94b25e93135ad2b51177fc508d0185785c7935cfc023048c04d9bcfba02f8f575410d81025b34861ade21a662cb5236d95d4616e74194d781652d5f0cb67a1bb315c2cb16d8b70302047c435bb5006830660231008ad8976d15e6000caa6ba99917375c10d0f2ea095930dd6e0da2929702947ecc28d9e0de59e3ac1c13b748705c089de6023100b4f160c214edc41d5ebf14937e5b2d5e967e97fe1e34111355769b1ad48d4a21cdcec6a166f3978c4d77c9879402235b0302047c435bb500683066023100d4b74b8730c91347a8f04a82deee3dd7f47ab4feb3141139b3838f4f463f4738d48ca4d838b98a87b0d294109974687d023100d1e2ff958c411c465d24a0cca6339a369350762453467c4fa0fc7b8e0ef41eabfa59e0bc412990c5061674d59ecc12300302047c435bb500673065023100ca32a504fec10aeacc3783498945faf918b6debecd309da2e6567db799cf40ef7d537584aa6fd2bfa14fce78a97432eb0230508ad36ba5a1b24dcfd23666c855defc7d64279d480f764cb90f1df10c021021af860bcd90dcc5f99041f56fa82187a20302047c435bb50067306502307ffabe269f870b378fac73883d17a1fac99b4fdd1b8892f93b969e9eead8a70e2b78451676ab4eb0740c106b98fbb151023100f3c90bb1ad8a582775e9ac4093da177124b22321593c1a16709ba701715ec54c4ec61fb8b9402677c14b4029b4e78f2f0302047c435bb500673065023077250e3de324a6877cbb25c1f3280db4df63adff5b5dfed0391d0e9a51578477ae979be583640956aee296b93f034eaf02310098042e4ab068668cd457462cee82c9491569f9a4b7a6de739059111475b3526f3081efadb7b0f65d7e039c4b2f388e4e0302047c435bb500673065023057a21efad2a5bcb8b98bd2d2903988e3bc69c484b62754733b5ace29dbda746d4606357bd671aab79887e4eaffc6c04d023100e878ce56f14e65aafc1f3e7139a7d55230a1be381085792e145ea7b629fcca2315ff44bf7f78d6b61be2d6f222360df70302047c435bb500683066023100e3675446285c4c573f2517838c72e4e3b958cd5e8368d072eb46ebdc8a720befae1757b67e586debe65cc3dd9fb265580231009b953403e4139c69b7e75306a02387ea2807cff4b44c5fca457706a449f97eac25153c2e9f8fa341caa4cedf513a44590302047c435bb50068306602310093ef38bea7283ce626b88d4c9670c5ba853945b18fbab1e6ef19a922f53eff4993d2800ac211cb5af680a308736c19be023100c0d5a9dc5f2d42c2bbd6c93adec43d39e62d9f4c4afcf2b60626f8ab9328f652fbac1914d4295e6b54ab5210076fb55c0302047c435bb500673065023100f01b315fcddc675bd35cabaaa07abf6197242a3ef8d3a3ec9df8f856c3c05142f7a753cac443662985d3570e0f4bf32702303bf7c34f7470dd542bde17db1cedbb3e7880f53998b2cb44f74bed13cad4f24178d92f45047d066c98f496042aa441070302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023100e37ab30695c752fa846a95655ff2ee6de173cc0a1494c66f5e84e9c34cd711aae4e61a6345750a447e6ed9effd26896402303faddbdb18472d0bb14860996ac2c8bfa842e35f9607188f6541321c28ed79612c111db4f3d96aad64025fb86a9b9fdd0302047c435bb500673065023100a1da818930881ce349e6aa5777f4180d102a7a4d7ca64a386e98ea5f5719e5639f1486581f38dd2c18546201745e3835023027cd46edd1994d50de0c8feacdb0d431b70c57b51ce33dea44c382e1d6ab68c0728ec1fa42dfa8ff02a4415d1d0806830302047c435bb500683066023100ef8f7353d9dbd7ebeedea2d48a19d90db87186c7dc5475ee50b6830bc44777b63f362504dc92ce28e37d69a0d08eca46023100ec4caea5b1a9f352b9e0ae2d79e43673999f3e9ceb5f3d15a4e5e22a85eeaec3859cdee66dc19d3a0c383d50d2a839240302047c435bb50066306402303dca9f7c493b65263ac1da3262038ec1392f6194c4bfaaa543e96da9fdd99aa0b7c3dead970a021c6a6564013887ff0f02300a3936c046508df55c8febb08331f179d2e015a8b45ed8ad27914721732ccfadb694fdb1a6f23919982223d6931833f60302047c435bb500663064023010bdbe3b6527c780ee74226f33f194cdbf76e9316edbb4379bcdd0482dc3dcc1f5b65352a4f4249242f2112ec61c961702307e30cd6d6c660a8586a06022c9f79dbf63a3df1f795a8fc68dd02cd1e4af20177e33c14b3c3f582cb81b55b8bbf28e4e0302047c435bb500683066023100b2b0692638556c259ce6a648bbbc6390eb42feaa04baa47c6fd15428b7bf6b7ed8f57d9f5abdf8dde9bb78cbcc9749c8023100c2ab5ed297fd0fe93c98ad8bbf8041784ab3dbdc0ac53edbbcb86311a49732997f45f5604cef3083cf3fd1471e9e7bfa0302047c435bb500673065023100bbfba907db1b849b41649e4e0f4092eca623eb8ca2767b979e96c1c920dce096bf05773c395926553c21b6da1529191b02304fd5491ac0e170824f35b82e0a9f61bd3b5979db0b7456c1ab25e018936a50b264e8318574116993d051a2e19ee9b6d80302047c435bb500673065023100f18604cc6eeae4337333eeed741a2e2999bacab2896846e277bdd5bbed6e78649d60e7a1e2f0c1d228c60173c6873a0c023005945a50ca1d06d7c8e1759b709d0d59255e49e0874a3625298b610f899360878802557542e83aaf51b27b81672de6db0302047c435bb500673065023100abd84d90c8bd107a44bd2c66334833ea0ec49c2712474bc99b5d799427d9cf6c4fb19cf83e372de04248600d3074b3d502303aecf35be8eda053745979b0c43782bedff962107cac3d26aff26670c17d6af8bc48c1bdfd78cf49abcd82fd85bbacde0302047c435bb500673065023100966f8049927324fbfa6cabb582321c8bb254ae655cfc002c2576a1568dfbf58c24439a03a964722d95d99130e46efa8b02301c3b1b25f5fb50f98dc573be4463d8745208a595340a6a935d5e187c896a083edeccfa18a62ba3b281133fca7aae459d0302047c435bb500673065023100b1de43ddb01dc69f336b0061ee5c5aab36878e812085009ba0d7833b3e04481b19f284964042dc9eed8ce68c68ed8eb702303f028c5be8a3f29c4f09763e4d95aa48ee44dae04ad7a7ddb7aecbf0eb1a5ab209a9e953e63d379f5d10ce0c140dea230302047c435bb500683066023100f584a475eecbbad69108524890cd4dac76fad11b33c28772ed9fa1e3099608bbbc8cbabddd71c56d8c3cac89dfd6cb46023100fbbec810a0c9b13381031247fc68bf0f2f871b02676ab93692e5084ff4f358a1388fc6111dc382cc2684ff167a4b66990302047c435bb50066306402305278ef86131343e8c075c0192c8f620d0834a627203d33e3d2744b0803bf4c93c96de62526b2b333411dc707c9e87cb2023036c22e163a2578ed0001950270c4f8ee5eef2c464ecf62d9f038363b7d2a4df47b5bc9681d25580b83f30462d956e1990302047c435bb500663064023023ddfa8d519d73b2e1bef0f1ef0f513715a545a3652fc1cd231b78c6c1576888ec7d9ecf5cba06b7bd24ed80a6d4cc5e02307dd89022fe8db0b8475fb421619131bde521aab97ba376ba465120a0db8401d59955c001ab039e395aba251c52c6783c0302047c435bb500683066023100b84eb78beeed5959e59a850b716ac0e73b2411ef2752ba8fb45b14696c9dd3fbe29fc7b481f2797d922860fe61b7e051023100ab9084ae1050fcf179e7d8beb3588b01bc112000cc696a5779ec192de6952180894e96e13cc33072e27074768092110c0302047c435bb50067306502300cfe931da5b6f59cc09f0647dac04a5b2b049270b434dd6b7bdc3af5fd30dcd38656bdcb77b39d37d09c463ad8ebb82c023100c6475edc544e8db6b6e2c50e7eb7c24ac88da0aef065a27034d557e0890d9fbda6442aa04cc5f59d2c80ad3bfb5cb71a0302047c435bb5006730650230095b83f972e3e066a937807b635451a569e66476ea8ae03d45c94996df192bbf565890532dcf43e4c9d14e7cec7422d4023100b41b59459702ba5cd919dd1bb6241bf20bc95ac2f2906cf36b4abe6449f197d4b20951a7198e1a976e052725477a6cd60302047c435bb5006830660231008d3208bb670a1835e9315d16165b8715e7d8bf48b4ff4e9066915f73e172c4d9baa4be4dca7800badf81f0c38f1eedf2023100b5b523ab685c2e2b53ab78955c9b43c23ce18ebeafa6978348b76896013155abfb63a6d429280e9ae1d82a5c0ba6448d0302047c435bb50066306402301e3e972a6da14ed8f1166f790217a672ac063ceef339b92ff18d33f0056d5f6fdfc735a31824f3a42ac141e315f806ea023032b58c8f54728cef235c67bca6cdfacd3216403c921ed9ae7eb3f3aa7f31ffbd3662403e6d4d7026c9259dac70423d900302047c435bb50067306502306f984064e31dff2974b7443ab48ede2ddab8b1ef893b98f68425c71e52b1ead1535e09581c99b7caa6c18c5e398542a3023100d47c3c97560547fa9d4c4f621511b73df211922ee3018ae8038680dfd5cc99c3af08fef761bafd06973d3cf299170caf0302047c435bb500683066023100f2ec6c902559ac4131afa4496155c98b4929f2127509ac598cb45994e31acce00e7e14497696899d5d8bd21f5152db11023100d8a34caf987571797203d61a82363c85e6db90e905f15f3111c451e6a900bf48fbe88bc89069a17ebea913d9a9ccc5fc0302047c435bb5006730650231009a705d7f27e255a3b9dec01e9f0b7a7c0debff9a1f97a5c6d0f3b307d31006d798dd1f31f7dd8d2104e93f3797042ee80230451d8a94ca44c6a39c2e0ffa3cc7e1242f0bd3d40ae9966d5a7797dbc3e94d1b61708aec0107b30755373fff0371fc0c0302047c435bb500683066023100bb394379432be615f4722c5ea27dc18703d9bfc27bdd4ab30df08ca0f3131c1eab9724a1634a5dbfdd89371dea638cea023100b72de976118bb218f09c817e815cefa76912f8550ae576fe3428f5eac1f8e9863736c28a04e9f5019d742358372bad280302047c435bb500673065023100f8b6b29f529458ca4aa77381210dc61542076b1cd7b47dc1c92b3e1b5d8f81129cf87a03269cd33c40caaf5ee81e751c02303ac91700df71fe3e7bdfc54428224ca66d30a0caedd51b25c4ed00ca577e7db4d44a8c3bc395d0973bc670bc6db5b82f0302047c435bb50066306402305847b9406e7b02e806f27c08b2e044b7d377aaf492233519e41ff4e5b1f7730f78bb71a6b666ca9697568fdb0bfce74c02305fae903b5cbb0900d5e37e6bac4264d6e1d4776fea95feb977d54438865bedc17906a4ad625461f5bef71a79fdd3f5770302047c435bb50066306402304c3a99b3132d6dcba66dbe33dcea78bb934450ca4946c68166cfbbb8e9b01acdd6481169918f59566a611c7e5a4bc7290230690b1bce45f6bdebf7cb52ccdba181a0159dc3b05fb306c2a420c0342a64b4b5c0960ae3f9c7d42c99c61f2e0dfad00e0302047c435bb50067306502305e93b2d98be307ffa5f72e243a8669f8605ab16b8845c99cc0fb03e6f8a6ea7e44a87806abf73f6b99c6a04a7b0cd7f2023100fa6b8338aab85963f784e96a1e3c6249ac373bf46e97ddd9b78eb349fbf995e2440c2847407156868c4eebe8648b1eb90302047c435bb50066306402300815cbbdaec3a8e5dcb7001488075b9fb82f8dff4f4818e63a0094951e8d59e5b74fc0ba396c2165db3f616cf53102ba023061ba0e9027981df3f71aa92bc6bb3c7942c4f91d658d7e599a699ae22d1d38b9b64d4c3ef1f0fe6f8f13c298672c16260302047c435bb500683066023100a49b7c763b36d3dd24fdf835192ed5acb659ab5e58c12512102809c3e895503bfc926760848555b57a8ef3df482185d10231008a55dfcb672bdb7492abd11c9e1739a4571ee33551a2687e84b9fdef435e8d96756d2e00ca19000353feef334ea3ffa30302047c435bb5006730650230639590e17da51bd9bc10ca2fb7e54d761b67a3e40319c282240e74df8927d479b182d49be6cab0eec057c771335e1405023100db3f44fb77b1a48141014f07afdf743f061a80ad41fec5f3e93d41bd56ac2083a6adf013bfd24b3c2833ac4f0d25655f0302047c435bb500673065023100d0c4aca8dd54cd36d54ed3f9bcabde6b5ff35173e37573182f32d99304ad4a8b1a386dfe05c665bfb823234f0b552c26023044d954f3006f433be4b5e186a56f6fd4317f6eb5cef365cd4fd4542ba216f42b0aaf2c949211f6c06c632f95c2058ace0302047c435bb50067306502307e64a687d07d520b49b7ff8f6ed78c962b3c7aff2601d0937bf160fd27af9ecc651c5dafde0397f7dd6278a60f23c0ca02310094967294ebe7d2d9880c20c8f378a1628677e6ccdc9e8060adc5fe1c5b75dedb3146db92e2e1382639ad4457921afaa40302047c435bb50067306502302109fd0f21bb9812dcee59a021cc98e4378624aa833a2b160e44dfb25b9c392be544eba48ee8374e6b06c74ca2c04dac023100bae326bf1952f88d3da48d4ffee1c2331d139b5e3195386ca3a52b8cff9e59c9e2a2a3ff1ddfffded8de16841202f9d50302047c435bb500683066023100b3b9ff9f57b0a4a38ade29bc5116597e5c3464cc2f9fed9742bf61243ba69b9c23dd4dc3e4f5056b7001f1411372ad57023100f6969e832cf5ef819d25aafe5087917f5fad05c7fff85c9c02b088cdce6ad1c52be05c0801102b0b4ff0b5b24edc6b340302047c435bb500683066023100c3145f80ef881b093ea976fc3b7b4e4f8c8e47f51ed0100910ffbb3c320ad8ec9313479e929ccf23b6e60cad0cc83636023100984d0083847587406b45115325d2b2ff5851279e7d70437af14b2ae56de4b5812ff2721efffa43c2e0049deb52c9346d0302047c435bb500683066023100cd3bcea1335cf672e33dd4cca104331866248908af0c48df6d147e42f5543c4cd293cf9ae2ae080df484c50e2f8912b9023100f6e259504eef406b9e4946774678b1fcdf69f86debfdb4d277f6ad9e29b71692f8ff415e0394ed4da0effa9c2d8d711d0302047c435bb500663064023057bda82a55bb9d824cfa9efe97d769ccf1c8b4266b2704e727e0ea14e5a1a3cebda30ca24e937db4cfdebfa4fc72202e023020d299df5d73ee973e7c305941970444052e216fe2296ddf7ed7099310d97d155e12fd0e8be660cd5ced75c09e109f010302047c435bb5006830660231009717a7fd2765d1e2212e0554d3a1d6de01b452dd147f55ffb225c856f2c5d196173ab030236f0b9566c1feaf7c0075d3023100c56e11478cc576458dcd5b62593d9a545e107e5491feeefee16cd62e53645df46e784aa694caec2b1551bac4016dec780302047c435bb5006630640230749c7e6e86fd30e3ed20d3f3b86b800a2da664b8968811138be8d3ed7a28896b11395eaeff48a48ba1124adf6c0f42f102301a19cd45adc784e52e91e344ed589a097d5f14697e369d85373e395173fbc74e5f92307ac126d914ab437fc139b2062a0302047c435bb500673065023100a71526b66b8d8d7d87025a0d89acad3229738529f96493744e4f58b8e6e73892b6714c89060459279bf1e08d116962320230679676c36c29f5198daf3e932d7e0c554dfe8a9f82464be20a19b7225f0482b640dd2e63d6a85e023ccf51c4450042f30302047c435bb500683066023100e7c2de569cfaea648e87299220d21eda223e0f34b012cc44833d56b2b7fe3695bfb017b47d3baf4d55fa68f665356603023100c3c98cfdf2aea0e58b448655c7987e5a57849954043c98a9073999e50a772e2e36061b16f5410203744efce139f0059d0302047c435bb50067306502307891f87a8fc5478c7c0c83c643b5a558e2101303f5b172727f4f78266333c7f9ddd524f246f6ff52627849ea4a13fcd1023100fb9d45ce03e8114e151d87e0ff86cbe17d6a4b3df03d5efa61cad43587aa6c2902b2bbb13790b0facb4878281581fa310302047c435bb500673065023100b2b2234ceb5c4b7006c64dcdf8d074b1d89d274dbfee7768eb9131be39d35c8e83cb28834f780d2c10eb3019fb2ac79b023031ed8854b8f9c30820cf26605c1562592e6766afdb037735e98353a20a8c919d18b386ac8aa191f410739baf5478dc310302047c435bb500663064023016d4955af651563c72e1bb0db1cf5b16e634967b604730d52dc955e01fed6ba366ef8c89eeb0f57ede5dee53f1b315b0023055c4e18a4c646585752950e2883e4ef10a9c61d1ee6865a2085bf8481b674bab8fcc01d32c731e3def1839fc83f9d5430302047c435bb50066306402306acf885439022282eba8a4e3d160de7705eaa5999b136ce1bd5a96f3a41c364524810f8025e46a967bd446001079281802301df8fbb20ccad3231af6040db2652c48c1331867b3818fd617b78d8bfabd981b5528e596ad997f55cba056327375540a0302047c435bb500673065023100fc7db77e8a19c1fa4b2bc80d5d64f9d87127c086ae56811779d90de2160c14c7b36fbd2a3a9c132cd12a5a8d93a7d6e802304fccd7178256c7a2bf22babf1d2469190f255b5d3f86898892ac73fb4509631d0f98e321ebde7cd985bd89269ee7a3d00302047c435bb500683066023100fea2ba82221b19e5218934926c0f3c8fa4ea7e2fadeb05c8f4cf23a4d087b1fdaf5133fcf5aa653b0a43341766df3259023100f9944d63a4937efc792cd40a6a6a146c481b6f386c307b13b29eab635bb6239809c665f5ed67e33cee2c59b3f5a9b7920302047c435bb500683066023100b2a9882d76cf210d26d25f6c4f82c8705a816c10bd218419eed89faa72ec9430df7206e5551bbf14ebaa2aac012eaaa30231008d9ab7e3d03f0bfc3723884dd7593552ef804c7be998b6ff02c7b75ea468c68416bed40d3c66be4b5c23b73f1eafae7e0302047c435bb500673065023100e91dfaac64275f0a207e7d939da4d0dbdfb8da4e010e75d012cb85c936fa6045d455fe5b47f681f98ccb45f4cd73d54f02306a2f1389229aa7d3b7af3e77577411af93d785363a9d337fa9920746599bd491830c37262436faef0008296fbeed301a0302047c435bb5006630640230228d5442c1989dd77fd2cc7aa5f34096d72e71bf7dfd55abc22abec7db73acf48789cbd2dd879624c58d33d5cd365afb023074aacbc38f4f1784019715f939f9bde631c6b996c153f78f3d8ffa6fc07958de4d4f2c9d4d6da4f22d75eb61d7c166b90302047c435bb500653063023063d275dfff9b3158b631183c3179d6d42fc67e592fb961c0271ef1bbd6b37f2a4adef8dd5c22b41951ba8b17156ca838022f55569d5e4c8f79e8682e7194a0fe38611e7dfebb0538c796739ecf16ed2b7c165f1162283c6a5e88dc0d2254e9375d0302047c435bb500673065023100d75de702f8592a199173cc2d9534a0f21429e12e2d262fcb892b9face774b6fa839f25af00c1f6cf82baa7879c6aac6802303fd26601dbd21c75ae316ccd20f7318985ee5bbd105afea065bc771aac5a0e212bba8e8dfcf8746e138ada2cd88a7fbc0302047c435bb500673065023100b50e5d7aca0d5434d1306cdb89e83a0ff96eff9cb2123a781d341fbfa749062d439ffcda7ff6c5c7c6990cda2bb3221d023049a1412ce7ccc42edb5cd5eb97b39f5bf0be5627246db1dac41e8c4435c88bbf4ebc6872692cc95f0a68f19f0341a66d0302047c435bb500683066023100bdb222d8100782ecf852006b3f79bcf98291826a5a2ccbecc335d0ac54b99ca77a80b2d7aef501a11fd53b15250bc9ba023100862ca0b6a9350af2c631933048f963ae91d678b5cec5c55f706878eb678e28bbb7c38f08a22f9334d9b68282c58acec60302047c435bb500663064023058243e65e1b87e008cfd17b5e04a2feedda5f03640d016260af486b5968ceb6936602a1556472142ea568b5830df04b002301bc98b8a25f3d93f52c26a0633db0dc36bcb3ca6dd6d51666047e13f7e5f0cec30db4b49bc707a02fb8994add3c0ce110302047c435bb5006730650231008f141b2d9dc3f5b8416ad7d248be1cb2f60a280d7d6331a27b0564dc73474fc147925b6f494d6d1e75fdf955cd7783f4023030f40a7c66beda928e6e0152883721f54e5778a2fb981866956a999ac18a09ce0a57e7ea3815d8c8b5c6d05cf1782ce30302047c435bb500673065023062d5f098f3e6335d99dc7c77b10d71ce1961221d2666600dd6a40cb50a56cb1e89666f7665a7d0c1e5baecd7c0b0f023023100c11d85a9d59566052da9fbf84f44d81527bb9f7134174aef8d40166360a0d67013774a960379db211e4592c8f58d26390302047c435bb50066306402305548f168d7ec74ee41796db8fcab1fb0e89c087b8dfb8f585afab34a8ec3eaa1c9f635bc0e1bbb2d52e9cd0871efbce7023031a53b01b1fde37522085e3968c24b35e6153dcf95073dc6ab7de7befbcd2d2fb2bb0a75d56ed3eba03d1e8db6a482450302047c435bb500673065023000f0c958ac145a68bba296d1c130ac76d9082b1495a0bcefcdea9209e8603bcad4811f6ea21e510fdf74f677945fe0d4023100c3af106867cb7f81b3c7b4714d078810d66d7ffdedc76d5a72c7015d518e51bf8646ea5c07168cdc53983b2aa1e691ce0302047c435bb50066306402301a8a9a374176c14904f968ef4bf28b4cf47ff91d2522c25fafba4d683d99b620ebc981277ecbedd4154a5e6bda02ca4102307639b7631eb501778786e94d1a0a1d56dd1b0cf2463df0cdb82e8c906461c0a50fd5f636902eadf2d7bb8c390e16d2400302047c435bb50067306502300fd7f9dd0a79b628d58a4f6d2f4ec684cef51cee03c3ecfd5a45a4da396a0212e8a9dd4bec71de02781b91c9dcafd345023100d34c54fdf25135c06c837e28dcff112e8c15c20540f31915a804ec6644d20b41d279d86356baa7f798da0d307dc7cfed0302047c435bb500683066023100a7c66242b95fc4640e61c4b5d7c7cca799b9db4c44f8475ec25b40e380934dde47e37773bc658ad6620e690a895497bf023100cdf039998f72241ea5e49ebdfb510315a0fea9866233f84218f99346944a9b706a920e43d22367eeb2d24ffd3963fa5f0302047c435bb50066306402303beb545d05832e53084be568142f9ea2a997738cd85ca03ae2c101604ba49eba16827b21854597208b93921b5e8a48dd02304c37549001b371421c46e5c3dc75ac02df9deddc789ccb4d62191404b5b2295dc1366ad702f7ad3a0f394f6bd1f8402c0302047c435bb500673065023100af05e5160b5274f5656a6f13085f5b371b482619ca1563f9972819deb805d2339da162ee3d22c87e27b1a781e9237c8002304b55521f421ebea817574e7ca32cf058ed94e6f09e24f3ff2e36d38d1dd20c367518bac6a06a3c2e8497706972f3d91a0302047c435bb50067306502307679a0bfe32e81963fdf0ef0a6d1b422057172f80111e06da56020950da68d92a699891605bdd6c3b046b76adc6fa11d023100e0e42721e77868ca07e241888636f380d70afd9754826783c12e103026fa336dbed97776b84256c2005ecbb49d89b2f90302047c435bb500683066023100d716f7b288f1d660f450df41aa7cb2bc69e1b8db5af972e947ef401dce274a71ee9e3efdf1f22c0ae3178219b495a9d7023100cec8094b7d66eb4f66af5210ce94758e15a8b065219532c70a8959f0c139723f05ebc0da1c94ab2c150f6891381661900302047c435bb500673065023100d9a5c291c25d8edc377d9d2456130848078943b5c8de24271966426c26925c0053b76f5a78163fd399e2ac5155cd2c8a023012e35136fedd1aed4da16afe5aee2aa5fdebd41fcc91ed91a3d77b6be0676642c5e81185067cef7c35325425230dfb410302047c435bb500683066023100fbb6710547185a7684c50a60ad23e97ca1a5a04cd7258a51bd6387eb4cb89380cf9e1afdb6a853fa4539d7a64dbc959b0231008f7356d37bdd9949b35582e20bf2e69288c392a467efbcb91a176b2c5e17689f220e6bbf0e276629af939cb295d971330302047c435bb50067306502304161824c9d586452f2d9108de8b6212ffd9fedd2948eeb0942c6eed4a8dd9f9d2d08ceb2701a7d098eb6e5cb2626a5ad023100fde11c55a23eac4470e0969d986051e1f9718401df820b89476d87717d9ee2ba9e5b2868b1e784fde0b0cdcb51b3c69b0302047c435bb500673065023100aa1c320e3a3f1410c7a6bc84283f50fe5a290b4d1b616bee808707c1d7287a5289bdb47fd7e5df7c8604aa2ee1b8db5e023069dc6dcb2a0acd27273f5fe24ae2a3f8031bdfe5980fd5906430fd358219524e939ed638e401bef529d096f628ca91390302047c435bb5006730650230501b98d198c64f55bb45ff2c51e87a434ecdc4f799a1e24d546c55226845274a05f0c0ddf7077f6782edad5186718bd7023100a8e15157926c58f838430499d28ba6d9fb3289250b0d01eb310186ea942ba4bd9a47b541069332964c1ddc404b9500970302047c435bb50066306402302ab7dc3238cba607feb2548f7e6cf155fc58187f22f1877e3dffd10cc24b3962dc2a291a2e55dcac6ca3630221536f7d02307dd1039b1746a2fb52c8cf24e1fe36fc837dddb9d2cf375aa36fdee48497c42db0b0edd52291fa84c5c13625d966f27b0302047c435bb50066306402305d77b2e6922af71a559d8ab290cb810b35ac5ca1e8071edce316576b948181db98a5d7cae692b9173aca8230c375f56602306bec821c7e0b99c16c36cdc9b079033924d339465d74621021f40c67ed2653a58f764462e9778902ef6560223cad66cd0302047c435bb500683066023100d6a1cea8b4dd69b694fc9edd1638c3b4eadeed33074df5550ae2e39032fa8a28dd044113eaf6c0d78122c9bb0d87c3f4023100fc63a244712bb8324613f79c5a81ca478e89897dc3a07fda076495da2db27eeb5de1177bfeeb460826655cb406d49e780302047c435bb50066306402302254d568a2cc0e03680fa6d0e3ae6e607d8e9853a09ff5780c9277f47009f61a18d26786e03985b2028e530b520d147e023078a73a88f545460fd35f3ee4e6f3ab625e3ec7c9ba88a5852c08d5b8c8eac111b8fb3f993cedcd1be2c222de8655a7e90302047c435bb500673065023029a2499c6ba714d99f028c87ee4130785395153fcb45196345227cb48c5719e543ec8c85fb45b1e3df6b11dec7b620430231008750133dc3796ae72080910b2180b5bf713c282919dd4f9de4afef86dfa14183898a8cc9a8df8b1f906df4dda73b34d90302047c435bb5006730650230290b46400c3ba4983a447eff0bef69e6f846188ee74766e0b95bf3409e01bd162e5f53c63b45c48dbb370500fe76b9b0023100ccfc09c9428dc545bf640c3d3d2ba61bd7da23c076c470b4227ca4b17cea81b5085da59ef6f28a8dfb15f686bcd538cd0302047c435bb5006830660231008c031a7bea4764421590715612ee161d3641d1d78ac7026b6c05bd83114e104b03f3a62df9541ef669f9919c7dcd379e02310088f012ca77fce003bb306c02b08a989b91dd5208eab9c88cff2b9a9b024f0cc4dda721c5f6dd590ef2191adbfcde547f0302047c435bb50066306402301a3725e7481b1feccc59d0809a70c94a65b899624d7c7d266d2a2abdef81b8e53aa28f9ea5689253571b41996a84cb680230657d8ecc563d606aa9262996727863f240de4ccad112ea571b2882a05556f186da75d6f4cb998b8f8f2e9acfb45fad5a0302047c435bb500673065023100fa7b633591847c71a56af824c9849a4033669c229313d3532d535f394cb8f46a2925961ea4d34128b73a75f899736518023024194c3063dccc38b77a68e6d1a1e377b99798aa235bbc615bb53cdfa51b6e785390de950c9602c7684e39f916f7d3d30302047c435bb500683066023100d2711a8341de192269dbb4633f9c00dbab5c49e70141315d7e71513bb5197e5b5927b0fbf176703921a074aac9ae23540231008b8e24600735c6dbfa3b38db9aa27c6a94c56fe20b70c3820852cd924de3e4de62486b3644683e3eae055839d84400680302047c435bb500683066023100bb9474c6b20313c24b4b26b25cb49ed835e389b64fddca8613b34b4867d0608e2c832107f509fb7d66d3d27685b37284023100bbbf04d72082af4ab651e858606150e6a1742548fa7db011fbde721ea1dd37d15dd8719387fb7b3f63151322b01f98040302047c435bb500683066023100feebfeb2ce81b32afd68e52ef844b142005aada130e7853623a35f4ddee40d832b728a8a541ca3859ff8197276fef301023100e1c9f9531bf7620eb268f1bf105f30e9b5053ad58fe4d4214c00cc49dd60e3e2033addff1650ecac54159cdd8167f2ea0302047c435bb50067306502303e6ac2fbd2ea3d67204194d5d73dafd5400b01814ef3bd5069127b9193d2ae2c7b193c1373fe121721b0ab4ee4e893430231008572b69457c030df1cda59454893785ad74cd9e211da3a7b72d599ec4bf938b58aa9a3bf567ee578c55f7c0137d8961e0302047c435bb50066306402305a402a9b52b97a19a82cfd760a81440413e4bd1b0105f0184de2fe53ae593c55fc96037ef1bfe97d2fd512daeeff2dde02307d140e9733ce0c174e83407e1b0cb91f3646257663c633d299d7abafc7cd1eef6ccada270e94136a9c63f227e122581d0302047c435bb5006830660231008904782d4ac46d0696b8b938451a08671f79504aab1cea173a686366f96c634191b5ea31cafb78f462cd0a06fd83754a023100df2333202ee084baba6d58624c4c9a6a45d5e333456a3275a44bde5f086b7d908e1b1819dd0d169efc87d1340eb738df0302047c435bb500663064023040332288808317bf5d2d34cd6deff5ae87b1da6a913e24a93b249614b4f81a12ff8d2a0d5101f3ae0317dbd2e13eee9502305f8f546b20696594dca6bf0d060572c67d524eac2836892f5ec461be4f1d91d3ae0da23df23143afc7c6cc1e04460a1c0302047c435bb500683066023100866ea63b5e434ba6b43eb52a4cc16c27216dcc6cb523205a0909a14e13f37e3c70947dc4b18a7a3730ef63bc708aaa20023100adebc6396802e7f52dd409e26bc93aca534982c7aa302cbed2da6c88405d6c12a20b5196012ac31df0476eac44aa0dff0302047c435bb500683066023100d4641bba450fe6f8e14b79e70d2eee2d16a8bdafeef3575645ce7085bc413f81a42bd68bd4c78bba278cffae35c7d2ef02310093d6461fd759f9a780d18b33559c1acff684168633b846b4c8c0de67195f7e9cf9283c28e45aaeae848345503e34bbef0302047c435bb50067306502307ad7c1a86171f2e5bb9479b4886a3c25afa58b530dbcff2c00c59743d1e07f2753e4f3cd725c3e7faca724004998bdc5023100911d46b1cb58a70ed7a92ca50761ba15bd7d1833eb66d70cf23b0b77851562de8f6dacbfd11f28678bf6a77ec2db18800302047c435bb500673065023100e963c47315961ec12484168872ac9aefc69776703a3c8203e4d26702258384abe64329915546ac2b085fe53d10fcec2802302bd8676ea92f85120fa637e636057f4b70424c5c8bea3041b7380c3c8dfd944d0b15c1f5c578b89f610cbdcc49ca072a0302047c435bb500673065023100b1455da43b549e3a4eaa575dc579adce6968dc3a3ce4a303b33244ed9835ef9e9a3976c70dfb84a8bb7c971ede6eb6cc02306dfeefe27a6aa3660211626ef58b4e9b6cd3b4f37b107fec3cce406d5ecce2369843fecb455421320911cb376a1ccdc20302047c435bb5006630640230324d5e0e0123ed8979efbf776253cbb7cf0a59b7f315ad20ed40eb854eba784b0437c340e113bcd19cb0390d6f2ecd1502307f2bf786a98d5fdce7abeb3a92f1c5282c38842e50c9353f5c725a56e14362487c9166f953ebacfa6d2aad590c8e4fb70302047c435bb500683066023100ecacc921ef47247bfce590b22121fd2ae3b14355c7351c1420774c7c6cf014ebc516c314498cad4c9130a441ebe54909023100f38c719ef3f0a308c20bbd37154236c7e565cee03e8ca74161bf9f531b863f7f21e12c79c73a62f7f8516b070b04cc190302047c435bb500673065023100ad6b62186c95b82a6fed31fb8fbe4a20f12eab5d8ea30426e65b7d323e2210c8325ea9650c6d3e88cab183c87e80f3c102307400f9221fcdca0f4a4e88aa44843bbbe9d7144448d21d0b7d32ef7a9ec1294ca62430e2524726e15bea103a29df8be70302047c435bb5006730650230321ac427d6e6667af614de5dfddd34dca526fd9ff240d284e1bbe94afe4bd9214889e46dd58e079122c249d1ce53e5cf02310086368d26a12bd64643effe045f1f815958a8a7ea2284acdba012e8e8bd96844608491056345d6bdaf3fcbfc56074d3d20302047c435bb50068306602310080334e6c5d6f557e722710e4c0b358cb15cbc2ab1074c601dbb84819d2033c680f205584bdaf1a5d445090fed5164499023100aa8828ce20466e67de63878cf0f270c141f4f8208c492349829330994a76a430644305ca8ae7b80a433f92c5b786c02d0302047c435bb500673065023034e8e326302ebae54b2d3197ae944a049d32d2f5b5e62837ac18b31a170cf5d2c19ac341317f60a360e15c0f8cd85087023100a721f1e16aba2d1df11cff6f6a4f96a81bb2df0eb97a60e61725cf5980c26d23808a037d9d1c0616a2fbb680ba88f2f40302047c435bb500673065023100b1223c300f9006560a8c8319c82c6d399eff45fed6a2dde9e95801ccf42856c20f9b9c4cd3536a7dcb2dba6c6e347c110230464166d7f5d3261611f4f35aa37981d743917be30698507e4ac45c1fa253ebf7acb618fdf100c1ff66e246f3c29123530302047c435bb50066306402303a7a9a46d821f60729acf1822f0bb3fd25abb255e9e5462cee4b2d7e97aff72410d20ae2cb76e2b9613840c7e29994e0023027fcc69e5359d788609f2060a932973c8cd804d6c5b9746a57f8a4f34e342aa875cadb1fb2ec72a8da59090ba5f0db7e0302047c435bb500683066023100de375694f6d2e8b6b38a402ba90382561c96a87dcc2b6fa2edea126c202909a21a95d7da01f8f9ab94924bd4c54fc78b0231009b989f960ff85c3e2903aa37636ddd2c309547e55d8ce54b6e9bec489ac9c49a7bcc94e571ac4e601b352f0742ee82d00302047c435bb500683066023100ea3463a765bd04e5680b1f2b19883f28b56e9a3482e0addcab304adf5ab578269a35a1d28b0fb77ac5ceaf9ea8f624820231009bbbc10bcb3ceb72b21e2df22ad0b24c8b6a955211db3e6fa8aebb6d2c872646524438f13db293fa58002b7ebe638c170302047c435bb50066306402306f4c2ef8019c1e2e8795787989d7f51caf676a8dccc798e7604ebd13aa7e51f975efc2dc42c9a628fea93692c14ffe00023036fcf12fc0f0ddaa43c077e4c6492e79669b5daa6c1b1e40a581d50dd5e878b5f71ce68039df3b3f99e363a1ca6d772b0302047c435bb500683066023100bf86cb7fb3a83311f5f94a6ddd9e302f2ca73376edd0b82e2684fa600d98754a7108b20db49d56948c677307f5462c0a023100d9df0d4db62dd8f5873916cfafd98805e64af70b60fe8bbfbc9bc7de2ca0d3763dd7e453fdcb0b87acf5ee924aa901440302047c435bb5006730650231008f2f3c1d614548ad1667a9e514d33f4005ad516d6db84c78e6e3b1a0f2b01e13bd99ee373c3b3485b55779298aaee11c02306f6ea45847f27064bf42d99f909ca225cef24a4903ac3965384bc84278fb0e08c0251ec4af36b3229f6483134a1c55700302047c435bb500673065023100afb3fb087d122d43085e9c4a70379d3b9374d1cc28f47e418c89d598e1c9a675809e8b599f23ef23d29f3df21efb50bc0230588d388c064d467b8f6c7875738050c00232037798d973366fe4baaf34b403d31ee14601ac5efdf60e6b5e8b0c3a20700302047c435bb500683066023100e7b0f3045dfe011df250f3ceff5fbb1d887288730d7f988a172cab40059b6f439d0a88cfc7e3f0f0cf31554864c3daa2023100d7ef07eadd85612ddbfecfb3988c6c04a38e21f80e038c1fb7832894e48250a08e3a6290f8edb4d463db89d74e265b400302047c435bb500673065023100b3807ea05fe42cd37a85ff2647a9f89c0137837b03930fb09a5f4922ba8f26511030bdf4e245db84a61300e9d9ed59a7023012b5583e4a72de48f7964a98ca9342694d0231b57ed9c36f3d695f3f6103b3d6e4d42ef5d4f005fd0e5b7709078a45440302047c435bb50067306502305ccef778966be67106f98b35d88e195973ee3ae0874b613a29b5d12c206c22affa1545ccebbbd66200e03df7589c7e69023100bba3bd9cf666b1932d8d8e57f1cd6811fb826930b341c03cef731bc49b8955541971a6fde5d454542b276e77e3c5d0bb0302047c435bb5006630640230076f9414b7d036ba3debf0d7e014c16e163b8fcb28074294b2ec0ea80a077d8871ba888e6c473488a47ab56de8e8e0e00230390bd2195c07091b89de187cc2410b0c5f9a06b370d45489f07cd153e8438d0c18633e3c09e457065fcf3a87c2577ae40302047c435bb50067306502301af941a3c840202341fa475ca37fe5591a22cbb17cc0fd55cbd53d02e576e39736b13eafffa3eb951c81c3b9e0bf2b700231009a935c759038669f6fce778fba7cb101ec6659df7a5baaf35b298d79394b948b8536d368471a8f4356ec77e51dccfc870302047c435bb5006730650231008d6e2ec5b5ac1417c6f925973de65df04ae63a72cdf6632f834f6d72f9c9bcf56e2b8fa6b4ff800422883e9540efb36d023063ddebb73d734347c6de226287537261e2f8b7356352da46eaa62cb1cb66e92ff41f0483672a1f9dadfbd96faedb99eb0302047c435bb5006730650230726e0c94c4da4223cec695833ad4fed7b1dc2866c08d55e0ecd67eee666214aa8eaec3e3088d3db61459851b17c6abc6023100da25509724d6f21a5f398c6ccab39b69778b4fb963bbcf345da3e4bbe4da2dc6ca2c84963b0e32978a97f2c5db6357c80302047c435bb500673065023100cb5535d9d4839841328d4a920bf2fe1f3ee17cb0451e61c16d66e93bf47b5a729d89b139930fb7dd7daa25fe9c185e01023048ff0f33b7c757112c0b8ebd7e9d070e2a60d69dfb6366f2224975d82b158f0828a40d1c0c90f3fccdee5c15b77435890302047c435bb500683066023100aa4705d67b71b5b9a3efef22534731752edb1d22b69d67cfeac978a25f47b717ee2b55f7d8f43880a4e204f02093a3c9023100f5a2e54cc71aed368f26f417a23a5ba1797f00ccb1cb84d52b3d7b1e009525a74c0db10735c90781cd3d2a28cfd404910302047c435bb50066306402304dfec537f325c6f18fc90d34d2b88de2040dd84e4f6346f9b4716ae28b5eac7fb6cc72cffc90c8861d5c225ea941d53902306125a6ec8d9637faddda0839c8cf3b4893b2138496680e0fa49cca5e3dff76431eab4170b15a99a1872efd39ab8f92570302047c435bb50067306502301712e22a28fb765ce6e58c95afe377d885107b8266db6c92b513eeef4291d6fb3d35ba7702cc95c6c0c81a1825ed3e8c023100ab99c5d17067657d69006342a2c65271ccd7aff6d793ca2a8400ee6716a124b2b3a2b47d7001af3dd44b02d870eb05e50302047c435bb500673065023100a4008fc588bb945bb25008b0ab09a1e16912dd2b9a18256b7f690978757086e03103c6089d7b9f040757cd52a10691be02306ca04a6785d209276610e11ed08c32c5b4296cbb205d30b1abd681c284633ba38905b26d79cf5454fdc89dcaa64284b30302047c435bb50067306502300c996f3d7468d641c429c5b519ffc2b58060fe48a2ac744058ed0340494b7ef16dbeb5fdfd66dbc22ef9732e6f2d9a50023100ddeb61c147e8979058eb325983b7919d5c9422ec10582de5943a721732e9ad58930da70696149995b37fb25e9c4141630302047c435bb5006630640230750bf8957a51eed12452220d828a6f7120592a03cf9964a86beac5b6210d06d74197a49cd885be2e4968c600aca1852402303b19c568bb5be2d854baa128473dd7088f13abce1b5e13c98ab1359b1b1e36199bf73cca045c15f189f9629ac81cbf7d0302047c435bb500673065023073779851afa42c88a5f4edfc2254974f5b823600ffcf03d1b1e3c6cc801bc446a49e4e902fc38777a1d9f54647e98f35023100aa64281b03263de5c79f720d01f9d49119fb1367ea1d10cdda7961ad43de3fb075b5fe057f7a092f35697612856a24460302047c435bb5006830660231009ebc4c8f749ed2eb9130f5ef31ee8662bfd9894020181629802f52b6de0bbd3751b02568a9b33a1633bdd755ab1660a6023100cd592076f855a0636cc77e128203c4572cd12f0a68df5ca2c1ddb3dfcd0622d93ac1bcc51b42f67f142fb8115ef1c8980302047c435bb500663064023046154d063c9ee42adabbc1d5f0bda494116012b84595f970e4fe1d8921051bdf8e050a0fb46114ce5fe84e73b981059a0230404c727e44e09de5af30e443471f6cff581d03fca3450ed4b34c9e696b8804f94c3b1b7f380323017db728255b717e700302047c435bb50067306502310085dc58b9171d259dec83d0aa287255f828c2d20d0e8812385bbdbf68e35ba9595d4b31b6e98585a734f13d8c3b138fac02304ab0d44f6e74cac849ff9161f77c3e7f5d731ac51bec1cef73996564eb43014af0edb8b213d0a0a271ec8a95dd1813b50302047c435bb5006730650230302eb4c038344c67be044ac4689cab28281adf7fe0a1a84e1856b2342051b94d262ee6584036734ba8b7466af58e3bd2023100baacd2e0254f0345c5918702248c7d3c973b35700d1cdcb91e7dea3bfde4e9b051da9ab294cffebcda122c84eb2a6ad60302047c435bb500673065023100b1aaad5b4772e78534e27e20f2403ecd83d8412a0a10ac32dc21bb8c9f7a0d4db7a1986db6c4928e2282d29ed15a8de002301dfe8d0ab15142e8567907ee82c580c19a7b773569e236ec477e66dc1a7aee68aee8ba198aed75ce580a881feaf366930302047c435bb500673065023027c143d794d7c7b11fb667617db7e41ebee566de3bf2000ba6ce72cb25799bc4e7b85a26416a12e41f58a42b804133190231008c00c3f3071c289581ea16ee1566ed955d04ae2054525a1b76787d3e7bdebc0d590fec64cbf3501115382fc2c14953fa0302047c435bb50066306402307c09e1dd5c4443f709d9c43f34eb3bdf8eb53d2a55ecbb6731f9b758ed1b12aca6adac432316d3e433eb032a5b7cfee5023074e13445309edf664a03f2c92b5fef6aca1579f5f695d524b79c404facc51aca2243b8d50625bcd87a2041586727afa60302047c435bb500683066023100ac922e5c1dacd76863f7cc1f88b587926f71e9b452ea9f84d7343f79cace4c9a89608e54a0f5f1c72ce869d0c349e485023100dc770d92e7f481ad593a08f628c8bcc37b894cb22a90a885982210ecb610c7ed1d9a5e0477e542011c844fd94c8e31230302047c435bb50066306402302025cf37fb7780c6d2beff1e3ee0156a31d3a12d711dcef46da0e00cd980b895ee7d4c04536b4dc0b9143840b7f3d13c023027c1b7a9e793f093ac5356d3f2b803371a5c0962f7f335eb28be449d5a3e885e537b09838321a57f73a7baca0f76d8410302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500663064023030526a36d368bcc35337ec060ed2e49c37e4d910552a8b8f942a91a88f0605fb7b5ab12e39b9ea57af7c44e6d3a8f2e402302e72759a05347034614d623cc7831284e0682f8a104a701fad5e95353964950b49fef5a07c541644f03d81a79277a2380302047c435bb500673065023029b936e29217dca006660e7880460a747af863921e0c9ce237459e62aabd4fb850055d982286dad7e12df195c08cf971023100ca97ee8691da685be73ec577824cce2bcb1cbca0b9557b7b22a2b6bd022ce64793a7af17d29e03ac7770f903b087a8240302047c435bb50068306602310083bb2c7d1314f3c1004bb5bfdc9fd0831db4482c753f97efda60e32c9d13e27fe7564717799af21dc901e5394c1da9b0023100df6e6b0de6ff4cbeb61dce166a85591d577a60ba11dc9303637be09ac24124a37e7e63e496bd09fcec33c65a35aaa0340302047c435bb500673065023100f101802932f812ecee4a892bbc894b1c003e1da0e35228f050c539c8695c6de98e3a48d98a8cd2ebf0652d204731e33a023007d3c499e6e14b142c178e9c08b203536840982894c43ce5b04d635a5bd2297618e51ccba4609cc0006f0c2d33782f520302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50066306402304433b4ecb2780c4a8b49e58eb6494e1017e6b5e22c591eb60941c71b28a9df2c9641b5d9801ff836c6a91a12243c9a490230283c4ec1863e4107f41a1eb0dc8aeda3951695d86e729f39ce447d618f366bf9d527b246bc083682f8e9d28d8e8d3fc70302047c435bb5006730650230490ac9e757fa5fad5b73b24ae28264a4f465b8cfbd6c6f64cb331a1a180bc76f50037c081929257abe3abcbc97b62b5b023100d024c4abd0da8ec0b1dec524544e6c28be8212ed88a6f8ef5d14969c604d0a777b821eca46a9d442abfc3627fdee01120302047c435bb50066306402301c33fd97ce8506b30d8b6dbeed5ff0bbeee3cd4ef70369927e14f945b5e931ef4c0c40e6937a74c271529b0f60e2159702307215bc70cd6d61d9174bc07a2e03269f67e81c5b3512c120965fc3bd0b316fb8f8b8d76ea731a3262c806f9012dcd1060302047c435bb50066306402305a027a9d2653a0e159da5798755d3c2a9d67d02fd81406702e242665165814b0a849e99151d32d89200baad6178d7f8802300c83231cf75b100a82b4e1e414ff2d99b69da7b32cd6c8b99c0fb12719ff93d53ac51d2e0fa6fd53619592e8e0307ae70302047c435bb50067306502301b407bcf7d25b46beba65a54d90552d760514edb743d3a645147ac2c3094c0f01fdc449445ae2147081d6af014895935023100d3db472ad19eb60ae1802b9bc8dd7d79a96a91eff4fa8a9d1828f259b3958fb441ce17da1f9df77e3d591c0af90ad0990302047c435bb500663064023078bd39a2680908ebc7934207f03ddfd63b16b471199b3ff355d65e7b103fe99a38cc785d6f848d890232e2ccbeabe08c02307447d0580b9b9584fb9b19ff51456b294d8041b1cab518bb93da8c484c288a82a952dfd65872e83905ffe28a1fae6f140302047c435bb500673065023100c53a88a94af2352c6382ff4ca4db14974ad338b743948c8460a741b18d972e0b3901383812845eca875d0689fb801d460230645cb797ebcaa659a91db700b1c8f9ed5ad782c2e36bcd2626ba3b4860d7bce3e233cdd83022f27c422b821c6999bca60302047c435bb500673065023100cc23c831a08ce9a2152630c257d60db909c0043926d7c02d3fba08ae7f839c1b4f63a79745e4cdfd1d51ad90197a2a630230226d424c809c6e137d8bb529e37a774a655946fc3627c1ef49dff8ed32272b43fac9ec65b0f80ac4e1b45e6f8866c8a80302047c435bb5006730650230546586114c78d2abf3ca79c13ea41bcc374d91b27e1e873f5a73ee8fa065f16a69bc0730ff17bb9dddb0e694f73611b3023100b6e4dc00ef70fbcae80824febe585fadaddcae44c5a61c8db4fef44cac5b4599a8a4c9a2ead82d23f1fcd20def0d06c90302047c435bb500673065023100efa9fa729da6a1bea0532a3086907f56e38e56cb3a3e0aea76ef6e4b54191a4c6e49aba5a86981fcf866563a48c6622302301e870dc7c26578bc1e9ed6bdd70fec24852c7a5c0ec0b3466dc0bd1b5e3361861d38be9e7c467f874a29af34ad751c690302047c435bb500673065023100b9546f8a40b144f773ad60ad000e8b7d82da2fbc1e2bd4c4e374ce05f0bedd785eb4718dd10e04fd3d9776294f4968e2023059fd4e97a1797405f5eca489d30293f26a63b8d1322e15829844226818527d3aaf05225701c3c33b209d3b344efb40c40302047c435bb500673065023016edef06d69d8b44fa0f0a0bd5bccab6afe790d08b2381fde327d9e7eaafa2f7a3ac78858fb44fbcd45f95487708e165023100ca2f5428a64a6f1359263a6c7247ecf9ed51d1d97933b9c9d3884eb386c8522bff105462722acfe5bc4a4fa1ceaf387d0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023100d495a3dcc9225d5b93dbbeb02cf5ae0c8459fdd0ea102fe787966cd2368bfbbee77bf6cf5e0a12ec540455ba11bd568e02304b435bc772610d9b981a6c08dff3810c638bbb49806e64112e87886b6f1b56f52a6c062d26e2aaf2170c9109517a40470302047c435bb500673065023077f545bc5044c531eb801dbb0d3ebac365db91d0fe3d18e96a10d9a968a1d559314308e432ec53fba4a2cb86840f30aa023100965bf3ffabef5416b243fd2153b515db9906081388fe5cd1414c57b9a6639556d55a8a8f8e49923cae7bb13e2078f6030302047c435bb500673065023100c7ff614f02a15814a27146dbfb8b19571e239e5c523fb269f570990a09a32f77ccefd967259a7f92daee8b74dfbf177b02302f199284fde1d75639b59dd88bdb8d5a0266fe210a3cb3ac6276b82dc70d2b4f85e828e4194e43abcb304cefb76544d50302047c435bb500673065023100f98390cc3bca1e113172bfe72f93559eae7ab8453064c7dbc2cfbfaf43dbd304a482cb199418f66e18c212874b53da42023000cf48dd101c46e9335d260fe663a0cdf388c2f2b2ee1b2b39419e0dcc02134ed4f05d83cdc09c3d7b7e5c19892f96940302047c435bb500673065023100e2ca86c6eafb54db7f09388dbbd4dd3d5f146af83fb529cf71a551791d8ce807d10903d06ccc19861c1e868e1c154b9502307876cad73b6628e2f4abbd8e1341ac8df828af8b709303902077dbdfdd96be105513b291ff5a4cedd09a13454d3cd52d0302047c435bb500673065023100c3d4123cc39b856853c2f31707507966274528cee7d784ebb8f3bfbd6ca65e93b4c1e13f9c497e1a43508def126fd5c502302762a8fa0bcfdb5c8c7146ee433a14df253c79f4b6b6ae7531ce93703efcd2b15ef129945aad97103bb0309991ee09800302047c435bb50066306402304e3bba1433e065eb36b162dfe180edd552e0306a509f5f5e0dd0aeaf3a8adf5a2bc4be7773c370ed8cdb97097cbb5c3802304027bbc627bfa141daedc4527876172243b2d94fd09b1f731701fd011aae744e190b0a3c19645772f55d2d944fa3bf2b0302047c435bb5006630640230774f25f5231c1ec828a1d50ede528b2e0be3048e034de72290abbe1cc8c56c6de797216bd53505e67dc60ed91fb84fb40230152e9f0b8ae875dfb1ec39ad93b272a70683100ce781a739b5935acac7a56bb876ad170828edb48aec647d50f9a418830302047c435bb50066306402300c03e84508fa171b5e1cba06477450a30299e1982a5d6d04a5de57bad45823b2b60310f3be69959b1fa2a2cc886fe0c402301d323b6912631e1d3d51259baa4d7b55cd68e59d55d4acec583708aa9887d2c4300b4914e0db6c8e886a917fe1cece240302047c435bb50067306502300428d86789f9d612bfdb8a7fea2a61a4561d80993c354ea7fa8a12eddf8119546b04274196f8b98e1d16e0b9076a853a0231009b044f682f8f0e9d7ed3402bd5620a381a0738ef558c4f0291ecda52b265f40067b7045b6c844c93ea668835e9351d9f0302047c435bb50067306502302cb3bdb1c1618bc8d74418e9513ab1c5ff601bc1721b9f8c5829bf5a7baae10553fbc784664c9b64c17523ffee2e849f023100c21e1758ab9f09dbc10f94cbc4dbf92667e6a835e76cc35cb6917a10117b13d100f137a3eba471eaac7d4e5c53fe941b0302047c435bb5006630640230029f96f704b896ef1c1e78e28e282654c245dacc59b0f045853e8b98f574723deb42551344e6194b379882ffa4ea783102305f396a32c9cb043dac34bfa8310ce6a3a813da5a3f6b812a3f41818d6d8848b35e08285c5a2b963a41e22d9ff29c763c0302047c435bb500663064023063310c72c0f1c0f1db6dc163223841c911dfbf892a9eb7f167f9376c23b0081c54a1634f72e86ac16fdd2d25087d3b39023046d1bcc7c63e39c525aba0e8d30ed6a6473b53f171a2508eca8a341ccbc7c801a1cfceba067ca9a48b2dfa8666a5e8d60302047c435bb500673065023045da8f3579813437a15d7ce410620ca060773d44f77ee628143d489653de25476b198f33daf98fcc3ecbc5ca6501fae9023100a06e2434a00b77c91dd9ac69424f847533bb576c602935dbcc4819c9e729322e1d1edf161da9cbfc850c17204d5cfd0e0302047c435bb500673065023100e38a5208bc7516ed4716d8e407d3e1f7f84110d5566eb05b92a35280bf3d671a9819cd7a1770f5f4dbf1d20e8b5e3bd40230187a0b2359ca7e248527b4e470f7e48e199836a5fac18ad84b9b19604d1955a60e30f53b8d701edfdb8f6059a6238f4f0302047c435bb500683066023100dbfebfa70aaab3a7989a0f32a0eb549389642f427ee0d6995322dd11aa3f4293a40d9042280fa343542a3908b3de75eb02310085191043ebe9cef7810770b45e4040d9fcb4f21d7ba94ab8da422a6646906aecd0c1adb7b767c415c321e7ff6b0e11540302047c435bb5006730650230774b35abb8161277088331ea3a6822c60d76477d8559f6fdeb2ed7e1baa59493e8f391297d91510d0fb3d029f7a676790231008fe8fcc3d4d82566144ebf8466394a81465bba13da2574745b1fd16fb6ff41a48cda60a235250b22230ff8e6290b83490302047c435bb50066306402301f48d3d8de3598577c4f0539e74f83af31c10caf2576f2039fe6a93fa3c2a678e2f945513b22bf8f6f981d6d9eace4c5023035eb8d6f788c8c640a91b2142b9f72efe93060ff438c695994f9b2ede57526906631c6b701b0a26d09c025a99e0aa8e50302047c435bb50066306402304912f3027d6087d31015c6fa96c90e0a8489888834aba9971f292877d02725c098b68d46bacea2ddf78ac77064b8e20d02307fd3c3ab63565f1a2fef9174cab74353de7b3c7f8ca2b5f869a6809b1aa1cffd13ac8fe5c313424d451e7a4fb4e9ee560302047c435bb50066306402302a964ee57c9f718d6d519719d00046196abd51caec5e848a88dd651be29048e9b6083b6c0af2cf462fc1fe728565626602305a1a07544aafef7c55afb190afa9173961f1393d6897a0bb4220850cffb2d82da62cf871f83cda120fe3da99da68cd220302047c435bb500673065023069b3e47b55b6608e702926377b72482139f9fa5287e7b7eb380d5d05bfe92b2fbdf8f7c85babe1afd359c4604823236f023100b13bc899e6722c784c9386d11a7af2dc1473ad4dc5a7018fd595470c93811310ba96581aee532705be0d6c1a572b7fb70302047c435bb50067306502310087089605c5de17534abe5589c5b8a9baeeb4289465e48dec21fc52e49175b757e5b9cef5a4b89901edf8d1e3a69c601e02302ba15a040785ef88ca5d43ec7e129864b73753681ec08d47bfc4ef8386b434cfa55cfb380dd9cc36135185fcc27d088d0302047c435bb500683066023100d947c68ff640eea703726ce22bf838dfd52a1f757c87af6a51431fa6ad505499c3631ff8125f01ab879f86ec60dc460e023100eb6e8c6be6ede3c18c9be3ca4f37586640416a50f7b627cec966ae476ef49ef01c16fefd4143086aaf10c7e70bb35dd70302047c435bb50067306502303e5f840a3035d9150c76ce0ea59456b61eefb6354dc6d0cc34aa828417fc7e59c5cc765284b40e4ed9d1bd3fdc7148c0023100c2511b97acaa32b0cc620f1772d8bf2f1155f2f01fae1aa3a770f6d5f9d74b6d05ff631f69f3cbb7264e540b177176dd0302047c435bb5006730650231009fc5e347e56753ce1d849e9ec51cffaca855cc31fc0557a2a1b476a6829859851545be7db7331d47f64eac7e0db08fd80230748c42b291e346f668a2bdf0518b58b6d82eece66add253dffc35d2a0832bbb2d42ee22a770ceadc2f174559594f715a0302047c435bb50067306502305c887303416e47fbb1c3ec756b51f29be3700ff79dfb54b40d68b606be66a9253535be8e2bae4b7608cf56d0e60f02d6023100cc2e87f53f6a8cabe22554feb8964df7d354f2239884ce9afe52537a1a0ebb8d4a296ba342ed1a74314a74fd44d7bfa30302047c435bb50066306402307f80a5797e46f04163590a8a3e18e1a00370e6a8eb1150a106ea20072fc6718a2c1a06b49337701f9db7f0bf42ee533202307159e12dc0d12cec81a78cd173135b3fb5024c2ac4f0b0648a267a8cff179494add4848377ed9cafe16b33be90485f960302047c435bb500683066023100d1f8bc2f278cbbd663f43adc5454d5c7ba1d17ffb0915998eff2a9ce791968286d27a332577a2da175ce238b41e3db26023100cda2ea4073bcfa5b5fd31bd78d3febd558ae506cd19f555b8a83437d53551c60f5a9af1f1714acdd3b1cd6a8b5c5138f0302047c435bb5006730650230624ab75dacb4fe6d6aa25081e5f3460224eb563ace7a3069f8e95d6b71309bf7dd33a39c33eddad29f36dc3e353b74a3023100be496070db28b2cc05a1909ea208d8747df461926bc2b3d9fa614b8cb642bc2e654260c31395c04f88a221908738c1b20302047c435bb50067306502300ffa3b21391e9284a5b10721f8850e8a93c93f0dfb9d5925d8057ccb9f01470619f18acd6381ba8eeca7a45f1f2f86b1023100dae9a33a9b561e26d3536292f75eb0b6bf9667c71788c7d3de340a6e8d498651f6e387653dd19afa9ecf0bf92b9edf6d0302047c435bb500673065023100e1ce9c212ab5ebd28f08fdf95d1c4d4a74f33e6237f44cdc83bd8c32c5f1639122ab9f2cb33c06422ed9394fa2c70aab023004b8904342a05e020f7bbb5211f5c1bc6753e1698a00352d4184570ab2361a3abba35c87b216d635ec0c57c099895e300302047c435bb500663064023073dce9cb8ce4f05e5318a6736b87eae86d4f491fe33215391e3e9f22f0f3895245971000f9f237b8214569f3fa8f950a0230390a34c22c2b80eb91a52f4cb12700828d59b195767820662d8f96c241b8d9930ba714cd60dfaf3b413886f62c6dc15a0302047c435bb50067306502307de7cfa2eca9f2c9d6d939f58f6b27b664e16e7084d20aaa89ec2c2da13bfe8fb7e41a7197cebcf1f772cd66334d5593023100f4eeeb736c19d32318478a9f11cf321acfdc98d9239736f1237d2f0426c45871dfa82610a24bfbf5b7fc765575fd32f80302047c435bb5006730650230110bfc06e9a82c5e186fe527758980485055bd09ca5ec6e98536679c545c70b112ef27de3b3b801e4f8dafc40c50805702310082cf95cb1f008f81a20077ad638119466f1411a60626c1ad509adb00766457dea4195362e95321d033ed5fe15b7eb8490302047c435bb5006730650230039462e60645e7f4e5c137ed947ff6261224ddc4ed9bde343a71f04fdb23381c89d1041cb92b3770f5d6d05d2a7f7562023100d5b33cecb57a42cf8ed074bbe1c395f699660ab7e20557c6df8204e60672ee59adef0597e4e6365cb0da85d07c2cc17f0302047c435bb500683066023100fdbdf02c6b0d0c0a31517b1ebcf38e7d96e4b16bfa4e54a5bfb805b2f4bbd938156c7a79195647811892965fcc344f4e023100f4ae28f94030cb733211ab84af34bfe8095fce936263941d58aef6aca168458dbfa1be9cc0fec267087a3b745f08cab20302047c435bb500673065023100e7e801734d334ba9a048cd0ea9236aad22cac67961d7c632380adc44d1183ad80306a9d7e73049a9f73df66fe463188c023036fba98e3d1f604142ba9731b168c83adcfd86bddcf5d19e63bebef07aaf15be6b8464d07392d9cd5252e419b07845fa0302047c435bb500683066023100fd3a276b3b5ccdebdf6a0130bc5f45e6a0cc578786bb78ceb33c3bb2ca1eaa9cd23ec82fc9513b3f69d9a12fc7bdde55023100b0635b78f53a93ca365647d04b4b5114f9226717c1853a63b51e15c5e28d0412c021c0c12df9ecd18b4f2b376701122a0302047c435bb5006830660231009b2f1aceb53475c36e4b5e4c61aead9a945dcb2500d41a0ee270bc0ad9982f7b060c8296101cc627a933825ef056e524023100dd909536a4b7e437b98958f1a68ccfebcf096ab973139e3d62e2cd4498ef741dfc78e33b062cb222d07958da5eb843c30302047c435bb50067306502307f5fe33dde026cb979fda20b83c67fd0bbf5ffc2a97fabfa46ef153521b6bef9c3bae72dd654da277f096d1285cbffb1023100ad86abf09052f110687d2e08d0ed90fcdc4aa86f0a18430304485de5e72cd14c3efd7523bededa41020000c7a679d7b40302047c435bb50066306402302d5619e3ea58712203db9ed251bd9a08f4d11a59663dcd57b5b38d36ca1230a9f73a029171046bcca2008e82f4611eac023038f0ee4fc556fce6e7e796284b4c626f2d8f9a47db1641be57d396e86ee447b7450afb0317ee6cb6d5b4e090b26ead830302047c435bb50067306502304b7acc9d38815c6000a98466f8125ae4eefd3fc2882773294f38ced8993a6c502fc6a6b6385b67a7cf940c0a0a5ce56f023100e13c6c243d6ed9181edbc6d7415340255be67dad062a629f45dad05416ec0a4b9746a8616d365e62a3cc0b7554a8d4c50302047c435bb500683066023100d0ae272ab8186296c479f3f21ab21b4ef2a5d093f62f8e348620f3111ca799ad6eaec23219da3b5fee9d135447938af3023100e5045e924450930fef7102ab58e4244d4acd333b939a4169b1622eeee70b2d7fda53e9432f1b0e81b7c129633b5901280302047c435bb50067306502307c3563a02db18088238be8235ce715b495fbe404e5376c1804932d56b7e8bdd47b4c029b4ebdd66a4d4c2690c4967ab60231008123fe50742fa2effcede508254e2176a89d5ada54e3d35dac97f2ed08aa67a6e90c30a182abb81fe2a613793cdfe8400302047c435bb500673065023100eaaab52036a9f2c8374e26c716e96be7c5856599d702dc43243463fb2e176c9810208eb00743ab51f4802e0c41f140ab023021a9522e2ddd00753bc64e8f75e392531d3979b6b8d38245a3d69b3722a3b0c8c7217e600ba70c91a7f9a214310047010302047c435bb500673065023001f0931493f4e1833da8538bd193168cf0fdcb8e4e58c4ad2888cfde9a533693dee747085b733f0c64865a62d7498f09023100fb74b2eee2eec43374a4ffb6a813f046c789785cc85559d835c2763df13be5dbe8019588e1b07e43ebe31de1f801efc40302047c435bb500683066023100c92e1777105e904d7eeccb9a3f9b347e36ef6c7aeede3a4d64953983f9569b8235facfcab1c68c239a119169c7177f23023100d8c554a0b67cd89126d4d49457bb692cf4c971c3a67d1a309e02524e3b1d198f757f723ff725e256166f0fcdce680a8f0302047c435bb50066306402302366af6b77832cdbe7dab2e5c106b665889be3465ab5cf16055267b4b833bd37929e7c2c33623a1868f67a4d928474a902302e6f83574a05d0c6c441f99eb7c2e95d4081d41731bd23fb0ed1f0a0c06d7f5f5794628a7a70ffb92bd964d68c4b91370302047c435bb500673065023100862f9289a0a4cea32fdd59607a91bd08dddc3db4b6805504f2fe11878516d2b9fda2839ac95e7245ea83a625ce3b36b2023045a41a6a4aa36588fe8675d24c1bfefcebe1733a50e50bba1766940a2f64e8627674f49b632e6e55b2ac3fee95ed3d170302047c435bb50066306402307acc357629fc7dbea436b72a33d406449b5cbacf2739cf8c808d829c953844ec0d15c914885f79f3c3419094b5b48e6f023038adaabe8868f03fe6bb0d85cbf9e3387ec6c4a02fc5adadd3895270af60279abe73207360776eec595d101fba35baab0302047c435bb500673065023100f954c5961b6e00195a16dc512670b96311b093f74a76bdec566aa4edd7fcc8cf48b7448bc12cccbb71cbc2c711f1748102302176b87cba8165a90547ce60213ac9ffab0bc290a88fe64192b92e3ecf85a0f1d39115b397d793b4391b79573511fc7b0302047c435bb5006730650231008d988542c241994731ed9f228931c1a902141e28f3e4325419c7a60d32f78961d68336281cf50091f54ebfc48616a043023023012a578c655659bdba71e003523bb540392c07572ed36cfd1ae66debdc9196abab47f550fb9cca5da522074b0d81850302047c435bb500673065023050d63a063815ffeb4f3fb47d332228413801029679a495fdb435117767dbee3ff913c23ea1e3fca77c73c57ca3ac0989023100d385281d8b66e51484d3cd6b49f15877c359770cf38fdcf2e832d07a32a1f2e0a8de24ab076a93c7c020a0cf3932bdeb0302047c435bb500663064023064b83f721b27805fd56d386658968ee3eb0a8b919992ea5bcc9e891e47d885ca0b5421dc9b1c9c959818578fa92eaaef023066b18fabcf02e18fdcea21ee993b5329342b9abab576e9d3c4c3a60a819fa3f744b650756b3cd1824c7110eea1d7e8380302047c435bb500663064023060bffac2a51f1e9b290a4e3d03d319de5b82e2740779810eef4ef8d8ba4be6de6e12cb70762e24784111ccada95d7baa023012370db07b1ca5b86803c4818f6bef1cb23ae14a04f9c38e832a3a0633a2e6462fcbace12687e88e01002d3c13e5965e0302047c435bb500663064023072841a1bdf6327b8307c1e26b8394e8a3b0ff7ae7674c9bb4e1dd4811c08bb20ca06e2e3fb02b9ee315bface7c3ceff10230537d341fcfbc42e3357dee720fd614e67c105f9a978e97f19df022e50dcd4cda30addec3bd79472ec0c517cdcfe2fb6c0302047c435bb50067306502305a4f2125f4658b23d7952a7d72f490f64054725437d8109fb2e6f82216500256a4581f5ee0a819da491deab9719aa31a023100e20b534ad02d8e9e025f2b44dc63a72ea5e4d9948b0082f1828ee9077ee68f1c70f1a37ad005eb63c803c0774ba958de0302047c435bb50066306402300f3eee134f9efef015dcad931dbbe25ef224dbcda7185b5d2e79d9a7b7e6077528e05c8e16ffc95c6128e3fcad9a481002305d779a5cb16c315acd74dee9d5eea5c9386999fe5e152e7b202b7d0c467f428dc891682a977a47608461e022fcb2c0040302047c435bb500663064023079e522f7fb9c9e8790230633fdc5f10cb875a08268a97dd9c5948cf151c9c64f4fc5d093256ef19f3a4ed0ff9ce34648023033c292a9f2be456b39530d0047ef684c44d7e92d3821209bbe62ac9fc2165fa1fbaa4a0f77b84cc4a58ec5eed2d1059f0302047c435bb500683066023100c738da2d7dce0462024eeb40b2b62971a7eec7df3be81dd656128d7ecd69e28fb1ae62f4caa80570796e3321beb1d9780231008f0d609ba68ad8a8f2972aedf82f2a26e9caa3dac8d44baa11fa96f735998cd1eede48a7006c6baac78efd148d37157e0302047c435bb500673065023018d707f27ba4bfb94290dd89f7bfe7619830c62c02188e91eb4bdd9f497f6172c696e5106858e419f7fb6ca5727cd93a023100d4e17ded0df86fc3203a5a824ed541dc10d4ba53c8a456766207ba95a17d235dc21cef8c675ab730578809751de496740302047c435bb500683066023100e7d9a222fb5151972dd86c9eb55a30dc6158b16572a48120c994cc8d91ff1ae8d7063c82c11f6351695679916a93ae89023100df0e24c407852dced0b18ac909621d77140e553c1977c9e5d32aed7ba4d2023e69039b5dda68601b1ecd533e64e710310302047c435bb5006630640230670477ab4ec8d8e13d65178fa314c982a86d883ea8515d6d076aef7b145c43b652ac30a2a65f51e63daa40fc59d6f94a023074e33d831395f90928a541891b17f4575bd30bdd546200d1ef03676c9a8cefb5a3a5ab0bbfb5833685e32499311d47100302047c435bb50067306502304b2bf79e668cfec2709025f63a26b023cf55be6149be2bae12c6be91facf9dd1f8f8dee76b42539e072175ff3c4361190231009edcf5e8828cc007c7a3c09f5d875201cf3e549ea3086dc3a8049e39d75b44f7174af752535ce9593bd443a79258d8d50302047c435bb50067306502307a1790ad0617f4aef4de82071039d44f06d02f19caf3f45d1525e17d864952b5ce76eb1735e7a1a95f05dac95d74822d023100fe5f0b3057c0f7ce9394903ccacfbadeaf6392b537014639f26e33ccf6ab26b1f3bd1acd9aafe3189a3d507b80b00fe90302047c435bb500683066023100e9916a5a5956871e3b83ddf3565a293fb804a80d49314e6177a9cbd6ccda10e6814256eb2dcadeba9f98ffc68cc7d533023100dfed40bb45b90684858e064f5b3bfdbf538d71fb6e3eea22cb4e543c64dbb52f4e03523c6121e9b5e3f97d937395b6bb0302047c435bb50067306502303e7654917d8d0ca645a7645401f1d82ee4054ebbe6e7aab2df186764286e4183e978c79776fc6df8ce7e599d661e6e71023100c33b8169699397682958f0cb71dc6f42a11be65236f80d9bb1a690c040e231e671828838a2eae6204b77cc691e08337c0302047c435bb500673065023100e8cc9577163f5732c6eba49598d41f3513d1e94ec7f0661b13136329ac5cc0bf374c82b8c31b43864f8274a672c633a4023065f6dda1572277ab03c819aec06bd6578b64b93f337e00194ebbbdaba124077b5df1c139cc0778412e6b2c5e5a8a3ce10302047c435bb500673065023100f6939263b20b0a4b25c96163470c3a1fd08da097954331485bc98f63da84a4bfdadb8fceb3e1c3706939ddf6023de09e02302b5a1e8116c7e476393b7e2f3cd9a123857e70fb5fca636b8e92e6d63f17dc70aa1be573e2267cf39372cbf5b23c40cf0302047c435bb50066306402300e0aa62fcfa9c861790e44be38aef9dd4f74c5bad74c80e3f2521910eeaaae9d9bab218c301b203d8a69e1bb8804a99102306024537a5ef25683eaabb242398318a745a588f80146b8f38683514ecfd4f13361fcbbc01dd375ba7a4a9f830e3ec61f0302047c435bb500673065023042d84662c99cc11443f4196208acc5757231b6a1ea0bc6e836a9bf38734e7e6a0e8a14c50c815e29460718c58a47fef0023100eac29b25ac8deeb3e66ecc38cb6fedbdd05f4cc643c5971c0056a7f85119b65389cb87294d7d1678eb5863d9b59738260302047c435bb500683066023100b4c2b7819e4d660a5129c0e38de4fc8e5bf48409db2fc6ba43f86de18e9ba264c8d9e3d62d63bfb86dec026449c641ea023100f6f3eaaa29c8d33c3c3d3d9271b6855afe3289c7a03da92c9fc13a955db93b3b5f21a24330e94971d63d12731c351a2e0302047c435bb500683066023100c81351e22f796f78fd3308d5dcca27815e00346d7eebede454d6bfa5dc534139ff25f1932658a457986fe6af9d9c52ce0231009db94307f09d5cbfbc6ce40c591e78cc315bc900bb02dfd6850d4895546b5b8fa07097a75f5e4380a13ca367ac7ed7d60302047c435bb5006630640230550ba04a2b07c20a00bbc771f4b48ab41a23237826d91534e87313fe7f7253a6c8e47adc9c500bfb53b7dfa1d3d2b474023014c4ba8231b49708345ed3015f094cce0f94e1243a4d97370c26d548ddb7164e3a442ed02fed1e76a9c294f57fb3a2ed0302047c435bb500673065023100cc056fd6f27c92eb3de994e156c3e98b8d60d825b79915514c8711aa5fba13b79201fa65829eee355efd9e7bb102c2930230250a6818e19b3e8bdb64b27eff10e36a5504b765a52ce85d26be74b4d59294824e211230899700a5be3142f433f30c240302047c435bb500663064023063bb3b14fd998be64dec854e6ee8774d1dc45d557cae31a163fccf9e66e2e33e2935f5f14e4be14989625882e8b34c3c02307686dba25a048e793c4fcf77546ed216aad3741700a259a9866db2e267ef27d680f03277ef856dabcf3bf656843774820302047c435bb5006630640230654957f970e96577af6f5d4b786f766612765cf7473d8081fb160d9bb28b39140e6c586f375625b3909c0523653d174c02300f5a82463acdfcde215b21d2787be52f6fefa45d61409eb48d556d023c463b06dd4cc1d7436dada1d3ecaa29d81409700302047c435bb500683066023100fc11ee973df129186c7e851230ce0da410c16769e6c61a59719c05fdd2765f9bc4bb5067edd495f44ebaf1aa16fb4c310231009160570fdaf82dd73562b40e6d8994a26f20ce3385ac3e0e278fa534ed279dbd854057ace504085b11a8220e405ffb570302047c435bb500673065023058fcf3a5d57cf954619f1dcadf93f370029cc02ab2d0b6969962583b7a74e11f94596932d724381d8e711d94645474ad023100bf4cf22a58b3920f3da6018f5a7a890c9971d485f60e23e8ec18f258abe3d2196229de7eb041780c825b6f666116ade70302047c435bb50067306502306563bae8278f08b3d16d0ebfb7f94d10f86ffa303ef096368ca606681016cb12ff923f6e76180c17bf278f732e3690df023100dfd489b812bc4384960b43a21892ecfef227741a8c9a241ce1721f36deec239b85d94f0bfb3b7a8b9191babbcdd6feed0302047c435bb500673065023063bc93f30a7800816d24642050a06f962c1e6a87d987c76d456e0a33bc1cf1e4a4d80640ab3ea37d0049be4839ac41ce0231008507aaab645fc2e53cf11ff7c32cb508d4eacdce2b00f20c730553e20c03bfb776f47e29a873ef54d461518c9dd9e6ad0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500683066023100bbc5a39a349b210a601ff1f18eade73a9a23057dd744abbc4c13c8864b07eeb6aed510e8b7d6e0d4370cfd0be9fd92f8023100eeb324803ec9a7b4fb5e7ad815d104a032e65471a2adeff200ed87b01cb727e12ab207d010149143a8155b754b3421640302047c435bb50067306502305baa0b0a1570787f539711cc3eacc29872d8ba78e8f0d2d31e7b71d297007adb8ee063ab2c023c5bbbbd988a02b4ba8e023100c1edaa7b86610190568507eadc65885a709e74d4baca2aa2800fe2b22cf5476f930fe4381f8e5854fe3ea99107a678a80302047c435bb50067306502305e24ad1a8531b78cd81e9602186bed5b78b267f39bd253a125dd193ba54174f43404ab3e114f147f2ec11f2429dd69a8023100db5812fec6eadb0d92eb52994ac4383db9a540a9a90636bdd472ddc9e7ea43aecabb65675c6cbb446fbdd2b9113dfe380302047c435bb5006730650230348dab6e5fb9472e3a9c5ead12e43c7df1925746c24551a8621c659eaa9fadf79791a05f2d3bce75238e4dc0a66c1acb023100e42f49d89ccc6c849e8abd24e9d1195842edcc1bf2fa3b7164b97676bcb7366995bf57ad63753252a94be5890e6322800302047c435bb500683066023100927559593813ca9e9362b146db82b684e707aae09405397779297899bf148adfdcfde1f9759328ef22595b4f0704b52402310091a86517748cc8a55a85e4f5363d60c5f413457b460f9427f73fa615981d41a3cb4b93999bcde0fcc04d0cb5cb11273a0302047c435bb500683066023100fcc2ee0ef3c92991aa8a2c7c65c4a90b852e7b2dd2c2e128d0ab354f5e3ce2be60e410bd3341e4aeb02a7e555ba85452023100bd5af57e09c676492f5d3514cbafeefa3893bb7889b12c54f2bbce65eff1190bdc1701942f0513d2b6248b49a8c403e00302047c435bb500663064023048cef9a0576e19e2e8b9ccd29c6cb82832196322907cbb8ce12702312cd0ee8b5ad86596b95df4bc42101b16a44065700230062487938e2240e4e1fd116ab9bbc8bb5cad2fe3ee7491404b1dd1bf42709342c503c40b322b916af7f816a103512be90302047c435bb500673065023100af3c80cf123b0d45cd82f7e152e31a588eccaf6a103247fc2b4350f6f01b865e68024b85aafb8fd36074904545253f99023026896b1ecc4007347a9df978e20c0611f083006e4e468c7d8b3a3dffc526a53c20f9670a51de4faadfe6d001e60e7f260302047c435bb50067306502306c4bac57e17d9c246184118f6fdb3e8214a2dc4d89318bbcc479a7c1d8254181e02e01733ccf835ea53939c8fb5824ec0231009104cef4ade6b401aaf2f3906c27f6594a26d5f715d3cad5fac6f76fc930a1c86eea8cfe0481bf4bb367409bc71a893f0302047c435bb50067306502304be38abbffcf1c5bb64b2ad088c57bb27407a09dc78f1fbdc99b327b29837aad64aca3cfdd5ba31d6eb84d573a6d2f26023100810b215efdf636c4126ab77a26b58a209e7a116c5e11229e893649727f60ec7330cd0d011845e5cfcff3e527370592120302047c435bb5006830660231009e8e7e3f2963337ca300d3413b23c9b60261085104de044d5c0892ee101ce48cf22351d8fb14cf7566deb160c09a1c0c023100eb67acfab081b2e5043ea5f5be8927e2757480607685214a20c98bd0977bce938ab14857ce0d8f81ca36999fd79e34fb0302047c435bb500683066023100be18bf0ede8aca44b75975d5853b79871a90320e8dbcff4618dc1d1d547328c3ffb1b9514a98023b4929c977e43b7f9c023100f7fa6ae5bfe006f6855855f21bf5b3558660f576dc93e37442c35a51cd79055f6e5ecdf06ce18c65120d56da91e1b47e0302047c435bb50067306502307f17eb003f1bca55beac92f9b609e6626f9d4784db68856335df3b3c85f1d8619d134371bfe62062ebd2e03fd41383e1023100c5ea55a118b5753703b589dd18187e57aec721dc4527707be4372b4c71c961a2e60ad52ae97132b448341ff0e757f5430302047c435bb5006630640230515cd68de9a3451a27f00613b8fc37d3fe4faafda3e4fa70524a23390c1430ce099d8bad9f9354933c00df34b4931a92023010d4ca6aa49d109d44d9e5ec819044223c77d91c19a3e7391747dac3b1f12f9cc241a041a2d0b1e830c9602c86668b580302047c435bb500683066023100819f2bf98ea3aa1db830d52d225c842000cdfc9728e224cc6193f0df9c4cab95303ff16e36caab9299af488bd8c19e84023100b7074018e491f91438d0e08bb6feb8df8bbca26bade45bcfaaaa7642d1227540b6fc8b6e57292cf81b5ddab07fcf5bee0302047c435bb5006730650231009181b6112c10eba292de83c968b3e54f5b7ac02f9e0134d449731e56b003843805d46b581082c295cf13e11c92c895e60230348c5a379cd7835672008f6c881ec62f6bc2ccab9be179147f3d3fef469733f8c280e558fe1a94c97456cf859698333e0302047c435bb500683066023100af71d3d3c102548212587ae7905a5b375d1adb1f9062768b66f89c92b1a26f25bc77893adb22570545b545617877955f023100f51100ad667159334999f208ae887cde42f0f2914fcf49a3ababd97a9def98b21b14c77267bf436fba4233159b7121110302047c435bb50066306402306a7369c6cbc043ed798bee962d81063dbe8bddd58bffc50156837267d7246cce7d6e727ced010a99db6e9a2733b8261c023019b630808b3d76a3d72a35b68e09a324ef1dd32a9d49e511a32294d27a4b35e937df0d5108a46fb89926c20cab527ddd0302047c435bb500673065023100e10810ea5e7f09206ecc935c5ee8b7332a1cf81ba35b9127ff1e3aba5359e082197ef89db48b51f0b639573c43e89d43023070dcbc5538aba578fc70cdd453a5a7a9cfeadebb8bf92f1613d46729485a5877da7a59c091609a27808f5e7a1f8f687c0302047c435bb50067306502302ea486552e1994d88addc5da2f61d7b3af6f4f065340a363626ba3d18956d46b83394ce0b94d4b6a9f8718a9d4f2c0a5023100eeb8b6f132646936a275e9be4814c0e98ef6e53466c173c356a16ef65dc33f1b7a0c814b769fc5ad26d0f627a3026ba10302047c435bb500663064023037b470f71b1dc0aa142093701faa5b5288c4073573f142868411c0d273d0e784210d19ac7b4eaab642d0059d476bdfc4023017dbe6501eb4d5004475fec318da7718146a1193b89deaa5813a19f02d76ffc34d23f1cc209d66df7112907995a23b1e0302047c435bb500683066023100ccd378800bcd2d79540da2f4f0574e41ebd24fe4db39d9d9f55f309488a1361928eca3b655882324eaf41424768aee90023100fb65924c337b47b76d557e14c34ecb853494e332f878295ea971624b7c83e406a4057c7fd845ad0364552144349ceea80302047c435bb500673065023062955fc3815420a44b66bd9e888f6919ca5187f2d306cd0a786ac8a52a37c2b02f22c256abd76fdf1005e3112950392c023100cff0f8345419365e6ee328deed23adcef94e33716b57cff706ac649e9712fb0ae576982ff3708e4ca98c58653d5e0f700302047c435bb500673065023100a2c810718f9f774d47e1a71b502dc94783191ea34f68c8b4f16a3485a6f6f3c62df5295af64c6ab577c90847132884c2023030605eefbc07f13ce20e6110309e3dba6d10d10c7f4215639c135d9ca297151799989b5b9da42208380e1971de5202bf0302047c435bb500683066023100f860f28b71888e151824ffd101a1f00732096c9d25e7eeebe15ede532227abbc1c8ebd9e287fa7f089855fe16bd5dec2023100ee6d3d1634f16bd4c08b73646844fec3ba13ea8bbe5d5c4ff72b5ae2c976826ba2c5d82b0eaa6812e2e49d246bd591020302047c435bb500673065023024032c381a473cf06ac1b18bdd925914ef97fa427a255ee9cfbe778842242d9f535f3429c5463030e506e8e47f9d87a7023100e771f0feaef1b1a1c9a3670f0326496b92897281363c31eb52c53cd12cc56cdf921ec9b5159ffbbd47effb3224fc86c30302047c435bb500683066023100c5973b9207bb36064d5513065b3997a9062eacc65e54d0cbe0ba92adfd092a3c33875287ce3197e878ddf0d779c5a242023100f0d602157296ad3d86f2f1c73fbc8c21894fbb5d9cb9e0a0793b82d1eece82762a19e1fa43830eae1b75de393f55b4ca0302047c435bb5006730650230633dd72d00097e141f886241d36a1e8dd72a3910bd9a093d220e0d8a2d8bf65d28d4440b59301953308375d4d0c7a660023100c03316e927aac563202516cb3825e754bba9fdfc6a5b58f45bc0c4b8a21c60663a5a9149b9e82cd52aa41cc36eab07880302047c435bb5006830660231009c3b215cdec94ae7d6cb4065d43e9bb5b77d92d0914897e783a98819ab506286a7a88cff82cab600cb75b5856c49a2d5023100ecfd26ba22278d2cb9c2bd9fb7a4c1ea7dcfba693bb7bd4c441eb80b2685dbe64bfbb2d06c1e42ace89eac0bfbd205a80302047c435bb500673065023100e51e8304f6440141a0d6bf8287375ebff08dda5ff04cd7ef7f7bf5d712852291cca9f6816967eea48a7366a4dd17472202306bcda2cc0ff3a3d1cedc4dd8f6af20020d52bdf2d2427bc3d4abbfe1ad107f2da29d625deda11879b7d8191e252edc560302047c435bb500673065023032dc4b0ba3d7583ff7cf45634950ea8b336853f1b2a94d89458a168ebe4ca188d96dfddb5668cf4ae746a459ed1ac171023100d46e50e1b89fec58d563653e358ba3eace6fcb738247fb80efbe7233d98bb0c54c8d0f12db9364678fa9259539729c260302047c435bb50067306502307dc2c5a487f0d74cdc04ae3962e24a371b86a4199e4998e49f89dc08e320ea49958fac4b099528166541c8a6b4efb17802310098a482862a7cf1fcaf7f14536953fcc47f5402ca945f94e58ab3c0a0f62cc0d5cedc1e56e3a3832eb0fe895b9d24e55d0302047c435bb500673065023100824f1c7f8c4b1a0878814afc1ef2df468f5374669ee0dbd7ddea5a900f8bfd5617d0dca091df0cd2796906378419ad9202305251a5baab6c121abfa31d6ddb07acd70dc71e04d9d219139d5bab247ec0993ba84f6a39cf5feedd83c7336c34e61b810302047c435bb500673065023100d2db62cd87b914c1a04771a3ecafdaf54b8a2755e7bd37919859e1e877255f5b090de20cb531c0005415ebfdb490e51c02300a70360cf7d8dde076339dfc5fa617f7de13ef49d92c4f4b74c03c61ccc9d7e4dee69cf16d375e3c7e08aec1eb9757dc0302047c435bb500673065023100aa76a65dc8dd5f3d3867589f0920f889732ed708019c9db65d74d12fdfc0cc926742f74b3bef22e06f899d4320affac502302563e1b68e0c72d3db88f51652fe8189c710c464b436134ec2b7ca2a305b630f28eb96b51012211e99f001f7110ab5a50302047c435bb50066306402305188ad17cf8c85bdd3e472157859c9ce39f2ab7bace98f71b72688f462f86c98f76ec31fbef2256897368fe30dc1f9c6023030d9a0f09f949f79e44729848f791f83388a020ad57671b2143f101d60a8fe06b86c6db6d4210b377a2a4d8c745acf390302047c435bb500683066023100c5f2508f1bcc6c11c5ea93694c737ef0429ff0f26cd378cc0ac09d7feca36443cf1b3dd312458d7f6f6391502d895d57023100a7114a7de519103b5c372110f51c28b78613f78b25ee68201ce83a209fec83428ec20ee6e30904db307cf5740335ee120302047c435bb50067306502301e79d56c1f5e3a7bc41a0420e63b9de624115d6900e464189f04b2ce0fc74bf9b88c8bcf559d5e5702c9b16bf74adfd60231009eb06895ce7bca8e05930237b62c11a8fab4d7303251a23df1e22e10b512e189e352b3445b8a6d879eb3f468134e689a0302047c435bb500683066023100a0930f2dd268d2d38d4d658049b37326f107372b7f75368ffed982fdc6a23419c5c478083829cb933045c82b625df5ec023100e5f472e497c6628e388473f70bb03fea371106de46d0d52bd409f99df43e673b25161dcfa74c4832b2955e5413c1aa500302047c435bb500673065023100fc4e9fa7625ecf810af5b56b18ebb01c9e1be7b9c506d7ebca6d69592a36e14ba5db538e30c653630212519dc14d0f1102303f8224d73c0e2567d7243a87d6b8cc047093f6a75a8d5c47af81a6d5c86b8998767446a70e5e74095189be828be590510302047c435bb500683066023100cba06c182212eaaf0a8980e00f7341230a157f1d703f5bf36fb0fdd0fcc51cdd5fb863503b7ddc6f12ef5814f73673d4023100cc1189dae74c3b345b22dc6567a0c564d32fa7853d04f9a9e9b4dcb6f6328a4176def6dfd4f3ff97ad9bbd8f6ce660c90302047c435bb5006730650230506bd557c80f2506a2d2a51c85fad9886499684be425143d82f0bcd551ad0920cdf9fb2f2f973b1fe715db4aae3c267f02310083954b602d868008d575f180d5c555a8a4bcfd8137d539daa70a13f9b39ea5417891de41e0aa88e88177330ddb58a70d0302047c435bb500683066023100c253615a9066d529a2f1bbc6bb4fe89245d97430a1de0361b2876d331ff7bbaa5a67e31c31eafbae9bbe23d22847b5bd02310094454d02e9cbcd24262fd1e85221de8e5355a439a22d9398446805a7c7fb4cef4707956017d7eafc11f0d5da04b79e2c0302047c435bb5006730650230714a41036bfed130ac31e61b71945ee8b08b020a535b9d588a6eb08ea4d5bcf9b7723f8b7a40854c739f59ca56c5111e0231008138e621c70710a52d16d0f269e784c19339ec5ff56981115a1560f1d479b1549ed3bbe35129adc7c478b9c33d4faadd0302047c435bb500663064023078187d6d47e324cf527f9be3985cfe8e2c86268ca5e8ed1e897dd3d8e06f8cede5be49d66de376ecab5f23089953ecff023016f4e43a19325502a356cc2586c822ee1a9fff46d5c3ab2d38acca616e2f1c85367112010827286d249cd0cc124d66bc0302047c435bb500673065023100ca2163435d9da364e91ce93d7bd8335f82ff4a14662b1517fa716b54ffadd3fbe6df5382539f6bb42d046c5ec433562c02300a79414614be769a8764861ae84d2418ff91397ec5b3f5bc20dba548f7a900ec9dc2fb2db237c2b8b180e72271e523a40302047c435bb500673065023100848471eee677405aafad587fdb1e2317500443bbf3d3bc91e5d060d22b2cdba5e8d6989c30bde6686dc692818ef89bae023020addac2b5380e94f5a92f78d8741142fda5e07abaa02247191e4c3b80d9ecc62a220ea26a7323be392761a47508cc720302047c435bb5006630640230095acb9eb060c614a30762a84cb9fac6af436d63cbc75bbc13967aab5735fc16d6464ea2531b40e76f6265e4d02bf8b2023012c1474f33d11e6bb9e9745399319383be52c9f03e0816706f8873d91532fb41bf7fc2ffa0f1f2ff35d8455e6fae2a1e0302047c435bb50067306502305f69dfe93d2c9fdcf51a072a8faa799150aa088f51b3806d0dfe98de1314635287acb4f6794ffd5265ba2e4211cd169c023100f792ea3c5550d92f4f9f15f24805ae7d387fdc460648240c6daf3e347989c8f79b944ae0a042a8e1bfbdc73cfce046540302047c435bb5006730650231009736546b763815c31f169fb24fb06a84663d97730c4c971089cb423eede9798955c75de7b51cd91abf57286bbbf2581702307a36345b0eb0cdc70c2c199753a09d0f848d29765ef2929482b7bad704f9e71f037d1e7c09316a7ee00f2d2bb70d93f50302047c435bb500663064023036946129e850a1fc42b871d6877adbf0bb38e604a23a66b88a91a3fa3fa7b154125d262a1ffb024fe385e227dff6c1ee0230692d490449f801750e6fab56a3c2b7614d088e50cbca2d1b05961bb259afee678c1c98daa0dedc2336c568f59364005b0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231009bc4bd9917eb0bbd9eb1881a4c7246ae5720ec3954a6014e05cde915a3240a8a3768286620382ee83688966668d26da3023100920563505781bc1ef740937015e22b95f978a9ad2756caa3a353cb9dc11d6fe2ba31c1e319d3c74f79d575ef445adcf60302047c435bb50067306502305c02d3bdf40a96a451fe8743d84bb51e8f137a82ef6e000e1e6e865f0bd2913e0657ec7919fcf43cef5d5cb04a4d6b68023100f3e7bf339bbbdefe0278d4714f647060253dd3d7eb4b23f697e8187138a1e4cc9304839c3f5c9c0e6a0a5981f300cea30302047c435bb5006730650230634a9f5bfc27b19677da9bf12707c2fb0da16eef379df5a052fa90cbf69856f1fb1569c0e3bcdaca04bd716cf30b7a5a023100a68dface2fdb3d050226acfbb1037ac8f2c050eeba6f776ba74db1ca458a554c1eb0b8ea8604e60613d89835a1a575b60302047c435bb500683066023100aa7bd0aeac3a61879e0bbc6b11cd60e3ea5c1c47e2880b12ed775c21f35e6f4a5df0d79115559d807e28357a7a259f27023100871540b9fa35be6b0a9b5588ccad03fcb39167431b50ddeb7f0d762b5b5b242be58553fad4b5d1b63abf6a297625c3440302047c435bb500663064023035d25f9e83bf502d9ab83e2d993e5f087d7454802895c469773980597f5d707ff03eddb4d0dc7d1f31e65caf79cf76cb02307d2a37917b08c996184e1bd9ccd33f9d91703490b7ce86eb15f453860cd5342f8b68ebcefad6f6949cf79c6c5a8dbbff0302047c435bb500673065023035575ebc42aeb9d488d44d506ad9ecfe35d852aceeb0fb87a971a067bdadd5cd1a98d61e3c7082aa941b07e1efd8459e0231008c7f38aa35276b3ff0e0fea5b790142daafe92a04ffff5b3a7fc7b0712bda57a40e36070b295e9ed53039c811e5c76a90302047c435bb50066306402306b7861cac6007806d7d97c170f69114555e4619168a56f402001d5a86b19ee158ba009a88a3d2ddc4431a2e9b649c08102305e10858acabaeeef26d1fc28a71a57b1923ccb58b51b5dd4dec21f9e1eededfe431e0a4a5aa3e7cf7161755e8ccd879b0302047c435bb5006630640230581c92154909536e1befe41fbd927e72ba99a6a3ece4944cae1e17631716cfd0a8e416c6e5897187634325804d592020023052d817954cd7385e33649ed0fffa1d426f74d15d1b807fa5e14b30518dee7e11a15db2b7743a4e6419ba983dbc562b6a0302047c435bb5006830660231008f2dcb303c6a57210648a6952ada56942f822677f08db9a24e250073287c0d59eb15630a470b321022860d292ad2f4200231008dbf0dd6998613df31799fe1b562874f13684616d2a1d7e6fba2ff9b7279d7edbeea4ca8b6eb63af6f1753615060d0610302047c435bb500683066023100e329ceda156ab6e04ac1f659cb9f0514a77579582a3a671a623d906768c1ae4d3572f30f6ff4dbec761ce877e7488a210231008b54d5f6d67bec0c04f4ca95c329a583b9e63b8260186fa314de6c2125158de4bf6ca20dfe70550d5f6a57467994a61f0302047c435bb50067306502307cb5f706fe3b26a43d3640d358678d637c7224c47f470536a0598631dc582d633c40870fea7b45a765809138f36ea44c0231008804b46aad89aa23032d74369ed582079d3dc0c0e1b2aabf78b766dcb4e38e2ee53ca444bee912aad7293bff2826cf630302047c435bb50067306502310097206f48d9613eb49f1c394c53103620dde21b86b007c5a0789eb3f4dea3a3102cb2b261cd0d89b027502c1465021fa60230697e7596e10b5f3f53a90ce5488b29998766a59e02cc9b619842b54f52c9973217fef8d33625b2d9ba2f975cc7b9232a0302047c435bb500673065023035948d6df99c341287248cfe4cba7c0fd51d2aad3a5347ea679ef89a555bbd64158a9eba8bda4f171d058a9cbc30e4f1023100ec7e667679e56eb5da43b0131a3e59dd2e2f5df4b9d5e20e1216447a55ceda147ca1d27034711cb4b0481d59c8f305fc0302047c435bb5006730650230596728d5ea87708d7fa66cac3eb9694569cce8573cfc337cb3650f411e8ab503242ab3cae6feecfc5007b9b9c66f51ee023100a5d634eb86b1ecae509f2e7eb4c7591be01ecf3f446647f24a3bc6148a3ce4f5f7b39529244289d66b33d3c6caeef9e10302047c435bb5006730650231008bc27436b61f36c638f2e42ede894535af2732c4a20c1fb6d57afa1e12f1b5de7402d311e9cee527c84cc13a3f5c2b74023021b29d892f5b2f7d15fe3f62d222d5e7e27a4412fb0ffc8a9dda3eb3eb3ef310774f860f95785145f09582a798d1a88d0302047c435bb500673065023100b09de45ba4532b543e6ddbc284a506677bf1488e596fb300503746424aeb12a7d2db4c8493e6ee31fb333f33a49ed0a6023025070490fe7aed593446e680a4a9a4cc337872ca55efef94b0f8b5e2931f568bc997c83f8e62dce0510c76753fa728f10302047c435bb500673065023100f934eb010547bd5b8386949f46b490e23c2d525d47d39654f580b20a6f86863c8d4f58593798f77c7ac649d13b48f8870230190d131ebdc6f79a201156c206db72c4d0d08f428bdf80f7dac81345b4eed48751a667b9756e24c94f72bdf5f5d916ef0302047c435bb500663064023019654b01f731e7c0ecc773a120d9e4cfb1215665c4e15f2498f2756e74fe90c9fd65515228b22ac4f5bab197857a9f8202301d70e6e68b1ba1737ef7d8e15fce063be2d64a67771c132b800e8d3af42cf2faab47151161edb9634bf541d7f387bf660302047c435bb500683066023100b7dee48fb335eecdb0b67ee0bfb0b9696e50a64cd9bc297dd277ad4184ebc4d80fc8030ce177dc0b0aaabbffe27a06890231009cbc372fa6ea8e6c766b98ff855ef9b1f089fb67835870acd9c05bc96ea4ab851cd4524033731f31b6cddc9424a2b5590302047c435bb50066306402306369a548390c6bb8e31a2a2e41115a7586867a7456d4a067ed9ba62c371f3e88155ac1b7da2d63471e1d26f34dfd62b30230753a4c019210245f7d4f20db10ff8c0761163f1d2515b3b337659e5a2bee13ac5ac79baa935779a3d8cc4ac82a8102cb0302047c435bb500683066023100817ab13e905c60866e204b95a356a39689dc01d79a933a571d55cb534247125dfc7858e27b46cc7d2d8954e781e60a55023100c98bdecedfe01a7c25490af686e5bd9e3f9eed2366f4c4110cf76c7933f4f10d0c2826ca8d7d7b1c73a3e58e582f4f5c0302047c435bb500683066023100e817d65d72d59cf2fd4860d2d3d95968547baa96147a6d463e2151e5e66c5bb8b5b020b6d160becfb524f911428fc40c0231009b5a673fdfdd17c9cbe72285cbfa2f34a4499631652bcad1cfd81e5db79035fe78d2d3c0f8bce867451036106d276e110302047c435bb50066306402307298a38076dae7686e66f87b3f30e51b2200eb0393951089b0f1c3c12d1d1b924d807e72e04b14847cecfec963a4dda10230749f59d69723acd980fa0c1d754188200c888eeabc6447e791314c5f5bcb48627bde63c5a6f74e5bd34e1fda3da15f4e0302047c435bb500673065023056334fcc04e6836069c8bf3e6783b304718fa994242cd42b9ec674c896a7d61e4930d2bf994a9e238a4496a0b00cf348023100d8790e71d4c6f7e7d90fe388f9fb86c32c6b462db142c4df4ba53d96b6d6529a168880e4feb5dc447eada67f7ba9f34c0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006730650231008bf5d105f11ad7a353712a8e7236feb36c65e69177c593d167c6c1c0073489b34e3a61f060ecb36de1f714e3754a5a1c02306f75bbd7b645f73338eb84c1b4678cddc3aea03d36ab25436255072a6bef041a91c1699da962fe34b01b4695d0b9d33f0302047c435bb500683066023100ab83bbc584bdf974196cce5ac97c973be4958aa1f29604798eda7a1d50e9881ac3db326f41439c5aeedda52175c8a2e3023100da3a27b8ae9202a56dd6525196daf466c74bfb83afe4055f4f3c46863a85fa46474250836ff553c80eb495f071b9b2470302047c435bb500673065023100bef0f81ddffc6e598ec3f497f476e744d8f214af3efc35e69d3f0d853f48f03070b461b01b14e14d097e45c78a9155af023026a1516aeb981e4cfd2c6cf1b7e4c70142125a7b0c6b5d39ff45c88ce5352d5845a4d3889247cbd34a8aa41bb36297560302047c435bb500673065023100aa8bc3bbe2edb1790f34c666aca4162ed0fd06e2c03f77498370089580d0aaa467afad770097fceecefc2500ae8f36230230532d1b8d36d7b43224080a4a9f6ce1fd11c5aa99a593fbada4f5adfd5b65e9830ec67bdc90a30087982898f5ff87e5160302047c435bb500673065023100cc97a6f2fa68d7b3ce36d9e91a0d5680edc9c174d288421fa232dbc4f15514b13aa28e766a87167e330c50dcb61f9f700230081a8205073bf084e3083e77b0dce57cafa8db46e321f4e960ace9d34a29b58202b148ce6f752bf53cef2cf56b8b00e90302047c435bb500673065023100dfa58fc12e89b5dcf16965167de19a5fdf40da3966a3f2df5a2656f346a386ba1d2ce9135c9a8b2f8f993e183f3967b3023039e246b55291c975f889bbb23356f4aa1c677756bbf7a74e3e3f7851fdd0fb4af4307acb65f0f629f971cb57b37702600302047c435bb500673065023010d67379f94feba7cdc60f5a9681bbfbe1af75744ce9f1a8477717c83677114c1b98a309c8dd22453ceaea2606ad6e77023100f2032e4ffe830c9a8268992cd8217c7e50277d4a5a22cabb942f7392970cbd4041d8c43f0df7805cd9680c43c07847890302047c435bb500683066023100d7547794e3d7f0687550eea443ec1bc44ae8d37703d89c782a93d57089c2d0c51c287adf4beb2e27e6887b5792cd7cc4023100a2e05a798d449f462041b0ddfd56f04f501fe2e30fd60a83d70825cc66a559d15a1919b84ee83e37a5be23dcdd0e74280302047c435bb500673065023044eaea453f8429d0ec33c173726274dbff6376c53db464995e43870913782ac8671d0e36c6722e75be00c2f7248ae74f023100c27937888762ca74c20eefff8f838f7e00596e9ffbd41e0e699975a4c13f1fa6e50577a431ea9f8b5fc233a53781db060302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50067306502310099aa8b0f7358a5cf671b9d5df8aa9a6bf3de95dd49633fa03deb8c78c6a60a1ac2f76ad95063e9e2c173dfd2294aec650230296753786f10c9a6029ab14666166af7dbc4cffe4e6589226ac6f86141948161a6bea9880f08a3a08556cb9f114dc23c0302047c435bb500683066023100c9c0a2968acdeae7c53165ccd1fb8dad330218299e6bb52ccf52a4025cd5a8a4ec5ce8f1343b38d97d92e48dbcb020e8023100a2682dcf7b46645cb30dc02bf92cb737980f4dc0eed75d4055df67ecb70c6a6c8771de59d9713765d7af57a7458f67570302047c435bb500673065023100d0cf6f8d5ebe20e62ce0021b591d7e2ebbe18a0795324ceecbb8138831d021896933dac0794d59d7cf6a4f90b4bd64fc02300cede0e811b37a63a96e516bbc7497e15c24e06fa5c69a4193a4992c6a0d7fc642377ce369a60194dd1a44d9e00a26d20302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50066306402305b8c25922668171989c229cedd5a5a6c3ec8d622cbfeb0b46e91afec9e623733052ea92bf4b408012b43d35f526fdb46023009eadf541bc7a3c5c2e8f3c4c4341adec3caaa3b95fce560755f172f65a4f63342435f0754972bea312c9ea12c9fa3560302047c435bb50066306402307f83dfc22ab873ce6e0af6912a5ddc27dcceae26d44c8981a4a6909997d32ae9cdc59689ad8db2db00023c1404679dd102307287e7012dd43a65f8ec0c98dcd39a75a2f833bf8f06a64a3c8086aae26987b0a08c656c823aed60ca9e3483675b878a0302047c435bb5006630640230336632f6bee7d45f0754fd6ee1bde3eeed1176fca268e1a4076f0b53f311ba42252f5a50219d256bde77abf47978a49602307b39e2a9b9ac0fab73b5eefaa0ebe58a2e0ab67cdf7ebc550fab04a12f24d63a961266c9ab159bf6fc836227c49a8ef10302047c435bb50067306502301dbf69564e5be04e185f7a2eceb4239dfa38b2f77e25ab46820fd920101f44d8bf46fee0cc95626b19280f14071dcad7023100a2b6f87081bbfe79b5d76e1c0f171e6799de80d588fa41cdd995cdedf8064e94da12f23a9bd552296bd6e34bec3cd4420302047c435bb50067306502302e89e9f5b82c8b2710b74bc9bc08df2af332e8e675caa366da05d6a9d9bee8ca79b43d550b8ee89582dacd30e89a867c023100ac06581d261d8adbc9dae04bb1075b0299c901b9a56d358f8fb236abc4d5fee2dc2cb0598e257a7277ba30969be083a70302047c435bb500663064023023c1d75ee4b71f7b5caa89c1b841b028e0d918b2865610da01ec2ede41534521f00f7b32d1db10e646cc4a627057e27602304c266d13d16a1349b4f56eb1d9eefcec27e7808469dae747a020924c4b8dd67d9264b9b92cd3fbbe481012fe2c8cbc870302047c435bb500673065023100c639b73e06eabf5b7fe870167a4fdaeb0ba2b1cc62381dfece329f45daac712b6ffa1421ca9f8c59718114581b0350ff023046836d91561f48c15717b27bf12b741a6d3178ff11ba6fa1e24f479b9297521bc75fbc8a8cefb01621ebd1cadda21ed50302047c435bb5006730650230535c0b405b9cf9275306f8c249c61a6b5512d437ed9cd9ebfc95e94cc924132231386193fd0930233152186d23ecb246023100a587ad53596cb65128ee6a4cf27948bea0b7a0a784355c82066c0ec1e9f5274fe1d149656e2f3a76458c37784478b59f0302047c435bb500673065023100ac1630c593965fe38c40ab521fdd4ec98e670e84ea919ec5508996cc3c54fe87b21769efd1320f951cf3f3f825595ec30230137bf58ffe60fcd7512583ab699a39891c6b0b5d27be82f0e839160597c2c91f292342803b25583824b43d53ea5a84560302047c435bb500673065023100bad9b139ca2e47290f6f6aaa2ac6779f94625f65839673903c816295196390feab28d4480c8d15927fb666f097f74bfd023001ad0aead667391abcce7844725da6b1fb87a84be762454c536aa31f9db9eda030ec33e719b5155a57d4610c17e149240302047c435bb500673065023100a41ba90396e74d207b5e15877aab5e3b9f3ba03717ea33d92b96f7a467486c11d3d934a85a6a6fc17a53b0aa116da0d20230066fece7a76f138a6748c6a389a55a9ecb1e7394f004f99aa0b5027a9170cfd12d26f36bd519d1b7952d3914b90355ce0302047c435bb500673065023100b3b8507beb2c2f5bf40092958738c5daf1a11fb6549d5290e77e3d2716292c2bc667bfb3b29b0caa9275d039888ca9ff02300ed8c9b334c8932184e6c9180bd66cf31c8110f020be80a0747aae815da477ccf5bdb9bb95203f32752a56688aa6ef860302047c435bb50067306502303791543a8e17088797da04667f7fb76207bdf2de4c130fb2ba88554c0ae9dbf55dbae087244624b9fc9f5a00d9c6bf2d023100921db76b57d429a067a14acf4c75fdaf8f0b3ab6c8376247b066346519b9cf5fa6176e26a0875ecb078836575a3f34d20302047c435bb5006730650230101f24b700a3a14b5f7395bb720dc6a7dc7cd98c99e8fc4f9c1ee16ac7990bbfdb94cef01f57b914b92bfedab8053de8023100fecbbe7110d4f96c753f62e060756de00bc5b48c03497a6a3d4e29f77e0ca4f8f1a59520cb5fe8e3062284db1d0d4a9b0302047c435bb500673065023071a7149bb1b7ef8383bdb8a0c06a03c524b14dbeb5d6462ac7399bf3e399acf62e96345067bb72c75e3f6cc6a59cf782023100bed72a74d6512238f2f2fe58101712a8d462af3b226e71dcd474855abcf16594761043221cb797a577637b4246e7355e0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023100a390d24b893e7a8ee99c87bf37ba1553e70e98e484181be6fae5f4800606e569f2982362a8dd3539303a443d71b1bdcb023075666c24c22211af6d46892b175bdc596d094cde20ffd376a266cac53117a616b673f479241581352c6c79509fd350a00302047c435bb50066306402301b2d0278f29b9d294d0dd501b73a6dcdfd0a94a969998789365b08c71bf1b916d35b13fb2d351f3febce55c1fca92d4a0230621b87e65f5d086e2da0c51c25754b91c8d12b1cabd08dfab07a6be49e892ee834e18fe0a596ebc6c77022288825d3870302047c435bb500683066023100971d538b9e74f1673476478ba526972028daf61ea96efaeba2eee723aecef10d7f4a1906252bf6b9df4611538a75b329023100ee0a6a98037bbf3280b02108eac2f0b191b636e2d65758439956adf1c2b96a76a1874a64f487b5b8adcffb406a4cc48d0302047c435bb500683066023100cfd1e92084b22eca0fbaace3da3dfb6734aa119412defef21b30f4406b1c401a69aed5afcf7cb5e7cd6768a0cf028157023100aa7f41acde4a1e400a814ea166afaa66d197840ef2deb9b94ffb11042fc77826f21f30d426e5790a6e35770dd396b9e90302047c435bb50066306402302001235d05f8573490f12436d762f5b2ff371c57733ce479eee0dab478f3a0f93397d85514a92f1f4039dc715e683bf2023067c34075ec8584f050b9b035656910f794d4ec6930ef661fb3500b23d62f208f84e64cf3fcd4fabbebd3e5cd393490070302047c435bb500683066023100eb80b584defa242284db4220191675dfdf78baa4de6cc99c1fbb19a72998f7f053bd3b2cc95d72fc987db8b4013275510231008d3190ae581db0f569035999501de14bb996ebdafa958ee130e04300b2443ff02c1bc493974f9e69d03f3a34846d82880302047c435bb500673065023100ed56970c7b1652c69952e29dc21230ae7263f8d49560b2ec6d3673e83509f57881808b0a3bc990f6a0b4ef3980039d61023069d54fee76e754283ba227235a84037c5c97f477753fc62b6db4280e9559c6c0a7c995583bca2103468c215fb222cb580302047c435bb5006830660231009d54dabf5995ad1c88b128046a12dcc3f45a169f95a555b071bb30a19c9967ea01a0334fd85c6e44fddac4201ef0e8c7023100c371fb451610d64507a20dd9cfd90371187b5457449b0c6a97770c53f2c138040bcc164f6a08330494d0e002bacd6cf80302047c435bb500673065023100c616cc00c2b08732f81430bc12ef882e1ad1864de0549737a22f497858ab29218efd9ecd6fd37c9bb7ab1c85ecf557a102307e3d5b27d7f85cb14fbdfd9e8e3e7ba96a255d3c46060be8712f9475e09db7a09f20ecf319338cd9e8dd2f082d641ebf0302047c435bb50066306402304814abce6dee82ea2edab2fdac9f8d27d8f5a8121044e44e2b2788592bec17708f054ad95a1940731f3202e7614063b302302351f35919a13f8ef2f5379cfded540c70cb1bd8d61a4b33e5b37dc2f53dfdf73a90fa3a6e9f476db53a0527fc6b84740302047c435bb50067306502306fa2c524055db1b02a7a7fbb3c6f76068de94a58658ca095996e9f1ec21a4a2dd12ea342590d79889e9d09ca82a27d4e02310095a4aa9ec7e96fa9c18beb6d19655fd392de2192d97d55afe7bce82306ceeeccbd7c5241d8178fc5a716fe5fcca5f4280302047c435bb50067306502300e77b13845850bc2c403e48f99bec3d4aa5fed4c1ad4d6538a46e74d61ac2523c480347790803d655db602a80dbedd94023100ae902e03fb5090a606427679209fae7b0c2200b58a45cc65ad260c899fd68200191fef1980619e5dccf73749ac609da30302047c435bb500673065023100a99c500a9bd8fdb70cb2f6c3936a783fb16b923ad33692b8173a12798ceb2948a341c621f06a765ea9b3b8b30bbf342702301ccd16ace712787d7dbdc90822ca83d5560f7a6d82e0668278485d46d72285e2c8b7c7bbae93ed577178ef81b62b9e6e0302047c435bb500683066023100ac831d6a4a02e20f00033c8ee1b36f729d2fc505e278fa9d0bebae8722b350db3888857536d5e95d9547b111d39bd568023100be0c5ce215d6e56aad44c183707da5ea75077fcda60a9ca34ef1e9c063ae151e106a99acfd3c6ce4255e68a6d1380eb00302047c435bb500683066023100984c00609f7f905e649ca369be263f4a25f613ba55775d646f9bde5e673e9dcf06bb4ac2d2e00b6668bc75ace4879264023100fbb0412663deda47ae4f7831186d65bdd592bfd12ab83012e2a4dfe04b03a8f5e7e85a15bddcb4d668310e6885948be90302047c435bb5006730650230715dd33d689a94a876ede0b4f142084980a4ce9b7b6b5490ba182e0a0939be39911b80e6c4414583a0c5e07beaf0c029023100fea92d728ff35276032ffdbdb6f01fc9685c5466b1055b33c178ce5c3457bbc916411e2231b45721b6e4ab557cfd865b0302047c435bb500673065023059b6c854922b402eda471bebf40f1affbcbb3723e965c5768b00e02e502431cb42e0b15ad830e811acc0be9ee92a495c0231009904560204b7d553cce994ee627b16b4dc8d548c3bf4127de9f1063e1fc6a8cab94de0ea14004614b1761b14c05c357c0302047c435bb5006830660231008975592ab07e78643fcb0d814eeb04fb6caa763b832e1a7a6c2859c37c446240cca3e7a42dcc8f2edf28ceffcd278eba02310096d0d8411b4c2ca394a1b0ab9a0fad88a29cbaadca8a805dd2b13e36919e65fbefcc47368fa5602096431f7f60dd552d0302047c435bb500673065023100d324a2e027921bd78699fd994e8a4660a420b554d61dca5d5a21cc380e1585ffddacfd69fa9c314afaa69f8b1078c52f02305c8ae6b6f152e48ec5cc8f5b573ef269774be794e4d279bba641966ad9a41e84e82da2fca68858fc1b8b04e504fc0dcb0302047c435bb500683066023100db497cfc0f70f7112d8803cc82e85851be9b5150309ce85ca5f8697b755eb52b41835ca8bf81156f66e54e2b117aeac4023100e8660dd2ff283007b14bb9b126352d5fc19be953d39da0907154b4c4e814210a21ca2bce9d8f2895d683c67ef61cd3fa0302047c435bb50067306502305af5da986a051463351ecbe9198282e08b3681520bc27cff16fa2a64bfc887eae7378fcbec8549f2de58cefa1f45a55f023100ac79bf69f8dc5a93621a5e14c19531fa9b5fbba5c574f1d16a283f3162a12d477c46c74d0decf4a389955e9615f952a40302047c435bb500683066023100953f99291a133da85b17c4b0c6975b445843e5e04d3e46783427a4bd0a9dbe75296d8c8ee80e7a681101b4d43ab39d79023100ce83a3389db2fce847e999b8c53e57143b0eb6275b5c4d156e09fd5bfcb62190bcb1a5a3012ec628f01146e4876878e50302047c435bb500683066023100ffc838a03c8c685ead5d72704a95f6e23f0af7437cf58a56e9ec866442fdeb25d971a3a840763087338fccdab6c683f002310089aa12fb8a86560bed1236f3c6bc6d6c36ad4eef0669532e234b6c58aec5605e44f3ecc70ddf545431178a8dc27e68b40302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50067306502302db572ab7ede81f058dc1c33b0dffbc0ba55965843bca169835a9bba428c191e84373ea6fe880d699d24a4cbfc57f5fa023100cb30e8efd8bbafecaa697025316f3bfd54aac0f2bab4c9f562b511d83ad29dfbcd38ac836a7457a449af741648c770580302047c435bb500673065023100ad39101286469049b771c8d60e835956a68e07643357fc11638468a96a5fd9b3eac38f2590f7891e133860cf1b4907fa023065130c1e48670c7e4283d4cf9b67a04480bb4dc0bca24caca105001b9d89601e328eff240b0777a19a8f360cafe620830302047c435bb5006730650230541dac989daf285ed09ca23cdf3c0a7806103fb1d9a5b63df4cb68cb8c662b66c9357bf34300c396d9ad988e70e2b63902310082c1fb7ecb7feb94afbd0fa71a11180c5d3ebcb008e92fcd38879508601c922802e91678e85515706e9867202fbcf93e0302047c435bb500663064023029a895bbf74fb10c43bdb7d289e0f71b99195d71848e51c44b13543ae9534fc1cc2b980a6dd643398c40f45d614efd4a023002c89a7614b9e8daa16fc3549a2a7ba4d1b07c35dcd6f0c5e967a17a877e57b35d8a33b96807cd907b7484dc7952572b0302047c435bb500683066023100f4975d5ed1aeedc4682d708c486a30e934dd5d661dec87a9ae3b95f5112a1db034ec1d1f6bb3e6ddae3728fadbccde9c023100916101683ea9994eed57c05bfabe039fda7bbe470726a981d6cac6988a4994ede9e22784849b52e22f348c47cd35b4c60302047c435bb5006830660231008850af91e1e5f24d2aca7bd4345a3d65d230473f083696563e35f9cbd0bf64ea5e6a56945ba2a6877985fa999f3fe03b023100a87fbfe0c18c337dbf113ee09fb32f807157fe5d122b998ab813c8cc88431e550a85a19cc9345aceb74e14ee801be3d20302047c435bb5006730650230783668b15cfe0e6ca1029310b4848e6fcb68738234fb2de96f23da44fa881151af30f94a06bf397e4aac888a898a221802310081dcf6f55aa899c180cece0a8b0033079226f6b23086f45913f7aa64e7128b468e49267bf5f044a30dcd9820a34f316c0302047c435bb500663064023019b56746449f24121ba4dd7f77ad204b9e2562ca546cf7a570f75e810c5ca9cedd829db4defc16ee23b71813f762c9ea02303c39db1b2146b6d191785878ca82328ca9e3f21d0651f56e2e9ea39ff935717221a10bcdbe9714b2fe5307df375d92c70302047c435bb500683066023100d5e4e139f9175e1deab2f18611d811320cb8e89c045780e3f774ee5a30952e45e27900aa0a9ed8595f8bde35f8330f4e023100d843dc9e9d573c4cebc7949a0e68f908cafcb64adf0d89a651daeadd052f43161e47d0bda6547018d509593b264e98af0302047c435bb500663064023035b4503555143c0497bb4695c7757dcdc96e57405dbc959112c318acc935427c8135a04de5ed6098c29aafad7bf4a843023013600d917fe284e9e948af88fe7d18cfe6cb7befd3d23275f263494e88079ec5ee2dafb4236fdc7ba93d3de6204061370302047c435bb50067306502306dda890a22238b992c1e49c54fe0435b9960a1686397eae832066da15193e3894cce6dd8a6993ec235336b6f4d34b73b023100cfdab8a4b494a8aedd395436942794e40dbf14f0fcf267e80c9fb72e8d420077a0b6d39dbb6b15f07964b56d6b2e6b6d0302047c435bb50067306502310088e22c56900cd101163c2cf89b376de1cc6cf835fa2609a7c547dfdba88422a341a435b0968def33cfb2a4208d8b1c9d0230039bbf6a22bebb9fe381217ac5b5068a8a87c1dc6ee963c98ccd46bbed893d90d3d9d5e6b1cd8568d10ebeb162ed351f0302047c435bb500683066023100f5c201b30db9fd4eae189bc3be91de344e6d1eefb2fc3db0e239cd67c737ae5f64c13af1739259422d18f005395f942a023100ef83d82cc67266e1245e424f6bdb605d325c03b75a730250424844b7e752aeb83e6f79f47e7241892baaf3e607a8d3700302047c435bb50066306402303a673a4069d830fe0157d9ee2cc0513081ae41a126a1baa11f55e3cfbea41910735ef9eff6fa1962274c5a2460c2bcc102302dcebc5f10bc4a9b8ee0ef80e6c8fc11dd71b13d9214118a8cc942cad5f6a14fb97afbfe806c1e4eaf57d95c5b2e37b90302047c435bb50067306502305c6f9b12ed5ba797df7ab0cd6416da1d031e10cf3d7f8b1357cd5480f5a2e6315e5f248682eb1b83b2e03ae0445c723e0231009aac77408957df8ebb85ccd1d697de8fd1dcc8b0b76a0611342ddfb3c59231e7c07cdcafe8c468f9311c70a5aac555a30302047c435bb500673065023039bfa016e8e8f4f573482613de2a18450f7e7583eee5ec2c13fc3598b1197048ca3ac189f97e6ae48b85e998e4377925023100af4e30c50069313b5a0c524f6218bb01764f5f38b7640f2dc830be8d480ec6d993c135dae7570904bde123d0bd563f080302047c435bb500673065023032b0ef02bdc69ca8ada5fed0950613b4b3eb2eb26803df1e5267442dfc59324a5868b4007731f274f886289767ea4d86023100e986900301b7c3895e3a3289c466a0ae71b117e775ce2be6ae2c928e88d9db081d6363ffed9ad1faeab8bdf1acd6fb990302047c435bb500663064023029fe8c786d8d09381136dee0dd58128bbdafdafe20c7015cc4b3a34e57a173930c0fd1fe7d2b2ac2a0c1707d8dd2bf2702301604b6b0886a08f62c5c25914fb0d62ea17c79b68bd1342c0f0c044044d87ca103643c019eedf2422c4c1ae7d4a4b8590302047c435bb5006730650231009e5e72134f22a6624bd762939cfea2afcc7e597dd0737cfc962524fc2f0f65386a33d569bcd455d5b6d244966129750c02302640e9c43c7d9afcc6b3d9134d916dccac849257db4996fe3e89c8e95a16f10c6d0dc0686595c3a97f85125560fb75b50302047c435bb50067306502310097c9913d7142a2136bc340fbdf0403cf796d3630cbce5402b6a3e9d0a161153078bf8d88f42e0cd055a1810c821b66140230552a26a69fa9ca9cfa7465c6160463d6fd4a490857b54bae1fa25af21791facfe6c8b3e1370e83bc9fc35aa5b8d56fa70302047c435bb500663064023002433a2b9801ee38b56237bd6e53ea42c22c05aad786dd0b85f4e6015cf47209c3fff416e3a062ca014ff06ad7904d96023077d5b20704bbd8ca1f6b11d15e1551a9d2187ebd0295fe5b9565bd3877d56182e18e9495a717797baa5aaa92916a03490302047c435bb50067306502302c042b6053cf6554aa3fbf11228dbc7b604b46679c6dd065251f8b46fb30824321478c377a2a0dcdfe63fabe0ce23ef90231009e2857d283b72cfccae481280259d17536ea222fe367cb5dec9b69490d366992478d5186f4e209b05fa148594dbf81040302047c435bb50066306402304f2080387a6d5f5599363f7b107d67a8edf9c205dc1f4af92aac8e62ceffc91459b4a9c7445dccc69011a6e9fbf844d602302f42ea258bab927e2e108e9673bb208ea05f7f3879eca6a6f7c26858b1e66a9c06cc8c81abe1044cc52943f15118ffe00302047c435bb500683066023100f2acf14eabed7e0b750090598450997a4ec0c24d78285c981f1c1a434a8993668e8d20fc2be3637da25c039cfb2d3bc1023100d5a86bfab6b8c045c7876c26770c113d4ab215153c189645a141a3a23d68f2f42f1c599177003ac17285ebf741309f350302047c435bb500683066023100f40bc12afcbb43ffeb2b4a56ed837d10d4995778d9ab5ef0697570e7683e7101ace96fb0dbec0bac6cb3dc6a25c36913023100f12cd26f8a3cfa140a953bf66b46ee3eaaa96eb34fff9a5a5b2e71630221aff6fd3ea647ce3b3fb39cd267380a338d6d0302047c435bb500673065023100a174952aa174ac6fa2563d9ed11466522a5227a62341ef61f64012a6b8bc3fdf8b1f171c4b5d290e6b0023009a36654102305f11922569eb93dc90b278d38e2084df6152666c3112b1e9c276687daf2bf0e3f7bdc66cfa11a75bb2adc5fdd642b7f40302047c435bb500663064023057b329a70b98413e2f618dd50f453617d69b38c476ba27c9d42901e92c5497b826d7c3890c040d63447149c926dd914e0230579a3bfa228e3356b07b906f3039700d4dfa0d7985fe6f1ce55431b0f2e1261c85a471e9bff7c21dfe5448b3bd07e33b0302047c435bb50066306402302f9dc9d0c5ef42e65f390f86bb87719bf402923f856770a1fc9cdda7289f1521084ebec880236f4cc80b1a1f0cf967f702306ac3088b756cb63d498d896451d430e8e245d858bbe2cd3d5bb6a301947729ee6eb4591ae5f878a752b2def982e574eb0302047c435bb50067306502302fa71e40e23b211ad1c07b97cd560aaccf3406bd42db521ab66603cebe3ec7700e8230444ed636b30b4610e20dd58e3b023100d4b7abfcffc66b396b6e84dc01a4e81cf398386b8d7208d678610271d1641a2ddd5e89b87bce6976e8bdb799e2faac1c0302047c435bb50068306602310080fcc839f972bb7013e339bda39c9df707fdfa9c88db9d3bbfa494ae91d4a6befa14d5cd54ef082d745ffe8c61a1867802310082e3c14facf046d9abedb225e4ea1468864662f6e8397de1c5ffc51537d9296552ba4f9c0c74f59e1feade29ffde66060302047c435bb500683066023100c8e4be8cd78af6a512cedb6c358252db80920b67a2e83bf2c318e485eb6412e8762acfae87b4b64dbffa8880328abe960231008579ef25e95d07a90a1a3dc85696b485ed87eaca5a7f2df13053cc1f5657271e3591f6c666bec833abfabbf8c7cdf2c80302047c435bb500673065023100da190994c95f780b7fd3ff64b91fceaf8d73edf6791b808c94bda4351beb2e4fdc6a5314245452725ceba7841a6a7d85023063e4c1f9ca57048294a90ac49e3f0336e84bc4a1642b27081f2c0ef1f5d02e39991fc904af5cd3e2efe7f9046165312f0302047c435bb5006830660231008621a0bc159d1019576970dcf502c8abc451a8b0693d73359564aacd01b309cab8fbbccfa774aff5a03f65c702f4e986023100d9402e584f090a9c81c4986154caa05b790cd11d7ed10f7873a7907616ed85f8edcf34af99ea08ce97720275bce4a9ac0302047c435bb500673065023100ada0a79ab5d131de72a0c3836fd4f213924082ff1d607bfbcd020fee3378afd1828d7214d4b41a6c92465a1522cf397d02300e77987a8eeace1f1d4cedaaaa1957b63bfd68614004c1ee8ff2d2f358efd71372f302e0db5568891c2c9aeffd62ed5e0302047c435bb5006730650230717e6caa6710bb0bbe967a89cbf2c95d82c4e0753caf0516536a1a73a45f4d68751f2f41e9bca737ad639463af4419cd023100cab4a85ac614a050c04bd5730223f4192b475b4ec792c6a8803aac9d5d3c401f0fbd2bd6c7c2b00bb1fcce6198626bfb0302047c435bb500663064023038074fc8832b80fcb99b6032cbf6f070f778ac40ae68e558fe4e4a0cef2f59212a654d28cf927ce73278c6e6dfb9e15902305a759617b5a5022eff40f378cd7fddd3b9569ff936dfb5a673adac6e3054ce0dceecb3e78c449ddafabddc7e370e46ba0302047c435bb5006630640230173244dfed279896c089bf96c0c64947521814b4a435b6f0570e8cb38c73d7c8fc285ebfd884de905fb0430e174f79e702304f985764ada2490fc8bedda55b11f4f8419a8f76b76b1c66db0bab7c199672d5a01f056763f6470287f7da77c6b2b0ed0302047c435bb5006730650231009a70b1b13bb4da390448a33e53ad5f54fcde016a1acaa0bd6b839cbe9479cc0a70e83e48c1ab9399efb251323921852b02307d8e8ea7aab7b5ba5e1a5090b7e92536acc9eb8079c992cd324e73ed4ce464695d17312cae4bae93021087ccbabca5f50302047c435bb50067306502303740919e8971fef4595557809864d1b970b49473f43b7360c64b2a77a7669d5b5e9c848ed1d358a3d97e93ab02079e5a023100d1cf0442f0ad5a820261fef272dbc487ef4ebad91d759144f2ff195e95d13831d10bfcce9a60897ce1b9f7525ed7cdf20302047c435bb500683066023100c96e24c97184fefe030c9e113ff598d882d7c5792c2dd6ce248585c6d510fa3bcb5f360723b6b7b521b7be3d3955ffba02310092fa94f360607777b180c4e4532348930c409f066cfe40584d6c706dac55ff5d50be4937fd9f236da78db41e7a6bee560302047c435bb50066306402306a8073ea99bb763b4ae0c4b50ed676a896a4a47487b137b05596feab7d623cc6eff174a794f58a1cef026776b135da40023033c6ab6825ae61b2cecc66a747a83441a1e0b1d2ff39fc9be31e7bd91909e3e7e8ff04af2b8789c73599d89077c078090302047c435bb500683066023100f1218e6be56ec9fcb482d199d8ec512515f3a817a66b8e7928f2b59b09a6498208ab4f01b6c0f87590d8e8f38043d7af0231008eb06aee2c896277fa263cf3ff42eff13ef2fd7731127067816d6b6fd7f16de752afd0b56213c07a7c276499970523710302047c435bb50067306502300a00d772be988f5fc9ac564be8c34fcffabd556657f846d8c0fd39333cd6df374986298ad5ec391967959647b709f55f023100aa0c179de3349e87b01faf140be010f22637d0a4f9f7fac72424fa410b82dce493b7c7574815c084e1773a676f52fe580302047c435bb50066306402306a047c4696175929364b1792aa3b120582f9b76eccb18281f6568f4f5e1e23bb15dfdc8c416b5242a2c232c6786b5c6f0230499ad32d09fe45886de5832646921742003a98e463a8f1559d0fb19c8ab99c19868e7c227d78bfe63b40f1fc8f22eeef0302047c435bb50067306502305b30530bb416ceb1cc9fef5f0811bfc80178d7052ce3365cae6f7beac879f6c35cd991ab00415bb926164bc618b3508b023100be9a5f76367b75688011dffe5c2af00bb512f3f77f4fbbeb7946e0983973783e6427b73c7d20a29935dbf8bc6885c40d0302047c435bb5006730650230040488fba53d124a72b2d213bdcabc9f664ae5fe117684c9147144bafaf902f1ea700220e0135e8d5747d9dd850a65e6023100d074b8e6970712aec8038852b57a20a65e7e05f6a094f89c4a30094fe8a1b1ca94ad53e53a895dfa6b545769c2d831120302047c435bb500663064023062825046e162abe234e8155d18557b0815f2a26845ce3872963585f154be653cae8dffefc8be512662be3075b2626b64023047911be743a05a03c69685774167ab9da88b709ec4af4d9043539829f53466bb5ae006196aa6cb4a8b802eb89378baca0302047c435bb50068306602310081407b1fcbdb2bed130c31a3daf23ec88520e74fdcd0ad61119654d9d48762285c3a4ecdc95c875e0fffdf797620649e023100bd25037f94a1f93b156169b8c54811b5f70725b8af1e2b85038e08eaf264ff8c6567725dd5cca3fcd8912c2422ed82280302047c435bb500673065023011da78b9b35345a804039d4ad26986ef5878743fc54db84fd9e7fd5e33b81cff35d0d518d40e8cb7696b83387c50a41b0231008b340716f15ce881454887bc176547a9a9318b67a373b01a33afb8288c77fbb49fc04bd6a2af16a8fff611f25979e9790302047c435bb500683066023100d0e2d4bb3bb82541b663f1864fe6142ba1afca42f6d6442996672762d9fa8620f7f69b72cfd457c560905edb835aa0a40231009b0b5d927cabecbbe3286a0d34dbb825528dd1321ec053a47e04b600be920855950aed34308e32a86b1a32826d83ca2c0302047c435bb50067306502310091f38116b7e99af13026d163496d881bef81c5cd0eafc94a37ba36109125c9c8797690354db23ac2f948c0708f45d9b40230636649b0e1dba2cbfe6cdc2313b5440aaa9490162f241b7e58af9f48dc48c6a7bcdccfd9d8bb69274cad85223a30c03e0302047c435bb50066306402300cfd545b180f5c642a119d36e9fb747a0fc08482fbda97059804e20b2dd8c154a3dfe07b92feb2466bab4a0adafe955f023038a2f1f1cec364a56af16181130fd74aa27bdf77fe46dbc811f25bbb0a682ea2e4d0dda03b2c30ba8d73a71467842ba90302047c435bb500683066023100aff4eb7067c15cd100efd44639b8c1b2b8a7bf1f06954b2f0177dc654ae268958d86f33a151581c1c839de13d7c0988b023100eca420e449ee95bacce3009232a7c3cc3434e405a83c0fd97e949eed2029bf3bf2a470f58ce425d7156f0099de6540a50302047c435bb50066306402301d9676be0c370b712a18e3a913a3fb623a374ffef58d6c5a29848dbad56d243a1495ba62b839cb2acc53606158b1345f02301cd1699ad71eed526e187f4a34ec7ee9dfbc9af47e67e89c6d87e219a85d84fe26a23c70d612bb1bf97dbd11f2cfb2030302047c435bb500683066023100a58bc8aa60807a7037a40bb74991637fe1e94d3ef0b25b759df1372a84c3f3b16958fa3f0cd148f3620e78aadafbc32d02310084cdd18e548b985e0de89174eb0d9a79cb25da6611367205cd5fa4d30280c56fc2f37b4586412afdd40695d6a2440e100302047c435bb500673065023100f73169176709eab92d463c66677c3604eeff7bf5f751ac466aa197e3606d529c54e3e8fa500d4916815f556a511d07540230532418ca9e2315b9d0581c79bd5f51a5299346853e2d01ad9de6c549398154bd4b22eb3e6abc23ca971986060d86c67a0302047c435bb500673065023078cb2bff2f65f56c61773710458e7ee0f1aa91b25ce5ca5cdd8c635fc9210c48ad411ab10d763ac6e44084a65a74b252023100f1628e1d95f95302c1ceef607127fa65235c693a585bb5b40f83122b572f97d72fb7c204b43ee58963c09d60576187fe0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50067306502310086cd74e2824aa6a42029dab0ee8705db9efa076e0a2b5b5a67644177c6ed44bfe5c2033feb09398d6633a6752b2c07f50230642db7ca60d91a21b527846adc2c98f52c0cd4cf8fdf2fa996b9b6287d6927bb5ed552bf26aef4bff9f887065ac40a690302047c435bb50067306502302c2e5234c66cffe595e7f1782cdee7ac028961e2b320aa0c816a91f12668ddf14f0f36fbbcdad94b51243c68f4a175ae023100f6943970e0a83a9d82000a1b459423738a8b71514d9d79466aac730e798759379958661c4b7ac45a5b076cf21bd8d77d0302047c435bb500673065023100e108d4fa76899957427264431c9c42e4e6a9cab5df058381f2a2d3abca5efdf1e579ec5605450e8fe33049a2f919846002303b50c7186ed6068c1e609e41e4a04d5ffc582a1a03a6559421ef037ec68fd87b3ff391d1c10902b1a779656c84bf2aca0302047c435bb50066306402300e99a8eeeb888b8ac64a1726bdc512be2a9fd0d59d548a3d87156780fc40d8cce3a295aa2733f52a164f7afcd66a520d02304ebc7b587baad8adf7218820102690193ce13026b3aa23d1d86ccc48eb6d45fced494621daba52b2538170c0da128c450302047c435bb500683066023100cafcfe09c2d1e3807b3f117878f45401a08dd89d4addf4ff686dd36987bc40716b8d177e88d3264f8217558119e10b7c02310085df91f25193201436f5a436cdf189b61eea447faa2d6a1099a00079fad6236a922b1498f0ed3a348d92010dd348c84a0302047c435bb500673065023100edae6af37bf0a73ebc0352926b7c7d3fec404dae852fff7a3da3deac0cfc808c975834a5ba9f16fa84141f9399487a8102301122413f28861541193a867da7fed6126cc3f6db6ba5ffce341f954d9ba47ec43bcbefa83fb9ad7a359fa691d77e9a670302047c435bb5006630640230247ba54c6b8029480140fb7881a60b84a119e6edb001ac83d31e6dc1c153c57690033c08ba075c81a47b3104997e033002306c835901dceca3f24d79e53f3f1d04f20076d80ccd19ace692621ad42783ac6e7eb224d0e7237133d79c17f44e54bd3e0302047c435bb500683066023100f34f2231d072aa9f5e8310a3d4f17bb93a60f93e21669639338dced34490bb97492de3c95a044ed0c3c8fb025acb16be0231009467e88c5ebe3e39b8a89426723c3e8db60ed44dd45e0b3326a0b9a137d33cc95a0eb2116ff7dc6d346552f5d92cd78e0302047c435bb500683066023100c9bc89f9118d7c9f42ac16380286055663e409b7ea0b1916b40e169cf8dc4f46ee38d1b43abd2c534d6bf38a3f4aee93023100d06f9b629174dad30377a1926f8ac677e6f1fe79ec721c483cb2d980688e458b2ff9d743b1f22a6a9329f9f5e86187d10302047c435bb50067306502300db01ec22b1136014f272e118ace02fab8049105acc79107d32d26c284051da28ed95ff82b6e7f104a955a28c38f31ce0231008f90756033bbaa1581dc6c47a9c1b9cffeeafef2b69707ec89427318eeaa5e6c0ec30acbef2efaec9642d3f12215059b0302047c435bb500673065023100f61ea8213e50e98c18fc89a445057bfd45830c25ae87a6ce7a103e0956d9d1837a25899c4619f74ad3665071da30a18e023078518f05a9b7468ef03181e8a860825fb5032f38a237d70a20f980ae2aa14516fa35b412413120a77c769781bd13f9f70302047c435bb50066306402302e0dadae8348406b98da9017bd50a869a04c34b34fa3f8662c8f314f68b6543ba63c3efbd8107b54a898369773b8344d02305439f4ff8485cb93f26f24c32cfefa974ecd6a25051c950a25efc2dfae1b5ad4e33a5cf9e24d3429308e21196d5661320302047c435bb5006630640230212a4343bf7d2f83e82a1a4421e7957c1f14094fd46ba93bfc0fbcfbcbcfd9b992a88fd1053cec1632fd663ab962dd4202300baa00523f43904de20bb172f79be6e77fe8cf2364598d16d507ac7c7f6e0a20b72094bb8bf9e3cdf91842bd53e4e8ec0302047c435bb500673065023100c538cae2c82f75ecc191f80c6732611fa9ce6c5ac1971b7bb8ad8b2d4f94df3a2367a2d39f820934a0d6c63b1e75f4a6023011caeec129f074f4db64dd966890d77c5b47b129cba65684a69fdd21bdadc080cc8c56fc48ecd55f928d0ec2e57c476a0302047c435bb500663064023035694dbc90494be2235fe3f2f446536b9551870112c21c18be439c6394dc99c98618b5281dad28886636b8c3f688230d023000c7ef64ecd7d196024019a3b3551b39a3de7301cde33ba9edaf3437337637b727023a40e19907aac0a53685bafdadc40302047c435bb5006630640230303b6a215010a97d2db4aed6dd30b178df6029e49ddf5917026c30571524595d2db9d6353550b346d5e77a7c6172d080023012861e82c8f93da2430051e6ea7d089b4f7bc9004de85c297d07fc7aa1861a2893a96cfe66a93b66e202d1e7b43ac21e0302047c435bb50066306402302d93c9507755d7457b6692efb237c0d787e7bb4fed1bee055beb93863b63c2f5fae2a7a0a5c5d5ace8de445829f4a92f023058a2505850be86f225bd8c9293f77fb1702d12aa304b77835ddfd65738abc8c47e05b14011fc54ba16e6b04565afc5c60302047c435bb500673065023100b9cd3d80b8284183be13911cfd395e7a6cdd3bc96b8cdbacd681d2f3687c15257172e802ce6af91af4477226f529b2d302301a71ef86f4c369199eec796929df3be64ca6003d811aff549d8e3eeae81d1d5aaa748af4ee077a8dbaa4f251dd4888710302047c435bb5006730650230072e65a573fc1403eddccbdf3fd5e3c5a8e7dd10ca0ac5db15d52d65563dfc4d0eaf1537d3ff60147530fac64ddf35bc023100d2a8f6f03df2e0cc435e69ecb2844d0bd9754f2ab28981af9321122886253b6b44e9be60d6e7f85bf2cebc255821389c0302047c435bb500673065023100fbb11aa78332f9afa733b65e8f50d08873b23169e2947897b6f7df2bc6292ed6d2033270d255ba7cb6140872cb24bc0f02305273571c461e1e400214c7e1a750ba56616c66542fca82787d7bd3a89ecc0efbc1877254242023a0c44401a1520e3cc40302047c435bb5006630640230707ce91686c8018cdd4c7b6cca743a4f3b402da6172ae715239d58e1544ca686228646255a3792c0ee9f5b066255dc08023033cd1f130edb0f9ce208865bc00ffbc871439a8d4411cd33f274441620a9144cb6833ad4e40658ee4071e570b1d5c46d0302047c435bb500683066023100e87ef6238eb4e6eb77cb21a908287eab4c69e94f885fa01a0fbbe933ecafe72345c1001e8b7a790ca4b7704c56d19c4a023100f8ca6d25f0209ac8c73a1ccd084f0d5c17cf485c4aa1462bebbe40fac79c40891e7337a9ad39a15e6e2d6c37fa025fb60302047c435bb500683066023100bc84fcf6d8ea7fbc57341eb77bcde79bd22a0b41275ca728ad1275a4fce62e9bee7508718135e73f8a4868486f1ffe6a023100a58dabd92d00ea09dd23e764c675d49a211799958bad17dedf1feb070aa6e3f55545c1ebc7ce728cd941220aa682d5270302047c435bb50066306402302585d5f0be4a55cf0228510aeb71580f97a99b60223041851ad713a58b2d7c2c86740d7f02cfbe0ee49d2d6b69b4127902307179e911474102f60fcaa9ed94f551c4c7a69d6b69c4cadde57fb02ff47e071d6370974e4d285d577c9126a0296961c00302047c435bb5006630640230272dfffeb8d970a40f866666148a063aeddd26f6cc5a5d07f327d93fdcdb8987913664aa6354435863b2ed5e38ace5520230018b9b1e25989ad470b458d47812e1ee3d350fe82142092e4ead899bf370526a591f78a6ea8cc67de0bc4edfdfa341c60302047c435bb500663064023059894033fb0b2c97e3c35b8551c71e3b402b988de654d28678b42ebff26b63b6e619bae13ac8c2673ae47e79dced88190230401b0eb460817e7118c39881234917514031a5def3e052def802a22df4a70f46378cd1472b1cb6a9b7841f1316498dda0302047c435bb500673065023100eea3cb3a7cbab0ef770b8d08cf03390b660f0c2a360ac7daa5e27a0c3c04bd96e3c169bcd045bcd7dd11bd7ceb8303160230618874759ddb68fbbf75d8013b44df81c4a1ccfa21e23b3a20f4f481bdc0a9f88957cff927f8dcc0720fd0e47fa5ec670302047c435bb500683066023100bf3a8519e25a360afde742594d6e3d532f05de84311e6ace74e9e9533ff4cecd1bd549092a3602a2f928ffcf61b2d7270231009faa5fcc47abacb3a024a10b37be88583ddc3b4fe8eb973e581b3f84bd1d781f6eddd4f3e42297b0404e9383c5ba5d070302047c435bb5006830660231008e123bcbf74d009fd2f9d9336cd03a5fc5500001d29ff55f087fd51eef49e0f140fa5bdd37eaf9d64e67427db660debd023100fd7a6b62ed3cc6cfb37b2c04d1563fe0c2f02dfec950bb0ff7fdd047dc8a53c3971488a7c729c495bf68e2bace738bc90302047c435bb50067306502310095eac68ce6cf8837aba718c0039f317a99d69a297ae3407134da4af4837001d4bbd7b9139fab110de1e2db0a944504ab023000b248c95a208b5678c106c8fdc7f45b3fb95e00f9359c1ddb3799942a0777442702495b6f2f97e4c08c522bbf09de810302047c435bb50066306402300b1b4fe451b99d672898a8a2491d208518863acee78cbe4dfee637cc80c1c5a533d3f24d6a2ae8fca483bbd4c0d9045f023017e295208f192946bef2b75ff7b9afe2ba769d6859648c5bbd204323dc21cc6e3975823430b81ffbd68d4dad564571c20302047c435bb500673065023100866978dbb268f511cd2dd64f08c28f9c0c35bb3aeb7481dc3b4432b4b5fb444ed23bee21c1be5188f3d1f9f90fb9fad3023018add4052cb59d61b627bf5d9917d2e3f027ae84f2c86ff098492f41788ae42aa43141b7366adf052d837472f97992560302047c435bb500673065023045a60fa0590eb05a8d2f52116fe31b359b73359a16cb643af24ddae7e5c75af1a54332ec08fb3066c7bf7b7db86782e5023100e3fcbb5a2a691f32f3bcabd26455e0dd19a24919600d10fce8ddb0c376c2e95162c31f4b371c8cc10a9ac3ac013dd6e00302047c435bb500683066023100f5ceadc850c4233b057a9799f27c709c4a06087b4884e1f2eb8271ead2a14673021c494d6c316077f322e0096321596f023100b5dd0903529632b8a835d56cdf716735bf281662bcc11e9505e3b21fe422b109a44e286153bfcdc4b9520723fffe65160302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500683066023100fa3c0df625a81692b14a7f08a085443e2b2163069ebb277b1ad12dbdb948e436f48d8e1ff4d693f420a85d3abf120c6d023100f5c0bb115e08627f47db3ab1acb65b510920498cde61be65ce0fbfb492c12a6e0e2275edd518fc00fd10bcaf4df93c180302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50066306402306bb30a4013d957937f105a2d7332f1641f3b12f5523cc47ee47f3d2842f1f89804f47dd0ec850e3efcabe25bb21597e6023011c9d84688abc7130e6279ee3fa9e410e0b72048265ecde9f9712f28103acbbdde43913eadc159ec336786cd1b05215e0302047c435bb500673065023100debf11cf8f41eca0a57d57ff297dc4d4835d5deb48924ab70bc78a59514c684f8293fcc7cb708efe6af8e087cd7d5432023065bb5cb55cde3d1af556dad2969230df1ba44716b8de2507d6ad886b26b579723745736777ec67f90bc852e66b8d1f4d0302047c435bb5006730650231009220ea7924124a0662945a5e875b1fe365c34a2fe9604c36fc8a721ae9aae6b09e2547e9b9f88d47f92447c106d51dd7023017f64ef609611f7febdaa8a4365e86e79727d5df49c15eeb22fb70fa1244f20dd0703a20c37f68b9bf2a81f00ab055b00302047c435bb50067306502307e626f3580f9bd8c2b4ac43fee0241349db3acaa5a32771c685aa1ad595442cd7a1c12477f5b980f2f1dca1418f480da023100e77905006e72461d54826ccd225250b7784baf5a05e815c189c67a6f1bf5d938fa19a51132fea8993c2e697b503ef2420302047c435bb5006630640230056673f27fddcf957daa4877c44ec6770b40f78c1ffb1804c41f5c79b42489334ea8a890e99ea5812f00cd649e1d24be0230779fadd9601c48b44bca105031c3505a52635ca21fd36c6948db2d8b41bffe97beecf3e3134220ae8c0929a2220b90e20302047c435bb50066306402301d951d2679409e6cc27186b56b7e04fc753860431edcb5f9d07f4f930d64f3f2f178dddb27897ed5450d88a22cd3ddef02307277ab1c18f575b915b8ae6b3d40432d5c4121e3e17ede16a2197c0bbb190bfd786497bf32fbe19c2890274a91c646cd0302047c435bb50067306502301e3e5687ec012a77d9115bdf0b88035a208cf91558e0d29948515637aebc75bf9efa26c7676429374b93b5edb99e4eb3023100f563726eba714fadfe3c5419d8e92176076cefa3fba643c158c8b342991db24b692d159b1312fbf5a4d9d9bf29e30cc00302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231009aa4e80924e98c2de6ee97f055a5373a9a262a90c7f3d09d275168e68de7505dbc3967a0fbd1f6a6bd611ff7bb2e044302310095726ab7a032778d957c9b8fc63cac29c8d5c86835eb3c0ba0374d477fdb113d8a74025d1cf22a21b2078b3d74e5c1660302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50066306402307c2ebdcee828b2a953e16706cd5591b5ad51b8ed6c7f14bb0f3cc802e8d95bfa75d41657571b65bf00bedfce4a38648302307a254cd1b4ff5905b39b723dcc95792caf442e9694052dbbbd9cf3a39b07a860e9499051c84300209978bfa63123577f0302047c435bb50067306502306b8e51ddc368741c906e4ba9e242c04215ab0aeb1dc3699dae0d0b743e18d753a827098b81493a44d9ed654df0f67c4d023100b6e5b39b7b76795b762372229d401a0fa21a7024f7d9e35913745ca87cf9c81fab6b51718a5e156155daca62d453d2140302047c435bb500683066023100db78064c809ede1477988bd3f7cf08c878a71730a02993e537aacf4688b8685718184f013affd59527ee63d951db0d33023100ca81ad19793ac058f8cb7b62114b39ffc5f54b8837f2da04accdc03cf771feff1f98658e6e1f2df6e8925de4d0bcc55b0302047c435bb500683066023100c0f27c98e6be891a52c3674d4d9047da213774f91fa3a5005b6afa25a47acda50549697447eaee813f1d9daafca7d7c802310090e57db18f0251db6b629e2e9cac45e6b1da74ccf48782544909ad4d08d04f82adcc4dc7353ed646f52c4048f4a438d90302047c435bb500663064023003ab8581c2c9904111c66ca8b88488ca5d682a6339819d4466b3d1e59fd3a40196257832e3cafd2e3e62f4af81569a81023035422861ba37dbef6ab976c966e294cecd95a1f297af039f4623d9c5166f68c33ac755d5a60bd6dff7c920923b2092d00302047c435bb500673065023011939201eaf015727776b184a247e4e3db19623a94b9e59dfd3d575ff3b8d682d23a15289bb887ad4952223f7430513e0231009ecba4cd3e0d68b26dfa7c6a768fb31c91e7fc33bc168ca657f6713de86be0465ca052ae30f1476028d53a6bf56c63dd0302047c435bb500663064023033d4d240a720b2349ac04490badc013536b5ad9df8114abbe8c0186119c85baa3afecd9160c7cb486050c9105487625302300bee155f22a91a10fea603461dcff34b0392e386373a51418373945c70ddcf4ad25a1f987a5435912a02ee730a186d180302047c435bb500673065023100b9c212f103097974b7ce5ca6fbc49065cc82a53563a12341ff111f4823571c18e8372c61ebf31ae7956e7e9964e807d3023000d8cca58bdbe25cc19de9cf59fade53d2ab52ca94c4e8bb1ea315a501d821de137e0506d5a1de40bb1ae96d8fb8c37b0302047c435bb50066306402302aae6c1f1ff5193f9538e60b8d7e2cfd642545d8a0940b392f1f184fc279d4785c698a18bcdc65a55b072fbc2c22dd2302307e42115132ee59d9113ab4b7cc98c1a857d0a576b71325c513124399bdd9c367eb813ea1781109b5d56e40d07de6c1e70302047c435bb500673065023011d8cd7cf946844db57254eabb75c8c33cfc91a010c50690479092159d9de02a1d6383f4cd724c39afdc82c86c8ad27b023100a5d2eb88189f97c187ce22826d7b41616681e63474523d408421435196c1925f28f6249e8c9f0347ad5dc5d387fda22f0302047c435bb500663064023058e2a1bd6cc3b89a8a6fcaef4cb2879b4467b6a507a779915611bcb29442c69cd1dec1975b60e28c87f956f7773f0179023067b997da038c7a3c687d68aeaee75ddf426e6271f12fc1110b358135cc6a26cd2ffd8c5f077ddb6d2c5f6b48102e69af0302047c435bb500663064023006f7deb1c688dcf9738784751012778b4b48d2c394e9bfa200bb67c0d47270255f8be77aabdf1de8adb326a9bf6d017102300fed631485a00ffa8979f9ba8e6534753fb3141822f4b9e982970d3b971d45050131f4578c05c694e3c704227c24fb1f0302047c435bb50067306502310087f0a7cafd6582e733915ff8ebf6e56473216443c1cb340ffbeb7ea4c85cf4ad9c126dc4e3bd410965ece7caec7451e4023025e9f6cae7aea56fe30a4c510619759c52151f644b50d5cbd14faad106b2893c56f75259a34f0beb53cfba5e5b1d58020302047c435bb500673065023051330d5b5f148677a0dd0de7d870512c57df52c879512407c29ebfb579c36da099d5c7c71ac461c16cd93e1f9560191e023100ff822b9554bdd232a8c767e75cbb4edf1c43bb5be496495620ef876681bd53479750009cf2bfc836f172ab06eb7fcb400302047c435bb500673065023100d3a50350c10b2ba4dffddd7f97a8aeb645a4be6cfa5e8cbaaafa295f6a0bd5e5ac31f765ff10150b9b6a3216224ec2dc023077d837f7c620e18f6acf0da10a5cd626b0d4e2f508949edb9f8a49441be717aff6a08467281034900ef332ebcd136a060302047c435bb500683066023100a79f27c581bd45c7bdfe65b54e3535e0c3b5b6bcda19dc4ab88967ea8fc1070f59876e9fa1dfbb5cb2b4758009755db0023100dad7334fcba0dcdabe5f94d40148de1cc4e0bc74f6bd5e5052bfb73205e22d26406cb0c283d68538efd3e2c7ef7df8fd0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023100a6e6c1a388db618bf726a81fd1fb9d50e7e14b5d9fd4ffb0de4c9cc342f8e6a3a63d6b27036876ccb0692d070d8724c002301e87c91ec5ec824f592b6118a9bf1a67fa56b4bd1157c73aeefbf647130c0173c86686a9b9cde63546d4628696f52d120302047c435bb50066306402304c7822ee4d6154c8e6ebbcc493ecbc8bb08415e1599c58f1b63963b9f95d42982453d45824a4d2b1c788512e5ede29fd023016e1600f331616de89e79096b6e2fb769cd268c3f8eafbb8531bd7f647b6ff7da07b30a8947e15bcc43c203d92396a480302047c435bb500683066023100d8ee0b964cb4932c20dbdb8e2b035c6e32101bf8f46fb1a32bb1553fe56e6b983f2fb5afa23ee6bb0b4e09472b8cb5f8023100b44f3cde2de5c2b35cbe4104a94fe0d3cff60bf4280d99c2162339b957ac53c4ff8909abe8210b7cdaef29f5f5b362220302047c435bb5006730650230319da69be25bf52618e86b53bf570ce38a3f985c54ea94284d705a60cd324f22df2b038e85f1bfdaf58df0c713189f3b023100a2743af1a10de97579e0f6f78d9874b726be566b23fc4d82618ca1650545576bb42e5683444154ceb51c53585cbe40b70302047c435bb500663064023006357eb66bcb3baefd641f94e3014c8b1d29c07b79a9ef50b3b30efa02770aed52242c30e478e71186730f6036159e9502304b6b60d1ffbc26778d3807376ca2973a64f85b16307559cba2817dd383b3eda7b9dbe040b16d883272595852464e8e0c0302047c435bb500673065023076bb465eabb7826f7c00a597723496a6ca77d2f5855ab081d1ea9d8391946229fd16cb1c5b6638c38a946d6849dd5bdd023100895011e9b8925d4284c408ed3869cae9659f5fbf5af42c6fe4c80c8f0c5c8b3a6fbd7ca874a20a57239a1a274d45240a0302047c435bb50066306402300235802d0f7114edc7c90f5557cd721f067df9dc71ae86aa83ed055d7c466777c3e4c02b676f79eb0f18269683a3738902307a4f1cb7a6b86fdabd1abe2b5d9bf36dd380321b8f6d77eac25b764eea35b9dd1e10e6136252b76025a294f83a2aad2f0302047c435bb50066306402304fc18d01d44e95ca8f5d0d9cb772a51c549f8650c4acb3354a18fce135b910db09a38795d74c6d2a3a7353deadb0121702304b83e72f9b90dceae857fce04425ae6c2f066d3af9255d5509620cbff8b413b85137285253841113ffbccfae46a757640302047c435bb50066306402303e57ae7926b0aaf703a2d29c60cfab867e0ff6375933869a2ebf227050a54f4aabaacb2c46391e0df794599afac08019023041a346958bb0663146c800b8df829b3cb588f6ddfe6120e1b6d5fb5606c2ca321f9efa4463323945d6ac3e449a7f122c0302047c435bb50066306402301872148c2c9fdb71b4e0130ea7d0ba82cb5379dd78c4c90f33c3d72f07b09dddb0e70f774dc31e68bc6555b894c8974802307eb50ac5b99edf6b996811e62a1ab812fbc3ee309f201b3d602f2ff99ab2a94d21c446720906ec163743993230f54dae0302047c435bb5006630640230165e605a43ff7c6ab76042b79fa1b7e71841bb8afb9798c3ad348b5760c75169a6966c323af0c8970f8a029617596062023076c192321c42125d45b8d2750db77c6af6300e13b68d6ee3f433f316cdea5e839e6d3b9e2deaf348a386acfa50743faa0302047c435bb500683066023100b49512c4d931863cddf92f338eef972359755d70fecfcbf05ed8b2a40bf8696c19aa2ee0f13ba4bfea969444715d7c67023100a4704e7fc5046dc6d80d73b6643f7b2f6f8a06f0a15c252caa347edba7309def53343583654cfd109161210dd4fbd3b00302047c435bb5006630640230549226afc5349bcd0cf836f2d6b220ab036455489826497a11c99b0d7f1e951fd90a080c009e05934ae52650d2dca83a02304e1c5a365a525c1afe3d572c8702f6f5cb88b011f753b343a09382315ac7966d1cc1953f03dcb27962e80e89bf762b760302047c435bb500683066023100f62d2be53b507180ded68a20c1416acf4c9c2f3c081605874b91d76585bb413477cdac091d2671a830d344a31e925e75023100d90b448cd95af12979c106044dc735737b0bea65e83359fdb139c098f996b400cf2894effec4141ddced5688e2d450400302047c435bb500663064023058ee70202799d296d1b055439df6dd3064c884c4e428dee9da5c64c5963d0bec937d60bae20f8aaac11cdd3059716b6802307fc9aa9ebe8550265d72cfe468c54265639652e5cda415e57a7075241213600718b48f1c3c284990ec124194716a88760302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500683066023100b5b72a4d3a47c7a563726deb15494bf1535ee180fbccae044b3d1d7756c53786ded15dc71bcd9ab6b64c5de7447b393e023100d56e613af98e401bf66a9ae31212d7cdfd05c478d4efa1f6fe3fcefc81e1b8d9cb33e252033dbfe1137ecd4b6c441b5f0302047c435bb5006630640230600a83d91b677684f4f60949f028fe1bb1166f294232e2563f834ea9a9c9d5aa41d07074f24a97e6d35cf2cb4396a06a02302c9377d84dd674102482003c28a99a439d7461f9d70698ef77759f89c771e6be68d506244b87afde628ed03a2421f44a0302047c435bb500663064023053b282587afb6ea5ef6b079edca994f941d3a17f150b554bb9dd6600586602baf2b1e4c43f8aad6d333ed4bc25ffa755023039b8ad6036c16938cc4084d5abdee2887d0c902acb81bfd19a9f2983cd6642dd0c610a17b3e95dd009ffa3aa4af121d40302047c435bb500683066023100a7345835f5bc2a4f2f503c1dbb02e0f9cfcf7afd5324d49a6e403d40de511be027d8a6ed6ae4ecdcb33668e088acf708023100e7d41d3db010ad38570188e927ab90c731161fef9de019380a19d9add124a6bbeb9682090a5c51a016a3d58038b0ec290302047c435bb500683066023100a4334eba70ed046fc57f8ceef56a8b7a9536f62760b8ef677fc324fd7c1fdd89b2885b0372c5f1194e172f0f1aaed8c8023100e79e2e7c27277179ad38b96bca8e7818a78cfa93070a667d2290c9a2afc06e9d066a612f2a0db22e1bb20ee053a298cd0302047c435bb500673065023100e820ea24bbcf12e6c62f688ff257b7a4911e440d13a03d99026a3c7db3a6c8e185e8e88f463c8f35a665b4db9a7d4e3a023079e359ea2b77a4c473335cb8ee3cac5101eeffd844c2c224006eb1396903b25e772f4d07a62a4aa6989599a5d70b3c160302047c435bb500673065023077f5b5cbec7cdd34519521d2df282e7031fde33c1ed03219ac11ecb07bbbc6b9682953e452920f880b83b09a0f8f738f023100f1137fd79877cf596e5039af43944728b5aed14624bac4dc27a8472a4861051ceec79ae9ce75e1a2f06ed554f24e3b530302047c435bb50066306402302d89880aba2cbf714dd94c58bc74b644b2e982e4dc7bd6bb6d226aeef6f407f78af11c4f7673b3613d9d290864812b83023072989af11ce5733259f6abdb27a89411560883f330541887f1781a83f7f9f2d93e054dd684d5d8ecd6e241591d753e910302047c435bb5006630640230754809ddc0aada297fb499eb991173cc216e9a146b9a539a4425d1a472907ee06757c839bb5c95e2f665f173066b7cff0230202d9ea3d687b3cf2d8bc85a8630c5ea7956433d8b4a3ca7a76e876fa1e704e4cbcb0646e5cb1b075d1a2e15538915900302047c435bb50066306402302280941fadc0062073b838a569105d64d9c72cd11c2d52f03bb7030d74e4abc5aba9a1d8adebeb49346e61cfd23cc9d5023076eb6ffff64dad9fa7381469189a6fd23f2fdc33fb6b76cf1ed87575a57713054b4657161aa567a410054331504c697b0302047c435bb500683066023100f8f33790b569279283d39be0c398756167f9c4cf78ece93da90e7c10caea17d2788440cba6d18562ab9db4cedc39ecb2023100e1c158624bc0961f975fb1f12c2f0d6004763c9f4343f3ee21da81b0527fb66fd0d2737edbea6e7d295bd50c9bbb16d40302047c435bb5006630640230436824d91d20d31f15d8ce9742b3f814769c0c9d6f8e5047cd2b14d1b9f80ebbeb0231518ea28031f7766176d59ad16902301b2c696309ff29a67c3b9b08f2aa7bf5ec26e83f372d48ce04a3d94410c05f7417d8e8bfd8310dabb8c83471a865e4c70302047c435bb5006730650230751d9c75b334b9b09fe6abda5e75f058abc3b20bb3683b504e6ee9f91a93d3b22d6433d777aa24f2e100ad67d492d0de023100ac6319a9655cb3788a99700c064a8bb4da7cbf3b503824708bf7c4662c26307df3cd625f0a6c2509bd0f7cd20750f58d0302047c435bb500683066023100ded5ab0c31d73573036a8dc44d46447c5d50e726be209ac4b83d726c61aaa00171b92740dc4e9e1831f5887bc0a17da30231009dd8d7f7522edbabfcca07fc6b4e55128dd0cca556409c9cb86b70c6c0fcb0ae40fb3002fb60d13a331442d9a7fad6ab0302047c435bb50066306402300cd78f926207b4a8d2b67de7a946b8ba1213ab3e068e1ee5a35531ba656e239a4177c76afc81bc10f50e97879d44c51e023028e0e7d44e64ba7e31766b2c98b0b8217f9333cfa9b6b2d66dd12d6fab36d9d38127eca9213fc179969dff4c22aa6cdc0302047c435bb500683066023100fd6924927e23c30d61afdea74c9b8c0b69da2aee2298f406f544fd60429474de803aaba6806202a750d496ea5fcd2263023100d6ae17ec33a0c58779d3ca5e5577cdcdd35ec6c95d80ada67bfe86f2e4ad48b352d2e059d7bffc31e4b9ad9e00939a690302047c435bb50067306502303f2f37e6e513c87b84cbd7724cd5ce4797c0bbe812904891456471ccd6a9a77c9059b0632b305d6717a0eeef7eb570be02310080719e4096c3dc216a7e9a4d1dc787360faa9694711d5ed9635a89420fac281e4d7c9ffe377691d1a11104650925810d0302047c435bb5006830660231009c02df44c32f6ad7de456afddc4259908b58060b7fd4f8127e4f80267b09b0ddf0e4a73bf64491f17253c649ac98e5a9023100a33aaae712dcc45ee5b12406daafe83b16ff1422c3466b04481f139220c3195e6bb22b32d5986f8a30e00c650a0c43970302047c435bb500673065023064ed943b18382fc3766a59760f31c6ea4c5eeecf0101a19d854ecc64fb2282164d8456d67cf255f4f940e4d3be11bdf702310084a5094918d851952da73f3c85fe423d4003f7809150848666cba8dbd00c16d21152aaeec9971c11fd784975b0beb47c0302047c435bb500673065023100e2689c6841087d7cc4932d5c6afb427d852b9c1bb31d0ad04982ba1c7d4d27ec0cb6ecd6e43cbd25f9e97fd5aa9b5eed023018182d0a8da957eb5341450e1c4e243aee3c18914d654580151e5c9c4f1ad59279ed82feb9a0b5a248e4e024008e6aa00302047c435bb500683066023100c7b5aa9f7b5fa8ab048a7045246a7057e3bd9b525aa8c04114b67e5f71797e3130e4325f7b34a38e5de72cae1dbb4e7a0231009db0ceb97623d188fb3e1de43085bee20f242539b5071e31ee9f3419c04537cfca670189da96160fd9f0171cfe9b0bf30302047c435bb50066306402304000bee5e84b6e34482cd43c5657f6abefc108dff2fcbdd165cd59641220671f1b613e41af6f397249e24093924bbe5302307ae26b282de496788b3f612762e7f40bf6123361a7c49d255bf03808abab1dc79252f18f8ba6fb1e09b0bd15ea59fa8c0302047c435bb50067306502307850f54de2701554fb9808de7123dfe8d76059072429b042971cd63c008a33997e53ae5a4fc92a909d9e59b3f56d13e60231008c4a8f4fda596e6372d9c33862f868827bd95827923455ee4c6ab16db29be5414650c10c7c08db5ca206a24f7cb5730a0302047c435bb500673065023100fa41de4647054ec450a2a5b13a8113756ac5c7ca4fa343b3dcbe2cdd523dc899407dea466ced463960e400f347a4931c02300d4f22d34516fd183aa5bfb3270ddd64259c0e0352b3483579f2b5036405bbdaefe198acfd7dc65f6d37f4430085e0a20302047c435bb500673065023100a0cf30f67648242fd73495e94dee30cf6c074e3bb2b1a16a7495461fe77dd561a2ce570cce374c3a36958a983452386202306d8edb1bf95d53054f59cd36b109ba8dab581463c7402487218a060474b6cb7a74d093ed251e30317a0dcdc66f2413980302047c435bb500673065023100b385e74a5559590fa5c53c903af7775e6206478c833be239b8e22af5a89ecf34973ca7a86bc5bc9bb0acde6e29abd0b5023059c304467261e7504969431503730ea8c1271a17f7b5378e26d25a1e768d9eb264bd98b58ed29d148e0d14d565fb6fbc0302047c435bb500673065023000956de50074b586ff838558ec7a212782def27bcf69e2b05af018a0efad67c41cc547c3934d542ea7efe2ed0f0893bd023100894e03da767ea3b17a5066dcaae9db5bddec43490be50f83e0cbc46702e8007989b26621d30f9fcf96574db773ab3fac0302047c435bb500673065023042fb3c7ebb4fe5c31b05c922db1c429e1de60a11b38d2e065fa11158cdd764a13965824262c91a63fe358daf54bdaeeb023100a6ecf245b0a34ada1dfcf7cede7038d4656229b1114b16e800c724a0861ddbd10d8c27641f386bd217b71e3086a40f920302047c435bb5006730650231008ad19fd64ed4df8cc5ad47ec5a138c05472847b0c361ad4016ce440900d8e14555d1f6a18e8f36a8596bce96fadbb0f302307f3ab1eb41bb691dd5fddb31251b69ea59de84cc68d7a8491826bae20f9d5742d55f0c40a7f1ad93e354f4d3a168284d0302047c435bb5006730650230647af91aae8bf5c96fcfa0e851de7e6825bf546a2c3bcad37943090f54918208f3fb773f2d017e36d91e05eb9cbf046a023100ccb11fa180118ab19a82e259b22b810e2bb8501ce1cade62c0044fcf77affb3cb4788f1c8893860397970851633235980302047c435bb500683066023100fd781c1f8a1385a92c508217c36aa0063a969ac0619c9e206012df65d13161dab885316f9bf96de12d3b5ced1aac2409023100cfeb8ec8ced9d05a88a7ce5dbd1ac24c3875438babc6dee7fc7d4450947c159fde196d5e5ccfa7781ce2eba3252679430302047c435bb50066306402300e3aedba18d573bad364540e02f4f12cccd4de588cdc8765d6bf1c2766a00f509f34968c31fed2885b39dad3b9fcfb470230396badaa42a7d3aade37a97cd84ebaadfca1833c254f719e5387b80e18d49ef2e640d818722951db948e9637e82f8c8e0302047c435bb500663064023013af6d74d79d0da64f998b3ce6ff17befd0455575e547a88866e60dfe49efdd643bfc34b74feaf9971b36ce40de4acc402307f5d2ded0aaeb9f852979d8467b947e6dbd8a3d1401a89a6a05e5eae6e92e2075f63714c74daa79b6dfdf12d000e71b10302047c435bb500673065023100af0a9fe472fce2c130545768b9a2b26988a56b3d491b77c5d01873b524b02c454261b159c21028843f3e8ce19cfa8bf302307676e666ab126d5493782f3df1b3f5d36e9903ee7d6f2154397350d2c009c914a57ac3ba4d0dd097dc9b1eb879ffc2e90302047c435bb500663064023040d7058c84225c6db4369a79f580a56fa04153002457a299cbc85bbd4322196d9f9fc68f40699ae45d917bb4f157143b0230759bbcc6d779ecc2555ffa062517cb178b27953185622c35c9e0f356594ab62a0e47ee14e4165e08f2fb0610b10d14e60302047c435bb50066306402303890853e68a05c88dd4e4099bc385da5cc1d9c54dec6a8019cfaacb6a8e76019e21ed23eeebd96d30517c0b67fc6774e023009d8bad0300a7c3a2a789e0b27b5bb0837b877f1ea18db74a5d7e290345216e5320b865c1976b75ab320fd071460fdf00302047c435bb500663064023049ad94da7414caf4bbe24c0df96fc6a939ed508bd1a62b82f912303c0cbbc23a884ec445bfa7a3479af695304751c2a30230189c07383f9a0a3f5cd0fc0a4ba21b9ebf733966415791d67aa5a506786b6257ce9db47c82a357d7cf9b34e7617f01ec0302047c435bb50067306502300191fa83571d544e83fbf670c4dea227535b3268397ff7a7610c2def24c1217f58bd65cf595b61f39c3f5abf2c233ff8023100ffcbfe36c9497ec4cda0eb5f8690d1408f97d1f705ad25f3f39f77156c7ecbac86d5db30060979bc03123dc4b0cc022d0302047c435bb50066306402304a17dfa8966ad79a2f29f596a81f9bd7511eff798a4bbefdbf06b3750855bb8c3cd75ebcfe09126a98e29db49d11fcac02300c8ec4f2418b262693973f291a2b3cb462bbe0efa8c83d31457967198cb8534fc8bdea11a3c8e8aab6711c01205ba40c0302047c435bb500663064023038763738a4d43febf8c84e980829444e5dc4ec69ba6a9a07c631c35741c7d4241425b09ec1920e204721b2b275b7f10902307983c35cce25b04d68b8eab1ea6cc72c8658be7c7d556b22d8db6a407a554bb2b7e2e1fa159fccd2e0a730e61420a9590302047c435bb500683066023100a27ed79a1b658fe0070e09d7d2ae6deb82620dcc70ae86fa542985022540a4e6d8279213126ffe101fb818f15cb90be0023100dbfef92efe618f0db9563c2b90716cbfd381530d7da516e82c09d9580bf90f7cbb1fc3fd5f1d9ddcd251621bc1933fc20302047c435bb500673065023100968a41a6c2dc6d38b3601cd09cc0cafd9927d56e715062d1ef005be9c88230c76accf90eea662941e6c85750db883e190230321e661bbabbd140beff015538835b7b55fbca49978d619df170b7ac7fea799e4726f14834a06406fc6ee4b3fe1c79d00302047c435bb5006830660231008176d1f1b4937dafa89953998783e19f8fa1417c5c3cd17cbe65388813e5af6917474ca72dad663534bb66cae31f8b9e023100a2a3ad180285eed19eb3ca4159161a452dfa51b952cbe8b14e2299aba42cd10b68e22634898336d15df309e8310d1f980302047c435bb5006730650230084ac91d222a989a8b59facca906560331083c8983d9244378702bb3393b97ccc13f3cdb4275a5ec2fc66ab71b99a085023100f2f4b485354d60ded6f6f5476cc257a55ec4223e6cc6d599098fc86f744c1559b3ab881217f0a7fbe35e1402a57642210302047c435bb5006830660231008eb8b80294419f20336a13ae1941d0965849873f6c1816d6a33d76ed0f233078d248452040cfc5745b350019bea0134f023100f9f14d1183ad044a67d68805e192b321fd1d6949e92988a7971f45cd429e034801f76121176b1c95f8baa8ae7168f1e80302047c435bb500673065023100991c9122dab6d83fe9d96cdcd18a0df8b8f3c23916d3693b4ed4fd7456da35c3844e51d16bf778a93e59402bb2299bf102304f445092c3c30ac1b61b1d9e228dc50eff85b433e3f59f445bb4b91ec8e6a2a98121789fe9d6f2b3a1e3eb8e238651400302047c435bb500663064023100c80a17d2a0bda8b0ba6f4e9eb4ecde659c6708b897b3e914b9d5a5e3f6be1f160625b103f5417d896446dd81f7e2d531022f68fc6b5f5ff12e460a4a8e4a1143199995ebd8a43e40d9cd1bc91f6024e43d69e2f3420aefef1dfca27a6dad50a8710302047c435bb500683066023100f7ac53a2ceaa360dbdb56ba71835e02698c5d4d8a3213ba1e37e5b22bcdfff2c8f977607527cd5609f4d3dff9bc38f3a0231009da77724582797afb16aa8955987fd1a92459830c1c3416be189fbe724ff11dbcccde3a57557ccd54ea4b444680b6e190302047c435bb5006730650231008ab92bad2685261d2ab68c6aeae07c48a66bfe3033595db17c7028aaaad782655b12b61af00f9adcf4ceb880c13ff87302306ed8e72ed341bcb238e83060f677f57965e27e824351c944a2a50377ecd4fa3000f77a9c7451f26fed36a0687a8743040302047c435bb50067306502310085259678f060aa8b878ace229cf8a92dd94145aaa9d0bc71a72b2d5c5aba96ea188548b64ca9bb0746a27b20fafc9847023059604558722443664deab847c3bfd4c1f2e1793100109c2aabdb3277e63f2c443463795c41e89e78b3e8333f555c28a90302047c435bb50067306502305db8116625ec311abbbf26c1f317fc9cc993846289146836017a2cf299ba252bdf79e32d658d7348629c0aebfc380ab8023100c158f1f9050ca23d6dc30c25bed06de6660d1665842fc5d79801246134f1b05abb1a03f5d04ec9921d714cc350d5a8260302047c435bb500683066023100c0be1820a8acf701798f56ce6e008d8287adb10b955af30c5a8c12aef4c9bf15631b31a6cd70ca9194e9dc35ebc152a2023100873391835bc43d003e78c18f970c3b29586f83816688c587d9fadae793702939c5867dd4d9fca05f45061abb3b3fb28c0302047c435bb50066306402302b4f31cd7f30a9d5f877d582d7669fca54d8826f26317b993faa60dea9567330116d10366eebcb2210686bed452b76c40230772079950d9c60038dcbf731836ba581ef2f4174e01958f76cb9cd768babc9f880ee754aac2d43bf20455b0a3a88c0a30302047c435bb500683066023100c73c70dc612eee1e325135c0983b279458bfeb027f5cec442f05426217c12b88530b677f1ac5101528b4f0379e49b49e023100b8b7de92dbe6de31c95e763974be8bfab6beeaef9d768b57f2af7e39794d54d3daf8a8268e246be337d17e34f728a2940302047c435bb500683066023100be5ecb01f545feb61b2c61bc23fd9d2849520547f799c1a87a61815e4f70da4b2d32f33100ef2ecf9e55cfa363272b40023100d575d54497329a0d73c8e8b9f7aed3320286266ab73c710f00cd52f582c3d01f3a7b975573650620a0dc1310d81a72540302047c435bb500673065023062c4935a65b11ca2aa5ed9a2499d04ebc89640519b0a649de475c6139e8687d0acfc35a23bb57eabc8a1d575feecb8d702310094474154d475e5162555d46ca04e68c5d8728778387848e31973e4d83f85b3bf02bb58b65d40c9d74b923c1456b87bb20302047c435bb500683066023100a87c0ae37cb02446f432b3c668c7909c96cad8ed33ea35e458d62c15734ef004143901d8c4543a57f66c069998d88c10023100ce789994933207b30a75e643e8a659b0eb20b13831ebe96bdc69c6b26bcb8051116b7e5a08bdeb81b94fd6f831109b3d0302047c435bb500683066023100bcb513312a4d4d6f5c3487c5936f1608744539e97b32a9db838e7b200b24e1532f988808eee08c6240f6d8602c90fb73023100f1844175c7fbed7a8175cb857701aefbb02d714d51d1b5bc8bb26daec83020c363e85b848ff8bfac78404caad3f0cbb80302047c435bb50066306402306e1e58a807d36c26b82fb6032207f9a94c47a76e823ab0b80f6f372bdd9139a5a037a3b675be1c2bc6dcf9f045409b210230299824910c5ab2faa3228324b58e53ae2511e00235efbbfd82cb8f12673e412643fdc7b925b593019592406aca69024b0302047c435bb500683066023100ea8462b328ce632cd26bc23f8d4a7ae00ae468fa8ddea1d2f23337e444030e617875a8b6052b0928d681ddbb5b8a64e7023100e02627f74af3df3c27bfca2abad89de0a93c34b97a9b7d6df30d19977c3ae51078a8d5be08bde4fd1bea97cd48df123b0302047c435bb50067306502304bfccb734476a4450f5026efb342f1fae08423064713aa964875315bc07a9f23d2b83bf121ca08ad9eee142a7009067f023100fc6836c63b6aa859146849b6011aa650db26a558f6a7ccfcd451f988ca9341aef498f782db49a19d9ebfe4c17c7530100302047c435bb50068306602310089ac829107ba8aacfe2bd1c2fd230021472c63d1ea97b668e9ac47ac488938050e055d365d78ba29080927dabeea529d023100ab7ced5e26779835ad832d097d72f0be2110863cfa5cfcef447548896948bffd0a13b3efe058f634c7c7e5c4ccdb90b80302047c435bb50066306402303e1c564d68332529256301f6e9f5d425d67873f0b76e857ed6af5288f2ef579b5098c67fb8a12ed2cdbfaf6571060df5023056e1a184642e319a5ab0e5e1f0b4d591633a2da9eaa5bc302ef6781498925d5d5eb65dce3c2deffcf18241c47de41a0d0302047c435bb500673065023100ee202ef6247f158d3c2576250f48f4ee27b0ec709076aa21b2a31edec9679424d45f7dfc3b2b48f6d52505b345ace4940230479b78e710a44a792915f0a93f03d00e441987c2f862c1cb2ded089e310f479e914fede5efed2e56a72d0fd8cefb8dc10302047c435bb500673065023100e63c99553415413f5cf1ba9849dd9f18b65e0ae30c8741fdc1ac49c016121e0df051c94ae6615772083164604e3ebcf0023079a2573b95efd93567f754ddc0130eb5013d2449beeef0404d2b188746becef93cab218ac9c75fee49cb1a8df4d232200302047c435bb500683066023100b56063886eea7329d9ab7f59623792a907684028c70eb0401eb8fd2009ab6882b7cb254c359dfac2ffbc19c9c2123391023100d0fbee5189cd6bfa286801d5f6f62610f5ab8abb897dc23bff14cd3916a84cc41042998843f7854c62ddb68d956b37750302047c435bb5006730650231008cf629ffab11fa859ac5c3cdebe17e8288bf7f769819885066e33eb7c89adaec650f3beb5b12b6e6880f709189ee013e02303e6bdeeefec2736b3fa0237f51dde4bdf4e9bb341d98292e14cf7eccd2c4442f866162d509fa33cc28f0407c2283e2770302047c435bb500683066023100a4c1672f3c64ea465aaeee46d827d8441135d3ec7808cbae1556de1c8ac047f230ddedc6534687cffae0134b0cd11d25023100efccd9bd6c5da5ab865d6541912f5c1781e2803a325f8afba95cdbb18f13ffd31ed5432f9bc1adc9a374fdf0b6eb07670302047c435bb500673065023100991ef753173c1f8f50d79b867405789198e4f4ea3d519d9a7c3d581153b5dad16c4a98f4d875ad0cdf4911f9009a73d402302a25112ed85d489dcf6b28b5dc8c0cb63fccdb652d96cbc1e748de0b28e2184518a7050d59a65ec1349930719a37de5c0302047c435bb500683066023100f636dbea0211a5ad53808dfe295da909a6663f3c1a90612aaad901c2f36fc2f98fab079208ec1655471c9f33e95f35fb02310089b990f766e28950a603e7d76af730a9ca64abde3e2b66d58978b9043ac88daf2c6e2e82053962afb54311d5f17688f90302047c435bb500683066023100a80af2c9e53b348dfed2c9e114c2c6f0e9faebc4142f2e86e1025197e135c85dddea84fb74b0e44e1482dc6a15ff364c023100902063e131a06a129f15871bb8e7456a53a476c406fd17c63b13c798d58e0b387216273fe19a1025c1121f719b89fedb0302047c435bb500663064023028da1648fb7f2af70a7c60c274f99d3d0ba9ffc6be19ebd7d719412a10267bba30db6df3c7d9c97233b1e5df5f09b68c023000d188309f5f5d3673feb3803240d248008b4a7e89e060ba5db4a2f7f8b3852e592138f7686fce0c65008bc1c3409d250302047c435bb50067306502300e36a3e819cf62341a032a910f396f4f7a57e1e62bc059a1ac24aed24ed6e47ec1cef806d55606641e7b1354cee1d130023100a75cfa5cec6b0255d8003692e1710b5f8eebc77372d378e97760d359378c2b15632d5c7b1fb4f3f79835360c972842a50302047c435bb500683066023100c7f497fe01ccb4177b4f0956469290710adb49d5c4b543d0a28fb002a832b773b10c32ef73e359d5c417af8dd8d61d03023100cf308fddc895be357b06c2fbca4df792f92534101eb461b16ddb8654f2915900ff39c10852bcbf757e14a0d5a0a14cc10302047c435bb50067306502303049f64274d85c9612c1a3f8e68c60b550c4accdfdfbbc3cc62095cc9dadb1c6dceb872ce4242dcdd168c481f0993442023100e85f21cdb43ca75161afe8423c0e1d7be9cdf5da592427c68342323bac8ec094b2ed86a8f07536e57dc43b56e28ca1960302047c435bb5006730650231008cfbc782bd18cbcf4009f56019125329ef64295b7a13f7974f1086ccbc941bc4a3a9cee6a4670d5d52a06181d0e3ff6902307a322094c99905b5c9b655316117fc493567582e66c7e5ec246840cdc6c10d9ef11872b68ab2c45ba8b30b590ef3fafb0302047c435bb50067306502304d87edf415d489bfe0ef1c69c6b0b15437b2b829d53ecab055c3b02b69e5e5910d7932a4cf551931743fac3c42dd15420231008ed52c19378d3fa84db3b85f8c53919e4969cffe817acbe4bae61add18507ca2470a8e49d4e3c4b8c38ae66370b60ef20302047c435bb500673065023075bd3d21838b9719d16db577ddb845805a49ad73225ae2cefe086c457a9f658cd7e157fd30a4a204f7b2355f871e10620231009d390c9641a7ee831ddbecc58b5f8559b9079c3c103db3cdbe3aee140c5e132fc1e165e89d5064ed5ef91b117b72f0090302047c435bb500673065023100cc1ce6af7e85ab5dcdfdec666d8bc2da5231aa534eb566e374f0c996fe36c5d1431fc87b068a425f30819e86af1de68d02307bd4bede366d506e2248f430896ff1f5058dd73ae47ef8df4cac897983115648befaa2611cdcd547f8819202446eda1a0302047c435bb500683066023100c253c5ea74d7c8398ea60d6efe3b06d7a26d8070186ddd40a85f3fc75e1c096182274d6a98e9f56112c01ee28af5fbe0023100bea1ac7d317514bf4786a1368dbffd33c565530973e45bf637ca4aeefc337e7fcb5081be2e8dc3a40b33bb9307e7b69f0302047c435bb500683066023100f91307d6341779b1e66023558003480497874f8b1b851e9336fa4c7946f229fdeba435da72ec3150d99716ce10cde978023100f59a15b5ec2e3029da1cd96c3fb8895f03e16c28dafcc4773b1d23b235b5af6f8f607d90a33511e7c6057137cb1568990302047c435bb50067306502307003df91512cf8c8aed4e2af3dc05fae95df0a0a93861d7e1bac815988bdad4e41a1645841c743ddcf0daebac75166be023100b2b0a541a7b510bdcac8fff2c1921d83986b4d9495f622a03e03f547e89baf1bc84660891a4cdff69e228c5b6d3507ec0302047c435bb500683066023100d4998d88f8e4fa304b7d68abc4201ce7894d257dab5cb6b59e7677278e284be634b0103771139aa2398aa9f47d664f24023100ddbb94f4f743191bdb20952ac044bd5be371edc439ea7f3479fa67b79e7e9cdc73831764822dd78664b0dfc3ed8f4af80302047c435bb500673065023023f637be48479a58cd80a97a8879d580a2b1cf4be7a9d8a8d889dc3aa46e56bdf1a8c84179c4ad63f005bd1cc1cf951f02310087b1e7e88254204c2e8ba8314f18c8aed6767ef6935771b3855814b1365d119aa28d6a5d835d9c108e8f5661a961b79f0302047c435bb5006630640230249b13865f3a31659c73761bbd7ecd70304642575bbf43905dc9736e41e30aedf96099a53dbb3befc55a3fcca4ea6d0a0230057a3aab5f4de00de98e2df5aeb63d435887b91707266594a60dddba60c6fe0fc24d942014924944e34b52e369dda4e50302047c435bb50066306402301139fb7c22bbe6f3e86a69f58d087490a7f5abe51131eb2d878f251e05de763c313513b76323c3143b92b495958c6b7602307575a81c53986ac22169cd99cf38c1ec95551a55c1625346b875f57e2f889314b06aefda3726a32fa17d1a768dc92b5f0302047c435bb50067306502300cc9e7a5e08260f66703773de0d7285920434a01d33dd96716d06cf0d869cf9eb3c0bc5f1cbc325d40f0b98706d0ab98023100b2e160e430ad6bc10913c6e115206032b1e88c14b90a686ff9e22bf34a36117804967505f608388452fb970c5be738af0302047c435bb500673065023100d04ebe627c9cc2898d528670da2f1ca28a09f6a303fae5549dfb7587eb06cc3cd0cfcb1faadc2e82030f908c87d992dd02306cbee9e17ac39d4a9e082db50d11709d50b04a4182f6f0097ed2cd7c9cb3cedc598f07438cffc7f74bd502a975e0be010302047c435bb50067306502306c6710c542e5e0a645fc6b88336c892b105fa2c924f9cf7eef6490148cf832472ff5cfd026fb78690db62d799987015c023100aa53de2c6fd4aeb3e69b9f2abf01ebc0140e1153c2f8b5358ab1991e5665dc2e80605d6ecdecfe70c01a9b3d6a99b98d0302047c435bb50066306402301dde6c325052976e4e862a6228122fae2b5d52891fd65bc67bc47198cf87423f865f4a27cb29127cd11fba94ebe63ae802301e22c8eaa0b86540364e5bc41063ef0507c27bd3d78861f99b055ce74093bb772a77fa607ba66704c71b3c8aa72325fa0302047c435bb50067306502310099d1f8f94af071dda5f64832e4262a21e49553767d2719eb71b6c1750060c067215d8a55b52d5115384b2966dc43d67b0230353ddab1e9420712c01d2fa6ac8e3f648fbcbe1fc3830942196e2c3ccf76bbff009c6ecf16c4ea7e393643dbc39fb2910302047c435bb5006630640230437221b3e2264841cbf7258f80db30affea719f58354a1741fb117016b70c9f02057ee7920c284b76357a01e29651270023071f240e9ee19cee6deafec7d174fbc2c1fab3f0e05b1c8814d9f6a4b9b1cab4162b735827f5285a79ef7ded1d0b4d1e60302047c435bb500673065023100949cafa95d18f86e2e270f238ec02bf1c01d2522399e2e031d14be2cae28f3ec0591311bcd68615bfeac27bc54802b6e02303715eb750a3d52adc5f7c4d603bc4b294744f30fd4f1445b998324be5b0fd0b7fbb40ef63342fd88cff30e0e255bbc0b0302047c435bb5006730650230671a942d2c80990106921131ef517c85c0db1265b472d14a8a5f225fc65ab457c70d04c2f5ca14e2a2a49e3f4456cb4d023100f298b2b23141dfa55ee1493cbddfa4b68e249268acc80a9da101c8601b3f76715c88dc1462c07d00f9651e585a62d8070302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023063f28544397e49000c85f9f67ec849c42fc393034233a2fab6ed80d982b5025de946f26ac8172b0c85e0c42d7a8eb7cc023100d049ad38a3fac6e2b252152113c825e6aa50bfe57cecfd2a3da7c9bd786671ece6423e7b74665f49f13ccc2a49e5daf90302047c435bb500663064023078b5b64459ec3a9c908922acc77a1e68d66376b3b4e1dd80e5a05948430e80fe904ce93cb1ece919bc49280e6183f0fa02305ee560d02889170179bff13cd9a3c62d4266be61c0759c4065a05485e89b6e12c029449c7c8c6e36a3ef7934d92dc5e00302047c435bb50067306502310093689fc441ebf9a1eb068cf8b085ce526f7253405f523c9c1f650df74aae0dcb6d4008e9209413e219c9ca4bee57c93f02301f00141bcf0319fa3c07511e5c952e290653cb47691b6fb24465ed1caf4c29631bb479e88b1c58dd1e5626624d8532050302047c435bb500673065023100a97061cc8df26cec7382fe8d1fc022f83abaff92324a4d628a47adf94af0a9d7f1311a2b7b892d897934a080194174cc02306e58f2dd13a4ad70cfbc7ef0ab93c13bc3a8ef7490e4bd91117c149fce1add10606dd35d68c205d2b06f9925422f85970302047c435bb500683066023100a30727812bee31869f20f6084e520b3e9df1c10d7a87be25a28cbfdef27f0e545c5989a2177dadee3675971bdb54dc46023100acd0471586a6d99aac29d85c79fd49f9244f35a493f3879cb380de2fd3714dcd2da0f8c96356c326d69ce804764d0a130302047c435bb50067306502310083f8975e7edee3ff8d264fcb7d777b4af500caf09c40d4e9da4dbf9402bc06e167161ae5931667f4db31a1b60592b4db02306cbb61d866f5d6438d16035a07196c9ad19001eba1202c749b6702bc23a5fe122e6f17828b2a61ffa41dba41222db8640302047c435bb500683066023100a333e3d95d7e4596fba4b6ae9ac285c2238f2554f33e86aa2c366dd421273153a93ceb99b03b8f4d9f50815612c680f5023100fe8a7a424e252bea2225e51d59a7eb27f2ef75d4fa7bee05f7ac57e114364417651b1fade9a93608ff0bbd8446a0c5150302047c435bb50067306502301295c4d87abf1d8770ad545cbfb44d9db82df92b90df01e3baf734a15fc22caae0d81b8bbf58f3b0f77fc893b55514ae023100b5d0b50fdb987bb2687c7b0ffc256e04995b2e1cc152dd7797688ac0b51335673c1d949ed6f948aec8d47091cc9ec8d50302047c435bb50067306502304ca81df3b8dcd56c911982657c1ccd5b389f030b7384c543dea49ddf0afbcba2d2b821db93fb8c881d06c253b8ed58b5023100f38e1fc3a5e74e0ae5fff2a481d4064533957bed0cad28a38db14ca5a35d0604e68c6d671593fb581d836857434cc9780302047c435bb50067306502302fb9eeacb909e2a7742c40ee48fb91536926702ca7e91e165d788a8a3ae4483f2fd5697bca8a22cc7092fc95f1ada7a8023100eb5b4d5120582fb8240a02c8526d7c1def19c6708f0f65e4b3eb4d0965c88b33cf431ddfe867570e52610d8f0ce4f9bb0302047c435bb500673065023100846150a9e2791555f3bc33946d088e21f66a0eaac4ecfb3c057c5c05ca2dad0a7a0b110d2d977c0cab083323541578af02302dbc5d2dec070de8cd1a1ec4b8539d7a00f2901fca8ddba0b9ffa4cbeb1d099ddda5ba04139a6df3385f76bea1f8a7dc0302047c435bb500683066023100f8a0a01b1593ede08bc8e74dc91b2047956cc8dc43cee5eca49c7f561616379d478c3242f13d6c8130d0a1d782df641d0231009bb5ca36d8104239827acf70e85c1319505dd519c1f9f480277b0a555eb673c4c3944791477a7a2e2a5608303f0bfc7c0302047c435bb50066306402301f7bbc7423bfa2b96abcf36b538cc2184420384394bddd8d480d8653aa84eb40312dfaa708c5eadc9b04e4c5da106fe902305827593b9399a9d29f4fa6a7d810c57102a3cfb1d9ceede4795a05649f57c864e06cc8bd454e916a23a300931f4dbb900302047c435bb500683066023100d35765452a98139752d6eb384e412e9b24f3c320727450859c1dec012808cbd96be134a708a69e33fc6cf2a98fda874802310085a24683d2b314ad125c4b95b3aafee7c579232f4ea0cc4019fac114a660d43a6143eaafd99665e3f25c61f0fbf81e840302047c435bb50066306402304aae1cb0e77899db0cc6c04e6d6aa69cb56296b1efa854933622c780018a65d0bfbf8655b17c24b5f259250858a2dd5f02306928fe2eae989581fd8a949b21cf24b579381ff4b868a2361ac7c05afabb1924a2b5d1c02411fa4aba4bf446eb8199b50302047c435bb500673065023100f2e86d8478b57b27940be3933a9bd77f39a408464ddf8e456b4051ab2bf066acdd3e35def59b732ff0101ae4539d559a0230527e5928fba9ec5ad8d30d31928cf835ba0fc7b337e82687b6479ba5a66b0b89129566ce600ed45706a50fc12b2027fc0302047c435bb50066306402302d4b0a1c0de8a3291ff1b304ed4f3171ae64e067083ab6bb976ca096767c9b7e1b6f825499a6c7961576c52860f32bde023075c93537f65eeadccbf5c5f8f052b49710a6d3517f7d889778c7e928868d762ca3663756a0aad106fc80a00b3c31f68b0302047c435bb5006630640230357c0e2f01cb2bc3a499dc435fd74b7194cf47b90d660b667d18a7ff2745f2dad445415ba087a694d0370dd1aa5c25f7023027851f3bd1bfdaf152c69901fd515038a3fe1f47d901b2fddbe7b12ffd056c8a1a581fc9b78fa132ac694669702939cf0302047c435bb500663064023005a08a02ca27915d2d4474c17803239f3de301826aa699e99ccd43a45b3cc05eb69a17135b8b8360a41cc75aab9c85ec02302da5efa7eec1059e6b7e0df0f9360e5b38812ec5d934da8b64f88b7b92b82473b3abe352e707b9e3ca5f096ef4a5a90d0302047c435bb500673065023100df41de218d6a31f0e7376a54d239ab74a88b8fc9b1a8341a55f9e692c9a4e222771422c8fe815aa14d58436b2b4ff17a02300407806f7a3c95a6766b33da976cc47cae5b678c86ce4f8caff979d82a478e94e0f151469c1b3017a52affad53724f830302047c435bb500683066023100aa18648f12af68fe541f58e325c59740d57b57f474fecf9d4128d6a2b3cda21ae9f08db92367751104109d60f976e827023100af4346b037f24b7667c5bac9856a440b4a0f8dc80a2bf2994008a46bf02be5cc59ce82921af465378061780531a0ee640302047c435bb50066306402307456a07a016cb42d041fbd5e3ce4ed533914f4fcf3e6b4a7f06cb4c71b3cd22aea27731159f39ae21079840978b0f0a902307844d95b4311678a4c7cdc387a1ebf7088b26998ba9ac942a9b12d371af85bd68ae00e4d07377a4a4dae8ce207b41ac50302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50067306502300e6d085c9af1702994d5304be2ba028e43d182dbad02bb92f14f3d7d3ed078ff77f310509f1ab1ab6c79851714d98968023100926597cbda8d75dbf9d0e94ae9a3417d781df14ec156b053ddf285dfa17c4b2560595840bdebf51b7e1ae2dbd2dc58040302047c435bb500673065023100fc3ac175ec00b04019187e93ff0e4e32b8c2af9445ec1c8832326fc7b42f543c944f2bffd1fdfc0a2013c3d320d9a323023012b0ad3c74817ef624f4f50a19193ca006a154f78543f74c54d5852cace81702303091ea4a6d819886844910429e07d10302047c435bb500673065023100b9afe2f380507a6e4dafe5bf52631478563b32e18bc5812f517b8fa97eb7994e84e5ac87b141054b178d276b5ffb0cf7023070015da066b100e93666dabdd5f11953986bee56d26df489ea90ded7dd7ef69fe141193e48c516f3d09269ecd7df41c80302047c435bb50067306502307fe2cff1f0869ab11181c287463b02eb9c39fa21b3b6b39595d113c9cef902a564241f48db28bf637de96a58bd2bd38e0231008efbe51736d1c05b47d0540b67916cec9ee947415c6b82938bdef4e8eaf5491930b64f3c687441d669b8930966646c170302047c435bb500683066023100a6e09328a028ef7a3fbec0bd72740d4089fa2270c1d08358d3b3fb8d59d13def00e0c9c7e5583da6afdc39d2c72ab8f40231008383241e9eac1fbcc438585e731e292c870ebbd0ad7494d98d27efd1fcff898f020c6e630267bc165b20078e5ebeb22e0302047c435bb50067306502300b6b30c7b31140443df85bea9e6e6d7815260c6462256e1b932544c23f71c77d2a8d79f56055ed7500184cc1e295630c023100e75a52d6314903a431eeef348c82db7919d91be0c4370d0e66ad2ce5b817dcbe0a3d3e045d561e90ceee4a58554351680302047c435bb50066306402300440ea6f1e0d2897b8b69c8d255ac665afbd31b6f906769fc30ad5c60f474f69e8250e079a34505b332eb7497479218b02301774bddb8fc9ea319a03afd2725d21806cd66585f93ac942028ad214c9aa2606cef9627a769ba53803e17fb3a185508b0302047c435bb500683066023100be21d1aa7db6e4ac0a3ce766fdb64212be44827d72ccd2d2e36da9cfbe58ad1460677e5fe5a8a1dc09afd20019b2fe02023100e8339a3767a4be3c43674b009d0c2f7f8556c390953430bd51847d72f9e1e533260e8fbc2704de83af67c570b0d961120302047c435bb50066306402307de1fae4803f357334e9638916bab988e511a84f2de280e6840cd1abeff1c5a9525e372346147909510c63f51e3a7c0a0230226968e8dd2c5cdd43635ea95733dd7dca1ef660482948b250a8f01f3eafd7c7f1520fc672ec45f6b50707fa5c6723380302047c435bb500683066023100c295a8a876462ab46e691a6dfb5b6031fcc850abf664e21574ea770defdf148246707c32c65f61e502bfb1975d785b86023100b00686b627d47dab58e52f38c5590efe775726a8535bf5b404a891cec4485eff45f08931dfa97a8576b041344b55522d0302047c435bb50066306402301b29fa85c3d472540eec876e0f2ff93eeab9a97cf410bd1357f24061cc0c0148bb7f1fcc222994d3b0c23538ddd6c8260230579803b05e358d4bdee71be47f98eb1cd46afa43027f075bd9db9950b560d559c5aea81565f577b3d97be54df4fb31f20302047c435bb50066306402300fa5c867a76b7eac273150ef0cc834ed56a5225823a2408cd85a26730c51946c7b5a429da16a4264f293e6e75179355d023011bd2e270021474075e53b713ae25b8b414d7078ca4c0b4a23cc7f32967eef32778462dc1db7b6c15d549a72e6070ea00302047c435bb500683066023100d22a3fc136d9c43db1956b956d76d2ab7331368321d3509e4022287285da9af32a627b52ff3a0d18901af83d6f6abe7f023100e29d2a1c9009fd5a679b981a723f692add8c62c8c4131247ca9b9057447c38c9d77b717ec4162ca7072c6111b09e6e290302047c435bb500683066023100f988c666b4eec54944b248c95f3239a88649f7094c83dd26b9ecb69589bd6c65d52dabbe45a1bef1d6c5a026b9a55f00023100b353ee8149be4e18333cf9a68080a32335d36148eec6d8e4b92f61071cbf7ff4e483a8647c78d24e5dd51b8dae6917820302047c435bb50067306502301be0251141e6131092e2e8f52c508f5ea20a0b0a601e7c1a7d981cc714cef9fc6f0ea317311888b1776f1fd80fafc541023100c47ce4c57f759f6b3e5d1fc3096612776d163c301db8bbd66cd0dd2baf8f70c83ac5e1b76ac318ae8873485d12d35e1f0302047c435bb500663064023008f199a7a9238ba7db040e7c44be549439e58cf2f8e44e234eec9315f3324d0177b39fc6d3bf1caea41c5d0ccca8393a02307d9ff4d0d35a8bbd899f52f9b12348e8078887f536b20c61cdb573b3809e58865b80192582791f1f92b4bdcc7aa7dd4b0302047c435bb50067306502310089a21a11be0b9f58bbd22ff3e407f1a70e0a9c63234017ea9714f1d333f73f67ecb0b9dd2c43e741704a2dcbe01744b602303f9a2b7c916eccc6d750f0621379c5dc5fbeffe0d583942befbbb6c1f13ef80791c92a9425beca9f633d6b59009c4f430302047c435bb50066306402304f4cd91e9e9f2d7155d941748450da2f8798cf19d9d5ac68a5197e25fec14c5a313484b20cafa920563604da931dcbcd02307b4c36c0868fcbabdebf3fe6201b533090421d8c646fd540ef6b75f5457242d79c2e326494bc31886c9da608e1b522f60302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500683066023100b05ce01af5a578d84d38d0c6e14116f81ca873c7c410265811b934172c95f95be0f1b86ff34da7609a866162b4d48905023100bb904cbcd8be26605e6c7c1a418ed87225220787f35bd962da9b441531f1859138508c5bbceff9b93fb2ee2ce048385e0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500683066023100e2ef656ad032e7eb7627c5e33f4c9804778fbda1dd38e4287c3a62d389fb73983fa71dee629b4d559b5cc6986364f0c40231009da3dc88c6e47744a11eefa349b8f669a2877566fd7cad532b152a835a8b872018c13ae4d23d6aa065745b870dc537e40302047c435bb500673065023100b8bd5759bb66d82ea0db78c24358c6013090e6e5bc491d11f7d1ef9076d0887fe9ee9782900fd80c8805819953f1831f02301f4eb678424be74f4674e1645591758e6f201e5c16d79cf9ebd719995c1404e280f46355c3c5fa5b9702b55c4896e7de0302047c435bb500673065023029fd59a20270f210823efdc458f69b0c1b05510fe86efbd32db603e9fc9551c3b6394ec9c2af5fee3856383d6d57b15b023100d2993f5c96359e9b21438b65049be42db7f65d99280b588d796dff006310c5edd732f16a812c15d66fb8a13ac09d9a570302047c435bb50066306402307cb77d20df1c5560441d418683cf9a4374af78965857c5338e0754a8567763b9787b884fc8ad511f9436053f3ea8cca2023036c28e070d9c8882d96839ed737806655c8fe7a0710f90cb79816a67644c20ce61fa33e2387ed997c258689e5a5816330302047c435bb50066306402301d368fc345123a84c06e32d9dcd4b375701f58f613fc0c9737952718effb1dbf7cf7bda32025e55e9347b3cda43d86160230738ae2de4ec911035abcbec0ec63d8ebb8ac0dc8b1e53856a63b1981283dcc01dd221882938f6c25a8b11890d5d4dfeb0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50067306502301891aecbf551f88def4fa43d5e43460329392d2ed2415a6f14d29d93a91ebcc356e5caa039007d2bd3e94ee23a19157c0231009a407448ab3c43b2d380ce160f3a84477ed43b8eba5c55874ea8505292a7f22d59dbf5554d20c9ce9161e8ca6a2a61f20302047c435bb50066306402307f97bce3d21bfd031a61425a13eff4466d563f36a2b7f80e088f24336c17d606fcb0aeafe84701cfe530177101fe2125023031b319d7c4c6114018e2a65a17f4ecc432b24bf6491e0fcfb5c778a6ec9c7f3902dbf5f51a7cafe054eb7a76b66e92070302047c435bb50066306402306bbb98e562764f2bfe3fc085002691e6c7066a6f31f36e2bda3c937d25e460ede3ae760c6a3944c72a42636d89d935ee0230555497535f8149670ce25c254ccf598b3662b3a286c042bf77a19de326f07605b0d0a7994b2b5492af1c4625f3ce9c980302047c435bb50066306402301412bb4024332ca47c1c95332d9fd04fbfc4988a229b21b7542ee2af3bd5c96d897811453f254e1c39121e443aad9bec02301f3f418aec0864d8370c88e1badf0babe0c4bfc8ca6316e9b99272a078d57409960619afef5d5f9682b9e9c799687b210302047c435bb500673065023100840e48953fec1eef0ba0d35cb402ebe6f803d360918d620567c045e2b39b336a5af9a5db4eece8867d400d9c1419d54d02306540ddf420d29329559b8fcfff6456c1dc168ba6fde966bf54512ee789e5c6c7a0a429ddbcb18f59702299633d98864a0302047c435bb500683066023100bdf09f790348edd01e4d4755c941054ebe6698339fe10980a3889acb8726a370fed053ea88a7bbadb9d053d272173b05023100dd9d10f6ed8ef54addd331e4c3b95f3c4dfc5ea867647725f22ce531727d1f9583d18bbf2d96c33d55eb3400fb4ec27f0302047c435bb50067306502300c713c0eb226d3deb8775b9683809f8435c669af586b909c8507f530bf93dbc69c25a4c6ca0bdc59a54fa21a36aa7b00023100c8a928a6883132b9c068a75beffdbb7b83533824e88ed8209e551f81f3365d95bfcfb421defb8667ab25f1214bc946b20302047c435bb50067306502310091770a2e5e353c5f3fc1d04935be3e169580da4e1cf4bd6a87aef9db7df698a7f347e4ce7cef21c828939f9d6a10b8f3023069be249538a53c79f96aeb9d6a393b806cdf48758af48b19a131837f3cf345f966f14e8fdb1d4a436c0050fa8012b1f20302047c435bb500683066023100e9e16b321edee79a7eafc0d35b61c84c8a98e4ed4dd0842e320e089d7f681d9c3881cac7431b69173b3fc1838d596f42023100df60845a786119c6d956095ec6856e27313aaadaa0f9772ffa744a421f58931703dc91cb5692e4c6b4ddc0547fec02ce0302047c435bb5006630640230709f4a2d800ce120bfec52eba3dd2e68471749390e58712af2bdcb5a60a8b0799bd43de24a60318c3137b195b89bb597023027257657b353c2c406df25a27f4cceca5569829b532104e37f9de861f491e62e980c0c8ccd6ee097a39374bf19ece2470302047c435bb50066306402305ab5cfa42b56fdbf8f517ae5aac429236a81ae59985f7243f411092d46cb622381ef6dfff8698f4e9dccb905cf817baf02306d5e9fc683ba569b515420755685706a0aeaeaabeda21ba392dc84830deadf82c6a631c21b0328fba9bd1ef6eb5e407f0302047c435bb500663064023058f87fb7131cc83d78f8b88415881d68881a5b81dc8fd57ad400d68ef2c775cacd71f4a635443aacf4777330567b1438023024383ebbd6d107af5bd105c2693083ac54a5c614b091a9575a1674d950abc60a0bac82c3c977567f14b43834358d00ba0302047c435bb500683066023100cf9f68a48ef920fa11c28a4ddbda03cdc94893f6fd59f74cd9f0586718e2b2991ec3906c4d6a31c490834f83a9e7264a023100994784169a77e9909c17bdf53714cb138757ad8d8917daaa1cb34c55e32df1b47065d2c66f069badc9fb4999c0f5d9050302047c435bb5006630640230306a7cf8bb26baada47471f2a359c5d43c2ed3a2d41ed1fe2f6a99b8abb6a20e14f38d6e237bb733bd1b7fbce493c35b023004b97a23a5e5a592c6aa2dace9e7b9a47a8979bde473028f3beafa0a972e4ad0d37139c4caed401d3fb60d84ba3e1c810302047c435bb5006630640230477565c8bcaa2c6ee603b08aa8195abea80c8072d13a161492b8981d7ba7d168af68138b99d9a549bb41a2bf5b8506a102304fef7c5cf523950f294e4ce789f61a7b27971d5106d786c9e16c59dd1332eb1c2739b404a311399e3248c76ce06c17e20302047c435bb500683066023100ac4d0a32870c1c9f1acd4cdafc5b0b66a0eb3dcb6718aa87176f703fa18487442ea7fed20c65729c187385e7674b0de1023100abada827b0b07260c95376ed1f875b845886ba5fbd564cd8bdd6667edf711dbd4ab4889a0e93080534dd1df197400eb20302047c435bb500673065023100ecf1049f08f27061fdcfc42c3c2bae6c1db869924707d02fb78a503eefe60f2744f9668c756203dc875fc7cc4ba5f55d02300a4c6b58cb829c81922040974ca18ce2b03922561ba6ae3528eada084c9424cc16b56ef6acd8d9bfd5782059d8381da60302047c435bb500673065023100d761f1bc650596d809227827c741bbb152d4a08d05059acce337c87e1bc83245cbfe50d753808f32b091301f3fa8ee5d0230684e52910d1d253e4502f2d6d53dafcc0f521ae0fef6f6f748f81ca10cbe2f8f3e58d9bd69702db1f85e0193c862185e0302047c435bb500673065023100deed6bbeaa04e012d0d6c38806368862e4315bfd6e95a4e8307dead8ccc3c2bb1c245c33a3fb26213b216a7f260e52c00230492012e28b3b731b6b7f1c9bb2cdba3cc411bbc223593e882a185d4974ae83dee01ae4511d84b2d54abbcbd88b1d29070302047c435bb500673065023019cef96ae297194fd50bac452313554f3c5255aac5170471c22b0c6562952a3c2a61b0a417947508dbb4b373c5726bd40231009aa93dbdf5a0bd30fbd3291cd6bb24a7721ed85f8e08c9afc16d63c7e5dfa30afead9b9f5b41d7f727a028ea6738ca1b0302047c435bb5006830660231009219c6d3356225afb7c92739dae4f4b3996798bc1c3c95d20349644cac55a78957b536f6496fa680e8f76038d76ac599023100d5c1345cc48a15fd9755c3758d8d2cdd665f28046fc3d3c1c68d4a9628fb7d7f651fb6e969f27b02f5ea27a51cb269250302047c435bb5006730650231009aa8f4b4fb0033291328f4521f916123c7e1dc08c24fbf162ecca7a7c68479b20ec884ed340141984783d69052c1a24802305d2272fb391a764d24d727a3e02db7642ec09958c2269c0b14b3f8c2255817cd06f606fc5d06733299deace3f725cd9c0302047c435bb500683066023100ab440f9a2fe4e3589c9b8ffd95c1d6081fe75f6d4dcdf138bc485fdea5d831d2a244de29fddd7381dfc90e5412b953de023100a3611a5c7e96ea5bfdc0aac67c7465c58e2dd02bcf106f2a8134fe9c948eb6ff40bf9f5a9368e6ba72b95ff58103fad40302047c435bb500683066023100f98106c73499a093d0b43d47a29a2aab0573b78dd0ded89bf4f7cb9963318dab4f69ec4f495a18943d2ca53897ad35d8023100cfaa19e304300609c7a6c4012d1e0372060721682ec63e107644612d63efa26226922788000e512a6cbd4b899bd426f70302047c435bb5006630640230324a0b05ffbf3f5ecd626d19e941b6b2b520d45709bfc0f6f008e8ce547e56d619b268d180554b8e1e9b8cf1826df69a02304616953c2ed8b85f81ed5309b256f506ed4c250644ac6b37609814e269c684123110526fcdc386094128241ba5feeeae0302047c435bb5006830660231008f36b3ff9fcddc421db228a6975868c7618a34e9c14ff7b4a468a4a43bcacd087ca55da562c1ab20117cc5a475f92d38023100a7101ecc557e9257f7e15036f75677df637c0cab968d84f28173fb3205b8a0f5f54265e1c7ad9af34e56b8bfef591ed20302047c435bb500673065023009d79d524a439c19e227c6901825552a5d210939a30bfb8b09f8f1b26eeed2b3bd7dcb3188cd2037bf3caf3106e85bb00231009de50385fd89195dd3b3184da9b118176b8d4b0df8c9f01cbec82302bb44a4f2476dc60ef2446ef252d4d5c20cf30d520302047c435bb500683066023100946ab2a8fdb57359cfdbbeb28a41e4828ca2fe75fcdf6f1b49dbb74d12e2b9d6b314ed0f342aba90d191a2d4115f0de5023100ae9e3dd073bfd037522e35f78392810473f5b3c53144378bcc1e2f89b066c995e3629fba720ded5e8423e41f66879e620302047c435bb5006630640230533762aa06f8abd5d724becc07a16c1b59a412ee12b331ff73d23a751bc23be9ac5bc209269e03292f84124399a3409902304a7b718fcbee148b1bd4e02ca9d36eb73eeb52abb53835bc1d17e74511c8f9fb15012e260a0877f6734b6beb042323c30302047c435bb500683066023100fffbc153202dc79936a320fcc2a883ab2a0a76155783013a51b771947b25b6d3afce50b872b38b6e582fd3c8e0fde14a023100a80da04d73bd9fc5ab235756303942618d3b6c629f7c3b433100dec799d0ab2ac48cd9fc5f4b8bc780e434f110b8a6280302047c435bb50067306502305be365ad3adb9cc5017eb7f99bb81a5d0351c1286ca9f8d488af3717b9e6432c97954a2e7162c72984b450c65b8ccb09023100966126b2678ad6331d38c554f3125b798f72d1ccef0adc9213b8829a9f763dbe3f5dcf947e42ed5b0e4907d9fad2a2270302047c435bb50067306502304acdcb8d0333fc70bbd24e497acb6c1cb3189420c7b31aff9581eda2fb1e52207ef2fddb784dc9bc4dbeb888c3f5b255023100a601c0b1f360891e96a8dcaa67620bc667367a5dbffc3327aa1b0dcad483810424b8e7a777a2f403ff1c8d9587caf9480302047c435bb50068306602310094407b5e18df6109b2f2122e69bd5af414cb8a2ffd1f0ba3f6269975f21876b9e97fe17dd711d731890ce6c611e6ebd6023100f62f4be50a25b9c5c6536935254ceca1c50e10a8cc0719a6f6cb216eef19e9b8f6c8ae634726c7fe6629fb399bf5f1510302047c435bb500683066023100f9c6cf0c185bfc186719b06c1351075c32d1c0e07a6081291ec3c4d4960cbf0c01468094ba10121b3547050871dbf630023100d57612d500d7524bdf881120f772f88911cb0d89fb22bc7349ad7e1cf344fd39680c6b606b67973f4b3ecc2b1ee59bfb0302047c435bb50066306402303a6d7dd96a75a7afb36f4ea806729d357d4ddfc5906744547543d16c60ed065018a68c6a30116e37deefc536575e2acb023074dff8ef4768941bb1934b47adecfee9b6d6fb8e8694acb95c9aaeaee05c98a86f0f01924b2c049562c67154f50445250302047c435bb50066306402305ffe0dce842a6e4a1a9a04e4bc1d90914dbad0900836e334605dccf9adae8f196628949bfd179cdfb46c4a3823ec5aad0230580d125deabe34a88b1bcb5b0aca7bddbec7fcdb63d631ed2e9ea2b71a6810b32c3227df3abd8c915ca57011a94908ce0302047c435bb500673065023061bfcdc7d4bbd2fd41d2934740ee69f900821ce0cb7cdf9039924435cd02a0846d470962e785d7ff3363d8ba3c882ff102310087c28f247e08b285e6f2f91c29c19225fa5ebce7444b5ac33dabcc9c462fdd9c9d47994c9fea9730032a4434836268820302047c435bb50067306502304fc8c8564aae2a05b3c8c72c816d7e3b9210e8a6f3d3fa08d322a54659afe1e55f09efcf5bf942d5e4fcdcd12c352cd2023100c740a5d96da6cc2db01cef0743a02f784512a829efa5a6be52bab122b5855f00070f95d1d5246f6e6a3592c4a5849c380302047c435bb50067306502302dd50247e388e59355128e20cd3cd079d2f563c0c2615c1c13157a301f62e92c61c632fbe4f50bdcbf170387c5f43c8302310084942c3b2618e6852e9962ecc2b3c03a740d3c728ccbf2a03376172f48468f34475d51cafd21ac08243431cd6d1a64f70302047c435bb5006630640230254d9a7869f032c1687508d5abb25401cba9c50c533e407d682eb61438f736b33f8e39acff2cc105c7fdc5577b7c940802303b2b0d6e26c5cbaa2cd597212f94e743f460913cd19a7f3f1c1c39f38bff67c974305a6aa648aa07ed163cf3070780640302047c435bb500683066023100c9cda6ae2d0bc27b4b8474deea909946bb2b309d07158da323b603d8974b43d3848b5e80bccdffeea027aff8a2255b13023100cac53ccb3330de00ab9d8084fc346fe839d360224a6364e97d79d0490b52968cbdc48ce2d9b1a24542b44ee5b57ed8430302047c435bb500673065023007636617d1e0f31a512d32b55502c18a1e2abf20714fee264bda3be34dfb7e68c967aa107fa16b28ffad63f085c28baf0231008b38449e9cd5ac97da957cba30e02ea031c55e348f3c2b8e1e9fa95ebdd4a5f17a7b9977f9c929580f83b7bec866da380302047c435bb500683066023100ba9f93ca881bd1a642cdcf76753d6dcc8928a851e0745e7f6fbd0480272b1d5d6079c6ab9ee950f62d1850f90372c4ec023100fe5eeadcaba257d774ef6bfb22e7ed83d89d8e862323726db0b00e63b5d74c62e6f14fe87e9fe843709c625ff723737b0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50067306502300d5578909f47d358b5a509b491a049d7b7a72c0b42d8c6a600aed7474cd4a2178ee1c980af9b6aa1fc9f5be5825e95ab02310085a3cf4b4f0c58171b67ad1b34cfe22d3bf902a1bb0f830d86ebace0979460fee6a9e3e46543ed68f7a1c6bc4dbb7dfa0302047c435bb50067306502306a062a1e40f1f93b0def20a9ac2e6bee3cdaaacef5165b949fd688179ea4ed5e9df1e3569e7b76aa93c16c789b1efb72023100fe81b488760a32022a1248c214c1f73b2737bb33d6602687d0e6aee99c71630586b743d5550067e9f050d2ca75d72ae30302047c435bb500673065023100ad501bca503b4ab1be980255f6fa222b574bc6b3c39b77cbef12899a47fe9c6725a7ed6ffb5fcde447d1e410be9bd8c1023015b32490da8aa492b577d7416167d0b44d7f705dff86bdf47a8e683fd3cd911b8085fddabbcaa7c8d797c7d6b10d9f630302047c435bb500673065023032aa19e068ba04bb4b84405ccddfadf09192d567bdb022f3e168c11c901d9249568f83fbd858c39ef0d6e4213545a9c9023100b987b7a9fa057466a66ddc6de27107e16af13ff061585cad229a15785fb2559bc72c20e8385c1ef87cc7f7235ff9b1e90302047c435bb500673065023100cad92f6d27ed12eecdf627b4b7f0acafa07f23d21a953d0b2b3fe15aad642f483209d55a73c17f17f3df29af2c8b6ef702306fadbefbabc4aef6edfb28e74f51d28cf584a30aeda92fdc34d4bc42e4f1d54842805968017eb5c1fde3df374572b6a50302047c435bb500673065023100fbb9d6c2a10a0248224d49ab359c482e8d61bd921bc8ef59e480fa7d92c6d449b481b7b7c8ceaa1cea448d315cf82bb202300f070d7fb84be30ec887bfe9d6b5bc76686aa0c3fb86812c08c533fb07a4d1d6c497252fac6c4c2177b93e6a694091740302047c435bb500683066023100f858fbafbb6fd13567a8433d25c37526a62377e1a2e015b5a86cc6febeb7fc46e68a24224dddc900f68394477858aec0023100e76fe676e491ecc27a3281862b0017d7af4a241d15096618e2c877cdcf8111dda102be9222dbdbd43e174edbafd519520302047c435bb500673065023016187e183e93d1a0f8ff1f43d17dcafb92239e956bb80d134dc618b35e3a186a010fafa7abb93a5b914acb22f39650cf023100d1fe7d3980a97b1170bbe6812ebce40ed75d1250f8629c77e03c1363dc66455c54f519087082739b646c584db1f44fe20302047c435bb50067306502305ceed4b344b342ddc84d34056130bc261f491a0ffe5c01dc7a14e81d64542ba323f873b0a5bc4d6c671e5ce72a95c1a7023100cf13e59a01cb56266a2e599449765f915f6142073f8b06508f925446b2d8e03323b58dbde44f628cb72443c6414a84580302047c435bb50066306402305dc7330fa175cbf403a624f0711b6c7639d141e4bb5e0a33332a48c235cfeb2b9c908af865b71739689246a10ba2ece002301b7ed5081843e6721f7159dad19e9636053a56566dbfc511bf409f4f3eae53c285b68189cdb2b11d7c268dbe5dac9c530302047c435bb500673065023055875b3f1a3ba196d69bc492f2a03dceaf7e9cd18f207a8180e69fdcbb13814d88e25f6f170cc3171c11ff99f6054b0b023100c1138b3e10d242931032a98db17746d532445f2aecbda3a64219bd51bfee83ed11e86f2cbcfb7a797803e6d13f42d5200302047c435bb5006730650231008d731f9daa7925dc0b100fd8dbc45640eda946059a28cf78f4c2b87e8349f4188dfb762c73dac7667584b9333aab5a7b02303a3e231944d6956f0a142f5331b452c02d81253c8b4d995615b868cab7622ca43ec23ea4f035aa874af27fe8d30e18d30302047c435bb5006730650230511d9d26c09310bd0801c8152efaa98da45fd86d50a84f5b2ea7a91bc6e547d02c1c899fe261b3a0140655a43e3e9f200231009ea392e209b241896cb45594f4472f5c126fb0cd2764b2ae7bac3e799ace08411ec4634e06efdd7901faffaffd6f1af70302047c435bb500673065023100a064bc13ad085d5aec66877099a7c726f236d7d5115f0e57b260fdce2368917a2dd7761f8f3fd83291a4c8099b616c6e02305420cbb66d0f0c97fff7589e3a6a62414444a9fc9d90e8fa2775ef81b1282a36f4d17bd1e0aa2fd40af64ec985a196620302047c435bb500673065023100ce3713406b498926219a575da8e092c1586dfb4c8ed79317b9cac5967f957a9775a5b792e400481c99ebb71e00be2ac8023060e49fa5ce52220675e764f67caf7b568475b4df3138458b632860afd06c69808cae161801d752350bc6742f82550e9d0302047c435bb5006630640230449c2e1b79bc9e98ea68132894744075e0eae459c2232d2879ad877370031f3526c1970c6e2b7065347454c319a156c3023043288b095974a64d9a85996bcdbb99fa62c8c2106d28bebece69e0dd1b162dc147083aeb88f1767dca9a1ed98d1c913a0302047c435bb500673065023100c09f380e79287030e7fde6621e61dea1e70440d9c6f1bb2425be76ea8f5180a0e91e4cf979e2de2a72fc2dfa242c093e02303446098f67ad9ddfadcaa08f777558a235ca226aef6299df62d2c291a2bd0c1607bc91b95b61948669aa51584b589a330302047c435bb50067306502301f7eeff73234ef32eee0454107ae49fb5575c5689970415e1373231e1659ff7801db3b0560825895d87cda3274275b8f023100f5300e0639f6041f3ccd72d944ad12fd0dd4289f76257819c752e1a265d0d3c9a4a33ef6903fc0a2799aa94e12cd4bad0302047c435bb500683066023100ef8c7b70766e544e50db1656e770c16c3c9b5809c5599d69d9fccb7924321c284285fcebdb9e27521d6f989a493bdc76023100e67a3c5d964fbfaaccac777f2205f6e0b64997e45be81cf0c6e459df2fcab811755fca74283d8b4ec691a2f36b1445110302047c435bb500683066023100f7dc3194e3baebd3549b6e545d82fe03cd2195ffc15dec3078f25b269296ba0f87a3e1003bf97b8c8918df694b1e831a023100ae78d2444a390a1c83cb331dabb9f3bac0c5434f64f0285f288da5e4bdf1816431eab7865758cf90b9a0b6ddd14057d20302047c435bb5006830660231008077438c12dff3979a79b0f86bf8a0bb4530b2a44043763a51599bcd6d47823d1654b0b26a52879cf38d82c4806224f1023100921c194e60016a182161e00fe30bee7fe49d66173c49d3b6444a941b331be1e03ce290fe0c900aff28acd14028939e690302047c435bb50066306402305aafefd0d3d8a279e781ba59a65b3a1fc06c077992cbd0559f83a8d35ca199c1c598e4a21613c69691c264fae5a622570230663c58b183ae4ab6f7639b3e3f1ff453ac7a33fb6110936334a3feb8bca605b628a4aca6b9937e5660200e1edfd0a5a40302047c435bb500663064023062dcab8fa51ec602afe70a502ff090595de268b267328b255295fa2c1f4004310b80cad7a36fac136b29e91f6fc3063b0230374bd6dfa95e34c1f1631242dd13d1e887822d28e2e72edff5bef6f226d0794d85e759be36408a53e6d870d4d25e9e700302047c435bb50068306602310083c249186398975e48c09603a37e4dcf676f701707e51c258bfcbf965e6a946cd09df41074a2e7cad5485b2d3b151437023100a059b74547a759db997ab6123d21db450eaa6ab8279df0a31ba7ea93ba73108f36af3fecd7467cdbfd899623ffe1e5900302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50066306402305483afd39b133960f5fd5e58397d56629cc0273b8eef5703b0515f9c56b390683baa3b6566acb61a7122c398991959bc02302dcce19e0ae9b1e4428424f33d550416bf5e8ecab1718b5e5b2273853f940fe4a2b57bc9b25dc7ec3d6c935f25b7c3020302047c435bb500683066023100eceaddd7ddf18f2feca2d33a6d33bbe1e051bc5e9680a052016f207940549714791b81df7cd500581e69ef9bf6ad0b1c023100b94d0d8d0b015b80ddd9239cbe4c68ca7c1a8dbbceebc44221332800e7893d9b496498209e56c4917f0a37ef4424dc930302047c435bb50068306602310081607ef46cfadbdf69e01001cbc703f497d57cd61916d6bb5e73582b01834c9bf8c3ac860543926c7ce7e96ecfc69813023100cd471bbb1d0eca05f59ea9bdfa0a31cdbfcb63cd159f8918d3a3d83029904a7290ada47aab26acde754d9c42dbe7fc630302047c435bb5006830660231008885e99da898846eefdc1c37463108a1d99c0ab9906207799fa431e95873f002fb51c79346ef41d40fdc5d896f0d4cbd0231008e27b438d1dfe05bcd615bc5abd19261ab188fd7fe88fcb3a3eee7f61ff15c869c734d66cfb64eb18be42ec688d38e6d0302047c435bb50066306402302ec9e68378ffc444b29d97e626470fcd405479c8fe32698ec3e923d67e04a0fdc10258be78fed5034c8c2c2e083774ce023073b4dfa920ac05f830f199958475b99a7c71c67bd1f729de7835c6770e047c4000d0ca0560d0dd0a814245d268b4f59b0302047c435bb500673065023100b7237bb1e9f5d60bbe0fea49c7ff9ecffdc67aa84ee421ce919ccb9055bf5206888d98d073813196d72d3f3754abe74a02305627a5e576e04dbef525e2bb0ddf660b0454960ac6a48c9e6bd0ea0acd5ae8f66e0bc49cceb28a8ec2e549f711ec5a790302047c435bb500683066023100d596368c46e51473aa6881f9206aa17863ddc37caa0ab431da98a3da33dcdc6e1c40d218a3eeb31aac33e9931ee2c09b023100eab5e8a410ebad8e22d09ca35692f5d8449c849f1fa6e52645e370e00416c69559b30b65e15cdbe36c63453fa01e8aba0302047c435bb50066306402305f813043b6b4b57e27a90f3f46c01afc287c31fc936eaf690f3eb254a9d644ae5cab8839045ebdfaa6db903d4b29c401023043d6f2b3f6ba2a4c13f28b6bc65a59c96e9235b0edbeb1ab65e79ae1439dc515937dc7f8e82000483fd8e94a7c2a93040302047c435bb500663064023045e71d3b8933154752d7274d072467fe2bf6b9ce1c03948c439bc226db95251720631a723dc2b89c9abcc7c36295f49702307f0789b7812de77eeade159aa367133c29c501ffa65e076ab8f802e0e21dcb924b0a3a59088d10a8563c6ca1d5042cbc0302047c435bb50067306502310092e1304215d75e72d7a71902d6e9152c15a074b806b0be413f0d4c1369258f4931f4c9491e996b9e479c7a79297d55aa023035b3ddeb05731597258c29972d63a03310e0a15562227762bab87605f7ec34c216b87e6c8110f11bc1afb3d3eaca5f150302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023100a3fca491541a57d98999fd29a386e4605bd001884b2cdf4ac19cb4a32c4aa406b10f7078687870d4a807245fb94549170230353296c75c9fecb74a11474e54130804355a0d30f362117f82a64168e54da176fd9e0f1ff3978f8407ab79344e73981a0302047c435bb50067306502310093c04ea5c159de5f44fa2c37c60f63f2409f547d380b9a17a8d9313def162d31b09966452cf50e2b237d6e280848ca64023070220b47c353b6ab068d5303ee37605c0947a86d3e51a0ba2d9980edd02c31a6c90faecbecc755ab021801569f454eca0302047c435bb50066306402306aceb0ce93b51b4403442d9ddf4093f252a45c41c5942c05084c9dba2524381c30fd01ea936964d338edc6734e48cfcf0230643de531eadd33303d087dd98adb96ef717496336b112ebafb95f20dd753a930747d6ba5105253de3bc63fd91b136a720302047c435bb5006730650230168b79262762a45eece875fb6b003eb558a74fe3b4232a5b41ab8943d86ce2fcf0d040bd5825f04d0691cd73ceb492bb023100d579bb71b31f03fd785042c27edea73494ee9d812d83bb65a8ac3f486cfb46bb6e9100134ee150db8093542af79236d30302047c435bb50067306502306bf045b17a8b012f426fa6f33044534dde47b47b135269180b10e607e443a1a392516918eb4df658a73f9eac66688727023100cda382642c8ea351e2227b5186de34312f151a6022143f31731e848c03d9e4f9d1fb4921111513fd087f6e772ff6c2d30302047c435bb5006730650230728d8691f64bb13b88756ec1537ce3d11721e1f831548ac4a5982e8b285b37442c6180f83db44e18cf6a8925beac0966023100e9eb591e23dd5f0729c42096c67505fbfee23f2e4c6251cd5d53549f1476badc5b91711bdb8dc5b62624527c1850c2ef0302047c435bb5006630640230719203b081cddf257142e6236bf162bef679a3d2ec5a6367808a1752997dd212bf7b2e66aa17755407dc1d829ebf923f02300ec98fad08a56dd1a93fc74db29fcf1a1928f87ea6bfc4c0962644715314ab0af14766231774d80a46d5d3f668790fed0302047c435bb50066306402306584136bcd76c66752cc39fa7220e06579eab955f3f02c2d9c62b4c08ca63fe2712ae09637d73ddbd1240c79c513938b0230452beac597ef04d330912834b9411d62b1e6f5424e87bc93896ea999223b04e1a8e3295f2c55dbb2ce8a0959c5d6ce8d0302047c435bb50067306502305e917e4105e20865f656d3a2a14134128c1c9989152237102c05d73ae895594ab448a03f68f77fba18bd466b9e382dd5023100983db8699c68c64a77312731710e949a119cd2a1b09532cd87d2499bba16addd37ebd947d5103155f0bba961e8d6769d0302047c435bb5006730650230250dd46532a3eea13ddb1a45866af5299f723a86694a299956926d0cf0cf33c8fcf92bb3f07a5e57ebe6ed748025f034023100d7e1fa56ad504109f862271978f10d5479fc533471978c9e44159db70a4dacbb008114bf141b7fa992c66508a9495aae0302047c435bb50066306402302e0a9a6926dbb54142ea2d28995ecd0fe9a0a0edff24847df017794bcd5ccba827e33465bfa91e5c508e3929e3b8c0ac023075e6b841cf1b79aee202dc871600db373ae990a008a34da0820e208fe233bd6346bf1926c357f4338860267e43d55c450302047c435bb500673065023015100fc91527fc6f5dfd6cf69b59b2b43d208c28103d75cfc553fd8eb8b4d9c50d536bed0d8fcd0e12996065fa633934023100ecbb1dd38135b09b9e2b620d7d6f144afc5774fa43c669065c0526c6835621d057b4bbc2893a572caacead1bfc68afd80302047c435bb5006730650230698ee23cf586c5c6b7ca8153b772a0bad370ae0ed0431f912579c78de1e730cd44895fe376c118f3ede0673287abf9f6023100e65b2e24e74afc25770feb4555121900bbab67a2f41892ad8cd83e489b9b174189d5bc115a24b0a0f61532c6bcb2b9a60302047c435bb500673065023100fe2562f3eb27e858a7a9190d8efefe4bf6bfce94f6dede9815593a727b14ae96a16b3e2c503ccfcdd75b225c8f554d7c0230271e86784dfe575729a3e4c18d458ba9aa6a2c742ce192ab04dd1c09609b5dc45a3adf91c55b8baf7718e531b0b8c41a0302047c435bb500673065023100c08793f25fc54ef7d34e05811661819b41f26729edeb1d0a3f6f2f8b0e35a0276a0baac5096ba2f9d770503a5abde75402305c7c5c8dc762d7feebd26f1a63f33542f2c0066fc904c6cc3f3cda0e89cdf35b6523ae3c6e3223e963d06afae86768de0302047c435bb500673065023100bc6e048be9f61f6c0d24d81659d549c34cddc8fbd3b0636eaa9b2898d778610f109d1c170607c13e78af4e8d297ecd140230492e990d6fda8c2e82bd62e6c4b688f822d318e695d865d0d32017c35197a2ebd908bb76bb16d1703c90e008d9fc42940302047c435bb500673065023100b664ead53c1f1d56231cc71cda71d07da02bd8378c8d388f7abebbcf09369645a3d81785ea8f8342f78fedf7d52c1e3b02303202cfadfb2db4e42f9793f44b47f27de4d12e2c75c676d45ded635975e78f777a2b97f116fe96a8e851c52b8e8951e80302047c435bb5006730650231009882002e3d9ffb57bdf6dcfb9c00922fe20ae80f7a6803ecbbd4f1a28a167af8699e7b6ede3e49d1634284a274499ff9023003c2bf3078cc17ee7213b0cd6476eaacba9ba3638ed0d7a92e4c57521134c54bba15b54d8bba7858b7ee7d9e9ccf59cd0302047c435bb500683066023100e5ec4edba98d2a311331a2982d7bcf58b26a88ab4c63dc679046259c81c0bdcb1c4ab6045f89c79984edf94b84f8f015023100a6cdc1da69f3f754fba4e33a500567fc2166ec4ae8ec65884e887196fa164940d5715389deabf067b26d53dbfc37ebc10302047c435bb500683066023100d178a15968c35155232c307dd6356a6a0f88666d4c2c3e036c55177df86f18f4b446012c958e400203467dfc3c9a58bb023100debd953f422b8ba6b481f3d96c0165a98f5f791a6f7f7fb28acabfa640cb11c8794f889e588a12b025954f0c3a7118ad0302047c435bb500673065023100b75f8c49389a23448adc8e79b532bdcb959d53529583bfe38ad1fd8c8b2aa43c5103bd580e56494817dfb403660906eb0230422ed85d3d09c7e9d39db28cf1d7f523cb5deb10d89b3bea5fb6c799eb4c3815665e38e2a3f1db28afddd8356bf00bef0302047c435bb500663064023063a9791cd4ff6c1d373c63db6afcf2b13c990f095a859148f8c37a79a1b3928baa753fb9395f0e2fbd14d4c3c133737a023049810899974283e2b62212cb2bd35f944bfdd238c0bc2ecc1f312d87dda641a9af9ac4761f6426f3ef7da305a8e498150302047c435bb5006730650230298acd220a9020d5ee485fd3a06771a386b93ffe6524a63d8b02658ff003c9186aca46b81b24283a35eb1f45ec0e8226023100fece9912b54f832b310c141dbcc218ded8c6d68e4e888a09eb80759f4dc35347eb377f53281742160021158ba11ae0760302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023100c58a2da6cd46b19551258998936a7bafe9894fe449c7b59c1c7375b455bc65427e92383be609e1a6884118360f39d63f0230690fdf80d167ef49b2a8b11caae2c0e04d12862cfce5f1e2d64b60ffac7e48c53d9bc18be7e0f5551809ce6a2a7c1d460302047c435bb5006630640230247469a4295de0ca2bf704c5274d5adecf02ce2958a6817844748d352484c6f9d8fa62873342594404617dcd1ec0bb330230485e4693a2e46b5beda2283b551dcaa3acaf380797e60aa595054ae3cae06e078a602b0de304f753e3ae621ac25b03bd0302047c435bb500673065023078d71840e9f86ce33da248de52028970109802e5ffb202343b22de7a9a5b767c6576dbe400e3d52bc1c02202cfea24d3023100eb3a8b4cfd2468ddd367b0907ce5fcba300084c502ac852508bc10ace0e65fc2d13d58e2988aac320b2882008f1623110302047c435bb5006630640230452e8332237ba66d8ebf331ed0fa9defca56e7e21a9a9e0bb53b5277755a08b99791de2188768aa8586f2a0da076630c023011600e4a412369bf59103edc456005f8000bc724de533c20cbfd17dc06e4996a434e2d276cd5814a3905c66bb2be776d0302047c435bb50067306502304f04445ea0927fce9aaccbb92afea08697604a77118ff1209a01fdb29e40c4db839204aa17ccb152c721a89aa81a2d06023100c79b1c48ab64abc8b2a35ceaf78c2dc67facb2f90db8ddc9c338ddf573b16d4e0f977adda6c39818c4ccfdfd9409d0d70302047c435bb50066306402307300310df7e0b4a3c55d0f0d329e53b71b7126540277ff2c8dcc1e9178ed35aaa33c2b1af5018158a170554208f8978b0230441b07f2d592d18ae9e50d2546daa973804a66bd8509cb46101a07cbd76e85339e2eb8fd1e760c6343e1368098349ed30302047c435bb500673065023100e52720b7269475d0557c7fbee805892b17ac581602a1054de322367b467ad4375ccd63c28b3c9c8066cf3d814c1b4696023031006893618f5cd9c333c66ae7c418bf52e303a1ebd20234f7e2d0f80e997bced59e3107627461be72b930fc84f17eef0302047c435bb50067306502300fd7ea21addc7eb77bb5d6cd6355d4d017d28107c7819cf4ff7fac6e6bae85705e1ede277ad318364017f4960f1fc8bd023100bdf897f5068e8c07374bd10605745c2e7608dd4ff560d0d7022ffe7c1f17017602ece11300d6724d644bdbfd757c9a9e0302047c435bb500663064023068e7bb6c1ab4d1f196a7b848a24292bd6881ace4b267926d142bdb49c35e7a40fce8bf3c9a3ebf1a7825de927f00593d023035ed9b4d923920f791ad23a42e3460fd2b951cf55928a07f68e0de1d3655c6d6bc8e1c0b5dd787cc069f98f913c427ba0302047c435bb500683066023100d9d7ca77b2d273a7a0a5ec048fbb9d3b7100c52ed83b11acef986dea0aa16ccc9b8089ea2cd35b251b13ed423d74b2e4023100f941ac1a7a8a802d7f69891519c97e816f22059adc54e58dc011a5e8a6ec40a7a02aad8380722638a60c15b453adad9c0302047c435bb500673065023100bf534610fb6591f5d657084710cfb043d18d1999f6dbd7b52e505c346ad469de0aa5d9910ec0a68eccb39ba469765d0002305409d29fb102a314e2901ff13c258cdaf41ad5fca9ca1aeff2dd8f51ef255e653513de6abe4385d4235c0959ab6b50150302047c435bb500683066023100e2f0b037d01fe50cfce39806f8b201f82f831e428dfe67ce437cecfaf0a41eb372bec468f06fd1ef5bc59d8fb17900f4023100d4d2a0ae3cd94aab7c3fd82e91ebe2045d24cd9873362e6ce0bd1755a7e0e0d602e43a5bcc3158bd09c7ef5c6cf32ae50302047c435bb500673065023100e8cf6b472740ef464b926cb14904871dadca654bf739c463467772595962e7077730f6b56d0cd9c2a514068174932d5202300b76265eff165b0e5af9e7d3863488c3fe1350218494a32a06c8b9be3d0119a8d2a1bf18985f18eab78c1bb2c9f28fb10302047c435bb5006630640230256a9666ca091502939a4b09ca55761241a46efa02f446b2a42659d229154c85dadc92f5432a0c007f5667c91067b6d602303cf6df8332e820336c5b5c3a619ec9a3749a1d7019e348f01df4d01252c42675638aac24482a67b57effee9baeccebaf0302047c435bb500683066023100a5bcc4b40b27303d0243f841372473981dcae1b4be089dc5753e1127e28292bdc7601bae65a6439d6fa3c4647bb12cba02310095f237a2d83871de991cfbab5fe514a160a14d8a3278cf35177fa5554eff8d5c7c507838e4a9f9844293add966b8a5da0302047c435bb500673065023015f8653d4ed55b3d55b371bd0eaf8edf996c21a43553b1a28f8b80431780ff913c8413835d2371880f295aa175c38130023100b9230eb6dcf391e2b53c3ad9ef79afdf7ce7b3eaf2f073c8b9e839ca28eecb81d2dc3aa39cde4722699fa9f5e7bb1e940302047c435bb5006730650230477349a5eaa46b4ca8fa9d7fb3de929da7c7d67e4d2466d0c3bd2bcc119624f3ea953cf1a0ba6be81a34a311e165788b02310093f66cddc5a2fa91b1ee738eabdf53754b51cfb92236f30fb9d89c454ddffe92aeaf87aed1414fbdd757fa6d801f41a40302047c435bb500683066023100adae889face0ba1e0c6f99d0ccac342de0d23930be94ff678c415f747a14aa42e250a4bfd17fc17a35adc71ab53e6a60023100ace83b3149c9f446c79c519254d8c342573e93012cac4c752b2ef84f26d73e89fb9fb6d75650b0dcea1af85130eb8f810302047c435bb50067306502300dc1a9e7cf1a2d22f60cb4ad1b24cc9d160d4cef5302ae7b597c9d3fd3105d7def003592c59b51795fefe519d366dec60231008dcb485d63c7f5dfdf44a74f64457b45cc0416aa4a1aa00c878056ff2430066a65aa80629acb49204d6c569ce0c357480302047c435bb50067306502304d4dce845b707514da20c66435a43a294d9580cf2549fdf64092f8b530837b018c04ad9886a94154d81bf51ec5abbef4023100ddcdb006c0bd546e4ff89cf3a630de6336727e9c9d58d4ef2dddc3319768ac6008447db19cc3a14b007ca5021606a1840302047c435bb50067306502305dde4f6b31d93e39d9d7e11359600ca13c57dd308ec78225943d3208a79210ca887744b2e5121dd57fd4bfe2b7f9d811023100e37b4881615f561df503bff8510a424c60735a1f47457ca50103024fdfdb6af3914cdb0d5d9e36e407c387c35f5275020302047c435bb500673065023100a7bc689d15adc96769350882c861e3524aa6398e6ba6721665606d583ef4d7cface9ad43bfc96b3d557c6222f9b32cc5023078ca76e2b83cf590b5000409bbcf96178d4224b217973cd7059bef5af1cbde27bda29392363d9d46d6e274e0e91e7c800302047c435bb500673065023100e72b7eac7ee5401894842d4b776a4d0e8732ae72aa0494c6a78cd8bc595b3a6a40f3bb9ff651345705dbd92152683e0d023023c131d895fa29b24e6c42844839c7a753d5a4bd8f52a4ad6a0bb6c47ac2ba5c0e9832f95fb519707845f14a17e2e65b0302047c435bb500683066023100b6cc74d9a9ec14583501ff1568981dedde09da30488350b0ae2c14cd44e73fd3ee61feda513ffecb98934662091d5bdb02310085e2cad0dd07af9c764e68e6fceb36e70e68252760bc30986e9e03b9a48c384470fd8ac2465ff973a780c9981cdbd42e0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50067306502305050d7a2f5739233648812a7a2af7cc81174947f5e56b75eedc68983445e2c26249f66a2f4670af7c911e45a0fdfe9dc023100fd70f2924fed3582cefd8a1df0412bbb0994e0a0b7243a9284e236211e8327982a1fa1c575ab945a0d0dbd1d8516824c0302047c435bb500673065023100f32218c15b62c5a5577616894d1bdd63093ef5d422de5897d0079a5fcec5fdabf5085e66671677d687c5a21c283dd49202305f9d37b8753278af7b7c774f2038cb3a8846f7577678a18175db764dcfb34513d51b8c510b9c949c1475bac239a1d9700302047c435bb5006630640230070ff77555ead0e1d442e5bf696523e60c7fa6cbc49e5f557336a9d8693cf95c49ca6fca20f812a018783a96b7ac9c4402307a276ef1bb344bee80a0e17d6b4712b5a49314972adee92a1ee09674c5424c7d15fef0e0d264cf1ab4c0525ce8fa5bdc0302047c435bb500683066023100eb3a38e122e9ff8b8c02d0c27748e5919623ce4ac98f87f78d9085dfcf86760ce5419e5e79acf8acd93c35f31e450799023100b527d5153821798ad4fc40960d803ed50f66d37e00a7748d663ae0c06f2b84ca4048d6d542f9d0799f7f2f067bb3c1d60302047c435bb50067306502310089b78567c854586427c2aecb98745694d2f5954eff81b8afb71d8f3ec389c129ef1346056770f270da3de3a255fb56db023078a6bb7b435bc48667524d259009a10db189ea69db1c8aa0b6a52107ac2f5b3a76f887b0e7e2f08f5ceb1f3728a20de00302047c435bb500663064023006836027e0d16e57119060c1fa8d9d1177ed82d97a0cf0ee05626e317135cd603cd0fc8bd8104f53b3daa59b95c378cf02305f0ce12e815561cdf64740115f523e31c959a1f093103c8d374b36306a8e8ee9ad3100e3fcabe2cebc3b4a077dddbe1f0302047c435bb5006730650231008115d5eadf05ef894ed3043d6ee1309964f1e8513a9db9e031d3d145c8edd567ec3fd60fe5c9da58b33bd900a92fd6f00230169f824368c7b5092f6362a34b6ac922def966709c0a14aaab922023ce541b405bbd4547937865bc5a7ab27639543fa30302047c435bb50066306402302636f479669d4cdcf093f0266494eb7f97b679533dad38f3b06ad4a88ba54a6aa6c785d71a43da0c8bce660cf38328bd02306d01ce8bd6b26b7a723b7e5e1d58b72bcd9d4decd218803e51d53e557414fce2e9c86287b9e0a959529ec45b35dcd8c90302047c435bb500683066023100bc6ca29f736fd83c90a603867ec14685d72a205c2ac107c1c4bcc1a8c26f075e18e831929e13895c058e27cf2819d5db023100b23941af41be3049b2f5b5867f5433e3f221b1a26d04f8e3bb7943a83a0822be67cdc40eaded08c70f825729cf060f1b0302047c435bb50067306502300865c2635debd08e2159c201e32ef8a491e83664401bce44b782806696409889a12cffd6888e41a5e90b2ad153c8b25c023100ec93c9d7f600cc27b5ad6f514be297d88eaf3ccdff534ba990445f426816287d52fa9396565a93f87e005127dc9df6910302047c435bb5006830660231008bfdce14d9b8dc177be8f8142e0d8031ae10dda1f58dac2cb97152857e25e15e72100c9e93806446b1d9ea8286d7d69f023100ba9980a40d63d56a71114eb0e36d777f5dd69afc0f8f48373a7f9e111ccf5560588077d4ef07039e1361f76794e2a8430302047c435bb500683066023100a5b39a74388427d7168b4b68d534ba0c65055afa0d26ab1c3233287d81611227c7fa0f1442ce1f135f5a89add7c178be023100a51157a0b48d6a1d571c2851f58b244f1bdbd5e2a8358c3cd5a107317a61c3bf8952cde8e3b211b5429f64ee21af6c990302047c435bb500663064023061920d022fb0146702d77344c1f0590cbcb82163b3308c4f78f147e212184ca5bec8b39230299eb82764d45050c2f35d0230623a3ba1f6e214dfe5884710f9b1720297bd901acc97183edd26a5098d3f7577932d5cd6fa1f4b567658027b82793f2c0302047c435bb500673065023100c8a0de20600c431f862ade6b8d98b08857d33f30242e32806aea75cfa37e7b398722b256d5e73357c5254c4eeb9fa1e702300338bfe6deabc645fbc8cfbe596aea775699efbbf680158a333b12de6564a6408c212284649453bce2a572b953344f530302047c435bb5006630640230753394f45deb76a2b0174530e8a0b8fc5ef2c3eb752500fae05b4bbd8fcd4a93770c10674f39481411c34b63982a1d2e02300e18ed8daa13daa6adce423685e625a324cd95263ecb53e2e11265670bd92b710b0a7aa66c886eee4e548d8c078220860302047c435bb50066306402307c1cee081ab566931c8facd40c1013f02856d52b6af8a4d72bd3c7cae13d89d98efcb94a3256bd86039b92df317c642a02306432ef223599b233d31470ef06c6a35a5b02bfd060e11901311dcecf728db4c8be057196d650caf1650de2c618c0271a0302047c435bb50067306502307374f136a11841c9f6425a3775ed9afb701985c3bb1e211e0aa7eb2f8e5e277c425f4c5c26e6bac416634f71e3f79cc2023100b175b473008530ca41eda62e6fb5f52e0f34dc87a2179be926301a4c26c6a0801c9571e4de20ebbcae17d04d5ac76cb00302047c435bb5006730650231008e73952b0b826a485a1ba08b82cae62050758628c59c08b1475fc0f6b48044d3a37d0a3be514006493482acc2e245be2023014cbfd34c40705c65ceabb55153e3ff6dbe9c86e0f7634dabc790b2b17e7ebc4176d415aeebdecc30660ccee041060f10302047c435bb50066306402303b51237ffdd83d2b8761d7a5294c1640acaebe71e052296fe469204d05ac632553638dffe79a0f14b5672c48f0b0b44a023028246e144d997662c6a6c0b8283a0fd476eaae2d58c148eb5781cedbd125b149b32762b09fc324ff684bae2b437a32020302047c435bb500663064023011f360335b10dbd57959036d495680ad51705707d37b42c58b0b486d7052042aaf0f534c7914ea08f0aa51f292b255a40230041840555d5071de85e202a30c7c78087bb82538ced5c669efa9e886faa7eb8b59b1b70226f1ae58f2a15f5424f9f3870302047c435bb5006630640230496b40817449a4c64be4871d5a0953fc14c92fa810cfb02572a94ba2e58929fb51dbf690f95cd3bb9debc635f326ab77023071c5ea9112cc2de8bb16ce140aa60371b3c03b8387ec26ae1e273f6e05ec8bc6396b5f88d74d927961695b3383e53f890302047c435bb500683066023100a8b2f4f171715a234dd164d994540e7d245774121256b3905a3842086dbea09a6a4dbe58ca4ad22df8e663ec953601bc023100a66fb887762c2625a95594ed91dd772fd6e76191b9ac76b8455c7628af7acd4f754839925880cacd6255f79b5792bf5b0302047c435bb5006830660231008c4094915cc7b8c81aa9903e3adcf81b91350854766999e7e3addbab6865b0cc811ff4376fc1226912e530cd507dcaac023100b0d8f364afb37c7a212715841501b2682ecd74e2c5992a0290a9aaeaebee800edd9928fbd6ffdc78d3876b601fb0f7770302047c435bb500673065023060fd1278d6eb1cfc47694a030972831ffbaf5fdad7ff6a05c9e631fb3ac8623d9831622c5c474bddc7c5428e76b61be1023100be98dfc4a28806673fe8b63ad1e97115a12e5c1fe3041eef808cfbdda927217fbf59a8866c32ca1a3f8dd8743b89e6ae0302047c435bb500663064023053da4d1756b1aec9dd3213861f0c6ec2d366e1210d0d5a3cc33db19dd78cae6116a31bb04d4f9881460aa9873a61daa6023040fe2884766402a2d766b78a028e4fbc18f3697de8f98931a761917a85c3f6195b94dae110ca7978bbdff5b7b42b0aa10302047c435bb50067306502306e81cb6798d7244833626f77a82268713eaa2e0dfce293b5bcb9e616db84fd545168ed54bd1889f9286144f6a96b624d023100c94464c6594b1102d1023b10c60119e1c84d6093c331ab1644e6e04638cd1e2ba8150e1634ce3138fb75720608cc39000302047c435bb500663064023003d39cb9e5c0fa6eb0204351c8700ec61117a00a89980061a414d832628f4a60ef6a8ed13e98220a8b6d926d5ec3d31f02306c21ebf63459002b92ed351865c65c6cc37e2e152656b332a503cc32e1565f80f0f0ba068aa02f2231567b4704fa3a000302047c435bb500683066023100bf9e6c10023f15e9f9a2267eb9121d96bf0cce49d9d6ac4728bed4ca5bb68224a932d097c05c9c0a87f53edf58634e1602310096bd64be54ba5c4016faf6ced58926e4966d8f4a29dbc2e2844731934d202f1ee14166dc10c7c9c8f67a2076a6c588300302047c435bb500673065023100b89fdfbaefefdf5fe5643ef0e478ea22a3aaa74313b570599727181048ac4c52b422406c6dabbe93624c0bf922be54b702301d9c3b426d740671b47c2c47e8c6b7b65ac4d400184fd14641f45a34f546d316f21ed614935f384ff0039257adc855900302047c435bb500683066023100aacba47c90e347e83c9968de3b846aa68f65fb5fa49ce528f6f404de7ef099cb7d73107d7b1320c73b636ff9aeddb6ac023100a4ab56d1adeccebbb9e560c128d095ffb5bee4ce95cc68d224a4b52aa57977fa39e01f8409e739850a65446c57c19c380302047c435bb500683066023100df6d1d1ba0c41133e935aae4583a17471c221fd55a2bfa74b9dd9ad7e27d5b57e2e7412a0e4a314dc49ec30361e48a37023100af1942559eeb9af8be309c7404696f0172ab38c1d0f2d5871f307b204942272d01f135bb019b6cc37fc3a83a551942800302047c435bb500683066023100d4980a641fc3ef0523980d4b278ae86e48c859f82cf4a0d15da3f56320ea3ecb9d068aabba7672257a1d5d175a3ccbf4023100a117f20c1faff2da4ca79a746119f7be3348351fdf02e5e2c92bcc195c14057f896b34e9c4f33338aa8cee6e19f4b9100302047c435bb50067306502302469553fbd8a7e31b789d5f1ce3e43e68555206f29b0dda86df940749443f2673e9c4cd171697917d13c490b1bde41f8023100acc0f213a52e04c46b7149935196471ae0a3762e15dd4c76e11e5a6d132343742a9c97cb7fd75dea25b964e7d0d0a7b10302047c435bb5006730650231009e1f853fa4844b0dfd4a663ad12ac3f7a79754e28be82e7f93de672f72caba5066d4a8245bbcba751122596dbbceb5f3023053c711dfae1478300c4b9e080abe7c0609cb38df0a9a64630b279362960ef6ca460a48b678cd581bfe36eba3867f5fb90302047c435bb500683066023100e732ec9adff47d1395e7e47ad09cfeb40f540c3f23a6484d7b2697271b6ee6aa9a02d123b0fbd62668b1c7af351e2baa023100b7dd8d8dcb425a04887468296e5aba4522692b6cb770c226b8071bdbca5787b816c507c29e6eb91733cc4b72c70bf48e0302047c435bb500663064023037e6a58f57abde7a77902decae4d633874a023a50fe61f0857c70728cdf56c0f3b1738e5d7ff1a2f47da97490d8bc24f023058c98e92c29a4de9be728d7d1e9e1f655389a2e6f44aa8d2ad973fdf8cf4650a9d258d86a5c19bcb29488a32b2f3e4e80302047c435bb500673065023100d88b7994859842098bb11975c5abf9f37ca13510a146a709872633eda23242b5faedfdca5af950c00608a39ecdc4a57a02300960420432aac61d42ba614e0d0f4b807df7bb28545b7fa2bc7ea72f6d4b46c252744d40303d5b3f7174d0afda2cae350302047c435bb500673065023100b4dd12cdfe72065d71d343e96d1adfd746eac0a0d318a63d13910104d3a3f366fb165ed125060ab205ca6db3e09862340230116dd6fea0ab929588da12925da843001887b7f34f409e2188ac7757dc21b756b2d72c8a654f6ed741894db01750a8510302047c435bb500673065023100cf013d28368b242050df3661743ed4c66226ea6c61dc1edd05af3713bc59adf4cc96ef59e80eee15050e8dd50b26ec330230262fbadd865b96b5c969a7435cd9e83e74fec6eaa1981354c1bde7364d17643ccfd56748745af6ef4dd751c3e66234270302047c435bb500673065023100fc1331f3f8f9ef2566fb3b4f14a6df62700c28fb9148ae65eee16fe2d23daf3e3ef16d4d2e4fcf2ca7931e9b949230db02301fcff8ee1326943b74dc338f45dac6b7708613efa3876ed408524979eaa79c2506e468f9ab0d54653779c2f111f6f9940302047c435bb500673065023100b192c8bd9fafb5d80f65cd0f5dd49e850372a2abc8b57589a041b271468b5dfc3c2600777f992ade552431bfff04472402307bb4c57ad1d5ae6ac0693832a652c29b3842ebfa7b3e0fb83353137cce0345ca76ffa145fa11a7ee032b09a90ab9e1a80302047c435bb5006730650230296148dd3b4bf2db0833f32897a2fc4262bd7658bbb414346753bf55de1032e388a3d21c3ae42142db47e67a2a380724023100dee59e9b7b8614f027dbfb46d9a295646d9cb00b26e7ac1f7dfdbf1e985b667f92e45b1584dbae1c1c42f9ccbb3c52760302047c435bb50067306502306ce63f24915a467213175a9f4b6a83a43d0cc7b1f492d2f5a931f1e5295c40a233e73b011042227813b5cc731cd28df6023100fbde1eb87707c989e59bd14dfb53d66b1fdfaeb932334190a6bc7123d2890bb2a3701137c8b0b00e5598a3247e230b0f0302047c435bb5006630640230733a74b7fb4c2b0e850e378d8a38cb143198be84bf7246fec54cf82349d02fd091572045516bb7ab63cce87ebdce2edb02303a674b8f2a645cd7bba52ef24af0b9cee638dc4c4fea21464d35ed56dcf9933f97541759631a983e0ba9971add1863710302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006730650231009a17fab7041590e3c6dde4d38591c0b5e1f598208992dc255146c1207dd73c6ded27615578dc685e6bd6b23a41d549260230331d4290a6788c8c6df12192d923ae9e912e2da941e6b82fd99207125455c5d049f02b4fc644110382d14cad2cafff7c0302047c435bb500673065023004d62ef91fca4a1490af0956a1a3aa09238895458d9346d8c187044a78c5f243cdfbcbb09ab1bb19053ee59c3778a275023100a10d711342f72be3be7e09ab4ab087ccff5d99f0e0fe1a9b523c44c77e1b222577a917544f99041b5602edefc6f1b6c20302047c435bb500673065023100f4295858e7c45559d1817ed46ebe6267d22c752d7b17cae2ccc5cb6491257ce5c1d8274ede1c746fed70a80b08b2faf002303fa2c867bfa67025b7f673c6fe97efde8e5a0e3c80cb271ddb30ded25cd14e17f135854596b332cdcbd9f181357a96260302047c435bb50067306502300669fd81925d78ac864a769e8cc1294664a3f5193793204d996b72a504883f95da8defac6ecea131fcea9480674c6820023100f154a878240c5e03d46493ac8272e70cb8807dafcd7e170cd9612dca03dd4f59a9585ff1be0ad6d4ce0b9607a85ce3d10302047c435bb500673065023100feaf5de6444fae63031f52eb86350509832818fba4334581f8d723eb9488a6f0cf0aa281b9961b3656157acc41f9e7f702300d35d4b355efd94485271419215a3876213f2d7f6761f8e6f05387c92604915f526a9332a15fae04d1c8270a445a076d0302047c435bb5006730650230335241f39cc3d825d5579cbe1bcda5acf709051a4b834233975b1500835e8eadaa8ddaa5d0b59c664551c392d266fac7023100f97854125666c5599b1fa1ad7dc8597e83f2f49d961e76d4e71796f8ecd02872b2b9bb9bb66c4dd740e8a8cc55b42fd30302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006730650231009abfb8b3af1f04c5e66c831ea1a5090e1580da9dc213eb2851e8cae5507d407b3c0898084996d735d15932f640804f7802307f7ecf6fb05b0ff3360f86829e4bc3a939e10f343bde2490acfb2fbeae9bc0e8caad898a236e2213ab476b76956e40bc0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023004712a6e0787ad25e894ca43b8377a9590e0522d6e3ec4d419f758e92054e90e10429d6b7e331e638ff15a181212d2e3023100da2b60ff913dd9024f2725f5678b307cbabe9d555765f8b635abc6036b4b7ae137eeb975d8ec0f8d338878b5b7797a660302047c435bb50066306402302ac1302125e22e6b68258750f8deba6c13e9e58a9f0b5520db73ef14059606bbdd328dc440360a303eb0fe45d8440b260230487d46d50f8867e5042cea2572e6b2a2a98b59d84b7fdc24208e31efc0616ca6e307289177c3aed39b4aabab71359c000302047c435bb50066306402300de8ad2e0dfa9f92fab606e77e234a279fa1bdc223e491699f4ea3abbaa720390ca03dc280b1a02366663b03373318270230257108b4c498fbbf158b884378b3ae56659e5bc3d2a2de8b459b5251a690106cfe8148bd0d40b728c87718c60e75d4c70302047c435bb500683066023100bac93b196031ef062d775bb047636bb3f66b0876ff5570fefe83a9d3e616b07791aa668d6e96641e89371056239b47770231008446ba63d8692985e453bbec7f5a4f2ae370a7d4aa5997a074d1e34465c14560004f6647d45f6ffed315b7e5c64337310302047c435bb50066306402301fc0119c8bef06820749c9ebc43987bdf5ca765db5e032d7efeb3fc79672deb3bb425724166c570c504ac5119c76548f023057cfff60697fef8ad4b9330456f7226c6d340d9830def195494aa680e882e33851c09bcf37dcb96e6cf2f565943d146a0302047c435bb500683066023100a228d3e0b463e4d00684d5602caffdd0ea39195abfbcbb07e8bef9d089f07c33fc939d86184687e22c287d59a6b58e9c023100c7b2f37503ef1ea5cb9490d61d17f17f2d8185219c90f2a08d73c7f9df6dc40e52a40035bea86da81ea053f4fb8916d70302047c435bb5006630640230163e621c9f7ec191fff3a4f8100d059e5f8c133e8a34c79796f923d4549eaa7d2af789c9485b176bd0eb9541b378b2a20230074879bdc3c5c6cccc5d9e651813f05fcac87289ad3809c01694219fc0dff5387a38383b3aaa1051c6546119589c37d50302047c435bb5006830660231008fced4c5d5ff1a61ebd59b797a3927fa409395d0d2b91effe77cfc82265445fcc621eaf796466dc4046b5712c9263c34023100af898872eda4906111d0b46fbe420f88c06bb60df798fcb70d5b29c8a973edf807a39c1da6ea400c49a5348905901d160302047c435bb500673065023100c2f0e47c2fbff08fd0f485d602c78503eb0d0a5d4caa3418d72b8d3a007274fb86a638c4ab7231ea125810e437fa9d43023072b039153e924eaf2facd12fb79f0408dfeeda880dcf0225d39ad96be41fce873dbfd4eca7d996ed0f0ef04ee888ed170302047c435bb500683066023100fc191ec1d3b25bfbae0dfc40197e04d84dd98469fa71e6cb510553af9286fef0810a348a476c5732b06ad0d806323fbd023100da8de77e8485a7c8121bb63939044eba2796787adcbf932dd9f38b4d8abffc91717faebf10c9854d7df8f32c2a2be1f20302047c435bb500673065023059f5f7e8f701db7b60d8cc6239ae359c536565e8f61497c8fe51569a0cac57aae109d6b10df16f22776aa0f025ded559023100a584d8a0cdb37cdfb0fb093e77b4f0d665e2460f42468f4bcb7ad00b770be03cfab1b68dd097cb7fc701bd3764d20d060302047c435bb500663064023007b8047a02d3ac3b85a8e04afabd894d2c0a16de41910409902ef121e6a43eb4514cc851c56d599497fb3f1f4d9faadc02305debe2174daf3beadbe53456faf65f860dbf16bccdbbb192aa11f00bd653da7e60d6566c6999e33975fb2de9be8349210302047c435bb50066306402302cde5e1aedb611d7a3fda083a43a1fe67e5cccf6e05a634e13788da54021b104e1bee3a36859cff5f008871c6d8815c502305ffb439b92a2444cab722427d09bb6def1aa31efea6141b137645d874d0e2eb95289b1d8c0c67b2ca7f5313e6c4acd1d0302047c435bb50066306402304b829c5699ca09862d349991b12b2b869fcaa9a466ba983934f6852bfc4a7398a3ce91fee738d4a2eb98ce944c9a2d3f02304ea445d8e6804b70a58d1fcf65c9c727aa964c9357b8f1d536e68d32346be26571573e4029a91ef7178dbed3d5b95cb40302047c435bb50067306502301e34f1fb535cdadd5e8b75a886ab124e604df1a03d08576689203db56cb7539f752fd3abe66273182559f4b10b7b8785023100b8c3b1e3b2f2a98b4f532d46b46b0b58a02cbed31172e5e2532c756ce529b384110f191831fd9f8afcb6dfe646e19a260302047c435bb500663064023069abbf082f332731ca72fddcf06bbde14020df612654818a2bc22b85163446ed7e5e8d60f620f2ab6cd7acd9a7aaee75023020c1a84611939a4e3b1b0c9b29de2f2f9478eaa171dfb1eceb6f66b83da66f2594551b471c754329e4f2db578f37b1210302047c435bb500683066023100ddc26d67319460e9df3b1877c172aed3abc7ef7821822d309b81a9612b1b0405f4caab6dd6a34695e2b19271c26bff12023100d2f91fd8807d40237251441e2deecedb7ddae6414fd664d981bae824ef252de5ffa6626ac0f0ffc4388c189d99a9723f0302047c435bb500673065023051fa11e7a709871bb45c3eb02dede8cb24a2edd3083417ebc0b10307e7cc73d1b0b5da1ed74338f62031f140f8aedc8d0231008b2f29cc11e352d42f095d1f060044fc7babfc28b11ae0e26f9828241dd1ffc86f2420983f37790a65e59a327f0a33180302047c435bb500683066023100828e2833a5cc1482cede52fcfb42f7841fc500cd96d4855285ce0d6c898821973c6d84e5306bdfa66283145cc848cf20023100be32cfa572ff352b7c19861764e80f4814ec7113dae3e2aea02fe618746eba4b7df4187b779ff92a9bcaeafe5707ca3c0302047c435bb500673065023100a332437ed05f81dc6400671ec3d07876e88ebcfe5b6a5be13ad9caef4478af463796553692620bcdc088d2c0938cd886023017ca4b3941219312bec40b1d21ed5918b9819085ab39e412e7a96e1955f9587e9eaff3120faf4eef270193eeee307b810302047c435bb500663064023003577112a963733a86c74abbfaacb80d8e8182fecce1e04ba18feb09170b9f4b445a0b64b324fbecf406f3b24813207a02307155f8ae60b84d0d7cb967a4fac1d0ba40d80ad685541b0ff53d68a01c47c6350a2bed4ba3c8007b7ffcffadd6e6e3f80302047c435bb500663064023076e9f4ae7c199c4a744c9052d3e0d9d35c207e537835ca452f441f2b5b7c99a76aa48727d6c57ab935851a7da78435c6023072deadfddc838a9ac7442e53bf7e4b43e323b2e84d9eb403ff7cf98d10794eb88ff42b72332cb8adafb4966beebcd2000302047c435bb50067306502303fc8f987d9d2b9f0e08c93c9c8390ec329ce71b934bd7c7d6c047aa3a640ac7400bd4f10fc2997e681b13e2a9a12f2e1023100c2fef78f58fcc304eaac6c9999c949b35dfd4cc1954ba36559d1a522076ed993b1d1cb760ec5c6547dc3b922f74b21670302047c435bb50067306502300a45693c017093f811bc15323492c474f14158e68f7d7ec4b3c5c636efd3e172d27db8afedbfeae5638700229c7016470231009b01396e916bcc4581e528ece73b8617b8b7f3a30677144354cab6f693194b1eadb1a4545edea0abfe99637d1580f5f70302047c435bb50066306402303acf2b3bfc64e1e4505c87436318dbf903a169f3b116ea6d07ec518c1e861aad6e3f112d30ff5f06e98abe45b2e39ae602301dac6a7095499ef7aefa5c4d41c68e3491c083b64223c6b3d6a811530783f6bbf6bb8deb54ce9dcedf1e1f09d386eba70302047c435bb500663064023064b592c9b4e34ac9087266868eaf6af2bc53934adffb3b5c0bb3bd41866bb7bb418390182e5a64ce35b0eed3f1f32b8902306f993925133b63fcc08baf570a754cab9781e0fafc56c1170e60fde91540d0ab617efbf7c9137373fde468bd50ecfce40302047c435bb500683066023100d637226104427d93fe135e48117427c85c9793ef76a1520a6522eb054d1419479981d912d071e928b8bcdfcb6fceec6a023100b68b53b737528dd542e55d3c8470987d299b2bea0f4ddb73844f998ce53a19784f64911000f6863da4660201130966960302047c435bb500673065023100b4a2accecf5bcd1cd6afa0a3e1d3d65dbac2a1a05c582a2e16835ea451260ce477557a606e6122e9c5dd3fc4fd21d3d8023014c1c0150adf91cecabdba4dea26fba8ac850d70c59872d0d3a28129991a4ca23a15e7fb57b5df634b49a73f7da179940302047c435bb500673065023100e3ba23b8810f7669c77b8bcee3a19579e2ffe04c3ed0b78283a110d63343dd908a89dc8f769989849e2285d849ffed930230471af6c0cc856030e82498477220787f4a4d5d33e60770edcfd6645f3bf578ccff46d58c8acf5574793aa78011ebde5a0302047c435bb5006630640230343b6a5cf87ca06e6278a038131a6670333f143fac8661a88f5ff37c31d40fe67e7f6fa029118dda2e8f84f9af3ef582023023aeb3108b826a6b54c6f3e82de4d399a199fb1386c35126008d45d3eb6250eafd4918a641a045a85d84f7e072b342d60302047c435bb50066306402304a6c6a95e8ad270c4043bdbfe27dbd04d8a23d66f5dd2bc7eea1f3184cc83449a2f0ff587873f3a59074d57786000b7602303b0255363cea226ecd8b1eea4f96d0d323bb65a55209837c1999a83b523e5e327596c8af808d50bab3c4562e0721cb690302047c435bb500673065023020bfa54bdcb443518338590d4e209049c2618b9b76e100a0f6063222bec2cc49bb19febfc7dbf89bc3186eee26810b0e023100c7694c6ffb697c37923adbe3d3bf8364ffa2cba7f8bbbe23f70b86097278581cc1ac104700bc9b9c6c8965f8826560120302047c435bb5006730650231008426de993ec7adc7446669e6449ce588f052e050a2ccca92b5f0d8a04ef3471c060bfdf9336eff74b2c2437e28bdf8a602302508a7fe8fa4873a8ff67784434d285cb4b1404da15225efa91c2a2fbad02ee88f06380e5f0d37f8263a6b67ab0d7c670302047c435bb500683066023100a6ec60d43f2cc9a45cf4162cd4faa38db2ef218b97787dd8f084b5ccd10d0db877f64c7058c25f1e1213de8fd125b87b023100f235f857f0ef7038734b9168bf97d766c39d02f5ab2de6a791004baf6ec294795074b15adb6bfffd56553ab4297a03300302047c435bb500673065023100a5d906efe19cb79bc1f204e2e62605e698a8bb9d0539dc6935cf331aef95de5e9349506b82876e7b32ba95f00d2a83af02306b6e24752bd7d3d0b38b8648ac858ab3e30fe0f4086d75457e42787cd4b0f1708b0d17754bcff71894372f1acd03eb8c0302047c435bb500673065023100c9ac2800175126c2100c762efb92db866d6575950965e9e305693d58fe80eaac110f15a019924f8da6b68a90dabbb5dd02306bd7e95d143806913c2d2dc57fb10fa213f6386f9c5de9e0bbc87750bcbee2eec3192ee8dfba60641e0319b3533103630302047c435bb5006730650231008ae7605441b40a2ead94597c74a876a77ee73f879906d8b03bfc7817b79f14806181d26e88de0bae7fc18a331663dc16023038cb6f48c4a38b1d799990c1ac86be8a252bf8534ba6c721440068624e41b903081e46da303421a4e161c95d3d58229a0302047c435bb500663064023062c80bd7ab10949fcd7ca6230cb132cbb5040d6fd3495d420a2db7a612a1f11c880ff3c640148475a96ab16df1bac1c3023030ce8ad052e114a5ac810fc5e90b10ccc2d4ef39d3d2c7489e076a8bd0b93eeffcd18b701c5be2a4961b10a230ad52380302047c435bb500663064023006f82c4307a640f77e2a8615725a3cb7ead63526aa06ccd4bb77c4ffbeb1908adf844e9b1f8f174465977784154efee802301e41a1e22541f3c271667c206f0b60fc222e68aeea119fce542026f98d4d7e226e32de3dfa460fd6ae5fd4577f958e3e0302047c435bb500683066023100f8b5d42dae3011a05609d383fddceca2fd3fc6841d1d2372aa08199d9c69e38a3fc29a262a5e19c5354a61c1b20dfa9e023100d2dccec09374e1768ec728e3795ae3cc18fb1cbef21b029587014af0fd8dae29361b5acec07a53c1ae2300a9b89f60290302047c435bb500663064023072f8ac91279dea0fc2165f703e224ee021b98927b078adcb13368cd5cec00bbae244fa9ce0b32776cf55e2f3df086087023066410eaa14dc1d0575d94366594efc693be1ed803b63bfd637a3edc23e97c1da4fa9d7cd98638e80a74494317d969b8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50067306502310092bab2a9c4f029867d47ad053953509f4fcea4b3359258824a9f58c8015d3c2e499387f42592b918d3fa1ee0047b741e02305373cbc56312a07bb2ff473f17471fb0200c053defc7b01155f441dc68e415c572a489bf7421d0ec085205e22b918eb70302047c435bb500673065023100889e2ab6f21a24b71d8178fe3cdd9eb34fd1aed7e0289cd822b5c1960c206141cfca2388c44e2b6291da874463ea35df02306e4894e717f773c6c466278313a6434a000892ee9641c6dd08511f3caddee8917a02d8df7b3d95355de2b8852658019f0302047c435bb500683066023100c8c1c22192e15c63f8bea827484217525100c7831a78ff349811044fe894f7efe0c7f03a6cd6ad16874a200f430ceb1e023100e5e342f137f6a56ee253b792a13621c98dac394e6f903b06664b0582b469e5f4e7447ea70b167fabd9c5d74be207acaf0302047c435bb500663064023045a4e89ee55d363d4e77eb12253158797e634f8ef2077e13571767e788ed31e10e57267578f87a2f67ddcd2e1647e1cf02303f551954855ecaba68185be6bb05dcf2c06b3fe3e265707c864da0a946e94347c4442dcc3dc5a5f87e84dbe2de4417140302047c435bb5006830660231009a988c8e391c6dd06f3d355473587d269bba8fc68ffd874680dd988acf676c1777aafca45da8e39d3aa804f0b3b24b12023100b0b54689fe05a3adebc7ecd8f98f842e45ece0454e45b2d572160ea157c1e836dfef923d1f75ef059affb497cea15b280302047c435bb50066306402305b89d55ae1c9b17f30a153128335df7fe0183697e0b0cbae5cffbe87b3a6bbc66f68b6595cb2c45ddfd81b7269f1f2f7023024f752bf9533d9b9a421c3f330a044d5414e9035b1a249e4a55b1ca3f23ebb7e5c501bba2fabd27f165bcefede13ed2e0302047c435bb50067306502307cdfcd5ff1581377af30cf072443549bd18f40807907890533f2051e4bd6c92ec280290045ec580953a1ea7245f4ff9b0231008589627fbe6b0045fa62918fb1ce912ebe9462260b2f9b95b5e27a7bc4e0425333689146e1e6cabc4717352bdf8c1bd60302047c435bb500673065023100fde8ce41c2cafaee092e93a436aeba8655f2e63d62760f82441866e1b2947e6bd0e5ec5cc566b9787d5dd0410024329c0230197896b5f0ccbd7a1657871d47a5545ce86e2ac90b75fef9334dcfbb32ecd4629f70192b2cfc1761202ba2c1c0a0c90e0302047c435bb500683066023100a1c1b5ae31ca298b39c3fb7aab6e3eb9f3ed03c4703191e917ece5a52cd77de7c1c069b4d8bd7cd955bd6220b9b2197702310098a05bb18775b4d7160e7403f11ec7b89369928a82c7a43417b51ecc5246a9752d541b980edbc0dba9cee362c0409eb00302047c435bb500673065023100d2cf6ea5fb86968848e51c466c83de36557918256fc195be1fa6f181d7622b249d90969bd942b00440ef812db08888c0023063c8aa1a14b96c5dac4112babd8a08719faccb7ce33f390d527efa572210010eff8008ea5150074a83cf94b6eaa156190302047c435bb500673065023100bacdd85205f12e6266b0098a6e78c0c7ade5b2f5facc4059376a70a2a4382c43cc4cc63e65bb9529f06f8aa00860e2fe02304e8988554ea13e3bc334a5f4a0d329cd0cb0d96fbed50b4df514691cd51198cbca3eb4b86cd2ae523ab62994ea7e8ae00302047c435bb50067306502302ada4edd8b7bec06b8e2e7a62aad552006b3527328a5a5bf2c88c617f3ec6a14e79f5ed7d2f2e185cf24026c8bfcdc4a023100fc389663352f86bc07db2122f38c741d599535ed03c4c8c089faf4e23b91321c1d81fe207d9e03ebe909dfff02edb27b0302047c435bb500683066023100a49d46f6f86c83ae719600e0bbe09da77682916bbea5617ba1e1feb7588bb8807c2b3c67370fd82989f86dd4e0f28990023100ce1c0fa57145078dd52de081468ab4b16d0289995d0a19b6d441c3b9c0923d3cefecbfe6a1cf018d20d7dd8de0d1532b0302047c435bb500683066023100ec8b107ab077180a29b8d0d52f89427109b54782f3824da14e2541e9bee095b8331d8d681960b422e33b72268f39851d023100c976b7434eb67669ce45c87ef3f24c59f12810fdac6e3402a8b48f6a5a28a79032ca4f3d26d0117323bfc303819150b80302047c435bb500683066023100eba7df2825fea0a7381ac9dff2b51d18b01b2019cec69cc1e1a16f9e1d6860f7ba21ccffc2d3d81a46595ecef03e1be0023100cd5309f39bdcd2b08cf7e45170c0e400f38f4c4ee0778b6503e851bc64ef9aefb6ff690d030131a67ac7c59b800512c20302047c435bb50067306502300c82929b725546b9ee8593dbf5df075a38d0a98080f0efdc82f5671e93607a854c2a33854ce080935156ad71b60abceb023100c7207d0de58bd1d0ba4ae3643ac92cd383b491b4857c5c29adb417f9bfafc9df4c7d0addfa7ad4fd4ea5a46259929bdc0302047c435bb500673065023100c71019bc88af671d636a6a2607620466f120f0af0289d68b88337ad71c215874be1590c6d418bb180b2c1e267612dc4e02304a7e2832887b542710228003f24521d4e000a013b2cc782a666417b8ded9c60f598a7940df0487f855f8abcd043cd0a80302047c435bb50067306502306fa40f36247c2fabde828f21ed9a3e38a6454b6080f1871b41ec083beeb1bd944599be9aaeef08bb8c0a48f209c07330023100977886d40574d37da7ab5d96969062c8820c3bd9e8516fdd4f04a96af76d1f0f4886686befa7b71e1b9e898111a640e70302047c435bb500673065023068d0ab19b477dda751fdcf847c822271adc9223166443389036d9ad356143acdddfdbed82ffc4b7f69a9b98905cd003f023100e1bc3c0b8c91af39385d50f184f4274d0c99c7597ce238479321237ad52495640e6a91010990cbf47df86a56614cee270302047c435bb5006730650231008d96c7daa19d354caed979fceb3d9941e5ad7a262502bfc16d44c8d92699fc4fab8f636d50540c994db9273432468ef10230174e21e3f7d10545c19f36244291ae6e4f745c0c45b7fc6681b110f2e49e813511d49e2c835874ba2e6f0d9077f93fc70302047c435bb50067306502310097d8488205a44ad5b288bf6a09210c8b59397c7f02874ed748dfb09fa320f0004a3a7e02f6853aa1e30b8a6f2641bf8402302352566b8cefab5983e3ee84b9e3b83e1656770195ce366155ab78a4c65b3d20e8c30454fb2ab7f310e9b408d49bca330302047c435bb500683066023100c3ac599b501a180d3ac2743deb8b42488b0b812db71dcc986408a3e1cbac5a213b827db5e074221dbb4f8087a452d0ef023100c419c4fe09411efdd25232290b28d059aa45e2bca8476934a35916a9d1d38675a7fa5732f0a2e6b8512be49901d6ba840302047c435bb500673065023100b4f1d199a612fb0aa912d4f030720de1a8ccb82792096a35ffa98f8ae13573b52a9d0c177301b25af78c984b5707da4802306906238489c5c3e8f8fe0f2791e383a573e899adc489aca0b20d7befcb456e53702d742afd1ec7cbccbc4ef1cbe521700302047c435bb50066306402304c7cb3946388a5b8527787f6bcfab33a4558d13a8dac8feecbfe101a6b265354448c2631462eb282095c76d1991d6b3602301e17d04643d78d7fe482039a5619e8c77b528fb905eddd3700b7f535db903e7e453f0fdcabd2489c937dc74dd73a4c180302047c435bb500673065023100cca54e74f83eed828a23b1fb2602e0199c43dd886372f00f33add282f297c2f4dc8430d2498c0251d098c95db076f1400230394e5c3f1c70bf6c28ec576f0e7e85e8f0ef8fcc0b8cf6ed857ae6a3464125b7a1f365269af50c5e5eeebb1aea94be930302047c435bb5006630640230689f62affd4de09b70b5736e06a40f265331786586e29d81101dd60db68496a070dadc0f4c9d884a889d5f9644c03dc7023063e8fdf576c363b5200003d08ea6c588331ccd93222441d738877dfe01fb3dc74c1820d8af6fae507c7630152c66a5e70302047c435bb500673065023100af9791f0b352c69c97fafcad649bfd4d95d07f1e1075423f71c1c5bc9358ae8828fa2afca97d6e6d812f7b608b99eccb02305062cd8bc6fbc4a4e9f52d78625d64abb61445b1cc436c7090d015182d9109fe8b642a536829242541dda0fff1ca07a70302047c435bb500673065023100fbe01c63dc91dc6f018eee426fe46b987d531e43e5ef2c34771b1f83202db0ac59f5e2afc5ba6edb0ffebe6213541c3d02307b253276d94ff10a670fabe3c6751b6a4748acf2378b8310b682cd9d8591e60f793b435868ea6922dad3b7452e4600f30302047c435bb500673065023100be4ef3ab82a4f98f64a7e90988c3af37db7cf9c1d3293c3420d7ccd9d6acc18cfc6897a3a46ffd147d1eeefddc9b0b98023029134d51509ffef2ef5f7ca7fe616b545dd718dfde005b2a33c566c7002a559fc2adbd40bb76ceb784038475ad31573f0302047c435bb500673065023100d3a5635885cdd7ddbe4241c1dc2c70c83a411f339ff47864560431acd5465656595e9fe1aa22bdde782cbd80bf77646a02301a428a965ec8cb29e4f60dafda3f942f480d3b1a4014e18cd5261604ade884bc1f0cd90092d09a5055142b78668220020302047c435bb5006730650231009604d16e7aea936f6603375e52e2e26cc1a1b6165f932fd6379e4e57d49ed96dc6cc547bcbe9023e33b498d8d0bed2e70230309cfebd9c048c343fdecec8b4e54bdf77bf233fccbd91abea6da20fd6ed5817e441afaec02f622fd688ec7259104d2c0302047c435bb50066306402304461465fdbf9c982b97de34f3b986e150b61b3a55acceb434aa9e2418613c04dbe199447ff9f12de89c3dd0dc37bfb3d02303c0b92440dccd4ccc5bdc51ed86c5e10b2bc22624f069c801c2b1d7c9da273af4ce9de68e79fe4cddc57c697b33b80790302047c435bb500663064023015290e6dd7c7777f63dcc297cf14e67f7ab089083921a7fe27601f83a4bf781dc3d1097058ab59e84952b43d0f69d90102307ce67cf870afe5231955bed66484a2e58759922ed5e4543704251495fba4a8dfb9b12dfb45f55888017dd9d826ab14250302047c435bb500673065023100f4466829e06da6810b4ed926d7bd6bd5cc1077a86642680b3284483ca71bc59afce45a1fbcf41bdd9d93ce8be3c62cc9023062088780c1bac785563da594bfac38921f88ae06c77a2eced8ce96afc9856d2f2b43e615d252da8d4319221da1e6c00f0302047c435bb500673065023100a25899e8e3416a4e6ef52226ffb36c4bebbebdc4baa80005ce0805b704b6d425b72f2d95449a4fe27650c38da19f37a8023022ebdfd67428bb1aa394f644cf8e487165b0643013a5d792589243a355d9ae3de3331959212a1079911f9af7d76212eb0302047c435bb500683066023100a49522f7976e27e0bbd22aab076f3fd765e7a0e059e1e7aa5192828f042ebb01e55099b893280e8a3c7522bcefe9de520231009d905167e49d6a09bd7d46af05a32ac766fcf97ce041684cb65443caff01c1a0422a7fab28ab9b26b7fcf180f2beb97c0302047c435bb50066306402306ce1f29415628122df4ee686bd03d849545f886b360f5b5fb9b1205f60b0631b2d866ba71b45c3f7e8133d9f5be2310502306639f4c08f7f8232c294afa04a6b95a58401baadb2177a3f8b2b7314b1b3626249bcdbe1b5c32e90f2711921decfb4c50302047c435bb500683066023100e2951b2eed6061c9eca8753bde29b4a09d0b7d5dec7670f46fefaed557e9843867fe6c8233617e79ebf31b236e4632a6023100c4cbe7a18f8ae3d74fdc5ced515d62a23b0bdf632a0d54bfb9d374890cd7d215352642aed33ece0de21beeb6f60b18d40302047c435bb50067306502302bc11c5cc18db9f0ba8baa9c7e312684188f2f9f0d80af5e5188b0a65b9ffa6dd78f2247de4202514e0b309a5087e95e023100f6e63cdd37064f10fd4c826682276184b120e9a425b3a7016226b996b8d82850bf7b6d76de9301834dac1c75247f77900302047c435bb500673065023026bf689436683051b5de4404a7d81cb84bfcb2df8c36b3bb8f8e10909050d8a92164c4a824b3fcf9f8be09bd70d1db49023100fa2363b1f63d90d45434ce271ba6ff76d6b632f738158ffa6deef781815674fce8a90931bdb701356f1fc34037a4be750302047c435bb500683066023100ca4af690e5beb43366cfbf1430fd1b6f665e60d6edc8962b66c7169d81b30206bbc825929145fc31c3fb9e4f62795b69023100e893ecfc842f88dafddb674246639b4719154b0d6388510b91b7de425c472ff398eeb807b09748010d72b80e6233bc9a0302047c435bb500673065023100c9af9cdb9477608f2bf607bf5fe56724383f9fe94bc7b9afce8e87691ea81e1a9371db0a040c92e38e861a2dc2b0f5ed023000a2040271c83367393a2b3fd6c55c395859ab447f49621f31788014444ce6eb0022175c344f0fd36f830ec681863b8e0302047c435bb500673065023100b977723f29d316384e36e5428821f1fb4b4e35af01567d8fadc76720c2b9991f004cbbf69e1a7d80289f2a4f9724ab3f02304b3d9d073e5330725373f5899f0bcc2f4066524dbcadbbd84fb9e507e14856eb7ac963e20069db9d3bd047c38213bdc40302047c435bb500663064023058e85cf0e118617980de29abfbe598e5e2eec5c7cb103c1d7b1013346c25a47b8f76367d9d2887acea6ef43ccb429bca02300e4fd2e4a9ce21bb5b87df48775799c40b71be8db07e217a4004da9f14ef8b839405385d07f716bcf966c1bd954577000302047c435bb500673065023018bf10aaae7b323f8a3f658a466e1633a25abc03a649d0b92899d60d13304389c862c053aa381c84a1e7a25c759b7218023100bd922f7be37a58494e445f38f175f1500e4b56856da1c714520e14c38f50b30998d77ab85a615e678b23ac7f24125f8f0302047c435bb5006830660231008b0e6b12b3c0f1204220412d7e17147b3e1ebb2b768cb0a3048e158cb8eb78c63e9cff27b93c25ba871196d3f1fe55a8023100e1f92a22deaf3e3427a21df271ec9e6524e2902a4a1bb7860f5aee47a79c640fabc6ac02713cd890048c60c6dbdc3f360302047c435bb50067306502302d02c8b33ad3ffe4a38c8e2111f8e63a71eee95b97fd2151c8ec6087878ad12f09b978a2316edb5188d4b7aac3ef40390231008dc7a2b4096d55bc2684ae8463530cb833e1af58af87b329ee2a85252809fdfd86c860942af14d6f21716d1488dbe7310302047c435bb5006630640230066fd4d2fedc4eb451599ab1805263a9d8079b7ad2bd69a5619748aa1e6bfb680f0d6f4b42c46dea8f7a8bc866391d6702304ab8c877420e2424f1fe46289298fa9b689e267304cd38c6179a160e06b6959453726be4ff2eadbbd2a67e51fbbe8b720302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023100c9b46d7eb6f1e57e3c9a922b9174b0fbebc348d5a71a25b2c91cb6789d69d6ee7a006bd6dfba3e7d4c42861251ae72df02305da377ef668700669d253ccf7d4b8905bd53751d1d6ab70d482f1c422059b7c9538ca0094bb390389969062d60442a8b0302047c435bb500683066023100df8ab3104084325e365b264960345203c431f11b6fced88237792d69fec2a2edb3e0fec1cc77ddcaea3a5751363abe360231009f044136ff9b67687437e6119938f8a1cca587af468783cea1996c8dcc2cdcdbe4f0c94afbce8012e1ba12d240298bcc0302047c435bb500673065023100b3587ee77380943916bc70226f9e1ab4ad80269e84c83e30872c69c9152f706beba0a63d1788c6cefb2e63539b93830b02306c946b70126f4089c4b6609f1e672c990131d62017ea3a8440c17ce694528c397762066683b11b664eeaa244721094690302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50066306402303e50324d55bfc0c9cd1ea175837802e668f970680dc2c704e6edad49dd253f744c36d5b4af7be0ff8153a9cd0093878a02307ed22add630d9429384bc98903caa7cbe5df3a80ccbc9c906ea263bafb89b0d54c30e60380d1e52f2770c3be292418a70302047c435bb5006830660231008dfd33e2a4fe5c78bfd2098a25a0e0428e189279980b8f8986ba88b8ee90720704275991919f8f4b325c9af2f7c7822b023100f424af2d3715c51101a3f4ef8bb31b648fc192d68416fedd3430c709a1b3209550314e4d4c3bf761186526893e5810800302047c435bb50066306402306b1745dac06b7c8b7faf0a166c88f8af08e7cf5de08aa6094975d95efc437f71659d585b60dce3ae3ad6801c3ff38409023065c727ccf958f2438c8eab8c00437457db658c100e66c795913e0da9234e6c2190e474b78e5eabe38ada7b3e6df8cd480302047c435bb50066306402307215e39828468d2aeb40c771e4e036badb688f6472382df5f7415e0f9c23ad7e47226cd63f5a393128c738d154aa7ed00230328a33f7f639b26437c6c7923d2186b4ac9bf9465a675d1927dcd52ae956618838340d123b36c3dce7f7e5f35ab388f80302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500663064023050891f7c5446acd32683fb95ee6a9f8e93107496244ec4a26bb54a00674c92f317948da12f38e4ce87dee472a6bc936402302ee87ffbf73c242f72ee4f30fc29d273da917b6293f43ea8e39cb5580cdfccb9794090780c29555cf708919b528107ba0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500683066023100a66473efd60963faa2cc838700a6e0c9b1aaab57c41dbdb3bcdf9704016254695b9d219e2256bb4e83419481132d373c0231008ced6b3be3de17f3c113f7062490b7d08e8fe6a7941674290363e70261be6035c1a46afd7004b0db4afa93cb35b03b490302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023100eff6d363c68381c424df2cb3d5132c9b314c8014a2e3e14019304dc4c3eb0719d7041e7119e6de59301e1094e0efc65b0230062238e767e5244e2a9c71f01b52340c5eab9588c2441faa74d2b8c4d386df1def2771b2fcc5ee94281326357cada6410302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500683066023100f64f17c3831971d41e7b08af56bf2413c908de69af6b9cb87eb8de2df2c3d4a48ed0ba07232cbffb9fe2b771fa6cc9630231009cd8fc2c40adbef2c10b956c5e54f672cfb4391dc8a344e95f9c3f6f6d091906888a42ec522d162cc5f6ae8ab37deb380302047c435bb500683066023100e3a79c0ad1bd81f07cfef36fafcb8831ee8672fc32efb2972e2a16da22ba3f8f425cdc437df00260f22462d6b699cd49023100e76481c2579552443244d0376f1c33e40402fcd28d16c89b6a2d8bc2c06ec7316d6f4e6d17c95abdc1f6556ac44ad3560302047c435bb500683066023100eafc9de7de1a3306240477f8eb0dbc27081ac1ade68ce8da6fa6d8bfca07488879e74a55b6b8c03b1dca7c6d096db05a023100b4ca00d24bf3f92c90cd5632f5ac323cb0e20b636a5e14c3eecc6984c2dda3c383a08e54e61cecec0bacecb04b72e3940302047c435bb500683066023100f56007c53e228f3d00e12cc0ae8d2e67f2023d963c9129628e437f7377e6f8fdd35389ddb01ae70a0099c0bff23295f5023100cabd527c93c1f558fcab46149f25b5de347d0525e0f09e44ee2a3508037627e1d21141d52a5bc7c2a439a217503499970302047c435bb500673065023100efcda311f7ed85eb68c1e272cd249998ba0964698cd2d74258d22816e17786bc989ca677640dd06d03153f52de1d8c1102305700f87ed24c06ef2362fdefda89df7410479ab39fc332e04ca5a3ad27ebea1cfe8bf8dc96e64002ba7ef067722020210302047c435bb50067306502302df8267b957506db8e79de13d701a8d7fe46324236d83c6116855c3b709e54f258a8de5d99b4234020bd1276aeb59aa3023100ce7721ecae4d400d5c5b9f2c4bb894e3d6219341781c303f4aed336c97a5bac36a4c0e14c1dea25cb6dfaebfcf897f250302047c435bb500673065023100aec04b650d81d13f120b93a5bf50d58beef2044425dcd16ab7a6bb035177d3d6c3ecfddd2d9e254017a695f73e558d0902300bdb7bb8115b69fd5c63a8f109c39141c89187fc7325581de936112078ece3031ae92a4911636aae0cca31afb578c2760302047c435bb5006730650230136915b87c9e0ba46d478118bd08ee2d49169a2d5274e2ef4f2c3cc5a4d3f5bbc821b36e43a09133bf0f897dab3d56c2023100d455bbd60f03039b04c316284179b2777c1c2ad6be825cdeb0df934b3be86a84acbae55c1fdc4ce0b13c8168ac90e6180302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500683066023100958bde63c3c331bb402206d4479518a92d273463716a753850a8379678dc0c8d275a33ca0ec76bf87a19ca4a596a86f1023100834f43a9dde2dbb283eb10382e5c97d97c166ef614db0976b086dca0ffb5ad08cecea9d7cb28d409c5015d4a7ec10c2b0302047c435bb50067306502300ae681bc007bb896cf999816f2b89ed38360a47288845dc68c6f52517a92c96e476918ca0e4a4ca7398340362eb817380231008a03420d7d809d660340b6c95886ec4b09d5e096cc8fd6f17656aaf8e620bb6e1c2ffb4e964b15913290c5080ae895920302047c435bb500683066023100ec0497fb62e668ac35be08706ff1e733dad798cf202196c9516b90315d78155b750cbf4bc8525fe6718d68b2a58e66e2023100c7955ef13bfa7feaed65e0a2d0768e23ccc74f82ea9b888f1c4806b4ba1f0118f7739cc74466d7ed6f5193018ce5c1280302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500683066023100cc883b8911c9c0061ab19598a5d2178eb084fe04737d224301dd5460e69806c1a122ba71b6b1afc0b5164bca62f736dd023100800ed33a27313a69cce19df4b86b653d3b3572d77a5cf71e8e40f2018a791e1e979d88f95f8c4231d3689ee441975c280302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500683066023100c15d3dbe65d854a9145f77a49dc47f58f2370a73793e58bf1bdbbaffb680117f390eca35df4a05eada6241a55fd830bc0231009dde30c5c835bfa2456e9eef58974e296ddc9aa0b30312b9de6dfdd8797aa4acf12487dcc469b42b6569d80f55674bd30302047c435bb500653063022f7c7f472a4504576cec3a2ef37e94eb8d9de4d38a58e2c01c1444fea8a31dc998b0c99fe82d5afaf3c3a94135716fb602304de34c59ecffa1e4cfa357b4d84660ae932325ca572b3adedd55b1357ed6966853025f52337527a7be68b3eaa0d885d20302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500663064023022bb3694e7627609c20a51baf821ee2c0c369f654ffd30036ba5d4294aaad1cc832f1d679c9937a7921aa1c7f7cfc97d02307800b9801ebaa508453ef05bbb30724a96f4201e71de206c1fba06d4190e67923b4fbf491a0ac7d05556db673fa4a79a0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500683066023100df6d65e9e387d5cbde440d63f996c279f1d2d7ce356d48e5b7e599d949c25cea265531c17a93547db593220ad9eddc06023100e328b1e44d38a32d631a2e365cd7909813961e0e78f84c1eef165f355fb9d8b8642bffc1838fcf078f343efd73c976340302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50067306502300cad444233e7d80cbb82ffc9cb33c2245a9058ea17e45b2ba43ed4702cb6080384b5da8faa282b0cf5a338fbacc8adc802310080c059388e4d7f1754d1ada64a2b5513ed7d60f3c085eb3da2d91ba3bb628626437be426168456ef8eae359dde7646400302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500683066023100ffae7613fc4ac64cf3cf6f69b3dabc92fd23a53286ef086280c5e66439413baefcbedabcd444a0211314a51674d1909f023100d5929c61caf7abf095a03a43d801755b4109cfe892845d167036feb479f575967b9d13ce74090577b30b52fd3bf5478c0302047c435bb50067306502303b02cddf0e661e6004143e27b07040edae16d577d5cd846665d186418eae6b94ac79e7db2705bbf8fad16cd2f21ea8d50231009b603735c28af15a5be20045ef2e5a56f583af65da3a703e289403b48984b6c0d145c4d0ef2c8f68d9dea73d7cb0ab150302047c435bb500663064022f6290cef7ad52f2d50f1a42b26295cf351c180ed31fab90461d5eedc9a9ccc09eced958edb21e75acc368135d80290a0231008bdf591eea2fb162347ab18f57c83bf89990b46bbff52df7dae62eebbc4901a24421301659bac09634fcb95be9c2d6970302047c435bb500663064023068e5fe9caa19b9cf1cdd99503f5a0c569ba0fdc74e9d4082881a5979bab3f67219635f3fe5008944fa289b086549c203023044b7119d997544b5f68430f62ab6ff25fe3d0185e98dc611aa5c89dab544c6fa8f1d97b5fd46ade8ab097e7e2da01da80302047c435bb50066306402306368b28a39181487f6705d3bf24f4ad2bba00c716764eb92f42aa2ae2bfc48f2d1e84033aea49e8ad379bcf5c3e56e3b0230113e36bf8738bfef905313b65d139fc8f2f052aa7ace161af52a4a05015cbf6eb2b98812ee76a24fba8365b2a8803d690302047c435bb500673065023034a07d359c310dbd5544eefcec6614845ef18e29745b8214c1afeed61a140658550646918a44ed5a76093c8722eb932a023100bcaf1f7d814a13dd9105ea77d2264a838062ffc117fff1518a8c903b43e021a829410f6c27c2a31a95d6dcc30b4380720302047c435bb50066306402306f9307d5e82c504fbea4d062820e19882af72927cc47c39aab7976f9d005426934f6591d6095465478a358e29a79eb7902304f50a5c294904baf4b52d4c791224e22cab4e88c1755c8f2f9f5cb2b902c03033d771443542de24fbf7b3756130b73110302047c435bb500673065023100b87aec9b9199c9c9c89eb8bd04f868effa6d3a42cae777c1984da49ec32d1e68dbe0651e767cea79481ef784ea294421023076a4e483f74e20a009a0310f6ff644318b0d93a1d4db6ce906371af3a4a5f9e175a3f4ff070545edc3ce4546b6a4e7c50302047c435bb500673065023100e87751eefe545bafbbca5e8fc327394bf805e4314a31260d738caf3ee3f217c8c850aab4800e4f802a5289cfc69f8c950230060286fea83d8b7968c4bb71420c68bf9174ee6d9771be104705a18e444b2165e7b78ea9d5fa34bca90246fb7c5255a10302047c435bb5006830660231009dca378d166dbfa23114bd15076f8bf48dac5224161c252ee2a8c0fd725e3aa8010fae1609a85d5bb1e873eef3b00034023100af28df469e0b6ea9b8a64bf747eb65d527d9633e32cb36c9cc608e97a124772505dc35cfc74e27703ed9cea78dd1fa5a0302047c435bb50066306402305f505b2307859488d5943b10608aa0c84722428b3c5789bb3d7534b4214b80ec437428aad46d3e77f426ddd17bfda319023004cbc3c4d59a4459ca2fa92d591591bbfab3967ac5dd2c83d57a4448b7b406001233171015903c37f772d921fe209a030302047c435bb5006630640230376e549e538812366b660fe01a794069710686f3608a6494996bab1ab325adbc3e3d232c72c604a8856ae0a994da15e8023001a47fb1e232996ce48895bdde685a54c3e0f1a83415525ebc7ec96a57e5b7b2c250c45c4a954620667c4d3230ac39b00302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006630640230621fdfc5368f629fd8ce5a6392e7386321ad039fc42a38084b2eb8577b7aea80bb51e538a67a2bae9c27c0e5f4a48cfa023073fa12ff8992a8a692794e3a25cc631bfc8e5e2edd6863e9becf4abe3b10a919327845fe7cea0c170deaa0add1c30bfc0302047c435bb50066306402303d4fe6650605485444e52c81b9c595b0e380e2e6efae9693649124f268b8b7299d3e1d1302da029bcaa6512ae65794ca023004c463709ce0abd10acee8cf4460cb8f036199f2a2c2b078c49d606121d2a3e515ea0bcd20c7a847859ffee8bc12c66b0302047c435bb5006830660231008e87a8f0311fb03d24be726612a6178c22b87c2c2960c2bfe1581e9734de71f019248becfa392638f4bfdf6401b2c679023100a22038986ec2c1d70e3d2a2029dbf57fd28f83a1d3fd96843267783694f1a5ac8179a21697abc25754c47e45a905c1070302047c435bb50066306402303a3c3382b5f6fa7db5a3ac88f3fb544b2a2c08c000058b4e98d133217be1a1fd5941e9e6ceb133ef58686744924df7a50230273826f04a616b1977214b1164164dd950df0273036fad98f5b7b93f3f48d51ac74906e5b843a3b5d51673c964283e070302047c435bb500683066023100ef52952b7830531735caa326c60e916c6ff5787ea435a06aec1f1cac225b820720247f80b286e4887fe6e51b16c92efb023100dd8e0c79271407e768bebc218da849108f9777ffbc4d7ed68d84f0de565ae555c8271aac9647157a738c6e95bf23d5db0302047c435bb5006630640230658bd73dd37d0e31cd8dd366d466c89c8dc0a7a4ded5ebe5d9011d8b7b6d72affd4132574126783093c881108b200c6d02303bbbe9386a5be1a68762ae7e1a106f18121771a842df24cf133312cad210e30371e3032c12010e87707ff80049305dcd0302047c435bb50067306502304730423cc7e5c758993a4acfe4a5a3518fb9c37c51a0b622ff07f2f06f765d66cc7009b81acd7bfda604bd9e849f9392023100daf59941e601a01667b24362c09fcc6197a65ffa111ce52323493747964f0e369cc3bf78ed75dad524b602840f3f50e30302047c435bb500673065023100a7fb1fbaad15f425dc432b1ba44e7afe33326acce8676e42c856df7429d0dbe2a3a81283697090cb35c7361bf9d6616002303333c68e1a4037defd834007b9101a2a03bcffb21d1b84c35942b85dde2d3381f489265c1dfcc656b2be004436503faf0302047c435bb500683066023100a3e51aa387338c226df3580cb0b7bcc04617e5ec6c97358ede52dff709218c4b53a710587a16a28249d9e8d23671393c023100d565c623e35122960e9055366ffbd6581120416cacda66fdcfa015b7c8308883ba34527e52912bdad1900381744d71c30302047c435bb500663064023038a607cbf5922898a484e4c9adf582672d045b2db156284d420741f03b1353a8f39ca422e0e0d7de03cb812a6bd85abc02304e6202d3d37162e8d1c8d59f59b223c9ce47301e843465ca9fabf9f027f9f0a56eab12cf734d6bb5e0e903d38cec2dca0302047c435bb500673065023054a31047bcde3a67254e31efeb4c2c0f709309da778137938e18ecf0b8cd70e7cd45075870150ccbaf520190eeae8c920231009c21e1e582c2cb263fe63894118bee4cb4ed2f9df9d7fc1e6949b917c0d81ec02ae64e60b51e1f9964f5a4e4b68541c60302047c435bb500683066023100c403976afcf43110fe290bf4ee8b9a4788714d0d6544f9b87e1fce3d5955cc914071cfb88ee668ed42ecf34a9f969677023100e87a91337a7424a3c3ff2bed442285ef605130abc14479e44f8ba3db5949788cabb072e0ff2bcc476e8f024e6367438d0302047c435bb50067306502310082d6f4aab50e89282865420bee3010d52a44e2c559906748f752d4aa124c655de88169dd9d1fdab563d5ea2765c033d702304cd5ef818252e42107d163a38f60333cdbcffcdaf8a7857fb1cf831bccf09bb12c6eb80bea09e34c2a5b502365305f5b0302047c435bb500683066023100aa4005940be87742e36443482e0c07d6357e19896a2cc3bc892de86ad44985c88b094a06d2b68ebb85b7e57235cc4719023100a4475183ee46503f3a8587975610c95b95ec5776c29a2203ebb08b632fe5a368832a95d137ca91da70f4b6261ef77c1b0302047c435bb500663064023076571d4626f9f1ca06ab37ef20597c60f9b0253f6b4a41a7a2fb8707b2db3883d5e53e9b3043cd1f89bd1426dc3047ba023025d8361a272c29f357b9ed2e8528d4493521a0de6fc1282a15ff93a679885f6ac0f0b85d82536189976f394256c7e8ff0302047c435bb50067306502305399c6c5ea58c2b52a3594ea5e569ed30ecbe65ecb38263492770b7e8f9d3b2902867b937f51f21e13ef61e95ccc6c0f023100e1efeccb91d4aacdb9d1f100c360f4284747a1f7a76172be0e44c4db69dd99b3b65ba1d8b15fd6435b6b12ebf9968e360302047c435bb500673065023100eaeb4d652cc775781a377a2dc706da972eb5c34a330da6ad3aaf565c296c9463d9e59c8feee31d324193c65ee1e843f202303b9d307f07e49796aae5b0af22ba5c25f9e50b951e45840288a4a2e9352ff46aff411c74634d25625e002d1adf276d2c0302047c435bb500683066023100a9f758edabbaf5d5efa0739ff1227e6a396d8e0a523dd881b2a2c38e7635d1c16bca109fa6a71d841c58a48123379b2e023100c21507586adf2a198dc89dcc32e1b75953ffe16d411607e5982dfcb1c6e704c14b83447e065602be5443593b8ac9e7760302047c435bb500673065023100a1e3af3aa663c44d1a39b1a6f72224ad7b83e31962ae2923f0aee9c189184e4f0ed7c2db19390f0337ab9b26b875153d02306171e44a1f8b9445b876536502637b71068e9cd8ee53cb2673c42a70f06f5a17c47cfea8fd8eb06a9afea0c9d71ae8aa0302047c435bb5006630640230365d63e9de7f2f8153bd2f81ea6e6501c479bbc24772c8deb8f295da03243a69ffb3aa4386ecf46d787226656235b932023063859ecf9375669017122aa4ab5b1b55b0485af0902f97d5d02d36f847c68dfb7fe0c12f36104e47dbefd3cf31b864930302047c435bb500673065023100b473cf8e6434e1cdcef85586168a44dd13e4ba86f28c09dbf15aead71a84509c839da8a9043da3975bc2bad2da46dec902305e50cd87387be14fe67a9ec974b616099c3606464cf25324b8e26af326addb045714874c55984eacf855aa831dc7f3b80302047c435bb500683066023100e1aac2cc6b01af1a9ee2f2d035c77071b9d86f6ab6465f2a089917a4e1e02fc18f05e8ee9fbb9850123964b692784cc6023100f77cfad781391d213c90c0869c30a6f5752fd2b83b0bc3302c1a740b502a2bdfd9cbceb3ceb75babce97b217b1a910520302047c435bb500683066023100e0a1fe39ac546240787122a27afe98050a2103a07b95fdc50b8336d91606f6805d3eb71b58260c375927cf49cd210d61023100fb7e41656241b4e55d07406fef93f093556c08b75f5ca3e2f070ffe7930f17b9b37d466fd6eb7cc79c648dae9421029a0302047c435bb500683066023100e345571270c66c1cabd000be88307daaaaab43e606ce7aeb97cede2d9c2f86ac296ac7c2582892d0b50d9aeb20ff5e55023100f0020a602927a0a71671ba83f3fbbe74c5f326edaae710cca728cc6f490e42081b08d226391a48e445be42df2a58f9260302047c435bb5006830660231008d5454b172013d6c7dbb0d666d08b011c506f93b65e4a7f1a8b1647a67b365f5f89f596e5a382050c19d6fde55da939c023100e05c6e3e1653735ed7169d12ad6852e31b8e15a581923525d150539177c240b658e340a59f8195fd20ddeb3ba8065dd60302047c435bb500663064023058a6fd1c137fe5c4a87c1dc5dcd3d4de573e62e800293714d9017223342a1dd0c8655e19fd08a6097cee3060a7d4a45202305987e9c4615ea4c9a29467e74091a6780cae17293fc45940edc3ab913a18e95d98956349974f914c916cb94a040b53760302047c435bb500673065023034d2759f1705dfac0a5f93a28d41b1bf438d001b930e5f7a6935dfdcdfa6a8128d453874730d4ded4a89ca3e69d6260202310089c48bf85415667598655a44c03441ff216f080c57555859f093ceceb6129cf549255d185c50cd484a45c5d1116f402e0302047c435bb50067306502303114583d22508c372e22df694f877fe333599587c27b1bb0562a236fc36dcec850ba23a5979b5d26b1e1812a3485d6c3023100bf58fd85d12d4f8f2751fa203c722bcd4ef2f54948dfade769dd3d9dc3962cb831f6c37cd4950934d6db0e88d4bca7920302047c435bb50067306502306f39275754f1bc0c921f3509af2bb5405cf31ea92cc63942b67133d8de15a6fa09ff2329afd632b2881aab3c9ca3fc53023100a40e7d56e827ff6c9f740dd8052d684ba30886ca4abba84b44450509c2f67f5428ba34fdf665266c1a64aa0132889e6e0302047c435bb50068306602310081eb5cf0f21285de80874ca9165cdf159a75cc0ec8b9c2224865089b3661e753673b09b468c0da0a5f931e9f41be04e3023100ff1b84cdc2436e3defee62d5688e8801d93a46f8bffea2f97f1458df72f8528324c7433c87f86b115e6981203f4b50a40302047c435bb500673065023100b3f2e64dea5d2b6d6b6827200ea617198e3d41ba851e82ca24acf989c784bea33f27a94395b7d5b9c310e8cb308d8a0102304c5fbf14e610bff8113cec050bb0f1bff1cb68d2884f935a5f0d89896584d547fe261a33c10473d1e9ca360130631c570302047c435bb500673065023017976e8be8f5ded47d8e43715a9e67e37862f59c2e6ff5d56cf6c06f9161d3d4f5016f183918a13d5b2eff9883cb421102310084f309aa74931784a0e14aa85b6e97efb3599d6c752a347ef5e590eae43bc87e3d5b605123e7d2f8e5c0b1d3665995690302047c435bb500663064023005aa7b2ffc2e4b322b0d62b776c8879c8c0e24ae6e87f4ff2a809848055535a7175eb3709edd858ec47380064caf9d7502303cb45af0afd9972903d3eecb08779eea8c76a616330fff7ac509969d818e585afa9368571ddc25f827c122130f54cdf50302047c435bb50067306502300801500c178aa971ae95a40aa3d2b5e6ea3367151bc5042e3d5ebd15b3d4346350837b2280a2b612c9195137496bee80023100c36c7dc9971aef9e5cb230200c316ca80dafc26b368df2d13aedd5b8882de48638d7d37717a9ec0973056648123306610302047c435bb500683066023100c162f46fb45bc24acb791cbc9d4548bcf11c8d0de9b6dc9043fc8f5f761423cd2431e4cfd0489b650aedb79289bf80ab023100ab4564ba2b1f25d4548b01ee51d62f76723fc9626bd8a2f398bdb717fd6c29c025a136e0a4cc33319faca8cb1579034f0302047c435bb500673065023046709769313cdc42ef7d480ba67519f9c63d05f86543285b785ca95f32b4d427771407cfee47c2cbc394ea8a941139de023100f966f412fe407f3f6ad4d88f09b854e0c695f478dd4be4b374f970199a11b92bbdc65ef6c41b8b0c1a8a28e0439440520302047c435bb500663064023013a4ff0b188a4115b0876ef2f56d3780f32d2c2c6af3389808735ad40976a2ddc83a23895fe9aa4ea9336b37a916a628023042851a9d855a14a6725725b57fdf8c9ad3668fb249fd1de4f6ddd9218357d869b83447a74f2902f997233c3a928501910302047c435bb5006630640230349d10ace8274cd8e1bea98999e9f053f7845386085b94ec18aebbb64fc63305f6a77dbf628786396b78c34abda210ff02304f9e95b7d5830dbd09a8b36aeb9eddbd263832058424b240135660c89cc11c31018055f47f939fd2a3ec320f5f475b860302047c435bb50066306402301047d7c7b902702c44f9498d46b261e5cceb609ca0189c654b0b05e17dde17c6101c379080603c2a18bff63750308c68023047c7069c582b6fb0acf493d8a530ade29b07eca46a37257753e386239493ab274db7cda5d46d708640dec726e5e97f960302047c435bb50067306502301daa4d5072da280ec1599e1721a5af070a16ba15c341dc19858bad33d67208bf4b877517fa70e80c2f5c941e5c2b917b023100e7e9419d26de649a1a1e828bb2af661ae80910acf2896e68a880f757912a86531a09313ac04b23a0271bae48a180118f0302047c435bb500683066023100af6e429072ead88f33c324079b8e7eb1509c0c12b4193eb91afb1bcb648f4d44769760620f1333914c829a03d396ee30023100b5a687f2048b3f87f560bbcc9777f582f659faa5a7aeccb051ad829954d6f7618bedc1829375ed394d7525b121e9951e0302047c435bb5006630640230187b73ec1b269907f1291d1d379efac6deb6314dcd2127ebedf6b78f1414725589f814e87edd055030c3c9451dc862ac0230664028063e42a383d057a54224e4c70ba96334c73f62744f985ed525dfbd68e9a88527dc4e83a8dbfae3247f0c3f490a0302047c435bb5006830660231009cd52e43a0611528c1c636cd340e25eef35b9bef320e15362839c44b40d82fce3027492e0464c00507ad89dd2d36e3dc023100e631533d69c5a3a85eb47066528d7d12c94991066c6e1206b8e15e35e7d66006cd8b24d1bb3adf589c61027c98d4a2160302047c435bb5006630640230716440391179b3d60e122056190217c4ab574c41b578bc2ff5ea28ef754fcc91271e948dd43b73371c7e2a264fda43de02305cd484455e03ac3fe9962a7bf49fd554c3fb379b64093e41ce5744522602297e0be1b028f2fc9f5be042f21adc1ae0340302047c435bb500683066023100ac94a8b8412cffaa75183fac7248b021e605f034771c7cb7e37d1ba0b5388f7c3ccc632a21a5ecdbd7dff9db2e3f0b0e023100e7b4cfb55ef7a9f33cb959f07ca1cbb149643ad1b978283c70555f292305a5e643482669e15393d8768f539935286e350302047c435bb500673065023050737a0043da3708d599191c88911acfd5008d4e09c70e0493f54f84665c0cbc10feea868f427d261d5bc1473ee1df540231008dc0a979254b5e6a54b1607549971b1093b478b98ff91a5956f6c34949783fa5124da12c3b03479227ae8e76fd81aa350302047c435bb500673065023100ab593250bbea4390f9b3d12192549705000b7bc5c49645accaba6448bf9bf5875e2e24c9018da58450abc65373f0cd8202302bd0cad3be2748343f87834bbd34a455832d532883b7f5274b58caede617e90b3d065dcb54e50a4a40445315e438e8aa0302047c435bb50067306502301ef42efe481899d58bc395ebdc7d1bf93a4b8cd2963b1287cf1e789613c6b88a7aee2d274bfc5215c20076fefbfbb9220231008bb00d35535f8e955308bf9e401d4979bd6108bcb1362b61bd8f1130ab561b3aa8b98c3583cf0deaaab153efd5a282860302047c435bb500663064023029bde4d66bc54d28389b290e44416baea5cf1d8810abc3125f09ecee68d4269358c53004c5997e9b391bed20c9e91727023046fc6df56fd076e88e335e9281229f97b9c73101ff4435f7a7bd157b1a3f90d83ea5e98301ffd907fdee0db43e86750e0302047c435bb500673065023062f5e0633051ba8854d4cabb2de06213555c414831a696bef449d78629734d62318ff5c03bc6d50815adb4c3f33c09b8023100f70005e54e046d4d6e2f036ed5312c16cc266fb70937b68eb5b82362138ccd5a70d1151f317bc4d7b8f545f07b3c95db0302047c435bb500673065023024fc41eecb1f3c3c55a29408145785cad3e32c9e731fbfa1cc0740ec49d80c00fe9ef44e37de07156b9db53fc64d2e40023100ab9bff96a4ebce1138e47547509ff24bf46cac683f7a0117d05d81cadd4407e857899ac443b94bd43cba52ba533035db0302047c435bb500683066023100d9a1b226c8c610e8c8962ee178afea31d89f4fb6daf90f97246303183cf27168c58004ef5a3ff3db92262882d2af4f1a023100c652823436c02559aa1412a450672fc22cf11742d2b902165e906ab3cb720fd7caa22f2a6dd5c568d6ba88e5a570ebb00302047c435bb50066306402305951c50e690c3bcd65d2a7cf51954af18a556261dbb51d9bf4ccb37d78e5804e8fde5a5333b8ae8fb92995b5bb5d8b5802302cd98f497f5cc4b0322f37de465d47bc50b99eed487d58c714d9030f3ba5707134cde2c19527929cce1dad93411c12fc0302047c435bb50067306502307927c3415b36573f79886b0445058080a7dbff25db15887ca5b80d8a1fa5b8f52e665df8de86e70ae7636a9d28ab1b3c023100a39737f9bcd10af4706c1e677192e585f9cca0bd4557501a98fbc387f0a487d2f55ac047159aad43ecff2ab94ad4b3670302047c435bb500683066023100eca6a2de7950f4295b357bc479b7827d98e93cd86a290275d90b006e84369efdade004fc3d73cbe3367f96c8dc73609c023100fc465ddd70e25bb37949fff655f9ad54e1d9ed99f0928a824f4c198c5c6b6bfe15e748c01da327a485a07f755d8db0090302047c435bb500683066023100bbb3712cc4949336db7db01c508c31e3ef29b5f87ce94beb1037212e57d4985525fb0f603a659d1db61ff542b3c789a7023100d36fb62df7f46986cce04f84447bd4274f5ea089ce6c5149214153451c85bbc30ad2ea7a6078736f1462fb93702af88a0302047c435bb500673065023049b590f46f55beac238830ffa265fb167f515ccee9d3ddf68d9a1238ab793473c017e5502a8760adcc5343df855393e8023100bf138bb27c703b227aced26e9083801430ea86b1ec919a00c49f6bad88558fd99e8bf652ec4df57a325f66cb1002fa470302047c435bb50066306402305c645f25dba5d3e3ff230ee8b462c95ea2e56f1e9383ab9ba59cd879bd122591190c97b14bcce21bbdbbcb6c0fbaa8d0023010580594aa412e8139cd79e5b053b4d06755e94d3f69ce535060fa78263855e2b826217e4aa9a4e22bf86344f0b0f63c0302047c435bb50067306502300ba1398c9ce6b54e43c35b303cc0602f5192569ee8a76718ad9f5be013bcdb55aa83b136c8def8ea4edb2c05cfc78552023100fa39f696b4a04ab74279b49d6deed49168b4a588e99ef8367993c72c97dcccc4384110cc1e61fa5a27df236d6d8ed8db0302047c435bb500683066023100f2bfc283379b43e67f17f503a6b6823bb54c8b3f4f813a83233b479ce0105e8ecec3af7e08b16b0f7a914bbfdeae0792023100a39936392e03d3dc6c9d5947353de177b46d99438f155be973a3b95c5b680ac47d915a922fc8e4f2c216531ad4fd4b260302047c435bb500683066023100a325f4e73489ab9e67bb736cdbb34a964fbcb5e2c5331d25593cb4be767eb7e8b1528926007d105834be48f75197cefe0231008cd33369df365f43518b131ae9798e14c1603f20c6d78f5f914d2c4ebc94ee5b5599d4bf5c7d3bc6b7a9bfcadf9307450302047c435bb500673065023100ce6e358d625718ef0b6b017952857f8ac094282b62a874292ed906b0de6228ad4a1e6515fdeac9d84e0fadc64b34c7240230477b82ed7073223ca5f2a1deb3998fc9f8b7a3608f7bc78877d5ec023baa8a8c7ca74192b685a9f7aff3181a061d3f240302047c435bb50066306402300211c7565f059a97c25ed0af891793204d6875c32b373cf4073d78e409e0f4baadab4339e379d56ab612b23f9845beb002300b87fbed640355c8a8c1db0337093b8753d86eb5a32e66f530f8eebfc2e926570ae58a84fab2e40fd7219cb77663f0a40302047c435bb500673065023100b4819177bc912798510a2a92dab82a2a0e7d35ca9030c717261ffd94432ec09d89cdb82a7e44d0dc3970cbc35260094702302bdb627853d42c989ee5a4ebcb36bdcb99401cfc764efcbc8806851d97a74b58272eabc67ce0728ce1344fe6d049e98a0302047c435bb500683066023100d99f1bdc3dde0d59481ca244cbb40dd771b2b2a3e20fb63e44425ab9f5338e6b6d254c304dd2c257558b90c0a71f966c0231009538ff05a50ff7f6574214d727db7586a6d0e05d3673ae43694e7f0be18db28ac45453131c5223787066c3bdd4a9efbc0302047c435bb50067306502310092d27cbe71b208ac6efea8a7001515720baa8df1faa16f15afeb87208f66b4318bb21034cad7abc0cc2e611556447a2b02302ea8e1a125a062bb07d4f078aa45741633a35fd57553dd0748a27f626ceaac98802f4541ad3aff897553c2aa1b48822f0302047c435bb500683066023100a9f18b1f36a4bf689d825d1a5bac237b68e9481bd5205fa06f796a9326d9bcb8c23305dd0d4611d0cff1558375116bc7023100aa37b107081852369020e9bfbb198b7ea476e23ccc29983d40af23909577be6b88426378b35d80594109d28143b6465b0302047c435bb500673065023100afb4103e0846fccd52d4afce8bf3dfe50f615a4addb6dc9869053591d9a084f7fb62dad9d27f789d25e8579c3e3a59a102306c3e3c6b0556afa675a522eea9e62a6de75582010d21d685145a6c5f57a3a26dea89ad9853735fa883ba2138207b90a50302047c435bb50066306402304cd689ac1cdf0491ea4321778e334bee89c7950d3206d583ab938d5c93926605aa0c60083890e4bd0afd47a6abb67afc02307226016a439b06da56226656462940798ff3a838de1e262dc81c453c0adc690275cee522fb905cf6f5865385988c69500302047c435bb50066306402302741b907665c5c6d0051b4c2b39ff6351826edb04fcf307049aec750073faa8137e1e0fc173ae9058aac8bf7d7da9a9302301b2708b3f573e0289a8d815516e86c1d0e9ab7a7426de17a246c4e5a137a6c85a2e67f601ac24d93ce9190a46a2dabe60302047c435bb50066306402305d8fb4bd40434f2cbaba69169834239de75b5a921a91d1b56d6c88f6aa33d17da5377c6f896c3729c1059c7a861b80a0023029f41ebd8fbbc42c344f4b109e2d3a5b00e69ae613f629e7024071827c12b7cd263849c5d4b113b4735054928a51fc980302047c435bb500683066023100b80af4d1ff5b43e413f9909d26e1708249185fd3b8484294f89b0368322b417cd14d0546a65fd2533adf151144427661023100db82e3f9b022e69cef2f5869cd09dc90197103cb33113acc7c783ffd39991ed43cba5096e3410c37d10807474c82edb90302047c435bb5006630640230302fd09dd1f1fad12d466f9911c50f9a06596582dd1d4cbb9bbc62526f955dfce95594347c3c894a51962696b7683d0702306afa01e112531658c5518c31f389dfd14a7e35911b59d31ad9a349593f5024977efb1510ec4c5de8d25a201ee476c1700302047c435bb500683066023100f5dd2a9de6caefd105497cefb312504edc144d1a821e8d3860ce10e8a044cc861f6f5ccddac91858057ab5c71b8d9a7d023100f80c51ae5bb621a6c9c3d5cbdba56bbabbe4e108c1d1053edc03d7c6f03d82416d700863f28211ec05990468404655fb0302047c435bb50066306402301b184884ede7d6a9267b0d1e33ad425875e67a117ef7b0b224f27f3665db18fb8a262ce0b47e2a7aaac45e073882ea7e02306a4b2b260f67f69d0176d730c212f45d60f3df3d145410a1b3c3a5fb213bf4458f33932a8defc8178df5646d7ca942100302047c435bb500683066023100bcf7c88c4c642a32c64d36473e1a7d30bb3f456e65a17f2a48469339e51c3cd564c52756bc822cba66d595c9ce91f552023100eaeee18048e875572373615142fa66dcce633dbe729c97cf6f5150164d7ffb77ac3c55bd7246f3ecc0516c9548d472790302047c435bb500673065023100afd128903c3385c70fa8d8b550ef46173e5ed9510c43672af675852371a393fe55333a3101f1e980455b04103dc634a5023076245b132e0fe61b28382e9c0ae05ce5ae1224f6a2e34584a785d9d59b6c860acf3e8ecd5da2b787a87c010df6cdd1360302047c435bb5006730650230598ed315a4baee3250edb2c6fd5691d45f31e07ec86e1aab3456c13db73477434a3c038830650120b8f0afd87fe60b4b023100d2b156485ba02494950237ecc90184a286cfaf590565243f8ba73ef126b2c0cbd89f8c23148f97a30c13dedb0d8badb10302047c435bb500673065023100d0c10cc7d8cafccea61aabfbc2be2da57252a70ff54b4e3a88e362dbd302ae9a82661728f20e5e3d3edd23741949ffbd023064a16ba8d44b608d2b21d15bbe26abf87c2d08270e9a8da330f034c74174fa651aab97d7c702b042a8e37b83127cdd090302047c435bb500673065023100f384036feeb10d763b6e1d77f287824d4ffe22c8641350ae13eb802dfb002a69b006a5bbdac7123a4f04f1ac4dfeb50a02300781650c1436eebf651e391aadeaaea26cf23897e05755698dcd417045fbe3d214d8f957cc5d262b73ff6d1b449c03500302047c435bb500683066023100a9399bc2a11c7be238472e63cf02839cf0a5c6468af385c200c0fd32d0e373ec19dbba05024c67f228e6ce371ef0c92b023100f4691ed59e00d706ea4f5a56d3be5cb69c3512c9c12e1ab4e86f5e56c455c20603f67af812502cdc0779ff19023121760302047c435bb500663064023034ac81b33c893ae2311a61bd2b26851c24a5b19557dd56b27afc53075df26cc80e7502115187beba6a6bbf5f6712428602306ca972d9ae4b4408c06128e52b4bf25d8cfa4a3e777a38eb48681542d6010a534541323943d67db15034456e2d35e1870302047c435bb5006730650230638b5de257631230f613def7cd3d65cd6b5b58b032b4315f914bcb170046a22f825365998979ceebfe928990d32e44510231009e39af3ce7b8815d90d44a3a1ee65951cc18506e5173be71c6e051aef130a3efe87ed2d9ad4cf50f2612ce7a6acdb0550302047c435bb500663064023065b85c8b825f6a7f3c6b232675615a7755663f339aa3851c690623e935892c40c424ba6bcccee8f68be0ad6e30ae08d802303362b07b5cb85928e152fd8c9ba607eabca9d063329da83b293d9bf6d925619eb5a9aa564ff457bb58dc85205441cfb10302047c435bb500663064023064df41030b9acb149c155b0977c49523cd7b246933e3839b04eeab81644ac3e194552aaaeffe8a0795d82a3d62df1f8d02305f22f9e3605b66aa9b7ed0b23ca5f4f943b70f52292f0767c317ce92b10a2faf5e7000043a3f16491823c776a0768a7f0302047c435bb500673065023100fb41414693150d68e5d74e70fc6ab0cbb6c2b17f8fe21a0211762283f0fb23c5850731a8f9e0780684c6a3caac18891002301030926628458bab6ba92f6e40a7156b9e4ef8ddc73645d1dacbaca381154181a2d50c7b892be6b5ed34ae0d037c45ff0302047c435bb500663064023058af41cf170946f2faaccdae9e29da17f6598a2c886b572cf958a964cacf6bb69512a7fcf9c711794165d18ca221e4d602301bcdce28d86378ceb88a745a60cc60a8559c48f59eb8da4b5897b4ee9a55eb0246d3d1d7d8ab8093ca535411171b9fda0302047c435bb50066306402304da0b23587df8bcb66b98a66db1cec61d4545882e45ab8b4b2998fa41e2aa74e66b9aab3b365780777cdc2a8c2dc0cf0023073e9ada5741d4bbab12bcfb43952b198cf288a170f9b72d08b7b0765f58e886a9e096ab3637bdff2280a1f84faf1fd650302047c435bb500663064023024cb2258a31e86bae81a2e48996e66f1421e46bfb31951eeeb43d639912587d2022bd68d9e2af96dbcb188c1031767da023014d4c8f433e98861fb38756b6afe72198e0c35eb1e0d5286a8f8c8fccfc54652f3ce2daa370c6118c6806edaa80eaf200302047c435bb50067306502306d3b4e9cdd7234537b373f48c1537697b2268e7dea8335ae9795556853dfb77237589fce086491ad736a399c2e9eb40e023100f127d462e53663e6699e63ca067d0a268d9075b2dfca392dd1bacb8d3e1afa367f7059f26c114aa472e396f379d7f7690302047c435bb5006830660231009e10375413a8f187a924067b459b733def03741fd288b18092f2b692df8174e150251e69bef3c0e1c2750f17643dd2910231009773c0a10986cd45fb309673c6f4c177b996c5dce066890d1aaf97233089f5ea965173fa762df2c6fe97e4a0b1eb102e0302047c435bb500673065023100cd3895913c5817378058bdbe8256676524ed45778f897893aa0a64ae7100b677a8d06967bf47757b640c169aaa86a3bf02301981b72be69638c1fbca4bcdbffc32d0b4c64eb3a47d6d1c1c87ce6373b8584055daedf459add0bdb2fbb9bb244885870302047c435bb500673065023100a417ea68d3b69c457e128c3ab77f034f8deb52baca52cf28aef196ff05ce3d1c78b67438bd85ffff2a1b432d7447567002301888b3b60082cc0c6812152a86000fa0cb70ede98c6bfdc0f7f2eb3ce79d4479a0e9fa72485cccfec2c35285c1adf3530302047c435bb500683066023100809345afff1af4fb6172a0d925ab490d6d8eb6f6231f1215322bd6be21f1ef220789ae2ee8c6eedfb705857e9987f85c023100cce5785dfe71783e488d484ac190c103cef92ed1af84f6dc6683941661eba82ccb826f96c6917d5912b86bf748f01cea0302047c435bb50067306502310097969d71087b2418808e6e9843dff1cc15efdab70303be58eeaffff52ccf1e17024acdd7f9f294b8ab65cdbd15a1756e02302ddd8ac4d8286a11e6cee09a711bc17ca802d39bbb3e2611ba7eb4c1536c648e8e947180b6cb39e5d8dbb31867aedad50302047c435bb5006730650230576725fc98152a514eb5d3b74ec7e724bc385e8a50ac795f8cbbd5c6ae82e0306436a7336ff557ae1f42202f4d6a8815023100d30f7f109da8a134152e6790e7731758bc4b3851c752665585657754701515b3f815a85738b48ff5b49740a3091645c00302047c435bb5006630640230459667352359e58bc6522ee94b18e5869db90eabd6b66626adb6b885a4847015692a2e2f00f6d890cc0818591c079623023070b8f06e6861b380c416a6979e31fc0510cbea3605e61e81a69955cb19d6205278510ee1dde0a86196f5e474759b8f380302047c435bb500673065023013dd379f198952b5690896838d906a28df257ac0707f204febe9093630e81d7e3f6ffbb1898b1ddce9f048878cf07c1d0231009d7003438d343a48208e15b968b8bf338f3d3733047c29738658fd74e1f18d78857bbba9aa403f3d2bdaaf5b8aa327db0302047c435bb50066306402301e41b10bbfac96a60a7c6a36cf21c6d6551aecc678fea1c7b013718db3f1cad446a8ce67208243d01e6d7093ed8c0a260230245d131743461bd7f40d749d29e4ac34a3c5a61576d8c92ad70fc4ab889e098c4c1d09f55841d8f18e14b706e467ebf10302047c435bb5006830660231008bd43821e1066d99cb87d5ab66b034a02057446396d792fd5c1aa0a89bda5eb173dd4e17e4c6a805e28bea5376846b65023100a8010b9c64e23aa8d48673ac1dd41cce0acab3fad442f7b5f2318386b0962a181b1beced4e56d812dde51bdd27c971c90302047c435bb500673065023072204dbd297fa3cf105298748013bf30028019146cdff28e122952acdea853e6c8aeac61b9b27f0ab86bf92697e915a3023100ac352a630a36a2e61f24213bb426dd4b00782bb87f71c4d8edc78c0efc633a1fa05458b5dddcc0bd0c65db748992f9610302047c435bb500673065023100a9d38cd57fa7108c49895a68be90a4843ed562a8abcd09c3b7cc5b1605eea133672fca71910b32ecede54055776e7bb4023072b365625f61ee4c54a8c1231989da066fdbdb3124c55d656a6216df92eb863d69d305dcb7848c681d96b665b4ee82cc0302047c435bb500673065023100a13c4d5076bb0e6a66ee5cc8e77437331e0f265b11fef786623e5fbcf62132cb1585fafee21e6b900b6522a05b8ddbab02301c7a54c501841df3efe6888ecf0aed82361f96c379044a135ca1827a1095ab4fcbf60d31e599a5a443a6cd616cda0cbc0302047c435bb500663064023011db6a59fd9c8485edd9baf0cbfd5a038dc78da21172ed83d00431df8f698f45c13a33091d28e84442f9454780d65da2023028fe7389266fbe39c8bd18f93fb3ff62bc592e201c8f22f54d964ec0093d3e906708e3a0048d6988f819753c252f678d0302047c435bb50066306402300c5cfbb720eb1a7dd4dc69396d9e3981a897bddc7aa7906670c223d9f2e1ed181e1f290df60756f66d9e31accd365c4502305f3a42fae71b2bb598701eb42fcd8db0ef531691de9a14245787c76fadfb784a33b4bc4672ec7bc3f4a132f7fe9a84f10302047c435bb500673065023065f2dd6f6b5944234d3648e879a92e31fbe7d499b76a120b367ef8ca0533e7686e7b65c141de0415027ba8091ec96d98023100f27ac26f7f7367a2f0760dcb40bb252110e91197e2c56138c3f2704e89f309e41ce2a2d9e953f6b366eece7d6afa4df70302047c435bb500683066023100d867c346524624598e67c1c490bf8ba522176dbbc99d69ffe6c7fd969e38d6836153561497ca30a430fbd304e91d4fce023100e2141ec0cf515960c6063fb0a523101394b8952a4421bd5d1596b933b6e578008fe482780c7633d18bb0faa298d37a200302047c435bb500673065023100b75762d91c195887b07074d0d6c5c6e119b1898f8b8d4dace023c882facb8e3c9431f02b8a74dde6a17c44434de695670230435a5380807e71f3178d1e2c935ffcd2b27130bec442139342b4eafda2b5dcd79fe86fca4346fe9e8d53e09f1bb093270302047c435bb500673065023042511172535dd6a36d38b2a5053dea1061dc25c79d47b1343d351faf19038eb965bc674d041ac45f0c5cf9121f26a64b023100c137dfc8e75ced47c74336d4387e427a55e24c18054e85820db255461dfe79f6ae3180820e4849f731b752e805b6ffe70302047c435bb500673065023100b37bd0a9144d88d55c91062ba9977eebd8569212d74bcd4913ba50eae2986170eef33e098dac09a4193672e6d305f49902305ebe7423dac8a1bf95f5351cfa10d959b1ca2dce94a1cd7b54b1a99e9402fb4800ea8268a9db2756610eb575b96d1b640302047c435bb500673065023100e731cda915535dd9474460a799ad029ba6d9ea3321d84e39ebc158dc5bf798a17204d9980c0d128091c5e5e544279d3402301518cca4f562bd08464fb3ac77c0644b4390efedc48ac5ca0caa56c7ce83083245f9c388ec12641fdc80880caca5cfdc0302047c435bb5006830660231009a06e30f0ebcbad3e75907717dc272082d515894a20c874975d7429f224a1bde5565669d9991c6a6223c0ebab4b4428502310081d2a70f1caa2706689156b0d13afb7bd8aab2e5900040945f7047c63ce6f4e8ad3d7c73c8d4d608f324c53b613a8b5a0302047c435bb5006730650230753b00b95c1bfc366c809ca22ea7110cb8b2c8582f5781b6e8d3188699d35fb9a28e3e2c33fcfec0ac0cbb204f03fab0023100cf356e5bf80d1cdf9ce8a4f084d2616a793b06b99199ce24718df604d138dc23a7b23f259b1934d039c0269e1a8a1e3a0302047c435bb500683066023100a14d72d07a03c6e17327aa5e0254b9375bc8101b11359c5441c8372e5e552d4e994904f7a73036f8abc7c55374a762d7023100bcf9f3b622b723ab31630e7e4bdedb129cc7abaf9cca97b02a842dbc599ffd76b950fd68e79e8bf7a4069baadd76bb440302047c435bb500683066023100930480c3e4babbc32f848c85cc50708efbf64295a0971fd03f983ca9c9932ba644a8196695ff996ed9b6e1abf7da244b023100ff204f240b1e1e495533e8684dd6ef6149a1143e3c7605d8ff7f99a50f98ce04f62d965379388597ebcc39b389ca69da0302047c435bb5006730650230023794f9d27a2fce1471ec93203ec8cd26b2baa88a572a4ec54edbde427bf833a69f4c1266d7bab352cecff69d0a5d9d023100c1df1146ce62e0d252370bdddf39c0b09134a4a79a9f59186fa719614dbf60fca518691af11ef6083efef63bc52df30c0302047c435bb50067306502307c5136dc03a322961a438bf9a29c556d9ed83b4aa902031ad2328b5efa1882155452cf8b2553142cd5536ff17b132b8402310096cb0430ef8a5e80c771f47325992c2b4245eac1c9505098e549376961498ca9232d2a0ab1d5c74efa7926356b948e950302047c435bb50066306402302ef1a33c31e2900ec0ce20b77dfdb3a5130f32821a63b54f216e46b94f9985ec9da770075f21fd349eac2bc5b0dcdf5002301f27e1095a4b2cfbd673bb029399271a8ff82ded1fcbc2010f9cdab1d9deb464fda490b4f29e6c3bda9b3436c8be9eca0302047c435bb500673065023100b1420240dd55c10719cc94c7e9e0463f7fe98746c3ada93e804dbc65c57fdaeb9f3c4ffad9c0c4865d925bbd8389e50f0230676cce4d83aab8da0883190ab63d4ccd8aad8c5272b5e0487021c30ca0717b2f40aaa7ad55667ac3c83edf023642f7fc0302047c435bb500673065023100ed19dead29fe4b53c01f0be137fababcb95659b901cb6e8b04187f6913f634d2db9747de58743328cc136ac81be65c7002304c23511b7c60a2745abcc9f499a13cc0cced0cc8fe760341e61b1f0df39342e9f9e29e27ddff74b173a90598282051960302047c435bb50067306502310095d5308b0b382cd8b5f910c7646a6eac0bb42716aa24512d922dcb40036787812ce2aaf900d428ac0507f200b3f935130230384b37fc505d0e74458f7bf8a0e11e9a507ef8f8ed1736177ed587b530e734b0f9588b7d353dcbe9e565fcef69b3d4ca0302047c435bb500663064023064bfe9864e6e40df9324989611ee9a148f160422577889e1b0f8b3b8c45b00b57758f3f8dc76a7dda649c89f916d311a023046ce34676baac5d4948b65ba8b6acf544d078c3c78f75f58a8bf46b066de02c3cb9856c55583b2f2020a0c3a531e03d00302047c435bb500673065023015692536614426d665690f1b5ff7c3c0b91be56cd04af0326822793ac384cbcd825a2b4c8e65fac1e036f657e73a93c7023100c6affb9a374f0abfa31a7c49e9d02d1238dc54548b8e10d975b83a5e12b05af6a284455015741a4449932f07c308f5800302047c435bb5006830660231008dff9508b80127edc9c886c42adaf17671aa691d6af9f6f430787ec4df27df02693d2a4d9564c14fc8aba3b2274a12a7023100f5289d53c7fae7ff5f281794eafb1486fd11b5f0855c655fff99f2177add0ac51e0e7bc2e370fa146e365f0e139d0af80302047c435bb50066306402300d5b059f8c5a27676eaa9de32c8180b07f3810c4b873e07eb3fb3dcc43c464f466b946d31183ebc875bc5f7f705b4d0a02303a1cecc143f8981fac038b6df3b3702754d3161d96df8aefcfaea1e769b5929e3236d607770dfa4c70d3d6c310938e5a0302047c435bb50066306402305d81d2dc378e94822e8af79dc0955ee47848d737d125507db63b38ae1187b5f4fd8cef15f8631e794c338730ecc47d350230760bb9c83bc555c3e0260bbe8bd822a6718230b3ff766f7776ce2460498b454cab2163f7a077da928be52a5714942e7a0302047c435bb500673065023100be7bd913242f0e7da60389156a40e5d9f6953f14e3fa57afc313747e964507bda80fb4af36a52a08f9fee19e8d9c601702307d5538359bfa37c0f0f71745521976aca4d079942efc0be6f56fd4c5f9633f7ed4846e8133824821f5ae29ec7312073d0302047c435bb50066306402310090209d3fcc2b0b95d301a3cc23b9ea99d2b66c44a560cf7c4e45abc9c6239fe6c8943354bae1439a227d7a86c97d9649022f2b2191b5067bbb826e3ba7a8cba1ae47aa6855605a438056ef4930bc97a03a060c97fe49dee36da3c044818a83463b0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023100961e9fb52ada61e80abd0adca4a835799ccf615bf358afcfc89ec89858040133506c9c1463f8b625da5b83f28aade8fc023058aaf3c45847cc0198cd9de768ba865b5a5f715f2ec427b6ba9238a4a5b065c2acb220f73295e61cb2745b8518dba3f40302047c435bb500663064023041bec06bdd91dee6b295cfb9c470f9345857d77f764f7cbcb5b744b5cc4b8f6b8bef48df668a2ab0cad2bf1e64412f75023000f2283380582fa5dad2ef63f762c345d7fcad5c1c1443bfc30d54a016f120b04924e267bab3299939e14d1a58eead250302047c435bb50066306402304346f16e657cc20bff3d78acc8a1321478fe48c870b2b3085bdb9c7f587596b177e08a84d9f2c72769c185b5fd02049802305d3c7fd2066877ad6defbb9f242e3370e1ef5849caba7ac20f5707e8fdc55fd593676a3bb85995b99c081136bdb0d9280302047c435bb5006630640230450b082418dd9db61c54bdb1c278253b718e4e410ef945b55a0a7d2e868598e92ff37c2f55854e40868e9223f1496bc302304508dcef64a40ae5ca0d682e9e40d22bb1604ba52e22b41c10c9418390d5c1b75b8b46d0284409339c4c6ed10bcbfcb00302047c435bb500683066023100a23e3ea78ae88abef6d6a335142850dd23e11eeb763e19d107cb4a633be6420e6eabf0f75005f3b940b1effd53028ead023100dad534a2376d18e81413f157c6ae2f6e289acce51f44090144abf848cf8c98bcae2d51760647686fbeea7da33d92804d0302047c435bb500663064023058a97163387769febfce3e436d4e1541727325744240ee154f451629817359af4e5cd50d655b3af9230fbcbb46e47b30023014bfedcf56ae9e269bf45d053df5ed86d48dc910fc74bf356463265d341fe6a1b10db2a55791480963764585bab2499c0302047c435bb500683066023100e122a85e8d9d4186d1ab572c40e4fbf2ffc34a2249cdd3361f2ede2465712700b88585363a639b57048cba89e75c9870023100dce8620a9161b39f8d4800f9a0d87fe1d60bc24ab55d3932cce3fecf0c5e4031c793ccbe81d6526dfd1e1c9f9e9a750d0302047c435bb500683066023100ec2703e300077e1e832156677d51d4882d93b09aee39ae98f8cb42d8e969aeb349d607b60887afb11a86d1253a5222a30231009b2f541699455675c70352abb738e8138b3907390dcaa2e62e72304c5b010d5b9c04ee5044ce0014b82d2f73be92ad600302047c435bb500673065023100fdc47c26f2937b234835fe1ecaee3fd510600e32421dc31b2308ec4c7383fe8b353dc66ee230a30b7a5d68d65c7c271502301b24d890077f7702cb54f8328a81102133c69245b96d6758a0299cd7b98649917d123faceb668f01ce97c7f05e7b76a80302047c435bb500683066023100a9abdb448f6f5450289729e82dc95d9c286a10e22c7154581471840a00dc991c9314d7844021f06b07efb0ebbbeffdac02310080ecd3c0ed12e36ae3273e7d9aa6c59e6b7173e0d5be00d8b38b96545ad39687fed656046b4bdcb3e2bab674ff92a4580302047c435bb500673065023100e9aa91aa5dee2da7ce072a547938a4ac45643a7820ecf09ac1f29dfcaa847705d867502274862515cf35a21428c44ea802300477423e301da05745c6e4e3b818c2011e02f47cc9fdf1c9bea8a4ef4504536d529c2d2c9dc8fcc577c1a81c5d67bfc80302047c435bb50066306402306ab2fe95ad3318d0395503e400eabc73136648b7c44f90233797cd1046dc4cc59cabbc7e246c30eb106aec6462a1b2c102301195c8736fcddae11c1aa23aba2ee751aae2f114f32e587658115ceff2340bf13249986e02337bd468e93e67aec42c310302047c435bb50067306502300cd894e80561c31b9d4385405097e40fbeedf94a9e44b09637e9e6bb5e11b64eafb1bf023fd5163e4964a1503ceb037b0231008ef396ad33bccbdd4063f0c1e2240c0f8ca556d031a1b8154eae4f6a7302e39ab7a6e3880c0cc2bf9146c0df158af4d10302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023002569071a056f4d7fab6d9941ff0aad4f6b86afa74509198b241a9a8ae3bed481399a8b348e2876707dd345cebeb50b9023100f948e11291846fc1e589da4b003acd316176751c62a978fd1e9b5586079f48e2f4d849fb3a5863a83854e58440b6cadb0302047c435bb50066306402306da234bbf6ef986245ecb8c1ea567b8d6b688e269171cad72e071e9ef77ab452187f9a73308333d449e57d078ea0a561023008611f2bc3b1832811ae3c532065afe303a13cbd61104c670bc16df4064eea4472248788d324633a37678f1e36c444630302047c435bb50067306502301ac6b32f276cebfe9602879d5368de2dea0c7ed5e586ee7b4139377ca43355693cb2449fb7daef1c2ec1e4cded30ec1302310093a5d19bb39e44935367a8e27fb1f65da9afe2d0776360c4771b0c3332a4b827511903edfeb79c617484277131b12ccb0302047c435bb500683066023100c9990064a0c746d6e7032846d58781f62ca814afb8aef87edf04c64fa86ea2b6098db80d496203c7707d65b119f35c05023100b162086911e28e0cfc01d9a6dd004ac1f86afd4aef2df37323272c8baf2d49d21053e6bb04754f52303c9ad3933fb66c0302047c435bb5006830660231009c2c17bbd5e3b6667918d62e1e81acebf164d43a9cbc708c15fa6b3e97470d5e990963afa60b35dc53ba0d641cece76d023100cbb6ae5b861e930e7692bd29dba6398dd4cfc4c18de3ad8c9ad844cd2f718da4dad52ab6f8fe6f089fc93850cabc3b650302047c435bb5006830660231008eee3998dd87995ba7b157411fa5c442ad3566676f5e43c32470d78945edc84552beaf419cfa674751e950585fe8637a023100c0bc5e79bed4d3e7aa786b826366a36873d7a933199838db2fff2ad258ec63d8faa1df72476b495c17e535cba60696090302047c435bb500663064023013c5080e6de0267902f985feec1ccf7ca38b6813e85b81333069dbbf6037f8232820dbdbe4ed89deccd09e5274f09bee02307872f3f32a28e54b028924111a5f76b6623888c26a5d02668cd9187ff4cbae94e685cbc9c32e918daae2c885f95a6e2e0302047c435bb500683066023100ded4303232a1e5db866048f774e950ec694b2610ebaa3afe4bf6e8b2084493b161dbd3d9bd0867454803042dd873659d023100f177a0c69b738c147ced6110a8830b9f7c7010415814a82ff7e6b4223f63aecbd21b09d3335b9c772464a8825d6888a10302047c435bb5006630640230793d593f309197312af6b90597859d6b4ee474cb6060f2db34797e14467f6e06b5922184718275624736b29c3331f6c0023027359042ca1d41f2e2ab5b5f881402ced5afd7668e2e284f8c47601c994cac3ca15c89c3fb04fdb6eb8ee35329b069f90302047c435bb50066306402306fb9ad56c6b305a0f6dd3743502e608b82beba406a21492c2f5a9642991a74a20d5da3a02ef7de991b93221e8ae726580230278d14e14bbc2add099bd310e9590effb3ddec826f9016b50ebbee0e841717739ee9532f217d9e47fdae98bcb67864530302047c435bb500683066023100a7a608f63ac1d87d42cfb98e801a2a7ac8cc19550f22153f6f563669e418ed2bc08dd041e5cad42651793be35302f5c8023100a17db97cdb6b72ff2e6b528c7abf8729e2a0d58bc57e49f424d641bf3c4f30122fbabe0e51375455deea7c5d38c9a5920302047c435bb500673065023100caf4e3a89c5d0933f674ebf29f88b185b1e983d057d30b22e6a390eb95c188adcd83bde6edf9130e2fd0ad5e3057af35023037586a6276892d84b49ffa8ad717051eb29f563514accf62ceb6c65bc8d578b852115207581f908ff0d24fe765b23d960302047c435bb500673065023029153faf29439988a46f3a8f92dd55b8ddad77af68fd9d84eb296ec97220cf8e9530b9d7ea1b6af5a0104d2bc1930013023100a4121b81caae73fe09e0d1cba36494fb10ced576935d7d590b10a5ddebecbb1a35f65009069900eaabe10b3b23c2bd250302047c435bb500673065023100cf3a8908c8796eb8d80330e53ee15f01b3f2544a12223699a5bcb2cf6fbcac3a65de309272c44df6445b8899a2209b7702302c83f833b469245cf6b1b968cd45e329ca9bcefade0c083133b4e380a04c042da32cc72e74ff83566525b18cfbd725270302047c435bb50066306402304d312c6b043f2369f30cecaa34127e2c872c4275f149d402e98f6000944d151703ac35d11f8d4c4c4c54d082d5dc43fd0230762910658443429a6c421a2ff7ae1e4fdaa4d307a307a23e716e9f53ca7b6b74d02d7fc3c9deee6b342f3e2ddf1950790302047c435bb500683066023100fdcf0b8c3880eda9c130c234ab00157441c6d8146f5f7e4c711ff2cc197c766c2dc3e6ff4f9ee0c36c10480d56b1fc70023100bc18ea3174f5582cad06b69adc6e88ab34782bd61e309135630cdcb99f2da253b1375d113a184e93883580916c6e08a70302047c435bb50067306502301b828fd9dbc1406b67534fe4b9e1b3ea7df5de0033567f847e9948c4aa98df217aa42ff9502312f6859f2d576a27bff6023100fe3129eccc0169c634174f1d91317bdaf583dbc7d3a7bb5f945a93764ef76f7df2b10430676c52d7c8df64610a7910da0302047c435bb500683066023100efbeda9a44a3e2acd8960053b899f21c8c2aaae84a8f276197875e5d5d625d1a7e2a54808f2127014a9aebac409ba5970231008ae663c0096725f84ff36e776605a1388e5bda4ddda32a31c9b65548c1f0c1c92151ebbaab9f13876f8bc1ab01a4b7980302047c435bb5006630640230182f6416ad8241c22908b16e9097a25eb9815a4bc73f97c431c815aae33b8b644511f70c0ff7bf7ae9541e38e85d4484023058e2ec854af74843dfc52dd3d931c16e11060d2f8a62d61b6c3939033918497e36b536ac092e9ddb9c6d2ee5c824321f0302047c435bb500673065023047cd0a671b02be4553d16f06f003aa6d827a61256e9b1391969e53800a550793e70fb9fab8c65d1b9888a059c2c12245023100864603ea44acde19cf0dbff6687300fb6a2cf74fa56b37bb5f982fa344efe98a1e91edf0ced13fca1e4ddca273638cc00302047c435bb50067306502302593a88f4d785193a7c502d28fca283739d0c6c1813badc3340f31c2b0c1c052e3da27a0ab48d9551ffd848f680957b9023100e40e19bd51f1bfa9f85430a9f331eaa5ed862c7e14377523273b8985889d8728b537044fb31ca3bf2775fe6f8fa0595b0302047c435bb50067306502307ed54e4b5f0b00bc77e0361060cf03456ff97e20c97cb34c78e89c68306a2b09eb894b29e66b1521cdd52f4728b986c0023100e8f01c6b7ef3a6199afbf85d005fa692a02a625027979277987a915213b0d41bbd91bc798c2a25315d3a0d1dde0c38ce0302047c435bb5006730650231008a88d71cb7a634d4c20e5c212a2577236d176e6e34c7ceb9eb576e8db083d38995c94f70ea5d823f84da0b28a5932fd00230190cdfc95a9ec437c57e71da23bc9ead5c90c0963fc4b6049a184cc587cf67e0670b3f2fe7536075c824e9a05cffd5f30302047c435bb50067306502300612ca8591845a68284ae96967da09153772e306a7da3efe08e2662fd4f694d8100bb8991846e4fe6cc3cf59be16fff20231009c7a20b674a461b5ae7b35f3a0b1498864b2ee0faa14538832a5639b6807de3a6e6b6b60059c37341d577e042e8537f90302047c435bb500663064023061de5db9cd79934773f7431bdc915e9945553e4438b08ae05f6313160a1bee146124ab7a29be42494b30a89d1e7b9aed023003404b38128281ec774f62bb222666422c3fff4388e5b2a92e54915885f41fd5cad3634382ee16aac79060236b347fbd0302047c435bb500673065023100ec569d71a910d34690aad36fc270ee98c91b26dab0995508a3579e56368a66ee92e6aa490c04ea9e6363b9a737821b7c02300a7ed30977c49d628be73b237f3b3579fb6206b9b677f98025a58c03b6714934a8862a8c7e4765c715866cbb9c80c6030302047c435bb500673065023100df120dca8250bbbbf3838b0ee0367b68c4b4dbfad8d46a6a6294140092d845235ff7bce2a7eb19b9c06912cfedefe32e02307f53168c2e4e642d8741fd5f8b5d08556552ce1c716c9f1ce9eed79839237933c75c7d670fb8e795730dd963ca5ca84d0302047c435bb500673065023100b058c2d1341084358a101ae5923ea00ddcac36f0f8ffa94acec79672997e0355f932862b9d291bfe399f38d454bb130502300edffd5c2dfc9058f7c2f3be8a1bbf9536089afeb6fd1ad905904f14cc78a017913a1bfcb64fbfe9f8fec5b808a13ebe0302047c435bb500663064023001e4066caabaf79ef3cd48302bf3a8b89781edbc9add322d6de2f81c285d3db44c10daa7aa005d3df3513a567e61fca5023029c61d153255a2c03acb9df3d346b3556de9a0a8ae3ea710c2ab5709be70e5005ffd97ba481f22107266786acb6dd9550302047c435bb50066306402301b094f933fd9244ed29e57364c9a531c19b87109fa5d7af9dcefbd61cbc6a72b16a61845b4edd9ce1b8b7fa37bebdee302305a9bf891157e51f67b110c2acf24d22fa8b850a2504c6725125bc9d6dc85e35632ecb50cb734a29893dab1ae98d8accd0302047c435bb50066306402302f81e98e71ae3ef5a2349323c2c7398576b191a26f71323a301a83c02e9a0d31ddf0f994aeb3e6be81acd8fa535ee95202302257fceecc2e23fd942e3b50e8b18f45a8b8421af72ca6377d3d4e541d88e74d61a7376c22927a17674dcf9417a01b610302047c435bb500663064023068ebc87dac96c3eb0d5dbabf12b34a12cc88a1260a3fecbbbea92d1a6b0f81a5e2ff10f4548e8d6ab9bd728b403a7ebf0230670e263d17265a89f4ca04235dfa2e49f00291c3ac0e7663bbdec216149cbbc311ea62d10026b1ce0ec0f86ef893424e0302047c435bb500683066023100ebb8d02d13acee54dd2335fdc10b625205e8864694ee68f592ace691101dbd7337e5e5863ba3ce84f0708359d1970260023100ee3831392ef3dc1102140c5258b6377cf44e7d86baa52242bbe4edb93da7567551b1f8b7fadc3b019b950ca855690c8d0302047c435bb500673065023100cdc7ae9abadfe063d35710f6c371bb6684e76a753b54f2563bfb2c8a2f47c92d1d8a1316657d258492f6d158223a04320230225ce8f7e03baef844d69e08b17c37fdf734ae6af2847608b6046438095938b7152658fcbf7f66bf204b8825042390cb0302047c435bb500683066023100b8f6237a5b09fdfac21230fa0076dfb5362421f3957c3e92a4a2019c932cab9cbd39b2f82142865ad53abf175a72abcb023100d85309924c451a6d5b31b48e8190d1282cb3f783dfae971b5a064f6fac2004671d991bf0322b7a9eef2038e5c785cf5d0302047c435bb5006630640230236b5f63b3d924d12e090ecb9e98dcd8d8732486e7dac501d5113c9989329d7e1329fe396894154863dc37a656ad9057023036f51b48939b9717dd4faebfc90d0f6526794b97034cf10d63bf28a401e5342b71fedf42f30310304c752c624d1934870302047c435bb500663064023021e9a92030917ce0de891f5de44ac63a722f6c5827b46e0a450230402aaba8edbe837fcf6d715932b1cd5fd6a8c868d302307f78e281470a6f659aabb00e9f9985a7066b089cf2062c81e8eaa2af5cfaeb1dacceed2d3526eb5df2cd7b0730d1aae90302047c435bb5006630640230173b27f761da3a247e083c432586aeb5e1642d57c524e2704b0c621b5f5fe124c7830f85c41980a380c82fa6a3e7de3702300f64b4227bac62315440cc01f34114c478865209e8694cc92725a900a226e1005b1718017d0e9289b027c31415be1ff80302047c435bb500673065023100c667fe31cb22db4743e0f930a33335226ac57f3d3b24d2016a95151d4d8fa471b7f0a336cfda7bdcd5982b5555a6096d02307da889dc710acecb519f442633993a233f72597350aa77b9b11730fd8b3bbbc43ebb87e3294113b4218432d8e539e0760302047c435bb50067306502306569132cb20dbe6b867659cfd815364653591d3331784b4fcb5ac9b9ddd27b5e1b5ec0938bcb29ef999ed64b96089935023100b448c938115ca1560f8295d7d7cebecb171ebcb39470bf01a0e309cd7154545e29805a006e67ca03e17af6ddafb541ba0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023063f8e24cf5c750a153e5b17b045acf9784d8c0d69bf1168cb753536c6b8355f3b0dc77b84e6bddd6a051bb7ef1875dc202310098c403eca4cd2951ca1e3a81bd900708e93b2b832f72d303c511c31a84cfcca4e7905662e96f152a216ffad9132a25590302047c435bb50067306502303a5b5f65d3fdd21608f64a6aaf4b817790f771b4f940b82ad0a9fd02b232263f3c7e76e490392023b1d1e634ce0a65be02310086db4931a163575cae436b537fca4757c256f7d64cde1a934184f774370341bd88be4c9e652d00440c77df953bce2adb0302047c435bb500683066023100bfc1ae70db0c11b46171924f93c2845b42c0747c83ee3df017f961902a556b85479513307544dbe94f06c40d2380b42e023100e345df46bb2bd54142dc3dea5caa466035fbb18c47e6f8127f33e3c4e27969d1b606f02808eedecbec6964a8e690bffc0302047c435bb500683066023100d9629759d6eb31fd14707a9e1b07aaee9df276d5cfcb1da8ae6677cf46138225b2fd848f30d178f1353e0635a2bd33bc023100dd7cb4e95d958c9d538d5b380333138a1dcfe3c11354bde2fa9925d453ae9b85ff08896129841a773baafecc4972807e0302047c435bb500673065023100a94b6a56cf3d504046812b10e7cc224b48c9bea928618d2026a6ebc359dad60c65a10d1104fc6ff266aab331f78dd9cc023029391ac668202395fa6fd37704c51e03f48238fefc944148affa618f2c95030d9e8bf106e3c103609f811dc660d78bc10302047c435bb50067306502307fe41611a5b62daca20b79db131531af813bdcd0c166162113f579d04a0842968d9ac635780b5ae550c3a901b40b2a6f02310094f6467122402ad07dea6f7d153981d3f54f1190dfc97f88c2dee4562ba383d02d7397f8e1d6bb15732c42170562992b0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008cde72b579a059a94ec0e680c6a86064762d96c3c16b275ebaae43516c14f271447d2762fc97baba911e8faa9bb95141023100a373fecd66e3caec0efa2c92e8973a145af1fc6e9397d7a007fbaa817e876bdbfd602ae20ee05c9e665560aa14ca27cc0302047c435bb50066306402302e0a7cd656c93dfead6933e06d3ae769b906b996934f6d18326bc59b1832d806d776fad64d9728685d21ae55fe69890002301a7b63f1333ced68bc2756f43fd7f4c9b44db1056aa57182f13018901cf68f4fb7b68510ab4a1a65dc2d835281b057da0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023100b5c46cfb9e391cf4bb4ab1a2017b0383066ab2a7371e64a3c9e75f39fa1c985437b812d44209c077c6e9e6628a0fd62c0230662c916a4d86490c3585b5d9fd6e43d96f7191d3f805869e4a36ecffff7a8e47778883c07fafa31c3dc3f759a0e43a6d0302047c435bb500663064023055a7f29c076820285ccb95a96712446c8bf2a68f60fc18a2559cf2958b6863ba11a2c09cd054420dc6a115245a56cddd02303e7d3e84df8e53c19ca9bc5f31f0cae890153047456754f6b7544a3e3306422674c8982c1b9c586a4473e6c9e56300420302047c435bb500673065023100a4696a69b1b7e942b6a21598be8fc90691dd1a942e016ded03b8596b1596657ed7c75e19f0b2a6f52d0a0999fa3d5d55023047e8414f456727f34cc82c736843389e598b766461a2baec9bdf51624982c5af595f8189c32b3a4a17de37c097abfee30302047c435bb50067306502307d95404c375cc5d0f428d3035aa98eb8c3f536e6bb6d592f2301a71f40394dd43812efb438652781dea10645c04a9f740231008918519fe91aff922e5d507eb83f38478c8da5f24f32966890efb1abc6290d4245a35e0f1d011cc1a9ef377dd8c8c6780302047c435bb500683066023100cb932bed0e67545bcdf59b977004d1c534edc195f81dffd9e7d379f9a5b53304b74e6ff52e3f3084a9f83328ef6efca7023100a11705016a8d8a0093f2fb309eac0a3280585908eaca4de674d27ee8296bdddb351a0547de7435f1789d4180ac85f8a70302047c435bb500683066023100cb8cc5b84a46375510a3881d467454f7f7bc611636fadd46dea62a6da0f4cd2f61564baa0e4922c5810d24c58b45bfef023100e8320699237288e16479d91d79d1b41ef786f7fc268dfb3f1eceb945c5ff432955bd932b60ea4381f4d6ef275ac3cdd30302047c435bb50066306402305b40bccb6c56f55ebbc13165c9aacac87ab10469eca3992a168322226e369811aef1e81069890e82ec8e1a38e162285a023055298ce1fe4ebbfe69f6e86111bac50512243f3aa1bb740db26dc07b8cf274283f7b346183094890d545981de63ffa2c0302047c435bb5006730650231008211d5fe050717a94425e80fbc61d5c24eff8efd181b26b8d16ccbd8a48b635bd455fdd3669c2e382ce4db913e709dd60230052e173101ceb74c394cb254a72b9f1f4d390325d09419cf2b966941bc89f14d2163e182bfa80f39683e4c33d33285230302047c435bb5006830660231009ff77bb89e8d225a3e842ac398ab153a3dc159ceeba94205eb946b20a9621026e5d134fd496455ad1b96b4ea653f373a023100b4949a1a38a3cd64f5a0c361fbf552f1ff509184ef9ee8a70c25140238a98b91bd809e7da57cd954b0cee4e9d214cc290302047c435bb50067306502310096558763d6c2959e0399081bc2f96b39e5948d36c59797797f346463c2d4090aa4f42631b50376c53cedee9ddaf1ae49023059f93f67764876cf86377aae21400423b745b79bd44b784350e394423bb627c3227f2095e8590c7b7060118cdb555f170302047c435bb500673065023100986088c20141547e1438f697c0bc38f088635c0b013076a07f48181e61fbe398e06f551c455555bf4ff478d85aacf25602304dfbdf84e218ee6585e8a9cc1839ccef941546c585a295576e25ed5b8e2e13760161062b884edc36ac4d09d0c081ee460302047c435bb50066306402303a03d5d8a00f2007e974669e8f9a1d731603e60777de68df71e5894a6f780dfa63459dcc654c720bcb4a6137fe72b18c02304bd0c6a1f0c899118333d5a0dce5792e91bae00f8ea8c35cc74a13ee72a98871c1d846b47545109e693b9af8be1eb6bf0302047c435bb500673065023100bd5f83c650bce16152b42d47cdc899657e639daa01daf661d86773bb402dac3ea0cd0dde1f6f8da6e0d3321fc543eebb0230409d160101726c60db0fe3e7b4e71821ecbb82887c20abd532d56011e4a774a61f3a2ddd28c75239c10692f6613aa22a0302047c435bb5006730650231008aa2e1e4772dcfcfea94631a03749a10be684d96c7e9998a091472e63d3c6e5e5c891beb86f6b8b9d4c347362d3ca2180230403486e5a9271cca86f31798970edf1cf60aa7c785013d402e7bfe5a79f222da4f72b722c7287c4f05d2023d03348ec10302047c435bb500673065023100954f2f28856f1c17fd0e14d2c8a31a9cd61d358656634ccb0bacfba12afe3cc604242c915fd974364b1113eb3c8b6db802303f56aea3b11cbcfc7a1d9f4570bb57a9dc3230887cbc73899b6faaa283af03786242edf8a5a5978f45f3bf2aec2c73de0302047c435bb5006630640230732fe486b41268bdd497c3a0a0dcef0eb273f524d24c9817a10c77006bdc1d41e25b704cc63a97fe46a130c9569496050230373172670c24c3a591b136162707e06a8823ad37a33575b9304b092f0a623a3a029a753a3a9f48e941819ff4bfb82ab80302047c435bb5006630640230295699343ff17e408c02eb883d1fc113dfa2fbb34ee5ea83eba61c25a62d46c9f75cc8d958fa116f40515dc8f6a9d8fa02303f9944b4640008e11fa9d5d5d251c1cf529f3abf1c9343f5a57f3dd82b16b5819f7c914dbb0c0af71b0712b14b25f1610302047c435bb50066306402300d3d0cab8b71a96b7cac7c106063f8beb8ddc06aeebe8812b05b83c7211673fa5148c14c0ce99d3b7f710e0ea57c60af02306967ba3b4e1a420607f74b8dfbd1f14a2d49f60f70b7ba3b13862c31392856b74a061e46a16bc7534c490c0122ca0be60302047c435bb50067306502305e3519e36ed2d38cc49bf993ab31298258f256f5bb6161e522a1aafb298321bd2c5ad7be2ca257b9b1f587efc4f614a5023100e9c54e9e53e7392fa297c1a0045986edb89246ff3ec5433d74ece2ce652d5d68745850ec511fd728a1ad5b69a7b77af40302047c435bb50066306402305cae46d810283fce97ad5187dd766c9ef75f706d171f69105ceeb28b18b18a43e5416197ec36d27fca34e570ad47de7302305f62808db4441bc805496a3fd6942e864fdbc69cd54616f5af30e179e09e7e34a8541bbd8384da6f2eea03a5a339d37f0302047c435bb500673065023017a085f11287ae9762f0a0f5778bb680f9f4d4aa0cf2b6a76561e6eb11d56041fba6551c211c3cf96a98707b85b266990231009d1ca709ac91cc9a854fa7ee8e9d931dd36b6fde8db0a55703cc05532d5d4a4f999fc5b57b22f661263a672bcec5751f0302047c435bb500673065023100adcb48453c1c58d2c99af23ed0558e03d315ad7403d6233f2ae599cecf0f7effb14f4cf84898f849eb32d13970ec45f4023005e0c8f428639bed4388202cc5d9ada6a00faae9258d49988cec5a77f2854617a0be0a6918448a8fa88d9323285526220302047c435bb500663064023008e469412d53d5d13c4138c96477b34553396f543cd0b95d66f7f9ab34d14b5efa102edf8d1803ad0a8ba1e22077dee402305b7a989ee307cfbe47df7dd7c6c427b7da875bac6290c2ee5aa10f6a16a0a7d10852acdb53421fa261c7adbd77de29a80302047c435bb500673065023100ce10785fa10f069250051eb1219621254654b02443fe6b25590df01897ec8513171edf075c1cb7cc665a19589e2084d60230404df0fc1d0892b40a053ea11614fc9931a30ce8b9c5adabd2a3755bcb33f4f74fea5e0cb914f350158ea3f58d1f9ac10302047c435bb5006630640230689425bd92ba9683efa11bdfac6fd032ad4cc1e9c8483fe31c54d5486ff197be3088170e386018b3aa506634b3dd0f2202304a09d4637bbef9a6c6e9b4e17cb93f0ea11653edeff8f65424fed91dd3195b2d5b1db425c69de78f11423be97921c2d30302047c435bb5006630640230210b3d677291fe152060c85ecc50fef975abf8bb354c05573f22e08d94f077dd817480c3145f158c13e39396c484a7ff023003c76d6bc545695d59222f9b78560fa2c02c2e800f409ebe6c306360df271c01138119e4e4af3a806e11aa57337dc7cf0302047c435bb5006730650230747d65087e2bdfba535f3b7501fce176b4633ce7b74c70c3de6e712713cf0d3f6487cd0e1430c1fd59fd63511bb6df74023100d3fe52995b11c50076b2292ffdc6b7967d0bdca0e516b151ac50e273b46c4fa0ee8d8ab29a8a9de0d677aa7c30cf3c640302047c435bb500673065023100d1117ffc06d94dc6065ff0dcce46dc08d761938cea6a6c2a6a100f02d6d90637e35da24d1140600c125dde314fea8c6402305c927236a984305d040ef7d82ae2b1c32680e035c058f49583673c324ae3ab4d4847527e6f46eeb42e572d487098646f0302047c435bb500663064023001577575a1acae042bf7110d47a79399c0a44d078038e3a7a24fadca91c6fd45c5ea830700b41084a9d0ea84fe9376af023009e795f9ac8753e5bce1bacb0a5059ca3200c60f88c6a57bd3abefed96c2cd2c647bbe732533d6192db53de46b4ca3c30302047c435bb500683066023100a57ff37a7cf5b3a38857cdb10983be96577510e3a9c80a2a3ee56137a1706d34088e98284590f6d07c095aaaac8685fa023100a38799716c90626e9a7d9deb6caf425ccbf82b8e23ad9e41cdd473ff06ca3782709616469e8886b2c5497f50320f97f20302047c435bb500673065023100efa36beec3e62c858f0596747964fcff5cc426f201936c6bcf8c617f0396544b63818f572efa4cea895280421dab41f6023010ee47871b9b1778fdf0c8f5c0f32c2d6995d590da539eb50538c9e90f454f2a9d8db6b731eec4120404e715cc60dcef0302047c435bb500683066023100ceda4d2bd997ea43afdfe2defbe860f6b82367bfba54ee03dd2ff08567a96ef4f2548b293fb716e7117f20b3ea7b1313023100cba625b975fe0a3caf999993bae2444c3526358e7ac62df62f09efdffade10c1bd98839a66713cdc733d2362d657734c0302047c435bb5006630640230110b2873a522be2bf8b935ece4cd664c4f43611a0be4921c44a34cb1f65037d945be22f723bafdcfcf2bfe5fe53be30602303512649ee6765c03d46da3d6a45fa7887e356e9005ce9da93e68e87d976dddaede5da0637048ce5fa0eeff39354c812c0302047c435bb500673065023100bca8c712ed5c337db2009abbe3ed08df0f8105fad5d6632bb0dbb0e9a1db941fb1848346cee2afd9d1a7a21a0245763d023033ad247b1fa3e35e8729991a9d3817d72b70986d164c5facebebb4806a380568581f471a7309b4a619ce3b69093cda980302047c435bb50066306402305d945f2c38bcc8c58bc86c68643558fa1bdd940ab9cd7e0b7a3fba0021a1931bd8ad522f135a84f7df052768a23c46b9023028848ed5aae7ef3a619f5facc9e933b614ed4f34f77cb7aefbf2be271c91cdf9970071470415c2d58ae07678aa1cd34d0302047c435bb50066306402301657aa58fa4c9a1028accbd9df17b812afadb5c4a1dc0ef214c85964b27cc8fd8b81fda1f0d6767aae3db2569ba055c00230700b3ceb49ad2fb5bf0a4b05f6f61c9b6eadbbc7e2dafc4a68358c2094dc7521ad7837e8dea5262e656fe55f26655a170302047c435bb500673065023077f4e995b9f7167b506c908bd214a5a7bfa508bd1aa4c6bd175b2f77aca2b87e0860c875ba0712376b6241f2d8369c7502310095b0989859efc13c645b5453f7fb3e5f0c3a500b36abf0d546a94d131afbe84e71c6ecf5a1241371f13a1c82937dfe2b0302047c435bb50067306502307bcad7d96abb4bb05511df4841d35a7240c4f17ba2c2d13c4b750dcce3075314323779e090e827572db2f74ac1d8b137023100a2339fd8ae2bd392754e4cb6478aab70aca912cd47f128b577ccaf83514cbaf0947682967ee47fbefed935e65c8be20c0302047c435bb500683066023100c95aa400af9ef32fe06eb5ae11630c959091559a4d46e58954c7b17bcaa5c03a1efd1649c426099e6b6366472f335436023100925b1958b04f24857202eabd9c9b881fccc87ba092148e56f818568b665df3327d49f29872d51ec931e81ab2517f4bb70302047c435bb500683066023100cb247ef055523c48c7cf77b1ab7a11d1257922e43ef547a1a3d4a10e0e58d18136ef6b3d44d968e6d2f08971031a442b023100df12159cb99143987f6b6dc1cdd0416227a2b27856a5954e58214240a1557a473a231f65355c69d3688522d57b8b6e390302047c435bb50066306402303c3b0e73d5bbefb7a1ef33add014c38c305fe503590be47ec4f6656c4214b3d3aaeac6437efd50e3bd00d6ca8c0e919d023004d8bf66631f8beb8dddf5dd7349697975f49715a0fca26e8979f538185e4a3ac9a348aded97555fba907442e65b51520302047c435bb5006730650231009da590fe6dde0690fd7ae51bbecc1bf4de9739b4e9ec27c10c5d95839c4915467ab7d836b1d0a0553fe59c866ff1ddc302304311da5262175290bdab5cd291b6e58a748d8c33c0cda48068744a96db69e2de2a2bb02d9fd1d3b125093f789dc1e0f60302047c435bb500663064023021cee650a2df568d5e26662fa0cbf72791e2242e44db46494f65c95212a35cf04afccd6fa968ed7c7b846df7df8af49a023054d224472a6cc2ef634cdb1c4b0e99600126d6a0085bd2894a58f0dbd1eba202901d7d802b86af65c791994851254fb10302047c435bb5006730650230646384c6d4b5d4ebd3269d228f9fb4381a18db03e17b8f91534e66d0355f92ba3b07560a43091fd9d6a6ce65aed0682202310096beacccbda98f1c7b0d4d8bbdd520db489978be29d4bc5386776e21f8e84081daef3b5324ac63d4dca61aa12dc57e160302047c435bb500673065023100cfd5d64856eb614e587327804f7986498c479cbd55d03821437072be75f0302744d48dcfc3ee137a691d1b2859fff33902302ec83b189e4f9a96c9bfeed086fd2746c4f08dc7ad6c4cab1a1fb6e9ee4b3f027ff83eb3949e95748c9a5d669c9363240302047c435bb500683066023100b2c5048386be01a6566bf68016949ee263e8bfd5d6fac818d8ec92203f80aab3c0a02be0d56c7b932242d10ede7456c1023100c2d0e601d0ff32e297c641bed715146f4d6b308dcd5ab18cb2d75efc987a8d1a6aab1ef6f041b102cc77104ead8b98030302047c435bb50067306502306ac262b532efdf7fd6550872b175860a830434d55d0ddeaf303a9eecac7f42957d84268363d2224681aff0abf0bfe237023100c3aec8f2a20c0cfab3e09b9ca6bd944793082cc23c727c7539c9ab671fe6fcb27611bf4dbd90b264b79adbff5c40afcd0302047c435bb500673065023100d458526c609617d2d9c3e06aa7b7cb86d18a704864adc6a8809c8bd615e062cd17b28c84b06447d24a59657426a8de3802307589ba13e69f0b1d76cc0ed797d7f2484d737c46390a02a5f7af6a1f82c5dd19b64d4afff408a52b0c223be6b731b9cf0302047c435bb50067306502310081f77b9c538c1832f3330a5fcb84ba993506e01d0bfc47bcc0412820720689743a83c5ae753b8f891fcd21effa6f96800230120b9c634b61e608a7921cc8835911df66da2e7cf48d10fdc132c855141ba0ccef23512fa89a39f88f1e496429f6f5ca0302047c435bb50066306402303991d0bd95b3b65e064af0788482f8d79bd3b0df0b5dca3fef515d8b1019153a0073f6c2e33761fc1ca448c568c6e4740230397b392fbbcba7c9ed743448e61a16b033c2e2e492ec308b9b67067dede549c89ba28a8369cfefcb9ca35fabef48b7390302047c435bb5006630640230094a3338c57930ec4b793be87ec8603e9da82a20535e6d8c2fb41089ed914070485bab61e190ddf8c8061302f7ba1a3f0230199600ae4ea1af499140df490e3708e188875942829245735057566a1d319aeac73c93fa8803b05c972204c56cbe34ed0302047c435bb50067306502303460e2727eb8de47fc7a3abb20e6944e75da041f00fff5aa03ee357cb880d096fa9f588411e2c59a580e53a993c451a9023100a70d55356c6026faa265de0884d3214b85479dd24c02ac183af67f9cc702383e3f85ceef8d1552e2de64d96b6d2b92160302047c435bb500673065023100fe471fe3a513c9b88bd51a32ea4cb4e1566805ad8211d480b9c1eab65194d9b844467d69429d75743d903842744ce44f02300a0f58384ed3433773f6db9706d0a32a29e5538eebcb22dbc38fc46ef39ed562664b60b584c786759abd96ce9eac216d0302047c435bb500683066023100eab7d652a113528fa2a71b19207347da815eed6c9aaa533b85b4610e266eb856aca83aaa99f3d1bc77296fe0a891b2d50231009c38dee5fee8d58b9325bcbbcc77fe987c40e7fadd6e0ca4ea795c3673fc59c29517159dc6ecf2a686dfadcbcd08421c0302047c435bb500683066023100a3f1b0479dc958d9eeeb9e21e5f66c239a1a4d55e515702682beb4e14713b9f1ad90531d9d4341688563482806d8b0460231008435e01dab8a0f6644b17630a7859f6c38a8b0baf135ab352f03c45bb3bb3eac6bce0070f8918ad4abb90bfa9ef3b8010302047c435bb500673065023100a93d611c82d91f38f45f31e0387d28fdf42df9c3072c9578f469938b01d826a361bfab3a6cc31fdf37b8fde68563057e02303ca675de74ebbe5edcdc474d050671d1950c08f4971423038c7efbd0011e3262e96926cc3cfe37cde328a4f66d697fe30302047c435bb500673065023100ed42e8d9e86b0456d88fcf47bb1bf7023bbb7c9a2f38c255d83a306d2f0caf40b0378adf26fa84ed5da5c0893dc5453202307b04bc202695901e62dbc8c3921df15ecd77dfc864c1b8277f915a9f21c18d3af331d48d96c788e36793676bd9d87f270302047c435bb50067306502306c1b2dc6c24a5997f960f888df63ed4ffdf400612828729bb86013abe02328747407b79581e607b4fd709d398e7765b6023100fed9e997ddae13eb901afffe7244aaba6ae0531dc72f783d11e7b8b2c982ba338d18cfa58b5e121fd3eee55bade649580302047c435bb50067306502302079e9e13d096d9732f119904d95bf477b769e4c3aa7c0d3afcc10eb9332d297a92f9cd422d084074d6caef0fcf4bf3c023100a0f806d31bc0917dc39b3d17cdaf6b4f9d3ba010754ce56a9a6f0c50965b1addc65c2e5219fb4b15f6fa083e6b2902750302047c435bb500663064023073b64939e9f2f0a26286eadae35ae9a429a774a6cfd5a064d9c85b910e992c6e4e7a7f4be915b50eee281582769b26af02304bf665e6118d06148e108726e2b044fe984c91c8851f2ebdc5ac25ada0ab0148492a0bf21cbcb305c24ddf595084030f0302047c435bb50066306402301965c436dfb1c5e67b4e780de816cf87d76d2208ef161f3e0652d5aa617b1c7084d25832a03c9a913a163cf78dbcc85402303d12fab927459a105bf8f2515400b4dd6793600f515acadbaa16feb780fff31d77e8cf3f42c550547387c20e2f44fe380302047c435bb50067306502301bace3e1a5203cb4a8b8d5fb8c88ae65abb7447ed1f248397e904192e1550fc43951b35ed840fa5164fd8e7e2b693779023100e3d3d8cbfdf59494b53d0145ee38d4b2ace4860184f6fc3443cb531fb3397cc03ea11c474f7875ee7aadd8824ebf16c50302047c435bb5006730650231008fd2f57fac473460f1addff22ba6f8284a6694cf84d03a3670fbeee641e3014a55d560be05ff5ac607a01fdd6cb82f1b0230020a4c2cd44f3712e3cec00a7d7e4e8223c41b46d2c583ae33e8a324b870d0661d43fd6b8f85effd781f7f8d964cfa630302047c435bb500683066023100fc8f6914584b4710efd29bbc348ccbc9eeb16bd67ea400b8e6239085c394bdf6211646624572ec3ed5d83605fa0c0c35023100c55aba1af34ce34fed2b5d79d2c4db63c9d40fffb9e630a466d1042c063481c400c213b7f8987f0c31cb428f5c938ac10302047c435bb5006830660231008f7705b5000d9a9e0dfb46db3c2e50d4fc781b9e3ebf3094ee2fb8ac9edc307b507a8449eab26731cc3b4eeb464a1d23023100c65bc26bb1e100704c4a34cf060230f56a3ffafdbd2b9a966d0490af7b580820a0eb0bebd7e8f11558a163b667b375770302047c435bb500673065023100bc5b935c155770c7d6da626c10e7f4c3639356738cf586f38636288d0f37821d094c00a8cde8007be2670c68c3cf39bb02307fe559add0b5ab99ddcaf9381988daf4b66d46164a4bf47aa6078e98e36282dc33f5737d53a9af896cfba116cd69b34c0302047c435bb50067306502304bac378138e86c5120c5e4d90835726c42cce9dfd77dd4cc3979c7584f3937e1377133bcf87e0ab1960ec2011ddbf8ea023100938b765d5352fdf0cd2ae787220a36a3d0fe2387aa89eb9804eb5e7535c56fb51793eef5eda5fa080fb89589d55f042f0302047c435bb500673065023100b8ecf47c878ea8bb50e7658c18318420f152b4a1d1a3e237321e3560ec514c5be73db348156223dd62d7995bc22fcbcd0230331e948f2d8d087ea1cdd3c9a9d61b06c6d78baed00436cc9c10b12299973649f0e28674b0ad4e77300cf9ad1d45ac320302047c435bb500683066023100ff69a18fac2a3825b30fef423fc246c8c9180d78e2ee716591c77ec2ae55177bc35f133a5021547457ecf161477c3a940231009f42b4801a316cd89a2def4567b9f6c90d86a0ab78a69c87e91203fa2d7b3a9324a81e1384899913e43d3b6de2d5a2580302047c435bb500673065023100994ddca3e3eb4be35f717bee32d8106c3a1d86f5d0b5bcce3c7d6fde6e1843e14f4e0351af7df04d768d2b8e6dab22190230314bc6e7b2789f8c6fcd5b84099807c09fd2ec041c35c66161d78867acc00a12828d2b3c52092d30218d53f81cede4e00302047c435bb50066306402305d72ce8b2cb328c9265aca2208731a6b6ab3a6cff3178dea0c8fe49b7b05352fc640e75139726da2b4d34ac7b3a879b702301a039081a915ff3db3a10a7765d940206703737155920f18f12647cb7f7a15bf66e516484767e5096e1823292a67cc000302047c435bb50067306502307df12039c0a518faf62d6570a60122239d808547cabdd7053b85dcdfeffd4288eaffb95d6525c97d17252b9b60d72c65023100b557aa2959a962aaa88b752993f9ed90ad8142932ad1211c15cba0232112d16953c71334795275d30b59a102cdc1eff50302047c435bb500673065023100970469f623fc71a5d301d4eb0af3de2b538c5b4c71c5fd3830c00e7dcce98308d1eaf113e78145693bc15670e4dc8a6502302a9c7bc0234e92a6f2e82291aa9632a5926676d4c41ed5ef1882937e739ed07e1ad38e3e970a52d3661e59fdd259df0c0302047c435bb500673065023049b8dec8529d34c0bf3c2c4a1e36cefe9d14bb3a9a19be0d9e07e5a903e00a1ca8e82307fe4bfd3215775173c4d3e982023100b3b793cff21993397121b552f9edba737fdb934d0baa9309ccf41d25bc98dd1940ed2219494fcb9411563d326584c7720302047c435bb5006630640230059073822ff821f670cef7ce64a484bac66a04183b127d76fe7a6bbad76938bebee88c495ab4f21108d41501af82153902302013ffcc7bc493b795e3823c610197df41bc83c17fcbffabf4a9e8a27b0bf45713acb2562b0abe8f4640385cc1882d730302047c435bb50067306502300c8ac15890aafb07e61caca4b8fbba66a36bb72b0febe89fccb96d5b7406cc97e0dbde48dd8b297cb5975e3434dae9c4023100c0e66c0e01376b7083582bd5f855598e0f9a0a8e012891e30fb1c4a2ec3eabd80c1f6f7596e45f614cd5fd6978dc62fd0302047c435bb500683066023100b7dce83f094a8d56dfba31afb6f30ea07d2ffa18a1478a364e2e9f833124e6914c075ac14144555486fd57265fa74ddf023100e7e47da18035494732146c0a7be083d2aee9ef17b9239de5c8ebb1ad9754f4005df6f4de692626e8d7cc0165b406d28f0302047c435bb5006830660231008765fe882ff2293e4bd09777e54656b584614f43dbed68db69476b8e6e7061bf8c54d6b36795fa05a8cb5b84371110bf023100c3b6d872c1c623d6b339b48441f27d3c6971f6447a0004a07fca2ac5fe9b31938896d65dd23279a70d6b59f1dca969d40302047c435bb50068306602310081ce4bd825d8ae5a265212cf8c33509563cff83d341616b2f7902df62bd7fc83421fec33c7376c6992dcace21cdfe680023100e7f6958ddc8b578cf2fa7c0d4fad991a0b177ddc86bec3e529241407ea5cfba0a30511e8cdbdd4a7da17d27ce1b75af60302047c435bb500663064023078890aa8dfe1022c90a9bbc13680e14dc36d02c1896b1c6b0da07fc5b8db6409bb0fc49288daac6a94b4726618992efb02301012e4412085732c0ac152fae4327da93248c291b4eb3362e3b508bcb210ad6b0c3a8a42f0be73b8fdf1972fc346a23d0302047c435bb50066306402304d1993a023b78ef1d668f3ce535b51c68d0e0b8c244fd066e36f6a6627695f0945a40e6079b6a589e516729c42fd2827023021582e4b791502cdd04d39e24939cdd7b7ca588e5c4439fa600726763e1678ca5da4c59b426b359dd5f8e251511779370302047c435bb500683066023100c1efaadfe68af3d5af1af5057a85f98fb33eb905d1b601dda65b3a7f6b6b76b2c5bddc4d0fa0cfcc8a5f18487d0644f4023100a4f76b21f89640c0dba810da3711fc4a20c1225d8ee2374760a9c17609604d4499d56296219851aafd8a13be9e646ee50302047c435bb500683066023100899b243ee7adf483908568783f95b9f3ba4e861c5ee05de0e1f7767984de6cdc2498d49269085982ac9bfe241b0397970231008dcc49e58a213adb2ccc8530e23ba0ec1da7646d74e767c5de3cdb7f471f94391762e6808276655b143e23f1d6c83f440302047c435bb500683066023100f787dcd01de80bc98ac0460e85f8b3267f3f705095571f37e44afa25824671c0780b598ebeaaf56ba2419971d9e5a89102310097161a406a11c27877d981573ef646426f26f38249da49ae26a15a79501468bcbdc7b0acfcc5645e39e7ab26c6988e9d0302047c435bb5006830660231008f497b21a66aeabe1ca8e66ce596f41d5263db76b62969fb65950eef265cf8349e99c53235ce3e1c0536ec19aeff3759023100f24cf651d345cf78fe79abe474d6c9c3d9a8e2742ce61250c3db5c50ad6d1f39574162e7ae14fcfb7f04591010c1afc40302047c435bb5006730650231009fe05a0e41278cba4bf0e908d93d046ce4fac0439510b44c5b15a1e217db22279fcdaa3ada148dce8a8b1b0525ccb6b802305a82267e9f3f0d576693e4ac512e1a12f47ca074834ac309633ddbd35f7e9e761e56f50e6d7f395da1cc1fff2364f2610302047c435bb500673065023100daa5c37e66a79366c65154c75e37f864d740b7b75c0a5b0d1bb120a2ef341c0d6cd024a4a4f0db247840927afb16b07d0230148e1724e789eb62145df48cdf40dd050867050f33c219757d66e4c8277de5517aafaeacfc4dd8c87bc4044e860a53470302047c435bb50066306402300f8084b11b863740cb8cc33d0d63e93a48eee9470a2cc24ed0d5efc24be592098b523238421fe3d4650319346560cb3e02305024504903bf994ca98b54609c721c88011527f36ef19cd5e31ad04d00e6cedea639b1e680446846c8fa7253e33b7cd40302047c435bb500683066023100a77138ac727ad06329cdaa2b5275d3b5b0ffd7e50d2c886b723aee7bfd6fe493487490cfbec3c702be3dba74c42449bf023100ef575861916ef28f50dba3bfc80621eb9cbca9d4db4d22a5884766a6756c8c547fe837d0646004ab3653e44b4df20b470302047c435bb50067306502300ba2105721ae05751407e608f8f3cbf150f97f5b2255364c3bed4280cb70ef617c7bff510ff48ee30d08667d7ba82ae9023100ad5410db9e9a4d73eebca694ed91f083dfb2f95f2b4d43ccd95794001118c260d562e1b532a3c79cdc5ded9f61d601490302047c435bb500673065023076cde799f08e2b9610c17ffd09a93f0c2fcb674c36fc93d8fa74dd5ebd091b5d299df3e1ebc6d83daba135838ccdb675023100e40d047c68321639c01c43f4dee878f3174db997ee36e4804072532840eebd198311fa8759cc5e12a7e4abfa3c8b360e0302047c435bb50066306402301579d61490e0fd133e60af171cac7a9bf36d1f355db83496241bb2cf8215338f7cf6c5bc6c2f58c06a5a3b01eb0936690230648603b624fa192ad0555907bb4be7c98393929dd5c2899d3ea33f14e11c0741eab28a7bfb8bc69c6b6965f89173ee3e0302047c435bb500683066023100eda59a2965b9ea3f2c7c4d106b5e9ccacadf69ecf6d3164e7f2ffbc824acbb5f63f5fb6be4a7e1b71907d8cf3e8876ff023100be012c2a00775c2108b2d17a6a0bf34115140ed592a149f7aab7a2f46533a0ecc784ab5dd036136122e569dfef07419d0302047c435bb500683066023100fd95ba7a77a0cfa2d51d47f6c0801f681954082937b1aa6d53b0831c0371869445dd2aa534b1f18e2694c87ea3d792d2023100a5892b45b89c32120ef5375b9c7f8f3910419c4f85649593d1889703d9516b947b9a6d4379cb8db7e8d7e843541509ed0302047c435bb500663064023009a1ebebc66c3ef6c71e7b381618b75df67b9182bb965260af68405dbab7b43109638dce98ba7bbde52a0874f863aea10230020cd3ab2829dc9e8bc055b59d7126dd1c80881b9d0c6ad8b9d016c99a3df344098a19d8df1f1c5c7802539deeeb4a550302047c435bb500683066023100d4533f24f49f11eb0cf259bc2ddd687d3e4609114a2b279a487fba119ec5bf1c22d32d6075961244ed143bad798852f80231008988136f1ad90caa6b5393a411174757330826cc0293b7019d2b5828c5af68c526c6cc2eea8f77a007e2b9bcb946c24c0302047c435bb500683066023100e8856c218f83c8981da3308913f037b36f8f247b6d444906c7cd6cb3fe2bff1bba09b47e76f381007ccf18c60d5b051a023100a748bf5cde7292d8edb91c4b35e98ee2c0fdfbc720a138d35da9ed45cd2dcfb68b170ac385eedbecdea4de62e664b22b0302047c435bb50068306602310089ed06f2d3b0c07f74ae3c8cc738d7083ae70028d038e05aa2bc1080eea521de80f63fa9da66f5bc25673bd5d7baf4f802310080290a2401864e63d10c6b313875c44f186a8ce3ea600b87cfcf2da3aa040f8391bf64e49204054916872c63487ebb9f0302047c435bb5006730650230439f49f3b03158bb03900f61e8de490d8427b7568fdcc8be746259f72bee5b48a51082359ea581c11be563785aa7c8d9023100c171d057ac233cd3dde60a7eb2fbae3ca127ae2030295916de204a275b7f40fb74248adbbf94c9c7fb7f9636840097cf0302047c435bb50067306502300835d199df8d9db2f82287288c5dc93ff24b93a13a18e2dd94b11376dfe36132dcd3d02bea1c817a93c62beec0133acc023100b2bc17ad42fec3296b2ceaa134d803c3419d4a94146251c778bf721e4fe1027f05f03419cd2c88f792636241b608fc750302047c435bb50067306502302775b66f17c2f0999b3b5b7a538a0677648997c7cafdc3ba673dc6c60fbfe937ee14bb14d26a24cf6983a0fe13f903430231008bda522c7068f79da8cd440610ada6315bef496f9b0bce326092a71e6de124c807c9910e116657bd6858b18f431a83960302047c435bb500683066023100a73373be916f326849fbc86afab9582d12e322ee72dbda7247a8f1cee6cd9dd683977ed0649a4d8cc82274533431f480023100fde88eb8c2de02d4c263f8f1b07ca116c7d951b1d9de49d2be98e4b765840509c92441dc780071147a9e79a3698562c70302047c435bb50066306402307c61115f7ca26a8c4daf3c74c15e31a020ce696891f604c084e3ed2a38e1569427a7560cfbfcdf8bf57c322179e05d0202301ddc3287ecaf6991e84c90e9f639659dae088a7d3a9118e1dc98e0f9791fda17e32093c199e60d77fd5287c3a5574a170302047c435bb50066306402306d256cd4e8422a37f050097e7c951ba819f46e98e23b2ceaff25bdd68adb3f3d7c79139f21be38e18598448f3410f39502303c20890a301b70975935767b934e24a928f88f097c51889eea2765fd32390534185375a340e589c87b62dc09026f20e80302047c435bb500683066023100909f9d8b9a6c001861555806043baae0c94fe7fa4516edc1ed94c1d5011b40ffc8d2479cc821444a17e6ae5eabd639a4023100e32867b76559de73e81811dc6cbe133c7fce0293e2d327810ef9a9fef9eb1f25661539fd4bfc362daeccbbb1fd2b83020302047c435bb500673065023100b1c6eb15baed9b11de7d9396181ceb79c1980fb362b663681a72874722a2351023b8eac27423332f764ae2a8d59936c902306ba4e0189dd0893851c0841235050462c686d32d8c21faa8d42e72088da1bdddf2a114e7318b9fde134605ab49ee6d990302047c435bb50066306402302dbf5cc3f278665b8b2e0e36d4a6609dc34fa33120411286eeab2fdd2d8d818709773125a4736bcb4eedac6442bbeed70230158681750e3fff1000e6c69a3fd68d5a25ab757f50f08c1b5be6580475e0d238ec2a57d39d427a5effc54fd50b76d1270302047c435bb50066306402302d1f74fbdde7c24a4e4e31bf00a7b9c1f73eacd6166ff1abfe479b5409e8ec87605fa16a80ddbc95b0597fcecc9a42ee02304d7e797a269d5d1421d5c995962b0e8b60da0a3d48fe2caa8e308efbeac3c8f31e81abecffa1f4c66ed090f9f59c4c900302047c435bb500673065023100dffe67b6d4dda3b9bac9f67bf71e0e488b6c05386420473abfb8ab2f80f18e5baf582457f8b69dbb3c341e4506d4c5ec02306f744d9c01c7cb87d2543ce3f75a1bfb20a7573abe20ac170bbbf53ff3f8fac5a59b8908884c8a5b14df4eb50ab71fb50302047c435bb5006630640230373d86115733af17710fd5b74765b69ed021302f1922f48714bcb6812309e8a95f42a139fec2807335b3eadb291b186402305272963a98d72bab945438ed78f1902d4d4b34050cd39edc3390397fee9c13ee1d84c744f039259a6c2b64332d2d17100302047c435bb500673065023100f19ad2f2206d6d873dd476f53968efd89453e17972929a5f40381d0c9e1c88972f14e3a020df9791504f200179900d1502302632a2ffa431e0bac83bc72c86619ddb31aef2207ed013685d02ce7c0d544339483ad90b781fc164fde969724def19db0302047c435bb500653063022f1c2b82547b0525e50c800020e209ec066ee4e08d0b18b2d9a9d854f5816bdb39a899a633c9f02865d74cc58f5200540230458e581a3fac20075c495885623ce3a1168ba27e13126ed567c9940dbaef1ef064cfd23cef1fd5321f6df1f17b17df7b0302047c435bb500663064023022917dfee0c4e24a9ef5bf45c6dff57dcb3817a8e62a019a44d69c4b5730dc8017864c80f83c02b297b1bc28fdac136702302728c85bfc5d87c3bd7169a781d165da025cb6d8ee1449cc75e82dc78fc305070a73a714365c6e59f16cc2f4734485d10302047c435bb500673065023100c0ed481a669b9287b3d000c35f7a242fea596a073cf061f6264da4112e53ed313601a4ad231e7e8dab54e074cccd0d2202302a8eaabfddf518cbb6274b05480e20b6d8428e04ec70bec8e0b75d8c2e5fbece1d106c9bc7f13fa435ab2fcbbe7fed700302047c435bb500683066023100809e8081d6daef85dc9f79bab48dd45667898c8252ef57a98eb03e1f2d83d1be9930a8eed99d67880cf905cc718cee33023100f5b031b8410c5bdf8e0be71d19adcfac1d4ce9307056abcc5a589a6fa380f44b40a31d35aea55c3a264a09ba380ae3d20302047c435bb500673065023100e808a4a4d95fd539335dcc7d5de2a17c2598ddcd3beb9295bc17645583b47891ffb799a04a455bf0ef6aee39caa842cd02303eaac43cbe978ad01e88186b2c12178d1af84dcf316bd976a3ec87c6cf0e6f45f1f920979aee8abb5ed91886f9c9f0f90302047c435bb500683066023100cf775c88e8f6441d175000e0df15db6e3d1db982b7b58e808e98a9aaf8eba43994b83a3dd600093ef6d5375d56678686023100e43de649444f1c0cf0da1377b3875ae301cfbc60fd85f2e059613ac0a349aa192443b6d0fe34d34beedcc2d4b96e4ec90302047c435bb500673065023100b02b64592e5a22badb2b19f118f12e5709f9d67b01419dd8aad26b70fcc673681fbc23fe64753f0569edd796075ab9c302304aedd39fe186f966b16d5271a614e57d6517e30f8a6508fcb63b9dc6a021b8e6c5909f8e7fc16a412dad064592b5f9a80302047c435bb500673065023007adaf6d8d9bde67247ea76747cf81dcd56336ff6d0db5b49999f7c51e32c099ac7181954d21054eee45660392e10e9e023100e8e402208ab4bc86c50f24215a6e328c4fb65670172bd167cccbf1cd5e9c693cd25c8d04d74560e74041181adf5266480302047c435bb5006830660231008e1128cbb727763ee5393c2830022d034140c96d4d1ea3b65a046d0754a433f7eafe7541ff83332e5b79feda9d860d96023100cbf0e27963abe3b4dfc518034c2f1613d6124591ba4a6c5bc43b716a68f963c58463c94d661e83831f5f9288d26dcf300302047c435bb500683066023100b5e4875522d8fa18558b7df35a3fdde313552cd0cf5ef2abbfbb97137c41af8bdd6307325f017678e14924705735f43b023100bdbb5a08f99ee54519bf7ee2afe03677789812bfdcf8d2758cba254b285faf343abb56357118fc18b4ba368c52da18f60302047c435bb50067306502306eb95973a85af38f1e67c59e51d62b1a42dfdb0ae61387846d2142b6a7faee989b251b8372e465c0c2152bb9e7717ba3023100c399510b89d99a70c7ffb318e575ea3db9d45b90884e6c4fba8f3bd4dfa8f68465aa224f5a3cd2b784b84ecab7dc9b8e0302047c435bb500673065023047d24d3df1ff72169bad001229aa2db039a3ed3b05c797d045bbc9ca416d2fd7031aaacb2230bc056713e37cc0ecd5560231008cc1614de3f9c16b566510287aad9d4b6868482c71e93bc57eef0e9dcec0fc092243b6552d7cd4410d8d6346dcd6068b0302047c435bb500673065023040d61e07579bfeed4882505efcebe13ee523a47716d849a146eaeb5daee06100fe5affcf8711b23ce9feb005e5a981a00231009c4a6259942ab127b7e6488343ba6183889f164083db1794399cc9d4a3079d9303a942c9ef90a99a9c47cb11191045450302047c435bb500683066023100e9f2d1a3bfa16a90adad19929037bae21ead27023cc1bb7285331bd80afa191b7ee00d4f94f30868dae5371419bebaaf023100ab123c2da17bc59dd627b5ba7c58c7e3876fee5137cb90ea5592c5d17772911ea1cf0ec87faf8de3f23317852c5613460302047c435bb5006730650231008888c3dec625eaa1f59006ded28fa63bb54833eea3c0752412beae83e7b5dc4923ffcf74a48c777f1ae880b6a4480c61023045d0d0e7698527368b44fa4b8ecba8e7afee5968f32a2c6f5c4ffd3af1184996a0944e027a1073cfcc18aff283958d590302047c435bb500673065023100902a96cc3ed52ac84cafa18ef3ecc4668fe6f6877d799827f839f04bc9c64ae79555a50e8cce73ef361e4ceb0d8659ba0230277693843cf41cf25e43f0287d5ace7880911af850c0eeb02cd4dde8a953341bd4daa7d42367f348fec656b4075f4ab10302047c435bb500673065023100c48470e0d167bfd27eb74dd09285566b2e6001334863292cff237dd790546abfd8ea5328110c4a09c9539539a758a691023026e1589970914bbf99ab16c1836b1001c1604c480c71ad64f2aeb5ea7d81de6520db539d21c4934415d27a45217d51dc0302047c435bb500683066023100982177ff27cd5371bc5cf03351e7111cca38a64677a51cecd23d50733a3d8ce18b67e79340e1ddeeceb32dc1dbaa3393023100c93be3a1be095730cca34ef2ea67850f91e87662d2da7ececf5cfefb598beccc45bf02d27c0be5ec6917123c5f2dca9c0302047c435bb500673065023100fcac05004ff49e3365f73f8d3b5ca8a80b694b55d501f0684ba2b76b525893f988e354e42f692d64425006c24fa68c4402300d9e3e5f839f598507a03d7f609d02230e56a6fe2a2e989f6a065680d8903ca3a5b6978d49def3498e30869b2e2f112c0302047c435bb50066306402303646a464386e20c953ad07c98ca34d0c13b4a121715ff723d25e1db2b5a78c7a65693ea99eb93d4ff98a24ce24652b21023046358553f6787772453a86b77faa563f51c16c711bc25c4cb0eaa1aedd4a41cb4398fdebf46a1a96b012a9541cafd8f90302047c435bb500673065023017b0d863918a0feb773e781a6c99663f0f0b1c79a6e91d6d6cb3483068a210b2655e2a6b90c5d6cf64f5c55ca2ad51d7023100969b6853651f12e0dc387594bc1a2e841f7359386e6a918fa04584b9a451a3c75d07c3e7307c2172b89bac6cac31a9740302047c435bb500673065023100c5ac5c3c1eed6deb105a30445f4940d2fc2613845c8489ccb365cf9bb0c8b10d66ad9cf15f6c35d36e169121654dc90d02302f54a2e2bd55e2b8f70523bc71768f3d12d56b4b2c88cae3362802829c24b741c4161cbc1d778bee5d6a2e1448ba5b5c0302047c435bb50068306602310085d0bce4214c474ddd3bf540b30d195a8e6813f5bf3dab07917008b491505d0e1bbc6ef6c08abcace8b2ad6ef674508e0231008d2568d276554649749fbb21608a168844fecd155b5c96e3878d80e40691837bf48d1c6501782c3641a25d08a72d6b9c0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006630640230555aa692229146ea1171c8b546270416a592f5981e0ee084ad17fccd3145f68fdabee30ff19f293aa525386fe7d2f0d90230596a5b1a75acd2aeef6a165dd7eaef1d4c80be8a4d74f8bcdc2db733c313305fbfcccbe9dc4a926eeb0cac8b9f83e7420302047c435bb500673065023100b5b72e86aa919f0755e3f71e0c820e5dd0ed9069d1346b4e568b4689b4543721a05df40f03945cc87381b66161efdf6002302b2486e5e1e9b51cbe845212b0387e6e8e21bf33fc3c87b0bd82b127ce3bb0ac97cf3b463a7ec0f644d9d991237144a90302047c435bb5006630640230485f1e90f24623d24a2dd4ae1b5e710f756145d7dafcb3a16a00a252a880c077706e53b82ec3911cfd45cbd9a74e84f002306f9c3fc15723ef95e776d2f4d92850b7baf50b2c956fe91bfc9157eb79a8fe0bb5100bcd60acd6aed935f7553f45cdcb0302047c435bb50067306502306252ec044bf697c0d10b8780e099ffa8f09a0316cb146501a5fda5f15ff3e72337567235ac2d26341ad2ceeec8707574023100de4b70ee2ac8b9bba880c1a855a4e1fb86329e6b1cc168fbc23ab1c6cdf87d8f9a9dc72667d939ad785a6c1a48b8270e0302047c435bb500683066023100e4a40406cca7dce27fbb9f4cf7fefb019a7992abb38df65d2081a74d2106c9d09a37714542acbcfefee68941980ea0e6023100c5938c98c54372b0a2ee70dfd562c0945b5586bcf218088b027188c2f4184891fa3b1893d68b4829ec4a06c310fdbb2a0302047c435bb50067306502300547c7ce1d493566690344f593a4addcd04f1a0bcc25556f5f09212f874d61ac3bf7249e656bcafbd0c04906285e738e023100a14dbf31350b907fff3bde5610a809a4ac9f3414090231c95bd96920a7ef451bb8b37d610539f6d43817e0f459992e0e0302047c435bb50066306402307ed885d60ea49f8772b21031f99f155cfc31036458c9594b43f9b656a071104bf2dd71ff13f49b5a7508f7959ed02db3023016d94fface8fa7a2c36a6134f6f1654894a3c3986090250a80d286b526862a5195b0046e61493d53f00fd5b60b79d1c40302047c435bb500663064023003ab2748ac7bc153006c1ca8fd3a684aef15380f0d6e00aa26b633de4128a9856a96986fcd137c95022723f4ce14ebfa023011af02bcc5589a26aeacdb47e0384ceaf68f8c59cd35b3f0df9995a9f792c59573c8318be502cc2e1c5e2cc31ab7b4980302047c435bb500673065023100e5da4d6a1800319995f8c49b5bfc2c6bbe1ab4f7c00b184815e7982096165e5f042341ddb0c94b7bf77c3b3f57323f6e02300929d614149336c03ec699413ce4840739d21de1308da77adfb10183933bbcc4ccfd6501c28ba0df991d171abce910d10302047c435bb500673065023024d882adf9d9ca7b076fba2451b2fbd9ba875961493ad67997558d10f37db02041d400df0a23fde97f6ca4d531d82c8c023100b0b7f51df53650a2be8e754ec1cd9e2bc524e3139d83e5d93d4f0b5faa92b81932f1b3700dbc95578505cd89e99267530302047c435bb50067306502306522d79c7ef4eb58caa2fac249c0bfbb93438c8f6fcfab5abd3deb2f264db71e9ab4f81f9a07e7902d73040b598a5256023100fb6ad03ff78e19f0ce9d1b3bda611ff781dd0a28d28a30542f3bbcae7aa1112ab912cc70213e8996818a1f836ea6e2400302047c435bb5006730650230226a5f473d6bb4623bcfd9afb7881b75fa32b261842c0a1c34cb33409090f5a23537c20e59a701af13ef8acab060a536023100c3e482f5bdc5cace6095f53bbf08f023c59da74f60e90309510d8131a9493e0d56de307d59db459646b724e211610e950302047c435bb50067306502303ab19e08fc527dcedf2daa4cb4c9b3ede3ae36e6c722b9181a0ddb1395377892f9a35a93bd51622a76486fbca16d94650231009fe44fb3627f26ab162dd116c74c4ba1cd3306e091c813ae909a42b764a6f7bc9b2a66681256d28805de323f3372f7700302047c435bb500673065023036883dcff08d5b268996be652dffb89818be5e75e94f9741b9851ad02f60a1c1e3d82474ee094f249ef6e4a097e7d0fc023100bfbad82b3cbd73040ecd127cb54012063dd745ae8bb2ce2dc01079d6f9b454e71d90cf0feca086b9d314c8682b5d3b180302047c435bb500673065023100d1f6ced805b1d0ad0ca493088326e0655c393787a05ad228b57542e215e496a4192b7bfeb07ca4e5fc55cd77ba3ec3c202301e10c458cb000f1dfcbb5144fa750dab5233a695939c48240d80e8dd92408e5cde1e313efe8940c125c9ac330d5f4e150302047c435bb50067306502310087e0b164dcfe32dd3bb715fca6d29ef3f99a10a0a73bf02a89b72ce9ac72195df366919e35db2c0233ed47a8d983f3070230115bfa24f816ea95b3c59edbce142d2177aaaa2fc89fabb5e5c2d0c3a6717be787770508b0b304f98fd2ab7b943972b60302047c435bb500683066023100de83e3a2213a6b352ebc81e4ea37a0b196fe67b75ad27c14babd72f96743c8a7315706714cdaca9b13ee2cb864840816023100d0f4910bd55d3fc394b5662bd4ef6b647ac71236a7de3616b4b646ef0516ccff9c14e720cbe75833646fc83bac83f1fd0302047c435bb500673065023064039ec5178e798196a85a36f1089703c71e96649d6a9c2fabf83d0c528c7aebeb530e7eb8d1f6d823d7690e710f6f86023100fd689a7a8bf495597824d6621634a680b27229404f378c417a994f1759f6763fe360283ad374d4752302d39736967b610302047c435bb500663064023020d2bb06f1604c3667c47975f9137cb950474a0a59e6986a46206df7eaa9ca9fdbe0ebede23ddd9f90f2669f16aa585202304a940c4e29edcd8bab9fd386e66aa1000c97920cd62749ec17510f9a022c44a312d5db68d6629ed06b3661f7413af1250302047c435bb500663064023075bde440f5fb5532bd1606f05cfb6b51feda12a9d5151416eeec54c8a2b06e2c06789746f7c50a92b6859d0a781427ca023011ffc860d47c69d117900ec6094b9e4c7f2064895c45ce066055db3abc1450cfdbccf0a1b8a9c060ea8fdc94f14509450302047c435bb50067306502304e2d19ec49a1b5b112ed24b758f02ed4da74d9bf9e8b0d3dfa58e92f1ba323b010e2249d14c0ba3f2eeb7db20a3fc49c023100a0580957e7d6322637951bbf44adb7fbc683e5c3a4b78143ad7fbc6f86c45fabf3faa6c0b3e0b60efa28ff2bf76fe8ba0302047c435bb500663064023039645a2f2772d8cb25eede90f863061c43c79711f44503f16e499430619be7d4e623a047ff40445e2779a8081d709e7f023021504f14769b89c4e65001e194e4bada535dd99e53298ebde14b48700e9625fb514003a9838b41760d7d1e348e00b2e70302047c435bb50067306502306a294f39c7f62c9e2e2b0c156cf323c80452534b226a21c2579c1781452d49f318b75190707fac1c043245d11b0a01d2023100d62fbc020903f6456873b3f3942f0052cd93930d0a4dadabe4f7a3ff9146b110e11fc22deaf344c7084c8b0d8faf74350302047c435bb50066306402305757ccb41d421b34d3ea4e2fa06f01c039263a08c4221abf71d7efdedd7e34e149477cdcff8dd32517857a5f8d06c3dc023018523be577d81e7bb59110ce6d93e1a731af6e71b4dce55c5377a68511e06f04fe76b4cd7d7c5b57344f0ebedba3425c0302047c435bb50066306402302bec1cd57a4761d047ac8a5ea0d4702d9b3b8796160afc62a91bbdc1dfb6d88b70812fc8fa478e95c5ec6fc37f15855802306e9d350be39e3f784fe3f34d4660666fe95a0f195658f25bc4237f0af44eae60d610888150878e9c8b38375938349f340302047c435bb500663064023078fa20161122070f318378054be543aa0d9707ee8ff90989220502d40bafcf064305671a8a39117ef76a8427d7f3110d02306e4ee6e840754c125cd99b24fe67a112af03e5cec0b0aa2c95f65c82772c6b68c641a194d13d67364d08061e47c046ca0302047c435bb5006730650230660f8036b084e5d89ee200cddbeca83187f4d123ae27c3b349b40c064d66ff5efef71009ceebf10276df05c6ad23cc81023100f3eb2319da91d0e3f002e50898933218c9384bda1ac6d9aa800c5ba1e0a1fea0e1ff8e84de2a0d19d9ac62a81e630b950302047c435bb500673065023100c0c2b3e8c0d871dbc3fc8f5d2741d81a20529d66d56c4e74bed5ac235b02916f5f01d1e1832b6755b44a06ccc18189c202304b307c5199b1d5e3b3a7cb279c77ae2d31857e159eddabe542e3b0e35ec486b76bdef3cf85c214de3cf05e9cd9d6af6c0302047c435bb5006830660231008938b2d7f50c3d504d6f91204389e263d28738bf5b869483837aef25001d4bbd235045915b3e7f471c208971e4038a58023100c934bbded3346c304a9087dd29b654037c22e64e417d1d94e7612c0d6cd96edb36960baef24b8006883be60cfb1fc1820302047c435bb500673065023069b9590aa36b6fe916e14593d564f344138a3e2f2390e52633fd6ceb8534b831834878292e919f6af577e8a707313251023100c002645c6178e253cd10c7ac5c3d1f3be308fef003d1b583072b6bf74986a61a0ddacbad7e61d96a782a048d315832a50302047c435bb5006730650230216b3cc29e175d97ce5306e707e96c9cfca02e474ba05389e242db83d15e94fdfa227eacbcd01a0fb834c3cd63d68980023100b28e2a2ed7fd1eac7c1fedfe1813d0c6a52e0bf80aca5e91d06c0bb8bb04cc8efb61c6e6b057de3ec465cd7ee9ff4b180302047c435bb500673065023100a47433938b36a69164512eff2d06caa0de5e4c0195d7909a711855dea26ce4fefd9b9dfafcf39f8c9d3d22162fc87fed02306f12a59c5893f69242ec9508309adf2a0b6a3c4260dba5ece0ec4e6875d9922e7655939aae71217942e732031423b66e0302047c435bb500683066023100f060f847b4c2c7e123243c19c51ad2279907cc49e997107bf6938fed64ea864115c63b8ae0499338a68d863f31ff7bea023100d56b33cd59b1b5a292c4ee3760033f3a4e12f7b677f3726e5a08119738569ec757d2ad645c06c961eb283397f75115600302047c435bb5006730650231009eb9d9832e4d372eeffed6d0e42872b4381653d9aff56105f36408f27c267db0310ca3dad2e58a8b07e69e3360cdd3ff02303efe6e507713c81a20a0a93c125f4c9cddea285e7b3932fc4721e106bd5c543f1f8d5c6bbca9d0823c3a9b6dcd3d729e0302047c435bb50067306502306508b05ca49ff6df56074062cd112fc2bda7459bd2ffb16a7f48bbcc9f2ee95ed184bd8fb6305b69129301414d5fa472023100ccaf661b01259a874249c7438dda44ee054517f8d1511de8d4f9e7df62f153eb7cac82a3d305a101ee24a6380d50035e0302047c435bb500673065023100bdf35c615a8b731a16192ece911c7b60fec197991a9110cf11a05584505cf8595fd78ef26998e6b120515cd65df3b8770230729e138eac900dde1794885ef1d5a86af545a77d1f86788d61928cddafa0b9ebc3dd861202ee9acd71eb6858001484b40302047c435bb5006830660231009234f1d4aa95963ffdcd14768cee20decad4a623142946c4be244e4165da4af3e12558dbbdbcbebc71e6973774595956023100e0713afc02ac6aca14dae34fa44a7a04a0d94f80ab471d159f8e47401cf7c35b6ef0f05f6f6f2a42157101a0d7abc54c0302047c435bb500683066023100c4c4bd17ac91b45c0686e5f9203f4eaa7e2ff8f063f835b8cc65b4528a9682a32977e2a74dbf5d4de21b031dfe46e906023100d5a2e5ec5c04598e0ee78d8fe33bd54a96ee74dae93f68c4c8d3ed5123efb764da39301d97d2a025dba1b64e3ca8c6c40302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023100ac7900e35cee7804e5deea2c3074b41a67756746e600f1dd25c5fdf80c76f574b9d06b613c90ee5de9029cb572cd6e940230625575df4fefd17de16927390aeb5c85badd8b4c4933c90bfd3895ccbb0fc3dde9f8975e3cf92b15c6b0695dae83d35f0302047c435bb500673065023100df1e019769e86c0e2becb4ddf44ea38fea745ab6e9dfa5c8bc21060b6fd05c07d04339664e10a7dc235c8a0dc5133c9f023031e92c3525ee785ee0b2e2662e3f728500f11111a5c61998f7b51a5f961db99ca7e935842314effe80fd1fb75939fa410302047c435bb500683066023100df5862b169b83c7b7f3a60b0fd957b332994e765aff49b94503e3c214cd79a501a0e34d17a34060b585ce497be32f73c023100bb6e2a8e5124ee64c2a2f85bc3a532a67925735a2c6407f04773ff1f497169a64480c3c229fbc33aa02319bdd3dc681b0302047c435bb500663064023100fa8b4569560ac9a189bc4e8061ba7a95c8457490f866cd849e96a1f6e85ceec52f892cff33addff3526b3a6f0ce18005022f0b531af2cba00e3a1ead260b4c898a92bea38d5ddb18b4303f5b1616d5ea9fe904084d2c304990fbf8fbbb3bc9077e0302047c435bb50067306502303f8890db58b5fc163468fc0562bc18592ff469895d57896cb761cfc48b4f9da2df0a6efdeb65e8662a15463bf3677ff902310087e39f24581badffba7a02111461ddeb9eacf767fceb7068a412efee1ebc59c05152a2e45341ef3308d810e3459d848e0302047c435bb500673065023100b36614c4e46b1b3a9809bb597d45975a8382b7bac5a5db9faba310b463060eabf4528502904dc123566bcef1b771c6800230452abc83a52b78055ea3e92de7f01faed2aad93a727a17fa8d822574dccb6019b4978218e4c8641034d7ea202fb7c7c20302047c435bb500683066023100bacd2fc6d97723c52837e462d0011093a29c21566ba00fd41d759fd2e02e3fcbc5dabacb65af1f1264ed32217803b913023100d7e26048443be8b6f48c50e21b14840872f345cb8b07edd619f7be5e4ab2b61f00a2555edda66e0e6ed1b06f35b11b310302047c435bb50066306402304a1bdf20cb70c21edf55fdb0aa57457667167d6faf4c791131beabface62179b1472f9b26e387c5d116f097e0ef37a2c023033803b84d8e00a5fc12a577185eb98d71fa6df78c5bb2cfae3256710db754870ef50dd9b8402afa99f0213a0024ebf7a0302047c435bb500683066023100cb1ce7c20af73d0bcfa229b954dbd32ce1a0ce4f23d65d4ab279a389cd15adf3148204b97576050f95e8f56ea9b1f427023100fa560587b4115ed41fbec9e8d2a698395e5c0a5ff3b2756005f5cede9bc76b557864ed04d29cef7132a760d9fe768c350302047c435bb50066306402301528a28df90a9ef83ecf5f2f339396d0e1f77f61dc76b46e1d8344b87fad2985f18d3b86765224445b07c63bbbbc37f102301ebf85f844398d1c2fb9d18489e0260894c80da61764364f883a6f077768b9dd9bcfcb414a2cda510efdc82b56bf883e0302047c435bb500673065023001bf08a558f423a1b2e00da6538dfab3c3bb491d685979f86d7152f2caf2c3c83dd070f5f64a1b4ebc4a391c11a2dac4023100c7207c270c4d70539a78adc58706a8d260ffaa1f66b5e510a71adc1554f67346610691f2171cdae61fbbcab28999d0b10302047c435bb500683066023100c17f3c2c2135b37298bca8e3de0b83fac4e682add6b4bc00a550153fee34931005a873868d034749b5d1977b21b475b2023100a31f035399f84f3c60dec165978d02346d2a27917ef31fc6f177dd605c755d27d7295ae271a8cc94b6c0c964591357230302047c435bb50066306402301550f8e855332a208fa00a5581c83eea3397d7a9252899f036d5d7f77eadc8ad7fb9b94fd74a359622e22cae3c8e843b02307a0c35173ee51ebfdb1be5b6437c60be958d8d3ab19baabb63569537353679989a5e8bc54a45ac797cfbc9ad99641ffe0302047c435bb500663064023041caaed30b5d8d5e41ab5f45a9d6ab2203bbf09222abb3cf9b7fe9f3c5b38dc7afd3eff6c9a93220bc901fc448390477023035a652afa7566838b33bc1af472b69c6c4ec3412120ea7b7dee008c5bed456b7462f74d1607aa9369758c97dfc44788c0302047c435bb5006630640230730a62b98bc742175d2269d9721d22d76351d83b8f808df4a4abaf0ad25a7151327c584a4ecea35f7673279ea6ac695d02303c15760fa72e9b3bcd03a2d7dd6eabdecb50a56f3fa4ed6992e4f32ae2d7cc3a8f5d6e3a2ed40c4adec5ccec6b60ceca0302047c435bb500673065023100b9ecde00cbd790ec06d187affbabf14c35cfaefdd23372bf13517dd6652307561c237ca53a90c55145dc6da102e97ec002306d02d8f7b6b9a6d71bcf067d366a6441e6443fe67e65fbc88b97f6e17eedad542912192bcd465c5791828c564c3655f60302047c435bb50066306402307592e7d2c0b2d7e84b33c906b790731265955f01b23153a404f5f4aadb14119c0ee3145ad42e9c65d81ed7844767cda602301ac760d860ee02744666344249e97ee6f814c1b947b92aac6ecb56a690706023c610e15997bbe8141301cd97d00e4fde0302047c435bb500673065023100a010d8f78bfdf8208983e48529ce828483ca2bbd4244ff4b3259216fe5ccce4080d1d6b49d16c5d60f096dc41da71a21023047345e418bd20492486da4939966cc87671ce7facb8e1fee7de03c0078a33194e5bc9dd7732a21d3a96ff6b6d6b96fe80302047c435bb50067306502303b0478ef4a920e0b8c02cd1d0377244b184795912059d3b51dddb811d90d839894071760396c2bfe48eff9e8382469ef023100e979eb5d478299c758d193ec5ce292c22cf173358055df2e69e80a5e2ea9f818c9812c1302b88843258edba91b4357fb0302047c435bb50067306502306c739983045c8d4684166aa669273c81e6a5f516dcd2088ae742a1f35b6856f035281c52bbce2418d2441c6558036a89023100a9b4abed47ae7923906e7f96f932494b6c74f4e97c17247fb831dca749b34ff3006ad7b85b055678e13f24a4f88e24920302047c435bb500683066023100ebe897f7c43289a5941d3904e53da3963841c9856410bdc9db4f193e63350cdb383156b5316d33a48fe01338dc6d60a7023100a33e446e08896d53d01389d9c0547c5fb0e9675ec27fae6a56e9545723f97c5dc1fa84d6e7cd7a50e30f51a05aa69b9d0302047c435bb500673065023100885d9eef035f197e5935a92792ee85f71aded3a478accd0da3aa4380c4161892dcd7294a59eccf1897716e035c47ad3602307e49c2ccde20b38e244de335c0c666e8a02fadd6a3a2d2bfb9c61031dc50068af546cad172d52b6b1021ed5c03780d2d0302047c435bb500663064023025eb274ad719d97e8d1b0d6e4fd12e355043c1259e6ac202c066210211139b6691f0fe39d72c7f461c035d9834e2296c02305e1953771ece7ae5d854a5389daf035090af0ecd36cba97131e431d123a22b92d47a728b38b3c6bd519151dcd71f46d20302047c435bb50067306502304bcbec96be97dbec738409e82538d6060096cfc194a317fa0eaa4c42da4a4d43a85dbb43b2ceb1c2e11e5617555b0cc602310095907d2c07c68da7910df3dc03fd89d7cd6c109006647ea9c7cadb7fdfa6c0c313d8cdb3cf77fa940131e5a035503a2a0302047c435bb50067306502305d028623fe6b5b5894fbd3bc6c746fd64fee02405445bd121953cd1630efe46b7784edd2dec0a9557c7f9a0e10b3edb1023100a24e55652f4996567a575034fad33fedb7105644adfbf0a18a6b9912bc13b451a905237645c82c3b1b418b64ec37f8b60302047c435bb500673065023100c124d2b629560fa2e8bcb69601b1e5c7e5f55a8d11c1fb44ae1aa1a844abb9302f79520889013ccb5d9afab251d9d1e70230690c07fae49ddfa24b867ff031138b405c45680785c51bbd5ef712a7009b6455336f784c7567754e3dd0dca693467b1e0302047c435bb50067306502307a3e22f1c21fc843b0bde5019ded88825563520ad5e35c9c19143cd6628960a35a898fb463746805803d066d6f9611e40231008655b18e0cf1dac35fc2c18fd398323d80b58a660fefad75965ac59ab1ceb6742d65f9ba9211851a5b765f8700282e2a0302047c435bb500683066023100b99b82ea86bda395337db6849c456d823cf9ee90b3bcd3e2ef6bcf4a22eb1d8393d7886820a017b14dff5544dae1498f023100bd19dbc037cb9d6ff347b571f8aa412044741b302fcab9d8717b8da70443db823726b9564c0d142e2fb085d6de1d05120302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500683066023100d18acbf2aa3b15f0f0fe37c18c9c70b5e522cd5a6c3be04fa4d694da7975cc0b6f9e157e097f4809afc92b6913a15355023100f229068bf3c8e4fcfd29330b7cbce699adab2289e98092dfd7cfc70c0f6d690d5b50df7e6a365ce6d25fadfd5123e5fa0302047c435bb500663064023063b07e63578d51c29bebf8ab2f2469dc9977959769f490a92a24948cb3d15e22ef0ed1091da3954fd434cf6732b6f4c5023051a61151e8540abd3b92f3e4f5763c10bc68798f7a7f2ad3ab14f2ac68a0e1326c06e411e9f0dea621fd9a61d26cea500302047c435bb500663064023046c352a5d5edefd551767e4e8dc1194c2028f5ab7f5ffc82eb74c81651c69c5f4d5ed25ba9ae26718d2b8b21b2c07785023012ba08e17649f13eeb0611ed292ff8a993c92a70792503050e64fa5444aa46188c6fe0c0ca36cb3a5d7d0554b3c5feb40302047c435bb5006630640230299226273b465a3f7bd79bbdbcd3b5e041790a7fcb5624720a3198af57db0221ee0d4c963a1bbebe4b2cab0301d8608402300e3dadd306d499040c1c05be8b641578b846f2201424502ca3e35635744f79d4d594acf761a15de922a34c76ec96aede0302047c435bb500683066023100fc69010ff62e3f0621c6f8d245fe09b05c5ac62805b906bda6ae418e043122acfb8ffb0eee47649f901dfb6853d9f5f4023100dda4669eb6f8955cd50e54425835845064324532238f40c3526a976eb48f9cac22a6a721b4ad9be6a38a8e6110d4de4f0302047c435bb500673065023100cc69a84c9447add2602246f35617ef506cc84370e68fe72e7f1f795324eb480a9cea0216f8a2bb8eae22284d575ab4be023075abd1f542fccce9cacefd284155e1f492032c44621aaf4bcd47df2a9061640a7bc3762c4ebd5d1b96781187437264b00302047c435bb500663064022f06f70c77c2b397df15eca9973f7c113f4dafb6dcda6de62a3ff510ed97010a4e1733865eb00eea00d7354ac941169b023100929f2a02b0cdb698b2b6c101445e77be76a899bf99e8f2345db48cc73e783928b9c940dcdc472d5c320a7d3f3cafc1fa0302047c435bb500673065023100842525e92c9e6621a504a661b8b16683050f902bcae03d856a7ae65dc8925edaffbcbf2a079abef6292686a93d0a1c71023056c9c5f3460f7d8dc7fde3b270e05066355f62362a0d9835a7fe8845f93d11efa93e75ad98d428edb3fbd665b5e1d2ae0302047c435bb5006630640230549a0a9df95092d0695ff415c796eae14efab7727ce09865e34b27832ebac261ebf536d400c98134b10561c7c566f5c602305c6048697036b14810675ce2681f69e3922b6394f4ef8e5dd97e0ba79bd22388580d846493c3bd2b4486ef3dfae60d330302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231009e940e0406095c42adfeffd55c365fbfe03c12d074607d5e0cbbff500f8649bedf66d96fd5e425684fa8e10272edc966023100bd68760a00267111540a800331699d18d5e1fe039caef4a4ed99c36b7bcc2f84be644357cf226babefd6fe9dae2bce450302047c435bb5006630640230642bb076363ac284ddd9e3d6f4356a7966c94f5a940fdf39be67329f87e341e81b8148d49f108701175670e50dc9992402305e28148f2cf2436629b1209eb4b6bbdd72e1646ee3f50cc2ed1172e29b3e588b3a2e46efe7980fb3582407735778bc350302047c435bb500683066023100d8b60e9cc5955e4b8feff3761281bb0ef47e42f37d6eddfe08cefa851b0349df07a9d5bde8f95c10362224a54d573db8023100ad42ee5aa124e82a8dfc78944c539f2de871de454eb9d8307f7d63087d0ce9cc6fb09015445600e47ad08a0c48fc3c280302047c435bb50067306502310090fc9291479c7f8c27e614ea93454f6e69d3c482d113d3629f320c1f75b682df575776d6ae53ed796315ffa8254ad988023042b68388b56a2beaf8e58a7e95103981f5b9977d00e330d2902a9b3004d387536a9d2a720afb6f46db9a2c8d037736570302047c435bb500673065023100ab1d288c6776ae56374cb8318837ef2240ff78c7ab3ab57f55958018202723bfa98620980b13e30b6d4502601757195202301203db90a0f2d9ead39cfe5514b96aa555a1a8838cabc276c4e9a4629c2ce00f96f7a1a5ef5a492d88723b618e6162110302047c435bb50066306402301197e5741ec4c017f8cdec210d2567339a3dac3e43dba7216aaf5e241aba2aa9181571c5a6b1a460588e0081f6b7085502300d8a7405d4fc7e9c6246105b984ce03417bdebdfd2469755a00e8eb0cef0542718489a519c204951d49485de1dbd99110302047c435bb500673065023069e0ef6cbfbc9db00f3a4e6ad496c5b7341329bd6ed84c51b0aa9ced7945cf0c8a1151d4b862d69758bd57083149edaf023100d91d55b5c627d667f33f75ae38b2fa2aba5c1daa12df121488b571b1a3c05212b5262f7d9a9131244e7240af054f100b0302047c435bb500683066023100b09a70b7e770c86dc272bd0faf18cd90f0efb856f1e0baf4a0233110e6df5882750be69e9db868cefd31347a532c19f3023100dc0eb192bdbd6cb0ee241e07bc91ee74c6bd2be141cac57c7bd948947295e9e565410362b09f76494a65e7f429fbe7330302047c435bb5006730650230767c9a56901f8d178d1ee6490ca70b54854d75c70d763777967564a603cbed18aab302c6e0bad4bdca79e589d43fb61e023100a9e8209ace2618cbfe00de9b26c43075c467e1994f7fbfb5f97f9eeadaa31e970c818c805271ba2a81b54cbd89a8c73e0302047c435bb50068306602310097232ea22fac1106ba939d31e7f3fd2018beeffbe06939959accd7feb743759108e4541e0e6e994d452f2ebd6541db6c023100ad74d39bbe878e8c34577ecfa491f16e0430fbf08b04e4928e7ea822658819c4b68b27eaed76ba47673b421469a8d9230302047c435bb500683066023100aa37ee156f22b24137af9f5494a6d22525f7afbc083a9181be793cd27c5c5540f87bc78f82866db358a2897b0bd7c0c3023100b14ab567e1fdadceb06b8fbd2b13a410e2d9eebdb4aeeca442209602ed6a5f1a3b2b4104a19c53a8b0b19b8d0f6b960e0302047c435bb50068306602310081fa72a1c0c6617347aa77f3f3839af01d61f79a98a1d2a190b16837468794f294e39e6e3bf615ac91916ce16305bef6023100a2849ec818869757a37aae6acc171f767e515c2b80a0bee02dc477da1d29459cbe65c08a99b05b083e7666c838eda1910302047c435bb50067306502304fde6624a26dd8ff5738adbe067534bb3d34e5a3a4b3163e5f23b0f44ab4afc2f73427cfe4ede18b7b85cce91a0b6721023100db4d7c19f98ef25caf15ac6a8c108b08dd0ed6f3b65059abac968431c1fb316bd65414da4ad6d4561d75192e14b020570302047c435bb50068306602310096ef765abbc80a9793bb812257b3f8bd86eb3927615a0a26b7da57e8de6269c98a4ad126b5a78ab5760eeb937e0182c6023100e707fc31827018c4ed6c4ff6e7df277bc23f7ecb699c9324b05ca9888aa2d82996bc5b6bd16fd4897159d0b36a54474c0302047c435bb50068306602310093838c00e41a39294c6c219b117f133aa20a17cac32a13dbca58300d9bbf8b6afb4c48f47148a6fbd032250e77f7efa2023100b75b2da8eecd13cd1741bb299c797ef9fe97650218c1d1c9de565a8612018e5c5140cf48d8718d99c0b12de44c1435670302047c435bb500673065023100a02225434959753d6065efd6a61e99852b59a9adf22d95587a55109b9d79662dd52a2e27150d9617f7361fcded23787e0230063edfcf3dfdf0b587654a65520b9c32b750af5888acac27cbd0b513ed55581816a1dc5711ae1943b7e8e06c462fede00302047c435bb5006730650230609778897477457581ab71e1b2dc7c6d47d63a27228b8e23ab7a464adc70d189f9e394707d91000ee1417045068bb1a7023100aa1903a1901c46bdc2778fe841aba76ac1f9526dc35a645fb499cd6f6c9b6351fd80a673fb865ce84510c35e43c040110302047c435bb500663064023041f85044846dd3de40db2d499a0afbe31349130959a1c7f6f5c102d32e8b2d289afc308782463fd7cca2c640e0a6613702305f432a8c22d6ad2057c39917274df0ebd32099c9e4e14a7bfc7116cdacf618e3969a8941f35cb43a0de13a4de8eabba50302047c435bb50067306502306d3994ff40913de82a044bcca9cb3b95b16371c37fd3580c4b71f1f2cf5ef1e27ceacf1f270c3d5056bb75d071be0f0f023100b6ad9dd06dcc971e02d6b48ff545394ed3abd58f9ec89f7a02fcf7ec3a881e2ee97a562d1183d5d8a11bdedabf404d5a0302047c435bb5006730650231008bc5ffb2f81759476801fa8a1a32e7c964afdfbcef4b7c55d550b07cd8140b6aabb4044f79a1540307a9814bdc19aac3023001e84ee755ee0f3715ea41a6847b34c8f1f83b9bde092f4e8db10c9f9d6932063f1b3d4bc6f03f07f5714272300bc86b0302047c435bb500673065023051d4deac141a52d25be9121890730f539ff4c3de834d16ac9109b948e61ac338ac0d77ba4479330c5282a7ca000a3031023100d80c330884d155448dfc8f8f642491061d61c03217fef7cd31e416612e8e97f20fb7b5a94e26d84625ec08b916863b030302047c435bb5006730650230673faa4ce19f89e4aa6fd3e0a77291f830c91e871d5a4b0c954662a449246189cd91751d3268ecf22144c77c6a8de55f023100f68ac5f44830fa1954923bc7d5f92b2fce08bcf99d84120b07bedd15d65405fed5b031e02c670865b23cd42ad5389c430302047c435bb50067306502301519ff6b800c53b0dc899559993249df988878bc32165f1268db4b9f62e4f163695c2e8182193387b3b4fcedee184314023100cbff2bf363a09c4e27d6a065d81fbd607b555fa77af0afd94c43d907a4bbd93277c818532ec74364703ae99ddc38d8de0302047c435bb50066306402301e11047853ca46948def1801b99aeb068223a9e36e8d8b4ef45bedc2e2b516428170388ac3e3846c0ce99f194411b24402302e8d6628e65362b419efb548db454db70065ae4ef2b48d6c0270b4be18eb480ba3da757b817b97d0c37b920de2cbf6a60302047c435bb500683066023100a07abb2ee39b08acf48c33b5f864198e378e3a14d77c0a4e46f2fc6b4802e217cd3d67144b70ae66fe9143c765fb4dd9023100fdeafbf0849c2ed01cbf66ac79f8b9d1f31d529087a781320d7b8d854e89740e28af4e2906236aec53683864cf2432320302047c435bb50066306402301ed60d4096d79ff7c4acc704f707ec622dee38b9fe71f99b3774a9a89e7ad100f3412dabed837f9bc0da2fc44ce07d7402305b3bc26b242ac2a97b06e311848c5697d225e82cad13199a17216142c225f2eea532ca933b9bb8a23136c56c958f00230302047c435bb50066306402307ca1979ad6695e2c84a808d6ccc7085587c0bde4764bb243d5e663f916d0aaadce2ed080a52dcf4180b43ec64cfda5bb023066696c610bf41e0e64d858bdf09069d65db329e24413dfcf0aaf744be3bef6c74baa1e047b8acd2d9b22b9640eccd46b0302047c435bb50066306402300a8be7e5a8ff0ce9f6af8864cf25524d30dd9614c750cd59548318dc427e195bda879f33967dd4003faa6d179839568702301ce090089c30a18bb82612b90749a5dfd82c5f4c4c74fbecd2a5455c35c627a36ccb02e7eb34e8a218fae193d694c3030302047c435bb500683066023100e434c898a9aa2339923caf68eae5d844243d1a68a75832d81183f07ae196aade3ded75752281be93b453cc14ead524ae023100be17a72163cc76b37941aa6ae5cb2e36c8cc8357ba00f49bb795adc935b055142b1bee185a8797bfc0d24d86db7d938a0302047c435bb500673065023100f975450cb677615235754ba6a1acc62115b5b08f5cc44c5b5f7421c8bd0d33b46e5fe42d4f9d476e8363bf24e618a3e602301053ccbd93362670712f592489e063596a5df4cff5f8f44bdcd0dc9f710c4901ae7fe765aae1b2557984cd28b68150d70302047c435bb500673065023100d20003c1db2d3bbb886c0ec8b454b89cf37d20b4ea6dad036939f3a9feb105f9334c1ef9afd434db7534ee283fc9e04a0230320480e4f9aef76f87b9795ac87236d835ed6a844f67360ccb5aca9eb1282ad922f458b9b353aea6095ec134d45e36390302047c435bb500683066023100c1a6fdf0a4764b49a7d889613a4d2583476ecd8e849e1d1637b635185ede8118751bd585047bc47301efe4be19d6e4e9023100886e60e25a186b52aaea75bb060a90c7670cde3bc5fa99d2bf26150ace56e50ccb973983da62152ad4bd221d67cf4cc80302047c435bb500673065023100b46a3b0537cce22cc81860222966d227cf55c17ced46b99b5777dd53996a8f916a6d547401d667e4ebabbd87b9b8a0ac02303b66b5b8bb54316a790de3502debf53cc7d05b694b065e1aa47a4bc1ec1befc20027cdabc26dc33b6bcaa2fe0606087b0302047c435bb5006630640230684c26a710dde6a5241df98513fc364074075f201e487e5b67f300c8ed109979a33f91130dc5cee9ce25ebcca1fce0fa0230207374d85fcb0bc116aaad7ddeac4cac56c542deed3e85ae692d2777e1116963401794bf3dcbb97ede496d49748d50660302047c435bb5006730650231009018b8b1b0296e5d78b52146fddfce671cd44e6db242315184132f9fb98bcad24017d8bcddb3ca2d2b21f99ec7cc2c78023047ea60c7cc301daac8c2318006ef6a9426187721c165fad384cf80ea774c2881e1eb6082d21f532c854647807116446b0302047c435bb50067306502306f5a90beabb4a6e63f51c69f10b1df4d972d1f587a444d7b593fbcb04e8b9c10b02f4951232e55baabb4ba70bea5741c023100a20b495c8a14a100f43e2ee044f4b3c2ad2c1d7ce0724b7de1d5d78b9d6d0979bc330340b6ee6e139ffc5ebdf1ed73750302047c435bb500663064023048cd4a0b84ab07b04693fe2ff1bce7dace637fdefa1093d2c01bab238a9b2172ddb79edd2923e9c52d2ca3ffebe9d8a902306a0c1862a44aea47b8507dd8adf119966d368a237b3beab82be46b6731b5c81337019f7211a53e385f27aba3ca9611600302047c435bb500673065023100a54020268882707709d0db902c84bc8a74e8c59ff0c3cc3e32263bcf2279857fd88d6e6eb3e2b3859a448ae3d9752e54023073751e9a40f21295c66721b77f88c2e64c118ff9f63f4787250a1403da4c52c76692983b8169bd952768c6f56c9f18280302047c435bb50067306502304037b5618f861b24dceedf3ad8e8ae6ab9d476e97273c346309f40c91565a3b4605f9ef830bf382b6705783c9099bbaa023100821a183180b9b044c0d73e5c8fa90c5b25f896f0d4c8490725ec6a9e64a9c08e962e9087eb097320f99f6cfc8beec4f80302047c435bb500673065023100fcd783407cbc65eda1c7654e0cdb44df9dbe4ea405b796115650651a86fb98b88a51bd6983d99714c38e5f16dda92d18023039f23992e0d1ebdd810cbc964eac106bf78aa32961b3ea84a31a6d1a8aae07678fecc6daaef4036c242634e18018a8e40302047c435bb500683066023100e1a705e0f97046c28c0eb0dc4729cb1763cfff90f5523fa804e47d3527353da936fd186b2a1aeae0c9388c43730ec914023100c311932f05a9a5e7d3af3813213a20d5ec1e4fb5c8f22bf9b6a43303b8fc86b999633e3551a095c66c478ead1d695e8a0302047c435bb500673065023009aeba4cae869f62ae69fe4e15ca00985e9bd7e1eb0aa6515efca5959529f41d06763f9c41eabd4a97aaa3bf03f89d190231008e0cfdc09dcc4ecc8ea8a1ed06f25db722d5ac5ac1ff11fd60c51bb31ed9041aa71b8b40fecffc896ef7b6e8dde9e0bd0302047c435bb500683066023100c94451cf3caab50798acb82480c4f64946a324fca3b489a6cac4f647f09920616ba7cdddd8bb1aa3497010c8ee625dc8023100ee7395a72b71edc2707ba45441ad8dc5b7c0d4aafe6ddb700149f782c01847f07ee597df55c13dc9f55fe4518f7cb9f40302047c435bb500663064023057b90ca2e43c9866f3c4ae34c7e18406e431d623358ada04ebeb5ea10d86eb606360106fe7793d0f50310aef1a9760dc0230478cd25df8c68f112959175efffff998984dbe79a707f034ad7b93e0b97fb6879c39fcbad9ee7ed4588c3dc765013d310302047c435bb500673065023100f4bc49da1794bc6d458a9d1a70e540aedc7d5ee6bfc47c73a91bb056836dee26bd8e376fafc78ed93b2df22646e59f6d02303c6ced1145ce5fde92e769f720b02a58b26389443b644c3e6358c10eab54d0d4a0f16b4a24155b215aff1aa99fc2962f0302047c435bb5006830660231009e80ae3136c5b481d63c5d75af4a75c2709995257b6b24fc123569061320ca01ce09ca7dbfed59403e10dff86d208a72023100e0b5fe925363b0974b4baa533a57bedd68856fe642fe7516b4a4115d1ef5f806f32c18287d6e23fe20c0176aa509dcc40302047c435bb500673065023014ec1832d78c877e1f7f04ce7c2b83a30f92c61080c06022f4108c7f5aef9d80220ea4d85909ba87b186dab7e59b78b4023100b23e169eb324ada533b1af754c7f45f063c35ac65b96a3c0bf93620f34136ff3e552f39f2d1ddd363bb795db50bec7660302047c435bb50067306502310086a4ce4c8c1770191eb4bfd7de3f555c426fbf5cb7742d7e89155fa669936205c6cce7d183e2d1cc8047d0b9b2cf539702302c31bd96859a9ec6074fe529022bc53358f17b7588d3fe93a19cea61c5dc3bc45e59d47228125844a715fcdad7df5d6d0302047c435bb500673065023060e81a999544f45a98b6ae2e9a9d58d0fc17e720690ac9ea06586aea4366207849d4f79ba10670271618b67b84b565f1023100f6df54356d5a843ff1a9f078cfa418cc4e08c551ab58de00f89c4b4f0414bcb16f6d68b8bcbcde7a581ee061c856f26d0302047c435bb50067306502302e066efca191cca51897227e3046ccbba7f832db468289d96b48eb749a0e938b680eecf6fc6d6536146f3b26e0e89b86023100f4f274dcb644d4817700c20919ae1df76b14e10e823d730f165929631eac7a7229b4cae759ccc0ebba70f064e411ba260302047c435bb50067306502302761185892ab505b0d93c114fa74802dcb294cadf707d3654478840fac9ce71fee073d2290359a76e490c9ee59cb2843023100a4d40ecad5d52d69deec11fafacc167bf818d3c6985ebd7a53737841e55d3f5d79631a1dd0a6bd384c31c91367c857860302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50066306402303ed9f7ace5a3154be5259908a06aed211b29f74456c56c6566259310540511beb9cc12f1b10f18d73134c67d3f318b5302305b686cca6b3597a0509a0d025fed9513d0a3983e4acd267abe94ff5aa25051bfd9567a186577ed41d5c09769d9b82fb40302047c435bb500683066023100b367042a691a0aa6a8fdbc688815c2e6cee56eb9ed0796cab6fabfaf14758667a3336e86f5d404b6c844db6745b3a5e5023100b2801b1ee9272ebd3f966b854cb2a89801a3cf7727dfa0dbfaa09a0b4301cd5b96114de0b28b0bc37307b747d670a4d00302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50067306502300669a9bb3ccc6e332623ef1094bb2e763304d965bfc6157df5d3c816468fedb477372c867dbc58861c9df0df829b819a023100d5fd3a81e5b69688eb25633cb8f5b5d2542879fa4580062c4831fafa28bacd0a0f7aa638c56da4eac3f0af3fb43168310302047c435bb500683066023100d957473d2e4f80c3b83c8e47912ef2d0c459aceb55842703c319ee64e03cd67113f8da475ec6a231e3acfc8d1f98f976023100a3a8c7122b9bfcc29c849ee7a2fb5a024ecf7dc858260d027433acb1ea9f41df76f395089f11e1d1eac83f165909c8f40302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500683066023100d629b7f2a335c554f934c173272a0181b4fcfa60c46f9b1d2e6b51b1cc051b2a5f2e19efe6e61097d97586602de29a4202310090d3d74a9bc7908dd42d2dc00a0465632ef85c3a8e82031b9851d4ffa91390f2180262031fb2fd963519f97279493aad0302047c435bb500673065023100a97bdf30b9d00b088ea8bed120138d8f25024adfd2015bfffa7e1b9631ad9ef56266036bc536cde057f9a15c049e9ec802302b3cc074ec14880698a6e752d7a509c6f5dd15bc073a298f07fa1cbd81787024b75d238043b492edf907f0f6b5d2ba280302047c435bb500663064023005c2f2be9907d3c594b8eaf9fb686a13accece3c641c9f45c5d295d4b1f39fda1c9d0b9446c264fd57e9a9e7dca0015102304a6f367d7d94bdc2890e0c4a030c76d1ca0079d6edaeb409aa5061c1aa1bf5f786413b9732a1e6e4baa7b4fd6ed8e1910302047c435bb50067306502301d8e3af5476e57b3a7bbc38d3e6fac272d02aa086e33acfa81b15f5346f56aba40a3812a93266e8b9fac2f53b422d29c023100f48be4becb124551c628bf38df3c5210fe476c8bb31da3167d003fc9f4200eb6490a4d092bf72e4d57cf1a7cfc7409ea0302047c435bb50067306502304345c716765e3fec776e1045969f96dceb49a8f4ee24a4995299f4d8f9f6b90fa6720ce9a3a76eb9dbc4f8e63db50548023100840dc334eb6926d01995042f6784f9a75601a5db7ff1289e5c85cbf8d7fc71bd18ec2da456abe021e99bd280f6b6f2ec0302047c435bb500683066023100d8891c86b957c9ad6384e6ac140f09ad492544be11f977191c05ca6a3f750f64d3f497a670144668365925e89d88e7ad023100f5ab0e7cbc1f118323a210a21fd0d79a7f9dab9f87bcd502b35059fa5e93f7e065a35ffe394a7f840bfd4d32fc4bfd800302047c435bb500683066023100b2fceaa08da7496a5f46a7701154b9d30ba5b882bb23cea184c3531ed711768795b144630dbedc1f9a9ee27f50d03faa0231008739de1538861a36922f01f1083364b5b5bc2e525efceaf9a234b4954342af388b9541a3af92e7090f650f5a64a74dd80302047c435bb50067306502305e19939cad328e921187a57d30dfbff38009cb277da9083583a69463c41d217da403bc786c50352a0f1e1c5797797835023100cccc8fa19eaf48a54dd8c5af35980b9d01f002e427f62d9293708c2ebe08921277af47de3f9e37dfb8c66905be613ce30302047c435bb500673065023100aa1e55dc4f48e3ed0b4880151e9a0b06e21cbc04749591f62eb2eb50c7b444de263d4b5e78a42c8e5dd79777bade1f3002305a3da737341503cb238e519d372eca0db3fda9a3750b740311702c3b904bed834975f309ad8aaffb3faf8ad5528e1d4d0302047c435bb500663064023008f5b6ec59e5f1553ed5deb6eef290995cbe1548c51003dbd7799b18e7f49f533d55f576bb8cccfd6abe8915f3e39a2102303f8994fd91cb8ddde26a199a1f0604d27901d85bab1c183f79f47b8818dee80e079287c51a96d3525e6f69cf602c5a310302047c435bb500673065023100b1d34f5b1a80f8046330be6855fcdaa3a52d58c52b31805691a8a35573fd7efdcca5a9be8071b1c2539e718c8374182e023048d7362cbf685fa4e743e5b3ea86c934034bd9daeaaed4d6d734e5bddbdd6314d961c36de1bb8265c3394a5e275cebbb0302047c435bb500683066023100c58da2a67801cea75e330a4ffb7b291d66a813a4afc796d6cd4c2d9c34a85c792f85b617c9067af7bd29e6f83522b0e9023100f96b393d195afc052521172dc9c6421dbb73b76910cdbf905b57ef42fbaeb958c8b3f9d9ccca8615fc4611c002d1a9c90302047c435bb50066306402302e2e54d3c7268f8bd0e5f048b30074f9401e10c2d26d6630cb440cddaec30af8c4e1c9cb8963c838910349e485e0240a023015108a73e0e6286c61f546fdea4dfabd1ba5c90cb6f2740907c6f161a05dcb65c3a691e7b30377714f1770b5f0521f660302047c435bb500673065023100fb00cc851adf1025b08a9771d202ae7c93ba29659946be2653c77bb49daed5246b0213d08a8e6446037fdfdc0f4e0d9402304b6b5112a0114d469623c46cb5c10e4af55b88df479675936c6a2c496f26d065615fa8da1d48f8efffd057f196f807fd0302047c435bb50066306402301555b21cfe2a14b9a503075aa169add6b39448302ba5969d46e9c5fcf25e78a95d210e34aaab4bdf649c1536bb6a9b6902303d47d989a60d0984e6b11fe2d6f1fbd7ef4ae6ae68c09157b5626a66b9aebf41433035205f5ab6cd1671a8bf71adbb960302047c435bb500673065023100b6f8d6b0f5bb1ac59d711d36a8233dff95149f6a459129ed04335b7d6d180d20c62e9aa492fd3052b7d9b9b6faeacae502301ed91d874ceff51a32414402f0a9d5ae7d0e0625489bdfeb2d498ebb3547c72840be488018609a4d7fc5ca4279dc17900302047c435bb500673065023100c396f94478c4674671b60401480bf9e06b30a488b4bb44235aa36a250a1cb4aad99e970115271947076fba8bc82775ff0230143f7b43a980112247201bb4f7613cc51950c2c0c78afbedf9e595501c9857e1cdcb87b4293a00860b7dc14e5c1cb5a50302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023100af8bc34677d32bad245089bf208e8c853823916b07ec75138890d6e1915a3b681d2a734436f6e9e7e39b7926cc8b538902303be4e03abbc12744ead8c80f415b87f331771b2c794c40bccb2ef3e4aadd76d3ab295b2dc005833005e4a5dd6fac8d040302047c435bb500663064023024ce5943f21f97828984ecf71e767ff148a3213e1903ccf4b3652d58ced837f9bf3a953a796379ff98984967b8b413290230088a77d5118073c2f0e5cfb76a7d40312ca9a92a4055f63194809e76366ecff62d0cf759b54911b8352d102bd7c94cea0302047c435bb500683066023100dcfc908df48d2993d2f9943e688a8c64188793d51874e388bfb34f45f9fbac77d0bbbec08dcf0c990a3594eab41e8397023100c3e5834fbe93218cddfd06a3977b5e57a7143ac31d85d6624c93d878f19d82f13c4ae1a824356da60a5ce68539d972070302047c435bb500673065023100d3359e8e8e68ce502bfdacf68c21f92543ef618833146cc6a7a1141bc63f868ea6605ee486fc96b2540f65cde70538780230352971c408cbf9b97df61cc29bf5ec90b2d0b45767093580eae1e6fcb8b57e542fc529b477304541ba82e376ea324ec50302047c435bb500673065023014185202957d39e8ca80e0fa834305cfe79abedec834a3a72d31fb1ac5a56ffce29700ce0ec7a4be409784016da543b00231008f24789e5f7958fbe02ecc85b0beacf8ccd84414bc5a19a06210a92155c734f815e473a5ca18eca59ea19868ef6b17050302047c435bb50067306502307d93210c45691ec94802e2514d939b008355655e26968e0807a9ca176c2b032c27cf8bcff04ba45ef2eb0f825aa2b0b4023100d558ab1c83b42927c950b46b8b3fd3f65646f1c5994c8fe8d109ab98e2e8110cb5ab0478d1f83fd05099f12525c2e56f0302047c435bb500673065023100efd6e3f13a7df845049c5ad509c18ada14b40989f053caad578e5a4b7041de030bc1e880bba7f30c73184865066cf6c702302b9fe73d705cbfe23b7d40cf15eb307b4149e8e666b5bf36cfe6d41f3e2d097633c1243d1b394f573107d1b3f824f4550302047c435bb500683066023100a91b5357bb66d0ee55e9ffb8d0b738e1df3d29f2a96d3d4d8041f837d5614c61dbf0baf31b68b15a7c994c469f77a053023100d12f8cfe2e0b669fd434b39eb5366e3e42659383e802c9af4007792a2b9c2568de848927ce14b2c7cb8f2fa03a0c6ae90302047c435bb5006630640230265b705ab0526809142332b176402854f7439e8c1dd2377affc9473dab26cf2fdfdd883c62bea689b555a323e8ca06bf023040a2ee5764796ee6435a73df0e8817611d2dc5b789424ea68b2ed29551b3899c4d6ee3e74dfc9dbf922d7891265ca5230302047c435bb500683066023100e4bb12f890b4707868218e65c713d92227a3731e02f41ab356fec0e9f5876fd4951293a343118ebc15ff4fce6003a5ae023100b98dcfd3b93729df2eadc46e6939c05276d8ceaf448da03a44daa1b4ee9d76befeef48ef3f6cdf50ac1920b72c22d5460302047c435bb500683066023100bfec9ac0139e646bd63ade145fc53e229900586531c3609aba04535c68ef50c0e582b242983f468d58cd58b12c65f83f023100e543ebf8e4f08203eebae95b2b351c4f400f512e5ca332122c7407b6641a0bc5eb9a2aa8f8cb27709b1796cac67529e50302047c435bb500673065023100f87a68a104b07f409db7242ad6798349bb28ff27829d0d2295bf58aad2d75b20957d784032dad43b02bc40db8d00c46e023044f1057b81ea18469ae727492d9d820a1f93857f74dc7954a97db21bdd3ecf36284ec62c8012be62dc573cccc6113ca00302047c435bb500673065023100cd2e8073f08fc4cd5b8b44461bcdee4e5bc6112e0c4fd4521450922da76b1cd40ad3f6cd02a31d72bbffa04f8e9edcf40230785458e0ba807ee6300b3e1abe41df8ff3acce00d9102cf04633b79de5bc9076a27ce9313dd88561c416fda6edbf2d9e0302047c435bb500673065023100f77291242962c6c596e50f98d0325912ca99860822d7666db0692b0ba5582e5080f7ee0011070ab040ac0fc3e2f5d48e02307cf47f22fb57cdcc1b5b0647dc14be49046e6c4e71c1ae1079781b09e97cf8348af894333521b40f9de7a66aee8b9b100302047c435bb500673065023100faa284a2eea7c4c3cb493385ecd930c9a2bed21dbb208e2dce4478155e7ade8038101c7c3f4f48ea7059797ea8cd0177023075aafaf5c4cee13f0abad3d8316fd60fe4e15e6fec3bf69eff654953607938a2a90ddf9f84136eb3830bc3c2c7ea33d80302047c435bb500673065023100f9c0b46eb2cdec65155863b7b99f6481946c4de3a83da37c4b87beb2e82df9f96919f8bf6356045d64446845472f77450230119caac56860dc5289e4575f69a314a633a503a00d9b1f80d5dfe73385702c0c23832f706802a17e2204f7da4bd3c45b0302047c435bb500683066023100c04b95b53140346282c736753654a0c706f74e263cbfd8848699a9c3162034bccca29ee2bc5ccfe4ccc027c76456bc7d023100f0fad4b4dac1376c1aaacdf86424ca760416a312e2b46974f503b8479d32ee1489e93f04bc7b7298a79a231acf5832f40302047c435bb500673065023100a21df50ceeab09462dd08980e27cf518a00fac50683eb6769b2b06dc68607b12715c202b0b9892da08a4e83b2868e6ee023056b5e50eb57efb25912d7210a593c406ebf861484604fba7e46ded891fbb7e5831df372d2d2db593b458269f139bef710302047c435bb500673065023045430184035238afd705651c0046f09b854671e977af5e111227638890a6a706fe573af157e6e87a2c017158ebaf20420231009011ad1ca9d1d66df41805f1e04a6a23c1f71c4ad42bc154aa0050fffa63c5ceafe0c1ce51057b74985355aa204fc0520302047c435bb500673065023074c5df691810bb94d8b32e420e41594cbbf0f99bcb614f072f5d0a68bfbc86b8fcd535c9fde937f4c21544b35387202e023100c1f622a74c9c100cc5dfbaaaeb1ea3d8a5d91e6ffc6911b0e7fdfa8d4c6cf7d13a4bfd60486c6ef5a1e41f1ea1b3f34a0302047c435bb500683066023100ed7c29a6e11625f43f761c2859dc6eb9b1ab52a820842dab4206bcfc775fe7cf1329a156236c2aa66cf1d22be8af57e2023100d03e3898880aa9c2c2d8ca0f2ebb3fa8f3559d6e61a2b08384b43d9782f1d07df557ae411de468c88758f8a5cd1f271b0302047c435bb500673065023070b465f6dc2dad53e6b42c6f0e28d17728a5272a15b2214e052965508f6b9b2892106ec245950ae3944382558d0b50e7023100f0dc1f4b96e848d209781e6a3ab18810a14fe2968040800d06f92ddecfcdd0b9bf2c58a78b58d0c6c9fceaa3896896060302047c435bb5006730650231009841c3b9fa8488df51b3516f7cb47962af94c57cc6f5663b16e98eef31b2ba712266cdd2ae2d90928e18ab78c5cf7157023063f15856f71cb366ef22a1bb9dcb9149d669b5eda7e330cf1574a4bd1dee1a1c5078c9253ab0f28d0e8e79cc6349de590302047c435bb5006730650230698028bdf427a5b3836649fa2929b89bd8b0bbcd113198099b4248787d13d1c8303d77efdec2ac861e1980d0fe741afc0231009bfcf13eaefc7f2fd95486dcae5feb4ff700f74c8a93d72e931d826f8a0057ca3b63ee6b1f338862e4b77b5196b7189a0302047c435bb50067306502304fb23c789027174f9c92d5fce3dc9e68b6df730d25525991baa8b08d59c2eaea6ac9309bf512b6e011015515fe5690b5023100e84970b5a76b7e8e3bed2afd370816634b7973ec2b1581b7a2728694e986cce9c97c697e60bc8caf9cee13acfbb6cd730302047c435bb5006730650231009452fb9eb49c7dfb3615501b72a9140866f22bfd318ad835dbceec122abf2c294701da433643499cbf97e5e4304c407202303d94c20f94b41b562a62ec1a4a7beb6021f538158c124304c0b80b466fbb0bcfadc8787561c0a0f6a131ee935da285320302047c435bb500683066023100e19bc3692160216ed0e43eee6cd05f35eac8499831e1b9b8a16063cf87f1f375887821865286a37ccd5fe89dc9bc8bee023100b3f4e16dc3f3c239eed2d73d6ac6cf02d81740524119041535f725f3da3b64694cef41b4a18aaaffdb95c051eef2d32e0302047c435bb500683066023100c9f4f0208031f789774d6ac0b5211b1404c9be63fca06e71e11ed24fbb4be719add812207b3cefc6c2885faf4c7a68c7023100cf304d63207bbd712b2a0d4aa75aa1a4aee9e7ba2f1f2bea5eb05953db6bc17456a6fd57759ecd228acc6eff3f7e74a00302047c435bb500673065023041a323af3b5a9bd57b5d3d8760a396837b50cf353faba12a4b654644b05fbd7a511e6ed57aa8e0408af4c51dadd2362a023100c1d0b01a1101fbeca5203fe30ddf3eada586857b68318da7aa9842e7534b1836b0fd3e7ae16d657d4a5e22adbf7b18a30302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500683066023100fe12b38c2b1132fd9833e2c9b3d6be116dfb13e720f633b1d39076395b19de1db54b04315feeb88b1b39c02f31c4abfc023100928f5574c127fd0cbf12e4656ec4302fde9f6b0bf5cfb9d28fb2f8176e870069f7c48522794dcb3f3553376bcab08dcf0302047c435bb500673065023100e59e930f26d09597dba102e6cd497f05614396bc14d0a337c619f9783bb4c4b32795246ac7f4235dbf3ef8cece115282023005c3760d5ffc7051d0946c6dceb9017b4baac50134caa0d3748850942a5ebf2f093f5a2f0597c35c6ca247463b31b0df0302047c435bb50066306402301d036229c3b05310c533c90b883c7d44792def9332791d74ce0a5bc80c9dab3f2d2dbdea56c2cf35e80ebfe546b00297023031cdbeae2596f14cc94a830f49290224353d1d69541c1c5059a1f36e6efdf0bf3871af25e8e6a3cee43cd66155c056b10302047c435bb500673065023100c20e71d753ae0d03c9b03f0bea939058d12045d41d6934cb9190a22df8d58859c2d48a0b9af5527b1ee9372f37ce497d02302691bafc203c103f674c0289e5be92a4715fc27a0b1fdcede2899b3ab93a798e528beae8c67ba99a87c3333af506d55a0302047c435bb50067306502310082f195974a04e73a9c3ccdcc542c2ac7f27472c289d98b959e303343fd959e0ab6acd3807d86c12b415ba7c1a544ab8d02307a11ec5e3b032f74b36aadccb5069b064d9eef11192fdce434958095117b3c01abcfb2823b95c3f68f60a423aae207d60302047c435bb50066306402305e11f399d7083bedd31e66dabfd166a91a00fa7f2728b8d91e24d9b0011937d41988988ad4177728baeb7ec1c0a698a902303517fe82b1f05b9d4ff7e5529087d287b145ab706fc14b0f662a9e6c29efe799d4edb92c1a51281c7acc76378f45ade50302047c435bb500683066023100e94f13f1ad82cc7563c86cc7da3571049a2f9aadc9cf726a95cc876d31cfd7cfdcd713f724e63b8f28455bdef8e8d9fc023100d419eea061d3962f96ae992306318b2fd173411f328b9232f92f8472123090f00839f1f4406dd3e3d9e338e007dad2380302047c435bb500683066023100c9a9ff8e2215cb0a68c243ab2e5add9646027a60cf5327069ecd07ac11c08be9e35af62dc85e17ecbdfaa66777b61483023100a6bb471059f626ec1621b1ec7237fbd42908951dc406c468c80d476dbbdc1efe16569bcaf6758eeb1361875d378172c10302047c435bb50067306502306f23c10d9e8a9f334a1ba2555cfeb2159e66193616cc6a1aed91bf7e0bdd22964544e13a1027be1999406d7071311940023100f6251f03c2b0a2c3bd763c25871d6526b7a7837e89059ef6b764c7aeaece2bfef550aa766822a3b278b38746b9e035480302047c435bb50066306402300660c602cf7fcaca1c0dd84c3d14e4c70d2e9a2fe8fdf1063fcbb2bfd127e4b09a6c51b944219be213d280d5edfb85ce02300dd8a040cdc6822b50c1c7734ad5dfeda9fa3812d8e3b22f0d02bc20abf32c6741cc5a088bf570d3c0a62e39dc508ec50302047c435bb500673065023100f66b72a5f6beb1718766cd4b3d782a41bb32d424d3e2164d7ddc1c1f7711a068dca08e14b7db9a57362e1d53895654c802306991f494de6e603fc507f577ca7a6c858dcb6e7b0196b3880d236b5baed36f2385e9e6aa0b6f68833f9fb5678f3992760302047c435bb500683066023100ad5313c73e30f27231e268e8835ce14c76697ab797fce052e8bcccfb5f752fbba1f9ad87a1c96d19466fbcf321974b800231008720b0a864cb3b4344e4675c31ebe3ada2d03d0630ba70a008d09d937d69309df5736dfcf752a37a10a7797f913227f60302047c435bb500673065023004b91142808298644e782406a95aaeecc5117b15c97834a89a8b85e9ac502a2a6ffb22e77b0bc9a4b7aa0fddaa7d7c8002310090a57a4f8f20e2eaf159b8e5a1c46dd21f744c92a720032f8af6150cd5fa163683fc35acea1816cc92bb0f2da8a35b440302047c435bb50067306502303e28c233ef841b3bfd1dfa3f914206b5a3121c09c99f72506052e9d33da64934082047c437d78222ff3a5d4dca663f24023100b4e00e56eb34ddb0300f26b118995b492c28a4b2ab91cd80cacdd117ba6e4844ab0fef40cb09ea9d282f2c8ef9a01c1d0302047c435bb50067306502304696ca4a27a02404348005f76b82540c21983d8060e19ff168f6ace55636a8de06a178e0ef1daf031225c70c3abdd058023100e7c96ef09687188b81a86fd043b3c61f5b808b454b06178eb3d297fa29db49a34ef33f17c660a0af649df251191377a00302047c435bb500663064023010366b3ed333de874a39f36dc2307801f0441ffd51cfda6beab5ab64226f1f939ab6a3967b12ddfd0a1a7cd9f5011ab30230342bc4ffdef1fc3d37470d41cb746e43e3d79a19e796c0620824e759a447fe72385d97021deaeed2d07767a4fec81aa40302047c435bb50067306502304b184096819476baa07dac7c246e06d508e0495704e503413838146a6aa7e26b32bf7ece3e19fff033cfbad602444f67023100daa575b3a4376b48e2e575d276ca479c46bca7f2de7ff2cf4d0a7f705218ead966353f829ed75bd38b859aaba5923dbe0302047c435bb500673065023100ec796aa00677537d63eb5b896d027e9da87967e2740a45a70e4811441e76886860b31d0b2f3d39de1018622bc0db97b202302ca0f4349fc2a87b98491910e6d7fa85d5df1bdae4e1c716ec77cf9bb6631ff13320563029d9c4b8bcb23c9543c249bd0302047c435bb500673065023012e345843330b99e4c7272cb416bbb27334157712f4217bc5c740ab9103cd88b35a597171102dc22869bc4346ce79cb4023100cb6e34bb7241ae67d8551edbdcb97b5701c3d171750069f6fb95b23d5d66220e2ded7f80e3d77aac9eba18451ddd57c50302047c435bb500663064023025eb3fcabbc2936e3b693de7bdcd07284fd6ed9a5a663729a0af75faf4c1f5b962bb3b7a82ee553b6b5fdc34f48cd8a402306af80b575f9ec39473c96fd409dcf9bdbec8639c20b05792901ced389125aec1bb5f1f293e257f0ff15d85d0fc75bc8d0302047c435bb500683066023100f8a605fc37fb8b17b75a791129475d3244d165205d558cb68e074640dcb9ecf82bc57feeb5653bdcb984903b726cb4e2023100d7e14812a027f80d3b7218b5ac20cd29e0d76e038e1247d49e8b26dd63f6e3b2b6b70dccdc0a37a765dcdb08bd6e299b0302047c435bb500663064023007cf645d61afcbbecb191a06334166e3d7fa7574e181c6eca76f759735814ccb3baee92312a34f802b7725d85827313e023022469f1dc64453edee9084dc5fd6f3fe86a48ed1f0bb86a5ed8c89040ee629c0e0d5e420012bd2908aac11613ffc6c9e0302047c435bb500663064023054a3b7d86798b8bb504b20ff46743bc9c590442f18da8a477ec8aec5260432d98a9ce764109419182e4732ec5aec4d240230776dc8a10841ad12f917c411875dfa83c8411a3b959eb7caa2c50e0935ed535091309629cdf498ed20aded0754cba9310302047c435bb500683066023100c8ea1cd6e867698a2d12ee22695d531a016ea5744413571a48e5abdd25a57b0bedebdd7e50d636b5e4aba92c04dfc5af023100d1bb60ab9370ac8e00caeeee44f8b5f6522fd5456fc76f9e25d62bf2a5596ba34051e9b0f82cbef613845d9ef0184e6a0302047c435bb500683066023100b97c1451415026c43f16743f59e90237e083983681dc467fb298068a39e32940857aa5e5c5141cb3564e4677c96dee7e02310082ad9b88fc88a31c13db09cb29987736923a3cefb5b65e69e852ce07619c20eb9d9c3b8e009b880689e833fd7e7f23090302047c435bb500683066023100dc3a0bd70698ebf9313d85ed54103258cc2d47bceb5c89d3451b5d2c25260e143cc6d60ed23827dc444727330dec3931023100e10077da09b352190166d173549a41482574b089eb12ee81f18fe4cc18e0633720f2433f67b99f8a24900601653b11bd0302047c435bb50068306602310081ba830c72bc48acd987fba2806e2d57f046a8f89f98855c7a759d2c7f18ead057bebf920ddfe1a9806570808bf41412023100ea394746dd3f21daa3601e524e8074eb91be1454a9a56f5639ac13bac1d76fb1b8088d6342bf40a5cf25ab77730a4a830302047c435bb500673065023100d52edc6cb6e549bb26c0f53fafcf962774d7dc599e96a78ad39ec20a4bf8be6b50e427ef085d6ab47e3e604422b4e346023011778387cf778af48a959c18ce6bab44dcca2bfb552b40620a0b6ee42d2a157f704f2dc5026315be23cd9818a13021a50302047c435bb500673065023100c5a63ace19eeb43a470da9890d980397324fa561ca165d93a89ca05e8ce728207cd9172be0c1110214dd8316024f88a5023016b67f6719af91c648593b0bc38df44fad68360e4cda6b897fb3132356e0008be82b1bb65e2786f81178da46914de8390302047c435bb5006630640230507188a4a20e41a4b969c26107e7227e5c6230135195ce8b91de61ec791b2882faf217ef1657e7e2f847993c794fc7e102304c58f415b279fff07707d328f60244e6d31912951cdee9b7cf67e9879fade9ef6fa80f8e05f372724e22daa6f2c99e910302047c435bb50066306402300f4f461f08e18132e6c923e03fec4ef893acbd083b146264344d2055a0ff1f0c880b8918712231ef102934905f513d6702304161fa689d8435268a9ba81ce63b7c87df759b3d903f2e4881524a55fd64c45459815a4457ee411de8c254b24fafb0cb0302047c435bb50067306502306de65af431592f1a4b9d903e867764dc00449aa5b6419d37577186b01f4f147b11b2641e4cdd8311c07223b174a40aec0231009f965bf20e7d481d1afc54fef6421d3811935ffd81fd3859c80da6e2cee62160001d12cb92f28efd089a50ed1fcde3c60302047c435bb50067306502305e6a8083cb4a531c7c12254396f1ea7cb67f1f4a9c92083a092764ad4244a9f3ef540923ab5c668bbf16d4ec133ab2d7023100b556496b785896f1996b256a87cfd93471ca1e2e06f9b405c5c5864d3124ae495111141b62efb504da3cc2d4f97e2ae50302047c435bb500673065023024e6bf058c89f56db8e4b4d672bd1a3da69faca12b4e5a225ee6d1a9de60ecdc9c4295f0d862be466cd2751dc38736ce02310094320c66145997ae9fa0f315a376771a3779678f9cc5a94984ef45e438b1395699a8264225f7211ee187b9f5facea6a30302047c435bb5006730650231009e6543c2668cbb3f3e2dc9227ce5dda7ec17a571c9b614fed830945ee6e69ca3598aa3dab564b109d6b9b2359eb1ddda023013815ab14793282ac65bb96bb8c0fffea1db90882419fa99cdecd4b1ce7e2d0554fcbe24936967dcf385fa27d5e5ca3f0302047c435bb5006730650230109e9bae9bdf1418f70dabeba916212de1d1466be070f5517f55ba78ebdbb49ebf6665c5cd9acb6af0cf7e0a8539dc03023100bce4121d7aa4c25d829e7e362a7655c1ba7ebde971ad07ef5d9728834bd1b419207df9523ef95a440efb05c66ff6767e0302047c435bb500683066023100eaa08dc097be0ae1a6c0a8ff12cb42ce595b66fd891805eb5e92c890a27e0b97298e70eaf64a7dd52af95a8b67c1639e023100e82259788a73920ec59659477e0658c6d45b5a5b093d8312cd3e6687f2e8e29aaa64730de5b9f17c0c57f797b31ce0f80302047c435bb500663064023058815d214e15724aff7cd8ba84fd8d4f6f3fd63d01f777e8e50ee3a33ee8dc5565c8c9136574888305a5b9f297287a270230063dc7fcd323d3b0fee836ee1ac006f0c14f8770cffaaae3b64868f5c62b20d2455c748bc81fd7754acccbfbdc540c420302047c435bb500683066023100f4f3c29fa323e7603d0e884605f49b7833ddd261f2a97a0dad159e0f0cd7cd1ddbcb8b0672c0fae85cd6223df06e485d023100db3305039db9fa9962282252114d5a4a283f35ec97a84c2a48d201d7ddc817d34133615c4f105450d5421edde68771a90302047c435bb500673065023100a452af73fff9199839898a861c18933712bc8275ce153a5768061be634e3c3fa96204b5ac4c4eb06e7699acfef70b41c02305814eafe9b2867a4e48a8ec134a07c276730c7ae6ffd9fad0cae884da6b4f1848da13e36f59e17eb8daffc9369ce8e850302047c435bb50067306502301f45b5b84a387ae3c24db1dc3c8a289e82e230793a951789c7b3ab3d87186685067562d420c14fd976a9b55bcbd0ac03023100b031f91fc1a51baabdad6071c2fb7ed2f5812384b1aa7d49b035f1f2ff41cb7d22692ef5a360550fa99bf1e8fa4306710302047c435bb50066306402306117bcfc7eef89e510302ef67d49362e876a20f69a5e05437e726e734f55eb4db535e8c87e76e838b4909dca49943fca023003517902304ce5fdd0ab924398b8b981470ccb366781cfdd39a5ea462ebbdc4137d80dde0d3e2fda65e3b20048397be20302047c435bb500673065023100efa8da3b97522a4d81cbc3eec7ddf6a92b6129a5c3daeb547f1ba0a956f5a3a5362dfb03a9f1162d9e45196ed66fa0bf02305e508f5fe9c5dc8d342d7842686b34957cfc85cae524dbe98f77442e884b602718240a975f93a62b3353e8855d03bfdc0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500683066023100e8c26da15c41194e3a4d710e7f5f21ac1126b0a05bd38c085c78cd75eb9f14fdfef12db3b082f8d7ab805d9b4571776b0231008fbd1c19b7ea493df737b16d3d72261f37f1681da0942429f7bab2d0620736224e2bfe280e626f1b4cb9aa2fc5c61a710302047c435bb500683066023100802a38df3587cfa9835041ef64ffc452e561877b236d6106da57ed321a217581e0315f55364154353344e48c3973c306023100a190a495c8037ca5a830200609e13d7078cd54c7aacc0cb8a5bb7b7c672e0b9dcb8b1bea84a54a8dc1750cf6d38be0240302047c435bb50067306502302d37856f72db902bde42734ef20af80ea579346252afed36258765bc64a20295cc0fb4579e2c0c2c376f17ed3c4f615a023100b6e4502e415488e1cf2fcf39a49090986109e605bb1aa81b00fac18e27f5b32a30c5eb006ad0b46f2e69ac2297021a030302047c435bb500673065023100bf87f4c192f6d4f80aca192e0a43c74b7f86447991f3c5135b7c0e3d20a34aded10889be2f139c1e5186a6fc26d6659d0230014327b70c5a1c00c247d839260610b314f95a44b2953395732cb23a4805656d47ce23c9485317bc91e5e82034cee9c70302047c435bb500673065023100c3511b86328b4972fe402d4d457902791e5cd9b9973f099fa27d48d79836b985b21d2f6cf77ac618b0a43131e1690e9302302ad84a0cf10882e246909f8e78a2d5c89391f5c3c1a350da00207c3324e6205d403732c153312d33acdfe2e218d008cc0302047c435bb5006830660231009050b2db632da02ddf689a0cbf04c82b67fdcc57ca214388ea210825d44d8b7296239529f4086524a7ec451d204a6450023100d2eb5669a4424213218b30e5b9cfcba9bac033735e624cab05b685e90c5549f7f7a9b0dcc65fbc4e29774ed5f291504e0302047c435bb500683066023100b7a9a054547b6e9266185446ffb248ed854d59c73c01b98ba5eaac46fe6bd0e9d52ca576ecc79762d8e137d66da9a194023100b1bf194fa49038b8e3c77c4cfc9d8b723e7a7062e0eeda60332f4494bfcd13a87d493b56dc4c87be200f30ab9501bb830302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008f1a445b2909cba54836b935a93857dfb708032af22dc10db3a9d5f971d653ec7ffe52ca54c74920dc95197cb9dbd2fb023100b89e9e7f58195341f2b6c13a487c84b79ce737708466faf664fe695a37e8953e0ff9479c954d0f916d16aa64f2dabd6b0302047c435bb50066306402305feeedbfd9611aa2b8a06629378b4e3927b31fbc141daba30687bbbd1da0496f99522a55cc78ba07a45fbcf5fa2d8211023058e5b59b46256822edfef800dea0c6fe1fbe0af8488bdc3e93ed7160291f1e764dce8c6679b7ddd7844eae0a0a56c97b0302047c435bb500683066023100c581778333452ae2ff26315eb998236cea4ef24c116a942869b02dcc551711fa7f33e2c25ce89a7574130984853ca934023100bcbd1cfbbdf97a9a98e80e73d7c47f7e7dc0816820545ec84dda673dd1679c07b2e1b530df9052f4d7573ad07083e5480302047c435bb50066306402302a6fb0b639148de2ee90a4d34fff565a40b2df081e5794e9f0fa5e5a9d762793a0b46e351b9d70e07413c84602264e8b0230321cbe2b1bc5128640b3187f350c0a1068e35440e5b0bc82653d8cbb6bf5ff6d6fdc8cfdf7324432bc34de609d1bc7100302047c435bb500683066023100c77d7d8963a87c86f95b611327de1f271ea2feee70679cc4168b4c1cd569b68f637f5d8fddaddd8553febb179f53e406023100a48b5d8e625f32750a9a5cdd0a8e9c502aca4868f472d1c63c4fe6942d8f6355533511feb46339d4d3ffad7038b81b150302047c435bb50067306502307f35124c9e0079c1a3a94c72d00543d2e734adf3f90ca2e43dba555dbda514e8e851c9bb303fb022ceb80678400debb7023100d8f7a2d7524e24e83aafda060485a795ec9e3f25cad80409dd543c36dccca91beb38e824c134762b6d27ee9806996d850302047c435bb5006630640230264c07109b327b5428c41aea42f9dfc7f41278811754bef422cf1a9df7ac9e76759230313e73c2e7f1c67cff6631f73f02305b634cbb3a69f711ac307fde5d88682706d1befd4be4049c0a49d1c5eb785d47e747e8c7948faa8e22e2e5d5253fe08e0302047c435bb50066306402307fb8fa5d35eeb095b0287f79dafdbc7c4bf90cec5a1a2d315f5f474b0865e926884c2821dfff58ef8d57b55a94291d8002304c288cdb1efa6cd4623dc728436934fc0d07438dd38418ab23dfd5015fc4b39bd4402f9bfed3cc1f6db2126a21cf76e50302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500663064023033a942ffdb5b3c1c441b5ce252a23a17660f197d7f5fd7d5b0b7e004dbe55a70242e44eb488dfe0746c9853892316542023032e365eff395cc649cf67fdc0b751a6f1ea4c25faeccbaaf85b2a797d91fbcb89acdcb6403c3a3dc9df3b42822075abc0302047c435bb500683066023100ba4ab5891f1d68ca7cf28e55ef15f68ad09d7cd031b511d9d20bc747cc4720dd468bfd309814d6829ce4bab0d2296c86023100ea5e0e587bdb509fd94fff41c556b6814804f223d490bf70a8671d64a01811cc72e42980fb2f1b2865b116156d8dc8be0302047c435bb50066306402305bf6e764401a744036bb03d511684f0d6b8ed293aa9727f677fb285600858c357cc789d1970aecfa5bfd49a5e393c2a302305a2aa88aa11554f660453d7aa5e180cca2385d263a45426acd3ea94bcf35e65719a472b093f319943ff6f2cd0913160b0302047c435bb500683066023100aebba07c3efefaf8818104065622a23a57a416183e2f0b241d8295d683aceeb4a9f2b6d02769f16c4d5e3e8cf9815615023100b793589b7ef42fda27786510ca1b76be6c8ca5be09d8286313edb6cd0014b09ff2cd214d896b796a0017d22eb699f4c20302047c435bb500683066023100af35f6ec1557a5710687304c8d3a27a39d81f8d373d63e2f81794b13657b27cfd005185e75939781a4b7b244320f4e36023100f6ecb9686b47963bd8df186a1c292516559a1d1ffe038e37896dced0423d002aef6d8c5c61fbea46c8a13b361edfc6b90302047c435bb500683066023100804d726c957fd7a879bdd4421666f17a738f0d1269e262a72cd4e7b9c8332c68c23fc5c1127f9bcf52b1d10a8cd29658023100c6483fc348995c6b510fefabe824b3be87f0598fecfa7dd47131e41830fbde97dfa96ae2fc92427d84a9d70673ab8f8a0302047c435bb500673065023100f097648424e5e7776ec3d65bbec87e7ba8b25abb7ec5b614d8efb55820664e0f1319d7682e1aab678bb6e91edc69d3a702301081779fac4337a1dd7608b1b082a421a08ff4eb4ba8e97f7d286022ba7fae18fcf0b78e43fb3015605bec1c2b38e0bb0302047c435bb50066306402306b95f6e5230f7bfe6c5472837180fa8476a7e80df51e9dffa22609cef2f73c7b412c3714dde7f42e17d11873db49fda0023054900cc0bb140d0600f6e048dfacc9ce987ed6207982e272ea2c23309928c078d65b680f035a75b0286fecf78af7fa030302047c435bb500673065023100bedee956aee3f934dd69789df65110af744284907631dd6a0272d1d6ab20cb6230acef0721d31d4bee04cac5fb46a839023030f8016998873323168c2423a31f90df644e9cf91e4135de1e35455e8c4b7c3cdb8364ea6687a8aeaa79d3760489817d0302047c435bb50067306502300fae77d00d4de6c43cadd4ddd4a2be5df9d6922dccba2a7189f1dff9e88c6a800429e52aff8e4fa49a17b9209e5874ee02310083f003b1faaf740db79efdd8f5da77ade2e8f3e08824e972b75ebaf8b110cd2dd074edd996d0552811f1eeac0927c1070302047c435bb500673065023100f42ea8d46083bdfab031a2d31ee9c5a7ad6c702c29d748c5b8e9c393102dec19cf8e17d0ca26b5a925dc5d51a57a82fc02303559c6080d4c29a6e79aab31f31eb3f14840fcb8b00117101c30f810b7516a8eaa5c07abe36f261fb5e8dbd4ac9565790302047c435bb500673065023100e44f10de7cab9c61ea08b68d80a7b0bfd8e64e2858c1a6a5364f3043814d9fbb3c26cd44095be9342ef7f854274c84b3023062a73b6c04f3d0e0669663dbf413e7ba0a6208002036c53404f98cdf8743fde242af6247e1b75d10aad003f4445418a40302047c435bb500683066023100ceb9a2b8cb9171e099323684b838bde30d52ff8fcc59061cd6ab634606d808e8e503753da29ce042ee1924657bb6bccb023100947511c4bd2ae709c6b1cfc317093bad942c389f0652c24501d18df0fe6af30382fb1e496c1a3f6f64d7d88a0640a3150302047c435bb500683066023100b939dce9467a08654af653379702677d70c79b2301c622a0758382d37d268488ad37039589e40c54868fb2625382747c023100c396f6e8036ce29a535de5cba4d90a0f04d00ef8f828b7fcddc6fa54c4c3b1eef750145d6b57c5584dc78569a143bc470302047c435bb500673065023100c0b1e20650c5b8079fa2d118f04ca1707b2f8c09b6f9bfebd6f31103fe2b50a93375df0dc5601e373aef43fa18500c1602303de52d59f5b9f0240d79f45c1856a3115c65e0ce19954adc76bab95a4b47d9a3e264a2348fda862ac1a5734cb5efab5b0302047c435bb500683066023100c5c5d1dddb1636515d9a58870620792ad042b6d91f2a2d678c8adee4352871e3e9fd0397fd10009a3c4ac1542696e9f6023100e42910bc87060d7416ebe957c78ec131f55e4a01cd1f607e17a62fbbfd0ab459457c558de55e66c6b3ce10fc52e99c7d0302047c435bb500683066023100b4d0e9f21a2c08387352800d1ed2ddcb281c6d0181aeb946bf418517022e552f6805ff736b1dab88dd832d13aa19bb5e02310093fd055a92d171926c529e6d9fa6547a0c02ace2fefd36bf6ba9cc8470f85436f9a1b0f3887f9b2c29ec321691c580f20302047c435bb50067306502302f55eff594a1e22c1fd615fe03dab4483027caa0b6ad4469850e2dd00746bb54e461a35ae52af57f854299ef5cbda39a02310086464df81444c4d607bd4d89be8a8c08a77b0a745790712f9ed1da1619a43810653ac44a661352710ca5c4ec6d832c580302047c435bb500663064023008ae5a2dd9ff6c17941c2c4052939be59a96370d84a3dbb4aea249648e93e73ca1186ac68b8c2c58344e2eb4d97050a6023015e44724706d792638e7941f79d762652441afa9b0e56dfe9bd9c15de42c5e8ff062e31eeb784d2f42166717797cef1c0302047c435bb500673065023100f32a21ecb351286a25d54ff91ff046e7e1dc2600945266b4a4272edc5461b59e3ae6142f18de120764eaef1b41c4ea2c02300f077c95d4ec225a9c4ec11f6744557dc4012bffb07e66e3d3681034823d60d52e9a4f6b295b48a4b5af8dee3bf339310302047c435bb500673065023100dbd8ec4245c279ae1cbc6eb6fdef0710ffe611b41f7bcc9272fa9fd056d0ab627c7d112f910b45ab2d6f08d31d86437d02304b3f82057db84af4cb4fdb45bbb8198c72b5552597cf33408e29f5efa054dabc21b9fc02b6e1455a04338df42be771c60302047c435bb500683066023100ddceb23eb65b04ee8ccbfac3ee8d30be533a3ebe671f65f4ee18ec9f622c4b9cf6578d87ec9b4dc7e3a301b67444f0a2023100de79386be7605c06411ed5564f7a9269da42f654c69ad1475c1010a2c839d878983ad8c284e81cae3be37fbc0d80c2ca0302047c435bb500683066023100ec9dd190eb67540e3ad1cbd6fc74eeb3071f1f6d3e32dac639b4afcf806d00c2a63f8d18897be3001fe3fef5314452bc023100dde056737cead9760148a72aa30f0762ccbbe89b5b3a49adfbd0955d70015c202ea0291ed29f0da4b6491a376c4b58600302047c435bb500663064023014dd76f310373c52028b7a076a2da3c0e0e07027726a2a70d36a77ef4eb77ea21cf2407e4177a34bf1424763fb20012302307d74c416df8adadf12d09f906cb70cac01e5633d524e244d334eda8207f38f0da4d467d840a1f02582aac84c2054ca870302047c435bb50066306402303b8b9dc232f72f9ceff7a86364333c2cc58cc1d54f55164e51eb71c5cd63b0046c34a25ba98f7ddedf28d56b1639902b0230307c8a9f5eae52566b9d803a4b0eb34df411204b2d95b8ad629053149a7de0686a0ea2250c009f7979c6ece4179c09520302047c435bb50067306502301013ab117395b77de29ecda022e9da3663d34e82bdfc90e873a71ed05c2e0f68c1dc11401a49883acc0c3881083980f2023100f97eba11c1b6d4ae8dda945e3f6bd5a68cf33099ad61456c3ca9222f36d4d830697a7d3502838ef7a2e664b35e91eda70302047c435bb500683066023100db284b0fd294d772585d0b06a673302fc08cd396d36d5ee15a43c7d7340a2ad45296040eff124bb2e7dd859d6ebcd8dc023100d3d922b21cdd8d87b9259f7113a38141a6f098befe324ea979170f8912e4a2249c45fa7eda8755d36402c67f2179da4c0302047c435bb500673065023100e5575e2e7ff038f18cc6992a5b4afb94607c284efc135a9febab8dc7da602fb7a6bd3b507da769421e4a0a70a3edbef80230190a8784d0bec7ecb4eb973d5f1e4fd791fc41c935940b91c0877e310512569cbb06725a28e43e262db247359ae19b1f0302047c435bb500673065023100e9c22b43b00d54f196969c00011ad248479eec350bf08653811244cfb9bd38d25f6697d9e68c21d04a6b72da650be44c0230099f3cd85dce58ce0d18e1d585cf71bdad9399becf7ad53a6c6d1b9947197fb033779948b9126b20385e62a8efe5fb350302047c435bb500683066023100918a11b4e0c91c5ffd12745fabe8937caa7348db5debcaa559cae915f3b53992c0c96728508576fc03e8f3d0a868ad0d0231008cbe8d771ea205972e22ae2edcc1401abc7dc60c9e79cabc4f81c86cad4a7818c2ab3e8f2a2bff2b57acc2a4cca9bb330302047c435bb500673065023100ac7dcc2980d56c7327ea4d9c56900eec52a915733220a2552b5766c6b11d09ab4e23847163b8d5ba050db607ce2cbee202306ab21c3e186031b259f20bdb91aadc0b509260de55953c167bf3118237d9466023e4ae9818e2603af1a78d136e6f08070302047c435bb500673065023100cdbb59992c78fba87d3da54727f9e4ecdab586c8f8f70d08bb08d78e01dc6a24616a80b8f28dd85d57f3189384c558bf023034819b9ac915d0b551f0e4127a0cbdd42ddf4aa2fc53d9fcfd42cd0c3a7dc220c9d83a10b8cbb7c4ad4cad07576ab25c0302047c435bb50066306402302d2e028a763ef41e98a5400d13f5f88fb389f2e122420fed9e37a02a28f065cf810ff3bacca45a731956f0aa020553ff023022ff0759861a933a26315e0c37eb038fbdf5cc1ec6a939b08632dd2001d0aae5fd4c621b4213e3460f54f177a1de1f7c0302047c435bb50067306502304abb10b3bc600ca2b3e8276cbd53d44acc828f9e25c006b6155bf0e940877d30a2d36665240f978a5a79ebfa7791ef9b023100c4f61b313602db8c787c5b6a4c246e57719d4bab9564942a89a5355a652c0d050e01007a19a05a017152f61c724e87eb0302047c435bb50066306402304fd0842669a490e42773c4bbfa545e3d663a51572a648b407ab7f3c117845a729d1cb64f9d9a5f0edbb517651654a76f0230779b094d95c7e8d5747f225a8fc04a6a4598805f7659050e3bc21de87597c9d3af81a6561b9bc817363c9ed703ea32180302047c435bb500673065023100b8d31dfca7196daa07a2f3e6cc34c8d71671923cc7f8d56d54b6cc8074c954b67bb9533cc48c4b6fe2cd9849bba8ebef0230105f3e914e7fde6d85c5529c07d81ce681b69baea3794cee00e5e076194192a8eba1540eb34754f2a4f9d7af7f1e14f50302047c435bb5006830660231008fc1fe1172cc20b3ba0ae2a68b162a09317611a3628c5a0df04a48d851a46a9a51c8a9d98c894e4c04a245b6a78d55ee023100b3c4c78ca058c683d9b71b0bf449fff2aa7ba4bc013d9974bb53102ba825768391a868cf637db63b51cad67b0a19d8a30302047c435bb500683066023100863a732acec9c176889cf3d1dafa0c864a74901231dba5b8429c8483ddbd482e1fce10ae1ce9ada8916000f02ca4339a02310084aa33796a52884d8c0abdaba21ca6566723ac8d2d1168e4c08feaa4ebcff65e0b716b7156bd6c5bdff3f14049864da70302047c435bb500683066023100e54c0149b521d4cd587fa4abd1d9f5cd63cfdf511de71c38c82e9c2ab548e4790aeb2b7664e288812093d174ae21ec4502310084325a079118d4db684f116aa3cd430e3df909f9f7486e04e103a5c1f1d05927cf84587a58d72916b2b5502fc9b539810302047c435bb50067306502300a4ded669dfd4fe6f225a85f93be281ff84443a3a5abfd4e0c354c6ac4b072d13c43000e072281f15bebde86ec998248023100a162074d6aa12593e76fd77869ed9f46396507424b646c6fbe4215c23342069c4dfbed68d974a817ccce9c78510519d80302047c435bb5006730650230619f86ddcdc7b18a7badfad2719e4ee32a60ce4f6895e2b086ebac3242635eb91382751b806e983bd3b87158af705c830231009909a21406feba1a24d4691a1df14306d9b7896e56324edf5f662edc0a8010a9bc14203cbfab4007cdf14a422f735f0b0302047c435bb5006730650230204015fa2b69efc7b892171696d0ce14d71d2d1c7abd349dcde700ab6cc493c1cefb88e99da0cbf0d4c290a2ac408791023100c5e573da7fc74103f69158ba5c595911e92c4d52d1e2cb9fb11ff1be4c642cdd52134099909d16a30208b6d74bce3ef30302047c435bb50066306402307927d0e020a71770344afb0477dda571151358b4ef6e2179689725481991caf3f1e7307915ee86f30f228bff590b5331023022b4e79cc336af434f5a555502db795dc4ffa4c0e291f50095f9471fa05678cf3ed8eff12d2a4ff247916121214b6f4c0302047c435bb500673065023100b66b82a3121ae6ddeecc41da31118f2ce2b9be6f71d97e2e11c2f027d826e691a074c232ccd74e64847bc9ccd6264bb1023074c6432574ff88a62ab332097411417f9ccab44b6cd2566f46e07c7ef440288d27e287c4a8fc8eed1c25b936ffa098250302047c435bb50067306502307faf7f93029755d128106b977597ed3a00eef6dd87dee88415bb6489e0ae9c430ad8bbff6e9163b18a8c881ceab40275023100b16f598e8bb8ad23d8ee1f6c970868e219dcfb9e657222a6b99193e114916af6e244bb52bbbc9d714fba51618f2341a90302047c435bb500673065023100c049a801d6eb1eedcdbe2843461a69bf4c7a6d34d5e2f13dc90ad779900802d49eafd90b9b8072ad2f35915eee4420ce02301e7a89f16eed82ad583f33e59e14114df46577d6cf30f8fdecbcbd0ad493f85c78b878a138afb6a7031bee8a2faa7c7d0302047c435bb500673065023100f4bb5a76181b013a790993ab536384d4ec25ec6b8fee3c1a620e1b94bd321fc3e94dadbfda63608d23566f8c0ed98167023050018a7077dc90490c0cc481f1cf24ea6c2e8b26bc37b2e9561fd89ea29fc23b6b2217674c174d6dc958217bcba4e7ed0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006730650231009ac13244aac50489b8f628f5d7688578aa4f65ae748bf9b8ed9c0508ffa5aabf231bcdddfd5bf7ea58fd2f267213f1c702301443830c1ba00c46696800c21b5a05b25d220a50493b09de4c407fcc1939385fa346ed40b0c972eb8287da8fe068c34b0302047c435bb5006630640230588bfc53e9526473134ee8d2735d62555119f71bf80b3e98d1f1b05c4632b5b75222fabc4a9222be5a1b65a253ed2c6102301792d1213e8d0b36f5ea8730e70fdb7266a73d78b20bb0e953c873f91e13151355ff699e55233b5069bfe99de11cb1da0302047c435bb5006830660231009da1d4b4d1ab4c99fd0f0f84e8ad71ffaca9042ac942ee1a19bbb198272a23ea66dc832a02fd35a56b5f01e6c170c23f023100acd4afc28fe03188c239595530dd64c5373d24a00152b9e179f20224cbeafc4466a6fef3c1179cc3a5983a23e55e991b0302047c435bb5006830660231008b01254a012586c7921fd23d3546614fa5f133219d6fba45448a699fd3afd171130a8db51697b49902798d82d19ef9370231009e9725a69cadb8b075baedc88e9849822c42bf5b6f223524ae2cd10f06d0a742fad079e95b3d5bed42d24fe6e6527c840302047c435bb500673065023100eb2318e054a93a0d5a2ba9c597e258135c20484816191ab8bcc4614382168c696dce9af06d7c5589827789a054cc503502305d8c622099cb4bb1b4c2a6632af1759973d60ea8c80f5aedc6513338327fbbfca3d8561818f9b352d443b7b6407be47c0302047c435bb500683066023100b41f990b6a3936fd42489030336de2c22f825969a8aeac3370ae5600bc491f50c791876ddd2ea3f19bdde44d2c4bb807023100bd5492da84de8c1e893c8365e63794cf43f1ecfa993d50fe8317c353e6b34d327367795fc2e1ade68dcfa4476bd6a4b10302047c435bb50067306502301fcbbf9e2639147d3cd551bfb091a3df6563d5c59e6d72b761abdea30c9975a1e9ea7e75e5de1cec44693602932f8d13023100da2dee57502f7b0562c1e0db54520e42f7b938d464ccb34651579b03b827767bc3285697404eef90d2290302cd8032c00302047c435bb50066306402307e3735dfdf4e20877ae43b14f5554d2d4b2619d845d99d6755105b97c542591a244892ff5d68cb1958cfc892316bc9080230186c726bfe42a1daae4dde64c5649cd82efed40538c9a0f7a3de862ad8503385df327db8fa7c01e96948c7997f4c31e10302047c435bb500683066023100e0b809ecb45a0b39492f9b176e9dab114baeb675df6b7a15ebb5a36313be8886423876c93178f33d9befdfe23f8be78c023100ef6ff160aa421cc652103aac25b2d12bf0428075e301f3b5f6c23720acea4bac6cd951f8d512798cee46b2d6259c1f770302047c435bb50067306502306cdba474302562fc99beef2e55de475db6519694ee4e13aca420ea20fbe51561476d3ef1c9824590c1dad20c3f50e01b023100859b9b3fe1315d3f1a867e6ba336d68edc608d7fa3b582478dec958ff21206a88b1c2c01eb7a01dab99d6187a84c17780302047c435bb500663064023079cf871764096a2ac6c74b4b0750077a3f538d805a5f3130941ee37cdfd8b7cc78486d9196099bac4873a8d326369d1b023060497cdb202c3333ef7f764e4ba8320f9c18d3858c1f693121c8a28efbb2b2e5f224ad3e6adb8ee4df43b0ccbd722c1a0302047c435bb500673065023100b74abb2e121ebdab61bc34b0921fbf3a92a3b54896b905a73a578b3da0d4d739d9dc88439c1e5459dec4d643d72225390230541a870b2892caf2e474a1494b3f361f3f9c1c3d058704380957f9851b564df918032ff63353ba2a237fabdaa5bb26710302047c435bb50067306502310099d2ca0cc9e86b8311efc294088fbc5fb725eb5af0fa20666a30556bb4f97aa5c9b8ce0e7bba031f6aa3268d265071d202303f3a568beff67c12a1dfd26a5f2121be79127bbfa8971f6b17bb412bafa576a1311ee0f481d05293fc3da4d62af9712a0302047c435bb500683066023100e728bf18644333e7434b449557c0b64e94d63ca9d81b1304025691367ce5b490531d93c690ee037cad1e99ccbd5abdda023100d6dd0df85f67e6c13715065f6dfac9c2de8258a04c2372d4f26700bc5c69fe3f689ed3dad134dbee9005c414b5cc4b540302047c435bb500673065023100d62ab3ba8ef3ccab91b6f8198b9e8e95d2194314e8a17affa85d3eb4ee9ac0a8e47c57ac8e94df9214e80f88fa21ecd602303c688f2b138e6d40dbcf4572752eaa5296ec135fa1033e0d7dcdf39ac3a30416d56c54bdf6644b358ff5f03bbbe55ad10302047c435bb50067306502300d1d60810d0cc8e4aa2e24977e9efcb8989c214eef812eda646bf7f2d847e41c3b2e4af64752c8e51b439e2c9f237701023100ba1c2568dc3af639450b09b1ce1bd41d08ad9cbcfc1ddb7263f4b436bdf8699d51008a7fb1c145e5fda1ae182ca7deb70302047c435bb500673065023100dfbd9c0dd748c4186fe762872e37b349f5f52e88c46ac420513ce3dce4fd4f678b0fd489b8167739e0fa5c3c8889e71702304091c21643efd41c31e030e1aac200341e3d04a54d81c577461699e1514a43006d7e39f4048af8f1fe6045c4533ea3790302047c435bb500683066023100ac32e73c7bdaefcd2cb52c6e3e386ad087786ff08b80c76a306ac8d50e650901c00e58a1d7625271bd7e779d7818e253023100a623467dfc4a27b2dc86d0e72d67a546c024410b410c93c0fa0843141a8f57aa9409378eb9e55d488881305f1a60d2890302047c435bb5006630640230381d008a702ece704ed3cb17b802d8f71d39095e34f075a49aff8224c22744f78e7d6e3fe9a00ad720bbbbab7aae1d18023052c1331003bf6b26154c4723aba70cdeb1fac89e6ae1d6521ce4ac4d6900da9ed970f03a10a570a16abf94ae10c393dd0302047c435bb50067306502305c1fe02add6ad4db107c00f9cb7b1c9ea81593da3f02bcccff62624dff84df6c5e9ebdbe38333c137863584fe98efb29023100e19ac9dbabc363b35a68db45533b5fc98fad9f482be553f8934c619d511c9c6d21cf686e6f25883d2df6af5e302f43780302047c435bb500663064023003a5196f2c9be73edbca1d20b446aea91c31b9cd802e251c02f3484bc6ea0d8dad3e570008111761d10dafd48d0cba8e0230266f7c47aa8ef979b5f1430e97df30ccc5293026521436a621fb765f6aadcdb674b5db9f4b252df55b5863f8b7f5ed440302047c435bb50066306402305da94382bd1fd46a8f8174d7dcd995389604fe41c23f5fc77cf5fa2febebd56e994e6bd454c44a6cf7ba89021279d2ec023065cb60917934f9c00ae427d93c5fd250facaff9e35a97f63de317e63322d6cbe595033cd23abd52738020b8ed65a4e230302047c435bb500683066023100f6fb3be1bcc50f9f907ce6233c61bea9917f2097e5acd3835bb90b736cec4f18b93a98e43d41c7399d82c3e9e45f326102310091ca5f567792e0ee952b96bd1a34fd3b0341faef0e721d219b54cb5445a9c9fec99cc1d94dccadbde3587290205e02920302047c435bb50067306502301d1052cd44a0c7eaec2de9c65341038c40785f3d6789e93b52bc16b2e35d2c4845ff88afd49368c7f987d60e6ee1d073023100f06422fe43be98d93239095d5c62d287f649fce96a7fadc044aec01e5a80bb7558d37143766d15a97b110e037525da860302047c435bb500673065023100e56c1030658e48229cbaeca659ff73a2c8c4099bbd21ba8edfe3b562ddb5b0fc950e1d2863a8861a1fb6cce79c94aa450230750b0163a0bd4ecc0051fc18a33501eba09b08e979765ac287d4c5325d8ca627cf2df3baf6b2ed95b6ec23d4ff3d03970302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023100a39e45d28fa3ba63d8a04d0b534117abfaa116eec19d63b25252413cfd91589c0850cf5602cf79dcd44950f912cd8d5302306373313e8243d631b22af6467039c28c8576d0a1c418d9900933e1a6552cf8fe237e105e6f5ce2c92790c89cbd5b8a040302047c435bb50066306402306e01cda8f82f2fed129bf29f96ec1dac47e934c5d8cf53efd01f4c8093676f78054f38352e44283d65c3ce7011a306af0230608cba34e8d31f5ab726d10a471abaa9855962b2faf003ea1c50a88a79e6beadcfda86ccf32e4ab73160a69a4c45f2490302047c435bb50067306502304484968f4f6693eb8636538ad0932ef34e5bc530f76893290c7b252c48933dbeb7e03bb63073c786ea5b4a687a457b9a023100ea9a55f857f15010915913ffba34d1bbdb13ec1fe5786048be00021680f95a37bb00028a0b56f4290b3dabc2015751670302047c435bb50066306402302837f577247db93eadf41bad3bb057d364bdf219b5147ca2696b70c5545f27a7e9cd6863adec7fe401d2d3ea2adce0d502305c2c5686c0c9a275d4ef5d55ed8da7ebb918699b33e3bcd76484a470efa913ce20f289feadf038f2a2e24ce53ef33bda0302047c435bb5006630640230255d09097910f2758f7549283038e5ca88fa0b555f518fe58da3dd61f2bcb740355ed5e3507283cd58fd402fd5c56eb60230184e5fe059c0346d929bdb8859c5d6072e1488ca7c16c492d9acebed6c2b8e990ec208984199ca0dc3503cc9e18d6ce20302047c435bb500683066023100ce491366d87c874c0f48dc40df6c12be1dc6615c50c662a6fcb423eaa87c5c9093044b3e4b1fa9d8e48d84aa806db74802310082d1ae778dd462fe998144868fc4401d1a1e46c8231d37a096e325395fd96b50d849a533f2aca0b427db900b075a62d30302047c435bb500663064023021c65f6c99e676811990d7d754865233f41894baf1decf76f2c8f30cde69c882cf5041600cd9384dcd9be5c0e3bcd1c4023078aff9ba0e642490f8a839d632604ff3da81e73fd27c0bb028af91f7b3afe63e5544ed4fcd88327a613b1b97c6fcf2d40302047c435bb5006630640230113195e8188dd5821d831829470e6111cd53a35b74cd3c1c20c4534d75d193203c1fbf2202be9e72729905d913a661ca02306abf526cc95e8d8e7ad10f80bd1af9ffcd30bc26d5baad907e4c1c6dd668885b10aec2adf259d7c53e2ebc241cf3264b0302047c435bb500673065023069b9992151471387325d7f95cf072ab4b81dfc754015cf4f480d1b742885864738de0cc0f882b835482b699e52ae3a71023100f6f310fd8a5d90321068432251b02b43817c4153e7589daf8ed324ce807769ef5c388bb109b48af0af3562f4862d130a0302047c435bb500673065023045b8187d1e468fb4e2bc72ac8dfaac41177d93ebc28a1a1dd0cfa2299bec436bed1ea37eabf55ac2aa85e22d0e8540cf023100888b0d762b011696fc6f7f990ad1287d9d89eb159d134d584c1a4f88aabeb03a8eedb8846a8fab498886b3aff284befb0302047c435bb500663064023067e8adc3dd00afb078ca78085eea7894a2f448dc77c05ec1c071a95b6645491232c8dbedf9afb8ef3b0e59ba7edd3153023074e20c736fc74340d9056b1bdd630f65d486ec692f2503f86560973469f16c0745c28f4d6b9e6096bd822c9b33f921130302047c435bb500673065023100cb0fe20fd06fff1e2b766d75c52cc8da1a595b9479b6b58b6290d9283dd86cac241879234b7eaf1b6cdede4a5f0d8e26023022ef8afd542db67c39169761a2f8b1df42aaf78a11fc64b3ed193151ca3790664c4f330bff06e52fde17180d757a09470302047c435bb50067306502305999dd0c04a47a9e4aa67e5b32bd73e24557b3c19b7fc62da562ee2d57ec4f9698d08f96095557f4ff1658616eaf04a6023100ae74635351aebe09958d147c01cdc1df8762b57248b4b94958a2afec1dd9e36e6a1b184647d9dace9e88a3b0afc81a6c0302047c435bb500683066023100a0db323eba3f39ceed8466f1fc4982b0d185a55431c04ff849ebc68f5925bf0d2357a978c6ddfee6db3ffe5ff838b9dd023100dc45071b97b9f21f601017d064b3ba00848e7dfc2864188d2b6b15dacdf962c3f7c41d38370fd08ed20daee4aabc5b6c0302047c435bb500673065023100d89254a1fe03006db50bcd2cd3885f4bf92755a31a6349d5d4500cbbc2852247cbbad6cbebd7511cf4359b6ae1b6998002305d03469d49f1ba0d17e43c6c46bc4be66193ef593e95e4cbd9ac87b96a509a28b3b335bbf129151ad3957c8435515c3a0302047c435bb500683066023100be5c519d6d5725fd618e513d802a1036b7e8a330cf10deb4dc13e94208a62f851f785ede4593144055892e43468aefce023100f5b7cd4b8cf69b2089a28c7b1c983b9ddd0aec9229ea617945e2084bc7c9047b36f08290d79172a418ccd7dee9ee16ca0302047c435bb50066306402304373453b497de511806b698aa4976e3ec7d6201f30efc580a29eeb77bb31a3e391688ecad3e92345d3a68c26abfe79d7023078defb0f73040dc44a9bac978b03696a15bbc62d235c6e6054d97ab38d9b3adbc2acaee434581081ce0fb2b7634a2fdd0302047c435bb50066306402307167862bc846ff1fd7ffbb51b523d047a64b8285bb005c799bb142732055c1d85511ad0a01ef8626ff164c29d8238f5d02307043ab39f6f5088cb2d6431d1109319dfa951cb1803d665f103b074830b9581b8313d2a56023f41eca476fe68c7716080302047c435bb500663064023007032e52f4fa1974eb67db65e83f88b3c863264666463f9be504aa3c3d3421a5fae23d95d87b20268bf3cc847e55ea230230533401d572a5dee85e04c0cafec7faf98e428275afa2fabd16dff1fdaaca8021239bb90054c4b94a24d6f123cd93c7000302047c435bb500663064023011c621fc1d057a9a22dea648bfa217fdeedb8449fbade57f5fdd6a0f57a816a826c5480b94e4cbe8389a7991c8ca2f3c02301c177356399f94d9e7ab7ec1a6c7d3d8903734b26be618650760a89c4425d0ee31f12571de15b10fe5276c49eb89e1420302047c435bb500673065023100af3ac2199b4884b62c50c3ac9fc17b35e2d829046f09839518dd6463105f4e32bb87bdbd2cf4b50c2389847c8efe03a102307b0f68b2c1c40672203a334e0eed671302f4d8beeb410473671e6d58f74783bb89b9335502b47414afc72a5bbf152ab30302047c435bb500663064023068408ed6ddf579f297c6216a2c9e5c85f1ffd835a6ebf24dc2891b0388ce80e9108466b17c82c7da7db7af2756a57528023071178fabac4cabe4ee79d4d6b51a73cbde8261ad2c7345ab0a0791813a483bb7b25fd8448badfbaad4f3778c3313cf210302047c435bb50067306502306a35fd069b4dc295d66f4477e537b8a8240c7062e370a3955c5b64fa86a34769667175a891549e572340774064915591023100ac69f9c21010214d34ddc0d42fd3e0a3e370b98dfa652f37b7735ed486e9459ee09cca855802fc90e0dbf53547c0eb050302047c435bb500673065023100cf06947859dfa4b5b3281a702fa142ddc4e794b68024ef02f0fcb8e792285a0934089e4a47dbe539713bc946cb4bfa420230073c4934662f1a6a47a9742dcb407bfeeebd4514bc06fff086d5ab2a10ce0084b72999131eef0fbefec11a72c143cb4b0302047c435bb50067306502302ad487fa9361674dc4e12a6e8f514cecdd54859707e886085a424138afb55a62690c465bd69a7f44620ac18976f40b4f023100c3a8178b51385dd7864945c21890206878467ebdb76d778c06a1ac866c0ac03b1a4983474b290fb0e275c4133612795c0302047c435bb500673065023001ee48dbc1b70ca7fbdae32aa33ef98a72d4c2b0843f8601e5b97daf9b4dfcef2a3bf92b7fbb33ca928edc1623133fac023100a8f518f7aa73f10029707fa35cc00f812df00358e72e23fb3d5709e8567d4a44b8c2ab26201ebf67b106117f8f428e560302047c435bb500683066023100dc53592bf6b65bb37aad680f5a0490778b300fb8706ad3f0de2b2d854a157b021e963732ad9d5d718895bd9d1d7f8f9a023100decfb86696f2e76fa40a505f3fb33bdc262932455c60ced3d142a11a8fab900a22d21bf3daef1ac28ffacf54b868fb070302047c435bb50066306402303b1f83c4ce6d62085cba81e6dcb3f9b7278c26663897e073a837b49ef6b46344b2918c935bdfaab9c14caa53ca63c25002301291f46f3794b30bd7d5c50dc4d5a59787d4ef9b18f429e4a611208bb0b12f2f7cf8194b50776bc9842e8237d5f76fb30302047c435bb5006730650230451116417018930a8a0770f8267fcdffe1bc96b402c43f99d4567d0904dbcba44649b891b54dfca65e865f0ef1f747e702310089b44950c47c3a0d6b0eed4d8d9f4a0c895b286dcf35571d25aafe99830e66f1a41fd34b31f16b15feae72391450cced0302047c435bb500683066023100fcfda28d741886517d7544b70e9442526f3f84cd0f860c5388217c4bb4817366b790626da94a88152f34d4eeb4db40ea023100f8575c78377bc71f4222bad73c148afe6948758d9fb98ff62850081a889795fb12a7e55be9057c78f3a792f365f82e6b0302047c435bb500683066023100d8251bd51708c922be4c19bdae512d0b780a41b7b01838c5e5e4dd0119c9e722b88067c71251164849b417694a80e20d023100b0e5e837f649c68e7b78e28df2b78f4927290954597ba1bcb64388ac0637d752b507c108b8a80da29e030b568fe6adc00302047c435bb50066306402300d61452a0dec91473d577c8ee8179f639100e651e242eb91664046aa9edf6c1501b74f0d3acad88ca4f94db3e8f08cfd02303a427724595b2af7c50c45d37263022e295436b92d8bb9ea7182fc3b0d231e2cead6e5abb0c88ddccef8663a9b1c3c130302047c435bb500673065023100fe51cb3055361fac0f0151b67263396ed5724c166a536ca4fc3a586637bd67f05df5893a5d40716d8623957d5f7cde8d02304b7b4feac859eaf6563c7061f3d3120bd61da91e62ff9a0ff56d956f634c9a77796c6ef83f27df08f085da2a3b8b500a0302047c435bb5006730650231009aad1cbc90b55464b38f8ce9424452a27d7b99d59f0a32d14329a00206b73e8b9e815c6fe10d2c002946b4767a66ce3302301a9e3f95c8895b0c2dce3209613a92b363db03704017ae155f10e08072f858d2ff651a0fa892c232b484e27be9afe9f00302047c435bb500673065023100a426788d95f06cb8c7808e514ce427da48afa858d94f0ebd626ddd99b54c910f7db77652cae9fe06e5ceb87d11425d5102307ab0d8dee99982f476a4de5133a0f4ed8cd8c12c0fef52e202cdce4f6ee06cc15345a8cfc805905171e6a7cbce7224c60302047c435bb5006630640230569b56209e651ddb6d404123e9c28672be4c0f6615d435baf68f6e4bf7cd2369510ef9acfd47d94df3c3aa3922afed7102304c1ff79d25288f52f8ed14542797d180d20c288a97fd60c25c95dbab979bff1f4824e27b40f6b5216e74c4beed0cd9680302047c435bb5006630640230420e75988f2689fcb9db456334e4e12914f8fa38e79d53db5678f114e20c97184df65a9171a48dc7487468a10dde302302303c5d1d19fd94ce9e6c7c2846d5c704457a4e0983a894ec2c4fce6ff26c5cb2a221517422f63bc56fd8b103d8925edd150302047c435bb50066306402302c25e18bd938651c0079067b1fd0ab464a18b91ffb7d952c32a0ad09fa1d1f2d2c9641f603e781665b926b2cd34c85d7023059047076345490d89434a08326a384f2a20fcf4afff5e57f2061bb44e53a12b45d698a61205b6a6d69452738eaaef54b0302047c435bb500673065023100a558a2a5cd913c15fcc0b226137da88cbac6962c210d08918afcfbdbdb479a8f8a38ddce4b0ce8c22abb2bfc701a981902307985f9303b7d00d9b44ccc408c24ab5a8f398554ade1943966694b4844837c2602d12b6e7186a0a8e07624891ca82b890302047c435bb500683066023100c3268c4900daaeb32cfc43bfcb6206524a0d69ffc07f51cb11c5b6421e52f9a23cd6bcfd5723a208b295f5c22dcba343023100d8f30d6d7cb49252bcefe00ae2cc393f46a1dec11b732d035b4bb133cc74abc1c42489fb52f4c7f437ac1e88e9bfafc10302047c435bb50068306602310081d4e6d066cf2234e66ca4fd9916532f818bc16b1998e2d644519a0b8787f484b8115d14a8444fb2cbc653024d782052023100afdfdf8cfbc092d47865236565e88756b6346262f8da7590f21e8f785d68593e103a91d62eda2ffb7ee42496734a5a550302047c435bb500673065023055adc4aaa7c386ab4c2641863dd6aea5999ec06a88ac8110376f2c856cfdeeddba9b7edab786adf81f801e99a6bed86a023100e263fe7dd50bf652f413182a82c78402a22aa73604074bfa654a2ce6ad0d7c50d182ff5b8e91d17b0962b8ebd8f4a3590302047c435bb500673065023100fb79e32c4811e7b422478f777fc7787c867d5de9bcc25884a64865772aabc198e54077186f6a1aaf081bad0535f4d7e902307b511336a811f348c182b774cb142048d260d1bb4d860d0350339587074d238074249a451d3de6955c1467f09620b6620302047c435bb50066306402305d2268719952835aaaf63ec93e649115ff4632ca64aea40def853b4efda96defe275ef04e9ea9cf770ea97b1bba50fd50230122a0b817c8ab77571b2541b8f78cd82c5e0fa627470f4e930f4863eff93a6099edb49417376a07474c02c8b65c521aa0302047c435bb500673065023100a77d443c97437960e7d8408a39682e4f342d0e4b13e69c326c0c4d44032290458ab87110353b36f3b5b923dc45bc123902305f793fce51dc467a54828ef062fe15ce92eac74258a79cac16b8a65954a1976d4b949f72d2942d9c1043e8772f775be80302047c435bb5006830660231008b3a7fc0c736fa7edad1af0489b18ce7768f7a4dd23e4702e0de252a42068e5b31677da3ef711ee3883115f2db7b6e54023100fb888bdc4fd9ead6e43490f3071557e18b0c8e998d262a72449dc747994e07386d4774c70ef48486e1cf6337be9eacbf0302047c435bb5006630640230357d878ad80a264399e9eeb9e9501f5b1dfc9018105a6f5b6f9fea2d2776e481cd0eb54494ae5cd7203037d16814c05402305cd16d7b2bb6a114fdaa08b2d330d23483f69c7252dc6b1be5bf2e35eb9c74269540a4b70836824bf506ec114a4895fa0302047c435bb5006730650230734ceb084d3d5d797c647f812ccd72065bd43c3de208e077efeaf8a185c52e62759f33f059313c7dbe4ded43b105cf2b023100fdcf134a48df71f5bfd9c4c9ba315bf7ccbe995419b1b24ac68813ab0a9fb0d05b1d41412a2b7c064dccde63fd849bfa0302047c435bb50067306502306431bb1fe942adc71fcec3b7e7b157eea04791cb1949bea1a3f5dcb0d970913ef0a90ab7003de91b0e6508af666b1d47023100ebc915fd2fc5c361ec8c63de4f6febded390b7f61a46d9c8ee314ca1b59e34e2e3bfcd8f23af8a667bb3f76d67df630d0302047c435bb500683066023100b1501f87182bde71600f488aa5dbbe805022d6123a89b1ca00c470a064856838bf158849bc3b302a4d5cc5f96d4eaeb3023100d3d82558baca49ce35d8d01a46da8c3f9eb2fe8ca6ebc0b5c5394e10efc4a7e106eda7a9c2e93e89172a032a3c86b5120302047c435bb500683066023100cbf133cf31420e7c71113d4d01d1819687d8f6bf82ac144b92e0a0db644388a245d8327968c780cbaaa0aca1a4d08a39023100864ccfa233283e86943392cd817c1d239ab1f2bdeaf3730c39240eb2b45d299045e771e991034e1c77ea84dca62f66810302047c435bb500673065023100cfee359d8a7a794ada1180bdc09837c77fc8d011e2224ef6b8be3a24e4ebe009743376baa31344cfe20c3cc0c2129cd8023064c4c802f635073121a3adc1a0a92e256aad0a2d050592aa56068a57db0ed01d8bcb31a250138f67e0c92c868a9a8a2e0302047c435bb50067306502310096c3cc3f72a3707b5400171f02563578b7fc956d79c804602dd14dc0969b6d3eb9412f41ee4fc5b1c2260cf5191b55bf023036dbec13b2deceb4371bf01cacf5322ff2f7b17bf87e9f680b5f840336ab62573a17cc0bf3912f26e47e89f371bb0f6c0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50067306502307fc5e8eccfc4abafc57841d80d37ae4c0bef19886ca4898a96ff55f5bc34d59ac555c5a165ab5f0e4574fa75fb230824023100c6b23c50a20e9f82821a34e4f638d49e097f58f88c8f0d5e2d100e26edfd3d7189c7e807c740d725dd3a5af8465d08e90302047c435bb5006730650230685bc70c545ec9b1cfa0cbf83a40a82e8144a7c20f450f3e17ddfb6c1d0210e14dab6938b4407d328e88b4e0ced275830231009f6863f2bb9f9214ef4af2c8153f266c4161e4fa0a127c828819367a060a60255277bccd38cff399148200f4ed222eca0302047c435bb500673065023100e77f97129e7181d510050cda0f6aecfb65fc7705f6b510484c6436ea794179e3ad4e560beabebfe7247e5b50ac8a7a8802307e960fbabd90e6448369300fdc5439a1cd3fe9366a594e37505c1254fccd85c3dde28f21a68c114622842ecd563e3c1c0302047c435bb500683066023100e8d0c2bca8eb4010125762c32035ee4cd633af25c673b468b6a9d8c1aff212958c2d1345b86479c1e3d065bf6c900b21023100ae3389f7076a1752647e4629ec0d094f252d21fc10a34e6786087e44864efa60585a14a588e54d2da6c2f2c4ca99e1340302047c435bb500663064023043343e401d80f47795c3e1e7122f937f96156fe960488767118305ee0351b67eb8cbbab8e17403b836d48abe6c62c0c402304327276400d0fc4a1a45116b610d0e736545bdc3bb4a74d99234fdea4cc27bd44b4f2b4d30d6058b1fbac975b73445ea0302047c435bb500673065023100b5e601215b1d1d697075f544df057c68cd17364ae419fa181228b6153fe44126c64441f018bb872535e16b841423a66002303db9812d55e9e63adf52232e2ad592d5b65d07e8638b6c50e24a6c64094b9e073c2320fea9da46629f66fe58cf7828990302047c435bb500673065023100b363d782e918d72e8ee0afe6af46cc647e0fdf4f1afd97510ed7c6199748cfd7a1ab42ef66fbf824655df30b8eeaac6302303ad9efcfd281db9ffe77c8f532ad02c0d0dbec44c01d1c8c0bd3def6febf31b49d4d368446f7cd9f02122203de34de8a0302047c435bb500673065023100d35349a51b3a69bc880991b3545bafc51c1fb9e5957fd2fc8ed0ac95e49736cd8487c5e29d2edd972eda90a1f110623b0230358c2a25f60bc2b25ee72bfe58972608be4af44cc1fcdc242e9b50d3e6a37f55446dbd1cd3e850b8b424b7a293aed9790302047c435bb500663064023040373c83cfe6423d8a09e68e1c0e1910d9198b040251f0463180c3342b0f15676c70e81101c36f4cbc56950094b627bb02306dd5ce032f79190ead7a1357810df92edaee01ac278eca16c0207e9aa75197c95a82739768d879a106e1e0444f496cdc0302047c435bb500673065023100d3fb262001d306552e17266bf12c2a286fc9388c53ec2b4eb364ecd49ec4ba381df2d9c1e1a7a40fb84b95e403e67c3e02303765ce19df71bbd6f29998f37c2413fe3732b724ec2fa6d33030239d57615d5b33a35adb009c52e08e6ef612007e68ed0302047c435bb500673065023041e409963a5369dc550ea1c87e357a81b77b1f75acfb1af9f2318dd2b66b1e7a0714736ce1930751692474a63dfd5795023100a234186edb69df691cde320263be10a63872f264793cffef247c0978e718287a0c32d4626204fa5d68895a1427732ff80302047c435bb5006830660231008a1cae49d73703d6dce16a09b76079fd17d5cc69ddefdb03f861a840b26ebfec46e6f11e0516e8df98db3d315e437bb1023100db1ba63f005d533d62c7bdbbdd21fe021351a91e73fc905f8660b9483ce59e4da1dc4edc1b785a2efdd3df865c334a350302047c435bb5006730650230547b5cde28aa17db7a0b7a83813fbb18bbebe1ca5b645fbffab3f43cfc4e9dc579ae32b49ff251f2510acfb2e669bf27023100d8505776112fa08b595c7a709de5049bf20660ab873369086a8e41be3e355a7f68cfb2660bab6b35c79b04add32cae370302047c435bb50067306502302939d6adf665096ac63e43f6916bf86a6fc403a9f09cf1a3a355aee912e3b2c87ed303a43aa237d2f01018503a16aa510231009a66131d7a111e2652a973671d3a198f60686c0fa908945a028a12015e23ec927b0c0a8320c56230851fa335be60355f0302047c435bb5006730650231008ebbf569e5985bcf81029a47b5cfdc4ed760536d64857e38a72da348840987599064f49ce6d743e132140d567566d76302306c58cdc2e48d0aa7feeaa0a78ea7ef8fc151f5fc35fdbfb53d3bdc7346889d1fb681101a0dbc6c56a4dc9a89a33b57990302047c435bb5006630640230311795e7cca25fdb545d1c7983aa7882c60467ebe037f8dd4c26eaf408c55b9bebe92f13147b9930f11d3cb67971eba902303a51aaf9f9777b01ce5d98d61bdb7729fb3c451a0a3b19c1fcd6b9ce35336178f6ab0f56a1dfb0e815a0910e0b259f150302047c435bb500673065023100a21b82507a5667c2f571a4171bce78f2adf2630f5ef1d1ad75f5c1d174f7938229faa2498711716c6fc04017963a20cd0230013375425ea66bc745f5ae1aed9b8837f2180324b6799029bc8243433978481c316fc415b48cc9b1f00b7bdcc0f498170302047c435bb5006730650231008cfdc18f6d484a9cbf4425610fa350d8ff81df0939c625fcb099a41f217bd85fa77a16bd5386ace657fc9ae40386545702304be6a63a9aca9c830f71bf693f3f292d9ee49cbc870de3e293c6f35914f5ed78810f9a6e2194438b86dc6ec498ce406a0302047c435bb50067306502302db6ff121c42365b6fb41df5a851891695ee246cf4899a57b515f5e809697b568e92111fe5d9c0f2c83e915d706ebb28023100ae609f2d5ea4ac455b9937f7b45838b01e2aee0a6e32c47c93472c3e9007d65c9e29c55d3fbf77d02308d37aab8ba08c0302047c435bb500673065023047499f126d6d4a599e652673655d353aeb21230381ff381f242c8ac36634debef313f5e188fedb3385821ae70b5d4447023100a03f3156e78c7114540f1fbec8214b1ec28c8d272637aa4c37ebdbfd2511bf67c4fd37763058fcfa8049b8b28182e8210302047c435bb500683066023100ff79dbd1f3ad73e8ae02cd196e9a0cc7e02fb7a9248f8e79c6a84840f4ba58fcd55b9c7f4f17176584b5823ab8075a46023100cf02fced8dde52bba0fa4be65a8db09d32e5cfdb108a30ddd47bbeaa915519f09924e7592f9964e5dc495347e7932a8e0302047c435bb50067306502305a94f38acc2a7ff8f0a91583065a570163010f9e2dde6fc16c9f33e08b5f8245b4cf5ec8413bf290a864fe92430d2689023100b2cf31949b7a4a8e768589b7d0771b99c3b96a89097a403d8e81cef7409da0a272b2ee9fa246f8795fff70059df6d72b0302047c435bb500673065023073fc22d84e7334155b673f4122ad8581ba47cb039f54595a21460bee3a606bbe1815aaa81ce30bfe6a6879804d95dce9023100da8fd1ddd63bae32791438a45dc528a3b8372feff2b867deb677f82893a6a4aab5c2879042bd5187df7f1a2f35ba799f0302047c435bb500683066023100a6a9e0facfa5f2ef6c8301a59f58bfc3eafd364d45ce50a9685f32a19b3c500b3d47ab3eab532cfc0e28b1dcfb2e2d0a023100d0d4541f9c7947e727ee5eb2ff5f3c5aa4d4d655eee38f59ac2a4d3fa618590167d46e6058ccbd5ba6b9e2b850745c100302047c435bb50066306402304ff0f2a706600375ee61c995a2fb4d0d2644be8797dae9787f8006df70a3cbcb4ab6069ee00e86c30bc14c5f37f234940230128b273605354e5376d7b22c0ae973dde8ed7e8ed2c1d54076a2a5f337969e4aa83e8aca4fb96ab650bca9f4636346d90302047c435bb50066306402300ce86a6d86b75e713f575f9991c86e4eaca905929fb696465675865989895a270cf10cafe7b1ebb466b40b8b6a5ab7020230042cf3d23311a29b57ea53a363d3da383113ce04debb9cc842608e5ba2619a22876f3c4e3f5caa48d17a2f4c9fbe2ec50302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50066306402302afddfc31efdc0986a393d763fa578fbae0f6abc87472573f6277e8332ad2d9503929ae840e43a3bfeb407d03353ec9b023055934670adb9d23e90f5cdefeefd5687cf378971da3ecf5aad82e3525862817abc95f62d62e00e1c63629ae4bdd57d840302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50066306402302d610b185b737919d65480449563f95c2873bdcf0b0c28c9d421ff4595b3477886f3f84c48b9b4a32cb5a3ae3adaf4d702307d7f1f864fe99914aaa547b436e11bb5810ce0ac94896fb0f82181253451db7bb769e73762555a728fdad6586e942d5c0302047c435bb50067306502300a084e3fcd43d1e08347aae5305da7517b8e91e29192b18f2963f6bc0850bf695ce684dfbd81d323eafda26048546e02023100dfd5c5fa09cdfd9dac42966217df3c7f63b20e51261260c10c385840d8c1043a25e75f9e5c9b7de36c540a9ab9729d530302047c435bb5006730650230097fa585c4b7961c163493ff23f8def54b5a1e0f294fed2265c51c7d41ae6f6d22ecaece0a57d9814b1f103094649519023100dd71a783016564ca47ea88b414a9472114a5ba658cc0c2efc4202b84add4f4d0cd626d2c7c45c693f104a8b5c7dfa9010302047c435bb500683066023100c3da8919c0612c8b4b365f62dd25d4344be3949699599dbbcd60dd0c1a22777a1ab673b65392a7e7ad23761483e4fba8023100b7bc64bb6e74891a22d33416dcdac6a4a4de03562f3002021477145bd25258593420a014d4e3e4567022b83323e08f320302047c435bb500673065023100de2ed2cb00160a001b66c9e607d841d3317405bfcaff06dbc2e8552c49d116942bdf7f7377747aaa73445210188567b002300128b521c4fb53e27a0f63eda8522279f325c40339d9ed99709b28c3b2a5a15c53e1023eeb8e88c87aebd1da35e3ee2a0302047c435bb500673065023054dd0bc15cf8a5ccd9e1b3c39fe15acba5391ced6b1aacec3626e8ac283d3e575ced637b6519af7945c42470d045cb4f0231009fd1a229e5bc22562e6c76b18356ccbf87ad17bd2825d28234e173d25b97ad887c3e0ce2053f3e04d4c9989c072539a80302047c435bb5006730650231009e9ab2405a059acf818bb867bd6837dd38d691de059e3cc0eb1a3f6a58d0f9f77be44373d4ebd2aed8e99ee5e0bbc6ed0230323408b3aada3e74e473a204c4ba0d2007fd3702fdbd19c3d3be24dd01578d4f71801f89e7659f6313b43e3daa4ebaa70302047c435bb500683066023100adc3068c6daa3d84dd4c7f2383cee757119309b74e04bf634411ba55c3de4970630fd81049a9445bba3f9b9215bd4b94023100dc5c02acac9877cbf3372f572bf432380d5a9f30707b4b87708342e8fb94ec50250e1b648f53c6c1467d36635c3174240302047c435bb500663064023013c82cff6276a23f767b57da0b9692dd97740ae8d194e442012e4766f08e2b7624aa352306d80d5bd661307fcbf6c9e0023047cdb5eaf9abd2b27edbe00a8b90a26820b907c3bb02846e4dd28075bab1827f5f447946129846bb7f78f630eee2653a0302047c435bb50066306402306df194a1277b74220710919159b445312d11ba57b6970e4d84fbb5d22e53bfa323131a222685389b77d4945ae8cc25470230051e71b03b3f1ce01ac2da71ff8522572534d81a65230988abd3e5c9a05683b60959b3507b6ca7c64d0cba625409d2130302047c435bb500673065023015461ddc0af708fcbdf46c74199befee614d15d5b33eb822f6ceafba1e3486d6fc5c66a1eb6050bc425ed67d657573b5023100898d16db05036f9e9dbdaca5ffb20e04c1ad4b1ea9672ea89a170cf1ba83d1441b46665101511caf52b71fb2e6b119e10302047c435bb50066306402304be0200c73e532231c67344b20788904039ec9525f42e5255b2de023904d3a8e2d0918b3c0c5541c76cb8ad8eeabdda602302db98b60c6391f08b8aede2e23be84f775cf026b1cbe691755b6947a35e9bfcd256f9a18301ab91b243a685a81c5895d0302047c435bb500683066023100fdf3498187baa42c0277c28dc1cc1b4760b1bf53978324cbfcf743230bbca4b2f72ccca2284321b3a306d5f0df483f2b0231009b295ce2c298f3f647afc43988dd815b2bb8c60ff10508f5df419858d2fd3de87f0134fd901e4596649ce551b0d42aed0302047c435bb500683066023100d42e832496ab446472a1cc982a355fd794ff94939d374994f2817ac5aad670f98af0a2cbc346482d364d51658100b24f023100e73d1ad6b6f0aefe860a97feada600e9748ae543c555ca05ef3459000d46e0a6a44674457a34f63095eb05fd3ba202980302047c435bb500673065023066bcaad40cbe74ba8470163805b964886c1006188ae7ca63a1868743ada013020fa93915d6103dad5553df17c754ff94023100a638f8db528786b8e7421bbdecb8d6a5eb12684af410b2a40ba0b8120d0aeefde901cfa5b284f507db2437c71498f5200302047c435bb5006730650231009095719b2be1b6675e7caf2bcd5efac90e2f5f8fa51ad4698e883ea54642f0207fbbcb77bd45248fa85e016e885dea4d02304f25b510a8c57ae14cb45a711cb3f3243fe46799f7936a225c1db377b2182276143a973859f47d29a16631f2a534a1fe0302047c435bb500683066023100829fcc05996a13820dfa7354d347c30669c1432b1f1b0af0c7150a6ce644c001f6ba9ba73790398bbcf0c3ddffff6029023100853321b09ff930f9bd8b10a6c5c8ad5907d0da68e095e02e4d58f4952bd07f6f7db930317e94a5f6a195706a814d6dd00302047c435bb500673065023100ed374a7683e1a2458e57568e4b04c954ea6edd013178c5119570461831a24315cc52def70c55c3c186c18e50d5578d34023021cf3e3e15a0f1ac1a41e8e29fa892093fda1749b51681243b7730d5823f42dfbf432f7f77bab4c1931781c078a7019a0302047c435bb5006730650231009b8b3b7e1962887d5122dc7ea73d3e2152b6022a3e10e87e4153bf42fc99699aee6ff9c6bafb8d46e5c3c0c8fa4ad79302304d29268b2a39889f1c6407a09d02b2a7626ab670def158f80f8ced9003084d731476b0c458f5fbb0a61fc7558549b32c0302047c435bb500663064023015d2f5ce2f8be21c548f9c54fcf8247137023d3c9980d8701636903aaffac48f3decd6b7b0d7a72c50467b2be50bc6de023018ab5a42be3a23a2c09f54ee30f27abdc1c10ff66acdc52d22b48534c3e6d13bf572632e682b0e0f18eaaf818a1ed91b0302047c435bb5006630640230305948652b8986941e2c43b4c928b93b73244e26c518d5ad38b7b1a0db1c7baf9ac04f5f92ad841419d4aa7b3952b131023050aaf67fc78a03b96eaf27fc5e23b27a1775601ecfc01ac5ea7d43610a3f554848c1eb7ab8e97db30285e39da70592a20302047c435bb5006730650230767217ed56a153f5de409730fb4c79decbac3af55f430bb1a13411797f848613d20f78d130db5f9f93a83b5e6ca09e420231009ea85aac921e36fb2ac6ea5e0568960d9ce706a8d5fd75201d03f31b45e31c84dee75c883e843fdee5f973982e0cecb80302047c435bb500673065023022a7429fe656642c8ea6102336dc62d9e6241402b2969c103f366a8545a77fea058c3fbeaa856bb4f47bd202f31d9415023100b35fa4dde2d00ff7db5c6612d8ac12bd3ef51502042d057acc2ca2bf61977355d1971f1eeb39df7637cec4f4846853b60302047c435bb5006730650230235f33ee7cfc4194c7da4d41e4e9955bde86038ee6a333fe75758181b79c7063db125e5fdb10af0650ec4e7aaf28f7d00231008479af3bfd11330b5b860a1bb34cb07ecd8d3c55a5844c8c2fee5ad935a82c640afdf50eff10359e4f78981f9fb4650b0302047c435bb500673065023100f44f7dc5d8cda8910ca7e8b502420152fda04e158c59a565982d3833afd37dbc2c4ebe8da44d533e81b3fe69c254ef29023036a21044304f7c743a0b1f0438bbe1d8d088784f89f69203454e15d9873a1aae0b8d4660109b7a1b7fde943d4557e4e30302047c435bb500673065023100ae316fa85de5157baa7214f27b3e5c18e6711d8d2f1bafc8b8ee0aac0f13aa4d2054c659473169c7ac1d45c3ca7ea5e302306e493796e0cb1915a4d12ae646f490d24ef31a821b55796e9d92fa935fa6581691844e2221585c66541e3c439e3ab9970302047c435bb500683066023100dd59c7d0856657a937315a7eabc77489777ec730528fc93ccbb91c69aac98d3cec740c2b853f931588e155dff09af1ae023100f0b50bc452007e4cd9a1504773d7bc83595121e707e6cc89a9bc5f8325a71f27afbf725bbb05dbda02faf8595be074e00302047c435bb50066306402305df2e5acd5ca9052ffcc56b29c129526dd2e16b93921d16caab334a768973dad47aa52f4c5b7e36ae06ebea978c05b1802304eed5cd0213fa2d63cf94265aac8d300ff5ea1936628d0fa8503a3f4be265e3ee51b90338242de3f65fa43a2c1e002b00302047c435bb50066306402302f841fbb340bb05e984c5952da17aed168aea61a47a5403b8f44a87e285e5ec35fe49f15c206f9e0d30f8abab39af2d3023056a4cb713c08a00cdc73d774d3dfb02fd9f9b43da7468234e2dcd60d739370c077b7c0c526c60cd718dd4c3970717cb70302047c435bb50066306402300a0488345cef28c3bbf4fe6f66f136e557eb05a52305098a5f7ce726746c042aa08c9f7b4e602d08390b0e6c375e99cf023060f57b6cb643490dda63e372904c9768c4ffff09a9088e69056fbe93efc9cd79a9d1cf39fd77e0ec131743e37c804d120302047c435bb5006830660231008dfbee5b4df8c6c819bb294ddee09d73eb0674679db57e6e7d3a3a025c6d57e20fae4ced2bd8dddd05d430f2a5f20c98023100c1b97258f68f9858b580514a89e4f4f3422fc0781c40038b26493c36300d60c18114de9ee2978453f9aa596c53dd973e0302047c435bb500673065023100b8d7f3f5d67ea68b5bbc8b0580477feac8d38d4030a41222b1bcf0c86629479b2307ec9dcd9ceac376d77314e6b6d85a023066eac6a7c9cbe5ff4599c508d12f28f12f5464c088f8d794cbbeea15b29476ecbea1a55e80cd083c5f41ecc6541ad6d60302047c435bb5006730650231009e14f0b2ba9b6be5363bb0884400a2efa857a03173567ea8e64ad53c5a401197d7c6c9a1411d8f568c90e5cc06a65ebc023071e7af56124b0b8921de272ac32aadc08f4fe831012caaf20ddce614e3d152cc285568fb5cd77bff5a47ff5df06af3b40302047c435bb5006630640230267687e56b02059cf35ef00aa0c8b2e3ab33f4dcc71fb5cba81eb0dfb2d55ff34501ca8a3461f61468520f8d40b6aa96023033b72f6b82ca86f31fa16ca43e8454ed4628586463911335a70771f2b9c4fbb042211081678afcf1ab0ede234dc0b43d0302047c435bb500673065023100c5edf785695f33516d7c45841dd9ba38353928047e4e51ebf76ed98b7ccf16cf0e5178cbb9c999a2a0e508ef0af7e8bc0230503add8d5dc42fc00bec737b4b5e83682b557ec2b34ca5e4f6fa9b603afcbd45455987c435ef2745e64148157594abd50302047c435bb5006730650231008f32fb40918affda1a658ff2106af90a45bb4417513360b8aabc11e05ce2897031fe8e5fe6d8b8dd584b67254f10a7b00230298c6ae2ba0c9811bd43a408d7df4ebbf08fd66b0462bb1e78f16839894c57397efde21cd9b95b31bbcfc0e5ec31a1630302047c435bb50066306402305c15bb5f71456393871de5cbc694dc184e7526119e79e5c4c7d2c0f19326a36bdfc90910f005688b438fdc44a276a3610230261a1d1a18b3ee538a6ba9ab82e6d74b81765e308ce351ca0e0c84f358b90a9624046070d083056827709e0a9cf3b2da0302047c435bb5006730650230728b79acd22d8e46cd5bc2608ad927d661c5b3990770a0a6108b50602ab92b785766cfbb6e15b9e5464b6fd1470697670231009c0e48735a0cf467296b548cc3eba47ffe9f495993e537ef8a645c17756ece07ffafaf3194dc217700cc92fcb930dfa50302047c435bb500683066023100f28aa50e575ad48b2a4d589c8d3336b6276e8db8b26efaac1d171a800a0614b10c2e14d10e72379cafa0534de7a201b9023100d921a8db39cef713d036174e557bc60c0c2cd7d7fe3484d901da3b0ac82acd830c1b1ba68184743081d7f820676154390302047c435bb500673065023100bba02555e34a373f51b149f225288bd7f00fb5259b1111fcf2192eef6c3d7f77233fa42ec43fc06fc39e7c00e51074e302305463945935071e47afec173e5cc0592d8ded319090d131a27e58d9f0ba1a58f775f64ef2bcb62bc4afe02281340abe170302047c435bb500673065023019fbb60d1845bc71d20e1644849a9d47c41eef90381d4acb1ceb3fc68cddeddd6d5c5a7f068b572cefe1dff36d950aea023100df27249750940b952abdbfe82251fa3d1d2314640c04397f7a2760a8845f6f5245a3cac9f5da411804f0b37f36731c2b0302047c435bb500683066023100c36896041b46181b8f4475067647ad1618ce0752e373ca0140b21fe2acb17aa5be4c4291f023ff8fcbea8b6f4444d81b023100bf8d62d8c78a84bdf8d99449bd810f4c565a83149cf20b726a07f555f01e005a8824fe0530bd3e94d167deac9aa124c20302047c435bb5006630640230454b10b9929c70586c670275692ea255ad57b9be14f3718718fe42372a4f4c6835422954c3d688029c824bef4245636802304c735a5b29c0a6c2d1098565d323e8ba97646b8177667ac149ca26a2eb8efbadcd6d58fe63a137e59d67e4727994c01a0302047c435bb5006630640230608768759af49455ce07edf32efb46629c5ba3bf53a68025a3b95539630b90247253b90940acd4fb81ae6cc86c5c310d02305cfb4744fef86ce4dcb2e9fe27d8d25a229d155c3d92b6dffb4d1e033bb44f1d7be630ed5db8d6e4eaff0c28fca7c7fa0302047c435bb50067306502307448dbc84c8fb20e0e7beaf2aa55e158133195b96a0d3323c3c571a2192ced7286464887e8f689fb6e0254a8deea4d9d023100ac1ba3cb1069680d87046d56b11eb920d8d694ca8da62ffdda9a15622df92f39119f544002e6a75d0e2f05987db851160302047c435bb500673065023100f5c43c00d5d8afdfd5e15ea4342bf6fd5fb0bba0503c2e0fa0493cb564354a2a2dd1c3857138d27aad48c00e65b6a6f402303292d67dd4d79b6c6b1687f9a1dbf32b8edc4dd9215b5a866739e5a6ea0f803b0318be40e2097eabe143f79000cfe44c0302047c435bb500673065023100a48082a0efb84e3baa4bfc87dec0f33961c6522b49bb43f19d19663bd671da3c3706b103afe044ab54d0a0aaa6ba869c023023f07f998d9b2d09f31834536ce46f5f6aef3f003bf5c297724c2c4fe64a3b4e548dff1af0e4144f4244926d6a5d8a840302047c435bb50066306402303d54e533d5fa58f90bae654d7a98e5e9a27c7f9cccbdd1d3dc54b10c9fcd273708dced880e6ea2d975611095480d118f0230154d3dce606fb4e2a91c9501843797baab33e9979ef6381ab2318971d58a709446b87ccdb112ebe099dfa365f4b6a1770302047c435bb500683066023100cb776ae810ff89a2ac9486bbb57d7764d214d195ef6a1d09b6616cf2e8cca5b98ed97874c8b33f15544fb5ff6f34470a02310093a729ca504f79d07a1f516cbb58598d952590d5ccb9f7069efe9d65feb953af5e8b5ea072751077745275a2466f62ab0302047c435bb50067306502307c0f9d12344a926a63279061ef4ed80139ef5a6fa7349d6abad8f4f5fce09fb6746a961f4e57ce7c026a79857768b54a023100914dd838d071a7d0d3d0be08e98f1f7ddc09a6c9e03faf16f583847e87bfe0757b8a95f93df7b45b8e5a859be2d76a750302047c435bb500673065023100de27607ae10733691b5e1d93fc31b427fb18ec0db120dd23e5db1f76af6903b6b11841293658abd8bf3dbb17ddde39d40230668b3c06e793c1970a6f5b741d150d392dc5e161ce8762fbec8d3a8b0afbdedc865b753c6c6488a83b9a82ae49902f730302047c435bb500673065023100ee80265aaa15e818af46089fdcdfc8428ede431b4beceae4bf7d68e6e971e885418951edd0f4952c48b573ccd7de249d023002ddaab32c2cbd4c2410cc0f978f197697625ba79a95a6ef88e09257266c2f2f241f6b4f5586b12c1566867739fc44d60302047c435bb500673065023100d051bde19346754bac38ea14a096c76b9e11a4a786436a26b4d9d988591346977111de65c13419ae43cf98093e482cec0230276950d0c59f1a903421c9c53aca6de7c0ba06fe01661bf131fa6eb8b21dd631eeebd9fc5eab376aa68a9e6ae9c29cda0302047c435bb500683066023100e0c30202d56d43ab30272392b8c0fae2011c73878a830552cb298d13f06c8da9b526f32ac01f5f5e4a360e6f47eb8021023100cb1d54b7305a24c4801c0b72a3307a0b577a482d66330a79d4b98029e97ea75270a6d593aa7df452d98c4ca0c3a9572a0302047c435bb50067306502304f387d5c4c88df8fc14626cbe5d7bd0765db256608383247387a2eb1cc0d9612b39669d1f9ba7bad2e7f8c659cc7488d023100a5c881f6167ae1781efb2053308bc86f6e7f463f277e6ad7c24438f54b731b0d0af3d4b49c7a3337b3223730b5c80e310302047c435bb50066306402305193abb533f236d98514f9554d18b9c24178436b04151dea40c83f4b7369482731b9af5fff6e4a30ebe6602e670c30d2023042ed1fb7801d7e616dcaf4640faeba6d3f082fe0bda3bef17f48e8da9d5e90766454f7b96001657cc2712c36e91d38b20302047c435bb50066306402301f1eb314f5144168345d4316e535e25778aa4e31495cc9c1bdfd5e29367eed91828ccccb42ef9320dd69cd0196f758de023053b3bd924501ae5c2fe55cfb77c6ff3119227ac3a11f2f651a29794aed81df97604d8d5609678a2ad5e785ba53f2a37c0302047c435bb50067306502304fa4b5997547e3978ee847cf55ef70122959a35a35c98e18d22cd60893c29acdece9139d1cb8de67216e30d922230acc0231008babbaa1501d0cbc45f76a0b6c6ae80920486abd383dab26d322b66052b70f0eeedd8ae6c3eadb35e2880e650f8276ae0302047c435bb500673065023100d9f26ed6594ef720ad5195a089e622dbe18cdb9a2699e2c4f6cd384fcbd58d21e20335f13c233bd67030f8f0fe900c29023078b5417c94df12e73b66b71c963ad589d7fad9c7a1cd9cf4f4b7bde289a72988f1d959eb5e3d38822bd41ec2b1d067c10302047c435bb50066306402300f2ec949a026e7023b0d83149c7ab891726c1eb2ae480dcbec83332a5c922eed27f9b9c2d5418684b4bba8841bb8abef023070c3f17df317ed46d2a5bfdd6eb6f85ac1f433d2610d7840851913e5b74534101516d87dd46da41b8519314aa737b8fb0302047c435bb5006730650231008a17cbcace5fe9202c77004441b71feb516e57898fffb0a782e1abe313ad5e4f294846fc2c7b07a3a89fb58ddd21042a02302f84a1ad9569e82a4ba8955b2936a53a9f86632f84cfc3a8a9428476e92fe5781743035d21df9cbc217220384ef370e10302047c435bb500673065023100fbab80a2d4180714e6b5c58dcbb6d7c74dfacca15978dd325ae1aa3989133d2b2a5ba724a0380e0c6179570bea2a5927023042db565795ea669740c39e0ebc5a31b2d71bbdc34edc9d5c57c0088c5ee0b303c3c119362c464688bfeb1d76df75d07e0302047c435bb50066306402305236d0a898c265c39ae00002cf4943abfdbf8aff799d2293cd13237d9580fb6ea289a6fa9b57c74800c0bab6fc88395502302b1147ad00965013258bd78bc348b4670ba9da83c9e715e1fbe9a092413132b5cb95ea08524ccb6fe6c6b543f5baac240302047c435bb5006730650231008c659005937ae7ae15719871167e5ebba3e3d4aa7423476fe8c7f91ac6c33a3684e8e409a6eca0c01145e48a8a540d7402301488eb0a1aae3c79c40cb2cd855407295c517a667e81de2f0adeaf15a9744f0f4e5d4cf8795823c2d48e15d5f3ffed490302047c435bb50067306502305fdc666a95119d50f9e9cc451b0c4a9c7ab40fa508159494104b866e4287dd0f349717582a2e7efef6afb4bd5ec50201023100c4c1bff529902a83cdc35f71885a69edb1cca5ca79441282b9c16933ce75383f836cbf1d9fbdac7f221006d09c31d6aa0302047c435bb500673065023100dbc8189095db64d359020382c43a5c71ee0407373b2f3b0f6c3a3e44f56df41ad60ae15e51ad449b6ac0930290298c3a02301305188d628c65e8afdd1e8745f582472ce6762ae6b84fbb6757bd17aa219971360b82f51574fad78806399ccbb13fa40302047c435bb50067306502302c18f879c1cc9f2532103caf1ab3e2fb427d0f113395091ed961309c9219da81c5d6b471e80ad1ef77f65bbcd6f738b8023100df13894f7e1d24de4b2e15e6b249b6857793885c3de174586f53b08e4fdb6d04c90884668a44ddecb6e9278c8452357f0302047c435bb500673065023100b1795545c1fc9dbcd6e9ab0e98541a1710b702df4a78cb7ea66829ffde7cfa73d88b8cae4c5f29ebedcd055d96193be602301339427ecc2076874d1e5a25e676b800fefe7243cc49ed99aaad94a1429ef644f7a6bf02bf78e96655bb0e84b0ea29dd0302047c435bb50066306402306939b1c336ae63fec356ca8329068974906c1b760b75697584d435cf2e8bb89c5c52b957a4fbc5278ea5d8a010310ebb02304403f00ce671946b21b44514b3d8be7e8f056e4e00689ca0399ae698f578a3bc61892623d886c7ad5d2081f57914ea640302047c435bb50067306502305aef7291c4509c6ef7510f7760b139db38aa8171b9293ec75b32fb67da5ed1dd12b4d2f925526a2f1d0490c6d5bca1000231008946c3ff6703bf9250634438855782d573731d0b92b6f856958d7376ea57caf43e044c4a21a3ca3a3cc92545b2c4141b0302047c435bb500663064023048abdfd06212775be71deea67ef7815c39e6d915ed378e1d272af1cc13c92004ab1a3817b0c28ce3192f6a7b6f9845eb02307c7d310097782852d958331f0091dac5b2faea3d49323e63e06f4856a858ba91d6f548836631cd3cc888f0dd44a4990b0302047c435bb50068306602310094c6fd96955247be36d088875d042c9905f3adea3df89f61af0ee6d72a329d471cb80ac1ac0652046c89f10ac3555589023100e3353a44989deab6c7b628cb57d73af1c81a4923577fa6ec50bec172dda587f2c7453c3b1fc553d6bf90d62773672e380302047c435bb500683066023100d0eeeba312beb88fefa306e05acccd19fc965bb6350ff268030ba360cd2e19e6009b910ea8adbf4198528750ce19f892023100e1ebd0085abf46d2686ac4501e18247a3fa8cc097f8c2ee726ca7601ac1b814fc3e6fbea0b6b14acaaec25106c6e72c80302047c435bb50066306402302656cad1e8f15acbcadf3bb67ed082550f693de593c1e49a694769c06f0f482a974cc6ef7d46c935f94854a11787756c023001f931309243035f64f97c347917ce1814433655d32475e0e019f7fcb1b6fd68e4d592dfd65b918a2abf6894e0bb21320302047c435bb500673065023059dc21704730abbba3333338ba8870b0025e5301c99f845ce2ed9b487f26a7da1d51505ef96dedbe4521cf884cff768d023100ced75b54bb53a44b59eb7708596910a4d292bca4fa42ed2774b56846d9f665e321a01a50213d611634fad8bae3b51b540302047c435bb5006730650231009c53327a39624689088f2134e64ee5e354d8e623e874fb2fa20d93ef917d5607ad3aefcf3b6f35a0aea7df2f5039ea3a0230535dee24e9c4d469ae9fc2805d370d2907f613975d5d491c6a995c6d4344f6650307f3575d3d814f82a54c8e176098a20302047c435bb500673065023100fa3d52419cc4be8e732ff210617e5c29e0d570d92878f8bc6d5f61d0c99072c52ec0176691b5f68910c15a0800e4bf220230742d455da6aad28ad78743839a02dc04166abce1ec2fe119bd32a6c337cd82e2deb5f0be9d2418cb637d2745234384a10302047c435bb500673065023079b7ac4312812dafc5791b546ccea4b50e44d8427133aa2a128bf9f33c42ddd89776ba8409c99ad7cb80bb6903b75838023100a48ca9af88f6c0f6d05fcf372f60a9d7ae4025f543f68038790eab2b1ccd2cc3a14951fc42afc0c588bd45a23f515cc80302047c435bb5006730650230434fbb3d9a59ffd0012b1479a02e2627ec6a4b6bdb1995f57f5666d55b33e973645dc74a96ebe43f5bc001f55726e5bd02310088b05b5631f4b86350b5eeb3c2438154768362e8e5e019b9fd666ab098c40868c0433e6271ea6d36489f28e0425215f00302047c435bb500673065023060f256540031d1b77127005cbe7da600bc9906b849ed408c67a53b71e0e246f7f03d9d14519e995ed3e99c17ae2f6155023100b0779430c202f2b3477006d0d54b74303e788c96c187458629fa24762cb5b06f0bee74620d617a8b9b8203283c1306e90302047c435bb5006730650230675e270d9ddf4d16ae19e27f2af1838a816b5eaa5ae85d4649816756422984276ab8fe8da8cc7654aed2a3342a3106eb023100fa30e611f82033707c6135297e99559f6cfedafb35c6bedd5b9f7cbc6376b566c68580d60e21471942233423a27006280302047c435bb500683066023100d27bca145949c82492ec57af1d60155285d1b0943962050243400f065eed034caea88756616f573126bfc9aa179ba8c6023100f96da33f461e6db8dffac0698289928a81860488cb639da576b407f9f0b54e646d598020663c66520d4591e2266f4f1c0302047c435bb5006630640230494d1567d414146d0bdc7b35f8dd6b2cc4911a36c1a1bec5e1db1656b6faf5318db911056df51db7ca900e15c8e48e2c0230029a43dac1e19d6d7187d07167ced9aa35eee78c00d4a37d2e3d17252cba60413373a3778ec2cd43d6ef6533775e65f30302047c435bb5006730650231008e8e4b0717c05c9aee93fe090885a8db8eadba42ffb917eea57aaf6f68d536e782cc2fc8b6dc33f36f27023d308a98f202306c016336c037d9d7aa7f03e0a4f9cbdae07909539ca6a28a843e57cd6d8f92e8336b2cf217535534c2dd7dd08a00128e0302047c435bb500683066023100f83579369d97ee66880d17886f50385de5f93587098299a8027a58ed7da295a8e4859ace859d2cd5099559be4864246d023100dd10d1c78841dddf4217be258d21ff232ca6fb658c679b6445d3ad430a3cf40fa90e4a81a2f201a0e2eec30caff39b490302047c435bb5006630640230601b9d58d9a06b8dd162107b227d782ed9dd6dcd7a317f2b9126eba664ad133415eabad5e45d12da79606f039f04971f02305907653faec0284f37e78f9817fd53e5c49398ef62f4e47ba3914854ad85db38429f350e63a0c185cad8e8f44654e1c00302047c435bb50067306502307df8c94e050a7b9de1329d5d4a40d30b5aeb0cd18f126d39203962beb1cb9b29f3c6dda85cdd0f569a28120ae5acd14a023100b2d0d560f6fe021b1af8bf8c9a8af6f9c0a0f843afd925885abf770a4a527e48ca703b698a329f11aa24480d5ddd29870302047c435bb500683066023100d14348517d5a8bea87f4e05df48bacd23b81d1d162aba85f74aeb8dd39d81ef695cc3ab3f4c367ffeb97679949d253e302310087fc4933549d155d2421ba587ccb8eecf96ff48bc6fce7d021ad35e6e5e1228233d8b5d492a7155887b683fb69dfe6e90302047c435bb500683066023100d9c435e549d15b128cf7176f083482b98ad853ee49956ed2c9fb2ab3665db2af97d385945c38bfa9416562fb6dc11df802310086cba6ff2c13e639dff09ea4e7398cec6a2f7a056974dbb378e1c5729b2c892a5c7caa1661a6bd9933acd706f2c220a10302047c435bb50067306502305c552c02de3c98fd52c0e9ccfc42f4c3f7d0ddca7861919006ec735d28d91ddbff34c225e25241ca1b685495f9db2d250231008e64758baecd6e8dd556790f526febf0c9e55c878f692ff34c0ee6549615158039c436a660694f04fff6f18d19add4580302047c435bb50066306402304a12a4bf0ab76f373c185994ffb61fde3fdb43e96b1511cde449e643cb359c4c91675e0b0b5df05ab04a84dcc79086fd02305c72bec7bf1a3230a7d6ad1a2489a57fcc8e6c573ac91aaff8a19bf770ae26c0690dfe1a20b9ebd6337615ddf70e295b0302047c435bb500683066023100da098b5b495110b4d2eb424e329a9f20abbeaabb8539897d5e06d52198c2785aef7ab5da9ff545027e82dbd6c021376e023100e1402160b4cfd6e2267d5b040eb57a2eebfe5644644b3f1e4418605e8e69689d010f3256be9578305fdcf3941180df4f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006630640230057fba2861595219a9021b04ccd8912ef42fb483640c4814860c1daa1cbc441af154c7d719856d9cf05ed9d4711cc57e02300592b5c8a292fd6f0c16dd389b593e52c71a9cfbfa160042bc00c1e3a3d69a9b9ad6328777741f0ace594cbdbc40c5290302047c435bb5006830660231009204b1636bb45f5bf3870c0b7387fac9cb4638f863c2fb02179c8bfbe1ccc357f670e2fb2e1ad5411f28412da42e0976023100e1b1d8d5bedea0e352f7c19d4910797cf37bcb7c35ef232c610f6c126afff70ff9830af57f90264ee9698308a9367f7f0302047c435bb50066306402303d5da4ee0678e88376e393e39bf68aedfde4ec93cd92ac57757a55651cb88718563814d81e772c0393030013cf84541a023006cd39e12be97bc010035e97b607bcc1f10a79f5f72a865b08c038adec08f8741697c7ef6aa903621ce3095ca922479a0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006630640230102e922f45ba15c7124b1644a110fb2742620ac7ae8895ccfb5efa6ede740b352ac9b0fc38a7ad881d049ca60e51b4e40230192b17c053301deb606888bf9ec2afe0c62d3c51235b117429926ae13de136e0f65b43ce29fa8298c695c667fe8a44ea0302047c435bb500663064023049f7ac5177dde2b91a4c5f8147dc9906929a1519cc73f70b2b71c411b64117ec16595992f54a01de3c3276655372d8cc023077e79fcecaec419d02fc11a58e86c2a4147c2489d7f75de89ce7f416f2c5cef0c4dd9072ad8ced5a2d268eadd745ba5e0302047c435bb500683066023100a9d79b94671a9d35128518bddb01cd8af6ef251c3cd56cacc8c54cf0053e8a13b9763fe1a981ffb4bcf456cf0f3d1a8f023100fa8cdfc0428d04415774274b4149725d20ca2c025cef644c64086cfd88e3edc6274ce82685d6d38001eb8e9cde315a980302047c435bb500673065023100ea2e6c77c0eda49de3d32d7214170554a554177bb49302f0e345882a5f42b49fa1016996326e093e3b1a6148bdf929f002301a5c976436d4d85de6e134d432ea5a5de843783c127a18f085bd5655e3d7b8377ce039dddecb37b038c89edae4d773420302047c435bb500683066023100fc8b9967016f3c85214c167a9eb3832f1c074f7baa34f7f21de0aacc3900dd7690aeb0bc694b0ba898749d32b56a1085023100ec083f26f5981b55acd587e8f57383ce8d4504a36bf1814efab7934a06fe466a97fa2c63ac284a8ad4ec3073c15b9d4c0302047c435bb50066306402307f9ca87c5bfe7cb95ccf5777bf638f0a5a3a0f887ff239b3ba071632e3272554d2efbd1b1690791af88560182523a11202300c04b0cd3e114c6eea5b88be1722419bab36025da47f19e46edbed97178a28d0f4b8e83d3fc034fa987f3212d9c7b7ba0302047c435bb50067306502310096c0ecf694f5435f9b6a5f2abdef526226c218f8e4204d8c215dedf0ff6be1c613a2f1960360b38818ac858cf0ee4a61023028f840183cc4260d648dfe7e7e84ff48909cab20bac785f16267c7602ea4e87cf0c0a7b1e7e58a04970f5a03f9e840840302047c435bb50066306402301e20ec130bffc58e87bab6648e9357a734e10189dd460a3b2af44e61fae206965fe1c9fb4b9fbe18f653c1833a4b0fd002304abec65aa32b326d40ecbf61d950a4252d37363cddf48d34c95e6e125d7555de782a39019f5a00103e4f3761a511a9450302047c435bb500673065023100a74fde272346bf3e428d02cb9aeb03b4bd18cf8280437b8e80ecafb12e2859e32bf6d09788729fbce87e7598fd8f16a402300092e8361d8a683ee82b45261d07aaad826f9e95aceb7077d496a86e22780259475b1bace931d12a6f22102c655a1c820302047c435bb50066306402301da0eb3a60e03aef2bc169badb2fbd85824f0a8cc9ecbb9684b999f8dfe8558242cc86594f68e873d15903ceb2b7abdd023021595d9991ab50ab11e4a7555baddd3d4d8e33ed26cb35cbca7ffd7215925f3347b4222ac4904e0d01523cc9172504700302047c435bb5006830660231009f01405d4574f709f09e2bfdbc3829eba093d486c12187d7d6a33e7e5ae9a35deaddf56ddd2fdbe3a481e13cf995fb710231008b408d5edf02209e45e3160e4ada47ba781f27bfccf17cb474e1c65c86f94cfd44079aff033aeae413860535b98c61390302047c435bb50066306402301bd4326fb9ee0146ae1a5f9020e113e8f1dc6cc7f21706eff3ef275f7b19d51324d0f0701d93a0d947be715b7e5360f402304ed604e1614fd808d00f1b705b21f1dd5c6ba8838f916d953b9a41c1582e29574624c658dc43a0fb25db41799eaf181b0302047c435bb500683066023100fc73e0713c728a123ab8242e2c2ad402f7129a1c87a50938add69b61ed28457cf65937115333f4d35466138938fe8eae023100e8b5d6f5de0cdd6a3a9249cdd4e799ef1cdcb41f875a663a844193ad3f730edce9c4a198782626835e31f1826efd72930302047c435bb50068306602310086a0dcda403a00134cd7a9b474c08307eeee2c59d77dfd9f2b038e9b3eacd289d6f04b59f45fefff9fb76463788290d9023100f8a7bff234587721d7ab1a4bb518d478b5c9e112d7b92306ed66dce705403a2ec7b14911f3abff56c355834c230dbc6d0302047c435bb5006730650231008913eb155061e02abf1c970bef62045afd7e00de4b638e60f8e7a3547213dfa0dfaa84db4804b6d461678bf6c8e983dc023037b48a284317965a62bf4704027a65463bdb4198e7f422ee2462307f01bd95781a7059a2b5a7f02c789d189a3ae1858a0302047c435bb500673065023100c76d94eced9944e5fa34202200cbb096cab4a7baaa8392053f5ff9793a6b8a3092633cdefe4b12447c1a2bbab3ca45a002307743ff2d127aaf2e20be28a510f5c7e8e6522e96b0bb8235db6656b248ba90c8ff0dcbc4f6a763bffe238886ae895c8a0302047c435bb50066306402305fdf7dc444e8b66482032bdf2d14bab59741cf72ac97176930ec443b95c50930641a7bb32ed3a5b1e34ad065803524020230777491f299aa0dbc5c5fe14141110da258bd7248b41935c264c586979efd4872b95e72847991ab13f530a5167d64fe420302047c435bb50068306602310098f5105a260bc8b4d61740fff70e16c66fc892d1b9aac96347da014f1d0dc7a740d473b2f9db3b497b033ae45d4b36f5023100c7b3a280c57eada15adf663b297162c96c4a5ded490760fad90afc43f60617ee6b807978a582a02bd53572ed5cb833cc0302047c435bb500683066023100bec0d05f11fa907313083dcb72e3e86bb5cc61db9b0816a9481a97e0832d58e5dfc36be4f0741ae553be4f488c0157ed023100f7420067547130c5174466f08abee8cc29991259387e1111d34aa814b904d29a41320007b1ef10448e7583a8fcea31f00302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023100aede4ef40d0f78102a7fb4925e8b746a888ac0d41db1df48033cd3871183dd9cbe13cc558c095d3f51042faf2ab228d1023034ee7df95a4019110005b217ab5de466c71bf0edc237ca54c4699ad5a6abe50b12ce964f4eb86fe0267362133c57d86b0302047c435bb50067306502303730d0c0da42432dc4e904649a3cdd9f1602b438b772a0d24bddc7c0081f09289109b5337b687ee068c05195646784d2023100e9ba2b6374f9ce2ba2c13222c24b42525be16e0f3e0141b25bd18d60729e58e14f81384bbcabda0140e09181201272b60302047c435bb500673065023100c3c901ea7301b7805e3b62e6a17354332640da000c734274db4b83a65206fc3e18cb5fd68efaa8df9ffd9430407cd023023029603ba53941ae2b383de6243aee198621d39862790f1652bfe6640be0d80435f4916ba905beec382059a3bc1c4d488c0302047c435bb50066306402304daa4ad15ed6139fb9d65805f7042560df3dd1bdc4f642aa1e5c9beb7be940bdd647778db2bd7c6af208116ddd422753023071e37f6e08928704cf196ced53fb70c33103120d7b1985f8bb9cd7f675267f390eb8b9e521abd42cd0fdab232c1b2aa10302047c435bb50066306402300afdc92d526ab1c9cc8dfcec51551ea522392483c7c56db89207bf0727b2ffb84b3812f04f18baf0dc407fe96c84944c023000905b1006eb39fa042866488a3b832cdf2a60b486b067634c7da94ae74d96c9fcd3a5294a32d1db7a5c0b6baf8c14cf0302047c435bb500673065023100bd90c274397960d40aa462b07fcd422b482c2bd72b1a1d7cc58f627111e6500356fbc75b744d5f1df16b6765d66c0faa023035a2a467bd81247660ee7c8193c37f8cf9e1ab2dea3e76842eeee70312e7e5ae38a678e5c676349d1a47ac11e9343c420302047c435bb500663064023049c731e30fbec530aa5188eb6a9f881677e5b0e6b37fe92e06ab2dec770a99762ce5c4cb9b2e5f76bc1d1d37d744325002305604f3cc65d66b7361c5baa254e58c5b8f1770a73af991de5fa03219576282eb2ccd3048602c5fcd18e871c8c01fb55d0302047c435bb500683066023100e4c21af3f6d7b2d788b1c72d5eeecc3e21e81a34e371af0bfefc5624efe7676c775995f84a1acb78c875e1317a8b7b59023100d91c2580ce357e2592653c3a106263ead9aa1d99348ad3b88518d64afbe9a0c222bd9f6c065c0af27ef5ddf50bedc0d70302047c435bb5006730650231009fe411859d1ded1103ede8781bcab3ed4acc874bb9b742bc4abd05fd718189092d427736955d037887d1f5b10007bbc70230350cc02d471a824f4d1bdea4c794c6b4e4df128747359ec572eb0f1663837e3ab8970502732f7391cc789496587eac8a0302047c435bb500663064023069dab750493b83021d814f866a143484717d845f2e4b8755ba3f40a533a0d9eaeb357c339825acbec3c34c6bfc39f3200230622df766e881afb43eb94c13c8fb668476a6829728b5a57a82398bd10dcf2ed30360cf6d98f92e4058bae572a26af0c80302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023100b289d76c6e91c75a4e186512d72b1cdbedd32dd7b0d9e26967e21e73ef586b2892da8833d83f55162b775209ff6e9b5b0230574e9db41efef31e5209f8b18cad81edf7043a76b8793a7a87963e74d1965abd309aa11601af38073f808a9848d4b3a20302047c435bb500663064023048edf0d83e71d6c6b00e420e2eaaf0a4ceee0634e7afbe5d78e4150bd8146e82fcb5f060769114769f263fda16a3b80e0230641a8c8f8266936b5b74783d52220fda748b2ecb51e94391b8ee60dc26ee879248e59573b7f4ce9a3677f167d3d499690302047c435bb5006830660231009bd22ec2232f9606fc2aefbd20b0c81afb9f12cd4b47f44a76844da72e72c73552af4b7d7cc2dff82a11cce1add91e0d023100d9c275235e34a68f8588f5a3d510ddd9b6c1ffb116472f1c2dc18504478f81811b0e4f9eb32f110edaf8e30bc429d94a0302047c435bb50066306402302fdc0904402a933a105f5e7f00e81fb2fc860055cc116e0e6cc06c74106fe2a0db99f27b5d8a7a8381cecad151defac502300b7ee00dec8dbe7ffa2fa40be6e8107c74a298059e33c8c43d4276629cd2dc22d9861bd0e658d33e5d9628dc403b0a910302047c435bb5006730650231009624c5c9eda78d18fd101ebba14a715c693484034ca3a7342d468f23451610a832e2b697f219cc33ff9c295a86d7a2a0023048838a53f7733e077ac4081ee9d57729d8d75b5ea5ff24cf528365714e93599fedb3ce2b9ff4fccb5bca76a30f11b4b70302047c435bb5006730650231009931a6459ab7ac7cb640610aa08ed9b67195f61d4cd8617c4b67d813fd0c826b7add0c56190205133cab92b69a02ab8b02300814171fbb0c8a3a1fcd9322081a3b138f3c8ad94c4a2157bb4e8c300cbc8fca2fdd4da905895e5811b1e9e5c95eedfd0302047c435bb50067306502304cc75651188f2dc9a88f874c676e5abd5aed6e5bbf4d5daf099f2f6da420422ac21d9f797e4b60fa34323caba7ab9e2c023100e0b58146a3cc319635f8e6d209358a957b4f4b6d7cf0ac9d295625cc5affd7ed1ae6c1fc91752c342c24f6d1d4e03a260302047c435bb500673065023041c44f33b8408e108569f443c99298641b12d5862f5cc4174a5b3eb3a1b54c8139efc59eaf370df635729d1904ed56af0231009cce138c15dbaffa9505133cbbf449741759ac208403c87e0ac2a7fa965b1c502169d0725ab5a99c57117d506016ebfb0302047c435bb500673065023024347eb17c69cc40d26588459a48294a3ec0ca19a4cbddf482666108abac80eab4516d37ddf03dad61fe70224092abe6023100f7fc2f4051862b28de30c68b452a5295942981458e299354b2d8304bfc48279fd856ebda48a4a34b77aec43c32a8cebf0302047c435bb50066306402303d9d1fe08c3e29198eb185cc3e35a7b8fc3956bcd99023cf87aa74f65822c9cebbdf7d8ed6ea44d6c7e7f4af0436ddc102303f5119aa535909cba9558ee32e022c2e49149768be9aff9fe630d74414fb4b0ada3fa9a5b1b4e4d273a53fb4d44ea01d0302047c435bb5006730650231009320dc81546cd713011f72e8d3ce7bf32fa509fe3366bfa06867ed11349f61236f82d5d12a7d7e24fdc5ea1d96aab7da023037b495c2b1a0e12d7810700bd21b587742738a8b63eed783767ec0e2f53b7ca48da6e4352f9103361aa49e460a347c300302047c435bb50067306502310080c9cadecc9ee5d2807f7c32c41c2e754e9b45759d0ad70084b504a4013c6a4f423f1c8e6a02a6bbcaefb729a2096a6e02305e80ff13b984a177921645b30e6053df3ad16fc9023835a5c213a9aa07b4ef5e3afd0d83f531a27a3c4d6f88c45c2aa50302047c435bb500673065023100c34929ffeb6098c8112ab78999012a6da0469e7949f69bc6cfc4e5e26991fa530f9ef5af66e0a67b3f238666df2b413d0230279a7268fc407a423586b34940a3d51e10956d1da597ee1a8926dc15842b8e174f91ea0a302901a838c0865791e3f2c20302047c435bb500673065023100b8ee56f8f5bb38ec0b8a6025f072f5cfd0f10ecfbc49a8655b32166fa59b9a3430701f31fd375edc9f506fafe9aeface0230365cfd71497ff5429f0bd8e9e32d987965a19d0ae56aa81aaa69f91e67471e77e3d04f880e2bce0ad13df10186be5f420302047c435bb50066306402306399df5d4855db76a86047fee843122af26b6ea50caad7cd98a2454078c45f05fd8bb8750f70e15d4e2b49eecae781aa023075b4416e8c55df29384777ce52e9a13a6b980da7ffd4a83e34ef1f12a52faf07bef3ce5fd51272b156ea92f209403b160302047c435bb5006630640230460cbab0785d060e65c2a9904bf5117adeb4097ce581b19677fcbc75caf085c4ba1f1b8a4d341836b1a475bd4cf1ad8f02305c9e24b62d94ad55dcb591c1a645ce1b5ea4134b45ca9eb9f05403b93f400a0db37ec270c03c4ffe826e815f477d639b0302047c435bb50067306502302e3578a96fc92522171d071e03b3d521cd7c35129816325cd470bcfae61030f1b127ba5b79f9b0aabf2cb0c06d55a1a5023100f505ed290291fcc16c98ecc5e7003daefe57e7c4ca2c9d0e1e89289df4dba20a744f43c0fe5483c31cc9ea08a0b560ca0302047c435bb5006730650230291f021e1c45f531853d0de702d0c92f80d991575fe3b8bc55f0d209de75c0baa68b7867eec86059e24076cbfb3af58b023100a80d968dd34bcc1226b45e47d9070784de4cce853d7644ab247811558436f2d806a59b049351267c524be28ff5f4c7f10302047c435bb500673065023100f0e33d34eea13b678a7d048ab4520747922af49817af754e2c9f001f872eac4e7b5e02f8b5d560e5846b3a2a4c40413702305efccafa4007672b2a74c33b3a1e35df4337fe66cbefc58d9d609329c1cb46e49b2a4cf518b78877fc378224ff04634c0302047c435bb50067306502301c9e35922ec5a4b3dcce5e888bdbb67f59355156c54121c27b79897465e4f314b5f0d6a928496a3a22268b254e62d8af02310090786ffea1ce293222544e82d68a4439837ada1460a8734251e50461c12f1170e77402f88f6606732d2058429ea56fe40302047c435bb500683066023100ec273afa28f85607448b72d2834630d769c93e31a1da9ad012d30c7989dbd17b7c204d32f2ba6bc38c357f1830b4de8a0231009e064aa59bad64c259dbe6f5cd8317a496df3d71b1b27037bceb85e15107a0fd21b78bb0cdf6f744bce943cbfa3daa000302047c435bb500663064023056a6fb5300ff6ef57f47528bb33d74945bb815f068681088e69c995c97b1d04a049e27180c13c7b7ea1bad8797cfbce802302311b5cce54e2907623363d01faaf439359a16c96923bf7c1f08470eb04d06b22db6591b08d7a709ee15e19816edbb630302047c435bb500663064023075b718eefb7037337b585138eb28f8bdbf23f2c306333a246e4bd9f9f15c1d39ddc7014e506c82a5be9d098547bb1f1402306e630e209a5716b5324cd90f86102780a55fc9491f70e337ed6295f851122808b17218a8af0c5bbab9002d3a2ee26c6f0302047c435bb50066306402301e796bf049457ff5cc507192ceb8a85de1d7f48caaf670d192fc888f48dd8ad07eae6a99322c6450fd2342fecd96d07302300ad2c3e4d0c1936c51c61bf51b9151ee53bf515e68616c4720296a1e7dfaf31c43e799e1e6d1d90cfc4ee5a9d9bdce080302047c435bb50066306402307d2935c9d528871f6dd202ba850b8d5c9c957470ec38dc13b18c4e4fb60889c0ab8e724b7f7bbcd89e887c2eb99a87c4023030c3065f3b6db923352efc77625dfe3d7fff04a77eea0728c83a9c17ba2b497d0cce7c9a16f2ada5025def29646b9b420302047c435bb500673065023100e19a4c75cb6c2f7614c994ada8bc7cd35edb1fce43944bc558584e718bc788c78999287017a550e8e09928a4cdcd4c33023040310d39e7a48f27c3ca46eefa2cab35b79bc9f74f189f539ba3e1057718a70407f49e699bba3e6b6d7edbdd9d34dd6e0302047c435bb500683066023100f915d2eb7d64117c5d6569ccf23971f80cabaeb1e396fe6a334412843c97efae31639ccd4dc58c69db1184496c40961c023100e65cb701ee48c605076b6c5e5e76f31eb232c67062ef554e45d290b9ab96883e0fa5a218eeaaa731a2cb42b8426c2f140302047c435bb500683066023100ad8c0c77800cc82871078313bcc127587c9bcc1b9742c039fa1d3ee13efef41621e66dd745afe9bc1140deed4a258738023100fa283d4f3c0526440b3d4d0b040c620e155583183f3a14219cdb3b07c2c873e529eb169de13c646eab791daa489b59db0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023100d4e38ef2011297b81ce14b20b91a6bca9a6a00bff10391bdcd4fabb47e3186d6a11ef1c02c2159d19b33e66ec0b9c94b023068a4f78ed16e6819643f1f81b70628e5244ccce826c8e6647af3e32f61a9c8e261d6ff1e4877b3a9f1d2b4120d3794da0302047c435bb50067306502310090dc54a29b31713dba71d922e28c7b302d8d60bec8bee3d5221ddafd6b18af1e6a202a2baa013cf85db4ad2b0cd94fd202305b195d523f92000312ddad547929e897051b87b124ba7981cdc1ea3bd812e033685ab886ebb5fdc16230dee886c7646c0302047c435bb500673065023100897e93d1bd92d7b48b016132e9e7feaa2605183e58dd24a1d37ae7434a9fece21d2174c480841f1469d8afad713883ca023076678655a0f9b0f9340de3850c671ef62f520b85cae036ade07a453befcefe787e52db6e62cbe2023a260082dc3a50390302047c435bb50068306602310099337e05e61d9b5bb0b8ebfcb9492f7e8f4ac34b45bf811b9c613a39a2e616c75734fc35ddd1fb7248d965fdecd2254f0231009f258829a42357f1f6429076551c4e6ea3f250fa880e93eb6d8c1cad6e643c2216faa0ebaf8b16a7994feaf603d377ef0302047c435bb500683066023100a5fdd46221d6f9669d256601ec4ac761c826006bee9b302240bd0db3d07d1e16557df660e29aecc4f92d0d5231a0c74402310095d54aa1fdd51c984a1393e759c7407fad1db3ab4ba04a44a0d8ff93b7d68c8c8a022caea516a30fb22ea9ea0beb52c70302047c435bb500673065023077294ce8445ff73923523735bd6a25e273818d2f21f25301f0e0c5c217594abc58020ab3951a00332e660135cb3e9783023100d303b00b94eea16943409c2ca53a9542d4612741ba7da6061d4913924796248ea08c5175c61507ef2682c18e4867f9560302047c435bb500673065023100eb05f3924045311d4d7fe6a7970492d8218f973a4f482a462c63b310d37bab2fa91133d4e51f15d8cd6f27e207f253080230061157d873df76f49aa463e533cf64b9562972017de985fed2ed3cec032b1cbd6e3968ced77053e13c75c31028b5c4c60302047c435bb50068306602310096ac8d81b3cdbb9449881079fcee613d18a7cd160419f6529915741bf254af4a170913dfed4936a389fb0bb4ab9adfeb023100805c692dbcff4fd59025701ac64809e773a45e81f0758e136bc70cc810dff59fc945e81ad9571c717237100406426b330302047c435bb500683066023100d86a4c15169f9cae72f79d5817bb7ac858a44cd90711253fae9306992d2399dffa47929d2e02fb05a68a57f815ceae5f023100b06bf429e992d15c39917ef3ff1ec3737702c51a1c3e11a877b6a3f761445cee14246dd972a60b1a311d0ce0081adc940302047c435bb500683066023100bb855efbc91e1772a60bdc5ef1e1e2be33825553576fbc9ea5150eb9a4d86e5eac0d384fd179645b0fc508f41a2fa77e023100b8aa8c20b3609ea23f4825b8e3b6f3eb7a6f699814a313c993d8f7b73e2044f8873c003a88aac467d2c9d0203d458d610302047c435bb50066306402306fd155c01504cd2440fe090f592f63b65b43a121dee77d4c1de0d645326d9d64cf763427a1885abe6e136bca8a95884602300343c52c9ef4300867397c071e3879359d8ab6b76d9186886470686d40eb011dcab1c5c8496153e3b1ed96b98eaceb6c0302047c435bb50066306402306ce352e4d894134564ec4b38bd360cef3d815039421aa0d13fc20c74d63cbb677564ccdfaea9e46f33d8615bf1d3bb2a02305817f1b889a4fc7116d55d1666c51e67c4529c8a114865a8bdcd412c9517f4c32d482208b16cb7bbaacbe786696469a80302047c435bb500673065023100dbac7e122d48bd94c9847cac89ae6510a542b4098f9ed2745eb8a4704c8fb6d829d5d3becdf99fb43040557616355d8a02304d4869379c36d9506dcbd1f50198472b07f0e0e5eef34055ab5c889cbccc2d7060e04887161adf1d2177ac53c5478e970302047c435bb500683066023100f459713ef4e1fd9096b4c328ae61c1f38fb6660e023a58b2e7e124a266933d7d0e42270f0391b347efc5584b3bc7d840023100bff8a8b972ac2e2a0611b8700c69462e8781d19fa422a9c91e224a4981616d87ba1c8f4514419bb3d1ef4e0f629369470302047c435bb500653063022f0bd8e57cd06618291018873899c56effc83ec21957ce7c34dce4901d1b865992d3ba02653f655fea6bb7f7f5ec889f0230104b3790abeb48abed36b95b305ba4e99bf9f63672aff5e94a9ff465500565947d366899a57cc5a59c6d08c1c03f67a50302047c435bb500663064023023634ca254e9316a408b67ced75789cffcba8598ef2c9fca45c5c804131b57908608ddfd82b3613710dd79ea9351676e0230684b39ccb4f76b63a11e10ca193495f88c0bc1815f13d21ff5792cb944dc300d14516ef17c6f4aaca3f853e15e28af2f0302047c435bb5006730650230634b66b1a6681148d48c9901d771a685c5bb9e288726a6aba143af830c628af07923a3495a63ecf92c521813ad9d8e17023100d13f046c45989b28d0ee939628b6f0f2ca337802d6738498d58714d41cb71b37f7d97f43ccb706b4668f91ebb2b4625e0302047c435bb50066306402305a7799a6491e3e833e84e2586805094dced4f93966a0a1619b3069d199d09baebe7ec0891a200381a2a831ee60d0e2e0023004f05847aa8aaacde282b906382098aa36b84c58b63d631f6905d8cfa48170213755daefa0815e20312e1a044acbc1ff0302047c435bb50068306602310098ed82017f95d64dbf2ddc21c4d4ae25ebc9f7a6c25cdffff2258fe544c33f15800d43d23b43353394624fd31256b566023100d96170b239556af5807eba625bff3675816be6918a2e8d7bd25e1773742c01fa8b619e7c9b6421b8e1013ffeb03deab30302047c435bb50067306502302073a43615be02780b21ea0f8e5f232548dd47d880e7cc4e5203eb6570fa919fece3064abd888e9cb0b660209767315d023100d42981aed539939509641d693bf8a7bb7dd61a99b781e68f61f9fc28fc8c0f8e7aca713f919d3c1e937b799e2c0dc7b30302047c435bb50066306402303785a38b8bc43a25ccc61e712787f0b137fffcce321a020da0341b18c7cc4ee1695fda8a36dba005774691a9b48686ea0230517e615ca44457d888c4b79d24ee70accae723800ccdcb26a051dd60a21fdf1e471e1da7833b4537ffa5a42a951d96340302047c435bb5006630640230629c146804adb7fdfc996bba5257d0c4f4e00489dedf53adc3babd7746a2d45f5f967f7769d77bea63f63b02163e0dee02306538e55a84e850f31e40577320fc325b65a1c1e33481ef11b63711a8c65503f34bba9476edc579d310d5b0ba6c9bad300302047c435bb50066306402300c5dc6f7ee95437d85fb1dab9a1147566c1fb158f4ec71eafd5ce2de0b4037ec2aeae5fc9a242152251fd74a31ef5e9d02307d6414d37c467074d4952afcc0da4abcf0dab3b3de5e22cce7c15b17e253e316b8572b94796a68296d13a68a55a0084d0302047c435bb500673065023100b8279bd76fff0c0c2ab5ad3855069df68734f09f3510b5326dc231f1fd0433180093e2df4381c96b8a784e1a21fc339c02300e1b2eff396d65b77c697c1d9ba47aba36942dd55a8c172816af1de00bb7de9844e8b50c50a4a28e70e438ef71c63f3e0302047c435bb500683066023100daacf2144506fb1b2a9e48dd1eb5c446a07ac74807b23c0179184f481d2607e8a2ab3a4142daf3ee19736d168585c707023100f4f71bd386a75f4c435a5468bf15a4802c2e7b4dfd91a766a4fa6b8a12869d3625d924cff8eb9975fca6cde856c4b9fe0302047c435bb500663064023013f0439b7542764e79576e5c3277df337bf3844170c29fe83b1f69f1c1a8c6d85ae1f178adb5f5329dc39c792c9e9e3c023039236001705b7832eb078fed67004c91a67d4402fbc2fbf1d3a55d1c3b033a7b5a81123c5b1a38b11098ff5001408e5e0302047c435bb50066306402301f715ecd1a90327910a005352641be1366742b2c8698d7b924c3e6bba2f5f64a6dfb72310084a96ac7df28432d132760023012c487987c720f48552eb71a8c9a21dc9b7339073ff8b2043903a8c03b58ec77b25ea6273d99f1db1fc07e26978c95880302047c435bb50067306502301c9f634ec44f166956a0fcbd9a1f1ecab880d549aa4c77044a99527689d1c501a50ee4ddd8d755a84ceff177a58ad8e3023100c80dbf77a8b9f04fa996c1b38f2fd2f492b90239c83e6126a7950830454b925968b03ece81abdc22a722825d86b50dd60302047c435bb5006730650230399c5ffb62371a96989c97c69d9f2854a2d6cf3398a950e0f4d021a30a9999ddf658469426e7cb0eb33eb53f815eae88023100b90021e2d8127da09dde8875d39948d0554dd13f81d6071131d57be411eda396cd4d768fb42060fd0367b38019c171aa0302047c435bb500683066023100f621fe8b0692c90fa888f8bcd7b237fbb25e07c31a60fdbf5c59e7e33c934f9429298f9577b814c80ff1537ca614490c023100cbdbc96a3e0dd16adfa75b1121faecb37a19bd5459428dabcf0a0347e00290a9a9d3994468a4be28c497fe363dfc2b250302047c435bb50066306402307f02a3b785bfce2f7c89e7126c06c7bbd936dc3a6d09e43582be7dbcdad3f7dc2b6fc6496e31687d51987e7871a7c61a0230570c16a7065e6678a770701f971d101d967695d7b64b40bb8b54c05af84da8e1e03d8c00b49f7c86601298efef11a7290302047c435bb5006730650231009c93f50045656f09c9742f1f0fc7c9da27f66aa95cd2a97bc64935687bdc7cf9d017132592c237f8c30ab81d705ade31023017b8a33955e9b3a2ac3eed820580424f3fe4c757eda32237544045ee0a3457555adddada71f8c9295500730c0eba02c20302047c435bb50067306502306f3a19aaaf6f3eac8202423ba0529e7ade9c2a46e64930b90161f94785c32bd0048033d1b16342d3533a3371d4b5d6ab0231008395ffac89ad37b9d018c02bbd621c712b056acd0918e2f174651b14e50a5f70baf723c8ad49a06e59a4792e291f6a550302047c435bb500673065023100dd05054cdc42bc751a04374897e2daa8177e1134a5de08402c162fa1643feac025c36b3f0d6706a76558333d7a0cd37c023001c4e041895fd230ade8760bc38e91c5a1d2a7235ed947e37744bd88271188c4a5ad427e819b8fbc696d8a07f251e6e70302047c435bb500683066023100e95de35fa7ee3ed070c1ae3d72fe0f3d1f6ffc0a44a8c6c05c4653a6ff6b580ec5e89dd2ad93f75b2416a0e94fafb04e023100a04443d5e02424aac9c4d50074133617517772cae1dd0eb4c68d147a5daadfc1e06ae696498d35ce8387ccbbb6dba2250302047c435bb50066306402300fff3801dffeec08330128480cfa54e40e25141149d0a7e2fd4856dbec114b519d3a44d680f10a50cd23e1d98bc6d4a60230109a7592694dbb960a92dec3c346632348bd66ac3395746f9c93f9375c5e118b75143b217c93c44f22f1fd740baf3bf10302047c435bb500673065023041678bdd8ff468e037164e90112b075933a027926fa51db0b65537d115e7d62ead48f6bd189975e3718e2a71f0240d8c023100aacabacdb120a8c3b9da2693bd822a628f81d2327515a0bf3418e9fd2a394ec51d07c38489d00b963e5e3962162d7e330302047c435bb500673065023100d8a71859b2010f97c5f430f0693c120d47a0e6d55f6b3e59a6feeebdf2032fdda485cca5a451c922309d16823163772a02301b46358b83be67f05e336fe02bacdb9e2225dfd48b757cbc33d0f9e0874628d5265d9a7e1afaa71544cf853c6bb61c560302047c435bb5006730650230282af22afa57617a6d6f47415cca6ab942995e7e83c681bc51499b235e3f55dc797b19459ba16f51fb0a72c8c4c8a76a023100b15e94ec89469a9e36681dd9f014340d2ad92941cbf37f528f22cd2c35bce4320141e911ba0c82d34a0c945067f568930302047c435bb5006730650230441ffba9afca78437f837deb869c7dde44a57e42b810c6802378bfec00ef9b2b50ff17f502dd41e26b12fcfa8a6211ce023100f0d4abc0ccf577e10c0fef36dbaf142f22715c1e602cf45fcacfb56992314c1dff0827f5adb3b997aec33e47ab477f400302047c435bb50067306502305664e1814b7a383bbb05b4e99b58ae925055bf58a69ee067742cc0669972f796eb9b764f0457835a4dd94f85a8c77828023100a3e521e2e1af9010c8da714feaccd3e4f935b4a6299f4f18638a383b2eefcebd3e99d1e66569e5414daa0ead29e981780302047c435bb5006830660231008fe92ccaa06300e5117995cc5342eeda943ad6d045c47cb238853bb0c206605a1527045af80b163f9a6a51681905ac78023100a2bab598f467c60c215e66f2e7120691027d0e8402e2f9b0723d056900ce6a2f7977fd727716f709a8b2b48db29732010302047c435bb500663064023020d3b55e810d97a9e0da0213c61b454d349a0a5f55a4954de8dceb4e8529d2c2f4e02f378601299673edee5e0f17b7f402302e0bff512def53bf855436b559d1bd29c486bc43e56dec523d9352bb99a2cac7285a0cf4547a05016c27f67670431b9f0302047c435bb50066306402305e13d82db862a9959873653902a0e749258113724c9f1d906690ef7b0bf7c59bc8e127bc4cd980b1e2b18c1cdb0d56a3023020fc07ec75058e816ec4f9a77c2368302f06242bdb86f579fe4b655d874a66f5733001f7eb54bfe62c6edeca279df59a0302047c435bb500673065023100cb7205854deda7c79cd2a89b5f456be12d4b2403c70bd0b0f3e1e84423cf319f0d7751239e16f94f29450e1451c9522702301b5a036bf36130a8f3c4b31eea909ce86ef9125d3cb98bcbdf54b5f3c0ec17b77b44560e709d983522dd9cd1004a694b0302047c435bb50066306402304f341f65a8506e0905530959a0afcbc07bacf86cf2623823fe6b3836e791e68f807a5668e808567faee8027c3f0b9ccc02307ba566e6025e173dcf6038ec2d8b657c31695242242fb6e80d833c4f9f4fad7f6064b350d4ee2758f07cba4e7cb36a070302047c435bb5006830660231009b2321be3d4ed20e547bab76f04e8cbdc4fd36b0cca68090f27262b6b6222730f42e1c491230d674a4329c3c018582530231008933c7b5b07e1284f162eec5cfaa82c4ed12499ca49d645e49aa4263454b859941c3127ab4c1bf49e97933dee66fd90c0302047c435bb50067306502301439c88cf317f8a7c1144190c649a575d31621112c26bbd69be107af553df5cc7cfedeb4a8764e4e5458eac32bc4f7ae023100a71683940b88d451156e6aa55d544c3d81b96a04b9cd2a680f704bf3e25970cc8adc756bf75a0f6c2a5996de22665a270302047c435bb50067306502310088ee96d06ea53fe4964781c8b1f7e1c016d6c7572078d1572d0771c09f56a6d60ca6d11bd2da623d63fb654c280c7574023054ea90d9ccd82228c13a915a320dae308c182b1f2a73fed76408086d42b3538a2559ca6ac17d773de44b5bf14860ebdb0302047c435bb5006630640230393f7612205df1062a5f92d8afa2a59377b77c1298f02b7538fb21b254d522637601cb7038e0c5987503357f123df4e7023027cba1bb59b28c67dcf8173823d44f2098b0d7333e1069e5636f0d6399255e287a7ddfcaf7c0913319d3f2ddb87674f30302047c435bb5006830660231009a7841f0fe8f1eb15315e0f4f4e3809d988413c86be28139ea2817e1fd2d112d9052d24ba9f7db50b9f98979072ef136023100e25b54fadd0d9eb72cca81f3061af5192610a69edfce211ab6d0db57e65b387b2581109c08fb0859b0d75b9ada674e230302047c435bb500663064023064c2a7d12910834c0c46d26481a10a2bf1212637e9d11e394326eb18b1ca286a328db329d567207bfa434e9b953f3cd3023063983dd57bd5b4a053438d29f1202aa021adbd12d5b9eb09cc53ccbe0d1f39abd367c1cfe17efca658817b755b1dcca70302047c435bb500673065023100b00f17f1816f0ed9d98be8603ebb6cf248d4e2a375cc89f1962fe8856278d9366d53aca694c1492780194201a4afa4c602305bba232f5a983ecb39d72f41c8dcc20657607b9aec1be33f1ca178b0214f4f28f2fcc56767302aac3247c7bbe19eea3c0302047c435bb500683066023100b9fc22fc64fbe05b8b0e62ce3faefcac435bae05aaaf02f9f18cf09cb6f356cfff3315b2e37c4de3d3d0e4ec0d6835ad02310096de6436a329a3441f431fdc3375a7f7f4201d3bf5ae558efde8312ff94b7d7c0fe0a2fe6236d54ecaead8fa92adfac10302047c435bb50066306402303f387e5cbe317d3636b984ca6d63e5b5ceb11d90285c03559474305726264d17cc04c1f1dd08542e7ee87379deb598c302307d6474d903e59c69dd3625f8eaa785bf07260811ba148ba4ee0685a9cd9cd1a6042cc3b32fbc0d1b2a09d8a5550f47540302047c435bb50067306502302e8da3b90a316a5908ee1a65ed3f6bd2d85b6bcc4b20ec3ca40b2251341f738a5ca368426ec715ade673cb738579de27023100a2153a312806c049e448d48a079a2df255de7009a6b897cfeaa880f6bb26a3d1e0c014dbb39938f5e1b689669a97436d0302047c435bb5006630640230088aa31c0d9db980f2cbb3f89e02289bca3dd1f5dcda1bd3ff85f04b288b17c1b38e2b99770010e25c17ce51d58e6bfc02302ee234c461e8be1dd441ed7d86a3e709dd0721fddb69825e4c584e97567a758519bc7eb6a8874373469983d17ebf14770302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023100f196adaca645495f7a57395a4fa00e6bc1f2505678da2ab8b2e120259227f2d1e608e217e82c169143a2562badd794ee02300730da8a1450e595a31f0ff652f0fc3ffa612fe8d08b7c88cf6118be12b732965c97e8a2fe22eabea0d66a091f33bf430302047c435bb500673065023100933a23aa28f4829dfc17b14f4d469b859a2fa41a97c21915ab04f9b5de06197b3ce3625d3afb61ec6b1570da2c8dd7ed02301f92d9a49375ca837371ae02e04cbb2c78ec5f59d33bf510f966a29750749bd393f1c34a851fa40b1bfe928b665b4ae10302047c435bb500683066023100838617cb3c367a5286cc3f076f3e87e00e8510a54036a8ec355c8db2d6c57c9454f141c9502b08462f2a3d67c0526003023100d82b5dbf1586292b3d3e4421083764bc5ea1bd2ea85a8de03eba4d5e92310ebd479fe51751299b055df5cc8d8f1a59790302047c435bb5006630640230331b8013692f30bd7307f046d969201c109971f7a09c7b26398e7d95699d04e82cee749903c7ef9473825287e0d16ae10230604bbeeb2a38b002c5326ac847ef85fbffec5ddd5c6b701db0d2bbe620b12564549338340e469e7d67f2c2a6ccff6cd60302047c435bb500673065023100d601e3b486c81e89322d04a750555492511e6a2d439d7aa675f17c587998494066d471f9ac18d41fa3aca745c8d24a2302300cf6d1a9ecc907225585162e1edc1b7c9676f0c2fe3996c41f5ee82ae0752a0f0164d876159a6b410d85cd78329318890302047c435bb500683066023100bbc0eea401259577cdd2287a15cbf9fd71e84aec98b471508bb3e6208eeb1de40c2e7ae77560da05c5137553a439916a023100b1e7ecbab50876119f8b942209d10c1d446da9877448df9f2a24ef18b460dea5f6d7c596dc816e8ef9daa75eb23cd8370302047c435bb500683066023100a5d2010be01547baed2a0c7744eff72a32cb8151d734aac221bf7d16ad17505b8693c5f08285ffc69630a79e75139cc7023100e5f260e5ae61121d5f92c2bf1fcca8d8fec06377f0d3d945ca913ea6403dec586c85956fc91a525b232fe3b0e1995ad70302047c435bb50067306502307f953eee6584bee201e303b7c59ae1edc6cd5744918ad0331935f39fc5e615fa4b064fe590a08ccc7d67c93b2c8cb978023100a651c37f7ceb64a74a89a53a5bae56b3818e74e83555efc8126ddce3fa77aef3f8c370da4e8f7dec7585e7b5dd34fab80302047c435bb5006730650230699b398d3287588db2c49d37fb3ee0ec61c782d5721727ae69b257b8a14d17233e279d0414712b64fe289f1575fdc7390231008a6441b2f95e8e4cebcb07ada1b6681ba7c5db2389084f580536634968e3a0d031e91ad93ea549507ff85cb51a6fe32d0302047c435bb50066306402307f686d19e4628261379d58bbf0b8461fc03bf9b84443be2d1569c07150256aaad9a13af8787a44d2f4f502a6c8bd2bcd023045f5cc6eff297579645fe94da306b8cb63014fd6a0837579d9fa98b3ca2e8f6df8a8b3e6ad7f3a1203307cc7ca76c7280302047c435bb5006730650231008ee829dee576045054172c7ef4abf5a3587cc690c51f655066ee92c47851c81f24471c28a308ae079ba06953ae59b7e5023012280a1c397e8c2fe0dafb95386898f2c0b2084904e20e686ed3dd25769c00910f4df6563f9216bbc2751997b15197280302047c435bb500673065023022286f49102246bac07650f69fad81496d564617ad95b7c3b4cc653358179076a0913f7837aee2fd8a4bfc8995d9b404023100a3340cb9d1d65ad639dcfa71b78f93705b0a85cbe7a6fea7d92b9d1928f2a77f77e746fb6b975584ec3fbf9fa3b70c510302047c435bb50066306402304f09e2181ef858570986b14582345e1d7392039b46d3f5021c44a7f114674d15af7a16ee278fb439483b350ad6b1a40902302903a0fffdcb62796ade6eb2eceb69a5280b7045914dc97b4928615e207e12b635cadee88c562cf2f5ac330419d3cbe00302047c435bb5006830660231009439177cff8a07ca02c2304606c92e05c94bafcafcad98802bc03fd800c5f1ad4b446c1682cfaf3d45ee7d81f56c85f10231008dc7f34de7685160367b06286c35dea6eed678209714be341407f169578506cdf8398b2a23467f13eef00b8510a020ab0302047c435bb500683066023100e344e63fc41b3544c0b89145fe4b7ade593e6f35d946274cc3097741e3c0fd06cf45057e9e7fb37f439b07fd0a28e796023100b11f17bd8ff9e7e1fe2e6cb06808a1e93ec8d4660a9a8d594342e5f4c02b15b9c871f0b2d3573e1170b20f738af65b7c0302047c435bb5006730650230513aaefb36b71791c85242128f9cb9f09e417d45efa08640b72c3d1c2c6b28142326164e545ac6db48c2e9d20af17b79023100906c6002630b330be9a89e81d9cdab5cbd0883f3c015946d4a72248c439580ecd04a0c4adb444e1d185fbeae6f564c7b0302047c435bb500663064023008eed795af69f217193a5175f45bd8992cbd9cdb369f237a6f58e078996d27b291c8c75af700f3a7854d0ee71cd4fba7023058725347d4164173604e65a60957ef30d4c361a88eaccc63b19ec850e138ba3789f1abdb7995cf74c8bfb15fc0f5cfc40302047c435bb500683066023100a812cb1fb2acdcaa26265943885f6eac25fb8b0d57725c7d4035138962b1525d2c61a15341d7e804abeb4e697d73b36a023100bc7ea43b37075efe5fff950afa5af5685fd1896bf4662c07f25c6e34166bfa4f09a0cd4ef1f4b8b857938d6f5867c9530302047c435bb500663064023000fb0259b722f6264868584ea5059623445cb1953019c21ddbf97342ec0f7eeb690a472259d0be7c5db9f4c1512c462b0230298f39416b3747e00bd91b78fd855ca0d77a4e435c43845125d7258c0219d172107aba3f3357a6dcd8ff20ef85c0ddf20302047c435bb500663064023100870e4146d651a32743ba2579543be900123d8c2cd78b208db07927afc485a45ea9de9c95c8ad13ce19693176d9c4bc36022f7c70270ad2e98036ad952375530189cdba4c8ee197f7932d42c5fdc2227cc07a13cbcef52a631d8ea0033fd709f3470302047c435bb5006630640230738339e3213885369a68884d8d520e14ef79c4873e4b3f72a9331564eec3598b7c771df0b6240dff88a85a8c5ea0239f0230070a6e013a8cebf80221b08432cf4c2781c106299290eb8473fde2d37bd554e1da9f9a9c0318e885a0655beec6c7011c0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50066306402306db81445ef8d91a53fece974eb8a7763847e26ab0539adf02f401b00658ee7e3601cdab9679fd8ab12e0a8ee4d40639402302d41790dd8a60fbab074a1df646abd7650e832039927c8c4ad74dbcd93c3a8c336e8f4a76fd601bebefa52dbb3904ff20302047c435bb50067306502306e408acb54f92dfecfe1e3aec4a8e45e1e04d58cfd5db03fbee55b7c0799faa5327992dd5cb7a7fef6d5852d6b58fd14023100a3dbb5fad40cbff82e34f9d9d65192935a76cf713507b25ac7441cb25e9f4413e4275b9e1cc84deea1269b9685070efe0302047c435bb500683066023100a1a5bf3c265f9d8298fe20bf6f916daf2d494ba72a1249ab2f919a808bf633479a38cefa9f9ecb6b64a4409eb14e5e0b023100ab691f4e9975918b00b9679842605e68c96429acb8cad79131fe9e4222b5a441ab7aa3e8d72380dcb94a41034ef562140302047c435bb50066306402307fc61836a50d8f30376c0bc1ac882f08593f39ece7701faded6bec7ae9881f37b17022cf873b4fdb76100acb7f4a15c2023021314e9ffd6be3697f151277192709061869b7e30b4f8b2f2ccd5e47c187950d09f2a0808205e6ab0935dd921beec2f80302047c435bb500683066023100f6ddae8d0b5b53b605ce648dea06012617dec58b2d00a80ee9e8c04ac8843f4f270c878db53d341f3e094184def2dae0023100eab70d85c5fd03ccf41c7a2d1cda25e8f46ebe98e9872c838cf72d774cb440c80a4b173bc1276d26867127ed290e95470302047c435bb500673065023100e7eb2522e8150931ed5fb8d88075d7c5c3cfb66cef718b5358da9e6cf700b1d0474a339a8b3be4392c14f7e9ac78c6340230452048ebb9e22552e099116af89a70d8112ab5fb6ea41fed16591a1ab33b105c9754357f19bd9f9e056da5d21a43a3ec0302047c435bb50067306502310081040306411d23281da92b546a536d9a518cebbd51c846662303dfe0f35a9b6d3d67d84db51471bbbdae274312cd1245023063bd7fa316580d6b58a9409839d5d698de25d2ea169cb6992b6f8ab191259a2c0da08b80f62cb5160f6004cdf031b1c50302047c435bb50066306402300f4a9da48742726ab7560b8cacc3617948da27f453ab67a466d3ed254e3a56a33099dba1e6a2a7850605c68e195a605d02305d0019cf162b3601a647d1aaadee6f5e5fa7bff1b5608e6abe9cf30383492d9ab99da8f97881248bc5a8afe096afe8210302047c435bb50067306502300e854e08e4444934c4135d03c1ec704ebad69905e485e94b4db3760d39bb793277790c89f3f954efecbd150c1d331095023100e96cea675860a8804a272e7d1dfa83a10943473940b6d2b374533296affe41fdd325c5a86255da7dc8c3333f97b548500302047c435bb500683066023100a906020500d00e010daec9360b0b95ab249b83290bc446c18cd16c67b76de7bdae0e2aa7fee9fdb337bd709fd804ac16023100ca3cafc3679481ac6cc66be4ba19c2fe08f26c0d51b28e06dd6e116c9782a8c8122626d115713081917920f7e97606e40302047c435bb500673065023100bf8b2ce83ef86f563d83101cbda5601f4cd578990bbfdf97225c8b84150b98f981d6d989b6cd4c01738895d13ea605c2023037bff06d3b6d72593eee6afa3be0c1ffa87cd93b7a4f00d844ac999abc06ba0408d7c085be5f629fe621edaead7e30930302047c435bb500683066023100c6f937f2143ae9b703c1b4e69ca3f8c34f4f2f0b95e689d94fc128170e5dd433ee299cf53ea7281c96089d83cd156564023100be12a3719a296ea4a68b0bdba08f3e5c0a2a16456ddf13fbd07f726c2fde6786ae8347e7db163f59d9f09cec2857f51e0302047c435bb500663064023069c65e252cfa1d936970865cdd6c2318193ac128e547b820661e785961b409146c37685366ad82d70fa33f7b1663bf7e023019bffc1c2df0f96378beca33d87a02b944e1148a371d32656496dca3e029b220f0bffc1f9ae70f1e509eb6106562861d0302047c435bb5006630640230266b7b88075ad09b9c3fb6cbd856e29140cf294f85c6e25a11e19c988fe3d53b70f99aeb1be94e041d343b84cb3fec9402304ba34ef8c178176972b5e3ec01d223097dd68b5a030ac147e397233cf3e4e1107eaf7a60d3c6d8546ad98201312fbafd0302047c435bb50067306502303707bad81bab4b5798959e630f811dc95a71691c38f5fe71e933963de4dcd61674371557e395ac7d4ba9f7dba8d87df0023100db5aa47a43dca6138524d528d1467f56d361b58e0b604bfc0994b827aea2f5ec2294f0061b06e4d3e4179def67f9fd9c0302047c435bb500673065023100a62407b00cf15d550e599767326bf0c19c9d2bf3e4642bfb355ccb6d3732c9bb3187d42e0b88811f8b24b8379c4f0ad90230055420ac5bd455318a3924102bc25dc034eaae052427707308a9fcff8bac4ae6c9b6c2d426ff560b273368344a7a3c780302047c435bb500673065023100b934f272feed4ef3657279fa9b6b9c84c83f8725695819c68d3dbad5cc5d92493a0065f1bd39b1884ef85f8a311a25da023041f4707b49cb24aacf0411bb3208a9d91bf9e4dd80151f68c267a22ac967f942a78a71d35d128c7f3bb3ccbcdeb90dff0302047c435bb500683066023100ee212f3b4b68fc4f7cc4c01a56ffc5cfffa952c5f11e22fb42a50daf6471c7866adcefad51bc5defbc02edbb63f34b1f023100df784437a85450524317dfb08698ddc3c8d9f1af101c1ff39e17acca5753d98dc3eea4a534fd736d57fbc3191c044d1c0302047c435bb500673065023100ab19c284ca5ba7668594dbd3f16017d5f836b0fc8b6a408133fad92fe9df9d4eadc6f4725af14b44f98ce76b2d5bd19f02304bf30e55919f202f9766a95767f1ea3fb93944363e2cac1e25d404145e7c1b9abcf41edcc24e2b61e26d4a33a7afa7970302047c435bb50066306402303acf776845d34240f658b44ad314464f337b3f13aae875abe075021a89c21b524554a5c24fe38d27f169a41a4e0d563402302cc8b41077408d0f7da4a28ec410400d70724c44fd2108adc0c5e18f7feee59a861c472bbd13d2ba003d5136c388a8330302047c435bb500683066023100c9f9fe683e80fe0f8868c9d72aef22f4f14781c13e413d5ced7820a4097428559891a685e1184566b59f819ec40756920231008b06004b2d7aa38a83bbd0c122b3ccaf641411e489fdc25e79fdafc95debd14ce6d73af26ee379e9288e7daf431cadc20302047c435bb5006730650231009b89913cb65e4c5d53c3fc610da95ddab3abafc6119ab5060a7be746659288be067157f4454c907c212cf05bd4a063ac02301ee87a3060257787b9e97c263dbc687861360be8f8a57abfbb5c29b7b020794eb51e86b13d83f4d21d8140fd53a89af20302047c435bb50066306402303ff271fc669d776b8ef30aefa9da6492ca9c34c93cb273d8d93c4eaf101dbbe0ab1a302d638239e637767463829376b8023005090fc2dbab3dc3a0ccdc719e0764ceef284e098625949e516a421ed6f1df64c5c09cd85292ed74c0d0ae1cf8fa1efb0302047c435bb50067306502302d2a4a2bf3165abbab16b2e7d03739fa6dc29937a7b4c573394513122b21e6c756532a692ffbac9cf61fc4078592d3c1023100dffaeaa9590fd6f238f3d2c6918706121007269147149a8b1c3b6bdbe53feab4aae1e97bbd9b7d087b948d0b6dcd3db20302047c435bb500683066023100cd76423be17353703e5559fcea9d545ce9e68638d83eb050515e79d3dbafe13e76baa3ae35bfb516d68b4609cf65d735023100a43593bd251e14d2bf31ec3319f664896e152e357f889dd62f922be51db8757c93a6e7c722b3bfa0f1d088b80e2463000302047c435bb5006730650230643437449bab9ee8986993743971bf1e41cfc5874fa4ccb0095a6683c2c9071fffdebc16e9e7a2f65c174fab030d419c02310094080b8bdfb3000e3fe5cd922eb2e4e0fe47f438463ab7e47868c1901b90121dd3f06ae995a76521961f1f8a909dd8430302047c435bb500673065023100bf12384bd7df0af4d222a83f2abce7aecc6db2a6309246ad0fead44749d40dfdf733984295fe8ada7f69a9c639eefacb023064ee0cc784356a4630be8a93d3b3023c394efb24370b96e67dd9d8e1c09d998084e77de00e1aef2216aa8e18d6efe18f0302047c435bb50067306502304f3fcc9bc4f4e8362e31c3d264791987b272404ac9389601618f67b4f2256e76739afe7ef36c70f2dfcaa32e4ccc90500231009f8eed02e69808609452478eb74914324da1e2d3332e569cc3cc47ac5841d8826b40895f8421b4b767260f3fc519f5590302047c435bb500673065023100ad7c75ec00f514974974140546274a3255e00a8b5f7c1dcd568ac3d08c602a1ecad29bff6548dd2138fccf63a1349de702306e6c22d98ea4313f7836d9b39be9f06f1fa4a2adf5c8d989f93ef760abd3903f14a677e0727e567bf5c3fdf13fe56c5b0302047c435bb500673065023058cd2d68bd3be26491627aea82b8a1cfd6396a9ead5df8f9e166541959e1c946b4df1f18871f27aca60ef952f7b372ec023100c79030031bc7970e7e5c26cb615c2266b656611f76325a1e7127390ab91e0ac16610b23251e2a47179a858d8e95f8cda0302047c435bb500673065023100e19393333804655f3241f91bba82392f9a55226d374aa782b58c74ad3704307089fa9b384531e29e2f6277c8f26a8bef023031ae5409b0d0ddd9f2bf71578dd9f112d42c034916ba8b70aa98805fc10b9add6b90b2a00054d11221a822ed126e88f90302047c435bb500673065023100f1b7cfc944acb96cbae1c206d3cde6d90539ed1bc80520e2d862f64cb7149e4bae04282b07c9b9917c2ba5516029faee023030aad37c9781bf386f348c6e26d204ba1189fb552244ff2465906ccb1f1789051a09f79663fd411f5f275930e17d53800302047c435bb500683066023100c6ad3e68b516d9a5571aa99babc9e824e1380eba49603f3b66c5dba089effe49099251cdfa8a49805db4b7ade7fc5867023100df6295e5f8439588e0583273e2fe617a4c07c348fa08579d22cd58bf25aefef5b0224d5f538369be61836a5af5aab9e00302047c435bb500663064023006711b3b093a444bb4c29bce023e64e810bf35adbe47c1755e28f006906735c40eb89bc69e2c51d062bfdd16fd4fd6fc02306790b0bde84f5dba46b6d3398a6611fdba2d7886c8dfc86be2f4174080d22af21736030fb35088c36a9a21594bfc4c4b0302047c435bb5006730650230020474c18cc9d14d315edb13389586a4100032da08efd6f2a765ab02b3974fad518b3987c61aa9e7519bf77a7ad610b1023100c4e3b6b8e0cb3c49888d6e51f4960a3ae75f8c7820e4416c104662a1a3dcac40f89049584cd4ba0fe8460c6cf28c14150302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008cd355f5b6d21a8b5ecef5613c8283667b051bf0c438f48ea4df0272c659c699fc864678cf76426cfc8195f703f17fa3023100fa97fadc0df76b39628def60a60ec52a1a0c30e255fd75ed34becc2ba9d838701be08dc09b9769b9e6c138e79f12da610302047c435bb500683066023100f71b229854df4ed3fd483f2bd1f4a58f26fdaa557cfceb2cd20565b4658e74fb391cc83961760ccf5fa2c6a323df2afa023100ac89d60f2e91171ed0e09d4f02679c2a4ddf8c22f9661ce7b927660ae5ac3540ba008d0f7c4e1c6bbc746ed35a6402ca0302047c435bb50066306402303dc4b5caeabb15f67a3ff8f39f517c38e22a49c667641ffecf001cc53eaf89bfb530938d5298a7419039c8b40280284e023047b918f00401f6f020f4250e4218ef9663a2b5e7af26c083e4c54b1619c5ab74ec342cea8a018f4f2ae7b5dc692b33f30302047c435bb500673065023100de6e4224ddbcd1fa5bd5cac82ee3e34fc467efe3e25481b0472ab171f5a808255102b2b2eb7de94ea7fbc20a77e509c302301af7f8d86b3276237d52d21806ee85541862cf8b1a8806e495f7a85dca17c61c93e34653fc5d20ec5f366d1fcc1ea8e20302047c435bb50066306402302a5c0db9cef59015b4ffe06c1d3803e4ded473267e76961c4ba6de81a7eb709e168172ace099a3c9c433344348bd910002307f46c5689a14d76b1af4f72a3158c2d581ef61a604238590288f4f2663f3c29784fa7c6767fbdbc9d1bc9731440356160302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006730650231009f78900b021d7058641ec4dcefab185a2a12d5f8f5dea5eef0d7eb3e6572c21ec36ba1602b72294c794dfaf124a352f9023059011e62833b5288313dc8525a9044d4ce2b8252b25b2aff136aa453360a889cddd19f560a3da90f84967da5170c1f6b0302047c435bb500673065023100a8a3a436a367ea60386cc940cf1c8515da445e4854d163100420c9062610db435d90d44111f5f60f5a263eaf3955898a02302f2caf8028a03b678c9694e6f0c9117a366b106e00f850bf3fef3e6d2282ca8e7afd0d39920bb2abab26a4dd0bbfb6200302047c435bb500663064023000e93706f4e3972fd36713f279952ef366d32bb35e513da030f1e812a09541450ea01753ad8de987723846e5aa39a852023058ab71a395ee2d3cf3b11971c54e66df23f1b09759d4f5b76e61c63cfa6ff3f15edc045f742ea3383e30abdfe0d8c4be0302047c435bb5006730650230561b3646d7cf73a98f7bbeb5eaa33cf76b69361b520ded1e026b5c5946330df40192984c9136aeacee52b88d4ad2b503023100a4d1611a636e2ce2b802c5e2f315d7ea490bd93f23376ffaa7b6b8df4b5a322b0fe3f3fa9dd0fbe0771656c85fe546a40302047c435bb500683066023100b62182e873f1bbecba0d253e21ac87efe6fc10f5dd4cfe2fd1db0fc337f80c5f6d90f3fd6109751197f035eb2bf87af2023100e9a317670e40372e3ac3fefa515fa661407d13d0ce9491052536aebd0d4185b6c7f8dfe53d6096126a637a5b219166f80302047c435bb5006630640230438b0b487b8d95cb8cebe5e0651a874a9ece469a0fe9c441f5924b7b7b974ab7d3b670e2c3f8720196595cf9b8fb200d02304303431e844f2bc7ea0907bcf8f63a09ecd8b69181c6b7120e52f42549fe536f181679c1f4146455a40904287b4097d50302047c435bb5006830660231008bf37594ecde6779022dbdfce082e4a5cddf958e1fdb0b8cc4ecf96f64a21c9b161a2b0d065b2e060a9b5016b34f81a8023100d6dde8f7b396c74e20b2b4e6d68f2d0a2f105b2d17e1f1784caf5f38cdbbb1742b31ff90991c198a34f35f5065def95d0302047c435bb500673065023100bf56bef8f75e5556142f8ab54cde35e55825cbe65631ebcc32ba3954e9185e18f717202c7fc04068d461537b71a31389023076281a482bf1a8a281d6562ce9c2bc690da16b65b5facfc41938ef57752f59206823b06232fad245d6a60b7f71df93280302047c435bb50066306402302588be2b4afa8b9802afb1c2179f043d2b3661a39333bd05e88fbb40035607af8741cd7069a23df03a38d91e0e4988060230297bf09b8bbbb3dbcdcc49f9365db41509528ea67fc7adcca51010ce339cfa259fb111ed53060b6c155a0c0c16718e650302047c435bb50067306502306821f3e729bb1e74a3092d4c9d3d905385398809f3a816a4a074a0fbc66a0bf1474876344147c0aed611bf0372443fee023100a56fb7dbc1903c568d3a6d5b5827fb1926335fb7290193c8c6c9ca71fa6de864a11735113804acbd2244e0b1f4e9341a0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500663064023042c65845beba281ecff61f317d58ee9536fccb10c1a9f6288309e50f8f23da45b7a3303bef81e91760667a0901e087fc023069a2cde76949675939b6eb5152e0e8a90344b68ecee1b9e0aedb172ba400f33816b37c6f88bf0a99827479bfa79ed3b60302047c435bb5006730650231009bccb4c9d2315810d45a36d166b2f15d1eabab4622b8e76c2f61d3d7cb5bab20bb8275d1a51f4cb9ca388d5d19cb2104023042ae30c9c8e4d2606ad7aced044f8cf81d70848078512de4b0148e90ddf1f2b3e0373edd867cf1ecc2857f0178d5b4040302047c435bb500673065023035a8e9227911eac87f6ee8cbc7c0153ee4b191f8810aa63505bcd1fe7da905a1a009025bf447d7b4dd1c2cf1eb2fa197023100e6ed7728fd1215680261e25f8afaa18408c3cf1ffbbd069fee1377691d1b241ad272da5465d6118d534f34eeccb1af7b0302047c435bb500673065023100c63c5db8562847fb2d20a0b144530ce81d574313035e4a17198387bb897b85ca70f5116daa06c056200343bf0fd34038023074287d1377040e7e3200b9e07ea6f8cef40e2cc92b62aead5931ecfa7697d1738b4d06138f55e7a89e90e2f5d48bd52a0302047c435bb50066306402302876612dd8e2773842db41aff86902e01ec3ee43b9c4a58c744235dc916e143c6689fb43e22546093bf2cd2a5020fd1802303756ba6a51c02c90789f0ba1f960e211fe55e2baecc0cfba051eaf6118b5f322510875a8974eebc71d87793f3e7c024d0302047c435bb500673065023100c4556e84fd295a31dfb04346b8cf3c0a51e2289f33b099bf1d893c729774e3760acfc8a17f82263ecd4e8eb069ce17f5023024cc995940cd33f28ee0cfb8cdde35336e44776f026762588264f5e07ae5211ffd591642a6d0998cb4a1d23c4cbaf8f70302047c435bb500683066023100f1cbc617210cce4e0b25cd23bc1a35b9899eeba3d4991f0fce99ec1725c56ce4be1d090288bf606b2ab0696f0b0fecae023100a59d6fb3c2fa03670f21b8d2777ce338749ff485aba1ac3574e84137a771aea1bb3f22b8204850ae49291b843eff9e120302047c435bb500673065023100ef4984c661928e77b330a671ff5a1b1526e805a5a6449b71ce399a55bec65564f16654e413d20ef5f3e30d7b3e853bda023065739a405e395e20a07f1a06570866d6bfe9271c73e636cbfec1c17f7841d71ca3a9a04bc0d222078456fa39bc4498260302047c435bb500673065023100afb7daad3ab2919af30729989682b452c9d769496e670bc69560ece53689173097f1d65a4917f9caa617099fe34a938002301cdac852a304bd58c9863497a4c4120c81be40052f2e18506b3861c9ef3aa987a9af5c0331e1511c3067bacda754fc9f0302047c435bb500673065023100807786bfdd4eea5d130dc6f28c27988d8899a923b619aa3eaf2f10fd1b5a77b3a4e881d6ba2a98d826952bd61b2625fc0230359c3c21ed6087f5dce6c743894b1a730a1fabc10a9773d865400954ec6a11b985dccf3b66cabeffe52881a87ec3a4e50302047c435bb500673065023100c95d8f572905da23e38d372696fbf8f65b73c13b919dbeed68abc995e2a7900c8ef0641e65218fe95ee773738b54c46702306fe9dcc92c4445beeb5c3f1cc71736cf38519e0081584bcd80cd58c4f533016533cedcf67a1f32449e346773c3c024110302047c435bb500673065023100f9191882ffbce53d1b9db363570539ebba2f65750f24dda035ffeb5d00d79df728650c9b7dbdba468a501ad8ea7a0b480230239d7e042d2eb2c99cd1bbbc84296240a3bf7e4e6aeb8d39fa9694c8c268fbd34cc210f8417dcd8d3e76e187c9ecdf2f0302047c435bb50066306402305f2a25141af69b67e07e6cbbb981964565f4734d2a1b5d8757497f82bd25af538f6f486f4b9bec0f8357e268f165d75f02307464ec4fe255f2db6ad3da95d462067216d00f8ccb276b59882831c4fb16a3de33f8e07dec64d40ffe19e4da6db34a3f0302047c435bb500663064023021d05e4c8a5b29f1b172f678d4af9c27284dcca3c51c27b615f824cd3a3e1ad573c678ecef5a8dcbcc4239b7a4395b8002305670570616ea9ffafaf3a3912ec8f5c0665c66341d48cce648b48b1b61eb128584a3c4897c4c3b022e1bac82d12b02a70302047c435bb50066306402301ba611f5ecb116e18ab1c4f6a6c71381da5cc04fd2f15b2aa2882017a2e39153f16b773a5deb0d8dc6f676c679898823023008e9af6825a54524f943d3e5840a8ffe462cbf1cf0e9f35561fe5f11aaf567511a0829ebef47f1350839e5f6e64972f60302047c435bb500673065023100eaa641f579a09b6a30998bd4bf4e6cc31eb48bdf3b0f7948c112c87d5e2b13f719b4264a3fc44ef49089b3e29313fe22023071afb64b95912ba5fa7962581734d8ef64d88f547aed007ac3f3320daf5e469b90b86e0e3af06ee66e360b6f87804af20302047c435bb500673065023100b8b586d7abaa06869d8bc06f1c7bb8b18edb986f4f3939a115771003ebc1ff13eda2ebc03e1103a67640db00982179d602304581206be5f1fa015d118e89780dfeb0369b632c1da8044ea96b6003241a56d3b00abfb27ae2bd50b348ce79302dda670302047c435bb50067306502303e96f1a5c91f18c8ea53951d1fceaedc527f64436075ebf37d07f0f2b7ea6044164a94241184eec30a0c1dc84ffa58e6023100fade550ee2a834f4ceecf3ba30e390b769c403cd7a3ac81d289d5b26411ffda11ea7bec4666af4be66ba187e255887b30302047c435bb500683066023100f42710997988edd0093c639b3d1409efb399d5113e40b303d6fb402e6fc93ea22563cc76202f6bed280da3ce1ee7375a023100a14c01c4efa2051a92202205cef907af3cd523e1c110c4f24923f1a34639c23a2ea425c8fbbf0803a52a4b5708a15d880302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500683066023100a6d8c6b6f6ff1da940f2141e055d7cafd34d8d34b60b1d8682670ae977f0350e6ef580056b2087f29562255f1835ea6f023100a8349c6e44a00f9114d0d1396d930114b0bc3128d419197f799ba1de59602ae1f501b6991b8bf31459f19d1fecfab4100302047c435bb5006630640230183d065c66785d626a873bf086672516e0aa602d31afe08df0761ebd0e595242dfcd14819f7c4615eeec58987cbce3bc023003d43dab7d45bf8c11523357341b15fcda25b5f8076b67eaf335760aecffce7b7a534985d92b7a0ca564ec814ab209510302047c435bb5006630640230662ea5e947a08fb181765ad3c19bc5bf71b6c627abc0a24e096136a0ad4567ad8593707d511ad5197a114a6c6400ff15023066b5e1bd9de46a233fe784aa9cf8a23e2bdd4130d787607068fb534e9065dcee885b071999a2419cfcc085230c4c38720302047c435bb5006630640230160a551a24158097695f68c6cb52895d6aad5a63b8be8cc2a6c47a057af417100dd75d5910dc7ebab076d01f5259fe7102304dc97cf02e84466073213866593448d0e3193359b8efe38857c9ad132faa3eb73298be75efdf9f5832fed821c3db0f0e0302047c435bb50067306502310091a6e5ab5920ea134998f2b0923ba390f0319a8817b6aa857c18bb1ebb493cc194a023e87a9283baffdfae9a38cf5924023034f68ac3f83746562f187b82b9ec349050cb57619804b0b77cc3eaff999c7947ce314a11ebf92846754859832a046fce0302047c435bb500673065023100a88e4a24f84a6cf8617326f4a1f50035ca1b0b28708ca620079ab8445008361c176e121016437c9f26d8e75cab6f85b3023078ec1742d91381be165a4d239439a6c011cca275255b45048b7acbcac3d80f292fd1cf1997a32ddb1153a5095f173b8c0302047c435bb500683066023100d5b249b614d3b6f570672f6ca112ef9e704d3e460e1e08286ec4bb336022842ef154b3ddf12990fb4fe4420f7599baee023100eccf91b1f8880d44b0b1e6d705e4a35681839c78e8a5c55858125df9dbf3edcff6fd1f72ea35fc5ccedd86030a9a000e0302047c435bb500673065023100c0ab1d892b84ccb5a0d7ce6937d7c30f504a58ab3de8bed00058e71e938136f690133d9fb84e98ed1dfbeb1af9387bfb02302dcff22ddd06a1fc57ce5619d461cadba4990e0a2f1e0ecfa70c8e1cdb5c51e6a9817dfe903d159316611a29dc933be10302047c435bb50067306502306c284a9f22f8d1ff9be068d5449df4d63ac04450ebb83ef1a8af6ac66379b4a94999da11ad8ccf5e06444b14d36323ce0231008ca5d194c948f40412b34c5b53f2e50f9ca69bac2abaa820bc81c8d8228370c4be49ac862594b582134ead6f91345bbb0302047c435bb50066306402302564363eca631f78fd01bec3a02f488012d14f2439a9f5219d1e0e9ff34483d1927d4e34ad1e7730bbe135ea1bc11c0702305769e12c5f0f8cdbefcda13d034bb7d4d1254c5370421e2aab530c33b6580ad243d61ee8da9fdf049a807241a7a7f9230302047c435bb500673065023100aaaaf5c2b57042f22ab52815eccd9e184aa2ef8dab39e49644f258b6e3342003c918e95ea81affb4bc96ca08e508501a02306ec9d4d5a057205f39e81bffd1c1270aa3b993e01c9aa5ad223b1dcb2596e00f4e34545f24bd61b044409387fec5f3ea0302047c435bb5006830660231008489ebd7e422ef16aba0a85daa6f3e4647d2372b93e4d65639dad87b39ed4b272d8752e005af8dc331a8de60102f9d31023100823dd81aa15335ab7d7d7ec62c225ccf563c0321ce301568311d0a807ea73c13534d0a346bc938b5f65b9fab0d5441520302047c435bb500683066023100ffcd04cea80fd33f6aba7bbf01e3d713080eb73a0ee8ae972186cec033e4c99903c141551fd2f981d3efe76cd2e903ab02310098b7e58f3a3f6ce5e52295c7641669b9e4a81f4ca49a5c89fb20f71f5c3eea57ad72d222a8e4a88442546fa2c46203df0302047c435bb500683066023100fc2083939bebb5335e2e04d6aa213c8e2f69b05b7be3d56d03da875775980e8a37b16dedddc9908726e1a454967b8928023100d9362c49e218fa6afec762db3a6a5e94a488e3da0d8ea1586635864c5a94910d2a50b46e9d03481c7ae2b10ee5da6bf40302047c435bb500673065023100ecb14fe7fe4167f8fcf8e5aeca5db12f232680b585fceab41122fc7a2487ba55125cf6bf3bd855e71555a6c240f928d4023035d1bd78232b2d4acd4397af2e75885dde2bddc62f84271e9f5b5bee71ced95f65434d86035f425ede8ea0a63ddd11170302047c435bb500683066023100f64c2056771d6c87fa4e671b8a568861b5cbf5bfc8f776cb358078c7fdc61a043bcda57572b3d896352ed452db7d0fc0023100e045da146219b70ed5e3eb2753a731f45832f934d7e56c5759fcf7ea920d428c3910caa8866ffc3ad646343ecfa654090302047c435bb50067306502305bca16e26857ce580e94e58cfe693ef1d3b6f0b031777bef99fe4c70d32499711079d9329a8503bedc5b9d91957c94e4023100dde587b4d7ddc9678a9196c83963c56721551a9b6b7ab755f7fc01b2d6f8908294a269c70a1e069ddb876249d58a1a250302047c435bb500663064023002ca9497d0b2a8e75ca288128ea8cd8a407f75bc6db3f624d8ecf1367c23cc3ffa66a8def2d49c9890ce1f405a4aeefb02303f2c90e0350d927f2a2388000befa7c0cb44b41bbf9a490e438b9fd87f74630f9aa8386203bd8e265cef80a5fac8b0b50302047c435bb500673065023100f943fb8272ccc23f981636ff68924d750137fa4306cd5e9ec798fcdef1f67606868cd981f61e729f34cc95e1881808d4023019462a9c3eca7bc3618efc220b60e82f01eaab8b7936fadf8c876fb80d01a2abd92e07533459751a6a46a469affa82050302047c435bb500663064023028917dc5433326e767a964c4cc9ed5983484ce19f9a9fbfa5f3f1823ed78453a65bd8a24e53e845a56d0d1abbae5446d02302b6c0031c00558d86eb16d80d8d617bf657bfc5e5b03cd98b05b2c12221066713bee7e48f84533cfddb0206f57ec6d8f0302047c435bb5006730650230082abf85ab56b1f69830ed5d14018442c463b16fdf07a13a11f6d9ab621f92eb333f5f24f2b1f0d6bfe6dc14d8b1a9450231008523b4b22fb528b2fb8e0dddc2a64da31d7acf8d5b28cbc2321784d64c586c9b0096daea8174d945f6710be75827f3db0302047c435bb5006630640230662224874fcc1e60f0e772f13269aaaf1c2395b78caecf921971ae44c1c962c67bfd3e3e2f32254cd6571034bd0b1fea02307380891a56804ef32e94820583cb662562e68d157f7a8a5aa9c533ebf0e0b3f2764eb7992c67579cd346a688256427d30302047c435bb50066306402301c7b2c50cf01e489b90c0d7c08161ec55c4d4dc1e984a14b19599239042777baafcf295ae8e2c052c2d7b5bd656385c202301a2c010b1a8f90e6f1c5ec86112d14983f860b6b2333bb26b9812daf9243f1bfd9b0af933c892b75bb6d7fee890e66370302047c435bb50066306402302f93ae68a2b23725647c46c0044d7857ce86269a3a6b7ee2ac4450d064cee1e0e99b79a621a4325a0615cb2bc5e6a43402303d5d19290b6ae1b01e4056b427804225a34bf015b95dc3222a53a733b069040a36941be1b1cb5336be051a73c27b65530302047c435bb5006630640230749c14c9d3d6a449f2bc2766e70ab796f01247a98d7ab2d17819ed5a57e561585c0f98303706ee8a194c907577219fe40230272aa66a2828f3207c0446913d5eb469e685bf825509fd72009815339a0ece1aa4280c39234debb76fcad17d605468290302047c435bb50067306502304e274cb70018e692ac488eb8d1a5364cc9bc1d3bfd733ba4206a7b9948bfdc9f7c7910296ab7cfd84983740350df80df0231009c01b239d426a077ab170566a03a562d9826d513edc9df57591d377d0b5847bba67ba7c94da1fb52ddb164c4a7070a790302047c435bb500683066023100ecba72679603efe0e48fe4cf7bac40bef0add57320bef34e15d79cb20e093493614438ee706ffbbe73acfdbeacc981a3023100a435f48340fb4a7030ffd9fe75b929d6c0fe994e541ad46f304126f77639bbc46fe57098ca17dcc4e97833af28b646230302047c435bb50066306402305f68abeb90d246e703d5f77cc133755566d01ab89d4550c22c5403d93c90e0d79bf219e26e99996e0ec4f3d77220193a02305ac33412b8e0667e7c63e0994d8f08b2928dadb10409b5eb8dbc6847f8da9a6214537f275aaaa35344078bac018640f30302047c435bb50066306402304b32f0cf11573ba50c8276f2d261f0ea3a76ad06218e78713715f36cae975650b4abcbc7961b9a76803fb3e153dbf59f02302aca90504e13dce32f224a5c46dd99a56962f01b90a99ef095fb1222eb91822cd8babef75ab670ec91528e99565f8abe0302047c435bb5006730650230750597916df7487a8f6c73d9c79f406809938fc9d46bf8f1c0154ba9ea88994903c026d97842d5b5458b8fc610fc5cc9023100e626b9e469db969524f6ea7919416c565dc92ed0c94001e74aec2c30ca68e37fccbd594b9af6f26e3b21a9f21a9e6bd70302047c435bb500663064023029edc13336bebc5ff4f828cc72bdaafd07dd85159dd9c4194f37072b0e70a82b03fa4adb43af5a22107911f4702c7f7502300d505815af521bdbe96f9057558bf4fa71ee46fdf9f0082cfd06b36e79eb710955673d75ffff4d333bea6df8e991bb620302047c435bb500673065023100ea74de5fc98f79a8b6874b063eb073a253059a1fddbd3ab975bf821cc6f4fa69191d7ad8798ee4fd7ea1bd6ce03806ee023036b3fabbecd14d0084244b2c2ffc82749cf9a0a90c58f6e354a434dc45807815f1d3f9bb5f47b7ab1a0097e2918189fa0302047c435bb5006830660231008a8b098b79ff4ca40dff4623f6307e3ca18e28e61e02eeba9befe537e2e666d3eeda3c74a1a02d174814acdc580b52e102310096cf87a17904dd1f70b9d0465d903e243ce47f92aa1e6a79b476f72a6377f0b7d73eb514486099ccdda8841aeb3923290302047c435bb5006630640230423bd3db50c84bfb5f978c518c8dab35a6ba9b45259e12809782c885a5097f29662e826c90dade4a37d6d432ffad892602305295f7b70d8ffb2c011fc3deb1b73fefb06d4444a71875170cd312356785563738b87925fb3b6fd0281a72fcbe4f1a1a0302047c435bb500673065023044ae0b0ce30e5d055fedb08f03a0a14197b2cad656a3d843aa81f3357cb1eacaa70ec2388cce4ce0b416a0e8d2715f4d023100d967f0ff52fa7a841f1d5ddec6638008f160b759f38e7e0c45645b82afd56241c8e502c5dcf2edefb7c3fa355ee3baf50302047c435bb500673065023100ed63b6bd0a0fa5140122b677f7694d041777370946fd37c77ab5e2975b86baa85c3bd5c9c800610b8f92a8276b434b3c0230030b761acc8f7bb4b8b0d335e049fae59ff6db8b00a0ffc1bd40bc132b2ce6f2dabe0678921c3958b984ece881709ffc0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50067306502302cfc20939f3ee32581a84e94c6353aad2eaf14624226cdfb018a1a48e71fe7970e1ac1b8539e2530abe597686eef00a1023100c3c892b05c899a91b5048f68dceaff27f573e2ccfc7e3cc40e560c3ca7c1c17539c3fc468b8bd859240aa81aa46ba7560302047c435bb5006730650231008bcd4a85ea4e8a612184c1a16585e13a70d20e5b41d4bd1f42d19069962011cc1d5b8da0445dfc36f3405f081503a67d02301557e707511f71bbedc9b3b7442ba4b97e55cd6a542e6817bcd7fec5dca47e8d778d3ffcee094ae3b94107484dccc52e0302047c435bb500663064023046bb507096052476a3efe253def01b6e7158c1cc7f373521aa186b8b5d72e147f0c5f75d88ae0801dd2c0461c00a637f023075b43f0036e6e98ddbb128f8d6ccfd6805b1dc25268085e0e17acf813074af3b72f48b0134c0deec10a9a0c628d2018a0302047c435bb500673065023100b88674b86b057cd13dc5e5266425aec3f23e6bc242446aba0122b34e4e584f09597195caae20bc52b4f54ca6a7e77f1c0230665b1fd64b5018e078560f65d7aabf6aabd39096e423c7f89e96ca5d642360d54ad0a0dda4bdc5ee456c9d16ed1466580302047c435bb50066306402301f25bfe136a1c76b801d4ec3ae5ce6d49625472d6810a7d889456f429bc611d29a1c7e390f98192768f17a47d4581fbb02306634a11a3d8d8267a48a6d10f168571fbadb071bd4dab6804d5ebaae2788f8d1a7cc76f1ea017b4841e428b0867e71390302047c435bb50066306402300b41220a95f74f0b1dbcf1b75568b6f76a5c488c6e7ebd535577ecb46ba4691a4d5e3f1ae11e02db2953a4425862fced0230084078d6556fcd670981162ec752ea237f45a49e22e55f67e9d2861e89691acc32936621714336d982e3c7ddb49808c10302047c435bb500673065023006d42e3e3bf654278f2b2aa6836e4770b5a62a26cc8d2a7673bc7ab8af6c86c33de395f6b0df434ee36c71cebb39c54a023100efceb760c17210c44d59a34eb68d085866242d333b1eef3a5a43ecb28380ac3e3e5922cb36e0669de8de093dae5224170302047c435bb50066306402305f97a495c0d39e8f833ad2d942444d95cfe1b2c23bcc4bea5f7ec0dc9dc15b023184537d23089dfde9073dd523380f6502304522b645454dad09ea41e47b34184e2d0af1acfe2da8449de8e8750b42dc348a89ebce722f08e2e838c8f2fb1435bbeb0302047c435bb50066306402305e54ffeeba1595b5bf5d430a3116affafa89bde08b8e3b5ed165055f17d3bcb110825b8c1f9169107a175368ce3d4e5f02301013c30347d9b7eac4672c3001b6aed6f3986593db58fd7fdfc787408d91542c8a0208146455d6ad2b182eec35951ccb0302047c435bb500673065023100c095a256a3aa39e5f90c75956cdacd4713343d6d2198efc1253fa0bf59f6758f3c1bcf6d3ccde72bbcd7de59d3d6133202302de5cd3bbf42ac1c21da1c2162496ae00073ff53bead6900efd9ef424ed0247f497f8e35e68ae97d8be8af36af4bd91c0302047c435bb500673065023100c672252865a80cfb023b51f6355890b85e16e5519b6cea31ffb5e132b244ceae026424ef64d6b487fcb023936ebf2649023003cb96cef6eb6f8e32fc2433ccbe70dae5858c805e13d49f8868f5d9fc0cc5b04c9183737473d78e86325f290f6645860302047c435bb500673065023100c1b1f89a1e62dc3b1a1347d9e25efefd6b6e35eea4e3e5a47fbf5e741598bdbe9e2a7cd0baf31a14ed9e86a54b3db7bb02302cb71c3b95560dc215b5d9413e64f681ab147affd9ee1b2ad05db87e9cc22b84f795d559be073d5d9dede9780c5046450302047c435bb5006730650230795397e1ab22003a4009122509aafc37f82ab5ec1e7cfd2496ce9946fefff23b0b22352d9bd4b367afe26ba83b0b8b220231009d59b4d0a1a9300fa132da2ca8246decd089899e8e345e65f62827e51961b67d6c111b6a7bcfff71f5c0eef166bfde090302047c435bb50066306402302cfd7f921a761894a7974446af422080b98ffd7248f378f05d4208aa066de1f9742b719d1b002b29ca400cd0564cd0e502300b7237dbe82b2ce94c06d5a5ca770353054de9a3ff63d982e653e143ec2155fb986c4888a8bc5d36e0c1ec81f3071d070302047c435bb500673065023100daad4d1a52b0e87755415ddfd6ab36ae7aaa2d44633b1b5e1f6ac8be5b1949caaf02527a6a571ab5e5879a736c96d6a0023031133ec7e8808fb8aed5a7aa2142450c8acf0c6fffe25300ca737d961f1275ad05ca3b1347d756ba0d3bdcb13b7690420302047c435bb500673065023041fb29e8fd270ad86c772bbfcf542d00a9e85abf31d832da53c9b09ca0e364ae32291645f183445c4fa5826f3c7cb626023100993071f1681507bd82cdc2527d9de1b4815c502b1c40ee29104f7f92520b24fbcb36887e2ee7ed76d6bb50a0b12dccc50302047c435bb50067306502303e98d03e11c7765ea2aac0aa3bcaf5b5901c9f339bfafe43b4d897eea47dcc83cb7037c8ec65700ba79e33c61e85d2d4023100ad5d9f515ce1dbd2281677e85094d591cecf9a8c740529694303d21555265416b5e3029a4c89a6df47655279ae2bfed00302047c435bb500673065023033ea4c0f4c65cea678523e8a10d26ad6b8d5894328ec93a29f79eb1410d285ffa56865d34543fce11ce6b7c8c5fadf6a023100eed6eaf771c831b97cfcdae59142cb6a62fca2da2a4cc48af789cd1e26461c90349064b0724941df69c377a97f69bdf90302047c435bb500673065023100b5e50eb97113e0f04c88ef087d6aca9cb2eee37e49ff09d977b57b200e43c0ce89076e4e566d86c315350fa4be4769e30230197057068d993042f0ca3cbbaafba3c8e66e4f30f14950bae536789b075526b4bf9ad748e67d576cea05f35edd37424d0302047c435bb500663064023018f1f3288d3e98bc13bbb19bf9d41db37cd967928b08af113034b4191d99bfed6aa3ebffdfb378458226e1cf2987cecb0230204727c4fe2efc1ae4808220b849898fb222328728a995eaed51273c76d06d86cdef68cc8a7738a6d10bb82384fd26da0302047c435bb50066306402303985e9afde6803e579e65e05fcd6d4810e90ead939a3d012a0abb7ca541a9cddb416d8caca4f967cd961f02da882249002303922a049f32d21cde0ee2944e1adcb6f2a6f29d058a07252fedcd7170e591f15861de5b3ed9840f43ac3f795188cf4640302047c435bb500673065023100bda598de575738d46ae39dc906f256862ec62ac27b48b52057eafccac32bffee0149386c16b201a3a54a4220f62488d10230145d473e86d7b9fdbe7acb2882e5f67a7ecfc4dcda1ede83bf44ae2df3d72d507115f54fd4141861cff6145d6dcf92560302047c435bb50066306402306fe9714a468386af79231529370f6c38cb3bb6d23bb865b67bdf0e0bd87eb045df29f73e288bcdd6a91c04ee6b71fd2f02302254fb681f03e6e8dfda8799bd23c73f985b3ee29c0d7b80b2dd52632a7d54b1161741cec2c00cc3ab68bb61e644bf5b0302047c435bb5006730650231009566d12a30462374a74e5eb193823eec172881ff7ee852351a67c9961586f168ad468c4cf5eb6032e9e2cd0aa93def5102303687548027fdb4bd925e886664c7b1b39fe394fe407c599858363745429bdd29eecea55df3c548354bfee18c072728dc0302047c435bb5006630640230739cb01410aa9655c65a4bacc01e8c8b4b0ff38deb3c63f6d25dca97ade385f9eaab24974890aaf1f1f12248662e6b870230689db9011a8160178f165215a238b59bb115d31b2437aed062ab5207f4fe605189e0721f3abcdefcd35f3545f814ec950302047c435bb500683066023100e8c42b25cc737dcba24f06763ffbd6a2816c777c10e196625b971aeec91adb07dd7be1bc0cf2d04e84a8f028b8395726023100e9da09bec76edd8f6a74b31dd516cd2ad7268d808486dece74d38ef7ebd94fc2a5845ea872eb143cc2c7c3d1d8a9dd440302047c435bb500673065023100f9e9a4fc91fe88f707e24dfacde21dc089863552e2c5c41a94e796e02abc54cb181c1d43822aedc1929bec176314195e02304bcfa084c33f2f46f8857d96e7703870b3853b9168b46df2008654c5ff6de2506e43023a5be8ac5046dce32c27137f640302047c435bb50066306402306816bb033b46152277188231674175ef17e8a45c4fcc8687896ed67f51bc1008963a67f20484a08574dac5ae3d8f9c2202301a24cb72e0dab2afa771d2de5d11356e79e6c24bfd802e1428b10417dc923df7f997192a1fa5fc18f357f31d6f14d7060302047c435bb5006730650231008c8e9ae5b208b27a558555284a8c3cf01f9273e91f9eb7bdb527c5a84d1447875a8838e6c4cca8403aa2ea897298a50e023045059e2331c13bb136d60fc94d7ed026f65e02c18d99f7898f9c9b066b9e737537138e8dd9fe52f13ec4a1bbfac66c490302047c435bb500673065023100e52453a5804a334c6190af867a649095a0399812c03bf0834f84516a3aee677973b4301cd97803559a241bc3080b4407023035bbb414217aa503a483499957cccae47466d27151cab295e391f4ce53ab1957192e807a2dfbd0d85bbb490b4af3e3e40302047c435bb500683066023100dd0bdb962147cf2815c7055ef72fa9b2ae4b6ae75492fc8706141a50486ac8dbbb9bacfb246d5f1d5058980844a3d7c00231008a2ff11bd02f36bf0ba5f5767f8221e0cab8fe5102078a1cda1381b9ed61b6665e7c7f99ab6809543b3634a69d1d23e50302047c435bb50067306502303a27a7cb6bcd7f0397550e30fc811ee1f4357bafeac256e24bcdb0380583de2d4cf5d30c8c941fe74fa0e6068f60056d023100c957cb02e804f5d056b542dc8a6a1aedd7b39a46a5cff427fbc9ad45f7fc1f0d092310f3688e8079636238772de3594f0302047c435bb500673065023100d5342366ea1983d10007c62a1e22559a7caf2d7c7d3c26815cc7cc051a3146e356371a673baa8acedc826e7e1c46badb023039e64a4dbdbb7e52e25308b08e4c5cae50f3b00ba6bf5f19583d9f6059113e15b5b530c878bb66636e2940cbe0ef91b80302047c435bb500683066023100c5335acbfe5b9522825dd9dc3eb3605eecd90fb6edeccb9e8bb85024b4398785a9f1416a7b326d3c46bec19ec4cffce9023100a0b1ed1deb63fee7cc1d819a623c75981207a80a2e36718170edb79eb735cf86ca8555440f515a47321f064e86cbbddc0302047c435bb5006730650230702f9d39ae199f0d7cd0c336223657261c6edcf62036ae5a44aa6cb0120dee1b7f0a8a5acba5b6c957ef71016cbefff2023100d24aa3bf3cc42892ef770889966b7b98352f6781bd0c3f5455f6347bc0e8f89dd103d6dec45f5d57be1361c0ffb42be50302047c435bb500683066023100c1b17a7c4d79bb1f4f6182568982a2230dd80c2549e65c522f2c6ed373d48b0a94f49f470c8350ceae45b932e5854c5f023100c3a5a7ec7f16c31994cf39801e32682ee016650e13f329ffa9c7bebc81cfe70474c172e5e5d0c5c20c6c726bcd84900a0302047c435bb5006630640230584e06adca55279c4294da04157198499bdc9b1a066604e8bebe05090a4ff1b09695fb61b6c0cdcf43a112392711e61f023020969ca31a315617194422bbaf8ab2337a19ffdf13a8c7d2845507b49447310994a03676358ffb642938ad7dbd6379e00302047c435bb500683066023100ede6f2a201aa44f7e1fb22c958990a8ce3710ae6873db608b64e864f58fc45dbebe9cc0052765929eeebb881c47dff80023100ba5dacf1c2374749f637216e5a8a007eae45a46778420d5bcdfd69e5891a384f208949e60e68c54c51e95015e71d4c470302047c435bb500673065023100f732f58bc5bfed3e4c9e1c7ff8db5d604807d19c80aa91930915bd4923f5205491c4adb7ab8ff9b961328793bc5a474802307091896a4bc4a6dd75e3c9e75795deac5651922faace9a0a71be9391dc4d5cb43b604f618a07d2c5c1bad3d7f8f083450302047c435bb5006830660231008fd39f2254d423164d627407ef574f9ed097318c0837da2d5e19949bb34d758daeb5c6057383d2e7eb252c56183ae68602310088b02854cd806f600c96c02f7821aa12ee4d9da46e3f87150ff47020dea6be8d8fb689d7d69e6ad9b8898f602123b5880302047c435bb500673065023100b178533f8868f3c5009783e81a8075dad2dde07baec796fbc82c50443c70c6b54da1caa5773716bb1a093a2a823d54d102305aeb64987c1854611b22049395127ab72e16778863fb716c725a53fbc050819b20caa133507c65491a95522687c3d4ff0302047c435bb50067306502307c3f0bac0e286b34a8dde1c8cb54a173443f92be44e3ecb34f1e44fc9f04944ce9aac27c626355f8b13ee2960d229e660231008e96260a08bdb1be0f705dd7f0af78b81f213c7060dbb943f99244848c3b8a3944ff40608c11f6822e9479d2b0e914300302047c435bb5006730650231009ee07b76420b45f3bae037cfb321351be71a42ebc11309685eab4c8bd932dd6e10b89cd2255c4e8c0784eca48a43830b02304f38f190fef8bcedc5de176eb30addcfee80c94e709fa55b84b619e51324cacde9f441261ea5f5c6a243124ff9cd22a20302047c435bb500673065023100dc5531a2ba8d8f932105ea1932fda96b5a5ddd8d58ca404b16fac50016e3af1361387a04ccf52e255d71fedf845cb3320230414d95e62ba55d8332cfbf6181d01fd78bc27ca128ac46e18be0dbcf3101c4ec6f549509d8879131b1fb74053cf9909e0302047c435bb500663064023056b3db98cf1473429e0d7d5683ea2dc708632ee37e298687097a19c5b4020490d6d390b83ed191a9f525ebf0540b321702303fbd97dd7fb44495a36e09ddf6445032a6d756dcf493aa0894aebd2f49ecfa1f36d1922776bd695d3cf39cb7d4879ce20302047c435bb50066306402305961c7d96e1c4aadafc03b47608b1ee6d81aac58b03e29c431188ced7a10606020d6b94e2b19063da756e332a7c5f1de023051e98513da813d541c284229ad6a59c243d24c0ed0e94afba5811b238d3fb6099c4671daf631ecaf328460ca792e32a40302047c435bb5006830660231009ea178bf441a08c78b9c515d60dc2ef6818bb7549b889ae87253413b6f82434031f1337279c70cd2f4815663101787c2023100cb0dba2acd9deb0c71d6392643546668b9545422608215e7b3d53874605594aec28c268037aa97fe7362f4c7965323970302047c435bb5006730650231008c24649fd895fb7caef1728016e7f779c470f8f9ba362a0f7afed04f5510c723b08b50dc4fcbbf2aafab6138027cad820230462c34762174f4c7f06e30639c29bea2c9fb957aa751d81553363a5a38fec7863b9e6c8df5c2cc226d748a730faf3a7b0302047c435bb5006630640230698837a8ac162c7ac2f467372fff56da50bde40e5d3cd2be629fe42d8ba459a98ce3afd7a2be45f187595155421bc32a02301b7baa82941a9d5bac38287867da1b599c438d5af369a3a709c3d20727c690df32b6e68ad404e4f0cdb9248f1f40213b0302047c435bb500683066023100d7631ac6227cfb61f3f1b16fcabb34c5bf2c7524ac1e80874441141789702f89019540a3754543a809844cb49c62868f023100a81d01b6a5aad054857235aedb3fe54212e650e46bd3cb5e1a5f0d4ac79406149c084c24425893fe6948341e3ab318710302047c435bb500663064023008e4355f26b6df806ee96e72b9e7026b30d2b86ba23946d9cae74f7387690acbdfc01a455d97721ce648b98a78b6f364023056472684897b59965d578a3dd06ab3c142e74fc266d682010f272b1ac8a7f21304f55f0865e9d418eb3188640428c2aa0302047c435bb5006730650230419388d79194565a4adf8b8dd990a38c995c1240d044f564eb5cf564b45c55b95104f7a71f5f779a133eb44c962b94e4023100c93defbe235d7d27b80752b12bfccec0d33039c2cdf7a7e6e40563524c6d65c2bf9c576bebdc52d262d4579faa6b7ee00302047c435bb50066306402304eba9386a92307446facbd68624cdc94b1a33e2a7a3a635e6b1a033325b7549253f8a633e1b84c0c1f5115e6936efb8f023079d4a8fc1814fcb15c96ac543e7fbf2727f8d2800b8e2c0aba54844cf4824534402f763b172c1bfd26a27a93e47e9dfe0302047c435bb500673065023100a04231b2d049aec0bf469b8e7ab75650cb9c222d465c663394e5c6443037944a036a7977284192e082f68565f18fbd7802301137306c66f55cd295c9d2f071cbb29456d8bc0c1221b560839be4be3a13f2a67194ac8a66abe0b8d23e9911dd072f5f0302047c435bb500683066023100d8321f76d8f837f0db8d5ae3cd2ca79659583502b19af667a31e71f7e3641db7a1cac024287c7dcf9d12096713b2aed002310091d6783b795cab2b3b6c9aff823bef50809959a0e4e21d529b0271ec35d0f3837f97ca7e20947ad2bf7393c9bf6c79f30302047c435bb50067306502300819f01431090c471074e8a4f4a77b2fb2ad71754209ec41cfca4b8d54ad3b3fc80fc10fd5a8cc6c58c26558565e32a0023100cb11c0919b6ab78cfab5a61087305e51eb994b50a0c096b7b1b7925159a0a4d9e975fb36110f5a90552761916ae56dec0302047c435bb500673065023035e5e20b3c8c6e32ca1d80a63061774dfdba015e9c75c2b023e3c68baa5028ff3ecf39ae94054aeaf470be500ebe4f090231009320795bc04113df12533fa03ce3259bf5406c4189b3c409361d036d091f39a1b6e293ba9966f0834521d9d433db2e110302047c435bb500683066023100db882f7afc8f6547a2640ddf9e785d45e5e51427fd8e1c084c12f681182e2a89923284ca425ab683692b43c94595fed9023100ff6210d4650dec278e5490a41a2b6139a9a68fd2a47d2a514ab17a1b2a4b5e71fc6af614901aa519ee909737820d16600302047c435bb500673065023049aab0365aa2b782075f8d56d34128064eb99ffbd72681362c3ab80d7a5d3d2febcef796bc63200b97fe6553126af4ac023100d2fdab7a990e895ed52dc37cf789da1898f03c6f744aaecb5f526459b77247c17ca8f65cb133f73a6aa5830064350d710302047c435bb50066306402304385dfaf3cea63640393b19e80916e5669de02c45b39f03f6ed7a48d913054558d414f85526da71045cf3ab32d3ff504023035d584cbce9e92bb8faddd4bfa4c6478b8c83b48bbfd16b008f540009500d4976ec7fd6ef7c5eef0f2f9d8ad8d1060c60302047c435bb50066306402307447f6c9dc03b161ac0c882666d8911e4360b50a0989addfbe2dc828bba445d62a6039e9037770511fbabb7be014d3b6023012a9131799893884b07eb06a74bd216f9c159ed4c7e7f00aea04e2753d3739b807e55b54f9ff026e8d699fb4ae24e4030302047c435bb5006830660231009b66e3cd8d852357fbf335474dbd45cc2207758fdf057986e005d90b02d61d67c03d82cfcb5d6103ad98d0a337ab2df0023100bc3c5e34a5b2ec8b42e3eb034e454b18fffdb259f92890d46aa4bddf1d1dd7a02bb0a617d40b63551f025d245f5f04770302047c435bb500683066023100e8e732eeca23816eded9943e9ad4e3b5e7c8e6e84bdb8554270114154045a4e8b3ca5e4fcd14ebd987dbd106126671e9023100ad59360b4c9ae1ebb041c901ad21be26cc2908cafdce5909aa210d438bd32c3d4fd75c894227cfbe8a9f8ddb1bd29c2e0302047c435bb500673065023014919ccd9fc42679a3e4f3479dc5f3b94bcaf6e32c134514219209fc861ed34e83c114c8572a4a46009b83175217ebe9023100d64690f34e2ef5490f9bc0c09c603c0c091727291d76a9e247edca46d029ce92174959802cb147e8bb7f0c8c13534d230302047c435bb50066306402305abf24f44cce62c8cf837a0812c8e407e8c83618bef91c1804a5a91cb598880bbbe76c88bb09e1c5e8ebee7cd9f6454f02306668469611b87d0e24f822eaa319ab0a9bf063a7f63761a57a3a7df31a56c197eb721ad25a94b743b2fc896668b505d50302047c435bb50067306502301db59dad2fb4955b47ce1db4900eb3c1567ac49056be13bf70bbed953e4c935228e100eeb95314e6558f746abbd50ee3023100c8f7d55645e47ca40ab2dea0be3e4206b6df543396f573d197d43ac996a2f57199b7efcd4596cf1ad670b040ee29866e0302047c435bb50067306502305021e6d3015ad862c4f9d6dca1a1db9b90b1883933b3fffc543e1623ec241446b35a532c73d868b61a76002110a9df2f023100b7796db4d79dee9c5f7dffd10244ac245725a7f0f032f7ec51269553c384d95530cfea44f791ac4d6fb70f0e3a87e70f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023061989d177f496afb66d8ffbea2f4f8ac6670bd568e66dc77a4c365c34f79f09c54b7c768d83b9823bb4b1b0b72c1d1d20231009300976b188f4f7119450917093c12d4f84568dd8439dcd27a839b9600367410d9aea42acd9178fc95e3f3778ac59b8d0302047c435bb500673065023100e0dc3d1d437a710ce861076626455eae6c2f78346e2a7e2119c218408babdec47cb963d8bf73aaee3dfdffa36140bd990230506c844ec86d526cd953519683ee933ae2a82cce91acb22c79f0c32020a81f4de5f49d4134a2c0221c33d96df26da5220302047c435bb500683066023100e5b8d5567f5eddb0d088c7dd128fa3fe882b62d4c7888f3495d74ad32c61e955281bd5c030086f0cd485a328bd5c6e410231008f3bad8d2b7771122a6a6a14772911de7cb4252a38bfb678e58c122dfd9df95a26e40df3b8febe638838d670f1be81680302047c435bb500683066023100a6f44c53d2a348e5640b2cc8db5ed03ff53d246ceecfa531caa0a61cac0131faa9fa081e0d8fa9fc0ebf1cb09d50587e023100946a929f0ca6b31e7857d24238b5a112683fbdcbe3e17df6aa135823c79b4819927cdf966cb00f3f9466d5399d8f30b60302047c435bb500673065023100918f12a111f862531b49d08484021cca618fe17b278ea5b44164ba5c5e36d32efae7a0f511cb1a76303fa722b13ea6fe02302fb8ef9e2ae5b4edba841b0892e6d9d43aab5dc1f9c081e0b5ab2615b3f113ad6123ad9c4dce4f869c63ee43807331b30302047c435bb500683066023100ca3b1b9273d2892201df90344ce7c7b3d4e2dd5a22674c45d7d5c6cebe1656e1ded473bebaa3e102ae983219da713098023100a18693f8c3800dab42f6f56b4e6d2fe77e040b6b48414b96cfd0c8cec1b126bf0de97911630f039898318e98adfc81cb0302047c435bb500663064023026861a7892541949f5aa7312180ac4f50d65b15bdffa457fee3709717e23121ba066b26526cf4faaf36f97274155a0c702303e2b58f9c54b843aeaee5e8fe90ef2abe03f6e71363b70dfbc1fb7e1d81b8af268385b4774764854c71b1bc2c56fa66a0302047c435bb500673065023100d65f20ebc8f26f340feacfd0feb1447ee35ba049aa3711dfda2c3f6f7cab7ab31740b42e1a8c5009696881b08bf175950230575b85ded723b3628aa2b1d116f789dc3909f2e6c36eae571a65be9d38cb94ea3953cc65816f2fc96436130ff23cf08e0302047c435bb5006630640230774745a5cf63822a26e3255ca17a8ddeb0e1e7bf390e8bd0787bbe7ba30d6ef061462187437d490e3332136be1317b2c0230027de8c4a587d304a62e1688519bd7fc66c7e14934e0b627bebf52e6b9c117b6e37258b04e1a27d1818cc652074c930f0302047c435bb5006730650231008934597ae087ff7078adc2c26dfd819dcf19492be05a4d5842844c2ba4e181d650ca525aa34a34a0b503748b289c59b50230309eb365a8f7096c0316abdd30dbcdc7b7d00a484a63b6d9dbe61ea25e3fed2bca733ee0d8aaa434e8384f4428d79a170302047c435bb500673065023100f5c31be53c07b5c4e7a89a4bf6d94a6801d0755b5f5e9ac5d8ddb584b3cfa6091671b2bf894d8100872031b9debb6009023022da86b66d74d7af0e272b52a51150f8e99ea8ebe56901fe9a155da9d4fd268ce0788dcb1af48cc726beb19cacd7cb450302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500683066023100ed18979f926aa7dc1e08d25f9c26e3b0953b257013ae368cc5210e9f74daff1fd2421ca75d2c44593a8c9669e2a89c390231008402bee9a27da7ae9efcaf19d242bd9ff57ac82ec328537d8b6c63ba6b980434ee7c3b60e6ccf479c727d90f8b42ba350302047c435bb500663064023058f28ac167c2d2f0a1b07b7aecece876e2945e2c1d34603050621a1742b1cc743cccb615052da505d9ed8b747ef4df9202307d98ddd024284982d90b1b13b123c7217ddb6e064cc5b7a8c5e7d677f11e861ce3ec7909754a85d96bee528cd7cbd27b0302047c435bb500683066023100cfeac6b38a115a20616f8f99a2449ada99d0ab0ac99e967d36d672995a38cc38bb962453f6108c5fd48a0e8e45cb0c51023100a97fe930ec7efc1af831399747e05eec3feecc43162f0f9ca2fddc3dfdb32b2e9225d7584af9c01d14202155ad195d440302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500663064023038c1b531ca03216c623068ab281af8757ac5d5f247e9c37fed2306708f455ffdc292106586573b90748a438dc973e3c8023024800eecb143d6596bb1fd8df5f38c44377ed3870ba3da832e4ac798227581ca78a7f725c855cfc605a04504f3e59e7b0302047c435bb50067306502300a7d6f2a6d0587432acbdb8e53b9482772cfd98ea38bb30ed5b7fd31410a744d8d026b61c1c18763fb23bf80c0372c89023100a18d44569347571899101e989a291f73a5c47fa64f5e0883773f8c746512db0cc6590030a5c711bc394917bdaa3121080302047c435bb500673065023100fa7d119b6929c0e2f41ba7a28c8f1afa51f28eb306a406af78a704bf1a4481e5082d71d7ef4288976d01cf240520fc14023056459482f59bafa32f2a4cef339352ed8fa2375d93a3a36b067fe9bff45b948025d38936e20dd194bc12476c451116930302047c435bb500673065023100d2579cd67bd314a5c0f5aa75499d9e902b3b74f079cb0beb03b6499298b790e08f4b807a0fc60646d697c0f0e7074d7802302b14f67cc7e468c9fd2806c24536c53c34523f7b10496ec0c319e13f86a38e636f8f7a2571693b340f91c01f1be050fd0302047c435bb50067306502301b40f35f5c0b556dd43e7cf8e67a3d22f8b415d58fa021acc3ff9e5191bcaced15c6b24784690c3620a3d3cbed92e0f3023100a20db4219a73efa2f24c6f1fe8bb788d6b47119608607fb4eb7d4a05b8a87818d38b03bdd10975e6d1fd973312a9c5660302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006730650231008bd57f72d2bd2318aa9aa53c1356a8139a22b06bd0387d41854b41095009a64ae01e080df7bf95bde8a8730c4b52ac27023077625a1be81e74034c5e0b001c890c1c8e3c90cb1b4a49f6224ff05243915b7b773f1f52125f5984298b71a9f6b34b240302047c435bb500663064023005b9f79f9386bda88e40bc7746eb9736cf8de8f9fe8fda5e4ee70fb3b70317c0937bf213433468bc661f10546d12739402300291976e658f0b7e83d9036a2e6accdeea152fc45afe99024242368ed4d7db678a5f92879fc099ae88bdd78c115a774b0302047c435bb5006730650230330f9afecca5e61cb9ae6e9dfd2d5145c5981d031eba6a38ef49558400016c43d2d2cfbbaeeb12b4e75a3a7adb1f8c9b0231008cb70733ef532691a4632d8bc88851ca72c243fe8b97adc315d6d756b35e0e4ab0f1a6ad1d054213af8a863e1721c0ab0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023100c263bfe069c674509493d0020d0eb90f4119ecc38c5a44164f95e7f7b4bff768546cd66899b086c424ded192f79183c902301c1f404bef8974fbb022f66ae6b2b5bbf4ca560ff65bfa0d37eed346a648bab7d3cc413ff32fa432fee73c494336a0690302047c435bb500673065023100eb9a0d6a91e5fe8ac07e9506e06123ec344c087734b301d330f32520a86854d8742ed8a8dbbaf9fa6bc5d4bce1f12b2e02300b198d38826d27e78f82a7f2f5b8ede953b0387806cf491fef4b932addd39aeb079f0b939ededcedacc2d24b264ac4460302047c435bb500683066023100faac0be789a17cc3d5dcbde1ad7c31f7f9ca0985fff5753ea8fc4c015f685f6d2a65d6973e304e9ca762c6c573b46066023100e279831adfb0c185773a5d4abf6b4e2bb0d1798a9ff31177d4736d6ca2f883e723a9a919c52d0191d43f1c7ff3c1f9e40302047c435bb500683066023100fb459b9f768d2fa41fce1ac4dd51e5ba6d6c9539335e3b42866128f2ffd1208e7ad9f97f5fe1b99ddf9085081b8762040231009842773c26590bf4230f353b9e3677b7ff6b62ea0ed4d72d5a49dba506183285e619599529a21fec98507d8dc864cd530302047c435bb500683066023100ecc7c1573210a5e753cb64775b67117b5776eaa7ad7398f58cf3d06f5d0fa54f3e8ed3643b5b57051866ed14990dfa86023100b0a2e703ab7c09d31f3a2dadc1bdc119e536ed3917494a9d46b8bb29a31d49de1cf80e2638d7a639ef7deac3daeec21a0302047c435bb500673065023100f31d2aeda189881cbd1377c750cc75613ba6c148f0f1fc3c353d34dd158b9fe8381c29d8dd145777d35ddaa02160307f02306d12162551f896a8652cea822fc8856491c2e499624e054eee9de66b756a212846853e06802ef93435bbe8cbef1ae4890302047c435bb5006730650231009ea71419b3f92682eed0804df88dfcae22c83f11e0ff81bd398431e5f5ffa1ccb6d44a9cd813f3458f0c893c24df489b023070d3c1b94976ffd61592da5f2fdb92cc345af5380833b075d17290c51737609faa8a2f73744683f4fc0764cbd11312cc0302047c435bb50067306502301446d43b5c7490c01de7a505862f1e2fb4db47f1e795057d10e200e3625779dded264373ff688f755a9905fbbc9b8be6023100cc70c22474c7af18aaeb33ef2c9b398e0f43d044660585421546daaa804308d70f22754ab0301114f131b53d1a1ecfb50302047c435bb5006730650230343e03ced4e2900a1424bee8a6461b9f3a61803db134d623fd4163521c58ec8254ccd2e6f86972cfe11e681247d55875023100f965f40e616f15f402b41fc7409e2fca2c827a0e17afb61f5ac848ebd789a05f0ecadd9c0d521e2cf151d434866694ec0302047c435bb50066306402303b336426eea9b7388e3aedba2190977dac3279c146b79a65f4af4668379e620288918af1f55c127e593a63b09b42e0c3023039e8f604281af547df03e1410e1996791460077ae6f8bb91c0ad260eda8624a275d35c18befd30727d1a513e8c567d3e0302047c435bb500673065023100ba444242b4944a3e7ef04da51a44007084e9b8b0382313990e1e334ed0ca4ac64f77637896be62fff8d17816a695ab090230028bbd6abcce7191a70e43fe79fa2064591887cb7591a854dffa7fd4d93e71df29119601055592ef4e4a6660c7841ea90302047c435bb500683066023100a1b81d90015a7f2cb9f5675d4d8849329bb81806307a1eb8a8c81dd0c3964d21287bde81de595d87e8d6d1ee49841b17023100b5648cff9538b15a333e26b725454b7dbc6a8331308c8040a9379f9013be21c05d8d77039ef04257d9ddb7c1c1c6cc1b0302047c435bb50066306402302422099865306b3607c206fdda139e03d2f5280bc5b62f7147f4ba68bfb2c02f9d9b4a3d251c65a6a1fb6177283cc8300230740ba969626bec68c5fe4fa2f5ebdaf99a3855a821ee825edde140464654fc898db5fb1b410b9f8f34ccf063d73cfe390302047c435bb500683066023100c36ae322f7448d2b1d1bca6d0ed3151f97a5cf66eacf1f114bc164183aacfdd521104d732b237eb6e009cb2b19440c41023100af9a6b1b718ec47c52334e80a77122a26ada1a3c8e75d5f2a1d1cf6c79b069477af26fed7884b590b040210b79b2c7b40302047c435bb50067306502304fb8b53df8b2c19e9fb8d77468d42f70ddf4d42ff5cfdc163ed4b0c9fe215c5474a2f57bfd6eee5d821c52f58e32a102023100998900ae523b8784796981cd08750d5ede46c5e57ce76b5d861541cb06beebe3140148dddb7bb9c60199fa8e5027e6f50302047c435bb5006730650230750a4821e6424b5073d9ba57b3b25192fba54cdd41dedea5c3729fdee1dfbaf417d5248af3458607a00818ea7a724735023100ad85002be3682e598baf3921617ee9af7d398a881d6fe8f81514316c4a06a8648d86317e06409910973c4c39146f8f300302047c435bb500663064023017c14302977b63a198d52a8e6d77cdcd1227d8d92ea403dd1343f02b3b49609d34f4db5ae3628752158f27b4f9c0280502307171d9f713c191a3ee09dc4cc0bf669de1bc7ff9a0154c46e118ea1c60e3e7d6d12fc2210b6fa3339db5160feac687160302047c435bb500683066023100eb412cbcc74e74e63150dacca3bc862653a78cd3557efbe40b418121c5b97c8cc0d553d9c0127feae2e3b6c5ff45a1df023100c7e30b5fe75658aace0e6ddee953a02fa4b55b15793202e1a400c92a4afa098d5a8de0bf8f2e51d7b4d9b5911790fc100302047c435bb500673065023100d5568f74e4e2042bb2f37cfb22434b3bae2564196072392e62506f36f426f3900b57af41a6795405fc6f5f521288330202306a5d342212ebf980974ec676740473192dd141b0c83aa8fa4f0e791157629e731d20aea0b37d003c6f5d1b228b413c8a0302047c435bb50067306502300f53ee4705afbc9f675c0a5238f644a84e08d93f9e5e358f078ce554fb65c2593fa1f06145358bf778bf9dff9047df600231008ecf576751888e04684c43c439554cdc1542e9e791326f7c03f5c0c7143c33462cc23a179be53937df48472b363ec7d00302047c435bb50066306402307214a6f36c4e14f69c1fae39d02b5c205e5754ad297197358b9fcef944e4c1d6060673b8a0c67f1db5e6426aeab8daba0230120b666c7862e761f7538ac1ce9578347c5fe363e038b7bd367d2c06284eaf13c454287a1ed362d828b4dfd21864dd670302047c435bb500673065023100cd677bddeeb514dac83e9680a4a1e358a608d8ff9482f7ab89442ec05358f3e8a38f4df44690a34bc1848a7d9ab1c06a0230327a4b212c34b3ee0038596ecfc43e39a2739c4cd90ae1480eedc891f945f8a8da5f7e8a87898a2437a6bcec0df733a50302047c435bb50067306502307f4a65bc0c28e3a5f81bac95a28db799a80f7933c7458f36b6ab2a1daf33a2e52810251e77245ac996f7a7bc06e2d0fe023100e2399e80d04ea0a6e1680fe89df633f66dee3af32a7505359c562c50d58c3158236ceac88d7521c420c5f6e3ed1fed7d0302047c435bb50066306402304834cd5a1173e2b1053bab52d840693561f7341dfd8902ac6297163e94d60b1172f9048afad2c0068457ae232208a06802307dbb0508e1e629ff1955fb57ccbd421208b27361719c143afd78c8c87a4ee4cda372a3b9a4ee7d7b7c67127fbcc99ce70302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50066306402304d95e82b02697050b1e2abfad8de418cf7413f0e534c118937a4194d42bbb09b0660647479627dd69d798cf43d06ade70230222f5c966ba8079438002fd7b04ad58c5422e8f1f80431fcce17e7bbf098972865b5820536807cd0861180f6f504df6b0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50066306402303a3cf76980472221e8a8fdc97fadc6dee0a0a26cc3f99c236a1ebd880cf23726123b9e329f89cf4249624545798c7b7e02301062417103efc1a7206bffb24c33773883556f43497fc95daf2efe60c1d03f33f8943f6adff2421a4696d7888bdb944a0302047c435bb50066306402300ded3660b785d1a059bc8eba2dfbbd8a06c0fe2e3165fa0578d4094e758e4ba0c235c5d7da35a5da8a4c84a0dc9cdd9102301186b74f5ccb3867304e05904b4e8872d590a247cb17b06355a6a91f74236a60d81e7481e2e9cbb6efd6cbfed72626ca0302047c435bb500673065023100ff5f1288725571d2766b4c9991f209b6381d2de85915ee4cf060b731eb4f0d3d93aca00f169334856223ad5ea6072b77023017a18292d30f868efa8b7e01db8500228f7155a0fdb950ffc47e7dbf655a1873fc9b47a63d204b4069137297896b433d0302047c435bb500673065023072e29399a65a99cab204fb5a3bb6203462fcc3586f3026d6f69c9832f0972302385348de42b1f2c3a321d81d486f0622023100aa9e0242adce7628a0da130a12bb58cb1be79555a089ac3dfa47aa880f906d8256d0ae4e50ed931fc6443f9f71efd1c60302047c435bb500683066023100d8e1bbf04a160f43e7a8c242594e575825cbe3192c8cf347311d5f3907aa8c2636911e4e09e7c62e7976b79e66fac1db023100e66bf28a6b86e4ba304bde4ae223527763b0f1486ebc748faadca902f18ec0c8a8448204855cc102de51f31f53dc33e80302047c435bb5006730650230367bfe1463c458b1a09110f3048444f2fd97c6dee2ecf295c8189d98e9660148acf0291dc8fa89d45059876d1059436f023100bc94455b5b4f254abf610a73c1277890afd4a2735a9303e5c7e6fd3978bc8adc89cedc449f6b0c7a550ad91539eeaee00302047c435bb50067306502303be8fb95f2e17cbbe01e5bd1d065ebf0ecc2ce0b6a5db9d055603c2459987ce30990ae0c827953176bfbc92562c314c2023100d80739cab96a77b74114eaaf02e8c138926fa0df9ae5d98827193b1c1e8728021c161c28dc99a9cbc782eb26d444d7930302047c435bb50067306502301da1cd8f478f1ab7f244d2b3586769ae6ce321bba01bc6e5088f9a70d357d7f2f89765a1183f8507213caf980cb73f0c023100f0c6941a56c869f5831d5615633113efa48c574d533541536d9999fd862f8f0b48557d58497001999f16fba33ed3d8e90302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50067306502303f68419b200fa5efc37f9684e86aa384f2d7b441bdd89778987af9e9368e7d5b8e099fa1d662e32bddb5a0b1a7c40212023100be9313c0aff46727b56e875c32c252e92197d701284a95e3297cd2b342ef2b291871cf293b20af4c195180df36077c580302047c435bb500683066023100f85c21b504f34f9fc1a4bef74b23836c02560abaec6023849aee815623918300138395f353f701151b1aa8aa621c2d8e023100c2ca8fb8b8795e704ec2a46678edb1ab68fba8b7a2d7e1407984cb591a39e71991181400aef9a64cf3740a3f35802af10302047c435bb5006830660231008e3b1c8c38b40e1423542b36f2ffbc3c2ec899dcd0fceb31988aa33633405a62b6ae2c500e69dee5d542d211d13e4232023100eff06101164932741cc019c0eff39ce059e65e1ffe8936e4b7f68625093a83e18c6e62ad07d94a76252e48f8aa704c9b0302047c435bb5006730650230424c38ea5a74a4b89ba26277bdbbf5fe7e8673be359c571702b3570959fdf1ce8d0f998bc886a368a359ace02bb0305f023100fdc343e17eb737d00c4a4b2b9eb9637d3cbb08cf45cff66bf2d29405ca4321f7f8a70817beaff6298d76d7c05cc6a7230302047c435bb500673065023100f621513adeda6ea76200e99b0919dcaf236c887f4b6a1ac80aa9e28c73db9f57ef3e2ae25dc105f5fb9e1e41303241db0230076f5faf11eb4624bfd800f2a0573cd8be8d74bac770e91a022a77ccd77afc7b65f3cc6d8a5c708283ae4644d51d73a00302047c435bb50066306402304c9cd2cf368ea54d3366df196e58c70f9b15a048b7cd54dec4142edbc632c70ac690071085a3ac5b1369f6b2c14a4dc302302555767a1053165b587fb18156359abfd6c1bdebea11fbbc6ef58be8b78e01c5f3f2cc1ce713006bfbbf8fb802a0f47b0302047c435bb500683066023100df70cb3e8d6ea02837beed4fb1c48055c66abaa2eef7899bbec58180905754ce2705ed52ccc58184dbf4b8c88895553302310091e4be41c45709fd4372b3f73b0973ed769133b6dedf03bf4816d0bf05c99248afc5fbc9b3c4388a13796128115ca5670302047c435bb500673065023100f6f4329014099eea9821b8a5aca58890024c6bfaf25b258cea17772c2bb2c333f1c1cdf1f191b6cc0562f48223ed8404023001f0f9be797bf0e6ca05fb4787a02a7a908d63e175f3537ac689aa9d3558df20f63490eb396a75dddccef6ab9b8823640302047c435bb500673065023018fffb30cb2bba8e93b8ce446fdd5b21a20ae5d82dd31c2291c3df0780483e326726def935ba569cbb90c3f7c3b01cbd023100f595b2e953968a27d799be517a37d9ff74e548166dcd25d7793f825300656e02886d1dd51b838493995fad95760e1e150302047c435bb50067306502310087ed6c38a9715b078df8b3ae2569b2879d38e3c5df9f510886dd4ecbbd305f9693184bb9a47c904e9e4bac0afa9fdc2c02303756a88028a8727ea58e6ca5953e67215815abbe431af3b88f00d79a3543d95f235a05bde166336cdb201ea07d1293860302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50067306502301597a838527834b12e32c68399964f9aa34e28a421fabfeb4f30f13f7d485d5a93fdadeb62a21624beb5997bbe345584023100c77407c77704f04f6f42e3aef048119727ed4a510cb4944bc76090fe16fc4122aaa6b5bfd6d6f041419b6cf4f2d7b5300302047c435bb500683066023100d757113d9cb708470686bca9ef7760a92b8d7f84a692d30f10f042128fef39b4f90bbb99eb0daab73e6a9af26413bf7b023100af8c8605c8042b73033b39fa4e43e082746c971898ce6f222f526ad518340e52fb2f09f8317f6675da6f5ac9fceac6540302047c435bb500673065023006502adf6bab1d113c422c5dc6bc380dad11994907a89b47785bdeac0b9748eb0bef37b53ed4452395fd69217ed469d3023100bb09686759b486372b35e613e53b45420ba1e0ce036ffffd3e1602976427d6444b6c057703030c97dfd4a5509b05b7440302047c435bb500683066023100c9b9ee79b3cef3fb33721a5938e3979e22395020f6d0b24734b939567ba075fa652ab3c0147ce51b5890123ecb5ee60c02310080903d63c4f70a1a3b5a636a4a310a9c3488368bb82187121a2b25e3d9aae9aa990fbd2be5c7f8b7b34f7c74bcd9541a0302047c435bb500683066023100d6c38c197de16824441e2eefb0a0f0a9d581818b6d2c0694d1ef3e551eea4ae0800612213e2a1da007392f80e57e12d702310096b7f02619455d57d5d240cd49430b68d8afd5e796a4d1573ce36b8df14bbcd7d003d3ca87be1bcf1825571292b2a7430302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500683066023100f1cc23b8ed33b5eb9aa98f64c55a1ef9a6f883facf2a7804aefc94205df87574378e6eb4fa8c7bb2efa7bbdfe03fa1470231008ead9b46839e0540313a3991011d4e4b0d542f47fe748c673601b73ece1a1b82d96211d7ec0423db039bb0d16fc910450302047c435bb500673065023060bdf5876394f0cfe6edd0bcfc50159fc5b8f15dbd5bddfa5c0ca535124fa2c6d20091f942e3525fff51a989651b50d5023100a39365f0cfb63afd57dcc1f5c41fc9a2aa29eb1891604796bd60e972f155e30826353609249b5d86077c818d38df4f530302047c435bb500663064023005af0cc80a1508d5dd1ea543df1a285bf55e6c3834e2d4d07e1cae6555e194b9f7758d8ae0db7b6fb2a8c4e31077d034023004431c96122a7d863f6c5b553e44a91a06bd981fa92ea6e8e3f5b2c45383029878d39c2f2b1eed794972e2343673050c0302047c435bb500673065023100f465a6af9bf3a8bb22dedd533a3b62c6b0bd0641dae808a407aa304f4f6743ab86ad5cc0cfd99416008c81996f55cb77023045756a6e021b0e48a8c771a478e96ac32a4d09b4c0e822c6c70a51286bb9a2b21362adfd28504ec26cb32dd7050ade020302047c435bb500673065023100cd2848c439d9238cb4c5a497aea7af2d7a7642529ca1477c5dc4b2aa14f3377600b07a5b317211f53dadd32062a35f54023065d2ab1ff1c239550c1197e0d6c8a35c4e94977fc05bd60456d644ebc85b17b1b0da69a87a747e9137812ff8b6379c490302047c435bb500673065023100b6f22d34000f1bcab3069d0ea2e51c0f9d069a4ee7bb9bcc0daadfbdf2bf3e55aa32b8c2bab8079fd0850b41b469cd11023061d59899978966f06f6cd87303393b09f53e7948a4eaa9eb6c77b6c50ec8889687c8164ffc40da39262b3e3d44d1f9c60302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023100b0711bd94bab1f1d0d4b6ea7057baa9f0ea15cad34bfb4fc7598e3723d28cc09fca5a0ddc6ca17d904f39c1e940444ab02307a319e5c97569168c4f87e902ef83402cf246615354738c4d5a421522c230b3a71ce38e4b9e56b1a2464c1fd8099ecef0302047c435bb50067306502304eec12dcecafe559545870090ee45a750355392e5c9d7667cc3d774d975b882381cca0ae8907e79718fd1ac7f0c3bfec023100d419fe64709ff6d219ce57b2b5388564349792342013f4faf610a31640a1df7ec7749bb9bc12f918003eaf9825c873d90302047c435bb5006830660231008451590e89ab9ee54c43e33073d6d955d8799cca20a780771ff5b392dd2b3ff5b6b54683465e8f30c10a5f82cad89355023100e481a678aa507516568be5086c447fc92db10a3e714e24c6bcedb953aee2321b2494d08eb8804826b16c0b48468c23fa0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006730650231009e41858c3e2a7552d9a8711e6bcf81d0e063d5d80eb34f23acdd7282d875b3774524e08b2a148f9cfe194200c2bbf23502304156a10aaa2da8de144132206f52c400f98e382f06deaaf8cad546aa9202e88291287499355566aa374fdbe2ea216ebf0302047c435bb500673065023100b055d2c73896d558bb18013324f197bdd371c7e70c9b4542c4bcb6464ee0c1004afe11259b3f857ec61ccbed2f195ef202307082677d30d8373d914f33db3d3b375cb77102364acc56127ad3258b2073eb1190ff182c75b0253e93ae30ddce4e32820302047c435bb5006630640230156cb0ff701935f2a688f654625c8d3493eb9894575595db773c8fa8701c1dd7052aabdd37ab9deda623b2d7948bf79002304009ae554067aa97f55bdc2a0f6668e1132d8355997c047e464ecc8fc314d441a3b69473f98ad0053da3f721d90b9b430302047c435bb500683066023100896a12380694f6f0a8f69005e772892c8b1b250cec72d226c6a7997efff59f31f7e58e3edfad59fe1238ca23f7f4cad502310091c532e026aa9ecdd896cfcf9f6e679ecfee9c1eb96d8db5465cb33abef10e615c46e79aca0632e7e179bfb9680837320302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50066306402307f44e4a1737ad32af88f18b869cc1c05eca0a543e8aabeb4acf9901e9d608c1b48aad08ee27847f9ea469a97b0bc01680230109d1c148b4d2538902cbec3d53858c87fbfde3d0e059d730129cec0a49947ee1a7e22909f9741e99d41bbfac696afda0302047c435bb500683066023100d2e6a83c38d438604309ed38a9cd7bd84d55e67bb7532b7dc88a2aba65a10bb2cbedcdef45e2df58a444376935a3add60231008cf34257574dc6ef696fa095a48f9a00590abd6344befb3a1457b844937d152440c3b5c3a3ef9383fdc1f3beb62142c70302047c435bb500673065023100ec92f4de39091b6945753df81d8b691a54b77a6c8d2465395925bbd22a9e3f16905a6394da692550a01a71eac6e6c77d023076cbe17ffbf2c88fa25c7f3fd7d08476665374d0b8c393cc0665b2b3222bfa5fa1d34ae6a4cce0e08a09a46a0ba8c1f80302047c435bb500673065023012825b45f975050e12b8a95a4cea548ede5cd7e22dce59dd31e76abe9fdae5b92d138455b4727d215ff43ef3f22e3ea002310082e1df996070adb71eca7b47ef97f8f8a185f4093cba336c1ab983ce384b4951679c0150b560e51ac4d817e53ca78b030302047c435bb500673065023046b8d005cd516a3c802afd97c352c171b87e7e8843b494b52e5728ece2c3cd421f69a8db4d23c4ccdb71e4564919cbce023100b5f9795a9fbe02cc7cd2900828a7359b0fb9620fb5feeea3136aa448755a6afd96509db7f81fa4c87ce844945b23b9120302047c435bb500683066023100aa71bb9ef81281948a528fca9fd5c6b65b4bfa2308b0348723f48009fe38ff9bf780072433b7ccd8176c94a02c0bc9f3023100b87c081748a81a06fa2756d45f40e2b299f29a4cd77e6447505b8552bc27765b7f956e96e4fc776c85062e112da8efb80302047c435bb500673065023100e6a19753931800e9689a98170777310767e6ad0785afaafdf7bb2629a3c8d350d50b0a529ad7b4c4bf14e9241799dff90230142b165dfe07eb95f9e17264dabfb8e9d61f384c8aa28d4002bbef53077e68d33560df15b2e476e264dcdd55f47671970302047c435bb50067306502310090019f358afff0e35be7082d9a44c523af5e5f5b745083af9040f2725fa47ce474b063b510556e52562c062916e745920230111a09a12dff7756eebd59b233534339cffb1b383e7c9576197819a2dd5746781519ed2fa4897c17dd93bb41c7cd50c60302047c435bb50068306602310083f132a0394245a94bd3ffe4c7ee91433bdd3143ec19b7fba64093275a0fad5f662f5b94a3519afb664ad09fe9840c3d0231009aa08b3c21d1f725d732716060d3f4b69af50281efd139568817b5206eb086445349d3b292a3dcb82f96ccd9907e05fc0302047c435bb500663064023024441f4d360857e4d57dcc8826c34e9a97a17e8de8803c23cc1622865d4ab56e22773223d83197909223ade2e87f188702306d633f4f367cc44daf1b99b938752959459294c1ba60c61040bd0c90aca067026feb055a9d7eec7a2e4c57197bc44d0b0302047c435bb5006830660231008b6305f7590e09c6b95dcffab7b92c2303ba84e04e614aaa6c81f8c445f61347a785fd3508017c5f19587d5ed584deeb023100b38a09412c8b3619cdfc8ef35305624a706c41f6b38c01eec883e05d22fd9741d348fe9fd68271514dc8a17a1978ee940302047c435bb50066306402307efbb5abf89be03ca2573c91e49324e573c355b78854804047b3c366867410ec88dde0355ff32a3478061c667f89f47f023030268de68f74e7eefbea1fc93ab680234a6493d00122dd0533d7b6e193caecd3cf2196ea994b315dac942023c801b9a80302047c435bb5006630640230361ac431fd34390af2bd5c3740b85310f9626a5d587c850b0786940b667895e1c4fbf504f66b130b36117997e0ca150502300dc5df65998d43cd5e736479441e17c2f8c2b2799f4811ef0c8fd05ffcab562c11d017283bf26ba9839fc25138c4a46c0302047c435bb5006630640230018936fd231b39bc1800b25da2c09f4e37abc2de668b285a383c42dcc7ba590a89946673965512959042603fb0a8849402307ea4857397a158d064ed00450d8b4c3f193b04310a59b3b27efe65dfbb97907769eb479a5d7fc0c8bba4e64253263a8c0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50066306402303136fa75019ec010d413fa43e78652b28508a1f256a33738b6b578b894e066367a35609a6d97e80740f64e6fb04bccbb02306c120f563ec104e853aa0572eddef356a398eb6d12537dd6954088c24694ea70066a6bf419c6fef2c130f0a28ab782080302047c435bb500683066023100c1b0360e1cb96d1910a07d9cbe41d3567270724be0e1d6a3800a66dfaa5056b2ae0e6fc0c5f7a6c9131324d78eb12834023100f8b9d27780163695e4d3701d0c8a32160829a08a7e1582e04e12323e10369c7e5846f3ca9e987aa041e6c266d679d7370302047c435bb500683066023100b381e57c9f36c5e95f1037bbe4d1070161993549b2ee9837304d22262f61014804ed6d4a420d5c12089303369bd97355023100fc471b3cd46d02a16bd3e64bb36400cf868cc4956cd9adcdfc5c2c4407247a3c078520be4778c0cb671136c4b671ec0e0302047c435bb500673065023100ed13ef87384d96ac2e603d2d51187477e7158ffea7f650c923886e17be93607c5b0b3ed4344a29830cfb10c071f3cba60230502ecb1d33d63e5cc5915d895479ab6c6f553fe17566ba6136f48d2462df7493dd0f6af3eb522df6f5e595c6161ce9970302047c435bb500673065023100c23e299a461e4b9eaef547f994c85e60e3255765bd28ba146baf24970cd31218daabec48638ac1521dd7da2b8353ce7e0230036b7a1d559925dcacc3983dd00c92d53761522d8a0c2230b40fc5e38f261609af32c88e0cc160b614a8d1e1576a41020302047c435bb500683066023100d3619578331b84404cef864e4437447b714b86f7133203b14faf6551fdea2533315782716b3f73060a011a3e1304c46e02310096d0e63c2976c68222eab6aab04e91089b6e236585f5465a702218c5a072d3ae1059fe80a17ca83d1701fd5a9d95826b0302047c435bb50067306502307c1dcdea1a8b7105db0095927a1408094b104f3796b54b7a5a1f8f0c9102d8871f14b9d512df63e34f2b1ea4e71ec6eb023100ff3eabb5218d2a0c29f9dc0d34ba1d18ab716192fb20cfcbc1472b944398fe21f00dcfbc4357a3d0201eac384914878d0302047c435bb500663064023061644ba769ad1d99af44ade324fa6c3006b42fd97161649e4efc96a317bd932de39b21c28eaddfa078f1fdb3420f682602300bde9281cb2f5a945863a955c4ec3d9de0963f1fd5f476e4c9acadccb8ccad876d09b83402232d32ca51f35aabd2f6aa0302047c435bb5006830660231008b780e3938010f07033f34b767b562d66a773affdf3c94ceb0a658bc5c35a170d9ed9fdbdd9c36fae12c1aad8d29c808023100b49b0fbc2ffea1245d1aeb8ea5df5d014de5f88442538d8ee6a82f7ba56019a366c9c4e7cd544b9974f4100917265ba00302047c435bb500683066023100992567dd159a3138332239eb5f2026997e0d4f2e89bb65b0078fc7140c43202d26aa3354118ee9fedb402f84791dd90e023100a8406072d1c176d01662f7cbfd0cf9b8fbef65a0327d9ea07dc7796b13f39d1637e57f5114c2ec60611139eea0b457110302047c435bb500663064023000ebf165b14357984ce430a318a3c0af55b8d5c0ff4d3ed49fb06558be52ad189756b73bffe20c8bb62967f5ad162c9102302bcd401cda06a4d734b9983ee75113e6066b272647ff64cb06d96a5513b9147485f1ae1e39ce8efebb9567655813cd2f0302047c435bb50066306402301df4a2256c83da67460803f46ee99e909a91106f7cf15b169e0c869bb5d923c7871eff8f9aac0fab819a141f0eb4cb1d0230147c89a042d899746f6650a800b123f8b7c1057340220f94365d8ad6bfd959969fd0e2b9c2574477faadb909eadf25a10302047c435bb50067306502307c34258eb64f80d20ed42956ca441fdf61d8bff47519af690b4ab75651f435b31794bfd1225f5c037e3978c8be38329b023100927215825b0deafb2be5f458d1d0f0b54d153764cfeb9bcc69aea9e13a54e5369e31312a5f771ff08bd527389970a8350302047c435bb500673065023068bd65ebe3d4e659759d379987d6b8d131da0ed99767a405333092da9bdb41b88ac759b279b2a81801d82d27874f4dcd023100bf8b019b2a4389b013e63d78cd5385019d519e83dea37cef6017c974beb2c3d35bec74da8a78eb3b43d9520c604ace7f0302047c435bb500673065023054ad68fc6e1cbb4292c800504c71db932375a2fc8b9a77c5fc392b161db08cdb11717fdaa3ee1f61c7920ba41cfff4fa023100e65c96b56f07a10f2107dce917e5d97aa462382d37afb037484b99f7b793be6b6efa7cbfc1856bb8323688ce663fde830302047c435bb500673065023100c712541b6211806aa3f04f2b99ee895a2fa9f9ab5b5fb1d1c9aa1372c21fafa2010715df70580641e738388dd463d08e02307a9a6e35d5a7f76c29ef262f2e4cb6097159e8ea2486282c4a746c67be773c8255b3c19a7b05f185d7743f78a609e3bf0302047c435bb50067306502301f515ca7594ed5741f90a789807e095fb2c41ca7c192a87598b6a1de64e15128316ad1f9a15bf80847994461807e894c023100e08aa9199ea954efa1b2a065692df71b04fe405e4454ac6da48d1873d3c421e54d10dc3b6ad906913e35aa42a1882da60302047c435bb50067306502307a6cc18246b62ced1e76eda80cb3fbff49295899d7e91a2774e6109824310285c616c925afed2a02f28464f97af22702023100adb5559aa5b3f03145036cc9d093d4dd4160faab16f73ae06c70ce5f7b40ff4f2b58c25d18a31d128f07d505371253190302047c435bb500673065023100fed3c2297c2280393917a74a343b6b16e54ef20c745cd1439f803bb38d77593860e5e10cbf6ca5f872c354ec07bdd424023047be47dbcb0a6795f07ad9c5f357d69e53941d45f8a7e030e7b66baf0d0a159bfa865e2fffe6c186c057aabaa4cb93600302047c435bb5006830660231009abceb0dc8cdea818217c11a4b5b1aabf142c1ceae2f031f9d27a6cf35b2d666ae6660919b073c1df5b37f4aaec0328c023100a0b8b47d023cd0500a403f75ba8b94a34ed175fddb7fd8f19c0d979701fa2e34d4fdc0e3a7ae97b1f355b09c2f237b120302047c435bb500673065023067a98815ed068a89b2cd48820ba38fc5cc28254f652ede22255f283061ba6538d341c8ee03f401940fb7eca9907ccbc20231008504e78576c0466977136e9bf7a910b396e5f9e5a18132cb6ee863775cea23d258b57237121eb9aa212074d0dc1011d80302047c435bb5006830660231009846deafd7d0781a499a43f451b135e44bd6f1072d2eb621afb77034d1d9f9419ed34bfa6911816205fcced4dcee3bff023100c17e1076bbc3f274c5e0f0b46c7163dd22b775e07fd9153c6fe23770901b6ce7239a4893eb8727e754e09329a9cd1f490302047c435bb500663064023058df21c97b18767cc2a055693d1c1b187903f5f823aa597d8441623491349df5bddaf0e71d9ea40ade8faabad92a97ac02306c84e0955ce463fb6e3de14f0c7dbb49ff0b7ff2961d9313e8cb1b6423b131b2798f9133fe6ba4c953211e48b70a41d40302047c435bb500683066023100c8d138f4f983869d98e6dccd817e4f1707f63e79c40c90e7f89da5e8bf1cad5587362333c3761f56f81b52e912e13a76023100f2a2397aebfa4c95602fb34cba00cfac66c97df84b8cf516b13c232747f36ce7514804185cbae9766fde2cff38a72d8b0302047c435bb50067306502300f9d232a325439ecc82841bf105bece29b02da3a6dcd2a488f97f4ddd0aebfeed98d1237070da10fc32425f89394685f023100b8d08822e84cfaa4d8e042373defb6f601edc322ec6da5d9403f933c6c198e9322397c907187ebda453c25f1aaba5e0b0302047c435bb500673065023100ce5fd1dbd5f323b40105f02f812962e10f982c296cab929ee61cbdc9947e088766998308c93295d451909b5e0939170a02300b4309335b354c13153b52842359f48cdf326c0732aee520895119b849f3ed0dbfcad33e23bad7fffe5663307acf68da0302047c435bb500683066023100b125273b18ff36b285219300398253cc9fc7219a3c60bd009614bfa52361c1106ef6a01118ef07717354479b50a33691023100f8343351f96d9c38d5170f7cbc9d26982ffe86a31fec5ef92939360de5a92803ac4ce1f5c4190dcfb2b5d61229d151330302047c435bb5006830660231009765891d5e6d64e30bfa24b29b92e974d784e9317f6ba21f3a6613bd97cc67e87b4daea7deca4d3e7c778edccf9d27dc023100d1ed72b8148e93c597f084b56edbfc3b66d813b2ae556aaaa3f5e704d0d2e515cd81fcd39e90b8506df04554ae13e7710302047c435bb500673065023100c93231b443aca76e7ae135f78b6b1b1d3717f0bbd6e985c1693447d9020f2c3347e5e66bbc52da47431ced190de81c050230304a9ff7e85870e9a140b36a76cd4043e6c9e8b380f9bf399f4a6d78efbe9441826485e4b8d31739e048b9ebd60f50000302047c435bb50066306402301b3379a0e322ddedbd61040304cd108d15a1feb39e3eb59843af6d6423061c210711d6e17af792ce2d0579ffd630cd88023045460ac87d30090ac58b012bda820befd4c1b08d272cb3d09d1a5b16d0a218e75a6e996f7b57677ec2e2733b08cdaa040302047c435bb500673065023100ed81d9eb733ea3b36691f72e467e9900a0676272328d97224e02221767453f84fd2ec05d28d669ace1a980b2883fa2a9023042f09d4c5f18dbf1c313178da5ddc366d43d758de34624e087db254db8bdfa3edf712e99d570912cb4f7a659a49dc14c0302047c435bb50067306502301176e765c7c66c0fad90e297c0bae5a3f64d6a3110387ccd7fbae7e418e6658482597e0bbc9c15fef11c9434318d5300023100b4312c86f430225169667b72a93b2274292da660935f7e7fc4e17ec2a5fd2ad425c90960c1ffceaa480e89afe786d07a0302047c435bb500673065023100c0069e79bea33289f3cc1a74cee0b07d0da9475a17022f3f57130d7d66715b09a9e6632ce4aa013c2a0db05e81c8791b02300f5c65e3ef2bb93c7d3817b5461ec9a2b93fa50ad335462823063e39f9de77f00556f7e18a7b5d130beb4fcf292ac4070302047c435bb500673065023065e6c68816421f3a081d288e2632f82a8045464a1a45605aa466ec262aa671b9445f3ae8c4a95293088146ba4c0b029c023100c29e7844ddaa3f5f29c3f92d84ed2f42c90864034fb55b425710376e18d05b1f997db70dd86cda1da8ddff76d856774e0302047c435bb500673065023100c7fd90870691383413c63b5ca358731144f426b468bab696773c7832b60257eb00071cfede245363aa5326e001d1daef02305e67f4d1f21f5aaaa7f79c5dd922851cb3d8cc15c5c4482364d020500435d47f85533b0d0f461e447851cb15e162b87a0302047c435bb50066306402300e59c9f79ec96ca67f621585f289fd6e72c421e85d1b20796c57a9fd5fbeddf7658ee0f78b4aaa7a27d1a31ce1ff45d502302e6aae3ea22188df02aad89abba24ca6cd208eb0a024ed5648b3190daae710acf4d8dbd150c706f7fab3148b15becd940302047c435bb500673065023100a412f3fa2618c7a291c2a21cc08fa11ecd7f3957c1f5d184633463c93ca2f508cd1783c7f2b5512f0d6609949573a9ae02301a661cb7a80a04035c082b5d49b2a3d9c09b490ea47ad5dd6c8c1f0ad3fad86658cc252112ffc1d6da6a30d8cdba54950302047c435bb500683066023100a6f7aa4a06a8303646f72479607c8947c7457a9fdea238f03872fcb9f8d14f0166c983fe0d0a78e4a3b27924ddfb12b50231008a6401ae597c8b17f1a41d125e772a02362ad200d3ff7d0dfb0bc72d61bd331d3788d63c5f769501805bab63fb2e5ae30302047c435bb50066306402300e1583bbe6f2c7fdd60562ab79e0ae8d1155efe8d087775588229ee6edfffdeb672cbf06ebf6345afe95b5457f7ec62502306072be1eb4bf5606afcb8893ced6ee2114a0d9ab68225328f9f9bf8e01ca4559a005d03457747203f6fd16f3d430db2e0302047c435bb5006630640230308340bfcc179430d0c699aa4612c29f9de02fbc7b75ae5617707cebcee11acc0f422f70f4199942158e86e2617db9cd02307c8f53d8f57afe315f9a1d6aafec7fb90ff526a299cfc29b3b0ffcb25011e63713dae9b9719adc562c0afa41eb59b2170302047c435bb500683066023100d916b946bdbb97a509b0efad329ce981916668f33060931bd2511cb65818166186648708ceb70f04876d88169a8ac31d023100a78d54cd881628bbb72b842688fc02466f145aceec6a2d0a0d8b91bbcc268f940849466f8a42bb5fd26aa10927a2fa190302047c435bb500683066023100cc975ac42414a992bfa22c8d2c17077a5460959da2f75ad26356ae109e639391141a4964851787b80af9333be64ae9d4023100f50cffb6baccb56c83cbd9e2c0537f4933c279a07818536681f1d416558465c823d101cce4a6250195058db58a69b2930302047c435bb500683066023100aad2b0fbb46a25b287d9ef043d0bed6477ad145411c15bcaae0fd3398de87e6d5d2d91a159d22e2a9bcd0a739a21d70c023100dd5252feea20893dcf6b6cb5c55e5cfbc1de6f82fae78302ee780913464530276bc8b796bf18c732a30ba8da4c6573db0302047c435bb5006630640230186a54cd4695cf6fc82ca3222d52a539f65e914f1dbf78533e582f944ad6625c87f199444e3a68201a7b99c6baa9f0a002307f8f7df6ec87acd970df831dd2ed13b925aecadf2341d1bef8306ff10319c41f71717f514d3770960f2b8f263419f71a0302047c435bb500663064023049b064f9ac0dbf3490f6d23dfaceb883f47d76ae21df073b267673b2d2239ceaa52b3b4c8e63b5cdc41be498060e5d040230590d13b7753ec4ddbcd4323b959362aa654b82b4e3e17aaddb315b83cb699d6f8e6733a7a9b7c85757444bcc0e83149a0302047c435bb50067306502300a0cf3efd103349e477d39369d2cf51bc5347abd2cdb3a5b54c4a2ba4252cf7292b66d9429a1ca6ac1a37c9b38f0a42c023100aba1bf3358ec876bebd0ff6e208b76473a6d279b1f758872685f9884ee1f52f2e1876f6504b58a27e928130ed9b895800302047c435bb5006630640230569ec436d5ef83773bb44ecd161a60bda6e56ab4986b47715fea8ca75b00080084ff82f91163f1580ec77f18d44cdc16023017d2498ad2c4209a716a4b65ac67de5f8664b9b216145189b4a6cec1d482e7224d2f879da0d70f798347f631d930386b0302047c435bb50067306502307cd33125ea83a6f477582f42571cc11c74500023f66e0d308931742f6c9452c1ab606bcb90675104f69586a85266c4390231009608d01027b5c79d125f15a38030c3ceaab1911e76475d0b1795d26b9bc3c6bb3692c6de276a800dfab228bd8f5b78d30302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023100efd4de3feab31c8256bbc745a49c7a928696c7f355df4f3704eed20f0f8aa73ca1d972d7932856ace0381ce32199a97902301d7299e6d2d844871876b90aeb7ac3e171ba545eadb7e08bba60e885a5cf8a6eff51cb868e4ddf1e8cbfa9bd6d9391130302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023100969528609e54ea83289357c7b0f2dec638bd9844ef02a148065e7a31844ed4fbd5c366477335395199c8e8cd0caea2ed02300e8e92b02b52beb574e464492cabbeba02b0dc876cab6fb2cf1e2018d923114f39ca60dc29b80d560f65a628a469498e0302047c435bb50067306502307217577ec32ad21f3839bf31f61f6db7ef630eee9d0c10485935df1b0fffc86e8f6300fc3fe3f75faebc59a302abba17023100d39fe99a4c54753ba559670beeb5677142475cada93766919d8ac6a96ed14e15d8ba7a14f216d6e23bbb318de2c805180302047c435bb50067306502303865106a1ef5d2d3fcf3eb9df30d6643777b98582e909a4e9a1cf695622b6ca672e9963aafc7622d360f80a0253294c5023100c2ec53cc180dc978da56726b8c23965f66dfd18dbdd406f88c87a186f32291efa63586719af4494908a268881f53346c0302047c435bb5006630640230692c59e28ccc525ed105f7f31be5945cfdea5407ee9c8fd1d29499fe1e04289d9b175c19bdd5781d79db6d34840296f102305e9676e75d8a5fbd6f1777c9308263076f5ebb7aed69b4d79d990c4d84e6a8f711b255e186efa4fa4466b451e37969c30302047c435bb50067306502307d6dbef7ed3e0ac7552dd097cee8677cec65541f144dc1e54139f58f923940d3a58d709178a11b1a1a2aa574a93ba2c6023100e8d35f7b482873fbfc2c5283bae655bf10d8a882f4f6239c58e4c8a0bae8d6ff518e0c95e9d4e273c0557e3bcb780bc40302047c435bb50067306502310097198b3f12437fd9d9ab0b2cf7ade9e79fb2a0f9191613f7b107118b0f4658b5668d14d6a91207ff0d0525ffb1c6eb8f02306dd8a697057fe117441a063f9107a1d86e0f6f29c9a652efcabb6896520cb592c01f556af86483f3efd5ca5034258ab60302047c435bb500673065023100f34997be3d9b51bf3601309edb5dfcd1fb828a8073566d0b89f19e7df2d68a1031c7df798a2b3982ed9a49168ba8885f0230669f4b4bfd5da0deb43ad9613532d19d72492465192d333fd3211e1970177e9a03b39031f4eb775155ba07ecf95d9de00302047c435bb50066306402303b2359e4e3fb5862ad13d226bca2c3e13f0cb8685a66b3ad4769bb8212e58de17979891067ee0d4865fccafbd1f039b302304b59dff51349fb5f72a436f02e2956ea042d5e4a1132f04ee8e95d334be464ae58262f470faf2e117039f26708bd0d400302047c435bb500683066023100cf523692200ce17e864def41aac505ee3d6f0e315e1527e87acb609d08c9daddc728827c8e99b5995ac629b37f5c610202310094990b31a70988a8a99734e6f52e271af102b5b8a3f2460dc3039520ff16418f2658200b5a4b8c9e934987786883257d0302047c435bb50066306402300ff05af07ff16a3e373200d8d9895351f74b69eeb8fb6510f0daa1c956e82e267f86de54811b773573d1614960a1f7d8023037cf0fac660157c3facf7421d7689148fbc1f296437509b8bbe91f2bc82747f65a0c02147e2ab12b9e4b143dab57ffb50302047c435bb5006730650230788c05bec2f42f95df31ad4b5c5835c9069e518756f04a76ab93bfe1760b476d15f63e0e82d58c5eed1202b234adc087023100c9bad7192f991d23b34e34780831f8d77cdd0586cc24122947bbfe22d59c28b26f111096a8e384237269c4d918a029ca0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500683066023100c647e97775d18f7d075011ebc2ac8a0434fda65718e9e252e5f6f3a45a829d437570fd72b0ae71722bda0bc8071b7db20231009fe88c02cce6fd76679ee055ad46631984ee320d7d662a10831f401ed68861e631faeba46c41299c1555fa7e7934e4940302047c435bb500673065023026ccdfb8aa460db190fc7ed0fab808843bceb7d05053585b00a8df7b7cc83c474b0e25c3f99f3f416918bc0af905696602310090d9dfe512b695d3d62da3e53cb57ce5a16f1c14db30b94be72b31bdeb0e878b7be8e97b1c2d2eecef55137f09347e470302047c435bb500663064023043f475aa539ea18cd1a10db1858d18292e08bec092f26c22ca543c0064959d77ef7d4a0c6792040a9453726115513c910230275f02d4ffab1d4cd1ce204e7c31a47d588a6222e060b92e95591f9835742549d15f2b50533906391d4729055916ba110302047c435bb500673065023100bf43944ef9f07f2279acbbf7c2a7b9d8cbf8327259a104be7ae545d564d6b39cdd6da35796c2d7e8bc9993c05b9c173f023054add17ab35c30343bf8785b0fe010761de44a3bdd4cd298e9ab71af9be47ff6e7e7e18fc95819f3f61dcddcf44b94490302047c435bb500673065023100c5c5a9c602be11a40cca844a8d1a1e29a93d8da9598c92ba9545412daafee668290fe48c57464165b0e0faac53ebf80f023040a4232895fcce7660a1c4b9f895e8bfe317e36a391108f87e8109f97f65957678d60bd0223004f98b7c98aaf989b5800302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50067306502310089b3eb866107a8c74bab9bb8cfecf4a1ffdcc21880907e74a05b4066827f1917b16f9d8bc5135efc46a8c886f184c17c02300cb6192182a01c08755eaa14428ce072b40fae734ec04c200f0aa04144cd9df19d34b39e4efc4dad8b2e70922e31aafc0302047c435bb50067306502310098d186687b3b0f5ecc424a2b844e5f3e410b3efdc2faf2beedd43e8dfac50f33719d6271877747991d4feb068c66a5d40230600a3c0f38d4e0f299b2af2f54d9c89753c12f35168ccc516569c742f2a666878b99bb5a4e6f46fb66dcf5edc211a86b0302047c435bb500683066023100e35178efa597e533f9f89c1e1575433ad050ba3b9ca1af79f84eda5c995302794996cfc3a58e1dd8c2d58882c1e0b56e023100ed4c80c49f3ec7bcfd0a730f4c56dc74a9407f4b95b7ffa3269453b0d3d936aa35804d4432f4aaba5e4dcd9cbfcbab710302047c435bb500683066023100ab82bdea58eb2b34ad3f683e3e598c846d8ffb3b2de001b51fcd01ba37bd1ab94236fc433ab2b7bd31c853a30371ed38023100d0c567bea1a498cc693a9c8b6d31d7898620e37722b4c346181af3a85b403c74eec0db908b0e6d717a09341fa626f1a80302047c435bb500663064023065398120d2984611c9b25fbba2af0916c30e23ec2192d0a900a2a57e5a9598679a92794e77192a69720f3ad5b9e424ff02304d2b06b860f955026f6f51f4e158977044d776ff0b06abe8fe1356e48fabbb789b6901f734282aea267ee6ebe32d8c1c0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500683066023100d8831f237ef8f3738240c74015bb83c823971995ca5727c4e254ea5a5d6842e5a3f62acc46987359767307e58433e06d023100b4852d2af6414b1ae41908c873d7090b63e7ad9749e91f1268266aae5a1578b129fd48fd98ca70d909e5bc414e9cba0e0302047c435bb5006730650230395cc473b22c414dceeb25fbac5c860941fcd00b91ed97892b3ddd8f8e77429a26c2b544bebfde493e0314db2c5706ed023100a4afd32f104e13731eebfa8dc1ce7ff773b77c68d714c7b261405a2da8ffb4e3419e078f3c0a7995f012381112ced0d40302047c435bb50067306502302ca8bae79d833ff143fc94fbf0a0ca789e4b6b0f25743a92819ebf756e3dff816999866c7eb33fc36f277b44b2c79e82023100be4b519e3de01bdc7ace6d817bec20acafb8e329cfb96919d2004cbc4918d48de0b4a7166c6de2eda069e38528bf79b10302047c435bb500673065023100cb9a4924db0de612ccf9ef15d67bbab98dcc6e12bd677b941d6afe71b47ee2ea59b70f3a85a7376941c020867db5a8b102307d199ba1ab15c9ec074dca937d522ab84023efe9a382f9e9e11ae1ee5e23c3281659d2cb87de3f88c2f542949004260e0302047c435bb500683066023100b01b6266cb5f4e3c24fe90cb0a1f299f7655821e90f52d027a5642c44aa3e076121f28a1ebba00d3d2b6ecd2eccdc8d8023100e3270a37c70d978edb18652fe6a34ae201559dd85f484b1e46188a72785b309381efd0ff1d128c2bbfc07b109f3930610302047c435bb500683066023100c57cb2868ae379ce5b70311ffde517d712b42fa1bac9870d9933a72dc1b0e254b99cab9f61c5536dd778a5a4a279c9a80231009179b1c658cc4b541a358389ec35ae7cf36fc5abdcf7bdf353af5276cdf3abf1d6346cf837523bea749b77b0a115b1610302047c435bb50066306402300aa02aa1bc21a8f412955a5c2d4c35b66e88683b3973ceea0606f6c4527406e59dbfa632e40dbe9c5c213395eaf1c09c0230562ff0c321757a461bef13b3eaa0ac71fbc84958e351bf38497fc7f07ff7b5c026454bfa8bb5901a6f2849b8a7e7d0620302047c435bb500683066023100be79eb4b7fcbfd1ddd18f46f249fa9709c1f11771ae29b5080fec144c6e4cd16ecf51be5125e17a8d0934d19c680724f023100e92880efa4a793ed2c5e25c65ef9dbe1a00f81ce36d2036639e929ea5469d7686e9374cba4938d03671cd66679ed71900302047c435bb500683066023100f4e8900dfc29f36c5cc56cf9bad010f4017681e24f35c15d08dd4bea475cc9756d63bad3ab68558002517bb078d184f7023100bfa77fd6399dc55c02b7e8ccfe9508d6f17e5a7ed4be7296dea7cbccee4c91d2433eab066e32cf116cfe02919125a72b0302047c435bb50067306502303dbf44e9c366262f8e5badc0a363a739ba864591371f6571753cdee733b7d47b07b553b82ac8102a2feab87e62820c53023100f4a7737da9bad018d45ba23a257c21d15c699e2a8f017205d2ee866a18787b5570ef7a067b5867bb9480bf1808a9f2cb0302047c435bb500663064023022c55a5798d3c6cc009f03e9c9bfc590101b7aa6adb579b2a78deae9e9bf46e25bc20872c83bebce095efe25dce6298502300fe22e418c4e1ac494b04ecbc855c3d1991c617281288d3ae6c47af8a2f8c0b02f3b650806a17d024684773f3396d8680302047c435bb500673065023100daee642855adcdfd23d59a9bedd2d440feb0293fa0b5fe02ed753bb22066195560a866d045fe14dececab4c1de0edba00230118023252eab9e57088ee8b71a1a043c9274d6b3ab9601151ff6cde5e92c1c815dabb88b91fffc25b319a7941b9752310302047c435bb50066306402302370d5b74da8af57575ec974d3533c1875f0af721c1aa433c9db7e54065bc926430f0769d27bfa28fc528ee5dfb8d6f6023005eb6cd7329c2552ee7314bcc1e036a9990ecbf815313fd7f9ee69c5055e0856a8571c7bb9b02be4d26e30857e2c818e0302047c435bb50067306502305eb44e54fad3ba7dfa813d252cd044f6a85567d22e6e169a5eed0df78a5fad276eaf457e4ebfaf9034dcefd2578b432b023100a07fe464030cb071b4c286cfd36999e9761f70e273b49c8d8162c39720cf26e5a25cb233374e889e142c270be096791e0302047c435bb500673065023100ecb8afc3bad4abeae4f6d9a5e0c7d734a1cf7867d800e00974765ec1563103f4fd7d35c7652a77d7e8c6e8583604720d023032e223c642c83917dcdd105755ef366ca7a62580eebe225093a5f41ae145545bebd52295c6895f77e7841890144edbb80302047c435bb50067306502301b75bb9935c9f053cce6e0a8e935bc5ee5fd47a607eefdb78fed25d237a78b2eb9333f300566ebf8e3ae4487e552e86c023100964d3cbeb1a8956a11b3a6e96b4b1c4433b5c88a86ec70d8fcd7f19136bb8fa75415a15b9044be0972497f9a7506d3d80302047c435bb500683066023100f1cc13c06a4ad3a30bf702f1f9f5900183cfe055f1acab8473ca287861c06d02969603e64b241e27caad317bc2871859023100ac50e27fde805f1dc6734f890cbd750a7b7002ecbc7720840076c281b9d72c461b610d1ce7b7c68f6d2606dd299386f40302047c435bb500683066023100c4e62ede43f940bf5c718c377bbc1f962104b8a4e5b7719834cb5f7fe32ad75edfe7a04a286da48d959761a625bf0ebd023100dce011ac3551453961e964b29a6e78f29daeec331ecc7743bb9f8ad6e7b3bcff434c29981f1d088c117b0b35ed3a38d70302047c435bb5006730650231008a56acd3cb0d4598850cfe0603c6125b9f145f3bc05b0bcb6320251970005c2436397bc62e3380f2fed4785e80e5b21602301430198c92c20f7c23fe05871b64d2809eefecec5fe154f5813931b9baeb350e60bef23f9e1b152d3ad963ff9143e1580302047c435bb50067306502306bc11fb5b7c6f3a60d5d3c8b15cf8fb386e0abf6ec85b5fb163e712bfee93ed3d576516358747135c1c0361ef20ce0e6023100f335bcbb9976d96bd469ef36fb19c3a4365e75e2dc45fe9f886a79b3914b80530e160169a16c0b91cb2764d4097070a90302047c435bb500673065023100e76aa921b5b05121088fc8ea94e8917569558d8d5a3702001ecc916ee28ae01e8dbf3bdfb7a192a9a360a2f11e0cb547023064ce2d168f207001c24c1f0f8b9f5c78608480101c46bdb8ab2a0950d08e4725993800b27d97e2e86d3e7ca9e804e3ff0302047c435bb50068306602310099cc571bd9350476fa121049a5b591a9f393c8b099edb3dc65e87c3794b7c708b5a5d8256bc2c9e63605a6feae42869b023100d254ebf13b8bb4526bd9558bf1e51b23867d3826bc9111b81f71af3faff79083a4ae7a6d60e4c34e69fdcbf67dc4a1440302047c435bb500673065023003362674228ce1076cff460c287395a4c6feba4179a2c67f248c6b4619b9a2c064684020d01d67f688669aa4e4bb3f52023100a9197e768bd730cd1f5e0f257ef6fbc7e1612bd7d8c1c89a22ec1466a61f13264f4170963dc8479e1557a3edd94525250302047c435bb500673065023100a77dc50a34fbd3122e5f6b05a214bfe13924c4a402d7256754119910c5fca11b386a29194301733bca956b545095b01402305a3877090215ca57e3f8283ef4e3fbcb51f205d8cec0b615ff7084e21be1724cf1d3ea96dd198c7840c8ed85da63d3d10302047c435bb500683066023100d4843c8f932d9ebd0048ea6e57bc5d66fa5722306e8a37cb274dd1792056cc4e222322741c0bc942e4cbb035a8018c0b023100f63e1e3ba4ecb11bacfd0cac274166ac718b0f521254a14b709b95c4207ab7e828c0f80dee0a5796ac1d2ca0f05f02b60302047c435bb500673065023074dcf41a169d095938fe508fe9ccd954ffae04128e927114d83872ca80779a09a0919f34539a99cf7e82b7c6993cc2a8023100ee6a7543f5c22a93031a220c9b2a727fb8eef115a17a97eaf479c34a665a25b8fbd69b9e8f83423a61fcd17e81d062f20302047c435bb500683066023100d6ca515694482d721d4461bdc36dca09137d472954ce16fc95cceb235e7d4961b5dfc3df5a374778e4785aaf3b5ed1a3023100d62c731346eba18ef0825ce1b6d4bb03b1005e0e27f768e9931dc2fb110335630695faf309a906a13c3162c06ee69c510302047c435bb50067306502304ed00c93026ccdf4065467cb472182ee3caeab2a7bd23e3bd845196cc4b4c92cf2c60dcd7a082274fff41ceb3f351ea5023100edd2a33ee0a2edb1f0b05c1d1c5f3f9efc004e935298d2e434031be073a15dac4358b2fd4b8746543bd1c4395dd32dd60302047c435bb50067306502307f0525bd2705f0bfab49311359a9f99a3986c53886135d0a923e44df9a2c0686d9eff55bcae339e3bb0508efa24f1027023100febb7ed726c2014a9eb180796ac04bdb4c3f82f0b548d522269a97ab7e4f334c16a742b575fe585e51382eb0990ca0d30302047c435bb500673065023100f973c470b6890ba321cab73fcc174c4b2847025939f7102fed69b03f34b21fd9583add790b682e97ccbf08896f88d76802301000d239f4b59035b547038d180b363ac4b30111b4843eae05097465f2233bf4050d0c39f978292f83cc77cd41bade950302047c435bb500663064023009ed7dd188be3936d79319a19da77c706e49ad59450aad6d0f3f6a0a197b049af00b7084909e7098511dda0ed7129558023062bc8a5fe199ba4bc9f2b87adece8da378a080e9a05bfb002f7ffd77bdcaf10c86aa270acbd798029a295fc13bb462360302047c435bb50067306502305446ae15c678e53913e4bc090c6646b036b6f2cbcbd52ecf17ff360f82f7319e81883e1f69dfc19d39269ada4cfa39f0023100bcc3479ac69542b842fc70be638f4bc59d6a9902549ed500904dd045fb29c076a8744443cac4367b482b29526eda1c300302047c435bb5006730650231009bdd0a065e4c710384ba3ebc178d0e582119a4e0c81669f7768de51773a2857187441140d1974ac35a170cd60ea97a31023013c8b034e5cf32ca8be9206340ae0ab182d296cc26020d27a7585f1da8470b2faa7aea896e15c3b1f75b4516f04111870302047c435bb500683066023100a66568288f5eaa356c4439d21d1e6fd731cfe9c92179f30baa2cdbcb443523091a206fe1f48710ff964f650fbb072104023100ba188171bef731b4a8d5fa85e2d9aa73a7e3a40e5c9f63cd0f28c7bad6e663397f2f64cf3c9d61aed69c571073be0e5d0302047c435bb5006830660231008b37681afcfc50e817560273d421ccb67f0e13381fa8cf6c854d1c614a049103cb9757abbfcde3bbb5bcc41a7f5c2b79023100bf2eb0ecdc2acf3c7ccaf0faa40679cc1f6863853658ea0921a9ed32348dfb1e0f7d7a4d83898a3c7c8013aaf3ae6cba0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500683066023100e9647568a82877a2171532467dd6db18106416135836f98ce7e0cd05da871bdfb576dc49ecefdd8d5f2d858ecc04a780023100acace1717fe582d6faa2620025c8a80c0bae0c503fac06fa4a96d4b1afc73e4b530f95db4b93c00a415b168c4fa813af0302047c435bb500673065023018fc88937f26fb95f348f2c61d15c8d867250aa51ce9a36fd8a5e506c8abaee720a5a6e64f76f94c6649bee353029f0d02310095f0d153a556f0fe06c31341963376e9db010f1c9fb97f915b9bac0633ac6cf6c8416de95c2b58eae229213b1fc2c96e0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500683066023100a98afa69849bd231b435596fc8343c15bbcede490d4ad29e9ef6ee9954cddc30d73af456e4f2286c2313edcdadab720e023100d77c502686e96c83411f44b046a52211d46fe051a7222b632149578027c7fa9d5bba686115a168875bfaa4e466be70f10302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500683066023100eba03652d918c08b9ec3625fdea5737ed09c7096b32b0f373349a80465a2d0f80044e5929ac8f7e4fa921ed1fd7984ce02310087b5115c2d07e547db5ecf93471c8ec28979922381ed0e4441b3afacd6dea8307966db164700cc865d21726810ce0b430302047c435bb500673065023042c2a894cb0919e0b7336239162cd6bdc1766d5c89a4c0312dfc281b97e92ce2142fec4bac1b660261de90dfea4764ed02310093e0b0e8dce2a6cd811539fbe2214cf34d3b1a428b1ac0eddff3dba9149ec958412af42797d97167c294783da25462a30302047c435bb50067306502304e492f2ccadaa567994941c5e16fad64461866bf6348b45eb660fe4f260df3278fca70f31b9689627862a631b7d96d30023100b11af9551576057a0437833ccfb91a5d38b0e3ba2bf5e321ee3ed45b07f0a543baf87c2d6ea2f871accb0cf8448e86490302047c435bb50066306402302885bb240c3ba6d9407decaf063e0abfd282306b244d262de7be1f3a2b31ee386a4d1734595b1ac05e821b8e1e7a917f0230347bd2bc60719f8272ee6b84a17ba2b029ce828382b285e2af8d02e89af22176756006ab2b4bebe683a5fab609ca92370302047c435bb50067306502302c49fb8846dd88796c3ab0f8aaca0db65f4d98d46b72195b21e84c53391979aa16d9f67d6f7b34458444aa5cfe55b84b023100fee30bf5153bf7a1a237b77bcbc70d28e44891c34005e1c72f2a470c860b72cdb286578d978b48b406ef729275b97a0d0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023100a9df00685f00cddd0effb2fbb979c3439103c552767a92178e0e5ddc6246f5a35660ab5dc9c2459e6517c8d07a5c664702300dd338c1f51e0f02505e554a24b7aa0be2f0d77d241bc498bab915ed39865aec3ef83966e3bc098326008259131beea30302047c435bb500673065023100ef020ba640549bbe7ce1f3551489ea6446d453135331d9b65301ca3e8d14b98604bffb0688482fcbc1ff407fa1028131023079e34b6b0d44e9cd9a9609e270aaf9573323f3c5d7703a91c0260c028824238311017de2ccd4e9fae992f95b25e0afe80302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500663064023078bafc59c6fd2478c26a8a807f1b8f1e9df9d7fbaed4041d6f84e15d01a42a4bcd6b328ee6cae8b2a3d60662bada3ae402303a8e5d2c89c16f91ab3be88d17d7406fa606b6f24b92e17a676835d0389bf1f5daa5ab9e85df2947ea198f53202c310b0302047c435bb500683066023100f469433cc8cfa876afa38ceb27f3ea97310a1b718727602f29c05ffeae02b290dd7384ab9448373aa275c3d4887330bc023100a3a661d2a2347531ff90b43fe73c05fd2cb3eb82f71cdba546dce5e3a8cd516c71d4ebf15b18023c96a5b751654b480a0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50066306402302becf9cc1a19d8085dfdcd2cb299e873ebb7d2503fddef8dbd509d495bc4c098ba13421ca3370e8bf984e1c3b849228a02303e49bddf26866f6801625442cc1cc85180e01487795b80a24605b0c01219f3858c3692583e0f7d29c14d7d31392e0ffe0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006630640230369719c075dc5091ee1cdff0fffa29d6dc235d3d30beda9d954e98b3916b587435becb831fe5addf9466416a59cc4e0202301a84f7149c61b9bf1de240e9be7f5a0f3c22cc15b0a69a2ef4ca676183cb457ba5516c8ca833fef0fe525251a2a7a2940302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006730650230187a6d923418f40944d54a986487fe793b2a782c2b9c1f5630c4cc268f2e7b086ffbce0e81a8219c4aa8e42a4f64a9a2023100e1d1799d5ef8b1c116060307aa1c0a6b7c6be7aa2067154f41e886e19dee1c7f4b9068fd6fd29a47179ad85467df153e0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006730650230789e6e019f766aafd9641caf4696e4d20287096804095695ba0807274950b6d3c58596332d37ba4521a7182d5d44202c023100dc2a709d6df177f99ede181fec7d29267e5e73842f0f0b64265b26db552351828261adc94ae978309cf099675ec9d5ab0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023100e93270f3d54291e56a65df4cb94959bd62aeb821334d2c486da6e0e10baea9d2fe3d919078c09f8a26eeb0a90dca3d2a02301905cc213d2039804963ac3021688dcd0db22518ff9f4d48fe665c1e8d054c98a0ca34bd2268d998ed8f4ac73993745d0302047c435bb500673065023020b942eeb7d87eeedce8931e195455144f8dff1a5e388b75df8e3a6f0e06507a36c659e651025040ede698c0e6fb0fe0023100aad909e7eb85c1783500e0a72e129adb61414990c5a43ccd90bb33357a77b3038d30640725fd93e81c35d9e3ca01bb710302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023064cdde8b89a5b973930c14b543a33bef62b3d95f1897f909b35b3f31753ca51dd28a0cc7a3b6b08d46394d089d3db781023100ef0604aef6411879531b9871861dbf924412a978b9276c3ec21a5b2c488e9834462f3340eb384a211d64209f36eae9c60302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023100f13f0f534b49aa0693fa4830adc0496d8cb4bab7082a60a15fc0c14beb410cad58ad2fb695776c562da68f569769945802300f61566421986f2471645fb11a0a9b5c8f9ec4671b2cb68310e88e8314f204a51c31ca5725e33171f9799b8210c9b7f00302047c435bb500673065023100c75bebf6f64bdbcc870ae4926ed78213cfbd551847351a887710d08421c846b2007eb2469e58d39ea5d7c6f13f343406023044acbaa33166b0155a0795226b356cb9879b6ffe39c2fd94b0ae8a54c96dca972ecffd7b5c4e4f62828d5b982faea3940302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023066f5771a46243b7bb0c2bdc90fc27cfa699e68ce3ab295e0896a0701248f9b4e93a64f33ca037649f1c332e4f8560ad4023100994e6f11499bfad2ac9ae64e81a69f7d3373d7374e2347dc09988ff44ea6f3edc89f2efdf9acd869a23f3fe8701c01430302047c435bb50067306502300d17149c9b97253458761b667d9b121e875fa506bc8489b4e4db8a0be596374223811b42d3d344b111db8ee15246c7de023100908dfb289602faf6ff80ee97e55a249174adca54a428d2f5b62420bc4eb83bcb413a01daee54cafba43789d30a984d680302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023100fe170b06f3e50fe88362eb75fe059c24b79f8de7285c4c21dd76067842dfb4362964013c0d4c13ba478caec5cf1097aa023026d974200777a63eb4f2df5632084325b801f5766b92dff2e3d464937cc09eb259fe78ede1b8172220af930185a360930302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50067306502306a32099491e262a6487eb607c5313dfd44c5c0e69a297f74f17d584524e724109d32f7661e993351d7dcf815ef2b7621023100a09e608da6f5f979e8b945d8d84899f87bc8c2d674d2f1c8af886de5e94ba34dfbb5687db871ba1e72c1357834f0998a0302047c435bb50066306402303d8da1292357494ac70a4f7f08b7adfcbd1adae93a0281a273043c335ae6bc7b83c07543a5c1815b12c8753060fead4e02301c731b21d1d63cdcc7b4b5f65cd79a39f6729d0d43a7cda81b02155ea5bbd93cf63daea8e65896de87eb6a8564bded6c0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023100d63d43835656832511746e952b535e7dbfc92bdc91745b8081d094b14a768db0d0d0dfb7f6b924057fd39043fd5d6d2a0230291f9fa1bd32cae23776a7cbabe7c9b27773a35256d542752b8f8b53ab57db13f1b0e42ddb9e69f811c1270626901dae0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006630640230255adab8189988e369af49093cdb9495ecdc37a24f6de263cd0b16ef844d5a570f0280af97b6faf33fd234a56a8dd50b023051fb6df10882a072c9564051c0c3383148752400c5c3a3c20326c420238bcfe38982d58b40dce95b16fdae5290b447410302047c435bb500673065023100f001b39036ac3417855823f8f20fe1e25f761829f438950bede0e580ed6db8906479f1a0bc3b4e4f4b2d6d4a106aaafa02302d8c2760d72cd1c430586abf3d9122de114a34be4222b8b0a340d848c8cb3e8bc606b80b652c8bf88514ba40a7d8584a0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023100c60259ab5132d214d268dde58ff37510d0d7502c2fca266bd13d8fd3638036be63c585422049e43da33abcb14d74e6f402307438a150448e2cef1c9820adef7720109521def05b8a4d88acd2a61f36b50e628c0f06b498ef075154a802c09243f0080302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50066306402307631a21ff059a8404c493034d4d31f74ebb3664db06d8e6783bae844fddca7fd5f142c494aa0e6da0cf3c6a4baefede2023049838019eb099e9e4a3628bf36408940c9f0894401fa7f0602530e69fb8a4665b9f4212a127e188b6028b0e579851eaa0302047c435bb500663064023025821b83ad4149eea20fd313d06518335163ec6ee2369689437ff59b3bddceae2e5d39aa0f96636aa2a86331e5597ff002307a89fe3e30203748c584d7c3980ef91329ae7ef9fa974f24e2fa2dfa92ff643e7052f2f0405601f0b5d3613c631bab020302047c435bb5006830660231008cec7b684485e643d15fea9325321dfb8a78a53d3cca3ae43388b1d4862b6a374d7893fa0ea902d55927c93de4b6ea4a023100ee05c6504a37d2013967fb02ae3311a12e2627c6bdaebce1e9138e84a989f7d92c32a369588dae02e89497e906d3a94e0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500663064023048771342330b4e026d6cbf4592e52c9957ed4898167e80926e514c851e6a685a9fff7d5f95c847c2343e686b776e22150230328435a31edbeb499f36c3742d4f3d974173205ba4bb319eb0719888c73298547443c706773b5c40fb103d55cedda68f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50066306402304fc9104f12a7b71fcc09ef3ede37e5d22e8fc4492f04b3fd3ccdd8ff3cb8d8ba0d6d7268e06075c6f7868e737525242a02301f300c4b64abf53c82c544fbf3057c3f8faa86f045809efecf349040160170dfd6ec139e7f0fae4f77d8acb1f3490e710302047c435bb500683066023100dc6413aaf3b55e1b3466eaedacdbb8aec27d9f7f007fe7084e3b4079f241662cf51102aa56a44a43c71c788383b86406023100e6d81a15d5a4d914c638cfc05aecea07838f94225ad82134ef2d368fd2fbfe972ff6113aca0bc6c0201e2de478fcf7750302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231009b7e6b0c194886b27d9d00d103d3c00a197d33468935b12c45370b4c5baca31d325addd59952bbdd20e2c867d2d40527023100d43e5151ee86ceb7bb82909bf75e09f8a43ceaeb5d62c31308a86249258ad5c11bdc9c2dbfdf2df5395808a2c206e4600302047c435bb5006730650231008b73005ab245c9c4a349c82a03d5fc4f25910e7e2ee4df2bc0c0884cb7614e2fa60e82d3f2874dbde65977f9b5a5636c02305a9240013332d25e19e6ce61929358271572f22858d37b505a6b79d02845a07e4d37faa6aee19b8597bcce464889b6a40302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023007a0cfc5ab66761a6cbb26ae5d749e82f3f9547a6ce74d4a0514ef15da6312a8d9185b1668bc49ab34689540d9b2d120023100933427af679061dd66987a790b53c371a8676fec63e24f34bf8edb1a7abecbe627a61271263eb6f96ed7b84d3300ea580302047c435bb500683066023100d2ad49a7c45f3d4ab1a217df81fe998042bc147a87c19834e2771ab147adb5c6bc066e0c88cff0d9c2b706a3857b1bbb023100b6d5e8da686e4b9f1dea8cc4a875264b630e89c6d47b91debd2e8a1bb6a378ffe9a99c53a51be1a4ce4a6cf7443c175c0302047c435bb50067306502310094d934c244a4c02608009ba0b13b4c926f4cb78257ad10e0f0e0450541725e2cc36286a8500c264135d8d856185e93cd0230350ce11413af3793be7d58d672b7e88e3b0473b649df3ec1c77257020706f28175c0b8ed71781b21830f7dc7e49588180302047c435bb500663064023071ee5e4005da5081032077c371cf0999742f3507f7712b5b903549f6bc5d8f2bfb6a9a250c349b5337ac9a1ebe41fc6202300eae097b823f8fad451709082fc4035d4502e166847d1640a49a9da3cb4b58c49b5ea9d86dd86a34b3205e69a88281320302047c435bb500683066023100cda11b912dca8ace4d22f57648b4482af83242075e82101fb5fbe27c6330e346109860c9ee6d0fdf9550c37b44bbecd0023100c7f1f32b78d1e7fdc0f30be0cb798c42ccf4e1469ad63e30b5a00b64676932cc34dc88d87694e8caf2f0134a9d4fc4810302047c435bb500673065023077ed7da411626751abc507916088b7035aae4912324ed1a2cad08819dcd62f2d8b7ff4dd3b73fdd09564f8bd405e7fdf02310087d99098b42c42df98cc3604cf07893b1ab678254c2e1c8134ad8c29943773f5cb777b6dc63cad5958ef049daa92b2540302047c435bb500673065023100fc470d239c65928c1cd00eddd9692a3774566aff33a7070ebe64a96fbaf047d1787c8ade39bc5b30d9d7a2d6ec8fc9c60230540ac449280d78345633e54fcc56c3076fe15305d17da09eddc0aed9219e7564c4b70631b1fe72d9eb5e56e4dcf8eaa50302047c435bb500663064023048cf90cd7ddf012499dd0ef23673223f61e87d278e0270491f442198c97117c8115c14ddb30693588d5593c6a4a8b58d02302f4cc29c7b033af0c2b425df5eac272bd42cd90c8b39caff389df1396e2ae8cdb785bd2ebadff0450a8bb89338e0acb90302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008a899ece4aa461b41cba98dc4c442207105c422622582611d9cc6b1a022be3aade94f7e81053a3f524f97c8968331ed2023100dc9d56b9815c945932d0243b86bdc95ed87008ac04d659d609485411dd18e300b613858a4e6d4ac8994bf60f1e67a3f60302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500683066023100aa3923bbbceac2e9baab3d6d0cff4e7a0711cbc429102a53c8d1b09cbdccab4eace5d0c47ad15437806e504ceb8a49bb0231009e134773e1683283a1f1409faa63bf376da22fd1c1ec41d70c81cc486a07c2b0ed145036f5167b105139a59208cc13dc0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006630640230472d0f2ef0f1d91ae0bc0b45896e0402471a365c60ae913f74e85152e163bf3bd31bca6ab5beeaefcfef3fb3d00ef8e802302f8eb9ebc0ffe9e36c57060598fe120e50c45300d5efa1e394fba430ee6db3c9fd0d731d1c6bfc14861745188743388f0302047c435bb500683066023100960b0050cc84fc52cbf380b033d1c98079b2b75a59174eeb700238f0810ca9d7ab8d80cc8937e52586c79496a6e29905023100ef92185718f1dfcd94b90f609aaba75261df81e739e796a8acbb518bc4f9c901e43431efd59da57971e565cf1688a2d10302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006730650230723cf8bbcc4dc787c3fc7a75b88a8a7e7087519b96a5eb8de7cbb767a609a68966d304ab7e86cff1fbcc902029f1af87023100c88900eb9bfa29ae4583b659252a0a2eba8586a279e07e9b84245a390c83dc2ddbd6dcff57eee672dcfc6006d13cf16a0302047c435bb5006630640230149415f8bc584260700906bdbb144cb34153a9e5dee52a1f1941e4263e7e08820e01cfaa3cfe65d0409cdde39e67c61602300b1e7902c2ff2e84ff522f98e1f125d79dee00a0619ac7e4e8ec2fdda18a812d1d49bbcd7df17821c05238c686cd877a0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006630640230618fe60f2e706efb90b2770fdc21e961e75c1605edf3ecb2aefed495baa9c24648c67d2d1020f238be44282f5955bcb702307b02456b28b9e8ce212ced8c76410dcbaa5560e629103cb7fb7e1f517be19e347d270074c9ef56ae2799c6b64b25c1730302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500683066023100df6afd8203a06d72234e1dd8d699f7ba7094424098f83a3eecd876177bfbf3901ba0f5d8ac8f8232d7147227d11701e8023100de7d8371582b19e0f8e9d85f69990ce66c5916b77294ca7ff99f530cec71778edf695b0e4ec5eb1d0ab47b3944d302bb0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006630640230234e2b0b4d73b1f3bc16a3ba1fd609c233017112818c6468f3007e911360e0c211956ad66667a308559aa3c7c01470e702303ff3cb304d1177c7ca77aa8f582d877a7e47637c2b68270993d0130f1b4f89dcd6e396d9bc387fd4134a0902f0b7059b0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500683066023100cc6e594d99980f6636618fa10b07548d002a1cce79118dbfe8a848ad2065f77663242d25024725d9053395e8b4e2b6d6023100f1f29bc88d7c9905bd55136753d7250b60387cc4d3513ef3cdb14cfac2247fad2e7bb1ebff8acc496f0405a3d6a93f870302047c435bb50066306402301f657e9a5a31639a4d3628ed5c044da175cd69304ef6906987932dcdba60f59b72e67079f87f85d6a159b4fa33e556a402303187888cc226cffe4c3b5016ba5c41d1652771cf7ae28a14c73b28fdedfc46b2f99f53fd337230d35a12baec57a393e70302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023100b085851643295699318b6a814ed478a1feee4bf0ff51bc8b659ddbceaf7dfe60596218b6f52785e79c8bb230d88c72ef023007069aa940368b2cb1f910942a6525b8050b1cab78a98917dd7541fa01aba513af354ea6c9672d81cedb6c43455450b30302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50067306502307807615971d5c2392464744517bde09be9da528126178c46f02a305986ae406eed7f41ec74ac09d63d260b715cf6c31d023100ce720b069dd779ca152d056ffb6e399ad7a158baab554bfeff685caa672901517bd045682d2a3bb6052099917c8a5f700302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50067306502305a7ce9dca441a27f12ad3e13cc2418786b5d462b2e424e997d9705c917570b57de30cb488215db80a1859ad92254b1270231008f7c8b4a90d8272911a91fe75c66aa12dea3d891b7c2d9f4e03e574128c1aca5b235ea66376ddd44f5ec2bc94c5380120302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006630640230209aa9b7f59b318a4fe8f11bd92443dd3d5f586a79d9b42e637cccb88f980b885d669c1944ddf2c82a84becb0aa5e120023004c2299ca64f3342ab708579586520e610cfce60aafd28438e23db8192b2c799a788630f1b1a1cfb06dfe22941e169050302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006730650231009e58310cb1e94e061595cb79f1e8d3c8a07d1bfbdbdf2023b3f3ca5a2a62ac00bae94a1320f6940b015e52abd5cdc499023055f047527ce5fa4c4e613e821c9a13bf8a5eb17478ae44823d2295d8619b449babf8bc26e1caf05ce9a952f1bb81d0fc0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006730650231009092dbae68886a9ea018c5373c8a612ef4887711d67c3504e4d41d64eb78c3515ef13f88b3a3848c157acb50412a9a0a02307bbf1e11411c0e272d478594285544c0391be3ccec82f856fdbd251e1bff4631bc2d9c95aa194cb43305b21f9b3f7b400302047c435bb500683066023100d465b1e1c3db1a1b8291b288d94c6e6b6cec55094d030ea5268d626072ab0563e1fe81e8bfe5705b80bb398c3191cc32023100b2cd35cd477e96ddcfae0fe936611c5216f5b9b0c4f0e68b961a8b8aa7e9943a72304c7dedbe78d0e36bd7f8f50d285e0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023100f5351630a3db8180d82db18579cd6ae42b0b889c4d14dbcd80a78a967fc95e53c7fa368e1457050481de72eb3aafb1a30230031d567d1c92c794a7bbf658c9725789da72ad631d9352752c2c79c1b36b4a859d28d68b59b2450a1115ead0cbf551a20302047c435bb500683066023100db9324ceee9dba74338a8e4fbf5018ca682204b24fc9bdd43b957243d5727c8f545a36f714496bba3f9e9513de389596023100e0691dc4506c71b5d5d5087b7d8c6c745a37fd894417b00dcbfe9725e59fb02dad8ad5eac2b131a460eed629d91b6acb0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023100d69f824bddbfcb86137fcde33d51afe71bb9b3ff45ae65a1c853085e7174b342bddec22ed0ecde0374af6a792a136142023061fe86ae642c92b8c67b108e832bab7bebbe6784b195d3d2384093661ae709f99acf38c07390edcf319a2941bbe4a7ec0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023100e2af3915f1bf2e85c6db62f7d35a86234ec2e35899313ba9e3c32f1f0513198c68bfa8be77271046da4959235dbb2bed0230618bbcb26e05be3e026d7c080c93967a1887317412703c50da30709fbebefc8f88388e2580107d9d0560692c6b6e60a00302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50067306502301c43216ebbf268f7ac06c8c62dc8fd0fe82d894532e7726c9b214e6888a5b14f7e9a8ab705d97669069c5184a304261f023100fff38bcbc4955d50dcb65c424905a81a5525ec7f5422714f53d428e3b3d9199823ba5d15ec69e88340612405ced70be20302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006730650230620ec2cc701298367c2379549cf0cf32f3e83b17a1648b126b333040944e79fb382a1d9bd8bbab02a3bb05d98787b97a023100ba959509858722be355798debe655879897cf6c7c9398bc2ba0bc868b71da850a639cfa66a5534709c70e2f314e1c14f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023100b250d689e4e5348d83172ece583b259d6d14c2e9129ae61d1cb44b5339014d51e08df0f18f3ff4d55c39bd51ea9cf59002306f990c5711ba94af6a6d6249080c8005a22ea4900c1726464c48356f58493119a8a581674eaaaa4edd6a3f99028201c70302047c435bb5006730650230567215345b820b05b31ba7e1396950ab51154a85e7c232fc0d4453106ce1ae880497fb5ff773d5e12fe15ec2125c6bcc023100aa0668cdb0cd4acdc38739fb7448613afc5cbd68b0ba587f7dd53f4b31ce3bfe7e0b129208211fdbd839a2e4dcd30c760302047c435bb500683066023100b4c6790ca4cd3a23960eb0ee415e206e8da183c37b72ccb7c95f7f49ccfbd22a6586c5512c180bfdad004975cc1a055e023100bfe742a2319f45f7d35779ebdf9042b29196bdefaabe98bd07864c63a8b6a817bf6c84df9ddd45e2adebcee4efcb20640302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500683066023100dc7f8e58cbc6fa9e7c0a6d52d88f637ffb4ec4626de59a1b0cd7d71b6ea9494d6fcf265725db1c139d16540612d4b7ea023100f8a1948c4620be1b4d50aff97c11b51a85d2d87b52a57aef45e3ffc7c57998879ec98b66254bc0fdbf1c0628c9c2d63d0302047c435bb50066306402306038303b26625fab8e4376ff9688b9767bbf17f2bda2dd2790f69139bd0ae5f363a449de0b4e2939800ee4887f3abd7e023059b93a208e77a1998fcec413a95b9aea5343cc186e28cd2b18c13abf64bad4c62590e01f956a9f1395c7245e92437bc20302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50066306402305d39cfd7a3a130f770a9dd48006b87cc4bfb5b1cd7a342a48bda3d101a315023181950cbfdc67a26f8c7a51f90de8b2502306e4e8746a057904e8f385016b1c61e0ad5b7e68788a8dc7a1b892201186ca440486d54bd7eea74cbf83cbfb0e036f1760302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50067306502305ddc412b411af77e560a42a4e73ff88bed36688f60e9ecfa00c215cfc3d569f55ae10ec1307465d76b1d4ca232a77abb023100ef96e23e3fcb7f8b5e24fafdbb27016a7c6cf0bd080822d846c9bdd82ff217f2b782b279d1ca9c1af8c6746368c89d910302047c435bb500673065023058c41d9b691f0b8f6789b9399ce5e79b91177886f2c6e47860b6af0fc9f4393744e5b130a2658f01f6ca69942416f8ef023100e4042473eec16385d3aaa84d2bb9dae52d578c9a8b7ecf9d95751e23cb41f6cb69f03b7f34971fc1ccf39ab403f00e550302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500683066023100936cc34f043301105e9d739c644e448a66a6596b7d3513311b6c0704a44fb3cd141220911bc73da52b4da3999443dfc802310086834aaeaa1a22dcb4c1fdf75453b1829a53a9d921fff03484ba091df2fc620e784d041c83ff359b707aecc9679b40560302047c435bb500683066023100d0591a4f0e79048fadd0dd959a0a768fa31c8da2c5137bc6c992a528a1bbaad0f1e72481886366bd52b4e0a5ac89deb2023100f6f5348762076cf7345351f72236af4ac63b61246b4e324181c29dfeb6fa9dc0160726cd0dcb692b73339fdf5e89dd2a0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006730650231009d2cdf81caff5b7c26861fefa04410dace27fa351e94b7be358c87607c824b4f15150e755831240fe33eecd80d516a2d02303e2904b22fcd1b7e19a0a1cd618912b36b4f7fa9d98aa9524d6783fecb57b9263b2b40686414a3d9b3074b498905dfba0302047c435bb5006730650231009e41e30ea169b48028717d1af81b8180dda6b9ae0858039626d6cfd3365a312a507c4f8d399abb3cd257ee3982e58c04023058ed6f56135b54fc3980e6f374415d55bab85f3d2bfa94706c07a0a7d0bf34cc724a1d5591e8ecb20e9f4a9d7f8b14ec0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500663064023031c2e9638ef9008cf9717fea659d6045543b8a80279087a9e6cfad1cf775a753c2782ddf0fedff113839f5b5338e1d8102300b67a3048d18f4a401b56578c0b58ad903da05596a798c92ba64aa143dc5028789eecd8e5a4607723a9da48462a4332b0302047c435bb500673065023100c9cf5c9621bfb56365753e3fc4acb48d821707df213cd2a0b76710b55e376e153ca2fae1c97da250c3a3cde1deb09d5f02303d5843261a1b6426c5066ad41249ca1c23065bb442d71cd5183e8157aa57ef92a14984ca2b51af3b5972ec8e69f84fc50302047c435bb50067306502301f2c0ebd8a9c3d90fe265afcaa190f023831730e3396a419b40d9ef662a63de914dd5f9adb638efac4b8e34ab5530d7902310092d4dd412a97fc9669e515ff0bb8ef18515a0b7e6079d3d58b1a67b7ff86547d5d497b9fb76640e7094fef3fd92e363b0302047c435bb500683066023100e1dd50f0acddcaa699a9678e29f036d4d83d91af149caf00c6fefc6f4ca11d746d1f1f07be06719a67873740abd65c58023100d7543e6ffba52fe70e1b1dfc5c47bf7c69be0072274cb36e673ea57673b04bddef7f8d22cc7f8c2243b8b5a1b568ca150302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50067306502305a364f690654b7d7fbade962d8a01c9f3809a5f2cf513cbc6fba1e0f4aa050fefefd700698306b6f376baedf01da152a023100e8d2ca6e979aa8e9f7c684cc9dbd03a054e7ba827da158ab46e5654ed581fb53d204490b66746d899954bcefbbfc69590302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500683066023100ed7d6ab5d6f1c9cbd5a346d64c89416179199a8ee1113000b7b811a3223b71b7d6b542184c6ceaceff9b4d6275596c25023100cb180e719483f4662f646fd4fe8e3a64b4c67f0b2a847c9145c596f12a56dcc35b62b3c04151bf0a6157e26de79859eb0302047c435bb500683066023100d3b55064aece47b6047af8a5e73c6bc874b6b8228860aa7b32e43b275d3f640cd61c31cf0ad907fd8724fba4a34a951f0231009c7512c0a5a4b0e680c558e1c39c9ae6f2fb014e960c0947860f3789af3d9eddbbaf21371c6a79bfda99e1dbe3106c450302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500683066023100f18dfc5f6214f3f09c58a03e70fa14f01f7fe3bb2c6813e7991d3593ffd6e8449e7e8300ec1c8676aad1587626e93eca023100a28966a6e5e50aa9de7731879339efa28c7011a48ec8110c906eeb2feebc2fce85f49136a6142cc40fb937dba97adafa0302047c435bb500663064023075decf1abacb9d0df00bb3ee28d493ad3c28e7eed45b07e31f6d6cfdb41bd704889fcac43259b4d161ac39f129c5f24e0230248f4314ee316457269ccf430fca6dc9d07b8d509f7387080dcab667158b80b23ecfdeebe8e2b676bae57900eb91a2200302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023052e74fc442bcb14a65952f9bf7ac5dc8e02f9e2583f7072b8590aa8839249f49e9ad8eadf5ce02f1cea0e41cbdca3bf2023100af78df0feb4701e7edaab594e2e6b62b16c42973a4c9472643cebb34c1aac6cf40ca24e8294a365528160476ec28b34e0302047c435bb50068306602310084c5ed890c6e7dec518daa721dce504c38e2a8084555b9dc93486f397e9496a13336ab3acb40b322cf5471b96f3b1842023100dee2b05f9ab0f0762a2f91a21ba0428f33d9143d3930170a2ecb16ee96843f4a5fa46054956ecebe27f1a7525c644ebc0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500663064023067e8d68f334be900095210f7feaff7ad373c8089e844a9f31dc6d897a7f63d4668a20f9ab166224e8319a4468d17a4b002305279fcd9b502c31aa16e3badee12a8f3b4b15bed334a86a8be85e5186d430554d1b3175aebe1d1faa29384dd9f866f1d0302047c435bb500673065023100cac4cdec7a1ed5577ac974ce5775c949eae24001a1197e037bde944118a99b257e104bcd9de7d32b15ede4670089d54e02306b3cd57d69489b2bdebfda0f4bc177e8895b10ad36b41713f3e7952fc4a4fb40832ef49226695521fb8b5f4f0a610a4e0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023031f3e2525162c743d5a5f8503446a3facaac6fb7b1e8c74188798cb189ee32387f68d040caa2838b752f15c8fc4076d5023100b96317812cde9d758629c5d3b1cd29303752fbe795db804f8c6bd9099ea4de9f1a084cf2269e72251e6f8edeb1b1c3a80302047c435bb500673065023078f5894db9ddc3ddfdcb006422dcb79e4ff7b6bc801d498a1e75f4679ca8046b703640224e64cbac727a2b41eafa9f8b023100a40191948f3f0ee4bb7ed9164929922f3d0208b0acfec56d275167039bbd5bdd30715618c065c386d4825b639f7ea8400302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023100a047dff0b9ed30fd9b903a0f221021b6e4d455e1e50e6f28853eecdae6460695b2cc10c2860f4ee2592a9fc279a3a99402302a5c71ee75b70de6793b6d65549a9064ed4805728f0753a3622a9f63eaab9ca56be161d3ca2c6c540accbcdd15b4c86e0302047c435bb500673065023003423b66660fc05f4f770d71b05f3adcf30b2b833f4e59657bfdd0321307eed1290a0d83af16264941a12a2d95920eed023100ea70d47a14d32c5694bedac07987565431c1812c451c5d4193919dfa63897d3b9f3a0e7c4daa408a81462c2c0184f1be0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500683066023100b1554dbdb7771877bcecf96e23c0d0492724fac566e625821cc7fcf5e37ff171342da32fb9f465a9ab32f53f34233364023100dd96d83a9ce13637d2c8ca370f3a37558b95de4bae97cbc1688e0e0a110b690050347e7e30201494827055663c70cba40302047c435bb500673065023012f1229a3a03840b6cff73b33509f7477486229a39ec80ca4c5fedc3cff021b77ddb6d0e391c29df8555720eda70c88202310085827df692f659417b4dd1897b31a0f587369fa2e86c1af6006656724d54d31e8dad5dfc24aeba99ec8c7f3a209e5dff0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500683066023100eb3037e3714d608a9090a571712ab35aada49f641f188bddaa9936e60d62b5e240ba6f0e0eb29d311125b1a8143444d1023100f86bd8689e4956bba8d4f10739c0db07138c9ee4c1b0b952abe1b6ebe72593f49b07be90ffc57b14434a52eb79eeb4d20302047c435bb500673065023070a9e88c932a5a7411f11c713ffc1d3fe9f34666e09840e3fcf3870c2694d07e04e8453a067e79d76724ef9a415b67ab023100caf048f195ce167f5f90aa0a4e21e233002c5b85d230d101774bb81ac1d43db9dd1e58a7f42e151446dbb62835d899990302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50066306402302a9dd7a838b61bd38efa92475aefb996dfbd83294f6aebdc1615e5631bcd8fc7f2f7ad96a4c1e1e8b7c1fb4b2a1d2ecb02307831b9dfdd8933e96dee8ae73b50216113a820df97dfb6b211dd97374c9b215530d8abbefac7b817c2979d39cb61ee7c0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023100814fb263dd5d6cb286a5777f2f25845079c15b1194ff00e445365579cf717082d4e36f7675a71e868b409c0d3d4ee6150230506667b779b7b00a912b944bee2ab9f0010df6b34420da84f049ad67b377b52bdcfbef63b79f97b4cc8cd6083566e35e0302047c435bb500673065023050ec0f49b0d1d12cda78480312267c1dff5d89c7121abf867538f595369a8cf257eeb3545eeda76477672006746d302e023100e1fd62f08a3fa37d19e229b417ee03330f24cb2cfd61305516546292f2ea0e5fd530bdfe7ebd8cb357ba01b9bcc3d2370302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500663064023078f06f9383f157edd6fe9ca9c9dce8288500c1c031711874ff4de6ddb9917af3ed12ce762369f7c479036c2d14cb44f402300abe06407fce1895483ecb628a50c2b06676eed888aca189d8afc8616bd9bf762b0e479de5aefdb750843ea55f6f83010302047c435bb500683066023100bd1ffceab0b5322df07dbb1f97965b4637228b628b01fea2bec13e4ea2d3d063c1883672cc3cc4d1ad393c431af83a0d023100d832d1583092116600436e4fe6956d207f9f751518718ed6b7c628e66db187026aec443dba092904f317c464b24a3e3e0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500663064023071dd49927c6d7ba775af70cfbd78cc2e2c6b367b1c610d8467645a1688baa7947c91e9048e173a1aa8512478ca03d7b602305a19bc9756dd92f11bab25dbb966add50ff7828e9c770286c2cdb28aa0903d6bff5f51a07f699ddef0ade393fb7e0c740302047c435bb5006730650230272499133658d69708421d1adbbde04f89f8c4990280427ea288608f1c188bb7bbd2aaded2b10eed054ad83ed8173294023100dab34fb2537cdecc23c09eaa65f9168b0b7ee2b4a6361ff2cc2b0c4519244fe1fdcd391cd974a3e335443c6fcbfa0aa30302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50066306402305ddc6ffaabde6dfaa20412a539c4a7e56d380792657f902898801f58618c14d232014566c25f93459f88d55e9cba984902305fe929de260d643a1bbe819911dd3e4494121b2259e7565c9faf5ceabe7d9315df3ed886a633c48aa270c4d49eb67fbf0302047c435bb500683066023100e612070f5661ded301335b86842be7716b6d9f7c90f329ef6bb267c17adb3a81e561ea3b58e3c4e0221ae06e651bac3b02310097b233d788b69ff9a40aaa8dea3a3efc223ecdb3627d978d854b8cecdd98c05b09d6c1f7321faf83325f404dfe40cc850302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006630640230770b1f11da0b0221944ce7ed7768860ecf1847c82af510c0642f5f34860d0453a9b7d3999be1fc6e1bb24557a2d5af1f023036d4280388fb3f9a366967e52d551ee1f7d2b1a80c18568ef7a5c169eee72765edee765ae36848b82e4b8ae4e8dc425d0302047c435bb5006630640230590b55960725ca71b52f7637c7f66b347790bfa71b2cfe7459062342caebcc9124bbb04b79f4085429590330e00d8949023048f332eb6092bcfc48ff84d5fb51e9806526f7967b5bc10ccd256b3c091a90a36b291c9c6b73eeb10caf7c6ac08d048f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500663064023079b59409d37ee29faa2f7458e7ddadb68ab01055d20be2bdac7c54cd96db0333a32b386eaf9d63cb54cd0312947e05960230091cab6ff0f85a6f11d808b0f0be1b69bd8c880bacf08c5939c3a4670cff9fed2e382772abab427b3bfc23ee2e02dbfe0302047c435bb500683066023100bab881786c90c6ee683ee6bd5d9a944ffe958d82c6a186c0ec7efe288c727ec7ad005c91022c64d991fceb1e255f0dbf023100cac72a197301e2b0c4c251f4efe951000b915b7a63db8695d9ea84d735a0b87c0fc8e162727c032a8c88dc7eb8bb3df80302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500663064023049493304ab97385c8284e457b512e235ea913a2a356115f2d3c09b5b779af5458f4e3014cd007e4f89054560ecb97f0d0230499267d3b745170effc7de1adf08a76e63a729728c74cbb7ff88a2e46e66b8619c70dfff4d88157851d9c7737328dcb50302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023100ad4491508e92155ac2aec6f48425945ebcb8de359886bd2666430f256b0a2ec4910894a239ac76e4b60aa519cbfffeed02307b44f9f7e67235d79cbbc027d350f9291f7eb0e7be9dc2e82726c7b67fd11c3cea4b2a2439ca332ba338765f632195d40302047c435bb50067306502305878ea85b865b954ec76a0f5c3ca81236e830e5dba8670a3b662c8497014dadb675f6d3aa27ee29332d8c952da087506023100fb49d4b39a31e1f85dcf71eebd289c0650cc6cba32c06aff8e50fdb01a2fda9b96e1f2a77a1e20d66605ebdcf47b46370302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50067306502306a462afd003e14a2428cc43c2d124414cc5c849de50786840097baef39a508ca7050fb86b315894c706b7e8fdaf0dca9023100c5335790f86fa1eafb072c5874a65756089997e0082ecff0db6b8f0ad639ab078edf13e938b3a38bac3d26bce26de52a0302047c435bb50067306502303dd476bc8241a6c247a99e77432d31f61051ca6605d5b7e434f30b8681a92d08d248418ddcda5fcc970eb81e868d90330231009be0bb81f642626c3dcb261baae9d28e819e4f109b6aeede73b42e441d80dde18acc3679be7cd4056c8e71bb74a1cd9d0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50067306502305f8e9777a892b932d7620621aa6abc8322ae388da40fbb51929e5c27863ec5b8db74d32943e8b6d6a17c21a465edf987023100f8a2030208c6901d670bc0f12362115b8519b69535ab9ebf3ebb7f79edfcbc0d4b94c6b2c156287f93e8601abad6cfbe0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023078a14f3f6ae7a76fb3ced48f810c538fed443f360786cc02bc79999ee8928b70899e934a93bc5b03e8dc41c2a2f5a201023100ddbe8226ded1319fb243e4a487c442e4a705ff273a6ca4b5399fc0912116a37aa440737719d5201da9c50b28da0803480302047c435bb50066306402304a50a507b89662891243945825b8b47040bef1a30ccc36b3aee8ea9bdcc7767a9fc46a8774d4c37283ae2b12b05d6fd202306e99539dbffb5bbdd8008237d5996588ec57210f7a9a6bb11ecc5abc0946a17d689bb3c175a6a3b7a1ec00b3b9e3a2ba0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023100bf567641ba5d666ca1624b8029b3c6879c6121eede2c1f3f8c8c4679c2bf5899047ea0397a19f5f0a36d4f552d57c2d602301deb9273d54f587f4a6428fed35c8be5305893cc00260e32067f20cc680565690b6efe1cfbbd239b4f13cfc64f5a527c0302047c435bb5006730650230590b51ee3e7683976d4d4082a03347137d945dea12fd718e0f29ef4ae013e582ddf46a5087cdcf2c414a9e3dcb652f930231009c9bc3d6083a7273e1854a61aeeb7b98cae3766d8b85d9d9061218db572d72a3b0e413dba755fb5f7a8b32e2a8c7dd630302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500683066023100f36b4dcfacf8d23f2ac2ac483b57d8a2f11cb934df365bc92e28cbb903502724f29715bba67874311fac950f6ec5ab22023100f5812bc75704d9c071f8140f478e2f30adf6ab44f24d5cd7fefd145794e3baffb28c35f7cf630c518f949a8c0a8ca8660302047c435bb500683066023100ce24aa7eaa1589c08bb12b22b2d484f918937be2d57c23b132e29de42c3ba8454700687a2f79d8338543cfae13fc103b023100bdc67849ff56360f1ab88ffee0810caaad034a6e5d2f11fd53887eb3ef480bc66de574febd44188090b122404b8343ca0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50067306502310084de1ff2224bcc633afcb9d596fd177aabc9fbf65c03b42c84026f257ac9f05b64c84d441c1e9ab6690f0a253785c388023070787a676fd32e1c1855c962518410005cf60e38698ee45bd5a7653eb868a0e932dbd85d8fd12bd874c210a559e01dc80302047c435bb500673065023100fb11091c54e63431cc6435bacb247c07621d2e693509e59d9e2a30255e6963f9cf33ecc6544ca204fd0be3b60f757f6302301aeb934dafeab43dcf2538826560faf8f73d3aa0037030ef112da892120378d8cb85b6907ad776bf4417ab6cb14016320302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006730650231008c6f70962d6ac44e2b7060a05fa3d973df4d8403c38b1f0aac9defd1a83f827971830e4718630cd3feba7a53d2cf218202305a64796252fc2e3ef2673d1bb11aa7314597ed4104656df1c1b7e07327fbcfdca3f6673ab7d43ce810621b2a31ab605f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500663064023071258bafd6ae00dbda9f8f45ee0af5576c84263663f95bf007b84da0642d0a587ca72493c443eb108d06c6df34ef2848023028fb621725bbedc7e9187e02c27b783e809ab78f4486d89edc874e227292d521f0800c1ac923c37d1310ecd6e7aebcf40302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50067306502302d8553f703e0988262b0e42582bf01b2fdad5dd71c1596d0c49406d21f16bc00eb752d305907a959f6a64ca29f401e24023100dc38b71d80047df75160c5f3e0e8aeda69ce31d1c6c4afccf58698ff0249d0eb3b163d76c74d9915fb699d3886603a730302047c435bb50068306602310086caa5284e0f919e6c3a1d0d9d9a01f4008e75d96c322740fcb605e51594baa989a1c40826d2f9c8800cf550969b6ddf0231009205ef6c0b4a03db50e996e3602aecafa1f1dca19e149a5a2acb1c15ed2e408704b45e211d01b9e634ebf7c94b3ada310302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500663064023025b242b48d1fa628529f6975f20ebbbaa6b9f13f296fe1092bd39f034a498342105a692a6a736fe73384da519cead56e023033e3bed325096ace0a68551f349645299ba389de8d02498c45b0f0ccc71fd9a785873e4be12b3a505b926e3fa33a4a640302047c435bb5006630640230047bffa803682749d2f1dbb61922705d441b24c2f1456f428acebc9585df34b2aef63079f3301fbe1be6a065334e51d302305c854169afdb2e4f059d1e36ed4add8d419d3b9b824364dd2e42dcfd313a60617d066870870744a7b273e0ef9dbaa9380302047c435bb500683066023100fb3b03e4119a1cba6e9d2f5156caa70147a6117535bb3f608083717bc9344c6ec3bd2fc74b8a6cd873e4c6ff5490ab79023100b846bec4cb781eaae370c80dfecb541f68fca9586a0a2b939b23ec93d249ce22f9a55a3b64d7aacdbee87c7fba915c2e0302047c435bb500673065023100a2b6ba20a3c269ba5d9cf37d9a4a2595c32f7e0db39b5524ffdf02167726e8491e4627da7d04fbfab314d72e20004c13023070260076e350a9322153e8607bb71d41b252f184d70acc0d8565717fccdbe7cf77968271f3fe422bc9bda46cb2313dda0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50066306402301e1378b07ce22009d977433798acd2a447eb83304e93cfa4ad30d8468fa340aed22b7b91b268152ad55e90a6b19ff9cf023064a9b4ee7c1f3a354130d52f1e88f95b777a119d78125a351e4037bb825a8d0ce973e565a24bf1192afb4fa7bbe6ec040302047c435bb500673065023100ddbc2f3a47a8b3331933d35e2e34260ea74bed43bcc1495af12468997bde2e3cb73f9c8b1a1ca166820350bfec57d5220230534fc4964bd4f0ef41c8f13bf9f140d0dd8d27244d3cfac9aa63577167d526479b65548948dad194045c92fb61fd99920302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50067306502300e95ef7340bc4581ae3c2dc97a1021e4cb757d30ec9159497d5befaea47b16ee1ca708b53a296ed0a61fdac6d74de8ca023100d015ba00649f00517733c3eecf8bba99328f39b526f90ee1cc8d98a0af1b985e9b587f8326d869449aa88aaea259b4770302047c435bb50068306602310093a8df6817b5088eabb48a4c084f584e34d426a5b58f136e3bcc89184f642d74b9180c6919b960efd75f2c3851b01d8b023100b1e11f5a88c44187d055d51fec5cc9a07feeab0af9db6f6c9070212070bf4da04ed02d5c5843c3d481c22f23922d29f00302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006730650231008eb9780ca305fa4770a90c6af5f5860fa8099cebf36a0de18e14669283c3207a7019de088bffc91565606190a3ed85cf023073430a5db0a1178299cf796d5984e46213090c3f05aed97b18e1e93dc0a708173506298449c52afc7882d61d20f86af00302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023030e6267f22175cc4aab9ca7017fde840a0698e914f6d38cb0060190e0676da7a39d39317807150cb04ff3d69a033bb90023100d47029a72d1207cece13f0c17dcedc68439875cd370b9587c721cb7ec5d1bab5b71df5c178f11b41ebaf5ce1d48af3ca0302047c435bb500683066023100f03d55435a902d273c59a8f0912813a8620946e9d0648d4adffa2b27ab258e9d5fdf04bd57fbfa796af7100df1b38e4c0231008eb182d5fa22b588bae7b4724b9468267723bb7b1c7083149d116984dce5ed1d624480dd8a6423d2b42cd200608c0ce40302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023100a515cf3952918040176966e5cad7d01f6652e1f1422c90376caf04f3976465cca81b8461a80728f5a8b5bf4174453d6f023068c2e292b1d839220a7d9e31e0bc67064e18db714ada75659f81e79feeddf653e9759d6b40fbbd9426d43284ea6866150302047c435bb50067306502301e70f3406b843b141ca2b09dc0fd4fbad18f7767ef9d3d0f4799da2fdede5c7cc1dd35babf61029482269d7ed7f4866a023100d39029948e83c21da87bbd371e74f98d6e0ad57ed0605f7a63fbe1718d80db26063b22c1157c64991df6751c8f2e4a420302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500683066023100b3ef06eed0f7c2ff69e93f785cbb0a4a8455678fbaedee7d0a7439b9916a7d1a6f88789dc0879b230551af7b1ca86cef023100ee5197cc821b87dfbb9d4e9fff2d48b5a549a404432d814883b475e9405fcc92fe1613805bbef2162c522ddd472c14090302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023100be048b199e9efb58eb3f27a13563fc1319c691338935edf98537c403f3056af3a5cda5ce1dfc0b768b0a811de26884db0230488e38c3681980abd500ab15f6578fd33dba9695d273a9f6a38cee5671fc883259d4ca140b774252edfcb32dc9097b2c0302047c435bb500673065023100922fb68bfe5924842e6d9b660d6e7a6cd3a1b3c58ad83f78c7b6ec472faf4cdc341707aa42501aec0cd0f0633985c3e902306ab8810ad727eb3c6713a4408f3db4fd11d79cb669e5f57602281ed66971c3a33b31cf1b5a12c741d2364a005868d6ba0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023100bf4547795aba120069634ce4fd0029e8a5ad0c5adda6e5de98ea9ba15ac1113187f3276974f34dd07b7293bbd12df8f7023056bad871014fbac121d28d022512d1ec15de71801e1126ae16f9cfd01e6004f6efd5f4234950d74e9f848ea68362a16b0302047c435bb500673065023100a1efd0a7d774549b62f4cf014f41aa59bf6e5442c5912067fc0d9b0aedcfbcfc4ac667167de09afce74daf904e9aa0da02307af793ec888a14212204e05b3574caa83741458a6049414ed7a5c41d3589283903f3cb289ec541954c6bb3b6a92ce8d30302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50066306402304cd7ac30ec5671a67092622c6b1461b5abfa75ff07543a11e69ffcf37a0666671bdd658435d3189fe684a459e809137e02302e8ea1d3decf94486d0bebe83be5d051645ae8685564009292b4b7068a812594fdb5bf8acf5fa834c5fb71034764b6890302047c435bb50067306502310093a3b10da805b033361a3f5758f9c143d70d5b72869f196677363cd91aabd9b8da4f965adbae1c8b7d5a9ba24ce412a70230733854f15da4046ede8b2578e5c940c16eba9e835e5fa30a8d2d3afb64691799a24933280dec2ee4bd8074a3d799ab090302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50066306402302462865442379725121f3aa8e1e462b4a01e55ac065db904551277e8af319e8938d5855fe5ac8f14d09f15b950d2875302305f78d35604a99f7053c527c856264565af0ad29fc2087c53c21aaf90bea0f1c3aadbe6d17ea36423996a8fddb6033e470302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50067306502304a6c51e45973458da83687489ab486afe1e76d3f19a78ed7f01181d450975f097c1820e69cb259eb92f5ac709271de3e023100d030a02c78ac2c9f4bad7c9b39c8fef5c46e3c47b885ccbfb70ba463ef9d59d6e7de4f51cde6a796664a6050615a487a0302047c435bb5006830660231008e7c3cfc90ead52f329c9a9a1c50d2f8dcd97fdf6bb20a8cd102b5a03e9d59aeeccc1b21208b5d2b7a65ef489a1c248702310094ec2ee787ce255879a6392273f6df2431086bb2023dc1e75fd7c3e52585a90d0f13ee7cd933c557c55611ffed4f8b0b0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023100e14db3146723eecd751debbd001d3829eba620328188364fd25cbbd7e2b6b3f6d1c3a605d45b4f0dc8a1952cc38bcbf40230228abfa15ecc9f55d14ecb5f17aa8e3cea8770fc57ef5f66b2ac78994a5e1a8ebbe5d778af31da30f81fb7bac8797a970302047c435bb500683066023100c1f51713dd3d37122c131c0dcec975866a2a2d41de92bdee692256687d75bde01cc6768c97cd4a688324a3ca8e32d8d10231008734eab7fed52459642b937c9d018807f4db760e4c275e7adc003d8cf6cbeb9529660008b6574e82ff120d3b7d76abb90302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500683066023100afc682c4f130f6587b3010553cfe2205e2acec123b6e30ee3c2cbd87c363b8d073d07326a14799543217a97987a6f545023100a216d3d3e798d7b99e37fc086610e1147486ee67ef3858c4ff66c0c92fd6b45a0f899799c8eaf82705f71788b6f84ffc0302047c435bb5006730650231009d86b87ff5c4b4dc78d7ea10e4340f921ffe4674fce26753765db5eb553f79a7d2b3deb1925a95838f277b7434de1fdc02301393c9767bf2d50ea21977ff3cec4959edac008130c95539ea8c685f9a38f02f064f92f62349e7ebecda8f4c3bb70f520302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500683066023100dc91814f6567c28a8dd989c3fe63f199e08836648d5c8a299b3ef550bcc9901567e94cdeb6d2befeff2cf69161990884023100869f6f26845a58dfbc42a0290b307178dc6660a48148912c565329004c358d59bd910d3ec2e9f6ee46c56a2cc44480ff0302047c435bb5006730650230293e5eb71a931fcf3c46cb358e0f745874034a4c07aa463f47e72f9d97e9e8d5dcbf6c7cd806c6d35fad0a2ad7896c39023100a541985d6a096880946a76e05d537f3decd41473c1619b282db518d4f3c2a38bee4998170acf2d83a78a971ea19861ea0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023100aa5b9cc7ef497614f880c605ab30cfe6213d50c2c2efd8bbbf5bc5dc8ef379d66a5565976c93f637d12a6b571ba849e902307fc1d2fe5d2219c9166769b3ec427fd1ffde6a1b513f4444528216c4e5de3059e63c7c89cb3b7f9d6374f41484f402030302047c435bb500673065023100dd6845eaa0a369441b687963890061172cb011116b8162971df9e2a29fa97781bce12c7b6638269b52ae0fda743af401023055de73049d7c24d1a083e8a5b1ae689d10b699d9380e6553583352ddfbbcd96e25e3b96dcb8efbdd8129a9864ce2c50a0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50067306502303503d0ddeb275ba2facfc57736f6095248c70e1e8c903ea004622c85f072e276afd94c8a3b35f476866d849c450d41ee0231008048d37d0da61db601f35abfd670d2188f908192ce3f83a99ef1b929407c4ce7ca32426e272dd855231918c668233d5d0302047c435bb500683066023100cf78109908bcac1696b29178dc764ff6daed3469fd0e3d47802eca18727c19eb0513695a30a7a3503989121f9804b741023100a70fa05ae698e8d76a15cf3231dcb07869fbb7339d198c73d365ff5d4b048c3cae60e3fed6f4c59962116f0bda8a76460302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023100b0854291acb46748febd655c46622ccba0247b7a2ae25f1a48f0b95271265785528077e312ada9f1fe8fd0248fdd5df7023040a89041c3bd9f5f954c2145841026a67b37e99140816881ce05d26070356f299a5acecca3d106b00893db8217477fe80302047c435bb500673065023100cb4d67ae1173416694f40683bde01848a9278f178a925c67733c91aec23a28558914bebc0ce8b6e7eeaa958637370cf1023077092dd09b9bfc534ff9435bf7b338e6befd4c2f7bc71f10b06333d10e2b265f45e43d4676fe3ee6ac42caaa8fb06d610302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500683066023100ac3eedfa01f6b0ae66bd5ddad99017afd228ca2ea7ce6aba1d01df40fac4ebdd5a470679428e09311403fbe75cc6a55d023100b80ebc61c3f0fc46c3372196d4fb5b01fce2b4ab43ec805b403e135100f150b441dcb7ee5390facd86027ced0f705d390302047c435bb500683066023100ef34f79dd41c73397769efba2faf4cd843266af0c678bbe7dfa014c0eb8b1dc76bc5c2c114190c98b5a157563dceb795023100cf4fba3f458212e8f8643f9d75491fc035b067446838ca43de02fabba8860ffc3d51dfb9d3c446e6aac7720b392e7a9a0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500683066023100a12d27ebd652e8b9f9c7aaa89e9560ae7f1862d1daa04a166c4634ed92e56bb6af497a2aebef26ce8c62db754c598188023100a8647a848b2fc3c14e36ae31d494a59ddc22b88cf221f74b6b03d298156600973f565507cd9e98d2285503de93434b540302047c435bb500683066023100841e439bfa4d516d2049c80463eecf203126cd091c6fd8a580c35cd4b8009df8c23ad9cf580468b7f35b41d175e1994d023100a211b2d7c39f23110445441c72d665610f928702aba512ba7cf46291971a55dc8133689e8a6aac967e2523119416daf50302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500683066023100819d4347264b81ea1800f5da2ccfe25e245ee9ab68ec8a63bf9ab840a3da72446fbeb693ddb13984def0d0009d75eb6b023100ccd91fbe6ad84b0a72e83659cca9bb6850b823b545ed9dbb8aaf3ed154f991af80f60d7c895084faaf2d44c936d294940302047c435bb5006830660231008604a7299cc91c931e885dc3ca7c0e67aa63a097a9894d05ff3f22a7a61620b539eb64485506c6b11732ec927fabc63e023100863ce5500ed3c1c5f1e5a93e0a831124167117ce49a046075716e987883617f09d03d30b180c7edc62cce49356c7bcb70302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50067306502305a128f05e0bf2d8b33af753b9ff5ad0a3b1fc0b925af3c0798a836b24367e78a2cb7f95bf5729cbae36ebb1185600a3002310082d81c5826de40a46b30ee7504b8935579a609091bb56d9803bf8b1873c3d56462402ca1643131027683514e20ca8d670302047c435bb5006730650230758d648864fa2afb14d4aff72d2e36894442d7452ed0637d5a19282509c3c428eb1abb2681693b1cc227869fa816939c023100dcd2b5286c0d307ea1898326d3d4fd589414f2d8a884c63150f5495c1b62ef199964f0e9f85f0a435d4484b6cc18ac760302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50067306502301de7045ad29ad9b51d0da8643b037d0398d167c4e1c50034c1ca1a17dc6ed0e721e5e17f14df026f74b7d241e2496e58023100f94ae3f522acb28a786b76338735e7b97ec9ee0f794f41bf449f7fd9b50a76e1c9b54df98e9b148f19c2212e58db5f5e0302047c435bb500673065023100f1096920912d36da8bbee331da186cd4230be598c27ec8e3810b8f71f1d65d7d6ba0851dfa47de3ca0e1b41056783046023063dd74f023f1382f16881d7eb1f0bfad3795c9822f80800904acb33553e44d9bb439c6eac587ad0b09f581debcd1fc2c0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500663064023005c44a52fc953bdecdf965cf0816f2f481784fcf926c9f9a21a788d6541253a608eda33b9dd4adfe7f2fe348a9ada60302307b20b1eef99a89f442e9539bc4dc910384150271316e78d3dd5d755ea7c578f8a6996aef6a594521d9f35ad96ff75d410302047c435bb500673065023100b8a6aa7dcbcde19db1afbd42e81266a9d79b9d1ddaec566881df11fed959b0b11b9e93f53c0f205136edb4d93968849a02304847444c57e85d0c8ff7e2807650210e6552d319c44e006b253e96b7602f7feb85ce1d3f5905a0cc59ce30c430f823e80302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50067306502302c02789d8268c3c6621c9ffc6ae2dc3deda37fe1a418d461960d76f210ca9f253c5a3cd55c98d98b95ce7ac960667309023100cc52755f9311453a4e5e4f3a8cb7b06073d1836de4b6c3f89367157fa3a1b6e86ffc248d3f367d7c13d2eddfc6bd98c20302047c435bb50067306502310085fa6c1575ac994a3bfeccb7b4782133cef1577c1341e4f9a156ee4fdb6ac69c58b15506e32bc050f3236754cb65c9ef02304e7845c5ab9724de7fc60fab38d3cb2ffa03278b07504584df49d7a41b02ea42cc8d7e4db571cd19cff59a3ec0e948450302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023100870dee6cd8a087e6c83d7b72e1daabd146422ffbc9c130591a74e015418d2d9bddda938610de1606c9cefc823c81d98402300b5e5ee0d1a19572895faf52a40036abbc1552e40d7a0643afe2c72a6286df9c89ac5879807f2d7462a9bf205036adb30302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500683066023100fa8d2d50a324a5ce0d41745b0541f51752c6e6e7130ac095c992395f62bd0d7aa52e7ee0744bf60b5751f2701810bab5023100a7173b73041ce25a30648e84e3a096b3ae22ec38cbca3037185e88e66bbae9d903817e1cc7d8a52f21b3dd1c990585860302047c435bb500683066023100e4ea14f2d048d77f977affd09de9bc37967fa9cf81510482bc226da3967a954ca74fe7bfce8db2a0915ecc4f6ec405ba023100f99621cb915d1c5bcb25b1a5c0dc06c21e1c565d1888f70374fbff4fb7b386fa9d4266bdf1fa3e6599f0157e994f1b0c0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50067306502303bff057b56725bfa1a4f3c05c5a69146841cbafcb5e6c64c4dbaf5e4926139fc8ec768e56712a535db3989e2406af761023100f1f48ce1ad78c4156769e805f43ed99d0f0d6602ef88bdd32bbcd36dba079155b56e02abe7e3b4cf92d74e37ec46060c0302047c435bb500673065023067ad29061ff9855b9faaf897308aa618277e518d5b8da4d25dbd123356a05958b569fdabe8e4af9f23beb02984a98ae1023100dba259ce6e81a2b1ac7171d859106124e6047ee27d5eee66d38350f06cfa020929b8dbc95bd5b2dff793e1f2d3abcc670302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50067306502305a98586037b12f9c05ba96367b0046aa7161b9d9aa1dd46b5ba9ee7081c5fe0ec723f010f2cd4ee83eb2099d20b4fcc302310082eb9723916034af6e603ba6c86e43c27beb5e1f8b7630f59364114e4c5e3df33cbe00832d383cd08a7995759dcc03430302047c435bb50068306602310092aeb0451662d877c0d978df57fb828254907da736fca6e711d57f006caa835ced2ff31a8dd951243d13fdefa66cf718023100f38f2f7a237f844dd092029dfb0a92c4ec12aceed741f6d7aa1a106ef5239b8bf1e57701d0f416b4af3a47efeb5ed06e0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023100ad7e7c658a06d0d0bf4ba34dd18d881830ac665c12cfc0fe364e498423337c6094c410d279406a12c244ad86c824977502301954629206e99214d49d9e407742091224fac25c154616b0316ceceb84a9a3d9a576e99290fcf8facea7c6515360421f0302047c435bb500673065023062167bcb05cf4a6710b9cfeedd891126cfc70ee60f3aa45609e9a567a0c3b1317fe9565207db50e117a148330ba4caf1023100dcaddf4d670a0d3a1ec8db24e2f35ad93af6c6e953ad34ca62c64388a61819a477867eb6b71f0727bfc742aa3a2aebb60302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500663064023049e5bfbec4434eb9ac36f48a72241b666965992d2c7ac673f1d7a437a127913dc7088da2f7c0d9067f6a9f3c2af01d080230215076e70b21a58b75261329d24b3e0eec696245632dc4747cb9224f88b648778e31912836c81ae19ccafefdc0e32b160302047c435bb500683066023100c59b821272d15d7363379c997adedb634f6e4adbfb9b493bf48272f049f1dbd3cafdcda3651a630e2cc0280c7980a9b0023100ef15ebc1b12616c6726baf207bd73adbb3f7764e2710588ef52abaf338cf41390f3d0ac2bb5dfb294f8c10e6ac55526c0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023100b79dfd8c8976d21f52110a77b4d70c9dc72bbf78193b9aee11951db8414463a08bd2ae840d352fccf517e535b332f4e602300576bbc7b272a2ab2f5e13ba381a234f71527d815f94567ded46b7721639f2545c59c0e753996046706ee940da4e2beb0302047c435bb500663064023044160d6edcfab909ba8cde1a82b6ff8285de3652624a5c0057f80a68bcdee06a38f1657e286bdace4b56abea9eacfa92023032d19d6286cacdeee031334974202fced3ce8b5d7199e7aea78f7a84ff0f0420ad516e8d2dcedd0be5619094f889e7130302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023062d769b273f55660401c6146f249b33cf2c52b0b3606f04accb2682ceeb687e7cc64670b57602cca5bca7dbd01f03166023100ef1d6467c98f984db5fd0853b15282a3c1f10f84afb349c0e4b999ad1f6f8bde2b966d6f203347cd39ed513abff677e30302047c435bb500673065023100d36f278b8cd60ec660a3982c579d14eb648b7bafe002e70ad7930d2e3b51056e9dd8a11d1ea19c837daeeec6f73cadb5023030da40b66a42edb4d3fbfbf623af0040b5457f38a27b6a83e8da902473431cdca4b930c08d0b5d0403a7bc2a3859111d0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500683066023100e1fbec86e8cf9b2df94d1da5d82547358fea3115c73d8c0b8a07a470aaae2585e3720e22007072854b352f2729960a79023100ff3e4fbbcaeeea714a6bdf175476affb94df7028379eb856ec4f2630781c01464624623e47eac3363d0f016a8ed091c00302047c435bb500683066023100cc58c8651ac1cba99a465c335c6c29fa7f57123a8483b36ba8ed0fef8e071ac7c84baac0b4ab4b92ef6b9397addbd4ac023100d236047bf7c77d348bdacb46afc922c1f25e2358391761813b73e6996891f78609850f0128217c226fd358bf482b723b0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023100f8ff5b2454a4ea2e6ff8e1ba6b333c9dd549a2816f63af17c4d37d67b3024f3f7b9e5474c55cf93ccf483081d685b8b1023034193a1418288e592323b10f93b46c8abe43ec57f9d9cbcd2b438a7e4e3f72c1a6f1f3bc3cd065fd599ae68b7315eb3e0302047c435bb50067306502301ae04b05e3cd51c9ab7de642a4f3217776ecb04ea59a87dccdfd2026959563fb0616b4b6210a5c6a8e2bf3078733e1ec02310087ef9f5969cc69e3059c48729114b7ed16a61262cc238aa764e81f9167d125ea27a341357a0c8d90dd93e519325b8d330302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500683066023100b5527dc5d58e908c570986c765206cb3e278fd367324c90397d95a8ef262981d7a9abd7ed7b048917bdb65955063e6cb023100b967fb790736ec37ab527c5988de2640aa74920c679bc1bcaa6c223215a9887160abcb6bcf975fd86f892ca88b49b5c60302047c435bb50066306402306502dc5d151aa9c34aab6d9ebf413a814fe303e14655f4c972465067c18881ea500053b52035002b07d2ecc4ede36770023013f1c657ef4177d6da291f6b0624e2b70d9e200fbf9a66ffd9b4b03c099bb08686bb5024ceee77883f9fc8625075a20d0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023100933d3dcf896900e05788eb208459a9bb403edfa2cfacbaf0aad5129e587a8bdd3f1b66114513288784339617bc0b1d34023012df5aae1ed116ea3510bbcf5af512adc6e9fda78b6313838956e96ca51c7a845190bbe2c30468f59b18772b64958a020302047c435bb50066306402301531c52c1d937bd383766863f74106fec5a18fbe883e041ef493bb44c110d69901de54071095038e64f30fe6ebf22c5b023034ecaf9487149b112e07849dbf2323d2776e4829ee7db3740b04d9c22aff0e175c2d59ddc2c01e3cee58c5189bb810d80302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500683066023100cd97a1f87be9c8bb1f0735861cc7b134abca432fa16f82aaf365e204dfa39eebbc891845c26a082d508123ba13d988c00231009b3ed842341c16d626b9b6466c5e645d5cb96127d9b52731ab2dd71f03f29da70e9ad010b828447dd359030506773c750302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023100e4ba5d986acf07901c414dc2d271efcac2604ec7015652a72dd53b071ac32cc9c97cc0f2e415f5cb560960c068bed5d10230739749ca060ae82f7e2252e5bbd29cac531d946892a869b6e15123547dadb5943d411c0619cae5a14a63015bef04ac610302047c435bb500673065023100fb09b5570f7cf8cc7a72d3e8ab37738566206513bc4dafe5679871d9c12d37a15dfe7aacfe5c45a1def54d4a24a1d2a602305f15e153787c99919151ac52c1aa6c68fcb2c4cf611f8aacddac4ba78dfe2757c0a94090e35a25de7336ce9b259f65a90302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50066306402302e6fee00540775a59e10aaeb894e1e487ba885fa2751eb68bffd5296a13fbd7cc5b1532b7686f24550335ee65346bbfb02305a8d0f0e8d50ff6bfebb6d8d248ae3526b505bb365eed967cd856765dbbab46e2ecb7084ce03526daee4256b0ed100ce0302047c435bb5006730650231009ea161128b4847342c87dad7b1b2f944b577d619a67e2fc2a9f7ce82c8b1c6a649e6bc0ca7218aa829c4a86b6c2de10f023064b61533af05cb5030d35bdacd5495fd2b375504e02e83bbbc7737cefdd6510df2603c522d896d16556d4ddc5d947fdb0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023057c361bcf5b551f4a856aa1f92d5594b78d6659415e90f0e6ef18c2490ebdf3e67a2cd324eefe7a93999376ed3b8e229023100cbadead846dfd05385969ad58011e9354520040d681d3527f2b0614a1abbc42769efaf19adf73c367a60636b80b310b10302047c435bb500673065023100ff7392c2969bc07f7f440ec2b9d62a9de957877e92b74d92d77c3117dcf457543d57dd061232869e5a2530588cb6fcee023027a2b11ecc5ace7bca3008048ba76fc72afcae7feefbe06af38261714f175024f290ececaffa11adaa1c2ad95aaa9f380302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500663064023071739fe84203193d267296f200334256136bfb1b174a9954c56d611f01ce3d2669479cf6fa7571fb5ee954e9d7385c4602300b754c038ab8119e2c8f90c74add922534d1a286f7057af88ce684bf5fee42a196fded54bcfd3f25b68f75ba88f870c20302047c435bb500673065023100f4de8add24fad8c9119786af2f85470aee34727fbdf91ab5ec17d91b98ec4729008d8ff6601234426436adb2d3f7a1f70230756cc8eadb635d22e913756c1065ef640d5e5678ccd35ee7adddc9f9a2b5e4de3090e8240db4b18c808a2cba28fd973a0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50067306502310091f8b8d949c6ba835d869e0df3ddb6e3f6deee82865c8cbd1b6bad525d4b5bb80e9166d9b5506ebe00a3562a0a361d4102306d415a7dce7d885ccacce4de42690c8fa4890206c94f90ac979aded48281beabf0a0dea87c2cc00b80c6690bb5a7bd630302047c435bb50067306502300b7b8ee174ae71ffa58ec0a67a407ace0bb052723032003ec719365dbcc0df9c6ee71ea22e5b96472127ee7c70574b3d023100a27bb56fe4f707c859de8b9c4789ea0e7314f9ce7a251fc01b14aeef3930ff719c9129c5ef185f8cf783b201e41d165c0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500683066023100ddd7c3d8835aef5e6c3aa6bc4a2f02ba641f741cf4f996c54570bb3097cfb4b6a56b419061fcf640ef20e59a87c36b50023100b96fd4ae52e011862ff66474f110088606170479d02f31d8fcdfbaa6a0e63f5073f4142b6864e48a5784ad76913535540302047c435bb500683066023100ba6e2a03d0a0670e1be28321e8100fde8920994142375af483228809695d6c888c5cd617c70398972b39178321321394023100c7b4b6168e2c1bc28f39048349b24bbfa6a1b63297631b54b0cf99eccfc725c5021bda559a38d405f3d2a28fbaf14f440302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50067306502304c78ebee59070304792aa974468cc80fcae94280d654a8bc7ea9cfa717871383b83a60154e0b022186156d6886e0531502310091f9c36b4ad43596d30c95d0785b3f7262ceeed38d37b23c8fc879105e3ba9eaac6c0b15efd6722794eacf5af850c3e70302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50067306502306d5a93a51c6b34ebabb960f7422979306fb36da37bd18b58beaf8a6213421a2fb8b0fa1897462aa0806c2d804c34adc4023100e0fcdc1dc12156e1082ed1028d53678f14668faf2442178ef64e02f9c08940731c6dc7678eda9649d55a9c2f275872ca0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50067306502304d1e065e1674014bed9e1227fad8f36eece95a538e78c92856f666dc36f1e830c99eb6f71fa052ee8ef204c803778081023100baf34f868d39f52632ba3c2bea6d275c48550c8c5b2502dda316654f917c0f5888e8e8c435e071594e88e333c9cdde3a0302047c435bb500673065023100dd14faa7619ec7f5f2e9a4c969012ca3240cae9de02d2cabbe5029e939b325ba990cd56f783542bb1492ed71424c3e970230506ca2bffd3c526d78ae1bd56fa1cfb6d10551667aa6b40e2c1ff4fbb94a034d3c1eea01de2c19338472e9e9054743aa0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023056f5e33b46058ed47252b3b77c83970717dce0a4f57075e214f58785cf90c71fabfc8a12b2ae7d91eae9291026d8db49023100d83f03aeb0f7ac07a4bd61da1fbb77274ba09c4b368900d9ede939aa3c14cbe4d4bac9d4bbaa6ea1f9386e560eddcbfd0302047c435bb500683066023100c99e06bf211c4d25af9e1560ffb1ecff587ad730d12a8a2e657ca8a9c20ee2aaaccac15815d30ed4e3cf55b141856991023100e7ad78177803d0813ee09647b6deb759ffeaa3392ef8b26e916dd7a851142c41755c501599851155fa5abe083505ea920302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023100e759614c4e8d6bcd313dcf04e79ab4954019c08f2a984ca4c70f1edd5aba8889a31803aebf1a71d01353317c915eda66023072b6c04b6f24a8a7cedbd537c7a7d90500e8fa52701e0d8633c955c8aad8675a7162f6c7b1c341a2eb667bbb1135e5050302047c435bb50067306502301e68a5712427ff39249e8e5d3cb5af69863712560f8d13ec0d5ded453b0fa97d9a1b55a83733cedd84e3bb0add168741023100f37b68bde3de0f21e31ecf37e580270f389cec95facec38686e02b01360801ff16196ce5d6e53edf7d709316591879230302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500683066023100dc499bc03308333a80c3b2290f3bbc2b458176c2636e2e86658f037f458063fa1c92e962c1dbff293a9121b49547956f023100fda8d5f0460610d6021dad5fb74dc5ffe6052209827cb85a7d5a47253900666a852b9b9996e87d4c70fd9ff94444843f0302047c435bb500673065023071dd3277b5cccdaef8de0ebfd5768519d173312792391db6aafd5bbc5ce742c4fb196740a77cdc9b2a5d535d001a8a710231009f7cdac1bdfd9a541fa76721a878f1d1450d99523197baeb1765bea2b12a3ed4930f022740303ebfad713d42bc43c8870302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023100f403fcc88ee62c42b60df464d64db57318ed84fa14c70e3fa9661e6885e41250b4cd35f86fdfa3b6ab155ba38eafd25b02306533194b20bdd146ba8eb3fe90e95e3712a7f423b8eb9dc3af96297c08141e6e61a36aafb753b51d9b3ae151fe58daac0302047c435bb5006830660231009ed57db5a6a60c2dc7dc28ab83115e3b88805d84aecd2ba2c81baff4cdf8b468f1911f30599f5431896bb676d48d644502310087ca0366afe7c39b3a038b9a112fa0bd9909a4273b692d1f0f2a58b51b97b079bbcf8e0320bdb44d81d66fd991ae5b180302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50067306502302f5d2bb0ff8db85ddb68976ae060fd34d2c025f0537ff322ed7a8b19386ae2529099e1f6a072033a4f4c39fba45c74c40231009fa883d925ff87fd449ad960cd0f55e99d234de78bfad5c986be4ead7a70d86725a24a76f6557bf071130ac577751bf80302047c435bb500663064023039918ca2226698f98dcccc5ccbd7297756fc6ea9d4b27dfa8e1d6e8123844e593a17b51f8805b77602f10b530055c06f02303dd3c77cadab39b4328685b83004fd10b48dca1c04a2187c217734293f09b4eb05ad77a2691d02e515523f69cb9d50b40302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006630640230082906ebc85356b89c604344eca5a312daccd1395d83db967ec9ad2c3b01bdc1c1e5c5587c150521710bbf3bd92574c1023076eb4ac93429e63a934de68887601961206e05a8eb5993fc4cd0a26570214730c100a4154afecb74f8bb4f2bc8f1a2b50302047c435bb500673065023100bdae3da207592f8f6aff7784bcd788a7fd312cc04a10e2c069b0fe8ca30baeb838b97e31ab2809bd03ca3e8ed92c79fc0230468a8785975f4775ac4904683720ed049f8ab3dd7c0a2c2a2a563fbf705232fe59f97b33878131b196249ebc30b4267f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006730650231009610da9c63af6fbdb301cc5430a2c455d8449efa5dc0b81b57c4a055b1e2636ed9d4f9f64018aa0f68f4ae0f389137c60230541f0e63ab7b989a8bc5c269102778c6db0ab638e48c6cba120580174db524f805314b6cc0aa5da9e8c0c004cfb583db0302047c435bb500683066023100d34f22b0af2023f8ec78afc8f665ecc3b9420075f87aa35810008b6ef5f12941f030eed21d5c21a46a157d6cbca56be7023100b3aa0962dabe41c78f6939ed1974a56af23a4d874e94db07b8978b5429707a87f4ceaabaaf767e421b8ceb850b2c0a170302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50067306502305955ffd3c0d789e579dbc5ea3611c8390862293322a3afbff8943932b98d44f3beac7ed554d01a10e801bff595b1c4c4023100e027156e3a2f7a970e02291fdd68a44795ce1ebd6ac47e7c89563d9e40c541f83d76491bd06ac8c817f27575be146d370302047c435bb5006630640230366981d629a7720eb5b696eef219a220aeebacc1575e1c4272e67ce7624b0e4ab649505e0be77cb565815f56762dda060230508d9fa3a061226b92a2605050580824f3ad5c16ac60b7f4c5b992527cf9d29a5253c2e5194855512d3353c61de865ea0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023100a4e7298ddeecb34c4ed03bc46f04fa76d461a5500478eccb865d74beef7be0be5590bfbbdcfdd95d04c86beabe7d2ed70230683aab6941333e48547af3394fc9ecf2fe6b46ad19013f14917b109b6a95b265fd5e80c010aff7ef1cef6d413e4543920302047c435bb500683066023100fdd72be7a4b057080b40ee3e6c9ea3a012431fe0c5214d9597f63bfaf483edaa1f33cb25a4d0386fe7432b8cd81a84a0023100cd528743b7d6e9e829747f2bb5d7af2412d1d1e19e38915b3e8f85919d54f5ca078f79eeb7409f126c3c91cc1ae269000302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500663064023100f5b63f84ddf95c5100827e2a0f1ee3795885d8acc2a6c031d563381f94cfe3ddfa4dd2ce2db9df6fabba1a3a711a3743022f44b4b6c2fdc3e5fa06f9e39d13673b232fcecd462b4366e009b3ad097b71bbc764d64ee9a256bdc9a7169b79d6209b0302047c435bb50066306402305aae17d7697f67ec22a0528a07eab3136581d4ad1a75bb9f185ae237c0300616a3619a3e91cd7f54caec695f0cd6444e0230493d7e880d8799b53e06d5536bd7feaea3be24c71e002850c5b814ed540d772dd8f92dc9265431159e51a4a32ea5cd510302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023100fd5f9f1cb2c7c601a1b911710bdf91edf0cea51215e6c4dced857853c08c2dbdba28fef3c8a25008b70d1100b3851365023001dddf81b4cc02d815573ce112527b070d761cc992b7a09bfcad96e6487012b5aec4a0bc4c78b031bf1d723d38ab0b910302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500683066023100a3dd12e003c56862f5bf02e823d6456ac87673e2f7b77d95b6d988ab6506b0618a31bd8c0290ab331046491f66addecc023100feb67d411fede51e2f68d26786aacd8a7b10bafa44957f098f0a51e8e2d1fa9c273bdf4ba159e4621b34c737dd5fcfae0302047c435bb5006630640230082fa00962a4d64e78527c1805580ac07f399430afb504a85043eb57f599f3598ebe26a655324f5778e02d0b5903791a0230509b83dd746c89247b9dd9018138c5f6f013105dff81b7dc09eb7f7204172cb5dfd4745524d43070c5a1b5b7881f5e3d0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023100889a0c7d424d44818f49731b992ae7be75bc3c012a1389d9c5767c9c4e347c29923be35fd7d49f1c17ffb4eb413f48a402302fe456c94b96e8a32753324c3140bef64718e49aebaf7419093cfd4840888348c7760c17a6fb90a0bd51e0c5944d60480302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023040c5d46f12d674dd7e74d6f0c05bda4f722723cfab9e94409ce138ddbc07be933b8cbfaebe6c5a5f1f845ec34fdbb695023100bc281bde230f91b5d1d60d81203cb9525b937cc0aef2b231edbe9a9986732b23d0153399792c849b186dbedcb9edefff0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023100fe693c618120cfbe2b149459b61077f661938c7a3761f1cc23004f5057acfa22e7031918264bb8a7924f16dc32f47a230230365b672a9397fcfaf3c99c102249cc031d63e77e2e473f1d964f29ba2eef8e98fa9c455e1f8e4b6ebde1c3fa39f04cc40302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50066306402306ca0a59ec06e431dd815f7a2409581c4c9bdc870599b18f61c269b51fba761d7f98478dfa97412884e0692197364cd0102300fc063bfdb3de66bbe1605fea8b3df4594c5ca5f61329c378616d94da7b65d71447e60d758e068e889b6ad682beef4350302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006630640230487886767ffd8b08f16ec91cc72021e64347bbbba256ceb1d4819c08700bcf59f1c00b811a70123df711dc84097c34160230663d0829e3db6256f2045e14f4b4bdf6b8bca3301571269ce7fa84e4e2b60b7ad028377c25fcb1bdfd23fbde283459150302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023100dad48e6a711d00fb955414003c75c9c582d50ddd8edbaa174b2ef4996d4945ba0d068bc93e847e2583253de488d6086e023016a0c4d6a4321f22b16c6dd3d3a9f8fb6e68bd8cbbf6b7363100bb4b72e29110e50ad4c51bcc25aa601dde25be3c27200302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023100cf3411fc44907899dc0bd074b3131e37214c078c38fb61a86500b6d989329dd12861610f6e585a644db600e63947e2d2023014acf0fc50633f29779106d2f41b62ea36b307fa8aa32d1fa566e1812f6400cc63217631770257c27708e598a5a5e2120302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008a8586a025c519a946d9b5a7b23455cfeb4a9ebbce10c10a69b71217aa38ed6efca977a42d1227b351ed3b1271db7f9502310082ea17d70482a3ca407ef43e9c0c9fbb3e74e1e69be0dbc31e02c6fc1ae8c6806cd2035955af4a5c40582dcc7e4bbc7b0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023018576a269aa1ee68799c854b6d9f352b38ea0fa18285e506b9798b212d702145d74bef6464b7bcb5d69be6625eeb6332023100d00ec2e5998b034c2fcb61e3dcb921d25b60c0050d2d198a802a766b52b1f5b0fdb6216afa28edfd327c2e150a560ecd0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50066306402305a17244c7ec4f1d8fd6dea2a38b4a497cb55b77bc9bc5fc51701fb1d2de3896fdfd524ada626d35decc86cb771b3710a0230300d9fbb7fc36271e3cc7f2a8b1e5086f82930d0bc828f6315250e73c762eadc040076c9745cf29b6c289b18e594447f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023100fcecd9ed194ef26c7a5cbb66e3e0cab22e96f555e8a45875fd9b5048e79630b9f1f59615f4607f89d63e1e68852d2197023006d50d11f75e1ecf3eb596a440bf6a639b368e7d5b7ae251810cc4a6d90035d5276e4ed4f9016f9070970a285500f54f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006730650230493dbd3a28d23616b99aaaa30fe5558cb37205bb1a6ea2b66f21074c406ccbddea60d24094de970b63fa5ef94613c69f023100cc95b22c007a98048914e1dede6b33f63c51a946980da53fbe74d3fe35166606695c7d7f8d06bb352b3287a5e12547590302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50067306502304786f4041483271fc7b7a3aae1d5cf8ebf2f5a4d2dee9b910058013a1ed18f8c3a433d6cd7cd3bb939050ad53235ab8a023100def5693234ae09ad59be56790ddc56ded72948102c5b8a0663c24db82c0136410856a6add208ec90bead9666a0fc18b20302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023100b016097a558c04acc155ade2caeacfbbacb68bde986e585182ca3f160624614a70e0176be4e5aed03425906a3290034402305f50615e39a0ff2a28f588dea4c74a0e7e11a63663ca09d2fb792620ee6ec6e3414cca5332080dd04b780edbf6db91140302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50067306502302378520e301f826cd94e4284ac3fa3739351190eaa1b8b6eedbfb0b4cf04b688312983d4b0515483fa9c09bf56295d84023100dcd4d4dc747179a23e8d3a0f853bc656ce11f836c01f5bd80284f2c38d06f666d2ee553f0b48b958a6df0ad50cb1f9fb0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500683066023100bceec54084a9e9ff6ab4ec9eb4d3e8febb56691bef0b0763dd6887fd8b2e3ac549690ad6f7a8c553b0799adfeb3d6770023100a5a5e79414f63e4ef4000d78f5dafc0816668e7db816a019e55334a4468d0c425d7ba8fd24ae454fc1a81843485b257c0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006730650231008b28341a23d741fd88e1a433c177b870269b05edb36fea8beb2acae08d210ac7443dde4ee28a429b9c1f4f2ece89a5d202305a639ddb241f39feb2fbee9c4a288534df421d894a2ba2bceaecaf482b75430c9e7b26c0bfbcd16d35da6c029aa1840f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023034f5f22f26d10b8b52edd7abfde46c8077e4dec699f52b27500530d1ad59bf9722923ae92744d5ab4c05b54677494e6b023100a397884d6a7ed1622729762326bd9b5384f0a7610c43073791e85d8abb0dd375664647ec3eeda2d2f6cbce2046c34ada0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023057dd297034ed0af52967165a675474028d50719c8315500c9d4c8128223699922fafb0a9749f49cbafd4c3528eb5c322023100ec5f7bd40b422798bff524c9c06b2b98b0cbf69a8c46e9f79e04a1d7a9f0f15025f9858afabc6837df2c3c09249a21480302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023026ab2bae3f040d4ea5170c9bfdf1307bb7649bec5a44c290f31faa31b18a6d6c073f894c970c7178c876388c145fd7df023100805125ef071b4a62265853fb6741e6e8c12f751dabd69aa999b9367f3286a038d629e23d7338894a7228cf43ac30add20302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023042f83788d2ca4a08e5895524b9f0bd853797e5bdcc23fffe76d4f6ca6ee6a51f9e4211521eceb251038bc16e2f52af0d02310090d06b3b358e0cc3a197f289a16ff76c0e8f504446b580d96e697681d51288a88f702dc1037eb095a9d8885291125b7e0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023018fa94883e26c06107e3793e55366219778a57b5df28f8be50251abae53541ba3a8768106273b23ed05adb96096218ed023100d12b29b350236894deb9d0699f50101a8f947222a6a8e9f3b0f967d68ef41c50882cda141990357f488caa2661ad9a9c0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500683066023100ddc1f7e84489db0c6445b5194f31f4229fa51fb945e4df4414c9b1804362b04c3a530e95a09b27d815d14b89e7c0f132023100c46e50b93301f7aa44e4c87ee3a69891ddfcabdedd1debcd758e7e8c388a7489b6a651e932ef2064c138bb26a3a388200302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023100f4537f6e96bb7efc82aeb10a54201fea489ea8d5b49bfe298220d507e026f60abe0dd042c03bde0606c1934a3c8ccaf5023055a0274b3fd61fc1305697d11a92e91bac9956275528465cb5ea7b8c3be1f18286649d6ebe77dce50776b1f7c1eabff70302047c435bb500673065023100b5c7c241ee93acce90782c8cbdd43a59e94213ace6dfce28c5e33e6328afc3bd55e2963736ff9b6de5bdfe999fef511302301ee3f6408eaa6f1f41d1531e9f4b63677fdf5d75e1859d8e25dc165847d7edf78fdac4b220b0f392bf8abd167b7009530302047c435bb500673065023100aa3987d5444ab9c558c970f14f6598c046736cd234c34d7cc9b63bd45af9c6d1aabdcd264dd46885ba3567034c33b6ff02306aeef6b98ca2fe65b88c90c182024f51331900567ec3b0d1bf9c695573524c1e1e0f4f6bc727cd45b0eea7a8012cb22f0302047c435bb500683066023100c5ab0a06fd685159d44c44f67e665632c10525e7057399e4813f5782e022c556da4bd77bd1708244643f9a202a8a6faa0231008eae543df3d0526f5b75c84d3d7c80bbd8473a4a0aeecfe2e95035e44701d066f34c71005bf05d2ff0db1fc62d3767860302047c435bb500683066023100ab8e47894970e811ff1a88216e47ce86bc3dbc3512a946553ec933266a170a3decb4c5dc82df4c849b6562d31810b881023100e825d01980618989d7f2ec9ea7337aac66409663b8a1d971cecd40e3d560a6fb7e971e23c875cf6606d731404f7c940c0302047c435bb5006730650230494034d6e06e0dc3d2a129a61f55f10319bb6022f9fc645a56c50faedc74fff19f9f8570c791ad50a5692cc3c427b43202310099e19d68474e190b73554d0c6fe1c1680522340154015b348797dfd7f84e72aaab7ceb925eb0ed22c8ac9cbc2f6e016d0302047c435bb5006630640230090264b4a7a4d525c5a364af4d8f09ceada11c331cd8fb7f7ed244437283397ff3155de7947e0a4278e7d36d41c68a7602300bf3fedab669f0d86de34c3b4be4034564810bb37eb6baeaab75e99e848286022f4c86da7c678b05a248c670e0b725850302047c435bb500673065023100e08942d10b2dfc15dbac11bdb9d1b04716134135f1ae0fc75e1db4fade645af6cef78f12648d8a781948f35490563ff102303b0402126c135a511db25112ffde8a0ff7e90b0ac70a892bf2b5572c3fa396d4cf429fae7565669e33f5fb2443006fab0302047c435bb500663064023029698c911d33d0a1914aec78f3f247c2257d02a12d225210522efcb0a88b725749e27a4cc75ea9b4761921925e2645810230392afa9c0d9c76e7dafe93bea53791905193b9faae74f74a8777ca52565c268e3a784caf178ccd33aa10fbfc2c1568600302047c435bb50067306502301190d3e6562308f80e03e87d4573ee65876584936413d04c2f525a50dee6ad347747630bbfa1680f9bade3f7b1721a41023100c43b55ebfcdd4fa29932314b16f1cd96e1079bf7d46742e7d6235632a60704b85086852fa657e02474583d6a195d1f190302047c435bb50066306402306759ac8fb65e73d705bfca6ffbe3afaded4a687dc412440a0f850c7503af2811482c4884d8691f2ded2267813d3759ac0230431b12f38fcd1f81fa698be490df096b9fdcec3dc4dd28685d4f56894de89b26937befb7a5b4f00ac67f3944f1904f020302047c435bb50067306502307cd7ff12d17786ea7dc3c0e7c626671b02e4fbf41f0c4ded0477db7585727818fc93ee79a0dc6e61040d06b2fdec7eb4023100951cf9130ccad4f46b3abbcb664e142f7a1df57c3c28749e38810a41f97c3bc08494500433d0189c3e2f6fb5ed889ac50302047c435bb500683066023100fa3529561810876b394420bfb6e05da3c6359abb67333146e87b616edd6e7fa196a401043a830eab1eebda9c22a0a925023100d59c3f6002a063b2871748f6ac19b8e7f241e87b4930a3db16b05357fd833cad8790ca25da9dd167fe66d8fb33243b400302047c435bb500673065023100d487254d43d035cb86b190b2c6423a43072ac1ba380b18ce53aad7beffa517c0f37dc37dd2cf95d293f752643b770bce02307a2b4bf59b2e3c959949ae853721f05d83a0e396f0483bbbc4ec1adfe7ea1d9a8c38a9ad2b9c3b24d1362ff1d04829fd0302047c435bb500683066023100dd2afd5b346d95dce7383d55ff834afe99e82bcca689052c59c71a9aef8a845c3874b427977823178f54d36ce0e64307023100b5bb0a52601d108522767b7352a3d4a478f7b898571202aff912cce982ab226a2921c9ca18251a3a023b96338e88ab5c0302047c435bb500663064023056b86e98fd315feabe371d3c04208ac7ff500c0e7218ed3c4a39a8cc5b1cbc5ba97a4d180a45f44297f2906cf8b94b6502304993298e95df4ab3ba06bcea8a837c9d921e8f1fa2116bf66ab6dfc6ff430057fce44de390050ada6f3669187a6a4cf60302047c435bb500663064023050861efc158d0b32b3801597e96ed58d0bdb97436e3235f0d71b1d4e583a6b21422f5a14679f8d632ed1631ec38b743602306e3db53f5531dcdfc4c76b2d399010007e628ec6d860d2ecf920ba8b6b91fca59c5242e592a4bdd53e182b512681e1090302047c435bb500673065023100b081b580a6876ccdea50eb5e86f137f53e47c36a862d947cef4ed66ea792250528dc85f8a2b622b409f98b0edbe6e37e02302c753c74fec79a05a5aad250a598b395eecfe5929b49cfc2e1f8624654faf0f2d0796f0a3b27a7ae887d6d2b196c0ab00302047c435bb500683066023100b31a1d3745c088ff52eed5d081f4ba3b04699501ed7a564bd6e20ebce435af9641b662b7e4cf92e49e57f3ecc16eb7ab023100caf075e0b333b53d0e477f1e4cdddaae30ccea9f55b68c38b68451cf021d9bb9fd9cda528f5f18d7028f5fae424ee9ac0302047c435bb500683066023100a0c131ade23e7194515ec6959ecdb612f836ce7c2ff43e657ea571a989c22d89c8939ccc24cf7a0f68675fc884c11bbf02310081ada5ce5b827849320e7119f49141ee8ac6472cf84371354998855846f71c46b30448515c658b114600c32ca4cd6afd0302047c435bb500663064023069932ab229147d8b523a5602e88a162ee9d20d1aa3273062ee1af1d6edbe5995d8842cc23f7f4b78b5726aaa668219180230693b94a1d2c3a41e02eccf695095161d8dc35867ca74ae3e690f887e3dea8588c6e391511d21ffe259214d5a73ed44f80302047c435bb50067306502306b6864d5516b04076f25388e30859566b4f9ea64155b6c299ce2dc6f639a3ce3a040bed3fe61e27c45cade18036da2c90231009714e3231d07bde0e2a4fd3542d9f783ec00085a560e509309ac3d60aaa6218abcca68759ec17f563453003172e218d60302047c435bb500663064023073c2b7efaa3beba85f128f059453fc5fa8d2c695b7d7b7e6388b68385f9d15574d0212214b804a3a8448c58bf4b353ef023006790123690744386a02fc85d0501e8b8e70c7c5e8909b3b061d2d35b35f90e335ba74aa7818c5ea737b9ff80388efa10302047c435bb500673065023100821552a27c89142b0fd88673a8e4ba7eef1c266577dab23efd298533573de6f18c8dba333dc4f993caceb10b9064cd640230290a62367bc06c7b80c1108de5abce0e14854224067ee426dfca97676d09e4f13efde7fd66c5635dbcf3bdd23b3b693c0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023048bea9bba8a87a10283e0da63555cc8b20ac1efd82fcb3b899eafaa83d30ae6b7019695674153be614b930dc29dbbef5023100d1f00b68b9c75c096bec7aaffc52aa9cc81a5f991a97c9e7e9b265d9cb63dfb4163f59a76449d630968cbed7fdb0ef070302047c435bb500673065023100a4263d193a2cec1ff77e961ad49616a4ff8adb6110ce8f88f3e7bb56ef28a36620da1adb8a91563a2d95659d609680d7023056b483b1bbc06d38ab640c7c0aea01d582055c1760b84cd22deb4b687bef136412ed52b33ecb67f949d071b149936b360302047c435bb5006630640230287deec061545ad495bd09af675779ad27b34cff16b2babdc9831a62599610b34b2c3d49ff9b55a2eeaf663b33456772023047a5f43083a7fff7a2f1ff853e6824072c953acb2fde18ea000ce6cc17961d6f62739fe72828ed1890acb96c0e5314df0302047c435bb5006730650230293d5c3663f4ddfa4a534cbcf81d18fc4903a4c3b4b4e4e38f534d240f51317b10bad5b654578dd30a8c18016b0fb165023100d4bcbf210312f057fdb6e1f0dcff0cb80695d24cbaf0449d209779581c42cd08cbe765dc9a86b866614421f5ba3f4c120302047c435bb50066306402301eb14d8738c4f09ad1ddf424a78dd82c87429c20617937c62d92c2af5dc85684f31029905909eb306a092b84078d3b2902301f7eae93a5c465989623c23be0133755109d73dd9c35ea640acc14ee7859e45ee82d7bb082c767a21fcff7b47b66d2300302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006630640230407c20c5e28b4a3dcb6c5670fb65103f7ea57ac34e76ea39c4b1aa684dce8bc48286869685752cfb1aea3d8cf4d507d4023024bab9cd993a3eee16e748eb55aa8f08f05fec7be9087d7e7954cec485e0fcee495f00e0d48fb7468d96ca4e14b802390302047c435bb500663064023021118c0abc12528a33aba119614a4960a256a62b560cd5b1b7bc7279d387daa33c1ac8e893dc5c7cd8458c9585740cd602306246f19ca64238dd332c73389b4db4c74e29c400cac3fe7d0f618ad240f90de810b4f3cd0cb9eee6bc46105b791da5120302047c435bb500673065023039d835a3b49c939fd9c88718e51503aa1d79ea9258cf13d385583bb72d7a49114c2856bdbdadf25f6a9d38031362ad00023100a6ee4979fdae4c6ae72f094680f37cb9525fd00cbbdc705bfd2c119e664661d993592919ac6293a2b9d69f4803e8a3650302047c435bb500673065023100c29804136ac983abfc81bf7284f6b6abb0519701d2d46d1117076130b7bc0b6fcf661155b7fc07eb93916c83ddc6e2c0023026b35546ccb86d07fafe651478b5e8628c2e82aaf2d79153f13ac663539a078fc26711e86175f1cddcb87f86b8b1d52f0302047c435bb500673065023100a143e839c8f4169ca0183ee3f92d4004b0f4f2451785683620a24bd6b0e6d8c689c5a2fc7418b5ee3ac65eeb3e26a2870230050a478f2ad1114ebdc010d90e089d5a96364764a6448c11f86cdf67a5e1b08cbc36f8581470372e2d249f404fa16eb60302047c435bb500673065023003019a5b2dd9b3d58ef507bfa98a07bdf2ae99109469489996a286e4f7655c4835c5c96c54fda425320a66ff5698437b023100d7babb1131adc7d4890b6c204203f293814391f90290b0e6fbb437c616808ef40f9f3c0a7c2d7c7a33ac8d8c3b2dfb490302047c435bb500673065023100909fe4671f528531d41f7e56cb5f94abafcf6b4f3bfe491e64f4b6662b32c0d15880cdd286450ef6d9f50ce0797aa73c023049c95292bfd5dec831bbb8cf383fd11124f7b91a25213ff36490021aed6b9627779808fbb30ddbb29d7547c02c222b300302047c435bb5006830660231008feca9d89bc0d5a58afb9efc96cdfd9af985af3e239d43d4f1a665fe2ba4fc6c44545c64804c12ee44241504fe6d7d3c023100aab0d937680748cf71eca5c9fdd3de55caf1ddb6d84fb22fa3c1002c4cf6e149d1eaa0bd3d95c329882aa2a02cc4afd50302047c435bb500663064023066467cc306f197f40c9a7e2f5ea089da6ddb00aa951f8014fcbd66c8b9a198afe119c1c3e03ac5de5ad8dc1f48b49673023050d282e83d53abb032264fb353ce341e733709c02e7d9d00672c594cb5ea5f95e7530556dacf47c549ff9d978403d3680302047c435bb500673065023100acdfe54108dc352bdc7cf82193cfdcbfbbe6b79463fa13ae3e44a9ec1576cd6367ce8b02aae746ba9ba45a02fac0040102300e2405d5a2ea362d24c21d80554789e1606f7f1615863b3a4d878fd62c77bcb852d6dab00b08580099df8449b35522d90302047c435bb500673065023100a01830a0b0aa8214643062a39a808e9838d95f78d8aba57dd26d28aee19c928db7bd18147b310ac4c02e55820d89681a02303bc358bac343c6e28daedb49d289bf969d02a0b1c5537ebb057e49c53117a33f92c836287800fb28ccea94629bfdc9a40302047c435bb500683066023100de085b0efa2b979fde8b315a064154fb0c3e4da582f23443c358625ccecac9bbdad4ee1881ff6e1e09f1501f8045f12d023100f506f955b03f446fd21f705d1df461d948f04831638d0c1b7fbd7d8a05a486a367361ff8cad27514d862aeaca9594a260302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500683066023100e125be9c7dc66becaa1b4922e1c2abc9f4e510247e7a404c6143faa4707a65df02d0399dfeff797127aab71468b409260231009519051d8cdd27655f9d05d276b94f53ff84e76500aa4ead4d214a0f6120ab05c79bd069a458552d5af23ba85eea8e550302047c435bb500663064023064424188bc6e600f25e90e1ec0d7f9354083e386466eb114b98371623a76af3c831f94899a9c285a346d9e0c28a216d502303784d124da62986e94f6890bd7db2a2aa89bfed8c9575370dcadb24c2e7edd1b37885d5c01a9afc870834934d8bab6c50302047c435bb500673065023100b7fa7a193b88aec1431c24d0500482ba36f0c26ad67c882d7131c5113ed49afa68afff53277e1817047e14a38e8608c30230268edaaf07ca6eb5265f2d783964a1f98fe3e3b458eb39188f1cba39dc3295bbfb9fb42eef455f1f0d191906a4f26cde0302047c435bb500673065023038d2e0097a2ce8d45214d67849512e6e34eccbd97c82f3554f66214e50244eca67459ec7a61c9dc0d05933c78f8d6d3e023100d78398b9e04bebd0749eb5c25dc99cd9b5cb802396b7cadcd1d76dbe123d5b643d25bb24698ec555d3ca9a1fc41695c10302047c435bb5006630640230662a0ebabd782b230cac846e3debacecbdc3587b993ce5bf7f3db18eefd52377d35627e2d94720dfa9ceb2e52c7629ad0230593848ffbacffc57ba70bdfafc11e3354754a151d0cf2d07512a4f0cdcf8b7c508f0d089db7a0be08f3fefa4a0ff3a7c0302047c435bb50067306502304b2392c2b5a348ef8518c8f9b455bd1454bcd4e1b9542de2ba91e9b792e4a1c86dd650e0b2e64c518b5afb66c459693a023100d0f2902740a5331b44b5bf2cd99ea197c94f71384980ddbf13cfa374187ba9016a99ad9b1c5649a4f9ad9a0814eb49ba0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006630640230598a4c9f7d083ba28430c15d9f4ed8ec2a3a82754c976cbdfabc3df4eb71fa2ab20f03cced7a2eef776b1b8393f29ad202303e5645c7b6be2a4c523613ea51fe35ad59a82062c3a09a30e4ff1001d2cbe10958caded6fdd61cbe0c3753573d9342960302047c435bb500673065023055bbb62480e42b96f5395aa4ebab3d815679c0af315820a78202408c556cd3fab261040f0f58a2376fbb89163f12b2be023100f8d04194add83838eb171e00f202a4dfb8a3556790cbefa99d09170dc980daf20ffd5e7aca851a8b9a024a1c32347ef40302047c435bb50067306502303e1c6dc5d6efc2533aebed5f93ec56167053d64402d056ff0131e7f62ad19db5d5b22e11b5de6735c2fbc585f2f056df023100ca4a5b965ade8f278f2d93135bd6a61ecd4206e5103916fb40ec666414dbc2538e73c4b8f110c95dd16dcc604e0ff1dc0302047c435bb500683066023100b2cf310db69bf0d2e161376247fb278e70866fd43088b54cd3d91847e5ad76b1afb3adc5e33920d9d19e0789d4f5df5a023100a080b37a24cbcd159c4baa93d484061232d9388a3ff3004354ca4a6308e6976de8907ac56558c3bf631608a54b1f3ff30302047c435bb5006830660231009041ec58ac65db4d896b3adff2c0a395a8f19726219130a84436e9e4584ba66e5c929baf509e18d128ac3ca0bd80738402310096a75fd9b5d4f4c8c5eb356047dacc2c2b0b59cee4fbf4289b1f5270830eb06a522c37c65782ca26d8d5d5167574cfbb0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50067306502301a10e37870ad89c5ce385849082f58befa4bf69954fc386705c386492e7236471d90f784f97b098110d954a7a88e4b2b023100b5c4795a824ff7c44ecdd0ddde4dea2b7a93e974fd180ed185af02d08f1cff112b02e17a08ad74be25bbc9bfbebe43460302047c435bb500673065023100e0464bd7a746566f7a524ff2c86661c41c48c53fe6e22eb8b65c09afe2e716c2e15f0d901f6b7aeb0e10447845e9af2302306cb5a9217a980de32f27a2413bcf2b0e124a1d2e86527dc3c9e06bffbbea3260ff18d64df61cad6bae3342b6c8cd42e20302047c435bb500673065023055ee88554ba20372bfc78b96242e2703d58ad46bb1569af367082097213a74693d0cc78efd0c5f09b080c0c9b4e83c67023100a7a2f6564e4f3672f6e41cc15be94f20bce19f6044479a089f085aa44694772ba9ccfc35973b5400bed2055dac0329430302047c435bb500673065023100e8779dbeef029e5bbdb06e3f86ac44d8c8f2c22d435f78ad878277a0a7f54ca31f5caa13d63378f8fa1bdfc2c3f2fe6f02302888eaffbd5ac1f83bf2df0a2c05bb94073eac719257750de1bf7aa96d0070a6ef7bd52550b18dc73e69e7fd5c328c520302047c435bb5006630640230314bf2ca0770868651c8a5e1f53fe8e5b1a2981da8596a94d7c90ce4db034e24462f3890a502e64b36e388d937bdb4a402304524ac16122472488df7646785bbddd17a18afeabcb7153db743d58f6f486a058d11943971340fc485d17daa4a44914e0302047c435bb500683066023100bd6f486b52957904d1107840c535b4af3d06fdd53eb0869498c4ba91766fc1672d8c89a954e6951abcbd7c05477a89d8023100ad83be09eb178a356540999f40bc229f16a28d869bbea7abf35b4c083676943a408a95be52280d9e72762dcc65ab28950302047c435bb500673065023100c86e47ab23b29aa77cb03cc409533b1c733a0beef8be719f267512f9ed8bf003dba749c4039ea03a45c43a2ee94c358c02304c5f0150a6bc44bb54691cf08c4993ee3c0475c534a56b45180e21cd55a09f613c3d4f7dfc808377106237ba3a6eaf990302047c435bb50066306402303d11390c2d519ff4dd22ca28e8b61311d0a9160b5f73232955a7b3b21d13a7077da9fc5daa019751bf33263d9136979902303d8e7291ef5d2fa992ce0135679912525903d4db825d9064bda97aa64c980d171046c6e2e97bacd2f851529764f2037b0302047c435bb50066306402301ce4256f44faca3aab8c1429ca44ea969e67872edcfb6d7566e4d8eb90f62d8fca708562a244458dae894bbf89f13cdb0230394675d9e10fd77f5dea89b31cbb1b264ad616bb794a550a7c7bbb1b8f624173fd7e56d66ff92d9fad66103f096afef40302047c435bb500683066023100de184cd1d5f3a7a6e6c2b1c30112a2eedd0927d5ed35b7e2516250f7ab53fc28a10dc141b2581c9f0a9bb2c10a53ecf1023100b5ce915bb4cb9a0c1139be29b3b372b2b6de57b12ebe94ae7d5e17ee74736590a2dff5fb3272be43f54ac5daddc6bb6e0302047c435bb500663064023059155a00ebca375b240d63241a8ac687ec94632b7f7b1ec1e96ec7317043e26cb39b4578bc6722af750b28c25358f159023017e663bf9169dc39247493447d2d4b0333b99185a06dfd3773585adcebfc8187cca69cd86cb9b6bb791b6ce18f3661760302047c435bb50067306502303dc17c67d5a982bc6fad5e29cab19e09f7f249aa1b66990a6a2d0c95a55753b56116900259b09d0c54bad1827f46ee53023100c4346d6cc85d7b94b24e9ada39c554eca219ce692437196637c1f711632c9b704bc288fa40e1923981915c4603138a190302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023100aa78c190db50816fec99f0c3685cf3c578f8d63e7fd28cd4055f47646dde1b66b14ba5f5ea3a75aa49d68a6c75d6cd3f0230291af77dbf2f4a850acb521d8aa593049dc0d55d01e073f9ed1bc0e4789bb74b0d32668c6c28de127b2a948421b005b30302047c435bb500683066023100cd87e865787b0a136a3c41e8cd1af974cd4fd385a92e86b1c1a129790c323760f18fd93bf40b03db4631c42170ef77430231009144df06935a0f973b3076c7ad76b60211c227a87a8e31dc1e90759d3e75bf2fb56bfd3035378ade544b2d0daf0fb4a20302047c435bb50067306502302924e311227a77085fc1d47bbf0a807ba6f9b551f948c2a4b8ff266dc64b0e9ee3e08b7b6c34c0cd03d4bebcc4f1fcc3023100c4cdb8dc855561511ff500335924a25bc511f1e8763db9b5a7114ff1318825ace4513e1d99c52980a80fbcd381f346c90302047c435bb500673065023062a67a4d0ff5a85b46eeb629d6ac3255239cb7b72b30f2163c4bde35951122b896676fc6af11ed2f4786cf1482bf9c5d023100ed978b35a2904b54728ae96aa7db03937aa004e7400c8775bc7330baa7db1368d91cd29726d47d47b17353007d0d1e3a0302047c435bb500673065023100d2586a9acfe564990882907906d878921c7b560f9c33246fa413f49b46e435b4c5bdfb66a38b9c0db19422b2efe297f90230234ea09076e138ae4f3d907c625af4658948c04bc56fc6c9a6fcbe0c031ac3541f4d67a3fd2af5c35624910afdb028350302047c435bb50066306402301d49e88c0a364f74aab2e939cd51632ba24feeee93ddf2e863ad8a6d6a6641f62de08b0f5a6f26d8c7426a90991e4dd8023012b8fbeab0863bc2282c1cf579fab2be62100113b1bc100cee4acbc78049d582f9917a7f3f46396c77cc5faec48ef78d0302047c435bb500683066023100ea403364d9df6be6b3bb7c4d5b94fdf01d827592f5217f5d5919fe481c65bddfea7157c4c5c03a1bed3581a81364b3ca02310094fb0320cf4b9e7f825b6292fedde1701cc17795185af479dceee5d41280cefaafccf73d356223d5b8ac3e2abd9350480302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023100b7323f0f27b103d0bfdbc609a111e34819a0482edd803e014a5ac7f9274b348b642a0dc1f92ae66a8728a9140bd23b090230655e43249362e5db50b00e25057e58eb7d4b1ecff558e06750c8baf8305f2704372067e0a0d71fc9a9564eaadb9ba6bd0302047c435bb50066306402301b52b43207463e624396700ff63927d15039d1d2167728da8d8624f1b00ec49dc832797efda6e5d506186b59fbc18224023005ec2d0753b2940f122a13c709b12f7062209580e18ed0c5934b6e24e7f7870ba9df7d2281c2e4779a64ca5c525578190302047c435bb500663064023050b76eb11172bd049b426ff265397dc5d3056c4fc13d84695d984a8217b2cbcc6056ada3d63bcaf97e1d7a2ec80c062e02302a76880eb06a330134bcf971d9bf61b8ef7718616e77339c19bb50ceca97c2a08e815324008fbf4911f9ca5e578190850302047c435bb500683066023100db63aa150bd762c2b267416482b641d27b070d2bfebd347430426a15448867b9f28bb748b78722d971e6353e6bc5c016023100ee90990405d3d33a621e29f8b86c9957ca30fc3d382ae96b1cc8f72d64760e8f2af6ab249324a4b0ad90f6082dd6d3080302047c435bb500673065023012a16eb70b1bbc81246e535605265f2b4fe963626e70d12460cd86b2e2e85ba5f72de97ac5462884d2faa7c27fccbf17023100fc3d5bfe9404741bf8fd3d542bb780087ee15caf8995375920e82b7beab7cf9b668aa0c8e80c9d8ed2f4bd1b1bf72bf50302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006630640230759d95c03eeae3e6cd6c05cb59e3bd2520f89e062cf1886666352539a811b2df8182d75754b5c81fff3dab6debe56f3e0230087e20c2b4c77eafe6b9c7c9d89be57e702f4af424b58f5ee28ea41390a25c5b2f75a543f26d9a32aea4be3336a5f0c20302047c435bb5006730650230319c3badf7923069b34955bd7ff6ed399e692107a8e17534381d5de8469312b5b258a3b9a4b2b183dc2764e733bc84ee0231009c8ec5b619b1482e9d6f04a290075a9b84fdc0c5828b692bcbc371e17285f4adcf25f9f564f6740b160e4781f07779e80302047c435bb500683066023100cd8b8e5493b1f33e5c1c8943b9045bd8809b4ab7e23cfe87330b471ff679eaa477bd85df4f02d2f77d1b0d0a20bf0cd9023100995eae18aaf7501b07aeaa059ed743ff2b0595ace7d656441ec69441c5c3af9f7e1e492208e73bfbbe2f712a8cf1e3280302047c435bb500683066023100bcc78ad92385257e3548a6bfe5141c81f2e57074d6c806da22e2d81a62cc776739e3a89a6e0ebb015d99b63074770729023100922f4f025e9c4a58b26a8fcaf2ba843a2a74ed9171ebe2cbfefcd14b975f92ccb13cfc372019a2304ece3dca88a9dcf30302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500683066023100aead5518710f7104a576b903bdd1944df753636e51ad73fad85d92f1fde3669f460c1293801e2e294f7d1662107a82a402310098a53895e7c1ad3f2f5116b392b33026d4a5d3c54154397da6485ef9b4a11a9a8c327ccf9db8b6713b7800b59f6c55bd0302047c435bb500683066023100967569c83002ee55cbde1b0a11dc1aff1f42655b3031915c89efac9930924b189668a80d700e51cc03a7d04fcba3542f023100e47047ff310615ea23173c433bf4779ad3aa028ea94fb497b12a9105eeea522180b0e9182395acb5c95122ffcb3205c20302047c435bb50066306402303e3a841e78516148f6455f2982b89ba252331dc8144b8168ae61c4c6e8afe34019df75a90d511e18b1aaedca89406c1a02307fd096b730e1b8fe55bdb08c06293ebcf1fc95588f8fbc0d39197fc3734bb11176d7535102eb373caac9be83561af3860302047c435bb500683066023100e69beb256bc1c806f6278c8842902af442862a3fc839f424bf9e2cd10f7135346944148f3efe82917de1f1b31bf44c6b023100d47d427e431d8ad66262341f62dc8a88cfdbcd11cff42dbafede2b67acd76fa106b6972585cc99c691ebe8069e0fbdbb0302047c435bb500683066023100a622cacbe861e28a1ae86aad1b9d6bf0a6a258d9c56986cd9189808911d10321bfa59bb9cfd51c2b1ffb2f9ab9125a57023100ea02a7a5bd29d2d5391a835961f3ae282280641350e3b8285383130e3db48c5ed8b431acab5614c4312c9cc8c41851a20302047c435bb50066306402302ce7291b59dd95992221acddb973476f36b93c6ef8f061d84915575eb3101895a01fa08c4fed9c85f1519832896d0ac40230333ed330a229b3b6b8ca823d26cd67b8ab657205f5b83cf5f26eb47e72963b3d0921f29cd864db02cccbbad482f7650a0302047c435bb500673065023100de4fa43c1cbc3a9726816944f6e517dbee4c35e345f7af79fb571797f9ae5aaa6bf3ce29039f9e430ad0c3354497546b02307aa59d715e503bd05a2ef579acc6ca09092b0d8311c7b5cd8f382e50a21d2a4e321b3a29124f9c0dd8692912b83f6f6a0302047c435bb50067306502307998a5c1bbd36a0e3febf57d219f69a7ef8f49edd4ad50704bb3f1686e8010668db83eeada26a65dfb8bc265e83c9134023100d1b4203c818621229359d3161ac6cffde053bbf844ae65904a2922cd287deface13e376690667a0683a4e0e12f9f4da50302047c435bb500673065023100ea05edaa0638c620f31ef144abc4cd6ea111d43d76f48c3143e8739bff08bd2fb8eef5ee27adf56a7857d2fc430277d702304c5a25ce04c468c8c0892826e4259f8c9a95063d669cec0c9a923b07b3c3dd06244858518c25dda00290286d09ea8b950302047c435bb50067306502304a5f7523bdedd2b7582647bdbfe33fab8a88d35531eaeeb90c9dc7ff0862d1e619d74398b92817b3de813b6fedebc6b5023100852783671c5068988f8cbab8741ba179e842c9ba1030172b2a72e388b67d349847d51598b2ad6d4faba82d565a12117b0302047c435bb500663064023031ce83868f66f09b4571fee7862a88e6a5a571be46703490179ee0f0847d7fffa29f2f1d31a295ffa162767a04533ed60230626d122d8e94dd44dcc760a9d4420a31fa53b69dc6521e5ee338c688b3100b9ff5bfbd3fcff3bb610be8ab53910c1c9a0302047c435bb5006630640230223e0aba45d56e84fcee0fc6070274caec6c5258829bee2d3d2faf2f7cc90bd891771decb9296af9f21bee5710b02e6002302e55dea9c82eb552b83607bd84cd9192d92c98664938f38de9a84a14a1ae9ccddf607704b88f153e04b695fa051eab260302047c435bb500683066023100829e08804b10ce71adb25e1025390d36bb1933ee411b1af18fac8eba0ce737f5040c129bf41b873ab8a13eff8bd06f45023100d0864c4306dd7994d6dec3ea269bc95da263960007dc446e46fefa42137f57a230ff939e100a202b2272c10b69569ec30302047c435bb50067306502305bfa7570fdf8dce654313b8098585d857d73a52d015ba0c786a74c224c7e931e0d06c57e565d868dcfdd318ccf09b00a023100968c7462ef10626d294a9ffc36f4dff56cda956b25404c4244f50ad7371dfeabb922e7f504293c0df47f851f2871d54c0302047c435bb500683066023100831acc1b6226ce96b3e25e66ed809d2d3dbd8d0cac14e78215f1007390953d27398c90cc29df9f66bdf49405b01e9862023100ddcd26a26db514ba69fb8e498c3ba2d2a4ebfbaf11f801debd16e8b7f622e967c8aaf2e2e089d729f103b03d49dca1e10302047c435bb5006630640230188c48a04891ea15033aa871c6f1d4a07590ef62e48b222b389ccb0f6dbebdf80c8ecd7005bea8ece35c7d62cd407d57023012e30e86a2b8ee405d29afa435fdce4cfeb50de81435280e749ba1a648dd5560889ecb96583c94f3de6084162db9fef10302047c435bb500683066023100805dbccea2f7aa448881cf540424f9d65f6b67ad54408141abe9109419319762ba8fc3c695c2048abcca27ef3df1ffab023100cec6ec48709300318533c8172795bbfc7b91d7e3a85a7416ed151ce356017a4d0f1a8bd9f8da6de6d059add719f027450302047c435bb500673065023022ae258e14ed9bd15bc2dc8e9030a5302a12db41f9fd094e9b3640c2fb84a1dab55c28ae2032262545286b5c8f969e79023100cfc702da9f8422fa2fd16a58cb6b34f713a2cbbc7d49f73b007f2d829b409924f034de7433ee43689241d76e34e114d10302047c435bb500683066023100b44459941dfc1aa0eb99a12929e5b8725e0312b37ac3fc93d86c5e2a6346210949427c8059bb1c115b15ade5ce797a6d023100e5e88f66f6e7c95677683a39ba47cf2bc10cf21ae93c508afa648416bf7d33df8f17b9ef3a97d3208a7d01b6e7322ea30302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500663064023045f96b8d8172db8fd7f7b169d5b15027ca5f25d26e6470401796f526c8fae42415f52eb13377c2f522dfd3c7de752a8802300a7d835d8259c4690ca1afd0d80785d064f400c235fd83ead7a2b57cf1fd5b64aac4dbedd4ab536c39d76622cb06d5060302047c435bb500683066023100a143a054cae8f7d79a18d7efb030e126e4ccf61780fe4add65d27fe664cd1a6afd1fcbbd7b215e137342b8339a2e7fe102310096411c893e9ccdb55b54e04c612654afd6389bd40d2649d5a21fc9f5e7e93d5012cab0b621fd8564f7a63ceb8103093a0302047c435bb500663064023047fd481762d2990c6fd8c4ce4b3583111b616eef31c20566527ed1716bc5010f1dd621978928e77e6e15eac3ce62bc660230215f501bb6f821584f9857bfaa75185310689d23284785c2603d8727fbc6994e63c38ab43423ad8cfa4ae406987b7a840302047c435bb50067306502307cac4279be3bec23bbfea64cfa7fe9b806b069915a98e3f334a2de90a8e682ea8ccb47629444ab6dab5d291f05803964023100df4655f69075702b0a30768ebe9fcde47fa42e9476205985af64ad165dabdf00d1df401be8bddf62f3448a376a4c355b0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500683066023100e1bb76c83694c01d8f96465fd0e2854cb0b0d3409d62126525b1326432ae9eb85acbd5cad8bc925f490cf9d1f7bdb5590231008e0bf1a312241c094de533a01f09fd3283916672bb8d1b3b48501ccd637401b7781754c354d0ec6fc243c26527fd9ecb0302047c435bb500673065023100e52ef58be30b110ec41effe5437e7497e3befc2134b276424b142ac455d5f2e881412a1defe06d43be4d13bbb5f9a4c9023030c8a9fe5c0af673def55baf04afbcc44a08e033b84889016d318b72e333aea606842f38e196ae6c1cef630965022de60302047c435bb50067306502307a0d54d0e2699c887a4c017a8e8fcf9d462c5c5b76c75c8b733456bd0ae22038a70b40f0ea2767f39585ec0cd5c4bef0023100a470661ed71b40ae09a9c1e333a2ba4ff1992d566da11a605cb302a1c4eb51f0b0e09ad9ef13cfcb6fb4a525355611880302047c435bb5006730650230377381c493e661868f4f8811e3642c7fdc4d41352e2d68510c90e3bd5fb5592a4c447a654353d082ed3562008dc94922023100b9dcf0613211e589c637eb1cd703e3256d4e7653746fcf367371b60c5584ebfa611cc3b00c4a3c15a970cb7df4e0b3680302047c435bb50066306402304a9903a171e78ea3079f447a378590ab58238ef810c2d532cc95b0665386d6f8732c4064e83baaeafd671dc91845c9dc02303bc095f1ecc910e1450461ec77c9da5f11d758d2c31b7e2adc6fc40c8583fbc0b3c948e3a9d000350ee5b004b6ada61c0302047c435bb500673065023025d49467249161c6431e790753f1d115a0cd36e832da72a5cb9497b2c88f76947773db550b4d650d14438c4fb90c3357023100cb7849fbf18cd8a4e92fdfa859d1e441dcd2da565a86a0e666c45704bbde77516011fd3395cea919ef2da7530e6dcc770302047c435bb50067306502301e8f2a01b548ada9a2e5ae59264e88ef49d313624df1d85cbcaaa3087cc8187d4cae3f49e59bfbca310dc1800e15576a023100fb4581353536314bdfc40b1c544dc480a0acb4f1cacd89e85ab83d0d13c86d106808b1c8f8b0c099d8d6c453cff6c4e60302047c435bb50068306602310083b666d12e46005b2189abdc3792722c4dbe52d53d8994717d47d340e1135697fe18e0a093a85db5dda704b5808addbe023100ac495084bb96723de0e33f62cc9f080c76273345d8c8caf03dce060c9131a8d22f93efbdb62d5750b3894f2357884cbd0302047c435bb500673065023100f33abe9bee38d0c566f3a789f2a6b0fae31bf5b52da792e3f46bfaf3605d133d908ee274451ab82af86d84fcb06b42620230535fc6568821e3f5ab54e9c760085afd2e3faf1d9014677918f852bee03da28300bcf567bc692fc3fb65f33e477f6ab70302047c435bb500673065023100c47cb8b65ca1165baed376af60a44f34fe921c429644052a0c67df548c6d63fbcce45072fe7a1eed2492ab66ca7d60ce023049bf464165f001a365edb36686ec954c30473e812c67b45d1bb70498d27a8bdced680c763137c4fbf553a4ef4799176a0302047c435bb500663064023069567b7b22aa917fcd87d220c7be5afbb4240c7aa4c994df17edf962c768f789a85d16702b19f526835bfbc640253b3302303947754632888ee08064ac1f4fbab9609d0d7585edc36ddd1c7c69ccdb52a1eac15f73f924a3b1f55604044d37a099c80302047c435bb50066306402302cc982bb801e7e2f1a84453108aabec7b38c646d291dac83f205a4aa5797cf522398b9344695cc44189ae08cbcd5c533023025af3668a22eb05a3d120ed58d3d3471cf888f8340a2cd1b7a7e3a2183d8c97f14138c4b262d13a80bcf1748846b775e0302047c435bb500683066023100a914df5bb0b07bffc070b9e3863fb062fd1570f1909d9a40e2942c4991ba211b2a4b091b972fd921566ba24b13fb9a18023100ede7fe0e7c0d62adca0b661d89a597c361f2ee29443bded74078e7c019ad22190e8ecc081eefc59c0c94590e57baeb840302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006630640230766801ff855f66bc29fa8d6d1acb31ed68504970a051b39c1fa42299589a97ed9eb61549581e255edfc966b8ab00c9b5023048401774784fad465e3e8cd7968b9e7f8e3f1fee131a74bc45fa4945f7297358e15692b34a8253f617b47dfb7814ec180302047c435bb500683066023100abd9010041a8e9d94ec3e4c749127bc24c1aab1a5e2b48b0a7c32951175e5963bdd84b587c45a299e5e2ee701317b7c6023100aaa668b0b6621a21559eb190748f3b2ee8cc9073fbd856294de246d368962dde7a0f7677fb2d2906de53534c364369e80302047c435bb500673065023100a0fd55f8a19fc90bd4391ddd3cb4c06f9252c3d81da00038fabb7be4239dcd581abde37af5d459bd0d8bed3c650d7f9302306b8b29e4ea1f1f0d8b8cbd97406bda6698541ab262066549a65ac4e5e6f95f69d06e970f4826b4afbfb248b7bf931aae0302047c435bb500673065023100c02698eb42dde474f8f658fad28ed001c21c993ac2b0ca2d649cb05b3b7729f86e5fc0837490e4fa2deac8512d43aabd0230637f6ef176b2d80003a3327b2d895a9e3e74a5767399245e7b38416b3a29bc739cca9091412f6ce4fa1684114fdd2acc0302047c435bb50067306502307ae6e26c95bca3ba2ee5b4f6a61b8c89b10d00dcdba91103af1778381843a64cc5e141580ed6b94ebf2913a91fd083b0023100e5042daa2ae93b3cc6ef838ac99fbbf2712f3120f86b6aee3dfbb960209aa9cffe99b53ab2a741c048c84e1340abe97f0302047c435bb500683066023100db545ef3fad31f1bf0bcdc4eb10bd72c9f15fae89ef7e4e322a8c535f66e807531c3ead1f2633ebd9a28fc82ed17b76a023100bf7c6c1f6964a1c5c3c71c4b262f0bd8fb97c15c4367acc244f94158278bb00944af9ec3feba4620510c8c4b238600cc0302047c435bb500673065023100e8b1ebfaf3fd6e94bfd58a98f8bbdd403bae9d0b47fd6d540c59b38c6bfcc0a954379b2ccd3dc565e4313e48928ca67002303ea43d559bd9538ba9e06e64fda0b7ee4204f6454130c3fd3fea1314ea295b4fb1b2bd3a4cb3a311435d7bc66867a0f50302047c435bb500683066023100e7093dcafcdc56704c047dc37f850efea38a90b7413af5a78435fecca261460d60eec31d62403651334cf930de4d8602023100b429f616805c29b928b0dc91b67e5c3259bf1263e6401022568808c244ac88ba64801de13c3c8cb345173b6ff494c2630302047c435bb500673065023100b77d6b9ffe7d9e5a0d0e2fcc458c7a3e6599c67916705dccabdae48a7afe5112aa4db3618d3d2c60439422db41634e100230481fb84fe76ba840ee3cd535f7e974021c361fd5ddc346f00d7ae28135bf1e6ad90be5f78afb6532037ec15c4e50ba260302047c435bb500683066023100890c7d476f072c78fa2a7859d7a9e3821690fc477a54644350c5933b8fe4b058750b3ad7b95ba08a1411e61777a95f980231008a9f03694c1668c3043d01d62d225bffdbfc0d017f2763a940c11c5982174a5a175584e83306ba758783462ea604ec340302047c435bb500683066023100c958b25ab5f664e0faaef419108176875a95e47a52ae0c9eeca9896c70d76862ff9c9c308000f3df609f4f713750a3ed023100c6a966a3e7e6e6ba2c55a78c8992b296f28b855666f0c5e2079a406cf2f47d7e7ebd8a58772aa81f1ed5a2388ae5a4d20302047c435bb500663064023031033c1ec31369d268e32114228252b44ef6ae88bce12cfd60443dfdc9de75336eb53ac15a8b79e4515b773197d77e3102301f6848ee0a6ec0022a3522fc6416ce49ce0d472cf2e18ecefa49bcbe3ef98678fc365c7e297172faf27cc41b34c2e3500302047c435bb500663064023012f53810b977f2ca5ecc1beafa9df4678b3df31ebd733b290383d3dc163e66496e86c865e9e9a80bd74c2d2e1fa582a50230581d35048e043b3a18ee9a3df900b340596836cd40968d0b19eaecc3ac9af2773d666b2e7071c459ca748021cafb9bbd0302047c435bb500673065023100bfebdea4046a7149c4f90f3819d85780b2a4d27bf05fc6c9e5e7249b335a8b385f904a677d3f9567f70325e08840eb5802304b10efb1182f498927ec5499885bcab46596a5bd9240ffab2e0628390073bbe99c71d7f8aa5f10fafc76f9dc5c3060d70302047c435bb50066306402300d453fc56064a0d7da866a68a072b00b8ba7d374d3f379e122cc527a403078f18915e6d6ae052c9abcfdab1a46ae238e023032c8d7dc4e1737957aebccd409c00a793ba3cff0aea99f6fa8d0f648eb6efd2edee3d36faf83cf16539b3c9b0ba766820302047c435bb500663064023056dee02ed807bf5037e3266f25cd7264c7a2afa1fce9334d86a24c5e526780b5684e44c7be497173335b61a70af7c4b40230477a947df56575b6842acde4afc339825f544e4fd6c72c656daa8eb008c2994cea2312fdc204b71b41459b76f8c435bf0302047c435bb500673065023100c1ef2a2b81c1029ca97909feda496ebe0ed757671222a368cc68648ef8d11b13edc0c4294e59316941bd42cbcbebec5f023064eded44b8029d87c29249c7f7b0a0c00814681f0a9a891a13428cd3e9ab471b347fe1467dbc137ed36870b4a96445a00302047c435bb50066306402306b13dee03731a9f2fd51aade2a3bde6a44101bef8309ee7c207946ca067579f38f72dd0382428bccb49df3203f8f379402301b938ede5c2ef1c7573944609dd092e38be6d4e957944851a8d54a584e7f6dca41b465da3ddc2b8a5ff6418ead2d9f6c0302047c435bb50066306402306a53708ed80da1ddc48f13b11a0599b264cd060140727c800ea085b05c036cc442f1609e7d9699312d6f6e013b419f5402306932c9891e7140cde8ce1d5b8037d2541fc941775e781918fe60152a8438bb3cb18cd9ff394918bde4996eda383f01180302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006730650230586bae211537cb3e708633fe2e82203863ca266fb3e7af2312941acc3887bb91cfc2fa581235deea30b271f457546470023100b85bb66ae8b60e672326ef87d523887d3ee9961e2174774a72dc0e79244962bce5ab8c6b9f25686413e8571f3f4abb320302047c435bb500673065023100b2c68a8821c264dcd91439346f6a26fc6d3270b137e10a137ca6ac6579d7d689b7c0d0b655f056ad591514436d1b03760230166ae57f5545f6957b269599467885c113f621dd15fd058f2042afb2ba1d30b5c276e32fe61f643d549276ada46e82150302047c435bb500683066023100f0da09d7d9aac5e75fa8455c7484c7f9bb40feb9496f00f4084d8a447f2d1a17b03c4f516c2dc715931c1e40ec807067023100ef61bd908692cefbdcce48e40751014f036e28b28303144eaf1914a50fc7a75c79f9c81add147d5ad3844ce12841ebe30302047c435bb500683066023100d53065c93ac22ffeb8c671be9c302378b7303be5765e57cc0edb8e303201cb81392af5754c4cd8bc00ebf1d561912dac023100e6c56ff42a1d8b9a32af97d15fea592ef5085c32fa853fd95a8e4b587721e9f2fda9c763fd58963853e663daf22391260302047c435bb5006630640230743c4cebb60ed7376399f9c27a23ba8008923a4f81227e9ec78c767ed2a05dda654222e9a3fc96df051c77ae7435c55d02307af271be6198ffe275e923f48dafc4349017e6f64ac701927493e3d707abfd13be561a60e3ae446e3fd65e9137d0b7b20302047c435bb500673065023100d19174bd7c1408de0a0a6cab0b287391555866827ee4f6d1be1f913987bea8f458a4d01c88cd38a3722afaaf178849e8023017a169be9c647864d7793dd3569331d2897e1381fa67187aedf60631ff29e00f37acd4a77cd74d22d10db139bf06c5270302047c435bb5006730650230064ad27575b87793f4e5268769fca183ad814147422c4ade2b5a3df169f046af8e238ae78a193ce99719b49dbc89e789023100d77029cdc5e0319fab86d19f28ff7ce30e77266f5668057ed5f3dd3e10851c6fd4d06200253f3155c800026385f208fd0302047c435bb500673065023011fe50fed7b0f773b477c6e4c1b3d0cd46fe23fffbdc7de4e05be179aa5b7f8c777166ebe79e41aaf92206ff71ce839b023100daabd5ddd1059da39637e918f4c35722258da83bda148948b5030de0d3d029858a0928226ef0c2870dbe36b12b62c9860302047c435bb50067306502304b0e47e6bcf524c750125f9a59c192216489d954f33b3f21c809309da012f3c376e1ef8e0035084a0f1ae53c55f4da67023100eccadc9ca8e168c2331d0f14d3824cfb4a611bd070b0a468fb926a7d3e75f58f0662d1514a76fa05a4b49b52faa65f300302047c435bb500673065023011d256f733da087e75d2081a0a9e8aa4239560e2c4598b40cc494716f102745115bc057c882d0c2b4987f60f7faa5c75023100b41c857878e907d8a0eac00b5c188087370d5ea8ed53c8141960ecd5fe5a1a81cd914bb5b4199e599b251c63672b0cd60302047c435bb500683066023100821fe8c4b3513d05c74e24377e579c661fd0c04dbb5b99ff03f005ff837c23e14ab662609681669ae6bccf626e66e22e023100da3eba3f1e55e5548fcdf931b7685761368b7ceb8a8666935369747e551852132840d50d28a6f7235223a07af53f6d190302047c435bb500663064023055b35ca556078f63ec2389ffcde528c62d1d7ef5b19314aeaf387a6e8d67471ab965a5e53fe45539c42654c49f114d5802306fb6ccac942868c95d00e760337633ac4648005f9ce61a7bdac0cf900f747fb5db82ecc6457499d3448531ef5e1f34230302047c435bb500663064023054dacd2bfe157b473080dbae666698e4e43932fd9a6f2731b186fb1fa8825fe0308a1121d21b705c3462748c85daa10c023027129275fd90d63ff158c0d2e937c0a09f28fb71b54cdce9ae4d7c6e3be4f6ddb87862e018b2f61c77fb6b64bb15a11a0302047c435bb500683066023100f13fc32084a78619a0c455e9606e277f7c8af873e3a532247049e596629c88607bf7e18c4800ebf09b919f1b3246c564023100e48e9ba0f396a82620a69d494157769c09900d38dfe8c66180c87e795df238e7677d4653c8fefa3a63b4cf2938784b000302047c435bb500683066023100a0f440e668eb50875e790b705cbc870d51e62895d7bba15d3d6658d7a5fcb0084cd675817e0e80e0574b0c95d4a28225023100d3ced1d2213812722608edfd8186ed40a4ac202dad9b33d688c5459a5d62c03dc8a2a8957b7765da55df9820f2cb6b370302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb50066306402305206aafcdb109edb681e9edfde97e39582c8eb6d9ad094e30e583b1bfb8275d7f7bc16e2590cb9a1bc7cf2da4091da7602302d1309d45347de7722d33127a0e749a62af998d98539036cd6eb9b867a7bbaeda3a91e0e3054c0afdd2c0fab03e978430302047c435bb5006730650230593805aa39b2fbd590c1463ef8f4f442f78f5100cbbc76d5239ffe05a198bb63ebf2de8f4dbb71f3ae2c399e5627775a023100c432e026a5f9333c1b541e6982935bff61f24b20a2211607bfa50cd671fed2a8a3f3bccffdeb2e4467200689c4552c9f0302047c435bb500673065023100b58608c7bcf0f4f0c1b9ec1b2f399f85cbbc073597b8a17f45e1d6588ba3c16335bcf59f387ba53759e639e6015beeb50230662eb0d1be16249fbf72ad8c9a75f9b15e4317345e5b2e106b2d619201f54a1e3bdc9ea019dcb31d42af25cdb8fbc9a20302047c435bb500683066023100e345be3c888e186a96386172dcc713d40f9273a60abbb2febeb9b908d2a06d7a7a1ae038101d877c321efb624dccf3ef023100c4e9dda4eb55f8909026b811b7b4dc2b9fdee699cede2b52d203ed5c1259a45af4b74e4ff5d4c54b5a6f971b2bb8b76b0302047c435bb5006730650230330b978e60f08b3ca60b951aab5eef18bce261f5012fd7aa84d366ab95af3d6062de7625320b62fe6b402a7a56945dc2023100f8de40d667d7e5d1ac88284df6dc86a129bde07db64afd3f037ecf912132d9100e5d3cdaa5f36709910c67c06ec89e650302047c435bb500673065023004f0700718b860137ea83fd60aad02eee408064ac94a3b88ad226db34eb61c182bca5960809b815a04ee7af63f88b5bb023100a0a157486a7eb24647f9a9baf86945321948643c89ffbbe97404738aad962e05c4790a8608c171b0d77b3b392e2e2d800302047c435bb50067306502303f6e1de0ef4c5b67f3f024be343e363ea5cd9cedb48aa0c6d2c44fa2a77174df9ecd3b4c3cf6ae6fd8ca431a7adc7a8d023100e4de47ca5ac4d7afb9650d9835f1d97d176f66f5986eefe6a8afa3e5a856ac4dcfaef3ed9123a77e059c096d1fe1dce90302047c435bb5006730650230556c9d7f4f9821800122067010c95f716d638ba5651f65405ab62ad6dd490d9f115473c0004f5ff0c33156bdf42bd9bb02310098bc0d86a93ca59b7c31c1812b64f677bfb766168164284ec5ee614bd779b854350617d3f80eeb3cbd0bcf2b9a0269640302047c435bb500673065023100ec80d82576af773d14cc948cb9dd147cadd02493e56df28181739551aff645ee85c0a499f0d9476cb1fc826d1fffb13702300ac36435d463b92268931302a542eb352477faee7c7a45e39bc5bc8a91dba301dd9d5b3009ac6b0516765a99ad466b720302047c435bb50067306502310088b153a2d71143a0a14eb9c3f8c8802f1a7a70a5a9b6bd2cf906e5501a1813a26d29b2bed8dfc7f17b4180eff255728402305ed2e161cdefe5f6a39151f74791233f0f1ec1eef6eb115f3d6cbb4ca066af1b05ea3136439ab1a6724a7bcb8ad0e8630302047c435bb500683066023100a3d55acb0d896895c49b7d4c5555a967bd63f9178feefaa37fe05651684f66c583be870a430d67a59d430189c20985280231009365511431226c9bd04554e964cbc9d02d4927c9d9b4b6633b65c6fc29607baeb623fdce19394ddf752a5d50dd2d09310302047c435bb50066306402301196e6abc852ae396e3744c75b91d8832ecc83eb7e3eacd6fa30c393fac34d1c7568dd6c024132133264aa3002756647023053f7fa5a4b653683c72acbfac5aba0924c80e2e8fe28942ba63fd6bc93cbf7b5a1a7a00d1e006f8b6f124c4acfe6ce410302047c435bb500673065023100d839226f8f7e5ed232d8ca684bb2d2755eddcafc7d5a796529ca045e70cd5e707a430f1f97ff034cdaaac9846db3612002303631a8fe741314b0345e6600f413a0ea7c786a1dae71c409b72f50f0cc7109b6409a4d03f674baa6677cd5c63c6b57a40302047c435bb500673065023100bac1a799c52dbc52c5356fa0f7be9a04ac0a8aa385382a21355eb9ab175562968552edb9c87d60d97d82cd63921e6d2b023030e8d1e4465ae8e068f65773f35b9a1ab8896cdeb1870435611132dc044f4bd8ea8de51d801b12aa5c086e76a1cbd2160302047c435bb5006830660231008e1ed47e5b88a487e14daf763e97bb672535fa844d9ba56530d125427656032d72ba9559ca868b0171d1fdb649e17138023100aa7129bc46b9a58099f336fd9f0ed393891365e20f4ac3b730288d899ba9a50632f7cf73695a507d655152dc3f9472d50302047c435bb5006630640230567fc749683aaf1a5e2c49564a8f5e71ee79192ec4d5f13819276ab467a54a34f0629a979cf334606fcca8a40274aa7b023001985fd0bf2c6c3010da7f7b63656371bd6b1fb210fd423b5baf5c2756019e8058fada669d43957350fa7a6bc2f37d770302047c435bb5006730650231009bb45b10db6e1f5492b04dde9dac08bf3f682d85ae5afb90432dad5b9fe25e13b8e4291b845cb8ef60a1835613df398202305878d9897ce185589c199fdc5b2c9ac2a453c4e5ad61f651b5fc9147d2e26e235a58664071feac5e196d4ab6ef17d8370302047c435bb500673065023100ae281a491e03557fec887017fbd3ad425073a0390b76e4051116b64a1b22cc56232b23b3c134c587da00812db747494a023002980f22a07c8e3261c611ab3357ddf71412631fef4c068bfe039fb82d0585893088b3950344694bbe643efe7b4e043e0302047c435bb50066306402301cebbbdd6c742db36e43a22048fdd67fcb5a5b31c12b3aa6cd79ea6d155ff5dafbf47fed3b05114f0d90f849838dab860230754941627dc89f4e35e63c64a5f65e37d96eb08c1e5917374f8fd3665aaa281bb84b911907273bcb71bcbad2523de4250302047c435bb500663064023058802a4308f2a9ae9e531e43fbda4145a80346e4a1f56963687d3b012a9d017c26b14516ee9abeed858baa44d441779302304435dc21c6f212f190d892d78ac000f678d49cdbb152dda70e0229f6a2a431e8143c108288ca0bb65cef86070ec19a880302047c435bb5006730650231009bb0312e26e0edc16537309a3d7c99dd60520596587a08a0b9be7c3c2b35bc4d19ef752919bea508a9486773b162c00b023031508ce4167a316f354656d4ae77dce7fdcbd6c579ef93d7c792136dff6d8b53e07f97ef5f5e9cb8c8bddf8cf5a5eebd0302047c435bb5006630640230640a9426b88196cce8b451d06520989178b1e2866651c4deb62fd8bfbecca2c9bfe760cfe9566ebb81959a036734fc2c02300d82018666ec6bf9461ac47336141a9719ae5b25bb58a6191d22caa6fe2093085775aa41017ec6a12d67708bca0a66040302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50067306502307c9a8f9847765b529b0b2c79c249f570b3e5c4fae978ed33232c528f79f1f2cdfc8a3be3748c9f36f9759903061cc3b10231008284851a9f28be5a64d060b08852cb4824fd427ec6070eca581f2ee4074922f6fb73240d9b9e4e598139d84006ec1daf0302047c435bb50067306502305d37fac8c5122126aed4f3c3b581235286595bc9568b2ce41c4388d3a377a99467d770056acf26f22cdec0701bcc8b8f023100e7687a30e20e947631ed0465092070cb0cf619b629cc81df62bc5ce6e1651a5627d18c84ebcb57a3bd60cdd185adb5e70302047c435bb500683066023100f5d78d9be116afdfe8515959ca50319affd412462904e8db8784cfa780111b828740fe5a00f24193f5042b6a07b82349023100b2c6e55b2f70bb4556a4506b03ed46e29b7b02bbee8b30257bacd6b0eccd3836675425537d36b48dfd5eabd99ed3d12d0302047c435bb500683066023100bd998561e61586bbf342123a9a4f16735efd3ac95699513d4a52d1b78b2e2638157f01c746c64be3dc7e0a23c6154f170231008dcadc1733c31cd4b00cef0d02ba7be872017d669e3f7d5c479600f038b6e4a76236d263f91ec71103b844b6e1842b440302047c435bb500673065023100e22a44215099f0ff4dcff8cf3e25190a44693da42be9b93c47ffe1d944ef427e004f04cb981121726bdcbca649cbc32a02302bc1fe6291f1e9589d9fa201c112ae3a6fc3e6bfd611971e7540fea67c94c975c90bbbdf94ff5a4ea9f82bfc13e847040302047c435bb500663064023069bdc771011dd396bb93a85caf5d7d1b86ef5ac6351812c8efb564771c5a2efe7cde19dfc6a929521e0257396655dd040230611450ceb14f9fe35458ba9403c7e853028b7bac060dddd23ab2f44ae104ad6b0a1027c61c3c0be3b50d5db8f9bb78850302047c435bb500683066023100da48203fe7cc945b9424117bd13adf2233376363bd5decfa0d7f2ffc63f3054752781917c5795bc6eccb08fca1747470023100fcee72a0cbea56ab05a4e2d51a4a8434f52cc165e3192e10537f7ecc1c206142628efb64f621c929d17ec0c9678f4c260302047c435bb500663064023021e7d416fa718889c3e7bb7ffb7191aec07a50976448addbfb35e2bb55884ef9c5fd2d40b6e532d04674f3cfa25bcf4802306eb3ed1a8e38068fcea0a6f2edfb0535161ce19ec2b1f74dafb9367076f5db7c9c8a75487de5495d47cffee6f9c02b440302047c435bb500673065023100d8a0dd506b6d37fea9ac217532ff89f7c731564f151462acc4d3f2986acb1c1ff8be6076921158628df8ce467de850170230109ae4191dd6b4b685a18e4b7d5487deda38061571608b4b369ff7d7ca433459e4caa599d87c32bce7ce1736d5223e620302047c435bb50067306502301f577d2d37d368af68de3ca7f4a8e35a882262d77529135cde3d1925f496f41b99275a4cfb1a764e9f1fd90801f4c70f02310096413bce7cf3ed3a1bc492a637d2add08d0d04e9ebcd456699f6aea7afd720d9df2945dffa460361b784fc1ae03a12890302047c435bb50067306502304cbeadbd7efd81d61f137b679410d634721fa61e820e61cdfecac7302c13d30a7430ec9719855c405ed97ad32410e22d0231008e2ce7b87d7c023ea9c9515ffa6ee24d4a23b71cd89a1f08a20e2c66e70a30f5cd2312f64a783a6e4acbb8cf01fa948f0302047c435bb5006630640230514d39f90e607f09a0902829ba165b8164e1fbf963d3c8ad6f46ed08ce32d7bd2ce6f2c1c42ac2c3b983b8febe17dddd02303ef308b3f1b0954e1bc38f589f31102a6b0fa477530b58dbacc66307c22ea0ac5e4409948659e1340ed0a0105a8657fc0302047c435bb500683066023100d9b55a01fc54d5a7ea0f7c8162f3239581eb19c1def779daac7eedc9aaa87edc9aeaf070988d726ed56e808e4f9bc4b4023100ee73ddcc6707d52868f153230215a5f4b701e86780c583a5b3183f4d7dd8ff3b8b195dac4a5a9ac186693d870fdc7cb00302047c435bb500683066023100ea26974c28cd2d98ce793de25b8d090c3fa83c3cdee9a3bc159d729e5a4fde04dc87c0f704950386252d33f84f135f7f023100e85ae2c2f3aa2b36a68f6a6bc3bca88fb994398184af0245de63c756bb82645b015cd6b5e0daf3ac94f0d68b4aee95290302047c435bb5006630640230621eb494ad4a781c17e1ef6840d9a9140ad8ea0e580efbd85fc44e58beac533b4d68023d65a8f557ce5220a9b3d376df02303fa01cdb2fc765f36cf6f4ed098244f2b43c5dd02e747f69d1ea20f366f3134013eaff55ae7962d4e0e5e3703b716d490302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50067306502300aeea339507199290bf876cface9c7ba5d3dc7701a35767439bf78bd360f0ddc1ab1098075564853f611a29c4c429f61023100d74ff1f95e5c5f8007582a0f8aaa1527fd937dc0a7acef638564f2168a72ebaf52516a08e50f0139d7380d9b6cb7008f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500683066023100d76e474a8e3190127873a78236d24c2e9a5fd865563dd8bbd95fd073c52a5961ccf143b3eb13dc154a76c2d7ea4164ab023100aeb2bfb6f6c743d17310d63765690e71c2bfc4799ba355a5b6e1f2768d3246d25ca54dd18ec691bc9115a974862649310302047c435bb500683066023100a2f66de923fda6d293c5b0294e1b58eaa6dcceadafcee50a294807675e89388a017d53a38966ca2ca49f9beab1f1d173023100e08897808dee3623ac6f07a0af195dbdf7538b50d2e2bc6ee3cd5f85d2f47f22e7c1148252d5cf0deab30788dfde2f160302047c435bb500673065023100abc482c0133e509a0fab4312ff645897c3eb92eb36af1d7f0870b1d9c364752b2cad60cc3eda24c07b73fd7247536d75023043d0f8a9725c9a8dd4924afb8f8f4fd4d4592ced722685df75d51c37a27795d54ff7f0c856079da9ad14fb203c9152300302047c435bb500683066023100cdd45f150feb5fa02f07a3888d57ae75d2d64a56051730626cdfae669fe647b7197b0f4bc4afc2a2a76069a53f763a33023100f11ccd6d19bd6f30d0f883b5fad0fef959c776efe78c7ad11f3f19423a0304751e559c27d3e643bf5795344759fddead0302047c435bb500673065023100ed453af718669340e304dae9d5a1bf199c229c2f28c1a2b48e39c20a231c3fb31f13d450986283b2ae9d97e49e3693b102306760d119a67989e914194c1858550fec1c4598f707a6364ea1bf1455072d0b91a1d70c05cb240448f6cfe146bfff38830302047c435bb500673065023100a42310b4c27e2b5edb67fcecf3ec215ce95f07077b77de1072c1f4f4087b6647492dcc1ce52408877e389864ee64d9cb023005abda17d5c1a7146263e79b72b8febbefb092ed8b921101ca3effe88c646c83ae2065a460b68de03d563b8a5d78380b0302047c435bb500673065023100bafdc9ca90aa9cbcf334e57bf9af36a29f65368a98b8bf8e659d365917e003ff4954350d1fac5c26a1d70185e9660979023046cbb8e48097c17edc1f7dd92c11e61e66e67dd3a367cf0e07d1a8e9ba36d72ce65845e1de915bf53c1a33cee20bcca50302047c435bb500673065023100dd464d9b0fcbd3c1a339b78d10424871086be8b030afeeb396c611d907752ec77f683153969f06d9f661baabe01369fa023073d5345cc36f2ce78f8353177109fcbf7d922f4ea9eebbdfeb8820f896e7eee023c163b9c13faa67147c45e192c7402a0302047c435bb500673065023056bdb3f9f88a3d622dd822a9f20978f6c582a5c759495064be72b15c8df3b45f8b6d9dfca93d21ca1aabd7f3e0d898b1023100b54090af912db5613a51b6f7d4775cd4fa068f59faa66f25cb26edbfd5f3dbbfdc4508a418c30c8ee8bdb6b34db66ce40302047c435bb500683066023100fd14296962e75280cdbaff1cc40fd0c3517190805ce0e4391c3ea64eee583072c16fd9b1c2927f36c42e3e527b8ba762023100977921f63844b961bd7405913b5c0b2c860170712ce106c4ba3c91ef691d462f0fc1e29ec46a6dd05a0f254056a6721d0302047c435bb500673065023100d46559e286b32023688551497aa26ad45b8cd545d2fa70f22664fc6ae29b46c6d0553e867c55cc7d79c5caa5a930415c02300c9fdd4b5fbd34a766a36319eea479f93cf7c49731f56825f3ecec97a17a70ade54979068f74daf0781369149406de7e0302047c435bb5006730650230356f3ffb1ccde294ac1f1eef28069ce1e4593b09bb9e31709d139eb5f5461ba3438b670d8b4b020ccb3aa84de3989a59023100864b0ffe332c23c2da85501a7ce36af325daf888ce2458c7c2980c727cde859595589be07ecf73a2e28c5af2d3e858720302047c435bb5006730650231009987dad7942d8cf83533cd75abf2b46f3f1dbaf34123ba719f0a9bd2eff9eb98fb81000d60ccf7c750fd321214e2fcfb02307395e387608285abf51f344f13f73fec6d2f75157b6a4b07514a04eebe4febb0f419faf09dfb340c540473dfc2999bf40302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50067306502304505363c4e52da9d8cde380e36960e09d903c2c36748b1d3cc5b54288886d38abffbcc0c47dd2356780332ada325ccff0231009db8a283c2b3dcecaa3acc26e411f35dfb084c853efa9831e0909a0dacd83c38a8a154d69d2ca6e783c9061628103b7c0302047c435bb500683066023100f28f7db0d9f3e95033ee160bdbf16c6d7e6ed8ba92009ea0bebe0a22c490e4bd64aa787a139f6c000dc1e7cffac06243023100d664fe32d17eef19b2268d396ea6ca06cac642a326b4b6a7b266bce1d61d59f9f2ab1b27f8af0e685e45e1585b615a090302047c435bb50067306502305a22a1a0bc8a7b0fa2e0cca46df9a5ce701ba6ca63708fadc9935d8eb6dfb927ca0c1fb8cbdb1a26551d9291341949fc023100ba819aadccec837052baf16519ebc56ab69f0fce7c229182154c22b13ef539090b9ed17d55049547c49c6f3d477e70e10302047c435bb5006730650231009cddca12a9c527ebd492188228c71c7144c43725bc66437fcd344cebdf4cc9e6ff0d929ed88cbcd8cc8777df5c45c73002306fd443bd27fab4e57bdcad65825fd581bcde2f94ffcbb8fec7f1c4f6aa94fea90ebd9f84cf4d09507da668d481daa47b0302047c435bb500683066023100fe4602b903235ca259ae3ecfcc532009ef97be9d341b42cd9b45a126df469f05fc324aca758de8d71cb93bdfe5ec1d0a023100f3f0be46e259d938cbf80c222ba7c057ba3a975df3276c86142064247837e7061611db4883111fa2d5acf707fb629a0d0302047c435bb500663064023016740b27c09d4a285510a62b92f0c564866d135713e00778f167203eed44b1873d70d19a87d7857ea71feeb1e5b448a9023060fc9daec58cf46878d3fea935c35e196332de62596df5bd5881acbf9df22cb852cc3b50a8a79434aa318ca8c40fe0410302047c435bb500673065023100b7cd13c78926153ae8f0bcce790799b25adebdc1d9c525e60d6e867fcf48ab56720bae0189ccbd0459f4c22a56606b9602304c4c91737bda59d6f0a5982b1240d47f7092c9b4b04a32af2206bf344ad1e6cef606a36d3c8e4431af2e651ecf4963790302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb50067306502306848589f4bef8f32f0c1a08a30a80cad98197feed0124385fb2288906b93bd9fe9af3fb610041e53bc17601332999496023100e71d8505da511268a114021d9399b8bc89bed0eabbe9e965f7b751825154a9877d2abd034fcdb46c1578ba39cc8c64c00302047c435bb500673065023100ba16645d47865659f4b8a70e61c8253d16d0c1a085a1342e659879c2901f18dc4116740b908f1af914b04fb0cb06c58402301db91910d71353742abe536527dc90eb9b290796d145c25cbfa87e11f670f51f7547246cb9073f87175ddb788f0f4a7f0302047c435bb5006830660231008c7178a35d7fd4b99060d6115fc97b8062bea78d7febca4dbaacd34739de4a2cb821a53b2805f41f34f184ad8c4d2d7f023100ea433c77b473ea57790c0099e06381df8d239be9caf67788d95000668ee6bda66d0011bca4c6a1804c533d608d55755f0302047c435bb500683066023100c5e510bcbc4fc7d8a8e22ca5b58374acb0655bb4d2d73d6621c0e65483cc7dc75407ce6be172ddca3ea59fd7506fc9f4023100ef93e97560bef7b995576593df1d8e7aa5cf7268773f2369dc2c305083365b1fefacc79cb123503efacd09af10111bc10302047c435bb50066306402306e7e1fa7c34630021d0fd959eea2896fb68c4dec580f2f6bcdfebd59b140e23eaad09385a6ed9174abd3c5087a1fc786023002c28e52efc9d2fa02ff762e2fe121aeb9391eb8edfb192b751bb0c46657994520e85e282168470085b37c2d35705ca00302047c435bb500663064022f6bc0814d695da13bb6613f44bac4231ba621d341f6c9b597865c4afa46d722205d2df45e66cf3e75a90dd64a97234e023100fd6cfec838fcf97cdf986c4903e4ba6b1eb717ad05483021f58e6ee412d96f253f22ef443029b135fb39384223cfd7bd0302047c435bb500663064022f6f28db4d8f98d4f6b1005470e9793db1302a95a68354acabc875c93aad207b65f1fced704769b8b95f88e512d99efc023100c1c05332ac0745839770fe57bc71b4131ca8d8ef667af60a90145d525a2e5659b1cd0ab2e23ae2836b0e262e5504985d0302047c435bb50067306502304bb8ca18d3ea46a6eff98b8e9664df4b84c9c32eb7acf4492ffcc642e9d57e3563d381a3c01d77cdf4ab5ab9f84252ee023100ecea959366f0e6655de0513d77c43336a8123300a70f1f8372cfd8c9b66a250585fd6fdc00a5123cd19384fcc99fbacd0302047c435bb500683066023100cf2f1cff90eae593b4b753df8a32015080befccfe94c4ac2a0003384f7618c5643b9c850dacd32f52cc04674d0aaad73023100aa8d7c7e330a4e825ab337c9f8ea194869d33e1e426d788fc19e2c2cf4a545cc40446c6e80d03bd69a3fe1aeff6fc0ea0302047c435bb50066306402301638f352657b5244a9671b929ad38b5341b64ce78f5be4e45b0c9baad48ac58eceba76d1da1d85dcf5714b664f50b3b902300473a30f335f46ea8760130fa1a690ac348b40dc53b9fc2eb71a459fb3e128eb0aab5119dcbb88a7d12a501dcee26a0e0302047c435bb5006730650231008abdbd1f23cc9e820217fc5a69591ccbb225e43ccc0b74e49e9948b33be0d35fbfd6d58e244943f9052e529ba0086d6102300f9cf41806bf6f826b0f6f71ba055d9035d9be92d23cbdf07eb7b89b9ae8c2d3db4a7dbde9ebb0a68a9497fdc8aeb3980302047c435bb50067306502302552bb6b9e7a864ff91e5a18c49e226ca58b61596d8fac6d8a7de84469bf50e24b7750af82062f87726d76c18a2fc7d60231008dab720d9409ec5118d6d1e8c53cb69da7e663a53a7dc2bf3370cd9fa819c8f5cd8bf86a49e703a0a8c5bfbbb74ca1fe0302047c435bb50067306502304ea9544bc96e8f56d28847607359cd72e200c3f463fce021fff790a644da2a9cb884537d985f8354ae064a7cd507acc7023100c89d877e52c1961546153abbb13f85d0f025a3b99370ffff53760ca3f9e3e6479c19b854cf4da7ed06dc20121298e3c70302047c435bb5006730650230063498b57a26f68d2badcd8cdec97881a2093e3a3b3930503ab307eb7622faa1928735588952d71037d4b98b6a114a5a02310090b0573e5d83e6d52198fe9ec23b1d08d6447a4bf43a7e7a38279a96d8589990275ab6f4b6626ee4eb05add947ea42a10302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500683066023100d84c0350e827d64a1313144e2efbb9c888416aa6737e8dd62e24a3255fd2db7f627c33c3eee3a007ff18ad30b32b562f023100975afaa8ba2ea275f169cc1421316b28a40e4627933582972dd29b5431ce3a48c48f24670a42951c2a1afbf7a41d9ddd0302047c435bb500673065023050d6077d5684e5c749c24eef78aa6a4bb2e45e3e40d8356aeac99e4bfca5af453074886652c17251dabaac0a8c968f9e023100942a47a315aa135019b70885d1f65572962bcb69574a599a31c3c648465487014f159bb4c51306c1760f4c6dd0053af60302047c435bb500673065023100a1ecf596ee05b0b5dc8b6acffcd1f1c2c57bd16b146156e4efc78ec5fb9553d5b423545a4db6a80ebeae35e00ac18426023070a79baf692b44a63a78eb615c599a07421e57904ccb15d224b4a206dcad8900a7641a7c5a259b80914e10d68548caef0302047c435bb50066306402302c3c028611f8c36b45429aed9f0a36e4946f20f6d50c236c449a780fe1f128f9454c24b40bad830923f2fc745129255c02301692ccfa77dc3b49325774edebaf17ed073cc05f7a54b28339a653de451460628a2a47a06d47b0c1f3573b3f1234c4700302047c435bb500663064023004bf30e594d679a016cb8e4a899b346923d79c758cdccd5520c9942c846454d3ca73065270a9064d9dc4d66e534675e602306e0f4f59489df44c945b5411606a84e5c7831e3a515717ac5609c1dc3634fcdece9e962c816396b872aa1191111576c20302047c435bb500673065023009aa0c52523a7cad9807d2fbbac4ea8692a79edc9190d1a516477afb5e557f5a88992287f6e1f5c157ff95cf54d7691c023100816cc2562f15fe9bb402ac8c2e1333896e886857925ac7a51659a1a9f65db3e185b894ef630a5b2226df8ec4a76364690302047c435bb50067306502304e1923af86065da4447360bf2ac1d58337128fdf7006f6c7fb76cc31064bbc0cf63fb76c74efaf06dbd4e4bfba3ff116023100d492240e66c541b9252f34041f2ed50a99647f7d154e3fe25b0e83e088b7e62842d70f028edc8a719573d264de1aed7e0302047c435bb500673065023100c7f69e700c7a060303dedc307bad0388a3769f8dc7dc7834ecb319514dd26a6fdeafb1e7b9015929d1347144052c8b4e02304206894826f9e67b5503a08193df4303fedb731bf9bde8fac3e1014cac407fe4addd8954d958d8035005923460dfe9e20302047c435bb50067306502300d5167006e78987414d6d0f20f22e9250205633b21abdfcac1082df9d64c5c9d3fba645988fb07545f930b13b57a0088023100f05702c9da3364c59fb65aaf2b04562316f1036af54748d3b05be067da55937e3fd0a71e73439564466b6bec8e08aedc0302047c435bb500673065023100eb68b12884f0229970f65ec0179914716dd5f3ebc9bb781a03300f4bf843ee73bb93c8b639bb40f851dce814bf66406a02302b0dbd6788f5026b46ae2476d31e0b8aaed43248f2f5141b7be5cf394cc4a15854658f9e1bd3e2024e8e3c41c9dbafe80302047c435bb50066306402302e11448da3536ffed3774bd8b79027c0c3a2612f6512d4051afd8590a02554b6c1696064969e763e68152fc28dafe8e40230668172cd91ea3f77081d7e26df04c798e4d918772a2b8776ed618607285152a3ad7e4cea374516424dbcd8ae53530afb0302047c435bb5006630640230117c5ba97d917edfeca68c28368e9f18aa20db2e6615e0bd6d2379f252d7a96b0d3982145e217c61b0f345570156f93602304988a90af1fa38e4992eea817970928a90bfbfd71a3d399013ae3469c6ae788a0a78e5398ca473731f8c017d900dc4120302047c435bb50066306402300688cbd9973fcb029c624b262d92fbf0fb5521147c2317074a1843c01340db1bf1d245762133a9babf7cf40fcf65ca6302301378099cebbb9db8ff6d6958bf8c095ebfcaf7d1846c7dd24027eec38b19b3f66f54304dbdc0ca334ec5a29f50223b610302047c435bb500673065023100d7ec7309ed7f32ae0f1abc8f08c403a1c87b97b72904a7106ff7cff1165400e9013187c069bb2ed8fae0203c3efd7e220230717be70338f1604bdea7915bda6f685fa3a4c02fad10dfa25c5132f5c5e5c46c08c3f3a873f0f15aed255cc1a47fc9360302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50066306402303aa4f7e42cadac0f00968d603e0501682bcb808b119ac3094898db806cfbb35b47eca8861eeb4450e400e7044fc52d8d0230375ccf3335ca1115c575a63c2813a9110418bb851d065e83057aecfd535a1735c26b512bc3a279f542963aa612f08b450302047c435bb500673065023100b62eb876edb90233b77c4c8d07f8736688b3b1d8c6b2a622c3ba41dad65fd9b5a37af56f3bc2afc3b70582b08773c48002304786007baceca2776cd26b9d886645a0d4acae29df9d399369be68bcd9b5c6ddf0a5e3be313329e5c064a2a3de1a37540302047c435bb5006630640230027a6a11406a3ad84a44435e0b6634a0c62b9a2488bba7ea62183ddaee6a86c25e02fec5f014bfd65494d0dacbab4a6102307cc98226a2ef0162fd4ae51ebe8dbc544df917c892aa9a71908f0077153daf4b1553b7cdb080d9e5fbb63a784fa6e3410302047c435bb50066306402300c252692b3d06e0673df4f6159179bfc3c65eee80b9d4b3fd317e7b03d03d95ba542f262c5064a536a8c758f3cf2caee02305e1f900978d35afe89b09b31946d126fade71bf1ef93e4a754edb7d982f38c3d1b6ece42d602ff36a898349ff9b543310302047c435bb500673065023100f37a6cca63df991ad727e960e545350f7be08fe3c3ec4122ddea441812f355082d6ae056717c20f94b2c75d1c2201de302305967f4b4c566a9d33d2e13653e52e76d3970f7c05a89ba8fdf68ae718e79ea6445930ff4ab6dd9526bddfbba3ebfd2df0302047c435bb500663064023051f7f5294f66d76817e6ab95b0bf4287554152b121a06eecad218d9347845335b59fbc3d122d4511696cc6d7de81db2002300bfdbfa4868cb106b1db8bbd0554d49b5c19043976f32b8c996bf54ffb628c1f8c01d2bd81db0292fa9868d5f0540ae90302047c435bb500683066023100c75d9428630aacbb3b58a4e22ded0f96cb309e2ef91083d96c7bd3a74e619d824757906e7a8cf1e111d409c8820e1522023100a2acad088e04fdb3465cf787b7a2f589280ee8f5258c9fce927b25781d4c299eff737ff610860813f7f5d7badad157360302047c435bb5006630640230634511dde3360636a38fc3e20db6634974b15b72491c1e2c906a1c1c1960f0ea8d83720a5736cc165447fdef3a27180802304f7e9f249437d5f9bd7c075d6864a1887a1347934ac83faa7dc1bae97409679b99e274910d754fadebb317b9f3086c9a0302047c435bb5006730650230329add6a6cfd5d1d10c6dd7a54ef3e3a66383ce94482867f16ff10b188461e916e8ae29876b1b66500d24a17918e6e67023100cd490b91f284b6fd49896827480c6eac3282946d9438b8aeb680adad26e6b906432300d9f69aedfe65970f7102ced7760302047c435bb5006630640230217034c9586759f7bd36545e5b72db4acb2569afe60300f2b9b5eec6a86c15d634b22712da3183852598ad42513140ed02305b81fdf6ecf61486880dc5fe955216593b41be4cd136b6f742ff14fa38c0f150be34594c327d102a6609706d2dad5a060302047c435bb500683066023100e06e69ebaab8d553aa77af6a8906bb358a6fb188e6f7eb3b283c44613a0dc0f5bb976ab4904e1fc39f5b1b6502b96baa023100b4b1193c87c853c5275e0450ef9046e552c9f226d89cf714518e5a58e13bb92139202b4b0eaf2a92192acbac51da3fed0302047c435bb500673065023067393244cbc010d32992f896bca57f3ffa6dc1294f35e3170be86bdf01878fbf078ef3157ebbf0a8428ec1cf3adb4d1e023100b6f44c29436aa70b916206a2ddcce34c3e24885d317752173c3c987fe25c4112984cb0a9f6de4637be9525fb42b8536a0302047c435bb5006730650230239e7c421465257456572a4cbbc026ea0b30d7e297e9d80a9066a859cacf4c725ce465c33e23dc3411f30eb04fa65da2023100e09222d33224054f6b40a53bbfdb120f06b6e53ba568751ca6857704f7e7fd9da5c160798dcef11f10ebc88d1b534ce20302047c435bb50067306502304ef852775937f824a76f30024273f384d0a80e9ed2341da95b75ff8c072426c41ca94161e6c276c69ee7e554d50e0c26023100c308f40c3e86991bb6059cb841f1202cb3483c6fcb4c0242eb0041040d6499a3fd9d4fbfcd4946c7002d0bdd49b453ed0302047c435bb5006630640230304ff89299efeb9aca20fda25ee3b03f1faf4de5b4234a6954bd2ff9f0b515354ca00f803b9f2c12e06f1ddedb5def7302305e10a17d57c8c165ab9cfee6767cc002882aa5e9d5fda986781a79e95015bb8e61cd0b822e8dd4487b644cb2b18b8aba0302047c435bb500673065023006d51df6985999a8c5096e3283aef5844c918ff2a87b72e35fe97305634bcca33eb8480261bc5950c7714f28744c4c08023100dac6e3c53ce55e0eb64ee40cdcf56bbf6bb9f479affba2c2091ca8dca85ba9981824e15c78f5382e6b818cbc098a672e0302047c435bb500683066023100e9d19492a1a4469cfd33c196abc1ef4f3d5386d9d676767bd6fbc7d5e3259c9a4a027540633a86057e27d0d36166033f023100b16db20e62872e3cdfe147d097c9bd99604490f2543ca4678ba5ab3f660d76227c1dcede206370a80ff72fe57adea21f0302047c435bb500683066023100f5bbcfd1fd734c6668a2a9b135061e649514650118ff5e492e681494c3699b10169d86b4c4eaafbc164d3a0a7bce64bd023100d4bb5308a60832e9cdb10d2713aeb7aee56a09fae1c12af083bc44ddd1515202a47436f0d4b375585262a2d3b4a9d38a0302047c435bb5006630640230685c13d6dd9cf0b127bc5de1dc98d04753ada1d5756acad47955d56556b010b55289ab252c41a0fcd4e89a57595c5409023021b25fe9bb191c46869fc78703b9d948d788882f7068e0277cf95f464165da0129e06b5e02f0f2116890d0ef2d7952980302047c435bb50066306402302d9563d30ea9aba7d54109e0e97a96c2014e14b36210a4fdac2188aed30c9817afa23b325d4b19bb89d9fca87e8fdebe02301dce13b4a5993107e82d3bafb7c764aba4366a5e40fb8068ad76fe14816081e708daa665c4a181e5ca61a75ae727ca790302047c435bb5006730650230058ea03b4e27aa7049f62fd3a727870bc5c3c430570e14453d99d82104b3d2733152596a61350c1de605d42a56c19928023100c98243e6490cd97b201672f1d11cb0bd877ee656b822ac253e2a24e442b42f7e740e753d4c1a9bd190449571f736923f0302047c435bb500683066023100ee488031a6ff2f58d0d05a0d43827cf16f163c5c56f4fb2b6762ae0c2ce6e8cc58ad24563f7b9f8926d9e053b50fe48c023100acde0ec91705b008f78931d9ab0f7594690df4c0f588ccb2e2495b94cd52d2b5977e3e1812480336ac3e0649dabc609a0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006730650231008bfa217fd9ae25701c5a70ca43ff7ad7d20268c87b22e398f20d53fd717cb1106ecceb2f4cb653e368b2278f9ae50574023053c2f8c50c07574c876179acf82171910c618ccdb084c207a841d8ff81374b0c15ee983574c95f070510bd382290f5db0302047c435bb500673065023040bdb59ece6c1bd1216671a12c3cc3d3c441ea82002e73f4c780cf4546f296b188da6fd74c21578a0c9c10d539eca06302310082f6a3ac42a168578f6b834787de1c5ee2a322b58ea2e0de3e29bc491061ed7d31c28e3c08d5fdf89f3868c10b21fa280302047c435bb50067306502306000bb7cf137ad370a546615560f95630c3609559d6602d7c1bd237a63cdb0144b8507001006fd95aec1ecad74d4aa0f023100b264348feb58c1570a3e1409a66342222d392ffbca5d3af9906e226ea04a756490966114fd0c5a6fd49b9a8648e259d10302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023100aaf815cbcc899772f27b225dea4b7e945809d55ad8b51524851686883c1f62d93a0b5af87f6293fc44eba81c82be5e1202306c3012d8a2d9330406365b78b973c0c86362711a0d6c49a8524fa8b3aa74b2ad20c14c8c31a9df77763ecbd41784d5950302047c435bb5006730650230659318d3bcf3ad58834a919f1dd371c4693ac0c979b1bf1c60c73d1debd669f95f7688bf1ea0579945c3a46b90e6355a02310099d79b639192b1f2332757ca537c9ff43ecf369938c42a5a6e6534ae5e2e160b9bba9d34f259e11117762639f737f4f90302047c435bb500663064023014a97bff4291fd2dab6b09be869bce0ea5e00f8f84b0f26cfcf318ebaa7704b5eb6b464ccfad5f8944d049a7f98517120230248b8f4279db928cc77761002a72c21db800707b2e02dbe00e791a1fe141178ecb5ff1f1a957432d2c41062dfd5182ea0302047c435bb500673065023100ab9a11e59f2267b730a74cbf7e30877b69f356dabfed94f6e8589a04f418969108f6ad1fc85dc48d8c63c0684a01c9e1023019d36fe82d5911ea730b3af22c01cbd903f0296da8b7973ea13602dc93357202050a4d58f7521d527680669138076e7b0302047c435bb50066306402301a58f49d6e7e6a8620fd52f5a44dc5c538480ff3e5f25270c81bd838ec722f6cabb986145b8c85d66ea7a8b33f3239930230759b618604371f624e19c371cabc3dc8b8dd36550e9a13147578af34e0bc2ccb986ea5c5e1ad78c6853640bf2a5760850302047c435bb50067306502310084324660c41fa54e9adc77a06532232f4d3072ff3ed3e2e49c04bfa90c500acab3c7d4397f8d952d824d8ddd0957d33202306a7137552cec10bb093f79e4f125389569999397304f91f9e7f2b4a82d15f41cd67161921b99fc711f674f588c0bf7a80302047c435bb500673065023100ef1105db1a4cd06117266c921c3bed7e5a786efec8010df1bfb9088bb2a88aaad28b93980e8a5d84925204bb340476d5023008ba2b092a53b4035b49922930f5ae912ccd8273f571d42c913b99c229e0d0755e11a94451f650baf4afccd968f408530302047c435bb500683066023100cde40b3c4a37e4570b28347de4459f5b3a4d83bb17c04cdcee2066c6deb2d7b1bf625868f9ee9f8e542b7c372a3250fc023100de07ef0bc1977934b8e351cb19d2378cc091ad0bf6b14f8f01494872cfce052cb6f66e00e6ae17fe4e36b945a6edaf490302047c435bb50066306402304d2a38ac51cca4fae10d3a910fae805dda6ee332a48b014bc37e15e3593a495b8d76bff327bfa9349361f95c79d3af410230031ed39b31358e724c859ec973fe28be447e63f474ae3a35fe7adf694d8eac7e7315831e76ee1ad75ad68c5d2ad746650302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023100c6a281db8ac095df8410d25f951752309bac2054f638e10beaf2a724511db7b1715e6da4d2adf00f093cd8c9be52254c02306b4c52a8802e1cc02c73fd17d5eaac49c78c76935ca635dfe4d50322092a4a275acd62cc434f02ead4aa014375304e120302047c435bb500683066023100bc10f4fb765d7c13b178c4398a98bfb892e80a8c869023a7fb71928d9509a45c56cc027069af99407241f98c8ef272c20231009ac2e2c39bf7d374c30c076259c7598fc5315fb71a0fb913d0ec1c5d2b50193b21f72fbb07bdb6e68c8ad3533666685f0302047c435bb5006830660231009c1371dad01aa8977f79dad90f686f5689344afb2eeadc1ef605a1662685324d8129d57e5079fdecff7bffe689ca0575023100852302922421d944692f1106a169fb44b22ab322e98fc4492c81c9664c1b3d40c9ff0b70847f73a77df6d768550c110a0302047c435bb500683066023100bc6eb796921ef410b87160a957c950cdbd49627c40584fa199c4eec9f5b307ebbf96df68bd53b55daca1b499816eaf5e023100b66e62171f139d4d3947ffbca38d364c94ccd5a543517fa71646f557c80c8c3f7f9788a110c73441a143854d3b759b550302047c435bb500663064023061d51ed4642edbfaf949735d692e8392cbf9a6bee477c5b6595e5c11bdd7671a1da090ad708ef001724e95a5223b08650230121791dfca59f81a670beafebcbf36033490d64bca3fe32b4d38c214af7acb366ccd348d43358d79b4036709f10f3b1b0302047c435bb5006730650230189154fb2a5ae340f38b957e362277366eb2d991407c94429b23984085940394cbf140d1e146942cc994e24342ffd303023100f4f961e3ffba8c3fdf6c1f4b66f888ea11b9e758f5c4040034b29adbb36801331b7444b68f496ecc4e865ea2514a51e10302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50066306402306182b86e0ebb5acdc08a15502c29fca2b2d24058a927b80cd3a6e0ac9e7fd80b81d430a892d6133913105579cdcfc55e023053193c58a62df1270f17e7f70c32ca4fdae30f73a19c6c45324baacd7e0a15ca539c75dd3b24d0e9437762e89bf1d9fb0302047c435bb5006730650230278c0de0da1508cd546fffa7da94a92d9cdb1b207c61af4c1420b8832f1cbdf90c693750d16ffbf3bbfd0971eb3a6c84023100e8eaa6a977096f23f7544bf4755b7b25c1f6c2c6fc194e4dcf532f0f7c845c1f25f8429243efc8f5b50f90be484e402f0302047c435bb500663064023074cf8bebb2d9d531bd064c5d8166ff9b930b9ad63a37753827c7278ea4f9608bdc681a691211662b8e264d4dbb2337be023074be9c4b47f2e3e5c7f14ad1808f4db72d5e3d3bd42039e3ba08a03912a46795210661e5fcb17f309d4b1e24712c3dc50302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008a1454d7032c5d4ed76a0f907c01963f75c0627e599d6cabf288964920e98d598f4a8e0eaf0d22c093edefc4ab140d8a023100de128b0a5001c9649d7c3768ae75a92af58cfbbc904633ab7cba1f87bd8c775202fc4fdab1adaa37927053326029f5ff0302047c435bb500683066023100eacaef01b1021ef9052b469bc264ce7cadc335920d00e7ff23b8c720d97cd691ec7bb90f8018c06d877c647a0967d8f6023100c70cd9ac957518b0a7c8cf900d825b177c59e3520605e3fcdf1ac05a0bc0d7d3feb9dcce3d4fca5c6534c9f7f01aa6010302047c435bb5006630640230748d34ea2a412625f6073165abb001beeeeb0a10e04b91a18bcbf82c903fcbe5784de26beb839af4d4d7d56f52fa829c02307d54c2c9eb2b5239d99d418c63f6039a444b29b17b5fc63248fe2fb98f44c244ff407efbed63e54138ab919cc95371430302047c435bb5006830660231008a1454d7032c5d4ed76a0f907c01963f75c0627e599d6cabf288964920e98d598f4a8e0eaf0d22c093edefc4ab140d8a023100de128b0a5001c9649d7c3768ae75a92af58cfbbc904633ab7cba1f87bd8c775202fc4fdab1adaa37927053326029f5ff0302047c435bb5006830660231008186484a23aa76a9a18f1b90c62afec30d8ab8e6535f7c52342eb7f6869f5fc1cbd67527ad28f0f1eb46a3290cf2d7b70231009ae7298e8b2c57486b8aff4b6b29a6be43218c1461174d82ffefc3d5375d1f01e17ab12631f284db3d66c834648d317b0302047c435bb500663064023074ca0a0af6fec6d72091f3c23ecdbc3d4a780d40159f37f2e319601f540f4a1b8989cca947223dbd0532652a7faa0de00230585b8975e38335552b75dc2c4dd07e38f918115485661854c06fbbaa7af35316537e49b17b913322d03c7aa6dbb3ae1d0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500683066023100afc822e8098e7b1a9c969e280b96d73901764afc849612120b0d12b0173432ced552bf539293265ce2146808441a99c3023100d203455429c33c63c69c6f2aa4d9553c5e97a18f1dc6694f7195e61766bf0d5f5dad5deade898f051cffca3e43318eb20302047c435bb5006730650230152bafb6a63d8a1d1271324511eb7e19ecf5c1c72fbfc6b2e26c011697565780881c5724b62d086ee922fe39ffb404d3023100c87517a21ee4971e3f81df2ad4297e4bb83f53d055e99c8cd24da91f67fc7423be36d7142b1a1efddf722e63af4fa5780302047c435bb5006730650230513cfb59048468cee14fa77c5eabca9bcaf8d3421f57067749912b46fd4d2b98fec4f4a4bd189d95d4febd696ce13707023100e259b3fd63d488728dd62ac682dbfd92a4477dceff387492287bea480da5164c0fde452f4528a1a5b65a9d217816a4d70302047c435bb5006730650231009643aaa54b670676915912cd9cfd1255e4bf8fcbe1f7b7377eb7be967a830544a56d435fa88ffeabc2825d1cffda175602302e7f1d8a9709088a13342033808ec95221dd37de5d169a3cd62b17f01d8916ceed48a6a59baa6c6731af456afdb578400302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006730650231008a5aa73beb03ddf55accb97a093ceae6b447e6c60fea81b6a6b22e3b83cd35eab466d5db28ed8d3b43a6a5ad4875b120023057951a5e96de17f6206f186e789658e1d506c9cf512dbfc2f64e37d87a9a0b8cfc8e7334b8d90ceafb15267ac5b872590302047c435bb500683066023100cb30b0d5429f3680084e94ac2cefee03e6ec260690e326e041ddd19d8af9d34cffce5ff91ee28bf6dc73c648a631f926023100e500d3a644f896f28b13212c388e7939fb26d9f7862d61243a71f70995696221ac261532a2a451a59d3d1c47393693130302047c435bb500673065023075791246977ab6853078f38195c88746447eb61deb8d4cb1418e79cb2e8974ea93b5c3399fbef39d02196dc0a22bc31c023100aabbd16d471a9fbb622dc50df4ae90bd5b586921127d6dd1c1b9f4a689bb710e7a44db6fc25403e7743782c14c049c7b0302047c435bb50067306502305958a2fb2b1d451ce06128aa531f9c0f99d5d49d401340429f6b051bfcd860fe4546a0a37f1536d33b25aa750ad83ace023100c87f191e6ff27b2813c91fd664b319400ae08677db8f54ba9b1c18157ddcf5fd8b76dff3f169a1153eaf1a7e555bc4510302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023100ed65e2cf773fdabe26c91aea965f5c833c1636d06c2086b261b3b0cbd7701585d3ad8e4b0623c5fa61eb0bb845b591340230634c51f2f22a247fb0fc997ea2d834262bf98c0a2a7244eae4f670b38590dd4845e1d478974229599a475f59909b489e0302047c435bb500673065023056dc46ce0b774c2c454a674a90586206be41eaaa29f4ca4dd9bc2a63696edaa8d2517d67c849848a116153a8ad1e5854023100e307e1615f85a0e68277cb7acd15f9e3111fc0277f16ec2cc7ad1756aa9b722675c79a53d50ec0c8aea899ada048fa560302047c435bb500663064023003e7b2e3622e02e08efde5a23fa7c17e8cda8ba3c2cd9ea0fc70d278354b28844dc469a68a7a4c2cb36a5a4c42c31f5e0230197d397cedf11bf6904409675eb7b8c8339fc39e12f12826d7d6c3768fab1b3b29313cca62d9c66409529ef3790710b50302047c435bb500683066023100f4e20f9739e568ed306829e64485a7f6e37d627db12bbcf958fa370b50e03b91ae4e0f7067195415c7b4d0ce0f9a9dfc0231009c623c74953cec03349ae3cc83614c351ccdc57198784c3cc80723e47514a67a5c80ca0e7e6747afd7583c2f0e73f2fc0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50066306402303c7ea3f7515a293f93b31eb5650f176e1ebd91faf28fc369be92f298067d4d37519a3f44e78408886c29984bd9c0291602304d10975cdae095c6b7257b53093b9862be392f576f0e43a210428365362daa9f391a74fc6facfd139d11c32ba53d4c990302047c435bb500663064023020cf1700ed0f9b104027227c9e256bcbcfbb70229b34954ff9392b937d685dfedb946fd7414e59579dc95d79f079e81702307e8fee720ee3fcdde5743d1dd417ebc048e787cd9dc48518ca4063114ea23eb060f3c732bfe0b53645dfc2e0b6b0f7660302047c435bb500673065023100f2ef2bd688c5f074af2e5407de0e415eb442522316ed4b45f6b9c118158c35abcebff644fa90465deaca76b002ff91b902304445740637969f5da23b16814333e950b0f06f4f8cb4c438ac28a49b7cedaf92bfd443173533a9cdd4298bf2c45e3b2d0302047c435bb500683066023100f9d5bf775f71e2cafb8e7f3cfbc7f510a6a10453c96397559fb0addd3971866501007f387a0f845fa247201a003fb86a023100a92e70e4664da47b5086d42accc39526adf6cdcdcaa778a8d697c32ea2df4ec3562e8c1da6cf7b9d4245514accb487420302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500683066023100a36cf010bb3a0c176c3e44e20fbb56e392eb87545f98d09b21ba89ac20fbf29803169ccc39bb081f3d28ca92da4a83c1023100a342d3fdd226acba0a5973c495dabce99a763a08d1d8048ba520024db379d11fa2da8cd351ab932ffedf70ccc554513a0302047c435bb500683066023100f0954b0db8102bb8bc386309ce21caa4c69204040a143ef20829cdce4b01fa988abf51d59d868f59b024ebd30e76972f023100ff177bbf61817069c95fcd1b3778b8dae39444f0973a0a37b916e65052c2242f00a115d7ad547228dc27fca22a2a69eb0302047c435bb5006630640230234dd3e28aa23c98184cd70978bcd1f5fa16676a4cdc5ea31e2bd5965462af8a258119aad2127b7c3ed3335fb8fa64b6023035603567fcde168fc96e8948c5cd32d009beb4c919aa06b4c7e87ce231d303a62bbd0f411796425f03f77bfef6e21d590302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50066306402305b96159e53113285da23813a5fead2bc265aa33befc95b03f93245b1b003afe4c38b0a6d58bef3aebd899cb8b5080b200230069adbd1f9d6fa1af7136fe6dda58b689693c8d2d101b03f386bea3193bcc7e4d633e0cac37c1d7e6472e040e50b96f90302047c435bb500673065023100b06ecf3755ab4bc8060d5011ca69cb6b1123be9728b0cfc3c50555356567b658882703c4b3ed5bbffad6eb0c7cb43603023002e16d216922efd9af6b49b0adc25e1b8a537e387ca8c96a8492a72604d7e0a0fcd75e898bc721e2bc3ea406ec32e2820302047c435bb500683066023100e6826ef170eb01e7687a2f19af73c84801625ee9a49dbd6bef92672689b8f54bb5c3302292d32bc7d9311697c8f33341023100dad986acba7addd76d4bf962689bcd774b13d49d93d6d3acc2ab16f4e23a288d17be7d721d6b600489b6a76ba2a683ef0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500683066023100c575020eb0d2fb9dd341a190d2acbb3415dcda6a36eec10bf54bb1be86de0584dcf000ed913189d46b33f495e7df16dc023100f5b7216a0c8204e0e025860f2c5f1176defcf3c27de87902668ffff8fa26a6c69d88c6ab9e98b0a07a97f0ad68bf46d60302047c435bb5006630640230148c933c7ea3b8a8b2df7ada1cb85266c596a08859a67b320385fcf33ff743632b37a84250f63e307fff7fd4e87de8ea02307abfdba601d52cc5c53378a8f966c0ee05be466e8261663297557be7716f68946f747b60a58ee5dfa82135cd7bfb7f6e0302047c435bb5006730650230234a0a4ebe235b6bef474d30b00229072b8aceef42cfae03d45c9c3505ae06f4c00b3d9defeb57789cc212f5396a1fbc023100c42ca3f9610137ebd4a99723b70774d3f47ccd5910909d8aac8ab33762673cbe6f927054c7521305923f15c55f4314fa0302047c435bb50067306502300b64860e10ef5796739aff0f689a35c954a1fa2b728949ab02e4f9e17a9828e539a5832e4df26fbb778c44995cc5425202310098a22a78eddb1617889331b29b0675bbc0787ec76b4f08d05b1fe4444fab750dfd69f37895302181b143bd1c912e42ea0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006730650230523319d5857e50cef8a0f7ac4607ca2d5a844f52d52347874bc8dbf65b8a05f4f0a84e8cf104ad268a62df7e44f61a54023100ca61fcf325e82a39b1540f65b2319a854624dbdc3e17990427ca70bafc90b7a2afeed70368e243090c6eae132e69f81b0302047c435bb50066306402303ea7f3493409b1e7f6831216d252443b884ba218fa9a420af5e59c36a40e3397e451734c21936016482362744e0611f30230274955c9ca81679860bd32647b4a424e124172b6ad62665d9297d58bc69eaf3ac452984d7c3eb0094a7614ed1966cc6e0302047c435bb50067306502306dc4007d70bec084198392b7a245619df52494d3cccad122e48f89f9603b047944f8af9786a4c517ae63c600ce039e63023100f76fd7618979cc6e875da7c0a234c81e43d5fd92ea19290b194f627f58dcf1e7e266377af301dea76e682f7a7f1858040302047c435bb500683066023100947dde00d2c350a400e08a7e85494538c6ab025a5bacf68c9531100c477f0a2ec9998db774a58eab1ae44ec3043071b90231009b9cd845722b8571ba2e819d39476ec9eb9e50e9570c0f4c5441d069ed860c9e12c1ed95763690eebcc78d4ec9d0c92e0302047c435bb500683066023100acf8961cfac236a5745165ef2019289ed9cde54c71e08441f38ebbeee6387f0df2aad22ce2613e163886bb1d7ac85d9a023100ef081cdf90f1948dca3daccf03703d883e46862b9c2146f8cb65aa0d4d410268cbbe71c6c0bff10d0d7067c7bf80d24f0302047c435bb50066306402305e6f801469e249983a7dcbf66a1fa98fcc783dad5fbb0e1d003c0b402d1562dcbf3918211e24b617bf76fb50704b938502307aa3bbf4458a66fbb42d81d71c8570dd6d11357045eb5a41a9694b75805b39a7eb67fe5ecf38bfe390b490f38999d0c80302047c435bb500663064023047ebce17385ddb18f654f9f58fbfa56e3706ab9951e1fce91671f191f1391b02918fa355c18e951cfe89d331978b3b8a023066e46e73d4eb0b53b9baafa659d94ea8d410e2a23850963b05ea6c5076763ed3d198b8508dedb6c788b7500d30166a350302047c435bb500673065023100d1ae12bad76a38f21241a8d9518c57ca3829af1921856cafc04c3d76ba6d6285e2457a64adb55371a376c46532c88d5a02305dd82dd33591dbebecf0c967828372607b088a80d3648ce1622cfe8d7570700bd330fcfb9361b8d9deb4ee29f65ceba20302047c435bb5006730650231008e940ebacaaa93cdcfc2add70717f2560d2adf6735f26f051bc0e47571a6e1b409d6adeb21d371d5597917fa28546b800230026dd6ab339ecacd6797e051eeb5c7652eaaafe38d22d2f4fe63353d888f4a82c23a636abf12497d2aba7f0d249579dc0302047c435bb500673065023031e295582cdb847a7311ebbfaf20cb6a164f7ab2ca09509ac10e439c60c20140f30f8a86b4d1b434cf524add1d5c12af023100e9b0cfe0eaf26f932e108f38c4405c6b92518f88ea9f9e440b398e2f3334b568afcbf402ca09693cb0a68d53b70bdca80302047c435bb500683066023100c9ecfe324cec45dee360951c0d15436e0e2fd9487676bfb47cdaacca7c95e35b36c8df78c372f6ecfecac4f81239d1540231008834491e9d0bf4c18350c4ddaf8a1d9c18c4cb9e93762803983c832e1ce9d1d0eea97b6bb26d5e0bc4bc69659afb8fa10302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023100fc2b9391c56e2fd3d90178259ca57df0fbe095b53146d7997ece296753d9c3f3cf99d81c2bf993d91bcf9c78c0e64888023004056ffb3cecbdaa26ef76f29fab7be5034b12e422f4effbd22d79c00ce5d260ec46ad35b11d2ab12ca1db0aeb8e984a0302047c435bb50066306402300228cbfd22b42dc1490c10bf36dc43fa41c6f90b415c08eadbb8a04174ae881193325fdb3e831b8b827171078258f697023054e0d408fff826aef0028deda411058427e666b93313a924af2c2d07648bd37329b50f72297d15d1420d6d66d03a602e0302047c435bb500683066023100a6e0ed0234814b7f43171affea804f4411b4934936eed2d2c3e0f14a4e5c86fa3bef58a831028dd262ac79031139285d023100c462071ece013dbe33b533b3f173233eca276fea1e6c4cb9c27253f6782488363c7b8415fe48044bcf8860ed8ef624ce0302047c435bb5006630640230210f52ec31700199172e57cdda1d42032e80550ca7d58aa396b7e80a8300f46b6af316d9e5fa255c29c85bf2321fe8ae02300a5a65605ae8e78baedabba99d2ef2f0558b4a199b3d1de55edd7832dd91d57f6c0ff1eaaa7f55721fd2768dbaaeea7b0302047c435bb500683066023100c6dc036d2547dd84c02cee5a2602b6b7218b3382bd0498430314cac330d9f54dec47d20c6c4669473db530fbea40fcb6023100fe63f5b7660368b545ce68b05c6d77814a898ca4472e5ea01aabed4b1bc36be0fc9e239b220b5e2cd879b0459afce9440302047c435bb50067306502306d7b810f2b637ec50605da495ea63f39685c46f267ac377b848666c10b362666fb01e14786210089178088439f0e9df402310083d93ae37b3ed70aaadd80360e9807c8f94007615a2819d659ffb3c6e0cdeaabbabbd75ba3afa83f90670af75b2c31050302047c435bb50067306502305b3d04ab66c0718e750427d8902f0cc6997db8c65018f922a4ce89ae9237f9782f4dd668532730c801d9b0be72cd7f01023100ac7795c730100e47ce61b574442b570c8ec507eb3d626e075eb323d5f6245a829cf3533c2fbbf8d532067e875e1c439d0302047c435bb500683066023100cefc9bc3d3b30ef0ba8a91f8785405bbea316609d6b56ab94d4fd2205ab7a9dd436a0969320281fe03fb7c9fa8452d75023100fdfe6846ed09a725ad4a8db6ec4b4ffb0cd1d9832aa0173d4fdf9c380646609ba0891944b726a5061011160b4d4bcfdc0302047c435bb500683066023100f945ce10f86bc3a5cc29b09f61a3ddfff5ea6ccafa5db3dc26919edfa093e160278cc2e0afbfcb85e6412278d38c43e9023100c4288d5030b65f6955a40278465d45adc5005ce562118e51435ab083356331a964fd1c1ffb2f2215ea6eab5acc2ce9520302047c435bb50067306502304d47912c4a767d7a6cac1ccbdd3debf25af6dd2e0c0e983e34c6d2ffe58e85e85d3cc098f72c379a7068464c0e3bd672023100922208280018ee3655ed8134912918c6a2250233be039efca4d7c620cce08e6a1349a1e5b3303a9926926060c64940570302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023100cbdca709ae3e0ae364ba262e63e4dda4ec5ed33a22319c81dc18ae6c0a242a69fc7a9a202dc72b62dd6d71aefd8c42cc02303278251cf343eef07d8734a68b7c3dc326b46ef065de2970bc34bb2ddbe867624ed307891563795507f500634989bc120302047c435bb500683066023100cef978e15b46b3f4335a4a7d3a870d261fce8aa02abe4ff83859e4b95182a783ac6d4f86ce453276a5317642f17652f402310095f26de3143eb44bbaa60a0b4ecdd216f0ea31a22fba5e59dc7189becfcf145ddc1c76b01cc29015b7e0031b6602d4b30302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500673065023100d63fe4d7c6fe2e78d7b88768c629cc2faa5ab9ac00365f314356ab7b7a135b83df31e87cf8d594d86c7d547b44a4997702301a0b9facd08f8d0a14bd1a01cc8e9f669bc98a205f2e405a248bd07482e93ce017a2ee05cc55e5fea7f1d1586030263f0302047c435bb500673065023100aea7444dc477d6c3e40fc7f1ad61a330b6f796d6fdbc7a4abeb60bf4e0bbde85f9d7545cb36dede406f7a8d198d8a76902303d17b2dfe658f1ff0edc41590d07a5d2cfea5966567e707a712ba81deef620ef35e9a2a4c6c728f828f4a12494bdf2590302047c435bb500673065023100f340125aeede78a845f2ae5f7e838f7a75324159676ff3b95bdde1d8a0b550203bc3f1d18ad2530b83fb789a9def03c8023044b6ce76134f2e1f9d91bd1014174334a59cdcaab7f94300b06e8e217cdd5e2ae4d0eb4c27c43a53471a3a98254f42ef0302047c435bb50067306502307e41652036e506038cee7596aa944f1c1b2e4dff0257e06cd26448f747c236abe544f1788ddb6ee2c7fa4c94cc722563023100c4ea94ba6c5ecac4859d3031d084e809b97ba3b36a9dddd1e4166fd34bc14ea47691adafcc8d1bdf39d0d6a6ab4ee93a0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb50066306402303ee15d97e6b30d27cdb3070d2179cc44cc256f698b06b2f8c577a7cf35019204dab88de8b1a71e39b5250db6ab97cbe0023051e804f062d20131c5e070d67b6f3bc6139f8338fd472569bc0a424576125b3a2bc37667d8ab3039c72d8f0256c9b4490302047c435bb500683066023100c73631cbb981043a4b14dc9c79c72c7a04598fbb0b5caa16bcfddd8853475420c0a01859f1a9712fba0a58c0a902cd4202310097c5e93c64a118c8bb24e76bdb78858bfd7781dce443bb0408d22a8f72a80e667f6c2541f05451c48c392ee1143a32780302047c435bb500683066023100c54de02b0bf43a7ad32a72ee12200aaca67ffbb5a1d89988180900da31a8ef927946c34640d03ede751cdb419eb55b1102310088282cd6491862c75ed731481c4760c92054d899691383238c1e29c9fe8319c81540f6ec29da23b6e58664a2e32f9a620302047c435bb500663064023067cbf409e1042b0fe40b525b4e67fb6c0fdb396b248f8609117ae7f810521d0118860a1b5d65b6f38dcb4726c104643a02303c6d0543072d992c2b5a0f8d32b514bc5808dff762347bf77f14436e265c0be6234cfe3f78acabfb8f64a083285f49b20302047c435bb500673065023100cf302ba5914d5ceb52e854549b57ec5602f4f7db5e05c05b0feff237188a5d694fd08a9e86b7ef7092610c8236e1b18402304d3643bb1364030fd1f00a6d1f277d8652cf7eb78ed245fb9c5b4f52c661d27fa60fc1beefedd8c98e9130efb84d2e440302047c435bb500673065023100d4bec31334c2aea7f144c99982820ae2868252292cb632bea043e04a29d24f1353a377e270f6b0eeb3920650a3e3c9ae023075a3ec89a667c48541d3e959cde1d06ce7e945e39d3137f97f35af3a50d0b716215a318f47efce8ce2aaf84c76c299f90302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb500683066023100f797dc9f7cac478610f02818ad047023c44875a3ce7fc6863b99850312f1ef70886ef534c451a48b02361eca102b849c023100c2914ed55340b9d057ac45b1e23c27a06915c1a551a51febe7cc75b7de91005804efa06e0af74bd3e81d5aa1574d311f0302047c435bb500683066023100b5cecc9bdb45a302bfc9d148a551c2b764c346fdc6662fcb00f2428d5c7bb39944cb41e37af6ae2d53b64ae8cffaac7002310096653c521f7343d6914037bc9e44892082e218c311cf2c79d9efb92d98f361021acfc14424e706daaf881c1434e356430302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006730650231009228d32cc7fbd7afe812bcdca377709ee0f6113adf2284707c6f5d305f22005c8e64f8a35e126cfa4c84ada440e3eadf02301f2a281e5ea6ed8bfa5666e12d18d2380e7a488895e1720fd3a1ebcb5b5bece64ad76887dae4d68bed61b0b3003a3b3b0302047c435bb50067306502301b5a1a56d57c6f5bb41dc892d50fc2c3f1f221123b129bd9949122fcdaec829b46a7ea7797aeccf8eed6621ba4657516023100e7e5429baaad6bd4d698913617f8e061f3ebbb221b2efdc53a73d330315e40681143a2972848332249c9f4b9ff29368b0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023100c2b469975d59210f3224657c6a15de4ca13e8034b295032f85b6d877885da4fc41daa14f42d87e07ee91786936207b550230011194d0402ec8c25fdd53adc0d0808cdf3a75d13bbebb85e9d384867f17cfc01824ebf684df0c8ccc539ae5000233fb0302047c435bb500673065023049ffd13d800bb41324bd593423ad7e6c14241e326cbe8d55765288743e6b29d47c9c8446cf2f926444f969e0a22ec95b02310088bb2fa35e568527d9f4d083f7df18b65b11a3557b43b27d187aa76b2785efa51875eafc2665b1792d1d81a95a76e3de0302047c435bb50066306402301fc19da63d6d3b41dff080f3359bda8a3c975acd9f05476afaf04d85a2f8563a9fb83f92357f3c9eff0e0b23d0961f5302300d91f3035bae62a05260fea8987350a128c137bbbc224777fd31636211a493a6552e606abb93279e37dc10c9c6839b230302047c435bb50066306402302baa039e4ef5c7d085b895fb2f7774e248e0ead505b934af1550385e1b59323c07f23b7a03ebff5242a2974e7c42c32e02307a53108a8a86089e21d53d5f408567435d930211a000e18d0e899380bf0942fb73836ae819771e8c1d2427721c7dc8690302047c435bb500683066023100d955584785ee9e72fbebb34ac08a86228c7ff217d3710b4f454d9aea0893f271eceb419ac3eabb8a2950cd834151471a023100e48130fd1e03581c2e90d358981d929db7b1eb205776892b697aadca322d6ff074176c8a52015f3a608d7133f809b53e0302047c435bb50066306402303cbee58bfad2456b608e5379048d8c5070811977b025a683baa9098506adfd99199cb5581ef2af565201211605fe7b54023078e91da70670cd93e9e44a904d8e26c214214026450aa663d3c9df7c031c81879ed68fc95976d79e254d4f77937a88310302047c435bb500683066023100da31766631090e0fcb4b64f0925c845ef3696a7c2fe062f45138ab18f11464534433dd3d6a2b47614e1dbec4ba9fd6ae023100e8ca4741f5250d9f80c20a9ebb62e00a33cdd731df739eeb66149ce4292770d3eb7f0792dd8396c5d6f8d4ee735892160302047c435bb50066306402305e36b9d298275129e6e04067d8a3d3a78353aa56d290f4a7ea515121691cceeffa347bd5b6884c73e96dce6f41eb7521023073606a8f52e5e850d98df3bcc647096d5d3e65eeaeef026ed8d086b5d2d550e1d7a45fd1f0fc8ec0ad2a19d049fa16d50302047c435bb500683066023100e78d4167dd88ce8656db270fdd75fc6c45d260808192ae6c9907fc0651547d7d0fe600b0aa2add019479d7ed49fc1d33023100a73be195c93c2c9e0866b8af3475f0e0273a32891f2f796d5dbc5f99e68b9897e4927b4eaa7c1a1406bfb0494ef202cd0302047c435bb5006830660231008e95dbdbf3fff01c01527c419bf59d4af279876d218e915022ed9604ba7669cc62808ed87f77ef1af265b214d6de1cf7023100abe62b77ae0eef56582394ef313fdbaf174be73a1008d1b98d89a28a869b0a1bfe378933ef3b54ebd4615a9527a1c06e0302047c435bb5006830660231009ae377115bef1301374a6584bee63234ca9a32115816069fe0daa6f67e7e72a8d7f5a97b6bb0763361bcc11a0d90b1a2023100e7a2444e6d33940994f417986290ed0037203ad9587cf50860795c319b161fac8f621ce2697561d4e118f171fde3099b0302047c435bb500673065023013ac98d704638995fa9de18421ba7c0ed58e682bf17edecb3f69ed5d79f8ca76e72ddaf24d33952ca77bd2e125e63372023100f3a40432bef2dbd6172b16d7c5a1b25677b88039b1be8b06e2f354b1aa556d125ad70d3fb854cc4e51d76cc74acf04cf0302047c435bb50067306502304bc5fb2c54471ee17ee32e257a608fa938efad486d3b86c4d365bc188b1a324cd4816b8d520b82c80b92315e0f7b07530231008acb06eecc6a47675cd7f70ee9fa55babd9e17168dfcdac40945970cc667f30eca89a96a800cb5c7580eb6f636cb57f60302047c435bb5006730650231009dd9eb36dd1a98364d832be2ca5b8d3fa9ffcdd1338058149e29fcd2caf57eb53b5fbbb7d736977b47d80fe17bb146ad02300bbffe0dfdbf9636a9d81469cb2d9e469e5349d8b353346d485f8457042f4dceb30397b3287737846cdd59a8d0cbdba50302047c435bb50067306502306630271ffc0ab5011b8e90319a2d3d22470453eb279b2f53f009891e112a14b119023c2e70001e5efab3a97033eec0150231008a55c24b67fd064ca9d01a312113a675421972f13a384b4ad0bad0c4dd526cd62fc1eede13cb2e4668e3446ae667008f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023100bb081ef48e573396f68c2f21704bbfb6290e4071fc70c6f3b803a7c727d2f3e793db732ffa5951c834d0b2cb80f6aa73023054beb4cebc0826617a4182fd94900072963b4bbbf605d1598339fde7f2bb6a06877c6a17cae58b18d716cfb51dffd6c90302047c435bb500683066023100d1965d547c1c325f0ce8235b5022d98ae2d2ae98f539a84da8ce778974d7503fcc6ea5cd8d08202736e6d9bcbb6fbb54023100a53ad9cf533729914d2976cc20dd7f431f34c625e1c22708e5c10617df2f4d749cb86ad42b3d07a3882e34b818343a540302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023100d6f0702ce715acfeed80c35adc41ccd8ebb2d5da2146f70003f224613a82da06f2986f60f08a2734af4f85cda9d44d7b02301d17a94046e6ba57c88a7e5f535d86b445f06617117cfe35553feb34d5779cd3f25ab89f12a249572b2979146dc963d90302047c435bb500673065023027382fe1ef392e9897f9568d59a42f0b200347f1d50d83883eae4314c971a9547a02a153e2cb317d7e9d96818f5bc906023100a51e0b3c7578125b1768710f9e3acc222e1b220b808452d8ba9bc61ce516bded1d5cd2cfcf42c96b9c3fb7324e38af410302047c435bb5006730650230332a1a6215b2341cde322c25af318324aa8333f10e46ab7bd26da7cef79e02a7ba66000f2a896b5e1161a8e6be5de594023100829ca174c68d14bb8804ebfa2edefcb4bbb6ae7e9804aa363a3e3112998fb60b206b9a992bec266c5948997178ca42850302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb50066306402304da789c2ef85ddf452e70b6f944d9efc008a830195989a89eb1a4cde925ee8ddfa76d15c97c1351300de7670c79a6e0b0230543da27c7416c7ba387f802c4e03577084c770c2f22f7047e0fe961317cc8aa1cbcf76ad509613ee5ccb7dd3aac103a00302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006730650230288b59d2093d8577748bdfffedc25c4082d8dd95d4a7780ee0223bb4e33aabae334307e897b2fd29aec5512a26678612023100d0db31af5773480d1ff576d9d287ba88265eac540a4d53fff9e812ed0c18fd248f3e4f7eb9fa079fdb71755e5508eb760302047c435bb50066306402306a8565dbe1246f29a9c002116782677092d8cbabe66c0fd59433e006ea0ba1d068ecfdbbf0d96dbc451f2d40196a0f1d0230770be01cf3d69b762a200f5f57a3f14abae585b012c6d8c5b8ec3deb16e6028e7168c3176fc4cc5976b3c12ab837387a0302047c435bb500663064023028100784f88047a023c13d3f30f4b2e415ae725880abc3aca48ef210cb42ea437c22bd301dc1981e8cefb994e49e785502303bb7b83835f422e44c82dc52e75ca8f926564a3f4c1f3a67bd21adea240c3e6e71505e524ee6ffa7b1843a2de55006b40302047c435bb500673065023057d136d0cb6b2f19b66eae2cc6954fa519482b0ec2da09c21147175fd0753154a951a7cb68a522a42bc9e000a74efbac023100e83c53e70e9a773cd21d422a39c3e097a4c31d84f226b2af28c75fb1089855e1e42d7a94723fbd888b6b0aaae2ca0c360302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb5006830660231008428ce3b0ee2e7e409c8d894ebb893a3589feeb9e60d2129d80049e6bd03aea9c5a843c2f9eaa620d0ce450c9d1c4f1a0231009a7e0c9e77c2df924417b827453290bf3736340c5d552126ba341b196c7d3539afa918fc50eb1fccc077ed641071ab8f0302047c435bb50067306502305c374721a490554e2647802ec50a213f036ca86ef5d9ca874b4c53220f1e8c5a36d91d00ffda9c6f165fce5efd509c20023100b16c4078e8798279dfe84e3269da1840f9449a09c6912084d988f420a04927e0efec81df21af6b7098e05da49deba1b80302047c435bb500663064023022016068a2a75cacc6f1f40994071e8d3022bbe2830593f69e754a02c5dab19989d9e44c956c26510dddccb67187d5e702301e6cc01c1754e0bf460040bdb7c5d5d166a13e267b869a7f1a899dde45a3ed346572818135c0d7e981fd8f33a238cc5e0302047c435bb500683066023100c0ccb878d1f71edff9d24437b3bce012429fc292548601f92c3ce785af23a5caed421206c829527ecc231b41661107d4023100e88c7ff96732fde9febf89c40bbdcfc9c2d8d7e32841cd0af602028ec6ed838a98559509f4c47f821162a96cfad0568d0302047c435bb5006730650231008e9154eeb988acf548da3f5c5a0293a5e6015787c0f914a96357ef326e3a5a2eba5c00227f45aca007303f2b13cdb54d0230157572e8bb2cd598c3f715ecd1c06f64d3182af03e939f7277f81acd0102bb0f72dc4fa4b49968579c101fb390f73f700302047c435bb500663064023068b926b8924d1e7069c025ed6ffbf6ca3941eab01ce9178ee8d46515f26c90213000ba970e278fc312956f3e5061646302302b93fcae20e2e1ec875d9723c08002bb369a52e75fd448a87f3210c5e00b126d7c192aba0fa2cff69a4ee2b24aa192540302047c435bb50066306402301d9e588959ce3e59eb50d1f9f1b2722f30a69029ce4f56547173bf91359eb9fdc3e93b731bf71c152f4795cc0afe65c5023036dc8fa50cf202135a72949c1f80796a577bd864d03a82ece2f92c6fe4dea306921d3c4f13d9275524d40b4a43767c190302047c435bb500663064023027c81f4fb472086ebfcaa143749ad11afbcd20ce2e82d63d43a240995664214b3bd10abad5aee991e5b0be3c58d80a98023033b1a6295cd09132bb5839f0927a27cb5be94c4d5053b94496e30424e04000aa26b461678212fd515cae7f319bd30f880302047c435bb500683066023100bf957ef76b3ce899394792969d26a3d37f0803eb41a28cd9b79d74c1992540c340a0d86c534bf0f910a4b4e0c669d06a023100fc6da2fe5a7249cd5b1b5a89583177a7dd9baa444e127eac8ea7cdac10436fda9130da77c5e3987ab44dd6b1bd53a9fa0302047c435bb50066306402302d0dfc919d20923c29f3515fdf7ebc274780f779ba06b382305836505ba7f6bb6105540241ea760c0f959352f3ccc97602306d4c691ccbee0b1babdef333820117d884c3a384a09fc62cd79821472f6e41448878987d9e779fd235e6193ff503e0230302047c435bb500673065023100e744399b14ac0ce74e0b26e102ba58e18a46527700afb28ead14ca89e788a98642d2844bdc4a2a54ab473b10b349b03b023040d73aec7829d45693734cda6cab50a47d722717a379bfdc4143a323eac64be71ec46c0a8d7cdcef84b1e7ab6fcad6ed0302047c435bb500663064023021b489405acd70e4992f9aeee5df4ffca58fb38888ffe47fdc41306e433a4e5323a715bad9a63bccf76809f0b3db249602307137df0eba9d484885ec297da45c87cc499403e33e152a5effacc9a191178a489eb4443b186f37519f3d8c82a982fd3c0302047c435bb500673065023100d9c504752dc96b9fae9ac0f0f12f3015cdcab1e60eb926a088bd2fe966c6407d63471c32f2a8949c58d86c81a891ff2f02300812a6e9950b955e44f29712fc37e1417b8ca864acca66a7daf072ffa58922ddc1d70b08d0017d4c0067d67f2e6a7ac70302047c435bb500673065023047583d314ef0c5991afbda1fc43c9efd18fa26547630a255a14fcb3842230eb471495b5ab87b7eb7fce4b0083cc15fe9023100cb52060514384d002616ce7f4b4784216df04bcdedbc2e633e599c17562e90f0a87d49694b95bba56e2c2ed9f55a2b160302047c435bb50067306502302d3afe03d4c73d159fe6cc346728f8718d1fcdefc98a1f5917cfe25d82f08a94298f06264c88df3141bdb5cf716078ec023100add470c12e3eb578ea7e82277b2adc55c3c3268e0727575ec5e1322d961f788c2a9062b4539cc0256b9afe6ea7f270fd0302047c435bb50067306502303b44a077ca5b3e3e4b4f2418c0d633ce2ddd90f39b6ac0dc13958fe3bbfd6b81941993741ebe8ee2e0cffeecc52236d7023100e09508f8501b20246d20f5f0f2c93e3337e9dd3fbde36423602d8138e6748485a6ca795c97c28132f0c4d86595b7518f0302047c435bb500673065023100e095f5a948b03553cbb42ec03e51c73818cc5bf858f6bbc4359b815a6d8ef30b96b06acb9f00e9fa2c8f84f67c6cb214023038fbfc3104044422ca922118fbf9af10867a4e58d4a58b60f3eab49f49a557da8f3f4dd8ec8e0f11054c645c93e4510e0302047c435bb5006630640230151c586a387dc52bce96691378b983f586198f2c52751148217908a708f72b6c25dd1adb6eca59aa57df8b5b30fc841302307ba6b8b0d1a2964b489e377f30210d63b8604c69f22367bacebb5c12d0d36a2925265f5ef2e49a75ea301275b51ebbbf0302047c435bb5006730650230623d01a91f021c53e9674ca9d83a16f5ee03e1d03e6bf1692bdeac86bca881de2abd07640db5a726bfead3529d46f608023100ac1de967fda50f4ca50e621011953ad2264156fcea0e45e6050cd9bc171a7b280d748316f6a2612d36fff0d8d3aa1e450302047c435bb500673065023100f25972b3ac6931fa5c39fe70329e8049b8c948ac0a5b25945d3e75df4b46cba3cd217c2438c53f1731af07272132a71e023073e110e8eccc5ba4becd6eff028a1b7b0825f6dade3284f0de0e185dabb3b5936bed07e6ebb2fb6e8cfb63d5e237c69c0302047c435bb50066306402304ae6ec2200a90ccbdac684064854357d5010391b082027a70a714ff4fa84bd922508de0a746a1bac77837acf20fcdd9702304244665e4d6ab7e7a25e7044614876ba5d2b30d36495d4a0fd215de5d474b9fb26e2a68dd81fc0a5da8de77ec77189da0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50067306502305552835d4b21075098294fb591fab2bf2e6217ad0b31392b12600a05892ff377eb983911f870f8d2cbfe2068fcd97e21023100c225eade789acd59bd699218a1181d02b3b356f368b69fddb6f32432b97d0a9a2e48890cfcb0e53e2cd8994d265a0f7e0302047c435bb50067306502305ebf73fad872dccd1f7d0dbfbb4d7748d95e900f734ded3873e17e6d1be5ea5e1d02a65a947a365a3bd3c7947357a4d102310091cbc4e86eb27a4e159a6e20c19b5388fe37139f7eb93148ae8a6cd79807a4053ebc806b1a8b452a56ac67bda71346bb0302047c435bb500673065023033d824244d131a02cdc1580dbef16bbe960c358b0eeeaf98473c4ca6991b98b40402da58d8e524b97dbfed6c0f1013200231008d553c6961d3d9aa09c1b7b497ed4968157a3fe47b29373655e33526359dd72758acb2427f52bd8625ee8196a4f2f99b0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023100835d77d287d3757efd77c4bc257870872480f2f1c5670313e4c63ec74ed5cc46d354774ea2b1e2ff07e09fdf2b1dfccb02302857e71ec53286b92afda72385c77357bbfd4a712eec01cb2efc30cca2399b2a773928d33162878b55bfac41624cd12a0302047c435bb50066306402300397d892fbdc5facbb9a75bf4f69282df3c89efbf66c143f085552557f551838d1d157e14158a872ecd3cf021c4ace1a0230348ee1f4fb91f602f7caf95684b789cd0ff9c5d822d8b1de0a8bac04c417a74f7179fe31f9fbf09de6011c6240a0e2ff0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023100d856af8abf94cae4eb03ee5642e4aae41911a958879c3d3fcf8265023492608a711829eccca4b84db00fbce9701a2b12023012993a2179cbd906381fbe9cdcf7fbaf8c11260d9c24da85dc1f28987bcb78cf4e6515378d0f9514834749bacb2bdfe90302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006630640230231ff6b47f2f9a7f3f4955f89d949723b9fc6d630a0f375d85be04eac97c0a44a5cb1b779c5298ac02cc4734ab218d750230264d866face36543000d30db1f7ad2e0de04605c4f124d3c51dcb0120d46d5fbd7728db272b85c72c486dbf81067f8090302047c435bb5006730650231008e90c7a2b79bd02d8bdc229e59b6d4241053c41bbc10fe688af38b9b3c4b0eefc65d83be5dad02fe9b3d6e9d7e9df1ed0230789c42b2b7be9ea8a97d67e2a31e66049efe6b959c75757739d484578c691e5e96f5d5f183512cd49ccf12b16a97e0510302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500683066023100a3d7fe838224e51aab8472413bbd40f6a9a1b0195631eed29f7d396593d8cf46e1ba97e0e2c82721051d5802be122cc20231009e75e085705c156ae0ceb298903752c895579b57d7b2a7d6d21991e89f0b389cb4fea5e7634660273952e024473f33980302047c435bb50067306502303c076f034a90c206bd051f5b1e9fe13008f05355be1acf8b289a7dfe1a827bb9fa0d9a2250695cda9b691b5655cf862c023100f8004de589d5ebea9e416aa270207644f817250795310a82d304b643bd1ed59b14c568b398215df89ce0582f09d3c1d70302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023100b0a985a2631b3048e26526e19997e3e028ad8abf1623c51d54c5e21b2856727f9884c2eb795c6f6258d389cd8db03bd502300e9ee3205de6b797f5f9aa4b687bb6e65915752a76a0fb62b2b91bf89801fcd8d0154e8d3f85eeb2efa006533c1eb25c0302047c435bb5006730650230794c3ffac1b94d274f793f0dca7c1cd280045bfc1416aa8e10c685b6d1dc1ca2473f9a4de9391d7470f44b317bc716a7023100d073acd1a39c32e053fcdd3cec50d74d314eedf6dd2a23cea2c9a8e5dfc46128436c388da80b531f40504c47018b997b0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006730650231009686357bd8dc979269c71d86ade7dfd26d7bd938e05539a5c521b266b26c7b5659401e32dc9877f22aeeb8ad295af60b02304f0678021af5d1447e42269f403f28f38f7a8d8065387eecb6b7598ca7aa3889007a483f6d777d94805513d40aeb75f80302047c435bb500683066023100fa520cc66c307bf10d08498e92017ca1518cfb924a7f466636431331d60fe796f90e58e88fd953382c653f2867c017ed023100d62051096942bb40b3c42639b34a86dbd086f95dabad5b4a92641e792852f5e53f5d92cf0c7bbe5cc6bc0fd46c00652e0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500683066023100d9d87864e53d74d80023cd4aafec2d58cdd7401375035304df26e8a6d0213c0f5a414b16ca6fa2134ac37ec75673402b023100de3abe4a4bee0b250569b43b331840a132f2b78f31eef228f75a885a0805bf2b5b198b076951a3527e58d21ca6990f620302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50067306502300770306f1f1c4205c30194e9477e2aa25d9f19ea5a7ee26002115ab6d9c4e7e9fdbc950ee748024e2383f32575572269023100da3546690e14ab48a09f07b5619c071de45540b61bb052acbe2ca4b7ab84652cb1a655d571cff1e1fa06d31a98deeef20302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500683066023100ebf47a5c04ae0939b5356c24c4ae830f6ad1d0845be826fffb84dc0589862467125fc472746fef0c0c88d6955e443d91023100e54c56a800d057c7a2d6d615933c7c1b6370efa6ba045e2878c84a5266fcdffb920dfb38793fc89389f41a954f2f22620302047c435bb50067306502305661043cc2c285d605f2cd42b910142cf87dcb21c09566bfb00df72773fb580fc64dbfbb25895d24fb84fd1fa908f3cf023100a8ef5162f98ba0281b0b7a269d8365f139be4b11ea277cc8fa81c5c8b537514b99751f0d07685f5fe888728167af646a0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50067306502305dceed2703f6b4af4aa0bdb863ae74817e012d93195c7582f1f456d098c52dea9bff4efe706e74a64def494ed699c0e0023100ff145e151f0a84d1c329f9298fdaf846f81fb8e5152eef5c817f9a2a468018f99c6300f28305094cb1d3cf656ca8966e0302047c435bb5006730650231008c5cf11fcaed0274d32e5d9a05b47cdb547d6843bd948ebe3145cd46c54d090c23122143de3d9744eae177336d4315cf023014673d65c7a3214e97fda473d1731590d3ba1fcf5e5944f6fbf512bc28fdc3c7c1b9c46448f3feaa85a71b2559d268a70302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006630640230079a0e452bb054d282825897aafd20c8074eba4adf177b10965890ce8a4d2acace19c03f154d21c73dec0cc406cac58a023029f8a546e4b397a1c106656bebbd9eebbf54ebef62ef52cb18cdc1b351444b4396e49c89f2df44e2afc044c30881dd100302047c435bb5006830660231008a59eb1a00105cd544bdc6d632db8bbaa4b086cdc2fa876c7f46b118e12c5e3c6e9aae00b71f88fa9f0972df58845ac8023100f9a099e5c25495474703252c6e24ff25a097f4722e1b71600b376548310d77559dc330816429398f66ce493c345a4d860302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500663064023008c40203dc4125248e88c2e68835ee226fd6479cffa8b6368d4ca2a8cca2eb4f27e0a206a29d4444fc4c1c36d111798602302e1974fceca7da7ebb1a910b4b71b24f9964697aef7de9846360d250180f53855f5f082317b38d657e331f630909e6c40302047c435bb500663064023029e26d15700693d2fa061d91e9c407b8552280e7586d75bb0d605a2f7925c0ab42a5b7d1122ebeca017f29fce7b839210230415fe6a77224d34fdfee0663cd7cc383f1eab2ef238e430420edc64f1534f2212d70a6c325db4d97ed9c03baecafd6a40302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023100f68b7c23aad494b9c00622cbfa04618d4da2aec1b824d7ba2e194c4d72af61bed38be3487424430353ead9f7538b3f760230499ced26419a0d1769a24e9cbf8121060e5d08ac58af3412c2f6a906c7e041f3de8192afec2dc2fbd7c26f22bdfc42230302047c435bb50066306402301223adf02e81723fd07c358b7bcd235d343f22e7c74cd673541407d50c18ad4a4b2f83eef54cc221333bd07f2b4e2f3d02300ff19c3f5947051b28b901d693f99ef12c6597d324e1bde61e72666f56f81cd0a2a79d7a39fab17334fc462ebc04f00b0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50067306502300ba3e2eb2de24d2f04a264cb3400b85ffcd3de50038d0dafeece55795326f968fca7f7814b501a57a665abe4d4931cf5023100b5cbcb09a1569e810db4cf805530413e2446520e4123a98cb2bafbd717c547974f835183298f306bd9de30672d9efdd60302047c435bb500663064023075e6b12c252a922a71476a66e7ae9eac72cb5b3c56063788c7bba039dbc07e80f9634edaa7c86d7ffe0cee01fcca88dc02306a07523f39950de73cd633e7bfcbc831bb2aba52b43aaf849d505c834c0f14026b818c5417ab013c8aaf5ab6540e512c0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50066306402304255cdb91abd9e0287a071720542093005f96db57b96f3126ed3c441586617180759c0b41ed72ff27afc496d49340ba402302b50bf9dc7111664dea5894e83bff00d66aff5960e0cfb08cc57e01918fbdcfe3b794cdb24b27f12561025efc8e9355c0302047c435bb500683066023100de547858fe08cf6369ef12beabed23107a1ab2130608298353fc546e8f09aabce2682b79a1c5088485e2729f84ec2029023100de3d1f28552a7a7ceab4525ba36ac5368dc1e0305f5cdd0140025cae971ec99dc6e727919d257a30e2a73cf37c54e7920302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500663064023070d41a13d5fa23a0ff4dde206c9030737b0021fb92a5474d3cb7f83a49fc82aee3dee13e379997c9e0761f089b0f4b9502300a28cdca2f5a5c21905c2cf3505f3943253bba74ce901140b479abd20dcf19fdbe45a560f4b05813e3870e70943ba4c50302047c435bb5006630640230674ef7b61b023809f9dd39bb840a873ca43c33ccb571487bc0d8af6a136b453717db21f85fe95be55990eafb1d0b022d02300b0af1a870bad11becec180ebb8ba520b9ded4c5cbfd721a861c91b46dcf199ccee9fc3c8cac88a33e376948f10126ed0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006630640230016afee436799e94566135e3048e62b808913b9900630b7b0e9eabd0ca4fe94728195858141bc6917faed2a95b33f2db02307a7bb77ef8e28e6a2970cfd76a6a662b5e66605bf1cdcba820233f0ce3a0314e5b0fb1ccffa42f83406b017fff0946390302047c435bb50066306402302bcbde70450a2808ee3802fd3f65082b94d21296ae76b81a71910b91cb01c358de6b15a0697a5a1f8917d50dfd53cb9302301561b5f75081629931ab3864d03c4d1cccf26691d9d0eacc0fe22ff4cb449951b4c68e41c1d54b06209130d072482aa90302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50066306402300888eef7f2d1d5edaabaf0cd240d54d79d2b197dd6d630071f5ac60cae36f00913e5cbb826e34f3d5fd165cb1b13af1c02302b34c1f03693e250efd85f8c8e2a6adb153cf80566b97acac6849468486bc621e48118e190545d7e60722896d25601bb0302047c435bb500683066023100aff25840ab692c704456c20e1b1d2d8e286b82b3e2793eacc47a5015a10c95d437d4daf19095b6659d7cf34227af82eb023100df35a51405761c30b88751bb7a5f8d49c5a55adebf589faefa03c18d436dc470969a6e966e25867ee1e05c4e6e23cc370302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50066306402302273d13c0582fba8c281c8696461b0d9b9a204f7501dc795fca8c037ae0529a4fdeab486668a4845e3aa73e0f51f26150230046e2b478ade09ddf9b10207755e275160fbf88e33a7c9080ee3a46ffd091c8dfe92c0f8529e7c272ab9ffc9222345290302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50066306402302f42fe13057edfd5b25a588428e8c1e6c14e030f37b4afefe4372b58a00fe4eda6a8e27c5a551aa6ee4f210d3c9a40a0023048ad7d6cd1f4bf0674a58436dc035b4256e6dd8b70c45e9d7bdfe0af919d14dcb130492dbe73f1bc7fb761cfea7711dc0302047c435bb500673065023100fd3bf32707123cd3979da17ed7b91df5917f11f7d38429facc468d6c8963196eabb186e1248c0bf6bb236036675a0d3802303d1b3a5af7803de682eb359b6d0695d06d38fd2027b246c24fe047e80a706278d538a17363723408aac1e33a3e71ef4d0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500683066023100ca19cbd9588926b76c3960b1227ae65cfcb910fe619c5f516cc51c102844540f89013d315443fafc9bfc9861c601d6c0023100a550da4b654eab195454573f77199674837924f618b4a550d86abf385a23e3d90e28333391dc6358bb3d9abac5f7fcc50302047c435bb5006730650231008cfda04297480988efafb141e37ebeedcf3d4d18ebfd8995b7cd8e8d8b60880b511973a586dbe3d5cbabb8a8ca5f809c023019538f3830eaa1acd6ad2abfb96388332b92ea9622d2139acf5029d75b414c7f41e4ad2cd95ead01401f65352563f63d0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023100862b7a625db15112c0cfdee81cbe71dd652d29d905903e84059939128040ff3776028e72721b833279015e28acd7bcc002307b155d1ac3beebef9d03ed330861fe777f6788e5edebd8338351ec1102fe051fa33c81496a4c2c66ee144037c09015a60302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50067306502305ae0a13d3e81978351036a6791faf6535368bd70dbbc636b1d5af7299223a81639f8d4a69e47405500cc0ac21d0fe3bb023100bb6432a2b5837a500b33d31c69a0c66a288d4cf1442b1ec329b6add7a88d757d7b9e4227e2b4ad69b45ad4cb424a6d2b0302047c435bb500683066023100eafe30706ee8f26407f7ce31a7f0d4bf20bd2eeb992c11068ec24c81f423beaca1230813281b67b0c664be4aafc3e4df023100e23b0e7bbc74d68f4bd5adfded50dc7552325f8410f629c8722a82fb003b9f746e9d50fd25b60764f7d48e8939f82dee0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50066306402301a43510d812a3686d4ae25a6f6f813f7349186091ef15c97a532d6744fd12c57d410a16833161c74cc00d86b9c01e5aa02301ab6d23f64bf7a272a94e91680f0500cd7cfde0530d548ac563003c3a3b730ed9b2f3bc85e146a320b4b7af3707b3bf20302047c435bb500683066023100c6ff7455f8f9bb79fdf31a4b291640408893fde4d0aa75ff4848db2e388b91e9c23d649db4bb6a67498c7332d180f7ed023100e5ddbda2f3fdb4e84a662ed077f9f639309301acf7355054b2ad65018ef4e001cbd3eeab06fb6729e9162b438430f4950302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006730650230119a84ba86e39e4dd37b5fb727cdac65acaaac4fd06e42cc28333c342c64db5306e6a66670eaf50c8fb883d753d7f964023100c4a9de731da18282e9a781f943aeb8fdfe6fee45f8401abf22f650d68f1ee22df0916ed8002298b58775583b0b4fc7a60302047c435bb50067306502310090075711cfec4b9098d5a103d55915e6f32010afdd1603622f528afc62fcea917f5630db4ae4113a7fce6b406926344902305b7e8d0a94aba20a6de330d1862d2a3c33afe0ee1d80ef92959135314030d6221b7e91f518543b7bf308cfcb453a1c520302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023072836f5055c1d42973e4778584fdb605fb2913edb45eb7d6119046f828c674df297dbb300017f5dad1010503245ca44d023100bc2bf501cd06255d954317f552ba7cffdb8065a2f9bda58638cf58b7dbc433d2fbb0c28db8baa7760552009eb3e626ed0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500683066023100b6553485fc98dc7e418d0b477d953995c4110a65263f3113b623f0bd968e372385728775aab2aa07e1077d11bb00a010023100d97e8fadd426ffc9acb7d406b7245455c2773bf2e69904a0f224ac90b286f9abdfea21b3ee10ed57a7285a9214dfccc10302047c435bb500673065023100f8bdfa5a138e93fbe8ac2f3b4658dc15cfd14f78b5785c128d2baf3316b9da0fd0738c467fb690037b5536b0248beb2a0230620a53c4476d1a4f83e49507b4f4484a92b19d192cb3389859a9b1dca65c02072aefc6ac8ac49bb7da31748354d559180302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023100e577b35bdb60e2acaeac25ec28a598ca41267459244b0b1e99c1c284133042252d22e9cb6f51e3707086704acd9ca7c0023012a411194f453bfbd39094b7f4fe81155a41f8501e9cdff1daf1adf0852c2215b57f0aa06220561524b7209180e334e50302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50066306402304777e826ea1c7d4bac4eddb7c34c51ac555d2fbc407c7df5635efefb10a392393a473eb6bd9bc853a6677842c78cfc76023072bbb9d830eb7c74458f297eba7a3943222ebee818fc02fb307c5f7f0c5380de4fafd74144e6845005347351d3b3a6270302047c435bb500683066023100976d8a4e840c6e59857f8e969d51ed652a07979a5fa0b5c551f4b075a05b556edcc4bb345bbb7bd41f3651e2b5413c0f02310089eef4f413e7732c7a8c1deee8c2aa21fb15ab6639b06912a7db79948a1ce83caf9ba8f0e6713a8367f445eab711877a0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50066306402302cf980f40c0da12ef302265438d1ac312160f441d5e534174d1e1d4c40477044e579e08eb0e35733529f0006d637b65e023023ef072f78577b5740229e4e3369f3d41670eaff54472cb7166da1c9ee6ef991a870e1c733c70380426a5ab079dd83f00302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023100c29f132b7e39455260c7caaaeb2de11ad5dc7b8fe72fd0f8a17f31f6de717acbc1ecb668e1fd1684efebe568dff4fbf102300e64a2a123319b3598888858946d367b270e9d0fdcbe8f4b2eb43a4ccc4a6d3db2cb02544eb2964122d6855d9b0d55150302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500683066023100ca61993b4c750abaad185f0c4eb0c4cfe3c6fe1d498111ef26f0f586cab541b5a671082ed68edd53065059c8fac2ccac023100e98ce0132ed5233e6aff36fd892621427c55786a164af1180dfdaedfc7e503a13437d8f18a1aa2a167bc627d8f982ca30302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50066306402301d5765c2d777c61316d9d58ccdafc758a7d8a9d7d78d3ac9f275ff36a61fe286c2aca909aff5324e0cb0f153524f3d4d02303454ba82f5b0a103d64ce923f96439991287c1f10208796f3d4d543118dc04dcedf343b0e809ee3c742de421bd6b079c0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023100b3363967ae1cc15f248bc46f37b2e11a9fdc7f983372691aea22e24cc0bcec655586b789997c7791e858b9407bceed7b02303a0d654acea1e101d426bafdfaee538082a84d6d20acc0483039f29fd900e2426f806d77760e7a8d7154c5274595e1600302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023100b5c406ac49c1f2cc6ff3548ac15a90f0c2e3a2667a3e2e2390c18304126316fda47f9ef07be5fd93eb4483c6b8b628f902306b5ca9e2f07fec2314b1609ad04e7bd0965a13d6aa5756610277ce7095cb09f66eb86dc8b6bc903285e8b71febe798810302047c435bb5006730650230795a570449eb8bf1a47e2b3e87e35a0f039282ee558a8dcaf1cc5b4c38af20c5917585afb14f106977b1732b4722bf2c02310088300692a8484847547bbd352499cf6bbe97b16197e9943347abf3c7d1d4965e474ae0047432d411e4bb6b47d14fe7750302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231009f57d0482f655a9e5748436c340fb85217d0f81361816fd543adc58a0f86c727f5fa184084100bb415914975f7b194c3023100ff35c33813a8b7facf7803d69d693f952876e36d8ae75c00f9f591c6fe35f1621f8489cbe9f0db74a6aa720282d9d35c0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006730650231009c7ebed60602c36f04de250877cd2be609d476228c7376ce8df14042f8b5f38e28335c84559af192e1f5e0d5c5958cfa0230235da9e7b0d9e6eedb4fe1f9380c11e5f1b6eb7c81863cf7a92555e00d2471f4f8dc14cf0fb7b7459dad350888455b900302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023100857f68d34b127d7b68ff9249c44c6447c1bab7a8ba1554bcdd6471d9db5869c0b4cf60f70c07dc4de370422889410caf0230169e117bf4b3e215124736fe1c60c9b9e620c096c6ead79654ad673ff8ab7568fa0ed302214727c651cc5a53aca52d860302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023079737879d97ea1db760c373071251fdb4a2d5083c63c4ac087cdf45480187db9b88c377220842ca8da2071c02a915e860231009b817bfd6d1c1d169a4bfa3f97c2e72a0d87de8bbe86da747aa35daf269bf4e5884174749417e2e3221a351a4387f5f70302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500683066023100e94065782ea948196f3e3e23076fd525d78eaf8e8ce37d81ec2ca0bc3e578fa2bbf4b360ed49cd2c61eabf17450418b4023100c87c4df8c6c937fa2a9ff887fb98883be4e0f352d809eaf4b063245dd261fd1130924180aaebc689021fedb1cae271660302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023100c30eb3ed0cc5b0efcfc6c313ed8dbc78a4651e676b0b7437244de083affa77d79288fe51272fc552d1822db1367cf7c90230470fa8a3eaaf963691ac3d79d4940ee8dfb42e0cd17bb459f675acbf7790cd10c6396df5c0d981785974b37377bf7cfe0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500683066023100a3aabf3c2e0bd39222d4f7c992b1c2b8bb12ae20d981dad8b8c35aec9a8dc6f8d6e9c2d61fe285760e62525132eacb53023100abc7fd37c8c6f143f03016aef4c2784b0bdf62c6e66a68cf99f2390527800e5252b9637cd0f12894566eb9f017f1eca00302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023100afc4cb6bc5f130e0589814b8700855adf7bd7dc001accaf670b814cd3fd382da206bc126a3a5b0e25737395566370ff1023025f441af8bc47caa68ef5e83d3c5d97c45704281afbe8d9746d8e3ea5ba7b7f70a2c48cccb6aacb9becccd589fcde83f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50067306502310083e4f40a5a470f43f9b85056764a473f9572714e5394e17a0e9642eb50a964a1d89ddf69f904edb216c2b755f335fb0b02303d6200416057fd90b6d9e5b67ca889d43bee57642228e3519692683a70fae43fc0770f7f24e0b5fe4e54b67924d56bb50302047c435bb500673065023027f15062eafffec45ddabf6b03d027df2e2ade1b9c0751d2507e3f18562ee73f33e687a06c9e8c15776111caea61213b023100ea0fce3a21827ebbd0bf1676c63ba4a41f46ee63223f185f90b4d5eab50189496a47cc297a73882120058f7aeb1112160302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50067306502310087ee654fdde8ac2ef4679a197075c095cb9dabd8acc64582e14111ac23452b1d57bd0b7730f4998efbbd63125038591f02306aff15d8b48a9f246240cda733270c7d79f84d72af98f8802824aae136c2caaffdf604e77fe6d6f427baf4e6eac90b6a0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50067306502303a5f04a7425fa15ddd7dfdf55c32fa1c418bba85b5d4589434b52d2cae5506340762c55b53aca3c57fafc2594f16d09f023100fb017cb1a482c6e43a03d1cc38ce11d9c38cd2dde9da8f48490539da955c392d2aaee5e7e8063f7deab8bbad82c628c00302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500683066023100bb3662ab15d3c9fcdd21fc447f42d4c436343e8cb661a6977d4d53393dff7a3179f7cf69a5274e75d01bf3edaebf5442023100dd40cb3413ee37c1a267836b549e9aee3b5634e5b6d9c377babf706e585337583331412cef2a3e5fdefa40c4cf5d76800302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50066306402300d1841c8468413cf31fb327c019b8bbc7ae65c4f4a23d0bb0c65aeb7fc7789d3398c630bae9e13f8143ed0b810d4d8f0023022fef0b43534a32e536ac2d94cef25ca32d33bf2b26a5d8de15501500b2c656be521534d78ad4c10377da4cf7b56a0730302047c435bb50068306602310097b47ac33a80c25d522f42c6e374949f4134af7f4c026ee3ed68996130ac342eb6d169cdabd8af5668e46c2071395f23023100db02f82a23447a8e9df3017f67f073f09985c5f54b4d73a84d4ed0cdb82bcb902d6de94dc840e7aaed03737c6aadab2e0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006730650231008bb445e48857e6f23cad1591e2c8dd912728b1b5b6295b0e71b02c67862b12316e069e67aac284c529d7f8c5eb8151ec023018de59b36419d93c4c8605fd5c464098aca39702e827a17e8bf1516b8730d9c5c962af65b8ee6be9897c7da29d65615c0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50067306502304dfb1bc887dbbbb1a1fbdf946a6dd1820d50b459caf038bb428ad90c7b3dda88ac540f3a9d95e2bb83cc0b03ca5b7913023100e266c0922e2ba53d7d1f1740ac84fdeac2409a720409cd6d7667c35fe0c167eab56f749e87e2d4141d41b50ddaaee0ab0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500683066023100bd76db784f1883a6bde233df17b3052e0c27676d8ccd5f783b2774ac7bc6413d1a04ea968f9bf3cb71b42518e3262df8023100b9e9c10f9c1663d55b257e32f69f2ba2a82fde036cc93aea1fddb9a719d5e95a38e732e82b2ca1785a1bc6f7d5999ec80302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006630640230344293befbdda029e6d2aa1e01abd8804b2f99d4254ea7cfa8b88faef00b3f547fea5eeed2a570a6f1637bb70b69955d0230116dbf70bd53fbcd211087617ec8b96dcf91529b12fa7f992ceba83175a2387f807d2364ac10f8533bf9b48da93bf2fd0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500683066023100cb73d01cb8c7191387a4f138abd5a5a7c0fe176060d2db46c80d48725f0e7f4a386c48c213d88e103d4b2a599691e40d023100cf8a72e506bf9c835c3a22bfc4028e23409ff14b01304b0a339a0b09588df149f510ff18674592e75e07f93ed71b20bc0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006630640230394483f7a3b628a12245add706f3ab16f9410b01e2ae2f132d36c85a0b9063e746965282b994570ed215454ef2ea00cf0230024042d2b39b740889fb3a448ecd7af8fc17734b9e1b24311e4775abad364ffbe8e7bf5931ada6438313507de224c0520302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006730650230438b86a159421e46899f954a03aa423a2910a3fbd2b25759821037b684bc8050c11c73374bf7378b594f97d3ff8b32c1023100afe2f81b73ed1964ad5d3404a734dfa52843d5767593b2154fc4aec9eddc08cf7f3315b90f98950905f57e93f9ba93030302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006730650231009fa81c2e6ba1bccd8f42188de813ff078c5e980c8a33f91f1714224e91768bdc0bd142205b6f8080d748dc57a8e8d1fd02304f88c55caea7a4b0723f56338ca60cc5ca42cf86888c2a43f3e009591555b1c5fa29dd43902238765d95fa234fe85f4c0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500683066023100e92fa41711ce099aedbab0064e14952c442321297a5c03caad6644d5a8110f9d8a023ee01e748e7b363c327fd4c27a3b0231009d81aca84d5b3de28daaf3510858b39ce00331b8333073b758e657b2da16c8d4a97e1ff7f73d0935c27eaf0a0ce213050302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500683066023100a8f28f4062ecff1071f747ca2519481ee0c354a7786c8ab1d1c7644e820ea3e8a662434d19187236a182dcacbe3c77bd023100a4a97f0a740e833183e9680eb5fbb31731f0078fee4f21641c9d5dd3b5eae0ba96ad16bba8dd993383e59d37ca865b550302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023100a452362c91871e0ae6a875a3a8c6a2f589cca69e729568845fc560e509dd09b6448a36c7b53fa5a969bcabde10a8896e0230684bf6388f65ca31437f539328c6126500f87d4e7785f1e15dc611444386c8df36380bce8de61bfcc10e74c5e6f98a940302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500683066023100d92043da19834a971741eb45ecf8b8c4f4daa77a2c1020c04c981fd9ca5e745cdb4682ef2e1648526d2901b1a5942345023100f1ac93601ae044d225e739f2f463863a1362833b6713f2712fadcd157223b9c0bb8da37100ffd952d3359cf3859a21600302047c435bb50067306502302aec4d39052956c4cd1929b6b1031b0c5c1637d1c8ce0d315460477dd7778039cb3248c8f05b69098d8e0a4a1cd15517023100c36aac355ae8f3fd1b8c351a6a1e8e7fc74c5804a2c27817a0d89e5b2519ebce70e936c97c8e296ac9718e3bb99b3b020302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50068306602310081bccf6f72c077d7e1adeb792b886519d01ad65f0007c9226b6e761a8de123971596edea49e2fabe489b0e8dc29c9243023100ec096d2caefe63de26febcbd1178609f4cf04877af744f92caf5eed716b908065e0c0e7e0b5b486839fea99f1f2e64090302047c435bb50067306502305f0d37e00036f0f33ca5ddcd93975e555b67a30d835ea746c3b51d62d2dde1c2815852d73cb548b1b1fb04475bd3f3670231009099be7f7f40dc63c3f7560b9b25191bd7f8a467e70d0318112f5b7648bc8226b0bb2a19093dfc896e84602bb1aee51a0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023100ecad0d9b2f415bf4c375e55938dde9af24475254aa9e88fa76524daca007aa1d4067d01636a6c184699f1f0ef81acafa023000ad690659726a45c60681b9179f5743ddc7785982f7a8ca1760c00c80e6f9d23338faffdfce3bedb6d13529fafb4b270302047c435bb5006830660231008f8f100cebbf799f2a01467d46b8af932f2956b88308123acc30629463c0c70587ee109a71c5651d4a0276279d07eea202310090a98e5ae31e03ab81556f329a7cfc4f55c6639a30b6c9354c9517f8e5cc5d10ec7c307f970cb6ca8d3f6c22af89c0750302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500683066023100bd103d4520dcc749bdb757d0e630c9d8f25b66cff7fd372e4e68660aa320ea87b316f8d8c51d3904ca6e26353f9a9ff1023100836c2de5acd3483f3813bd3f3106e4026deee90f735ad7d6e81a863f139a7e6c730703d24eef2577c0536467b5a5c0510302047c435bb5006730650231008f58410ebfa283a1ac24d8cc380ab589dcbf43547af9228867fd6e8d49b90b203a6223bdf932fe65877911ba4be8658f023077415acce4c02df56b044ddea23bfddc1808728ea5616ebb1c35dbcf6aad5d30ea7b2fac1e6668471d7e6a988b9a988e0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500663064023053ffd099d783f0bde0df6360ddeeb9fec5d53e975c5464789c6a4c2c64c43f67d5bcb642958c65565d45c4947ffc689202302dadc8584d79d279032473eb119dcc52d381df7bb4bbf82a9abe92f05765079f2bf9dffc597ebb415707d32b56f0bf880302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500683066023100ad7cfac4b0342ac7006a5c09dfd28ea91caf3d0bddf8480390616e60f992ad0884a30daacab7dee74053ab9d416dcaf8023100afaf77cb4b39c9fcfc8002a35edc9c93104ef1ba3e6cdca9f21ad48ff898321de3fc12e84d9e5b60617d515ef5f0e1fd0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500663064023029de13e0fd6f90114096e1d51c3d852bffecd358c6c77a9637abd86cf4e5641d46bb9d426dfa208833d812aa65fa85d702300de4e5fede9d242236bb388e43c126000753c029e0a7927128b0a4949fb9151f7dff230e873d240eeb77cc0fab5a0d5f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500663064023052a3cf1f954e860fb20a36818a7b1087e834f118e29f89911b2220dd5274958f1fc43e944deb556e725fc47e9aa14f39023001a86fad9c7489b6b30337b4cdf95c9726376e5527ec8727309237c2feb1877bd31fdd1f8193ae1c0bf1621980ab8ec30302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006630640230625e1f6eced749f047456074b65f7890a9e969a222accede0ba56d94450f93a17052b3098b17341ced6f81cf20bf6294023021d16b2b840b45279513f290a340d6b8557801552d29c453e28734e19fc2b6fbfd420d78d764a817c69a9e4c4928cb930302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500683066023100d05dd02107e4d1485b8def8e87c40420247db8ac8bcaa8481bc86de8a7e7fd385749b39fc50c3e00dc6e04cc1bf4bb38023100b51d409a4c06c8aa1acf6273f4d5abf6d5c31dde8d991d960d3ff045fbee1ed489b9d65276f69990113330eebd1169ee0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50067306502310094c7e513d805a746187061b8c2b176cc5633d379ca9379cf95132b218dd17d193e744dbd729910f68bdfcc6600e472a0023050f24bc7394b62ac0bac95a0311df23a1cf55323f81410ae23d29af3dcf07b11fa84ef60a9743dd549723a5d1d4d3fb10302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50068306602310091f4e51e14a4d50466359938aa2cebd07b5012596d324c0e19de1976fb71f90907692867db0cc37550818098ecb6bb9c0231008dfd4cb5bf7f27c1e8d3dc22494a27e5571c44888c7b47e61e591f1f5ca0a05d8de4f8897a6771f0337cd93c8f17e0e80302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50068306602310095e426819c3d91466af2fdfe23ae75d9e6a50e7a562d0ba208deaf048ff66fcab99f8ff583cb323bd5b0f03fd8f59c33023100a3e61af3224fd359ebef1f34cc1efbb6bc9bcc922f4cf393a548f407a1e6efa3d2c3f6202ca7333d35c3a7708a6466060302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023100ea959fbd4374114d1311111e0e7c6b16a49001a59cb246705228fe44deefcaf4c70dba53ae8aae65cdfa7b0f341164cb02306bae080fafaaeae0d4a29797b834a5e28d086e8093e9083ac7690f990d8ec14a363b01ecbc095512333af9b46d7b43450302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500663064023063eb643dd0b14a836a755e187fea3d286e1b90e0b820d3cc89ee6b927fa9c36e2d27368d3292a45217ee12865d1463e902303cf5228f78d747e9c2762d3a8e148c8331728d8e05f49af846563a261628466e1f8cb6b7e01876d604acde02664543e60302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500683066023100e8fd64165a01c07304a6abfe093280ef7e482867e80098397f21348ca0fc95891031879730974032e88b06b0301615d4023100a986e94edfc79ce2a6475abe6331a40fcb28da79b5e8530a1cecbc027897355779472e9aa62f4c2390a759036e293aa80302047c435bb5006630640230506abaf83ac342e49c88dc69d54d1598092e4ac6cb0afbcca563430dcf809764f14f6d70490b0213ce08dc5298ff830802303033846778f84fcdc3518835d0fedb0763850eba3433209a62e740dbb0e9f10a50d214ed55f64a23e0077de84a5a66e90302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023042533627454a0b6e6367e98b1b27ccaa4ae66de66318ae4ca1612d6f74a26f601eed5863b9738eac95f7c2fc8e20b06b023100fc42d84d09b7c40ecff288eee2e1763eb9f8d344eb793f053dd5076c7efd11ec4c2df62b8908a64f8d6e043a046b3aa60302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023100e1b6e1590e0231d94b9cd4b9a4a07ed5abac456bd11a73642f3e1496ec67ab6c1231d6eeb598aa20e53aa841797bf719023003fb90337a3fc788b86760280f1c4fa7bbe12c6dfc9b72236586f9b19f675655187632d10ddc24e8d90acc21ff52d7db0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023062623c544d62cbef0e8b072a1e422983d5dd645fa289faf8cf083a5b7b94b4ee93467bcaa583ca9a86d401bda665b6e8023100c3f4993c544c453132c30cb1d599f15734a71c65505973c9accb0dcc748b6c22e20a098a38805d244c9aa31eb4099d010302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500683066023100d27d4bf0e92f22976655cb264f7559107aa19e4c5fb495542227d146284d92de39bb54abf89274f6aa9a60cdc873a22e023100f59f9bc77d50c9a1424d5064af1a0f3057405b5cfd5eac2ff3e7aafa44ac09ae8cd90215b2962ae81332861cc9b17c990302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023025a4ab455f98d52b3baa3068179aff27158518d5aa35ba172a99c2d03ada6f29aeee007b10311cda38bd26f2abe63d5b023100b10a1cacd6b9ed3531ff43c2c2d5dba8e927c66a6caa48ed5e3a5ea6b79fdf07430f8482ea40294663d04614c010fd460302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023100fbb045867e85ee560b5730a29c57fffd2ac3c4598f9c657268291441840ff51f867f7b73eb4906f6054e0142917732f6023023f5af30dfc0c300592684576afda9c24e720e105940d1386e1e4327a99c7f67ff6c007fb06c2c94838af964228736fe0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50067306502304e20a2a9f34423dd1023d65d6a3491e4b14d503d201d82b7318d5d19adf1ff46a29ba873f1cbbb17eea6b6e4e11fccdb0231008782aa61c12c1022774dd41dd0acb53ae914e24c474f62ea0f9a83cba927d409ed43fded17caeba261a5abf564fc130f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023100d3b4b8f8ccb0c72f3b2f39092f546edcc406885e0c42a520da7286b37df7e0a4d04989fedf95d3031ce97f1b7a3d0d27023035d14020484ea6fa37e595277c0de26771c861ad00faf801ea6dc81ce91af4265e49c4b33265ed85aecf7767b16e6d770302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006630640230551657cae556b0f45110384df0b51479dc51666c3fb8ec4ab1c996987ba02d13d2bc5a4f55634fb01d44bb098fd716a702300660197aec1109a38d1832a10d7550782420633f8b1a3a10f83f5063bde7af1a46fa639bd586b55af27699bad20323fb0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50066306402300d573298575f6f1199862b8ea95d7849f9553cfc7f6dfada1d0c876e8d2ce0f3d2780d5439f7f9d3e7cc07fe5c91615e023024810c9defaacd7c71760e96919db75a3aa9b8c1cfd3dab277bc0418696287a1b2d8aec4fba3c7d11fbb5bd0b11a64320302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500663064023056bf93c88947a52775ad4a37703cc390609eab5c7a14ab8c87ef76e1a3ee9e465aee6febd86b88be1a172346b9f5b3a002303146d57b5d1ac9e65c3ca128c0cfca76b248c185e48b8c9a6883bc1eeefe59cff94561430b9b56052f8f0cddf7b6756f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023062d344b877103aefc04d4ed38882c83c57412f7e896db0d427680be99fc00c62adb25de8923bacab6a561225cd73b235023100db15bb6fcebb4a5c63746f74542edf11c0fe42f57012a3dfc98de0b4a2352e3b36eaa7fc971accfd2e800a26ab2dd3bf0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500663064023051846ba1490a9705bbd909c9f1920ffb9fd446b23d62e47af1d946cf40f4d5608b14de6cca9a92695debf65e488dcb1302304608838e790f2f91ba147cdb6b62c1316a84605a4c04541d1cce37558fc6356eb15ce8bc01eb5bba6d5898226f61f5860302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006730650230713b6b691b647a2e81b88dd16e5b32feeb7228f1450dac067d0fd296220c501f20573ef8189f4d346cc909101a14a868023100a87ec781c2076308b4fd109a86753daaec70a2cb358e3e1b7d04ecb4f4ddfbba449fe27a1f813d9aa9a71e15b3ed6a530302047c435bb500673065023100e58a24cdf03dffbbdfca36ca7d0d16f3f215d40cc5a7df7bec94fcb2185026108daeff5f1a4224341a55f468522c79d5023026045ec449624a0462a8bf9a5e4e7fe7838e03cda94785101e1e66f0c63ecf2cfb48de676fd061a523253200a3a940c50302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500683066023100acadf9c70f2dbdd30e4b9f553d66a89b7cc3aeb397cc5be22a1c8e3e112022efef6936917d7ba005b2a13b26a038f339023100a615d6adc59e361293d114ab4cf403f07f33f6751aa2fb7ad80067c1f3b72e1e799bf9c31f6886ef74029f1968a9363c0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006730650230236f79c18cf913a39fed069219158c1afdfc9f6a11b2aff96388c593547767bccde174c912fd115a072bea014410a249023100a2e9d66831baa0c6ac40463991d66e3a4a56fc0ddcf7e397f461c64d310c14631caeb05118fcde096560202ce63558a80302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023018c4a3108baddeb0e72160fe86e18a30e6427ac9dae0735a2762120868e39914ad50069a2a7ac77049247195d6069113023100c282f1a469324dd87bc15317ccc7b08fc61f0a0333d4bf7f255f97c00fc3884a3afe0550afb15a23ae89907338bb9b330302047c435bb50067306502307f92b70377c9b2430f129a16beaf4dcc0421e192fbfba9c97206f960c41f94727ec781d1dc8f562d5f5cd84bfe84c09d023100f3d660208a24b31d2ebc7f247754d5053343e8cbc58a847573b20bb48ac742e6eaa4f2a6836409a282889297692275400302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50066306402300f5f8b34093575bc4d78f46c162ec652ee905e5a495c228e8278a8f093cb416a51d20f03063b163e6d53df68677a56fe0230656c844cccd059383c3e87a650d30ae8d939fbab7009a0ba7d2e60a8a071fe9e95d30861eb0828ec1af4d5922eab7dcc0302047c435bb50066306402307f00a8e28c7ed96ed5fa67923732c6e965c51c447ca4c59d31011526733be55d380e12c59096a548e0b90b6238284f3102304f69012c75d4d75572469e5b809994da5af5a7a9c9d2ec668e3f4bdbb9bef3146c796a81f7c99161373c0696c3549a770302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50067306502301261dda3b07ba3b17568ff802d2d0ba0d3c516854a2daa1146de98ef470710e2053412091321c4a30e4377893fc60c120231008ad1a6ed8920a0d52323f6c15b1c151f22d439ede058ae4d918f6c3ba628f6ecd6c9f9ba3b633c616fa147e651a7a3fd0302047c435bb5006730650231008400638063940804fb0624c71f2013dd93cf504ea9831f6c656e3f176ff62691bef800ccf1cbc388f0c838cd58f0e81702300ce8351ca36f772b0603f01acfd56b090f9362603791f0a79137ee1b3bc696c57e5e161cf9f20de91c1f04621a67ecce0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50068306602310087d4d561077df7ab57261ab968490a2b4e1adefd319370113dbf200abcc9723ffd9d7f434911b03ba05e566907b5be28023100e0947b304fad782ba3653d749dfe9e6eadc9d8acd784e7cd9162b7801099c10bec03b5eccfe14045c4af31fd8e628e610302047c435bb5006730650231009a98a4ecce4b6cfac704b9329a83f455b266e5c036d3fbc3bc5bbb67833b2e5695b4f511f136aca9313e4a4354e21dda02302c232a0fdb1228c7e46180d5de0d9b9c89307ea41704bea92b7284020df5fcfc9ae6ef62bfdcfe15963994ee59c3a8680302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023012435827d57ae032b03921571e68461268c3499951afac6a5498b2c3e480635caafcf97a3cf2101c38de425b67a0a0430231009daeca7eaaec1c6741963f4e45edca59c8b8cbf4062863dd259dd1cd8e08a04c87be381c17a0b0f6b45463aebc4120490302047c435bb50068306602310096e1e78299f4cd0a59c44b1edfee67dae073b02b487acd8a36cd656391e9046d9abd4ecfd80bb586695a2d032cf5ab44023100ee682ee00236b7b9590007fa932cb66a516c35255595e8e6a53559c5c951aad467d22e998c89d3a2f78cc17edb073e300302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006630640230341f6085e2e8c4ec4365426f084b845e41dc5da273a2f4a75bea5b38a7d6951d3c9fd630066a9f63ba9c57e116d54cee02303e8322a15e986fc9c658d9c96836cc542d2063b58556bae42e5ed4f001de591f1e44cb220f23f26f97aecf839fed7cff0302047c435bb5006730650230251128da93dbce1684439d2105515db44c5f4db410c7d51a676695909f7b116f6b439976ea6ebf71e0229d9e1c02390a023100eb3594144cec597b674ceb10b47ae432f4fe3d55fcfa066b97ed90fcfe10f4ae3cf4dc31075737f7871aa450fb96f8fb0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006730650230675445d2bec2f5b8798140cc1472ec9c04fb34381a815f469e6d8011ca23b4fbe3cf61bbc11d62e8242d9e6c69e89237023100f9a4367c8937a2afb260821115fda58e10ccbbb55f63899cb77b286914a3e9e764ddd01028b590b4c7b9fffdf520e0800302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500663064023021cc03e42ee4dd2bf25ac59e32f61b601a2c0cabd390ed1d9434f213ffacdd58be3a3c4f4bf1c776184c073a015e291d02302174aa9f84f083cc0e286f77881d9aa04098f50543f78a9d01eac9d9c9f40e7a41a068a4a4a49dde456b9c6d699b63d70302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50067306502310098b8c7137cd83282e397edd574901f56bc5ba6cc5355020d86d98945f91eefc365dcc602a4b42a5df8e9acc16b867bc70230535b6c6fcadfa09faba5377127ce79b6e2c7e060d50f41c36610397921f5cdaecf9fc857ef3eff9de5da5e660c292a9a0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50066306402300963d4384206163f31611e57c672043bf9b0de5c73b6e2feb90a08eb97096462319a68241d63c8a8345e53612a7aef6f0230493c5f2f101952f5c02917681f345a0e740433bb32ece7d88049639b7d59cb9fc9c62763c4407a1905299fdcf53fadb40302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006730650230212d980d63e05e97a3aedb5e7cebab6a46b8b81748793fbf296800351aa69d56269fdb346775206272f6ccdeb22d24bc023100f5f79e287cfdc275f86f643071dcbc33fc69881da937f2173ff81640a85aa0b64d63234164c1364de40969a2459f94e00302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50067306502310085a433ed73c2a777c1109ad9da27ef0f614ad7aba00c3b008849c28faef54c9f027e5cdbfb40ef2be8bf3ebd7dc7536a023006fb0011366f0c8f63a9cb62629d40187611f0e7547fbd28372e78e769542ed5faf3fece44a4d23b4780ed5d5fc666040302047c435bb500673065023100e039a18ff92dd36ddcbd4aa51bb4a3636de7cf78874939807b29afd806982ffeeea2735c0eec49a3790e2c684e17ce6a023006309de4d12d907500d8e305e19dd13401dd194d96c6b7cb513c3adf8bcf06deb292fce585755dbeb7e6527e7a23c87b0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023003d44ba5db08ebfbe4ddfbb7a4d12c876bed9ca1cddee0963a2724117f40dc512e7edf07d02b9c8862f97ee31ac47fbd023100e03fd5fa62a08386406f77f7c955afba8304d63e4e44aa074e7a9d0dca544b9198fcdd5a337b82bb15b1e28e864748e00302047c435bb500683066023100e8c4a82620365b504557021bb02d6b98dfaff307f4546992f59daa3a6bde88c810350a3358982661d55264b681cf664a0231008615fc9e7729c6a9e3dc05b46d47f31db83e1da56fdfe2cc95447ae75242e7e3ad0307a307913cd62b8ff089bda7f6020302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500683066023100e23f75d51647bd3a5607aa9b08828598f55e747790c92b91b9e6f6bf48c3894c78d98b5690340305d957796c8d3dafde023100925cb3902e0641ed303d8f03547cef9937b676604fd1ae4e6b736151268f204c0ad69459bafb06e0446c31937faba3320302047c435bb50067306502306615c7effaf40db2fe23e96ae2d9ab79150e96b4cf34d817921807f81a0548411a71173948772796143dd30a25ae1d3b023100eb88fc7e100429f6cba90811ec7e51d315abd7e9c3afaeb1d80782fb3e313030ecec8a302b801e65b340f06e1188181f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006730650230365ad5eadf36a0fb78f9be4b96a2a0ebb1328fbe08ea15f9407c1516f47c0374a87018400751d649640de1e42ab699b00231008e1b5ddfd5eb480c05576bb8467aa96085e8c92303b4e2290cbc7c690876fdb5034b87ef71d0af3e7065d16b3b1390ce0302047c435bb50067306502301e541684187f1ace54155a46868a7be8370d80c5f14681b47515590bf998e8c1189186b305f7feb26b1b6aeb51d285a602310083cbe03acc4b87051516a0c53c60f3bd3927ff7bf5f75608fc3fe6450467efd4cd124c267ebb5c49826c77033a5dfd1b0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50066306402305ba083e3b0071ec68f3dacf930ae2469ee5ffb85594b618d1139f205aa36dd438bd0a0ec4d9abc0a75e886f2ef300c48023008efcf68ae352c8984c879b84b8511234e2908bf78fc8a649dd322ee202ed3ef21c77cf2994e696e24c420db211102ca0302047c435bb50067306502306d8aac620a659273366e587388aa47bcaaecb9c7cddc87e59b7583fba110266767ded43cb17e9fcf001032f8e28365e0023100f658f816bb2e90f855a417366d85c0ac020cbf4e5f562b0b78a63a2ada8a1143959501655fe087501de93ecebb29795f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023076be1d416da8ac4f0236617c40f614db16c40b905b445a7e2f2e0bf2a9436d8ca34d1190d2a306b06272fe3f653392b2023100f4b44926d658cd41a738d04683aa4da9884578d38890e70fdac765c91003048d64d9ac16795fe280b86e9543a7783d6b0302047c435bb500673065023100d2b38b20ddb31d36550c8223c5bad05c17e6833fef2eac72791a2d12969293e8633bc6f0fd4b20ee863f3660c328dab902306550ed1c5f0ee6a1df099cc14efffcf8fa38f0ac1972d765caf9a28902571c792f16219ea2a74871c4af7e9a3950132e0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50067306502307cf6a17682ca960975ed1e5699917350f3bd0b315edba4669fb35e77871e2b341e925ad575cd2c361db4ec012e4526c6023100eef02b951345c71b301e4dafa6245697a10f079af1b3a89cad2b2645a689957b56014c86b869114e019d2c0b8048aa930302047c435bb500683066023100b5e549cfe4d87678f24f698cf531f1f88a11a1c810475a02896a6e1a152cd50b4d0c4e27103cbb519a39c9dbfe7799d8023100dc1be4c21eef7f13975c1a53ef7251b544f34bca07beb777ec8d6776db45a6f4c5065c1f498cee41fbb026596b28d4e40302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006630640230517eb6b3f4157e3db901bcbf8b16920455ba98a1deb1fd98a96fce2689ca870de09c44081ec58d1f7b6334c16a6b5511023043f73721bd811af1ec745b5b380efe75bf52de246087527d4753cbf8901d9276e0f9192619d1326e00dde30301327b5a0302047c435bb500683066023100a6e481376b709d9fe8a2e7abd98b769685c094b49f52be9c7e81a3796058da7e9a1d9c9fa7aad9bb4994ee1b9b68f36f023100e258a8976c4d0ee17f858fbac0609ac0c28eb74435ab3b5596a9466638d75fa1e4ec827470dea984a24ea5d77ac700b50302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023100f372124e5c018ac895938d0363a8176a6249a4844ab06833b446adddd2e941fadb8550be296c6105e89cebef24161069023070e8d1ad5aac2121edcb9d7e2e435170d9e5cb9996f95153c1c7596841b317375355de2951bd61af31407d94eb9c83230302047c435bb5006630640230759ae781b917179b6bb391b39a6f2ec7ed7d13b041f4a59792277b39758775aa04fa9260833ea3b78947e2f9913e34ef023055a3e7bb2f3f95491ebf69b16ccdfa438c418b1ec1ea0517b960c5f0b561ec2d33ccc0805b4e2c35d01ade0a4ee933a50302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50067306502306fec744725975906b6e7fc71cb9eab506839de219f29038d512a2bbe97a88a775796738699d63954cd134207f4423b6b023100bc0436f8f81f78afa5d461664fa9bcb6863026679ec0374726d1427822220bc9c5fc5097eb15b88978970e3cd64cd5db0302047c435bb500673065023100c63df8306768a7302b6107bbabd726b6fdb4075f6d2e062325f6b07947b0be11fc7d8bfe197d99b7ccb47c559dabacc7023076616c26f084e14a354da2b8fa35a6e39d3bcfa9d36751373fff8340ac892eb2a6afcd5c28ab9b15fe156d4e410c37f50302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023100a4db1d21109a33bd070be2be207c5d1e6d9e6a8babe56784fd3f2bde62350cbc5d10231db430d6774d8a2f6194163f43023028ad5744e69f94ddc4b72d1833715f9f4ca09c7fec8567f15957dbe06f4a99586fd9febe8b2489abaa49b00fd1fb311b0302047c435bb5006830660231009e3b0790d7da149dc58e3639263835cee0da9b313e35da7512757ddc9aebf75547a0efbb10528f7d27ffff4ad74357c8023100b6a5ad5dc9fe35d9c82e854c97f5ac4f6e277a97c99140c11768ec31ef0471da8da1f4e7fbd244f1d5f18cb7c69898cd0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500683066023100aac17edeb6de40a088e2b0fb25b782d4976d2654ac5b5671d145fc8acf4df1aff5053a1f166fbef8aaf3e26b5f18542a023100e55dd27d6ce877ece5f7396f41c3bca59c58e3887fc768fd23d698a69e3b9670d159bb8e437a84d3325c3543b795024f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006730650230632613c2276bf85a45656f81b7d568dbd53b348dec06ae3bc042fe16a802d32f6e7c443f2b42189b5c4ecf826abe4f5c023100dfd4651951ef802dd76dbf619bac5c8d7cf6158c4a9b60bd66380eaa96526230306d4ddc2a62c1fae5c88df8f3d4c0e80302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008861a5f74bc7457f85a6d47a71f0e5c39663739f2067f3f50e789efad146a429919b215563446aca0d58638c6734fea7023100c348a6b09a1285f7d6544a07d27ffaf40394ddb21876fd3475da814ee858585534bf0e836e298756f7f5498e6b8f420c0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50067306502301a4e3f0910d61b1c42ba25fd2d39b6a1a7e0506bf0a43b6079155856c90f24e5920b972d106da24fd6ff96eeecbb07e0023100a6cc8de692b0523a4fbbd37a52e5a15bdedf69329212f3d7e3349b7d534d42b7c81f4297bf331eb8f202e42d7e03fd2a0302047c435bb500673065023100d97543bc7ebbe58c96c926163128e1e67a46a221bbdb81e7787df8b40b9047b95c2068076d2fcb82d5c62cc43727672102306ed3215808b2dde799734ac65b6dfa6e657f50ab9d9200f7aab2447eea65a6062ad0c705333f6b6f6b8cece69729e8980302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50067306502303d4dbed9fd192ba71d98bf0e39ec1aef5ccec8e79b2afb78d2d20f71aecba43a7c1c7470340be9e0b3d202f881eb24f6023100df2a98a7a6e213ae7818a0a615685cef58aeb87e55117dad80e1a2b81fb161b4ace6263c070a9297fee1dfd6542975060302047c435bb500673065023100d991e80100b64f1b22d7005e83bac660dd853d18d45763988d0fc6e61a7854ee71e1e46548cdb0e46a822db9782a8a5c02307cc984fca171cf6082b0e990d2126a7992ec156d8e86d2b7c08409db76fe7e7b9e1150dd71a290a535d5140b23c08c620302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500663064023054013aaf396cc27cc902f503d71ee3ce2217f7cac3301e511d40eb8da70db0f41cecfd6c340be5cd4e6c2225efb9010b0230123a7c408625114b01cd408352d368fd110b8762015c403a42936166789cc33112073bb96919ef859a978ec9323a2a1b0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023100d9c77ac445634617a4521d2aa6b1542c711a2cf9d9bea12041050da06aca0ba64670ececcd02179f4627ebefed926ae702302214f590a121ed0f58c737723800276cf97d1f920f12d6dc4455de5328ccdc6c862443fadf1c53fedfaa50b4b130cf930302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50067306502306f58ac5f4e3a853711476bb70c3b32ee432a7d509ea33c8dd91fb900ff3ce3c17e164b09ad1ada42b8cd761a56405cc8023100800d779dde8443ba5b3f957d4579a32053759c2eeea036b99400ebb61620fd0183719c9791bccac7438cbad0d2eb87a90302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023100a4a261d9fd6c9fce3f1ae7ab5dd75773fff0fc7e6035bc9a1dc7308d1ed6df74051123c70501530d01981e9a905023a402302dce43c61fc5d95d93050ed4fcfd12b86fe32feb23bf263fc34f9e87dc1a033f73724e1993a0426b68f77f33096a0def0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50068306602310084b062a5b03fa9ce78a611562e29939eed32f671d8dc07e52bbfb281a67375e704d81c52a88adfd7840855b9a224c7480231009cf0db5cc126044c4842d95e601e710f9e7317ea0c6366dae35223bf83413624c8d042970bc3fcfbaff286c88141bf6b0302047c435bb5006730650230408ae5bc29e03f4abe00da37d902c69fa0485bd4db675c58c2f652004d0755cf1d0e2ce51cd3c36d366b43f1f4c41370023100c9d74c07f918e77ae8c9c9ed094d1e537ba461ae8c25bedde166e36c5c2d3e92730dac0bf2c60c4ed0efcf93cfd97a980302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006730650231008baa32ac3a8d8b5ba893baacd79f507739c89815b03156ac57f0862edf6d40cea4512eaefee6552cd5482df69c34639902307b288d57e96d0db4b6dbc5fbdbe7ff143e8209a52d26c7541223317f9148558f27afd0c0a63f6f7f82be6040b34377a40302047c435bb500683066023100faa1c46560d88ce0e78f915cec5987181d386402ea55f564654cc8c39ff08083b1bfd8db55dc42fbfe8287e419019d0d023100db7e1e63294c9bf06740d18630c4a0d8fda672f54326c24908e46d21122dcd16e468dc72e665f5334b6a440358c186ff0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500683066023100f01b3bdf33bbaa702853eb2e308b4323afa5c90623f110d9e80b1c5ab5cabce5c54a1281b6dc94cf5960505723ac139b0231009a180bb633a6ade5a7f7d3125041dfbffb89d2bfd609ccc8ca78ac415ab84564d925ba3d6a2f352e7563a428cd2887e70302047c435bb50066306402300abd09a3207515169749ead7a1136b7bb47bc3e0018561c433863ca453d8099eed29bf5314687fa405244fca6b49e36502301a2f94c96b53451e827456a74435b402c6d46cd77bfc4a885b4448c7997be917f14fdf1b68eda7d29d9b022bb995d03a0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500683066023100f8982baa57a9a600348d26e8365aa07410cd62a67a3f02641dc4d46c4e4c98a0d7be98821a4d326d84145c91c0a3fccf023100d89c4ae8491c1c6034f31d488b7e21ff46851ce996ebf94e0e30f2c632adfb9e7d8374c72dab12eb2fa6326db0f0df7d0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023049ad30175a799ff4f2ba5b2c9e248e5e423da1872c202dcb213cd8a7a4016f9d79dcd318b5f3f7fb50bd4802d8ab447d023100d2a5dd28dee434284a1a98ff88ae9fa16c047fdf002ea7bda44869c587d52648d1940a21edee4dd93dd637ed4b446c140302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50067306502304e927fcf1977bf11ee9a75140b82af42da4c609344d72ffaad488f22053003598c763951c98ba61f3c949044cf9b6a3002310098e1bd86311e7877be85dc9728d271a97fe91ba5791e15b80acfe1738110e92548bcb00805b1f2538d60d45e0a90d8700302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006730650231008eb8061d1178d1221c966b991675b4a1c75fd6785abce021aadd6ae886fba6fee07dd511729e4df5f35128cccb06adaf02302fa249fe55ed0f39fdcf6e6cfc4e6c58f4975132bd365cd58e8da45e45c615c8a809bd8317b902c62f3c4317b710faa70302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500683066023100e2fc2f146385f80cfd299a14fa9dbdeec80de09bc937617b39602b286251ff4971ef0307c005aa6c9fb5913996874893023100d37a4c21c9f74d1cf859c31186a918372c270712ce6817b58be70de33d1acc5728eac2bb4b88b44e5b0664391dffef800302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500683066023100bc61f7c141ddfa7fe0a84b89a9a1617cfa4c43079c47ae25bf947d5ff31bbc81295e6e623ec72075c314f56c0ebc7da6023100f8bbfaf2194e75ae8c301f4ddf4b7b641865bd70bede203675691266049bcf09a4b7a527a94fec0ac975daedc172ea360302047c435bb500683066023100f876d606927559446e15e839fde56a1a0b75d87008beb23e464e7561efed29b3ce74ee4a672d848407041d854eb05bfb023100fd98413bbe5d59a128407c5c558108a85d90f5023376d4776ab129338f773fb3314880ae8046419e2999e1c98ee5e4fb0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500683066023100ecc23ae619dcb32856914e3e2bfa33729fa0c0c8564aaf0854154fca393015b83f00630adce217a4cd12a4664d1b206a023100fdbc01fe1d6ae92b5c5819d35595001868148fb4b97db224aec8b06b17b2932aab099d091c6734cad199d7e8df1d5f000302047c435bb500683066023100bb9f5dd1454103ca67aabf4874060b9b410516e21607587321ab4c7b88e4881df547819eacdd2b568c07cc63c4a9bc690231009366f04e4dfa7a601028714801c2470f7d7ee3b706941004cbf3497273ed6d6fb8f20d657a33f9281be2de9e004dd6540302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500683066023100d0cb0c4048ae11e5367a591dc3abf079438935bfadad78d6f3420664d6fe082e11a8742e123ed093f9da16c9c44808f2023100c743fbeef96fe2f89b974e915bc27b7c3d6c184f7a4aa5135cb52cfdbb499ecac0748e1ae144026954b9e4c6da2323f40302047c435bb50068306602310099a748d5eab0637d9223c90d74fff7473794d60b307b23977b5a152cbd73460acc6cf8d14b45e81f2a41cdb541dec77a023100ad29c8725eea295d6574da553fc3e3582bd55463aa62853f8278b26229b0fda3f9e8cee1484083f4346e5e1fa81b0f5a0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500683066023100e0e51f630f40d7fc51fd899bbec6e72f152185b63cd9a3c4a07309a19b75cb0fe63f5fd0e33158ae227d77e572e2092f023100d9293a450f89e691659de4aeb07dc0fc608d8aefe8e565677e60473522bf157f5cb77fb16afa3bd1b913cb40f93a0b1f0302047c435bb5006630640230347298f354c9c56e7c4f5d2753e6f98ea57061a628219a20793092a2b78c405c017f4830acc5b9ff49c5c6bb1aaa833102302e6d36da58f8a81f614eb85274ccb7ac6be20e1af728a4022a7046adfafd8b104fc1d138c1aa1a0877499639caf5fc910302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50067306502307b2d153efc83d29da75b9baab09baf6e93f76a350d3e299a1272f6561064a02e0135ebe3f1bb3f9f12608a5462f8a88d023100cc5d4b79e07465aaff6808b9f021e4095563f5d0bb71797678570529a71998bd9b6f1a96756ce4b98a48cd5a665371530302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023100db00d8d5451a959a264c6c9ac982d9f6d00ac27f9970a58b14c7c4ee216105c146c9790567d1ab919183760bd32f84460230065d198d2812fec92db73be1a9c467656616862d6c25560f6ead813eb82b2beb99477387b48b9e9ed784eb76f2b1ec110302047c435bb50066306402303d25a7d00f0668d498fc65b660beff84f5a4ffc8e3cae0808e4133ac02e879f59ebf284033aa7908d28cf97bdeeb8aa1023033f32c0726d77d31c6ba16570029ecdd43403bff8bc3263af34b2e14b9614af122cc3b5dbdb86efd9f9cf8629ea5c4af0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500663064023079a7711b8ceb2a4a43b0713c47805c1835533e4ca4c65f5c5cad0466faa29f5399e1b5c2a60dcc1436c0629c855b0b34023053f7c2533e40de0fe1314e5135a7ce02801cea48d1f5c4c0019863db0510e43c6fc16b6a94ac8b7d25b5d59f3ec20f730302047c435bb500673065023100cf51cd760d339622fa025ee6fff842d72fb5da2537e149173092139b138b779f5aa2aa0f80ab178636431042aed2b61f023059ada93968d2f1acb58fd1be5244197e877a0d4951dd3ab10140c169871d57fa9c6e4948546cac8a0b3d66ad37c392ab0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500683066023100b6f7d05a2f01acf7ce429ef8cf76ec7d4986622c993e63f5c8982fb036478be3eafe890f917ea011c5040796284b7d240231008504b0723a2125240dc68e895abed1426e4a6ae618e35b547ede5687f1cdd041b5fc5ba55e1516e7894db4c17885fa7c0302047c435bb5006630640230665a17f660d5987c05d4e7e566897b80cbb4a8bf333a2294d9b1cdd7729e1c8fdc1be7b9ca83a72439138939b89de0df0230536dcd758c73790f64ef383498a4cf01a6d7d6c5cb86cae4c9189e6245d89663e13e5467106dff0a6192f0b59b25a6f60302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500683066023100e2db71cb41b4bca6bfd9e9e7714593be477c9c25301c93b41c05db42f104b59056dc77877acf829c9dc9a4a2cd939fac023100c7140fea952c9194e736f1daa0a1d8fc338dac3ca7c8d83f5e955e80804a734021e7b0636fa5a7bc4a5e4b2b70ed59790302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023100f002c543f1ce731be796d7ce1b369ce5eb86ee0c4ab202280cdf0cb7109fcb8c4d602c9830c12c205124d648df96b0220230380309a3e0689f94601c5eb3616268026c12f09d454df0a97ecf52d775f5e0a3b3fd52e61fea17354092e6a8536a01b30302047c435bb50067306502302ce1b915dcb7b46419e04bf2dc89c28b0ed00442ae49cfee829133dddfd614571dd5afe218cb017608886c68d716e116023100cfcc1cbbc1db1602d118c35f49fb4fa9061daeef9631be586b2afd9d32ffd1a478ee885bde67dbc74977de3f4177d1280302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500683066023100cf7c8df9f9fefb94fdfaeb0669348686d1d8ca978a0b6ec32c98b9a8ac1d2e590fd0c27fd5c0f458a50ff66326bc7042023100dbcf371f9897e4332f023b53cc8bd56c65c096a104eba73803982861e431d09e2c3da629f0e63917254a427e3c6af4960302047c435bb50067306502310086c611cfd1cdb59f89199379fc5e762a17a52dd7ae013964febd4b14978f68e6bf12376536985bd4b4c20712c9558c0c02303f41facc03abb9ab07dd8437885a8409f5eeac84df41a5a9a19beb47e8f6fd71b259c41c070fb04ff625112d4a57076b0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006630640230061434d83b3c597dcc14bbbb31730ff97d8113e0a8fe44ef9e4880995378306f93d06e2a0d2f4ed6be4cd675796880b702300c3c50ed8702ddf570e627524cecdf62defbc850af0c1b8425cdec3906782bd9cef1e89c616d0311b3f294bed759a1510302047c435bb50067306502301d819bdb6f2d703503c55da7e39600ca40d8c9813697dec3634925182576b4bd44fdfd8c85a883b43c7078a1921eab270231009cfb2591c9f0c1481f92477e34fc85abb15d1363d4e9518f0ee606cfd0e3ef5d28e1af46ec6223f767772da411bba6e90302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500683066023100d8d47440d440e6a63766a3545fdec28aa8054e0b51b95bf523b5f4935ca8a9e72ca8190ab5d585f339826b3a7584acd0023100b592c6e98c2aee45123a3c9b3001e9ff85648085a3677f22ed8feb5651252ca0968c09d93f5a1aa0edcc4055c94e38c20302047c435bb5006730650230195ece586c4b323a9fba9265d0442be5598f227a0acf8d0c2549f96ce687b9d38c2a8320ebba612920f33acb544388fe023100f23e7e072cd2442cbada4a7fa7a6329b53541f2a16bff97e277426b877c32bd4ce01ca70004ca3ae219d8319ea59561f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50067306502310090484144fc4cdfba84dfb118534003ad58001e7ddd7c49fc88c59ae0908c02e295f5fee1835507a9b7312f3b1295d393023072a97f42e6d54f20111147d6a8dddb3e39f4eb380b35bf6b5c165d6c521636657d3eb751ee0ace0c77310cc067e283f70302047c435bb500653063022f6a5d58451f1a6c3c532d2f88f5997cac6634bbe39e385135374ec8c76529b3b456ebabf42bbe104e3452a97e704fd602304ece2320db42b0ca685347d04626fa8cbb2a2ade6abf1b9043ce14e5a0c285f4398c73768c717fd28b2b358863eb22da0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50068306602310082cb28b9620b327d3fa89bc785bbac69b5608c427012f7874c0e26c0778558ac161c6c540d8f87117ffb82c56866ffe002310094d933d9f4eec9755cf3429f3dc66271f96968d43468cbcdc845a3ef7708a9e62f3d23ec484b8adab3135479e213fa730302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006730650230613e773d18f72e559c6d99e190e5b42fe58bd9fd1298789bc3ec80dc9948f17f0504bf4cd40c58b5b8aff6d72f20d1f5023100e07a8555da9a6183150eeaeac5d101cf9f85eb2e3726ce27af306b5ea7362023ff55046f29e807d6925077da6a7fc5080302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50066306402305e473b58a1055a3c539882719a3bb73f6f32024f7ed75623213a18fb977b4cd7b84c3948e2f0b6dca25c38cbe97ff3ee0230656c67e5e5554b2c8fec1fd54bc3641bacfe8bfb5304a949fdbc93ee903ed0e8936ad875524366e82c7470948d7ba5c90302047c435bb500673065023100e6a2d906796c6a96550a02a6b248e74f45ad5494980073909c7634e4c0ddd6abf007e9e496fb6793309b86ab335105ee023057272defef60ebe064ccdc7f901989688711df47addf81b2ef8a088b9c61612664b2cacc265062b12e628df06653c4320302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500683066023100be5ba593a6b97a54ec5bb16cc0676b22ac67093e8dcc7b8a23aa6c6157f3743f5e3e326573dbb6684122143e6a956c3a02310088a3edd39bdd0f0acd781623cb188f8495e35c6c2762767fc5f1d7c29402366983872d10bbed24c9154860ab1619b27f0302047c435bb500673065023100b595cad339ee82c2b069d6cf8b3cd44bdb64e4f4400f5c54b964cdb5ea7a1bf322d073b6403ac7561d841a857bc47b4c02305405e825109b4c5325729eb174ac34cc4e187ed533b9906923bfc49341b7c885d23de05796dbf1a659617bb2494909d80302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023040546720bfa789f3d1b09ba2e8cdc1a5000569162f9647e9f19efa70a43b5f76e78f1a807535c00f5d6161ce71231044023100b3f9de0890b9cfb31a939012f097bb4dd5012b781ae200846f6e5ca5b9d1dd703701a95a96bcee90a38637eae290db1f0302047c435bb500663064023053c09378dfdba33c312171c6294291a82ce1c9a7f76a278b0e58cc1dc06b8d6ac0752a4556bc0eeb98e091f682c065eb0230276c3167934694e453c460850e146043d5499fb3e31879019fe97c9edb051d87da492b79b46a9a98e94987f6c38000e10302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50067306502306049cbc1ab8de9d201296fe34ebc0fbdc2d0e90f5e9332201d768f55721831ddc5381dfad4f935412c571dd8113a9dfd023100bf8dbd0e9debfa2264f11049e740f8dddf004686fc9a56feccfcd0b84bcc12bec71c1bc7b91f930bf2eaec3a6df8119c0302047c435bb50066306402303f67562522dde05b2ecaf6619130c8b0a25a593bfdeca02a9b0f9009c633bc9909f3508926da4ed98d1dca1466ebdab302300cca36d5c93c0ac5528d461f42c3b163b24eb4a4f43ba043fd045fe30cb7f7b1bdda8b812760b618891c39e1cce37b200302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500683066023100d751e482228f60cd1f02a2d2e1dbfb71f0c63c713a43b1f6afa0e3b60ad547ce8a7ee3c5e8be536d6e2556335837c4a4023100f363873745821b10c5573b18c12f94877194d0b492c01acc69f6ac6d76f8fe00900bb13ae3c9eded21449f585e8c6b890302047c435bb500683066023100b16f8044f20f747e649ff4ad2cf4f98a9786d888b581ca932f49e4856a6cd23b3daaa1934a197ba697ab63af9ce91cf2023100bdf1a3a1c7b54b05f34b487e82d4cc8cf1bd55aba96da776ca43df0c0b8617ade70f3e6bc27836665242ff30491955640302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500683066023100ec9359fcf55eee6cd55d626e5100c0cdac650dbf41710bd244f7e8de152420b3d1fd20c283044dc53b55b2e838761d4f023100c6eb86e217c69524c923a61139e25adcf474b1dc0f90229732f85399a56e512b214766e778f123a673967bff20719ad80302047c435bb50067306502307912bb3828c6e4c9ce25e73598c6cc282b7783ee96ae7d9215af8faa9081ef61a3c18cc63798d4f6255b7a012aa598330231008dcca7ef1229d471b29f3179c182da52292f2b802d87e7dc7e207e287e7880dbb5f330617023315015d15c1eaa2cfe340302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023068b12fca57c59952070a2308ba5f69b676b55685749f15dc529d306f5b05518f7c8d07b1dea3b6a812b045f3238cd3a5023100e86c72a33d2303fcc5c8c138e369b0f192aad134e1826a4c892a670e85545b58aa3f8d877739e2f23afa38bc6cc6cb1d0302047c435bb50067306502300a78cfaa78eb41269e583734d99aa1b6cff1a96d210bee5941c1740daf9816c835a7867f8f791d9b5edcc0e6f84f2ca2023100ef3bb45a1ff7dd9aea23e7ca50f7874ed364b0b976bae875570c3d0af1ca5a11e2650b79089c15d40426bcd1d60508700302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023100aba6b632c8ad8f3ada6f5f6bc873755a04d96f7a6829c8fa11001078e4b98142b3056aab5ca4f4d79a88f093327c54790230640fec830f1cb4ad86a1a1a2a490ae0d00ce849ad662fc4a689556f66dbf587317f9a30a7e5b7c164cc5f8e7885f5c2f0302047c435bb500663064023077c390d6aea318f00d9d8c824720e3ded0f845460420dd53c69b4b6f7cff343ec527f3bc45839655bdb118a95f74c11e02303a78496210f7ce7a07cb6a1fd8e1be4cb1a267682d3117db089b113061dfb08e54618ca911d74f60ce3dafd084f8002c0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006730650231009936d22cf56525f6299fdfc770a9179e224b0996be22a2a2f64c4a277b19bf2b7cdf20a9b3710acba4bafd72bdec114d02304a4483e7509a5475ece4105db84060ba38da24d55a0b3ca614ff9dcd08130ef6295f2696de1e5f883ebef69194b985370302047c435bb500673065023100cc40d053d8943c952c32217f1e8789757d79b028bf9b2c12797c93619a8cc0bdabf6a497033da591563df4dfb7437d51023067b6d20c018f9bb9e4fe47a4c583ffb365e68d6cb0da3a3f148c0e9fa3d1e44eb7d58dc2d483238d177c3037b22747370302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006730650230368631f660d39b3aa1842b8489f1174811efe723fc53edd231f955cba80da7e3b849b7b5e10dc2ecba9be49dffd5b706023100b11e77a81d79b8bd92c175b85536ffff4fca99a4745e3bbb9d14c4ad61236e766d80ffe3d10f5ba42dbf222eba199cf60302047c435bb5006730650230583031741a61859bae63b65babbbfe679d490f2042ee09aa7c79f55b4bdddc95db766def339f3fbc25423bc205d1eefd023100fad4ded34a3aef2ef98dc7e10680f948b0a8fec13e1888f7034389daf07aec7927a793fdbda123ad33ab91820c1fd4380302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500683066023100bc774b96180309b68588949231760a72cafd2e405d1de3d6769fe3c46742e112bc9720dff32931b1ea3a163deb12a765023100d1154dd955a57fcfebede1d9c37b5216245508b73d85c7bf18fe7d061a6a3085f7c5b2c008ac8eaced9edebceb3c80970302047c435bb5006730650231008ee7a9a089d64a95258c4e28f173f3471a493ca9c4804b564d31136a526b468920727e2abfe5bf6be2d20eb72a04d3c402302eeb170214bed5d93cf7aa96c62491e514abecf079a9bc429338e2a49d928223873ef21aaf186890cad517e6929955c40302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023100bc2979e9c809bd83d028eae461aacb9c91e875ae4b35195679b32728caeb4900baec2cd23be09c64c5ca25846499957902306ff63c632e10d1a190b697786593dcd437ed994c1d53a7499de82ae2ec2b7d1d4bf409f30776de068c415e17f637890e0302047c435bb500673065023100ec3fc2b0f76aa50fa6b6c3cd71ef7b60ba3bb624b31b3d8aea849c59746c270f4fb51bb969cc27007cefb94ebe3aa190023001fd9b77adb42115812134176566fd75a3de097a22cd769b781947879d57c0f3068d184dae870134eed5fbd3dd6696620302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006630640230334d7d68f14baed0f0a7dc68f7149bf485f50acf6271a729d326020f678935b26297502c0a13c4a0c9ac8d63cf72125c02305f7a2ebb47348409142be1d5c9c4542d6b1d3363778e4b8cdc9c5cb209967fc0ed1be001963f368e622a8c631d4255320302047c435bb5006630640230522bded7302009a1b3176e90d39307ffa8b9a30db09eb59020d353ed831106d06041ccda9e2b8dfbadc95afda7437eb202307646db3e049879c41fa57ca825e297838d21968c3596d77bf12935d294e5efbfac56d4b87ab5613603a004c6abb41c540302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50067306502304c074a806933cefc60ec44c0cfc92e48aee8ad82abe2b19e3e5be9eadb873da0f04d9c7350d4c48acfdf60857bf92f0d023100e53cb62bcf7fac65f143b26fd9c4205c72bdf31815ded08e5b73f20cf5ab5869456c221f896cf0cf7646572ec0916ca10302047c435bb50066306402305a6636af3784d88ab34b3c6262972ae23b0f43b4888b054d6e7da17933e57bd6c4e256562bf88e6936aa7e196d16ca5f023022176aa77f15ab4013e346e880ad29456c30870fd5eef592579b24eccd051c30146d404386d9be958124218de509d9b90302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500683066023100dcd819c4cdb61c7a324b5d70348cb1760494092b28e3f251633350d306a95806d98b626635ff3f3c27118b44ac1ee1a2023100af8abf1149ecbeaf8b7e89e45c5e0afa2149d10393ca415ddaba062233e54e5d18d40398edadfd2d51a70d9c3c928da90302047c435bb50067306502310098f8a1483785eefb4b1ea67b1839ee354e580b05088ec4390ee897782f62be385e101f2e477bfec02496bb5eadd0038b02304e38854dc375f2e01d2f88905dd552648e8dfc6145c4b793d313e1fa3e223771e36d60dd1b4d339b0bf844d1343ee38a0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500683066023100d5d617394281fb4fbdf3f5062e39cc42d99aae44f0738d888e4cf895fb1f783ab2cad6facb7de1a55e3f87124cee0170023100bedc27028df1cce429b578597fc391b571f56e895612c62faa459b453b3547938d6ffff926bb0005b8a7b46c641676a70302047c435bb500683066023100d12b15601d96c89f83c34be4a3d678745c938c6e6025c7185c9ce421ac3bad31b039d162352f202c0510750be1b6defc023100a74ce81e2d56f296a1fb3084f01ed301ea0b6aa5bb336a35b1fa3668e000da0f686917cf0ae6277cc73868289d2b63300302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500683066023100de5d25e401528ec7a6db45d9912eb60716a8be2863d0c39b591b75b7f7a78eb7457bc685bc653d3a5f651b83eec9428c023100b83ce3545ba119cecb891e214458f0a96c4cb613b16fb7b2497db33632393bd88b94343fa35c694761b1d3ad1057ed470302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023062cf173a29a52f8f347eff3287cdb19bc1d0e22f4575aba289ebe567dfd879dea1d3a405cd911a95a869beff7eee366102310086fcc89ed528e75e8fe6b635bf4b192dd427b0ff7852f3617d5a9c417054c27a048234e844381c8ac7706194a207ffdd0302047c435bb500663064023029e9642667dd97335cf70ece6eb6ac13c785d3b15d2a7f439b9ee00a6811a5017e53ac9103759fa7480211671214396f023063dc28266e643fbf24b2293512b74ed13eabb3d98675b74e3b5dd3beae09f128241023b360cd08632c5de9bf9769a46f0302047c435bb500673065023016dc9dd9f8e071f7adf736712c2ed634c2e9a7224cf6ca4ce2cfd0bd5b88c584cd3b295099ad2c53f7f3c030dec32874023100a8744a0a1552d81f264b1e4c6b1802b5de0b77973e667bbc363ccd9d68bb2b8befad117220bdc85bd9f42f1c700e73f40302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500663064023052e438711e0015dfaa69ded071bc6261c5f8603ce134e0cebec92177b5bd0def88ac46d9e7602f5a7ed4264289b4b85102304ca678ebc3e0794649ceea81a9584e0c5bc12d89a02d306c0723abffc08d6bb7face2be7ab50bb9210f1257668e61f820302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023100eab9004cd4992503b09d6c62ca23882f0f321e4e8c0d2bf219bfb7b01df35ee4d6d76b599630b66e4d0aebea2b0c52d602305c69df3bff2eee4f186038398ee78681e2b81ace2de30714f637d114ed6756161e26aea6095ea2a1bc8bc05ef8b32b0d0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500683066023100bb834defe6daf574bfa5732d42bdcb2383dbd5934194ffc83fc389d981385e95c031e8eba5b94d9850dacf5234bc53cf0231009433edfc90026d36d0ab61068cf439f1cbe0d9194ad2655a841cfe43c4aa3f38080f24c058e93bb8a680b1fbf4d869200302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50067306502301c096b436c2b1a690c1aefe7d7570494bd7eec9d3b4072fb14fd2ee437fa06ea1bd1a269a55b24f0b78d5c39c6835c34023100cc6cb7a6add2c8b3818da89ed773f8de443eee2f7de984937438efc370102fe45c78c50132fd4efce1cd7c0b0fdf97ae0302047c435bb500673065023100f009ba4ea3fd342d4bcece936b1a487ee206846afe439b6577b3642f82dc7cfe3944e7f94ad250e552c18408f5162fa802306e7e7fafcc997c05cdc5f6afc6423648eac7f9ddad4eebbf27bad2bc1b6f90e61ce6bbf9ccd100863d70c19d2b3513370302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006730650230234fa13bbd1de18eda375a44c973e2caa9ca253637f1322c5bf76460e3804939b66c45beb04bd5cbd8dcae107fa0904202310099a84b265cc8135e356d96d8d0ba211a86eb8092e13cb0983307362c0dbb1a6dc9508a90fdfef16e30899a3ab6e2df410302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500683066023100d04aab9cb179b13eefd50abe47a1a1712821d093c71e9d4311a9b12905fe0e7d058390ba77ac3c739d47c4a1046187c0023100d17aa1b4cc10c00d28d2daae5a1e3b18a0ef403c950035b55ee5e5a52b4ab830c72187501a8e38f6538f4268b9e4a6d40302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006730650231009eef5fa9e79d0e34dedf3e922f7925104a9c53b2b14310a6c624fcc990c6d486093add2190d58d6292344f1ef46fef8a0230079c2f621e1d84d24d923143f9de6322b1204d49d20b853d0f19524c31dbc12ad5adfdeea792dfc175695da0ddf32ecc0302047c435bb500673065023100b7abcf5603396d373cdfdab074be76ba263cfcfa92af14683d9f43ce656be22846e403934d09f146ed89ea78e37c5f2c02305548d692969275006129b20077ea67a9b865be036fb459609ec35ea34064a51814eca1e7c35f57f4ff39c8fbfc10ac370302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006730650230640c4b928ebf7692944b4b2ef5ecbb987e6b65930127e3cfe1775cb7a1972c1e13838ee0a7a076a3f4ce27f042a4c2bb023100ddab4f2126237d2099576191f91748f0a6179c9140f420274bb7a162a7284f1c6aff7f8bdcdbc2515cbf3d81799cd1f60302047c435bb50067306502301974f6bbf63f16b9619a831c5cdc3bceb74bd0847b7645b15fdd0ace695b8af8d9254f6fb08d1584c497b1630b738428023100e061a0296e0d2291efefca7548d6e12cc84679483e63f277cd506eb3466268b855057330986a129f2722a7f4b23995e90302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50066306402304673ccd3749087de4b1378d541dea08b8ee046b359c62c008a1c20fe51d371cc11da9644d3040daee95cd7c62f122c2602301594096dd57e899e585c16d77dad56571e52db85e8ece10eb675d814abcc4aaee9ef487d4dff398e9838d818d44588fc0302047c435bb5006730650230429240d59797871a76777878088a984356c4115f34ac45fcea800b9baee779d12c9796f858c08c24ccd12d85bfb0bb4a02310099b60c2db7122f08b772453482f7274aedd22b09b1a5547acc4726984f7e2fd9700053569af9c227ae3b9743efe83ec60302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50066306402306a66fe6308a354678d46b28b6749d9f666932eb2f0c47e1e2cf43ef5cd20e71212b406f3662c39aa94ef1c423972d43402300892aa6d668521c6463e27aae374ff8c570650bb715b4821ef4c97747cdd09cae207cc9ae495325a8fde3cce23008e9b0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500663064023051dfcff82fdba879be882c598fecd2b64bec04e639880519b918556e94ddcd8d299c37f0a0ac4116242712423fcb7d660230268d33fd8603daf3cdd49ed7b2dbf8ed5a2a3ef9346f3e6cdf7e163c144d9ea6cb6012caf28cfbb0251b4c37a7f214690302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500683066023100eed3591a9e953921c5ff5cc550f4637adc70c56de0fe728ff00d4d50388ea6932695eb0aa54ad094e71a10535e16d626023100f5fd6170d57af461b9418d64040025c937b4fc1ff5ff330ce63e389e4be5cdd6e465314dc309d458ca854d00cb0605030302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50066306402304c0a0c7500eb409a6f637292d4f0a91c88125522d82205f87cc6b43b1edf0f5dc9b079d37d6a1ee1fb0170d41d87e311023044ad32e6ed27b56f6314529ea6ca7e6976594d464d8fb1d8568229c981c3080d7f35011234b770d71889044e5e69d6ef0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50068306602310088ff50cb489ba32b32d18db773a825eddcafced6cdd6c5d180011cd3335120171e1f9d761c2132c8102d23085be68d2f023100b52ff9dcb88d99c3e2548625c5746891b56a72819a01147237cde6ef8a291ada65e39c3fe9d0586e838f06ee6242bee30302047c435bb500663064023049682fb5226d92ad804bbb969164e7c31a0cf56dc576a4b6eef899b47f39157cdedeef6f69830228c1a336b0001234e002302e337465d1bd23875e3c2803583c7a8ae46904d6992da652d8e7494dafd24fc57dffc11159e028bda903cecaff333ce70302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023100da62b868ed890843ee1920a092e1c1f6aa1c26fc263cf517e7e27d122588559cc248ba290e1b4560afd7e18bc6e81c1702306300446f2a8325570705c7c4c76857e322ac8325fd2d7752c4fad66cc04a90970974fab4215ec6ee4e9f6afbc4b4b5280302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006730650231009fdd469ec5ac4fd88d0e94efba07e60bdd944b4d8a376e570bddc0513df87c0ef514b8459e59a9325386652376c41b31023055b9312a3e12f23bb09d6f0480c4ed6b3f8c28678bdb5c131d7ec2862766fbf882fa5d23b59fc4a5c384b608f653fbcd0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023038c14af482b8f596e0ae0479d78ab653ecd3eb50336729d54b0f12aaf83dc0861917259a24a6fc8b799675d7bf4d7f72023100ad91c278a703b2d087c2b3abc27e1e0e43542ea731a624b240f0ab0fc951d500d884cff49668bc1214bf888b1fafa2330302047c435bb500673065023100ea3a086fa8dd4f9c4001c1bf6549a1a4b28a93ce1297874aaddadff092258d1702b7af78a93d2ca2d254d287c2b2ba280230679273f16a02be50af60fffc292562db6ba5bcb56100ee033716aec979932c8fdc732de727d568528e847348cb9fbd960302047c435bb50067306502310080e69082b364ab05d15e5143e7f29c97a9c923249d93d1b892b889fb4905226db0f85a829256544b30693d21f1a2af31023001bf8b765752a8a1d7b2d005cf5b8082f5d20a2c6407daff029f492e260bb0e33db4f149c9e6048d8b6215c2142056e60302047c435bb50066306402304b164e46dc4e49ca11a08bc379cabd711b6dc9ea0738fbbf5eb2d229393d146750a30160926ba9a6aaa723a6f05d401c023013dba823d09c575cca88fad3fc21ad0f8caeaaaa7ffbda6965fadd3c6b8b382cc8117e5b12c43b9ec5bd719f06c38e8f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500663064023019fc10da06d187477d1e12d0c74b7178150eb26c246faf10979dc0d198a7d70060383e86f68c5c4a0b244c045e633c9502302f3da2dac315b1acb465ef93506e83a6c28f9a6a79e38d96b094179ea908dcfbbf5fa71a87db1613a1c2c2dfc934f9ba0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500683066023100e6fbf62ce9489c5ec1ebca77e61894f3d559e111c059d5cc0873c72baa3573e6f0d2fd8b2307a7b954b07d1b428973d0023100f7a2e4a7abdddda2849061c23627737b76317ac903527b712187bee0d7a8bbe195044844c257f00d64a5cadb0b9417830302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500683066023100e7d35c58555f74b29dac45076948d208b773d3b2df9fa727c5e750be07de990839e9cc24fa464e5a4d49095e21ac3ad9023100fa87c950f0ef368dc90b6b104f31bb473fa204e4ce378a11989428a858795c107b9c874494a2e271f7a81e268d3d02370302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50067306502301f027a11c8585a35e3494028ff161e44d8171c4905f0ba8e19c684cc3e1a00f6484b7e1e886e4342bb4e3499a0f6bc4e0231009a978d2c1b2f30fb7b288868c2e8c4abe7c08f48121a44790f9ff202db2a168ac7ca7ae95652dfcb33a92ca40522a5bb0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006630640230396f65adc8f4a78c191c539ce0b02be4567974c9e28278cd7e571214066a888fed4f7ccf697d9b78aaceb9bb709562f002301c004660c9f6fccbda86ce081ed19a9644663e00291c50fc3e3f16e12ef5c49413ee002227dfabe85e00b0e22473937e0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50067306502300a2024e734f4859395d3fb1b992f30103c87739b6289f18fbcb9b72f13ddd0aa19c19f9eb8e4a45c1bab92b17926317f023100ebd2443632f2bebcab8df2d8ad795f57a6eaf653e2067a941764c2c0f52827071b020ff41df650b617931907ffba19d60302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50066306402304eba1fe74de7d3ba2914ebc49ddacaa6f4ff7fb26ec023f7e9b3db51e63a2f947aca67eeb1be2f16cfcc9c1512b3d9e4023032ce609037b060ecb8d02780b3c6a9d70da4d26767f449cfd64a5dc80440368f477db556213dbfb2f353f761ad81f6e40302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500683066023100c801870758c6896a94c8953d7926f4d8168f43b18517af32927033025ce2bb170d75f07b4f5d3a99c2a91608c49d0c18023100ceecaf36f5ca24e9e4fd8cf529bc337e0e151255d9c9a30fc8961e60d6c5277ea750c0661dc1611028611d3728c2f2bf0302047c435bb5006630640230090c0f6042234fb8bd3964e6ce91051cc434dfcdccb11f9fa43742cfb1f62981e4e6fdd0f48f58ca5aba53d0e7f9470a0230749b7dfacfbce93701c4c9b2e04a1318b1878ab4a838f0ec6c7f56d85f674bfcfee6f0afcb84e848f3b514f2c3ded01a0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50068306602310085648e1e932540f359865f07047f80b689666185508118b1e551717b2532f2089cf4f5eed1e257516670d4cc2bd1af06023100d2d6f9ad484cd45245069b2f78c0eb6b8ce1fa114fc921b611b920f2ae63addaba007de97b4e4f208ecf22546c68c0110302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50066306402306affa95da8df5c792bc543fd271094dcfa576a505324485f38960107b3592e0e1bcde319f4a02169320c38219edabbd402307eaa9589bae8c0f17beefef04861ec93c53780d0768abc9fa2e1c1ffa7448f69a310187e80d61fa193d16ee5a2b38e3d0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023100b91c5ec0c0ee1497307139aeb3c87ebb46398a1206106045767cf4fb898f247eed22a977f39d74c45a7d0712b744bba002304e982dbaaf875527ea0a1c95ee0af40bdf94599e3c4b833825417794aa12d2d838bed28bcb85181fcb955336f6a42c120302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50066306402306482390fef032f9eca877a603ae590c9bd72708440aaf087d1ddda2967f6909fa43c1116bb61680853391b217a4912c802303101ca100be0e9441ca35b89eb3d133b544a33c05def279a5d401e6ad8bfc13a432b02671ab18758d426cd20123586a80302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50067306502310087d76c09abd228b3e29a8d5c6fef48fb2c4937c7ba5953fcd4110f2f2903076c906a6cbc94c6e90312e2169c6837ccea02307d111e8de520d631255490cedf26d5f7ca6e65682bb52bbf6d00ac65c115af45cfbe5582573a72691627d4062abf893f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006630640230383ea825c5bd1da7e69067d1c1ef186127e736b774b1fe85515aa028962d521bf2b447fa28ca712d6d79c83a10c869e0023004aa18971a7cc77db08fa8e7177f2ba2e3baf7e44fad0d94e03f64efba28f3a956ccf1586886525f045f4aa1040f093e0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500683066023100b8e7fc164bc33e782c97de6abcfce3c553eb24d1ad8a66fe56d237b9d9e2512555f27b76822effbf19a429d3f90e7e1b023100de47826ef9c5762fe2866b0f23fb9fecb37f2a9dc59c7c129cedd6de3d7c1c1499ee70961b88ebb9190dfa5bd61d64c10302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023043a46e069d6bbeddbec20f78962f47bdfd79b8c2d372211e4fb733771deb5db85209cfcf38fb0835eff5d6696387ae46023100ca3b477dd8f902f5423f9038e44c7905f85365274726e66df50a0e3e6ec817b2ac1ca99261cda9de2d88b46a0789598e0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50067306502300825a8f57e4ef3d0fa1e27c03b07e586e3784e066f65fb19344efd582256902843701d39cffa8857cbca057e9b0ba2ce023100e9a80d984c391991648d6cb499a42d431bb517c0cba7d72e9c3ddc192ef50cdaaa3750b35b9b22d47459c3ba6330c1aa0302047c435bb50066306402301a4d282860c5a4f7dfd9c641559dc780f98da729bc347cad2d4e7b3ffa46d5aeeeea8edfe6fdb76376e5132645c178a60230443cc01a21144597a81de0e3099d5827ad65cf9adc06cbbe73189f9e3d446e0d971474eaa029e603757f0ab4e81864bc0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50067306502305776da6eb93d5b22bc6a1fbd2a3a165894f1389d1a3075112fb62c85dd48ceed5f154813f8bc7af1a63e4a951803586b023100dce44d5a278116dfa3037468467dc4a4e40853042a2185f2e525e6e5eb84e401ca3935654c2a8f4db2c73bfe68612f1a0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500683066023100cbe213f5c393c3a7c771988f8d540353fd2c6a41a8ac8fc88cb2ecdc887a57af21f8769c8b3eb75790355e164808d026023100cf01e0e7010caba9bf842f190177b4a57bc5e1df428b64cf6e2e93082cef7dd195cef5c99812f4880f1b77d24b7d714c0302047c435bb50066306402307aa428bc85d600c486de6ebec796fc4fd2fbeb191f8f7b6b98c281cf2bf119b8b0ffcdd069aad1ac215ac2f3bba7539302301cc179c83d3ba44cbc5da57d8a172987451cda9701740e7fb730c2ae1e8b18c9c9dbc1dd08a916304efb6aae9a85280e0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023100ed9a0235d44af1f36b7c6923b34c1ddeb383c668af4cd093185c21602abcf37eba3b1a48ffa7c3c03ca4f5e8947c75e702305620b7d7989a6a5fde815a13b6f5bfcf5a40b6c2a24d4210085a6902120b7d46531aaec99a3dc0b33bb7753aa587bea20302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50066306402301e907b69c8bd7918e5fad27d03743494dc3c73e5d4f7ad25cbfe3e61f5928c0587ec082cff669e5576f385accb7a7294023075c73f1dd880f47c54656822e401acf2c279cc3979e53f252f9c8f9c3eb4375d21f0eff65bf49b20f1b30749dc5400940302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023100b82d2cd32b92d2fe944185d3cce5a98632ce26b7669099d65ab4e487483ff9c05408184d9100347600ee689df40d210602303fa67ada2812b6de21270a63578f82cc3faec87fdb3eac3c18345d29d70fb7ef7685c6862a622565e38d3acb6f0f2f4b0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50066306402303be8219bb585180b1804f4e686817ce6d4fc8a8f79f52dcb1fc9edbb884202df3a5053d2aa49b30260a73be8a031e842023035bcd768ef530209f75e1dde96579652c461d15132a70cc72d6ea96dec60ce2d8b60a6debe61f263b0518d69224bca720302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500683066023100b48859e68b57da5738d35ba4b9bfd52b025ffbbef154cea1ba65d0a1f7ce045ee2f4e3532647ba9f7696aba934a7a1ff023100c71986b0f391a32601f306fc1d20f7db858b68dbd07bcd9b1ae9c5bb68aaf287f8ceb2ff227f22f53137ef96085b68d90302047c435bb50067306502306f871ff699560247053b9757d79debe086967253dbd2eb5ae19809cfcbf9e0be7aee1e375d6ae640bf1ecb85599068f0023100e54ead1d87a475f23ee3c904cee1e490807ab4ca6128d492ceb553397221ba00068ee49b018a6e5fe261c84517c4528f0302047c435bb500673065023100cf27776a159afe0836d3f57544dffbe70caeb82aeeb639da7edff7c1204264d33a744a22ba79416f008c5c2cb6ca940002305694079fad6de386d3eca307c5f1369000eb961cd914eb2aa4dd8e91a27106de39cab5d07ba6262e18a4bbb4872f25880302047c435bb500673065023100fc10df5ea720f74102873ea6ebe1e9b9468bd7ddb49f86cdd819e51c718d795fe6adfb72717332a17fa452810ac50a2902307cf24e76ba4eb19155caa6cd6169779c3e9e4be78536c5c40209e592bcbbb2d1e2b64be2cfa9d83c5bf87f440a6511640302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50067306502303a0ba7eb9b128a015060989bad6e9a369a2249143906d74539e3fd3e0ab62f38ea88f84ffc228121dfd68160f584a358023100db2adbbd4a0ddd8bb0267fbbb8c9a369e6c2232158db9f5b9996b411fe6d026ef52bdafa048d4e299f95243bd4b766d10302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50066306402302e9b33f57c9511d3faaab6ffa5f432c08ae2d526220027915123fc140fa1b2209e85cec099f7fa67c6e94974eee6cc2602307220762eee1ef27a4df3a6689acd9b5812f503b3ec119aa0557b96dfda12a0008f65f8ce014376f984c369db17beed610302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023100f637639dc9b816cad413011061a1fbef3672015a14fcc2e1a61b0e491b9515ba12c78413ddb6faea67b86e39e452dd750230225c324f45a27b927bb1d2558cf6bd51699d409d664634745135034a0a04e77d02ca08e9a9d4d17600e2aa95834e3fd90302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500683066023100abf8241113ea1915c158429bcb8bf4c154d686fac190b29a45e4a96a18f2377630a4bff44fe2e57f0ec7a236a275328f023100b4a2e38066db54e72524149ad216fdc7d1cd5a6df2cb6e6ff3a0b50a5ee4839fb386cdaff0dd50bfa5ad6e4386996a1a0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023040b5f9cd52e43c0ac5beb6a39e3dea7c637a6d01d98dbbcb4a3dda5e9eb58ad5e8927ed69220d963fbf172339b347f09023100837ee2d4acce50037bef8bc7543eb1235eef1d85b92165bb365be9528abe8cce5956b29af458160da5232542f129b7110302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500663064023027a446db650fde2e2c4e789f91c2b8ac4fe1cb0b1f5181546a15633b90af832f9fa261d2b3a604f12823618083bbe71a02301ccb24525bea1d9b72e601b60f64127cc274f9d445c16d8273751b6e14e656624ae8fd86e9dc0c03150e7ff772e7d1cc0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023100f637639dc9b816cad413011061a1fbef3672015a14fcc2e1a61b0e491b9515ba12c78413ddb6faea67b86e39e452dd750230225c324f45a27b927bb1d2558cf6bd51699d409d664634745135034a0a04e77d02ca08e9a9d4d17600e2aa95834e3fd90302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500683066023100db641dac8e80d701ef358f47158b447a8496c65e01dc78eb18731b7d8f61db9a8019e55467402b1b9e45ca48f3bc7de1023100f77daf2dd63d301560f11190f06584d74516797990595a73776aed71c9c59d53f9a155b738d0761a482d0afdb46b2fab0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006630640230363766d48afe73e5ffb10867308d3b3918f95f38d4547bb0493bf2c6ee2ddbb8efeeba0a23b75a814df5a6fd5bb7189b023066c665e7551c57d1aded8b0adab6ce4516d6610de31451303ab57f87deb8838a63497a801354949f59437e1766a4468b0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023100f637639dc9b816cad413011061a1fbef3672015a14fcc2e1a61b0e491b9515ba12c78413ddb6faea67b86e39e452dd750230225c324f45a27b927bb1d2558cf6bd51699d409d664634745135034a0a04e77d02ca08e9a9d4d17600e2aa95834e3fd90302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50067306502301ffa351ffa38e25c9bde166af6e401c9c28a8796d21eb955820c03f511d246cf0d74690de3ad1f15f0d28254d873fafd023100e6ce14095368b70520bb2d81c3be7133ea602085cb73938e98b8fd27d042241a8a93999251e18ea09a2945584b56e44f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023025f1f08b9e7066b993e7a2893190154d06d42b0c6dbc8122b0d3f73605cd9284ad4043a705217550404d8eb7cb84c9b6023100a645953939fbce3e83770a3fa602485ae64c01d358d7926bb5f3c6b94499497bd5682cbfb7a4ffa8734d622f71ddda8e0302047c435bb50066306402306995bb623cf4c6e11c260a2ed6b6a104e033182d72ef638addc325d152bbb9ada8ccc9dc7eba761d8420ed1f4e464ceb02301ef3159d7e965b63d212a5c2436c31fa38d309c667c33b9ed1a6539b8aecd0070a157841df1533aa5d7d59b66e8f5aa20302047c435bb500673065023100a77d2858359e3344e6585814a8948c401049629cf0052a01e9676caf58208d01151ca18924f9952edc50f10dd5d384a4023050467e55e6342f2b3864f2e1d68bdcad6162d107e10c2e068d79703b6e0e4bfadb420551639f16a0bc0be819a3389aaf0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500683066023100a096a290e9e2a6cd7f86817ca9bf30ecce8ffb71c7819915d9f65856b303dfb6633a103fe17cf5b9bc99986c31fec2ad023100aed6def68d46c3d05b6d9567a32a94783c0df70b4f7dba8168292210b796ff87aebfd31c2f8d6645530420aad1de78e60302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023037f572313364bf7e6687ebf9eeaa3c827cc6012c3d4daddb392af72da76bddafe98192db5080a5cc93b13f2e2724595e023100aa7f003f95314bc0549f4d9c88fc1cf35b364621682c5e288a0fa468dee264df06fc5f6f655bd13cbc937d3357ce5aed0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50067306502310092c09cfd3dedb3b47c0859ef92f8176ecacf044a9120bc14ea5e16b8e80eaddc1c40d97fea779dc6c5e8fa73e27bdb690230527eeab56fd5d1245d808bbbdebe19e0cd91741668bdd88793ee94dd393704199b0d55fc9e05e36b00cc8d5be26fc4730302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50067306502310097bf589714aac20e31e04e2d2948613fc2b207d276769a13c0c75c8b89290c07d8b79b2e3c0d9d9cac675115197373dd023068f065971bc1feb9b0419e40e7920e78ae4eede39008d6a05993f7b9afd3bea5e285298256aa33d43bc2587e212cbc520302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500683066023100a386370a505ee4e49331d1fdfb54d25dfe2b4f9e60860e6716d3bfd41ba8e2d24cbad86a5d63a15ff1a39f8464d23aab023100e94829efd7db65856c8abab6f63c8554106aa90b2d6d1b712b1b5f260845a5603ded0756c6d08a2c07d8321ff65c26560302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023100dd8ed440e0b920359c470df1c7f6185f68ee037d808aa262e4c6c444a327ac7797919b65c43485ad0ed56693e66056d7023049f8023a4df1b4d7a0e26f48ece1961f4ba3e46b91e4364a605c8dff1b8eb9850129d05f967fc465f7541b8c9e8a1a940302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023100d33ede18da9037f463aae44e8a941aa98587eb2bc4d90f2c6ec8d24a110fe5295257dd2ec32f4bc1f751b37550e31aed02300a2b7eed71a67f189b1c3f37d3946df70c1ef36909a9fdeef830fbc2fbe0d9214890f5be3aa9f8ff28b370a939ea47e20302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500683066023100f4e2abc6873eaa69ce1409fcc1a59c248b93d0affa867b2d39aa4f14fdcabf49b8fe49ee25e1262b49320ca40e452da90231009cd6b643b2a3a0cbd28128e448db04504b8726d02477a20b6801f89b408089104c9c4cd8c080f11c5cff433c4506989d0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006730650231009718a2c13db4d3791a1acc159cc02c3370851b76be1fc6f3d80df949b29c9e7a7381661b5933a2f3de9d6f3b23a2ba2002304ccd8757fdbcdfa8446ce38afe56b9f4ebe0abeb67351cf5e36dc581eb835babd5eb8654048bbbcb20db66cba63a572a0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023100e70e7fc53f57f21f150349f8a9d4b114b5df045c669178ef037b30c659f73358d4fe43428d23861f47517cfaadda029c02303aeae2ef2575cc9cdfa6b79a25933f3731153fe0eb3073d3ef9fe0e95cd54373a8c73fe0c6836bbba467fdbde21db14e0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023100dc4a35fc4a455aacf20c88c2b417f2c81661598f0252cecdbb7fe3268eb150e7b1196c49c0d882ce9fd41cc0ce1c2486023038896177c33c979228285e8d4837d084980d8272e0dd0c95528522978e976ab79a9f53ddcb1568133c4e0a1cbdfb9df50302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006730650231008c0d9844dee22c8342bff656a5f071dece9c13ebcf93dbdd3f6b973cca35942c911f3ab99ed5acf6e59426e8d40c4220023053223408b754e91aac46d1d804beeb1de880382f9d439054c8c434711a18d7f83793493026af7ff24ca16589b0c4fd5f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023030141d627c33e03841e9c9a88bd67856f46dc8d92e19706e073bbaadf9786c84513f5b77941c330064cd8654cc140014023100823c75d3fb0aed0d67c04983d7c4680a8c6303acfab0237d76119cefc9adefed3da0d59728cf3ce38c6abb129e0241400302047c435bb500673065023100ac1eff3e0dcb4a6db76356961027b5823acf6b15f032f397a8acd3ac99efbd065d69f33a6426229b082da74b93ebe3f002305abf91eae1ec2dcdeee3b72bed3dcf5e5bf046bef0615e363a2f755c340dc2f7497d903725cbed1f2fe16d36061fd9a60302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500683066023100a70d72fbeaab17c01077c4c3a3988a16f8668615903836c6d2379477b1fa91d18ca7e528373fb1f2f836517e87bf77d0023100c75f935d77dec6139f46cf1f8db5e38b5d61e136bcbb258ec7a3ee2fdca99d279b93275d8d5cad79e129de565344f2540302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006630640230276e300adad7c65c2a5d6dbb025106c1e1ab8475e335bc3bd31fc742c8baf7a2159611de7da3a696d748189f6ef03465023024d46a46fa9ef83f69df615e2dd0b8403d9b049778c2329654524c8a0e1d265b1e5009224029ead6605217066a8c15bb0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023036f87034b4ec84ef74a0d4179c91fcd69644c516bbda841eed90f616a318159fe37a5eded0bdd1b333e82b6afe2ad8f6023100cf6ad5808f3fe5e19797beaa1ef68d1c939eb390a3e5ad344af178de5acfb3c91866fb1fa1bfa13ee0d04265ddd426a10302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50066306402307bdcaf6b01e851d6e39d673a8fae8e6c4130362d2761c4b07d7eef8c58891a93285f5bb290d6805bcc07678cf0c60bc302300dd379d068dbdf8eb64ee613c62e0bf5fab256310d85c08a69f00ccf14f1037ae21cfbb5094f85a3f67c273cb6f224240302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500683066023100a429186523b7913ac60cb382060b6b1ede5faddb0836060f5874c78d3b5b2cb4aadfc0b03ab08e35c57bfb7ca414f535023100c3ecf1b7e8321f1c456c9e6b1c472b8bc05a4079d9c522605f0ff9beb07307a4884cacff48fa6cfea0d19c917d6579f30302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500683066023100a6db7e22e3d2891d6468183a424285d5ec08c30b7ddb0f82c49284313c98b05a0849c85a44683eae8ad8021b100f9245023100b6838ee08873a6735770747983bfc1a8e858d18b0303307d33e5941f1ca500a06ec32fe6a5baa3494c27237cc9db73c60302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500683066023100eb602c958480aec78c1ed9c8c483f2f1881e861531e0a8b5a74313636ad5714bcac13daad56a94c34fbdfabb72b538cc023100fa0e3239a6a5c9d36fa6a0517a6ec18b0ae6254d0eca185231785641b157e5390e6724974e482936fdb4c27fdda11cec0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023100b30a5fffdbd6673d743b9d482082ad0a8bcd3c9c021ddff939ebc0f89ca836cd4fbfe07b7223e2121fb2573a8fe53ede023029291c91741ca88af10328519d53333d9e4a9d4d27490084c008f33333d3ca23bc2289ad14c0a05012e4716c883b706d0302047c435bb500673065023100ed064e28115c4c22d1494e6e4f5c56ec8b0053b8b0bdc55ba8f77927cb414429806cd6024954524ae75781e8a235f56002306408ac06cc06902919251b38bb8bb6ea98db7cc7b6742f38bfec033a2de3c7c6a9116496717fab8152217279b02d711d0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500683066023100cd2b4875582b36a124c80f497589aa204fc72df616c0374ea5135fc38a90d45ed06333b95cc807ae6caddcd522b579b2023100f5e793b4081c81347ef5acbc595a55fef49c0fe29aab985268bde84c98229c9fd8125f0d3b92bac831d38ef5e189218d0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023100ff72d8f28411e2e1155e6369bea9518a5b80051770cf444cdcbc88df618fabe61212f7e6f9105c7154d1cce57800bafd0230431c33011096fc4fba563e6629bdd2662858efe669145ee0f612a53fbbd8dd975f3741c0de1a3c4163bafb11d11b34a00302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006730650231009d9bb32d2ffcfbf423d2c7be878694246dd8d97e69758b5093d269ca262c197d002f58eaaa3288ca98ba4c5715961cb202306deba50443e88bb0d671f3726c3aec639ef23e5043c21ea1d294dc5de40fce4e2575f0c0c518c660eb34fe4ac7642cf90302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023100cc86b90c160b4a1a2aa082d8654a1102d6e5cb85af346510a101f979bbff1a002f9ba31de37b79fc8e8bf49425fc367b02301a2fb8cf644795d5e14191f63d6481ebabe25dc06bad787fe21c89c4f1c3eac8d36486e9eee036a032ed5757ae813dbd0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500683066023100e666513883f3e05a4d7987ec6d18089408c9b50345961f3f67e07db9d8003bdd7c40e9a4887d67ba95a817105bd60e6a0231009ca94a9d8f4849009bb555e30c1e9e289ced365b1b685fecfb1fd8f9a7f1e3e71e1f204b9eeed74d49c12a3e140b35470302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50067306502306021d05cefb16522e9e4a8bdca54bbd1eec772f26b71a1758dd38d45a7d2383fa904f5dc126b2e6562791b4b6a8ad6ff023100f8740ad3301b822379c7b1a266c5d9eeeab79d2263cc43ce417629d5ccebf034cfc3220f2e13a247587cf7a9815c47440302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50066306402306e04e05f09fb85221136c3634c24ab8aad22db61fcb5b49baebb068f5086dc0b6a336499708c4a513140164fd2d777c602307785c69d8fda3861c75b8adf382e678bdde3e5a5eeec530063b0e8c7c11112a90fece5769801b0c17ee9f561ce148edc0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500663064023071e9a72f4e2da94b7d6f6150933f89942ad228be81173bb887f567c38d924b1a874d136eb1e34db90dadcecfd7e45a5302304d6a16d766cf9c0c2265bef604576a2d937819734432df270457c87150c094c8e7b15ab9748e6c1e1e868e17a15425d70302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50066306402307c6d533f2d5c7fa10be5f072691202b15f01cd9758d4319b6cb443d8c9aa9dfca1a698b392ca5dbd2f6c0f2e20d2ac590230145ee668eeedb4fa90c4a927ac1893df7736318311aff1a5ef5f4a7999286ffe42bba467190b020ac240c289d14728540302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006730650231008877bb7a504b15326d30fb58558713eefcd675887a96516500090ceee0cd873bd6fa90aebc8f2e3ce16650bb146aacd6023006581a592f9f984a0cdcc818d692f0ffa77e579a08987c15a3e83a7d391bdccfdfb8c8a77e01187e6388fefa0dab9f280302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500683066023100fb9359fbfa909d009402c12fecae399bbb3e9f0575e752ac31769ec79f53957331dbbfcf589fd4844f9b4088eec74d8a023100b5139b8f1c247aa855a7a9c39fb89a0ef928e0a9211453a420811a093e13d9336128bef373fb21a44b7e06c75d1d33f60302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023100f9532be66f7ebf1294c586c2084851745381de9e4717759104bfb27ad6b9f1ffb85207fc980a57e23d68d174d88adf9702303f66db007cb5e1a097f3ee2c63645dff69cba905d2e7d81afa5dc567732ba32365f177ba4eb2400f2d773d1fdf32cc440302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023100aadba24e023a79019cbd6a9b8221a68ec3a4d62840267ed160f1e91cfdcc3dc3bac6363f8867d9eea3d362b6f2905fef0230559766a5d738e3b1db0a4239c96c6d0584fcbdb19ad53522a8400e99b6bfec6255446c2bb9eaaa48543ecbbfe7ded50b0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023100e1380ae5eec199cd28e2a693e25e511260c940257b7c288186e622f8b87312cbd6f09448afcdac0b778e6a8ac206533f02307d80b45afd3079d46ff727707ac504bdd3d43b6970fd3bcb4d9aa0905709571ac0dcc1489f9407fbf1e1e74d577002610302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023033035d25d6aa7f859cdb3dead00220eb34486aab9fd4227cd12370b6b410c548877c3f1a3877c48618fc6afc37bea080023100c25cd9fba85e2d11b54ef5624031528a9de3cfa49d144848cbc8809583af62799804eccee0cf7e2439cd36661fc16f630302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006630640230566948c763e4875446b5bb7a3b9b71e51befafc05859db6b84ece5d356f072b05226c1f479b7e9f32814ea068af20c8602304ddc89480f49a3c686c649ceae92ef54989a646f3096f621c3de5ddcd102994094f9ae7d8824563b84c322dc6628458c0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50066306402307e2c4ea20f6049f2a9f96b17e5900b84159a85ff964ef63c0a0ad1e0e235c4ba1927fa2ca9c98d7c65f32dcf238c0215023027ed951aa032c906f6f49c4b41036da7e8e58535626aef2a9e3492a74c8814dbca000f8a4946fb7dcc22a0846d5e52c40302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500683066023100a912d0752dad7d3aff9116e584100a98456137905d7c3d28b27e683ab30dcd5124ed1e0979c12e458e0247ed7ebb4843023100c8c06ab001d8182093bee34e8141a17c0264de031c4d0fe4519e111a7e08f94ecb0eb06734338ad5d819c65d244d13c00302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50066306402300c4d90cc03ab7a539d92ff99264427412d91dacaf58306a04ed614d4bf92bfffcbde5412052c2fb64a56efd5fd261a4102305866279d885562b51041cd25194776c91af22179ffccc7e767919cc0ddf7b7e386ea25a13a00a98f48484562eb9745230302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50067306502304f128fa497c1c9dba214de9ec37a23320fd191ff1b1b9fa82b49f69d1a36ba09c8d4e1e94b967770082cfc62f555ace6023100c6dce47d340716271214643b5cce5ed23ac247c422969d45e048865c48a78aa15a4497e8676b3c145fe993d441ff045d0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50068306602310091049d21aad6a799152e6bb844042de3ed59c8f0b19a9921406d4f3e3c0e09e936740c99fff95ec061f157a9452cce34023100e3f88b676e8bc8af143ae754531c82d17fc26a6d0d80806392cad02cf8673cf84cc862181db094833c754789fc58d62f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50068306602310096e0f2f2aa641fa78324e80131c6956ad8056d19e0af7db137d56125c0c1649595c3054dcc70844a6a07fdf86f63ec86023100955eb481edbb65ee604542e390438af41e5627c72c837bf0dce299e5386117d3c45ce438ed827743864ca1056b97511c0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50068306602310087a7203cc96524e360bc441729a06b16162ab31eda0e7a323f0f13776015642c9e6feac95480701149f6e99d61908ead023100bd78725f2540e37253f6d48bc15da2fc67e5a3d7c82619e904ebdd0a5da59841a57d91e1e5524cf4923e358e0e7a6d670302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50067306502300f09eff957477ac5de9ce559c02f67a8bc8174534eea789878779296179750c0a9387672072a842223e612c8925b0760023100a51e5a80833784dfa28fd4ce14a0f07926b397b22c208ea9774e1d8d8a40270275a4ac96551f31d1e646ecd20e2e42610302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023100d33407750c932602c153c8601a4d67201d6acafeb85216884639fdee934841be76594794abcdfe87cd173c9bc925a827023077cfbebdebc29908aa9e38d134ab2a71cc2bacbed6901d19a2f60ce216fc3932fdf70ebe01b430f4df4c191b8544c2450302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500663064023000cd93cdb5b6f57b642f85fce7e6ed57a34fa4ed13790d50ed04426224c160f9c8d36a323f0fb06a5f47dc29acd98c6d023008a0dfef645d01d5f68ae630f64a02fe7adc13ec4f64e6d184d6aa6394f0d0cb893e20effee4aaa8035f7cfe64601cb70302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023077603895a8cc69dd0bd160e20f957bbab5f4cb1c4f81a3817633cd227b84d27548da83013d4e8b0dd43f1de2cea0f474023100d028e1053f6120c47fe063d95e822f7144c3fb5b25fd7393b01c6e79bea1594c48f448d2f7666310f2bcacb6f13992ad0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023100d029382e3f91b0fef2ee45894fc614dd40675bac4959edd48e07a65c516bf73bd96eac60c7e186a44c26fd4fca7467a602306bbc86401b9e3a74068958262c4d60cbdc2fd1db45806e543e0a2901b121057e65fb613fe2387b3051b3e905298260bf0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023100c443bd31764c6a2f87d655853bc6defd256df64ca42c00cde6b46dff1d6d6c0494bd59bee30ff96fb8abe590c06e552e023036817b655dfd3f5f9a5682d8704d7354daed27b27cfc8b168e3b78c9333b5c2159cf5c0d36e3811db04daf9758398e150302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50067306502307c08f7d1ab1b940d2c4cd2eab5ad2d8ddd0de363615ea1a3561e199251968e902f76431e628bd83d437814fccd5ef6da023100d54b85b13d46ef28345de31fcb174f95aa29d5ca5e2375a3a55d4bca35ea4abdb6c1b480c4507549e13eccd75b6c88790302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023100db5541ebff35f5af7142b2d4e518aadae5774f7a12ee073c8bc23c71680f8ea16ea446779b6b0aa60fd60b7e08854e670230588e764ef0c4fae45cfbbd1b892a8658ff06ef0fb8ba1bb6b09b9589a44491a824ab785a597654cbb8bbd066071be6a00302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006630640230216ee85b59160e22558f5faa24bec47ae1f0edb7c9f750f9add1171d02c954259a16a6043596764e6851f30b0d0d71960230508a095473a275d2b13ee0495d9344ba4e04b454a6bc27ec52cb5dd7361437a4a8c9695e7ced20e8f29bbe7726f3bfce0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500663064023039b641c712b4a418fa3685c780a6d8429a3438bcc6a98b2f80240c463c084d6f5cf947fe13e2839ab3c12f73dcddcfe802304e46f8b898849d72d68b80e0af7dab6f801b0b55f8cb06d7de18bd7f8f17467071a18ee2a554bd8817cc46099d6ccccd0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006730650231009d5644648b7ea2015521c38ee58a77882aabe3cef4c9be924ad3e38287428f2802787c4d3f26cdf41e1f48ecfa35d2c0023072a7687e22128d34270bea68baf8197011ee60e9697d430771edecfbc3d1b1e1284de1e2c4476f00106b32e0f89302770302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006630640230357d638d06b1590627e92e2f3c2f562de20c69e5be9943295c453fae62944682f45f187bdf2be5a114568b589461a77802304ab8c53a9cbdfe7fff21b3f66c963d0972c76f4dc5846889079a8d1edd35f6ebe2916f5407a421ea4ce3f1ba7b7331180302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500683066023100edab54492af35c3ba62d30e26aa95ce5c4ffe8961bf033027fbda2995d2663f972b6d8970f1ff71d0ad0ed38ba1f4506023100b77b87ae034e0e6d33217942a5155c2798103bcc147a822a032ccb3dfd3ddd7d0f0aa0bc1d3323d4a8d1129ab9cbf98a0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500683066023100b1f19666e8b465aed30f22f20ba5c05fd1e48f73f54ca581e17dc7e0f9c56f3da0297cf958449625fd4f72bd19149e29023100c78fb15903b7adc8ed024c005e3d0b002dcfc39b04b7301b418ad09256c610ff8cdc4a31aa2ebac08125fe4c57ff778d0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023100e075187b6a5c9b0efb30b5ce0a5249f28f9692ba63c7d5a430f75b2b6cba19837932730211d1315494380b269585bcc302305a22f5f97cc62d55622b83a2b258602ea6bcd26f0bd3884dd52a5647bf678db002d13ebf3c6ef1cd45f916a72b8efc160302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50067306502310094f816308d71d9b3226a9fc9e6f9b7e12f03df6331c66aec000bd6f960873f9b69ae2882c806bf58e88bb6d6b64316f1023029948ee580a8ab933fed777236fdf095f3e458711f9e23e570f58ea385727f06d41a4353156d86c46f084a780cb5b9d60302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50067306502306873ee55e6edef6d92a2861dfb58bf74c51a51961bedc1a54f888f4fd32752a6b4a92d20a3f68617d196280c219f0ccc023100a636bf8f6b6f2c85fa14223d8ce4c742d94aa91ff55881bb82e4df9d019fc7d699993dcf0a38be539da90f40dc50b6110302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50067306502302203e61406020ba3ba034b06ee9a234714b66b63d6700118bdf6e73c7a4414be05199bb876d065de259b0159c98454bc023100d90d8a040ea4a72e125a0e0e872d48041324aa382caa9a2313eb7b289d89f01d3554f55f5bfbcb87fbf6bf5ef7e4786f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50067306502305fc1c9cc64b95aecabc0e23b48b75f56006f50c2c464c19abe55087aa00e13fa58e5f883e9273778ea86dedfcd8511a8023100c36114e9032584d65e41da783d764923144fd313a1b4f7f4c45bbb4af5fc2c864729c1e161f5a5f3f9211f026f35f99e0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023032b16bb685fd8047452116056f809b8b2702755f611bd15e11f1f9487426d37c5a95cccd1539c53346b87f332d545057023100c1bdcf9cc1ad9dcb0b628500edb04e681d16542028945cb203e266069c9ce703b946ce190786000b6b104513a6dcde2d0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50066306402304f77dda69f1c2ba27697a2913b91e43f9a2bef3f87dfb2477c359015b3127c70b689d692f5089a178d264e2955c8ad2802307166a651eedfac7ee22d6d26c8a28fbb142944e854ded2c244eb89266f6752ea4361db426adf6e3163827559d79dd0970302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023100a4371d49ef61ad45bdce377242bfd06fcea7d07875a85d89139ee5d7d9f459b5c44f67e6c98a7ad8fb4e477e1d327d4702301274aa367a929747a46609bd62a6c46abf8c218324bd3a21b725bf35f96d8ee9c6ec975f1fca35b5f53011d26d68a9900302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500663064023056c66a02cb64dcfe4edc7f488e97fefbb6c745e671c724a1224ea966453e4041807f3aa747c346107054a86a387480190230781e256755843c1541388cb144eceb02cf16dc7de7c18e645c581e5e9ee1a9861ab1e187882c5e04438dbbdc3b4d3d440302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500683066023100dec52f6e0115478a9bca0b0db04c55451166d032c5611c05e822af88f77f78f440312fd20f786649441b7d75681f90fa023100a1c04f7237f4307fdb0ef39339ad63999bcf1b28398fefc62764ff1054270c65e1d322ef0b7d797de15a500a3d7e8df40302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500663064023078eec37199d23f71d6d9fd269d7d72ddd9da1df46ff3f99eaf260d0c7fcb9c09574a719c306e6676492c808f3b709b97023066d8c107feefdefa1e2a34fe6e8fb0e5cd1eab7eb728e88a8aa68e8fdbb8638088c5155533a9dc82f175f53eec95c1f80302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500683066023100ce86324b328ce57cb3bc9418e8ecacfa698c9a0fd28db9cf7427afd08ca58b7d7f9bd7eebd8b5ffe7e95a56cab220d59023100fa83ef16591ed9cba4fb8bd9502b92ead64c632a1c32e6eb4018e252ccb0b3667e72c174ce122aa57203e26ebe845fa30302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50066306402302c2bb32babf8e017e2db108f594709814afe3f2be12b67ab8b32173eb8ef7ac43f6ebfefdb5c34abf84508fe248d77c902303b0ebc55eb1ddead943480caa7134b61fc7ad4dd5b69e7af00c00c93726be312da769c8880340a70622ec64d1abe0aef0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500683066023100defbcc3f96469471b6f8ddab0304598c72e2a87e25128c14d563a3edee31e209c23a2f0cf43744cf2dbdaa74a7590540023100b9cb9fa01e9b1d2e4a7411c696dede5c9ba996534654c1be33dfdf1b04573a4b3dda9b53c14ca2b9d275f021d22bd0fb0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023009cf715693709b87b22136dc36c3b1d3271b136db7622f9583689ce48ba589818a66f78f9637792e633a6aecc1341e4d023100f2942730b35e5f77a4a13beecdf7e0cb5dc4109b2ca9b8705ef0f1a8e64acd68b18ae5da00838a67ad424d6c999a0af10302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006730650230592a6ce0fe31a6a5a54194be50c3d06718cb0c0ac75be84ddd183512345e76fc98a3cfa158a4d3fd34d87548dd6f21c2023100b709ae92aaf70f4193d4b13c593e6759ff69fc353dba544cb957057819bd090c478fa3b4145d9b8ec75f8e523de716260302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231009cd44ddb180422b62091900cf354103b056e7564b918fdc297ebbcd65551c29c96f7f8336ca0dc32996695c3bf9392f5023100dbdee403a96a228d9a8aac9ae3fefc05fe78f32d4e75a119ec6d14855a1ab6b2a674e16ab9e8436cb018a0b21ef0b5ab0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50066306402301b7074517bbfc4fb2f7d7676d2c03abbfb6549cc950c754e0ed97e7ae4be916a25520b02e0ef47679e13abd8fb8903e002300abbe9d06805862c6900948f296356d4fd6b03a100075e8df0dd9145e6b4d90db46a2784c492ac0056685bdcd22db83e0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50066306402301c80f485fe539cd4387f243e85b2ababf104ce7d4c02348a8e4a48c2b874a658ead634e8a43d372d44ca61f36e6dcaab02301a6384dd2fde956b4f6790b1a56083d2f65c2d30edf1741711d14038d74240e66b474c00ebfccb42831dee4d7a2a8ec40302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023100d6d015b21eeb4e6ae9ce5596c78ce25faa4b69dfb92f6a5365f964f58ab469a54eaa853675ceecddeb34efb69a02b01302305570d655839e458b1382175f5a73638954904f6706470ff306e176aab7dc154286b38f1792767f37839c61647ea350180302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006630640230322b3f51a55a90873505ae1ce28dbd720cc619aefebdb0588250157e028009a826afc288d931061bbe37f685560415e00230510a2fd687073059153c647094c46a171ed825dfc69426042d302165c02fb89c32144d58f0fc710c49ea8e227233764f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006730650230188f4433dba494fd5c384b8835f149711ab07b049a710c0b7db75644c5e70264f72f0435611997fe590e3a9b20eef7a40231009d1922636cd987ccfe670ced92f0df34d503bca7b84387bd6553e4a8201a336356b6e492268bb47fa3b6bcf4128d074b0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500683066023100ed579cb8e46f94eab76997bc0af90ce6cfc714b865d4673e49d47366a6440b5810dafbf1592a85c8d0a15ae0346e4255023100e6e21be3f977dc4d89a6470f82aa76c370a7fbbd2a26c5fe1d554874272f68b1d1cf626f982fc33c2f45a8138b3d5b200302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50066306402303acfbbc48b51f1976b53cfdd80b94a3440b2a0c3afa2e1e5fb27b7a24737192ad0c2f274051c379b103ac13278be52550230391142d63ea08cfb30f1dfaa9b76c0de01a3857dd3b0e93bd9b3d9d0937b168d459425bf11ac0ad72b1eb4c67d8a622a0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50067306502305162e304d29219cc7fa82c1daf57c4683ed5fb161b0f857b90eb7d83eed2eabca58c734f8469baaefeabe895cf6cbd43023100f6b5944307b90e99ba96cc36638d792dc1a59eb938f388413f8a541b0eb82a063ba48ff33112257178dba5229bd12f860302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50066306402307a423c79a06c5013f9be5d8549a4f9974a0774356829d704cde044fca95c378eb44d51950565b4343001fd97e6b845a4023063215ab238a0c32ea7eae5b9091a74b9009d4053c7da6d91659c82f9e0bf51381a375f3d76f6a552c659e6a3bc68a72d0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50067306502307e3efcff152885015bbd95d1b6517eac615d753d6487341c45cfae8c9fa829d930d46ee2fd5cf5b6beeee5a68a446c28023100b537096370007509df2d9e47334487f83fbdd89da41e220efe18642b889e16e8b999bd7a76bad5b9ab8c1581f4614ef30302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50066306402305fd0216891e8861f523d3f708a329648c7b3c3a661a4ad23becfdc7a76c380a14fea0090546299b03618aca6d8bc2e6d023025c1dbcb68aed9afb0b439b36361d228eb76966d88e748374f4367295ea88ad91e18a0d5578ab4dfb5fbecf60fd6f8e10302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500683066023100fd71dad1317048fcf203c5b905fa7016b07696953dcc1de986f4ccb25b407ff270b634322dcb7374dcfff6e169bf288d02310089bddacb580f84ae9c5d2e61133fc38e3f132233e40cace0aa57e99a79529135e61fc36eadf54864de1916bd0b6867610302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006730650230542db36c3876f1fc2ba1b043b74ae646558cf63138d976167dd1ea70fbe90cb2169d9e5aa46d9b7f0207fd9580f1a3c1023100f36476bfebd768c0afbd9da80316a2900b52c3e425be7b91ead449a0af9524855107f5c09f16b6bd47eb361a1d500fc40302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500683066023100b6d828dc07b0d876ee38c6f2be73136789dce172e087ff46794704b8539e65635417a7cffa869803ba45c6f935240422023100c0db96299aa74224b596d9da07eac19c15640215eb44f212a8f2c3b6e359f027b07ca9dd5b4666a4de2bd6d9365c739c0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006730650230527091700b18eeee84823410a0dad5c952294e21dfc558eb7887ea393aca347f2b84cf69e204c0bf6f700fb45fdd64d0023100cf35d2774c95bf27073b540ebc6f5cf7f219f1731c06eaa25169207f285f431f8a45c73b813a59f9733018e2ec8f755e0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500683066023100a0c9a9ae0daa50ac04e1b73ca06e2a07c251e7920e98f2100f63364bf8f879b9f4753bc5e26990ea2f3a7d7f8ef453d7023100bea317b2eab148a16c9e86416c03e00c7375a7a02417098aad36da0462bd06d0c457b289c007e29a459e0c48ee67317d0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50066306402302eb5092d0df308e6952fb2890fdb41bb4d250faff193e1b6c3d55c919a54b321827d616e604db0cfee05130083e1c58502307645bd28d8e36ab6010b25f2cb3ed38cc3c13ed41a4caa5f254ac0d9bdbc41074e6391811f9ee390dd29b9538cd8cbdc0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023100f3eefb5770c3940545a3329b8e9bf3a17ee4464f0debb0785d12a4615be862fde7fa35927fe15212583a713c561bae55023066ed83fa2d0b91b3657d2811c032850badb635022141ee2f8c0f47f0ff9596be6b73010e93fda8a93fbd1172986d94600302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500683066023100c2051d65c6fe97a8daef99b9cd5638cee6af604538d94d1ae81febbae7c1b344de99712b1cf99532081be8f4008b6cb8023100dd2c78720c8f7c00385aba3a35227d68becbbdfe327665088b60b5cf89f0ebc83e03368089ef75237c3e1233590d36580302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500683066023100c4617a89dec5705ff6643c16b5239c632077d934e2aa9b4d0cc1c3dbbd1a90907947f6e565c492551dc1ddbac68e1e7202310089cd1423b08222eb7ba9b2f95577d05c1adb7c4cce174714319aee4d4a15b881aa148c2f94d0d7c6579bed9ccaf1961e0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500683066023100e97525e63984ed9f1257cd63b18c84af59e2014c5378621d5e39363caa364595254f2171b4b72c6ce8de13fde4ca6e21023100e1f3852ec973e72128b33cee0a3c4654b4579dda91041615ded21573c33b16bf27bf4cf3b8ce96dbf55dd0ea0c028ffd0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023014130b8717e107b9e4f6aad4ac52192f1dff7041d75a4aa0399ed3ac86bfbb1f8a49e6048656b007e300bf299a723d3e0231008aa58e2f51cc26ccd3441671ee1b63b27b75b0c73d3459af3a8901c69c79fae0139fbc71ce80dac4a55b19cbff87c5680302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008c25cfbe844c1d94d6a84cb23933b41db48b30b566112572e5885ca973a3d9d7e8f7eb504cac28fa2ca72c663a9e523d0231009ccdc2a8581a1ee7f5b5c1e1fadeaad9375f159952b74d101d74f0b2c01836c824d5082060e56d2392b1e4a7762b45500302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50067306502304bab2f3ebebe853573bbfef9e53d0eefd848906dfe2c6f5a2b1034ed9a4b0e89a8dc7a53d5eac88d6f3a497166bad10e023100a3ef8d263959b01f134851f5616a56a9da035372fecc5bc2c746086762e6d0592c8684dd98c00cef59aa63ee5db0214c0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500683066023100f20edfa06fcfa6f70aa1c7002bff0b7e51759379f87a51cfb880edc797fcc6077f1c1bfd7e810c427d268ad5c53ab183023100954e0dcea63cfeb034463e5e03435659453024035ad6f5854ed54a5712fbde69c0762c9847a45f2e6e6add785611cb830302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023077fd3b4006408a8275e50a8500ae0991aeb6ebe81bbe472145dace565c17edf22514ac76993e48fb49ac8999a27ce840023100c1d5638e7d944a3476f970321cf594d56f9549e27226df67014da904a2b0fad34c23807f34ad7e01a4cb3971d7868cb30302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500663064023065b80b7da0558b9db6431bed440a94891acfca5b8340adc64cbec51128a1a038900177cd9ceb220b7d9a2652d04e730702303b15394bc93ba0620903d95ed5c134514b8bd315706225afaea89b014e7f1e34d16a0281ab992623af1a90b2a72eef310302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006730650230447892f54ba1197ff114662660e21e297a998c7ad01b928aba3418fdb0f8c39b665b74911fbd3b235c61eda6843815280231009d153253a3aab1d74ee35b94f5cee373656191e40c2d8b048796c75e0268958e51fb544bc275a67ba8ffcbd6ac5fbfd80302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50066306402304625ba0bb2217f8faeb6c5519537c2fa958d5c614f07fc85a6a590caa768908358b523370e80de7ae3f26164048d08970230069ee05c9cdb0293189dc3e19e9b169c1a621ff40ee93e2914102d9269f4ccd1f0ebcf22ef66269d45f595d60b83c3ff0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023100bf3720db21309afb14971903c732b812c5c34fe6127ce6b43010e0a50f52a5f65bd005a25ff465ff01a9fc43c1b1edee02303a6d2cc5dc74f62387f17dcc2b918754d8cd2cad18abde88b21c7287dc12cbaa52021236209a0ea59613c57ba347f3490302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500683066023100cd816369aac32da1c10d486aa0d1c9aa001cf5946c359cabe4d41e464a2c34f9df7e6e72f410b3b2ea1023db7fe7bff4023100b30701d1dd768143895e8ca3f98afbe1f95d1aeb973afaf64a1d435c1220c3b1c5f467f9bbe7aae34cf386f98e0d15b40302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50067306502304906f74cae4595b1fd25fcc12b6fc64fa7dfe83d3757305b65773934abac422d58b70c378099280af64eb9ed1c4d8ad9023100bcb852cc0e1394d6382d782b277bcf2492543ec3afad802235291aca89f805e817df9bfd461326a6bc568230414252d60302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006730650231009ac48eb15019a8a997af04442f9551691de066684bc9d46c87bfdc998d5808efecb0e94ed5469e4af75ac80165f0dd3102302c5a5be12e9a96d0369a8df2c7d9075b947ae71e6c929e15ebb917ac309e042195968eb99d363e24b5c034fe90bed9ee0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500663064023036cc8c32594f2c417faa79c7348b15ed9f624df3e013302ce23179a6367167d6cdfc9dcb5a105d7ac500636c8f529982023057ecfa4fe6f96717d0826934cf677678606920cd409d5d87f67e2d9d27a60eed012d3d0006848f04320ba731720d8b810302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500683066023100e3e55744f66efc05d22df14593ba692815e90d6a1977b012cbc64d8997a4d2b5b8d0f16bb4a5d3dd8d0800319af74a4b023100acbdb3bd7d892b520dfd46e804b7529c299671e90f2c9f1ad1b0c1be3d164ce6a305bc6710ad3ef396cfb1883424c9cb0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50067306502305b15c0e0cb90ad9dd50ea7e853fc9bd6c30e391342fd7e0c2a402706696abb9d8b163a46c072ea4a06372d10c312621f023100e38859ee2e3e0cccece5298720134b541460f834cb747cdadf7c9f1b54fefa70bbf194cd8332bccbcd2a6762b94f56b00302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500683066023100c6cbf705ad02ec0790868c20e2ee10558deebae366788f6508e6d471d127b8d37531ab3cf623741c0c1fdde763d74609023100d2bec551ad688dc1dc2df019481cf1c95fe2310a8a3b335a6ace4f5e65908eac6574c7225081b0934d3598bac234505e0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006830660231008e07607af9e52e1fbcdfe4567e184705d269da6f2cf20607a0ff22da59305863c3d26eda765dd9d12b5eaf8bcb448bda023100a2c98a885f3dea691dce8e177329b754eae3c8a4bcc078d3d5814930e59e507ddbe6491150c768d147b08d1fa9d38e2e0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50067306502305f5e453be75b8575b375568c4759f8c1cc3224a75b800d4245e50f1e71ba16cbac347ed510f16d0dc1578f3a86bd0cde0231008596bfed7cb9bc84dfa7760968958ad8a86b3d8d72680481bd377f7ba67c42e89a45a15ac43d21e7fd473bd5c5243c2c0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023100ecc7b56f68308b2fa35edc5d220244f3afabaa142b2c308dda053ddd7d15e9f474ec758de680de351737ddcf148c53df02307f96acc5f9cf77a8ce6a7e2b26cd2dce1af1b6f7e83964d4f6c8dd3d11f978d1efcc9a7d5aa3c6197cd0041fb13d43e50302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50067306502304903fef5e1d42f394070fc65072f0219518a08ff96deb2c02abdd9c0001ef0f67b775016bbdfc3d3d8159775d676077f023100e4e3da5ffdafafe899d9747db57fe337d13e3b4facbf2c65c5c716ccdf016b9f422a34eee0728846910d4318f91a678f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500683066023100d456767ad7ce76e101226772238992613009bf012e4b2125e504c071d6879f5c747fea338c7d55e8ddf95a4fffc39cc20231008471c7f94a2aeb979307b1bdf8305b31ee9b5ce844d07e3bea6a33dff87708e199ef5e7641195c179c1ef6485438f9c80302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006630640230731b5418754aa7d95560fa467683fd150f7c6a161e0409e50c76ece2d5367473476163b9e8dc6de324e3c7ac3e39e80302303d3555ee58374dcbdd0bd735cf39699c295bd5aa40339429c84f6ca128cd27ebfd6e3c714acbeab6455cc9745f6afa6c0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023073a4b8ffeaab779d6cf7cc23c662b4b5a85bbcddefb057e79af99200ae0785d439a4dc364f3f4aea1e82b1c7937b4427023100f2943e97f1726bdc613ecc6b202b9cada77d968c2105e8c845597b14693a211901fe1ddecf2f62b1bd3e158aa8dee1720302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500683066023100c3804abec2b4334a2353a9079104da352f618f55398b35dff5c0691664a57f5a56cd20b51746ab9add32523d330dcd1c023100dddac1be911f50ffa6a32379fc7d5e2464c40eef49337d4c6cbdaa89600252876adac0df38b5839e387d35806d002dc00302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50067306502301236f28b9f48f03bef7f14f6b2ea402b6174f27ff9552ce76627d2138c7dd862aa5ef29790e1b0a78cf6444a4fdddcfe0231008fb6c2ab42d41c73fb434d5fd2986779ab8a0b9b4f2b797d0d87112670c04c16eff9953083c772e2bc957eb01b840f7f0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500683066023100b4cbb3a7f78c19f8818d73ce76455b4c5fddb1be6d487dec50ab9f27f6b0db69dd01ad8bac279561c0a81e497c6a4472023100b7dc0ebcd8d50431eaeabe6e9aadde6aeb89e171e27b4c63c784411c248a6d63a66414e526f56cc3b8b4486ee781b1d40302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb5006730650230734fa2b5c9db073b90906f96e98bb6c0ce159471ba4600d13be6ab859607b48cdaa3a82393ff8d154c9a13732a5b7d73023100eea09bbf0615efa60dbafe07e670532eb22961616cf7ab1443b706585c357c359792dec1ff8cd564fcc7a361ad261d490302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500683066023100d9d7a2ee705818fb9e89ec3ce9baf16c3b47cc14650b2926f51420438399852cba659bd8f663838463ae2e0c0b60c8a0023100f8e3847d8ee2b7c4d870bd6c7e14e0fcc34e40bcf8bc50c7e36128db4ae40226cfd8eb1d3765959fbafa62c587d392a80302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50067306502307b7a6952485d08e70bada0b60f13f98e0447b2228142073a98b3562bc7e3576e76643359136b915e6154db7c37ec7d0e0231009914c8709f9c81d6b4b4b9a0f8d71dd73eb60f2d656cc6a4f985034701d0beb30470bd312f64aa2c044d4606eb50fbb50302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50066306402306a82b8d2f97e665ffcb98345c891246020e42f766772c95c639fd59eb2f3f10d7e364bdb0d1030b5c80c4ef6826215eb023061c3878b0e4772bd0d32ffd6d66ba7fba66a7df5f7e3bbb059b98603895bc24be34e45d97321eb04b9a661a2c89d3dfc0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023100ce4a7709941014606da7c4a74b6e7312592a626da9113a5071fb51bd599e09080557a440bd3bd114cd305726abd499740230558daed1bbb6e17b41de1d6f7967acdc1593bf67cbe9542190fa5075122216ef707d5fb360c5ff587df8759159a27d060302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500663064023052cd0bacd109520675def67b4166cd13ecec72aa4e5008848916f68d9fda6c2f415840cd42f6f2995863590f6ca7f79a023064a67c35bb24033d7a90b706274c785eb8a97dd6dd1f45eca579dbb33565ba3685f23337cc4f43cfac1ad17030652de60302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50066306402306c4f3a29895a032b8999df4a8c339f1104d316e0c163adcf4233fcc57a724e80c4e2bcc0a4d7f7ce519d812e036ecdd90230390489d9aff89ce0759baab777fbd55d725c541c224a2bf6adf7e0d876944be3357a93d7eb279fa8bbe03b167100fafd0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50068306602310086bd1819ddf44bc1005c52138c765df28ffcc693c798f981d22f36771fc130502570b06a795765d9926f8ff7d62d4d8a023100a87a4be1132d1585637226346a979d6589aa6b869fd2ddb86d67f6e6477b92140487d4577e147711bd23ef803eee5e300302047c435bb50066306402303f54a6f047c732fc0df240528dbcfe8ccf581c42ab7d897eed0cc2f6f47a229fc8414f454ed768d7da26c2e9528660a3023039da86d2d09c2fc24bab09f0839e8b431181dbd29f8d040eed03a8b29b6ba16b8c40fe439f2511ecc60abee3aa6652f80302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50067306502300335383cdf7c4b449ba3beb588d051a4678201a1bf7b2d781ad66c8f39088cdb24214cac2958cf5be21a84eeee1599fc023100f97884a34b713a53dd6912e1e233dc446ed64e3345f36ed360390d017faccd9be10e6fe7f77b6ac1a6abd4b10099c3fb0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb50067306502303c2baca453e81bb88304cb4706cadca529281702632eba18e3d5032fc3af490090fe7e93caef9a994fbcf0e0663f3a9b023100fb443802ccf0fb90dfcf1d2e9b758e6687cfea38f1c566e6f955565f4fe638c2db0d75647d9aed44be72af90a96300410302047c435bb500683066023100d6f0b3ea79d0af9623b12dc65e0808e416f2c8fd8e08e8c85e5ba14f9ae451b92d5d0c2ec239bc1faeb835a10edda34c023100b43f96ba3e3afb82a06ce121abcc7c58d492a79b3b89ac98d6a4f7f5b154afa081ba153b4ba8bbe71130a7a608118eed0302047c435bb500673065023003221a5379467bfcc6d38380a8025c21fcec1503894e533952affa4afe00fb98cc83693bef86da8d1b5bb8734c1154c7023100df9170192143044e817bb22f7963633ef54e85251684da76b6cc6c88f9224f6ead2f045f05d6adad97a5da165b1365500302047c435bb500673065023055faf45cba6809af1f4df4e86a013faca77b6b6703f8ea4cf388fde0cee60473dd5cf237ef088c8e601254256f101d1c023100ac0bf10342e43afe21e520d77c4966fcd0bbe9c0625e42b16bafcdf57a7c514bed2197ba0ede139d9e5e97d7f1701fd20302047c435bb5006630640230095b811f3e88545ea057eb7c09adf81149d77c1cd889f481571188a3c9bdb508a53fd601d5608ebbe48d4fd3cb5401be0230403f128bf12c72f6d7f3b1f9fe3b14ef65ae8d9ea03d4adf0d524804c693d70e773cfbb1ee58c4360d76f7efcf4b22140302047c435bb5006830660231008ef45ee21bcd82356a4613b743123f76f1aeeaa14b6bda644b48e98ba80436db7feb61859ad5e3365a78c116a0927dca0231008d54efe9a11d41bd765cf9232c11c10290f269f0a694013d4cfa12a12a12888a72c51ebcc28c49a32906d95f1dca34820302047c435bb500663064023035bdfb6f389c7e670b21048f1ad4f6536752245047f7a67c06937f766c5b26364f5ca023286a82e53f0468c424869309023022b301c2901ec569f4ca86ee11576fa75cf5243a63acd2c98bd6a587bb19ef64f41f129eb5a1745d68a8575ff5a40a50g{xdDU] p1AE)L亚+edeЧT/+`fO1+W;`RNjb@;J-w uUQFo͇s1A^gQYcxCqT{:*rA;ÿZ@ɄKG!uKD8bfVS%^[N1!ܭt>s^-zĸ@k2y*dQ^tZJ^XYܠ >ue٬l۝Mm)(Ut"20=H!,yˏuWMXlXg9xL*cg@}{9kv jYvԅEs\ӾcWS};e[\1JLDqU/DWcx7#w\2O1p4K ~jG #7.H3B+||td2&GyAE5zat#h>fqDٗil)KK\km®a~>`>?d  b ? RlH0#|H0 H0 D<H0 dH0 -H0 wpH00H0 H0jj0H0Tt($8,>9$>:>>GH0HH0I@H0XpY\H0]0H0^!bTzdUeUfUlUtUH0uvH0v`*LTlrCkernel-devel4.18.0488.el8Development package for building kernel modules to match the kernelThis package provides kernel headers and makefiles sufficient to build modules against the kernel package.dBӜppc64le-04.stream.rdu2.redhat.comK%)CentOSCentOSGPLv2 and Redistributable, no modification permittedbuilder@centos.orgSystem Environment/Kernelhttp://www.kernel.org/linuxppc64leif [ -f /etc/sysconfig/kernel ] then . /etc/sysconfig/kernel || exit $? fi if [ "$HARDLINK" != "no" -a -x /usr/sbin/hardlink ] then (cd /usr/src/kernels/4.18.0-488.el8.ppc64le && /usr/bin/find . -type f | while read f; do hardlink -c /usr/src/kernels/*.el8.*/$f $f done) fiUX p8["wUcn<y92%# ([4 8!Lxj w 3pM/& pWXb=}7tf ,TZU6GL U<; 9 PWTTL`9 lT50C> C v> i3w(+YW&rR9A9 ZqU4 +#+ NQ}yB tou&TE6gvDFMZB/ DZ Mh/<)zTX +w\8N$ixV B 6 ZDHL\g8g6 4$,l 4:]<e M% _^XRJaCx 11xXWU3^5KxVPVVcX e7\s>FNBa|}S > 92WM_o#3sXj3{j_w:Xe cqknH~ "ER|3.u@@dzK~;yb ap{ m8?6]]R<<q yK< aX=cZ y jz'^}$m kjr&<.<KJ7[ m #6[qf# Z>I#^lei#FI bv  f%&G0 TT) Oa 3pCU   * i0QA+ PA]w# MsD+kt K7} #ER!w\ "A& iUJ DK)  \&qa, sv#w1+5l CI  <VNX $J'T_NGv;%r%@&%P WG+\' 7n |z(  MJk %sh |_GR "+6C ]G&HHl  :7'G4T -x J U_o5Qk=] n) I }= o  5MQ~e.})f9yu @0 )  }\n l p  G 6h5$  u%:V' ""##!&!!("!! 8A& _4,o.J!a7 5 s\ P Zh'-/_ Y7 *R 6#|t5 M[%+TJ=K =qk  815-xn#,Gj]nk C hccso$+kT E d )2bcNZ_|qEXLUmaaa"af; l9G&b&[$!a h;r 6[pi #FQ;" ;i3leSX=14j Qi<$|`/x[X[52u,5'%`%T'%<!gs  *C Im9>/#Lk}Y&nCC (aR9M %SFe5l B.IXo$8[? %UZ  7B3 Gr3VW;2|z CKvaMH6x:O "2? ,.z:i1yYtX/; aXh-[A?tA8d6?qXk`%!(\%m jA[65d<\pL/kg= ']'6 eE6>PN AP{ a\AKGOTt:K ~2 fD*`LGLi' Ac%z*bpX.!x7   ~ \r*tVf=S  vfVt\"uQ 8' F[^]k Wi\uk0H?%Timc@B S QF  Z l W"}Q|gt(I] ya\Z"*hRlm:N'Y:fe  Y#tUUKwxq  0or=xh, 9-Fn ~ o  b|H*'b4s/ 2(M-5=%{y kGpR %u lN=(kx,RYb2(ZV wR{UoS hT-S LX~ gcex21 $ i5TC Fv)* Piv ~1 9;H[;5& : M /H3_<*SB8 _4^f0sqtVihO3YTcU< G1 24L;Qu'B- c4q*#!AR^ ^p;+pVcI TtZ% Rk ew-pF? b^QF^ /a2x\R>}j9:Op ' #"Z  05 W*b7/X,/Z)[KU?=[]%PfSG`Zo"V$oN.ayIL &~!Etf[$'AQ)ymK6Jpm  w rl.  U6[q UE zk`c"YH 65BR?S8a[[ ~vXsntTIh; )we`WTz[4X({czmX_S%i*=Ud;E(4 FSJS=W+ )-k_.FJ|"J=uQNiMy$NX7| AM[$eQo5,)RMPBT]'+.#:D/Epho(A # H H U^ 5eh@J\^(nSiiiii0e^8$F\mOzW . ZKcHS@vu[|zN|Y[_h_ `;vX t`' jzYNdXb v59!N\y]k<\R oTL5I&] <#Q?B5;"wE-Gc &9# IO>" z? 5B- s`G/Ok]!hzw $DUP<LH-i  S,=]gFzKaoN}S$Q7W&&&f2Thf#  h_) 3m:9d!~od7|jQ }oN` ;7:/1-w J cq% Y &Z(xj@-\ 5i La9~~f#^ 'I9O}@nzSYnkQhLH18 hD{WMhga-/z jqF D% ! _Z % R6Njo<V0Z PT! y &-ha$d|R% ;<)T39QQ`b|#]?J@x|9M<a Rqy)gb-5a[Ja|!{ ,-eA^a%W Ota_ (GG' <\ wcsli>i}-=~D-3/'  2aao]]e8]e3xb^U2 6/o^*;E4)y@|U +QMJ&WgRC 2UZS*E,)a6@v %D8 {E+0=!x3/gE j A,EBg[AVe& (g&G4pV+[_UY Soz -QuFt $5 mKew$ADK!\8Vd nOcOBQl H9|4YL|! *_ n e;d ",t#zA;uEz#s~Wyzz ;R ITWp`3y Mb}I9*`}m r;$T6u@  hJdhf3= = v2,{b= q#CAvSY5/-czL3IbW XR^s_$GU /S 7J#57p'$_ +:{XE \ P@ < ")" X .N0_^gd%q/Vq^!  o\2V3O L0Yj4NIt =L6>Kp4 6 2/P1HUI)"./M N| ~ { # j%}j?=f& |'UlN Eo [UA Mi%,d {ho?K!A  %?' g8$ 1,< P !UKO*?20~  N&)/c7&%!]% &.F:JL r-BF |/ R#g R$' G%.!G] ; D}%"Z =-c>T AtX ? cd* {19u \q|#{$:%u M )0* q " o ,%E$ ?q+B Vva &exv ~60! $P2H!~1=%M.$~041!PZ g$N, [?o/c k,#$&@%$NJ"?%t4)85B st c  IRx Hk  . R T!,(4*#mS. M$   ,uf$%[\e*F K' 3h=I ]M "f  4x~  # . .@9g+!gPP<)% :  P 2   J g= 5L   (ar # N { ? * = 1 V  hGM N{)PV?(n>@Y-b    [5w: tq-("b [ (>6 D_S{ t ".&S'  >   T?(&-P O 0 ρ(W/4Y/ dX+ e<~i5Z8bCP 8S X %>Q;*#MjGS6 F6 W8+ Yte_46} DI M#^A"nj'(!H9K+> $:K/.i#qN`bE-GLh ,;:#bk 648 8ik$ P6,d0%|<Af U "nZ26L38t aen NKb<1+D")oL~ L*1[.W1:n$ =3 !2Jow"c"+z npSIa R *oZA6=k("";G*UCgKSv' 1 uGp)gj/_ ~Bw &qO( XH^p(X a 5G)) )u< A'&>@ /%$) 1#U k+!K6s$ xS@'m*1AWN d:tNS ?nc=.]}^T];fO`  UF1#zX + zI0!8 7A 0 i=[hv542\  's )=+%M.lL yP ?  (RA(5H@[itZn& `| + e f .!&2J:`-< Z 42p@ `?Y f!29~  )Kv0 :a-#feJn-q+$CRM?a=a+)Q [oa! PjXv8Y[ 8 PM 1~c= v< 31[| r "6K| Ip*3]cW* r C!3 !'  I/  K %= K&v.m$s t)3#$R g.Jn nqTQ 1 Ni|!;5-~ G `}5dRjm) f&'5V+.7J 1-Cd{!3 /%t ?)cU M2BVF *WS 5 i V9Y! ?11l? ZX< "!}?p +~4 G=1:9 V1@1w/TE 7X0%'HO2_ZcpF( &S< iJ ~" " T1    a z]' N[fM"%H !00lQ 6.'/" Sd3qk*(/ 2s@i&  ?E 17 %'seC N 0[#OGK%DJ/  h &+XNcB  {( K 2o.#W[ bO3|  0w=1; $)&! M ?5xMmJR8Bt f{*21 K;A)S q љ!6;j0u ?)16G&<[R("  B\9 @ c:uI5 lr )yLH4'  MfD  - tѻ4*p& Ff A 1\4k w c~P*G  X f*'T jL w { 9B \ O vGa9u<  g)h>dH+4 zB dDvK*R\ R +% %G{ (,i l@ J|S!y+v/! E  I w1  w<tV:F NCg# $ "l7-99/|JN7* \KWv("=pN u8K  $ ,1 0TP!S KE!je !2 t \  ;,L?`? @5@%.;5" N3,-)%U X%= [ 4< _Ut-n&:2Y d J, 86/jh@ Qa BcJe T 0A;jM$C"(08a TGeB!$!WG  K)9F:K1e&=([, o .; B lX2  x<dGO c!!"5 Bf_vj]"Nn{$ 5S Z+ TL:%M+0Cu/kR\$"7ZU K?l8 v<IFS Y  b041 Rx , VQx$D R$^<G  Lyd;Wx M cL'uvF n"PK ?Xpq  %415`m "/&D< $8 \*>ao );&_ B8[ j_~v#T-C U A #!E  t,NKn&N# 4hS:A. N >SH9(,W{I," - [EF{ZFh$" 2 OFyA-M@S8D%8L UOB Y,1O+Rb7FS pd> pE5K&_T#-) )d$ J66Y57TK/D & 8d<3 [ m^ \^8"w @+@  cC CF  ' SIc)F(%rW+$ duK6=t"|YN 5<{ 3 0 9 9 x%c#N$,B;@G*lU!4>2 , H>pp Ž $N\>hZ9 6DA9h(> G5tb !Z& K(F+Nb Gg+t \!L8Ks#  5h6JjWgj.|:kt 6Z D/3po?]32>3;[+#c *`4>F"7h` ZN*k& '6bGM) w?2 d7z(@5$ gF$57 ~:M/O;<`Kk7$%kLO mYV"h rRM >+ p!4 k pN*'@s6 $ 3!O`|)B% m v 97j 1y 4${! 6-6&dD ,R 5x$76+* q o"DSWp%A*;8V7Tg=C8-Q 6<;b :?6N*& *1 Wy ^J jQ y@Z  ']RNU jj Is'KXa#F"x> 5y(0a1: J (d }cC}-;_qX-*z,?,W $9SB !  WRf j4E)\I v_D@  C~p eSk @a4@2O%$. $ 9&%0ZCLa M). 3~ 5 3_8p z 4B  Sfe># ]{5}8.Jg<3FE'4 #-%pTXt o- 2p(D{|0:D4 z4u=+m[=!<#ypF:l9' "  oo % m1`> (&-!^   N@2':? xiMPi& _bb &'$ k.N dG6%M)CT T  )u P d 2MzA.'VU"&:upB)64u 2eLhK!H .NMw   4:]! ?^Y[(>#OW:HVIi<x4 z k?`ro&rbD' +A c ;O h w -!;h @(2 ,// 1 (, .$i z!= #*6 S  Z  m/Ys a" 9x Z ;1F J G# ;  9 Y(Qx#:1 C [-'B:) I,cW/CL/o ` Rp~ H_-1Ea  I>lpen .+'M3"=#': MT:38 Yg`/K Ya5wr e @n Mj=O2L P.s rel|f  Kqb R /5 U pf E0# @B b/TC  ',;W"$_(ruO:"s4 2GY9 5J@]-, n s"'4!YE9n a kY|Hg9+f l-~ ! *xLIT G {| h 76q _ }'<O o>?.5?K< f +hv QU j y6K e1 p p0 k m iS C . ; c %'JxE BB = y w (%4 ju`#Qp-O   r 3-Uq, M?<vAwY  E-)q8[" #K^ !F h? V$B5w -*'+ x^ 2PFQ3o  O#S4}Ks@)I3 iv H'u> [J ~@WO pnh?im$UN : $r X*7N   - W   lt<!- "5_$0 Z# (j R#(e8 ,BrfXI D& (3t ,"e9Z$@/$< -K4#)e(i1  j@ O[ QA{JY h" cg O62K, i)Df $Xx mg  . >:3 ;- u ol%DD 2 $S$?!R o 6-) : ,D HK'0O Ou"q<RU~WFmG`C'] [FT/E ;{*4 65y) t*.4; sqJ.ob^ #M? ` 'C3,*E ! h6c 5 ! h1$a)  QD 83K4^N )KF"(+F @.G!2*Y{ $.] B] 67i4y  LYEz: ` Jp+)$]s7h 6^;e;Al 0s Io<ez%/Te|/~ e bZ`4e  X 0yUv( ITS(Jnt1_!AaQpKRe )$*")y#[8X&<Be)R]",Vt̟"#b39n%v2*sS: *z. f;!+ |Ig L/$ ]$2 , 4]8(dA%O7;A-/8 <L C\ x?v<}6  ' ` ' c5>5!{ :s%F $I F ZC O.PH Xdr$(;orV&} MgFs  _ j: *$!"3"M!bU!VI,# h Q3"D  !*. aVB^mSBe1BicYW72J/ %!  yZ ]&;Z 6-%d) u #| HV=rdxh&C d*>= e+#G xmU8;S+>x@u/J\6"/O(KNUA- SC A !BM Q! _B`z 3h#( Q DOl}96 h d/4. e_&' /BAIkpp   '  (d 8*X[&= 5 2.vB c@h "( .wg , I k0< +5k'.s#}6wW[i>/7m%#2|1C I]e)u0:L% lrYHE 1SQW^-]Z8eq=) | Y~7BY\DvA 0:y k8;@ <4  %#7%tLh1U^r$mz-ap=gH^o}mW | u!% G~y$ wt [>K( YG0HI0H0 X)Y)T ]r"Q)lAHhpS2T!?|<J_P&wd  zW}Ed8a er<VeV WX;@$6SJB$0')A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤AA큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤AA큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤AA큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤AA큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤AA큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤AA큤AA큤A큤AA큤A큤AA큤AA큤AA큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤AA큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤AA큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤AA큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤AA큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤AA큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤AA큤A큤A큤AA큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤AA큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤AA큤AA큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤AA큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤AA큤A큤A큤AA큤A큤A큤A큤A큤A큤A큤AA큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤AA큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤AA큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤AA큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤AA큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤AA큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤AA큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤AA큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤AA큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤AA큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤AA큤A큤A큤A큤A큤AAA큤AAA큤AA큤A큤AA큤AAA큤AA큤A큤A큤AA큤A큤AA큤A큤A큤A큤A큤AA큤AAA큤AA큤A큤A큤A큤A큤A큤AA큤A큤A큤AAA큤A큤A큤AAA큤A큤AAA큤AAA큤AA큤AA큤A큤AA큤A큤A큤A큤AA큤AA큤A큤AAA큤AAAA큤AA큤AAA큤AA큤AA큤AAA큤A큤AA큤AA큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤AA큤A큤A큤A큤AA큤A큤A큤A큤AA큤AA큤A큤AA큤A큤A큤A큤AA큤AA큤AA큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤AAA큤AAA큤AA큤A큤A큤A큤A큤A큤A큤AA큤AA큤A큤AA큤A큤A큤A큤A큤A큤A큤A큤AA큤A큤A큤A큤A큤A큤A큤A큤A큤A큤AA큤A큤AA큤A큤A큤AA큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤AA큤AA큤AA큤A큤AA큤A큤AA큤A큤A큤A큤A큤AA큤A큤A큤A큤AA큤A큤A큤A큤A큤A큤A큤AA큤A큤A큤AA큤A큤A큤AA큤A큤A큤AA큤A큤A큤A큤AA큤A큤A큤A큤A큤A큤A큤A큤A큤A큤AA큤AA큤A큤AAAA큤A큤AA큤AA큤AA큤A큤A큤A큤A큤A큤A큤A큤A큤AA큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤AA큤A큤A큤A큤A큤AA큤A큤A큤A큤A큤A큤A큤A큤A큤AA큤AA큤A큤A큤A큤AA큤A큤A큤A큤A큤A큤A큤A큤AA큤A큤A큤A큤A큤A큤AA큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤AA큤A큤AA큤A큤AA큤A큤A큤AA큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤AA큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤AA큤A큤A큤AA큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤AA큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤AA큤A큤A큤AA큤A큤A큤AA큤A큤A큤AA큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤AA큤A큤A큤A큤AA큤A큤A큤AA큤A큤A큤AA큤A큤A큤A큤A큤AA큤A큤A큤A큤A큤AA큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤AA큤AA큤A큤A큤A큤AA큤AA큤A큤A큤A큤A큤A큤A큤A큤A큤AA큤AA큤A큤A큤A큤AA큤A큤AA큤A큤A큤A큤A큤AA큤A큤A큤AA큤A큤A큤AA큤A큤AA큤AA큤A큤AA큤AA큤A큤A큤A큤AAAA큤A큤A큤A큤A큤A큤A큤AA큤AAAA큤A큤A큤AA큤A큤A큤A큤AA큤AA큤AAAA큤A큤AAA큤A큤AAA큤A큤A큤A큤A큤A큤A큤AA큤AA큤AA큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤AA큤AA큤A큤AA큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤AA큤A큤A큤AA큤A큤A큤A큤AA큤A큤AA큤A큤AAAA큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤AA큤A큤A큤AA큤A큤A큤AAA큤A큤AAA큤AA큤AA큤A큤A큤A큤A큤AA큤A큤A큤A큤A큤A큤A큤A큤A큤AA큤A큤AA큤A큤AA큤A큤AA큤AA큤A큤A큤A큤AA큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤AA큤A큤A큤A큤AA큤A큤A큤A큤AA큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤AA큤A큤A큤AA큤A큤A큤A큤A큤A큤A큤A큤AA큤A큤A큤AA큤AA큤A큤A큤A큤A큤AA큤A큤A큤A큤A큤A큤AA큤A큤A큤A큤A큤AA큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤AA큤A큤A큤AA큤AA큤A큤AA큤A큤A큤A큤AA큤A큤A큤AA큤AA큤AA큤A큤AA큤A큤A큤A큤A큤AA큤AAA큤A큤A큤A큤A큤AA큤A큤AA큤A큤A큤A큤A큤A큤A큤AA큤A큤A큤AA큤AA큤A큤A큤A큤A큤A큤A큤AA큤AA큤A큤A큤A큤AA큤A큤A큤A큤A큤A큤A큤AA큤A큤AA큤A큤A큤A큤A큤A큤A큤AA큤A큤A큤AA큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤AA큤A큤A큤A큤A큤A큤A큤A큤A큤A큤AA큤A큤AA큤A큤AA큤A큤A큤A큤A큤A큤AA큤A큤AA큤A큤A큤A큤A큤A큤A큤A큤A큤AA큤A큤AA큤A큤A큤A큤AAA큤A큤A큤A큤A큤A큤AAA큤A큤A큤A큤AAA큤A큤AAAA큤AA큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤AA큤A큤A큤A큤A큤AA큤A큤A큤A큤AA큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤AA큤A큤AA큤A큤A큤A큤AA큤A큤A큤A큤A큤A큤A큤A큤A큤AA큤AA큤AA큤A큤A큤A큤AA큤A큤A큤A큤A큤A큤A큤AA큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤AA큤A큤A큤A큤AA큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤AAA큤A큤A큤A큤A큤AA큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤AAA큤A큤A큤AA큤A큤A큤AA큤A큤A큤A큤A큤A큤A큤A큤AA큤AA큤A큤A큤A큤A큤A큤A큤A큤A큤AA큤A큤AA큤A큤A큤A큤A큤A큤A큤AA큤A큤A큤AA큤A큤A큤A큤AA큤A큤A큤A큤A큤A큤A큤A큤AA큤A큤A큤A큤A큤A큤AA큤AA큤A큤A큤AAA큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤AA큤AA큤A큤A큤A큤A큤A큤A큤A큤A큤AA큤AA큤A큤AA큤AAA큤A큤A큤A큤A큤A큤A큤AA큤A큤A큤AA큤A큤A큤AAAA큤A큤AA큤A큤AA큤A큤A큤AA큤AA큤AA큤A큤A큤A큤A큤A큤AA큤A큤A큤AA큤AAA큤AA큤AA큤AA큤A큤AA큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤AAA큤AAA큤A큤A큤AAA큤A큤A큤A큤A큤A큤AA큤AA큤A큤AA큤A큤A큤A큤AA큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤AA큤A큤A큤AA큤A큤A큤A큤A큤AA큤A큤A큤A큤A큤A큤AA큤A큤A큤A큤AA큤A큤A큤A큤A큤AA큤A큤A큤A큤A큤A큤AA큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤AA큤A큤A큤A큤AA큤A큤AA큤AA큤A큤A큤A큤AA큤A큤AA큤A큤AA큤A큤A큤A큤A큤A큤A큤AA큤A큤A큤A큤A큤A큤A큤A큤A큤AA큤A큤A큤A큤A큤AAA큤A큤AA큤A큤A큤AA큤A큤A큤AA큤A큤AA큤A큤A큤A큤A큤A큤A큤A큤AA큤A큤A큤A큤A큤A큤AAA큤AAA큤AA큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤AA큤A큤AA큤A큤A큤A큤A큤AA큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤AA큤AA큤A큤A큤AA큤A큤AA큤A큤A큤A큤A큤A큤A큤A큤A큤AA큤AA큤A큤A큤A큤A큤A큤AAA큤A큤AA큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤AA큤A큤A큤A큤A큤AAAA큤A큤A큤A큤A큤A큤A큤A큤AA큤A큤A큤AA큤A큤A큤AA큤AA큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤AA큤A큤A큤AAA큤A큤A큤A큤A큤AA큤AA큤A큤A큤A큤A큤AA큤AA큤A큤AA큤A큤AA큤A큤AA큤A큤A큤A큤A큤A큤A큤AA큤A큤AA큤A큤A큤A큤A큤A큤A큤A큤A큤AA큤A큤A큤A큤A큤A큤AA큤A큤A큤A큤A큤A큤A큤A큤AA큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤AA큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤AA큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤AA큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤AA큤AA큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤AA큤A큤A큤AA큤A큤A큤AA큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤AA큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤AA큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤AA큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤AA큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤AA큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤큤큤A큤큤큤AAAA큤A큤A큤A큤A큤A큤A큤A큤큤A큤큤큤AA큤큤큤A큤A큤A큤A큤큤큤큤A큤큤큤A큤큤큤큤큤AA큤A큤A큤A큤A큤A큤A큤A큤AA큤A큤A큤A큤A큤A큤A큤큤큤A큤큤큤큤A큤A큤큤A큤큤큤큤큤큤큤큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤AA큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤AA큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤AAA큤A큤AA큤A큤A큤A큤A큤AA큤A큤A큤A큤A큤A큤AA큤A큤AA큤AA큤A큤A큤AA큤A큤A큤AA큤A큤AA큤A큤A큤A큤A큤AA큤AA큤A큤A큤A큤A큤A큤A큤A큤A큤A큤AAA큤AA큤AA큤A큤A큤A큤A큤AA큤A큤A큤A큤AA큤A큤A큤A큤A큤AA큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤AAA큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤AA큤AA큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤AA큤A큤AAA큤AA큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤dB[dBPdBPdBPdBPdBPdBPdBPdB9dBPdB9dBPdBPdBPdB9dBPdB9dBPdB9dBPdB9dBPdB9dBPdB9dBPdB9dBPdBPdBPdB9dBPdB9dBPdB9dBPdB9dBPdB9dBPdB9dBPdB9dBPdBPdB9dBPdBPdB9dBPdBPdB9dBPdB9dBPdBPdB9dBPdBPdBPdBPdB9dBPdB9dBPdB9dBPdB9dBPdB9dBPdBPdB9dBPdBPdB9dBPdBPdB9dBPdB9dBPdB9dBPdBPdB9dBPdBPdB9dBPdBPdB9dBPdB9dBPdB9dBPdBPdBPdB9dBPdBPdB9dBPdBPdB9dBPdBPdB9dBPdBPdB9dBPdBPdB9dBPdBPdBPdB9dBPdBPdB9dBPdBPdBPdB9dBPdBPdB9dBPdBPdB9dBPdBPdBPdB9dBPdBPdB9dBPdBPdBPdB9dBPdBPdB9dBPdBPdB9dBPdBPdB9dBPdBPdBPdB9dBPdBPdB9dBPdBPdB9dBPdBPdBPdB9dBPdBPdBPdB9dBPdBPdBPdB9dBPdBPdBPdB9dBPdBPdB9dBPdBPdBPdB9dBPdBPdB9dBPdBPdB9dBPdBPdB9dBPdBPdB9dBPdBPdB9dBPdBPdB9dBPdBPdB9dBPdBPdB9dBPdBPdB9dBPdBPdBPdB9dBPdBPdB9dBPdBPdB9dBPdBPdB9dBPdBPdBPdB9dBPdBPdB9dBPdBPdB9dBPdBPdB9dBPdBPdB9dBPdBPdB9dBPdBPdBPdB9dBPdBPdB9dBPdBPdB9dBPdBPdB9dBPdBPdB9dBPdBPdBPdB9dBPdBPdB9dBPdBPdB9dBPdBPdBPdB9dBPdBPdB9dBPdBPdB9dBPdBPdB9dBPdBPdB9dBPdBPdBPdB9dBPdBPdB9dBPdBPdB9dBPdBPdB9dBPdBPdB9dBPdBPdB9dBPdBPdB9dBPdBPdB9dBPdBPdBPdB9dBPdBPdBPdB9dBPdBPdBPdB9dBPdBPdB9dBPdBPdB9dBPdBPdB9dBPdB9dBPdB9dBPdB9dBPdB9dBPdBPdB9dBPdB9dBPdBPdB9dBPdBPdB9dBPdBPdB9dBPdB9dBPdB9dBPdB9dBPdB9dBPdB9dBPdB9dBPdB9dBPdBPdBPdBPdB9dBPdB9dBPdB9dBPdB9dBPdB9dBPdB9dBPdB9dBPdB9dBPdB9dBPdB9dBPdB9dBPdB9dBPdB9dBPdB9dBPdB9dBPdB9dBPdB9dBPdB9dBPdB9dBPdB9dBPdB9dBPdB9dBPdB9dBPdB9dBPdB9dBPdB9dBPdB9dBPdB9dBPdB9dBPdB9dBPdB9dBPdBPdB9dBPdB9dBPdB9dBPdB9dBPdB9dBPdB9dBPdBPdB9dBPdB9dBPdB9dBPdB9dBPdB9dBPdB9dBPdB9dBPdB9dBPdB9dBPdBPdB9dBPdB9dBPdB9dBPdB9dBPdB9dBPdB9dBPdBPdB9dBPdBPdBPdB9dBPdB9dBPdB9dBPdB9dBPdB9dBPdB9dBPdB9dBPdBPdB9dBPdB9dBPdB9dBPdB9dBPdBPdBPdB9dBPdB9dB9dBPdB9dBPdBPdB9dBPdB9dBPdB9dBPdBPdB9dBPdB9dBPdB9dBPdB9dBPdB9dBPdB9dBPdB9dBPdB9dBPdB9dBPdB9dBPdB9dBPdB9dB9dBPdBPdBPdBPdBPdBPdBPdBPdB9dBPdB9dBPdB9dBPdB9dBPdB9dBPdB9dBPdB9dBPdB9dBPdB9dBPdB9dBPdB9dBPdB9dBPdB9dBPdB9dBPdB9dBPdB9dBPdB9dBPdB9dBPdB9dBPdB9dBPdB9dB9dBPdB9dBPdBPdBPdBPdB9dBPdB9dBPdB9dBPdB9dBPdB9dBPdB9dBPdB9dBPdB9dBPdB9dBPdBPdBPdBPdB9dBPdBPdB9dBPdB9dBPdB9dBPdB9dBPdBPdB9dBPdBPdB9dBQdBQdB9dBPdBPdB9dBPdBPdB9dBQdBQdB9dBPdB9dBPdB9dBPdB9dBPdB9dBPdB9dBPdB9dBPdB9dBPdB9dBPdB9dBPdB9dBPdB9dBPdB9dBPdB9dBPdB9dBPdB9dBPdB9dBPdB9dBPdBPdB9dBPdB9dBPdB9dBPdB9dBPdB9dBQdB9dBQdB9dBPdB9dBPdB9dBPdB9dB9dBPdB9dBPdB9dBPdB9dBPdB9dBPdBPdB9dBQdBQdB9dBPdBPdB9dBPdB9dBQdBQdB9dBQdBQdB9dBQdB9dBQdB9dBQdBQdB9dBQdB9dBPdB9dBQdBQdB9dBQdB9dBQdB9dBQdB9dBQdBQdB9dBQdB9dBQdB9dBQdB9dBQdB9dBQdB9dBPdB9dBQdB9dBPdB9dBQdB9dBPdBPdB9dBPdB9dBPdB9dBPdB9dBPdB9dBQdBQdB9dBQdB9dBPdBPdB9dBPdB9dBPdB9dBQdBQdB9dBPdBPdB9dBPdB9dBPdB9dBPdB9dBQdB9dBPdBPdB9dBQdB9dBPdB9dBPdBPdB9dBPdB9dBPdBPdB9dBPdB9dBPdB9dBPdB9dBPdB9dBQdB9dBQdBQdB9dBQdB9dBQdB9dBQdB9dBQdB9dBQdB9dBQdB9dBPdB9dBPdB9dBPdB9dBPdB9dBPdBPdBPdB9dBPdB9dBPdB9dBPdB9dBPdB9dBPdB9dBPdB9dBPdBPdBPdB9dBPdB9dBPdB9dBPdB9dBPdB9dBPdB9dBPdBPdB9dBPdBPdB9dB9dBPdB9dBPdB9dBPdB9dBPdB9dBPdBPdBPdB9dBPdB9dBPdB9dBPdB9dBPdB9dBPdB9dBPdB9dBPdB:dBPdBPdBPdBPdB9dBPdB9dBPdBϋdBdBPdBPdBPdBPdBPdBPdBPdBPdBPdBPdBPdBPdBPdBdBdBPdBPdBPdBPdBdBPdBPdBPdBPdBPdBPdBPdBPdBPdBPdBPdBPdBPdBPdBPdBPdBPdBPdBPdBPdBPdBPdBPdBPdBPdBPdBPdBPdBPdBPdBPdBPdBPdBPdBPdBPdBPdBPdBPdBPdBPdBPdBPdBPdBPdBPdBPdBPdBPdBPdBPdBPdBPdBPdBPdBPdBPdBPdBPdBPdBPdBPdBPdBPdBPdBPdBPdBPdBPdBPdBPdBPdBPdBPdBPdBPdBPdBPdBPdBPdBPdBPdBPdBPdBPdBPdBPdBPdBPdBPdBPdBPdBPdBPdBPdBPdBPdBPdBPdBPdBPdBPdBPdBPdBPdBPdBPdBPdBPdBPdBPdBPdBPdBPdBPdBPdBPdBPdBPdBPdBPdBPdBPdBPdBPdBPdBPdBPdBPdBPdBPdBPdBPdBPdBPdBPdBPdBPdBPdBPdBPdBPdBPdBPdBPdBPdBPdBPdBPdBPdBPdBPdBPdBPdBPdBPdBPdBPdBPdBPdBPdBPdBPdBPdBPdBPdBPdBPdBPdBPdBPdBPdBPdBPdBPdBPdBPdBPdBPdBPdBPdBPdBPdBPdBPdBPdBdBdBPdBPdBPdBPdBPdBPdBPdBdBPdBPdBPdBPdBPdBPdBPdBPdBPdBPdBPdBPdBPdBPdBPdBPdBPdBPdBPdBPdBPdBPdBPdBPdBPdBPdBPdBPdBPdBPdBPdBPdBPdBPdBPdBPdBPdBPdBPdBPdBPdBPdBPdBPdBPdBPdBPdBPdBPdBPdBPdBPdBPdBPdBPdBPdBPdBPdBPdBPdBPdBPdBPdBPdBPdBPdBPdBPdBPdBPdBPdBPdBPdBPdBPdBPdBPdBPdBPdBPdBPdBPdBPdBPdBPdBPdBPdBPdBPdBPdBPdBPdBPdBPdBPdBPdBPdBPdBPdBPdBPdBPdBPdBPdBPdBPdBPdBPdBPdBPdBPdBPdBPdBPdBPdBPdBPdBPdBPdBPdBPdBPdBPdBPdBPdBPdBPdBPdBPdBPdBPdBPdBPdBPdBPdBPdBPdBPdBPdBPdBPdBPdBϋdBϋdBPdBPdBPdBPdBPdBPdBPdBPdBPdBPdBPdBPdBϋdBϋdBPdBPdBPdBPdBPdBPdBPdBdBdBPdBPdBPdBPdBPdBPdBPdBPdBPdBPdBPdBPdBPdBPdBPdBPdBPdBPdBPdBPdBPdBPdBPdBPdBPdBPdBPdBPdBPdBPdBPdBPdBPdBPdBPdBPdBPdBPdBPdBPdBPdBPdB:dBPdBPdB9dBPdB9dBPdB9dBPdB9dBPdB9dBPdBPdB:dBPdBPdB9dBPdB9dBPdB9dBPdB9dBPdB9dBPdB9dBPdB9dBPdB9dB9dBPdBPdB9dBPdBPdB9dBPdB9dBPdBPdB9dBPdBPdB9dBPdBPdB9dBPdBPdB9dBPdBPdB9dBPdBPdB9dBPdBPdBPdBPdBPdB9dBPdBPdB9dBPdBPdB9dBPdBPdB9dBPdB9dBPdBPdB9dBPdBPdB9dBPdBPdB9dBPdBPdB9dBPdBPdB9dBPdBPdB9dBPdBPdB9dBPdBPdB9dBPdB9dBPdBPdB9dBPdB9dBPdBPdB9dBPdBPdB9dBPdB9dBPdBPdB9dBPdB9dBPdB9dBPdB9dBPdB9dBPdBPdBPdB9dBPdB9dBPdB9dBPdB9dBPdB9dBPdB9dBPdB9dBPdB9dBPdB9dBPdB9dBPdBPdB9dBPdB9dBPdB9dBPdB9dBPdB9dBPdB9dBPdB9dBPdB9dBPdB9dBPdB9dBPdBPdBPdBPdB9dBPdBPdB9dBPdB9dBPdB9dBPdB9dBPdB9dBPdBPdB9dBPdB9dBPdB9dBPdB9dBPdB9dBPdB9dBPdBPdB9dBPdBPdB9dBPdBPdB9dBPdBPdB9dBPdB9dB9dBPdB9dBPdB9dBPdB9dBPdB9dBPdB9dBPdB9dBPdB9dBPdBPdB9dBPdB9dBPdB9dBPdB9dBPdB9dBPdB9dBPdB9dBPdB9dBPdB9dBPdB9dBPdBPdB9dBPdBPdB9dBPdB9dBPdB9dBPdB9dBPdB9dBPdB9dBPdB9dBPdB9dBPdB9dBPdB9dBPdB9dBPdB9dBPdB9dBPdB9dBPdB9dBPdB9dBPdB9dBPdBPdB9dBPdB9dBPdB9dBPdBPdBPdB9dBPdB9dBPdB9dBPdB9dBPdB9dBPdB9dBPdB9dBPdB9dBPdB9dBPdB9dBPdB9dBPdB9dBPdBPdBPdBPdBPdBPdBPdBPdBPdB9dBPdB9dBPdB9dBPdB9dBPdB9dBPdB9dBPdB9dBPdB9dBPdBPdBPdB9dBPdB9dBPdB9dBPdB9dBPdB9dBPdBPdB9dBPdBPdBPdBPdBPdBPdB9dBPdB9dBPdB9dBPdB9dBPdB9dBPdB9dBPdB9dBPdB9dBPdB9dBPdB9dBPdB9dBPdB9dBPdB9dBPdBPdB9dBPdB9dBPdB9dBPdB9dBPdB9dBPdB9dBPdB9dBPdB9dBPdB9dBPdB9dBPdB9dBPdB9dBPdB9dBPdB9dBPdB9dBPdB9dBPdBPdB9dBPdB9dBPdB9dBPdB9dBPdB9dBPdB9dBPdB9dBPdB9dBPdB9dBPdB9dBPdB9dBPdB9dBPdB9dBPdB9dB9dBPdB9dBPdB9dBPdBPdB9dBPdB9dBPdB9dBPdB9dBPdB9dBPdB9dBPdB9dBPdB9dBPdB9dBPdB9dBPdB9dBPdB9dBPdB9dBPdBPdB9dBPdB9dBPdB9dBPdB9dBPdBPdB9dBPdBPdBPdB9dBPdB9dBPdB9dBPdB9dBPdB9dBPdB9dBPdB9dBPdB9dBPdB9dBPdB9dB9dBPdB9dBPdB9dBPdB9dBQdBQdBQdB9dBQdBQdB9dBPdBPdB9dBPdBPdB9dBPdBPdB9dBPdBPdB9dBQdBQdB9dBQdBQdB9dBQdB9dBQdBQdB9dBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdB9dBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdB9dBQdB9dBQdB9dBQdBQdB9dBQdB9dBQdB9dBQdB9dBQdBQdB9dBQdBQdB9dBQdB9dBQdB9dBQdBQdB9dBQdB9dBQdBQdB9dBQdBQdB9dBQdB9dBQdB9dBQdBQdB9dBQdB9dBQdB9dBQdB9dBQdB9dBQdBQdB9dBQdBQdB9dBQdB9dBQdBQdB9dBQdB9dBQdB9dBQdB9dBQdBQdB9dBQdB9dB9dBQdBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdB9dBQdBQdB9dBQdB9dBQdB9dBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdBQdBQdBQdB9dBQdBQdBQdBQdBQdB9dBQdB9dBQdBQdB9dBQdB9dBQdB9dBQdB9dBQdBQdB9dBQdB9dBQdBQdB9dBQdBQdB9dBQdB9dBQdBQdB9dBQdB9dBQdBQdB9dBQdB9dBQdB9dBQdB9dBQdB9dBQdBQdB9dBQdBQdB9dBQdB9dBQdB9dBQdB9dBQdB9dBQdB9dBQdB9dBQdB9dBQdB9dBQdB9dBQdB9dBQdBQdB9dBQdB9dBQdBQdB9dBQdB9dBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdB9dBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdB9dB9dBQdBQdB9dBQdBQdBQdBQdB9dBQdBQdB9dB9dBQdBQdBQdB9dBQdBQdB9dBQdB9dBQdB9dBQdB9dBQdBQdB9dBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdB9dBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdB9dBQdBQdB9dB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdB9dBQdB9dBQdB9dBQdB9dBQdB9dBQdB9dBQdB9dBQdB9dBQdB9dBQdB9dBQdB9dBQdB9dBQdB9dBQdB9dBQdB9dBQdB9dBQdB9dBQdB9dBQdB9dBQdB9dBQdB9dBQdB9dBQdB9dBQdB9dBQdB9dBQdB9dBQdB9dBQdB9dBQdB9dBQdB9dBQdB9dBQdB9dBQdB9dB9dBQdB9dB9dBQdB9dBQdB9dBQdB9dBQdB9dBQdB9dBQdB9dBQdB9dBQdB9dBQdB9dBQdB9dBQdB9dBQdB9dBQdB9dBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdB9dBQdBQdB9dBQdB9dBQdBQdBQdBQdBQdB9dBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdB9dBQdB9dBQdB9dBQdBQdB9dBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdB9dBQdBQdB9dBQdB9dBQdBQdB9dBQdBQdB9dBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdB9dBQdB9dBQdBQdB9dBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdB9dBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdB9dB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdB9dBQdB9dBQdBQdB9dBQdB9dBQdBQdB9dBQdBQdB9dBQdB9dBQdB9dBQdB9dBQdB9dBQdB9dBQdBQdB9dBQdB9dB9dBQdB9dBQdB9dBQdBQdB9dB9dBQdB9dBQdB9dBQdB9dBQdB9dBQdB9dBQdB9dBQdBQdB9dB9dBQdB9dBQdBQdB9dBQdB9dBQdB9dBQdB9dBQdB9dBQdB9dBQdB9dBQdBQdB9dBQdBQdB9dBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dB9dBQdBQdBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdB9dBQdBQdB9dBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdB9dBQdB9dBQdB9dBQdB9dBQdB9dBQdB9dBQdB9dBQdBQdB9dBQdB9dBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdB9dBQdB9dBQdB9dBQdB9dBQdBQdB9dBQdBQdB9dBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdB9dBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dB9dBQdBQdB9dBQdBQdBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdB9dBQdBQdB9dBQdB9dBQdBQdB9dB9dBQdBQdBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdB9dBQdB9dBQdBQdB9dBQdBQdB9dBQdB9dBQdB9dBQdB9dBQdB9dBQdBQdB9dBQdBQdB9dBQdB9dBQdB9dBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdB9dBQdB9dBQdB9dBQdB9dBQdBQdB9dBQdB9dBQdB9dBQdB9dBQdB9dBQdBQdB9dBQdB9dBQdB9dBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdB9dBQdBQdB9dBQdB9dBQdB9dBQdB9dBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdB9dBQdBQdB9dBQdBQdB9dBQdB9dBQdB9dBQdB9dBQdB9dBQdB9dBQdB9dBQdB9dBQdB9dBQdB9dBQdB9dBQdB9dBQdB9dBQdBQdB9dBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dB9dBQdBQdB9dBQdB9dBQdB9dBQdB9dBQdB9dBQdB9dBQdB9dBQdB9dBQdB9dBQdB9dBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdB9dBQdBQdB9dBQdBQdB9dBQdB9dBQdBQdB9dBQdB9dBQdB9dBQdB9dBQdB9dBQdB9dBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdB9dBQdBQdB9dBQdB9dBQdB9dBQdB9dBQdB9dBQdB9dBQdBQdB9dBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdB9dBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdB9dBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdB9dBQdBQdB9dBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdB9dBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdB9dBQdB9dBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdB9dBQdB9dBQdBQdB9dBQdBQdB9dBQdB9dBQdB9dBQdB9dBQdB9dBQdB9dBQdB9dBQdB9dBQdB9dBQdB9dBQdB9dBQdB9dBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdB9dBQdBQdB9dBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdB9dBQdBQdB9dBQdBQdB9dBQdB9dBQdB9dBQdBQdB9dBQdB9dBQdB9dBQdB9dBQdBQdB9dBQdBQdB9dBQdB9dBQdBQdBQdB9dBQdB9dBQdBQdB9dBQdB9dBQdBQdB9dBQdBQdB9dBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdB9dBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdB9dBQdB9dBQdBQdB9dBQdB9dBQdB9dBQdB9dBQdB9dBQdBQdB9dBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdB9dBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdB9dBQdBQdB9dBQdB9dBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdB9dBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdB9dBQdBQdB9dBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdB9dBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdB9dBQdB9dBQdB9dBQdBQdB9dBQdBQdB9dBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dB9dBQdBQdBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdB9dBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdB9dBQdBQdB9dB9dBQdBQdBQdBQdB9dBQdB9dBQdB9dBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdB9dBQdBQdB9dBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdB9dBQdB9dBQdBQdB9dBQdB9dBQdB9dBQdB9dBQdB9dBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdB9dBQdB9dBQdBQdB9dBQdB9dBQdB9dBQdB9dBQdB9dBQdB9dBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdB9dBQdB9dBQdB9dBQdB9dBQdB9dBQdBQdB9dBQdBQdB9dB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdB9dBQdB9dBQdB9dBQdB9dBQdBQdB9dBQdB9dB9dBRdBRdBRdBRdBRdB9dBRdBRdB9dBRdBRdB9dBRdBRdB9dBRdBRdB9dBRdBRdB9dBRdBRdB9dBRdBRdB9dBRdBRdB9dBRdBRdB9dBRdBRdB9dBRdBRdB9dBRdBRdB9dBRdBRdB9dBRdBRdB9dBRdB9dBRdB9dBRdBRdB9dBRdBRdB9dBRdBRdB9dBRdBRdB9dBRdB9dBRdBRdB9dBRdBRdB9dBRdBRdB9dBRdBRdB9dBRdBRdB9dBRdBRdB9dBRdBRdB9dBRdBRdB9dBRdBRdB9dBRdBRdB9dBRdB9dBRdBRdB9dBRdB9dBRdB9dBRdBRdB9dBRdBRdB9dBRdBRdB9dBRdBRdB9dBRdBRdB9dBRdB9dBRdBRdB9dBRdBRdB9dBRdB9dBRdB9dBRdB9dBRdB9dBRdBRdB9dBRdBRdB9dBRdBRdB9dBRdBRdB9dBRdBRdB9dBRdBRdB9dBRdBRdB9dBRdBRdB9dBRdBRdB9dBRdB9dBRdB9dBRdB9dBRdBRdB9dBRdB9dBRdBRdB9dBRdBRdB9dBRdBRdB9dBRdBRdB9dBRdBRdB9dBRdBRdB9dBRdBRdB9dBRdB9dBRdBRdB9dBRdBRdB9dBRdBRdB9dBRdBRdB9dBRdBRdB9dBRdB9dBRdBRdB9dBRdBRdB9dBRdBRdB9dBRdBRdBωdBdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBdBRdBRdBRdBRdBRdBRdBdBRdBRdBRdBRdBRdBRdBdBTdBTdBTdBϊdBTdBTdBϊdBTdBTdBϊdBTdBϊdBTdBTdBϊdBTdBϊdBϊdBTdBϊdBTdBTdBTdBϊdBTdBTdBϊdBTdBϊdBTdBϊdBϊdBϊdBTdBϊdBϊdBϊdBTdBϊdBϊdBTdBϊdBTdBTdBϊdBϊdBTdBϊdBϊdBϊdBTdBϊdBϊdBTdBϊdBTdBϊdBTdBϊdBϊdBTdBϊdBTdBϊdBϊdBTdBϊdBTdBTdBϊdBTdBϊdBTdBϊdBTdBϊdBϊdBTdBTdBϊdBϊdBϊdBTdBϊdBϊdBTdBTdBϊdBTdBϊdBTdBϊdBTdBϊdBTdBϊdBTdBTdBϊdBϊdBTdBϊdBTdBϊdBTdBϊdBϊdBϊdBTdBϊdBTdBϊdBTdBϊdBϊdBϊdBTdBϊdBTdBϊdBϊdBϊdBTdBTdBϊdBϊdBϊdBTdBTdBTdBϊdBϊdBTdBTdBTdBTdBϊdBϊdBTdBϊdBTdBTdBϊdBϊdBTdBϊdBTdBϊdBTdBϊdBTdBTdBϊdBϊdBTdBTdBϊdBϊdBTdBϊdBTdBϊdBϊdBϊdBTdBϊdBϊdBϊdBϊdBTdBϊdBϊdBTdBϊdBϊdBϊdBTdBϊdBϊdBTdBϊdBϊdBTdBϊdBϊdBϊdBTdBTdBϊdBTdBϊdBϊdBTdBϊdBϊdBTdBϊdBTdBTdBTdBϊdBTdBTdBϊdBTdBTdBϊdBTdBTdBTdBTdBTdBϊdBTdBTdBTdBTdBTdBϊdBTdBTdBTdBTdBϊdBTdBϊdBTdBTdBTdBTdBTdBϊdBTdBϊdBTdBϊdBTdBϊdBϊdBTdBϊdBTdBTdBTdBϊdBTdBTdBϊdBTdBTdBϊdBϊdBTdBϊdBTdBϊdBTdBϊdBTdBϊdBϊdBTdBTdBTdBϊdBϊdBTdBTdBTdBTdBϊdBTdBTdBTdBTdBϊdBϊdBTdBϊdBTdBϊdBTdBϊdBTdBTdBTdBϊdBϊdBTdBTdBϊdBϊdBTdBϊdBϊdBTdBϊdBTdBTdBTdBϊdBTdBϊdBTdBTdBTdBϊdBTdBTdBTdBϊdBTdBTdBϊdBTdBϊdBTdBϊdBTdBTdBTdBϊdBTdBTdBTdBϊdBTdBTdBTdBTdBTdBTdBTdBTdBϊdBTdBTdBTdBTdBϊdBTdBϊdBTdBTdBϊdBTdBTdBTdBϊdBTdBTdBϊdBTdBTdBϊdBTdBTdBTdBTdBϊdBϊdBϊdBTdBϊdBϊdBϊdBTdBϊdBϊdBTdBϊdBTdBTdBϊdBTdBTdBϊdBTdBϊdBTdBϊdBTdBTdBϊdBTdBTdBϊdBϊdBTdBTdBϊdBϊdBTdBϊdBTdBϊdBϊdBTdBTdBTdBTdBTdBTdBTdBTdBTdBTdBϊdBTdBTdBTdBTdBTdBTdBTdBϊdBTdBTdBTdBϊdBTdBTdBϊdBTdBϊdBTdBϊdBTdBϊdBTdBϊdBϊdBTdBTdBϊdBTdBTdBTdBϊdBTdBϊdBTdBϊdBTdBTdBTdBTdBTdBTdBTdBTdBϊdBTdBTdBTdBTdBϊdBTdBTdBTdBTdBTdBTdBTdBTdBTdBϊdBTdBTdBϊdBTdBTdBTdBTdBTdBϊdBTdBϊdBϊdBTdBϊdBTdBϊdBϊdBTdBTdBϊdBTdBϊdBTdBTdBϊdBϊdBTdBTdBTdBϊdBTdBϊdBTdBTdBTdBϊdBTdBTdBϊdBTdBTdBϊdBTdBTdBTdBϊdBTdBTdBTdBϊdBTdBTdBϊdBTdBTdBTdBTdBTdBTdBϊdBTdBTdBϊdBTdBϊdBTdBϊdBTdBϊdBϊdBTdBϊdBϊdBTdBϊdBϊdBTdBϊdBTdBϊdBϊdBTdBϊdBTdBϊdBϊdBTdBϊdBTdBϊdBTdBTdBϊdBTdBϊdBTdBϊdBϊdBTdBϊdBTdBϊdBTdBϊdBTdBϊdBϊdBTdBϊdBTdBϊdBTdBTdBTdBTdBTdBϊdBTdBTdBTdBTdBTdBTdBTdBTdBϊdBTdBϊdBTdBϊdBTdBϊdBϊdBTdBϊdBTdBTdBTdBTdBϊdBTdBϊdBϊdBTdBTdBTdBϊdBTdBϊdBTdBϊdBϊdBTdBTdBϊdBTdBTdBϊdBTdBTdBϊdBϊdBTdBTdBϊdBTdBTdBϊdBTdBϊdBTdBϊdBϊdBTdBTdBϊdBTdBϊdBTdBTdBϊdBTdBϊdBTdBTdBTdBTdBϊdBTdBϊdBTdBϊdBTdBϊdBTdBϊdBTdBTdBϊdBϊdBTdBTdBTdBTdBϊdBϊdBTdBTdBϊdBTdBTdBϊdBϊdBϊdBϊdBTdBTdBϊdBTdBϊdBϊdBTdBϊdBϊdBTdBϊdBϊdBTdBTdBTdBTdBTdBTdBTdBTdBTdBϊdBTdBϊdBTdBTdBTdBϊdBTdBTdBTdBϊdBTdBTdBϊdBTdBTdBϊdBTdBϊdBTdBTdBTdBϊdBTdBTdBTdBTdBϊdBϊdBTdBϊdBTdBTdBTdBTdBTdBTdBTdBTdBTdBTdBϊdBTdBTdBTdBTdBTdBTdBϊdBTdBTdBTdBϊdBTdBTdBTdBTdBTdBTdBTdBTdBTdBTdBTdBTdBTdBTdBTdBTdBTdBϊdBTdBϊdBTdBTdBϊdBTdBϊdBTdBTdBTdBϊdBTdBTdBϊdBTdBTdBTdBTdBTdBTdBTdBTdBTdBTdBϊdBTdBTdBTdBTdBTdBϊdBTdBTdBTdBTdBTdBTdBTdBTdBTdBϊdBTdBTdBTdBTdBTdBTdBTdBTdBϊdBTdBTdBTdBTdBTdBTdBTdBTdBTdBTdBϊdBTdBTdBTdBTdBTdBTdBTdBTdBTdBTdBTdBTdBTdBTdBTdBϊdBTdBTdBϊdBTdBϊdBTdBTdBTdBTdBTdBTdBTdBTdBTdBTdBTdBϊdBTdBϊdBϊdBTdBTdBTdBTdBTdBTdBϊdBTdBϊdBTdBTdBTdBTdBTdBϊdBTdBϊdBTdBTdBϊdBϊdBTdBTdBϊdBTdBϊdBTdBTdBϊdBTdBTdBTdBTdBTdBϊdBTdBϊdBTdBTdBTdBTdBϊdBTdBTdBTdBTdBTdBTdBϊdBTdBϊdBTdBTdBϊdBϊdBTdBϊdBϊdBTdBϊdBTdBϊdBTdBϊdBTdBϊdBϊdBTdBϊdBTdBϊdBTdBϊdBTdBTdBϊdBTdBTdBϊdBTdBTdBTdBϊdBTdBTdBϊdBTdBTdBϊdBϊdBTdBTdBϊdBTdBTdBTdBTdBTdBTdBTdBTdBϊdBTdBTdBTdBϊdBTdBTdBTdBTdBTdBϊdBTdBTdBTdBTdBϊdBTdBTdBTdBTdBTdBϊdBϊdBTdBTdBTdBϊdBTdBTdBϊdBTdBTdBTdBTdBTdBϊdBTdBϊdBTdBϊdBTdBϊdBTdBϊdBTdBϊdBTdBTdBϊdBTdBϊdBTdBTdBϊdBTdBTdBTdBTdBTdBTdBϊdBTdBϊdBϊdBTdBϊdBTdBTdBϊdBϊdBTdBϊdBTdBTdBϊdBϊdBTdBϊdBTdBTdBϊdBTdBϊdBϊdBTdBTdBTdBϊdBTdBTdBϊdBTdBTdBϊdBTdBTdBϊdBTdBTdBTdBϊdBTdBTdBTdBϊdBTdBTdBϊdBTdBϊdBTdBTdBTdBϊdBTdBϊdBTdBTdBTdBϊdBTdBTdBTdBTdBϊdBTdBTdBTdBϊdBTdBTdBTdBϊdBϊdBTdBTdBTdBTdBTdBϊdBTdBTdBTdBTdBTdBTdBTdBTdBTdBTdBTdBTdBTdBTdBTdBTdBTdBTdBTdBTdBTdBTdBTdBTdBTdBTdBTdBϊdBTdBϊdBTdBTdBϊdBTdBTdBϊdBTdBTdBTdBTdBTdBTdBTdBTdBTdBTdBTdBTdBTdBTdBTdBTdBTdBTdBϊdBTdBTdBTdBTdBTdBTdBTdBTdBTdBTdBTdBTdBTdBTdBTdBTdBTdBTdBTdBTdBTdBTdBTdBTdBTdBTdBTdBTdBTdBTdBTdBTdBTdBTdBTdBTdBTdBTdBTdBTdBTdBTdBTdBTdBTdBTdBTdBTdBTdBTdBTdBTdBTdBTdBϊdBTdBTdBTdBϊdBTdBTdBTdBTdBϊdBTdBTdBϊdBTdBTdBTdBTdBTdBTdBTdBTdBTdBϊdBTdBTdBTdBTdBϊdBTdBTdBTdBTdBTdBTdBTdBTdBTdBTdBTdBTdBϊdBϊdBTdBTdBTdBTdBϊdBTdBTdBϊdBTdBTdBTdBTdBTdBTdBTdBTdBTdBϊdBϊdBTdBTdBϊdBTdBϊdBTdBϊdBTdBTdBϊdBTdBϊdBTdBϊdBTdBTdBϊdBTdBTdBTdBϊdBTdBTdBTdBTdBϊdBTdBϊdBTdBTdBϊdBϊdBTdBϊdBTdBϊdBTdBϊdBTdBTdBϊdBTdBTdBTdBTdBTdBϊdBTdBϊdBTdBTdBϊdBTdBϊdBTdBϊdBTdBϊdBTdBϊdBϊdBTdBϊdBTdBTdBϊdBTdBϊdBϊdBTdBϊdBTdBTdBϊdBTdBTdBϊdBϊdBTdBϊdBTdBϊdBTdBϊdBϊdBTdBTdBTdBϊdBTdBϊdBTdBTdBϊdBTdBTdBTdBTdBϊdBTdBϊdBTdBTdBϊdBTdBTdBϊdBTdBTdBϊdBTdBTdBTdBϊdBTdBTdBTdBϊdBTdBTdBTdBTdBTdBTdBϊdBTdBTdBϊdBTdBϊdBTdBϊdBϊdBTdBϊdBTdBTdBTdBTdBϊdBTdBTdBϊdBTdBTdBTdBϊdBϊdBTdBTdBϊdBTdBϊdBTdBϊdBϊdBTdBϊdBTdBϊdBTdBTdBTdBTdBϊdBϊdBTdBTdBTdBTdBϊdBTdBϊdBTdBTdBTdBϊdBTdBϊdBTdBTdBϊdBϊdBTdBTdBϊdBTdBϊdBTdBTdBϊdBTdBTdBTdBϊdBTdBTdBϊdBϊdBTdBTdBϊdBTdBϊdBTdBTdBϊdBTdBϊdBTdBTdBϊdBTdBTdBϊdBTdBϊdBTdBTdBTdBTdBTdBϊdBTdBTdBϊdBTdBTdBϊdBTdBϊdBTdBϊdBTdBϊdBTdBϊdBϊdBTdBϊdBϊdBTdBϊdBTdBϊdBTdBTdBTdBϊdBTdBϊdBϊdBTdBϊdBϊdBTdBϊdBTdBϊdBTdBTdBTdBTdBTdBϊdBTdBTdBTdBTdBϊdBTdBϊdBTdBTdBϊdBTdBϊdBTdBTdBϊdBTdBϊdBϊdBTdBTdBϊdBϊdBTdBϊdBTdBϊdBTdBTdBϊdBTdBϊdBϊdBTdBϊdBTdBTdBϊdBϊdBTdBϊdBTdBϊdBTdBϊdBTdBTdBϊdBTdBϊdBϊdBTdBϊdBTdBϊdBTdBTdBϊdBϊdBTdBϊdBTdBϊdBTdBϊdBϊdBTdBϊdBTdBϊdBϊdBTdBϊdBϊdBTdBTdBϊdBTdBϊdBϊdBTdBϊdBϊdBTdBϊdBTdBTdBϊdBTdBϊdBTdBϊdBϊdBϊdBϊdBTdBϊdBTdBϊdBTdBTdBϊdBTdBϊdBTdBTdBϊdBTdBϊdBTdBTdBTdBϊdBϊdBTdBϊdBϊdBϊdBϊdBTdBTdBϊdBTdBϊdBTdBϊdBϊdBTdBϊdBTdBϊdBTdBTdBTdBTdBϊdBTdBϊdBϊdBTdBTdBTdBϊdBϊdBTdBϊdBϊdBϊdBϊdBTdBϊdBTdBTdBϊdBϊdBϊdBTdBTdBϊdBTdBϊdBϊdBϊdBTdBTdBϊdBTdBTdBTdBTdBTdBTdBϊdBTdBϊdBTdBTdBTdBTdBTdBTdBϊdBTdBTdBTdBTdBTdBTdBTdBTdBTdBTdBTdBTdBTdBTdBTdBTdBTdBTdBTdBTdBTdBϊdBTdBTdBTdBTdBTdBTdBTdBTdBTdBTdBTdBTdBϊdBTdBTdBTdBTdBTdBTdBTdBTdBTdBTdBTdBTdBTdBTdBTdBTdBTdBTdBTdBTdBTdBTdBTdBTdBTdBTdBTdBTdBTdBTdBϊdBϊdBTdBϊdBϊdBTdBTdBϊdBϊdBTdBϊdBTdBTdBTdBTdBϊdBTdBTdBϊdBTdBTdBϊdBTdBTdBTdBϊdBTdBTdBTdBTdBϊdBTdBTdBTdBTdBϊdBTdBϊdBTdBϊdBTdBϊdBTdBTdBϊdBTdBTdBTdBϊdBϊdBTdBTdBϊdBϊdBTdBϊdBTdBTdBϊdBϊdBTdBϊdBTdBTdBTdBTdBTdBTdBϊdBTdBϊdBTdBTdBTdBTdBTdBTdBϊdBTdBϊdBTdBTdBϊdBTdBTdBϊdBTdBTdBϊdBTdBTdBϊdBTdBTdBTdBTdBTdBTdBϊdBTdBTdBϊdBTdBϊdBTdBTdBϊdBTdBTdBTdBTdBϊdBTdBTdBϊdBTdBTdBTdBTdBϊdBTdBTdBϊdBTdBTdBTdBϊdBTdBϊdBTdBTdBϊdBTdBTdBTdBTdBTdBϊdBTdBTdBϊdBTdBϊdBϊdBTdBϊdBTdBTdBTdBTdBTdBTdBTdBϊdBTdBTdBTdBTdBTdBϊdBϊdBTdBϊdBTdBϊdBTdBTdBTdBϊdBTdBϊdBϊdBTdBTdBTdBTdBϊdBTdBϊdBϊdBTdBϊdBTdBϊdBϊdBϊdBϊdBTdBϊdBTdBϊdBTdBϊdBTdBϊdBTdBTdBTdBϊdBTdBTdBTdBTdBϊdBTdBϊdBTdBϊdBTdBϊdBTdBTdBϊdBTdBϊdBTdBϊdBTdBϊdBTdBTdBTdBTdBTdBϊdBTdBϊdBTdBϊdBϊdBTdBTdBϊdBTdBTdBϊdBTdBTdBTdBTdBTdBTdBϊdBϊdBTdBTdBTdBTdBϊdBTdBTdBTdBϊdBTdBϊdBϊdBϊdBTdBϊdBTdBϊdBϊdBϊdBTdBTdBϊdBϊdBTdBϊdBϊdBTdBTdBϊdBTdBϊdBTdBϊdBTdBTdBTdBϊdBTdBϊdBϊdBTdBTdBϊdBTdBTdBTdBTdBϊdBTdBϊdBTdBTdBTdBTdBϊdBTdBTdBTdBTdBTdBTdBϊdBTdBϊdBTdBTdBϊdBTdBTdBϊdBTdBϊdBϊdBTdBϊdBTdBϊdBϊdBTdBϊdBTdBϊdBϊdBTdBTdBTdBTdBTdBϊdBTdBϊdBϊdBTdBϊdBϊdBTdBϊdBTdBTdBϊdBTdBTdBϊdBTdBϊdBϊdBTdBTdBTdBTdBTdBTdBϊdBTdBTdBTdBTdBTdBTdBTdBϊdBTdBTdBTdBTdBTdBTdBTdBϊdBTdBTdBϊdBTdBTdBTdBTdBϊdBTdBϊdBTdBTdBTdBϊdBTdBTdBTdBTdBTdBTdBTdBTdBTdBTdBTdBTdBϊdBTdBTdBϊdBTdBTdBTdBTdBTdBTdBTdBTdBϊdBTdBϊdBTdBTdBTdBTdBϊdBTdBϊdBϊdBTdBTdBTdBTdBTdBTdBTdBTdBϊdBTdBϊdBTdBϊdBTdBTdBTdBϊdBϊdBTdBTdBTdBϊdBTdBTdBTdBTdBTdBTdBTdBTdBTdBTdBTdBTdBϊdBTdBTdBTdBTdBϊdBTdBϊdBϊdBTdBTdBϊdBTdBTdBϊdBTdBTdBTdBTdBTdBTdBϊdBTdBϊdBTdBTdBTdBϊdBTdBϊdBTdBϊdBTdBϊdBTdBϊdBTdBϊdBTdBϊdBTdBϊdBTdBϊdBTdBTdBTdBTdBTdBTdBϊdBϊdBTdBTdBTdBϊdBTdBTdBTdBϊdBTdBϊdBϊdBTdBTdBϊdBTdBϊdBTdBϊdBTdBϊdBTdBTdBϊdBTdBϊdBTdBTdBTdBϊdBTdBTdBTdBϊdBϊdBTdBϊdBTdBTdBϊdBTdBTdBTdBTdBϊdBϊdBTdBϊdBϊdBTdBϊdBTdBTdBTdBϊdBTdBTdBϊdBTdBTdBϊdBTdBTdBTdBTdBϊdBϊdBTdBTdBTdBTdBTdBTdBTdBTdBTdBϊdBTdBTdBϊdBTdBTdBTdBϊdBTdBϊdBTdBTdBTdBTdBϊdBTdBTdBTdBTdBϊdBϊdBTdBϊdBTdBϊdBTdBTdBϊdBTdBϊdBTdBϊdBϊdBTdBϊdBTdBTdBϊdBTdBTdBTdBTdBϊdBTdBTdBTdBϊdBTdBϊdBTdBTdBϊdBTdBTdBϊdBTdBTdBϊdBTdBϊdBTdBϊdBTdBTdBTdBϊdBTdBϊdBTdBTdBϊdBTdBTdBϊdBTdBϊdBϊdBTdBTdBTdBTdBϊdBTdBTdBTdBTdBTdBTdBϊdBTdBTdBTdBTdBTdBϊdBϊdBTdBTdBϊdBϊdBTdBϊdBTdBϊdBϊdBTdBTdBTdBTdBTdBTdBTdBϊdBTdBTdBTdBTdBϊdBTdBTdBϊdBTdBTdBTdBTdBTdBTdBTdBTdBTdBTdBTdBTdBTdBϊdBϊdBTdBϊdBTdBϊdBTdBTdBTdBϊdBϊdBTdBTdBTdBϊdBϊdBTdBTdBϊdBϊdBTdBϊdBTdBϊdBϊdBTdBϊdBTdBϊdBTdBTdBϊdBTdBϊdBTdBϊdBϊdBTdBϊdBϊdBϊdBTdBϊdBTdBϊdBTdBϊdBTdBϊdBTdBTdBϊdBϊdBTdBϊdBTdBϊdBϊdBTdBϊdBTdBTdBϊdBTdBϊdBTdBϊdBTdBTdBϊdBTdBTdBTdBϊdBTdBTdBTdBTdBϊdBϊdBTdBϊdBTdBTdBϊdBTdBϊdBϊdBTdBTdBϊdBϊdBTdBϊdBTdBϊdBTdBTdBTdBTdBTdBTdBTdBTdBTdBϊdBTdBϊdBTdBTdBTdBTdBTdBTdBϊdBTdBϊdBTdBTdBTdBϊdBϊdBTdBϊdBϊdBTdBTdBϊdBTdBϊdBTdBϊdBTdBϊdBϊdBTdBϊdBTdBϊdBTdBϊdBTdBTdBϊdBTdBTdBTdBTdBTdBTdBTdBTdBTdBTdBTdBTdBTdBTdBTdBTdBTdBTdBTdBTdBTdBTdBTdBTdBTdBTdBTdBTdBTdBTdBTdBTdBTdBTdBTdBTdBϊdBTdBϊdBTdBϊdBϊdBTdBTdBϊdBTdBTdBTdBϊdBϊdBTdBϊdBTdBϊdBTdBTdBTdBTdBTdBTdBϊdBTdBϊdBTdBTdBϊdBTdBϊdBTdBϊdBϊdBTdBϊdBTdBϊdBTdBTdBTdBTdBϊdBϊdBTdBϊdBTdBϊdBTdBϊdBTdBϊdBTdBϊdBTdBTdBTdBϊdBTdBϊdBTdBϊdBTdBTdBTdBϊdBTdBTdBTdBTdBTdBTdBTdBTdBTdBTdBTdBTdBTdBϊdBTdBTdBϊdBTdBTdBTdBϊdBTdBϊdBTdBϊdBTdBϊdBTdBTdBTdBϊdBTdBTdBTdBTdBTdBTdBTdBTdBϊdBTdBTdBϊdBTdBϊdBTdBTdBϊdBTdBTdBTdBϊdBϊdBTdBTdBTdBTdBTdBTdBϊdBTdBTdBTdBTdBϊdBTdBϊdBTdBTdBTdBTdBϊdBTdBTdBϊdBTdBϊdBTdBTdBTdBϊdBTdBTdBϊdBTdBTdBTdBϊdBTdBϊdBϊdBTdBϊdBTdBϊdBϊdBTdBϊdBTdBTdBϊdBϊdBTdBϊdBTdBϊdBTdBTdBTdBTdBTdBTdBϊdBTdBTdBϊdBTdBϊdBTdBϊdBϊdBTdBTdBϊdBTdBTdBTdBϊdBϊdBTdBTdBTdBϊdBTdBTdBTdBTdBϊdBTdBTdBTdBTdBTdBTdBϊdBTdBTdBTdBTdBϊdBTdBTdBTdBTdBTdBϊdBTdBTdBTdBϊdBTdBϊdBTdBTdBϊdBTdBϊdBϊdBTdBTdBTdBϊdBTdBTdBϊdBϊdBTdBϊdBTdBϊdBTdBϊdBTdBTdBϊdBϊdBϊdBTdBTdBTdBϊdBTdBϊdBTdBϊdBTdBϊdBTdBϊdBTdBTdBϊdBϊdBϊdBTdBTdBϊdBTdBTdBTdBϊdBTdBϊdBTdBTdBTdBTdBϊdBϊdBϊdBTdBϊdBTdBϊdBϊdBϊdBϊdBTdBϊdBϊdBTdBϊdBTdBϊdBTdBTdBTdBTdBTdBTdBTdBTdBTdBTdBTdBTdBTdBϊdBTdBTdBϊdBTdBTdBTdBTdBTdBTdBTdBTdBTdBTdBTdBTdBTdBTdBTdBTdBϊdBTdBTdBϊdBTdBTdBTdBTdBTdBTdBTdBTdBTdBTdBϊdBTdBTdBϊdBTdBϊdBTdBTdBTdBTdBTdBϊdBTdBTdBϊdBϊdBTdBϊdBTdBTdBTdBϊdBTdBTdBϊdBTdBϊdBTdBTdBϊdBϊdBTdBϊdBTdBTdBTdBTdBTdBTdBTdBTdBTdBTdBϊdBTdBTdBTdBTdBTdBTdBTdBTdBTdBTdBTdBTdBTdBTdBTdBTdBTdBTdBTdBTdBϊdBTdBTdBϊdBϊdBTdBϊdBTdBϊdBTdBTdBTdBTdBTdBϊdBTdBϊdBTdBTdBTdBTdBTdBTdBTdBTdBTdBTdBTdBTdBTdBTdBTdBTdBTdBTdBTdBTdBTdBTdBTdBTdBϊdBTdBTdBTdBTdBϊdBTdBTdBTdBϊdBTdBTdBTdBϊdBTdBϊdBTdBTdBTdBTdBϊdBTdBTdBϊdBTdBTdBTdBTdBTdBTdBTdBTdBTdBTdBTdBTdBTdBTdBTdBTdBTdBTdBTdBTdBTdBTdBTdBTdBTdBTdBTdBTdBTdBTdBTdBTdBTdBTdBTdBTdBTdBTdBTdBTdBTdBTdBTdBTdBϊdBTdBTdBTdBTdBTdBTdBTdBTdBTdBTdBTdBTdBTdBTdBTdBTdBTdBTdBTdBTdBTdBTdBTdBTdBTdBTdBϊdBTdBTdBϊdBTdBϊdBTdBTdBϊdBTdBϊdBTdBϊdBϊdBTdBTdBTdBTdBTdBTdBTdBTdBTdBϊdBTdBTdBTdBTdBTdBTdBTdBTdBTdBTdBTdBϊdBϊdBTdBTdBTdBϊdBTdBTdBTdBTdBϊdBTdBTdBϊdBTdBTdBTdBϊdBϊdBTdBTdBTdBTdBϊdBTdBTdBTdBTdBϊdBTdBTdBTdBTdBTdBTdBTdBTdBTdBTdBϊdBTdBTdBTdBϊdBTdBTdBϊdBTdBTdBϊdBTdBTdBTdBTdBTdBTdBTdBTdBϊdBTdBTdBϊdBTdBϊdBϊdBTdBTdBϊdBϊdBTdBTdBTdBTdBTdBϊdBϊdBTdBϊdBTdBTdBϊdBTdBϊdBTdBϊdBϊdBTdBTdBϊdBTdBϊdBTdBTdBTdBϊdBTdBϊdBTdBTdBϊdBTdBϊdBTdBϊdBϊdBTdBTdBTdBTdBTdBϊdBTdBTdBTdBϊdBTdBTdBTdBTdBTdBϊdBTdBϊdBTdBTdBTdBTdBTdBTdBTdBTdBTdBTdBTdBϊdBTdBTdBTdBTdBTdBTdBTdBTdBTdBϊdBTdBTdBϊdBTdBTdBTdBTdBTdBTdBTdBTdBTdBTdBTdBTdBTdBTdBTdBTdBTdBTdBTdBTdBTdBTdBTdBϊdBTdBTdBTdBTdBTdBTdBTdBTdBTdBTdBTdBTdBϊdBTdBTdBϊdBTdBTdBTdBTdBTdBTdBTdBTdBTdBTdBTdBTdBϊdBTdBϊdBϊdBTdBTdBTdBϊdBTdBϊdBTdBϊdBTdBϊdBϊdBTdBTdBTdBϊdBTdBTdBϊdBTdBϊdBTdBϊdBTdBϊdBTdBϊdBTdBTdBTdBϊdBTdBTdBTdBTdBTdBϊdBTdBTdBTdBTdBTdBTdBTdBϊdBTdBTdBTdBϊdBTdBTdBϊdBTdBTdBTdBϊdBTdBTdBTdBTdBTdBTdBTdBTdBTdBϊdBTdBϊdBTdBϊdBTdBϊdBTdBTdBϊdBTdBTdBTdBTdBTdBTdBϊdBTdBϊdBTdBϊdBTdBϊdBTdBTdBTdBϊdBTdBTdBTdBTdBTdBTdBTdBϊdBϊdBϊdBTdBTdBTdBϊdBTdBTdBϊdBTdBTdBϊdBTdBTdBTdBϊdBTdBϊdBϊdBTdBTdBTdBϊdBTdBTdBTdBTdBϊdBTdBϊdBTdBTdBTdBTdBTdBTdBϊdBTdBTdBTdBϊdBTdBTdBϊdBTdBTdBTdBTdBϊdBTdBϊdBTdBϊdBTdBϊdBTdBTdBϊdBϊdBϊdBTdBϊdBTdBϊdBTdBϊdBϊdBTdBTdBϊdBTdBϊdBTdBTdBϊdBϊdBTdBTdBTdBϊdBTdBTdBϊdBTdBϊdBTdBTdBϊdBTdBϊdBTdBϊdBTdBϊdBTdBϊdBϊdBTdBTdBTdBϊdBϊdBTdBTdBTdBϊdBTdBTdBϊdBTdBϊdBTdBϊdBTdBϊdBTdBϊdBTdBTdBϊdBTdBTdBTdBϊdBTdBTdBϊdBϊdBTdBϊdBTdBTdBϊdBϊdBTdBTdBϊdBTdBTdBϊdBTdBϊdBTdBϊdBTdBϊdBTdBϊdBTdBTdBϊdBϊdBTdBϊdBTdBϊdBTdBTdBTdBϊdBϊdBTdBTdBϊdBTdBTdBTdBTdBϊdBTdBϊdBTdBTdBϊdBϊdBTdBTdBϊdBTdBϊdBTdBTdBϊdBTdBϊdBTdBTdBTdBTdBTdBϊdBTdBTdBTdBϊdBTdBϊdBTdBϊdBϊdBTdBTdBϊdBTdBTdBTdBTdBTdBTdBTdBϊdBTdBTdBTdBTdBϊdBTdBϊdBTdBTdBTdBTdBϊdBTdBTdBϊdBϊdBTdBϊdBϊdBTdBϊdBTdBTdBϊdBTdBTdBϊdBϊdBϊdBTdBTdBϊdBTdBϊdBTdBTdBTdBTdBϊdBTdBϊdBTdBTdBϊdBTdBϊdBTdBTdBTdBϊdBTdBTdBϊdBTdBϊdBTdBϊdBTdBϊdBTdBTdBϊdBϊdBTdBTdBTdBϊdBϊdBTdBϊdBTdBTdBϊdBTdBTdBTdBTdBTdBTdBTdBTdBTdBTdBϊdBTdBϊdBTdBϊdBTdBϊdBTdBTdBTdBTdBϊdBTdBTdBϊdBTdBϊdBϊdBTdBTdBϊdBϊdBTdBTdBTdBϊdBTdBϊdBϊdBTdBTdBTdBTdBTdBϊdBϊdBϊdBTdBϊdBTdBϊdBTdBϊdBTdBϊdBTdBTdBTdBTdBTdBTdBϊdBTdBTdBϊdBTdBTdBϊdBϊdBTdBTdBTdBϊdBTdBTdBTdBTdBϊdBTdBϊdBϊdBTdBϊdBTdBTdBTdBϊdBTdBϊdBϊdBϊdBϊdBTdBϊdBTdBϊdBϊdBTdBϊdBTdBTdBϊdBϊdBTdBTdBϊdBTdBTdBTdBTdBTdBTdBTdBTdBTdBTdBϊdBTdBTdBϊdBϊdBTdBTdBTdBϊdBϊdBTdBTdBϊdBϊdBTdBTdBTdBϊdBTdBϊdBTdBTdBTdBTdBTdBTdBTdBTdBTdBTdBTdBϊdBTdBTdBTdBTdBTdBTdBTdBϊdBTdBTdBTdBTdBTdBTdBTdBTdBTdBTdBTdBTdBTdBTdBTdBTdBTdBTdBϊdBTdBTdBϊdBϊdBTdBϊdBTdBTdBTdBTdBϊdBTdBTdBϊdBϊdBTdBϊdBϊdBϊdBTdBTdBϊdBϊdBTdBTdBTdBϊdBϊdBTdBTdBTdBTdBϊdBϊdBTdBϊdBTdBTdBTdBTdBϊdBϊdBTdBTdBTdBTdBϊdBTdBϊdBTdBTdBϊdBTdBϊdBTdBϊdBTdBTdBϊdBTdBTdBϊdBTdBTdBTdBϊdBTdBTdBTdBTdBϊdBTdBTdBϊdBTdBTdBTdBTdBϊdBTdBTdBTdBϊdBTdBTdBTdBTdBTdBTdBϊdBTdBϊdBTdBϊdBTdBϊdBTdBTdBϊdBTdBϊdBTdBTdBϊdBTdBTdBϊdBTdBTdBϊdBTdBTdBϊdBTdBϊdBTdBTdBϊdBϊdBϊdBTdBTdBϊdBϊdBϊdBTdBϊdBTdBϊdBTdBTdBϊdBϊdBϊdBTdBϊdBTdBTdBϊdBTdBTdBTdBϊdBTdBϊdBTdBTdBϊdBTdBTdBTdBϊdBϊdBTdBϊdBϊdBTdBϊdBTdBTdBTdBϊdBϊdBTdBϊdBTdBTdBTdBTdBTdBTdBTdBTdBTdBTdBTdBTdBTdBTdBTdBTdBTdBTdBTdBTdBTdBTdBTdBTdBTdBTdBTdBTdBTdBTdBTdBTdBTdBTdBTdBTdBTdBϊdBTdBTdBTdBTdBTdBTdBTdBTdBTdBTdBTdBTdBTdBTdBTdBTdBTdBTdBTdBTdBTdBTdBTdBTdBTdBTdBTdBTdBTdBTdBTdBTdBTdBTdBTdBϊdBTdBTdBTdBTdBTdBTdBTdBTdBTdBTdBTdBTdBTdBTdBTdBTdBTdBTdBTdBTdBTdBTdBTdBTdBϊdBϊdBTdBTdBTdBTdBTdBTdBϊdBTdBϊdBTdBTdBTdBϊdBTdBϊdBTdBϊdBTdBϊdBTdBϊdBTdBTdBTdBTdBTdBTdBϊdBTdBϊdBTdBϊdBTdBϊdBTdBϊdBTdBϊdBTdBTdBTdBTdBTdBϊdBTdBϊdBTdBTdBTdBϊdBTdBϊdBTdBTdBTdBTdBTdBϊdBTdBϊdBTdBϊdBTdBϊdBTdBTdBϊdBϊdBTdBTdBTdBϊdBTdBϊdBTdBϊdBϊdBTdBTdBTdBϊdBTdBTdBTdBϊdBTdBϊdBTdBTdBϊdBTdBTdBϊdBϊdBTdBϊdBTdBTdBϊdBTdBϊdBTdBϊdBTdBϊdBTdBϊdBϊdBTdBTdBTdBTdBTdBϊdBTdBTdBTdBTdBTdBTdBTdBTdBTdBTdBϊdBTdBϊdBTdBϊdBϊdBTdBTdBTdBTdBTdBTdBTdBϊdBTdBTdBϊdBTdBTdBTdBTdBTdBϊdBTdBTdBTdBTdBϊdBTdBTdBTdBTdBTdBTdBTdBTdBϊdBϊdBTdBTdBTdBTdBTdBTdBTdBTdBTdBTdBTdBTdBTdBTdBTdBϊdBTdBϊdBTdBTdBTdBTdBTdBTdBϊdBTdBTdBϊdBTdBTdBTdBTdBϊdBTdBTdBTdBϊdBϊdBTdBTdBTdBTdBϊdBTdBTdBTdBϊdBTdBTdBTdBTdBϊdBTdBTdBTdBTdBTdBϊdBTdBTdBϊdBTdBϊdBTdBTdBTdBTdBϊdBTdBTdBϊdBTdBTdBTdBϊdBTdBTdBTdBϊdBTdBTdBTdBTdBTdBTdBTdBTdBTdBTdBϊdBTdBϊdBTdBTdBTdBTdBTdBTdBϊdBTdBTdBϊdBϊdBTdBϊdBTdBϊdBTdBϊdBTdBϊdBϊdBTdBϊdBTdBϊdBϊdBTdBTdBϊdBϊdBTdBϊdBTdBϊdBTdBTdBTdBϊdBTdBTdBϊdBϊdBTdBϊdBTdBϊdBϊdBTdBϊdBTdBϊdBϊdBTdBTdBTdBTdBTdBTdBϊdBTdBϊdBTdBTdBϊdBTdBTdBϊdBTdBTdBTdBTdBTdBϊdBTdBϊdBTdBϊdBϊdBTdBϊdBTdBϊdBTdBTdBTdBTdBϊdBTdBϊdBTdBTdBTdBTdBTdBϊdBTdBϊdBTdBϊdBTdBϊdBTdBTdBTdBϊdBϊdBTdBϊdBTdBϊdBTdBϊdBTdBϊdBTdBTdBϊdBϊdBϊdBTdBTdBϊdBTdBϊdBϊdBTdBTdBϊdBTdBTdBϊdBTdBTdBTdBϊdBϊdBTdBϊdBTdBTdBTdBTdBTdBϊdBTdBϊdBϊdBTdBϊdBTdBTdBϊdBϊdBTdBϊdBTdBϊdBTdBTdBϊdBTdBϊdBTdBTdBϊdBTdBTdBTdBϊdBTdBTdBTdBϊdBTdBTdBTdBTdBϊdBϊdBTdBTdBTdBTdBTdBTdBTdBTdBTdBTdBTdBTdBTdBTdBTdBTdBTdBϊdBTdBϊdBTdBTdBTdBϊdBTdBTdBTdBϊdBTdBTdBTdBTdBϊdBTdBϊdBϊdBϊdBTdBϊdBϊdBϊdBTdBϊdBϊdBTdBϊdBTdBTdBTdBϊdBTdBϊdBTdBϊdBTdBTdBϊdBTdBTdBTdBϊdBTdBϊdBTdBTdBTdBϊdBTdBTdBϊdBTdBTdBϊdBTdBϊdBTdBTdBϊdBTdBϊdBTdBTdBϊdBTdBTdBϊdBTdBϊdBTdBTdBϊdBϊdBTdBTdBϊdBTdBTdBTdBϊdBϊdBTdBTdBϊdBTdBTdBTdBϊdBTdBϊdBTdBTdBϊdBTdBϊdBϊdBTdBϊdBTdBϊdBTdBTdBϊdBTdBTdBTdBTdBTdBTdBϊdBTdBTdBϊdBTdBTdBTdBϊdBTdBϊdBTdBTdBϊdBTdBTdBTdBϊdBTdBϊdBTdBϊdBTdBTdBϊdBTdBTdBTdBϊdBTdBTdBϊdBϊdBTdBTdBϊdBϊdBTdBTdBTdBϊdBTdBTdBTdBTdBTdBϊdBTdBϊdBϊdBTdBϊdBTdBTdBϊdBϊdBTdBϊdBTdBTdBTdBTdBϊdBTdBϊdBTdBTdBϊdBTdBTdBTdBTdBTdBTdBTdBTdBTdBTdBTdBTdBTdBϊdBTdBTdBTdBTdBTdBTdBTdBTdBTdBTdBTdBTdBTdBTdBTdBTdBTdBTdBTdBTdBTdBTdBTdBTdBTdBTdBTdBTdBϊdBTdBTdBTdBTdBϊdBTdBTdBϊdBTdBTdBTdBTdBTdBTdBTdBTdBTdBTdBϊdBϊdBTdBTdBTdBTdBTdBTdBϊdBϊdBTdBTdBϊdBTdBTdBTdBϊdBTdBTdBTdBTdBϊdBTdBTdBTdBTdBTdBTdBTdBTdBTdBϊdBTdBϊdBTdBTdBTdBTdBϊdBϊdBϊdBTdBTdBϊdBTdBTdBϊdBϊdBTdBTdBTdBϊdBTdBTdBTdBTdBϊdBTdBϊdBTdBϊdBTdBϊdBTdBϊdBTdBTdBTdBTdBϊdBTdBTdBTdBTdBTdBTdBTdBTdBϊdBTdBTdBϊdBTdBϊdBTdBTdBTdBTdBϊdBTdBTdBTdBTdBTdBTdBTdBϊdBTdBTdBTdBϊdBTdBϊdBTdBϊdBTdBTdBTdBTdBTdBTdBTdBTdBTdBTdBTdBTdBTdBϊdBTdBTdBTdBTdBTdBTdBTdBTdBTdBTdBTdBTdBϊdBTdBTdBϊdBTdBTdBTdBTdBϊdBTdBTdBϊdBTdBTdBϊdBTdBTdBTdBTdBTdBTdBTdBTdBTdBTdBTdBTdBTdBTdBϊdBTdBTdBTdBϊdBϊdBTdBϊdBTdBTdBTdBϊdBTdBTdBϊdBTdBTdBTdBTdBϊdBTdBTdBTdBϊdBϊdBϊdBϊdBTdBϊdBTdBTdBϊdBTdBϊdBTdBTdBTdBTdBϊdBTdBϊdBTdBTdBTdBTdBϊdBTdBϊdBTdBϊdBϊdBTdBϊdBTdBTdBTdBTdBϊdBTdBTdBϊdBϊdBTdBϊdBTdBTdBTdBϊdBTdBϊdBϊdBTdBTdBTdBTdBTdBTdBTdBϊdBϊdBTdBTdBTdBTdBTdBTdBϊdBTdBTdBϊdBTdBTdBTdBTdBTdBTdBTdBϊdBTdBTdBTdBTdBTdBTdBϊdBTdBTdBTdBTdBϊdBTdBTdBϊdBTdBTdBTdBTdBϊdBTdBTdBTdBTdBTdBTdBTdBϊdBTdBTdBTdBTdBϊdBTdBTdBTdBTdBTdBϊdBTdBTdBTdBTdBTdBTdBTdBTdBTdBTdBTdBTdBTdBϊdBϊdBTdBTdBTdBϊdBTdBϊdBTdBTdBTdBTdBTdBϊdBϊdBϊdBTdBTdBTdBϊdBTdBTdBTdBTdBTdBTdBTdBTdBϊdBTdBTdBTdBTdBϊdBTdBTdBTdBϊdBTdBϊdBϊdBTdBTdBTdBϊdBϊdBTdBϊdBTdBϊdBTdBTdBTdBTdBTdBϊdBTdBϊdBTdBTdBϊdBϊdBTdBTdBTdBϊdBϊdBTdBϊdBTdBTdBϊdBϊdBTdBϊdBTdBTdBTdBTdBϊdBϊdBTdBϊdBTdBϊdBϊdBTdBTdBϊdBTdBTdBTdBTdBTdBTdBTdBTdBϊdBTdBTdBϊdBTdBϊdBTdBTdBϊdBTdBϊdBTdBϊdBϊdBTdBTdBϊdBTdBTdBϊdBϊdBTdBTdBTdBTdBTdBTdBTdBTdBϊdBTdBϊdBTdBTdBTdBTdBTdBTdBTdBϊdBTdBTdBϊdBTdBTdBTdBTdBϊdBTdBTdBϊdBTdBTdBTdBdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBdBdBRdBdBRdBRdBdBRdBRdBRdBRdBdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBdBdBRdBdBRdBdBRdBdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBdBRdBdBRdBRdBRdBRdBRdBdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBdBRdBdBdBRdBRdBRdBRdBRdBRdBRdBRdBdBRdBRdBRdBRdBRdBdBRdBRdBRdBRdBRdBdBRdBdBRdBRdBRdBRdBRdBdBRdBRdBRdBRdBRdBRdBRdBRdBdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBdBRdBdBRdBdBRdBRdBRdBRdBRdBdBRdBRdBRdBdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBdBRdBdBRdBdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBdBRdBRdBRdBRdBdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBdBRdBdBRdBRdBRdBRdBRdBdBRdBdBTdBTdBTdBTdBTdBϋdBdBTdBTdBdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBdBRdBRdBRdBRdBdBRdBRdBRdBRdBRdBRdBdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBdBRdBRdBRdBRdBRdBRdBdBRdBdBRdBRdBRdBdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBdBRdBRdBdBRdBRdBdBRdBRdBdBRdBRdBRdBRdBRdBRdBRdBRdBRdBdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBdBRdBdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBdBdBRdBdBRdBRdBRdBRdBRdBRdBdBRdBRdBRdBRdBRdBRdBRdBdBRdBRdBRdBRdBRdBRdBRdBdBRdBRdBdBRdBRdBRdBdBRdBRdBRdBdBRdBRdBRdBRdBdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBdBRdBRdBRdBRdBdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBdBRdBRdBRdBdBRdBRdBRdBdBRdBRdBdBRdBRdBRdBdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBdBRdBRdBdBRdBRdBRdBRdBdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBdBRdBRdBRdBRdBRdBRdBRdBdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBdBRdBdBRdBRdBRdBRdBdBRdBdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBdBRdBdBRdBRdBRdBRdBRdBdBRdBSdBdBRdBSdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBdBSdBRdBRdBRdBRdBRdBRdBRdBdBSdBRdBRdBRdBRdBRdBRdBdBRdBSdBSdBSdBSdBSdBdBSdBSdBRdBRdBRdBRdBRdBRdBdBSdBSdBSdBSdBSdBSdBSdBSdBRdBRdBRdBRdBdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBdBSdBSdBSdBSdBSdBSdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBRdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBdBSdBSdBSdBSdBSdBdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBdBSdBSdBSdBSdBdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBdBdBSdBdBSdBdBSdBdBSdBSdBdBSdBSdBSdBSdBSdBSdBSdBdBSdBSdBdBSdBSdBdBSdBdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBdBSdBSdBSdBSdBdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBdBSdBSdBSdBSdBdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBdBSdBSdBSdBSdBSdBSdBSdBSdBSdBdBSdBSdBSdBdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBdBSdBdBSdBSdBSdBSdBSdBSdBSdBdBSdBdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBdBSdBdBSdBSdBSdBSdBSdBdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBdBSdBSdBSdBSdBSdBSdBdBSdBdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBdBdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBdBdBSdBSdBSdBdBSdBSdBSdBSdBdBSdBdBSdBdBSdBdBSdBSdBSdBSdBSdBSdBSdBSdBdBSdBSdBSdBdBSdBdBSdBSdBdBSdBdBSdBdBSdBdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBdBdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBdBdBSdBSdBSdBSdBSdBSdBdBSdBSdBdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBdBdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBdBSdBSdBSdBSdBSdBSdBSdBSdBSdBdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBdBSdBSdBdBSdBSdBdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBdBSdBSdBSdBSdBSdBSdBSdBdBSdBSdBSdBSdBSdBSdBSdBSdBdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBdBSdBdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBdBSdBSdBSdBdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBdBSdBSdBSdBSdBSdBdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBSdBdBTdBTdBTdBTdBTdBTdBTdBTdBTdBTdBTdBTdBTdBTdBTdBTdBTdBTdBTdBTdBTdBTdBTdBTdBTdBTdBTdBTdBTdBTdBTdBTdBTdBTdBTdBTdBTdBTdBTdBTdBTdBTdBTdBTdBTdBTdBTdBTdBTdBTdBTdBTdBTdBTdBTdBTdBTdBTdBTdBTdBTdBTdBTdBTdBTdBTdBTdBdBTdBTdBTdBTdBTdBTdBTdBTdBTdBTdBTdBdBTdBTdBTdBdBTdBTdBTdBTdBTdBdBTdBTdBTdBdBTdBTdBTdBTdBTdBTdBTdBTdBTdBTdBTdBTdBTdBTdBTdBTdBTdBTdBTdBTdBTdBTdBTdBTdBdBTdBdBTdBTdBTdBTdBTdBTdBTdBTdBdBTdBTdBTdBTdBTdBTdBTdBTdBTdBTdBdBdBTdBTdBTdBTdBTdBdBTdBTdBTdBTdBTdBTdBdBTdBTdBTdBdBTdBTdBTdBTdBdBTdBTdBTdBTdBTdBTdBTdBTdBTdBTdBTdBTdBTdBTdBdBTdBTdBTdBTdBTdBTdBTdBTdBTdBTdBTdBTdBTdBTdBTdBTdBTdBTdBTdBTdBTdBTdBTdBTdBTdBTdBTdBTdBTdBTdBTdBTdBTdBTdBTdBTdBTdBTdBTdBTdBTdBTdBTdBTdBTdBTdBTdBTdBdBTdBdBTdBTdBTdBTdBTdBTdBTdBTdBTdBTdBTdBdBTdBTdBTdBTdBTdBdBTdBTdBTdBTdBTdBdBTdBTdBTdBTdBTdBTdBTdBTdBTdBTdBTdBTdBTdBTdBTdBTdBTdBTdBTdBTdBTdBTdBTdBTdBTdBTdBTdBTdBTdBTdBTdBTdBTdBTdBTdB9dBPdBPdB9dBPdB9dBQdBQdBQdBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdB9dBQdB9dBQdB9dBQdB9dBQdBQdB9dBQdB9dBQdBQdB9dBQdBQdB9dBQdB9dBQdBQdB9dBQdB9dBQdBQdB9dBQdB9dBQdBQdBQdB9dBQdB9dBQdBQdB9dBQdBQdB9dB9dBPdBPdBPdBPdBPdBPdBPdBPdB9dBPdB9dBPdB9dBPdBPdB9dBPdBPdB9dBPdB9dBPdB9dBPdB9dBPdBPdB9dBPdB9dBPdB9dBPdB9dBPdB9dBPdB9dBPdBPdB9dBPdBPdB9dBPdB9dBPdB9dBPdB9dBPdB9dBRdBRdBRdB9dBRdBRdB9dBRdB9dB9dBRdBRdB9dBRdBRdB9dBRdBRdB9dBRdBRdBRdBRdB9dBRdB9dBRdBRdB9dBRdBRdB9dBRdBRdB9dBRdBRdB9dBRdBRdB9dBRdBRdB9dBRdBRdB9dBRdBRdB9dBRdB9dBRdBRdB9dBRdBRdB9dBRdBRdB9dBRdBRdB9dBRdBRdB9dBRdBRdB9dBRdB9dBRdBRdB9dBRdBRdB9dBRdB9dBRdBRdB9dBRdBRdB9dBRdBRdB9dBRdBRdB9dBRdB9dBRdB9dBRdBRdB9dB9dBRdBRdBRdBRdB9dBRdBRdB9dBRdBRdB9dBRdB9dBRdBRdB9dBRdBRdB9dBRdB9dBRdBRdB9dBRdBRdB9dBRdBRdB9dBRdB9dBRdBRdB9dBRdBRdB9dBRdBRdB9dBRdBRdB9dBRdBRdB9dBRdBRdB9dBRdBRdB9dBRdBRdB9dBRdBRdB9dBRdBRdB9dBRdBRdB9dBRdBRdB9dBRdBRdB9dBRdBRdB9dBRdB9dBRdBRdB9dBRdBRdB9dBRdBRdB9dBRdBRdB9dBRdBRdB9dBRdBRdB9dBRdBRdB9dBRdBRdB9dBRdBRdB9dBRdBRdB9dBRdBRdB9dBRdB9dBRdBRdB9dBRdBRdB9dBRdBRdB9dBRdBRdB9dBRdBRdB9dBRdBRdB9dBRdB9dBRdB9dBRdBRdB9dBRdBRdB9dBRdBRdB9dBRdBRdB9dBRdBRdB9dBRdBRdB9dBRdBRdB9dBRdBRdB9dBRdBRdB9dBRdBRdB9dBPdBPdB9dBPdB9dBPdBPdB9dBPdB9dBPdB9dBPdB9dBPdB9dBPdB9dBPdB9dBPdB9dBPdB9dBPdB9dBPdB9dB9dBPdB9dBPdB9dBPdB9dBPdB9dBPdB9dBPdB9dBPdB9dBPdB9dBPdB9dBPdB9dBPdB9dBPdB9dBPdB~dBPdBPdBPdBPdBPdBPdBPdBPdBPdBPdBPdBPdBPdBPdBPdBPdBPdBPdBPdBPdBPdBPdBLdBPdBLdBPdBLdBPdBLdBPdBPdBPdBPdBPdBPdBPdBPdBPdBPdBPdBPdBPdBPdB~dBPdBPdBPdBPdBPdBPdBdBdBdBPdBPdBPdBPdBPdBdBPdBPdBPdBPdBPdBPdBPdBPdBPdBPdBPdBPdBdBPdBPdBPdBPdBPdBPdBPdBdBPdBPdBPdBPdBPdBdBPdBPdBPdBPdBdBPdBPdBPdBPdBPdBPdBPdBPdBPdBPdBPdBPdBPdBPdBPdBPdBPdBPdBPdBdBPdBPdBPdBPdBdBPdBPdBPdBPdBPdBLdBPdBPdBPdBPdBPdBPdBPdB~dBPdBPdBPdBPdBPdBLdBPdBPdBPdBPdBPdBPdBPdBPdBPdBPdBPdBPdBPdBPdBPdBPdBPdBPdBPdBPdBPdBPdBPdBPdBPdBPdBPdBdBPdBPdBPdBPdBPdBPdBPdBPdBPdBPdBPdBPdBPdBPdBPdBPdBPdBPdBPdBPdBPdBPdBPdBPdBPdBLdBPdBPdBPdBPdBPdBPdBPdBPdBPdBPdBPdBPdB͆dBPdBPdBPdBPdBPdBPdBPdBPdBPdBPdBPdBPdBPdBPdBPdBdBPdB͆dBPdBPdBPdBPdBPdBPdBPdBPdBPdBPdBPdBPdBPdBLdBPdBLdBPdBPdBPdBPdBPdBPdBPdBPdBPdBPdBPdBPdBPdBPdBPdBPdBLdBPdBLdBPdB~dBPdBLdBPdBPdBPdBPdBPdBPdBPdBPdBPdBPdBPdBPdB͆dBPdBPdBPdBPdBPdBPdBPdBPdBPdBPdBPdBPdBPdBPdBPdBPdBPdBPdBPdBPdBPdBPdBdBdBPdBPdBPdBdBPdBPdBPdBPdBPdBPdBPdBPdBPdBdBPdBPdBPdBPdBPdBPdBdBPdBPdBPdBdBPdBPdBPdBPdBPdBPdBdBPdBPdBPdBPdBdBPdBPdBPdBPdBdBPdBPdBPdBPdBdBdBPdBPdBPdBPdBdBPdBPdBPdBdBPdBPdBPdBdBPdBPdBPdBPdBdBPdBPdBPdBPdBPdBPdBPdBPdBPdBPdBPdBdBPdBPdBPdBPdBPdBPdBPdBPdBPdBPdBLdBPdBPdBPdBPdBPdBPdBPdBPdBPdBLdBPdBLdBPdBPdBPdBPdBPdBPdBPdBPdBdBPdBPdBPdBPdBPdBPdBPdBPdBLdBPdBPdBPdBPdBPdBPdBdBPdBPdBLdBPdBLdBPdBPdBPdBLdBPdBPdBLdBPdBPdBPdBPdBPdBLdBPdBLdBPdBPdBPdBPdBPdBPdBPdBPdBPdBPdBLdBPdBPdBPdBPdB9dBPdBPdBPdB9dBPdBPdB9dBPdB9dBPdBPdB9dBPdBPdB9dBPdBPdB9dBPdBPdB9dBPdB9dBPdB9dBPdBPdB:dBPdBPdB:dBPdBPdB9dBPdBPdB9dBPdBPdB9dBPdBPdB9dBQdBQdB9dBRdBRdB9dBRdBRdB9dBRdBRdB9dBRdB9dBRdBRdB9dBRdBRdB9dBRdB9dBRdBRdB9dBQdBQdB9dBRdBRdB9dBRdB9dBRdBRdB9dBRdB9dBRdBRdB9dBRdB9dBRdB9dBRdB9dBRdB9dBRdB9dBRdBRdB9dBRdB9dBRdB9dBRdB9dBRdB9dBRdB9dBRdB9dBRdB9dBRdB9dBRdBRdB9dBRdB9dBRdB9dBRdB9dBRdBRdB9dBRdB9dBRdB9dBRdB9dBRdB9dBRdB9dBRdB9dBRdB9dBRdB9dBRdB9dBRdB9dBRdB9dBRdBRdB9dB9dBRdBRdB9dBRdBRdB9dBRdBRdB9dBRdB9dBRdB9dBRdB9dBRdB9dBRdB9dBRdB9dBRdB9dBRdB9dBRdB9dBRdB9dBRdB9dBRdBRdB9dBRdB9dBRdB9dBRdB9dBRdB9dBRdB9dBRdB9dBRdB9dBRdB9dBRdB9dBRdB9dBRdB9dBRdB9dBRdB9dBRdBRdB9dBRdB9dBRdB9dBRdBRdB9dBRdBRdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdB9dBQdB9dBQdB9dBQdB9dBQdB9dBQdBQdB9dBQdBQdB9dBRdBRdB9dBQdBQdB9dBQdBQdB9dBRdBRdB9dBRdBRdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBRdBRdB9dBRdB9dBRdB9dBRdB9dBRdBRdB9dBRdBRdB9dBRdB9dBRdB9dBRdB9dBRdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdB9dBQdB9dBQdB9dBQdB9dBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdB9dBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBQdBQdB9dBRdBRdB9dBRdBRdB9dBRdBRdB9dBQdBQdB9dBRdBRdB9dBRdBRdB9dBRdBRdB9dBRdB9dB9dBQdBQdBQdB9dBQdB9dBQdB9dBQdB9dBQdBQdB9dBQdB9dBQdB9dBRdBRdB9dBRdBRdB9dBQdBQdB:dBPdB9dBPdB9dB9dB9dBPdB9dBPdB9dB9dBPdBPdB9dBPdB9dBPdB9dBPdBPdBPdBPdB9dBPdB9dB9dBPdB9dBPdB9dBPdB9dBPdB9dBPdB9dBPdB:dB:dBPdBPdB9dBPdB9dB9dBPdB9dB9dBPdB9dBPdB9dBPdB9dB9dBPdB9dBPdB9dBPdB9dB9dBPdBPdB9dBPdB9dB9dBPdBPdB9dBPdB9dBPdB9dBPdB9dBPdB9dB9dBPdBPdBPdBPdB9dB9dBPdB9dBPdB9dBPdB9dBPdB9dBPdB9dBPdB9dBPdB9dBPdB9dBPdB9dBPdB9dB9dB9dBPdB9dB9dBPdBPdBPdB9dB9dBPdB9dBPdB9dBPdB9dBPdB9dBPdB9dB9dBPdB9dBPdB9dBPdB9dBPdB9dB9dBPdB9dBPdB9dBPdB9dBPdBPdB9dBPdB9dB9dBPdB9dBPdB9dBPdB9dBPdB9dBPdB9dBPdB9dBPdBPdB9dBPdB9dBPdB9dBPdB9dBPdB9dBPdB9dBPdB9dBPdB9dBPdB9dB9dB9dBPdB9dBPdB9dBPdB9dBPdB9dBPdB9dBPdB9dBPdB9dBPdB9dBPdB9dBPdB9dBPdB9dBPdB9dBPdB9dBPdB9dBPdB9dBPdB9dBPdB9dBPdB9dBPdB9dBPdB9dBPdB9dBPdB9dBPdB9dBPdB9dBPdB9dBPdB9dBPdB9dBPdB9dBPdB9dBPdB9dBPdB9dBPdB9dBPdB9dBPdB9dBPdB9dBPdB9dBPdB9dBPdB9dBPdB9dBPdB9dBPdB9dBPdB9dBPdB9dBPdB9dBPdB9dBPdB9dBPdB9dBPdB9dBPdB9dBPdB9dBPdB9dBPdB9dBPdB9dBPdB9dBPdB9dBPdB9dBPdB9dBPdB9dBPdB9dBPdB9dB9dBPdB9dB9dBPdB9dBPdB9dBPdB9dBPdB9dBPdB9dBPdB9dBPdB9dBPdB9dBPdB9dBPdB9dBPdB9dBPdB9dBPdB9dBPdB9dBPdB9dBPdB9dBPdB9dBPdB9dBPdB9dBPdB9dBPdB9dBPdB9dBPdB9dBPdB9dBPdB9dBPdB9dB9dBPdB9dBPdB9dB9dB9dBPdB9dB9dBPdB9dBPdB9dBPdB9dBPdB9dBPdB9dBPdB9dBPdB9dBPdB9dBPdB9dBPdB9dBQdBQdB9dBPdB9dBPdBPdB9dBPdBPdB[dBPa699e89a21414d9b889ab838279cc846784386430b3e14c398a041be02ee9adb43aeea3120e4f6a7f729af20f13c584a79d9c7df4eb14b2ca01854624d20f5fa440327ef5d61924ff03b7680bea8fe805fc4420ce5e103deaf56db9a9601079d2366b0a32c6b8edf4377452136874369a60ee460c51dc90edf1cabc571e952cc0d8e6e62efd71c32717965d3427afb9109834771783b04b06dbd4fb9f12ec03c9d4b0ae60bc0a75ccca10de426498ef0126a391c79b86185bad35eb4444e921dcf542f15b0f9365abb7f67dc38d927d464ce99c751937276540f028c12ef05351203d1d9284d3d8db4ea0a741a1b03e300e2a9c812205222e8fc026a458420220a876bf3835fe06ed1dba1e8de3aa12fe18ea0d6ae505090357985cb29230933516f885d0b46bad87679dc9b36905731d6834d728f306848947033175dc228cf2319519ccb40a770088dd9fff78496466e7b3814766ba6f901037d098f8c1ccc20baa302107fe87d46fb7401d91aacdab82e2491c7c8613b0c95031da4e84471df89619cb26525622db08b81f27e7275f1c1dd64e57174c06e7bd79febdd6aec31592a0294c9e276b3d65987f470eaaa2dc024c33977f409a6026185bed4f55b571c2738b88cc09f74b4b84ff494f71bb93b3df25675a48178dfa7ce98244c6024dfbb4f382a643d538fda5df16cd9639085cd64f5877f63e4ef41c9a4c3b7b1392226f3c8f9b858f0cb601c14e0dc88a73e24caa743776fa424aeeb27bc37402e7ec7972924a4ecb50dbb7469221d706b958c2f2318dfe3d4adf23c6da0f2251ca2ac85309fe8a4bcfa4a53896c9eed83fe15e44638a9fd8c2d3c64de92bd5fb773d87e25758e5a2622e2fc0890c2ef7ed4ad61ee8c6524bf9e51fcda7ddafd6c4457adc2cbfb72505ffb25318a4507900b186542bbc07c8b2cdda872829d48a3c9737252cac2c3d060376051bd400edbfa60ba7ce9df19101937ecd26d11cbc0b8ba07e762b5c8653db0e025e5588b1b1c57d4473d4926dde2a151c147968ba5d0d31912cd6ed3f7ae6acee3066a462fde5d1142b8a16ea0b59510c3d9137f5afafc70fe18ceb5f7c8ae27de7088029263c037548ed3e920d61995c6c033915edb772d77604f69b09f9478711f2b058d925bf859200a3eb539894de28ce6ce536b6ef4881d480596d4a60bf3e28c53d0535c1b8a92aec6f1035569e8d5d99533bea624614503b1765259766e469cf6c5e53296d8d45f3bde15d579000aa27234c69e7dcce7ece7b2f76a0683969d5f19ebc4b6f52cca5bb792126483b3b8b75e27417e08e9473eced1c817088495033ff5afce8d9852229d398a081a4baa52cc7c6faec669260c6b454edf07c7ab2c7d9f020505323dcb34c975b96f5833e2353fb9e7776c9fcc028ab726c753aaaf95af857c9ea520784a1c863cd2c04be93d5b3b7a7e72c2b71ce79f44d8698d0392141704a8d40220b1dc14cbb8afc4c5fc8b24f119802bc77ba324e5e287d6d8056192e5272aac5c3cf236d563b9bfd5414a249f99b06d79604cc514de3981f988464c6a856402fa2b6869fbb4a378036e58df91687703ed79058c1fc2f1e7f5a822a14b5a02bccd6ffd8467b6eaa823f1ee8a70ec6f0698cc54b613f13a5b7dee8d5a8185fe2e847b626a96047bd046b1bf05714a925ff4e91a279e30cf4c855898d599c316f557bf7eaf8834e40bcae517059524ef2b4a1c05f86d32dee7c51b6c407532a77a61e6e6a9ac8d9ae9a71c183955a31a181ae2f3661446e7cf0d3c5d121b9e17fc2d4ba5049549331a94a5cdb297c4e17f08e8fb39f3869602d91d6ba45c56f0d6266846d7d73649e4f90b9bb55ea9055cb7fb989a27fbf11870934740228a94633042b9debf4d116cb93daa31b9e9804a50dc36b5d1b9a98d1afc924ef79089514bb9419a40ddbf9e59f91dc0bb81af273017a3ba6c59c894c17829b95edc22f0d5af05d2d5923f6b4ddfc7a97a56d5c2b52289c123b7fb629a993aba08362063e884fad36cca56625fb735388e8f242ecb3efa6b5e3457999e16499191985106db2ba5ed0607edadc1dc3ca059d67394db68a931c6b373598bdc9293fc55440f0ca9aa37f793f9652cc9cdb4a78abca35e1c2a5aba26d472dd5df12dd0ca97dc87df98e81e0cf070489f7683a8fc4af41d9ba7d0fd7fee699b1b1f5b287a4f0b46441e38bbc276584a543a5870f22c21bffa0ac6a23664905c3427f777c49a6a0ce66f8c8e94d64062a0c9d9b959c59560cfa011c6b031e4247f05e473bd1d421ef2ac855a7758d50e315177e68bcea86b2d2394fcf98b899afaa3614af301ca85900bd5e94921a0c32da3ab29d1f9aa277c91fc76f4a7075a6258d40d13e2e1fbefe346394ded3fca8cc2ae7eed4e0ab7c8a9965f6996fca2827a01426483e6bfb5910e695a97dcaab71b04facd18ecd60cc0e749c91db7638b5a841eb65b95336d4b0d2d34217b18147e344e6b1ffc7abc35e99fb24de9dbe2e734bb3086ff14bf0ee87813d92b32f982f893c09c86066854e5a39398576db00c2eaf8da38150c8b1008664c4e7362396af63ed0fee3633e2131bbc1bd9b1ed865fd62fa5c279edf8c7a8c4548b39a28a54a9992210ff570c5e3fefae68e089ae0ccd207d5203503f9d132d56ebd60aa6fc89bcbcbe529b292d59da0514367c2fa7410b7852108846ae3386b317a38ed57b1afae8fe80e1a6eab67b7a27ffde519956a732160aa3f96e43d5da9db72c6bf7899b91ba38c50a8049c112569e578c3bd023c529de291cf73149632b091b6160357012089ff9d49d4e5b65c6481e030e3e44a7aa9fa2137db8c923cfd0e401af1daeb836ff1832b140f73842686c83a36541351db6db77f36b1d451cd52dd61eaeea7b8c4d953b52eac27c0b16ed7d18ff1ab1f0e9e0cb0c531b4a667f8753506a3a7ffe6910c4a9458fac0732336224d3a768e12c61752dd751870480295e6cbdf822209e231a9a9dcc330e1f3f9d31a85ba6ea1778a617e51c382bfd34699a2efc86726c058135bb47780c596e4bba2e7e36150cdf5c3c8f44ad58a2fb702168a0fa3b30211e339f672d83ecb8ed6ac170d7fdb892ce24b7ae0e6be8819850f8e3086ea13cc411c4292e2372c6c4d78153be10d4b49a3a6d54817aa7db17cba4c54f2c4ac6f0cedfd66a5efb0eb9aa936159352d58c66509cfaa4ec479d2bde838a70ad275f3cba7362a07bb342542ebb197b9a7cb91612d8fed369e773434837d1072f36511cf3169d149b1a56685ba0928c79fc19aa1369af071edcc1e42d288676dbb9a76c2091382d941d81a4390534173a01bab15a3b20a7a74b1c495fa94ceea35a1c22cb817e1648b3cb23cd5a43ce3fe4dbfa482fd1801f89897f6c0721944ab6d15cc810f26e03062cd35dbaf8e66208676e5ef7140dfcb53ba35a66d328915d012af2186ca2970283f9eab6d0058db4227b20260b681288ac87dd7fc264ddbba75cc8b907a68d3903faeb73f0c6285ae2714ca501a5a9338009203d0a85ede5cc2dbfe62e7170dcc7bb41c158140f0f8bc49bc30c85657a6906a9bcc2d98c66545f56a2abba69a214303f4fe91fbad1bd71fa5aac259cf5f61ead437cf74b68e2824fd1546847b4980a12f41086c8383533c3b820a12db422a78aeef7982157b3673603ec0ca9fee565867fbe916936d001e157d297a9dd3c33355e54fa815fed023ff1e795de6e5bcd7cc01554a557a1c7aeae31b4a732c6bf7899b91ba38c50a8049c112569e578c3bd023c529de291cf73149632b09581e2ffce95d8e6d4d63f0c2bdf8ed670285d75852c56e6e5640bbcb4dc21e97d8f655df6468490d2fbd7c4c35832d36afa6d53523acdabe7703787b5b14f3a2001c45c6d08eb13141915e9f74d533b6ba68193ed998c6c35cba2443593b3fef881ba17e679f9bc0778508ae05304a2d9781a4065d02fcf30131045c61fa46066b573674703a97a2f3a2253bcf0e6157e08111f4c4f8110ab6987d918eb2dfcab649198bc7b084b6cf39d0ee1fbf9e7b6b32c80cf962bf4c02e6978d3dae99686ebe0eeb6da7ba61ce85fdc4e1c06d175bd2eac225d98f84cac909f15f3b947701a6b64719c1ac7795e29366d0d96bba4b873f936c2ebd7ea55ad3ebb80242af71b96e77ccabc19c609772c574c0505ad472c304776fb62d0c053def0d5a9c31e7fbf48ff91eaa348395b22d842f570cf2e65a3d2c1f23e1a4ade7b4897593063139819a78a2fded30dc26f27c9473aa0b190dab7d0ebcf4d07c8119d18b3b4e3a42ed1cd4ba7ecaee5208d419db9344311079fc4ce88ee02a582b1ee3ee0aaa27ca9bb2d0621b7929156064307b02efb0960ca3d503a534463180e355997d189e801c53cb769d73bd2204e36c4515a693312238f7a87f9111dbe3446ab73d9bd3de558f03b0dc75985154377932f556e0e3e521b4145431f84888c8ff1e487a58adfd4746975d39f40d3cf61ca576be689b68b057fa60ddb116a7484e6427c3e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b8551248c3d28ce2b064dbc323a20fc7db527dd233e6598ed8b9d205aadf12cbf34e867a98ee769795a7c30f3acea9fa4bda3b846bcfacc461c3b0075c7cf548671cbfd0bb41c01004857246a003071747353b9c3c3ff4e59959980944f82e9da4e116f44af2fc552f49ba861e27e2f6aff9a7188098a3262dc1b34f031016a57713e606092c52e52d561e42d22661ab41ebaf1a23bf9f52059f6d52fe9827e0f6522489c5e00f9b2ca77a29bd8a07df20768160b06d3c501fa520ae2350db83abbc246c101ad69232414ab4567eb4c7fac81dbea0aa19f40c5b13999ae43519e9d457fff263f1e0f8856c379e63b0d34f3b45a6baa36a250ada6590961f48d77def3951f9f20027111aadd7d5258e57d2764e72a513612b73b29f8d1b43148548aedea9a36526ce61165286190d31ec5cd9dffdba092f902589bd0895c7402277b35bc9d5a2416e1923574d12225cd85a8f4e517bc05f360b00baffb74cda0ecb24c4b58917adfe5461569674cd4bd3e5fb1c3b789785157af8a9dfabcf645261f4a6906a9bcc2d98c66545f56a2abba69a214303f4fe91fbad1bd71fa5aac259cf5cb8135535be27c3f3bf63df0907d2971abae439f0203b6051affb90e2847c8a5f9e96a0f7838a5298837a89223271c28dc33ee74b953a11425beed7fbce5bb988d5de817fd1f2b6214d389581f02a18087946adebcd792d5e130c24e1c375f5628cb77864808d120e180bcddedf1b24ba7bdbe366a29f1e7e269469108d748db77eebf4792c6b106897628cbd5c63fc287921572a5d343b67d02b9d9e30793a9b40e1c0de092cf1200a2716642029620a154e98fb763ed63356debf7768652caff4bc1e665391aabb7d32b8f0e6ce0dfdbd2e4d6525d77f213f3122d825ca8701e97942c6e62becba36045bb5ef1c10ce86c80e16eebb471672f840a6046e5226330622d6b048f2e01b4b27064bb7ee3b94ef52ba5eb0ad1ca592c92d996aa92c6bf7899b91ba38c50a8049c112569e578c3bd023c529de291cf73149632b092e1ec58feca23fad7159e41bcd36821549f8609e629b9822b7dd541c59f4b8c01bae3ff7d3f08121bd65e5a3e3a00028120fa38e17134194b228ba5f61a5d7e331c4877c641ffada00285181b3b67ad333e991cb1952a2ac0ba99452e22c48e70b5f1ee1bcbb28de35df4aa47377151c65cf75578b0cec72637604776a2d437eff105271ec8b74e1b382003e3117d2ad0becc687985c4c1c0c9c04ba0df73b9266f1251f2a62ab07095b5dcfd9f3871b6f075230a2a6e1c60edeb9cd10bb481853a6bdc2130822aa3d396849a82497c41682a2eea75152c6921d7fb936b9effedfa0765570c3138541e5435716e2ca77cd4032daf8d3903beca1305fca8021e372eff3fb4e6c5d271e792814483138256291bd04975f3bd5ae8bf5d01711d525bd83d3f21c4d36ec7014322624071cc5f50cd5246efc667dfd2aab85fea7213dbe1d2bc57b1f3736c6b7c8da5e63120a73db731e286ee61c8d691cda27a0086197bf2efa9fa8dfff63386b64aadd66819187c7f3f0e97992ef3e261b2806ee2db4710166ec3643f3bfc34da54c91237cfcf44cb1b9c5449d3dcb6d3c505b046d0c2287411f0b0b5af1b9fd23d866f77929e4ca6f487e0fb3f3dafa83afe17fa7e7fd8ca88056dc90b9be5840ebbf6b39ad1798f7340297d2bcd5e71583db489aa88e976d94e8fb011f3148f76c9596b3f4dfbd739ae6ada37505f773f693f8cd8fa394122d4f85ce337ca5f5b9667a38b2a633037913ddeeb65b4d0fecee83f9b4cc85b05770692b3d0f7ac24026a15ed5969ffec02816265107bd712aea8c4375d00aee5734ebf3faaa5df71a223a4215b0f9f33aaff5b6c38df60f33c3330f343423bc0a8dee4927aa1b2805931c1b4db3e6610e7ca9864f4b1b9196a1d97fc363558e36459552c683c46bf7496b93ccefab5300a805f92f4d75bfa9cbbf5a923bb4dfa37cd8c3aaa083d8e6f46cb47dfe5b273581f5f5ec48ba801389bfb7a3d28c8f6bf88c7027e7c2f5c0d63926ca604a860dc18d1c0da47a6fc5cc86605d41c88f9788f5b4e968b535cdd90084c88dbee598b460ecc86512d5176fe94d53924259af4a1bd8054ead7d8fa99256d7f1169ffacf8b089f185a72c2f8882abe4818b7140152df9e12ebf0eb329ff66c8e54409568570024c42cef9478287e3a19b78fc29bb30df5f752545834eea94b617a8b98963455a691ee196837de67c17e0fb2a509ab14e34cf88b269145fd4620109dc791c0d9060ba71ff06392bce8024509f91bf221b8f946ef96ad09120e03cf9f1e5b5c74643a8a0c0cbe9ad9d6f9f1d8d0503ea3dcbcb4fb6419b9538f3cf3b39e8427d9579194d439b82bc09ee6fd7426f77483be57887b1f717545cb956ae95d153c25db1cf898e7f84d71163764903ab8986107e42732c347d362656b28b170c1b6e796b35be1805c2cb59791971cafcbff1f957f1aff446f4bb55b093221e0f9f811feb539a9c48b53d7eadcfed98e1fd7518017da97a061318ffea1eed1efba137b719c02d8eb107f2949c586bd1950dff037375b65e69ed337639a0d62a6a45db7a0fda179c0ab317e6a8f51c750319c8a42cf956b23915f3b4b9ca3a5cd6a7d1583118ee1ee183996589d054b8dd1c2cc75ddf60c2308ef31e0ddbee3e4547afd079550f6ba1930cb028ef90b8ac36e9caf17f0b8fffceca64f1bdaea1c59ad595dcb52d5a4118c99f25450f5f2f0e05460cbafdf479ee3f93341f797c5b2203eb225e86065a99a675c912b1c24deb8c6ae5b88518a66530cfd999dfef7bcd4566296d23fc141dff1da5478c4475ebc25a64d912a265925573ae54cc3891900b62ed86e7f4aaf5a7e8373179980f1595775385a8d02b64cf7dc4b4faf56bfb45c647c046716c40c19614be9f4f63490b9bfd5a9fd913249782759d59aea99f9c47efbe235f7bc07d25f6db17ccd2324d78a983317d4a2ae4ce513827d803991498dd6ad3f897caea1fa7aa24161afcd9bb6687ce8f86ce457ff16a7b8bd0b9ce411f8dda285ec39734e320cce4388430c3df5b9a56ad96a6494a4e53c350585dedb10ef7a87f8bb911bd2c50841ccda7024f0f0c9e0d507c2010abf7b65a20f7f4c2c0487e1276029ee6a9dc29698d26cc8293b059ea89998e4b4936e799a934602b9f8f016f044abd4a5cf6b3a3952f65ebd0a7394bb649587fc1c78e3447e29c328e9c06fb9e9dbb5199f9ffeab97cc48f03ff348baf86dd745ac6a333e7f92715d8baf9c8a9f39e50e4fa7a186e790e82bb296dca7064be1392ae323f1b3a9b300ec0d1c816f8214d1b41695feef5478294870c8fd7c5633b34a567a514ababfcf2fcfcdf231c6783b46cb6328d9bf210076094050ed8ecde8bf92f5f51ec92f807ed2fd61e1a0ed330de8d7ca7936b179b24a5525ba3d61f82091f172ecde5c9d04cdb1961164c5fe0bcc6d8e00dceef4ba3edc4818fa3a6d708287f6ff0105401fab83f2f4dbabcd800629ee21a5b30d934656b77a707ceb0b523883a6013928a91901a70d98c4344c78f255ed2bbd8c9488d4ecfedc42c50ecf96e5d7cf8df8bc25bcc90d4922654a404924c104bdace338ab8d1c122bb16c6dd942eb85db2c9e4c34c3c88fcc83fa92d2a6e124c991a76817468cda0502c3b55192c16e52361981f88d88ef3225450939615177d3b6eeb078b96aacae7abd3c71c8458adbebd12aee94df2f3724aa11faf4bf7ff36fe49bd73d38d97356aabf0f7ad992dbf45c64a01f56d4232062f94707af8c87ffca19e5bfc9f621d25181504538cb0a6306b5dce26af6b81d71433d04da5b3b04130b23cc28051938f6fc0e1cbb45845fabf52755a1462f6df60628a1287cea5568528843b886bccf93429dfda810142fa3a17d7e02d71a2b0140b82e2ae62f6d1a4eaa716178d50d1b0f3194c47f0510f270cd18ca785e11e3b54e585661678faf98af52dfc43254b37bd566a994e307fc09bb9338125b8ae1cc55fad8a546e6832c4bfa93204665a9cf4673386f10c02f0f6f0e7532f8a772153057480f8eebd4aa0c3c818b13b389b4187131d792680322f742d89726330622d6b048f2e01b4b27064bb7ee3b94ef52ba5eb0ad1ca592c92d996aa92c6bf7899b91ba38c50a8049c112569e578c3bd023c529de291cf73149632b09cf1dd922b1aa15f94bff94dd558b3d90f19aa827bf78c88ea5a47e234993c7f0238c644183bf69d26c5d020117b7493123b45451800bb02f2e4ec37491f32be3a26c9070e6159fd1b9984b9c5c923be9a81c00a101c7843ee1cc41ca4bdd691538a4eb01107d885d44c4ae527ee558a68dc7535cdc7b5b9b63496d8b85943ca05b3bf0d7be0f9bff118cf424dca0a685458a11b21b0699f91b1563410db1ab16d1ce453a059b15d1b9174dd8e585f7bdad036f50b898336b86eafd2cba0fe3c1aed6861809d72131f7a3ec83495157a54d3ccc7bbcb079cf94201083e4a42463ac71355848bbf51536f4cd9efa05d7fcd5bb1f55163bcdb7a3293cd201facbf597c772e91f106286ded2ca7eb704a32951d96d9322915ec15a7904a059007bc8e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b8555c1ba96f8c127aab4bd1253c4992b27bc04a62c8f1f48c1644f8c9fe3cf010ca02e27bb8323440c05ff9ca7c12eef1c4befd7411490159690180d8dff8d7cd2b302886c44dccbac2bb65fcde830856fce571ac2246ceb0baea8460cbdb8262d5375bd286f47ed4b45faea85fa65bb2c99cc42e9cef50ca76ddaa022bb16b43483f2cbfcfd47566d54aad520e57d21bf89e7d4531340c9a2d7d4be0955505e42903071bfb5f0ab959a57db7f09e7bc88a02d84fc58ef0a07fc8691dbc8321935c2c6bf7899b91ba38c50a8049c112569e578c3bd023c529de291cf73149632b09e651c6033c299a7f88c63620ad219b0da31b3d49240aaad819627ed446633708c460fd69a428f81ad0e00688b59bd8ec10edc2ab7847ca2254d3ad8bc71f6facfbe001eb9ff8a51ce65b0ee3b22ded44f8731a41efc0bc150804163f91673837603fb8d2a3a795605c1cdc4f7a3c03ee4548af9af70ec7b13cfb350693965f5afd7a48671c7db4b91d1babf5d30000e17b2361edfb3fd822d438aa2eeb79c551deafca7e71909b401ba47a4449ed2feb366912e6cd009f48d490115113f07b85bca9a15450b1d8368c4f2adfef540749fe232c0f6051df747c32d261b1d9b375e98a6a7a08a4f740f2930538a43efd3d7aa580737f94fc7ece1fd070f22fa75ab9736c72dd808f71721f8a0e8877b681e872f4e12ddbd37412af635722a583d091d0de0eb049e78789d75f488c41bd322b785c02c587504f4de99a7baefb621e9575c8a19a23a88d8de30100895ef78e526e150ef3e3f6632941c503aaa19e6cd5e9cd08e65ede30636c756e8b18a74087362fb0cf8afdc0ec2b1834b0d72a8c0b855309b00451fd1d4981988acb87eb2903ab091f4e7ba266b57f6fddd65d0628a420c46befff6e4b6d1a69745b018121c77827059895dba459abc0bb6640639765d809fb87c1b3914459fd78eb0b7eef53f312003aadb10cd1273db20c9c2a337f37c06373c6ecee8af65f2511192f049a9fda6983460a30cbf066527a95c5569af018b4434e9e0c2674722e2cc1a9bcc8accaf07e575ac7359569082efe2825fcc2e6705a0f747ac1afc89825ef355de382f75f4016f379fa1706336621dc976558869a3776361143f5720277c0b4cc4e92cf02d1b124e9c85958ad5508f501bb6bdc496382ddf07bde75a542e601fad63e78a0c550592ca5e60725112b3d766e03b2e26c8dd072d218a8d0d3081a63c65883546cde70bd14a8cc40d372fb9bd9170e1d9ba59bb5ca07f3e63c351882ea29229cde8ec29c43900d4d6a98138da57ba826cbbaed808a412d6a74032fe25cd326aa1996a84214e59e7ebe384dda3f6ead3973d63778ee11b5413b5574ef2a8031a695ab82aa6cd6097c1b255259cde54050dc49f32095c348864e9b65e66f55f961ac3c5c884ab1f136a770c9d5a8284d81477ff6a54bf6e5fec9d3d2f4043b59ccd67f04dd856787f685d44b0fac7914b195a60cfbd42d867c48abc88ffa07e426e0c295e5511d31fba4f76e076d418cd5df1321d227fac514244d41268ca89b5417a2e0b9f3431040fb4b8640432c10695dd0d2b367dc8abfbdfe3d8166816e749c5c7877c86b4f3f55911825bdf8e82a090097e85ab00aaaee4db448d2196a3efdda1497ccbfc4cd4b4c36250ff7f411721f118d1d260c771fb5dc1b588b43aab0e55a633bef5dbb9a5a068c097b61bb48d37f608d175503161a747b1d82ff60b381bcc0abe11e7797e320208e2d6fd8127f0da13d3e328ca1c3c30d5a6adda0d70a359b3167ccfe4032262a1daf7c2eda49865ad3539254bbd74c86789035d194eef7866cb236531c8c060c7eb0b45e6ea33765f1433e2417a425bbc4df24e0d594ddfbb495d4e14491f8ba717072d647c5db5343d17f8023a3fe182576bdb3b5b6573871ebe0717c709a807591555a4ea2fa0beedb19fac4455224d867b5e2e20b861c37327c289f3fdc3757742882578abe56131d7f25ce3fa16b27f24b092e8524da179bb47dfe2ed6c0adfa7b8ca122af945102098c5a133ec6269a2a7f2dc3b184ad86b562ea8d8cf5b17013f2fe97b2093f59b5b5ebe27abeb40f259470453213b7f29c947ed443c39a1de1742a33e28338e6bc8bfcdfe09d6db76e94175d3bca4f4a8b6a518f4ddf3fbe5b6bb49e3b90f030df2e65b31052e551e938870f55c20d29dcc97c7bc9c38388a87ec386d130d1989150910363d31ad1287df84b8c2d08c3ee24cbbaa710ef7cadab974cbaaef2a0bbd824fcce29aa9b36092668aeb897c87dd8c2f824e4b3a02f6cf17896939607580cc0011fb4987a7a4fd0cbfcc1a3a229a3a418eee5a42030061e6f76e3b9cb4f05ec0130ff1d61fc23e80738ee3b1e872fc48ed386c16d5a80983d1182607faa7c9923a498ae0660b87ae104a313ec1607890bacba69a4b1bce31c2d62287565a2689a23fb70681d4298d6636adc59f4c8b5ed256a5d9483d25de128c8f195182ff998fa34c2fc761694bbad0dea7be854c1832049d45f1215d893bd98b6d228cea06b024bd6fda56dc83c6b5e8c8eac38bed306176a3f26b090f6f12e03f405b242953e552ab635213c071b4a3bf99593913c8116455bcb266f3840c65985a2d3b572571531eac253e1122f0b76baca907ff86d1b8d8881b8e78c19aaa4be7a3d83a5e30b3bbb288cda1805486798e78915487018d9018e28374334ddf5dae3f9a14c598dd131386bbcd808df7fd33de5b3e1726952335aa109114922c10f8a002a5358f0b0ff7c396be2fbad937611ab8de36a982dd1279ac45ff15aaa88d208687c91ea6ba9e1c6656e90de25d6030e07be0ea529a2f7ed1b3749030b67d4441abf7beb95e8752961851ccec4fad4827b0ef13e30c7a8d21f07f4ad8203435eb568a1379c58d26bb20e401f4da4351cc693ce7bedc9163df0beafdd4b39aad83e10917ace0089aebedebbb33c6b4fdc8fb5f5d617a6945887bfdefc307fd11dc37665f4825726ca4b6d591a87a26cca945ec4e78959fb5f29f638f146b7602df23f832895f9f9b6012f669a25a93ac0489cb047d512f522d56177d5c84d82b53e8676778dffbb6d9925589417c4f9f08400e946b021fa8682665486a39ff590b9bc35d968c85f772449421c1282b4bb734c468da9c9bbab1c7e115f452050d706facc841a8ce8ebc8f26871268ec058f461d0138f635b7842936bb0d1de5245267f2fe6fd714a0e75d0c946465e18db23b6a4c25f6db2e3ff8a9ddbfe42546fa95b40dbee2c7bac277aad4a0a708fa83e7a14a82f473e7821a91023746e8521eca386cc35270722a39ad7b71921cd46d3f1dde0f04245bb85d25c885272d1b2b9fd88d517c975f5b49b0d6cb395c0069e9a85620f03d868bc8ab8335fd79ec5791e75336eb4338d2a41c140997f2a4f6940732ba092ed4a8ba8e0467ac8e1174630f15379c693beaf25a8822ebb09293c8991a1a7f055827b1d985b55dcd52410485a8be805bbb7527f488dada3bbff9815e75218e0f23e93697b8aa9ada7236cb94a141ab1124d7da580a225ef7177810c047f9669227d5a06e5b305874a9de120b489cd814455f12e89d621391c216b2b76fd8652beb87e47fc9f49392988354bb9f3774710540cfd05f5e8d84b303c4c4bec6bca7df581d6ca13c9c8517e6d68963ca37ed7b3d8bc6f864df20e4240167ac25ee5fef5a6f56241d64b9d83bc732bc802a07c8bf87bf12acbf4e7f3ad1f1d23e885b53e20f9fc1e1dd089c994af9dd829c15244837bb7fdfdb7c1c863ab661e8df20fd744e5ae895b1b1d8161bd73c2e4a072e3d533521392e6696f92e075f8da6eb6471779af28b21d8c39f4c5d12f082f79b404365e3f5be7396b97ae3dbb7bc36decc4802765fc0047eebee325c027067a853062317a965262e10aedafa2bee299baeaac43a434f79e96f4e7afdef0ac4b1cf76ce28dbe8ac8504fd87a8e63d4d03a9b253e2f1ef346b84750218b9fe63d6c0b1e3730b5be278fcf48d95c4c47e26d1767921acc0d05acfae4ff9e86ed22cbccdd54d1ae034e8c92d897f4b3d80ffeca765e1ddcde8e375db099156fed7aa123a1e67294a19c8c5933cfc6a477fb81b3a83a9d079bf6f931612427ca5070cd7f7130a3fddf07a123d99968fa33b4c1750f7c45232366d5527f4ce927b6e49df4eab57719d846daf2d0a782f9ff47f5d01769da487050b9fbdabfd7f1899d63ec86862d682c6b0ead14babb7f66192bf54c7f7d3219dbee88c163b73977663abc50e6b9ee95464070051d89cb465f13f1ae553bec7e8aa42b77c9282996dd009d0aee562f5a86af90980a628f88ee27f62b4564cbca385f9a7b339c2dd33ac699486a98c5bcf1613ec3e1ee9d44ac3c09438f905be8aef9a7b69624ddebfe1379f0b518ea82bde8ec7d9f42d0562c48579c3ecca8d29ee96b6c08987a6d6e5c19add316e15ec0687356e11313f447de5c92422b899b2a1f0565bffc4dd44b679a9c12ef5cc5483b436d970b7eb815a0b3f9246e206f365eaf6696ea710ec3d74c2d3918af886b4fdd410b589a24dc4d7397b319801039100a50c7435419d91321e9e39518a3b78f0acc3a313135ede1614d35f94fd9954b70371afb85ec079b2791d1207fb2612469f2858552f9f4e40fd630c8a32e85521200a85384bd1717a04f89552fc6cb3490d76c5e9c8a763b9739d464d1b4ec21ad8f5bf95a476c17b56b6bd2a3c20003c77430d0c2dee210418f9ff17bd9fb603290b237a8a68934ea3d9926a49effc7b5ecfb537e1dbf826b6146171d436e0c850bf0dad45c75075f6b8a4440c4bfead86a4491f6397df872c828bb4ee34749ac7d022b55505f4a29073fcf4be8b5e8af7be8f2670dc08b600c8664b6a6d1b81cd7fac4e1b426be179d03311318b9803180bbcfae4d9a6ebd4009b17ed3657a0a0fae1bbcc0243608db5dac04e28dcdd536f15b405a37e40f72891c13e37c0a703b1f883679c016bf7d01f8b122b47079862f968781d468da4b97cce7eeeefab41bab84db682c7bb0325adf4148e6328243a8a828e20c7ad770c52b6fae702e4826b6d96b1ec5deecb60b6d653190ccfeb18881f707b83e2bcc7c07f2eed1e914aa17c15c472e2b131b2a2aaa6a492b25add68594ac600a39bc76cea98d502acd1d75d627942c56633ed17ab067ab3e3d37c7e6d649b523ead364cf56f4944a25a0e10213aed24bf71d697941b5f741f53b73bc27ee4a55ed18f39d52cfe5d1fbe5ccf8140d07cda5417dcd6f207d9bfa0a654d55196b268d5eef0136c12a374d95fd911fc66048ae082e5bef8fdad3949d9054c9861bb3d89bdfe7647a1571aa8046e4f6f571e2d8b383f8370b3b610c48b65187c394d1502c0c9b33f819eba2a5ff6e2b9577b1712cc7a480d32497d1b78647cd1bdc312719579d3198356400a5be4f9164ba71efc9a447b44c9394b6714823eabcb4e928eab097318e6e108392f27ae25200cc84bca28772688ed2bddfa9615b628f26677f93964a9105169c6d589ae6fc63ddc1b9bb66adab468e4ef3fd9b5957cc19f95e0bfb56b4498aabf948170a1dad4105afc66b9319137366e6f4250d71223ae89693b9e863d4fe20419d6b2d66ff53c98742876a2aeaf0163feb039b43a9756867f92a9c5ec4e1b85a64fc66907239f6887264f70ea5dd790fb297104e2eb152c6815fbdd20764cabe1673b0338ce0de95aea872ce91c152a5e8500b23e4cd0acee608a039e922c761126dbdaad3769153589bd1c860219eadbb2319ae604547acf477a4a62ef5fd8fc9c2fa6826f7d765cc2ff5b899e05c4e675b83c00a7f20a0c522089a1d8dbe17ceaeb4af7cf28a96c01c8e17bd6c081e391edbe70b3d03f59089c5b6d32282f3c0c3816a2708d3a68a4615a1d6490d4623d2f68cb4bc89d220622cc53217022b0cb3657fc216e25b9a81c4574e9dde87aa0b388d6e908fd4aedad6a15e4a5f1a84c6308d96668e547a5f5536914a2976828387004c1bfaf9bf84a2256b071f7a0821b4bbce2a5c222ace880aa940e24b5fd44b1fe742ab04d85eb6e643700e7c911ea44534f7542fcf1c9f3fa79a119cca922b92fe8c5286a2112bf13efea9c026adbe3716f21673498cf0f7bd75c215097892cd07cc1e257a10e0b339c81edcb229375adca68360d9f2bdeb767fced212878bdca91c3c5b7b3f20e80d0b1b7f18993e2af99349160863fc25d0637e5bc6b7c9bb80a15175c7d4c5c88e9742c56d02fb09f142567772eada9e2f91aaffbc949b2577b99442859fc89061ffeac0ff6e46baccd045d587607ba32b6ce0330a4e966f15e8a8092aca8b07a7eaee0399d6563c3b7814ce0690b038d0e435b0898d149b43121ee778e73222174cbdaa9caf573eec276fbb0edd7aca4a6128093754f2f1b7fa151aeea7670323da4decd135774a9993ed3bc3fc57a267f48c0ce5efa8a0fd4b2fd50eba14a904f49974917bb3f1713e3c8260655a9e2529ca1c554b8fbf217ed74a4fa8b1d5562c15ffb86052d4892947909c512b6a5ec49d2ce3fdae12737db98210841ad16f323126772d18b7d5d23ab73de120f26b5c8a9665e76482383e3187e4fd2cb1562ba8052f7fc1b40ba47923edf565824fe59e468d6440cecf21a9fb590b0afd4b1a07d7c7c708e3f9fb0b45a7dd26514ba1e872f1ae4b60931853f436fdbe2aa0624e915af7de5472915fba6b7d5e201b8c81bfb5afbc3356baa7072c491737b2057740cc5e2e6acabab82ea20958d5e86ad815e597f4ac8d12c386851e34505a71d7c31cb1f67a13640bc31e59c300a78eedcff9607a77789b59d08084fe79d5b951994ef312dfb27040aceba9e0c1072368384442dd51296edbc5dbf62edca092db9c8e66d077cb88de49fe1f28d8a6f988891c9a4262ff669cc589b3e42242eccb032ecae08e4d230e827a18ee8cdc1a980b7dc19c6f50c06d0d2c543ae95b35c4bb5014d3e7f3ca6830fe3f84ddf8dee74a249d19f05c6623dad3853b9ba791c99093c878478b166beb8c6baf6e3d357af10bb7d5629de6ad49cd85ff4a4de02715d8d53a6448cc90da28c2b23cd151a5684532f79bce9035d0073b7d4d3516062918ee16243bae42016f010c31f80346b8268fbbe45ebec0e69b876622923796aabb90d1dce1af2a68ca7f80ee484f419438c64a044888b4d23521533abd1f58287909cadcf5daa72de6c1cd9b218e08c01372547ab2725a41322f2c95ed42cbfcb0816429f474c87b4d71080360269d7d185fc5b06e016819dbe0d760b39d5b7e2679e707955ec20889dccba3c3d9ba73de08355e6511f6590523bfb7f0c8edf60e7a31753a392f9a941d93c5f9c836ae2e1b8b1367af4cb8904747b58450d4f249436095ce561c2f3a5adf61270f592f4d8ad807237a85148c14c7f1b445ab6e1e4447aaee164e3aa842570b900165416f0a63651f4c11dc6cbc01dc1c38b6205576af6646e532dd4cf8f62e3255dc76a02222a86976398a31cd779e2d9d97c201290e8c9759b58f7618735b805543c24c5608c49ef6d8cfc0406566fc92355015cf9277abd3027c13edd0006387337d9cd5538921dac51dfcba5ec95df4dc2eba974565404d7ef8a60a4ed5505fb2f7c0fd019f0e7512f25525baf701e521fec1b1f9a8485c4f7d395f453976842d151a3723d0d66ca3a62b2ccf946385c7b5b3885be4238e1b5ff65e7c8728df020c5c1b97bb59dd547fa8c98ed6ea3612ce99da4ba90c20a56330c2bbfcd6716b78b09aec2f25ec151ef5e49dbd3936862217aad990aca9ae80d51d909aa65ad50dc6b834f8870b1e04d3e797704e4c39253652656d934d223acec95c8328d516dedc760cc6b9b310359be96e7387b4a0347e745ad4908aca5d8761e8809782b8923e7f05d255c44e86eacfc3ce8732aabb9216a1509d3f9cb5ee497ecdd64069ddc50d6e5173955a347bfd36359b1be231e6b53d6422692a351b00945deb11a7023ee7013bcd14c1d7822441f9663ab0f77cfac42bcba458d33c4bb9b197120eea402693946bc87f54e8187edc7a98a15ea58f5e95b1f4fcaabf1251d0193eade82a6786881e65dcf57ed54b801307e1c0aac61f7828779489326463922ce22ab832b3b26a532e9a9d8b9c594b71bf7367940da384dc7c972e0746e790b1ba66e6e7cef5fb7b3b9efeb312854aece4ce0a89c3a01efc6d89629c3c81a29fd1c6efc58fa2fb09c12f3447ce821a90b3529998268b32f1b15afde3b42ea2e0a85c63c021d3b682ccfdce025318488adc94175fe0a04f373322712ce3832e7ce267dfe9870927283ad7219a3a693422f648aac2db72ccba6f4fb1ca46905ae2490e1cbafc79c4f6a663519fd5f1ad51f95a9d04ac0efa3f44963596f890032994b71fc703e18e844a9b33534b7a18061d00057e8e4e0c458625a9e033b9865d60331ea04805d5002d8d564871724afbddfbd1a2624c7a0cf69099ba23d1dc784d224c5fc5cc2cb6b9262e590da5381d4faaec49ad7c0c3921be3f580c94b112147addecab9b4b41f3cb70d61226aa97b09a7f109f80d8cfd74b9d2a0e98d3165f1dac82f283a5803422c4b617075d803ab772f736fd29bf39ad61b392ac9ce9bdede3c7f546274a717a77aa0dac4bc150531c2a8eef5bcc53b3788d7d71b09bc220de90df85be46292008aa9aabd5c92ebcf7d7fbf5e44374ec6516d687e8c045acf3f7bf1297ac00ba2e47ffe054a5040cafe03a27dc8b7f0b29ad85ceeb9cf09d0b92bb9e7a2ebeb6e55ce27d527281ba37bc3446c39339cc73b6a309f1910aa635486fecc3befbf6e1fdcd7cc5ebae0f47a635f4008254ebd04688d17f537cbbcb08b26a8e47c18582a324b3f90229472b7053b9a6371f675d37b14492683675668d986a84c4b9097139e3f9411c1a0a424004e30a09d002772f17335de5369ac612ecae9da6042dd6c155a2fc19cbbbd651bea0876c2ef72aa4c135fddb4f7226f9aa86a3f597d2254d2fb5d3a5b372b98344bbda390cd60ef3d6553653608c1a7372e044212ef78a659d2c2ab73eea8cb5c115ca2160e6b6dff6d3ea27dcbb797cd64f5ec4b393d3fe064e9f360f237267f267b9f8db2f0cb2e436628758132f96a53e0629e30acf94557dbd1c8e649c1a0092241136e4dff3df7720ebc5dd7798b101049112604a98781737b98741cc1de4ad1fd9b7e282b7da41b5b02bdf815654cb4a29979d187b0e67bd029887a929d87de350597b4579ea2dbecf490d6936c504d3c55ec9e32b93b5c580929efc4bee329ae5303e93d020b1fa627c6db0ba3a8fb3d9ff71c494ed9e8b2ae7d739fb194f2dba40c9a973a525d7952cd8bfd6f50888f12ecb6f6da70d3a6b3bca03885ca9b5c7be2c02da7a32df1360c33e64c8f82d5a181d7de918389a115b6162e0ea2505f76c1f1a1286d57ddf4b89a9dcfc0245aef94d7842198dbd2bba5e52ce92b743a0ec0c5f09168e4d81c34cb342147a492c87cef529de0bfe781408e13aaa2a043ea4b53f3e545d7027e1fee0af57b77ed043e76fe7783c51049487f1b19c1448dadb3b42eb7b212dd2eddf3823681043327fb3220b57044c0edaf2fac6673678ccdeb99cc10c58f4ad3f56100ba84f68c3d8d8deab5a1c08721814999367d4e6f57c005ce3e64f33877e20e720670cd0ab56c9b4173544eb7183f74d946f6fc4386e62a078cedbcb42b3777c95a4ef6b7ddc35be381159d985657f21ab235233614ca6c1145464213a77b491e89f86cd3e26454c1b92937c914b83a8db322488ffddc662cc395900239d7fe05c4829dfe5311813e1e2e0a12b68303b50334f29230e1c6b148780bb45d7f2ae88f615ebe300e508235544294f7dda571413b1bf97efc3c2977430db2bbf33b4e6fdc8484a7087b7f220f538f46ad5f01216a39aaeb00fff64e47ec3283dc748d9dd57532b767486eb052d80a2a6cfc485d6b9dbec5e9dd9c311d187ca74bdd52899b4c3c9b21654cd435765eb29663615affa725de66f80359072d31545dabb2a7a97e264413235508a04cb313fc6f88c2394041a6cb1b4868a9d4664362206997cc06b697eb5c82b2ff6a3e9baecb455d91376dd4e317735784507a83a0a873d2f0f71d3cc4e499a5960891d0f8fb7cccb89f99854e51ea8ab302cb60de94c18ecad5aa1a88e3c52aa374c9d97bffe2b4f0357ac46579b49ab6d1f6d9ba6fd5dc07b7572c9369cfccfc39a8e159faf5d2004ca2e46788185317508d4c5a0fa617ea638d83d71df8838e266c089cd0b2b4a71094521f9f56b7aed87773ddbc99b9a3310965b0f282ceb1bf95b0d69eeb786e9b0ea8eefaed9855f8e48cc1274c168301aadfeebccf0af3dedb8aaf087f97755f9aab5ca192b3f7c9ba5888025b538fc77121610f7df259a06c0f903a80628c75544734c90253cf9eef0333ea20b9923a84238a8d010f5707aaab4822a53efe9edd7d79dcfe4126a8d3fc3da532a9b52c078b65d2921019177ae7e7566261371f99ffc5398b1c5a1326a3f6b96db2ccb4640251f0637940e1f751e81de226d94445100efb51228fc7da579ca586a2abee315bc6dc298434ad679373a356ab97f0ec4da656ee3aced46c84a9eb3ae0fb0d1395466db857db9f489f03ce969099e18f58cebf36fb054ac4cc448093c9b169351ea7445127b73d43bf5980e3bb0ef9a46194b81a7b15255ae3e5975219b4ed8a74cd22fcbcb38b23a893db4c18c7dbfbbc38662b8a8bb40173816e73c24cdeb4e14347d43173b0d34dbd557fcd5bd96882d5344e5e22dc26229b5b86a848dab20e45c35ff88f68fbc5b2aee00bf34d83cbf355e6b5c3d928168e2920fdf3fd87b32be62f4cf5c6e1fbbfff7f52f78eb36f3abc323f7e8f833472e69576b4607fff22f76cdfb791f06c66cd5bb89f345319b382de6ef974b7321f3b870fea452a9cece026ba76a46255548c6e05309b18e5190025430233eda9c4d0f72ba0cc3540b240c07f07b3413b99730512e69202d925c5087c543fa6de7a782c634f13a09425a16d7bd1e32583a02c62b7997d969b3a627c3c424e5fa6bffee448fc07bea817ec72c34941c030da6783ac7f3dc48074216beafc00a740d965c61e0fb15f60463537b6375cf798233b3bbebfcf8f034cba8e189778de6e2c7ecdbaacab145ecac4e5e4c7c04092f4d302a1379c65c28f28a4a100a268603a4a7780036f324330e86bffd157257fbc3e89c4836555d52ea9c6fd667631702eb57ac55ba3d5636a978791813b04070370e7222c6d892bdf4e89c0ed73adeb0e749aa47db0e9322e633f8902dce2da566986c66de4f28e29284514911280f7f62774cf401f4e2c41da6840672ec80db2efe101e91db5765f61f692114dfbff29b4251022fbb2ef7865bbb573bcc8bf977ec8b43ef4a0e3128e58ba9d8b35e7b1329a48a84517196559674739baab09c25f9d98cb4ad982998209593a22f9095e80b54bcf8d7b3ccb3c33ee59f33292bd6bf2e9dc4f5e7127a102c632c06d821111f5235a3f785d1d4111c6e05b65af34db54ce7e825b2853ce49d4247b27302dbec1579588b6cdc7177e1c393866e747ce3a38a8ff89fc8fd4f66ed14de4a3cc0ecddc3f631621f3c9d23f76d4fcdcd6144a7b0f7590cac04789ca54793d0e231a79bc8f1c034896a887ead08653b9e8ce53909886115bc8233d8e0138dda5e85c4b2454f112ee02b801a72d8b292e3da980e25afe6e47c2d7047f692e7c8d7cb2aa78f68436c82954a492f741ffc4e123577a26bc5ef60b3b83a6b7ab20ef4b21a296774cba1c5ef435c578062dcaaafd1548240770aebfbb54271f51ca06945be507989f7bbf8b31a7d2b80711cb1eef2817fee8070ad2e7ed27c3794854ffa46cb30e57534253bc351fe67ea797b7e1f889a70fc57ca25a6848f3fdcd3a2860a95583bd7df007b891ef7738fb1d1071659bf6885a725bf39db5ab218a14fb9f518a788a63fac9c7547800cfa8f0e6d4a7d64fe9642797433116ea8693c780429373f2d8a68a5b28a7a4ecaa597bac181dfd0a0cf098f9360df2e3f993c0e0fd92560446d97311199f595fa0737b7e6105488dfb485d54f8828e1f105bf4270974c200923b988d2848a18876a8ea2e4d951cfe8a0f244329398dc6baec0452dbbf4e328a238fb499f716ec150f8ee06daee231cd474c97bb51d3469fcfeeebce121a6c48f76571005206690199f92be5ef4ca3e7c123de5485ec5d968227d1ce822770ff6a1278b879f0a2df9d407174e406c85b8ff06a51a894514a719096130cead008a0a7200b30b9d5deb2866f39ebd942aaa5b4bda1e1615f032b663395d82816800f21ca8265f0661d1974f480b1bda242e5f4f85cfbb56e83a327ce020d32890d5d868f3b1dd9e8e94def3a37df91b703e6a5c2e928cdbf36751be24c4105d7523413c6f3836ae26f84795332487161e773abd775b07af6f94c3e82f30800f119daf8bb642c5b4c7392299e870fcd44e5e25fe913447c3ae3d7cc6fb259d9e9e55605ccefe726e3e7aaabe3df170fab5f4a57db832ccb19c705d3e3fa6c994d2a717bcc862e756b15ad5343178f9c152362e758e97ae24c5bc9cc1a7bd17aee4030102141a66ea9c9cdabe8dc78ec1dc3dc041b48fa8e505728f261519e7d79648bfcf1ef21dcfd009d15fdb9b5633f3caba2f216979020102161a3c4b47496ee4c441d2f1cdc0de411b63635ae3bcf9f220a9c824e1ddf90c5241bee9116405f6cf74ccb42f0bca656adae015248f114c4be87482723c8c8bd04b39d85471165843a12338196e4ef33b9e1d63b4d780baadd0010c309cf3689112cac2445f548440a94638a6859a4f78d5add81946b4ec840c80f67000079d77cb1678e815b8e61ac3699c04c929b352faac2a76b784022855e56fddf86f6de6bad81edb05a062c845085890483d959587b1bb6890debf869a44b2e0aac295274b6bb2ec5fe123bc5cee4b31fd734d7dfc21151365888f8ae21169c61edd419873b6cff916f3c8485e721a943f74d2b747f3e44256df498a8031868dcc81b8639279eb962b6a66ab89902cb31542e3d517dc1fb9b720e6b3a3b252cb5a29f37388e7cf4cf7a2829c80ad77bd39da3c3f5fcf25c9eeb0963ffd803d1c732e4b9ad0023e238702c908b6d6fa38134f06b4d123f8b9a612622116fc8a3125df8a05c6fb0ef365e785980b4dfaf6f77064eda451d10029ab51006fc5eda1f1be3b866861bfc1a3961136f5b072a7f127af6fc80865f599ce721fa53207eed8f868f53c7090ef65e785980b4dfaf6f77064eda451d10029ab51006fc5eda1f1be3b866861bfc1f7d272fcf770f1bc5a6adca9b42a41a58a4b444f2f7620fb76a047e1f2d0dc04d6e4a2f14a7745296e96e75273f9dd5216e6030310a5506b41bb1d4fd6f09a2fcca3bdee93104513a9e153272df35e0fabdbce7812782c4a531beb883f7d563dfd5957d5f2f807ca519bffea2e47c19c39c40cc43a6164ce2a7d10d04f3e0bdbcb584fcaeb966b18acf1470d69fb46551e75f67def1435b140d50587ed98933e411e00e7118d0eb1a4b5d3581169e76b988197e383238e7f8738ffc78d3aa310d486cf6c1536256bae77f7e21d37ccc2228f1e5b777a1336c43878d57ebb2e2fd486cf6c1536256bae77f7e21d37ccc2228f1e5b777a1336c43878d57ebb2e2fb74d7809c6c9f24c7ae89c9647b42a07894b89acbe510d1657cd0f49888516666ed018acf76703ce37fdd60e554720394a67f85ee17fa976f87ccd6f90a85fef755650106a8ef815d0e5c231df595b678f9d302a5e4a6c15b38750548ed8e51bb16af762aa022ea39f4776ecea22e8bac14deeb4cc9c1bc9ce45a77568502c5c2a090e9239328c44e297571b39e2928bdc5583dc88e76f4d47cd93d224b24a4061c861fc80eae7c95fb1caf75496358f0b0f174f8dd8fc8fe4ea619b8f88ce0f77cf8c2e90f69af4bf3d84b6eb29805e04d83a30cefb5fdcf044611941347fe4bc4cb146abf2fee0ea7d74ccf071929f83b0ddb6151657aa7d46a3ddd05038db7be367fb4955982d559b55835281056822bf814c02f3470835fd3ccb19a8ee16be85ee6290e7ad84ca97f7ccd05bea29e0ec90c26eb506ae15a5e95863b871172d1d6d1637730063f2d87b8e198b5617433d3259c7c3ae325b3e35b71a51e956b7cbef9712ed67afc2c356248c18244539fc5337535a562e5447fbec0e6697bba77d901272613d4cd165ddeec2f6b5cd29c730c5d85522cc9d97b91a86f4ede6c2a01b3d20372d5e70563c0fc36d2b630745f1ff96040b3f8fae7d78cc95d53c20a32d4af84080d355b2c6dca17a5a793c9032d9d3b401a917b07f72aae68a34fbc1fe26a578f27859bacb39e0784b9214942224af6229f11e07fd7d9cfccb4e4b08928929f2ab49b1ae381c088ee8783be29c717b5bdd353d615e7db652ae7b8a258812d2774113757be757d59435d726178d48c6b6988d4ff1f7b68d4c7bd824d74632b306e9b8c9e0c14df58a2b7c3ea445606b17fe5a9305b8007fa656a50dd0e921e0381dc01a1cf69366b4d38c3e552d86900cdaba1c9de8c5b69162e4c3810b7c30fd04710e0ff6ec53c0f0faed747bfefe21e102e0e8b3974a6c082ef5fa835e9f25b02344924cb6a6bec4975e319ebb147abc75611c92b6ee726697570b55cc21ea445d0275e03a50d697a2ebc03a6e4cbdc13f26698b02aa77a581c531a2ebf1e95e634b38e774d548fd04ce24d49bb407029a6fd04cb97ba5ae28da99043e3e33ff73e2577a222beb9d1ecfe94dafd108a35f87d8157fac9ddaadfce7361081470a89f0ee810a78d94e179976cfcbdc0e266a61f4a9798e60183508eb116e676a544b00de2fa949d33bfb66530c1c42a4dc9729a19011e398b81aacf3b3015bae64a55d63f4cbb7e77cc3f868d562f39a896d78e1ad36473afb6c9f95a8ac590b10cb82b36b3d28b34ddac52b68203321d2288479a4220baba748900d6f9e273b063d7eda052bd76aec671b34036f64c3be125b426d88465eb77681cc3f2cd386bc5f6a636973619802704d0fdf6a957d298b3c248117bd1266275019864e053d042369daed54a35ef46ffda4815b4e2f8a2966c13bfd4085b043e7ac5d4f94619deaad90ccee28cd7343c1e114c17e5a812c2cd216af36c9f8f57d767341d750a5c2714a09bb85eb40dcdd694fdb7b6c95dbdc5cadeec01d93482bf21c0c200fb0d681e5cec7cf649ca85c57f93eee220eeff6356165ac12583eb4c8947da45b26ce1c05aaac989c1cf965134c3a52ef5169e69ee8715c58095155efde37c4ed163bf3e0e44bd6b52be6ece68f4cd66e991a4fd72f6818604ee363ae448569b05f834130ff2e18b26d9b7730e44ecf85755200dd18ed2a58426a42c38278d7da2b002b87a2afc97eba5379bd76e03d50048d2be46ba912be53754e61c44e31f66a89b71f11109498b31bb803a8bffc3d9fada6d77432ad52d2397935c76820c76a21341f2228bf7ecc16374817986c3eba9fa495ce3b8b9b605b79a143337d57d014b155c2a0d49062d6f910039d7556e18710c245c822f73bf7b45f72a12e84884d2ce0c6f7c2dd43ff58798e5731a003630be4f0c224a9e584791bfa487f469d880420d73c4bccf0cae600b3462689b0b8189f4191dfb8dffa655facb35e14c1f0dbce2af97e4c02db85b8822cb743269b8c31c23025d889d07641eecc7a5b90f19c21926b0efde7a0b53bd7fba871a750ef6eaeeb9cd5b53ad8d18d19a226b5abd22752de09b4f03a7582b36544e4f69310c8e0ad18c656f7f601391a2d0a9735cb8d3944593d4f7fb57361886d8128246e80719d9d8e485791521ef3382497c166c0e5ced0713b21471202df473ec431dad8a7ad4bc7b69d886cffa26ede9bdca9bbd1662deb0e3b8fd78ec886ba1918415db9e8051a6512d84cbe0e51ffb4446b41d01452f52b538b633e4eeaf0a9bed49539e2537e0cd3f2bbfe26f9610ec2ef55396441b9f3269170478f9971fd72ecdedb3806d45d78a9fa63f96f91d2ef67cfd5efeb9afc313b033447aa37c8e1a627b8b522e6a7fe234714b64ab096b675d84d835d92a0acd32b75b0b0514a9bc549ccbd5fb7cf4d32e3498a5f4a7dc3d788925a5e23e27c29e54888af946740169172d4b4a1a49c30caaac37a040f1b4670018f8237274b8791919f7816c44dadbdb2aa22025d8c5bcf42056ef46dbb72e9b3d529e46a022692c79f08b39bea9c111bdc5e3ff6d43c856fd7b0f448dbff667d62904c000e382c767d263a394f6ebbc7f6a914ff719e10f7f81ce1d0d0665169fa2da9be187686025da32794e896aae2ecd347af9e3cf6a55d5843ed7143402484c9462194feca5f9bc6bc6a8746a74762cc3c5e2ee832eb06ed50d9d40fda1dd24060260573c046ad651ba0efd1b2246ddfb4360952afab5cf8288ee493458a394b82bb692cc73badeaf61e1e1db0bc9dfd4d011aa1f71f3ed51575e83a8808e09a515804686433ff0778d7b240f6c246237754cd4f66f1642f60ce5dc8b7c457faf88867e22e6b200ba8bc9ba6a8444281d5d79ceccc4ed4a8d8f0a543dda61132bfb483f30ee6aa1f17f31b950256d77e11077b598adb75a1555c6cc828c21d13d39ec18568d58c9a08933f86b54623cd254d3ac801ad379c877427ea8ea0fad5fac2abadb34552b9f0b8ba3b94a300bd7395ddf1855772125a9c1dbd3000990934550b329cf82e757dfa6ad63f900cf4f47b0ef7607912c65adb324080ddf0124f2eeaf0644d2a420308d70fa7598ea397c5f566ad1bc1c070d75b8acfad9884be9f5870df25b07c40f9ab80ecaa8efaa70c859014ce1da0e746ac21ac9012e5d3570ade0ee737f43f415b13164581063388c0ebca2b44ea746e4123489457831b8ba7a5b5a312c39e578120e3304442f9ec1987bf09fd30fe883cef09a120f5044a42a193d30118764d3cf499e956e787cd4aff2e26444379c708ffcc3030813c019e847d2eacf471513ea9bb667630cac2c093fc22b4815b8bbe14ed21f92895bdc003f7b504f935bbd15d00331ccea6d11fba4f9693f538f56ce17fd1436da2b236d1086e556830a64c28830b78865172d81037a89502082067c566aa3c5b6aebc25a7a1675846ccab8f5c2f81fac991cfa67d31e9efb6be9516120813981e6d5105db8f5c3e4df9616316b59df6140184e3186d4127da17c9ab8c276195ca50c21188b7cd13a6f39abb2d725a0efa7c01d15d5e1ca5a9d4757962861c5e95d4e86ca84e087d41c4dcaac35c1cce1d031566b762694ba34238b3aa911c56f112d79fd3c696ff9da61b50844961989bd95363a2accf969e9055acb49c4af21780a4ec38fcc326ca8a437907463dc7025da31519c51b4e027255cd469cd971f3f5ff4a0e76325f1cf2a3f2d4d0fd5a30d8df21d8ad7557ce89909a35735be610a011b498be060333179f9c555fe04268d6b168955b52e5b0daecb9b5b116bdd9ff082a597a74274ed04fb8b3f0b38de40a34e2230fb4f44790117e6840545fbc109b7cd20bfaa6ff0b6f7d0f62b7dad59a0d3abbc6afd647824f3f56543160ef1f62f1775a9bbdad2b2003bd6f7e988ce0e6671687bc54fbbbbb1fc7a728709980871a63992f0f225346236091481e3a3ad8e0045f905a9802da1c6d2011748cfe8de59285c7bec8b14fc3297b9479f9e491ab176d1432fc3f0e90ac3358eb843395b29d30cdea3dde23378d546857f6d4775dc8fdb9c0e862bf062e1a98a3cdd2f8a8954348476f8c586c3cf35e19c7673fdd540557bc29e87ae1adba8c025ef57007cf9432adbd4d290648a29cfc8a8265f1febc9839a0820d10b7ec58a00059e9a3180d3ba835e1cb28b93e83a2d15ff93df5ccef6932722be3000417596bc38888ec392e36ed88a9ca8d716d0b34b8ab26b3528531f04befc36db1ace14f666de33a547d7f78371aec9cecafb4375879e729bfc85f7b14f2b2ee11c8f36afa56d8310a5a585d9970c6780881b156d2f00fe8d5097a82ecd898ea44da53df5b193f8759c1aa9bfb9660d3abc5e829caae909a0c191189e50ba3d9e5102ab34d148dc41340b0806fca463aef05d6de016cd33184d19e1b150e7fd480da86f2dfe316f26dfccfd47809ec592b1c286ecd2b00fd82af56b7c890b4e3926bb02d21c32da9a9c828a888d8e461e13309fc9a56a1378eb6d004ce97049e7aa8cf927274e35b640e8e9582e7e1f5c075e58ec07401a5f763239aaf0be910d05149413c313fc709846ff67d38f5003b0d6ce8d2e59d3938c3f9fd1ad0a08747128445e443213c53693804b0b6376e0b1fe6c2a81e96dad128868bc72d95a8a9a52b3bf8ef5ffda62593e4ace706e18bc1add4e447f769e4a24e5dda946168d991a92fd04a30cb01f0205e434e62c91aa3b35e76f132611c07043fc9a10ae0ea393ab6dc388be8076e9571c601d0562ab265ae0635f8c4d530d34631f46ad5cb7f9d413fd7c6b76980dcf79f74f4ee8950608df428d011f8eae9c471bdfb2dc5af274f0d683f92bb70d7532d15671cce46d8b57a7ba5817e03c064f6b7b28c2afb33aa72c9c303eae02121a860790510a9dcbd62281579b8fd318af635b4709b72489bebb0a984b7f8bc4fdab6649f511d976b5d311bd2be1b45c940f35a483c7b44063b92d0b6883d7bfc8f30241c0790fec70be7f57cb1e72fafe1e5d16bd75218c1c469705261e43b7c37900f1b995fcc2c5f60a5ac5324a0d3ba9635613f125358f363ef17ec274aa587510853fd5d0b555de7a979c0eb4933ee9ed7e6319ff86f090e9e80e0078f5ef5cfd2403f21598ed263eb8973f542753f7f59e783f94afb99f988fc3766af3b3a0fdfbf50d4d486e171204a8ff60c2b0301b1447225969cf14b1278c105f7187d16a732d08cdec2a6bcfbc8045df789325e414301a31af88504d17f4d246f8efe6273e72da06110cff4fb49a24885f211dd1b75a65276b5909afc986d706418f72ead166a69459805c9b26ef836b1bb7b3f1faeb9e37c4f46e8a82da3a4d6a6c53b6a9b8b763410ccb7109191d44f4f24dd105f668c32b7e895ac8df93d3402395980cfa05d5d6335c06f2fb5bbe1d84b191d142ac43e44f08253c1613b3c4c990f1830720635c02f5b2a3ec393eecc109edd25f721107a8a6ee7875114453c23e2b5fbf36a220ba9895b774deaa6b4fa07319a7f5598d861c5990ee81ad85ce0830ccc05f3994d74c2a0c0012832a57357dae41c4a0ee189efb04add028abd5b4df1d59f8a9eb190b3a3b8cd79dce806e1e8c45e3e094f3b14b5337d09da9c7aed39dc5855529f0fca2c2608bef8b94422e2899e56400087be1be181d1840710b76113b7b655a22c65ddf13e3ec7eb930cbcb1ebed1243bc726e72c69472c4bb250a5654247cd6b19f8aa82b493d62b5372f9df198f553cf7d8d5a4a74ea9c0b291eae6d21cd6ee91b03508110a0fa1c93eb60fb03bbdc14a2cc4f6c3e5830460ba63ed37aecd1b8373b4cb108471d6a3e438156fdc510064ce1b13b1be3aea45fd2c21ee44df54512a86775b64521281f34e3d13a26ae99c4542293bc1cd983371a2fa24878a452eabeb465754f8986cd8d7c057d164555c5288e933386a28ff4b3e36b5c5f2025e22388eafbf70d32c242bf41548c3e1edf4ae5f75a98456b7f5900e673eec551b1f75d04c91aedb57cc7bde5468e4f92a7df627bf7c2ac72262ab81a2f61abea573ea80e7923a101bdeb181ea104c35e3090633be8aef93759f3ff3b299c4b7995fd3fc9ac34e26229a7b75c0f93977164ebc306d88d50be83e0a030061af0081ec5642952058f28bed9a4d77ad962165c563ff729160442e64ee0f1ff3fb60fc4f9170c5561fd3fb0a42cd03dd78c8dea7ce960c859c53603537f41f75fd184fcbd1804335ce2c82990d73e57948022b5b6db2d7342c4eb359359ce40937e41531b9b4aaeabb5b5d1e6faa888075b3318cdcfcba74364f49a991029b23093a991784cd98fbc469ae7a749873ad56a1750f5b4182c7788db21a0e2b370faf799117685cf07bd02b52c91e8aba868bd153e076ab21d3e7e78ca2841a338bcff71ed937b87371d42f740ef22f2c1b20e89e198848e8bbdacbd113d3315c15b8810ead3a4635788f009d3d0fbbeedb4e7df3c06de5aa264385e070c07a25b74e1e9c85e89b7cfee8846c38a453f349c2f4e84c4ebd47ac29a4005ac69b3dda6346a5cae74ce97acf88f179ba82d0795c296e3331f315ffbbac1722ba6452c931bf95189b1f0b05c090a617035dcad58a9bdac63635509cbd81e64ddbbd1c55441b24d2723ffa4be205950ea6ce1e1acffdb26f3bb320166287d05aa1e1987dd6576feed92ab91c7ee23ca2644047376e8f1c0ccf0c28ae37ba48a37675e92395b95b746dcd1d6669f62e979ce5b28a644f24d559940b8a37072896dc4d2e53c6ff26b1fd177d5acf38a226b6f09f4cf5a577e1d0676a8932b883a871e92c1427692fa1c07de01a0678e2cb08cb3bb8d1440d4d27e3634a2f5a35e3c609382e6aa75598d678ca7b32b90b6f50d2554352f3071213bdcfcefd84a3a124a289aafe2fd544ac37cc6e9f3e1579b02d37968da4449957b4fe1c578a28e384abced83dfe07ef00e690d0c1743c3c9bef28d8cfe253a1f624adeb411ee1b39fad8a20a739ab969828a0c78f9705981cce47f2ccc04bb82ff4562a455a031186ddd0f34dadc5d59997adc83c4ccf706a86294fd7865af0b342ee23a6bc69c2ec7385955e7b8bf85d3c218408e9fb7343d8e48b46080e22fcf626e56548f85e4ee878c2df12a6919b753967b9a86392741b609e8a4096c0455c7ba6bb4bad5f1a8dbd7b8fd1a89c454285a6a81fc11af3354fc9c0ae9802f538510f5e6636fdb8df307cab62346e4608125b19c0bf67c1b8d5cbdb7a16968899edc5bcf8c7cd0d4d03d569108fde6736b72b3d766a4bcedb8bdb7a725827616de7d5ac81d8d7d959e08c5e0cebd028a52e8dc4b77e07d061d5fb1cb38b59864cd0bde35485e5b298ec78a08d5c5da9cdde2c649e878f1c765ec425283ea382da8b47497c408bc581d92ade997552d38838d93db2a6b307de1e75dab3070bf96d234b14a56ef2cfac837864d4ce35da4ba8243262a9031046b9a3ac1d61f4a25c3ffe1e4b4e628fa2ecd87da46925d14201f8c6fed656258a787926af0afb84e8a4359be0b2e57bd789aea63bffe2f27e0b3dd048e8a72dd80aab3ffb3a493ff47dc70a2820f35b44f7c02149695fa3129fb0599265f3b5eced13415859cd8b1d6e64e1569327896facf2e21d312f5ac9af7a77cbaa6c0479e40b358e75a7716738b3262af59c3fac30233e8fb30446bc1e12d00d0819791bceb83055db2aa66a1e943e0be03362031f9d198f6ece3796174c4307865ae2596283b12ce87da7da7513a5f1a8de8dbe61eeca533a464cd67a6377952873f9d574c2955d4466ac5d8149c0748cef7e566e776af903c8a4c28c229f272e060e280ba03986f65422068419aacac6d0c9ee0236d4f54f59cb9d1461a2945efacf5ffd6c1ef357ced706d360f7330a1b84a998b0b54ddc97b7bc93e053488d71ee140e57d1f5d25fbfeaf5d93733982be60231bb5756a9334ee8d241e609e23d0221e7d5e5dcbb252be9f2132064f13e142fcbfd35b75cd0e130a906ffefc38546d62fe3ed39d693d7704387d8b099f9a1ae81d84f688801c75368602d0c24962073e8d421dae30932b06feb3d4c574751118652bcba5d2c4515f8cacda67fc34d1f35314ee49ff2658559fb148831d6e7820ecaf3040770121438f7da40e8be1c427a1f0a88a4abcbec3466b6a7447df3313dd3d896fb058c255ed4290c30de613c83d6751331a19ed3b916ef522b82859f532ebbb151ca54c42b1a2e44403cb1f13ada21f8bbef060e79c7eebffd303afe03b14bcc66f672de4c62739f81839931e32bcece570651ff7377efbb4f36d65938f805781846b82f6d7f0c5db3667900ed62d8ee66c4f73b02b2a8baa7846470f13a864aea45c2f1264c2842cf6b64fb18251dc7c04d9c8cedb2786ee80490ae66e7074ec2e3dbc52a5f2f208eae193c5b3baef4a2751f49b3274f3a6737a36e909241e2105c66276d17c27696d0463a67dc3d055d77fbf3d405b417f1dfaa71d817b0cb0a85f552604a1cb1571ea9a9de616640e9c0e98eb28b97c31a6df129624e91d3e2267ead9be01c3731939f5c5944198461ecb2d9911cb6fea764fbb5d1eced9db72b28c47a93e3be2593f69dd78d7d7393472aa4eb92461f1f109a31175bc43c7670ece8d0e53353f5afdecbcd41dcfc0103c397c6abeafc14d50152ab1a081c398b910fd06df081095cc84a156ae040bb52002abb88543c0004a249b883c8c5bf0e19e57e405c0a3a32dbc540a0e452c914553884d931e223180cab23f00a9d2942636bc9c35eedd3c8d05a1d4910f59f9940880a66a4e4ffde03cd7e9c271ae82153b9b6ab2006cd0554cc9163ae049936534e1bb86c2d7cad5ea7bf80971ab396208512b8d6d80f4caa6c196f4d4619c989240fc8ce33682ba89e57676136d6681a101cf3ab762f3c1c4b76cbdffda41f5cca332552d1472030a27ac2e96b96f3658f6c3e7198c913f6b8904d76506a2e7cd8bb764b0eb1be443610a7423dc4ebf140a71fd1fcfe7332bffe7d8960c81be147732552073499cab1c8b906bca6ad4df2146c26f8bab59cbe20a40a7924c794ba3f0165b6b3085bc413882b3803d914734c8b63aeda6adf0667f658302e11115a526568eaa23e4cbf836ae1f22cf86d773cdcbb95b9e80b5b1cd3c1427ecb65a41a47b91b8b0db3e68a378a3beab585210a073577e121c5ee54d2cd875de2e464c102d6d46c4b9666ecc690a76780639ac9814ddbb0f545918b9f8f56c3e5b07581ff4e47080d022c7ab54223c7e7712cce85b5ad3046f440c0b0503ccf3b543aff93b9838e5a2a9e47e3a9b3a690f78a61e5353e475d6a821819a0637498459ca8df5f87e427036e594ddad894ad5210d0b11b76909caf1817e17536411ceb6d41b20ab198248c60e864907653ae21bbc0be5a529db8169c9105836a5766e7a9b45762fb270b92f844ac1fc1e579a87354179bca1bc3ae7dca593353e929705b19080466c2fb04d6645d6eba842a21a3d2283f06af5f3260a2907e6e7cedd20ad0bd6ef527c44ee7b654f1b9b01abdaef33151bb1788ce96f4d42d642454fa06c967b2c3c7af620492a5b2df7f4fe879a1eb5f84b648cc3dfade4f2df3754e1d1bf2f48ce3df98c030caf4080b494230a7bfb0e37b9f4431d979735191aaae09b8927a05157b8bf9223c1500863d37316ca81b002d88e36df1e1ef265fbce73dc236ce3a6e9e208717105c7b61455c40a556f18e55d22f7cb448bece89fd6c6dbab3b4254b1feb82bdd0adec7f9d870fbef893c576d0333ca49a4824e0d8d3f0fa29be1e6f53c4227a716c270fdd873b7861b5efdd4b6328dc1058b1de5587af907bc8d547e9c9c961b4186117874163b8117be2ee1c481d641e528a9b8d31bb8aa314abb365aff9969c555e44ac44cb08acafe5efb4ceb7d891acc6424ac2b528e7c5d93f58dde6c01c1541bcb1f04c33612eb2f577b85b5224d7b40ab198cd7da796c0ef4441418692864eb9933a4cd4d1331fa3b64e0d91c4128e03b48e2eae7ee3d6a190e3f8c4ddcfd86b1d684e5c97e9d35d57a659a0a78a1ae42d5890b5d7122b59c33cffa021ee9f8d62a52ee3fbb20831dd2898c2575c31757854ae4f872ec90826a12f6638b93be7a26c330fe6fa4dc67f38ca1a0c07dd8344af018cb50bc5b680645ced303da139891475186ca4dd46f95d7cab675df0268568d21d177e9914b93e661e0a910d21fce430f8e1e7cff62f0cc4cc001924d4f4c30542bdb305c3f9cb76ef5e3b68e94874aca0b01fbc431f5a55b4b298ab10905368e7f0b596d9af26debf6ee7a3c211dd4a3b73e345f30183e2ec7395e3aa595837b4cc24f347cd36018ca28066875229a71177ba43d2ddf53cc330ff076675bc54d1fd5e776854032030a072a3306095be0acb68ab37ebe79d9858a262797eda1deec6ec49e14ca948e8b38559bc6aeec023bd4f4ca264ee5797ec7015c2ddd106b65d95e1ec15883ffafad8fbe741986efbeaaaaaad2c9a82f1d41773a9b504ad76654f3ae2ce4d8e68d69e358ef88caa86f1e2cdf0c73c676eed997c5fd559a58344610f86102eaacc7f7a45cf53f17b4dd592cbeb9d6aa1cf3f56211564b6aec28d3339494746850e2ae5048c8b32befeb056e25cb3379020af72ecdbcaf2ea110def532acf608032edd4f58a732d68f478c2578c22a348161ce544b7eae545375145c8962ae513c9225d87a4213b0331b3fe45b7562ecd27c3d6e792c512a224c2a80046c166fc96d769898f980c51f201ee6a1d8039659612762f1add3c9116c9a9ab2bcdfaabddadfc70ce18009d87367b8b7ab4353409d337e2278721c18728ebd60de036775b54bc812b863911351c640902bde7e01a37d61669fad7b70c9d622a8895224b2ced0795dcb7afb84525d64752aa9fca71e9a69b272a3c7c0172eca5ca3b9a5b1c2de77984f6e7eb6801551cb40f58ecb6494c975ca12aec1dd58d2e18ec63d6403365a1312af976c7e3a5b526e08af97fbd426972afae6c6a1821e707a1ba632f5e98239819b66404d7a98e8db567b0daa49db68eb254f61131994b47e67d6f1a92b1f27851adb4ee2f7bf8fd47d2e850ac4c4458e7c6932015bb259d5611c70860acb7712c923da33ab747c62765676f5740c0a7699f503215dc6e371e332b7a7f5a6fdddbac9c860fafe2a6ac1dffb6eda6a11e9fff2f8d41d958e85458ce64160e2daaa8d78720a3c80ccd18a6124ddaad8bbcc85c90b219185f0d8b1a54acda8952e0ef305aebfa78bb1b76ef78f0f22f8cbf1d64b86508b4b457d535c6c36db02c5e3f1eee65927f1e571c61dbc097e76599169b91990033ccb3a8cce18047274ad80f2d8c0d6311cfdbf709a0d5e358719ea7728a568bdc1a869307b6a1d1633e4ac55daafff5fac1155a218b232ba4113fbb47e886616791a6de640fb4ab875edcdb4dec2c752090c8864482f5e56fa0e88b5bb5ef40f1dc985e247ca86d74b0c929717c343f20efc6c0276d24e8f62c08c92bd283043adcd2522df8f5a57671c216c3736225d79c8131b66be99905b84030c41235cad081f909f6242641ba2b5654344762cea0ff54c8d61c099d242dfcd10fdc9723f1890f724834a464d0ec30a11f428b92d83fdffb7d7d618b969e115d5289d199365fae45733a473edce6abb4840951a05a1938d04dd038efa1294e542349bf17458da3119fd918a6ac995ca5c5137657c6f84379e5a4d025a3fc34b150298ab6d2bfacfa19622c0fbb88d2e012256a2cf77d11f767add6590e242b566ebe73aa29c309662f33e1fd2762a997fd3f16fe88f7ac4afd7b1bab9167b555303541f95ce4a9e99707a022ee0c2b652ddf192869d9452c49a6c17cf628b53539eaa8d8f2aa7c7b504dd29db49a74e051d82d7f4ab15e9ec39c25ddca064ef5b3a3e862d624d4d16665abcb3a4f958df4569c208606dfcbfd9df6d1f0d62907e43e6ec2bd9ff91d37fb4b3157ea34e4947a8f50f08c55f1d0558aac52e0b495008bbdb98d4e4ced809c2cf43cca714634f49f29a327d8f453f5cd9f71b38b5a0fd3147f703cb00e190239330118b9ba5f70dbae84caa52aa1f49f11a7d7399bf8e61d231411e8524c920e0415a52abe5e99dc3e4b2f12846f4f33707fa4c464ee51e8c711be4ed47bf5007c51018f0c3615dea623e3a204814292aedfba9e68da6f3e299dfa3b723dc975ced97d3d4fafffcc4601e17cb683cedc22111dfcbcbb420a59e90baee675459f7b8e7104a9b9cc118b5d1d9edb570b796fa5edf30832d3a2f664e71240b863189de37da9a4e4a9bff787a77ad7036314a30119149f2845b80aac78fb99d2c0d479c0cbcf9c17144a973a38a72fac4e3bdd349df1c38607d8f63e49754718ec47627d42b704f78e9692c5adbead872ba420bf8bfb42cef6bd4edae17fd89ed611f361d00f75aa25c6e5157e8e2cbbc6b854e520b58c12c5be2ffd22aae917c87245ddba128b8d31388b3b0d6c273aee5a499f33cb5b69c164564553d34c32a98408ec1a7f7a0ef0e0dd3b5f91ffd4627f9633813d5827fc12089593223cf78475b6d5d7f406c17d8821ef3ce94a12fadef6b34636f9809359e54434997c460a74aa665b1e447b6676a62a22221ac8a2528e60522e40fabd3c0b4da4687fea69b80b90059c68b4243e2753b901fc7a352aa59677f4666ae06cc85756ddeaabe5df939ce2bf56380dfab623b6a2889a20ddf003631a00458269694a1e49b6fc8e4572f21361943ba64f8a30905f2c09333d60c4aeebb6a860f2803c16fe3139081cde6ac9bc1718439f6fd735147475c96ba6f10aad34cb5b86d87f54fa04a50135fe7600cce60de36e557f7216a43acabbad4c6b621a12a7115e32415b29a4a5e90537d6e813742de37138851938686cd4397d87000aecdf84603c71f16eef9573c3a8c4a195bd25d7b8dd1521f91a35223fc6ce82debe22a30591dc413032082f8daab5f030bd4b06c931aeea6f4a551e16f73b9195e26c8bd1ca2bc844d8b6d0436b5cb33d3e7625399d229642c4d989fd387353f3995e542d5da565b446c8b80469af051ec2af8230ad8c9b450591844756d7feb3d622af30316086c503b31cae96dba2fa230af5c006407df65039f840bfc887183d690e335d5aed3f51746b5e0a46f1e2ab109ebc383efd94edaaaed14457e236268e0185818cd6bc2f5526104a65a6a7a5478b080c92c6d361ffade46596643486f1fc406a3bb138348b3811e719afb4bdf2b59d41fa92caaa5465b7944e2f7ab98092de65fc3e21760910a7716dd2aa80b977f5e3f190ea0e0432a583b6a8cbaab65c1c686c4a18dab25e32d80148ef7fc38da1a7a518df04ba4b353c931382d641ff16d0b055c8fa6b45a728aa4c0ccdd8d93e69f6b77bc7c2e989effaef79d062e526396ab3ba6e11ca41ff4c1f4b562a49f5ef4489b6a765b128f4e144d720b8a90bace5645da0f4ba857990a7f61ef117b3143c6668e919b4e860f342cba2389277b17fe1e7a6903c1d4d77f02f841bb8e0b7042309473979251b2b77e94fc1cc4ecd2d280036bd23c1d2a279a7d98812fb7b078dbc0e08beda77f3ce5dbcfbd20e64b590cbbef131766ab393b1d9b2b1ac9ab9529b661030c1861ff6add69d3bc808475c77834873df83d3168cf2b8d3abf7955808fb391392df8ed42d90e0cd56cc01ae359f97044fb6737578b66ad8e4699eb2acdb1d4f80f142654c667a6efbcc9fc0d78515095b4f5ad56ca990832daa33e3a5665e6a53ffea81c088e1ecb0986982af12e04ac1aad247dee39c17a3f84880f52eaea6753c23ea8bc886a986113d83e46bab0141cf151dec00e2fa7df5fc02ff91d133e7b74f182dfe441be3dc8764d51223145291d99753306077f9fd7b7172ff1b519e7bc7c9b82566fefc24f29dad144250ce9ff9d66c97093d0f5dac8e18f1b3e413d8a2e63910cdbc4885c7d82e5e1f6cbaeb04c7e9f936b0d48d15527065e06c969d6f98cc5137adc042c864403e0f671d7871b78d25ce7913e528aca2c30b617bb13dcbe0ff8f940241e32580a58c968fa68cbe5b3ce7996110b395f67633afb53ef74e2c97eeb22a1216010f0f6c42caccd9efea034e39335355296a155dd8f013b0b8b05fa5778ff8ca639f2e4593e72d7ab3fe2c2f7bd4df77f620fc3783a7e8b8b96fd32e2c336221f6e43d8cc669b71c6dba8c96e7ab4307c9416a3bdc0430bb2c8af56a20e5742ec6df601d6176eaacbdd1d7b9860c7f87de27d6f8b1a81f2014bb71c9244e9a94c270bbdf5fb7a311f1dce9658cffdf13d37b5d82e10481f7b7d09d4e6a62deb3a81a55e288b92eaf98bb85081b289827d7753bb1d756c1a9386b2794c21d14275896bb8144bfa644de784897c99288eacb04a1b31fe974760eb77ba805f975e0686edd44a60adc7f73174ea2cb45e2b8dbb81918f5bea661b9d287614b2522c6235ef4e702aff54065ee5bab38180e9a9ca411e71ad70fd5ac53d3998b903f0b984e295a777a7b53fcc20c868c10fa5fd9207cdc1068e295c1d9603391ce1e8ff87d1e677ec2a8003c8e0fb69d3f0ebed16b41520762a1039b46d9e90c50e4169cbbe09fc79446fa0374aa916fc57b1ad8af03f7c54395cbffff0c3f3560d2cb22f42a770d2e2887e06960822f1803cae8ed22be4452b59a20988126be21ba7bc3536174451c16ac011aec52fa30131c8983d63a46087fc415652907e49813da2cbb65ba2ec0fb1649d92898c5b0ea415c31073aa9cd8c7ed2b8f446693383a306694b4d280f94849a59fc7cae4963592f55b6fda60ac3e3303922033f503c3112a54ed9e8b6f91b4e53f54cf48d654d502668405473bbf0a541b381ac68d2f6e06d2edf0d9504bc2948207a8e915dba4a9cfe25aa6a2f99b5d94618190cd5be0b51ae668bfd828788c4f1c12dc1c807aa1ae4f665055c95990eeb836fc759dc50939d8c460e4b3fe1378c5b5ee6ab76bae9e10e65e47aaa0c1cc5b120868af4daa6571c95cb60e8fd5a093a7084d0ecb8fb17c4e94233e4c1813e9a1ced4ea083c9f1405aa45fbbea9d77acd203e51387bf256ab633257ba90ce27be921f0c91c8241b083b35ace878c28534c88b8e2842295c11476d300013958eb4266df4216c16051db923c3db2b01ceb4606f6d0884f845983b8f0b48f7b17629e6ed832ee0a58e2aa9d7f1e3d09125bea91b1a2756c29ac028d5d095ec4ec2bf01fa4a76e35e67bd119b85b993030c123ee7457da88847301e7f5c388cd78b0d470c52b716841c8df93b540ac93cb35e72a4f7d901f0f7542765c75e1ed04bbd30f1bddd32b7e614494235ff153827da72d56647df9ca76522ae8da1037ce34fec6c7295f95cfad4751859480debdd94efa97583bfe022574e6ff359d3eae9a0e5c3bb1ae425e989a5268dc9b171e63cfc71c78ab496ac0cc68227f9c974b6a8ebb97e8de7d9438024586ab190f5cf0718c7d8ad3e081fc0376a9154db98029196d3771d2732750efd10540a70e9c4dd2547c252629d4e43e9a1cfcfc4a0f7f42dba35ba80e091f0f9b5ae97c9a7dc993c29e2fb22ecb62b8d21903f5a3ab313540968b04078c22a498871d21f746d5be9035a76f9470b3862544e5265d79dcafe24a8a3a8d61ada78e00f2bddca42d79658ada50feff401b4ce623ffef9a133179d3ac3526f08f63a90a12097559778925dd0515764fc9370ec5fef19c95d1d4b70c5369853034c9703f72fbd19208f22a27c74820058c6d454d9cf174f11b363f1f5dcbda2de696306b40df9aff263122ff9b7f513bf705a52bcf10db17057d8e6d66273f82549d29bb1c5d3170e52fe3a6c5e131fe2c0738af2b93ce7f82984f57a255263fcb47aac314f327200fd3297c4c3591dc16dba703c9426de66e7230cd5408ac43699c3c3e185dbed68434847efc9ba0245e0502c4284b40ddae428d4711a54c73e39d9493680b8bf4c0e4396954c1034e0b40278c95446378127eb8f8943414e5cc251613e46d3872333172eb8c8135cc8611191ed80d97351b83241219154bf53df9a820ee7db1a65b901292cede8bc9efcddd32495fc8a2d52d5e18369a22c5bdf21d957d54e2244e3d9d40712724658d31de73ee3e51f2970f730f75c5d7975460e02611397f97af5d0cd06e43389c7139de840b959b03225c6aaa890d07953bdc119fa38af692a860fd477a2ddb8c11ec4b5921a2175e0c227cd45109fe50442d1339abe383e81edb1432e9da9767d371ab813b4955b3a0be691aaf8dc64be0eb44e21a279b7c36948df0865af1fecebcd92735e583eddc11e13af83c2055b7b0fadbdb47a0f3da068a17bf4281bf97d49dc515f625ebddc66f4dc93de4eb4a2623e11c9317dce9710edc9ce646bba91c681539d749f6d9c6dc277843f8518aa51f2b74ec5e2f1848bf5892419799adb785debbfdf33d7f16483204fb922c0eb57cfe680b849eb68fb7742d29ff7a8e7147d7b129573f69907a28c6d340749023177ca8c656ec80aa883ec0e5ccf38a8810302b1301b4da0df46a22c62f8505521311e4575bf35f98da29af2ffa6f8617bbb76ed84a95570e2b1a75f8b253a08e3c25eb886f8bf8a7a445f1b1af5ec7cba84b00964536b6c1a60606a9e1ffe37825dcd33498c5ef2e508fa694b1f927afbb288f297345c9e4afec9fc476818f248c28c78e26dcea6dc2f6ba3e65342b727e62be0ce6cf050f5215dacdaf4884ce604e804c68b467895e646989dcc955c24b26206be47bfb9f926aa0bccc41e6ac7ed1fecc5ff534d028b8b40110efc494a6ce368cfc4f71a80cf7d3d87cb0cbe60638052e341e3c1fe8c50928d50463b590da59e51f824c39b6c43fdf3595fad71dede50d5deb9b08c09d48921d613f210ed0e0e9bdf5135e9b651c28de684dfa50588a132645e1328793df4839d51a7c9189b8331a0527d9613596298bedf3e058b39f3928d59a270a05dd64e43feb7f5e91d41ae1628f34f339a656e0b3c734ab29fd87fdc2356fe919d3c2b58f1a1842948cd86aba5fefd11411b397efe153228e850779164a80735e088296aef61538ac616e71aabc75966698cc69433ec1786fa7f300722cd33cc92f439c968bb4f0aa40e6a5b648473f6237dd73c94139d14dc80dbe5eedef578aa778e820988b1e722989b12440aec25fd98bd4f639f08032fcd2d02e2cbb83223cb023451ce6fac2f7d84d7356e8963e9b1b6c29666d8df29315cdfb687cf78ebc8b23ce451424dbce87f17672aef4946e9608443852128bf2b982060fd7093d87f6eee4e7b75c4bb398b428350278e1d1cbaa04183cd99913afc99551e5707dd4a8214eecb6c9fef9eca28d0ba02485a7d5bd3ee0d4bcdb6c8b511ca43f01d1421b05448a30907f4a35d626e2ecb12dd12fa52281002fd940cd8484276dd100003ce42b0f292ae8e1c12b00d6463cbd491e9b63d697cb02dbd4da5d6888ab32463c1a6e1bdb55b07a88e9bccbedc3c948fa44ad9acbf224f5c953259af2c51cdc4ad99649c6908f52f39010f288f474bbbbd9b13c358c6eae318fedb50c907d0294616b98e4e80f85baa450bdbee8659864e6016a45336c43e111c79dd023b00980ea90e662a4471e6461a99771cc8d5b99f1941d0b4873427d7704dd4f8128eae5a23a577ae16c364e919f855202a87d93a300058381c2353754bb9a7562ab336d016f35df93674c7fd9487cb1c0f9ef2d388648aa224258ae74d6b79f07864e67d73fe7fa2fcd447e99f1f7bbdda60a3d410609e40f0f772f01a9f019dc6e89cdb4c55914e135d3aee201291ffbf787d679e4b7a4d081703ddfd781ea6dbb5f46bc001315384c2abefb20b42eee8cec6a6733d9aeabdab5e05833d6531e5a41c8652e09be5ffc2fd353c43b760eba4c632917e45ffc84c6557bb915a729392415bd5c9818efe39a21892846522a2ab844d2fd759841169e2c5e930a4544319ec8fddda58fb23f503531259807ac2dce16ac4505bb75cc778d5a2da1cc028fd022002c0443ff4f8ae6772eccdc6e72b17db8b741472fe810195c97ccc134b0429468cde24a9c8afa1349b4b4381e872338fe8b7c74bbd5f7de12ac6f95e54f0c6de92266ba712b4d371b5468f300225c530c710d097c61c52cbd436a9c327f7568c64cbdb7f7083365fe5ca2bb2ce3dd0d718bef9483efdf6ae5120cb70ce9a902e2104f0445b596adc067e37b80c850e898a4213cb9d67584b47245ee3b42b2e5df950a01ce7c2374db7b971a5a4304646d5a4e9ccfa76395ee72ecd530f0e47ba5da46c052c26f4b9a953459ac4f6afbfaaece45a5ff82011960fcbd6c2f3f7207d61791f97406e59efeb90d071c82492f56a386ee54ab8c5edd864107295503e102ea339e0fd4496204c697bdd5c1b1a35864dfefe504a9901bb3801c1b6cf9d36bef650e297aff61dc1cbbb9789d0e667fea057a262e39e86100b67666a4d14507fd43f105a251be7d713303af0581a5bd3b0d787c0a2aa9fd4f05382315c0a32fa3d77d08b9c75b190bdbef49eca11f61520db974316ef5b09915985fb3f074dc1ebc48f7796722a162b3f0263d3ffab496fc54482b2494bfb40dfccf983dce09e3ee0f570f3bcc969d4bab8c1f3d4572ecf3b5da7f936d6bf1865f0ddba5c80877463ad6650d7fee66931486956a07884f53deaa13e2b80b6ca981303acc042195061225039c080c900169b231ab343c7e9ec6530864ea6d9c7f1ca98f275aafe3c5533d274aec702ea6029f8036bdb577b0c53e08f7d9175b80f0fd759d48de2f33001630dc4905ee3786cc6097fce981632661195691ac496b3bcc37452f0caa104b2205a8a19dde0196a7791988b3b74e23c2174c1e16fa4547451bf5656a8624083945404367142c2a1e93b9e46c479ca81ce2b15dc862700d6dd1c194542bb1b7d6078c829857f179d549dbca9f9fff56d1a9bbd4905b9550f7574b59e8be2e813904f46198fb093afc816a8df6c92211325fffb8cded840088f864c7969facb4e46c115cbfbde5370b9617e772b077d62be3df8f049d5b2b6f178eb2ddd8e0d32c2894d31051830bab7b131979a636527a32cd914be8c093277041d16fe28db29f6fa8f905f4c6b028c487daee15cd8adae17a81b6406e399005db9ae973c5ee9872dc996129d1226069578643f673d9038ca46a17203b4ad62ae9a23b466c6e5d8273c3f3525073c096b52e7b06e80f09a7f945f078dfd7b6d81c2aacb5150c898f37a17ac22be28d013d772e75f5ef0acc67cc624c910bf0e2584ad7709fc43b875369898d663deb8b1de1328e47cfcd5cf6d3fd97daab3be354e524f76657059aae49b92884a19fc1edb6a6bc11a8f0d078d321e2f12f4b25ec9424f5c34dbdaa5cc64e4137f041be5f18b3e6cb5783f0fab9655298e24d49ba6b81e85c73f96c38a354d01b2d6256edc97c7f3ace7719a65baddd8b12fac3177f55cda800e7beab755e47c0a124e5836d92e407784fe9249b750f3af2d93f048136e222312ccf4b73395d043977551a72fb80cf08e869aced8d19a7e71032e2010256043e2e2c3e7b91d615a1f0a27b096a4169899d971457227db50e17e15b41fcb8c021ab1942ed9ff47185b2decffb701acfc4d2177ad16f8208839c92ff5fc2a3b2bdd4569ff1ec09deb2abf8d5022feb768157927b0e4e2a946963525f5bf94c71b18b539e3a242717621b4c39e2503a8a0c8b67a4d649104fa0ae61a7eb14aac6f7fcb7a82fdd255f7c294be3785ad4c7ad8263f6dcb2505706e585c1d0a83decdccd78eab1ddb47903145cb22e7b61f941453042895bf79b0e17629b896ffea7726674edcba7a42e93b0352506c648a4bec7a491461ad710798765079f69a51ed864ca3539a5e044383f2d51b3c60dacd300f6a02824cdbdbb8675ef6c213901e454d4205a24b785ff54f2ffcc22e011f860bd6f6c2c7888132f6f53b6fa84743c0dbd8e13009652a92e8256b84b235aaf9366b3488f836e09df24e2d80c5af1bdd7228857acf488d5815d3d8244e6fd3feabe243ea8c4492d30b7b9566079d72fb32fc9ad7f6ee32d73dfeb15fd52e36ab7b9628b7aefd55ac894eb3186d4815f08ca5bac06543afc01fed7d2702b2053c686812486db0f9241bdb013fc1a961aeb0385d671dd3f8ac2752ae1af263961c4e056bb82fd29d46155c4b526772997cc9c777aee8ede713520f00b34ff856f4b8f816aad35491cfb852598a9a0222878967072ea1e544e626a52d6e9b74e201b9606b86a899444285e372e9c4d714620bb217611ebb360309d80bf99dfeb64e97362ab7e42d7dd18228aea7cc18da54a53549135ea6164c24fffb0f7d1af1d3131ad44d0dcec7329ed0d761ca45aad69614a120631c179d916de0241aa6a001eee6152d5084327fa6da28fbec48679900f86af802aed738fe903da54c6e4ee4eec51c55ca19f6bac958d0ee35eeeab2cdcba0faadb149976f7a187b8cc109f30317b990fd5122bf285e1dad10fbe50b34024bb77c35cafbc223a8b152868206b8875e23ec7ca902027b3a169bcf541dace358934e87534d35fa28805e85953342324ab19f4186537efb01ce800bf4bcd9eba42f22247a3da26a0ca22168e6be5949a87bd086d181f32e4094bbe4ca0fae94b9cf57dd166bc490365018fb0aac6ea91b9b0d89cfe0419771f05b9c953284bc1f43d334f4757132267131f7514799c7b17f3d0922dd79b1ff3284a087395f296821fa33ab0d607a504a20feab165347f8043170f6275bd0fb61debfa3cd99bfc996fa5c3e073557479039c3445683721dbbb7466be6509d7bf7f0440bedf08dd5c852e67cf1d531e877ad26eecd7fc46f28dcb900e903fe30544817569a81caff5852865252045200b560c475c8d5bcc799961cffddc074ac99097954299ef6883ecc2f9b0f2fbf3ddc33bc736dfb7dec1f6fd6f6fedc3d16fdf9967e1ad9bb640d307251200d9348285daff1d7b9810c323c26b9c67f1329e6decee251bb50650b7b9ff6c92fb0fde8f96893beacf91f5c55ef1b714134f904e27c06c030ec8a221e37e508507dc3ecaea2f86cb905b16851cdb8decd71151cb2a39a2c0ca0c0e9b7c807735f29f365f4ff8112a83d56048faf487bd6bcf1f921a6d119f15d5bd3dda21108967f6e3b1279f5e81b6dcac6bdb7d9fd8f5af4cf8e3f6f07099aef7d4e020f82bdbd6891005440cb6eb2c0ced786965e36da745834b3a4f762e19b88ce9a7495ca7d63fb93c18f4decf93c709679b78c2bceacde707070828b95dd915a3e315d963797bfba550d409a6e1d0ee7f34bd35d27a520b0e21b72e03e2bd056c42b754f17d75b1203d27a94abf103ac492442f8c288958dcde2e6d6ffc387fe3829eec9408a67a6ae8a92042d42f10a762999603ed270ba31f7db42c886b6147c0a530d37039ab3fac517efe5282a6f29a95038b8475d9e4afc6ec6ae5c6ace6954ff4cd42d50ed69f6e36c3723069e41b4a2184adc03d6f1915b08f20630dfc15b7f6481fcc01c6c722fb90e439c180b444db6ad6b20df44907a2bb9f03bab04ab7ce9e3ece7bf245514dce9f96040a81340e47cdd44775dcf5ee227df0c0748109dced80749228992f01af59bc8c7726d71ebd706709aaf50ee080b0bac909cd449646a4f550e47aa1009fc7900d308a821b809d8c2d0335670aad712b2c47b53353a5427f85ce934965909f44353f9e1ec78c4d6f2d09163f45055091edc6267687bc04a665d6654b891cbba3db4756900b338e86628416c7e4c13cfd9b0f652707414a754a855074be080fe188b3f1abf95cadde7456770d0316853160ca99285ca8550e9bfb5613143a5f1a24f10eadf1f611ce50df0df23a72e814f738e60560ef0dabc5f7f8ab3ad8e5e2f5843dac6f9c0c9eb5a16097751f6eee40f460089816f0cbfeb9c32f8bbd0b8e5d31ec482e85a9d1e840b6e1162042561074e0439e48d2e15678db7ee619cfb3caacfa4ddabc7d5442dbf20493e0a748868bd60e8fc8190a38aa81c1e2e2b43303f05c03b92ff153761076adaaefcf0004f75d9f21eb2b1c8abe4f0f29073247ae83a6044d2854b858860c99c72019aee538240dad6d3febdf1a03609d755b4c5e6bcf3563785d0bd92a6aff7583c18c1b2c56864a3023d3d3e9a9c947d2471942781d6766c8906f5781a9ba589cfeb72aa6e2cd8d59824f6869d70d082c3015396b30af597b7f12c68f3944251873519193c160684fd2085d326944cb70efa3873606da4cf00ef8d9eb85f080da2f5b97286a2f64caa74fa9776fdddff28ef6b7b47d4b9388049cedc5ee4248253c02bcfb2d1ee03fd660a73a098d884b90024aa1c9df5cb68c9143efe7b120eaceb7bac9911debb56a3ce009e353af53b3fb6fb4d5297c68cf86f0d079e9472100c6a072f5b200ede7429bc8977b544ff631dd1e0f3882e98d4594ae0ba3f31e763b093f76e1f6a3d5455c09b2cc1d4a6804256cc021d22bdfa9207b92562b571f7ec723d08404cd6959e1a662a66bc766dd379ba1bd8ec07e29b8aa45b53096fd5ab166c7a4cce0cbf8a4132e7a30446f94953b60e231b4c357f2c8d3968b8d928eb3303de2b3551af33f2e4d74d11419450283c3e12d1534bdfa1cb0e1a6a8854b338b2d29e25b8653982743046232b23574c0c4331e0bac59f1581eb70b9271ffc4b156fb25f6d3ca70f42b02159fd6edfd58c468807ff8dccbba548eb85ad7b27cdc5d9fd42d41fe50123ee71852469695eb25502eddf8149018feab234bb1a355f7d52f2434270408bfb602a56a0490a6cf7384d2f85c8b4a34dd92aff7202fd0ed6388f1b10f8661323faeabcd29a7ac114500695a5ea97ecfc19e11f776778bebe5119b633bfddfe7976b44e189c07491fdb43da05c140f99eac6169f357160a113f23bb2904ac26ef4d3e9c8b0894e45c0a0fd3910d5d8c9dd7a0f9f3f368c39027bfb2dfb89082795a4e07a10b5ae3aaadcbe3fadc7e701562c64f9c5f60e03247a4ef69b9cc56d40bea2bdcb7942d015485f7b7515c374cf5b86e634803d36295fab13c6a7eed44863143a106c9a6aba1c2873240335ea394b1623c858227325e07c74ada6604aba5a0800cffc902b89aa37096be6e66789230938c43307d14f2d10ca94a16d661fab3d3ec45afecef1fd39e73c23ff600e299947cf4f65cde6e39ef55a61ede94523b2ac545452ec7bef3e3fb6b7a0449aaafe051122037389d29881f61ff47595a506cdebe652c06d9772b9eeed8a45780baaece2d060c7ae97993411f65c51f5b1c0654cddd0b649a75aa6ab64497a25129226f72c6248836840f7022b215bc1d4807ce5c44fd16675dfcaa616ba0987dc40fcb8fdd81a7a2c2316c7eed8f30c019f437f8f7e9507e882fcdab408bfe17f588e054ca87082ee5952078bddf3726a74e09c9e490400e88a1a4299a443b94389a16f0a2710d55ec713befead2de0950a051b1c170022e22b96fd88d40db443e5c47904d1c963ef2cb12773ae2cf659ceb3b46cba4d9b00ac4d585123eeb99b0c8d7778c2c365380f1f84ed905283bc882e9e27953b7b0b5b489171a1ead9033b3be674c8131c9f26c6f2ed99f454cabb3dfd1ad9a8c99c2cf7835c38d05f3687faf0c7dfbb463d4f270994502223d1aa9ce307b6ba988578d928c0d5d481d030d47f86f6b416811af7b4df484105f4692e55b523cd4c596b1ac091b2ac0bfd4e63c8544fe2e815a159841167bb05244f32fb6f26b9490530a62cb759b43c30c1b59b66d1e550d7927271e40d9fc9ecf4d06df5c3543b865235836c834513e5cb449b8eda2a425aa5e5a9813a5bbda1790a2864cc16e41848513f5f93c427f85ea3b9aa7f65c1a9987cf04f8323c8b524baef2d99087f56a9240651f8c28e13a47acdc0992ee7cd38920c8647413c6942b9a6d99d1f7fed486c97b39d0f6171339559d85b5f527d983856bcdd6a1cce2abe81aad222f09e2328b006b4bef944bf540c3dc3d03866b697bd672ae330d0d1f7efd68ea2013cfc58a55faee4472bde1c73f04c7ec740c4e107002dddf942571b59a85c89f2740e824729c5ef8451fbebd05c5e95f06843486dd4ff01c49af433ae4c8ec378c3295930c066f07276e3422d150b7c74989a759134cf0ebb26ab7e76570caabe0e110f46bfcd9b4a15f60483032ffe7350f3cff417ccbd166634800230ee20a3bf74372774e27ece29da045627b27df1987a493034f9cb039a8f91a5600c2217419454ee50250cda276198a315e72214e193bf65f27b8f564fb80979befb4eb0870866f9e958e0ef442c65486e0ebb38635b6203a485078cce3fafa6980789f6232ed3de4d88e2d96bd648c4482e1069ec34575bf6739c270d74bbf1d8742d016de19c11716784f8aaab9a763d6b3e6d5837bdce28e77c4e5d772dd3adbc19ab23691c7a0973178304ae77271b9b6302f97cb8d88b92d1ca5c5517582daabc93fe7e5306fdfeb13e100666d2a360d620bbea6927ed3154b68ee2fe4be139059fafa501d03719be5bf950337d8213bd6b95a698ebd0dadfa8f1467dd72d9a26d0e2985ba04f08b82efe38685f688e336a1e3caf521fdfbe61219ceb7511c0ec8e5169c51d8a8e36ffe00fca66f557a0316d11cec60315e94cf1763907928b079b8f4c74c9539d7a42bb652d4f6f7d263f436d7391609bacdb27433565f5922794ac61d83e8abde8a359f47264197da375791fb98f964ff918c89a6a85092ad407ee0619a176c744035c9bc33decc180f9d0d87fb4b90df7a08c1895add7eb04e728bf0b7528a635c1b6edf0dd423e00542ace09e739894d02300cc237c350769cb20a714357716457cd95762b9c8b9454a1fd9e9d4179fb3efc3e3f795f7bb7dc0dee9801a2cf0d471efa6697b02469da6ab1ee66fe985cc277553199266273b1e63314bd7fb7dfb2f3fa36a612b7e9865cccbc7d1f616775f54d6880c1be23a48799f2d331285a8890dd1ae01838b65d220aad3c622e3d3e483d8957d44ea54bb4768f298beb5a505f314284e2e8c8424d94563ae6ac3446a8c54ba9b13b6a2c8c28ea00e4cb990485cedc0f7b6bcc8b88cac51ab1f39b12e56d2ce2cafa1e74df206c2050c57dcd7a0f87a0bb00a662524d136f7b8e6e05c8e4f5e0d95c5febc1bbd9eff3ed2d8b41edf7ea9e841b27ecd147e89ca95eaba255ebb31f3c31b8e1976a0fd676dca751cc195309e2d119a66be13e919a6cd36e8677848f967bba8fcb6835548bf9a582dde5502ac05db64948ad098b159bfd8fada31254fcdcc017d6de44d4f39a7b97dadc3540b9676a7982c0bfd178c393f5ae9d4058aeb522b746eb51f6c5e8a5f25994e3906b94e8e801d34201df93f2beea12c40715892d46a285246ac59bd7c295bd2fffd919b4490001b04ea8cd67db8ccb66823729f87db8b86d25ff54b459904fc26ebcfb0b71ee6a83c010c3566275fe920434d4792d055a5282832eee0dea27eb757f00b29410f5879c572a279113fc1c4a2c75fddbb0b3efc22f8383098bafb694a3efceb1f1561683726b046aadf4f4c065b870207ef084d38dfb83cb5ac19adfdfac8ebf9cf741402d60c37fb2dff682919f6d449732ac799c38f6bc78241a356f860328b06f4b6fe82630fb40a45cdb491919e2a6822c011ba0da307850626453b1ce798297e501993906b649c5fe536cb0ab89c56c04c4668ce0d8e1ae1de21b28d73e1debe07e2c18938b57fe94bba4613ef1844c44f90f8510e47e41d40da5a55c669c93f7d6fa902760a52d4934579b631ccc9c6cf08e08efad36ca23330bb96412953e2a2ff544f06b2bfd4e58ef561fa20d8442142d00fabedc7191a26f57ce0c4379399aafa4425288243d6053ad62dcdda6f7d2abe8fca57b69d09075f61d4c852b36e26547ed0c9fad313db91b78ed5b893cd4ffc08fb5001bcb114d30a61842270c7afaa9602903e8ae9a78ff8572feb604810d40378540918cbbf8fdedabc73a9636daddbe619dff43ae3ccd4a1a5062a6ad276f6d057b0e2397cd1182dbcda9977c29eb330120077701465f2c257ceb7227ffaf23c648aef1e294156b5b56b9c0d2062729fb2e37de1a9ab243fb7dd7c408d855e41573d763fcfccd5278eb5457ef995b203912ac1afb916cb45cdccf25ed7df4dcc0cb82bcd5f2e5a020d5c1787897208fed394e0c1c18cf07f1570dce729f7b3cbe61fc531ba29faf4e1b88e8b818497106e90bb7f142be76862e5051c1990c929e849eaa42555eaa2d60a54c468e7ddde73489691b62299d329abe9ad319781b6cd521c32c370670ca3acf71680788683c258aec9d564c1af0046b6ae18bc120b2f4ae20922229b85f86821100c6c8d0e0fcd2fbb07b64102a7afe37fef28c1c3bd8284d8eb58ac76c29611894952b64f445ab782dfab90a54968d42e0efd870ceca7762b21fea12f8ea5c81695870ab685108c03859f67360efd1ace95fc060013d1f496674f04936abf3d5503b739cde1aac6bead572542934160e2ab3b9026f7beae7de82bb485cba9cf19bb6451b2e86ea54a8bd72f8ad91d3dcd031173718fa0b7fb5a86ccd9f2191fe6d59e5ec4487d60bbb3c330cfa66699ab47741d4c1bd21e7775861740495a72817b35d9ccba3c37ec6fb8f8fa88e30817638b7935840e8993ba837b3a1e4856612e3fbe0d7aeb85f5eb4cb872849a2c220228543a6eb2b69641fbcc5b2c3cb5ada14ee76afd2ce40d58acc70d2bd25fc574881a5b201ef6ee6ac8d993682a11a5c2600e4df6ab59e3d14d617b4282052177f433fb7ffafea0c77341832c39ad9b527307649fc33daa75858335c864dda533db9a707f2f376278463b6a42cd8c69ea4a53af0bd13e04a370556f3c8d7a38d3b43f59c4f11fc406af33538dd257357eb5cc5003b6ee91b0ab95063915acfdaa3636717ea4c29ba17a8fa71c54a40c72c582ff90b07e480fc2a5a9924bb5e071a21f370f0e9039e6dc18f9de0fb827b244a37a2224da0ca2df6b0f586a69dbc7c32d8204016f3d8beac7231427860c7ee366f42a353d00cdafd425908a33841df7493eaa3c24b3f4cd07c4739ce1092dc13d70cdcc7603963c071ebf94c6c6e63331de9741a87bfd900022821a0f57735c2372a7bc17d4cb837cc0c12c75a82173f01db422e0690c9111797841b1dd9dfb8dde4fc9bd507d6db1dcdf6b0e9022a7b9709d964647cac340d6524c76e27224a3055f13c2948010a1d301fd4bcc79e629e2c7b2712e500cb51697bd2e9f2c7f8991212e96c9b37cc292ec83a27e3d5d5b2521666b995ff30985fb722862fcd950f52cfae2f17169b74a3ab8ce9e294be6e37ff56c78fa70aa48cbf52344697892ffc3ef12858b469d2a70b5dda8bdb38dbf65d78c30b2548d1bf4475839b3399ad973a50ee286e44c260382f9d872aaa5ad9848648af0f327cdcd38cc3e9df6d20578bc694432f8943bcfca7c52b1b5c87d527e2ac3bdaef0a7c9b3eebcb333cc0d88f4dddab206c00f132ecd9fe8144f9efcd8d9a4f2b8aa12afe30599fbccb6dd0c2d619b8be6813f91ebfe63d7053ea886875efa24b152cb244e8a9134c718268c5f32f88949ee588339806a3b2d613a7d9316290f2cbc0724287f2920c28bed47179f1ba159e16b8fe083a8f635306b19803e52862c71ec4c96354986c58a2e8efb012f37fc3ba8c463fb73fc0cc9370f10a06f3caaab26bfd1c2424c139bfcf9dc2621a036f1c3a5b1afdf22f43c7b7106d5c556b94d5708f0251f495f2a5a5c57355d026b8ca27fbd5d32d3a9b79112c4919fe24dc691e4fbbde56c58661d0dc2c3ec3aed8504de6db24fd07c95a5f7eb30b85cfa554b32817a7d5c8915d4d9f04744495cfe576de600d0d1734d0ee46234d536ecebc50fb6d42177606a57f5911be2e4afae08ee08ae130de0a412bbb926d5ebb770ddc0b4adda14f63941f93ceb3c091262e7bc2690b29865818d82e8296812671301d23d9d2bc42a703a400b383b8c0c3085fa2894f392455b4feaa161495e55bd0b1d5733fdef62f3a55906ee30835762518c21a7c6c7fe0559ef59f10f191ea1c4aba43d7b6f57421006c3767f8dbea18dfd7faf1cfa41c83727a4294dbce735d20503bb25dc64cebf48de93b1e878739ede2a066d08ebd567d138ae66e647c8d880b8d71cb02d9c82433e8a89cdadafd8a750e397c124ccca598c4734e3c9bf372c92d76530e69d80fbd17db07da496ff1cba99cc71fbb5b35ce2382bc18b4e009e1f014168c598d99bfb5c9b87f9e84d83c61f247e84d4936c440422ca0507c9e3b17f5f5eddb242b9f7e72d4c3fe06dc8a6449a20edf566196239b827f54bbca889aef1f9e0ce35452ad99dfecc710e806badfe6abc9a160c962368e82e59367dee065e8491fca43c33336d612196a34d93bbd6f1bfd298b7589022d38195a49a2aee2e9d9ef8e831f59bea19a6351ce68b1e7e090b46802ee6e61c843c75b53d6ba57b4c3d5a5bf482959a4e161003604e752a0fc18f0923f53b74c4c4046730fa6c3180ba6fb5e3d7b0bc3b9ad1841f3fd3bae114db71bcbd055bad0c8d5fcb293cec2a0a7da75ed515c1fdbd76d2e8c9b4881fa775066a5f229f68c7a082c5d1db4c8a4607f04c2641413632856649b6c559a6114f6f24fe28bc8b8babfef15297248bbf9260bb49bd04f1dece0f612d544495fb0bda63218f62b561515f11d839b677445516823ba5a88eaf828f637515d2aaaf52f97303f43d3ff5c0522bd73c03587c2f75f563ceb4a1a26800912f05d4fe00ec531281b64d07fe20f8df716d7dca7dce1ac293d2b5af0d14003ad3f93485027a39ce2ccb138d89fbbb6227037209a8405bb57717875efa2aa14bc17f83e959a692e6df374f56b2a7ed0c92e7e23733ba13982b57d4512f52a92dad3801d23438e6a426228c3ad3691d9b141e39aead5684a7a4e7a17ee2cdff9d81f8103421c8a650c961a9f5f56adc511bc65402a7156e3406a21bf3ada4b867941e8b13f8f8687c0b0db629b76e93ff1fa57ef6d20c269543000e32d12f852e4b924d0fe078d794c485e92a68c9522196ddd925aa2daa1718a08db0c2046f4fc1f8cad6e78e49406107d956ff255e4a485b2186f26f37dd0740083d9b1c047d4edaeada215bccc0f8196e29777ef4b42fffc0ac17fd8edcbba7ecd385d18ec551917a82b64da47a9a3daefaf5f5e1d65ce592c106eb1b7e0889b48829c3f99a1bc089578a3260a0f49d63d0d81a13f650c5ed088d4cde90aa0f51111be153ea41249cf85ecaad8a3ccae8848e9655e569ddc6653a897a763d40529c54ddecb099730bcfd54ae51d053c8327d1176f548f07bfe0fd028f26f6f6903106a892f0f8a1f7348c9bcfb99280f14d7913d238a3f5bacbd07d443e69e4d8da8ec881c14728c82b64ead6f21b3400db58c8c3a749ab436e852aadb8a896793f59b08ed59c386d7867cc26878e9443ff85c18bc87e0841d6946b4c673de7c838496ee1147d813885e150a2277d9d7db1e1ddf21ba061f6fa018fb2582e6122d1dc4b5ac7ef1d50ac54fa9961f1445f85be92dada9bcd239c1e4bc4d7a201711e3c9292853986cbc78c356e200e66d33423c799179ebd378aa69a8193814c96de389f741ed020c3c14f005bdc12d4de549bb4cb57e322aa1043e0cec6d4235d49a2b2a835682cb2862d41fdd8bacc03da95512b086ee09b2533947561b078760011e3d232feb7061993689893ce0c52933110ac23a7f5f917f326df590928eea6e1cab3e34099b3e553dc2f8ae012b64423b51827002f014b20b54de562375834d5434834be500abd23d83cf8b070b69a1da6303877a66b353e31833fdaf9286903bf2436252ffd39b065c64e459b5dfa733f6cffeae666c30a7d0c36716a5847762e13dc89cf555a648208a7670e2dac95c7dd6d6f1cecd9c6ab600ad92ca6354893669556aff53dfa9c6d69b37f6cdd2c5e564e66fb61ff19b0315c93873d2bf1f49b2566cc085efa4d839b46268e0edd15aeb664a2bb8d061288e58805675142bdfba4fe41118b68e09334d1763b2a4fd985f83f0dec4c3830691c8e1f7cc5d9d204d6380b980679488cdeac5250718f7faa9e3bcc3fd1ecaaa2cb450f563d52fef98930b28ae4fe881134b0e753b3517928d09f13bc3bc7b10be354f499c222b0fd583b6c902783b5c44d1e8c34c3d4ebd02a4006eba540fc88a21e7a852156254aff481471ff75b7421b49de344e829ab367f0518fadfeaeed3f224884ecd95f13f1b4093ecb2df54812859c55c0dd9111c293f219edc7b1a009a6ce5f7a4660cd32655e48047ccb3ef4b396183606389a08c1d825b91bbcc5ee98cdc695bff4cd8e6ffc6831489a4167095f3d9147b59b6d268c59113075eb2ee413c118e067ed3fd754f03a1498b1c6093181d245f62df6847a6821c1bd2f6c6517d0870b0af69b26ff365284413d4e8c152c32c343d2560f6e212a1ea2eed90d4d132ba3afa6bc903619c009d12ea2ff4c8dcd5bf34870bb97fbb01dcca8cf1087ec2aaf0194c7fbb783b25a17d2bb5fdfa8ebcb817ce4242eccde15e14f6a2ead5b731811a1a822e8b1a266c21a38bc29c70a4b5096daa884bc60d1ab3ea76e37f5e46daa30383c0370d1621af8de9f4ef969d2e29a6304e76805b19c4de0b23cddfa89afe5606cd16fb841dae5b83c357ec47f85f9abc84ffacb63affeb0d90d94d2b632175ccd85d9a952d3d17a41c6189375e5e672b8620dd4b81bc0dbe95bb355ba19993966103991811c07ad608b2c222b1a848959420df5f4301dc32e1f5c8ca71b7fd3fa4002ec8fe9ab2c6e398cb43aead43a48dfc045aa1eb3aa7787f9bf7857161e29f29f19449b479cc751bb5636849805d79fc9c12230fef2351a6a0d2c83c056adebe95e2d5ab1346acb7657cb164cc06b6e2662e2a6c9d728d67dcd51c5ba7cffa04fca96aa7d55b3bbf41246486707bb3d2c219109c9993bd9d7f586560ae6365d15dcfb5338b10a1fb06ab99e84512605c8d5a506b09048efb0b8823635ccc667485a8f5022ed7b638b7965ed1bf1e2ae3dd999a501cb97ae851f6d36cbd44d7a00e18af370b87d4ddeef9c4890c084533189fcd6d709511f1edeb31b52fa0fdc4734d642e86af14bbd34a11444f0fb073ddcb58b16381f766972136470307176bc8f8c13b46f7cac6b117c5d2ba3ae5cdd944d7aac5ece7de7a3d4e3073559313db24194775dae829a35e65d94aede43901da43b52f8a50b0efa5aea0b72f8782e2f0548e0ee73eda13fea8ed57567f7237a872719493ac7481006999ad81df54ce2f8973d784ae6e2a1552ea6c042e16e9c0b9a60ba18fa9fae96474cc9c4ecf7fe722b34ddc4dbcf0dea7b4b2ed7a212f8cacc94a09cbf95a903a6f5c020de628d0a32e33cd307000dd09c8edb50eedab9f96127986e4be3323ca879b3d4aa50507352a39bc1678b5b931768271a7442c74d60073255e15920830a38872dd133848ff42759dd30a2024fde61517073a21834704b5b89ed0a328c93bb55fd41a5f13919aaaca0bd7ec949d9efc2bb2d8d90305ae5d364caa7320ecdbdb46f80c188fe3dbbb5b38fb464b4e6d9db5790db4385b9f84f86116b006fb153f7e9672dffb89e7227ac3354293a4b0792f1566717fcbe98436873bac1c976a3c699fabc5c0d7b477aa9f133128af324a95a09ac798f3132cfa5a16d1d7551f5a1a8d34d86bcde5b04aac2fca5205b58a5a4802671f29d4fd4508b81842ce88cd04cc55a2b73dae089634bd2b2ce43f792e0d2f72cc3810b9c8e2707f3fe0bf80bd45130f6007ce7c3ecec96a4285adb340317ee0ac037c58a7f76d9045ecda1931c125dbda11a03a3b954447da11a7d163e4f56dcd8b99879483e7fb69f1d336c40461066922d2868b91acdcb52ad523a7a68aba40e9205b22812496f31fa17dc923423a66a389d9eb91cb878662722eba30162b148354c3a3e66b24c0cf9586adea6621025faae129c4b9a58484caf37abc49aa5f29971daac89ee00c87d1b945c902a44f24d239a3ea1df6a2e05a176af36f2476ea995313c2729bc4c88d136666b79085ac3db00e48e9735900e98dee905a4fb1e162f4055327b5c87660136bfe42fb789f7dbebce796ec6630bdd5bd55c990c4318bad90742c2e548f02104088eb8f4db0d55bf982b18d29806a90c72f50c0b361ed6fa665b6526fd94ce2b0826e230115aa5d73279f74f7213a9fa3fdd5cc3b915b4ef5b60be46a505be3394bed11d6ededd76bd4b830ef7b09ccd4382b9b3d07ae50c2e407509ca6a1859d2194c7006696662f014ee5a71514f5d9d3690ba0d54f5ab5dae33682d786284961d7de79c4edffe28a1c01a3490ceb20811df1cfe5954b13d9aae5496cf022cd8bebf128f578caea3851cec11203f7a8ae6fab747d0e31aba4d58707428fd27c618a3630266b5fd94d4b8068c8b372f1703cb54e62c87b5e605acdb8edae624b831f825e09051b1de1edfcbc4946af4780401e1d023239bb456c78416b04a42d2a7e12b468040416c85624e7f99c742c785010a0df5f1ece5ac7f73f7867c90e7d72026c6500dcd948eea5bea83988add5ab266e4c682713d393787ae83cfe6ba699d87ae7c59e139d37c40474febcf1f2990e087d4ba35fdc2849ae172543023eb240e3fb7fff84c42ab276dbb0355f1cfd6bdd1f0401b34e33f9b405fe0c13552ebcc55bc40802529cfe9a3b1808088283096c4e6d70d57754e2a9d03c2e862bd9b3845a09bbd5bf0caf33eed8c2df58157aea57792b65159f4696943ae98dde48630a55ac6118863c7f93157124f147234906f43caeb64d19636ce9453eae6b2ca47230f87ef5e3da7bdc72b9e7a0dffb12c6b2323693f25069acaf1a869086550cc0712f88e6d210cd144681031b1b1ef442ad258c7fe242e5b4638be18d735cb240e335072fe8a23fe3052ad832462b5234b263ac35981fac103c4dbce7d5cbb9228eb635926f39ce15929b93808e57e35427fda15fdceeb46b8387d08f0102556b01a2754ae28b19d5a0d6720c71755cd674c780831f3cbf345c9bb7b68b2fa841cf9ed1d8204ac05ebefb5ad1983deaead2cd5c71a960b4837d22946dc9d3b60f0750f3d8a53f443439d78b47a43e6c33415e75bf0ec1dc116bc66dfefb2827a827b8f415e9dec139af8cd48937339af8d4a914a236fce4ab3cf616108851890ca158ab0e8a8ceb89c28cc2d7bbfd7ec377cbdcf51e82c3502a8fd2fb869366b9d7ef8f45f1064d076c9589ea909019de686265ea92369b1e4c8aaab055353ce98a4485167eeb27738d89c83386affd93c2fb0a70046fa60ea0899e3b5e51f80081a44e95b22b4527542a8c7ebfa7df96ebf11a98f1e1f98f2b4a56efede17dd6ca0a8f5992178a899e35d02af5f704b0a5d7790535af471b5e80aaad49dd11cc8ffda61c4882fc48399345011702818437e16306dffb98ec16b62b2aee70551e48d7aaf0f4858182fb584af2a60df13dd117444d5dcf2586bd96a399a98af3e4ab4e1c7cc39324ec6a4e82055cafc705b068d6f877e362b8cf38521862edcfb7e7725821ee55aabda7684d2c5fa6d313ca6dea0a1ea54614c2cd20a756c923a12c056eade4fa898c81677958cdb13dbe80c3d57773cdd9a3b093a4c0f670b023aea301a1e664559ee1ba88ff1ee58557fee5ce27d69784a9ff7aac9daf810226065317dad81887104bc5647daf1b315d7e23133cd3ef1e14b026cb4a0b3d9030c5060baa8a6fa86b16b8816281f68ad0517f1299af5387cdea3518ebe8eb402b62160ba6386d05f5f6e1559beedc540167307473a1fc88f1dd0863b6bc3be1c814c3512e77ad9eb1c8b7a0df03553a679304c53cb767af8ffeef26e3c7f34dd132a67a04c9985187e7392b0a657bb0167f900bbd00e403d313b098683a9114cd7b8cdb9941fe1e1360e8718a8e635ebe6a06978a5ec5d988a82bd9629f52b66d53774f5ef387b2dbf535cf3099ed3bbcfc3bc9b1a62d4e07093960a216eb823704e12e9a6738da157189200ec6c66bb4d36d189104c2ee6e3da1cd82cf09a3f7a61c11fe8d9acb53be3b2f13190467c7653fcfea4611ef3b5fe8b929151afd13d7b84a483d45954cf44b0cb899c994e01ac5672856cb92f1295b7b72744d482e2480dfac1c2c7ca67424702a2e10305073f2e258405ba22e3c69c7416cc3484bc6cda50b73644b78c2769c5a91122a078d822045f872a98d8cf6d0fa0be4dfa530f21d31bc82a742186dc0e1e71ed3943b1e73169ebe91c030bdbded3842eca6734d7dcba1862cf43fefef4918935f80d8be1ce534537439385a0bc072b095fce1d7ceb81ba4c727bca08bca20b71fdb13642af122a7d4b3c76d8e5291c668ed687719ddc54443ba31e287cd1e269cd2e680ff09ed9593a1fe42592f852127079c181f0e54d42eae0ca0c7e4c19b3878cf9b1b70c65c81e3052a62a5923033703d8237e53a0640826fcc7c97f309078b39ce04802310d87a7abd4f3d2eff93162865e9298aa9761ff5d708af47bd8c2a9217d7f5d57b63847ed792e3b2da51186331bb022e32f9908783a7cb8c8c4f0be769140fedb72865093f98689e36ed0a2959777626a70eeb988d1722199fc7e92e6a8dfb7787826bbda017cbbabfa833b9e3925531a4afc45e9b1970a861d6369d2ed71482db72ad082092c11165dc3f8294a8c71d38f790ca511bc898ff643ffcda3e875f8a0b3b7c0d49497cc2d842135b17f4dbc1a4ec8c55bb67647b17210b4194583e046df9b02a53a7ecfc6b195229eead65e4fb6dbd461bef4f51b79476cdb544ea5ceeea7b4d906d907450d2abdb5f06443fa8e1db3944bbe0f5089ca20a649789e59adf477d17806131b682b7912c3c4e2de22a56fd817e12b16992f3c5f2f963cc64c24f958c55a9b3f719114e559446fa316e0fb83e5f547666a6b73e95c6706f3da54f717c75b6721ccad2d49b01da6f59d5d02cc9050da35fbe2b0cf2a943143a85d9e418765f5177dc2924931e55ca65f4978229bb19961222644e62c888f8b4781c238c4aa4c6354ac975603567f56fa0029e51e7f4d18bddc1dd584857aedff51ef3cfb6ad400fed58c0c4a0671d66d0df6319c0e2b4ba11fdb803cb2b9a6246ed159c2a23b3206ed897206b8902eb796c142ac724db8319da5db61aa69465a9b252ea1096b59ad7653f14f2b2fc684c259889bd8fceed9b63f792fea5859a41cea51335ff677181dbecc9f4b4153167999e469070e242a4847265c7d13399335381c9c71fec3722fc62724963d3d1543b6ba0d2ea885e6990447fb8c72061b98d7202cec8a5601a87d9d9186598e771e73efde416d809ce71d90e3a4304671c3bd70de1de6781e3bda32caf3754408887d5202be0bbaf365498d69366284807b90abc934a8227e2328f5db131566494571aef8c99d3b084e82cec4c86f75d1e67eb15f5ee60ede4821ce3956898c5e1185ec592da7a68ebaadc1f6fb9c0f5615f02591acb0bdf32384b067f893a3090cfbd3e656765858a64644e0f62d465e9529185ddafd841c7335eade2dcb8e510a6f66a531f9c123bb7a65ad11e3279db3cfda65a0df2d52fa1ff170e2e63dca68be5ec79b84a94def6368304d38b44b13d198aa0816aee4b7bbd2a47121d7b47d514ed03cd7b5d1f879ff4a4eff3cee1c0e15d7fb1d0647ed5e70a06cf93c27b8be76efcdd288eacbfdd4a25553dab91be84393d4b69f78dc43d81d3653151b54e574c2e705ff2995411a524f92c02f883a3a949ae852ab8a26b3db87e588ddf24c3b2a071a52e9a642cca8a304d80b5ba4c839bbbf2eda48369d8bd9db5090b8df6bf9f69d7be90a75cd7fd012b18319381f8faac79f2eafa693e9211a91a0794e68d7fdb36fd68758f9d821ad1d6abdb97cd3bd396188de2435fdf4c675477e063ba8bc340702bf99be0999dcb86736a9b3564215317ff4bfac3e99881221d64249c156341751bd63643309bfd9b6b63361233dfd8dc472dbda83ce3114d1bb814b7d591d90d564b97a70e187d59d532aafb8259c7acb0a87c70f997e151e7f4d69ee776b6fab66fbcf88e08b065225162edbee234976e2c063d7d9854571f7374f35218ffa1becae5b7b4809e21b074e569f8d68d143242a3c5535f87791261c7bdd195d98b84498392e1ed1c3307399d9c37ae122df7445ee435c92a0f00a85a90cd182748cabb9c061f5c976182c4537c081a9d33b1ded532be29ce7d1ab6f21ce82a8726e2bc2e391d5dd4245b5791abcce02fb10fb24fae6abee0a3ce8a08cea70ee45daa141fdace6d12a6cbaaee9e07161b09fd950ce4c0d698f80a59a3d7ef6744f719de300b26e63eabd9ed36f3855cba328891f83c0944e7dafaeac6b0d4a0af55fae89db85fecf02b8c667e035bca8a7485835804a2da30c64c95736e011e833622e372a4a68abdffb3d0d7afe022287901f7822d1964527cec5380d5e78b5b5294c253cee5432359f651e1c836029c961139094248a1258d4fe38f4d2221b4968179bf7ad1466de93bc4ab9dbcf1991c648402dd9d3006258c65f13409b52b029fef9b2ff6cbe141845cb29d27de79e23a28994fd8c2f08200b7de8f7d16303a80b46eaa1483c46a533541d468e0182d4566ccb812e7b94a5154560fc1b1a558ce8a7eb24d8eb1407f4f3c1ed4ce2cf18b6a365d5034a7cf9bfb1efc9b8a18bfffc8b248c5e8ff537718f736998e1d5dcd1a7ffb8fc1f570726593fd71114f0e2de1bf1ed8eaeeb1903c22fcfadcbfb9d4f7bff3bd08ef2c6fcdcbe238d463fc9178d943f728e8284130b0c9c5f4d5f5e09e35e6a803ab002e68c8bba40ef851a4690017bfac94b9d578cf91d2615f6412360794bc4c17628a1bef13351145544e7c2aae73ab61f7be0d1fe41a564a90bead0ccfa266258f24ab61997f45e88839375c0541d9a81152d57681044b5a4229829971e59950afabbc28788ccb05f4dea72ae3a4900a4c918353342e807c3208d21db1fcd6ebd2228fbc5d6d564190f7da2138de1015c08c160f59e90a50df72baa5e4a17eca40692ccd540702dd4ac88ef3701da609f07d6d5115dfdb473f51f57b061fa50a2c6fbab608e268ee278e4d0c3b4102f1aa27fc740c5b601f3db8245419189826daab749ed01a92f2999c63a3737960943982a9f92ce347ca8c1c1e8bcb25fee72b2d484a0380a545539369436e772f28b1384c76802b13be979a87a221652ebe964bf585a6235bbd1a33ffc9d6befa3db45d40389efa1cf091bea481e286f6cc1da8368d4314525adf6f7ae27b5df2c3efb4c9da8f3311a5812a15c9140e8b14315d7f7695c13a9a2df05af053d3a247e6dc0a61267e6173655b101f53b1688c5aa9354c8490875acc3bb47ce72b63eb5ec7adfbf66380f2550c418432fe47df1ecc0544187831e044d0d5729aba90537d2f390167b4ef46eab949de09eecc1e0295c76de707de9892ed2bc5678e5aaa5fbf74dcaa9e9abe3c0b7633fcb4c9158bf14d6b8961098093fd1b775d51db8829ca82e740606bd10bfaf61866821b163c536e755954275b39de82092db790eab5f89d37bb522268212d75cc9c798f643a95b18cb146802267338d37e8843e9c95093d51971e275a742ef8db39dfdaef0b896c4287507166344f2b51edcccd5f3bb5d0caf0e459135dfff83faee382d3e41031cc7d0316d4bcf466c927974acc0aec849905c510f5054c98056bb2fd026d28463f4317713bb36c073acd5dac662d45b5a9798a42b1d70f8920bf353051fec5c6a83d152e88dd2ca3c6c50a99d89c10c4c2a270ab292755563206ee13e2df9a4bef61397c230087f01fb05b4b6dc6c8f55c4dcea745069b0f5392dcd5fc3f450acf319e2c5b00d66a726aabee5436f4a2c67d357d013e161531384b23027f520c20d1fffcf2a7202b88c51a7c44b6bf2f63149ab71a0b58ae4dc72231c8fcd60d2ca4c48fbff243249be2c40361454bdfd58534855a90d9f8d9629ccaae1c466afba74db4fba324f439c97406979f82902808fd845d06f6945a61bffab87c738cc139bd62e61b1efce652438c4908a984a9108588655698c605467f41344adf8179fe90ca035af71cc356fea2fa2454f0553aad8edba40190c4fbf4a1180a9609324c28085ed718716fe1b903f21deb30e9d2a1ec1d94cddce0ea644f9d333fe4f212e315fe0f3d1d4121095fcd71838c224377a2aedfada43ce0ff1ba720f89d82bc28000c3994a56777e7f39a995f4c6d0ede44eb446096850eb341cd0c4d8504404d259beca37d35fb9d12075551370e388fe8ffbf704430dbc00a8a48e389bca82dfa66511f232c18d338da503790782db18cb358129155507eaee2a6bdcb2d5014a311aca75319f71aa7db3c8e85d331e3ff39f88cf9144a08baf3fd4e93efdf08ea46ef913691544cec56006633a08cacc399d2d355f6022afd735b5c32b5e50acb2ca7a4feb5f3d80fe72fe5ab0ea9cbb26f3efb52068d1924134856247269613e21ae4bcbe74d4637db036ce42b06df7d1bbba292e62132b57dc0b41dc6be3e01b3a5cca26ea4505c318ae6b9ae3b5c05e8bdb575460685bda6d682bda5a1337a930807411216b758b32542ddb76fe0421056fa2911cc7bf375cc745659a8a64fe03a9e2805bb9eb49860f483d9a0abaa75761402a37c66a70d6cce4924d0355c323eab95a3fd1eeaa209813982fc459b1493f32e8e8588cd81ccd146823e2728ea20af131699fceaffc0b0fefde0e5f30a7bcf87a712cdeb5b895660aa3320bc2be9bb77a40dbfe1277be1e7bf472e00a472f2880cbf7441d95ba87ee976015451d8e68dc7188748d022f5adf8195b22bb148c91af3a5a7e43f76ef8e7c8ea7cff557decbf412d55374663177a4427ae03ec7cc9fdede4f102d1b93106957756ff035553d25d7b80588b77e83812f566c31f6c3413864c158d270905190dc1798b86c958bf4edbcc516f999f16a531e3f76fe2333f353a6f5dc37a75a09f746c3636f46418bed291e6334d1b701dc6fc3ae907860adf00a15f5b66184c7441eb7b584fd196af089bfa9eae055a93b8d3aa9f07064514d4108b3bb39e3d3fa2a6129f9e6d776d1dfce884c3d4f836c7cb66be33c3d054fbe568a1fc0e65d97bcfe9513f38ca7f7b1e4873f1cb6e71b62c9cb3688b687a841e1e6d33ea3d23d1e700ba201883886628d3c42bbe9f82279851df86ddba256d0c00e07634b0f0af884a113fe2854fb61bced9b4775681a5f9b378e7075763bfd71968f5193cdbfa2dc967ed4fe10e2a2abb63ddb8b39a8025a5d68e1fadb6909d02de70ef0733569b10ce689800e71bfb270f42ffb6016810ada2f50ca9a887c07557455d729a3e2e59d5182fe1ac08c997d4a6d8714fc791a65664cd031c1490266d680bd4379f71b93836339e216975831ba1c153ac9adaf8230a6659989bd2e664d996b5e70b9720e1a0e89a2681873aaabedd1fb43c3f9046086de12d7fb49c2c62ca3e87c847948fdcb3104ea557ee969dd29a1aa49c6757c666dcd23c9474aa28a6a8ee4216b9cd9bdd49ab9be34f744b7ed164a180912dbfda7a0be51a0ab0a8ccf1548e36c8ff0a8ebc55d8f2c3cda5c522cca47625d310bc4ae2e378fa2b7fc435090c9aaf0e861efaa91ff71d51838a6288559722ade02f511f563664cff3a0ffb01855fda85687affc93eb0656faea47795f4f2f3bfdc8b3c565f52c58b20c6f470c46f9d1633df11683de880d8b9a6e5a3cd762a814103819e8a3d5196e84f1d46e50fddc84515e5e049ab429e9e7d816674b36dd46ec4717ab161824599a66a6e2f42613d556f822d4780b913f0a87cabe96d030c12da5b4876699201cc6abfbfe201e905eaffa65c4c3792cb297937620cbb9b9ffeb4122a3e85073d67a6e680d0a4d2261bffe845e98b0eaf2a3da1936096ecf46d5d521faa6009e0cc6a97baef88ad5d693ceb107fe45c6f31fc5f982444c75fba94d820179d3ecf8e4841da27c90b1f659561f8814d2f47118f650fe54128921e9c1c00498118a83592bc8e5ca2e1f218b9f02974a670a593d8ec985eb544f07fd193820c1d86932dd6232adb706f0c177baaee20687600c2b82a1ab35aa2b0f9c3313982fa6e634ec72396923b1c1bb72ee8d13f27dbccab09b11860af0a73f81af55cf43294ea9f81f7761108c61f9a14731936e88e4d4c2138db35691bd273ffbee4014115e40f06c6bb53663a5ff9f7e989a8a7b023295a3109a75a77154a9cf430bf67dbeb99fa79d5f4a01ae69bd7dafc9803fe41830d26ad564e9db25d64a33ee593db5be67e8dc352549ac9863081e118ad1393d6aa5ca069d14dadfc43cd8c5b9da7b9834bef98e4bd706d2e6fb9d768ed12daf0b5cc90222a82139ed20804b612b15e94da968f9dbbac5c3d1db9d09afa539a19f4e923bfe5235bf3846cad469e7764d1205d6882cbbf548f232214f7daac78135dfb4063b26bd28b5a9bfe89a9a6dbcd1e38d313e045e619374df1ce27e37f521a87b8570c628cd8e2cc5b2eb14599927c9c745d873ee641cf9e20986f39da2a98dd8bd6caad6d699c207cac1251f22c4ccb053860c424a520df639cde3e4e1d0a927d949e9b121b387adaa017943996db18278942bbf56e2cf5ac509df39892d830b015f952a3bab58a5bf40c7783b4a457af722d5e73ed67b27e2de5751fce4132c271623ccbe7ebd40531fbd24ac041f06eb6b124711eeef5b06e300fd88f67cd2335bc4abe2ebcd881163568c35aedb02f05af89144956677699a0c937242ecc1c4e0e862eb34999f32981cb63b0b42ff851b3e45c0aeed01018f67e9d78896d7b1e71b8056d6c8ee7f64938981994cc24d3c7691f08b6912d631a0e8a399d264fd0afd59769071fc8cdabf6f4a27bfd78e3f0e8768385187389f70621ce7a6e69f472ee342ff3e01ef7046d7a51babd5351efa1e43656506abadf699869e4764b11bb249886a86ad4ae00d90c51297f756ea910ebf485d3aef6cf3d98436c2e4d1dba5532d32f049d13be2037b5da9bf5f29d4565ce8c807db3cc90630029da9061c76d50a47bef8fdd4c8c022c0aebd9e4a9aa9c2adfbad60b957b34a2b34074197a24eb5db0a702e9bf565a8c4cf8a6c0f90bb72f3847a5a85f61963e40ab6a39cc283b3bc5ba3d355f77917df709c30c8d97086b8bfe66caef606d176e149114619e6ef84490576b6de2d7f05ec3861fce262d9a6f776ea4c2b07a9d32fa736b15c0637e38d6e32908b041c97807a61f599326336e855b25b6af6a39d0a74bdbd002eb4be30af1f6e6577072ae4c06b7f4b65901f78bc13bb051edce2cf30819cc642dc03c3935914ccbedf171723254fe0b64b958c3fcf9a0910a57034ba577874c365d99c545a622b5dee0bde2e3965b7d0c24cbbaaa29050efde94b660f671592e7cf7623580d89a952e28d45a9da4525d6f98844814d56d29029e92d19f7997717689a5ca574e48d8f49567e0da9b842f2f2cc0957f0d53d011a22a86497de0de7041b763698614af49809c17e82efb08d7c742ce4fbe04d5920c54193175020bf956b4829313481b546755f6c814823be19a0c017cdf0178091c2041971d664f0290d8069865f29e3e254801b408a4c94804522a2f1fb3817e25f772fb2eac5af76a351f7b9dcaf7e9671947374766b561703c754ef345b815ab8a7ddf3381032adfdf1724ba12b389bb84f52c364314971db358938b7215f595498c71b0829e2ef0f0d6b439111e87162411a9ff40f1a686dbcb84e6ea08864027e4b11948ca234f4353c291a90cbd38e6e4dc97e6c745ed4d539ed39aa83685204dc41904214a43b7b5f314c4210e85573f8e44c299cb50f70cf1b72df8779ead235f142cb477e31f0e44e5b677ab7a6913de2ae9b0857cee31b62ac3679fe9d823198aae94d63fb096424f2cdf09229be839e7a2a8c1b3c39f6a15e31211b339e8d4762825ba7300222a5320fa1acc45e18aa607b3415c18f9a425da694708d5534de7fd83786080e7c969fc7449d5ab024fd556327bd211a521d85299251cd1d14fc528bb024e89b31aa135fb545b7f5ecfc0f1c3b86af791d7d6bf26e4afdea2faf6d94cc358ce5c50f24409cbc1ff9ca469f152f41c399a99eb5b339efa4386de7d1af357fdf8eebcf07dd62219b6d508decdf36e72064228b4a1844e0d20f67043b12a53fbd7db1b9d4403554e5ae8fb7b534988ed770751ab0d6f6414ddb494ec5e4a1f2f619dab2a4bfacf9b021041f0a2f0df6937960f5f8b64708c03869e674bd0ea3749a547b1a4c0bc644c98f521aadd392eaba111612709407675c2ddbe09738d6af3ebc9e79800e48a42dee07d05afbc5fa239b1b9d640f68659bda3cbc488e722995c2ffb70f2f4901e12d564bcb2920bb6145c81c29a277e22ceb4375288227a9985f97dfb7b4fd6be35032a4f0de6e77e5edb676483d4467fd38299ab866cee9f3b7cc1835db4a7a2abe56da517c1af9ce0aee5e2c8b63153d41acdc18da0fda763444982abb55134948c0dca29b761a601c5bd598a4c972614edb6c2543038c008bfd81e1db9c53009b5e661719f03c025461a4ecce280545e974b12ce565d6a1126275777f8de8c224f325d67821dde414b3cf020e85051a7723fa437662a591a39d278e65489cd4c90da2ce45e79deff6de213e0984d39fb7d3be7d66d6b39cda24dfb582cd0fef0b784efe0e31def20a9c7ce8fa03a3cbe7cb0a609991da19e838b91592311cd60712c42f3e020846e6f9644f43c3f610dd7beedd02a1420240e57a4deebc635304fdaf5a0716e5c5200e8a62e37a62b51c10a67d0eee7caa953df17bbbacd76f3be8939447b205520988746fd1bef45905c9cf1efb2dbc866b4ead37982fcc3bece0fe1c9723052059b1cf739d39394cb306db8387a0d990131c06c42f2e172f67cea28e469c8911336b09fe2cf580613754ab565fd41a973038720424e04a72f92f8dc82a43a8fd185244fad5aa9d937df8433ddcc15924878d2d6c319a5df3822b5e879df02b7896ca9bc4877dc8d2b5adec82fbaf6780ab36f8bc7b71cafaf9b5d59cef86750bcb276eca53a35472b4fb06ee1cdcf3a363e3f5b6ed07c2dbd757021ac2a7e6235f1207c0badf723fc89e27c478afe5ce8982c5d334f14fe1b49c076ab3a68a99140b27f285acceb01734eb708aec69d26962538549825a0d3175de875e86b93e29a46cf2c17afdb9ee6334c9d9ae57b60bb27a734412ff16e399ccaab07f81b58553a6e5b0709c12953393f48f78c1270c7c13c2d42f0c98d7049259fad463162ec551c0de89cbc4b76a25be8c0443e0b140518b3f2f4a087bd6baeb6294b10ea07e168c3d95154ef26631a0afd0af0a21ef61dd3cbd501cb14dfaaf76e0b3cd1e0e97f180d9beec1e648395869f0f44c5fa16b6d95c0f8f849b7f99d15eb3b06aab7050e56f058896f0914e13fb3956e693909f967df365f2c1d16f85d93c491dbb5b1dfdf5eb412ad15679cf3eefb0c2cf028728fcad67667bd983013afbf958c00c8f29450a6e28890251ad7328369da357723a070d1f5a2430efad1a4c524daac22a705d98f7dbdd1a8a54c5d9385f9bd189c12f6f5d79c146e3bcd290fa6c7791e76f886898af5a3a9cdad0fb78d6de6bc2f8a723b16a4579e122e3a3db2ebbd1f9516d6a0a9b22366f8d912793a3a093d345966e3958f447456324a9227921b0bd6c71b3e7b859ec5cb9c59f65c1eab41852e605a6be8fbec66b293eba39662dc664c094962a730d661c0db9e00d003ed9dedca1f324ebfb3d286d57b0f581d88e81b13a86fca000f290913bf707ebaa00371541d9ec012efa05d94969d5a25b0fb47d1578695818facf7288a8731053dc4602fa2b4d0bd4e43d976e15f731a61d482e9bd43ec2f4ab24e137878bf7d57db09b5f96109d8b5979dd31779d4018dd25fb2b655333cd32f417d7979a4950964853040d4e5960a480b54411e7ed43508887591f286a6daff86064c8241a346b3bbfaee2ad41593875b15f702866ce16d3b973e9b337fcc45585bdad670dde851aafbd4c0323a8c6bb1faf95d9f652252d280d676b02a34f41d055bce2f7c39bd2607f9991d04ae448f4e7f2316cd27dcb8625be811cb2e96b7ae9b478186469ee1167b415aa13b142bb93c23f02ff6387a056c39a9908f2cef4cafaa469ea964ee9aba8ca96e8587dfe90745d80f68ff56418a7f7c63166d0c0909c61b333cdf70aaab60ee6c2a3999318b655b2b61a07bbc28ab614506a2be83c4ea281b9b8879aae3125f121eb17dbf9540681180faefa2691312dcf8cb0c02433a7dc58b2b3cee379e05a713003ecb63d3b1ee767194689f196efc43c9a4365030ebe992d035e0ce23fc87f5766f0c6756845b17b71a378fd73ddc9d16c2cee7b4e497e1f29aaceef840e8f17e5bb79a75d96cd74c49f606c0e0aa192bfa7959b95b9dc55d136b46e30c2babdafc5d8a156f0965447860d6b753718dfc3728d592e858b3789a8f6a3421f98973246e36316b539b5ce3557f69ada699b6997f51a32c5280691ecfe59ae4dbe0a2c29695e21cc5fa974aa6c5b9748180a99c192177ee344d17310071714edcec7360d68c9f50720d0c1ced43b2e4274bbf360db1a7d4f54633464f89b02fa970ce1c141ae06859f355652fe50f1a5efb51125c4c234cd797571f51c5a7093682e0a24f9a43fca95f6fc8936a0e50f1a400a3adb1bcdb25d336646e3529afd66238d1acc298dbf9a624778ff517bb8e0554574e25bbffe4356376d8a072ec629f4b29801459107b2e5589310aa9337eb3fd5da8d531099e66dcb749630ddf11e5073a2d92f94af51d340f9e2d7c63fbc10f6a5802d84f548132754590615ec1d12ce6cfe0730f5f4591125e4ffed0e941b291d6a8741e34f4f72adf8012f6e2f1d967864acaa44308af1cfdad311e6009c1edc3520658361c9e9e0bfac0bd66c9e1f38dc0a19259d8d451ce50c773ce3de997f17e7f5a41e84bb56a1b4b7f0931a7bbb515eb5292dde549d7303e546c7cf6a0c448c6008b84151a10a4ae427a57052742dc9bda6a84b6eca4bb2b7ccf6827902b9cf98805ecebd48312d0df35fe4417258f8b4302785564fb04e2be6a173b5183b0e0b641f939c8885010af0d64a289444baa70e33d530d415cdd7f688af92171b93cd0177ae41cc0db1b1e5373930870d4458071c9c2c22070367bf4b31d27210c3b87c56bf3c49ff91086f6f7f202df292d0a103f02234208b4e1cf400c6ea930891d8433666c96cc18dfb00456d8508aad617c6374bf2a9f1abeedee8b2a8e67297003592305e3c4757e3dfa374f6428d7e51300d4165fa1cfc8ee3640304b7c6797f2bb86bcdb9fbcb51824b4b0a9df5ca74e164b5106f8d42b70e09da9779631ea8317dcf42db9142447df18e3d2b6b179687235aa6ddd021f99152dbc731af6ce2cd000e8fa722dbd04a0fb28975ca262ab5a111564b09af10b50c66b788bd70192d45908537617ba10a9af693d6b00014ba84bdb55674067108508e7b3452d75c4e0b1be52eeb4fe800e531986bf24032c6b8b148c667c51b9a70714ed74591281ac916951f1b28d94dc336aa640f2710fc038fdb5ed1931257259f174108d6095456f528b7f872442166a95369feade1abcf309fd891bd05c57164e39ab1674f3ab0299ea31668865d40235c75916d7697b941e039624e69f25e4cc325fb4aae8b9abcb998f0b6a0700e547dfbdc901827024cbedcafcda27eeb97a5f69d2dca741f2cf6d4e2963b0ea50f5995ce0fe6a1faa46b3badf45f8807b47248b35fd346e958d18d58e230e2ecde554030e4d409176a71eaa3e03bcb472f86cd20f246c07ca9347db3efa903c311debc5a0ba9f044c71c86b5c0a87e29de6b6ebcf14a9df4cf38fe27c713c7a63f214f8b75d2399b058ee2af7a9e84fb9edeb5b4c095d382da350e3a55e4e9695c001a24a4ba9cb8f2977d41af0f71a19e0d327b3790d43f0bde1b385c7a3bb9c40b40e6f75c724cc898c15c47a3d445eb61d135f7618dc03cde610f08b95d2010af76c3b3609c6e30c693b8856027229c3b0148e96a9e8901081f5276fd0346b36bcddbcb7fdeffcd84db5f6e7834028758560b88308cf232152d514766449b0816a4b918ee6434d950e184ccadee592a680d0398e50a4ff8a9f891225493fd423962d6b199b825df3ada8c51fbe8229f324954aeec9c37a73e269676a0fdec071201f1668f5f12a758fd641a921d802d0c4bff3efe22617f2386947709db78fe0e44e8df4d095169ed432d1d0054e2c0b4302c0cecb480968577e11bfaf0fb11b542b3ade33601830cd10e103583e2e0b9d1116c1bb20d14909824d4af0e66746575beff87acce6badaa643a97dd7ffb4cf760133f0b9a046c45df7b726881a35a6d4ceb4ed16324d6d78c4c9139e9626e25f39887db0f5469b9b27141d98b8da7184f689cf924b7a954c278e39fc9e7ee1757248522fabfb0675c2c04de99ada6e42868647bf77468def0f420efdf62a029df18a95c17c618518253052b4e230514fbf002863c26cab6a54b01c0cb9d36e60278327df983835786bd3e42ad0c0990f890eac46139ebfb17fa2b317a8b3fb5cbfdd35dad9bc1c1a32d908a7fe0400b2335d362eaf619211e2aa87c2f18b2671e8fe2f4525d58463db70d9c502ea503388ff3f61df95f0fa1995822f7e577233f4780726fd4034c06992b73e38c6b0e936a7cc82164b39a87fb9f9b6719daef964e29f23aba514d5566eadb995d6507f7008d77285df51556544f116afc7dd855b50a5288e4faaef73681be8d6e10adf43e3926f097f56b58402b7d67fe6b974ec32ef1e5541fd141a4612cf0ecfc403cf1a4063d2af20f1830ce2ecf50ef309df5add3db85eb8558fbd0f6b0ce9788de56f5c6c21b973d97b2d2b72bf44059f1a5326d3d8864c0c5b2d09a1b748132b9eb4ad98a73219fe2296feaf34d2377a413d0acf2253b306ddc95af9162cff12d38651a444bf7501b1678eb2b3925d9dd80d2aee92a75faa8cc834bf14ea1459ff5aa944b4c1206cac2d989e4b0be61b2f7d1669f7458303392bcebfd745348fb7a448d2f20af607d631387b916da766e02641e43a0d8d24288fec636ac70a8e113faf3919f7593d8562378cbd16e3117211c8cbbd3e0543f7a0d1f61086dad200c6e188880a8ce034dfb8eaeb9b05f2181f5d3007e643b9bcb4f8fc0b51d59375c07fe4674e91d32eeaadf7ca8143e500ef92cd9ef2928d4bc3245ba5e23f59814452c936a56eb38656c8c787e46437a1e0506ca35a1cca34e2f1c85c7537605fa05cf613b06f12e676bd0dbf3b87ec2c51a9f150d352866890576523069911f7921abb478b37f3cc18e4c17462867a7ad02b21c21111e893ebdb6e7d0311766487f208e7e80596c583e9fdac2a2d29ccf3a048ed1e1f51bfafe935530b1cf2ab6821dfd6cb1aa6b787d8997ece53e3094766b82725628460c9aa1c615ba41e17c2508245bb2fbdbced5b311001cfde794f9e6400a226bca22c19cc2ef93c23279531f4c2099260e10dd2b9222621e33ae8df3ff22f0a862a6b57dfbddd025e1d14a9312e1f97c02e204872ed667bb3322b5f1767045727ce5acc1e30216cb1c39804f44b88842a4c29bd9c78e647be78a6eb3a2e42478376c82d589448a6bfc5f24a53c08e5f3ae1b608936797f489b30c159c9c93f601eb057896409999e26b3d0fb818f1704ae4e8337eaf1595d99aea66b5a16fa62cb6e69dd8dad3e22722d0a86207411ad930e3a44a32ea5df2febbebc750260a5571885679f1e440df22532eb6f7c3c1a521e6e15dbb729b612568d1996561c85bc8696cd9a71d02e838711ee47391bb5c4b7b3c4d098e7b861a97a1eb333cefa743b7498dce5d1a7b32432e70cbb46782d85a2693ec324ef1968a9ba80160e4ca4523033f71733cf5d126eb1cea5644f32ca1ed51d36a98b34b9a72b1d94dbe431eb3a2dd2c351bc5411ffd9a9fa6d7c747b0864e217af664604eb7215f25d27e3b7a9f6af3bdedfacf36330f568d591dc3cd83c6259939a1a0cb6be502da32456694c72a0874da7669f1178cdddb00682dfdff0bbf89a2007078eb532e825b62925071b2180f4943ec2c3ba47a2365d71d1f3fdfcbc78c7a01fb5f18635f3ad46b0d07dd57d73964c12a637cf84579b116f6f16ccd8474445b2976b489e10bc5cf11d0cdc4818d49f61fae1a35eee660d1d3c61b98489cc00b1684c071e565cd3b7188feaf06b902dd360836b77709bc8d4c528417a2a612f24b810c0eb060e88aaf2a0d8431551578c11fe9d7fbcba11994f68e0ffb109b04187e8ed7ce94a19813b013347b96b861ecf50c75dbbcac39b6e1ffe006942468b4a3c931b5a07a6e5bb9d492dc563f81f49aa7bcb03a9051b6aec5f65228a8acc39b7e473b4ceebe2bf37f5df064a42621fc9c4095fce203c8bf2d31c21501512be847d5758a48e54ba179b91803a2508ae8c034b9271773914322637fe80d60318543aa403704914c3a4113ef96996208571381806f83c8fba5a7e199b7896727403cd32dfd582444a07e287bab52ccf29963c2baafd78b7f493107f53ee20c529b7853398f1526b8a8cb76eb9ccc17ec272097c57a4ca055e521361a5f832b1c2315161860fcdf8be218b1519ebc96dd702f5e37c5ce66540484614c39c6b401780a493ee10ce5745312ec667998fb69fbf8a3ffed95a5458e926a7fb62ad5e58925ed5f6d6cbc800cb083a1f4a3365e91a1830d2ed8dd3e4f196eb76898457dcaff48f339da510196ffabe3689233fcb3849d150b36a6843b295a0dd5030fdd4078c942c596f4e27c47765e500ada061d99690e6603c0b5627e39aa24c0c3c2f2b787e69643e65536549729b6bce5a69ec9a0115e7b39472d1132d7b3e035294ef0b9d0e63e5eae4ab8eb8ff64fdfa734f70c0d02b87f104171db033ec9dc1d0b220b1a8886af87c9110522efd72eda7da300add731c1744725f1863af9fd391de70e731c67123bd486ebe7a3155519c4894f94ec96f310eb93cdc475eb1de36c3ffc2b9664e74e5ea7103040b2708b91f2d560f19939075442e2b008de3a5f324304a30c94452770dfd34fbb8fcc77a270d6f0779c984c1ece4ccbbdeabe88e544dbf5348900991d18477f223f5c70d602712c382a1254600769c255f4cd76bf83048780c6b837cd19ca7d3850a5f0454ca634eaf63ff06da9539c10ed49da532f1f7ded73eda753d9c4084c0a3e38e072a60f109e0292d7e970df787cbe7fad64ef41ea1a994c1b548f26399531ddbf358336eed6bc650242d0e6f8d1b40cc31eac203a6fc1149ba4ba75b822afc15adebb01d83c28db8584309c0aaf7d0aa3c764552f27d9a1f2a4678c81a39eb40eac418254bb5064f1903634a7855c987a42315cf6547803fc6bab11d195bbd57d474f4738becbc13c65e049f1239da9edb54a9b984fdda737f2060114acc32b20ff495958edddff884ad4dac1c88730ee35b4747f9a5f72e2bce22ddf465da4b382f1c272a78da67e83b5487260eb69a184b40cc67dfa5a2541501dc5b00d251290a5525db8b9c8a4d5c3cff78687eb70595b8a83f9425ea7d4d1fdd23ff4f6262990805d79d79cb9e9cff56a7e78ea0d90488a2567786ca8a44222d1bd09724e6c69c9d1a8a48fa6fe66ea2851d066c5af28d7427b2f3dede0074f51cd554db3e5d5f06b2f961361950a68e463bfee18fc13eb90df6e679459a6bc8951273c15a1d24f796cb3654011ea20886acf2d232d3e6d15a27f0df9bb04889b695402d0c45b7ab196f2ec556d6a7e993567f113a627d89604f1155a17c9dce7baf578bc78bcb4cd66883f3b2a15e485a3574a07724762cb94c7d4c1ce7fba4a3984c38e9e2287c8c53dac4fadb73024f17d529b67c428f68ba23f09b8cae213a4fa83db6d26d0adc1878d827a3f1d31f879b4bb162ba1c38005c71eea8a55e69391ba6d447b732cc458d0d3bf54a54029579edd9214460acb5788839fbedd87056d73334af1383ea44521b7a80192018f8fd20ed1e68287871e556a70309d9fb42389e576eda674bb566795e2ce0805fd0ada4f4d3f4d4ad83ecec28cce97b44688bfc7f3ca3a014b913de95e220174fbe253ec1a8a0f67cc62cc83efa577ff72cf6ad23b95fa3ba26b461d55219b6886afd49632ca854238688ba0081b3061c4bc4e587b6746bf759be78b8e5074020366cbfb45c0d9a9f12c0879df948350ac8b6fd1fd6d99421b54a6920423c0ee1101947c29bdce545f63d48e69a0d756619920ccb6564a58821a93c3148d5c0bb85f30f137d4e131c5c7f27604966d4ab84e6eab99b9cdd63fa6f81f0373d220a7589eb6b096530532f87cc7f2762641bd68495ef991d118564b0d6e054b3e6b7958f543e1c0248e9409ba01f41ac0d25911f70bfe6705d611d35131466fac50156e4ffc12a9d2a51a20daa8043853439d02648b2088cd7d681f89707e5328a6a8ee337fec05ac5b3869ddf9aa110a2474b2d22cbddf996b5a497fc2aa42cd05aab7cb8cd03ca33905bc4f77ad9b277a9a1df964284f184f397cc2d637f3051e6f1303710d2e78ddeaabe95098176d222c1114fc84d53f86215d50db77dd769bd80a8ae7d97344c74ba70c2a839cff7ae942be2b1499a34128410ad2ae97af4c425d9d120354bfef428a28e225df449ad7f4cc5542978116e9d9be1026cd3e15f33fdbad00f4ecebe245c36ac33b57d5c2d56e22d17ddf63db595d26652d9978ab9247633b5bf9f0ee57c4b088a734ac42528ce86568892b8d422518be60f54e4d6185193256ee96cd6f441bf8a5e63d96da87c30765d3da4cb2b8beaabc47c63b1ba7edfbe5e557ba4444c6541b056f898cd8676ae65496b9a2f13d83f81fac67befb13ee293f8a94170be7b5551ad95715510913ae2178c2cf55ed12b7348770b4fb1f87a184f6c28c415518b92acda27d75d66e1cafd67381e0ffa955210cef2509b51e54226488d7adb54a47dcf20eee51dca39ed77bf7b079db06f9f48bd481b17b09f5584cdd886ceb8fad66d598c6d25f39c4cf4b453a68cd77d7f6b6acc07a56358a2835b162c905637b18c5a1f426ddbf51f9ea2c9f4647c0cec6ab1edebac09437a46ea8ed7cc701f845b69af352a07191b5b2c5311c83c414d56f50e473a0b4f874ca83d8cbac2095ab9f50dcb7406c61504bc5c53601d7df69c2680fc08d14e30c163f06af5d85690e08e58e2886178ea9612729cc025d2fb030c8d8ae8089a5dd4bbdd49318079b406c87c29a0de9211341506615f2f5a10a9c04f3145b3c5fc303f34ac35dea5b16b725403ab52e8669bdf1d24ade243d158aa2ef9ec4832617e6368e818bc14616035f66e42764bde8be281d38d87ef7f002861fdba55d9af8eefe2bd0f2c2e17851ab4fa48268a1194c770304c7cb28fbe8e28e27c84b9512079a8796256ffdcb7c536f598234f215d06d3fe4b63c8836676bf35e0edfcef966f02b9c8c3d7f1ae9df85a4440a059bb01d6832a6516a7c78b5d971c0fb580ae4e1cf2105e261c30bc4f94b68f7dbc92990433ae2bb630ed2d45c25dcd7c73bda4cc241dae7cf55cee7259e43e0795cc8158fce789cbe511550f9ebeef0e3cd96b8f74eacca1bbf9dd0c02ed38786425d5ad3d98712531b2b4608241a103e02ae09b8b0669114b4b0b14bdeae91dea5fab8607f8775a9629277b1bec5f08959949f03116f5fc343303af1161e00d5b0bbf5398d649502cdf3d7842d2f1606adf6028d735ffb509d018d58d4f520f8a1324910650f2fecd0f05257b124b8172a5f5d4c99459cd340ed6a4e8c23ccc83fdee005c0dfbff6875e074f51c81c52108b568f0f5fee1787ff852bd1b0952a3845b2583115b1a5414a4dbe13469be58cb33af07d30b5ab69b74fb77d177d4bf79e1ca9841c6c447dc7638434461da74e09903682fdc7e4f442d6708de6eb78f212a4aebb8d9f27f4481aeb8b2b0d280e5de38780f56fd7577116cc91f53d34ad6b43320d30ea5620f2f2461808366145febc4686a3d114158873fb5b33383a1181759df3d9390d64b8647b4601b5ad3065318de37708cb7655bb4b0a307043f483331aabd63cb97ece323e9bd9c3f8cb3b198a73ce66777dfdcb415b9ed8baef405b3a99b966e2ce03f57eb87c7238ad3242c6290d02845bfdb10f6f67895e7e4724bafae599d2eef5b632ad399fba01a4726fcedecd8ed898ccc51ba1e12318e346843819c58b32dbcaaf4d6d70e76d6f1fce72f19d9726c7b6e5f3c0e14dad2f67052fd2c1dfee21739589ec0f92b56205c378b147f63a41308091589fc13b5a0d2799cb03b29bba2cce7ddac30357a84e1153fe10ada25e2d74248dfec7a1f81ec2619f7ee34c782c565b73dcb354fbbc3b846ebc7eef8c1fd96958c23cf34d37726f042850900f7072c658a42f87c14feac681463a6ccd341db95459b7c30eb582647095662d1c0259a5f55ef66a7c0bb2115c7d0b19e5a9a1bc01365322efcecb47498d328284bccd58e5ae39a673631eb1f8af1e5219bd42b0fc6e4bead99cffe8d1a29d5043a1fe0fd18d5816e0725907defdcd4011071709aa9ba548928cdcb40398f48852143ef9700a702c9f6b5d39369df559bc08f92aa1b6d156ce3b43358724824e073503bed091d6fe52377f116d7fb8555da1088191ab9878691b19043e69bee546ad434a23712afbd91839546f7c51d21129b1a8b307e159b35b34ec9a0626116f8a6122e250eade75788c0387f5cec8a8a6bd78166b93764961c1a7f1d588253942fd59c3ee8bc168a74a04b11edda1ad103ab30cb41f107f19217e66c2e5d966399cc4add1a93a086421b16d8f3f9deeb97877e3cc093a5defa0418bb4301d07a2b71a17a653585adb958da35a9b221eeb537e901bf1f8d4ea148142116092e6fe5ea2b717565f5a6ca31533b998a340e75b59f41648f59d8c5aa20440403454008c91aae2ff70f295b4f54f4088ddeaf1ab0af0a81c50dfcb1ce4b09e073e54979bebc0d6cfe8210f774d82d23f4f4f40242ec6de70faca3300bff899640435a2514eda63d83c2bb28d3aa2be62c80ae8efecdc7007ed4d79c4acd43789d2c1d5d5a423904b3902a90854b9edb3745e64bc073aa359f810962b8caeda417f21662ce95a71dd0b3d5dc7ec865e098dbad7978bd13d3d49581d3904150097193ca108db28a28ce3e4e29792007343b46c8ee4db0d71440438aa2355a54e5243b5cdb1ecbb1fb781e7ad84428022ed4737e62ccda2d16fd8db845663895f340219e982ef0c83e6005b57ecf78d5ba1d1fd901f2d7c22c41eca055dfc75279805d8506ef6d635182d5cd211a4eca434d1aa0f66720a766ae9965b664ba573feefbce034da1b00e6053d32994ba87ea4d72fffacc5f2e4e986029447cdb31bccb6bc7acc121c4198569e3a943b4fcf4ceaf7b028bd012499dc670e65d894e1152765f29bf40140216dd58065852fffc183640584e0fa182853324f205da6e1d688ce8dc82c90acd5427d6959dbce8f05a9bdbb22e7d349291e65cf58df566740a65a01c861b2f85ad3c9c3738b0e31e53e02db4040590fbc59657e67d45353bd2af702ecafed24b8f62a91e4eb5f7a2fd26385f66b678f30a0891e4bcf5a0837e3db20ed12ccfb650b5a00e37f05b96c01d833c742eab9d45b9b55ca71699d20f7c531500467605c3b619dafc94255a4c8e9c81e3091da649897bc3b8cb35467ff50575bfd609effbeb236013b7ef6b92343622113879d7e189d684f0c55e3d51877f29f9e29c7ae04d9bdecc9bb0bcafd12e38b866b23ad8d5b537e62268d153aee365e81fbeeb788850ebcdbe192eb4457c89dace75408f0c95174f594557d1a2778b584fb9f456cf784fd9d5a24555cf05d1858cf376ac7fe3eb20435306d8fb1c879211880a5126e9299a5c159d5ac26d8e6c38d971511c0952afc1e83589d0ff9ff0559a9fdff8b829df043bba6833337220bce627c1a84dd8cfa05ef0976abe713f5e3e206760103d5822fa5a2a39f806d6c7daece0d14950e8b8969e8dd5bcec32ab94269ac95e2910382813d2f9532891855a7513635f1c2a0bca330c4f955e85318024e4712aae2a0c84c65a925f987b1b9c2c18ed236c9761853b0799ff5953d5c87967d43e1b3fbb077018ea4f6e21260db6a0423e7d605e794555604ddf104a24ff9c0ed031b1d90159996d0aa68c986b80eaafb0f245310c89ca4fdd3d59b93213ea6d74949ea070e02e4c69c50b6c74c5ade79844fa3a9630d1b28c8883f8e17e2222e0f60d33f9dc9fdefeae5a59f926209a4cf5b10de8ff1d8a2475a208d135b0c260c9aeba55c7aef9e048f25fab5ea9fcc8166a90fb62aba3ced6395441791596a1b2f06973aef5b3f533fe25f389ae9776808cf61b6e9991f5190e1b1ec29730af46e489a2250c07b50dd09fc73c30de41a8dbdf9155054e293f3fc980c8a703f4f10618ccb530a5bed0dbfb1898f3601ac9572c110f6dc8e6198e02cbb5c509a0ba4fbcf8bc687940b69d3078c1f2540c98dab7a019aac2ca841fd334181faddf619894f3aca055db653b11f23ddb17cdb595f3eaac5d7e37e7d9a83008f25ec4792b89af50fba99854a18710763117141ff08b7a60e6884763ea23922a201947b064f2fbd4b1696797b2fbe7ae8923e2eb1d91607f152aa8370f449fe8d9204893551692039632555a5c4afe98d30b65b87ab94852b0f3c4a63c7a2573b90be2cd6bf110a41239693ab7a117a130ae8d75e50277152d0fb9bca33d1d7e04b37bfe6416213097caf1ca3e8341ff7487f2377cc00becce1d5496fa3266fa2e537826e2297cb146638be4d9960a8be75b26447926e8034d70c9f9ea487dea031568df37334ebb6cc611130e2cbb2f14d90ba87925c09f8aeb61ef01c9af0f6b0a9511dade66bb4eb2cc95716e9975504edf4f510775bd16ead99a03c55b1510e9bc06e5228ef02cb45d910bc58cd56e2c1879191c6d0c67dfcdbb389c05944e43e926c20a2a93448f6ef423a63dd9652ebd08b206cdf96240e250f6df22f53203f7cdc92837ddfdb6de9ed3c1cb0a3003dab9c0165b2d756aa4b0b0b56554f1748d788c6f4710acb3178b341883733140c3aa803b72bcd75f3c0bb6feb16ec7a81c22699966d92fa79d33131fcd62603ca0676a52546c4d635cd89f76a7d57509c5d0dcfe052d9d4087770d35dd4bba0b7b034e94f1bbc8176b602256c3bef263d8c27c644b1743f5a730346ef4c7275cba084ba2fa93c425e4e8a200c87b2baebe9f74bb4b4ac8f3a120f61eb35a419c052d8f93144cbe3f36f1d46ff4243fd55701decd799dda358fe0fa58bf22da59e3af65e93f3b7303f1c225f6fd1e39b68ad9de826893024fd978f71dd2db4cb226a660926ff6206f8b04cba25e0da7532097cf1b0b777d71b8cc0b0cd729daea43fc489fa7dcadb43195c7a38fac32e02508149781e949c98ad1c8b79dc6c9343e75f8c7cfb1a11707b09084c52c50df24024c72a8f1862a820fce8cc693967302c9cc71bbba8ba1fcde886854c8e9644584c572a3657fed47dab18eeee34ba859ed808b0a646c2fb83c05b21db3c0fec91016cd34d84ebe97173aff395781c7ff7343e57429b73bc7c7d0fe0af857509500a5843b341155b92a8e7881764c1bbe40fc4fabc037dfce5ecc8eebf21a828f5a80f3f3fc2b0a81eb75cdc91243ec02f427de5486a7c6554f5f3e3cb4e12b60076416388ece6910bac1fdbe4e50b02618d62954194e773dc52874fc55191272feb3d96303b04615bde0fb89c064e97c8dd8752b003af16dc92e92dfd2054d4eaead81d6e01eb085acc30b947b8afdcdd32de1063034f0258d66ee4e87c86eee08ccc2788aa6b557b044cc6449a5c8b7a9416d3f88d5fd7125b2335e430cd36eb445ed5c16aaf381eb3a2ee5d00826179e978ebb3f39bcaaee1ba6d22ca4cd20ff38786f4e50e374aefb5a84eaf5dc6b5ca1ff3d979f05d57081fb4172a4a1900818b81fdcbfbd2b08d74a86136d457b709b0f8571afb75d19a373267c64c3f4ba768a4352255a6cb21e3d86a425f32c3b7de39a9a30b8b6f3ff9f8a81baf2cf60e4a05b37ae7dd11b805fe0018af6c47a49d839685f2781f00dba7cd66209f60483b1218d9dba88654aa39c3269c25fd6c7d0133530f4f8f266484c49917326f762ff9fab2e6b9174ed91f0b77097e3b3696e848f12b567a0436214b4f9d908819b90b81b8c919eb098dfbc90d4089a431a65387a61d8c302e808f6b9579db6128c5531eddd7085b99a9b937927afbb315baca204ca0720f78ca1b5e4594be67b2409cd78334b647c3fa3fcee0571517fb530282b5b9ef80918cf08ecef5283008bbe7f5c47a4ef587936cd3f1dd9607b1fb0031f3c8bee7f70c9da8d753ffd60278dbf48bdc24e3422187358128382b65cfc73b56bc6c154a3193a05cb7d0e19edba468d5079095405f76faed719d0d0049503226ac663825a7ad255d7c1556a3ff457cb5d521a2e964c5dabbc043cd14ae81b5324645db5bf30c1dd8933d22ad271e97690d683113ead0febd9b8673ecbcce511d9fe33dd7f791db1ab1208bbc67fad897ac36c4717b6e4001117989d5ac3a217550089821a9bf694ae3fa2ce289d85aa17629f63dc2d953be4975e573d8987a3bf127ab45dc3659691db36e0ebaa8a172c9c1e0a9cf0497436a74b2000b4f2f1b4c9d6c05d33c9694424867a23a8e5a833772b39eb5537ed1a7fae4520bdb92a85f610261bd63ab5d097f75143da521b064c08d05a39c4074c69ad6f8e48731975514b98cf3b0a8925e97a084eaecb0e74a8e9ee86925331ef544408c5d0bcfe7c274365f4205a3f50aa92470fe8500ce3e8cca7ec3b9cb874c4d86997ce02e8176e833445ce4338c4e692ac9446888bcedcd3a8beb1c5d57abc50f987dbff91987bf866b1be5e033c46165dfbef4895065893789c425bbd2c13a35b4b24017d213a195e546110356f7ef81ddda8400dbf1402fb16209143891b1aa0164cddb0c12480d0f21b733ba26c1e27f6309cd7798e72f7e034acea76dc4a99df7123a07a057d423956f8913b193bfe3cd60fffd2678b7c14d7e5b54cd67d8b438f75e090662bb58e11b00d3b05a3ead869c6a113ad3b986c9f0b9bd4528eff32634da91ea1b00d64f8398ce4e162de344f98cf588bc6408fccc1c37b847cad235e5347ac449970146309edd0bc2cfcdf50b2845456062b37712904d8be8ce0279063041362a2cbb15c528652efc2bdccf3631d5419f11220fbc5fabc15ed1b11db3c8e14e5bf1b9781cd884a996bf850892528bcc0ce827fedb40d983f589eb452e73b17f9d7f354b6ad5665085533c91efe4ed606f63498dde3a06f1da601a1042b1d1c608a76ea7f78917b5f8de783ff131340550fc838075190bc037d944aa9ff619993d2527e123e4179bb2c3827e6e4acc7f17a84e27eb73360cb119cd652b518f94c38d9129db7e52c2f9468ff0486ec0380cedb9378e6d934e0c99ae52e2ef9fc6489e50ba170528c958dbaf0352cc2f7cef08352a3adcb4367d455e52bd83f349e8759826f24c3dc0ed6ac7f8404bb0af5da140de87f74c4c859f218c305eacaa78f8c9fdd14ede23083ea294659d942586eae0905370ceda9a9cb4d1666a0dbbd8c0ad79bf4a735432a5eff1b5d5a7610eb7f4cc624d9f843cd0263456b18ab714f10593c935d5bbedc6489a8d8a0339b4bafff0f49d9440359dc28dd8612de0948ffb847ed91154c4dcd848a32d58077774c3aad2ecf3c222d83421f91356a1cbc441dff3e141e0bc90f404340ea881e4ea123993cdfee22eae9cb3b6ffbcee9097bea444cf0b85a7080597aed33c68a84f7ad691f6484a0344bc7e745381356b4bfa537e2da0852d8508cd687cb8f094ec884ea408ac5e47ce0cd2926027244b01176e9fa1812481a014b713e109fcc9573682c7250ac0d8fabc8dd55ce5ef4326b39a87c8c32cd837b833a1aa36268a931f809ab1a2113dac0595bc99c0e1b01e43ab5e7d1de72497d6b91d36cfd491fbcaf752c18083ab16a907bd7dab9eb5d13d738c0da34cdd8bffb1d4c98414951b0991986d35829d2053279db0a74ba87ac748040df2e82777305f7e42fe148b8daae9ce1bfca53bb8a289e5acb4d5a67837efc692864edccd344ef759f5c3aaba6e0a13d33ba55151760719289892a4fb66f82eb40fca05bed1c86af5ab1efd66ad409c27964cfe8ac6f26e16db50d26cbf5555180c4f4922f3934b25a4499029dab44c1c2e7703b6ddc075c05c8bd823c08fd7619458aa7041e350f4937636ad5bf3699759978bb98d61465c19ce99ecc1cc37a3f239ece8f8442eef66aa9ab107beb59f2edc414106fe9c7f3dededc1157725dd4453b85a6c8ec499a44b3bc2cfa1ff43ba71e794877d366bd8d7821671157e3774a179885883f6fa07c0558637d60c51dbd8310e1b3dd0d1c86a5f38574eab3d172e591a8476e2f5d29b0652ddc51a82676a0a9fe5fdcb38c85b2aa6db68920d5ce91458c0f6e85d4833f9628b9728d3c7212dcb0a1a098b7c668d6cf21f0ce0cb0798d7892c1b96f26422fac573a7de1f4b843e13ae19b7299962d7c33cee8a12ba8e50c57328f787ef1cdca8f2939e06ece8ee421e46d750582149f0d9e2eebfbcea928ab4ccc35216d78ea8e997cac95b63df1a395152655414ddccb5ccadff7bfba36944705f2b1c8d984613c2baca1ec42c9549e9da30171849caf6a2e4ebb56378e2896a4e90cb6e2fec04ea05e31c871011ef44cb50b3be928e7c2405036243a6f4c265090c44d9b22c3586b9fc84b776f98aad6144a36a8525f971cb19859a7e5538575429fc0b49ccd6b2473db23469f5ea61c320c2929f572badf415f28b1cd70b45b00dcc2c224eb3699ae1c3d88837a0151eede1610e24e8c315a74d848957ba035fbdbc7ae7df0858fbd68cb3fd5b8a0c7cb89cbd7823a805875590711f86206ea6b2d6f7d0f3bae0b5bdedf3a24dd0fe673e92abf97e877d57f6cd0083926a581fe24d67cc63ec5bf76103a9d2bc98cc5754d47539e26054b74c0a0d837332be99c3eec2ba889bf407815c992ef1d8f2965c76733173a3d68a047fe0d3b31b1718259ffd52613a87f6d9cb901b3e2e88cbedb0c952b6c857e643315c735d178dc6a20f596e84325129f116df2d285fa72600ff00c8f44b775cad186d8b7fc1dce5f0ad9576acae3a85ffe6fcc5424e908030f931b4ca44c1d4cb6989cf8e8a818cade7ec9590f9714d15b1a4884d70c5251e14413d4a1cedff9f71f7e056bdcef47218490cdd19928a691f0decfb1cc7854c56173a863a6b88920942d4b73259ea0c73f8fa4e0571de0a419bfd86945124753379d9826b8bcab6cc183da2c3b895ec584be9adac15e011ed6cb9a0e736b02f8d432cbd89a99d067721191b80c2a003545bb25f81432d66569e3d0e6cfc279c4a978b989bf610c2fafc71257d64b5ce2ad5632cc16de62a7be79c5c9091ae43238c75d97ded29521431d5e2ca63bc480f29205eca539a58459063648015b213a84005553c73a9ed94485115daabefbe456e840e9bc7dd62d4f0bd49fc63d0b8ed3f2e34e2948c1e8261cc755d90a9e80c305d8f9d1475d0a1e2bbb1d44cf004bdd754268bd697ad54f10e1cdf088155c55b97578f591a734fd6a262f2436c7463a32765aaa74da9854d6debd44abd41430c79187a9d4c7150dd3d1d65450adff282c2c56577d19950988a789b864017e9d0d949116fe7a7dd0529eee318c0e2daec9aa89613ce9791c680ff8b7a34ba4e20d603f01f81c484f4030e1225b0264281e05b63894bce76a278c4d7ab92c1f304599b8775fc0c9be0a8eca72ae14280d539e9cce22aad667320b27b5c37b74381bb6703a3f55d6192f7f436a288a28b1e63502a0e6d461a7862079ec64af8bb50c44aa23878d6539db38e40d88240dc6aec75119357e22c09117e9cb828bd90898559635a5a92ea3e6fc2342200aded2de23a047b9d1e0c7da67c015b26cf772df6527485c27a1031820fc771fc4d6ba983e090ba1c0b84c1db6d8f46087f70d0c1e41c02c45e8a38fcc2943ada8b096a4aa8ee00512469aef426055207983898aaa6874a15558aef318d7b82194001c0ea80f43b924483bbf60fd7841e467d9a2632298dee2085bbb95af00593386ea94f8b8c98351708eea0d52bd83e197a1e6c5ac15699b39f8463ad5c2846594563e444bd5d60b2d46274054e0f04ded0ec9645faa84f7b072a948dfdb26f6937c5fe174bc85dfe833592483dd173b4bb3f8613c1b8f5f4e6565043612ee18b338d4709f3d528e43f4ba65cd0bf2ef4f2fecae6d88df4bd8de9ca0e76dcba71b71cfdfd7f8296825d6696d214b95eab0ca162eb0913516e249b1a83874e7d52532ff1a3180463cb94d8efb41262ba49c795ae659a8faa4592a4499dc55dbe18f446f7bcee152597d27727f23f697a3deb4ef0b701bf01f3a249fbe3b8f8714893dc217235531b2aa4aa73c520daf3ec07486346bff51ebf61a8b61e80e8b72b5f35f438abc3b1698913c5e7d1f0ccd5f1a1dbc2a3c8f000a6bf039927dcdf5586ed9d217a6392805eebe6237202abe30b424e6a985f429b851c44dca16740133cd175b1f5da5dfe008a05fac833fcb63d6a5008ed3d6d53f32032eb76f85b21c5f5f6596e9ae3b69f5b2930a1c14771227551f5d9cc748ceaaae703bdf8cfdb3fe7316e001cc5e0bde335546aa567504a23bb4710d47f446243c5bb5251a78330cd53ff64df170909156ef94f327ab24d70726b1ba291e2a1dd78c61a95e529e32bb7be88ec7bef36c9a4193f57f7a87bc0f8b9b17b63263d1628595436a851163065e1dc8cb625810a8229d22d1d1f0804f50f4134c764585d2a0def12520a1525cb7a8eac34c05cc705170980a6c69eaf08e9a2789ac7dcd673dbea677b36ddfee9634011d7a0597a335fba7fb19c9e961bedd88f9e96f7425b3ff6a31df24fe168561538959d1e7e8a33ea0cf42aa6d713b0d1c7b3f4e969bc3fee47561766fc504c72ad80ea8688fecdc4be7f6317bb2265a4d1edaf0e961a87317860fd5685901bc45770be458bc323f6aa689742e131ecc0061d25703738d1af8dd6a2560c702718f72ca83f6b6da134274d0d95b26f144f7e83ebf761ddf50b7588196e88a77ff9dc45437c739a496fa0fd9169c55154a8314a1a33c585ad75d65660802c8b0c36603b9b487d7241650de56471984f092a551d367a83be043247b350ea90893d065aa52a46b5f69136304820a062cce658b64cdf0c8c8b62dc9095c5994712557c215707523a54b325e05aab64ce7c0d21dc448fcb056bff7f673b7f49dd95e280fbedfb9cae65704d3e4b48d03bf7632bfb1e9131785e1e7c9ff310b85cc54701a7ef06b36a590e703b01752d5d0b5396984323954e1ed8c9efe73e36c05081f43b79cabc210b3f8411d296f5f30e0a2590b8b0e848ef34fe81adaa17908c5f9c238d786d980cd872dff3a2c5260d2b96b5960600f6cc244847e8f62b86f9999099d1a6583eeaf177be4100d9123398e591124ab5b0f6aaf9a7779b96484bf19bd6cc475f5d10b3f475c02c466a966a1c064a0b629c99465844876c8acfa6b29f6f60ac6d4f9cd0ee8b3b0b61850460edf83b846f7345af9f404f9601ad61819094a448e7cb3c3934d40ca9befa35655565888ee24cd836bcf0b5f817a774645e6299a80c7316a2517b4045eabb51ac35fab5fffcda76ed1aa79b4fb49ce33be8dc351ae734833cca8525786b422dd4d2cec59b9ada29b5933072ea7e56b595a2b364ca8c7cc0df3082f52d6619235e1339b451ce6ebfe86f72010af2fde32606ae100525ac6e3b6c7f987d8a34a02ec32826f09d91fd02599e561feaac1c348e65ae520a77ce03d8ff33980492115e15d44571e53dbd186c219bd2c0503c471e618a9603972552c3e323f083c2b36520ee830f83febc66d41cba678238f1e3fb9f5b73639bdba20a8e128c8de28da6b3daaae0bffc6a7a5da6259cdac66ebf2a4ce3c5f0e591a1796dc1473266c6c9439095bbdf33b4c2ec6ff386216b6b1531e0f2f2c66fc41de049188a8de5ea8dac9fb214fa41b2943780db444e1c38700a7b43c6543f444fc97ae7105e0301b32f8a9d0672bbe066183d730ca7b6dce15ca875f7cf1f345d01c9d9b10a79f1edf028ebe30251c1d1fbd2eef24ee2971baa75bb585c0df5cf3bb3b87f8fd2682d160dacbdf3efbd1719bce199e539be071ea7a31316b9cf4dddd717a17834150979e5a641aec901fc49833d7ac5211a181cd50145f8b555cc01b27dc5b8d7cf272d6a20249523fc1e06242be9dac35efef082d7217b5fa54808626e1d3b8b97e3506c01b9daab3ea8686acec6d0617a276249e58bfa510fed39f1e748d1e83cbf020c6f01dd7a8316d3c9ab264baae4b78407ad0ef3b4d81fb0d921352478d17718212b046628a95b9d35cb81abe605bc76d2d1e3f7adac5962ae5eb1ab44fa7787cb2504c865c1855392d9bb7b35fa004e4e886a02abb18b4cf01d7f311b0d3213d01bfc8ccc4880ab661f50b0950fca1c0dd9cb8d2fc27973b6774e6c7a8f2c117fb1924ae2450a90000befd9eded5825af6fec44f3e415cae58695ed9f187c7308be52aafcef9b96de0b08c78167f3c4beb441497c7f8fd5c1f72070901a699e26a71b46a0a5b2f22951d19727ce56303fa12773856405bdc756b57f190747d033e18d97e9e0cd3677e0668f77cc8b3f67c43e84459c74ae38e900288c7e2eae2b03a7432038659aed6dd61a2912e94a9f0b08ad7b360052be679153ed3e0219d7af747e9d72d4d4f1c5a869232e74dc0d9b4997dba3a6d3c5eca2698e99e0243eee69faa703fed45f1e6938e363573456d72cfc4782d838fdabc6a73dae338e416778e7d17dbea9d61a5ac483803c2f12de68769d4ddc136cec15c97854c4c7379fd0dca8a748af4a065dd88fa421ce35f04c91d4ee04a651ea9dbfabde7970190ac6c50b843909fa46fbe0c0673daf2de7247e8af20c756c55036f6fc8f62f8334838ba290ed021f8a6055a7164567cc8b9b6aed18da6d6085e9e55a4c7a9c654779a91de80b5186ffec8f663e9a42bea1ca80a47ac6361e166c860b481b6779ec29a08cc7f99671df63d8c65f2c38fb51a9fff86410d25c31ad2a5697965631ca449b7f5707701fd4126f23c8929d0bb4cf7f0ddb00c18dc4567f22f402b1565a1c8b99b527fff544c244efc8c08f9e36bf86b6c61c65118c70b7a12ffa8514b3fb2eef3edd59d226f3242308ae61b59bdd858d36d8d18a71fb103f908e4b6b65f55692c86d91afbb0747d3cfdef576409d86b888464bdbe3524305f8def6706222ccb7d63cdc234dd88ebcdf9bc6f4cbbbc488b60f44706c89942754e7f6b4ef68b68048ba28e2bce1befaef5b732e0e44ddade8efb0a44bed4e1dcfc9a99ccf8dbad358086b309ef8345b7229e9f7600f60d79d1172a759327aaa15e32f18238c0dc59062267d17da837251d8942892a2b045ef3429a986ce4527942b8823f6a258bca389f0723621cf0447cc4d30306beca7ab6089d9e29d687c36f0800b434da309989821bcc14f2abf63969d57f74ee57680e9b1f285bdbdcfa8da2d9f700e5d5303f9c7749d8c9cf075a390e4825fcbec7e8d9b12324c8e072ae593242c5da3836b8bd3aad76c4abd4dcb85cc7c4396323fb4b305c8b00792b6284907d0f63bf99e1750ff82d67318f23222de8eff713a8cca205e0a0299696b40d0fd5420d72fdfb5674207a4f5e7f08e0ce822505867019a608a870f88487aca4ebbf73cdb575407941e33178b31a3d46df6f6f455680675254f4399c5acc05c1edccc56223abff81f8b60e9ddf5947ee4cb375574e3f41c9c7c90c4d7534e82560245b59a3815f8466840a966afd6d4090f04831a6ed168b72092dc23ed8ae8313133412c27e086a1186a6daf5e760a665827c3e441be808672dd9206d4e6fc9c662603d266045a3d2c2178a1f87c4d7b94d3287be3d51899bdf5300ee1c3985eb2de398dac7f870ba0e2aa96bdebe8b03b779b0d46f5702743ea0422e94e6b445934262066aeb0b7b1ce823509f89136bc6e139b0ff6f95a9a5b28e939f2e2625d6e4caeeb88c20f7519b9c634cc8c389ae6e5617307114e39263695eb620a3c513173ad5c9c32c6befd33bc82122676cb9f07c8429e1d0fa76e370903f91bf543bdb2c1943bb73d9a21be68dcf898c13c0483e7810f16d7683794e6946dae8152daf3577b22b45b4561c9e4bbb89e94a4ab0789c508cb04215394326b7d62cd61d09f3c84afb216b4dfa7b4ac77f6ac76073312c2a19e9dc249aff8cc34b7d0ded362f2574c92d020a47d1028d89e0890e50fc1c6bdd76daa6c400f4d75e201887509476f304c31b5ead2887a465b2bbe852679b3adf11c52937c06fc82fe1a3c63bf8e6a9f3f5141a865340cc315636e4adb7ae9d5d87654dab0e2bbf3b61c57f689ddf6617667a64729c674a5b2aea2e3eb1e907d02f4f3cab22224e7b369e108a18ac29ce3ee5c35514fcf1b37443c12ac361b84053c701d0bd46be17c32c133cfaee5ebd821e77012fb85cdf6b13df3bfb6fa4ea1d74719725cee400005357ad23718a541a0cf902d5571b2980692fb3bd1fd24bdf098ce1158c104e9fc85841582091cfd1784088421ae22052e5cb8028b9c679a2c98a5fe7ba1282e43613bb5513f358006ca5b3f8698cfc9f61fd96de75b2f6de9d3b5bfa0c5d6ce37bb971e7c96a3e9a9e39ed084a48c000308dca090b722266f04415495bf01678aeeb8f1256f9c2bc1713b420ffe2d8cd41e4d62a934ce003512b307c23738340a67d884997f3454ee1c5f9b97d5c97a43c0b41dd676a384a8ce1cec8a7e5ba81b193785a5d3c6b725de6896c7eccfe4b6f8e0fca5937c28921015d3368441b3df001413943c867e7315a7f73ac4442a8eec92732a8e338de75c1f0658ab2919c1dbe736757ec0c0117e80ef6b7cd7f103815cef1524c47a455aeb7326c13f3f8347a0bd80920b10a48a979f3b0357aeb9e877bb9b159e83f475fc1cce17fb0ac27f1e9a6902daaf0eb413a3ec401e2f45a798df4eda3ad9a2b431c9c9430b99f8e1c24b5b78567cea8acb1789491d40fc6f25ca33a5fb243fa221f4a650dcadb761169d6bd0419b9ee4e871943e84f609c3b5f17c1f877d9b70e53a7ff1a31669e73b21c0a1fd8de5368b15ad910a81edaf743ef68495feba0df84b523ba77b632f8702ba86dd207a7cc430a76f22099a31df100104fbd3f201fc21214be0474a9d8ac42e4a6d1d27b49161793a7a18100b7053ba21062e528228298a0783c88a4c0b0f6b93303e75c4af605b004c0f0ee278d866fd2fc28a8edd860cc0c8be957a7b9e13b6d92fae89d45ecc94beef5d19f0945a657f2ad82328b829699328ff66c184d45da84dc0be1e42a7a4130ddc175a1f9cd592a573047975425c7e80fb0ac02bc7fec6a2fb04b4fb2f3d6e574bd613c82a50bb9404a50b96dc820a6384aacfcba7e664accc944335e5e8fa09929dee307db63fd16da945153a9427a690fc66bb7b84fe83f948320ab3a7104661eeb071206ecc31ee494330c41f6a2b6fd1e1edda67a3ab379add7177e4b41fafd6badc53230579c27f5aa80208220b6d7e8cd6b9cbd3ab6eb1a289e72e481669f983a6c7144a1259eea418b521280a299e39f2cf8464a1172ee5c6f471590992574b57cc07ab58bafc866ca21ddd231244a72d9218ee5de68994c81fdebc6dd3f62c088803f54564f61a8cff7e574b474a4da03b394acb89f1a03a97ad160e9bfd10c9e26e4faa7ee9c2d1f63d21d69e1a1ea8f5f2ea02f4c13399514fd4be091897d36821b5ac9865c1a1b8c7839690339ee521d568979aaba5783ede9294f05c1be3e2f42923f3b5fb2b63a4480a086ff7e7bc8d3681d2d431bdb88094133afc27caeef4be06f874052768592096d30b4588f8d6a6f2f61c369b9180ee8f5591b3491c03f60bc4ec7734c43ba0cd727c28579bf189f99aa58ba0816927b2b6d7beb22c38dba9e5ef8238f7d0339fd3b8783c5dc974f7e44a8e6266ea8d14d5dc75ccb4d37ce3cc312d35230b53a6e9bbe5891dfac7972a13f50b2d91f539a2722576d86b98419c9df68dfe6aaf255eaefd07193f9a2096d457f3bfd9c728f9e1783bfc3de37535befbe4e4104f5c2fff65a6b477f791dc8f7fe773d49f5197de8fd93a1c8910d05318cfa3c278a341696cb707b97dfa5454ff98dca7a379d16e9dfaf042938cef24c3e8c24d730b8d2d1326c416823136212d4144a66471278270a02f883109fed1802604c4118c10d7d3412eef17cd47b727036838be68811636e08091ea11a9402fc5868edbdd52b8187eefea7fdc480ecc4a9da2e1ad4d541247acc3ee1cb80c59524ea49d3c79b99d44847d882f6a2282a2088d3e22aa4ca3d333bbe1371152d368f62deeaa73efa65267404c1e0f359189dc2929c4d1ee06c3e191f0f8f21ab48d65b4cca3eca5e464f42411f3b76deec91024a80b949202d5823d93ef1e7d0ff518a77b0d668a8d194d54d2fab2d4551ac4d9c61edca8bd5e19e4aaf4e2bee1e68a8065e750537345f5bb5564d9be3adb7c7f380534bf69aa524e8dec5d6da203c72c78204f1a8614ae4e41349886503c0e0b493c649776f475752d7458271e5fedeeb42b28ac82252121f66746ca6cf1bb4b927ee532b014ec3cc7ea70f586852008b6044b3236ecce7606dfa7a45a87dcbe215b3fdae68038629eb67ebaf4dcd0e14306bd706a8615197f9e48c9c70d96060544d787023b0b47e2d70f778f1812eef4b254b5d906f8bfce5bdfb75bc706261fa10049cebbca56bc36d4b1e198e0c5b6f76a930a48b7aca20bb20446e70ffd55db62a40eb7526c84a670eb857abfb51711f44877b10196d53f228561eaed2ef82a00e74ed97c3af0f0a44909f8da995f8c185649f4f11453b11283b4f3891452c0c19203164c121e6e86623df35c255e6499e96e747d1315e840a9c8efc01ce3de5826b19540256526263ba0570fb0348b1291eb02683b669867bfda56ba9b46bb4c973d6eeeeab32c974a25bed457fc3363967ce3bd87ed4af974f977f24b11b69640e4c8e00b17ce61a2d571772ad4b032c00bd977930af1bc987d1bd4107845c40d562d5e8969981afa971b56a78745f5391bb10422c8856ec11756d6181eaff436adb632fe16556a89e0198d2093dc7564b700caf6325227ca46c32613a40c3d6da0d5da95068160e1ff9de159600617dd3f461fab4b58c73192031b332b64036ce01b7a7f4f2c816a64068da2c11ef0b1fc191e8e7dd34dae7daef03efd97fde41026203ff5b19462f0e2184ea99a09a100806ed4aaa44774e907e4269e24fa24dd7e3aba04c6c7d0bd23f24845bb60155680099d82cd9fd8e8f1381af06ea20e90358d098d84808222486b705539eafb8ad6a186c2875c8c8ffc2919e8b64b32bfe0494cc1017507dedf6a8ed3e7de6f03c2626095507486b6dcb76e96ca757e66de632c52c82ec9a7f3571502263d1bfae55d6d64d948c8d273c41bb237faf7083d5efcc2a1ded7074857e792de438c0d812e331754998c7cabe66151d67168736545d191ca7b023e185f18beb700ae4e0ac0645f4ac5b622d412046bbdcbb5b7a32677ffc08e7ecd31a3549f2cdcb59b97b146c65efa65103b5c0b8753440961fdaeffb518c26c875e8ad66c406b9166f9f2d74e103e0a77c5ba234275672144a4ee0a2be1f4cf8a94d7f9f6689543ef18b12765b97f1c76d02dbd5c9bfd9fef239c64536e2d01681bc1dca1e5055e93e26098c42a71f9ce08b483cbd8a81f86824e80862c6e7f826087a9445ce602b402decab82354f1cb9b4de806a5f70b43a5018b44862376cde8d6596cbedc50dd056e0356e2c19d1282458d2b0e264e58b86f19fe9166c3bb97508f3ce7c819bf195b6f4f3cffcf201545f96881a7c6ba51831de8e62045f08466fb74e360abbcbb6a1e795a1ed0665dee1078aee4d374af6d2f639b91f0ed643354201b0f3197d58d6134fdd193594564c31aa545400c2dd4b484555a6c4e0d118da65611e70550f878eb2847b9806fbd80326d57676a2e51985c999048628712949f4c39965cd262da3cfefd8345ed605c27bececa44e1db8ae12d4aabfa4b18204efed3e2d0f83f2f0a92312188085ce3019db98ba2d4df72d058adb0e1d152798a71b5d941b5afcef04b80297258f4e3f773fff9664b0f136876633811e1256d5ef884f4c971859e7027df546beb003d2833c6b2a1f23ad80b633cd31e2031d3d3306a0cb67fe0b05b3ea02421c4deef96a6f911034d014c0028c3cd35e4332fbd29381d6526514b2a96a8a6ef3b967d23b16fb8d362884955a6d56a99d0c472b65eebf45888aeb03ff1d004fd99b9524a6390079d2b11fc88eac83bc48be8e64ad06f5c2e9070c7cd02b39101c2d3cf07848f5b8bae4085adb4620e703f810c85504f67d3bbdd414b10188bee457b7f13b479f9c066f27d2dd11dccccd0ad430ca7c2bf2bf52dd8c405a6e2fcb7024eec63699a0ff0192ff376b9afaca53cfdb5afbb9f62110447942a554e8ff4a844d9c98bda0286a7d54c86bcd62d641ef07ba9b2c158e9fe02d50925d46c03dcd12371e4eefa13b75e0981d59ee59dafff018bba288214140002a8a1b5c935d627233b1e72a22d80c892fe23fc2f91a8f4f104a0b970c0ff68ef0b5a6841fd31b72375d767e9805f27fd2419342b76b5b73c497b5d669a0dff536107fd5cf723e13a0897df95bc8db13ab3b2c854afb0ed8fd73ff31ec719c8bea97bec0b672f5115e18dd5fbc23015f0313c20e4b1a8981cdc39968ecd499d6c8e4dfa114dc081bab0ee0bcd56bda0030a1cc4256080120b0a8abe2b7be1566116795d0fdccfcf1226275cc9c1aa494c65901934aac13fce6e8b16c4c6faedce34897de5a17fe2af702268e2a8407db5801078be52ec7cf9e4e773fb89acfaaf5ab4afefbf297293acecd4a498d55e12a8830414ff45a95c38478c2d20d40c3ac1ee7ed3e80f72c85a6701a57673242d34692dcbae708a8eb057cb326b8adde7a7dfe867e873027d2ba226ff0878d5224f61dac26ae13d93a25adb0bdceaff24c308914d1c4975d0439ebc4998e0dcd9c8fb91c44e7cce21f40e8409e0ccdf3a85bde6afcf01358fa84990892a2dff5b9c3911493c288c7f436b575a1112ac56dbd0a186d0a9f4f51ece9b7996ff16b42e45f843cbce57cb4aa4634cc827a62337482b593f868556eb4031bf149849666a8e5809a0a7885ce8d5ffc61ff347a25471d9fb68c0805bb3de0ad0a6edac5e73011096c65192b55784158a27a225a6aa17253406d360f7aa5a90b93dadcfc9fac82f2a1caf9fc30b147de1fd53d12ac9a0ed221a5edea2407c8648cf08d792ec23ae11026068569da796fb7cd72b8be33c687f072b4c0364cd973d2d591c67c7217fffc1d5f1187bc7a8fd59c8448a7244f0a4660032f8b3fa3adc45d7390e57cb5f3e2db52257ee7085d28900a3bfd12cc930d17948b107f877772670d8e5208e86505e6110bc7dd4166b765eb89c7c86a44ff1a1f0419e1e395f24076cdc5c0aed681101df817de8a894e21ad03e96a5b0e3c45ad027054543be60d7a0a6744fa5ac6d1a34b28ce7da6274204569bfcab30ea453a2f99d7678668b9dbff385dd0b386bb7b163dda7afd39bd6b3838b4fa24eb5988b88be016737c2d6f4b19a7643c4f5cf7f4f7008c219c71ca590eb6e85229c2ba7ed9ef1dccaaa365e9badabd0ca7b1ac07c3a187000fbe39a18901d2368d0250035d9d8169e4b823329c619fd18dab5a7ab806452cf63a6dd155901e4645dcc3c463d41b9d62d902af4cf7dd621dea02588d73f184417a970c5e87583cf020919cd425f0c6c66a135e08de31b5268a5611dd22400aef517de0cb0e711ac0b22f9b770918e35e2cf754c904b2dc45f2b1bbbadefd36ddd17deb4b7be56f20ecc8c0ba120ee36168fd433d217fed578e5d9a84104c5aea37a513ca66d3b3b50a70ba285d92a7f1ee894210b680203a9912bb3c70ffbdfca26300c755776698f42413b089cbb220070b854cf18787c7094ca81526468a441e2560f6c2c8c212c075b51aad14821070e641d9dee88403e7c5845c578c322bbc7fde54301cab43318205090087ffecc901ec020fce86d083bb3a736e9333c630e050ba8ab8c6be5ba054d87b1f6676c34f8573aa589427438e8b896c2c44ab2a33cdf8c02fb618c0e1ba692a7fbfcf600b28d3419e8515717e97bf09214d9348ad81ba345f9ec32802cfb24371887cdf606c0f3254a65fbf6a41f7651f86c98c1989a525e724c17a323feef6c64b79c576c7475ddc6538ce3edfcd6ac82a9851458a51e9601c8786f31a3e781309148d2347e453ac3d0a01e388d9fde710bef74483318eaeee75b7a01476a75bba0c21ebfb71618b68bbda5ea6c76ababa79e985b0c5272f6c1e8b7cd64c4c7eafcaabd9d7fa80c356df1a24cdf6a364eac472ebe55719f11d23ecae7243491b0a130541e43d5855e0d308ba93968752385fb5549247bf3801f76f4d115dc7bbd2f2dd6bd5e3d4e68ed2f2926a4108136526da212bf9e51b2c73a9747e70df01e6113f46b2554dc310a4782107bc4596aa96ab59b4d9a0af0ad8c740d9373f1ad79b65c1a3b0e1b6c5dd18fa5449037c88462700274bc005e01f6c7b9209153c2ff6956c934bea65b53e299433e7a38ca9e09b0a9b50aaa96110a25fd1705bc3e9824f8e3870932512eed58a68965a0c0aa3099bddf6ebacc2f71061617f0f461bae952fe5e9eb5c9edd404653d59ea485cf46fafbf5b4a282ec069c90631b55ec4f8f383b5cdabf75ded7e4bc92752acfd2f2e40cdb72965e73560fa5316f6439e1791c89bebb810650f0f4598e56d1a3888c2e023a8c41e3c2e13a57b98b579259dfb012efa808f24033f5a45e26a07e3ebd2aedee300b525cf4a5f50042547c0ec15e396e056d77a50a7ad4e8bb4c45649ac4b1c098afe4d991623f747f9c01dc1c29752bccef5618c12b2c582bcb35beec39bfbdb2220e7cc86ede403e9d700fd8df15ff4ce823e829eaeb0e7398c32ffcff0f8bcdd2290e3b3304d459e67bcc51e3267b38b2403311fdf79f51ec41f73927ead9595c73e4ab779f3c3fa6a90ea8cfa3da4abc0d7b641deb52ddce8f4620282fb7346d9b8218a6aeabb05b0ec8e56f4e543d31a112fec804ed4909ee8b31f5af09c3d1f10e40b5a0bd74e44e0e86af4c80fbeab8bfa197e9913faa55201048b8fc82e45582c9ae311707657910eb2cb2fd1df9b5eda0842287a22678ef9c6d0b34258eb83cebdc693b718e2ad055ee8c27710a113d3df35c6f2d8e757cf0d6c2b987ccd1abc160ce53803813bc06e5b12a57472295b7fa9a9555989c909b68134244857513bbc93bb760b55efcde4e92b9f86eb361e4ca4a2fb4eb3504ac6ea17279821e8e945b2efd7340bcc24795df7164f2405eb753433de8ce1648df056afa629b80482e3b05c8125f0345b189fc1b7e7715faf735331dc51113f7b5392b738a50d6c45fd2077290cb58244e52e1a1126810e039cddc64815a4716bb6433bbf2fb784f0fb887964031cf851258adf8a317fcf52198ae73b59e5c5d70e30b421b7da96a79f5be177085d21d390f5ceb5ffd559a22c31257e6a03c0265c9304aa59a2da3599cd7c9c4b5e69416f93b310622d0f582908d5af725aa26a7e37aeaa90c1d110471ca32e4faf45c3fb2ab75fddb959954ac50e2dee875edb6790c68660a5c41d5a03926552b03867206ce3340426d95ce1126bd564e3391038ee6fbc1b6ab1ac9264c81033b267a232ecbba8d8b0de3655d22a5896bf3545ebe6f161979be66ed3a5d2ed3d497bb6bd3cb4bbf53ef1cc838d3897d37ab187e63a239e9190c6801de2534e6f48fdb49848927a47b90e0e3aa0dc639da1125d5d90fa7669bd8a4114b6738d9181df1faf4732ef79a85009782ff45fcd15b0496c4b02d88b4435a1bdec41e6313f900e490087235eb1ea2045a12ff9803d6709dbf97872c080751c1180bad87f87f72ecd72f74f3f04c60cca2fc615f8d2d5ccdebc423b942bf42682fc67ed295fb021085d5004eb85864c262abd7b664686f50623c93c4c1874132567e1eba40e630e27f6f581ddcad38c92d56a411ee075dcae35db80fa8a8d19c3ad702d2c0c802063931e5852d561f8e0080c047395289adf620b9791b52b6734d57250934ed326997f966ab2c4bb4d65ad7e88a2d0f483026a2929e6f61becb80bc89e1ddee6d2968ae28b9a8eb59c0508ba38a8bfbcd2267826bf90587bbdca090b7b041224693f6d0166b4c02834681b7bb1b58b8b146b005ca50b8231b07fea37a49ccb1da9ebfd6874cad262359b764097a4fa47f4981eb082ff3cf5e9e78dc17977a9e444b9f232107d07fbfe2ff2cc1a3e369c7e76a5ff0841dbff2ab1e69084a47474922049198389dcf591c0c8ff982e89479a40e4e918af9e92523a39d8cac4376298372c4429ce15604b48c2f222b071b4e16f85c9763c8b15425458ddaf940f02494bda77d0596ae076e5cceb149cddc84f7a5a95fc6cffd59f2a30b77f56917c5d93d3a911ff8552f4f4f7093304fb03d2d9e0c2d8ed5a5963614756c8c95e5ea0e29da8011c44d359571c22506558e746ef081a2c5dd30b751e01fea027df566fd5712468c4ca55599d521d538e1f3d1dd5095797306ee993fc4c3c784a34b73195fb0c0f615f1c4334016490ec2773aa8db9c0cd49e0bc60553296f919142799b3c2b2d2d2ce24891e0f643326b1dc71d7f44e794e61ae500445ec2fba5eea515fea20a8d1845424475e94c40a6c390c8dc05e9fc273d29d5398be4c52d741bee911bbe56f016776697d1012ba6bb4cf0f573c8f5510d31e7ad80aa02eccad95c07acbd11ac139a0007eba1daf0d88a008b614125a2df4083aae16c66e8da11da5b93680abbb59688b37902def63369a56c783b0cf64a6774235e8a71f243eb6a203fef08db2c53ca154867d83053f8254d9c3de11a511b643b0b60e0fc86b136000db158a0092f1bdb460c14619f13ce2ebaf20e67566ab19cfaf1e6c60646387e72bc58dcac7115ba86e25f586f722ded694465f18016021c8081b81322902bab4f3266883c09e606a9778c8b266cafca67f32a1155126b4b7e01b95e4cdd580eae64e23dbaa56d924267584b251daedf72c7a7464c710c88ed4b3ed6889ad3285fcf731a4bc033fbe4c45b9cf03ae396e5d5e6c82124864b6dc49557656946d324973f2048ef496c8028792b629cc7ee0d589f3d12dbe4e77076bc8135065e9a203f58e74a1e30d782995e7bfcffb052dd4ae26d1840fa109ab0166b4c6c52a7101179204aa3da238fa9dd64ae5c8072061df93573f9a24ed1282de21c81cf0baeab10387be4239527b5c16f2c3d94f06257839110d75b06d660b2d76e5ff3032d85fdfd9681b00b1a95abfa16393056cb4b2d94c19ecadec0667b87dc097be57c47039b0e509167278bd432236fe3e6d84ab3bb83b0c28b3caa761944a9c4bc172a029e5b110d4f29818be1ab2c3c1bd951beb6a1cb9ca6f4d7ada70a102ca502eadf6c61b6f3d7609f9da494cd29f489dadfd3e21b76d2dc56bfeb0db76dfded4dea92387275e4a5443ab5c78cddb50320fd999f81fb88b074b55f467495dd412c212d57ab77439e8e208f45b9d26e89ae09d0b91ebf1e994d7c0cafa6539a4379b02bab0131364b38e3f06bf49673cccec26a3a878eb919cc17ee125ef6a98856385fca6b19b7f403b86958ac1256a945f1547b175c76dd081e78d98f3be8f966e96b6a252ac5fcb4224f676b0e2b2a66a1423d00af3152ba500a16135a9739b89824ceec90de82270dc084a5ea041d07a0fe9787221ee64816943379a3f7373a4a97915fb6d2db242a7928607323f3b6639cf8a42e0367b7acd0a44b874f46c0836ff8456a0c923bed7e1cda3ca8fc74c4b6d755b0ddccb8cb0977d453e6ca64fd87fc48a081e79d28db8d8883e120847ecbbc6fcddcd6cb998a8c7d8d96b0fc201d17d507cb23f11f7ee0d05ae26ecd988c2a4ac850e6909a45edd086eb88e57f16effb585fe85f76b15c3308f796f3031973adbf2faee6312b880de7b5d9f723f2bf32e06a1960d68cce846308c4286833d305a6c7e02cb1fef824cfaca2980e30bce10a4ebca4ce525efc6fa7cce86ea89284243b2bb468b626f2ebadc7e25694498e1004490614c38ae03b1a29144974a67d1374e6dc05ec2a8e2306a67c5f0e469753d39854d903fc72ef66af489b485a49a9600464e0dce7d8251cddae59baa8570146a4bd1d37c921ee9643fa16ebf5eac1ac9179cdfef0cd532d325965b67258811117ab2fb1b9b91b6f1cba54b12ddff22f7bf3713dca424b0ea01e87d6c421fb000da18193108e76bbb82883532efffba3bdf6c993032b42bfa7e63f39de9b86f695baa047dd0278afe7e7aba54530ee934ee4b90544b1b346ce5585502c7838aa07e3202536fdc468c8b1ffb319b64290b94c64164aa850fe0afa513ffb42fa1561f08526ec571a6786ab30a463745ac45e811a5630e479dcdef169b423ebe62b59f78fc6817901864f6bd632fc057053f4e1d2b789e15f66f4505bf37e31adf9ecfe9c5566036aacad9209953ba3ba0232655a84f0da62b82969db6c872ec8d47d77c09729e6955b0f29a0a80dedbd3e393b6b750631443a79661f1a08ee3a3442bdec4c2175d5009eb20d7e5afafa8149fb6ea5f7c2cbcddc37e17bcb8af5c0da549fb64c12ee85f16670f517e9aa259219b67ace769ea7a00c3793af4bc42923bf2978aa5d8cc35d370fa55d07b1d14709628fdf6981396408fca1f2974b07629009c2fd04e400e2c9a84bc68cdc00456776c9bde1a816bc8ccd1d48c2915c7845f294239195f6d4467493ef0cb6106a29a1c519f43da4abbec66ea00851a02317473d7d8797badc0959493291dbd9e0e10c9c2efadd99367aa7e542cb8a65dfca24afbb1bcb922a8e7b2a99d35301bf73f34d5c70114bf353dbbc6fcf0f2d0e0c1c9a7b77fe270134a5be19a996f19afa8776a2699b3244c648a364b5c2b22989f0319fbe79d64a307d9ddda67592e7e7074bc38cf1bc1a5b439cfad8dce977a7c9fe4857696008cbbadc291012f2b0bb55c4bd233b014cc983f847cf29f0a671180efbb5a363ca96518b4c464e0162af875edef74943434c9d4743463bfd78c327a4dbe22e71c25f3670543642ea7d0770534b691eccd9ea75ada1f12c5990dddc5fdd8ef7beefcb275507bdab23584ce8bfaca1dd485695a29a75f3a7035febb5a913768ff1d2530071f2456abad554d1da39ece586000d81e1aa5899ffb63f52da6906c3a6e7d2bf54b8e2f44178d2ee3c9493e1087d210eb90777264dfd55042a2b0644aa6685d03e424e9b12903606a29faa3619e4e2975a7fa1c2acd6f2789db9c322d252bf2e70ebc74c14a633c8ce204355b1e02368d825b40a4a61fd64c5fd83adde404beb2185d1da4ee836031fc2d28ffc5ee05384796235aa0ac25c27868cb9df44fde0af06a00d526ea0cebaa41f6bc0c00b165b70ffa1a7ae31bab842f1ad783a6cdfb59b5f677be1e64bd26c70084fdd6c34cd2eba40244f24f41fd07aeabd3af28acef46b4a7b3fcd8d1e1b8194d3f67b94df8f58318f9a9bc3be6322fc68c24e47cb0054f24f3c9d75be92867a83aa518ef1fa7057211c4cdcb675efac8d9d7daf3d33d985ee29601406a0b4aea44963ef4b9c5aad5ad1e050f9fc731220f376702e533a698c95f81dbf64a44e52f846b179a875cc02197018c43d47d7ed18716951108e71798c278642325bb209e27178e143d2c5fc7e6f9e54663cba353ccff49ac3adbf3aa0eda74cec6a3e135f7d44bf507c1b10fdbafa208d047cf3057f72705574479fcbf19d9638dfdf2d70addce64e15b0b705a4d3053b41fea8c3183e9fa892b557d5f2bc0d2d21f60df7537ed92bd8c2f83941176fbd55834df63d10d42b14db9dc535383e92f9f8fa59860f2cea87224e3abd715ffb96bb91d78ab60c6ee8b52442e1be28dfc181c44dfbf6a37085e00822204829a11a871b59a611547a898fd9ae0e8e7e1e6ee5325f55712ea9ef0b665e7a309f83cb88bdd8023680a60c1122d414206d1be9b194275905dbea59adc4b5beeb0e129649aadccc0f40d05f78da1df457aaa76bc6279595646f1078ca1a9eee8649f1d0383209d8d545d823c2ac02111a76cd729a9c8f4f9af61bb1606dc6de4c6c84b69481904636cb4e0b6103b00f2f44081297fe173582e9ffca407a11f4926eedef7cdea57be30a9a659db9dd22033de4b1a7d94131e5f9b1868cbbf0678a116cd4b9fcf9d6333a42eceb10090df9f3f0fdd1c9f27e18c066d441a1c3ade2d6c1b16690cba2d5a05b95c5829daf07463dafa9f9c72aa1a2ec4ba66eedfd8d8a4af153273a6edd612cd0ff80dd39b8ac8cd09a5ad3dd0256853651fc962c51df410977ea06c4df7ebcb4368a02145d78b9de315c06d8a821f708eda0a05fd5b2b6d199ce3491afe298b5672db63882c3b1ee85374b48a57b234f07b932cdfca55ef66632df41cdac80b8b7a891feae533fce9b9f080da248018a884bad6128dc8e558f796e1be8dab7f65e5944a20d3489329ca5508d328d9d9d1affa60c2fe81e08bc006efac3733b6202be06e5475e713a647506086354e10f6c70a8b131e1675a55110172f35ff036db1407b930d6fd895fc37b734c55a3e5e8720ff8e116e21aec7744814b3cc8578537c34bce38d24291977750706e4af35ec65e522e85b7ab63a5e85f04684ecb4770f69acd788d04be24297731668ca052ba3719711609bed9768a98cda10a01139b0d4e97711478a7f4acdc50eee491267412f302ba4a19285736003934ebd72b21e48d1ca7688d5a06ffcc00c3bdcef96eedcce8c626355b1f1e524cf60fefc727917e6b58cf9ed39311e830384ad10ecd87e93058752bc284bed5d0e2e0c5d1a0ec3ee2f7f72d0ba404fdb88960d685f10e884b308ec5d93f52916fefe3b5871ba3d5a81462d389067f112460b21e5c86a80135c95e56a026b8e33c6deceffb0870f75c9d5f90a97c74a05fa7ffb28c0136f261415aebe06ddf99f0c2af4ce1b33605afa945a96b06b07bc6cd0bfac8e18768cfbfef1fa978304ea5f422ed68d676500d043174e3a8bb07849c604367649e4a97464fb8a3061b0177a7bee64ae523c028f5b6212455b248a41bae6aad936e966656e9acd13eb99165097a7ebb5baee4ba15169766fc3a5ab156ccb8b547e9d03f616a4ec0f6329d687f602cb67a33ce10a646468d0350d5379f4467ea0eab863db2a9a8acfdf96e0f6e452559a00848305b0e3a6c9cbbf6ae0263dbfe33e6d54e6e4df587a6c87d7b272515b09572e8a88ca061b7df1e5f56e20482991c0747a68804f422b33ca2630ebbcfacc6ca1a09c9e5a96c5ade0833b5ee4df857c314a9ec49b8fb2fc35b528bd4fe17a98d672a32cb3e0d20b8725d348c7e1f8792c2ca939c2ec44b8e6fcacf78b5a32e4534b31fb3fb9df43d64c2fe1dd0574ec7a4b0ea954ffea7b569def7df865fb69f8a28c13b5856e3a54792cd5ba32d19cecd62e034ceed9c54544a07c28725ad075af65f93c75a8462a30ae5aa609d1840856bb0f11a866d99785949218a2e5ec706ee1f8b173a71acfd97493d4a7406be04b3095e16a0838122d0cc8733eb6e785840af250453589d1082841dbb14650cc597da0cfe78a5d3db18134f0b4cedbc75467abc62960d01b2b8d3e9441ffa9361fe28ca9ec209021fd3f5e2bad4ed7d1d67ea711fa0e8256e65713af3290ddbe8588604fba14c69c06f6a8819dcb87bf1546470baa82accafc1977df6c0f25503023e53d4238608db2950574b9c8c2726d8f3a16236a2c78761fc4599d35768064e954de6ba25fc88f19460e390c0f3f1007a73e0831295d8ed48841d68ccd3f0657e9fdfe400260f80b4492782620ad512559141107a0ef1c14bfa67e432340a32e09430f0b71e2dcaac1d6c2677e8ab09249b8a1502848d50cd2ec90b5b5b6772897ca2186c7ae7abbe3b089e04fb0167b6f2cb3e02ced5d8594c7b120c432194532facf1149b46020ccf002f31b41a3dfcbc6bb0445d8dede0387895224d7412f7dc9446981b9312402f10a7e63e6103d75b3d79edc2e525d0d4a7565fdbd3a2dec339463dce2d43e5ef0f1f07286ddbcfbab12fe8b690e1738256ab945b7b1bc25490aaa5d4abc0e5e67ad452ca3d20fcb4f1ddc03796b727ddbe06c90f02cbc22029f84682409d405e0f3aa788b304f6f2a6f8d5e2a3bae8ea692544e1bca0260ef2ba9167536cc134c1fff58773082fdae7a6a83337a28b2f1cfdb36be216e0eea45a577b4a0b1bcad08052a7542f8331169ed9d523693ed32ebe99ea6eb53793ef328d2c152050d73b6543c641b437909ac0377f75ad095134c336623aae89729ba2a3e32018cb270c68d24e6021809db6aeee0189278151edcf9f158b40e2402e61fc02456ff6355afd8280cb2346228042e3ed34b1f8642d8d45d786f00552b6ccc8ac1aed3899e4a675da8e126245a6f4c871f67b9430319fa38c6fb895e1844e0f8399185f00bbe534d8ef64cc11069b447c016cd43948cd7ec962c8da04208823339479cc27900979c837433eb411d56100a74501710733be8868c77fd507fcd10e6d2ddd6a24f1080ce610ae07b49b2b3886e3a48c1ed7ef93db51fd59abab788137be959d530d349073bc1d22f76590146b625868e0636be2810fafdfd6065d92bec6eb4992485f8d4673ef1ed95f2ae33e89a326abbd3e8ef6ef2050bb5f629cef6886a96ccaf74cfb1e726664580d1636c513e8cd83eb83ca28414aa46150d385b415f17b698a378fc0c8fae9c2134fba3a4c50efd52d6128295ed0a1fdf927f0af7978a75673ee958bbc4f9c2f7bb9c26e05a8aec90393888e05e898e847e6adc067ab76f696e426c34c72f3cba0afcb49da45f4a195eb27f5271a74bb98e4dc4d19cd1bfbd05f5bc7bdb864bc061a2d2ed9934e134e755d3b8cc17d5fb17549f9332c6594e2d770210722cebe65a040c59cacb1920b18f5f91f82a0addb43ef6721c5556d1931f8a63cfcfbcdbd0a69805f91736f1d01e10d5643ed9e61cd4794caec14c2fef8fe6eb460ecff965d162e132bace38aebb451a54b1e3c3128f370432197e14369f694bf56f5a04e43aba98c627f7d85398a4d2900e10745f54dc7cdbd0e5db9762630b06a6addbc0089b908098e1dd7036d56be62f9b1fa1e4112eed5cb28e0bc5b6804484cefe0a0c3e55ffdd6350031ca2a92be3feb030cd7a5128cce4ca85dfaf6f7a951b53dcbd8d61ad050ec9724d3cded3b25f8800e41308e4f853f74accc82266981975d711c646d722cdf986d85d6dbc8e8916e77c0fd8219c90c512064e792ccc9eee5a69ffaebec1a837c86afc3d285ed9dbc5c7f9ff0af7a79079493f9f232e8eee2245a7455e7e6edfbe64763c3276fe5010ed5d06947a1d3c7f8d59144b6ed4db749b2fc92828b33d273a1e00cc1d999ee2be485676f6ea814f37536e5a3dbbf69446aba119c26c5a58bb343a8345265c55d07c9d78ead5b15724af86d9e933f55cc88e9cc3d85dd0934cbea191dbd18f21e5760223366472c71332387b843178f8a4e5aa05be7025f976dd477261ae368fdbe8cc8290769d5011d59e3f31b32616766c4c3d66e820a3157acaa5bbc8ecbf6810a28640fff0db6229105659389e2b82aee8d3441dd2d50796b2766d3e7b717bc3491d73b06df34180311261bf37c456b6887135c8da2123c61a46b836980bb1e306d72d5b171fe8bb9b6460d0e867f4b92289e833b6092ef273e0ec9292f9731f7819c0144d4ae6fe5a19f3ab00da2777266f03bb6154401445a1ad682e95be137a6ea13a987da1a6108438d83796cc92c14430569c288faf2b46b4b2e3fbcd33a1424d6a24342fe42f1ffd9660dfcc0a4df48548baf312732de75eaf8e90e442daa44c11bae0ed367dad99ad3a4a8874b7c1828ea84052a77b9f436dc31c1a89e5cfc2ddb2413f5929f7cf168bec6714521b7dad9abeef92096b017e88ef241ed4cf6468a85f631115cf9bfdccfb3be173a4242e61822e2f8703b8dc2a83399e0a136a81d7d1e46e2a997be193f68ec2531693b20296934994e61f0208d746c829863b80ab8c80503048491cc9dae02094911fa1f27617569325fde79a428c0c5fb71aaafebea65836c951d27555be8966b98e2cd3d3bcdf7c0ffc75f21dd0fd7588adb17f288f6b98b308307895e9ec3c06e13f86324d3532a298b5b873a8379047f2bf05997bc12a00d2c28f7a8054bf1b1d961a7f4f90b9a1095cc7597e509e5bb1bfad3018057363b343bbf0269f4e56214df761d967fb21bed43b0bffdee94dc26a907e3d7f89aa32b8156893055d50e7863f3e689fc44fac892b89ffd12115cda79dfe9e3b4cbd336dc99b9174b3b90892447a11ce28948f7d53e86afe698746b1580f4c1a11420f3d8f5f331a64634017e6db9812b8d6a4be560cb5314da88f394709d260ff15ef5ca512a4bbc1cb38befb4a5fde1c5bb498cd83e0b5d7d180e4c8ad1378a795d26452626b0f6fc1b50d5eabf9bebd7a96553d70ee600126acccedecc4076931130a674c296697cbba89c4d9f485d65cb361bc71680f3e1d9a31e587a75f01b3b781c6fc97a77ca29e6cfce2baf0e9d013facd5ebe6fa4880fa51cc5e2f9e88ea8dcc7a86860a9aaab53fde5d195d1a167a2d442d538f675ef4098a574e6de46523ee10ac280b14afee395264a5e820bbf1bbab158489f52a8203c2dd7c12f24d7580acac6c9984b0d45a4ab9f4bc8a210a26ed8339ab9757f2cdbdaa36381722005a021e58b2af6297658c17050411a520bb1d61d641b142ed6d758eba978d1c40ca2d7b058848af7a12de45fb1cf233c8762e20a0b1ab0db0e7117207cccc73e047d70404359340b73fd767bb87acf89cfc2784e3b2995955786605695c976e0dbed74109547179af70bd4c49fed00feb5858bcfdd47aa92822a61cc1a7d12c5448205deeec2b94c73a82f3493c614a4ee4efe4b15a97910a18bdf58a8782e85e51ca146675a25cd394ae243e2a620f4d52ee451d1169895764594df2af6b0e132372760c3dd869bdfd54e558eef930694a5a29c513518c0a7ccd2164e6d5403750e28ca01fe16be70fd9c65efcc9ae0fe952c79650ecf9aa7b86a9813ffb3f7938cd731e48e2b6bec570349b1239055d776840a7c80b8b20030cac4359eae65f1e3ece2875896852e63e6bf0272859a80e4019dfe0a1445126a62355ce955a88a02940cf8d9bc6e6325e0ba16b60886cb250e2221c6a66d2d07765798dcc17cbe64a350bb8b4f859a1604cd6d5b8e2ae69914f77ea6e024524fa8c9232f9891dc4473b0bd6bb028a568d4bd82b4259b0684c08b4939f97a983958bbc1e8f57ec6145338825ad99f3057be321fb8679481df57c0051332b37222b7c90271340ab1ccf8668d8ff62357f84669442147e3f42fa8f3dc4f10ac2ecef7cd56d657d3379671fe416c7cbfd7e4af3b5645a56e470f480063306839d8924717141c53a07a1706c567030aad002e4f35bfdecf69d41734affe15f63e2d2333113c3307002dddae233d6ea7514e838a4df98730481aeadae7d6d648f59c12e3299bfc04670c076f88ddc45e4fba7856db90c35308b13b3fc4cc309a8ee115f0d2b4bb2928de4f2938ad72e1421340db8d21b6a93664c0c36a8ef8b5f0fdb20c92921c520947f876c0a0cab24bbee74913952ea5e923c0f7afdc54ad9dbeef60caf27c53c38c45343a2b68e690924568aba4f0b084727461bf7a5f171b69d4f7c5210f6d2bbc9b7a964a740aceb3259f2977fa32da3243eb5b22966d1a8d0dccbbd502739e99ba974c5ed56689a39e93336eeac1ed7694053eb56c4d1d41ffbc8ad75daa14b781c98548a4741160b996f293299bce1add6ab6b342e56b24df39091800c8a1e40848bc3a640aaf349aa7703ef00235d6b5ad319c98e8aa1a69c3d729c210d920e09bc3aa07554c22b2853bcddc454546e119135d33af2c31618cabd0da44c345587bd3c388a50de79d6204db8fc2b6788f3d5c30950cbd2e1f5e0fde55e70dd6042c856487299b74cc9260768d7da0baee80390c2ba045ff899c6fd0adc16058723666a3e344486b26548db78889a89bd46065cc1583203caefb655c0e3dc7bc3665b6d1af20ae26707fad61a934304786cc765d117693bd921801acf2228a7407289f3d732f29713f8545d80173229dfc4e5b1d49469bdfa99db9e56a72068515f2fe421c4acf18e885f7b924b0ff5cede5d428339f0edd96cfc845e703ee513afdfc5e78e9b69ef7953dea5f89a8264535dc8698771e306a1647abd0d3b5bf0ee0219c8364522d753dbf30af3020738572b9c5aa0fea2d44509379fb6f97e1693bd92d0172169f6071c7707eaecbdf5f10ba5606dda90fd36fe06a629e321fc8ffab4552a9aadfcaba83a7426b1b9e9ae633bdf77b651fbdc0c7deae26426a773835a33b07b5e6e3b41264c0024eb2b2eaff17c85a1cf2c3b673a0528aef374e854c5bf66c3c171c5b221f6ca17c0f00049638db6992181af4fc63910a2dedb3211d9a1c2ca7444a7ba30ce7797585a416160fcdd777024ab65cf6dc76d23e6391fb5cb6436f1ba3946622a6a80d0f3722e7b67e1a3db97a08d7781687683ef1b01aca52a152f59b052c5c6de14361dd8e00736428c906b14e9c678fba965cac4e2067f6ec49149f52543e9f03eadf20f01f5bdd298a904bf6b5a490ba9583b7907a0e3dfae1281a9e259b2f299536ed561aac6ef161cfcda3b0c6e8771e203b13e709a06dfd00012863084184e7654a2ccd6f7269b250778a835ce936ddcd6da001778a0487cfd83d3b4b3ca8a97208f92863dcba5ade82a166f8f9cd38dac8e2f797d752c54665153e0675cfce796fdea1e314a3cf3c0590b933325936208ef82791287b13a9c1325b10163dfebcc386d9ee60ad3680a5e4a6e3fc19eec2b6d032dbf50b89f2200f1c01e34dbd1489190b5c44d634084430e9f3aad05d4803af78e5dbea000a2330b7e7ff40fa107e03c87f6cc564a3f6f62058d746b5173c7a74c41e7bf4ca3e909db504e7e0297ed95273ea737930a9d374b1c8848721132e6214a145774c272f4978cb8313412a074008bd662763a9728292e4de947782d2fa07416a048789a3b0ba69307262f9cb7cb35a98a7aaab28fcb813075fb3c28e90d499bf9b4f6f59d639526842fb05e471da8964331b1ecd248ae78c17270e8c89514207b3dfc5d65a98efe3c7d74418b0c15de64e32bdbdfc588591fbba3e9cd7fdee3546e568739e1cf4fc2f79d07f733bb0f32d26535f81b9e53782500c29e4b323d32086f9fe7076ead66014c1916b0b7ed115d58cd1928f414c4e935790134db022f7cb75f8996fd9a937e1853ac90e997cbda500902a8f281ea622a2770707f95471f0a7c34c8ab706652ba5b7c9f8facd1d82ecb42e29649cbcb364b4621527715f0e30914d0b63cbdd2e0da7b54b2ea3eb48efa51888e7a00d3d32b6462f110cdfcc252e1f37285165a82a1916245d2c2320480e76baa28188cd2c80574a1259e57f06843683e94fb76bc6c1765e96bb642679aa634b12b1c8b30fb282d6f4d0410643dbf2d298573b918e59a244244208f67258ae8611873b7d61f8c3c8df5b66db9a389aee92fe2f90d00025e638aad0b8eb119e25524ca2b218e022e3f59d3ec9acaa6e0354cbc343d054fe8fbca1506f4c2ab2320d350eec61ef78fcffa2c0769300023fc509cdd200d74733e8dd1566866aff3bd6ccba49b6bd8546a9d88f7ef948d61f72c4b54bbb07e1886e920ced2b17e902877579f8d8e863cc6df0686ed81688e8ff077cfaa43c41b06eabed0e92630119441a291c52df9fbeca379df4ac8966db2ce14a9c17bd3ea2b729120b098478aa90f5906b141d309623996228bbe490fea2dd3bf0f2b5ad88212725f5689011093b0fd5c8db3febfa88b8ba5d67cb500aa01ad718f6ecd2f1ba51e0316a731b9f36a9428aa90a9380da5fa0054aca7b559bba20d98cd153892cf93154b60211fcb95825afc4a5e3aa77af9915ef57b5c4d83f28405bbe58857d244f847fd3ac3417f352798f8e541dbd0107b298a2a214a9467754b4dff18d879fc8620741200a85b58860c71ee67f589c7949cb32236f6a7b8ae47031ad2aab245b3bf772c03d9deb6bed7aa808dd6f46b6215bf4fb8c4ab966f7c39598ca310cd0e4c2282b2131782e91be346c2b1cf3aa511f015a63ebeef2104c5752b46061c9c8f3a670d0f4af64b4f96718eae65c3bf056d8e65f8cf78779dc2e36972a96e46320f614afc8b684740e99882167f12387f50fe5e3f659dcb7d2987a2e059968d7a4957292ba7862e865f235b3b06669a091f18bb9faf1813d150ee685c36c354addb028f94ae5a38a947b7dda52c10837805eeac1bda0439ce79bf126a458a3f7f77f39cc58f2838ba3862c0c1455d8564ac593bf7f4c2cfcda2ce0b76dbf21c322e69deff36757d16545018023f2cb3f55fd6c16be14d5e3998efcebe7728b2a35f645d388259c5ebb71a583284316f6864103a589451ba6477c801aead688190a7d23063f02de1fdb61ab2a92fe4313de1b1964bf06772a4be424e71fc39ecb0d21d3f968940742b3c0c398f36880f59567fccbeb6d2c5b5c30b6a0cc48c5efd24f7866009b509320bec00efcb0a4bfcf34b1a34d060866db5a8d37a9d7f0bf0fe3e01bfc98be4660a4c20b40feb3e8ed22256f435eb70b62c68a316bbd770c5dff3a9ff7543da36f1ae04d01eccd9d4b42a53943d82a2ce03280946ff6eb3cae247f0bfbc4be83bcf8e40a31adb111f7df7f477f298025450c26aea88dfd57de541847b81f2f2239f778755b8bc8e7c5a455d07d8483218be04b48b10d825dc5d748dc1a7f9aef84e63aace5ae54a42e4f930447c5f43357d1b4e78cad2c8a21ac5f55bba85af3fd17ada5ef04eb4d7140d1230b7850c57b16cac7d624b927dbefda3c23e1108b533a5cfe5fa06c94d311c5f9baada2cbdc5601ef698f703c07a0c0af70c3795d1c879af2cdcfb71960be577eab0f6db22b923a36c0bd3e93fdfc59aeb6c1ed778b9f5c94e672186669d9101d38beade37d8622e6a346bb4fb72a59e6ea582b74cd8f42a919309760066c533182a92d221368c6bf141cba5ba04d7db240cc823a40653569c9454e70cd542ff40a848c054aab679492ae6416417fc7028f57989f782946e9be3efad63a63f34b0eff4646c136cb5a1eaf06524ff33efe9a855ffc456b46bbb55f20b080397dec05b13aa138430f09bbc1355109d49eb3080001927177991ea5a752178097fcacc6ed378bf9d118f6b8bf0d09e82bd56ea5110be57db7b50ffc4d4330efbf9238a6854de4f7317cc35acb65efe8d87656f43c0a488b0d81a37fc7e723acf24c0a7229fd9d252715294fd77f2756e72d67d083541092298ce9d86241dbee484570139b0f27f25ea995649457ef695e478de0db3e1a7b3f0855e0ef696feffff2f1f52810264da3412e520354ddd908035cc4abdeb76865a31cfceb5e28cdf52919f6295fd7b90af86a0c64e053010dea9d088c21dc4725e7b74428340bfa1159f8db90a1b2c6e0000959c5f3b9654f61cd8560f9cc625b9cdf31b9e457f70867b607c65b32d742dcf5bcaf9e838f11f454313dd45153779cfd85ab2b2694bc0ee56fef69188cb88c0a7b17ff35ca90345c632bc7f6412a5d4c5788e3aa55b0e9041a370b8beb489082b8be7fa2102bd65d1cc6f8d5dc4dd3fa02432a60dbe32be6a8261a39ee30d26669b7745c5ba297bb1bbfa3127d34b30b12fea8c98aa3d8e6b0dafd82af5ab3696d60a8e079d3936072ce437e784ff40c1bb3153632e854ef0cb4029a63192061a9597cb53dc17b567c3cfde20f1060805fdbb6180e5942dab6cc9dee2fed43848c4b2589ca42faee4022f54d77244ec98c487f91a09d9defc706e655fb026ff64cbc65ce6c2ef88699e8070526c1f878da508b3f75b7479f8d396e12ccdedf6491162d8a783983eb138e2cc5defce7e09ee81428dcee6200e9a6efbdd5f069854135a07bc98064cbc6e1eb10f3823464a44f406b785cde22e7006962dab34f20160637028570c55e9dfc28384ed83824605027298c8bc0a7bea57d7c596d20094d93bbab09a4daf35fa19f1d7d0f8f2052723b558f818d49376645df4e36941e2ab2271a0cd4563a710437ccfd8d0ff365b3c8ef9ae1e30c7dcb9f4eeb3f63a0c89efc8ad2262014541f4b5d0c9dd09d7ba6267ad78c306099ddddedb65769f9d2a5f5652845841b756fee290a28d510eebb2765d3fb7b55cc9240f6858e51bf084acedcdd8fb3a6e23cf3860b1b3b2422a720511380dde8e56d8bc41119b92ab765ea7f45e98e938b2af712497b22fe0c77f44a1d4805ea5e58d0f3fb5a11f0fae2d30b7be79ce20c640f0bc35402f065887177860be467c0c7cac59a011047c32ef2fddb5adfd67f6941469342bbc472138090612f90913b618e96d5f313ef7bee418c46a3eec48c1440db091d1efa320e2a8dbc9abe30ba4997d45695dcd3c9b7951c0a859041dd5dcb31ca3c08c8308d2a8d157b903fb9327e199d355cdcb33428c4d4f76d8f2d93c7ad6358d3bf1c9e10162dd890d6ebf13880add6b43067b443f8b3050a1b8a3b32955c907b46f4b52b2600051a4e8c977c6d2cc48f8fc73169df5bdd980bee258deffb2fb8ecd6693186d400baf128e60256188b6eb783240232d5c524ce56a801ba7d6c43de979f2c147e8d9faf67b187c4d787f3d6814569556cc879f6004390252914a92248672824bdac1579c67892f24d88863722a774e92f996e63bcd8d4be2bfe29ab7440d1016a37f26aef0f1151f6f7d6d6b4e5caa79805e177ab2558d7157e394a56feb4c35ee783f05e74e0882b5b054e621c8d80c268b751e0e935f84540a38a6e337cb88b4333d315b92459b85604315c9eb55fe177e3eff713ddc561f0b824e0a7dc21bfb37bfaf42647e2365bacf7ebaf8a73d337e163b57549d73537f7c5e7cd3cb16c32bf2d3a76ca9d16f85390e239468cc46625034b8a17ee577280b87c995a3fb2475b5a2e77d7b3c183b7ce4f053abcb96d4c18549f4f0b34b3279e62a460540523c2577a78bdbee96d4eabf5a20d7d1c860ec37529b6fee9130c6d261845a633bb5e5e54c8f4c5f5d138fad613a04b1c424b66015c55cbf227b6339adca97127eaf2bd81fdc835f3db730be42c2d14b738ca0e577863dfc9304ee0b8317dbb17bcfe4be4f28b41781a52c5d4f258a25af1fdf3b1aaadf4588f663762417bad5b5ff6d60e3281990a625ffcea68098c83c0143bad5267b58c618deb67834a666241e7d16ba258f1f669504096a34328c9c9cea4291731d9f1fce99cd0947e47d766912553f80a238d1c78305ae21dd2f8eb588c6eeebecac0e8a1c7fd696adc53c53db51d291aa989b64696a5934ebf044a4a0fdb0cce7dc2868fd42b198f3853955a6f078b73a77c26360d4132acd0315920722ceecffd1113af91a98b25ced9f16ac9ae81e59aea71b3aad8a70dcb0bb2c902e4c81afeef99edad2b149d2e9377f487d73171e25d4ed853b633f91ad35e5d85cdf8e0b6800919043c1cf4f67f9a15eb77b0e3118ba1cba206188a6ec3a21eaee922a90df882b15d31e2dcb94311be6e60db4aea17ab775d0e4f633f9f3ea41877c38af1809d338f4974f66a17034d18ccdd3f22471d6d27f9208e57bb9b8d10c8be29adb8cee5f98efac3bfe8f1c3c61afb4fc6393777223f71ecedaf4cbf420e97ede115ad13ee6a1192dc2d06a6f78f50d0907e351196fe820729d7ecaa7bd8ed50fb64c4125880be0ce8db85da7d97f68af33d79d599588954a0b1cf91f618d9ab4e390b2f5b5f2d9e9e17992b547b41f0704f61b424db994f59db8aae825942d50abcb79b0deb44897218061a2c2a8e0879611e7236547c81785fe0e57c1bfc9b009f31d432847243c6b828aadff579ffa5ad8f86e9875e2086bfa8c9431484fb00439a57cef8226145870db99fd08ba6bb9425ee0f59b7b8a76a54364484c6de2bc95ad81ec8b236f7339132dd78f020ac2091dd914466dd5f47c24e36a7d60d14b8a36bb67181e91533ce6105c8f0dff7f8143fc57a132bd5dd307c30ef906e7438e4478a8cd24a807c761567a7e9e4c81df2c073ca96b3621253d1c89230fe4b89ddfb66427259959f439368cda8805c512292b3da83e92814f79f777e4325b252cd0b70867522148de086d2e460b8d568fc68e3070f36ba9d915b96697f7d4ad5dd8a8fc67e1d8b998f9b914a1e58cab0cb69beee8f05617b200e2fce06723390e70076a825016c51572d6711c2c1a7511f16b685e6b35d4ec2c4f4491dcd2f1d0545c33e9ed87e5c74bc1a9b6490cea8fe327118f2a9b2b6333b948685bdb98f0b823b9bfefcc15e16f93aa6f09f2c5fd9ffbec89d4dd140d354d869218eea0239dd986f9edcd262ab914851a07a7a3952f316a0515feac364be4af1a88cc41a9178794d07984da887d831ea497b6905c8cb6ff82149466971f10b229d81678a2d63c4bb201e97c4b62f575408be233716ad6e98452708c57eb17b167a117f29779f6133a3985ab5062cd61c7f608d9befc048dd26dc49ceea4945d5ccc39403a66afad8dd047bdd1eda97dc3fb7d4dde763a7bbb5747d24b3d6f3063fb7e7200516efe8be63695973284a08de78e48c931ae4d934d1dda841a43411ebf1a4ff1ff0d3a37d16fb69d3507819a51802bcb19f3030967c02cf920d8bb1f5976f3bdd07c97ec9934ad5955e7b6a513e7c446ef2dc0cf1865852f69115e6dc08f3b05e1b91bb1ee3c9aa5d2254fef28bd5e93a4bc49bede96e388dd5c5eda67d5712de2bb8fa8ba0d14bf2572a079521ece7d82d11a5a03ffb05a1d400089602ed4914c7235e2173ab5af5b59546a04dc5741bb2b579684974040e39fd685e19814ddf5067a2befe825b9b17d53606ffc922ab853e4315712f840930e67230fd664e24bc93ac6dbe980ced53e823bcd879e963b4148af9adb1caa8c771eb56d31607dba1ff9579ead15eb2da130c87972efb3abde42bbf359897b5085b9a74008b7fb80eb3798943503ccd8d50c761e168825299c28df6527d1063d1afdf5016ac6d5854a977172a589981f584f31bdf69eb6e90000ff98dd71eab5c67f153cbbefee91e33fc892dfa8f94a99cf09f4962997684aae4d007ff7d3c7f357816f2343d6b460bcdaec21644246ee6813fbbed9fc4b3fd07723a914d6c2ed441821d4ab061a04a2c918475da9473872a60e166c7a649b9d6b5bde8bcd3b919bebbee63d8605fb8a97416d84e2657bd61127e5f64c63c554481c726cc5dcff339b0edb3bb75c6c5c2195d71209207b56ad1d10f8c2b6ffbdbff4de11c57ca201e2ecb869c04f773aa69fbc3f4f5b3b29b383b153e37d6023d7e1de6efb7cf28207fd2df5ef642d6984238a8ad702554acea384b13502bb86ed757ea47890d0f283eb7fde958cbc8ffa3a8ca21db17d3f2b9fdf18195db7547cc287d4c1fa19babb9959ebd8abf95e94ba5d45c2f0aa2f94b2bf335db010110f77fe276e8417511babdc61499b84375da33a8ad6997cf861947ca85aa1b12bcfc91fbdf5931dbe2496bd1702a2bbe25fe1468bf574594d5d10ef02cc29111e48cfecf27fddd90196da247c4c1d6f5a6cee476926b6b35a2a93cc3182de35b81a36b17c50031b900575a0164ce19c77d1329b3e73d7e48fcf79d47c49da5a3f0cdcfb7614234b1cb3a9ecb047ea7e1a8b0282b5a313715593900bace431936c0a096f28de150b94d0911dc3df5c8e15370c72d909a258de700abf0bb728efdf58c23b08094f0aa7ddbb182c69ec2da4b516e0c1be59670089b461d5fd5538148bc51a2e1f606709ac325cb97037f57ac7a460243c06c3a0054e0a2e4bc4e001c8e5e0ea8ac4e435260c2f11155f2bea33885ad1270f3bdfa4b655306b1d0808652b63186b851442bd496fbddefca6bbf4fa00cff65a9d1b3f2aebf761c66e05e3131105aac38987a224f561002903f209b4ca4974267c46554cdb61e7c84da842da74a7eced622fa24026e300e518964a94820a8fc82aa7d86f07467fbd41711521498f217e583f5b10a2f48484f3358ef7687ada5dcf3b23ba24af3026a22412538121d15e2169992315d356add041924aa96f9e332cf467b8d03d0c2c7ab381e9c2134a855cccd5fd3c0c7d126cbbc3ba1651506c983b9669829e971faad64af9060bf077e6f6a4282ce53c1428f78582fbe65abba74b46ae1700f63865202012e1be3660cf86b16cc70870ed5a3afab5314e516b1b596996e0831a89e606185eab183710a96ec07425701683ef6a1ecce00c1e4cc1c1a9925d7844ce00c10d7385f0b5af7f13836f80663e3359ca49231053be046bc45b06977dc1467e923c17cb37af63aa00b5d2bd76deb71518f21418a430b633de9119c686f5178c12a6e4b591a5b84c8f13239e661852429abc2837d039b68fd4b5d6266806a0227941b67c16cb70e3ccf8150e21229f027b76e0c9a3606974ed18842362e98511585e4a66f6a948fa6d9e8a835a16681bc60c6f11eece4a208f680fbb71b803c447e47574aaeb197e7cce826e3d4e92d1a81f8053b85053c8017607aaaa5d5f9aee03b93887f5c54f036d6b7eb61ff215e6250eda5bb7a16f8264fe1f693cb86c52d1bf1a68557cba1c0176bbaff614b8e8cc39e71f04b8085d55a337ec56a41d497d70aade25ffd1230700df485db2ebcaf9148e6f597a6797c2d80e7284fcd4c7346720b3b88af8acd115d096ec2a571f36f63f2a8acd17f660787849595bf75a28909f2bbdb4b45a22a3b05f7c2ad86944e73b2fe5355a2b440c4a82b77eb3e0e5216fb04c4e509bc4f5ac0742cca4824b2704794df4ae0592294e45fc41dcd079c003cedf99086d14160ef1131285cde3340f23616a64a74a5bbcedfdeb2923c68b56e08f586e043053a15374f6059d4750440720a220b044f9f3ad42cb6b25af4fb036fb040554b7486da3023e0f33e2a9499335d11518be40572a30c539b3c94bb7792a5dd0afaddf9e254b1d2534ca96e2d85e193ae49ab33c557d67f681912662d98896a01587a0eadc43c8d13df168bd4785967cb083f16c78c88b9fd55ed0ca3fbe0bcdb072cf635826fc8a66a395d845358392dd8e5a8d82f0fb62c039d2b492ffb37bbb0e659bd9ac899cda4866bc36ca8b788cfd751b2f0c89ce983d5445f9fdb0840ea957a7d60c2b239b35a74f98f306f1323bd2e8671dc211c759d26a7915a482a698419812c6a07d9aef45decfca8cefa727ea4b322a4c5fed58ea05cc30bcdb641fd1b43851eb049d615c806b0d946ae29c560f54c5dbfd70fa90f8b0c04771d23a110e3e462a34e6a55a1619acac071afbe1f9aec2e86eabc12842db04637ce3e11e0d8dbb1be1accfdf45633a70faec505f368feaf41513185f1f30719107348e5e5cb1dcc8d20fe2b8d2e735c4e60876457543dae339e42f4f25f1753e758b88a75b32b9c3cadb33df26ea21e896c1124670c263fb0c8d0293f44c06259ad29abeecca630b68a736f749bac630deb9fbb1d71ed7be7f56d0674bbfb7ade817b034f1733e853227ebfe091228f850a71f249f738c08ab40bd6acd1f69ee2322ea7e9131f4808f9080407ea1dcf4c70d94e55d1a27b5e4979d89f14fcabf10d6591ff431dfe8a17cb767fa43b264cb5d6fb151b720bb384705b4cad1265d400a3d6d534843aabf6480a201ff414f05191f87739cf2f23bafbd07374870bc871c5d437a27fff3214922f92ff74438dec3c560f6f8251dcddabea30479eb51431ae1632abe9f28bd613008d37f939c8705c78104ff872e7e08e8b7f38660a0ae68593960d6d363ebac5fbdcc2f8098acbd7762346591013a5eb5360bc5f3dcd9b4ecfad62bd3d7c17b53ae7e9606a4b56aabaafa3958420ae8a0442edd41ea28a575fb9db1f2a1148aa518684459a173ddd56f2a87174ee01b8e897280ccd601d29c46bc3eac82c554a58c09a731728d784d749987ccee8cb674cb475e881fa09e9ab94ef729fcb373a998d26850f1883a6f9fe0d7ccee8cb674cb475e881fa09e9ab94ef729fcb373a998d26850f1883a6f9fe0d7ccee8cb674cb475e881fa09e9ab94ef729fcb373a998d26850f1883a6f9fe0d474dc8b43b03876a2a82897e15fb8477c956e4b18b9fe8453cfa4094837bb5517ccee8cb674cb475e881fa09e9ab94ef729fcb373a998d26850f1883a6f9fe0d98934f4d88c7294c71279d437720d589ef736ba3f9d7ff8d90689429e84ed41a7ccee8cb674cb475e881fa09e9ab94ef729fcb373a998d26850f1883a6f9fe0d7ccee8cb674cb475e881fa09e9ab94ef729fcb373a998d26850f1883a6f9fe0d7ccee8cb674cb475e881fa09e9ab94ef729fcb373a998d26850f1883a6f9fe0d98934f4d88c7294c71279d437720d589ef736ba3f9d7ff8d90689429e84ed41ab1156a1c0d0f93c52b3e3e492720dc6682ffb32b275d534428a4f74ce1e2a0d5ff227ddea4b041a8a992d7b8dd0e2a529028418714ac4758e9c7203a96c14abe6e24c9031dd66ff9f13c047c3da673bb27acc341f5b63f557dd7fd78f4402898f77760056e559cec407344e118a2036a4ca3b5f78db0768a3e05afec60367bc986b6794fdaa3da9bdaa60bc8d1f8cb3e8f7ad8e05f86a41338a6bad769199f2cf4a19151429b1899b994833665d81e9b785f770459bdcafb15303ea9edcfae23fe21b3363d3598afe0fd23826999d0af2b0652fbbd1ed82280ccc4e5a6ffbfd440d8b729630d296c9e925184c6b24ed7f2ecc8b32b1941c6b8390dd3f16f471406ecdc7cd6744d8c96ad453d67aece0941ff5ad7fa1aa5d9bf0c144dfeca41e93fece0204248fa2e57a4fe09e0ee1149e4fe66d0edfd1b454127f1c6f310636196ff1826224be70a72a6d0cb922a2726d630372f7f5ca5e2fcb5a790a89f81a372b440b4ed2729f6b038ec457f1d43884aef74b06f129d324f6186514543e269cfeca56802f6fcfe22aff0647c756cde42dcd800eda4aa858c178f6cae8207a1a6ee0d0ef161fc284d75affbe273c9584eb7398cd37e611d7ffb44533684b4768410fc2b1fe9846d9a6cfbbfd2e2b51120387fce92ba1d0816f6bc09eb4a0a13a622b46ab87f917512f3cd25bc34be54b366f605dcf6b9d4545619297ed967a453b06f8177908399d9d6b06c8428574e13806a746ab21c4a75c2bd6d3510d5a7ba149f662557a0e850255de23f785d94e9617f76e21af96a1c8aa7d5b30f613a41f2cbeef9cd06e0ddd61fa8b9620dd37602e26a5614089d4826d6f739e0e43b05ab6e50e8da310596c5db02f727119d0289665d7e4303cae9b8aa7e8cd89e4cc49fca0dc8ed672f2cd9db291672426fe320ddf79ad971e43ee97b51367062810b49ddf0aeca9f297061e37a04714f3a4e27b93444e0e4168faa4b6bfe1a952e7def724a5e803c0f16126c8663fe14b8bf76bd3172839bd1c0afd1163fedf91534bcdbaa43d6d04efe4a8c9baa6acffda4966e72563d6549ae1c12177a0112a6263e800cb1e350691229a77754bcc56e04d5dd064b2770961d426e56f4e269d30cd5ef0a8049d17f81f0817013e55e54efaa044f98168d4e79b4bd2f940379868db80dcda181c7cd855b99a13beaa8aac280bc0dc04d3841a196e2abe55373da28a31735f2d7be51881f1f5763e9c93b1563e0430223df301ec31288437e48f05695dcd3c9b7951c0a859041dd5dcb31ca3c08c8308d2a8d157b903fb9327e195695dcd3c9b7951c0a859041dd5dcb31ca3c08c8308d2a8d157b903fb9327e195695dcd3c9b7951c0a859041dd5dcb31ca3c08c8308d2a8d157b903fb9327e195695dcd3c9b7951c0a859041dd5dcb31ca3c08c8308d2a8d157b903fb9327e195695dcd3c9b7951c0a859041dd5dcb31ca3c08c8308d2a8d157b903fb9327e190a8e093d58ad78199ec654abb363e1196f63118e4218b25e0d085e21d3701d394b8c5cd859bc7fab45107f2411c4d73bbb0045ff4735a0fe4e3cba8427ab58bd4967c9ba9d7327235b9a8ea6f67b6cd32470f11c3ba4e993d4d78be1962a27e0e71be3a051a58fd939c867febbb647773a0306b7767999ad35f4a845e5278d0395e32cb80ce43625650c04adfe72a99511b1debb362fb6860e3d28e40891590e6b0eb2a547ea62daf0b6f55eaa90e0f0493a72f90c995403adea20f06eaed5933b8981e0d759f390a2f076bebbf7e036ad680cd9497bef1b2a6703165ef4cb33e4dc84a602c00695598e6503cda22bca252db0199c5181adc73831c068933578bab672ade25f6f946540676a62b67f591070b80d2626f5406cda46e68ccfaa2a8061dbfb4ad652bbd55d70dcbf877f1c36e866beaa49057c9b21cf463f20871e42149dfa831c8895b0f68e24e8d09138ca82a27583554bf6aad960b801e990d30ae34484c5cf435cbc5c415811094973d17a4331be426f6b653d5cdaca28bddcbb15ac47a9b31970eafaa0e0bc53e2a6362f852a55a880137844f187ff6ede90061eb6d1d2990ddcb4e454d163277f834e6b94f4a028cf725d32dc56dc0920e3d90ead0bf88185be8301d5f664d1c18d740fe2d52c1e2f3dd5b9d784253488caf932ffcbcec4462466853ac900a172b95382b813f3516ada81e691abcff670c0e22c4816f6647fc66627192a60e77eb8f77170eb330ada6de06defa914faa80d5050cc0c4be7f27e5bd76ed09701ec5bd6f26d5df7ae7e18b02d347907b0d3b8895fbb5de7b416f55275e7449f7c781b0ae8e4cb3a61172ca7f84aec1647882621c9212d92692ee00590fe904f5d23da2470773f53df224e881654d3961d647ea79a68a397798466e774f586afbbb0583b5480ca49b141184fdfd2a7f0f98e04b319412890078eac8ff4276e4c11c6b3d1e921a76245a9f1a1fc0d474edb1d270b8a88747065de6e569dc3949835eea547ab23ae5fd2b42b71514d1aadee5019fa170e1ae8459425e005793ad92c956765c2e7cd27d31dab38a3927f6e498ff10983514e2ef9315420a90285e288f23753b396fc4304f199b4d976724c5217d655c67e01d33a9f58399aeb4e78c3444e660442808ad92aa06003606d08da918d80069a373dffdb5e775bebc8a953edebc427590cdbded1fe647150c7386f3b8cde7ec672a73e2e27a04bbf790066aae409799ff68f2b9fd4c78dc9348f83fe35734c484bfe05321960293d2176cb6065ce60be940513efafc819824f7c2a7320d7e20340c21db77028979b07388fdb668d85301149aabe2b96c303e04eb67ae8c314fb50562dae5fb0f9b0cfc68c9e242ef7c543ad10afee8061454ebf76567eedc380ac232fb2112c5e8242b1db581b09784acaea2515bdc6454ffa732fa427e9dd81f7b741bb02a3cdd224163258ff595dc1602b37f87ec978c74dbff498d3082a77bf9189bf2d27c37e10d49d8f3f1fd63711ab64e66e29164051d4b03ceeeae4bf85f86d9b18035f64107cf7a18adb3dca0deda3e3fe88a7540ef674b859e3e7842223a92b2ad723062c9d9393385c6fb4f55cab93ad71e25f8eed60fd384ccd2a26a544f0e84664cb862e1676fe89424ad6f5126569123ec78eaf1a8cede47b08916a60e7599e1b07df6027b9fd7c7c7d50ad176784b9d1c361039c7722358e94b9c9d3f7b9d57571b8b1899c5340d963742ff97c27ce376accd95ffce64dcf9b04a3a28ff7c0259709c395594a8b745a3b8807bea0da30c2b29a69f35c697fb47791be10bad3750fc899a74913292682a59a565a792ea9656e60039edf33bc3a5a17702b8a08549fc05cc2d611da811cac6f6ec1d6c0395a12cbac897e84d91e646cdd591fae7998d40b28de895a141e56f9a4a5c0e1f4ed411379d5bcec9856b83f72b3ecbe992872a130869ff3d568a36528ebee13b22c8977b7a24b450e5936bc627061e6ede3defb0cab2f1bf220c53fd75d50ed23eef79ca17f90d7aee9e5ef9bd906905c0a6553ac149148218e278579681e02e4f50decc5159a56da173783e03c218b05e6cae87fe73f578124db651ec7f4b275da1857493d9c6477e6b6cdc6f93ad75f5187e5a7c07a973a86b25635b7b46733659c562e1a95ea5e2d88021d3ce20f3ee178264a46cc22ad702a7e314804f9be97ecaa0079072021debe60e4016957159137c0ac9fdf2fe1ddc9fd33fc323421167771648a555bc79b18b889a74789732079fa44e04d91dd835b56c5a4b6aeec395923a44c20c81eb62869faff0ced335cbe32b493717af9d80a779f5fc0aaf7dfdaff11c2399ee62d78602c44b15cc96f837fdd896452af2f9262df5936d80dd2910e06bb3d119f285ad4bfdab902ecc9613ed82a680365e98f93f8a8880ff2656dfc98d2122722be875796ade64b574904ad78e422130727ecb5003606fae5787126236d3e153fa9f1622fcbc82a834b9a9aff1db79fe47b73b90eb0a450f752c1e1823bed3611de7c968f4a972c1494de707c9e11ec010adb07ffebf3c3455a7ee3b3df69862fc795d77d916417e4a15d7a5c3f9806afa37373443aa1b5fa0aa8649de283d0427caa00f92116d71afc6354786126556a50a5a9081cae1a47b458ed632bbe190121d625f80ff0a4d87e81a6bb4d0fa4409f30974c325ace8f27c3bfb6b455dadc4a741bc2101c06487e1553455c769068da9f705fad5e6e1a74cc1ede149d53240d936372abc91609ac44b692c3933e47d896f2e35ce23fb46c11b18472caa4f11e23f231be2cac9f60284f823c468633e91a4271c5105e728807ad16144d5cb3490ba4d850010d82c6cde6ab389d8d6ad5a5ecc79f4c8946b7f33f09694a868a7d600a83fc44865ae76de8c5f6eae10f9e29d41fbe75ce967d9e2594411ff1840301427632d4472f104876d8628553b299b43e26a2b49c30a00ebefa8ad7ad9879873f00041288fd4cc67cab2c86557eb86795d12581325cc6327cb60682855e6e7a06dda53909c0b58447f44fc80e1bfeed9b101c02846df956c0198222a8e5dad513fd49e82da7e717dc9be146b448a1c141e83cefbccfea15ad586cb9f15460ef13c41d70b1e3151bdb854436b763c860f87626209c62ccea946fb6dffe0a79a10c37aac09a571ed6a16ab6f25dbf280bd247e366e35fb143b75ab482f35d627631b671eaedebfcdec5944a327bdc99c65df8a750232f6a84cb313de49ede6abcf0f580b04b7e07466c8a2797d572897139b331aa3c283a5a9ce27066d78b52a5d3bbfe31d6f81529e3809c4bf1444320981c6e6c7940296c1ff92fdff759fa8d49442f4758f29d915eb409c5d53f1f3791ec4cb805d7d6e43322ee934c692b3d38f6ef6933f6ab67eb704f6345bec33ee632c5bed545fd7ff8610ffa9caa062c01eaa2b8a2950608259847e5e26f62758606073be9cfc65227af09b51880c8f1b72f5302fbd7b7b8d3fb772b4f5890dda8c80856b8e11862aa0f61997d7830ce851472e34094f7c6a1438fffe91ddfbe1c613464fed7a98e692c4dd4c58281a7a920c6191a37b98fcddc06147a6d8907b2911fe7c37133539e15d1500e82c41b9c8c4646a7ad967226a5507f0efbe956b03e0c39d8eec274af263ba22bb03f5de4b150681ccb30075c90743549588c78ca5b94dbe25d1d0650132114beb58381249b3389b6dc6f73e6ed1058829e500827715545ee2fee937877a5b00fc834cd1921cfa88b0d680c29f72fc0c839045f36166030d920ba610e8f3e112430cea74e061a7299dd929b70e702a4df82434ef6740f28475f25bf97415b5228d82eeaad8f0e889a7a8123287b111937507457d90615cc404e03f9aa6492a9f1a853637c7bd09136a351afd2095ea5c533d7a79e5a1c1075cdd55cb21e941f9d412b6499ec300d79275dcfe0338d231e5f3a0efeeea8a31168ed49e0db463dcaba806996ca78a7e0e1a4fa83249619c63ed1fe9be096c0c234d44146b475dea01cf557d5f4548db7329d00bbdc03fd2f52a34534c0f08e2d9caec0d7886fddc2d84a5682f48a4f252057bc1fc43abf04f73da8e1bff77cc5d0145355bdd81bff82ae193fceef126580b8b871271eb4cdea8d0a8ea333bfce7f3135180d65f33980ee2103d98872841b56ad5ee1f10aa30de0ed70009471f500a5bff81224a9af22cc2d3882be6525e3f013dcd73cb6168f2e54af4dd3e3d21ef96fa0935383947f9689b062d2f4fca6e9fc87d4df55d1b7755d78bea4c38bc5bfefa827cecc5b18b951d932f855791dc3a07078a093e9c109641cda8d5a7952ae7fe54b95adf46d2d3e8322efc6072d057fc5967841deb6746b5eb3dbb78944f652be4d6da704d832b356f1bafcd920b59393668ab50499de9cf4deb2bdb1aab0fd04b253aa6f0ab2817ebaec1b98db9d4e50f555d9249942cf53acd1605e5568394b29f519378fb92fb9cdbbb8b755f0ebb6af8e5757884b568f1bb1ef1a175f89ee9e87d9403c8bc9c42d0c4b9877a843b69d99adba28cee668c99c4ea6cab0774cd76a91e0b80d561dc426f628f94a60a582e17a8d0c53e6fe0367715471efe5bff963edfbff9d23874dc069750a1675ae861ef08e2ebb4dcc27ac79d093c1d5182a8b3f62badde575cdc1caa6931964643e27ac1528ed6663f34640816aee740b758aad8ef98a35e19b526b1fbf8e9ee6473db961a9b9ff7a8743cfda752cbda86df5bcedecab95c2075efbcd1fe15309af34ca0f9029297e131082d0de8147b9d7f2502385498b2c7e58778c1f929a7764066c6800d07ee778e3a13b2ab0239134c311d7e78a8b0ba93b61c72ed20533c4e035fa262c5c8f2693d7c25ed38dae42adb0d3756153c48b523a9d6510d3a42abb8801e612dc6b621b206b362bd0993122634012f480f48ca541a7e5f124bbfee669e71440bfe910859a93ed869a498c54abf4d0249d3c7d011fa273ae93f5c3e21f2ddbf477370a6bfcf9a42aeabfb4834c893483963d698a913e6aebcad26ee643a939e72949f29c692f2a6c102a51085ba9525d2db1fcb00a59f7b5d3651bc6b58db9ac83b9b154410b7544d1e1488e1a9a744be224d66229e4257f917983b936340e3c78cde5c32eab0d9664a36ea649023fb1656a586eca32cc6c7e5f9470db7346451890b524c19c2886b3b220ec7e6bc582b0427554723bad48d53ec0f70acde980a6977b46bb9acd42d96d604ee7358d484ef6fa6dbd9fd37b32ef917db500753c4abd6c42f645c5e70a9627b7b0d8da7134691ab738f2dd098e384414e742cb9728634f5bd44a09b671a2d95459860aae7732064d5de3ccf2eddf725ca4739924d3495a4f603cdc4f8d10193c010e26640b1b3bddfaa81eeb5694d3e3aef600f04c37c1232c31ea82c75fb0eb29b0b7cdf81e1110c6478e347aa5bc689092edc088317409306d96e039c581926ab7d950e1b165e14d5082a12ee480040304f00ae0a711fff0f6cd59698e718d5bc915df182b1d95f673cf8fbd47aa8c00518045b82dee232241e2714b4aee43928e9f687135a3e4de37fa3d287fb7d2351f4d206b9033df7f0b03297b519fed59e85cf57565ff63b3237dd68d622a84e03e08e0c2aeb40cba0a371b078d93ea5bbe30c3ab193182c72dbdbef4e703282ecef133bd7adc1bd50cba1469ccbb175b0cfec33dec5c09f33870aecd00711356d04a7cd57e5eb7eced0675cdd7841faa57328a428a6f8c3d7b1fd0908c3b5f327f4a3d57c1992e4498f339fbd6cc3cf5a61484237afe94025d75dbecf67e7de3cb6ef60a21c138a2885919aecc058d4381f9f2dd853b126ed9df5ca46cc9e9ac4ccca32a7d9b817fbab863b2eb407331e50ae0bb701bab6dce441891bc87e68eaddee89a301b64b9e811aa49fb649ecff6134d37e2e60375afcf3ba09d276c5f044045f32afff6d86c136ef86d37cee17a68d87c60179b2bad3b4d103c5cda0e1a066d30290cc74b76318233e0a93eb45ae80999ab92a3ea916d87d07e7b25a3fd11efa1237cb723e00d9c3684a6bff25aa78a530e46cff28c6149a8e001431d22a7039c557f9b1dd419aba43aca15609cc69ed349d2f091a9e198c1ef9d4108b244a5750eedd77a93f55eb82e78b4ac2e6dabaae3139eb65be0064f0f057e8944f4091e4bcffb61909b224c1b0c220592d7c429f6c795d8d93c10f0369e1ad18dcfb7668a5fdcf0057d6df2646436306f5a808d795994e58a507387bbd46cfb36bec4e720b2eb9480d9578b0ff0b9ddfa019a8aee0f9f46796ca103b6c2c6766b0ee5fdeb09246ac08f08fff6be828c7b5cef33eabee5c8edc6f00a88398b352e09cecf54ade881416499a22b8eeca336a7edfa7a9a08f2a7d59cab6c716dccc7a142f5d980fd3b14d12183ac8af79f68905dea2b245e23eb868bc7fc4a32a7618d75bd7ce2a950559f0b00d0265dd55fe58c22daf19a47bba29b5b468c7daafe7659eb4677b2e36ff7e98b8d9bf0ad2553bfca9edd0839b8b3831def12c635e550d179f487f1d79f075f44eb10196214d7a2860affad72e433b9554def64d8080742b4e6d802067c2f02d58cf052691189ab41f8557cec308fab9fe3fc22b0a9308a5b44a6437f467372238254bae169479543daf1902f71436b1d9ed887fece1d6aea35fe1510089052ddbc4773646f9b00a21e89862e80644346ebb44863de1406c61838612ffd78260dcb8fd8cc2f79f9d24c425338d4593dc8ab68d9d4865e61ed3289b9b31f72cea5862073bc7315b733a9a13e2a65ba9f47a93121d6491d18e9bb5882894b6f05b7262471bfe712cc08d04071c24280d7d1607f7bf3f1b6e108fb02e14d84c5743562678ca1045d5e137a8378cf6fe88fe145e3e7ee95359ee31da02506ab15825c8c66e8da5f6208486a55d847735e0d351e374a9f94646916fd132e72e4f994cbd57fa6bd0a3e3ef841cac5fa74ea264b290e6edaac22c7124936feff8752a4dedfa9701c8a5ff43aee9f1d230a30a54634f294b6678932a1b3581ba97241dc2062a7f2f2bcf68063fb3d3d3659bf7c166dfe1da7bf54353247c925578e961b3446175648170b13cdb43cbccbab26d727af7bdbf57fd1ce305ef38dada643a745fc8115dae39e5a456ec5c848f564f74ede28c7a3ad285329915a023486569be7f5de6b2bfb470db8505662e2e1c44c46ea81b37ec49bec570271045bbc306ab18e1274939bbe2bbcd2c3b5d5548637cf74aa692cb0f40701297caeab58acdd899a831e3b4f118aacedd22e2c2b498ae910fd8164ba2b8011ced0cc9c9727e7a3b42980aab4ab0c9a6b88d3244668db140e150193f8650c9259b87f0e10c8a1557a72671a3bdfb380ee2a64dcba12e7cd6943cda7b872b94389cfd625561d2702eb64265623690d11916b46c3b00034e0119e71de253402ba95952338243b848d24e04884744d6b24b667ce8e43a944cda1b0f1cdc02c89f2fcb2a60b43c18f7adf3f7b90dc80eec7b8977c0995a4be970d5e08eda7545fd8faee6a601d0ee7b6d3771d04fce7471975ac8049b4ce00c6ceb616cee6713d3d4a321e5532f7d554f5c60746a85f75e786d62aab7dbfce5bdda5925a17c5607f5967eabc23b483f3cf4c721876184e347e21358814c02a1dcf3b0d47a001d4011b22f6feb3362dfe50bd6518cfc10290ba4cd6e907958dfb36a323503e4eb872e913c3e5063a764217365c862a5a77c4663fae4873319523f9882bc437c9c67a15d7c19f0fb45dbf3e216e05763d17d5f4c15e09958434d7745ad3d75246df9fb022ed6a3383e1235580bab78c56e2b85456489afe2e3228c5b78f60935fc324fe11a1d49e16fbf436c3ba745d001c2c5e8819b64d220bb04192ade9fe0d47989ec78821e084a935c8b49128bb569eb218d207ed7d5e5ce68a17364bd54d793d29db620eb8819d57acfcf17ebc8d7bcb0e4568b9b3249f241de9029849095d7971c74a84d8446969baa9708b1b40af316fd8cd29127b8197ac91ceab6143f3267133f075780864a4f68371793646b526014f1daa8432bc5e937e4ee340625e9ae7640115614189588a04f6f9fdc19ab3a051ef62836b69d0586ea1188c71e42b901d59b1bfc4b30d5fd75cc5b7d8c62f79717b8be58b6daaa876e8fb098a20b26f19cd55e0ce7b90b26886c61e2555ca00379aeb7878dffc49fcac716d65b02f762d0f674f47ddebaccbe516c4afe984866055cfcae7ef530fef01a138224a7a52c626889b4961878be12537df05c3145784939531562c1b1977daa8e663126bb2ec2fa87557d14e3fb4100347f80535f9f447db9118f0b7f0e982c718f97dbc604f2ddd3a9f9bd30308f554ac81aaf6f547ebca9cb910ab8dea81019debd497df72f6f4bec5e593be7f7634416937e7fb779f32b857bd5fb66b04c2be1111b2c6fa66c0fc8130fb4372d5972c06ac60d2d878c38043802335a1f77d2319ecbcd902af846e961c13fe8b581a701393d2a1e5c84fe0e8d7e9f97104efe18c4f2b13076685d118b4b3abf04f73a9fba436c50a09443142901b7389f37ea048e511a2375233e31b40f41b35d0197637f36bf9f374dde6df785e3caab3a1750b488f9dff841e0578b8c49a4682fd7947470d6cf0724dcf1da9b45e3fbc4a78470f5b85a4de21ff1872ac66d1be262cf29e1049722702364bc13d8e617b4fd373729123b9160af3779b789b0f46dd2115a3cd969883b53a403e9edc0feaf923313a16d619256fae218e3a9fa873e24318cf20aed35c5bdcf974f51cf5084bd5e6107318934829f70aeaf8af4d8daed1503e231c787bb0040b75ae8da8a8f61578986fd07dd040db4aace4ea946c441c7e0e53c290996252fdd570de7faaffb767b63a867f026f61c45135f3845b49cac8a7a74c70c455b225b1d7966dc4938579d941e98db6468da91e2c09a41c08afe97ec3f90fdbe0bf8415063dc2102f01ec549daaf80f91e133846d4685e13028308e2074e9711b3adfd51f5752884144c100dad9b76ae43eb362e7326ab333ca296d504cc7cb59e3bf563f670bf793358bab6df78e1484815c85e91bac27c4d21d7b1b2fa478483dc01edbd6fce53eccc1a7f643e3d91b5bc0ec1bc0f2c7a51fcd671c138d3ff7a33dd80dbb841b41188ec6781da7ac5fee57d92cb71e1e92f3ca722747ede0f9093d8e0c9776d419af96a83195154a6abc9dae1df2446631143b67e6eba111c265420697796d5e15dec5ad0b334bfb4601257546f0a5fa8f3f8818f4eb85afa8ee1c9e912bbe04b95ab8fd4a1d89dcc3fdb4a1da59456414626ffbf9293d76574110bc954bcc3ced0c9e998f8f1df4cfa1649e8579e3ce6915330cbb8f2b43627bcba62c1917c45235c815a5385bdbd91fd90a1b17d1fc47649388708c8a2af4b9ae7c69f2874593aeb89495117eb48566e439f11abd2048946f77ae09438dc95cb2d16cd8a0a017c815b708a20d71af486b6493019948b60e298499a3c17913b5353d5a8fc26f5acd488a7d0edf7ce841eada9b038a27ad2368eba0b804a7a020e14b858ca439cb740d9a322274e76102959aacfc5f0ca373d0a233645ec07809976a1295818ea5a01740b67fdd890f8e4ecc06c940d10433b8cf4f1ba210ac55f7156564e5461fb82b10f4508c0ee603d34b55ac671755d1291b94bba529d00124d48d54a9d273ae0da6277a0fbc5e78b6e0ca019d4ae6722abdc06903dda3a9f9b8f3ee706f2a3746c42d2715a8b7581092841dc1c58de9af7cc2de222a140ba958d18cdf778112ba2d2d5d79af162854c1aef2c5c1a39ac47639d734101f0af6c4cfb1592a555acf76b9ed422901cc6cd0df8f1f8a3ef754ab0855d145bbfdc376f6c7084a935b6e191244856b7bec5b316ad06b5d01c63f07c973b75785c74b977836a9d8e9d7176ad5c69953f55dc945dc7820bdeea69f47cb22fc46c684c161d3d36ea0c6942dbc93faf0a64086dc54340005242eaf027015543d54bc13abbbec51f5b47e9f16db40332bd39fb0f4dc2b079b8dd11bb98ce2b0c0efa896eb7ff4344a21f1ef72f774b4fc676e02ad51c69940c6a661fcf1c4d35bee762d4953a6145e079e28714ebf37857000e62114ba15a9a42b534bd4039ec32a26f15a974613b7fd70137f80d4a7e56b8bdfa5992a003a1c7ab0bf45a44dbaff9a1a61e99e9f0f65954ac38f840f4233a0baa4243f167d9bac54b6889132576ff2ab9fa39f2cecb68be571c363b6d46842b1920e59add1c740d0563bfc0c0744a6f2095f6d24d95e5ce447a460866524a8ab807505e8aaf95db01875a2291577137a0f594c9dda584af765016336e254c3560d854c80b7410adf120b34389aaeda9a504c7654786724cb1b2cc27677ab93c7f59ac649af1834cceb60ea81033ab43c11dae692d9631b5ccee4de86a35f8b9a9fcbc5ee4448c86e5b4a8935ffd19ea61243c2b48a61cdb1072d05603bde44788ae2200811131800edaa55e749f24f13ecb3a3962b429fcb8ae9fdb60adc0cb3c4ecb746ec6479c1ba99d616a0ddeedac876dead2c584101353f312b0d8ea10f0b6b37d07f1090cc30d4bdf5e2e36679923e6df087db05a7964ae7b21a55774933148003e799460fd70caab324a61f3b674ee43a55a9b9077f193d8e2b688f6ea938230c4d9ca3470f6a87351dd422005d76e72800dbbde607e4ccfdec5947546b8cf1310c8553980ba74924d6f87750299dd56c6785ec8da8f326a28ede3265523892488830ae2efa6c26ec072c7d80258824c1f0f67cbb64c539d72a09d55db3ce3fd2b2dd57f574eaac2b13fca5f9a64ee3f56e6fad428da17229d911f2548fc7de63f9f9489692d733ac69b1b6864297ec57ce5ab54604e43163f86dd04304450ca2d4d73addfbee863017f2f5526b6271a3aea546b67e1b479f6d45f4d2f3cef080de7603916ef8380ea9350c5da7b61e340a65ada32524fcd9d684b7215cf8636106adca8114900b89254c8ac0b1745b3a144bee4e85157a6174129f6cf96c1bfcd4078826517010488738a7073b789a8a8d5e11c0aabe659f62f727d4a5d306f4a4172f45ad2791c09e50954da9eb9a01017e5b6c849d6035ec15607c84d38d66cc959c48b6b95992018fd2e1301fd076b17018c8f0daea4eefad1f3ebdbb2cee73667162316f62f4db2d00191b148fb81689616975e4085e37dff7dda2563f126620a60bcf0bbff00cfb9246763b322305966d948ca47bc8d2e2e81dea91d6d15af9550fbb972490c4dae700114314b4dfd7bba4eaaaa45031cc51b64c85997b07d5210f060b36b10e57ff97e37d63a439405bc0075498f78599da012a97de8a4d1c73d694d77c28c0f8751e7d223eec86ed50f50ad17a979192074d69e2f994b187d8c9853db0b8ee7416f98e45fe88d2303b354a656bedbc8646273357e7b33f199b62ac57899d565442046c255b596912a6686b21d242aaaa858bdbb197b8d176ec60694465b23994423fb29f94af331a5623c3c444d15643706e3bd0085cb8811cb5dca79434a17022b1a61aca2b27da0d20a64a1daeefe121e6c001e7b3bb388c73a5bc82e5f931aa89529d620ad3573b264e07dfb733cc7dd6a09c239cdf49d1120a3de1ca570fa9bfb8760f266e992a8211e27cdf3b32e1afbe6c4090d5913fb2b08cd886377760f24ec4b8c0daeb4c5905e14fdfa9ad37a9a46742029065bbd260ee23d37901269e13f80f1e5f390fb4bee6bb458af6d9761b9e6da0f8f66fb0364ab55791618faab639de2b09ef4d13420b0f7037f778f33e3d49b94a91883eb1c73bee6518e155f2343a902ac0c7b3d927bc461356ea383d35a835bba7779eee70b6ec977c7de5b48f974c655c85193ebd70e0ab69c033e5d100687f7334dd2ce2513a7c6a3b58b1d4e0a1a7a2714ef8b586337fe7a72f111b41d861487fe9fb14e1b418514b2a85d293c4ae8f36f75b22d7747b6130933d7b26db09753150803e3fb2613f58174127ff1a3c01bb5755c408c1f1405bf98a20969c0b185048c5487dc6a8a509e3481a5322e2c064a74b823044be76914033ca575e38d903417f39a500fe272c4566445b1cf72d8349e1a02764d4d1a0967ec5b00f38f03275762a3f1b93709876c0e4c597c173524f570582d1f6bfb9cca359aa95126594006992b0ca8ff02ab618db5437574299e91f2b002ed249753db1b0dd7bc6f23a3f6211f88b882bf7a938f322a444b91935eb6e957ee7f3aaad5bc6cab0e8deefd9410f6ecdaaf4385ac03325a4366406948143b459eb8d54f9f645b3b7b39a5ce677bd31032f1e02dfc71fef6d5d4bbb3701b8792114c5dfececa0c4844cda76bf06dabbc85509c37447799015851eac70edc3585682e635c0d0ad1f04ae79f6ab0202da6bf09dff99bf9c19af6bad7edc18d6ebcb30a880b7c22b7280e0a0e12727d267292b7f7d04448ca206aa64d4718bb873536d8f3636c9ed9003082ea1241446874be145b7e9dee50f015ae5f9acc76eaa34c7887b67e7e83b4f780663748daec46284980deb84afcd18199105b55cb9eb71c038c79f4eb27b71d880c0e73e07601d836947338667ed1fd2760fb12b5dc41acca3313a9b4aed4e404f118fd29f804fdffb7710f33bbee90b32179be5ded98d11e827c9f267c1ffe04759c98e13145ed3eaaa7408be4340dedb9bc18d06e3e779f24e5cf1f26fbb6c73ea582c8833f582ec82d3c38789f79a9604e966d31d6eca67e87845d142ec8c4ee2cc480c5a20a003f0c8290d6ea232ae06e9cd732b4522614071ae1e6c694591a1c21b2ecc3e1e45c443d3372818600cb11602ab47587c7682536e7e83ae3291cd34eaafca854f1c62cb71176d0a9bcc66df4e465a0be2b513ba958fa175de48441cb625ead171c2262e5ea8d32b36f1bb1e5b5b208bd08a4bead1dd14aeaf3f4b049837394418a1da41033df0547ecdaad1715482e02fff7c75aaa8d6ce2a3866ef2087ecf9abf8255d20a362b1905f624a3e2ef7a5a2b9810f7fb8e427720673a6fad7ce92e83a5a33fd31b8d8766ef06a974218fb6ba3938a226f858d786e79b767ee419f90d1d9f70d154d4b8717fbfa0494eef53c1a616ab64b9921ff4f2c0658b5498cbe703ac6262fcd05a08fd9c07f1919f714dcecde213e4ae2e7df2fee6dd0cf673f2c97e75e160627231ff8b0c415fc05d91246b6f39a82f9eb508e1683e6167a6c58fd65716f77d29f6c01ad85bb9a692f1ef4af6848e585118f673fa1de6544af3b4821dc74cb2dfa164253e28f98b1b763517fab6306a9fa614aafd30281a117a7a73fa47b95ef381bd5180db2805daecb297524128eb15cc66fe1d18a1a7c6edb14d4da6c81f91c040d3a6457d83a10f820d7f844b6f4a2eee69f3fcb24712d768e5b2ed4602f8d3fb6cc6383bfc8e87edc0d70c6598a0ba1aa7060608dbab4c5aecf83e2a4de57489dd98e6bf1feef7811c81dc166dbdf061b4b690fd32a9df3885b93fa5ce8cb7b8a6614fc22ab2de78564da55ae904eeecfb0a13beae680cd89f42b0c08a39b31f383efbf8138b2ced0276249c9ec38d45d211b88d9fbacd95a1f0af9b9fa1b4c11051889956e1e7ffddc98e280eff553e2d4ec813375dcbe7eb7c19ca03676c2d02dd86e0774fbfe4c01bdd29da9034e422dc0761c91215bf4793d98d76e8bc027d2d9e13c31e0b129fc06dcdd6d49ef659397fed958616bfcfe224c559df84568a92a80ec163a59e1108ec1b3dd03224d9857de955e42dca534d551311f8ff106c48a7eea9e165fadba7295509c83ee1487b52ebaa2fef89047da55e923e13abdf34a48859e2309881ed16ebdc093fc39a7985dea922b915929b5492135be978394c307a7615432a0afd9eb6639f9a300917964f0308c01d311ba39ab380c308ce0b141153221398440bcfcd2aa040dd76aae7cd630b11636b92ce51ed346c84533375b41bbc6a762947cf162353972a8a9254eb12eb23b45e939839f62b3f4980d9061ee2f80bfb9edc897d4575f9863245b459ca28a3caf07a2b165865a17c8f4bfd55053e68733bcce7a3369dcc0093dd3cafd329d99dd4e945c55f094a7034998600de2aaff26d12cc1452004696bb2b2f259fad1794c13dcda6c9dd311df018a69eb85bdc6e278543564da3952ce86a3e8905fecefc33ca5494957b7cdcacd7f220f80dea30c07ed01442ffbb809230ec17c591064f7847f44ad38c8c80a2facf18e3928324771a153572b35ba689aa5ebd7a0c24190310938130e76d29f4ec338679a7f115a9310081f3b648e965df3239704c639d030c6f3dbe17465d50a43786a492eb3f7d6bc8a5578d0fd5346bfa1423fe06c6b68c8c70197be1d06557e4eecca20576878031b5b15df716fa02bae3e9f46905d7a0eb05b000cb3a87a4de8f4df8d636db5a100e5e36d303b78dabcadeeca9fd70124237caa0d5389dd61edf03122a993808aff817c0b91b827b4b6086ac012597b64b37c4f76688fe977db2e494721df9e6eba765ca4d0c11edea74490cf12e81b68688d0ac2a0e9ef03e2a336c33f1e8873dfd73635e4c4a3c88a249b003e7b28251858dc2e61db414ba708419818ab18ab64085805e9886accf8f973e65786c9846f4df49d23b7fabfc144ab6b755083af52ae77e10ee31f806df82ffd86b064bc6ec7c6bf835c4d50092d45a7779660691a2e76c8015fe2aa1813162c8661f48c7e68ceb92d51855cf82ee401ac01d2317280baf3b2d392d9689de6c7b0f04f4685fedf27ad3e2c387f63022653080fbcf686898865f588291c132cdc284232d4b0c63a434260f7d873291d33fcdcd5ab29c200739843c287bfa263172235292aca28e7c9a880235de8ae30084a1cf82199bf7918acf23bb7c6bd432d9ec2155fe65c30cb03e5e5270ba2c7fc9c1cd4ee42cf030946c47065eb3a6dca9fd00b8b2ab3272b76b9c584b03d5cee245317a524d90209914986d56bcfab3e261093353da07e733a5dda58bd2478c1e3a28f33cb769c2c8073efc7d7fc0ad8a24a615fbc57d50c0e30d969976e9d527498f18bd248bb6049ad52f6cb8b69d4e505422c0f774c8b724188b61dda98d1cfbb0852f053049b9ed6d17d808771905161c7e5033c40dd7e3f8f93e6cffa33435ce358f9e8c7a314f638320021bf6317f602ed833ff58730c03b6c9c4ef22c342a82ad8ccf5a6d75377ba68c7c77e20c4f1fe54a90ddc1b4d3a49dcdfb7696979e831078157aae2d7b6224150cbcf954087569ecf5e81a1c739c3ba8be12864dd1eda3328a1877186c115f62376d980078a28b1dc2bb2d88f93da03045a70352769f55d9b003962fc7078677fe25aa60f744a728d05d51c954dfd77dba1d387bec0097cff365754fe20f1cfdbfd928a4fbf01caac06679585fc3a425f0ee9390a9009efe99a77ccbb35580f2a347459fe72f0a9baf5aa5549a2fb2758f1fe4b59ae4e563c7f67227500099148773187d14dd060e5cd912ed37dddc845cbe63eeda1c81cd2a8d50044ede5fff7a1164fd6fc6b93c4835321c24bdaab2eaa49fd836d84dddb8121cb3b10dd517d8aa02dcc9604bbd425c82146453064e9e1df75dff117ae7c4f16eff82b19653e52ccfe82419a785d53f509d38031bc58bbae39a232fc998dac1960ee5a60385009f0e9dec77e2d5a7d4c81435b73df6ffd89313f94846b7e2ff2fa0aee70e4cc489fd6a100b556903ae4e11e02d78f3c9d31f84e041d06435360404c956e91c55920454c87193959c2542d92b3053fb62fe0cc486deffd96c5d86e69940fc75f7bbe67324d149050bda7383b3a71b9e730496f2d80752f6c6fdd3d23df49173a6aea85f9502adab70b92b8d65de1c3d65f9483063ba519263a4a94a24b2d801208644a19edabd3c0810981a94b16822726496f13af129b9a6db27ce9daab5281786bc91f12547d1ccd4c2d99c80e4363bd692c4a1a527c0604e25d4ab5d1333b70be7879ed4daa89199cd059bfe386c9d518640090d343a657ba54ca6e8060eabcc3ed226d01d1367f81537ff3408175c2f6a95a69dd6b6a918300100b86992d0c87cd09ad270e4daca95b337b6134d3984b966b289125550da9e66c5790055f0e2e61e049a60ae1da1087a199d9e90c04dd7848136b4c97d9cb2e3fa473837ca555f34b128b452ad7e19a7dff3080489ffe466cc0be474d9cc6f4573af5d734f722831a4b061b5f30a3ea72be95beb50a3a455843d94d5bc80ee358a140b450d0229579dafa33674d6904618a67e0f8ec49836e70bd45d0ee332f61105b43991d0ead63a3da570feaa79e71bd69b9f53bcc87fe31351a6a7eb7986c0a72b03d72bc0ee22bf1c7d55c056379055951b58684ca87fd6ba7e2133d24ec6839cfa86a139ebb42f5aa52de1b4be78e7410112e5a378052c76a84ace8a0ba40fcbe90f06fe0d081bb83883ddf6f45d48b8811c2fb8e7aeb6d7dffb36f2fd85389e6e195bf5c5858561e53832d3aa7e46f5d041c9ef843ba48f3f76367c0ea6d1aa37a92f7bb968a53eeb6cb9f28d8195012c878fa7a7eb4a1f0d1e9d53bc65bc26fc35447f53469be541333dd6fc611b26e1f7dcf1ac9711060abfded12f1fdc4901577576472e48fc244f2f2c1f25bdf00e92cd80df18e01627996e6b23b1b776b50a1b4f1b2dd4e4124377c34385269fa2f3082711f8b0c8dbf60f95165c6ecaa63318adeb30acc00e20c7fd889f70fef093ad288db7f59201779d415146710bd19589a5838c4cbe6bd535c01e03115957208932a472428b5e5944503ef8e416b4112c93154d85a2958935af3578cf953db67cb582df73a6940547afb9b693b810555bc7d38629ba941252fb8217086a94e28cf55fcdfdc8351c22ba71bfbba18da3a9f20cdde148a8fef358848bde19b383c8ca6ebf1e4061186a48333035d880b53da40fc2f3eae96a599ec0681376dbcd1efd7307d85ce218b1108f0f531c86d1d62b28f4bc0561dd3ebc8654d5b28ad56192a59d5550e0f29ee95ad6dae6987d0276c242fd0aa2c144b84240d3e40e8170db3dd458dab022f89c06a57e90073061946ca3e659696ce1066ef46613b550a5a9300f4085647c8e97f99f53f635a866ad0025c3dcb4edb9a9f51d15e454c57243df3c55478ff3b3e464ad31bcd693ac72845063c8701f7ec4bd528219f93d2db15d883d12a06c237722840bf630b88d82139e2a3765749baa91231d199f95c78a60927992170dab48575dc3fffaaf4e7d191dacd421cb34b84d264a5cf0182790fcf5c5f531252b6cd8d341a0373dd016db058e893d452fd3552d55e22569108e83cf3aafae1975736f3d1f938566d80f3d4089ce655aaa87ceabd5574259668d39a0bf71a238675c5b3884d57929c3e932f8f4e21e3a52aacdffc32740ef2ad0a332b0dbb7196cdbc4b807899ca1b52249451ac5f419199f0401dff4d31ae214820a352a5c9e0e42f1b83bd71c09cf6b05d7d19e28900cc656dc720f85437e9e429c83b8ba05824e5dca22d37f4e263fe0d44f603f61af56ce746e4f8fac80c9119608152ce74bb38580b893ffdc7b2bb45a6f455091fb401e9229fae4acc1f0ce8b910262f088e7d6320aa7e4334705feddb22f01069bcc20918020f6b67b6d59beddd2a4edcefba908afb616ef90b4bd9f211e4722e0623d09e5136fe33c570a8f127b41fd814cca4dc05ec643d84365dac3688bb5556c303604816fcc956ffd2813cf7f19088726cdf396f5d68abc7d9bf4b4556bcb3eae268bd4617cbdeb26c2eaa426836614706f112308174931ed7b26eb68678064a0167472c4bc653a21cc38bbc4ec295110c19441fce6b5578e0865da9d0abbdc8819b81d364e1a165cef69aa1adc20dc0dcbe32aab559c1da3dffe433028fc2847945ada39d7e37bf4d8ae61d55352235d239881fb257457e0968c018e7d72be80d874911d4075a0bfe94ed9dcba4d99ae1331a4d101c3b44cb778e075223e42682a84f577d4039dd82227f9d7f1aa71bb1982205a5c0c0ab904d8c3e2eed1d4b5e850f3b632ea35eb2dfd8fdfa92727123f5df8e3e11ac557243997d9713fe060ac4ab4f1c91e10698c514d1b3a56e8e7c6fd5c8d47bf0026125ddf2127f216832badd4a0f0fbb3af166e64cee37bff51ea712702ef9db844d6aacc6f939c68db58b5e16fc4aee193a7886f2a5a994634ea0b409ee05974be4be5dda5ecc74f8541ff46d3c9763028c0617b6def6dec9e5bfcf75c7610dab9cac20c7c012d5907b049babb090a6e81d5c9690c71d3a4e8cbadb98cf8d1e32701f23bd256b1ef8e3d5b976da74faee4c0b47698b56e5689cffa430b94b89989c37fd9366dc9375d69962fd6824d88b3c3e556d54eef2a0ca3f4c8e7846c940c7500a624d7264ee6612f08bb2b2fef2fbc41b6d8f68c151ed03809335fc0182840b454f97f310f2d87a01ebc76adf181aaf0957700270d02ac4876836cbcb4fa062ed4b863dcc8d1ae5d6788b30af2a1d92b75fdd2e3c421594826fe5071e3c6e782d0bd8d11e5280170c5af26f6fa3401514533fc671d41faec85801a54b9e97e974d0691aeafc52348744c12e98cba849959b640561be19a1d695406442fda8e2fde7ae8cacc67280e7ee104b50eab01cabe16fd4c5d6bcd3271c5852d6ccac6e6043c66cf42d00a5b38bb44101b6de6702827f89d98ec55a419e3ffb936f8aa8be5cda143363497557c77d76144af157a5b074a3e67278eb8449418fdd78eee622b2a52fe006d47b07583f9f7c04355cd28b23b609728f977c80b0ff1503dff4e6416f3fd206704f3463a899f2e8a439948102760083fa0521c842a8591e3fc275e1a04d4d959b0060052128a39c9852bfe7e38baa4e8c778d1e0683c78aeb3f3efbc1640be6739d999faeceff70f545bdfa3920542085c55aff88ad7e92eb74fa63980023b40df7ae77dbc47ed712a7d18790240c81e153d214b78cf799a9d76ec67c43eb8e2fcf6598995c76de15a9d97f87eb510a552d03bf51476a2164c51fa9a7532c92aea11415de6dc4a126b2a362cf9f16ef60ce60e31088c3bd2efe48ae94c9f04b697c9c7e193368f354ac7f6b326bae08d85e8d3bcb9c125071a6a096b5cf159997f930d53dabc49ac5b189835499128cfacd9ad0bb89bcd33ebf6f6b6519bf9c2cc5d0511b6ef72ac35bd0959a5ca0143a250f3efc87ddd3e975c2d190b2f9ba194679f14eb9c16d5fa1070dd3b39e85a7bfb1125c41d834e9b276dda74e972951cc7d73312c6b32597d582729de020aafdc134dd4b153612a8848a19b4a759c56d798f5d60d4528cc12b6b6ce1799623b0e9cc51a34e4c79633af718b77fb037ae54b14d20959d7e4f7109b8c63e2d6278b39aae8d57353b3518522537a7e6ce2e5ce929dd7970441c37d8eaec739fbbc187b948feb2e0769cfc34644cf8f5602b17750ddbdd49236b0daf9b241623c246dba15ab9add8408e4c39df5d7acecdacb73bbcc777cf0dbe0140d94bc2becc1dee18281003cc6ce48ae8f4f66e64d2159ca58ca429d206449e53c76466f29f62cf16d119821df45ea0ac2f8d3c40af67cb1c8ca86786b2fc0e28a5b9f5d679762195121e536f4cddc2d7fe5e11223c5125787a92a24cfc7162f94f25b2f5f82bee90f17eadbc30e1d33b55644e4792342cd6eaf0ab5596dbe2f52c7ea7daba68af3ddd7abba1ae34c8ba83b166c201960d90f4fef9bea865d2ccf6452f95aaa3fc857726eef948093c90fcdd77626d6a4d84f0390ad7f57efe2b8578fdb4a543177abc985def1417f9a5a39cbfb2b33c97409ff2abbdbae153daf767f53c66aae2d85c0adbb21cb1752ba73395743e9dbeee99f68aaf601435997e4aaef20a2956d77b049ddcece6f32970bf8d92ca00f8584443c3c1690679e4b68353f9c2573bac3fba3c28cb75dc408c3676bc4d4ecc465d55219ec0fa4b882e45d54273d25e9a6414705782dd3b5fa58c39f774649436713c4fdb938dfd03ddc541c00bdeb460a0c7d15afbfa61297f37d5b60cb13da92f778d177344e34151293cbea26ae4b589a8e549382359eeaad44cb1f817b8e2c659d1fb2be40179a417d923568b63f6d41c3459db592e99b29a2c825ed4cb395d7e81388dd2eb14b8f2afb9d2889655ab4b9b1fc4625be4c17403699039f475fd5326665dd6fa5dd438cd3cce8ee6b128a4add69d0563b8d8f4af0b0a0ec34294a2a9b47915cd21b04e2229fa1fc60d8281680b85b5d19871b064267308f1121df62c57e995967851db78fae3adf806ff65ab9b3e372420d7f18bd310278cc79610272edfedb68bfdd6ffb54b3db1ec06996a2c70408225bf59a455e6c33feb24664957b20be8641a6ee420eb9e2a1a5a6e3cb0eb9d9e7180cedd67740a081523367930d48b902a0624395328476178475475b78b78355cc25b4aec2cd49be14420eacdbabc5a38795fee1cc95d2529e167dc256cf6fb488d7139547487c58ebe08c2bae2e0dbcd7558c4b062b45c1251e30fe437eba1a0848634f62f1c2bd905e517ff05f9e13a9076c7d128030f42d638fc379f0f222f7804b2871a3b7d223ea3436859551e8b0f96087602d1991909cecbb60ac1466a0938f9b328f0e2944d9964ed93bfb592d081844f1fe997d82c45b7df9827895f8baa8183333cdcf9676deb7bd7dc7909d65e8cb8b5cc996d443cffb7190f1ede8f61889764ee03e3ccd9a3f56c509f11eb715f0108b468f258fc6a8a4ef27c845b11dcd3ba039787e52801148f8186afb2c10d9b1e79a5a19ff902b613492759507acd89fa7fae88f751b17cc3bebbb5a42fdb59d2fda5480e2443a3a708179995c50720685ee97af41ab010016dc0ed4e03172261b314461fdd376f526519ba8131bea6f65e797938ffed504a6e79a079adfb6e89cdf7d9d353277c5809b45bed1d1df725dac8b490c65ce7269f121d6b1e5bac67fa8adb84f21cda2832e66ba19bf7a012034e6d83046c6b86f59b8765e45aeaefb45645152cf23e041988e9e60204a49db59586f4b0406e0747cbbfa7aea09a100ff7654908f5f7979a0a7e1625a078eb04397cbfe68b070d79c336c0771e429c929c7108ed96f213e86915bcc97aeccb8bf55e630ee9b0272ad9c6ac8b3616c528cbffeb3162bc8ecbcfe9f1c351856a3a344b748da9234ee78021c7792926895be6de8324723229b7e40bf658461424731af01faead15d8b1e466e43ff7844e2fd9037d675e670c0129f4159c62c774e0c2800edac8135e1c28f9856db3912d63d3d42f57ad532024418016d74ae092103a6875d26b91d1ca257f830d2232eab60ee565896cdcf0842db46ffb417746cecae3a22180c9978527d8d5b5883f718b9ecfa54ccac05e599e1336dbe04efb2d5d35c4e0973a11aa9932f13f5cefe01ed1570025d3227a1f22052e5aeb5dc3232c8ced20e7a41cadd879aec81bbc014d9f669ae12f6ca0adac5ff7a4b2b4643f2c58b4975dc8f8acdbdcc655e3bc98137f4f1650a8294bc5a587beebc5c52617e90a106a43195398ee26fdcb9d88b5d3614e77c9a03f0c1b4db0c2389759a8591482be43dc840d01aec2fb269e5fc40ffb19fc4ffca68a0c4516c8972078324cb73a0884c5a8df3f8d1818181bc9404eaeb437047119b5f57c7b998c50ace56593321871fdf780e39af4b9baad9b0dec012f1c8c029b668f7c1ce6b5bfe738f31ab0b7c42cb10bf8ffe262309ba664cab887b34f44817ab13fcc81245ea753670c4f74d40448a75a5ebded131c9c6d2302f4c506d3428851b5ab9bdab8a6f9ba0bbb51090eba3f5f43873a64f1d210fe7a8e86342b2c4e0ec4747ece636ecf1ba11f8b2b9a7633aebb52a3f7fe45d33d1bd36defd6b72923561774f0505ca8aa455f8fdd4f5b0d29e654d8244800fe0fd4db1636b066ff23254c7b5b4768671eaef6d8d4858b1ea4fd2c8fd6a78cc6e642662a2ecad3c5d159b0652ee70d19ba583b658521944726c88155b92b5f5b96d6810875bafad0d509cc1bf2a1dc8512ab1eb36399e85df48e7332ec5a6b177e239e0f9de635f55f982b9c875fa36e89539aceeb817b7aa221b04d995e3126665a9cb0de387b316c2d39696cfd8c56b6abbd8a545f35e745a8405b0445335713b5f9423e0cb0056226c5b76b2e49c2af4ab800e54d14bacd84e9e56111ff110d834664a99bf62f85248bc02cf9015f6c3d1a2bb2e1cc0921333ab22561fe314943ba3d7e3b7ae1ed326a991500c33857c3cd1bd4aa0105a46c0104002664a3dae6a35b817dc5c073c6aefc9067a06f22971d54248af5ce9c36066a24df476577ad33704fc31422d9b311f472edae7b843e421c9c479fb6519183c918cf7443dce06e91899df8799c9a1c08d4da3cf98f69e43b34b031e516a69832b99e3bd5e53f779d83c1334ec66aec50e6fdf5e23d53091aa88fd646fd3a5c270f1b5fa61e18634b48cd0a85cee44c2292d8b912253adb590c32458cc2bf3d74e4a23b4d6ac0832a094ad443c7efc37d0ea9cad14574b3ae1810b5c0a8466cdf8629107bb48685c17cea84d83b53a8302c997cc976edcd63b1df36b7823851e6e242a750015144169aa120ee30bc97da8a36d28d66a2d80d6dec277c329ff1c4d5af34d921021bd2623e2aef462da757cdcaf2a625acc2e0c28bfd2f1cc02d93c298d9055df761250b179c1b751a79ae49da175beadb1ab1565d2e5596444b97ebc7d6a86e382816683d7e86b2e594f1a66f743687181898795a652015577526242902ae445a13d1509947af24a5eb15a21abc9ea76507f99244e1bb45975d371c0b3d96b42ba3a1edcfbfe30a4ae761a0ab938c797c12012756f492a5cf7e106803827f9e6135eecfcd4ff0796fbef3b8c44a0553b996a99de212ca48f26e529631ebb93f005cc688d4345b608313fd4056654874578a0092715e11f40f91890f0057cae569f102f266f71bdb86d9887ae8ebf8105a1cea012c842edf3834104e0238c7f2fd8b785cb7dabb78ef2bf02a8a20ff6d938db47afc1e7ae7bc5729121bf1c51d9f99f7472553a45838a15027b8f22d22cb28182054aade6fad2417ae44c035163b16a63f5ac25bb99415125f388905e07f905164005d850816033b1efbef171153301ecd6e6eb787d01135584b91847c3700f7aa6750ff0e64bac66918a722b6b09f3f39727db722ce4d7099b56438eeba5449462d0e25f725c18a7c9b495c8f4f9b93270a352210bb626f165d556493856e0ab6e5e57e176bf8bd23f69ce2fce1cddc32efd0bcb85301e25e67e5c61470f7f117a5523479755f22b8f024d61caa49278087c71a94a4eb6658f242534146a87151e156e846a2dc51adb38c746bd565ba7a26a297c0a71f517853184623a8d4dbae18dcefae3731e23c8c55e1e12c74ca4f1251862775a6a65d442ce68640f04ec474e15bd2fa00ff6b7012a1f4b77f310df394819290831f1c36a5795179f4cbd74515fd24469a0949cecdff26cff51d77759b81c0d64531841dda7b17a44a914c8bb2b134efb1a21b7e2a75ba6df7a0337015d789e69ba976ac0b94408c7d1485b518261df84c744d7bf60f02174b570c739c21e892b21ada4a7bbec47f52c68c23e3a9323e54bce4a68e1340e2dea1f528cc4e8cdfb790242f927b267d816c1c1b4537878bb42c899511fa023a88a1392532dea7442990af1c92d29ad6a0930bc130d81f31eb98c911b40985c36f5688ee6a4beeb8ea7b366398f12195aac9bb9719defd9809699650c244e517ac851785852b05fe77f7d33b21cfeb4749f1cd0c37fb2f584dc16d06220f879dbbd4fce477ed57f4ad10035f86a47fcd91b5868cc320b9748a38d34635a1d90cafff3d34fc628207b2bc9e193184806abfb4b2458b87bb39b2629770f3c4ce776fc1d441db331f45eba49297a29d0c973dec21381b1017ac9e6d612c3a7d2f0fd076258fdfd6c8f3527257a557654f9aa6143ae6e7b19635ffd1e11a1a98c8577c02efcd7bf5ace9ec03d53329724d0aaedc84351ea9edd1615f6af9608d3b94171e900054e1ec9eb18fa9f0e7ce1c4a13bd59191ebde70229f7f0516c1474aa92c3452cd52137fbd0688db23c69cc9316713ed1cc5005e1c4f263bb2b34d34f7d72b18fdaf3b5208536cdda23b4bc2791ff7863b46ca9e4a74f01bb1fa8ebd2da5fab3ffd9bbbfa60d5150f0b1327147566835d8847baed978b5a74ca3231857610823bc85681946a41a16b981c9225552f83a20150576e085c8ba7a57fc29a363c70f78c68ad7368e1c57e87b1b8b1be7b28d7c114bd4fa8136365eb2b2b77c48f352e7a52e70249ce364433f046035284572963327f143626145a05876cc3e6356c87eb9ef5c82f87bd4d21fecf62a1af835da681a126d1f04e9fa19cd1358341c897d2ec078a052604f35383ef3a46862e9523fbdd8503989ba4a3c940678ab674d4d0a5ed4aacf7b89f715cdd4dab39bbc13911b5e1d96e3495a95ae0d0d8124b16181d325d054ba4e34baf483d95bd34a02cf4cd83dd0baa779385e7eb6f921db3d731c18b5269efd46aaea8587ce73f0d4986fc6a2e0e484936d43fb35477cb63bef232b44ae7dfd627ad9cdef27d5a615c01d6116641bc51d8be416af9ecc6c8664eba15babc578ea9823f42bbe150992d9d304a3a98214b994912d6b0a873b6365e268d0446601e09fff82fa7e8be7fa4fa6104cf9f1ef9234611bc9ddbc4813adbe0a6420683aec0e09a0b27bac0adb22fdd30a4925659ccce463a595c1fc5f20172628a6e33a2d8f9fd0be6471ca8a4ccd98e06fe34c74b6eb9ec453159abaf8d441105acde99219acb322167a3d7951db4b439fcb90298f01868ac58410aff835ac3ad6ae7c43a77a63fc80da374008944d84559a72edddcfe7f34a89a92e17cf7c5657e84110c664c52dec76d62c0508e039a31ae3f29647e443fcbbacf0c8862030d0d104c167b095064a0854f513cfa53e7dcb2749fe7ecea3d29b42e927727d2b6b819b52cd1a78f0cb1e86b7743a7c4aa8b25bd3019596269d50e52a18c609a7c494bc2d7fe8bdea6d5aa046db4da5e9a8d6086467e3f99b84f664ed4890e26880a726c382d0f0df9e46d6f6c12d056c6f865c92f3f08ffba15e65c21e88e2859ebe0d7f11ce2cbfe8a55a1a389b05acc178be2c189650ad25a9ffce53f65dcfbe4653e5561959aa1ca0b96879d92ac2183f4cfc499c8e6b0e6587d5a9193e6d4a16dc113b7c31d5977dc31a025ee15c1f5916060b9f612e30de7e268c28e7a03502ff5bdb97002b3f04871841e251564527494b3dce8b4ced4620150a0fca41681ee54804f942b5ad073f9eb1428b24979cd076fbf20d662bbb96f42542d019e97074e573aef524a1d23d825c089c0baf9858a06040d8a5cc8383e8078efae75f2da4bb5ca996282ee1517f5764818e376bd8a1ec00d9d4e3ac3563a1b813f5d9524f5b1843645acac874898fe3566c41378f819cfd6284604367503363750a82201c5d588843fef83901ca17b8169ded832c6d077a2f9ff7588d219c939efa47261ff6208c1bd3dd089f9c04dff2ccb7f50f53cc60b5f953fc7fb39c921770a52f8bdbb34e436c3dc0a50d257dd5d9a617bfa7219792e93592c5c4141f04b69213b3da41577a97915f5d53b0541ac701b2dbe8320e4d8aef6593fccae1dc417c7f83d4422660f1b0481c8fa78844907c9d0f786be8c3a7c5c4a330b91bc69d05d12e69fc37fbca59fa422da3b2325fcea04143f27900ccadeb311912b57a281e199fada5d8c6ff62fa5700649cb0bbe0495e50e375755c417571c9f4770f102e615cba91cf61ef5f9b9d55652c78c68568d8bfa93456272327542db4af05f9b8c4b393ca071d1677292c43478f67e988d7cd050aa0086f235da90d7ff69efeeb3c9f984d6ad3824cc3b13d6df683a51a1014be8cfa3302e978982993d3cde2be143d850b6b73cd12bcd9ee297ab49448cda8e2b67f8c40515f44a831d20d93807067f563bc523d5f81399dd5dbba603a1d44a0abc1af37b589622d8b449812253d38e015fd20dc0522e425cf1f62630fb85921b9a982a1029717fade81daa78395e8571508b842b4c9af1cbeaaf9b5623daf19ea58c0a0920597126c57ff9aed9fa4f03377d8c9d449c6d36f4b903e6a52cb396730758d7b6be279a2bd80a3bf80f3220a52d321e24f0508723dbb5c9d66d9859d5794d84a9d544b53b9f0bab9f2ab046186eb04018df2e60a6df45d55fefc92714d3aeeef5b85de229b1ac535be8e7329cd566ff67bd8d7cd733ffe318588498cdd1d73a1fed1523f72e6c8dcce0239ba6f87002e06acf9b2ec96966f0534cd2ed71945e4b4d6804d69c2177f732ef9a6413ea874cf559cd404f997af1a2b4a47caaf5df1a927cf9ca3c73c58b96016c9cc2827dd8c023600688c6facbef38ea68541964201068183966b7fa4966ad74e52c09f955dabc800599979a04dfafbc58a9b0a6945df33abb44683974f5d4150713387778f7baf50cf53141f710815dc2df271679ff58cb1d8c1023a50bec40def6bd32e5feaffa4d16051483c6983c90930b9d60905bf5ce382ad6fc3731ac513e3681be4181c9e5f02deb14cec0a59a6205295751f6a42146c56d6594713134e158ea3895716a6d194249e3842ecfba590eb111c271c56bab1eedc3f07f1c413df91c63086d0cffecc62fec696132dfab4ac312730f8dd8307d2d5264290db32a691e22ec2dfcf1a268d03cf9c370d1dc2e7881a902e78f80d1a3139f07ef98d5c845161b3b6f9c73930b8fce65e4ebafdecd284955070fa945bf128baa25a4fae51a5b265220a06f60306bfe0f6ded008333ad5f9612031712655b3beadbf8305f3b5fb04387fe95b9b3b9869e500d597186e53f671a8b0ed0bdfb35a82fb4ed434dda91d77106398e1ca9ac060c4b17838ad01aafacc457312404b18b997c9bb7803747f881b3b83e230755333a76be4f822167a6b02fce4c7f0d4c7cd4bee7f010e1b52056c62b58a56ca43825e4314236062d3b50ff48c010c3f7013243cd033ed2a9838e9824a0284e3055ca0efa6bd85345065692904cf0cf280f9c716b27c45ed8c44dee8baf57839622dc9d7de26cf214aa5b3889ac3e113bc3357ce27fb7f30f9d1bb50fb85f188dbe47ae9fd8536f98d227b31e39481a29e5af162933b831219a3603d5d48a085c1b197c1b6a2ba03cd8df8494b60a7967712942378f5f3408710e6c8ca3fd5ad91cda3402126931d534e8ec8662b24035cd5c3a47deba380e25e05c1b5c2bbe1826a976e24625c722d6aa7b7487679b34cf60b5acfe443b18c6a58644c1f7a01225c4c98de88d6be84b4af4c6f86cdbfffb9249219508478a23607fd5e917779de64fc3f75a1aeaf31f01cc256762664f01cd066c93c66e2e08bb59669f1212057a49f9e324d6763de7ab81d0d684d41a45a60e02c2d711be7c66f8d712c9c3f4080391db67361d4d474c09e4cfb59a1936a9a877e66534acc1db9c08634dd295693e039e97a6c32a5fa0c4f52cfe53c7309f726699d73c6c553d1ee20da07b5dc0403dc38a26e08936c56254375f606c01bcd482620da55549ebd8bef8aaed43a7e79164643f4730bebdcdcbbf609d01f6d14c885936eab541c5a4a8ada7089a3f294afbf67d00e4a55dd513eea1f52205f2564b22b226af77cd5b2a8f14bf3e9c7215c1064434ed3b3e686d1ec629265282ac2e927c3ed4ca3c6dd63b2220a42489a3347a010b4a72cc7a39a9c9da640d465a2db04521888be35787d69fb59ecf3b5fbf563acf755ac9fabad93d5cd7bb23e0004cf855a900d878160df672001c8305a378b15a6c9a7ecfc7035e0dd78a16b3750463f862497b750f9bb8ed0d6e31f958062be8028a6999b0d40789de01e2c39074e4ef052d3de99da76b0f94bcb81509a4a34fb4e9df435f892916930645dba35e8ca3022fa36a0c54da782c72b9ded1b31712abe62a2228ed8d395e71bf23b26e156df960d1d092f16cdcb54f9eca7cffb564a995fe045c671b4f235b1b87f1677b57556170184ec0641b862e8278bd2f6c978334fe7a88b9f3e8c19c8f60d9c1e6de61e1532d3ad0a4df386efb52911fdd32abd2dc946e4e523a4d1f9864614ea569455d3583b43cbd449e7c71b36e906fbf0fb78c42f392b0bcd41d615b598d966e277188fba43049064192e6b899fa383ae8d83cf3e9c9e387bac75b6cc261dc4e30d876d91b4eaed7e60dc5237527321d69518890ba8e7a32515a33acf390088171ccc14b001fd778df453978e0ecd12850050a6d3581df76f7adc0eb9101f892dd59b66ede0eb45b8301946bf97b175789466e4030fa92f132669a059aee20530f4ea98195e15d37fcdadb6ccd3c03202758b8c2b677f7e3ca444652d18c2fa2a4e4fbd269c79d7dc927fd83967a1ea18feecdeffce20d6342f45db525b4acbc752fb96190e3c7a8c178084dac1df90ae0b985871197ddc9e5cf0d1c465aac088b0b64d8b03c8239b92f749b52a359fa6a4217fc664cf6cbd020a52fa98b2f2af627b97c24b73ced25176defdb8ed4e47ab5d2f1c86853a23234efd0e9f68ac3612d95a73bc154e387b2710b8bf36542bf15001d4630ff0a7c1ba3177de17bc8c138ff067f8013832878e776715b9790e8e6819edccb2816001e311118408b813ca8c0f92785afee9f74e8a451579c65eff44baefe1c09189fce78e3e8d6b6fdd2de18d3c0553bbcd543842d9fbc6a7803b2b2d50b0eda8a8281cbd62a008ea577bcc6490029e81ab3a9eed69cbfd700687523db7fbf840b2c41f8452e99a5bfd70b610d76b07375518a8264026f9d1b48edaf7bc2de78095c19f4f2b9e2e35c90367ecb9605d7735fe62c220e6f685ca1f9e71d845cc47aaa4efd613117fbd124364cb7a13e3483d455142e2fc3b4f59bd09a500deaf9b945978cb4eefafef2adf36a52a43f690b87de1438df485779b4e8ec636974261bb7bf3a56c3f3b84a79ac2e76665f58751581df8fd7dfca3a7dec6380fe14e068ba1cbe4cd6fee1441fdc8328ceaf22603e0e90b79141236117e5e5abfaf601c5597468f5e36c9c31ac1169024c250c612bb35e4667c8c2da12ed2f9381b1c26db8ca171caf12fba7b9946b4cab98e919bf01781df594220adf3252d5be0435b7d426967bfed25cc32789cd97c63d387d0ef3d891deca684eda58d04d8989548507fee33ceaab0bb1e1ae84bf9828d143bf9b190dce6ef7757d71e51a83cbdfa41fb8f3f5f62ca7981591fe7a0b508a87c08079bbe6a5503be5889ee3ea21c0c2f4208498f89f12ca9ba82808bef77c4a8cb34f6b7840b2f5dd12bfecf878c49e0fee1d8e02192d0ced39c578447955a2e431f6c2b53332c8f0f7deec71d568e9d9ad92975e1a8c263cd33dcfce55d922cf4ad71034532a88ecd5116d53cd65ccbdabb1af0ac74dcb4cf7f4e49077e27daf7e864d6082a856ddcc50844b832ec30db348babf9bb3d937db025547b0d3dcf46b0d5af48f7c946e267b4a0a58083d5bf3184c012d5d9243aa1516efb00ca5128fde618ad6db0c732ad28c78faa202315a825d67bc6ff95a3874b8051e2a48c8d7cb3b54bce2a04705c8d36b45cb870f38f64876ffd718ffe80d9b2d0c8197acc023aa3460e56fd14c11a04bd8bf64de312d693ab7445e8abf137eaf5308608f1f6c8484de1afa9252c76f3fd00ee0d583115444edc6e9df0500d43cc35c541ecf6f16a6925a74b596215f52a841586ee6fe11f46e34d7f399f14bbe41a855262646bc317c48cca42388f997be123dab1d33a2899d032a07d0b42eb6e9dc6a6901f2ce1b061957977fd87d8195515bae24807cad9d5e6c64b52a1ac25fa98fa10cc701fbe0f0f50ba061ccd46ca0c0358a4811195dc292a9d434b2b5b3098ef7a9fbe121c6ff96702ced5d2da61a0e55374666a13723ce5bbd58033b0607053f9cf29ee39233f95ff8189996bb385ad8c6bd2121827cf51b312e0ff602a9868b989c7abcc4eee0492a2458e737a4bfbd924a39f862dd027484afef35d33ec55ddf0fc2eb73f562edd6d61ad9be58780fbc9e72ed330235da8dcffcff8f0831157cbfc89d814f1930224509e431b4533576fd080c44fc577e6281e24b18a19a646a1cab716e0b187bb67a7395261c6c5fd50897f32e044736722c2e065b4366466fac85b861ce4d4bf03b05266716c34200ae559f34152a1be47f85c878284978b1befa97249ea99e8c8fa4a1318a4614cfbf7ee68ea38020a0a4ab6def7d2fa1182a8abe8690a6c2634a7f90d99a399daba212c695fa43c5d9cc7b77bfed82425d8b1e8817dfe791efc15a2b306c9fd4fcef20c0c691189815cb55116f32f180ecdf8811b4915ea82fe4bdd14b1b2838d2fa0f2d7f2271b01478007b247a50b81cce37b6666dd7da7a4ac95cf20d685eab4dbdb80b34445de16ac288d97ce35241c8691aab6398e2743e9534f8a7a104fb88f2c34a0de8b7ff76e6c1d9000981ec4d8e5dbc6f90050e20c960879e1aeeb7a737e5a549025dc2160db39b2b68f654f6cd1a4c128eb55ade49adcbeeb733e28bc278ae0011b52cadad34c175c58e16119d2c54483c2c95fbe3a20c864892cf4723acc35e2be5fd358fd38cd3c8111a9956ed62c7a9cc1bd08c6b473b300d10b174db052b6258807b295cbc2af802a31c55cc20b1cd21517eaf6cace35b9000e5181628522192cf0ac3f9f3bcbb0d1371701e9e5a5df4331d952d312951843c3bb5ea3bff7fde960e3c36971f51ac9eca188755d9217e6b0a039d1f530cfb6a851cfe6c3212c8dd841cdc790d38bc6656fadb65363359de6200005cc53e9300eb0a607971b778a44a337968b90058452e42f60b95e36d7041585b8cbf46b4f3ab660db6701453387456dabc441dfe28c3d2a9e08b4c338927011f882e0207fc7840be4b04ae75adc777cc52060c0921cf30dcdba0995c0324c3f2c69907c6d01ef102f9d9ce49d762233def1fe5f022b9e1271c25036dfcbb189cd728b61b29824c1e53d7ed4f4b30b7ad19c7788148066e4883854cdee94594e830b8ccde5c9da105bbd38e056d070561483fcabc420fcbac31f32552d0b804f2314e964926e5c3c776f5b53290dc78d2b6dddcb8cd986481f5e9390e287f5b7d379de6b721109eab4cd822aca533876538369f325ec2b2ca36accdc69a3803eb3b47bb54e3b7a94ecd7b289e4a4e1d6a393436fe164068e134b3e1fb785d4b781433a73661b3e9e14629c738c6059c0ca337b4182d208b10ba28c9dbf79aa3bed84fa0703d0b0c9b074b598590ad533b11762e3ae886ad1506ef5a2e50c18e906081718e5f24ec0ce17b20388b56a10026726de0f904288ab3dbe4837e26013e9a03368f90767bf95c2624a011aae52aae4d06e08173e791a95c4b4ae0cba5fc33ec081e5fb2056310b49e6b74535e8cf9f8fa36b1eb47a806eb06d16a589246ed7214ab5e8d9140513a27f95890dabae551fb8ccdf1500e227c09c6fab61dbb51325eec3e26bc903a02b009f03fe6200814983521485918d8aea551ab1cc2123dc120d5607dbb783e7c4eaeb0987a32a39c5ba9c7626e637f1964f0b2faf490b0b33020573bf16197ae15ab6df148e0910d8010a57c1297087ed5ff8c21c7d999ae4152653051f1604912953b0143d66b8c4d24bdb7279292a11744075e9b39256b71cf4c6c148caf70f1f2a3c6eb1b7bbe340d2222dbe3e5d0e875cf41db907e1eb3d47e9b92ef8535f5873693046365d7a56c148823bd79835070ffccf2e8e4c5ba58562469275b2850b0133cdf614d501775c5afb9e0692bc16bca5cf7cb6e5686d88a636a10c3aaeb76899cc7d569dadff4161b2b44b205d968b3f5438bdfbc3e8877976d1eee672dac199d339cb227768e6c34fb0740e4e7ddd9052e5241bc9075066e5355ce524721e0d2e77aa5a2f64a839db2e9fd947bd289d6adb1631bc9581053fefccc165d47ebb965bfe2838768134315e99e46f0a80ff7851907832de26cb544e1b338df6d831f9bb5a6ca9c86d264ac57d338fa18063b92d91aecbdc537b02593a0053e770188c1175dadf67a3e9721c881bc60ca4b80868d409e4674e8fdf56495174346e2f7fb91c850981e0516b41ced3f40185728d03b35e591e3adad4173f653822946d34c292d20f5e692ff4bdc166cb577970270b60ccfb19bec7a8e682f46dc8d2b0fdb3991f6b532c95cf5d68f860012fc16d5e1644150e058eedf3bff85b2df98cbe7adb360c82f81a3b5cf33aa272946aa1e9f529bbae53d385791baab3e3a507b783fd77bea7bda68d9828e47daa2c70c0d3acf9a6fe882b76a197a69f3036994e37628509e2a3a435780b034fc052d6e8aed99599e05e8ca8a3d59e7edc38ee878c1f5f6caa2a0d2b049f704770062db304b75e7385abf8f5269d710c928d559ad4a559e2b4a1b056f1076c28f6614cdb4f577daa691cf1256f027d2a7fc21ce90fbc6cf33ab02c644a808b1b965107c7c13d8d8f77adc4faa9740dc95eb8dada0c66c067a9921bba997bd6c9301818a4e2672dbec8e00e6109eb4620bf396aa8061cd1f8520064a66f20549f591318ba8549811c4cdd1c7fe7b87a6ef5fd5d5c19165d4d924afffb189fd66fa7803ed1d4b15b808b42452a1e5ce275f654c0821cd4d3a446c2f8cfd9e64ca90226c1472570a11541cbe380d7894d4d94a2e469c0d4c99cbd8d1029a0fb62e2ace66d8cb17b2278a88ea8a544eaa94e3236050366bcaef5cd49c778b2e6f3b58d4c02d97dcef41a3f8e294b48ea4cdea9319b94a5b87116f1a9432347c5273bb45a4335c392f9f037aa89b50cbcddc9d607b1397c10e336d09e22c424afd38f6daf69f1b3699228480547fc63719410c27859d07d933491d4146dd2640aa981535a09bfd3e245dceb799bd7a62b5908054f6684b1c24e0e05f1e0e31b0737ddbbd4e36526b3c88de092980730ae114b7ba5492a6ffef2169b9cd6a5890d3a9551c10ba5d4fdf7aee184097a09c63f4dd62370c7393ac7bd722b85418c111b4284c3879380e6a660d23943810f534a0e5eb62785918d9fb317ed1536178a9e4d49ed5d2ac919a84a7b157de23abfe437b44440f3098389434317a5134320c2e7a487d8013c2ca3b811fd09bc7efd9580bdf71744499850e93ad2564a1e691fd7f2e5ddab3c766478fd6a423d3d2ebc45535e14de1fe6fe5d3d56fe589df83a8633e326b08728cbef93a03f30f7e82277f84eeed8ca15693ba42ab438cdba1a508f21b1abfa12d15c9c7385e0677358693909b7f430f988c179531a6e7e7e677bdad1fea8035529c8c638de7cf7f0a428c6a3e986a657a0f974691f36f6572327de134cadd2cda7c86e56f52890573dfef2077ff54af573a95abef6e7c52e4a9d735e7be7c0d418cee0d760c900026dbd44fa891d2e85dc69578c290266f63c68313b584f4751d0f7c4cbaf0b9a0d254f1c36b6f0129dbb2ac1003f4d4f4f80b4740f936e176d5affb129e9217017b13afc5f1befce48d3d83f66628556eab93af9d2e1317e904441d03b8b746e5a1c2dfb8f4e89cac369394cce8e1cf2631c76ea11561dd1d3be04af5da49f418e53d262bc097bc7c8919eeb6e0d475100f593ddcb2cb2d99c7dba58ec863f99e9b6e31e19ef2b4aa0716149f0c0a295ba739ff0124d1e702bed6bdf94aa3632e1da1730ec8213693218523ada1693a49bfeffa7608368efcfe34280226297f64c78ebf606d3e005647905c60be625ff2d880647aca6130169847fb3678b747246dd404417d26332c94f2b1aec3236ff1fb2566cd47c12317d5edbbe13b73d34148678dd0ceb711037d398cb9abe0c3805f67503c9cc3e8e6e5d731a74bc3397b78237d6f955dc81a192b826b93a1bbd4589fd96128edbc3aa19f0f2279192e2d0893fc1663649fe5a4c282328cbc86ebb2fe03ed2a481894292782eafc83eb6011b101e0a9cd76b01cee931b0e9efa9cf58c7c8f2c0906527df1e7fc4c970937d5e43d4db6333e8ff3427f10df4453bb170caa39c26b4b1acbc92f07976138a5e741bf7e138fba4750e521acee639e4c78540a93589d8d53f2d98d8f0ff88e5874d1c3e52dac9c09eadc12378c857d735ba769e664f5597dfc85c3b8b4810e9851491ad3c8684d5b699846c51a92caeba61fa2a70dce284b0bf6cb0785f74b1cf12ddfb4464e6613073e8841b7142042850b8605a2f3e4ef3a4454889f99ce6e754d245fdec4041742fa34ff3ba1012e90ee5809b70f97caa977ed077911d3112ab6d56b84eec701adf074e1b6576d852bea25b6a817eb6c3ad3863d15cf72963470df5f544a5534febd462f443d714e8d30e9b47485a391a4702d12191631644042220c232af875e059c7da6c14b0d073b01562e763b83f2441eb05405e3159899494a6ba6992b4de0b563a8446cfdf4eabe905b992ed772f0c3af087cc4b2a850a35fc027972fd95647a7cd6c5198e351cd1fed8c10bb7f03e0af98804a109f40bdeaa86604a9114c7bc6a1ec8f079caa6d3296f3329aab19a84e6af1fdc2d2fd967801c5b41a78eeb45ed75c5137a563e8039c832db8c1c19b465d1ef06fba294b5c3ea290268db63feeab02e85339627b9f250b469584e4ffaafd7bb5b249b4f076e0f99ed52c8578d37f0449abf1afdb2bc663cc177e8c9ab1b7a1adf522a8602093d577915cabdf6edd05050497a3637f7042da7a9aeef44cbe1566950defcd256cf9b84995abe7a161eb32c2db9e033d33729e490ba86703afaeb38e3ed14c0de7de2b87403aac8c583448a36e356cd0e028ce0f23ee28cf935d03e58e150536df36c7eea4d0a7191cd500e9aa4c3e7d21aa01573131414629ace92f153b5ce6ea4dd7bd83f949a755992799c054104c864501272ccdfd636ecb6170f2109c59fa523fcced8485d55f392c20e8c3af8b500c86a78a82cd6c0a800c9bd582032dbc23f54ed9ef5916cac3f5778bb8c57d523f3164188a78aa78ff038414d91e7b69b8107910915733290c99b6fcef561b3466dc748dd0f3d1e9417d49675db62d190948c5d578a3f980d2c1f868d94c1a52346aa23b976dbf0e79717b203b3090b4699f6a76eb12db20adc0fd498058aff74e4f35a81f28457cb48e59d950a750f04278b2db19327b19294431eddc3bbed3bff235705b10b3948811f07d03badee543e789e9516a41d773356915cc6fdf348e355f0561a1a8222cd00cd623ba6868607f6473dcbc7c0c1a94dc58829edba05728a5aaf5ceb2c3f11dd4df98a402dfd54864ce0ccb835be3472140feb06c600688d4d213ebdea2358baa22b74a280a19a5782ea72241fbe5cf3d2338809920a48bb3896494ec1c6b5f9eb071454609e6936a5887bcc5e2c90830a70611deb889fc0e4e84b78e649de3b066112480823c8be1462713283f4208fe61ffc4f99a2ade0a0d96a2866e8b2138fb4f086c0a01c555a97f7c69cbae6e6aeb499dbaf0b7c09328d47ae12973737c801e1e3538159492cf83344e0f1aa2179de3c3d73529744f1a4a91c1a0230b2b01c2b692aa4272b96be075eb71fec81188ea919ed08779608b340e5527599da483fcbaf13b466cb2e4b92ae1583fb02b3c11eb95e18ae421f5708182865a9b01c49e922aa7183bb0b2a9950b76dc170a8388f79130414195eafbe0fc698fd8221c9329fc6dcf2f529f19eeb0bbb87ac371a07f99fa7700ead7d8589b67c51aa10632ec1d0106e1117568222899d31deb11ef6c32fdc74cea2cdf546756ac4f3780c2c7ba4eead42c4fa80612c42cf8acdc4ffcf2f15c5970635feea7c7d7b5638ff094d2e7153f2edb5a4991cd8164dd18a4cc60d097709e885fae7b7c511c30749d5abd882f9f97e7e237323e1761427ab5d28d7512fd05ede83a7182269fe2879784b1c3080bc85b03764098002beac529c98b4abba9dbc8ec98b20821a6774f2ba27b9453e85ca87b813dc2ebdc4aacc74a3bddcad623a85cfd097494782a3b2e90c2523f230a0cba5c58119f80a2f06c96496d42ea6eb6545cabed8ef78d9c232aedb29ca05c7b132112b73e16bd5157bf7d3be1b618a33279c7a6c9ab8ee4e3be08c9e74caf724cf2092eadc3f78e893fd015b70e54814f57bd3cd738420dc0a7db3ae4174c703d131e2300cd68bb9910fe56040fc3ec8398583c66b475d9f13887c1fe3aed4f44c3837b7b6e6ef1ed4d36e7ec26b0a5d977140aaff19ac6e869f8e9965b0b029046f29876918843fd820bab2e7fad7640e1d17fb2db0fbc9e66b830fc5471a4e270dd0b9191a4fc60800a0a49d0d7914d5df1890570c0feca19e47d65b5e9ea1e2d05185d215c15f0071cf933527cac574c6cf5b89050d6d8949b511a94442bffff0ac2fdda29cdf63dbfed58a17df72555cacd5b67197e7807cca4782bf16b925d9761e198cbb3d1a5f37241cdb2414bf379210529a0b0a4e37babdb60413c1e57a490da8f1cf676b950b4d6389f9455b1acbc12fdc1b0766f7936c47288b3a6c80e5b2be8a9a3e1471fbe8f2c137b51c29c381c70b3a82e7aba488851baebac8568b5e8e309acddbd4c33b83f97525929dc1f31095e024e98003f55b422ac06da9f4d55758cad35272b36d5a3fd6fa251ce114874147194cad7a1fb9a41ce45b35f8a16918fe07d2e67d651cc5ef538f08f571b892f16442544f36c710ee19dff5f6c9f2dce3b1303fa85e49d4786a040c6a589d9dca1db3e0ea7c0d7a075697aacbd551d65fe9adb87b26e8df37695baf4339f5db083ed420b929dfc5d2c6a7182263995e5da5e9e9028b46f82afc478a17dab2abcc2efae1d343877abc63ab396d2487a2017e7c25bdd936f15cbc97447af8468fc6b7527f2a63de97c151f0ecc6db5712765303180f9355b7a5c43ebba1f9d3f8812f28a80ed8c7af2636b025ccbb63f78044aa816c6852621f13ba8dcd23cee6ce9a44a8fd7c05be74a3cc5980ab799d13ea3ddb47c253660d97020801ad84e13252559db710141cf34928567ff66e0e5d49274447552fde79c7b06b0ee4ec81a9b8fcd3ac3c1577b1ceb1fe97678be314983fd723c400aea84f5e4ead92dd4f29787dcd3533d9ab98c3d66f04f36b40200a20e6983c35bb23a77eee6e04c098e98a14b84a285e2217d9696d7300f3aaffd196468116a11a5cd2af99040d9adf709c97db0fad08b99666f38a92cf0a2e7e11a36a1340810afff60a4cb8b360be372c2f6b7725f864e22371183783ea4d7193eb92c9a72ed64da7923ddbdc99d4211fcf877d324555c0205d46e6b9490b1356fc7231d1f0344f1108c79c52ff287b9db41d8f23e662ebf2ac4ca312d097a1150eeb4d641a40469f3f7ca131d43a254233aa5d5d256d8ff871f191e4ec55ac74fa8ba26205a25c3af616e138c788435959382f9d184f731d2c975512e9e9e251686bb9a1c6384f8870fd2c6234440a88ac846e85c3d8fafa8fc54c37c7acca8d25d7e878c9ddd5607170c9243ab5f27a7c3d4d035b27ba5a66c9e09dc6e3931bc5ae16f02c27ec415c586cf554bde71399c8b8dc7f2b8fee1b257b14fe156a35c2865e8387ab55bb4d679cc7558b67fbd259d2225dff0042034679dd74d8561e8777cc38ff0fafd45c05ea35444468a60d3f352ef2c53bfd7899c2aad729977a972c4e4bb2dc6ad57bc6e260e6c898ffb0d7abd6059d4e904146e6e73000a4e91301c0ce9ab7fc24a7236ceac7112a339da2df1352fd299e72fba2a46c0ae76fc6af7d446ea3c06dd4174e9289d80db4fb0b79fe5ab254c18cf232f0ca1f6aefb110b1bd089cfe9c25ce2c99f0c9ac5dc0cbceaa99c2dfcca80f60a7c464e8599d377aeeb7345efdf40d31407fea6a2f50419e3fc792da40cdffeef3cc8692ab01cacbee165ffed4cf233333ba94df43da81c01cf7089d67bc2963674b1b012b9dfbf4254a272fa9469ed69a1478a190fd7cc082064e3e0870cd7a5983a8fd677fc70e9abd9ec25352e8e266f56c1e3b118d8eb49834092063f17320d3d51cd3166d9e0206c52e9d3b1517db49ba67a6f946dd8cf2d30b5be000f43b3f9b11e983c1b9fd18e4fc8ec8befe1a402bf512f37da20ccd85b74f0757f3589148f3981a13a7800c16bad0cdb839ca96e3e20d7a81a6527d71add535595f13f120ee8712fb4d0ec58c58e68b3bcaa6f8f03ae2c2fe1c4e0e758498d884670ad7823e995425e544cac4dd495dd7543623e03596315664ee83a29023b4d8a023b95eb6558bbe0bfc06b8bf46978adc1fe046a4486461c9fa70b74e632e4a59bf42de3b7f56af8e9322f7aa462bca93887b78d86bd46a0babd8ed4b8801e647e1bfb2d129a817d57f6a2ce0ce960dfd721cef1e725b02da17d0d7a9c750501191a3fa2991fbcdc91bdcf0fc8c912820be7820d8fb60f2b9f5dee464b1c84e1204b603f505c564913bc723c4e09e311da5b2e5f99a31a2412e53658eaac796b1a2fd8499c454ebcaffa1de1b79963bfcb141f7da53a3c5402279a486d84d27668d591aa0bec1d42fac9463b14da872e57abd4845c1f1df08f5a8f1dba141f1c6e00073a3aa3dcd2383eb0d82efac5e21b6cc7d3da175cb6e1b96880775fdc2e7e44ea33ad535836462a2f7ea57be2f0befec8e381783136339f475a83d9a07532f5128b70746e1bc4106cfa60884976093f071df3ccdd79794ec61612386b5997eb236454bef75be15712a3b3296adeed62c136fde525c0ce6b90db11a7fc9e6fc1ab6f23ee49b2d3cb39fa58df38e730e4b93fe5ddebee22863d50a6a3f5695a44de35fe10257a096cff01ca6d6a06c65e97c26361b520d7fe37d3c77caa4d2820864f12182221e055727708eaedc97f743a48f7295786a46f366b7ce1b793ff350f91859f5406962e5bc38392be8ec16e861fe41b907c74830f6fac5cb5c827fc6bf3608efa370c3245a0130d8ee1d3e3bc147b4a605ca278f3878cafc7627079c4026c9b5ef340ab4f4994a78d09ef66d4b0af463bff21c6b4eed5c6dd93bc8a72ee6697410f01fb96365994bcc00062361f5a7fba090e6bb2a02838abfe3a3c5a67b326ef38103441f8b9f7e53ae5275b7304876f220a3a7c2cb3e7cd51b82e2a4f5500847e3866bd144521d458ec6b69650f0971942e42191d61ab9b15564b7c4617687148556463ab2456ca353a2f65a19ff995be355b53eb056761debd48cf257eb3a86ab18270d370298039b75d624fb852e659d50a6b7fb9634d90e1095286bec31609126631d0b84833d74aac85a5637d7e1bee4d8ae9486bbe78676227d76e1dd8b542a3fd19abe63def9783cb520091c3a9a232be5dab3e69f594c296a5c51cce9feb3346caac3253e8ae7691609324dc2855f79ca30db9b66a8762c32658a7b3263e5f0dcd6f74aa877bd13932616ee4acff7fbbebdd7138ce31ca8a1775d926f9a57f97f5e1ed891d35ec4cb4f43a4b2b23205451cba3874bcbc82978243e52489962a63104da6a14d85cf3f75584e75e74e75457d6409437bc8bc64f768d87393d606691f3f269385b0b2e3a50bd56fb8fc1743d29ec8f548e0ef9b2638112162e716e18a6e6278e7f22549d3620477af0903972bab48ede3bdb481301e9d2bb9ee930b3e57bd47daa6e24adbc0bf15147c857caeeaad7f4b32df9dc807d3cb371fa41f9e0fce575e63292483f0cbb48f2e6f23df41da76520a3e6a10fa689a9618062216c2b5f52647226efa345d37b5635652311b0c9bf340cdeb92a96d97a053dfa38791d641220775bdd8421a7bce53eec8ea9377cc436a39ca51ad5d719ffd74b3551b35152ee769713df8ce17530962dcf98132036519361d2b6aeef2f27c084a7ad49f0951108e6dd3e461d4f5e29553af4d063c0dda54589bba671a45cfb1d21eb5401b79ad9bada0cf355ba519a3655643399900f0e5fcb31f0e965ad7a1f72d8ea9aba50047f019332287f33f7958f1b45e274cebe97b3e1e89379b356f582d28855d281774bf21e7d74f71c2204b673fca924d38d2c6f92a96bc53f69e98caf392b24a27175b32431894c604427ab4ce37505e03bbc249e3ae0b62411816a956deaddfe6b2e1054b3d8d10b78b4879bf6fcb2704a80beee2857cefdd24692e998d49a007159a6ed94a74c4d53eb2b6c50e5c557e47230e082874195098f2f2100e62f22c40178d745cb75db7c42003ae7edb2f1970087345b544834fce602bb3b1a0032aa6a904f346bdd110b72a9e451f448cc91dc9dc5ae0733f25d5b1065270bb4f401bc321ae38dad78b6d260e524ef6d868e3cac20fef058ec810bd5324947225ffc6aa648479cc8c4f8c0505d36c65e3c997237c5924dbbb1ffe64fb316810d05813141f4ba6950ee614254110a938f5bb0e963a34ead652b2431b45da1631fa77b14dccbcfab442d0af96665746ad4b640713fae1b4c1cf290e67183545f3e15aa41956d7135054b04be3c0a71e1ebad6dcd0732d6c1118eb0c719334d93890e6d2538fddca93fbe938da85ab1c50028bacb9ef23783be162c9714643c1e60950920a507166c7ca285913717d40763431a9c8c7eeae0b6773820b1a7618ad42dd1a011aec789a73cb84b7c6aebc521a5c5569fa191b24b04303fc8ec4b91add984916616a8e148819965c0ba9454b44cc924b291b2b21b322d7e9d9d06ae4d6bb6e7719382ecde8a86c0efd8ca1c3baeec80d55c981857a7d18ed6607f2c1c2f19e358a07fa71784c76dccf6ac13ba01beeb6644fd9153a808c8d13ffc562d7780eaecc506a46b4ea777f9a3d15f363d14b834912051ca3b1043553c27d2bbdd901a947623a311a33a1ac7c70fafd395a921fe0c1762a720d8d0db710594050512114e51e5d7ea21c98049e50cff1eda479ad46eb8bb9fd1ed414b08b5f96c7a1ad95d02011a100b0acac6cdba7e36a9774747a720cb41394610812057af4427f41ae5374e7ba98aa65a7148802902e17849aac587b7caa41fa7d7a021dd6663acd62ce11f6e26e44053e0b8b82b05b7860a4b04677e864a349e60d77ce7fcd657b116a7403be236a182271c47ce168a9e3563ef201189e8575b06756a4b7af9b9bbc1238b468d9b8341026e0e3f5afe8f6b34bdef815f595b9a3afdb0f21e48f2fc0a363c6ee8fd43594d22ffefabe43b7fbd28d997b0d364a56a13b11d456f8f460e69e94ee725092bab8caf0d8efd8d576b7a81b0d1f4e5df5820f43f3e29da675965b154fce31abf32c49723b63e0c8104d4c7d2a943cddb62c682a4262731a759808756b295ce97e802f3971775ceb4718338d543e072b73457f596971a486cad91a50bd58fc10506481d7fcc29557803e29f814a2a1ed1cce7e9622e3b21047690fb69f9da8becf5d5b3a6422cc41980983dac03cd13f5ad40938bdde37fa035d810bd2187ba9c68bd56a48c105950f8b3e3d4e9e02765f892e06de20dd54157affd5bd393a7b0d2f485c6a50ca73073807c8519610afc2c79d81a275a660c85eb2602f311cb1f314c56b1965b239279a5f3855d9769cdb5bbc221a2d32fbd7c65ad014787fce1196c88d8b9d570d496ac109931a8c9378a24af0e6d316d9b661e3f7470cf3019716138e3f751d0d7853e59398cc1db1a0324ea7777562926218bd8e0db97756fedc5531a9a1c4b08c528e82ff7596e0a2c9ee89e4d71eb6452421617499b2e42c3fda6a05c78eadc76d756f1fcf56e3c00bea6137ab50cc98dbf222704e32956d3d09f98b67be0d01d2d9fe113bd08b162188bfad989adf4c5a70d683c6e7864603e1038a586c7bc4dab374ea36b57746df5674c49cecdb2bd6f3a8d3089280e2a4567136628f3e15b5cfccd2bfd352d96eb98e57232e290181eb844e6b30bcdfe010e0a2edd22044eb2a656ce746bfdeb6bea7abb8bf8f5b80343927a6f6637b7364ca27b0f55d3b9ee05d748937a7b27692c24f3c7e79d40b61e364e8ec2b8a3c06ed1d2b863f25e8f0740b46322af76247b6bd31337d7632b9e2971d4ebf9a3326f86886d87dbcc7bf545c9c71d95d4cf62e516511f2213b7a77eacebeb1a69ce642321769a15bf8bd8c95223be738ebd462d0983b58ca687ee1e610a16321ae7550cd68cf4faee4f0a4f8f89e0087df9cab0b821e5b428579a2c1845560e8a5f201e49041937b6779efa3795f6312ac6b9ae686b6324899404194cd974c16b90768451fb65323d39c7efde5ca9a000baed1e9148298e7c0186b4424515a4798dece69a76c4d86b93f52aa0ef17cc7a32fb42615626ce06604c1b95138a28e125d9cefe8a65d0b82b4e52892029eec3f5e9eb9e8030278ddad126799b329d430c8fd338856ce0afc0e3e5033df174c921ee60f39f78a84547811f50304224fd53657ff1e6353da9edeb4b67ff299e14e7de5a6dde8ba33d0e51abeed435defdc8f759052c1b48cb91e4a8165661da506bfe0ac8479142529d50107d81e2d5b54a20f6fa00b49b67ecb0d5c5f53f69e6ecbcf95c1c06e2bf380d06c9653fa0e4cbff55e4f7556f90cdc1d8889271da556be1c18dee73aa7cf3b86feb78c626551d7b4441cae174f5fb841ff04f9cef12361af37c54fce44fed8db69a5b7563d3e4261a285d4f820eefacef46bdc0950a29c28424d151a1a7322788342d3ed6659338037ef690d4669744c3b37a07517f6b76866ec78a164dc150a109b1243a5e6dd3c2d9c1f8a65ee58c1b15e1bed59e74a03e7b1af4ac5faed311ce198739a48a43bbbbad1c19fd2e807e83e5b971e44a45337a89065544fbb2cf7f3f951578159f1e35c3910de309fc54c98686ee3cc4d8afa88875e9dbfa381a21880f2cd95931699c7bd138e48ccb4d42b42fb5bf358e2acdebe80314308274660395af2536ff767a942ca4f2b12211ee74f6bfe532353a89ea41b21c8825f82c8d54451d423a2c39ebf1bdf4a145102ec998f1bd1f6dda0d618e7e55ca96a01042b69c896b7c8af25a17644a71d0f6aa1e3ccaa38c499df6bec1b26c8c31100da4dd82020fed1acf612a8d815b8377d86dceec1a2af2ae5d8b06d8f68cd86377320f6a7ca23d3ef2bdc4d60fdb99f614fcfc2b14c592299d462eabb2df6e127c4c7d81da91e5aae01bd39a9e1e2362b006866155bd89c381c6b9db6b5beec77bbe37c3d3f70e923221fce0b5052170852a62255fa32f884f4f05d11c8ecdac4d015c286d47e0b0ed5047d9a9c3f477ea61b58b9795a7c02a22abd138c6f2be3fe1b248929768726ed778d656bfc0d5211d9527ada660c57a8421adc58486617e7dd22178e86c6fbee83c05171dce950b5e4b5d5900bd85b2aa0446403db76b13ef896638433c22df4478cf0155f2967eca1eff19abaafff2ce146b44edf66f24246c4b13c3892fee46757aae077f9b932e0cc492e5373635075acbe01139c98d825899bbe7e96786fe66750cb8462639c8bddc8ca445f41ab29a214f5d0ff379dcb8e1b44cae1f6e9540b389211a52cc2cbfbda37bfeb88020f605de4561a9f3e582c8dc72fef971d2b72560ab37c0e182c213c7e3f861e77609ec02b35664b710e1169dce107bcfc9dbe09042a62c481cef1a193d59f20f81fb7efa110a9eae1d13b6464082784a770ee8ea7f20b6bbbf20c122a6a2bc1c6a37be959fc88ef0fe8c4daacd6459b2ff7947b5af6caee3372e528b0c85b9f8f92447fb477a14740d8008d54a1237064ad32b4f83097f49aba14a2cf6f8377cd359dbbbcbbfcbe7ed225fd2a5569a80e4670dc48f17d56624971550e5e8e8d7109156107a5c77b50ab485ca3a266f895e8ad74a8bc111612140e5a2d0496f9dfe4d38bc1935c218da243cfb00e7306b2144a6aa35c1c0b61e8f2fed2b948461672b9de6ca78efea46b4a6a1b26caf8a74c4a49949e7b6554a3c27fdc5482fb78f54a9b222a56de4af6c4c70f90eccafc05c92bbf84b19fd86a0aa251d2363671ee043b20dc3ac19784291d73b274fc51c3ad2cd0da2ef63453dab5c6f4ebb8dc5b17a40c68408ca2079238e39fbd7e7166942d4eec6e5a234cfbc991191df8ed65cb298bf4189e373e5e1950d9040b63557100991076e887b94b7acdc0d1a545db391e0d352bbf335122e4bab47be39a496423e01e4bb2372d4c00c79cb6d7da2bdf6439e8d83d265b5a27f2b0a6021bfa35f660faa30277e156468e7ae38685b12bd6cead572a403c995f6b6daf16d674e149556fc6a743ddba79f3b878b9ac6dcda9b040b7ddf5fb71ca7e0e56898cd65451b054a575c7b872952729213cbc8bd3f603716cbe5abcf1d173b4e2f60c3dda30d2955acf3549c9709c0b4739e5b29bea58c52a8e18c3ac664a90c712f996e3bbb7ec71a38412b1d0529c0ba85e53acb52fc11b190d031ae72f16a25e6d1f1a6ce86a2a000958ad10b415ada246c55af1f6b0d8e01b8be160145878ca8501f64ef481e3720a3402c8eef148adeda87e4498c529f6972bb9a0a28833125414dafa0ad1f4e61b43910e67e9d8508e28560257dd922756d9dbf37799cde725000edc3d5002530afe64e350b3e8070f77aca8d2a9292bde62fcab39fc992b8f1f5725315a175d34d587a15ce4de0c4f6c9aecbb69d5f05e470fba394f12be036ceff09b2c31738c0365dc9a9363174e005b2e31c71b76279a57589d29fba55bf7cd069514e440f1f0aefe6ffa31de03c4577ef125214d506ca3557433c1c349263bd1ea0d3e4a4a6a5d4e41a4bba5635c8b2a7401c90b2ff5db3e4169efb8ba10bb4bb34a048383af032744cd0d9db59923bbe3e18dae0683ec752897a48a7402d7ceb0c347dca5444e69f6262ea0afbb8a64a85faf2d1cd5be6e5090f437f247307b708c00bfeba1f9c8e31f1dd92769613c9b77460a5b2e4645fe2fd437e2693d905c8be8215c2d1b1c669d3a4351d848e2f7ebaaac364e1e352d2662d36c5ba9a75d3c14287bd77b4698ca5def840872c0c3a903e5d3db1ae326de60dea17129d200220a4746a4f7ccd4f7e536cf0428f3c2d34e4cc50175ce338e26bec9b11b4fb6ce75be01f3f7680ce1c17efc3246298958871118cdcd8577f38f22e87a3637dc5adafa5cf16e76f6b32a0ca30c111f58f600c551bcfeb9377b3345a4dca246ddcc1614883fa76d31496778dd69d4c087c8fd1c8ef65e5501fd2034f9fc1537bc10397296304ed03fdfee8eb09babde968956e0d5052f36613168166a55dc2bfedf7261f5aa32e04868ea8916758f407066fbcdcbebf072fb02447df06c80899f166c7e76897763ee01ef5340c403dcc4b76bcc29cb01c565350538b1a83b78786522d9391d531fe51c49f573a03a787f1df7f42412b02613b0baf87e190c23ab9a325bb06169cae16a8bc1b0462ed232c164e1822a83dbddd14d0504eadcda579114513e388500771d8700ea2c6b6234d54eeecfde94bd0c4922f1957b43e24b4da85be52a09b39567ff841aa3cfd3cacf51e46c89cf536a9f2e8e7d99d4e19453ed6890876ac3f3c4c8cbc19ee08336e9d31fb5f6694958dec09d2621ba89f435d1bd960be34e729238bffd8def7555140dec6889d67141bc7739e91b2715d35759b165e53e34d504cc209072cb76a0143b3bad135d59efeecf8e349623971160387b5e876c64d247027d354bbbf0b2054fde808a4f4d5c103ab0a010e9bd5185d51c311c2e4322b34aa5a06460738885950b5b569c6b99a1218acbed8eb893f217b5501c9679f02701349bc2dac58109f77b58c75fdebbe301af579a7844581ea76509c4277bbab4d011ea9fe4a57e1dca22d1fd92acd01d8e301281995d76b3aebf2145915df8c2822e00b21443944d27c41b243c694be0b88f703b9569bac26c5c20ace4217610ae1d9397d3accd5743659fbebd2d40c43e8485e31dc9e4d17a883091aa291457bbebca8770dbd4516b39faf9525418ba6c9fde383f9adadf46fc2dfcf3f13a809053e886a49fbc020380b7698692c0f87f5a7a024030eaf5a0dedca8e9ae8af43c55f3e6ffb891dd5f8d8a57fdca2706c5d04104a6830f3b3ad9ea2a8d70b1f276aab85659cc3e885fdaf67bcb96609014f259e0a7e47d806e85d9bc92215c57e2bb7379c8ad07515c910fa684bbb23bd3c4f852e40868bc4f29f97c5369512b9b282208996e1b185612f0d50588cca3a441775c6670af35ec340281f0195e51b284d818e27633e5488ac81e6275ab84dc7d4bbd864f6c5e68fa74377bf34d08f91c44230f1d9da04589d382341520cf2d9257cb267183c02363dd9fbce396f654671c8704286d395736ec9358021f0ef2ec9c81a23527b406890193ff3bac6184f6eff5620bccac0499ce883f5660d529de6323dd9a5741047da9a456ed3fd990080a035c786582645147a6ad3b0dc36f26dba0f3dc347751d889e2f02b00f91fd867ec6cd2e0eeca7a916cb8f8012836fbb3213d059533522e9cfdc3940df7cb58e658cf38d0bb52d6a8764c37c7219a055ba73bb44fff8647af375b428698adbcd725c90e4e75a37164680dcda19011f4ad24d0e039d5aec7bc06bb498bf234b5ec222b255831f63896d165eca4ff71a31395c36c816f45deabf124c2c3ea770300d8daca474fb932a357a213f11507df4ba67a52b226adc48858fbe6e81f3116572a5ec6e6cb4e3d7f9e5fd03b1ff8d82d1b1fe43120a3aec573459f90f78c3bc6bffc05afbe781ebe1fbfec06d76964bd5c3d66b99df5b97a4de6ba18f1d67750c6c60be63183e02abb822f3cb89a75b2b23a7216025b2a83d532a76331d5c195be06bdbf6382f5803ad5bd8839e2c8e99ffb3b314ec0bc9a2ac94a1911210d411b5e1eb677f163834961f8741914f522d8dfdf1f178a076325abd1acdb40419a58ba384568c9db64496b3c7bfd869413bf90111a6fd5197c46f420a1c50e975f17d53c601d8bc389eafa5ed496f6730374dcaa00f23f1397c4b9998dc261095653827dfa017efdf7e12cc6e5a835d700acf439477b7f0bd7cebdc21ea04f1d1f1a587baaa6e0a9c901ff8bc1d5c8217dae6a25fe8ad8b3c5a5fd7a63da62b502bbc60344bb56ec5a9cc9eede3b02b0123d747258041316f4d62f24efc1f450129a3fd5fb4daba46fe843d839cb23f3573d2e8e505ddb3fb9b27513fb84fb72a8115440735763ce2ca728a61bb0ed798371031ffa7b1d6bd2f1d282955ae2d7a117b470bb646357a7d18153cbce5ba460b3865b71bf1665ca1f4611a60cb1383988deb57d3b106ded4a15a977d82e2788ac22aafff80d791982fb16892398d4c3f0bae1276705be6aa3f6077836847e1f33387e1125d86c0aa39c9c49729baefe94224b6f3747ff2d453f830d91d32de9bee044184e7f8e934d7abd7fe8fcd82c956fe33fa797cbc4815717ef5fd13c05fe2e49803acaf5620125dc07e5d00c85526acdac31d83d02afa895b166fb7f8d13f55bf3aaf87665a174fcc90c6e38e5c4bb5b1526ab92204b356726c66cb164997e5a029dabc87f2424ac323f483fa112ff5c03363f50f3477f031dd646b4148ce9b188217fb7ccd904e03ab70ee733f8452e5a2090dae8bf4a4eaac68fa7bcef238d07362f6a4c642eb7ac6dca3396d567e40c4c9489cfb74df51f808998bc53c38aa15096ef1058fa7708c4839b0a38fb21364f56d61674c33f336bc561f31de7b99ac365bd992f0f6400985eedcbd10b7221ca9f4af2da0eccf74920e751f9182921e2f4d08fd73e5b3edae87f1b4fee5bf661d0cb63e42021816bf23cd9632345949a5ed9f8842640d4801a6a8cc1bd4531cd3d047245d23bed24a8f107f749ab1e74984734bd29c7a7ad47cb3c15a6bd4ab4f8a43b791bb1b1ffdc789d986b4f732faadeec8b9e50c238dfb8696d3ab3e3d20c8a533a0c424474e00a72bfff5194aaf98c34dcf08fab8653fa72ecc82ad910478f1ec981200189426d5ed4cf0695fe01c09e125b32465b5997eb05cfc5eb27c1660d14e6fc08b5d6b40b93a98cc35b5759bcc5eaa141b99f62063a9e4cfdd7b6a2eea1dfac89619d719bdbd306be576f8f4358d885d7dfe965e11f6c9e5a0a4b406599f48f322994d42baf339f86e4261ab252163e9e0ad3f21656269669dea89c1a156633bc3983147d2f284ec0853b19f6735cc1960926c44740183635fba8c32ed51e1a456a8130d5b617f193899512a687f75c720f871173a6ccd0faa3e8fe53217df3b503f5d66d915ef047d412d3e1396ad58cfd8f76aeedd1bf3204428a471c156b6dfcc8c7ecdc5e4a0b2405e68ef7fef0c352182ed2e2e6aa555d28f748632d3a2aea7002aa8c6a5df91bf66de4c1393bbd0a7b46129bcf67b7c225d97d14f622283f75fcd1bb3900f27c79bafa9d6e3d66f659744a080827f9d4cd666be03289a86b19ea49f7ccaaad9e550afdd67f5207aa6e59f2a8fc32cca13916803d1c836e55669e6c4baba7dc05ba76044277f075529416086e0756250a21d30789dcc7ff0895706183b8c477f6db703e83d6b9ce0a58344fa8a33efd90473f201d3b0732ee05bbbf8feeee8d7ea40c72836d3909f49b840479cadb73b675cc6a09caa72bb715e947829b1c086d62f579d800d7e1d23368cfc29f34231f9f757d4b5cc55f15c1e95426246cf4e48e713e753e8a7c6461c10b62036b7e524e60ec93e3e3a2f2313f218350c63b5512ee6c7d6526ee8f9cf3d63fc548ba8992cf40c67d017d52c3d73e1fd6e949d2cf22274724eb5da5cec6e1a36cb5807f37469f0a2f6213c5359ff55d91eaeb2c7bbbd5cfbd7b7a8f5c791683c2841e1ab8ac34ad2de776e068738d541108b08327e1b113b8bb900e3a705e2bf15c098425536d2b7cd64f300c8e53e0796474e6aa471ff180e5e7a07318cdeacf674095a0d1c09857faa0714a4bcef791a9955f6b916fc8d9eef605c0e18e3b16cbc0305bc91b466f3282b109b3512b31aa09766b670cd441e153ee2546ec2e3cd159c30fe1206fb3d901b88feeed3f23cfd838d86e6886a45c8da2fa2ce7a0f27574adc397d8252be58d3e42e874b7acda7e3c3f375259e55106f8e1cac746355fcb613295e7d63e643631048d7ed7ba11d4b4393d4ae46f26e442ef36edc2bde6dc1e33ee202eead81f29ceb7a73d883a68c7df55fb5fa20f31726fb14b8fa82a61075f27ec0d7eb4a25055a74321a3ad8bd0deacf112d438d0b4514d561bd290c37260ede515ff2076efed7d474aa2921c355a9eaceda3bf08cd18ae058d69690f1ba29d7c728e16df665c34524c3eb0437f32910c11894805d8645e8671a0478adacac8f15991a7f9108aafc1d8fd6f8830c4fb709b7ecf08037aa4ec65ec2112fd279bf2c03b10d37b9d3200fff6aed823f05b6150009ab2a55b65cc789061c4be5a8453ec9eb26796af555a1735c61c01afa672166ed28a6019c91ee5556fd2108e02e63ee89fcfc5edc0b26078fc71a4351b32567140d72836835ffee0b1ce7ab16c4587c1df99a8c6281671badaf2cd67d0847996fd4a93ac56feb83dd82002730c59bd4bf1484e77b265a6870ce9e67024da5de6d996f9abe19fb6f54ad1ec5aabe43f7a36d7f32a567daefb969a7234a0e9787f79188094a6794a3d78682b51ee57291213efc7ea295e6143d45e8444603d36a0ea98c5d959cbe3d8cf80d161ef341bc6a11265989696b8bcd96d140cfa87ebe007222f3bd2c2b1011f014abec17dd7714af677f151bfbcf742103e73a7d5278af5d2866717776ec27b318ca76547f4f5454672897eb6a620c46d13a5679d7c9a69549a14a465ebae9c84c5587c4548b897e3db9b224a11c1928189302c55c7df28943a2ea8627d35fd0153132f10b7c314e77451faea5bbf60db3c57c834a7b5f696a1ae46ff252451896ad7927b5595d52559fdb6b4e89b797262e1fbf5a8e1952a47d7f1aaf2c83a8528c0edeeca9f1431139b1863b915815aece4026c85058caaa3394e4c86f98c13f29d1bf514d73806f77e2101806489c281f838e418e17f86ca8ed99711afdfd75e25b5d9b9d748a8190881553b9d819482ae0115deb865c2f76dbdb260692b663adea3dea997f07f5213c2025838828d36d4f6bafaa6d27827213e8516616595643677fbbc68d853a6c5ec520e05a7efc68141e54a0c07b82947a9f20fbff7db66247662570625a2312065a82e7651da9993688eb3cadfeab775f5934ffc666c8ea3a8865f1dfb5e4897efed55c4bd96d8e1434bf1140554dd8aa919baf10b182511859974297123d84937843c96340ffd2f620f6823d55c8524d4238823cb6d952c7cd9445e89719ba4d4a29fa15ab28893b2f5923e67a93817b9d41b9aab6bae8c1f7c7e7df4d8ae73d506079791f56063b788f73cfbaf33208090bd9e63ee6fab8000c6ad2056769edf58d8f75a4b3dced7e9d80a7105c77e24a120c91683bae341471754f10e2dca1a279bd20289b0ff4863626a66e36f0a398382939e2648af8e41bdfead022561e37a6486aab0ed327e41d5bf5779976ad9081f012eba090a5d4c7637e31ca347156aa2da211c6fee450b1218384ed52751b7ec3af704b978afd60635c84122ad209f0d270d08abd8a177eddab4eae91dbd4256ab50e122514c4a6ef04f6d236b9269a49e4e475764ea22e71cdb246d7a03ef7c1ab4975a317515ffd20720fcc0fc4bef4dfadbd7f2c08deb1da807eb1d4118e71f9ccbada26319ba16517ebd77b7100199142a5adfcabc100bcdb4450708bade23f5ed0f07b84ff31b6e41ebde249391a2955d151acf41d24957321d3c89c22060390935ebc7721cc7519c675b6d13bcc9f4356370d73933005fab222306b2742d7afa06941febcf596e650e3324987d720aa7c34fc732a13e927a5bf38e3d1a19be59bbf7c4b57bcac43f4c2d29042d9a59d7506ef59725362b1f5529f416f973df6bac2c202727ef1295a518acad2a213f20400c610e8b91990ca1a86fd9ed8b2e69b71453e26d7d16cc6238937d19e918a206a517a7a1d7bf13071761f85d0aa837884fc9918864fb3ffb9aa122e22b49af61afd4f797f02ac22091be42e669bcf3805775f3451ed6a6056328947e8a4c72ff5cf017e934a632be0e397ea4cdd94f5a63d35a19972303b434f30d230518e187eeea35dad663251c94f02b16beaea73c5ae6b4b184d81a9239799d33edc7f6da46c08f844151fbf6225d24787bc80442c588ec70138af45da58f899eb3051f74d2947d4985aa5bd5b9ac27e721deaa41498b203e0e26b4485d83246cfb073e63952c0dc8ad9d7966287a44f98183b6f262cfb0ba48e0c71909dfe776d0a83372abe04efb927110af7a552f172b73ab8523bba2053beaa9363ae572e7ebbf47921813a21a40143e965a2922d75fec8b75052118d4780beaa9d3c3119fd870cd0cf1726dfa83e447913180dcf3764f93781b503db4f6b85aaf6e4b7d107e2c83598eabf4bab82c86ebe734de43f1dde30884eaa152d2f8ea3001c0163b5b153d392dc47d80953a94df4cc2d6eb96373a12ee5ac70ccb695820013381f4b398c7335fb094c37235b088c1f50465be4ba1cb4f99c267456597bffc7b24073227f9dcfee73a0900a8a8d8b8c583257538fe141a5ebf08002679936070337d27f6c44b13432796923feb4dbffe6009daf4df13db4c6118df5ed865abfbc7c9d9e49e8abb6fe5ffecdaa9576ac18bde81e2d31bf83438536049a6549db7f7bbc9e7ec5f05f7148dfc113d75d36c6fc0ae50ffb38edd6ac9b6bf611984690312d7c8253fddb0526ae4c922f46472211a8df084371bd8b853a624e5781af907b9045495fdce2da4a3c736eabb6eea97c771d2c4669fd62efbd5304f65ba3bf0d908693c4e216e9db76c784426e9c53db6e065828e176e6acfcee2f68fbf2598d49ab23ed3a917a8f705ffd64663f5ce84405f06936189f0e77a4d02aca499546e071136d5dda26eb40fa349ea4ff60f14a7cf4d827369d7f5a10007b58eea55760f46e71e2b3485d759d42db08f1922e54da0b4982904e3b1c94115b14572c2fc9488e55e7732b62b1b706f584ae089871c9dbf7470150d4a8db894afe937bd247dd13dbe18f0c21bcb18088639f1389328646b46a4f27656d4686ae834badcee5f42a9222d32e343433195d65c78f750f680de4fdfba8d3ccc9ff92a40123201eca1c9a216fb81a96475b53fb09568bf1abc2d6b4b391ead3bf4f3d0121f31bf955e41afdbeadfe702036ebbba788c5c71aa77cd6249b6a7257b13850eeac9d5a3632d6137a56aa4c5e20a1566155ac5711c263cdf15fa8a31aec83bbabf3b2e470cf457c287199e2345664e524946ae011e1363921dfe501f4125260d82044dc9f399c2f191c825ff3df7bef9db180a682e5a05fd7398eaac74925e9dd5f90158d2838d5a37f30f112c5d9b6a7c7d21aad64b171cde1050ba3b16c690a41df161cc340fbe8ec194ea8a5fde64a711274e87d7e5a6212b70f7f90906c6367d56e59fbe8b2a27a2100f4ea6e04cf88a2cffb545a8acfd0cb05a39f92edc9505e54e22a33020c4cf6b355f93d502cb37b6459b7099ff6e9f627592b938d90c5c6f8e29f859dc2e05c3faed394cd005b70d1f99229c49e7891eeb0482c7ab66f208bc767eb8b717e2a7323a615a1c4817b3f94ce11a8aa798b8fa8c96dfa73d915bb2410d462ba8f9e3cd864af7d6892a213555c5a73b6cb0023d3b7d59d859bf9528e708e9dddbf6c58ae8a848a7d7fcc896a4052a0147a81d5aa54894a9d4d6851c7253a2c64d800d1941889c88f4eb7b06712c00ae3d76416abdea39da64a713b8d49ae024fb953fce42f2cc69103ae325dbc8e79b395a6d787873be416cb72bd976a6389b70337cdc75c209cf0d62c10b69907d65de919889d844b07c6a2d298f68ee97b5510ca2f94772915ec11ab5a643bc4677b1e00183c461016f942deb8b3c6e3f087eec96c192af17b644c7769170cba3ac0867586cd47d2b2a0f86df0130fc50720af6f88707304bbc7804270ea977bc476d6a0f2f7c9fca4876a7ce03150dff0e0aa117de6a8e509668cb3cfda08a38d802b862af7ab9595afa37a67470fcfb0dd3b16e4c9cc526963d21a7fcb5f794069da26e1cb0463bf05846a8d2c392ca6778c8e9b462ffca1a2708714f8977da0ade74ebbeb01a738d214aed3a8497ff23704a63dc05d4e562a632ff3df8d9059a1ebb1e5be926ee0fc6b874c66bbdc347ddcf10280bed2a7cee28031643f0fe26e0aa0d6fec187d76027d70b9cf61fcaab62c532d656aaaec091f3b716ec332fe01cebf2721d8f64512ab3ffe1323f4185e1b9ab8a2f4cfcf96d0387d121561149ba9447541120783064945549bb9967c095fc0aff758284ce74de68021f22d4df5a97c98ceb85492fb924aa9137d5b8e490ecf5932c581506a458ddd479b17fc0de8cda6c4be46bb4cca9075eaf8c070002120b249d535ca6c81371c02a4dc3cd637c6995a622370a688b5f49914c7d2e92da16824ce0d06dc413e8b373703c180d72a406a2207ece53a8cbc152857bb6272fad4d1e35e560f03fcf957ffc060ccd93e94089575520bed9ecb170f6b1eb0cc82055b70a8e012495f644e3c0454fcd8262225ee1252e8f3f9756eb5de4c6a220f6d244855583a798f28ece02f14c08a2501fab4604f1f7ecfb8ae111f3c9d1e0762aaa2afb4be9f40ba511ca6d3b1db9a14f348f2c4e5882515096e940fb529c269e66b4e0771b6a08ffc1314f1421df562e83f88f569904efa92218a3ba352e213b8df67a374c013322c696fd4a8a029dd8d0604766acc64fbb75e79d80672029f869e07984194c2e0144a07dbfbf0e2f1224dd68d0b22c68cee0491c5e993d946c85dd0670dffcb04ad33e678cb19b80a3b3d6c8f3a6f267d428f486333fd84e61345f03cc80cb1f69dd8cac4ba3469c4ce03e9eebba116bd80700428f4beebd015b3b93dad366494982a48a84d926974a624367c6f07036322fe965709298de069a589ac94fb917e0032c8b88d626d02584b8afd93fe538f44d0d154148a1e9741993835b04ceb8cda5e2b3a9c548499464d76b2892501d398f3a2b2c219e81c5e9adf99504739e5856eb5dac4eed43895767254c132f47adf66b558b08a9e08a19cfcba97e8d8f16567eb28b39704cd5c7d7545b6591fdf9bd04e18480953846d423bb5a5c11253a37ce3f4e5cf70246a88a524484fa87344fe4cea47e57cc67954369577f5d6513639858c67b1d004c1ab32ba930ffe74f17cc5ff9ceee0146c4f7f51e67742c0b6dde2eb76c6d8dccecc26daeb3d57b076955841dc4671d4a9d97bb1cbf25a77e423640d579398bd580f06e8e7c2308231531c30cd334818af3bf692fd17b852d01c0f05ca999805b038c340b48d5aa236b40b7f85b1ae6534689d416a651636e6669dc3766caad8ec6c1d2eb59dfc0dc3365e7179b68f2725864cbfbe8b8b3d4b292ae8802b4730b0bb89c510ce11cff99f7e1c490b839d6a99fdc4da85e27e83e2abc9d003c4461fe8ad4953d7e1ddd0f95109dc53029f3f78605c38ed53155c583eef2eb632c0c732a04429c120839356cf3af7783217b74caac0618a53751013b04f02591618278d81f9ba39e01639a8d43b9932152fa6383a3091d7e2318c82c46214fcc6a813eb773b72e6712d50cf3f14a67ea0b6d784af67a7dd585d9becb04d5f0f23bc04c8dc1d3275cbf1ac7385a054762a3cf4a326f89c975315974f4465f770031453cbe412d19f24cb308eb7d3aa34a83b5d2e6dd5a0ff0a8f27f36bfe2a8edaa9776ab3bc3a1ae7c98177a8dd1f3c4ceb8aade8f8eefa42b18011265696a22beef499112686a3c17f43b7e3798320d20004b1cd3f1dce620ff008a1f950fa8a8aaa9145f12296b1178052bbdc888836411f3cbf6d9a898ddc2219051e2038a1ca39447f5b396a8988413e156a234a01c041a6402699577633a39d07025fd4e566a9218575fc0eb9be781dc19ceb068f1a023408459c13da17386fe003796354bd6d7d5a2ee3996f08369db935de9961d0a6be9630c3699a6a8d95c2f8baaf32421e9ec48bd044ae683530802f63bbc61f801bf8b571ec714d957bbbdfaafc4bfbbc7df61a5790867cd1a60f4fc1e8f9784932b7c5cc9e36774c66843f8ef99c0529152879cf69eaa1d6959ec0c1800e28813ef807fc9b53c0a819dc45d886de428bbdb81a58f26a2bbf528adf495202e9273d542f866c11f33dbb64f057eeba2ade4a235a812c8f007dd2247f4f985b9aac2932388d3de282288c5c30c045718e3e37b15a84440c67a4adc835878000442336befcfc6a39b2845a9a00ecde88ff11426a29e89f94a2ef4986603a0743c16c69d1ea92a196271165eede650ce2201f8c4e3adafa8e7fbd46fc784f1cd99aeaaf213f8e73082f20d39f803a065d81b65cc9caff8ed7d73914544a361f1e90faaf42dc35e9c6ab6fd3afba1c22b0755eed8b6ece0f7ec5dda16bd14c39b62c4f8ba5ed497ff18c80aee493bb57913faad5d49fd67e0d8eea91e08d9bb11ba335f5e8dfa0bde1a3fb2e89b0514515d11fa879976d9865bae118ea775892f4d28aa19fc213a311bd127ae6ec29c24609182a8d53d23bd53d875ca26c862df3fc3d1f62565778a04d05983746920964e4cda13896a06f04ccb3341e9894f3a45f6edc3523b6b3e4da7acb536a0948c7f6ded097589ba3d29b1f9512f8b0e81d9ddfe72fc46ca37b31f1a741912eea6bb2dbcf8085eb20a6a1fe5198779aca3da54bf5cc3cec1445d1cd288e9525ab87d61cfc7c4878ec8729767dc45a6ee44cff689fa05093db4b67c465c2bdc49b69032f6f9828f6877ad4048c2963c9c309a01ee4debaab75d78cd0af21b15ae8cde6c11e662588dbb430926203be14450aeaecb33a99be86c8fb6fbab99f7429774451d066dbd911bf392efb33562b1141969a18f57a9e2fc56df4b9cb481e8b83ab55df3d6dc9b6a2b961f78e8fd3892f3d291a73c2e7fbdb43aac5218c3cb5ad40ba1a656a1fe8e40369131ecc4262e9016e466ae3a620099396cc2756d5e688034ea1321eeff59f4a2511f3270d96a98b815feb5115758cc9d75fafd200b4b0de6b8a5e06bacab72584e6adc79d85ea76b998b0e9f4f25d30af8cad29bb2ec948a7c538947c5a66f5848b2a21f465297307f098e44952257ce1e937e55c2e24137cf857a471eccf580892b7b354c762c93e2a34df168320c30511d680924c4387ea99c07c171a10affdc3b5ef491d91cc9c36d0cb94a9ffd9507da22f46c1ec4229eb7ba5ef456c7609daed00442ff50de8e648b7408f347b525b3a009010e60581c917d508a77eb2f8c98f793f9796530be68106ba7491fd44e4b2129528573f19fcd8e7c3174590a0a2760696987619d7c75cc24d84b800888f90a4d946ddf79d300ed89b554a298f024120658a7b7777a6a4c92ee271311a0809a675137b0fc6355a51810646276af410f406f1db38ba9657ac4b9b707f3a74bbab3486de9cad9cbf4fdcca19009bf7ff9ff83586f6123916f004b97bfe007ed5df7174f071ad9f7f31e0bcbcda865c86079841f991b9dba4f56263a36f0a2bd6dcf54a2cb6372ae6b8c42a11e270020ff70a684164d0661d5b247688952f435d29a7f69a219e85a9ab99db1a4a1665c09f6143c80edfd839ae82dcc811c011fa47544c721e43d462008df666d0360b83be721411aca8575ac74934b29c7eac8540f7c67c156bfea8114131131d908317b74a43466545a0a81c1120db2b21b929bb2d996ab2d475675e7e0f843e22b8234714b64ab096b675d84d835d92a0acd32b75b0b0514a9bc549ccbd5fb7cf4d23e047d01c0afa8f190742b6f071c6e2012e9cfd0ca1ed13a26f7dfc4f26d2f9cb0da5b1faa3f5f8c19956c26c42c826952db7b2a874dc876fb0a5b4fde117ad298aacd136dcbec13c7058f0e7fc6a495108f3e9db4c9505cd02beb95b7ac99e10028b3d6f86f28be25181a272067e3cedf0928348e3fed00c7229f80bd803aa00477e800485a04fe133178453d56fa778e36b2556d3b89e9a6cad1e7842157fa5e8361d0445f71d405e759649850accf3a057be210014907da109d1c26dcebb38b2dbacfacbbe359c02832550d1d9da0d683aa5e86caf9fff0c5b9e8e6ce3bdc536539260d1727a5130417275ce1a92fb732a77e1d3ae695b944f4dbd4bf0ab4c25383b29decdd26c56426fddb8b98a5dc068c602c339b4f7561e2bdca654904106e4fe9723b2d76c8e6d86efa422ff6cbcb85bb44f216841651862a22a16c2116269e1a50ca3bc5cc05f009b03c9e3170197c4ad2d65bad1ab25b9ccd049fff4996ed0fe2ebef225f12c67e66e78bc80f61726c76fc33cc0aee3a4c7f252b7afa6f68bf11026864bcfed6f4b45b6f79b378f525a00e9e7ec91510061aff864ff647f80918d719be4c3c42e15d8968d56d4177b449dd9f05000ed5cdfa73a1a1d9cbe4ea0f9188d7816e59acbfb4b382183510c20765913970cc03f0a258466409a1e3a13097682ec788a0d708394a9fcdada6ac5fb264ff5c2eb0ec4d13be5ad677ef36640243dd9fcd6ea536a60cc584e31d319ae2b9d2ecbd5f5da66669f0f048c6e95ac8ac198b137dd938e55e1dd7e05072d2586c2623b633df4dfdc6892e8d1c5be2a6880afaf3fae99101a28ffba2d7d495da39bde0f1d457225ed163cea16916a2e67a253ca48216fa1e6e260324d3377946463e29a6f1aad7e16c4fbfb0693986f0c10454c7b44c3db72626796a0808befa5d07a77d38f2bdedc419bbc94bc89ae521e00be3fea4c2bc1e33fc7b4bf9b8cfd87df2c46236efe84c43813ee4bf04de8c65e95e9100329a7620abb09423029c544808e384a126691c8452f2fd7e94f2acdb0e8c7d9d90bf882db4ff2b1a4a377256c93508317c2d8216b8f63dccdbbe6270976a953d3c0b62ac6725e760c7cf8f68fec8fd73f60583d2670e993fa25298639d89f63921d0ae7e8bcb1094a4e2ffb7460187f648cc839b7c101c4960f679e43984c67394313693fa2834820ce9c2ac261b9e4e3f2d8fb5ba2e19225e6d36d54375ee566999840787147360b6e99c77b98cc09b5db2670333420e1f072ce18c79dbc1adecaae3a9937c53bf328e1c8ac6ff1cd427a0aa668be7f56214439269a08215058fa7d718c5b6a5a4ba3ad3b97589f7e8c397e3327675b64a895abb21fa805ded56655cdb39856f6459db453d3ba818736b852ec090278e1e6ad9814f69bab000367e33e6aa0997f353e9ace4069f08ee5f125f72fe8842930cb42c8ee450dea8f983675c7ae4c03c3f9bda7708cbb3e0b40e7639ca18afe9cb77896c5a7ab7905cef16e224c12ab2238606ec9ad07f90c6a9ceac0734214b8b17b2baef16d62abb66fbbce337d7b7eed07d10674eec30369bda3d0d70bd51a85384dc84b1b9d1007ae2cdda8bcb3b03d4338479f016e639e3524b5ee4cfdce529665fc9b6eabc7f7b63227d9dc61a681bc916558a8a9ca088d4ff23cf8092022529b8c70277be17e64db50e77f0e8e563b7c678e2655245b3eb5c09469de8ffbdf014802ead7aa8e5edf4a84d568b390dcf6b5bba20d086338928889d6c28748004988290fe531987f19df0d807bdd41616198c73614e7158ab000ad594975bb01e7a0d2636c16e77d44f1ef98ef36f839ac000b3e212da2a5b89f0d91d5e74db5642805abc31696a4faab24e12f2de171cf94ddba3d5712f7d92ea728e278e60b2872ba99647b2466e7240e76a75081e608a206971aed280d27d4741686b9bf04b2d02f8141692d75e6d31a940153f3b956eb66752285d24b8190aa4e83a1627cb5d4aac7ae022d2c4ffa1759cf0eff67ff5d60df492eeeefa1ec6378286021ed7ae90c1a649ab8a5b08f0bb49fec014a98caabd5a6f2b5af8e1ae29908d23d66d3c7450ecbeeeefd6f44a2dff4820c1d328e7e1848dd56405f6ff0a68c00f387e3728bf39b2474548e107dde4fad781cb0df1ee6f17f4484490086c5010a63a2aed750d2110a949021ea8a0ef7bc36a29f07591823eaecf80202558533a96c988f1a2cfcc02706e8f48295e039576679e083def245362b75a937613c55c31b59ef8a2667e2b67fb93d691cd0838cf2a646dea6f50fc9f37e89fb674e46cca0962b550437e590a4a2ef1b8980c80f28de0f4cd5f0863f73784299ec6f7da0cfd34f318f0d64bfccf60d9cd3836943dd3fd5da5a2aeaafac2888a855cf01f112f8f650548cf7850659033a6bcee34a38fdfd74fca77b3273a29df97ec289a5512e00b0b89dde036d6a2b7aabb267f68a5e920612b9475011eb8a590561bfe1421840f13bfa0462558bc01372705d338786c006c68847050ca7883efddf9ab9e2cff55f23a4be90e903bdac1d275dfe8df8c11e9777fbdc966c4055df17c460cf1241e4a1d8c8555322d9f5c01234471932d522cd67af3431555440b0c12c17f2ca8b4054cd93bf6cfa3e7dbacf0153d3399184fc30902d2da0d4c4b2077f674c2482e75e19ef9778d780f8d71b94ea58317988667fb84be360a6ae45018db41888dc4f3ade3edeb30565bdfef9e54751f5f2ce040a8ca92f7b8f2d03ea40b44bc0db074e910ed57705e92dfaccfc2a7cd3d62a098bbb2762e79c438423043fce6587fc34eec805f68e711417509267244c629bbe3138b1df445fb9e037a9ee976d08424143f169957d09ea4f1fe7384e31e38260ad5e2632c6d543d0cf3cf13a5607348b20fad7762b3642e3ab6fbf1b403532bc601f82703f08ec271229f326bc72e07b50104601c233e73454798e9b4575689525a2dde846ab37cf4a4e7dee23dfe74b5b77da419e706f3c53b3b7a7cde31e8544e7c105f91d6adf196af7b0af7c4175e8c749f2acfcda2ffb59b926bb6b665182b0d6d6720afd28e0766ac1202b3be14f983545dbc9230aad0bb70625520a474a8c54615ff3f5c298423cf337ec430e1a26272bada9fa2f1bd4681847e407ebcad1550977e9f3cad65748956ba0935cb73a86172806afbda84ac4b9eb2b59e23f4d9629ab314dd110b005ace5528671c97dcbfbb5cc667524fab71c3010d368aff4f6380c9d04b0f0e8ab3356d206e8748dc1f48649ee4747aa21c00613b317869c05ff14a570effd9d331f4dec93af4f0141ab2dba9883175f74c1222ec46f5280468af5b1fef0fbaa50dccf3e9a717724e399c8c0edb41bc06c0314139c0fe469a84f3a3e74c314875121a36ef377617616df57e0cc4cb6d08fd428b9d509a1a0f2976ff6a598fac6d8e12108d3aac7a028fa35e2d546e67e0df381ef0893910f749587f1d9bb0b8093712e0ac123ec65607b82a83caa8ca2a11322caa77c49fb8ef005188ee8f6848e505709ee5a89f22ceb8c99dc8fe41a6480ae9e7ad6570f398d218c3309d8eb283b7127f4c82cc8d92df267ac8fd356a2aa574b8eeca40c867509c8649ba4d076a1ebac17503819c230859e0a0e624793256a86b0488f94648167007fa1f6da99eba1a0fcf224246e8d03a2b3bea3a8fa1574724ffa7831d18e32139f823a9dfe4acd77fb3201b95f5ff7763d2d3e7136344ded18e32a365b849ad43e1b74ae3a62955f000de80484ce0f45ed54d20f37202ee108909b28cc84ccd6a789dc8435d98e7dfabe4c11ba30d266ede5f0e0e388ed13a984690c333568ae87d0d333756394c19179e6b000b2fd4aefc0821e7378390314f0f6ae381e89b4e9603ee951deca34dedcda97c2eebd6f3facb169998360468d0b555de2562d9bb61626e825cfa6b8171509bdeedd72ed802dd0ff33fd18693268bea1b5f7888d185e7cacdd599acd804ce757c32c9a0937f9816d4e921686730ae5bf4b58bff02632ffd68854f731e4cd20ba831e7cd6794e47c61cbcf94121a2f93fba097f97e2b24822074a53798fde11e2997459d372f46ca69e555231281416ce3a362fd2583b5ea0cff584fa524af5b59f59d921407406112dcd90d44afea026b58b1a343999cbe0e5ee17058f6cc28049d52bd5533063210940e5b7f7a6eddb1cd7538ae364576ab1d58ed79a9d861b183f0f11ca2ba886ca3bbbf9f6c5f70927806220deadfee5d9600b25be613062d9e5650303a7f8a0c4ea9b298ef1175c1011daa1b3acdbeb2e9fa79714f981854e36ae9673dcb33ff4b58b0bcc42dfe76cace7556f0790b383b38bea4739b9814a351d6829c8d88da26e2d6f1949f60eeee6510fe524c350d6431bea93aab3373719202eb1dee8fe2a6ede3a08d591f8d436e0d6f2f96c546575ce9edf8c3714840ccf6abac12be49e743b7d28ac11b7faafde2853f65b6873965d039f3421d6b73db81bbb22e112cf08c03cbdfcdf4096f6861e5f8f6b176ce6e8ee11c8af28a36b56c709f8ffd15c73889edb67dbb6a76c9641e6b7740f6956829b95f96e071da97fe5ef7021ffd50031739ec4e42d1a70505eddf12d257515b8192081ae4488c169fed989bb96176226605f57eb0e861297d7c172e3d814a2f967bd8edb860f0ecd780f1b489f6530e48563ba595b118986f16ae92d43ed51671be540f9b44c735574930fe7f7d08fe0a97e5a99f8fa9bf1b49bf8bfa510e8067d4ca68cae06dff23a09745745a75c3f4fab2d202a8fab0f6965e016e9533ccd32650c39ccf80e080167aa2ae9b655018c2e7653f438f4877be5733018640ad9ac848a9717dad98c2ffc8a78eae910ac55dcbfed2ec210a0652e7bfdf84f269103490a494d7dbc80c252593a9eef79d58d9349f4f7967893e225aae5d905dcda3db9cbba5b4358438d5e21d116112f52ee5acb12557ca55665059438341e45ae01d14a3bdabdac877b0527e3e5d0b552376c2b438d4f0b5bf98a7f8214df6b47f40979da50d4ff280272c403652c23ca4aaa4aec5ce911501c2d4fb724b06358b0bbaf9c078d350be4da8bee6abad656916b342c991d1d6c298d433a0c9bc6bef6c44301cbf23caaa8df098b4a95bcf76cac3334d10379cecf460e855d3182ec31290c986b705a87ec2ba9848d7a9bffa3f314b6b61cc2b783e2429aea138683405647a01f0149b35c54a90462dab9e4d1acfdc0ad0350d5eff4cd272eff38690e76f53d80f69b0c3869479a3345b6ab71a4863488e655ce4850a950302efc422e799868470997f5b40e87d08fdf4c0c7a5d41176d95699652d963cc736bfe46ebc3fe7dbc4929dc4418db4ffbe84adc39ff51c6cfb8f3bde8bf52d192a1d561ac43e380f16c5cd3ae88f5d349dc31b96b99c4c18b3e6e1fc870372c93f1e0d416bcacc314abb1f1334084773a7347e74ba65834da47cdef7abe70926818ed1d066e3f2c4e13d9f192651ffc17abb99bab1f551308156e0820ff5c875fedd4e10ca91062bca623c50f8bb314f569f5987a4c11ac123d6027910d6cf276ccfc2e6c46f44a572e166067059a3e8966bb869e246f6842832ef4285356d0080c732e955bf8a535c438dc379ecbe59e457b972c010ccf72cc64e524ce3dbe054de985a48665953b223e0625b9ec7dcb742502754a1dadcc2d55fbf08528d2f53a5ff59e30724f0ae785a31d4b54d1d57fc26e0fb08723241fdd735ba6ba20b3e58069fdd857fac1ff9b42f82b30efe7b4164fb13ccecf857d4836cd97cc4e0dbce6c310a4b394eaef5016e6fd99302c91ad55f6e392dd86be40af2418803632a436b2edeaa29a3d0a9db1ee3180cdacce8033367d760e0c2b19be175dd23323524fc21a1c5526cb088ba79f5bca18d151e834974d5fd7c9364f0728cdfde1b6711a9cb40993e63a272acd8c0e9180d89e1efe40f0f6c8905257e4bdbb379f9e28f6de8ca362f7af9ead902b6daefe574ef4fa92f7b1e7cee614ff9164fae93cf621fa3459877f8e8aa52449cb0b7b071d50495625be5eee77e11c937d6f5ce349d2a9e207c9a9672d76c12655edc28657e3a1ab0abf02b9e87d14d132503b096af95fd15ccbbb0993cef2758864543efd3b5622fc59fa0b3dbf7df0b3a570423b577a56d5ce225a4fcd8b1ccbf9a032c3630811796b6d082e363ff72edd40aa4af552a47b180ac9aba7e780a384cfc89c3fc5c059eef4033847734d40f92a5bbda6177463e913729bc6f0dc5cfe6048251bc41f8ee6d10fc09c453acdfd3415280231c1e889c42260120ed7058d964e8c9fc1640e2788afdd5254901632c1d6270f433c09f72a34d3516ef56480b6d10c33bc288c19f08ae273fdbeeb5dad2faffcf09d2c451d7e8d748b0e29cd7807fb65fa772517c81f6e5f161327dea102cf3208984e5c6cb615b46d28bc0cb66e10d530c88efe1f9d3c1566b4f51981c372dab90d02e53fbf353360c7473bcbd3d8189f20abf7a76caad487be012acddf30297fb11119308ffed8702ec4036f5524d7073274cd69d745842070ce76047fd1a378810ecf118764f22d7204e51f803086b65f68ebeaefff9dde82c2184acbf66e3aa899f9f8829e2cdcaace21d58d58662036b8a5423de3f7e61853461100c6ff4f0a01affbabb478ae82c7fb55c02d563a74c2fc12c6b8b44e98dbe0ce25ea2423a8f2277a707f03b2dd4cffc5a2e28adaa9ad909e2329b982297ade08671d73c58a566ea1d5f2289a3c52a9156a919b49fcf192676067ed0062b6a99d43feb4b97dc4962c71e1764dc46720d06d8939e1f1067bc45673ad65b7f1bda2ed3c5fe06eb9e701eb09a7f5adbb33e4feb647d04a1d45bfceb00255f6e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855a699e89a21414d9b889ab838279cc846784386430b3e14c398a041be02ee9adbce5cb24a232d0598ca8e849a1b7122c118770c98ee0df69aa28acf5fc4955427e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b85507f1d169dbad2ebfe5840be71139c9b9e26f48536bf1cfe2a1da36701af9e4c5e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b8554c1478d6e69b6c943f2e4d0bc334c3ebcd4626315b1c25b6a4cc62c2f3997041e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b8557a10fe943f1b136b9cfd3f24da219918ce107045cc2e0610dc7dbc115a3deba80572895e4a53ce17dbec7b4843081f31308676108eea4f41b4d27365aa890a247475b628d7821a1a45f672fab34d8a52df053ffb41e254721f7c8b2dda1cb3d4df84057a2ba980fa9b14aa7d71b85fe58c66956c026727dbee687d956cbebffb07448eb82fa8e6945899ce99cc2292c79f47daf73f6cf4f7e1d3114dc5389f0ee43e7020d67065497c17a6fa4a7973394dbd2124c88ddb184aa01b10cd5e2748483334808ab40b21729a0c1aaec92bcaa37449d498c9964c648cbff9f1c439a2225682eea10edd7bcefbf09bed85a7061f51b63f00bbd4a2595798b1805f77bfcd152b9bf1ed0f58984c45a9c8d38fd38e5389f1a6e3316b0ae03871327068a20fafd35ea1bfd146a78e5136d88dca7e17115e1fb4c10ba98bc82a9bbec2c0156497d60327a667f7f59952b5d1e135ce12fb11e274a9ea2d21fbe2aee80f679814f5052476c9e7ca67c3768388a8a0dbb9222e72d7ed2e5f42166382920d9b46d012bc472cb04df4a81aee68df7084c95f069ee437d1238b532671a8f5d6165b2dbd4042705136e4e297f3bb7f93e1e5aa6eb36594b0e63c8a605ffe523fd4989793c6f26619ca013deaca58743db0bedda694db068c35688cbf9016dc2df7a9c3bb24fd758e95f4d8cd3e86fa5dc11e8e989c4e13f2611c595d03ca7aee1f9620687ab212af2298d41acd657cca3fc4d3d469658fad39f5dbe457d887139130b6096b0491a18e3104c298245905d7edd813e4e378045ddb9fc92767338c2309ad831db68a64a30b71cdc33b5396caabf41b6b27c350b388813891ba6482ffa1315d956bdab5518411663cbce65aee2828c784b0684f81a094c5667c0b5384ae979f37ddb3943a385661164212c59527d178e6dfb6c92065c51c1aa8121c1b115b0752f542b34146aa1333da4ee0ec11c232b60fad7617fcaa8c4488317c1202af4bd471b72243e062ed0d807bd6099fb66b1042f8b437a1990440c37aa467ee266ab0907864c4a93d38f1d447a3619a2442641955847283d71ee5e4dd9378b64477f2e7a21fa6b2b73bf19e325049d186bfde786f1182ffe5894fbbae65fd410d1b760c54bcf36fc45178be00366e766cf24b855e9806ff746350cb0c9daa329cfc0e8fb6b1b61e49aa8169bf84c85224623732d75328a9c59f5a2a5e46aef5a443de971df651e434ab3864023c85ab08727f71f5cd7056dfdac01713b20b68f88883cd8d32a326ffbe3e9f8d9ff5ef0d7177e6bc2cd09ef4274f8fa7acb637884c4acaccee534cdeed820cc2755689a309a11256387ae5618010524ffa14e011d9885cccd54036e752684417f485eae51c53bdc670f075494e7dc8852a5ce67d79f0f221863804e69ca18a6ce3dca5a1157518f9deae6c89869eb8ab95cc08837cb649327e7cd3ff60b1533a07f9f1f7a2fb2ea9034045b0f9ad411c76ab97a8754daaaf47db447230c53a21aea2f2f87d46fc32f9124d07e52119bcee05188da2a20b572fad4919ebfa5e5db0e9923bf80859fc52e8cc019de731e253708854f2b39c37fe7020232fc0f07529a6b4c7b51eb6cf336fbf274c38c4e67be1f7a21cfac14baf69abae798dddc863cb9fd50e0d3d451d6a3b6ff687347b0846586e4bcb1b488b31a918ad05f57a1f71e26082a97e8502f49657f5cd0907172c1b766353f9e7db2d8c1df377977ac25ce264d58c80d9a83d728d0ce8a5229b1078f01ac7256977bff8c5fe5141a5aa1b070186885cae8ed4b79b8d4d22df809713500a6c98166e50d10d8fc112e1eb6c332fe9a3d9e4a92c43616a6da1983ae159540fa4895265fd9546e9fccb5f656b32118f50a1a086ead61e05eba5e863d4af642c10a8ef6c9e3eb9362e0f9c97892e5df399c49b8602df2e62ed56cba728f1ce3f550bd5e244237cd0f30a90eda57b8b00cbc24101632221d8c50e4c3f8be1366409dc0163c7ec0656e0621b55bffe57a205351d545076fdfd64b3b22640fe4c7d6f582fbb88419d1277c954c103c7f1b52194661aecb7799a7e020170338a7cd2566b947928a845595e87edbff0487d98cf2471b55e84404d8c75e946fb1afa65f12b251bc1f6f7912177976a4f01f1190b623672509e313b3215dac2e4a7c5129350161ff642782faa42d762361be70d22df0d4b12dfa6cbc5d4e9ae1d7e13e0b70e5424b6f6e401ed86076c97f83370d50b6729098402bd620ef53960def5e9f19213b908550af0da5f8581518b8889c5e66f9726adbce574e80f27078b383321c7356e87024785143c723d1d86ebf69e1f93da88af750304b01278d15d2e1bc855fe99fdedb3db9dd429e6f7c42bfaa82a76a0cf1673e8ebc7d4c3093b7742c11857eb0ff5a83f9affaa7cfe6f60d46c066f2dc42a7b7c26571cf162a81f1d8e3738e645370650dd7a62f75f6ad661a4ee930383a58d4a0ac9dea8e6c412ebc112520127a5f74e6229133efd94bbe007eb47cd18958c8d6874857763a73fc8ba7cd54a003b00d42abd3dd6984a10a588ae9e060424b9afdd47feb0879ca5270e208fc63c958e4b3cb2ce123c86431d936c1d8358d8db3ed955af7fcf1387a6bbeb3e6bc3a0759d08870b6661d5358018d500bb793a738d8b784bdb7eab8d9a2200aca0fb74225f609885001de21b1889019661f0a9c1bfc2e9d6403216a922813b805d377d669b443531b851c7458aa5076be331b83fc372bd7a1511c839258ecfc5f0a282f025e9f30b480cc70ba6d939db0b8bcdaff42dc1132cc77c9caded97d798d72c5456676fbd769c95c5470cc99fac694168f3a308930f66347d4023af10ea57dc501d1a7a2882ea9dd7ae2209eeee5ceaf792d20f31328e5c0edd96eda4b1be30cf307db518c8392ff0d5fc6c94a733941ae15bb72be8415adb56c281170002c80cfa9a72799604ed7e3ce9e3c449cc2cb5147b8d32d8a5ce402983c34913ec72a61995fc92076d4a4230f94037cd6871cad263cda9cfd7b83bdd4630422d3f58897878a0d926ab0858df5ec1bcfbd73de19a0712518d2967e84c4073b07b41f8529b6170e12c8ccc7cfb5a820c7d96e9fe5d81f5e61cfab56be52d3981e19dcb59e47b59ea46d04a9b9c0a65b63bf734800ca055488638868a22db4e5e767fbdb6806f8fdc27567ca8d0d33a7aecf1a6f4440929a75cb63b3766db8e573ca524b6194b141e19aa2dd0b588444a90ff7a25849a21cd0e1b6627eaa236645a281124f8e50275afeefe91234370f33f10dba1171d2afa56d8cbe7574c18cafaf74457172a81ea69a39454e40444504477a6318d3a967c1f2c77c79cd6400c53e559416f1c8246e46ac4f0e39912ac94ce37ee807a840d1bab1b769a6e44b7066caf1e9a9c65dc1d9b0939d721d228f84326095d723289c2287f5409161cfbd0fc2bac2c1f523f232cc8fb9576a0e1fed75fe08a6050ddaff17d43f1440e95dc61faaf04b5df44a60b87d71d1905025a97a10e9f2e3c726967cf8d05e1cd0a2454ff82c4be5fbaefbed72a1057215f139216b22401fb58b59888ced60612fa9dcad8be1afddae5b598d5f2f4233c17951c4198ed18b940bb93566ebb918d46801eb106236ebd951539f77ccc46485fe93b8abc8f2210f62af517d865ee282171ac2888d90dff2b3232558b03fd66286268dba399b34821080943858d8c34bc50af8dfa978c38341d818844e7989701be588f8ad464af638f4f1525daf1f71ca38f67b42b4a8035b7d5384d93a02cd9e09efeb895ada40dfd9236e94fd10ddc89309ac635005b707f7e2ec4bad6914032dcfd307dd0e1a52b2d13e64bbaa7105c30e5611ac59a0050bb1bacc56b8653c1a08e12f45009319633e6110f041792516b47dff2861a0bcd9bb56caa0de6b4a55b49f342cc87f70e95e4ee1a4eedfee07353fef6e45243e6e2e8085422a58a3ed38f8423789d27fc8659e2cfc68092970ba30bdff5cc543ee02a39a030ead100633a2a7dfbd91162510c846712a0409545cb3b61885e2b5d6ba40e324ed7d296c920611646a8d24f7f3c0fabc1d74c02a65b37b3d9ac505ec85362cbcb427e297227e3f3e059bec361fec54c6d12627d3e1a64c7029e2bcb57e5c96eb27025706aa063fd77e98efc34059a1649de63ab1fa5d91dfb28bc71eaa19311b6beb6e91c47b7298158080133f746a47b37fcb9dbb1da3f98d58db0075d21b1a0cde21290c5d627d4ace05f044fc3a8010aa7c622728b6bdc089a1bb5b2b0d48a64a6317a0890eacd55285c1aeafac23e3fb55d79525693614713caa94ee22d6998f6ac371bd90ea64aba7d01498eed10534392bfcf7a78e28d3ac4c218fd13238ee70d796cb77b0bc0079a47ea2626120d1dd4222c14779b71a352e239aa80536aeebc1e742cf552abb77598ed767b0de2e5850193f0cb6d13b4968dde7d739d111e337d8257afc0f384581a8949e8b8274e3e4f1513ff8d1c8122b5a496969aa68be0e41d80ac368b2c77cc4427faef2be90dcb5c2d2a8e3f81d3fe803c909da69d693279b5d6323cb3f82867a20dc80809957ce5cf7e0f5936cabbd7b9f1ddd81bcbb9604098914826f2da43a52b3b820511aadb608b0944681de39b30ebe2e5a89cf481a3ef88ef90882ff9d38715934ff674a7f4c620e3b1ed987a5076e9c6437637b3b58a8b0b4c5ea7a6192daa8e6f168363ae46de1b9e407a46c90c5c2dd9a0905955767bf1e8796d8e80ef500de4319ce509d9102112b1fe6eca13289ef149c9fb7824b42789e3653ae7bd93b0a36b02e80f08b414b9fdd5cf098cd6bf5283a4c03b67440f82d7d1753efaf00b7555a97f122ded97d4b01054d98d071e0e9b665c8f31b43682f3c12a36a460b83b3de7a6a5a1fee1009d33136a393e16682607814b107447a16e9cffde370dfa233ef7e3aeca83fa37503f76eb0e8705a5d2bf051c3732a602644f574c4ce659f0e0ddde03bfd388b83112835f833cd36bc81bd4226e5f5e110a6fec7d6f66af35a3f3c49050cc9a4b78bea8ccbe592c345baaf647975b8a1657350d6405534d1ae97c15c6d6bd216c8be3376a0a3b32cf6d6dab335958335f631bdee13487d5324bae91d4ad47bd3633bb2c5aee0a1860648a27161de5c5031f4197f756bea634ed85a66efa33403c100e9bfee6886d4455c4ea5458418c2d2ca25f5f368c0e85c6f0af917c303b7a3c08d9abb55e515d0b4ae0c3f9b5d7cbe39c28149a98d923beaf421f19f7bcad856e975b6a82bc3a33102901c78873ee134b80921f78cfe2bd9d0a9a683874472f52a8b56eb7f7418f576b094d29e8dff9b40fcafc7a62ae0ac93b7d9163cee39e971d016f600e0e66b1249f7215a8bd8b2edb94673f26063143809abce624b49a1d58176dfb9069a5f5c3324e0981f4c3c6377405e2ee367a1381124018e5a753d38879f17951b6695dbc26921fb50719ac685496c44b73eb957bb9e2d314a6c2e271fd1ba0e0dfdc29416f304da1ecb6d234276b9f2e39ff6fd6a13171a19a4f43a300bc337803a2dc0d4d8168142211400a92d533fbb8eac741a64dd2f24532998a092c90571e726b7501aa3c5c2dd9bd73fe6e29a47663ce638222b6afe1cf150a9bb69d24515b06b355ca1c1c8de923d06e54e3eaa53ccedb304dcf48ee9127f2f2fdfd7e1fe693d21f9d702e25a08c0966d2612a1477a4fa1de902dee1ecb24d92d6219afbe2d5453876c07dc3c083ed6f9a1dcfa1ba4a75524acee1fd48aeebe9668e2be3dd84e39884cc3aa79c36179e72865ddc9b616320703180504b8bf4fa25bd5629bcf079a07ccef2677b81bfa5e3e5013ba5c908aa6e277e3beb011fb24e0b639f42656cd49ec19c277496bce4286822b02dee280d52f6c3e0dc1ee228e3888e82c65a52e3fcf6b1aaeca34508b0e6c8679845942aae1586c825fffcff32591c4bdd82ad4c06246f14a222abe7c82ee58a022dd295f2c26031f32281fac26526ddf405e1482b53acb6aa2c1e9a8ca9f4431408067f711a82187d97287f9ca5c2c66fbd735607a56bc2277b65f2ca15bcef6eff98e1e54aac31223976cee7402feccbfa7fc7182dfd716aaa66afee5ed05465c7f7e13605bf171373aa60ea7ec8b287f26bcbe32ec24c20d5b4377708b7b033519ae8455adab37a288ff13e06bae5d530779f9db79a5d329f8be4dac917f063ad6120ebf9025997914138a8aa30035bf6001ae97d7a566e4790c0ea40441f4c1329e286b9e7e969f4ed947ecd51c7d46b8e12c1ad62f3b30d1ac41c21cd102a3a5a42ffa2be8599308fdb962bc7fc5ea15fbda7cbc1e2958244dc6892ad6b8dc42b1500134f318561fe8543cb89f28693fdd8ca54a28b8062070001f300430c7aeb0f8bf737fb8502d425a7bc0f568cc5718ab990bc67057d6b248d3883b596b2bbcef659d68bee278776c2e688fe3c449876dbcd94f42a59dfcb85b74ac0055192fe44d17e1d2b9f20a6dda14b8c3a21bf4d55315c8586e7331715fc3fb42f872209eb0c1d9916b34a0ea59e9dc962d405c5148323158b29203e056c5a6fb68ffbea4fba6245ea95205844a327997b5f629beb7d83ad3f9e9e9fd97ad7180297515291bfd25f571292fd7aadbf77225c2ea43b2082c499bf01e207dafc5723f40262e5a806678284d3987d1804d4b1be1954f158881a8a0bf743f310e92522933f889e2f65ee2cd18a2e4dcf30b9e078a9d549e6d36289f5210f9d08b01050cfc867a5691f6667b25a548f9e50516404ba18ce060e89fb767141bf104768bc24bb34e3aa207d8a1ae267f0a3679f1dae7b189a36b41082a36f3fb6ea616f114e3c636fb473cb0c1161dc6f6222597ba3718e00fadf6ebc603ccc4c2524f99c2379ed109d569aa0eeb4a592b2990b0e350158060929de4d884a4678588f51717ecd27aae61d9ffe390717204b1ef45417ea4ee90e096073d1be3c21220a5da75301faa25b4cd4d72036a25c6278c131b046b2afe54ce099f9edae7a04f20b5cc81cda13c5ba463f7245e4dd97686dcfc7eaa761ec24752f44dbc5e589338ceea567453b7a1a8d0edfbbb52c6f7b387710c14d64f8077a0289a8795b42a9150416e9c9188f844f6e237c43a1e05f4bae1ac856055bea24c0ffa021fb821e715183662f1f07405cd5b0e5094022646787ff5da4ece2caf4cd7282070c2464bb9ea4cec8c506a1494f7bec5e85af8f0143632c15c4852791eace4438dd6265f90b7ffb7cdfe613360b9bc5f7eb496073ddad8545b2d9aaf4567eca85d89013a2246989aa13e099da3540320a6252e7e8dada0c0b5c43361b0823ccba64c5afb1644d76613f62b9458b19175e147a1ffe8a8f05e71639ab3215a5b83326b112a80ff5fb4b7dfe3afb662e83f41d2836e9bbacc527efc4bb05ac113e421cc3d829c86ae47d8825a7ab9b656c7cdde9d13c9e01068bca5e74b6c450bc40f049ef82c905e1c13b726796ae78c1bca32f2430a6754d8582d0a10b8001687ea644a846dd6a3c6427ed45877a8b5d1e87da0ca558ece8c82d3a5d044f549ae001ab419f499b383d5235bea5ae491d00432139637163077006d751b63ac5668933b43841b419a544919ed5f203677fa9f80813a57f850c31429f428ebe3a8b36cf67b9e93e9cf760a15fd195014280329d14354e68131e1cb3a7bcfe49651ea3b57ccd87956b12ab935b59e9cd3bdc6bfd22f3291f7e97d3af937afb21425c5841afcac1186f52221da2d85efd29dc59591a7ccef98041ec600c0ff97dea5d06874d6293a5855c98ab4cd28b37babd810b5da50bba48430eb14b1a20fcc5f22dac10589b20b7ef6a4912f35d9aa58a0a78ff6209fc180e6c096b4bdec0c7c3c7a54d9084a4f09b07c331e25bb9f3addf836d0f43bf13fbe0eb4d8fe401a5d895444a943e4dff4fae1f905ba39f3fedb9283b0a0066cf91e4cb1f5b8638e2e1ee9f9de050c59f025f2893e072320f088eb0c922985cd22efa95bc774d725e86f4a4eee1a1b969bbd28a7e4da101280a8da9d2ccece82db559822c0d153cb84ffbdeaa3e13bcf02cf2350cbf84b805c035c40ce21385d6d21c3b83c55c82d0bcd54e9933cf9d63f42c134ff99ed2e75f7409bf8930275046c02e8b71eeb5fe301f864f165d0f6c1c76c173f278ac9bb03e8a3cf1d9065a4e6c10c273d4dde09a892d870ab376e2343b8f65c7388ef27e3131363948bd4f68618c28d7376d59a18e3615f27d224027136580c16f132fd169f10dc46b944c08651b7b0f7385a8907497ec6e458109212bd0b7654d7238f77c8254063d2a7febe0b0c8a3014b9c3b817eb270a9ff01b0e279609af5d2979d4445c1b78fdf2c12b8cb259ee428f55f88aee7c9edf2fabbd92ec02257e8ca28da825014fbafb6fbbc684f5e9686c301103ac687219ac9dfbf74bea102eb96d6a212a8470cd30bf85e6ccf16a2306453d90df16986805e8249569ee5e2da3dfb1fef2be1ed8bf798b913417ad7ae4f4a3b791eebc481f7f3587c18f8642b4affa2215bab4e48f04101cdecac951f649d8a1c96f6a105447941a14af7ce6ebbc05464723f7ebc620c82e034e33d9edca868ff3890a96a3683f388a025740ea68ae2465dee385fc2ea1684256b7eb318c74ca76575aa3c38b9700c919d168ff7731b161c3c26c3920607c99fff367454775f2819f2a4c82e27a45ee4c6d713f88ae3d7491fa4325df3a1128e01fdbfd37fe16b5fd180a9fe265ac50e3825308b7db758685a4204773d6f4f02f1f0353347f6f95c3d370d0c61f43a350341ce3825c2622a2ed50c8f47849a7c5f2c84daf9c1476fa350dbaa5e58e00083dc0000cf0567f431de47f94bddf8b7d606ef9ddb9aaf1302712f6b11611aa3dca09e906781a05f4ee09571359b86891fe023a06d3e25e82c58b8fa563084db5806352751550b7b447ea166badb501750987bfb2fb586499b70d26546f64437b5bbc859eff479f1faa314b9a17c82f8c7055e69b1f8b70ff01a264dafb179304f04c0a756e962768a9a912e6d60b978e159c16b193b661b57334d773e51f8aab7c8512798aecebe492fecdf1aaa884231e8fcc53df0d0e18947314e1c69fa02692c49b81752a1652e523d9f639e6a20f310097caf96ff24eff2b36b43497c61701526c0700576b66ca16d86c0e5f4bda98fabac972a5268409c76c04ccefc0e681f2aa4dabe5855dde3bb84c610b7219bc7057eec954b0104a72a5183af1458ad94ed1526d1d60664bd60379918d8503e2e88dd25b2888812edfaba145c4a3c1ca32fe2aa23bef3b3321033a4c5a36de2d6fbea98be63b66c4f65cd2ffd0e9f1d56f74d4310ef15464aa89a30b9119fe21c270abf856bc0174b84d66c7a9690623da73af6f469372ec91a41f311f4d1d8bc566d18a7f636c6c335ed7f60169f2b761e994653da79badd317ef43d80d6932e81bc48351f09199723ee2ab328055e59265b42f1c3b18c2e168d407304994f9146da4df348a3817210f08fda70c2f0699a998436e8a24b03d2bc240558c7f093cb081cf3b737b7c1a4d63bc21537f7441e3360d301d23beb3b64cd595a2a98ffd8883287dcab92a917a450c32f0457615619a345e4c1a0d1a0f2784a6e65db8ac8c935a10f9bed247428a3a1461f4fffc75fb2fba86913cba1c8888f5b677fac56f0f29b4a434db51daa922c8a83692d0e3c8aeda639d012d1a073efbeed5a50120833c77497067c97b93a3b38aa7b2c69d5488f8ce6cdc9dc7a509f2d86fd48ef44f35caf0601ff828ce79a9bae85ed0cb0d51f950f6896a7042613446e8bf86810de79d92e1b43e58515e46e8e08789aa0677661bcd3a21dcda24548ac9c1e4d937a64b7242fc1a1f5e33aca7c54aab4e3cc77a8025562999a02f1e256a322708ff6f618e4b26bc1d7982cc5b4834b93e7c0ce434c517b9b4ccbc46971e4a7b98ed72c25c8f85b7c59de4ebee48e6b717d5f302e16ab2a1bd923e585736a5600218bb8784d76ef309e97ef243fcf4dbacc4ace6ac104a4c91e9437f4fe160518fd13e7a03aa4378cbe0837935e95809aa220e1c7013c5f64d2218b1df89655793173bea38acffffa8a66a0739dc2755845633d6b3262d92b7575207de37b70b57941375907bee669a2080e59fb4dbbf0ec30f087a2b84e9b42806933bc87ddbd88fae7580f7714c34554fa10a2bcbbc20d4ba43f1943d9b1f6d9c3eca7d536996b6c288e4dd39459c793f112298f356712f4a43ad8ea7f4d99263508f0ece5a4fef123a7925021a10b75d9c9be673fb004c1e1e9013d88cbd84929cce5b6309f470e6b8c83e323b2da54b932d11eaf5606eb52a1132b5f8cd2731bf7bd8cc9f7d148317a4c2129f4ea02d26d01c15c4f0e3ce45af3388fea4d7e649653bc07aff0e55da3da59a3096098ac0b7e740efe62d143bd3d4cbd3c90034f7736caf62aea28260cfed210e8927050bdeefc6df82b66e03a01a2af0502eb48a440e773535bf8b432553462e784508dc69b44c4cdfad8e590839b1c4c5762f1e9e6ef614d72dbb0c21f90ba49d421804a7cdf07926be2dbf796dfda873e6b156d1d30dd2bdbd555fc41e19e0695a7e65ffcac9ef5d916aeb5e0f61c9830fe45142b7acf6048e1982f8c17f3b353a1877e4a3b76f73cc4db9dea32e98cac422e1e895d6bdcf8eba97ca5be49bc412713ae77dde8a212dbaddc6ede3e5c7b34f49ba806e1765dc0aaf07f2635d85206dc3765eb547db455dfb6ca5b32685926e5da9e01d5ae339a179185cb2fd09a517374ee479e0c3efd52409b95bd57b40fc0ddce221060eb47f65db44d5aeb5d10bc65192c216fe566f5a0fecae15b6f59e3388ef76b47a6ada2df5aa16bd855a2109b643424ff6581d7ca065aa4f1fc2a0305fd0ac6e5efaee3e26cb5fbac13bbebce9fcfef242e8aedd191bae65adbabe19570e818dfd94285e23ddd6cd32c170794b6f2e87760745234c6297518d617f0d84ccbb40e579f6ce289232bb6e324d0cba46fdef0af14db7d35de1890f445068321b58322304bfe3f9d30f6ab4e4307f75ac19a21933032ad748768efce39da6c1efb4dcf04cc7838aecad9811b04362b6d3eff40a0bdcd4b1c249159c4a69c0b81aa25e3d420f3f9cf4bc03474df109637295c6ad9a5a5159395cd1784531216de9b5792fc0992374c2cda24c962294cfd739640ad578145bdc3355285df3303bfc4d62e9477b2a85228242f3fa513a2db176e08445d2be2d096fe2687d8e02185d7549598bbdcf3ba250ed81ca9a047f8308fc215294510e890b2e2314f0d1020ca10ce972ffbca778ff0ac8fb8343bde947e7ed9d7348a603d0d0f3ee31d5126867b970e676a3d8566b1c0b9ce50f95d5f8d0fe6840be71e791672265a21888c918bfbbcf1ed08b07c07cc65c7a147a858251ec4b3bf1333a97533ff2554dcf88fbf8c6af103e88e252dfd8420190b3c87ee45d5b3fc11c8282fc975fa57788999dee31b429f502cda7a0e0ae90b460ee3ce8bb96389e96d226aed22204781ef351591ece4ab6f6fb6c21dcfa099b0f18895182446aa66773f8a1c401aae487a03b74e1eaaafc2e8df1707f974fd6d33a8289f5a5520f5e6fc05fea717401995d9b3816490e2d3282e269bdb00c0cb43af5e82bddc5bcabe1df6955dff7b37fa4c261bc0a5667381ad2274d034af99e5a39b2484add9706608824baf17c3046b0b4e65cd9e209b85e02125e398b390d54ad34c2a84647c0fa403a0e3a383cbcafab264b482e5ac25ede2696dcb146edb1a0766ce2563f8b81b6cc76fce68c3ad571f7cd98c92914fad89587b02967c41a933e7bb8683eeda23f8faa8bb9f99b2095df701b7a2fd219e8c6354511c174b167b90bc1584418f6af0a1695ccaa11f15ceb6080109515b0fc82fb26a330da4fb9bbb1b2b089ab5459639020c8eb05296e52904ab1faa1bb37dd08db1fe3e76d3cb1b7fbc2ee5970be4ca6de78f703e93a618ebfa78b9da1361e16a7189920b9d779f6492ba49a79a10011e82d7ac456b09671f857aa328b3431b5931bfb28c087dab837ad82b276df187af680f8741c5cdb323f66cf6e0a4a0390f8d7f9df0868850a09a10b89304a7336dc8af94d446314a7831c7603e334d098ffc8dda6bc7cc7054a530f3fe2e4bb961481b70a5574f62f6e936657c28c1dc17a9afafed5b2e17b2dcdae0378c29422a9a4e6745f35f645db3fd915833cd54904063bc31c2586310ed4f04393083948e2068d6dff6f8b71d281848abdf3753eb4e7ef9f940f6f33fea58429408b3e2372b609975050d53b8147e4bbe9f9552263f3c255ef771b846b0844af834f4026526261eacfb46b4e8ce7393937d778c6ee060e3d54705110951b728d4374d89f324ddb34fdde7651ac6f1cf2eb5e4548e18b5a53284063cf625a0f457dcbe598d3b27b5da775cf914f3f26f0b61431398cd5bfef19debecf7ed28b0dd68f40369c53ea550fe8be274e16c1a8c1c67d63ed3d2405bcc243f9c0e19aadc134d5fa1bd887f3487bce598e423395ffa2201631cf019c3bf43c29da073997f3efcf1178b561df9b89d1cd8ffc3d60938c1fde882932c056b4fcedfbceac8798adcf952fddfcf5ed059f7f3e6ee3bff747ec55110d10ebfe63fdcded7519321dd4f6b093cae29d732541aece8ad379921daa1b7fa75e58a8b3bc761f68128ce827d77d571f4f54dfcb95c941a1460f5f753235ecd0507bba475ac4ee0b709d513fb73eebb0f8dbcede7497255faec9f2194f2ca2aed4589d7812c4faa3fb1882bab94a7db8857fee13425084d544874f62156573f1b60e7665e3e6221c669ac1c928bcac58e947f646d7d2f5550b57813cdc4fc27e6fca23c91fd50d85ef437acb96883d2e3964f99745139aebc2e23dc536f55fad1badfcb9c37a5338709d210c92fbceac185834c884a0e27a410ac47edd8379309afd8cc1276e1b5bbaaf356e08a28e0fcdd6be6cc4d20e5a7ec75044f63487a1e28371f65d539059aef9c03e974431d2deb6058c38057fe86fc7668a693b61e03cc22bcff6a9b32a1f3b0e5dd40bdc3ec6e8c15bf469bc888011fce8bcbe19fea8b69b3c832d2eeee7890ff800116aebbb6824449c95744d9d631268fe4ed044d3d36bc90b55d64061a2d9783bf373daa4bce1d43325db9be6039d1fda2ae9b72b763baf06b39b316f53fa1226325a262c8635a2490ed21dbc8406e363e52386893175340250d8d74fbfff5743916caa60c05c46a2bb011d027869377411e6dae324d2443a1cef6e018988ed14485241f0d761c7bd557b0a8de8b6ee49fc16434d5fceb35deb6ac1ad811b01c90f84954070d3c20cef176578a49c4ae57baa02eb5d93b134745bb7f1374fc85ba515a3db27f44246ea86b47038333278dbe67eb95659d1430ea68ad0f49d98f98300d5d30454df14b3e982e7eb89e7f23fc9113b03043ece7087650d60641dc7c2d239ef0954b763bd21eace188c56ba6b3c65ea0157ca32728219b507ff16e24397dc4d427a199fe80d34ce4d41ecb48efd5ed26b30375cfd1eb95eb1d61d86a13027f33bc00f7b4e7d702e1be367dfffa112331b326c413ab70a98f528d687ce049ad37b3632c37e15c68d25c7ff21850e3a8dbc623e1f10a8072a88d6e24dc6d1f352477d72f5b9e79918f63edd8f65bbd205d6298e429b9c380beaa9692e474b2f7e3be00380d0d371b4f005036e5837fe460ca6212257ae9bb2f9abadac26ca422d4bae6419dddbc6919722f1c134d642e17595c00e2a01af1e254148d48a39150909c6ba9b6405c5f6b50c69b5dda6c2a97e7cf14bcaeddcc762d52e2f7cc995df2de759ef4b48a9b97c5a52973d24304a1d5e6cb00c7ad51376fe5986c9bfc9e8a1c295749dcb395db565b572c8bb7d0d1a4dfd0916e5d963f9856698ac14022a2d5d3f8581aaac0a5ec19a5bc2587918e84e0407f5752af3fea43b673ac6db3bd947bf9d0c920002f12da69b5b2987a7d516fe964647fd1afe002653f7fb1b4f123cc9255886663c7bc46cf337160659bf95c8ad8868dd99caf6ce8010b1eb23a577c5c63123e02da884fb31db65399bffce1ee9f0ed6b1ece0465f07903b4f05a35f19cf33bcee6fa590b75ab3f1bafd268cf900b9777d76119a5f5bf678fdc1b69171403d74b15e972141d3eb3459f378846e0776f42c075174ba7cc2ed42354bb077b0f7e2b82228233007c5119651d14035a1f3546d958d44944d879af16c95869f0a9710fc394f4b02c0b4add1be095aa73fed9a85e1e404212db214e325fffd0f3914e60b64e9b9aa3e4393ca1512ba9577b47beb329cf653b3fff7c55aa566eb74d61749f31456452dd1e41f4b3de6330decbf6567ba45b29f766861fb541f5cef1d0b89766f1c91daddaf72a53d107ab06578349bdeecfd2f975b5b26e6f86c2a4b4dc46a686d66a572c995365200364b183e91714978d4e6612802873f0f9c793327d9517361b7be2d89c113899dff995f9f63990b9a34e045a088cd625ba3ae82f86c5b28008673cdd79230d025a2569d08c87e47a4074b9b8d9e7f8a7c6c4561a8adc0be4fa9f522795adb6b5fe9fddea52bb311b7f6fd296f655c137b24790e3d821f18ffaf86bd146c69990a5f6c16a6b966231809a7f0cc270d4fdb6c0d3b045f0c8c2e0218302e40c1eb30cee871a9f1079a196350f958e8b585f0efb5102cee6e2f10ca9882db743516105b80d612f7028f3473017fd81e5f76bba08b2ba08430733503b55df6c9d8b86644040f84526f399d105f525d511da96143b7c0ac07b351e012f227b59bcec889d38d76ac50b0a55c5977761a07a6c112a1ad06da5f44c45a36cc0ebc78079c39445fc9f5e52bf45c797c9242e28a4ffe70df5c0f96228a1d5d21c648185d3d2c49ce3b03d2095d19e17f3e3bdaad34039c52154121000d675ca85c04f827960f377b3eb85b1fc5ac7ff08c9796811940ed82499efb62e6969dc12e3dbfd29889458ef788593b1719c842f6ae2d08af2ab4c5f0aea08e1a1c90291d82b0dcc49ed29b9b7426bbb5d2e4652f614db3c5a117f054ab243e6c8df2ea514b1f8914740aa341f74bb7f03c5410fc3e86ec19f519120993e02253f8f873f84e9bbd8906881ab5e2b5817f2733ca47c46e45330eacd12e4cee6310874f198fd1a4b457bb6095e526c18d6e15215f6a603c72a19190cb59cf1d36fc8a3eda4ecca859ff70eac58176ac25084e639a9f8ecb1609a70e9c5846e34f8d5e171488001c70499acf3a1bb89614cded3402fce87d4e4dc671856591c986fe7efb18178160aab8a99c14d753176cebbeda18d21cc445f5fab789780dd0ce4c33131b856e018974ad485dde7b15833a509bacece5def520b0bff1b0f8707dfe80598f6e379b679a12b6313b7d2851b413e14bb8c5d72ab17c0ab75805f6380ef92745849af25a3c3328d29ef64be84d1a6c6fca9faddad3d95a8281d6e5fe0b7b4306d3f595632b164ff50576596dd54bab0dd20958c18e6b7c7bc0b46e594ac1c079504de8dd24c776dc9b5afc9a6472998222940b6621d7d813d291c41a0c74d9167137cd83848bc7bf7b3cb06f5b3748f4c4a547de41d4fb9d280a0b76c001254ab650de66f8c3a2a3de01d1b5589abde26111cdf66e11e266d31946ae9e64afff2117d9380e9bb42d041e500a2566443d72cdec67b0396c6d2b2e6efdecb446d39d4631778c3bef479586879e59d7c62a30591e7dd232b0ae402e0e8c57e07fc068fa72e260cda07606a1652ce503424861cc192274d156f2adf9610e664e79032eaea2f8ed288cfc1dfb1086dcb8083774d4583a2e7010b577fad338781ea8d0376dc8327d82348d6e92a97e13f4c4aa1e8d4b290690c6539ba20401079adfa5213c1c754305bf3191675238681e52ced6b15268e23d579fbba4dc512be3ed6a0aa53e43d4194133a6c208ab40679913887866a1470acb594207965ec277545e3f932f2af2ca63e00e1d0c65b524a107b19821d32415ff77b460563cf189283a67a3b8dd1925c19b3ce643d0914da2f7101d8ac495886365cbafe7e04328d2c3276d4426b9605547b7ec663177f5f1971bffb7b39a26830bf122cb6e5f241fc10967fcdf274864db6509ca70017302c97096fce1c122b07a95887c40e94ff61f9b5ddd1ee971f63498788fa95a8cffc9e739529b1f02ab1e892e5cd7f2476c45707df4b40f4ed07568175bcc3c155c7305da0b883a7b3d7d1b1648c10ab28524992e5272e21afe545ca830b83fa85716dca5ad1fb901b9c65115419ece8e6391d8b76e2ddc77e6750a181b3b0ff2523f4a18511cd140779475746e2cde39b0cd6f4914445cd11becc5e0f5347234705567480e89a68e347f9d15391a8d1abd00a9c979abd3dc948630be301bbb682ad780d5063cec9e77cb80d7c5681526a26922f9317a09e5b69ec44670a62d672939eca633205223afca602b98d44e494a747b4892d57ff6ed99442a97bacb9dec6794ae5de234448047eb684f2aec2134775f208d259f016d4a13a318a7be6b87f12f996652f7b52ac4b9afd889191f639c0d935abf27e32797d6857b7c91bf2c2bb9d5f221c0456967337011f069038cf6a6bbf9281dcaa20c63aa053006e89d8b93fada3a584894b9f9ec3bee83d919f32d1dc7f73e62d69c683ed9d43df54210257413149c11da7e3c088ea263526a0fb979e4ddcb7e539733ffdcc073c845f7ea5004943307a75885583a64de9df355eb98f2a2845ae260ad169ff0e2a054a30bbea4d867fbde15bf5454b437a1aa6307fb3920d2c7b6d122fb8bfdcda312a3d17a4666dc341a3cb042201ee513f0c5e5017a76281a8a468d1818e478a778a0191a5f331bc5532b01f4535d656e1bba190014093c22e7334893e00cb12815439e5f79d68eb2c0b9f7fe5edc8678471e97bbbb1ab0887e15f42fd5f59a82c2a5ddc9931dcebf635e09a5494a892668f9e8620f27ae4e435dda01b0e8bfd35ecc2b9182083ea01c86bb3a6df7756ab7225ccefbd6a49c5eee1c8f27cf820bfa2fcdbb73f921fa8d583a93c0f8fe7a1c1f0f6e9c72c07b302c274667b1ede4d769adba1406eaada12a6083e19fd78bf8aa5516a7f6723f5cb100912161be1af95aa3c720ea248e3dfa98f2eb6d1a3cd3b3dc890c5d334f12070ec1405cacfcc1b5700ddcf62ae74abe163b2ce1666f364454d3ede61ec5ac186aec7872fcbda2ee44c8d4421ee41e622a85644f196182a2f931084baa97dfab60e5a93672d705c63f6d28c87e695c1307de9e14109015b836bf90dcb0b93270b8107d6de313e44b6bcf51830c25dfd82c41344080dc53d67ef1d0341dfe92d0e70bf8de045291a27982ee11bcd0b974c4343eba891fd4452ebfd1fa2287b68c322c3f0bda680ab5024da11839e55e1424c789b41a9a5fc50139bd811d2bc6980e91cbffdfcb4ed0c776477f1d64bbf945641469197bbf6ec108e964d1221bab423826a1e01ca2da7cd60a992b37bc206a63e9927903fb0aff6c73ea0379624374a4394830ef6db837e985868eb7199b7681621b0c33ccdacee8ba43a65094a37c77c50c066a550ec659cce77a451c7aa1f1a976d41627e9baa6ff48c6fcdf4d249bd39b32a266adbfbe5ec861d71b6da0082f7cd06c99abe94b2405f6694e6d1e41f83a31a065ea1d5d341f2ef5a94e4198957780848c98dedad97e2a50737ca7e0ad0cd85af1f427f973cfba2b4f0b51a69223d133ff88e059f564e45a4b1855327e6f1a0d746b44af49d87c65b47ab72f8e2df3a6e3d4e4bb101f5839c2e4b713610232d52fcf1d1a942c504787d7348fb252e8e541331dc81cb1c1efbd6e4a61fc295b9e98ab23dbe34f8bce40e0d78b1ab4eab4751c627bf0c82176ac0496523a46636d5cd4c0c793eb08f2063f0a07f29bc8d4ab9d8c0d1a32c4b660c5e215962146a1b3a93a25c000130e21606a2e0ef5281e9ea11685cc4717505e602a4bb4be1a537538f7df0f85beb989d70df8ed21e4fb5e7636e954a17a38f906e935c3c9d3396cf9f40b05d5f6e2e7539898c7019df2acca50b16f1d21e314426f1bfada4aeff695d1776511b68ab016ceb71ac4157156347bbab4722377adc451501e66f475b5f3931c6d2a1ce01c6b10d46bc5c43ab1e1e036ddb37cc9d5ba2280d5745614e5a9487475fba1d374514b952a5fa2dab4a7abaf87cda1e30c10235e348378cb58d667428cbd1be9720c20ef36953d83b09b52964a89b1f54c5a880d5897653b3a21bb47ae6618302af98cbb536b3cff6a9512c3ba927627a2cd1274abc76c03ffddcc0bcbe5e6f09380dde718998def4aaa83dd61547e0d4e89c44f5a1e1b9490157224204a5745096c19478a86b094c2a7ac4dbb73d742722490c3b45d5f3965381beb42e62e57fc2d9376a803f8d6ed1ebfacfeb9a8997fbf1005af50086e18cfed783d1f59cdf409e954d7f4b2d90f8eef198e4ca459a9fd45601eed8a849b6a80cf3b855ee2e0941c912a7c5b8c4246b3bfd0bdc7debc757ff75e4d1105ccbc8a14b1a3eb452040229b2f7ae2ec64f1b033e9c3d34d9128c0851f86cfffa010a890b46ac49aae4f17ead58832245c95b4288e949cdc9f65bbd81e0d0f322b5f25a365c0f354d3ed522a0343e3fe31d7e6b694c0b25a2da29dc51dc1715d69fef4bd66df33f832f20910066417dc9cba1faa4aab90aed5d37e139033c4d048a48f8ae4a71d911bc5e39a41209dee029601b0151a03734122e62e07bbd3a694e2549af1742347776969fec1c3140621b6c7e50652aa2d47b8c279d6ce959a332a70c8f8ff24465172a49289348a9fbbd72b817a3f4adb29a6e4221153d52c0e422a13197e2ef29e8f2b6fd418aa60f4167f467fb89ce91ea912877d659b7943af98a8b05c37635f17716da36596daa61bdca015e34a1d5af5856e1ae44516402a3c53a7a08c60c287eb43fd8dccdf22636529c2d424e3ad6510f7a00464ea3b5d46c404e084c59ae75c24feeae7b782c2d57298ff2f6604d0cb3d3f6e3a8a8ea60ef6e5c2a5fa69226f8cb9916fe4f354f213d9074824bc52043a9406a312e44d3b9a7dde6fde737c60b2bf89f5885237d4d62857bc6690c3e6110ffce8d20c8924979621ba36f93436d91caa0bcc32ba825289cfebf50f39944074b237b6e7b74d85d666919b7788feb8f74a006e812d851c5266d0d79e5971aeec5d7831309cee953c2e704e8a75e0e7b5c8d33534c32472b93406686b60ac1814312c6048efb8397622a96a69cae3029085bf62db044eb0ab4a1d0b21b79540a026dc736cd7840663de68757eb1e4cd381e8a51004f734c5386273ec9fa387155abff2e32402b582dc7c30ec9f4ccd6135d355c009e11aaaab6f10fbc0fd785593727c755af4b34bddb5786c6cdc790bf58b3c1a82e784a8940d6355631dbe9696b42b6da6c0ee2d914cd193a006c74c91a6acd8ae35a114174ea5d5be7aef0d6421de823b649855961cf643ca4078ef0ee28f67e0c518702238685f745b705729bd4ecd72acb4b3de198a59274592de761c9e87f2301c1c9576d3fdf027f103a1df5193d85c2149ec0bb0c7812ddab1c5b926b627c6c616213100bad18a2debac618525740e8ba194b38a279135fa30f16fd82631079446bc576dd95833d6d0df49c3520486c284d07237aae4288f6613c9fcd60e3be0bfc6265c207a6f3ab72962e91fdade2b845b565bc420943031cf93366c3c8bfd492c1dc4c506f54d3efae01b023291266b80ae3fd090aad052385be34a7b6a0785dd1a0657b14362503c7601a528de7bd90cf91726f4ca80fa180294a37fa919d415c8968c7ff898a9d0be11af79b3e0f3ddd681d1f580305a4c70b1ba4423790ac62e29aa202aefd1f2037db433958181974671b15044e6fd3d611cda00bb44ee6cab4f694b97caa077e940ea97528cef2ff540dbfa67f89ceab3b8c638aae182a1911102dc4ea984093cccbf62a08c0b76f1fcba45db2c26ca71acdf60ce69ab609315e70c9fcc6de2290781580aeb03e8b94d9a29881b7f3de61dc8342140f4c54794400360c0f7fbb81e5730f943d0736543fdd5e07cc6a0c0aef729b668551efeea5e28dd52cd9d8dfad4fda5e7655e3fe50899269c926613a4fc1de9a1072126b07d3e1f2896d8c7b09c977cf914bac26f1a9bd282261270cb36f982407d84a905883e632db36e4c841e8a1a289335925095d2479f057a53000ec45367214cf711cfd71b96f1472f19e438c4cb06050160801cb8b9bfdd8cfd41008cfa9134314b4ecf191b41f5195ac033fb97f73614048194f31bc7a10194d138383ca360f85f07de633e5fba5d0ae505aca8ac5c16c2cbb3cd47d65b95cf69f13e703ac0715e00eee90757b2c24ad7991e0816903f726c419edf523e09fd463176990df1f479904c14f6448f53f37407f80ee6f9bae35db6bbb52c17b73f940cd866fddca730be6d2953e21040fa8cd6dbefa2fc20201a2b1999bc67309d30226e766129d0505875f1796872748b67ac79dba7dfdfa16420388b94242a8865183fa295ffc80874618a5e3abf2ccfefc46f2efa6e678ef19164be7cc3479acd0297ab1014064320d3cf3ae8314c996e73a066bf1ec75fe6766e320ac06c917a98f47efc0aeaeea4de1bcd5f83e96175222af236f35292906a65c6798c8809139e0d33854a5194cc2c98c3104ba24cdd6f340678bb1ac4af2eab3832944570c2a8b814ceee04951fdb0303adcaf418c578cb0d8cc3742f3ee24493af22e7596e55235381cd7bb044c0e0704b1140f624617c9ac56ac8159a76b0ca97237e581b8f30ae877bd33eec1bab23fd93278b8f75fa1dc59221aa96c6a32b503b1eb74c7092e19693ff39e8951bc0ff516b0d5adba19df6e2428639787960879e7ae5a7ff2f2e29792a214bae4107f36f3e2f612a0188ffb36659da7a10709964913edfbd75630a5c860b038a716e9b86fdc8799176707f457125fe5b85485955a3501f089637a38a6cc5934d012d31bb48e2cb28a54d6012abf35f3793d7236c1a2d2554a63c3349c43e1c912d42b2cf9e8bcd48e682e3824735bffde9e9e27b44b25e470a75cac4f7aa9368a3d2163ce6e5209d2caf6ecde6490330f92b74762c50d0509720c452ae08bbd23dd16146018d516825bf06f4cf2c5c0c42322915d061ded973dc688cc36867a67d593d0a6b93117363742da3ada3554b8b143f430d309fe8560d862df63e3a8e6e9ff8aec3c21367b3f11aee987852a32ebde56af77779f14d306726d8d1ebf70cfda2ed59284f56f3e5bf7930510b3c9ed2869acf8bdaf45042ac8c8ad1c3df184ac4823024351649014b7be4428ffdcf0ebce3fabe0af1acc8ee771aae9dba6e740bf5ccafbb46fa935b6de57ca4336cf7971e18a03849fbba076d3dc743b493514440875a803a764af246bda98ea2be6cfd3337692d5f6c6d4c41c9e9303b4189b6548e716a4b62e25361af376841ac791a9617fdad67d9b43fcdf7c6b37e1369d5253a2a9e3dbea19dc7ee40736379af9c33a1df7846ab92899f63d6cf056964c44579081a18d68ef07779d4d295bd128077252886a9c23ba8a7a0e9b99ab4b6ac023e1b99837c9eb327c36cc066b3d32f4677497583658f2476ef7ce65a34c63b0c671249d52626627076db0dc6d857795a8b23634f3273528b61dd26bdf18b146afd05fbd1bb056956040d7d0f38dc9f638c03132a0ec4af320dfa2b612baef877be166827a58b920bd0cf1c1aef035e30ff3301c73e20f5fd3a969aeab3b9d9b52d1ce42f55cccb8e7882eb25d4fccfb3d8ad864b60016ce886c95a0c754dfac37b369bdeb24f11224a076b0559610306aa062e755578563765bb93cddb71a54280dd4b0f1a7c83ce235b680d59c19ebc5ea2406639b5c47826e8d082aa4f8d2bb86e92fdb7bda3761a4d69f2110b770ad6a70b7f6f4d1656a65e2aaadcb907ff1ebe1ecc80bbed028c326d9681bf478e0ccd91dc6f8fcde73d6a6eb557cd35284cad5c47da2be7bfcc11c9718a2f66b89b0355c86dc289090b20f8ebb2cf74f40ededefaef157d6cec14c40a34617a6749bf2af438d355c3663852ddf66ad99ec9c26cbcf58d5e2b4569f24035c832607e1da82e41c34972ccf0bda0701955bff117e2afa07627f63d25c2c7d4efe040cc3cec05bc32b900556d55df406fb283fc5fda12a8dbc9b4a6ea1839a7a839bb9005746dfa5835585b2762f4f3ddeaf8fe7cfdebc3d4a97d5e8fce4f44f9b312ac0e1b13ea38e3c46001972bedc7e6a2a79f63880a272e26874da55bf3a63556f726fb37aad072873fae1926a70fcc7b090cd8748d9540ffca5e83d57fe3d660cad7b5a68be761945506702a0473ba3e9888fb194966882021dbda63db70680e6c227fd0bcfdb31b2a89eaf59239d6dcdec642145de8227b4eb3e59893833f9ca8de354b8c16ad15d61208f4dc98caa4723223368e9c54d221654a7ea9bd3dd267f8d0652752ea1ef482d1884fdd1253260aa65282b03d5d275a6a4344c84b324d278712e4bded9f898a9212444e06d38a8dae53dab2fc4dfd3b525b6cb4b5dd84639b5a463c22eac4eded0128ef6a8aed3bb01d4dccf2633dce03b8e45535608252b7a833a0b1cb227e30584059353ca690b107d71cec8a6df5b049e3a84783d48b20fa8af7f42b04ff4bce392549d0eb1bf4986b64a7003e9939ea0a9680f8cb62087424850b1dbd2964e3de596a7391d0baf960eb904976665787fd0161aea1f010cadca6f696c3480a4ba12c768bd37c62593a398f1bd6b7a46fefb5f7e19a854b4bc63b7f0bc5bfdfe472671c69d18931d625a0a51a0f16e77c941de56248cf26cfe1ef8b6b2ee37438682909306fafcc73c8f3494a6ce9f04f3c772071013cd6c6316666efb9f2859c6e05c223464503bfa30cd077dfe342ddc1550ef8682a7b9951bd2ff291d4611c19a46b2096e6423d2e0fa78bad0ba7c07400203a01855ed595ad48b305521624bb3ec320dc96dbd0d3175fc8881dd2aa0327e682dffb9739b65ad3343b0a9415d956ef2a11e1fbc1eab5e827d8d1778d53ea39ff51e1fc6d4d6ec22081924b8e0a1afaa9305475ebd1897fed8ae60227721751f938280ad31b2f0083c1a3f6e7c1fc70a3e30c023e9c9c109a7b8ab9f6b9032a4f409d7aa610bf2566feba243e3ac0ea971f92ff5e2079cd73f6f9f3204a75343e1600c2083e2c91157c16908327c92356acbf6e89af46db37018ac62924f6f65b5857b9a6142bf233e83f469af1bb36681554e2c0e95f59ee459dadf475509e223b361ece9bfb9118a56fcb55a8d84bec9d1d5a22d655e0f442ff5d334d57ffa1390d0bfd1f57de07c2521d6b3b6eb40b2c192565ca49c582163dc7b6785707f76b7b4f29c24cc87710f60cff99e0ac571ed7b6fa69dc127ae370dabd8546a339b220435866ad054262848550f454cb0709c5e8b92baf559d186206efacbb7013b56401217c9d60c713e3ac8e129548476c7932924b753a44a240175066b53d9a992086dca13a1ff0d88093a803ff5e823b899df7b8ce2190d483941b0953f2cbc06300fa5e053da8ed49bed061b93c5e84c08f4e75096a87a825c611a91ad32218cfd998c2e3a9f97d7c9289624cee0c69f87643ab697fec9cfa7ba645252cf1c1619fc639743327abe4967c3a3b6ccda156834edaa18e2245f89d9b6339915311761fae3809f5f895985b0a82aa7f68f1aca20683b27735abf0a5b8bf7eff7a8daf70380d95be734199b7791efacd7f0afd95f5aa6dcf6c5c17c09e4256d4f7dd782364d6365c9fb2eaf6d4d1ee42cbefe7f664efa662781f330e6f10b637b9d9930293d7ea06718667ae6e3b25517f7911a58be87e8f70578031d03a12f0923d1bd49b45cb51520c64798fefcb9ad858a239e7fd2f71939df7026eb03c7bda41df097f3ea132aed48e546f003410ffd7349229a3374f41f3aef861c435d8fb73dae97fe06b875c49743940cdf8f581b9da4344222453af5290f09d31dcc541c36b486d573f4bca642d6bde7d9e08de9a3a085a72a685b7dadd4f2f5504dfb79ab5366449b6b89a704bfcee20ffbb953d0420cd1e1ac35b8bf31f48645fb56c5a344a380ce8d7e590aab562ccfe0d92399ad1afe266a21426b9511e0f123d322b3fd2c8e4b9ee63c7b94f53d8f2a4dffa1dd285783fd0a6c5d06275afc1bd513e47488211fb31447975fa98d2fd6ef201542ec9ba374bb2a7119ad3dfbffc4728e032a6e4c8081e3b5a5d37f44d474dfbd2f4e1efaaf3625a83e0d1a907dca535ec753d3b8d5095958c167c3e6cb8178c77e4cdee7e4d298cca716c08bb4f6459da2755e83491782230f839ab60bc7e775fea9916ae2a00a4ea9f8f7b4166dd8b5b17cee20880fe0d6023622060fc62dc32da1c98e01cdd4f2c5aef6d49a60d84df65aff718dbf7ced2e19274736073007709ecf6dbe1b1f02a1dcfee83fc7e93c3bf266aff5d775c5c4e7b105426c6ce15142ad0662143c5248ee47ab8b13aef4c76e37aed5db3290f7ad7f64c70aa4722466118503e8043a76060c87eae05a7a461e041ccd5991257a640ed29ddcd3cc4acf701295945b62b146ac0214cb6605f57434a71f753148d52ea5db2702a755760a9376a1ff6157577efc7f8d6bcaf700ea6b23da0c385395aedba13bf031919e253110eec084ee6946a6610a8c906ac0dc626c381dc22a79d4f74480b902e8bc97945d871155c1743c5acae57ae4ae688904633ee6aac79c926232e9cbadc19c22815ba012231955f1cf1978d385755292b0f245f78ca8314a8d87790ae2fee198b845926f7ad99de8f4a06903374ab928ae405217a29425df9c56fa3041d76d9c8c6b53d7edd1fd1298e0ab0b0d9a7f832c503b52e38734e6ccd7041484b843fa2114bd35d9c1797b47c0139accf08ce792e2a2ee37c4ba4fedd784ecb53d36123c08b47d32e2f63185f427e53b9595f686d23e8b76fb99f156c4433f9565cb2f81948c639b505d92315875a28d3ba3005be9ab3e458ce606ed5bfbc6d662272710d897cda68ddcd96a4098661c7bf586d4b49e938a8da3c35f0dea61a15645841a6b753f212517bf67f3157856fed92df1b90b877b9951942714414534975b5cce9cf8d654a6fdbf22672756ebc5f7045a51413b487850a7166afb201dc0cdcc977687922cc613d899620ddebf33c952e766842baa0cb60c61fcbacec41178d210ac76bc49c405336efcde0b3d0304ca586d8c0455b8c8b1256f8f6676db78f93c3eea1ed97c43e390fa824b44e48df88b8e87e9587e10dd552e55710de1312164b4e576035c94dc846621bfbc6785df409f6c9bc9c5605f802171f2a31ce553accb7727211f730e32b9b3c8d3fa4c49ef944832975645a1ed336ba689ea1d2c4f3b0bcc3e8815bcabfb1cb17c7ebafe0b60b537a6935c127f1338570aa506917735047b28a2c3e06518e6cc6c2b8e836e7b2136cfeebfb4136758a2805694a5893f1fefb6aa19bceaba588b377a9d270da05b09b8e36277418c8a6f073d925b47314ee2da8d01d0ffe9753f9314a47e4da42af2e03ce2eeb925758d077334012269b3294d190b387b1d095e8f8c1d5715ff0688f293f0cf7c6340306aa8517d6ae1ef27231a5d1ba49ff341255cece51cef0b0afca40f2356fc96e488a714341e7fcbd2f3f4fadd331c1e2214dbbaa55ac7434ea16b600abe3a44afd2a53a93b9d8c7b586c39ddab2f6ea6817b4d836019e744bc90382661647544ed3a81d60db560e5cff0b3b2fae307ff581c7c5fee60e23892c2569ba605edeb1e32d83da6216a311853822f68e3b4b6e8f06755a833c5161bf3570211ef047e9a9eacda7bc53cf31bb1e128c3a2951363837728d73d3d565f6abbe0311ddb07dce53a69c165becd9bda78aaae5b9f76a6dc8ad4c4f5c58cd9489fc291fe74f9c18d18339f1b1646e37f6be9088b4b4fa7c7fac2ef3e28ba1f32c4ad5bda0768f6f9c61b6c89ecccb5c130960ab03104dc994d399a17fb2f52067f7487d9d857c83880d67486da4dd8abd01a59c0c1a166e39796b0dbe8c3ff2fe30f85c74b0b81206a3d84988f73a7952978861d4813cc069e22bfb455e8810cebf046984e21e4ae60bd7d9ae697bbade46117c4eeff1afcb1d88133c7d0e82758b8e52d8a8480a18257e7feb5ddc08245a69c5a4b8517d0b39dd05b088d83e2eccf5feb0442e7f809f95f044db36839ecfd36cb231efe6061e4bbb95ec8aeb3d75ae77728d605c2fa5a52e15a50e179181f444dae3c996d78dddcb6749ab9a27501b3e64bd0c7fd218a4c50bbbe56797bdbb3f117328a35532144d036fb1217f1a7f733dd65330b21a7576944902f7de145027ea9c645f6ea434681eeb008af780c12679644854dc6dbd727f2399c25fbdaece4ba09f9c3fa46218ab970d5f2b59dc95ca738cabc95104c21c251321377bd88b768ffdf74050bcfdd33569e14c99e2a74d9e909e843b65b87e4145eefa4cc29b278aa408632b2898ea6a242c0d61925f35c13c840003e6513b269efc5b1fe8dd06e5783a5fc91ce0ae11748708df64d1cf9cec8c59a5f4792da7212dec0223b706980bb85af6cf22bcd14f7f5f65dfed298af7d08e25971117f6360d896dcef53c3f19a83a7a62311627ea594089ccb49ca04642200f9fc56cc74cd6a3f9015b680157d6586dbb565a199407d864dd2efb1714933e4e18731217f40211235940f583ba321ef3692e8e6b8ce10cf3d08e677b1df9a253d7e6dea88d52233d546431e85f819221ac3ab337d433a0d9275d9fa5c2c6aea91c647cc557338cbdfcc83a1bbd787718b71d4e86ddef0eb85aef4cfb090e768e61768f144aac294a3962590d51c3e9a098ce15e3baf6ff8d955a19ba0c361914503e0c5ac4f806299eaa50d885423168425ac35b9b6d860b612aa7f8308c62a1557488cda6ac225266e0e5ae7cd432448a1f877e1e001d558ac1bbcf1ad1504f0da8c8701e7b703ff99cdd8a9a4f823163ef3aa47a5d7c39a1adbf3286770a3048e5bddaa776342434f12fb304b003479b5fb3380f054c40c48515340f7b2550bedce50a066c3bfd25501c7a30b2b9a171e33e530250cad0c13a5f707813e5f6192f5eef9a46831a96e5b39cf8c33d149b401a423899a6748f7d52704c79103f3a49b6df55dd76c5ba00a30a553dd84898946657da98928aceb8631593816c24e2267fcf3e0e5ae107c96a6b863b9e04afdf98aa5e4292888e1929628b27e592b7f383b75b8826c91daff584082496c45ab93af811732da56000caf5ffc9e6734ff633a2b348291f160ceb7ed26be44b1032a31af2f1c2c238d14a5f697970b33591a60523f21275315c584f970b61d9c50d2b45c6c04d5b6ffe029beefb72d14d16b54920835ef8b4dc227f5bdb6d789616f0aed42379dbc9a994bc8a8e7f3dbaaf3256bbe19db2f0838ae5be607ca906051f99484dd5f5bfa1b2856e3c70eebf3fe7ae604119701cef2bc3a0ab4ebb98c90d6a03c8b892c90d2e3c79b0a65be57d996d8d6af69915dcfc62711253987512fce952f129361a736cbef4d21247afbd02e64d15a5e89202217a8c87743ed573aba66423c497a9df0454da771b8ab537d95c9f346e21a28904c7265f7dcf3b1597391bc1b824c2a94456dc4e7c95c931a757203d20a0113bfa6cf2bd9726c030df4cf8cbb48cf99e0f988121feb8120cb8e5952b12b57b9056bab9d0c13c0c670aa2a17f9faff53729e88c7d077c3075f35cd704e4c673dc7615a941a6a65c79f8dc6432cde77ebebda3807545cefdc9382349f88bb74046329e5643177472c29bef04dac20717f2c4f8363f6b72be75f07eba50f0b7909b85c5385e7411cf95f7b5d4c192ff470b2288a466037e34c89c073a5927880d273269943f1ee070a518df4058217d93f2d01078e08235ed99975102dcb1195a5cf07cf8d8af1496bd0d30bdaf1725d7954d22a4a8bc87beaed7d6223e09370b98f5c8a4803e0d1656ba569d1db5b4bf342975a08d19f543df5fb433a243d0566924d7debc3d6bfc4f8fe37ad0cc330a300d5ab9d3698f3ebe1c3b03b7bd24524bd5e3101d832d54a637ecfaf07392ab5332e6570e950a3cbdc298b1fb4c8061fc3ceeac4141e6f1eabd3fb1600845c1ec850c758852bd69f3948fa6c6011906e248ea4aa366a8ab3fb5683ae131c3e91097e35aa0e9559ba9d57d1966d11e79a6cecb968f15db10836de023506a40ce4bb297fd67d9d5b2c1fdefeb9cca43bb8278f87bd483e1f7002030bec3cda9e1a8a17f0d6213beaa47124b5f01b47f428c948f5f9dcabdaaccfb97890b168ec0451ab22e2c9a39a6cbef64f3d5489fb94987cb721967d32ae785ba1b702bd5390937dcda64fad5546aaf26a03502290728f1f444fac41ed3fa4ff69e424ceabb7cea54c387d28291ff5d47998ec2a620d38670189a17caa9b2fb5702f782a6047ae39789a90cb4534ee91a22304593c3a24109d9b654e2176d9a454a69a8ada6ade9d200e93c4c1ce70113cf710daeadbb18746447be6f0e939de68b43bb88a04d17e1d31a569848a2d56a21c4b29b383002e3544fed4fd03a6009c1eb898feea6f7d730463f4aeeb3d80249d5867aa31bab936451f46527abc6ac3cec7b93feab3f0fbcfdab6bbeb1da228651b2a602424bd58b0154ba38b3b50569adbe4fa534f3c2348324b0d3f560dd95f7b90a6e85d3ae0ed85f6433db1c42ed5011f29beb8b01142830a840a1add22660e2bfc8aaef3533e19738d0697aeecf383b6e3b481b77e2798164931f54533144ecd3f615225bf6a21be527e16b233d98b3667990811fb914c99604f477787dd95f350daeb752dd38455b9876620ee17b2dde8881e594925a348c71607ab772a91d5ee351693a9283536ace84f5cebf1d719bb8d082f6d2633d2118095cc57c8e73f3ab5b11a53d214acc1421a3d92a8e305f8f8ff28d644433ef36a9d89b6be58489ff03e370e5a43435678ca5d6642751fe4e2e31f9d98a858d0d33f51cf9f3bac70d37c5076176fd2dcabc7bd6ae684bd41593dc0f60dfdd89628fe7d677b2635d2f84718a432ce564eee7c1235022604d98351491c653c68941328ecf56c9819f6da66c91f629e5a049933d2dc1bfbaf2632ce9f7c3172ef371aa8d2b4db3b8ba14e989b3c32c1308295353c9d0a2763ed12848dfcf80dc77bbec8ab14f8b4dc668d6ddd565890b285d9365d0f2ace847b2a579de643d77a7be97fc1165bb90a45fa59a6236c16f5ac520332ee409051b41ef9b78c820fecdf49fe556497d0d70f8d05033b90dbd83e4634e2e62ba48fa796fbe271cc2eae22ae088cf9b1672df74b367a8a94ba23201e2d8b33f48f993d6104512e45ff6377fb139a669725fc7d4e1eb79f04d15d2266f163228f83c2aa984c078d2894cf2d6c337054267d29dcf225a79afba37ef9edc213821490c036d2a016d460efbfd6d5f2b313d630813e442a9e57520b954820bfc38c00a342175ab9a4cfb97ff8869c52257fdf275873343297b08d1251dba70ee16d820a87a3abca44076b90e2387d5e05e04d48b3840b11c70fef162bd63b049447efc5609fc2b06633944af42937dda3a6de0de918f11eb3f7c8855e5787a77dac64a6803c112584df59a2e72f52b22256e858f37b3334e9817185dd33357a4af357fb131f9036760df609d57bba75688399d299a152140e64795b2ec05b89cfd69c37a1708b301c621cb1b4364a2140069b328cfb49acfd494e2014320447677907f7192bd71ee90f736f9dce0c601744a4d153fab532baa4e7c9804a825685c550ad85b94f57357605d077af5e05e831cf25162ba5fb7e4908d1f0857f112eeb37351480b7a82197aed877036c2f53bd768cd20e56099ee24f8e5c78d525d366c091a392f7dfa36d94611d0e94a657d87bae915d5a57cd7c3ddfd837d7d12abe8691dd4347c911269902426aa29bba13c55e44babacdd0c04967ada9f88020a102ca81628cf7ed035b860bec9e0b168ff1fca88803c9da1c6a5a9d025b2d1aaeb474dbef7fe9257f6a1505f60b02afaf007a3ae034c9d351673b9aee6a715d663bdefc5ae4191ed9a4bdb7d448df8b07ffa4d43fec7ba459dcd281a615a383fc7d86a79aea5806f8cf215f92fefb04a6f458d5c3d3504eea9cb64d22aff399daaaae752431fb7f63e8a6f170af1dd0d6f6c83126bea88d6fe9859355dd6de466d257dc2834571105fcf13be08e0284999af226f0d1a7e431d78b7d7bc99a5515add373d698dd0dcea01150312fce48d4701e793d6d943dc9c70e615889f8a4b46ddb6db1932512ef132e71dfe77c26be37dc67e1b981149b55db866e43b569009c79a717e80e15b9149b502cf173b8c1e449038d8ce9dd369320c42f07e33914d8cd757c657e5aa8ece8ad3f9dd830dc36a2c2722972c8e5281e918d3aad52c5dd3f65e1f7ad1a5c8cf1f0427658a046e1db6d5e1ab68a7cdaa46466936420c0b82bc7ab4859a66b99211437a10774e6d865c3528fef7f050a801dd3c1178e64b3849bfbecb013dde8847bd4840e3fcd7237089824c80e08d5280ea9a091536e1930bbf300ad4d33a0798e82e2e0f4d635feee8ee8400a9915b16355220134f95f9eca2c3f2e49acc8c299a4a8194db97beb9dde95178e9ca418d8887e0bbff4639838872018214e342d87f4d6a36c0da944642e30b6befff5635bf5bee70b2b89bf66f5d14db9e49a87c26eb12a434260c938a191f5c3ce175538d7ffc2b9f725e39ee10de75e92edddfa09d7d13c83dbe9b5351d45a85fae5722f66be218e8406636c799b03737274d76d5a6aefb32b3a87804a17922ecdfb714bfc75ddec81a5aa8254142eb6cb590044c06618b7ded48ab2efb1d67dd1ff434e57983a6dd9abbb6d651b49333ce84c7d7eae0267522d111ac8c3b67bed46a637d47c49e9b3603afbc92d6f4bbe837235b40d2434e1ceb773e74c1f905e62d7a1b3d925fac7ade285244b76c931203d92776c46a868d2a9159382e4ad1a7dbafa6ae3edc36e7cc0821dbe4cc118c905206bc92a1935454c0d0c08a027237c87c0d3ea136f2757c9d667035cb93ce99c3b64f68bd2316ea15028c2759b563097efcd9da2c358284a534e1a10ee4d24d5cfebe35fa2bbb9740085b3f02dcd8062ed7cfd8e2c3103b23746e1a53e2001177d0c4b286567ecda6dd0b088fd4ffed35a9cef862c71a3915355cb3d6ec49df2a51eb7275da9e9cca942e0cc1fd32343e3661fa206c3ce7404e8541ff7329aff818d47047eca368bb68822043f122efe2ed6c15cebbf4c232a23e410b775c39e1a94f26d60a9227b0dbab63b6bb739cfbd1012e825200040be7515ab446c1515e8a702cdf2156e224e413bb62e00b0db68cd632b9f40342250813a4b6623ecb3e2f305e5bd8968e0b835f6a9f662dc2aa690b61fb6cd355f2e4a9d682f93e5423723cb1d36c662417e4734276f83ff8928a7b6fc5c1a0fbe235f9c29b05cd1035fe980b9fb364386a15ed53a963283d859e8894fa7613c349b61c9c316c3a4e1b181b462c09a8c939548609065d09058e439d1c790917b501f89545b590a35ea0a8a8ed58bcafecea86e6bce198f550479822c59e644fe898c945811a3181c511543344453ac9be4571b1143909d7bbdd687905faaac3ff6d3badeee8db04adb6ee0718b44d4d9a43e5d8ef667cb41ba9491a58b6ad13d9c63d181d772a60cd56ac690075b432ad4e96e8e40a25a2629fb7669de93cbf4a01f94ee59748c539848a75d0f50babca2300823841ec8efab8d0ff6eef3aac82aae8419020d8a250415a269ceebe513e5499593da06c73678cb5b0dab841fb473ed90102ca2d7e57ac299aef53e159ce5bdab402fad84352b87f39bb7072cc695fb54375762ef29e6cae368ff03bd617ab10c0bb2eb8e04c10bd49ea1c10893691b825557948d5db2abb44b0272c37e8ea0735b40c13bcd889132fe66d6a87956a4e456ebb36ca65b570e5dc4b4368ab298e9de6c4ebfdb5c1c11b1dcafe46202f4c55aee356b424964bcc2673c5531c6d38b6eea845c72d4e614edbb4a5738621666fee74ecaa5c0030403cf9e958aafa2a8b2330a69db8a3343dbef5de49eabeae054a37fdc72bfe38ed8cf771960a73d72683a608ba99198ad8536cfea4d51262a1c328c37ef8fbfae0e1705182e2ffe4912767c055c5430f21997c726bb77920df39913b492638d90612f0309a8f5f36492cef85f74a1852b0f255c385cf1f361c7229a9d105f95c5adcd35e2087b9158b88f31a793bcb5ec55760e6018d456f81d58690c9dff33c33cbc89a1a59759b490a058f6b14ddb7d9c1754c5d9304b8dda6b55104118e85dbc819a6b810e59a2f02f780819d0e4781d9a79deb97145a1890a32d4696faf297d9fe486526faf7420cf4f348c45cd33105ef83c577704fa3403d7398980977eee4c55e4a9491542b321f7bb6049ec70562e89cd4a652d62b5953eb0166f62d6fd4b94b1955a18150f7821ee2df0fc7b1fa04ce475d6dcca6cbacd49df39f4071a3d71188121946cc8b5aa5738adb64c2ca9396cabc197e4525667016747aa4a3beed3037f2e954f8c702376b40d484d8ee7deb1c191c97ff46253cf4faa2b1946131a9fb8613ffa42ab8c2ee5bcc991340974db9ae2352cf0134837e66d7059467404635dff24828d063f19d6a1bd69d8130cc8af09e8ba2ed67bf5a37fd40598b5fa9496f995c916a00d4bc7493092cbf1834d04454200192055c438290032252c5d2e4fe7b01464333b1963fd569b2c166ca21b4a2949adb4e8c6e212816b24fe5bcfea80c1f259b9644099a9d50c5203257cf9d7daecef955e61a565fcb5b176fac194b7ac9b93cbc7ae8a29269c2adf4a1d0aad105f3990ca45969958978b2836e2c1cef3ce529cee4433fc411a7702c44874e81ec260888dcf613858cc4e2c2e7acac17310fe247f3708b24a6b67e5d8b0dddcdc479c6c920a6cbb757c8dfd757157899910b44b2997c507667ffe591ba3591ee49d1c936562771b151594b6d2f6734bc5c2b015eb47d522927ce924d91e32551f224eae5377903734552272fd971346e76aefdf8cf1084534e709e677b2d46dbd4cfeaafdfe75f53b3e60b67041dec483b4fb1bc8d079c43223fe3bfd8eb2fc3a5b3a2a9efd9e2610436621558ee5cad7454af9e1b78e69f75e6b766f8c31b549f7f80a284b27a5750b4fa38034f9e14d1144662c5d8a7d182e7686d4f9eac7ac4ad2e188770ee8c2d5df80b6a51ca0660399b3ccddbafa70ab0168f51e11bf7349e15f9907effc042a2d7a7fd643cd178fe487f341683549204737dd1bcba23088288bf20f24ba21c631861a5613c9486259ad682cf30f4e7bc318f4bf2e02e365010fe3c457f7abbc6ba2c2fdf6eed6613cf19b023d6c7e663ee8167b74b89b3868b936daa0f0f1590e9cdce64676ce3a43975f21b202eceea74961f22bdeccf5f6454f842119b8ab08238c0b5d27a61ece8a5b5a6597e0f37700d495f62d056e89b2727ba36bc9ae4a2535795d40cfd25cc46fb2eef9f3f2cf62598de90b49e9cb513b352753309b1f924378060b4b759e54dba04a0f909fe740c3a6e050e853a7d779d1c09ccd4d3a32797e89e88af67ff086555713e08c98a78af3a7738003ac8938de341ae22b6c122042c48852a1f990550c9bcd5715c816c5e566c7384ee7ea3f6ddcdf17ebc430a4945a08f6bc9190bca30b471237dbf8e699f81e7e8139ac03663acef9f96df88c46651ab5ef3827acd5bbfc0560c186ccd2a36792a959eb6477d589e0e2e80ead9870097a94dd1785fd57d2b694d313229f10b5b1d281a6cc27403e3479289f97d8710c2d5b906d615ab99145c7b423c670020be1efb2cb85351fbcfaf23f177d4c40ca8c4bc8837390f286af79f9ad2931afa7c0f93f2b349d0c14ad6295ab7dd5253e5ae301a8bdb91421e6bce846713330a519d13c50fb2a9c2c858dcb1f53ac0fd710e9cd81f07964ce5a480c22814362ba25b3f8966413bb33fb5f121a3b5a8aa6fa99cb979d0e6849b8c42a986ff3fdc610b720b1a4ebb703539c8e127cacb64c1b6c56eaa2f1f7fc5d0b8dcef0c9cedbd3bed4809bf88847fe620f5c7284a2edb929ec63e406292f79480bc2683e428a0a18fd92cec4600c9768567e40b368db3c4d0ac77414938eaa067a6e267352c62fb2caebafa86f8e01c4c475ad2d43f1d877370ba0be570ac229a905ad4346b9e9e149f519d0cdb8bc3b22246e2be7e4bab8039bf95dbbfe64908f9862bfdbebcfcc3bacff81e5fb406afe5f50641930827db629a26595a4dd31ddca841d124e147b5783df8000c473ee3f6036a387edc95fa0eae5b14cbb499ce44a853252a462f051c829c8f81e82c58d73ecf7709743da815e47efada6feab1646304b51d052852cf2357c072ae7355493d68c6a9bed3d48a46ef43c4877a49ca3bb8177a3119ea7af17c2e385e7f4ef5caee084fa6bd3bea17b48d675b2fcbdee80617f0582769d2af3f1e2be598b364777aef106b76caa0ca5672d97b2259349d7c49f7ae714d252c3aa351436da39d66b4f39e741060820f5e359a38fdb3c1abc14924a3480828dee90b3907feb8bca38da84a10d42268c957e1bb281707aceca0c2c481d96c713f89eb26c17b6e984b8680ac407e7b89e22c409bf37c5937ed8bad3132b7907084fc3001e51ac88519d89b94dbe0cd9e71e9c9d5cc6035daabd100ab7f0272d64f80350e63feef4835f8edcd3fd8f5680c2510d9e9a439f5f7275858b5aeeccc1b398063660ab30c1719cc1081faeb44673db55ce926da91d032a03542543feb38d29567d9045aefc2617e7488c41a2da007a212870a285445786fa8e4f6e0c7dcf5061b6ee00019c1bd4ce4c3e7bbf4e05916e1a249311c45ffe936c2e96300f4597e2d4f6417981f86b9f1f55a159966ba73445aa4721fd24bebcf45835344ffe3e1163fb56bec03f3b26afdfbd771e15946f812db9b9dc715a8ca8d28161c00f655c7fb6c56ad110d6ae7089383eda5755c69e3216e58b27fec5d06bfaf1c1569f39e1a966d881333732e8d05189fc4707edd8dd530513aa2778d657c294be7eb2ab0fb688eead542565d3de002cf1aeb31b9ab02e7f9de2c835702e154cb42540abde0e33421c5d7d35b79c3c9a79cae1cfa132a119441431436f83501fd0c70739309be21acef074908ee5647b69f5b53fb2aab82303b73a8be0ed3bcbf86813c7e01976aebcb21e816525f91412e2b383c74c95f152460b7ae986338bd1fec3c74e1fc9ef292db45391d2a0984a40650effb77c72ade8090c984c7b1f5b57929dfa3e11cef9fc871b86ea487cfe68bda93335c14c48e5c9dd14ee3d0f2a040f7af5424fb4789b32a5de0a8d57dddd8087b9ae3c67d29ad2b3c18bd94c5e18e62439860e5db11704edb94e8a6001c8bf65e751c15738ce727a1fcd95430d00859706041f08d1a88ca7070e3987c5157773e187e878850243b4fb04b4a760d1c6bf8319d0e4dac0167292198b085d4aebc9522816068e157b5afcc4b91bf99132982fb7c637d6760ab0a5cc8d7cb7c42b4e58b385ea609fa98108c19cd561f98501a8aa1860ce72c927f32c69e87e38cd807a082623d54035e2d5587e86b4dc6a7037262cdaff9b0e3be87c5b63e73d1f693eefb2f757524c490e77507da0bd0f374977d1d380d42ea0a82760ef26a506feaf5ee77d401d1ed1d1728529eec13f610bbcd3521674ed8b61c570216cb55e0e9245883cccf79f4e6c88bd31f2e69e6bb91c313fdc2e788daeac36e63036de0cf858f2d6ff4dcd5432bbbfb463c9d3ae088427adf173afcf66e9a3fcd8c29313dee800ee7362bbab1b544f0ab09b6aecd75a8e18d3f4eea9469f30229faa74bfcdf447164f53bb9490b88731bd4e69a44ed70495a8a41271c63519499c931ff76f5291a5dff381bac2be1a76b2e13dd58cc79067554186a574a3df62d2150e65b9037b5fe3c006662b72a4bcba9a0533cfb25b81867f5346b87c6d26cdcdc6b2b3b966b8112ba15c224551d40166bed139dc0fc2f94ec591046928ad6dfe65022ca69fa015a3e88b4a1fdfe76c74b6318496117c87f0b03179c75465a0bf992f6deaf3f63547c4fc8f08e6dfc485af8834a16e08df8dad5cb5da14ef27005b822e27bc6c3fd108aabdf379ed99e32428d9df75b07a979dcacf1e4f6b8cc72b37d103d64df8ed7dab88b6a3f19caf5376205cc643caf723d137e55a56ea8990067bc5b13f3fee86311c1a2ca286d301e5b9f1a1fb3a55d7c8eab1471e980ce83d3f6901c554424ac77de04e45d3210d9992e6e124bdc520ae0acf8b9f59a1876d2d9a33de60d60f56c754e3477a3fa31a324438d9c22e4e9b7b6000d3d13f0e238e896a4b36f7ab6c859a1f0a55da9e58acf130c11d7f0a13f74b98449d1191726c4a4c42486be144aabb1c36889401ddfb4a639e07242dfaa9b366f4a8746715afeb1f7107041d7ad44c6e1a175760809b70f64ed0b839dd8139aef457df6939dcdf5972d4dcbdaf8fd4aa05334f4123212d341ccf87b6160027d867fd7ffc88b26577fd969b465a6525d5236225def86b0c7d0e1ef2d6d34fbf8978605cc13c422abdebcbc7131b9a8db23d0070afc9b4ab1af8da70c263490e4318fd48b29145e21f6af5efceb049d9cc89d359ed66fdc581b20a004179bce9439f6ae4890f6eb7df4baf4156bb27fbe3bb5e3496023f088298c9710c4030bf80d1edfc4b875511d0028a5b97410a66872e41459ff4feb96909f1b4cca2aac05bbfdca78fb01ce527f039a798026783a262e21c1527467986e5096145eb5158762e523e01c93d08c5b1fa07072499116897fd8eebb09dd766c368e14012b9f57ba38544ea1b86211ff2bb92b4d1d90c39082f83aa84eaa767f1e88196f14f6a01d05e50e6571126a26a8dac41cbd6c5cf87009a3a39b4d4c9876cac26e4243e3c30cb876c6a4a4b640bc34b85962491fe3b84b13e474d87df194cce4541302921b809206bfb6da107b4f67e8bfc86002ac8066c3c41141dc9e3804c1ee9cabdbfdd2c9cea561057123dc1c300014d8181ac40dde7b85cb479314ebac3101a2a6f4e5cbf75bcff622d59c56100972b195e74d1bd42ca50a6aa902355629bd3c56f69c0e8f7f0d1a95f5c273e74ac2dcc741dd10bfbefe43eab29cd7732bdd2241dcbdeaa4ac9be3a0ef4b90e776998fcd6048d856bc03f9c6d8f211f9c129f51274fe8536458969dc7f335e03ceb71af792b69bbaea8558d4df657fcca3b7e21c8ac7fa6a6b936d72fc7cf8e6466057b5335bbcce433fe376108742d863669ef918d8fb11b1a8d7166920774aea76505f9cae3c086f7bdf194b264e9d79ec15faf1f24a8b43b2e06e7ea5f00d14950ce40fb21dd2131343e5abd191b073f3269e52a5c421fb84dbc53a94ddbfd0ad524cac9a7682159ea66c576d521feaab7e715355ad5e398348eb24e46cdb7a13a9128a555d249ee6e7607511a41abbb6694e98eb842397ec6b89e05fa3bb631c78afea89a712fef221f4265b5b924ced8e1b5b887d1f149d603db402968e105b9e9ef65e07a856f1d3042f5cb50cae63343203d6a5323669f44155980d54f08f1848338f6d0e6318e7a34ca916e02f841bfa19d55f97fc9cc97253706d9097ceec2ea29d100ded65baafc807d04e278d29390c06aead845bdc1f4399e0b978eec93db437e9ab48bc9ab2145f2bf64fbd7a65f9434c9bb4bc56a5af0ddcf4469985fc2aeaaba9327e525ea3346b386ddc4b0c488aca3327b999c4c783a3b1cc113f74957d82839bc21e762ae84a2371dacdede965138dff18c13756894f8e653193cd4e30abde0e245177f99d5ad18480d7573f7c38de87038cfa95e3103cab8a5242dc14cc709a947d71fb7f6e2ac94004a5312e677d6de8801e505faa479268e8b39409cda6b22af22062899f1be31f7a85987d87534e97e38e481b9e6d31a6ea1cb812465b7790fd4a3a54921423e0db454862422ed7e0b9e9c555e7e68d69d5f5a6081d02dc15e3f21ff367e3a28a2105b921a56014c460392c3756f46e68269d421c8999eefdc561dd55fc6c5e9e8590319a68d5f7cf55b49c1f652dc17b583f6eebb4961cf9ab224a8329363291bd6cca9d9450dc53d06a350068b63b7f8110cdc2fa53f967e0c335a295dd394c7c3c40d1b9d0c6259ddb3a12a899289ad24bfb1f387f382898db96fd6d9008a8a35b69dd9e2b46412d7c40c18490c85d0d5999fcc6595deb133b2ca5bf2f1ca515fea11214b93a6d5135394b814de5eb4f7de36aa9e03265b3a1c49336303ad921678735a1ab099bcef54d356a42e40b978ebec5bd485e004c518bfb45d7bb96a3cb6853ab2137b56a67cf226c1cfea5d9896250095094c77526f6b01a5f3b961c640fe562930a3b8cbc28c33068b7202ad1f58b018fb932f561112342bf4ae5a4c42382763447418cd73b17ea699f55e93c9b5a264404c551bca9139e775806a95325eee7a6ebbda8325311ba6b7a9f62de628fa6ca851c0d06189af0c8f653aa3fe9f021001f7b3991d1789358d81483a637fa626b14d3ed20f15683eecd854b2340d0f7c9fd1b5e13044b5f244ed8b768848b8c94bf6a8f19e3ee4a7aa8301cca20e6693c3682269720ee00bdf10b8ebe2ca6eaf5a4467b77ac57da0d26a8e4fa1457e9dff641b13eeebea2a10ba2e45163bd10cfccab00f922e537da013504a6c6b36aba2920152c166f2c35faa07acc4700ad002c80aeff49e0e59d1d94a48aaf1edcd71f9de24ab727c648a790ff671cc794d517ccc784d531830c6ae8f533bcd56426dd339ec61ccb251b3f4f401306fbb92347fb9a3a4790302fff30a054a8308bc564599ba701fd1edaa032a83b38ab3e7ef0aae8f95d272f09bd1c0db8b0a969817aaf8663019f1988881952a031fa12aefa9127af9ea1d546202af632b2f0adf8eb4b71d6b805a69724229c235561a2f077261c569950a84325b93d943419d4e7f12727ac4ad2935c400c92ec2646f559442cbc1eabdd71c42502dd9b9fa09f1599ad192ffb88376264fe87cae0e709e24419890140397492169e08d13c18f56e253855308ae45511895a51ae8ecb25b827e421f1786b993f056f7b6395ba315fc5a26a63d46117b68842025a5c0baab6adbc690d6df7bb1b8b11fccae924a1ca47bd85ed1d4016c86f59cd5e9d419511c558b13c5a869dad6b2a7977b0d971da07fd78be9270af41021772040247dd453ee0d0b70f49ef64597d57838edb1d5694fb79a5ff860124c8cbc27a6f0bfd502bfefd0fc1af2385de8000d536cf5d17b112c5312a1c9389071adc05cffc88c3d728df77492858b5941c293acd6b51158e828bcd86745996a8595065c9effc07d0f6f6dcd352bbd4c02bfa155742abe0a8a9246c99aecc26cdc98656be51ffbd36488274dbf804211670149715e5a6f160ea2f59cdef407c0c40407970f192e43ebc3ffc4ca366410883ffd4d255d80bd7ffd6173909ea609a2fe069fe01b68d992eaa06f8b1421e1bc91ce0f7ac8fda94c13574271c6ce6796dedea845e07837dc980938767e9fe9a4101a3eaef638cc7bb81e1058190ecc65b7e8fe63d97b84b6e64630b0366522c0abfdf7d65793a27f9c1741963f191f288baa5b99c576d3c7914c57e26a2f278acbae79366f4713ef5f5fb47b91e91f6c11fd7b78c6890650b7df0a0dee1023f648e3c59f441aa388cd389049b752ded701779252e48cc1bb54fe753b55576d75d2160808a3b7a8e95a5ef1ff0c8d4623c3f2b7a3dbff6c581095aaf764dfe5ee3322fedf83837cff0c588db9b7aafa71f2cae7553b1b30fe01ba1a105e73269eb895374e5ec23bc7c65a117201f8039c7f1bb78874628f31d9f49ab0b7a3cdc77308771ab20b284c97a88fe3bf5070fc07d74ef8e6ea41f821ef4d112721c1bb7e8c2ddb24c786c9b50c4f7bcd881a8eb06d3cad4d25816538df3fed52f489b436c273fac759bf23d19e03c989e0a750344669e4fadf6de31515c8b8caba42ac8098498a2bf8c2ceae6a8344eaafd2685950c092d5f8f409a9de3dc8e3d1e240cfd5d93db48fe444bb3ab21923aac67e280ad19610000bcafa66bb234899292aa383f369b36840edaf87d711a6eebe3f6ca36f9ac57233aa8ba9ef00a4d3950b65d7de45a83f4c5ddb278dfccd5b863900d0df7eaf7c5ffa2a4c01271d81460b5b082b711139b5912f7caa5c921e0e51a8961cda8b7d4827ec904b73eef713ca1a412a3aabc0d98339444832ba3250415d76f05f232bdd913725b691027d8e1b6afc9cf85de94c5564e6499325ff061c5052cd411dd24088c838d0ded31fd528afab8896106efe09421b2e2338833676be3e4b38f90c6a0a0ad386d3942166d9724dffb634134e833d8d9fa6f3521046d2b06b86e382460307335fae537994df8e9097e8a6fd9540461bfcfb7d38e04e6ad89150dfda645e38e85c56f1a77bf324b5d4d1e6e4c1c88040086e8a27835c5516d673b5ea21d594152268b6be7ea17b0321732b8426d14d14136c45189c71659aae40f17e53eff9831043c36ab351fc725e7b76c86f8af04b45a3cd30e140c307d7e6a5170be8818e7f3bf4438b51ecb4ea131b9211fa24cde3502892d01bbe1b80afc1f3220545f1221cf8e63489dc1090d9cc267d5f0b40620afbcf52bcc72986981056619813e70a0e01ce69d1d5dfe33109384a3f0b7eadec70f5d0ef1410080874dd3bb1d3039cb53ac4fe4fcf3b3400f0a826a7cac6c29c2ea0cc55b3faaab89b2fe659658afb0324b5fa88413f5e3c9e88d95b3aff551e0501270f3276d4255ee4ec61dc4e168da379b8595e82b3090746a526c44f3939c4e99a0dd1168e220c9a4b7f211d99be5238b795fc537e6603c12239f61adf2eebd206792bce3f640de36931a8346dfdf4ed0cb8e1b9121f0bbf54f855457c29b2be6533a4a3d2d55ca4e8e6db7cd0a99acb665cc226619f28f3fcf0802dc9d25fe08adf3f334ca00a60179b42866be9fde78cbaa2f9813a77177b43cbcf389b9dab04964902acb9c772223ed5fa44758161f0f3c4cf981cbd5ff2bd08697aad7f88d513bc704def6ee42808ff59746a549f7ea2eb9111e04e95dbe1e5ed8d9d0cceff04a510e171c2d14b6d9afb47095007f1fb54dae50145917977f9d3ce644ff82eea395b126ae061a9827f09ce78468879d966792ec076bfc5b82fc8c9ca629da2687e6b5954c9f3fd8988afd62f8cc9b9c83ef76a72532cf39b6043e88d239bcfaa98f7921e4fa7918344c72504346b3ffa4e11d21e583eb0af635aa485d15f0994e5c4971a7e529c091099bae44ea2349013ac0be475a0ed52ce9c1bfd59eeeebe8a8c43c282efb67adaab8f3da4fe51f0de49861bb9132e080b12de069c2926294f7d406227c27e021af46c9dbcef9751327b532eb40089afe67013b2ff07e0753d4c3d8501371d003ba39a7f1fa5071c17433632246cef52c4cb9a0b03278d00cbd276660a299711f87568623d6fb922d8b88df08e6067856ce08512c1674a9799dc8989f531f701c3df3cc5bd92010f94755d356a127ec09a8ad678fb78bb20142c1b5345f49160d4d6dad6023adf0720579895011359e4c6367d384d21cd66c9133f007638ee9a61c5f8a24033988d7704062f3312cd7a62295733e7d1d566439bc080dd22b5c3142ff94e0aa3e2da5a93e67456915c581716b15a19d9799781ce5c4c6e7b4e0b37441043f121861630ab2e212bfb68803b3167917e8f43a37bb1b0d36976b15110e6b68a6af3da5c57da624066534b067e3c66d027dbb01212eb2ac8d27dbbcae07963152910e3701ceadc59bdf1fa214bb6adddb6cc1b35c678cc5c33954521cb2da8818695c466dedab90d1dba50467bf57193a5be443e54de8ccdab19d49cff935bbb243c6bb937ea3c022b760b041d1a28aa78960af9a25695d705c69e79ca32d7851894cabc222f87414a211ece9065af25dc310872de08c461330999d20c66fd8db34be7f1379f4138e6b9c139dd95fcefa1d9ff38ab3c8ab232da992295e98d7d7404842003b2f1df18fcb9e54af7bf452cadc81d6676c0fdccf5691e4917a142d1a53aca4352192c932fd22caab5241dae9a35a09a2a235a579b4793a111f86a3c14bbb20f30676988a4b941875cc8a77d808c32a3137cc078ff8dc4512eea20a486ff1c12e70108cb91e33aae52c63f70ee74227e36af85519724df0c07f85f8b49540be234f65eacff3eaf8a8c7c2c01653445351a3c2136c85a4aed8b282171a2388d2990e0257a2eec2edf8fefe381ca28b1887bc9d718174191927a1b8b8fbad14c181665781a5f2c9b14df582cf0b8bd846a7d0cba8217a4cbc166ec3820a9af720c84561eb20cefc9814f7e0529e2a2c0fcc5ac7a7356c2cbb15b8624edf1e6180d52d302cf4c2497e9f6acf06cd40505800cb5228c058bc3d4631e5376f3d6d5a8a40bbf0861e39205231866935810076e9452426ef4cf0ba61c99580fac6d07f080beb2da5246d99a98cd04c81223321a327e26537b75a05af5511ab8ad86ab97d040ca85e8e6f52747e7c4d0cb2fcc67467d9735d1fae1ddda2dfc055e5199e27741d4c8cdae0074caf8f3fe550dc16f6fd438631cb4f19192e780e8783ee51bcf31d82e8fb27523f9246b62a612160dced38d113c04c58cee76b74ed3cf35306845e46f1582771dfb6a8d54f654797e594629eb908cc0913b05f3d828328fbd60d4c7b5459e34323249e9955dfb3f347fea9c64b8c14c0a85f3c93b55b6a810b9f673e1f27bf54bf2d99be7379d294790c885d6d0451a2e8ae11d094c7607f998bcb5a5f38ec0e826fed4aa96781ccdd7a32e5dd49f64e926c7fcc3ce39bdd50c05ebb77f1348713d19d6c8a1ab5351fa02a8869efe7cb19c837452c61819b321ced91862f715c79345ee116c477ded16d0332ee3ad28a96fd25a736631681c61bcfe5dd6980e24fd4ab99d67bd0fc1229336deb66c0c56d74a25bdff4dad698e06e04249c13192678228eb4f621471b9dd2c9c928edbda8d2b9ef362c8c2f264ecd149373ceb6e815c5c1606a0ed32810c7b180f73a40cbb957e39ec7c7800bca7339905f285aa4954964752601c7a70c394083ac900f6dd5858ac3bdc716f4e0da045756866892fc73e0d81493d31309f2be8f6c3c3511987d7d0370f1f4c65b7c405a372a8aa889dc17dac3f58e7c674fbf9bdaa8d45b9f7d2f9e4b09795f22749b899eae5e68ab4a5c47115d7ed750fe52eca03c7a7026db6c791fefe28914219bfcddc387ba6b13c07bcafaf532e150e13c6946bc7c1b6b792743e00a7216449636a178aa5ec460deefb3634437b1c42ab7e73ff2cb8acccf3c43cc26506915d9e6d361bd4c89b3edb9549f20b1e27f20cb0d5510448cfc8add207b8f484a333d6bfcf0153fea48968f576e67ff203145c01b568bfd1a312f39b94ecbb17c2a0983457027446f65b8f5541df1b4685f58c1fa4be22b7138778339464ae9854e3d9c6ce903b340f3722a6aa5728dd6cf84ee839835e846edaa514a258829edc3e5ed213b6934279d991ef869a31dadd87500c97869814907cfded368026a22f6c45fee41857c63a072342c362a3bc42c2915fa5d749ebdacd11537819edcc7acadbec0b2c1127f0d178ae624d2151e02bafaf4808cb79a09fcf6242fefe1c290d7be846b3b5718d9c65263ca3d227406242c3113e928d985dc87cf3529e127968b22995666a91eaa2e13b0b847b3fc414fe029e09512101b5594b6f35adb65c0c2a0ccc2f4de718fe362fda72cb9b09d47948369651dd33e0650bab284a8e90a3ed8be238b3adeabfb70da0f298ad3fad9191c55806a8cba113a828a1d00f9819da3e6b79aac5081c5cac0fc43b4cc58b70a95bc29808836b7bd43117374aee0c0505b8c29d9f3881b88c92bb9c8075a5a9e372705ac790c1fb2b4872f846bc22a1e953acbf6fce12365c4cf0205741ca697126542114ccdc63762edd0b3baa81d7ac3e0da96e793d62d64ed90331449bf2981378c41134aef26d5317dbea4c43ce31170a248a453ed061d63ca0ff480148bc942b9949ca048985275515d7746bb5d43c9c00dc77d0a99959fa8eb756d386173f5ee37dd7f6f51df6e017c6d8c3c490afda2181a91e36f2c6f9756254573ee5ba88eedab856bebf6a8db5b516abd8bc0bf9af41c497de0b055b8e13be4d559ee4985de48642b70c0a90351ff8c4ebf5aed225aad706e1a3ea228a362c111cebe76a5b7b6769299b3f085607e1fc5ac4ec0dcf5c821ac39532c79dc92e887841739e6a157983cc94faeeb89b9e9e06ded239362ccec9716023a0eae23aaf34e7d5dd7261fe8076cb862faea0e3c79e77dd846e5d131f1f60f650a789de05dc7e55a127c0779c6c113bcb03a0d35cd41d2d39e664e550f41c9364ff91fd711f77864e8a68edbe4b130ab5742ea278f803e4c764e6a26278142144af79f36d975a66e8ef7ffa4a402a83485b25e50251f9ee11a9ef78a9404ab0c7da29884e23996d34915404e317297a81fa9678ba77361778a69116bb00a1934e84913de2f4229d6a141fec94bdc1c2d741f19d4ac74e335ad723e5c3baa6e6c9b1343876bdedc9c5903108ca6cb7c159a6f491d9324261cdcaf23268c8b214383c1df4ce66cd23708c362789221258841414ff4021187b8c55e1ec4abc65eee32a39b143f63822843c736b92eeaf6121c77d1f342359011283a0048d8ecbf43a51f4b038ee2bc05095668cf305dd2902c1ee8d90d25285b69c14f76034ddcfd8eed0f7c4847ff280362a9b1c52fa903c069f77b54264f92de78cf5356866eeb704c3ea04ee3026454314b4313be067a522841ef6c118465c71a3bdcd8679cbf0a063f1228ae65ef6010ff81cf3103e99eaf712376399523e237df3f5bd0178bcf32b62b7c060db0b39873328ba8a613272bbb70db92406ac2d32e78d5530f47b72a4f8ad861fa244373adc90225b43afd31d31a2c84adddd67b39c99020df962b40ac46733134cb8b1f8a423c68a36c8c7396ccb451a8f5b86853fa3db10f8ab2513f37a77d1afbe1108923790191f78451562187e8aa902ef17d95d6276d3624590787837cd1eb1eb27ba7b333a3db70e4bee2ef2b24f5781f89c2fc2878ba224eb603b803911ce6a52a0b64e31330899f6dc33e3ea703c55a9f59759ebfdfe693083e1df7863d5f4c947e89c70956db5f288b7e945937d5193773c7711109500f6ac462f6acc8d5511f48810efdecc07b050f8894b88cb38e599c6f05f0454c1eae114b101b5a8f4788dde8d86b63c1cb63e1a768c15b6f177173c1e090cce15d4ce19bd347968202593ce2aad921c6ed4c597760b2d46cacc385d6152fb772ec7b623f82861fd4a58cd4b2ca7166cfcfd9e8b0697523d8afd76a830a0f8dd444e10c3d1b079013ac2efe75af9aed936bc231aa7b70db348cc165bd04813d905753bc938b5a8207dbe5236d9fbc16e03ea99a19a3c7abb40d9c827dd7c42397ec1f3c05a35248ae885c35e2ce7a1987e6aa3bf419f2575794f2d9652a536e32cb9a1fb267c07d8d1acdaef56a0b96d2e03f2805fce1e7bdbc3cf8bf8fc58496f2179652d2b93d683115518ce2287b54230b6d832a8b146ec6e0556f03bbc1277fadf80d6cfef7f09bc5bbd9affe721e37241f81430073a753b7e40ca030afae8031d76bcc314dd48857c4b5193eb9e46113ffedbb21d96949a3d168c01d57d434c236d80d632bc79f52ed621c650416098a1d07692eaea697160bdfe002ba6b7b7b46a20a44a7afd6b2dd6faf587fa1122848d5eb62e427a1cc938fcb369157a781e4986249d9244fb288b83178aba47bc6862a919cebc6fc4fe762ecd1cd8e7aaed6609efc1d3d07165774ed364f9cfaf18263c780d278dc5bcd749549a8991d645d96dda1e1a340759cc9c84b4b7563c2e0e1b3be371a010ba4e51702553bc1f80163a385b623fa23a4f69bdcad868184b79ceddc22d636d1eb4f5812ab7150751869979b34f073475e5a78a42dbee3e75e99a17d76a846f9ec3f59bfd6ae2b64ac19df522c55f4410b3a7d9434e5e62ed65452edd6c83c72cfb54846d8e80154b374b0ec9992133bb4d69665963e7cecd9ec845a491411388596d5f045aa0f59bce7a7987e01991774268d059b1bcfada3f15497f6ed902d09f4ca11b4397757f7c43e508d29b367ad7003659ead59279733d57c12ce0d651a4043138d45a51db09ff2add684091dd3aaa93e2a86aa9127cb9f025f50c5ea69c42f5d4876660e06643a6b3672294c7debef16c2b72152cf3a8e9ee9135f71403392da8f50570f243ff849d547e1f673b61e6b55ce2387de17a44984fdc69c23ad878175dcd3eaf88d8d3969087b4c9f705b467f1e6dae1dca7450802bec3efacc9f74eacb96aaef9e3374e3e38daff078c0cd9dd255ba0e529332b76aa89f38774fffbef4ab8181194921b066bb422634d30196f3ab670dd54a751816b6f2e7511ed904ee6d3c26c43e3712c906e82bc26456f1b2ad50358c0843e34e24d825af836c839f1923025686ac78b55cd21f1c1b310c3e289a328aa6462c3b168a84f0d520debc2bf1b928e057900b7dd265cc88d6ab770044c8d8ccc71e2aff732a1f0633abc0a854c71a821f9f601df43bbe0f32fd8c881d240aedfd51ebc5f2ad756511f424c9d0bec4a2acf8c565ce0cf7dcc9db824cbc533ccff2bee39cdb8dcb349559fc96f339c6b45120c6d769f040817e3a1996be3394d1d91a0279683e055242d9058fa4dd3be1be9a5b3906133e85908e5f5648537bd0624f3db495feeacca677839dff1037c4e49a39cdeab74c0e0b2b70d202fb600e50bb849b72084d041dc6b5152a3c085e83b7a6901fd5dde3bfb34adf4fb25c419ed2bd6fe5257e2d0554dbfe1ee149fbfcc0e6505c2748bb6a9363c20eb6592430b513a1a11a5f625053295605ccf3da99ba3cce57778ce9ffd9547e9fa7fbf060f62e9c1e72073940dd91dac606c1749b52fa160e37872480dc68503186c3443cb84a0d2082c7ba74bd36d2ef8b37810f5287ae515003124bdac38ff463a8b15534138a28bef1ffc98d7f84f19b1891525ed222d58559453f94210f5f64bd52a64bd48cfc78f9463ce5a9dd513e9b78202c136125440f0d48ec661d5430dc5eb4290ef8821249bd386e81149630b9033192efd29fc9c7cecbcdae35b7a51319263f60fbfd6633333029f7915cba2d0672a0e6ce39df05a640008406f2d44ac75a48eea41154c8d9acc656813b0c2fe5b8310ababf5e1e5e3b8d1d48aeccb7148030c536a6d25e58313669bb26b42d3184f3ef7d7b5da90b863f9e606b52525eda167417ed90620b7c5d24db097ccbbf91ef2799c6e4f7ed1c4ed64c9511eb9e81351b95e65a530245b9fba458864d657be6ee049ab7393afeca328b40ffeb05cf55f8009d7b6d33c9259640560793f5ad89b1d0194bbb5425bcad2e0ca9a29daa439ad8766c7e3f9fa3a148a3365c3f875a6b5935bbd89ef5774d7286156f9e6f84ca5aca9f96d52ffecfba5ebf90011b62a006304a9a954599f3c9207620a5842aa9c21b4c472114f21d88b7cb8110c40cb96a8a34ad68cc7e5baca15f4c8c36bce0ae69fe0a55e634a12c8af12b3d18716ebb0d615dc842a723972b777b3ad31f10a3d5717a9599ac13ac9708a3130070d24b20d6eaad36be5e54ad68db1881eb9ea5ca5d59229497fa867f71f3c01620061e3befab486634d8b8503e00ebac2650ab0b84b346368c7693f2c4a6fa3d3ef866fe5547ff6f0c698614d1f2aad7565720a5622d81d43e5883e68d794192d8472fb13e0775dab45cd691ce41ae5e13191320f9445626e0be338d185bd9e11a8b5768e0b1cbe590273a5c18d8ebcf7fa57022b4862c255708308344ab578507d623212413b9c8b61923370fab0bf964e3e69fbc96f041acd551da28dfb397965ea6b8a841a65fe72fac4368c9a7a64492e6655e009eecec9c65c0f9ff59cc21d2855d52a71b0887914e4f14ae31accfb167d2af392e216df38ff5e994661a5214ffd584828af845572d4b458fef1a2dc8df0f940b22cf9f45816838cd864a67c7f9a6f77bcc4162af8b62e0d21d788b403cd8e0b17583c66747eff81dc48eb0ff75e76368358b67f47c393081efbd4c7089400487e5279c1d0ee8911cb8d4224e25e74cb195027240b814d4483c6804502d41f2b22b490a55c5fe853174a4164499108a0d94ceb298dfcb0c07700a3c6117571a4bfd01f55fca68bc2dc7da871b0217cbabd2777e778bfd4e51e3364b8ad5be21d6bbd9167db0652bae929e4cc643ec464ede4c1bfc56f14090df8992b734eb15d9e32dba7cd0292d751bc0d20ee3aca3db7bd71dd28c85635fda55a504115505bbbffe6bad81b8a770d0bf585796167e24e1fc82b02a63ed80017c63cc2b3817a48007fb19747348ff541f607a2cec5990520cb0ef781201d7fc60e4bc9b2fdd8825de169038243a773a0a3baed7541cdf1376cc9bcf62ea178b6cf7d1fd19277150f11b968317f6c84b86a6b3016ec39a1278ee1b110026bbda87733fc1b84b9f34cd28961b4f5687dc82f2ed3c0d91415ffb3dada8750bbaf0addf28c7e217e65054c8cdd865f0bc4f4299f112cf80c569cd98e1dfe8dd37401610f9b8aee6385800717c205dc7d901007c261787c1aa922be20f38d73f164c66dced3ca7cb6deb0aa3ba89578d91b60b14f7a929d0c439fd235b7f9ddca7e39300e1e42f1a128ec67c1746be8afcd02c2a8053a33f4a62b13e17437f9c528d1e4a79d7c833a31dd7d6dc0fccad47839d9356119edf7c63c2069beb248b8f6ef2af7d8fee38b923a6dae3e6ad911037d0df263e311443120b7b15beaac1f4787c5235043a0a857bb1feb2eac8ff7b2c4829dd386e77a5a88a854ecfeafe3945495a0374c24db61aa213796f81469e46fab7f1cf94e6abb73cf1f4fafed0f4b204530c3ed34d5aa9567c1377c425ee7f87fd4e354322efaf7a4e7c9fad746a959cc9f660153f8c60ec1e584e49ae0c79c1f568d47eaacee586f6d0460c9a1c9e5d74456920dbc38d5ad0971553953abc647752b472f3d9e810c020f1188e2491712b27e67b7c011264003d3a6bc5556be0aabb7e67a4f9884e4d4c3d6df4875680a249e7afa7c17920a78a0e0ff017794d9c74224e0a4085c439f1ad189c3f7b9a4d18d6ca0670bb7a8b950e6dc5598dc39a34edf9315dba14ab5698fc4403cee7f0497395decabf4b51e9c2dca54854119f49c55316d20f8070798c79fa5237422615f08f9ea2b50e38eb769e7967d47cf3f99c69b598c755dcfe5b0313168b253565350049b24889be68eb1ed5d1504c21cf7e5153285deb13fd3392c49f46b7e97a65a4b137194cd502b3738550b36a7b5b07255ada1c0969ae88075d7c843071418e801cb997dadf5f8a0ba800dcf9531c8816eaee273b80ef72ce41ab298fbcdd30b4fe79fc168eaaf645eb63e67c91ff6bd245e116c242e451ed7f50b5ecc856c8957effbdcbd997cc07af4c4f7a18db59ca172b986bc3239982664ab49b047c9d44349c5099b4a7164490672eb043bc3d7e0af80cdc48d993b77f37c6d5fd9a80fbb41b5b9949f31eff801676a1f167115dff2baf99dfb151b0ac75905dc7f047471a26dc45de5c7c0fcc766f8a08f5b562bae0faadf1b2c3fe50bf92317b7517615fe726a2d01da47dfeb6ed0143029b6304a465bbfde21a22e904446e2e7fb0a4b553a6111365b0c8034710542ade02b872dda57505c83d593adcbe4db5fdd8d1157cb2daf4927476a30e9d399ecc40ac8fb2240bc52f3f037829be9191e3a9e6b995b1b94db390eac70462f08c11601d9e8d7431661048c1bfa865d0130c5f85dd2f87a174d7cb2f5fd5e00b26e2266280a74f045578496ce819098c455c6ae6281a0b86226e785c1a6dfe1e33f20b5012ced39d1da46c66c1167f46eb89b9478ba681aed2cba99a1d081cfd80078fe4d6b19cb1caca3118ad997d97de1b495ed255eb4faa7abbacfc1b0e4fa1d4e54bdadc3783b3176dc2be639c1e79dc76a43ded9700778b5e39893db1da029b4d1479f7442fe691be47e39bf73bc36ac0b921f4af85049debd04b2586dae013fb46a30c191356e02aa12ebf821038fab463b42d7b8b556a685c97e9a825ab06ec4a8b5685b055802924b2cb11293cf36c597c355846b1232302ea1cc257b2abe5d6d338af9cc315ef7530065bfdf524c3fdf6a69af7fe562569a8c27a5d807a207e26a576833841eb31e2901e234b8b81fc89feef789c94ec2e51223486e7fb6a28e52fa88dd66d43cff93b2fdd2d24962a960a2c9c333e21af17f9ae3235b9e5abbf94c8bb06b7f2d1046552f6277891ac06f4ea63bfcee17313c5edf9d162de50a227fd13ac3d943c6aa56b74a3cf5023ee99c30d82b1643c02e1a02ae325ce9e55aea3d01e5354057f4444cdc145edf2d7df4f96080335a56c65f63cd7e15af6ccd1e7174d05021321ac9abe18d3cf18c5159cf679ca87faa37da69fb085403c8a00946b816e678d1f0556d09a05bf12bb2db838dbda3749424cc8ac525798cfb45b4384546cbb4e392be596039dd225a61bfbbceb59dfe8f156da4974514305d5f320a5ca00162dd9a13d8d8ee9d8da9c68e5a66765a7a5ce60d80564d2620f1884ba1bf78f925fda425e1b86597a5446db9a7541f4e14ded3ecb20378673cca8efe8aea7f557dd0d69ba47fdabd230ff48384a3759336b634fc54f00213daeb397492aaf1235cb8fb65e3a1641dcfb2d5fefb31d1e7e54b6ca5c82b726fb45d909db71ecd9f3f0da5647c021f3a6a2cceb3c3934b3473fc590fe3e776152369d7110d6f1eb6d59f7219dd8d61d3338052ca1710b9c1f5203203a0c24a5d76fc636a4a1e8b14e3911fb5613869be801e269f6e0b0cc47f6f81a09a4fa05b21683df9d63b3ad482bc48604d0420fa596b1b4bc8e55ca31963982c71e9992f7264c0d65627ab76d9ca8af9a03b9440d81b197b0f213229bc9908610626e14965e5b30b1d194c296cf97f38ad0e7cebb7d1d7beb4768667f33479d01e1c596b97567959671d51fde77019662fb2b971feeaca313688c104ae22bdbb2dc74e2240d0587247f72eddeaaee0948548354228627bcca3407a302403415d862a868e8765e985a3374c8b6431ff33f10162c6ebf0b0ac2dcfe7399bb647ca81ae62607060ef7bf8e7a3b37f1717c04ddac09fa5e9ee04582d684b3b63eba26f6488ff71cac7938f53b8802676eec6060c97231ccf8bd391de9352888d618a4de1a6003c15270c7ee3e5a0f2ff65acfddd8bce214c8f6f6d8646d091ccdccbfcd2f8d7667eab5fae56009365bf1b89be34cdb0c2f559f005dcc717bd52103fd2914397eaf648cedb9f22f47034ea07c94127d7ba69b26176c88af82ce022af7a71153f9fc83e7c8a35afb54b78e6b5693396bb0dbba3e6f8460868901b0e54d6ae3ca4c174d83f905ab30ca57e66bd498af7cccb03fc3acf9b02d570c9152132ed09b38a81dd9b41e73737fede3eb293cf83180733c5f9283367c990224ffef7de7526f132d23061337e8e04534aa7e52877a7c4ff32589a404b51f450e6c9b9474cfaca613ec34667ec9ebc65d43ec68347a00f2bd0fe5b29ef66eaad8e9d1b50aca1262dc299944ea6360ec1f50b61fe9b4df0ffa58388dc0a36931756652a1b6afd78410e2e41227fa57c34d5d8015b953d5a08c4e76ad72944789c5e11e1b1c90ab681b344e16d69d7d3d0f490269c48ae0ddf4699aba179f36a331893be2bfba5160776db0167c22965c2b0f528fbb6b2be4e56718aba1d5a9c29684d1a30103850c18788a1fc59638af6d01d9b2484571e82955e5628b40aaa9a609ba26ebfa042c74d8b468dcbf310f9ec42cae94c3a81fceb66d2c421f40276be484fbf2ca00775eafd0c957f9515a055748e13d8197769322b4590710e27e00a60f4d96466a03096aa7a2c3079a9a922683c2d72764e51b072d49a08d0b785d4511716fccef58256b83a2a4e5640178b328bb7aa33e6961b8e5ee69e9028aa0539c0375e861d557202f47978badd77df735c93099ab70b8f381a29a649875b5b2dd1ee0574f7730aee8c72ead41f058248f253f82e9e785633ce675c8dda2f63e214038e369c05d929afef2cbc92f0e472baf9d677c9a1c86f7b9fdad9db10821b48f26b09b23985aec87163d45a0d1165c194659c0ee511a44fdca270a9aa711229299169e0cb6db2cdea0c490116954defb87f7a524bb55a7fa0dfb63249c45d868679da0d9cb8f621b06694ac95f74a52ab641b830ad229ee970086234d223d0b4fe690b425510fde7ea97e0cc36d0b62a5f44dff54124ec2caf68afc496528ad11bd39dda4471cffa9742159ad8e0e06370c02c88c3b6b4bd6b9070b85e9e553b90eb384a1ccdbe650bd6b16d0fde20660e946611fd38852cdebe049608cab71b90c512564ad834852188a9e23500f919cd4736a34ef553267de434d0d5ad08e979441ba4c25969f84fcc1a09c0f45f359c8c72774cc5125901ebc7e1cf34e36e1b81ec56bdad1f9c1a79d7aff3823f5809f655236fa9514ec92a25b2fea105ebb8575c2cb9ba70fe96a6174eb9d950ce986db080b23749629ec9fdea0911e2ea12f46b5e996f1a260f97a6b70bc6a6fd484f3bf3551391dae6eabca25e9c062b1923e20cba937f23cff91e2b25d72d0efb895b19369c85714b96a79057a507003080891e77a3f6362c613f80c9273252875b8a1ebd71f21beef40d973cf4db59fe592e12dd115f3c34a7cc5f03eeedd38fc8181ee00bda17f7b6caade76e90f669d1e115fcabdf00b6cd1ac6d235a142e6a7a0219e599dc0167710b547ac0e7a88cf6050952deef7bc581293c64d713ce23d9ab6250dc82145512a2ef155c70a49a351e968f090af0b2781fd466314dbcbc6280272da143d765bc1cd39def761f61514959c2786d1ba273c791052e36a9737843d79f63aaf645edee2a92ee27354bafcf205872b1ebb0e7c22007d7009855b72cca37e025a73ebced5dcb81aff2785b5e966668d9c719873fa2b75ff51816e4f8ac09d0f679a65cc8298d48e98133eb9871810347f0b3a53650ceef599bab40afc715e303a71ae96a2d38d4d1cd3d8c6a97e1f18016635004ae1ef5208ecd3a0d93b5309b7aaee24f3d0b2661d978877c054053b9ecbab2a3540885e621e73bfb82aefe8d588e5fefa0d3550a52dffcf24b5bfa2a75d04a7b1910a3057863d447abc9b496b111e341371a14b9fdd27df9602a574dbdd294a879624014fb156135a728847f23fced4368c80f58d4fee98860cbda60f2c055c3caa00a9d2f32b2fbedb63c9d31df492886ce0ecf004f38e1a867ed9ecb3eaee0801f93d7c0f557232a58fcfde42debd5f64e7b2eafe4d767190b6bfb02dffb0187e9c1641fc37056bd257887b9cdc9c1dc388eaf10198b55b50877cc256bb22cdbd467c68f4e1ca3af20d641b6a8f56f371cde353592369f850fe45909415225d7ac29ee9050969395696ec017ed69bc8610e9eb064a3f08db0276abb99af2562c9945ab6aa4efea0b637ea2437057ad7921eab57433dac2cdfa773fbb02b1b760704d895c119a0b1b52f86ce71a216674fe91cd1f44055c64670839c3574964d08f7317dcaa25803f15447a5f9b50796c50ebda82a174b9b67a2061df56b3564aac2256b0c9bc678db6d3dc63b8d89311690307b03711d1a56ce2085437a997adf185292bb11156789787d4df588633876b8dbfae42bf1900c24e215e246fa00f20fa2ea5706c48517d524c522bfa0ca020c8e8a8cd68d5026e12fc91d00b8ee5f7d8dfbe65a4bc4c41e2071ffae10d51818a859b49dcb4f6a1a5463788efa34f4dc68e6c8ff21a7e8ad94d9455e99134c3d317e76e0aa6e81c8e66f66b1ba86c72f299fa1ce7c922a6ab03cb9c1c244e043ebc976fb1f00bd12e9c2c135450b48b2d2b082ce51c0a79a37962b1945807eb0654e96bab40ff3cf2e5bc57bd47bc2387242d4ff4e5aa3a9c8aca9cf4f0d53733ea185e92c9045ee5376ce8c51057d73811a3c02ec23721f2fcec9ff514ba98b77444f722dee4679c44c68bed3c8f963fc7cabf18414b791657565936a0b2960311fdcd79c6e8818d733bdc13e6b783cf9248eedb1a3ffccd334bb2f43b4c9e3160f129fc52e6d424a2f1d07ecd7c32aa033079e749bc3f4da3fb97f6cdcfdd2694deb506eea00e2468f0759972ebb65f6ae9bd56fc4caa3873b8d861663a335e8f9edf3cbd1feaea3c759fd2c6346603668f1a65e47b24716bf9241a8665ce68fa6be8641f821e047d63ec9a18965d405054cc19b96e97574580a4bf5b6783681808b6302533ec324d2b1c83c5bd393eb1057c106dc284e6ccbd191db9411b8775eae4c17c681007d50d04ec9da319e12f13e4c41457591774413d8d000b948ee250e05c0a1fefa03640556e1cc4cced62b81e1838d1ebcb3c7c30e27d7809f7a9566c307d5bb91ce7835d495731953b1d37fe7e0aba3014ef8d4539a3a03b57e81bf0025e8e80e10dd5b3b7ff66e88d6f7f21baad947820256a5a7342f68862f614d4a12ea0f29d99b91c8f6eb030b43cadfabc9e75600e1a13a5a0b27db80718f750a5a7bb0cd46875a27d42248c7c62854792e3e763d9bce0457e8221f6066c5db5ab960608698c431f4da949ed8b458920cc43ec279a5816141cee6557f9b3cce7b0a7e22263ec22352113f3d72a5e53fce2189eddd31323d08d778f61c103dab060e207789f47eee1b30a922b417323820df6a0ef7887b7ac002dcfdc6b6c3637ab48324dc2625200faccbff6353951c6264f7958640042fe0fff76b907626588a160acaef947aee750a8db7771d2b9cae904fc0b1db627cc42167c50073917ffc83e296842afc72095722fb327c63dbc2ff5c379155d2a7b2c274b8bb47d0353f8f5cbfe616e5f06a0a1a83a6bb6259c66f464c2e475d4f81616c21739c67b765bf3490eeb8465c48bc34f9dfa5334901976d81204b1db3c0e106ae272049661974c1352d12965fd598a0b2784db95ccd6f55a2350e68687146602bf19d87d650a151a8c37937b457d098e4e0764e4a2d2ba8c3715af35a43ebe01226fa49250a21711467fe9a5ee0141e3731def0fd3505873b3003ce1862ae88877c6a6fcb3edf85d24014a3df94946103148e1884f2300e5cb226ad7dcf0274d90086a65eb7fab94e6f3d8efca0170ba6d02fdafd210dc39b013d478969b5d0a6453933c4751fbb314366baccba71d1c0b9afe747d65b4efca28cdc3d19ad24b682e1c5d72d07651169ee8835914f916af911aad0338dea093542407851c385ef0b4034cd0f19ca0fa65225c0865c6b18fe627dc8676583f6a458c24bd7ce0b7f47a70fccf6a34d018e471200becefadd17e3e674e7bf9ebdf2b37e8c4a459505ed9161b97cbe0355fcb9b87967964317221942d804e132b2c024ddf407d10925847a8afe4e75c75a9eec58e46b845ab836717343c1db527373e34ec985dd12b7cc6d06a83752c26927d82976ad7440198e5f92cf4f1fa41c79a736d05d3b8fe552557c2fc177ba9c61259eca43f2f747fad25a0a4e82f57e5f75ac37864bdc19b658d3827934d021938a3a4d229a7d2dbf55260736c068af1d82af3745619a612c13a666bf5282dc317e4bf66c4579ebf84160fcb01e720dbbc6528aa4e1106239b4c45b5cec01b784d22499b4f43b6670212f021988c346e6f16a26051be26605212321682e4cb3694e5c013f45847b3eb529db91fe5b39e2e8da51abce5be9e98417f83328a77d84cbdf6024eaf24629f31c7af6643f4b7b8164f28f291b52e34616d3633ff28a3c8cfcc1266a1ea090033ef563f845a79938f5189802b0633068a15c097a9179ce4da0fa04d7f85ee02cafa37b1b4ebb2cd44e4aaf2a15dfd58cbd227b72c99a7b23c7192ede15664f66531cbc00ea1e81ef3cb182b9c92fe8ffaa8d7dd74ca7aadb1456fe0eb7c24fc437c5e43179910bfa0ffff08c4e402e999e9dc1b2e0aeb6bbaf40d5ef63e3b76f4c2a82fa1cf35eeb3b721ef9000f3ca4a912c8ccb5a22c7e660930d4593466f63339a4111208734e743b233cf53ac85044a896dbe351945f17523af7afe3c235be06a87e93a4fc58ea38000aee322bf1aa796dbdb29136ba9b6e8ae9c4071553e30bc70c42f5e51c2e06e67322016ae3eb44d2515fb8ed359f82a6f536e0a8a66fe1a5defb0218c9ced547fc5d2f079a7316564e5a36b528ad6504676554cc9a17f4a8ffde37015f1c464b55b8ea450f93a17969e6ebc30608dc679bb53f488dc357a25454556a8607bcc97c9b428818e8ab22363def4427875dcfcccf306766209eca1ec47712bc4cdf1ea2106332e843dedb79931155b0b7c9a201ebdbe42153dc30706004e8b414408b852f37fda5be990e58ad139afd2b1155201d0d03bb91300abc88ca37175d80334a831c322c2b8d8b27275712110163a007c4defce9de19227e95b84a5d6157982b1efabc7e2619471d667b89638986d8ba0253aa81b797d46a4f96b37d224410dba001b93d0df97c442b3369ddf50d8853dfca522d7c6813cc1a1e7d6bca558091551fefff8ac5d849f3a5a3fdc7cb9ef9b0dd5348918de3d75d797f5ff1407be89cd17212b9cd2678996bb99325fbbd50a79e44cb8325fe6fb1e805827f46c5484cf6f2da388604fdc760fb64eb390fc2c1e32429c41a1a9d78d3023e9d46527adaf15fae56125b640bf6794a530947edf54848587a7e8d9e4553d1da42644594bb503e4d563e0d768837ef1513190359fa9c24d1c21727df58b7d8fdabc328a26e77b2575b4fcdfda7b806b352cadfca5ced4a6c9894b297bb3dc8f7818ba07717e053176274eda866ec8533dc2c853ef0bee01da9b8cc74a309ab08f240a3a251655750b689739d31f4ef787294fc1391182aff7708ffb6776da1d3b35e3c62f266c2496a1e1fa0183d1313791f145d74f452f2debd67eeba1a8ce85b79086e7f97aeb7f5fbee6cec64c2f442d8f93188f5e4498a6ecefc82069e8906f9c283a4568c91418ba7563d306bdf9782095deb36765b9cddb25d839903cca5728c4be6adc26f5c4048598fda24dd0bff5f8eea5f86d883c28e333f6bc848cdd0963f25e61e7083dfb3050bd853fcded0ea8b375fae150475bcdb59bcbc8239a6add26eb208cf2ee8345df39f7500c3d5b8e9ebb9fe49ffc615c02da3f13972e2d82fd02c388b597372408be395ef03729991e8f3c1f9703b90d7b034970e8653f9b30770bd01cebb875091ef37ddacc5050588d8ad530d05324ecbf52d16bf32eba40c2290381f490bfa59e543593a35857dd8f1f67456adfb0b2b0ca4403ea5b21ead8f797e9a4d8e7f5d5a04fd3ffca5f0cb645de482a34f191d530f7684813e6c23948303217f115b6c23c8f55d47bafc8919f10a3860ea428acbe6fd7115f45eb0b6deecbda42e1b285b3dc8e32099e532b135c132ac48a2e2bb71256772a73dddfe640175d005f7f6a8a95aba81d6c57aac59e88ba05687312cc0e7a5bb632fb099d2d87b6c3ed1b1c2bb133250558d74744f3670f40b6e3106b07e7d6ccdf1923dd522b317537ca7c82b00e65f10534e9ff370341b6227b536e7490cb580315fb81231178887f9d680d4631842a6d466bafd56867f36a4e6143eea5bcd0d7bbbde970832628ecf53e9ba0f59e2d21047a87eb138ef11942aa9a6bfa3016166849a09513993c88e36e26e5c92009e33c5f95ca028410ae4e463d62ab5277da992c2041962261677574f68d888c16eaea717d5201b1f4d79eedc9103b7bd4265c25c5ed2f1b816cf06a6b907d095bc9da299a370c9e26f4ccdc07aa225f310ade94cafb2fab27c95411674378fa4ebaf83bd24dcf29f89315b60514cf2611f501569d85d233a2d62222e14a76817c610aa8d77678498a4b5c3c2b4b694f0e32ceee56193db514d2fb089806ca805d848444ee99ad16f40648d500c88ac0a8bb4eedb63b7035243d4a66165b51ae9f640c74853271b6ed63c0627b09a8e3129603b033d46ab7a7dc17af44590fc306759caab8fe53712d38edf71c4541e7a9a9d64ea1239e73f36df62ff508ebf7743bbbe5fcc12b9246bc8bcb6c921e7dd185da03655dee021e5eb1d8b82879e07b1a012310756f4e7784e56aa90f0be9cf3b843996646d9100bdf2bc6ff79033eff2ca68ac753fa64d30baf07f4827ac4e0d7785f00ad65c52dddd0c4972917342af2fc98fcfdcea004f80f781d32456135732533f736ac3499d1f469b216684c56770ea2f109912f07033be20829b597f561375b830961c4375778edc7a79804838fb7c12fe58ef96cb39bf6e0e9dc3cdb1092a544ad1c8e72f6887451d6ac68c9a137e8e227a32315c0e46677ffda45547c805d2413d726e80191c8b0e3fe0bf681ee37c9dcef4d0608b92c374f9aa1003bfe215dca37908a60db85908232865f2dd474d4e7c65caa073c7b2b733330811434f38f806e5bdbc0cc4c7f844f7f35797967c45f3287395d03f31a96eff2d1ab5aca5f69182688fede6a78c987d7866aab465b0c749f2e1ca9e424d13e8e54bbf9bfe3daf74840098ab54674b8747787b50adc2b77677ac9c58687d4be302fc0387ff2eb533f5ad28691bc956395016d3700a265e58fc828e647c205a7c187dbeb1113fcead7318c1cee21934c95b720c38808aed900406d52a6ba8819a36a2d754627774744403fb73c0372d198f0ad56239c6b35aa884f9d46efba2543188a98aee9826ae9b5d315c8b694c35c1a697d8ef42c3fb341aa59ab76bca5cb10046bbbdd737f2cb4ad819843b02eec63e32113b51d9767a8a9a855273a6836155eb4a45d59efe218b3cdc679642f54113d00a8fc279491112e284cf26dc257b228374bc302565a14486afbd6d62b026986abbf43069b24af952180595dd0d22fe98d8c92ff532871fc75f06c38cff852a52046e12fffa26b1f0c52da4d654b7fb38dbcf15634f2831cb92b5ab8690c31c57b39d2791df450bd9b2e374ec64066edc69b1ef2375d406f9bd12ef06337a65dd46f5dfd79cccdd25fa0c33a3f35b1e26547ad90f03397fabb75e1e475ea8ec01afc1ec23c2ede59193a64373be4007edac572e9c81ff89043d13e149a54e997de4a4b76c0c4e5f50a4d3f31c4e156516408680d1ce1f040ff876a49edca17ec02bde27e62902d30339d23390f583fdee2cbe101d1c52c039196244178dbc984705acaab293f22f17b5b9976caaa73bcc8f8ba9a508365b30f16b87c7124110f0e462ab5be558de7f65e3de16796aa8af2779934423c2d4b2c5e855e7d1d8a4016a5a8c1c760a5a75066e3c8379f470cccb2ce722583d0aff8eba131f5aae10e27e248f133002ea7985ce685bca5e9d4a2606085ac13553acdbfdb895f8e527a1ead278deb31afb742516199b547baecef44fab916f1a979dc98b536d66019ca6cebc3d0852f851fd1652989516f80280728631d9697db2c788b97f6722760ad94631fe496eff4556d1ccacf76cd2e7cc0d317e2269753d914f44ff1ddbc392f1ca00d987d9b7132f8d62401f86db62a2df7ad32f46898963e9afebd3f68308b22700395080d973d4eb72ba1c3e9a322047c1b7654d76055583616a3fb9a1a92b99cfb8f6449a77e587981363d3fd48e23c4186bb5cbae1792369dcbe1a054b5abd94bae27a6c86266e669321776837e808c606d8cafd75264e88ff637e192958de68ade74dc294dc02af9ff3ceeb0b17016d6b08e10c1023a1c597cc13f1b0190340c6fac22ef11399472ed2421d924a3ac27c021006e65c30381dacf1843b5c0bee82fbb23f3b37709ecb5ff3cdd98e966d73b45105c2c9cb24a77488b2f2c0434dc8d081c562dbcf84afa7b02485418fa3c6c3ee0119d3cfe4f5e3f96c3f0ac5546415cf9d58f4d1bf51e6527065a423feb584fede6bab34c0628051d206a0e5f48d506c51c62e36d5f680b6a626f1ae9e0d997b49b652693aff9203f0aa9f2104418a26538fb4d0a018541e2f66ad37a6671d4d3cdd45a58f1128a7a49e29c089bf6d25f7eb8f5f4af0074506cbbbb9a7e20e2d2e1ab59c6cb41dcc2f6df7cbfc2237c808f6e904ef0a03ec1048f445f9202d175e018f77c3618a7a9d9a6ca33454da0e4d074e7954b60d0e19a230e0782a05aa8682a7322d302a377650d56f5e0994273b0e6fe2438450b88b51d7d8fd844d514bf573319add272ada911707ee1fb1e9e8bd85506dc999494ec21946903388ab544e408e98506ac971a2d96860dd30fee5696a65354b727866baa4cd514719bf40679c05bf753da6465a33bbc691cd59331bef2482ee6d332b3b6cb1784002791391b510a299bc2f188645385f26e7d87635c852b5fbb9cca87102a5cbdb41bc6762d746ea891b75502e3929287b5fd52048658d4fabdb0950b5c729abfa0fcffb040676e7abb6144a1de76566b0c64c2e7dc88caab9518889bc9e1929e0ef91059d2c543ea1d8f438ebfa3196ed6d5c746ba9372184b6681818020cbd0d30a283f35927d33d99a2cd392c7290e26f4b905f5f07f65d3972933768050b7a1ef8637c9a0e59e024ab9008ce4bac41aa44481c7b4228937fc1e9deb523016a8cca8634516498118070100caefcd94645b3de198fa3e89cba433d8f4a3293ce17dd8276f0357c6b51542fc7e69b2412650816343d759790cdd1ec8213186f46e86835ba84659ca09f89ebdd4ca4b7cae7bdfd04b67137050009c6233c97feb7960b1f3646bff1ec4ae1082593f3646f0ea830e236669c4c3bcc33313e9e3777b025373f53d361025218b07a0446e24fd13de7ee80851caca2419418dd95817b7beac6d638e3b5edbd95fb065732785adbb0d68c299d951c12455e5c4ca95f21d120e3347e7c003f8d0b8e40bbb62c341b5aad0abf2e4f0a920d98922b94d2f3a00bacfbe6f5473c8b665f99219ad92c418572460587ddb45bd51453b855a0286eb2430a7006972cb9f0efc0be0098728fa906ef9a971a776cc50a758d110f1ae50af513f12d0b99f7b7c5192d0b17d0aefd5bed9c00524be078778a4074ee77def0749c992c41e4a02b6c1f2b881ea682a3ea565e5ac0e0661a8b9c2393d1ffa42103e3f34d3e5c42f5add80eb1318158aa00822a63e29f3d9503d5b9f7ee9f3f53f02e9ca3ee9c92e2e99e7e701922a2a7b4cff970d34045ab56bed489a9589493ebed42bcb571f98b5bf7b099f8bd2ed0b00101926534794019af4b59dce55ba1d0e2f248ff6003550a7b65e476799de2f2b90f9fbc9cf7eb1fe356038fbc71e1137d4b359fed1b15abd87f23c6706726ae1e843d692b56afdc3c7f1f43b5daa4d0418f9c95a4a19650ac24f436ee86cbf35f0c1fab085f811f67a4c75281701fe107f1dfbd286f67942c72a24b92fa5fc4e796cf23efea9b35e5cc5a2159ff79cd43117043a3651b1824887102a63c7789e0801b7a50d21bc2036e84b516fa8421f3ccd500a1f90100619feeee52e5c478d30ed69d800e7bd364419ddb593707dd202efd389b787e3a2ed1faef1008077ff9170fded58925844f0b7b704f919e9e81576eba85eeaa05f7a553b682bf4f03d05346cdeb66c36ef4933490d8c704b9567f15e1af923790b79d21aca758e3c105ec74cb74f8e953864df35d5b42b002ce9c3fe31d78207c5e9777f73a9d0b679aaee232217b6738a1fc40cb1a99d177244dd06547ee330f8ac40b85899bf5cd5a3846b8e018a97d9a0611ecf92bc81eb28c7df280717a415bd14caa3044d6fb283c5ffeea532e1b778fe1bc8d44ea8547b25101068f84f277000a1e391b2ebee45ac25370c8c9e7e08bf0cfc8866402c8adaf1658b72208ea638cdf4deb864a93c33011cfee45b141fbecd2b15445ede672c0f91e943c2a4d4ffce902ffd0c0e9dbe42f1fb535d452804b636efc4c42fa5af33ba9508aa47f63c2b52d25a54a367e1316f26d7db2ea6d80eaea9e380e2fe0398c50e36a84ffd4c2c49ac774156ad6a09b721a8bfbb390e9a702260f9d41ff7c7aafb2b6cbe3279da7e3b748ba1a2e4378e47690448bea21fbd8289419aefbbf496925eb28b814c678d91f6eeaa812e76f63edf3f716073d5766a9a5a311fb6b6dd24fac58a9d19464aafc27499ba3e6e371af0fbb212faa375b4d45612ec1741797b9b3bded0840fae1e77acd367f71ae320b45e58b7f07d19c831c2926143d135ded2ac9fd2a5e1513e042f26fcf4d35049d2d95503987525051c7133fc5215a6f571de34e4a9979ae94b4e27793299eda77d2e227fbb0abfeddc83309296774bde114fed31f8d424b59e8250611047d771dd1562482df35c2b6ca4e5d99c773be19cf13d4b1865a7f03335dbe3d399e5c055bf7d3decb962fab05992781e5722b766ad0d021519c19aed66fc92c26133c3736dbc90233897d18a847c942e13d41519810563991aa4df5f9d4e8624ab5cd8883e16b026d0f4c03b5f674e93a3f20efc6a8ea14d6076ab89d6fb8f50b4a2a13efd372cb9d0b1834a19e4de2e4dd515d4b5fed016d89a1cecf0eef59edf1bc34a083dd40355f01a152dcadafc9e0610ba931d13963c6bed3a8e2a74a9b98c311c0ff17cb655838d1de32302e2fa7b62d7ea41571d80585c5a75e87b137a376a330a86a1fe42bf9ad699da163c616b7eb06d15e4afe3b9a57f72fb2baeeddaff118c2f64fda141cd94c81a64fb4416eadc32e55e54a5e391fd9203ae1f2d349d584ece9f5a845b74396213165f4c9c484216769d4ee1d5c92a9deec02f8235e58d68aad0608674272cefb11f898a8c8aa5015a4857fb8884c212ccfb970ee7aefbc48dffbf1cb2c2ce2dcdddd9f5fecf59101331db8d2a83cfc06a83200c5f6c1f83cfd4a1227d7da1955f3dd5c209267b4cd7c07c75a678cd2abdf88e19858fc894f027db9d0611fc60d25035a7c35f0bf529208b6b6ce3bad3112d9d00188c8bd8061ee58192c9e3ee72a8fe675553e3c1da0be69b1b4b33aaf6e86717c44a406cff142b8b02ad62a8447b73ba85e6015e71aa5630a7ac0032d0a2aab314f78b280e98bab483fcf138451a288587c9b2b170eb5bed26ff04354eced0a7fc963e1f72a07c3b02a5f45f65d30ab0a1b8a7592c33a37dab3471324a72a7f9465d7be1f87e3c50b56fdad2a15701b808237bc83ba3221b86c5660e3c60bc33507bd9b19003139152a25de166f7b3a38eb6068c55d2b3c8e705e4c39cec6a50431dd0781e126172a7f23055f270ceb078fb2d91ba335e965f91059e90f43c1fffc8c27542cae579a923111d81cfdfae10b92a1b0ed14353573e9741e9be0a201e55cb944ff27fd09d6b7b84c141acd1ea3b121fc9f8dbcc7ab3b89178602168d9598001ca83ff4b92801f4c2cfdd841da52a855125695b819305e4a97abacdc78d8d4199e1512a8c5fdc505fd816d8eb1bd5471b6edf6d1ffeaf7efa77bfa7c9ec785fb4461e046e98325e6578c750d9c739e38ffe8b11ce37e5c112c9545de2b0bda7b2839a3988f02c9d45453509d5934714e65b040b6d380490700735056e6e3179756ac71f437625bd3b902b58d158613a787e56e93e674872c6867944dd32d1a870b6e7b34c46725f526d0129a0f116dd670e7f8b4dd144ffddf07a201234b83651adb8e4dc7e17d57d52d574d71bdfb435a1f22bca095beae2e6ebfcf48b20c52d16c55dc580d3544928ebc8bbfe02c324166b7c30cdfa37a4599940031e6bd7720c0a84605033fa00f02665554555f47b213fdf99955ca054ff5a6a890d5ab6fa8136ca1cb7e25a1f6de2ac21b9736460767cafa578fa76999fc3421bf2641c90d77aa7e4039ceae62322273d404d330dfa7af8b1f041e22dfd4b7aa89472a2ed1accd9e7fd8d704eba9418643610f6d71cf408813134d411f0c4c88076ec1704e602614aab391caf43c6325904fbcb5d4263823ea038eb7df6e45cbb037e1378157be35693a0db37ecbb63a9409eb6841892479f3aa02b7469396e4974cec51d5610490d7f140394713803e253cb0e34cd41de09152728fdc924017ba93184cac351ee25440ea56768d01c8c1982a57b233dbd3e24e2fb411a4e48a586178fca807eca94a9a5b66633c0a4dcc64768d780c964acb10a4a581bb5587fab45a74bc6ae0b6f68b6ee75c716abf4ccee81269934838497f28515774853f7f3e61e7bad8e382d683a17a5dd0cf4c1a633db177625ec04acc60dbe39217449ef7653247f19fd4cf6d39bf84712c69d5ef428f93778fc81ead2845d750a302d0ec35d2aad92e6005fa93c0815dfd7b2e5642379a2b4b883a39f06ce5f7c6c33bf295044a5cd4aec844af77914d79709f521b760ce0b15c0fd9aface715e0dc7d5c9815126e88f2693c32258c88caf4218314d7b23d51a7cee117dca4ce0cc3daa0a68c74d7465773e0499210da9f1366a555873f76dd7c72416454fff5cc01c14ba38e956cd1daf34417dd6d5d3392fbc9816ba0e1111bda87c7e1cf862d1bcae0de93e6b48c8e47325398d056e16f7e3bfc0d608c15bf582d8d1f017da69fd7fbc951c70c333eb12be53937f86ab011469c13b0ba92b8f2d505dd2a36651612e7b516c15a1afc44da94427d47e60d25cda65be9da750f066ca7c13cf61749d737c17d499aa1a817a364141a853ba57a053fbfdb1d47a37c3899cd1fcc8ec0f339a72c03ce486a3105eccd0813679472c05aa4652f4e530760ad67b8c0cffc6953604f1c14c210d289fd20fb4548ef5da575ddf0e461b7f80c1faffcfc23c99cd49db8943dfaed2335d38ff9cc991255251c95658ae0c8027f22437eb69a8dea1bffe677c3aa3d8fe949f68c45c2f31b4ca3d78f4716e9bc6459337fc0d0e6c5ee3e8de06ed9d40fbdc7bdcc1fdb97d15e82f8306f250bad088d81375ff7beb5fb5b9e42ff5ff03c7f63f41d75b090b7e543e92dd32dbde38fd9673bf505e1c4c02cde778ef0ddae7d4d8566129153f9a45660ce526aa33e67dd040fd83e82a6f1bfde47321cfa49dadcfcf497d9e19c75a1c81c5f3834ef0c3bfcf2e9114f1e6eebf045c449e3f8cc433fb8fc3fd3a59f5fceac6429b76b0520903954552d83d43c8b07b298be5d4f0ddfeafe201f6796d60f37ef549ce691fd06bf34ebbd8524c284a70d4085e179c610ec7a29adbdbfb72281145b813097dfa6123c629a43da6cb1faf65d8a923a0f7478e35a3de3f285b4963c613cb091341efcf2268066221e832a09ef9b0df0e62c16ac94bb91f2131adde5b868227adccd08571522a78e6b65000922a47d9b12e565de2da312e2b8e8387ea284b7ba28acc75f3908a69676a865dc6474258a926bf03da7ec0bcc5436b6fcb527ec5f083730994337ccafa033fa2ab5b6ba6aac733c0b4a747c2e4a4123292b539a09f989d7b939cb8be50866c78a757d3a6c5ae72b59a2b8759630569e741cff5e96a304c60bece2ccdc19c19e8528983463f12590916b2615f73287d4eaa7571122510a75e6afbec8949e9a8abdf89501641d14b3ea5bfd71289e8c0cef759c8bd21ebe11e336286233fe4af1b6308a80e6d4e58886269e877f18d5635763ed9fbaa119df02c98ea2d73202fe4dc3e63935e565dc308770a9623ef7a18c213d0076cd502291f4d9f70f7ec923f3c252b4d3269ef9ed816f249bbf8b23a4b34920533fce39d158e323e7702c3a90558345f359bf1431f5054ca70b56c6756de4a07e40b9dc3ce58ac67b6884018688ba766a3080664cdb0fcb3894de98608ab86e4e61e1b59f5ad3017eaf6118d83a623f883575582709b5a099c8bc2152a03cf6450e30a0c7bbb61d4d9f1fe98035763a258c22e744771e49399c057c595cfe64606c50dcd9612cd519bea9d60c6ca6795c65021bb6695baebeeb47601ff2186a88e8eafb0b9c8e918af07c670a6b2337395b96c1fa23b94a57b49644e479469f1548d9ce6435b1db5b8cb95371ebd02b428b205c8b598aadd984f781c6478d5d53cd2affb6a6997ee8238b3d85fa1f2fb65c741f70a9cb904be31969d34a56a0fc26f9411e4652f942557e8e388dd53b22c5b7877260ce9584a9d8a5310ff90bc8f272f0240cfc1225dce15f6dffc6496da7bdb26f48d4a33898cdd4fa802ad4bff4ef2f9c1574cf4c8414f3c48dfebd78f7d5e5f5786dc02f153968b8c51a0dc6e4a140d768e205c06decdf0ceb8c00628feb9f025033db7c2e30f2b837086a41d58dbf0bd6783073161782cd982dc153e6ab0329555ab0b80c13329fa7e4922cd297dfddc59d183412c8a412cd1d6345f5690f5667db99156ee301daa050ed4fecb1f13668bdb5bade7edc4f8ac2c8f37a414cbf808b1474f441fb171a30ce5ba5889701c3ba17382849eb60b7d55374a8b7330d17b8cf81ca4e4633bc52966bf238918dbf8ee941cd35f6dc782218b62504a7b22d0aab45f15796d0e310c97f5f9d058fc8c6fa961fa3b936dd3262ec6c492eea2a350b9a211599c993c399aea194bc21c68289d21975506d754973a804a745254aaec6baaa2d426f4d6a62e6e560e4a28abfbe1c1c3c30de5533d9f4943dca6cb200178312352c96004f4e9cc18be4d5b66deac83aca3dd2508bda5c0446d95ff4acb2690eec60fae573457b57fb18386ebdb8b18f9723dfd920d1f4f7eb5236b7df3e1a48f252c5f1af72042f793e089f2fd543e3bde9be714af4b944fb7964eba3900ab5c5a734004f27f1294821d4b1606e890fa822687c80fec16c41406caf45f4a44bbac9c4daf859afe0bcee26b0c4973ff12444d8b3b8fdd245d54be1267bec5764a666e18d90f3aab7f7312a9aac81a9d7eb1c7d3e8b4b8c9fac4304de6d051c8188b5906266ddeeac66cfd27264bd2d36f5bb469ca8271b43164b48cb1b0817113cf8ce3a5ca86be74b0230c797bef81798c4ffcd741bea150deb49b16de639a6d92fcdb6ce0567bbd95fede8bce17ea8dc2c91a8461907beee210f943e2131aa0b2cbcda0679496d1ee751dc8fc2eaf3d46903a4eb80e18743dc61f0a679a292b3965825ecde6c255a694fb0a5fb933d96e037dfba57c3ee0d2fdf521b19da275ceb4f0fd8f254c8cefae875d2b009994274a9f62b6662a5eac443030e2d5d97becbfac8da6dbea399dfca254f0e004afe4db4a7ad18006dbb734051955e6a95a284b0bfd77d5284fac200fdbb54f570025c9165cfb6337db1e0bbaa44d6070c204d8f39ee4bb14b0b6d5dbd122a29cfccfecfc707bcd5ab1baa8d2fab88a87467178d273e8d9e0be26642ac549daa0b9b421d7a6b5729dd20242d5109fd63cd3119125ec8fc4e8f5eb2d8eca30fa44560018ca58471edc8b93415420037e489ba1f31a362b2982c8f7f0c76edc3f85fe7f401b8d111c5ead6f43b688941cc8c5dd7710761a904af1a6041df96676356e88c090f53c9f66c683f9d73a9498464eb666d441f28e41ccd3469818ab9bc4a0798e380c85b2ddd6e4a5c59bf3cf0b62833c996b76883fc3a1b59621e81bf48878e417a7b23d579be209fac464f2279ce76da41d3ccd38b8883c32cd617939c4c76f4bf120a9cfddaa2bd4fbe8e716dc48ac2dc53330a18903ddf9d47a8e32a5bbb6636ac0485d104587646ac85b35017a01121bf9743ba968949ef6cf83fe73d2862e518a81fe258f7c0d18ea7b70bde46b4e4ef519017cd4644cf04ed57021f99900d8064d2a94d63b9463718fbcad9deba377a7d14663ba2e7ea0cf2b827b784da16575893c97f6922bf23b0100aca5336aefc3abebabea7998d8bf44013fe409177822e25bc11241ee52d7568f05ac1b9041db7a89535a053f56ceb202e0dceeb539838674e29777aeec5a3612435179d1a6a2ac33677441d46e2daaaae1c9081b254e43e3be36213d693c6935bc90cde88e46245a166d9268c052cfb7ec6cf3bf3a06a41374479fb60fd3005aa3fc1ef4bdf0202643268d31cb5fc74d21d0aa841123b5738e78187204442f0dd659aa88c90f0bdc19b2681b732b085ce2e7af2fa0a18f9edc1c84744b894393599e3ac53ecf7f8db5811c99e510613ae47579c05463734ba860a221e3a18542ab907892764f143cfe6fde995c749e9924483735dd77d807a823d2df1da91e42dca6eb2ed866aeec52b440662c56a5830bc6bbb0e4a13960322901c3ea1247ac8cde8124d58403302c22068587595af356a43cafe664146e797570f91e82d763ed1830e902289e14253c9623cbbc420f334bf343fc172fb2d32e5c3db3372a939eac4e3b68b69ede43e56efd9fdf42749ab5bb4d27aaa079143ecc34c8ba623123e9e509a8ddbd23f55df55200152304120a7978a9da9ff5d9ac75799c3fcf0d85ec34427e976a4c54d31854dc318ab23bd02422a591908d990eadd8211b7cecfa7610aab920d8ba16082938f9794fd051249fe190511901407fd3bca173643073785cf01ddbd181b30b49b19efb39c05859a1a1912a228c19338d71d428aeb9815ec70b481ccef58a35b2c7d1b7daeae1ddf3b1a1a4b5fd5c3934396fb262bad106b7bf83a36d422d8efedbe45a901cc7e2784d84bd19f98fd41a07552e85c400d6c69aaaeca2b530b395e093f97262bb68c7ffdf07abddaf1c3ea890f58a7e1b902d0efce3ec3f8363ba3e0be71e14c4d7acc3eb9d5c322d6713cb037aef4302c0854696e5ba31568381d68afb28a870725b41d8617fdbf3bc025c931250f25e4573c06e3e2289dd0b02f2aa93e696ae25965b458f520731d52fe23879f724657f026dec25737cc1e4907fae3519433cbce28f1112bd81d2b08fea92f099f744d8f31db730f93c23f7513a533d8e45f0a684231ff4f0ce4c73a77b6c709112624d6da3d94a615f4127240cf3785e5f936e91ceca0c511b90487cfb91db2869fd26f1df589bc6eeab028190c2ddd00be48b46708b154124f0d004b56f205e640255c2c7b66636e2245990d5a7e1ad166454ef1564a49d83c0671d070c8a50b667ae9ebefcbb08a4f9d977ac74a7d9f93276d91261947fd318adfa715a7e411fb43e427012cffd93bca7e556af749e157f95e46bc86ddafaac2671930903da800c9296994792d392d4974969a36b2dd4b31c189bfcad6986115bb02714b078ef947888f712fc4972b4bbf558a61920c65616e60f91e0d3cbf09cf6932807bcf67d8440da32706cca29e4cb119b2c02d7c6ea8b7702ab512a464748a18356238b13aa3900f8435c385f2f553a66d21a61cbc0e7b59c93439d908bf5674e8c3375e5a51e3c28d323968b3ba6231771c6a1ba48fbe8d183bc6fbb84ec272e555eeac7f1485c57d9d249563ef346880bd1b838d95271a79d5091f241ed38f09f929bf218a88c8b622cd3f9bd483808b0a7d9ef5fcdca9aecf770d7e263c97c0550ad2fa42f46e5451f60413cebd6495d70fcd5589ef5f3e510a1b21d60c4c06a30b6d3b63f5079f6c56a1f69152e471099a212f6288358ea40c9e9d2bc00319507727d617baa6ab41e5e151ee1a9f801d00f201272abb73cde9a41e1a8d22cecdf4c08082e61282e1922553f5c3aa929f35cba2c70265bc9e44e828206fbcd7a89b155e36aaf8e585e691b0adba3a822005ad433bcfc73100c018a7836885719778bee38edf2eeaca939a8599e502bee34f454f02ab6e72b9a7a7e1244191a24b8931237a74e6d9b5a854b6c110378ff0d1e6569459fa27ee31977a650810d2935baaad8022a9d072995c8f621921177c977a122a75ae8d5e03f745235a698015eab44bb8db7b9b3746453e58e115c3dd255c3e0c099eaf396b5a2b2982f8b3cc8cc2b1192cbf98cb6f0809d068b82891c41ec814254bcfe1256b6de83ff2727e542b39e18e15d944d8e13d05c70a8fda0a3c765980ffd1fcc621a84d6e74a0dfbf4838de11b551f83608a01450741ea5e3e33c2c1e2e3ea470288cc55e74457bea50cc41c41cf3d5b72caa88854d2c3b727a871a013cf7ef610d2f6b2466a81f0519bae6e9c1ddbda6478685c0aab5f2321c730d07b342c41eb58ea50e7f90227b9ed1a9a7945514ca1496f34ce9ed74a74c28c9e496ace730a15322a32eaa14b076810589c8175fa45721b08511e1f4ef28c37bbb659971adef8e08101216a1cc0917044b396bbd77673dfdb55f89770d2b17ad4cef1d8414fc5d81e1e219e61a0a9633e842d2453d750142529298f5a2d2c05c71d997acdbc55563cb844477a4ca5c89e5a0b823cdb4fb01c3f95115d1b5ff5ab9e3f0dc0ddf467af81cce13549fb33be4c6e77e733ec93f72b1c8cea2b1c85ce6f42901a646904cf8ffb155d9464dbb33804b0e4da6ff954c42f69b1517f2308aec7a0dc4cff300764449a074f9b92064388babfcccf050ad968f6d7d5722d071d1a2227025d5a963ecf2cd63ef6de6f9d4518bcbfcff92878cfd702cd51c57ad81b7f94c65764834c03bb591ef12f485c409627ebeae99a7d26576a91e85636ddeb08cd6e4f6110ea116f3e852824346add3479a233f548464502cdd16684ed6d3e0a0b0b7f968138d072ad255e8407fcb839e4d145b6842fefddc0925027edf7b20b04661e82f4d5bd36ef9a7abeb2aea9b6dd50ca66bbbe386d8f1694ad69a2997084f9b73fe4226882c05d3c974847c6b05c0ba58967a23cc34f0ec1aa2cd8dd996c843914c602206bd04c38b41b57065d786574b585e55c35f4f16c72feed07744a9a2407450ae463805f233aa75090d1fb4a67628ed627e36159cf24a19684712b3a61d3dce154ea4905d5d070dc828db248abe3b936f8dc78ce9402ecfa44cb0b27355a964c8c19864a713ea10cd58041eec3dbd3f9f750bc4a4f440d4d0a47639b2b7b487058e47dce491082730958ebb8f77a61708bc13b854e01a85ec9ed3b2d9504c1423bdb3ff97814765084168d0cff90374103f808b6b9f70b4b37b99caa8a0b3cd9a33a28202ae1f02f87c3a64c19ec4ff1939293c7aa338dc9481963d76f22eee0069901c502019a2a9f83b9da5d3625a3c2d6f309a6ee076bcdaee2903f5114b8ad62aa7de92ca20d07388831285b9c33d2802bd068fab5957b86cd43200ca0540527ea149e558f1aa0df609b5d778ebfd39b1e4eef8affff3adf9617e4aee6ff7d0a3ed0eba65568b00e122a86df76cf28178940df4b39ef7621e14968ef0fec881903cd21760bf72075011980aa7d0a9fc724efba403608ea7ae6594acaac7bb2003cf6005a7ac68f952e5af146164497ba7566b7dc618ab70e8841cc6d470fd4190a18ca9559bc38a5e2de530c3ff9af75f8a39c80f09d950df42281aeaef699a7ba9ab22db6e97b04a9e5492122757d9c0ea47ee3484477ae1b072ad6fb811428ae9d323b81a71eba617534735e845d875326e9ed47f4688be494a2d750e39239290c50fa6b196c85cfcc9efb3cce39e86922ef2743648d59342b2839847f7cf897f380ec363ab1b7e2960e5435e30316b86d92254210c0dcdbcdcc472135d5dd06ce66c10e8536f9c0b53fada4fbd63eaf6dc176b762b34ce37f91dd084b8714d2c027badfc6656d942f280661449eb7abac819d9715e8165f6b459fb68755658464c86b47019d3262fe7c0cea5688e9ccb4f289b3c1133201113e86c485a085fd6ed5282cdb5e3e7753b8d311fa88c0013b1593ce2b986afd5ea451dc6b24a1e739c2d8213bdd59a05527d856a507799404cdb98214a41c6bce172e349e4190287f58aa5ef8a42d98f026030cdb6b504f49acba366a43001ec086c532f89754570c6db9c7a9b6c5291cf3c5dcee65331d29692c1dec1a4f7473b18cb6ba18507572ebb78197e182df20bfe07a0c4a70b3b6d4f1599a0d784e30bf2ca0e9a921beccc83939a64c1d1a1b59a72f9cf7e9f2d6ee2e9f92510081b068aaa6de8624932bff530c1088e4e5a5d7175f0eead1ae609e563f773eab27f24a7c502414ea012c08d9960a27263d3fee573420eeefff40e572859001eb0595ee318c1da1613cd1a71847db3c6d9d88841f43124b596450f0397a68e35045805410327a89cccd2c17b244c6db1d21b45a9c98d7c4fc74f739118596982edd2a57b96d3abcfb5abea04d47839632fff878cc542dd9ed10e9f61a804bd5c3f4c5ca7a5ab89026850325affa8d6d9c6eea5f71af6ea0354cca22a07edf990e9132fa3d90f8d605ece487f78f0f10515513ffa28ca7bb9e777a7e926ed44317644d1420c00576aa1b23649e9f45d5b09310ce1bc712648551749941991b3a40519d6df85553ac9ec15274d808aa0577513e168e9cfbd4bc834344ea2eba9a413a9c33ee931e44e140057806b4d3355c55bb6f4c21b9f6a2ed51c16449c735c87bb9326b1363635f78d9b0d0ea5a272a34728bf274829a14896c9c05fdb201fbb91251866ce5668cb9240f50200351788e56d6ceba5e2e39dd1e2f593af156006f9cb37fa6c37e81a9e8c358d9c9be1dcc5bdb48814c0a135cbbfb19f5f1862e17a3748212b982cd3015bdba4ad0e1e0ca69239709e42469b20db6598b71411e60d0d7f54dd254172e254a37532010590c719c574045f854d59759f43f99e7d83b1c5011569b570bda43f2d9917a764f8deaafbf671dfd6fa57a389ffe37ddb377fd6b7c833415f127d6c56a142bcdfe5649d4f8e72c67a3b42a6619d7300a1156c69446f0231908be5217aadbc092344884cd2d4bed7840728af3478ef5da77877a72daa2901ca1ce28be50a5818b1a8bc03f3771f1b4a63f3af85c409148d8338c8a266692a593a35f7c0357c0ea8ff5c2dd802619dbb0ebfd85069bc27327d054ac9f5f74c11b8e4b313796da686a1a0bd32164424a7fcae8b77cb5fdea8e35c4d965e415ea2f7db91035478a3311cdd5947f7b2339afe91b69a06ef8280659b022f6215d27e330dd653741d7eeabd65e005670bb8f5e252e78de9ce0230ae318112a1a6140d071db3bfa91c9fa56c259cf120945c82244aa6ff8805be9d4b73eac548149f50890b00c14930b28e7da63fdf33fb73196f77a6f818fcdd466e2f6393be8d4a4d85a4176a868964ce64942391bcd146dfdc5d73e6993cc6d6c6e304d4255f83151968db423bc43aa695b1e1bc17b0363a5e9ce388bf8e33494ad4e3ed4850faa4a0b399602be5f49a026227637a9d290499672eb37bbab16dad8c418d882badbc4c6d549ae7971b2ed503160fc115dc8ab268bd59016ca49d38debe077777c493ef561faf92db30f9dc576ec26ef5fe41639cf9dae06afaa1fa6dccce0bc4a0951d89abd152ad4542d57678fff0927e2718cdefcab2535cce49135407a532181f10d86fe119dfde3fd80cba4b9b0112545193fc8676957c6315111c5be95ce4ac6367f63fc05f6d092be4027376936e1b965fe710e7937738b9aff70b68192b521af8ca763b1e5ed28a648f06b5b5dcfdae63490c5581b226b89b4c5c00fef94e9e34d31854d7de54971657c545f10aca2f111c4b0f8c6306b63cd8b05ccab2b351489c7269c3b01ef1340c698a05fd276824c91feed2f3130d6e69a228e97e99555ba68183f469d0be9c0213b39335753fa4ec52596c37009abfe82f42ba8cd96b7eaf3b662dc866b79d94982ca99d53821a50e2a8c9d209a857868cb2a23d40de9fc9c8d12772a2fc67d4d287c3572e410d782af54ee8fd4512cea9da3d0a1a35f9deff9ffb65efeb7e38432d7ba495eeb047ee0d300f5104ab922bcef2d77091f2bc1e4b16bcd9be5f14db6205b87a25d3326afa280404c1c1b47ff04a246cd6f50343fee99b9a77837ebc809d25dec72cc832f9c23765e1cc6b7cb7588d17df03a7159d0092e47b1f5e5b925106b0b64d20f38a99d11a4c98bffd2b8793bc3085b95220dd33c50340967d62ab28e1480a8c61ad8cd6d49a8b5a1cc65f26bebdf59ebe16f0bbff64a708f4faa015df93a905de062adc6ba65d5ab880a7c095211e2e089647db0233a8b0206054554a52b04252fba4aae7f3ce43f60958911dcd23f3c4b201723c2df47d60586884c565214acd6a7c69da8d207ab88882aeec4db414b8807f775a9e8365489fb3918837f510c524a3c0215fc2b364a750dfb005868789b0fb08be307fbb57e397a3f48d911f1ef6c2c73a263751a3a8a9b27cf014df408eef93d139dea7b2faac4491b22c8d3003da2852f2ed54d1f44f5031fe567e627be21d58d38f16f151ca9aed5540ec830f116343f263d6c900bc04edc9f2af40a264c464d7bfb5b252a422e5b10cafcb551126243bb15d7dd09d94f279431a2d5f4bdc33ebe8422852ab01d2d3131b4c67628d46d4aaa3a5f007e913e41fae5236ca89d059cba1f4a4954d44fefd5bc7e7088a270f9fe73c3e19c2fb582438a5b39bff8b96051ef46e4ebf88820217d97597c57e1b5c91aee3316fb59cbccbe2dcdd22d90e4a2a516baadc52f9e1ce90d2a3c9f0e9567919cb6a086fe2282a404708c8d77f6543a790d190c0bc879762ae6e67350a5537f1e3f5629ba9c2f680cdb93387204fb98d3d4f7ce42fe2dbb6f36f3ddb55b634d3f01579219e615b138e3811800ec5ec8f2a99ef6caf3d43d098de4b88105b6c2e9201d770c7a24c33b86d807bef55aae2ed42223eaab6b71f8a63f60c59cabdb7865c513923704d1e40699d8cec41ab9d41e2258c52d0c3ec906c4e058249434f1c263179b5a530f0a297d2f8515039f94fd2c43ea1d039e573ae650df50a45f9b2448e54a8201ea4e158a25f383308619e2787d6fe76bd178a065d81b566150f156a550becb2c4da66492faebc81c19ceab932a28a59e7a77b16661849c08790d84cff978862a18d505ba4b627caaf1a53b1a843d256ec04ff103baeced84a6aae795d78a8110f6a7a0c85df0a4c232b49b5f9f8dc4419df35cf78f1cf8e69d83257673c95d668664153db700b2c0e434f39eb7b8aef321f8d1cd6dcefeaa01adb87b06733700c499185dba1533c61ff829829ffa5c25a41381b7b79f0cd6938a560f0e3aab8c120d3bc480d35c5b8459d34064ffeb05ac3098fd8c959312342170e7437c1d7b11e496486351821f2086678fa2c341062c0db4a9885213619527431e4604c6babc603270441ea5103732bc6241deef50af8d98fe25abaa29e24992656056730e45ece608863d950321fef9b66a84f006b85751678e749adb04e067d413c2a595e2990af208a48e25977f5419723c502451b27461f2e5854bd6b6788496981d2a7e86bd8516ab73dfffeed689dcd42f36f1740c6d811a479fb7d77c7b2d1200681b9784642827c154fdd9f5d7d152600fc4fa9684334249b2de377e0ffe5df86019b156f16d169395671d63b5061591cb5a0fa570e61edb82db8d51db4c5d18d0987a19c280089d8959f3767d8f29c8b45511dd400ef1c3ee6f35c89f404a7a2fcbf7b653157deb4ee1bbb123fa7a22f812bb062cab70232a458c1a94c02799299d8d47cfc469592cf0131ed79202821bcdb1c6b5f34172ae85ba0ff71aacfb937a7500ea5957593a8768cdc6a222b623d616d78369d1ad659837807f38771ee6aa5bad6be80f88ec5e356ad3a947794ff9d1acee838e23190b90edd143476afa7a61470c29536790b9659c51e568f466aa447cbb5899065af02432a868654ed020d319315badd3d56e3c3a3b287a71f45d2a1e22b27839ec5699cd0dace5bbc86829c7de11cf8a74f25fa58363dbec913960b0aada090ed1437fae3591f585b05579502d87997b2166b761b52ca09fee7d75cdf3a9fae233de4779f44b56c4fbd4f045e1a23be00c5f2b97a8900020e0da370732da2c9e1f5fd0b745992600c43d9a4174d0c56fd625d99dc382d8c22605f41d099eb412ac2a548566cf605f018be516961fc4a6f40d732f71032ff205e42882441d1f62d2df67997376c76b2ae8397a27d3f39af4b6c8850e9d9e8a64dc81f11715dcb59c2e7302b15768ffad2b0f707fec199b75225a3ee6b5b16cd1237e314bc1e983f72b7720226c3a8589a1f28e1e0774b3faaa6fefcabd83a5094037a775b399487e32dad7836ca74528a6566c81ee57ea2c8abb6f5f44f59bbc7be688058c42d721da693428dd9f59c6d004095fd5188cd5bb6d6d3303d33dd5f9f2278b0097408025406809be92726481064306d811e2da93a4a2a0229af7ade5e13e92b0de400a97db4198073e749e49488a751ccf57916ab2911f00278e28fa9bb41bb187ec40b9dd65ee10c3dbfbfeea5af7d7ae165f4c7788a7894b104c625bef071eb6640044ec72833ca3f8ea25a2b1f7dd5f59d96b6200eaa5bbc75c81e8a0f915b33e74a0b50e2d0858eea432390ec3d5a262a73d1e6297e12967aae488b563ed319c56bb3719991661b52f1080298456a70359b760aeeba93c66bfcbfcc44cd5ace084616d21c13e0de5250ef9048523dca9768bf660863b46e0dece62d38da4c24f79d74428f86ca9d975e6c8512c8d8a0ac6025c2ee351d5fdef79a935a72d1c3ff549d6d8e2c4a4375a70b846c60d42782d6f2b67002620ea2af905e5d54a05515331c597550fbc3a38c161edeecefb543167e0851f453b0aef0e3ba863a8f9781007a3c38e7f40c06ac7591d0e1508622151ac339c980b6b738aa8eb842f870986c59bac77fce2254cfe1327ea187bbd9544444cacd86bc6e6f92a69e53b62233ddd98cfa5eaa4aed0394ee016274444fda9440329ca91a87cba215c3b87a6d453f02f6963e5f49555cc378da123928f3727a03626c6c3891ec204121f5b698f5623a7e73f72d5aaa5e97e13b3080e0180e69a0efafc2f8cea1df840fb9ebe06bfa59045531cce9b6c6d5e455008cc7dc7b9b788d58cdec61dccac6cfd039372ffeed0cdd8eb223977690d015e56053cf9362eb4acfdddf150b83786842afa9e6dd2c023a94283c5bb75330468aaab3fd974829f2af9e2682fefd4cefe011c77f7db57bfb9317c8c2ff0c13dc515010caf603231112045c0902461e3cb988a3f8ea30fecf88a8602fc55c0f5b60b89fec9af2a9568b7f361d6b09a6bea04cbc3835244fb9c1d58ea832735891592e54a592e73d1d6e3ca94c785ad94896dd983784dfb711fd8c592346925251a05a1d9c3c358230e24bd581bee33f71f6d8a2985df3a805474689ec05191aac3b58a36e122b1a020cd4b52106f929c84ae5baf0897ec5617ad712d519acac4216efdb89f80c0eea9f0df10232a609660ec1684008e9044a2e3f6fde42cd95a62fcda280f3d5945043342f6838e35c1647dd6422e29c8c775e945bf4081a4267552eb1c0aa6d066a4b349e58d82f3cea19082a0aeb6731c51a190e1a0ede8e2013eadd939d0b26b1546b03e0eec527161d4e7eb9f89e9fc62147ba6fd42ccab2b72232a124a7fb34581db82579470a5b14048d9bb71a947d5d3c4835fa9f2e2c39f991551aeb01de32526c59cc41c7664d2cdff0a69466b162f1393c18272f553f6403edfee3ba5b74405675ded0646c5315b2d8bbf96e6edcee96182c8a1d1e05f6bf6c94519caeffc4601dfaa3b56b787792c141b249082ff49ebd6afaf22c092f30d0bccdc8bb9d2c185d7baabf76733c688cd60d0a389c65e1e2c7feea1443f26796b4202f38ff7a81c80eca26f23215474c4836749592d4ea6cd72403c6d9792b7a093941ded539e232103fd232158a0b7522191f8d8b2004903f15940660cf3f881bd12aef521ff677424981e2c997a953860e994eec0cfd02a14f896d9d85e05d1d4816defeb2c4ec580f07d9c319feb8193321d713c3dca62a7609c0394807fc434a175bb22207a004339ed367f57ee37c9a91b10854c24ebf58c9c399c8426047a38464977a5b31b0f429db929843cc3a7403c25d31010fc985f0c1fd9547ff2288522483493a2748e2e4cc4d5e6b01e8b4f015a68df5bbd8e2692152c3925a78f12c65efff78ecd53d6b1532146dd136e5559aa02ed68419d0ca6ffd39527517e05181bea5e483a0ce1c08dd504b0762c9c72938f54f1fd6d2497b801e0e2354f8e10b3a6bb6ba5048d2d21c571089529fe3d686a6f6409832e62ad83b0b37dce51d7f3b65e67433f423a990c6dcc4cd603cb2bbffbfefc92ab5176539df4e3ea57902cb3eb382b96d677917c6272553a123992402a03170919434327093e5ddcd02a428ba5c1953bd0796eedc2b1fa6bd5573048bbf366adf509d1a39ea502ae1dafb8a6f88da4fcc7db9a951d9c27c117866121af05b5b9ab06a1c50347c47971258d1b4ed6f8a7e20f0575bedc6ca497c1588d0d2ec376fb9a0675e840d1c0a80a9cfbe4714e600a1d178b56398e071e4101923df24f68564885de8df51416040892acafd2214a596673a8c677041af4197fc7a1dc10dd1f05adb5ea446d861d4b0c0234c33381e748cabefe8e59c9cbbf39b5faab00e4c40361f9475b4b8d362979c8fcdfd16e7c01ff599d4b8cacddf44d096eb6902db15d6665ce1c9443e6f7bfb07792e4971517819e41164152aa91053694aad4dfe8f3dd244ead799687b89cee347ade4cb7ddd86bf5b13461d48295cd5cdf568ce42f24258ee15a290c3d7b5641d58fcbc004923241816bfcd99cda30d6a3616532f8ce3be6eec89f27c315f18c7a9073a21b8c3214f005e385c6a9d62e3b44495e9c7bb5f5c0fd5ddde781df0db4dd96ad5e046b5d588fdbe57be6fc085a31454dcf92f54f85f18243a2be55eb063ab2f93878741bd591d3cb9b0e10fc567be03a3e1e066ccddd36180b279e553e59b73e7d6f15bb7a0ad8a241ebc278d01005c98425c1a36e8e9ec47feca5602c7bbc4249be8ba69c4fc3bbb784146e195f07ccafb4ea1809f912f2261cf35bacd358325b0be0d0cb2f2565bd6426ad9a854956e5cfeb7f768116f5723ca4bd8a5c88b2fa97569f15433683873861d95a1f74bc754dcb238a61109d7574ca6695dcf0fc6822cf5f0ce3179993ec3304f262f84e4fe1983a59536600f4c2e2ce5ef4c22ea90fda12a47a428fe0f655ef3f76baa1b2cf452e044984ecf49c30644fdc2f9d7686d9ca67e1ef2195cdd6b26535fefaf2ea0969619d50d3ed0d56f99c33dd65975a09b13fc798dc33b0d6799acd8bd28efe972680271b302652fffebd16cef077aaa6b0a85bb5a00a1b235e32995a62f528fa93c765ad351476b73ddc4ecbd54b496ef85738246bdc050fab22a8d73b4b671f687bb5ad302631fabc00d8f676382a45726fe656d93145a270361e1e7d6c76c7c8302e8d87015cff582aa173e3fa898a22fb6013905df0610f4997586c71ef69e0bdec04a1542a6a63647ac7364eb499f79d402d9f8f1bb1d5e6763b5388285fae3836f47fc68c1328cc3c2f4b14151e29468b7bee9da8a5680b8744a6560813a43408b4b9d4a409e752684d855e6d2779d97a0880d6ee72c8b27d14ccb9c5609172d8bbdb8b948dedb6c71a6d822f7c080840da2828bef00d3b1b90fa0b7d5a76eb2cf1d0ba71325f35791fd270e3c9683d457b820b8d0018097b2a592f299e77bf2160b81e963360683ab6ad08a24f3aa90ea1a682f7f0f1eadf34a4e4c708ce9e48d75304bac409cd84acf14ffbd5c8ca031a8f9199aca4b84f9975dafb03456fecfaee8be96a6ca5001e21bcf13d1aefaa5f78e52bfe42b28b3e3ee741ca68742bc6e1a0d76987676c9407411dea96e9d4ad1be17e4476d243f8a6a6f60268c43f30cc39362124d2fa2413adad7a95a9d97bee2e5927b549217175990518c5878e19c532e4e959cd16e8ebc6cf8499b6ea59be96266f84e0b0b1f0d8a102bcdda58937e21537c92f7b989a1cdb1d2fae324428392e8de2fc4bc5988d1b9125140d6889ff46729ae5fd1392ec991d9fe35ea615de786bbe04c7a32b4f3cb1ae243890a26f1161c9d9a9df66e7390fd1b754f313f7f543a400a7115941b0a925db44f0faa42478d9b3da31846d06a245dc9386e70f6cf2dd33308c356ee4356facc438b532a579566970b390bcb49bb7f62ba9029b92d2299d2f4861bf156903ef1696e45786bd96e4e9eb277a391ba21f0adb44b14c6ebe6bf60d48b0edc8127fabaea8d94f9865152f7f512ea4f556f78598cf975dbe00f65c60f478954594235a4b3ed66ab5ed355673eb2ecdb49b8995a2d8aa7840ebed9d420d8a16af9547b5cc44d89579922b96b166deb244b2d9210b1273f43ef180bfd7669502d1a84eab25ddf8bbe73cf5b38cd593ce10412fb86dc9a56c6b910da40ae0305d80c6f7871a87096f838c02821b3ddbfb5ee99ba3b21582ac31d6f5bfa1c55201a9899aa5a8befed154427aeebc9c4c9bd63006b4b827d6141213d677dc6c135c59aa3201b4e084eeee904626dd4fd4c83bee5cd90c756992f406e0015c5bdfb99d9b24a0336b9be0f4a2d1112bd385eb50a76370a2ec9ddbf1eb78cb3f7f39c416f31faa60c265a0ec52bc3b2feea52ebc7d0e62774f652c77097c2d4eab2842eed8d57314e267312f48bc777bf647f7ff920f89945e71e2f792954714ce11b12f13789fc1e4be07a10f6cd1ce82624dcedb6775ed18bf15b179c1df728ee1c0cbdf4defc7d24effbe166cfaeea8965885355453f3af59b6c35ce08a21f2b0c3e3289bee0ee6b6199c54e171a560bd4d96c76c230cb73e9ed7afb639c5825cdaa2f7e9318ffbf2e395ae1b83b37ca9c43065437213eb33ce39bb90f06303854d3dc48c8960c550a235a7164eb427246b2688cb32d2300b7e8f5d955004c1b391111bce5bdd9ddffdfbcb6532da9de6153dc617a341cb75f661f621eb5400c77703ad37652f2df0a30230bfcd0f166fe7c66895425acefbcd65ea80f540e2a8300aa52d57601db4a7efd3c32067018a72875f47e4ab07767e51c7ae2dbadd7c6c7d564301fc20b4c09b69095d36edc719ab9bd8cfa37748d0b73f044fb39f98073f029ef31da014d97f2ad4fce273a99abf235c357b6c834f26f2124565148d3e6105cf311f75b116dce6f4b02df84b856c23a2f729e9849fc3424141c0f4053b783b862594869f39a91cc32f1f3e1cd4f448c8c14b3ff86de9f28d9776e27077ff0b08c2193827ae30c5a1b50738b4638001302cf23e9b3a2a49c88f6916fca3eae61d2673a37b3df4c98671af195239086bb5b7de568d37f47e104b4d025340f54e8ff8feca0a5b24a1ba4044b97fae995ed3ba52e88e709d382e1ade18a07bad7205c3d318bc379c8b049bcae28f38851b5fafd5591430e8fef31f313e59bb1d2fc7d93aac1f44d4c0fd5b8364e8109aef5e26048e6b8373175fab8e1988ffccb8da64a9fd2f7e9dfd16c35a9c04a843b59ca8971ae609c651f6107d8c951afc282ee5cabee8ebad0fd3db1aa7ac1ccb42fbceba65b072f6a3d5ca75f1cb546d5eed3fa1e6d5ec54893b958edd03fc3636b6e5c0ce425ac161f83627ff4da9a3a7b2149108b426dc0bb4dba19f7a06dd93e4732787ad336da265ea50f61b04382ac25aba6aa0005b23ff70004963c8251909b623c05730a6915ad90fee3f38c53b846a2ef58379e7e5a6e3dae9c3ba3389b0d7b708e86878fbb471c40211fa465261fb2a0886487033daaa4b483ea5bfec632761ca9257ca8e84e9af725f6ef34e44e8cc3318910788ba3ef746eedb65e46d9755f7dca2c22b481f5358aa65ba5f5d7fe1792b07d179d43b58d3dd25212ccffe4accee7dcb9bbbac7791d998ae7600056d32dd36b76c302628dae073be12e40cd3a05d4abf71363b72c8cebb3865c7d63ae829e4a6ea3014e95870f1e7e3048117f9b926a449f2610683bafe5e3d65702e38d583289f51432b6a18058dd5308df386320239761c00f260b5db1e6500e6c3ab358c396ae4f672ef61ac43792bcedd5200cff348b0b9f468fdcf59447da1bd3084a07947debbaea407aa1b741ff6b64a217e215c36e6390eec970ae3e83c7c6f1a5b7733d0357ee26c17f7b060989fd01bc054fae5dfe6f7347ff315862e7ad4daaea6a8cf4cca094600995ad868f3a0137cde12fa8ecf33e2cd1fd1ab2bf3e246b67f36458a72b74182a832968ceb7d5cafa1b69c8852dfb1440245c6ab6fa2b7da1cc46e0a5ae59dd106e9ebdf606d9c2b50468588afd6c5610746554f8a03ae5f17e30dd089c1c91190ea290ef212940a20758cf2ddff6763b8fe50e292cf1ee77a2b237eddb5d53889edf7090195262631c8683e83b4003477ba3ce8ed6539d09abfd2eb0401ef3fbddf13ed8249c6b9273d57ee9020b3bceb26b25404e0492c9ebf2f5dfb535ae7b39b64192aa0b76ef4fa8fa275cd85e37c83d9aee5fd3b2cb0d3637fb4c4546995fe01c127e557a3261a55b45c6bfd7c1564a0d66f6a9084da8052c2cca589c808dcb6497cc0b820473532de5d9f614a19f7506cee70ded1ed863b148b5a9453f8f422d4b874915095670b8cab7761732f987ea35610afbc06e5ad714e00e8d5c7a4da49d3e99b93d6c79cbea28e25456545886efe74c9ddb530c35631e661628339277a75bb2d69bd23c697299e25eb702a6587f498bd55acfeaa5961705836b27bff9dc9a937f84276520520afd6f8fa1ad00ffa0f36b30d16c74a7639ab7b849c8e87503bcf504343f319af063ccc8e42519d8783335e53149dbe415a4f55c7b2d015a1a62d0025dfbb81eb87e7958d6b0f0620f69d6e60dffc8a5b04930664933168fdec646db74a1c504dbed983bc5c2b003c5fc018a1934388bc8837a79da5feda28c910099ade0aa214b15fe38c3ec0492ded3c4091a93eb2498bafc92b0712f3683b519db15d9bf1ebb1012214e6d83f4ffe8f94ae4468fb1092ed432688fbe42425b5ce9a53d5b4eda89adf4bf7b33927bd748ea9c802640eb8df314e7ebb6d8dc5ae8bafc1eb464c7afdb65268c28a310161828066d6c5ce14667d3bf0518b60c5fd7a69305903f460d0b62a15042bb9bce2868c552a62c61f3e4cb1b7dc3a528830a110ece8b50e4de80f720dec903b8e828d32ff1701701a62f93633d64eb948f90eb1f16b6ce74a62330565b78691feb6a911426089318d6eec3b6ce41d3cfe43604ba37a8aa40d8bd3c5d55cc10c5595a110bce18da636099e31ae6117c013d7a1a6e179d59934b9addec8bc75cec98c0c836ea04f93a820df79f6602f077ec38d84bd449c46bc323d605f83b48cc7f2158901cf74d4cb64d108f31ba647fc43726b4a7c7ed09e2bd322e605aa3a2bb72a7d9908f2b9767101081bcc617f2b756f9315f2eadce8ca6c9ca20bed855073270f1643a3fc12488f607dfba4d1a3bbd5bb4ca2f0201eb8003462761fcea7a0125343804128a5a44fe2902773fb677a601bf135cf31e83e83afe083313a1942cbf604b155b0ebbe7ff34d5c35bf5dd91d6f97e95f96ebeb82d5621d5e17b2989a879235b8499fd07fd6180fa41002107b988baebc0455ea1c39d1c737c9558f676e3e827b39dce47bfb75aeb636016c7851ac68a5adde68357daacab47007ac9ef965f47b93ab198d1d074df92617550aa8e81312d44bfee5563011232a640c570445b207bb73a9d65ebb0d20dab1d0a18389afb33f636922cb5525e4ca1b6030476c00898a8773e296e0030da71bbd2d53bb579a4e848aa3f5aa8c95af3cf3e61c1fc8a09d1124a36be5ac4f6f69d45ca760807a91627e5c155df2c305a9e4aac38f56d78030a7ed48e83e7248c4105760535c24b0f91fb43ab993ee955de08e988bf5e5b3bf954f897aa9a0d02f8c3dca80be37f54fd41696e77e69e7507c7f10c1dee9bdc9d33cdde390eb18717cc55dfdd8267f2f5b4966e48b299b299d462adc1339f8aa5064cb760ed87d858b50d93730747816c459e9ec5cd8a608a894f98db9ece38e6a623dac7dcd96a5bf59e9d62090087f9af24af22d8b5a247cd470b1a4e74706dae6b4cb6d467c812c13dc64db400ae8744baa5dff6c3803ae38a4be4f9181e9deaca98b67d7dd751bcf44022bcded0f32081c38c7579291f95b7727521570845fb539338585a03da0ea79ec3d0c77a68bd6e71e53cd316dd0cf6bc95a00c7fa8cd7e6822af1ec3555e4e9910bf1f1a19510982442ce93d74510032e8bf347f63bb7883c43301e9b497973d6cb2482dc8ae2d82b1ef2be812d7e7992b5faab3aa0a245046a8ce5d99421be48dc46d8ee8baf0881683bdb170aa6c7f5c7fd26d65b56cd7b2dc24a2b125a86aebd39146a7501db30861df6302bbb05207d0461fb454d3004b3fa520d71b508896b14350bbba5e430c2adc044b7fdb2b121c8d9e61c27384c769b6804159c06e47a43232d00b74993b3a7df3a676bcc90262bcd13720f6666195a42d8d1b8758ca57de115772f7bc0eca5c76f5416d69d131c84ca36f77561af69352faee5952d13d909f1e988bd1a432ab063e69100ced51528d89b9fdff2b0a458fb69a07dd17bee0d969da480d87a7b5d66651cea063e736d7fc347b8ebae3693511a7c0d63fd99e799148aee669fbf957b5437b03ccb5d0e26cb074a7347663da1981dc6d4d161af102e990de9fde03a625c8bfe8aaee47487d0be11fcdcde016c8ace6a6050fc9d4080ab71bb5ba16ad251b9e1b78d956bb3b070256b0a7e1e2c4ead05717381f8a1136cf0acd1516d351d9974038419c8d23a5966c4eff0133ea2d07d98110ad120174d8df2dbff90cafa9155b7f8b71a02dc287096bb2848ace0b0acd36156c2557488d20850a2d93c75ecd7f14c7deaf7554707662e9c1d7d9a1ef9041f50734f8d5fe14d5472f4067577271c2232c63fb6303ac33db8d5c52fda9bee7858b7566eab3f24e8bf3b89071cbd470990d14bda6808c9b1a47805ed558a0ff92fb963925929a8810c404c42287a394367c799030100ab030e51bd6ac36ef2886fb4de57f1cb9d08fff1a47ba926446cb00e74ac2c197af29423366d0c04e594d4fe2aed32f0380f1aed23d658c262c629bb80ca647ffc5d30828d1d46e3086a5ed377fb9b804d14e51a5a8c2e24d40cc5957243d5e8211f5573765dbd7478fb857ef5ea1dd764b232bb5eac9beafeff477b0ddfe154d8974df5aefbee5e9eb7e5d0da5c3f280634b0acef6c14a628c5bf87ef69534324174d6a6bbc1855de1e2bcb157d7e95560eb0b6317d78701d6a6de982b75b05c469115b59f6a535d32557136a5128f8b9e2aed9484be26e6903bde55807b521b40bf4de731d7affb7668f1438ba8db5758bc4a8af53372a8ccbf83616d289b3da4312e3d8f50cb745e13a739f128c2af817c37049571a78cc60218c7905118f992f604e1a1bd73d0f8bbee70b6ea06252d76c38d8d78556cddf17f6db4ae70aaa3e42ddfce4c65fbc77697ba4c04c32d436be8db30320ee3796f067ee2541237f2caaed525c54c0bff4cc03b62833b90b9b9f31e1b712ce8700306b73c447d4fdd1dfc12335c257a3374f42a34207ea23fdf5830c8ca9a0891d92931a13e1404e24bca2c5440dab1721708a38a743e668c83d1dcc9f0c272481b62314590d7f1d90cf45afa406e64b14e293655940862281cb60971e8e0d95522644288b1e60cb50347103ac50f51079745e02135c2e5dac9a3abd8931bdba53f8432080b5f2a023e18052afb750f95b443be2e04b9aef3004e25c76482353150d5e1e4016668c8da3bdd668fc8516aac37a946934ddd88f0494a8edc3004ea4bc53b0010f3d354ebf15ff24f39af3fba6b7c85cb4265092107f90bec2129f6bdb92fed69a8807efdc73027703e91f599916d0e23a826dbd573ca90443e7b3858d3720802b3918124d5ef50e284a23d10ceb133c6cd8ba9ee426c8830be62ed6625ec3f8f2372cec7704ed44bff55bbb1e0e31866f38c96c067fab62bc4e983e280a0580131ccee55432c44f23719faf18fda8498de62792c29846fa61c852e2254552c58c480641ef322d2b2f2159005a0d1147a856880be2763bec6a0bc25c42a4b0da8443ca676f41c21d362c80f86a93ff4af2aaeec71b575ef0c22c5449ce701f9b0d190e227965783cb9efbbfa2f9e39976c9cb8baf7aaf01a97e2fda679560cc48c2505dbf4c61c1aa009d819dcf3d3ebb854e274aa48adc3f47f2e4a2cd282faa86ca4721493c477af10d92760a39ec894d2fc90760d7ae11983db0764761afd4ae683172c313131fc7888540fc8e3d5272a3f3e02e8850f5e6868c87d4f49c77139d313345936a103eff0d48fbebaa1c118a6f699942d6f2d5880cb4994751f106a59828a94a2839fb7e222d6a3645c1a6fed33f8727f3d7135731a4294349bd81ff9864ad266f616f4b9cd3e5be280472d226c920262e5eea15c479affdba72b72a1e59f4aa9b8d149746cec4156559afbdd063afda587095697a04c803694db21aeba88a4eea992b49b1a2459b48b278a5b77f16ebd3f1b030b23ad198bc9beb2560e754778819c2c14f01b92e1f99f90cd353f38f7c2cccd514dbcf7deadd705c936e5a831903a9956c96a0641e312f65b0a0de45d82e73a96d3caae81d6cc11b7ff6c3fff44b04bf0ee086a652c5edb494e153e173739815d278216f4309550114c4a37ebc4915fe65de1befc2932186a9241d632dd783469357eb4ca16b9815813e14fe99e84498e623dcd5e421675afcfdb2221472b455833812e6c7883c279ee37cb0c7786fe1859da1da0c1c4db813151536f89bb79729c63276ceb4c6ef1e0c6cf3e0bb7998fbb84c543ead75ad9a4a00543d3123e3cd5a53dc3413ae855af450bc58963ca4cd1e93d6fd3f6fe1902fe1196b1722a3fd08ef654a731dfa0a0954aa08013329da18a5d05a129d4b617ec37f34a3880899a26c157179d72cae98fc0ba23d3d82fc6bd944fc5b5c0f1fe1012231d330077fecc5d32a72936b9da82f2315543a2560aa332595f9b1e888e4879966e9d86a5f582e4e38c07dd1b4b9314e7443623ff35cfea919ff1eddf2701d00d044d9b2c0dbb701d45f6eccf911bb7e96c1c14acb9c558704e7cea2e4d3dacba6e6bc3520981b9aab78b495d451589942ecff6e1a421ab8a25c8372be39e4ac87772392906081acce512b17e9bd956e38f53a9ce2cb1733cb000b78718965a004dee9643b3e6483ecb2e7f84ceb969e3130693d3da125e146c49f78c25b9194c6df201c1f1cc41887cc5a77da22d6b731920e9509873890616dd0c867dd9ae9d91387c64d7edba67cccf43c046786d71630c6a4ad67bebec77e120ebf1d928741e75f07c62a8ae93073fa5f1098d16c09a360b7902a500381ff6b3e9c809528b557e93888259d3189af536df3de662ec70360d19234169b40a02e523e90ed41cdcf1cad11ff6086d88ac77033348dfd3f2f5e377adf323ff6391634ff6621ea196b4f213e2e05204aa7b019fb1706a6ebc3ced031d9f24692ba104fb9fcaf117542f79e3fb5fc11ba16341e4a890997619d4c7291b80c9416754c5e9901bb337c42e5c7068c6184d0f3620d7d7b77fa301a68ab214d8198e4d773dc5acef9344addc7e6e297956059261bcd4d19249997c4cb3e862441e67fd032bb194ece04cc301f0f8b08b8171e2d5ce3389129dc03410bcf97ba0b0c4622d6bd0197e5e4be63216be4d6070f7e5f5343e5691b33c320486c3981a87b1973c0a719ddbf82354df1950b088351bcb6b42c8fd1e9faa9034961af027b10241c627d51be9d7e2cbfcc9c6dcea956be5e0931b6a41a5108583f9413c14e2e4ec7ef8f8bbf11b025fe8624189a3b36a5ea3bdc50081bf89e15d253f6283dd259208f2102452bb08008663a3e5875b9571aa63ad65380de5534cc017c1454f2a69c0a43a41dcfe9b87ddd9093b3fdd41665fc7e3be1734d5f8266d4adc6c2d9ae778315c621bcd4ab4399c312c155d9aa4fb332979b17c20d74ebbde24238d2783416b295202a2661ef30af34510881fd254c84972bfeae5dd6d579ffe7c174ae3c1f3cfcd108bf6a1d226aa69122cea7412428be1f652acca70448d531e5278134190360ff796ed1582f6c821f9e4cdfd59da15ad713c07a80c6f288329023fa05271cc3a0d506b1414f04e10c36791db8d8b59e31203ec15cbc769ece794bc3bbfede35692efe791c39ad16caaeba6e574a7b1a75689cd9898f7cc1529cc1fdacbddc76311c0c980d5c0358f9fa3c2b89ad808ff6c2f7fadca37499c963a4c073c9c5f50a8cf01098a7dd0c28810323a9e0a28597006fba47a6856e950aed162f874dec1e55a1935781226f352e1e079a6a1edb49416228599ef2d6330922a34680adfd7bf8dde8c81d8a56cd3bb981e9f480ffd2cbe67a87a298bde4200621245afe5bced4c0ac4ad9dafefed841c1bf0639ac3a2cf13a6ff7969c699b23408c7df62349e7e65534edd531cbb73096a38609ecb3c5f2e83a6086a53de7e0785883e6e6b1fbec9172ed6a9525fa01c1c83056d49b5158d705eadba441a60731c4c534c2e2c7cd74733adb89a1e310388b3c59ea6706d72f1ebaa5d731ee7bf54f4b1ccd779777d7ccae1bffba95d162ff0ad62594dffdd78045d24ce53f411411b2ea8a2cb0c390bbbbb59e42abd2fd89df6659cf44ad148b2efd8cd2e3850e2652627026901eba6bb9713d49ea4deb40382f79e2e253aa44b1ed541c5eac2c0b8a1c70ba1b1a2b72aefdc7d587ba29ece2bbe2868afd67f091b37607cdf03619c8622d44d93c265d4941e87d6226d2c94d786c9ffa8f485d708992c4691980387f7baf4134cf7e0ef660c4a86151e4ad1168bf22f9c6f53caaf604ddac891fb2ed8dd1f635935cf3332e591edf7b971c68db909eac20966e971483e6f9a43db236af2c87b43d74ae7b28ddf577372d34674c0758d34fcc1a63dc5cb2eb92bfd4de7c4d910102365f080b0ce3669c82e0b86cac4ffdbbd13f6135297be4aa7d6847468b7e6ccf7ccaa0396e12c70c2af7d8904583663d6648abcf439861c5dc9a42247b7b1d54010448835d08573c79a3e8d9f16e3eaed012db3d57ba79314129d1dd68d4b6249ad311b6e5e327180a7169f39d4506841e1616778ff4ebfb92e8c6b20ab93181965c564416e266e85ca6f1fb3de8731bbb219d7092fa48d3b9debb65d69da95c50bab0061b4ba45a9e7772000cfaf75683998bf8c40cb94b2cdc6c809fedaa02b8d5b54b0732bc064ab649c1ad99cd67496308352f74fa2268ddb73a1359291b7d8ca069472a07d951f2d9f35a584a885b7dcbdfd2e2cd02105d42e2358f6b85316f0373dd6937e1683e40ce41647cf443e4c6c34ac1971b072dec7e4293719669bd3fa67d28b2caaf99fb1330f7712d00588de38f900adf085a8ce3ad5fde12cb0634ccf9a5baf4f07d0012c37ff6814be130dd69f99940f624615814d42a4f9e5003148789c3550b71330c0520b0b606a3fdb488e513c2f17a46e8fbef6c578a21893af75c8261dadd5d37f6de7ea5354138859f58668fc14c81f96d0c91be54468786cf046f6df4d79a67e3f54d32951506b2c361ceb5919025e90147f4ea2574c0ee3322ebec715da5ab5c6bc2ab63df1d15759551a42989e346d6fc1be14169acb8fb1f23c459b8a196281be0fb661ae8122d5486754bc1de01eb9eff643b0fd3856b4bafa791f817637dfa45c00a5943049e37457d99930e6744cdbf3db936570ea298a921dabfdc260da5279366f1315eb7378016b36755d1589d4d97e77b778f8ce7e323dde6fdde361141fbe8acc3c5551e9468a736cd14299fd8cb7ce35192b0297d36c8abe2a1201a7d067671f833c296013bfc201dfc9f9a84334fea11aae09fce1f5e55cf94d7b9d6353b464871b988bed24ede5b05b13e1a37eebeea102357cb764666a1d8019219ac3b93ac3b3a3e3d78e78dde6dc5e6725a6286865b8727bb6049680185daaa297f3569b5a659b49c1ed96457f107e8483c5d0263afa9c4b7f4e57047709180e0db9d6c7f2b55f64383d71e357ec94be66cd3e7ab1cf950ab69cd91028ef1e8b99f22c29546b057b3ef0b617b63f75e7019f12b41a17c6db362a4c8cb46b5091325b9c055f2fd39fce49bd299185e2e773d5ec08d44c5912ac49b92f9ee359a47cf4e05f03d78640cff27907039080f4e4686fc2ece31bd6f48e62058b4b297ef746af13b1ec650909d3f57ac8b51fda25d81df5dffe11c3f7afbe10b1ab3266c9650eb94889bf90715ca566a57cf53944deeb18730461caf2cbe653abf251f9351e0fdb8655e40682cd515a3bfdce1c2d62683ace0075253afcdd2dff5c8813d45b0a5ad18225922bdd873251316016e9c3ec1e0bb6722968c4bd158ff69c7a8f1aa65d4066e4fe1da2167006522a312f1cb1f7be62012c1298d8ca9aef0714a0dd777f24fab037a847a20feaa7cd430222b0c348437074330fc673fb91e16dc762e7bf70a8cb81bbb45ee67bf7bc996d2b63cbcefbd1730a6769e4e8cc1431c27b9779fce33d9cd5c5a68e480b488c12f449d3fa13e5fbc936a6c204e54403863ae3d0dd3c75e4579d0979fa6db9e76a6979edd8120082d80c5a40e4ce76248709db89732e4930ce617822ffa513e0b9d872fbd46c0f621d3b1bbb0b809e2ea890a2de14b5b39a0209cf892322d52ca3ea88195617f1d049e1e1dc98e9bf2e4152a74d9ea89614c6f37faecda2b9b057d720911ba3f335d0053fe3598ca3843761dc25130f4074d016805c23e7a5e5e4f21e1dc15bb982c4da23b062e41d607d1fa37e61dc16de209394691b46f28935f4e267015f8abff3abf7fcc740eceeb5dcbd01e1cac83d17aa3ad1d37f7ee70a484dc2297a192a8a6caded7a1229726a000fb7ca97209a09c95b03f695dfea94b395c86c1f9f9d269c0421995a372abfde103bcf91320b29ab3f1b2938210d47e848f0ce3767b98781b3f22ab8b6c6b94863bbe4ba2b23ee076b8864352c416b5ce662dcef86d5790865dcd1e04ad57e7a3c7ff5a9d81462ea59737740a039320e596f2b1fa6660254c00bcda055e7d62f77c606443bc35d6c5378729ceddc94e2e0c4923b50fb06682986169a76fb2058dc986890f5e184535a80f8582f811c3f594c6e547d5917927753a9359c50bb4a07ce10444a8601842b6d686cfad6a43bd82e9dddcc8539c0b37b2a4c3013877c68f2a6ca052a5fb41d544eb47e510d2cb60f82723ba39daa5dd84ddbdf55760e075b650b66ae2088a7215b8e7ae780f7134af72d87381eebf729007b4e716ffd3c43b9f313495cab071f55cebe989830e41357eef7496136f474fe5ea36ce7850cff348967ca139a13087f3b34f9e839f4fb61d380075b346111ba861baf10ab2d4f19cc241be9c20b070f37fbb8c06399695e8a434fcc386e1759a77944709cdc297bb528ffd361f246a4ff0a8a0f1314af5df58ef0c8b6c8a6a30fa7eee8769e0fad8147cdc69809ca25d02468ebe1a7d888df3a995cef23cfa80d25f72ef274136ea03655d4ef66ed703bb159426d4cf968a0d615db6228d9a92e9e2b102c9a48202d7978638bb68b76effa37a33b6e3492a722b07f18281abc76c10e64879e82df8a2445e47492a5b6d3f0fc1c7ce58bf38abe0ffffd99d48c987f3ebfc5ee5eabc8925ab510bdf56c5ac49d20b0476d51ee0e281168079b7389052480cd4d97ac133018bd86f03a525af887417415bacb5520403271722acb32c1cac20b09a90d3ec44c34ee71c7302235afc1f11f2d86078e436dc86e0bf577dde54452732fe5906aafe79ce749d6478f464ad12e6f7286a47c56a9c27b24854431d26ac8aaef8ea3c7b78e51be9ca5651fcf543d418b37556a795565c852921e2e2eae9f2fcd0690fdd01c224de78c41702cc9117f586000700b6b8c4314f20b911cf5113b1fbd569318bd311707349c1b9b07d33a3c9fa96a63c06d7c1e509af9253538f314fe533a3ae74dd04507bb921c7068b74972d7a662a3edf8b1a974c380727e4717b385a5ce59a3b59b60e6faac713ee1dda79d31c089d63d6f24c0a4b591fe77272cc8d6aeb44e887ea322a3d8a72d4e6e8751e5c95c17145e460069fbe47b1d80f82f11b85e032fcd8b02a3ff5e53dbf72bb2b385449d2ebb0f3879b04709ef9753d45d06e43703a5b117ef025059ffc1b43030e3336f7129b746def4645cc637589c0d1c861438701a33c13b880c30a2cdffbd338c0a67c7bef672cdef1a1fb8916519b49945dbdca0772ada2a16cda0da2c4c2d2a22835a83f36e00022b5bc1a22e72d9457351bc8180b02ea6c489d2ffc77fdf7249569816f14fb6ad25ea101b72433327a56011fbe1777d0fdca83af44c06ebb85d882e376dac53051b58b101a578bbd1d0e5a3df358c54d8f8b2c5be9cc4ad1980cbe9ca5a466c4fe9151e7224af43edb9c98db3bbbb8f5930a1a0fde0e89ac00c6e1d8d67f05a8f42211bb0f3a4dc835196e4aa85e90844bc6d75b9acd815b6e737fa0183b4f1c54d42e054e4dcbecfe62e688c3e913864fac7899ecbd6a9d5cbcac384b23c467c57a8f685b222b91e2dbe07fbe6b74502843187e76fff5177b392a24b5d4ae5f76c961b595f719eaaf626ee51fa76914e04262e32891c152be978b158a9ca22cf9313b307cd3715187b04bae7174ada5d37c745451c7b116a601046b7638b062dddcc9f071bfed6bcf6b328fff7693651bbceb71e1134534ee694c61f19d62d7b190dc11d197a8c88134c14e041377df8b94831ca1c460fe9568ccf55d72e27cf270b64c6a422eb77d1e437090aeaa1dd537dfd105e927ad6857370bcc6f07bce7c77765b36231afc96786e5b3330b28ec414c7b139493b694bb0d050c289d2ea65a6ac03787fbe0db1d7951929323367d9142492e8b7675da57212bf7f32c2899014b91e3da95cfebc6438cc2b9dda2fac0b33a6d6b94f753c36105ad85164077bea33db614ccdae123797855a1d7174d704216afa1f17e4bc6dc57c598ff8090e3e0dabfb02a28f5cd62065cddb1fed1cb0e1fd0bd45f5b0dfcba897a9b9a826728094d5bc95eff7923aa874e10593d1aff65f68d4fc08efab9f1f8f6bd59af51b20374d5e4b67f111aad5ad678248dae89890083b5b4011354e8b9ad7cacb19903600f39defc696e0c9c172a69b887a969c3d8ea33de72eea1259df83dc928eb266094515f3701617784bc15ff232af883d7579a858541a8bbd257abb26de1b136c6aa75301acddd1ad1f861ba620d4d5cdb8a4dde0817d156f6e2a0945849d63dd108551555600193d211eea6499116d3255fb1844eb0964cd0bc641d428e51c3fdaaaa60e73c4d284db3f1b5a938c6bddfd90b0b9689d0174d88ff77a329fc8636eff2abd8e7dc4406333d2999da3b92f92c6fefb60ad3230dd100acc837b117352f0cc3d71504d1e6c7d6c170d107fcae8d94fbebf007b213cd1bb92dc96946b24e9c7fbf986d528893e522afe2619c2fe55681caa4633a23acaf4a16be13e02142887a02ca77e4be2960bd176baa49c897a4f21565f5b25801726295bc69a74471880e66f52181b9e0c46ec426fa0642e3d295b99fbec1d66c964acaf9c193cf2ef582cee56a46f81d1ec1aa4a070a9857595cad6a2b1872f423343ddc4a273c35c838690fa8973681624481e13968eaf4251dd48cf569986a6360c305dd15472f30820f96f08e9aa63e9fdcf038b620a8a65d196f15f10e732a8b2693c9a857641b66e5636ab121d1a3c2f488e9a140db71f39cefe9aff7b6a117cbb88da764d96aa35e0b7e38c0d647f49405deab41db95fcb17fcaf0ab1b7c739f994e524d7a53905302b2afb155917bd3feaba2169b8d7ab29a78710f7764190373669423c10c5197ac01efbc69dea797899412751045018c270916a8e3771b5964af8abd20077fd4da11c0cb749fbdd9964c9d9dc3b69d6c4818d3ea93141b6c0bd53d41a38b81e7b155de0c7d1f10d2ee258735d12602f36de7286c8d22c1f8af5896dde3fc444d1eeac41aa09325ccfa4694f07c0aab1de06de6ea1d5254688753e582c96b766bd9f175fcc84239d52765c67635e5c0e05d6105dcac17457a0b609320329939457e19cc1f24e0fa6e92ee3b86c7922d69aabffffc52923bb29135cc6e9307cdba6c5f31fb1c7fc88a19db6ec730074214ce92cb7245a6f6a9fdc32224e01f672a04bd5776798a4bcb388345127d53b5d6e47abf044b937e7cbd89dad9a45d76040eb7bd647226fd07105df114df421646b62d0ba19479677b08fe4b75da745156429c7b95491e755ebdbaaa997cd7cbbc69db48c2bf47454b70e04ca67365ec3282e7ff3a2bc3c56ac2f518e9538e89cfe8ebed9a2491d597a309e033c5e502c3454a067900ac29f9c465c577825ce91ee5a4ac145ac42867eac7d36a7dd4f622a60d47387547209c715af1c0b20335e2f77c992469654dd43d3e06eedd169a4e3ea1543022aae78a05891ea747dd0faeb2cca38d1026be513650c8aced8e7270609428b22e484c10d8caf16a2e1e54a9a452219f37a5c223e3e227bd49fdd25929e07f04acdbc8a22544542a1699f99dee8867b1c1ec8940126a77ee07ee141f691b0905ba0cb53839d0e4181dcfab64e147b7d0ffd3c0c6ee9588738225101e2688687596b8e2db9e6fa12d5822dfc1895d7928882bd194a6d05753bc8fd0c4966267631bb82c56859e3ab1ce726803f5ed38a2d8ffc54831504abadb429887e73a838e0bdd922fef6a351b337d4b1821d0ac198fd59f1790e771c9d2ddb46bbfd8cc39e3589538e2c90db1ef6ab2f29ccd622a859503604bf5e94106b8f47b3f6db88e68c30b501e3347a6d8b81dcc06883b1a51788d437514e45fe619665a6cc9b6352add5251ecdfb90e36253b5572b81e21ccb85d4f042fda17e34eed1244e1f1f6957d17e5a01c5d8a82a722557856dc4287e8825edc3af2308170103622c8dc1f8e6a7c729de4a18ebdfa34f73487c6af014823778a34322dcd6607ee2af309f4f8da2d161a92cc9de1d07b603ab636749237875974e0f62e20183f7c77ad15f54460340c0f9de744db07f79df85aa3511a892ed8d2b40c24d86c9469f5062c6e000178c6afd5962941de3ffd7576e42bba046af0b9fb585a9edfea28587b429e514fa62889092e07a8d389f11304ae16ef797faa1ac43f88c2fbecd6a3f8fc8090e5e34e1b8ed59a7948181d69609630c45581481db9eee543adf050169a19cc2da4e8a066c32c7f02f617d85edeb80a60fd0ed065d52dddfe9d3ec944ff0b553678b57ca25613174f14361a8305af1de72286e9576188697d96edf6f22b3720661455f12f382db32bb037975ba768471bfa522c6da09658972afbe2f37d3cea51e252ce86577b6c060c2c54c41cdfe7514dd0aa214ec69c9e0f750912cc7ff10cc57c917eabafeb18e4c217b4de98a2c3c583de093454da30ed3e8e812d3bec123a24f66b04101f29a921d1b82562ef079ea2d2849f4aa19f1d40774c63e767597dc5c1bc906ee55d57277e45dd519983a25687c1223ad50b058b642134d2c725b6e70a4098dfdb17751114d59c99e3e96031f4d67d19b877ac2b0b9e363887a03f69b5e2506145a7daf423fc71fb9319f1e5f7902fde6e0a10c94f5f6ccf5ab4ac210368da8354f14648a1471b89712923684ac9a5cec78bd0e7de0a03157335a17049d74bb0e3480902bcce373c06b7e225cdb5352329543b01b1f7a04b30df7fc84089e86ce704df2b3fa22b6cc30a27bb51eaf4ab613fee13ac02d054364822cd44b637a5de72c337f9ee4944ce601d94d0f82ac6345457062ff9a1aa8eecf1310122f307214712656d44100a16341f1fb3c2181a02c47f9819f9af778782a2d030ade3d8adc78fc0b32d7fed9df11c5111060405f2114aa31ce29e1cc0a4a919dd7b0f2deb363f4b5525b2abf9b8803bb0cfd18ae5a2c8dc1dd42178531efa392c66d93504e0c1372f3ce7e742ce4469b839ea1f64e4a4e8020b6799c3bb803b7b7257b17f2b224c980c4d03b571720ac175533396dc0b5270475fdb74db6da807ff7d0f3206eec984269ca904421dbcc101f1cbbbff22e847da3b934e51ea5b62999cd666fe56bba4c994387ced454bd043d8537e09ab79987ef378283d8e50e7bdaf640e1c9a08fbf9f1a2bd193c723753ae7ecb7bfe697f5417145766820770f498699e8569dd499a7e736bed9f10205ab71fb353bc9150039b27c610290c06d15ec4387131a8cb5ed5c45a6d2f7cd59c516027a6214d9503ee4501d5f2d94615d9d56d430d62e163fa09dffd94e59bc7ba67d89cf864bce7dd2f3d982a930fef383efb7ef1e6cf09c365281e0a9e4d204167d984afa682b6c45c4789254be1227f1c4c542db3be449b8c59dbf4d3511aed8cfb29963a55e16150ae766c70e2be6c352c419f5678c3a0ecb2cfeea641c4f9557f204af72080a3c83fdd1a9098fdae142417da8fa97911c9c8d9b3a4cdac6eb19c7ba562824018833ae0700744b391f0d4819da46309c363b3b72bda35cbd9329548550481fc00d8700207e6bbb1117a81397c05a9f4d1beeb2398dc7ea4624c0acafc5b5c85690201a97a72dce5e7e5724e602e47ed6a5925ad9613162e4b19b4a4331c415295c4b829c473712edba63689e258905ec0963db4fdb3ff398ec70a9afed6646ee2656137e2c4afc3e1064b9e2e0e9fe658613a53c4de0b004d8545567c09f0be98208773daf22548e5140ae4eeffdad1729ac6e323f4c6281caaea49d66b8890853e6267149819762de7deb11ce335cb8de2b66e18f5cb0461d8eba281ac134ffe11a0b76caf634259d1bd9cd4734acbc9c4344187aa2c5853dd2e5c0a1a428ecdef9e7b158bcd8445bf4147e95964fd28ce34715c67423a1bdc145691f913d94a6dec13b6b4463fa874d10abfb47ce2a31b64db450df6e9fdc996263dffb94b102e707d36110bccef34494dcbc4159f5909e17d66bb34513c54f01a9f9f04f6742d27b03704dd86100021315601e3668491a80b8ff4a2277ad5106c38cdbfcfd6bbec28ec3842e89970b4db3009b30f3177a2fac5adfb22cc439207f36111c59703215f7bbced8254f3b2989f152f4c3c2783041440fb3241b0b2936191cd9d22f20e0208113c458fce394ed0fad505bfc065351f02603875abed7c9983e6cc1c4410999417512ec30c7560094825a1074c063e910eb2c3ce14b562313501576de90443547e281a9cd40e2c5d766f225426d038480bd841d5826b96b059bb8729a0d480557107fd0b8060a7841686e89d870cfdceb8c764117fe4d4ef0e2103330335f0ab7dc4d97f363c74d97bfbd125a1779fec2eefbe8a6860a6019b8284420e70aad60caefbb3c458c0ef023a48d897452f18d3b98bb85eb91f7469b5dbe78a0f5181e04b54d0bc937d9124f86560e86b366d1166d50dd887fdaca1225b23cd108b509c7d56ce8686a50087ba64837f54c1efdb9c0b6d4b838eaf5dd503054be439cff63a9fa8377b7019174f4e0cb5450725cc933e4c159c868843e164b7428e3c97a1d5c5acfea901980b59ae97af2bec14d487d131f6f8b9601e12149835af9117b13c4b5d93bd1ed947e677b40444fd6a09c09bb2ec24a9509cf47c9c01ecf3b85d7bfc3c18fe39beb9863be1d38ca99c2f0319834d6b1c5f5aba3982db6f986f2f00b632f43ab395802a516efbc19002cd2780830336864f1dd003b698ddfaec533890d50f429be2c1aa2168d6ea41f4ab3417906b6d1578d062a70ffb710b68eeb7ab01452afe3f82d2f0ecaaa79cc6a3709bb3528edbf536cabfaae3597cf5cd477ff2f0b394420a92b5379fc48bb65a227b1819e85748ef17af7bccedc79522073fa389cf90c060af5fa02d703644d034c8fed8fd1777faed86921614f79e513b1bc06745b9b06cfe8a3e34127c23979ac21e4f1c3f51a91e120797d7f326dd98c8589a8d5b27fa1f81d762253cf455706617cd12faf676e4eed26653f3d62302467cb60f772a9df99532ccd69a57c024f988c5bfc9c18216036ce94f5bc8d5227a4ecc2a0cfc2c0ae03b730eb3460d7d22cf6214fb5e0d23932361bd9e904f8c85cbc210855293cc0bb4ac9ca50d4e9f68a769b23261f9a41cbe6f44f6649916ad74e1c52e37a0ca10b41d229853a938814065ae5ae8681b6bc5d06dae6f928b4270efd0b525b96258643f06627f92f3c91f29b1837dc651a0e9ca99b3bd12b682b72ff43c9245346cc6edb05a3106946a7015c651fae435c7c8d2520e2b77b624a99038d205ccad44bb2bedd10b99c611dee16f1150072862f2a23168217e2d0fb42833a3e9f9e61d9cf4ba9373c3b3593241e1bbd39bdf7013330ebf650ee49d836bcba07296cfc7aaf2b2bf71ffef58a7afeca7c1b70eccba144cc19887efc2113d60e3727025ccfc8c21b2ac0c13426271e2df8adf28ead293cac2d9c6eea917afe2152897ae65617f93bb67997153bb904b8f25f79a81cde91120f2b42b22d3aae95f6fa88b47180346b79ff6813d543f34f7260225b2c7865e48bea5bfba9d2fc8fff3a54c427836b13b16922f05eb46e99d15a52695c5265f563800607e7148bdb2edf330a910765d00492fe5f043c659847eee347c8a4c22b70d60d6a3fc74a36aabf8b35d434c9409ecf1fbc68ad1ff306df3befb6745d73a23e4c807744a9a2897ea36d3fa4fc1b18801df75d914c19d45550101728d48cbdff6a3ec7ce9468b0d3d122cdff941d235ae45f44ab93940a9c5d4e5bbea2636d9554cb20006d980277789ba7d055764e8e1e714051831eb30eb242a2aaad3da3ac8f9b6d05a4eb279b42a70cbb895174bcba04be49d721ee91b91223a5f1c55becbea79bc056fad078861d639420935cd670fe93199cfe7afba7718b584598a4ac30a2f075a5baa2796ee7928276e754d690546330d560a84f7a135d649b17e4181dbfc79ae85383fb2e352c63b3c3a97cac328b0250769c14f8f750de4c9f96714b307e60e02a4304db22640306e29ca393febc7e3ff06a59820aaeddae236d9dfb5c1bc78a48a6a5e159ded66588d6119c15337048c8cddd7d082127ee15ecc60c365b433989ca9839eab7846fd55a2a35f3f02d965e728c7598ad502d970a973cfa92260ffba89e4e2cf2ccac520b0b6b2927ede624b97278ab0dbb693fe89a4b52d77e92cd775068619365bb9f4d71ecd0a5f0f1fb9eaa0ece7dc1c4dff22362a685c86f7a04e6913517b48ae086d43f4923bd9f5473f7f5259acbafe6c625e6886e04ef8fd77f9673975442f5edc6ec53130ef720f22873f73c7c58616954189b8c6a7610310592b22b85b6747b1cb8d8cad71f9e17a30c3b6b4f6265789e9101e4cc0a5a83a234547827440651d9b235eaab4e8c05760f02081a1d0d28d70127f5cad33fe7eeccd2833e423175c40c6841e1be9c24e0f41da276d3df5b4c5589afa898e50bba141fbd0c8db9082fa5966f79075f91811b6314a957e5b9022627a7a82e56ab02726bcaf8d238b3947694aa8bc87cc8beda44a1abbcb5404aede4f13a503ce237ef981abf34bcea488e045443e7fbf6e0932e60a56392b23be92722ba2299fcb6e2ae1c4a58d2d38374d6f838c2efc96e46302064015b77343daa64e485d632806407111a71fba8da1b5d55102c44c06f2e8220749805a9a3e033627cb9034dbc48197456a8224a904b7a55057dabdf7cc6d36d31ab04bce933d1f012dc4cbf409dcf538bc36f7092f839d24a4e1aaf117a4a6bd70f450c04cad7d871d095daf9bccb98b1ef22d75fb7feca921d258c6c2d5227e4916b08b76ebab07006b5885ad886c9fd75a4d600fdcd35644807dd85983b0026a78180de56eac61f176acd446e14b3712be974c2860ece460805510488f2e5c91e7d5064e79d009c1649a6f3b4621a8074d51e827f46d532ea125fcad79713fca8db429aa784d711d2562b3c45f3bc1b8808618de25cd97ea1c2639cab974f63c444057dc466e78f11b586c6a0e7e51074181a84dd2caa6ca83c722a61e8de84d5432ad039c61af44355974dcb7cf75e46d5b19c42513086b21e2a77355106caa51bc3a31b6648b19552c2be2cb518a1ce8fc8d1925c6712589ebc4bc44ee72d85d036c294827e2d2dea21aea5410b823ecd341d2bd0d79f53a7fd48e21b6e4871fa67568c1743a82103376a6f734de548bfdb7c494f81a68da10d54314d503fd894dc1d8d8d7889049a7b5a84de9396bc15e6422209e3e1adf022a94da9ba80017e422ed5fa04e4337ad1d597d1938db2300e6119b5bb78e84efe38a380ff626476fefab3d5714ac2f42ba7dbdf541a73be4918a391b69397b7b59a0d201dc4a92d7e4485f20ff3e86577bdff0c74567b7056fc965c04b43f356bf72fe2bcec1efa387648d254fe6ec7842dce5f8d6d030033110a9173192118035d934329c34a84a566fe2ef5230bb08ff0102af8a478a1df668e1143babed0e8d1b5b471a6f52062f15f67b3151eed7740d498489703fd04464dd82377c09682e47e8e202691798e9abd73c4d8415ec122ebe50d8967ef876d5fc48a1f2c07ef5e47b44c14f57c1b9dea9655394feff51c70ce0a0e4af6477af5276c751208c7cfba07f93bf89f9924ffc64c2aff773ae25de54d4dc54b90114d66542d01dddd1c0e6c0da99ea5c84b799bcc89247e77a26399187094dbfd6c11a7cebdddd0e2aeb8e3549cf28104cbc7591c63d196889c1a9a60cb7fa6ebaaa7a4769486eadcd053714623b5adbc7f721d101cbd74a0fbc3c5c29c6b294a49a55abf71ca9c2a690ffe1ecb6e791318801700e9596de466eea5e7790ca55fab034e7769b1f037593768b894f4418f96ee77d4458a33c4f78799d8db498f8f05aa70efd714cfea3a7b68e8af94380d599586768a0bacb3e4daff6fba84153636617381acecb345d27a1eeff9c74b7917aab406ba34db8933f74e2f8f32ab6c0c49752fecd33e69d49f67b6567d315bdaa5699bfd767c5dbf092c20f95813b5b317a7e091fb701eb765e78dc278258539e36401cef0c63d00fc44cf97d66bc9ea17d418f9cf3dcbe1b0f0ed0718dd331f37eeebf483397f82ba95c13dde8d52d0d80808805d7ebf4c4b76a9f3e1dfa55b26cd42b701ca5b1e20e067b6f1df0b6e50e829ba7b18331e7a86f044219144c66149dfd4fd8809273c2915fbb8c7c2dcf739a10201cbc9c76fff1c8bbfbe4714f8ed5272829a348031fbd8c9ae0afdb6030e44a7faef551484e9080a6e0797058918487a090f650ea59fa7b9e372fd270274f4139036f1e5cef37b84db3c6a276e3ea059ef3b172820f70a91b11c64eecadf55d051ce1676640c97fe403695e95104e2ddee05bbdbc0d282ffec44eefcd0b67d0e9f731f9c8c5020d9154bc81a3816a6ea052336593face08adb41a8354f9f57e50ef32c74fb394903d48dea4689b6cfb5c910ed9e6cd3387497cbaf2dd1aee55b9d6fe8bd4f33438bd283913bef3c083a68bae00bc2e2710641e6e01db487021e66767a76b628b5172efcdf40ecc7d8c3b5794cc0f10268cd1c2d830aeba6916033ec5a23c2e551e4b492d58548f6b22a600374682542044e15e3a62ae0e4ff5cb844ec2d103efd85101ad28770b7bf483ff4c6187bc446a5f0707a9e096d7934d709ccbe0150d41e272519be49fd7b2e536f1ca483c35a7a6522981764113d5e538ea7d1277c83da6f55c33c37c5eef4ab6f345c7f1e559b01301ddd091af30b9e228e9f2efe4d00477ec240cee8fbd9449ade4848b1d49c96086d448f7453951be82b6a8f02c0339ca0da70cdcb9f4c1860b3463cdc4709524ee9435ff8756bb9e659e13e098f2d75125f7234efff2169d5345a6e2a0d0424c5d3b87a648822510ab1289b872f4ba9ff54055e757838ce6e5b6f20d06b9b3d1680800ca771b0bf170d689432cb38759b10031f3a57f9af87a95d81baba4b3c9d6ca88578a2972bb66a99ff8bb8e8b8385d911d9da95218e901baf1c53fff1d83d954b8ba135e1d63241cad94147b2c0dd864138ce05231bde81bb13ac75012600109bdbe9740a3758170891f93e90ce74ad2d538428c221c124b381d67c81b61c015bacc7388227fe47a6dba0c53b22f7b501667ab62f6a3c574873c8fae9173e2f8e1c37fd58c57062f8777dff135002af86a33a6e3be2d3e103a1eb71673637efd29cb47844f6691e73ac12158d2320717da169d791453c8051a1aa31133ad606b109e544d891f1d4bb38020f7c5c469895b09f7fdced728b9e3a073cf3ac322e2c6e4c66c6dee207471308b89fb740011500cfce384c3d16ebf349bde321bf7d063f2f48587ae5b9123351c9a4a083580a0be6941a808b539008fc5a1639e791a38ec15a828f5788a4630f58e16c358e593fc3b1ef50977916264e83016b90598f5d8563466a5512e8576738a10a0fad255821af27d0e98c7540d6d750e3a99610df6d1cafcc8962d3af8e58c4dfeb9e7b1532599c2100a0b5dbc11e0cda8bd40c3a0dc86a3d278ca3c3203905296b83ff05d31373cdc05b99702aed2f8092ee16b21fd3d192e523ef734fcae717d263b8b1eee0725f800e14d464c076b04904d49b19e3bb8ddb0aa81b3dffcc71d4db9508e04410acf2238c15246651a927905ef7e53994781c23c655c72ecae5d6d9b728516c68fcca35b160783c5130a0942f0d6436bc0ebbba973354a08762ed3f58a626e49543eff6365deb3d02115f20be24496f37d58614ed83333f2b818ccad3f8879a2c863e510cb38e7c9bf5ac6b48eb48e19cf06b00b1bb9d01b77f3aab8563e09ae9604395615ecfb0023e2efd356b8154a408dec22a25ecb087bdabf9ead07983b143f037527969584ae34162f011dd84361718e8e33fbd87567c90e62eeb340e243d205287fb7ee23fad77aa3ae8af46461cc40c411aa9ed4b36e117e351b307e6aaf46b1b9894cc6998160a18793f3fe6878f4e0a7953203c2325f8f2a779bb06122a3ec1b41a9316c82d54f2addad073c3858c431bd807def7a1be0572265da5addd41d03511f129c65808190f1b582d3ba3755d57db4d3c7b1a00877db0a0c78dc0602ed62d0daebe6bcd3854caf64aabf295b2266fee275dda4acd470e955a8547d1ffaf60eb5dd69f83a556837af6e5df39a40e40bb142cdd2ebc3607547f03809f85569df106b165a17f804f029498820a8d1e580915090b3fb7a098da7841a9bb3ce9168ec760fe560506c197d5e439641407a1d673c03084bf5f230b8368b387abc6430ca140c3794b027336556d21df686b8b3085d4f1ad5733a1d0f2379bd3431b95fda42469ceca06488c9146dfe3f9d8ee57d86ba09e1d5f623191a6990adff8a009de8136920918de110075f065eb8d474fdf75892ebb85d0c99b64b7a901a2aff77ddec4abf91b0dd7147c75d476d0f888f3db1d975b09bb306ea01fec737475396b0932ae1f4ec2f69edeae29533d5b193b70ec2a279df2a44997d62149949e2dbf28d1b20ee89950ee94d356b8003993c296e73693438df34c508547255f48af48bb7a4345911cceb7a3e2e4987722cbd5a0548f85f18d30091209cc3e2d5c625ad9b4dcc79cd7e1960d442ba3197408d9df9cba6515f9dad5aab0425efc4add67fea739d412677890dadf357cd8d2919fe5ff75e9bd8126dd533212623daf19f7c47297a5f00881d4baf0cba053590c8305e451c0e2d2b098bc632cb9a674c4243898b235cf687809fb8fbe53a563ea4ab5db0dfef82c2e5e35d0f5367901c4411f3771fa3faf0d5798a8932f82965f2f6da901669f358dcac49796e13ebb535fa1b9be8fccd8479df104d654f446b375d6d28d86a2538c105bbab8b233f39d8a0a91a50b743281548c136349ef6a0a588e63ca4b775d6e2e5a81805380b1dd276cf1afc7fb67010fdd52c4f6dedc86ec14cc54b807e5dfda0654a372f10a979fd52efb26f1b84da311cbf8986003994b500156defa9e6d9f2f500513ae6abac61832d8b0eaf8c21fcf49ab873286f05c9aa1d3cd1b920e20167c6fb95f713ffdf414b44e70c58c8a24519ec6351749ba136941b48754429d0e2715a401bddb03834d0840c98b153d894cf7eec0430c1f268c75e6eefbb34117337ba609726dd0de84ead58923f7939f658673100bf6ea85c59ac7aee5d9bab662bdb594342538b8ee021b4ae9e67b8a1560e7f694f944c50df4dd880b286bf9c6dcca075152b45698f8a2483985a29dd99bb97d24eca8f993c37d818bbfee7946756a83557083557165b9d46f1ea9ae355a02e93ddd72686f48c381cce3d6e22803d16214fe76697264419e1ae43f4e92e06f994cde36acdc4fbf614cce843c9aea433e34f62e4ebc3ca45ef0b657cc3b0d67bf9440a9ab73e6409be9d8a9662a638b668b15883af2308cf06965483aef0d0ea704d54c5cd858bb80cea27aa218a60344e9e88854b8d62ff3179f42a7fed8e5484f46b40c14e57d10b62581816bffb56139d542951af5f0c9b1daefb573928b95239c2e914ad09d6f588e3642b74e4a982c53020cf31ddf95997a32f523e8ad9ddf073bf874c4d19b26645b2e87b5a229b32d758bc113ed285f9eb823d433685ae5dcbc3215901bf9ccc0f381034a173d2ebe2c435373428fe0f5c5732ea05a873322ac95cdac5a369a8a44c9d2dcaa22fb6bfc3a50f744400387a3488316c430cd1a1d277674fb904cb560cbea31c6e58c4f5c977122a79098cafbef40acd7e68e96df8f7983b58b221c7e0e81b7f4192ab66e2d691c550809a82d937c6e2d752ca4396aec3039ae325e1f963281178e52a9c175298b850aededcab708c795e66e793b9ac8e46aeee03f73441329a2b5a957d31d3aa575f9a34343aee85b918b58fe8e094acc01e1932d8f3a3a510b0bc208578e1121c1e6c17565c10a8e5500c0eecb30c2c0bc15ac88196892560c141aca3a4384a8ed0957936652891466c4ac0d9200c648e8d9d85f46dbc64200705b4911a40864e6271ea09ccfc01b4bc78086e664e3d242418799b2bc8396eeba07972d37873aa0ec45d339379c92403599db2136d5831323531b38438fa44a8bf3922974a0802b0cc8cca7f7bd2a620939ef7c265f50470c9d3fa6a9317687f2cdf52096099e496e8073cdef48d80f7fedcd4e31d6f5ac0d360adf60612f6ff4c53622cbab3062ef0382cb418c1ea4d8bff3c5f224df0f2a1a3e243fe70561ee0acd3c407d373eeed16708edd5de914ce595efdb77465faeb0662b2fdd5126eb23b5cfffbcef1d4d492e7a001d5b03bac04bca99041eec4d085dbbd3b95d6f1f0935d46c1bef6df855143fc82d5043966a82d1415317ad38783dc0841f2aeba4fccd41c7ac5d26826854b176a0d5c97647cc5668d38130da51d1f518276871638b37e4a4b7a86f7ca471f272225eda1bfb3428033dbaecdc32fc67a1c23c75a248b7330be39e336dae1b272d82935d051217c64cedada780f6fc82368987399003145f1c6801c94282e16a4b9f53ac5bfc861695fa95cbf21590966ad3d9d76f5b6a6b5db15917fc90ae7a80f5173386b61f7157b8f2ff856bf720701b91de99d42a350acfbbd56e2f6fa4efdb0787753852db9d5ee6136b605c9cf4f1483d5439ce30dd82e37f15b3a105cee9d3d7cc0638fdb84b5d7ff91839a58712b1bb1d1f907c4fe2f3e5a50ea5d368fcdc1121561da4baa35dc7d9110cf6fa6ff0d8d349e81cc08945cf431f03dbd294819f22d9f12ff02128a27c37b5459dda302a18f02ddccd425522c4792955b165347e7615b9fac0cac7e330f34e070ed3ed889bf3eaa6bafa5e6b4f50fdb42e495733e02c3985449ab2d3f4a3dc486f2ac892572bbf338dfb09b5cacb60bf001a760937595868923680faa24b5f538550a6f89baee80500bab66c9e10fff8b18af6f6a597883b3938178374e4187eb1a5755f00bb6dff48329f6ac54e747a915def0fa634c79276107a1e234c7147bc6f38de0fe72bdb59a4388f3cb83b521464a4c423a4b408e948f6f3373bf2f8097d2a323330caf8f67c1e77a7b924434955fda33b908057c78b8fd251b890c1291aa19b469f059017e3059657c944b574036b63da2d7916de5ecee348ed577d89868a8b4cf725e3047efb111c383724b9667021b9b9041df7420b88ae48fd4b7f4cb39ddf30bba031e34ec566f656115e69bb5a890fda55da674f283d7944952c648d2aa262729037f54f4950a9067c1e8cb02f3173945b5db9e1d6f149abcd107408a86e43417337c57276f408d7dc2af04a5ea9d4074a2e4992b380655de0658fdd021451ac28957f4af4e90f80471ed0196603171fae09d5383558ef1e0dcce3c8d66525edd6fccf59cc380f444e22f7d05cadd4b256437eecccf2d64505c78f11e0a0a1e395872b9c7cbfdc8719eb833e2f6282fa91cd733ce49f3fbcf934a91bf73d9cf92ef6749184696d00db0bb0e14f641fd69be1a89d0e1bc7ccb8ba214c3477fd2d641b626746519d00c227bd210e015ad272a9873d5329ac721be801e13a5632187d7a3e168f00735d9967254e2596d5c36f07ad49dfad78e16fa67728d9df911215b8ea1a7bc58e2d5f2c69d329408522577eeb63f2c1d264fd7b2cf7ebaea4cb3d83d09045380ef1c5c831318e5b499cc6777ea9297741dc67ee03e3d4c7d080bb65437850b1a907c09f930430cf6365f9d0b30a6803801db6b9c9c17e5eed72be2fee2dadcd10b6fdd02730abc6890635fda9446c37f8b4ac2c40a000914ecfe67b28804c910b1eb4b7dabb5dcc9eb3fc2560ca7a653fe478fef9d08958fce48a6aec87bd4ff43a261e7ed562bdd63e28d98b027190d6d6390aa655c0cefd5b0dfd8192952fe5bda19d1275d289f97ce5c4d79bb9fbb77f273ef5bd62e3a7fc5c10a1011cff5ef8608259fd46c25833dac33df98a3584cb0f7713b5983e81cbf5d13ba3a604b3552f91b946aa4fede18724452f68bad286bce67b81447528d602084712f9a17772fde0952b23d12cf423e188d83ae9b3b101ec6bfcec4fdda304c5ecf025fcf74ca896684e18507f99ec21329833376009e8a1f3891e6f2d3da70b5a82dfcd15439da9abcd6ab06e45ffaccc855de2ca09dd4aa2425650f6aa3a2966565a43ee3690f3fe66068c755ae03b1a6184d4974c05da15ff85518e001901426bf203a8e311f00c9ca1568f419379f9843727aed64242d077451eb7d542ab4d3616f0e1b1c48a7b4d62c5dc5bf0374c655bbce9680225a7dddb80eb3fa617e966852fc5f34c980750dd0daad2ff46728b58c34834f2411b0be980d51b20a43bde9b9529955fe7b6442efa2351522f5b22547d56fc9d980c0b274f352ea2fd79600644514e37a3b617236b956f22967f1b45499f4b3716252a02799721bc1bf225284670a00adfb0050450361a64dffecc00da12f426f5bdab2d7173ddad1687919c31c8a32ef3db270f0ca1318e72d1c56d757459d89be56d894a5136d946e5b877f0cf6103cee72fd7786af1414b11ab7d4252b2a754763cd87e24502bcb581a10025480f122c6b6ce014ca51a2e0c665645c11330f5243118c5da1d00a15523fbe836493870f692641fcb38b52e42b20b9996953424d8ac372065fd7517278aaaa299121dcff3b751c163be3165d3e89fc58a090819965ba86b11c2640444130553c5b42e26fc40f00f5261018cf7be4efa6fb777fc0598320ce7984e815dc0eaf77408260bac984a08c335a0df93f32399b352de4721218129f62f72817509b0ced193afe523321fbdce3d05c5252da468b0ded16ea24a0cdb4eeb1a302caec80471c4a1165a3cff471dece96d9fd1a435ebeb05c61a4a0d2d617ed76f5950b215db92fc084935ca6a9cc3f137f9f5167d8fcaa55c403d3b0fb59c07bce89c2c048cd0dfe5502b7936d41f00b98354243d2e20ca1fb1638fabe70c857b6f33437b673f2e09b96924f34a798ed3b838c92b6e0da967ca805d4061a14528ac4a69116d6b170a21e0e47c81a03a3ec992280a7e340822e3299a3b66486636b7eb92f62638dfd1c9f8752efa521d4c3a9b7c74ac9bcd1bcf85aabb62defaa28d1c8731cc7548d41a75ebbad3ae3d816ddfbd3a8c02b0581d76571a996fa14df164d81c93d0fd31e62344cd22e6540fb9ba492826a3fab8c6e6df3f074d3b31d58d031001586470473d80585124790000efa9a41d3265fabfaf917df8ada5a25266b8b1f297082fe13dac21b008951dc2a69fa008ca3284d16e6e201b341594be35ef88f763671a0f156a9e712e58cc52a4755e5b5de7e177654082bdeb3f3d63bc1ddc1c9a9c30ecdce4b667f835bfe114bd4f3733e4070bd93841d382d8f7eef2da9137165515bfa3ac7174f54a5145582ee2078483a0999c13ba12ee1986970230a2a7c80f56dddc4ee7776fe19cf473ff23e209ad76e757453fdb806444a1abb1e3bbaf0bb5dd33c857a08caa1cf19e9c5ae053b31e2925090f16138d2fa5722a974d8cfe1fbf00839de6c97a4601c34089bd90993c58c988d76c3b35405a909caf9fb935eb35b57fb7b7be7f3413d349dc9c7169ba0712a44f5492a196ef0705f52c1a13b704222c06b26ba2c4c7c9bbfdae6104f1643cc60eb3e14a249334fc4bbb71676673abca591df04c67c525b20484ac490d0375559dab0d7cc10e0804e191bc892caad40a6ebf8ab7d9523e7b7a058d0cfc5d441970ae92904df4de81500545dd5b0817be6e0265e2ec1a146ebb78534d4212776381b3b849ad6ce1009b9d3fdfb87e19f51e5e9449e7f03e227dae1081ab915de47079553c1de2e6b3ba75f1ed61f17cae6cfbe7c0915dfdb0c4c95953ee033f00b1ae0458ccafdf78b2438730410a4c64fee1a72eae39ccada8183a262f1a1874fd101ec116781cacb897abc3dea8601562a18cb78877b5a562fc4c619be17983619e4a87759bc5af51943a4d201a1b9c2a93049a001ac30d4f86cb6c51c5553a1fb91b04a3348315ebcda2e239582d425d61e7cc38c7d2a343ee274fd67b086b5cec232c59ea663704e5381e966302d233edc75d5f8fc3c88c3b38fea3e8687933050d6ed5c31e4d5c59e2940c0283ea5b3cc92f78170e6f75e2c4688e485b84f44147c7743494645287fb4dfc57b50c55f9d8dc613452536e8d97f9292510293de0decd6c9acd03502a82405ca311fd14bd34c3766aee13b6b33025b562609859300c105cef133b9774cafe0b1a9111c915207149b172a5fac2c86378410edc166ec2f768d02232da50bae8f65663160a1eb23259c078ea35e03e00e4f81de77bad8094dc55d5d46694a4906e45c729d86f67df06501b5570802cf00ff3db8f7ad75991e2027fef3ba21fd84e739a423642207e761eaaa5846f10a615d007ab1621bdd40585845bb3df420e33532dfeab974690343f0075617d09a170e68e5d427da8ae30860cd9f2f2504ab5265ac5050bea7f61aa69612df4b5eef1d133bdf20e8a2c6ff60c6ed49583251c5515e9fbd3f025c008533d1cb74dc14fa67cb7054504f63a045471f4025a073e773a6b2fea9b6be55fb526cf4b65dd06ec80128232bf22756dcbb745576d3e78a997e02ef19929681d7dbfde15de5bddfd8e91101c50516dc3fa89ea8b64e85b8b5d9de322d969a7f71105a58278e23776a85defbefd78d1b0eb9bb09680c709ec3b702485b74a48dd28afd84d72168e148c5f91f3b617c61eab5f201fbcb81991620019dd3daa550acaeda26536e20e3ee2992fc2b207d5ccbd06511fbcf19e63e61d591c9eb35276418c60ac6275db709cac40673eb7ea3c4d2d342f0c27d8aec6029ddc00f606e55f86631384fe412c61ef97024046ac34564483c17a3f63a4e96176dece5dbbc6938044c673d0910eb7c6d7204f3e59c4a5b027cd5f646968577b514e2ad4f1da0bcb88b1c0fbbb630697d28c45a64e9b807aa977a7e082ba114293e092ec717985deccef42c8acd170a70488cdcf077bc663c196d4c7d1cd5e35adc66fa514e6a4e20a0fedd81cd3d2cc7f0bfa76020ef6528c7da2b3adfac6de0e25094b528c2f1307a873a3449257fe9bb1463da009c2aa65e3b23c1dfc0edb07c57d1ca97fb4e6625b73b26fb6bfcbbe9b9cddbf13286fd8e58babae5318bf68725b154218f8c1a26a97b4b9b45afb70d943bb75a55648b0fb6831fab130427fbca458517e551516ce746d50bbb4e6800e85d8dd050ea43df5f06698314b7ef45028041f711fba438c0760bef443345f53aac4fb89a31707bfa38d88c8e6805207eac098f6abc14c86dcce0289d018da8ad4a47add1cf90742dc48ee9053f31b9dc2a23aa4c0ebf09d0b8b2abfd5b111f1411ca0a5d50ab078bf813f090aa93b0575a0c784fbcb77faafa95428ddb9e02a904a5e3810a899e4d75a66fc43ee30e6003e1fc987fa1ab91dcad63a5e9b9779e6f6b1d0cefeda79531e80386cfbb42027c27e6103387045ecd5ae7c64677973b2dc4ac57d715ed780894f8a4af4be3d7691bc4af4c32ff3dfde2b6ddc61144a8ed9a4794b6cf30ee4e49c83b605ba6bb7106ca95d55fab945b7595642d816f912e64b64f8763879b0e6207506e0a4b652be2698bf9ab16e5a8731b5798f7487ad09a5a5b55dc56267d38049a8e99fa052e300761cc011984f9d24c214f381cf731a606dcddf8a1286b9f845ea3f17a0ef9eb77a2f96953ac4e1073248da8ce6e62e605a92bce28ef3a19fe7f67a8b1486fa1277d5440409782c27e9ae63593491aca13dd7705eff380ca1448b3a2b6dcd25f6a0fa24576107ecbc99a8f21182d970f4e2357a3549d636447ab871e8c286138111bc84797a9a949be106ef725bfe09ae1e2e84b5af43c0849ceb3b829b0d5c66d6696fe81b9955289927e356e449669282983e18629bdd64f8e0e6b0aaf76951e218823ce5a28ac486c16e1f43f51b43d60dde2137976253f29d67221b33b961a6f4b72bb323b8b0ef7775a8edd14f240220ded036f4bea5a2f0c4be5d5d211a17a355fa84c09790199995f53ad90f7efe350c2b9559d8a9e98ae6d3131bfdef266bbf1240b987f054607918ed6042bb4c2c6c5b0b402157dc5b5f97899ecef54c3cc587a8b711c4fbd9255284a738705f520b28399c6b8d953e706ca224621ab146de1756c641263802bfe71bd3b22ddcd85ba5504e36d124b4e1b62abfcf56f9ca781ecb3fae17b9abd35940fb948a538034afc85e2a52130a6be89735382d8881b29b5598231047103a6f4b72f17420a9889311bd005ce7546d0396a05bdce9d363cd270aeb39909286663b68e3821081d39a5743bc3273ee5670120b23ed695cb0a37c0c1db5dbd73faafe30ebf1d71773c39c79f955b71288a0694195373e5f80c4e3472527e0df29ec3659d721a51a39b53faabb482332d50485db8b4d33535c138a2402f681b7537b92e7cfaeff88e85255e583ea19ff525d0ba4f36dc402b5ad923fae2000038c1c38f9becdf0bfd5b1565bf8e178ccb6fa0370c8d342d3569248ad766235cf8de1439b303741ee9f5b1f41451c182bac28ad749702f35fb1acb7628cc7094079d4cce39dbd35898502f8714d53d24b65ed2b7cb3ec88ea4dc33f4e9855aa2d2e676376f7d4153c817f0343758d21a120cce4361075f6d69b547f4cb5778c4998153f442dfee95b4807f31c67bdf693bdbf9086736cb6597ea6650dd040c8dbcaa277909d2facdd6b84b25f3d529d21d58790a6acfb777f9fbe1cc30fef41cef1eea2ebcb3169a5bf45f09ab778e591221ba46a89ea13f9854559b0d54bde88db8f741350dd33d0f399f5cda85447b832449895b0363a36fe341078246315ca6edbaaa99fd2ae8949a704e33c0bd79801be18899113d76e53bc6c4f7249538a8cd27dc9023493254dec20b05594527a09c320cf86e556bb673b0482676a5600e3f86d811dee7f841384c291ea3accec6bd27357f60ab8f1f0ddeaf2a8d5d529cf593ac8443f48f486ea3ee5802ea95e12cc509d7c31451546bd92415306a831295560aab9d034c7e38513620251a1a9f14d3dcac06dad4f13f18dc1cb3d40d17ccc63f597cdab3009a6554454cab9772e58392b5c8b58230d21d6a0be643a4d8afdeca8161d433391408f0ad3f67ead64fdff482aee402e2c10cb60795aede7c32852dfb9884caf75d8cb4a3135abe96c43978272adbaf9c084f50c1afb0276f7c228addecc52768e69aef7d81275a0c49288e72eca20064b02a3d2a5b068f5f5dae2495dd9b44353288445b102de65cb31a77ed8e6758a82c3d3dc6892e12357c90b690a60752d35147fabbf0ae77d7d19853a37ff3ca84946d5d013724b37265448b0886f86eccab3ba3d107f01362b3d142c7a34aafab90a7bfb609b66fcc8690449282b670e6c15269e7637db6f33e55d088b0c0230328481e10b47fe136d1c25422d8c5abef94eb3d99772ab131a5e70fecde4f5f72db6e56c0003e3e874a3232ad965645b0f1d1807438518ea38c348f95f88cdb80b9c0a221250e52a1675f837795a0c3108e43cd3193cb52a8bc2b075928628871757179d193c9b82b8cdb476e6058a39e78fcd4d73ee7e064c1ed3c9697fb9fefe3a3640c350fd8a9f17775a8cb21f419b1936c3d22a9c5240aa10e89ec31c77a4356344eb293e0eb02070f04d39eeb0e3bbb6a61b41707f9cf2f2d1ac45001c013113d08461f0655940e3737270f4be86f8bd3bc1196d1ead3e43d524d2830f135de09e04f3d3ffa94979d964272a8943434f421b1cd9bf1e063c62edec65d19d8bdf0273b5cf16cc96e9e7d5b7ec98a928d792879f7937d66aef996fb056a135994b7c7b79aa19674b104e8835e81494277e3f6d8274cb5f8eb7a75c64aefc98bac175f5a0ac271742da08322cf8795817f4c24531a231327faf3ce50a28152f4d8ada7e55ca0b3531f1df675efc99206cbe4589d649d296c76502f1fef4c2704e2fec9a2a08cdea78cddbb1fa6b9c38d387ecba0abea03af4e23e01ea317fa775ec3a9e2e85c27cdd425faf51cb3190fb72c8ae1e9a3b4e2500dda79ad90a9d2c03d747b8b3d29376dba317eda6cf58ad23c20faf5e41da24392eea4c2618b40df96cce2435501f30a18d3cb228ffd7ea009954323bd54cbb27c479331a48c556425571ea6382efc2a055aeba13502d4cb7b6891635c216ab4338d70094b6586a2732d4a34602cfb0a51d7022d04cd40d89d94157b7fff6882a371ba5b9cfc934569d8d7386f10973281c77e1d0c9cfdf43c6b3a79cb79b514a825e6b85b6da787daab2b3a439efb8ea409ba6bde288e4d49f95c9c4cbf103018891359ea5983b85d66614ebe1eb43f1f32865ac5d3b76c377fd441f2eb3435c7999f09ecc02209a7121c1db4ba87711a5968fa04f45053bb7f765ca604a97bc8a3475178aa03f606fdd32fc38c4947e6e4e0112324308a049a45ca62467feecf378dd868b31f449dca03ceca2b52b66ff67fdeff83de26aa8efda5bc16789b24f81c0e67d5b8975ef9acabb06135c8187dd4f411032774b62333ee3deccf1a357e31c8f8f653b91984fb96c01c2549f507950acb80feb96d5978d6dfdb3e0c2ab8d76959204bdfaff32a84b67c66e5520c891f871096c927a0f2a10a88980b3a81307c822b1747c52c05c4b410ed78db85d02a020bdb2f36e914180eb5ae2c0770369b777403be61035f6e2f002190f5e674a96e0658959f82a4c5e704d17fe0b7a0abb86dd4a8cc044fec1512ba1da37c58d8306f8575a6c291e6968efb0e8c6570885564668116e524092787720d3f87e4bfa993cc66e69f19c7150e9a91d28972e37724e1174da60dbfafb841b2eda96dba2671bd282d6cf066c395c3fc8ecebcbfd154b9bf8324cbb334a97f29bf873cd65aa1bd3c3a649cc1bd9e33ceb3fe35b83d3cbc5c2e730535083c3da20cbb3932bb93c108387f9b8225ddcc5df97e04afa134e10ad88ce6d232f2e3f753ef9c5b52457924055631ceae26b6e9f225c2929898a061f3b1b66bce38735a4531d9ae74a5907f15732648ff1224d22a9173db96b4b05d2cfcb0863f4eff4fa631c34429bf4828d9da45b810489558849dcc91ffdd870bb912e5fca1e250c7f7ad7961be8f4bec28e338cfa7bed3140e03e8d0a97ded1bddbd7ed273d7fdf50cb095716f47e32579d1a560a5fd8ec65ee8e4cbaafec3afb189e15e876290ed2b9ae17d85a53023a6bd5448f4870a3c61c4f903f479901bc83feb0851471fb55d6981fd4e15b5fb0016f9b60e9639afd185674dc9493561f2b27bd4c248bee0f1518399b3b47976d89d748ec35879fc137fa53ffbb8174313291047a2cdc9a9e2da9975be6b37a636d46289aa45ef8a20a72776edb3da711af0df8ef7e2c1a1da2df55affd6065cf84fe6a835109ef887b1372bbb86965d22d1c1f97e153fd8c695d108a5a3993aab13332e8f38a391127e102106244cbf26bccac727a0bab5e6402c547a0e8cd350a920288d68f462feb75ce5465456e13247e459d2d964cc231013cbd2e89df8ef1368c30c1a9e50d6bbbf45bf94c4634cf4f8d3f21ee0db36501616ef015b9e23b39606890672c0e384ea70664e7631ebc842a1b0581a37375280faf5926aeffd8cf8bb1a663b99d32ead8ba79b0cb2627976689ef088740bcfadd6e70b6848f1bc4c73b29e4c16a0c448dd8a60c42597f1ae9cb28c409082440be1abd65fba9943c46065287aad5d17a7d3bc9662521029d0457bb4940ce92809c15e5b7f4cb857a924ddc8f6a9c4f8d6257209889a70262831142b497d3a3bcd84226ce4cd52ae6d6f54ffeec2fc656f7ff57685011d633d477449fe51bb648cec5d2c311b978ac45df664d6798a1789b470232bba113b294fbc87ee224e4b2955fc270bc3d080b9e1fd77cbebbdae29fc24904525c6058a5a2c6c4f6f5d5680d886f63e4536e4e98db8935701ee1c013cefce4de4c40c10b6caf0c83f06e86816e79bdbed7e32e0b4ea24fd899cec43f1e7bbfe2277377b0fe8fb81db03b1d2720342ca082178c0736c379e55913f79ac523180d2004b93ad8ac227eb73cf509d777c3f37fb110b60cd4581e39f22c122f9ab2576a460cf48cf46229c3b294072ee8455556b14cb2807d65a8509d5172bdc18126aebd763a5ffa63dbcdb52b7dca3d7f974cbcd0cc899e8e3d7f4365fbad818058d37c8d3f3514dc29b7a7e0085f9d392d4b388df5fd63d274e53ef02dcb8bcd5b7b5f15d4ede208da0768a8ba93ac6b731cbefc25673c4f95850ce3de65fa59d0f973b966444f4083935add7d4a028df621fd122df1b7091b568ee0ee474983e41fc249089f6562601af25e8751fa4348a9b5409642342db3424e31ae3006cd7f9031001934895e3c49549efc0a4e406b8292fba21476e2ac4b6b77d17ea63c907d7d9f639d5eac9340408e8edcb83fb8ac06775094f6d5c60b444d7fab5bc3cddb0a8d0b9fa993c9983834c8fcc845b8544e1883c38e1a061418f56c530918d64db49b2c389555557cfc2368d11db1e392727a3e0ff6245a34227ba83103d87473c251bfb74b2f6a0a436fd931056cef5473e811b7c53af90e76c7b425abc3aaf5f16eea2c1175b940476c4c261ea253e09ae270d1757c6cc415251d1b960281d9867d561b27c1570886b515ac19f109b8676a110a5b06bf62579311921cd06be7250c05f33dc86655450c9ce1ae44af0297d15c8372be08caa2b96c8be346f25edac85a2ca5e8d7efacaaea8bcee88e199c8f94fff9a8a31fa51672ddf944b3e7396047a843192496b857adacc43422a92ccb50668f13abf506217eb6308c832e8d0bcd59977b39dce38158e5243ba3eb8e9ea972aceaed8965b43847e51593aed88bd5c3cdcf7280d72ef4202acdcb42d8244ff8bf07f9c8a9083549bf120e65dbca429521007cec762f24b4fdf69e09983d89702a072a8b0f83fb66f6ce467ae3c4163a8e30014d9248cdfae2c3c884622b6ac4c669799700e4ece5099ac7f8c8845205caa9624184562166f72ae2a8e91c49d26c6922d074dfdc57fb33912535f0db74c46afcadca46e1ba72f687961ec1d40d159aedddc8586b930f53d51ab62119f2f76bcabbd4b9685056fd61f613918030321de2b209223eb9e80cbaa18987a7206f606d981920bef01a489052064e9fbf03f9a67fd61caa04fb114db313cee70d19bf2308ddb15e9bbdcfdd74d2568eae5cb50c2e340275ed8deb3e8b3ddd289d541c1e5db9ea52d9a26963dffc244ecba45a0015d770b484d9aeabb8419e644ae4c510e65c6fd9a6622266cec5ddd02aac9ec2030f2572d3c753e165b01b1999ba4dc64679a60a0891cecc1361d80a30c7fd14302adf0d20847bbbe044af2aa9df810b3d0e3a5d20f48b8f2c250662a486be133cb504967a0b33ae72fc7fe3f66582debf6a06b22bb5ba7b7019e0a7f862ebe9e89c47320ddecc4c78f4f08c84807e5183ea9c9e2392efbac82b13716cb9f4c0b2a2ef4210237a00901c860f4d14ee8cf7191edc0236ed387f8e9c68d38a713a824811169bdd418a460cdd491c2c7ab771280cd6d620c324bc9bd2c20abbc1b953eb40204a1c283a6f17ed8d089fbc62066fff08cd3812cd9a46b6c9890cff03e91a697e1ef932a178adac8794374c7cce204460085e870e5b44b61231dd76391e3886f468d2e86ce3f27ff9bc93ae76b25cca07b04a5b689337ef76cfd4f4c793003fee8d09fdf1fd777017c4880111d3d5524787bcc656ec378b4637116ed283550938346f62c3f9cf2b0296a9115d858b5c0ea2bc0fc055c45fa4c00d25024217071b7fa4fb3790692b205175d1bad0dcaa67a0c00b27660b8c7234ccf3dfe87e9e843755969c157f50c66740897207b987b05b71055ef170ae72c22c5c1cb49d043325322c78de184d62a9e12acbd44184e42336d991d07c975e53e769670d9b9b04b07b4bd818f53246afc5ee88a73918445c9b79c1dc964aa47bb050d1f36b17c99525b9f79a4bd5b4299a2df9e009126dba0c56d075cbf615e1ebb1fab4e44b285fb1d4e171e53ab6cf10da0b6fab0d93823eb5018458245917be8646f5ed6d70cc62b33cccc0bf2074f47d79dcd814351ea337f9c6989e778dc42e6c849b9d29c743e2379c54be04d9d9cb13defd92c5778215141042234327227e806d85ab5846eb2d341e8a4cd9dd6445a6e3998ca465bc420860d3dd6854d429a35476473160d99825effe9a1a30e61da0b8e1ec6cb3f376c069dd4ffeb0764825e5ee63e28044740fbc2752b2e4fa55bf25b675613dc49f577371073c70ba32249419b8f012ab90b9409df383ca323c9f9ec4d492f145ff94574a3113436c21ce8b218c06aa59006ba6c2b4bddd4338f6a702301d149a094d1e9e96818fd2422b9e905e01db6b52b219600200e3f8cbd2af3ee97378c7ecb3a74f013881c59cffea05040c0873ccbb85503f020db5a41b50732c12c7015b70029ba57482b8ffdb75f89f3e08dcc9062bfeabbe369ca1ef9b9e4bde5c3000d4d3fdd6fe23b21a9b18c8b6420e47df41099998766e306bbc46d6045f1c37926f150f00e9c881fc0e5023641e29e8f6c3a153a2980202139a287971a240b8a6399ad84c27036c5d5c2e722c69842c5a91cf855f40e50a6bafb750ee1232dbd2d0afce7b5d14b930e43b385fb11df30cf5fa44eaff835224f3b8b1fff83cd840e5fd912ee64c10452c27f37d61b9e2479d88e6946ae0d708ca59f58b185d779a3745319e0a88e5c71486ed1bc9e45482a99fef135613c0144a99b9a8f6380a35ec42b49c953bd9980878af48bdb4ae7a51b7980631810bf4da42bc79b8d59bac7a5d9337236cc2165066322cdcfa52c8a5310e6abade379cef91f3930b9ff18cae3e8019fb863fd391a6e3d296cec169176d95d057ea92df456b91cbbe44614b6306569104c847f649945f71b368560781643bd285dfbb3cda52d56f63f328188b117d9a1cc669702876fc4f04c9725b7d258d442f32293d5f3a17c5342026c556feed7d8f074d3e8fe5b12977380e08699af5156cbb360af420ace09b7283b3b57995a9c57432ae4016dbc461a5d79087ecfb264bc81c17ae5c7f3644302fbd3a0972052ee800201cd8f5b27e3d38a91ec5c0ea100a58b8ca2636b3a0c0bc42a7d35d88863ef0af10f8349cc4556ee18ca284ee97a4e467366c124ee493ffe07486097ce3a51d205c7c850f4b143d6eb21059c8674a9896ca62420315d381e78d76d4b9cced8228b2b7571fe0a875975a7d8d9617de9e8286f6dedbfa48cb88c2ecf28ef8e1a9dc02f737b59c690c1782b5b3790cdb0493445ebb51d2052842e4f629ec235869a8bc93e5e3c419e5f6a6550b60d232205a1964e2a73e2ee19a90e7983a3f51f99711c7e4ce22e1030e00823f575a96ac78a2fb29ca1ecafeed21875b9f905a9e80d188064acd0186a330122cdbc5012feb1895d22e173b353c4faf3a3da785351d0e4564c6021f4ed95a0d99cf13c971ea7861b6f88b968c21f0db1879f296cef9771566f6b09fd478bba7384ca16cb9d84a5639760e5bb89e9a82ac809b4543d9edc2012b264bf7ac5a3afb6f933354e9d8228462c2b8bb536bf9c57aadb286aa7b8229d72ac275f4771dc38216ed963f1abaa40100d1d1376538149822dd814fbd52cb42a544cb86e80acd8a7188b7bab3f50180f1a6660572fef1db7a43a7b17e4bd6cc416fa9b3d414c3241483987b36f7393f6bd66f6c2712e294ad0c16291f2be3056e185a929e51728de555d3d10b5add690e45c50b86e6e010363bf7bb8a018d132bfe2b6420f11e2054310fc308c2368dff6aa29ed2f1daa613d887a4923a7eff3a83516441c5c5b88c5a3b00dad34c654c0c2afc858647a4a3eb6221cc8d0914e2a1b9b8e8e0da92b322fe52841beb7034af7cc25162cbcf97258c01c57adc5991afaf01695974367ca25ce555165dba1ce5aad0f662173f0d4f4077693acb4d1bd7da5b084dbbebbb088b2ce4b367aae640fde9eb9287be6e419fcbf9e6c3b1da545024e618836e04487e9c13e88251e0e73e6e47b7a67d4471fe975b5a0bf8c0d34b0a037e12dba954c0a9ff48a4577df227883d86bf7e081d6df302d43acd5a1998b8ed643e575bcfa8354ad15402dbe98098ffb84bffb26b95725216fceed2767e43d3460b878b209f0822c3d82cc2fcfae0e501c921a7ded543175259b7bab7cc292359f2e6589037f78887564cb549ae4d33e9747a63cfffd4f0dc261c53a19f200a28056ab219c18250297cc425ea3895fb41609055f2509d326d52f072c8f8c76d3db14a24f21a6dc6de01abc1e4fa6d01baef6bef274567b5f2e1c026c054c4d0d1f027d3e7bfd9a08a55a746bb5f78a2e76053864904a0db5ded254956622fe7ff7d236d201f5750d446a0dd234d46b61d77187328bcf727efa86ae6485ba563ac32e52ad2a36485e6b05f33115f8c47f8c9bc13a69ba0e5a1b0d6caf5049a83c28f51227e4ea8718a37d5fc0a395eddb9aeeacd01335d5bae69b257138ba810bf6dc4c466e28dc05d54fe1ff1bfec6063402f81656893e3bab26c8892f2de1e6eaf95d08d2d1311db749e55f3a8a6d086771e2045e04d937e16287070cad734505f960f670c3f8501f56c35c25f551ea85f1bf017808a6958f2014cbc4460247abe409a5a3f937d1bbab6d4c187da72c40fcfbc8c13c38527c884e9e4815d90edb3b9c32462e3018a127e826c8ab0dfbb49a7518990f1762c46d3c7e86ea125bf80eed5e157c2b816a1e67f3e1d040ddaaf15e8705a640bf24f3f41e7a5061d41ab9cbd121cc0f915d53958b6ca8309a4db8d0b00ee3d5ea9334de27eabae16cef2f82e9f4cbbbe8b2147284b70dc640f3026eefae2a002290608b2005528040461195f3f848affb61d2e4bcc1d4f29ca7cd4a17a91bdbd7c20cd962f651660399f82a75243767524cb6f11fd26fb2294eec51859389712e318abc8f3d345059343872f3ff1e2f81d72f24a0d115d06d4b23d7216aec203941a3d90a16fc89b4afd909f0503e017182b9526156a749c0c25879e2cdb1edd9899373a903c455b2dd278c0967960c7fc179b3b3e565dcfc756d16843b7152c66babfe29b63b520cafff0d002077f5bef91c676aede7d9c93cd74cf06768a32485cedef2d79fa2b3686b67f04bb1ef48b9dfff0187f91aaf583953a59e8491c7d6906401ae75b55d635f3e03163372d6544f4c2fb6cd679ae87b150cf28cdc13a1dacb1aa3de0882026cf674887dfa00e8c8af7ab5da884ff7ff118129687d05910d32801a57b566e6b8b28b05c89373eab0697dc5b1a40e886b5974ea02676f11c4d5998911eced432cd57bab39b600b2595a5b7875e2a0a35da41651957d720a02694b122cf999c015ae195202c6dd37239f0f04d12635c6c1ed04c9167013942dffd8ae073a7eac11533863484e6a741cf5f17f8c6302325763f191fc6020afd2a8214ca866024a3c0792c7ac1a00b14ab7d5b515b369c3fb0ecf6db370df1198eb3a7aa92416a57ef030edc2d407845f23e966696f1dc8a61f06e00348150ffe442c489e8115cbbc3db5ad39c1f15bae780bace454bd5f53d8824c5c484474f37a3e8d3b495c8250899e2c6aafa836edc2faab30d161550ef01b26920ffab1df9e71075e0b0d8bea738027885f5b6defaf1ddc3dcd55559e6ac2089cc7524017ab86bdc280d03e36d5e2496e91372cc0aa2b95a73e06011005903f5d238e2afc4aa00b58f30f8e946d171224eb698f694f576be58082830de9eb70980d234ee6db6278ef64686af2b280c4809f38310ea66a73fcbf04d87be49807d1746e6cc4591a9da8f2b8cc046a12e624d57a89fdc7e7c95ab0a4af989805ba20fa758707afcae250be707ee2a6171e359c3c6c3e21247362e8a11f6987ca3de97f04911d62c3b1028a4d925ba456974249d8d8ec2f3ee18a22f9907c1175fe109cc8ba9b4570128d37888f32a1e2df0d4c9c12970ccd459257bb96aafc36c3ffe42666adbd48125b3ec173cff5e75788a8b4fd40b2acafa1ffd49a5f57bbe4f02affee404849b7a8dfbcf4b3d2b0576ddf5e49ac913a7f38fb7920e43a4a593f99217de2a72f4ce4466df6d2eceb3fea57bdd595aeddca0e76a779b62ab70555dc31bb0e39638153cfe8d52cc57d5d1c2873effd8f6b57a7aa2333d8c7ba844c08036099453911b4c203ebf32fc47f0f4cbd7359217051d6fa510ed32fadf795121ff3cf0a6f2b60fcef9f83cfbf9afc3c67f679edafae7258e237658a134670dcbbd8ff23634b99b6c8fd8efacea2500c8b99e9b392ffeb40500c2e1fa971aaa348efc7792205099492161b94a3cfa95604a3ceb11b262413f3dbe2708db31ab2a05eee9d159b1af5a224c5670836bd588f30e3824c6eabbc9e58c24f1248d7c8e63b4554718d90f7902577850f337ae011bf873d13d2e44c15704e27536c96b7fb017f7774e1a66ac3a04935e8ccd0e5a76669cc7c792bbfb5b0f0681834ace6583dc7a2b0020d287816160ed4c4cdbae9c2dae5d993d2ae0d32df58fe9cf04a27a29db990a1f5158eddbe3b45bd1e04db2582ae2d3f5712ca9f0c4c14254c39210baa0a6d7fb97738f78d2401091c62646b6b96ea3b9038f0301cabe1ec3896ebc6bdf0221c8040f2695da35483c7f4283719e0a382f01d87e0c1847a5b0f8c916353e46a45ac8afb4322683220c46f1dd6eeae0573725f97a26678b22b3fb0ce77b10f87b6696b8309c86c60a3ecaaa3aec7288eca76f94fdfb3debbb849445d53ed77375e6b83447e12ab9bae27a2ccd8eb96918a5a395ad1e7c6495130af02ef691cef801387cc633015d8df90574882b203dd857d83d50461b11839f95bbe905d691e1cd09226870be250b228205ec4293dadeee61ec9dd83599004658f444ce6f2a8c76b46b5481c71adf73cc5cc7ca39f09334df3bf261ca5e772fd131b0615f1a90984566e16cf9ca61a1d0837b6225bdd75268669d00a2b94c3d6fe992de1a6a2df12df5c8f4f8f585b541d2cd3d8ed4a231160989be973827da17dd042a902f70fa71c8a32c474e79fb613e27884692393af389c015404a1bc997d071d12b6623b5442552069e0ecbc3febc563fdc7a5191879d5a44203c65eecf0404f0dbc915033cb1ae647b2468c341cd24bca6fac2a3d51416b71e872189540182f5440a282ef20dae88c2296d4fcbf7e0b4664b5f3ab00b11a7f3b4011ce0635408868f634e44feb5a8fcfe231f8f5d2f9785e416187137f408b47e3ab2894d7e3955386df3caf8ad11cc7fbc2134c5c41a40178d4e69860f6f01cb9220ef246cdb7478db8261ab89fd3e07ed7de08dc37b0b58606cab13ed37f7d0e5aeb8a228a6a44404a0ceaab7d81eccd4e2e907295d939b1ecbc6adcf04883154f7e3bb05f37b183061a2be8992297333d4262d0fd6b34d09ceaed16ca36d36a781f1d6a1034639737fe0585a47e842bc52b71b7e2b829d3dafe967152e0c333b3a5b60f1e1508971e4b411f2fa65069095c24cdb7ae51838c1084a843fcf16a026d8943e5461613f1d3449023dcf8037f68f22a0e2e0f1cf7122526efb7935be4927f724f8ef8520db4a3491d5414d8d784817fc096a6bafaa38d24983dc2aca49e799aab9503cdb51e7304f1660452c3e2786323b7bbcecd1d4a83017ef71f45339e4b0b2614ce9df6303552eda5f2d42e8cbb5c53d21991b3e7823e439ce63b32e2005be62c771b27526087f1ce6f25bc2a87a03f8fff593397972f70fcb0d6c0b2ff8feee62db0e1944a862a25175d1d3738f17b384727b8e321d3efab2a1d3ef50caecd01a714730d7ed94b31e661f421d2f027225c1c2da9a500513d5f0817283b061e48b6e74cf30b5919e5036d15bf6318d3bcea9b2e0c346d1f598828585f277f58d1fe4de6b403188c25daf18e6c9213007f2a34f2bac99f29bf20592f02e8415c489982dd01c389d1a6acde449695656be65be38d702717c1c0b918ccc3d2461e416dd7a22ab4ba6a350dda8fe2c61cea9ae1b8e3db101c43ab22b002847a3d27b82dd3f18d5516b7211c9c44dbec9aa3aff42515eefaaa24afb7a130496c483262cc1891f9d9338c8b13be2cc1da4e0343afb52345ba4370b3403f0a8584a1df065f3f159faa47cacc8892132d816b8189e30f51dd67fe5600f9fa66254c54c25e2da4531271372a8b560c530686b7158cbe513b3df9d177f9b3afd16eae9ba2aeed100a8ff76104808286e8ec79d53374a90f75ae3a30504a2a8921c8dd831ecd0f29c994045cf070852fbba53e29f97a7e3e3299a6789880e3b9860ab9a482fa734f2ac11e9c4cbb1b8138a2df50a17fcc897a98779967262612a9b3e0da7324a0d5ca7c798d3c3ed4e776651de8800d8a5c41796d94081f5a3e8f0456776bf2054fd71e8dad4f5ca37d4b95ab6f9d7588b072584c7956a1809acdfe5b0e60fe459d43696a25d8a3d2a3c52ce8b221cbc3fb5450ae7291768f187166a2c0fc8a8d587783602999457078ab2b70619c9cf7fa7804d60f3f9ce994f739ea6c99cb3391b5716df0f116706f807a58eb974e04f4c870c885edbad69bd889ef47c8e597ba113b49c4683e13d8c254d2ee413365278d1fb5227b07dd3b49ba36a8eddd9c0d4925726814b38aa67e3479b2a460013513e57345e08ceca431b82033f9fa826b9ca62ce3ede9187df3a46d245bb4bc108d7bcb381f1a73fbd4003dd682b320eabc711267903aa36b2cfa04880f9025da5870fa6338da0e7e46e2982438d29a64df037d91debdc4657ff54e89748d8683386af29a53adc5af506ed8d7abfefc131fa1deb879d4da864caa19a29fa7767d5624e0c291618c8ea2d5b684c5ab55eda177c0838d0c40ecf7dc36936702b9dea3f9ed0eaf6c5cb28b85ddf0519596b53431a559d908a42bbc3bd89068a6a4d5bafaea17325d4281a476dc1c4f2ea3f3bb12bc4d7a4145c028fa88d0aace0e7a092f229f453e3f608d7ab8368a35e8a9ff65f671d2e729c2a3da64695f8eef1847fdcf438e9c51f91754cb3e4d60f410bebb28487825ba9105b11e04a7488062303bf203327b9dd5250dce7315b14cd77ff23f924bd88cde1669564ce91c85dbe30691a4b817c4bf4b25f3046c3fb172e0ecde933e48fd678cff79227a5a33df7612ef75a7da949c1cf1ff0be24718ca122bbc97b582d1a41026774b105219f0a8288e938879bda390324b7937e3882008b077af7a44baff99bd917865728ab99a718c757275f75ba0fc6392a232a5a5333211bf62ee243197f7ebab7b6859c814c02d26a021ab3276015c074a5902f9559d39cfa7539c45cf2c331f1d605ac160386ade3d729f77904e18192696f8a575896ce92f294d842b2a8c30f7d37ede4db32c6c1f458ba3919d5dedef1da98147acbf30463cf1b8e54fee5aef25038b17cd47083a0ffd7f70319faf1c077a9bbaa966470654ce96f78b2ae08b2bb1cbb3f7e7ff37760132d8d7fbab561b828fc88e29076b9578f163bc22e2ee6d46ce5b6afe510cfadc9e0b86266ea620a3c4a19466ef2fb9cb14f8382237a433353f1e2e4b5729ca0b4035940e6c0d1dc0fa368b1f0d9d44f6b49fc9cdba13b743d61c0bb8bc04335a4747ed2b3088a639b8555fdc4755f74c381bd4d7b7711660435e61a1a83fb1e229fbd00455a754e55e3f8d13861ac45ad95104c155297de7ec26b41d83aab457bbaa503ee71b6010c1f0340618680b8d56cf22167c4d4d23c8c55900f0144461521862f42fa8bcd7449c993f44c60ecb9f1c785c237388c8a74bae054d2672189f53b1c2ec068bc933059e12ed8d28df321e8c32a7a2e9efa36b34d98f9836acd4092d4f5227fe6b5bd98cc8b969859af97b541a8feb251c6448a9abd0a9163a52193a4e14c13176106d6d37f291f2f9a00198ea1a2a3aa04b8fd0bbc6e1968e0d49fd4d819a9755bcca4a2c8228e0e743a9e0645a7ecca837061392cd67e6ee84a28dd56ab142870705b5242f673762793c2c4aba6007d6cb96671fe28bff4f79b8459f7ff7e777897fead201dd3be4eb22809893b28c1dcda9c45208ab5b58ceaa03f5c28963a4a885a469a41cbb2ecd656e5d2a7b32504bfe7c971caf4df4ba176244bb7b08bb4aa4065fe443985c6efb1da5c20bad84cbfe1db6c1082f16ce62e8f2f25bc2c0698f2e004226a9df2ee16086c023b15957a7679bda06db87eedef2ee29ed4a99a1a8dc8b0a48c933e58ade855b2633c47e00ae1f92a1ad9a0058b6d83387ac33d72c737284e9081bf597fcc3126799473c51bd968a01da4fca7514b5fd2189d70d9c7e80571c05c9c33b84b41886cd48949656d8a994d874391513442929b72cf6f156b0d45fa0cda0447ad36ebdda11f7d46224a11cd77ba0c15391111999cf5775b0ec15384115ac9a9dd5a89d2175dec2073b3a80b7ab19b55fb5740fa5b819289a19883347c199c313dd32cd94b3c27bd6ee017652a399871db6c2b0b5fa23bac56ecd6fe4dc56a20b9a328394875adf41c15a8a5b6dbb69d2d9864b23ba0ddc590efa27e4b8ca5bc80fca29ea11f4b2dc39bbf9d7178fd81a4afef73fba036d6352490460653363b2a341b178b3022c879926e22aa1645de52c619201564795fe902751a3ba49ec692ee0d2fd02d5de71c773f66c0eadbf7d99b2e0546e594a85a53b9204593b2f5f0972e4dae43b28fe14b20e6a1828ee4514a3ed6be11b75cfd27ef5c90fa8ca1b3dd7a77e4178b623be801f3254ba8eda6c94dec5ede7d8a70d58032cb1dde1f30c97a2db1e168864c47c17e9e54a762883c6dc2cb0d8714a487d5152305fe2854816d968efd2c03917f9ad5064f2ec0a5779bfc564ccc26e972d8ba3e66162c4578e3c83c6bccd21a026e8067d734c85b9fa7940a580e4323b6ad45892e7ec2460f695aba985ff3f75aaf481175e74e552b8ed623dc527ebf42803d26fef14827f9d319d5f13e1bcedf4db58fd47787378064712365934bc44ead224b40f9b06093aada4ac5528163e9dff5ad0ea338b89d31f7f14de0a5b7b280bb0a4b6d0373820ac155b104929711238ca6854e844108dd781c03585974b323a2c49899d7c1a50355909cb1178671a53854272f72ed9641ec77464f013f59878e87b73b027122b748e60892beb775fc7f504dff4d69a0f9fca5476927a2a56364bd532bfd16585026b6b3430708c3d4e25e224faf28b332554c563a5e41719986125fc3feb891dcb3dde51cd9a11a1d1515b82ae0a64109f488db8c249b08639d2df4135eff384104d874e7955448af94c93cc5df9c1b3a4a770d33e778954cd97a1f3876dd33ecbcaa432a12fd7cfe8a840b69b73bf500c0299e49073fc1386d6797f52ec646da8f2db8c66e6a2aef8da62de0a46a0fd34691bf140e990117a637589d84ac3e23b0c1ec37feba116564858732e8fe06edd6e55b1a4aac2f1a341bdf38c749641c52832bb8468c92fd4419470abea2af022095d86ca8c9d580250fee44abd55a38bfeea4f17844579dccf0240678f716a9ec4db222444a48e18a942e0afda4bf9ee40a98f32ac310141134dcf8f6f3cf89258ee7084edecbf63c26f8d6a675fdb4990da716cd21146dad8c0850417d69645eaa8ddfcf959912b67da4f2075c87a546b7f31a32de7dda8fe7be28e8b8986b66ce056c76b08232b3e0d28ffb31c3c29b684422ddd2d91472fef8d3cd1c4455b332f27ca3d8f8b86817a00c7f52586d3dbe786adfb3c749417be42173331604cf4be96fc0986217e64816f4945bddcfa0378e6d9003132792b99aad3d3daf92b588d4c1cdb345bfc44e83c7466541d1addb3197a34b4a145f863b59afaa7ceb89b88b0c2b3eff741e108e5550763d6149993d0b2af7829626d95176e9dcbbbf55fe1bca538923738dfe50a3ed5b24e5f8abba9bba41d895e6e409bc037227dbed1bee9246869c7787f59c55c13456f881e4b8215a0ba52b3486162dba576b440979eceb6ba7133fdbd8e23c490d83992a1c7053591bc5af6d6eae58bb589c87ec37a80979826e47d93d5e163fcfc3802856ed75a489bdde565e36b6d494a2c8a999f5463828549aef98cc5400389e76a902eb8ec89a7d5e213c2fb05310ffba152d18fb5d8fc86164cd320541372fc15109eabad3587f2a208bbafcbf7ed78158b0e6a430ff19f00da4a1f1ffac518deeffd8236dc7e169f6bae2653c19b7fb1018cbf49312fc39b3a14b91e9c0a289b0b8ba3e091c97256eddd52028414ed6afcdf4ebac15d498bf4a05968427e81aa02e2bd437b474f52818d47b9708d9600c0b6a72dcf67b66e9d1a53f042ba48c207a7d4bd640d0589557787bea3b5a17ed13c434c2299da8609f713472eab1a7fea4313dfb25614bc45b21ab58a6371ea822fcc07155fd03aba118fd8eb09253ed0cd400fb8558eb62db55a296f74c7aff07ea8a25acb0dd1016ae2ab821ea0267921e959016cd9ef4bf1484af2387c7b75637dca9ef8f43d0d3587fbab1896b11bd30b53560bbdfa9975812a57fe575abcf07d91baf7221fe05485e75710275a7156f0155448b6bac742a1d09c04deb041d77c13dce8ecdbb23e9b4c0da7670b19a2ad4a34910383079042fbab4d789f025f6a7065e63af6c1f0682b7adbbbb5906c241eb8502177c8ebdb083665c2757a2e8fa789e74d964713e2ba40698bc1b6ed02ef4bcb5af4c769ba7de0a8b966a3d3a9eedff180e041ec04ee37e9629b928e9b4ee0db6440480a22af892e588a4d543dc15b321d506828d3f9a436c1196d2efb5893dc2d01d93c7a0790979ec24ac220c70d74d47176fbf7149ad1b6dc3f055d5fa445c6dbae5a8a716ad002455d673c5a04bf4b076604f26d278c0a389e6bc90ba9b5b3c1f5d5bfba7ebdfe47915bc7dd937acf3f6f960ee6fd0bdf8d319e74144f892c7023a7250064fb5bfe0e3de3fc4386556956572505706a1db9a073004ec0a2e8b058fe6415f527f9cf11bf394e2f37d8687f29ba5068c4ba07b97c57f7fe0405cb6a888b4a01ec30f583c4c2d10061587b1de8a3e681b6d6d4c983cd0e5e00859413c9755a938d6a604a935a1fdf192907178018c2039d2a67ab37f02f021b24fe519b564b55f31bd56ebb9b39843823cf08b2b70ce128f0b3ea28ff4f643e715e6786cecdc8dd7f4b658648d92bc130e8b6cebec4b22f26b9a4c664a21ff3810f437078ff6db018ace1b84e42596cb0716fdb0cf358f0682a6565aacbfd2cda6fa27c5606f315a52ba34500699242e3aca5d1b9a11288ad0a19bf04b6a469a7c43dc0fa274b72e098141586e53398434b3e78a4bc87c4ef17cd0dfb259841e175f14db5ce08a7dde8928a8b7d164a8c62ba9dcccaee07398378ff14f68c97248b821f51e543922d32c9b21b9162a5c8c723282e63d6e853709e53642c780fc3267e84712a4faa82e11f179ee4e1196c1a8f9fa52c13cff5b304471233d5dd44d5e9b2ea7c16f0b890aaeac3e45dafbc9e2a271876d2aa1966753ea952d72a90de2e93a5b0ea5f44d7e97d42fa97971e3f4711125744f2d5fc7322df85f20e254d1321469e14844e30d9e034ffdf5c942034c44312b446b7325b16af56876f9523a62eff2fa5da7fe1cc9d92db5b0021730b722f84bce70b643e9e19770f381f243d4fe81adadaa4ce90cb3286d3d12eb2b973cf4271c997db492ba480299b15cea3e97f7991b819eff4c659a723adbfa4902d6e8d28b0f207ed10eb582694e70e90e82db9e7bedc11138a59c36f781381484d7b3ba22e23011653d4f3ebe684cbcc4ad0db966338b4f23a9d55802573f0995cf30212e47720c17a1acb03b7927ca8aaf621ce9053809bddc0451034420cdfb7fd5e12db11479094390b6c40a3f0608f44702ed5d1406a7641f366ceb469d805496ba83a987404d2ab7a3d00e515f6b4f9acc53705edfc6fc4442e6a7b8041be3d7e3e314cc9ecfd35172f0c1cec9a1d42c6d7a364c92f04f40eb5a922ddc32fea7cb5b24bf2f6d35d4679412e47ea08247c9dbce5fa1917941ca4accb1578a5e16396a20bd7416f01cdfc07f7f774d5dea25a76b77b532f9744ddc03c40e10e839e3a57d4aa227a3a89c034de838aba4c29fdf1359f3f489b8a8ba3da7299b7303debb78234252f93431ac29c470292515b787b2def68e75d46cf799d954c625461f0e272594830768b09aff27d09ec8aefa85ddaf7150515258c0c71a971ab86328b49224acaaf9eb09d3467ea05489e02fb68a38e733a40ea5a852887c5a7664518bb32c7347936282668025198a117839a45a4f6f0b566b2699779f521e4a28c266a278c0e20892c48598ceb7e74948d4ebc3fa71dae842903322801d95d11d6f2f4f363a392c2d2466fd3931709e513264ed319f4b7f4899bf1fd9ab4fdd503c939db4302d4a5c4a176592de1541c7f89026026c4453b35b19fbed0f74f25f0c94f4225ea408bedc8a821b07fefa267871c746db0bf69465e1ed292b88ad46f298b8921344b30d25637a162864779d71defdd6bd24be690135c7e45c8310e6e9a50e692be3dc45a8a34f41f933475d380c72ac00872e11941f00fe671f37e56abbfdf9fb7b6f01e3688b108c21ee400c304865d5c0a643528477b3235e11df2ffc43e367fa5ddecb02982a3717ffaf52b50ab79ad46f2a36aeb5164168d89d6d2a330a363acf9c8d59ae245d1ede55ecec6b44c2d0af856c611174961998105731e2e2fb1543b6f918b2f58b454d81477f248881ad52cf065bfcb7edac2c0537bebb23cb1d6797a5a86eafa662b8944bef8d2e665b3b19c445462e70172304c6eb453ea3ef4c6290312c714ca50aad719134c62c33e8976864e09164768cab4ee11b9288233ae1317550c4147557c72fccb2acf442548b3ee73b309110a3d46e3f3f409c6bdf193610da1b5e5a8928365fa57e026524083516300b6300999b544e7e5291b3417b0330efea01835bb0b109c40316bb2f8a66ca4967a7d8ad7494fbe9d5237c445018dba1194ac057ad451585799bbb521b95c87cd03af9f41ea4f8d06c452bb16a27970b50d675cebcdd6dbe37fe3a8fadb8ca6e08c3ad08cdc65431dbc210297a0be224d415f5e3b1285a65185503415d36508d684cc3f3940a342c4966ecd90f8339f883cef6666ea0b125a5b8a91293a3193e234c388d30dc320c0f36f9ccb1e8535979fef775b6891055aefa3dcb86eaed460371a8de23384bfed4ef862229aca3cd26de5a31ba7ac96137a22eb893d4065135feacdf11ebc171cb62073912cd4f71fa17d7ab2e3d5dbb53ac17ba722d11bed2fbff7a7aa3ba8675fb6c911289c8e1e0190dab7acec03e1f6cac4569d0de9ef23439e37db5ef1fa34eb5dd863d08f8dd23cf040792b44b0586d90cde3125c81784d02982b7d2cc8bf0fa4eb14ee26d47dff977b36476f194f32b0f8d341dcf1a6765c8c762a6aac1a4e75c3282d7f86a796beb1a6a0d8e85f8b4bd94600de0f3d57f9d6b6025916525c55588a18203d75153ad43e823132168ad208833ee39060f1baacf944e5dd2c4006014bb5f62a895ab1d1a4cc84e65005026485a01b2dce1034d4dbe7dfa2c9143cb77e8632a05bb0efa3200c07e8d061db4e1eb45a48235879d74725d47244e330ee4bc3cbb4210ad18abf470a34e20c9d717f2230df84867d98cf63cc6ee48b7b5e5e87e28448a13793116bedfde7510727fe8069bbb412255e6f66f95523e92f71afe93163fe358e5ddddecbca815350c7453cf231491e4c1ac270f19cab2520660249b55375ccc5c1d7a85ac7811eaae0782649462c8d28f4f307b5bd4e77bbd5e378bb249f7dac0515d0ed58bb74e3a1c72170d19ce0a0782c6df57919b3c88a69ad428142732bcbfeaeca3302e981721461619f7936d3e5f1a01ad220bbc1f73d1290452a25c09172759ed7a653ad773d3929d25578a8ed47118cfd86cc11ab0759678696b330902a9a77ee080c10a632283bd2cd465c90f2c323314bae8522c42f38ca1ed74c850f359e876dd9662ac1c612a5e6d28badacdd3e7ccab27d467ced702eed9a209a4aa8d2ccbdd7ad1a097bde401d22c7c980ddb5244f0df446661f703dc91750899a2544bda3be5da578b90c89edf8bca4a9275401be08477a99ccdd1bf60b85d65ac0e3399dc9031c125862d260b46663715e9e469a3fa5799223d38a8392014b7e8f38f65ac23a6606485dac9352b1c3a967ecfcfafa24f4294eab78fb61f3912b205e6423d8dbc30fda0919d6d1b961c6a21d15f67e126851a023ef3b02d2269b53e6742574e0dd28911c4270eee32351c3053727762a4c35bdef3eb366d3d5d986e7ad5b5ad35b9eff7ab899e649e6c57df7bce37ec7a43826f64565192d542316714404faafb3e19038a96e1c76e1fcd8769a6e8e64fb265490ea3a8f678769b6f4f86e944f81c5cd0c825b1524504e4f40eac56d0f6358f3ec6e35a242f395b97d0a0d69f26e5125e271753d6efde1a3466a38a24d067a5e48d38cbb71d3fe6cb018c43011f47174e9efcac21b4fa25a6f9bf6504cdf44b63d7e99c914ffed35db59ca36e6ceb4a68eb261ccf196058530d4fb79d2db4eea65c2ab57eae564b76760bb84291ed5a64bc72e57b905254f57d69c7073a3ce08be92785f3d939e907ef76e1ba84baa2507cfe5ba8cd44347eb00870cdfde7cbca6778c946fc7971aff1dba093f7cf22d420b9ac0434fbf89c0520d09945b2695cb55ecc6447870a645945175a22d1313c6a1531f44953384043c4d2feee8496a63c40f45b6e8f8d812d171d7d5fcfa53b5afd4e6fb3bb24e1fa872624c757dd9b91aafcd70bcbd4d0a628153c1bb589d3869ca2b70efe75896387108f46591af4cb39a4d91b79101368b90f330a9f3faf94bd8f67291c335cfbe15383fcbd25dad4877807304e90b93c99d5ae1706815bd2897f1b5e695ad95920fbfd7d97392803efc9422bb08c4ac5edf4bd9d5db6d21121e18250f37b8901b1b6e074b176c9cb7e21b03f51b13401f83c963092a8a0ba8a467c2bf15fa6629836f8d212cac8b20db73b555d43ec3ee2747fa00df15f0bf2e52a65da347caec155484aa14cbd5a5d669fd6eaa2811f1a866ffe30d25eada70e9d0d41e6715eac767f346c34ba49f93795a63911c43573624b51f24fe54d12fe5d1cf325dc958dbccd619e335986c8038dfd10fd58b2fda5e5f2b9f0353a294081395eb9feb93e46464b2714cde5c6a44a1e52ffe64df2b070ec5e2bee4b4f28f7a087a1609c5feead74d7e81e1d1d84985201f3dee64ba397119d671aa2188bfc2d55018f8b67d344b27411164c905b6061c06de4e9b34b374f4cba145173f94ed3fce3d83e0e7edf3ee2096ae0de096f091d820184d955f86d1b007415d00531d25c904b50b1a4ffd72bb9bbb9b177f99e12b79facbd8370039925875be64f4331677ef11c3c47b2deddf0d7342b737181ade90924cff4bda01929bcd0effef126b16eede9ddbac57ae2e52030003fef6632b6b33ef3aab4e3cba54998682b5d4fa839a1c3ab33a975d8b7c5096385a185cd5157499dd81e7cca3cfe05442a21677bf321a0311f8575239bacf25bd526c28db7f7f9890f4176104fd9a04c470d715d3fe4ea3ebd954b307d40334282d5f1ff69f755da0b72a6727449d4fc782b107874052143027fc487bc20e9eb5dc60d82b9dddbd8e99b9dd1d7e1e13fcf3ba87694416246e5f7685030c537d689349bb3767926bcbfddee2c77cbc91be71707cce31831402a711cd1bca3621f20c08d21ed33968d9be7f8f1dcea83e85cabb3e782147445226f9f034cc7a4632dcf43e600518f436cfce631c50b683e612476c5462c43374ac1d70282dd03985304bb1dadde33aba2816f9860304388562621a854d5a4023eb5bcf9243dd71b557e50dedb9b256b12a3db21ffe042fd9f085372e75a00734d96960b4b68339f16712f18df874046d416d634fd40b5a5e3800b39075560ce0f9f349fd370d0d4b57e64fadefddf84565078525a6318f0c0e03479d6987114c48f65eb803461e871f78ad2462cba3a83c323f8c64a4cc36989e5c5dc41f38cf852b1b1a11465ce65f6f4bc494f8bd05bdebda919f990f50aa38c6e9b39eb4e15936261558fba8850b08f5b33dc8c9540ab6e06d325ea321ef82b8973b8c15e126e06dda702cb3f458a99f48c4ffd4c463c797487c7bdbfa4d83f3f929197d34b9453ecd2f1ab2641dc76c787e9ed7f56b2a83d6909c357887c91a8da0fc115d496027833ac3caf506e3c66c2e8da8b517ae1a797fa94f3a1735d2bc08787449dd2200205af31d174deb0f19eceee9d6c870608cc3852c442b292884d959482d4529800a640c52173c5963e534844cb08879dc44e62ee954391defdaf771aa2521ae781d1fed20f1a9c580078795cb328b84cca0e5fbb0533f720033929778ad6213f75c46e6dd73ae3e41d5d9be962db3b5bedd116cae35fe41a34a1607aeaf1683d72c897d7d6adfbfdebf2ab3311e2e01f2618795ba6b4bb186ba022cb8915fa294a578167bd45fea4d4206b4a1c9278c82891fea8928df850c0a371cc806e1b616c57caa06905c6f1e0a5ec3d70d4d289515d0454b816c589bc9fe177a7221d7ef4ed5fb400961f52848aee0c553c8a35ad9053930aaf86a7eb75c16376e31995f840390789df1e70bcd0a43c168220ea38c2e96043481f0ddcc0747def9dacba656084c6bf119254b0a4ae8ff36d1aa87539a105ac00541affdabdcd63e9352c4632c6952af2375666bb682f101e7329d890268fc300dad2eef2e59e4e5c5bf4743aecc8a584cb82f632aabb50a6710d4e428320fbaa78a99734dbe01ecbebdb87f91ce8a8dcd2bd2406254751be3e10d2b061f37f7ce7742896e59d878740894a2717cca66e1434a9facbfe3e79d8c360d0b30024229de6a0787d5a603ad4efd20e809e250dc65e093f1a30ef67cf9fd70e33e7f970a6da06847c401da15f013f68fb6eccb9c8c84c4c05233dca6685b8a86818435c00694cda137b1e038a4e82029737b422e6154a9aa1a6029c39b998ba51f6d3b8df055e7c2afdba1a4c264a9f66cd25f770f56c5a9ce9eccaf86a4400cc543cc887b147746c09545a23ff9f66d3f1567054592a395cc09a5533a7d47e521726ed7900deff9b98ddd339774b08950a0d16a426efbb4328b8396fa992abe1582c3e37a1158bb6c31f055aa624be5b2ed508a6165a63a7a0a9bae96b27ae2e073103c89d990861fce61cd3cef7410631b325bf9b0879aedbaf8a6c43769235d28237205d72e6be59e9f049fb9337440471e22891c56a94b8f6322f74c0f099e37d665b4dd35a61d14a5771d735164127ba749129dec3e015afc2f1315154788a4a5841c297bf379d121e26c6df7d5e423ce24b75f6594b0c02674e5fa8f5c8ef2627bca5b667ae5e8e48e2e84351d03e1725a8fb82f5ac023d2fc55d0029985eb2e72ce24ea172ec57614d0548712d508c96b9a180c346c927749e98349cbf8de42b9330dcc3a9219f196eb90b4aacea99448d966e4e19f144d22c9bbfdf64e944daf86a4dfd862e9a46ee2d55bcce25ece2dd1e64fd0732835a6411991046beafe09ac8f675382c832496efdf5d9a1263dff87cc4e3d7c1ac0d6b62fe119aa83f0da07d9cf7e5253c51add35eacac85dec814e0c0404d2e440c2147f84611f635f643f1d5c4eb16ea29fd1b159111b6dcc627a7841bf98da30b4575b5a2572d11ea4bb0b54a7b4e8c7b342e28fbc4db11a00552e9c6482a3d4466c91ea3213648005e501ed11bd79e78ceeff46f50a64cf2cd15108b940abba926ee985c767ff8b775238d01bec31b27266b204f110946fd6a479155837ab720da4a9f569f7ce02f56950b4dffc0f0ed6d4698bd0c13f42b4cd9006213fd5b8de7c258c86543149b3d4defae2eb46890eef8ea036ee1794913339546e72ee735b5006cf1b6dc727687e5a589e51857a7b905862973be9f05dade55baa3538d34ee56462b7875816c078f6f6310d5df35b383d0ea52b4f591d9257ab09be9c85815516dea2ab9a57cb3f20c43b4b011b406c2abd9316d9f2085297441257d7921c4c0937678b94883861dc4637f6353976e1d21b74a9ed5c316128466d4ac63effb43b48206da1753951dd4c24a5f7e86b89935e0b06b4d06a3c3fd467d8f7b0e17ffa3cdd2044aa9d9f48f4964c77ecdd8f37cc8393a3e3a235c32f87fff263e5fccf83314774d38ffafb59bf1dc267d9f1aab266b1cf36710ce248dd906085522ab290570ce5a62101173bab15d24bc2c15146b05e592aaab41b2a28fc49f4b8c6db8de1f075fdf51fdcee20b0b69db7a5542ca76c88a4a38073be3ad8b11173b479d0c6d07d1a5f4335e7f0402c31409b603057fb46e2216580c807a5aeca136bfdf902d6297d7d855cad8a4f3edb872fb5c9124fc38836d090b48575de4aec7b85ed4c8368b43064d1038e141dbebb3bff65af02c128cc273da28f08e4270e01ebcf2000eaa408f054d0d3fce367d793a6799da9af4f776570cff384a1bf9586f811713182c26b518371f213517ce0584de13d79519ef95436c3b77054ce630020dee86847aea32999196600e378cf4da030952650f193001933145e7c66ef6c771dc2ce23af09dec7585e7eaf46b34322ab6ae117baea72a47fa27332d129f1555d33824df66f3c853dc04fa346c6156bfec381d2ba99d3eae151c858b3af76757a5adf9375f238ed0f72287e129020c04b080137959ffd221ea6632f96df7ca4bd5658460c0df652ae65fd57d3ddaae9e2e75d1e1fce47dbd59bd094002953b44e23c62daf241bfd4bb6e07ca8eed9f8f2b62a79ade1fc0afbfebc8b49ccea753b4deef538ecd6a56ed99345497b254b1c480f45b1a5b0cb3e30a37bd4a9420db31de7cabc318b468f55f6c277b96000daa9eec1c9d2e9c2e02148beb35e5cf9a44c974cdf4cb1b9235fa61577ba16bdd7015bb650b83eb51c995775fed310922f56f6161ae076ae79bd1d38164ad36d4c5e3e0b638b66740f9353411d05111b202beea7c1def3abd02d4c353c03399edf31b834630bf14f906a6426f06a1df0816751381fc70db657d8f266051d5fddf36af2af1c3782808de527a283861b10ad52c35484552f14ece994d6abf768d04bbafbf254803fcae0c3937d2d236d8d19dbdac717e2c8d945843f8c5d7e3f04f60d3433773163de0e0c0e45f5c6f91ad19f21bc9a0d9a9e887e00bdcacd9b7b465f04b95b99a4b441ad9363ec7b01b55ff9de4c0fcf65fabc4458f663d787d3fecde8d306bc69ef0d074ed6b7c11f48eaac3802d8800ac1eb77149a6c0c01ec4e5aa6e70321568e3b7a3f5a842b6358bb1b0b5efc9c14283eb6396affdc86e3c6b62c255bc1a8cb6fe7c27ca59e52f62973115e1b817cb10711abfe4c42c168922cfca281a32ba21032763adc74c9d1b27a3ac08c8c0114513d24f82d0b015f75cf1456871f5d6ba6a1e29a27dc6c8c427db42f1b5939271f9055b57e946d28fac2de338db3a6664d82289b80106ce9925af966bef12e910c94527bbc8f3c35f39f4d4ded4110641e7f69816c2d3a4d37d96b4ce7aea8e296bf237d81140652a7e4db65a4a1e0f84c2f9d45bb72f042e165f162689bfff9b07533f7bb5abe5342bd95c42905803da41cc1f366f0c90d38f825ba7a6092fdb26da7f14a21e3d4b773e120ba478e78525433e33eb57937c7b8c390268be01f7c5e6b95dce006cf6fa9a57d3ecc4fa40b4f51d7fed4b029464ce6b07fb61ee6b661b0b7d8dda3af460ed2730b48f3e97dba0e64d4286c2da4e25c96c341af979a56b45deb70eaeee6f433a1fb6af864c7622412f9bfa5d4f38abd2699dc70a2ac45038eaf6f88d42353926c3b5015950f457c211582e95c7c1d787532feb0595f9068a006fd30f1d2288307de8799ab0731a91e369dcf8979e4733d6be0a8db030a5213db71a11231f8424bfd3656dd36012f144a91fb1d8d8f713c5e8c35714e7d289754c82295d053358a4d03cce7eab4289ff3f1975143b6e7186dcd06ec7c1bce4e199b64e6524f6fbf0235324e902f37dc923d57a773ee25747c567fa2cef2f8f5cd9ebf721289c27d6ff22310d58cb7a25851b9ec34ea30c53e4d2d0b86615530bd3482bd4d2fdcbf4f934daaf64feb1d2bfb961c5886aadf9e86fea020f1fbc1e74d47ee95b302c0cf8329a70d51f21ecadc6562fe498b35179648b59e728c5a414b902a5b2823fe73c4650606cf07349bae4a5e56dcb14f1544b5dcfd63e088d100204c526c48222c84289c5841d6ee48799bfef216672306233a7a322120ffffbc4d751f694346c31b7dcb97de3c131cd66075c3737f5744975abfebe1540882fdd057cb78b52b9e4cb61963918b7832e2755667439a4f06619328e5fb1056f62b7305e3b9c7d422a2665164ecaea9d8807db02f41f6cf8a11dc70df1f2c2c0853607f1be7c4f954a49e3de37a440184d9c170079ecafce3d84731246ce381c566bbd8018ce1a79b16f89868ec95e3e077ba6a248585ed53a56a4fe2b977fb4ea57f2d555c45602aaa53d9247381a9ccffb87b5754ff6c04a744784018162daee121cfa69d7febcbc0707635aea4e64363ce69a1fff87e1fda9d54b5d173832485aed4ce8c7283ca9f830cbb1da608ab8e257c161852c3cd58a33d32d59fcb075c76c8d08a900c4905c99743655645e4e47dea5501bb5575b6fa59a2f539f89fdaffe030bc5e4cdbd78d91fbad7ef1e8c6fe311db331e7718d20087040031ff8dceb7cbed113ea66e90e6eba55e8a31bd19f61ab7515a7153a637304af88888339a5d5ca11228a733928657a496bc08c0b9b17dff924363d658fca4d61415a417703d191d0ba69d0a0fb74b8a517cad46a882d6e4db649bdaa61b1da5dc15825e6a3a04045236c6e024ca590d23e8e6f10ebf2c8caa944320d01a086247384966391e54650d3d001430106b2d205e4acc36e74d5b4cf89f980a92c9e0e8a272a60a7345de1a75a2b7dc260dbecbcea964374b3d0196ad47801ea6fc86b589c0e19e5cde02b1b7eecd68b1283c801f6085b815d585adca242f95aa583e1fb157a7e616b32a9ea79ec5aa17cbdfeca18f40c5867b1f0311553b0345ab88c5b8c2140a57178297136f85c01d711b881f57c25afba114731e9cff01f6b21e8ac2b00ba379f3cd7fa2dbadea9a418dbae39c0d20e1b2ebe0964090422b67066f60f7dc390b764dace45bee00a2eeec750961d05a6e5b8571cbd5b113325201ed8839f6b863ae37063a917da46ac88094df85f01c1f8de67c032226e214cdbd41a71ab698775a37b9f2b3f1bff74f14207b551fedc634316901858d13153d53bdb6fb7d78f24fde604c604d478101d2c493ee6e23d1bd2b77c644f59bde8c98d81e56f1a4e993e5119a12665676203236c7f874d45df7ea56efddbd30547e3d4b4c3cdbe194ed3f14afa208baa0de408d06f8aa1790280afdbe832c5687597419ea83261c59a580a5743f7fd66fed6cac03b76bfe7a3ca0ce0a212a3cb287df5261c0c9d8365911d88b78a3e4454ee4fbc8fa22ac5f1cd7f70b9afd86a560e34594707f7a2495efbc2941bcaea1ff5faee8d9a1afe38886c00c740058c0fadca4aaad11eb038e611630618cf6e7ff4c47bb5ab4457fee035d3260c759e6c0adfe0b887c33976120514f5480bdcc31acbd993bc069b7bd126138aaa82925620dd20746af1a895301494dbf7c06b3101c6b3cc38d2dbabed12f9cfce1574ca573c5d1d335b24635e746113493ee98ef2d9842b424bc72007cd13a553ca47da7a07e5a19c43f1c19590b8f8eac81ec7e3aa5ce99aaa7fb5276b2247de0f112aeb8d4a4b279ae7c8de4ce4e87a882ff963b5dbb5ac87286306bfd73537b7547f8b0cd37c06a98912fa54197a8d73bd9216ab40c92dd24839e2f6cddcf9cb35a26883de180d01295f15a20912ae4dab38ed3cdcae2e75f66e7c3c6307fb461c16281a8f7830568085f043c6c06b0103a189d782095dfb01f865273d8c26e4b7943160096ee7e1579e187592f753f7bdd7f19a4641c8ce15ea9885cc93fafa7ea1febe35feb49bcefd09598983d3b3ef25156f50feac834eafa2df9dc62fda39b0eb0ca25ddd2440e8e146ff14474e14b035bfe632e2cb0ee71914666b4bb5ad250b844bc40085f9908acfab4f83d7e40030e7838a288a2eaf66bb577dc9b66914335c182fcb15cf2439ab5ca27fdf579c58df5da462bf3bdcede7eeced9f6d3ab1dcfac4d66359bd5e3e4ec917ea01ddbf186ed89bce0e79b007c0d4e344cef7b169890036743e2e6aa1e861d7feb5b1add70b9be9bc06784134065f43e56e47e050cd32a35d1bbc728725d7378cc9a9e032ee69fc32f5820e0e913e50605c36f75ea24b497d5a6017290b1abb488fe3e7a5050c0e88e1605de9a5abb20160092944ae0afa03e8c0ffa52259fae8e4dce7b17b0c4227cdcf008e047b68431517dc8fa7678604fe31ad56a486685374f00266c57bddda84aa8c43a25d30872b80f9e95af2a768c1e60453bae6240016b21a869248909da9f0924ffd87fd832bb764912d4f43d181705de8ca1a2a481792d2291507d0e01c8f7f84dc11a50244706d80e9db7a41358f59a99e1dde5fad2927577ee2ca38f5a4b87f83e53074ed75108a64a2b36bcbfe691ff344b6aa842e2d51c34fbc681037d43eea5524eb137cc4b1760128f62595518ade781d8c66c3883a1695957181c938333432ab3addf2bc436a1ddc2349a691303f369ba3277bd779b69fcf2f6db9bf08fba450fee27ac12e800dc21b57e3b681767bc05af63e3b2903f8df4f6cd2973253b84377e924df7477b7d3e89ea771f8422407c6193a7e819faf6e66188049757ac3a97659e1278ee4549ca724eee55e28bb5a027f749dd4311b9e6da889c94181e1c3431f4ad43c088f5d01cf55cad087c58fd6cd69b52140a47bc48775bdf5f0abd664751a9f468140a8f17c88c87bf9cdfc1086d5f5454c9c5b4715c34c6f70d6cdd966c96793d79e4046dabb17fde85ba580ca714daceded003b80f3572936d429991a21d4aacfc0c87f12de11aa686ce93603fff754be4b09a9c6d14635b05abee7f5da033b5f7e8319a952c5cec3ada312f4fa9de7ed93cbb8d1065fe56cc60ab015afad3231e8fa36ed37e3cb8652a2d93c0ebd9bb36968b52d151c637f66e786c83189d35ee22f7c9e2ba93fbb7cd96c93204b2def838c562966fbd74b2c55cc709e0a701bfe67dd13e00ac20dd62b296b114d33b3a75daa8ec924eb0a2e6248be7888749d9051741b788d4555d762fc3e89e78f101041884f5c8da31cb815c26120e9cc6a4158e1b7152d7962e31bf216d2345d733ba038ba4694d64b206b5ba97dfe3dfeaeec8aea758c0e9d6f40284d97bed04e90b573c7f47a39bb0b36d440bb4f50709f066593a4dd6fab150233feb24f0474ea980b6257280b10375a33ab73859e48662b6ff33435ea459b3490079f4613404724d821168dbce25f73c1724e868ea72d3539045540b29d96f4dde499fcacd6aa72038b2de70c54a4f85accd48e45c2f9c103420584df5cce6985ac51894cd6aeb1ef6afc000fab4a421efb44b5ab104801ff62d2b10c45333ab6e5e676688330075341e1667b2ae19cbe1ab249b717c33b5018c0f3fb3b829e13a25355a0445b22e52096947d2f4aab7fddddbc3d549dcb427f9815fdf5b7ca35a423f4a7838b82cb395d9c1edbbec9aafc370477de6fe288c797f1e0a3f61d947c28f1a32365367b94370a559373ad3f8163b9d2ae665279ecd52b044ef2fbbb9a4eb5f6c501497e6a353fe9ccf79c09c54170343b7df7203d957ea54d3313c057a71b952ca13cc0544eb4dcbe9353d4aa5e8371a12183c96877187cf77f5fa074534ef70d2a8b9100c544814f2e1f7147d0e9c745a8484748e44d0351c4ecf7ee7d52a5f49a30a69a7f8a779ea3b4ff2ed27f11afbae8cafec7297daa3e5e9702f42c86b147cdab0eed289207f5bd6604e12edefbcbb4b7ef231e241519ce5d6d7e394bb7508d22b15b86262f79aaa9229d866fd87ef2b37e9dd9278929c975df8e3d761012a12a4fe700b3c0ef462f4df24e4d82e8b2c6b812f2cf5798b37abf63bd1e8509e3e4362139489e85ee0a41c1efede1951bf67c1e831e9b31bc339af2ef9c493a74f0864275b3686cbdd402bc07cee192ab63d3a0bbe47891a62c3c17c3be31b80041d38962fbc888d25f556bb1724f4d9a88d1290ffefb7516664b4f265ad97536a55a7b7a388e7a91f887bb568f6420ccafa45a43e2e04cc98e1a57335991e4c022594f547f09ac6ffd69de5d7e3c4a69af4bb04c88a330bba684ac27608d1214ddcd2304ddff297291cc18a55ea0fa7f752a8846a7057900ca06b36a941250dbf7332354e2ce7e67418c475c61cf784ff96bd76e32479d4d4a2db2e9afec09c88a93cd6d7a49fdb30fd68fbcaf7d5c5261e40fc0ab87556b877292d47743b504f150e98319ac1accf52ce1a45f8129e08ef555139c237f0bff5e4a214062b1c23793fc5043a53bf931150fefad07848466efbe5bee8010980d8d2f5e88eed546aae5f3e2f29dcb6e7133138bbb8850328fd2830bdbddc0c3a53fb347aa9be88600e4c2f4fb882729a49ec1bf18ce09cb5b70d56ab8ca4577153b5406815a13524e0853cafcc17b27b5fdc025f033ba7f5792c5e3b355cb64ba6246d795bb79dd6465ac64a42f82fae44f7199cbfcbf635fb0e70a0202400b98b8d29108a7d76eb7cec79b7df2e0be5acdbddbb171f021bdd2f569c763a65a218ebcdd84143ad2f2f34559b654e3130e50c2dacbd9c6ec8c07be3d8b553c587d5298bcf3331ad7af2983593e03542f5071e76d6965936ef7a179cf6e923506fe25c1d2daa7efd71ea4de648adb0a55d88ad02323f2713c3256076a283e0668a54af4186b2f775e1e2093e9bc49a089cec797a91123aee8972c3940cd56f3dbf6fce90c18aa654883339835cd49ac5eaef32a125d7d5ee890a36d3457166ab113b683122563c4c9a81aa19ad4b140ffdc78659e01f8a00ab4c3c0b1b3e873fda9f70ca1dad4075ea5462499c68e7fa807dcfbfe24b39740ffe78548bbb93861841f9d0b33b6745a7b34ea663c4a36ffa904800042c98f5243f699e73d384511c7251bc3852f848874356e23661585cbb874550ca2419eee13544669423fbb0db1889dd614b08f962226ea9d8fba066e99bb5a617871c4522ac39fb2b30d1439428f87e36d16f2d52da560daba788b5358918f538370f70bf92b2bc0633b342b52a0e7315f1be14c810b3e31ba2f9743f79e0345635ffb1cfba729e61de17cae434d6e2cd73a8fd5498fa70ec33037f6c3dc3f7d67037195156eda952428a21119e79c55dc18f933fec600696cfed1500d39515ca567b79c828dc29c5550df4ee9957e9c79a0d1a4c9e11c1d71f339ea85df6f0b68018d272a62de597c69b61bd67094f06e5999b5bbb513abc69a2c5a8d3e5f4ca3a418741f0b5c6fb98d6a8689921bebcfc0e5dd925c1e2df1e0bc4adbe44ddb86ad1ab9fdc26afc63dcf58329549db3ebef064b812b003334ea2ad72482d6b57f235bd803a76f1e1385fb605b57b5a93629246c235be934aafd4cdf842ac0c904ab2c745af957d52f8937357612ae0e0b641c1aa9906e5c1a03915d704ea84d288b518358299f7933fca454879ab022f708f3b0a85a7abc6fb2c09d0cd8fe8e7efe473cbdc5179b99b0a27dc97d84b94c8f4155591e663de7639cdf5252f4fcd4e05492468dcc0ba736e006ef05d22413adf73f6af8e114169941a1c17caf91f3b339679aa69caf61a44b948d7d07e4db1cef5c0fadcafa430dbe417a12e85e60fbc06cb96a3732e708475506c0b22d46b70b87d3f6c4787b22ab2fe6b135681ec9a7ded21dda83f143471557700df8d88afc47e0300966c82864ba49dd077d5212ec78c62a6488c63779c107276cd3d6f0b20a783c51c5b27b55adbd2801ac6756f981eb1902fdc9eb6fc73683a950a5f9df282fb3b395ca2917080aa9c75b05896f4935e3d4cfe682c1f5c251a056fb77e83db149c0923d040f1043934a6a7594383e5bb3e0a8eb7942cd1ccf39bebc88b1143421def4ab3950d2796209cf79e39b7a390690fd008ad8479dcba7b4f7f1259bb6bb6b9f4d8ca3908da70c9ef7a2ba3f4270bedc5d17da97e11e3988416fdaa46eb0e49d2e2a8d3d4d55a9261b0c689a728fe1f1f5c4a5526a4aecb6fe746d45c10d0b0806e0f7cc3cd6f11c1371faaa861da03358f66d286e79980e6a31a527c7c388722be4fcff058ae239af0b48df4dbe2513291d0602be4ce0e78b4b6a78a35d00ff5fd60a6668503188a2e66c6667ea504734f38a8958022ad8fc34be2bac8239a33239f9750ff6980e08795f8352be708f9a532764ab019f6de4a102d1a86ac1552a16c1616a5500d84b6aff9070311a8df127f7657fb09b4d286e872d002c5f71bc58b39936f6a61ab7154756ce429d1cae3ec60fd576b22cefa7ed0a8f2c6f4a89d7547572de3baaa9a705312d794d0af79f7faf14439cecfd4528b66e651633dd27cd05953b6fe5c4578a5ad1343c46fadb4a1dae5b698a49d37d8506509f5f42c04db7ba4b8b58d3acbf368edd563e6c14ca7dc68307bfbef1ceee9d3183c1f02202ac8c9feba3437333c0ec5d73ef298c0245cbce2ccdbc5e63f3150bdb1f6acfdbf8b4fa570ab5ecf3224c1291ca1f74f8a4e2795779a17941dab1b2b61190ef87bde7e25dc5f0bfc261ac6dc10b4ad610fa86655fb75bfb43c788495b845b28413622d47344aa469d44212ab303909aac13f2e46f5583e694941bef375bd69b6d87214a1b7f2728195db9b53cd4c746eb9b41f9960e4d58d9745ebffe938f5d6313b36478743974b7210b9813a4a2a157383963f55d26e72036b3f23130a84915bc57e3de9579f48b4474d5d1cc05520b9764549f5ecd936df574df9d67edc37bcbf46903d01ff7e630822d6532ab2fb1d53a7c0d16f85c999a59a023c156d24b5ed7d907a4c25f86779b81282ad734cc1a3fa1955bd4c629cfea6517c2389e086c4e8b71dc4ea0dbb031f47839b38a02c09c45ed83957664dfeb1e3e990292c8b648153d371181be5df1245c13f968b3ed4829e2cb56b8e2ba350eed642c0172da3c1e1fcfce24dd21457d06336827b98a6eb2534369a0425503c516b850a83fe92de255798117abcac62f30602ec3c1c80181a513e16e39817c302b3d7d6677f91aa10eaf7f317807f501f62562d96d0b1fe115e227093fc5be70340c32ea8afa89c2ac8be35f61f603f332396a003d3f6de791614fd82b22f3deb9359590829a5efc45afbef6636ca75e8cb1335bb8af72258a70760e672476529b5b0ea1afdf0276fdec5c715e44d7ef3699fc6d0b4ed00271409b08daea9f99d2cc6660a336f0e1cc7ee57baa5a1f8b92d5a05701fe1c51d8b5676c4d506add7f3098b850cf836e3f6fbbbdc009c3f759118d2efb61dac30e2fb671a9327a908a535eb39f17d581f0f2cc4cb66accbb2bbadf2da453e6c0102950d588ef99642154c34ea1a5f8b38ddcaf78f75be155af8bd8928f55e18d7b18dfe1cb468075cc8143deedda0d08b1fbc91447ec2df7ab360c3bbd90b439399d0821198ec969fc6be4f305845c786cf52f8b493bf63718360c20841e15e26930450a912b6eb64bcf25f9d2f2b4ddd6b38070128aede392cf916485f7fc6d87e07155695b0628e0b853792edaa9d39731bd48a120bb96e762c2b4416dced484aee3986d9c7c8202c32bf49cbf4f42eb9275c5f470e1de2ce6e1df55598509ab255737f5e4b2ba1546d58647fcf5dfe2a4df5ceb12c136d2ebdc89e3f2974ccb816cfaf0804ca1bdcb6a23067d4fa0a538dffa30d9f9007d368fcea692ce1d2cc1ffb0bff141df2ce90ff86d669a298a5e9df5b218bb98529fd9b2e5523340cb29a0a3a1f95f1ac2405a68db14a369b25d3604669978fcc0923b36cc2ca807442aaa93657639a67a96c583c2604ebc9dadd88f5f9d22a58c4c8cf47a0dc468566776356b746229f50ade1535fcf9fbf99cf7d22c935b31300bd673b9919dca8b94909d61b69886004956b252afe97c2ac4f4c6e4256fd6b2f160849502960aec0d96a441d8cce57669fa434d3fe5105eaf7a7abe67a1f729d77d6d05a665af6e4c4a5404076675bf4db9d5c7dd4fe227f286b0756eec7a1a0985b548f9158c0ab3ea5a8cc2aa6634b00cb668da2cb6b0beb809c6888b2f82f3b36ea9e1db24ab8f91587df40a5ae10fa0205c048e0df39601b9a9d8446f1266c20a060b137b4c0e97e2e814e9cb780774b7fbfeaf84b2ff0c96dd3b79c1844e6aaa973c001e36f6fa9d60cc00319a9483dc09bc456e37ab71ac73864494b1f892734499bf0f86c44e4153e758f1ebf1ee54eac022e010ac6c1d1d08f1f4201d1be83b3a27e82b776222db4c27f63986eead3067eeb2433d8c8bc16c41418cdc1d7b7e488cd1fc5e43ab0e79611cc81b196d76e12e8ea7b6384cd14b63504ea516cb08e8f2c663bd8f90b693449495722fc62aa0f90f58ac3fa97dba1bf8655d3e56d963499cff29672cd6dff01499698f3f477eeb75c469741c2557276e2afa4144b490c44da53375dba0a6394bbf5bd00b1b96105edea01103c08c8857f57c82a79c9cb74c2a60bee57bc8aafdc35db26ef3da70c16c14975dc76c8d66329758f622a904a070f72073615f30263f3586a38d0becffa8baab3326dd58c81a73f110202498e333391dfd4990aa6055c46e47a1cb484565416af2a64dfe87f81270155e7fdbcf3dd693422161afcf6f77eb01ff0ba7a048f8db3b8f3afb772af5adeabc06aceee430bd520b6cd20b27e3f5d12f9302b25ccaf88dae804936ba9c099bcfa5c1c979402da67bf7e672a3c23813d23d506eb2e668e622f50b22918f12acb9fbe627e6c271add31e57d3380563b4e80754970c054cc61611c2d59ec9ec44a4ac9e4ca168233b14040369f2f065ef2d452517b2cec49cd221930c3d32b68b0de51110f02032a0fbe9dfd23ad4adef9f48f3364b6cfc35d648ce609a8e478b4dac4121b9b9af275a8c5366cf97e0e04311946f72f0f28e50fbb2e1a0e2bc9e3895f74b16db0801c571def33409bcb9a324baa7deb8ce4276625ad80de2d1f5a82b96468b5874fcc60c958464c598f3c0232dff76c5b680f1fca7de8c47a381cc65615d403e591acf3611eb419f762368c6fba52d3f3111fe2bb8021bd2808abbbde887ccb98fc6d7d2673de4fbbc3f20900c48fe2e7489afd57b2bc756802add7c7b5be7040ed72b630af2a3d9bdfb553b3f5645c0edde8963bbc34c77d0861063ff0e663aa43672d794e67dbcf85212db5e0563201d0f1af8c3e32f0d1f97beb23dfcda64d5d2a77d77adc09f67e0c9777e75673266e829177f9b27a6a9b28dfa07a23d5bf0b2753c2eb448ae822d069ff7d8ccc799b9a036cf14023307385f293eff2981eb3303d98ef8bbb376384c451e86bce955c3562dd29afd8a3333d71dcad7dce87fd53dc43e76c95dccbbf7efb977add9625442c2a5a628449882b3cddff72a677ccb368d0703d54f5ea2f78115e1a4416cb011fd6f4f2ff07ef810d13fd7e624014514f5324122c5fcf5a99f3815120292abfca42d034e188cfea9c67702f91541cc91190b4d43e7e4afd003ddccc389e5a9ba14abf680de876c53f7216bee2e421de3f05fe48c8a0100fe66934026624227c639eadcd7f4b1ca402a9fb4dc5c0623d608d55bf38179977a7dcb4d54f7154b51ebf5d3a2b84fc6c360ce4f22249ff933376de2d7d9a0e50465ba863603f140dde55f4cbca49ce6bf4f96270c921163e2e29f8aaeda40918264c2eaa72a787be431d927be1c1adbbac2afd815fff5691127e6a28d1b13942f9a3005f3319f273a6c72c07efdba405aa0d0cb59eb2c672ca4d60bbd190a7c6757c54afbbe04f866879531be7d35f141f95b677e001c05c56de6b567730f2db76c8c3b1c5d05672d8b375ca4f5b15110d106a9d9f07fc7607a0e910af17a1a17e80a74d51a3000a0358f9bc479a9cf7ca12f14d9f0b31c49b646fe69c8991ef83be6d63f21d6ea5826684123f2482fcd7fbf2dd0fc70942e3d91d23ae3d2f7d5d12a3d37e7135e1d388054ba631f75e89069bd9c13a3b2c1c190841fa136f0ead3ade96f6c09eda5bb9cb9ade411799ee969f91e3047bca475ba29cc0aa3a9b36f9c8cd23886ef5288a102bfeb15097ae2a7fc6d787999e31620a238db15ec9127f0deca557070195ec0fa7952fa2808b51ceb412779978fdb81e97f5e82ee28fe976d6528feb0c6c8036f252822dbe7b5254299226bf683acbc86c991245d2774fc7d90655dafedddc339bec31022a96ce755ee2dedb18ec40d34c64f3259767d1c2f74f718e79758cf49076f2f8a31815788cfb98821c00716b8ddbd4ecd0211ef6bfb93756a04d8b3a57ded863ef61470c2a74e6aa7230fffc0c450c26e17292a45fe2bf770a21c91fa62f0f1460d7161c89e3c4150f05033ee7ba44fb111406b83606b5921974658a95f0e6dc8d2956e5fa3a7d448579c810c8a8f96faa6a60ebf473ac977b01ce5df020d84d05731a7b3f02b2ba95eeb1bcb835b8174cf116470b08615f869cee5125adbc2643ac065afa635fad23444ace6e5ab425fefcb956b2df75029bd911bd868ea8a071ae9b46696d8939d6a7d39419b85ec74608466a1a06c4fff70a9f73b43a73bd1240c344dd055b9597deed950f6c4ae476061825313b59d737c510557ad1df2d84b00eecf205c150478d5cbf560247902a03a3a571834aa58f6ee3fff488150f660f37df91e91f05f24ba14df3d6eac59a9f244dc9790a9acd386e7998fbbe3434abe183ceefb8b9fb3c44ed047bf8ee6c02b3107ae709f3c56003d314e873694461f7fdf267309a795f423532d54cc4bbd7ef7d713fafbcf1395db2ad6afa90ffcfb0ffdfe3024267db0ae18cfa8c56f8786913c7d2f759135f571c7b2dab4a66a7ede717b8370007c31e3f0929e10f852a0eb1d24c32ff6e34ef3832957bbab65ee3fd65d58314c137f2579198dc17ca5565371e4f3bf2a963b2bfc9c6d8b3a471cb3206a979415389714756cb190ea5d0db27bc3c504ba3b699717f8d68f7a0283192db9dd05e4da21a53500d8b88a3caa160195651f7063266c214a44a1473aebdf9f4691a29ef47885c0160984163861b3e0b340f002d321e5731ae6f9b38df40eef94e0a8c432f1fb8e2f97619b70b9025d7a1f8fa67cb7b46ea42461d2c083f4c2b9ff8da719387e7cf9a61242b7d5b39f3e56d94bd2fecbcaff7be19feedd4bc6763b01cdfc3f6abbd01d329ec307b94dc692650e6accf5342c2cc93365b71d65386b78327423d431bef3e14dbcc2679826c9153f6a673b3917c5fda54202e094096016dd5aa341148e3625e66b86b0f0d066a14588cfffb80894c2a467bcf86125c5bdaa3eb45ea171909fcb821ad4a4ff73b0927db5bd39a744c9c0254b9bd09459ce4a4e1454d7ecd58f3e720835f46baae184e8675df5d131774985f765cf6478e9dd300c8a4300de0d2e35be4bd52d12d96b37598279f9b4f52e0fe3e507c78efb48f07ffbe1dfd121de47878a3ca74aad31836e12a68ffce8b5dff6f897c1a6ec1e103b887c0e0ee8f7369dc6c37ab9a1f743fc793623c4462eea1d1d71d971a863e6905218da58043f890ba4c7eaf6a38fcc126b0e00874ff4054b1f17cfb838fe0d1d9b031a69f006291d1f0fff3d9de79f31aece0c799eb1e2daef67f5a6c0bee037569c4a5ecb29a1966bfd92856440537c96f146666bf4a3b145aa64d0e55fc95165f00e4f3b452157e474c5846a23b21f4c581967f4521a85efcdfb6327e8e7b265185be6368ccb2482024da43bcfb52f80fadd52b757f3d98054e4d788a106abce52912669662f9dad99cbcda0cf80e35a489a32021ae3221ed20a0cd68030408a0054815d49b15e9d4902cef33caf152aeb2b065f41f0cc5c286377059177f967dd34fd4ef2c4fb420396ceb04900394e4a592d26bec90ee320c43c3fb98fc219c7712efa0f3e547ca9313c0fb8d746b08c189a224acd16e51cf5d84ca2c41945c5039b1ae31e82a477148ffe840565edbc49d0540cd07f9977ff5445abea162a5701ea3fbe5b3a6c62a9e323309c5f062b9546160121ff4484a3350ef840d0872f1c70e032b1282e2aa9ead83ca5dfcd4d9d5335daad5778cef3466bf005fd86118db030111c5443483be65e34c3f559b6c0c75caed2424779b13d5de67a7f60b2320b4f30ca7c8be6a0665ba2f6e997ccf10b690d58237ed6c1b5126c2d37a0dde9be1cecd83c1e670218445fec1195b423daf4b05c2d9def35fec872d79a5a08a391a87efc0ed27e04feeca2d878d4163ab50c245dc5da16a8f537bd563b748f8b780c477f75f14b8006946d5be1fd187d3c34174fd8ce394eb203e6174a443df3a7690770e81b54ff9568d79492e02b6e4ef201c510c7f54a8b9010f578ca646b7e389a4390fbfd9c52c388ded10e9084299b4e710a378ef333061be2d2aa5fb264b1e358a1adf8f32f5da00518d115f0045b8bbb07283c82ff356e87b38c66055fa821fb8eaf1ec2a2a1e51a830f8ae4e6b4561bb7c77d7db3f7442afd7823a8a2e9e9dc00b068ed1b78546e390af17a67735f984a7f326bbb03006095a041d87fd70e02407db58a41e6fbecbfced7ba1d9cca0e980cc52b32065a854d9985e355ed484aaf75a44557ae5cfb155a2029339edd7fd85cd7b0db63481277f6e21fab4dd66ed95f9dd37788d8296d7fd3efadeacdb7dbf5e4d5997732c11e4292584147c7fc2030a8de044cce533122a6893fb4313e04d829a83f5200d80077df0197b3633bbf14dc4e6f2945cafa49fda21d3a360b0c3453fc00c45f9e66f74e381a69781b3cd78f1d214512ad72c0f3a3c2c93b2c0d551dd5cb81bdba5e139dc829cf683268f00686c8e5df2d05ff3e1171c966b8e165f5dfe2757c8774cef3cbd8e1da4bf71af472c151eedb1be4bee739ffbd8f9f7335f5401e5ed10129ad7f8ed79cc44a9b79a0cbef2bed7922cd6db63a4b59d703e4666c563e0aaa1ebfca9874722aadae9b801fdbeec5eb8a9f1ad9743aeaeb02151af4a0fffe7c5549b44c3afd17eff93e81b1965ae2c86f731fede33d2bb762d4f1042629960d049574eb30a4a7c54366fbdaabe2134d2d0627a9524396d8bb47ac00320ba7109ca7ae0a1a6aa0e542a838d26ac6e5f998239be6ef62cf9b7736b6c2703869791089ec759eaaf2ca98b3cba9fd60fead3bd929d63218d861ab8f7a7ca9fbb73858b790bad4d75e3829ae8686419ac369feba2276ebe7113cd5dc3f40fb0fd0bc1d96249bc1c926d1a5207315bf68e299f7d13625248f574053e0c29c6bc6f81d2f9e1716fa2b66ddcc98b791f918dde26515fa7f15f752f02e0c5ae01ee23fad12f7e3febbf00cbacdd0f586fbfab72153209c471e90bfc5999a9d0e344a81670c2186b00b0b4c775487470c923a9437aef006d0f1cce55ce4a6127bbfdfc6754285ce987e79c3dda8cbf4aa69cb8696c507d07e0798f919122c92fd9da270d118d2617029b9d764ac5fe04d9bd1a547994060682952b9bd906f03087dd36d473e9c31903cca4dd43dff28fb820dd1fc1f696d9fe09bcf7d9bfa8cee81a85616dfd9a77c297c5862a19884bbe0abdba78b3d1d5c5d845ae9660993abb38d0fe3ed7633d0631831f42a89cb91bf34914b736092c2176b35536dc74cc10db825ffc0cce4935061a99c16f8ef83baba672ce36d7f532fca14fc12486ebc26c2b29153a8c7f126b20343bada32064a3ec2dcf94b1c100dd1d4d1dd0432e15717904af6fee1a56fc385e4336c137950c135c4ac0666918b7cedd64e6046b2dc7d751837d5190cee2f729fa48c8c203832cf56277d0e6820985590ae6af6b557c53d6ba752734853fd3d947b69db2281addd9a4073dfe1c2bbca751c834e4064ceac0cfe4eeae3032e3e1625d56bdb49e5bab69bda395d8e3ce9a31375fe24423391227b531a91d15c1062a0caff594165bc9c1564d7dcb4fec9f24072191aba67a93b6f1e62da13e77f8ccc5d1d1db37e86f35af955522a6f84c0f9ed6c88a4173140bc484cba822b7aecadf0068369cf63a8f303d1cd58e18f9fefbc410da210ae5923975619f7bedd9b4b821223fa7878d9620786dcab8addab09eddd7c39667eb824f8551922a87e86315c46ec9f4a76c54693b5a982ca70e366ff3a844d994c2a0344c4e41571bd26e0feedc0116af52b0e6488954cbbf0cb625787a84dec996a1d3a8fef289b39de5a7a51790c80a5ebe852f70d1e3b78b0cea812c9102fb4538fbb36d4b28c1caf0c898ba223cac7c90152cf51cac5495352e9dfe48423169d0c90776a3bad8e58c6d057469798fbedc3ac8d552ec302920e5667ab402e874d32a07f0f9c4b19a61a478de5134ca60b5d9413125b4d55e30f95d522dae4374a926f85be0a91936e2ba94d4a69fabe1e454f8e5e34c3a1b2f9fc184dce4cc32d39b0a4ccd913bb19fb7ac4c352fbb0ea69797eb86df738900838bfb98c23e21af57f86abecded5eecf382b0dda9b2086f5034c067ac26ceef79591385e97b0feedd0fe25b7447bcec8d21ffb2f435619efd4112d328bff5a1012e78f26726d867d6e62a704e39f6ae21abad411bc5b0d38af81b4b7d8f638f8a5f8a4f387c758965a07511cb528a68cdedc748b521dba44c5cfae0c5e1f8ed2cb62ed1a0425f48de2127cae9fe0aecc46463f8341ea8775d187fc14a10dacc443a142edeb928754b0c04abaf595451798a9850d947f323bf3bbf56120b10d63d2c422d26ae8ba5ec570582cf441a9e5f67c4227e2b7b49004d696f6238a18706bdb28f96f4e35146ed27fa73b3be55d2ee327e24fdb52f2f055ccb4340ec041ebc9eba9d3c567cdb302269f18f319edf36a035ed6e1c63c10462168b513e142669a29cdc8b0635c6c245dcd11c52cc8a63028a1d4545410b50afbb1c34a6a704f06bf9b4ce23a1dd209909ec6f71ad82c253eb6f0fe2eeda6339b6c0f76ad21928448266bc1acb74b1f9891640c6153a09cd352adec8827e30f256fcf831ba856cd1e82bd5aa0f58bda94f4102529f8d5dcdb19eb96d607e18a83b9da202d61c67c05d1c685e70791c1ff1b4a9b0891d3d5a8aa0f405deadfb94daf576365015c89ef5fe7d499995e440274efbe02c31948fbfc2273aae575b9ef2e002a514d36a265e24dbcab51f844c1c8a8468313b85fa4c224e983fc85fd2f5adf83a5c6854fd3a8318ba1e94a85ccc86739e7af9c001c6dfb23248dc723898715e130f407dd264fd4064aff099cda030eeb3e51327de868816c4779c50b726903d4ef35a9fe7fc78bc0bf5f04ead1fbc080ace304598c08da4cc96ce7844d391258399381a9b380b99498550b98eb9d86a3738966f35ae796ff8d348a0a7eb6e91ed5d6f6abc4d3d162ebf3223284f60c0d86589ce75640c1646abb5bec4b28396fecddda9cc7b596037138fd027c6bffd7d0a01f1efe20bdcc7e9663164d69952da12c52cf677b9fcfcaef30d85ce2b03bcf5f67d90b42defbb11174cc09359c9cca362fbcf9b91d797235f3829fac9224f5c7a6dd0293ca5094f466876a7f84b3ada47936745db5af32594e4f9065110aacc640c812e62388f0435dac54712ab83f462060d03445f951bbec3ea07a695e35a27fc5cbfeb04720b92c96b57859ab8f309dc0bdcdad6a8472c9b6b319783233c4efdb8639ac5e50ab965974711bff16bfff10803b91e745129b0e32c7d83fc81be192546c1b873818cd7387e1ac7e17df7cfcee38e01e127c95f9de6b26493158e44b18ad226774a7374259927daa733d3a81e33af6655c9ce826a11b90ab3630162315d95d6fca704aa46a670288647bdbe81fad5f066e78a92737ab56ca7a4d8b12796d644fe4a4f574f3f0b2b869de8f5100976db62a0eebabd4074f46185f18ca654e4e8a29286763bf1f73948bae3ba826ed0a13afdf1415874b8e13fa8ac739bab0e1d844831abf2fcdcf89db3618b121da1c313bc55e95d6ea514b03ec7f97ab91eb528b660a80c12dde57d9dddc8639574f527d484be6d31cce2e9f45b2019d4250a6c1db17ceece5db960a5c776f3e8552f95cd176f2de186d82a7bc2d8ee5878eb511990795a8ec85482f0ddfdb469e550e6266b838c35aa39c02aab5df1e35a4ca388384b13c69a5e0d038b5e3f0f21fd63444c3661b1990d707eaa2d93b21656701d2c7b53da01a0902d7186d284052595166563914b1f580324315b58262b891e221d228e7c66d7ae53703d5a8ac680324ddd706fabd6e6be0db15d9ac130983995c5d4a3a04fa0c5a931a71d87abebdf3b681810bf05373992e5fb2fe5cb1d8ce9f5c1f563c793a6289f167c5dd20dbd22b2381e6c545679016c908aaa4a6b87dfd92f52716fcb1adb6595bf1391ea738afa1e194ffc2b532cb00f9f601b5f75224c70be964c727d57a42e3fb6076a4f03375e136a75d7d11b3f1db3610beb21ed61dea38b2fe942477c1538921ddf7b28fcda6486e6738017df0afe2adb49363aa4017461883e95435c62dfff96a3170910ae35819bc71d6b31073292f6afaeae00d4bb2921e7c7d14b8f6d94dc6cb77ce5edb1ad1ba500481d58425ae99a8550d3fd774a2920d96a2ceceda0b005b16c8bd90dcd42b3c13e2287ec1cfaae429a93717c0195b1a7fe62b40a4906abf2b3ef0259a01639aabd8443ff723948edbbd4b1548d293dc4ee5faa2f8b67fecf55421ea0436342fd1a80c87db276cacfb3f3868832c68f6989ea502ebf16cf97090b62fc7fecd3779994d40b93f049671ea0be90d6540f385a9146069b6c6b077d0ff912e0acf0f7c1d0aa5a5e98bbf285becdf94521a85875016c503c69d5fb2650547262e57464df5c47f33e1200628306e355908dd84d953db8f690b69f6fb69c88c39d87a233a07e5e968a436da07a5851e7ef30e1bbdeb1e2ef4008348e9d421a1433c2b55d5edf2da67ffbcdd2285d73ca782d5a07fe4b9b65baaacd6dbe8686e6cc89bfd3a6bde69fccec824b911cc6a064ee3a12fd7c3eb7bcba33d98aa547bf523a4853cefeefb2b95476b55c9e4cb10086b4fb4cea5dafab23078b50244aa0f7009800332ffb89799ee11625b03661cd6465f590c35ddd9147dff53c9c420b20f7bd29672e0c2ba704eb2e6e5aa35150b9265312b5ab664b1b16bfcc23e3f61bbc2092ea5200509008804ebe8510f8df70d3354df988a0b09d6492ec4d17adf4914fcbe866159cf23c84bbdf069ba6c0e20c47d8ece9736dafb9ca45ce8aedfb444865c7e47c1f4f69c3b5bcb03bea78055b29af6f0580771018ab5f0631f6ea19018dbd0b6ebfb50965297145e3294cd0f005170c0ec5069ba4e6e02c512315934f8e8988ad63fa359a16b8c0bd247f463201c2c4a467091b0810a083c00fd3dbb2f008e835e16d1eb682b8de8b06b7cb05e10b5e360d95590e9e4a721b99ca7920a7280793d88882da08884d2add16c000a4c2524653aa0ab52f67d291dc6d852253488147a4076d8a2b5fc8538f1ba364b3f9db6d8a1794d6e1e3cb1ddbbe890fb1876df494d22c42661c5fc590f169070e30a8c57a521cb08d8037cb8c435194c61e0482acbe6214407265762226f76aa5cdaa554076c7bda41f31aa85b0ae4da81a9c9b46b5900675c8128754ffde33699c498e851aa144b4c2d1e53f5acf14d6931f8918fbb0c2cf2345647227aac2d4297dd05a3033a00e814b0f9eedf7c954641160a56176a8bf11cd8e7483df582c0fdadf69893d32da41591d5b0615f724857bfa0cf00c47a72d983ea770c32ec1eb51d7bcbfc6b7d3ff714e3e5c51a9d07c706f930cdcca3ffd169e67e7f37466127f324df7424742e1257da8b4f0d4d4fa470e9e310189c7d84409cf64316a39497e794aa21783285ec3691ceefbda5c7b781915ac6e9e7e2e8fb07a450b16bbedcf055edcdba3923aa7f47c350a3dfd69c25b6fba4cd248e0fa3331306740cd16450331e950770f7358f6b47e4320394bb15b4f33bf7331d654e51d9da408fa89c79f62abde5d67d7c5a3b606b99694a9ab77fa3fa18e9a192d0bc8ea89595c27ce71933333a827a17ae6e8b9d499dbc04b73a0d4192c1ad4c708b89812847671ae446cd653500c6a134bda9087945f373eb77f512b8aa68e9207af9dd0971d0468e3cbae66f06ec86714111b9a4a6874d81067e36c62bfe90fd365d9774976b84b9359e539c9d44fc7b2034ab39e84bafad4d508e76bd648e0913dbc29606e93f50bd05df8175ffeef6d76e6dc031b15ac229db558447ac96c999234f626ae92a452898488c0dd4b7697059d74dbe2a7055148fd8152de73724df325c27a013d6ec51ea785e89f79fb2d90156e5f7fee774a9d7eab082e392700196554268cef4abd3966b6e42ba00966e20f185517e3de486a25a1ea73e8158a6435a169bbf86aa5c26762a2c57437bc073346322a400f6186686fe0363a3e59cc12784760aff77ae16427b12bddaa8cb2f94bc382a334543c69b17bc9b0ea0acf51cde6fb162bf412d93c34470f6c32986ad29247e1e197a37635ad0963d24716bd6bad7576653e115b8a1813a592424b31132cda7edda7106b4f2f9338042e4024635f32b16ac3e18cf33c5a9a0c42a2ff4e54819cca4250d9b2b1fdb9a00c65f816e5ad20d0c4bb23b3d75a95c20f5252e55167e6c842ab640bc79596d8f9c38146cc07b011108a9f10eb985ca0389fa5dd6e04b410c68f0bc21495bb0d33ea6a172c22e95d1515360ac568187773ede207e16106a12b7a018fb4b206f3c9681be65d2628c2cb4a44cbd631ad0f9c25f84c1f291692028ac00be89770dfbe630f375640cbdd82dbb25ac1bc556ea61120584b7d5f49d04c44724ecd18f031fb1627864a1d8a73cbdfbdd0fc89bc73e34f5284e1d996dce338a823541d401f00c67325dd84c30e8a43b847390b5dec231f066143222ac0de15c05a0b845a2084c8c5e5e561993f9491f639a0a3ace2dea21b80db4974f0c67dca6d4d38102b73aeaf28f5796584d628a7fa9eff266bc35ed213b2d544132e8179f2d1f4094aef429b053bd621c8c8fee4d5185ba3af91feec82a5588056b02ab4883722a815de309b073c05d281e33fdcecde25d669340816786afb9182c6497d824b44f3f6323f6f04ea27e665e3240e3b4a2c2dc2202636f43e6f25830a49139224a064fd880126d8576f800f1a5cfd5c434b547535cf6f1b5668d7c836fa0a62050e8fce7a2b86e4cd6dba017b7dc9de456ddbadff5f9c4f2b3baa9f25268cea3a0961bec2594fac912349dfa602fa4aa46bf5c38c3110769bbde0550ff477d30e85d79f6fde6f3c4d480e49faf9e0661b92f5d22a30a114f2c94f18e4ae75007fdbdc917f98931d866812d0c98e0f1a429fe32d84c38a6404cdd5835b3bb8c659238927c7994971144a4742f9f766ad78bce31966b5d96aa929d595fc94e0c2fac36cd8173cde096f86205826f178d35d97aa42da7e8d00f111392f5d88b763d0db4f1d733d3996023c94128edae4178d9c38da21384f3af39db8b9e1f585387e633f58a366484bba60394cd1b53180adfd427f4edf5589f3701d40734776a0e72f2b8fdf70b1720cc18d1aeed744ef47d8e40d304b99f9a6947a2499cf19f00d1240ec0076e3395de9c0d86bd13e9cfeaae506ca8d8d59b97ef1752f1a110e7b915815fa019d128fbc9bff97277e1a54edef00b1deb6e1873d2176a4e1f4e2588716756568a3767eb8737b49516fb45c01419a21c1b329df3172d62dae2a5a991c8dbd4bd7dc1d639f1cd00c31d4aa65abbe9db0f4daf43a7876fbba005ed38cf2b29e87c4f288a6b1043d91a73e17008a0e4e969e2820a6c99c37ad2224210b381a5cdc5d1d4703380c118480a65569fc7d6d000265531256543aa4b2180b604d358ccbf30b5a66ec4a3ed09afa4b2c5b2791f2206e6f8c09857b477072bf3614d9850f55bec02f644e0ad929cd22b8b31bdabfdba49c9e569ebbde6f4e9c56ce82c5c1cb4e5731a8e934b1fb926a9ac728a6468f2f645414eb066e6234d9a4a0d5dc5cd6c01abc4aeadfde3afb01bf63f5f320ed61f0c6834a94236480e1beabc7d29f4fadbd4813d06f33059adbcdca2c8fee5ecc93d37a2d91f89e00497042a286b7a7c77fd86254b9674a2108da236c32fa0674055f8cc7467f10be6dd3d32361b855021fadb28ae21667c51137ef3c3d718832ec61d92a16ee226531364d11407bc4f1aec106ade92ee2732ed85ffdddb2e16ed5e0fac5ad0374f43680136162677ce66299c1fd13f430b5b2158532c14b98c2fa3845794dd7153a1385fd9cc422e94f4a5c788cc064035470df0a9ba4ca4ffe273367386a9a0d53b189ff020fa4b397affb30ebcae2adb321927b2eed604da3f8c6942375518baffd38665759b0bbc767340a301a1811d30ccb4009f6e0aa4fef9622f07c19f3aef13a252b31afbd7da9066f4af007673f0a732f17d8793afb00fee2b598b1a7d9919c0054c0bb55cceadfa932cf9fabef1cfcfe1add710167e2cbb70e08cd7972e125688bf639c7237f4b850e365e899291c6f9927cfa673a76ae111e11e0050806688d0f238b99fe6f33f7e08d5237b04662fd4c62e1b5c57ad1b360f0a521620587db4d49fdd31ab9a821a45c949e133b31a4187039a2a5cb6dc7c756ac357c98b4db34b8733f6269b881736e5565ae0c983d0b8434f20fcd84bc6d21bf9692f949b457e000179f93bc2d8b5f89217885c3c987caaf337d2dabef38ce3d24f6566f5a516d81d2932524faf30015a61850270ef41ac63eb0a4907bdf3418e72a122f01ac105c55a48e390a4c000d42863353b1e517ff438c82c4675d1eca8ca3bd9f6e60f4229d58b452f4601fcfee2fad705cb54f49571df8a6cb512fba86b59b5c7aa6661bd1992fc91af4f87d1216d72ec21f8197aa6eddf2b3de8adf48fc7b01d35ea120ca35b3cab4b1a71fd4976e664e8c234c542bdfa58a7621ef89c8b834e6c1e116deb479e19fe845d6a7f05bc83bc48786acaa354446613d949561beee340983c96df2a63f1a97e21a543f6b62000c3ad1a1cc39034bafec193f7e4bcf6183089582598832f46ebcc272cf1a3f82ea816a3f587c8b08a0d7be2cf15c17acadbe4cdfef5eb08fbddff5e3945cec410f97e9c6d046de10e37947dd55c0ef1c6208760aad8fdfd4d553d525e011399f0b665967d47cf878d64320f63fb98d9a997a72d153096a0cbb59a7a14d531392dd4e185ecb5e55cdb058dd7502943aafcedab84b336cbd3f58ffed6136dcffa45208f9c6c6024393b8aac4bb7aee8887e7190ee4a0ea83fbc7fd68de93977e4da7a223293c23a2ce222bd977319bc074ebdbbd62da4e39a79ff5789253285482b3c7a865214a040d1af720d58955c1bd68556f876df994ef067f4a17fedbba0cd7b841ab6d9cee6df36d1fe686afe17939285d561151d6903385be4442b656d3e55f18674214d74c449773ba30890b23ea5b34e0205ca43107bfa0422f3768129f7886b165dab1a6c82ffa1f9b76f79711af2cd7aff608f4cdf978a1a20eb39a817ed149344b9792862d05cdfa3c099d726f2b92e8b6868743412259d4ba107113f46811acbee28bcb8dced3ba187f25484d16e486983dacb7386736f411218d069f01a0b2c720fb939c296617cb5e2222fb86a79ec6b2be225b632eb441b3d86971c656f74af339eb36906dbd92085183e16c8743bbce80a2702e3298af8b4cd5e695c0e0ea1ced172ff4ee9c30d69684f746d40992b1b60b51df8af79aba111f965e102769d49012758be5f4864844bea97d190cff0905d78393f989c57643fd6ccad488ef311772d0b1905f33ad020d557d4e5dbaaf7c21bfe1b819d54fa7819b0d532938a03ca09c48b071367646621867160b1efc81017f7e926a4be2d290c32d9e60af047020fbc52a11203e471f55effe251193d6a2dc336e46e771b301f479a901588d81ca64a176bf03db50e3b3ef711b1814a5fa28d45758da5550e707e9f1433d632f1bce9e90055ea4b0a3fc90999cdce4d7dc517e47c8280146aa268006b0522b73be21ddd4b1d702ee882115d843bf73fe3432868e8ffe11be02f7d2b2771b36147ea644d0b5da75e3601502898408d97e3dfb75fc35e6f6d403d0434e924634f462aa16b811bccd24bf6dce1aed87767c7545c51f8048060ab335ad34f35aad21cffd8669937ad5431799efca307840cc7c6998f71ea452475927b574a995455ac77b2c3885e7671083c95fdc22d4756225a5e306b0664993e14651ac4cdf97d8dfd3ac27a64a0463bbfeaf5bb4e4bc0e82f447b50e70956f7f75b5fdda46c3559887ecc920faa0476271b8ac48c99cc4dcdcd60f552d16de980444ff2cfae54c0ae24df65ae5df594e54176be49e9e7b1c50bc738b19c4b3a5ac303a89fc253a13f8806b84369a6cd418a74440213dea6089c4d7b309da7c20e02e04f28fdd90164c6027b20d239cf847d8161a542b778063e6a75215344c83b127f8a65a476305d6eb6395ddf94437be6caf4ffbfea6e1a04c29a247043c31a9511ecbe3cb43cd1a5be365cfd75fc968ae7b47397c862e32a8d4db054f405f93f9787aa5a0b7ca977c80ddd76c267848d04e5952e020ae19071a47c55af0c092cb4bcfb921a524ae27fec1f39e228d118274d36800aaf16e5945495310c6cd72ab442df19b36466530f67db9bfd8d5395914e12a63a33d51f7bd839fef0700a373498750c8d8417ebb93eaabdf9cc0423168102087ca950f52fc0fb4b8f832b2ba7b83fe30ca4ed02e207d3012656fbc6d46cd3daeb3415c4a4a999ae6fcaaff2c8ce504bc045b765caf2ec224a6ac84368ad24cb933d77154396a5d8613d27cdd120a3f65a82cbd9caa6c1e06cbec3fe53ddb71ff82017ed86f7efded20bfef2bf017d47fe25d16a97fb1dc4224a8dafab4bc199f6503ea12302a8c3b51e440c2b20e194827adae1f20766f1b6d49d8e664eebb53dfd79815ca5b97e801276addb99316ace0dbb61e17498215b87baf31853eea78ef0a3de37e272e6fdb4e8589e7be9ab6e6df2808ced61a66ec0a977577b531615767caa0b6464e65ac8395d74829a9364aca222ca12f812ba926065890632ea72b4cbac44ed0328d7f01d193b3f75c2ea4784ffaac2331cdfffdb0fb24134dcff6d32dbb7f5af5abd1c3bd0f1c22e8aaa06a3b3ceaed6010482cc10441f59b1374ad6dc8c47a609dfeec6b569d8ce138decc28baf7a52f85504fa13a3495600cd62f6b29ad0ed57cfb2e98c159e414457e1db417ee3d8a1b178440bf7185799dcc560bcbbb9013aa779b28385ce346947d7ea2ba38ea6b266cf6539f24269372d1b1abefde4c266cd116c32bd3f06ce645d59f4b363c676799ae6ca110ead8558ea91a144980ae3baee5ba8ac6349d0cb3018c49d5c518a2368fb8eadc7282c009f1429d5f9babbc2b578cce1616c3eba1f7db14f6ca3ebd0de73c6b42af9f476cf535b6a84d54b2f7c16793e94677189a00ad9e30c488db8e2e82d62353f762215314a8ed655db7427e3fff3bbdf9711257325a60a2cb7e1d3475214d5462d4c9eb59fcc74719de1f627899977538a39ccb2bfadcfde36052b700ae10554729a69a6dde49ffd59397b0d8245bde67581e481e3233b35d228a1603cd00aaf1e3141eb965a41061d634b914369d82db147abd6ed68ff2aebfb9f87a547148ca0b2dd0289ca1d9f9016f9088d73190d501e80ec5d3d4ce3e5304f2e273894ecfa7a13e9fe6e340b0200a35d6d22a51ff88a15b76860b6c852004e9e385d24f002e34f1f5529ed2ed8added18824975d87d758d1b10ad35f5d7dd667dc117f9b44e30c3cfe42c977281e300a0ce7f68eaeb867980113e0f1994ffe02dd19467a969f9d5d4bab5673783e0670f02964e5efb1e96d95977d9e417dea3fccc2241f7ce2c4f76b8b2ada3bc76de73f7f4f0133176ec55ded3e7de8e065d7d6b037c736d8d1020ef6cdfd294fad21dc024f0da62e8280cc2f9d46a038956f4576cb2af04b34e080f94beb4c2999a68301dfb2efb05f178a3cb45edfa8962c7c643098cebbcd51c80066d7fd6342b12a6840047173d8ab12d3f302843504189cc70f5d51ae234c3d6f6f9f19ec634bf14154161710eace9b102deb57b91f6a0d77d7aaeeb49b7d3848c8fe2df8bbfe8cad06aecad20ec3bc28a394b1a740cb4ba9c74eb40423eddb8cdeb823a915502f77b076dffdb1f824c4ab014f4ab7ecb9179a4c591f7efa24c74af21b9748eecfabfc00b42bd1da297f4607ae9186bdab1eb9c2298e48c735662b1fb601e0606fe598d93dc173fd53d43716369863aab58697b0dbd74e3e3ba5c4ccf0d3850236537f839a96c1027cb871ce72808e2592dd132c22b4ec7af153b1384a589bec8038cc1087cb2f5e65f5618c1240eaaa56d53e161f62def392572274c5dd2bb8e45f47e3a5837ae4a7431c09213fd2e131efb77d979eb44b39bc27daee37f5021d51c33f1bc8bef6a1f3ea4f6955ed3fd4576b6d87517e61eb67c8baeb0e6eec9df825aea765c9ab9e00a29d917e6a9a33e7e92e1c18d1ad5f249a77f32e573077c3b614cdb8ebad94c828f0b757ee3eb2ec80978fbd95f10dcee8950f557dcb283fb0880b27a7d5ce1c26f9fa0501118b7a7430afc015276284e4e742aafce1a274f0e55df190bc640c4ff69a5675d9e85df5afc25ffbf2ac7da79707f85bb92ee21429dd566c61f324e7ef26c9b1b92d8beafd975fa25d2bca704ea7f927c12acd896ff0aa2b5578bf30e898e6e68ab6b661a1a5178eee104621d31916b50bbc8d206908c0d8d9d2aa7b413c4dfc66c04c58b06f04876eecb4d983d33b5a9cf10a657fd8c3d7ba2a4277002424f0a5ca8a0cac331a1ce1aa7a53c25d0bf5f08bebf77159320d73841638dfe1a39ead2cde6f8dd20bb1f6c321dc1390eb0c86afca092e81857abf5bfd3544d58a4180b09d8fdbbabe66fe63db76207d06b35543702f29fe2eb5ca358e6f4e295de76a89e93e88f9259ede7dcdd1a9f8e942e2c0c9642f2c09d8249384a8139c5837d5aac23d9b0ebf3f76acbdd4d6f24177aa8d1a9feace8f7044e8c2a8b15635a4d4c10fdf5139f6da28e9b4c8b1977a2ea14c5357fe98bcc690bb5e2fcf0acbd6e3866b2b238aa6144b9f575eb42ef2f20af3256080ed4251d5d172a6df176e408d6c41679325a9761e63e001276e243fd2f737827b5b814f09864817a46978f0b91d5b137da1e0d1f44721a66e14c1f3170eaeb874f976cb3993d5f69da27371ec87b29c475c664d489e802e087fa5e5e628406cd7b5fc828d02a92eb355b26c2d7062830014e6f57c216a20c76659a0a8cd4bfe048bc457b7161cd70dfa94e516f68bd18570b4d0b2d6dad689df43dca801647c9f7cdb36f7e70a33c025d17d21b8c94f75014c06007e01cb8df5029bc738c7b62bfd6be066ec18d4a279460100ea68eb860a71f5597ffacf3dd239cc7bfcd15af4eed6b2c06e8406e9dff6c4e1bb6b40a84d63d67268b077458c0678dbdc3c47f5fd5748fb09938a42aaec7dc2518b0bbf8b46aca162295f3eed5c5149727c61c1e2bb4d39735e9e857b1f86c2b1478f02b37f029ed825e6b7cdfa490fbd9c440be522c3a00c14fa42357b9e980aea85a3d55899d6d8c30508eb5cff62ac4c07ee9cce69014d08d80ead5c44c317f4812ffb30ab638f1462337b2902b2fbb6d2a632cd0b08358317664fd4983aaf534abcc6f1e1e5ae54c7145f0106cffc8b7bbf887e7e4f5fd43d66198e5662ba8aebd06b1d452ca4a822a708776474a065479dacbc68e3f7fff261deb19701bf56ef7d843430b9c3f8cf01fe9d24c0d07d17e718ba060373aa49785ec732bed3f8afbb4a7ae87c3f053678dda69806698f250b9a1811ae4a9fad01aed3734a51d5307cf3dd4d749bcc9e189fd94ef48705f28c62a70d0086d8d679791f8568035b36574ad4e62d796c7d7fb171278251caec37e7c7ad6f8c2ed21d0ca198fa126e02b000c44adc99e5667d21ec2376aac46b0092be19d5b32049b70530531a77e3271f8b22ab7370f5db9f4d17943273a27eb4be306ddd4189757cb9b3dac3c93bde1d692616f5b479445c4465cd3263c5ef5d311665ab3e6b234264a2a4c0c7820e54208225ca1671f2550c8301698b1f7c8fd4bb0e8a7e9ef6cf1819bd233e4935bec429c49fef26751440f7faa8ab48925ace206d650628e0d0f456af3041afe6e587e0288b745c4084b59e2998b6232fd4e51e47342072e751befc04b76c340810c2d17bf270fa8efe085afc64c9d29aef2fbcf8ffb7fb534925ca9d62b470dc6b422fa82d242da32e82e49da69c6a137fe146818872de5fabd62090a3d14cca37da7d1fd6f51b8e10bafd7d36835881795211e19d6d229ac9276fd3f7de087370178d1074dfb95497d63b635456f73b7cfce63fc3ed353fc6e01b5739a0cae35721ce25f4ee1be7421ec81b3d6d61626e45229e0f60ec84fab9881960640abd0ee5e3ba1ce2859c74e9e715dbdedd22b1906fc7f2230253308cf5a77ab192e411a9f5d92744984c2aae5186de78b5720f73ed61a04bad409de3c875141c11a4c48d92aa36bab181be6b0fcfc5eb3eb2c7b302ab1f03792b41b9c4c4efee825e6da4c1c17d469e024180f3ecf0c008f908c8d5b3eea62168f0b4069d9b06d8f32a726d136e4b72de74c3c8c944c174f1a024e06fbed70a4dd977fe58095683275cc9a049d4f728eb6291e0b4b376a1a0fc41e41fde1f4ea3fe96b5cb76f893a4849c46a977c983218fbfc1bdae560a755dba4848f88fdd0b9a2a5eb1dd244af26e716697b06ae2de5675a459acf33560cde4148f047860fc7032154ec0af01a3987e195404077c3be6e9f0e89c82b5398ee63b59ad0d13999e34ef8c12b755974302bfd62328d6630928dec77ff0362737dc10704a71a2838f74888915df825927a547b1b0d213ff6bd35b69c3a6f9dbcc656644de77d53ceafec3df55e36388d78de57008b3c5455853f367b61448bf3e991618fb8d34c34482444e3db31ec7e6851b43db88fb05f9c729893960d2736e6ece9f64ccd5d370bc6622777e094dbc7edcaa8e6e1f7616227074d856ba40aa764132be9b91b77b837187e40effbe57d58a5e7c197b4944260e1b6c71f0fa208ed9650f7c1ce802b9a52c65f1762b05845bc8873370ace1fb1bf487d3e1a548d4193602a9b4a7b585a7986fd679670c33810cd0580e1ea846710905046e9a26eb8f369e3c203dc1f62ad62d39d0877a13614902d11269950233d94ecc8abbf8aa970afd043ce0c4e1e4348193c0f8550283ba99df19c3ff371fa338a3f6c73f5568c098733786cadfa4cc4db226ae7b887b3a922d4ba1af049f9fc771cf911adaa4df1bc3f71b89eedca9fa542fa4a1e03702f412266382e1dc6015646ce1b5e4e9e34405be3c66cf5880b69b0feb748d9dbfeed833a54cae1ab0dffd60ea9ca405d257194d5cda121cb80902c725d2abcd01f04fea20cd7db9ccf36451a022d03a5d9160a6484b7113ce5f0d93ee9c32a4eebe431c98af9694457a6bd6cb5f905312330a62f922f3f312baf86ea479fdc0f6780a51bceddc4d5ef6dfec0b45b60b539d86cf63c451ec48157aff7e3d7167322a169909e16323c5a4e0306f6e318ba2431f75f79d02a91d28635bdf7ccfdca4975e6f45cf02a0b4964d823f2f295876965df25e9dbbbaea43f9ace80a4174121b60a908de2d644fd9277d00acda0ad8a1426eed9c8ae59399d4dc351f2cf1eb3dae4be11795f6e23d0387ede66aa85208e0bff3802538a16afdfd0b63f643dad1734fee58e0e0221f5bd0b0481f60becf980b3b247cf3a877d56f0a4b34d37ec19a76d0206e9da973024b5a4c8177f4ee13987841b3eca701a7a0c7eb756bd7f99d85738204860b5ee44495a867ea3b077408621ae10f9c0b17fe99e3f5c9aa582faf886ef372f16d8d3d15deb5d0b7e5eb9f51f9dacef925649d15e6c33e995850d227c40885146102309afadb6dcb6f08cae688d73ff103ce4dc0a73f17c0bdb665e0cd1f44d642b3dafb37cc7c1689cdc34bdc7653349f4f86595e0641a104edbda8e855ce86116b3627d5822ac65587a6fb6ae01c7a952bb54911449d3fdb0c0468fa689ebe64e3382561b22d28f5ed05099fb3ee0d623269482006c337387535d507cb0fa0659fc28b81c70d791e0ecc8084eec8e922af72aa546e98ad67170f7ff1bed811615242ef7636e0b76cfaf0e0483661bd52323555e8952292d15617f30090d5a6ea40719f63a56b56d44e43efb0d3811ebebe27f1feabcca731c43f20422835a62d3965ceac1364a665d1f5a92e626fc22a987e2c7024b1a95c098921b9cdc7b2a9449d8656f08ae3ff1c6e19075f68a4bbd8ac808ac5c68074b41c71c1c7c1e5b63c31e1162d40a75da25314016e73cc19950b906133d73d7edf131020d5c4648bf56085af395b4cbf6771a9922e5d7c25005ef014136a472555bf851e46c7f949006adb05a5779e92a7067e6a817c55af37edfce3646bed046eda4480bc3cc9fb8c5e7c5d79092993efd22959e6cea9b458b76683887a02ae40cb1b96a5f113712b9b98ece44695cbb7405092887f231f92aac93540f0e47174ef73038a3005f36ed65fbdcafd53b766a6eeb1d147a134de426a8da6c498315f85fd46ca95986d1ae83d972115063959a20894d4083fcc47942cf21e509e04d681b936619d2926264391bdc1cec126706483984b75f3afcdd95662bc8bc2f6b98057211e93431a7afbd643b5440647929bfef4faea610cb366a7b30e4cb842ad6cd7249165c3f5453ee12630c4085afd7978fe6e8b9c6a0c68f3118eb983e5127106541cd11d8c03cfb0879d22855e05150116c576390c70510a24000d0d0801a23209cb267b14d2a58749743c49bb12adde3cebb69e1f67832cff6a3721ccb5244aa45d752afc2b87b35850e5579ac32ca6c25bcd795c5a10211649dde39a81f6d5def9cbf64b78342a95e464d0009e82e073a3b121761dece82c85b58c210f98ea3fe192f25f964483913ef0cbf856cecba3ac1639b90b05b3bc67d1d3d984ac506793ab2c989c1bd957eb0378b5556b5e19575ab390f5a0216201ee47f0232fe357d9c99aa25b33ed9ebc2c4f634eb4617312c6bde136bbf10cf3e22467d5b555a1d8c7f54dee43c3efe6b83fa41d52b4cff0165f5fb07fd8ddac6f6973e5aef41ae333c61ef6535a35ddce90fcab19d2238b49fb14a32aab750889fbcd8031a0fea3f47105020e295b055cf8ad788633998daef381a49adf1e5f8dc498fbd629a69c5ab87bf42a066eded648a2684028f1e75a0df67efb1e8713e92d508ba2b7a5404b1e42f6392834e1111c2f702be699f4ef744c415389c641807e28eea864fec79423d7e075a8a132253c5edfb924e073dbe9a302e0a68d070fa35846dfcc49c7889cc083eaf8838d864f9b5f4398e6a4d70d3a61dd6ee588d44d8d024b8ff3a68b0cbdd946c2d3d239cdc56f5977fb461084fc0a7a096e89a400f835369ae2279d4db45af33341863a68d9cfec62f1f2990412a0506bab338ed7921659f5c48e96e363d9b8301c4ccf7d6d6b122311a092d4d528d8dada5e2b47873459e0d5653292293835b4ebb10eb3c5b98a47e8526c6a0de49264abfff68d68cb5128dc69f54ebb2ea2f8cd42e43d73cef029ecf17c3fdf64327ddf88a7b4073a05467f3bf4420ac53a6bc5ffe35d9a448fc3d21cafc07e68bd708e05e13d52a71469016bf9d0e259bcd2f8c55dfba71c0fcd774d7aa88f888b7c0d5374a785a1a0243f63e32bb77fa3378b63fbc8dbcbcf72388084dbe64653bdb37aee48f493cb3ecd5093d62173fc8177df4694b0d0c496b8988aed6fda5a2c9ffb5dce85220b874af09c8b670b777ed486830b00ab134a296c7a76fafe8e522fbb9f106012ddad42e542133be5564f3eb52b72a8cbdd33428dfc276506aa531173920ca755c19734f06d8ebe3801d0e777f04d172f91752542cf9816de7b571547729e16bfb5b11af19b692ee3612e16cb46beeb6669eb4682e781b8dc5bca4dcd648911f38788bd85c6cecd3953a7ef73245e5721411c690bc65a0888ca5793aa7b570810cf6ea6a946bfc865a8b65ca81727b320169e1b62aa3ac24f03e67687554fe95dc668890089865ec474659a02ef132bd88eb92dbe627d6920aca8f8f536fe8b7e815e4cf07988dc3ad6668f498cc3f597fe91c8460e0353c818ad97df6669d35161882651fe57aab7067095529c8165c406c8c4a8a664b8fc8f81abc245f8139f6f23dd32c7915de53ad1df24bcfa62150f5d13ed239baa656d60fb1cd002775b51837e8dd413dd4f54681e02432bf5a6d28cc6bfdae016c85cc09459bc3120fb2a642e326d9c545a60bfba409a65da742d89a7f96f7d5273fc258f067eab6617d4ce39a3684967753818e65f54d42fc40cb838b479a41c309b590ad8772e41d61bec2ce71be9e620e57897a3acc7e37ad423122a4cc676855ce0fc39606c03d284613b474c4ece6927329b20dbb33e754734ddd82e8d672a395aeb986c85c127cc07fa049fc4010b091b331b5d896664e97ad65fb0de38d1e57b8c6eff57ac1fae1f073d0341da894075a0bf24e5e49e911190bcfc8490abfa4744e6362d33ea416abdd053ecfafeeadc4cd06f24fb46f987d6bd0714b7e4a95a28109580bb41fc245ac39ab990d430a0a100a5eeeb8fa94e84afbf8b2d37b5c33c03a4e1019688c2d19140fdca74936883f9f96e6e4416df8d69b85ccb00960fa0fcb827f1fbc6021f9cc7e49e9dc2e42326241bbf5e4823960e9226833e36550da075447f21236ad89c3c85a4e4bd810c7f4a84c2aa7ed81a159a8eb4fcb498b490d50673ba761ae597166d5f6b051b2861166b3f2a9defcb66744661043b851bf17c29f7c12cfe9e6c8ce8c14f4aa57493c218975a74a2fdfe3b60106189b4ca39d2dc85c21d3788a5dde309d98c2ad2ed8941fca7c795b97b52f7ed9f46948d6e96e975cf946c193cf769d59f1fc9789da4b815042409b96cdd55f6c6f73212af8336debbf2f376e98e9ec012ea8a7fab801ea01b48ec474142bc7fbb5ebf3e38b33cc217d71ebbd63a1f2e00e961f126b3c433a83b433c48accbe4832ad51c14954703325037afbcba43ad71a45a1197cc5214e4e01bfe22fabed5a9cc9b3bbafc36e120ccb433b5113a83b6d34080cc71639df0cb2b82cba481a68fb9b90c8620477eb99431ec0bbf7cf5a4f07810d9fbd3ad021106efaad52ab26f577ab8a18d8267f6aefe636eb228ab030911d5552a96fffb68f13036582ab18026e617f3a626d95941756a4616d7480d7cc363a4bb07bd2df9cacd4e61034d89ac5cd8133fbcc1d2cc440e425822e2976ca30d72141e8868ba0bfa16647b923846887008b4cb08e62398b97aa62e6321a83b3b23fb2290ec4d8521df56e12eb10c962e2f508e620fee83501e6bbe304992caac1403d05112d35cdda7e666efbd909230e9a14671a262a42a03a20c372ecc0fae79c8adebe6b00a21840d19e0a85f9797137a2caa556fbabd6f6066e28c519cea3e36b6dd4d6d25334040ee1e84fb9481aa209f086ec096e686491b9e16f5dee017036a83a6bc80616c1fb43133d7ab1f0e1f96ef6d64bc3204ef65b7831c1785d69c097302db9dc396f31f0d0c2c45a997a52bebce8f60c46aea0dd830f6a56c4bb5578261ea2888ad8f61923b379a7878eaa2c5678d30f3459ed0816728821db75ffcdec879f8dc18cc30e5e9778096f75edece0a845fc71efe2a0a2dc1518dc1f2b02ff13d45d84a5aecaa92019844eeab84ea5e4eaae17fb39f56b4e333de06d2b68b4461666ed430560a0b7270a0d5662a46529888d31e582ee7ec50c9f7406c2ecb4cd9e570577786c4395c31dfc6fca2609793585c738379770006eaf0a28773f431ed4a573f902be6e4ca543405d038bc09ca468b0e2ee4888bdfeabbf3dfa94923662adce8f6326944b3533f0af8040d6aa1cbaf70e8c242c1ffbfef180785d9c092343445ef977264fd0cf7f47987364d8f4264768fbc0949ab772b943d55065b8ecc1c8a6ba0602acd24b36e58c128f509fc1737232fb5df552c0a3dbc2acad08c9b9ef6f2758b09ae21becc381565f6baeea53a24be31c9b9600a49fb0767b24c9c58accb348918aeda537a4290fbd5bc7ff2ce0af252bbce31e74d5bee9702db8324204832b7b10b5af671d3b6bbd1c0ab9ecc19099ee39249e5a69120f61d125c796a5bb02af64d338bb373298cc6392d5f55c510d7118fc6f3730947c3dd898ac4b1fe3cd18b1944330325df93f8a2d83c952588c2561df96d4810a8e21e3099702719fc8f7292da4f4f70418b31c2c65b5706f94d3491994f4334a3e58abea1d4e6ee153caf48449f320fbdb446ea4f67e6f2ac149df1633aa7b5e519005a5e5c2dc3af899284c89bd7d714cf1a7d7f1287ccd2530af9a593673545ecb5fec459db7840936d2b421db560fdadba51036e649a6872d5ce865441c86f6b4a052c4b00bd09a690142aa9b6aca8efbba86ba5ea79d0ff9c77df65234ab8417ea8d574e522236d02486ca95f4e55e061079997ef2b3772d394d2f46d5ccd438c795d49af0d507391b53191fdfb5c245775f4fedeece00affc690d10eb9c86d568e2366fe328b6bd1e83dbc49fe5c0752bbb3522d3924dfcebb3b496933f8e4ad9c6e18091dc689122629f2009672454fed849f7f1ed648ffc6ea88cd80dccdb9585905eb34fe37ad2dc739f029745c3048ced77aa5b93fe8c9f9a791201b9f09a735b9f6eae119a88f8ffff24b99095594649a5d3e1a25fc4cabb631a95afc389269b72fc9571bb069ae1428adeaf3cd4885227a3129e2e5a0b949eae71306ef15e3c1e2cd4a35154bb4a241dbb8008a9a475880f08df03fb6dafce7795e3309ee37a3280101c45239894280418ebfb4e6bbadcd4fc3bc26237e2eda47a80a90c1699b7c11c263967bf60cd860014b9e0e2ce023b8b93e528e7774cdb1ebb21f0a769c9eee72874b39d46daf9bacae8bf7a0eb85e877c5a19538f1dc37d2390f4618e371d32921f09f53326089dbd0c7e5c41af0dd45fb9cf465e6b8d3e9fba381163fdc6878b5ac307042f7256dacb18cae224474900fdf8ad1281878a5518c56002c5c9b577081ec4f0b0648cbb01bca047e183b7bdf656b8b9c396033becd059aa2bf8b98a6d6b9fb4acdd0981b1ed2018236e0cd209229fa61bc0b99b9c2c9a5666a244cddbfc761c88cae22c087a9b057a914095732416b901005dac04f3405e0beb0624b67aea8b8c477e7cfac22b5ebb759acdead60e329577e2ebc47be7fcc98ae55a34dcef344851cf6d089f136dbd8561e7c27dd8df634009cd481a341322deb0fe9176c8c83b2f4f5325e2e96c7641733d768906f0822287d89b877ec35da65a3346731c15d9c4af4d0d23c0374ccfecbe7b984f9f2946b0cf15a3f85c82beea5495d6ad41f54dc09b821951a23ee62db4f3b7d1b2b7613fbd6d5c475b1a3c5214348cf1fe41568f85af6fa0c191f368cf21598b4b34b38f9d502dbdc4efee805b3993ebcf062f25c15e3d49e8e381538b16b095b3cdc5ac12ed4d91588031b93a8111a4da82078a03ea569197ae7157c00a046267f1aaafcef59afd0f19cb78b2e6c4927f83cf9b540b53e99efa85512eedeedde57ff7169e3519d33d64528ab8d6c20dba598480b67b8d13f1970747e4fadebab7ac5de3c3b006c4fb95065bb6db5cc833022e665f23a5113b11f04d3817bd7fe3358a91a33091a44c760346e8d49404c9e719bc3d04f22e7fa7cde4c0f0f0e5b80b3aab52e228b7c1ce318038d1e6bd6374f7ea769070d4b8826b811fe6a8df3d0937a5ff13b620a096c30752724a1e350a1e2ccfe4b1e599562799a801882d4a6aef8d997e183785e2fa735b3c61e944818d8c9fc52a28d35a992334bdf25ee3a35d01d32e6bbde7a9606a62d10ced56574103e6cf8b044e19d541c197ec9eedc2f85c7bc77d2d78a099a250d6bfddbd232fbfc24c011e2af655ea7616308bec31bff30b4f386294343d69fb58b0ad1d42f8e1bb8062e84b10f63fe84c76988c243dce85c541367c27d283da57b906c101f0a7f8e75f4b14577fb1214eb46e4ed4ded92f5683ca8b410817c1fb4e98901813f4933c4e7991297c6195d687762fe46b835fd5b477a0238a972e3d1cfe882847896713d6cd9834e1011c98d34cb60d793d77588093e4fd714aad1d485c145b01d3e28052d558c413d943b402eded983f45fca92cda877de1fd782277809f634bb8eb52a83dd3d35995096688f1e2f176531d53a91781f0c31c5afd91fa32727bd266d26cf0e04d4a14bfa74c1e650d29f804f028a1f98ad9ae81b7d6d33bd990ba822991458fd77291da7a34abc9a3651d090558e31c375fd209aae2de668706026a3f581d8947f9863ff7abbe873df577a58792673736aadf1d21a95c04cc82a15656815f56cbb072a509b304b728273fad10ed71efa6466057d282caa7fe2de12e14e24f71e13160ae93c7a3d8c78ab32c5fd02c6991f89d7e7a9e665bcf7a4e38c2c8bc6d17a84e859c76ff13d073a2676e528a9970f8f8a73b2cd74bc978033c7e7f0d622fe2c1cfab9af1b027ae21626426eeed40923d73bb0562126f5e22339a537a700065f06275b4afb60ce673bbe2769ad129c7fbcb4f0d304ac15175348707b40a5fc6ab11b5cc5ee23aee919193e4746a6279f61c7dad42c18519b5ad8e68683eab01849541577e7b2cc27de4d522977267288b8abbbd2b5702bfcd69a148bf67693bbbf0719db10776580e82ee22f2f9a92fb183db12d531aba4e5f50370fd2a68bd128acf653e86ee602238fe1b2c98f0709cf9cba289fb928ce9bb1599edc72b2ffb4236ab0b5479d44f51fb2394347a1f95efae4f88e251c7b2a31d04a137e8ca937a8c0642f3a4db764a34dd1c048d3a3f8ac456ce763e3f5c14b639b8760026c1857bf754fede004da67a8445ee21ece4bb0fc0ae8d8d297e1218d479db1990832db19d72a8a58374753548682be7be40639664685ce2801bc9c9a1bf13f631208c826fcb954a3ebb3b92a7db946eddf01e75c7cb5ffde00f82260cdf9b0f6c606e5426320cb4965067c602f9cedb1dbeeec8bfec2d69534e922121d5104c5f7561d31aa9dd0e86dfa7d9dbbb5003a3faf406add8a68a81c5a75d1f730a03d2cc28be778f763c4b77e683603f025fb7d554198ce2453577a2f4553d888af784f262e4e170c3adc996e4e1fd7ae6f3cb0b6b936eb1d74b3cc53b33912600c7d34b4d50343b7561644e521882042e68ece1f4d3e42bed4989c09572222eb47abf049e81ffe0789d5cbe728b09477f5662591e632651f52fb1ca18383ec1c23547b2251452674f27a01bf5edc54cba765acd55c03d8f5893f52cd139600da248ff95257d1a5c1b384688b071eecbbf070c2b940acb2c60d5e7a3e7ac03253a5ef19d7f3fadf8d5d608533f3dfd8ce57f13f2681d162e2be4302269a873bfe648316bfaf306aa813a5805ef773cf5de97b48d99049dc78525fbc3f72c0082e7e03cd900d68002f1c87add89e153d4dc7c7e42bc405927b1b219323df36bc8b346fccd71bcd154bcad7fe4f2623c5a5f360d073a730cbc9319663771fb89aab7d6cc2921957d5cc850142f0644ec830ae1e503881c6061c499acb326c5bec829ff92979d8fc3515e074559ff2cd3e0a8190b0d1e71a31db035d18bdab4bb55a9da99c074a3dcb66f417de12455bb57a2c83f2e3092016a9ff0e7e9d098171f667f40f23c08da7b52eb00c5d4e2ff15f42e93d282ef02df10cfb0c624efde9555e282e85a145ffbe602b80d5872c958b567f2e705f58e0a3e5a17b6208f80fceab287ef42f79ca61a3b122b339388016c6500ef5bfaf379c5d49b45a9a10ad1916f47f692fc79365b84e76396f018d2dbb8d583803d077f1aa95a8c95f8ad6ce9c133fad4fc50d1b7744390014dfbded0625511f86da15a1da40ff39fa662c60cbf49b6ca8a482fb65b5dc0e378c72470dab58952b559e73400002b36d0f5b499eba92bb4cd7807b4c2ff4fee1ad038191b9b777580f53d26775a7460ef17b40a527b4b280d91f0cff646d586d176f81bf4dd04211279e817849222ae09f537e149229642b7a5e326ea8d9a9a3581d54cfcb45b8fd1e96ebc11e040796d4e8f77e1b05a74326129f4bf127d1c3213481f5b2e59d39344eb2fbb4b089d1005b7419b39c6694bd9aa1aced7c93346c7745a4032a363f5d56fcbe3596392a024819bd94a2b9629d676052335771a4a4a5990c87b13139f848247d93896c493e5812481b7f6ecf90c288bbd481513fc4699f7801ec57ac16b86e1ed72c8a1c4f0df4a36138c2a22a278a6145338d08a2aebe9a72c2c719ecff65f105ea3886966c040b42e030373174c26db0dab1599bdc22f6f83acdbf82a7b81c27f126cd02423cde2af62378789a1968afefbef94dbea830aaaa46cce4a296fc9ddf68ca5e497197d4606f02953da4b905a84965044eb778ee9ea543a2131a6a6b1f4d64b7ec738da27b9ecbc44fd02b1b49e284ced4f5225eb1eb77c85b38a67d8f1eb77185e5e6017c13557f3655a2dbfa998cf0f74836a33bf4124db2b2ccf38b244ba228915026dd737da86c0be3615a860035d5dab6b39dbfeae2c2c8ea8ce9ca844368a12a759f19476fbdbb02b573c977c0338900d47ea2a54d5393537401d9735bd207db55a6f360cb7aebfcdcc075dc49b11cfa256cb28d887b3aaeef770f1e3bc17e01c2112fa662ed1f9b7f84fa4e244118d0da19215285c6272fcae58324c39d43c20cd84f789dd86705ba8ba44c574c3162293683efc1cfe883d93a6ff6579d130822b199ce574513573012dbc0071549997db7dc6ca836bd9238970ffb91afba19727ff0634767d9a32b57802ceeab2887d8f692473d7a43f21c9dd03cd0f22226ce420b22b62f79606dba579c459e76cc08ef44816c40bba0edf83d82b12304a856cb48f1213526a63786a68b9e2b45d3297ed932f4d3eec3592e5256274403fff40ec31f766a99fdfd396f92bc080bfc659d2b91bef0a9de6b1f804281f4ba9d941c9445e0a3a282dfd6ba04cb94f827f581b456528a0616a300730433418023bbdee84a0b5a57540c8b54ce2be0f668727425382a4774b45e411b5bf1316f5c76f526e6150b5f96c03fe29378ddd8d1b303a5073689d4efb7ab221027b26684b38909368afd845e88753cc5ac7d3ece40dedad91537e1fc51bdccc5bc4042c11ec04ccbc4f3625388c4dae6e9f51214ef24807d45d75e1c0d0fb5c4c25102a9f84487527b02b7f2c1106f8a804066f284b5a01e4b2b516fa1b19c1300036b15e0ac130be1e1a6c2fab469e10f315eca45cac1b8c83194d4a9a2ba06af754e28ec0298a2004727aaf1a34c5cc60203de6d1dd9c900a654ebcd14099da02003058313a526fcfc1afb26e3a08e146611df1c0ac40c6a2bb8200c81d5b8d6f562ffe894009fc996bedbd176f1c14f9df333cff89bda05404f97055a17abe81f0b952a05aa2aefe0c3de7e8eb728c34ca1b75b7389d390199c17a7acbe1ea59f643ee302eea3cb8e4c3ffa43d7ab15ade5d09c22303e03f498e8f0f41f0bd70450824bc6ed247858ef61a026f2110a45a65a9d7fb76be06ee5082f9c68781ca546a8c150f95f11137d4d4a2bb73815733dbd1fa2c24991c6555229378056ceea0fef6cbb6ce66e4bc8897975d82234af184664bd6ea4d286d5bd35270e2dd5ad59d0edbe9cba6958563ee449e3208bd57db6eb5810556a1f6c150cbca901b42066dab6ff86b56927d263cb6d16d0d6b7c25618f4420ead04fb315ba740c091df2a05537d8a6d8b50ad8faf755b21dd1813059e3493a87bd4ab97a55eb11b28ad5ae3aeb4285121405dbf64527eae6dbaa8bbe669ca84a0e464c3549397480db3ad98ed6cea4d6d21372b898c9432823324667aaa8800feb6d4440efa255bb3dc57af875698aec023e35d37fd23721bfb747ba19dc8a9d31bfdbb7bd8d4a248027db4b65a0d32ac888ea3fb4f9775299f79691aa43b199d1896fbe8fecb2aff69bfdc87378b0a8c37ba25004f8d9c7cbc16e3bd217db07000f765f0aeea74cc6f48a0e679ca881fd944875501f5638be3d3b2422f94e9cea1cf739e564662cef50417be9e7a7307959c1f5410a6715fb295b082efd42032e55c8f2eb673931743f780276a76be0757b5591b3b5759327f19e8f569f8704288b952f8642f4f36befa9879b972f11c24b61261b20b59ec3ed2a5e2a485ba0ecbf0957255bc8a84600a936edf36bbc175eea676eb49abc19d5f61c800add42cf59ffb12c2170e05f436415ee491532d54fc33fdcf4513313c185ed783a0efae66c549fd4092c150ce38f00be81714d958473faaf92bded6198401669f063edb5914f44ae3bd6c804f6e579bb80a373f18f9223c6816e9f8e7f63ff6074335d12b518140972c2f2296b486b72d3234bed79274eb9287844dc72a34eae3273a8f8d71414fac229226d90860a8b3a935622944137f54526bd58c1ca48c2c0ea4188147f961988b2bed27b56538899e789deeabb57fde59b0feba647c20f73bed9589491a040e5c34befe6d00c7639c6fe2ec6d481a6cec95ddfec23cceb71a02e2eafedecdd8cc452d788ae35016884089b5274526c1d77d90abb523df4ddcbecfd25a332734ddd8a4f46c695c256749712b98ac5a718f2b03dbc59b0a23bb6439d65ec60e5c253a0594b93cd63c39d51eef3f2082f61a4b856e84a0a88566db893b885bc0bf191df8fbbaf9561d777eaa41a7e4da5cc09898aa6907f4e01ce36c7086e344b62ea6f450a16f650780359196d29c5e4ff8a63920e6b08d0d34c9c53a45c436bc23cd895f8b105df71096af0c6cc2bc55ac13c84727006e2770f1e323f955d90ee9988f67bf212d1641ca7e4ce7710e7096aa3d75ca1714c14bca1aa3297f768be85c8114021635d8d80b0063d8559ae4be39e267e627cd75a315254259da8482226f0167c8e86bafbbc235d7d2d59a8e768d947bec90afceefc1208973e60aa499dea806aa991431cfee21783b7e764e83fbe9751eac42039fb16a495f0abcc03843e791c58ce0638c3364384583acffda4eb2530ccdfdcd908b097064b9e5c9c14956d30a117f10a2f08de1ae75cf45e8b34ed5b6c4cfc35bec452bba5c7ff6171d94bb8bbabc556cea318cf9b2b473e285b573ebbd9b9a14af70b767860e0005c5dc933012ca401a07bae6bf3d0990c3defaa9edf4ecac5e542f2a08d7bf80d916af068686f8027a1a5b34faee7cf1b7a17e8517e9f53127500c402df7b9a0600ba1d37c67bca14e51f1a6c872616b6d5f68b6c2f764505f084d76bb310d0c7f4ee85f7514bf9153d51e8a2b27f4aa4d9b9659dbf7dde11e8bf72250ace9438b1fdf6f095e85e2fa37f122ed99801a16eb93b7cf5fae3b306ef8a0ee8cebc8334cf852d6541eaf19e03a529947c13f47b903e61c57090899f62ecc7fbff88dfd5a87e66c0598535f7da2c6d2f30e232a61d79e8dab79361463174de8556e0af49aa4807d4ae29ce0891daaa9a9f75675581b6d32e794b790a22d59a5427a4bed281c49c7eb739db3934ca602f14401b89ab0ec4bdfa2e21d2e86b1af9b5e4da8e76e1f968094586e0b58d9a67c9cb2f2be10bdf5b1932f5fc7bb94dd26624a1b226edf80fbe8a5ab9de2a47a896a2044943a402420116997f74fb56747a1403bbd8a942ceb12b12fc05a2d5d5c752f6a38b50000787b06df8664e79cbf70be8056f4ac3b0e017661da1ab06b502c53acf7cf59780c483e2b23fa121b33769cfb5d245816a406db7a192b51b97976774b2733c12a4a503790e7f32756c7692f4976b9a276921841e83549d27745fb983fb102542997133ca79ab2df3b4dbfed02eaab6aa5bfdbcaba031bfce81e276049fec0385698000ce765e1b36fe4e946be24d4effe3130823d9a356700f63929be3cfb18199d7ea9c2bebf610912f38ed75dbdad60efd9006aae3fb408fcebb17f6000f4f53fcd0273dd63d48badd56730a726ec5a95657449af2e5d4aa7f7d1860300661000a61eab5691669abe99b5435b1930fa0ba526812fd8af75481fe6d48f7c8cb64e7dc95e450ffabc317bd253b12c80d5fb682d046fbf4803a5c78ca8050d3131292b4792ae125e464ab6e3f67534f7c18b358b6e46e52dc001bd7cd902b79370e0348d1c45a02896b66decf194fcfaa1d8c239408bd7035ac98b0cde669c51c0e76db3ca153a00f889fb92332b39dd4ae71504022f6c60b3541a2ec0d1e7397e7815d4fd6143cd2db7941a3e4fd144a74d9008c8a90f00e00cca95ca270deba6405180c0a14890510196c281bfcbf5f11da8f4ea3875c5b6ece015397ee325bdd4e14230cdab8df90f517b0d4d1d3e1b1a46aa31e1417cbb97fdaf18ca7b532bf674f9da509edf93b824b74a853e11c84ee1ce8bbbad5f660b27f12cde400c005a1b5a85077b854d3927dff4665cd0145bac591d9ba93aa3424d61229fd83b333d1d2d6eeb904c2a3c2c612160de9f8d76539679c21eef5c13a6d756158fb3ea43743a98e2b4ad40152bd2b3aa6f48aefabcca46c9ba07d7c37930ca71ef59487a5b44ced40cdbea49b49c633b77a63f0cd2449adbdfad89b012c236dd975551b50976df1ef2d6d38861c768e5c73850fa508e9362aacff6cd69432c33b925fb2b260c8f9a6982fed661730d531d11783db3339d8bcc8fdecea9c9db22c9edbcc3002866218722a69d58a16e421b31284ae70e3cc23839607b97bba9df229e30584f6e82c97caf97b2a72745ffe7a57dd496758790651f22ee1c5262ff70d9abb923b08959c2bdeed34b5ee87151f684181ffd5abd9ecd393f5f3dbd660f2a6d3095a684a0cce149212f2de9528c589976b72062e0da2ae8716ac6cebc183abe011618538c0b912409eeea7bf2ea9aa6c2f9360a8ec55a6c0b6fe2f241b547b4fec247e2659501366dab5039b98a066558287bedaf084774220c584a3e17640f10c03941949699cd6b63b809818859a55320630d6f4ba9a0233c8994e6bf1bc7e317e18c1a54c78a2f9c4629d02761c6f8dabce3bfd7420d4bafa2fd98b087a587307e3a327fe0afefbb8ee2d876440d8ad0f297e020444311e7b832f1bcf4d24c875a173d5dff7fc94bde203e552b48ea93e7616b1a23d868607db607a47ed64378373f10581cdd2123e75a2f17e1a25f0ca321e5e905d8be435144d889f8ac2e06763d4acde3611168d40c329a634184d0d5441f73014272e220cf1f87b6f3209dd447cc71721938a8da28d1d808724bd06d547c653379f63552da89310bcaace41504954edf0cd5808e808a6857e401754dc73bd458a189353ded55b75078fc24cc6969e95672a47bc3f921cd7cec0348e10ac3dc9e9b68b68f9f8cf268a411173b6131bd6acbe7d37458d12670161f200674ed1219564e0743e8a619edf3329735160ec06901ac7504d9ca97127368667f2881275f9ef9253eb8d8228c92c2fd594bb97f7fdf4c8f215d7b165f971e3d0d1f425d14415288ff84259d5573307150333db967e3a54f34657c883920592a4aa57708a5181c33d107d8def125ba6a97515381ba8ea7bedecec44d71771a7b7975dd9ce4d5ce6a8662926d16be7128913e5e5d5d8830e3883134b6a0711a9bdf6ef6cd7c7bb1e3a3e2425bafc8d3b88fb7947514218878069fd65fb34eef1439d49111990928d0c5214e34ad1a2f1b940f108c6344fd11751ad33cf73679de1701c4cad24c32c3c272517fa902900db0fc75d968b008acd1c83ac339396addeda54e534e7f9504936522962895a9ba9139ddf22de9c45b15bf5a97a8bcd9bbc42bc17961e587bb7c5d9afc811e8a775a8f3c7d4be5a0e7bae370e559b8a50b24678cc9fdf3f2b905ea7dbac6fd71f59341cae949c5a89db95272312ca72c007afc5efeace2d4d21503bf85257821665fb7ba2a59e8fcf28927c966809887e7d5d72c239b245d45a84ea4524f4ebfb695233a54f6f6c5dae003345b8c6035a87762e98b9a37f8782b149d6b0658f763a96c7a8cfdb64831012bbeaceb822f6413fa2c940f63e1319ca2e66384a7de0c513ea3385be854201a74b67088b5ebe2d6a62c27aeb2fe0aa8b3056f1b81670691d49adb3ae39b092953db330a692da9cb3edddf1710b956d34f208a68a69784c553f4715385c7c72508d276c3c3d5b5516694cdf3e5307239a6942b7d2c93bffdcac84cde3bdc1c0ed455922ddf56db5e8507807109d4ec5142c715659bd7fa9e528c129d640dadd906092e5894475c49a3a1c170c103766972cdab59b8dd218f36c018fd8feae01c59e979af5a21ca015a947ee17a2b97f1c6194734cfbe132c98ad04c39e225ec12eda77838b800b12f67ad56f266e767942b6f621eab75e12da3e521f8c0193834f289b2156af7ccc473c820e276075c268adaa541fbe6b1470503966aa74f519a911c78bc592f04994ce313d72f4516010c88aa70c1d51d7d0b4f2e2d47c2cc802e21044b9546324ec160ef2595cb37d9f62fff24b2cf57dbd5d319e5c42e2880d5b70d8b17e1288dbc11a3050fae4a5e586574c7a8a02e75d322a4266693941414101d18c9c2d8262209d1b82e2d30f35384e40eb34fe76913358289a2f304c6fdc671a4a504b4448f1fd29942c148e92b8318deeb767fabd60822113e575ee664ff09a1873aed8f7a495793cfb7b5a504015f3a9074c641e7371b250d867d751d90e4a22a8ac17fced3d50affc4998b97bb644acb07c55a4dade3bdcb89f6f82d6c24c305d68858b3dce88e1c5e6fbbaa4b78e68571619e67254f32655dad584b5a8ea5ffaaf8321e09292366e8fadfeb16e310bfffe0a06c31ab1c80f1a99d8945811fb2c426289e16dd053faca16150492e943a43c83e6b3069531dd498ef15dc612fb2051b88f7da83afc5764a3378f017c826ab55382386c5e477c8c8d34ff026cc9e02cff10f2a23bdbb41b2ea8367ec4c6794df0c934fad90c07bdd399b9be68225e9e18765b6a18f8c4de0767e791f4b0ec314a4e7db00ac64588f1350c2fed0a794fe8d988277d5ef8d4c35abae00f459017d39a7b0c3467752717f3d090f771492d139ac83743c5d8ace951e06511667472b6f2ab2b49d549684ff3724ee08c6d83c221330bf3050de85a124712e8d11e80e59e7a2ba4d60c213ef7fb6b97416915a8b8c3aea48c6aae3ada79a380fa4505b1a58e9547222402b88c7c8dd09f2837e889308c5c4b2a683eeba8cdb9c0b6a2c45bc0159cd41370156c538db4935d8e1a00c4293839381baa681b9b6b5d5a452b811ea05879df0db296216587451eaf162e9e16a8fa8d273280f282bf9e810f00ad9905977161dec3f103ef789892ceec8c453e1398ff487485f1e1b56fa1f4199272288f9984956b9f6b33e56a88544bf87093284d9f7be8ebdfbc054e736da7f0770d3b1a3ac5647cf5e39246ca6b8421f6a0868fbb3949fbeb7daa963d8d329aea4a1a92b3ffa437d8561007321f68d161f6dfe0d19c46b783e6c367dde74554ef3466be58678c85a59de5f59a8b6153d75ad994a1a24c4f5159937807e516d34ea81fe5ceb642bf258ebb872bf3092b655add9262d1950e9a445396367f41bbe919ac90a6d5f1c84aaefef8301e1e3e5277b78ec155bb9a4ede6e995e1cad2842fee4a01f91827dd875e37c5d37a3990d15cd64e2fa78e063917dd0ce48e7875fc4271c15cc90a85d8956d95ee511ed3329b16535b6df9e89c7df515e26be18233fa863091752014b93de171f920840fc7964ed4455c37bc5982303b58c96b9ea7d446f76387856b9fb468c0d2d3c95dd96bc688c8b66ab62a09ed42e8793c82edbf4a18ba4362891f1ed91026933e1a6c8cedf1ea2ff2d3576a20f87dadca8b45de4b29c812d39caca1a2498e207bcd39ebe0be91b8a175cabbe3b9b1ca9cc2eab3588d122c15eeb2b8680b21cea785052f59742d3212491166ef8657026f2bb2db3331cb397a6d16e696620137c008471ce23ced65a437336762b4e795389f5bcb26461e5c940624567f0f880eaa53082ff6309b4477d655ddd2c5657e83a0761700d6706f012c7365f310a6b0a6696936a106d69ae18801e22b5642bdc9ed3ec44ba4f8e858fd298fdaa07693c58e5d49cbfe4b4950f42906d3f5d7be263ff12e68abd5ac9e98fec24d75cc8d570b09d5fbf7aa3b51eae5614cd4b8b1e15ae4964bc5c9f98e531d2309a12aef4896eb7baccab4c08e41f8ec3bab0428999e00f5c5f967fcc00bb4f7531d512d8bffb92112b0c0cdd010647597ad419ce1321a1a7a9f6844018121b455029cfc01b9c226d38ddef0b1f79ac3bb3e48c14aa6e4cb5886966711b1399882844005618ebbf847a7abe7b569908ec66ccf33a33b939a02a35b52798aaf087735c3e26b79944c7e73d7813647d95ee1a82d241dab60a47141ac84bd8d694f07ff0398404921988d663226644e8c128a5738b53629a7d33382423c9a759018acfe04c0828c411e8606a494fe23706fe92516f1dc3810fb393d02d88274d6184b82813c5ea1d1838e53b46b5c9e943420bcdf2683d65f6feec81555bc89a1a710d1bf6dc527edab3c21a34cc92569fb438f373721a5f55479c68f777f2ecb4dc6c78c393ae969c9784118eafe604a7811402ab4d254a23038beac454e97d3ea03a7f96bc2382becf4e8af9981e1cbabbf1f2ff69db1bbec9da874cbd9a8148b6136705d6f698ad81d642be540bdf4e4b6649fc29b9186e2d4eee688c28005cf56fdb903f8c52ebc10096e5abec059cc47f71b3bb44b820b4b6504af2688038e19dc8644c985993046a66ddd07d4ec4f83151659e7b97dba15809283a853a42ec0f7e0dd6b4bf6c472338bdf336f5f9966eaa2745b41f47cda1c17ba263f1e1f24b0fde3816c10c8822548e963e52309e741c413a2d1918e6f8e31399a350f98b5fd46c38155546ba6eb57b21d42c398705dfee7a19943169d028afdb6ae10ae5bd6712b7924aeabfe34d1d189cab7ab4cf256d011f62ec43985fadcc16a995e0acb84e70b3ac8ff52f958c011873e62d4b29fef65d502e8e19b1e6cdbc81298ab284e5bf42fd919a75adcefd79c9a2bc66512df3444e82a81e3193c764cc9c310287e7cb7b8ef5184884969d7efe2d983090d0b4b0f47f0dcf0f5853b830808677005b1af9d1f954c92771a812de1aaeaab05e495f51bce83bf43fda6868be33ad1ba508f05f137c84753ab260b706d1840e4b1c2887bdababbe7341de2e3460c9ace4ace4a161f88991e71d11375134aff8b981eea11bf7d3eca9d7f528fbdbd351ec5fb9cac076e3a9bb25c36bd50066a9e56302b4da2687814dd58ae806c129c0183063ce02ea3b1a84f920ada1aa0f1deef0bd9de723887bfc123239b4425757ed3aa57d2bc6296a4f10ca349c2024ea7ef12b4f500b7c4a5cdc8997b5a843caf992fb3b4704bb4d8fde974c06a5972a01b35c006499068667e0e0f10770ec9cc2bf22057c95090f93c597496306be62468a0d0d6f6cd22f23a4bbe915ff6f5a24ac7f8c33533554d04fbdff9be02bdd5420cd4224299523698bf5047335f045bedbc9d7286a0c5947d68947b763677cffbe7a0febe347b0ebd01727220e80381cf7dc8826e6780f6577f60680027c511fe2e563a1568b1fedd9b91171b707a99a000e4a930291d6e24e9782d5a3e04c365fbd472525b345e9840fa1b44a6fe1a603f404953164376235773004b20d2f58f2587bc958069d2f7141a1cf08e86206a1349de24aec899739cf66723e1a6a3bc7f59cd636b066c3a1be540fa02047d0d3aa5b7d6fd372804b2c3eb11072397925d672b1261084d8b33fcf118f9531211b9f91297f625983d6d268450fee3f80459f8b5e5e09114fb9a924baca04e27e0f59b6a98c531d0c3e0860a0ccd69bb9f31d5678c9ef182232d08ad0bdaa11150ef23eb2f8a828b3ebc0ce8c04f23453a63e0f9a0149e4c2222e9e7aa6f53e96d27d733209c1304fdfaf173f4fdefafd81082a0317ce8757ce10fdc2010125345ba28ab03f5fba8c1a041ec86a3ee82841d03cc5e1a6bc568ba020a1de85a841657624c940f7faccbc13933eabb2fc964ab6414a69c4fe465061fbfbd775d02091b525152c0c8e200074642613b02b520341722d8e233795b4c6008bb066531832d6f5764dc479a4c6365a1339386b5da9683d3babf4d34a7a71d33e6ed2f483ba1fa205adbbbf994dfeebfc08d466da93a80e84c1b170fc702de95f4ed845db09cd4e912bc90c7a44be5363e2103887f5de8430c789eccd4a9010dd4c9fe96592c85ef54065bfa9f203356d2589d8ef16ca196680336dcc13b90663f00348e2605b158c9c8dd8b72ed98f9c7e93239be52155e9f0d16da88854de18542cedd6db86698d50ade7f25d4338b56a441b50eb73753226ed8a640bab453ba85122b9c439c93cbe6a24e90f1c312728079d1b35f2e743dafc92b518005755e2be5751f69cb8073f36a6e3cc6c8072fd3438a72c6d1ad034f8744d8236a9353d23aae273c7b1aa776ab3fd0d18bad7f0ef750a9d865f71d25df46f91156f3883988377086fd5861dfff69cd67365b46485721608569679008d4b901db02c7fbe495c576f61da51cc09a711a41de5a819f36e06c5c9362460c4e7a30f389e1e0903678158525685e2e850af4c2a44a66ba1087a1b27d330d7e371f77d2cd10b4078257f681adcf4c8570eb2246e5ec8631831045fb220f85ae9d75fc4a5a0e6ea5efa9f21cee47cc3124fcecfd897def3360dcad8c13508a13af28e314275d487a95797cc69ea152d6f537a59f9b3b5d6a7e42dc6c629a0e272715462761a4394f5b091d3657e964b708f197fbf656d0b8e75afb41968792009efe0e565d61d9db6ca3bb1f5c77a55d47955024174792ed45293ade6c5682985d85457b9fccc1dc4328a19cd7365265ef63c0af6ab1f89a166e826a87dad8eb165d3c236759cfab6e1f123d334d3f16770e560d4c6ea33f774c1b9d9658e8bb443bd5d0a33c1a83d77aefb5d199cc76b1a6f81ff5874d7de57515bb6e5c27eff02bd1bacda0917325d4cbc0736f96d079e9581561c5366a351e88b79e0fadcdfbbc437fd3351b89bc824b9d72a8022fca78c0973cbc98d330f4c3a26259050b878750cce33e795f79255ea332bd8f80368f68d73372c5bb56d462d5b66fc646c5263a34fbc56e2613e048248ae03daacf7504a4f3d934522dacaf5f59853a5f9aec82ff4606a3743234f7582cd59c2ab84ae0c58dbea03700c144c38d3535159d6a6f416f9f067334782da91077d02020eeb1472556f90646605d4e34a341fccd81148c3a0d2186bf043bbb6063748c5550baee66987cd796e7a6801daebccf6bbb3b673b7259add2f3e83898541179077f631858241b7ff815337f417dbc7ec41fb5b9410a9505f417fed1b5781dcc1f59aed0f29317e88356de6f04c4e0ff4d6a3286f8cc4648ef86ba46be8247a19b80fc9d2c0b9e5ba5d2ef806626abeeca2b7c5746fe93fde3e47db58cb01ab4bc155a4a750324ac1151ec9b2f1c67734e2d0dfde2f5ede84ac1cfe3ffc6eb0d37b64545484246a66ff7e723e74e5b7672844b9243ac4e3e887d0bb45fc57a5b03b21d35c4b4072837097d565a26d074b25572831ec214924535de7204433d56359019b055672dd4de1e428a8e3c7368072114cc82909e30a29ee489db388feddda4975b7a5adbac50c4bcbce0fb0afc69121634a7bc0f91a8d241e5ebf53ea6dadc9e87d1a335379ffe3658547635904cae6ccb8b7d1e578d0c25b50aa44db04acd02391f4eb712839f817b6f146ba87267d3b8d8bd6da7057dd62f22e769153efc40e0104023505484c320e149700aa4514aef93b7edd57801209696d097c77c952de28280b18d2dd98ea511a8df7a1de0247a7e28fc708244cd6f2b79c9ca1dad5f65aa931fa76541fd89d29c292a92c96807b65ebf733503229285213412a631f4031ba79c3429a1d68c1b5174a89c1637efada83142f9d9642386b1e8c83d28c75b186ab74d4966c8cca4181f4736b04b757bb4f7547ad91e149d0cb3b870542733e2b7daa66ef6a885eef9be1c9a8a9bf529eb8f28138ef8136b70cacdf712a2e2a0e10628bbfe603c69e753bdd1eb622212b0ceac53a0315458b1b0b557f9f3f7defddfb82e9446a0bd437bcf6d70fc53caab1b44296b5dd24067549ed8e2eb10c9870565adc112d7d3bee4f895ac117702fa05f6f11eb233ede0e917baf5cc1a8ea720b118c11033c769a3ac327f9db316773b236910bcfacb53dc1b526e05faef4c9618de6218c0f3c64840053f2ef07d10b6d4549235111baf778a704102f16b1a8eb6a6a4df6f10245eddd7a2e758a55916a52f38c64d722ff1edfaef65191ae27abfd0da57e99a0f463f09750271f16f581a266fb66b8426b4c76a38e31da223fcbb0a39bfadd50af42edf5aa9a98636992eb55fa1f78ce05a5b4c6e22891d0177be0dfc5a46f95462e6e45838f28ca671b844caa7a28ab6404610543542be0410680efc7f3e5587c79b19c1a58138d6d6f871b8ffdfe05d39f05e915bd9d4a617ad27c14c51122a964c9c668ed57122b2773bcad261ca3cc3ff95b85dcde20a9ce2dc389c92c147e937acab45f642029c033e7bfd7b469fc1574c469b036cf2b7e19aba47dc9911516a99d51301e234ca3498047f7f71cd75566362bec2b70e26b0beaf4a36c525482c5db9becd4c7bf9263e29e59b4dcd5e47ab1e8154cc4e0ecc2e444bbff1699cee779282ff148fb21a33a45723bc721a6002989000fdc4ae1646a8783af70e6edd5565c307da68678fb17e9794ff69102da173bd3d4d12cde83fddb05a65942f38e1d6929f8545635cda330c06f088fc1e73e5c0d220204acbd0de33f8cb9dd4ca73716cc14036f22279a0f77f4f45e9d4aff4cbc47d7efd8a3b096240f14813caea157a5f6e939699a578e4dcde4674229d94422f6b6c22a90adf4e335530fc451bd79b650cdae4db5534cc946efae97ac2954bef1e22385dd0a3883c3d68df8f4734d7b077b70ce59d1128db9cb5c87148122a7aa543fcf39eed340183c3d38ad2e59d0d42e4a80f6d83c5431ad94d99144a0a6f8c793b5a66cb1eaad2c9e5911d17d2f2ea092103a9027bc47b06c8ea2756421fde5131977388fb0c66d7016885eab1bc85768c8c16d8b6e6c2d580d219023c537d58ae2fc6d71ca2db19e1e1e07c9529deafc19abad575c125a7586034685f7d975e70abc5bdc197cbb2d678ccab9fac7ac4f4f4b2c087ce80241a10e511a30a371917d6d4590f6295c476cb6ca7db07e3d5e3ca7ef3bfae2e31b089849db7cbe13fb33bc4f14f2f70f1335c13203f1f3005b035d81771dd8ccd65742e56546dd5d49e34fd2a512b0a433c3f399b42b6f6e94b4f4faf178a1ae1dfe5c2c7dd9978324199587ccf8668093cf7be546ee2cd503aa19bf4353ba3cbeed2bddf1d7de896f0e4cbba00f699a752b2a85877350626a35d98a27132b57a913364d65134ae6172e35aec7fcc134295c5e6ff64df6a57927ed87c88abcc6bd7a293d259db41f6a97f526dbd8ec971b5eaf8f64129110087850ab882f4fc009a909e82899f9370a23ee4abafb60bb6c3c14d8892761752579d1db586dcede95bc1e637629efa9c173846f67901dd6f9b58cf4590e0aa085e4069617eb1586e80fd1ee7bb7813058ca909150f0e8535b4d70a34ebecabdf40e8c9e3b44819443ab43f1868ce7818edc58183161c844dddf323048fec4bb9836d2ffe58d376b2c38b7fbe072d0c07d26321d524056e3ae1e75046dec771f20bbf87c2ad6d8b58de46d71276bb8b0088a180a58bc18daa015ee7eb21a2b456cad3c52a9cdb03c43ec1cba6277319af0b882d3fe3f82fe2339617544e24dddfbc44f87f02881c6b7441c75eb7d42868683b4d395007c997786989467a78212337e9b0c89d9d81aa7c92713f6eb19e6d6c63782f5a34d503b5fe998e72e2c0d8d063e897e9836e09036f604d1ca7708dbda7654169c499257fc344853cf567e11545cc49ca38a0d3368a3ba02e8b66046616391ad65700dc6d266db6042a22a2f0ca9288015cb89222668164262bd0743f48b1602236beec40a8aee313e3009e376d9b29a3b39193a4e584cd938b8773fda7efbfba1c3716effc9c8336bcc195d307fdd29b40d3a5b25166fa205a7fdd3225babd7882597479b419af6999b07b90ea6f28b5475b65f647ba7aee530a00620b59cfd328dc8967c48011293c14740fee641ed7a507f5974ad447c59d859598feaf11fa439dc050cbc97debc548220856711a7340c9cb24ca40c18c09c44f8e006a785ea9ab3b4dfeb84d92a583b1272111ffeb8350c1decb331d05cbc2774f339c244052582f3337f4c01566fbe42e818476342ea13eaf33d280fd2bbb80a214d1d77644967c247ad7d8a01651fc265a1b8837ee2fd51421786717007713bd58c5468999f12d78b66dc24edb93b717e11fd58088aee3a88e94b7310a97c243b50a36586282a0995118dbd043ef1d1c41ea7a7085a29529875b081bf557a37160a224af00a99b33b4dd987ce5cd06a2104d1f67270abd0318212630cbec1527e656fdf3cf85d0ece5f57abfd41477c4f1e65a9b9906eb89299bfe7d4f2a716edd7509eab7bdb56ab3a6790da66ca9ed5f89728887c1b38b14516f6b98c30e6437bdc06b2faab220d461e59c43743b19f98a890905f98570c91711b6fcec92233260582a1ca04b402d2dc31efd6745ba0d12ec37edc8a37390df2dca3a78a905a3c80ba254f46b26e3cebc30e2e5682c518c4fe2dcb38389d23e722c8ae351e88fdbe9e3ba099e51cd21732356a4bd5ff3f7348ff8f24efe5e440536a7cd53c913278cf767f1830c16fa2b06a8fd13ef194ffa07ec6e4d0fdb0009188e963fc2fbe686f02a5f63780af982b3b561cb63aa92243961d5ad9ff3715fa1d6fb3ee26b5a5624cee10038a5484ac56d79320b3888bb86a8a30d0f18a845c0f4850459b032c4ff29279fc440d77486e682cf7faa541c313e8a36f6846a47fb2f49bce0546a1e88805cec954338abb1b2ac87de042166e8e3a74b23261ec204f93d9f142358feb5dca0268b8375aef0335d51aeb697abac8e2fd8e4e19147db0f42e713ff8b771b1aced0f8c11866b90e895aee53ca63e387bec78d55d3231dfc251bf509f0684e073a65d6bc3ad6719f086ae26e9411ca671a1a1419d0f8269eaff3228a54fe04c6f337005fd0889b83afefa1c46c1beb97b9caad8171c9a9603500587931f045c1d1be735c6eea0f24c82d966360f9ae5ead49ebffb222f9d0ce45ce75c51926b56259258d78254b17d5e6a87b6dddf082f228651000ddd2e4dfd9a1a8fc7d7d1724ae49f7b38d7a0661bd414f833bedb803420e95f88981b366f9e1e97da3c50d5510a80c240dde060661c635470a508f0d6f323b708c6789499b7a8ed37a0d2807a2a4e0c02757bf25c58f7c43393181cf508fcb028b4bd7b09eb41d478ff360f4411aeff332388318c03203cb6804d5249e73ade11fa1097f3979dd1e99422bb5cb02a050a775651de7b28f97a724938ef9fbfbba71c58df80d04c48cbad49ade4755fc668411c82e323ba9eb1c6fb720e0a9f530466b97d9d657f59c9766f6ce24bc0970ce0474fb0a86fe9600b6bf9739e1497b3d4827aa153b9e0db38f979fc2e80ace4c756825f38d0b66a1bfc0d03eb30bc8b07bc3c8bcaa4b43318c43e588e36258bdc6a80848efce51158a274b664be7bca5c16508676538a80002c6345f6c24cae044c0fa254bfdf68d7be177842407ade32f4184c7c43912062f1a3c6782f93f88c15a70a67bdb17e3d6f04fd092444816f88a098454776d89633e555c3cd091689a57f0ca20a51cdf8eec09012fda02dcbbe62908811581073a2eb8045ab1262fb66d4196eb906822fd284cda00e335b87cb4f37dc58b591c9f7eef2e2e04451440460e34630aee2b3e194a4754a9ec39cf41532afdd99d925cc92a7605fd3c9ec9209ae5a117c6bd3005f164fb91677ecc364bfca86732b898dedc26c582bbf77901e80924efea989f0eb6786b3dba8830eb7ff597c29882a406b49bc0588abfd16122d226d8349dfcdab931b858300e37bd5249045d12e0fde9cc8d6cd201ea76b1b3dc55ba4f17d1afdb3da14f3cd91db86e8e17f20eee1a02ef07f49304e1dc90e1821f424a8810db89e94c9ab560bf48c1f7963f5a84b90389d9fdaebe3c68a2c59ff093b06eecf3ce20c3f212b67b60297ac3521213e95f1e2f9d1e8987aae007a3c35eb5c9589757bb25e3b1889f6093e973e173dc7702a754336eb14a38d0d4d840eb225b3dac1d4986ad3b4d409f23d7d29324f831845c8c54402330db4b1d4116fc0faa7dc2054b8af6a94b3afcbf9e85e3fc45a71da2c57d769d0baf102fb19d2ea5731c05a0f3ed8c1bf8f9169cb57fed532107448491a8b8bb9817fb55b1d534b579b74027f80ce611a3dd20a3cf9d3f32c9ea042479b45befe51615fa77d13bdb7e6f59d06add14baaa9fefe3e95b44af9c9f424cf57dc5a1916ae721c299d9073fd960d6590c3ccdf224759e991407d14b54ee0b0cb11b309a9c4b8afa0cdbe2d01ae2922e7f9e1e938465356cbe4fb790e05d36b43259ff5a33b9539f913092e3b48e59dca7aa4abcc369915c3ae8f74188ddd1fae4225359fafaaadf1c653f0d07541b02e4428a7c9fd5d68cca2f4f16373c0da9eeb042f43e31ce9eae23e44750879da63fd867b4bf0ba93c60cebfb40ab732ee8345337f4d1810b95554c930fecbf971029c065b870b7085d097651c572011dab46f98bdeeba205d50a4ee8093124a3a39937681d2240f124dd8b4b7f96e8c77836a26a1176a3beb6e6af94766a7035b98268476cabaaada97acd03444b9d0ae28f975c9d0312f884529020c7cc1acdb56e4d253be814ee7b2e7cdf8407f059f5f4de11027a9f41399cbafaa4211bb2c4a42ad17a5092115ca177f810fc3971297fd003e85dab4090b105872d1a0d3300c4df95e6c8a019008e5c5c054ab16a84441999f630a200af454414d4a8555fe5ba8fe5d5fddf26adb39db359ce311bd5644aa18ac0bbe6eabe10f8f94728df0c2bebea46c47a9558575c8a0dca2ba34c2edf01a42a22acdd9d0b555e5d54079d1cee60af3f54fd1f79a58926eaccce2a957692efe156e7e504f0e26acd150b88ec52901f7e9ad9e65049f475e0086a9c21ab4a34de06c39b7a1844ca3eb133081899fd2e0b6d89e0f3d1f8207ad820f39070bd63aef8996917bcad5016206d9ee2ebf9eee94cbe9be15fa80ff7a53c116bc4273eae33e53f2ba531e7a8f80a66e33e0993fd10a0d9ff06934b4753e37790fc7a4450ddae7578c5004e3a40481c1913e3c212d725cd052bfa6bb9362a78cf071ba74c620478ad73fdcbefbde584c57db1ba940da75faf5d9435bc5413ae50c4a8e2c8109b0b992ef13b6a62e931dd4495332d4e5ab5f80717cead324bde332dd5363c7c584571ddc2b3b1e1704d74f34ab1b7b2d2c8d958202dba38165a943483626289129586fbcb43eb88fd9b38b7981acb22a9892975918535ef8768af53ddb786f489f786b5ccaff7f8f9c85c0ddac234835c91b2abd1a97582e8c2e4bd6b35873dc1f2ce26fdff7fad555aaeeca819341157b7d465d1e7023a8f404ccafd6ecc2296c8270a03b04519febbf9689f2fbd8faa1dbd83334d54acef5bcd7dc884306ec601525e3053c5820b110c6e9a89ede73b894356de29d4ca3835fd6d904e9618937b0e4a1427edfe784b04364c6a5a09bd678b88e0cedd435bc622519a7008c841db3389876962cc37dd43a8d2b940cb4e0a1251b48a49aee75a589942a8acb93be7587a5f3f95b41fa3f21d8adefa8601fa9c872227c6b61e77029b577569a99de842d9d74416613e4667519ce86d10ccbaaff15c6fd7e3075eddd8e41852dbd486b34c345183c9374511e1c80066cfceab0c6bdb72725acc726dc10fb90cbdf5751043f6552ab13dfba5a850bc7c0899d728a04b719d1d9115a09fec22560bbe47caa7b366edb80b5082ad4ee9b33f9f4f8eb67a1cfef3bc31107ab62d92071873a7a7e06b6412f313af45624e88372f4d516913213ab52f22375b714f17bffe5c5048f9fba88d85ab957f8d1bf0770caa729c8e117bcae41a38343f3a14a415b8ec55ac4d041c6774c3937bc462fbaa72dc8e30e3488cef2f074dd1c584617237a0dfdc9f8ea91082030b41991913d84f53e2961d183ddfaa82b4e2ff8f932eb8e98dfb571b2308c7b90d94ae24489543c5914d67582bc30294c01eb2efd7376fef65a8a3b418efbdc473018adb0cd50bfd62ec6c1c81581c098e74b1848da80c485da712fca89a448c8723953032564666dad3f81c8a43cb8fd103cfb90d8dabd00135fd0782044eabb3922d3f756c6d27f9f2adcab1e2b289348c74568c4f6bee6864f1ac97ca56aef2a22bbe4423a0021694d3595736999a3cda88911a8443bfbaba976697d14732b89535182054d85e96ff9ad4105465577c10d4100f9a5d81ba5915d45a6591812a21c7d5eed3acc42c33f6e47240e530f05c4d4d6f09f044c70d3764832b34966a28b8a18cc917e23ddf4826b543e76752e718cd7eeefbef5593fb7598009e8887e2ba09ca6ea1065452a4c7d7585da673b7c840394d50131c28dc1b95260aa0efaa3da6f6a3f1bc67b2507afde489106f895c07553723f04cda3dfbb10ec03b1ea68bd1a2905e1d4a946404c213dcf8419236935b428f7d84fde30a5b992a28c30f1cf56d3b41ad9b7f5007bb5dccc3387c04fd39e4387d478904264f75dcf2c97061450d715767d0d594bf0cd46c48c28473e2ad0a280b33a496bb94880cf5ef5c6317a43fd77e57fab3c416a5636d019fdeae62b437e0c07d8cca614ca134cac9999204efe10b1455ee3d77d6e1557f20163b447cc55ad9e28d7affc9c70bba8105a987a1682b95ae37c77c63959b00f04a6b05fcf7203c74808202edebbf9d78b1705f266f986a2c895d283528a00e865a8fd0a8d0ac5a25d412965350523564f64c777c6dcf961bf3d3fc9be609b44a6a2441f283625aef09a27ed2c1cf4daea12449c3a2948e104961c6b67f99abaed8c22e7e6817813b92f30098e44add1ac8217d0d0888bf1c67f9aa69493145ec55ad5b84aed344879791c82e39f065f39b1c8ff47fd03e86cba2c918b52fd0a23eeb8e79b527bd6ced12d09a1fd1b21490f17bac2aad45d494d573dd9d02c9d1616328ca5645dda4c07835b58e3b1a9546f9806ddc8dcacea5b7c9951138d4e27ef65937508dd7b069c50a06957170fa98c9e3cda53cfeac9550dd66602431e9a865ef9d50bdcb10f8e1155df8d75ba4e7f2d159617b865fdd3f280772e29204f9f37a05fd0ff0aa2d3d5b0b16545d16c34aaa3ead7d07048b81b1880ec89ffa044ddef20556da8cc92aa897808d1f692ea2fe02a58d523e9daefdcd84418a52a60f239479f47e28436a53747490d5ff592911bc75c499bf994d3280f53d130133e5ac6c36566c7106e317172f9b3cad701d1365dfab20f275f8a0147630e510ac9384cd82b4ff3912c99371a2ea23f091a8ebbe6ebe71f86fa8d65e89e2e618f1bd43063017d64fe8d524519176bcba73b5892de6605e6c40b151820e367dfcb98cbdb3f8f468c5ef2bd8437df873ee5fe861c85ee6511647b164f43da0e967b1ef4b96ab8fd816f820bdbadedb23ffc7985efe9a423a8eb31da11351ba6bd7fde0f024a01a7bd41d1fd2fc6529ebe8dec4d84ffc451e6306cd21973ade0f7da028b3a0ab8251f354172764c512882b6401512bfbad3fb8f265f6d2502e226c4e203f97a330f33ec35b6169da728e1ec1a9091e5fb18d759d469552b21413adaf353aec4cfc3f5982f67e3c63d392d1ac817a8c80015cd79e773586741c40056c5c18e792f65749d2fb79a6c548d619e4d0c936efb875b41a6845ef2b03960cd641c159e376a71dd5aed9ecea88f4aa12b4d7c43241eff4d7eb62665dbdace8258ac00ce98a494e32ff2aaa28c7aea0a15fc1b254f307a3acd63f45d9b154e04f90bf320d1150562eaff652879297726440ac125a43ed217a487fd70a252ecb9d9d48ac893b4cec767cdd07d8bdde99c6a6699a60879445f20a6037f0db734deb9ffb968f4d78f36f9658d01be9638b127c5dacadd85144c931c0756d63815cf4a9a954c928bf0f07c398d7f7d0fce202d1d01363068bfd5f0d11a634c799c7b2299e9282c337a0c37970338b7cf0d1003d3f53c659c0cdfcdf5e0b872a2d843d37404463d2e5ab79eb2d3016f2ef7e9c1d52f673e28f777125359af48bb76d064be8e6c64383071c9d258774fb4d4a6a3f1015f09d0427c99ffc42e4141ac52d63db544406c93c7d6741c36665053360adc0b6075e7ea8eee98bd8520b2d3a1f02cfb483bfdb2d053a7e1dfb8c0f55ad6e29ceea2e32cacf32ed254c87734ad17899e64c83682e3d3e8a050b14c36fcce25c443bcf5828720b15b9cc65f5fc68e8764aade42497c1a7911ad83e80d665d926d1e4a320b8f98add36ab049ad5efb116eb57a8bfa4926d0de25ae0d51c50670aec154eb4c858ef1f0cb6fbed18ab801ab343868e24cc6a3d4260ce2c19a86c498e97c0a637902d25031f72ed6b5b4931b2b9a46911738e8938579947be4017c02b6e863ffd921ca1a56b111ddd91468dde81011ffc870de180c84e9e2e0173c796da0d7537115afae6901e80f5aad6726921afd5a3d2fcdd6ae70a398a16ec6a2c5fb80e4f52d7362e30efc5c45e7c6c6d67e20d2da2e614d9a947e20e74ad59aefc2329d6d5f9bb5136efa9ee00022aa5b991c68e80e2cce8dc148aa3fdd8fdd6a1ee0562aa0ec8bd036364c44bed0cea29733f2474bde6150fc742a9caa47c16353b58221c9fd7663f90cdf8e155ad1a990887b71e295a660273b6232a7c06c56de7bf1c3ba1def81834fda292c3e1771c36d01c7d2085106ca80ade1639b8bb9acb49d84da72152c35dc207d6d2be98bcc2d807727b46a162ba7973a767d7294ec4c10f4cbe605e1152322ccc5732f65f9c24eca25035c2f363a78c96e5d8413073d13d0af8a286a318a73e2d17c651eaf189c81e10f0cf0701eaa7e558422a0ae93481acf76e3e696cfd64f5a2aa6d0f980d3199882d0eea72c6e075d63bc01aa9507cce3c35dc8236c3521599bfb1bff6913709236495870ef86c03e884dbabb6d0bc16907fa0c67bca6b8aa5dba75c3e364cfeeb7722a28ae52f2e31823cae5321d82b584f7cac6f06aaaff055bdd2d06b33ea9bf423c7b929d0b894b35cb9f92b1b8e013511ac304e672352dc178ddf8786f1ebc941f1c7794b175538096547484608c5f898a0afa0c5f86dd5e75f4a6792b15e23d0cb48e05c57f28c3ebde8f76d0b816accb36daf6b4b59ca28aea74a2c3a8e4c93f3f408c1226b118eec82bcc6cfe457ed5c1066ab7644cf84a31f0b271c429b2489b7506fe31571a24580aaff1a79f266cf7c25a784922e46e1c9195c518b3e574f48e67ff957f385ddea8ea91dfd7080a02f37272429934a8538922fa2e64e6137374d5c047eb319a61e211442af30493b420eb9e721a1eceee552258dce0d5a26dede43103fa00553679aa045c81b6a1d7749b2b135b3d12e1fea85781e41ad258823a9f69849456e65da5791443bda8a1752657a33eb2914eabcc5d0dacaf58b65757a1afc2177820c1cd419f076b310cd68397492c61c2a615b0bf23c8f0f93bcd3ccb4020df7b92aba40af66235e05e924b80a98eff275b1e18b3bb07a49f558325435d59ed1a8e6c3372f3e1e838af0a9cb7484c4524c496b7917f5239f767c6f73e7deb5a826a04a653ab27a2901bef21d181cf2a88b08f1990144cf77fff2e0f623e2dce4279e8d1b626e9e36adc75d5945fbfefd9513daf88bbc4fd421b96f758a5e8116b7bfe86cc8348827b3f3af68586dde8e6fea721abf699782f48023b0e4cf25019db8a1f06bd69d80fb7e321f4b5a7c6ceb222080b8f80dc4293759079ab3734ce4b529e2a22914764618c811de4fee589213650495596e1b21e6ef65d1ebdf8d2e31485b745ebcf2280ecb404a6beb90d594aa4870ce801db6630c58a50485fae2b83c981d506a3911439462d5e97e01b09bf19a5fceeb420c2688e3a8a276c925a6d5ed230f7c00be5555eb8531e2d04da15e96b2a906a47d42c855e790ca0bde553ccb7e6874085f1b53d09589ed148430557cf5befcc5463fea5d73bcf48df840b7068deb932acf951d1fe5c08ff798c165f7dea8dd6ad36904baa6cb6e31dce03c843d1b0c9d341a5ca55911e94751239a1b3801b5edf908bd1faf0613a71a00b5fe8417c401d5a0b65bd49be49c1179525f22ef86135edad81640ab3ee7781d5f755e4629d4d2750b76751c8a3862806221155f76aa75e29425ae409cace3ca35c9438d7b2179648b7aaa84f9fe883cc4136e3d8ab8d84674cd3d3463f7df8d6bb341a7a9e6b0c896ffee8637570cdb8c8808130e02061b37181c6d7ca9a75a12682ebac65102c601a67530f282732bf6bd939f0071a4bd076626ab091db3bb46caa22bd4ffb357974ad41f8d7006b02937b748fcc6a4d16a3e996e7f7754ee3985a93194104a9d59be631406d8bd0351ca17baf8656775b5e7779c46aa680019e62ef3a36b738c8986378fb9358682ebca1b869fa5b3df2e54409be151b047c2281040a26b3b7ecbe5890fffdb1b3aaf16345f2a4e3516cd13500ae558198b40d1e1c921436946e5840886d8e4077528d63e2435cc0a377b3671055b59c66ed78429d4ab5ca413263445d6547e1e12f9501eccb81617c0e76a9941327efa2dbba65147cefbdadf02906bb2927ddf59fd8e87a52412fc586bf494586cbb2019db275a46bbbedecbc65cab717ead9760247681ca33d03246d81a7bffbcee5b98831b44385ed4d89f916f0021788286f42a5befa4212c57cef660187352813e3ed08ddb03748dca2288d3f3fbc1c95e584507eeff24aacc58baebd5fee9f1c9b0b933406b718c10ac687d4b2fdd91a9dfa29cff37683f46b1da170c35fd4b31bc6471f57f480fd53271a5b3e87e8627f4b6d739bebc0244ea591f13c57ccec8bcfbca8ec03b9569905fd151bc379caa70e138972e9a0bd1c6ac14e5a36076a42ae9b5c75811723c60531c4e8ea3c06eafc3789806308d3685adff6735d3c13313c20e66d3d2621268678094dc94e81bceb008b22c19c53b7df41151fca2012943ee40d5faf36a0acb4156a04382c604dd501cedbdfc20c0b992f6d6e5305570c69aa2470f12aafe27d0e20e0e0c4c6f1be9512d4bf22898271abe097f66f3f750e5f6dd7ced066698956ce8c67a7a3b35cae53a1c557c17a6e3b4ebb204aca47b63188798f0069cc56d1c309d90f1197f66040970bbd7cc663cd8c1606cc87a5e5e652fe013180e1f9db4d700fbd811a42d158eecd26efd4010c24d5cf874b41884f19c87a8c77c3c0f9a62b1142c9aad818c8a7fec68596f02c354e47dbab2b1ae0bbea6018d1be9981d77828e12c048e69e0c8ac0c2f19afd7a3044c1910301b969d43b181208e702d6c6174f2aa07fbc0789020078fcd3de11d88b8cdf12ea807d2a426633e938d01201b026074c796c7b5b4241bd8eedb97020aadc053dbf9d038eb17a2c34fbd655f5d3a6ccc3bc0cd73c6e0852e3c74b803c480536eca88a153113ac056510a9f8b4bb3485567ddd3a605185c488b0fdadebe5a6b7a7a5f6bbfccb7f14f4ec1615d9112620d1da37a65087bb338f9077e8d91465a7eb29b4f9e5f3d9ff4f9257ec2f4e8787dd0d923c99fe9816b9204370d5342a4f58da44db821988da3870b0de600bce5e91b46ca97fe6ad28151c3af1f7d3dffd89f9eef2d71952e44c9cc02f294ca4bd16b1b91ebbf59378b9a13a14644df12ee167e2b3a47303e3004798952e9c3228f046438ac272f6d2f58c1b3e3231492a1ea94c5012b978cf6335a65306d5a92e0a8ad62318783df61313c4dbad2b1206af6aeaec51b5a1e77cf93ef266c970116ec84536fb865e2ffc5afe33ff5bdc7c22d7f4127a55f3b1b9a716164f5539299305c8c2d44f9991bc673fc956be344af212f99ce2a0b1ce8eb32994c97fd235da62f43fc10e49a33e1c44a4ec25e53063398871146368460189dc5c35feba901bd0ff12b26f58ddff8e76c8347e943cec920f47cc2214a3e219b1c48efd3c108c520f6ca8b56795933fc41fd95ed79fbe1db8bf06c5e53544dd824618b46ea1045a3b2930ab9ccc6e986e4f30d93f982b9bc9049d802ed72996df6ced4204b2334104f6ccd4a7f17ddd13c61bf279b15f7342bec0b8a56b3636448aaefd6289b052fa728f8fd9ef6e9703fff7d026441419615778c791b178a6b6f0c4c1a2da7bd2345ebd4e235cffcdc0db409c55ab862dba2651c5b8d03b7f932c50b9217e771b01edb24b84fcd2c144c4e1fe95d2b4000de1b967cb98a8d78d826c7dfe1e75ce074b1c687d802efaee3c84bb42076f288b79fc4518a9e025b1ed9d33b129672cf9c2cb98f9a979aee516486e62cce614418464f988419f192abb47dce5b5a40ba9cd729dd354c5c8ad3a91e6f994cb1b8e76433898bc7f7276200f64c8aca3ed18475f78b19cfdeb5f4e1446c5d1d1cf77e6463b9ce7146ab3c9de5e5e8e975f045eeaed37e1a2b38f7a835b41d73ce764160bdd003ed5d5abec19748395099373717527495fbb8ad9d8fdedd95d4b0f11341c64ef5def9c0016481c7cba6119914d27ac0380b8bb4fcee7a22eaa562cc63e7bf7bbe02af8a154dd465f0b71a00c6e86f3f619bb15ebb3022d174bedf1dfd3644e96c45fa762513ea0900bf4506df793d5c4f4ea88136b3c0b7edb1781d66ba8b0b34e735677a0f302b713b0d8e0dd7416c4592faaf2e3d560bf2a90a3a790306c3d3ad09603a3992790e7a723c23b7ca86d70ecd0c34d861cf65a7bad40deadc0e3be19dfe5485fe70b4e94cf5c90f22fda418c4324f8935b2fd059b7ed60b244790845492505e5f0a08e5837da4b547244b0893a56e15d96fe80c7dbe980e0620920161e667af83993399e7cbb74f30957088ea20462de7ae637a028fcb9253bd8aca16fdd3f84779efcefb69abc2debe66ce2b94ac365339c9408c149550c3ecf83c94f8b14c0b87f7bbb276f6efcf5747048661dd6fab82c38205addd40f4515d4c1081b51eefbe549c69047da7f38b1dfc6ceb51b3dd68181467e3db2d311c283aa9082c1db56c8e25d62787c2534003844820d86f8f1256371bf855b2bfbe6db3cacc6ce3f61785cfe0d3dfd3204ff34fb22fa0d231d812bebff0e6e54d08859f2ffd6cb159744caa917a1da9a94e71c6dddda9e63c1342d04a4f9803fd60e9c1d9f6f00b16a0a1c0bd8d345544bf2feb15c5ee0662377a6c673e8f2e6f3c7539417924902950a2e4a753a73940cc871789bdc91b919d0db08c6150f086780773ba9543cb98b9d0ce79c9a5be1f68ce602434160c5f347d8fe92ee1ec9464474963c791cc7d815bd131e76745202e5f74e204135e2457f0cd20c1ed924da4c8c1b6ecbde34c15175426ff7a7cc24f251689ad2f19f29698faa4cdcf1e02388744ba720395882bfd63a060645284e27d4b2df79094216430dbde118af9b32d7ecf41055258e59982e801690b724c3ed2dd5a3aadb3bcf49d2a9f71386faee27be40b021cc0d3703c5d435c3e46dce5ec60595c415fac025f2ef87cef7387e2a8c4abf4ed23ca59868256e38de5095f857de3cc34cff587d7da1bf45b7dce9d08427059ee5dc87818c6a22f8d0ce7262c48a6dca42d2528ed8bb1d1873d7dbee79186e9c391dd8f81f3547001e6b77fc68720b7c88dc29c096a52d93a47338d4439afdba0b96135d4a90541b9feab29b06b694c4fb5348edc3b3baf72a56b1198f836ae1d3b45679143b6a5ae411627440d34e3864dc4eb214d2ec799478e1e169e183ce1b6e37f18877026d43600e4530cd2473dc1cab166da00afcb7a0bcbfffa2ac876c8e2fe591a47703420bff4d863ad6d8d77fa0bf278a976bda1a8d93f65586e07be36beedbac67633b4e5d6cf56facf09af6d72a64c58a8ffa8737d79be68067f5903468ac22476f029c4cfb65449b89f5d31ea9aa080b76e8f0602328d5073247ae57a620a04026205ad914202cc0103397938e6db2834bff73d45175418d42b12cf8ebf117f56180e7d933dfdc118f6187776230ec618204bd40b9d244402f06023af1ea58c7136576c5e1405c73e01b7cb4e1e164198605b4067837c0dc723b80ef956f7303a6a65f303df133d245eb4a2bc68cf946c08f37c1435cfc934d855cb484d12f2ee3215ebfd6adf7673be124c450283023b76627d9032985fa7a19608a7c03129b52de42431cb2735bb057a7b31fa0e194c85909fcd9547fd7ed051031f2e5f1588c15d9b5ada7841cf673ece7f43c6adfe0a55351d2d795ca656be6aa98f3b09d99c8819fff2b5ef591d9b3446aa0182a5a5e89063e4a260d65e2d752d6227ddf34a8dc8b8b99dc74bf3b49b301e8eee8287f29e080175cea5aeb91fb266034eab27cfd7c4d6f5776946c789c0febeaa73846e211eba7289f3e28baa114aef7dcd7782b2e5bab72f7d5f38165855ea138258996a53f67aff8f68d419643dfaedc72a571a84fbb995236bc13940f3056261695f0a6e60c36254709b50b66b197f7aed4265564e6082e0daea982d601ec644744e92d99e6200765d6e13a2efbcde58421a2cbf0d01bd6d0e9416fbf5727efe8e7999673e3e210f53a7aad15412cfa57fa4fcbc3b8923ba0504f4d5a1bb9f570f2ce4a55465bfca66009764825a8179c5b1d3ffd654b83d2177ab31a4ae591abda690c52d31c6ad08ed131fcacad409d5fe155cd82aaaff1f8790c668f066ae00b543979790ac1b820435b91e5a6d7575c5141280b0b873483c5e086f295bc8739c697c2a3e4fb2b080570aacd3378ad73e8f277804a933beaac1d30d0f595a9cc160a8555d7b8ec7c9d3dc376eb8e6d29ecc3271ac029a2d53077457224805c1925daa9fb12135455e8633609b1fe95f15e3d11b3f0e65265035c3741d5d989262ebc63ca66d30ac348a0208c9b4a6bb26fe6d7ad47f4c59447c14c25f1b220a49fd1cc595f38b75320e2735c9b69410184718a5e921667974282bc435f9a680eb0df73594670c92d217747a152bf35e29b30eaa7ee53fe6422f32ff3dd5912d887d12a3bfab09a58e444a1c63d6f59d714ba6623e2c4016894a6a892d2b8e2ac8150870827b3ae45ec5784466a9c90dffe67cb2f8d6dab731621a2b8c0113c5961a2dbdde4ddde9e22444bf2697f4176b914f9842be5a7e555a837af670fd17a7ce40d42cede463ae455333f24969fe32e4208325a6210278f7a6d6f22e392ef8965b017e1523903d14236c18c5a84136c5389cafcfd581e874bde99334a1bf72617b783048266db6bbe0ad90773dacd6b9bc5ce51086c059f6c5980fa1df3ffce34026dc3017452ff4d39f502d56d183d063e530af95f1497cf94d6008cc35136a68669295300c91d61d864596bbd9405a93e3a3900a4166e4ca40928ae7705b56e5424c92a14220df71f22dae23dd25bcc403287db624465021663a5fa8aea1a5adfc6c3c68be2fbfc8e75ca3ab37e42d89f3c818703a372bd49adef297531f667ef5c278fb99af279147f1b11d2ab5a5cd921720eff9dd2ab01edab6c9ddcda148812bc43b94dd7925fe6ac31b8da17383aff0dc730711f04f94e7f01d54826521d68d7ef61b150380f967d46d14f6d8f80363ce810bbe7fc2db49c5e0722c8882301b2d1b8570ebf5e74c089fa03917fcded89446389038386cb5271e68a462237f4bff84fff467327795588de35a0d4d1d5aa7df2419648f64f462d1523387d425e4fc8c98081f8692a1547548929551fa06a21c0cb6654311c28b9e0ddec01666c35d9e0a73f02dd7044415604240d4e57c52423bb39f580f608417c82dcd9b370b7f33b2dc2c4e74f8e74ea7416a9d1bf5c1b443e4c23fcb18cf020958864832f9ef6a0c7bc10218e1343dfe60f007deae54160b8a63c20b5f112345033f924071eb73481362faf158713d6537edcba5fa8a6ca9d0f25d446fd20b24b8a23649ac683c246839c2a91fed8325d2d93562fadf4d6d47455e6766c6dd24a3b480b0d632dc19da9c6943c61e6f5c605deae72c1ccd9d651592d45363f9247db62b1f10ea94d7b96db47a657beb6c2de72e5ad21b50299592d6b055ebb9c1d71c38acf8010e1586c3a1fe49d120ea4f3292f30d20d04ea35bf47656a9b73f209535c04336e672dd6125cc24a9c8156ed40a28329289f8dea2d271175efe2c3b9b96ab7b94722e03dfcb5583840bbb11e91febbb87b052899a1e489dfcd9ed1caaa07ae47cd7d70e0c1b55562a79ffc82f9055cf7f664d5dee0b11f7e71ee8cb9a2a844c8ba0e519b67205caddfd332386ae0e587a4660818e589b5502db93b62251192407f9897379757c32b4469090d241a4345ea9f69e3e1c19d4a11bedb01aad74533d47b97c824058573041adeda4ec92621e8b87ee2ab182cb9a9a5428f84d13c88b0f4b2ca3889a00bad432528a21008bd6ea2e01cb8028548ae7c6e89c745970f6d03c07eca9990d8cbdd80716f134a0b2eed7e81ea7a79b9ef9bd13bd53b80e40d99c47a940b48515f821aa80a7440d4b6c4704d05af61e230410a86efe547308cdb0f85eb739d301b90d8304c45ee96f9e23bde927917aafc387857a599c53100577be8e04229c96fc140e9e608324e5c6d3f53f5c7520838bdfdd151232a2ad7eaadb084bff4d8940a8bb659b31a938610fe1ddf8a6017fe4ca07a465ac8e8f075051b002b022fa9bdb67a6b07174f821622376ae58470fc2beddbe97be56a4101153323ff1904d7dfba5063aa5c490adbd8722c752808e4d032406762a9d0e61dc2aa65d2efa6d1665a264c563fb1edeac1d6cd268e40cc146931e035240afa8f8ff7d51f0d7a693fb5bc18227996b252ed54de95f3091c48367162a83e25209177ea2536b9b8e46d73458deeb700ffa1a9022480b439ac4d00bd6677445b32783963f0892dcf86b1c61fa7ab5d89fbd9db3618082815c68a4997d1321e136fb9f06e3e9b390971fbfcae62e2e518f78c0be3d696de201a826d7c7042754bb5a702cf9c38f960a04902b95b1be075013914beeb337219bfda32fd233cea39703ebf03f03cbc454f2c0be95837dafe386299dc3268b850f24ddfd1a9265170cf101e08f22ad8375b8f9d4c64aac809f5c9e73ff75cc058bca61495d0eb34253c5cdd67908b94b06bedae485c1129d6917a03c58d00d3a54c9a7708e87dbe4d284cbc4420c03eb6f104b57f7aff1cb7ce1e45bc9787ce575fc4b7ed4b980f3c6e304f255d706ac18ad4fcd77b32a575e3234a65de567a2b659c32538b0b07da545caf2b30e2cf026c20680c006bd951df722fcfe1bb39261c8d2c6a2344edf64f85ca932d76f815b9be52962a39fc8648ee1f60a15a6a4cee0950b346ae210536ea1b390f1345e898b042bda023e670e9156a87f3bd765a1d5e73de80c92897872adde8baad2953d6e9339fe6aa30e72f0771a6c10c1b2e72bf868bbd5ae4c20ca5d773cbd6a3a4aea166a1795ce7a095690e70522f23cbfaf60e8464ea0c31561e0bf69c3e0faf97fd532ff739b48b1d1801aa85c80235fb5d05ddbca047743e17123c6e2ab2fdf38c410db05bb49bf6ec5ff3e714bf365d4625b82065340aae436d3eef4e34d47e910e27591b13fb3dae06147c5232846f778b4a3cf9eab52e09116db1243afc31f386afe425599c440cf6d1d4e3c03dff041eb00baa7fe48bdb5da14bd1b0e7201a7dde41eee4a4429034e14e94943e6bda87b682d92e4275bed90fab1113d025e6016d25f80df41586f65fa4f1e0b61ee7a79cbd1251550750002a357a990be25a1e2f1ea782d2863ea23f2bdcb91679eedaf5c0b0d8ea93b3ef0720c88ceba91b52d666a98e04bd8b688484a44caef7cf70ac862e8dca6b7d1834f1602849d98418f99ab805bc064a51f909d47d40a7e7715d5b163d6aaf97bcc62cdbc579f522fe2a34005e00f16294ad59668901a61ee7f3b2f5aa7deeaad688330cdb71b87d17acbb41a3f961c957a21d2e9e55d7c8f9407dc061482837e3f7af633f18da1c2ce4485dc85f1cb96be579fd180dc918b4f8a26883ba79e985b866aaf1b6b35a01329454dab469c10cae001e9f9e1a9077cda9eca940728e932720696d5a1c378bdac27ccd019367eeb8614822cb103d08987f28e7864ebc292dab88b8b31235290f5646103d68c3300fc88804a5af37e164d7934df079a532ad86796ea0a5a87e2b4f866c1725e55471285c68007ca2698bcceb4c1873cf8f86359659c6941c2f5a8dc591f70decea408d8b6c1caf83cb26c5f0f20487e2f645036f07b94fcd328b4e0eb8a22bc31b76fa240a5ec8d6a9d049e741ab2ac228abe62a952aee3bf140ac0ed53bc01aed77a75283e25dc99292b11b32c6e918c882dda5a6cfde8e8a1139ed3a74c92035f18ccc20f263ffb458149939b8d53855788e8dd331f3eab7fdd6f469901f42d99976c26fc597400303da9734d3cf605fbc8791eeccb11396d2628a9b05900cc596a75d051e356748272326873369c98e2e71b3f576fee46d4f0ae2c72cdad68dcebe07f0253944052f0538926bb3a614a8ca521e7354687bb5dbb01a46445bc529c85bc278d423766828a513a5c01f2e04078ad243eb09aa4db58519851240d735c5075f1b4457e37438ea17d4458365e6f082f5320f4deeda587a71964ec322876c701fd2c85a58e7642e683c941e0da66c890998ae9b06678e5f8edaa28c047bf0c6168b25a23c1159c2448abc9fe18a5722700f64179865958c76d16ca9ed33c15a13d3dde01e1399871540b503547355796340fb6e744d10b9594efd33eec7dbaa15f4d7f857013144d5ee6a7eb66f3c033e3d7d6b3f75789bb4c1de8276c1ff794fe8fb36280e70f94839058014d950c22341ed78b95f718886d7bd67c3e510c963b2d1fc0753e5b1f514aed68d12f54cd1b27954fffb449409435a7faa22375d5ee83d406c20891f7fe6a5baeeab4cd965548df6320f1c8f9b1c49ca1b6c992a67997877d09aa5f7dcffb876e185b9e699efd423419d3de7e026923d55d3cb4fcecf80160167e736db8c956f61a4362cb3f61fd8f62ca6e6849e2a2a9ba703b1dc99346c096ece96940ea222d9b90a76bc8efd6fe4c190f1e8ea0d111ac826b631f48eade2a85e889cc10c7497d1ef1a01eb7f539e7d771cf22ef07d2abe8a3d59be8819a32d1b3dca65d0a1233765247e431f11c0f66eb5a87c9b126b00b4d0648bcdc9d6be7ea8a33b8e6b842c063e7b2b71bdabd757de773896ae688d3ee1baa421326e2f8f57f00b8cd2bfba983f7c6956e3757fe4389bd7eafa8dca2f91f1577201bc571b15b0d17481df41d1a74cdf0c89ec63e8434d32b2701038018d91a332a3fded6da52d5cf18bd7cd9cf624b0b90a848803a7d9ae90a975c3c810ab5732ae2bca3d5947821db5e61d203ba3b00f658472232295d6684900168fe700607831a5456360a2d50199d372e4ce4365095d44873efae88d6220fb02a867b9a7da5fc5172fcc17928242f60b8c53bde74d5bf74924f975a2947767460035758063ac16dc158590322a1a67a95a53eddba6a93d106e052c6370f798f1d2a9fc88265d0c4632617a50f598af4d3a87d37d05a87f5d6ba45c1139cddd18269756ba7b6618b82ff36e99ffdaf127aade81186ecaa3134c30168c7c74f9a5ef96d94959192eb6da307271a3baa05067abb4779933e08bdfe71cb170f15171b16b3b1aed8db98af650868ec69d5347accc9eb7f562fb3492a67554dbb11fc8e1f9583ba5bb99b20c13826375eafb0ffe4f3a2b1b0e945b98f97c09546f068f8ec701142fdcbbb57b4d111cc0b4d2ae852838fa0bcdcbde0c683f4fe0437c02ca64e95215f0f283e9f0588af614a8a5c5f56fbb29a27c82a8300ba5c17dc2dc9b6e170749b22305d052f106495006a7f94be862295286c473dbd7d0bebdce4826859cb1ce07314404ac8c7d576ddfe606753579821a5fe68ddd5ee09510ba767ebff275ee6375899ad17718e318c20996fe078af1715318319ca4d2aa62af894dd7efad0b2f348c1d85eb106848386ba796c7d2aa51bbb62a2c338ff37a0098fbb912d89c2c85092ad287038fa17b386b5599baa040e8dc60965fb582218f7dec561f474882676050db315f37e1e4d9576bfd15a38fb6c8c6d5bb5c0a7d87ba188970e3cae1a7d6376c739a18e98d3cea1f7dba1bebdc046310f1671dc66d8268f585f020db01fa3ff8172cde7e75e65ae56adbd9a664971be9692f55b379a2903236a9ffd32702e6879e48e219556b860486119145561f64c591f87e96bc68636a383418f235d3457e4b21cf27cefc7c7f3edea4c1f6706f1018db196f25524157d3c1ce1626a2f7ea752cd16f80e7d55a0b2f47f8d5565f5df609ec125887429daff633c01d25c1e5325534b29e7131c6b01e3babaa2867dce0e861d00dc5a8d7f0d8874e81d423bb4390c09e74eb2913a475b2c04b35aebefa5bf3d6950d2e512f0f080f1653440e20b61ebf287927457d740228015e31c838651b4dbc64f9efa17294bdd42847764d6cce26a425a18effcd822a4f641749df62f93d1c3025869a611307d51e6a14517e5aeebc4b81886ec7fdafcd78b8c9e631ca57ce90ce25521a946129656de751f10a04ee81a72e3bd648663b59808fcf0a540b5521d498a12472085ef18674b8ef67688e7a365e2a73bd4858338a1a76b84d73dfdf7eafdef53463b2fcdd785cf54571b8809d83ba9d4a09e5dfc01e2a11897dfa8a3c73ddf7328eb6daae40f493fed14e355069417f2eb5859f4d781c79e5c37635b179f1a354df2f60412bd0d9c5e5001f7b2bdf6d972e382cb95f49143a808642a43709525780071dd979ef96e066349d5e007be6123350f201fa8990794d9f4fee4a2ecec21ae7464753de4f6b41bd3ad8766139bc05a395740c3ed6c655b472926cc3e3cae3092be72fb1c84c9e6c3ed3dcdd7e476f845cd467eaf40ff62f6b2d7acf31cebb340bec7c994d8a861c337500defedda36a86b286afdb800cb3f919d3f58984e4895dab7e753aaed2d4069c030b81b8e8bd743d603ade395751e02a6f0ec05a3688362e7cfabf20c032709e6dbb43580e488c0dff8d5a4e801e860b80b5fb8ab19374585c470c9410b9bfd2b2cff9572d5d674e2468b6760aed99bfb489bf55e229b35f454230abcf820b66ed6ed459c43c5eb3ac9f6eba9ca729419a27c89528bc529c1716e24062185c5a469e0fbeadfecef4ebf90e81f244eba638c0de310d3af99c3c3a7171b04117a18a226e24e6ce011a4860c5e4522bc81ec5905a1d9a963cd8cdb2fb5e6d4d5c3a4588dcac410fa6097dcbb52da06441435f97893f156a72bcbfbaa13b9882bd1306baa76ec11145912de2a85b7324a1a120fe399f45d5278a4fdbea7c26fb22023daef1fed5ea5c9c1e6c8fb223d19744fda6154fcab8dfcd268f36275d417dc61863001ccc50028511db84e4b8d497abb987bb8b2e61aab9de94d407ab660d6fe1ee0e5c1cbdbabeb2a4c19f1eb246fa405673a6c0383817f071dcf30c7d85392ed67e6956fbc4100a648745a18b9dbe7e0b160a8329768b62fd822e990435b929833bf08841f4db2d18f0fc1d6c861c34be50105ee1053d6d504d30e19363d48cb327a06e3f93cd3aacf329fc867b8c1304b324888f6004b43e640479887f86561f79e4e49c820b5552f581dc1c81e25f9dcf8b962a448e81b5917fceb62dc297590132f25276f335f37a3157ee7c437af7805024a6f8d091bf94c470a0292591726c8cd0b65c2940b7cab32126101b575b648585c1a6f34e20eca000e6ae4c869e632b987e9e3f9345b13eab2da2c2a8a1943ac2840c4bea84b87ec0343262502a135cdd02cb85bd3b0e1c70d87e91fa37d172fc09b51cfe34e60ae6a05326fff92ef3e0e0f72bc5e8c7aab0e1ba36f7b72b4926513b1169f0d6e5f96f8405d4f0288c0d76f96883a1afe0c4a111bbd79b0b177f45688f167db8fdcb8fbd81eaf619691484b5829eab1afad3228ccb35d009fc2b5393fcc54b4292d0b5448febfdcb5f2dbc2719c8e4c659edd76d5e2ff3db0ae8c74b7f3ed4e5fbc72c2e079a9a36317d71f0c0ddac42effe688e1b53211e829aa63b59fda04ff8a5b64f0a7181447658bcb46f3ec9d6ead3e5134343b17354087a1a632b8c75d0c9f484f015b5ebbd056789f6a2c5056a2ba674fc71a2cf6b25626efc1cce865b215c3b03ee44e395b9c163ad5a4aac5e215d5b98dd17d3423afaaaa76f25da65af4dd076fcadee487f82a6d2d9f0631857ff9cde376d48257722f4a0e2a1b1208a535abb736480bdc8c1e173e9d569ee6f5059903fba367ce951c6c7c037aba69ea1b2aa8aabdefdc3da3ec0def813300a6513e8999f17255ccdf77f5df1b00bd3dc064307a834fcab055fcd1cc074123025a7f7acb44f17118787fd0ed33d0ffb6371853a6ab745f5852db8d770acef00a33f44e60fdb8e6fd3c4ada9714153fb0d1a761ceeeb920a4ef4bee9161f4c7361cf1086d7b5237560c6981e19e60bf46cc6b17dc8f7ebcd5a22606c2de0718c91ea46f614a761942a91b3e9a4696469702b18d4e4a09db3b9e5a3020af82bfb9199808d3c0b10f7b0c46e025fed027118cbe130e6c25ab7b1918348e301491afe10834dbc2e92c571cca520feea29488621e840aba1aaa70f7e366a21396044d1ed0e1f038f26dff7a95cc56801a6781cc0869d984918c2f8f09bfe1af2c9cb9bdbecba439b3609e2ed1c6f19e9db9c99d8ba6ed80257cd25dfdf429019e1fabf4f72490c5d32a5bd46cfc2019a5b79866e1f53571090a7de455852ea7003bb2f214f4499ed839bfa951ab2ca77d7b0666c50a0a2f7e5b3a034533d473dda666d0b29091325612a066b29aba77b7180d1c2456e2002ed16194a09a53282410fe5b0811a8c74d6a8864432e29944db242b032a9777c7b34a882e8e022ff6b97ccaaa502f73157e368315adfadf7e9f3234c556bf3f81cdc19660742383bbd85b51e4d4428b32a5eb318a0924a3d8d301080bb2e14edf89d046bcc664231dcef3a1d55cf89e06bd07ddb3dbb6b24fed4e5271e09498324429bb371f4bd6d03d854744021d82b90e0dd5bbad5283c98361aad73510127d19c2bd4103c7d21234d80b911f9a27e35321262a20d8d81cb116dd0e2d012ff8f78166693e28470af972345bd1501745a31e4f789301536196ba1494499c753c72c275422298605cc5ed4e97801e344a4ec10164921edd6ce047ab3fddb4628f38fcbb299647ca412141ed603b4a7b091ad96a6e40142601b49ce0419d12694ded66de88b759f1e1f5c06ef112bc02b972954a8faaa55370be1ec4e1e5a13236ae3da30be6f8d833c3d80b74a982ae8abefef6c23553cc597a72dc87692d123eac7f46e96c4647bdd52756f9e36f5d96703ae454985901c9025f0f2f336930799901222aca666b3bc924abecdcad09ede67f972ac49550a9f9a85df7775ca76d387d78bd9759005c1db19d757cd078e3b12a11d031ae626761ab66dbd97a64b11cddf9722cbed50982cf8bc242b4809109a6075108db4a95055f28a1b4ebec89c49c537411d76f3c53574afb534377015c3be5d329af5d2b51e7b025e5f47cef369aa03817a63e153dca5888ae8bb9ab22760c37b0cf14fea9cdb94de936247e1ba1c22f927573f897dfe63b948476497ecef07d3466a8a3f05cddb52f491663f30a154365b78c89275268ed928023e4c7decb2e2b6ce43bb4cc6083307ad90193db83745946da1461391d038053c5a04008a8a266c522757ab0ab472cdc10a927df0ec6ee756e184850f947d0ed19214e2253aa3c3f74c23afdbedea49ef14b5fa8502ba8e6a78f2d390ad5788ad9b356a76e9388d0bbff9f7c8e3dbc1dd7ca54bf47c99f5e78f41f7a55dec39d053b7f016adeaf64d7e8ac131d3afa0b57743e99d6929585a0d192c535cb8d5be7bc8e9017895f68ae02829dd0fbbe99972264a8e3cbcab748c0e323ff7dca343940dff8bf8f15b90454abb4953450adb50548e29353c61cefe0f4f4ce1aab25beb0d070756675f40e39d01c19baa4c37e339cbe9202fe7e9f73576115118b2a7128a53d76318b232cb749fa6c6bac3b8330cab2c7e5f4f6871c48a4f4a405accc403ba2b836db7803f45b5556316f5f0f485255a767ce95d278f74051eb17d3ea8ea1d76df4f108bfba59dc094f651f95096f5655d9b04b82f2567db803e9e4c4d3cb43b265d9d046fcce6b731af8bf04e78b5c0708e926a6d8f9e2db721a47feb3408af3fc2e90bc4ed1225de14130f138ffe614dec43b5bef0becc05f13413a97c0e46d689ed6a07c93704227adb6c31293c81e5989a9bbd7375f37b78d966567edb468afa7dc83e5e856a7102363964afc147f560b3360b1f0555adc6f644ed2d70d6a2156d903f1ade14ab1cfc3bffba19db67ba4d8073aee7023a067329faae0b1f5bd552c8e2f71a47cf1ed4d577b9425ab822ba9d679ae0dcbae2bc580236ffee55c3806080bf2d76e147aa3217b169487fc3a33d25401f768eb5eab17d03d4d3201fa6e2095287e7bf632f9664a654225f736892a73b6a54f860b65a62fd93a0b709cd2dd36a9a3f8a9bf429194f1f0e986efbfcd3585ff1cf32204a74202d5627be09b9cf3409ab11d5482db01bcd94477ac2d92abf3d12aa75b223f06a2762f8b7c22a737591ec6d679274e7dbb402ed6eecdac6a0a6c77010d3c487c4ed548dce89704254c6cbc117ee0725be13983206034cfe491419e04a25903d5909aeb1cfbcca1c4b08be0f22f4faf1b30a70bbcaf161bf45e4233294dba860fd394c45ad0ac73728c836b6c1927d1b26aa7a0e1aadc5127c66d994c5446dd58ea507175cfc40b339c515c91dd69dbb01c1bf6815310d00478a4c91d211f0f834139c37acdc1f0fae21e140e4f8319e0246bc4eb053478a9d79287df21f7f7a296da2305680f5c8226ccbb6d704236086d3c7b260e054a41feaf1caf33a72c4c688dee365c5f7e01ecbf923b0cb71468dc22f1b4ede290438db0780d7f01e482c39e7800ee6692d892cc5276baf1e8bfa389a7aaedf28265f11f0b76277f02923060f9757a8a4c16b624c8caf88fc5cc3e6b094e32c3e7152b63119f19cfdd91492d02717d106a34e1a6f45d43cf4f548ad2dddd5cc5887920b23ec8e4e8bbb2debd5056ebd35c6b819264a482a3342b245dfa6cbb9da91b22b223a4c8504191b593cbaab6099334cd40116049e758d40196d678a6a5df0010ca075a4cc8bdd415e2328990457e2e93657e72377574b6cd2df41e93d195bdd3a5e6e8d8f1b65459dff7d38d2d2bff9ddbfb3883ae54f7876e252da0313929f6a64c5a9e48851171fe286218605af7e0d2f8fc2482d7be34a7a2d0d18d362b111c5a16bbe894d9eea96ba3248788ed7c332c7f19f0040767eb10da0b812a3489b40adf22c7ee7a3c4f5e6db2945ec0bc3c5f5b1a3018ae428235feb339e7483f4c2e219ba961e347d9b457f9bd1298b42d386c43f797442b227f8c747bdb02e8da8f4857e5e8873b56c86884f781d04cf9bac0e9947e2d784f78dde1ab9b87f9431f1da69c03b3033e9abd24e3da6b5e04697cc616a5bc50284928267fdaac5c805cbd7ea64fd77447c65880b74555e38ba2a300da97d0f6a7fa5474a27569791ea762f8a7244aa024f9e0c7e14fbedd3b7707ce9786069cce2ec8d8e3dd557ba96034b996a60223f1756c92aee7b364d63994e7a344b9b8fb73b4e024d5a3ecd804e97f7b8b629061ca9ddaa38aec564c4a90ae3cb78b13d6bee175746e423ced7dc4b847628092e26e41f616a201f45d777b7099722d5569d96d0551cbcdaba8515f93bf266325f24361c4fdd54efdb139052c8c64445c16fa8158b295f84875fa671e0720d0207fe7a3e6f4b7fb92e985ec4b924d85495bff85a239406b9fcf6c581f035b39804f4c357333a772a275a2a70596f1c4566b0352966baef9052af8fd17f8b5bc9bec7cb282a23ab070c3df1a49d48a303997aeb7a38c9bbec99b66a8af4066cfd16dd76a115e4d85732166de4f28573c0e457a87e606d345e09a05df376de5f3318d187df8f40cadb29ae2b92ea03804d2fa05583c43605315f16cb3d61aca67389086810677321ea148b18aa7c01423ed0b10ffc1d045cd182240375d0b2c1bb13ff974fc0a931c202895f511a2695ebfbba29db16cd86f4a1e382a5cfcab59d38540147884264f1c62f6438fe6275791ebd0ed5034ab0241f67f4d4f15f36fb41019ccbe707ea24cb3b0133db0667c2c65789eb77e9fc74b3d0fc4d3561e7695b28ca111e78a620f591ebb2b94b4fe3e9d03530cd332d22d1e99bc956a07673882db4f0018ff77ec1ffa2af6129727d4afd3d1eee74ab00ec5792f7f10110e85b8c691cd409f0fcf890a62b484b4ff5917afefce66f082642724fbbb3ec13da268d4fef584b34c0133eb58bf4854652b970816169cce6b2b4cd64892f9ed550f37cd3027aaf180879d1f3c4813eda34bc6d9558b2905891ca29123b078f13047c34797332c4f835e5f1e418387e9a950024920faa5a11869749a48c83bafcbbe8d69e1d08bd50f7f1628afdc8062c819e89fdaefb1ec2484be0ca0581450f6f14e5d7b059c193b40eafd08efca82047d5e5baf44f1bd682d07ada56d94772cd9daf7befc4b410bba12679cd266f7e98aac90a6ec1a2f4849a4368c182fde315a03c1de2054a950ac314daacf6118f26bba4c0da36344b8cf5701a6f7628ed6f3511eade5891e631c05679e141d031e689a6d028e840032e3943eeffa2a1d2a2fc59fb20d66bd06599d4bab76d0414821471e1432d1aca0dfa6248d393e82d295c20a8584eeb823da9e5a0f24f661eda8e55f51f13009e42c0ba471882a8688472e29ff79bb34db9e8eb9e295e99a76bcc78080ba94bb848ed8633c31a63d4101f1d77c1b7437a96bd2b5fa8f55bfe6676c1bef83f66233041dd5d16bded7a490a1aba196bab365f3944a4cfeddadb6203b8230094706e84cc4d91a4b285a98cf9b554d4e469907079a1e327ff9326555d64f4e423e70d13c944ff5f8b3483a91483683bae8adb06cdb55323e3d952eb5eec0ea9a06ce75fd3b96b75cc95dfb13e93d4dbb4cabc0f7a4006559e2b12f0bc4a57cf013af3172ea775dfaffab4eb69042a0542cdb4b0cf9158d9259d734e7ccaa717665301b698a69bf9df0406c9e22b6094230076075ed7aa572cec6b45e89fcf6717f021c90ca42b48edc462289ba9cb76f742a9bfc4a9fdb8219cee0bc3755d4d75f0ebfe9eb297f99383448888072b5dc72e9fbc411a5737a6b7a4869b1c6bfaffed90f6d6dd1d67709c02a8764e1819d620052341f5990363a3976e4d2ab134d0ed6317ebc45e903791ce3d5874ee403c445ca21d6fcdef73f0aa50c382f3a078dc860bd2659751fbd84627466d8dbfeb11f808ff623fcf1b33c79a6a07c31394cefc857361a4af609a6a53bafa5d932d2baf85f389ce9b910a18606054cd1467bab31528f7080d3bd0f1dd0380e8937aa344cfe433ebf416f43dc7e966c1b04416352f1f1a39b61437603f9bf82dfe4d0e6ed1147f3df08ca3ce0a7566315401e17c26da4c48bc5c50cd0436d61f9bcbd12ba4645df2f8795129422b04f7550719a52b149e6a7aeffebf22a2d74b5e671ab5ff8bb99b0655cefb544bfca0acc22aa396c2a65ea196f68974827b574e4146e4dc9ff41df3104d2d6e9215ba16e996794858d489fad6de4256342d440c4a6dd543e9861b68801330c19470446425b1b26a085d09cf06801a0ea1e4b388ca7fe730176876b7f71326cdab950a08f929c89464738aad0befe9bd85c9cb7ef7cb0061a602fcad801d6533b2bfab0d4d615f1e71488ed5d5db6ac44d2d0314ed4864b7dc0d4cbded5530b6453820eb7e442d8c8594a2c4b41675b1e68b8459a8bb24cca58eb1e0e97da1339942456d37e6032208db712c7411c2089d4961ea71f7749e367624e4ae5d7313ae802cfa03edb2ebc84e0fcd15ba92787e5ac9b388dcdffde0915705726a3430851d60c2d39610edcf4a0ebd9a900d3e075111f6f60e5780c5f8aeec42c4f096c1a29ac3226e77cc97a4c46c8f29da98ac13159a16a5f3d4347a961a0242383f65f10f141cc06c821c3dd435d14b388caf0e0c454723d930fbb8a0987f4b930aac1af46b8f12509de88ce185c9ad6bfae75895ced4fb442102f0a59008deff4d0bf18f2b10159df4a5f7ae6cd882315dfd236c4afc65193c111c9f29a56c9a2e9a8a8e5d59bf80d3f4b96160030cbc72fe29cfa19cc73370294bb9d0e32321c95c76fb527f9501753b286b0f66df4959718fc271c1eed5b812db3eb9116bb408ae164b24504a4231768f99ca1673899254ed9a8b667d0e6a3acc6f7121bc09a5a5fc0174e74c0a1a3043535697ce35e7d618e50c7834a6d4708d7e72be7329d04479f2eb6bdd9005b7c019b37cbe5eea3bbc8aef49290f638c623d779a1e4f7dd26de32056cd6c431034432d4a12e748bcc856008e9b42d13ca829cd90cfdfcbb609d59a206aa08e413724e5a54f6427979b2192df168c3f1ebd02f5a4d3dd8740f01098c2fda0380f2e21b6e7672d3425b320d38b04c64bbaba2573313785f0ae3a4379043f789dc929eeca8a90f80951ce02a6c9d8b9867201effbf7d6306f479008bb3cf1b2737cc2abf67f2832ba2b1fc0cd0c21ef0517de0a5a984afbd0791a81bd357991366b86b1eab58a2f01efedc17aeedb8ba9d0137f095a8e8fbdcb1a55594da6119aaf2146f065788ca831699e27be841eeee7eaddf37acb83730b848f500b7204e47ced5c83893cbee81166f291377473cb001d9d6bd81b56b088e559206976bf0d6ee599f19f9d60915aafd5310832187b3b3a347fd195a491dd121e89f031a3c36cdf1a3d75378480b59220d54f77a92069d8afc488b0a4d1c0e3d7ecf2ab05f067246f121d8377633322b24b46f441f39547b89167972e781053f143156120f640586b36ef099a83c6256e84251d1f842dcf0016ae2b6e2ccf614e1f346898ad6db562812983bfea61bf5e1b29d8368f6bec5c398aec2a1a79489266ff73905fd9151119302268214d5b4978d2f307972efd599facad235935db758a468843bab0141a13306fe5066dd197a6cd52b2dc67b5ac98379fc6225a8e95e50596ea45ad29d8ef9f45de5193a9f2e5805eb8d1efb3cc084186f306a30bc7ff83750ec9b0e4f65ef0109f5236a73d653d145b9757285facce03cfa057800df405d9c11365b6fd82cc63011afb1d97fa62faabc6e9a42d9b58f59c502ee71a563c4875d8b18c082e66efe730f3d61c848c03fd485648291b3a5c59857e1dd0b1ff62ef40c033a6bf6debdb7873b234ca57693a61a77b6b43c68b90d60bfc14ae5fcce5d6d0949df3b90dd38f2b436b3a70b71b193446a52f3683a28df0e4f58f73756c53f343df49b0708b8fdac29b6e4b4ca3b2369fd04eb239c45fbbbb070be838981846011d5d9cb41035ea0b6acdc7a04732873f9f0a8bdb9c2c56bc6489f0bc80c03f336c0b3b6389757d6660fa0cf891d7bbf9ecd7d321a7b32c79d570062797b443d0e138c1644c44d6aa1b817330f323ec351143943048896b14cccbd063e4372d53a0629b67ca24af1c58808095036b5b84756ed4632bf13d4a68d819142a0ad5bdce09e074ad73d3a0801e818965fd7203c0c3862e56c762794eadd5e7c60faa15aef6849976f461a6a202d92c4f37de8d0550b66699efc398ada9e906047fdc3e69ccaae0c5fe913a000763f759451f5c55c4db715502a90a9205a93864246e7d3351c0e7f25dfbd2f7ac1c03ca65f2539f538a61e424fe3c6b587795432b252d43985124e15b59e5b25502a26e84caf11d24cbb2e88bad80cf1e888242928d9766a2ba8f4a598056da248c8fccf0e2813caf3acfcff2f90f27a17babb95588f533ce0d92a87b0a03a54b8859f9243a3bce8cddf4fa1ba11ec2f1977d96bc70c6202a7d89186dd6e380c969de3e4a716c6425161f0b229e50ca6bda74e7b56c98994646c0aeadacb39d6b0c37c62d7faa55a61fdeb90bb7743149f07b722f44e47d1afddd52133fec01a4e9c76691a8bf588cfeed1351c8b08db710d7dc6f551462b0e0a767063a76233a508fad271bcfd6800d2c06834e7122c364f9a891f41c9f69d3aac0a410d1bfb52678f2861b7e64e839a2153e69ffcdc55dde41c3adeba991a613c7a9d8316e93e9bff6e4f9abbde361c73de671137852def9709384129a2d11db95be39b3d23714115eec5c589cb8b778ea61cb7338c60223c91fc70b390d4d8a341e420b5cb6019aa0e9b4b6d90e8577eea2315e019bcf89e67cf79754baf1911696455b0137f3e53c1048040a3ac69ee6cec286b2368468762888dab973021d23761170adda6e15a4d713e2f83ffe564fd953163823a045669e9f3f8a674b28053c0b463f887ad7d0901b576714653033ca729b0fb4c9b1aee9e264b77a0e22aafa18b0935f6a46c518e430c34f6b034c1fc773cd82ecc0dc33da8f1ff6a29e215af31ccda7322b2e2a71bdc45246d00392f8df9d875fbbbc374404624833727f0b6604aac2ac844eb9b28c310d620f0d62f2741a117d9355956affb31268f045d1099024d8ed60379e4dc533d945456a608a0aad7206ad3cc7d92ca02b11e5e1665cbdd1d0607ee4cbfb1003d640beee0897daa3f117af82890c3aa6d33b555971d6e6dab58f8d73e33e895b6cd3cf36402994e02ad71a46de52ebe0aaa5c3ad06e1f5ad9a0fef1b48e963922ca532882569ef3b724b9c80832c637c84adf41fe46647cda209129d30a597bd4f1b90db5cb15d8e0cfcaa3a0b058479f9b58412de214b165b3cd636139ab702d070b257c3fc2aa6ceb39bb5923ad29775b7b4f8e60c971d6295863b106c0f19a97ed8cf918250209c9fdf4c66f8b98c54816bbe4f2a50297431f7efcabddfd59355d08ef40be51e1169442ccf6f3d620543dbf1a89be1090e18acb131b21acd81b84cc2d1bbd3e20b7a1614e6098c980d60fe6aa998761c9ac6d69e34046d22f26248c59109c0d14df82c0be80d7f97b63202ac4f4f34a00ce843f807ba8cdf8daa64119f682dea2e610c27a6f42c9c568dcd436cfc13e35fec0e4598abd654c17b7580c96d1e85f46b36414191b36bfebbc5eecf0ea454ba1130d295779b05ee2e36ae18ef2c04d72d6406fd2d9cfb3594d38b6a95cb33320ca5a9448d9423302975758d57d157b15617b8e8f9f805805cb12adcec4075e1efbc3077529443197a8713b719f140bb82cb4c1706f702207ef8debae5ef98a7a2e0150625cb00678a092686aea297d65ccd983babe3b08ee82ec743a314b1d5eba5537ba41ee8658fc840e292b10ce40488e51a467981029daa3829d13c72809def343d878d3178e9b1762075f926f8397a62561863c26b6617a6107599faa3c1b35eeda04d108233249d9bdc6070f0d2089284d59ce386be004c73032746d2a56867f3533f74b1c56b9e03c19a39c0c7a04681b4af675f2460f445d9ee03e93e68f3cd0faadb3d469613a1fab51e57be5c047cb2bda9ae45b656826d6adf795bd83eed8b832f6dd261bd74612ce11db74f66565bc146e1cd05ebb62270a402f8b1c535c8bfce7b047239386acd0bb366f7bb9f026612d3491dc13b73b1324fc98845b4fa514a2e9c4cf35284e9be66f2fc10165f0f4be781415777ce48fe14cff8bf8b972315a53754fbc24930e668781b77cf141dd79e7bff647cccd60b9ce447891d71d3abf69ca75cb8de28ed2ca119cdb642fdae75b055dc663307e25ac25b16a936b9933922f898c74254e058d745df3edd448be0ec8047c9782698072c78758887dd814a72ee9bdc1701a83b89ef45881d0ce29e9623d0adbc5c933120e1eeec9a2fb54f4794d79afc353a877e58f9fa016c0989661cc294a20c6a4aefa8e0fcb58dbbc86c36724e33bc4b8cc0eb9b42f53e55d08bc14c45fca6062c5d4f9deed006fe04743437db62906bcdd7b22dfff8a573eb661b025b08aa16d0d9f91264f535c2a25759424de89310e38649ddfec5f64877e3d16636693d2921ef8ff6f21217857efddd2dbd5256dded71cdc459fe192fe35d02c1de5acd1c710743fc6cddf104ca5efd7e1a6f8d814aef92a797c2cdb3baef57bd0ee52ed2b42db28b47b43c19e19513220e079726c32a5fb9e7e7c349268df38decbe37499893d2c04ba74c65b86cdbad9a253c61159d5450e93c7dc68a8a61f84874b153d53d58af7553ae8a41d0e47d59ee07b4bbb0ce337b5f250dafef0be46196616f0de867821bb004ea3b85645500ef1a610b1de645f7c1e00b2181db7d2b1da7fb7c117904239cacdd15e7df8994d1cce2ae5b355e7e4efcdedaf005b3b7c8e0ec7cb7dafb544af8d1b539241dafa80fbcafc6aa9104f6da485568415c204a269a81c475505c8ac17538686c94a380a3d5038b0fcea0793dd2cded7238c17ae02fb2979b41c6869426e4908131e106c2c8cd86b3513713696284ba9083abf6228b82b35b9bd7c9d45672ae06b9a3a091c6f1a3b896ae12fddae47541d16138dca91bb001c37363d713df23d656431a832611d3e551002e6dec672f8f5a9f7f6f11a6b6d815543ea33227904d446935e0238859b61d572463d32b050d9c8d2214e9788371912dcb61b242251a5fa8d154f6a7725cd605944b877d369f30eb33ac39a5f07e13ec4eb3746e11a0ce49ed9b13a65c91b72d5372c03f4b26b41847cdf06eb3fa313b12715519cc52e27acf170c0c01b509fcb93cdd863501b60109ab329d127db5eed9308e6a1dbe2b6168ef6806ca38fdbdfa737a354fcaf1de7de109310043d99eb2f8d4fae2e6b42f353ee9dfc13700e805bce9c4825076a3172cd7cdf36ecdd4be364b88f59623003cdf88ec9a256f8e30a96d6f0874d1b727f22c9f5863b069746fcf8d750fd034c4f55b4f9c779cf3f915a79eb962d35b5b30f0c8eaf64189cd04cadacca0efd5697808713adf5ddf6b7fda75da034d7517f512ddba158a29a604e0251a606fc45d1822c0c2dfc7d882ccdd1a9ab1c6bb1ab9032d4d7eb1fd9e342109e20bd4bdd898500658107c56b8057743697e2a1d45d2a1f0b1a6be7b0fba7be5f749006a45560fce57d12cb9dc1513e6a7c7bb6f2c67c56f7560c8952a4a3412de9cdf831ad4b0b73a33b406817e82097410a5806f19be94884aaa6895006bc0f80ef03d133e80efd398a5d149d9b4c06ac94eab7f3c538bff7ae30dc30f62b386c361656e1d74f3a0ff33914fea4a6e15528fa990bd0bbf04f563bb61654b833b18d8a58f9e359f4c5f42317aef046346e9cd802da21f3209dc77375acd0ce88d3a2e2f7a4d2dacbe1ee6773cbcfd7adc7a869a362fa9dfb82f6ca680fbb56ff10de162e6d4530b02511bb413155fe913e1e02677da0b6295c817f419962317194e05c7c68c1f999b116443ccce1b17994207164b4c06c66ff22981deff82a1556b50d5b2c164689553c539e7e1275197541b8ec59c2e161ee43ad944a3e8e70f6b0d535b56f34f68c56d60e7b7f78eac632f935d5cc5df5391b94c16105e8cf20e5c5915fb14859420c71ef8fbdbb0adbe2893d0cfeaf50dda429e957c8f23a8b557e6a7abbb780cb6f2614cda1a27950295d26ba91befd38ef642bbe40f8fc4bd251e3684238111b88bd8ef1063bec23979bceeb3207d1778776bd86eb44d0f5dd6e30b2b4c39cedc2e32490cbc536325f50c9a6b8f895748f10871f72516eb0097aa5ad244803af8ea49cb62e9b11569cd27eeee04c37ef400a557cd646e9c4758d0f7f58dee7a603f60d0a534df3bf0bda6b55ec0a81a194dc44a3ec2bc5123001d89125a88020af8f387dc416fe9f93d429fb83288e6f28c13506fd7e2053f0e26bde1d2e9410aaa45740653708a73389bd7a9ef4dd85acf45f19227ac60f2dc133d6285af29cff774544913eb6ae15c7986b94d55bfe7e41bc92652068b699c783efdcdac361c7bd0769f8b3fa03ef614991f73173163aa5960fe61d6dcf6f575e715221b0a7404655efd40b62cfecc09799273dc366662d994698eb00e09170579777941b3ed7ab13f95c14ab2a84e4cef3704d3917e8ee8530012074b7900b4e132f980413a486ba92104eea9bdc191af8cc8f0e755a246a0a5c3021c7e0561dfea15490d71e90d42b375ca69ddc4bc45dad4153430b33a7efdd9099f51e857bfff14cb89bca61fe1247af964c5f6a0a41d46381e013a6a0e06f66a3c40e9d78a16e465b0ca2589e980d23406a033230e3f7e05357c4f29d2dfcc5839776f87519d5d2b8a5548a8083c6d2148b87850dbd6d9f43b4985797ce3712fa7ddad5d917170425f4e06f9e7f3f5553b9c17ced7c1ba7d54cd365ec915d6f4214361509831034c91c00e3a78529cd9b51d4678c1c48198ad0d7ad618c0f3fd8a15741e8eaec96b809dc26e5f0d0634d1468088497bbb36d9fdaa5d4bb7f129fd0fc3abcfda336fb2ab1155b5e7d8c56cbdf26a193c6681d35d7c1e4db2ee8bab4a2bb28ffebfa02aafae842ea10a80add98760ff0f96c231d9eba5a7b04e8ff43647ee4666ac841bad7ea12dd6c9dc6f1b6fbb05a5f2addbd8305580b59daee15d99b16aae3a92c28a732e262a9aaa57922fd55b5f72919ee45d5ad4684562772747d8d37f9c72c36a4d24da119b0eed5c41e26c50160c47dbc9f95779b8654de2209fedf9e1fa8985f8312bf35f1fd12861f9d6de2ddfd7c6536764fea050726615c020f5b05ae05135d4f0e77769e9e8b7d5b488930fdc6677e8e2b0fc5bed1e0a82c094950f907ba7091af465e179c6bc184e4d661d5f6131af323f225d54ce534c63f52b73caf6d6fbcd4b08488939ad14db1d1916cb8ad31d79eb19f45e251a053b5ed350a27eacf36bced8f8a8f190cc8860402c69bc1787eb0c72464ac64b5c7af5cac66e7bd893e1468a0e161b33720c3abdd4b74eb2a52d0a5dc59e33c7c1e9d59ed25420d232c81bf1f13a8cd1fafc1f5878c5998a9257e0737c6eef28076c37badd6f3fc30dea136fc5778eda7503f25df5d75dcd8dd70e9bf7df20b387b3adcd05185391f23abd38d2b6ca932414b5f36374e17868e598692506f264927b346f0329c15f281b9bf36d6cc9a99c3521db76ceb5746b477d99ad529846f34ce660a206b21c9c9f7c3c05300831f09944f68706376966b28c3d7b6e4562d1c9a113d5dc805e99a0aefb565fdf6d813438e1e5b727d4b4d2a2f99f59bdc6608f4d576c8e9b0906e92797245f8637b65ddeedc90e62c50670e6f58aff4514fa3f5145904e9e134cb534043fee6b7fbc454cbb64b4c2ae870da148f5b330e7e59383883469f3c2c8ab236dd0da3d176f0dc4ab66c2ca325f14ac6ba9198d5a4a493462d6c222e2faf3e1bc14f6d4f83fd4926169bfe9bc10ad419f9b804299d7eeed45354d7a4f2a32de8dec5ddb2071d5f9a9c4f6f2781935f2543928cb84ef4cc15427fbde98401cc724ac0608b1a2d6fee1e4d5276c3f11efd775c469f1a3273f3c468da6646564fe39471f1cb700ad8f807fcbda8c47026edad69e8331d39107e35907910f12fd91c70d24c7e7e72335dc89e08472d6579610623f36cae7869174bfdf53429c2b7d1a03bb5d716b847b7e680634f6ab6adb03a261472f09d90d702ec40861ba2010343552c3677738088b0197c56d6a0dadbbe9220858f9290efedf2d1d6f3e04f40cf2d601d1da0a20340ce88a9c8bae187dd3d48890af4da11233f6558a2d52e011934345494cc3b44f7b14dcda0e73f47dc4af340207b3859b3e8c307835698ac20f08542fa686b49bf440b34ed3780137918a78ee5d515972208a7554290a48b5efe5cbe6417c9174dfb3acda22f9491f933d6cc93ecf06dc0379482ce88891a0baeda1b304b538c82ade9a5835b3dcca0b116311420f5d6bed45a35c693d09bc4d3c05c7d36bca5c34aa2babf96c712bf171501565f46cb2ba2f08064eae9d44a95749379d97e2b8b388be9675c0e270bf3fb93dc6fee14eb5d802334dd803a0b6a924ba333a42053f3be4882e72b832d80c39adac3fa779ba38b8800b994b4c89d5d35749e41a120862ee2e6fe29cf55c7d3055f45b5436e1d60d1a53627671b9b4e6a330d9785309b62b192f46b9af13d9381272da7fe69f78ae477ded20c0f0e73f7ec1c5769a1fd4d680987c546b18546c2676d7d42c5583a572f4a94ff0b80bb552c1c2d9adffe444f4aab70d5a543223164775662d73c36e9e7c1d2fcc0995c1784da793a445b324483737c86def533e771cdb8b9547632fb1a7fa4e08d26f79e863c8d1f8e9f55eb2f3eb230310b8e293ba2b4cd48d574df7e860ce911a28f3a8798921d27d11ea8b484cadde2dd83d0211d486171c6beab26eed3059533a706683e363448ef023c13713e20585c4f3d109d46addbf474be1c48d3f71d0236094e7c343074668f5dc84f0654de675fcab4f246df8f76fea41a7f2873079b4e37ea2130070cc5a379622283f190fefdfbd66df7d5c95d80ca5a11395e10b690abd84e26eda6b7dde912aa9f0c90866faea4e64a830a6d4459f9a007ad7e47a2d793fbf861f8685cf21211ac513850c5d2fe26f05afabdbb9ad8d64b70d55bf4d95dbad87b236a5e1db05f5a5edd5b27042d4e9e784f54bf6966c70be1e2f2a74cd227256a3475d4cbd43288fef7590008e0d5981396e637305ad0309242b4c5cf4aeae037bef0f52050161e9d85beaf1d94b5c3298fbcb1f66ffce7f3a35b22e01f4422b613764170f01623885de923e68bf2c2bd6e5e5d9963217a2c7d0b79a460f53f2a774360ca8c69b6f85c0affce152a14a298fc4f9a7622c6d03a9cd4574376127092a0a5938770191a1a8b983ea4031762f70e342006a03c4011b99ea41fd20b0d25ce9a178072a9b1dd38657a8a09d3f2e4227a3c5f4bbf555a97041bdf7cb90f624b2977dd8e63b1ae3b32de0cf6e94dfe714cfcb968d569d49150cc023d9d2bf6152eacedd5538e0e59cc5db8f2e0665f87da28e53212d0e90eade0a72e747edf4d516011c7309046e5509f7d711992904d0c64fad23f70df638cc7068c1e47840dee896f33113c365cc7e492bc01aacf7fa752e9f3c02e2d1035035f4386aba1cfeb03c609df1add61d02f1ad6668dee60f303f44c529b832f7b36cf526585046feca377bf36a2536129deda276725a23b62cfa6778b4de8f8163daafe15a3d815489732fa3a414a6e2ad80213629f92d67cfb7b792034ff13c9cbf1cfecf445b09065a48a27783120683750cb88986f51bd713bbf2cbafdd8914262238a85ec5c93070d84ba82b1325dedd513cddf26b78b415bbf8b4d79613c52e0b92ccc2bb5f31eb6452c6780ab7cb001aaba0d1b5df245d13db043df7ac3b8750eb20bae8c2150dd677a9c72762b68845968488dd67f13163a8112261e1d158023fb3e74896b12b6595c7d969a8b2a0cd96ebd1ee5a600ec53ee530043f92353b3f6c83611cf8f626769a7b246223b80300567de5ababe17ad7fb1e62dfc09d40b27abb3e2290bba9824381f999a5ac3be7e022333eb3eba7087ea144b7d149b8dd2325a638e8c003ceeb239de3d8866ea84ed99be4f55aef2e97780cb41bb69fa8a0576bb032af1a6926d8389db97f37ce2cd1044dacaccbc46b316222e2323f625f36a31b41920c799f919efd9421188eb64546116a6d44008ff629ff189485efc299bd107a51d49e5279c29bbdba41a0d5b25554a9806b362ee6fb10a0b775b6b02a8490c40e978597ca69158e5e559b1bdf8b30c3b0a75f0398504f66b7c6845ac704c9fbb3fd13c01a9b64d063bc3349ad1a480e727463c48e65254aed2217baf565f64b666353dc5c2cb06e4e88aec79ba14e76088903e7d43b7e493121983d6ce84cf6a8ed2ea91653a732ffb704d62817b30477ca447e1abc0652fd830881c224826cf5a985cf0f21d82992f269c29f741cf0898c4a36aca363cf60e1c5ec610d78fdeed7355cc340855410fca3f555df41f1b1dd9bbbe5f5a5bc183365900842db3eeedf28baaabe7c411d9b900325142fc0a332fc018b7d1d1c37e6cb81202295620e1fccb9ca0ff0810aaf164739d4808851d3ab14a44872193a524cb20323eff47768c5f9c0c316c5a6ab39bd16758f223f163c271bb9ae3e5e58152dc5cb78e1a59af72f755694b16ac291495fe6ecd7f726e40ab92b1e0472d685ffc2c7003e1ade7721311debce50259e810cddece87c59c0bd980ad668b6c688d49493f49bc652c34dc0f4246131703426331222fa8c16ad9f08035609fdc375aa9d4f932c3d6351d495818a93870c6d763cd4d63eee8f0384ca3ac7c8516dc763d6a5efbdb76eed8e94ee98eef794dfb8645dc3d01e1dfcb99db8aa03eeb7ff951056be1c8b34279f257769a0cfc847a94d641f318fd63b51064901468fa2a782856038b2291d1f7d5dff36485981809a8c23b3af003f63dd787d5d5b1c3b2070eea2fc0662483b36ccd1c2b0310419db49e1857c7e3e4a36c793ecd8e04f22b71dcdd44f0c0a22714c4d940221612fd9804b7a96aeba886e1ad49c437b92b68f5d13b727d54e40a7624d454e7f5b7faa25feb6d70ab73c9031a080765389f7fa924dc98275c07ab64ba726c4219aa4998e019e87fbf9cb622a133827beb4ccdf0543103d3a3cd5acb3a2e21637fc019eda9ff805e76b7cd7e0b53476fb111dacfa98e7f61945d90cd40dfff5d799cd3f2aac8e463495b4323c50932bcb9a0e9294b56f0f9e51fbc17d4ff73e3b4ca01c6da2646a2e9cb85209e2d35cf29db6bea270fa2d69ede2a04be1ab0596513f0d1f3e51b2ed62604ba9eae7ea0293059b0a505a2f6712d0afb8f7797f7ed1536d343a131bbcf1588f5b423380fee1c48502d6d2323d098963dab615b32e47c2f7c7a40b25d86ddc261bcbdcd153e3765aac92b49f29bf1cf93bdd83ca82977b7306cbb2eb3a84340da4b66d2d7fd6f15d6db5e5444edca2cfae3398d362a87dca8e2c44208f95b31333647e119e9eb58931110f53c2f1d6cba105356205f0bf3bd354a0aaeb3d22290addad9f42eafc5f475a54631006c7317ebe60c6546ce1278a594674e2d4612cf7b305badf209b6624f9d072521218536b7e53981a56d21766fa247474580f52fb3d2b7220a91ba33593ba4a06146b5175463b8cf826db2eb8659de6951010c347cdf93dc10625c9095a83914208e9b420c03ef1a2856c78218f9cf83bc9225d2e8a3cb7026dcb29f07dcdb3b8daabeb0c1c417d2c451516b78d4d5b9b9df096f5125524e03c8179d44919bbd92735b45875df8a9331277144aed0106c845c89f5857cdc3828fb62fb9bfa7de7ad02b8dbeb373b5cde774f8d0dab19a4b13a212655574a217ae07d600820f9262f749001e86d079926bdda9d914076de0e1765db9ad779c899573804eddb90ec1f514772e065f183819646a1c5f09df20bec7169a2b2ea32b10dc7aefa72eea3dca735a4e0ba50fa98b2d70c63e5452179d386c7925934314b34b779209dcc430012f8783de5354bd78e855271a55d3768de95a48b43575dd61081ff2d38eb39b08dcfe5a41dc81d05c11e65c096cc6eb1c1059193b9946e9b8f83dba3f03678cada7b636f0357dce519c4c4008260f87f4ce760d0a99029910030caf5f3566f11067b328e90803f9985ab5141f2108189405f0b65bb33e943266e80a3535890dc5992fae91abec5749b1e3a8fcde88cdf43cf439f74cb876a99e45a0c8b5721a0cb9209413604fa6957a7384dc76d9f359c866d8091319d0c16f348fdbc2d4d59af34247e96183bd4a226dfdaf6b0388e0edfa6df5627c6915f7da39c6554644a5a417a41c169eef7eebbc4753bd9781b2e4352daa95d086c39587442f02436f2c98e88355f37c7ed529d47ac0d284d0e8a0c1c7652f3d65653cff24c5b5f7be5ecededd4678c48b29ad3c8ab6352862d9419d5d89b84523baa20fa63debc561bf4ad851e4395feaf4ef6e237ef267defcd4df7d0ab188a068ef4ed5311395dadd9a02e50a928aa97af17cc61d3a249c6347c7bb021300cc8c0a0f6f6c98732cc2fe47b1b5e1b67ec0dd7d4cb5471b41444af768c172cd17c79784c2181eeeac79311397db6db659e0d32e49fdefa45b6ba2d32d669ac1238861318a1a71e59aafba45aad4747b7de6dc1a90137615df2999f1bc410bd388a5312ac9f4f26b4e0767936993a7f422b757be2f3ae5ba3da6c642c4a390a6ddac7bdba60c386daf118ed02d62d081f3c4d77957f0a093e1904602d9327c92b8cf7a2555b46e19a09b10c1df9d02b9fb1a34b6d47b596048d136401680ce35127bfb68386009763adbf3ded960b98a73a7cb341355adb642de4dbd5599ee900addbb152fc27ebbe0e9e5ebd8b8110e869f9b1274a6ef4909a1edb3ef5cf5f71e6e0c4a2768e754eb5e514d908e7e89a6c82cc60ddaf9464d9f16903d6beaec3fdcd7c82bb54f510710a5152d3f5da0179c503b84c04e0a532b9d68fc3e39bff15e3c420455da9c1ead09282f8f402ea20fef3de1b13dc79d6ec9e40adaa791c8c746add158aa5a681934320972d19965f79c9dc3dd1a0b3820bf3981c6a9ca7b7d73b87fdc90663b79ecc84a7646802671f8ded740ddc9094e8243f42e365a4ae3a90a2141d890c32c922fc4d8b3fa99e5d7cf986dd6ed0ecc29b557c0d1c6150ea8bd9b885ff643b9f4a7e74617bdca1b61e08811986fa0e491065cea83c816253266584c7c1ba53568114e900677cee29ef3b5ed524f6da436656891041af86f25868dd8ec097a37f3d0d4b2c65d2536eaac58bf4136662d5e6eb8fe47c6e74fc190a64740ce573f81731a3c59db6d2a8bb5ff16787af3f3037bbe1d379071113df3f3f7c53cf572268af3ceac3b5879d175cff8f2be277a982f8eb3165b148a5c36d011f177ffa2cc8aef35100d26448f80b2b53c5d25d15c501dce358f0bea0ad1065644adc6dc21dbb648693325687708706e4e254d1dfdf26e8c62a86d03f625a6a4cb511628109ed78b10ecf648ca5af2845c4978e9b24149de83a0e28f3f782e70e0f8173f9d8f90e73fb59da8722da7e3ba76576c14728c5de4cdc49c33034de7e7edf68bb2003c85f226db463ac5c58db6e0027e3cf52688ff468f15d1179111451574d246fa66e7f35528e45d67467862b07c68e7a071fa0b2e059a8334ce1927a5a230d2637948bee69d4f355c9ea57479a9b810b4d7f9295f752d40fd3711e8c6c33a5589712fbad5691ebaae48ee99cacd260497118dcc1d1f0c5b7ef6655f81fb5fa2ca1067bf0f1978458feef6e503a5f3f5fbec7b47066f2f02162d78bbec550a37debb7943fb2d6d687feab436561cbea0e855a1e141a5ddceaee3799ef87a46e46fe1b5c45a084f6ea65e82da5e6df678d685877b826b6c1e2f7e1a2eb2f7e8db5a69ccf1d65741e32827914da9b00b0af4c65925d64c4c43439ad7e657ce97ff7f89fb11918204d9947321d1e9d7c46d85435d588a6fc56e935e1dc4e15af4d4ae2461b30b2c194c3b656bccea05f5c6d4792a9614b8b696651afaaf36d987c5ca555b14915e176d08a51dbe1b7e10e05e8be57b66054efa5a186cbad9472e686bb91c01fbb185dec12feeabf47a81691c8f1b8e623eb243adc77519bca9afb97d3088c1c44523e48902796102c9d52196ba22d8ab49d451b0824bc2a2c78d9dc83fe18e58c80065a20111e0556d6d4a1b7ffb46386bfc42dc3ea03a5e9a2d2aeb36362b3ca13141881151b8cc4fc10d668ae7d381b0bcefa9cdec14874ebd35103584559eb91d58edf45bfbe25a77078cce9f75bcd436b3f536c09cdd153e874197e198dcedfac07639a9aa100d76ea92c7fef45c854043533353b081c91c98fe83bef0247951858c18a775727e1259ffaf4130e345a675322bf51fafba5afa1183d4a935c92c8ffb24038c8295100818cc86d1ecb14723debcaf97b6089ac383cea2c4dfc239c555a4495601241f46f417fefa19380cd9060cecf85f8410e125bc8f5a8551bb928271457bae9d6f008fb70019811ea8da34ef6e8503e87c41ff2fda98328780b743ea8852ddaff880e0cc33151da36d0c1a09a28e51d7c919b6f558876783b020dc8ca412b6a5ec0724a89b1e0c47c95360f33f818164919c674b78bf80a9488e5ea0dfc3c0bf7177ad470794018ff95076b0b1d44a1769d2560ce9ee4951fdff1c0bc0359e18b8014b27822b2700153087ca16ac04c82b7377005d8289ef23797632a7ff8a57e4a996762a7dcf5f0cd4a3c24cbc519a45ba7f3030690060af5a954fa082f38b756f7296c9ef14daa632375a152da67dc3ad96ce39dabf17526330b2eece337baee2fc35027953e30ea4bac6a38f2594ccb06cc94e5783c0dac5231e08fda6e1a663893a54cd6bbd91e0c301f3e4a936de4add89eed4757944b9732f8bcf57c4c305174b4efe7eda0cad44f71a10bfa196cb604d65a0b6b131de90e3f7f331f09c7812ce8d61874158cd0e72ee13c7d755e32c4409d068ce5addbf1e9e064cb492aa7ec532b61f93d2e2be8ffc2ee31e514f671703b5bda2cc6b1852c521cb9e45f8c7ff8060f9d4fbf04e988b4b3a6bff5f3da81a72886b86b9633759bcc86019c8e0c760634b32e8667ec647723a1bf493785ab16ecb5edef958c07f4cfc766b25f082965143e7a8322a90c37b21f5be719f9f25308ae266e461245afee70531dcd4b46745a001342cfae71a30a8f4e36cfbbd963db12ffe2d2a202351010e5f54b4d5321e7055825a6d9cbd714b969d03d69bb9ee7636bdba21862fd730254eeaec2c83acf658e172b4c1c7347eb271da31972a98d0d9ac03a3e4c5fe20a795d15b0d27efc4a5f961b7ed1fa10d200fad88315dc88b0547699bf265cb9ab7d69e2b9be97c11b10475912c3ae088131ef4fa518f17d4ff38f0b2a3c10427c61022f050e98f22f61708f1425ee22f3a65ef05ed25b4b8790cd2051675afdb4c50eb0f94de7a934e533e3e51e5c200a6a0c715e88bcb0e8a0023cf4c3640dd6688d74617a4329838e6ec2ce0cb9281b3783c44e72e0d0f2930fe203b3405f9f9c69d2027e08d59d2f0e409eb08fd8a79f13e54b5a2af39c1dc511bfbca53bffc214a7c0b30737b611206d12d475d4faeaf36e49359eb7af2fdba9d17fb694b40e79b6dcefbee5426cffbbd6c0d702e1d08e485a103e086aebe1b2f9c13694c3dd3da613613aa0010b2afe1c6b86dac7f3fcd8e4a9da31afd84e30fa2751da85d229f74fead3e82d923f3cabaefcd170837e42fda9c3c0339a93585ff3236cc14740595ca8e634e0df9acec95f0f06d410985954268b618074337beb17aab57bea57b6748c1a8dec1945feb5b7ae855cf72884bebac30cfe2b0c1139b39936879cfa116b5753e519e243f4634d3357dcce109a83d3011c104f8c8ff14c6f7d2fb934d8d122e4f90d87162dff3422717dc6e36fa054fadf3105c333d2b4c4e8bdb3ab72d4fc8b1e0d8c6622d7b8c40db641442ea73dcad5642817ee63a715ed6026f274aa3e9dbbc438fe4f0429bea56178db401d5845eb996ae4daf08d8c4d6ced3a0ce778d408ec0a8ea055e67558858650f6ff7405f90e8e1bc92ea69c95a51893aec6d19408fcd5402eb9554bd9076751b40c6a758f28af417e0667b423357524a6300db084ca8f45cb6344cfd713ea83fd13b05d16905802f2d06a4e3187800d8cbe5bc00aae2f21512d1778a74521bb3b59e36a65a9fb3e9b62dc0e1819c869abd32bb3df0f9d66f64235ddfb5bd9111060b95cccf5f985324e3daf36c5050fb2b10bdfd663ffc24d266d8691b01a321d15bf3ae8f05a4a1b55a69c74a576de593418dfda8f151804614bbc3f4acc4a9fadd9a9b9f44e3bbdfbdb2805c1f78124b18f3bee509393e9d8ee68a72b8a844395a1317a6301a38d22c5183a4036aeb32d1a438ac1e19ebe64733dcc43ef7e4843a9b5d2690150edc6f1dbf3aad179e282bdb1138a58b57c3a2d451617391d5f11b39dc528d40b9e0e14b7734265793b3edc718b086833df1344cd6d8097afcf94e9673bfbb104b1e387d4153e7391b0ec071303a3c408e658f70f572bd5372bf702b8005c3dab5b3dfa54ff2c6080c614d2fc7d5c4ebe26697040f4a3efb1073a7ab2e65c2525a5700755c177bd40bbc9d4af48beb8175ae7ecfd650d37b8155f514223d9ae5ca707f80b2bbfeb9a8e18e17fb7887cf489b526596f5da4d98d6bb82fddf99a875dd168d0b80ced00feb62d0ff8489456540420d1843a7926ed3d75946097809433377b93f8028d6e11756a5946de269e819e965b4cd0a15ff2c3de6a2287fe226951c343b705c3e29db5780d07acec95a1a6630762d67e7be9197536cddb457d711c1ac3f09ab16af356bbe0060dc75c8ed8df7971bf60b2fd73093420fa9d691d84e4ad79d139abf15ab2b9bc627ea17a1c1f267d1350e03dd7d54b0d0a238cb798fad74e4105a3b6df4f237a20ee5bde67ea66ac471d8ab3cb0ae97dabcd4e3563722742c81d64dd59e4a4be2d49d707b622082ff46715a1812e144797907cc67b6772b6664bb6c63b16e3918b0d15e68d026f48b6449f957214b6d3a423ca6eeb0388f8d9483b688efdddb0e21e54715280f3d9df4441b8f7cc12c8d430720fdc37f3841ac6b991a8785276b7fe7f8333abcd75a8ffe955ecda37c3c321ff3dd941b7055d00d8562035fa158c7e11746aa1332f36cc9100ac2ee14fc722ba3d38cb87dd45cd5553803f48e65d8ffd8b88ea5c6e9f0393b3404f5518a14c630e6374189f50ffe2efb0ded5212d7197fdcf5d6b1258a38074a8fa484d150219742569a0a23f73ae6813070baebb8c31413b460388fff67956d63649da8d7af1fafacd3678d06056ac87d6c63b0457d22f74b06521c91287f117ab3a68e15261aff6944d4c7f1417aebe1a60509f4523d56afd573cf3a28348aa97db498e8fea3383ff2e25abdf5bc8126e01a9f9d4d744aebaf59452fc97408d4e520a624f9ac60b5d7b57e4bbef46101cafa610bc8572f84941f8e46dab0a70d2040111497fdb93c4a14f8413fa808d6591994926d5f16287f3cdc7d6c7e90f9c54258f1be11d5d15b6fb783033bd0c1baac21fefc00f9b28e5bf1642cf88d913f9f9e477c9b206184c353c15b0f25e998f25008c8270ae88c1a7c7df91182709cfa0866164bf2dcaa0a8373dfc286e2baf78baeae83812e3b97e122808a21a3fe96ec240ea030b07496e8f096b55cdbeed3ab4b288f9063507ab15bc988ffed5a2f197c85ac24e0a8cbec9f770f74848f064618df2a70ecca4a377aa0b6e78eb30efb91afca0e768c3fb23f5f3cb53495c25b561d16bc8416b2a588be068eb63cdd6b520442409429ae29235ee9ad93a11b36cc0ae354908c18ff7e9b984dfd79e3f0e03f065f672923f4e0220a99587802e92182d5f9e262d18d6a8fc1a978d7473d00772a701f35365221208c5b623fe807715041fcb073f803e0c41c668035442229ef947f60d2207de89f568205e8b93e96337efebd16db28de25ee6f3119e50bc83b8a601df2f3484e8b9d6326fc3be5a2503fead58ba03a8a6ae1337c2889e9c4ec2041e113c5a2f465c835fedc5c420946d48e13eacdf43776673dffaec1435a48055811cd91715b2874e74362a578bfff1a929fcd9b23509ceb4124e24d2b9d0417e07773fb779863e73a0cdf80acaa00975262bdce7a3bc471ae9b19fd9777f74ff09658582020bec6b1ed76beb9b70af23bb95aae885c4de529645a1fb4ea7aeab3a3639f664e2a8ab2aea6018372d3b8a45196623f198ff93291c17d6cf84c33732b06f8932a90d11cf82b4145266207805af1d143e36d6d5286383a648ffd491f4a78a51bde6b612e513a55a8119d40bde2a1fd587fafd8433bb989fc2b046ee0bb38ab992836a4a70bcf923baaec222a4d3d3c2996f17539c99512948244beedef70db1b92cf9de2c970e679060153051e28487d0d28b0405ce7de6be970887d46dbc4899b3fa3caaeecdd38d0917baf8f0d6166e495d105c801ab8666e5d2decdb8b3ed6efc6209cd61937edfb1f4769d5bd6df1bb02a47e13c3cad212d56fd9fdb2c03399eaa1787a51d7229118348e0cdf529cd249914a1cfb28eafdf11a31373078932c520e60f400970490897a4bac99f5966d7c9deaa2bfb8d5b8a4b4eff93f237bc0558bc32a33ed1a121cf22cfcf75d3517014890cc071fba566baf0a30227ba6f6f05593549c0d1e8411c9f22e716e5f52d12f7e668960f8922943ea38d341d0c34f2b366bd72435be4127df1a2af714be16686df58af57d403183be5a856a31fb19da57a80e00dd89160222d93b710b067bd81e579c71d7c40d48e537394a2e9069f10bd5b38f4cefe7beb41d60d53ddd3fe270e7ca2ac658761a01d6fe958b24460eede5f6c859dd36e3cc1b54dd86207a69e8bea3a5e7ae5de4df56f962e2788f7a443361a00a70f59d771ee2f597778a763ffddce0ae0229ddd6ec99f0a38d86b72b8fff214488cafc09022ec7e24e32772bb8d3f6513068a4b7c77042e0849a56a00b8c2eeaa28fb57f65c83f194584336a0b076888917a6d3d782b152772ba9b08c7e3fe7692646a0f972c39c4ee40211391a90ed8df12f42e2c5db927f3248f1004bd3b894a8b0acecaa6ef58ef9801c4cae866ced1f8db7c640367514469d9f783640f936bc328f68715e02b9a0e8708c450fb28e03e5268f30d14d775e1c4eb9fff9a2eb8704ea41545ef5169196a52a0419e6e3b98c5f100561a98ced1001d2381b6cfaedf5ebde681aa947b4ec82bc62762eaf9a254cbf545dcdbf8b6c43759461edb3fd8eb0f1327514540afdceda672cdffc1ee5a9180c9ce1f3c83bad45ff3e557c69fd9606073379bf5f89b9b9b1deb68255ce33640200b4cc312b7b5180746e1d02bdc2f67732c9177ba81513a46e034761ad3674df650d40710849d8774508ae74702e32aa341270aedd860916abf3cfe8f42a7129e6886ff0abe805d8ca89710705e634f62ab03d2aceb2e1ffe13272cbee1e89ba861c5ed03584acd0aa0e7218d956d86a58816b95a65e6f5715c3acde0584fc499f1278062404b86ad07c8d17e59f8bfb4bef8c143cef2a49e27ae4864a3ab39cca0d081673dd0cf2d3d3c2e8dd98f675165a6b7cc1c248618c3f57eec1e419a9b89cd9391993ef6833b4329beec2bb9708bbf19e71c1c87885ba03fc50cdb3a1d4ef9232e5681ca5f0f0cb6853215465f3b0d4a2e7591d7f843ba6361918a34ee988a5974e3bcf6f56e43815bc2165fe3665fac7e5b6ed40dac4139c2f4be85f1eb8656c6bde9a67a84bb21f516fe6cbdea8c10b30840be9f2632e85f205ad940e477609da37aa92fbfc3216136a0603c8464c7aa4f001914e64da30ff4331d8486a6df46b4b54bf0ae31f6628dc54afd8fcb2adb2652acd96f55c625b4de141d50187d7f34a402ffdbccab22ab8335f15ae08428709c3b88f51e6bfff31df744f2e85ca858bbdeb93a0d3f7fc2174e54371c5b9199c4bf955910597af027c80c4b01efc8f381f50b4c9562a2de2fbc27c18e3546791bd0978955776c799c7f6e988ac08f194490843145477ce45dc67fe1d26f15213da00567525af295843f96c2e7e25456383a738bc3fe46245577894ba953d907dff55e825e5534c602e6e63ee6421ca8efac5e2f8a913e5ece10bcf32ff5e3aef34ae4cd10f10686c3e1bc1bca62e7dea37a5a7c6084d034f1802eddb6464126a7a2ad6004bcf629b8dffb666d461bef777686b311248b8d369de209c239b3ab492dfd178bed4012a94463c8627ebe518461a6346ea057250a046fbacbb6c9235da7b44f05045abfba16903940bb24fbe9886fc770763d3b645357ff4260ba5017f1fe5618e292ccd6ddd646314322c86d51a1b62cc1de9c7c37a1ff1669ebef0164c84b1abb135a5359c5d426fa577880c5d7a513b15360db810d132c37b83c7397ab4aed4471650c2a9026e1d6f9a6cbec017bbe1b41503e459a13d98f4b2d2aff2a93041fecda43983409d1d3e1859700ea3b5202b781428431d09b37f470abde0393c10bb0da57d3863e104baaa50f8dd50feaf65e7fb221bb2c82658861b8fdac35b053c09c49d929ff4348f7d0d69c600027c3cc80dbb069e694007b52b553ca76d4e49c71e63a04da27f49ec69860c257c26d267008bdfc939d4a1ede36070b28b5908b98f1c23033b5a02979ebf02b18387ff04fa706c915022140296a7fdaf69c107213e6509ce0a83df433050594763943e5e10042c698132f1d38915cd0f33bec2b5f6634ceaaad836fe88ac2fd956f9cfe0c125a99400cfdad31fb3c8c2e7117e3ab53d3c7003cf2852c8c0ffb5eabcca9c7b5e89aa8211b7f0ed21872039023600b0ddcf6a7767b201608d3667ca7c451c7f65e4af97287f1a13c02fc867f849136e12b511fcfe5d543a077321a92689c77e566fa156d0b9c39c7d0209f614a784eefc470ce9c377cbf28724d321a3bbfcf5ac232abd6bafe19fe372e4d1fd732bcf80e74946f2640231e392e7bfae1c1eec8e85d840bb61e1fb2666199cc17ddcb5fed2b39aecfa670c7500f109962cb8f1f4491fb81a92a7275384b903fcde93870175357e40f60d1f9c9da5d037526b1dbfc19ef8c86b5db30bb9a689f6f36fc58b0e084053547136c75e08a0676ce77ce4bbf52705cadf3428c9d8c8710d0081b532f1012572f0a625a7789202e21fec5da12081c0993f69d8ccdf618ec8f33dac120bd8762a2611c7280a9fe1dad18b0159a7f026a87b6ce2e17882048205715c0e069c6fec794fa0a803f08ce915d0650af0666d00a76ac4748673d3fca5465ded8f101b59d35e22c377a8e90a97b5212a99fa73f80198851c4cd7ec543d979cfdafa28406c633f5a2cc85678d898e92cd61cf0cccc722ea1f5c118f5f58c70c01bf01f6f0db6c779cb75851f4d0f17c799b8a6de033cce4c4292521adcbe6f1d5f4857f48450dbb9c440f5e14962c34fb09f57467313ad9b4865777329798d2fb4a10e5fa680d3c7de77d18bdf762b3ad4b72bd74baaf43f9dbf3cf19260f3d4d7542fd02076b33d068bbacc8a7072c128f68ac513c3c1a1a23231b7a3ad5a95a10eea267a1d1270285eeb441590e7bc98071744e089e805502019677567d8f632edea759bf78632118a24dca2bef6fd963a6fc84420c537c5850ed6cc2cfac61c39b6071fcacd8fe64cc02afbd381241cc809c9b4dfadf5030ff5926d6508ecad482f316bb36b72bfed167f9183d6963b98946389508bb9d2a0881413dc6220fb18eb5dc86be90b49a6b9ac94f6e7230e69f147d6a19eb91db994aaf455136c87cd9d70425abc4bc526eab8b346793a748355878010957477b3bc03ace5a4206086131440a9f8a96208e5a43a375b497e99c6b421c5adbf95f86b186c6d9caed8741264b504501ff871034e1f147d1cfa428627d04aaab65cb6c685d0f80962ad23698b3dbeb884b45a1e2a65c7d6894c6a128efb5da73c22394ef36cbc4c5373d719fe555bce9ed1ff47bb5b36e9f4deb92b9f3981df2ad3786876f2e90806d791f5ce0336b9cf4690bac87f87db44d4346b1e59984d752eccfa3213e3c266fba3bc2a00d2cfec543f8e380ab61d3e9d4ce06b9cfc1e5c74b0ad26c70afe76ae04a53fb06ea999bfbaa9c2f6feb75fe3e4c7004f60f6c22d924b3d2744adbf7a7a8fdea278a12977f87101f858239dd0bed2f09b61dc89045ae1a017ab83fc2897c65badd60c790ed35fdeadd433def1eefb399bcd4cca3e8f3442ab6c814749c19afede61cb362f88bd5a9a41f6d83245b55e58335ce0723383f37ab1bb06391f46fd71b80bc7bda9557f913ccfa97c77cff09ae283e2a5ae4dc4d258356368c3ec1637055430eb117137cca1d9e9c999020d9a18342b65a539e595ca98b6c95cb86f421e4b10bee9d410ae8c7b45f7ed6fdbbbbf25813700f55ca696223d5592838473bf37df15911c4cc8c5af0d398a9c1f070bb9e862f19e90843969eff999fafe0a22f226eb0bb99ddb7ca4bf7e1a0f79ed37cd10dca9b4ac983f1bb074303043d98da413cc77e5560fd9c3df1292ac68e0b822fa14d331b5b23ac42c6a78c0b5562908f0e2098f24716ea24d063e6832982ef7dc990c0dd52340193e3fe6b44107a9e8fbc8805faa51d6b54b9e90bb6557acddf198bc8d9db4665d4fdd134341b016740288ceefd473a46e487f87bea163db118fcd4c3d59915f9cf5df8f2dc693076d473ce3615580ed685da3a82ea7a7540f3544039119d97b3fcf9faab26526cae54ccd8888c070b61c8d259e3b8553eb26eb57fbb37834595720c067832e96759445ccbddc7dd2170b6ce9d3774c8687e04bbe311505c4124ffb63ae094c758cd96526198cff9031967175f3ff8e00d65f127f5ef2acc41c9ddde5978f5b7d4c79d6746b5511ba1a830fc73a4034961a964c0fc0e56e33f7be196cb43726e271f01994265df093f090b1ee217cae0acbda22692fde7aee6571e6c371920efc28cfe7e1b5241637bfdce38872465730c020d848840026206f371270697b3f3c69fdf0ac8af4f8f2eaaf958cd63bad84d6fae80d93172c46af52b13c1e02b3aaa423a021581f4adc81be0b01455138c83a8cba3924d323c242bd4dbf9eca3d047e4531a94a8bc9d23910c03bbb487f3dc7fe58a282691504698e980ff26d75a6c171c8ba3e829ab707d33fe1ad8f5b3e86a112d5d98cb6c2558591df6a944d5f52836335c7d2e619ef82853f5ed27c8614538a20fa61020d0657098641034ba9fb2d7c010d8f5ab300582dcf32d9559641df8209a425c74a6a2ad58749246c120d1ec76060403d5059476b10b30765a7eaea1b2a7751f895f7f219b1796e6c717e77ed25e0ca3c8cf7da0da46dd43dfd273130733abac3ad97d46ed294e277fc548b30bafd51229b27e7c53d998b030ae0c94a36782a1fa3bb431946083ea5426d974e4289bdb7b9a2dc67c51546234d9f6edb86b79c0c3ae0fd8c6a817b08b2a7bfd5307c8dc953f5555ed8e601d43618d76fdcda0b1e3b486b51b0cf733ae3cbb6dc0c23e66a3bfeaf89339d7f27d5fa5dc4ea6986578d4867b429568a3347887672c201313fffa2e1d5f1b152e08371c0da76ac3840f074b4c63f26b5dceb88cf0af82d177c3cfb09ccb42a688fb5b5f8c6632533a2fdc1c9f7d19978d954d9a7f3c2598955343ad3162403d4f62b7b937f10cbdb3b5e5e7cd2390f158428eb84328822d56663af840ffc3584b07223b3822229cf245c359636f659a54b09520ae2efcaf1d7983929bceac06f466bd9da33fbf880fd37a736f4b358b2456daa22e21678c09068dfeaab112f2c4a44c8816ff4a60e63ceab7a053ed433cb96a9be1944adae03f7c63e640642d2a9cfe8645e3e783db8eb2ac7ba83e2fd3fc76b4df9f9717b77d0d0e1fe423326d96381e5987fc15079a30c0b7b2284f27f3f0774e8b69c8e04281b4216bf55a42d45ca88b062c9fbee3e04a07d6a15c3c7cb14aa35f340536c2e997be704c1f95922db7b1a8088db7c8f18c131d70c29b913de245f1f37036820c5adea88ce05f771b555a948032c74b64a3574fc7ad38896995cc4820f499c0378831b9cc7f15aceb4475b40f5f22a02273c0e971e12d500de3ec0d2c869de2b7472710e7c736c57436bffc5954be451779df7ac356e03b534cfff440ac30e26e36d541842ba238b90050c0e381ed4d7ae7bccf9d6405443c62bfc31b49d01c5208a5d1867368ded47b42f584ddf059645265dabd527207cc794ddd98be33972a5c5606f5255f07cf98727debca12196ad437d2cf30536a54aa22e70fde2973173ac73dcc1bf9c803f36d3089f26f915f8fcbe1898f1b8e12069676c96d8b4ec3672c72f52f53b715e06e258e34d2b14f0393671d31b0a7ff16d27ba11553dcb9a2443101ac87f134d35529cc0a6d2d775c3e680b6efc6eb1059999768afe2bd0f43695aea7f29d8bac3556f516010d99fd3003630a31c88a9c96e0b5d29c2d7847e83fdf6d2238e2f924b1ab3e4efe4dfd66637502bff57f859d752ce93d1d6756aa946f2bad7b30eb4cf0955218eccd44d27ed468dd9367c6afc9d9aea883dfe34ede67b4ff0660b845a096047c75336a14e3d84bb0ad21284c159113c771bcf42913c31a3240f50e49b58d1a87a7aa055f3ed2fcb73dba58019ca21315e18e8ae9ea6842d3fea610b1c675b7aca5f6894fa281db96f1f5118e8d372d1cefa21d4d455ff9236f42323631dd500d0bc36ea1e178d8d5e82a0d1ecbe84d59ba7201705582092c7a3608cf5986e3fffb30e872518cfdd1967556b1fe3ed16ee3bc4551e73827ab8281f8257631110a154e2713af330ea3e92e005633e2f3d527dd56bf41da3d9e35b722e795d58e8c3d362e5a180ba45f03ede3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855b829f4b1f44ac99a56637d15af6291d19bc9a35945459adc0633bbc9627649f9f45b3d5d81b3bed5656a8254d45b884e202df174cec786c6d520d66128e2c6d9d4214e79c2fbc6e9d12e547100bfdc707a17ed2bcdb3dfe41d5a689cc6334c2af7adbb3ca747604e365f268ec5acddf877d2e599193f03f6d8ebb550f7d0330d8a0cf999c533eea6dd991f3e58bf36d5503a4a00fd3027fb8fd13cd1044f530914c47041aa06a7497f1e7ad5e19ac2aeb6bf5d1d4006f92ddbda07569069949d7e3725622365519d162a4fe028bb8933e218b0f40bb6c26093d5df421b810ef23febfdab2ea687e0d76d6324e3fa69cbfa36f06ebd7f1052782dcc2264100c1d4109ad1f00c741af1b89d40440869c94d0af41fa91ae5c0da8cbd2ce97761724829473e8b64c634b837bfcf5fbf3776b58d7709e1548912fb7931e554e7b588829c8df272a156e1b732bc36730a634cfbf5794aa17a16139722353b5e7975986a66f4e5ac2ba23284407e248cd18136bf50b7862be97b3b946ac2b606fb19b2995e00850c15f844eea4d4314735c3180714d21f199c0a1296600f30ec757e9f2693a32296f27956b56caa8adfa7c100b1f39ab3f3f06da972f71acf43b5d9ea9820828145d8f74ff2e02caa8b2ce190a2766f431e6d39711f8d0dd7000d269e667024acff4135bb8e9748fe900eea481ee41a9818ba41d632bbeaeff38f79ffba4c04992f54aedb14e98b30e6dc61f7d5ed43be238ba2926eaf41c4f3e5f82c971dc79289e1398a4d5b17ea3e69a68558a48a162ef737d61257120aa2dbc2f0719ee568f124ae82358950b7a6e2c9b8547f94932df99be9d01c78e0964ff7a939cd710294d0e3be23ea73f280a528ce8367167ddde4d75be7d3e7aebd7656d0798900cf83457b27ec4bbbf70800363dfd1cb68c5c9a7116628b2748fa787fc778bd6b07aa177a6233b35b4a98be3ce3c883fdfe7e479d162c85c5cbf3f362eae892dd0d9555b28122b9316f454b8321537bf8d90c06282cab86b7d223c1da1b2b418ee99843dc0d6e9ce96c7b2b249a1d9c1f22e8e3109d70ed557f0b2c865723ca8120f452646cbc7162185cddd9572d756f075b55526b721d3c1cf8057ebfe7a689d1d0985c2d17a1007648c01b33a5025162b610ced3204d0dc7f90434208faff5e68c52caed76cfed0f0c7ca6576dca38ee2f47ab71d21634ff77d72ba94e55cf51d35159e42c44a02183af5a08b42d2cea5ebc6c24d11c96ad0bc5a767ebe73386a1927ce69b5e6b76b1f869ae33112da2e45f563c290966956ef1d484eb003818e56c081af24c1262f92bee5bf710604d33781017b603322009db4e2bb0f16fd3eda32e1b1e27e998119d23a7ba9a1426c141febbc1d42ae35ca4b00578517967db9d8b58cc97a2224d93803afab85cc487dde026617601c598d446643605f150a69fa27d5264c4ff43787009f832ed42a52c0a4d1aa622a2177cfc79e5ceb63238c7b6a04f5fa4fd31cf7e83829102675b4ddd4070c2df12e96d3e227d72e4af14ddac05574f9c172c7bc676d4f3f3b0fcbbaa192a1fe05ece5f0e96af9d1ad935e0e99ffa134914622484536c59bae27a6ed70a85e05126c66d8e8b8e73aa5833b07ceb34281b2e678a4ca7d5b1ad10eb477c460f395374cde3d96e89baebe0b40de3bd623b271eeb682e214d7fc5d10d7d87d3f458d34652225d8a88ff28f721ee0e765e6a6bc2b5ac8ca910c3d17965b13e42a1fcf23a154d519fe99e2418ad7b19bbbd38fd59c7f4af28dc04f564617f0089cd0b391f8ecff74adea7abe865d77284eaa25c40a1075a00852f2196f27f8f31001b902ddf8b3c053359779a18031665f1ae01f0d42bcfce9f486ff0e975c64437a550e0d1f84721cda826d417a5a2b2cc6e05e8f50a5d112105b9d4dcbf4112ee97e453d9a7a45f37a0aeebc47c8b975aa59e142aa473c41f5734b92d1a030ffbe337e0a5fd931b2e4a8f2a00c5a371109f824670df1affd6f17395ebdfc16a84d8681102d893420a8cbe577e9ee4464085c75e07f38fc124e833ddaeb156a00371769326557fba4af3e434f3a4959505cccd7be034bb1e66bbb671ac579e2d29f12ee4d42c4949196a29daa11273363996c205991b53408890fe55fbef126d5477a899855ba623ebbbce00111322397a54e3a26c7ddef5553861c532b2db4ecf30942fd4dc2a7c80e430d014ac2f53e5be2fabef3d190c47a6f585802216677305686df632f6b2242b021fad1322310910a28991d0584795a304f03c7b7d22d0648e80587092f469fb144b0853de3c6f34dffb3f2845bcfb38bb5850965adacb419b2fc31df37a4781605b327ae1cafffc800f29167b310df771fdaaa995f0b765e966a07ff586c3b5c13e9bad92b615e4aa3fb3dcf4b4589c7604dec237df5fb030eaf066b17e275b0986fe4d3ce3971f0cceb384c1a823a57d7108e247f851936faba58332eec2ca74f39e8afec1b5548b8b2f25c577037b873839c73434884144223d5518dc6f505165dd08ef46cde5e16d73db3c98f99d98105151b487ed28b486f8e5423c0f743fd068cc1f42adaa14b693e0245c146c78792f08ad4bf9deae005cb888bdc25b172e70cdc374521cf165c32dcdedac704c854a3f0d319b7f39473002ef6c8a23c9dcad1cc0b423bf6898a616cac37957d0b38ab9c2e1dab603ca33c5fcf1c8ca5b17c2de6ffbdb7e9844680aa22e2d7d706d244dab708e8ff9cd986ae922d968e84cb06de6d07422771bcdc1b423f27bd3b3254323249aea22527047a34b5c711349e407e1820a033e1118f2a72732247a38a115391bc9030b41195c563a9d282570d969f73496eec08161ec71fa53f86a6359a53c3e3d7711a3a42d8eefa985577c5ccbde1704d67b24b5f1b3c7a7505958c1ac6f844f1e800e298968685416a5d431d572846554fd84641757e6a9b04a5611b922dd0b26da9d91e3663786df7459dcf7f13bea949d7d6c54c13a4e9b3f9fa2cabdc0c932d4dac8be8d32ada39782651f450ec028eb2a99d4b1191959365ddf90f5f58f818d783659b4ceff23dfedc29bb44e92cce9fb034a0befdb15f0f06077a9b5a68fcaa30a19dc302eef84bee37b44a3a0543110b103faa2d3f9d5d369037f1ee6164cab81974b54a750d93e3ebbd8b5185ccf0468fcffa6c1d29a9876c21ff5cd52f49750ad69a8da103c6336b379d52fbc718b927668b8c8ec1afe86365d2335ceeb6a8a2be55ee5d3743cf885abcfe6e25977317f862c1ea55467db1b2abb7d15ebc60c9000910c764acce5295c399d846a1822a87563638e0aecbffde86ca85a7f5429da24630ec7a47602b92a2282f5352984645930978afedb4b1959dff623b0d2f817a577156ffd2b7494f162c895cdf750b3d300c83c2a02f403dd4b4f7aa9e4ffe527925b1b968dfadd00f825bb53ff986d5b2fae9ca0ae16bab6a63d24aa47eb5e300ca068577ecd5750212676da69802eaf827725e5ca20a7c5564f96a733fe563dc61e53b2ba95e2139463cf5c332338c1b405506c2d71a6d337ed0da1409fe9f5d2ef283456cbb26eb3bd99cf7294232d4d786bfda7ae39eab09671904a49f436df43ae6e1a2ddc0f66fd2b1b85b7214e4bc5718918493f95f06e21f4eab83c5ee0d7fdbab58e4d9409999aed433ae81e2a2fba5df27cd3707bd73c34f46f01415e7d785165e8ed99152b668532062df4de60d84ca9929cc7a6f9379918d15bc9aac5061136ed88ebc083e454e96bb81b065477da06a55d0b4e7bb431154df79ad6e3a5ba5294e47733f347899067a673251cacd294406300ffb3cea793123960bcf97ddc99c846ceb54bd95fb08fb0bf52f0fb86f9a9eb6bb20ab9bd006516aa3ace3255323d5dec1ca7ec34ae2673052a202cfcbf10b72ebbdabe16a6e199262048fbf50df92fffa4efbf9aff3d56b78dfb9d616641d5d9723c01a63ce970e7d9fab8ed5d7f688414747a099fd2f3c88c3b4edb6fa3654721a021918f7d746b6460de575d7a951d8f44c32b92f907936e53f7969f6075f8e4f21f52036d6bdfd16eec7217270528eaa78277d792461db054225714d877d06262e629597b1530904943aadc2bb72bb4ad042b095e09edd9c0f2a79208f3494a43f7054249cd4a06ec5af1ebe7ec9fbba5ab52f1a35187573d7c16a349f60db721e05f2a79aa7d7af44fecc25f2ca5daf25dc9eaed8fc84da1521a9f6cc8548dc82a5ca873338a7886adb42a3502d203b6746fbb76d4b563ba96a528c953771430361883b139b0b436c4a1fde160e7d87974e3b8eeccf9dfaf67c021e0932f6ed99be4eaf8605eec458e1d37df2b2e495aeab3a1c817374dee6cb93f9a2e5d7f515b762ef1bc21251138ce8f4de6be91d15f4aa6a601cfb2feaaac23cd2a463ad162144caf6ea39eb536616a6cdd7aee192182f44c79074cfaf98bdaf628806c027737170e28d8765dafac29f4ea6b663c8ee7c34b5c560b964bb57921f5fb0087b87a00879b5656749e87edfa1bca6909aa4e804392bde1e7e57d1024b7d171a4950525549628c09fec7b9e81631860a09bd69405d3dbcc03713cdca7d1e4f5efd260ea9c91b598ce677d9f44250feffaa25130695fa72c4340e70f8218e21caa1d1b9eb080fef62d091a3f78456582e3badbbe9c824601b4133e86865470a437f49839821a339fe450e05322dd39e97d80b2c865a9bb6a7df82388e14f57715fe41a029baca221181e1e41f499713d92d6b5b38b88753c10ade4900a3e136cae2ae1aae2e930eb7b21e12c86379d957426f1339f8d72b414b8a5f081354be08f1a517e20391f8e0eb62185efb4e87032baa224fe9717226e7c3b5c387284e1fd863623945d13fd20841a268996ad929ee062303409b9f1bd536c1dfce8516fc121bed3331e41f4e8c9c754345ce105bf55f2597173d55a69a557c3854e0eb7ac6b3a87991d4fd93f3cdbfa1bcc86cc841544fee5a16c2f66a4da86b1065eaadab9700addb858369271fe56ef98918dd2f85d38a1bdf0c11439242e49a7ea1901243a0e541f0796c053fb457455f3d638020564e5dc1392e150ef4f0f87146ee7499ebe728c04ae7a178389c0880cc22131f441f8c41c856ea001fa1db6b0e862fd8a48cdebe33d8472e208eb9615dfb8304623589a96d83cd7c429a9f3c84bb91f68bc5c6be0571be9daa20a2c110017fd103b569fe33aa39fc694819205963ce975d8f9f89df111c127e16c3e3e8e13842d616ac1b54000bf38c1c72ba1ed8d6cfc6efdb9fece84b334fecf76f0c5eb7fca1e7e51d80d376b3468c2a747bf34b905f84707e009e273bb264cacd60bb005cfa558bee084558469b9107eaf40d7e1362571ed1bc94baba2f6e510cca6040eb3fc779f23f100d3929888bda13ca48e76cbbd0e328e95537b323536ddf9aefa33e642b5007ce2bb03086aaa8572b859646fdc6d9a73ee3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855774454e3a1e3e0294c445444a26fc519ec1e418db89b88a6a8a8ea0e2f32242940af803b1e02f1945cd215f54fc1d826f81d0471f9723230ae8c7d0f598d32e823f28939848aaa1a9011c279e2f2313ce00965da290aa0990125c7a13d6905a5d5fcdc72e355f55e423b90c3a3a670ce6b87ad02a82e9b07f15ae1a3d82c0ebc075533ab3440dec3250f14db21e841f154e5b27fc8bd30aae1185120c7459922efe1f121f083b7e579487bdf9af524a0301c100f694b03c5f80b2b76d3004357dc8df3ae6a879134cfdd87dcf7ab2c6251e9010bdba1a936ac5a8334ed72b8cbf94e671e2a68c28fd4a6ca75a687d376404678b0aaa4ed061702a9bf7467513bcdc4aa3586b32030ce760d4d69c4296e4ef8bb513c1fc9d8f4876f2d0bf04c55609fa65f73d93605ddaaad6e8b4b856e2bf58345ba75e13a5ab5585bc31415f4c323ef908105a57b48ae2395fd6509b6c74caa8296e4ae23dc6478abd0da9612473ffa2fa199f6d450b19221e816e7ced5aed6b84eb0ab20b96e4ce148c33a1d29b5a945679a69080283a3c9667d465e49926c46d496c4b71b8470437bebb6a02739148e350e63ff8063179c3197008b1d32acc752def8e604926b6598702a26d4379a267bd228454a902a01703607b0224a51edf2c321c47e857335c85786b66161d587f52cfc1539cccbe8da36beb7be926501118587d137f975c120fbaeccdc57ec63363598dcc0f144ab7dcd9dba7ac4a280dd62e5b7d854cf06b9e2820e78df01ba026fc532dd8a45be4b7d0f7887da824dffdc9a08b4bdd243ae847f9148c30d881e28c9df857979ec00fb9b24e1d9084861a7a5c2c26be61ccbd4405fbfee52ee71a6a8e4f8f513b364a6e3d675a1f4522fa18aab229381329b977dd03ce57d2824e4182d145db4138a233b270d677f3117f45f3b96e8d2e0161bb915c0906d99af9f9518c2fd34446c20e8db44601c6c958185c60676428c2e78d7146399350005bc89c09119fb3e7e7eae46c28e9ac887b24717b63b43fa2fc37485d86852dcc8ba6b088fadf3c771f880fdb7b189a16d866a771ae1b6bd4e57e99e495038cba1b3ae3f954a035573c6eed31305c7a1c63345273cec172559f78c0a53c307971e383831f0a99b82663f82273ca6274aaf5cb5bfbd8ed9c6099899bc1b0d0909e800412802acfebc2d4a6af0be3d052582099d6757e7aa73a35dfe06c275c0438359d04c5dba677374dae784b11e3af4d1192b804d9a263e84439d23042c53f806905b8c796086fa2156edf1549b495c91db4061819cb51612026fbe6f1d6baa9903a4d980746b26c25c923e9395ff115ebea06db33b8e4b079d8882eb888f88ac9ca01af9280c335af48cf14f750c7c10ca96e6d68800c46a4e31e460c4dfda8f8a8f6d84cccc3d4542e62fb03e7eca7c870001229a3a99bed1658dc5b08160be927d81ef4d20da216ad1ad53f21a9820d641d83e2c8e2e97bbc07c3a38f65d75d5bbe03b4499748f8d34ce8cf720b4ebf471d77abd6e54a27aee6efc552db5bae8ee2f1ff32ddc2338687b50879318c83ac2dfbe0794cb5abdaf669a7d0c28a3489ec4904513313ff936ab394df025248b3d78b3d6067d55b7364f58b1f965a140048ae60ffeedb3243a94b5762dfa75f9b6a2f5bedeef4090a461bc963f46964f7d5c2ef40ab552136457a997ab41ed648758b075d2b034c65f7a21a339ce6e3f0131e026e79ff6d9c4e59d52868f93a65c70d3bee294defe1980322b73fc6d48f588436dc53be49f8c830ed091219638733d3679d8cf9049a1bb9e932b18be91014cd1442a890d4363788a78d99813e44b05708082400e03d441330d758121c0db4488262e1c3688273a1625fe8702dab299ce7f3a9ad664319851bd945ce4d0e20620187743e0c133d4f0f7a479efee6ceefc08a0acd1cb7db44e4f676501861260ea3d27e13d66fb99c70647abb597d25604b5f7efac0f4712ba9c8eb898a3bf2f2ccc58ad5221f5057cb33006d497d9fd4195c21fc4b28b8592637e2b0bfa21630d0c74a153305b142a2b7c0ba4bb8fa9c2d9d7fd40cad6c13fc9e4c4817fe23e988e4de0302e5e373c095a1be65d44cd08a4e0b69b6b5814cd5edb6041a03eaa2c872e9dcd03f76cbfabe5bf172e98290a14d8812beb9df77364d3d3ac7392c66e02ba131db05071a474c445121201e4f3b17da727a26abdfeb2ecc0ea7b5326fb3220726f30f9c87d810c8a50294d5cfa7ca5c24cc1793b14cdf5ec49cc9f185538e7ee63037bf91b3cd474b155960aa82cb4b0b4031736906c60950ac3c1534bbda0a59f20d2c8a64bc8f175e00833bc9b5b81b4dc36b96af7df7e8e0fddda6fbcbacc3a32adfbe240741ebb7cc300a2e020733a4b867a38a855b2f2e76dd1044fc950d3cc360767ea1d0dfd783a386b0eeb78d5c185991029d5d0ea2015973cd58b75e678685a9826a9b412ef186d944328b1364b2cafd5a583c0375a1ffbdd9658a1d24dadccaec7b67226c8274f74f6636744017252e3f15be4fb4b6d503bc0bf87a209f556c3bf4a548abe9ccef3562f35a10bb6ca0f98dfd54cc0398e68ea4c13480fd1e0732e4ae03624e3b15ba6ce94f8095f2ae3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b8557c8f7b1f0146209e38b8ded1c7d0dfb0d4934746aedc5b68ecaec4dcc64183deab2bc08375f87c7aac90c3516fb98f2ee866ad58de8ad170995e1afdd3c3ef4b56bf108e1c58480049ea91f2686a8fff87a9bc9dcac5efa391892a8cc5359c2455f1e61aeb4bd4122146627cf6c88c669a256faac042fbf0c4e3b0b7be149bc33e9b36ba4f8c334c3b1dd6394e4db14d854c7a144dd14b0e87884b4a405a81a7892288b03b082746b2f607f5636aab328b23695d1d2f65b59e7b5f0cb8343133954f69822a79be70fd3dbf13b1fe64a6a6477f388a52f2e98df6a4539f1f82ee99bbafe061ee96e90443682b569b90d60b3efe25b7c5db73254965206648a14b4ae37c2608b594ff9943a149bec1366e1a4cf8b9cc97be2666129bb56bf9b39fb511a90a7a8f3ef91c12298f2b300864d650ef1924aeb1ab26c8798c161115bf993c794038080a5e20b1d7186658708135e23de14a2de985c67af8ec5c9a9612ac195d7e901557dc7a5f0888eaf342770c24a0df0bf44e252de7ce6a58602fa7c7420c0fe87d9d5068f4a253489d15e1f7a015840abe6c7e29aafb3ceb5c793ae83d284735c71a91db832d0595f945d0950fc6ef24671b5732d516d24ccde1a2238ade5d00899b4d9b7811e83deb3444a3312e69b2d9b525bd40c11517bdd3f2c33fed238929116a5a8714ba77f953ea10615d5763b1a537d49bf1adb9a3520fe37c204dd682dca32dd518fbf9c2b9e1560c90de00597bc6cc51917f827f2d8d3587a23a6d30fd44130973c2a6ca91f13344ef8aa29e301a12aa16b3f8d6d7f720e2589713ebc6d0aa6fc2ba7844df9fe6ad491ce209d744faac156075948ca16e0a981510d732cee2dd0cf0a496d1cf9bf1be1d725ffb74ba953082a48cd2b69321241f5f3624f399a89572515c21ce817d5cf37693b83bffb3c7c4aadc127d25994a28d5dc546d5b3322228b843b7854725a6cab3ac1013681f18ff33137775aa850de64a62752440c8de119d33e5824ebb66b82a205a102b5f906d156e6cee4cd230d7d5d48a18ac2380c6d250e121cd80c2ca447eddc1e2976038a0a9931a8fbd8e3855c7c81f69b35e278ade8df12c8a80cde9c8941b6e7ab0ec0914f0afc686618be614e481ef6bfdce9d33f97dde4e94682ec57af1138122c48a2df3bea95d03c9f86efa5c138fb3133f27ac48dc896c4d65188d9c2c65dbfabe99665e45fbe7566bd70a7c79426160d2756012d94548f5a74e364e0e4369b3ded377ffafb1692d3d4f88b12fc38a4ddfd818927b0c094f34eb5fdf05000694306de75c7ef84cb4b8fa47bd70aa2e89f7b96b2487c7716e1b5b2f1cb1ba79217d70724026a00fb501f44746f56af7a56ddead4ea6eee6bcd3dc2f2390caa11f0beba538ef095a6b57a082d89d029c8da3fbdaa16e83a231ac0598623f67e07dc0895f45e9ff7e9200872abc7390c5d297e274043d86885477a10f8844e968e78dad3598a665a7950e260d3e3207f0b792e6b99e8db28ecd3c0849653703c83ce995ab81412c8d13ec9ef79f4acf9e35ea467ef3c383f1950bcf16e231e5263334df5ff5f1ca4233702a3badd507f56679c634cf4fb054ba662bd729712b2a68a70570192947c05414af2790bdfe23c6fec8ff3a74a329f225f868aec6375108337a9f3a4ab765acdbdb04205be39e5b6c07700e1d2967480c1ac1b62eff2e960db908501475c7cced3ab876b5cba64ef56112e326393f64717368d3ad951295a470ac71e1a365c35e66267a092ffd89a8d9ccb6cc097a585b7f65cf366dea85cfc2f9e84504eac3c5bd8c90510f4c52a5bb4754486c4160b6503d3ae2e3e461643808c6c37aa3cf57671b1b074f84853f9dbd0fdb6764bb04af8200ffc256ae3ab3fd8c9e48ce9fd0967106c3959eac85a97744a9c3aa122a04e14a74b47d51976520de445671ee0b76c5595fd984bfe2c11090b7d1cf7a03334094cd107cd5917f3a883b39497c37efcb399622be3dc4493c09071fb502c04684164120ab01479025fcb4ee457514145f7a3ad2539491941857cc337c53b481875d041d1da85463073268c20c13e4f239c2fbdb060afe31b9910df5010ed88ac3bf3fe747818a74d03977f3dc402e6f20cd2515e86a26175da10b34c631ac513854ea3122743a5374795e50156b772602037571c7b184b66d10a5fb753be4d1c0c777ca21f188eba90c3862d5ba0b7411502a0c68538b7f2dcd53f273947d754f172c773f9bf63f8d7e4b9fb92a79c2e45c6465add1cfbaeed83521921ebdc503101e1d0f3445f583790b9945b3ee4b05fd8f96c92ea633a8a883d455f66a12535129f517f7fbbe09af0bc9d70498648ffc80d01c73e0648058be142cbeaa69cc9741e686da4099aea8c5dd7dd1f44f19529eff77b1cf52dc8483d2d30b7888236eb6d0038d523df83eac98ac27d43294942b0b52341f13b9d70fe245ba50ede36b9ddae855b32a0abf8b93e26d0643501a1775caf96c697673c8bbe30c4764d8cc6d2177babd741ab02ab325c0117e44a400c6db6343c76ceb279134166f81595e7fbf92d79e36e7cee85453d6c488fd2373b5f68dc4d9b3e7ae7003a4041540642ccfec001fe0e0db12b458031c157e1e85af58423ae4b2c17cf40321009ca6f4c5df6db975e000ae6ecedcd214434a16f0d2ca40a93ff55d6c155aba46f2cf8b25d58c97469dc16817770684a0e2f0d2106aa3473fdbb9755926a878088ff414374f84d68e0b899f94c11a2508dc4a01709dd6dae50c992f239b127acc0165bb93de109e4da9cde1367734d7c5462d61f1cf0b00b3738cb22e3b4d97ebc841e4d8d2f91b1886d8f3f951f80bcabe545e670a88997ddfa9f7bc89cc0b4465f39547e70f89ca5a20aaa37591b9e61950cb7fdcc7cc8a9f4622e8ca79028425c654f9b33e3bfdb23e03a470d602c92a5d58dc0123970fd2597dfd18d5ea2b7b20ad7cc2b2b2aa7bb5c003e3118b3d28b4d73daba0046f19c0c6e9a60ed94c0edb6b4d415a653d8d90d6d48ac0391fba77029fe248586ddd383d1367dc7813a93aae1ea0b6e236e78d306a9932e4db68d4c8622be71788c57a657349adc08faac2f6ce6e77846776a4775acbfd8de2f50820bf7e35c8e836a424cf3cde0f6ddd62f5110486d46399e19187260d32b65256b2e93c7cbb54c687e8aa5cb654aa7580cc617f9faf80a86cb73007768e92af3ca943491274afb83265f02073be4491674c4c16795fcc81779d0639aba859c1338d31b531ae01cab769f5468ae4b3ac1bdde2716a85d8a4b0b6b84e6b1ef3f2a36e0f7a9cae7d33d2c17ab1646565f358765c74b2115dcf37673007768e92af3ca943491274afb83265f02073be4491674c4c16795fcc817795ba0ebc9709af1a672f674a4bb873cca7387990de378974661feb0b80cc293d6fddf8918cf7c974aca0addbc10e3c7066a48ddcdce94cbf9ee65b3422cbc7a8ab40a27ac37ef7745f882a55e4bc289f9e0ce96bfb1d88361ad458f639d61bd199734f4d3dc3b7b11a2580dd408895f66b5297badde7c387716f460b98ec7ff6265d3f5dddf79c4ea63bdcde8238ef12bdb41783969b0b80acefde242e68ba3d875499dfcb860186d854ecae6ae87086dcb1bce5bcacf2c532690c4576a36ae2a781bf6b4d39f308d08046e8c63c59907807da8717c3d45ff8e5111ac422d660abf9fbf2d0e92495d2cdafd50323cebbeb63a3c08a6bb7015ad22db6e7643cecb612a7be062682a0fac215c336007573978e6e8a12839d9d48b364a4465550cd9ffe3a3173334f7c7f74055c41e540a474d413040221a858c0091241bbf28e63eeb4619a8b740e3068b30d0fd91072fc2f0a7d193f28a543d863309f235f8f4ec68b21fa95958198e79240e3b5d19da9f2ee22f53470458135c6dc4595ea023a8e7e1b2c0a9031fbc9e999438d6d65847f80ddd76244dfc5a1efac71731d40f85c7eb0b68d5856593c34078d220bd92bb699060bf2540f9fc34c0d4fbae1a0cae94c2343923ac620a19ead21d3c1777070bca5ff90e0d228015def3184c5ed66e33362634ad837d9708bb0898f5609a1409d57215272813b9bdd7b6c02dc275a47e0938a4c5c83e53e533a0913ce3da53f54c873bb1f418af314c1be7e00a751b8bfa9a398e97152beaaf385847808ad2d828c1c7251f1a45bc7697723827e7e7b864c621c47c1be06cbcd26dba4833eaaf9c049628eeaab29e4621135204da61df1c78e4547494b866cd0278474a45e84327f580bb4d3edd6881f69d4c31e2f04786bfaf15f3c6de00946743dfe02a8dd7a5ecd595233a11c8146b3574276162796408a082526cd575413addb6ca97d48f141fa62e188690ca5222aa8845fbb606f8517f8828faaed54f2dd6f1c593af3beaf7b0e1340f0d1d0b39b47a2cbc3746c82944a5beeeeeb7e67577d7f68ff6371e6104827d0e670cd184c722b1daa39934523d603111be24805e70cde7f19b959e43845db7c8af2733471896dc8d88e4b4398694261203ee1a23125d0d546f0358c3a4bc1e9a2d42c6e16ab4a58376f95415cb700afe71be30c0f76713d87873dfb327b171d0781a9132da653190dd428cc805fb534b547e3e211b00899e6f2625913666e4e9d45674bdf87fbadfc571d8648ff82726c4587fbbbb5dca57f592dd2228a970255404f22c61865bd004cb9267b971b6300094d3a99a1eabdf139d13da86d8177e9f06cf74a2fb65051ec01348fa84bf2377838a55a513eb7d6185ffa6b0bff2af8d1c5678b531ec842de7551757bb2eeb606a4d3a41138036c07204e85fcf9c3b4ca53a0a232ccecffb9555e76d451d049eab675173c8ba5ed709e9749ab25f4846e69f83d54af147e46a19159142c5174614930130dc5b0f7485c91e6aba70339ef5b367844d102a4562413ba0b6b5a0972993a277c6b7045bc5764dc0b7b3dbaf3849fcb1dc842e0d61454ca8d58805929d815dccae00e12ea3d1ecccb209a461b0ab7f726bc390c2b84b89607743213a8fc2aa0e83d0ab72604da50e9164a2ffadf8d6de0c3ff66bb2760f1450273a6cd569cee83129c6e45aa9dea7b5b08251c168a1c816e3c228f9dc105e826eaa9901cfaf6198e79119ab91cae0ddc6a9657b946fb69a9451371036096e54ab2d897396a4d87741957f83cd92b82772b0ca7e15de36c4f59c28f5a4cf3ce45c01417ac82d5d3c5d93d521e7ababcd8e2e1145f967466eb77bd688420c57d32e4022f3899be94ba2fe56acf3be46b344c559e41659b2e9d1b1c566da59f2812882f752ed8ef81b3e61321102a2a763393f1d9f76c53bb7056dacc8441e76ee7953ab89f815130ce540aae9f40011121a7b499bb297d28060e6698a15a722622be79f24da3a25ac9a822235ca54817882cb664414dade30e476fb6ddfa7b39d162dddce71744c00f93eadac695f23437227db36cacbc8e7b0889faabcb109da1d058a654dea43ade8f36bc3f87d9cc27be2a38593bba1624c0eb7a34150482adfd90801876cf399253f9107a43d23c136df75a5e2cbc7c5710b2e89994e6d99bde5f653a74b9f48a4b0a6cdc604a8e4f050890ec96d5e89aa9a3295e1fba220c06e06b5cfeab8dda643966e568c5348b959695a22842f7c3ae8907b5e9e4b1ce5ba743e6180d5219f8238efd8e5dfbfa0c71a9f0b2062f2a1927ce3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855610d34dce8017841ec5882a147c263bfb794db7695c73335d8be59a0c77529fa7df60edbb4bdf8efeff7488088106b9e14bdc542b22a1f83c3b5b318238ab8a4fd0b754d69fb78b16716c9345ad4ed8b80bf6693672eea8324dfcae5100212089a2fad63f50d07687241e8cecbfcce91deea91d9ae908410c363347731f5c6e1e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b85531488bd2c1674a6dfed2315e0cede0628fad895dc689a7431b8a81ade29f4c1383b55bf95e13aa0fa39e535a9ecf3819966327e222e158504e4c9791b25d77a5aad47046d392789ea7eabe8b96b0ee23fc15149c808b79596eca524824444d3e2f5e559766ba52b5d6dce49513ed7a4dde4360f5141919b831927a2d7b5108e26cb472ed499d17b53f7e6ba62ae9598d7372e06f35cd095d3b08e9375d3774f9375764be8f8e651259c038d273c4c94f0ef37a61811ca45005240f32ad41de10e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b8558755d777a827deaf32df19a72f81f5d7eb9ed54fd5914e1e5eeeb84c0eb5d5afb0842afec1a7948546fe6d0dac813b5b9e045a2f3b326a1df946f7045ab1a77fe3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b85558b867b7b7c0076e744e973dbd2c51efcef8f880361d8f24f0b529fd22c9a43e0b97aa1c6c9fce15bca4fed7e6811fa0be4b7d2e330938c9baadd5f0312138345344df1def7ed0c3d9ac82fd86bfbcc36d92b65154973de95eaff6ec91af20c0d9dbc740ba9dae3fc02eeda599dffdffdcee19d3a052069705855a2770916b31796fb3c1f825c0c624d79c7b5299f593cb885b9587e550848dc37d747d6653009178ddbc4dd16ddc6bc3d9ec1dabf5ab721dfede42e1fbdadd747e7b0c9fef5c8ee70431c65f96ece6092131cea9e3a62fc186adc8a972041ed6f10f1cee89d00689f6d3f29b7c73f81dee162e2fbe8510e21a898f5e770306ac6f96c70b7968f17ca3099bf5cd36b7f62104c5c6a0e9b5fc96f583c4679132c0469c096cc50d20d2e1cd39366f175b4dc6a094263433475d527ba65bc97de62c6e27ab90c35c8e4e595e25a122e05f7de2dc38fb33e88fea7700a1cfbc888df02c1865d23ad12a483d0390521060634e9cacc92422f6b42d5499b6a05e88a3f9fed181b3ed41893f889dbeafc55a2256fe0bbb968acfc18db8720e023ee1872c047ee08d8473dc075981ffa3c1461912a701bf4b9c9861c428097290a382feed3ef585b9cac568e90709d234314f6bdcbb8820b4b96673e0d2f343ebbcba58d5372c1edf4be77db525e801c760ce6aa154a22ce2942c69809779ff7620286930a580cd1f5c9ec0ed34862dd86700d6d7e6bcea14113089ce092635e92ef99e3a0905f3a15d15e8e6a3b88913196ae24bd80d140d6def5cf7cee75fffa8e90bdf62b82ae454a7460f890ed6997dca16d7389040a3c1119cf7d745e60a27b20ea0608c5dfc7019d2f61ac88e6afdda55b4785c7617688f54be83629ab76fbc2cc248195593dde7ba114d6f60465559473b189dd689d250df29513dce6e83e767d2e4115593d2580373d6d61480f2a70ae82e4b391428e59269532b175fd1c894092061ee5424ebe3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b85585e41ec0fde536f82233a63855e43ac15d73f257b8baa7ff7f2e6adc428fa87e182052352978ea62fcb9e21dcb388990c9a4f0cef9058457a441fe0225f0ad5233115c8ae83b6d571d45099e1758b571209e2808eed26389ffc50c1d5409cb37b4edb43fdeaf21856da00ded3dcf8cd607091c0625f0685ded0988e0af1907342d625cf8a0f60bb971248f72ca505103338967450d78f4089273448b82d82f3ee3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855d2af67b02c4de7379e30b1d753eb65b5720324ed73baed5a56c417027d63fe3790be9e0b7f5bc296d21b1d4d638213338af07c194c8d9094339b2a96924a2cf2903d603e3fa22e5e582efe5a4482bdf2a07a21fe5c0729e9da7d80cfa4f019c017203c1aa9f6feb3bd89f7232ee08970993eda5b32d244ebdd580ba14d4a3343b022fb84e919ea1e9f8b7331d83b187131e9f0d7ef21ae9167c3cc698cfb69171741bfd255a09a7f2ec938f90fd0680d755507732781debb3b97716244a5aa0b975b8272f9b577b7edbcd9ceb1b65a9e1ca2404d6a1b45b2e1548efb83bb4c1e3dcfc58ec3b5a00af85317130c52ed783cafdd2a0bff56d83c0f57d13d790bf9fcb1ad17a335a866930c47863c888e9115d24a9c037a99192a3b25038d751cab496c680238bb5093ec1a6f521c3390f671396ab081a2679a55f9a92979f87e9d759a3218afa5c1b3691fe1acb11535a4ed738e5e6db6523b8428200b8995a77557cf5143d459b7f9724e42a6db4b2a422ace98c8469a8f2cabdd3b3e537302d04750344b16e8795e2752b3c41f8e35aff7f16368238ee1114018fc91c6b294f69728f60de1a2d75e52b111ba06a3d2a518ca0e84a9ce7bad8325561e2d09e128696d95a4acf34e5332c6a904fd04ec4524fb7165fc85a81633725c529558bef44e9d3972beab347c56eeb8b38e3494bf5cb1161e77ced87a6cc2069191a67e311b86c9f64ff2c3333016dbc54345df88f0dd902bf099ab727983d36bd94a1981eec0a5e0fab930c8183ce0d19918ea36e4b4f5a93e0d75c512729eb0d7ee2b59e1d6771300a4bbc56f132586a8e2825d881896dd73de698eecfbb5d6b06113e47ef400f4b5856a35e95e747f14f8bfb36917beba21ed8987ddf08b3d0fe18bf690b65e4f3fd352acc9207b139f9fea324fc236abfa454388591e2ffb264726d3385c11a00849abd2afcd46e3841ad67ff546769ab21bdf16b7d7ed706b89aac847499b41a4b5ca1174669f718b40afb98753870e613e7548dc42476aeef23409639155706ccdf57f047566374acd40629e1876c9a3278ed2298216ffb91832b02bffad9577d181002bca117b9ed98089fa756b1567d646504b0be80ca10b2edeef1e112647319c33457e1e10275edac62d3e702c530d95a3f274111bffaddaca532af8f49bdbb703ddc79d4e928609c5bc01b6b0b806f38c124a09a3ca4ead74ff528001aebd8ee1a76619f7294df23f02ac9225c4e4ed8695ec8cb551e439c917f152a23c92297d10cc8af8dde85c05debadf78a2ce3a94a746e6355691b2841440fa423c60620b9724b004a99abaf2f56f7ddea7976e20ba7c409605dc7010258f884726e2f7a7a1f3bda50390777c99f1dc7ed915f8761f298c2b5b6072fac855fe5c9f985aa29a098eee0a6ccffae2c44157a6dc39eca974bef35997440b1b9054bfb1c95fda3355c51276c279984573c895709f9f4f4987f063ebb68a8075671e44bc7e7cb148aa0e36278f4f161dd48d41247dd8e52e19e69f55a1d92176d345fd548680177139838385e6c5c372598eed44f1caf751b33a7fa847a2287a2ee7405ad06b4f850a95cfcc9091722bcc04aee11fbc0fd44953ef666af8752a396325a98d944d86451f8b4ecc85f1fc38773a0d56aae1d553b343fb0c8acfcef65cba1c2f785ccbf9156db35ff83217a6913dface465366381a8b727dbaae537b44f3b1b646d78ff490d8feff1dff01a7dffc42d06e71148fbea6d68cb5e84e5689e47e5145bceef3d49e16f7a257a9d6bc2778cefa6eabd3ff0e90888913a857c3fa6c25e8a52b00e76a96eb9a387c3e0b97d46562373fb2220ed60900a15ad7f04da1991ca9fa677b7fe548825f7e45465ec9f7089e2fac2d7a9f6c02ab84d84c0ab5939dac61ce089d494d36167d87053771abeb548018d4de8a5780ead0621f0278f1b6dc78087cb6e43351894955d77cba575ed15b3aaf96ef00a4e6b4e5e9dc6b10ae761d945b290c060929d1c8996f758f4bbaf32fa7a0e4228d56915f8d23b81a0f5d55581cf51d71bedbafdf6390544fe87210176a70f44362efe172eb73ae9addab96a9eeae921ee35eebf4184e685429147a18b973cab210d49d7c5965ee14b24af69d968a33cbf8846c15da31538cba421a65fd8dc7cbcb237efe1c36f59ab040fc2459097fa49644d6761b2ccadfeb8ea4836500b971fcd64f9b51fff1a1c82f68405614590868ef1a147118ab6b5dc61abcf93ccc0495351c6d8efc9f3fe71c21bdff004d52f87fc2bdfebe58ec76f5ce90ecd697b3f7e945d5c4c252c7f489c5e50a79a553d3cb711073679a0954c4936aab3d39c3b4b22bcada4f4a70e3d1569dcc4d4593634431f90152f157b72aaa8516c73b4eac36f022b25cccdacac275b3e52d2d7d036fd22254f1aa2934ff03915c99534249bbb4121d75f320682f46b2f6506e053e812880339cdf0fe516bc1a9cee6a6ef068ffd22f1c1991110ef029f266f7d4f5c96adc41e575f4d72cc23faf64591b79924cb2f7d418561464945ab14ccc9cc6aa2c7ca56023116f5f07bd18a233e02efa252d258fdfb717c4b1f67f7beeab25ba2efbb8aa70b53f41c8fe686552d487d3328c78fa0498c49e872957f77c41b483c1b4e7cb27ac2801d75233335d38ef904acda8de90e4bbc152cb37e119ddf974af645a828f7f9945987208d49915302443c330824b6d3ed2c0858ae6aff2cecbc5f6f5b0447f3205abe13793be4686b9378dfed558bfa90eda824dee2f8eea3bb881f66e543606b819b7c334bb3ab8f132355932ff0aeb853ae27471aca7a80b4470653b1c3a082dc018505b73d74b0af1c05783c9efae1cfe1bf7f53462e5d96958bcf5927f4af1fb42fb0d0be7aa9fb6bf007edbe59a5157eae8acfb6851bb87560036e2335cc56c2272c6ac47b332767809dcea1ac90ec256c3edb65c6591269af008d413ae362df1494f8465999e7a108ef8c49535efedd075470dcab7b8006c27a3b51869d05f1e8b4a6264cfa41198c1931ee7991ef1d57480d4213950241c4f01e9494557b12621e96cad2698ec684d3707214fa2ebb113b6ed9bbec705e1bea95878fd6088f9c9ed3c3a840def37014a3f6752f2c2057ea5b50924bac303e02b417adcfe22daf170cdf58fcc719c6b6a472380111238e06c160c6bec4991adc34964b089ffb7b72dc8bdbcd598692312d890029fe1688556fe629d66e2eb61c9509303f269ae9f83b4002dabe90659f57884d2f9748275cdc686933bdef4e42975c1a79ac1993115a65473b66a3a5834275eccf2d31400f80192b73477e2ae2a3e38c1e0f49164b66c4e800b02a67667d828faf21e3ef3463932d7d97826f20cb6736de59bae5cc6c8e00d058540b7a7f93d7f00709590e4f3211a7bcb27f6598a26e036eb628b7ce0735e0a89eaae4854ced5f6e15ab5c75c9dc66f54066983c9c8ec92e2d68c863c3e249d23b32626bcc00f0407c941142c9e08ff48a49881f8faa5aa064c3aeb0d16ff85fd3cdc70c0ba1d68058ec525f4089d3a0511f595552cc8e5ac18028fe8f3dbf9cb30ae4ac3e6bcbce2447dd3c9789c36cc386b5ca7c86a7b4c2aaaa8ff93ccf16d0c8eb1076f40ee0dc120f24487929003c7f5e5c02d647e0ad2fdde76b964d8ef85ab33566ccc58eeed9f1e4ee443422fbbf6add3295353fd7aa135a8dbeb424d264e735556ad48fc50699fb3d2add378e3e1125773f6c546d3acad00d477241cafed1d9837c8f9d7df304aa7cc669f22027be5958389e8ae79921bba5943a7edd814179ad32cb721442f065a97b7caefff9e4db9e6b2011679f23911a4255ec72ff407884e51468ea833cb00c81a4ed0294115d21374a148510c657bef477c2c420cbba44d3fc07988bfbd9a11dc8370ce697fdba7963735d6291922809c9b7adf4cd762bbef6e50eaa6799408579368461599ac0721f1b6202b1da03884466482446e30bbed44d550e837d54aded17f841e55e24523ccdaddef4b851abfc77e2ba70e9e046f682a14c95622c785ce2009b4551ca4f18450b984c7a657b443a77cac7955ef1fa67a87c90d8431011b1f74a7623bf46e994b69a4365069f021dc90a84cb5a899625f4703de4c236bd8c2a96a1314e06846288ba81a428088c76f2cd1c7b14e396accc5dceabca9ae7b854c5f7aa5196deaa667791195263370f7afdde39e80582c5620299a176a461638db5bd2e1caf8da1b70f03315b0eb33af1e353f4f60f45b737f6d02d6815fbdf26be3db4f96368b05ea769a39b527957f05d4e3c55aa37c376857f01c32af7a49baa01f2d671342614d9742d632d4060757783b5e62924d14320f46238eb720fd97233c59f334018ab2db5d3d0537031fc2f0ba974adb8e1ebbb92aa9422ccdf7cf7e8332e919fa43e7073f1f2c6e1a6e580bc06f898f2269b0607d9ab5208945e525154653d6fe2f8191a2bbecc0ceacd8ec38aaf9741317c753f27a47fbef709a2497ba0d3571f54c3f589320b0fbcc1ab842adfd7ee0fc209be2f986371f8cdcb3b6a10b8e325cb27d3682509ea99d2ca793c895053485693c0761587b2f2d29a2d771d4d8c2df6c3977ff24c988859f1b94d979a945b01f9138a43c7ad6664f6402bff2e1afeffa9a2d5bee9fa08b7031772d179d1032501754f629aca86bc1afb8570f9b8d4a5a7d6eb28bf7642361da0daede4bc3b4d51074b082a975f37c5a463639ba597b2fe2cb0379e961a91d320ccef8a344ad64b1950733abd16049b1f4d9dfdf4ed4f2150370feac9a0b2ee37d06f8e5421ff50c443146cecb5ff0332100c959e25758c84386a7509b8b9e9ae97938c3a569da6a075f10fc652bb46f5f94ed479034c1be965295f8f16d9cf15920efd005095dd2e2229a0b0cab34728cf27eb16d331ac87a8f495589e3a890b1846dcff5dd14afe3908beef9738b9ede70ae8d031f577d8dae6529d4abf3c0846ecc134385a4b0fa18ce7e3781399fa9c0091df974ffc81771597aa398f0ffa3cf347995a83376ce482bcbd16e44f87f2c947356c3399b18cefb7767f3ba50bc4c40af1a436ed55bfd5c36df629057eaccbc9df887b3f87c3249defbeca615a22e8a2c90e83ef48905079ae5f780e5e294bcb4e0f516740e44bd821be2952c893730e2a4f2928dcd361eb903c75ae9c4365751c67db308c2ec9f13d24c1185887938ac502a0383f58d592bd766f351751bb83ac4a240188d334335431af74dcb8d3834d1322ef69eb0604482ff1310697a1f504b9f1de35f83b4ab6a3080b3eb481e378c2e26f91a045831e3d61ed2543e1e60c208e64fec31c3da5a62326b3722caf13e9fe4202a555bbb7448b7979f802938c9f7e490078e96beb507219c6162a7750a45cd134d877ee0cf2aa176eb36c66238176408b2b67c7ca44483ca0d20b440e25c49ca188d981310e646f5415fbeb4b63111f0ad65d38f1dd30615370ee70f5c0b17dc63ac3580e4df87cbb64d3d4b8f62cc83ab3444f55e3219803815f5e4c5e88768c4410d10275aa9426550378c04b31bea6eb0797ba480265528fef7c9730c60e465413c8f12b63a7dbf179b310b0263c3a5bef5364db0844e6721c6c28dc9c509ed1f5de189dfb6e3708464c7d44b4d58cbfcf9d0f1768eae05e72d6dffd5129942e5e399e727b6360305e63c0ffee2084ccdf801b35027708d5fb1803392747020bca1e74ee93fccad3a8669b39d6a7b23dd3d95f613a98fa0edfd64bc8be4b8537f8d4e83ec1e6f9ed4d1c3e7bdc63dd2bc11c39bee8312fcd988d783727380f7fcc11e69b26671890b55cbdff8656f93602835e7d83ef1856f22880d38b7851f846f6e9e577f587115c564a0e06ab2d7689230b6901f036dc24dc2ebfbf066bc38e5ffc673dda02a3330d9ce8ed379efa5cebe70cfda880526837c0d8f3b535fea9c6487ba336cbcb8b889dadcd0568e7328e0d9c25eb6e2c6144c5ffc5e60b74bdb610beb4dd438c7a882e779fdc8d3ec7262ece0e19c4c461baa9e6d591ca1dbfaefd8dd48f580d74331b9f5eccd8a2d6b0a818016d88528dc066eb50e0b2cb06061227a765dac2b42bc7d38b2204296a0b9d6fbc001bc9e987675086a776fc6028c2f8e3fc4ef284ac44977725124096d2426bf416e83bcdc45433657861619e280f7092e58acec50907d8da489ec4bc866119d1b2572d6fc7856fd762c8f6e03ea33ed277fb55a8f254714ab3790aff29124ed2d8277edea5a4eda13282e0b6c71180ddc9b0b408a86ba7d0cb7d3e255099163b9377d5dc130182998898a0aaa521c4ee626028755084097568d88797fde2be030379a3ced21584efd3f727bef895a3ef97f25cf6ecc9e7cc4a3bc1d2b8acefc2a949c41462d6f148ab7cb37e5992585338e55c37d6e3ddb03c1cfac2c986b26f899bb949119924eee94c5408579f1057ccd3a05919dc8637bc171a7973e20661448eb4ec468dfcf33ffdc0b5e36dfc6e277f888c9d593de160cd11d75cc1f4994dcf0c6c101c5d022b2ba32f9f55531bdab85f18b9c048a6f4a8f13a87913dfe25eb33c661d35b600d31f3a20806b53e5ab44953c3a2a3a25be73e47ba0a53543005272528b690c9307b136b41c12ce24dd1cd73ae82c099d0bb52cf1e015deb4e4ee2276d9ac5aa1f86cff73ead9ff5e04cbd0d18a3f5bce78cb1c54d6a1a32866ffc8b757a62e8fd401b620cecdfa2404e3f4d301de09aea98b637b5298f452fc9d74d5363b55e6d189da65b6367610d637811ecd8787a5bbd8511949c1a58d41514082b05a250dd7fbb28a93696e6f1ea44fe335663c3ad90163514bed0270a15d32718b4bf1412c29a4c8555bd5e064bf0cefdf2faf66d0cb21d02f18cb3d30ad717a11b99a0180344c4bda5d41ec33595e411049f98bb717069c12944203a98cb4de2ed160f226f54533abeff1c611b4bc8d96c9861f4cdcb28964868c4221207d9ae049716fb4598f988cc5caacc34e630bc1d479c27abdbd61b90631ddc231307302729bc42eef14127720411a4c405068b8de0a7321879129d370b8f82dcb5bac72d7ca5ff9cef2f3163781ca05ddb24b6467d0ecd0e0699ea90af423dac54e2b00b5207dbc8af684723dc6cc19a875e95a0c8b52be2f60f8ec8acd348cd9f90bb672121183d9516a07735c93e0f2ec783c272e478bee2445a9698e59214d6af238ad6e19a7c8ecf64e6437d4ba28a99af918f58a91564cd2400659964d154c5cb19943189034c76d47dda3f0fda30763b748fbb612682f9b6642bc4e335539cd3e8cb3f3e034e832360f6e8c3f6a9316ccc38ac34b61a58a1d63f640a0f6c5c976b5fb117a590e9a62a3a2f121335125b8463fcac29ab58fca59e5fe91ae18080de741ac2094437f71c268d424bfe0be7411ed853586291b7da4616c01edb42ffd54d9134450e570d1f5004b03d428dd2404869189b7f0d462a6877b0ea3615717a6b2ebd2fd95f02313f10870d0ba2c2a99c56c4eb225fdf6e4917826b54c131c4de7a3537f13076438fd0d7ef56af7e86df7ee6c0a5e827e69f06e158a56afb124b37efec0c75a1ec1a4b7db141c04ae9c60e64495fb74d8ff78fb8e409be1bde4912ab0df5b089d0fcd55f86fc795e2951c0aca77c516f4a4188d3b3c56aef6f54f85d0dfc5765302d8b8ce77c5765f5141b449b12cebd3d1371642d91bb316bcf6affad41734fa0b04104ca7de6c792155774d12edf441d3ed5d85616baaff210597a4d70dee7c4a63a9736cead663d7352b9154159fd33e37b50d1b8661d94dee84a639f7dd220a8e530f4f45f3721c74937f01231ce0c0ddd827713e9579d72c60d4403fd3772abd05709a2855e63f2f612c95b33684afbf688bb37631542dd4cbfd7adedff606cda64205312f13d791c1dca6d5f1b35eb87e71d80284343a2f834b3ef1fdd57df8f240775346340369186b371417b1b22a3a6850a35e1e70e423879e6b6d68faa86b1036a74551d3fba019ae0144ebb5d07f8d90c3b2e96024dfc7be23c87c9f31f8e0e7437a9e60e6bf5172f1912e1475097c1cd32f57efccc487aa2c5e9f9864b83c53860ce02a74f5799b2ee9a1fca9c03d956d6131569f5c4d588753ba2cf3ff072b848be361509f0414ab97bb2bf760f3272ce4b093a0e586ce16b0641109f7bf5dad5fc2e075f3a54f31a6ca13581545d5d3c229449164ac0135629435fe67b5ff1481bf1f262a22eb866dea775352e7a71b94e50741b93e8e42ca36b6ef36bd25068413d4a76320edc8de8f5f62b0e80a2623d28894cceda254399cd039cb34c55fb271da522dc3ee43f3d1e02d53d3597d8905d811be8716cd9508887fb7e886acf6e1eeaac346c0d52ed82a8034113f218236587d791f204516536f8d7670f4340f692a3cd34b60efdadec06a1ef72287e9cff4d587f2c1d618757a75af93188982845bbf41cf4cb2f8268877a1f9a91380b17f96c29e514a00c40a33dcd07d9c19756c918e2dad1f5f0958948e58f6ecdd16502bac3f33918046bea182a069057e0025098919e205c41d9348700845bcf57461f2d25414ac0850e44d165b2610cdeb01db34e022adf79b20e63f28857067c7f822bbda88f2542c6f8fcec914a0a69b5bd288b5de60fde471583288048af6665e279a97f115a69abdd5f5dfaf9baf075e2d872b495b945aa35b9f2a710e2d0d7cbf641cae7efb81e7327e10a4e303970eec2b84c3e475ef5885ec7676c81d7e646bb3a88238289729f4e8e1dee7d8223a5dfc217c35391411a298d9405ae6dc26ac10b980f3e0483fe6e53927128568a32ed5f7eaa4615a5568164c13a72462029d3f4c3d63fd2fee11cc9440ed9aedb024016b1dc77f276bbeb4488bf5035b2a78603b85fa266d9a534ebbd2a8c0b4992209d6d8e43fd4a64b213da28d79db5b394fc45ca8f713d3d3681a503a36f480695ba267f8d53bd0c129a275e99ca83b857ab91e444dfc648ebfe0082a4e00533952832a056b00c5d402c1b9697f4d17fbb7b764a271a46c7b61041d8ab023b5c44b39198944dfb7b9a20c0df42eff401a82635ce4270b6dde90402052b2a0c159f280e73713e02fa5b7244e3b9b66f9df73eb52af63871772808efb2346832888783c63e6b0bbf936a0aa9e141a0120a2324e9383e769f50699da78ec1bdb7572627e7580acbf3cad72b1c9cdeaf711e922ca04e1ca4684c66211798eb26c35ec37aa71854a33f449e6f7456ad6bd2bff5b5d4df65929b6e9f7857f72262e991389eed9008ba093efe1ac7f36249ee530b2984924fcceb784e874690ab2f84bea903bc904c07f58f23cc8d54e6ac9ed83ab4da9c140f3ea897aaa2c24d05eaac4c796eed0c041b8db357e29bf824e1797bce9e1f6b0926a8560d59b7dc7cfd24b93db2170997c094d79e03c684933ad53e91a17023d3116c9eca1348bbd2b5e0d80c7c80a29ac4973ac83803eeddfaba4a7f430dfa87035e4c3f39bee14bcbb696a3f40bbb189dde1543adeab0b4d4ee625861da503c2fb5c748f351df4916bceb5a493be38ad4fb17e0273fbbfe06ae2ffb295269dd930a9823c33ef37c5470f49b1a0013594ad53e9173f5498e8a25b44e4fc01ed3b321a5269f11b7672192f196a098aac67dbcdcb925617385e02be54485efb1114ee2a69a77a4ec60a126815a29593b6eaccf9695ac6a28b13e8ba88bde3bf95b6121e5ef11a5b236fa7c00b47050de6a1db9b6326521f632c87690bbdb2db6f9628054e384f3d8bc3bb60255c097c95671f1ec7ea722366b992af7df8276b673a040b94058f5047ee53640eea910f171411a9cfa261cbc5bfa4b79f64c1c8eeaa3e2e2fa9fe861705c82985ed01d5a3bde50b523de10faca25c44c4eb78b3b9da9d4e563abd4867db7e4bc664677c8196f021f3a514394becb59f51a30858fc76defef4b104e2874e7a8a4562f61d7ddbbacdb5591d96d0ec14b332c23f76057e31e02510d462c69143c6e24b92018dfb79f06711aacc3f1fd9e01628f0c03e89466eb39195e6f99b5b273dd49b0a37d997a1a1666972fbbda2123c2d61f8db93161937b418f51198e85eb1480336e32d5da75587d04300e6e69df3d2e47f6bad141fb0da573f30543cd8810d427e1f9eb959a7a637bfc4702d9e9bed79362b23e5c56911902aadb291a7573110e406b6c18d860c084128dd103eb338f6a9666e91845566f40da1325a91349149a1be26561de72349ce354b923b441df1a0558bd6dd66ee06199c962ac92d86cf8a6e438d2634c2e082b46588b5b2b9d857a4331b77d76dece1ef76ebb42e580dd8c6fcc15f68875065d508b2ef9254bc57c9bf2b25579b6766c1b1d46e2bd2a3f2e4f1aa5d48f27b51c47dd15b90393838397ba9572ee8552c0986db94cf8b85505878f169df39f8b4a21aa982165590a7cca76466ba8cb47e373f4362880c55e34f80ce08d03d1ce9f152a4fc0e893bb4e8c4d90af3249c06894e063b0aa5a84d240b02778cf27df8a68a74d8ae74ab495fd73aabd70a203581559ee88a05d6feed165c2bcea3d89605c18cf53eeec13d15f7a0d0e0beafcbb59372af7128e3060040835c1316cd30f67a0f0c8ebb3cf511c501dde1dcfbbfde8619290020f13d0057f5e55c8e402747058c931e1b218a9fe723cfe5cca5fae7c1441edb9d61f7c6703d5811e6ec3492e8cae1d4b9029b7a333b953e28e029d1827cc6404749597fbbb573fce800e958ed506bc8a470ca7b3a6ab3781c16b68a6ff5dec810b68a1fe1cbccf26b3625c099bb2b3b580d3c22a410cca903425f8a722d630f76df507571affd9a19b78bf5702e00ae3763f5e90561666a9b817a01ac993cc739531771bfa761bf74deea8875868a48fef8d333075e0d2bb7a4d3c1d765a188b30043aac02c19a4370ce54be3b588877b17fa929e58925b52d36aae8e8eda135053438a43a9fb2cf6fd98b118c4232724278f4f5d31ad0c6c5a66506059edc9bab62ab479b84dbcaa8d93a4b919396abe36a8757b4080dd9ea45f8c7f921b390ee35c3f572c1dc01b432cc00c16a1a9b5940870b139d76991df7e8e985182365ef0b27f91b744bd4e0608bf1d12e54ea28c3615f1fe4d1873cbf1126170586577b5bcef3335af086b07b4e25b849ea1c4f6f88929c137b918f9e2a5391c0cacd504a3a20e200e836dab8392ec04de71244d52c313ee1121d24b10ea574e030c782f7be1d063eba42f535681a25d2e45c6077553fc9b798c250f31dcccc8443f0d5f27c824f965732a9bfb9d7bff64330af9bc78c831d655178599ffa187a2a096074ce03b26dce052cad9a37384290aa6356976a37c69813f1af2bbdcf17996edb7d2c1b7bd34d3e9d50ad749ff818e8c92615189128b759f71025a0030a4ee9468b2fcba9a6568cae0a65ae18c53fd2e6d557c821841a2c9cd72c74fd13dcb56d2a76eeee0942617aee16520c8637b7c3bfd825c146bac46e7191c75699bfe653640a902bb8691252d5474828ae2468e04e1fedbed9a499aea3e5c5ad09745671b69c00e2d23f5da6935f0232531ca3683b00eaa32bb3d258c6ca21e1a369c02905ed1472a97be35e81c19c469c8539545d5dda9d72656088492a65aa19b0fb9c29a69e7a00f89d7afcae67bff9501672dbc77067806a6a26ab7a467f9dc3e14e1749ca08fff250520bffc003e18edfa306db773264f8ae2a2e6c5417146dd82641b5f2a2c6855ba0767585f0a396e67f8d286140f02571b3adcba8b2faa66af0a65b9e5eb3163485eb8600d25553d0a2270b417f4d1b85cead0734ccf4c2e707671c99807a24eec3cb1a0befbf1dd6ea3b7e1d9a328e54da7162d36ca411e217d9591bba1a3aa9f48ac094577b551837e4e381399c93b430fe8c03b8e9925cd6cf19d22b04996090d1cd44af93381d5d1c0e953493d8248a5d9a860b825dcb7bead72e8e4934f09ca0007cb0e42746d166789ce8d67bb8e34019dfb6c8b2c318f16faa899c134d3824325986c8d9c95f4ea32078bce6b3071dcf82d1eef8ac13044777d21fc1d1d8d19f5bc4b042cd767b75bda31a7a73a0beba02b6944eed2690863b3465d522650da9b5e9085f9585cad250aadd7208c618496b0f4d3fb4bbc13c6bd31327e614e1b3ca09a6e55b772dc8ab66fcd5b40deac0267a8c58fec13f39ef98733f1086e0f726fb2b7fecbe6273c69ae9b3392c40f070e186217cd7055abddd4b475da23199da751b2a7484a0e0f74e40ae6bcb551a1717743368f78f7ee5b48f180dc5517a74c34642498be4b4f4adc055a39a8f1e38c22f39bf9ed8d14e7fdcf43144e971d065d29f7d22d893c2a1a996a0995d9e6b9269b059ffe7fc719988d8714740ec1d52cdc1ab1ad730b17eb5e137730d57556216e4b669622e745f3c833c69c13eb014f91c4bffd5912b03d1b41e960c4bdfc6afe31b1cbfe126d1c752bd9b2d92fcb9b81ef98cb99e245f661fdde5490bbfe6209d834b5dd619e30c819b411c2d2b49eed9c6a3f88a43b4b9fe3bf44bb49ea1b9b79374a09e4312e60c804a5f24ad282bda45684b3c3d246eeb0d57829f7e35730b12b4a2b6fd8274af98d17f922bade1e40bf440b3c03c5465bde4cb0a56363b92f2085ce9b5c2a091a5826f213c8b297e83068c785712a0f288d2f1a6fbdda89f0213abca256ad04a9cea3f692387760c83cfdae697f11ad88b8a41a07cc63aa331e8ea2b15cb084d8e6e07d17eb15314e0d14dcd038d35a5355b3c0b7c67ef23ed6e6776e5484ec8d659ed7cd12845a5934c5fe83344eaf05f266fbefaa8af090e2ad3868f18aac7f3c10c4eed20a6b3bc4efed27ab202d661e8d010722a77e419d5115bb7e24f6aa128c06303f401f3f2decd4ae2ae71921f9af8632a5f53e0838790b38f5e59338ebbd22994d929243c431803b81fe62ba6881d11819e62c2cee4a9d10156c62a595e58620a51f65d188b6fb5e821db4e2b050e6dfb8dfc9e55d967bedd8a147c7a40851a51650f35e123e90ca94add46e87f5e0b62e333ad1255567e7cc1e2da389353765794567af97d10702f5407d79313685a7b23f4460cebb3771d8c0f25710d990691442ab37e7652c361a305e22b00e5f6bc00832e0d1c11e79c775bb1576703a707057c92fa7646ba119e425f9beb73528b9c0bdcd09942ec59d5f2325403651f6aba49ed9dc969066557d48c2041d8c3a4cc69d5ab81a26c8ecaa3021b7aea72bd16ec95d16b4542eec65dfa65d1b811da6d8071b1e5737805e7d7be183215ad227e1ce3f97f5a0a1888207c06c6bf8903a33812ffb68415b442bad34cd44b44ea85b6e37f1cf1586825ca99e632076130d668945fe5753fd834663430aa046c3e407dbffdd51234a907476439d5097a8e31a32ad06c169b9350eb80c19a099a4c6e96491e2bdbfdee291bfbadc9c94117af45b9f75b445f9558a613984654e6624182936c35aff8b67a30447629e533bb76ebaf64693e671b2118c5687ca6dd5fad6958c3f01d0e9d6f5cfd5e3dd8531194a13bb3c553d54c85905d42dad4c70cf7ed8e5ba4762b0e5d2a012f65815a8c4a585fabfebd20f961aaef4ea7c96158e8fdfe5d6a3e02ee594af68011007df8e817408f819c71d1e6ff6b9a7f2d05e6d79e8db2639f648241fae5e265eb150da98c628646244cc62109eebca57fda0a718e69fcc12ca01fe182388950dc1f529e054a0b3c2a89866de87b40e54fed5b27a9acd784e41521d8bbf95922448d07bea17be6b4bb5fa792521227495384d7e90aee5ca0b2acae497bf1be5b3ac53e30be5c3d1204ccabadd0a04bd4953ecd8a14655949f85a04b6f6d48c20d7e46c2e51e1bfcecacb61f95ab9b2bc1541d9cd768421698f50a4a450a909656b667efdfb806b1d2531a98d86f0136928930e4d581bb2dd224bca16d13480abf62aee5ba9ddce2bfee470096cf7cad79d83be6f5f808acd2326d417e2dec4ff7d5990a10347d0caed407e50922937c3f479e99dce0740f1d1c164143efaedb393666976f096ab456b2c08e3d125ed7790acff62b3171f1820f4379f4d2143159509e0270b1fd10a7f6e4df08da1fcabead53645db54f2357b26b9118d2460b39e1ac4f5d5c59acbda8f418b78f4c6233652890b3c67f6ff18a8ff51010e24d70bae11eda2feee291eeb43c7cb647c1c2c09b3fa5561fea63a38106d11a2a273c814867677ac2c0aec94a0385a0c3507328b27ed2f60d4ac4cc0425edc744894edd364f9d2f4161dddeba0131e8237121003a35c198ab3184c943232547617915875904288e247821b06b9eb55ca43014db23cde8c0524f20e29da959343fbc7591b8f313a70493c29263f989da020d66649f9c496090b2abbbf0c6ff0d97307c5f6bd8042e857bbf929a7d9d00b0b519814a984555ba6c9724a627723d442d4c068b7be56936d801f18345c53ff7db4ccfe2f53f3d4e32f62849e38013089bd164f1ad5d9dbeeaa3b683ecc030635a50787e25f7c0ef0b1d93a42e119e08e7d5373e89286552ac919c7783ccbe2b36d899189829b0ba66fc9e407f8ce29b1cab361769cbbb2a38fe4f7a4d6a2fd185433006f957afb26ca625f593242992edc3c0699b01a3421b2e1a9b87d4a575c929e858eb2a2c90cf829982e6e54d85e5febdb2bbc2347b2bceedbdc9a5ccf62af91b96b6b5ec4c958bf322549eaff57b79941c11c5907267bc29938c64984acba0ef8fbacc9f7114e2e63472f69ce4ed9ff55f96849e93c1619a78d248303edc295102fef5994fb315e8c2c4865e149127738e3f7c4f36f97a00c9c0329ed1f1bc76ad05dc1cd1c1c80906a6fa52ac222716941a9fe129b3e5b65d8c061535781bd2333a5c5cbc961a0c230ae8ed049f3cb26cce0afaa965675cae2a97dcf8c87d2916405cee52a5709225bf2dfb5452277e091b6f36ee251fc9f31532db44bb177a465208cf3b50212cf53d3c4b38df55d0051646b5fad13df3a0b6e09ed1f1bc76ad05dc1cd1c1c80906a6fa52ac222716941a9fe129b3e5b65d8c063fc5b25de544ed98d8c6a1ec548c47a5523e939e8bf07326efdc133352c92b758035c841e4360799f0135deaa0a3c176479cc9d356fb8b3001ee624ba3b4c7c39ed1f1bc76ad05dc1cd1c1c80906a6fa52ac222716941a9fe129b3e5b65d8c062d8144189140bb7c3ac457c80db5c4e44a8d4e443e2773311c9fad69917dce60c97f4cceb9c2dd63df80675554f335640cc46875185af539e2b2f3d6b9e9d7ed57d1ba78e19dd46a4dc3be448ab14e7f5fa8019b3bcf94fc58c2d31d1268465410e277ae39e189a5405eb84d31408cff0e4e1bb4698a4778a86a3b78ba53b9a754a40c9f144e80fd40afc82eb5b85fa7da166804f41641cbdfd1b47c17ae4249962e3a7f7bfcc5742144c3f1e81ee7154b9c3f037e2616226eaef100e203094f8b399c1baadbe4d98eb1c5ec0c61d66af08f61c9280d8be84212bb3aba564f9a4e18b109b19b6aa79663d9635ddced8c8975dbea92e2f2c280e194449d261233fa3e1f3a9bc83ec3e56fdf4d164020792ccf9cc7ff62544e6b499095e5e984cca627a0af554b97ca19127b8fd4a395feea57a22e3a481bb74132c30f7a4c4cb3d891b1c7782cb72c1a45673de45b15d7d97442c83f4f89a63561eea9e5b2db1474967cc79b07f116dfb5f0df30993258310ae8c87b698d164248c81428906c12b38a8b4abc38531ee4da2c4d3a33a9f150147711254bb01e7a36fcc94d01be17fa566cb893fdf9409da62c4ebfe439f5d03dbf215f1cb604acb01b9e42e1c0d83b6e1ca0f0f11649c4b689b7a563f6cf82ac0d608708175515b1a568c4c52346285841d56c54638db511bff0f0bbc2958b1b0866674b54b99729f756887332ab18dbad97a02b74466fc3cd460fdf2a2eaaeedc51cfaf784305da8f01f2d21b1054ae1aade69c0378e2d3a612ed0ffc24fcbd781f7f93cbff1ce93e7933b08922648e164d616509dfba870cde711f63cd7105415ed680d5603977f7c4aa92b24ed869b213d8fa004b93da70314ba02e2a40a635326de3f88b4f854c2946ff25ec150c4c32ad3fdc8682baeb8c28e76f067abc27af406e95b53c22cefda75fbf996bf46b60603a24209d0b1b2dc656bcbed0b7df5a8d76079daa4e1552d5540b12f23a8eed09cc9e87bbd876ea155787e6d8025fc03fbb5eb35273091fbd1211e7f2e18f940087c85f2a9a7286b61a792c76e33387d6033f6fe1329f56d4c4a8e7c2ea4d0efbcfaedf4466fc28f1cadc2b5297529deb3d231839c08652bc8f61070951005e5851b4624eea7adc326ce0f2bd71009b05b50cf91697e983620684e7366f5e07480e9fc5015cbde9996770a2f0da5aa061fca258a31a647323a35d7e764e4c6d0f76c9cae5aaabf071bde7b5a006414914d01c8c33a0b9df6b699bb963f2019985f34d30d8577db06f1cab3bebdb327ed63d1abe28b78fafebc63bf30bb56c4759f57160674ea01f66be094e296a7465cdaba02f6b2a83acaca8f8bc1388faf3dc1db1dbb2deb29bc89f347745225101779b4b419ca58b87bd619683f51151bb45c6a786c5fad5a856b5e5de636d1c9492c06e7b9cc77144dc7f94f1b14abfce2e77d18f0143fe3d8c5275257b429efb6da34fd654cfcca98fb477909cce87c3e55abb2fdbd80d9eb1059a13c4d29f5e0c35b9522b7341e5132d6be1f2c11269d1a5703af7c9f902b3d107e898af939dcb8adac11cd39304a705d79551eba38cfcd045e26ac140d22eafd6448813e6ae8b2fa9d597d42d51ab3f23e702d92c0a306857004026ee6d9d805f705cb15131cd6a85f4fe6c562ee543b0fbb8c06e5e825630c9c36e41dc3939cc7fcc12c97f0d26ffa71f74847cbae4f6a51590b276e5220fcdd216b9ca348c2275d50b1005ed566e571ba36efcaad31830021608c2f422fde6e3851a9606b5a438743fa1fdb54e7df672bc0300249c0b7140f5c6e2c822b43f3069ce74b126e03cc976567552671473970ed5fe3b94bc5bcd3c8f45f47b93194eb3147fabc02c6c0b1337f388e33905c00ffadf99fc1486083750c78b8de368c512e36b6b501df190cdd0009017798e6e09873138fecb58922e9039d1234f122f365a49c5c4d2dee37d11b5267d4f46737e0c6549be0b2df663972fb108264bb8902560007582322de80dbaaf2d2b4977881fee569ccccc12140caf1087f869810eca7befec11accedac05229c0571e4e4113221ce8a09f6cd9c7d3061ec0c0b9ec2b8a0d4771a80974a24b347d30f44fc7fcd5e2055466efd07beb2bb6e0e0aa355ac4cb77e4edd15cdb6e7f4c1a6732ef9962cc741b8cdb7ad0450f6c3d31c21a80817c8c2088c29a5daadd9d66aaac828097afbf56c2780c25db0e66071c8db09103c2d97d9da01551d360382f57a94bcc84d2c827a8a0c5c3d172b1fcd13d63e9901e4ae8ecb1207d1fe8c223bc221da7643f28b836e21674212691329d478a71c4fdd6d383c401a6bb9e93f09819be6d0babfda599a23db562253f2d2b495ae6da82c66a8f63010ffd6e1989e927c176ed5c88b49f19cdeeaa97c4dd63c6e4a36246c3eaa40f4ca6d395cb9f707e059bf98baa2dde96f2086f8c709bf56f3c710768d6cffa617a26ff5a381cdc6b4d74c9078b9a756f1f4bcedb8cd6c177614c09eae8b455de22cafc2541ec7a0f9ac1977c732fd45956b255d96a5d8c855de47b57166054c46978bc728475fe96b0219c598dc71924534b76d68641356d9275dbe1148ad175713f3951f6ad5ba6a525d98db04a253e4fa22a0b7d13a2930bf74210921de659e331a1c1647fe0102ee547f83028d05ba76434ccfa8a7ecf3eecde2302276b9ba13192932fd60614b6d36e0ffaa005162523089d9981a70ad9d5a0233e08ac400ef0d6c2559de5ab375a3d3c4c1835527e65d2c6248d4069355ae8de32032168e5c8bbc68070d338e008c504ff434158adc395be0378e6680609ab937947a2062aba2b90935d6c96d75db61f843e107eb82e379580a5c0beaa19ad9441be45c492eed7ac4848e9f23433664179e9fd91f5d3edb271983e00d652ad037965f8b1c1c5a37b7dd8ce45d69e62ce0139112e4a962e8981d8aa6910608b99738eca62a5832e025b52d2849bf3d7a78a2021d5df221a241139f57f9edd464099b1d10679c7058e754c7230c37983c667b2fb2ae06eb37a688a8ab1ddbcd06f5353bab30b5f92a23c8db5ff307c5c7cfd3a9aae2b9191847bb6438398dec3db9a1519ca72d7160939894c093c18791c9a9a83f3a652e6d5d3225a6b9c09269b9f157f95ebf8e96b0bd8743f569e4930639f3ea985959307a4cbba12006bf14ad1140497976060f387bc75c338ccc7da15f3c222737e817af45561ba76f0519319fdc442d942ff7405462d58ae06af2e1ad2ea7fff86b2d3f1af0d649898a35e42dda4f26a3a7e920c86b85f90f5a40ac4936033049e6b02f5b4b13eff5acbf5c28f949dce714d44a5517fb92dbea952f933b0c86818315c01d0e39026fafe23dc2c564806bdd986cf849700533d0fa02aafc42b508432e94e837f2310a94595da24b6b6f11ff60df52ca17542a90af712971b98cc25b7c3857ed0315a848ebfbe20e4bb7dae8ea515673d25fe4c84eac5804818d67bf80e99a7a2c57dfbc3e105be913ed7d6117eff83c57eb11ee6994826003e7419ae200805b220b7d854b0ba02d793315637ffa6f2068866bf550eab83524f31459b31586d7abc0b7b7d8a74242eb2950b8fa66093340cf907fe9e6df5591840e65833f3dcd2ba5db2f11d4ca3d6a1b31f03ecdfda0fafafb6574cbc867b1bbf704392e366f0eb5d1a7f1b865f46978da6019015ab8dacf0e3c33641ce834f9f3f657aad65334c2b059cd7c4e64a390021f4ea250e40ab6456bc84c211b61f2b5568d37ff82ff11814ee6af76cf5d68cb8ef55adfe742649241c52d08b79eaa1721e99fc3378ddf5ea037c37311096dab4e278d4ec1e12eebbedf1d2c5dfd4c69e675f2751492c50b48ab04d2620601285185ae2858d4931ca6fdfdf2a8a88249ae7d0a538e3241c200a64518507a64b1bcec478e108d863a7f625171ed42582b7b9a9389eb3b665421f3d68f59425ba512f80434033bfc50e597def94fbe011380b4aff784295d72261fa2322ba0a24f56eb49e22957a47596452f0269bce077365ec09d1a5a45696fdab3bddcce23ae42a00d3927d03b8f214566ac4c1f5d7a1c872771da5176d41195b5d2b6c9645e0f21ee32ce61432062862068d262ce600cc128407eca99a7da780fcb3e53d215274512e58c7dac233906b856ba279b7156f1ab2c311f47814618f7ac0689733ca19ce9dc1b95d9a0d6e884ff2c1efc0e1ca6e4caf47b9a72f0c7560684e5205c1f2811707e5450d1abd20bcdd39bc37f3fd5374965f243d104d9eab3f752764ce8464ffe5e25e89d0a04fae437b42fa22a65bdbfc99b8ab0c2d8e5c2ff72329420f51369613ab2c92d8d20deaa106732cfa66b3fff2de56ab5d25b45ba37042612ad4833660a3d2a908157b199a150f00fa47e500e83f950f2e98a632b002396636f396153e0975f42e0f48be6be06a655be35612c6d7f8d64dbcd3e0b306313602f99c35a75d6169d6a3fdd8241d3f2e4b67aaa5bb77f40b696fdddc14a7357564c3924fdddcc43837610a2310e5936d9fe55877f5de2977dd85aad8ee1edf3a571e7483c0dbd54d05b7a3ef1af8559a8cea6625cc8d0891f4642d5529955a1a3adbb84dce88635dd8763aeeaae3ccb1ff30954f1a1e97aa47dd384458c5080f8c7a53c534b3e379a6c0e884cb35954c877685917d9dbc52e6bca78046ef4103be357b6e44946ecb8c4d5399b56efa85381be5d79fbeaf94027afeede3b623b17090bc0e6cd5dcf3a94c46066449def8531ccd1c18d8f3043500c532e0b0451e9c4682255c1853c44a58ea9adc47d55ca8a23e276dbfeec3f315eedfebc8271fe656ca0d43949abe60ac555d86d5c29d092df0229bd1986b40dd990356d5f23656fc05f48aab0705e9cf0ba24ac5e1fcb4d339cf2fec2d6942ee2ddd4c76a8740ebf60b3ff9be2fff6a5eee01eeeed802177fef4705de5efc45ef2c1a22fd745a802cd9b0f8ae9025218d78e0fa2408f63575b2c563c0dfbe778937e67ff4b6aa6b53e21fe0c6e922747e644f23d204ee01cbe63e6c0abbca916c47078f0cce8af94e3830d15e5df49cc716be8770c51914ff0e3f311d32a820bd0f7138f4bfc6e7865143b7e9b89eb2de9c498468155fe29326eace2b0049466086d14dbfc9b0a6f2e18f6b3fcccb6fef8f4f8eff919e726717544612fe567a3782225d52a381e06cd77c0b123e13344e8696ea2a3b3852ba129808299b42b9a96a8032d91005a4384eb16309e593850c80e4c237fd7eb2c008a7ad9673b898cd061ac82281aac3072752d4ffd0b3e5dd88c43bee0327c14aebe4839fa3685c2da9227a4b56770c8ee5f936fcb11d8dbc61cf6fd04746421de0539591fbd0c83f19a4b03d2eebffc7279faa45ad3a057844753d8d744bcd79b327fffb478924af20b870e365f3e1348710d7552d4ca61490744f587fd88674ac330d034a9c4ec63c198549226d745eddd979e3696e085489dafad0ff1796090e96e442af5db25e8ed864d5bba91dbe1e1dd679760ab4e3a7e1fc4e4f106544dd7d611171f64b0dfd2435352b5d61000694492de4a590bbf0b7997228dc7bc3d708c72cdd2ce24443963600dd975e553c22158239ae7e76935e3cb1749ec972e60ae84ddc46dadefe6c69f2a158ca9afa6ced8a715b86ad3c1da4afbc4eef16abd8a522bb946d841bd389ba7415ddc54b6ded71d237d28534e64dc638a5eba0c3b8a6cb1cfc202bafc7088497d4754af710ce3792994b395743f0dfdb096a39487a7f7b6e2d13b19a29f14cafbb51c194e98513e9d54c2fffee70d6008271dc535daa1bb9abd5c0594fa46bf17d309c11368f5d80fa5c62d3683546e4833b4e02ca11bf26e7085cc0482dbcda62ed68178cbece361394a7454c94444da72f600cf6c3dcc1029e0e5c8cf54e1bf92ec7a4f58d776063be0671f956a55ed4ba0355de686608143cc4868ca68ea8846ac0022d002ec43c2c75e5e35a92d4a4217c385cadf93f7a35867267f449b058438f08f013293c6ce274f749aa502f8042fcf9a1610ecd11edfd7ac365efec04ac27a5c2dd14acc307ad195c01e4972df13a1cc3d17aebc91d3e9fece1e414632fedd297bc892c862b55a5ed7aaeeaa4793eebaf6eb68c2a41339126c4204de48f6c529f0f1b98e616899b59ffd61b618f993c54dc1e9e0f82f7f9798708683b601e2ab06c3c0d3c3dd84a1b5a65fab2e5bfd405802a826d13709e8ff4fd48536ad925ab68ba5a99cd580ecb6c5c250bc0449cb803df98903ff23519813b3959a52c9be2f0a5f86846d6956166cfa1783f7a825c3728aea244fba31f2b6d979e3bce11b689ac14b29358cb90864cb3420bffca281cb92aa0b08bb54c74687eeb4259c7d372fcc97c9bc4e0b1464881c1809ddca66b696341ff1596e2cd2c60b4310ef4dc9942b7aee279838aba037f57d3e3a01e2cb8adc2d955ad9100bb997d9352e1f38523c701586cf9b0e6e757db93aa13cdbc06de8c56e0b0b84520e358637c5835f0f54b4f401191b09../../uapi/linux/input-event-codes.h../../../arch/arc/boot/dts../../../arch/arm/boot/dts../../../arch/arm64/boot/dts../../../arch/c6x/boot/dts../../../include/dt-bindings../../../arch/h8300/boot/dts../../../arch/microblaze/boot/dts../../../arch/mips/boot/dts../../../arch/nios2/boot/dts../../../arch/openrisc/boot/dts../../../arch/powerpc/boot/dts../../../arch/sh/boot/dts../../../arch/xtensa/boot/dtsrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootkernel-4.18.0-488.el8.src.rpminstallonlypkg(kernel)kernel-develkernel-devel(ppc-64)kernel-devel-ppc64lekernel-devel-uname-r    /bin/shfindutilsfindutilsperl-interpreterrpmlib(CompressedFileNames)rpmlib(FileDigests)rpmlib(PayloadFilesHavePrefix)rpmlib(PayloadIsXz)3.0.4-14.6.0-14.0-15.2-14.14.3dBzd>@d7d0d-bd&@d!@d@ddddxdcU@cU@cc`cl@c@c@c@c@cwc&@c&@c@c@c@ccc=@cc@cۥcT@cױ@ccvc0cƍc@ccFcR@ccc@c@c|cwscr-cn9@ck@ch@cb[c_cV~@cMCc@c:c2c*c!@c*c@ccd@cb{@b{@b5@bbbb@bz@bޅb@bVbby@bb>bb@bUblbb2@b@bb@b@bbw@bb@b~H@bzSbu bk@bjbgbf@b_bX bT@bP#bMbMbF@bEbA@b; b8hb3"b1@b/.@b(b@b!b~b @b@ba@a aa7aaaa@a@aa5a@aza@a@aaW@aayav@amaaf@a]aQ@aLl@aC1a@a;Ha0a(a'@a&0a$@a#a@a@aS@a @aa a /a`@`` @``@`@`ݮ@`ٹ`@`"@`@`9@`D``r`r```@```Z`f@``@` @`@``@`@`e@`}p`x*`t6@`n@`m`e`c`a@`[)`X`P`KW`J@`Gc@`B@`?z@`<@`7@`2K@`0`-@`*b@`%@`#`"y@`!'``>`@``@` `@```2@___I@_@_@__1@__ܙ_H@__@__@_м@_v@_ǁ_ǁ__@__G@_@_ _i_#_@_/@__@_:_@___@_ _@_"_@__~@_}_w@_s!_k8_e_cO_`_X_P_>e_;_16_*@_&_"@__@__ L_X@_c^z^^@@^^K^@^W@^@^n@^y^^@^א^?@^ϧ^V@^^˳@^@^Ǿ^^@^'@^@^^@^^U@^^^&@^^@^1^^H^^^@^k@^@^@^0^^|@^{G^{G^wS@^v^t@^s^^r @^p^n^l@^j$@^g@^f/^c^Y^U @^Ri@^O@^Nt^M#@^F^C^AE^9\^4^2@^*@^&^!^@^g@^r]]]+]@]]]B]]Y]@]߶]e@]]]]@]Γ@]A]ʞ]@]@]{@])]]@]W]]]z@]]@]]@]V]@]m]z3@]v>]rJ@]i]g@]e@]c]^][]V]UI@]S]R@]QT]L]J@]D%]B@]A]@1@]>]9]8H@]6]1]0_@]/ ]-@](v@]'$]%@]$];]]@]^@]@]@]:]@\\@\Q\@\@\\\t@\@\\@\9\\ޢ@\P\@\ڭ\\@\g\@\\s@\-@\8\@\\O\@\\f\@\\r@\,@\\@\7\C@\\@\N\\@\@\6\B@\\\@\@\@\@\M\M\M\~d\k\eX@\d\^\\\Z@\HW@\C@\@n@\?\8@\73\3?@\@\\>@\@\I\@\ `\\l@\&@[[@[1[[@[H[@[_[@[[v[[@[@[ٙ@[S@[ @[ @[[@[[[@[;@[@[R@[[@[][ @[@[t[#@[[[:@[[@[Q@[[@[\[[[@[v[qrDenys Vlasenko [4.18.0-488.el8]Denys Vlasenko [4.18.0-487.el8]Denys Vlasenko [4.18.0-486.el8]Denys Vlasenko [4.18.0-485.el8]Denys Vlasenko [4.18.0-484.el8]Denys Vlasenko [4.18.0-483.el8]Denys Vlasenko [4.18.0-482.el8]Denys Vlasenko [4.18.0-481.el8]Denys Vlasenko [4.18.0-480.el8]Denys Vlasenko [4.18.0-479.el8]Denys Vlasenko [4.18.0-478.el8]Lucas Zampieri [4.18.0-477.2.1.el8]Lucas Zampieri [4.18.0-477.1.1.el8]Lucas Zampieri [4.18.0-477.el8]Lucas Zampieri [4.18.0-476.el8]Lucas Zampieri [4.18.0-475.el8]Lucas Zampieri [4.18.0-474.el8]Lucas Zampieri [4.18.0-473.el8]Lucas Zampieri [4.18.0-472.el8]Lucas Zampieri [4.18.0-471.el8]Lucas Zampieri [4.18.0-470.el8]Lucas Zampieri [4.18.0-469.el8]Lucas Zampieri [4.18.0-468.el8]Lucas Zampieri [4.18.0-467.el8]Lucas Zampieri [4.18.0-466.el8]Lucas Zampieri [4.18.0-465.el8]Lucas Zampieri [4.18.0-464.el8]Lucas Zampieri [4.18.0-463.el8]Lucas Zampieri [4.18.0-462.el8]Lucas Zampieri [4.18.0-461.el8]Lucas Zampieri [4.18.0-459.el8]Lucas Zampieri [4.18.0-458.el8]Lucas Zampieri [4.18.0-457.el8]Lucas Zampieri [4.18.0-456.el8]Lucas Zampieri [4.18.0-455.el8]Lucas Zampieri [4.18.0-454.el8]Lucas Zampieri [4.18.0-453.el8]Lucas Zampieri [4.18.0-452.el8]Lucas Zampieri [4.18.0-451.el8]Lucas Zampieri [4.18.0-450.el8]Lucas Zampieri [4.18.0-449.el8]Lucas Zampieri [4.18.0-448.el8]Lucas Zampieri [4.18.0-447.el8]Lucas Zampieri [4.18.0-446.el8]Lucas Zampieri [4.18.0-445.el8]Lucas Zampieri [4.18.0-444.el8]Lucas Zampieri [4.18.0-442.el8.v2.g6f5f]Lucas Zampieri [4.18.0-441.el8]Lucas Zampieri [4.18.0-440.el8]Lucas Zampieri [4.18.0-439.el8]Lucas Zampieri [4.18.0-438.el8]Lucas Zampieri [4.18.0-437.el8]Lucas Zampieri [4.18.0-436.el8]Lucas Zampieri [4.18.0-435.el8]Lucas Zampieri [4.18.0-434.el8]Lucas Zampieri [4.18.0-433.el8]Lucas Zampieri [4.18.0-432.el8]Lucas Zampieri [4.18.0-431.el8]Lucas Zampieri [4.18.0-430.el8]Lucas Zampieri [4.18.0-429.el8]Lucas Zampieri [4.18.0-428.el8]Lucas Zampieri [4.18.0-427.el8]Lucas Zampieri [4.18.0-426.el8]Jarod Wilson [4.18.0-425.el8]Jarod Wilson [4.18.0-424.el8]Jarod Wilson [4.18.0-423.el8]Jarod Wilson [4.18.0-422.el8]Jarod Wilson [4.18.0-421.el8]Jarod Wilson [4.18.0-420.el8]Jarod Wilson [4.18.0-419.el8]Jarod Wilson [4.18.0-418.el8]Jarod Wilson [4.18.0-417.el8]Jarod Wilson [4.18.0-416.el8]Jarod Wilson [4.18.0-415.el8]Jarod Wilson [4.18.0-414.el8]Jarod Wilson [4.18.0-413.el8]Jarod Wilson [4.18.0-412.el8]Jarod Wilson [4.18.0-411.el8]Jarod Wilson [4.18.0-410.el8]Jarod Wilson [4.18.0-409.el8]Jarod Wilson [4.18.0-408.el8]Jarod Wilson [4.18.0-407.el8]Jarod Wilson [4.18.0-406.el8]Jarod Wilson [4.18.0-405.el8]Jarod Wilson [4.18.0-404.el8]Jarod Wilson [4.18.0-403.el8]Jarod Wilson [4.18.0-402.el8]Jarod Wilson [4.18.0-401.el8]Jarod Wilson [4.18.0-400.el8]Jarod Wilson [4.18.0-399.el8]Jarod Wilson [4.18.0-398.el8]Jarod Wilson [4.18.0-397.el8]Jarod Wilson [4.18.0-396.el8]Jarod Wilson [4.18.0-395.el8]Jarod Wilson [4.18.0-394.el8]Jarod Wilson [4.18.0-393.el8]Jarod Wilson [4.18.0-392.el8]Jarod Wilson [4.18.0-391.el8]Jarod Wilson [4.18.0-390.el8]Jarod Wilson [4.18.0-389.el8]Jarod Wilson [4.18.0-388.el8]Jarod Wilson [4.18.0-387.el8]Jarod Wilson [4.18.0-386.el8]Jarod Wilson [4.18.0-385.el8]Bruno Meneguele [4.18.0-384.el8]Jarod Wilson [4.18.0-383.el8]Jarod Wilson [4.18.0-382.el8]Jarod Wilson [4.18.0-381.el8]Jarod Wilson [4.18.0-380.el8]Jarod Wilson [4.18.0-379.el8]Jarod Wilson [4.18.0-378.el8]Jarod Wilson [4.18.0-377.el8]Jarod Wilson [4.18.0-376.el8]Jarod Wilson [4.18.0-375.el8]Jarod Wilson [4.18.0-374.el8]Jarod Wilson [4.18.0-373.el8]Augusto Caringi [4.18.0-372.2.1.el8]Augusto Caringi [4.18.0-372.1.1.el8]Augusto Caringi [4.18.0-372.el8]Augusto Caringi [4.18.0-371.el8]Augusto Caringi [4.18.0-370.el8]Augusto Caringi [4.18.0-369.el8]Augusto Caringi [4.18.0-368.el8]Augusto Caringi [4.18.0-367.el8]Augusto Caringi [4.18.0-366.el8]Augusto Caringi [4.18.0-365.el8]Augusto Caringi [4.18.0-364.el8]Augusto Caringi [4.18.0-363.el8]Augusto Caringi [4.18.0-362.el8]Augusto Caringi [4.18.0-361.el8]Augusto Caringi [4.18.0-360.el8]Augusto Caringi [4.18.0-359.el8]Augusto Caringi [4.18.0-358.el8]Augusto Caringi [4.18.0-357.el8]Augusto Caringi [4.18.0-356.el8]Augusto Caringi [4.18.0-355.el8]Augusto Caringi [4.18.0-354.el8]Jan Stancek [4.18.0-353.el8]Jan Stancek [4.18.0-352.el8]Bruno Meneguele [4.18.0-351.el8]Bruno Meneguele [4.18.0-350.el8]Augusto Caringi [4.18.0-349.el8]Augusto Caringi [4.18.0-348.6.el8]Augusto Caringi [4.18.0-348.5.el8]Augusto Caringi [4.18.0-348.4.el8]Augusto Caringi [4.18.0-348.3.el8]Augusto Caringi [4.18.0-348.2.el8]Augusto Caringi [4.18.0-348.1.el8]Augusto Caringi [4.18.0-345.1.el8]Augusto Caringi [4.18.0-343.1.el8]Bruno Meneguele [4.18.0-343.el8]Bruno Meneguele [4.18.0-342.el8]Bruno Meneguele [4.18.0-341.el8]Bruno Meneguele [4.18.0-340.el8]Bruno Meneguele [4.18.0-339.el8]Bruno Meneguele [4.18.0-338.el8]Bruno Meneguele [4.18.0-337.el8]Bruno Meneguele [4.18.0-336.el8]Bruno Meneguele [4.18.0-335.el8]Bruno Meneguele [4.18.0-334.el8]Bruno Meneguele [4.18.0-333.el8]Bruno Meneguele [4.18.0-332.el8]Bruno Meneguele [4.18.0-331.el8]Bruno Meneguele [4.18.0-330.el8]Bruno Meneguele [4.18.0-329.el8]Bruno Meneguele [4.18.0-328.el8]Augusto Caringi [4.18.0-327.el8]Augusto Caringi [4.18.0-326.el8]Augusto Caringi [4.18.0-325.el8]Augusto Caringi [4.18.0-324.el8]Augusto Caringi [4.18.0-323.el8]Bruno Meneguele [4.18.0-322.el8]Bruno Meneguele [4.18.0-321.el8]Bruno Meneguele [4.18.0-320.el8]Bruno Meneguele [4.18.0-319.el8]Bruno Meneguele [4.18.0-318.el8]Bruno Meneguele [4.18.0-317.el8]Bruno Meneguele [4.18.0-316.el8]Bruno Meneguele [4.18.0-315.el8]Bruno Meneguele [4.18.0-314.el8]Bruno Meneguele [4.18.0-313.el8]Bruno Meneguele [4.18.0-312.el8]Bruno Meneguele [4.18.0-311.el8]Bruno Meneguele [4.18.0-310.el8]Bruno Meneguele [4.18.0-309.el8]Bruno Meneguele [4.18.0-308.el8]Bruno Meneguele [4.18.0-307.el8]Bruno Meneguele [4.18.0-306.el8]Bruno Meneguele [4.18.0-305.8.el8]Bruno Meneguele [4.18.0-305.7.el8]Bruno Meneguele [4.18.0-305.6.el8]Bruno Meneguele [4.18.0-305.5.el8]Bruno Meneguele [4.18.0-305.4.el8]Bruno Meneguele [4.18.0-305.3.el8]Bruno Meneguele [4.18.0-305.2.el8]Bruno Meneguele [4.18.0-305.1.el8]Bruno Meneguele [4.18.0-304.7.el8]Bruno Meneguele [4.18.0-304.6.el8]Bruno Meneguele [4.18.0-304.5.el8]Bruno Meneguele [4.18.0-304.4.el8]Bruno Meneguele [4.18.0-304.3.el8]Bruno Meneguele [4.18.0-304.2.el8]Bruno Meneguele [4.18.0-304.1.el8]Bruno Meneguele [4.18.0-303.1.el8]Bruno Meneguele [4.18.0-302.1.el8]Bruno Meneguele [4.18.0-301.1.el8]Bruno Meneguele [4.18.0-300.1.el8]Bruno Meneguele [4.18.0-299.1.el8]Bruno Meneguele [4.18.0-298.1.el8]Bruno Meneguele [4.18.0-297.1.el8]Jan Stancek [4.18.0-297.el8]Jan Stancek [4.18.0-296.el8]Jan Stancek [4.18.0-295.el8]Jan Stancek [4.18.0-294.el8]Jan Stancek [4.18.0-293.el8]Jan Stancek [4.18.0-292.el8]Jan Stancek [4.18.0-291.el8]Jan Stancek [4.18.0-290.el8]Jan Stancek [4.18.0-289.el8]Jan Stancek [4.18.0-288.el8]Jan Stancek [4.18.0-287.el8]Jan Stancek [4.18.0-286.el8]Jan Stancek [4.18.0-285.el8]Jan Stancek [4.18.0-284.el8]Jan Stancek [4.18.0-283.el8]Jan Stancek [4.18.0-282.el8]Jan Stancek [4.18.0-281.el8]Jan Stancek [4.18.0-280.el8]Jan Stancek [4.18.0-279.el8]Jan Stancek [4.18.0-278.el8]Jan Stancek [4.18.0-277.el8]Jan Stancek [4.18.0-276.el8]Jan Stancek [4.18.0-275.el8]Jan Stancek [4.18.0-274.el8]Jan Stancek [4.18.0-273.el8]Jan Stancek [4.18.0-272.el8]Jan Stancek [4.18.0-271.el8]Jan Stancek [4.18.0-270.el8]Jan Stancek [4.18.0-269.el8]Jan Stancek [4.18.0-268.el8]Jan Stancek [4.18.0-267.el8]Jan Stancek [4.18.0-266.el8]Jan Stancek [4.18.0-265.el8]Jan Stancek [4.18.0-264.el8]Jan Stancek [4.18.0-263.el8]Jan Stancek [4.18.0-262.el8]Jan Stancek [4.18.0-261.el8]Jan Stancek [4.18.0-260.el8]Jan Stancek [4.18.0-259.el8]Jan Stancek [4.18.0-258.el8]Jan Stancek [4.18.0-257.el8]Jan Stancek [4.18.0-256.el8]Jan Stancek [4.18.0-255.el8]Jan Stancek [4.18.0-254.el8]Jan Stancek [4.18.0-253.el8]Jan Stancek [4.18.0-252.el8]Jan Stancek [4.18.0-251.el8]Jan Stancek [4.18.0-250.el8]Jan Stancek [4.18.0-249.el8]Jan Stancek [4.18.0-248.el8]Jan Stancek [4.18.0-247.el8]Jan Stancek [4.18.0-246.el8]Jan Stancek [4.18.0-245.el8]Jan Stancek [4.18.0-244.el8]Jan Stancek [4.18.0-243.el8]Jan Stancek [4.18.0-242.el8]Jan Stancek [4.18.0-241.el8]Jan Stancek [4.18.0-240.10.el8]Jan Stancek [4.18.0-240.9.el8]Jan Stancek [4.18.0-240.8.el8]Jan Stancek [4.18.0-240.7.el8]Jan Stancek [4.18.0-240.6.el8]Jan Stancek [4.18.0-240.5.el8]Jan Stancek [4.18.0-240.4.el8]Jan Stancek [4.18.0-240.3.el8]Jan Stancek [4.18.0-240.2.el8]Jan Stancek [4.18.0-240.1.el8]Jan Stancek [4.18.0-239.1.el8]Frantisek Hrbata [4.18.0-239.el8]Frantisek Hrbata [4.18.0-238.el8]Frantisek Hrbata [4.18.0-237.el8]Frantisek Hrbata [4.18.0-236.el8]Frantisek Hrbata [4.18.0-235.el8]Frantisek Hrbata [4.18.0-234.el8]Frantisek Hrbata [4.18.0-233.el8]Frantisek Hrbata [4.18.0-232.el8]Frantisek Hrbata [4.18.0-231.el8]Frantisek Hrbata [4.18.0-230.el8]Frantisek Hrbata [4.18.0-229.el8]Frantisek Hrbata [4.18.0-228.el8]Frantisek Hrbata [4.18.0-227.el8]Frantisek Hrbata [4.18.0-226.el8]Frantisek Hrbata [4.18.0-225.el8]Frantisek Hrbata [4.18.0-224.el8]Frantisek Hrbata [4.18.0-223.el8]Frantisek Hrbata [4.18.0-222.el8]Frantisek Hrbata [4.18.0-221.el8]Frantisek Hrbata [4.18.0-220.el8]Frantisek Hrbata [4.18.0-219.el8]Frantisek Hrbata [4.18.0-218.el8]Frantisek Hrbata [4.18.0-217.el8]Frantisek Hrbata [4.18.0-216.el8]Frantisek Hrbata [4.18.0-215.el8]Frantisek Hrbata [4.18.0-214.el8]Frantisek Hrbata [4.18.0-213.el8]Frantisek Hrbata [4.18.0-212.el8]Frantisek Hrbata [4.18.0-211.el8]Frantisek Hrbata [4.18.0-210.el8]Frantisek Hrbata [4.18.0-209.el8]Frantisek Hrbata [4.18.0-208.el8]Frantisek Hrbata [4.18.0-207.el8]Frantisek Hrbata [4.18.0-206.el8]Frantisek Hrbata [4.18.0-205.el8]Frantisek Hrbata [4.18.0-204.el8]Frantisek Hrbata [4.18.0-203.el8]Frantisek Hrbata [4.18.0-202.el8]Frantisek Hrbata [4.18.0-201.el8]Frantisek Hrbata [4.18.0-200.el8]Frantisek Hrbata [4.18.0-199.el8]Frantisek Hrbata [4.18.0-198.el8]Frantisek Hrbata [4.18.0-197.el8]Frantisek Hrbata [4.18.0-196.el8]Frantisek Hrbata [4.18.0-195.el8]Frantisek Hrbata [4.18.0-194.el8]Frantisek Hrbata [4.18.0-193.15.el8]Frantisek Hrbata [4.18.0-193.14.el8]Frantisek Hrbata [4.18.0-193.13.el8]Frantisek Hrbata [4.18.0-193.12.el8]Frantisek Hrbata [4.18.0-193.11.el8]Frantisek Hrbata [4.18.0-193.10.el8]Frantisek Hrbata [4.18.0-193.9.el8]Frantisek Hrbata [4.18.0-193.8.el8]Frantisek Hrbata [4.18.0-193.7.el8]Frantisek Hrbata [4.18.0-193.6.el8]Frantisek Hrbata [4.18.0-193.5.el8]Frantisek Hrbata [4.18.0-193.4.el8]Frantisek Hrbata [4.18.0-193.3.el8]Frantisek Hrbata [4.18.0-193.2.el8]Frantisek Hrbata [4.18.0-193.1.el8]Frantisek Hrbata [4.18.0-192.2.el8]Frantisek Hrbata [4.18.0-192.1.el8]Frantisek Hrbata [4.18.0-191.2.el8]Frantisek Hrbata [4.18.0-191.1.el8]Frantisek Hrbata [4.18.0-190.3.el8]Frantisek Hrbata [4.18.0-190.2.el8]Frantisek Hrbata [4.18.0-190.1.el8]Frantisek Hrbata [4.18.0-189.1.el8]Frantisek Hrbata [4.18.0-188.3.el8]Frantisek Hrbata [4.18.0-188.2.el8]Frantisek Hrbata [4.18.0-188.1.el8]Frantisek Hrbata [4.18.0-187.2.el8]Frantisek Hrbata [4.18.0-187.1.el8]Frantisek Hrbata [4.18.0-186.2.el8]Frantisek Hrbata [4.18.0-186.1.el8]Bruno Meneguele [4.18.0-185.el8]Herton R. Krzesinski [4.18.0-184.el8]Herton R. Krzesinski [4.18.0-183.el8]Herton R. Krzesinski [4.18.0-182.el8]Herton R. Krzesinski [4.18.0-181.el8]Herton R. Krzesinski [4.18.0-180.el8]Herton R. Krzesinski [4.18.0-179.el8]Herton R. Krzesinski [4.18.0-178.el8]Herton R. Krzesinski [4.18.0-177.el8]Herton R. Krzesinski [4.18.0-176.el8]Bruno Meneguele [4.18.0-175.el8]Bruno Meneguele [4.18.0-174.el8]Bruno Meneguele [4.18.0-173.el8]Bruno Meneguele [4.18.0-172.el8]Bruno Meneguele [4.18.0-171.el8]Bruno Meneguele [4.18.0-170.el8]Bruno Meneguele [4.18.0-169.el8]Bruno Meneguele [4.18.0-168.el8]Bruno Meneguele [4.18.0-167.el8]Bruno Meneguele [4.18.0-166.el8]Bruno Meneguele [4.18.0-165.el8]Bruno Meneguele [4.18.0-164.el8]Bruno Meneguele [4.18.0-163.el8]Bruno Meneguele [4.18.0-162.el8]Bruno Meneguele [4.18.0-161.el8]Bruno Meneguele [4.18.0-160.el8]Bruno Meneguele [4.18.0-159.el8]Bruno Meneguele [4.18.0-158.el8]Bruno Meneguele [4.18.0-157.el8]Bruno Meneguele [4.18.0-156.el8]Bruno Meneguele [4.18.0-155.el8]Bruno Meneguele [4.18.0-154.el8]Bruno Meneguele [4.18.0-153.el8]Bruno Meneguele [4.18.0-152.el8]Phillip Lougher [4.18.0-151.el8]Phillip Lougher [4.18.0-150.el8]Phillip Lougher [4.18.0-149.el8]Phillip Lougher [4.18.0-148.el8]Phillip Lougher [4.18.0-147.13.el8]Phillip Lougher [4.18.0-147.12.el8]Phillip Lougher [4.18.0-147.11.el8]Phillip Lougher [4.18.0-147.10.el8]Phillip Lougher [4.18.0-147.9.el8]Phillip Lougher [4.18.0-147.8.el8]Phillip Lougher [4.18.0-147.7.el8]Phillip Lougher [4.18.0-147.6.el8]Phillip Lougher [4.18.0-147.5.el8]Phillip Lougher [4.18.0-147.4.el8]Phillip Lougher [4.18.0-147.3.el8]Phillip Lougher [4.18.0-147.2.el8]Phillip Lougher [4.18.0-147.1.el8]Phillip Lougher [4.18.0-146.1.el8]Phillip Lougher [4.18.0-145.1.el8]Phillip Lougher [4.18.0-144.1.el8]Herton R. Krzesinski [4.18.0-144.el8]Herton R. Krzesinski [4.18.0-143.el8]Herton R. Krzesinski [4.18.0-142.el8]Herton R. Krzesinski [4.18.0-141.el8]Herton R. Krzesinski [4.18.0-140.el8]Herton R. Krzesinski [4.18.0-139.el8]Herton R. Krzesinski [4.18.0-138.el8]Herton R. Krzesinski [4.18.0-137.el8]Herton R. Krzesinski [4.18.0-136.el8]Herton R. Krzesinski [4.18.0-135.el8]Herton R. Krzesinski [4.18.0-134.el8]Herton R. Krzesinski [4.18.0-133.el8]Herton R. Krzesinski [4.18.0-132.el8]Herton R. Krzesinski [4.18.0-131.el8]Herton R. Krzesinski [4.18.0-130.el8]Herton R. Krzesinski [4.18.0-129.el8]Herton R. Krzesinski [4.18.0-128.el8]Herton R. Krzesinski [4.18.0-127.el8]Herton R. Krzesinski [4.18.0-126.el8]Herton R. Krzesinski [4.18.0-125.el8]Herton R. Krzesinski [4.18.0-124.el8]Herton R. Krzesinski [4.18.0-123.el8]Herton R. Krzesinski [4.18.0-122.el8]Herton R. Krzesinski [4.18.0-121.el8]Herton R. Krzesinski [4.18.0-120.el8]Herton R. Krzesinski [4.18.0-119.el8]Herton R. Krzesinski [4.18.0-118.el8]Herton R. Krzesinski [4.18.0-117.el8]Herton R. Krzesinski [4.18.0-116.el8]Herton R. Krzesinski [4.18.0-115.el8]Herton R. Krzesinski [4.18.0-114.el8]Herton R. Krzesinski [4.18.0-113.el8]Herton R. Krzesinski [4.18.0-112.el8]Herton R. Krzesinski [4.18.0-111.el8]Herton R. Krzesinski [4.18.0-110.el8]Herton R. Krzesinski [4.18.0-109.el8]Herton R. Krzesinski [4.18.0-108.el8]Frantisek Hrbata [4.18.0-107.el8]Frantisek Hrbata [4.18.0-106.el8]Frantisek Hrbata [4.18.0-105.el8]Frantisek Hrbata [4.18.0-104.el8]Herton R. Krzesinski [4.18.0-103.el8]Herton R. Krzesinski [4.18.0-102.el8]Herton R. Krzesinski [4.18.0-101.el8]Herton R. Krzesinski [4.18.0-100.el8]Herton R. Krzesinski [4.18.0-99.el8]Herton R. Krzesinski [4.18.0-98.el8]Herton R. Krzesinski [4.18.0-97.el8]Herton R. Krzesinski [4.18.0-96.el8]Herton R. Krzesinski [4.18.0-95.el8]Herton R. Krzesinski [4.18.0-94.el8]Herton R. Krzesinski [4.18.0-93.el8]Herton R. Krzesinski [4.18.0-92.el8]Herton R. Krzesinski [4.18.0-91.el8]Herton R. Krzesinski [4.18.0-90.el8]Herton R. Krzesinski [4.18.0-89.el8]Herton R. Krzesinski [4.18.0-88.el8]Herton R. Krzesinski [4.18.0-87.el8]Herton R. Krzesinski [4.18.0-86.el8]Herton R. Krzesinski [4.18.0-85.el8]Herton R. Krzesinski [4.18.0-84.el8]Herton R. Krzesinski [4.18.0-83.el8]Herton R. Krzesinski [4.18.0-82.el8]Herton R. Krzesinski [4.18.0-81.el8]Herton R. Krzesinski [4.18.0-80.23.el8]Herton R. Krzesinski [4.18.0-80.22.el8]Herton R. Krzesinski [4.18.0-80.21.el8]Herton R. Krzesinski [4.18.0-80.20.el8]Herton R. Krzesinski [4.18.0-80.19.el8]Herton R. Krzesinski [4.18.0-80.18.el8]Herton R. Krzesinski [4.18.0-80.17.el8]Herton R. Krzesinski [4.18.0-80.16.el8]Herton R. Krzesinski [4.18.0-80.15.el8]Herton R. Krzesinski [4.18.0-80.14.el8]Herton R. Krzesinski [4.18.0-80.13.el8]Herton R. Krzesinski [4.18.0-80.12.el8]Herton R. Krzesinski [4.18.0-80.11.el8]Herton R. Krzesinski [4.18.0-80.10.el8]Herton R. Krzesinski [4.18.0-80.9.el8]Herton R. Krzesinski [4.18.0-80.8.el8]Herton R. Krzesinski [4.18.0-80.7.el8]Herton R. Krzesinski [4.18.0-80.6.el8]Herton R. Krzesinski [4.18.0-80.5.el8]Herton R. Krzesinski [4.18.0-80.4.el8]Herton R. Krzesinski [4.18.0-80.3.el8]Herton R. Krzesinski [4.18.0-80.2.el8]Herton R. Krzesinski [4.18.0-80.1.el8]Herton R. Krzesinski [4.18.0-79.1.el8]Herton R. Krzesinski [4.18.0-78.1.el8]Herton R. Krzesinski [4.18.0-77.1.el8]Herton R. Krzesinski [4.18.0-76.1.el8]Herton R. Krzesinski [4.18.0-75.1.el8]Herton R. Krzesinski [4.18.0-74.1.el8]Herton R. Krzesinski [4.18.0-73.1.el8]Herton R. Krzesinski [4.18.0-72.1.el8]Herton R. Krzesinski [4.18.0-71.1.el8]Herton R. Krzesinski [4.18.0-70.el8]Herton R. Krzesinski [4.18.0-69.el8]Herton R. Krzesinski [4.18.0-68.el8]Herton R. Krzesinski [4.18.0-67.el8]Herton R. Krzesinski [4.18.0-66.el8]Herton R. Krzesinski [4.18.0-65.el8]Herton R. Krzesinski [4.18.0-64.el8]Herton R. Krzesinski [4.18.0-63.el8]Herton R. Krzesinski [4.18.0-62.el8]Herton R. Krzesinski [4.18.0-61.el8]Herton R. Krzesinski [4.18.0-60.el8]Herton R. Krzesinski [4.18.0-59.el8]Herton R. Krzesinski [4.18.0-58.el8]Herton R. Krzesinski [4.18.0-57.el8]Herton R. Krzesinski [4.18.0-56.el8]Herton R. Krzesinski [4.18.0-55.el8]Herton R. Krzesinski [4.18.0-54.el8]Herton R. Krzesinski [4.18.0-53.el8]Herton R. Krzesinski [4.18.0-52.el8]Herton R. Krzesinski [4.18.0-51.el8]Herton R. Krzesinski [4.18.0-50.el8]Herton R. Krzesinski [4.18.0-49.el8]Herton R. Krzesinski [4.18.0-48.el8]Herton R. Krzesinski [4.18.0-47.el8]Herton R. Krzesinski [4.18.0-46.el8]Herton R. Krzesinski [4.18.0-45.el8]Herton R. Krzesinski [4.18.0-44.el8]Herton R. Krzesinski [4.18.0-43.el8]Herton R. Krzesinski [4.18.0-42.el8]Herton R. Krzesinski [4.18.0-41.el8]Herton R. Krzesinski [4.18.0-40.el8]Herton R. Krzesinski [4.18.0-39.el8]Herton R. Krzesinski [4.18.0-38.el8]Herton R. Krzesinski [4.18.0-37.el8]Herton R. Krzesinski [4.18.0-36.el8]Herton R. Krzesinski [4.18.0-35.el8]Herton R. Krzesinski [4.18.0-34.el8]Herton R. Krzesinski [4.18.0-33.el8]Herton R. Krzesinski [4.18.0-32.el8]Herton R. Krzesinski [4.18.0-31.el8]Herton R. Krzesinski [4.18.0-30.el8]Herton R. Krzesinski [4.18.0-29.el8]Herton R. Krzesinski [4.18.0-28.el8]Herton R. Krzesinski [4.18.0-27.el8]Herton R. Krzesinski [4.18.0-26.el8]Herton R. Krzesinski [4.18.0-25.el8]Herton R. Krzesinski [4.18.0-24.el8]Herton R. Krzesinski [4.18.0-23.el8]Herton R. Krzesinski [4.18.0-22.el8]Herton R. Krzesinski [4.18.0-21.el8]Herton R. Krzesinski [4.18.0-20.el8]Herton R. Krzesinski [4.18.0-19.el8]Herton R. Krzesinski [4.18.0-18.el8]Herton R. Krzesinski [4.18.0-17.el8]Herton R. Krzesinski [4.18.0-16.el8]Herton R. Krzesinski [4.18.0-15.el8]Herton R. Krzesinski [4.18.0-14.el8]Herton R. Krzesinski [4.18.0-13.el8]Herton R. Krzesinski [4.18.0-12.el8]Herton R. Krzesinski [4.18.0-11.el8]Herton R. Krzesinski [4.18.0-10.el8]Herton R. Krzesinski [4.18.0-9.el8]Herton R. Krzesinski [4.18.0-8.el8]Herton R. Krzesinski [4.18.0-7.el8]Herton R. Krzesinski [4.18.0-6.el8]Herton R. Krzesinski [4.18.0-5.el8]Herton R. Krzesinski [4.18.0-4.el8]Herton R. Krzesinski [4.18.0-3.el8]Herton R. Krzesinski [4.18.0-2.el8]Herton R. Krzesinski [4.18.0-1.el8]- crypto: qat - add support for 402xx devices (Vladis Dronov) [2144529] - crypto: qat - drop log level of msg in get_instance_node() (Vladis Dronov) [2144529] - crypto: qat - fix out-of-bounds read (Vladis Dronov) [2144529] - Documentation: qat: change kernel version (Vladis Dronov) [2144529] - crypto: qat - add qat_zlib_deflate (Vladis Dronov) [2144529] - crypto: qat - extend buffer list logic interface (Vladis Dronov) [2144529] - crypto: qat - fix spelling mistakes from 'bufer' to 'buffer' (Vladis Dronov) [2144529] - crypto: qat - add resubmit logic for decompression (Vladis Dronov) [2144529] - crypto: acomp - define max size for destination (Vladis Dronov) [2144529] - crypto: qat - enable deflate for QAT GEN4 (Vladis Dronov) [2144529] - crypto: qat - expose deflate through acomp api for QAT GEN2 (Vladis Dronov) [2144529] - crypto: qat - rename and relocate GEN2 config function (Vladis Dronov) [2144529] - crypto: qat - relocate qat_algs_alloc_flags() (Vladis Dronov) [2144529] - crypto: qat - relocate backlog related structures (Vladis Dronov) [2144529] - crypto: qat - extend buffer list interface (Vladis Dronov) [2144529] - crypto: qat - generalize crypto request buffers (Vladis Dronov) [2144529] - crypto: qat - change bufferlist logic interface (Vladis Dronov) [2144529] - crypto: qat - rename bufferlist functions (Vladis Dronov) [2144529] - crypto: qat - relocate bufferlist logic (Vladis Dronov) [2144529] - crypto: qat - Use helper to set reqsize (Vladis Dronov) [2144529] - crypto: kpp - Add helper to set reqsize (Vladis Dronov) [2144529] - crypto: qat - fix error return code in adf_probe (Vladis Dronov) [2144529] - crypto: qat - remove ADF_STATUS_PF_RUNNING flag from probe (Vladis Dronov) [2144529] - selftests: net: rps_default_mask.sh: delete veth link specifically (Hangbin Liu) [2185801] - selftests: net: devlink_port_split.py: skip test if no suitable device available (Hangbin Liu) [2185801] - selftests: mirror_gre_bridge_1q: Avoid changing PVID while interface is operational (Hangbin Liu) [2185801] - selftests/tls: Add {} to avoid static checker warning (Hangbin Liu) [2185801] - selftests: nft_nat: ensuring the listening side is up before starting the client (Hangbin Liu) [2185801] - selftest: fib_tests: Always cleanup before exit (Hangbin Liu) [2185801] - selftests/net: Interpret UDP_GRO cmsg data as an int value (Hangbin Liu) [2185801] - selftests: forwarding: lib: quote the sysctl values (Hangbin Liu) [2185801] - selftests: net: udpgso_bench_tx: Cater for pending datagrams zerocopy benchmarking (Hangbin Liu) [2185801] - selftests: net: udpgso_bench: Fix racing bug between the rx/tx programs (Hangbin Liu) [2185801] - selftests: net: udpgso_bench_rx/tx: Stop when wrong CLI args are provided (Hangbin Liu) [2185801] - selftests: net: udpgso_bench_rx: Fix 'used uninitialized' compiler warning (Hangbin Liu) [2185801] - selftests: rtnetlink: correct xfrm policy rule in kci_test_ipsec_offload (Hangbin Liu) [2185801] - selftests: forwarding: Fix failing tests with old libnet (Hangbin Liu) [2185801] - powerpc/pseries/mobility: set NMI watchdog factor during an LPM (Mamatha Inamdar) [2186026] - powerpc/watchdog: introduce a NMI watchdog's factor (Mamatha Inamdar) [2186026] - watchdog: export lockup_detector_reconfigure (Mamatha Inamdar) [2186026] - powerpc/mobility: wait for memory transfer to complete (Mamatha Inamdar) [2186026] - crypto: drbg - Only fail when jent is unavailable in FIPS mode (Vladis Dronov) [2175712] - crypto: jitter - permanent and intermittent health errors (Vladis Dronov) [2175712] - crypto: jitter - quit sample collection loop upon RCT failure (Vladis Dronov) [2175712] - crypto: jitter - don't limit ->health_failure check to FIPS mode (Vladis Dronov) [2175712] - crypto: jitter - drop kernel-doc notation (Vladis Dronov) [2175712] - selftests/livepatch: normalize sysctl error message (Julia Denham) [RHEL-256] - livepatch: Skip livepatch tests if ftrace cannot be configured (Julia Denham) [RHEL-256] - livepatch: Add a missing newline character in klp_module_coming() (Julia Denham) [RHEL-256] - livepatch: fix race between fork and KLP transition (Julia Denham) [RHEL-256] - scsi: bnx2i: Use scsi_cmd_to_rq() instead of scsi_cmnd.request (Nilesh Javali) [2164956] - x86/xen: Split HVM vector callback setup and interrupt gate allocation (Prarit Bhargava) [2187810] - s390/uaccess: add missing earlyclobber annotations to __clear_user() (Tobias Huschle) [2183078] - s390/qeth: fix use-after-free in hsci (Tobias Huschle) [2183992] - SUNRPC: Fix a server shutdown leak (Benjamin Coddington) [2166107] - powerpc/pseries/vas: Ignore VAS update for DLPAR if copy/paste is not enabled (Mamatha Inamdar) [2184979] - cnic: don't pass bogus GFP_ flags to dma_alloc_coherent (Nilesh Javali) [2164958] - cnic: Use the bitmap API to allocate bitmaps (Nilesh Javali) [2164958]- perf vendor events intel: Add uncore event list for Sapphirerapids (Michael Petlan) [2180657] - perf vendor events intel: Add metrics for Sapphirerapids (Michael Petlan) [2180657] - perf vendor events intel: Update core event list for Sapphirerapids (Michael Petlan) [2180657] - perf vendor events intel: Add sapphirerapids events (Michael Petlan) [2180657] - perf vendor events intel: Update metrics for Alderlake (Michael Petlan) [2180656] - perf vendor events: Fix Alderlake metric groups (Michael Petlan) [2180656] - perf vendor events intel: Add metrics for Alderlake (Michael Petlan) [2180656] - perf/x86/rapl: Add support for Intel Raptor Lake (Michael Petlan) [2180654] - perf/x86/intel: Add Cooper Lake stepping to isolation_ucodes[] (Michael Petlan) [2153896] - perf/x86/intel/cstate: Add Emerald Rapids (Michael Petlan) [2156802] - perf/x86/intel: Add Emerald Rapids (Michael Petlan) [2156802] - perf/x86/intel/uncore: Add Emerald Rapids (Michael Petlan) [2156802] - perf/x86/msr: Add Emerald Rapids (Michael Petlan) [2156802] - perf/x86/msr: Add Sapphire Rapids CPU support (Michael Petlan) [2156802] - perf/x86/intel/uncore: Add Meteor Lake support (Michael Petlan) [2177039] - perf/x86/msr: Add Meteor Lake support (Michael Petlan) [2153962] - perf/x86/cstate: Add Meteor Lake support (Michael Petlan) [2153962] - perf/x86/intel: Support Architectural PerfMon Extension leaf (Michael Petlan) [2153962] - x86/cpufeatures: Add Architectural PerfMon Extension bit (Michael Petlan) [2153962] - perf/x86: Support Retire Latency (Michael Petlan) [2153962] - perf/x86: Add Meteor Lake support (Michael Petlan) [2153962] - perf: Add PMU_FORMAT_ATTR_SHOW (Michael Petlan) [2153962] - mm/hugetlb: add dedicated func to get 'allowed' nodemask for current process (Rafael Aquini) [2153926] - mm/hugetlb: simplify the calculation of variables (Rafael Aquini) [2153926] - mm/mempolicy: fix lock contention on mems_allowed (Rafael Aquini) [2153926] - mm/mempolicy: do not allow illegal MPOL_F_NUMA_BALANCING | MPOL_LOCAL in mbind() (Rafael Aquini) [2153926] - mm/mempolicy.c: use in_task() in mempolicy_slab_node() (Rafael Aquini) [2153926] - mm/mempolicy: unify the create() func for bind/interleave/prefer-many policies (Rafael Aquini) [2153926] - mm/mempolicy: advertise new MPOL_PREFERRED_MANY (Rafael Aquini) [2153926] - mm/hugetlb: add support for mempolicy MPOL_PREFERRED_MANY (Rafael Aquini) [2153926] - mm/memplicy: add page allocation function for MPOL_PREFERRED_MANY policy (Rafael Aquini) [2153926] - mm/mempolicy: add MPOL_PREFERRED_MANY for multiple preferred nodes (Rafael Aquini) [2153926] - mm/mempolicy: use readable NUMA_NO_NODE macro instead of magic number (Rafael Aquini) [2153926] - mm/mempolicy: unify the parameter sanity check for mbind and set_mempolicy (Rafael Aquini) [2153926] - mm/mempolicy: use unified 'nodes' for bind/interleave/prefer policies (Rafael Aquini) [2153926] - mm/mempolicy: don't handle MPOL_LOCAL like a fake MPOL_PREFERRED policy (Rafael Aquini) [2153926] - mm/mempolicy: cleanup nodemask intersection check for oom (Rafael Aquini) [2153926] - mm/mempolicy: fix mpol_misplaced kernel-doc (Rafael Aquini) [2153926] - numa balancing: migrate on fault among multiple bound nodes (Rafael Aquini) [2153926] - mm/hugetlb: add mempolicy check in the reservation routine (Rafael Aquini) [2153926] - mm: remove unused alloc_page_vma_node() (Rafael Aquini) [2153926] - mm/mempolicy: remove or narrow the lock on current (Rafael Aquini) [2153926] - mm, mempolicy: fix uninit memory access (Rafael Aquini) [2153926] - mm/mempool: minor coding style tweaks (Rafael Aquini) [2153926] - mm: fix typos in comments (Rafael Aquini) [2153926] - futex: Do not apply time namespace adjustment on FUTEX_LOCK_PI (Joel Savitz) [2170113] - Revert 337f13046ff0 ("futex: Allow FUTEX_CLOCK_REALTIME with FUTEX_WAIT op") (Joel Savitz) [2170113] - kernel, fs: Introduce and use set_restart_fn() and arch_set_restart_data() (Joel Savitz) [2170113] - futex: Remove unneeded gotos (Joel Savitz) [2170113] - rtmutex: Ensure that the top waiter is always woken up (Joel Savitz) [2170113] - rtmutex: Add acquire semantics for rtmutex lock acquisition slow path (Joel Savitz) [2170113] - locking/lockdep: Fix lockdep_init_map_*() confusion (Joel Savitz) [2170113] - locking/lockdep: Avoid potential access of invalid memory in lock_class (Joel Savitz) [2170113] - lockdep: Correct lock_classes index mapping (Joel Savitz) [2170113] - locking/rtmutex: Squash self-deadlock check for ww_rt_mutex. (Joel Savitz) [2170113] - locking/rtmutex: Fix incorrect condition in rtmutex_spin_on_owner() (Joel Savitz) [2170113] - kallsyms: remove arch specific text and data check (Joel Savitz) [2170113] - lockdep: Let lock_is_held_type() detect recursive read as read (Joel Savitz) [2170113] - lockdep: Fix wait-type for empty stack (Joel Savitz) [2170113] - locking/lockdep: Improve noinstr vs errors (Joel Savitz) [2170113] - locking/lockdep: Correct calling tracepoints (Joel Savitz) [2170113] - locking/percpu-rwsem: Use this_cpu_{inc,dec}() for read_count (Joel Savitz) [2170113] - locking/ww_mutex: Fix runtime warning in the WW mutex selftest (Joel Savitz) [2170113] - fortify: Do not cast to "unsigned char" (Josef Oskera) [2139487] - fortify: Use SIZE_MAX instead of (size_t)-1 (Josef Oskera) [2139487] - afs: Work around strnlen() oops with CONFIG_FORTIFIED_SOURCE=y (Josef Oskera) [2139487] - net/mlx4_en: Introduce flexible array to silence overflow warning (Josef Oskera) [2139487] - wusbcore: silence fortify warning (Josef Oskera) [2139487] - skbuff: Switch structure bounds to struct_group() (Josef Oskera) [2139487] - RDMA/cxgb4: fix accept failure due to increased cpl_t5_pass_accept_rpl size (Josef Oskera) [2139487] - intel_th: msu: Use memset_startat() for clearing hw header (Josef Oskera) [2139487] - dm integrity: Use struct_group() to zero struct journal_sector (Josef Oskera) [2139487] - iw_cxgb4: Use memset_startat() for cpl_t5_pass_accept_rpl (Josef Oskera) [2139487] - scsi: lpfc: Use struct_group() to initialize struct lpfc_cgn_info (Josef Oskera) [2139487] - netfilter: conntrack: Use memset_startat() to zero struct nf_conn (Josef Oskera) [2139487] - netfilter: conntrack: avoid gcc-10 zero-length-bounds warning (Josef Oskera) [2139487] - thermal: int340x: Use struct_group() for memcpy() region (Josef Oskera) [2139487] - net/af_iucv: Use struct_group() to zero struct iucv_sock region (Josef Oskera) [2139487] - ipv6: Use memset_after() to zero rt6_info (Josef Oskera) [2139487] - bnx2x: Use struct_group() for memcpy() region (Josef Oskera) [2139487] - tracing: Use memset_startat() to zero struct trace_iterator (Josef Oskera) [2139487] - xfrm: Use memset_after() to clear padding (Josef Oskera) [2139487] - HID: roccat: Use struct_group() to zero kone_mouse_event (Josef Oskera) [2139487] - scsi: ibmvscsi: Avoid multi-field memset() overflow by aiming at srp (Josef Oskera) [2139487] - ipv4: ip_output.c: Fix out-of-bounds warning in ip_copy_addrs() (Josef Oskera) [2139487] - media: ngene: Fix out-of-bounds bug in ngene_command_config_free_buf() (Josef Oskera) [2139487] - s390/zcrypt: Switch to flexible array member (Josef Oskera) [2139487] - s390/speculation: Use statically initialized const for instructions (Josef Oskera) [2139487] - cifs: avoid extra calls in posix_info_parse (Josef Oskera) [2139487] - x86/entry: Fixup bad_iret vs noinstr (Josef Oskera) [2139487] - x86/traps: Mark fixup_bad_iret() noinstr (Josef Oskera) [2139487] - x86/doublefault: Remove memmove() call (Josef Oskera) [2139487] - tracing: Initialize iter->seq after zeroing in tracing_read_pipe() (Josef Oskera) [2139487] - tracing: Silence GCC 9 array bounds warning (Josef Oskera) [2139487] - fortify: Fix __compiletime_strlen() under UBSAN_BOUNDS_LOCAL (Josef Oskera) [2139487] - fortify: Provide a memcpy trap door for sharp corners (Josef Oskera) [2139487] - fortify: Make pointer arguments const (Josef Oskera) [2139487] - fortify: Replace open-coded __gnu_inline attribute (Josef Oskera) [2139487] - fortify: Update compile-time tests for Clang 14 (Josef Oskera) [2139487] - fortify: Detect struct member overflows in memset() at compile-time (Josef Oskera) [2139487] - fortify: Detect struct member overflows in memmove() at compile-time (Josef Oskera) [2139487] - fortify: Detect struct member overflows in memcpy() at compile-time (Josef Oskera) [2139487] - fortify: strlen: Avoid shadowing previous locals (Josef Oskera) [2139487] - fortify: Add compile-time FORTIFY_SOURCE tests (Josef Oskera) [2139487] - fortify: Allow strlen() and strnlen() to pass compile-time known lengths (Josef Oskera) [2139487] - fortify: Prepare to improve strnlen() and strlen() warnings (Josef Oskera) [2139487] - fortify: Fix dropped strcpy() compile-time write overflow check (Josef Oskera) [2139487] - fortify: Explicitly disable Clang support (Josef Oskera) [2139487] - fortify: Move remaining fortify helpers into fortify-string.h (Josef Oskera) [2139487] - lib/string: Move helper functions out of string.c (Josef Oskera) [2139487] - lib/string.c: update match_string() doc-strings with correct behavior (Josef Oskera) [2139487] - string.h: move fortified functions definitions in a dedicated header. (Josef Oskera) [2139487] - string.h: add FORTIFY coverage for strscpy() (Josef Oskera) [2139487] - lib: string.h: detect intra-object overflow in fortified string functions (Josef Oskera) [2139487] - lib: string_helpers: provide kfree_strarray() (Josef Oskera) [2139487] - lib/string.c: implement stpcpy (Josef Oskera) [2139487] - kernel-doc: core-api: include string.h into core-api (Josef Oskera) [2139487] - docs/core-api: move *{str,mem}dup* to "String Manipulation" (Josef Oskera) [2139487] - selftests/tc-testing: add show class case for red qdisc (Ivan Vecera) [2172130] - selftests/tc-testing: add show class case for prio qdisc (Ivan Vecera) [2172130] - selftests/tc-testing: add show class case for mq qdisc (Ivan Vecera) [2172130] - selftests/tc-testing: add show class case for ingress qdisc (Ivan Vecera) [2172130] - selftests/tc-testing: add selftests for qfq qdisc (Ivan Vecera) [2172130] - selftests/tc-testing: add selftests for netem qdisc (Ivan Vecera) [2172130] - selftests/tc-testing: add selftests for multiq qdisc (Ivan Vecera) [2172130] - selftests/tc-testing: add selftests for mqprio qdisc (Ivan Vecera) [2172130] - selftests/tc-testing: add selftests for htb qdisc (Ivan Vecera) [2172130] - selftests/tc-testing: add selftests for hfsc qdisc (Ivan Vecera) [2172130] - selftests/tc-testing: add selftests for fq_codel qdisc (Ivan Vecera) [2172130] - selftests/tc-testing: add selftests for dsmark qdisc (Ivan Vecera) [2172130] - selftests/tc-testing: add selftests for drr qdisc (Ivan Vecera) [2172130] - selftests/tc-testing: add selftests for cbs qdisc (Ivan Vecera) [2172130] - selftests/tc-testing: add selftests for cbq qdisc (Ivan Vecera) [2172130] - selftests/tc-testing: add selftests for cake qdisc (Ivan Vecera) [2172130] - net/sched: use tc_qdisc_stats_dump() in qdisc (Ivan Vecera) [2172130] - net/sched: sch_api: add helper for tc qdisc walker stats dump (Ivan Vecera) [2172130] - hwrng: core - use per-rng quality value instead of global setting (Jose Ignacio Tornos Martinez) [2172884] - hwrng: core - start and stop in-kernel rngd in separate function (Jose Ignacio Tornos Martinez) [2172884] - hwrng: core - do not bother to order list of devices by quality (Jose Ignacio Tornos Martinez) [2172884] - hwrng: core - credit entropy for low quality sources of randomness (Jose Ignacio Tornos Martinez) [2172884] - hwrng: core - break out of hwrng_fillfn if current rng is not trusted (Jose Ignacio Tornos Martinez) [2172884] - hwrng: core - only set cur_rng_set_by_user if it is working (Jose Ignacio Tornos Martinez) [2172884] - hwrng: core - use rng_fillbuf in add_early_randomness() (Jose Ignacio Tornos Martinez) [2172884] - hwrng: core - read() callback must be called for size of 32 or more bytes (Jose Ignacio Tornos Martinez) [2172884] - hwrng: core - explicit ordering of initcalls (Jose Ignacio Tornos Martinez) [2172884] - hwrng: core - Use DEVICE_ATTR_ macro (Jose Ignacio Tornos Martinez) [2172884] - hwrng: core - remove redundant initialization of variable err (Jose Ignacio Tornos Martinez) [2172884] - hwrng: core - convert sysfs sprintf/snprintf family to sysfs_emit (Jose Ignacio Tornos Martinez) [2172884] - hwrng: core - remove redundant initialization of variable ret (Jose Ignacio Tornos Martinez) [2172884] - hwrng: core - Fix use-after-free warning in hwrng_register() (Jose Ignacio Tornos Martinez) [2172884] - hwrng: core - move add_early_randomness() out of rng_mutex (Jose Ignacio Tornos Martinez) [2172884] - hwrng: core - document the quality field (Jose Ignacio Tornos Martinez) [2172884] - netfilter: nf_conntrack: allow early drop of offloaded UDP conns (Florian Westphal) [2183080] - net/sched: act_ct: offload UDP NEW connections (Florian Westphal) [2183080] - net/sched: act_ct: set ctinfo in meta action depending on ct state (Florian Westphal) [2183080] - netfilter: flowtable: cache info of last offload (Florian Westphal) [2183080] - netfilter: flowtable: allow unidirectional rules (Florian Westphal) [2183080] - netfilter: flowtable: fixup UDP timeout depending on ct state (Florian Westphal) [2183080] - ptp_clock: Let the ADJ_OFFSET interface respect the ADJ_NANO flag for PHC devices. (Íñigo Huguet) [2180896] - ptp: Add adjust_phase to ptp_clock_caps capability. (Íñigo Huguet) [2180896] - ptp: Add adjphase function to support phase offset control. (Íñigo Huguet) [2180896] - kernfs: dont take d_lock on revalidate (Ian Kent) [2126350] - kernfs: dont take i_lock on inode attr read (Ian Kent) [2126350] - kernfs: remove redundant kernfs_rwsem declaration. (Ian Kent) [2126350] - kernfs: fix potential NULL dereference in __kernfs_remove (Ian Kent) [2126350] - kernfs: fix NULL dereferencing in kernfs_remove (Ian Kent) [2126350] - kernfs: prevent early freeing of root node (Ian Kent) [2126350] - kernfs: switch global kernfs_rwsem lock to per-fs lock (Ian Kent) [2126350] - workqueue: Fold rebind_worker() within rebind_workers() (Valentin Schneider) [2088578] - workqueue: Unbind kworkers before sending them to exit() (Valentin Schneider) [2088578] - workqueue: Don't hold any lock while rcuwait'ing for !POOL_MANAGER_ACTIVE (Valentin Schneider) [2088578] - workqueue: Convert the idle_timer to a timer + work_struct (Valentin Schneider) [2088578] - workqueue: Factorize unbind/rebind_workers() logic (Valentin Schneider) [2088578] - workqueue: Protects wq_unbound_cpumask with wq_pool_attach_mutex (Valentin Schneider) [2088578] - workqueue: make sysfs of unbound kworker cpumask more clever (Valentin Schneider) [2088578] - fuse: add feature flag for expire-only (Pavel Reichl) [2109496] - fuse: add "expire only" mode to FUSE_NOTIFY_INVAL_ENTRY (Pavel Reichl) [2109496] - fuse: extend init flags (Pavel Reichl) [2109496] - wifi: iwlwifi: mvm: protect TXQ list manipulation (Jose Ignacio Tornos Martinez) [2152168] - wifi: iwlwifi: mvm: fix mvmtxq->stopped handling (Jose Ignacio Tornos Martinez) [2152168] - thunderbolt: Explicitly enable lane adapter hotplug events at startup (Desnes Nunes) [2130062] - x86/tsc: Add option to force frequency recalibration with HW timer (Prarit Bhargava) [2100597] - ovl: fix use after free in struct ovl_aio_req (Miklos Szeredi) [2176159] {CVE-2023-1252}- mm/memremap: fix missing call to untrack_pfn() in pagemap_range() (Nico Pache) [2168370] - arm64: mm: correct the inside linear map range during hotplug check (Nico Pache) [2168370] - s390/mm: define arch_get_mappable_range() (Nico Pache) [2168370] - arm64/mm: define arch_get_mappable_range() (Nico Pache) [2168370] - mm/memory_hotplug: prevalidate the address range being added with platform (Nico Pache) [2168370] - s390/extmem: return correct segment type in __segment_load() (Nico Pache) [2168370] - s390/vmem: get rid of memory segment list (Nico Pache) [2168370] - arm64/mm: Validate hotplug range before creating linear mapping (Nico Pache) [2168370] - mm/truncate.c: make __invalidate_mapping_pages() static (Nico Pache) [2168370] - powerpc/mm: fix "section_base" set but not used (Nico Pache) [2168370] - powerpc: Avoid link stack corruption in misc asm functions (Nico Pache) [2168370] - powerpc/booke: Avoid link stack corruption in several places (Nico Pache) [2168370] - powerpc/mm: Fix lockup on kernel exec fault (Nico Pache) [2168370] - x86: fix seq_file iteration for pat/memtype.c (Nico Pache) [2168370] - powerpc/book3s64/hash: Add cond_resched to avoid soft lockup warning (Nico Pache) [2168370] - powerpc/nvdimm: Update vmemmap_populated to check sub-section range (Nico Pache) [2168370] - powerpc/pseries: Fix cpu_hotplug_lock acquisition in resize_hpt() (Nico Pache) [2168370] - x86/mm: Sync also unmappings in vmalloc_sync_all() (Nico Pache) [2168370] - Fix page corruption caused by racy check in __free_pages (Nico Pache) [2168370] - mm/gup: fix gup_pud_range() for dax (Nico Pache) [2168370] - memcg: Fix possible use-after-free in memcg_write_event_control() (Nico Pache) [2168370] - mm/huge_memory: use pfn_to_online_page() in split_huge_pages_all() (Nico Pache) [2168370] - mm: fix madivse_pageout mishandling on non-LRU page (Nico Pache) [2168370] - mm/page_alloc: fix race condition between build_all_zonelists and page allocation (Nico Pache) [2168370] - mm/slub: fix to return errno if kmalloc() fails (Nico Pache) [2168370] - writeback: avoid use-after-free after removing device (Nico Pache) [2168370] - x86/mm: Use proper mask when setting PUD mapping (Nico Pache) [2168370] - mm/mmap.c: fix missing call to vm_unacct_memory in mmap_region (Nico Pache) [2168370] - mm/hmm: fault non-owner device private entries (Nico Pache) [2168370] - mm: split huge PUD on wp_huge_pud fallback (Nico Pache) [2168370] - mm/page_owner: use strscpy() instead of strlcpy() (Nico Pache) [2168370] - mm/vmscan: take min_slab_pages into account when try to call shrink_node (Nico Pache) [2168370] - x86: Fix return value of __setup handlers (Nico Pache) [2168370] - mm: fix unexpected zeroed page mapping with zram swap (Nico Pache) [2168370] - mm, page_alloc: fix build_zonerefs_node() (Nico Pache) [2168370] - mm/mempolicy: fix mpol_new leak in shared_policy_replace (Nico Pache) [2168370] - mm/slub: remove forced_order parameter in calculate_sizes (Nico Pache) [2168370] - mm/usercopy: return 1 from hardened_usercopy __setup() handler (Nico Pache) [2168370] - mm/thp: ClearPageDoubleMap in first page_add_file_rmap() (Nico Pache) [2168370] - mm/thp: refix __split_huge_pmd_locked() for migration PMD (Nico Pache) [2168370] - mempolicy: mbind_range() set_policy() after vma_merge() (Nico Pache) [2168370] - mm/pages_alloc.c: don't create ZONE_MOVABLE beyond the end of a node (Nico Pache) [2168370] - mm: userfaultfd: fix missing cache flush in mcopy_atomic_pte() and __mcopy_atomic() (Nico Pache) [2168370] - mm: hugetlb: fix missing cache flush in copy_huge_page_from_user() (Nico Pache) [2168370] - mm: thp: fix wrong cache flush in remove_migration_pmd() (Nico Pache) [2168370] - mm: fix missing cache flush for all tail pages of compound page (Nico Pache) [2168370] - tmpfs: fix regressions from wider use of ZERO_PAGE (Nico Pache) [2168370] - tmpfs: do not allocate pages on read (Nico Pache) [2168370] - shmem: mapping_set_exiting() to help mapped resilience (Nico Pache) [2168370] - mm/hmm.c: allow VM_MIXEDMAP to work with hmm_range_fault (Nico Pache) [2168370] - shmem: fix a race between shmem_unused_huge_shrink and shmem_evict_inode (Nico Pache) [2168370] - mm, slub: use prefetchw instead of prefetch (Nico Pache) [2168370] - arm64: mm: update max_pfn after memory hotplug (Nico Pache) [2168370] - mm, vmscan: guarantee drop_slab_node() termination (Nico Pache) [2168370] - fs, mm: fix race in unlinking swapfile (Nico Pache) [2168370] - fs: inode: count invalidated shadow pages in pginodesteal (Nico Pache) [2168370] - mm, fadvise: improve the expensive remote LRU cache draining after FADV_DONTNEED (Nico Pache) [2168370] - mm/filemap.c: rewrite mapping_needs_writeback in less fancy manner (Nico Pache) [2168370] - fs: drop_caches: fix skipping over shadow cache inodes (Nico Pache) [2168370] - mm: introduce and use mapping_empty() (Nico Pache) [2168370] - mm: remove irqsave/restore locking from contexts with irqs enabled (Nico Pache) [2168370] - mm: zswap: clean up confusing comment (Nico Pache) [2168370] - mm/memory_hotplug: use helper function zone_end_pfn() to get end_pfn (Nico Pache) [2168370] - mm: vmstat: add some comments on internal storage of byte items (Nico Pache) [2168370] - mm: vmstat: fix NOHZ wakeups for node stat changes (Nico Pache) [2168370] - mm/mmap.c: replace do_brk with do_brk_flags in comment of insert_vm_struct() (Nico Pache) [2168370] - mm/mmap.c: use helper function allow_write_access() in __remove_shared_vm_struct() (Nico Pache) [2168370] - mm: use helper function mapping_allow_writable() (Nico Pache) [2168370] - mm: memcontrol: reword obsolete comment of mem_cgroup_unmark_under_oom() (Nico Pache) [2168370] - mm/page_counter: correct the obsolete func name in the comment of page_counter_try_charge() (Nico Pache) [2168370] - mm: memcontrol: correct the comment of mem_cgroup_iter() (Nico Pache) [2168370] - x86/mm: use max memory block size on bare metal (Nico Pache) [2168370] - mm/util.c: remove the VM_WARN_ONCE for vm_committed_as underflow check (Nico Pache) [2168370] - include/linux/swapops.h: correct guards for non_swap_entry() (Nico Pache) [2168370] - mm: set vm_next and vm_prev to NULL in vm_area_dup() (Nico Pache) [2168370] - mm: don't prepare anon_vma if vma has VM_WIPEONFORK (Nico Pache) [2168370] - page-flags: fix a crash at SetPageError(THP_SWAP) (Nico Pache) [2168370] - mm/rmap.c: fix outdated comment in page_get_anon_vma() (Nico Pache) [2168370] - mm/mmap.c: extract __vma_unlink_list() as counterpart for __vma_link_list() (Nico Pache) [2168370] - mm: hugetlb: switch to css_tryget() in hugetlb_cgroup_charge_cgroup() (Nico Pache) [2168370] - x86/mm: Kill stray kernel fault handling comment (Nico Pache) [2168370] - arm64/numa: Unify common error path in numa_init() (Nico Pache) [2168370] - tools/power/x86/intel-speed-select: v1.14 release (Prarit Bhargava) [2154078] - tools/power/x86/intel-speed-select: Adjust uncore max/min frequency (Prarit Bhargava) [2154078] - tools/power/x86/intel-speed-select: Fix display of uncore min frequency (Prarit Bhargava) [2154078] - tools/power/x86/intel-speed-select: Add Emerald Rapid quirk (Prarit Bhargava) [2154078] - tools/power/x86/intel-speed-select: turbo-freq auto mode with SMT off (Prarit Bhargava) [2154078] - tools/power/x86/intel-speed-select: cpufreq reads on offline CPUs (Prarit Bhargava) [2154078] - tools/power/x86/intel-speed-select: Use null-terminated string (Prarit Bhargava) [2154078] - tools/power/x86/intel-speed-select: Remove duplicate dup() (Prarit Bhargava) [2154078] - tools/power/x86/intel-speed-select: Handle open() failure case (Prarit Bhargava) [2154078] - tools/power/x86/intel-speed-select: Remove unused non_block flag (Prarit Bhargava) [2154078] - tools/power/x86/intel-speed-select: Remove wrong check in set_isst_id() (Prarit Bhargava) [2154078] - platform/x86: ISST: Fix typo in comments (Prarit Bhargava) [2154078] - tools/power/x86/intel-speed-select: Release v1.13 (Prarit Bhargava) [2154078] - tools/power/x86/intel-speed-select: Optimize CPU initialization (Prarit Bhargava) [2154078] - tools/power/x86/intel-speed-select: Utilize cpu_map to get physical id (Prarit Bhargava) [2154078] - tools/power/x86/intel-speed-select: Remove unused struct clos_config fields (Prarit Bhargava) [2154078] - tools/power/x86/intel-speed-select: Enforce isst_id value (Prarit Bhargava) [2154078] - tools/power/x86/intel-speed-select: Do not export get_physical_id (Prarit Bhargava) [2154078] - tools/power/x86/intel-speed-select: Introduce is_cpu_in_power_domain helper (Prarit Bhargava) [2154078] - tools/power/x86/intel-speed-select: Cleanup get_physical_id usage (Prarit Bhargava) [2154078] - tools/power/x86/intel-speed-select: Convert more function to use isst_id (Prarit Bhargava) [2154078] - tools/power/x86/intel-speed-select: Add pkg and die in isst_id (Prarit Bhargava) [2154078] - tools/power/x86/intel-speed-select: Introduce struct isst_id (Prarit Bhargava) [2154078] - tools/power/x86/intel-speed-select: Remove unused core_mask array (Prarit Bhargava) [2154078] - tools/power/x86/intel-speed-select: Remove dead code (Prarit Bhargava) [2154078] - tools/power/x86/intel-speed-select: Fix cpu count for TDP level display (Prarit Bhargava) [2154078] - tools/power/x86/intel-speed-select: Remove unneeded semicolon (Prarit Bhargava) [2154078] - tools/power/x86/intel-speed-select: Fix off by one check (Prarit Bhargava) [2154078] - platform/x86: ISST: PUNIT device mapping with Sub-NUMA clustering (Prarit Bhargava) [2154078] - tools/power/x86/intel-speed-select: Fix warning for perf_cap.cpu (Prarit Bhargava) [2154078] - tools/power/x86/intel-speed-select: Display error on turbo mode disabled (Prarit Bhargava) [2154078] - tools/power/x86/intel-speed-select: fix build failure when using -Wl,--as-needed (Prarit Bhargava) [2154078] - KVM: x86: Propagate the AMD Automatic IBRS feature to the guest (Waiman Long) [1989283] - x86/cpu: Support AMD Automatic IBRS (Waiman Long) [1989283] - x86/cpu, kvm: Add the SMM_CTL MSR not present feature (Waiman Long) [1989283] - x86/cpu, kvm: Add the Null Selector Clears Base feature (Waiman Long) [1989283] - x86/cpu, kvm: Move X86_FEATURE_LFENCE_RDTSC to its native leaf (Waiman Long) [1989283] - x86/cpu, kvm: Add the NO_NESTED_DATA_BP feature (Waiman Long) [1989283] - KVM: x86: Move open-coded CPUID leaf 0x80000021 EAX bit propagation code (Waiman Long) [1989283] - x86/cpu, kvm: Add support for CPUID_80000021_EAX (Waiman Long) [1989283] - x86/bugs: Make sure MSR_SPEC_CTRL is updated properly upon resume from S3 (Waiman Long) [1989283] - KVM: x86: Advertise that the SMM_CTL MSR is not supported (Waiman Long) [1989283] - Documentation/hw-vuln: Update spectre doc (Waiman Long) [1989283] - nvme-tcp: fence TCP socket on receive error (John Meneghini) [2116939] - nvme-multipath: fix possible hang in live ns resize with ANA access (John Meneghini) [2116939] - nvme-tcp: fix possible hang caused during ctrl deletion (John Meneghini) [2116939] - nvme-tcp: fix regression that causes sporadic requests to time out (John Meneghini) [2116939] - nvme-tcp: fix UAF when detecting digest errors (John Meneghini) [2116939] - nvme-tcp: check if the queue is allocated before stopping it (John Meneghini) [2116939] - nvme-tcp: always fail a request when sending it failed (John Meneghini) [2116939] - nvme: fix regression when disconnect a recovering ctrl (John Meneghini) [2116939] - nvme-multipath: use vmalloc for ANA log buffer (John Meneghini) [2116939] - bfq: fix waker_bfqq inconsistency crash (Ming Lei) [2177565] - blktrace: Fix output non-blktrace event when blk_classic option enabled (Ming Lei) [2177565] - blk-wbt: fix that 'rwb->wc' is always set to 1 in wbt_init() (Ming Lei) [2177565] - blk-wbt: call rq_qos_add() after wb_normal is initialized (Ming Lei) [2177565] - block: sync mixed merged request's failfast with 1st bio's (Ming Lei) [2177565] - blk-mq: Fix potential io hung for shared sbitmap per tagset (Ming Lei) [2177565] - block: bio-integrity: Copy flags when bio_integrity_payload is cloned (Ming Lei) [2177565] - dim: initialize all struct fields (Audra Mitchell) [2172125] - XArray: Update the LRU list in xas_split() (Audra Mitchell) [2172125] - lib: bitmap: fix many kernel-doc warnings (Audra Mitchell) [2172125] - vsprintf: Fix %pK with kptr_restrict == 0 (Audra Mitchell) [2172125] - lib: uninline simple_strntoull() as well (Audra Mitchell) [2172125] - lib: dimlib: fix help text typos (Audra Mitchell) [2172125] - locks: fix TOCTOU race when granting write lease (Waiman Long) [2152051] - locks: eliminate false positive conflicts for write lease (Waiman Long) [2152051] - locks: Use inode_is_open_for_write (Waiman Long) [2152051] - fs/locks: remove unnecessary white space. (Waiman Long) [2152051] - fs/locks: use properly initialized file_lock when unlocking. (Waiman Long) [2152051] - redhat/configs: Enable CONFIG_PINCTRL_METEORLAKE in RHEL (Prarit Bhargava) [2156845] - pinctrl: intel: Add Intel Meteor Lake pin controller support (Prarit Bhargava) [2156845] - md: fix regression for null-ptr-deference in __md_stop() (Nigel Croxon) [2162231] - md: avoid signed overflow in slot_store() (Nigel Croxon) [2162231] - md: Free resources in __md_stop (Nigel Croxon) [2162231] - md: account io_acct_set usage with active_io (Nigel Croxon) [2162231] - md: use MD_RESYNC_* whenever possible (Nigel Croxon) [2162231] - md: Free writes_pending in md_stop (Nigel Croxon) [2162231] - md: Change active_io to percpu (Nigel Croxon) [2162231] - md: Factor out is_md_suspended helper (Nigel Croxon) [2162231] - md: don't update recovery_cp when curr_resync is ACTIVE (Nigel Croxon) [2162231] - md: fold unbind_rdev_from_array into md_kick_rdev_from_array (Nigel Croxon) [2162231] - md: mark md_kick_rdev_from_array static (Nigel Croxon) [2162231] - mm/kmemleak: fix UAF bug in kmemleak_scan() (Waiman Long) [2172763] - mm/kmemleak: simplify kmemleak_cond_resched() usage (Waiman Long) [2172763] - mm/kmemleak.c: fix a comment (Waiman Long) [2172763] - ptp: introduce a phase offset in the periodic output request (Íñigo Huguet) [2179072] - ptp: add ability to configure duty cycle for periodic output (Íñigo Huguet) [2179072] - platform/x86: intel/pmc/core: Add Meteor Lake mobile support (Prarit Bhargava) [2153968] - platform/x86: intel/pmc/core: Add Meteor Lake support to pmc core driver (Prarit Bhargava) [2153968] - sched/core: Fix arch_scale_freq_tick() on tickless systems (Phil Auld) [2184083] - qede: avoid uninitialized entries in coal_entry array (Michal Schmidt) [2160054] - qede: fix interrupt coalescing configuration (Jonathan Toppins) [2160054] - powerpc/64s: Unmerge EX_LR and EX_DAR (Mamatha Inamdar) [2134271] - powercap: intel_rapl: add support for Meteor Lake (Prarit Bhargava) [2153964] - dm: fix __send_duplicate_bios() to always allow for splitting IO (Benjamin Marzinski) [2184429] - dm: fix improper splitting for abnormal bios (Benjamin Marzinski) [2184429] - ovl: fail on invalid uid/gid mapping at copy up (Miklos Szeredi) [2165342] {CVE-2023-0386}- timers: Provide timer_shutdown[_sync]() (Ivan Vecera) [2174474] - timers: Add shutdown mechanism to the internal functions (Ivan Vecera) [2174474] - timers: Split [try_to_]del_timer[_sync]() to prepare for shutdown mode (Ivan Vecera) [2174474] - timers: Silently ignore timers with a NULL function (Ivan Vecera) [2174474] - timers: Rename del_timer() to timer_delete() (Ivan Vecera) [2174474] - timers: Rename del_timer_sync() to timer_delete_sync() (Ivan Vecera) [2174474] - timers: Use del_timer_sync() even on UP (Ivan Vecera) [2174474] - timers: Update kernel-doc for various functions (Ivan Vecera) [2174474] - timers: Replace BUG_ON()s (Ivan Vecera) [2174474] - timers: Get rid of del_singleshot_timer_sync() (Ivan Vecera) [2174474] - clocksource/drivers/sp804: Do not use timer namespace for timer_shutdown() function (Ivan Vecera) [2174474] - clocksource/drivers/arm_arch_timer: Do not use timer namespace for timer_shutdown() function (Ivan Vecera) [2174474] - misc/sgi-xp: Replace in_interrupt() usage (Ivan Vecera) [2174474] - timers: Don't block on ->expiry_lock for TIMER_IRQSAFE timers (Ivan Vecera) [2174474] - hvcs: Synchronize hotplug remove with port free (Mamatha Inamdar) [2167962] - hvcs: Use vhangup in hotplug remove (Mamatha Inamdar) [2167962] - hvcs: Get reference to tty in remove (Mamatha Inamdar) [2167962] - hvcs: Use driver groups to manage driver attributes (Mamatha Inamdar) [2167962] - hvcs: Use dev_groups to manage hvcs device attributes (Mamatha Inamdar) [2167962] - hvcs: Fix hvcs port reference counting (Mamatha Inamdar) [2167962] - tty: hvcs: Don't NULL tty->driver_data until hvcs_cleanup() (Mamatha Inamdar) [2167962] - docs/memory-barriers.txt/kokr: introduce io_stop_wc() and add implementation for ARM64 (Ivan Vecera) [2179061] - docs/memory-barriers.txt: Add a missed closing parenthesis (Ivan Vecera) [2179061] - asm-generic: Add missing brackets for io_stop_wc macro (Ivan Vecera) [2179061] - asm-generic: introduce io_stop_wc() and add implementation for ARM64 (Ivan Vecera) [2179061] - ipv4: Fix incorrect table ID in IOCTL path (Guillaume Nault) [2176792] - ipv4: Fix incorrect route flushing when table ID 0 is used (Guillaume Nault) [2176792] - ipv4: Fix incorrect route flushing when source address is deleted (Guillaume Nault) [2176792] - selftests: Add source route tests to fib_tests (Guillaume Nault) [2176792] - mm/rmap: split page_dup_rmap() into page_dup_file_rmap() and page_try_dup_anon_rmap() (David Hildenbrand) [2179164] - mm/memory: slightly simplify copy_present_pte() (David Hildenbrand) [2179164] - mm/hugetlb: take src_mm->write_protect_seq in copy_hugetlb_page_range() (David Hildenbrand) [2179164] - mm: /proc/sys/vm/stat_refresh stop checking monotonic numa stats (Waiman Long) [2178001] - mm: /proc/sys/vm/stat_refresh skip checking known negative stats (Waiman Long) [2178001] - mm: no more EINVAL from /proc/sys/vm/stat_refresh (Waiman Long) [2178001] - mm: restore node stat checking in /proc/sys/vm/stat_refresh (Waiman Long) [2178001] - sfc: ef10: don't overwrite offload features at NIC reset (Íñigo Huguet) [2154500] - sfc: correctly advertise tunneled IPv6 segmentation (Íñigo Huguet) [2154500] - igb: conditionalize I2C bit banging on external thermal sensor support (Corinna Vinschen) [2130727] - platform/x86: ISST: PUNIT device mapping with Sub-NUMA clustering (Prarit Bhargava) [2139963] - x86/nmi: Make register_nmi_handler() more robust (Ani Sinha) [2037005] - net: tls: fix possible race condition between do_tls_getsockopt_conf() and do_tls_setsockopt_conf() (Sabrina Dubroca) [2179819] {CVE-2023-28466} - cpufreq: intel_pstate: hybrid: Use known scaling factor for P-cores (Prarit Bhargava) [2179183] - target: iscsi: use GFP_NOIO with loopback connections (Maurizio Lombardi) [2156546] - core_pattern: add CPU specifier (Oleksandr Natalenko) [1968108] - Bluetooth: L2CAP: Fix accepting connection request for invalid SPSM (David Marlin) [2148404] {CVE-2022-42896} - ipv6: prevent router_solicitations for team port (Xin Long) [2141600] - ipv6: Don't send rs packets to the interface of ARPHRD_TUNNEL (Xin Long) [2141600] - Bluetooth: L2CAP: Fix attempting to access uninitialized memory (David Marlin) [2148408] {CVE-2022-42895} - redhat/scripts/create-tarball.sh: Use nproc instead of rpm macros (Prarit Bhargava) - Revert "Switch to z-stream for 8.8 for CKI pipelines" (Denys Vlasenko)- ethernet: Remove vf rate limit check for drivers (Izabela Bakollari) [2172124] - rtnetlink: verify rate parameters for calls to ndo_set_vf_rate (Izabela Bakollari) [2172124] - sfc: Change VF mac via PF as first preference if available. (Íñigo Huguet) [2117449] - Fix genlog.py to ensure that comments retain "%" characters. (Eder Zulian) [RHEL-340] - redhat: fix duplicate jira issues in the resolves line (Eder Zulian) [RHEL-340] - redhat: add support for Jira issues in changelog (Eder Zulian) [RHEL-340] - redhat/configs: Put CONFIG_SFC_* to a proper location (Vladis Dronov) - redhat/configs: Put CONFIG_SEV_GUEST to a proper location (Vladis Dronov) - Reinstate "GFS2: free disk inode which is deleted by remote node -V2" (Bob Peterson) [2181343] - iavf: fix hang on reboot with ice (Stefan Assmann) [2181811] - iavf: Fix race condition between iavf_shutdown and iavf_remove (Stefan Assmann) [2181811] - net/ulp: use consistent error code when blocking ULP (Sabrina Dubroca) [2176955] {CVE-2023-0461} - net/ulp: prevent ULP without clone op from entering the LISTEN status (Sabrina Dubroca) [2176955] {CVE-2023-0461} - lockd: lockd server-side shouldn't set fl_ops (Jeffrey Layton) [2179329] - NFS: Correct timing for assigning access cache timestamp (Benjamin Coddington) [2180851] - Switch to z-stream for 8.8 for CKI pipelines (Michael Hofmann) - KVM: VMX: Execute IBPB on emulated VM-exit when guest has IBRS (Jon Maloy) [2160033] {CVE-2022-2196}- tracing/hwlat: Replace sched_setaffinity with set_cpus_allowed_ptr (Jerome Marchand) [2174935] - drivers: hv, hyperv_fb: Untangle and refactor Hyper-V panic notifiers (Mohammed Gamal) [2172513] - video: hyperv_fb: Avoid taking busy spinlock on panic path (Mohammed Gamal) [2172513] - HID: hyperv: remove unused struct synthhid_msg (Mohammed Gamal) [2172513] - HID: hyperv: Replace one-element array with flexible-array member (Mohammed Gamal) [2172513] - clocksource: hyper-v: Add TSC page support for root partition (Mohammed Gamal) [2172443] - clocksource: hyper-v: Use TSC PFN getter to map vvar page (Mohammed Gamal) [2172443] - clocksource: hyper-v: Introduce TSC PFN getter (Mohammed Gamal) [2172443] - clocksource: hyper-v: Introduce a pointer to TSC page (Mohammed Gamal) [2172443] - HV: hv_balloon: fix memory leak with using debugfs_lookup() (Mohammed Gamal) [2172435] - debugfs: add debugfs_lookup_and_remove() (Mohammed Gamal) [2172435] - Drivers: hv: Enable vmbus driver for nested root partition (Mohammed Gamal) [2172435] - video: hyperv_fb: Avoid taking busy spinlock on panic path (Mohammed Gamal) [2172435]- sched/deadline: Add more reschedule cases to prio_changed_dl() (Valentin Schneider) [2120570] - perf/x86/uncore: Add new Raptor Lake S support (Michael Petlan) [2120365] - perf/x86/cstate: Add new Raptor Lake S support (Michael Petlan) [2120365] - perf/x86/msr: Add new Raptor Lake S support (Michael Petlan) [2120365] - perf/x86: Add new Raptor Lake S support (Michael Petlan) [2120365] - net: sched: atm: dont intepret cls results when asked to drop (Davide Caratti) [2168336] {CVE-2023-23455} - nvdimm: Allow overwrite in the presence of disabled dimms (Aristeu Rozanski) [2154070] - Revert "GFS2: free disk inode which is deleted by remote node -V2" (Bob Peterson) [2109600] - gfs2: Evict inodes cooperatively (Andreas Gruenbacher) [2109600] - gfs2: Flush delete work before shrinking inode cache (Andreas Gruenbacher) [2109600] - gfs2: Add SDF_DEACTIVATING super block flag (Bob Peterson) [2109600] - gfs2: check gl_object in rgrp glops (Bob Peterson) [2109600] - gfs2: Split the two kinds of glock "delete" work (Andreas Gruenbacher) [2109600] - gfs2: Move delete workqueue into super block (Andreas Gruenbacher) [2109600] - gfs2: Use container_of() for gfs2_glock(aspace) (Andreas Gruenbacher) [2109600] - gfs2: Get rid of GLF_PENDING_DELETE flag (Andreas Gruenbacher) [2109600] - gfs2: Make glock lru list scanning safer (Andreas Gruenbacher) [2109600] - gfs2: Fix use-after-free in gfs2_glock_shrink_scan (Andreas Gruenbacher) [2109600] - gfs2: Clean up gfs2_scan_glock_lru (Andreas Gruenbacher) [2109600] - gfs2: gl_object races fix (Andreas Gruenbacher) [2109600] - iomap/gfs2: Unlock and put folio in page_done handler (Andreas Gruenbacher) [2109600] - iomap: Add __iomap_put_folio helper (Andreas Gruenbacher) [2109600] - gfs2: Remove support for glock holder auto-demotion (2) (Andreas Gruenbacher) [2109600] - gfs2: Remove support for glock holder auto-demotion (Andreas Gruenbacher) [2109600] - gfs2: Minor gfs2_try_evict cleanup (Andreas Gruenbacher) [2109600] - gfs2: Partially revert gfs2_inode_lookup change (Andreas Gruenbacher) [2109600] - gfs2: Add gfs2_inode_lookup comment (Andreas Gruenbacher) [2109600] - gfs2: Uninline and improve glock_{set,clear}_object (Andreas Gruenbacher) [2109600] - gfs2: Simply dequeue iopen glock in gfs2_evict_inode (Andreas Gruenbacher) [2109600] - gfs2: Clean up after gfs2_create_inode rework (Andreas Gruenbacher) [2109600] - gfs2: Avoid dequeuing GL_ASYNC glock holders twice (Andreas Gruenbacher) [2109600] - gfs2: Handle -EBUSY result of insert_inode_locked4 (Andreas Gruenbacher) [2109600] - gfs2: Fix and clean up create / evict interaction (Andreas Gruenbacher) [2109600] - gfs2: Clean up initialization of "ip" in gfs2_create_inode (Andreas Gruenbacher) [2109600] - gfs2: Get rid of ghs[] in gfs2_create_inode (Andreas Gruenbacher) [2109600] - gfs2: Dequeue waiters when withdrawn (Bob Peterson) [2109600] - gfs2: Prevent double iput for journal on error (Bob Peterson) [2109600] - Revert "gfs2: stop using generic_writepages in gfs2_ail1_start_one" (Andreas Gruenbacher) [2109600] - gfs2: remove ->writepage (Andreas Gruenbacher) [2109600] - gfs2: stop using generic_writepages in gfs2_ail1_start_one (Andreas Gruenbacher) [2109600] - gfs2: List traversal in do_promote is safe (Andreas Gruenbacher) [2109600] - gfs2: do_promote glock holder stealing fix (Bob Peterson) [2109600] - gfs2: Use better variable name (Andreas Gruenbacher) [2109600] - gfs2: Make go_instantiate take a glock (Andreas Gruenbacher) [2109600] - gfs2: Add new go_held glock operation (Andreas Gruenbacher) [2109600] - gfs2: Revert 'Fix "truncate in progress" hang' (Andreas Gruenbacher) [2109600] - gfs2: Instantiate glocks ouside of glock state engine (Andreas Gruenbacher) [2109600] - gfs2: Fix up gfs2_glock_async_wait (Andreas Gruenbacher) [2109600] - gfs2: Add GL_NOPID flag for process-independent glock holders (Andreas Gruenbacher) [2109600] - gfs2: dump inode object for iopen glocks (Bob Peterson) [2109600] - gfs2: convert to use DEFINE_SEQ_ATTRIBUTE macro (Andreas Gruenbacher) [2109600] - gfs2: Use TRY lock in gfs2_inode_lookup for UNLINKED inodes (Bob Peterson) [2109600] - Updated dist tag to el8_8 (Lucas Zampieri) - Revert "net/mlx5: Don't perform lookup after already known sec_path" (Amir Tzin) [2176349] - KVM: x86: do not report a vCPU as preempted outside instruction boundaries (Jon Maloy) [2124800] {CVE-2022-39189} - Drivers: vmbus: Check for channel allocation before looking up relids (Mohammed Gamal) [2178622] - drm/nouveau/fb/tu102-: fix register used to determine scrub status (Karol Herbst) [2168648] - drm/nouveau/devinit/tu102-: wait for GFW_BOOT_PROGRESS == COMPLETED (Karol Herbst) [2168648] - fs/proc: task_mmu.c: don't read mapcount for migration entry (Jay Shin) [2174623] - perf/core: Fix cgroup event list management (Michael Petlan) [2162525]- redhat: include all certs (Red Hat and CentOS) in the srpm (Denys Vlasenko) [2179095] - redhat: do not require grub2 on s390x (Denys Vlasenko) [2179095] - thermal: int340x: Add Meteor Lake PCI device ID (Prarit Bhargava) [2156822] - i2c: i801: Add support for Intel Meteor Lake-P (Prarit Bhargava) [2156841]- redhat: fix the signing failure on ppc64el on centos (Denys Vlasenko) [2179095]- redhat: add centos signing certs (Denys Vlasenko) - redhat: fix "make rh-brew" not choosing _scratch_ build (Denys Vlasenko) - mfd: intel-lpss: Add Intel Meteor Lake-P PCI IDs (Prarit Bhargava) [2156843] - x86/cpu: Add CPU model numbers for Meteor Lake (Prarit Bhargava) [2153936] - redhat: require grub2 >= 2.02-99 (Denys Vlasenko) [2179095] - redhat: delete unused script and file (Denys Vlasenko) [2179095] - redhat: drop certificates that were deprecated after GRUB's BootHole flaw (Denys Vlasenko) [2179095] - redhat: align file names with names of signing keys for ppc and s390 (Denys Vlasenko) [2179095]- net/tunnel: wait until all sk_user_data reader finish before releasing the sock (Hangbin Liu) [2176344] - powerpc/pseries: unregister VPA when hot unplugging a CPU (Mamatha Inamdar) [2143007] - net: mana: Fix IRQ name - add PCI and queue number (Mohammed Gamal) [2172474] - net: mana: Fix return type of mana_start_xmit() (Mohammed Gamal) [2172474] - net: mana: Define data structures for protection domain and memory registration (Mohammed Gamal) [2172474] - net: mana: Define and process GDMA response code GDMA_STATUS_MORE_ENTRIES (Mohammed Gamal) [2172474] - net: mana: Define max values for SGL entries (Mohammed Gamal) [2172474] - net: mana: Move header files to a common location (Mohammed Gamal) [2172474] - net: mana: Record port number in netdev (Mohammed Gamal) [2172474] - net: mana: Export Work Queue functions for use by RDMA driver (Mohammed Gamal) [2172474] - net: mana: Set the DMA device max segment size (Mohammed Gamal) [2172474] - net: mana: Handle vport sharing between devices (Mohammed Gamal) [2172474] - net: mana: Record the physical address for doorbell page region (Mohammed Gamal) [2172474] - net: mana: Add support for auxiliary device (Mohammed Gamal) [2172474] - hv_netvsc: Check status in SEND_RNDIS_PKT completion message (Mohammed Gamal) [2172438] - hv_netvsc: Allocate memory in netvsc_dma_map() with GFP_ATOMIC (Mohammed Gamal) [2172438] - hv_netvsc: Fix missed pagebuf entries in netvsc_dma_map/unmap() (Mohammed Gamal) [2172438] - Drivers: hv: Make remove callback of hyperv driver void returned (Mohammed Gamal) [2172438] - hv: fix comment typo in vmbus_channel/low_latency (Mohammed Gamal) [2172434] - x86/hyperv: Introduce HV_MAX_SPARSE_VCPU_BANKS/HV_VCPUS_PER_SPARSE_BANK constants (Mohammed Gamal) [2172434] - x86/hyperv: Fix hv_get/set_register for nested bringup (Mohammed Gamal) [2172434] - x86/hyperv: Add an interface to do nested hypercalls (Mohammed Gamal) [2172434] - Drivers: hv: Setup synic registers in case of nested root partition (Mohammed Gamal) [2172434] - x86/hyperv: Add support for detecting nested hypervisor (Mohammed Gamal) [2172434] - x86/hyperv: Add HV_EXPOSE_INVARIANT_TSC define (Mohammed Gamal) [2172434] - x86/hyperv: Expand definition of struct hv_vp_assist_page (Mohammed Gamal) [2172434] - KVM: x86: hyper-v: Expose support for extended gva ranges for flush hypercalls (Mohammed Gamal) [2172434] - x86/hyperv: Move VMCB enlightenment definitions to hyperv-tlfs.h (Mohammed Gamal) [2172434] - iommu/hyper-v: Allow hyperv irq remapping without x2apic (Mohammed Gamal) [2172434] - smp: Fix offline cpu check in flush_smp_call_function_queue() (Waiman Long) [2169471] - sched/fair: Trigger the update of blocked load on newly idle cpu (Waiman Long) [2169471] - redhat: rh-dist-git should depend on rh-srpm (Denys Vlasenko) - redhat: change kabi tarballs to use the package release (Denys Vlasenko) - redhat/Makefile: add variables used in rhel9 makefiles (Denys Vlasenko) - redhat/Makefile: Remove RHPRODUCT variable (Denys Vlasenko) - redhat/scripts/rh-dist-git.sh: expand sources from srpm (Denys Vlasenko) - redhat: remove GL_DISTGIT_USER, RHDISTGIT and unify dist-git cloning (Denys Vlasenko) - redhat/scripts/rh-dist-git.sh: Use Makefile variables (Denys Vlasenko) - redhat: fix typo and make the output more silent for dist-git sync (Denys Vlasenko) - redhat: add initial support for centos stream dist-git sync on Makefiles (Denys Vlasenko) - internal: update RHEL_MINOR for the start of RHEL-8.9 development (Denys Vlasenko) - watchdog: diag288_wdt: fix __diag288() inline assembly (Tobias Huschle) [2171361] - watchdog: diag288_wdt: do not use stack buffers for hardware data (Tobias Huschle) [2171361] - bonding: add documentation for peer_notif_delay (Ryosuke Yasuoka) [2171348] - net: mana: Fix IRQ name - add PCI and queue number (Mohammed Gamal) [2166787] - crypto: des - disallow des3 in FIPS mode (Vladis Dronov) [2175234] - self-tests: more rps self tests (Paolo Abeni) [2168878] - net: make default_rps_mask a per netns attribute (Paolo Abeni) [2168878] - self-tests: introduce self-tests for RPS default mask (Paolo Abeni) [2168878] - net: introduce default_rps_mask netns attribute (Paolo Abeni) [2168878] - net-sysctl: factor-out rpm mask manipulation helpers (Paolo Abeni) [2168878] - net-sysctl: factor out cpumask parsing helper (Paolo Abeni) [2168878] - txhash: Make rethinking txhash behavior configurable via sysctl (Paolo Abeni) [2168878] - net-sysfs: Call dev_hold always in rx_queue_add_kobject (Paolo Abeni) [2168878] - net-sysfs: Call dev_hold always in netdev_queue_add_kobject (Paolo Abeni) [2168878] - net-sysfs: fix netdev_queue_add_kobject() breakage (Paolo Abeni) [2168878] - net-sysfs: Fix reference count leak in rx|netdev_queue_add_kobject (Paolo Abeni) [2168878] - ice/ptp: fix the PTP worker retrying indefinitely if the link went down (Petr Oros) [2166392] - ice: reschedule ice_ptp_wait_for_offset_valid during reset (Petr Oros) [2166392] - ice: make Tx and Rx vernier offset calibration independent (Petr Oros) [2166392] - ice: only check set bits in ice_ptp_flush_tx_tracker (Petr Oros) [2166392] - ice: handle flushing stale Tx timestamps in ice_ptp_tx_tstamp (Petr Oros) [2166392] - ice: cleanup allocations in ice_ptp_alloc_tx_tracker (Petr Oros) [2166392] - ice: protect init and calibrating check in ice_ptp_request_ts (Petr Oros) [2166392] - ice: check Tx timestamp memory register for ready timestamps (Petr Oros) [2166392] - ice: handle discarding old Tx requests in ice_ptp_tx_tstamp (Petr Oros) [2166392] - ice: always call ice_ptp_link_change and make it void (Petr Oros) [2166392] - ice: fix misuse of "link err" with "link status" (Petr Oros) [2166392] - ice: Reset TS memory for all quads (Petr Oros) [2166392] - ice: Remove the E822 vernier "bypass" logic (Petr Oros) [2166392] - ice: Use more generic names for ice_ptp_tx fields (Petr Oros) [2166392] - ice: Merge pin initialization of E810 and E810T adapters (Petr Oros) [2166392] - ice: Check if reset in progress while waiting for offsets (Petr Oros) [2166392] - NFS: Judge the file access cache's timestamp in rcu path (Benjamin Coddington) [2161321] - redhat: switch to z-stream for 8.8 (Lucas Zampieri)- net: mana: Fix IRQ name - add PCI and queue number (Mohammed Gamal) [2166787] - crypto: des - disallow des3 in FIPS mode (Vladis Dronov) [2175234] - self-tests: more rps self tests (Paolo Abeni) [2168878] - net: make default_rps_mask a per netns attribute (Paolo Abeni) [2168878] - self-tests: introduce self-tests for RPS default mask (Paolo Abeni) [2168878] - net: introduce default_rps_mask netns attribute (Paolo Abeni) [2168878] - net-sysctl: factor-out rpm mask manipulation helpers (Paolo Abeni) [2168878] - net-sysctl: factor out cpumask parsing helper (Paolo Abeni) [2168878] - txhash: Make rethinking txhash behavior configurable via sysctl (Paolo Abeni) [2168878] - net-sysfs: Call dev_hold always in rx_queue_add_kobject (Paolo Abeni) [2168878] - net-sysfs: Call dev_hold always in netdev_queue_add_kobject (Paolo Abeni) [2168878] - net-sysfs: fix netdev_queue_add_kobject() breakage (Paolo Abeni) [2168878] - net-sysfs: Fix reference count leak in rx|netdev_queue_add_kobject (Paolo Abeni) [2168878]- ice/ptp: fix the PTP worker retrying indefinitely if the link went down (Petr Oros) [2166392] - ice: reschedule ice_ptp_wait_for_offset_valid during reset (Petr Oros) [2166392] - ice: make Tx and Rx vernier offset calibration independent (Petr Oros) [2166392] - ice: only check set bits in ice_ptp_flush_tx_tracker (Petr Oros) [2166392] - ice: handle flushing stale Tx timestamps in ice_ptp_tx_tstamp (Petr Oros) [2166392] - ice: cleanup allocations in ice_ptp_alloc_tx_tracker (Petr Oros) [2166392] - ice: protect init and calibrating check in ice_ptp_request_ts (Petr Oros) [2166392] - ice: check Tx timestamp memory register for ready timestamps (Petr Oros) [2166392] - ice: handle discarding old Tx requests in ice_ptp_tx_tstamp (Petr Oros) [2166392] - ice: always call ice_ptp_link_change and make it void (Petr Oros) [2166392] - ice: fix misuse of "link err" with "link status" (Petr Oros) [2166392] - ice: Reset TS memory for all quads (Petr Oros) [2166392] - ice: Remove the E822 vernier "bypass" logic (Petr Oros) [2166392] - ice: Use more generic names for ice_ptp_tx fields (Petr Oros) [2166392] - ice: Merge pin initialization of E810 and E810T adapters (Petr Oros) [2166392] - ice: Check if reset in progress while waiting for offsets (Petr Oros) [2166392] - NFS: Judge the file access cache's timestamp in rcu path (Benjamin Coddington) [2161321] - redhat: switch to z-stream for 8.8 (Lucas Zampieri)- cpufreq: intel_pstate: Add Sapphire Rapids support in no-HWP mode (Prarit Bhargava) [2170564]- igb: Initialize mailbox message for VF reset (Corinna Vinschen) [2103948] - igb: Allocate MSI-X vector when testing (Corinna Vinschen) [2103948] - igb: Proactively round up to kmalloc bucket size (Corinna Vinschen) [2103948] - igb: Do not free q_vector unless new one was allocated (Corinna Vinschen) [2103948] - ptp: introduce helpers to adjust by scaled parts per million (Corinna Vinschen) [2103948] - net: Remove the obsolte u64_stats_fetch_*_irq() users (drivers). (Corinna Vinschen) [2103948] - net: ethernet: move from strlcpy with unused retval to strscpy (Corinna Vinschen) [2103948] - igb: convert .adjfreq to .adjfine (Corinna Vinschen) [2103948] - ASoC: Intel: soc-acpi: add configuration for variant of 0C11 product (Jaroslav Kysela) [2100582] - ASoC: Intel: soc-acpi: add configuration for variant of 0C40 product (Jaroslav Kysela) [2100582] - ASoC: Intel: sof_sdw: use common helpers for all Realtek amps (Jaroslav Kysela) [2100582] - ASoC: Intel: sof_sdw: Add support for SKU 0C11 product (Jaroslav Kysela) [2100582] - ASoC: Intel: sof_sdw: Add support for SKU 0C4F product (Jaroslav Kysela) [2100582] - ASoC: Intel: sof_sdw: Add support for SKU 0C40 product (Jaroslav Kysela) [2100582] - ASoC: Intel: sof_sdw: Add support for SKU 0C10 product (Jaroslav Kysela) [2100582] - ASoC: Intel: sof_sdw_rt1316: add BQ params for the Dell models (Jaroslav Kysela) [2100582] - ASoC: Intel: sof_sdw_rt1308: add BQ params for the Dell models (Jaroslav Kysela) [2100582] - ASoC: intel: sof_sdw: add rt1318 codec support. (Jaroslav Kysela) [2100582] - ASoC: rt1318: Add RT1318 SDCA vendor-specific driver (Jaroslav Kysela) [2100582] - ASoC: Intel: soc-acpi: update codec addr on 0C11/0C4F product (Jaroslav Kysela) [2100582] - ASoC: Intel: soc-acpi: add SKU 0C11 SoundWire configuration (Jaroslav Kysela) [2100582] - ASoC: Intel: soc-acpi: add SKU 0C40 SoundWire configuration (Jaroslav Kysela) [2100582] - ASoC: Intel: soc-acpi: add SKU 0C10 SoundWire configuration (Jaroslav Kysela) [2100582] - ASoC: Intel: soc-acpi-intel-rpl-match: add rpl_sdca_3_in_1 support (Jaroslav Kysela) [2100582]- net: ena: Update NUMA TPH hint register upon NUMA node update (Petr Oros) [2167316] - net: ena: Set default value for RX interrupt moderation (Petr Oros) [2167316] - net: ena: Fix rx_copybreak value update (Petr Oros) [2167316] - net: ena: Use bitmask to indicate packet redirection (Petr Oros) [2167316] - net: ena: Account for the number of processed bytes in XDP (Petr Oros) [2167316] - net: ena: Don't register memory info on XDP exchange (Petr Oros) [2167316] - net: ena: Fix toeplitz initial hash value (Petr Oros) [2167316] - net: ena: Fix error handling in ena_init() (Petr Oros) [2167316] - net: sched: disallow noqueue for qdisc classes (Xin Long) [2168282] {CVE-2022-47929} - net: sched: cbq: dont intepret cls results when asked to drop (Xin Long) [2168327] {CVE-2023-23454} - sctp: do not check hb_timer.expires when resetting hb_timer (Xin Long) [2133092] - arm64: Add AMPERE1 to the Spectre-BHB affected list (Mark Salter) [2140727] - net: mana: Fix accessing freed irq affinity_hint (Emanuele Giuseppe Esposito) [2168969] - net: mana: Assign interrupts to CPUs based on NUMA nodes (Emanuele Giuseppe Esposito) [2168969] - Revert "RDMA/irdma: Report the correct link speed" (Kamal Heib) [2143088] - Documentation/sysctl: document page_lock_unfairness (Nico Pache) [2165737] {CVE-2022-3623} - mm: allow a controlled amount of unfairness in the page lock (Nico Pache) [2165737] {CVE-2022-3623} - mm/hugetlb: fix races when looking up a CONT-PTE/PMD size hugetlb page (Nico Pache) [2165737] {CVE-2022-3623} - mm/migration: fix potential pte_unmap on an not mapped pte (Nico Pache) [2165737] {CVE-2022-3623} - mm/migrate.c: rework migration_entry_wait() to not take a pageref (Nico Pache) [2165737] {CVE-2022-3623} - mm: make wait_on_page_writeback() wait for multiple pending writebacks (Nico Pache) [2165737] {CVE-2022-3623} - mm: rewrite wait_on_page_bit_common() logic (Nico Pache) [2165737] {CVE-2022-3623} - mm/gup.c: use is_vm_hugetlb_page() to check whether to follow huge (Nico Pache) [2165737] {CVE-2022-3623}- perf/x86/amd: Fix crash due to race between amd_pmu_enable_all, perf NMI and throttling (Michael Petlan) [2085282] - x86/perf: Fix snapshot_branch_stack warning in VM (Michael Petlan) [2085282] - perf/x86/amd/core: Fix reloading events for SVM (Michael Petlan) [2085282 2086722] - perf/x86/amd: Run AMD BRS code only on supported hw (Michael Petlan) [2085282] - perf/x86/amd: Fix AMD BRS period adjustment (Michael Petlan) [2085282] - perf/x86/amd: Remove unused variable 'hwc' (Michael Petlan) [2085282] - perf/ibs: Fix comment (Michael Petlan) [2085282] - perf report: Add tools/arch/x86/include/asm/amd-ibs.h (Michael Petlan) [2085282] - perf/amd/ibs: Advertise zen4_ibs_extensions as pmu capability attribute (Michael Petlan) [2085282] - perf/amd/ibs: Add support for L3 miss filtering (Michael Petlan) [2085282] - perf/amd/ibs: Use ->is_visible callback for dynamic attributes (Michael Petlan) [2085282] - perf/amd/ibs: Cascade pmu init functions' return value (Michael Petlan) [2085282] - perf/amd/ibs: Use interrupt regs ip for stack unwinding (Michael Petlan) [2085282] - perf/x86/amd/core: Add PerfMonV2 overflow handling (Michael Petlan) [2085282 2086722] - perf/x86/amd/core: Add PerfMonV2 counter control (Michael Petlan) [2085282 2086722] - perf/x86/amd/core: Detect available counters (Michael Petlan) [2085282 2086722] - perf/x86/amd/core: Detect PerfMonV2 support (Michael Petlan) [2085282 2086722] - x86/msr: Add PerfCntrGlobal* registers (Michael Petlan) [2085282 2086722] - x86/cpufeatures: Add PerfMonV2 feature bit (Michael Petlan) [2085282 2086722] - perf/x86: Unify format of events sysfs show (Michael Petlan) [2085282] - perf/x86/amd: Add idle hooks for branch sampling (Michael Petlan) [2085282] - perf: Enable branch record for software events (Michael Petlan) [2085282] - redhat/configs: Enable AMD Zen3 branch sampling by default (Michael Petlan) [2085282] - perf/x86/amd: Make Zen3 branch sampling opt-in (Michael Petlan) [2085282] - perf/x86/amd: Add AMD branch sampling period adjustment (Michael Petlan) [2085282] - perf/x86/amd: Enable branch sampling priv level filtering (Michael Petlan) [2085282] - perf/x86/amd: Add branch-brs helper event for Fam19h BRS (Michael Petlan) [2085282] - perf/x86/amd: Add AMD Fam19h Branch Sampling support (Michael Petlan) [2085282] - perf/x86/amd/ibs: Add bitfield definitions in new header (Michael Petlan) [2085282] - perf/amd/uncore: Allow the driver to be built as a module (Michael Petlan) [2085282] - perf/amd/uncore: Clean up header use, use module_list from nf_tables_exit_net() (Florian Westphal) [2134371] - netfilter: nf_tables: fix nft_counters_enabled underflow at nf_tables_addchain() (Florian Westphal) [2134371] - netfilter: nf_tables: do not leave chain stats enabled on error (Florian Westphal) [2134371] - ipvs: use explicitly signed chars (Florian Westphal) [2134371] - netfilter: nf_tables: release flow rule object from commit path (Florian Westphal) [2134371] - netfilter: nf_tables: fix percpu memory leak at nf_tables_addchain() (Florian Westphal) [2134371] - netfilter: nf_tables: clean up hook list when offload flags check fails (Florian Westphal) [2134371] - netfilter: br_netfilter: Drop dst references before setting. (Florian Westphal) [2134371] - netfilter: nft_tproxy: restrict to prerouting hook (Florian Westphal) [2134371] - netfilter: ebtables: fix memory leak when blob is malformed (Florian Westphal) [2134371] - netfilter: ebtables: reject blobs that don't provide all entry points (Florian Westphal) [2134371] - netfilter: nf_tables: check NFT_SET_CONCAT flag if field_count is specified (Florian Westphal) [2134371] - netfilter: nf_tables: relax NFTA_SET_ELEM_KEY_END set flags requirements (Florian Westphal) [2134371] - netfilter: nf_tables: NFTA_SET_ELEM_KEY_END requires concat and interval flags (Florian Westphal) [2134371] - netfilter: nf_tables: validate NFTA_SET_ELEM_OBJREF based on NFT_SET_OBJECT flag (Florian Westphal) [2134371] - netfilter: nf_tables: possible module reference underflow in error path (Florian Westphal) [2134371] - netfilter: nf_tables: disallow NFTA_SET_ELEM_KEY_END with NFT_SET_ELEM_INTERVAL_END flag (Florian Westphal) [2134371] - netfilter: nf_tables: use READ_ONCE and WRITE_ONCE for shared generation id access (Florian Westphal) [2134371] - netfilter: nf_tables: fix null deref due to zeroed list head (Florian Westphal) [2134371]- bnxt_en: fix memory leak in bnxt_nvm_test() (Ken Cox) [2112186] - bnxt_en: Fix HDS and jumbo thresholds for RX packets (Ken Cox) [2112186] - bnxt_en: Fix first buffer size calculations for XDP multi-buffer (Ken Cox) [2112186] - bnxt_en: Fix XDP RX path (Ken Cox) [2112186] - bnxt_en: Simplify bnxt_xdp_buff_init() (Ken Cox) [2112186] - bnxt: prevent skb UAF after handing over to PTP worker (Ken Cox) [2112186] - bnxt_en: fix flags to check for supported fw version (Ken Cox) [2112186] - net: ethernet: move from strlcpy with unused retval to strscpy (Ken Cox) [2112186] - bnxt_en: fix NQ resource accounting during vf creation on 57500 chips (Ken Cox) [2112186] - bnxt_en: set missing reload flag in devlink features (Ken Cox) [2112186] - bnxt_en: Use PAGE_SIZE to init buffer when multi buffer XDP is not in use (Ken Cox) [2112186] - bnxt_en: Remove duplicated include bnxt_devlink.c (Ken Cox) [2112186] - bnxt_en: implement callbacks for devlink selftests (Ken Cox) [2112186] - bnxt_en: Fix bnxt_refclk_read() (Ken Cox) [2112186] - bnxt_en: fix livepatch query (Ken Cox) [2112186] - bnxt_en: Fix bnxt_reinit_after_abort() code path (Ken Cox) [2112186] - bnxt_en: reclaim max resources if sriov enable fails (Ken Cox) [2112186] - bnxt: Use the bitmap API to allocate bitmaps (Ken Cox) [2112186] - bnxt: Fix typo in comments (Ken Cox) [2112186] - eth: bnxt: make ulp_id unsigned to make GCC 12 happy (Ken Cox) [2112186] - bnxt_en: Enable packet timestamping for all RX packets (Ken Cox) [2112186] - bnxt_en: Configure ptp filters during bnxt open (Ken Cox) [2112186] - bnxt_en: Update firmware interface to 1.10.2.95 (Ken Cox) [2112186] - bnxt: add page_pool support for aggregation ring when using xdp (Ken Cox) [2112186] - bnxt: change receive ring space parameters (Ken Cox) [2112186] - bnxt: rename bnxt_rx_pages to bnxt_rx_agg_pages_skb (Ken Cox) [2112186] - bnxt: refactor bnxt_rx_pages operate on skb_shared_info (Ken Cox) [2112186] - bnxt: add flag to denote that an xdp program is currently attached (Ken Cox) [2112186] - bnxt: refactor bnxt_rx_xdp to separate xdp_init_buff/xdp_prepare_buff (Ken Cox) [2112186] - bnxt: report header-data split state (Ken Cox) [2112186] - net: Don't include filter.h from net/sock.h (Ken Cox) [2112186] - ethernet: constify references to netdev->dev_addr in drivers (Ken Cox) [2112186] - ethernet: use eth_hw_addr_set() for dev->addr_len cases (Ken Cox) [2112186] - ethernet: use eth_hw_addr_set() instead of ether_addr_copy() (Ken Cox) [2112186] - bnxt_en: Use struct_group_attr() for memcpy() region (Ken Cox) [2112186] - net: don't include ethtool.h from netdevice.h (Ken Cox) [2112186] - treewide: Use fallthrough pseudo-keyword (Ken Cox) [2112186] - net: Use skb_frag_off accessors (Ken Cox) [2112186] - net: Use skb accessors in network drivers (Ken Cox) [2112186] - ethernet: remove redundant memset (Ken Cox) [2112186] - treewide: Add SPDX license identifier - Makefile/Kconfig (Ken Cox) [2112186]- ASoC: amd: renoir: Add a module parameter to influence pdm_gain (Jaroslav Kysela) [2169761] - ASoC: amd: renoir: Adjust the gain for PDM DMIC (Jaroslav Kysela) [2169761] - ASoC: amd: yc: Add a module parameter to influence pdm_gain (Jaroslav Kysela) [2169761] - ASoC: amd: yc: Adjust the gain for PDM DMIC (Jaroslav Kysela) [2169761] - genirq: Fix reference leaks on irq affinity notifiers (Ricardo Robaina) [2154842] - genirq: Prevent use-after-free and work list corruption (Ricardo Robaina) [2154842] - perf/x86/uncore: Don't WARN_ON_ONCE() for a broken discovery table (Michael Petlan) [2154044] - perf/x86/uncore: Add a quirk for UPI on SPR (Michael Petlan) [2154044] - perf/x86/uncore: Ignore broken units in discovery table (Michael Petlan) [2154044] - perf/x86/uncore: Fix potential NULL pointer in uncore_get_alias_name (Michael Petlan) [2154044] - perf/x86/uncore: Factor out uncore_device_to_die() (Michael Petlan) [2154044] - perf/x86/intel/uncore: Support extra IMC channel on Ice Lake server (Michael Petlan) [2154044] - perf/x86/intel/uncore: Fix CAS_COUNT_WRITE issue for ICX (Michael Petlan) [2154044] - perf/x86/intel/uncore: Fix IIO event constraints for Snowridge (Michael Petlan) [2154044] - perf/x86/intel/uncore: Fix IIO event constraints for Skylake Server (Michael Petlan) [2154044] - perf/x86/intel/uncore: Fix filter_tid mask for CHA events on Skylake Server (Michael Petlan) [2154044] - perf/x86/intel/uncore: Fix Intel ICX IIO event constraints (Michael Petlan) [2154044] - perf/x86/intel/uncore: Fix reference count leak in __uncore_imc_init_box() (Michael Petlan) [2154044] - perf/x86/intel/uncore: Fix reference count leak in snr_uncore_mmio_map() (Michael Petlan) [2154044] - perf/x86/intel/uncore: Fix reference count leak in hswep_has_limit_sbox() (Michael Petlan) [2154044] - perf/x86/intel/uncore: Fix reference count leak in sad_cfg_iio_topology() (Michael Petlan) [2154044] - perf/x86/intel/uncore: Make set_mapping() procedure void (Michael Petlan) [2154044] - perf/x86/intel/uncore: Update sysfs-devices-mapping file (Michael Petlan) [2154044] - perf/x86/intel/uncore: Enable UPI topology discovery for Sapphire Rapids (Michael Petlan) [2154044] - perf/x86/intel/uncore: Enable UPI topology discovery for Icelake Server (Michael Petlan) [2154044] - perf/x86/intel/uncore: Get UPI NodeID and GroupID (Michael Petlan) [2154044] - perf/x86/intel/uncore: Enable UPI topology discovery for Skylake Server (Michael Petlan) [2154044] - perf/x86/intel/uncore: Generalize get_topology() for SKX PMUs (Michael Petlan) [2154044] - perf/x86/intel/uncore: Disable I/O stacks to PMU mapping on ICX-D (Michael Petlan) [2154044] - perf/x86/intel/uncore: Clear attr_update properly (Michael Petlan) [2154044] - perf/x86/intel/uncore: Introduce UPI topology type (Michael Petlan) [2154044] - perf/x86/intel/uncore: Generalize IIO topology support (Michael Petlan) [2154044]- net/mlx4: Check retval of mlx4_bitmap_init (Amir Tzin) [2150787] - net/mlx4: Fix error check for dma_map_sg (Amir Tzin) [2150787] - net/mlx4_en: Fix wrong return value on ioctl EEPROM query failure (Amir Tzin) [2150787] - RDMA/mlx4: Avoid flush_scheduled_work() usage (Amir Tzin) [2150787] - net: mellanox: fix open-coded for_each_set_bit() (Amir Tzin) [2150787] - tracing: Add linear buckets to histogram logic (Jerome Marchand) [2161509] - configs/generic: enable CONFIG_RTC_SYSTOHC (Marcelo Tosatti) [2135417] - watchdog: fix UAF in reboot notifier handling in watchdog core code (Wander Lairson Costa) [2131308]- drm/i915/fbdev: do not create fbdev if HPD is suspended (Jocelyn Falempe) [2156006] - drm/i915/fbdev: suspend HPD before fbdev unregistration (Jocelyn Falempe) [2156006] - drm/i915/hpd: suspend MST at the end of intel_modeset_driver_remove (Jocelyn Falempe) [2156006] - drm/i915/gvt: fix vgpu debugfs clean in remove (Jocelyn Falempe) [2115903] - drm/i915/gvt: fix gvt debugfs destroy (Jocelyn Falempe) [2115903] - drm/amdkfd: Fix kernel warning during topology setup (Jocelyn Falempe) [2115903] - Revert "drm/amd/display: Enable Freesync Video Mode by default" (Jocelyn Falempe) [2115903] - drm/amdkfd: Fix double release compute pasid (Jocelyn Falempe) [2115903] - drm/amdkfd: Fix kfd_process_device_init_vm error handling (Jocelyn Falempe) [2115903] - drm/amdgpu: Fix size validation for non-exclusive domains (v4) (Jocelyn Falempe) [2115903] - drm/i915/gvt: fix double free bug in split_2MB_gtt_entry (Jocelyn Falempe) [2115903] - drm/i915: unpin on error in intel_vgpu_shadow_mm_pin() (Jocelyn Falempe) [2115903] - drm/amd/pm: correct the fan speed retrieving in PWM for some SMU13 asics (Jocelyn Falempe) [2115903] - drm/amd/pm: bump SMU13.0.0 driver_if header to version 0x34 (Jocelyn Falempe) [2115903] - drm/amd/pm: add missing SMU13.0.7 mm_dpm feature mapping (Jocelyn Falempe) [2115903] - drm/amd/pm: add missing SMU13.0.0 mm_dpm feature mapping (Jocelyn Falempe) [2115903] - drm/i915/migrate: Account for the reserved_space (Jocelyn Falempe) [2115903] - drm/i915: improve the catch-all evict to handle lock contention (Jocelyn Falempe) [2115903] - drm/amdgpu: make display pinning more flexible (v2) (Jocelyn Falempe) [2115903] - drm/amdgpu: handle polaris10/11 overlap asics (v2) (Jocelyn Falempe) [2115903] - drm/amd/display: Add DCN314 display SG Support (Jocelyn Falempe) [2115903] - drm/i915/ttm: consider CCS for backup objects (Jocelyn Falempe) [2115903] - drm/i915/dsi: fix VBT send packet port selection for dual link DSI (Jocelyn Falempe) [2115903] - drm/vmwgfx: Validate the box size for the snooped cursor (Jocelyn Falempe) [2115903] - drm/connector: send hotplug uevent on connector cleanup (Jocelyn Falempe) [2115903] - drm/amdgpu: fix mmhub register base coding error (Jocelyn Falempe) [2115903] - drm/amd/pm: correct SMU13.0.0 pstate profiling clock settings (Jocelyn Falempe) [2115903] - drm/amd/pm: update SMU13.0.0 reported maximum shader clock (Jocelyn Falempe) [2115903] - drm/amdgpu: skip MES for S0ix as well since it's part of GFX (Jocelyn Falempe) [2115903] - drm/amd/display: revert Disable DRR actions during state commit (Jocelyn Falempe) [2115903] - drm/amd/pm: avoid large variable on kernel stack (Jocelyn Falempe) [2115903] - drm/i915/display: Don't disable DDI/Transcoder when setting phy test pattern (Jocelyn Falempe) [2115903] - drm/sti: Fix return type of sti_{dvo,hda,hdmi}_connector_mode_valid() (Jocelyn Falempe) [2115903] - drm/fsl-dcu: Fix return type of fsl_dcu_drm_connector_mode_valid() (Jocelyn Falempe) [2115903] - drm/amd/display: Fix DTBCLK disable requests and SRC_SEL programming (Jocelyn Falempe) [2115903] - drm/amd/display: Use the largest vready_offset in pipe group (Jocelyn Falempe) [2115903] - drm/amd/display: fix array index out of bound error in bios parser (Jocelyn Falempe) [2115903] - drm/amd/display: Workaround to increase phantom pipe vactive in pipesplit (Jocelyn Falempe) [2115903] - drm/sti: Use drm_mode_copy() (Jocelyn Falempe) [2115903] - drm/amd/display: Disable DRR actions during state commit (Jocelyn Falempe) [2115903] - drm/amdgpu: Fix type of second parameter in odn_edit_dpm_table() callback (Jocelyn Falempe) [2115903] - drm/amdgpu: Fix type of second parameter in trans_msg() callback (Jocelyn Falempe) [2115903] - Revert "drm/amd/display: Limit max DSC target bpp for specific monitors" (Jocelyn Falempe) [2115903] - drm/edid: add a quirk for two LG monitors to get them to work on 10bpc (Jocelyn Falempe) [2115903] - drm/amd/display: prevent memory leak (Jocelyn Falempe) [2115903] - drm/i915/bios: fix a memory leak in generate_lfp_data_ptrs (Jocelyn Falempe) [2115903] - drm/amdkfd: Fix memory leakage (Jocelyn Falempe) [2115903] - drm/amdgpu: Fix PCI device refcount leak in amdgpu_atrm_get_bios() (Jocelyn Falempe) [2115903] - drm/radeon: Fix PCI device refcount leak in radeon_atrm_get_bios() (Jocelyn Falempe) [2115903] - amdgpu/nv.c: Corrected typo in the video capabilities resolution (Jocelyn Falempe) [2115903] - drm/amd/pm/smu11: BACO is supported when it's in BACO state (Jocelyn Falempe) [2115903] - drm/tegra: Add missing clk_disable_unprepare() in tegra_dc_probe() (Jocelyn Falempe) [2115903] - drm/i915/guc: make default_lists const data (Jocelyn Falempe) [2115903] - drm/amdgpu: fix pci device refcount leak (Jocelyn Falempe) [2115903] - drm/fourcc: Fix vsub/hsub for Q410 and Q401 (Jocelyn Falempe) [2115903] - amdgpu/pm: prevent array underflow in vega20_odn_edit_dpm_table() (Jocelyn Falempe) [2115903] - drm/radeon: Add the missed acpi_put_table() to fix memory leak (Jocelyn Falempe) [2115903] - drm/ttm: fix undefined behavior in bit shift for TTM_TT_FLAG_PRIV_POPULATED (Jocelyn Falempe) [2115903] - drm/panel/panel-sitronix-st7701: Remove panel on DSI attach failure (Jocelyn Falempe) [2115903] - drm/amd/display: wait for vblank during pipe programming (Jocelyn Falempe) [2115903] - drm/i915/guc: Fix GuC error capture sizing estimation and reporting (Jocelyn Falempe) [2115903] - drm/i915/guc: Add error-capture init warnings when needed (Jocelyn Falempe) [2115903] - drm/i915/guc: Make GuC log sizes runtime configurable (Jocelyn Falempe) [2115903] - drm/i915/guc: Fix capture size warning and bump the size (Jocelyn Falempe) [2115903] - drm/i915/guc: Add a helper for log buffer size (Jocelyn Falempe) [2115903] - drm/i915: Fix compute pre-emption w/a to apply to compute engines (Jocelyn Falempe) [2115903] - drm/i915/guc: Limit scheduling properties to avoid overflow (Jocelyn Falempe) [2115903] - drm/bridge: it6505: Initialize AUX channel in it6505_i2c_probe (Jocelyn Falempe) [2115903] - drm/amdgpu/powerplay/psm: Fix memory leak in power state init (Jocelyn Falempe) [2115903] - drm/bridge: adv7533: remove dynamic lane switching from adv7533 bridge (Jocelyn Falempe) [2115903] - drm/atomic-helper: Don't allocate new plane state in CRTC check (Jocelyn Falempe) [2115903] - drm/amdgpu/vcn: update vcn4 fw shared data structure (Jocelyn Falempe) [2115903] - drm: bridge: dw_hdmi: fix preference of RGB modes over YUV420 (Jocelyn Falempe) [2115903] - drm/bridge: ti-sn65dsi86: Fix output polarity setting bug (Jocelyn Falempe) [2115903] - drm/vmwgfx: Fix race issue calling pin_user_pages (Jocelyn Falempe) [2115903] - drm/shmem-helper: Avoid vm_open error paths (Jocelyn Falempe) [2115903] - drm/shmem-helper: Remove errant put in error path (Jocelyn Falempe) [2115903] - drm/amd/display: fix array index out of bound error in DCN32 DML (Jocelyn Falempe) [2115903] - drm/amdgpu/sdma_v4_0: turn off SDMA ring buffer in the s2idle suspend (Jocelyn Falempe) [2115903] - drm/vmwgfx: Don't use screen objects when SEV is active (Jocelyn Falempe) [2115903] - drm/amdgpu: fix use-after-free during gpu recovery (Jocelyn Falempe) [2115903] - drm/amd/display: Use new num clk levels struct for max mclk index (Jocelyn Falempe) [2115903] - drm/amd/display: Avoid setting pixel rate divider to N/A (Jocelyn Falempe) [2115903] - drm/amd/display: Use viewport height for subvp mall allocation size (Jocelyn Falempe) [2115903] - drm/i915: Remove non-existent pipes from bigjoiner pipe mask (Jocelyn Falempe) [2115903] - drm/i915: Never return 0 if not all requests retired (Jocelyn Falempe) [2115903] - drm/i915: Fix negative value passed as remaining time (Jocelyn Falempe) [2115903] - drm/amdgpu: enable Vangogh VCN indirect sram mode (Jocelyn Falempe) [2115903] - drm/amdgpu: temporarily disable broken Clang builds due to blown stack-frame (Jocelyn Falempe) [2115903] - drm/amd/pm: update driver if header for smu_13_0_7 (Jocelyn Falempe) [2115903] - drm/amd/pm: update driver-if header for smu_v13_0_10 (Jocelyn Falempe) [2115903] - drm/amd/pm: add smu_v13_0_10 driver if version (Jocelyn Falempe) [2115903] - drm/amdgpu: fix userptr HMM range handling v2 (Jocelyn Falempe) [2115903] - drm/amdgpu: cleanup error handling in amdgpu_cs_parser_bos (Jocelyn Falempe) [2115903] - drm/amdgpu: move setting the job resources (Jocelyn Falempe) [2115903] - drm/amdgpu: Partially revert "drm/amdgpu: update drm_display_info correctly when the edid is read" (Jocelyn Falempe) [2115903] - drm/amdgpu: always register an MMU notifier for userptr (Jocelyn Falempe) [2115903] - drm/amd/display: Update soc bounding box for dcn32/dcn321 (Jocelyn Falempe) [2115903] - drm/amd/amdgpu: reserve vm invalidation engine for firmware (Jocelyn Falempe) [2115903] - drm/amdgpu: Enable Aldebaran devices to report CU Occupancy (Jocelyn Falempe) [2115903] - drm/amdgpu/psp: don't free PSP buffers on suspend (Jocelyn Falempe) [2115903] - drm/amd/display: No display after resume from WB/CB (Jocelyn Falempe) [2115903] - drm/amd/dc/dce120: Fix audio register mapping, stop triggering KASAN (Jocelyn Falempe) [2115903] - drm/display/dp_mst: Fix drm_dp_mst_add_affected_dsc_crtcs() return code (Jocelyn Falempe) [2115903] - drm/i915/ttm: never purge busy objects (Jocelyn Falempe) [2115903] - drm/amdkfd: Fix a memory limit issue (Jocelyn Falempe) [2115903] - drm/amdgpu: disable BACO support on more cards (Jocelyn Falempe) [2115903] - drm/amd/display: use uclk pstate latency for fw assisted mclk validation dcn32 (Jocelyn Falempe) [2115903] - drm/amd/display: Fix calculation for cursor CAB allocation (Jocelyn Falempe) [2115903] - drm/amd/display: Update MALL SS NumWays calculation (Jocelyn Falempe) [2115903] - drm/amd/display: Add debug option for allocating extra way for cursor (Jocelyn Falempe) [2115903] - drm/amd/display: Added debug option for forcing subvp num ways (Jocelyn Falempe) [2115903] - drm/amdkfd: update GFX11 CWSR trap handler (Jocelyn Falempe) [2115903] - drm/amdgpu: Enable SA software trap. (Jocelyn Falempe) [2115903] - dma-buf: Use dma_fence_unwrap_for_each when importing fences (Jocelyn Falempe) [2115903] - dma-buf: fix racing conflict of dma_heap_add() (Jocelyn Falempe) [2115903] - drm/i915: Fix warn in intel_display_power_*_domain() functions (Jocelyn Falempe) [2115903] - drm/amd/display: only fill dirty rectangles when PSR is enabled (Jocelyn Falempe) [2115903] - drm/amdgpu: Drop eviction lock when allocating PT BO (Jocelyn Falempe) [2115903] - Revert "drm/amdgpu: Revert "drm/amdgpu: getting fan speed pwm for vega10 properly"" (Jocelyn Falempe) [2115903] - drm/amd/display: Fix gpio port mapping issue (Jocelyn Falempe) [2115903] - drm/amd/display: Fix FCLK deviation and tool compile issues (Jocelyn Falempe) [2115903] - drm/amd/display: Zeromem mypipe heap struct before using it (Jocelyn Falempe) [2115903] - drm: panel-orientation-quirks: Add quirk for Acer Switch V 10 (SW5-017) (Jocelyn Falempe) [2115903] - drm: panel-orientation-quirks: Add quirk for Nanote UMPC-01 (Jocelyn Falempe) [2115903] - drm/amd/display: Fix prefetch calculations for dcn32 (Jocelyn Falempe) [2115903] - drm/amd/display: don't enable DRM CRTC degamma property for DCE (Jocelyn Falempe) [2115903] - drm/amd/display: Fix optc2_configure warning on dcn314 (Jocelyn Falempe) [2115903] - drm/amd/display: Support parsing VRAM info v3.0 from VBIOS (Jocelyn Falempe) [2115903] - drm/amd/display: Fix access timeout to DPIA AUX at boot time (Jocelyn Falempe) [2115903] - drm/amd/display: Add HUBP surface flip interrupt handler (Jocelyn Falempe) [2115903] - drm/amd/display: Fix invalid DPIA AUX reply causing system hang (Jocelyn Falempe) [2115903] - drm/display: Don't assume dual mode adaptors support i2c sub-addressing (Jocelyn Falempe) [2115903] - drm/amd/pm: fix SMU13 runpm hang due to unintentional workaround (Jocelyn Falempe) [2115903] - drm/amd/pm: enable runpm support over BACO for SMU13.0.0 (Jocelyn Falempe) [2115903] - drm/amd/pm: enable runpm support over BACO for SMU13.0.7 (Jocelyn Falempe) [2115903] - drm: Fix potential null-ptr-deref in drm_vblank_destroy_worker() (Jocelyn Falempe) [2115903] - drm/drv: Fix potential memory leak in drm_dev_init() (Jocelyn Falempe) [2115903] - drm/panel: simple: set bpc field for logic technologies displays (Jocelyn Falempe) [2115903] - drm/amd/display: Investigate tool reported FCLK P-state deviations (Jocelyn Falempe) [2115903] - drm/amd/display: Round up DST_after_scaler to nearest int (Jocelyn Falempe) [2115903] - drm/amd/display: Use forced DSC bpp in DML (Jocelyn Falempe) [2115903] - drm/amd/display: Fix DCN32 DSC delay calculation (Jocelyn Falempe) [2115903] - drm/amd: Fail the suspend if resources can't be evicted (Jocelyn Falempe) [2115903] - drm/amdgpu: set fb_modifiers_not_supported in vkms (Jocelyn Falempe) [2115903] - drm/amd/display: Enable timing sync on DCN32 (Jocelyn Falempe) [2115903] - drm/amd/display: Ignore Cable ID Feature (Jocelyn Falempe) [2115903] - drm/imx: imx-tve: Fix return type of imx_tve_connector_mode_valid (Jocelyn Falempe) [2115903] - drm/scheduler: fix fence ref counting (Jocelyn Falempe) [2115903] - drm/amd/display: Don't return false if no stream (Jocelyn Falempe) [2115903] - drm/amd/display: Remove wrong pipe control lock (Jocelyn Falempe) [2115903] - drm/amdgpu: Adjust MES polling timeout for sriov (Jocelyn Falempe) [2115903] - drm/amdkfd: Migrate in CPU page fault use current mm (Jocelyn Falempe) [2115903] - drm/amdkfd: Fix error handling in kfd_criu_restore_events (Jocelyn Falempe) [2115903] - drm/amdkfd: Fix error handling in criu_checkpoint (Jocelyn Falempe) [2115903] - drm/amdgpu: disable BACO on special BEIGE_GOBY card (Jocelyn Falempe) [2115903] - drm/amdgpu: workaround for TLB seq race (Jocelyn Falempe) [2115903] - drm/amd/display: Update SR watermarks for DCN314 (Jocelyn Falempe) [2115903] - drm/amd/pm: update SMU IP v13.0.4 msg interface header (Jocelyn Falempe) [2115903] - drm/amd/display: Fix reg timeout in enc314_enable_fifo (Jocelyn Falempe) [2115903] - drm/i915/dmabuf: fix sg_table handling in map_dma_buf (Jocelyn Falempe) [2115903] - drm/amdgpu: Fix the lpfn checking condition in drm buddy (Jocelyn Falempe) [2115903] - drm/i915: Do not set cache_dirty for DGFX (Jocelyn Falempe) [2115903] - drm/i915/psr: Send update also on invalidate (Jocelyn Falempe) [2115903] - drm/vc4: Fix missing platform_unregister_drivers() call in vc4_drm_register() (Jocelyn Falempe) [2115903] - drm/amdkfd: Fix NULL pointer dereference in svm_migrate_to_ram() (Jocelyn Falempe) [2115903] - drm/amdkfd: handle CPU fault on COW mapping (Jocelyn Falempe) [2115903] - drm/amd/display: Set memclk levels to be at least 1 for dcn32 (Jocelyn Falempe) [2115903] - drm/amd/display: Limit dcn32 to 1950Mhz display clock (Jocelyn Falempe) [2115903] - drm/amd/display: Acquire FCLK DPM levels on DCN32 (Jocelyn Falempe) [2115903] - drm/i915/sdvo: Grab mode_config.mutex during LVDS init to avoid WARNs (Jocelyn Falempe) [2115903] - drm/i915: Simplify intel_panel_add_edid_alt_fixed_modes() (Jocelyn Falempe) [2115903] - drm/i915: Allow more varied alternate fixed modes for panels (Jocelyn Falempe) [2115903] - drm/i915/sdvo: Setup DDC fully before output init (Jocelyn Falempe) [2115903] - drm/i915/sdvo: Filter out invalid outputs more sensibly (Jocelyn Falempe) [2115903] - drm/amd/display: Update DSC capabilitie for DCN314 (Jocelyn Falempe) [2115903] - drm/amd/display: Update latencies on DCN321 (Jocelyn Falempe) [2115903] - drm/amdgpu: disable GFXOFF during compute for GFX11 (Jocelyn Falempe) [2115903] - drm/i915: stop abusing swiotlb_max_segment (Jocelyn Falempe) [2115903] - drm/rockchip: fix fbdev on non-IOMMU devices (Jocelyn Falempe) [2115903] - drm/rockchip: dw_hdmi: filter regulator -EPROBE_DEFER error messages (Jocelyn Falempe) [2115903] - drm/amdgpu: dequeue mes scheduler during fini (Jocelyn Falempe) [2115903] - drm/amdgpu: Program GC registers through RLCG interface in gfx_v11/gmc_v11 (Jocelyn Falempe) [2115903] - drm/amdkfd: Fix type of reset_type parameter in hqd_destroy() callback (Jocelyn Falempe) [2115903] - drm/amd/pm: skip loading pptable from driver on secure board for smu_v13_0_10 (Jocelyn Falempe) [2115903] - drm/amdgpu: set vm_update_mode=0 as default for Sienna Cichlid in SRIOV case (Jocelyn Falempe) [2115903] - drm/amdkfd: Fix memory leak in kfd_mem_dmamap_userptr() (Jocelyn Falempe) [2115903] - drm/i915/dp: Reset frl trained flag before restarting FRL training (Jocelyn Falempe) [2115903] - drm/i915/dgfx: Keep PCI autosuspend control 'on' by default on all dGPU (Jocelyn Falempe) [2115903] - drm/bridge: ps8640: Add back the 50 ms mystery delay after HPD (Jocelyn Falempe) [2115903] - drm/msm: Fix return type of mdp4_lvds_connector_mode_valid (Jocelyn Falempe) [2115903] - drm/msm/hdmi: fix memory corruption with too many bridges (Jocelyn Falempe) [2115903] - drm/msm/dsi: fix memory corruption with too many bridges (Jocelyn Falempe) [2115903] - drm/amdkfd: correct the cache info for gfx1036 (Jocelyn Falempe) [2115903] - drm/amdkfd: update gfx1037 Lx cache setting (Jocelyn Falempe) [2115903] - drm/amd/display: Revert logic for plane modifiers (Jocelyn Falempe) [2115903] - drm/amdgpu: fix pstate setting issue (Jocelyn Falempe) [2115903] - drm/amdgpu: disallow gfxoff until GC IP blocks complete s2idle resume (Jocelyn Falempe) [2115903] - drm/amdgpu: Remove ATC L2 access for MMHUB 2.1.x (Jocelyn Falempe) [2115903] - drm/i915: Extend Wa_1607297627 to Alderlake-P (Jocelyn Falempe) [2115903] - drm/amdgpu: Fix for BO move issue (Jocelyn Falempe) [2115903] - drm/amdgpu: Fix VRAM BO swap issue (Jocelyn Falempe) [2115903] - drm/vc4: Add module dependency on hdmi-codec (Jocelyn Falempe) [2115903] - drm/amdgpu: fix sdma doorbell init ordering on APUs (Jocelyn Falempe) [2115903] - drm/amd/pm: update SMU IP v13.0.4 driver interface version (Jocelyn Falempe) [2115903] - drm/amd/pm: fulfill SMU13.0.0 cstate control interface (Jocelyn Falempe) [2115903] - drm/amd/pm: disable cstate feature for gpu reset scenario (Jocelyn Falempe) [2115903] - drm/amd/pm: add SMU IP v13.0.4 IF version define to V7 (Jocelyn Falempe) [2115903] - drm/amd/pm: fulfill SMU13.0.7 cstate control interface (Jocelyn Falempe) [2115903] - drm/i915/bios: Use hardcoded fp_timing size for generating LFP data pointers (Jocelyn Falempe) [2115903] - drm/i915/bios: Validate fp_timing terminator presence (Jocelyn Falempe) [2115903] - drm/amd/display: Fix build breakage with CONFIG_DEBUG_FS=n (Jocelyn Falempe) [2115903] - Revert "drm/amd/display: correct hostvm flag" (Jocelyn Falempe) [2115903] - drm/amdkfd: Fix UBSAN shift-out-of-bounds warning (Jocelyn Falempe) [2115903] - drm/amd/display: polling vid stream status in hpo dp blank (Jocelyn Falempe) [2115903] - drm/amd/display: Remove interface for periodic interrupt 1 (Jocelyn Falempe) [2115903] - drm/dp: Don't rewrite link config when setting phy test pattern (Jocelyn Falempe) [2115903] - drm/amdgpu: fix initial connector audio value (Jocelyn Falempe) [2115903] - drm/amd/display: correct hostvm flag (Jocelyn Falempe) [2115903] - drm/amd/display: Fix urgent latency override for DCN32/DCN321 (Jocelyn Falempe) [2115903] - drm/amdgpu: SDMA update use unlocked iterator (Jocelyn Falempe) [2115903] - drm: panel-orientation-quirks: Add quirk for Aya Neo Air (Jocelyn Falempe) [2115903] - drm: panel-orientation-quirks: Add quirk for Anbernic Win600 (Jocelyn Falempe) [2115903] - drm/vc4: vec: Fix timings for VEC modes (Jocelyn Falempe) [2115903] - drm/admgpu: Skip CG/PG on SOC21 under SRIOV VF (Jocelyn Falempe) [2115903] - drm/amdgpu: Skip the program of MMMC_VM_AGP_* in SRIOV on MMHUB v3_0_0 (Jocelyn Falempe) [2115903] - drm/amd/display: Fix variable dereferenced before check (Jocelyn Falempe) [2115903] - drm: bridge: dw_hdmi: only trigger hotplug event on link change (Jocelyn Falempe) [2115903] - drm/amd: fix potential memory leak (Jocelyn Falempe) [2115903] - udmabuf: Set ubuf->sg = NULL if the creation of sg table fails (Jocelyn Falempe) [2115903] - drm/amd/display: fix overflow on MIN_I64 definition (Jocelyn Falempe) [2115903] - gpu: lontium-lt9611: Fix NULL pointer dereference in lt9611_connector_init() (Jocelyn Falempe) [2115903] - drm: Prevent drm_copy_field() to attempt copying a NULL pointer (Jocelyn Falempe) [2115903] - drm: Use size_t type for len variable in drm_copy_field() (Jocelyn Falempe) [2115903] - drm/nouveau/nouveau_bo: fix potential memory leak in nouveau_bo_alloc() (Jocelyn Falempe) [2115903] - virtio-gpu: fix shift wrapping bug in virtio_gpu_fence_event_create() (Jocelyn Falempe) [2115903] - drm/vmwgfx: Fix memory leak in vmw_mksstat_add_ioctl() (Jocelyn Falempe) [2115903] - drm/amdgpu: Fix memory leak in hpd_rx_irq_create_workqueue() (Jocelyn Falempe) [2115903] - drm/bochs: fix blanking (Jocelyn Falempe) [2115903] - drm/virtio: set fb_modifiers_not_supported (Jocelyn Falempe) [2115903] - drm/bridge: it6505: Fix the order of DP_SET_POWER commands (Jocelyn Falempe) [2115903] - drm/bridge: megachips: Fix a null pointer dereference bug (Jocelyn Falempe) [2115903] - drm/amdgpu: add missing pci_disable_device() in amdgpu_pmops_runtime_resume() (Jocelyn Falempe) [2115903] - drm: fix drm_mipi_dbi build errors (Jocelyn Falempe) [2115903] - drm/panel: use 'select' for Ili9341 panel driver helpers (Jocelyn Falempe) [2115903] - drm/virtio: Fix same-context optimization (Jocelyn Falempe) [2115903] - drm/i915/dg2: Bump up CDCLK for DG2 (Jocelyn Falempe) [2115903] - drm/dp_mst: fix drm_dp_dpcd_read return value checks (Jocelyn Falempe) [2115903] - drm/format-helper: Fix test on big endian architectures (Jocelyn Falempe) [2115903] - drm/bridge: parade-ps8640: Fix regulator supply order (Jocelyn Falempe) [2115903] - drm/bridge: tc358767: Add of_node_put() when breaking out of loop (Jocelyn Falempe) [2115903] - drm/bridge: anx7625: Fix refcount bug in anx7625_parse_dt() (Jocelyn Falempe) [2115903] - drm/virtio: Correct drm_gem_shmem_get_sg_table() error handling (Jocelyn Falempe) [2115903] - drm/bridge: it6505: Power on downstream device in .atomic_enable (Jocelyn Falempe) [2115903] - drm/mipi-dsi: Detach devices when removing the host (Jocelyn Falempe) [2115903] - drm/bridge: Avoid uninitialized variable warning (Jocelyn Falempe) [2115903] - drm: bridge: adv7511: unregister cec i2c device after cec adapter (Jocelyn Falempe) [2115903] - drm: bridge: adv7511: fix CEC power down control register offset (Jocelyn Falempe) [2115903] - drm/amdgpu: Enable F32_WPTR_POLL_ENABLE in mqd (Jocelyn Falempe) [2115903] - drm/amdgpu: Enable VCN PG on GC11_0_1 (Jocelyn Falempe) [2115903] - drm/amd/display: explicitly disable psr_feature_enable appropriately (Jocelyn Falempe) [2115903] - drm/amd/display: Add HUBP surface flip interrupt handler (Jocelyn Falempe) [2115903] - drm/amd/display: Fix vblank refcount in vrr transition (Jocelyn Falempe) [2115903] - drm/amd/display: Enable 2 to 1 ODM policy if supported (Jocelyn Falempe) [2115903] - drm/amd/display: Enable dpia support for dcn314 (Jocelyn Falempe) [2115903] - drm/amd/display: Validate DSC After Enable All New CRTCs (Jocelyn Falempe) [2115903] - drm/amd/display: zeromem mypipe heap struct before using it (Jocelyn Falempe) [2115903] - drm/amd/display: Update PMFW z-state interface for DCN314 (Jocelyn Falempe) [2115903] - drm/amd/display: Fix watermark calculation (Jocelyn Falempe) [2115903] - drm/i915: Fix display problems after resume (Jocelyn Falempe) [2115903] - drm/i915/guc: Fix revocation of non-persistent contexts (Jocelyn Falempe) [2115903] - drm/i915/gt: Use i915_vm_put on ppgtt_create error paths (Jocelyn Falempe) [2115903] - drm/nouveau: fix a use-after-free in nouveau_gem_prime_import_sg_table() (Jocelyn Falempe) [2115903] - drm/udl: Restore display mode on resume (Jocelyn Falempe) [2115903] - drm/virtio: Use appropriate atomic state in virtio_gpu_plane_cleanup_fb() (Jocelyn Falempe) [2115903] - drm/virtio: Unlock reservations on dma_resv_reserve_fences() error (Jocelyn Falempe) [2115903] - drm/virtio: Unlock reservations on virtio_gpu_object_shmem_init() error (Jocelyn Falempe) [2115903] - drm/virtio: Check whether transferred 2D BO is shmem (Jocelyn Falempe) [2115903] - Revert "drm/amdgpu: use dirty framebuffer helper" (Jocelyn Falempe) [2115903]- nvme: fix SRCU protection of nvme_ns_head list (Ewan D. Milne) [2113865] - perf vendor events power10: Fix hv-24x7 metric events (Mamatha Inamdar) [2149192] - perf tests: Fix 'perf probe' error log check in skip_if_no_debuginfo (Mamatha Inamdar) [2149192] - perf tests: Fix *probe_vfs_getname.sh test failures (Mamatha Inamdar) [2149192] - blk-cgroup: Optimize blkcg_rstat_flush() (Waiman Long) [2162173] - blk-cgroup: Return -ENOMEM directly in blkcg_css_alloc() error path (Waiman Long) [2162173] - blk-cgroup: factor out blkcg_iostat_update() (Waiman Long) [2162173] - mm/memcg: Free percpu stats memory of dying memcg's again (Waiman Long) [2162173] - memcg: sync flush only if periodic flush is delayed (Waiman Long) [2162173] - memcg: better bounds on the memcg stats updates (Waiman Long) [2162173] - memcg: unify memcg stat flushing (Waiman Long) [2162173] - memcg: flush stats only if updated (Waiman Long) [2162173] - memcg: flush lruvec stats in the refault (Waiman Long) [2162173] - memcg: infrastructure to flush memcg stats (Waiman Long) [2162173] - memcg: switch lruvec stats to rstat (Waiman Long) [2162173] - mm/memcg: Remove mem_cgroup_per_node from being kABI protected (Waiman Long) [2162173] - mm/memcg: Revert "Free percpu stats memory of dying memcg's" (Waiman Long) [2162173]- virt/sev-guest: Prevent IV reuse in the SNP guest driver (John Allen) [2087262] - virt/sev-guest: Add a MODULE_ALIAS (John Allen) [2087262] - virt/sev-guest: Remove unnecessary free in init_crypto() (John Allen) [2087262] - x86/sev: Don't use cc_platform_has() for early SEV-SNP calls (John Allen) [2087262] - x86/boot: Don't propagate uninitialized boot_params->cc_blob_address (John Allen) [2087262] - x86/idt: Rework IDT setup for boot CPU (John Allen) [2087262] - x86/cpu: Init AP exception handling from cpu_init_secondary() (John Allen) [2087262] - x86/idt: Cleanup trap_init() (John Allen) [2087262] - x86/idt: Annotate alloc_intr_gate() with __init (John Allen) [2087262] - redhat/configs: enable CONFIG_SEV_GUEST (John Allen) [2087262] - virt: sev-guest: Pass the appropriate argument type to iounmap() (John Allen) [2087262] - x86/compressed/64: Add identity mappings for setup_data entries (John Allen) [2087262] - x86/sev: Mark the code returning to user space as syscall gap (John Allen) [2087262] - x86/sev: Annotate stack change in the #VC handler (John Allen) [2087262] - x86/sev: Remove duplicated assignment to variable info (John Allen) [2087262] - x86/sev: Fix address space sparse warning (John Allen) [2087262] - x86/sev: Get the AP jump table address from secrets page (John Allen) [2087262] - x86/sev: Add missing __init annotations to SEV init routines (John Allen) [2087262] - virt: sevguest: Rename the sevguest dir and files to sev-guest (John Allen) [2087262] - virt: sevguest: Change driver name to reflect generic SEV support (John Allen) [2087262] - x86/boot: Put globals that are accessed early into the .data section (John Allen) [2087262] - x86/boot: Add an efi.h header for the decompressor (John Allen) [2087262] - virt: sevguest: Fix bool function returning negative value (John Allen) [2087262] - virt: sevguest: Fix return value check in alloc_shared_pages() (John Allen) [2087262] - x86/sev: Unroll string mmio with CC_ATTR_GUEST_UNROLL_STRING_IO (John Allen) [2087262] - x86/sev-es: Replace open-coded hlt-loop with sev_es_terminate() (John Allen) [2087262] - virt: sevguest: Add documentation for SEV-SNP CPUID Enforcement (John Allen) [2087262] - virt: sevguest: Add support to get extended report (John Allen) [2087262] - virt: sevguest: Add support to derive key (John Allen) [2087262] - virt: Add SEV-SNP guest driver (John Allen) [2087262] - x86/sev: Register SEV-SNP guest request platform device (John Allen) [2087262] - x86/sev: Provide support for SNP guest request NAEs (John Allen) [2087262] - x86/sev: Add a sev= cmdline option (John Allen) [2087262] - x86/sev: Use firmware-validated CPUID for SEV-SNP guests (John Allen) [2087262] - x86/sev: Add SEV-SNP feature detection/setup (John Allen) [2087262] - x86/sev: Check SME/SEV support in CPUID first (John Allen) [2087262] - x86/compressed/64: Add identity mapping for Confidential Computing blob (John Allen) [2087262] - x86/compressed: Export and rename add_identity_map() (John Allen) [2087262] - x86/compressed: Use firmware-validated CPUID leaves for SEV-SNP guests (John Allen) [2087262] - x86/compressed: Add SEV-SNP feature detection/setup (John Allen) [2087262] - x86/boot: Add a pointer to Confidential Computing blob in bootparams (John Allen) [2087262] - x86/boot: Preserve boot_params.secure_boot from sanitizing (John Allen) [2087262] - x86/boot: Fix boot regression caused by bootparam sanitizing (John Allen) [2087262] - x86/boot: Save fields explicitly, zero out everything else (John Allen) [2087262] - x86/compressed/64: Add support for SEV-SNP CPUID table in #VC handlers (John Allen) [2087262] - x86/sev: Move MSR-based VMGEXITs for CPUID to helper (John Allen) [2087262] - KVM: x86: Move lookup of indexed CPUID leafs to helper (John Allen) [2087262] - x86/boot: Add Confidential Computing type to setup_data (John Allen) [2087262] - x86/compressed/acpi: Move EFI kexec handling into common code (John Allen) [2087262] - x86/compressed/acpi: Move EFI vendor table lookup to helper (John Allen) [2087262] - x86/compressed/acpi: Move EFI config table lookup to helper (John Allen) [2087262] - x86/compressed/acpi: Move EFI system table lookup to helper (John Allen) [2087262] - x86/compressed/acpi: Move EFI detection to helper (John Allen) [2087262] - x86/head/64: Re-enable stack protection (John Allen) [2087262] - x86/sev: Use SEV-SNP AP creation to start secondary CPUs (John Allen) [2087262] - x86/apic/of: Fix CPU devicetree-node lookups (John Allen) [2087262] - x86/mm: Validate memory when changing the C-bit (John Allen) [2087262] - x86/kernel: Validate ROM memory before accessing when SEV-SNP is active (John Allen) [2087262] - x86/kernel: Mark the .bss..decrypted section as shared in the RMP table (John Allen) [2087262] - x86/sev: Add helper for validating pages in early enc attribute changes (John Allen) [2087262] - x86/sev: Register GHCB memory when SEV-SNP is active (John Allen) [2087262] - x86/compressed: Register GHCB memory when SEV-SNP is active (John Allen) [2087262] - x86/compressed: Add helper for validating pages in the decompression stage (John Allen) [2087262] - x86/sev: Check the VMPL level (John Allen) [2087262] - x86/sev: Add a helper for the PVALIDATE instruction (John Allen) [2087262] - x86/sev: Check SEV-SNP features support (John Allen) [2087262] - x86/mm: Extend cc_attr to include AMD SEV-SNP (John Allen) [2087262] - x86/sev: Detect/setup SEV/SME features earlier in boot (John Allen) [2087262] - x86/compressed/64: Detect/setup SEV/SME features earlier during boot (John Allen) [2087262] - x86/boot: Use MSR read/write helpers instead of inline assembly (John Allen) [2087262] - x86/boot: Introduce helpers for MSR reads/writes (John Allen) [2087262] - KVM: SVM: Update the SEV-ES save area mapping (John Allen) [2087262] - KVM: SVM: Create a separate mapping for the GHCB save area (John Allen) [2087262] - KVM: SVM: Create a separate mapping for the SEV-ES save area (John Allen) [2087262] - KVM: SVM: Define sev_features and VMPL field in the VMSA (John Allen) [2087262] - x86/sev: Remove do_early_exception() forward declarations (John Allen) [2087262] - x86/sev: Make the #VC exception stacks part of the default stacks storage (John Allen) [2087262] - x86: Increase exception stack sizes (John Allen) [2087262] - x86/head64: Carve out the guest encryption postprocessing into a helper (John Allen) [2087262] - x86/sev: Get rid of excessive use of defines (John Allen) [2087262] - x86/sev: Add defines for GHCB version 2 MSR protocol requests (John Allen) [2087262] - x86/sev: Make sure IRQs are disabled while GHCB is active (John Allen) [2087262] - x86/sev: Propagate #GP if getting linear instruction address failed (John Allen) [2087262] - x86/insn: Extend error reporting from insn_fetch_from_user[_inatomic]() (John Allen) [2087262] - x86/sev-es: Convert to insn_decode() (John Allen) [2087262] - x86/sev-es: Split vc_decode_insn() (John Allen) [2087262] - x86/insn-eval: Make 0 a valid RIP for insn_get_effective_ip() (John Allen) [2087262] - x86/sev: Fix error message in runtime #VC handler (John Allen) [2087262] - x86/sev-es: Optimize __sev_es_ist_enter() for better readability (John Allen) [2087262] - x86/sev: Do not require Hypervisor CPUID bit for SEV guests (John Allen) [2087262] - x86/boot/compressed/64: Cleanup exception handling before booting kernel (John Allen) [2087262] - x86/sev-es: Remove subtraction of res variable (John Allen) [2087262]- net: mlx5: eliminate anonymous module_init & module_exit (Amir Tzin) [2157750] - net/mlx5: E-switch, Fix switchdev mode after devlink reload (Amir Tzin) [2157750] - net/mlx5e: Set decap action based on attr for sample (Amir Tzin) [2157750] - net/mlx5e: QoS, Fix wrongfully setting parent_element_id on MODIFY_SCHEDULING_ELEMENT (Amir Tzin) [2157750] - net/mlx5: E-switch, Fix setting of reserved fields on MODIFY_SCHEDULING_ELEMENT (Amir Tzin) [2157750] - net/mlx5e: Avoid false lock dependency warning on tc_ht even more (Amir Tzin) [2157750] - net/mlx5: fix missing mutex_unlock in mlx5_fw_fatal_reporter_err_work() (Amir Tzin) [2157750] - net/mlx5: Fix ptp max frequency adjustment range (Amir Tzin) [2157750] - net/mlx5e: IPoIB, Fix child PKEY interface stats on rx path (Amir Tzin) [2157750] - net/mlx5e: IPoIB, Block PKEY interfaces with less rx queues than parent (Amir Tzin) [2157750] - net/mlx5e: IPoIB, Block queue count configuration when sub interfaces are present (Amir Tzin) [2157750] - net/mlx5e: Verify dev is present for fix features ndo (Amir Tzin) [2157750] - net/mlx5: Fix command stats access after free (Amir Tzin) [2157750] - net/mlx5e: TC, Keep mod hdr actions after mod hdr alloc (Amir Tzin) [2157750] - net/mlx5: check attr pointer validity before dereferencing it (Amir Tzin) [2157750] - RDMA/mlx5: Fix validation of max_rd_atomic caps for DC (Amir Tzin) [2157750] - RDMA/mlx5: Fix mlx5_ib_get_hw_stats when used for device (Amir Tzin) [2157750] - net/mlx5e: Set geneve_tlv_option_0_exist when matching on geneve option (Amir Tzin) [2157750] - net/mlx5e: Fix hw mtu initializing at XDP SQ allocation (Amir Tzin) [2157750] - net/mlx5e: Always clear dest encap in neigh-update-del (Amir Tzin) [2157750] - net/mlx5e: CT: Fix ct debugfs folder name (Amir Tzin) [2157750] - net/mlx5e: IPoIB, Don't allow CQE compression to be turned on by default (Amir Tzin) [2157750] - net/mlx5: Fix RoCE setting at HCA level (Amir Tzin) [2157750] - net/mlx5: Avoid recovery in probe flows (Amir Tzin) [2157750] - net/mlx5: Fix io_eq_size and event_eq_size params validation (Amir Tzin) [2157750] - net/mlx5: Add forgotten cleanup calls into mlx5_init_once() error path (Amir Tzin) [2157750] - net/mlx5: E-Switch, properly handle ingress tagged packets on VST (Amir Tzin) [2157750 2096109] - dm thin: Use last transaction's pmd->root when commit failed (Benjamin Marzinski) [2162537] - dm thin: resume even if in FAIL mode (Benjamin Marzinski) [2162537] - dm cache: set needs_check flag after aborting metadata (Benjamin Marzinski) [2162537] - dm cache: Fix ABBA deadlock between shrink_slab and dm_cache_metadata_abort (Benjamin Marzinski) [2162537] - dm thin: Fix ABBA deadlock between shrink_slab and dm_pool_abort_metadata (Benjamin Marzinski) [2162537] - dm integrity: Fix UAF in dm_integrity_dtr() (Benjamin Marzinski) [2162537] - dm cache: Fix UAF in destroy() (Benjamin Marzinski) [2162537] - dm thin: Fix UAF in run_timer_softirq() (Benjamin Marzinski) [2162537] - dm integrity: clear the journal on suspend (Benjamin Marzinski) [2162537] - dm integrity: flush the journal on suspend (Benjamin Marzinski) [2162537] - dm bufio: Fix missing decrement of no_sleep_enabled if dm_bufio_client_create failed (Benjamin Marzinski) [2162537] - dm ioctl: fix misbehavior if list_versions races with module loading (Benjamin Marzinski) [2162537]- net: gso: fix panic on frag_list with mixed head alloc types (Jiri Benc) [2136229] - futex: Resend potentially swallowed owner death notification (Rafael Aquini) [2161526] - Bluetooth: L2CAP: Fix memory leak in vhci_write (Wander Lairson Costa) [2155872] {CVE-2022-3619} - net: Use this_cpu_inc() to increment net->core_stats (Antoine Tenart) [2152542] - vlan: fix memory leak in vlan_newlink() (Xin Long) [2051415] - vlan: move dev_put into vlan_dev_uninit (Xin Long) [2051415] - vlan: introduce vlan_dev_free_egress_priority (Xin Long) [2051415] - vlan: fix memory leak in vlan_dev_set_egress_priority (Xin Long) [2051415] - net: ethernet: move from strlcpy with unused retval to strscpy (Ken Cox) [2103956] - intel/ixgbevf:fix repeated words in comments (Ken Cox) [2103956] - intel: remove unused macros (Ken Cox) [2103956] - ixgbe: propagate XFRM offload state direction instead of flags (Ken Cox) [2103956] - ixgbevf: add disable link state (Ken Cox) [2103956] - ixgbevf: clean up some inconsistent indenting (Ken Cox) [2103956] - ethernet: use eth_hw_addr_set() instead of ether_addr_copy() (Ken Cox) [2103956] - intel: Remove rcu_read_lock() around XDP program invocation (Ken Cox) [2103956]- RDMA/siw: Always consume all skbuf data in sk_data_ready() upcall. (Kamal Heib) [2141420] - cifs: fix use-after-free caused by invalid pointer `hostname` (Ronnie Sahlberg) [2154172] - ceph: blocklist the kclient when receiving corrupted snap trace (Xiubo Li) [2162414] - ceph: move mount state enum to super.h (Xiubo Li) [2162414] - xfs: estimate post-merge refcounts correctly (Bill O'Donnell) [2161678] - xfs: hoist refcount record merge predicates (Bill O'Donnell) [2161678] - NFS: Fix revalidation of empty readdir pages (Benjamin Coddington) [2166364] - NFS: Don't deadlock when cookie hashes collide (Benjamin Coddington) [2166364] - locking/rwsem: Disable preemption in all down_read*() and up_read() code paths (Waiman Long) [2162139] - locking/rwsem: Prevent non-first waiter from spinning in down_write() slowpath (Waiman Long) [2162139] - locking/rwsem: Allow slowpath writer to ignore handoff bit if not set by first waiter (Waiman Long) [2162139] - locking/rwsem: Always try to wake waiters in out_nolock path (Waiman Long) [2162139] - locking/rwsem: No need to check for handoff bit if wait queue empty (Waiman Long) [2162139] - locking/rwsem: Make handoff bit handling more consistent (Waiman Long) [2162139] - dax: fix ENOMEM handling in grab_mapping_entry() (Andrey Albershteyn) [2128474] - crypto: ccp - Failure on re-initialization due to duplicate sysfs filename (Vladis Dronov) [2130714] - crypto: ccp - Avoid page allocation failure warning for SEV_GET_ID2 (Vladis Dronov) [2130714] - crypto: ccp - Add support for TEE for PCI ID 0x14CA (Vladis Dronov) [2130714] - crypto: ccp - Remove unused struct ccp_crypto_cpu (Vladis Dronov) [2130714] - crypto: ccp - Add __init/__exit annotations to module init/exit funcs (Vladis Dronov) [2130714] - i40e: Fix the inability to attach XDP program on downed interface (Ivan Vecera) [2121511] - mm, compaction: fix fast_isolate_around() to stay within boundaries (Daniel Vacek) [2149309]- aio: fix mremap after fork null-deref (Jeff Moyer) [2166088] - mm/hugetlb: use hugetlb_pte_stable in migration race check (Rafael Aquini) [2158120] {CVE-2022-3522} - mm/hugetlb: fix race condition of uffd missing/minor handling (Rafael Aquini) [2158120] {CVE-2022-3522} - mm/hugetlb: simplify the code when alloc_huge_page() failed in hugetlb_no_page() (Rafael Aquini) [2158120] {CVE-2022-3522} - mm/hugetlb: pass the old pte entry value to hugetlb_no_page() (Rafael Aquini) [2158120] {CVE-2022-3522} - perf/arm-cmn: Add more bits to child node address offset field (Charles Mirabile) [2122267] - perf/arm-cmn: Decode CAL devices properly in debugfs (Charles Mirabile) [2122267] - perf/arm-cmn: Fix filter_sel lookup (Charles Mirabile) [2122267] - drivers/perf: arm_spe: Expose saturating counter to 16-bit (Charles Mirabile) [2122267] - perf/arm-cmn: Add CMN-700 support (Charles Mirabile) [2122267] - perf/arm-cmn: Refactor occupancy filter selector (Charles Mirabile) [2122267] - perf/arm-cmn: Add CMN-650 support (Charles Mirabile) [2122267] - perf: check return value of armpmu_request_irq() (Charles Mirabile) [2122267] - arm_pmu: Validate single/group leader events (Charles Mirabile) [2122267] - perf: qcom_l2_pmu: fix an incorrect NULL check on list iterator (Charles Mirabile) [2122267] - drivers/perf: arm_pmu: Handle 47 bit counters (Charles Mirabile) [2122267] - perf/arm-cmn: Update watchpoint format (Charles Mirabile) [2122267] - perf/arm-cmn: Hide XP PUB events for CMN-600 (Charles Mirabile) [2122267] - perf: replace bitmap_weight with bitmap_empty where appropriate (Charles Mirabile) [2122267] - perf: Replace acpi_bus_get_device() (Charles Mirabile) [2122267] - perf/arm-cmn: Make arm_cmn_debugfs static (Charles Mirabile) [2122267] - perf/arm-ccn: Use platform_get_irq() to get the interrupt (Charles Mirabile) [2122267] - perf/smmuv3: Don't cast parameter in bit operations (Charles Mirabile) [2122267] - perf/smmuv3: Use msi_get_virq() (Charles Mirabile) [2122267] - perf/smmuv3: Synthesize IIDR from CoreSight ID registers (Charles Mirabile) [2122267] - perf/arm-cmn: Add debugfs topology info (Charles Mirabile) [2122267] - perf/arm-cmn: Add CI-700 Support (Charles Mirabile) [2122267] - perf/arm-cmn: Support new IP features (Charles Mirabile) [2122267] - devres: provide devm_krealloc() (Charles Mirabile) [2122267] - devres: move the size check from alloc_dr() into a separate function (Charles Mirabile) [2122267] - perf/arm-cmn: Demarcate CMN-600 specifics (Charles Mirabile) [2122267] - perf/arm-cmn: Move group validation data off-stack (Charles Mirabile) [2122267] - perf/arm-cmn: Optimise DTC counter accesses (Charles Mirabile) [2122267] - perf/arm-cmn: Optimise DTM counter reads (Charles Mirabile) [2122267] - perf/arm-cmn: Refactor DTM handling (Charles Mirabile) [2122267] - perf/arm-cmn: Streamline node iteration (Charles Mirabile) [2122267] - perf/arm-cmn: Refactor node ID handling (Charles Mirabile) [2122267] - perf/arm-cmn: Drop compile-test restriction (Charles Mirabile) [2122267] - perf/arm-cmn: Account for NUMA affinity (Charles Mirabile) [2122267] - perf/arm-cmn: Fix CPU hotplug unregistration (Charles Mirabile) [2122267] - drivers/perf: thunderx2_pmu: Change data in size tx2_uncore_event_update() (Charles Mirabile) [2122267] - perf: qcom_l2_pmu: move to use request_irq by IRQF_NO_AUTOEN flag (Charles Mirabile) [2122267] - arm_pmu: move to use request_irq by IRQF_NO_AUTOEN flag (Charles Mirabile) [2122267] - arm64: perf: Fix 64-bit event counter read truncation (Charles Mirabile) [2122267] - drivers/perf: Replace spin_lock_irqsave to spin_lock (Charles Mirabile) [2122267] - arm_pmu: arm64: Use NMIs for PMU (Charles Mirabile) [2122267] - arm_pmu: Introduce pmu_irq_ops (Charles Mirabile) [2122267] - arm64: perf: Defer irq_work to IPI_IRQ_WORK (Charles Mirabile) [2122267] - arm64: perf: Remove PMU locking (Charles Mirabile) [2122267] - arm64: perf: Avoid PMXEV* indirection (Charles Mirabile) [2122267] - arm64: perf: Add missing ISB in armv8pmu_enable_counter() (Charles Mirabile) [2122267] - perf: arm_spe: Remove unnecessary zero check on 'nr_pages' (Charles Mirabile) [2122267] - drivers/perf: arm_pmu_acpi: Fix incorrect checking of gicc pointer (Charles Mirabile) [2122267] - perf/smmuv3: Use platform_get_irq_optional() for wired interrupt (Charles Mirabile) [2122267]- wifi: rtw89: Add missing check for alloc_workqueue (Jose Ignacio Tornos Martinez) [2136125] - wifi: rtw89: fix potential leak in rtw89_append_probe_req_ie() (Jose Ignacio Tornos Martinez) [2136125] - wifi: mac80211: fix initialization of rx->link and rx->link_sta (Jose Ignacio Tornos Martinez) [2136125] - wifi: mac80211: Drop stations iterator where the iterator function may sleep (Jose Ignacio Tornos Martinez) [2136125] - wifi: ath9k: use proper statements in conditionals (Jose Ignacio Tornos Martinez) [2136125] - wifi: mac80211: fix MLO + AP_VLAN check (Jose Ignacio Tornos Martinez) [2136125] - wifi: mt76: fix coverity uninit_use_in_call in mt76_connac2_reverse_frag0_hdr_trans() (Jose Ignacio Tornos Martinez) [2136125] - wifi: nl80211: Add checks for nla_nest_start() in nl80211_send_iface() (Jose Ignacio Tornos Martinez) [2136125] - wifi: mt76: mt7921: Add missing __packed annotation of struct mt7921_clc (Jose Ignacio Tornos Martinez) [2136125] - wifi: mt76: do not send firmware FW_FEATURE_NON_DL region (Jose Ignacio Tornos Martinez) [2136125] - wifi: rtl8xxxu: Fix use after rcu_read_unlock in rtl8xxxu_bss_info_changed (Jose Ignacio Tornos Martinez) [2136125] - wifi: rtw89: fix physts IE page check (Jose Ignacio Tornos Martinez) [2136125] - wifi: mt76: mt7921: fix wrong power after multiple SAR set (Jose Ignacio Tornos Martinez) [2136125] - wifi: rtw89: Fix some error handling path in rtw89_core_sta_assoc() (Jose Ignacio Tornos Martinez) [2136125] - wifi: rtw89: use u32_encode_bits() to fill MAC quota value (Jose Ignacio Tornos Martinez) [2136125] - wifi: mt76: mt7921: fix reporting of TX AGGR histogram (Jose Ignacio Tornos Martinez) [2136125] - wifi: mac80211: fix ifdef symbol name (Jose Ignacio Tornos Martinez) [2136125] - wifi: ath11k: fix firmware assert during bandwidth change for peer sta (Jose Ignacio Tornos Martinez) [2136125] - Revert "mt76: use IEEE80211_OFFLOAD_ENCAP_ENABLED instead of MT_DRV_AMSDU_OFFLOAD" (Jose Ignacio Tornos Martinez) [2136125] - wifi: rtl8xxxu: gen2: Turn on the rate control (Jose Ignacio Tornos Martinez) [2136125] - wifi: ath11k: fix warning in dma_free_coherent() of memory chunks while recovery (Jose Ignacio Tornos Martinez) [2136125] - wifi: mac80211: check link ID in auth/assoc continuation (Jose Ignacio Tornos Martinez) [2136125] - wifi: mac80211: mlme: fix null-ptr deref on failed assoc (Jose Ignacio Tornos Martinez) [2136125] - wifi: fix multi-link element subelement iteration (Jose Ignacio Tornos Martinez) [2136125] - wifi: mt76: mt7921: fix antenna signal are way off in monitor mode (Jose Ignacio Tornos Martinez) [2136125] - wifi: mac8021: fix possible oob access in ieee80211_get_rate_duration (Jose Ignacio Tornos Martinez) [2136125] - wifi: cfg80211: don't allow multi-BSSID in S1G (Jose Ignacio Tornos Martinez) [2136125] - wifi: cfg80211: fix buffer overflow in elem comparison (Jose Ignacio Tornos Martinez) [2136125] - net: mhi: Fix memory leak in mhi_net_dellink() (Jose Ignacio Tornos Martinez) [2136125] - wifi: ath11k: Fix QCN9074 firmware boot on x86 (Jose Ignacio Tornos Martinez) [2136125] - wifi: mac80211: Set TWT Information Frame Disabled bit as 1 (Jose Ignacio Tornos Martinez) [2136125] - wifi: mac80211: Fix ack frame idr leak when mesh has no route (Jose Ignacio Tornos Martinez) [2136125] - wifi: mac80211: fix general-protection-fault in ieee80211_subif_start_xmit() (Jose Ignacio Tornos Martinez) [2136125] - wifi: mac80211_hwsim: fix debugfs attribute ps with rc table support (Jose Ignacio Tornos Martinez) [2136125] - wifi: cfg80211: Fix bitrates overflow issue (Jose Ignacio Tornos Martinez) [2136125] - wifi: cfg80211: fix memory leak in query_regdb_file() (Jose Ignacio Tornos Martinez) [2136125] - wifi: mac80211: fix memory free error when registering wiphy fail (Jose Ignacio Tornos Martinez) [2136125] - wifi: cfg80211: silence a sparse RCU warning (Jose Ignacio Tornos Martinez) [2136125] - wifi: rt2x00: use explicitly signed or unsigned types (Jose Ignacio Tornos Martinez) [2136125] - wifi: ath11k: mac: fix reading 16 bytes from a region of size 0 warning (Jose Ignacio Tornos Martinez) [2136125] - wifi: mt76: fix rx checksum offload on mt7615/mt7915/mt7921 (Jose Ignacio Tornos Martinez) [2136125] - wifi: mt76: fix receiving LLC packets on mt7615/mt7915 (Jose Ignacio Tornos Martinez) [2136125] - wifi: cfg80211: update hidden BSSes to avoid WARN_ON (Jose Ignacio Tornos Martinez) [2136125] - wifi: mac80211: fix crash in beacon protection for P2P-device (Jose Ignacio Tornos Martinez) [2136125 2134582] {CVE-2022-42722} - wifi: mac80211_hwsim: avoid mac80211 warning on bad rate (Jose Ignacio Tornos Martinez) [2136125] - wifi: cfg80211: avoid nontransmitted BSS list corruption (Jose Ignacio Tornos Martinez) [2136125 2134511] {CVE-2022-42721} - wifi: cfg80211: fix BSS refcounting bugs (Jose Ignacio Tornos Martinez) [2136125 2134460] {CVE-2022-42720} - wifi: cfg80211: ensure length byte is present before access (Jose Ignacio Tornos Martinez) [2136125] - wifi: mac80211: fix MBSSID parsing use-after-free (Jose Ignacio Tornos Martinez) [2136125] - wifi: cfg80211/mac80211: reject bad MBSSID elements (Jose Ignacio Tornos Martinez) [2136125] - wifi: cfg80211: fix u8 overflow in cfg80211_update_notlisted_nontrans() (Jose Ignacio Tornos Martinez) [2136125 2134385] {CVE-2022-41674} - wifi: nl80211: Split memcpy() of struct nl80211_wowlan_tcp_data_token flexible array (Jose Ignacio Tornos Martinez) [2136125] - wifi: wext: use flex array destination for memcpy() (Jose Ignacio Tornos Martinez) [2136125] - wifi: cfg80211: fix ieee80211_data_to_8023_exthdr handling of small packets (Jose Ignacio Tornos Martinez) [2136125] - wifi: mac80211: netdev compatible TX stop for iTXQ drivers (Jose Ignacio Tornos Martinez) [2136125] - wifi: mac80211: fix decap offload for stations on AP_VLAN interfaces (Jose Ignacio Tornos Martinez) [2136125] - wifi: mac80211: unlock on error in ieee80211_can_powered_addr_change() (Jose Ignacio Tornos Martinez) [2136125] - wifi: mac80211: remove/avoid misleading prints (Jose Ignacio Tornos Martinez) [2136125] - wifi: mac80211: fix probe req HE capabilities access (Jose Ignacio Tornos Martinez) [2136125] - wifi: mac80211: do not drop packets smaller than the LLC-SNAP header on fast-rx (Jose Ignacio Tornos Martinez) [2136125] - wifi: mt76: fix rate reporting / throughput regression on mt7915 and newer (Jose Ignacio Tornos Martinez) [2136125] - wifi: rtl8xxxu: Improve rtl8xxxu_queue_select (Jose Ignacio Tornos Martinez) [2136125] - wifi: rtl8xxxu: Fix AIFS written to REG_EDCA_*_PARAM (Jose Ignacio Tornos Martinez) [2136125] - wifi: rtl8xxxu: gen2: Enable 40 MHz channel width (Jose Ignacio Tornos Martinez) [2136125] - wifi: rtw89: 8852b: configure DLE mem (Jose Ignacio Tornos Martinez) [2136125] - wifi: rtw89: check DLE FIFO size with reserved size (Jose Ignacio Tornos Martinez) [2136125] - wifi: rtw89: mac: correct register of report IMR (Jose Ignacio Tornos Martinez) [2136125] - wifi: rtw89: pci: set power cut closed for 8852be (Jose Ignacio Tornos Martinez) [2136125] - wifi: rtw89: pci: add to do PCI auto calibration (Jose Ignacio Tornos Martinez) [2136125] - wifi: rtw89: 8852b: implement chip_ops::{enable,disable}_bb_rf (Jose Ignacio Tornos Martinez) [2136125] - wifi: rtw89: add DMA busy checking bits to chip info (Jose Ignacio Tornos Martinez) [2136125] - wifi: rtw89: mac: define DMA channel mask to avoid unsupported channels (Jose Ignacio Tornos Martinez) [2136125] - wifi: rtw89: pci: mask out unsupported TX channels (Jose Ignacio Tornos Martinez) [2136125] - wifi: iwlwifi: Track scan_cmd allocation size explicitly (Jose Ignacio Tornos Martinez) [2136125] - brcmfmac: Remove the call to "dtim_assoc" IOVAR (Jose Ignacio Tornos Martinez) [2136125] - brcmfmac: increase dcmd maximum buffer size (Jose Ignacio Tornos Martinez) [2136125] - brcmfmac: Support 89459 pcie (Jose Ignacio Tornos Martinez) [2136125] - brcmfmac: increase default max WOWL patterns to 16 (Jose Ignacio Tornos Martinez) [2136125] - wifi: ath11k: Fix deadlock during WoWLAN suspend (Jose Ignacio Tornos Martinez) [2136125] - wifi: ath11k: Remove redundant ath11k_mac_drain_tx (Jose Ignacio Tornos Martinez) [2136125] - wifi: ath11k: Add spectral scan support for 160 MHz (Jose Ignacio Tornos Martinez) [2136125] - wifi: ath11k: Add support to get power save duration for each client (Jose Ignacio Tornos Martinez) [2136125] - wifi: ath11k: fix peer addition/deletion error on sta band migration (Jose Ignacio Tornos Martinez) [2136125] - wifi: rtw89: support for enable/disable MSDU aggregation (Jose Ignacio Tornos Martinez) [2136125] - wifi: rtw89: disable 26-tone RU HE TB PPDU transmissions (Jose Ignacio Tornos Martinez) [2136125] - wifi: rtw89: support for processing P2P power saving (Jose Ignacio Tornos Martinez) [2136125] - wifi: rtw89: support WMM-PS in P2P GO mode (Jose Ignacio Tornos Martinez) [2136125] - wifi: rtw89: set wifi_role of P2P (Jose Ignacio Tornos Martinez) [2136125] - wifi: rtw89: send OFDM rate only in P2P mode (Jose Ignacio Tornos Martinez) [2136125] - wifi: rtw89: support P2P (Jose Ignacio Tornos Martinez) [2136125] - wifi: rt2x00: correctly set BBP register 86 for MT7620 (Jose Ignacio Tornos Martinez) [2136125] - wifi: rt2x00: set SoC wmac clock register (Jose Ignacio Tornos Martinez) [2136125] - wifi: rt2x00: set VGC gain for both chains of MT7620 (Jose Ignacio Tornos Martinez) [2136125] - wifi: rt2x00: set correct TX_SW_CFG1 MAC register for MT7620 (Jose Ignacio Tornos Martinez) [2136125] - wifi: rt2x00: fix HT20/HT40 bandwidth switch on MT7620 (Jose Ignacio Tornos Martinez) [2136125] - wifi: rt2x00: move helper functions up in file (Jose Ignacio Tornos Martinez) [2136125] - wifi: rt2x00: add TX LOFT calibration for MT7620 (Jose Ignacio Tornos Martinez) [2136125] - wifi: rt2x00: don't run Rt5592 IQ calibration on MT7620 (Jose Ignacio Tornos Martinez) [2136125] - wifi: rt2x00: add RXIQ calibration for MT7620 (Jose Ignacio Tornos Martinez) [2136125] - wifi: rt2x00: add RXDCOC calibration for MT7620 (Jose Ignacio Tornos Martinez) [2136125] - wifi: rt2x00: add r calibration for MT7620 (Jose Ignacio Tornos Martinez) [2136125] - wifi: rt2x00: add RF self TXDC calibration for MT7620 (Jose Ignacio Tornos Martinez) [2136125] - wifi: rt2x00: move up and reuse busy wait functions (Jose Ignacio Tornos Martinez) [2136125] - wifi: rt2x00: add support for external PA on MT7620 (Jose Ignacio Tornos Martinez) [2136125] - wifi: rt2x00: add throughput LED trigger (Jose Ignacio Tornos Martinez) [2136125] - wifi: rt2x00: define RF5592 in init_eeprom routine (Jose Ignacio Tornos Martinez) [2136125] - wifi: ath11k: fix number of VHT beamformee spatial streams (Jose Ignacio Tornos Martinez) [2136125] - wifi: ath11k: retrieve MAC address from system firmware if provided (Jose Ignacio Tornos Martinez) [2136125] - wifi: ath11k: add get_txpower mac ops (Jose Ignacio Tornos Martinez) [2136125] - wifi: ath11k: move firmware stats out of debugfs (Jose Ignacio Tornos Martinez) [2136125] - wifi: ath9k: fix repeated the words in a comment (Jose Ignacio Tornos Martinez) [2136125] - wifi: ath9k: fix repeated to words in a comment (Jose Ignacio Tornos Martinez) [2136125] - wifi: ath10k: reset pointer after memory free to avoid potential use-after-free (Jose Ignacio Tornos Martinez) [2136125] - wifi: ath11k: fix failed to find the peer with peer_id 0 when disconnected (Jose Ignacio Tornos Martinez) [2136125] - wifi: ath11k: change complete() to complete_all() for scan.completed (Jose Ignacio Tornos Martinez) [2136125] - wifi: rtw89: coex: update coexistence to 6.3.0 (Jose Ignacio Tornos Martinez) [2136125] - wifi: rtw89: coex: add logic to control BT scan priority (Jose Ignacio Tornos Martinez) [2136125] - wifi: rtw89: coex: summarize Wi-Fi to BT scoreboard and inform BT one time a cycle (Jose Ignacio Tornos Martinez) [2136125] - wifi: rtw89: coex: modify LNA2 setting to avoid BT destroyed Wi-Fi aggregation (Jose Ignacio Tornos Martinez) [2136125] - wifi: rtw89: coex: add WL_S0 hardware TX/RX mask to allow WL_S0 TX/RX during GNT_BT (Jose Ignacio Tornos Martinez) [2136125] - wifi: rtw89: coex: add v1 Wi-Fi firmware steps report (Jose Ignacio Tornos Martinez) [2136125] - wifi: rtw89: coex: add v1 summary info to parse the traffic status from firmware (Jose Ignacio Tornos Martinez) [2136125] - wifi: rtw89: coex: translate slot ID to readable name (Jose Ignacio Tornos Martinez) [2136125] - wifi: rtw89: coex: add v1 cycle report to parsing Bluetooth A2DP status (Jose Ignacio Tornos Martinez) [2136125] - wifi: mwifiex: fix array of flexible structures warnings (Jose Ignacio Tornos Martinez) [2136125] - wifi: rndis_wlan: fix array of flexible structures warning (Jose Ignacio Tornos Martinez) [2136125] - mwifiex: fix sleep in atomic context bugs caused by dev_coredumpv (Jose Ignacio Tornos Martinez) [2136125] - bus: mhi: host: pci_generic: Add a secondary AT port to Telit FN990 (Jose Ignacio Tornos Martinez) [2136125] - wifi: ath11k: Add WoW support for WCN6750 (Jose Ignacio Tornos Martinez) [2136125] - wifi: ath11k: Include STA_KEEPALIVE_ARP_RESPONSE TLV header by default (Jose Ignacio Tornos Martinez) [2136125] - wifi: rt2x00: Fix "Error - Attempt to send packet over invalid queue 2" (Jose Ignacio Tornos Martinez) [2136125] - wifi: rtw89: 8852c: add multi-port ID to TX descriptor (Jose Ignacio Tornos Martinez) [2136125] - wifi: rtw89: fix rx filter after scan (Jose Ignacio Tornos Martinez) [2136125] - wifi: rtw89: free unused skb to prevent memory leak (Jose Ignacio Tornos Martinez) [2136125] - wifi: rtw89: reset halt registers before turn on wifi CPU (Jose Ignacio Tornos Martinez) [2136125] - wifi: rtw89: pci: update LTR settings (Jose Ignacio Tornos Martinez) [2136125] - wifi: rtw89: mac: set NAV upper to 25ms (Jose Ignacio Tornos Martinez) [2136125] - wifi: rtw89: initialize DMA of CMAC (Jose Ignacio Tornos Martinez) [2136125] - wifi: rtw89: support SER L1 simulation (Jose Ignacio Tornos Martinez) [2136125] - wifi: rtw89: 8852c: support fw crash simulation (Jose Ignacio Tornos Martinez) [2136125] - wifi: rtw89: introudce functions to drop packets (Jose Ignacio Tornos Martinez) [2136125] - wifi: rtw89: unify use of rtw89_h2c_tx() (Jose Ignacio Tornos Martinez) [2136125] - wifi: rtw89: pci: concentrate control function of TX DMA channel (Jose Ignacio Tornos Martinez) [2136125] - wifi: rtw89: correct enable functions of HCI/PCI DMA (Jose Ignacio Tornos Martinez) [2136125] - wifi: rtw89: 8852c: L1 DMA reset has offloaded to FW (Jose Ignacio Tornos Martinez) [2136125] - wifi: rtw89: support for setting TID specific configuration (Jose Ignacio Tornos Martinez) [2136125] - wifi: rtw89: support for setting HE GI and LTF (Jose Ignacio Tornos Martinez) [2136125] - wifi: rtw89: coex: show connecting state in debug message (Jose Ignacio Tornos Martinez) [2136125] - wifi: rtw89: coex: Combine set grant WL/BT and correct the debug log (Jose Ignacio Tornos Martinez) [2136125] - wifi: rtw89: coex: Remove trace_step at COEX-MECH control structure for RTL8852C (Jose Ignacio Tornos Martinez) [2136125] - wifi: rtw89: coex: Parsing Wi-Fi firmware TDMA info from reports (Jose Ignacio Tornos Martinez) [2136125] - wifi: rtw89: coex: Parsing Wi-Fi firmware error message from reports (Jose Ignacio Tornos Martinez) [2136125] - wifi: rtw89: coex: Move coexistence firmware buffer size parameter to chip info (Jose Ignacio Tornos Martinez) [2136125] - wifi: rtw89: coex: Add v1 Wi-Fi firmware power-saving null data report (Jose Ignacio Tornos Martinez) [2136125] - wifi: rtw89: coex: use void pointer as temporal type to copy report (Jose Ignacio Tornos Martinez) [2136125] - wifi: brcmfmac: pcie: Add IDs/properties for BCM4378 (Jose Ignacio Tornos Martinez) [2136125] - wifi: brcmfmac: pcie: Support PCIe core revisions >= 64 (Jose Ignacio Tornos Martinez) [2136125] - wifi: brcmfmac: msgbuf: Increase RX ring sizes to 1024 (Jose Ignacio Tornos Martinez) [2136125] - wifi: brcmfmac: firmware: Allow platform to override macaddr (Jose Ignacio Tornos Martinez) [2136125] - wifi: brcmfmac: pcie: Perform firmware selection for Apple platforms (Jose Ignacio Tornos Martinez) [2136125] - wifi: brcmfmac: of: Fetch Apple properties (Jose Ignacio Tornos Martinez) [2136125] - wifi: brcmfmac: pcie: Read Apple OTP information (Jose Ignacio Tornos Martinez) [2136125] - wifi: brcmfmac: firmware: Support passing in multiple board_types (Jose Ignacio Tornos Martinez) [2136125] - wifi: brcmfmac: pcie/sdio/usb: Get CLM blob via standard firmware mechanism (Jose Ignacio Tornos Martinez) [2136125] - wifi: brcmfmac: firmware: Handle per-board clm_blob files (Jose Ignacio Tornos Martinez) [2136125] - wifi: iwlwifi: mvm: d3: parse keys from wowlan info notification (Jose Ignacio Tornos Martinez) [2136125] - wifi: iwlwifi: mvm: iterate over interfaces after an assert in d3 (Jose Ignacio Tornos Martinez) [2136125] - wifi: iwlwifi: mvm: trigger resume flow before wait for notifications (Jose Ignacio Tornos Martinez) [2136125] - wifi: iwlwifi: mvm: Add handling for scan offload match info notification (Jose Ignacio Tornos Martinez) [2136125] - wifi: iwlwifi: mvm: enable resume based on notifications (Jose Ignacio Tornos Martinez) [2136125] - wifi: iwlwifi: mvm: Add support for d3 end notification (Jose Ignacio Tornos Martinez) [2136125] - wifi: iwlwifi: mvm: Add support for wowlan wake packet notification (Jose Ignacio Tornos Martinez) [2136125] - wifi: iwlwifi: mvm: Add support for wowlan info notification (Jose Ignacio Tornos Martinez) [2136125] - wifi: iwlwifi: mvm: don't check D0I3 version (Jose Ignacio Tornos Martinez) [2136125] - wifi: iwlwifi: cfg: remove IWL_DEVICE_BZ_COMMON macro (Jose Ignacio Tornos Martinez) [2136125] - wifi: iwlwifi: mvm: refactor iwl_mvm_set_sta_rate() a bit (Jose Ignacio Tornos Martinez) [2136125] - wifi: iwlwifi: mvm: rxmq: further unify some VHT/HE code (Jose Ignacio Tornos Martinez) [2136125] - wifi: iwlwifi: mvm: rxmq: refactor mac80211 rx_status setting (Jose Ignacio Tornos Martinez) [2136125] - wifi: iwlwifi: mvm: fix typo in struct iwl_rx_no_data API (Jose Ignacio Tornos Martinez) [2136125] - wifi: iwlwifi: pcie: add support for BZ devices (Jose Ignacio Tornos Martinez) [2136125] - wifi: ath11k: Fix kernel-doc issues (Jose Ignacio Tornos Martinez) [2136125] - wifi: ath11k: Fix miscellaneous spelling errors (Jose Ignacio Tornos Martinez) [2136125] - wifi: ath10k: Fix miscellaneous spelling errors (Jose Ignacio Tornos Martinez) [2136125] - bus: mhi: host: always print detected modem name (Jose Ignacio Tornos Martinez) [2136125] - wifi: mt76: mt7921s: Switch to DEFINE_SIMPLE_DEV_PM_OPS() and pm_sleep_ptr() (Jose Ignacio Tornos Martinez) [2136125] - wifi: mt76: mt7663s: Switch to DEFINE_SIMPLE_DEV_PM_OPS() and pm_sleep_ptr() (Jose Ignacio Tornos Martinez) [2136125] - wifi: mt76: mt7921e: fix random fw download fail (Jose Ignacio Tornos Martinez) [2136125] - wifi: mt76: mt7921: introduce Country Location Control support (Jose Ignacio Tornos Martinez) [2136125] - wifi: mt76: mt7921e: fix rmmod crash in driver reload test (Jose Ignacio Tornos Martinez) [2136125] - wifi: mt76: mt7921: reset msta->airtime_ac while clearing up hw value (Jose Ignacio Tornos Martinez) [2136125] - wifi: mt76: mt7915: do not check state before configuring implicit beamform (Jose Ignacio Tornos Martinez) [2136125] - wifi: mt76: fix uninitialized pointer in mt7921_mac_fill_rx (Jose Ignacio Tornos Martinez) [2136125] - wifi: mt76: mt7915: fix mcs value in ht mode (Jose Ignacio Tornos Martinez) [2136125] - wifi: mt76: mt7921: get rid of the false positive reset (Jose Ignacio Tornos Martinez) [2136125] - wifi: mt76: connac: fix in comment (Jose Ignacio Tornos Martinez) [2136125] - wifi: mt76: add PPDU based TxS support for WED device (Jose Ignacio Tornos Martinez) [2136125] - wifi: mt76: move move mt76_sta_stats to mt76_wcid (Jose Ignacio Tornos Martinez) [2136125] - wifi: mt76: mt7921: fix the firmware version report (Jose Ignacio Tornos Martinez) [2136125] - wifi: mt76: mt7921: add mt7921_mutex_acquire at mt7921_sta_set_decap_offload (Jose Ignacio Tornos Martinez) [2136125] - wifi: mt76: mt7921: add mt7921_mutex_acquire at mt7921_[start, stop]_ap (Jose Ignacio Tornos Martinez) [2136125] - wifi: mt76: mt76_usb.mt76u_mcu.burst is always false remove related code (Jose Ignacio Tornos Martinez) [2136125] - wifi: mt76: mt7663s: add rx_check callback (Jose Ignacio Tornos Martinez) [2136125] - wifi: mt76: connac: fix possible unaligned access in mt76_connac_mcu_add_nested_tlv (Jose Ignacio Tornos Martinez) [2136125] - wifi: mt76: mt7915: fix possible unaligned access in mt7915_mac_add_twt_setup (Jose Ignacio Tornos Martinez) [2136125] - wifi: mt76: mt7615: add mt7615_mutex_acquire/release in mt7615_sta_set_decap_offload (Jose Ignacio Tornos Martinez) [2136125] - wifi: mt76: sdio: fix transmitting packet hangs (Jose Ignacio Tornos Martinez) [2136125] - wifi: mt76: sdio: add rx_check callback for sdio devices (Jose Ignacio Tornos Martinez) [2136125] - wifi: mt76: mt7921: delete stray if statement (Jose Ignacio Tornos Martinez) [2136125] - wifi: mt76: mt7921: fix use after free in mt7921_acpi_read() (Jose Ignacio Tornos Martinez) [2136125] - wifi: mt76: mt7915: fix an uninitialized variable bug (Jose Ignacio Tornos Martinez) [2136125] - wifi: mt76: sdio: poll sta stat when device transmits data (Jose Ignacio Tornos Martinez) [2136125] - wifi: mt76: sdio: fix the deadlock caused by sdio->stat_work (Jose Ignacio Tornos Martinez) [2136125] - wifi: mt76: mt7921: move mt7921_rx_check and mt7921_queue_rx_skb in mac.c (Jose Ignacio Tornos Martinez) [2136125] - wifi: mt76: mt7921u: remove unnecessary MT76_STATE_SUSPEND (Jose Ignacio Tornos Martinez) [2136125] - wifi: mt76: mt7921u: fix race issue between reset and suspend/resume (Jose Ignacio Tornos Martinez) [2136125] - wifi: mt76: mt7921s: fix race issue between reset and suspend/resume (Jose Ignacio Tornos Martinez) [2136125] - wifi: mt76: mt7921e: fix race issue between reset and suspend/resume (Jose Ignacio Tornos Martinez) [2136125] - wifi: mt76: add rx_check callback for usb devices (Jose Ignacio Tornos Martinez) [2136125] - wifi: mt76: testmode: use random payload for tx packets (Jose Ignacio Tornos Martinez) [2136125] - wifi: mt76: connac: introduce mt76_connac_reg_map structure (Jose Ignacio Tornos Martinez) [2136125] - wifi: rtl8xxxu: Remove copy-paste leftover in gen2_update_rate_mask (Jose Ignacio Tornos Martinez) [2136125] - wifi: rtl8xxxu: gen2: Fix mistake in path B IQ calibration (Jose Ignacio Tornos Martinez) [2136125] - wifi: rtw89: split scan including lots of channels (Jose Ignacio Tornos Martinez) [2136125] - wifi: rtw89: 8852c: support hw_scan (Jose Ignacio Tornos Martinez) [2136125] - wifi: rtw89: call tx_wake notify for 8852c in deep ps mode (Jose Ignacio Tornos Martinez) [2136125] - wifi: rtw89: support deep ps mode for rtw8852c (Jose Ignacio Tornos Martinez) [2136125] - wifi: rtw89: set response rate selection (Jose Ignacio Tornos Martinez) [2136125] - wifi: rtw89: 8852c: set TX to single path TX on path B in 6GHz band (Jose Ignacio Tornos Martinez) [2136125] - wifi: rtw89: 8852c: enlarge polling timeout of RX DCK (Jose Ignacio Tornos Martinez) [2136125] - wifi: rtw89: 8852c: enable the interference cancellation of MU-MIMO on 6GHz (Jose Ignacio Tornos Martinez) [2136125] - wifi: rtw89: add DIG register struct to share common algorithm (Jose Ignacio Tornos Martinez) [2136125] - wifi: rtw89: support TX diversity for 1T2R chipset (Jose Ignacio Tornos Martinez) [2136125] - wifi: rtw89: record signal strength per RF path (Jose Ignacio Tornos Martinez) [2136125] - wifi: rtw89: configure TX path via H2C command (Jose Ignacio Tornos Martinez) [2136125] - wifi: rtw89: parse phycap of TX/RX antenna number (Jose Ignacio Tornos Martinez) [2136125] - wifi: rtw89: use u32_get_bits to access C2H content of PHY capability (Jose Ignacio Tornos Martinez) [2136125] - wifi: ath11k: Increase TCL data ring size for WCN6750 (Jose Ignacio Tornos Martinez) [2136125] - wifi: ath11k: Add multi TX ring support for WCN6750 (Jose Ignacio Tornos Martinez) [2136125] - wifi: ath11k: Enable threaded NAPI (Jose Ignacio Tornos Martinez) [2136125] - wifi: ath11k: mhi: fix potential memory leak in ath11k_mhi_register() (Jose Ignacio Tornos Martinez) [2136125] - wifi: ath11k: implement SRAM dump debugfs interface (Jose Ignacio Tornos Martinez) [2136125] - wifi: ath11k: Split PCI write/read functions (Jose Ignacio Tornos Martinez) [2136125] - ath11k: Enable remain-on-channel support on WCN6750 (Jose Ignacio Tornos Martinez) [2136125] - wifi: mwifiex: fix endian annotations in casts (Jose Ignacio Tornos Martinez) [2136125] - wifi: mwifiex: fix endian conversion (Jose Ignacio Tornos Martinez) [2136125] - wifi: mwifiex: mark a variable unused (Jose Ignacio Tornos Martinez) [2136125] - wifi: rtl8xxxu: Fix skb misuse in TX queue selection (Jose Ignacio Tornos Martinez) [2136125] - wifi: brcmfmac: remove redundant variable err (Jose Ignacio Tornos Martinez) [2136125] - wifi: brcmfmac: add 43439 SDIO ids and initialization (Jose Ignacio Tornos Martinez) [2136125] - wifi: rtl8xxxu: Simplify the error handling code (Jose Ignacio Tornos Martinez) [2136125] - wifi: mwifiex: Fix comment typo (Jose Ignacio Tornos Martinez) [2136125] - wifi: brcmfmac: Add DMI nvram filename quirk for Chuwi Hi8 Pro tablet (Jose Ignacio Tornos Martinez) [2136125] - wifi: brcmfmac: Use ISO3166 country code and rev 0 as fallback on 43430 (Jose Ignacio Tornos Martinez) [2136125] - wifi: brcmfmac: fix use-after-free bug in brcmf_netdev_start_xmit() (Jose Ignacio Tornos Martinez) [2136125] - wifi: iwlwifi: calib: Refactor iwl_calib_result usage for clarity (Jose Ignacio Tornos Martinez) [2136125] - wifi: mac80211_hwsim: always activate all links (Jose Ignacio Tornos Martinez) [2136125] - wifi: mac80211: implement link switching (Jose Ignacio Tornos Martinez) [2136125] - wifi: mac80211: keep A-MSDU data in sta and per-link (Jose Ignacio Tornos Martinez) [2136125] - wifi: mac80211: set up beacon timing config on links (Jose Ignacio Tornos Martinez) [2136125] - wifi: mac80211: add vif/sta link RCU dereference macros (Jose Ignacio Tornos Martinez) [2136125] - wifi: mac80211_hwsim: send NDP for link (de)activation (Jose Ignacio Tornos Martinez) [2136125] - wifi: mac80211: extend ieee80211_nullfunc_get() for MLO (Jose Ignacio Tornos Martinez) [2136125] - wifi: mac80211_hwsim: track active STA links (Jose Ignacio Tornos Martinez) [2136125] - wifi: mac80211_hwsim: skip inactive links on TX (Jose Ignacio Tornos Martinez) [2136125] - wifi: mac80211: add ieee80211_find_sta_by_link_addrs API (Jose Ignacio Tornos Martinez) [2136125] - wifi: mac80211: isolate driver from inactive links (Jose Ignacio Tornos Martinez) [2136125] - wifi: mac80211: make smps_mode per-link (Jose Ignacio Tornos Martinez) [2136125] - wifi: mac80211: use correct rx link_sta instead of default (Jose Ignacio Tornos Martinez) [2136125] - wifi: mac80211: set link_sta in reorder timeout (Jose Ignacio Tornos Martinez) [2136125] - wifi: mac80211_hwsim: fix multi-channel handling in netlink RX (Jose Ignacio Tornos Martinez) [2136125] - wifi: mac80211: call drv_sta_state() under sdata_lock() in reconfig (Jose Ignacio Tornos Martinez) [2136125] - wifi: nl80211: add MLD address to assoc BSS entries (Jose Ignacio Tornos Martinez) [2136125] - wifi: mac80211: mlme: refactor QoS settings code (Jose Ignacio Tornos Martinez) [2136125] - wifi: mac80211_hwsim: warn on invalid link address (Jose Ignacio Tornos Martinez) [2136125] - wifi: mac80211: fix double SW scan stop (Jose Ignacio Tornos Martinez) [2136125] - wifi: mac80211: mlme: assign link address correctly (Jose Ignacio Tornos Martinez) [2136125] - wifi: mac80211: move link code to a new file (Jose Ignacio Tornos Martinez) [2136125] - wifi: mac80211_hwsim: refactor RX a bit (Jose Ignacio Tornos Martinez) [2136125] - wifi: mac80211_hwsim: check STA magic in change_sta_links (Jose Ignacio Tornos Martinez) [2136125] - wifi: mac80211: remove unused arg to ieee80211_chandef_eht_oper (Jose Ignacio Tornos Martinez) [2136125] - wifi: mac80211_hwsim: remove multicast workaround (Jose Ignacio Tornos Martinez) [2136125] - wifi: nl80211: remove redundant err variable (Jose Ignacio Tornos Martinez) [2136125] - wifi: mac80211: Support POWERED_ADDR_CHANGE feature (Jose Ignacio Tornos Martinez) [2136125] - wifi: nl80211: Add POWERED_ADDR_CHANGE feature (Jose Ignacio Tornos Martinez) [2136125] - wifi: mac80211: prevent 4-addr use on MLDs (Jose Ignacio Tornos Martinez) [2136125] - wifi: mac80211: prevent VLANs on MLDs (Jose Ignacio Tornos Martinez) [2136125] - wifi: ath11k: Add support to connect to non-transmit MBSSID profiles (Jose Ignacio Tornos Martinez) [2136125] - wifi: ath11k: Fix hardware restart failure due to twt debugfs failure (Jose Ignacio Tornos Martinez) [2136125] - wifi: ath11k: Add TWT debugfs support for STA interface (Jose Ignacio Tornos Martinez) [2136125] - wifi: move from strlcpy with unused retval to strscpy (Jose Ignacio Tornos Martinez) [2136125] - wifi: rtw88: add missing destroy_workqueue() on error path in rtw_core_init() (Jose Ignacio Tornos Martinez) [2136125] - wifi: rtl8xxxu: tighten bounds checking in rtl8xxxu_read_efuse() (Jose Ignacio Tornos Martinez) [2136125] - wifi: rtw89: declare to support beamformee above bandwidth 80MHz (Jose Ignacio Tornos Martinez) [2136125] - wifi: rtw89: correct polling address of address CAM (Jose Ignacio Tornos Martinez) [2136125] - wifi: rtw89: no HTC field if TX rate might fallback to legacy (Jose Ignacio Tornos Martinez) [2136125] - wifi: rtw89: pci: correct TX resource checking in low power mode (Jose Ignacio Tornos Martinez) [2136125] - wifi: rtw89: pci: fix interrupt stuck after leaving low power mode (Jose Ignacio Tornos Martinez) [2136125] - wifi: rtw89: enlarge the CFO tracking boundary (Jose Ignacio Tornos Martinez) [2136125] - wifi: rtw89: pci: correct suspend/resume setting for variant chips (Jose Ignacio Tornos Martinez) [2136125] - wifi: rtw89: pci: enable CLK_REQ, ASPM, L1 and L1ss for 8852c (Jose Ignacio Tornos Martinez) [2136125] - wifi: rtw89: pci: fix PCI PHY auto adaption by using software restore (Jose Ignacio Tornos Martinez) [2136125] - wifi: rtw89: 8852c: set TBTT shift configuration (Jose Ignacio Tornos Martinez) [2136125] - wifi: rtw89: add retry to change power_mode state (Jose Ignacio Tornos Martinez) [2136125] - wifi: rtw89: correct BA CAM allocation (Jose Ignacio Tornos Martinez) [2136125] - wifi: rtw89: 8852c: initialize and correct BA CAM content (Jose Ignacio Tornos Martinez) [2136125] - wifi: rtw89: 8852c: declare correct BA CAM number (Jose Ignacio Tornos Martinez) [2136125] - wifi: rtw89: 8852c: update TX power tables to R49 (Jose Ignacio Tornos Martinez) [2136125] - wifi: rtw89: 8852c: update RF radio A/B parameters to R49 (Jose Ignacio Tornos Martinez) [2136125] - wifi: rtw89: TX power limit/limit_ru consider negative (Jose Ignacio Tornos Martinez) [2136125] - rtw89: coex: Update Wi-Fi driver/firmware TDMA cycle report for RTL8852c (Jose Ignacio Tornos Martinez) [2136125] - rtw89: coex: Add v1 Wi-Fi SCC coexistence policy (Jose Ignacio Tornos Martinez) [2136125] - rtw89: coex: Move _set_policy to chip_ops (Jose Ignacio Tornos Martinez) [2136125] - rtw89: coex: update WL role info v1 for RTL8852C branch using (Jose Ignacio Tornos Martinez) [2136125] - rtw89: coex: Add v1 version TDMA format and parameters (Jose Ignacio Tornos Martinez) [2136125] - rtw89: coex: Define BT B1 slot length (Jose Ignacio Tornos Martinez) [2136125] - rtw89: coex: Add logic to parsing rtl8852c firmware type ctrl report (Jose Ignacio Tornos Martinez) [2136125] - rtw89: coex: Move Wi-Fi firmware coexistence matching version to chip (Jose Ignacio Tornos Martinez) [2136125] - rtw89: coex: update radio state for RTL8852A/RTL8852C (Jose Ignacio Tornos Martinez) [2136125] - rtw89: 8852c: adjust mactxen delay of mac/phy interface (Jose Ignacio Tornos Martinez) [2136125] - rtw89: 8852c: modify PCIE prebkf time (Jose Ignacio Tornos Martinez) [2136125] - rtw89: ser: leave lps with mutex (Jose Ignacio Tornos Martinez) [2136125] - rtw89: declare support HE HTC always (Jose Ignacio Tornos Martinez) [2136125] - rtw89: 8852a: update HW setting on BB (Jose Ignacio Tornos Martinez) [2136125] - rtw89: 8852c: disable dma during mac init (Jose Ignacio Tornos Martinez) [2136125] - wifi: rtw89: declare support for mac80211 chanctx ops by chip (Jose Ignacio Tornos Martinez) [2136125] - wifi: rtw89: add skeleton of mac80211 chanctx ops support (Jose Ignacio Tornos Martinez) [2136125] - wifi: rtw89: introduce entity mode and its recalculated prototype (Jose Ignacio Tornos Martinez) [2136125] - wifi: rtw89: initialize entity and configure default chandef (Jose Ignacio Tornos Martinez) [2136125] - wifi: rtw89: concentrate chandef setting to stack callback (Jose Ignacio Tornos Martinez) [2136125] - wifi: rtw89: concentrate parameter control for setting channel callback (Jose Ignacio Tornos Martinez) [2136125] - wifi: rtw89: rfk: concentrate parameter control while set_channel() (Jose Ignacio Tornos Martinez) [2136125] - wifi: rtw89: txpwr: concentrate channel related control to top (Jose Ignacio Tornos Martinez) [2136125] - wifi: rtw89: create rtw89_chan centrally to avoid breakage (Jose Ignacio Tornos Martinez) [2136125] - wifi: rtw89: re-arrange channel related stuffs under HAL (Jose Ignacio Tornos Martinez) [2136125] - wifi: rtw89: introduce rtw89_chan for channel stuffs (Jose Ignacio Tornos Martinez) [2136125] - wifi: rtw89: rewrite decision on channel by entity state (Jose Ignacio Tornos Martinez) [2136125] - wifi: ath11k: Add cold boot calibration support on WCN6750 (Jose Ignacio Tornos Martinez) [2136125] - wifi: ath11k: Fix incorrect QMI message ID mappings (Jose Ignacio Tornos Martinez) [2136125] - wifi: ath11k: Register shutdown handler for WCN6750 (Jose Ignacio Tornos Martinez) [2136125] - wifi: ath9k: avoid uninit memory read in ath9k_htc_rx_msg() (Jose Ignacio Tornos Martinez) [2136125] - wifi: mac80211: fix potential deadlock in ieee80211_key_link() (Jose Ignacio Tornos Martinez) [2136125] - wifi: rtw88: fix uninitialized use of primary channel index (Jose Ignacio Tornos Martinez) [2136125] - wifi: mac80211: use full 'unsigned int' type (Jose Ignacio Tornos Martinez) [2136125] - wifi: mac80211: move from strlcpy with unused retval to strscpy (Jose Ignacio Tornos Martinez) [2136125] - wifi: mac80211: read ethtool's sta_stats from sinfo (Jose Ignacio Tornos Martinez) [2136125] - wifi: mac80211: correct SMPS mode in HE 6 GHz capability (Jose Ignacio Tornos Martinez) [2136125] - wifi: cfg80211: Add link_id to cfg80211_ch_switch_started_notify() (Jose Ignacio Tornos Martinez) [2136125] - wifi: nl80211: send MLO links channel info in GET_INTERFACE (Jose Ignacio Tornos Martinez) [2136125] - wifi: mac80211: allow bw change during channel switch in mesh (Jose Ignacio Tornos Martinez) [2136125] - wifi: mac80211: clean up a needless assignment in ieee80211_sta_activate_link() (Jose Ignacio Tornos Martinez) [2136125] - wifi: mac80211: allow link address A2 in TXQ dequeue (Jose Ignacio Tornos Martinez) [2136125] - wifi: mac80211: fix control port frame addressing (Jose Ignacio Tornos Martinez) [2136125] - wifi: mac80211: set link ID in TX info for beacons (Jose Ignacio Tornos Martinez) [2136125] - wifi: mac80211_hwsim: fix link change handling (Jose Ignacio Tornos Martinez) [2136125] - wifi: mac80211: maintain link_id in link_sta (Jose Ignacio Tornos Martinez) [2136125] - wifi: cfg80211/mac80211: check EHT capability size correctly (Jose Ignacio Tornos Martinez) [2136125] - wifi: mac80211_hwsim: split iftype data into AP/non-AP (Jose Ignacio Tornos Martinez) [2136125] - wifi: mac80211: mlme: don't add empty EML capabilities (Jose Ignacio Tornos Martinez) [2136125] - wifi: mac80211: use link ID for MLO in queued frames (Jose Ignacio Tornos Martinez) [2136125] - wifi: mac80211: use the corresponding link for stats update (Jose Ignacio Tornos Martinez) [2136125] - wifi: mac80211: add link information in ieee80211_rx_status (Jose Ignacio Tornos Martinez) [2136125] - wifi: mac80211: properly implement MLO key handling (Jose Ignacio Tornos Martinez) [2136125] - wifi: cfg80211: Add link_id parameter to various key operations for MLO (Jose Ignacio Tornos Martinez) [2136125] - wifi: cfg80211: Prevent cfg80211_wext_siwencodeext() on MLD (Jose Ignacio Tornos Martinez) [2136125] - wifi: cfg80211: reject connect response with MLO params for WEP (Jose Ignacio Tornos Martinez) [2136125] - wifi: mac80211: fix use-after-free (Jose Ignacio Tornos Martinez) [2136125] - wifi: mac80211: use link in TXQ parameter configuration (Jose Ignacio Tornos Martinez) [2136125] - wifi: cfg80211: add link id to txq params (Jose Ignacio Tornos Martinez) [2136125] - wifi: mac80211: set link BSSID (Jose Ignacio Tornos Martinez) [2136125] - wifi: cfg80211: get correct AP link chandef (Jose Ignacio Tornos Martinez) [2136125] - wifi: cfg80211: Update RNR parsing to align with Draft P802.11be_D2.0 (Jose Ignacio Tornos Martinez) [2136125] - wifi: mac80211: properly set old_links when removing a link (Jose Ignacio Tornos Martinez) [2136125] - wifi: mac80211: accept STA changes without link changes (Jose Ignacio Tornos Martinez) [2136125] - wifi: rtw88: prohibit enter IPS during HW scan (Jose Ignacio Tornos Martinez) [2136125] - wifi: rtw88: add flag check before enter or leave IPS (Jose Ignacio Tornos Martinez) [2136125] - wifi: rtw88: add flushing queue before HW scan (Jose Ignacio Tornos Martinez) [2136125] - wifi: rtw88: fix WARNING:rtw_get_tx_power_params() during HW scan (Jose Ignacio Tornos Martinez) [2136125] - wifi: rtw88: add the update channel flow to support setting by parameters (Jose Ignacio Tornos Martinez) [2136125] - wifi: rtw88: add mutex when set regulatory and get Tx power table (Jose Ignacio Tornos Martinez) [2136125] - wifi: rtw88: add mutex when set SAR (Jose Ignacio Tornos Martinez) [2136125] - wifi: brcmfmac: Fix to add skb free for TIM update info when tx is completed (Jose Ignacio Tornos Martinez) [2136125] - wifi: brcmfmac: Fix to add brcmf_clear_assoc_ies when rmmod (Jose Ignacio Tornos Martinez) [2136125] - wifi: brcmfmac: fix invalid address access when enabling SCAN log level (Jose Ignacio Tornos Martinez) [2136125] - wifi: brcmfmac: fix scheduling while atomic issue when deleting flowring (Jose Ignacio Tornos Martinez) [2136125] - wifi: brcmfmac: fix continuous 802.1x tx pending timeout error (Jose Ignacio Tornos Martinez) [2136125] - wifi: ath10k: add peer map clean up for peer delete in ath10k_sta_state() (Jose Ignacio Tornos Martinez) [2136125] - wifi: ath10k: Set tx credit to one for WCN3990 snoc based devices (Jose Ignacio Tornos Martinez) [2136125] - wifi: rtw89: 8852a: correct WDE IMR settings (Jose Ignacio Tornos Martinez) [2136125] - wifi: rtw89: refine leaving LPS function (Jose Ignacio Tornos Martinez) [2136125] - wifi: rtlwifi: 8192de: correct checking of IQK reload (Jose Ignacio Tornos Martinez) [2136125] - wifi: brcmsmac: remove duplicate words (Jose Ignacio Tornos Martinez) [2136125] - wifi: rtw88: access chip_info by const pointer (Jose Ignacio Tornos Martinez) [2136125] - wifi: rtw88: phy: fix warning of possible buffer overflow (Jose Ignacio Tornos Martinez) [2136125] - wifi: rtw88: fix store OP channel info timing when HW scan (Jose Ignacio Tornos Martinez) [2136125] - wifi: rtw88: fix stopping queues in wrong timing when HW scan (Jose Ignacio Tornos Martinez) [2136125] - wifi: rtw88: 8822c: extend supported probe request size (Jose Ignacio Tornos Martinez) [2136125]- ALSA: pcm: Move rwsem lock inside snd_ctl_elem_read to prevent UAF (Jaroslav Kysela) [2125548] {CVE-2023-0266} - ALSA: usb-audio: Remove redundant workaround for Roland quirk (Jaroslav Kysela) [2125548] - ASoC: jz4740-i2s: Handle independent FIFO flush bits (Jaroslav Kysela) [2125548] - ALSA: hda/realtek: Apply dual codec fixup for Dell Latitude laptops (Jaroslav Kysela) [2125548] - ALSA: patch_realtek: Fix Dell Inspiron Plus 16 (Jaroslav Kysela) [2125548] - ALSA: hda/hdmi: Static PCM mapping again with AMD HDMI codecs (Jaroslav Kysela) [2125548] - ALSA: line6: fix stack overflow in line6_midi_transmit (Jaroslav Kysela) [2125548] - ALSA: line6: correct midi status byte when receiving data from podxt (Jaroslav Kysela) [2125548] - ALSA: hda/hdmi: Add HP Device 0x8711 to force connect list (Jaroslav Kysela) [2125548] - ALSA: hda/realtek: Add quirk for Lenovo TianYi510Pro-14IOB (Jaroslav Kysela) [2125548] - ALSA: usb-audio: add the quirk for KT0206 device (Jaroslav Kysela) [2125548] - ASoC: rt5670: Remove unbalanced pm_runtime_put() (Jaroslav Kysela) [2125548] - ASoC: rockchip: spdif: Add missing clk_disable_unprepare() in rk_spdif_runtime_resume() (Jaroslav Kysela) [2125548] - ASoC: wm8994: Fix potential deadlock (Jaroslav Kysela) [2125548] - ALSA: hda/hdmi: fix stream-id config keep-alive for rt suspend (Jaroslav Kysela) [2125548] - ALSA: hda/hdmi: set default audio parameters for KAE silent-stream (Jaroslav Kysela) [2125548] - ALSA: hda/hdmi: fix i915 silent stream programming flow (Jaroslav Kysela) [2125548] - ASoC: rockchip: pdm: Add missing clk_disable_unprepare() in rockchip_pdm_runtime_resume() (Jaroslav Kysela) [2125548] - ASoC: audio-graph-card: fix refcount leak of cpu_ep in __graph_for_each_link() (Jaroslav Kysela) [2125548] - ASoC: mediatek: mt8173-rt5650-rt5514: fix refcount leak in mt8173_rt5650_rt5514_dev_probe() (Jaroslav Kysela) [2125548] - ASoC: Intel: Skylake: Fix driver hang during shutdown (Jaroslav Kysela) [2125548] - ALSA: hda: add snd_hdac_stop_streams() helper (Jaroslav Kysela) [2125548] - ASoC: sof_es8336: fix possible use-after-free in sof_es8336_remove() (Jaroslav Kysela) [2125548] - ASoC: amd: yc: Add Xiaomi Redmi Book Pro 14 2022 into DMI table (Jaroslav Kysela) [2125548] - ASoC: Intel: avs: Add quirk for KBL-R RVP platform (Jaroslav Kysela) [2125548] - ASoC: codecs: rt298: Add quirk for KBL-R RVP platform (Jaroslav Kysela) [2125548] - ALSA: mts64: fix possible null-ptr-defer in snd_mts64_interrupt (Jaroslav Kysela) [2125548] - ALSA: pcm: Set missing stop_operating flag at undoing trigger start (Jaroslav Kysela) [2125548] - ASoC: pcm512x: Fix PM disable depth imbalance in pcm512x_probe (Jaroslav Kysela) [2125548] - ALSA: asihpi: fix missing pci_disable_device() (Jaroslav Kysela) [2125548] - ASoC: mediatek: mtk-btcvsd: Add checks for write and read of mtk_btcvsd_snd (Jaroslav Kysela) [2125548] - ASoC: qcom: Add checks for devm_kcalloc (Jaroslav Kysela) [2125548] - ASoC: Intel: avs: Lock substream before snd_pcm_stop() (Jaroslav Kysela) [2125548] - ASoC: pxa: fix null-pointer dereference in filter() (Jaroslav Kysela) [2125548] - ASoC: Intel: avs: Fix potential RX buffer overflow (Jaroslav Kysela) [2125548] - ASoC: Intel: avs: Fix DMA mask assignment (Jaroslav Kysela) [2125548] - ALSA: hda/realtek: fix mute/micmute LEDs for a HP ProBook (Jaroslav Kysela) [2125548] - ASoC: ops: Correct bounds check for second channel on SX controls (Jaroslav Kysela) [2125548] - ASoC: cs42l51: Correct PGA Volume minimum value (Jaroslav Kysela) [2125548] - ASoC: ops: Check bounds for second channel in snd_soc_put_volsw_sx() (Jaroslav Kysela) [2125548] - ASoC: fsl_micfil: explicitly clear CHnF flags (Jaroslav Kysela) [2125548] - ASoC: fsl_micfil: explicitly clear software reset bit (Jaroslav Kysela) [2125548] - ALSA: hda/realtek: More robust component matching for CS35L41 (Jaroslav Kysela) [2125548] - ASoC: soc-pcm: Add NULL check in BE reparenting (Jaroslav Kysela) [2125548] - ALSA: seq: Fix function prototype mismatch in snd_seq_expand_var_event (Jaroslav Kysela) [2125548] - ASoC: rt711-sdca: fix the latency time of clock stop prepare state machine transitions (Jaroslav Kysela) [2125548] - ASoC: wm8962: Wait for updated value of WM8962_CLOCKING1 register (Jaroslav Kysela) [2125548] - ASoC: ops: Fix bounds check for _sx controls (Jaroslav Kysela) [2125548] - ALSA: dice: fix regression for Lexicon I-ONIX FW810S (Jaroslav Kysela) [2125548] - ASoC: sof_es8336: reduce pop noise on speaker (Jaroslav Kysela) [2125548] - ASoC: SOF: ipc3-topology: use old pipeline teardown flow with SOF2.1 and older (Jaroslav Kysela) [2125548] - ASoC: hda: intel-dsp-config: add ES83x6 quirk for IceLake (Jaroslav Kysela) [2125548] - ASoC: Intel: soc-acpi: add ES83x6 support to IceLake (Jaroslav Kysela) [2125548] - ASoC: Intel: bytcht_es8316: Add quirk for the Nanote UMPC-01 (Jaroslav Kysela) [2125548] - ASoC: amd: yc: Add Alienware m17 R5 AMD into DMI table (Jaroslav Kysela) [2125548] - ASoC: max98373: Add checks for devm_kcalloc (Jaroslav Kysela) [2125548] - ASoC: soc-pcm: Don't zero TDM masks in __soc_pcm_open() (Jaroslav Kysela) [2125548] - ASoC: sgtl5000: Reset the CHIP_CLK_CTRL reg on remove (Jaroslav Kysela) [2125548] - ASoC: hdac_hda: fix hda pcm buffer overflow issue (Jaroslav Kysela) [2125548] - ALSA: usb-audio: add quirk to fix Hamedal C20 disconnect issue (Jaroslav Kysela) [2125548] - ASoC: SOF: topology: No need to assign core ID if token parsing failed (Jaroslav Kysela) [2125548] - ALSA: hda/realtek: Fix the speaker output on Samsung Galaxy Book Pro 360 (Jaroslav Kysela) [2125548] - ALSA: hda/realtek: fix speakers for Samsung Galaxy Book Pro (Jaroslav Kysela) [2125548] - ALSA: usb-audio: Drop snd_BUG_ON() from snd_usbmidi_output_open() (Jaroslav Kysela) [2125548] - ASoC: soc-utils: Remove __exit for snd_soc_util_exit() (Jaroslav Kysela) [2125548] - ASoC: rt5677: fix legacy dai naming (Jaroslav Kysela) [2125548] - ASoC: rt5514: fix legacy dai naming (Jaroslav Kysela) [2125548] - ASoC: tas2764: Fix set_tdm_slot in case of single slot (Jaroslav Kysela) [2125548] - ASoC: tas2770: Fix set_tdm_slot in case of single slot (Jaroslav Kysela) [2125548] - ASoC: core: Fix use-after-free in snd_soc_exit() (Jaroslav Kysela) [2125548] - ASoC: codecs: jz4725b: Fix spelling mistake "Sourc" -> "Source", "Routee" -> "Route" (Jaroslav Kysela) [2125548] - ASoC: amd: yc: Add Lenovo Thinkbook 14+ 2022 21D0 to quirks table (Jaroslav Kysela) [2125548] - ASoC: amd: yc: Adding Lenovo ThinkBook 14 Gen 4+ ARA and Lenovo ThinkBook 16 Gen 4+ ARA to the Quirks List (Jaroslav Kysela) [2125548] - ASoC: rt1308-sdw: add the default value of some registers (Jaroslav Kysela) [2125548] - ASoC: Intel: sof_rt5682: Add quirk for Rex board (Jaroslav Kysela) [2125548] - ASoC: Intel: sof_sdw: add quirk variant for LAPBC710 NUC15 (Jaroslav Kysela) [2125548] - ASoC: codecs: jz4725b: fix capture selector naming (Jaroslav Kysela) [2125548] - ASoC: codecs: jz4725b: use right control for Capture Volume (Jaroslav Kysela) [2125548] - ASoC: codecs: jz4725b: fix reported volume for Master ctl (Jaroslav Kysela) [2125548] - ASoC: codecs: jz4725b: add missed Line In power control bit (Jaroslav Kysela) [2125548] - ASoC: wm8962: Add an event handler for TEMP_HP and TEMP_SPK (Jaroslav Kysela) [2125548] - ASoC: rt1019: Fix the TDM settings (Jaroslav Kysela) [2125548] - ASoC: rt5682s: Fix the TDM Tx settings (Jaroslav Kysela) [2125548] - ASoC: mt6660: Keep the pm_runtime enables before component stuff in mt6660_i2c_probe (Jaroslav Kysela) [2125548] - ASoC: wm8997: Revert "ASoC: wm8997: Fix PM disable depth imbalance in wm8997_probe" (Jaroslav Kysela) [2125548] - ASoC: wm5110: Revert "ASoC: wm5110: Fix PM disable depth imbalance in wm5110_probe" (Jaroslav Kysela) [2125548] - ASoC: wm5102: Revert "ASoC: wm5102: Fix PM disable depth imbalance in wm5102_probe" (Jaroslav Kysela) [2125548] - ALSA: memalloc: Try dma_alloc_noncontiguous() at first (Jaroslav Kysela) [2125548] - ALSA: usb-audio: Add DSD support for Accuphase DAC-60 (Jaroslav Kysela) [2125548] - ALSA: usb-audio: Add quirk entry for M-Audio Micro (Jaroslav Kysela) [2125548] - ALSA: usb-audio: Yet more regression for for the delayed card registration (Jaroslav Kysela) [2125548] - ALSA: hda/realtek: Add Positivo C6300 model quirk (Jaroslav Kysela) [2125548] - ALSA: hda/realtek: Add quirk for ASUS Zenbook using CS35L41 (Jaroslav Kysela) [2125548] - ALSA: hda: fix potential memleak in 'add_widget_node' (Jaroslav Kysela) [2125548] - ALSA: hda/ca0132: add quirk for EVGA Z390 DARK (Jaroslav Kysela) [2125548] - ALSA: hda/hdmi - enable runtime pm for more AMD display audio (Jaroslav Kysela) [2125548] - ALSA: memalloc: Don't fall back for SG-buffer with IOMMU (Jaroslav Kysela) [2125548] - ALSA: aoa: Fix I2S device accounting (Jaroslav Kysela) [2125548] - ALSA: aoa: i2sbus: fix possible memory leak in i2sbus_add_dev() (Jaroslav Kysela) [2125548] - ALSA: ac97: fix possible memory leak in snd_ac97_dev_register() (Jaroslav Kysela) [2125548] - ASoC: SOF: Intel: pci-tgl: fix ADL-N descriptor (Jaroslav Kysela) [2125548] - ASoC: SOF: Intel: pci-tgl: use RPL specific firmware definitions (Jaroslav Kysela) [2125548] - ASoC: Intel: common: add ACPI matching tables for Raptor Lake (Jaroslav Kysela) [2125548] - ALSA: rme9652: use explicitly signed char (Jaroslav Kysela) [2125548] - ALSA: au88x0: use explicitly signed char (Jaroslav Kysela) [2125548] - ALSA: hda/realtek: Add another HP ZBook G9 model quirks (Jaroslav Kysela) [2125548] - ALSA: usb-audio: Add quirks for M-Audio Fast Track C400/600 (Jaroslav Kysela) [2125548] - ALSA: hda/realtek: Add quirk for ASUS Zenbook using CS35L41 (Jaroslav Kysela) [2125548] - ALSA: Use del_timer_sync() before freeing timer (Jaroslav Kysela) [2125548] - ALSA: usb-audio: Fix last interface check for registration (Jaroslav Kysela) [2125548] - ASoC: amd: yc: Add Lenovo Yoga Slim 7 Pro X to quirks table (Jaroslav Kysela) [2125548] - ASoC: amd: yc: Add ASUS UM5302TA into DMI table (Jaroslav Kysela) [2125548] - ASoC: SOF: add quirk to override topology mclk_id (Jaroslav Kysela) [2125548] - ASoC: SOF: pci: Change DMI match info to support all Chrome platforms (Jaroslav Kysela) [2125548] - ALSA: intel-dspconfig: add ES8336 support for AlderLake-PS (Jaroslav Kysela) [2125548] - ALSA: usb-audio: Register card at the last interface (Jaroslav Kysela) [2125548] - ALSA: usb-audio: Add quirk to enable Avid Mbox 3 support (Jaroslav Kysela) [2125548] - ASoC: mt6660: Fix PM disable depth imbalance in mt6660_i2c_probe (Jaroslav Kysela) [2125548] - ASoC: wm5102: Fix PM disable depth imbalance in wm5102_probe (Jaroslav Kysela) [2125548] - ASoC: wm5110: Fix PM disable depth imbalance in wm5110_probe (Jaroslav Kysela) [2125548] - ASoC: wm8997: Fix PM disable depth imbalance in wm8997_probe (Jaroslav Kysela) [2125548] - ASoC: stm: Fix PM disable depth imbalance in stm32_i2s_probe (Jaroslav Kysela) [2125548] - ASoC: stm32: spdifrx: Fix PM disable depth imbalance in stm32_spdifrx_probe (Jaroslav Kysela) [2125548] - ASoC: stm32: dfsdm: Fix PM disable depth imbalance in stm32_adfsdm_probe (Jaroslav Kysela) [2125548] - ALSA: dmaengine: increment buffer pointer atomically (Jaroslav Kysela) [2125548] - ASoC: da7219: Fix an error handling path in da7219_register_dai_clks() (Jaroslav Kysela) [2125548] - ASoC: eureka-tlv320: Hold reference returned from of_find_xxx API (Jaroslav Kysela) [2125548] - ASoC: wm_adsp: Handle optional legacy support (Jaroslav Kysela) [2125548] - ASoC: rsnd: Add check for rsnd_mod_power_on (Jaroslav Kysela) [2125548] - ASoC: soc-pcm.c: call __soc_pcm_close() in soc_pcm_close() (Jaroslav Kysela) [2125548] - ASoC: mt6359: fix tests for platform_get_irq() failure (Jaroslav Kysela) [2125548] - ASoC: wcd934x: fix order of Slimbus unprepare/disable (Jaroslav Kysela) [2125548] - ASoC: wcd9335: fix order of Slimbus unprepare/disable (Jaroslav Kysela) [2125548] - ALSA: hda/realtek: Add Intel Reference SSID to support headset keys (Jaroslav Kysela) [2125548] - ALSA: hda/realtek: Add quirk for ASUS GV601R laptop (Jaroslav Kysela) [2125548] - ALSA: usb-audio: Fix NULL dererence at error path (Jaroslav Kysela) [2125548] - ALSA: usb-audio: Fix potential memory leaks (Jaroslav Kysela) [2125548] - ALSA: rawmidi: Drop register_mutex in snd_rawmidi_free() (Jaroslav Kysela) [2125548] - ALSA: oss: Fix potential deadlock at unregistration (Jaroslav Kysela) [2125548] - ALSA: hda/realtek: Add quirk for HP Zbook Firefly 14 G9 model (Jaroslav Kysela) [2125548] - ALSA: hda: Fix position reporting on Poulsbo (Jaroslav Kysela) [2125548]- KVM: x86: smm: preserve interrupt shadow in SMRAM (Maxim Levitsky) [2097144] - KVM: x86: SVM: don't save SVM state to SMRAM when VM is not long mode capable (Maxim Levitsky) [2097144] - KVM: x86: SVM: use smram structs (Maxim Levitsky) [2097144] - KVM: svm: drop explicit return value of kvm_vcpu_map (Maxim Levitsky) [2097144] - KVM: x86: smm: use smram struct for 64 bit smram load/restore (Maxim Levitsky) [2097144] - KVM: x86: smm: use smram struct for 32 bit smram load/restore (Maxim Levitsky) [2097144] - KVM: x86: smm: use smram structs in the common code (Maxim Levitsky) [2097144] - KVM: x86: smm: add structs for KVM's smram layout (Maxim Levitsky) [2097144] - KVM: x86: smm: check for failures on smm entry (Maxim Levitsky) [2097144] - KVM: x86: do not go through ctxt->ops when emulating rsm (Maxim Levitsky) [2097144] - KVM: x86: move SMM exit to a new file (Maxim Levitsky) [2097144] - KVM: x86: move SMM entry to a new file (Maxim Levitsky) [2097144] - KVM: x86: start moving SMM-related functions to new files (Maxim Levitsky) [2097144] - bug: introduce ASSERT_STRUCT_OFFSET (Maxim Levitsky) [2097144] - KVM: x86: Rename and expose helper to detect if INIT/SIPI are allowed (Maxim Levitsky) [2097144] - KVM: x86: smm: number of GPRs in the SMRAM image depends on the image format (Maxim Levitsky) [2097144] - KVM: x86: emulator: update the emulation mode after CR0 write (Maxim Levitsky) [2097144] - KVM: x86: emulator: update the emulation mode after rsm (Maxim Levitsky) [2097144] - KVM: x86: emulator: introduce emulator_recalc_and_set_mode (Maxim Levitsky) [2097144] - KVM: x86: emulator: em_sysexit should update ctxt->mode (Maxim Levitsky) [2097144] - KVM: x86: Bug the VM if the emulator accesses a non-existent GPR (Maxim Levitsky) [2097144] - KVM: x86: Reduce the number of emulator GPRs to '8' for 32-bit KVM (Maxim Levitsky) [2097144] - KVM: x86: Use 16-bit fields to track dirty/valid emulator GPRs (Maxim Levitsky) [2097144] - KVM: x86: Omit VCPU_REGS_RIP from emulator's _regs array (Maxim Levitsky) [2097144] - KVM: x86: Harden _regs accesses to guard against buggy input (Maxim Levitsky) [2097144] - KVM: x86: Grab regs_dirty in local 'unsigned long' (Maxim Levitsky) [2097144]- RDMA/bnxt_re: Fix endianness warning for req.pkey (Kamal Heib) [2142690] - RDMA/bnxt_re: Use bitmap_zalloc() when applicable (Kamal Heib) [2142690] - RDMA/bnxt_re: Remove dynamic pkey table (Kamal Heib) [2142690] - RDMA/bnxt_re: Scan the whole bitmap when checking if "disabling RCFW with pending cmd-bit" (Kamal Heib) [2142690] - RDMA/bnxt_re: Remove unneeded variable (Kamal Heib) [2142690] - RDMA/bnxt_re: Remove unsupported bnxt_re_modify_ah callback (Kamal Heib) [2142690] - RDMA/bnxt_re: Use helper function to set GUIDs (Kamal Heib) [2142690] - RDMA/bnxt_re: Check if the vlan is valid before reporting (Kamal Heib) [2142690] - RDMA/bnxt_re: Correct FRMR size calculation (Kamal Heib) [2142690] - RDMA/bnxt_re: Use GFP_KERNEL in non atomic context (Kamal Heib) [2142690] - RDMA/bnxt_re: Fix FRMR issue with single page MR allocation (Kamal Heib) [2142690] - RDMA/bnxt_re: Fix query SRQ failure (Kamal Heib) [2142690] - RDMA/bnxt_re: Suppress unwanted error messages (Kamal Heib) [2142690] - RDMA/bnxt_re: Support multiple page sizes (Kamal Heib) [2142690] - RDMA/bnxt_re: Reduce the delay in polling for hwrm command completion (Kamal Heib) [2142690] - RDMA/bnxt_re: Use separate response buffer for stat_ctx_free (Kamal Heib) [2142690] - net/mlx5: Lag, Fix for loop when checking lag (Amir Tzin) [2112917] - net/mlx5e: Fix use-after-free when reverting termination table (Amir Tzin) [2112927] - net/mlx5: Fix uninitialized variable bug in outlen_write() (Amir Tzin) [2112927] - net/mlx5: E-switch, Fix duplicate lag creation (Amir Tzin) [2112927 2112917] - net/mlx5: E-switch, Destroy legacy fdb table when needed (Amir Tzin) [2112927 2112917] - net/mlx5: DR, Fix uninitialized var warning (Amir Tzin) [2112927] - net/mlx5e: Offload rule only when all encaps are valid (Amir Tzin) [2112927] - net/mlx5: Fix sync reset event handler error flow (Amir Tzin) [2112927] - net/mlx5: E-Switch, Set correctly vport destination (Amir Tzin) [2112927] - net/mlx5: Fix handling of entry refcount when command is not issued to FW (Amir Tzin) [2112927] - net/mlx5: cmdif, Print info on any firmware cmd failure to tracepoint (Amir Tzin) [2112927] - net/mlx5: SF: Fix probing active SFs during driver probe phase (Amir Tzin) [2112927] - net/mlx5: Fix FW tracer timestamp calculation (Amir Tzin) [2112927] - net/mlx5: Do not query pci info while pci disabled (Amir Tzin) [2112927 2129249] - net/mlx5e: TC, Fix slab-out-of-bounds in parse_tc_actions (Amir Tzin) [2112927] - net/mlx5e: Clean up and fix error flows in mlx5e_alloc_rq (Amir Tzin) [2112927] - net/mlx5: DR, Fix the SMFS sync_steering for fast teardown (Amir Tzin) [2112927] - net/mlx5e: E-Switch, Fix comparing termination table instance (Amir Tzin) [2112927] - net/mlx5e: TC, Fix wrong rejection of packet-per-second policing (Amir Tzin) [2112927 2049622] - net/mlx5e: Fix tc acts array not to be dependent on enum order (Amir Tzin) [2112927] - net/mlx5e: Add missing sanity checks for max TX WQE size (Amir Tzin) [2112927] - net/mlx5: fw_reset: Don't try to load device in case PCI isn't working (Amir Tzin) [2112927] - net/mlx5: E-switch, Set to legacy mode if failed to change switchdev mode (Amir Tzin) [2112927 2112917] - net/mlx5: Allow async trigger completion execution on single CPU systems (Amir Tzin) [2112927] - net/mlx5: Bridge, verify LAG state when adding bond to bridge (Amir Tzin) [2112927] - net/mlx5: Fix crash during sync firmware reset (Amir Tzin) [2112927] - net/mlx5e: TC, Fix cloned flow attr instance dests are not zeroed (Amir Tzin) [2112927] - net/mlx5: Fix possible use-after-free in async command interface (Amir Tzin) [2112927] - net/mlx5: ASO, Create the ASO SQ with the correct timestamp format (Amir Tzin) [2112927 2049622] - net/mlx5e: Update restore chain id for slow path packets (Amir Tzin) [2112927] - net/mlx5e: Extend SKB room check to include PTP-SQ (Amir Tzin) [2112927] - net/mlx5: DR, Fix matcher disconnect error flow (Amir Tzin) [2112927] - net/mlx5: Wait for firmware to enable CRS before pci_restore_state (Amir Tzin) [2112927] - net/mlx5e: Do not increment ESN when updating IPsec ESN state (Amir Tzin) [2112927] - net/mlx5e: Fix calculations for ICOSQ size (Amir Tzin) [2112927] - net/mlx5: Fix spelling mistake "syndrom" -> "syndrome" (Amir Tzin) [2112927] - net/mlx5e: Fix a typo in mlx5e_xdp_mpwqe_is_full (Amir Tzin) [2112927] - RDMA/mlx5: Don't compare mkey tags in DEVX indirect mkey (Amir Tzin) [2112927] - RDMA/mlx5: Fix UMR cleanup on error flow of driver init (Amir Tzin) [2112927] - RDMA/mlx5: Rely on RoCE fw cap instead of devlink when setting profile (Amir Tzin) [2112927] - net/mlx5: Unlock on error in mlx5_sriov_enable() (Amir Tzin) [2112927] - net/mlx5e: Fix use after free in mlx5e_fs_init() (Amir Tzin) [2112927] - net/mlx5e: kTLS, Use _safe() iterator in mlx5e_tls_priv_tx_list_cleanup() (Amir Tzin) [2112927] - net/mlx5: unlock on error path in esw_vfs_changed_event_handler() (Amir Tzin) [2112927 2150647] - net/mlx5e: Fix wrong tc flag used when set hw-tc-offload off (Amir Tzin) [2112927] - net/mlx5e: TC, Add missing policer validation (Amir Tzin) [2112927] - net/mlx5e: Fix wrong application of the LRO state (Amir Tzin) [2112927] - net/mlx5: Avoid false positive lockdep warning by adding lock_class_key (Amir Tzin) [2112927] - net/mlx5: Fix cmd error logging for manage pages cmd (Amir Tzin) [2112927] - net/mlx5: Disable irq when locking lag_lock (Amir Tzin) [2112927] - net/mlx5: Eswitch, Fix forwarding decision to uplink (Amir Tzin) [2112927 2150647] - net/mlx5: LAG, fix logic over MLX5_LAG_FLAG_NDEVS_READY (Amir Tzin) [2112927] - net/mlx5e: Properly disable vlan strip on non-UL reps (Amir Tzin) [2112927] - net/mlx5e: Allocate flow steering storage during uplink initialization (Amir Tzin) [2112927] - RDMA/mlx5: Use the proper number of ports (Amir Tzin) [2112927] - mlx5: do not use RT_TOS for IPv6 flowlabel (Amir Tzin) [2112927] - RDMA/mlx5: Add missing check for return value in get namespace flow (Amir Tzin) [2112927] - net/mlx5e: xsk: Discard unaligned XSK frames on striding RQ (Amir Tzin) [2112927] - net: devlink: convert reload command to take implicit devlink->lock (mlx5 hunk only) (Amir Tzin) [2112927] - devlink: Hold the instance lock in health callbacks (mlx5 hunk only) (Amir Tzin) [2112927] - net/mlx5: Lock mlx5 devlink health recovery callback (Amir Tzin) [2112927] - net/mlx5: Lock mlx5 devlink reload callbacks (Amir Tzin) [2112927] - net/mlx5: Move fw reset unload to mlx5_fw_reset_complete_reload (Amir Tzin) [2112927] - net/mlx5e: kTLS, Dynamically re-size TX recycling pool (Amir Tzin) [2112927] - net/mlx5e: kTLS, Recycle objects of device-offloaded TLS TX connections (Amir Tzin) [2112927] - net/mlx5e: kTLS, Take stats out of OOO handler (Amir Tzin) [2112927] - net/mlx5e: kTLS, Introduce TLS-specific create TIS (Amir Tzin) [2112927] - net/mlx5e: Move mlx5e_init_l2_addr to en_main (Amir Tzin) [2112927] - net/mlx5e: Split en_fs ndo's and move to en_main (Amir Tzin) [2112927] - net/mlx5e: Separate mlx5e_set_rx_mode_work and move caller to en_main (Amir Tzin) [2112927] - net/mlx5e: Add mdev to flow_steering struct (Amir Tzin) [2112927] - net/mlx5e: Report flow steering errors with mdev err report API (Amir Tzin) [2112927] - net/mlx5e: Convert mlx5e_flow_steering member of mlx5e_priv to pointer (Amir Tzin) [2112927] - net/mlx5e: Allocate VLAN and TC for featured profiles only (Amir Tzin) [2112927] - net/mlx5e: Make mlx5e_tc_table private (Amir Tzin) [2112927] - net/mlx5e: Convert mlx5e_tc_table member of mlx5e_flow_steering to pointer (Amir Tzin) [2112927] - net/mlx5e: TC, Support tc action api for police (Amir Tzin) [2112927] - net/mlx5e: TC, Separate get/update/replace meter functions (Amir Tzin) [2112927] - net/mlx5e: Add red and green counters for metering (Amir Tzin) [2112927] - net/mlx5e: TC, Allocate post meter ft per rule (Amir Tzin) [2112927] - net/mlx5: DR, Add support for flow metering ASO (Amir Tzin) [2112927] - net/mlx5: Fix driver use of uninitialized timeout (Amir Tzin) [2112927] - net/mlx5: DR, Fix SMFS steering info dump format (Amir Tzin) [2112927] - net/mlx5: Adjust log_max_qp to be 18 at most (Amir Tzin) [2112927] - net/mlx5e: Modify slow path rules to go to slow fdb (Amir Tzin) [2112927 2150647] - net/mlx5e: Fix calculations related to max MPWQE size (Amir Tzin) [2112927] - net/mlx5e: xsk: Account for XSK RQ UMRs when calculating ICOSQ size (Amir Tzin) [2112927] - net/mlx5e: Fix the value of MLX5E_MAX_RQ_NUM_MTTS (Amir Tzin) [2112927] - net/mlx5e: TC, Fix post_act to not match on in_port metadata (Amir Tzin) [2112927] - net/mlx5e: Remove WARN_ON when trying to offload an unsupported TLS cipher/version (Amir Tzin) [2112927] - RDMA/mlx5: Rename the mkey cache variables and functions (Amir Tzin) [2112927] - RDMA/mlx5: Store in the cache mkeys instead of mrs (Amir Tzin) [2112927] - RDMA/mlx5: Store the number of in_use cache mkeys instead of total_mrs (Amir Tzin) [2112927] - RDMA/mlx5: Replace cache list with Xarray (Amir Tzin) [2112927] - RDMA/mlx5: Replace ent->lock with xa_lock (Amir Tzin) [2112927] - net/mlx5: CT: Remove warning of ignore_flow_level support for non PF (Amir Tzin) [2112927] - net/mlx5e: Add resiliency for PTP TX port timestamp (Amir Tzin) [2112927] - net/mlx5: Expose ts_cqe_metadata_size2wqe_counter (Amir Tzin) [2112927] - net/mlx5e: HTB, move htb functions to a new file (Amir Tzin) [2112927] - net/mlx5e: HTB, change functions name to follow convention (Amir Tzin) [2112927] - net/mlx5e: HTB, remove priv from htb function calls (Amir Tzin) [2112927] - net/mlx5e: HTB, hide and dynamically allocate mlx5e_htb structure (Amir Tzin) [2112927] - net/mlx5e: HTB, move stats and max_sqs to priv (Amir Tzin) [2112927] - net/mlx5e: HTB, move section comment to the right place (Amir Tzin) [2112927] - net/mlx5e: HTB, move ids to selq_params struct (Amir Tzin) [2112927] - net/mlx5e: HTB, reduce visibility of htb functions (Amir Tzin) [2112927] - net/mlx5e: Fix mqprio_rl handling on devlink reload (Amir Tzin) [2112927] - net/mlx5e: Report header-data split state through ethtool (Amir Tzin) [2112927] - RDMA/mlx5: Expose steering anchor to userspace (Amir Tzin) [2112927] - RDMA/mlx5: Refactor get flow table function (Amir Tzin) [2112927] - net/mlx5: fs, allow flow table creation with a UID (Amir Tzin) [2112927] - net/mlx5: fs, expose flow table ID to users (Amir Tzin) [2112927] - net/mlx5: Expose the ability to point to any UID from shared UID (Amir Tzin) [2112927] - net/mlx5e: Remove the duplicating check for striding RQ when enabling LRO (Amir Tzin) [2112927] - net/mlx5e: Move the LRO-XSK check to mlx5e_fix_features (Amir Tzin) [2112927] - net/mlx5e: Extend flower police validation (Amir Tzin) [2112927] - net/mlx5e: configure meter in flow action (Amir Tzin) [2112927 2150647 2049622] - net/mlx5e: Removed useless code in function (Amir Tzin) [2112927] - net/mlx5: Bridge, implement QinQ support (Amir Tzin) [2112927] - net/mlx5: Bridge, implement infrastructure for VLAN protocol change (Amir Tzin) [2112927] - net/mlx5: Bridge, extract VLAN push/pop actions creation (Amir Tzin) [2112927] - net/mlx5: Bridge, rename filter fg to vlan_filter (Amir Tzin) [2112927] - net/mlx5: Bridge, refactor groups sizes and indices (Amir Tzin) [2112927] - net/mlx5: debugfs, Add num of in-use FW command interface slots (Amir Tzin) [2112927] - net/mlx5: Expose vnic diagnostic counters for eswitch managed vports (Amir Tzin) [2112927 2150647 2049881] - net/mlx5: Use software VHCA id when it's supported (Amir Tzin) [2112927] - net/mlx5: Introduce ifc bits for using software vhca id (Amir Tzin) [2112927] - net/mlx5: Use the bitmap API to allocate bitmaps (Amir Tzin) [2112927] - devlink: Hold the instance lock in port_new / port_del callbacks (mlx5 hunks only) (Amir Tzin) [2112925] - net/mlx5: Remove devl_unlock from mlx5_devlink_eswitch_mode_set (Amir Tzin) [2112927 2150647] - net/mlx5: Use devl_ API in mlx5e_devlink_port_register (Amir Tzin) [2112927 2150647] - net/mlx5: Use devl_ API in mlx5_esw_devlink_sf_port_register (Amir Tzin) [2112927] - net/mlx5: Use devl_ API in mlx5_esw_offloads_devlink_port_register (Amir Tzin) [2112927 2150647] - net/mlx5: Use devl_ API for rate nodes destroy (Amir Tzin) [2112927 2150647] - net/mlx5: Remove devl_unlock from mlx5_eswtich_mode_callback_enter (Amir Tzin) [2112927 2150647] - net/mlx5: fix 32bit build (Amir Tzin) [2112927 2049622] - net/mlx5e: TC, Support offloading police action (Amir Tzin) [2112927 2049622] - net/mlx5e: Add flow_action to parse state (Amir Tzin) [2112927 2049622] - net/mlx5e: Add post meter table for flow metering (Amir Tzin) [2112927 2049622] - net/mlx5e: Add generic macros to use metadata register mapping (Amir Tzin) [2112927 2049622] - net/mlx5e: Get or put meter by the index of tc police action (Amir Tzin) [2112927 2049622] - net/mlx5e: Add support to modify hardware flow meter parameters (Amir Tzin) [2112927 2049622] - net/mlx5e: Prepare for flow meter offload if hardware supports it (Amir Tzin) [2112927 2049622] - net/mlx5: Implement interfaces to control ASO SQ and CQ (Amir Tzin) [2112927 2049622] - net/mlx5: Add support to create SQ and CQ for ASO (Amir Tzin) [2112927 2049622] - net/mlx5: E-switch: Change eswitch mode only via devlink command (Amir Tzin) [2112927 2150647 2112917] - net/mlx5: E-switch, Remove dependency between sriov and eswitch mode (Amir Tzin) [2112927 2150647 2112917] - net/mlx5: E-switch, Introduce flag to indicate if fdb table is created (Amir Tzin) [2112927 2112917] - net/mlx5: E-switch, Introduce flag to indicate if vport acl namespace is created (Amir Tzin) [2112927 2112917] - net/mlx5: delete dead code in mlx5_esw_unlock() (Amir Tzin) [2112927] - net/mlx5: Delete ipsec_fs header file as not used (Amir Tzin) [2112927] - net/mlx5: Add bits and fields to support enhanced CQE compression (Amir Tzin) [2112927] - net/mlx5: Remove not used MLX5_CAP_BITS_RW_MASK (Amir Tzin) [2112927] - net/mlx5: group fdb cleanup to single function (Amir Tzin) [2112927] - net/mlx5: Add support EXECUTE_ASO action for flow entry (Amir Tzin) [2112927 2049622] - net/mlx5: Add HW definitions of vport debug counters (Amir Tzin) [2112927] - net/mlx5: Add IFC bits and enums for flow meter (Amir Tzin) [2112927 2049622] - RDMA/mlx5: Support handling of modify-header pattern ICM area (Amir Tzin) [2112927] - net/mlx5: Manage ICM of type modify-header pattern (Amir Tzin) [2112927] - net/mlx5: Introduce header-modify-pattern ICM properties (Amir Tzin) [2112927] - RDMA/mlx5: Add a umr recovery flow (Amir Tzin) [2112927] - net/mlx5e: Ring the TX doorbell on DMA errors (Amir Tzin) [2112925] - net/mlx5e: Fix capability check for updating vnic env counters (Amir Tzin) [2112925] - net/mlx5: Lag, correct get the port select mode str (Amir Tzin) [2112925] - net/mlx5e: Fix enabling sriov while tc nic rules are offloaded (Amir Tzin) [2112925] - net/mlx5e: kTLS, Fix build time constant test in RX (Amir Tzin) [2112925] - net/mlx5e: kTLS, Fix build time constant test in TX (Amir Tzin) [2112925] - net/mlx5: Lag, decouple FDB selection and shared FDB (Amir Tzin) [2112925] - net/mlx5: TC, allow offload from uplink to other PF's VF (Amir Tzin) [2112925] - mellanox: mlx5: avoid uninitialized variable warning with gcc-12 (Amir Tzin) [2112925] - net/mlx5: E-Switch, pair only capable devices (Amir Tzin) [2112925 2150647] - Revert "net/mlx5e: Allow relaxed ordering over VFs" (Amir Tzin) [2112925] - net/mlx5: Fix mlx5_get_next_dev() peer device matching (Amir Tzin) [2112925] - RDMA/mlx5: Remove duplicate pointer assignment in mlx5_ib_alloc_implicit_mr() (Amir Tzin) [2112925] - net/mlx5: fix multiple definitions of mlx5_lag_mpesw_init / mlx5_lag_mpesw_cleanup (Amir Tzin) [2112925] - net/mlx5: Support multiport eswitch mode (Amir Tzin) [2112925 2150647] - net/mlx5: Remove unused argument (Amir Tzin) [2112925] - net/mlx5: Lag, refactor lag state machine (Amir Tzin) [2112925] - net/mlx5e: Add XDP SQs to uplink representors steering tables (Amir Tzin) [2112925] - net/mlx5e: Allow relaxed ordering over VFs (Amir Tzin) [2112925] - net/mlx5e: Support partial GSO for tunnels over vlans (Amir Tzin) [2112925] - net/mlx5e: IPoIB, Improve ethtool rxnfc callback structure in IPoIB (Amir Tzin) [2112925] - net/mlx5e: Allocate virtually contiguous memory for reps structures (Amir Tzin) [2112925] - net/mlx5e: Allocate virtually contiguous memory for VLANs list (Amir Tzin) [2112925] - net/mlx5: Allocate virtually contiguous memory in pci_irq.c (Amir Tzin) [2112925] - net/mlx5: Allocate virtually contiguous memory in vport.c (Amir Tzin) [2112925] - net/mlx5: Inline db alloc API function (Amir Tzin) [2112925] - net/mlx5: Add last command failure syndrome to debugfs (Amir Tzin) [2112925] - net/mlx5: sparse: error: context imbalance in 'mlx5_vf_get_core_dev' (Amir Tzin) [2112925] - net/mlx5: Expose mlx5_sriov_blocking_notifier_register / unregister APIs (Amir Tzin) [2112925] - net/mlx5: Lag, add debugfs to query hardware lag state (Amir Tzin) [2112925] - net/mlx5: Lag, use buckets in hash mode (Amir Tzin) [2112925] - net/mlx5: Lag, refactor dmesg print (Amir Tzin) [2112925] - net/mlx5: Support devices with more than 2 ports (Amir Tzin) [2112925] - net/mlx5: Lag, use actual number of lag ports (Amir Tzin) [2112925] - net/mlx5: Lag, use hash when in roce lag on 4 ports (Amir Tzin) [2112925] - net/mlx5: Lag, support single FDB only on 2 ports (Amir Tzin) [2112925] - net/mlx5: Lag, store number of ports inside lag object (Amir Tzin) [2112925] - net/mlx5: Lag, filter non compatible devices (Amir Tzin) [2112925] - net/mlx5: Lag, use lag lock (Amir Tzin) [2112925] - net/mlx5: Lag, move E-Switch prerequisite check into lag code (Amir Tzin) [2112925] - net/mlx5: devcom only supports 2 ports (Amir Tzin) [2112925] - net/mlx5: Lag, expose number of lag ports (Amir Tzin) [2112925] - net/mlx5: Increase FW pre-init timeout for health recovery (Amir Tzin) [2112925] - net/mlx5: Add exit route when waiting for FW (Amir Tzin) [2112925] - net/mlx5e: Use XFRM state direction instead of flags (Amir Tzin) [2112925] - net/mlx5: Allow future addition of IPsec object modifiers (Amir Tzin) [2112925] - net/mlx5: Don't perform lookup after already known sec_path (Amir Tzin) [2112925] - net/mlx5: Cleanup XFRM attributes struct (Amir Tzin) [2112925] - net/mlx5: Remove not-supported ICV length (Amir Tzin) [2112925] - net/mlx5: Simplify IPsec capabilities logic (Amir Tzin) [2112925] - net/mlx5: Don't advertise IPsec netdev support for non-IPsec device (Amir Tzin) [2112925] - net/mlx5: Make sure that no dangling IPsec FS pointers exist (Amir Tzin) [2112925] - net/mlx5: Clean IPsec FS add/delete rules (Amir Tzin) [2112925] - net/mlx5: Simplify HW context interfaces by using SA entry (Amir Tzin) [2112925] - net/mlx5: Remove indirections from esp functions (Amir Tzin) [2112925] - net/mlx5: Merge various control path IPsec headers into one file (Amir Tzin) [2112925] - net/mlx5: Remove useless validity check (Amir Tzin) [2112925] - net/mlx5: Store IPsec ESN update work in XFRM state (Amir Tzin) [2112925] - net/mlx5: Reduce useless indirection in IPsec FS add/delete flows (Amir Tzin) [2112925] - net/mlx5: Don't hide fallback to software IPsec in FS code (Amir Tzin) [2112925] - net/mlx5: Check IPsec TX flow steering namespace in advance (Amir Tzin) [2112925] - net/mlx5: Simplify IPsec flow steering init/cleanup functions (Amir Tzin) [2112925] - net/mlx5: fs, an FTE should have no dests when deleted (Amir Tzin) [2112925] - net/mlx5: fs, call the deletion function of the node (Amir Tzin) [2112925] - net/mlx5: fs, delete the FTE when there are no rules attached to it (Amir Tzin) [2112925] - net/mlx5: fs, do proper bookkeeping for forward destinations (Amir Tzin) [2112925] - net/mlx5: fs, add unused destination type (Amir Tzin) [2112925] - net/mlx5: fs, jump to exit point and don't fall through (Amir Tzin) [2112925] - net/mlx5: fs, refactor software deletion rule (Amir Tzin) [2112925] - net/mlx5: fs, split software and IFC flow destination definitions (Amir Tzin) [2112925] - net/mlx5e: TC, set proper dest type (Amir Tzin) [2112925] - net/mlx5e: Remove unused mlx5e_dcbnl_build_rep_netdev function (Amir Tzin) [2112925] - net/mlx5e: Drop error CQE handling from the XSK RX handler (Amir Tzin) [2112925] - net/mlx5: Print initializing field in case of timeout (Amir Tzin) [2112925] - net/mlx5: Delete redundant default assignment of runtime devlink params (Amir Tzin) [2112925] - net/mlx5: Remove useless kfree (Amir Tzin) [2112925] - net/mlx5: use kvfree() for kvzalloc() in mlx5_ct_fs_smfs_matcher_create (Amir Tzin) [2112925] - RDMA/mlx5: Clean UMR QP type flow from mlx5_ib_post_send() (Amir Tzin) [2112925] - RDMA/mlx5: Use mlx5_umr_post_send_wait() to update xlt (Amir Tzin) [2112925] - RDMA/mlx5: Use mlx5_umr_post_send_wait() to update MR pas (Amir Tzin) [2112925] - RDMA/mlx5: Move creation and free of translation tables to umr.c (Amir Tzin) [2112925] - RDMA/mlx5: Use mlx5_umr_post_send_wait() to rereg pd access (Amir Tzin) [2112925] - RDMA/mlx5: Use mlx5_umr_post_send_wait() to revoke MRs (Amir Tzin) [2112925] - RDMA/mlx5: Introduce mlx5_umr_post_send_wait() (Amir Tzin) [2112925] - RDMA/mlx5: Expose wqe posting helpers outside of wr.c (Amir Tzin) [2112925] - RDMA/mlx5: Simplify get_umr_update_access_mask() (Amir Tzin) [2112925] - RDMA/mlx5: Move mkey ctrl segment logic to umr.c (Amir Tzin) [2112925] - RDMA/mlx5: Move umr checks to umr.h (Amir Tzin) [2112925] - RDMA/mlx5: Move init and cleanup of UMR to umr.c (Amir Tzin) [2112925] - RDMA/mlx5: Fix flow steering egress flow (Amir Tzin) [2112925] - mlx5, xsk: Diversify return values from xsk_wakeup call paths (Amir Tzin) [2112925] - net/mlx5: Remove not-implemented IPsec capabilities (Amir Tzin) [2112925] - net/mlx5: Remove ipsec_ops function table (Amir Tzin) [2112925] - net/mlx5: Reduce kconfig complexity while building crypto support (Amir Tzin) [2112925] - net/mlx5: Move IPsec file to relevant directory (Amir Tzin) [2112925] - net/mlx5: Remove not-needed IPsec config (Amir Tzin) [2112925] - net/mlx5: Align flow steering allocation namespace to common style (Amir Tzin) [2112925] - net/mlx5: Unify device IPsec capabilities check (Amir Tzin) [2112925] - net/mlx5: Remove useless IPsec device checks (Amir Tzin) [2112925] - net/mlx5: Remove ipsec vs. ipsec offload file separation (Amir Tzin) [2112925] - RDMA/mlx5: Drop crypto flow steering API (Amir Tzin) [2112925] - RDMA/mlx5: Delete never supported IPsec flow action (Amir Tzin) [2112925] - net/mlx5: Remove FPGA ipsec specific statistics (Amir Tzin) [2112925] - net/mlx5: Remove XFRM no_trailer flag (Amir Tzin) [2112925] - net/mlx5: Remove not-used IDA field from IPsec struct (Amir Tzin) [2112925] - net/mlx5: Delete metadata handling logic (Amir Tzin) [2112925] - net/mlx5_fpga: Drop INNOVA IPsec support (Amir Tzin) [2112925] - net/mlx5: Cleanup kTLS function names and their exposure (Amir Tzin) [2112925] - net/mlx5: Remove tls vs. ktls separation as it is the same (Amir Tzin) [2112925] - net/mlx5: Remove indirection in TLS build (Amir Tzin) [2112925] - net/mlx5: Reliably return TLS device capabilities (Amir Tzin) [2112925] - net/mlx5_fpga: Drop INNOVA TLS support (Amir Tzin) [2112925] - ipv6: Use ipv6_only_sock() helper in condition (mlx5 hunk only). (Amir Tzin) [2112925] - Revert "stmmac/intel: mark driver as tech preview" (Mark Salter) [2122230] - net: stmmac: Fix queue statistics reading (Mark Salter) [2122230] - stmmac: intel: Update PCH PTP clock rate from 200MHz to 204.8MHz (Mark Salter) [2122230] - net: stmmac: power up/down serdes in stmmac_open/release (Mark Salter) [2122230] - stmmac: intel: Simplify intel_eth_pci_remove() (Mark Salter) [2122230] - net: stmmac: work around sporadic tx issue on link-up (Mark Salter) [2122230] - stmmac: intel: Add a missing clk_disable_unprepare() call in intel_eth_pci_remove() (Mark Salter) [2122230] - net: phylink: fix SGMII inband autoneg enable (Mark Salter) [2122230] - net: phylink: fix NULL pl->pcs dereference during phylink_pcs_poll_start (Mark Salter) [2122230] - net: phylink: disable PCS polling over major configuration (Mark Salter) [2122230] - net: phylink: remove pcs_ops member (Mark Salter) [2122230] - net: pcs: xpcs: depends on PHYLINK in Kconfig (Mark Salter) [2122230] - net: phylink: add QSGMII support to phylink_mii_c22_pcs_encode_advertisement() (Mark Salter) [2122230] - net: stmmac: make mdio register skips PHY scanning for fixed-link (Mark Salter) [2122230] - stmmac: intel: add phy-mode and fixed-link ACPI _DSD setting support (Mark Salter) [2122230] - net: pcs: xpcs: add CL37 1000BASE-X AN support (Mark Salter) [2122230] - stmmac: intel: prepare to support 1000BASE-X phy interface setting (Mark Salter) [2122230] - net: make xpcs_do_config to accept advertising for pcs-xpcs and sja1105 (Mark Salter) [2122230] - net: pcs: xpcs: propagate xpcs_read error to xpcs_get_state_c37_sgmii (Mark Salter) [2122230] - net: stmmac: remove redunctant disable xPCS EEE call (Mark Salter) [2122230] - net: stmmac: fix dma queue left shift overflow issue (Mark Salter) [2122230] - net: stmmac: switch to use interrupt for hw crosstimestamping (Mark Salter) [2122230] - net: stmmac: fix unbalanced ptp clock issue in suspend/resume flow (Mark Salter) [2122230] - net: stmmac: fix pm runtime issue in stmmac_dvr_remove() (Mark Salter) [2122230] - net: stmmac: dwc-qos: Disable split header for Tegra194 (Mark Salter) [2122230] - stmmac: intel: Fix an error handling path in intel_eth_pci_probe() (Mark Salter) [2122230] - stmmac: intel: Add RPL-P PCI ID (Mark Salter) [2122230] - net: stmmac: use dev_err_probe() for reporting mdio bus registration failure (Mark Salter) [2122230] - net: stmmac: remove unused get_addr() callback (Mark Salter) [2122230] - net: pcs: pcs-xpcs: Convert to mdiobus_c45_read (Mark Salter) [2122230] - net: phylink: Convert to mdiobus_c45_{read|write} (Mark Salter) [2122230] - net: stmmac: stmmac_main: using pm_runtime_resume_and_get instead of pm_runtime_get_sync (Mark Salter) [2122230] - net: phylink: remove phylink_helper_basex_speed() (Mark Salter) [2122230] - net: phylink: remove phylink_set_10g_modes() (Mark Salter) [2122230] - net: stmmac: using pm_runtime_resume_and_get instead of pm_runtime_get_sync (Mark Salter) [2122230] - net: stmmac: fix missing pci_disable_device() on error in stmmac_pci_probe() (Mark Salter) [2122230] - net: stmmac: disable Split Header (SPH) for Intel platforms (Mark Salter) [2122230] - net: stmmac: Use readl_poll_timeout_atomic() in atomic state (Mark Salter) [2122230] - net: stmmac: Fix unset max_speed difference between DT and non-DT platforms (Mark Salter) [2122230] - stmmac: intel: Add ADL-N PCI ID (Mark Salter) [2122230] - net: stmmac: switch no PTP HW support message to info level (Mark Salter) [2122230] - net: phylink: remove phylink_set_pcs() (Mark Salter) [2122230] - stmmac: intel: Enable 2.5Gbps for Intel AlderLake-S (Mark Salter) [2122230] - net: phylink: remove phylink_config's pcs_poll (Mark Salter) [2122230] - net: phylink: use legacy_pre_march2020 (Mark Salter) [2122230] - net: phylink: add legacy_pre_march2020 indicator (Mark Salter) [2122230] - net: stmmac: optimize locking around PTP clock reads (Mark Salter) [2122230] - net: stmmac: use .mac_select_pcs() interface (Mark Salter) [2122230] - net: stmmac: convert to phylink_generic_validate() (Mark Salter) [2122230] - net: stmmac: remove phylink_config.pcs_poll usage (Mark Salter) [2122230] - net: stmmac/xpcs: convert to pcs_validate() (Mark Salter) [2122230] - net: convert users of bitmap_foo() to linkmode_foo() (Mark Salter) [2122230] - net: phylink: add pcs_validate() method (Mark Salter) [2122230] - net: phylink: add mac_select_pcs() method to phylink_mac_ops (Mark Salter) [2122230] - net: phylink: tidy up disable bit clearing (Mark Salter) [2122230] - net: phylink: handle NA interface mode in phylink_fwnode_phy_connect() (Mark Salter) [2122230] - net: phylink: Add helpers for c22 registers without MDIO (Mark Salter) [2122230] - net: phylink: add 1000base-KX to phylink_caps_to_linkmodes() (Mark Salter) [2122230] - net: phylink: add generic validate implementation (Mark Salter) [2122230] - net: phylink: use supported_interfaces for phylink validation (Mark Salter) [2122230] - net: phylink: add MAC phy_interface_t bitmap (Mark Salter) [2122230] - net: phy: add phy_interface_t bitmap support (Mark Salter) [2122230] - net: phylink: Convert some users of mdiobus_* to mdiodev_* (Mark Salter) [2122230] - net: phylink: use mdiobus_modify_changed() helper (Mark Salter) [2122230] - net: mdio: add mdiobus_modify_changed() (Mark Salter) [2122230] - net: phylink: add phylink_set_10g_modes() helper (Mark Salter) [2122230] - net: stmmac: fill in supported_interfaces (Mark Salter) [2122230] - net: stmmac: convert to phylink_get_linkmodes() (Mark Salter) [2122230] - net: xpcs: add support for retrieving supported interface modes (Mark Salter) [2122230] - net: mdio: Add helper functions for accessing MDIO devices (Mark Salter) [2122230] - net: stmmac: fix return value of __setup handler (Mark Salter) [2122230] - net: stmmac: only enable DMA interrupts when ready (Mark Salter) [2122230] - net: stmmac: ensure PTP time register reads are consistent (Mark Salter) [2122230] - net: stmmac: dump gmac4 DMA registers correctly (Mark Salter) [2122230] - net: stmmac: properly handle with runtime pm in stmmac_dvr_remove() (Mark Salter) [2122230] - net: stmmac: skip only stmmac_ptp_register when resume from suspend (Mark Salter) [2122230] - drivers/net/ethernet: clean up mis-targeted comments (Mark Salter) [2122230] - net: stmmac: configure PTP clock source prior to PTP initialization (Mark Salter) [2122230] - net: stmmac: reduce unnecessary wakeups from eee sw timer (Mark Salter) [2122230] - net: stmmac: remove unused members in struct stmmac_priv (Mark Salter) [2122230] - net: stmmac: Fix "Unbalanced pm_runtime_enable!" warning (Mark Salter) [2122230] - net: stmmac: add tc flower filter for EtherType matching (Mark Salter) [2122230] - net: stmmac: bump tc when get underflow error from DMA descriptor (Mark Salter) [2122230] - stmmac: remove ethtool driver version info (Mark Salter) [2122230] - net: stmmac: Calculate CDC error only once (Mark Salter) [2122230] - net: stmmac: ptp: fix potentially overflowing expression (Mark Salter) [2122230] - net: stmmac: fix tc flower deletion for VLAN priority Rx steering (Mark Salter) [2122230] - net: stmmac: Avoid DMA_CHAN_CONTROL write if no Split Header support (Mark Salter) [2122230] - net: stmmac: Disable Tx queues when reconfiguring the interface (Mark Salter) [2122230] - net: phylink: Force retrigger in case of latched link-fail indicator (Mark Salter) [2122230] - net: phylink: Force link down and retrigger resolve on interface change (Mark Salter) [2122230] - net: stmmac: retain PTP clock time during SIOCSHWTSTAMP ioctls (Mark Salter) [2122230] - stmmac_pci: Fix underflow size in stmmac_rx (Mark Salter) [2122230] - net: stmmac: Fix signed/unsigned wreckage (Mark Salter) [2122230] - net: stmmac: allow a tc-taprio base-time of zero (Mark Salter) [2122230] - ethernet: stmmac: use eth_hw_addr_set() (Mark Salter) [2122230] - net: phylink: Support disabling autonegotiation for PCS (Mark Salter) [2122230] - net: stmmac: fix off-by-one error in sanity check (Mark Salter) [2122230] - net: stmmac: fix gcc-10 -Wrestrict warning (Mark Salter) [2122230] - net: phylink: don't call netif_carrier_off() with NULL netdev (Mark Salter) [2122230] - net: stmmac: Fix E2E delay mechanism (Mark Salter) [2122230] - net: stmmac: add support for dwmac 3.40a (Mark Salter) [2122230] - net: stmmac: fix get_hw_feature() on old hardware (Mark Salter) [2122230] - net: stmmac: trigger PCS EEE to turn off on link down (Mark Salter) [2122230] - net: pcs: xpcs: fix incorrect steps on disable EEE (Mark Salter) [2122230] - net: pcs: xpcs: fix incorrect CL37 AN sequence (Mark Salter) [2122230] - net: stmmac: fix EEE init issue when paired with EEE capable PHYs (Mark Salter) [2122230] - net: stmmac: allow CSR clock of 300MHz (Mark Salter) [2122230] - net: stmmac: platform: fix build warning when with !CONFIG_PM_SLEEP (Mark Salter) [2122230] - net: stmmac: fix system hang caused by eee_ctrl_timer during suspend/resume (Mark Salter) [2122230] - net: stmmac: fix MAC not working when system resume back with WoL active (Mark Salter) [2122230] - net: phylink: add suspend/resume support (Mark Salter) [2122230] - net: stmmac: add ethtool per-queue irq statistic support (Mark Salter) [2122230] - net: stmmac: add ethtool per-queue statistic framework (Mark Salter) [2122230] - net: stmmac: fix INTR TBU status affecting irq count statistic (Mark Salter) [2122230] - net: pcs: xpcs: Add Pause Mode support for SGMII and 2500BaseX (Mark Salter) [2122230] - net: stmmac: fix kernel panic due to NULL pointer dereference of plat->est (Mark Salter) [2122230] - net: pcs: xpcs: fix error handling on failed to allocate memory (Mark Salter) [2122230] - net: stmmac: add est_irq_status callback function for GMAC 4.10 and 5.10 (Mark Salter) [2122230] - net: stmmac: ptp: update tas basetime after ptp adjust (Mark Salter) [2122230] - net: stmmac: add mutex lock to protect est parameters (Mark Salter) [2122230] - net: stmmac: separate the tas basetime calculation function (Mark Salter) [2122230] - net: stmmac: Terminate FPE workqueue in suspend (Mark Salter) [2122230] - stmmac: intel: set PCI_D3hot in suspend (Mark Salter) [2122230] - stmmac: intel: Enable PHY WOL option in EHL (Mark Salter) [2122230] - net: stmmac: option to enable PHY WOL with PMT enabled (Mark Salter) [2122230] - net: stmmac: remove redundant continue statement (Mark Salter) [2122230] - stmmac: intel: fix wrong kernel-doc (Mark Salter) [2122230] - stmmac: intel: move definitions to dwmac-intel header file (Mark Salter) [2122230] - net: pcs: xpcs: export xpcs_do_config and xpcs_link_up (Mark Salter) [2122230] - net: pcs: xpcs: also ignore phy id if it's all ones (Mark Salter) [2122230] - net: pcs: xpcs: add support for sgmii with no inband AN (Mark Salter) [2122230] - net: pcs: xpcs: move register bit descriptions to a header file (Mark Salter) [2122230] - net: stmmac: reduce indentation when calling stmmac_xpcs_setup (Mark Salter) [2122230] - net: stmmac: reverse Christmas tree notation in stmmac_xpcs_setup (Mark Salter) [2122230] - net: pcs: xpcs: rename mdio_xpcs_args to dw_xpcs (Mark Salter) [2122230] - net: phylink: Refactor phylink_of_phy_connect() (Mark Salter) [2122230] - net: phylink: introduce phylink_fwnode_phy_connect() (Mark Salter) [2122230] - net: phy: Introduce phy related fwnode functions (Mark Salter) [2122230] - net: phy: Introduce fwnode_mdio_find_device() (Mark Salter) [2122230] - net: stmmac: Fix unused values warnings (Mark Salter) [2122230] - net: stmmac: Fix mixed enum type warning (Mark Salter) [2122230] - net: stmmac: Fix missing { } around two statements in an if statement (Mark Salter) [2122230] - net: stmmac: explicitly deassert GMAC_AHB_RESET (Mark Salter) [2122230] - net: stmmac: platform: use optional clk/reset get APIs (Mark Salter) [2122230] - net: stmmac: fix NPD with phylink_set_pcs if there is no MDIO bus (Mark Salter) [2122230] - net: stmmac: enable Intel mGbE 2.5Gbps link speed (Mark Salter) [2122230] - net: pcs: add 2500BASEX support for Intel mGbE controller (Mark Salter) [2122230] - net: stmmac: split xPCS setup from mdio register (Mark Salter) [2122230] - net: pcs: xpcs: convert to phylink_pcs_ops (Mark Salter) [2122230] - net: pcs: xpcs: convert to mdio_device (Mark Salter) [2122230] - net: pcs: xpcs: use mdiobus_c45_addr in xpcs_{read,write} (Mark Salter) [2122230] - net: pcs: xpcs: export xpcs_probe (Mark Salter) [2122230] - net: pcs: xpcs: export xpcs_config_eee (Mark Salter) [2122230] - net: pcs: xpcs: export xpcs_validate (Mark Salter) [2122230] - net: pcs: xpcs: make the checks related to the PHY interface mode stateless (Mark Salter) [2122230] - net: pcs: xpcs: delete shim definition for mdio_xpcs_get_ops() (Mark Salter) [2122230] - net: pcs: xpcs: there is only one PHY ID (Mark Salter) [2122230] - net: stmmac: enable platform specific safety features (Mark Salter) [2122230] - net: stmmac: the XPCS obscures a potential "PHY not found" error (Mark Salter) [2122230] - net: stmmac: Add callbacks for DWC xpcs Energy Efficient Ethernet (Mark Salter) [2122230] - net: pcs: Introducing support for DWC xpcs Energy Efficient Ethernet (Mark Salter) [2122230]- xfs: reserve quota for dir expansion when linking/unlinking files (Bill O'Donnell) [2086880] - scsi: storvsc: Fix swiotlb bounce buffer leak in confidential VM (Emanuele Giuseppe Esposito) [2150659] - ACPICA: Fix operand resolution (Mark Langsdorf) [2156144] - driver core: Add missing kernel doc for device::msi_lock (Myron Stowe) [2158839] - PCI/MSI: Protect msi_desc::masked for multi-MSI (Myron Stowe) [2158839] - KVM: arm64: Don't retrieve memory slot again in page fault handler (Gavin Shan) [2161161] - fs: allow cross-vfsmount reflink/dedupe (Andrey Albershteyn) [2086200] - powerpc/hv-gpci: Fix hv_gpci event list (Mamatha Inamdar) [2161258] - powerpc: declare unmodified attribute_group usages const (Mamatha Inamdar) [2161258] - drm/amd: Delay removal of the firmware framebuffer (Michel Dänzer) [2162039] - cpuidle: Add cpu_idle_miss trace event (Mark Langsdorf) [2122312] - cpuidle: haltpoll: Add trace points for guest_halt_poll_ns grow/shrink (Mark Langsdorf) [2122312] - efi/cper, cxl: Decode CXL Error Log (Lenny Szubowicz) [2143733] - efi/cper, cxl: Decode CXL Protocol Error Section (Lenny Szubowicz) [2143733] - efi: cper: Add support for printing Firmware Error Record Reference (Lenny Szubowicz) [2143733] - Bluetooth: L2CAP: Fix use-after-free caused by l2cap_reassemble_sdu (Wander Lairson Costa) [2152927] {CVE-2022-3564} - drm/i915: Fix CFI violations in gt_sysfs (Jocelyn Falempe) [2154880] - NFS: Clear the file access cache upon login (Benjamin Coddington) [2050832] - NFS: don't store 'struct cred *' in struct nfs_access_entry (Benjamin Coddington) [2050832] - NFS: pass cred explicitly for access tests (Benjamin Coddington) [2050832] - NFS: change nfs_access_get_cached to only report the mask (Benjamin Coddington) [2050832] - init: Initialize noop_backing_dev_info early (Nico Pache) [2160228] - mm: vmscan: make rotations a secondary factor in balancing anon vs file (Nico Pache) [2160228] - writeback: Fix inode->i_io_list not be protected by inode->i_lock error (Nico Pache) [2160228] - mm: vmscan: fix extreme overreclaim and swap floods (Nico Pache) [2160228] - mm/page_alloc: ensure kswapd doesn't accidentally go to sleep (Nico Pache) [2160228] - mm/page_io: count submission time as thrashing delay for delayacct (Nico Pache) [2160228] - delayacct: support re-entrance detection of thrashing accounting (Nico Pache) [2160228] - filemap: make the accounting of thrashing more consistent (Nico Pache) [2160228] - writeback: don't warn on an unregistered BDI in __mark_inode_dirty (Nico Pache) [2160228] - s390/dasd: fix no record found for raw_track_access (Tobias Huschle) [2161270] - crypto: testmgr - disallow certain DRBG hash functions in FIPS mode (Vladis Dronov) [2152133] - dmaengine: idxd: Fix crc_val field for completion record (Jerry Snitselaar) [2144375] - dmaengine: idxd: Make read buffer sysfs attributes invisible for Intel IAA (Jerry Snitselaar) [2144375] - dmaengine: idxd: Make max batch size attributes in sysfs invisible for Intel IAA (Jerry Snitselaar) [2144375] - dmaengine: idxd: Do not call DMX TX callbacks during workqueue disable (Jerry Snitselaar) [2144375] - dmaengine: idxd: Prevent use after free on completion memory (Jerry Snitselaar) [2144375] - dmaengine: idxd: Let probe fail when workqueue cannot be enabled (Jerry Snitselaar) [2144375] - dmaengine: idxd: Fix max batch size for Intel IAA (Jerry Snitselaar) [2144375] - dmaengine: idxd: add configuration for concurrent batch descriptor processing (Jerry Snitselaar) [2144375] - dmanegine: idxd: reformat opcap output to match bitmap_parse() input (Jerry Snitselaar) [2144375] - dmaengine: idxd: add configuration for concurrent work descriptor processing (Jerry Snitselaar) [2144375] - dmaengine: idxd: add WQ operation cap restriction support (Jerry Snitselaar) [2144375] - dmaengine: idxd: convert ats_dis to a wq flag (Jerry Snitselaar) [2144375] - dmaengine: idxd: track enabled workqueues in bitmap (Jerry Snitselaar) [2144375] - dmaengine: idxd: Set wq state to disabled in idxd_wq_disable_cleanup() (Jerry Snitselaar) [2144375] - dmaengine: idxd: Do not enable user type Work Queue without Shared Virtual Addressing (Jerry Snitselaar) [2144375] - dmaengine: idxd: fix RO device state error after been disabled/reset (Jerry Snitselaar) [2144375] - dmaengine: idxd: avoid deadlock in process_misc_interrupts() (Jerry Snitselaar) [2144375] - KVM: x86: nSVM: implement nested LBR virtualization (Emanuele Giuseppe Esposito) [2155149] - KVM: x86: nSVM: correctly virtualize LBR msrs when L2 is running (Emanuele Giuseppe Esposito) [2155149] - kvm: x86: SVM: use vmcb* instead of svm->vmcb where it makes sense (Emanuele Giuseppe Esposito) [2155149] - KVM: x86: nSVM: implement nested VMLOAD/VMSAVE (Emanuele Giuseppe Esposito) [2155149] - eth: octeon: fix build after netif_napi_add() changes (Íñigo Huguet) [2152918] - net: drop the weight argument from netif_napi_add (Íñigo Huguet) [2152918] - net: remove netif_tx_napi_add() (Íñigo Huguet) [2152918] - ipoib: switch to netif_napi_add_weight() (Íñigo Huguet) [2152918] - IB/hfi1: switch to netif_napi_add_weight() (Íñigo Huguet) [2152918] - IB/hfi1: switch to netif_napi_add_tx() (Íñigo Huguet) [2152918] - crypto: caam/qi2 - switch to netif_napi_add_tx_weight() (Íñigo Huguet) [2152918] - can: can-dev: move to netif_napi_add_weight() (Íñigo Huguet) [2152918] - net: virtio: switch to netif_napi_add_weight() (Íñigo Huguet) [2152918] - r8152: switch to netif_napi_add_weight() (Íñigo Huguet) [2152918] - eth: switch to netif_napi_add_weight() (Íñigo Huguet) [2152918] - mt76: switch to netif_napi_add_tx() (Íñigo Huguet) [2152918] - net: move snowflake callers to netif_napi_add_tx_weight() (Íñigo Huguet) [2152918] - net: switch to netif_napi_add_tx() (Íñigo Huguet) [2152918] - can: m_can: remove a copy of the NAPI_POLL_WEIGHT define (Íñigo Huguet) [2152918] - eth: remove remaining copies of the NAPI_POLL_WEIGHT define (Íñigo Huguet) [2152918] - eth: benet: remove a copy of the NAPI_POLL_WEIGHT define (Íñigo Huguet) [2152918] - eth: atlantic: remove a copy of the NAPI_POLL_WEIGHT define (Íñigo Huguet) [2152918] - eth: smsc: remove a copy of the NAPI_POLL_WEIGHT define (Íñigo Huguet) [2152918] - eth: remove copies of the NAPI_POLL_WEIGHT define (Íñigo Huguet) [2152918] - netdev: reshuffle netif_napi_add() APIs to allow dropping weight (Íñigo Huguet) [2152918] - ipv6: raw: Deduct extension header length in rawv6_push_pending_frames (Hangbin Liu) [2162124] {CVE-2023-0394} - netfilter: conntrack: handle tcp challenge acks during connection reuse (Florian Westphal) [2158726] - act_mirred: use the backlog for nested calls to mirred ingress (Davide Caratti) [2131339] {CVE-2022-4269} - net/sched: act_mirred: better wording on protection against excessive stack growth (Davide Caratti) [2131339] - xfs: add selinux labels to whiteout inodes (Andrey Albershteyn) [2094060] - tdx: enable TDX attestation driver (Wander Lairson Costa) [2076748] - selftests/tdx: Test TDX attestation GetReport support (Wander Lairson Costa) [2076748] - virt: Add TDX guest driver (Wander Lairson Costa) [2076748] - x86/tdx: Add a wrapper to get TDREPORT0 from the TDX Module (Wander Lairson Costa) [2076748] - proc: proc_skip_spaces() shouldn't think it is working on C strings (Wander Lairson Costa) [2152572] {CVE-2022-4378} - proc: avoid integer type confusion in get_proc_long (Wander Lairson Costa) [2152572] {CVE-2022-4378} - NFSv4.2: Update mode bits after ALLOCATE and DEALLOCATE (Jeffrey Layton) [2127153] - NFS: nfsiod should not block forever in mempool_alloc() (Jeffrey Layton) [2127153] - NFSv4.1: Handle NFS4ERR_DELAY replies to OP_SEQUENCE correctly (Benjamin Coddington) [2061259] - NFSv4.1: Don't decrease the value of seq_nr_highest_sent (Benjamin Coddington) [2061259]- uas: ignore UAS for Thinkplus chips (Torez Smith) [2113004] - usb-storage: Add Hiksemi USB3-FW to IGNORE_UAS (Torez Smith) [2113004] - thunderbolt: Explicitly reset plug events delay back to USB4 spec value (Torez Smith) [2113004] - USB: serial: option: add Quectel BG95 0x0203 composition (Torez Smith) [2113004] - thunderbolt: Add support for Intel Maple Ridge single port controller (Torez Smith) [2113004] - USB: core: Fix RST error in hub.c (Torez Smith) [2113004] - kunit: fix Kconfig for build-in tests USB4 and Nitro Enclaves (Torez Smith) [2113004] - usb: storage: Add ASUS <0x0b05:0x1932> to IGNORE_UAS (Torez Smith) [2113004] - USB: serial: cp210x: add Decagon UCA device id (Torez Smith) [2113004] - USB: core: Prevent nested device-reset calls (Torez Smith) [2113004] - usb: typec: Remove retimers properly (Torez Smith) [2113004] - USB: serial: ftdi_sio: add Omron CS1W-CIF31 device id (Torez Smith) [2113004] - USB: serial: option: add support for OPPO R11 diag port (Torez Smith) [2113004] - xhci: Add grace period after xHC start to prevent premature runtime suspend. (Torez Smith) [2113004] - xhci: Fix null pointer dereference in remove if xHC has only one roothub (Torez Smith) [2113004] - USB: cdc-acm: Add Icom PMR F3400 support (0c26:0020) (Torez Smith) [2113004] - usb: xhci-mtk: fix bandwidth release issue (Torez Smith) [2113004] - usb: xhci-mtk: relax TT periodic bandwidth allocation (Torez Smith) [2113004] - usb: typec: altmodes/displayport: correct pin assignment for UFP receptacles (Torez Smith) [2113004] - usb: typec: intel_pmc_mux: Add new ACPI ID for Meteor Lake IOM device (Torez Smith) [2113004] - usb-storage: Add ignore-residue quirk for NXP PN7462AU (Torez Smith) [2113004] - usb: typec: tcpm: Return ENOTSUPP for power supply prop writes (Torez Smith) [2113004] - thunderbolt: Check router generation before connecting xHCI (Torez Smith) [2113004] - thunderbolt: Use the actual buffer in tb_async_error() (Torez Smith) [2113004] - USB: usbsevseg: convert sysfs snprintf to sysfs_emit (Torez Smith) [2113004] - dt-bindings: usb: Add binding for TI USB8041 hub controller (Torez Smith) [2113004] - usb: typec: ucsi: stm32g0: add bootloader support (Torez Smith) [2113004] - usb: typec: ucsi: stm32g0: add support for stm32g0 controller (Torez Smith) [2113004] - dt-bindings: usb: typec: add bindings for stm32g0 controller (Torez Smith) [2113004] - usb: typec: ucsi: Acknowledge the GET_ERROR_STATUS command completion (Torez Smith) [2113004] - usb: typec: retimer: Add missing id check in match callback (Torez Smith) [2113004] - USB: xhci: Fix comment typo (Torez Smith) [2113004] - usb/typec/tcpm: fix repeated words in comments (Torez Smith) [2113004] - usb/misc: fix repeated words in comments (Torez Smith) [2113004] - usb/image: fix repeated words in comments (Torez Smith) [2113004] - usb/host: fix repeated words in comments (Torez Smith) [2113004] - usb/core: fix repeated words in comments (Torez Smith) [2113004] - usb/atm: fix repeated words in comments (Torez Smith) [2113004] - USB: HCD: Fix URB giveback issue in tasklet function (Torez Smith) [2113004] - usb: xhci_plat_remove: avoid NULL dereference (Torez Smith) [2113004] - USB: serial: fix tty-port initialized comments (Torez Smith) [2113004] - USB: serial: usb_wwan: replace DTR/RTS magic numbers with macros (Torez Smith) [2113004] - USB: cdc-acm: use CDC serial-state defines (Torez Smith) [2113004] - USB: cdc-acm: use CDC control-line defines (Torez Smith) [2113004] - USB: cdc: add serial-state defines (Torez Smith) [2113004] - USB: cdc: add control-signal defines (Torez Smith) [2113004] - net/cdc_ncm: Increase NTB max RX/TX values to 64kb (Torez Smith) [2113004] - usb: typec: Add retimer handle to port (Torez Smith) [2113004] - usb: typec: Add support for retimers (Torez Smith) [2113004] - dt-bindings: usb: Add analogix anx7411 PD binding (Torez Smith) [2113004] - usb: ldusb: replace ternary operator with max_t() (Torez Smith) [2113004] - USB: serial: fix repeated word "the" in comments (Torez Smith) [2113004] - USB: serial: io_edgeport: fix spelling mistakes (Torez Smith) [2113004] - USB: serial: ftdi_sio: add Belimo device ids (Torez Smith) [2113004] - thunderbolt: test: Use kunit_test_suite() macro (Torez Smith) [2113004] - media: pvrusb2: drop unexpected word 'a' in comments (Torez Smith) [2113004] - media: gspca: drop unexpected word 'is' in the comments (Torez Smith) [2113004] - usb: typec: add missing uevent when partner support PD (Torez Smith) [2113004] - tools: usb: testusb: Add super-plus speed reporting (Torez Smith) [2113004] - tools: usb: testusb: Add super speed reporting (Torez Smith) [2113004] - tools: usb: testusb: Add wireless speed reporting (Torez Smith) [2113004] - usb: typec: tcpci: move tcpci.h to include/linux/usb/ (Torez Smith) [2113004] - ARM: sa1100/assabet: move dmabounce hack to ohci driver (Torez Smith) [2113004] - usb: host: xhci: use snprintf() in xhci_decode_trb() (Torez Smith) [2113004] - USB: cdc-acm: use define for timeout (Torez Smith) [2113004] - usb: typec_altmode: add a missing "@" at a kernel-doc parameter (Torez Smith) [2113004] - usb: core: sysfs: convert sysfs snprintf to sysfs_emit (Torez Smith) [2113004] - media: usb: gspca: aligned '*' each line (Torez Smith) [2113004] - media: hdpvr: fix error value returns in hdpvr_read (Torez Smith) [2113004] - media: em28xx: Remove useless license text when SPDX-License-Identifier is already used (Torez Smith) [2113004] - USB: serial: use kmemdup instead of kmalloc + memcpy (Torez Smith) [2113004] - usb: host: ehci-q: Fix ehci_submit_single_step_set_feature annotation typo (Torez Smith) [2113004] - USB: storage: Fix typo in comment (Torez Smith) [2113004] - usb: typec: mux: Add CONFIG guards for functions (Torez Smith) [2113004] - usb: typec: mux: Allow muxes to specify mode-switch (Torez Smith) [2113004] - usb: musb: Add support for PolarFire SoC's musb controller (Torez Smith) [2113004] - media: pvrusb2: fix memory leak in pvr_probe (Torez Smith) [2113004] - media: airspy: respect the DMA coherency rules (Torez Smith) [2113004] - media: usbtv: Add PAL-Nc standard (Torez Smith) [2113004] - thunderbolt: Fix typo in comment (Torez Smith) [2113004] - dt-bindings: usb: add documentation for aspeed udc (Torez Smith) [2113004] - usb: Avoid extra usb SET_SEL requests when enabling link power management (Torez Smith) [2113004] - usb: typec: tcpm: Register USB Power Delivery Capabilities (Torez Smith) [2113004] - usb: typec: USB Power Delivery helpers for ports and partners (Torez Smith) [2113004] - usb: typec: Separate USB Power Delivery from USB Type-C (Torez Smith) [2113004] - usb: hub: port: add sysfs entry to switch port power (Torez Smith) [2113004] - ucsi_ccg: ACPI based I2c client enumeration for AMD ASICs (Torez Smith) [2113004] - ucsi_ccg: Do not hardcode interrupt polarity and type (Torez Smith) [2113004] - usb: xhci-mtk: add support optional controller reset (Torez Smith) [2113004] - usb: typec: tcpm: fix typo in comment (Torez Smith) [2113004] - usb: xhci: tegra: Fix error check (Torez Smith) [2113004] - usb: common: usb-conn-gpio: Allow wakeup from system suspend (Torez Smith) [2113004] - usbip: vudc: Don't enable IRQs prematurely (Torez Smith) [2113004] - USB: usbip: clean up mixed use of _irq() and _irqsave() (Torez Smith) [2113004] - USB: Follow-up to SPDX identifiers addition - remove now useless comments (Torez Smith) [2113004] - thunderbolt: Fix some kernel-doc comments (Torez Smith) [2113004] - usb: hub: Simplify error and success path in port_over_current_notify (Torez Smith) [2113004] - usb: remove Link Powermanagement (LPM) disable before port reset. (Torez Smith) [2113004] - thunderbolt: Change TMU mode to HiFi uni-directional once DisplayPort tunneled (Torez Smith) [2113004] - usb: core: Bail out when port is stuck in reset loop (Torez Smith) [2113004] - thunderbolt: Add CL1 support for USB4 and Titan Ridge routers (Torez Smith) [2113004] - thunderbolt: Change downstream router's TMU rate in both TMU uni/bidir mode (Torez Smith) [2113004] - USB: core: Fix bug in resuming hub's handling of wakeup requests (Torez Smith) [2113004] - thunderbolt: Fix typos in CLx enabling (Torez Smith) [2113004] - usb: hub: Add delay for SuperSpeed hub resume to let links transit to U0 (Torez Smith) [2113004] - usb: hub: make wait_for_connected() take an int instead of a pointer to int (Torez Smith) [2113004] - thunderbolt: CLx disable before system suspend only if previously enabled (Torez Smith) [2113004] - usb: hub: avoid warm port reset during USB3 disconnect (Torez Smith) [2113004] - thunderbolt: Silently ignore CLx enabling in case CLx is not supported (Torez Smith) [2113004]- config: Enable Security Path (Ricardo Robaina) [2161309] - tcp: Fix build break when CONFIG_IPV6=n (Jamie Bainbridge) [2143849] - tcp: annotate data-race around queue->synflood_warned (Jamie Bainbridge) [2143849] - tcp: Add listening address to SYN flood message (Jamie Bainbridge) [2143849] - tcp: Fix data-races around sysctl_tcp_syncookies. (Jamie Bainbridge) [2143849] - firmware_loader: Fix memory leak in firmware upload (Mark Langsdorf) [2122319] - firmware_loader: Fix use-after-free during unregister (Mark Langsdorf) [2122319] - firmware_loader: fix memory leak for paged buffer (Mark Langsdorf) [2122319] - firmware_loader: describe 'module' parameter of firmware_upload_register() (Mark Langsdorf) [2122319] - firmware_loader: Move definitions from sysfs_upload.h to sysfs.h (Mark Langsdorf) [2122319] - firmware_loader: Add sysfs nodes to monitor fw_upload (Mark Langsdorf) [2122319] - firmware_loader: Add firmware-upload support (Mark Langsdorf) [2122319] - firmware_loader: Split sysfs support from fallback (Mark Langsdorf) [2122319] - firmware_loader: Clear data and size in fw_free_paged_buf (Mark Langsdorf) [2122319] - firmware: Use kvmalloc for page tables (Mark Langsdorf) [2122319] - firmware: Unify the paged buffer release helper (Mark Langsdorf) [2122319] - firmware: Free temporary page table after vmapping (Mark Langsdorf) [2122319] - arch_topology: Make cluster topology span at least SMT CPUs (Mark Langsdorf) [2122319] - driver core: fix driver_set_override() issue with empty strings (Mark Langsdorf) [2122319] - arch_topology: Silence early cacheinfo errors when non-existent (Mark Langsdorf) [2122319] - driver core: Don't probe devices after bus_type.match() probe deferral (Mark Langsdorf) [2122319] - regmap: spi: Reserve space for register address/padding (Mark Langsdorf) [2122319] - arch_topology: Fix cache attributes detection in the CPU hotplug path (Mark Langsdorf) [2122319] - cacheinfo: Use atomic allocation for percpu cache attributes (Mark Langsdorf) [2122319] - regmap: permit to set reg_update_bits with bulk implementation (Mark Langsdorf) [2122319] - PM: domains: Ensure genpd_debugfs_dir exists before remove (Mark Langsdorf) [2122319] - PM: runtime: Extend support for wakeirq for force_suspend|resume (Mark Langsdorf) [2122319] - regmap: add WARN_ONCE when invalid mask is provided to regmap_field_init() (Mark Langsdorf) [2122319] - PM: wakeup: Unify device_init_wakeup() for PM_SLEEP and !PM_SLEEP (Mark Langsdorf) [2122319] - arch_topology: Warn that topology for nested clusters is not supported (Mark Langsdorf) [2122319] - arch_topology: Add support for parsing sockets in /cpu-map (Mark Langsdorf) [2122319] - arch_topology: Set cluster identifier in each core/thread from /cpu-map (Mark Langsdorf) [2122319] - arch_topology: Limit span of cpu_clustergroup_mask() (Mark Langsdorf) [2122319] - arch_topology: Don't set cluster identifier as physical package identifier (Mark Langsdorf) [2122319] - arch_topology: Avoid parsing through all the CPUs once a outlier CPU is found (Mark Langsdorf) [2122319] - arch_topology: Check for non-negative value rather than -1 for IDs validity (Mark Langsdorf) [2122319] - arch_topology: Set thread sibling cpumask only within the cluster (Mark Langsdorf) [2122319] - arch_topology: Drop LLC identifier stash from the CPU topology (Mark Langsdorf) [2122319] - arm64: topology: Remove redundant setting of llc_id in CPU topology (Mark Langsdorf) [2122319] - arch_topology: Use the last level cache information from the cacheinfo (Mark Langsdorf) [2122319] - arch_topology: Add support to parse and detect cache attributes (Mark Langsdorf) [2122319] - cacheinfo: Align checks in cache_shared_cpu_map_{setup,remove} for readability (Mark Langsdorf) [2122319] - cacheinfo: Use cache identifiers to check if the caches are shared if available (Mark Langsdorf) [2122319] - cacheinfo: Allow early detection and population of cache attributes (Mark Langsdorf) [2122319] - cacheinfo: Add support to check if last level cache(LLC) is valid or shared (Mark Langsdorf) [2122319] - cacheinfo: Move cache_leaves_are_shared out of CONFIG_OF (Mark Langsdorf) [2122319] - cacheinfo: Add helper to access any cache index for a given CPU (Mark Langsdorf) [2122319] - cacheinfo: Use of_cpu_device_node_get instead cpu_dev->of_node (Mark Langsdorf) [2122319] - regmap: cache: Add extra parameter check in regcache_init (Mark Langsdorf) [2122319] - regmap-irq: Refactor checks for status bulk read support (Mark Langsdorf) [2122319] - regmap-irq: Remove mask_writeonly and regmap_irq_update_bits() (Mark Langsdorf) [2122319] - regmap-irq: Remove inappropriate uses of regmap_irq_update_bits() (Mark Langsdorf) [2122319] - driver core: fix potential deadlock in __driver_attach (Mark Langsdorf) [2122319] - devtmpfs: fix the dangling pointer of global devtmpfsd thread (Mark Langsdorf) [2122319] - regmap: Don't warn about cache only mode for devices with no cache (Mark Langsdorf) [2122319] - regmap: Wire up regmap_config provided bulk write in missed functions (Mark Langsdorf) [2122319] - regmap: Make regmap_noinc_read() return -ENOTSUPP if map->read isn't set (Mark Langsdorf) [2122319] - regmap: Re-introduce bulk read support check in regmap_bulk_read() (Mark Langsdorf) [2122319] - init: Initialize noop_backing_dev_info early (Mark Langsdorf) [2122319] - driver core: Introduce device_find_any_child() helper (Mark Langsdorf) [2122319] - regmap: cache: Fix syntax errors in comments (Mark Langsdorf) [2122319] - PM: domains: Trust domain-idle-states from DT to be correct by genpd (Mark Langsdorf) [2122319] - PM: domains: Measure power-on/off latencies in genpd based on a governor (Mark Langsdorf) [2122319] - PM: domains: Allocate governor data dynamically based on a genpd governor (Mark Langsdorf) [2122319] - PM: domains: Clean up some code in pm_genpd_init() and genpd_remove() (Mark Langsdorf) [2122319] - PM: domains: Fix initialization of genpd's next_wakeup (Mark Langsdorf) [2122319] - PM: domains: Fixup QoS latency measurements for IRQ safe devices in genpd (Mark Langsdorf) [2122319] - PM: domains: Measure suspend/resume latencies in genpd based on governor (Mark Langsdorf) [2122319] - PM: domains: Move the next_wakeup variable into the struct gpd_timing_data (Mark Langsdorf) [2122319] - PM: domains: Allocate gpd_timing_data dynamically based on governor (Mark Langsdorf) [2122319] - PM: domains: Skip another warning in irq_safe_dev_in_sleep_domain() (Mark Langsdorf) [2122319] - PM: domains: Rename irq_safe_dev_in_no_sleep_domain() in genpd (Mark Langsdorf) [2122319] - PM: domains: Don't check PM_QOS_FLAG_NO_POWER_OFF in genpd (Mark Langsdorf) [2122319] - PM: domains: Drop redundant code for genpd always-on governor (Mark Langsdorf) [2122319] - PM: domains: Add GENPD_FLAG_RPM_ALWAYS_ON for the always-on governor (Mark Langsdorf) [2122319] - PM: wakeup: expose pm_wakeup_pending to modules (Mark Langsdorf) [2122319] - driver core: fix deadlock in __device_attach (Mark Langsdorf) [2122319] - driver: base: fix UAF when driver_attach failed (Mark Langsdorf) [2122319] - driver core: location: Add "back" as a possible output for panel (Mark Langsdorf) [2122319] - driver core: location: Free struct acpi_pld_info *pld (Mark Langsdorf) [2122319] - regmap: Add missing map->bus check (Mark Langsdorf) [2122319] - device property: Advertise fwnode and device property count API calls (Mark Langsdorf) [2122319] - driver core: location: Check for allocations failure (Mark Langsdorf) [2122319] - regmap: Add bulk read/write callbacks into regmap_config (Mark Langsdorf) [2122319] - device property: Fix recent breakage of fwnode_get_next_parent_dev() (Mark Langsdorf) [2122319] - drivers/base/memory: fix an unlikely reference counting issue in __add_memory_block() (Mark Langsdorf) [2122319] - driver core: Add dma_cleanup callback in bus_type (Mark Langsdorf) [2122319] - driver core: Add sysfs support for physical location of a device (Mark Langsdorf) [2122319] - drivers/base/node.c: fix compaction sysfs file leak (Mark Langsdorf) [2122319] - driver core: Prevent overriding async driver of a device before it probe (Mark Langsdorf) [2122319] - Documentation: dd: Use ReST lists for return values of driver_deferred_probe_check_state() (Mark Langsdorf) [2122319] - regmap: cache: set max_register with reg_stride (Mark Langsdorf) [2122319] - firmware_loader: Check fw_state_is_done in loading_store (Mark Langsdorf) [2122319] - driver: platform: Add helper for safer setting of driver_override (Mark Langsdorf) [2122319] - PM: domains: Move genpd's time-accounting to ktime_get_mono_fast_ns() (Mark Langsdorf) [2122319] - PM: runtime: Allow to call __pm_runtime_set_status() from atomic context (Mark Langsdorf) [2122319] - device property: Drop 'test' prefix in parameters of fwnode_is_ancestor_of() (Mark Langsdorf) [2122319] - device property: Introduce fwnode_for_each_parent_node() (Mark Langsdorf) [2122319] - device property: Allow error pointer to be passed to fwnode APIs (Mark Langsdorf) [2122319] - device property: Check fwnode->secondary in fwnode_graph_get_next_endpoint() (Mark Langsdorf) [2122319] - PM: runtime: Avoid device usage count underflows (Mark Langsdorf) [2122319] - PM: domains: Extend dev_pm_domain_detach() doc (Mark Langsdorf) [2122319]- gitlab-ci: use CI templates from production branch (Michael Hofmann) - cpufreq: ACPI: Remove unused variables 'acpi_cpufreq_online' and 'ret' (Mark Langsdorf) [2038200] - cpufreq: ACPI: Only set boost MSRs on supported CPUs (Mark Langsdorf) [2038200] - cpufreq: ACPI: Defer setting boost MSRs (Mark Langsdorf) [2038200] - s390/kexec: fix ipl report address for kdump (Tobias Huschle) [2161328] - iavf: schedule watchdog immediately when changing primary MAC (Michal Schmidt) [2152493] - iavf: Move netdev_update_features() into watchdog task (Michal Schmidt) [2152493] - iavf: fix temporary deadlock and failure to set MAC address (Michal Schmidt) [2152493] - iavf: Fix error handling in iavf_init_module() (Michal Schmidt) [2152493]- net: ethernet: move from strlcpy with unused retval to strscpy (Ken Cox) [2103955] - ixgbe: stop resetting SYSTIME in ixgbe_ptp_start_cyclecounter (Ken Cox) [2103955] - ixgbe: Manual AN-37 for troublesome link partners for X550 SFI (Ken Cox) [2103955] - ixgbe: Don't call kmap() on page allocated with GFP_ATOMIC (Ken Cox) [2103955] - ixgbe: convert .adjfreq to .adjfine (Ken Cox) [2103955] - ixgbe: drop unexpected word 'for' in comments (Ken Cox) [2103955] - ixgbe: remove unexpected word "the" (Ken Cox) [2103955] - intel: remove unused macros (Ken Cox) [2103955] - ixgbe: Fix typos in comments (Ken Cox) [2103955] - drivers, ixgbe: export vf statistics (Ken Cox) [2103955] - ixgbe: fix unexpected VLAN Rx in promisc mode on VF (Ken Cox) [2103955] - ixgbe: fix bcast packets Rx on VF after promisc removal (Ken Cox) [2103955] - ixgbe: propagate XFRM offload state direction instead of flags (Ken Cox) [2103955] - ixgbe: Fix module_param allow_unsupported_sfp type (Ken Cox) [2103955] - ixgbe: ensure IPsec VF<->PF compatibility (Ken Cox) [2103955] - ixgbe, xsk: Get rid of redundant 'fallthrough' (Ken Cox) [2103955] - ixgbe, xsk: Diversify return values from xsk_wakeup call paths (Ken Cox) [2103955] - ixgbe, xsk: Terminate Rx side of NAPI when XSK Rx queue gets full (Ken Cox) [2103955] - ixgbe, xsk: Decorate IXGBE_XDP_REDIR with likely() (Ken Cox) [2103955] - ixgbe: add improvement for MDD response functionality (Ken Cox) [2103955] - ixgbe: add the ability for the PF to disable VF link state (Ken Cox) [2103955] - ixgbe: xsk: change !netif_carrier_ok() handling in ixgbe_xmit_zc() (Ken Cox) [2103955] - ixgbe: Remove non-inclusive language (Ken Cox) [2103955] - ixgbe: Use irq_update_affinity_hint() (Ken Cox) [2103955] - net: convert users of bitmap_foo() to linkmode_foo() (Ken Cox) [2103955] - ethernet: use eth_hw_addr_set() for dev->addr_len cases (Ken Cox) [2103955] - net: Use skb_frag_off accessors (Ken Cox) [2103955] - drm/i915: Fix watermark calculations for DG2 CCS+CC modifier (Jocelyn Falempe) [2041686] - drm/i915: Fix watermark calculations for DG2 CCS modifiers (Jocelyn Falempe) [2041686] - drm/i915: Fix watermark calculations for gen12+ CCS+CC modifier (Jocelyn Falempe) [2041686] - drm/i915: Fix watermark calculations for gen12+ MC CCS modifier (Jocelyn Falempe) [2041686] - drm/i915: Fix watermark calculations for gen12+ RC CCS modifier (Jocelyn Falempe) [2041686] - drm/i915/uc: fix device/bus include on rhel8 (Jocelyn Falempe) [2041686] - drm/i915/display: consider DG2_RC_CCS_CC when migrating buffers (Jocelyn Falempe) [2041686] - drm/i915: allow control over the flags when migrating (Jocelyn Falempe) [2041686] - drm/i915/display: handle migration for dpt (Jocelyn Falempe) [2041686] - drm/i915/huc: better define HuC status getparam possible return values. (Jocelyn Falempe) [2041686] - drm/i915/huc: stall media submission until HuC is loaded (Jocelyn Falempe) [2041686] - drm/i915/huc: track delayed HuC load with a fence (Jocelyn Falempe) [2041686] - drm/i915/dg2: setup HuC loading via GSC (Jocelyn Falempe) [2041686] - drm/i915/pxp: add huc authentication and loading command (Jocelyn Falempe) [2041686] - drm/i915/pxp: implement function for sending tee stream command (Jocelyn Falempe) [2041686] - drm/i915/pxp: load the pxp module when we have a gsc-loaded huc (Jocelyn Falempe) [2041686] - drm/i915/gt: Flush to global observation point before breadcrumb write (Jocelyn Falempe) [2041686] - drm/i915/guc/slpc: Add SLPC selftest live_slpc_power (Jocelyn Falempe) [2041686] - drm/i915/guc/slpc: Run SLPC selftests on all tiles (Jocelyn Falempe) [2041686] - drm/i915: Remove unwanted pointer unpacking (Jocelyn Falempe) [2041686] - drm/i915/guc: Enable compute scheduling on DG2 (Jocelyn Falempe) [2041686] - drm/i915/dg2: introduce Wa_22015475538 (Jocelyn Falempe) [2041686] - drm/i915/uc: Update to latest GuC and use new-format GuC/HuC names (Jocelyn Falempe) [2041686] - Revert "drm/i915/dg2: extend Wa_1409120013 to DG2" (Jocelyn Falempe) [2041686] - drm/i915/gsc: allocate extended operational memory in LMEM (Jocelyn Falempe) [2041686] - drm/i915/gsc: add GSC XeHP SDV platform definition (Jocelyn Falempe) [2041686] - drm/i915/gsc: add slow_firmware flag to the gsc device definition (Jocelyn Falempe) [2041686] - drm/i915/gsc: skip irq initialization if using polling (Jocelyn Falempe) [2041686] - drm/i915/uc: Add patch level version number support (Jocelyn Falempe) [2041686] - drm/i915/uc: Support for version reduced and multiple firmware files (Jocelyn Falempe) [2041686] - drm/i915/ttm: Abort suspend on i915_ttm_backup failure (Jocelyn Falempe) [2041686] - drm/i915/dg2: Incorporate Wa_16014892111 into DRAW_WATERMARK tuning (Jocelyn Falempe) [2041686] - drm/i915/guc: Record CTB info in error logs (Jocelyn Falempe) [2041686] - drm/i915/guc: Add GuC <-> kernel time stamp translation information (Jocelyn Falempe) [2041686] - drm/i915/guc: Don't use pr_err when not necessary (Jocelyn Falempe) [2041686] - drm/i915/dg2: Add support for DC5 state (Jocelyn Falempe) [2041686] - drm/i915/dmc: Update DG2 DMC firmware to v2.07 (Jocelyn Falempe) [2041686] - drm/i915/dg2: Add additional tuning settings (Jocelyn Falempe) [2041686] - drm/i915/gt: Add dedicated function for non-ctx register tuning settings (Jocelyn Falempe) [2041686] - drm/i915/dg2: Add Wa_1509727124 (Jocelyn Falempe) [2041686] - drm/i915/dg2: Update DG2 to GuC v70.4.1 (Jocelyn Falempe) [2041686] - drm/i915/dg2: Add additional HDMI pixel clock frequencies (Jocelyn Falempe) [2041686] - Revert "drm/i915/dg2: Add preemption changes for Wa_14015141709" (Jocelyn Falempe) [2041686] - config: Enable TDX Guest (Wander Lairson Costa) [1836977] - x86/tdx: mark TDX as a tech preview (Wander Lairson Costa) [1836977] - x86/tdx: Panic on bad configs that #VE on "private" memory access (Wander Lairson Costa) [1836977] - x86/tdx: Prepare for using "INFO" call for a second purpose (Wander Lairson Costa) [1836977] - x86/tdx: Handle load_unaligned_zeropad() page-cross to a shared page (Wander Lairson Costa) [1836977] - x86/tdx: Clarify RIP adjustments in #VE handler (Wander Lairson Costa) [1836977] - vt: Initialize conswitchp to dummy_con if unset (Wander Lairson Costa) [1836977] - x86/tdx: Fix early #VE handling (Wander Lairson Costa) [1836977] - x86/tdx: Fix RETs in TDX asm (Wander Lairson Costa) [1836977] - x86/apic: Do apic driver probe for "nosmp" use case (Wander Lairson Costa) [1836977] - x86/mm: Fix spacing within memory encryption features message (Wander Lairson Costa) [1836977] - x86/kaslr: Fix build warning in KASLR code in boot stub (Wander Lairson Costa) [1836977] - Documentation/x86: Document TDX kernel architecture (Wander Lairson Costa) [1836977] - ACPICA: Avoid cache flush inside virtual machines (Wander Lairson Costa) [1836977] - x86/tdx/ioapic: Add shared bit for IOAPIC base address (Wander Lairson Costa) [1836977] - x86/mm: Make DMA memory shared for TD guest (Wander Lairson Costa) [1836977] - x86/mm/cpa: Add support for TDX shared memory (Wander Lairson Costa) [1836977] - x86/tdx: Make pages shared in ioremap() (Wander Lairson Costa) [1836977] - x86/topology: Disable CPU online/offline control for TDX guests (Wander Lairson Costa) [1836977] - x86/boot: Avoid #VE during boot for TDX platforms (Wander Lairson Costa) [1836977] - x86/boot/compressed/64: Use TEST reg,reg instead of CMP $0,reg (Wander Lairson Costa) [1836977] - x86/boot/compressed/64: Do not corrupt EDX on EFER.LME=1 setting (Wander Lairson Costa) [1836977] - x86/boot/compressed/64: Set EFER.LME=1 in 32-bit trampoline before returning to long mode (Wander Lairson Costa) [1836977] - x86/boot: Set CR0.NE early and keep it set during the boot (Wander Lairson Costa) [1836977] - x86/acpi/x86/boot: Add multiprocessor wake-up support (Wander Lairson Costa) [1836977] - x86/boot: Add a trampoline for booting APs via firmware handoff (Wander Lairson Costa) [1836977] - x86/asm/realmode: Use SYM_DATA_* instead of GLOBAL (Wander Lairson Costa) [1836977] - x86/realmode: Remove trampoline_status (Wander Lairson Costa) [1836977] - x86/tdx: Wire up KVM hypercalls (Wander Lairson Costa) [1836977] - x86/tdx: Port I/O: Add early boot support (Wander Lairson Costa) [1836977] - x86/tdx: Port I/O: Add runtime hypercalls (Wander Lairson Costa) [1836977] - x86/boot: Port I/O: Add decompression-time support for TDX (Wander Lairson Costa) [1836977] - x86/boot: Port I/O: Allow to hook up alternative helpers (Wander Lairson Costa) [1836977] - x86: Consolidate port I/O helpers (Wander Lairson Costa) [1836977] - x86: Adjust types used in port I/O helpers (Wander Lairson Costa) [1836977] - x86/tdx: Detect TDX at early kernel decompression time (Wander Lairson Costa) [1836977] - x86/tdx: Handle in-kernel MMIO (Wander Lairson Costa) [1836977] - x86/tdx: Handle CPUID via #VE (Wander Lairson Costa) [1836977] - x86/tdx: Add MSR support for TDX guests (Wander Lairson Costa) [1836977] - x86/tdx: Add HLT support for TDX guests (Wander Lairson Costa) [1836977] - x86/traps: Add #VE support for TDX guest (Wander Lairson Costa) [1836977] - x86/traps: Refactor exc_general_protection() (Wander Lairson Costa) [1836977] - x86/traps: Cleanup do_general_protection() (Wander Lairson Costa) [1836977] - x86/dumpstack: Introduce die_addr() for die() with #GP fault address (Wander Lairson Costa) [1836977] - x86/traps: Print address on #GP (Wander Lairson Costa) [1836977] - x86/kprobes: Inline kprobe_exceptions_notify() into do_general_protection() (Wander Lairson Costa) [1836977] - x86/tdx: Exclude shared bit from __PHYSICAL_MASK (Wander Lairson Costa) [1836977] - x86/tdx: Extend the confidential computing API to support TDX guests (Wander Lairson Costa) [1836977] - x86/tdx: Add __tdx_module_call() and __tdx_hypercall() helper functions (Wander Lairson Costa) [1836977] - x86/tdx: Provide common base for SEAMCALL and TDCALL C wrappers (Wander Lairson Costa) [1836977] - x86/tdx: Detect running as a TDX guest in early boot (Wander Lairson Costa) [1836977] - x86/mm/cpa: Generalize __set_memory_enc_pgtable() (Wander Lairson Costa) [1836977] - x86/mm/pat: Don't flush cache if hardware enforces cache coherency across encryption domnains (Wander Lairson Costa) [1836977] - x86/coco: Add API to handle encryption mask (Wander Lairson Costa) [1836977] - x86/cc: Move arch/x86/{kernel/cc_platform.c => coco/core.c} (Wander Lairson Costa) [1836977] - x86/sev-es: Use insn_decode_mmio() for MMIO implementation (Wander Lairson Costa) [1836977] - x86/insn-eval: Introduce insn_decode_mmio() (Wander Lairson Costa) [1836977] - x86/insn-eval: Introduce insn_get_modrm_reg_ptr() (Wander Lairson Costa) [1836977] - x86/insn-eval: Handle insn_get_opcode() failure (Wander Lairson Costa) [1836977] - x86/sev: Move common memory encryption code to mem_encrypt.c (Wander Lairson Costa) [1836977] - x86/sev: Rename mem_encrypt.c to mem_encrypt_amd.c (Wander Lairson Costa) [1836977] - x86/virtio: Have SEV guests enforce restricted virtio memory access (Wander Lairson Costa) [1836977] - devlink: protect devlink dump by the instance lock (Petr Oros) [2131116] - devlink: hold region lock when flushing snapshots (Petr Oros) [2131116] - net: devlink: enable parallel ops on netlink interface (Petr Oros) [2131116] - net: devlink: remove devlink_mutex (Petr Oros) [2131116] - net: devlink: convert reload command to take implicit devlink->lock (Petr Oros) [2131116] - net: devlink: introduce "unregistering" mark and use it during devlinks iteration (Petr Oros) [2131116] - devlink: Fix use-after-free after a failed reload (Petr Oros) [2131116] - net: devlink: Fix missing mutex_unlock() call (Petr Oros) [2131116] - Documentation: devlink: add add devlink-selftests to the table of contents (Petr Oros) [2131116] - devlink: Hold the instance lock in health callbacks (Petr Oros) [2131116] - net/mlx4: Lock mlx4 devlink reload callback (Petr Oros) [2131116] - net/mlx4: Use devl_ API for devlink port register / unregister (Petr Oros) [2131116] - net/mlx4: Use devl_ API for devlink region create / destroy (Petr Oros) [2131116] - net: devlink: remove region snapshots list dependency on devlink->lock (Petr Oros) [2131116] - net: devlink: remove region snapshot ID tracking dependency on devlink->lock (Petr Oros) [2131116] - devlink: introduce framework for selftests (Petr Oros) [2131116] - net: devlink: remove redundant net_eq() check from sb_pool_get_dumpit() (Petr Oros) [2131116] - net: devlink: move net check into devlinks_xa_for_each_registered_get() (Petr Oros) [2131116] - net: devlink: make sure that devlink_try_get() works with valid pointer during xarray iteration (Petr Oros) [2131116] - netdevsim: convert driver to use unlocked devlink API during init/fini (Petr Oros) [2131116] - net: devlink: add unlocked variants of devlink_region_create/destroy() functions (Petr Oros) [2131116] - net: devlink: add unlocked variants of devlink_dpipe*() functions (Petr Oros) [2131116] - net: devlink: add unlocked variants of devlink_sb*() functions (Petr Oros) [2131116] - net: devlink: add unlocked variants of devlink_resource*() functions (Petr Oros) [2131116] - net: devlink: add unlocked variants of devling_trap*() functions (Petr Oros) [2131116] - net: devlink: avoid false DEADLOCK warning reported by lockdep (Petr Oros) [2131116] - net: devlink: fix return statement in devlink_port_new_notify() (Petr Oros) [2131116] - net: devlink: fix a typo in function name devlink_port_new_notifiy() (Petr Oros) [2131116] - net: devlink: make devlink_dpipe_headers_register() return void (Petr Oros) [2131116] - net: devlink: move unlocked function prototypes alongside the locked ones (Petr Oros) [2131116] - net: devlink: use helpers to work with devlink->lock mutex (Petr Oros) [2131116] - net: devlink: fix unlocked vs locked functions descriptions (Petr Oros) [2131116] - devlink: Hold the instance lock in port_new / port_del callbacks (Petr Oros) [2131116] - powercap: intel_rapl: Add support for RAPTORLAKE_S (Prarit Bhargava) [2120363] - selftests/bpf: Fix test_varlen verification failure with latest llvm (Yauheni Kaliuta) [2149222] - iwlwifi: remove firmware version limit for AC9560 (Íñigo Huguet) [2129361] - wifi: iwlwifi: fw: skip PPAG for JF (Íñigo Huguet) [2129361] - sched: Improve wake_up_all_idle_cpus() take #2 (Julia Denham) [2134931] - selftests/livepatch: better synchronize test_klp_callbacks_busy (Julia Denham) [2121204] - sched,livepatch: Use wake_up_if_idle() (Joe Lawrence) [2134931] - sched: Simplify wake_up_*idle*() (Joe Lawrence) [2134931] - sched,livepatch: Use task_call_func() (Joe Lawrence) [2134931] - sched,rcu: Rework try_invoke_on_locked_down_task() (Joe Lawrence) [2134931] - sched: Improve try_invoke_on_locked_down_task() (Joe Lawrence) [2134931] - arm64/bpf: Remove 128MB limit for BPF JIT programs (Yauheni Kaliuta) [2140163] - bpf: Define bpf_jit_alloc_exec_limit for arm64 JIT (Yauheni Kaliuta) [2140163] - arm64: extable: add `type` and `data` fields (Yauheni Kaliuta) [2140163] - arm64: extable: use `ex` for `exception_table_entry` (Yauheni Kaliuta) [2140163] - arm64: extable: make fixup_exception() return bool (Yauheni Kaliuta) [2140163] - arm64: extable: consolidate definitions (Yauheni Kaliuta) [2140163] - arm64: kvm: use kvm_exception_table_entry (Yauheni Kaliuta) [2140163] - s390/cio: check the subchannel validity for dev_busid (Tobias Huschle) [2160494] - s390/cio: add dev_busid sysfs entry for each subchannel (Tobias Huschle) [2160494]- intel_idle: Add AlderLake-N support (Prarit Bhargava) [2144692] - selftests/timens: add a test for vfork+exit (Oleg Nesterov) [2116444] - fs/exec: switch timens when a task gets a new mm (Oleg Nesterov) [2116444] - namespace: make timens_on_fork() return nothing (Oleg Nesterov) [2116444] - timens: make vdso_join_timens() always succeed (Oleg Nesterov) [2116444] - xfrm: Fix oops in __xfrm_state_delete() (Sabrina Dubroca) [2156048] - tcp: Fix data races around icsk->icsk_af_ops. (Guillaume Nault) [2143904] {CVE-2022-3566} - ice: synchronize the misc IRQ when tearing down Tx tracker (Petr Oros) [2148858] - ice: fix handling of burst Tx timestamps (Petr Oros) [2148858] - vhost/vsock: Fix error handling in vhost_vsock_init() (Stefano Garzarella) [2159969] - net: vmw_vsock: vmci: Check memcpy_from_msg() (Stefano Garzarella) [2159969] - vhost/vsock: Use kvmalloc/kvfree for larger packets. (Stefano Garzarella) [2159969] - vsock: Set socket state back to SS_UNCONNECTED in vsock_connect_timeout() (Stefano Garzarella) [2159969] - vsock: Fix memory leak in vsock_connect() (Stefano Garzarella) [2159969] - tools/power turbostat: Add support for RPL-S (Prarit Bhargava) [2122848]- nvme: re-order nvme_alloc_ns to match "nvme: use blk_mq_alloc_disk" (Chris Leech) [2152742] - perf vendor events amd: Add Zen 4 mapping (Michael Petlan) [2148294] - perf vendor events amd: Add Zen 4 metrics (Michael Petlan) [2148294] - perf vendor events amd: Add Zen 4 uncore events (Michael Petlan) [2148294] - perf vendor events amd: Add Zen 4 core events (Michael Petlan) [2148294] - cpuhotplug: Fix KABI breakage (Prarit Bhargava) [2156529] - scsi: target: core: Fix hard lockup when executing a compare-and-write command (Maurizio Lombardi) [2119897] - x86/topology: Fix duplicated core ID within a package (Prarit Bhargava) [2159553] - x86/topology: Fix multiple packages shown on a single-package system (Prarit Bhargava) [2159553] - hwmon/coretemp: Handle large core ID value (Prarit Bhargava) [2159553] - x86: Remove vendor checks from prefer_mwait_c1_over_halt (Prarit Bhargava) [2150067] - x86: Handle idle=nomwait cmdline properly for x86_idle (Prarit Bhargava) [2150067] - cpufreq: intel_pstate: Support Sapphire Rapids OOB mode (Prarit Bhargava) [2117767] - KVM: nVMX: Inject #GP, not #UD, if "generic" VMXON CR0/CR4 check fails (Emanuele Giuseppe Esposito) [2159433] - vmxnet3: correctly report csum_level for encapsulated packet (Izabela Bakollari) [2158809] - mei: pxp: support matching with a gfx discrete card (Jocelyn Falempe) [2147557] - mei: pxp: add command streamer API to the PXP driver (Jocelyn Falempe) [2147557] - mei: bus: extend bus API to support command streamer API (Jocelyn Falempe) [2147557] - mei: adjust extended header kdocs (Jocelyn Falempe) [2147557] - mei: bus: enable sending gsc commands (Jocelyn Falempe) [2147557] - mei: add support to GSC extended header (Jocelyn Falempe) [2147557] - mei: debugfs: add pxp mode to devstate in debugfs (Jocelyn Falempe) [2147557] - mei: drop ready bits check after start (Jocelyn Falempe) [2147557] - mei: gsc: add transition to PXP mode in resume flow (Jocelyn Falempe) [2147557] - mei: gsc: setup gsc extended operational memory (Jocelyn Falempe) [2147557] - mei: mkhi: add memory ready command (Jocelyn Falempe) [2147557] - mei: bus: export common mkhi definitions into a separate header (Jocelyn Falempe) [2147557] - mei: extend timeouts on slow devices (Jocelyn Falempe) [2147557] - mei: gsc: wait for reset thread on stop (Jocelyn Falempe) [2147557] - mei: gsc: use polling instead of interrupts (Jocelyn Falempe) [2147557] - mei: add slow_firmware flag to the mei auxiliary device (Jocelyn Falempe) [2147557] - mei: add kdoc for struct mei_aux_device (Jocelyn Falempe) [2147557] - mei: me: fix clang -Wformat warning (Jocelyn Falempe) [2147557] - mei: me: add raptor lake point S DID (Jocelyn Falempe) [2147557] - mei: hbm: drop capability response on early shutdown (Jocelyn Falempe) [2147557] - mei: me: set internal pg flag to off on hardware reset (Jocelyn Falempe) [2147557] - misc/mei: Add NULL check to component match callback functions (Jocelyn Falempe) [2147557] - drm/display: Move HDCP helpers into display-helper module (Jocelyn Falempe) [2147557] - mei: gsc: retrieve the firmware version (Jocelyn Falempe) [2147557] - mei: gsc: add runtime pm handlers (Jocelyn Falempe) [2147557] - mei: gsc: setup char driver alive in spite of firmware handshake failure (Jocelyn Falempe) [2147557] - mei: add support for graphics system controller (gsc) devices (Jocelyn Falempe) [2147557] - mei: avoid iterator usage outside of list_for_each_entry (Jocelyn Falempe) [2147557] - mei: do not overwrite state on hw start (Jocelyn Falempe) [2147557] - mei: me: fix reset policy on read error in interrupt (Jocelyn Falempe) [2147557] - mei: me: avoid link reset on shutdown (Jocelyn Falempe) [2147557] - mei: me: disable driver on the ign firmware (Jocelyn Falempe) [2147557] - mei: me: Use dma_set_mask_and_coherent() and simplify code (Jocelyn Falempe) [2147557] - mei: hbm: fix client dma reply status (Jocelyn Falempe) [2147557] - mei: cleanup status before client dma setup call (Jocelyn Falempe) [2147557] - mei: add POWERING_DOWN into device state print (Jocelyn Falempe) [2147557] - mei: Remove some dead code (Jocelyn Falempe) [2147557] - mei: bus: add client dma interface (Jocelyn Falempe) [2147557] - mei: hbm: drop hbm responses on early shutdown (Jocelyn Falempe) [2147557] - mei: me: add Ice Lake-N device id. (Jocelyn Falempe) [2147557] - mei: pxp: export pavp client to me client bus (Jocelyn Falempe) [2147557] - mei: Remove usage of the deprecated "pci-dma-compat.h" API (Jocelyn Falempe) [2147557] - mei: constify passed buffers and structures (Jocelyn Falempe) [2147557] - mei: revamp mei extension header structure layout. (Jocelyn Falempe) [2147557] - mei: fix kdoc in the driver (Jocelyn Falempe) [2147557] - mei: hdcp: SPDX tag should be the first line (Jocelyn Falempe) [2147557] - mei: request autosuspend after sending rx flow control (Jocelyn Falempe) [2147557] - mei: Drop unnecessary NULL check after container_of (Jocelyn Falempe) [2147557] - mei: me: add Alder Lake P device id. (Jocelyn Falempe) [2147557] - mei: allow map and unmap of client dma buffer only for disconnected client (Jocelyn Falempe) [2147557] - mei: use sysfs_emit() in tx_queue_limit_show sysfs (Jocelyn Falempe) [2147557] - mei: bus: block send with vtag on non-conformat FW (Jocelyn Falempe) [2147557] - mei: bus: change remove callback to return void (Jocelyn Falempe) [2147557] - mei: bus: simplify mei_cl_device_remove() (Jocelyn Falempe) [2147557] - mei: implement client dma setup. (Jocelyn Falempe) [2147557] - mei: hbm: add client dma hbm messages (Jocelyn Falempe) [2147557] - mei: add support for client dma capability (Jocelyn Falempe) [2147557] - mei: allow clients on bus to communicate in remove callback (Jocelyn Falempe) [2147557] - mei: me: add adler lake point LP DID (Jocelyn Falempe) [2147557] - mei: hbm: drop hbm responses on shutdown (Jocelyn Falempe) [2147557] - mei: hbm: call mei_set_devstate() on hbm stop response (Jocelyn Falempe) [2147557] - mei: document that mei_msg_hdr_init returns ERR_PTR (Jocelyn Falempe) [2147557] - mei: fix transfer over dma with extended header (Jocelyn Falempe) [2147557] - misc/mei/hdcp: Fix AUTH_STREAM_REQ cmd buffer len (Jocelyn Falempe) [2147557] - mei: bus: enable pavp device. (Jocelyn Falempe) [2147557] - mei: bus: add vtag support (Jocelyn Falempe) [2147557] - Revert "mei: virtio: virtualization frontend driver" (Jocelyn Falempe) [2147557] - mei: bus: fix a kernel-doc markup (Jocelyn Falempe) [2147557] - mei: protect mei_cl_mtu from null dereference (Jocelyn Falempe) [2147557] - mei: bus: deinitialize callback functions on init failure (Jocelyn Falempe) [2147557] - mei: bus: do not start a read for disconnected clients (Jocelyn Falempe) [2147557] - misc: mei: remove unneeded break (Jocelyn Falempe) [2147557] - mei: hw: Replace zero-length array with flexible-array member (Jocelyn Falempe) [2147557] - mei: virtio: virtualization frontend driver (Jocelyn Falempe) [2147557] - mei: add connect with vtag ioctl (Jocelyn Falempe) [2147557] - mei: bus: unconditionally enable clients with vtag support (Jocelyn Falempe) [2147557] - mei: bus: use zero vtag for bus clients. (Jocelyn Falempe) [2147557] - mei: handle tx queue flushing for vtag connections (Jocelyn Falempe) [2147557] - mei: add a vtag map for each client (Jocelyn Falempe) [2147557] - mei: add a spin lock to protect rd_completed queue (Jocelyn Falempe) [2147557] - mei: bump hbm version to 2.2 (Jocelyn Falempe) [2147557] - mei: add support for mei extended header. (Jocelyn Falempe) [2147557] - mei: add vtag support bit in client properties (Jocelyn Falempe) [2147557] - mei: restrict vtag support to hbm version 2.2 (Jocelyn Falempe) [2147557] - mei: hbm: add capabilities message (Jocelyn Falempe) [2147557] - Revert "scsi: iscsi: ql4xxx: Use per-session workqueue for unbinding" (Chris Leech) [2122624] - Revert "scsi: iscsi: Use the session workqueue for recovery" (Chris Leech) [2122624] - l2tp: Don't sleep and disable BH under writer-side sk_callback_lock (Guillaume Nault) [2145235] {CVE-2022-4129} - l2tp: Serialize access to sk_user_data with sk_callback_lock (Guillaume Nault) [2145235] {CVE-2022-4129} - net: fix a concurrency bug in l2tp_tunnel_register() (Guillaume Nault) [2145235] {CVE-2022-4129} - net: tap: fix general protection fault when freeing an skb when the ring is full (Antoine Tenart) [2152802] - platform/x86/intel/pmt: Sapphire Rapids PMT errata fix (Prarit Bhargava) [2144689] - RDMA/core: Fix null-ptr-deref in ib_core_cleanup() (Kamal Heib) [2120677] - RDMA/rxe: Fix mr leak in RESPST_ERR_RNR (Kamal Heib) [2120677] - IB/hfi1: Correctly move list in sc_disable() (Kamal Heib) [2120677] - RDMA/cma: Use output interface for net_dev check (Kamal Heib) [2120677] - RDMA/usnic: fix set-but-not-unused variable 'flags' warning (Kamal Heib) [2120677] - IB/rdmavt: Add __init/__exit annotations to module init/exit funcs (Kamal Heib) [2120677] - RDMA/rxe: Fix resize_finish() in rxe_queue.c (Kamal Heib) [2120677] - IB: Set IOVA/LENGTH on IB_MR in core/uverbs layers (Kamal Heib) [2120677] - RDMA/cm: Use SLID in the work completion as the DLID in responder side (Kamal Heib) [2120677] - RDMA/siw: Fix QP destroy to wait for all references dropped. (Kamal Heib) [2120677] - RDMA/srp: Fix srp_abort() (Kamal Heib) [2120677] - RDMA/irdma: Validate udata inlen and outlen (Kamal Heib) [2120677] - RDMA/irdma: Align AE id codes to correct flush code and event (Kamal Heib) [2120677] - RDMA/rxe: Fix the error caused by qp->sk (Kamal Heib) [2120677] - RDMA/rxe: Fix "kernel NULL pointer dereference" error (Kamal Heib) [2120677] - RDMA/rxe: Remove an unused member from struct rxe_mr (Kamal Heib) [2120677] - x86/fpu: Fix copy_xstate_to_uabi() to copy init states correctly (Dean Nelson) [2122850] - x86/fpu: Exclude dynamic states from init_fpstate (Dean Nelson) [2122850] - x86/fpu: Fix the init_fpstate size check with the actual size (Dean Nelson) [2122850] - x86/fpu: Configure init_fpstate attributes orderly (Dean Nelson) [2122850] - x86/fpu/xstate: Fix the ARCH_REQ_XCOMP_PERM implementation (Dean Nelson) [2122850] - ceph: rely on vfs for setgid stripping (Andrey Albershteyn) [2128904] - fs: move S_ISGID stripping into the vfs_*() helpers (Andrey Albershteyn) [2128904] - fs: Add missing umask strip in vfs_tmpfile (Andrey Albershteyn) [2128904] - fs: add mode_strip_sgid() helper (Andrey Albershteyn) [2128904]- x86/insn: Add AMX instructions to the x86 instruction decoder (Prarit Bhargava) [2117765] - intel_idle: Add a new flag to initialize the AMX state (Prarit Bhargava) [2117765] - x86/fpu: Add a helper to prepare AMX state for low-power CPU idle (Prarit Bhargava) [2117765] - intel_idle: make SPR C1 and C1E be independent (Prarit Bhargava) [2117765] - rpmspec: drop traceevent files instead of just excluding them from files list (Michael Petlan) [2155509] - powerpc/bpf/64: Add instructions for atomic_[cmp]xchg (Mamatha Inamdar) [2113254] - powerpc/bpf/64: add support for atomic fetch operations (Mamatha Inamdar) [2113254] - powerpc/bpf/64: add support for BPF_ATOMIC bitwise operations (Mamatha Inamdar) [2113254] - powerpc/bpf: Simplify bpf_to_ppc() and adopt it for powerpc64 (Mamatha Inamdar) [2113254] - powerpc64/bpf: Store temp registers' bpf to ppc mapping (Mamatha Inamdar) [2113254] - powerpc/bpf: Use _Rn macros for GPRs (Mamatha Inamdar) [2113254] - powerpc/bpf: Move bpf_jit64.h into bpf_jit_comp64.c (Mamatha Inamdar) [2113254] - powerpc/bpf: Cleanup bpf_jit.h (Mamatha Inamdar) [2113254] - powerpc64/bpf: Get rid of PPC_BPF_[LL|STL|STLU] macros (Mamatha Inamdar) [2113254] - powerpc64/bpf: Convert some of the uses of PPC_BPF_[LL|STL] to PPC_BPF_[LD|STD] (Mamatha Inamdar) [2113254] - powerpc64/bpf: Optimize instruction sequence used for function calls (Mamatha Inamdar) [2113254] - powerpc64/bpf elfv1: Do not load TOC before calling functions (Mamatha Inamdar) [2113254] - powerpc64/bpf elfv2: Setup kernel TOC in r2 on entry (Mamatha Inamdar) [2113254] - powerpc64: Set PPC64_ELF_ABI_v[1|2] macros to 1 (Mamatha Inamdar) [2113254] - powerpc64/bpf: Use r12 for constant blinding (Mamatha Inamdar) [2113254] - powerpc64/bpf: Do not save/restore LR on each call to bpf_stf_barrier() (Mamatha Inamdar) [2113254] - powerpc/bpf: Handle large branch ranges with BPF_EXIT (Mamatha Inamdar) [2113254] - powerpc/bpf: Emit a single branch instruction for known short branch ranges (Mamatha Inamdar) [2113254] - powerpc/bpf: Skip branch range validation during first pass (Mamatha Inamdar) [2113254] - powerpc64/bpf: Limit 'ldbrx' to processors compliant with ISA v2.06 (Mamatha Inamdar) [2113254] - tools/bpf: Rename 'struct event' to avoid naming conflict (Mamatha Inamdar) [2113254] - bpf: Guard against accessing NULL pt_regs in bpf_get_task_stack() (Mamatha Inamdar) [2113254] - bpf ppc64: Access only if addr is kernel address (Mamatha Inamdar) [2113254] - bpf ppc64: Add BPF_PROBE_MEM support for JIT (Mamatha Inamdar) [2113254] - powerpc/ppc-opcode: introduce PPC_RAW_BRANCH() macro (Mamatha Inamdar) [2113254] - bpf powerpc: refactor JIT compiler code (Mamatha Inamdar) [2113254] - bpf powerpc: Remove extra_pass from bpf_jit_build_body() (Mamatha Inamdar) [2113254] - bpf powerpc: Remove unused SEEN_STACK (Mamatha Inamdar) [2113254] - powerpc/bpf: Emit stf barrier instruction sequences for BPF_NOSPEC (Mamatha Inamdar) [2113254] - powerpc/security: Add a helper to query stf_barrier type (Mamatha Inamdar) [2113254] - powerpc/bpf: Fix BPF_SUB when imm == 0x80000000 (Mamatha Inamdar) [2113254] - powerpc/bpf: Fix BPF_MOD when imm == 1 (Mamatha Inamdar) [2113254] - powerpc/bpf: Validate branch ranges (Mamatha Inamdar) [2113254] - powerpc/lib: Add helper to check if offset is within conditional branch range (Mamatha Inamdar) [2113254] - powerpc/lib/feature-fixups: Use PPC_RAW_xxx() macros (Mamatha Inamdar) [2113254] - powerpc: Move PPC_HA() PPC_HI() and PPC_LO() to ppc-opcode.h (Mamatha Inamdar) [2113254] - swapfile: fix soft lockup in scan_swap_map_slots (Waiman Long) [2155734] - mm/swap: add helper swap_offset_available() (Waiman Long) [2155734] - pNFS/filelayout: Fix coalescing test for single DS (Benjamin Coddington) [2158520] - arm64: kdump: Support crashkernel=X fall back to reserve region above DMA zones (Pingfan Liu) [1940674] - arm64: kdump: Provide default size when crashkernel=Y,low is not specified (Pingfan Liu) [1940674] - media: dmxdev: fix UAF when dvb_register_device() fails (Dean Nelson) [2123301] {CVE-2022-41218} - crypto: s390/aes - drop redundant xts key check (Vladis Dronov) [2158893] - crypto: xts - implement xts_verify_key() with xts_check_key() (Vladis Dronov) [2158893] - audit: cache ctx->major in audit_filter_syscall() (Richard Guy Briggs) [2123854] - audit: free audit_proctitle only on task exit (Richard Guy Briggs) [2123854] - audit: explicitly check audit_context->context enum value (Richard Guy Briggs) [2123854] - audit: move audit_return_fixup before the filters (Richard Guy Briggs) [2123854] - audit: fix potential double free on error path from fsnotify_add_inode_mark (Richard Guy Briggs) [2123854] - i2c: ismt: Fix an out-of-bounds bug in ismt_access() (Prarit Bhargava) [2119066] {CVE-2022-2873} - net: dropreason: add SKB_DROP_REASON_FRAG_TOO_FAR (Antoine Tenart) [2155186] - net: dropreason: add SKB_DROP_REASON_FRAG_REASM_TIMEOUT (Antoine Tenart) [2155186] - net: dropreason: add SKB_DROP_REASON_DUP_FRAG (Antoine Tenart) [2155186] - net: dropreason: propagate drop_reason to skb_release_data() (Antoine Tenart) [2155186] - net: dropreason: add SKB_CONSUMED reason (Antoine Tenart) [2155186] - ipv4: remove redundant null pointer check before kfree_skb (Antoine Tenart) [2155186]- turbostat: Bring code up-to-date with upstream (Prarit Bhargava) [2117769] - tools/power turbostat: Enable accumulate RAPL display (Prarit Bhargava) [2117769] - tools/power turbostat: version 2022.07.28 (Prarit Bhargava) [2117769] - tools/power turbostat: do not decode ACC for ICX and SPR (Prarit Bhargava) [2117769] - tools/power turbostat: fix SPR PC6 limits (Prarit Bhargava) [2117769] - tools/power turbostat: cleanup 'automatic_cstate_conversion_probe()' (Prarit Bhargava) [2117769] - tools/power turbostat: separate SPR from ICX (Prarit Bhargava) [2117769] - tools/power turbosstat: fix comment (Prarit Bhargava) [2117769] - tools/power turbostat: Support RAPTORLAKE P (Prarit Bhargava) [2117769] - tools/power turbostat: add support for ALDERLAKE_N (Prarit Bhargava) [2117769] - tools/power turbostat: dump secondary Turbo-Ratio-Limit (Prarit Bhargava) [2117769] - tools/power turbostat: simplify dump_turbo_ratio_limits() (Prarit Bhargava) [2117769] - tools/power turbostat: dump CPUID.7.EDX.Hybrid (Prarit Bhargava) [2117769] - tools/power turbostat: update turbostat.8 (Prarit Bhargava) [2117769] - tools/power turbostat: Show uncore frequency (Prarit Bhargava) [2117769] - tools/power turbostat: Fix file pointer leak (Prarit Bhargava) [2117769] - tools/power turbostat: replace strncmp with single character compare (Prarit Bhargava) [2117769] - tools/power turbostat: print the kernel boot commandline (Prarit Bhargava) [2117769] - tools/power turbostat: Introduce support for RaptorLake (Prarit Bhargava) [2117769] - tools/power turbostat: version 2022.04.16 (Prarit Bhargava) [2117769] - tools/power turbostat: No build warnings with -Wextra (Prarit Bhargava) [2117769] - tools/power turbostat: be more useful as non-root (Prarit Bhargava) [2117769] - tools/power turbostat: fix ICX DRAM power numbers (Prarit Bhargava) [2117769] - tools/power turbostat: Support thermal throttle count print (Prarit Bhargava) [2117769] - tools/power turbostat: Allow printing header every N iterations (Prarit Bhargava) [2117769] - tools/power turbostat: Allow -e for all names. (Prarit Bhargava) [2117769] - tools/power turbostat: print power values upto three decimal (Prarit Bhargava) [2117769] - tools/power turbostat: Add Power Limit4 support (Prarit Bhargava) [2117769] - tools/power turbostat: fix dump for AMD cpus (Prarit Bhargava) [2117769] - tools/power turbostat: tweak --show and --hide capability (Prarit Bhargava) [2117769] - NFSv4: Retry LOCK on OLD_STATEID during delegation return (Benjamin Coddington) [2137826] - KVM: s390: pv: don't allow userspace to set the clock under PV (Tobias Huschle) [2154284] - net: mana: Fix race on per-CQ variable napi work_done (Emanuele Giuseppe Esposito) [2151722] - powercap: intel_rapl: support new layout of Psys PowerLimit Register on SPR (Prarit Bhargava) [2106143] - ceph: choose auth MDS for getxattr with the Xs caps (Milind Changire) [2126703] - ceph: try to choose the auth MDS if possible for getattr (Milind Changire) [2126703] - ceph: convert to generic_file_llseek (Milind Changire) [2126707] - ceph: don't leak snap_rwsem in handle_cap_grant (Milind Changire) [2126706] - ceph: prevent a client from exceeding the MDS maximum xattr size (Milind Changire) [2126704] - ceph: add session already open notify support (Milind Changire) [2126701] - ceph: use correct index when encoding client supported features (Milind Changire) [2143875] - ceph: switch TASK_INTERRUPTIBLE to TASK_KILLABLE (Milind Changire) [2126700] - ceph: allow ceph.dir.rctime xattr to be updatable (Milind Changire) [2126699] - ipv6: Use ipv6_only_sock() helper in condition. (Izabela Bakollari) [2144855] - ipv6: Remove __ipv6_only_sock(). (Izabela Bakollari) [2144855] - redhat/configs: Switch CONFIG_X86_AMD_PSTATE to built-in (Prarit Bhargava) [2150424] - Documentation: add amd-pstate kernel command line options (Prarit Bhargava) [2150424] - cpufreq: amd-pstate: add amd-pstate driver parameter for mode selection (Prarit Bhargava) [2150424] - cpufreq: amd-pstate: change amd-pstate driver to be built-in type (Prarit Bhargava) [2150424] - cpufreq: amd-pstate: cpufreq: amd-pstate: reset MSR_AMD_PERF_CTL register at init (Prarit Bhargava) [2150424] - scsi: target: iscsi: Fix a race condition between login_work and the login thread (Maurizio Lombardi) [2153832] - virtio_console: Introduce an ID allocator for virtual console numbers (Cédric Le Goater) [2072437] - blk-throttle: fix that io throttle can only work for single bio (Ming Lei) [2088193] - scsi: zfcp: Fix double free of FSF request when qdio send fails (Tobias Huschle) [2155157] - scsi: qla2xxx: Fix crash when I/O abort times out (Nilesh Javali) [2115820] - perf trace: Fix SIGSEGV when processing syscall args (Michael Petlan) [2145089] - config: mhi: set CONFIG_MHI_BUS_EP to disabled (Íñigo Huguet) [2136123] - config: rtw89: set CONFIG_RTW89_8852C to disabled (Íñigo Huguet) [2136123] - wifi: ath11k: avoid deadlock during regulatory update in ath11k_regd_update() (Íñigo Huguet) [2136123 2139481] - wifi: mac80211: mlme: Fix double unlock on assoc success handling (Íñigo Huguet) [2136123] - wifi: mac80211: mlme: Fix missing unlock on beacon RX (Íñigo Huguet) [2136123] - wifi: mac80211: fix memory corruption in minstrel_ht_update_rates() (Íñigo Huguet) [2136123] - wifi: mac80211: fix regression with non-QoS drivers (Íñigo Huguet) [2136123] - wifi: mac80211: ensure vif queues are operational after start (Íñigo Huguet) [2136123] - wifi: mac80211: don't start TX with fq->lock to fix deadlock (Íñigo Huguet) [2136123] - wifi: cfg80211: fix MCS divisor value (Íñigo Huguet) [2136123] - wifi: mt76: fix 5 GHz connection regression on mt76x0/mt76x2 (Íñigo Huguet) [2136123] - wifi: mt76: fix reading current per-tid starting sequence number for aggregation (Íñigo Huguet) [2136123] - wifi: iwlwifi: Mark IWLMEI as broken (Íñigo Huguet) [2136123] - wifi: iwlwifi: don't spam logs with NSS>2 messages (Íñigo Huguet) [2136123] - wifi: use struct_group to copy addresses (Íñigo Huguet) [2136123] - wifi: mac80211_hwsim: check length for virtio packets (Íñigo Huguet) [2136123] - wifi: mac80211: fix locking in auth/assoc timeout (Íñigo Huguet) [2136123] - wifi: mac80211: mlme: release deflink channel in error case (Íñigo Huguet) [2136123] - wifi: mac80211: fix link warning in RX agg timer expiry (Íñigo Huguet) [2136123] - bus: mhi: host: Fix up null pointer access in mhi_irq_handler (Íñigo Huguet) [2136123] - net: Use u64_stats_fetch_begin_irq() for stats fetch. (Íñigo Huguet) [2136123] - wifi: mt76: mt7921e: fix crash in chip reset fail (Íñigo Huguet) [2136123] - wifi: mac80211: potential NULL dereference in ieee80211_tx_control_port() (Íñigo Huguet) [2136123] - wifi: cfg80211: debugfs: fix return type in ht40allow_map_read() (Íñigo Huguet) [2136123] - wifi: mac80211: Don't finalize CSA in IBSS mode if state is disconnected (Íñigo Huguet) [2136123] - wifi: mac80211: fix possible leak in ieee80211_tx_control_port() (Íñigo Huguet) [2136123] - wifi: mac80211: always free sta in __sta_info_alloc in case of error (Íñigo Huguet) [2136123] - wifi: mac80211: Fix UAF in ieee80211_scan_rx() (Íñigo Huguet) [2136123] - net: qrtr: start MHI channel after endpoit creation (Íñigo Huguet) [2136123] - wifi: cfg80211: Fix validating BSS pointers in __cfg80211_connect_result (Íñigo Huguet) [2136123] - wifi: rtw88: check the return value of alloc_workqueue() (Íñigo Huguet) [2136123] - wifi: rtw89: 8852a: adjust IMR for SER L1 (Íñigo Huguet) [2136123] - wifi: rtw89: 8852a: update RF radio A/B R56 (Íñigo Huguet) [2136123] - wifi: brcmfmac: prevent double-free on hardware-reset (Íñigo Huguet) [2136123] - wifi: brcmfmac: support brcm,ccode-map-trivial DT property (Íñigo Huguet) [2136123] - wifi: brcmfmac: Replace default (not configured) MAC with a random MAC (Íñigo Huguet) [2136123] - wifi: brcmfmac: Add brcmf_c_set_cur_etheraddr() helper (Íñigo Huguet) [2136123] - wifi: brcmfmac: Remove #ifdef guards for PM related functions (Íñigo Huguet) [2136123] - wifi: brcmfmac: use strreplace() in brcmf_of_probe() (Íñigo Huguet) [2136123] - wifi: rtl8xxxu: Fix the error handling of the probe function (Íñigo Huguet) [2136123] - wifi: mwifiex: clean up one inconsistent indenting (Íñigo Huguet) [2136123] - wifi: rtlwifi: Remove duplicate word and Fix typo (Íñigo Huguet) [2136123] - wifi: mwifiex: Fix comment typo (Íñigo Huguet) [2136123] - wifi: iwlwifi: mvm: fix clang -Wformat warnings (Íñigo Huguet) [2136123] - Revert "ath11k: add support for hardware rfkill for QCA6390" (Íñigo Huguet) [2136123] - wifi: ath11k: Fix register write failure on QCN9074 (Íñigo Huguet) [2136123] - wifi: mac80211: fix link data leak (Íñigo Huguet) [2136123] - wifi: mac80211: mlme: fix disassoc with MLO (Íñigo Huguet) [2136123] - wifi: mac80211: add macros to loop over active links (Íñigo Huguet) [2136123] - wifi: mac80211: remove erroneous sband/link validation (Íñigo Huguet) [2136123] - wifi: mac80211: mlme: transmit assoc frame with address translation (Íñigo Huguet) [2136123] - wifi: mac80211: verify link addresses are different (Íñigo Huguet) [2136123] - wifi: mac80211: rx: track link in RX data (Íñigo Huguet) [2136123] - wifi: mac80211: optionally implement MLO multicast TX (Íñigo Huguet) [2136123] - wifi: mac80211: expand ieee80211_mgmt_tx() for MLO (Íñigo Huguet) [2136123] - wifi: nl80211: add MLO link ID to the NL80211_CMD_FRAME TX API (Íñigo Huguet) [2136123] - wifi: mac80211: report link ID to cfg80211 on mgmt RX (Íñigo Huguet) [2136123] - wifi: cfg80211: report link ID in NL80211_CMD_FRAME (Íñigo Huguet) [2136123] - wifi: mac80211: add hardware timestamps for RX and TX (Íñigo Huguet) [2136123] - wifi: cfg80211: add hardware timestamps to frame RX info (Íñigo Huguet) [2136123] - wifi: cfg80211/nl80211: move rx management data into a struct (Íñigo Huguet) [2136123] - wifi: cfg80211: add a function for reporting TX status with hardware timestamps (Íñigo Huguet) [2136123] - wifi: nl80211: add RX and TX timestamp attributes (Íñigo Huguet) [2136123] - nl80211: document uapi for CMD_FRAME_WAIT_CANCEL (Íñigo Huguet) [2136123] - wifi: ieee80211: add helper functions for detecting TM/FTM frames (Íñigo Huguet) [2136123] - wifi: mac80211_hwsim: handle links for wmediumd/virtio (Íñigo Huguet) [2136123] - wifi: mac80211: sta_info: fix link_sta insertion (Íñigo Huguet) [2136123] - wifi: mac80211: mlme: fix link_sta setup (Íñigo Huguet) [2136123] - wifi: nl80211/mac80211: clarify link ID in control port TX (Íñigo Huguet) [2136123] - wifi: mac80211: return error from control port TX for drops (Íñigo Huguet) [2136123] - wifi: nl80211: require MLD address on link STA add/modify (Íñigo Huguet) [2136123] - wifi: mac80211: more station handling sanity checks (Íñigo Huguet) [2136123] - wifi: mac80211: fix link sta hash table handling (Íñigo Huguet) [2136123] - wifi: mac80211: validate link address doesn't change (Íñigo Huguet) [2136123] - wifi: mac80211: mlme: set sta.mlo to mlo state (Íñigo Huguet) [2136123] - wifi: mac80211: fast-xmit: handle non-MLO clients (Íñigo Huguet) [2136123] - wifi: mac80211_hwsim: fix address translation for MLO (Íñigo Huguet) [2136123] - wifi: mac80211: fix RX MLD address translation (Íñigo Huguet) [2136123] - wifi: mac80211: fix NULL pointer deref with non-MLD STA (Íñigo Huguet) [2136123] - wifi: mac80211: mlme: fix override calculation (Íñigo Huguet) [2136123] - wifi: mac80211: tx: use AP address in some places for MLO (Íñigo Huguet) [2136123] - net: add missing includes and forward declarations under net/ (Íñigo Huguet) [2136123] - wifi: rtl8192se: fix repeated words in comments (Íñigo Huguet) [2136123] - wifi: rtlwifi: fix repeated words in comments (Íñigo Huguet) [2136123] - wifi: rt2x00: fix repeated words in comments (Íñigo Huguet) [2136123] - wifi: brcmsmac: fix repeated words in comments (Íñigo Huguet) [2136123] - wifi: brcmfmac: fix repeated words in comments (Íñigo Huguet) [2136123] - wifi: mac80211: do not abuse fq.lock in ieee80211_do_stop() (Íñigo Huguet) [2136123] - wifi: mt7601u: fix clang -Wformat warning (Íñigo Huguet) [2136123] - wifi: mt7601u: eeprom: fix clang -Wformat warning (Íñigo Huguet) [2136123] - wifi: ath: fix repeated words in comments (Íñigo Huguet) [2136123] - wifi: ath11k: mac: fix long line (Íñigo Huguet) [2136123] - wifi: mac80211: mlme: set sta.mlo correctly (Íñigo Huguet) [2136123] - wifi: mac80211: remove stray printk (Íñigo Huguet) [2136123] - wifi: mac80211: support MLO authentication/association with one link (Íñigo Huguet) [2136123] - wifi: mac80211: add API to parse multi-link element (Íñigo Huguet) [2136123] - wifi: mac80211_hwsim: fix TX link selection (Íñigo Huguet) [2136123] - wifi: mac80211_hwsim: use MLO link ID for TX (Íñigo Huguet) [2136123] - wifi: mac80211_hwsim: do rc update per link (Íñigo Huguet) [2136123] - wifi: mac80211: do link->MLD address translation on RX (Íñigo Huguet) [2136123] - wifi: mac80211: select link when transmitting to non-MLO stations (Íñigo Huguet) [2136123] - wifi: mac80211: fix up link station creation/insertion (Íñigo Huguet) [2136123] - wifi: mac80211_hwsim: implement sta_state for MLO (Íñigo Huguet) [2136123] - wifi: mac80211: limit A-MSDU subframes for client too (Íñigo Huguet) [2136123] - wifi: mac80211: mlme: refactor ieee80211_set_associated() (Íñigo Huguet) [2136123] - wifi: cfg80211: add cfg80211_get_iftype_ext_capa() (Íñigo Huguet) [2136123] - wifi: mac80211: mlme: look up beacon elems only if needed (Íñigo Huguet) [2136123] - wifi: mac80211: mlme: refactor assoc link setup (Íñigo Huguet) [2136123] - wifi: mac80211: mlme: remove address arg to ieee80211_mark_sta_auth() (Íñigo Huguet) [2136123] - wifi: mac80211: mlme: refactor assoc success handling (Íñigo Huguet) [2136123] - wifi: mac80211: mlme: refactor ieee80211_prep_channel() a bit (Íñigo Huguet) [2136123] - wifi: mac80211: mlme: refactor assoc req element building (Íñigo Huguet) [2136123] - wifi: mac80211: mlme: switch some things back to deflink (Íñigo Huguet) [2136123] - wifi: mac80211: mlme: change flags in ieee80211_determine_chantype() (Íñigo Huguet) [2136123] - wifi: mac80211: mlme: shift some code around (Íñigo Huguet) [2136123] - wifi: mac80211: mlme: refactor link station setup (Íñigo Huguet) [2136123] - wifi: mac80211: move IEEE80211_SDATA_OPERATING_GMODE to link (Íñigo Huguet) [2136123] - wifi: mac80211: make ieee80211_check_rate_mask() link-aware (Íñigo Huguet) [2136123] - wifi: mac80211: add multi-link element to AUTH frames (Íñigo Huguet) [2136123] - wifi: mac80211: mlme: clean up supported channels element code (Íñigo Huguet) [2136123] - wifi: mac80211: release channel context on link stop (Íñigo Huguet) [2136123] - wifi: mac80211: prohibit DEAUTH_NEED_MGD_TX_PREP in MLO (Íñigo Huguet) [2136123] - wifi: nl80211: fix some attribute policy entries (Íñigo Huguet) [2136123] - wifi: nl80211: reject fragmented and non-inheritance elements (Íñigo Huguet) [2136123] - wifi: nl80211: reject link specific elements on assoc link (Íñigo Huguet) [2136123] - wifi: cfg80211: set country_elem to NULL (Íñigo Huguet) [2136123] - wifi: mac80211: remove link_id parameter from link_info_changed() (Íñigo Huguet) [2136123] - wifi: mac80211: replace link_id with link_conf in switch/(un)assign_vif_chanctx() (Íñigo Huguet) [2136123] - wifi: nl80211: advertise MLO support (Íñigo Huguet) [2136123] - wifi: mac80211: Support multi link in ieee80211_recalc_min_chandef() (Íñigo Huguet) [2136123] - wifi: mac80211: don't check carrier in chanctx code (Íñigo Huguet) [2136123] - wifi: nl80211: allow link ID in set_wiphy with frequency (Íñigo Huguet) [2136123] - wifi: mac80211: Allow EAPOL tx from specific link (Íñigo Huguet) [2136123] - wifi: mac80211: Allow EAPOL frames from link addresses (Íñigo Huguet) [2136123] - wifi: cfg80211/mac80211: Support control port TX from specific link (Íñigo Huguet) [2136123] - wifi: nl80211: Support MLD parameters in nl80211_set_station() (Íñigo Huguet) [2136123] - wifi: nl80211: check MLO support in authenticate (Íñigo Huguet) [2136123] - wifi: mac80211: add a helper to fragment an element (Íñigo Huguet) [2136123] - wifi: mac80211: skip rate statistics for MLD STAs (Íñigo Huguet) [2136123] - wifi: nl80211: set BSS to NULL if IS_ERR() (Íñigo Huguet) [2136123] - wifi: nl80211: add EML/MLD capabilities to per-iftype capabilities (Íñigo Huguet) [2136123] - wifi: nl80211: better validate link ID for stations (Íñigo Huguet) [2136123] - wifi: mac80211: fix link manipulation (Íñigo Huguet) [2136123] - wifi: mac80211: tighten locking check (Íñigo Huguet) [2136123] - wifi: cfg80211: clean up links appropriately (Íñigo Huguet) [2136123] - wifi: mac80211: mlme: simplify adding ht/vht/he/eht elements (Íñigo Huguet) [2136123] - wifi: mac80211: refactor adding custom elements (Íñigo Huguet) [2136123] - wifi: mac80211: refactor adding rates to assoc request (Íñigo Huguet) [2136123] - wifi: mac80211: use only channel width in ieee80211_parse_bitrates() (Íñigo Huguet) [2136123] - wifi: cfg80211: add ieee80211_chanwidth_rate_flags() (Íñigo Huguet) [2136123] - wifi: mac80211: remove redundant condition (Íñigo Huguet) [2136123] - wifi: mac80211: don't set link address for station (Íñigo Huguet) [2136123] - wifi: mac80211: fix multi-BSSID element parsing (Íñigo Huguet) [2136123] - wifi: mac80211: move tdls_chan_switch_prohibited to link data (Íñigo Huguet) [2136123] - wifi: mac80211: don't re-parse elems in ieee80211_assoc_success() (Íñigo Huguet) [2136123] - wifi: mac80211: replace link_id with link_conf in start/stop_ap() (Íñigo Huguet) [2136123] - wifi: mac80211: refactor elements parsing with parameter struct (Íñigo Huguet) [2136123] - wifi: cfg80211: extend cfg80211_rx_assoc_resp() for MLO (Íñigo Huguet) [2136123] - wifi: cfg80211: put cfg80211_rx_assoc_resp() arguments into a struct (Íñigo Huguet) [2136123] - wifi: cfg80211: adjust assoc comeback for MLO (Íñigo Huguet) [2136123] - wifi: mac80211: mlme: unify assoc data event sending (Íñigo Huguet) [2136123] - wifi: cfg80211: prepare association failure APIs for MLO (Íñigo Huguet) [2136123] - wifi: cfg80211: remove BSS pointer from cfg80211_disassoc_request (Íñigo Huguet) [2136123] - wifi: mac80211: mlme: use correct link_sta (Íñigo Huguet) [2136123] - wifi: mac80211: mlme: remove sta argument from ieee80211_config_bw (Íñigo Huguet) [2136123] - wifi: mac80211: mlme: use ieee80211_get_link_sband() (Íñigo Huguet) [2136123] - wifi: mac80211: split IEEE80211_STA_DISABLE_WMM to link data (Íñigo Huguet) [2136123] - wifi: mac80211: mlme: first adjustments for MLO (Íñigo Huguet) [2136123] - wifi: mac80211: mlme: do IEEE80211_STA_RESET_SIGNAL_AVE per link (Íñigo Huguet) [2136123] - wifi: mac80211: mlme: track AP (MLD) address separately (Íñigo Huguet) [2136123] - wifi: mac80211: remove unused bssid variable (Íñigo Huguet) [2136123] - wifi: mac80211: change QoS settings API to take link into account (Íñigo Huguet) [2136123] - wifi: mac80211: expect powersave handling in driver for MLO (Íñigo Huguet) [2136123] - wifi: mac80211: move ps setting to vif config (Íñigo Huguet) [2136123] - wifi: mac80211: provide link ID in link_conf (Íñigo Huguet) [2136123] - wifi: mac80211: set up/tear down client vif links properly (Íñigo Huguet) [2136123] - wifi: mac80211: move ieee80211_request_smps_mgd_work (Íñigo Huguet) [2136123] - wifi: nl80211: acquire wdev mutex for dump_survey (Íñigo Huguet) [2136123] - wifi: mac80211: fix key lookup (Íñigo Huguet) [2136123] - wifi: mac80211: separate out connection downgrade flags (Íñigo Huguet) [2136123] - wifi: mac80211: Align with Draft P802.11be_D2.0 (Íñigo Huguet) [2136123] - wifi: mac80211: Align with Draft P802.11be_D1.5 (Íñigo Huguet) [2136123] - wifi: mac80211: skip powersave recalc if driver SUPPORTS_DYNAMIC_PS (Íñigo Huguet) [2136123] - wifi: mac80211: debug: omit link if non-MLO connection (Íñigo Huguet) [2136123] - wifi: mac80211_hwsim: Ack link addressed frames (Íñigo Huguet) [2136123] - wifi: cfg80211: drop BSS elements from assoc trace for now (Íñigo Huguet) [2136123] - wifi: cfg80211: make cfg80211_auth_request::key_idx signed (Íñigo Huguet) [2136123] - wifi: nl80211: enable setting the link address at new station (Íñigo Huguet) [2136123] - wifi: mac80211: RCU-ify link/link_conf pointers (Íñigo Huguet) [2136123] - wifi: nl80211: hold wdev mutex for station APIs (Íñigo Huguet) [2136123] - wifi: nl80211: hold wdev mutex for channel switch APIs (Íñigo Huguet) [2136123] - wifi: nl80211: hold wdev mutex in add/mod/del link station (Íñigo Huguet) [2136123] - wifi: mac80211: implement callbacks for _link_station (Íñigo Huguet) [2136123] - wifi: cfg80211/mac80211: separate link params from station params (Íñigo Huguet) [2136123] - wifi: cfg80211: add API to add/modify/remove a link station (Íñigo Huguet) [2136123] - wifi: mac80211: add an ieee80211_get_link_sband (Íñigo Huguet) [2136123] - wifi: mac80211: Remove AP SMPS leftovers (Íñigo Huguet) [2136123] - wifi: cfg80211: Allow MLO TX with link source address (Íñigo Huguet) [2136123] - wifi: mac80211: Consider MLO links in offchannel logic (Íñigo Huguet) [2136123] - wifi: mac80211: rx: accept link-addressed frames (Íñigo Huguet) [2136123] - wifi: mac80211: consistently use sdata_dereference() (Íñigo Huguet) [2136123] - wifi: mac80211_hwsim: Support link channel matching on rx (Íñigo Huguet) [2136123] - wifi: mac80211: fix mesh airtime link metric estimating (Íñigo Huguet) [2136123] - wifi: mac80211: make 4addr null frames using min_rate for WDS (Íñigo Huguet) [2136123] - wifi: cfg80211: use strscpy to replace strlcpy (Íñigo Huguet) [2136123] - wifi: mac80211: exclude multicast packets from AQL pending airtime (Íñigo Huguet) [2136123] - wifi: mac80211_hwsim: use 32-bit skb cookie (Íñigo Huguet) [2136123] - mt76: mt7921: Let PCI core handle power state and use pm_sleep_ptr() (Íñigo Huguet) [2136123] - mediatek: mt76: mac80211: Fix missing of_node_put() in mt76_led_init() (Íñigo Huguet) [2136123] - mt76: get rid of mt76_wcid_hw routine (Íñigo Huguet) [2136123] - mt76: convert MT_TX_HW_QUEUE_EXT_PHY to MT_TX_HW_QUEUE_PHY (Íñigo Huguet) [2136123] - mt76: add phy_idx to mt76_wcid (Íñigo Huguet) [2136123] - mt76: introduce phys array in mt76_dev structure (Íñigo Huguet) [2136123] - mt76: add phy_idx in mt76_rx_status (Íñigo Huguet) [2136123] - mt76: introduce MT_RXQ_BAND2 and MT_RXQ_BAND2_WA in mt76_rxq_id (Íñigo Huguet) [2136123] - mt76: add len parameter to __mt76_mcu_msg_alloc signature (Íñigo Huguet) [2136123] - mt76: mt7915 add ht mpdu density (Íñigo Huguet) [2136123] - mt76: mt7921: reduce the mutex lock scope during reset (Íñigo Huguet) [2136123] - mt76: mt7921: reduce log severity levels for informative messages (Íñigo Huguet) [2136123] - mt76: connac: move tx initialization/cleanup in mt76_connac module (Íñigo Huguet) [2136123] - mt76: mt7921: make mt7921_pci_driver static (Íñigo Huguet) [2136123] - mt76: mt7921: enable HW beacon filter in the initialization stage (Íñigo Huguet) [2136123] - mt76: mt7921: enable HW beacon filter not depending on PM flag (Íñigo Huguet) [2136123] - mt76: remove q->qid (Íñigo Huguet) [2136123] - mt76: do not use skb_set_queue_mapping for internal purposes (Íñigo Huguet) [2136123] - mt76: pass original queue id from __mt76_tx_queue_skb to the driver (Íñigo Huguet) [2136123] - mt76: allow receiving frames with invalid CCMP PN via monitor interfaces (Íñigo Huguet) [2136123] - mt76: mt76x02: improve reliability of the beacon hang check (Íñigo Huguet) [2136123] - mt76: mt7615: add sta_rec with EXTRA_INFO_NEW for the first time only (Íñigo Huguet) [2136123] - mt76: mt7915: update the maximum size of beacon offload (Íñigo Huguet) [2136123] - mt76: do not check the ccmp pn for ONLY_MONITOR frame (Íñigo Huguet) [2136123] - mt76: mt7915: add sta_rec with EXTRA_INFO_NEW for the first time only (Íñigo Huguet) [2136123] - mt76: mt7915: update mpdu density in 6g capability (Íñigo Huguet) [2136123] - mt76: mt7915: do not copy ieee80211_ops pointer in mt7915_mmio_probe (Íñigo Huguet) [2136123] - mt76: mt7915: disable UL MU-MIMO for mt7915 (Íñigo Huguet) [2136123] - mt76: move mt76_connac2_mcu_fill_message in mt76_connac module (Íñigo Huguet) [2136123] - mt76: move mcu_txd/mcu_rxd structures in shared code (Íñigo Huguet) [2136123] - mt76: mt7915: rely on mt76_connac_tx_free (Íñigo Huguet) [2136123] - mt76: connac: move mt7615_txp_skb_unmap in common code (Íñigo Huguet) [2136123] - mt76: connac: move mt76_connac_write_hw_txp in shared code (Íñigo Huguet) [2136123] - mt76: connac: move mt76_connac_tx_complete_skb in shared code (Íñigo Huguet) [2136123] - mt76: connac: move mt76_connac_tx_free in shared code (Íñigo Huguet) [2136123] - mt76: move mt7615_txp_ptr in mt76_connac module (Íñigo Huguet) [2136123] - mt76: connac: move mt76_connac_fw_txp in common module (Íñigo Huguet) [2136123] - mt76: mt7915: get rid of unnecessary new line in mt7915_mac_write_txwi (Íñigo Huguet) [2136123] - mt76: mt7921s: remove unnecessary goto in mt7921s_mcu_drv_pmctrl (Íñigo Huguet) [2136123] - mt76: connac: move mt76_connac2_mac_fill_rx_rate in connac module (Íñigo Huguet) [2136123] - mt76: connac: move mt76_connac2_reverse_frag0_hdr_trans in mt76-connac module (Íñigo Huguet) [2136123] - mt76: connac: move HE radiotap parsing in connac module (Íñigo Huguet) [2136123] - mt76: mt7921: fix command timeout in AP stop period (Íñigo Huguet) [2136123] - mt76: mt7921: not support beacon offload disable command (Íñigo Huguet) [2136123] - mt76: connac: move mt76_connac2_mac_add_txs_skb in connac module (Íñigo Huguet) [2136123] - mt76: connac: move connac2_mac_write_txwi in mt76_connac module (Íñigo Huguet) [2136123] - mt76: connac: move mac connac2 defs in mt76_connac2_mac.h (Íñigo Huguet) [2136123] - mt76: mt7915: rely on mt76_dev in mt7915_mac_write_txwi signature (Íñigo Huguet) [2136123] - mt76: mt7921: rely on mt76_dev in mt7921_mac_write_txwi signature (Íñigo Huguet) [2136123] - mt76: enable the VHT extended NSS BW feature (Íñigo Huguet) [2136123] - mt76: mt7663: rely on mt76_connac2_fw_trailer (Íñigo Huguet) [2136123] - mt76: connac: move mt76_connac2_load_patch in connac module (Íñigo Huguet) [2136123] - mt76: connac: move mt76_connac2_load_ram in connac module (Íñigo Huguet) [2136123] - mt76: mt7921: move fw toggle in mt7921_load_firmware (Íñigo Huguet) [2136123] - mt76: connac: move shared fw structures in connac module (Íñigo Huguet) [2136123] - mt76: mt7921: get rid of mt7921_mcu_exit (Íñigo Huguet) [2136123] - mt76: mt7921: add missing bh-disable around rx napi schedule (Íñigo Huguet) [2136123] - mt76: mt7615: add missing bh-disable around rx napi schedule (Íñigo Huguet) [2136123] - mt76: mt7915: add missing bh-disable around tx napi enable/schedule (Íñigo Huguet) [2136123] - mt76: mt7921: add PATCH_FINISH_REQ cmd response handling (Íñigo Huguet) [2136123] - mt76: add DBDC rxq handlings into mac_reset_work (Íñigo Huguet) [2136123] - mt76: mt7915: add more ethtool stats (Íñigo Huguet) [2136123] - mt76: mt7921: introduce ACPI SAR config in tx power (Íñigo Huguet) [2136123] - mt76: mt7921: introduce ACPI SAR support (Íñigo Huguet) [2136123] - mt76: add 6 GHz band support in mt76_sar_freq_ranges (Íñigo Huguet) [2136123] - mt76: mt7915: fix endian bug in mt7915_rf_regval_set() (Íñigo Huguet) [2136123] - mt76: mt76x02u: fix possible memory leak in __mt76x02u_mcu_send_msg (Íñigo Huguet) [2136123] - mt76: mt7915: fix endianness in mt7915_rf_regval_get (Íñigo Huguet) [2136123] - wifi: mac80211_hwsim: add back erroneously removed cast (Íñigo Huguet) [2136123] - wifi: mac80211: fix queue selection for mesh/OCB interfaces (Íñigo Huguet) [2136123] - wifi: mac80211_hwsim: fix race condition in pending packet (Íñigo Huguet) [2136123] - wifi: mac80211: Use the bitmap API to allocate bitmaps (Íñigo Huguet) [2136123] - wifi: mac80211: fix center freq calculation in ieee80211_chandef_downgrade (Íñigo Huguet) [2136123] - wifi: nl80211: fix sending link ID info of associated BSS (Íñigo Huguet) [2136123] - wifi: cfg80211: fix a comment in cfg80211_mlme_mgmt_tx() (Íñigo Huguet) [2136123] - wifi: nl80211: Fix reading NL80211_ATTR_MLO_LINK_ID in nl80211_pre_doit (Íñigo Huguet) [2136123] - bus: mhi: ep: Check dev_set_name() return value (Íñigo Huguet) [2136123] - ath9k: remove unexpected words "the" in comments (Íñigo Huguet) [2136123] - ath11k: Fix typo in comments (Íñigo Huguet) [2136123] - wifi: nl80211: retrieve EHT related elements in AP mode (Íñigo Huguet) [2136123] - wifi: cfg80211: Increase akm_suites array size in cfg80211_crypto_settings (Íñigo Huguet) [2136123] - wifi: cfg80211: remove chandef check in cfg80211_cac_event() (Íñigo Huguet) [2136123] - wifi: nl80211: relax wdev mutex check in wdev_chandef() (Íñigo Huguet) [2136123] - wifi: nl80211: acquire wdev mutex earlier in start_ap (Íñigo Huguet) [2136123] - wifi: nl80211: hold wdev mutex for tid config (Íñigo Huguet) [2136123] - wifi: cfg80211: handle IBSS in channel switch (Íñigo Huguet) [2136123] - wifi: mac80211: properly skip link info driver update (Íñigo Huguet) [2136123] - wifi: mac80211: only accumulate airtime deficit for active clients (Íñigo Huguet) [2136123] - wifi: mac80211: add debugfs file to display per-phy AQL pending airtime (Íñigo Huguet) [2136123] - wifi: mac80211: add a per-PHY AQL limit to improve fairness (Íñigo Huguet) [2136123] - wifi: mac80211: keep recently active tx queues in scheduling list (Íñigo Huguet) [2136123] - wifi: mac80211: consider aql_tx_pending when checking airtime deficit (Íñigo Huguet) [2136123] - wifi: mac80211: make sta airtime deficit field s32 instead of s64 (Íñigo Huguet) [2136123] - wifi: mac80211: fix a kernel-doc complaint (Íñigo Huguet) [2136123] - wifi: cfg80211: remove redundant documentation (Íñigo Huguet) [2136123] - wifi: mac80211: sta_info: fix a missing kernel-doc struct element (Íñigo Huguet) [2136123] - wifi: mac80211: add a missing comma at kernel-doc markup (Íñigo Huguet) [2136123] - wifi: cfg80211: fix kernel-doc warnings all over the file (Íñigo Huguet) [2136123] - wifi: ieee80211: s1g action frames are not robust (Íñigo Huguet) [2136123] - bus: mhi: host: pci_generic: Add another Foxconn T99W175 (Íñigo Huguet) [2136123] - wifi: cfg80211: Allow P2P client interface to indicate port authorization (Íñigo Huguet) [2136123] - wifi: mac80211: do not wake queues on a vif that is being stopped (Íñigo Huguet) [2136123] - wifi: mac80211: check skb_shared in ieee80211_8023_xmit() (Íñigo Huguet) [2136123] - wifi: mac80211: add gfp_t parameter to ieeee80211_obss_color_collision_notify (Íñigo Huguet) [2136123] - bus: mhi: host: Move IRQ allocation to controller registration phase (Íñigo Huguet) [2136123] - bus: mhi: host: pci_generic: Add Cinterion MV31-W with new baseline (Íñigo Huguet) [2136123] - bus: mhi: host: pci_generic: Add support for Quectel EM120 FCCL modem (Íñigo Huguet) [2136123] - wifi: rtw89: disable invalid phy reports for all ICs (Íñigo Huguet) [2136123] - wifi: rtw89: pci: fix PCI doesn't reclaim TX BD properly (Íñigo Huguet) [2136123] - wifi: rtw89: fix long RX latency in low power mode (Íñigo Huguet) [2136123] - wifi: rtw89: drop invalid TX rate report of legacy rate (Íñigo Huguet) [2136123] - wifi: rtw89: add UNEXP debug mask to keep monitor messages unexpected to happen frequently (Íñigo Huguet) [2136123] - wifi: rtw89: enable VO TX AMPDU (Íñigo Huguet) [2136123] - wifi: rtw89: fix potential TX stuck (Íñigo Huguet) [2136123] - wifi: rtw89: support TDLS (Íñigo Huguet) [2136123] - wifi: rtw89: allocate BSSID CAM per TDLS peer (Íñigo Huguet) [2136123] - wifi: rtw89: separate BSSID CAM operations (Íñigo Huguet) [2136123] - wifi: rtw89: allocate address CAM and MAC ID to TDLS peer (Íñigo Huguet) [2136123] - cfg80211: Indicate MLO connection info in connect and roam callbacks (Íñigo Huguet) [2136123] - wifi: mac80211_hwsim: print the link id (Íñigo Huguet) [2136123] - wifi: mac80211_hwsim: support creating MLO-capable radios (Íñigo Huguet) [2136123] - wifi: nl80211: expose link ID for associated BSSes (Íñigo Huguet) [2136123] - wifi: nl80211: expose link information for interfaces (Íñigo Huguet) [2136123] - wifi: mac80211_hwsim: send a beacon per link (Íñigo Huguet) [2136123] - wifi: mac80211: set STA deflink addresses (Íñigo Huguet) [2136123] - wifi: mac80211: maintain link-sta hash table (Íñigo Huguet) [2136123] - wifi: mac80211: RCU-ify link STA pointers (Íñigo Huguet) [2136123] - wifi: mac80211: ethtool: use deflink for now (Íñigo Huguet) [2136123] - wifi: mac80211: move ieee80211_bssid_match() function (Íñigo Huguet) [2136123] - wifi: mac80211: return a beacon for a specific link (Íñigo Huguet) [2136123] - wifi: mac80211: pass the link id in start/stop ap (Íñigo Huguet) [2136123] - wifi: mac80211: use link in start/stop ap (Íñigo Huguet) [2136123] - wifi: mac80211: implement add/del interface link callbacks (Íñigo Huguet) [2136123] - wifi: cfg80211: add optional link add/remove callbacks (Íñigo Huguet) [2136123] - wifi: cfg80211: sort trace.h (Íñigo Huguet) [2136123] - wifi: mac80211: add sta link addition/removal (Íñigo Huguet) [2136123] - wifi: mac80211: add MLO link ID to TX frame metadata (Íñigo Huguet) [2136123] - wifi: mac80211: remove band from TX info in MLO (Íñigo Huguet) [2136123] - wifi: mac80211: add vif link addition/removal (Íñigo Huguet) [2136123] - wifi: nl80211: support MLO in auth/assoc (Íñigo Huguet) [2136123] - wifi: mac80211: ignore IEEE80211_CONF_CHANGE_SMPS in chanctx mode (Íñigo Huguet) [2136123] - wifi: mac80211_hwsim: split bss_info_changed to vif/link info_changed (Íñigo Huguet) [2136123] - wifi: cfg80211: simplify cfg80211_mlme_auth() prototype (Íñigo Huguet) [2136123] - wifi: ieee80211: add definitions for multi-link element (Íñigo Huguet) [2136123] - wifi: nl80211: refactor BSS lookup in nl80211_associate() (Íñigo Huguet) [2136123] - wifi: cfg80211: mlme: get BSS entry outside cfg80211_mlme_assoc() (Íñigo Huguet) [2136123] - wifi: mac80211: tx: simplify chanctx_conf handling (Íñigo Huguet) [2136123] - wifi: mac80211: status: look up band only where needed (Íñigo Huguet) [2136123] - wifi: mac80211: sort trace.h file (Íñigo Huguet) [2136123] - wifi: mac80211: correct link config data in tracing (Íñigo Huguet) [2136123] - wifi: mac80211: make ieee80211_he_cap_ie_to_sta_he_cap() MLO-aware (Íñigo Huguet) [2136123] - wifi: mac80211: make some SMPS code MLD-aware (Íñigo Huguet) [2136123] - wifi: mac80211: HT: make ieee80211_ht_cap_ie_to_sta_ht_cap() MLO-aware (Íñigo Huguet) [2136123] - wifi: mac80211: add link_id to eht.c code for MLO (Íñigo Huguet) [2136123] - wifi: mac80211: add link_id to vht.c code for MLO (Íñigo Huguet) [2136123] - wifi: mac80211: refactor some link setup code (Íñigo Huguet) [2136123] - wifi: mac80211: validate some driver features for MLO (Íñigo Huguet) [2136123] - wifi: mac80211: use IEEE80211_MLD_MAX_NUM_LINKS (Íñigo Huguet) [2136123] - wifi: mac80211: refactor some sta_info link handling (Íñigo Huguet) [2136123] - wifi: mac80211: remove sta_info_tx_streams() (Íñigo Huguet) [2136123] - wifi: mac80211: make channel context code MLO-aware (Íñigo Huguet) [2136123] - wifi: mac80211: pass link ID where already present (Íñigo Huguet) [2136123] - wifi: mac80211: add per-link configuration pointer (Íñigo Huguet) [2136123] - wifi: mac80211: split bss_info_changed method (Íñigo Huguet) [2136123] - mac80211: fix maybe-unused warning (Íñigo Huguet) [2136123] - wifi: mac80211: reorg some iface data structs for MLD (Íñigo Huguet) [2136123] - wifi: mac80211: move interface config to new struct (Íñigo Huguet) [2136123] - wifi: mac80211: move some future per-link data to bss_conf (Íñigo Huguet) [2136123] - wifi: cfg80211: do some rework towards MLO link APIs (Íñigo Huguet) [2136123] - wifi: mac80211: reject WEP or pairwise keys with key ID > 3 (Íñigo Huguet) [2136123] - wifi: mac80211_hwsim: Directly use ida_alloc()/free() (Íñigo Huguet) [2136123] - wifi: mac80211: refactor some key code (Íñigo Huguet) [2136123] - wifi: mac80211: remove cipher scheme support (Íñigo Huguet) [2136123] - wifi: nl80211: fix typo in comment (Íñigo Huguet) [2136123] - treewide: Replace GPLv2 boilerplate/reference with SPDX - gpl-2.0_391.RULE (Íñigo Huguet) [2136123] - rtw88: 8821c: fix access const table of channel parameters (Íñigo Huguet) [2136123] - rtw89: add new state to CFO state machine for UL-OFDMA (Íñigo Huguet) [2136123] - rtw89: 8852c: add trigger frame counter (Íñigo Huguet) [2136123] - ieee80211: add trigger frame definition (Íñigo Huguet) [2136123] - ath10k: fix recently introduced checkpatch warning (Íñigo Huguet) [2136123] - wifi: rtw89: support MULTI_BSSID and correct BSSID mask of H2C (Íñigo Huguet) [2136123] - wifi: ray_cs: Drop useless status variable in parse_addr() (Íñigo Huguet) [2136123] - wifi: ray_cs: Utilize strnlen() in parse_addr() (Íñigo Huguet) [2136123] - wifi: rtw88: use *ph to print small buffer (Íñigo Huguet) [2136123] - ath11k: Fix warnings reported by checkpatch (Íñigo Huguet) [2136123] - ath11k: Fix LDPC config in set_bitrate_mask hook (Íñigo Huguet) [2136123] - wifi: mac80211: fix use-after-free in chanctx code (Íñigo Huguet) [2136123] - ath10k: fix regdomain info of iw reg set/get (Íñigo Huguet) [2136123] - ath11k: support avg signal in station dump (Íñigo Huguet) [2136123] - wifi: rtlwifi: fix error codes in rtl_debugfs_set_write_h2c() (Íñigo Huguet) [2136123] - wifi: rtw88: Fix Sparse warning for rtw8821c_hw_spec (Íñigo Huguet) [2136123] - wifi: rtw88: Fix Sparse warning for rtw8723d_hw_spec (Íñigo Huguet) [2136123] - wifi: rtw88: Fix Sparse warning for rtw8822c_hw_spec (Íñigo Huguet) [2136123] - wifi: rtw88: Fix sparse warning for rtw8822b_hw_spec (Íñigo Huguet) [2136123] - rtw88: fix null vif pointer when hw_scan fails (Íñigo Huguet) [2136123] - rtw89: sar: adjust and support SAR on 6GHz band (Íñigo Huguet) [2136123] - rtw89: 8852c: rfk: re-calibrate RX DCK once thermal changes a lot (Íñigo Huguet) [2136123] - rtw89: pci: handle hardware watchdog timeout interrupt status (Íñigo Huguet) [2136123] - rtw89: fix null vif pointer when hw_scan fails (Íñigo Huguet) [2136123] - rtw89: fix channel inconsistency during hw_scan (Íñigo Huguet) [2136123] - wifi: rtw88: add a work to correct atomic scheduling warning of ::set_tim (Íñigo Huguet) [2136123] - wifi: iwlwifi: pcie: rename CAUSE macro (Íñigo Huguet) [2136123] - wifi: brcmfmac: work around a GCC 12 -Warray-bounds warning (Íñigo Huguet) [2136123] - wifi: iwlwifi: use unsigned to silence a GCC 12 warning (Íñigo Huguet) [2136123] - wifi: rtlwifi: remove always-true condition pointed out by GCC 12 (Íñigo Huguet) [2136123] - wifi: ath9k: silence array-bounds warning on GCC 12 (Íñigo Huguet) [2136123] - ath9k: replace ternary operator with max() (Íñigo Huguet) [2136123] - ath11k: Init hw_params before setting up AHB resources (Íñigo Huguet) [2136123] - ath11k: Fix warning on variable 'sar' dereference before check (Íñigo Huguet) [2136123] - ath10k: fix misreported tx bandwidth for 160Mhz (Íñigo Huguet) [2136123] - ath10k: add encapsulation offloading support (Íñigo Huguet) [2136123] - ath10k: turn rawmode into frame_mode (Íñigo Huguet) [2136123] - ath10k: improve tx status reporting (Íñigo Huguet) [2136123] - ath10k: do not enforce interrupt trigger type (Íñigo Huguet) [2136123] - iwlwifi: mei: fix potential NULL-ptr deref (Íñigo Huguet) [2136123] - iwlwifi: mei: clear the sap data header before sending (Íñigo Huguet) [2136123] - iwlwifi: mvm: remove vif_count (Íñigo Huguet) [2136123] - iwlwifi: mvm: always tell the firmware to accept MCAST frames in BSS (Íñigo Huguet) [2136123] - iwlwifi: mvm: add OTP info in case of init failure (Íñigo Huguet) [2136123] - iwlwifi: mvm: fix assert 1F04 upon reconfig (Íñigo Huguet) [2136123] - iwlwifi: mvm: clean up authorized condition (Íñigo Huguet) [2136123] - iwlwifi: mvm: use NULL instead of ERR_PTR when parsing wowlan status (Íñigo Huguet) [2136123] - iwlwifi: pcie: simplify MSI-X cause mapping (Íñigo Huguet) [2136123] - ath11k: update missing MU-MIMO and OFDMA stats (Íñigo Huguet) [2136123] - rtw89: pci: only mask out INT indicator register for disable interrupt v1 (Íñigo Huguet) [2136123] - rtw89: convert rtw89_band to nl80211_band precisely (Íñigo Huguet) [2136123] - rtw89: 8852c: update txpwr tables to HALRF_027_00_052 (Íñigo Huguet) [2136123] - rtw89: cfo: check mac_id to avoid out-of-bounds (Íñigo Huguet) [2136123] - rtw89: 8852c: set TX antenna path (Íñigo Huguet) [2136123] - rtw89: add ieee80211::sta_rc_update ops (Íñigo Huguet) [2136123] - wireless: Fix Makefile to be in alphabetical order (Íñigo Huguet) [2136123] - mac80211: refactor freeing the next_beacon (Íñigo Huguet) [2136123] - cfg80211: fix kernel-doc for cfg80211_beacon_data (Íñigo Huguet) [2136123] - mac80211: minstrel_ht: support ieee80211_rate_status (Íñigo Huguet) [2136123] - mac80211: extend current rate control tx status API (Íñigo Huguet) [2136123] - mac80211: minstrel_ht: fill all requested rates (Íñigo Huguet) [2136123] - mac80211: disable BSS color collision detection in case of no free colors (Íñigo Huguet) [2136123] - nl80211: Parse NL80211_ATTR_HE_BSS_COLOR as a part of nl80211_parse_beacon (Íñigo Huguet) [2136123] - mac80211: mlme: track assoc_bss/associated separately (Íñigo Huguet) [2136123] - mac80211: remove useless bssid copy (Íñigo Huguet) [2136123] - mac80211: remove unused argument to ieee80211_sta_connection_lost() (Íñigo Huguet) [2136123] - mac80211: mlme: use local SSID copy (Íñigo Huguet) [2136123] - mac80211: use ifmgd->bssid instead of ifmgd->associated->bssid (Íñigo Huguet) [2136123] - mac80211: mlme: move in RSSI reporting code (Íñigo Huguet) [2136123] - mac80211: remove stray multi_sta_back_32bit docs (Íñigo Huguet) [2136123] - mac80211: fix typo in documentation (Íñigo Huguet) [2136123] - mac80211: unify CCMP/GCMP AAD construction (Íñigo Huguet) [2136123] - mt76: mt7921: add ipv6 NS offload support (Íñigo Huguet) [2136123] - mt76: add gfp to mt76_mcu_msg_alloc signature (Íñigo Huguet) [2136123] - mt76: mt7915: add more statistics from fw_util debugfs knobs (Íñigo Huguet) [2136123] - mt76: mt7915: improve error handling for fw_debug knobs (Íñigo Huguet) [2136123] - mt76: mt7615/mt7915: do reset_work with mt76's work queue (Íñigo Huguet) [2136123] - mt76: mt7915: add support for 6G in-band discovery (Íñigo Huguet) [2136123] - mt76: mt7915: add Wireless Ethernet Dispatch support (Íñigo Huguet) [2136123] - net: ethernet: mtk_eth_soc: add support for Wireless Ethernet Dispatch (WED) (Íñigo Huguet) [2136123] - mt76: make number of tokens configurable dynamically (Íñigo Huguet) [2136123] - mt76: add support for overriding the device used for DMA mapping (Íñigo Huguet) [2136123] - mt76: dma: add wrapper macro for accessing queue registers (Íñigo Huguet) [2136123] - mt76: mt7915: move MT_INT_MASK_CSR to init.c (Íñigo Huguet) [2136123] - mt76: mt7915: introduce mt7915_mac_severe_check() (Íñigo Huguet) [2136123] - mt76: mt7915: rework SER debugfs knob (Íñigo Huguet) [2136123] - mt76: mt7915: limit minimum twt duration (Íñigo Huguet) [2136123] - mt76: mt7915: reject duplicated twt flows (Íñigo Huguet) [2136123] - mt76: mt7915: update mt7986 patch in mt7986_wmac_adie_patch_7976() (Íñigo Huguet) [2136123] - mt76: connac: use skb_put_data instead of open coding (Íñigo Huguet) [2136123] - mt76: mt7915: configure soc clocks in mt7986_wmac_init (Íñigo Huguet) [2136123] - mt76: fix encap offload ethernet type check (Íñigo Huguet) [2136123] - mt76: mt7915: disable RX_HDR_TRANS_SHORT (Íñigo Huguet) [2136123] - mt76: mt7603: move spin_lock_bh() to spin_lock() (Íñigo Huguet) [2136123] - mt76: mt7915: add debugfs knob for RF registers read/write (Íñigo Huguet) [2136123] - mt76: mt7921: make read-only array ppet16_ppet8_ru3_ru0 static const (Íñigo Huguet) [2136123] - mt76: mt7915: make read-only array ppet16_ppet8_ru3_ru0 static const (Íñigo Huguet) [2136123] - mt76: mt7915: remove SCS feature (Íñigo Huguet) [2136123] - mt76: fix rx reordering with non explicit / psmp ack policy (Íñigo Huguet) [2136123] - mt76: mt7921: Add AP mode support (Íñigo Huguet) [2136123] - mt76: mt7915: use 0xff to initialize bitrate_mask in mt7915_init_bitrate_mask (Íñigo Huguet) [2136123] - mt76: mt7915: always call mt7915_wfsys_reset() during init (Íñigo Huguet) [2136123] - mt76: mt7921: rely on mt76_dev rxfilter in mt7921_configure_filter (Íñigo Huguet) [2136123] - mt76: mt7921u: add suspend/resume support (Íñigo Huguet) [2136123] - mt76: fix MBSS index condition in DBDC mode (Íñigo Huguet) [2136123] - mt76: fix use-after-free by removing a non-RCU wcid pointer (Íñigo Huguet) [2136123] - mt76: mt7921: accept rx frames with non-standard VHT MCS10-11 (Íñigo Huguet) [2136123] - mt76: mt7915: accept rx frames with non-standard VHT MCS10-11 (Íñigo Huguet) [2136123] - mt76: dma: use kzalloc instead of devm_kzalloc for txwi (Íñigo Huguet) [2136123] - mt76: reduce tx queue lock hold time (Íñigo Huguet) [2136123] - mt76: mt7915: rework hardware/phy initialization (Íñigo Huguet) [2136123] - rtlwifi: Use pr_warn instead of WARN_ONCE (Íñigo Huguet) [2136123] - rtw89: add debug entry to dump BSSID CAM (Íñigo Huguet) [2136123] - rtw89: add debug select to dump MAC pages 0x30 to 0x33 (Íñigo Huguet) [2136123] - rtw89: correct CCA control (Íñigo Huguet) [2136123] - rtw89: correct setting of RX MPDU length (Íñigo Huguet) [2136123] - rtw89: 8852c: add settings to decrease the effect of DC (Íñigo Huguet) [2136123] - brcmfmac: allow setting wlan MAC address using device tree (Íñigo Huguet) [2136123] - ath11k: remove redundant assignment to variables vht_mcs and he_mcs (Íñigo Huguet) [2136123] - ath11k: Reuse the available memory after firmware reload (Íñigo Huguet) [2136123] - ath11k: Designating channel frequency when sending management frames (Íñigo Huguet) [2136123] - ath11k: Implement remain-on-channel support (Íñigo Huguet) [2136123] - ath11k: Handle keepalive during WoWLAN suspend and resume (Íñigo Huguet) [2136123] - bus: mhi: host: Add support for Foxconn T99W373 and T99W368 (Íñigo Huguet) [2136123] - bus: mhi: host: pci_generic: add Telit FN990 (Íñigo Huguet) [2136123] - bus: mhi: host: pci_generic: add Telit FN980 v1 hardware revision (Íñigo Huguet) [2136123] - bus: mhi: replace snprintf with sysfs_emit (Íñigo Huguet) [2136123] - rtw88: adjust adaptivity option to 1 (Íñigo Huguet) [2136123] - ath11k: Fix RX de-fragmentation issue on WCN6750 (Íñigo Huguet) [2136123] - ath10k: support bus and device specific API 1 BDF selection (Íñigo Huguet) [2136123] - ath10k: mac: fix too long lines (Íñigo Huguet) [2136123] - ath11k: mac: fix too long line (Íñigo Huguet) [2136123] - mac80211: support disabling EHT mode (Íñigo Huguet) [2136123] - cfg80211: support disabling EHT mode (Íñigo Huguet) [2136123] - mac80211: upgrade passive scan to active scan on DFS channels after beacon rx (Íñigo Huguet) [2136123] - mac80211: tx: delete a redundant if statement in ieee80211_check_fast_xmit() (Íñigo Huguet) [2136123] - mac80211: consider Order bit to fill CCMP AAD (Íñigo Huguet) [2136123] - cfg80211: declare MODULE_FIRMWARE for regulatory.db (Íñigo Huguet) [2136123] - nl80211: rework internal_flags usage (Íñigo Huguet) [2136123] - nl80211: don't hold RTNL in color change request (Íñigo Huguet) [2136123] - cfg80211: remove cfg80211_get_chan_state() (Íñigo Huguet) [2136123] - ath11k: Add support for targets without trustzone (Íñigo Huguet) [2136123] - rtw89: 8852c: add 8852ce to Makefile and Kconfig (Íñigo Huguet) [2136123] - rtw89: 8852c: fix warning of FIELD_PREP() mask type (Íñigo Huguet) [2136123] - rtw89: 8852c: correct register definitions used by 8852c (Íñigo Huguet) [2136123] - rtw89: correct AID settings of beamformee (Íñigo Huguet) [2136123] - rtw89: ps: fine tune polling interval while changing low power mode (Íñigo Huguet) [2136123] - rtw89: 8852c: add basic and remaining chip_info (Íñigo Huguet) [2136123] - rtw89: 8852c: add chip_ops::bb_ctrl_btc_preagc (Íñigo Huguet) [2136123] - rtw89: 8852c: rfk: get calibrated channels to notify firmware (Íñigo Huguet) [2136123] - rtw89: 8852c: rfk: add DPK (Íñigo Huguet) [2136123] - rtw89: 8852c: rfk: add IQK (Íñigo Huguet) [2136123] - rtw89: 8852c: rfk: add RX DCK (Íñigo Huguet) [2136123] - rtw89: 8852c: rfk: add RCK (Íñigo Huguet) [2136123] - rtw89: 8852c: rfk: add TSSI (Íñigo Huguet) [2136123] - rtw89: 8852c: rfk: add LCK (Íñigo Huguet) [2136123] - rtw89: 8852c: rfk: add DACK (Íñigo Huguet) [2136123] - rtw89: 8852c: rfk: add RFK tables (Íñigo Huguet) [2136123] - rtw88: remove a copy of the NAPI_POLL_WEIGHT define (Íñigo Huguet) [2136123] - ath10k: remove a copy of the NAPI_POLL_WEIGHT define (Íñigo Huguet) [2136123] - ath11k: Add support for WCN6750 device (Íñigo Huguet) [2136123] - ath11k: Datapath changes to support WCN6750 (Íñigo Huguet) [2136123] - ath11k: HAL changes to support WCN6750 (Íñigo Huguet) [2136123] - ath11k: Add QMI changes for WCN6750 (Íñigo Huguet) [2136123] - ath11k: Fetch device information via QMI for WCN6750 (Íñigo Huguet) [2136123] - ath11k: Add register access logic for WCN6750 (Íñigo Huguet) [2136123] - ath11k: Add HW params for WCN6750 (Íñigo Huguet) [2136123] - ath11k: Move parameters in bus_params to hw_params (Íñigo Huguet) [2136123] - ath11k: change management tx queue to avoid connection timed out (Íñigo Huguet) [2136123] - ath11k: fix warning of not found station for bssid in message (Íñigo Huguet) [2136123] - rtw88: fix hw scan may cause disconnect issue (Íñigo Huguet) [2136123] - rtw88: fix not disabling beacon filter after disconnection (Íñigo Huguet) [2136123] - rtw88: add HT MPDU density value for each chip (Íñigo Huguet) [2136123] - ath11k: Don't use GFP_KERNEL in atomic context (Íñigo Huguet) [2136123] - ath10k: skip ath10k_halt during suspend for driver state RESTARTING (Íñigo Huguet) [2136123] - rtw89: remove unneeded semicolon (Íñigo Huguet) [2136123] - ath10k: simplify if-if to if-else (Íñigo Huguet) [2136123] - ath11k: read country code from SMBIOS for WCN6855/QCA6390 (Íñigo Huguet) [2136123] - ath11k: disable spectral scan during spectral deinit (Íñigo Huguet) [2136123] - ath11k: Update WBM idle ring HP after FW mode on (Íñigo Huguet) [2136123] - ath11k: WMI changes to support WCN6750 (Íñigo Huguet) [2136123] - ath11k: Do not put HW in DBS mode for WCN6750 (Íñigo Huguet) [2136123] - rtlwifi: btcoex: fix if == else warning (Íñigo Huguet) [2136123] - rtw88: use the correct bit in the REG_HCI_OPT_CTRL register (Íñigo Huguet) [2136123] - mwifiex: Add SD8997 SDIO-UART firmware (Íñigo Huguet) [2136123] - mwifiex: Select firmware based on strapping (Íñigo Huguet) [2136123] - rtw89: 8852c: add chip_ops related to BTC (Íñigo Huguet) [2136123] - rtw89: 8852c: fill freq and band of RX status by PPDU report (Íñigo Huguet) [2136123] - rtw89: 8852c: implement chip_ops::get_thermal (Íñigo Huguet) [2136123] - rtw89: 8852c: implement chip_ops related to TX power (Íñigo Huguet) [2136123] - rtw89: 8852c: configure default BB TX/RX path (Íñigo Huguet) [2136123] - rtw89: add RF H2C to notify firmware (Íñigo Huguet) [2136123] - rtw89: don't flush hci queues and send h2c if power is off (Íñigo Huguet) [2136123] - rtw89: pci: allow to process RPP prior to TX BD (Íñigo Huguet) [2136123] - rtw89: ps: access TX/RX rings via another registers in low power mode (Íñigo Huguet) [2136123] - rtw89: ser: re-enable interrupt in threadfn if under_recovery (Íñigo Huguet) [2136123] - rtw89: pci: add a separate interrupt handler for low power mode (Íñigo Huguet) [2136123] - rtw89: pci: reclaim TX BD only if it really need (Íñigo Huguet) [2136123] - rtw89: pci: add variant RPWM/CPWM to enter low power mode (Íñigo Huguet) [2136123] - rtw89: pci: add variant IMR/ISR and configure functions (Íñigo Huguet) [2136123] - bus: mhi: host: Add support for Cinterion MV32-WA/MV32-WB (Íñigo Huguet) [2136123] - bus: mhi: host: Optimize and update MMIO register write method (Íñigo Huguet) [2136123] - bus: mhi: host: Bail on writing register fields if read fails (Íñigo Huguet) [2136123] - bus: mhi: host: Wait for ready state after reset (Íñigo Huguet) [2136123] - bus: mhi: host: Add soc_reset sysfs (Íñigo Huguet) [2136123] - bus: mhi: host: pci_generic: Sort mhi_pci_id_table based on the PID (Íñigo Huguet) [2136123] - bus: mhi: host: Use cached values for calculating the shared write pointer (Íñigo Huguet) [2136123] - rtw88: pci: 8821c: Disable 21ce completion timeout (Íñigo Huguet) [2136123] - rtw88: fix uninitialized 'tim_offset' warning (Íñigo Huguet) [2136123] - rtw89: 8852c: add help function of set channel (Íñigo Huguet) [2136123] - rtw89: 8852c: add set channel of BB part (Íñigo Huguet) [2136123] - rtw89: 8852c: set channel of MAC part (Íñigo Huguet) [2136123] - rtw89: 8852c: add set channel function of RF part (Íñigo Huguet) [2136123] - rtw89: 8852c: add HFC parameters (Íñigo Huguet) [2136123] - rtw89: 8852c: add efuse gain offset parser (Íñigo Huguet) [2136123] - rtw89: 8852c: support bb gain info (Íñigo Huguet) [2136123] - rtw89: 8852c: add BB initial and reset functions (Íñigo Huguet) [2136123] - rtw89: 8852c: phy: configure TSSI bandedge (Íñigo Huguet) [2136123] - rtw89: 8852c: add TX power track tables (Íñigo Huguet) [2136123] - rtw89: 8852c: add TX power by rate and limit tables (Íñigo Huguet) [2136123] - rtw89: 8852c: add BB and RF parameters tables (Íñigo Huguet) [2136123] - ath9k: fix QCA9561 PA bias level (Íñigo Huguet) [2136123] - ath9k_htc: fix potential out of bounds access with invalid rxstatus->rs_keyix (Íñigo Huguet) [2136123] - ath11k: Fix build warning without CONFIG_IPV6 (Íñigo Huguet) [2136123] - ath11k: fix missing unlock on error in ath11k_wow_op_resume() (Íñigo Huguet) [2136123] - ath11k: Add support for SAR (Íñigo Huguet) [2136123] - ath11k: add support for extended wmi service bit (Íñigo Huguet) [2136123] - rtw89: pci: correct return value handling of rtw89_write16_mdio_mask() (Íñigo Huguet) [2136123] - rtw89: configure security CAM for V1 chip (Íñigo Huguet) [2136123] - rtw89: add new H2C to configure security CAM via DCTL for V1 chip (Íñigo Huguet) [2136123] - rtw89: extend H2C of CMAC control info (Íñigo Huguet) [2136123] - rtlwifi: rtl8192cu: Fix spelling mistake "writting" -> "writing" (Íñigo Huguet) [2136123] - rtlwifi: Fix spelling mistake "cacluated" -> "calculated" (Íñigo Huguet) [2136123] - rtw88: 8821ce: Disable PCIe ASPM L1 for 8821CE using chip ID (Íñigo Huguet) [2136123] - rtw88: 8821ce: add support for device ID 0xb821 (Íñigo Huguet) [2136123] - rtw88: 8821c: fix debugfs rssi value (Íñigo Huguet) [2136123] - rtw88: do PHY calibration while starting AP (Íñigo Huguet) [2136123] - rtw88: 8821c: Enable TX report for management frames (Íñigo Huguet) [2136123] - rtw88: Add update beacon flow for AP mode (Íñigo Huguet) [2136123] - rtw88: fix incorrect frequency reported (Íñigo Huguet) [2136123] - rtw88: add ieee80211:sta_rc_update ops (Íñigo Huguet) [2136123] - rtw89: rtw89_ser: add const to struct state_ent and event_ent (Íñigo Huguet) [2136123] - rtw89: 8852c: add 8852c specific BT-coexistence initial function (Íñigo Huguet) [2136123] - rtw89: Skip useless dig gain and igi related settings for 8852C (Íñigo Huguet) [2136123] - rtw89: 8852c: disable firmware watchdog if CPU disabled (Íñigo Huguet) [2136123] - rtw89: reset BA CAM (Íñigo Huguet) [2136123] - rtw89: change station scheduler setting for hardware TX mode (Íñigo Huguet) [2136123] - rtw89: ser: configure top ERR IMR for firmware to recover (Íñigo Huguet) [2136123] - rtw89: ser: configure C-MAC interrupt mask (Íñigo Huguet) [2136123] - rtw89: ser: configure D-MAC interrupt mask (Íñigo Huguet) [2136123] - rtw89: ser: fix unannotated fall-through (Íñigo Huguet) [2136123] - ath9k: Remove unnecessary print function dev_err() (Íñigo Huguet) [2136123] - ath11k: Fix spelling mistake "reseting" -> "resetting" (Íñigo Huguet) [2136123] - ath9k: fix ath_get_rate_txpower() to respect the rate list end tag (Íñigo Huguet) [2136123] - mac80211: prepare sta handling for MLO support (Íñigo Huguet) [2136123] - mac80211: minstrel_ht: fix where rate stats are stored (fixes debugfs output) (Íñigo Huguet) [2136123] - nl80211: show SSID for P2P_GO interfaces (Íñigo Huguet) [2136123] - mac80211: introduce BSS color collision detection (Íñigo Huguet) [2136123] - mac80211: Improve confusing comment around tx_info clearing (Íñigo Huguet) [2136123] - mac80211: protect ieee80211_assign_beacon with next_beacon check (Íñigo Huguet) [2136123] - rtl8xxxu: fill up txrate info for gen1 chips (Íñigo Huguet) [2136123] - rtl8xxxu: feed antenna information for cfg80211 (Íñigo Huguet) [2136123] - rtlwifi: replace usage of found with dedicated list iterator variable (Íñigo Huguet) [2136123] - brcmfmac: Avoid keeping power to SDIO card unless WOWL is used (Íñigo Huguet) [2136123] - mwifiex: add mutex lock for call in mwifiex_dfs_chan_sw_work_queue (Íñigo Huguet) [2136123] - rtw89: fix misconfiguration on hw_scan channel time (Íñigo Huguet) [2136123] - rtw89: coex: Add case for scan offload (Íñigo Huguet) [2136123] - rtw89: packet offload handler to avoid warning (Íñigo Huguet) [2136123] - rtw89: change idle mode condition during hw_scan (Íñigo Huguet) [2136123] - rtw89: update ptcl_init (Íñigo Huguet) [2136123] - rtw89: update TMAC parameters (Íñigo Huguet) [2136123] - rtw89: initialize NAV control (Íñigo Huguet) [2136123] - rtw89: update scheduler setting (Íñigo Huguet) [2136123] - rtw89: 8852c: update security engine setting (Íñigo Huguet) [2136123] - rtw89: Turn on CR protection of CMAC (Íñigo Huguet) [2136123] - rtw89: add chip_ops::{enable,disable}_bb_rf to support v1 chip (Íñigo Huguet) [2136123] - rtw89: update STA scheduler parameters for v1 chip (Íñigo Huguet) [2136123] - rtw89: extend dmac_pre_init to support 8852C (Íñigo Huguet) [2136123] - rtw89: pci: add L1 settings (Íñigo Huguet) [2136123] - rtw89: pci: add deglitch setting (Íñigo Huguet) [2136123] - rtw89: pci: set address info registers depends on chips (Íñigo Huguet) [2136123] - rtw89: pci: add LTR setting for v1 chip (Íñigo Huguet) [2136123] - rtw89: pci: refine pci pre_init function (Íñigo Huguet) [2136123] - rtw89: pci: add pci attributes to configure operating mode (Íñigo Huguet) [2136123] - rtw89: pci: add register definition to rtw89_pci_info to generalize pci code (Íñigo Huguet) [2136123] - ath11k: mhi: remove unnecessary goto from ath11k_mhi_start() (Íñigo Huguet) [2136123] - ath11k: mhi: add error handling for suspend and resume (Íñigo Huguet) [2136123] - ath11k: mhi: remove state machine (Íñigo Huguet) [2136123] - rtw89: handle potential uninitialized variable (Íñigo Huguet) [2136123] - rtw89: read RX bandwidth from v1 type RX descriptor (Íñigo Huguet) [2136123] - rtw89: support hardware generate security header (Íñigo Huguet) [2136123] - rtw89: support variant of fill_txdesc (Íñigo Huguet) [2136123] - rtw89: pci: support variant of fill_txaddr_info (Íñigo Huguet) [2136123] - rtw89: add chip_info::h2c_desc_size/fill_txdesc_fwcmd to support new chips (Íñigo Huguet) [2136123] - rtw89: disabled IGI configuration for unsupported hardware (Íñigo Huguet) [2136123] - rtw89: packed IGI configuration flow into function for DIG feature (Íñigo Huguet) [2136123] - rtw89: regd: update mapping table to R59-R32 (Íñigo Huguet) [2136123] - rtw89: regd: consider 6G band (Íñigo Huguet) [2136123] - rtw89: 8852a: update txpwr tables to HALRF_027_00_038 (Íñigo Huguet) [2136123] - rtw89: add UK to regulation type (Íñigo Huguet) [2136123] - rtw89: reduce export symbol number of mac size and quota (Íñigo Huguet) [2136123] - rtw89: support FW crash simulation (Íñigo Huguet) [2136123] - rtw89: reconstruct fw feature (Íñigo Huguet) [2136123] - rtw89: ser: dump fw backtrace while L2 reset (Íñigo Huguet) [2136123] - rtw89: ser: dump memory for fw payload engine while L2 reset (Íñigo Huguet) [2136123] - rtw89: ser: control hci interrupts on/off by state (Íñigo Huguet) [2136123] - rtw89: mac: correct decision on error status by scenario (Íñigo Huguet) [2136123] - rtw89: mac: move table of mem base addr to common (Íñigo Huguet) [2136123] - rtw89: ser: fix CAM leaks occurring in L2 reset (Íñigo Huguet) [2136123] - rtw88: change idle mode condition during hw_scan (Íñigo Huguet) [2136123] - iwlwifi: mei: Replace zero-length array with flexible-array member (Íñigo Huguet) [2136123] - iwlwifi: fw: Replace zero-length arrays with flexible-array members (Íñigo Huguet) [2136123] - ath11k: fix driver initialization failure with WoW unsupported hw (Íñigo Huguet) [2136123] - ath11k: Remove unnecessary delay in ath11k_core_suspend (Íñigo Huguet) [2136123] - ath11k: Change max no of active probe SSID and BSSID to fw capability (Íñigo Huguet) [2136123] - ath11k: Remove core PCI references from PCI common code (Íñigo Huguet) [2136123] - ath11k: Refactor MSI logic to support WCN6750 (Íñigo Huguet) [2136123] - ath11k: Choose MSI config based on HW revision (Íñigo Huguet) [2136123] - ath11k: Refactor PCI code to support WCN6750 (Íñigo Huguet) [2136123] - ath11k: PCI changes to support WCN6750 (Íñigo Huguet) [2136123] - bus: mhi: ep: Add uevent support for module autoloading (Íñigo Huguet) [2136123] - bus: mhi: ep: Add support for suspending and resuming channels (Íñigo Huguet) [2136123] - bus: mhi: ep: Add support for queueing SKBs to the host (Íñigo Huguet) [2136123] - bus: mhi: ep: Add support for processing channel rings (Íñigo Huguet) [2136123] - bus: mhi: ep: Add support for reading from the host (Íñigo Huguet) [2136123] - bus: mhi: ep: Add support for processing command rings (Íñigo Huguet) [2136123] - bus: mhi: ep: Add support for handling SYS_ERR condition (Íñigo Huguet) [2136123] - bus: mhi: ep: Add support for handling MHI_RESET (Íñigo Huguet) [2136123] - bus: mhi: ep: Add support for powering down the MHI endpoint stack (Íñigo Huguet) [2136123] - bus: mhi: ep: Add support for powering up the MHI endpoint stack (Íñigo Huguet) [2136123] - bus: mhi: ep: Add support for processing MHI endpoint interrupts (Íñigo Huguet) [2136123] - bus: mhi: ep: Add support for managing MHI state machine (Íñigo Huguet) [2136123] - bus: mhi: ep: Add support for sending events to the host (Íñigo Huguet) [2136123] - bus: mhi: ep: Add support for ring management (Íñigo Huguet) [2136123] - bus: mhi: ep: Add support for managing MMIO registers (Íñigo Huguet) [2136123] - bus: mhi: ep: Add support for creating and destroying MHI EP devices (Íñigo Huguet) [2136123] - bus: mhi: ep: Add support for registering MHI endpoint client drivers (Íñigo Huguet) [2136123] - bus: mhi: ep: Add support for registering MHI endpoint controllers (Íñigo Huguet) [2136123] - ath9k: make is2ghz consistent in ar9003_eeprom (Íñigo Huguet) [2136123] - ath10k: add support for MSDU IDs for USB devices (Íñigo Huguet) [2136123] - ath11k: add support to search regdb data in board-2.bin for WCN6855 (Íñigo Huguet) [2136123] - ath11k: store and send country code to firmware after recovery (Íñigo Huguet) [2136123] - ath9k: add functions to get paprd rate mask (Íñigo Huguet) [2136123] - ath9k: refactor ar9003_hw_spur_mitigate_ofdm (Íñigo Huguet) [2136123] - ath9k: fix ar9003_get_eepmisc (Íñigo Huguet) [2136123] - ath9k: use AR9300_MAX_CHAINS when appropriate (Íñigo Huguet) [2136123] - ath9k: split set11nRateFlags and set11nChainSel (Íñigo Huguet) [2136123] - ath9k: make ATH_SREV macros more consistent (Íñigo Huguet) [2136123] - ath11k: Add peer rhash table support (Íñigo Huguet) [2136123] - ath11k: add read variant from SMBIOS for download board data (Íñigo Huguet) [2136123] - ath11k: add fallback board name without variant while searching board-2.bin (Íñigo Huguet) [2136123] - ath11k: enable PLATFORM_CAP_PCIE_GLOBAL_RESET QMI host capability (Íñigo Huguet) [2136123] - ath11k: Add hw-restart option to simulate_fw_crash (Íñigo Huguet) [2136123] - ath11k: add synchronization operation between reconfigure of mac80211 and ath11k_base (Íñigo Huguet) [2136123] - ath11k: add support for device recovery for QCA6390/WCN6855 (Íñigo Huguet) [2136123] - ath11k: disable regdb support for QCA6390 (Íñigo Huguet) [2136123] - ath11k: remove unused ATH11K_BD_IE_BOARD_EXT (Íñigo Huguet) [2136123] - ath11k: change fw build id format in driver init log (Íñigo Huguet) [2136123] - ath11k: Refactor the peer delete (Íñigo Huguet) [2136123] - ath10k: Use of_device_get_match_data() helper (Íñigo Huguet) [2136123] - ath10k: Trigger sta disconnect on hardware restart (Íñigo Huguet) [2136123] - ath9k: Use platform_get_irq() to get the interrupt (Íñigo Huguet) [2136123] - ath11k: support GTK rekey offload (Íñigo Huguet) [2136123] - ath11k: support ARP and NS offload (Íñigo Huguet) [2136123] - ath11k: purge rx pktlog when entering WoW (Íñigo Huguet) [2136123] - ath11k: implement hardware data filter (Íñigo Huguet) [2136123] - ath11k: Add WoW net-detect functionality (Íñigo Huguet) [2136123] - ath11k: Add basic WoW functionalities (Íñigo Huguet) [2136123] - x86/cpu: Add several Intel server CPU model numbers (Prarit Bhargava) [2158037] - ice: Implement devlink port split operations (Petr Oros) [2009705] - ice: Add additional flags to ice_nvm_write_activate (Petr Oros) [2009705] - ice: Add port option admin queue commands (Petr Oros) [2009705] - hwmon: (coretemp) Check for null before removing sysfs attrs (Phil Auld) [2152429] - KVM: x86/mmu: fix NULL pointer dereference on guest INVPCID (Jon Maloy) [2099301] {CVE-2022-1789} - redhat/configs: enable HP_WATCHDOG for aarch64 (Mark Salter) [2113079] - watchdog/hpwdt: Enable HP_WATCHDOG for ARM64 systems. (Mark Salter) [2113079] - watchdog: Improve Kconfig entry ordering and dependencies (Mark Salter) [2113079] - watchdog/hpwdt: Include nmi.h only if CONFIG_HPWDT_NMI_DECODING (Mark Salter) [2113079] - uprobes/x86: Allow to probe a NOP instruction with 0x66 prefix (Oleg Nesterov) [2133797] - platform/mellanox: Remove redundant 'NULL' check (Mark Langsdorf) [2122314] - platform/mellanox: Remove unnecessary code (Mark Langsdorf) [2122314] - platform/mellanox: mlxreg-lc: Fix locking issue (Mark Langsdorf) [2122314] - platform/mellanox: mlxreg-lc: Fix coverity warning (Mark Langsdorf) [2122314] - platform/mellanox: mlxreg-lc: Fix error flow and extend verbosity (Mark Langsdorf) [2122314] - platform/mellanox: mlxreg-io: Add locking for io operations (Mark Langsdorf) [2122314] - platform/mellanox: nvsw-sn2201: fix error code in nvsw_sn2201_create_static_devices() (Mark Langsdorf) [2122314] - platform/mellanox: Add static in struct declaration. (Mark Langsdorf) [2122314] - platform/mellanox: Spelling s/platfom/platform/ (Mark Langsdorf) [2122314] - redhat/configs: Enable Mellanox SN2201 management device (Mark Langsdorf) [2122314] - platform/mellanox: Add support for new SN2201 system (Mark Langsdorf) [2122314] - platform_data/mlxreg: Add field for notification callback (Mark Langsdorf) [2122314] - Bluetooth: btintel: Fix WBS setting for Intel legacy ROM products (Gopal Tiwari) [2129295] - Bluetooth: btintel: Fix broken LED quirk for legacy ROM devices (Gopal Tiwari) [2129295] - Bluetooth: Add support hdev to allocate private data (Gopal Tiwari) [2129295] - Bluetooth: btintel: Fix the legacy bootloader returns tlv based version (Gopal Tiwari) [2129295] - Bluetooth: btintel: Clean the exported function to static (Gopal Tiwari) [2129295] - Bluetooth: btintel: Move hci quirks to setup routine (Gopal Tiwari) [2129295] - Bluetooth: btintel: Refactoring setup routine for bootloader devices (Gopal Tiwari) [2129295] - Bluetooth: btintel: Add combined set_diag functions (Gopal Tiwari) [2129295] - Bluetooth: btintel: Fix the LED is not turning off immediately (Gopal Tiwari) [2129295] - Bluetooth: btintel: Fix the first HCI command not work with ROM device (Gopal Tiwari) [2129295] - Bluetooth: btintel: Add btintel data struct (Gopal Tiwari) [2129295] - Bluetooth: btintel: Refactoring setup routine for legacy ROM sku (Gopal Tiwari) [2129295] - Bluetooth: btintel: Add combined setup and shutdown functions (Gopal Tiwari) [2129295] - EDAC/mc_sysfs: Increase legacy channel support to 12 (Aristeu Rozanski) [2139861] - NFS: Trigger the "ls -l" readdir heuristic sooner (Benjamin Coddington) [2025991] - NFS: Cache all entries in the readdirplus reply (Benjamin Coddington) [2025991] - NFS: Optimise away the previous cookie field (Benjamin Coddington) [2025991] - NFS: Fix up forced readdirplus (Benjamin Coddington) [2025991] - NFS: Convert readdir page cache to use a cookie based index (Benjamin Coddington) [2025991] - NFS: Clean up page array initialisation/free (Benjamin Coddington) [2025991] - NFS: Trace effects of the readdirplus heuristic (Benjamin Coddington) [2025991] - NFS: Trace effects of readdirplus on the dcache (Benjamin Coddington) [2025991] - NFS: Add basic readdir tracing (Benjamin Coddington) [2025991] - NFS: Don't request readdirplus when revalidation was forced (Benjamin Coddington) [2025991] - NFSv4: Ask for a full XDR buffer of readdir goodness (Benjamin Coddington) [2025991] - NFS: Don't ask for readdirplus unless it can help nfs_getattr() (Benjamin Coddington) [2025991] - NFS: Improve heuristic for readdirplus (Benjamin Coddington) [2025991] - NFS: Reduce use of uncached readdir (Benjamin Coddington) [2025991] - NFS: Simplify nfs_readdir_xdr_to_array() (Benjamin Coddington) [2025991] - NFS: If the cookie verifier changes, we must invalidate the page cache (Benjamin Coddington) [2025991] - NFS: Adjust the amount of readahead performed by NFS readdir (Benjamin Coddington) [2025991] - NFS: Don't advance the page pointer unless the page is full (Benjamin Coddington) [2025991] - NFS: Don't re-read the entire page cache to find the next cookie (Benjamin Coddington) [2025991] - NFS: Store the change attribute in the directory page cache (Benjamin Coddington) [2025991] - NFS: Calculate page offsets algorithmically (Benjamin Coddington) [2025991] - NFS: Use kzalloc() to avoid initialising the nfs_open_dir_context (Benjamin Coddington) [2025991] - NFS: Initialise the readdir verifier as best we can in nfs_opendir() (Benjamin Coddington) [2025991] - NFS: Trace lookup revalidation failure (Benjamin Coddington) [2025991] - NFS: constify nfs_server_capable() and nfs_have_writebacks() (Benjamin Coddington) [2025991] - NFS: Return valid errors from nfs2/3_decode_dirent() (Benjamin Coddington) [2025991] - NFS: Avoid duplicate uncached readdir calls on eof (Benjamin Coddington) [2025991] - NFS: Don't skip directory entries when doing uncached readdir (Benjamin Coddington) [2025991] - NFS: Don't overfill uncached readdir pages (Benjamin Coddington) [2025991] - block: unhash blkdev part inode when the part is deleted (Ming Lei) [2148497]- x86/fpu: Drop fpregs lock before inheriting FPU permissions (Eder Zulian) [2153549] - cpufreq: amd-pstate: Add resume and suspend callbacks (Mark Langsdorf) [2122310] - cpufreq: CPPC: Enable dvfs_possible_from_any_cpu (Mark Langsdorf) [2122310] - cpufreq: check only freq_table in __resolve_freq() (Mark Langsdorf) [2122310] - cpufreq: ondemand: Use cpumask_var_t for on-stack cpu mask (Mark Langsdorf) [2122310] - cpufreq: Change order of online() CB and policy->cpus modification (Mark Langsdorf) [2122310] - cpufreq: Warn users while freeing active policy (Mark Langsdorf) [2122310] - cpufreq: Drop unnecessary cpus locking from store() (Mark Langsdorf) [2122310] - cpufreq: Optimize cpufreq_show_cpus() (Mark Langsdorf) [2122310] - cpufreq: make interface functions and lock holding state clear (Mark Langsdorf) [2122310] - cpufreq: Abort show()/store() for half-initialized policies (Mark Langsdorf) [2122310] - cpufreq: Rearrange locking in cpufreq_remove_dev() (Mark Langsdorf) [2122310] - cpufreq: Split cpufreq_offline() (Mark Langsdorf) [2122310] - cpufreq: Reorganize checks in cpufreq_offline() (Mark Langsdorf) [2122310] - cpufreq: Clear real_cpus mask from remove_cpu_dev_symlink() (Mark Langsdorf) [2122310] - cpufreq: Prepare cleanup of powerpc's asm/prom.h (Mark Langsdorf) [2122310] - cpufreq: governor: Use kobject release() method to free dbs_data (Mark Langsdorf) [2122310] - ipv6: fix panic when fib_lookup_arg->result is fib6_info (Jiri Benc) [2140599] - tipc: re-fetch skb cb after tipc_msg_validate (Xin Long) [2142732] - Documentation: bonding: correct xmit hash steps (Jonathan Toppins) [2150390] - Documentation: bonding: update miimon default to 100 (Jonathan Toppins) [2150390] - selftests: bonding: up/down delay w/ slave link flapping (Jonathan Toppins) [2150390] - bonding (gcc13): synchronize bond_{a,t}lb_xmit() types (Jonathan Toppins) [2150390] - selftests: net: Fix cross-tree inclusion of scripts (Jonathan Toppins) [2150390] - treewide: use get_random_u32() when possible (Jonathan Toppins) [2150390] - selftests/bonding: re-add lladdr target test (Jonathan Toppins) [2150390] - selftests: bonding: cause oops in bond_rr_gen_slave_id (Jonathan Toppins) [2150390] - selftests/bonding: add a test for bonding lladdr target (Jonathan Toppins) [2150390] - net: Add tests for bonding and team address list management (Jonathan Toppins) [2150390] - net: bonding: Unsync device addresses on ndo_stop (Jonathan Toppins) [2150390] - net: bonding: Share lacpdu_mcast_addr definition (Jonathan Toppins) [2150390] - Documentation: bonding: clarify supported modes for tlb_dynamic_lb (Jonathan Toppins) [2150390] - selftests: include bonding tests into the kselftest infra (Jonathan Toppins) [2150390] - bonding: fix reference count leak in balance-alb mode (Jonathan Toppins) [2150390] - net:bonding:support balance-alb interface with vlan to bridge (Jonathan Toppins) [2150390] - bonding: cleanup bond_create (Jonathan Toppins) [2150390] - bonding: netlink error message support for options (Jonathan Toppins) [2150390] - bonding: Update layer2 and layer2+3 hash formula documentation (Jonathan Toppins) [2150390] - net: bonding: Add support for IPV6 ns/na to balance-alb/balance-tlb mode (Jonathan Toppins) [2150390] - net: remove bond_slave_has_mac_rcu() (Jonathan Toppins) [2150390] - net: bonding: debug: avoid printing debug logs when bond is not notifying peers (Jonathan Toppins) [2150390] - net: bonding: constify and use dev_addr_set() (Jonathan Toppins) [2150390] - net: use dev_addr_set() (Jonathan Toppins) [2150390] - bonding: remove extraneous definitions from bonding.h (Jonathan Toppins) [2150390] - net: bonding: bond_alb: Fix some typos in bond_alb.c (Jonathan Toppins) [2150390] - net: bonding: use tabs instead of space for code indent (Jonathan Toppins) [2150390] - net: bonding: remove unnecessary braces (Jonathan Toppins) [2150390] - net: bonding: fix code indent for conditional statements (Jonathan Toppins) [2150390] - net: bonding: add some required blank lines (Jonathan Toppins) [2150390] - docs: networking: bonding.rst Fix a typo in bonding.rst (Jonathan Toppins) [2150390] - docs: networking: bonding.rst resources section cleanup (Jonathan Toppins) [2150390] - bonding: Replace zero-length array with flexible-array member (Jonathan Toppins) [2150390] - include/net/bond_3ad: Simplify the code by using the ARRAY_SIZE (Jonathan Toppins) [2150390] - vmxnet3: use correct intrConf reference when using extended queues (Izabela Bakollari) [2150917] - vmxnet3: correctly report encapsulated LRO packet (Izabela Bakollari) [2150917] - net: move from strlcpy with unused retval to strscpy (Izabela Bakollari) [2150917] - vmxnet3: Implement ethtool's get_channels command (Izabela Bakollari) [2150917] - vmxnet3: Record queue number to incoming packets (Izabela Bakollari) [2150917] - [rt] Revert "mm/memcg: disable threshold event handlers on PREEMPT_RT" (Chris White) [2152035] - s390/pci: allow zPCI zbus without a function zero (Tobias Huschle) [2043829] - PCI: Extend isolated function probing to s390 (Tobias Huschle) [2043829] - PCI: Move jailhouse's isolated function handling to pci_scan_slot() (Tobias Huschle) [2043829] - PCI: Split out next_ari_fn() from next_fn() (Tobias Huschle) [2043829] - PCI: Clean up pci_scan_slot() (Tobias Huschle) [2043829] - KVM: selftests: Build the memslot tests for arm64 (Gavin Shan) [2134650] - KVM: selftests: memslot_perf_test: Report optimal memory slots (Gavin Shan) [2134650] - KVM: selftests: memslot_perf_test: Consolidate memory (Gavin Shan) [2134650] - KVM: selftests: memslot_perf_test: Support variable guest page size (Gavin Shan) [2134650] - KVM: selftests: memslot_perf_test: Probe memory slots for once (Gavin Shan) [2134650] - KVM: selftests: memslot_perf_test: Consolidate loop conditions in prepare_vm() (Gavin Shan) [2134650] - KVM: selftests: memslot_perf_test: Use data->nslots in prepare_vm() (Gavin Shan) [2134650] - KVM: selftests: Make memslot_perf_test arch independent (Gavin Shan) [2134650] - selftests: netfilter: Fix and review rpath.sh (Phil Sutter) [1961152] - netfilter: Use l3mdev flow key when re-routing mangled packets (Phil Sutter) [1961152] - netfilter: Update ip6_route_me_harder to consider L3 domain (Phil Sutter) [1961152] - netfilter: Dissect flow after packet mangling (Phil Sutter) [1961152] - netfilter: rpfilter/fib: Populate flowic_l3mdev field (Phil Sutter) [1961152] - selftests: netfilter: Test reverse path filtering (Phil Sutter) [1961152] - netfilter: nft_fib: Fix for rpath check with VRF devices (Phil Sutter) [1961152] - net: seg6: fix seg6_lookup_any_nexthop() to handle VRFs using flowi_l3mdev (Phil Sutter) [1961152] - net: Handle l3mdev in ip_tunnel_init_flow (Phil Sutter) [1961152] - xfrm: Pass flowi_oif or l3mdev as oif to xfrm_dst_lookup (Phil Sutter) [1961152] - net: Add l3mdev index to flow struct and avoid oif reset for port devices (Phil Sutter) [1961152] - l3mdev: l3mdev_master_upper_ifindex_by_index_rcu should be using netdev_master_upper_dev_get_rcu (Phil Sutter) [1961152] - l3mdev: add function to retreive upper master (Phil Sutter) [1961152] - sfc: move deprecation message to sfc_siena (Íñigo Huguet) [2112205 2136107] - sfc/siena: add entries for new CONFIG_SFC_SIENA* configs (Íñigo Huguet) [2112205 2136107] - sfc: Fix an error handling path in efx_pci_probe() (Íñigo Huguet) [2112205] - sfc: support PTP over Ethernet (Íñigo Huguet) [2112205 2065017] - sfc: support PTP over IPv6/UDP (Íñigo Huguet) [2112205 2065017] - sfc: allow more flexible way of adding filters for PTP (Íñigo Huguet) [2112205 2065017] - sfc: correct filter_table_remove method for EF10 PFs (Íñigo Huguet) [2112205] - sfc/siena: fix null pointer dereference in efx_hard_start_xmit (Íñigo Huguet) [2112205] - sfc/siena: fix TX channel offset when using legacy interrupts (Íñigo Huguet) [2112205] - sfc: implement ethtool get/set RX ring size for EF100 reps (Íñigo Huguet) [2112205] - sfc: use a dynamic m-port for representor RX and set it promisc (Íñigo Huguet) [2112205] - sfc: move table locking into filter_table_{probe,remove} methods (Íñigo Huguet) [2112205] - sfc: insert default MAE rules to connect VFs to representors (Íñigo Huguet) [2112205] - sfc: receive packets from EF100 VFs into representors (Íñigo Huguet) [2112205] - sfc: check ef100 RX packets are from the wire (Íñigo Huguet) [2112205] - sfc: determine wire m-port at EF100 PF probe time (Íñigo Huguet) [2112205] - sfc: ef100 representor RX top half (Íñigo Huguet) [2112205] - sfc: ef100 representor RX NAPI poll (Íñigo Huguet) [2112205] - sfc: plumb ef100 representor stats (Íñigo Huguet) [2112205] - sfc: disable softirqs for ptp TX (Íñigo Huguet) [2112205] - sfc/siena: fix repeated words in comments (Íñigo Huguet) [2112205] - sfc: attach/detach EF100 representors along with their owning PF (Íñigo Huguet) [2112205] - sfc: hook up ef100 representor TX (Íñigo Huguet) [2112205] - sfc: support passing a representor to the EF100 TX path (Íñigo Huguet) [2112205] - sfc: determine representee m-port for EF100 representors (Íñigo Huguet) [2112205] - sfc: phys port/switch identification for ef100 reps (Íñigo Huguet) [2112205] - sfc: add basic ethtool ops to ef100 reps (Íñigo Huguet) [2112205] - sfc: add skeleton ef100 VF representors (Íñigo Huguet) [2112205] - sfc: detect ef100 MAE admin privilege/capability at probe time (Íñigo Huguet) [2112205] - sfc: update EF100 register descriptions (Íñigo Huguet) [2112205] - sfc: update MCDI protocol headers (Íñigo Huguet) [2112205] - sfc/siena: Use the bitmap API to allocate bitmaps (Íñigo Huguet) [2112205] - sfc: Separate netdev probe/remove from PCI probe/remove (Íñigo Huguet) [2112205] - sfc: replace function name in string with __func__ (Íñigo Huguet) [2112205] - sfc: Unsplit literal string. (Íñigo Huguet) [2112205] - sfc: Move EF100 efx_nic_type structs to the end of the file (Íñigo Huguet) [2112205] - sfc: Separate efx_nic memory from net_device memory (Íñigo Huguet) [2112205] - sfc: Encapsulate access to netdev_priv() (Íñigo Huguet) [2112205] - sfc: Change BUG_ON to WARN_ON and recovery code. (Íñigo Huguet) [2112205] - sfc: Remove netdev init from efx_init_struct (Íñigo Huguet) [2112205] - sfc: Add a PROBED state for EF100 VDPA use. (Íñigo Huguet) [2112205] - sfc: Split STATE_READY in to STATE_NET_DOWN and STATE_NET_UP. (Íñigo Huguet) [2112205] - sfc: fix repeated words in comments (Íñigo Huguet) [2112205] - sfc: siena: fix repeated words in comments (Íñigo Huguet) [2112205] - sfc/siena: Fix typo in comment (Íñigo Huguet) [2112205] - sfc: Fix typo in comment (Íñigo Huguet) [2112205] - sfc/siena: fix wrong tx channel offset with efx_separate_tx_channels (Íñigo Huguet) [2112205] - sfc/siena: fix considering that all channels have TX queues (Íñigo Huguet) [2112205] - sfc/siena: Remove duplicate check on segments (Íñigo Huguet) [2112205 2136107] - sfc: siena: Have a unique wrapper ifndef for efx channels header (Íñigo Huguet) [2112205 2136107] - eth: sfc: remove remnants of the out-of-tree napi_weight module param (Íñigo Huguet) [2112205] - sfc: siena: Fix Kconfig dependencies (Íñigo Huguet) [2112205 2136107] - sfc/siena: Reinstate SRIOV init/fini function calls (Íñigo Huguet) [2112205 2136107] - sfc/siena: Make PTP and reset support specific for Siena (Íñigo Huguet) [2112205 2136107] - sfc/siena: Make MCDI logging support specific for Siena (Íñigo Huguet) [2112205 2136107] - siena: Make HWMON support specific for Siena (Íñigo Huguet) [2112205 2136107] - siena: Make SRIOV support specific for Siena (Íñigo Huguet) [2112205 2136107] - siena: Make MTD support specific for Siena (Íñigo Huguet) [2112205 2136107] - sfc: Add a basic Siena module (Íñigo Huguet) [2112205 2136107] - sfc/siena: Inline functions in sriov.h to avoid conflicts with sfc (Íñigo Huguet) [2112205 2136107] - sfc/siena: Rename functions in nic_common.h to avoid conflicts with sfc (Íñigo Huguet) [2112205 2136107] - sfc/siena: Rename functions in mcdi headers to avoid conflicts with sfc (Íñigo Huguet) [2112205 2136107] - sfc/siena: Rename peripheral functions to avoid conflicts with sfc (Íñigo Huguet) [2112205 2136107] - sfc/siena: Rename RX/TX functions to avoid conflicts with sfc (Íñigo Huguet) [2112205 2136107] - sfc/siena: Rename functions in efx headers to avoid conflicts with sfc (Íñigo Huguet) [2112205 2136107] - sfc/siena: Remove build references to missing functionality (Íñigo Huguet) [2112205 2136107] - sfc: Copy shared files needed for Siena (part 2) (Íñigo Huguet) [2112205 2136107] - sfc: Copy shared files needed for Siena (part 1) (Íñigo Huguet) [2112205 2136107] - sfc: Move Siena specific files (Íñigo Huguet) [2112205 2136107] - sfc: Copy a subset of mcdi_pcol.h to siena (Íñigo Huguet) [2112205 2136107] - sfc: Disable Siena support (Íñigo Huguet) [2112205 2136107] - sfc: add EF100 VF support via a write to sriov_numvfs (Íñigo Huguet) [2112205] - sfc: Remove global definition of efx_reset_type_names (Íñigo Huguet) [2112205] - sfc: Remove duplicate definition of efx_xmit_done (Íñigo Huguet) [2112205] - sfc: efx_default_channel_type APIs can be static (Íñigo Huguet) [2112205] - sfc: Fix spelling mistake "writting" -> "writing" (Íñigo Huguet) [2112205] - sfc: ef10: Fix assigning negative value to unsigned variable (Íñigo Huguet) [2112205] - sfc: use hardware tx timestamps for more than PTP (Íñigo Huguet) [2112205 2065017] - net: ethernet: sfc: Make subdir logic consistent with other vendors (Íñigo Huguet) [2112205 2136107] - hugetlbfs: fix mount mode command line processing (Bill O'Donnell) [2148876] - igc: Correct the launchtime offset (Corinna Vinschen) [2103954] - net: Remove the obsolte u64_stats_fetch_*_irq() users (drivers). (Corinna Vinschen) [2103954] - igc: Remove IGC_MDIC_INT_EN definition (Corinna Vinschen) [2103954] - igc: Remove forced_speed_duplex value (Corinna Vinschen) [2103954] - igc: Remove MSI-X PBA Clear register (Corinna Vinschen) [2103954] - igc: Lift TAPRIO schedule restriction (Corinna Vinschen) [2103954] - wifi: brcmfmac: Fix potential buffer overflow in brcmf_fweh_event_worker() (Wander Lairson Costa) [2150964] {CVE-2022-3628} - net: ethernet: move from strlcpy with unused retval to strscpy (Corinna Vinschen) [2103949] - tipc: call tipc_lxc_xmit without holding node_read_lock (Xin Long) [2141640] - mptcp: fix sleep in atomic at close time (Davide Caratti) [2150361] - mptcp: don't orphan ssk in mptcp_close() (Davide Caratti) [2150361] - net: Avoid overwriting valid skb->napi_id (Antoine Tenart) [2142593] - x86/microcode/AMD: Apply the patch early on every logical thread (Waiman Long) [2139856] - x86/bugs: Enable STIBP for IBPB mitigated RETBleed (Waiman Long) [2139856] - x86/bugs: Add "unknown" reporting for MMIO Stale Data (Waiman Long) [2139856] - tracing: Use a copy of the va_list for __assign_vstr() (Íñigo Huguet) [2143356] - tracing/events: Add __vstring() and __assign_vstr() helper macros (Íñigo Huguet) [2143356] - rtnetlink: add IFLA_PARENT_[DEV|DEV_BUS]_NAME (Jose Ignacio Tornos Martinez) [2144853] - rtnetlink: add alloc() method to rtnl_link_ops (Jose Ignacio Tornos Martinez) [2144853] - ipv6: Fix data races around sk->sk_prot. (Guillaume Nault) [2144805] {CVE-2022-3567} - ipv6: annotate some data-races around sk->sk_prot (Guillaume Nault) [2144805] {CVE-2022-3567} - ipv6: use indirect call wrappers for {tcp, udpv6}_{recv, send}msg() (Guillaume Nault) [2144805] {CVE-2022-3567} - mm/mremap: hold the rmap lock in write mode when moving page table entries. (Waiman Long) [2140945] {CVE-2022-41222} - mm/mremap: use pmd/pud_poplulate to update page table entries (Waiman Long) [2140945] {CVE-2022-41222} - mm/mremap: don't enable optimized PUD move if page table levels is 2 (Waiman Long) [2140945] {CVE-2022-41222} - mm/mremap: convert huge PUD move to separate helper (Waiman Long) [2140945] {CVE-2022-41222} - mm/mremap: fix BUILD_BUG_ON() error in get_extent (Waiman Long) [2140945] {CVE-2022-41222} - mm/mremap.c: fix extent calculation (Waiman Long) [2140945] {CVE-2022-41222} - x86: mremap speedup - Enable HAVE_MOVE_PUD (Waiman Long) [2140945] {CVE-2022-41222} - mm: speedup mremap on 1GB or larger regions (Waiman Long) [2140945] {CVE-2022-41222} - mm/mremap: start addresses are properly aligned (Waiman Long) [2140945] {CVE-2022-41222} - mm/mremap: calculate extent in one place (Waiman Long) [2140945] {CVE-2022-41222} - mm/mremap: it is sure to have enough space when extent meets requirement (Waiman Long) [2140945] {CVE-2022-41222}- irqchip/gic, gic-v3: Make SGIs use handle_percpu_devid_irq() (Charles Mirabile) [2133892] - irqchip/gic-common: Don't enable SGIs by default (Charles Mirabile) [2133892] - irqchip/gic: Configure SGIs as standard interrupts (Charles Mirabile) [2133892] - irqchip/gic: Refactor SMP configuration (Charles Mirabile) [2133892] - irqchip/gic-v3: Configure SGIs as standard interrupts (Charles Mirabile) [2133892] - irqchip/gic-v3: Describe the SGI range (Charles Mirabile) [2133892] - arm64: Allow IPIs to be handled as normal interrupts (Charles Mirabile) [2133892] - irqchip/gic, gic-v3: Prevent GSI to SGI translations (Charles Mirabile) [2133892] - Workaround to enable support for IPI (Charles Mirabile) [2133892] - net: ethernet: move from strlcpy with unused retval to strscpy (Ken Cox) [2112182] - tg3: Disable tg3 device on system reboot to avoid triggering AER (Ken Cox) [2112182] - aquantia: Do not purge addresses when setting the number of rings (Izabela Bakollari) [2122571] - openvswitch: add nf_ct_is_confirmed check before assigning the helper (Antoine Tenart) [2135414] - net: openvswitch: allow conntrack in non-initial user namespace (Antoine Tenart) [2135414] - net: openvswitch: allow metering in non-initial user namespace (Antoine Tenart) [2135414] - openvswitch: Change the return type for vport_ops.send function hook to int (Antoine Tenart) [2135414] - net: openvswitch: fix repeated words in comments (Antoine Tenart) [2135414] - openvswitch: add OVS_DP_ATTR_PER_CPU_PIDS to get requests (Antoine Tenart) [2135414] - openvswitch: allow specifying ifindex of new interfaces (Antoine Tenart) [2135414] - openvswitch: move from strlcpy with unused retval to strscpy (Antoine Tenart) [2135414] - openvswitch: Fix overreporting of drops in dropwatch (Antoine Tenart) [2135414] - openvswitch: Fix double reporting of drops in dropwatch (Antoine Tenart) [2135414] - openvswitch: fix memory leak at failed datapath creation (Antoine Tenart) [2135414] - net: remove noblock parameter from skb_recv_datagram() (Íñigo Huguet) [2143359] - i40e: Fix error handling in i40e_init_module() (Stefan Assmann) [2103661] - i40e: Add appropriate error message logged for incorrect duplex setting (Stefan Assmann) [2103661] - i40e: Add i40e_napi_poll tracepoint (Stefan Assmann) [2103661] - i40e: Record number of RXes cleaned during NAPI (Stefan Assmann) [2103661] - i40e: Record number TXes cleaned during NAPI (Stefan Assmann) [2103661] - i40e: Store the irq number in i40e_q_vector (Stefan Assmann) [2103661] - ptp: introduce helpers to adjust by scaled parts per million (Stefan Assmann) [2103661] - net: Remove the obsolte u64_stats_fetch_*_irq() users (drivers). (Stefan Assmann) [2103661] - i40e: Fix flow-type by setting GL_HASH_INSET registers (Stefan Assmann) [2103661] - i40e: Fix ethtool rx-flow-hash setting for X722 (Stefan Assmann) [2103661] - i40e: Fix ADQ rate limiting for PF (Stefan Assmann) [2103661] - i40e: add description and modify interrupts configuration procedure (Stefan Assmann) [2103661] - i40e: Add basic support for I710 devices (Stefan Assmann) [2103661] - net: ethernet: move from strlcpy with unused retval to strscpy (Stefan Assmann) [2103661] - i40e: Fix incorrect address type for IPv6 flow rules (Stefan Assmann) [2103661] - i40e: Fix to stop tx_timeout recovery if GLOBR fails (Stefan Assmann) [2103661] - i40e: convert .adjfreq to .adjfine (Stefan Assmann) [2103661] - i40e: use mul_u64_u64_div_u64 for PTP frequency calculation (Stefan Assmann) [2103661] - i40e: Fix interface init with MSI interrupts (no MSI-X) (Stefan Assmann) [2103661] - i40e: Refactor tc mqprio checks (Stefan Assmann) [2103661] - i40e: Fix erroneous adapter reinitialization during recovery process (Stefan Assmann) [2103661] - i40e: Fix VF's MAC Address change on VM (Stefan Assmann) [2103661] - i40e: Fix dropped jumbo frames statistics (Stefan Assmann) [2103661] - intel/i40e:fix repeated words in comments (Stefan Assmann) [2103661] - intel: remove unused macros (Stefan Assmann) [2103661] - i40e: read the XDP program once per NAPI (Stefan Assmann) [2103661] - intel/i40e: delete if NULL check before dev_kfree_skb (Stefan Assmann) [2103661] - i40e: Remove unnecessary synchronize_irq() before free_irq() (Stefan Assmann) [2103661] - i40e: Add support for ethtool -s speed (Stefan Assmann) [2103661] - i40e: Add VF VLAN pruning (Stefan Assmann) [2103661] - xsk: Wipe out dead zero_copy_allocator declarations (Stefan Assmann) [2103661] - gpio: amdpt: add new device ID and 24-pin support (Prarit Bhargava) [2097868] - platform/x86/intel: pmc/core: Add Raptor Lake support to pmc core driver (Prarit Bhargava) [2076732] - HID: hyperv: fix possible memory leak in mousevsc_probe() (Mohammed Gamal) [2139468] - HID: hyperv: Correctly access fields declared as __le16 (Mohammed Gamal) [2139468] - Drivers: hv: vmbus: fix possible memory leak in vmbus_device_register() (Mohammed Gamal) [2139473] - Drivers: hv: vmbus: fix double free in the error path of vmbus_add_channel_work() (Mohammed Gamal) [2139473] - Drivers: hv: fix repeated words in comments (Mohammed Gamal) [2139473] - Drivers: hv: vmbus: Split memcpy of flex-array (Mohammed Gamal) [2139473] - Drivers: hv: vmbus: Don't wait for the ACPI device upon initialization (Mohammed Gamal) [2139473] - Drivers: hv: vmbus: Use PCI_VENDOR_ID_MICROSOFT for better discoverability (Mohammed Gamal) [2139473] - PCI: Move PCI_VENDOR_ID_MICROSOFT/PCI_DEVICE_ID_HYPERV_VIDEO definitions to pci_ids.h (Mohammed Gamal) [2139473] - Drivers: hv: vmbus: Fix kernel-doc (Mohammed Gamal) [2139473] - Drivers: hv: vmbus: Optimize vmbus_on_event (Mohammed Gamal) [2139473] - Drivers: hv: Never allocate anything besides framebuffer from framebuffer memory region (Mohammed Gamal) [2139473] - Drivers: hv: Always reserve framebuffer region for Gen1 VMs (Mohammed Gamal) [2139473] - Drivers: hv: remove duplicate word in a comment (Mohammed Gamal) [2139473] - Drivers: hv: Create debugfs file with hyper-v balloon usage information (Mohammed Gamal) [2139473] - Drivers: hv: vm_bus: Handle vmbus rescind calls after vmbus is suspended (Mohammed Gamal) [2139473] - scsi: storvsc: remove an extraneous "to" in a comment (Cathy Avery) [2143320] - Drivers: hv: vmbus: Optimize vmbus_on_event (Cathy Avery) [2143320] - scsi: storvsc: Drop DID_TARGET_FAILURE use (Cathy Avery) [2143320] - scsi: storvsc: Remove WQ_MEM_RECLAIM from storvsc_error_wq (Cathy Avery) [2143320] - scsi: storvsc: Correct reporting of Hyper-V I/O size limits (Cathy Avery) [2143320] - scsi: storvsc: Removing Pre Win8 related logic (Cathy Avery) [2143320] - scsi: storvsc: Fix typo in comment (Cathy Avery) [2143320] - scsi: storvsc: Remove support for Hyper-V 2008 and 2008R2/Win7 (Cathy Avery) [2143320] - vdpa/mlx5: re-create forwarding rules after mac modified (Laurent Vivier) [2145136] - ipv6: Fix crash when IPv6 is administratively disabled (Guillaume Nault) [2140779] - raw: fix a typo in raw_icmp_error() (Guillaume Nault) [2140779] - raw: remove unused variables from raw6_icmp_error() (Guillaume Nault) [2140779] - raw: complete rcu conversion (Guillaume Nault) [2140779] - raw: Use helpers for the hlist_nulls variant. (Guillaume Nault) [2140779] - raw: Fix mixed declarations error in raw_icmp_error(). (Guillaume Nault) [2140779] - raw: convert raw sockets to RCU (Guillaume Nault) [2140779] - raw: use more conventional iterators (Guillaume Nault) [2140779] - raw: Add missing annotations to raw_seq_start() and raw_seq_stop() (Guillaume Nault) [2140779] - net: ethernet: move from strlcpy with unused retval to strscpy (Ken Cox) [2103941] - e1000e: convert .adjfreq to .adjfine (Ken Cox) [2103941] - e1000e: remove unnecessary range check in e1000e_phc_adjfreq (Ken Cox) [2103941] - Revert "e1000e: Fix possible HW unit hang after an s0ix exit" (Ken Cox) [2103941] - e1000e: Enable GPT clock before sending message to CSME (Ken Cox) [2103941] - intel/e1000e:fix repeated words in comments (Ken Cox) [2103941] - intel: remove unused macros (Ken Cox) [2103941] - net: move netif_set_gso_max helpers (Ivan Vecera) [2137564] - net: make drivers set the TSO limit not the GSO limit (Ivan Vecera) [2137564] - net: don't allow user space to lift the device limits (Ivan Vecera) [2137564] - net: add netif_inherit_tso_max() (Ivan Vecera) [2137564] - net: extract a few internals from netdevice.h (Ivan Vecera) [2137564] - net: unexport a handful of dev_* functions (Ivan Vecera) [2137564] - bpf: Fix extable address check. (Felix Maurer) [2138532] - bpf, x64: Factor out emission of REX byte in more cases (Felix Maurer) [2138532] - bpf: Support dual-stack sockets in bpf_tcp_check_syncookie (Felix Maurer) [2138532] - bpf: Fix extable fixup offset. (Felix Maurer) [2138532] - bpf: Fix the off-by-two error in range markings (Felix Maurer) [2138532] - bpf: Fix potential race in tail call compatibility check (Felix Maurer) [2138532] - bpf: Fix possible out of bound write in narrow load handling (Felix Maurer) [2138532] - bpf: Fix potential memleak and UAF in the verifier. (Felix Maurer) [2138532] - KVM: s390: vsie: Fix the initialization of the epoch extension (epdx) field (Thomas Huth) [2151854] - PM: core: Remove static qualifier in DEFINE_SIMPLE_DEV_PM_OPS macro (Íñigo Huguet) [2143354] - PM: core: Add new *_PM_OPS macros, deprecate old ones (Íñigo Huguet) [2143354] - PM: Make *_DEV_PM_OPS macros use __maybe_unused (Íñigo Huguet) [2143354] - PM: core: Redefine pm_ptr() macro (Íñigo Huguet) [2143354] - linux/kconfig.h: replace IF_ENABLED() with PTR_IF() in (Íñigo Huguet) [2143354] - net: Remove unused inline function sk_nulls_node_init() (Guillaume Nault) [2143239] - ping: convert to RCU lookups, get rid of rwlock (Guillaume Nault) [2143239] - mm/cgroup/reclaim: fix dirty pages throttling on cgroup v1 (Waiman Long) [2149544] - mm: vmscan: remove deadlock due to throttling failing to make progress (Waiman Long) [2149544] - mm: vmscan: reduce throttling due to a failure to make progress -fix (Waiman Long) [2149544] - mm: vmscan: Reduce throttling due to a failure to make progress (Waiman Long) [2149544] - mm/vmscan: delay waking of tasks throttled on NOPROGRESS (Waiman Long) [2149544] - mm/vmscan: increase the timeout if page reclaim is not making progress (Waiman Long) [2149544] - mm/vmscan: centralise timeout values for reclaim_throttle (Waiman Long) [2149544] - mm/page_alloc: remove the throttling logic from the page allocator (Waiman Long) [2149544] - mm/writeback: throttle based on page writeback instead of congestion (Waiman Long) [2149544] - mm/vmscan: throttle reclaim when no progress is being made (Waiman Long) [2149544] - mm/vmscan: throttle reclaim and compaction when too may pages are isolated (Waiman Long) [2149544] - mm/vmscan: throttle reclaim until some writeback completes if congested (Waiman Long) [2149544] - mm/vmscan.c: delete or fix duplicated words (Waiman Long) [2149544] - powerpc/pseries/vas: Add VAS IRQ primary handler (Mamatha Inamdar) [2131675] - powerpc: Ignore DSI error caused by the copy/paste instruction (Mamatha Inamdar) [2131675] - powerpc/pseries: Move vas_migration_handler early during migration (Mamatha Inamdar) [2131675] - vt: drop old FONT ioctls (Wander Lairson Costa) [2109164] {CVE-2021-33656}- x86/mce: Reduce number of machine checks taken during recovery (Prarit Bhargava) [2104388] - scsi: storvsc: Fix handling of srb_status and capacity change events (Mohammed Gamal) [2139728] - clocksource: hyper-v: unexport __init-annotated hv_init_clocksource() (Mohammed Gamal) [2139463] - hv_netvsc: Fix race between VF offering and VF association message from host (Mohammed Gamal) [2139475] - sbitmap: fix lockup while swapping (Ming Lei) [2140214] - sbitmap: fix batched wait_cnt accounting (Ming Lei) [2140214] - sbitmap: Avoid leaving waitqueue in invalid state in __sbq_wake_up() (Ming Lei) [2140214] - sbitmap: fix possible io hung due to lost wakeup (Ming Lei) [2140214] - sbitmap: add helper to clear a batch of tags (Ming Lei) [2140214] - x86/hyperv: Restore VP assist page after cpu offlining/onlining (Mohammed Gamal) [2139454] - clocksource/drivers/hyperv: add data structure for reference TSC MSR (Mohammed Gamal) [2139454] - x86/hyperv: fix root partition faults when writing to VP assist page MSR (Mohammed Gamal) [2139454] - x86/hyperv: fix invalid writes to MSRs during root partition kexec (Mohammed Gamal) [2139454] - x86/hyperv: Remove BUG_ON() for kmap_local_page() (Mohammed Gamal) [2139454] - x86/hyperv: Disable hardlockup detector by default in Hyper-V guests (Mohammed Gamal) [2139454] - x86/hyperv: Update 'struct hv_enlightened_vmcs' definition (Mohammed Gamal) [2139454] - x86/hyperv: Fix 'struct hv_enlightened_vmcs' definition (Mohammed Gamal) [2139454] - x86/hyperv: Replace kmap() with kmap_local_page() (Mohammed Gamal) [2139454] - hyperv: simplify and rename generate_guest_id (Mohammed Gamal) [2139454] - x86/Hyper-V: Add SEV negotiate protocol support in Isolation VM (Mohammed Gamal) [2139454] - x86/sev: Define the Linux-specific guest termination reasons (Mohammed Gamal) [2139454] - x86/sev: Shorten GHCB terminate macro names (Mohammed Gamal) [2139454] - x86/sev: Save the negotiated GHCB version (Mohammed Gamal) [2139454] - locking: Add __sched to semaphore functions (Waiman Long) [2141429] - locking/rwsem: Disable preemption while trying for rwsem lock (Waiman Long) [2141429] - locking/percpu-rwsem: Add percpu_is_write_locked() and percpu_is_read_locked() (Waiman Long) [2141429] - locking/rwsem: Conditionally wake waiters in reader/writer slowpaths (Waiman Long) [2141429] - locking: Mark racy reads of owner->on_cpu (Waiman Long) [2141429] - locking: Make owner_on_cpu() into (Waiman Long) [2141429] - locking/rwsem: Optimize down_read_trylock() under highly contended case (Waiman Long) [2141429] - locking/rwsem: Fix comments about reader optimistic lock stealing conditions (Waiman Long) [2141429] - locking/rwsem: Disable preemption for spinning region (Waiman Long) [2141429] - locking: Remove rcu_read_{,un}lock() for preempt_{dis,en}able() (Waiman Long) [2141429] - NFSD: Mark exports of NFS as unsupported (Benjamin Coddington) [2150902] - fuse: lock inode unconditionally in fuse_fallocate() (Miklos Szeredi) [2110883] - fuse: add file_modified() to fallocate (Miklos Szeredi) [2110883] - mei: me: add adler lake point S DID (Prarit Bhargava) [2141602] - ocfs2/dlm: move BITS_TO_BYTES() to bitops.h for wider use (Izabela Bakollari) [2144858] - libnvdimm/namespace: Fix visibility of namespace resource attribute (Jeff Moyer) [2016347] - PCI: hv: Only reuse existing IRTE allocation for Multi-MSI (Mohammed Gamal) [2139458] - PCI: hv: Fix the definition of vector in hv_compose_msi_msg() (Mohammed Gamal) [2139458] - PCI: hv: Take a const cpumask in hv_compose_msi_req_get_cpu() (Mohammed Gamal) [2139458] - PCI: hv: Fix synchronization between channel callback and hv_pci_bus_exit() (Mohammed Gamal) [2139458] - PCI: hv: Add validation for untrusted Hyper-V values (Mohammed Gamal) [2139458] - PCI: hv: Fix interrupt mapping for multi-MSI (Mohammed Gamal) [2139458] - PCI: hv: Reuse existing IRTE allocation in compose_msi_msg() (Mohammed Gamal) [2139458] - PCI: hv: Fix hv_arch_irq_unmask() for multi-MSI (Mohammed Gamal) [2139458] - PCI: hv: Fix synchronization between channel callback and hv_compose_msi_msg() (Mohammed Gamal) [2139458] - PCI: hv: Use vmbus_requestor to generate transaction IDs for VMbus hardening (Mohammed Gamal) [2139458] - PCI: hv: Fix multi-MSI to allow more than one MSI vector (Mohammed Gamal) [2139458] - net: mana: Add rmb after checking owner bits (Mohammed Gamal) [2139462] - net: mana: Add support of XDP_REDIRECT action (Mohammed Gamal) [2139462] - net: mana: Add the Linux MANA PF driver (Mohammed Gamal) [2139462] - NFSD: Protect against send buffer overflow in NFSv3 READ (Scott Mayhew) [2141774] {CVE-2022-43945} - NFSD: Protect against send buffer overflow in NFSv2 READ (Scott Mayhew) [2141774] {CVE-2022-43945} - NFSD: Protect against send buffer overflow in NFSv3 READDIR (Scott Mayhew) [2141774] {CVE-2022-43945} - NFSD: Protect against send buffer overflow in NFSv2 READDIR (Scott Mayhew) [2141774] {CVE-2022-43945} - SUNRPC: Fix svcxdr_init_encode's buflen calculation (Scott Mayhew) [2141774] {CVE-2022-43945} - SUNRPC: Fix svcxdr_init_decode's end-of-buffer calculation (Scott Mayhew) [2141774] {CVE-2022-43945} - KVM: VMX: fully disable SGX if SECONDARY_EXEC_ENCLS_EXITING unavailable (Emanuele Giuseppe Esposito) [2127128] - cgroup/cpuset: Reduce cpuset_rwsem writer latency (Waiman Long) [2149031] - rcu/exp: Mark current CPU as exp-QS in IPI loop second pass (Waiman Long) [2149031] - rcu: Always inline rcu_dynticks_task*_{enter,exit}() (Waiman Long) [2149031] - rcu: Fix existing exp request check in sync_sched_exp_online_cleanup() (Waiman Long) [2149031] - rcu: Fix macro name CONFIG_TASKS_RCU_TRACE (Waiman Long) [2149031] - rcu: Fix stall-warning deadlock due to non-release of rcu_node ->lock (Waiman Long) [2149031] - rcu: Fix to include first blocked task in stall warning (Waiman Long) [2149031] - cgroup: Use cgroup_attach_{lock,unlock}() from cgroup_attach_task_all() (Waiman Long) [2149031] - cgroup: Add missing cpus_read_lock() to cgroup_attach_task_all() (Waiman Long) [2149031] - cgroup: Fix threadgroup_rwsem <-> cpus_read_lock() deadlock (Waiman Long) [2149031] - cgroup: Elide write-locking threadgroup_rwsem when updating csses on an empty subtree (Waiman Long) [2149031] - cgroup/cpuset: Fix a race between cpuset_attach() and cpu hotplug (Waiman Long) [2149031] - cgroup: reduce dependency on cgroup_mutex (Waiman Long) [2149031]- drm/i915: fix TLB invalidation for Gen12 video and compute engines (Wander Lairson Costa) [2148150] {CVE-2022-4139} - redhat/configs: Set CONFIG_X86_AMD_PSTATE to 'm' (Prarit Bhargava) [2145246] - bonding: uninitialized variable in bond_miimon_inspect() (Jonathan Toppins) [1973124] - bonding: fix link recovery in mode 2 when updelay is nonzero (Jonathan Toppins) [1973124] - RHEL: ALSA: update configuration (Jaroslav Kysela) [2125544] - RHEL: ALSA: fix compilation issues (Jaroslav Kysela) [2125544] - ASoC: SOF: Intel: pci-mtl: fix firmware name (Jaroslav Kysela) [2125544] - ALSA: hda/realtek: Correct pin configs for ASUS G533Z (Jaroslav Kysela) [2125544] - ALSA: hda/realtek: remove ALC289_FIXUP_DUAL_SPK for Dell 5530 (Jaroslav Kysela) [2125544] - ALSA: ac97: Use snd_ctl_rename() to rename a control (Jaroslav Kysela) [2125544] - ALSA: ca0106: Use snd_ctl_rename() to rename a control (Jaroslav Kysela) [2125544] - ALSA: emu10k1: Use snd_ctl_rename() to rename a control (Jaroslav Kysela) [2125544] - ALSA: hda/realtek: Use snd_ctl_rename() to rename a control (Jaroslav Kysela) [2125544] - ALSA: usb-audio: Use snd_ctl_rename() to rename a control (Jaroslav Kysela) [2125544] - ALSA: control: add snd_ctl_rename() (Jaroslav Kysela) [2125544] - ALSA: hda/hdmi: Use only dynamic PCM device allocation (Jaroslav Kysela) [2125544] - regmap: add reg_sequence helpers (Jaroslav Kysela) [2125544] - regmap: fix the kerneldoc for regmap_test_bits() (Jaroslav Kysela) [2125544] - regmap: provide helpers for simple bit operations (Jaroslav Kysela) [2125544] - ASoC: SOF: ipc4-topology: Free the ida when IPC fails in sof_ipc4_widget_setup() (Jaroslav Kysela) [2125544] - ASoC: tlv320aic31xx: Handle BCLK set as PLL input configuration (Jaroslav Kysela) [2125544] - ASoC: test-component: Migrate to new style legacy DAI naming flag (Jaroslav Kysela) [2125544] - ASoC: tlv320aic31xx: Add support for pll_r coefficient (Jaroslav Kysela) [2125544] - ASoC: ssm4567: Use modern ASoC DAI format terminology (Jaroslav Kysela) [2125544] - ASoC: rk3328: fix disabling mclk on pclk probe failure (Jaroslav Kysela) [2125544] - ASoC: pcm3060: use simple i2c probe function (Jaroslav Kysela) [2125544] - ASoC: cs42l42: remove redundant test (Jaroslav Kysela) [2125544] - ALSA: ppc: beep: fix clang -Wimplicit-fallthrough (Jaroslav Kysela) [2125544] - ASoC: soc-component: Add comment for the endianness flag (Jaroslav Kysela) [2125544] - ASoC: codecs: wsa881x: handle timeouts in resume path (Jaroslav Kysela) [2125544] - ASoC: wsa881x: use pm_runtime_resume_and_get() (Jaroslav Kysela) [2125544] - ASoC: codecs: wsa881x: add runtime pm support (Jaroslav Kysela) [2125544] - ASoC: wm_adsp: Fix event generation for wm_adsp_fw_put() (Jaroslav Kysela) [2125544] - ASoC: wm_adsp: Minor clean and redundant code removal (Jaroslav Kysela) [2125544] - ASoC: wm_adsp: Compressed stream DSP memory structs should be __packed (Jaroslav Kysela) [2125544] - ASoC: wm8998: Fix event generation for input mux (Jaroslav Kysela) [2125544] - ASoC: arizona: Fix a wrong free in wm8997_probe (Jaroslav Kysela) [2125544] - ASoC: wm8962: Allow switching between analog and digital inputs (Jaroslav Kysela) [2125544] - ASoC: wm8960: Fix clock configuration on slave mode (Jaroslav Kysela) [2125544] - ASoC: wm8962: Fix suspend while playing music (Jaroslav Kysela) [2125544] - ASoC: codecs: wm8962: using pm_runtime_resume_and_get instead of pm_runtime_get_sync (Jaroslav Kysela) [2125544] - ASoC: wm8960: Add ACPI support (Jaroslav Kysela) [2125544] - ASoC: wm8958: Fix change notifications for DSP controls (Jaroslav Kysela) [2125544] - ASoC: wm8940: add devicetree support (Jaroslav Kysela) [2125544] - ASoC: wm*: use i2c_match_id and simple i2c probe (Jaroslav Kysela) [2125544] - ASoC: wm8903: Fix the error handling of wm8903_i2c_probe() (Jaroslav Kysela) [2125544] - ASoC: wm8731: use simple i2c probe function (Jaroslav Kysela) [2125544] - ASoC: arizona: Make the wm5102, wm5110, wm8997 and wm8998 drivers use the new jack library (Jaroslav Kysela) [2125544] - ASoC: wm5102: Fix event generation for output compensation (Jaroslav Kysela) [2125544] - ASoC: wcd9335: Use int array instead of bitmask for TX mixers (Jaroslav Kysela) [2125544] - ASoC: wcd9335: Use DT bindings instead of local DAI definitions (Jaroslav Kysela) [2125544] - ASoC: wcd9335: Fix spurious event generation (Jaroslav Kysela) [2125544] - ASoC: wcd9335: Remove RX channel from old list before adding it to a new one (Jaroslav Kysela) [2125544] - ASoC: codecs: wcd9335: move gains from SX_TLV to S8_TLV (Jaroslav Kysela) [2125544] - ASoC: wcd9335: remove redundant tests (Jaroslav Kysela) [2125544] - ASoC: uda1380: use simple i2c probe function (Jaroslav Kysela) [2125544] - ASoC: uda1334: Use modern ASoC DAI format terminology (Jaroslav Kysela) [2125544] - ASoC: twl4030: Drop legacy, non DT boot support (Jaroslav Kysela) [2125544] - ASoC: tscs*: use simple i2c probe function (Jaroslav Kysela) [2125544] - ASoC: ts3a227e: use simple i2c probe function (Jaroslav Kysela) [2125544] - ASoC: tpa6130: use i2c_match_id and simple i2c probe (Jaroslav Kysela) [2125544] - ASoC: tlv320dac3x: Use modern ASoC DAI format terminology (Jaroslav Kysela) [2125544] - ASoC: tlv320aic33: Use modern ASoC DAI format terminology (Jaroslav Kysela) [2125544] - ASoC: codec: tlv320aic32x4: fix mono playback via I2S (Jaroslav Kysela) [2125544] - ASoC: tlv320aic32x4: Use modern ASoC DAI format terminology (Jaroslav Kysela) [2125544] - ASoC: tlv320aic31xx: Fix typo in BCLK clock name (Jaroslav Kysela) [2125544] - ASoC: tlv320*: use i2c_match_id and simple i2c probe (Jaroslav Kysela) [2125544] - ASoC: Rename tlv320aic31xx-micbias.h as tlv320aic31xx.h (Jaroslav Kysela) [2125544] - ASoC: tlv320aic31xx: Use modern ASoC DAI format terminology (Jaroslav Kysela) [2125544] - ASoC: tlv320aic26: Use modern ASoC DAI format terminology (Jaroslav Kysela) [2125544] - ASoC: tlv320aic23: Use modern ASoC DAI format terminology (Jaroslav Kysela) [2125544] - ASoC: tlv320*: use simple i2c probe function (Jaroslav Kysela) [2125544] - ASoC: tas6424: Return zero in remove callback (Jaroslav Kysela) [2125544] - ASoC: tda7419: use simple i2c probe function (Jaroslav Kysela) [2125544] - ASoC: tas6424: Fix the error handling of tas6424_i2c_probe() (Jaroslav Kysela) [2125544] - ASoC: tas6424: Use modern ASoC DAI format terminology (Jaroslav Kysela) [2125544] - ASoC: tas5720: Use modern ASoC DAI format terminology (Jaroslav Kysela) [2125544] - ASoC: tas571x: Fix the error handling of tas571x_i2c_probe() (Jaroslav Kysela) [2125544] - ASoC: tas5086: Use modern ASoC DAI format terminology (Jaroslav Kysela) [2125544] - ASoC: tas2552: use pm_runtime_resume_and_get() (Jaroslav Kysela) [2125544] - ASoC: tas2770: Reinit regcache on reset (Jaroslav Kysela) [2125544] - ASoC: tas2562: Propagate the error in tas2562_dac_event() (Jaroslav Kysela) [2125544] - ASoC: tas2562: Fix mute/unmute (Jaroslav Kysela) [2125544] - ASoC: tas2764: Fix mute/unmute (Jaroslav Kysela) [2125544] - ASoC: tas2764: Drop conflicting set_bias_level power setting (Jaroslav Kysela) [2125544] - ASoC: tas2764: Allow mono streams (Jaroslav Kysela) [2125544] - ASoC: tas2770: Fix handling of mute/unmute (Jaroslav Kysela) [2125544] - ASoC: tas2770: Drop conflicting set_bias_level power setting (Jaroslav Kysela) [2125544] - ASoC: tas2770: Allow mono streams (Jaroslav Kysela) [2125544] - ASoC: tas2770: Set correct FSYNC polarity (Jaroslav Kysela) [2125544] - ASoC: tas2770: Use modern ASoC DAI format terminology (Jaroslav Kysela) [2125544] - ASoC: tas*: use i2c_match_id and simple i2c probe (Jaroslav Kysela) [2125544] - ASoC: tas2552: Use modern ASoC DAI format terminology (Jaroslav Kysela) [2125544] - ASoC: sti-sas: Use modern ASoC DAI format terminology (Jaroslav Kysela) [2125544] - ASoC: sta350: Use modern ASoC DAI format terminology (Jaroslav Kysela) [2125544] - ASoC: sta350: Remove redundant big endian formats (Jaroslav Kysela) [2125544] - ASoC: sta*: use simple i2c probe function (Jaroslav Kysela) [2125544] - ASoC: sta32x: Use modern ASoC DAI format terminology (Jaroslav Kysela) [2125544] - ASoC: sta32x: Remove redundant big endian formats (Jaroslav Kysela) [2125544] - ASoC: ssm2602: Use modern ASoC DAI format terminology (Jaroslav Kysela) [2125544] - ASoC: ssm2518: Use modern ASoC DAI format terminology (Jaroslav Kysela) [2125544] - ASoC: sgtl5000: Fix noise on shutdown/remove (Jaroslav Kysela) [2125544] - ASoC: rt9120: Fix 3byte read, valule offset typo (Jaroslav Kysela) [2125544] - ASoC: rt9120: Use pm_runtime and regcache to optimize 'pwdnn' logic (Jaroslav Kysela) [2125544] - ASoC: codecs: rt715-sdca: remove useless assignment of ops (Jaroslav Kysela) [2125544] - ASoC: rt5682s: Separate the regulator consumer controls (Jaroslav Kysela) [2125544] - ASoC: rt5645: Fix the error handling of rt5645_i2c_probe() (Jaroslav Kysela) [2125544] - ASoC: rt5640: Fix the issue of the abnormal JD2 status (Jaroslav Kysela) [2125544] - ASoC: rt5640: Fix the JD voltage dropping issue (Jaroslav Kysela) [2125544] - ASoC: rt5640: Fix the wrong state of JD1 and JD2 (Jaroslav Kysela) [2125544] - ASoC: rt5640: Add the MICBIAS1 to the dapm routing (Jaroslav Kysela) [2125544] - ASoC: codecs: rt298: Fix jack detection (Jaroslav Kysela) [2125544] - ASoC: codecs: rt298: Fix NULL jack in interrupt (Jaroslav Kysela) [2125544] - ASoC: codecs: rt298: Set component to NULL on remove (Jaroslav Kysela) [2125544] - ASoC: codecs: rt286: Set component to NULL on remove (Jaroslav Kysela) [2125544] - ASoC: codecs: rt274: Set component to NULL on remove (Jaroslav Kysela) [2125544] - ASoC: codecs: rt274: Always init jack_detect_work (Jaroslav Kysela) [2125544] - ASoC: rt1308-sdw: add the default value of register 0xc320 (Jaroslav Kysela) [2125544] - ASoC: rk3328: Use modern ASoC DAI format terminology (Jaroslav Kysela) [2125544] - ASoC: pcm1789: Make pcm1789_common_exit() return void (Jaroslav Kysela) [2125544] - ASoC: pcm186x: use i2c_match_id and simple i2c probe (Jaroslav Kysela) [2125544] - ASoC: pcm186x: simplify the return expression of pcm186x_power_off() (Jaroslav Kysela) [2125544] - ASoC: pcm*: use simple i2c probe function (Jaroslav Kysela) [2125544] - ASoC: nau8825: Implement hw constraint for rates (Jaroslav Kysela) [2125544] - ASoC: nau8825: Declare 2 channels for DAI of capture stream (Jaroslav Kysela) [2125544] - ASoC: nau8824: Fix semaphore is released unexpectedly (Jaroslav Kysela) [2125544] - ASoC: nau8824: Implement hw constraint for rates (Jaroslav Kysela) [2125544] - ASoC: nau8824: Fix semaphore unbalance at error paths (Jaroslav Kysela) [2125544] - ASoC: nau8822: Don't reconfigure PLL to the same values (Jaroslav Kysela) [2125544] - ASoC: nau8822: Disable internal PLL if freq_out is zero (Jaroslav Kysela) [2125544] - ASoC: nau8821: Implement hw constraint for rates (Jaroslav Kysela) [2125544] - ASoC: nau8821: Don't unconditionally free interrupt (Jaroslav Kysela) [2125544] - ASoC: nau8821: add new widget to control system clock (Jaroslav Kysela) [2125544] - ASoC: nau8821: Add headset button detection (Jaroslav Kysela) [2125544] - ASoC: codecs: mt6359-accdet: remove useless initialization (Jaroslav Kysela) [2125544] - ASoC: mediatek: mt6366: support for mt6366 codec (Jaroslav Kysela) [2125544] - ASoC: msm8916-wcd-digital: Check failure for devm_snd_soc_register_component (Jaroslav Kysela) [2125544] - ASoC: nau8540: Implement hw constraint for rates (Jaroslav Kysela) [2125544] - ASoC: nau8*: use simple i2c probe function (Jaroslav Kysela) [2125544] - ASoC: mt6660: use simple i2c probe function (Jaroslav Kysela) [2125544] - ASoC: mt6359: Fix refcount leak bug (Jaroslav Kysela) [2125544] - ASoC: mediatek: mt6358: add missing EXPORT_SYMBOLs (Jaroslav Kysela) [2125544] - ASoC: msm8916-wcd-digital: Fix missing clk_disable_unprepare() in msm8916_wcd_digital_probe (Jaroslav Kysela) [2125544] - ASoC: codecs: msm8916-wcd-digital: move gains from SX_TLV to S8_TLV (Jaroslav Kysela) [2125544] - ASoC: ml26124: use simple i2c probe function (Jaroslav Kysela) [2125544] - ASoC: max9860: Use modern ASoC DAI format terminology (Jaroslav Kysela) [2125544] - ASoC: max98390: use linux/gpio/consumer.h to fix build (Jaroslav Kysela) [2125544] - ASoC: max98390: Add reset gpio control (Jaroslav Kysela) [2125544] - ASoC: codecs: soundwire: call pm_runtime_resume() in component probe (Jaroslav Kysela) [2125544] - ASoC: max98373: Removing 0x203E from the volatile reg (Jaroslav Kysela) [2125544] - ASoC: max98090: Use modern ASoC DAI format terminology (Jaroslav Kysela) [2125544] - ASoC: max98090: Fix event generation for custom controls (Jaroslav Kysela) [2125544] - ASoC: codecs: max98088: Clean up some inconsistent indenting (Jaroslav Kysela) [2125544] - ASoC: max980*: use i2c_match_id and simple i2c probe (Jaroslav Kysela) [2125544] - ASoC: lm4857: use simple i2c probe function (Jaroslav Kysela) [2125544] - ASoC: da732x: Drop no-op remove function (Jaroslav Kysela) [2125544] - ASoC: da7219: Drop no-op remove function (Jaroslav Kysela) [2125544] - ASoC: max9*: use simple i2c probe function (Jaroslav Kysela) [2125544] - ASoC: lm49xxx: use simple i2c probe function (Jaroslav Kysela) [2125544] - ASoC: hdmi-codec: Remove redundant big endian formats (Jaroslav Kysela) [2125544] - ASoC: es83*: use simple i2c probe function (Jaroslav Kysela) [2125544] - ASoC: codes: Add support for ES8316 producer mode (Jaroslav Kysela) [2125544] - ASoC: dmic: Add support for DSD data format (Jaroslav Kysela) [2125544] - ASoC: da[79]*: use simple i2c probe function (Jaroslav Kysela) [2125544] - ASoC: da7219: cancel AAD related work earlier for jack removal (Jaroslav Kysela) [2125544] - ASoC: da7219: Fix pole orientation detection on certain headsets (Jaroslav Kysela) [2125544] - ASoC: da7218: use i2c_match_id and simple i2c probe (Jaroslav Kysela) [2125544] - ASoC: cx2072x: use simple i2c probe function (Jaroslav Kysela) [2125544] - ASoC: cx2072x: Use modern ASoC DAI format terminology (Jaroslav Kysela) [2125544] - ASoC: cs4349: Remove redundant big endian formats (Jaroslav Kysela) [2125544] - ASoC: cs42l56: Fix the error handling of cs42l56_i2c_probe() (Jaroslav Kysela) [2125544] - ASoC: cs42l51: Remove redundant big endian formats (Jaroslav Kysela) [2125544] - ASoC: cs42l42: Only report button state if there was a button interrupt (Jaroslav Kysela) [2125544] - ASoC: cs4270: update kernel-doc (Jaroslav Kysela) [2125544] - ASoC: cs4270: Remove redundant big endian formats (Jaroslav Kysela) [2125544] - ASoC: cs35l41: Add support for CLSA3541 ACPI device ID (Jaroslav Kysela) [2125544] - ALSA: cs35l41: Enable Internal Boost in shared lib (Jaroslav Kysela) [2125544] - ASoC: cs35l41: Do not print error when waking from hibernation (Jaroslav Kysela) [2125544] - ASoC: cs35l36: Fix the error handling of cs35l36_i2c_probe() (Jaroslav Kysela) [2125544] - ASoC: cs*: use simple i2c probe function (Jaroslav Kysela) [2125544] - ASoC: arizona: Update arizona_aif_cfg_changed to use RX_BCLK_RATE (Jaroslav Kysela) [2125544] - ASoC: alc56*: use i2c_match_id and simple i2c probe (Jaroslav Kysela) [2125544] - ASoC: ak4613: cares Simple-Audio-Card case for TDM (Jaroslav Kysela) [2125544] - ASoC: ak4613: add TDM256 support (Jaroslav Kysela) [2125544] - ASoC: ak4613: rename constraint to constraint_rates (Jaroslav Kysela) [2125544] - ASoC: ak4613: priv has ctrl1 instead of iface (Jaroslav Kysela) [2125544] - ASoC: ak4613: return error if it was setup as clock provider (Jaroslav Kysela) [2125544] - ASoC: ak4613: tidyup ak4613_interface (Jaroslav Kysela) [2125544] - ASoC: ak4613: add missing mutex_lock() (Jaroslav Kysela) [2125544] - ASoC: ak4642: Drop no-op remove function (Jaroslav Kysela) [2125544] - ASoC: ak*: use i2c_match_id and simple i2c probe (Jaroslav Kysela) [2125544] - ASoC: ak4*: use simple i2c probe function (Jaroslav Kysela) [2125544] - ASoC: adau1761: Add ADAU1761-as-ADAU1361 compatibility mode (Jaroslav Kysela) [2125544] - ASoC: ada*, ssm*: use simple i2c probe function (Jaroslav Kysela) [2125544] - ASoC: ab8500: Remove some leftover from the "Replace GPLv2 boilerplate/reference with SPDX" rules (Jaroslav Kysela) [2125544] - ASoC: ad1*, ada*, ssm*: use i2c_match_id and simple i2c probe (Jaroslav Kysela) [2125544] - ASoC: test-component: Rename set_fmt_new back to set_fmt (Jaroslav Kysela) [2125544] - ASoC: simple-card-utils: rename asoc_simple_init_dai_link_params() to asoc_simple_init_for_codec2codec() (Jaroslav Kysela) [2125544] - ASoC: simple-card-utils.c: care Codec2Codec vs DPCM:BE (Jaroslav Kysela) [2125544] - ASoC: simple-card-utils.c: ignore Codec2Codec setting if it already have (Jaroslav Kysela) [2125544] - ASoC: simple-card-utils: Make asoc_simple_clean_reference() return void (Jaroslav Kysela) [2125544] - ASoC: audio-graph-card2: indicate "Experimental stage" warning only when successed (Jaroslav Kysela) [2125544] - ASoC: audio-graph-card2: Add of_node_put() in fail path (Jaroslav Kysela) [2125544] - ASoc: audio-graph-card2: Fix refcount leak bug in __graph_get_type() (Jaroslav Kysela) [2125544] - ASoC: audio-graph-card2.c: remove pre-alloced Codec2Codec space (Jaroslav Kysela) [2125544] - ASoC: audio-graph-card2.c: make Codec2Codec settings optional (Jaroslav Kysela) [2125544] - ASoC: audio-graph-card2.c: use of_property_read_u32() for rate (Jaroslav Kysela) [2125544] - ASoC: audio_graph_card2: Fix port numbers in example (Jaroslav Kysela) [2125544] - ASoC: audio-graph-card2-custom-sample.dtsi: add verbose explanation (Jaroslav Kysela) [2125544] - ASoC: audio-graph-card: Add of_node_put() in fail path (Jaroslav Kysela) [2125544] - ASoC: test-component: Update to use set_fmt_new callback (Jaroslav Kysela) [2125544] - ASoC: Intel: boards: use software node API in Atom boards (Jaroslav Kysela) [2125544] - ASoC: Intel: sof_ssp_amp: remove 'set-but-not-used' warning (Jaroslav Kysela) [2125544] - ASoC: Intel: sof_sdw: avoid oops in error handling (Jaroslav Kysela) [2125544] - ASoC: Intel: use software node API in SoundWire machines (Jaroslav Kysela) [2125544] - ASoC: Intel: boards: sof_sdw: remove use of __func__ in dev_dbg (Jaroslav Kysela) [2125544] - ASoC: Intel: catpt: use pm_runtime_resume_and_get() (Jaroslav Kysela) [2125544] - ASoC: Intel: catpt: Drop redundant enum constant (Jaroslav Kysela) [2125544] - ASoC: Intel: catpt: remove duplicating driver data retrieval (Jaroslav Kysela) [2125544] - ASoC: Intel: sof_ssp_amp: enable capture stream from cs35l41 (Jaroslav Kysela) [2125544] - ASoC: Intel: sof_sdw: allow HDaudio/HDMI disable (Jaroslav Kysela) [2125544] - ASoC: Intel: sof_sdw: add quirk for HP Omen 16-k0005TX (Jaroslav Kysela) [2125544] - ASoC: intel: sof_sdw: add RT711 SDCA card for MTL platform (Jaroslav Kysela) [2125544] - ASoC: Intel: sof_pcm512x: remove unnecessary init (Jaroslav Kysela) [2125544] - ASoC: Intel: sof_nau8825: Move quirk check to the front in late probe (Jaroslav Kysela) [2125544] - ASoC: Intel: sof_sdw: add support for Dell SKU 0AFF (Jaroslav Kysela) [2125544] - ASoC: Intel: sof_sdw: add support for Dell SKU 0AF0 (Jaroslav Kysela) [2125544] - ASoC: Intel: sof_rt5682: Perform quirk check first in card late probe (Jaroslav Kysela) [2125544] - ASoC: Intel: sof_rt5682: Add support for mtl_mx98357_rt5682 (Jaroslav Kysela) [2125544] - ASoC: Intel: sof_rt5682: fix out-of-bounds array access (Jaroslav Kysela) [2125544] - ASoC: Intel: sof_rt5682: remap jack pins (Jaroslav Kysela) [2125544] - ASoC: Intel: boards: rename RTL1019 compatible driver to rt1019p (Jaroslav Kysela) [2125544] - ASoC: Intel: sof_nau8825: remap jack pins (Jaroslav Kysela) [2125544] - ASoC: Intel: kbl_da7219_max98927: remap jack pins (Jaroslav Kysela) [2125544] - ALSA: x86: intel_hdmi_audio: use pm_runtime_resume_and_get() (Jaroslav Kysela) [2125544] - ALSA: x86: intel_hdmi_audio: enable pm_runtime and set autosuspend delay (Jaroslav Kysela) [2125544] - ASoC: xtensa: Update to use set_fmt_new callback (Jaroslav Kysela) [2125544] - ASoC: xtensa: Migrate to new style legacy DAI naming flag (Jaroslav Kysela) [2125544] - ASoC: uniphier: make arrays mul and div static const, makes object smaller (Jaroslav Kysela) [2125544] - ASoC: uniphier: simplify the return expression of uniphier_aio_compr_set_params() (Jaroslav Kysela) [2125544] - ASoC: spear: Migrate to new style legacy DAI naming flag (Jaroslav Kysela) [2125544] - ASoC: SOF: sof-client: remove use of __func__ in dev_dbg (Jaroslav Kysela) [2125544] - ASoC: SOF: ipc3-topology: remove use of __func__ in dev_dbg (Jaroslav Kysela) [2125544] - ASoC: SOF: Intel: hda-stream: test DMA buffer first in hw_params (Jaroslav Kysela) [2125544] - ASoC: SOF: Intel: hda-stream: remove use of __func__ in dev_dbg (Jaroslav Kysela) [2125544] - ASoC: SOF: Intel: hda-ipc: Do not process IPC reply before firmware boot (Jaroslav Kysela) [2125544] - ASoC: SOF: Intel: hda-dsp: report error on power-up/down (Jaroslav Kysela) [2125544] - ASoC: SOF: Intel: hda-dai: Drop misleading comment regarding dma_data (Jaroslav Kysela) [2125544] - ASoC: SOF: Intel: hda-dai: remove use of __func__ in dev_dbg (Jaroslav Kysela) [2125544] - ASoC: Intel: fix sof_es8336 probe (Jaroslav Kysela) [2125544] - ASoC: Intel: sof_es8336: remove hard-coded SSP selection (Jaroslav Kysela) [2125544] - ASoC: Intel: sof_es8336: reset the num_links during probe (Jaroslav Kysela) [2125544] - ASoC: Intel: sof_es8336: add support for HDMI_In capture (Jaroslav Kysela) [2125544] - ASoC: Intel: common: fix typo for tplg naming (Jaroslav Kysela) [2125544] - ASoC: Intel: sof_rt5682: Add support for adl_rt1019_rt5682s (Jaroslav Kysela) [2125544] - ASoC: Intel: soc-acpi: add table for HP Omen 16-k0005TX (Jaroslav Kysela) [2125544] - ASoC: Intel: soc-acpi: Add entry for sof_es8336 in ADL match table (Jaroslav Kysela) [2125544] - ASoC: Intel: sof_es8336: ignore GpioInt when looking for speaker/headset GPIO lines (Jaroslav Kysela) [2125544] - ASoC: Intel: sof_es8336: Fix GPIO quirks set via module option (Jaroslav Kysela) [2125544] - ASoC: Intel: sof_da7219_max98373: remap jack pins (Jaroslav Kysela) [2125544] - ASoC: Intel: sof_cs42l42: add adl_mx98360a_cs4242 board config (Jaroslav Kysela) [2125544] - ASoC: Intel: sof_cs42l42: support BT offload audio (Jaroslav Kysela) [2125544] - ASoC: Intel: sof_cs42l42: remap jack pins (Jaroslav Kysela) [2125544] - ASoC: Intel: skl_nau88l25_ssm4567: remap jack pins (Jaroslav Kysela) [2125544] - ASoC: Intel: skl_nau88l25_max98357a: remap jack pins (Jaroslav Kysela) [2125544] - ASoC: Intel: kbl_rt5663_rt5514_max98927: remap jack pins (Jaroslav Kysela) [2125544] - ASoC: Intel: kbl_rt5663_max98927: remap jack pins (Jaroslav Kysela) [2125544] - ASoC: Intel: kbl_da7219_max98357a: remap jack pins (Jaroslav Kysela) [2125544] - ASoC: Intel: boards: hda: remove use of __func__ in dev_dbg (Jaroslav Kysela) [2125544] - ASoC: Intel: glk_rt5682_max98357a: remap jack pins (Jaroslav Kysela) [2125544] - ASoC: Intel: cml_rt1011_rt5682: remap jack pins (Jaroslav Kysela) [2125544] - ASoC: Intel: boards: Use temporary variable for struct device (Jaroslav Kysela) [2125544] - ASoC: Intel: boards: reset acpi_chan_package (Jaroslav Kysela) [2125544] - ASoC: codecs: rt298: Reorganize jack detect handling (Jaroslav Kysela) [2125544] - ASoC: Intel: bxt_da7219_max98357a: remap jack pins (Jaroslav Kysela) [2125544] - ASoC: Intel: hsw_rt5640: Mark BE DAI as nonatomic (Jaroslav Kysela) [2125544] - ASoC: Intel: hsw_rt5640: Improve hw_params() debug-ability (Jaroslav Kysela) [2125544] - ASoC: Intel: hsw_rt5640: Improve probe() function quality (Jaroslav Kysela) [2125544] - ASoC: Intel: hsw_rt5640: Update file comments (Jaroslav Kysela) [2125544] - ASoC: Intel: hsw_rt5640: Update code indentation (Jaroslav Kysela) [2125544] - ASoC: Intel: hsw_rt5640: Reword driver name (Jaroslav Kysela) [2125544] - ASoC: Intel: hsw_rt5640: Reword prefixes of all driver members (Jaroslav Kysela) [2125544] - ASoC: Intel: Rename haswell source file to hsw_rt5640 (Jaroslav Kysela) [2125544] - ASoC: Intel: atom: sst_ipc: remove redundant test (Jaroslav Kysela) [2125544] - ASoC: Intel: bdw_rt286: Mark BE DAI as nonatomic (Jaroslav Kysela) [2125544] - ASoC: Intel: bdw_rt286: Remove FE DAI ops (Jaroslav Kysela) [2125544] - ASoC: Intel: bdw_rt286: Improve codec_init() quality (Jaroslav Kysela) [2125544] - ASoC: Intel: bdw_rt286: Improve hw_params() debug-ability (Jaroslav Kysela) [2125544] - ASoC: Intel: bdw_rt286: Improve probe() function quality (Jaroslav Kysela) [2125544] - ASoC: Intel: bdw_rt286: Update file comments (Jaroslav Kysela) [2125544] - ASoC: Intel: bdw_rt286: Update code indentation (Jaroslav Kysela) [2125544] - ASoC: Intel: bdw_rt286: Reword driver name (Jaroslav Kysela) [2125544] - ASoC: Intel: bdw_rt286: Reword prefixes of all driver members (Jaroslav Kysela) [2125544] - ASoC: Intel: Rename broadwell source file to bdw_rt286 (Jaroslav Kysela) [2125544] - ASoC: codecs: rt286: Reorganize jack detect handling (Jaroslav Kysela) [2125544] - ASoC: Intel: broadwell: Make broadwell_disable_jack() return void (Jaroslav Kysela) [2125544] - ASoC: Intel: bdw_rt5677: Mark BE DAI as nonatomic (Jaroslav Kysela) [2125544] - ASoC: Intel: bdw_rt5650: Mark BE DAI as nonatomic (Jaroslav Kysela) [2125544] - ASoC: Intel: atom: sst_ipc: remove useless initializations (Jaroslav Kysela) [2125544] - ASoC: Intel: atom: use pm_runtime_resume_and_get() (Jaroslav Kysela) [2125544] - ASoC: Intel: atom: sst: remove useless initialization (Jaroslav Kysela) [2125544] - ASoC: intel: atom: Remove superfluous flush_scheduled_work() (Jaroslav Kysela) [2125544] - ASoC: Intel: Update to use set_fmt_new callback (Jaroslav Kysela) [2125544] - ASoC: Intel: atom: controls: remove useless initializations (Jaroslav Kysela) [2125544] - ASoC: Intel: Migrate to new style legacy DAI naming flag (Jaroslav Kysela) [2125544] - ASoC: Intel: skylake: skl-pcm: use pm_runtime_resume_and_get() (Jaroslav Kysela) [2125544] - ASoC: Intel: Skylake: remove redundant re-assignments to pointer array (Jaroslav Kysela) [2125544] - ASoC: SOF: Intel: bdw: remove duplicating driver data retrieval (Jaroslav Kysela) [2125544] - ASoC: SOF: Intel: byt: remove duplicating driver data retrieval (Jaroslav Kysela) [2125544] - ASoC: SOF: Intel: cnl: Do not process IPC reply before firmware boot (Jaroslav Kysela) [2125544] - ASoC: SOF: Intel: hda-dai: Do snd_hdac_ext_stream_decouple() only once (Jaroslav Kysela) [2125544] - ASoC: SOF: Intel: hda: Fix potential buffer overflow by snprintf() (Jaroslav Kysela) [2125544] - ASoC: SOF: Intel: hda: add sanity check on SSP index reported by NHLT (Jaroslav Kysela) [2125544] - ASoC: SOF: Intel: hda: only fixup topology name if not set already (Jaroslav Kysela) [2125544] - ASoC: SOF: Intel: hda: don't set fw_filename (Jaroslav Kysela) [2125544] - ASoC: SOF: Intel: enable dmic handling with 2 or fewer SoundWire links (Jaroslav Kysela) [2125544] - ASoC: soc-core: accept zero format at snd_soc_runtime_set_dai_fmt() (Jaroslav Kysela) [2125544] - ASoC: SOF: compress: Prevent current kernel running with older FW (Jaroslav Kysela) [2125544] - ASoC: SOF: Copy compress parameters into extended data (Jaroslav Kysela) [2125544] - ASoC: SOF: compress: Dynamically allocate pcm params struct (Jaroslav Kysela) [2125544] - ASoC: SOF: Intel: atom: don't keep a temporary string in fixup_tplg_name (Jaroslav Kysela) [2125544] - ASoC: SOF: Intel: add trigger callback into sdw_callback (Jaroslav Kysela) [2125544] - ASoC: SOF: Intel: hda: Correct the ROM/FW state reporting code (Jaroslav Kysela) [2125544] - ASoC: SOF: Intel: MTL: remove redundant snd_sof_dsp_read() call (Jaroslav Kysela) [2125544] - ASoC: SOF: Intel: mtl: Do not process IPC reply before firmware boot (Jaroslav Kysela) [2125544] - ASoC: SOF: Intel: mtl: remove use of __func__ in dev_dbg (Jaroslav Kysela) [2125544] - ASoC: SOF: Intel: hda: Introduce skip_imr_boot flag (Jaroslav Kysela) [2125544] - ASoC: SOF: Intel: disable IMR boot when resuming from ACPI S4 and S5 states (Jaroslav Kysela) [2125544] - ASoC: SOF: Intel: IPC4: enable IMR boot (Jaroslav Kysela) [2125544] - ASoC: SOC: Intel: introduce cl_init callback (Jaroslav Kysela) [2125544] - ASoC: SOF: Intel: Do not (wrongly) assume positive return value in IMR path (Jaroslav Kysela) [2125544] - ASoC: SOF: Intel: hda: Revisit IMR boot sequence (Jaroslav Kysela) [2125544] - ASoC: SOF: ipc3-dtrace: remove use of __func__ in dev_dbg (Jaroslav Kysela) [2125544] - ASoC: SOF: ipc3-loader: remove use of __func__ in dev_dbg (Jaroslav Kysela) [2125544] - ASoC: SOF: ipc3-loader: Print out the non matching ext_man magic number (Jaroslav Kysela) [2125544] - ASoC: SOF: ipc3-topology: Fix clang -Wformat warning (Jaroslav Kysela) [2125544] - ASoC: SOF: remove warning on ABI checks (Jaroslav Kysela) [2125544] - ASoC: SOF: ipc4-topology: Fix error code in sof_ipc4_volume_put() (Jaroslav Kysela) [2125544] - ASoC: SOF: ipc4-pcm: set pcm rate to dai setting (Jaroslav Kysela) [2125544] - ASoC: SOF: reduce default verbosity of IPC logs (Jaroslav Kysela) [2125544] - Revert "RedHat: ASoC: SOF: Intel: do not enable IMR boot when resuming by default" (Jaroslav Kysela) [2125544] - ASoC: SOF: ipc4-topology: fix alh_group_ida max value (Jaroslav Kysela) [2125544] - ASoC: SOF: ipc4-topology: fix wrong use of sizeof in sof_ipc4_widget_setup_comp_src() (Jaroslav Kysela) [2125544] - ASoC: SOF: ipc4-topology: set domain bit based on dp domain type (Jaroslav Kysela) [2125544] - ASoC: SOF: add ipc4 SRC module support (Jaroslav Kysela) [2125544] - ASoC: SOF: ipc4-topology: move ida allocate/free to widget_setup/free (Jaroslav Kysela) [2125544] - ASoC: SOF: ipc4-topology: free memories allocated in sof_ipc4_get_audio_fmt (Jaroslav Kysela) [2125544] - ASoC: SOF: ipc4-topology: check dai->private in ipc_free() (Jaroslav Kysela) [2125544] - ASoC: SOF: ipc4-topology remove use of __func__ in dev_dbg (Jaroslav Kysela) [2125544] - ASoC: SOF: ipc4-topology: add SoundWire/ALH aggregation support (Jaroslav Kysela) [2125544] - ASoC: SOF: ipc4: remove use of __func__ in dev_dbg (Jaroslav Kysela) [2125544] - ASoC: SOF: Compile and runtime IPC version selection (Jaroslav Kysela) [2125544] - ASoC: SOF: mediatek: Align mt8186 clock names with dt-bindings (Jaroslav Kysela) [2125544] - ASoC: SOF: mediatek: Fix error code in probe (Jaroslav Kysela) [2125544] - ASoC: SOF: mediatek: Revise mt8195 boot flow (Jaroslav Kysela) [2125544] - ASoC: SOF: mediatek: fix mt8195 StatvectorSel wrong setting (Jaroslav Kysela) [2125544] - ASoC: SOF: pcm: use pm_resume_and_get() on component probe (Jaroslav Kysela) [2125544] - ASoC: SOF: ipc-msg-injector: fix copy in sof_msg_inject_ipc4_dfs_write() (Jaroslav Kysela) [2125544] - ASoC: sof: Migrate to new style legacy DAI naming flag (Jaroslav Kysela) [2125544] - ASoC: SOF: sof-client-probes: Only load the driver if IPC3 is used (Jaroslav Kysela) [2125544] - ASoC: SOF: probes: rename assign/free callbacks as startup/shutdown (Jaroslav Kysela) [2125544] - ASoC: SOF: Add cont_update_posn to platform parameters (Jaroslav Kysela) [2125544] - ASoC: SOF: pm: add definitions for S4 and S5 states (Jaroslav Kysela) [2125544] - ASoC: SOF: pm: add explicit behavior for ACPI S1 and S2 (Jaroslav Kysela) [2125544] - ASoC: SOF: debug: Clarify the IPC timeout handling path (Jaroslav Kysela) [2125544] - ASoC: SOF: topology: remove unused variable (Jaroslav Kysela) [2125544] - ASoC: SOF: Switch to IPC generic firmware tracing (Jaroslav Kysela) [2125544] - ALSA: sc6000: Fix the missing snd_card_free() call at probe error (Jaroslav Kysela) [2125544] - ALSA: gus: Fix memory leaks at memory allocator error paths (Jaroslav Kysela) [2125544] - ALSA: sound/isa/gus: check the return value of kstrdup() (Jaroslav Kysela) [2125544] - ALSA: gus: Fix erroneous memory allocation (Jaroslav Kysela) [2125544] - ALSA: galaxy: Fix the missing snd_card_free() call at probe error (Jaroslav Kysela) [2125544] - ALSA: cs4236: fix an incorrect NULL check on list iterator (Jaroslav Kysela) [2125544] - ALSA: aloop: Fix random zeros in capture data when using jiffies timer (Jaroslav Kysela) [2125544] - ALSA: Add generic serial MIDI driver using serial bus API (Jaroslav Kysela) [2125544] - ASoC: Intel: avs: Fix potential buffer overflow by snprintf() (Jaroslav Kysela) [2125544] - ASoC: Intel: avs: Use lookup table to create modules (Jaroslav Kysela) [2125544] - ASoC: Intel: avs: Update AVS_FW_INIT_TIMEOUT_US declaration (Jaroslav Kysela) [2125544] - ASoC: Intel: avs: Lower UNLOAD_MULTIPLE_MODULES IPC timeout (Jaroslav Kysela) [2125544] - ASoC: Intel: avs: Replace hardcodes with SD_CTL_STREAM_RESET (Jaroslav Kysela) [2125544] - ASoC: Intel: avs: Recognize FW_CFG_RESERVED (Jaroslav Kysela) [2125544] - ASoC: Intel: avs: Use helper function to set up DMA (Jaroslav Kysela) [2125544] - ASoC: Intel: avs: Set max DMA segment size (Jaroslav Kysela) [2125544] - ASoC: Intel: avs: Block IPC channel on suspend (Jaroslav Kysela) [2125544] - ASoC: Intel: avs: Shield LARGE_CONFIG_GETs against zero payload_size (Jaroslav Kysela) [2125544] - ASoC: Intel: avs: Copy only as many RX bytes as necessary (Jaroslav Kysela) [2125544] - ASoC: Intel: avs: Relax DSP core transition timings (Jaroslav Kysela) [2125544] - ASoC: Intel: avs: Assign I2S gateway when parsing topology (Jaroslav Kysela) [2125544] - ASoC: Intel: avs: Fix i2s_test card name initialization (Jaroslav Kysela) [2125544] - ASoC: Intel: avs: correct config reference for I2S test board (Jaroslav Kysela) [2125544] - ASoC: Intel: avs: Remove now redundant non_legacy_dai_naming flag (Jaroslav Kysela) [2125544] - ASoC: Intel: avs: Fix parsing UUIDs in topology (Jaroslav Kysela) [2125544] - ASoC: Intel: avs: Add da7219 machine board (Jaroslav Kysela) [2125544] - ASoC: Intel: avs: Add max98373 machine board (Jaroslav Kysela) [2125544] - ASoC: Intel: avs: Add max98357a machine board (Jaroslav Kysela) [2125544] - ASoC: Intel: avs: Add ssm4567 machine board (Jaroslav Kysela) [2125544] - ASoC: Intel: avs: Add nau8825 machine board (Jaroslav Kysela) [2125544] - ASoC: Intel: avs: Add rt5682 machine board (Jaroslav Kysela) [2125544] - ASoC: Intel: avs: Add rt298 machine board (Jaroslav Kysela) [2125544] - ASoC: Intel: avs: Add rt286 machine board (Jaroslav Kysela) [2125544] - ASoC: Intel: avs: Add rt274 machine board (Jaroslav Kysela) [2125544] - ASoC: Intel: avs: Add I2S-test machine board (Jaroslav Kysela) [2125544] - ASoC: Intel: avs: Add DMIC machine board (Jaroslav Kysela) [2125544] - ASoC: Intel: avs: Fix build error on arc, m68k and sparc (Jaroslav Kysela) [2125544] - ASoC: Intel: avs: APL-based platforms support (Jaroslav Kysela) [2125544] - ASoC: Intel: avs: SKL-based platforms support (Jaroslav Kysela) [2125544] - ASoC: Intel: avs: Power management (Jaroslav Kysela) [2125544] - ASoC: Intel: avs: Machine board registration (Jaroslav Kysela) [2125544] - ASoC: Intel: avs: Replace link_mask usage with i2s_link_mask (Jaroslav Kysela) [2125544] - ASoC: Intel: avs: Event tracing (Jaroslav Kysela) [2125544] - ASoC: Intel: avs: D0ix power state support (Jaroslav Kysela) [2125544] - ASoC: Intel: avs: Prepare for firmware tracing (Jaroslav Kysela) [2125544] - ASoC: Intel: avs: Register HDAudio ext-bus operations (Jaroslav Kysela) [2125544] - ASoC: Intel: avs: Add HDAudio machine board (Jaroslav Kysela) [2125544] - ASoC: Intel: avs: PCI driver implementation (Jaroslav Kysela) [2125544] - ASoC: Intel: avs: Coredump and recovery flow (Jaroslav Kysela) [2125544] - ASoC: Intel: avs: Drop direct ACPI dependency (Jaroslav Kysela) [2125544] - ASoC: Intel: avs: Depend on SND_INTEL_DSP_CONFIG (Jaroslav Kysela) [2125544] - ASoC: Intel: avs: Enable AVS driver only on x86 platforms (Jaroslav Kysela) [2125544] - ASoC: Intel: avs: HDA PCM BE operations (Jaroslav Kysela) [2125544] - ASoC: Intel: avs: non-HDA PCM BE operations (Jaroslav Kysela) [2125544] - ASoC: Intel: avs: Generic PCM FE operations (Jaroslav Kysela) [2125544] - ASoC: Intel: avs: Generic soc component driver (Jaroslav Kysela) [2125544] - ASoC: Intel: avs: Account for libraries when booting basefw (Jaroslav Kysela) [2125544] - ASoC: Intel: avs: Configure modules according to their type (Jaroslav Kysela) [2125544] - ASoC: Intel: avs: Prepare modules before bindings them (Jaroslav Kysela) [2125544] - ASoC: Intel: avs: Arm paths after creating them (Jaroslav Kysela) [2125544] - ASoC: Intel: avs: Path state management (Jaroslav Kysela) [2125544] - ASoC: Intel: avs: Path creation and freeing (Jaroslav Kysela) [2125544] - ASoC: Intel: avs: Declare path and its components (Jaroslav Kysela) [2125544] - ASoC: Intel: avs: Support link_mask formatted string (Jaroslav Kysela) [2125544] - ASoC: Intel: avs: Add topology loading operations (Jaroslav Kysela) [2125544] - ASoC: Intel: avs: Parse path and path templates tuples (Jaroslav Kysela) [2125544] - ASoC: Intel: avs: Parse pipeline and module tuples (Jaroslav Kysela) [2125544] - ASoC: Intel: avs: Parse pplcfg and binding tuples (Jaroslav Kysela) [2125544] - ASoC: Intel: avs: Parse module-extension tuples (Jaroslav Kysela) [2125544] - ASoC: Intel: avs: Add topology parsing infrastructure (Jaroslav Kysela) [2125544] - ASoC: SOF: Intel: add MeteorLake machines (Jaroslav Kysela) [2125544] - ASoC: Intel: avs: Declare vendor tokens (Jaroslav Kysela) [2125544] - ASoC: SOF: dai-intel: add SOF_DAI_INTEL_SSP_CLKCTRL_MCLK_AON bit (Jaroslav Kysela) [2125544] - uapi: sof: abi: Bump SOF ABI for ext_data_length (Jaroslav Kysela) [2125544] - ASoC: SOF: Add two new structures for topology manifest data (Jaroslav Kysela) [2125544] - ASoC: SOF: ipc: introduce cont_update_posn in sof_ipc_stream_params struct (Jaroslav Kysela) [2125544] - ASoC: SOF: bump SOF_ABI_MINOR (Jaroslav Kysela) [2125544] - ASoC: SOF: Add header for IPC4 manifest (Jaroslav Kysela) [2125544] - ASoC: SOF: topology: add code to parse config params for ACPDMIC dai (Jaroslav Kysela) [2125544] - ASoC: SOF: Add topology tokens for IPC4 (Jaroslav Kysela) [2125544] - ASoC: hdac_hda: Add endianness flag in snd_soc_component_driver (Jaroslav Kysela) [2125544] - ASoC: max98504: Add endianness flag in snd_soc_component_driver (Jaroslav Kysela) [2125544] - ASoC: adau1372: Add endianness flag in snd_soc_component_driver (Jaroslav Kysela) [2125544] - ASoC: cx2072x: Add endianness flag in snd_soc_component_driver (Jaroslav Kysela) [2125544] - ASoC: mt6351: Add endianness flag in snd_soc_component_driver (Jaroslav Kysela) [2125544] - ASoC: mt6358: Add endianness flag in snd_soc_component_driver (Jaroslav Kysela) [2125544] - ASoC: mt6359: Add endianness flag in snd_soc_component_driver (Jaroslav Kysela) [2125544] - ASoC: mt6660: Add endianness flag in snd_soc_component_driver (Jaroslav Kysela) [2125544] - ASoC: pcm3060: Add endianness flag in snd_soc_component_driver (Jaroslav Kysela) [2125544] - ASoC: rt9120: Add endianness flag in snd_soc_component_driver (Jaroslav Kysela) [2125544] - ASoC: wcd9335: Add endianness flag in snd_soc_component_driver (Jaroslav Kysela) [2125544] - ASoC: rt700: Add endianness flag in snd_soc_component_driver (Jaroslav Kysela) [2125544] - ASoC: rt715: Add endianness flag in snd_soc_component_driver (Jaroslav Kysela) [2125544] - ASoC: rt715-sdca: Add endianness flag in snd_soc_component_driver (Jaroslav Kysela) [2125544] - ASoC: rt1308-sdw: Add endianness flag in snd_soc_component_driver (Jaroslav Kysela) [2125544] - ASoC: rt1316-sdw: Add endianness flag in snd_soc_component_driver (Jaroslav Kysela) [2125544] - ASoC: wsa881x: Add endianness flag in snd_soc_component_driver (Jaroslav Kysela) [2125544] - ASoC: sdw-mockup: Add endianness flag in snd_soc_component_driver (Jaroslav Kysela) [2125544] - ASoC: lochnagar: Remove now redundant non_legacy_dai_naming flag (Jaroslav Kysela) [2125544] - ASoC: lochnagar: Add endianness flag in snd_soc_component_driver (Jaroslav Kysela) [2125544] - ASoC: tfa*: Remove now redundant non_legacy_dai_naming flag (Jaroslav Kysela) [2125544] - ASoC: tfa9879: Use modern ASoC DAI format terminology (Jaroslav Kysela) [2125544] - ASoC: tlv320*: Remove now redundant non_legacy_dai_naming flag (Jaroslav Kysela) [2125544] - ASoC: cs*: Remove now redundant non_legacy_dai_naming flag (Jaroslav Kysela) [2125544] - ASoC: wm*: Remove now redundant non_legacy_dai_naming flag (Jaroslav Kysela) [2125544] - ASoC: wm9090: Remove redundant endianness flag (Jaroslav Kysela) [2125544] - ASoC: wm8731: Factor out the I2C and SPI bus code into separate modules (Jaroslav Kysela) [2125544] - ASoC: wm8731: Factor our MCLK and mutex initialisation (Jaroslav Kysela) [2125544] - ASoC: wm8731: Move regulator request into wm8731_init() (Jaroslav Kysela) [2125544] - ASoC: wm8731: Factor component init out of bus code (Jaroslav Kysela) [2125544] - ASoC: wm8731: Update to modern DAI terminology (Jaroslav Kysela) [2125544] - ASoC: wm2000: fix missing clk_disable_unprepare() on error in wm2000_anc_transition() (Jaroslav Kysela) [2125544] - ASoC: wm2000: Remove redundant endianness flag (Jaroslav Kysela) [2125544] - ASoC: wm*: use simple i2c probe function (Jaroslav Kysela) [2125544] - ASoC: tas2764: Fix amp gain register offset & default (Jaroslav Kysela) [2125544] - ASoC: tas2764: Correct playback volume range (Jaroslav Kysela) [2125544] - ASoC: tas2764: Fix and extend FSYNC polarity handling (Jaroslav Kysela) [2125544] - ASoC: tas2764: Add post reset delays (Jaroslav Kysela) [2125544] - ASoC: tas*: Remove now redundant non_legacy_dai_naming flag (Jaroslav Kysela) [2125544] - ASoC: tas*: use simple i2c probe function (Jaroslav Kysela) [2125544] - ASoC: tas2764: constify static struct snd_soc_dai_ops (Jaroslav Kysela) [2125544] - ASoC: tas*: sync parameter naming (rate/sample_bits) (Jaroslav Kysela) [2125544] - ASoC: tas2764: Add the driver for the TAS2764 (Jaroslav Kysela) [2125544] - ASoC: max98396: Fix TDM mode BSEL settings (Jaroslav Kysela) [2125544] - ASoC: max*: Remove now redundant non_legacy_dai_naming flag (Jaroslav Kysela) [2125544] - ASoC: max98396: Implement DSP speaker monitor (Jaroslav Kysela) [2125544] - ASoC: max98396: Fix register access for PCM format settings (Jaroslav Kysela) [2125544] - ASoC: max98396: Improve some error prints (Jaroslav Kysela) [2125544] - ASoC: max98396: add voltage regulators (Jaroslav Kysela) [2125544] - ASoC: max98396: Fix build error for implicit function declaration (Jaroslav Kysela) [2125544] - ASoC: max98396: add amplifier driver (Jaroslav Kysela) [2125544] - ASoC: rt*: Remove now redundant non_legacy_dai_naming flag (Jaroslav Kysela) [2125544] - ASoC: rt1019: Add endianness flag in snd_soc_component_driver (Jaroslav Kysela) [2125544] - ASoC: rt*: use simple i2c probe function (Jaroslav Kysela) [2125544] - ASoC: fsl: Remove now redundant non_legacy_dai_naming flag (Jaroslav Kysela) [2125544] - ASoC: pistachio: Remove now redundant non_legacy_dai_naming flag (Jaroslav Kysela) [2125544] - ASoC: samsung: Remove now redundant non_legacy_dai_naming flag (Jaroslav Kysela) [2125544] - ASoC: sunxi: Remove now redundant non_legacy_dai_naming flag (Jaroslav Kysela) [2125544] - ASoC: tegra: Remove now redundant non_legacy_dai_naming flag (Jaroslav Kysela) [2125544] - ASoC: test-component: Remove now redundant non_legacy_dai_naming flag (Jaroslav Kysela) [2125544] - ASoC: uniphier: Remove now redundant non_legacy_dai_naming flag (Jaroslav Kysela) [2125544] - ASoC: ad*: Remove now redundant non_legacy_dai_naming flag (Jaroslav Kysela) [2125544] - ASoC: ak*: Remove now redundant non_legacy_dai_naming flag (Jaroslav Kysela) [2125544] - ASoC: alc*: Remove now redundant non_legacy_dai_naming flag (Jaroslav Kysela) [2125544] - ASoC: da*: Remove now redundant non_legacy_dai_naming flag (Jaroslav Kysela) [2125544] - ASoC: es*: Remove now redundant non_legacy_dai_naming flag (Jaroslav Kysela) [2125544] - ASoC: msm*: Remove now redundant non_legacy_dai_naming flag (Jaroslav Kysela) [2125544] - ASoC: nau*: Remove now redundant non_legacy_dai_naming flag (Jaroslav Kysela) [2125544] - ASoC: pcm*: Remove now redundant non_legacy_dai_naming flag (Jaroslav Kysela) [2125544] - ASoC: spdif: Remove now redundant non_legacy_dai_naming flag (Jaroslav Kysela) [2125544] - ASoC: ssm*: Remove now redundant non_legacy_dai_naming flag (Jaroslav Kysela) [2125544] - ASoC: sta*: Remove now redundant non_legacy_dai_naming flag (Jaroslav Kysela) [2125544] - ASoC: twl*: Remove now redundant non_legacy_dai_naming flag (Jaroslav Kysela) [2125544] - ASoC: uda*: Remove now redundant non_legacy_dai_naming flag (Jaroslav Kysela) [2125544] - ASoC: 88pm860x: Remove now redundant non_legacy_dai_naming flag (Jaroslav Kysela) [2125544] - ASoC: ab8500: Remove now redundant non_legacy_dai_naming flag (Jaroslav Kysela) [2125544] - ASoC: ac97: Remove now redundant non_legacy_dai_naming flag (Jaroslav Kysela) [2125544] - ASoC: ads117x: Remove now redundant non_legacy_dai_naming flag (Jaroslav Kysela) [2125544] - ASoC: bd28623: Remove now redundant non_legacy_dai_naming flag (Jaroslav Kysela) [2125544] - ASoC: bt-sco: Remove now redundant non_legacy_dai_naming flag (Jaroslav Kysela) [2125544] - ASoC: cpcap: Remove now redundant non_legacy_dai_naming flag (Jaroslav Kysela) [2125544] - ASoC: cq93vc: Remove now redundant non_legacy_dai_naming flag (Jaroslav Kysela) [2125544] - ASoC: cx20442: Remove now redundant non_legacy_dai_naming flag (Jaroslav Kysela) [2125544] - ASoC: dmic: Remove now redundant non_legacy_dai_naming flag (Jaroslav Kysela) [2125544] - ASoC: gtm601: Remove now redundant non_legacy_dai_naming flag (Jaroslav Kysela) [2125544] - ASoC: hdac_hdmi: Remove now redundant non_legacy_dai_naming flag (Jaroslav Kysela) [2125544] - ASoC: hdmi-codec: Remove now redundant non_legacy_dai_naming flag (Jaroslav Kysela) [2125544] - ASoC: ics43432: Remove now redundant non_legacy_dai_naming flag (Jaroslav Kysela) [2125544] - ASoC: inno_rk3036: Remove now redundant non_legacy_dai_naming flag (Jaroslav Kysela) [2125544] - ASoC: isabelle: Remove now redundant non_legacy_dai_naming flag (Jaroslav Kysela) [2125544] - ASoC: jz4740: Remove now redundant non_legacy_dai_naming flag (Jaroslav Kysela) [2125544] - ASoC: lm49453: Remove now redundant non_legacy_dai_naming flag (Jaroslav Kysela) [2125544] - ASoC: mc13783: Remove now redundant non_legacy_dai_naming flag (Jaroslav Kysela) [2125544] - ASoC: ml26124: Remove now redundant non_legacy_dai_naming flag (Jaroslav Kysela) [2125544] - ASoC: sgtl5000: Remove now redundant non_legacy_dai_naming flag (Jaroslav Kysela) [2125544] - ASoC: si476x: Remove now redundant non_legacy_dai_naming flag (Jaroslav Kysela) [2125544] - ASoC: stac9766: Remove now redundant non_legacy_dai_naming flag (Jaroslav Kysela) [2125544] - ASoC: sti-sas: Remove now redundant non_legacy_dai_naming flag (Jaroslav Kysela) [2125544] - ASoC: tscs42xx: Remove now redundant non_legacy_dai_naming flag (Jaroslav Kysela) [2125544] - ASoC: wl1273: Remove now redundant non_legacy_dai_naming flag (Jaroslav Kysela) [2125544] - ASoC: zl38060: Remove now redundant non_legacy_dai_naming flag (Jaroslav Kysela) [2125544] - ASoC: fsl_micfil: Add legacy_dai_naming flag (Jaroslav Kysela) [2125544] - ASoC: fsl_asrc_dma: Add legacy_dai_naming flag (Jaroslav Kysela) [2125544] - ASoC: soc-component: Remove non_legacy_dai_naming flag (Jaroslav Kysela) [2125544] - ASoC: simple-card-utils: Move snd_soc_component_is_codec to be local (Jaroslav Kysela) [2125544] - ASoC: soc-component: Add legacy_dai_naming flag (Jaroslav Kysela) [2125544] - ASoC: core: Add new SOC_DOUBLE_SX_TLV macro (Jaroslav Kysela) [2125544] - ASoC: Remove unused hw_write_t type (Jaroslav Kysela) [2125544] - ASoC: soc.h: Add SOC_SINGLE_S_EXT_TLV macro (Jaroslav Kysela) [2125544] - ASoC: soc.h: Introduce SOC_DOUBLE_R_S_EXT_TLV() macro (Jaroslav Kysela) [2125544] - ASoC: soc.h: Add SOC_SINGLE_S_TLV() macro (Jaroslav Kysela) [2125544] - ASoC: hdmi-codec: Update to modern DAI terminology (Jaroslav Kysela) [2125544] - ALSA: hda: Skip event processing for unregistered codecs (Jaroslav Kysela) [2125544] - ASoC: codecs: Add HD-Audio codec driver (Jaroslav Kysela) [2125544] - ASoC: cs42l42: Move CS42L42 register descriptions to general include (Jaroslav Kysela) [2125544] - ASoC: cs35l41: Read System Name from ACPI _SUB to identify firmware (Jaroslav Kysela) [2125544] - ASoC: cs35l41: Add common cs35l41 enter hibernate function (Jaroslav Kysela) [2125544] - ASoC: cs35l41: Move cs35l41 exit hibernate function into shared code (Jaroslav Kysela) [2125544] - ASoC: cs35l41: Move cs_dsp config struct into shared code (Jaroslav Kysela) [2125544] - ASoC: cs35l41: Move cs35l41 fs errata into shared code (Jaroslav Kysela) [2125544] - ASoC: cs35l41: Move cs35l41_set_cspl_mbox_cmd to shared code (Jaroslav Kysela) [2125544] - ASoC: cs35l41: Add endianness flag in snd_soc_component_driver (Jaroslav Kysela) [2125544] - ASoC: cs35l41: Support external boost (Jaroslav Kysela) [2125544] - ASoC: SOF: Intel: Add support for MeteorLake (MTL) (Jaroslav Kysela) [2125544] - treewide: Replace zero-length arrays with flexible-array members (Jaroslav Kysela) [2125544] - ASoC: SOF: add definitions for different IPC types (Jaroslav Kysela) [2125544] - ASoC: SOF: Intel: hda-dai: enhance debug messages (Jaroslav Kysela) [2125544] - ASoC: SOF: ipc3-dtrace: use pm_runtime_resume_and_get() (Jaroslav Kysela) [2125544] - ASoC: SOF: IPC4: add sdw blob (Jaroslav Kysela) [2125544] - AsoC: SOF: ipc4-topology: Add dai_get_clk op (Jaroslav Kysela) [2125544] - ASoC: SOF: ipc4-topology: Add support for SSP/DMIC DAI's (Jaroslav Kysela) [2125544] - ASoC: SOF: Add a new IPC op for parsing topology manifest (Jaroslav Kysela) [2125544] - ASoC: SOF: Intel: hda: init NHLT for IPC4 (Jaroslav Kysela) [2125544] - ASoC: SOF: Add ops_free (Jaroslav Kysela) [2125544] - ASoC: SOF: IPC4: set the BE DAI ops (Jaroslav Kysela) [2125544] - ASoC: SOF: ipc4-pcm: Expose sof_ipc4_set_pipeline_state() (Jaroslav Kysela) [2125544] - ASoC: SOF: ipc4-topology: Add the dai_config op (Jaroslav Kysela) [2125544] - ASoC: SOF: ipc4-topology: Add route_setup/route_free ops (Jaroslav Kysela) [2125544] - ASoC: SOF: ipc4-topology: Add widget_setup/widget_free ops (Jaroslav Kysela) [2125544] - ASoC: SOF: IPC4: Add pcm ops (Jaroslav Kysela) [2125544] - ASoC: SOF: ipc4-topology: Add control IO ops (Jaroslav Kysela) [2125544] - ASoC: SOF: ipc4-topology: Add control_setup op (Jaroslav Kysela) [2125544] - ASoC: SOF: ipc4-topology: Add support for parsing mixer widgets (Jaroslav Kysela) [2125544] - ASoC: SOF: ipc4-topology: Add support for parsing and preparing pga widgets (Jaroslav Kysela) [2125544] - ASoC: SOF: ipc4-topology: Add prepare op for DAI type widgets (Jaroslav Kysela) [2125544] - ASoC: SOF: ipc4-topology: Add prepare op for AIF type widgets (Jaroslav Kysela) [2125544] - ASoC: SOF: ipc4-topology: Add support for parsing DAI_IN/DAI_OUT widgets (Jaroslav Kysela) [2125544] - ASoC: SOF: ipc4-topology: Add support for parsing AIF_IN/AIF_OUT widgets (Jaroslav Kysela) [2125544] - ASoC: SOF: IPC4: Introduce topology ops (Jaroslav Kysela) [2125544] - ASoC: SOF: ipc3-dtrace: Return from dtrace_read if there is no new data available (Jaroslav Kysela) [2125544] - ASoC: SOF: ipc3-dtrace: Add helper function to update the sdev->host_offset (Jaroslav Kysela) [2125544] - ASoC: SOF: ipc3-dtrace: Introduce SOF_DTRACE_INITIALIZING state (Jaroslav Kysela) [2125544] - ASoC: SOF: ipc4: implement pm ctx_save callback (Jaroslav Kysela) [2125544] - ASoC: SOF: Intel: Switch to use the generic pm_ops.set_core_state (Jaroslav Kysela) [2125544] - ASoC: SOF: ipc4: Add set_core_state pm_ops implementation (Jaroslav Kysela) [2125544] - ASoC: SOF: Add initial header file for ipc4 (Jaroslav Kysela) [2125544] - ASoC: SOF: ipc3: Add set_core_state pm_ops implementation (Jaroslav Kysela) [2125544] - ASoC: SOF: sof_ipc_pm_ops: Add support for DSP core power management (Jaroslav Kysela) [2125544] - ASoC: SOF: mediatek: mt8195 suspend check dsp idle (Jaroslav Kysela) [2125544] - ASoC: SOF: mediatek: mt8195 modify dram type as non-cache (Jaroslav Kysela) [2125544] - ASoC: SOF: mediatek: Add shared_size for mediatek common chip information (Jaroslav Kysela) [2125544] - ASoC: SOF: mediatek: revise mt8195 clock sequence (Jaroslav Kysela) [2125544] - ASoC: SOF: amd: Add SOF pm ops callback for Renoir (Jaroslav Kysela) [2125544] - ASoC: SOF: ipc-msg-injector: Fix reversed if statement (Jaroslav Kysela) [2125544] - ASoC: SOF: ipc-msg-injector: Propagate write errors correctly (Jaroslav Kysela) [2125544] - ASoC: SOF: Fix potential NULL pointer dereference (Jaroslav Kysela) [2125544] - ASoC: SOF: sof-client-ipc-flood-test: use pm_runtime_resume_and_get() (Jaroslav Kysela) [2125544] - ASoC: SOF: mediatek: remove duplicate include in mt8195.c (Jaroslav Kysela) [2125544] - ASoC: SOF: mediatek: Add mt8195 debug dump (Jaroslav Kysela) [2125544] - ASoC: SOF: mediatek: Add mediatek common debug dump (Jaroslav Kysela) [2125544] - ASoC: SOF: ipc3-dtrace: Move dtrace related variables local from sof_dev (Jaroslav Kysela) [2125544] - ASoC: SOF: Introduce opaque storage of private data for firmware tracing (Jaroslav Kysela) [2125544] - ASoC: SOF: Modify the host trace_init parameter list to include dmab (Jaroslav Kysela) [2125544] - ASoC: SOF: ipc3-dtrace: Move host ops wrappers from generic header to private (Jaroslav Kysela) [2125544] - ASoC: SOF: Clone the trace code to ipc3-dtrace as fw_tracing implementation (Jaroslav Kysela) [2125544] - ASoC: SOF: Rename dtrace_is_supported flag to fw_trace_is_supported (Jaroslav Kysela) [2125544] - ASoC: SOF: Introduce IPC independent ops for firmware tracing support (Jaroslav Kysela) [2125544] - ASoC: SOF: ipc-msg-injector: Cap the rmaining to count in IPC4 mode (Jaroslav Kysela) [2125544] - ASoC: SOF: mediatek: Add mt8186 ipc support (Jaroslav Kysela) [2125544] - ASoC: SOF: mediatek: Add ipc support for mt8195 (Jaroslav Kysela) [2125544] - ASoC: SOF: Intel: HDA: Set up sof_ipc4_fw_data for IPC4 (Jaroslav Kysela) [2125544] - ASoC: SOF: IPC4: Add FW loader ops (Jaroslav Kysela) [2125544] - ASoC: SOF: Add IPC4 private header (Jaroslav Kysela) [2125544] - ASoC: SOF: Intel: HDA: Set IPC4-specific DSP ops for CaVS platforms (Jaroslav Kysela) [2125544] - ASoC: SOF: trace: The dtrace is only available with SOF_IPC (Jaroslav Kysela) [2125544] - ASoC: SOF: sof-client: IPC flood test can only work with SOF_IPC (Jaroslav Kysela) [2125544] - ASoC: SOF: ipc-msg-injector: Add support for IPC4 messages (Jaroslav Kysela) [2125544] - ASoC: SOF: ipc-msg-injector: Separate the message sending (Jaroslav Kysela) [2125544] - ASoC: SOF: sof-client: Add support IPC4 message sending (Jaroslav Kysela) [2125544] - ASoC: SOF: sof-client: Add API to get the ipc_type (Jaroslav Kysela) [2125544] - ASoC: SOF: sof-client-probes: Query the maximum IPC payload size (Jaroslav Kysela) [2125544] - ASoC: SOF: ipc-msg-injector: Query the maximum IPC payload size (Jaroslav Kysela) [2125544] - ASoC: SOF: sof-client: Add API to get the maximum IPC payload size (Jaroslav Kysela) [2125544] - ASoC: SOF: ipc4: Add support for mandatory message handling functionality (Jaroslav Kysela) [2125544] - ASoC: SOF: Add rx_data pointer to snd_sof_ipc_msg struct (Jaroslav Kysela) [2125544] - ASoC: SOF: ipc3: Remove the ipc3-ops.h header file (Jaroslav Kysela) [2125544] - ASoC: SOF: sof-pci-dev: fix missing pci_release_regions() on error in sof_pci_probe() (Jaroslav Kysela) [2125544] - ASoC: SOF: loader: Call optional query_fw_configuration on first boot (Jaroslav Kysela) [2125544] - ASoC: SOF: loader: Remove snd_sof_parse_module_memcpy() as it is not used (Jaroslav Kysela) [2125544] - ASoC: SOF: mediatek: mt8195: Do not set the load_module ops (Jaroslav Kysela) [2125544] - ASoC: SOF: Intel: bdw/byt/pci-tng: Do not set the load_module ops (Jaroslav Kysela) [2125544] - ASoC: SOF: imx: Do not set the load_module ops (Jaroslav Kysela) [2125544] - ASoC: SOF: amd: renoir: Do not set the load_module ops (Jaroslav Kysela) [2125544] - ASoC: SOF: loader: Switch to use the fw_loader ops (Jaroslav Kysela) [2125544] - ASoC: SOF: ipc: Add check for fw_loader ops (Jaroslav Kysela) [2125544] - ASoC: SOF: ipc3-loader: Implement firmware parsing and loading (Jaroslav Kysela) [2125544] - ASoC: SOF: Introduce IPC dependent ops for firmware handling, loading (Jaroslav Kysela) [2125544] - ASoC: SOF: Add a prepare op to IPC topology widget ops (Jaroslav Kysela) [2125544] - ASoC: SOF: clarify use of widget complete flag (Jaroslav Kysela) [2125544] - ASoC: SOF: topology: Skip parsing DAI link tokens if not needed (Jaroslav Kysela) [2125544] - ASoC: SOF: pcm: remove unnecessary function declaration (Jaroslav Kysela) [2125544] - ASoC: SOF: Add two new fields to struct snd_sof_widget (Jaroslav Kysela) [2125544] - ASoC: SOF: Add a route_free op in struct sof_ipc_tplg_ops (Jaroslav Kysela) [2125544] - ASoC: SOF: expose a couple of functions (Jaroslav Kysela) [2125544] - ASoC: SOF: pcm: Move the call to snd_sof_pcm_platform_hw_params() (Jaroslav Kysela) [2125544] - ASoC: SOF: sof-audio: Set up widgets from source to sink (Jaroslav Kysela) [2125544] - ASoC: SOF: sof-audio: reset route status before freeing widget (Jaroslav Kysela) [2125544] - ASoC: SOF: Add a new op to set up volume table (Jaroslav Kysela) [2125544] - ASoC: SOF: mediatek: Fix allyesconfig build error (Jaroslav Kysela) [2125544] - ASoC: SOF: mediatek: mt8195 change ipc timeout as 1 second (Jaroslav Kysela) [2125544] - ASoC: SOF: sof-client-ipc-msg-injector: use pm_runtime_resume_and_get() (Jaroslav Kysela) [2125544] - ASoC: SOF: debug: use pm_runtime_resume_and_get() (Jaroslav Kysela) [2125544] - ASoC: SOF: control: use pm_runtime_resume_and_get() (Jaroslav Kysela) [2125544] - ASoC: SOF: mediatek: Add DSP system PM callback for mt8186 (Jaroslav Kysela) [2125544] - ASoC: SOF: mediatek: Add mt8186 dsp clock support (Jaroslav Kysela) [2125544] - ASoC: SOF: mediatek: Add mt8186 sof fw loader and dsp ops (Jaroslav Kysela) [2125544] - ASoC: SOF: mediatek: Add mt8186 hardware support (Jaroslav Kysela) [2125544] - ASoC: SOF: loader: Remove the old fw_ready related code (Jaroslav Kysela) [2125544] - ASoC: SOF: Intel: Do not set fw_ready callback (Jaroslav Kysela) [2125544] - ASoC: SOF: imx: Do not set fw_ready callback (Jaroslav Kysela) [2125544] - ASoC: SOF: amd: Do not set fw_ready callback (Jaroslav Kysela) [2125544] - ASoC: SOF: Do not check for the fw_ready callback (Jaroslav Kysela) [2125544] - ASoC: SOF: ipc3: Add local implementation for handling fw_ready message (Jaroslav Kysela) [2125544] - ASoC: SOF: Intel: hda-dai: protect hw_params against successive calls (Jaroslav Kysela) [2125544] - ASoC: SOF: Intel: add helper for link DMA cleanups (Jaroslav Kysela) [2125544] - ASoC: SOF: Intel: hda-dai: reset dma_data and release stream (Jaroslav Kysela) [2125544] - ASoC: SOF: Intel: hda-dai: improve suspend case (Jaroslav Kysela) [2125544] - ASoC: SOF: Intel: hda-dai: move code to deal with hda dai/dailink suspend (Jaroslav Kysela) [2125544] - ASOC: SOF: Intel: hda-dai: add hda_dai_hw_free_ipc() helper (Jaroslav Kysela) [2125544] - ASoC: SOF: sof-audio: flag errors on pipeline teardown (Jaroslav Kysela) [2125544] - ASoC: SOF: Intel: hda-dai: regroup dai and link DMA operations (Jaroslav Kysela) [2125544] - ASoC: SOF: Intel: hda-dai: split link DMA and dai operations (Jaroslav Kysela) [2125544] - ASoC: SOF: Intel: hda-dai: use snd_soc_dai_get_widget() helper (Jaroslav Kysela) [2125544] - ASoC: SOF: Intel: hda-dai: simplify hda_dai_widget_update() prototype (Jaroslav Kysela) [2125544] - ASOC: SOF: Intel: hda-dai: consistent naming for HDA DAI and HDA link DMA (Jaroslav Kysela) [2125544] - ASoC: SOF: Intel: Add IPC-specific dai ops for IPC3 (Jaroslav Kysela) [2125544] - ASoC: SOF: remove incorrect clearing of prepared flag (Jaroslav Kysela) [2125544] - ASoC: SOF: Intel: hda: simplify NHLT handling (Jaroslav Kysela) [2125544] - ASoC: SOF: topology: Check w->sname validity once in sof_connect_dai_widget() (Jaroslav Kysela) [2125544] - ASoC: SOF: sof-audio: remove useless assignment (Jaroslav Kysela) [2125544] - ASoC: SOF: Intel: pci-tgl: add RPL-P support (Jaroslav Kysela) [2125544] - ASoC: SOF: Intel: pci-tgl: add ADL-PS support (Jaroslav Kysela) [2125544] - ASOC: SOF: pci: add ipc_type override for Intel IPC4 tests (Jaroslav Kysela) [2125544] - ASoC: SOF: sof-pci-dev: don't use the community key on APL Chromebooks (Jaroslav Kysela) [2125544] - ASoC: SOF: amd: Use dedicated MBOX for ACP and PSP communication (Jaroslav Kysela) [2125544] - ASoC: SOF: amd: Add psp_mbox_ready() and psp_send_cmd() callback (Jaroslav Kysela) [2125544] - ASoC: SOF: using pm_runtime_resume_and_get to simplify the code (Jaroslav Kysela) [2125544] - ASoC: SOF: Kconfig: Make SND_SOC_SOF_HDA_PROBES tristate (Jaroslav Kysela) [2125544] - ASoC: SOF: Intel: add IP identifier (Jaroslav Kysela) [2125544] - ASoC: SOF: Intel: hda: expose some codeloader functions (Jaroslav Kysela) [2125544] - ASoC: SOF: Intel: hda: Define rom_status_reg in sof_intel_dsp_desc (Jaroslav Kysela) [2125544] - ASoC: SOF: Intel: hda: define check_ipc_irq op (Jaroslav Kysela) [2125544] - ASoC: SOF: Intel: hda: use BIT() macros for consistency (Jaroslav Kysela) [2125544] - ASoC: SOF: Intel: move HDA_CL_STREAM_FORMAT definition to header (Jaroslav Kysela) [2125544] - ASoC: SOF: Intel: hda: use common ops across platforms (Jaroslav Kysela) [2125544] - ASoC: SOF: remove const qualifier for 'struct snd_sof_dsp_ops' (Jaroslav Kysela) [2125544] - ASoC: SOF: sof-audio: preserve topology filename override in nocodec mode (Jaroslav Kysela) [2125544] - ASoC: SOF: sof-pci-dev: add parameter to override topology filename (Jaroslav Kysela) [2125544] - ASoC: SOF: sof-pci-dev: add parameter to override firmware filename (Jaroslav Kysela) [2125544] - ASoC: SOF: add IPC-dependent file names (Jaroslav Kysela) [2125544] - ASoC: SOF: add default IPC capability and file paths (Jaroslav Kysela) [2125544] - ASoC: SOF: add path indirection to each IPC type (Jaroslav Kysela) [2125544] - ASoC: SOF: Intel: Check the bar size before remapping (Jaroslav Kysela) [2125544] - ASoC: SOF: ipc: Move the ipc_set_get_comp_data() local to ipc3-control (Jaroslav Kysela) [2125544] - ASoC: SOF: sof-audio: Use the widget_kcontrol_setup ops for kcontrol set up (Jaroslav Kysela) [2125544] - ASoC: SOF: Add widget_kcontrol_setup control ops for IPC3 (Jaroslav Kysela) [2125544] - ASoC: SOF: ipc: Switch over to use the rx_msg ops (Jaroslav Kysela) [2125544] - ASoC: SOF: ipc: Switch over to use the tx_msg and set_get_data ops (Jaroslav Kysela) [2125544] - ASoC: SOF: ipc: Use the get_reply ops in snd_sof_ipc_get_reply() (Jaroslav Kysela) [2125544] - ASoC: SOF: ipc: Add check for mandatory IPC message handling ops (Jaroslav Kysela) [2125544] - ASoC: SOF: ipc: Separate the ops checks by functions/topics (Jaroslav Kysela) [2125544] - ASoC: SOF: ipc3: Implement rx_msg IPC ops (Jaroslav Kysela) [2125544] - ASoC: SOF: ipc3: Implement the get_reply IPC ops (Jaroslav Kysela) [2125544] - ASoC: SOF: ipc3: Implement the set_get_data IPC ops (Jaroslav Kysela) [2125544] - ASoC: SOF: ipc3: Use sof_ipc3_tx_msg() internally for message sending (Jaroslav Kysela) [2125544] - ASoC: SOF: ipc3: Implement the tx_msg IPC ops (Jaroslav Kysela) [2125544] - ASoC: SOF: Add high level IPC IO callback definitions to ipc_ops (Jaroslav Kysela) [2125544] - ASoC: SOF: Add helper function to prepare and send an IPC message (Jaroslav Kysela) [2125544] - ASoC: SOF: mediatek: mt8195 add shutdown callback (Jaroslav Kysela) [2125544] - ASoC: SOF: OF: Add shutdown callback for SOF OF device (Jaroslav Kysela) [2125544] - ASoC: SOF: topology: Avoid open coded arithmetic in memory allocation (Jaroslav Kysela) [2125544] - ASoC: SOF: topology: use new sound control LED layer (Jaroslav Kysela) [2125544] - ASoC: SOF: Remove redundant return statements (Jaroslav Kysela) [2125544] - ASoC: SOF: Remove header from struct snd_sof_ipc_msg (Jaroslav Kysela) [2125544] - ASoC: SOF: Drop 'header' parameter from tx_message() API (Jaroslav Kysela) [2125544] - ASoC: SOF: ipc: Use msg->reply_data directly in snd_sof_ipc_get_reply() (Jaroslav Kysela) [2125544] - ASoC: SOF: disable dma trace in s0ix (Jaroslav Kysela) [2125544] - ASoC: SOF: extend the interface to stop DMA trace (Jaroslav Kysela) [2125544] - ASoC: SOF: Drop support for mapped control data (Jaroslav Kysela) [2125544] - ASoC: SOF: ipc: Use ipc->max_payload_size for message/reply size checking (Jaroslav Kysela) [2125544] - ASoC: SOF: ipc: Add max_payload_size field in struct snd_sof_ipc (Jaroslav Kysela) [2125544] - ASoC: SOF: Remove dmab and dmab_bdl from snd_sof_dev struct (Jaroslav Kysela) [2125544] - ASoC: SOF: Intel: hda-loader: Use local snd_dma_buffer (Jaroslav Kysela) [2125544] - ASoC: amd: acp: add missing platform_device_unregister() in acp_pci_probe() (Jaroslav Kysela) [2125544] - ASoC: amd: acp: Fix initialization of ext_intr_stat1 in i2s_irq_handler() (Jaroslav Kysela) [2125544] - ASoC: amd: vangogh: Use non-legacy DAI naming for cs35l41 (Jaroslav Kysela) [2125544] - ASoC: amd: enable RPL Platform acp drivers build (Jaroslav Kysela) [2125544] - ASoC: amd: add RPL Platform pci driver pm-ops (Jaroslav Kysela) [2125544] - ASoC: amd: add RPL Platform init/de-init functions (Jaroslav Kysela) [2125544] - ASoC: amd: add ACP PCI driver for RPL platform (Jaroslav Kysela) [2125544] - ASoC: amd: add RPL Platform acp header file (Jaroslav Kysela) [2125544] - ASoC: amd: acp: Add error handling cases (Jaroslav Kysela) [2125544] - ASoC: amd: acp: Modify const resource struct variable to generic (Jaroslav Kysela) [2125544] - ASoC: amd: acp: Drop superfluous mmap callback (Jaroslav Kysela) [2125544] - ASoC: amd: acp: Modify local variables name to generic (Jaroslav Kysela) [2125544] - ASoC: amd: yc: Decrease level of error message (Jaroslav Kysela) [2125544] - ASoC: amd: yc: add new YC platform varaint support (Jaroslav Kysela) [2125544] - ASoC: amd: fix Jadeite kconfig warning and build errors (Jaroslav Kysela) [2125544] - ASoC: amd: Fix error pointer dereference (Jaroslav Kysela) [2125544] - ASoC: amd: acp: Add legacy audio driver support for Rembrandt platform (Jaroslav Kysela) [2125544] - ASoC: amd: acp: ACP code generic to support newer platforms (Jaroslav Kysela) [2125544] - ASoC: amd: acp: Remove rt1019_1 codec conf from machine driver (Jaroslav Kysela) [2125544] - ASoC: amd: Remove duplicated include in acp-es8336.c (Jaroslav Kysela) [2125544] - ASoC: amd: fix for variable set but not used warning (Jaroslav Kysela) [2125544] - ASoC: amd: drop machine driver remove function (Jaroslav Kysela) [2125544] - ASoC: amd: remove unused header file inclusion (Jaroslav Kysela) [2125544] - ASoC: amd: acp-es8336: use static variables (Jaroslav Kysela) [2125544] - ASoC: amd: fix ACPI dependency compile errors and warnings (Jaroslav Kysela) [2125544] - ASoC: amd: enable machine driver build for Jadeite platform (Jaroslav Kysela) [2125544] - ASoC: amd: add Machine driver for Jadeite platform (Jaroslav Kysela) [2125544] - ASoC: amd: add I2S MICSP instance support (Jaroslav Kysela) [2125544] - ASoC: amd: Migrate to new style legacy DAI naming flag (Jaroslav Kysela) [2125544] - ASoC: amd: acp: Fix error handling in .remove() (Jaroslav Kysela) [2125544] - ASoC: amd: acp: fix typo in comment (Jaroslav Kysela) [2125544] - ASoC: amd: acp: Add support for rt5682s and rt1019 card with hs instance (Jaroslav Kysela) [2125544] - ASoC: amd: acp: Add support for nau8825 and max98360 card (Jaroslav Kysela) [2125544] - ASoC: amd: vangogh: Rename set_fmt_new back to set_fmt (Jaroslav Kysela) [2125544] - ASoC: amd: vangogh: Update to use set_fmt_new callback (Jaroslav Kysela) [2125544] - ASoC: amd: acp: Set Speaker enable/disable pin through rt1019 codec driver. (Jaroslav Kysela) [2125544] - ASoC: amd: acp: Set Speaker enable/disable pin through rt1019 codec driver (Jaroslav Kysela) [2125544] - ASoC: amd: vangogh: Remove duplicate include files (Jaroslav Kysela) [2125544] - ASoC: amd: acp: Add pm ops callback in machine driver (Jaroslav Kysela) [2125544] - ASoC: soc-utils: Remove now redundant non_legacy_dai_naming flag (Jaroslav Kysela) [2125544] - ASoC: topology: Drop superfluous check of CONFIG_SND_CTL_VALIDATION (Jaroslav Kysela) [2125544] - ASoC: topology: Rename soc_tplg_init_kcontrol() function (Jaroslav Kysela) [2125544] - ASoC: topology: Correct error message (Jaroslav Kysela) [2125544] - ASoC: topology: Rename SOC_TPLG_PASS_MIXER to _CONTROL (Jaroslav Kysela) [2125544] - ASoC: topology: Return bool instead of int (Jaroslav Kysela) [2125544] - ASoC: topology: Remove unnecessary looping (Jaroslav Kysela) [2125544] - ASoC: topology: Use for loop instead of while (Jaroslav Kysela) [2125544] - ASoC: topology: KUnit: Remove now redundant non_legacy_dai_naming flag (Jaroslav Kysela) [2125544] - ASoC: topology: KUnit: Followup prototype change of snd_soc_unregister_card() (Jaroslav Kysela) [2125544] - ASoC: DPCM: Don't pick up BE without substream (Jaroslav Kysela) [2125544] - ASoC: soc-pcm: demote warnings on non-atomic BE connection (Jaroslav Kysela) [2125544] - ASoC: soc-pcm: fix BE transition for TRIGGER_START (Jaroslav Kysela) [2125544] - ASoC: soc-pcm: improve BE transition for TRIGGER_START (Jaroslav Kysela) [2125544] - ASoC: soc-pcm: improve BE transition for PAUSE_RELEASE (Jaroslav Kysela) [2125544] - ASoC: ops: Fix integer detection for when max possible values > 1 (Jaroslav Kysela) [2125544] - ASoC: ops: Fix boolean/integer detection for simple controls (Jaroslav Kysela) [2125544] - ASoC: ops: Don't modify the driver's plaform_max when reading state (Jaroslav Kysela) [2125544] - ASoC: ops: Remove unneeded delay.h inclusion (Jaroslav Kysela) [2125544] - ASoC: ops: Clarify snd_soc_info_volsw_sx() (Jaroslav Kysela) [2125544] - ASoC: soc-generic-dmaengine-pcm: Use default config when none is given (Jaroslav Kysela) [2125544] - ASoC: dapm: Move stereo autodisable check (Jaroslav Kysela) [2125544] - ASoC: soc-dai: Remove set_fmt_new callback (Jaroslav Kysela) [2125544] - ASoC: soc-core.c: share code for snd_soc_of_get_dai_link_cpus/codecs() (Jaroslav Kysela) [2125544] - ASoC: soc-core.c: fixup snd_soc_of_get_dai_link_cpus() (Jaroslav Kysela) [2125544] - ASoC: core: Switch core to new DAI naming flag (Jaroslav Kysela) [2125544] - ASoC: core: Make snd_soc_unregister_card() return void (Jaroslav Kysela) [2125544] - ASoC: core: Always send the CPU DAI a direct clock specifier (Jaroslav Kysela) [2125544] - ASoC: core: Add set_fmt_new callback that directly specifies provider (Jaroslav Kysela) [2125544] - ASoC: core: Pass legacy_dai_naming flag directly (Jaroslav Kysela) [2125544] - ASoC: core: Correct spelling fliped -> flipped (Jaroslav Kysela) [2125544] - ASoC: soc-core: remove always-false path (Jaroslav Kysela) [2125544] - ASoC: Introduce snd_soc_of_get_dai_link_cpus (Jaroslav Kysela) [2125544] - ASoC: soc-component: Update handling to component delays (Jaroslav Kysela) [2125544] - ASoC: Introduce 'fixup_controls' card method (Jaroslav Kysela) [2125544] - ASoC: soc-card: Create jack kcontrol without pins (Jaroslav Kysela) [2125544] - ALSA: Replace acpi_bus_get_device() (Jaroslav Kysela) [2125544] - Revert "ALSA: hda: cs35l41: Allow compilation test on non-ACPI configurations" (Jaroslav Kysela) [2125544] - ALSA: hda: beep: Simplify keep-power-at-enable behavior (Jaroslav Kysela) [2125544] - ALSA: hda/hdmi: Don't skip notification handling during PM operation (Jaroslav Kysela) [2125544] - ALSA: hda/hdmi: Limit the maximal count of PCM devices to 8 (Jaroslav Kysela) [2125544] - ALSA: hda/hdmi: ELD procfs - print the codec NIDs (Jaroslav Kysela) [2125544] - ALSA: hda/hdmi: Simplify the pcm_idx condition in hdmi_pcm_setup_pin() (Jaroslav Kysela) [2125544] - ALSA: hda/hdmi: Fix the converter allocation for the silent stream (Jaroslav Kysela) [2125544] - ALSA: hda/hdmi: change type for the 'assigned' variable (Jaroslav Kysela) [2125544] - ALSA: hda: intel-nhlt: Move structs out of #define block (Jaroslav Kysela) [2125544] - ALSA: hda/realtek: Add a quirk for HP OMEN 16 (8902) mute LED (Jaroslav Kysela) [2125544] - ALSA: hda/hdmi: Fix the converter reuse for the silent stream (Jaroslav Kysela) [2125544] - ALSA: hda/realtek: Add quirk for ASUS GA503R laptop (Jaroslav Kysela) [2125544] - ALSA: hda/realtek: Add pincfg for ASUS G533Z HP jack (Jaroslav Kysela) [2125544] - ALSA: hda/realtek: Add pincfg for ASUS G513 HP jack (Jaroslav Kysela) [2125544] - ALSA: hda/realtek: Re-arrange quirk table entries (Jaroslav Kysela) [2125544] - ALSA: hda/realtek: Enable 4-speaker output Dell Precision 5530 laptop (Jaroslav Kysela) [2125544] - ALSA: hda/realtek: Enable 4-speaker output Dell Precision 5570 laptop (Jaroslav Kysela) [2125544] - ALSA: hda: Fix Nvidia dp infoframe (Jaroslav Kysela) [2125544] - ALSA: hda/realtek: Add quirk for Huawei WRT-WX9 (Jaroslav Kysela) [2125544] - ALSA: hda/tegra: set depop delay for tegra (Jaroslav Kysela) [2125544] - ALSA: hda: add Intel 5 Series / 3400 PCI DID (Jaroslav Kysela) [2125544] - ALSA: hda: Fix hang at HD-audio codec unbinding due to refcount saturation (Jaroslav Kysela) [2125544] - ALSA: emu10k1: Fix out of bounds access in snd_emu10k1_pcm_channel_alloc() (Jaroslav Kysela) [2125544] - ALSA: hda/tegra: Align BDL entry to 4KB boundary (Jaroslav Kysela) [2125544] - ALSA: hda/sigmatel: Fix unused variable warning for beep power change (Jaroslav Kysela) [2125544] - ALSA: hda/sigmatel: Keep power up while beep is enabled (Jaroslav Kysela) [2125544] - ALSA: hda/realtek: Add speaker AMP init for Samsung laptops with ALC298 (Jaroslav Kysela) [2125544] - ALSA: hda/realtek: Add quirk for Clevo NS50PU, NS70PU (Jaroslav Kysela) [2125544] - ALSA: hda/cs8409: Support new Dolphin Variants (Jaroslav Kysela) [2125544] - ALSA: hda/realtek: Add quirk for Lenovo Yoga7 14IAL7 (Jaroslav Kysela) [2125544] - ALSA: hda: cs35l41: Clarify support for CSC3551 without _DSD Properties (Jaroslav Kysela) [2125544] - ALSA: hda/realtek: Add quirks for ASUS Zenbooks using CS35L41 (Jaroslav Kysela) [2125544] - ALSA: hda: Fix crash due to jack poll in suspend (Jaroslav Kysela) [2125544] - ALSA: hda/cirrus - support for iMac 12,1 model (Jaroslav Kysela) [2125544] - ALSA: hda/realtek: Add a quirk for HP OMEN 15 (8786) mute LED (Jaroslav Kysela) [2125544] - ALSA: hda/conexant: Add quirk for LENOVO 20149 Notebook model (Jaroslav Kysela) [2125544] - ALSA: ice1712: remove redundant assignment to new (Jaroslav Kysela) [2125544] - ALSA: hda/realtek: Add quirk for another Asus K42JZ model (Jaroslav Kysela) [2125544] - ALSA: hda/realtek: Add quirk for HP Spectre x360 15-eb0xxx (Jaroslav Kysela) [2125544] - ALSA: hda/realtek: Add quirk for Clevo NV45PZ (Jaroslav Kysela) [2125544] - ALSA: hda/realtek: Add quirk for Lenovo Yoga9 14IAP7 (Jaroslav Kysela) [2125544] - ALSA: hda: cs35l41: Support CLSA0101 (Jaroslav Kysela) [2125544] - ALSA: hda: cs35l41: Use the CS35L41 HDA internal define (Jaroslav Kysela) [2125544] - ALSA: hda/realtek: Enable speaker and mute LEDs for HP laptops (Jaroslav Kysela) [2125544] - ALSA: hda: cs35l41: Fix build error unused-function (Jaroslav Kysela) [2125544] - ALSA: asihpi: fix repeated words in comments (Jaroslav Kysela) [2125544] - ALSA: asihpi: Fix typo in comments (Jaroslav Kysela) [2125544] - ALSA: emu10k1: Fix typo in comments (Jaroslav Kysela) [2125544] - ALSA: hda: cs35l41: Add module parameter to control firmware load (Jaroslav Kysela) [2125544] - ALSA: hda: cs35l41: Support Firmware switching and reloading (Jaroslav Kysela) [2125544] - ALSA: hda: cs35l41: Add defaulted values into dsp bypass config sequence (Jaroslav Kysela) [2125544] - ALSA: hda: hda_cs_dsp_ctl: Add fw id strings (Jaroslav Kysela) [2125544] - ALSA: hda: cs35l41: Read Speaker Calibration data from UEFI variables (Jaroslav Kysela) [2125544] - ALSA: hda: cs35l41: Support Hibernation during Suspend (Jaroslav Kysela) [2125544] - ALSA: hda: cs35l41: Support Speaker ID for laptops (Jaroslav Kysela) [2125544] - ALSA: hda: cs35l41: Support multiple load paths for firmware (Jaroslav Kysela) [2125544] - ALSA: hda: cs35l41: Support reading subsystem id from ACPI (Jaroslav Kysela) [2125544] - ALSA: hda: cs35l41: Save Subsystem ID inside CS35L41 Driver (Jaroslav Kysela) [2125544] - ALSA: hda: cs35l41: Add initial DSP support and firmware loading (Jaroslav Kysela) [2125544] - ALSA: hda: cs35l41: Save codec object inside component struct (Jaroslav Kysela) [2125544] - ALSA: hda: hda_cs_dsp_ctl: Add apis to write the controls directly (Jaroslav Kysela) [2125544] - ALSA: hda: hda_cs_dsp_ctl: Add Library to support CS_DSP ALSA controls (Jaroslav Kysela) [2125544] - ALSA: hda: cs35l41: Consolidate selections under SND_HDA_SCODEC_CS35L41 (Jaroslav Kysela) [2125544] - ALSA: hda: cs35l41: Drop wrong use of ACPI_PTR() (Jaroslav Kysela) [2125544] - ALSA: hda: cs35l41: Allow compilation test on non-ACPI configurations (Jaroslav Kysela) [2125544] - ALSA: hda: cs35l41: Don't dereference fwnode handle (Jaroslav Kysela) [2125544] - ALSA: hda: cs35l41: Improve dev_err_probe() messaging (Jaroslav Kysela) [2125544] - ALSA: hda: cs35l41: Fix comments wrt serial-multi-instantiate reference (Jaroslav Kysela) [2125544] - ALSA: hda: Fix put_device() inconsistency in error path (Jaroslav Kysela) [2125544] - ALSA: hda: Make device usage_count consistent across subsequent probing (Jaroslav Kysela) [2125544] - ALSA: hda: Fix null-ptr-deref when i915 fails and hdmi is denylisted (Jaroslav Kysela) [2125544] - ALSA: hda/cs8409: change cs8409_fixups v.pins initializers to static (Jaroslav Kysela) [2125544] - ASoC: doc: Update dead links (Jaroslav Kysela) [2125544] - ALSA: hda/via: Delete does not require return (Jaroslav Kysela) [2125544] - ALSA: ctxfi: fix typo in comment (Jaroslav Kysela) [2125544] - ALSA: cs5535audio: fix typo in comment (Jaroslav Kysela) [2125544] - ALSA: lola: Bounds check loop iterator against streams array size (Jaroslav Kysela) [2125544] - ALSA: hda: cs35l41: Add Amp Name based on channel and index (Jaroslav Kysela) [2125544] - ALSA: hda: cs35l41: Enable GPIO2 Interrupt for CLSA0100 laptops (Jaroslav Kysela) [2125544] - ALSA: hda: cs35l41: Add Support for Interrupts (Jaroslav Kysela) [2125544] - ALSA: hda: cs35l41: Remove Set Channel Map api from binding (Jaroslav Kysela) [2125544] - ALSA: hda: cs35l41: Set Speaker Position for CLSA0100 Laptop (Jaroslav Kysela) [2125544] - ALSA: hda: cs35l41: Fix error in spi cs35l41 hda driver name (Jaroslav Kysela) [2125544] - ALSA: hda/cs8409: Add Speaker Playback Switch for Warlock (Jaroslav Kysela) [2125544] - ALSA: hda/cs8409: Add Speaker Playback Switch for Cyborg (Jaroslav Kysela) [2125544] - ALSA: hda/cs8409: Support new Odin Variants (Jaroslav Kysela) [2125544] - ALSA: hda/cs8409: Support manual mode detection for CS42L42 (Jaroslav Kysela) [2125544] - ALSA: hda/cs8409: Use general cs42l42 include in cs8409 hda driver (Jaroslav Kysela) [2125544] - ALSA: hdsp: remove redundant assignment to pointer kctl (Jaroslav Kysela) [2125544] - ALSA: hda/conexant: add a new hda codec SN6140 (Jaroslav Kysela) [2125544] - ALSA: hda: cs35l41: Move external boost handling to lib for ASoC use (Jaroslav Kysela) [2125544] - ALSA: hda: cs35l41: Handle all external boost setups the same way (Jaroslav Kysela) [2125544] - ALSA: hda: cs35l41: Reorganize log for playback actions (Jaroslav Kysela) [2125544] - ALSA: hda: cs35l41: Remove cs35l41_hda_reg_sequence struct (Jaroslav Kysela) [2125544] - ALSA: hda: cs35l41: Move boost config to initialization code (Jaroslav Kysela) [2125544] - ALSA: hda: cs35l41: Mute the device before shutdown (Jaroslav Kysela) [2125544] - ALSA: hda: cs35l41: Put the device into safe mode for external boost (Jaroslav Kysela) [2125544] - ALSA: hda: cs35l41: Add Boost type flag (Jaroslav Kysela) [2125544] - ALSA: hda: cs35l41: Always configure the DAI (Jaroslav Kysela) [2125544] - ALSA: hda: cs35l41: Fix I2S params comments (Jaroslav Kysela) [2125544] - ALSA: cs35l41: Move cs35l41_gpio_config to shared lib (Jaroslav Kysela) [2125544] - ALSA: cs35l41: Check hw_config before using it (Jaroslav Kysela) [2125544] - ALSA: cs35l41: Unify hardware configuration (Jaroslav Kysela) [2125544] - ALSA: hda/tegra: Enable Jack poll for tegra (Jaroslav Kysela) [2125544] - ALSA: hda: Jack detection poll in suspend state (Jaroslav Kysela) [2125544] - ALSA: echoaudio: remove redundant assignment to variable i (Jaroslav Kysela) [2125544] - ALSA: emu10k1: Stop using iommu_present() (Jaroslav Kysela) [2125544] - ALSA: hda: intel-dsp-config: add missing RaptorLake PCI IDs (Jaroslav Kysela) [2125544] - ALSA: hda: intel-nhlt: Correct the handling of fmt_config flexible array (Jaroslav Kysela) [2125544] - ALSA: hda: Replace sprintf() with sysfs_emit() (Jaroslav Kysela) [2125544] - ALSA: hda: Remove unused macro definition (Jaroslav Kysela) [2125544] - ALSA: hda: Reset all SIE bits in INTCTL (Jaroslav Kysela) [2125544] - tracing: ALSA: hda: Remove string manipulation out of the fast path (Jaroslav Kysela) [2125544] - ALSA: hda: intel-nhlt: remove use of __func__ in dev_dbg (Jaroslav Kysela) [2125544] - ALSA: hda: intel-dspcfg: use SOF for UpExtreme and UpExtreme11 boards (Jaroslav Kysela) [2125544] - ALSA: usb-audio: Properly refcounting clock rate (Jaroslav Kysela) [2125544] - ALSA: usb-audio: Clear fixed clock rate at closing EP (Jaroslav Kysela) [2125544] - ALSA: usb-audio: Fix an out-of-bounds bug in __snd_usb_parse_audio_interface() (Jaroslav Kysela) [2125544] - ALSA: usb-audio: Register card again for iface over delayed_register option (Jaroslav Kysela) [2125544] - ALSA: usb-audio: Inform the delayed registration more properly (Jaroslav Kysela) [2125544] - ALSA: usb-audio: Add quirk for LH Labs Geek Out HD Audio 1V5 (Jaroslav Kysela) [2125544] - ALSA: usb-audio: make read-only array marker static const (Jaroslav Kysela) [2125544] - ALSA: usb-audio: More comprehensive mixer map for ASUS ROG Zenith II (Jaroslav Kysela) [2125544] - ALSA: scarlett2: Add Focusrite Clarett+ 8Pre support (Jaroslav Kysela) [2125544] - ALSA: line6: Replace sprintf() with sysfs_emit() (Jaroslav Kysela) [2125544] - ALSA: hiface: fix repeated words in comments (Jaroslav Kysela) [2125544] - ALSA: usb/6fire: fix repeated words in comments (Jaroslav Kysela) [2125544] - ALSA: usb-audio: Add quirk for Behringer UMC202HD (Jaroslav Kysela) [2125544] - ALSA: bcd2000: Fix a UAF bug on the error path of probing (Jaroslav Kysela) [2125544] - ALSA: usb-audio: Use atomic_try_cmpxchg in ep_state_update (Jaroslav Kysela) [2125544] - ALSA: usb-audio: Add endianness annotations (Jaroslav Kysela) [2125544] - ALSA: usb-audio: Turn off 'manual mode' on Dell dock (Jaroslav Kysela) [2125544] - ALSA: usb-audio: Support jack detection on Dell dock (Jaroslav Kysela) [2125544] - ALSA: usb-audio: US16x08: Move overflow check before array access (Jaroslav Kysela) [2125544] - ALSA: usb-audio: Cancel pending work at closing a MIDI substream (Jaroslav Kysela) [2125544] - ALSA: usb-audio: Add mixer mapping for Gigabyte B450/550 Mobos (Jaroslav Kysela) [2125544] - ALSA: usb-audio: Fix wrong kfree issue in snd_usb_endpoint_free_all (Jaroslav Kysela) [2125544] - ALSA: usb-audio: Refcount multiple accesses on the single clock (Jaroslav Kysela) [2125544] - mfd: arizona-spi: Add Android board ACPI table handling (Jaroslav Kysela) [2125544] - mfd: arizona-spi: Split Windows ACPI init code into its own function (Jaroslav Kysela) [2125544] - mfd: arizona: Add missing statics to the of_match_tables (Jaroslav Kysela) [2125544] - firmware: cs_dsp: Add memory chunk helpers (Jaroslav Kysela) [2125544] - firmware: cs_dsp: Add pre_stop callback (Jaroslav Kysela) [2125544] - regmap: sdw: add required header files (Jaroslav Kysela) [2125544] - regmap: soundwire: remove unused header mod_devicetable.h (Jaroslav Kysela) [2125544] - regmap: Constify static regmap_bus structs (Jaroslav Kysela) [2125544] - soundwire: peripheral: remove useless ops pointer (Jaroslav Kysela) [2125544] - soundwire: intel: use pm_runtime_resume() on component probe (Jaroslav Kysela) [2125544] - soundwire: qcom: fix device status array range (Jaroslav Kysela) [2125544] - soundwire: qcom: remove duplicate reset control get (Jaroslav Kysela) [2125544] - soundwire: Intel: add trigger callback (Jaroslav Kysela) [2125544] - soundwire: qcom: Enable software clock gating requirement flag (Jaroslav Kysela) [2125544] - soundwire: qcom: Check device status before reading devid (Jaroslav Kysela) [2125544] - soundwire: qcom: Add flag for software clock gating check (Jaroslav Kysela) [2125544] - soundwire: revisit driver bind/unbind and callbacks (Jaroslav Kysela) [2125544] - soundwire: bus_type: fix remove and shutdown support (Jaroslav Kysela) [2125544] - soundwire: intel: Migrate to new style legacy DAI naming flag (Jaroslav Kysela) [2125544] - ASoC: qcom: soundwire: Add support for controlling audio CGCR from HLOS (Jaroslav Kysela) [2125544] - soundwire: qcom: adjust autoenumeration timeout (Jaroslav Kysela) [2125544] - soundwire: qcom: use pm_runtime_resume_and_get() (Jaroslav Kysela) [2125544] - soundwire: intel: use pm_runtime_resume_and_get() (Jaroslav Kysela) [2125544] - soundwire: cadence: use pm_runtime_resume_and_get() (Jaroslav Kysela) [2125544] - soundwire: bus: use pm_runtime_resume_and_get() (Jaroslav Kysela) [2125544] - soundwire: qcom: return error when pm_runtime_get_sync fails (Jaroslav Kysela) [2125544] - soundwire: bus: pm_runtime_request_resume on peripheral attachment (Jaroslav Kysela) [2125544] - soundwire: intel: disable WAKEEN in pm_runtime resume (Jaroslav Kysela) [2125544] - soundwire: cadence: recheck device0 attachment after status change (Jaroslav Kysela) [2125544] - soundwire: qcom: Add compatible name for v1.6.0 (Jaroslav Kysela) [2125544] - soundwire: stream: Fix error return code in do_bank_switch() (Jaroslav Kysela) [2125544] - soundwire: qcom: fix an error message in swrm_wait_for_frame_gen_enabled() (Jaroslav Kysela) [2125544] - soundwire: qcom: use __maybe_unused for swrm_runtime_resume() (Jaroslav Kysela) [2125544] - soundwire: qcom: constify static struct qcom_swrm_data global variables (Jaroslav Kysela) [2125544] - soundwire: qcom: add in-band wake up interrupt support (Jaroslav Kysela) [2125544] - soundwire: qcom: add runtime pm support (Jaroslav Kysela) [2125544] - soundwire: Replace acpi_bus_get_device() (Jaroslav Kysela) [2125544] - ALSA: Add snd_pcm_direction_name() helper (Jaroslav Kysela) [2125544] - ALSA: core: Fix double-free at snd_card_new() (Jaroslav Kysela) [2125544] - ALSA: hda: Once again fix regression of page allocations with IOMMU (Jaroslav Kysela) [2125544] - ALSA: pcm: oss: Fix race at SNDCTL_DSP_SYNC (Jaroslav Kysela) [2125544] - ALSA: control: Re-order bounds checking in get_ctl_id_hash() (Jaroslav Kysela) [2125544] - ALSA: control: Fix an out-of-bounds bug in get_ctl_id_hash() (Jaroslav Kysela) [2125544] - ALSA: seq: Fix data-race at module auto-loading (Jaroslav Kysela) [2125544] - ALSA: seq: oss: Fix data-race for max_midi_devs access (Jaroslav Kysela) [2125544] - ALSA: memalloc: Revive x86-specific WC page allocations again (Jaroslav Kysela) [2125544] - ALSA: info: Fix llseek return value when using callback (Jaroslav Kysela) [2125544] - ALSA: pcm: Replace sprintf() with sysfs_emit() (Jaroslav Kysela) [2125544] - ALSA: core: Replace scnprintf() with sysfs_emit() (Jaroslav Kysela) [2125544] - ALSA: control-led: Replace sprintf() with sysfs_emit() (Jaroslav Kysela) [2125544] - ALSA: control: Use deferred fasync helper (Jaroslav Kysela) [2125544] - ALSA: pcm: Use deferred fasync helper (Jaroslav Kysela) [2125544] - ALSA: timer: Use deferred fasync helper (Jaroslav Kysela) [2125544] - ALSA: core: Add async signal helpers (Jaroslav Kysela) [2125544] - ALSA: core: Fix missing return value comments for kernel docs (Jaroslav Kysela) [2125544] - ALSA: memalloc: Fix missing return value comments for kernel docs (Jaroslav Kysela) [2125544] - ALSA: control: Fix missing return value comments for kernel docs (Jaroslav Kysela) [2125544] - ALSA: compress: Fix kernel doc warnings (Jaroslav Kysela) [2125544] - ALSA: dmaengine: Fix missing return value comments for kernel docs (Jaroslav Kysela) [2125544] - ALSA: pcm: Fix missing return value comments for kernel docs (Jaroslav Kysela) [2125544] - ALSA: compress: Enable kernel doc markers for some functions (Jaroslav Kysela) [2125544] - ALSA: rawmidi: Take buffer refcount while draining output (Jaroslav Kysela) [2125544] - ALSA: rawmidi: Check stream state at exported functions (Jaroslav Kysela) [2125544] - ALSA: rawmidi: Take open_mutex around parameter changes (Jaroslav Kysela) [2125544] - ALSA: rawmidi: Move lock to snd_rawmidi_substream (Jaroslav Kysela) [2125544] - ALSA: rawmidi: Make internal functions local static (Jaroslav Kysela) [2125544] - ALSA: control: Add input validation (Jaroslav Kysela) [2125544] - ALSA: control: Drop superfluous ifdef CONFIG_SND_CTL_DEBUG (Jaroslav Kysela) [2125544] - ALSA: control: Rename CONFIG_SND_CTL_VALIDATION to CONFIG_SND_CTL_DEBUG (Jaroslav Kysela) [2125544] - ALSA: control: Use xarray for faster lookups (Jaroslav Kysela) [2125544] - ALSA: seq: replace ternary operator with max() (Jaroslav Kysela) [2125544] - ALSA: pcm: use DEVICE_ATTR_RO macro (Jaroslav Kysela) [2125544] - pinctrl: amd: Don't save/restore interrupt status and wake status bits (Prarit Bhargava) [2130059] - x86/paravirt: Add a dummy __x86_paravirt_patch_template() function (Waiman Long) [2144161] - x86/paravirt: Fix kABI breakage in struct pv_mmu_ops (Waiman Long) [2144161]- can: af_can: fix NULL pointer dereference in can_rx_register() (Ivan Vecera) [2136823] - net: disable preemption in dev_core_stats_XXX_inc() helpers (Ivan Vecera) [2136823] - net: introduce CAN specific pointer in the struct net_device (Ivan Vecera) [2136823] - can: af_can: can_pernet_exit(): no need to iterate over and cleanup registered CAN devices (Ivan Vecera) [2136823] - net: add per-cpu storage and net->core_stats (Ivan Vecera) [2136823] - tun: switch to net core provided statistics counters (Ivan Vecera) [2136823] - tun: switch to u64_stats_t (Ivan Vecera) [2136823] - ceph: avoid putting the realm twice when decoding snaps fails (Xiubo Li) [2139881] - powerpc/64/kdump: Limit kdump base to 512MB (Mamatha Inamdar) [2132921] - ice: virtchnl rss hena support (Petr Oros) [2136516] - Documentation/admin-guide: Document nomodeset kernel parameter (Jocelyn Falempe) [2143952] - drm: Move nomodeset kernel parameter to the DRM subsystem (Jocelyn Falempe) [2143952] - usb: remove third argument of usb_maxpacket() (Íñigo Huguet) [2143362] - sound: usb: remove third argument of usb_maxpacket() (Íñigo Huguet) [2143362] - usb: remove third argument of usb_maxpacket() (Íñigo Huguet) [2143362] - net: remove third argument of usb_maxpacket() (Íñigo Huguet) [2143362] - media: remove third argument of usb_maxpacket() (Íñigo Huguet) [2143362] - Input: remove third argument of usb_maxpacket() (Íñigo Huguet) [2143362] - HID: usbhid: remove third argument of usb_maxpacket() (Íñigo Huguet) [2143362] - usb: deprecate the third argument of usb_maxpacket() (Íñigo Huguet) [2143362] - scsi: smartpqi: Change version to 2.1.20-035 (Don Brace) [2116976] - scsi: smartpqi: Initialize feature section info (Don Brace) [2116976] - scsi: smartpqi: Add controller cache flush during rmmod (Don Brace) [2116976] - scsi: smartpqi: Correct device removal for multi-actuator devices (Don Brace) [2116976] - scsi: smartpqi: Change sysfs raid_level attribute to N/A for controllers (Don Brace) [2116976] - scsi: smartpqi: Correct max LUN number (Don Brace) [2116976] - scsi: smartpqi: Add new controller PCI IDs (Don Brace) [2116976] - scsi: smartpqi: Convert to host_tagset (Don Brace) [2116976] - scsi: smartpqi: Stop using the SCSI pointer (Don Brace) [2116976] - smartpqi: Change request pointer to scsi_cmd_to_rq (Don Brace) [2116976] - scsi: smartpqi: Use scsi_cmd_to_rq() instead of scsi_cmnd.request (Don Brace) [2116976] - EDAC/skx_common: Make output format similar (Aristeu Rozanski) [2124915] - EDAC/skx_common: Use driver decoder first (Aristeu Rozanski) [2124915] - ptp: introduce helpers to adjust by scaled parts per million (Izabela Bakollari) [2141639] - ptp: add missing documentation for parameters (Izabela Bakollari) [2141639] - mm: slub: fix flush_cpu_slab()/__free_slab() invocations in task context. (Nico Pache) [2144559] - scsi: target: loop: Fix handling of aborted TMRs (Maurizio Lombardi) [2141713] - ceph: fix NULL pointer dereference for req->r_session (Xiubo Li) [2137955] - ceph: Use kcalloc for allocating multiple elements (Xiubo Li) [2137955] - net/mlx5e: TC, Reject forwarding from internal port to internal port (Mohammad Kabat) [2131345] - md/raid1: stop mdx_raid1 thread when raid1 array run failed (Nigel Croxon) [2143270] - md: fix a crash in mempool_free (Nigel Croxon) [2143257] - md/raid0, raid10: Don't set discard sectors for request queue (Nigel Croxon) [2143250] - sgx: use ->f_mapping... (Vladis Dronov) [2130210] - x86/sgx: Improve comments for sgx_encl_lookup/alloc_backing() (Vladis Dronov) [2130210] - x86/sgx: Handle VA page allocation failure for EAUG on PF. (Vladis Dronov) [2130210] - x86/sgx: Do not fail on incomplete sanitization on premature stop of ksgxd (Vladis Dronov) [2130210] - selftests/sgx: Ignore OpenSSL 3.0 deprecated functions warning (Vladis Dronov) [2130210] - x86/sgx: Set active memcg prior to shmem allocation (Vladis Dronov) [2130210] - x86/sgx: Drop 'page_index' from sgx_backing (Vladis Dronov) [2130210] - selftests/sgx: Page removal stress test (Vladis Dronov) [2130210] - selftests/sgx: Test reclaiming of untouched page (Vladis Dronov) [2130210] - selftests/sgx: Test invalid access to removed enclave page (Vladis Dronov) [2130210] - selftests/sgx: Test faulty enclave behavior (Vladis Dronov) [2130210] - selftests/sgx: Test complete changing of page type flow (Vladis Dronov) [2130210] - selftests/sgx: Introduce TCS initialization enclave operation (Vladis Dronov) [2130210] - selftests/sgx: Introduce dynamic entry point (Vladis Dronov) [2130210] - selftests/sgx: Test two different SGX2 EAUG flows (Vladis Dronov) [2130210] - selftests/sgx: Add test for TCS page permission changes (Vladis Dronov) [2130210] - selftests/sgx: Add test for EPCM permission changes (Vladis Dronov) [2130210] - Documentation/x86: Introduce enclave runtime management section (Vladis Dronov) [2130210] - x86/sgx: Free up EPC pages directly to support large page ranges (Vladis Dronov) [2130210] - x86/sgx: Support complete page removal (Vladis Dronov) [2130210] - x86/sgx: Support modifying SGX page type (Vladis Dronov) [2130210] - x86/sgx: Tighten accessible memory range after enclave initialization (Vladis Dronov) [2130210] - x86/sgx: Support adding of pages to an initialized enclave (Vladis Dronov) [2130210] - x86/sgx: Support restricting of enclave page permissions (Vladis Dronov) [2130210] - x86/sgx: Support VA page allocation without reclaiming (Vladis Dronov) [2130210] - x86/sgx: Export sgx_encl_page_alloc() (Vladis Dronov) [2130210] - x86/sgx: Export sgx_encl_{grow,shrink}() (Vladis Dronov) [2130210] - x86/sgx: Keep record of SGX page type (Vladis Dronov) [2130210] - x86/sgx: Create utility to validate user provided offset and length (Vladis Dronov) [2130210] - x86/sgx: Make sgx_ipi_cb() available internally (Vladis Dronov) [2130210] - x86/sgx: Move PTE zap code to new sgx_zap_enclave_ptes() (Vladis Dronov) [2130210] - x86/sgx: Rename sgx_encl_ewb_cpumask() as sgx_encl_cpumask() (Vladis Dronov) [2130210] - x86/sgx: Export sgx_encl_ewb_cpumask() (Vladis Dronov) [2130210] - x86/sgx: Support loading enclave page without VMA permissions check (Vladis Dronov) [2130210] - x86/sgx: Add wrapper for SGX2 EAUG function (Vladis Dronov) [2130210] - x86/sgx: Add wrapper for SGX2 EMODT function (Vladis Dronov) [2130210] - x86/sgx: Add wrapper for SGX2 EMODPR function (Vladis Dronov) [2130210] - x86/sgx: Add short descriptions to ENCLS wrappers (Vladis Dronov) [2130210] - x86/sgx: Ensure no data in PCMD page after truncate (Vladis Dronov) [2130210] - x86/sgx: Fix race between reclaimer and page fault handler (Vladis Dronov) [2130210] - x86/sgx: Obtain backing storage page with enclave mutex held (Vladis Dronov) [2130210] - x86/sgx: Mark PCMD page as dirty when modifying contents (Vladis Dronov) [2130210] - x86/sgx: Disconnect backing page references from dirty status (Vladis Dronov) [2130210] - HID: intel-ish-hid: ipc: Add Meteor Lake PCI device ID (Tony Camuso) [2132441] - hid: intel-ish-hid: ishtp: Fix ishtp client sending disordered message (Tony Camuso) [2132441] - HID: ishtp-hid-clientHID: ishtp-hid-client: Fix comment typo (Tony Camuso) [2132441] - ID: intel-ish-hid: hid-client: drop unexpected word "the" in the comments (Tony Camuso) [2132441] - HID: intel-ish-hid: ipc: use time_before to replace "jiffies < a" (Tony Camuso) [2132441] - HID: intel-ish-hid: ipc: add ADL and RPL device id (Tony Camuso) [2132441] - HID: intel-ish-hid: Use dma_alloc_coherent for firmware update (Tony Camuso) [2132441] - HID: intel-ish-hid: ishtp-fw-loader: Fix a kernel-doc formatting issue (Tony Camuso) [2132441] - HID: intel-ish-hid: ipc: Specify no cache snooping on TGL and ADL (Tony Camuso) [2132441] - HID: intel-ish-hid: ipc: only enable IRQ wakeup when requested (Tony Camuso) [2132441] - HID: intel-ish-hid: fix module device-id handling (Tony Camuso) [2132441] - HID: intel-ish-hid: hid-client: only load for matching devices (Tony Camuso) [2132441] - HID: intel-ish-hid: fw-loader: only load for matching devices (Tony Camuso) [2132441] - HID: intel-ish-hid: use constants for modaliases (Tony Camuso) [2132441] - s390/pci: add missing EX_TABLE entries to __pcistg_mio_inuser()/__pcilg_mio_inuser() (Tobias Huschle) [2141963] - s390/futex: add missing EX_TABLE entry to __futex_atomic_op() (Tobias Huschle) [2141963] - s390/uaccess: add missing EX_TABLE entries to __clear_user() (Tobias Huschle) [2141963] - net: usb: ax88179_178a: Fix packet receiving (Jose Ignacio Tornos Martinez) [2142725] {CVE-2022-2964} - net: usb: ax88179_178a: Fix out-of-bounds accesses in RX fixup (Jose Ignacio Tornos Martinez) [2142725] {CVE-2022-2964} - drm/i915/rpl-p: Add PCI IDs (Jocelyn Falempe) [2115880] - Revert "dma-buf: remove useless FMODE_LSEEK flag" (Jocelyn Falempe) [2115880] - drm/amd/display: Increase stack frame size limit for a few files. (Jocelyn Falempe) [2115880] - drm_crtc.h is missing include/linux/slab.h (Jocelyn Falempe) [2115880] - drm/amd/display: remove a duplicated declaration (Jocelyn Falempe) [2115880] - Revert "mm: shrinkers: provide shrinkers with names" (Jocelyn Falempe) [2115880] - Revert "drm/amdkfd: add SPM support for SVM" (Jocelyn Falempe) [2115880] - Merge DRM changes from upstream v5.19..v6.0 (Jocelyn Falempe) [2115880] - drm/i915/gvt: IMPORT_MODULE_NS workaround (Jocelyn Falempe) [2115880] - Replace EXPORT_SYMBOL_NS_GPL with EXPORT_SYMBOL_GPL (Jocelyn Falempe) [2115880] - Revert "vfio/gvt: Fix open/close when multiple device FDs are open" (Michel Dänzer) [2115880] - Revert "vfio/mdev: Pass in a struct vfio_device * to vfio_dma_rw()" (Jocelyn Falempe) [2115880] - Revert "drm/i915/gvt: convert to use vfio_register_emulated_iommu_dev" (Jocelyn Falempe) [2115880] - Revert "drm/i915/gvt: merge gvt.c into kvmgvt.c" (Jocelyn Falempe) [2115880] - Revert "vfio/mdev: Remove mdev_parent_ops" (Jocelyn Falempe) [2115880] - Revert "vfio: Make vfio_(un)register_notifier accept a vfio_device" (Jocelyn Falempe) [2115880] - Revert "drm/i915/gvt: Change from vfio_group_(un)pin_pages to vfio_(un)pin_pages" (Jocelyn Falempe) [2115880] - Revert "vfio: remove VFIO_GROUP_NOTIFY_SET_KVM" (Jocelyn Falempe) [2115880] - Revert "i915: Call aops write_begin() and write_end() directly" (Jocelyn Falempe) [2115880] - Merge DRM changes from upstream v5.18..v5.19 (Jocelyn Falempe) [2115880] - crypto: testmgr - disallow plain cbcmac(aes) and ghash in FIPS mode (Vladis Dronov) [2107595] - crypto: set the required FIPS_INTERNAL flag for gcm and ccm (Vladis Dronov) [2107595] - crypto: seqiv - flag instantiations as FIPS compliant (Vladis Dronov) [2107595] - crypto: xts - restrict key lengths to approved values in FIPS mode (Vladis Dronov) [2107595] - crypto: api - allow algs only in specific constructions in FIPS mode (Vladis Dronov) [2107595] - crypto: api - check for ERR pointers in crypto_destroy_tfm() (Vladis Dronov) [2107595] - crypto: api - Fix use-after-free and race in crypto_spawn_alg (Vladis Dronov) [2107595] - crypto: algapi - Avoid spurious modprobe on LOADED (Vladis Dronov) [2107595] - crypto: api - Retain alg refcount in crypto_grab_spawn (Vladis Dronov) [2107595] - crypto: api - Do not zap spawn->alg (Vladis Dronov) [2107595] - crypto: api - Fix race condition in crypto_spawn_alg (Vladis Dronov) [2107595] - crypto: api - Check spawn->alg under lock in crypto_drop_spawn (Vladis Dronov) [2107595] - crypto: algapi - reject NULL crypto_spawn::inst (Vladis Dronov) [2107595] - iavf: remove INITIAL_MAC_SET to allow gARP to work properly (Stefan Assmann) [1938635] - mm, slab: remove duplicate kernel-doc comment for ksize() (Michal Schmidt) [2143367] - slab: Introduce kmalloc_size_roundup() (Michal Schmidt) [2143367] - thermal: int340x: Mode setting with new OS handshake (Prarit Bhargava) [2072652] - thermal: int340x: Update OS policy capability handshake (Prarit Bhargava) [2072652] - hugetlb: remove unnecessary set_page_count in prep_compound_gigantic_page (Chris von Recklinghausen) [2143631] - mm/hugetlb: clear compound_nr before freeing gigantic pages (Chris von Recklinghausen) [2143631] - uprobes: __replace_page() avoid BUG in munlock_vma_page() (Chris von Recklinghausen) [2143631] - s390/boot: add secure boot trailer (Tobias Huschle) [2141967] - ice: Fix configuring VIRTCHNL_OP_CONFIG_VSI_QUEUES with unbalanced queues (Michal Schmidt) [2137378] - nvme: wait until quiesce is done (Ming Lei) [2144258] - scsi: make sure that request queue queiesce and unquiesce balanced (Ming Lei) [2144258] - scsi: avoid to quiesce sdev->request_queue two times (Ming Lei) [2144258] - dm: don't stop request queue after the dm device is suspended (Ming Lei) [2144258]- ata: libata-core: Print timeout value when internal command times (Ewan D. Milne) [1823688] - ata: libata-core: fix sloppy parameter type in ata_exec_internal[_sg]() (Ewan D. Milne) [1823688] - ata: libata-core: make ata_exec_internal_sg() *static* (Ewan D. Milne) [1823688] - perf/x86/intel: Fix unchecked MSR access error for Alder Lake N (Michael Petlan) [2104807] - perf/x86/intel: Fix PEBS data source encoding for ADL (Michael Petlan) [2104807] - perf/x86/intel: Fix PEBS memory access info encoding for ADL (Michael Petlan) [2104807] - i40e: Fix DMA mappings leak (Ivan Vecera) [2077847] - fbcon: Fix delayed takeover locking (Jocelyn Falempe) [2134795] - fbcon: use min() to make code cleaner (Jocelyn Falempe) [2134795] - fbcon: Use array3_size() helper in scr_memcpyw() (Jocelyn Falempe) [2134795] - fbcon: Maintain a private array of fb_info (Jocelyn Falempe) [2134795] - fbcon: untangle fbcon_exit (Jocelyn Falempe) [2134795] - fbcon: Move more code into fbcon_release (Jocelyn Falempe) [2134795] - fbcon: Move console_lock for register/unlink/unregister (Jocelyn Falempe) [2134795] - fbcon: Consistently protect deferred_takeover with console_lock() (Jocelyn Falempe) [2134795] - fbcon: use lock_fb_info in fbcon_open/release (Jocelyn Falempe) [2134795] - fbcon: move more common code into fb_open() (Jocelyn Falempe) [2134795] - fbcon: Ditch error handling for con2fb_release_oldinfo (Jocelyn Falempe) [2134795] - fbcon: Extract fbcon_open/release helpers (Jocelyn Falempe) [2134795] - fb: Delete fb_info->queue (Jocelyn Falempe) [2134795] - fbcon: Replace FBCON_FLAGS_INIT with a boolean (Jocelyn Falempe) [2134795] - fbcon: Use delayed work for cursor (Jocelyn Falempe) [2134795] - fbdev/sysfs: Fix locking (Jocelyn Falempe) [2134795] - fbcon: delete delayed loading code (Jocelyn Falempe) [2134795] - fbcon: Introduce wrapper for console->fb_info lookup (Jocelyn Falempe) [2134795] - fbcon: Move fbcon_bmove(_rec) functions (Jocelyn Falempe) [2134795] - fbcon: delete a few unneeded forward decl (Jocelyn Falempe) [2134795] - fbcon: Avoid 'cap' set but not used warning (Jocelyn Falempe) [2134795] - video: fbcon: Fix warnings by using pr_debug() in fbcon (Jocelyn Falempe) [2134795] - fbcon: Fix user font detection test at fbcon_resize(). (Jocelyn Falempe) [2134795] - fbcon: remove now unusued 'softback_lines' cursor() argument (Jocelyn Falempe) [2134795] - fbcon: remove soft scrollback code (Jocelyn Falempe) [2134795] - fbcon: prevent user font height or width change from causing potential out-of-bounds access (Jocelyn Falempe) [2134795] - fbmem: pull fbcon_update_vcs() out of fb_set_var() (Jocelyn Falempe) [2134795] - fbcon: fix null-ptr-deref in fbcon_switch (Jocelyn Falempe) [2134795] - fbcon: Adjust indentation in set_con2fb_map (Jocelyn Falempe) [2134795] - fbdev: Unexport unlink_framebuffer() (Jocelyn Falempe) [2134795] - backlight: drop EARLY_EVENT_BLANK support (Jocelyn Falempe) [2134795] - fbcon: Export fbcon_update_vcs (Jocelyn Falempe) [2134795] - backlight: simplify lcd notifier (Jocelyn Falempe) [2134795] - fbcon: Document what I learned about fbcon locking (Jocelyn Falempe) [2134795] - fbcon: Call con2fb_map functions directly (Jocelyn Falempe) [2134795] - fbcon: replace FB_EVENT_MODE_CHANGE/_ALL with direct calls (Jocelyn Falempe) [2134795] - fb: Flatten control flow in fb_set_var (Jocelyn Falempe) [2134795] - fbdev: remove FBINFO_MISC_USEREVENT around fb_blank (Jocelyn Falempe) [2134795] - fbmem: pull fbcon_fb_blanked out of fb_blank (Jocelyn Falempe) [2134795] - Revert "backlight/fbcon: Add FB_EVENT_CONBLANK" (Jocelyn Falempe) [2134795] - fbdev: Call fbcon_get_requirement directly (Jocelyn Falempe) [2134795] - fbcon: Call fbcon_mode_deleted/new_modelist directly (Jocelyn Falempe) [2134795] - fbdev: directly call fbcon_suspended/resumed (Jocelyn Falempe) [2134795] - fbdev: unify unlink_framebuffer paths (Jocelyn Falempe) [2134795] - fbdev: make unregister/unlink functions not fail (Jocelyn Falempe) [2134795] - fbcon: call fbcon_fb_bind directly (Jocelyn Falempe) [2134795] - fbcon: call fbcon_fb_(un)registered directly (Jocelyn Falempe) [2134795] - fbdev: fbmem: fix memory access if logo is bigger than the screen (Jocelyn Falempe) [2134795] - fbdev: add kerneldoc do remove_conflicting_framebuffers() (Jocelyn Falempe) [2134795] - fbdev: allow apertures == NULL in remove_conflicting_framebuffers() (Jocelyn Falempe) [2134795] - fbdev: show fbdev number for debugging (Jocelyn Falempe) [2134795] - fbcon: use kvmalloc() for scrollback buffer (Jocelyn Falempe) [2134795] - fbdev: fbcon: Fix unregister crash when more than one framebuffer (Jocelyn Falempe) [2134795] - fb: fix lost console when the user unplugs a USB adapter (Jocelyn Falempe) [2134795] - fbcon: introduce for_each_registered_fb() helper (Jocelyn Falempe) [2134795] - timers/nohz: Last resort update jiffies on nohz_full IRQ entry (Waiman Long) [2108387] - irq: Call tick_irq_enter() inside HARDIRQ_OFFSET (Waiman Long) [2108387] - irqtime: Move irqtime entry accounting after irq offset incrementation (Waiman Long) [2108387] - sched/vtime: Consolidate IRQ time accounting (Waiman Long) [2108387] - s390/vtime: Use the generic IRQ entry accounting (Waiman Long) [2108387] - sched/cputime: Remove symbol exports from IRQ time accounting (Waiman Long) [2108387] - genirq/irqdomain: Don't try to free an interrupt that has no mapping (Waiman Long) [2108387] - genirq: Provide __irq_enter/exit_raw() (Waiman Long) [2108387] - powerpc/time: Only set CONFIG_ARCH_HAS_SCALED_CPUTIME on PPC64 (Waiman Long) [2108387] - powerpc/time: isolate scaled cputime accounting in dedicated functions. (Waiman Long) [2108387] - perf: Fix list corruption in perf_cgroup_switch() (Aaron Tomlin) [2136548] - gen_compile_commands: fix issues in RHEL-8 (Íñigo Huguet) [2136840] - .gitignore: Add compilation database file (Íñigo Huguet) [2136840] - gen_compile_commands: fix missing 'sys' package (Íñigo Huguet) [2136840] - gen_compile_commands: extract compiler command from a series of commands (Íñigo Huguet) [2136840] - gen_compile_commands: prune some directories (Íñigo Huguet) [2136840] - scripts/clang-tools: switch explicitly to Python 3 (Íñigo Huguet) [2136840] - Makefile: Add clang-tidy and static analyzer support to makefile (Íñigo Huguet) [2136840] - kbuild: wire up the build rule of compile_commands.json to Makefile (Íñigo Huguet) [2136840] - gen_compile_commands: remove the warning about too few .cmd files (Íñigo Huguet) [2136840] - gen_compile_commands: support *.o, *.a, modules.order in positional argument (Íñigo Huguet) [2136840] - gen_compile_commands: move directory walk to a generator function (Íñigo Huguet) [2136840] - gen_compile_commands: make -o option independent of -d option (Íñigo Huguet) [2136840] - gen_compile_commands: reword the help message of -d option (Íñigo Huguet) [2136840] - gen_compile_commands: do not support .cmd files under tools/ directory (Íñigo Huguet) [2136840] - gen_compile_commands: use choices for --log_levels option (Íñigo Huguet) [2136840] - gen_compile_commands: parse only the first line of .*.cmd files (Íñigo Huguet) [2136840] - gen_compile_commands: lower the entry count threshold (Íñigo Huguet) [2136840] - scripts: add a tool to produce a compile_commands.json file (Íñigo Huguet) [2136840] - iavf: Do not restart Tx queues after reset task failure (Petr Oros) [2134005] - iavf: Fix a crash during reset task (Petr Oros) [2134005] - spec: add bpf_testmod.ko to kselftests/bpf (Yauheni Kaliuta) [2140082] - fuse: fix readdir cache race (Miklos Szeredi) [2131391] - ice: config netdev tc before setting queues number (Petr Oros) [2103946] - ice: Fix ice_xdp_xmit() when XDP TX queue number is not sufficient (Petr Oros) [2103946] - ice: Don't double unplug aux on peer initiated reset (Petr Oros) [2103946] - ice: use bitmap_free instead of devm_kfree (Petr Oros) [2103946] - ice: Fix DMA mappings leak (Petr Oros) [2103946] - ice: Fix call trace with null VSI during VF reset (Petr Oros) [2103946] - ice: Fix VSI rebuild WARN_ON check for VF (Petr Oros) [2103946] - net/ice: fix initializing the bitmap in the switch code (Petr Oros) [2103946] - net: ice: fix error NETIF_F_HW_VLAN_CTAG_FILTER check in ice_vsi_sync_fltr() (Petr Oros) [2103946] - ice: allow toggling loopback mode via ndo_set_features callback (Petr Oros) [2103946] - ice: compress branches in ice_set_features() (Petr Oros) [2103946] - ice: Add support for PPPoE hardware offload (Petr Oros) [2103946] - ice: add i2c write command (Petr Oros) [2103946] - ice: Remove pci_aer_clear_nonfatal_status() call (Petr Oros) [2103946] - ice: Remove unnecessary NULL check before dev_put (Petr Oros) [2103946] - ice: use eth_broadcast_addr() to set broadcast address (Petr Oros) [2103946] - ice: switch: dynamically add VLAN headers to dummy packets (Petr Oros) [2103946] - ice: Add support for VLAN TPID filters in switchdev (Petr Oros) [2103946] - ice: Add support for double VLAN in switchdev (Petr Oros) [2103946] - intel/ice:fix repeated words in comments (Petr Oros) [2103946] - drivers/net/ethernet/intel: fix typos in comments (Petr Oros) [2103946] - ice: Use correct order for the parameters of devm_kcalloc() (Petr Oros) [2103946] - ice: remove u16 arithmetic in ice_gnss (Petr Oros) [2103946] - ice: remove VLAN representor specific ops (Petr Oros) [2103946] - ice: don't set VF VLAN caps in switchdev (Petr Oros) [2103946] - kernel-doc: fix undefined args variable (Jan Stancek) [2134954]- sunrpc: Set sk_allocation to GFP_NOFS to avoid using current->task_frag. (Guillaume Nault) [2089660] - selftests/vm: enable running select groups of tests (Joel Savitz) [2089502] - selftests: make use of GUP_TEST_FILE macro (Nico Pache) [2089502] - selftests: clarify common error when running gup_test (Nico Pache) [2089502] - tools/testing/selftests/vm/gup_test.c: clarify error statement (Nico Pache) [2089502] - mm: remove the extra ZONE_DEVICE struct page refcount (Chris von Recklinghausen) [2082247] - mm: simplify freeing of devmap managed pages (Chris von Recklinghausen) [2082247] - mm: move free_devmap_managed_page to memremap.c (Chris von Recklinghausen) [2082247] - mm/memremap: add ZONE_DEVICE support for compound pages (Chris von Recklinghausen) [2082247] - mm/page_alloc: refactor memmap_init_zone_device() page init (Chris von Recklinghausen) [2082247] - mm/page_alloc: split prep_compound_page into head and tail subparts (Chris von Recklinghausen) [2082247] - mm/debug: sync up MR_CONTIG_RANGE and MR_LONGTERM_PIN (Chris von Recklinghausen) [2082247] - mm: gup: use helper PAGE_ALIGNED in populate_vma_page_range() (Chris von Recklinghausen) [2082247] - mm: gup: remove useless BUG_ON in __get_user_pages() (Chris von Recklinghausen) [2082247] - mm: gup: remove unneed local variable orig_refs (Chris von Recklinghausen) [2082247] - mm: gup: remove set but unused local variable major (Chris von Recklinghausen) [2082247] - writeback: make the laptop_mode prototypes available unconditionally (Chris von Recklinghausen) [2082247] - mm: hide laptop_mode_wb_timer entirely behind the BDI API (Chris von Recklinghausen) [2082247] - mm: remove special swap entry functions (Chris von Recklinghausen) [2082247] - hugetlb: address ref count racing in prep_compound_gigantic_page (Chris von Recklinghausen) [2082247] - hugetlb: remove prep_compound_huge_page cleanup (Chris von Recklinghausen) [2082247] - mm: page_vma_mapped_walk(): get vma_address_end() earlier (Chris von Recklinghausen) [2082247] - mm: page_vma_mapped_walk(): use goto instead of while (1) (Chris von Recklinghausen) [2082247] - mm: page_vma_mapped_walk(): add a level of indentation (Chris von Recklinghausen) [2082247] - mm: page_vma_mapped_walk(): crossing page table boundary (Chris von Recklinghausen) [2082247] - mm: page_vma_mapped_walk(): prettify PVMW_MIGRATION block (Chris von Recklinghausen) [2082247] - mm: page_vma_mapped_walk(): use pmde for *pvmw->pmd (Chris von Recklinghausen) [2082247] - mm: page_vma_mapped_walk(): settle PageHuge on entry (Chris von Recklinghausen) [2082247] - mm: page_vma_mapped_walk(): use page for pvmw->page (Chris von Recklinghausen) [2082247] - mm/gup: longterm pin migration cleanup (Chris von Recklinghausen) [2082247] - mm/gup: change index type to long as it counts pages (Chris von Recklinghausen) [2082247] - mm/gup: migrate pinned pages out of movable zone (Chris von Recklinghausen) [2082247] - mm: honor PF_MEMALLOC_PIN for all movable pages (Chris von Recklinghausen) [2082247] - mm cma: rename PF_MEMALLOC_NOCMA to PF_MEMALLOC_PIN (Chris von Recklinghausen) [2082247] - mm/huge_memory.c: use helper function migration_entry_to_page() (Chris von Recklinghausen) [2082247] - block: add queue_to_disk() to get gendisk from request_queue (Chris von Recklinghausen) [2082247] - mm/hugetlb: remove redundant check in preparing and destroying gigantic page (Chris von Recklinghausen) [2082247] - mm/hugetlb: use helper huge_page_order and pages_per_huge_page (Chris von Recklinghausen) [2082247] - mm: handle zone device pages in release_pages() (Chris von Recklinghausen) [2082247] - mm/gup: remove the vma allocation from gup_longterm_locked() (Chris von Recklinghausen) [2082247] - mm/mremap_pages: fix static key devmap_managed_key updates (Chris von Recklinghausen) [2082247] - mm/memremap.c: convert devmap static branch to {inc,dec} (Chris von Recklinghausen) [2082247] - mm/page_alloc: handle a missing case for memalloc_nocma_{save/restore} APIs (Chris von Recklinghausen) [2082247] - mm: store compound_nr as well as compound_order (Chris von Recklinghausen) [2082247] - mm: clean up the last pieces of page fault accountings (Chris von Recklinghausen) [2082247] - mm/x86: use general page fault accounting (Chris von Recklinghausen) [2082247] - mm/s390: use general page fault accounting (Chris von Recklinghausen) [2082247] - mm/powerpc: use general page fault accounting (Chris von Recklinghausen) [2082247] - mm/arm64: use general page fault accounting (Chris von Recklinghausen) [2082247] - mm: do page fault accounting in handle_mm_fault (Chris von Recklinghausen) [2082247] - include/linux/sched/mm.h: optimize current_gfp_context() (Chris von Recklinghausen) [2082247] - mm/page_alloc: fix memalloc_nocma_{save/restore} APIs (Chris von Recklinghausen) [2082247] - mm: remove redundant check non_swap_entry() (Chris von Recklinghausen) [2082247] - mm: rename gfpflags_to_migratetype to gfp_migratetype for same convention (Chris von Recklinghausen) [2082247] - mm,page_alloc,cma: conditionally prefer cma pageblocks for movable allocations (Chris von Recklinghausen) [2082247] - mm/vma: introduce VM_ACCESS_FLAGS (Chris von Recklinghausen) [2082247] - mm/vma: make vma_is_accessible() available for general use (Chris von Recklinghausen) [2082247] - kernel/events/uprobes.c: only do FOLL_SPLIT_PMD for uprobe register (Chris von Recklinghausen) [2082247] - uprobe: collapse THP pmd after removing all uprobes (Chris von Recklinghausen) [2082247] - uprobe: use FOLL_SPLIT_PMD instead of FOLL_SPLIT (Chris von Recklinghausen) [2082247] - mm, thp: introduce FOLL_SPLIT_PMD (Chris von Recklinghausen) [2082247] - mm: clean up is_device_*_page() definitions (Chris von Recklinghausen) [2082247] - driver core: Add helper device_find_child_by_name() (Chris von Recklinghausen) [2082247] - mm/page_alloc.c: remove unnecessary parameter in rmqueue_pcplist (Chris von Recklinghausen) [2082247] - sctp: handle the error returned from sctp_auth_asoc_init_active_key (Xin Long) [2134892] - sctp: leave the err path free in sctp_stream_init to sctp_stream_free (Xin Long) [2134892] - sctp: fix sleep in atomic context bug in timer handlers (Xin Long) [2134892] - stcp: Use memset_after() to zero sctp_stream_out_ext (Xin Long) [2134892] - sctp: read sk->sk_bound_dev_if once in sctp_rcv() (Xin Long) [2134892] - ethtool: add header/data split indication (Ivan Vecera) [2135624] - xfrm: store and rely on direction to construct offload flags (Sabrina Dubroca) [2137562] - platform/x86/intel: pmc: Support Intel Raptorlake P (Prarit Bhargava) [2076736]- KVM: selftests: Build the memslot tests for arm64 (Gavin Shan) [2132161] - KVM: selftests: Fix number of pages for memory slot in memslot_modification_stress_test (Gavin Shan) [2132161] - tools/include: Add _RET_IP_ and math definitions to kernel.h (Gavin Shan) [2132161] - tcp: fix early ETIMEDOUT after spurious non-SACK RTO (Davide Caratti) [2136409] - tcp: add a missing nf_reset_ct() in 3WHS handling (Davide Caratti) [2136409] - sock: redo the psock vs ULP protection check (Davide Caratti) [2136409] - tcp: tcp_rtx_synack() can be called from process context (Davide Caratti) [2136409] - tcp: fix tcp_mtup_probe_success vs wrong snd_cwnd (Davide Caratti) [2136409] - tcp: fix F-RTO may not work correctly when receiving DSACK (Davide Caratti) [2136409] - selftests: xsk: do not send zero-length packets (Ivan Vecera) [2135634] - selftests/xsk: Introduce XDP prog load based on existing AF_XDP socket (Ivan Vecera) [2135634] - selftests, xsk: Fix rx_full stats test (Ivan Vecera) [2135634] - selftests/bpf: Fix xdpxceiver failures for no hugepages (Ivan Vecera) [2135634] - selftests/xsk: Add missing close() on netns fd (Ivan Vecera) [2135634] - selftests, xsk: Fix bpf_res cleanup test (Ivan Vecera) [2135634] - selftests: xsk: Add frame_headroom test (Ivan Vecera) [2135634] - selftests: xsk: Change interleaving of packets in unaligned mode (Ivan Vecera) [2135634] - selftests: xsk: Add single packet test (Ivan Vecera) [2135634] - selftests: xsk: Introduce pacing of traffic (Ivan Vecera) [2135634] - selftests: xsk: Fix socket creation retry (Ivan Vecera) [2135634] - selftests: xsk: Put the same buffer only once in the fill ring (Ivan Vecera) [2135634] - selftests: xsk: Fix missing initialization (Ivan Vecera) [2135634] - selftests: xsk: Add tests for 2K frame size (Ivan Vecera) [2135634] - selftests: xsk: Add tests for invalid xsk descriptors (Ivan Vecera) [2135634] - selftests: xsk: Eliminate test specific if-statement in test runner (Ivan Vecera) [2135634] - selftests: xsk: Add test for unaligned mode (Ivan Vecera) [2135634] - selftests: xsk: Introduce replacing the default packet stream (Ivan Vecera) [2135634] - selftests: xsk: Allow for invalid packets (Ivan Vecera) [2135634] - selftests: xsk: Eliminate MAX_SOCKS define (Ivan Vecera) [2135634] - selftests: xsx: Make pthreads local scope (Ivan Vecera) [2135634] - selftests: xsk: Make xdp_flags and bind_flags local (Ivan Vecera) [2135634] - selftests: xsk: Specify number of sockets to create (Ivan Vecera) [2135634] - selftests: xsk: Replace second_step global variable (Ivan Vecera) [2135634] - selftests: xsk: Introduce rx_on and tx_on in ifobject (Ivan Vecera) [2135634] - selftests: xsk: Add use_poll to ifobject (Ivan Vecera) [2135634] - selftests: xsx: Introduce test name in test spec (Ivan Vecera) [2135634] - selftests: xsk: Make frame_size configurable (Ivan Vecera) [2135634] - selftests: xsk: Move rxqsize into xsk_socket_info (Ivan Vecera) [2135634] - selftests: xsk: Move num_frames and frame_headroom to xsk_umem_info (Ivan Vecera) [2135634] - selftests: xsk: Introduce test specifications (Ivan Vecera) [2135634] - selftests: xsk: Introduce type for thread function (Ivan Vecera) [2135634] - selftests: xsk: Simplify xsk and umem arrays (Ivan Vecera) [2135634] - selftests: xsk: Preface options with opt (Ivan Vecera) [2135634] - selftests: xsk: Make enums lower case (Ivan Vecera) [2135634] - selftests: xsk: Generate packets from specification (Ivan Vecera) [2135634] - selftests: xsk: Generate packet directly in umem (Ivan Vecera) [2135634] - selftests: xsk: Simplify cleanup of ifobjects (Ivan Vecera) [2135634] - selftests: xsk: Decrease sending speed (Ivan Vecera) [2135634] - selftests: xsk: Validate tx stats on tx thread (Ivan Vecera) [2135634] - selftests: xsk: Simplify packet validation in xsk tests (Ivan Vecera) [2135634] - selftests: xsk: Rename worker_* functions that are not thread entry points (Ivan Vecera) [2135634] - selftests: xsk: Disassociate umem size with packets sent (Ivan Vecera) [2135634] - selftests: xsk: Remove end-of-test packet (Ivan Vecera) [2135634] - selftests: xsk: Simplify the retry code (Ivan Vecera) [2135634] - selftests: xsk: Return correct error codes (Ivan Vecera) [2135634] - selftests: xsk: Remove unused variables (Ivan Vecera) [2135634] - selftests: xsk: Remove the num_tx_packets option (Ivan Vecera) [2135634] - selftests: xsk: Remove color mode (Ivan Vecera) [2135634] - xsk: Fix possible crash when multiple sockets are created (Ivan Vecera) [2135634] - i40e: xsk: Move tmp desc array from driver to pool (Ivan Vecera) [2135634] - xsk: Initialise xskb free_list_node (Ivan Vecera) [2135634] - xsk: Fix corrupted packets for XDP_SHARED_UMEM (Ivan Vecera) [2135634] - xsk: Fix clang build error in __xp_alloc (Ivan Vecera) [2135634] - xsk: Do not write NULL in SW ring at allocation failure (Ivan Vecera) [2135634] - xsk: Fix crash on double free in buffer pool (Ivan Vecera) [2135634] - xsk: Optimize for aligned case (Ivan Vecera) [2135634] - xsk: Batched buffer allocation for the pool (Ivan Vecera) [2135634] - xsk: Get rid of unused entry in struct xdp_buff_xsk (Ivan Vecera) [2135634] - redhat/configs: Move config files under common/generic/x86 to generic/x86_64 (Waiman Long) [2139172] - fbmem: Check virtual screen sizes in fb_set_var() (Wander Lairson Costa) [2109116] {CVE-2021-33655} - fbcon: Prevent that screen size is smaller than font size (Wander Lairson Costa) [2109116] {CVE-2021-33655} - fbcon: Disallow setting font bigger than screen size (Wander Lairson Costa) [2109116] {CVE-2021-33655} - video: of_display_timing.h: include errno.h (Wander Lairson Costa) [2109116] {CVE-2021-33655} - MAINTAINERS: pick up all vfio_ap docs for VFIO AP maintainers (Cédric Le Goater) [1660908] - s390/docs: fix warnings for vfio_ap driver doc (Cédric Le Goater) [1660908] - s390/docs: fix warnings for vfio_ap driver lock usage doc (Cédric Le Goater) [1660908] - s390/Docs: new doc describing lock usage by the vfio_ap device driver (Cédric Le Goater) [1660908] - s390/vfio-ap: bypass unnecessary processing of AP resources (Cédric Le Goater) [1660908] - s390/vfio-ap: update docs to include dynamic config support (Cédric Le Goater) [1660908] - s390/vfio-ap: handle config changed and scan complete notification (Cédric Le Goater) [1660908] - s390/vfio-ap: sysfs attribute to display the guest's matrix (Cédric Le Goater) [1660908] - s390/vfio-ap: implement in-use callback for vfio_ap driver (Cédric Le Goater) [1660908] - s390/vfio-ap: reset queues after adapter/domain unassignment (Cédric Le Goater) [1660908] - s390/vfio-ap: hot plug/unplug of AP devices when probed/removed (Cédric Le Goater) [1660908] - s390/vfio-ap: allow hot plug/unplug of AP devices when assigned/unassigned (Cédric Le Goater) [1660908] - s390/vfio-ap: prepare for dynamic update of guest's APCB on queue probe/remove (Cédric Le Goater) [1660908] - s390/vfio-ap: prepare for dynamic update of guest's APCB on assign/unassign (Cédric Le Goater) [1660908] - s390/vfio-ap: use proper locking order when setting/clearing KVM pointer (Cédric Le Goater) [1660908] - s390/vfio-ap: introduce new mutex to control access to the KVM pointer (Cédric Le Goater) [1660908] - s390/vfio-ap: rename matrix_dev->lock mutex to matrix_dev->mdevs_lock (Cédric Le Goater) [1660908] - s390/vfio-ap: allow assignment of unavailable AP queues to mdev device (Cédric Le Goater) [1660908] - s390/vfio-ap: refresh guest's APCB by filtering AP resources assigned to mdev (Cédric Le Goater) [1660908] - s390/vfio-ap: introduce shadow APCB (Cédric Le Goater) [1660908] - s390/vfio-ap: manage link between queue struct and matrix mdev (Cédric Le Goater) [1660908] - s390/vfio-ap: move probe and remove callbacks to vfio_ap_ops.c (Cédric Le Goater) [1660908] - s390/vfio-ap: use new AP bus interface to search for queue devices (Cédric Le Goater) [1660908] - s390/ap: fix error handling in __verify_queue_reservations() (Cédric Le Goater) [1660908] - s390/zcrypt: code cleanup (Cédric Le Goater) [1660908] - s390/zcrypt: fix wrong offset index for APKA master key valid state (Cédric Le Goater) [1660908] - s390/ap: uevent on apmask/aqpmask change (Cédric Le Goater) [1660908] - s390/vfio-ap: fix kernel doc and signature of group notifier functions (Cédric Le Goater) [1660908] - s390/ap: enable sysfs attribute scans to force AP bus rescan (Cédric Le Goater) [1660908] - s390/ap: fix crash on older machines based on QCI info missing (Cédric Le Goater) [1660908] - s390/ap: notify drivers on config changed and scan complete callbacks (Cédric Le Goater) [1660908] - s390/ap: driver callback to indicate resource in use (Cédric Le Goater) [1660908] - MAINTAINERS: update file path for S390 VFIO AP DRIVER (Cédric Le Goater) [1660908] - s390/vfio-ap: add status attribute to AP queue device's sysfs dir (Cédric Le Goater) [1660908] - s390/ap: function rework based on compiler warning (Cédric Le Goater) [1660908] - s390/vfio-ap: s390/crypto: fix all kernel-doc warnings (Cédric Le Goater) [1660908] - s390/ap: new module option ap.useirq (Cédric Le Goater) [1660908] - s390/ap: fix state machine hang after failure to enable irq (Cédric Le Goater) [1660908] - s390/crypto: fix all kernel-doc warnings in vfio_ap_ops.c (Cédric Le Goater) [1660908] - s390/ap: use the common device_driver pointer (Cédric Le Goater) [1660908] - s390/vfio-ap: replace open coded locks for VFIO_GROUP_NOTIFY_SET_KVM notification (Cédric Le Goater) [1660908] - s390/vfio-ap: r/w lock for PQAP interception handler function pointer (Cédric Le Goater) [1660908] - s390/vfio-ap: clean up mdev resources when remove callback invoked (Cédric Le Goater) [1660908] - s390/vfio-ap: clean up vfio_ap_drv's definition (Cédric Le Goater) [1660908] - s390/vfio-ap: fix circular lockdep when setting/clearing crypto masks (Cédric Le Goater) [1660908] - s390/vfio-ap: clean up vfio_ap resources when KVM pointer invalidated (Cédric Le Goater) [1660908] - s390/vfio-ap: No need to disable IRQ after queue reset (Cédric Le Goater) [1660908] - Documentation: s390/vfio-ap: eliminate duplicated word (Cédric Le Goater) [1660908] - docs: s390: Fix wrong label Guest2 instead of Guest3 (Cédric Le Goater) [1660908] - s390: vfio-ap: make local functions and data static (Cédric Le Goater) [1660908] - i40e: Fix set max_tx_rate when it is lower than 1 Mbps (Petr Oros) [2106964] - i40e: Fix VF set max MTU size (Petr Oros) [2106964] - iavf: Fix set max MTU size with port VLAN and jumbo frames (Petr Oros) [2106964] - iavf: Fix bad page state (Petr Oros) [2106964] - i40e: Fix VF hang when reset is triggered on another VF (Ivan Vecera) [2103801] - mpi3mr: a minor change (Tomas Henzl) [2115748] - scsi: mpi3mr: Select CONFIG_SCSI_SAS_ATTRS (Tomas Henzl) [2115748] - scsi: mpi3mr: Remove unnecessary cast (Tomas Henzl) [2115748] - scsi: mpi3mr: Update driver version to 8.2.0.3.0 (Tomas Henzl) [2115748] - scsi: mpi3mr: Fix scheduling while atomic type bug (Tomas Henzl) [2115748] - scsi: mpi3mr: Scan the devices during resume time (Tomas Henzl) [2115748] - scsi: mpi3mr: Free enclosure objects during driver unload (Tomas Henzl) [2115748] - scsi: mpi3mr: Handle 0xF003 Fault Code (Tomas Henzl) [2115748] - scsi: mpi3mr: Graceful handling of surprise removal of PCIe HBA (Tomas Henzl) [2115748] - scsi: mpi3mr: Support new power management framework (Tomas Henzl) [2115748] - scsi: mpi3mr: Update mpi3 header files (Tomas Henzl) [2115748] - scsi: mpi3mr: Fix error code in mpi3mr_transport_smp_handler() (Tomas Henzl) [2115748] - scsi: mpi3mr: Fix error codes in mpi3mr_report_manufacture() (Tomas Henzl) [2115748] - scsi: mpi3mr: Block I/Os while refreshing target dev objects (Tomas Henzl) [2115748] - scsi: mpi3mr: Refresh SAS ports during soft reset (Tomas Henzl) [2115748] - scsi: mpi3mr: Support SAS transport class callbacks (Tomas Henzl) [2115748] - scsi: mpi3mr: Add framework to issue MPT transport cmds (Tomas Henzl) [2115748] - scsi: mpi3mr: Add SAS SATA end devices to STL (Tomas Henzl) [2115748] - scsi: mpi3mr: Get target object based on rphy (Tomas Henzl) [2115748] - scsi: mpi3mr: Add expander devices to STL (Tomas Henzl) [2115748] - scsi: mpi3mr: Enable STL on HBAs where multipath is disabled (Tomas Henzl) [2115748] - scsi: mpi3mr: Add helper functions to manage device's port (Tomas Henzl) [2115748] - scsi: mpi3mr: Add helper functions to retrieve device objects (Tomas Henzl) [2115748] - scsi: mpi3mr: Add framework to add phys to STL (Tomas Henzl) [2115748] - scsi: mpi3mr: Enable Enclosure device add event (Tomas Henzl) [2115748] - scsi: mpi3mr: Add helper functions to retrieve config pages (Tomas Henzl) [2115748] - scsi: mpi3mr: Add framework to issue config requests (Tomas Henzl) [2115748] - scsi: mpi3mr: Add config and transport related debug flags (Tomas Henzl) [2115748] - scsi: mpi3mr: Delete a stray tab (Tomas Henzl) [2115748] - scsi: mpi3mr: Unlock on error path (Tomas Henzl) [2115748] - scsi: mpi3mr: Reduce VD queue depth on detecting throttling (Tomas Henzl) [2115748] - scsi: mpi3mr: Resource Based Metering (Tomas Henzl) [2115748] - scsi: mpi3mr: Increase cmd_per_lun to 128 (Tomas Henzl) [2115748] - scsi: mpi3mr: Enable shared host tagset (Tomas Henzl) [2115748] - lpfc version to 14.0.0.18. (Dick Kennedy) [2114050] - scsi: lpfc: Create a sysfs entry called lpfc_xcvr_data for transceiver info (Dick Kennedy) [2114050] - scsi: lpfc: Log when congestion management limits are in effect (Dick Kennedy) [2114050] - scsi: lpfc: Fix hard lockup when reading the rx_monitor from debugfs (Dick Kennedy) [2114050] - scsi: lpfc: Set sli4_param's cmf option to zero when CMF is turned off (Dick Kennedy) [2114050] - scsi: lpfc: Fix various issues reported by tools (Dick Kennedy) [2114050] - scsi: lpfc: Add reporting capability for Link Degrade Signaling (Dick Kennedy) [2114050] - scsi: lpfc: Rework FDMI attribute registration for unintential padding (Dick Kennedy) [2114050] - scsi: lpfc: Rework lpfc_fdmi_cmd() routine for cleanup and consistency (Dick Kennedy) [2114050] - scsi: lpfc: Update congestion mode logging for Emulex SAN Manager application (Dick Kennedy) [2114050] - scsi: lpfc: Fix multiple NVMe remoteport registration calls for the same NPort ID (Dick Kennedy) [2114050] - scsi: lpfc: Add missing free iocb and nlp kref put for early return VMID cases (Dick Kennedy) [2114050] - scsi: lpfc: Fix mbuf pool resource detected as busy at driver unload (Dick Kennedy) [2114050] - scsi: lpfc: Fix FLOGI ACC with wrong SID in PT2PT topology (Dick Kennedy) [2114050] - scsi: lpfc: Fix prli_fc4_req checks in PRLI handling (Dick Kennedy) [2114050] - scsi: lpfc: Remove unneeded result variable (Dick Kennedy) [2114050] - scsi: lpfc: Remove the unneeded result variable (Dick Kennedy) [2114050] - scsi: lpfc: Copyright updates for 14.2.0.6 patches (Dick Kennedy) [2114050] - scsi: lpfc: Add warning notification period to CMF_SYNC_WQE (Dick Kennedy) [2114050] - scsi: lpfc: Rework MIB Rx Monitor debug info logic (Dick Kennedy) [2114050] - scsi: lpfc: Fix null ndlp ptr dereference in abnormal exit path for GFT_ID (Dick Kennedy) [2114050] - scsi: lpfc: Fix unsolicited FLOGI receive handling during PT2PT discovery (Dick Kennedy) [2114050] - scsi: lpfc: Check the return value of alloc_workqueue() (Dick Kennedy) [2114050] - scsi: lpfc: Rework FDMI initialization after link up (Dick Kennedy) [2114050] - scsi: mpt3sas: Revert "scsi: mpt3sas: Fix ioc->base_readl() use" (Tomas Henzl) [2115763] - scsi: mpt3sas: Revert "scsi: mpt3sas: Fix writel() use" (Tomas Henzl) [2115763] - scsi: mpt3sas: Fix return value check of dma_get_required_mask() (Tomas Henzl) [2115763] - scsi: mpt3sas: Fix use-after-free warning (Tomas Henzl) [2115763] - scsi: mpt3sas: Update driver version to 43.100.00.00 (Tomas Henzl) [2115763] - scsi: mpt3sas: Increase cmd_per_lun to 128 (Tomas Henzl) [2115763] - scsi: mpt3sas: Fix trace buffer registration failed (Tomas Henzl) [2115763] - scsi: mpt3sas: Don't change DMA mask while reallocating pools (Tomas Henzl) [2115763] - scsi: mpt3sas: Prevent error handler escalation when device removed (Tomas Henzl) [2115763] - scsi: mpt3sas: Disable MPI2_FUNCTION_FW_DOWNLOAD for ATTO devices (Tomas Henzl) [2115763] - scsi: mpt3sas: Add support for ATTO ExpressSAS H12xx GT devices (Tomas Henzl) [2115763] - scsi: mpt3sas: Remove flush_scheduled_work() call (Tomas Henzl) [2115763] - scsi: mpt3sas: Fix whitespace and spelling mistake (Tomas Henzl) [2115763] - scsi: mpt3sas: Fix typo in comment (Tomas Henzl) [2115763] - scsi: mpt3sas: Fix out-of-bounds compiler warning (Tomas Henzl) [2115763] - media: em28xx: initialize refcount before kref_get (Dean Nelson) [2128003] {CVE-2022-3239} - gfs2: Register fs after creating workqueues (Bob Peterson) [2121201] - sysctl: returns -EINVAL when a negative value is passed to proc_doulongvec_minmax (Vratislav Bendel) [2139096] - mm/rmap: Fix anon_vma->degree ambiguity leading to double-reuse (Waiman Long) [2137585] {CVE-2022-42703} - mm: rmap: explicitly reset vma->anon_vma in unlink_anon_vmas() (Waiman Long) [2137585] {CVE-2022-42703} - mm/rmap: Fix typos in comments (Waiman Long) [2137585] {CVE-2022-42703} - iavf: Fix set max MTU size with port VLAN and jumbo frames (Stefan Assmann) [2103944] - iavf: Fix bad page state (Stefan Assmann) [2103944] - iavf: Fix cached head and tail value for iavf_get_tx_pending (Stefan Assmann) [2103944] - iavf: Fix change VF's mac address (Stefan Assmann) [2103944] - iavf: Fix race between iavf_close and iavf_reset_task (Stefan Assmann) [2103944] - net: ethernet: move from strlcpy with unused retval to strscpy (Stefan Assmann) [2103944] - iavf: Fix 'tc qdisc show' listing too many queues (Stefan Assmann) [2103944] - iavf: Fix max_rate limiting (Stefan Assmann) [2103944] - iavf: Check for duplicate TC flower filter before parsing (Stefan Assmann) [2103944] - iavf: Fix handling of dummy receive descriptors (Stefan Assmann) [2103944] - iavf: Disallow changing rx/tx-frames and rx/tx-frames-irq (Stefan Assmann) [2103944] - intel/iavf:fix repeated words in comments (Stefan Assmann) [2103944] - intel: remove unused macros (Stefan Assmann) [2103944] - iavf: Add waiting for response from PF in set mac (Stefan Assmann) [2103944] - iavf: Use irq_update_affinity_hint() (Stefan Assmann) [2103944] - net: Fix return value of qdisc ingress handling on success (Ivan Vecera) [2131361]- PCI: hv: Do not set PCI_COMMAND_MEMORY to reduce VM boot time (Emanuele Giuseppe Esposito) [2082836] - megaraid_sas: add #ifdef CONFIG_RHEL_DIFFERENCES (Tomas Henzl) [2119096] - mpt3sas: add #ifdef CONFIG_RHEL_DIFFERENCES (Tomas Henzl) [2119096] - mptcp: fix unreleased socket in accept queue (Paolo Abeni) [2135884] - mptcp: factor out __mptcp_close() without socket lock (Paolo Abeni) [2135884] - mptcp: do not queue data on closed subflows (Paolo Abeni) [2135884] - mptcp: move subflow cleanup in mptcp_destroy_common() (Paolo Abeni) [2135884] - mptcp: fix msk traversal in mptcp_nl_cmd_set_flags() (Paolo Abeni) [2135884] - xfs: fix perag reference leak on iteration race with growfs (Brian Foster) [2081105] - xfs: terminate perag iteration reliably on agcount (Brian Foster) [2081105] - xfs: rename the next_agno perag iteration variable (Brian Foster) [2081105] - xfs: fold perag loop iteration logic into helper function (Brian Foster) [2081105] - xfs: prevent spoofing of rtbitmap blocks when recovering buffers (Brian Foster) [2081105] - xfs: Enforce attr3 buffer recovery order (Brian Foster) [2081105] - xfs: avoid unnecessary waits in xfs_log_force_lsn() (Brian Foster) [2081105] - xfs: factor out forced iclog flushes (Brian Foster) [2081105] - xfs: detect misaligned rtinherit directory extent size hints (Brian Foster) [2081105] - xfs: fix an integer overflow error in xfs_growfs_rt (Brian Foster) [2081105] - xfs: improve FSGROWFSRT precondition checking (Brian Foster) [2081105] - xfs: reset child dir '..' entry when unlinking child (Brian Foster) [2081105] - xfs: check for sparse inode clusters that cross new EOAG when shrinking (Brian Foster) [2081105] - xfs: Fix multiple fall-through warnings for Clang (Brian Foster) [2081105] - xfs: remove callback dequeue loop from xlog_state_do_iclog_callbacks (Brian Foster) [2081105] - xfs: don't nest icloglock inside ic_callback_lock (Brian Foster) [2081105] - xfs: Initialize error in xfs_attr_remove_iter (Brian Foster) [2081105] - xfs: remove dead stale buf unpin handling code (Brian Foster) [2081105] - xfs: hold buffer across unpin and potential shutdown processing (Brian Foster) [2081105] - xfs: force the log offline when log intent item recovery fails (Brian Foster) [2081105] - xfs: shorten the shutdown messages to a single line (Brian Foster) [2081105] - xfs: print name of function causing fs shutdown instead of hex pointer (Brian Foster) [2081105] - xfs: fix type mismatches in the inode reclaim functions (Brian Foster) [2081105] - xfs: separate primary inode selection criteria in xfs_iget_cache_hit (Brian Foster) [2081105] - xfs: refactor the inode recycling code (Brian Foster) [2081105] - xfs: add iclog state trace events (Brian Foster) [2081105] - xfs: xfs_log_force_lsn isn't passed a LSN (Brian Foster) [2081105] - xfs: remove need_start_rec parameter from xlog_write() (Brian Foster) [2081105] - xfs: remove xfs_blkdev_issue_flush (Brian Foster) [2081105] - xfs: Fix 64-bit division on 32-bit in xlog_state_switch_iclogs() (Brian Foster) [2081105] - xfs: log stripe roundoff is a property of the log (Brian Foster) [2081105] - xfs: remove redundant initialization of variable error (Brian Foster) [2081105] - xfs: perag may be null in xfs_imap() (Brian Foster) [2081105] - xfs: Make attr name schemes consistent (Brian Foster) [2081105] - xfs: Fix default ASSERT in xfs_attr_set_iter (Brian Foster) [2081105] - xfs: rename struct xfs_eofblocks to xfs_icwalk (Brian Foster) [2081105] - xfs: change the prefix of XFS_EOF_FLAGS_* to XFS_ICWALK_FLAG_ (Brian Foster) [2081105] - xfs: selectively keep sick inodes in memory (Brian Foster) [2081105] - xfs: drop IDONTCACHE on inodes when we mark them sick (Brian Foster) [2081105] - xfs: drop the AGI being passed to xfs_check_agi_freecount (Brian Foster) [2081105] - xfs: cleanup error handling in xfs_buf_get_map (Brian Foster) [2081105] - xfs: remove ->b_offset handling for page backed buffers (Brian Foster) [2081105] - xfs: refactor per-AG inode tagging functions (Brian Foster) [2081105] - xfs: merge xfs_reclaim_inodes_ag into xfs_inode_walk_ag (Brian Foster) [2081105] - xfs: pass struct xfs_eofblocks to the inode scan callback (Brian Foster) [2081105] - xfs: make the icwalk processing functions clean up the grab state (Brian Foster) [2081105] - xfs: clean up inode state flag tests in xfs_blockgc_igrab (Brian Foster) [2081105] - xfs: remove indirect calls from xfs_inode_walk{,_ag} (Brian Foster) [2081105] - xfs: remove iter_flags parameter from xfs_inode_walk_* (Brian Foster) [2081105] - xfs: move xfs_inew_wait call into xfs_dqrele_inode (Brian Foster) [2081105] - xfs: separate the dqrele_all inode grab logic from xfs_inode_walk_ag_grab (Brian Foster) [2081105] - xfs: pass the goal of the incore inode walk to xfs_inode_walk() (Brian Foster) [2081105] - xfs: rename xfs_inode_walk functions to xfs_icwalk (Brian Foster) [2081105] - xfs: move the inode walk functions further down (Brian Foster) [2081105] - xfs: detach inode dquots at the end of inactivation (Brian Foster) [2081105] - xfs: move the quotaoff dqrele inode walk into xfs_icache.c (Brian Foster) [2081105] - xfs: don't take a spinlock unconditionally in the DIO fastpath (Brian Foster) [2081105] - xfs: mark xfs_bmap_set_attrforkoff static (Brian Foster) [2081105] - xfs: Remove redundant assignment to busy (Brian Foster) [2081105] - xfs: sort variable alphabetically to avoid repeated declaration (Brian Foster) [2081105] - xfs: remove xfs_perag_t (Brian Foster) [2081105] - xfs: use perag through unlink processing (Brian Foster) [2081105] - xfs: clean up and simplify xfs_dialloc() (Brian Foster) [2081105] - xfs: inode allocation can use a single perag instance (Brian Foster) [2081105] - xfs: get rid of xfs_dir_ialloc() (Brian Foster) [2081105] - xfs: collapse AG selection for inode allocation (Brian Foster) [2081105] - xfs: simplify xfs_dialloc_select_ag() return values (Brian Foster) [2081105] - xfs: remove agno from btree cursor (Brian Foster) [2081105] - xfs: use perag for ialloc btree cursors (Brian Foster) [2081105] - xfs: convert allocbt cursors to use perags (Brian Foster) [2081105] - xfs: convert refcount btree cursor to use perags (Brian Foster) [2081105] - xfs: convert rmap btree cursor to using a perag (Brian Foster) [2081105] - xfs: add a perag to the btree cursor (Brian Foster) [2081105] - xfs: pass perags around in fsmap data dev functions (Brian Foster) [2081105] - xfs: push perags through the ag reservation callouts (Brian Foster) [2081105] - xfs: pass perags through to the busy extent code (Brian Foster) [2081105] - xfs: convert secondary superblock walk to use perags (Brian Foster) [2081105] - xfs: convert xfs_iwalk to use perag references (Brian Foster) [2081105] - xfs: convert raw ag walks to use for_each_perag (Brian Foster) [2081105] - xfs: make for_each_perag... a first class citizen (Brian Foster) [2081105] - xfs: move perag structure and setup to libxfs/xfs_ag.[ch] (Brian Foster) [2081105] - xfs: prepare for moving perag definitions and support to libxfs (Brian Foster) [2081105] - xfs: move xfs_perag_get/put to xfs_ag.[ch] (Brian Foster) [2081105] - xfs: remove unnecessary shifts (Brian Foster) [2081105] - xfs: clean up open-coded fs block unit conversions (Brian Foster) [2081105] - xfs: Clean up xfs_attr_node_addname_clear_incomplete (Brian Foster) [2081105] - xfs: Remove xfs_attr_rmtval_set (Brian Foster) [2081105] - xfs: Add delay ready attr set routines (Brian Foster) [2081105] - xfs: Add delay ready attr remove routines (Brian Foster) [2081105] - xfs: Hoist node transaction handling (Brian Foster) [2081105] - xfs: Hoist xfs_attr_leaf_addname (Brian Foster) [2081105] - xfs: Hoist xfs_attr_node_addname (Brian Foster) [2081105] - xfs: Add helper xfs_attr_node_addname_find_attr (Brian Foster) [2081105] - xfs: Separate xfs_attr_node_addname and xfs_attr_node_addname_clear_incomplete (Brian Foster) [2081105] - xfs: Refactor xfs_attr_set_shortform (Brian Foster) [2081105] - xfs: Add xfs_attr_node_remove_name (Brian Foster) [2081105] - xfs: Reverse apply 72b97ea40d (Brian Foster) [2081105] - xfs: use xfs_buf_alloc_pages for uncached buffers (Brian Foster) [2081105] - xfs: split up xfs_buf_allocate_memory (Brian Foster) [2081105] - xfs: Fix fall-through warnings for Clang (Brian Foster) [2081105] - scsi: qla2xxx: Use transport-defined speed mask for supported_speeds (Nilesh Javali) [2109830] - scsi: qla2xxx: Fix serialization of DCBX TLV data request (Nilesh Javali) [2109830] - scsi: qla2xxx: Remove unused declarations for qla2xxx (Nilesh Javali) [2109830] - scsi: qla2xxx: Drop DID_TARGET_FAILURE use (Nilesh Javali) [2109830] - scsi: qla2xxx: Update version to 10.02.07.900-k (Nilesh Javali) [2109830] - scsi: qla2xxx: Add NVMe parameters support in Auxiliary Image Status (Nilesh Javali) [2109830] - scsi: qla2xxx: Add debugfs create/delete helpers (Nilesh Javali) [2109830] - scsi: qla2xxx: Fix response queue handler reading stale packets (Nilesh Javali) [2109830] - scsi: qla2xxx: Revert "scsi: qla2xxx: Fix response queue handler reading stale packets" (Nilesh Javali) [2109830] - scsi: qla2xxx: Log message "skipping scsi_scan_host()" as informational (Nilesh Javali) [2109830] - scsi: qla2xxx: Avoid flush_scheduled_work() usage (Nilesh Javali) [2109830] - scsi: qla2xxx: Always wait for qlt_sess_work_fn() from qlt_stop_phase1() (Nilesh Javali) [2109830] - scsi: qla2xxx: Remove unused del_sess_list field (Nilesh Javali) [2109830] - scsi: qla2xxx: Remove unused qlt_tmr_work() (Nilesh Javali) [2109830] - scsi: qla2xxx: Update version to 10.02.07.800-k (Nilesh Javali) [2109830] - scsi: qla2xxx: Update manufacturer details (Nilesh Javali) [2109830] - scsi: qla2xxx: Fix discovery issues in FC-AL topology (Nilesh Javali) [2109830] - scsi: qla2xxx: edif: Fix dropped IKE message (Nilesh Javali) [2109830] - scsi: qla2xxx: Fix response queue handler reading stale packets (Nilesh Javali) [2109830] - scsi: qla2xxx: Zero undefined mailbox IN registers (Nilesh Javali) [2109830] - scsi: qla2xxx: Fix incorrect display of max frame size (Nilesh Javali) [2109830] - scsi: qla2xxx: Check correct variable in qla24xx_async_gffid() (Nilesh Javali) [2109830] - scsi: qla2xxx: Update version to 10.02.07.700-k (Nilesh Javali) [2109830] - scsi: qla2xxx: Fix losing FCP-2 targets on long port disable with I/Os (Nilesh Javali) [2109830] - scsi: qla2xxx: Add debug prints in the device remove path (Nilesh Javali) [2109830] - scsi: qla2xxx: Fix losing target when it reappears during delete (Nilesh Javali) [2109830] - scsi: qla2xxx: Fix losing FCP-2 targets during port perturbation tests (Nilesh Javali) [2109830] - scsi: qla2xxx: Fix crash due to stale SRB access around I/O timeouts (Nilesh Javali) [2109830] - scsi: qla2xxx: Turn off multi-queue for 8G adapters (Nilesh Javali) [2109830] - scsi: qla2xxx: Wind down adapter after PCIe error (Nilesh Javali) [2109830] - scsi: qla2xxx: Update version to 10.02.07.600-k (Nilesh Javali) [2109830] - scsi: qla2xxx: edif: Fix slow session teardown (Nilesh Javali) [2109830] - scsi: qla2xxx: edif: Reduce N2N thrashing at app_start time (Nilesh Javali) [2109830] - scsi: qla2xxx: edif: Fix no logout on delete for N2N (Nilesh Javali) [2109830] - scsi: qla2xxx: edif: Fix session thrash (Nilesh Javali) [2109830] - scsi: qla2xxx: edif: Tear down session if keys have been removed (Nilesh Javali) [2109830] - scsi: qla2xxx: edif: Fix no login after app start (Nilesh Javali) [2109830] - scsi: qla2xxx: edif: Reduce disruption due to multiple app start (Nilesh Javali) [2109830] - scsi: qla2xxx: edif: Send LOGO for unexpected IKE message (Nilesh Javali) [2109830] - scsi: qla2xxx: edif: Fix I/O timeout due to over-subscription (Nilesh Javali) [2109830] - scsi: qla2xxx: Update version to 10.02.07.500-k (Nilesh Javali) [2109830] - scsi: qla2xxx: edif: Fix n2n login retry for secure device (Nilesh Javali) [2109830] - scsi: qla2xxx: edif: Fix n2n discovery issue with secure target (Nilesh Javali) [2109830] - scsi: qla2xxx: edif: Remove old doorbell interface (Nilesh Javali) [2109830] - scsi: qla2xxx: edif: Add retry for ELS passthrough (Nilesh Javali) [2109830] - scsi: qla2xxx: edif: Synchronize NPIV deletion with authentication application (Nilesh Javali) [2109830] - scsi: qla2xxx: edif: Fix potential stuck session in sa update (Nilesh Javali) [2109830] - scsi: qla2xxx: edif: Add bsg interface to read doorbell events (Nilesh Javali) [2109830] - scsi: qla2xxx: edif: Wait for app to ack on sess down (Nilesh Javali) [2109830] - scsi: qla2xxx: edif: bsg refactor (Nilesh Javali) [2109830] - scsi: qla2xxx: edif: Reduce Initiator-Initiator thrashing (Nilesh Javali) [2109830] - scsi: qla2xxx: Remove unused 'ql_dm_tgt_ex_pct' parameter (Nilesh Javali) [2109830] - scsi: qla2xxx: Remove setting of 'req' and 'rsp' parameters (Nilesh Javali) [2109830] - scsi: qla2xxx: Fix missed DMA unmap for aborted commands (Nilesh Javali) [2109830] - scsi: qla2xxx: edif: Remove unneeded variable (Nilesh Javali) [2109830] - scsi: qla2xxx: Remove unneeded flush_workqueue() (Nilesh Javali) [2109830] - scsi: qla2xxx: Remove free_sg command flag (Nilesh Javali) [2109830] - scsi: megaraid_sas: Clean up some inconsistent indenting (Tomas Henzl) [2120070] - scsi: megaraid_sas: Move megasas_dbg_lvl init to megasas_init() (Tomas Henzl) [2120070] - scsi: megaraid_sas: Remove unnecessary memset() (Tomas Henzl) [2120070] - scsi: megaraid_sas: Simplify megasas_update_device_list (Tomas Henzl) [2120070] - scsi: megaraid_sas: Correct an error message (Tomas Henzl) [2120070] - scsi: megaraid_sas: Correct value passed to scsi_device_lookup() (Tomas Henzl) [2120070] - scsi: megaraid_sas: Use struct_size() in code related to struct MR_PD_CFG_SEQ_NUM_SYNC (Tomas Henzl) [2120070] - scsi: megaraid_sas: Use struct_size() in code related to struct MR_FW_RAID_MAP (Tomas Henzl) [2120070] - scsi: megaraid_sas: Replace one-element array with flexible-array member in MR_PD_CFG_SEQ_NUM_SYNC (Tomas Henzl) [2120070] - scsi: megaraid_sas: Replace one-element array with flexible-array member in MR_DRV_RAID_MAP (Tomas Henzl) [2120070] - scsi: megaraid_sas: Replace one-element array with flexible-array member in MR_FW_RAID_MAP_DYNAMIC (Tomas Henzl) [2120070] - scsi: megaraid_sas: Replace one-element array with flexible-array member in MR_FW_RAID_MAP (Tomas Henzl) [2120070] - scsi: megaraid: Remove redundant assignment to variable mfiStatus (Tomas Henzl) [2120070] - scsi: megaraid_sas: Remove redundant variable cmd_type (Tomas Henzl) [2120070] - platform/x86/intel/vsec: Fix wrong type for local status variables (Prarit Bhargava) [2076744] - platform/x86/intel/vsec: Add PCI error recovery support to Intel PMT (Prarit Bhargava) [2076744] - platform/x86/intel/vsec: Add support for Raptor Lake (Prarit Bhargava) [2076744] - platform/x86/intel/pmt: telemetry: Fix fixed region handling (Prarit Bhargava) [2076744] - platform/x86/intel/vsec: Rework early hardware code (Prarit Bhargava) [2076744] - platform/x86/intel: Fix pmt_crashlog array reference (Prarit Bhargava) [2076744] - powerpc/kexec_file: Use current CPU info while setting up FDT (Mamatha Inamdar) [2126520] - mm/kmemleak: prevent soft lockup in kmemleak_scan()'s object iteration loops (Waiman Long) [2095075] - mm/kmemleak: prevent soft lockup in first object iteration loop of kmemleak_scan() (Waiman Long) [2095075] - mm/kmemleak: skip unlikely objects in kmemleak_scan() without taking lock (Waiman Long) [2095075] - mm/kmemleak: use _irq lock/unlock variants in kmemleak_scan/_clear() (Waiman Long) [2095075] - mm/kmemleak: avoid scanning potential huge holes (Waiman Long) [2095075] - KVM: s390: pci: fix GAIT physical vs virtual pointers usage (Thomas Huth) [1664379] - KVM: s390: pci: fix plain integer as NULL pointer warnings (Thomas Huth) [1664379] - KVM: s390/pci: fix include duplicates (Thomas Huth) [1664379] - redhat: Use group notifier to get the KVM pointer in the vfio_pci_zdev code (Thomas Huth) [1664379] - KVM: s390: pci: register pci hooks without interpretation (Thomas Huth) [1664379] - KVM: s390: pci: Hook to access KVM lowlevel from VFIO (Thomas Huth) [1664379] - Documentation: kvm: extend KVM_S390_ZPCI_OP subheading underline (Thomas Huth) [1664379] - KVM: s390: add KVM_S390_ZPCI_OP to manage guest zPCI devices (Thomas Huth) [1664379] - vfio-pci/zdev: different maxstbl for interpreted devices (Thomas Huth) [1664379] - vfio-pci/zdev: add function handle to clp base capability (Thomas Huth) [1664379] - vfio-pci/zdev: add open/close device hooks (Thomas Huth) [1664379] - KVM: s390: pci: add routines to start/stop interpretive execution (Thomas Huth) [1664379] - KVM: s390: pci: provide routines for enabling/disabling interrupt forwarding (Thomas Huth) [1664379] - KVM: s390: mechanism to enable guest zPCI Interpretation (Thomas Huth) [1664379] - KVM: s390: pci: enable host forwarding of Adapter Event Notifications (Thomas Huth) [1664379] - KVM: s390: pci: do initial setup for AEN interpretation (Thomas Huth) [1664379] - KVM: s390: pci: add basic kvm_zdev structure (Thomas Huth) [1664379] - redhat: Enable the new CONFIG_VFIO_PCI_ZDEV_KVM switch (Thomas Huth) [1664379] - vfio/pci: introduce CONFIG_VFIO_PCI_ZDEV_KVM (Thomas Huth) [1664379] - vfio/pci: remove CONFIG_VFIO_PCI_ZDEV from Kconfig (Thomas Huth) [1664379] - vfio-pci/zdev: fix possible segmentation fault issue (Thomas Huth) [1664379] - s390/pci: stash dtsm and maxstbl (Thomas Huth) [1664379] - s390/pci: stash associated GISA designation (Thomas Huth) [1664379] - s390/pci: externalize the SIC operation controls and routine (Thomas Huth) [1664379] - s390/airq: allow for airq structure that uses an input vector (Thomas Huth) [1664379] - s390/airq: pass more TPI info to airq handlers (Thomas Huth) [1664379] - s390/cio: add tpi.h header file (Thomas Huth) [1664379] - s390/ap: fix kernel doc comments (Thomas Huth) [1664379] - s390/sclp: detect the AISI facility (Thomas Huth) [1664379] - s390/sclp: detect the AENI facility (Thomas Huth) [1664379] - s390/sclp: detect the AISII facility (Thomas Huth) [1664379] - s390/sclp: detect the zPCI load/store interpretation facility (Thomas Huth) [1664379] - s390/sclp: add detection of IPL-complete-control facility (Thomas Huth) [1664379] - s390/pci: add error record for CC 2 retries (Thomas Huth) [2134399] - s390/pci: add PCI access type and length to error records (Thomas Huth) [2134399] - s390/pci: don't log availability events as errors (Thomas Huth) [2134399] - s390/pci: make better use of zpci_dbg() levels (Thomas Huth) [2134399] - s390/pci: rename get_zdev_by_bus() to zdev_from_bus() (Thomas Huth) [2134399] - redhat: Restore clp_rescan_pci_devices_simple() function (Thomas Huth) [2134399] - s390/pci: improve zpci_dev reference counting (Thomas Huth) [2134399] - s390/pci: make zpci_set_irq()/zpci_clear_irq() static (Thomas Huth) [2134399] - s390/pci: simplify __pciwb_mio() inline asm (Thomas Huth) [2134399] - s390/pci: use physical addresses in DMA tables (Thomas Huth) [2134399] - s390/pci: use phys_to_virt() for AIBVs/DIBVs (Thomas Huth) [2134399] - s390/pci: implement minimal PCI error recovery (Thomas Huth) [2134399] - PCI: Export pci_dev_lock() (Thomas Huth) [2134399] - PCI: Export pci_dev_trylock() and pci_dev_unlock() (Thomas Huth) [2134399] - s390/pci: implement reset_slot for hotplug slot (Thomas Huth) [2134399] - s390/pci: refresh function handle in iomap (Thomas Huth) [2134399] - s390/pci: add simpler s390dbf traces for events (Thomas Huth) [2134399] - s390/pci: tolerate inconsistent handle in recover (Thomas Huth) [2134399] - s390/pci_mmio: fully validate the VMA before calling follow_pte() (Thomas Huth) [2134399] - s390/pci: read clp_list_pci_req only once (Thomas Huth) [2134399] - s390/pci: fix clp_get_state() handling of -ENODEV (Thomas Huth) [2134399] - s390/pci: improve DMA translation init and exit (Thomas Huth) [2134399] - s390/pci: simplify CLP List PCI handling (Thomas Huth) [2134399] - s390/pci: handle FH state mismatch only on disable (Thomas Huth) [2134399] - s390/pci: fix misleading rc in clp_set_pci_fn() (Thomas Huth) [2134399] - s390/pci: reset zdev->zbus on registration failure (Thomas Huth) [2134399] - s390/pci: cleanup resources only if necessary (Thomas Huth) [2134399] - s390/pci: add zpci_set_irq()/zpci_clear_irq() (Thomas Huth) [2134399] - s390/pci: use register pair instead of register asm (Thomas Huth) [2134399] - s390: introduce register pair union (Thomas Huth) [2134399] - s390/pci: handle stale deconfiguration events (Thomas Huth) [2134399] - s390/pci: rename zpci_configure_device() (Thomas Huth) [2134399] - s390/pci: narrow scope of zpci_configure_device() (Thomas Huth) [2134399] - s390/pci: separate zbus registration from scanning (Thomas Huth) [2134399] - s390/pci: use mutex not spinlock for zbus list (Thomas Huth) [2134399] - s390/pci: separate zbus creation from scanning (Thomas Huth) [2134399] - s390/pci: do more bus setup in zpci_bus_scan() (Thomas Huth) [2134399] - s390/pci: introduce zpci_bus_scan_device() (Thomas Huth) [2134399] - s390/pci: fix DMA cleanup on hard deconfigure (Thomas Huth) [2134399] - s390/pci: move zpci_remove_device() to bus code (Thomas Huth) [2134399] - s390/pci: unify de-/configure for slots and events (Thomas Huth) [2134399] - s390/pci: add zpci_event_hard_deconfigured() (Thomas Huth) [2134399] - s390/pci: deconfigure device on release (Thomas Huth) [2134399] - s390/pci: refactor zpci function states (Thomas Huth) [2134399] - s390/pci: inform when missing required facilities (Thomas Huth) [2134399] - s390/pci: remove races against pte updates (Thomas Huth) [2134399] - s390: remove orphaned function declarations (Thomas Huth) [2134399] - s390/pci: add missing pci_iov.h include (Thomas Huth) [2134399] - s390/pci: remove clp_rescan_pci_devices_simple() (Thomas Huth) [2134399] - s390/pci: remove clp_rescan_pci_devices() (Thomas Huth) [2134399] - s390/pci: consolidate SR-IOV specific code (Thomas Huth) [2134399] - s390/pci: Implement ioremap_wc/prot() with MIO (Thomas Huth) [2134399] - s390/mm: properly clear _PAGE_NOEXEC bit when it is not supported (Thomas Huth) [2134399] - s390/pci: clarify comment in s390_mmio_read/write (Thomas Huth) [2134399] - s390/pci: remove unused functions (Thomas Huth) [2134399] - s390/pci: Log new handle in clp_disable_fh() (Thomas Huth) [2134399] - s390/pci: ioremap() align with generic code (Thomas Huth) [2134399] - s390: enforce CONFIG_SMP (Thomas Huth) [2134399] - s390/pci: mark function(s) __always_inline (Thomas Huth) [2134399] - s390/pci: avoid using strncmp with hardcoded length (Thomas Huth) [2134399] - s390/pci: PCI_IOV_RESOURCES loop refactoring in zpci_map_resources (Thomas Huth) [2134399] - s390: pci: no need to check return value of debugfs_create functions (Thomas Huth) [2134399] - s390/pci: fix sleeping in atomic during hotplug (Thomas Huth) [2134399] - s390/pci: remove fmb address from debug output (Thomas Huth) [2134399] - s390/pci: add fmt3 fmb (Thomas Huth) [2134399] - tools headers kvm s390: Sync headers with the kernel sources (Thomas Huth) [2111063] - KVM: s390: resetting the Topology-Change-Report (Thomas Huth) [2111063] - KVM: s390: guest support for topology function (Thomas Huth) [2111063] - KVM: s390: Cleanup ipte lock access and SIIF facility checks (Thomas Huth) [2111063] - KVM: s390: drop unexpected word 'and' in the comments (Thomas Huth) [2111063] - Documentation: KVM: update s390-diag.rst reference (Thomas Huth) [2043872] - Documentation: KVM: update msr.rst reference (Thomas Huth) [2043872] - Documentation: KVM: update amd-memory-encryption.rst references (Thomas Huth) [2043872] - Documentation: KVM: update s390-pv.rst reference (Thomas Huth) [2043872] - Documentation/virt/kvm/api.rst: Explain rc/rrc delivery (Thomas Huth) [2043872] - Documentation/virt/kvm/api.rst: Add protvirt dump/info api descriptions (Thomas Huth) [2043872] - Documentation: KVM: add API issues section (Thomas Huth) [2043872] - Documentation: virt: Protected virtual machine dumps (Thomas Huth) [2043872] - Documentation: KVM: add separate directories for architecture-specific documentation (Thomas Huth) [2043872] - KVM: s390: Add KVM_CAP_S390_PROTECTED_DUMP (Thomas Huth) [2043872] - KVM: s390: Add CPU dump functionality (Thomas Huth) [2043872] - KVM: s390: Add configuration dump functionality (Thomas Huth) [2043872] - KVM: s390: pv: Add query dump information (Thomas Huth) [2043872] - KVM: s390: pv: Add dump support definitions (Thomas Huth) [2043872] - KVM: s390: pv: Add query interface (Thomas Huth) [2043872] - s390/uv: Add dump fields to query (Thomas Huth) [2043872] - s390/uv: Add SE hdr query information (Thomas Huth) [2043872] - kvm: Move KVM_GET_XSAVE2 IOCTL definition at the end of kvm.h (Thomas Huth) [2043872] - docs: kvm: fix WARNINGs from api.rst (Thomas Huth) [2043872] - s390/mm: use non-quiescing sske for KVM switch to keyed guest (Thomas Huth) [2043872] - s390/gmap: voluntarily schedule during key setting (Thomas Huth) [2043872] - KVM: s390: Don't indicate suppression on dirtying, failing memop (Thomas Huth) [2043872] - s390: uv: Add offset comments to UV query struct and fix naming (Thomas Huth) [2043872] - KVM: s390: Use Makefile.kvm for common files (Thomas Huth) [2043872] - KVM: s390: Skip gfn/size sanity checks on memslot DELETE or FLAGS_ONLY (Thomas Huth) [2043872] - fs: dlm: fix invalid derefence of sb_lvbptr (Alexander Aring) [2121790] - fs: dlm: handle -EBUSY first in unlock validation (Alexander Aring) [2121790] - fs: dlm: handle -EBUSY first in lock arg validation (Alexander Aring) [2121790] - fs: dlm: fix race between test_bit() and queue_work() (Alexander Aring) [2121790] - scsi: core: Fix a use-after-free (Ming Lei) [1961010] - net/mlx5e: Fix wrong use of skb_tcp_all_headers() with encapsulation (Petr Oros) [2135685] - net: add skb_[inner_]tcp_all_headers helpers (Petr Oros) [2135685] - net: marvell: clean up trigraph warning on ??! string (Petr Oros) [2135685] - powerpc/pseries: Use lparcfg to reconfig VAS windows for DLPAR CPU (Steve Best) [2133103] - flow_dissector: Do not count vlan tags inside tunnel payload (Ivan Vecera) [2136875] - flow_offload: Introduce flow_match_pppoe (Ivan Vecera) [2136875] - net/sched: flower: Add PPPoE filter (Ivan Vecera) [2136875] - flow_dissector: Add PPPoE dissectors (Ivan Vecera) [2136875] - net/sched: flower: Consider the number of tags for vlan filters (Ivan Vecera) [2136875] - net/sched: flower: Add number of vlan tags filter (Ivan Vecera) [2136875] - flow_dissector: Add number of vlan tags dissector (Ivan Vecera) [2136875] - net/sched: flower: Reduce identation after is_key_vlan refactoring (Ivan Vecera) [2136875] - net/sched: flower: Helper function for vlan ethtype checks (Ivan Vecera) [2136875] - dissector: do not set invalid PPP protocol (Ivan Vecera) [2136875] - dm bufio: use the acquire memory barrier when testing for B_READING (Benjamin Marzinski) [2139161] - provide arch_test_bit_acquire for architectures that define test_bit (Benjamin Marzinski) [2139161] - wait_on_bit: add an acquire memory barrier (Benjamin Marzinski) [2139161] - add barriers to buffer_uptodate and set_buffer_uptodate (Benjamin Marzinski) [2139161] - dm verity: Add documentation for try_verify_in_tasklet option (Benjamin Marzinski) [2139161] - dm cache: delete the redundant word 'each' in comment (Benjamin Marzinski) [2139161] - dm raid: fix typo in analyse_superblocks code comment (Benjamin Marzinski) [2139161] - dm verity: enable WQ_HIGHPRI on verify_wq (Benjamin Marzinski) [2139161] - dm raid: delete the redundant word 'that' in comment (Benjamin Marzinski) [2139161] - dm: change from DMWARN to DMERR or DMCRIT for fatal errors (Benjamin Marzinski) [2139161] - dm bufio: fix some cases where the code sleeps with spinlock held (Benjamin Marzinski) [2139161] - dm writecache: fix smatch warning about invalid return from writecache_map (Benjamin Marzinski) [2139161] - dm verity: fix verity_parse_opt_args parsing (Benjamin Marzinski) [2139161] - dm verity: fix DM_VERITY_OPTS_MAX value yet again (Benjamin Marzinski) [2139161] - dm bufio: simplify DM_BUFIO_CLIENT_NO_SLEEP locking (Benjamin Marzinski) [2139161] - dm verity: have verify_wq use WQ_HIGHPRI if "try_verify_in_tasklet" (Benjamin Marzinski) [2139161] - dm verity: remove WQ_CPU_INTENSIVE flag since using WQ_UNBOUND (Benjamin Marzinski) [2139161] - dm verity: only copy bvec_iter in verity_verify_io if in_tasklet (Benjamin Marzinski) [2139161] - dm verity: optimize verity_verify_io if FEC not configured (Benjamin Marzinski) [2139161] - dm verity: conditionally enable branching for "try_verify_in_tasklet" (Benjamin Marzinski) [2139161] - dm bufio: conditionally enable branching for DM_BUFIO_CLIENT_NO_SLEEP (Benjamin Marzinski) [2139161] - dm verity: allow optional args to alter primary args handling (Benjamin Marzinski) [2139161] - dm verity: Add optional "try_verify_in_tasklet" feature (Benjamin Marzinski) [2139161] - dm bufio: Add DM_BUFIO_CLIENT_NO_SLEEP flag (Benjamin Marzinski) [2139161] - dm bufio: Add flags argument to dm_bufio_client_create (Benjamin Marzinski) [2139161] - dm: Start pr_preempt from the same starting path (Benjamin Marzinski) [2139161] - dm: Fix PR release handling for non All Registrants (Benjamin Marzinski) [2139161] - dm: Start pr_reserve from the same starting path (Benjamin Marzinski) [2139161] - dm: Allow dm_call_pr to be used for path searches (Benjamin Marzinski) [2139161] - Documentation: dm writecache: Render status list as list (Benjamin Marzinski) [2139161] - Documentation: dm writecache: add blank line before optional parameters (Benjamin Marzinski) [2139161] - dm snapshot: fix typo in snapshot_map() comment (Benjamin Marzinski) [2139161] - dm raid: remove redundant "the" in parse_raid_params() comment (Benjamin Marzinski) [2139161] - dm cache: fix typo in 2 comment blocks (Benjamin Marzinski) [2139161] - dm verity: fix checkpatch close brace error (Benjamin Marzinski) [2139161] - dm table: rename dm_target variable in dm_table_add_target() (Benjamin Marzinski) [2139161] - dm table: audit all dm_table_get_target() callers (Benjamin Marzinski) [2139161] - dm table: remove dm_table_get_num_targets() wrapper (Benjamin Marzinski) [2139161] - writeback: Avoid skipping inode writeback (Waiman Long) [2138886] - writeback: fix obtain a reference to a freeing memcg css (Waiman Long) [2138886] - mm/memcg: disable threshold event handlers on PREEMPT_RT (Waiman Long) [2138886] - memcg: increase MEMCG_CHARGE_BATCH to 64 (Waiman Long) [2138886] - mm: page_counter: rearrange struct page_counter fields (Waiman Long) [2138886] - mm: page_counter: remove unneeded atomic ops for low/min (Waiman Long) [2138886] - memcg: reduce size of memcg vmstats structures (Waiman Long) [2138886] - memcg: rearrange code (Waiman Long) [2138886] - memcg: extract memcg_vmstats from struct mem_cgroup (Waiman Long) [2138886] - mm: memcontrol: fix potential oom_lock recursion deadlock (Waiman Long) [2138886] - mm: memcontrol: add {pgscan,pgsteal}_{kswapd,direct} items in memory.stat of cgroup v2 (Waiman Long) [2138886] - mm/memcg: protect per-CPU counter by disabling preemption on PREEMPT_RT where needed. (Waiman Long) [2138886] - writeback: memcg: simplify cgroup_writeback_by_id (Waiman Long) [2138886] - writeback, cgroup: do not reparent dax inodes (Waiman Long) [2138886] - writeback, cgroup: remove wb from offline list before releasing refcnt (Waiman Long) [2138886] - writeback, cgroup: release dying cgwbs by switching attached inodes (Waiman Long) [2138886] - writeback, cgroup: support switching multiple inodes at once (Waiman Long) [2138886] - writeback, cgroup: split out the functional part of inode_switch_wbs_work_fn() (Waiman Long) [2138886] - writeback, cgroup: keep list of inodes attached to bdi_writeback (Waiman Long) [2138886] - writeback, cgroup: switch to rcu_work API in inode_switch_wbs() (Waiman Long) [2138886] - writeback, cgroup: increment isw_nr_in_flight before grabbing an inode (Waiman Long) [2138886] - writeback, cgroup: add smp_mb() to cgroup_writeback_umount() (Waiman Long) [2138886] - writeback, cgroup: do not switch inodes with I_WILL_FREE flag (Waiman Long) [2138886] - docs/admin-guide: cgroup-v2: typos and spaces (Waiman Long) [2138886] - fs: improve comments for writeback_single_inode() (Waiman Long) [2138886] - writeback: remove struct bdi_writeback_congested (Waiman Long) [2138886] - writeback: remove {set,clear}_wb_congested (Waiman Long) [2138886] - fs/writeback.c: use rcu_barrier() to wait for inflight wb switches going into workqueue when umount (Waiman Long) [2138886] - blkcg: remove unused __blkg_release_rcu() (Waiman Long) [2138886] - writeback: Add a bdi_writeback_rh extension to struct bdi_writeback (Waiman Long) [2138886] - RDMA/irdma: Report the correct link speed (Kamal Heib) [2125102] - blk-mq: avoid double ->queue_rq() because of early timeout (Ming Lei) [2132438] - blk-mq: add one API for waiting until quiesce is done (Ming Lei) [2132438] - blk-mq: support concurrent queue quiesce/unquiesce (Ming Lei) [2132438] - bridge: Do not send empty IFLA_AF_SPEC attribute (Ivan Vecera) [2139133] - net: bridge: Clear offload_fwd_mark when passing frame up bridge interface. (Ivan Vecera) [2139133] - net: bridge: vlan: fix memory leak in __allowed_ingress (Ivan Vecera) [2139133]- ice: Add additional CSR registers to ETHTOOL_GREGS (Petr Oros) [2131024] - udp: Update reuse->has_conns under reuseport_lock. (Xin Long) [2135937] - udp: Remove redundant __udp_sysctl_init() call from udp_init(). (Xin Long) [2135937] - udp: Fix a data-race around sysctl_udp_l3mdev_accept. (Xin Long) [2135937] - Documentation: fix udp_wmem_min in ip-sysctl.rst (Xin Long) [2135937] - be2net: Fix buffer overflow in be_get_module_eeprom (Josef Oskera) [2126917] - iommu/vt-d: Clean up si_domain in the init_dmars() error path (Jerry Snitselaar) [2133331]- md: Fix spelling mistake in comments of r5l_log (Nigel Croxon) [2112935] - md/raid5: Wait for MD_SB_CHANGE_PENDING in raid5d (Nigel Croxon) [2112935] - md/raid10: convert resync_lock to use seqlock (Nigel Croxon) [2112935] - md/raid10: fix improper BUG_ON() in raise_barrier() (Nigel Croxon) [2112935] - md/raid10: prevent unnecessary calls to wake_up() in fast path (Nigel Croxon) [2112935] - md/raid10: don't modify 'nr_waitng' in wait_barrier() for the case nowait (Nigel Croxon) [2112935] - md/raid10: factor out code from wait_barrier() to stop_waiting_barrier() (Nigel Croxon) [2112935] - md: Remove extra mddev_get() in md_seq_start() (Nigel Croxon) [2112935] - md/raid5: Remove unnecessary bio_put() in raid5_read_one_chunk() (Nigel Croxon) [2112935 2111563] - md/raid5: Ensure stripe_fill happens on non-read IO with journal (Nigel Croxon) [2112935] - md/raid5: Don't read ->active_stripes if it's not needed (Nigel Croxon) [2112935] - md/raid5: Cleanup prototype of raid5_get_active_stripe() (Nigel Croxon) [2112935] - md/raid5: Drop extern on function declarations in raid5.h (Nigel Croxon) [2112935] - md/raid5: Refactor raid5_get_active_stripe() (Nigel Croxon) [2112935] - md: Replace snprintf with scnprintf (Nigel Croxon) [2112935] - md/raid10: fix compile warning (Nigel Croxon) [2112935] - md/raid5: Fix spelling mistakes in comments (Nigel Croxon) [2112935] - md: call __md_stop_writes in md_stop (Nigel Croxon) [2112935] - md: Flush workqueue md_rdev_misc_wq in md_alloc() (Nigel Croxon) [2112935] - drivers:md:fix a potential use-after-free bug (Nigel Croxon) [2112935] - md/raid5: Ensure batch_last is released before sleeping for quiesce (Nigel Croxon) [2112935] - md/raid5: Move stripe_request_ctx up (Nigel Croxon) [2112935] - md/raid5: Drop unnecessary call to r5c_check_stripe_cache_usage() (Nigel Croxon) [2112935] - md/raid5: Make is_inactive_blocked() helper (Nigel Croxon) [2112935] - md/raid5: Refactor raid5_get_active_stripe() (Nigel Croxon) [2112935] - md-raid10: fix KASAN warning (Nigel Croxon) [2112935] - md: fix build failure for !MODULE (Nigel Croxon) [2112935] - raid5: fix duplicate checks for rdev->saved_raid_disk (Nigel Croxon) [2112935] - md/raid5: Convert prepare_to_wait() to wait_woken() api (Nigel Croxon) [2112935] - md/raid5: Fix sectors_to_do bitmap overflow in raid5_make_request() (Nigel Croxon) [2112935] - md: Fix spelling mistake in comments (Nigel Croxon) [2112935] - md/raid5: Increase restriction on max segments per request (Nigel Croxon) [2112935] - md/raid5: Improve debug prints (Nigel Croxon) [2112935] - md/raid5: Pivot raid5_make_request() (Nigel Croxon) [2112935] - md/raid5: Check all disks in a stripe_head for reshape progress (Nigel Croxon) [2112935] - md/raid5: Refactor add_stripe_bio() (Nigel Croxon) [2112935] - md/raid5: Keep a reference to last stripe_head for batch (Nigel Croxon) [2112935] - md/raid5: Refactor for loop in raid5_make_request() into while loop (Nigel Croxon) [2112935] - md/raid5: Move read_seqcount_begin() into make_stripe_request() (Nigel Croxon) [2112935] - md/raid5: Drop the do_prepare flag in raid5_make_request() (Nigel Croxon) [2112935] - md/raid5: Factor out helper from raid5_make_request() loop (Nigel Croxon) [2112935] - md/raid5: Move common stripe get code into new find_get_stripe() helper (Nigel Croxon) [2112935] - md/raid5: Move stripe_add_to_batch_list() call out of add_stripe_bio() (Nigel Croxon) [2112935] - md/raid5: Refactor raid5_make_request loop (Nigel Croxon) [2112935] - md/raid5: Factor out ahead_of_reshape() function (Nigel Croxon) [2112935] - md/raid5: Make logic blocking check consistent with logic that blocks (Nigel Croxon) [2112935] - md: unlock mddev before reap sync_thread in action_store (Nigel Croxon) [2112935] - md: Explicitly create command-line configured devices (Nigel Croxon) [2112935] - md: Notify sysfs sync_completed in md_reap_sync_thread() (Nigel Croxon) [2112935] - md: Ensure resync is reported after it starts (Nigel Croxon) [2112935] - md: Use enum for overloaded magic numbers used by mddev->curr_resync (Nigel Croxon) [2112935] - md/raid5-cache: Annotate pslot with __rcu notation (Nigel Croxon) [2112935] - md/raid5-cache: Clear conf->log after finishing work (Nigel Croxon) [2112935] - md/raid5-cache: Drop RCU usage of conf->log (Nigel Croxon) [2112935] - md/raid5-cache: Take mddev_lock in r5c_journal_mode_show() (Nigel Croxon) [2112935] - md/raid5: suspend the array for calls to log_exit() (Nigel Croxon) [2112935] - md/raid5-ppl: Drop unused argument from ppl_handle_flush_request() (Nigel Croxon) [2112935] - md/raid5-log: Drop extern decorators for function prototypes (Nigel Croxon) [2112935] - md/raid5: missing error code in setup_conf() (Nigel Croxon) [2112935] - Revert "md: don't unregister sync_thread with reconfig_mutex held" (Nigel Croxon) [2112935] - qed: fix typos in comments (Manish Chopra) [2111885] - net: qede: Remove unnecessary synchronize_irq() before free_irq() (Manish Chopra) [2111885] - RDMA/qedr: Fix potential memory leak in __qedr_alloc_mr() (Manish Chopra) [2111885] - qlogic: qed: fix clang -Wformat warnings (Manish Chopra) [2111885] - qed: Use bitmap_empty() (Manish Chopra) [2111885] - qed: Use the bitmap API to allocate bitmaps (Manish Chopra) [2111885] - qlogic/qed: fix repeated words in comments (Manish Chopra) [2111885] - net: qed: fix typos in comments (Manish Chopra) [2111885] - RDMA/qedr: Remove unnecessary synchronize_irq() before free_irq() (Manish Chopra) [2111885] - qed: Remove unnecessary synchronize_irq() before free_irq() (Manish Chopra) [2111885] - qed: replace bitmap_weight with bitmap_empty in qed_roce_stop() (Manish Chopra) [2111885] - qed: rework qed_rdma_bmap_free() (Manish Chopra) [2111885] - qed: Remove IP services API. (Manish Chopra) [2111885] - qed: remove an unneed NULL check on list iterator (Manish Chopra) [2111885] - RDMA/irdma: Report RNR NAK generation in device caps (Kamal Heib) [2120676 2103957] - RDMA/irdma: Use s/g array in post send only when its valid (Kamal Heib) [2120676 2103957] - RDMA/irdma: Return correct WC error for bind operation failure (Kamal Heib) [2120676 2103957] - RDMA/irdma: Return error on MR deregister CQP failure (Kamal Heib) [2120676 2103957] - RDMA/irdma: Report the correct max cqes from query device (Kamal Heib) [2120676 2103957] - RDMA/siw: Pass a pointer to virt_to_page() (Kamal Heib) [2120676] - RDMA/cma: Fix arguments order in net device validation (Kamal Heib) [2120676] - RDMA/irdma: Fix drain SQ hang with no completion (Kamal Heib) [2120676 2103957 2033244 2053376] - IB/iser: Fix login with authentication (Kamal Heib) [2120676] - RDMA/ib_srpt: Unify checking rdma_cm_id condition in srpt_cm_req_recv() (Kamal Heib) [2120676] - RDMA/rxe: Fix error unwind in rxe_create_qp() (Kamal Heib) [2120676] - RDMA/rxe: Split qp state for requester and completer (Kamal Heib) [2120676] - RDMA/rxe: Generate error completion for error requester QP state (Kamal Heib) [2120676] - RDMA/rxe: Update wqe_index for each wqe error completion (Kamal Heib) [2120676] - RDMA/srpt: Fix a use-after-free (Kamal Heib) [2120676] - RDMA/srpt: Introduce a reference count in struct srpt_device (Kamal Heib) [2120676] - RDMA/srpt: Duplicate port name members (Kamal Heib) [2120676] - Revert "RDMA/rxe: Create duplicate mapping tables for FMRs" (Kamal Heib) [2120676] - RDMA/rxe: Replace __rxe_do_task by rxe_run_task (Kamal Heib) [2120676] - RDMA/rxe: Limit the number of calls to each tasklet (Kamal Heib) [2120676] - RDMA/rxe: Make the tasklet exits the same (Kamal Heib) [2120676] - RDMA/rxe: Fix rnr retry behavior (Kamal Heib) [2120676] - RDMA/rxe: Add rxe_is_fenced() subroutine (Kamal Heib) [2120676] - RDMA/rxe: For invalidate compare according to set keys in mr (Kamal Heib) [2120676] - RDMA: Fix comment typo (Kamal Heib) [2120676] - IB: Fix repeated words 'the the' comments (Kamal Heib) [2120676] - RDMA/rxe: Fix mw bind to allow any consumer key portion (Kamal Heib) [2120676] - RDMA/rxe: Fix spelling mistake in error print (Kamal Heib) [2120676] - RDMA/rxe: Remove unused qp parameter (Kamal Heib) [2120676] - RDMA/hfi1: fix potential memory leak in setup_base_ctxt() (Kamal Heib) [2120676] - RDMA/rxe: Remove unused mask parameter (Kamal Heib) [2120676] - RDMA/rxe: Rename rxe_atomic_reply to atomic_reply (Kamal Heib) [2120676] - RDMA/rxe: Add common rxe_prepare_res() (Kamal Heib) [2120676] - RDMA/rxe: Fix BUG: KASAN: null-ptr-deref in rxe_qp_do_cleanup (Kamal Heib) [2120676] - RDMA/siw: Fix duplicated reported IW_CM_EVENT_CONNECT_REPLY event (Kamal Heib) [2120676] - RDMA/hfi1: Depend on !UML (Kamal Heib) [2120676] - RDMA/irdma: Use the bitmap API to allocate bitmaps (Kamal Heib) [2120676 2103957] - RDMA: remove useless condition in siw_create_cq() (Kamal Heib) [2120676] - RDMA/irdma: Fix setting of QP context err_rq_idx_valid field (Kamal Heib) [2120676 2103957] - RDMA/irdma: Fix VLAN connection with wildcard address (Kamal Heib) [2120676 2103957] - RDMA/irdma: Fix a window for use-after-free (Kamal Heib) [2120676 2103957] - RDMA/irdma: Make resource distribution algorithm more QP oriented (Kamal Heib) [2120676 2103957] - RDMA/irdma: Make CQP invalid state error non-critical (Kamal Heib) [2120676 2103957] - RDMA/irdma: Add AE source to error log (Kamal Heib) [2120676 2103957] - RDMA/irdma: Add 2 level PBLE support for FMR (Kamal Heib) [2120676 2103957] - IB: Fix spelling of 'writable' (Kamal Heib) [2120676] - RDMA/rxe: Remove unnecessary include statement (Kamal Heib) [2120676] - RDMA/rxe: Replace include statement (Kamal Heib) [2120676] - RDMA/rxe: Convert pr_warn/err to pr_debug in pyverbs (Kamal Heib) [2120676] - RDMA/rxe: Fix deadlock in rxe_do_local_ops() (Kamal Heib) [2120676] - RDMA/rxe: Merge normal and retry atomic flows (Kamal Heib) [2120676] - RDMA/rxe: Move atomic original value to res (Kamal Heib) [2120676] - RDMA/rxe: Move atomic responder res to atomic_reply (Kamal Heib) [2120676] - RDMA/rxe: Add a responder state for atomic reply (Kamal Heib) [2120676] - RDMA/rxe: Move code to rxe_prepare_atomic_res() (Kamal Heib) [2120676] - RDMA/rxe: Convert read side locking to rcu (Kamal Heib) [2120676] - RDMA/rxe: Stop lookup of partially built objects (Kamal Heib) [2120676] - RDMA/rxe: Remove useless pkt parameters (Kamal Heib) [2120676] - RDMA: Correct duplicated words in comments (Kamal Heib) [2120676] - IB/iser: Drain the entire QP during destruction flow (Kamal Heib) [2120676] - RDMA/rxe: fix xa_alloc_cycle() error return value check again (Kamal Heib) [2120676] - RDMA/core: Add a netevent notifier to cma (Kamal Heib) [2120676 2117912] - RDMA/core: Add an rb_tree that stores cm_ids sorted by ifindex and remote IP (Kamal Heib) [2120676 2117912] - RDMA/hfi1: Fix typo in comment (Kamal Heib) [2120676] - RDMA: Split kernel-only global device caps from uverbs device caps (Kamal Heib) [2120675] - RDMA/hfi1: Remove all traces of diagpkt support (Kamal Heib) [2120675] - RDMA/hfi1: Consolidate software versions (Kamal Heib) [2120675] - RDMA/hfi1: Remove pointless driver version (Kamal Heib) [2120675] - RDMA/hfi1: Prevent panic when SDMA is disabled (Kamal Heib) [2120675] - RDMA/core: Fix typo in comment (Kamal Heib) [2120675] - IB/hf1: Fix typo in comment (Kamal Heib) [2120675] - IB/iser: Fix typo in comment (Kamal Heib) [2120675] - IB/isert: Avoid flush_scheduled_work() usage (Kamal Heib) [2120675] - RDMA/siw: Enable siw on tunnel devices (Kamal Heib) [2120675] - RDMA/rxe: Enforce IBA C11-17 (Kamal Heib) [2120675] - RDMA/rxe: Move mw cleanup code to rxe_mw_cleanup() (Kamal Heib) [2120675] - RDMA/rxe: Move mr cleanup code to rxe_mr_cleanup() (Kamal Heib) [2120675] - RDMA/rxe: Move qp cleanup code to rxe_qp_do_cleanup() (Kamal Heib) [2120675] - RDMA/rxe: Check rxe_get() return value (Kamal Heib) [2120675] - RDMA/rxe: Add rxe_srq_cleanup() (Kamal Heib) [2120675] - RDMA/rxe: Remove IB_SRQ_INIT_MASK (Kamal Heib) [2120675] - RDMA/rxe: Skip adjusting remote addr for write in retry operation (Kamal Heib) [2120675] - RDMA/rxe: Optimize the mr pool struct (Kamal Heib) [2120675] - RDMA/rxe: Replace paylen by payload (Kamal Heib) [2120675] - RDMA/core: Avoid flush_workqueue(system_unbound_wq) usage (Kamal Heib) [2120675] - RDMA/rxe: Remove useless parameters for update_state() (Kamal Heib) [2120675] - RDMA/rxe: Remove reliable datagram support (Kamal Heib) [2120675] - RDMA/rxe: Remove support for SMI QPs from rdma_rxe (Kamal Heib) [2120675] - RDMA/rxe: Remove mc_grp_pool from struct rxe_dev (Kamal Heib) [2120675] - RDMA/rxe: Remove type 2A memory window capability (Kamal Heib) [2120675] - RDMA/usnic: Refactor usnic_uiom_alloc_pd() (Kamal Heib) [2120675] - RDMA/usnic: Stop using iommu_present() (Kamal Heib) [2120675] - IB/SA: Replace usage of found with dedicated list iterator variable (Kamal Heib) [2120675] - IB/rdmavt: add missing locks in rvt_ruc_loopback (Kamal Heib) [2120675] - IB/uverbs: Move part of enum ib_device_cap_flags to uapi (Kamal Heib) [2120675] - IB/uverbs: Move enum ib_raw_packet_caps to uapi (Kamal Heib) [2120675] - RDMA/pvrdma: Remove useless DMA-32 fallback configuration (Kamal Heib) [2120675] - RDMA: switch from 'pci_' to 'dma_' API (Kamal Heib) [2120675] - scsi: RDMA/srp: Use scsi_cmd_to_rq() instead of scsi_cmnd.request (Kamal Heib) [2120675] - scsi: RDMA/iser: Use scsi_cmd_to_rq() instead of scsi_cmnd.request (Kamal Heib) [2120675] - x86/fpu: Prevent FPU state corruption (Oleksandr Natalenko) [2130890] - net: team: Unsync device addresses on ndo_stop (Hangbin Liu) [2135240] - mmu_gather: fix the CONFIG_MMU_GATHER_NO_RANGE case (Waiman Long) [2130166] {CVE-2022-39188} - mmu_gather: Force tlb-flush VM_PFNMAP vmas (Waiman Long) [2130166] {CVE-2022-39188} - mmu_gather: Let there be one tlb_{start,end}_vma() implementation (Waiman Long) [2130166] {CVE-2022-39188} - mmu_gather: Remove per arch tlb_{start,end}_vma() (Waiman Long) [2130166] {CVE-2022-39188} - x86/ldt: Use tlb_gather_mmu_fullmm() when freeing LDT page-tables (Waiman Long) [2130166] {CVE-2022-39188} - tlb: arch: Remove empty __tlb_remove_tlb_entry() stubs (Waiman Long) [2130166] {CVE-2022-39188} - tlb: mmu_gather: Remove start/end arguments from tlb_gather_mmu() (Waiman Long) [2130166] {CVE-2022-39188} - tlb: mmu_gather: Introduce tlb_gather_mmu_fullmm() (Waiman Long) [2130166] {CVE-2022-39188} - tlb: mmu_gather: Remove unused start/end arguments from tlb_finish_mmu() (Waiman Long) [2130166] {CVE-2022-39188} - mm: proc: Invalidate TLB after clearing soft-dirty page state (Waiman Long) [2130166] {CVE-2022-39188} - mm: fix clear_refs_write locking (Waiman Long) [2130166] {CVE-2022-39188} - s390/Kconfig: sort config S390 select list once again (Waiman Long) [2130166] {CVE-2022-39188} - asm-generic/tlb: provide MMU_GATHER_TABLE_FREE (Waiman Long) [2130166] {CVE-2022-39188} - asm-generic/tlb: rename HAVE_MMU_GATHER_NO_GATHER (Waiman Long) [2130166] {CVE-2022-39188} - asm-generic/tlb: rename HAVE_MMU_GATHER_PAGE_SIZE (Waiman Long) [2130166] {CVE-2022-39188} - asm-generic/tlb: rename HAVE_RCU_TABLE_FREE (Waiman Long) [2130166] {CVE-2022-39188} - asm-generic/tlb: avoid potential double flush (Waiman Long) [2130166] {CVE-2022-39188} - powerpc/mm/book3s64/radix: Flush the full mm even when need_flush_all is set (Waiman Long) [2130166] {CVE-2022-39188} - powerpc/mm/book3s64/radix: Use freed_tables instead of need_flush_all (Waiman Long) [2130166] {CVE-2022-39188} - mm/tlb: Remove CONFIG_HAVE_RCU_TABLE_INVALIDATE (Waiman Long) [2130166] {CVE-2022-39188} - Add skb drop reasons to IPv6 UDP receive path (Antoine Tenart) [2059158] - net: skb: export skb drop reaons to user by TRACE_DEFINE_ENUM (Antoine Tenart) [2059158] - net: skb: prevent the split of kfree_skb_reason() by gcc (Antoine Tenart) [2059158] - tcp: md5: fix IPv4-mapped support (Antoine Tenart) [2059158] - net: dropreason: reformat the comment fo skb drop reasons (Antoine Tenart) [2059158] - net: skb: use auto-generation to convert skb drop reason to string (Antoine Tenart) [2059158] - net: skb: move enum skb_drop_reason to standalone header file (Antoine Tenart) [2059158] - tcp_ipv6: set the drop_reason in the right place (Antoine Tenart) [2059158] - net: tcp: reset 'drop_reason' to NOT_SPCIFIED in tcp_v{4,6}_rcv() (Antoine Tenart) [2059158] - net: skb: change the definition SKB_DR_SET() (Antoine Tenart) [2059158] - net: skb: check the boundrary of drop reason in kfree_skb_reason() (Antoine Tenart) [2059158] - net: dm: check the boundary of skb drop reasons (Antoine Tenart) [2059158] - tcp: fix signed/unsigned comparison (Antoine Tenart) [2059158] - tcp: add drop reason support to tcp_ofo_queue() (Antoine Tenart) [2059158] - tcp: add drop reasons to tcp_rcv_synsent_state_process() (Antoine Tenart) [2059158] - tcp: make tcp_rcv_synsent_state_process() drop monitor friend (Antoine Tenart) [2059158] - tcp: add drop reason support to tcp_prune_ofo_queue() (Antoine Tenart) [2059158] - tcp: add two drop reasons for tcp_ack() (Antoine Tenart) [2059158] - tcp: add drop reasons to tcp_rcv_state_process() (Antoine Tenart) [2059158] - tcp: make tcp_rcv_state_process() drop monitor friendly (Antoine Tenart) [2059158] - tcp: add drop reason support to tcp_validate_incoming() (Antoine Tenart) [2059158] - tcp: get rid of rst_seq_match (Antoine Tenart) [2059158] - tcp: consume incoming skb leading to a reset (Antoine Tenart) [2059158] - tcp: tcp_send_challenge_ack delete useless param `skb` (Antoine Tenart) [2059158] - ipv6: fix NULL deref in ip6_rcv_core() (Antoine Tenart) [2059158] - net: ipv6: add skb drop reasons to ip6_protocol_deliver_rcu() (Antoine Tenart) [2059158] - net: ipv6: add skb drop reasons to ip6_rcv_core() (Antoine Tenart) [2059158] - net: ipv6: add skb drop reasons to TLV parse (Antoine Tenart) [2059158] - net: ipv6: remove redundant statistics in ipv6_hop_jumbo() (Antoine Tenart) [2059158] - net: icmp: introduce function icmpv6_param_prob_reason() (Antoine Tenart) [2059158] - net: ip: add skb drop reasons to ip forwarding (Antoine Tenart) [2059158] - net: ipv6: add skb drop reasons to ip6_pkt_drop() (Antoine Tenart) [2059158] - net: ipv4: add skb drop reasons to ip_error() (Antoine Tenart) [2059158] - skb: add some helpers for skb drop reasons (Antoine Tenart) [2059158] - net: icmp: add skb drop reasons to icmp protocol (Antoine Tenart) [2059158] - ping: Check return value of function 'ping_queue_rcv_skb' (Antoine Tenart) [2059158] - net: icmp: introduce __ping_queue_rcv_skb() to report drop reasons (Antoine Tenart) [2059158] - net: skb: rename SKB_DROP_REASON_PTYPE_ABSENT (Antoine Tenart) [2059158] - net: sock: introduce sock_queue_rcv_skb_reason() (Antoine Tenart) [2059158] - net: tcp: fix shim definition of tcp_inbound_md5_hash (Antoine Tenart) [2059158] - skb: make drop reason booleanable (Antoine Tenart) [2059158] - net/tcp: Merge TCP-MD5 inbound callbacks (Antoine Tenart) [2059158] - tcp: md5: add tcp_md5_needed jump label (Antoine Tenart) [2059158] - net: tun: track dropped skb via kfree_skb_reason() (Antoine Tenart) [2059158] - net: tun: split run_ebpf_filter() and pskb_trim() into different "if statement" (Antoine Tenart) [2059158] - net: tap: track dropped skb via kfree_skb_reason() (Antoine Tenart) [2059158] - net: dev: use kfree_skb_reason() for __netif_receive_skb_core() (Antoine Tenart) [2059158] - net: dev: use kfree_skb_reason() for sch_handle_ingress() (Antoine Tenart) [2059158] - net: dev: use kfree_skb_reason() for do_xdp_generic() (Antoine Tenart) [2059158] - net: dev: use kfree_skb_reason() for enqueue_to_backlog() (Antoine Tenart) [2059158] - net: dev: add skb drop reasons to __dev_xmit_skb() (Antoine Tenart) [2059158] - net: skb: introduce the function kfree_skb_list_reason() (Antoine Tenart) [2059158] - net: dev: use kfree_skb_reason() for sch_handle_egress() (Antoine Tenart) [2059158] - net: neigh: add skb drop reasons to arp_error_report() (Antoine Tenart) [2059158] - net: neigh: use kfree_skb_reason() for __neigh_event_send() (Antoine Tenart) [2059158] - net: ip: add skb drop reasons for ip egress path (Antoine Tenart) [2059158] - net: tcp: use tcp_drop_reason() for tcp_data_queue_ofo() (Antoine Tenart) [2059158] - net: tcp: use tcp_drop_reason() for tcp_data_queue() (Antoine Tenart) [2059158] - net: tcp: use tcp_drop_reason() for tcp_rcv_established() (Antoine Tenart) [2059158] - net: tcp: use kfree_skb_reason() for tcp_v{4,6}_do_rcv() (Antoine Tenart) [2059158] - net: tcp: add skb drop reasons to tcp_add_backlog() (Antoine Tenart) [2059158] - net: tcp: add skb drop reasons to tcp_v{4,6}_inbound_md5_hash() (Antoine Tenart) [2059158] - ipv4/tcp: Pass dif and sdif to tcp_v4_inbound_md5_hash (Antoine Tenart) [2059158] - ipv6/tcp: Pass dif and sdif to tcp_v6_inbound_md5_hash (Antoine Tenart) [2059158] - ipv4/tcp: Use local variable for tcp_md5_addr (Antoine Tenart) [2059158] - net: tcp: use kfree_skb_reason() for tcp_v6_rcv() (Antoine Tenart) [2059158] - net: tcp: add skb drop reasons to tcp_v4_rcv() (Antoine Tenart) [2059158] - net: tcp: introduce tcp_drop_reason() (Antoine Tenart) [2059158] - ipv6: Add reasons for skb drops to __udp6_lib_rcv (Antoine Tenart) [2059158] - net: drop_monitor: support drop reason (Antoine Tenart) [2059158] - net: udp: use kfree_skb_reason() in __udp_queue_rcv_skb() (Antoine Tenart) [2059158] - net: udp: use kfree_skb_reason() in udp_queue_rcv_one_skb() (Antoine Tenart) [2059158] - net: ipv4: use kfree_skb_reason() in ip_protocol_deliver_rcu() (Antoine Tenart) [2059158] - net: ipv4: use kfree_skb_reason() in ip_rcv_finish_core() (Antoine Tenart) [2059158] - net: ipv4: use kfree_skb_reason() in ip_rcv_core() (Antoine Tenart) [2059158] - net: netfilter: use kfree_drop_reason() for NF_DROP (Antoine Tenart) [2059158] - net: skb_drop_reason: add document for drop reasons (Antoine Tenart) [2059158] - net: socket: rename SKB_DROP_REASON_SOCKET_FILTER (Antoine Tenart) [2059158] - net: skb: use kfree_skb_reason() in __udp4_lib_rcv() (Antoine Tenart) [2059158] - net: skb: use kfree_skb_reason() in tcp_v4_rcv() (Antoine Tenart) [2059158] - net: skb: introduce kfree_skb_reason() (Antoine Tenart) [2059158] - bnx2x: Fix comment typo (Manish Chopra) [2111882] - bnx2x: Fix spelling mistake "regiser" -> "register" (Manish Chopra) [2111882] - bnx2x: Fix undefined behavior due to shift overflowing the constant (Manish Chopra) [2111882] - net: sched: act_ct: fix possible refcount leak in tcf_ct_init() (Davide Caratti) [2133741] - net: sched: fix possible refcount leak in tc_new_tfilter() (Davide Caratti) [2133741] - sch_sfb: Also store skb len before calling child enqueue (Davide Caratti) [2133741] - sch_sfb: Don't assume the skb is still around after enqueueing to child (Davide Caratti) [2133741] - net/sched: fix netdevice reference leaks in attach_default_qdiscs() (Davide Caratti) [2133741] - net: sched: tbf: don't call qdisc_put() while holding tree lock (Davide Caratti) [2133741] - net: Fix data-races around weight_p and dev_weight_[rt]x_bias. (Davide Caratti) [2133741] - net/sched: act_api: Notify user space if any actions were flushed before error (Davide Caratti) [2133741] - tipc: fix an information leak in tipc_topsrv_kern_subscr (Xin Long) [2134962] - tipc: Fix recognition of trial period (Xin Long) [2134962] - tipc: fix shift wrapping bug in map_get() (Xin Long) [2134962] - PCI/ASPM: Make Intel DG2 L1 acceptable latency unlimited (Myron Stowe) [2072656] - x86/pci/xen: Use msi_msg shadow structs (Jerry Snitselaar) [2133518] - iommu/intel: Use msi_msg shadow structs (Jerry Snitselaar) [2133518] - PCI: MSI: Fix Kconfig dependencies for PCI_MSI_ARCH_FALLBACKS (Jerry Snitselaar) [2133518] - x86/apic/msi: Unbreak DMAR and HPET MSI (Jerry Snitselaar) [2133518] - iommu/amd: Remove domain search for PCI/MSI (Jerry Snitselaar) [2133518] - iommu/vt-d: Remove domain search for PCI/MSI[X] (Jerry Snitselaar) [2133518] - x86/irq: Make most MSI ops XEN private (Jerry Snitselaar) [2133518] - x86/irq: Cleanup the arch_*_msi_irqs() leftovers (Jerry Snitselaar) [2133518] - PCI/MSI: Make arch_.*_msi_irq[s] fallbacks selectable (Jerry Snitselaar) [2133518] - x86/xen: Wrap XEN MSI management into irqdomain (Jerry Snitselaar) [2133518] - x86/xen: Consolidate XEN-MSI init (Jerry Snitselaar) [2133518] - x86/xen: Rework MSI teardown (Jerry Snitselaar) [2133518] - x86/xen: Make xen_msi_init() static and rename it to xen_hvm_msi_init() (Jerry Snitselaar) [2133518] - x86/irq: Move apic_post_init() invocation to one place (Jerry Snitselaar) [2133518] - x86/msi: Use generic MSI domain ops (Jerry Snitselaar) [2133518] - x86/msi: Remove pointless vcpu_affinity callback (Jerry Snitselaar) [2133518] - netfilter: nf_conntrack_irc: Tighten matching on DCC message (Wander Lairson Costa) [2124092] {CVE-2022-2663} - netfilter: nf_conntrack_irc: Fix forged IP logic (Wander Lairson Costa) [2124092] {CVE-2022-2663} - ice: Add support Flex RXD (Michal Schmidt) [2131310] - asm-generic: sections: refactor memory_intersects (Jerry Snitselaar) [2112119] - swiotlb: fix passing local variable to debugfs_create_ulong() (Jerry Snitselaar) [2112119] - swiotlb: move struct io_tlb_slot to swiotlb.c (Jerry Snitselaar) [2112119] - swiotlb: ensure a segment doesn't cross the area boundary (Jerry Snitselaar) [2112119] - swiotlb: consolidate rounding up default_nslabs (Jerry Snitselaar) [2112119] - swiotlb: remove unused fields in io_tlb_mem (Jerry Snitselaar) [2112119] - swiotlb: fix use after free on error handling path (Jerry Snitselaar) [2112119] - swiotlb: split up the global swiotlb lock (Jerry Snitselaar) [2112119] - swiotlb: fail map correctly with failed io_tlb_default_mem (Jerry Snitselaar) [2112119] - swiotlb: remove a useless return in swiotlb_init (Jerry Snitselaar) [2112119] - swiotlb: remove the unused swiotlb_force declaration (Jerry Snitselaar) [2112119] - iommu/dma: Fix race condition during iova_domain initialization (Jerry Snitselaar) [2112119] - iommu/amd: Fix compile warning in init code (Jerry Snitselaar) [2106599] - iommu/amd: Simplify and Consolidate Virtual APIC (AVIC) Enablement (Jerry Snitselaar) [2106599] - iommu/vt-d: Check correct capability for sagaw determination (Jerry Snitselaar) [2112119] - iommu/vt-d: Correctly calculate sagaw value of IOMMU (Jerry Snitselaar) [2112119] - iommu/vt-d: Fix kdump kernels boot failure with scalable mode (Jerry Snitselaar) [2080413] - iommu/amd: use full 64-bit value in build_completion_wait() (Jerry Snitselaar) [2112119] - swiotlb: avoid potential left shift overflow (Jerry Snitselaar) [2112119] - dma-debug: improve search for partial syncs (Jerry Snitselaar) [2112119] - iommu/iova: Improve 32-bit free space estimate (Jerry Snitselaar) [2112119] - iommu/amd: Handle return of iommu_device_sysfs_add (Jerry Snitselaar) [2112119] - swiotlb: fix setting ->force_bounce (Jerry Snitselaar) [2112119] - swiotlb: use the right nslabs-derived sizes in swiotlb_init_late (Jerry Snitselaar) [2112119] - swiotlb: use the right nslabs value in swiotlb_init_remap (Jerry Snitselaar) [2112119] - swiotlb: don't panic when the swiotlb buffer can't be allocated (Jerry Snitselaar) [2112119] - x86: remove cruft from (Jerry Snitselaar) [2112119] - swiotlb: remove swiotlb_init_with_tbl and swiotlb_init_late_with_tbl (Jerry Snitselaar) [2112119] - swiotlb: provide swiotlb_init variants that remap the buffer (Jerry Snitselaar) [2112119] - swiotlb: pass a gfp_mask argument to swiotlb_init_late (Jerry Snitselaar) [2112119] - swiotlb: add a SWIOTLB_ANY flag to lift the low memory restriction (Jerry Snitselaar) [2112119] - swiotlb: make the swiotlb_init interface more useful (Jerry Snitselaar) [2112119] - x86: centralize setting SWIOTLB_FORCE when guest memory encryption is enabled (Jerry Snitselaar) [2112119] - x86: remove the IOMMU table infrastructure (Jerry Snitselaar) [2112119] - swiotlb: rename swiotlb_late_init_with_default_size (Jerry Snitselaar) [2112119] - swiotlb: simplify swiotlb_max_segment (Jerry Snitselaar) [2112119] - iommu/vt-d: avoid invalid memory access via node_online(NUMA_NO_NODE) (Jerry Snitselaar) [2112119] - iommu/arm-smmu-v3: check return value after calling platform_get_resource() (Jerry Snitselaar) [2112119] - iommu/arm-smmu: fix possible null-ptr-deref in arm_smmu_device_probe() (Jerry Snitselaar) [2112119] - iommu/amd: Increase timeout waiting for GA log enablement (Jerry Snitselaar) [2112119] - iommu/amd: Do not call sleep while holding spinlock (Jerry Snitselaar) [2112119] - iommu/amd: Remove redundant check (Jerry Snitselaar) [2112119] - swiotlb: simplify array allocation (Jerry Snitselaar) [2112119] - swiotlb: tidy up includes (Jerry Snitselaar) [2112119] - treewide: Replace the use of mem_encrypt_active() with cc_platform_has() (Jerry Snitselaar) [2112119] - swiotlb: simplify debugfs setup (Jerry Snitselaar) [2112119] - iommu: Log iova range in map/unmap trace events (Jerry Snitselaar) [2112119] - iommu/amd: Improve amd_iommu_v2_exit() (Jerry Snitselaar) [2112119] - iommu/amd: Remove unused struct fault.devid (Jerry Snitselaar) [2112119] - iommu/amd: Clean up function declarations (Jerry Snitselaar) [2112119] - iommu/amd: Improve error handling for amd_iommu_init_pci (Jerry Snitselaar) [2112119] - iommu/iova: Separate out rcache init (Jerry Snitselaar) [2112119] - iommu/iova: Temporarily include dma-mapping.h from iova.h (Jerry Snitselaar) [2112119] - iommu: Move flush queue data into iommu_dma_cookie (Jerry Snitselaar) [2112119] - iommu/iova: Move flush queue code to iommu-dma (Jerry Snitselaar) [2112119] - iommu/iova: Consolidate flush queue code (Jerry Snitselaar) [2112119] - iommu/vt-d: Use put_pages_list (Jerry Snitselaar) [2112119] - iommu/amd: Use put_pages_list (Jerry Snitselaar) [2112119] - iommu/amd: Simplify pagetable freeing (Jerry Snitselaar) [2112119] - iommu/iova: Squash flush_cb abstraction (Jerry Snitselaar) [2112119] - iommu/iova: Squash entry_dtor abstraction (Jerry Snitselaar) [2112119] - iommu/iova: Move fast alloc size roundup into alloc_iova_fast() (Jerry Snitselaar) [2112119] - iommu/arm-smmu-v3: fix event handling soft lockup (Jerry Snitselaar) [2112119] - iommu/arm-smmu-v3: Avoid open coded arithmetic in memory allocation (Jerry Snitselaar) [2112119] - iommu/amd: Fix loop timeout issue in iommu_ga_log_enable() (Jerry Snitselaar) [2112119] - iommu/intel: Use msi_msg shadow structs (Jerry Snitselaar) [2112119] - dma-mapping: use 'bitmap_zalloc()' when applicable (Jerry Snitselaar) [2112119] - iommu/dma: Use kvcalloc() instead of kvzalloc() (Jerry Snitselaar) [2112119] - iommu/vt-d: Convert the return type of first_pte_in_page to bool (Jerry Snitselaar) [2112119] - iommu/vt-d: Use second level for GPA->HPA translation (Jerry Snitselaar) [2112119] - iommu/vt-d: Remove duplicate identity domain flag (Jerry Snitselaar) [2112119] - iommu/vt-d: Do not falsely log intel_iommu is unsupported kernel option (Jerry Snitselaar) [2112119] - iommu/dma: Unexport IOVA cookie management (Jerry Snitselaar) [2112119] - iommu/amd: Use struct_group() for memcpy() region (Jerry Snitselaar) [2112119] - dma-mapping: remove bogus test for pfn_valid from dma_map_resource (Jerry Snitselaar) [2112119] - iommu/vt-d: Use pci_dev_id() helper (Jerry Snitselaar) [2112119] - swiotlb-xen: this is PV-only on x86 (Jerry Snitselaar) [2112119] - xen/pci-swiotlb: reduce visibility of symbols (Jerry Snitselaar) [2112119] - iova: Export alloc_iova_fast() and free_iova_fast() (Jerry Snitselaar) [2112119] - iommu: Clarify default domain Kconfig (Jerry Snitselaar) [2112119] - iommu/io-pgtable: Abstract iommu_iotlb_gather access (Jerry Snitselaar) [2112119] - iommu/vt-d: Refactor Kconfig a bit (Jerry Snitselaar) [2112119] - iommu: Allow enabling non-strict mode dynamically (Jerry Snitselaar) [2112119] - iommu: Merge strictness and domain type configs (Jerry Snitselaar) [2112119] - iommu: Only log strictness for DMA domains (Jerry Snitselaar) [2112119] - iommu: Expose DMA domain strictness via sysfs (Jerry Snitselaar) [2112119] - iommu: Express DMA strictness via the domain type (Jerry Snitselaar) [2112119] - iommu/vt-d: Prepare for multiple DMA domain types (Jerry Snitselaar) [2112119] - iommu/arm-smmu: Prepare for multiple DMA domain types (Jerry Snitselaar) [2112119] - iommu/amd: Prepare for multiple DMA domain types (Jerry Snitselaar) [2112119] - iommu: Introduce explicit type for non-strict DMA domains (Jerry Snitselaar) [2112119] - iommu/io-pgtable: Remove non-strict quirk (Jerry Snitselaar) [2112119] - iommu: Indicate queued flushes via gather data (Jerry Snitselaar) [2112119] - iommu/amd: Remove stale amd_iommu_unmap_flush usage (Jerry Snitselaar) [2112119] - iommu: Remove mode argument from iommu_set_dma_strict() (Jerry Snitselaar) [2112119] - iommu/amd: Add support for IOMMU default DMA mode build options (Jerry Snitselaar) [2112119] - iommu/vt-d: Add support for IOMMU default DMA mode build options (Jerry Snitselaar) [2112119] - iommu: Enhance IOMMU default DMA mode build options (Jerry Snitselaar) [2112119] - iommu: Print strict or lazy mode at init time (Jerry Snitselaar) [2112119] - iommu: Deprecate Intel and AMD cmdline methods to enable strict mode (Jerry Snitselaar) [2112119] - dma-debug: use memory_intersects() directly (Jerry Snitselaar) [2112119] - dma-debug: fix return value of __setup handlers (Jerry Snitselaar) [2112119] - arm-smmu-qcom: Ensure the qcom_scm driver has finished probing (Jerry Snitselaar) [2112119] - iommu/io-pgtable-arm: Clean up faulty sanity check (Jerry Snitselaar) [2112119] - iommu/vt-d: Fix RCU list debugging warnings (Jerry Snitselaar) [2112119] - iommu/dma: add a new dma_map_ops of get_merge_boundary() (Jerry Snitselaar) [2112119] - swiotlb: do not zero buffer in set_memory_decrypted() (Jerry Snitselaar) [2112119] - iommu: iommu_ops RH_KABI cleanup (Jerry Snitselaar) [2112119] - device: Fix RH_KABI work around (Jerry Snitselaar) [2112357] - iommu/vt-d: Drop stop marker messages (Jerry Snitselaar) [2112119] - iommu/vt-d: Remove unused function intel_svm_capable() (Jerry Snitselaar) [2112119] - iommu/arm-smmu-v3: Fix size calculation in arm_smmu_mm_invalidate_range() (Jerry Snitselaar) [2112119] - iommu/vt-d: Delete dev_has_feat callback (Jerry Snitselaar) [2112119] - iommu/amd: Remove useless irq affinity notifier (Jerry Snitselaar) [2112119]- scsi: qedi: Fix ABBA deadlock in qedi_process_tmf_resp() and qedi_process_cmd_cleanup_resp() (Nilesh Javali) [2109890] - scsi: qedi: Remove set but unused 'page' variable (Nilesh Javali) [2109890] - x86/elf: Disable automatic READ_IMPLIES_EXEC on 64-bit (Wander Lairson Costa) [2070700] {CVE-2022-25265} - x86/elf: Split READ_IMPLIES_EXEC from executable PT_GNU_STACK (Wander Lairson Costa) [2070700] {CVE-2022-25265} - x86/elf: Add table to document READ_IMPLIES_EXEC (Wander Lairson Costa) [2070700] {CVE-2022-25265} - RHEL-only: KVM: selftests: Enable rseq_test on aarch64 (Gavin Shan) [2128974] - KVM: selftests: Use getcpu() instead of sched_getcpu() in rseq_test (Gavin Shan) [2128974] - selftests: kvm: Fix a compile error in selftests/kvm/rseq_test.c (Gavin Shan) [2128974] - KVM: selftests: Fix target thread to be migrated in rseq_test (Gavin Shan) [2128974] - selftests: KVM: Handle compiler optimizations in ucall (Gavin Shan) [2128974] - selftests: kvm: replace ternary operator with min() (Gavin Shan) [2128974] - KVM: selftests: Fix typo in vgic_init test (Gavin Shan) [2128974] - KVM: selftests: Fix buggy-but-benign check in test_v3_new_redist_regions() (Gavin Shan) [2128974] - KVM: arm64: vgic: Fix exit condition in scan_its_table() (Gavin Shan) [2128974] - KVM: arm64: selftests: Add support for GICv2 on v3 (Gavin Shan) [2128974] - KVM: arm64: Fix comment typo in nvhe/switch.c (Gavin Shan) [2128974] - KVM: arm64: vgic: Remove duplicate check in update_affinity_collection() (Gavin Shan) [2128974] - KVM: arm64: Don't return from void function (Gavin Shan) [2128974] - KVM: arm64: Drop stale comment (Gavin Shan) [2128974] - KVM: arm64: Warn if accessing timer pending state outside of vcpu context (Gavin Shan) [2128974] - KVM: arm64: Replace vgic_v3_uaccess_read_pending with vgic_uaccess_read_pending (Gavin Shan) [2128974] - KVM: arm64: vgic: Undo work in failed ITS restores (Gavin Shan) [2128974] - KVM: arm64: vgic: Do not ignore vgic_its_restore_cte failures (Gavin Shan) [2128974] - KVM: arm64: vgic: Add more checks when restoring ITS tables (Gavin Shan) [2128974] - KVM: arm64: vgic: Check that new ITEs could be saved in guest memory (Gavin Shan) [2128974] - KVM: arm64: nvhe: Eliminate kernel-doc warnings (Gavin Shan) [2128974] - KVM: arm64: Print emulated register table name when it is unsorted (Gavin Shan) [2128974] - KVM: arm64: Don't BUG_ON() if emulated register table is unsorted (Gavin Shan) [2128974] - KVM: arm64: Inject exception on out-of-IPA-range translation fault (Gavin Shan) [2128974] - KVM: arm64: vgic: Remove unnecessary type castings (Gavin Shan) [2128974] - KVM: arm64: Drop unused param from kvm_psci_version() (Gavin Shan) [2128974] - KVM: arm64: vgic: Add memcg accounting to vgic allocations (Gavin Shan) [2128974] - x86/split_lock: Enable the split lock feature on Raptor Lake (Prarit Bhargava) [2076738] - mm: prevent page_frag_alloc() from corrupting the memory (Izabela Bakollari) [2132265] - RDMA/mlx5: Set local port to one when accessing counters (Mohammad Kabat) [2077119] - scsi: ch: Do not initialise statics to 0 (Ewan D. Milne) [2132458] - scsi: core: Fix warning in scsi_alloc_sgtables() (Ewan D. Milne) [2132458] - scsi: core: Move the definition of SCSI_QUEUE_DELAY (Ewan D. Milne) [2132458] - scsi: scsi_debug: Fix zone transition to full condition (Ewan D. Milne) [2132458] - scsi: sd_zbc: Prevent zone information memory leak (Ewan D. Milne) [2132458] - scsi: sd: Fix potential NULL pointer dereference (Ewan D. Milne) [2132458] - scsi: sr: Add memory allocation failure handling for get_capabilities() (Ewan D. Milne) [2132458] - scsi: sd: Use cached ATA Information VPD page (Ewan D. Milne) [2132458] - scsi: core: Do not truncate INQUIRY data on modern devices (Ewan D. Milne) [2132458] - scsi: core: Pick suitable allocation length in scsi_report_opcode() (Ewan D. Milne) [2132458] - scsi: core: Query VPD size before getting full page (Ewan D. Milne) [2132458] - scsi: scsi_debug: Add gap zone support (Ewan D. Milne) [2132458] - scsi: scsi_debug: Rename zone type constants (Ewan D. Milne) [2132458] - scsi: scsi_debug: Fix a typo (Ewan D. Milne) [2132458] - scsi: sd: sd_zbc: Hide gap zones (Ewan D. Milne) [2132458] - scsi: sd: sd_zbc: Return early in sd_zbc_check_zoned_characteristics() (Ewan D. Milne) [2132458] - scsi: sd: sd_zbc: Introduce struct zoned_disk_info (Ewan D. Milne) [2132458] - scsi: sd: sd_zbc: Use logical blocks as unit when querying zones (Ewan D. Milne) [2132458] - scsi: sd: sd_zbc: Verify that the zone size is a power of two (Ewan D. Milne) [2132458] - scsi: sd: sd_zbc: Improve source code documentation (Ewan D. Milne) [2132458] - scsi: sr: Do not leak information in ioctl (Ewan D. Milne) [2132458] - scsi: core: Remove unreachable code warning (Ewan D. Milne) [2132458] - scsi: libfc: Fix use after free in fc_exch_abts_resp() (Ewan D. Milne) [2132458] - scsi: scsi_debug: Silence unexpected unlock warnings (Ewan D. Milne) [2132458] - scsi: Remove unused member cmd_pool for structure scsi_host_template (Ewan D. Milne) [2132458] - scsi: scsi_debug: Add environmental reporting log subpage (Ewan D. Milne) [2132458] - scsi: scsi_debug: Add no_rwlock parameter (Ewan D. Milne) [2132458] - scsi: scsi_debug: Divide power on reset UNIT ATTENTION (Ewan D. Milne) [2132458] - scsi: scsi_debug: Use TASK SET FULL more (Ewan D. Milne) [2132458] - scsi: scsi_debug: Strengthen defer_t accesses (Ewan D. Milne) [2132458] - scsi: ch: Don't use GFP_DMA (Ewan D. Milne) [2132458] - scsi: scsi_transport_sas: Add 22.5 Gbps link rate definitions (Ewan D. Milne) [2132458] - scsi: sd: Free scsi_disk device via put_device() (Ewan D. Milne) [2132458] - scsi: scsi_debug: Adjust num_parts to create equally sized partitions (Ewan D. Milne) [2132458] - scsi: ch: remove ch_mutex() (Ewan D. Milne) [2132458] - scsi: ch: synchronize ch_probe() and ch_open() (Ewan D. Milne) [2132458] - scsi: ch: fixup refcounting imbalance for SCSI devices (Ewan D. Milne) [2132458] - scsi: mpi3mr: Schedule IRQ kthreads only on non-RT kernels (Tomas Henzl) [2134535] - netfilter: flowtable: fix stuck flows on cleanup due to pending work (Phil Sutter) [2131370] - netfilter: flowtable: add function to invoke garbage collection immediately (Phil Sutter) [2131370] - netfilter: flowtable: pass flowtable to nf_flow_table_iterate() (Phil Sutter) [2131370] - netfilter: flowtable: separate replace, destroy and stats to different workqueues (Phil Sutter) [2131370] - drm/mgag200: Fix PLL setup for G200_SE_A rev >=4 (Jocelyn Falempe) [2130159] - af_key: Do not call xfrm_probe_algs in parallel (Sabrina Dubroca) [2122369] {CVE-2022-3028} - xfrm: Update ipcomp_scratches with NULL when freed (Sabrina Dubroca) [2136193] - esp: choose the correct inner protocol for GSO on inter address family tunnels (Sabrina Dubroca) [2136193] - xfrm: fix refcount leak in __xfrm_policy_check() (Sabrina Dubroca) [2136193] - xfrm: xfrm_policy: fix a possible double xfrm_pols_put() in xfrm_bundle_lookup() (Sabrina Dubroca) [2136193] - net: Fix esp GSO on inter address family tunnels. (Sabrina Dubroca) [2136193] - esp: Fix BEET mode inter address family tunneling on GSO (Sabrina Dubroca) [2136193] - cifs: fix check of dfs interlinks (Ronnie Sahlberg) [2132414] - powerpc/pseries: Fix numa FORM2 parsing fallback code (Nico Pache) [2089496] - powerpc/pseries: rename numa_dist_table to form2_distances (Nico Pache) [2089496] - x86/pkey: Fix undefined behaviour with PKRU_WD_BIT (Nico Pache) [2089496] - hugetlb: add lockdep check for i_mmap_rwsem held in huge_pmd_share (Nico Pache) [2089496] - mm: page_io: fix psi memory pressure error on cold swapins (Nico Pache) [2089496] - mm/memcg: Remove 'page' parameter to mem_cgroup_charge_statistics() (Nico Pache) [2089496] - mm: workingset: replace IRQ-off check with a lockdep assert. (Nico Pache) [2089496] - mm/madvise: fix potential pte_unmap_unlock pte error (Nico Pache) [2089496] - mm/mmu_notifier.c: fix race in mmu_interval_notifier_remove() (Nico Pache) [2089496] - mm/sparse.c: remove NULL check in clear_hwpoisoned_pages() (Nico Pache) [2089496] - node: fix device cleanups in error handling code (Nico Pache) [2089496] - x86/setup: Fix static memory detection (Nico Pache) [2089496] - x86/fault: Don't send SIGSEGV twice on SEGV_PKUERR (Nico Pache) [2089496] - s390/startup: round down "mem" option to page boundary (Nico Pache) [2089496] - powerpc/64s: Remove 'dummy_copy_buffer' (Nico Pache) [2089496] - page_alloc: fix invalid watermark check on a negative value (Nico Pache) [2089496] - lib/radix-tree: remove unused argument of insert_entries (Nico Pache) [2089496] - drm/radeon: fix incorrrect SPDX-License-Identifiers (Nico Pache) [2089496] - mm/swap: fix the obsolete comment for SWP_TYPE_SHIFT (Nico Pache) [2089496] - irq_work: use kasan_record_aux_stack_noalloc() record callstack (Nico Pache) [2089496] - kdb: Fix the putarea helper function (Nico Pache) [2089496] - mm: slab: Delete unused SLAB_DEACTIVATED flag (Nico Pache) [2089496] - mm, kasan: use compare-exchange operation to set KASAN page tag (Nico Pache) [2089496] - rcu: Avoid alloc_pages() when recording stack (Nico Pache) [2089496] - workqueue, kasan: avoid alloc_pages() when recording stack (Nico Pache) [2089496] - kasan: generic: introduce kasan_record_aux_stack_noalloc() (Nico Pache) [2089496] - kasan: common: provide can_alloc in kasan_save_stack() (Nico Pache) [2089496] - lib/stackdepot: remove unused function argument (Nico Pache) [2089496] - lib/stackdepot: include gfp.h (Nico Pache) [2089496] - blk-cgroup: blk_cgroup_bio_start() should use irq-safe operations on blkg->iostat_cpu (Nico Pache) [2089496] - libnvdimm/pmem: Fix crash triggered when I/O in-flight during unbind (Nico Pache) [2089496] - include/trace/events/vmscan.h: remove mm_vmscan_inactive_list_is_low (Nico Pache) [2089496] - khugepaged: selftests: remove debug_cow (Nico Pache) [2089496] - mm/mmzone.h: simplify is_highmem_idx() (Nico Pache) [2089496] - mm/page-writeback: use __this_cpu_inc() in account_page_dirtied() (Nico Pache) [2089496] - mm/page-writeback: update the comment of Dirty position control (Nico Pache) [2089496] - mm/page-writeback: Fix performance when BDI's share of ratio is 0. (Nico Pache) [2089496] - fuse: ignore PG_workingset after stealing (Nico Pache) [2089496] - mm/slub: actually fix freelist pointer vs redzoning (Nico Pache) [2089496] - mm/slub: clarify verification reporting (Nico Pache) [2089496] - irq_work: Make irq_work_queue() NMI-safe again (Nico Pache) [2089496] - mm/huge_memory.c: remove unused macro TRANSPARENT_HUGEPAGE_DEBUG_COW_FLAG (Nico Pache) [2089496] - irq_work: record irq_work_queue() call stack (Nico Pache) [2089496] - arm64: kasan: fix page_alloc tagging with DEBUG_VIRTUAL (Nico Pache) [2089496] - mm/arm64: Correct obsolete comment in do_page_fault() (Nico Pache) [2089496] - kernel: kexec: remove the lock operation of system_transition_mutex (Nico Pache) [2089496] - libnvdimm/pmem: Remove unused header (Nico Pache) [2089496] - workqueue: kasan: record workqueue stack (Nico Pache) [2089496] - lib/test_kasan.c: add workqueue test case (Nico Pache) [2089496] - page_frag: Recover from memory pressure (Nico Pache) [2089496] - mm: use helper function put_write_access() (Nico Pache) [2089496] - mm/swapfile.c: remove unnecessary goto out in _swap_info_get() (Nico Pache) [2089496] - mm/swap.c: fix incomplete comment in lru_cache_add_inactive_or_unevictable() (Nico Pache) [2089496] - mm/page_io.c: remove useless out label in __swap_writepage() (Nico Pache) [2089496] - mm/swap_slots.c: remove always zero and unused return value of enable_swap_slots_cache() (Nico Pache) [2089496] - mm/swap.c: fix confusing comment in release_pages() (Nico Pache) [2089496] - mm: annotate a data race in page_zonenum() (Nico Pache) [2089496] - mm/swap.c: annotate data races for lru_rotate_pvecs (Nico Pache) [2089496] - mm/rmap: annotate a data race at tlb_flush_batched (Nico Pache) [2089496] - mm/mempool: fix a data race in mempool_free() (Nico Pache) [2089496] - mm/list_lru: fix a data race in list_lru_count_one (Nico Pache) [2089496] - mm/memcontrol: fix a data race in scan count (Nico Pache) [2089496] - mm/swapfile: fix and annotate various data races (Nico Pache) [2089496] - mm: thp: remove debug_cow switch (Nico Pache) [2089496] - page_alloc: consider highatomic reserve in watermark fast (Nico Pache) [2089496] - mm: remove unnecessary wrapper function do_mmap_pgoff() (Nico Pache) [2089496] - doc: don't use deprecated "---help---" markers in target docs (Nico Pache) [2089496] - doc: cgroup: update note about conditions when oom killer is invoked (Nico Pache) [2089496] - mm: add kvfree_sensitive() for freeing sensitive data objects (Nico Pache) [2089496] - f2fs: fix retry logic in f2fs_write_cache_pages() (Nico Pache) [2089496] - mm/hugetlb: avoid unnecessary check on pud and pmd entry in huge_pte_offset (Nico Pache) [2089496] - mm/page-writeback.c: remove unused variable (Nico Pache) [2089496] - zswap: docs/vm: Fix typo accept_threshold_percent in zswap.rst (Nico Pache) [2089496] - tracing: Add a vmalloc_sync_mappings() for safe measure (Nico Pache) [2089496] - mm/hugetlb: fix a addressing exception caused by huge_pte_offset (Nico Pache) [2089496] - mm/page-writeback.c: write_cache_pages(): deduplicate identical checks (Nico Pache) [2089496] - revert "topology: add support for node_to_mem_node() to determine the fallback node" (Nico Pache) [2089496] - net: memcg: fix lockdep splat in inet_csk_accept() (Nico Pache) [2089496] - net: memcg: late association of sock to memcg (Nico Pache) [2089496] - tmpfs: deny and force are not huge mount options (Nico Pache) [2089496] - mm/zswap.c: add allocation hysteresis if pool limit is hit (Nico Pache) [2089496] - mm/swapfile.c: swap_next should increase position index (Nico Pache) [2089496] - fat: use prandom_u32() for i_generation (Nico Pache) [2089496] - mm/mmap.c: rb_parent is not necessary in __vma_link_list() (Nico Pache) [2089496] - mm/mmap.c: __vma_unlink_prev() is not necessary now (Nico Pache) [2089496] - docs: kmemleak: DEBUG_KMEMLEAK_EARLY_LOG_SIZE changed names (Nico Pache) [2089496] - mm/mmap.c: prev could be retrieved from vma->vm_prev (Nico Pache) [2089496] - mm/zsmalloc.c: fix a -Wunused-function warning (Nico Pache) [2089496] - mm/rmap.c: remove set but not used variable 'cstart' (Nico Pache) [2089496] - tools headers UAPI: Update tools's copy of mman.h headers (Nico Pache) [2089496] - mm/mmap: move common defines to mman-common.h (Nico Pache) [2089496] - mm: fix the MAP_UNINITIALIZED flag (Nico Pache) [2089496] - mm: vmalloc: show number of vmalloc pages in /proc/meminfo (Nico Pache) [2089496] - slab: remove /proc/slab_allocators (Nico Pache) [2089496] - mm/huge_memory.c: fix "orig_pud" set but not used (Nico Pache) [2089496] - mm: hwpoison: use do_send_sig_info() instead of force_sig() (Nico Pache) [2089496] - mm, page_alloc: drop should_suppress_show_mem (Nico Pache) [2089496] - mm,page_alloc: PF_WQ_WORKER threads must sleep at should_reclaim_retry() (Nico Pache) [2089496] - powerpc/8xx: Use patch_site for perf counters setup (Nico Pache) [2089496] - powerpc/8xx: Use patch_site for memory setup patching (Nico Pache) [2089496] - Revert "powerpc/8xx: Use L1 entry APG to handle _PAGE_ACCESSED for CONFIG_SWAP" (Nico Pache) [2089496] - mm/swapfile.c: put_swap_page: share more between huge/normal code path (Nico Pache) [2089496] - mm, swap, get_swap_pages: use entry_size instead of cluster in parameter (Nico Pache) [2089496] - mm/swapfile.c: add __swap_entry_free_locked() (Nico Pache) [2089496] - mm/swapfile.c: unify normal/huge code path in put_swap_page() (Nico Pache) [2089496] - mm/swapfile.c: unify normal/huge code path in swap_page_trans_huge_swapped() (Nico Pache) [2089496] - mm/swapfile.c: replace some #ifdef with IS_ENABLED() (Nico Pache) [2089496] - mm: swap: add comments to lock_cluster_or_swap_info() (Nico Pache) [2089496] - mm/swapfile.c: use swap_count() in swap_page_trans_huge_swapped() (Nico Pache) [2089496] - mm, oom: remove sleep from under oom_lock (Nico Pache) [2089496] - mm/hugetlb: remove gigantic page support for HIGHMEM (Nico Pache) [2089496] - mm/page-writeback.c: update stale account_page_redirty() comment (Nico Pache) [2089496] - shmem: use monotonic time for i_generation (Nico Pache) [2089496] - mptcp: increase default max additional subflows to 2 (Paolo Abeni) [2127136] - ipv6/addrconf: fix a null-ptr-deref bug for ip6_ptr (Davide Caratti) [2103990] - ipv6: Refactor fib6_ignore_linkdown (Davide Caratti) [2103990] - Revert "net: af_key: add check for pfkey_broadcast in function pfkey_process" (Davide Caratti) [2103990] - net: af_key: add check for pfkey_broadcast in function pfkey_process (Davide Caratti) [2103990] - certs: Add FIPS selftests (Vladis Dronov) [2134828] - certs: Move load_certificate_list() to be with the asymmetric keys code (Vladis Dronov) [2134828]- selftests/bpf: Limit unroll_count for pyperf600 test (Viktor Malik) [2139128]- perf affinity: Fix out of bound access to "sched_cpus" mask (Michael Petlan) [2125952] - net: skb: introduce and use a single page frag cache (Paolo Abeni) [2063335] - powerpc/pseries/vas: Pass hw_cpu_id to node associativity HCALL (Steve Best) [2131651] - agp/intel: Rename intel-gtt symbols (Jocelyn Falempe) [2115871] - drm/i915/gt: Split intel-gtt functions by arch (Jocelyn Falempe) [2115871] - drm: Implement DRM aperture helpers under video/ (Jocelyn Falempe) [2115871] - efi: Fix build error due to enum collision between efi.h and ima.h (Jocelyn Falempe) [2115871] - Revert "workqueue: remove unused cancel_work()" (Jocelyn Falempe) [2115871] - dma-buf: fix use of DMA_BUF_SET_NAME_{A,B} in userspace (Jocelyn Falempe) [2115871] - drm/i915/gsc: add gsc as a mei auxiliary device (Jocelyn Falempe) [2115871] - drm/i915: Prepare for multiple GTs (Jocelyn Falempe) [2115871] - drm/i915/gt: add gt_is_root() helper (Jocelyn Falempe) [2115871] - drm/i915: Rename INTEL_REGION_LMEM with INTEL_REGION_LMEM_0 (Jocelyn Falempe) [2115871] - drm/i915: fixup the initial fb base on DGFX (Jocelyn Falempe) [2115871] - drm/i915: add i915_gem_object_create_region_at() (Jocelyn Falempe) [2115871] - drm/i915: Report steering details in debugfs (Jocelyn Falempe) [2115871] - x86/gpu: include drm/i915_pciids.h directly in early quirks (Jocelyn Falempe) [2115871] - staging: fbtft: core: set smem_len before fb_deferred_io_init call (Jocelyn Falempe) [2115871] - fbdev: Put mmap for deferred I/O into drivers (Jocelyn Falempe) [2115871] - fbdev: Track deferred-I/O pages in pageref struct (Jocelyn Falempe) [2115871] - fbdev: defio: fix the pagelist corruption (Jocelyn Falempe) [2115871] - fbdev: Don't sort deferred-I/O pages by default (Jocelyn Falempe) [2115871] - staging: fbtft: Add spaces around / - Style (Jocelyn Falempe) [2115871] - fbdev/defio: Early-out if page is already enlisted (Jocelyn Falempe) [2115871] - panic, kexec: make __crash_kexec() NMI safe (Valentin Schneider) [2134126] - kexec: turn all kexec_mutex acquisitions into trylocks (Valentin Schneider) [2134126] - kexec: move locking into do_kexec_load (Valentin Schneider) [2134126] - ice: Fix interface being down after reset with link-down-on-close flag on (Petr Oros) [2024110] - ice: Add low latency Tx timestamp read (Petr Oros) [2092425] - ice: introduce ice_ptp_reset_cached_phctime function (Petr Oros) [2092425] - ice: re-arrange some static functions in ice_ptp.c (Petr Oros) [2092425] - ice: track and warn when PHC update is late (Petr Oros) [2092425] - ice: track Tx timestamp stats similar to other Intel drivers (Petr Oros) [2092425] - ice: implement adjfine with mul_u64_u64_div_u64 (Petr Oros) [2092425] - ice: Add EXTTS feature to the feature bitmap (Petr Oros) [2092425] - math: Export mul_u64_u64_div_u64 (Petr Oros) [2092425] - neighbour: allow NUD_NOARP entries to be forced GCed (Xin Long) [2076534] - neighbour: Prevent Race condition in neighbour subsytem (Xin Long) [2076534] - neighbour: Prevent a dead entry from updating gc_list (Xin Long) [2076534] - net: Exempt multicast addresses from five-second neighbor lifetime (Xin Long) [2076534] - neighbor: Reset gc_entries counter if new entry is released before insert (Xin Long) [2076534] - neighbor: Remove externally learned entries from gc_list (Xin Long) [2076534] - neighbor: Move neigh_update_ext_learned to core file (Xin Long) [2076534] - neighbor: Remove state and flags arguments to neigh_del (Xin Long) [2076534] - neighbor: Fix state check in neigh_forced_gc (Xin Long) [2076534] - neighbor: Fix locking order for gc_list changes (Xin Long) [2076534] - neighbor: gc_list changes should be protected by table lock (Xin Long) [2076534] - neighbor: Improve garbage collection (Xin Long) [2076534] - neighbour: send netlink notification if NTF_ROUTER changes (Xin Long) [2076534] - neighbour: allow admin to set NTF_ROUTER (Xin Long) [2076534] - s390/dasd: add device ping attribute (Tobias Huschle) [2043877] - s390/dasd: suppress generic error messages for PPRC secondary devices (Tobias Huschle) [2043877] - s390/dasd: add ioctl to perform a swap of the drivers copy pair (Tobias Huschle) [2043877] - s390/dasd: add copy pair swap capability (Tobias Huschle) [2043877] - s390/dasd: add copy pair setup (Tobias Huschle) [2043877] - s390/dasd: add query PPRC function (Tobias Huschle) [2043877] - s390/dasd: put block allocation in separate function (Tobias Huschle) [2043877] - s390/dasd: fix Oops in dasd_alias_get_start_dev due to missing pavgroup (Tobias Huschle) [2043877] - s390/qeth: Split memcpy() of struct qeth_ipacmd_addr_change flexible array (Tobias Huschle) [2110426] - s390/qeth: Fix typo 'the the' in comment (Tobias Huschle) [2110426] - s390/qdio: Fix spelling mistake (Tobias Huschle) [2110426] - qeth: remove a copy of the NAPI_POLL_WEIGHT define (Tobias Huschle) [2110426] - scsi: bnx2fc: Avoid using get_cpu() in bnx2fc_cmd_alloc() (Nilesh Javali) [2109895] - scsi: bnx2fc: Fix spelling mistake "mis-match" -> "mismatch" (Nilesh Javali) [2109895] - scsi: bnx2fc: Make use of the helper macro kthread_run() (Nilesh Javali) [2109895] - scsi: bnx2fc: Fix typo in comments (Nilesh Javali) [2109895] - scsi: qedf: Populate sysfs attributes for vport (Nilesh Javali) [2120219] - scsi: qedf: Fix typo in comment (Nilesh Javali) [2109893] - scsi: qedf: Remove redundant variable op (Nilesh Javali) [2109893] - scsi: qedf: Remove an unneeded NULL check on list iterator (Nilesh Javali) [2109893] - scsi: qedf: Remove unnecessary code (Nilesh Javali) [2109893] - s390/sclp: reserve memory occupied by sclp early buffer (Mete Durlu) [2060830] - s390: make command line configurable (Mete Durlu) [2060830] - s390: support command lines longer than 896 bytes (Mete Durlu) [2060830] - s390/kexec_file: move kernel image size check (Mete Durlu) [2060830] - s390/boot: move sclp early buffer from fixed address in asm to C (Mete Durlu) [2060830] - drivers/base: Fix unsigned comparison to -1 in CPUMAP_FILE_MAX_BYTES (Phil Auld) [2115518] - sched/core: Do not requeue task on CPU excluded from cpus_mask (Phil Auld) [2115518] - workqueue: Avoid a false warning in unbind_workers() (Phil Auld) [2115518] - sched/core: Always flush pending blk_plug (Phil Auld) [2115518] - sched/fair: fix case with reduced capacity CPU (Phil Auld) [2115518] - sched: Remove unused function group_first_cpu() (Phil Auld) [2115518] - sched/fair: Remove redundant word " *" (Phil Auld) [2115518] - sched: only perform capability check on privileged operation (Phil Auld) [2115518] - sched: Allow newidle balancing to bail out of load_balance (Phil Auld) [2115518] - sched: Remove the limitation of WF_ON_CPU on wakelist if wakee cpu is idle (Phil Auld) [2115518] - sched: Fix the check of nr_running at queue wakelist (Phil Auld) [2115518] - sched: Fix balance_push() vs __sched_setscheduler() (Phil Auld) [2115518] - sched/fair: Optimize and simplify rq leaf_cfs_rq_list (Phil Auld) [2115518] - topology: Remove unused cpu_cluster_mask() (Phil Auld) [2115518] - sched: Update task_tick_numa to ignore tasks without an mm (Phil Auld) [2115518] - sched/deadline: Remove superfluous rq clock update in push_dl_task() (Phil Auld) [2115518] - time/sched_clock: Fix formatting of frequency reporting code (Phil Auld) [2115518] - time/sched_clock: Use Hz as the unit for clock rate reporting below 4kHz (Phil Auld) [2115518] - time/sched_clock: Round the frequency reported to nearest rather than down (Phil Auld) [2115518] - sched/fair: Delete useless condition in tg_unthrottle_up() (Phil Auld) [2115518] - sched/fair: Fix cfs_rq_clock_pelt() for throttled cfs_rq (Phil Auld) [2115518] - workqueue: Restrict kworker in the offline CPU pool running on housekeeping CPUs (Phil Auld) [2115518] - kernel/sched: Remove dl_boosted flag comment (Phil Auld) [2115518] - workqueue: Remove schedule() in unbind_workers() (Phil Auld) [2115518] - workqueue: Remove outdated comment about exceptional workers in unbind_workers() (Phil Auld) [2115518] - workqueue: Remove the advanced kicking of the idle workers in rebind_workers() (Phil Auld) [2115518] - workqueue: Fix unbind_workers() VS wq_worker_running() race (Phil Auld) [2115518] - sched/membarrier: fix missing local execution of ipi_sync_rq_state() (Phil Auld) [2115518] - kthread: Move prio/affinite change into the newly created thread (Phil Auld) [2115518]- dmaengine: idxd: Correct IAX operation code names (Jerry Snitselaar) [2112121] - dmaengine: dmatest: use strscpy to replace strlcpy (Jerry Snitselaar) [2112121] - dmaengine: remove DMA_MEMCPY_SG once again (Jerry Snitselaar) [2112121] - MAINTAINERS: idxd driver maintainer update (Jerry Snitselaar) [2112121] - dmaengine: dmatest: Replace symbolic permissions by octal permissions (Jerry Snitselaar) [2112121] - dmaengine: dmatest: Remove spaces before tabs (Jerry Snitselaar) [2112121] - dma:dw: remove reference to AVR32 architecture in core.c (Jerry Snitselaar) [2112121] - dmaengine: idxd: Only call idxd_enable_system_pasid() if succeeded in enabling SVA feature (Jerry Snitselaar) [2112121] - dmaengine: idxd: force wq context cleanup on device disable path (Jerry Snitselaar) [2112121] - dmaengine: Revert "dmaengine: add verification of DMA_INTERRUPT capability for dmatest" (Jerry Snitselaar) [2112121] - dmaengine: idxd: Separate user and kernel pasid enabling (Jerry Snitselaar) [2112121] - dmaengine: ptdma: statify pt_tx_status (Jerry Snitselaar) [2112121] - dmaengine: hidma: In hidma_prep_dma_memset treat value as a single byte (Jerry Snitselaar) [2112121] - dmaengine: Document dmaengine_prep_dma_memset (Jerry Snitselaar) [2112121] - dmaengine: PTDMA: support polled mode (Jerry Snitselaar) [2112121] - dmaengine: Remove a useless mutex (Jerry Snitselaar) [2112121] - dmaengine: idxd: update IAA definitions for user header (Jerry Snitselaar) [2112121] - dmaengine: Clarify cyclic transfer residue documentation (Jerry Snitselaar) [2112121] - dmaengine: qcom_hidma: Remove useless DMA-32 fallback configuration (Jerry Snitselaar) [2112121] - dmaengine: iot: Remove useless DMA-32 fallback configuration (Jerry Snitselaar) [2112121] - dmaengine: ioatdma: use default_groups in kobj_type (Jerry Snitselaar) [2112121] - Documentation: dmaengine: Correctly describe dmatest with channel unset (Jerry Snitselaar) [2112121] - Documentation: dmaengine: Add a description of what dmatest does (Jerry Snitselaar) [2112121] - dmaengine: Add core function and capability check for DMA_MEMCPY_SG (Jerry Snitselaar) [2112121] - dmaengine: Add documentation for new memcpy scatter-gather function (Jerry Snitselaar) [2112121] - dmaengine: remove slave_id config field (Jerry Snitselaar) [2112121] - dmaengine: ioat: switch from 'pci_' to 'dma_' API (Jerry Snitselaar) [2112121] - dmaengine: hsu: switch from 'pci_' to 'dma_' API (Jerry Snitselaar) [2112121] - dmaengine: dw: switch from 'pci_' to 'dma_' API (Jerry Snitselaar) [2112121] - dmaengine: remove debugfs #ifdef (Jerry Snitselaar) [2112121] - dmaengine: dmaengine_desc_callback_valid(): Check for `callback_result` (Jerry Snitselaar) [2112121] - dmaengine: Remove redundant initialization of variable err (Jerry Snitselaar) [2112121] - dmaengine: Extend the dma_slave_width for 128 bytes (Jerry Snitselaar) [2112121] - dmaengine: ioat: depends on !UML (Jerry Snitselaar) [2112121] - dmaengine: dw: Simplify DT property parser (Jerry Snitselaar) [2112121] - dmaengine: dw: Convert members to u32 in platform data (Jerry Snitselaar) [2112121] - dmaengine: dw: Remove error message from DT parsing code (Jerry Snitselaar) [2112121] - dmaengine: of-dma: router_xlate to return -EPROBE_DEFER if controller is not yet available (Jerry Snitselaar) [2112121] - dmaengine: hsu: Account transferred bytes (Jerry Snitselaar) [2112121] - dmaengine: Move kdoc description of struct dma_chan_percpu closer to it (Jerry Snitselaar) [2112121] - dmaengine: QCOM_HIDMA_MGMT depends on HAS_IOMEM (Jerry Snitselaar) [2112121] - dmaengine: qcom_hidma: comment platform_driver_register call (Jerry Snitselaar) [2112121] - dmaengine: qcom_hidma: remove unused code (Jerry Snitselaar) [2112121] - dmaengine: Fix a double free in dma_async_device_register (Jerry Snitselaar) [2112121] - dmaengine: hsu: disable spurious interrupt (Jerry Snitselaar) [2112121] - dmaengine: Extend the dmaengine_alignment for 128 and 256 bytes (Jerry Snitselaar) [2112121] - dmaengine: dmatest: Use dmaengine_get_dma_device (Jerry Snitselaar) [2112121] - dmaengine: doc: client: Update for dmaengine_get_dma_device() usage (Jerry Snitselaar) [2112121] - dmaengine: Add support for per channel coherency handling (Jerry Snitselaar) [2112121] - dmaengine: of-dma: Add support for optional router configuration callback (Jerry Snitselaar) [2112121] - dmaengine: add peripheral configuration (Jerry Snitselaar) [2112121] - dmaengine: idma64: Switch to use __maybe_unused instead of ifdeffery (Jerry Snitselaar) [2112121] - dmaengine: ioatdma: remove unused function missed during dma_v2 removal (Jerry Snitselaar) [2112121] - dmaengine: Save few bytes and increase readability of dma_request_chan() (Jerry Snitselaar) [2112121] - dmaengine: of-dma: Fix of_dma_router_xlate's of_dma_xlate handling (Jerry Snitselaar) [2112121] - dmaengine: dw: Don't include unneeded header to platform data header (Jerry Snitselaar) [2112121] - dmaengine: linux/dmaengine.h: drop duplicated word in a comment (Jerry Snitselaar) [2112121] - dmaengine: ioat: Fix some parameter misspelling and provide description for phys_complete (Jerry Snitselaar) [2112121] - dmaengine: of-dma: Fix misspellings/formatting issues in some function headers (Jerry Snitselaar) [2112121] - Documentation/driver-api: dmaengine/provider: drop doubled word (Jerry Snitselaar) [2112121] - dmaengine: Add support for repeating transactions (Jerry Snitselaar) [2112121] - dmaengine: qcom_hidma: use true,false for bool variable (Jerry Snitselaar) [2112121] - dmaengine: qcom_hidma: Simplify error handling path in hidma_probe (Jerry Snitselaar) [2112121] - dmaengine: Fix misspelling of "Analog Devices" (Jerry Snitselaar) [2112121] - docs: dmaengine: provider.rst: get rid of some warnings (Jerry Snitselaar) [2112121] - dmaengine: doc: fix warnings/issues of client.rst (Jerry Snitselaar) [2112121] - dmaengine: doc: Properly indent metadata title (Jerry Snitselaar) [2112121] - dmaengine: doc: Add sections for per descriptor metadata support (Jerry Snitselaar) [2112121] - dmaengine: Fix Kconfig indentation (Jerry Snitselaar) [2112121] - dmaengine: qcom: hidma_mgmt: Add of_node_put() before goto (Jerry Snitselaar) [2112121] - dmaengine: Remove dev_err() usage after platform_get_irq() (Jerry Snitselaar) [2112121] - dmaengine: qcom_hidma: Remove call to memset after dmam_alloc_coherent (Jerry Snitselaar) [2112121] - Documentation: dmaengine: clean up description of dmatest usage (Jerry Snitselaar) [2112121] - dmaengine: hsu: Revert "set HSU_CH_MTSR to memory width" (Jerry Snitselaar) [2112121] - dmaengine: qcom: hidma: no need to check return value of debugfs_create functions (Jerry Snitselaar) [2112121] - dmaengine: qcom_hidma: assign channel cookie correctly (Jerry Snitselaar) [2112121] - dmaengine: qcom_hidma: initialize tx flags in hidma_prep_dma_* (Jerry Snitselaar) [2112121] - dmaengine: qcom_hidma: convert to DEFINE_SHOW_ATTRIBUTE (Jerry Snitselaar) [2112121] - dmaengine: Documentation: Add documentation for multi chan testing (Jerry Snitselaar) [2112121] - dmaengine: hsu: remove dma_slave_config direction usage (Jerry Snitselaar) [2112121] - dmaengine: hsu: Support dmaengine_terminate_sync() (Jerry Snitselaar) [2112121] - scsi: core: Allow the ALUA transitioning state enough time (Tomas Henzl) [2084250] - scsi: core: Return BLK_STS_TRANSPORT for ALUA transitioning (Tomas Henzl) [2084250] - macvlan: enforce a consistent minimal mtu (Davide Caratti) [2134032] - ipvlan: Fix out-of-bound bugs caused by unset skb->mac_header (Davide Caratti) [2134032] - net: ipvtap - add __init/__exit annotations to module init/exit funcs (Davide Caratti) [2134032] - tunnels: do not assume mac header is set in skb_tunnel_check_pmtu() (Guillaume Nault) [2134099] - erspan: do not assume transport header is always set (Guillaume Nault) [2134099] - net: ip_gre: do not report erspan_ver for gre or gretap (Guillaume Nault) [2134099] - selftests: Fix the if conditions of in test_extra_filter() (Hangbin Liu) [2135232] - selftests: forwarding: add shebang for sch_red.sh (Hangbin Liu) [2135232] - selftests: forwarding: fix error message in learning_test (Hangbin Liu) [2135232] - selftests/net: pass ipv6_args to udpgso_bench's IPv6 TCP test (Hangbin Liu) [2135232] - ping: remove pr_err from ping_lookup (Guillaume Nault) [2135424] - ping: fix the dif and sdif check in ping_lookup (Guillaume Nault) [2135424] - ping: fix the sk_bound_dev_if match in ping_lookup (Guillaume Nault) [2135424] - tcp/udp: Call inet6_destroy_sock() in IPv6 sk->sk_destruct(). (Hangbin Liu) [2135259] - udp: Call inet6_destroy_sock() in setsockopt(IPV6_ADDRFORM). (Hangbin Liu) [2135259] - tcp/udp: Fix memory leak in ipv6_renew_options(). (Hangbin Liu) [2135259] - ipv6: sr: fix out-of-bounds read when setting HMAC data. (Hangbin Liu) [2135259] - ipv6: do not use RT_TOS for IPv6 flowlabel (Hangbin Liu) [2135259] - ipv6/sit: fix ipip6_tunnel_get_prl return value (Hangbin Liu) [2135259] - sit: use min (Hangbin Liu) [2135259] - net: ipv6: unexport __init-annotated seg6_hmac_init() (Hangbin Liu) [2135259] - sit: do not call ipip6_dev_free() from sit_init_net() (Hangbin Liu) [2135259] - block: avoid sign extend problem with default queue flags mask (Nico Pache) [2131929] - mm/hwpoison: do not lock page again when me_huge_page() successfully recovers (Aristeu Rozanski) [2110292] - crypto: ccp - Remove the unneeded result variable (Vladis Dronov) [2130195] - crypto: ccp - Release dma channels before dmaengine unrgister (Vladis Dronov) [2130195] - crypto: ccp - Fail the PSP initialization when writing psp data file failed (Vladis Dronov) [2130195] - crypto: ccp - Initialize PSP when reading psp data file failed (Vladis Dronov) [2130195] - crypto: ccp - Add a quirk to firmware update (Vladis Dronov) [2130195] - crypto: ccp - Add support for new CCP/PSP device ID (Vladis Dronov) [2130195] - crypto: ccp - During shutdown, check SEV data pointer before using (Vladis Dronov) [2130195] - crypto: ccp - Fix device IRQ counting by using platform_irq_count() (Vladis Dronov) [2130195] - crypto: ccp - fix typo in comment (Vladis Dronov) [2130195] - crypto: ccp - Use kzalloc for sev ioctl interfaces to prevent kernel memory leak (Vladis Dronov) [2130195] - crypto: ccp - Fix the INIT_EX data file open failure (Vladis Dronov) [2130195] - crypto: ccp - Log when resetting PSP SEV state (Vladis Dronov) [2130195] - crypto: ccp - When TSME and SME both detected notify user (Vladis Dronov) [2130195] - crypto: ccp - Allow PSP driver to load without SEV/TEE support (Vladis Dronov) [2130195] - crypto: ccp - Export PSP security bits to userspace (Vladis Dronov) [2130195] - crypto: ccp - cache capability into psp device (Vladis Dronov) [2130195] - PCI: Add support for dev_groups to struct pci_driver (Vladis Dronov) [2130195] - ACPI: processor idle: Practically limit "Dummy wait" workaround to old Intel systems (Wei Huang) [2130653] - blk-mq: fix io hung due to missing commit_rqs (Ming Lei) [2130028] - block: schedule queue restart after BLK_STS_ZONE_RESOURCE (Ming Lei) [2130028] - blk-mq: call commit_rqs while list empty but error happen (Ming Lei) [2130028] - null_blk: fix ida error handling in null_add_dev() (Ming Lei) [2130028] - blktrace: Trace remapped requests correctly (Ming Lei) [2130028] - virtio_blk: fix the discard_granularity and discard_alignment queue limits (Ming Lei) [2130028] - block: fix bio_clone_blkg_association() to associate with proper blkcg_gq (Ming Lei) [2130028] - blk-mq: do not update io_ticks with passthrough requests (Ming Lei) [2130028] - blk-mq: don't touch ->tagset in blk_mq_get_sq_hctx (Ming Lei) [2130028] - ipmi:ipmb: Fix refcount leak in ipmi_ipmb_probe (Tony Camuso) [2130238] - ipmi: remove unnecessary type castings (Tony Camuso) [2130238] - ipmi: Make two logs unique (Tony Camuso) [2130238] - ipmi:si: Convert pr_debug() to dev_dbg() (Tony Camuso) [2130238] - ipmi: Convert pr_debug() to dev_dbg() (Tony Camuso) [2130238] - ipmi: Fix pr_fmt to avoid compilation issues (Tony Camuso) [2130238] - ipmi: Add an intializer for ipmi_recv_msg struct (Tony Camuso) [2130238] - ipmi: Add an intializer for ipmi_smi_msg struct (Tony Camuso) [2130238] - ipmi:ssif: Check for NULL msg when handling events and messages (Tony Camuso) [2130238] - ipmi: use simple i2c probe function (Tony Camuso) [2130238] - ipmi: Add a sysfs count of total outstanding messages for an interface (Tony Camuso) [2130238] - ipmi: Add a sysfs interface to view the number of users (Tony Camuso) [2130238] - ipmi: Limit the number of message a user may have outstanding (Tony Camuso) [2130238] - ipmi: Add a limit on the number of users that may use IPMI (Tony Camuso) [2130238] - ipmi:ipmi_ipmb: Fix null-ptr-deref in ipmi_unregister_smi() (Tony Camuso) [2130238] - ipmi: When handling send message responses, don't process the message (Tony Camuso) [2130238] - ipmi: fix IPMI_SMI_MSG_TYPE_IPMB_DIRECT response length checking (Tony Camuso) [2130238] - ipmi: fix oob access due to uninit smi_msg type (Tony Camuso) [2130238] - ipmi: Make kABI adjustments (Tony Camuso) [2130238] - ipmi: Add support for IPMB direct messages (Tony Camuso) [2130238] - ice: Fix crash by keep old cfg when update TCs more than queues (Petr Oros) [2129902] - ice: Fix tunnel checksum offload with fragmented traffic (Petr Oros) [2129902] - ice: handle E822 generic device ID in PLDM header (Petr Oros) [2129902] - ice: ethtool: Prohibit improper channel config for DCB (Petr Oros) [2129902] - ice: ethtool: advertise 1000M speeds properly (Petr Oros) [2129902] - ice: Fix switchdev rules book keeping (Petr Oros) [2129902] - ice: fix access-beyond-end in the switch code (Petr Oros) [2129902] - eth: ice: silence the GCC 12 array-bounds warning (Petr Oros) [2129902] - ice: Expose RSS indirection tables for queue groups via ethtool (Petr Oros) [2129902] - Revert "ice: Hide bus-info in ethtool for PRs in switchdev mode" (Petr Oros) [2129902] - ice: remove period on argument description in ice_for_each_vf (Petr Oros) [2129902] - ice: add a function comment for ice_cfg_mac_antispoof (Petr Oros) [2129902] - ice: fix wording in comment for ice_reset_vf (Petr Oros) [2129902] - ice: remove return value comment for ice_reset_all_vfs (Petr Oros) [2129902] - ice: always check VF VSI pointer values (Petr Oros) [2129902] - ice: add newline to dev_dbg in ice_vf_fdir_dump_info (Petr Oros) [2129902] - ice: get switch id on switchdev devices (Petr Oros) [2129902] - ice: return ENOSPC when exceeding ICE_MAX_CHAIN_WORDS (Petr Oros) [2129902] - ice: introduce common helper for retrieving VSI by vsi_num (Petr Oros) [2129902] - ice: use min_t() to make code cleaner in ice_gnss (Petr Oros) [2129902] - ice: Add mpls+tso support (Petr Oros) [2129902] - ice: switch: convert packet template match code to rodata (Petr Oros) [2129902] - ice: switch: use convenience macros to declare dummy pkt templates (Petr Oros) [2129902] - ice: switch: use a struct to pass packet template params (Petr Oros) [2129902] - ice: switch: unobscurify bitops loop in ice_fill_adv_dummy_packet() (Petr Oros) [2129902] - ice: switch: add and use u16[] aliases to ice_adv_lkup_elem::{h, m}_u (Petr Oros) [2129902] - ice: Support GTP-U and GTP-C offload in switchdev (Petr Oros) [2129902] - ice: Remove useless DMA-32 fallback configuration (Petr Oros) [2129902] - ice: switch to napi_build_skb() (Petr Oros) [2129902] - nbd: fix race between nbd_alloc_config() and module removal (Ming Lei) [2127601] - nbd: call genl_unregister_family() first in nbd_cleanup() (Ming Lei) [2127601] - kselftests: memcg: speed up the memory.high test (Waiman Long) [1839057] - tools/testing/selftests/cgroup/cgroup_util.c: cg_read_strcmp: fix null pointer dereference (Waiman Long) [1839057] - kselftest/cgroup: fix incorrect test_core skip (Waiman Long) [1839057] - kselftest/cgroup: fix unexpected testing failure on test_core (Waiman Long) [1839057] - selftests: cgroup: fix cleanup path in test_memcg_subtree_control() (Waiman Long) [1839057] - cgroup: fix an error handling path in alloc_pagecache_max_30M() (Waiman Long) [1839057] - selftests: memcg: expect no low events in unprotected sibling (Waiman Long) [1839057] - selftests: memcg: fix compilation (Waiman Long) [1839057] - kseltest/cgroup: Make test_stress.sh work if run interactively (Waiman Long) [1839057] - cgroup: fix racy check in alloc_pagecache_max_30M() helper function (Waiman Long) [1839057] - cgroup: remove racy check in test_memcg_sock() (Waiman Long) [1839057] - cgroup: account for memory_localevents in test_memcg_oom_group_leaf_events() (Waiman Long) [1839057] - cgroup: account for memory_recursiveprot in test_memcg_low() (Waiman Long) [1839057] - cgroups: refactor children cgroups in memcg tests (Waiman Long) [1839057] - kselftest/cgroup: fix test_stress.sh to use OUTPUT dir (Waiman Long) [1839057] - selftests: cgroup: add a selftest for memory.reclaim (Waiman Long) [1839057] - selftests: cgroup: fix alloc_anon_noexit() instantly freeing memory (Waiman Long) [1839057] - selftests: cgroup: return -errno from cg_read()/cg_write() on failure (Waiman Long) [1839057] - memcg: introduce per-memcg reclaim interface (Waiman Long) [1839057] - kselftests: memcg: update the oom group leaf events test (Waiman Long) [1839057] - mm/memcontrol: return 1 from cgroup.memory __setup() handler (Waiman Long) [1839057] - memcg: synchronously enforce memory.high for large overcharges (Waiman Long) [1839057] - selftests: memcg: test high limit for single entry allocation (Waiman Long) [1839057] - memcg: unify force charging conditions (Waiman Long) [1839057] - memcg: refactor mem_cgroup_oom (Waiman Long) [1839057] - memcg: prohibit unconditional exceeding the limit of dying tasks (Waiman Long) [1839057] - mm, oom: do not trigger out_of_memory from the #PF (Waiman Long) [1839057] - mm, oom: pagefault_out_of_memory: don't force global OOM for dying tasks (Waiman Long) [1839057] - mm: memcontrol: fix root_mem_cgroup charging (Waiman Long) [1839057] - tests/cgroup: move cg_wait_for(), cg_prepare_for_wait() (Waiman Long) [1839057] - mm: memcontrol: don't count limit-setting reclaim as memory pressure (Waiman Long) [1839057] - selftests: Uninitialized variable in test_cgcore_proc_migration() (Waiman Long) [1839057] - kselftests: cgroup: Avoid the reuse of fd after it is deallocated (Waiman Long) [1839057] - selftests: cgroup: Run test_core under interfering stress (Waiman Long) [1839057] - selftests: cgroup: Add task migration tests (Waiman Long) [1839057] - selftests: cgroup: Simplify task self migration (Waiman Long) [1839057] - cgroup: kselftest: relax fs_spec checks (Waiman Long) [1839057] - kselftests: cgroup: remove duplicated include from test_freezer.c (Waiman Long) [1839057] - kselftest/cgroup: fix unexpected testing failure on test_memcontrol (Waiman Long) [1839057] - kselftests: cgroup: add freezer controller self-tests (Waiman Long) [1839057] - Add tests for memory.oom.group (Waiman Long) [1839057] - Fix cg_read_strcmp() (Waiman Long) [1839057] - cgroup: kselftests: add test_core to .gitignore (Waiman Long) [1839057] - selftests: cgroup: add gitignore file (Waiman Long) [1839057] - Add cgroup core selftests (Waiman Long) [1839057] - devdax: Fix soft-reservation memory description (Mark Langsdorf) [2122316] - arm64: cacheinfo: Fix incorrect assignment of signed error value to unsigned fw_level (Mark Langsdorf) [2122316] - ACPI: property: Remove default association from integer maximum values (Mark Langsdorf) [2122316] - ACPI: property: Ignore already existing data node tags (Mark Langsdorf) [2122316] - ACPI: property: Fix type detection of unified integer reading functions (Mark Langsdorf) [2122316] - ACPI: processor: Remove freq Qos request for all CPUs (Mark Langsdorf) [2122316] - ACPI: property: Fix error handling in acpi_init_properties() (Mark Langsdorf) [2122316] - ACPI/IORT: Fix build error implicit-function-declaration (Mark Langsdorf) [2122316] - ACPI/PCI: Remove useless NULL pointer checks (Mark Langsdorf) [2122316] - ACPI: property: Read buffer properties as integers (Mark Langsdorf) [2122316] - ACPI: property: Add support for parsing buffer property UUID (Mark Langsdorf) [2122316] - ACPI: property: Unify integer value reading functions (Mark Langsdorf) [2122316] - ACPI: property: Switch node property referencing from ifs to a switch (Mark Langsdorf) [2122316] - ACPI: property: Move property ref argument parsing into a new function (Mark Langsdorf) [2122316] - ACPI: property: Use acpi_object_type consistently in property ref parsing (Mark Langsdorf) [2122316] - ACPI: property: Tie data nodes to acpi handles (Mark Langsdorf) [2122316] - ACPI: property: Return type of acpi_add_nondev_subnodes() should be bool (Mark Langsdorf) [2122316] - ACPI: CPPC: Do not prevent CPPC from working in the future (Mark Langsdorf) [2122316] - ACPI: PM: x86: Print messages regarding LPS0 idle support (Mark Langsdorf) [2122316] - ACPI: PPTT: Leave the table mapped for the runtime usage (Mark Langsdorf) [2122316] - ACPI: resource: skip IRQ override on AMD Zen platforms (Mark Langsdorf) [2122316] - ACPI: irq: Allow acpi_gsi_to_irq() to have an arch-specific fallback (Mark Langsdorf) [2122316] - APCI: irq: Add support for multiple GSI domains (Mark Langsdorf) [2122316] - irqchip/gic: Drop support for secondary GIC in non-DT systems (Mark Langsdorf) [2122316] - ACPI: video: Use native backlight on Dell Inspiron N4010 (Mark Langsdorf) [2122316] - ACPI: PM: s2idle: Use LPS0 idle if ACPI_FADT_LOW_POWER_S0 is unset (Mark Langsdorf) [2122316] - Revert "[acpi] ACPI / PM: LPIT: Register sysfs attributes based on FADT" (Mark Langsdorf) [2122316] - ACPI: utils: Add api to read _SUB from ACPI (Mark Langsdorf) [2122316] - ACPI: video: Shortening quirk list by identifying Clevo by board_name only (Mark Langsdorf) [2122316] - ACPI: video: Force backlight native for some TongFang devices (Mark Langsdorf) [2122316] - PCI/ACPI: Guard ARM64-specific mcfg_quirks (Mark Langsdorf) [2122316] - ACPI/IORT: Add a helper to retrieve RMR info directly (Mark Langsdorf) [2122316] - ACPI/IORT: Add support to retrieve IORT RMR reserved regions (Mark Langsdorf) [2122316] - ACPI/IORT: Provide a generic helper to retrieve reserve regions (Mark Langsdorf) [2122316] - ACPI/IORT: Make iort_iommu_msi_get_resv_regions() return void (Mark Langsdorf) [2122316] - iommu: Introduce a callback to struct iommu_resv_region (Mark Langsdorf) [2122316] - ACPI: PM: s2idle: Add support for upcoming AMD uPEP HID AMDI008 (Mark Langsdorf) [2122316] - ACPI: PPTT: Use table offset as fw_token instead of virtual address (Mark Langsdorf) [2122316] - ACPI: Move PRM config option under the main ACPI config (Mark Langsdorf) [2122316] - ACPI: Enable Platform Runtime Mechanism(PRM) support on ARM64 (Mark Langsdorf) [2122316] - efi: Simplify arch_efi_call_virt() macro (Mark Langsdorf) [2122316] - efi/x86: Avoid redundant cast of EFI firmware service pointer (Mark Langsdorf) [2122316] - efi/libstub: Annotate firmware routines as __efiapi (Mark Langsdorf) [2122316] - ACPI: PRM: Change handler_addr type to void pointer (Mark Langsdorf) [2122316] - ACPI: bus: Drop driver member of struct acpi_device (Mark Langsdorf) [2122316] - ACPI: bus: Drop redundant check in acpi_device_remove() (Mark Langsdorf) [2122316] - ACPI: APEI: Fix _EINJ vs EFI_MEMORY_SP (Mark Langsdorf) [2122316] - ACPI: LPSS: Fix missing check in register_device_clock() (Mark Langsdorf) [2122316] - ACPI: APEI: Better fix to avoid spamming the console with old error logs (Mark Langsdorf) [2122316] - ACPI: PM: save NVS memory for Lenovo G40-45 (Mark Langsdorf) [2122316] - ACPI: EC: Drop unused ident initializers from dmi_system_id tables (Mark Langsdorf) [2122316] - ACPI: EC: Re-use boot_ec when possible even when EC_FLAGS_TRUST_DSDT_GPE is set (Mark Langsdorf) [2122316] - ACPI: EC: Drop the EC_FLAGS_IGNORE_DSDT_GPE quirk (Mark Langsdorf) [2122316] - ACPI: EC: Remove duplicate ThinkPad X1 Carbon 6th entry from DMI quirks (Mark Langsdorf) [2122316] - ACPI: processor: Drop leftover acpi_processor_get_limit_info() declaration (Mark Langsdorf) [2122316] - ACPI: processor: Split out thermal initialization from ACPI PSS (Mark Langsdorf) [2122316] - redhat/configs: move CONFIG_ACPI_VIDEO to common/generic (Mark Langsdorf) [2122316] - ACPI: video: Drop X86 dependency from Kconfig (Mark Langsdorf) [2122316] - ACPI: video: Fix acpi_video_handles_brightness_key_presses() (Mark Langsdorf) [2122316] - ACPI: video: Change how we determine if brightness key-presses are handled (Mark Langsdorf) [2122316] - ACPI / MMC: PM: Unify fixing up device power (Mark Langsdorf) [2122316] - mmc: sdhci-acpi: Use the new soc_intel_is_byt() helper (Mark Langsdorf) [2122316] - mmc: sdhci-acpi: Remove special handling for GPD win/pocket devices (Mark Langsdorf) [2122316] - ACPI: scan: Walk ACPI device's children using driver core (Mark Langsdorf) [2122316] - ACPI: bus: Introduce acpi_dev_for_each_child_reverse() (Mark Langsdorf) [2122316] - ACPI: video: Use acpi_dev_for_each_child() (Mark Langsdorf) [2122316] - ACPI: property: Use acpi_dev_for_each_child() for child lookup (Mark Langsdorf) [2122316] - ACPI: container: Use acpi_dev_for_each_child() (Mark Langsdorf) [2122316] - ACPI: bus: Export acpi_dev_for_each_child() to modules (Mark Langsdorf) [2122316] - ACPI: glue: Introduce acpi_find_child_by_adr() (Mark Langsdorf) [2122316] - ACPI: glue: Introduce acpi_dev_has_children() (Mark Langsdorf) [2122316] - ACPI: glue: Use acpi_dev_for_each_child() (Mark Langsdorf) [2122316] - ACPI: APEI: Fix double word in a comment (Mark Langsdorf) [2122316] - ACPI: processor/idle: Annotate more functions to live in cpuidle section (Mark Langsdorf) [2122316] - ACPI: DPTF: Support Meteor Lake (Mark Langsdorf) [2122316] - ACPI: CPPC: fix typo in comment (Mark Langsdorf) [2122316] - ACPI: video: improve PM notifer callback (Mark Langsdorf) [2122316] - ACPI: utils: include UUID in _DSM evaluation warning (Mark Langsdorf) [2122316] - cpufreq: CPPC: Enable fast_switch (Mark Langsdorf) [2122316] - acpi/nfit: rely on mce->misc to determine poison granularity (Mark Langsdorf) [2122316] - ACPI: PM: Block ASUS B1400CEAE from suspend to idle by default (Mark Langsdorf) [2122316] - ACPI: clean up white space in a few places for consistency (Mark Langsdorf) [2122316] - ACPI: glue: Rearrange find_child_checks() (Mark Langsdorf) [2122316] - ACPI: DPTF: Add support for high frequency impedance notification (Mark Langsdorf) [2122316] - ACPI: processor: idle: Expose max_cstate/nocst/bm_check_disable read-only in sysfs (Mark Langsdorf) [2122316] - ACPI: battery: Make "not-charging" the default on no charging or full info (Mark Langsdorf) [2122316] - PCI/ACPI: negotiate CXL _OSC (Mark Langsdorf) [2122316] - PCI/ACPI: Prefer CXL _OSC instead of PCIe _OSC for CXL host bridges (Mark Langsdorf) [2122316] - PCI/ACPI: add a helper for retrieving _OSC Control DWORDs (Mark Langsdorf) [2122316] - ACPI: bus: Avoid non-ACPI device objects in walks over children (Mark Langsdorf) [2122316] - ACPI: DPTF: Correct description of INT3407 / INT3532 attributes (Mark Langsdorf) [2122316] - ACPI: BGRT: use static for BGRT_SHOW kobj_attribute defines (Mark Langsdorf) [2122316] - ACPI, APEI, EINJ: Refuse to inject into the zero page (Mark Langsdorf) [2122316] - ACPI: PM: Always print final debug message in acpi_device_set_power() (Mark Langsdorf) [2122316] - ACPI: SPCR: Add support for NVIDIA 16550-compatible port subtype (Mark Langsdorf) [2122316] - ACPI: APEI: Fix missing ERST record id (Mark Langsdorf) [2122316] - ACPICA: Update version to 20220331 (Mark Langsdorf) [2122316] - ACPICA: IORT: Updates for revision E.d (Mark Langsdorf) [2122316] - ACPICA: iASL/MADT: Add OEM-defined subtable (Mark Langsdorf) [2122316] - ACPICA: Add support for ARM Performance Monitoring Unit Table. (Mark Langsdorf) [2122316] - ACPICA: Headers: Replace zero-length array with flexible-array member (Mark Langsdorf) [2122316] - ACPICA: Removed some tabs and // comments (Mark Langsdorf) [2122316] - ACPICA: Update copyright notices to the year 2022 (Mark Langsdorf) [2122316] - ACPICA: Clean up double word in comment (Mark Langsdorf) [2122316] - ACPICA: Add new ACPI 6.4 semantics for LoadTable() operator (Mark Langsdorf) [2122316] - ACPICA: Add new ACPI 6.4 semantics to the Load() operator (Mark Langsdorf) [2122316] - ACPICA: iASL: NHLT: Rename linux specific strucures to device_info (Mark Langsdorf) [2122316] - ACPICA: iASL: NHLT: Fix parsing undocumented bytes at the end of Endpoint Descriptor (Mark Langsdorf) [2122316] - ACPICA: iASL: NHLT: Treat Terminator as specific_config (Mark Langsdorf) [2122316] - ACPICA: Add the subtable CFMWS to the CEDT table (Mark Langsdorf) [2122316] - ACPICA: Add support for the Windows 11 _OSI string (Mark Langsdorf) [2122316] - ACPI: sysfs: Fix BERT error region memory mapping (Mark Langsdorf) [2122316] - ACPI: property: Release subnode properties with data nodes (Mark Langsdorf) [2122316] - PCI: ACPI: PM: Power up devices in D3cold before scanning them (Mark Langsdorf) [2122316] - ACPI: PM: Introduce acpi_dev_power_up_children_with_adr() (Mark Langsdorf) [2122316] - ACPI: bus: Introduce acpi_dev_for_each_child() (Mark Langsdorf) [2122316] - ACPI: PM: Unify debug messages in acpi_device_set_power() (Mark Langsdorf) [2122316] - ACPI: PM: Convert debug message in acpi_device_get_power() (Mark Langsdorf) [2122316] - device property: Add irq_get to fwnode operation (Mark Langsdorf) [2122316] - device property: Add iomap to fwnode operations (Mark Langsdorf) [2122316] - ACPI: property: Move acpi_fwnode_device_get_match_data() up (Mark Langsdorf) [2122316] - device property: Convert device_{dma_supported,get_dma_attr} to fwnode (Mark Langsdorf) [2122316] - ACPI: Add perf low power callback (Mark Langsdorf) [2122316] - s390: fix double free of GS and RI CBs on fork() failure (Brian Foster) [1944540] - wifi: iwlwifi: mvm: fix double list_add at iwl_mvm_mac_wake_tx_queue (other cases) (Jose Ignacio Tornos Martinez) [2086480] - wifi: iwlwifi: mvm: fix double list_add at iwl_mvm_mac_wake_tx_queue (Jose Ignacio Tornos Martinez) [2086480]- crypto: ecdh - disallow plain "ecdh" usage in FIPS mode (Vladis Dronov) [2129392] - crypto: dh - disallow plain "dh" usage in FIPS mode (Vladis Dronov) [2129392] - x86/cpu: Add new Raptor Lake CPU model number (Prarit Bhargava) [2120361] - mm, oom: fix missing tlb_finish_mmu() in __oom_reap_task_mm(). (Waiman Long) [2130954] - net: atlantic: remove aq_nic_deinit() when resume (Íñigo Huguet) [2130839] - net: atlantic: remove deep parameter on suspend/resume functions (Íñigo Huguet) [2130839] - efi: Allow EFI_MEMORY_XP and EFI_MEMORY_RO both to be cleared (Lenny Szubowicz) [2128172] - bonding: 3ad: make ad_ticks_per_sec a const (Jonathan Toppins) [2020773] - bonding: 802.3ad: fix no transmission of LACPDUs (Jonathan Toppins) [2020773] - redhat: workaround CKI cross compilation for scripts (Jan Stancek) [2123399] - nohz/full, sched/rt: Fix missed tick-reenabling bug in dequeue_task_rt() (Phil Auld) [2107238] - gfs2: Make sure FITRIM minlen is rounded up to fs block size (Andrew Price) [2118256] - ceph: don't truncate file in atomic_open (Xiubo Li) [2120924] - of: address: Work around missing device_type property in pcie nodes (Jerry Snitselaar) [2118732] - dma-mapping: introduce DMA range map, supplanting dma_pfn_offset (Jerry Snitselaar) [2118732] - of/address: check for invalid range.cpu_addr (Jerry Snitselaar) [2118732] - of: address: Fix parser address/size cells initialization (Jerry Snitselaar) [2118732] - of_address: Guard of_bus_pci_get_flags with CONFIG_PCI (Jerry Snitselaar) [2118732] - of_address: Add bus type match for pci ranges parser (Jerry Snitselaar) [2118732] - of/address: Support multiple 'dma-ranges' entries (Jerry Snitselaar) [2118732] - of/address: use range parser for of_dma_get_range (Jerry Snitselaar) [2118732] - of/address: Rework of_pci_range parsing for non-PCI buses (Jerry Snitselaar) [2118732] - of: Drop struct of_pci_range.pci_space field (Jerry Snitselaar) [2118732] - of/address: Move range parser code out of CONFIG_PCI (Jerry Snitselaar) [2118732] - of: Make of_dma_get_range() work on bus nodes (Jerry Snitselaar) [2118732] - Revert "arm64: dts: juno: add dma-ranges property" (Jerry Snitselaar) [2118732] - of/address: Fix of_pci_range_parser_one translation of DMA addresses (Jerry Snitselaar) [2118732] - of/address: Translate 'dma-ranges' for parent nodes missing 'dma-ranges' (Jerry Snitselaar) [2118732] - of: address: Follow DMA parent for "dma-coherent" (Jerry Snitselaar) [2118732] - of: Factor out #{addr,size}-cells parsing (Jerry Snitselaar) [2118732] - of/address: Introduce of_get_next_dma_parent() helper (Jerry Snitselaar) [2118732] - of: address: Report of_dma_get_range() errors meaningfully (Jerry Snitselaar) [2118732] - of: address: Add support for the parent DMA bus (Jerry Snitselaar) [2118732] - of: address: Retrieve a parent through a callback in __of_translate_address (Jerry Snitselaar) [2118732] - of: reserved_mem: fix reserve memory leak (Jerry Snitselaar) [2118732] - of: Use device_type helpers to access the node type (Jerry Snitselaar) [2118732] - of: make PowerMac cache node search conditional on CONFIG_PPC_PMAC (Jerry Snitselaar) [2118732]- crypto: qat - add limit to linked list parsing (Vladis Dronov) [2129897] - crypto: qat - use reference to structure in dma_map_single() (Vladis Dronov) [2129897] - Revert "crypto: qat - reduce size of mapped region" (Vladis Dronov) [2129897] - crypto: qat - fix DMA transfer direction (Vladis Dronov) [2129897] - crypto: qat - fix default value of WDT timer (Vladis Dronov) [2129897] - crypto: drivers - move from strlcpy with unused retval to strscpy (Vladis Dronov) [2129897] - crypto: qat - add check to validate firmware images (Vladis Dronov) [2129897] - Documentation: qat: rewrite description (Vladis Dronov) [2129897] - Documentation: qat: Use code block for qat sysfs example (Vladis Dronov) [2129897] - KVM: x86: Inject #UD on emulated XSETBV if XSAVES isn't enabled (Dr. David Alan Gilbert) [2079311] - KVM: x86: Always enable legacy FP/SSE in allowed user XFEATURES (Dr. David Alan Gilbert) [2079311] - KVM: x86: Reinstate kvm_vcpu_arch.guest_supported_xcr0 (Dr. David Alan Gilbert) [2079311] - bonding: fix NULL deref in bond_rr_gen_slave_id (Jonathan Toppins) [2051778] - tty: use new tty_insert_flip_string_and_push_buffer() in pty_write() (Rafael Aquini) [2078869] {CVE-2022-1462} - tty: extract tty_flip_buffer_commit() from tty_flip_buffer_push() (Rafael Aquini) [2078869] {CVE-2022-1462} - tty: drop tty_schedule_flip() (Rafael Aquini) [2078869] {CVE-2022-1462} - tty: the rest, stop using tty_schedule_flip() (Rafael Aquini) [2078869] {CVE-2022-1462} - tty: drivers/tty/, stop using tty_schedule_flip() (Rafael Aquini) [2078869] {CVE-2022-1462} - vt: keyboard, use tty_insert_flip_string in puts_queue (Rafael Aquini) [2078869] {CVE-2022-1462} - vt: use tty_insert_flip_string in respond_string (Rafael Aquini) [2078869] {CVE-2022-1462}- intel_th: pci: Add Raptor Lake-S CPU support (Michael Petlan) [2040035] - intel_th: pci: Add Raptor Lake-S PCH support (Michael Petlan) [2040035] - virtio-net: support XDP when not more queues (Eugenio Pérez) [2122225] - virtio_net: Don't process redirected XDP frames when XDP is disabled (Eugenio Pérez) [2122225] - virtio_net: Fix not restoring real_num_rx_queues (Eugenio Pérez) [2122225] - x86,config: Enable straight-line-speculation fix (Wander Lairson Costa) [2062175] {CVE-2021-26341} - x86/alternative: Relax text_poke_bp() constraint (Wander Lairson Costa) [2062175] {CVE-2021-26341} - perf/x86: Add support for perf text poke event for text_poke_bp_batch() callers (Wander Lairson Costa) [2062175] {CVE-2021-26341} - objtool: Add straight-line-speculation validation (Wander Lairson Costa) [2062175] {CVE-2021-26341} - objtool: Support conditional retpolines (Wander Lairson Costa) [2062175] {CVE-2021-26341} - objtool: Refactor sibling call detection logic (Wander Lairson Costa) [2062175] {CVE-2021-26341} - objtool: Change dead_end_function() to return boolean (Wander Lairson Costa) [2062175] {CVE-2021-26341} - x86/lib/atomic64_386_32: Rename things (Wander Lairson Costa) [2062175] {CVE-2021-26341} - KVM: arm64: Fix debug architecture version (Gavin Shan) [2123587] - thunderbolt: Add support for Intel Raptor Lake (Torez Smith) [2040037] - iommu/vt-d: Fix compile error with CONFIG_PCI_ATS not set (Myron Stowe) [2118428 2122515 2127028] - iommu/vt-d: Cure VF irqdomain hickup (Myron Stowe) [2118428 2122515 2127028] - x86/pci: Set default irq domain in pcibios_add_device() (Myron Stowe) [2118428 2122515 2127028] - iommm/amd: Store irq domain in struct device (Myron Stowe) [2118428 2122515 2127028] - iommm/vt-d: Store irq domain in struct device (Myron Stowe) [2118428 2122515 2127028] - PCI/MSI: Provide pci_dev_has_special_msi_domain() helper (Myron Stowe) [2118428 2122515 2127028] - x86/msi: Consolidate MSI allocation (Myron Stowe) [2118428 2122515 2127028] - PCI/MSI: Rework pci_msi_domain_calc_hwirq() (Myron Stowe) [2118428 2122515 2127028] - x86/irq: Consolidate UV domain allocation (Myron Stowe) [2118428 2122515 2127028] - x86/irq: Consolidate DMAR irq allocation (Myron Stowe) [2118428 2122515 2127028] - x86_ioapic_Consolidate_IOAPIC_allocation (Myron Stowe) [2118428 2122515 2127028] - x86/msi: Consolidate HPET allocation (Myron Stowe) [2118428 2122515 2127028] - iommu/irq_remapping: Consolidate irq domain lookup (Myron Stowe) [2118428 2122515 2127028] - iommu/amd: Consolidate irq domain getter (Myron Stowe) [2118428 2122515 2127028] - iommu/vt-d: Consolidate irq domain getter (Myron Stowe) [2118428 2122515 2127028] - x86/irq: Add allocation type for parent domain retrieval (Myron Stowe) [2118428 2122515 2127028] - irqdomain: Export irq_domain_update_bus_token (Myron Stowe) [2118428 2122515 2127028] - perf/x86/intel: Update the FRONTEND MSR mask on Sapphire Rapids (Michael Petlan) [2125349] - perf/x86/intel/uncore: Fix invalid unit check (Michael Petlan) [2125349]- KVM: s390: pv: don't present the ecall interrupt twice (Tobias Huschle) [2125236] - s390/mm: do not trigger write fault when vma does not allow VM_WRITE (Tobias Huschle) [2125218] - PCI: Print a debug message on PCI device release (Tobias Huschle) [2125216] - s390/pci: fix leak of PCI device structure (Tobias Huschle) [2125216] - s390/pci: refactor zpci_create_device() (Tobias Huschle) [2125216] - s390/pci: remove superfluous zdev->zbus check (Tobias Huschle) [2125216] - x86/boot/64: Add missing fixup_pointer() for next_early_pgt access (Rafael Aquini) [2082806] - x86/boot/64: Fix crash if kernel image crosses page table boundary (Rafael Aquini) [2082806] - mm/slab_common: fix possible double free of kmem_cache (Waiman Long) [2093781] - mm/slab_common: Deleting kobject in kmem_cache_destroy() without holding slab_mutex/cpu_hotplug_lock (Waiman Long) [2093781] - mm/slab_common: use WARN() if cache still has objects on destroy (Waiman Long) [2093781] - slab: use __func__ to trace function name (Waiman Long) [2093781] - s390/hugetlb: fix prepare_hugepage_range() check for 2 GB hugepages (Tobias Huschle) [2125215] - platform/x86: intel/pmc: Add Alder Lake N support to PMC core driver (Prarit Bhargava) [2072654] - crash_core: Increase crashkernel=auto size for x86_64, s390 and arm64 (Lichen Liu) [2122874] - virtio-net: fix use-after-free in skb_gro_receive (Cindy Lu) [2069047] - virtio-net: fix use-after-free in page_to_skb() (Cindy Lu) [2069047] - virtio-net: restrict build_skb() use to some arches (Cindy Lu) [2069047] - virtio-net: page_to_skb() use build_skb when there's sufficient tailroom (Cindy Lu) [2069047] - sched/fair: Consider CPU affinity when allowing NUMA imbalance in find_idlest_group() (Phil Auld) [2110020] - sched/numa: Adjust imb_numa_nr to a better approximation of memory channels (Phil Auld) [2110020] - sched/numa: Apply imbalance limitations consistently (Phil Auld) [2110020] - sched/numa: Do not swap tasks between nodes when spare capacity is available (Phil Auld) [2110020] - sched/numa: Initialise numa_migrate_retry (Phil Auld) [2110020] - cpufreq: intel_pstate: Handle no_turbo in frequency invariance (Phil Auld) [2100594] - sched/fair: Introduce SIS_UTIL to search idle CPU based on sum of util_avg (Phil Auld) [2100594] - i2c: piix4: Fix a memory leak in the EFCH MMIO support (Sudheesh Mavila) [2105160] - assoc_array: Fix BUG_ON during garbage collect (Dave Wysochanski) [1920523] - wait: Fix __wait_event_hrtimeout for RT/DL tasks (Derek Barbosa) [2125233]- raid1: ensure write behind bio has less than BIO_MAX_VECS sectors (Nigel Croxon) [2116209] - ceph: fix statfs for subdir mounts (Xiubo Li) [2120943] - ceph: try to queue a writeback if revoking fails (Xiubo Li) [2120940] - ceph: update the auth cap when the async create req is forwarded (Xiubo Li) [2120932] - ceph: make change_auth_cap_ses a global symbol (Xiubo Li) [2120932] - fs/dcache: export d_same_name() helper (Xiubo Li) [2120932] - ceph: wait for the first reply of inflight async unlink (Xiubo Li) [2120932] - redhat: Enable KASAN_VMALLOC (Nico Pache) [2108620] - arm64: select KASAN_VMALLOC for SW/HW_TAGS modes (Nico Pache) [2108620] - x86/crash: Fix crash_setup_memmap_entries() out-of-bounds access (Nico Pache) [2108620] - mm: defer kmemleak object creation of module_alloc() (Nico Pache) [2108620] - arm64: kaslr: keep modules inside module region when KASAN is enabled (Nico Pache) [2108620] - kasan: arm64: fix pcpu_page_first_chunk crash with KASAN_VMALLOC (Nico Pache) [2108620] - arm64: Kconfig: select KASAN_VMALLOC if KANSAN_GENERIC is enabled (Nico Pache) [2108620] - arm64: kaslr: support randomized module area with KASAN_VMALLOC (Nico Pache) [2108620] - arm64: Kconfig: support CONFIG_KASAN_VMALLOC (Nico Pache) [2108620] - arm64: kasan: abstract _text and _end to KERNEL_START/END (Nico Pache) [2108620] - arm64: kasan: don't populate vmalloc area for CONFIG_KASAN_VMALLOC (Nico Pache) [2108620] - x86/kasan: support KASAN_VMALLOC (Nico Pache) [2108620] - ath9k: htc: clean up statistics macros (Jose Ignacio Tornos Martinez) [2084598] {CVE-2022-1679} - ath9k: hif_usb: simplify if-if to if-else (Jose Ignacio Tornos Martinez) [2084598] {CVE-2022-1679} - ath9k: fix use-after-free in ath9k_hif_usb_rx_cb (Jose Ignacio Tornos Martinez) [2084598] {CVE-2022-1679} - igmp: Add ip_mc_list lock in ip_check_mc_rcu (Hangbin Liu) [2114946] {CVE-2022-20141} - scsi: zfcp: Fix missing auto port scan and thus missing target ports (Tobias Huschle) [2121089] - vfio/type1: Unpin zero pages (Alex Williamson) [2123015]- iommu/vt-d: Make DMAR_UNITS_SUPPORTED default 1024 (Jerry Snitselaar) [2120412] - Revert "iommu/vt-d: Make DMAR_UNITS_SUPPORTED a config setting" (Jerry Snitselaar) [2120412] - ptrace: Check PTRACE_O_SUSPEND_SECCOMP permission on PTRACE_SEIZE (Oleg Nesterov) [2121269] {CVE-2022-30594} - redhat: remove unused STAMP variable from genspec.sh (Herton R. Krzesinski) - internal: Update RHEL_MINOR for the start of RHEL-8.8 development (Lucas Zampieri)- EDAC/amd64: Add new register offset support and related changes (Aristeu Rozanski) [2048792] - EDAC/amd64: Set memory type per DIMM (Aristeu Rozanski) [2048792] - Revert "ixgbevf: Mailbox improvements" (Ken Cox) [2120545] - Revert "ixgbevf: Add support for new mailbox communication between PF and VF" (Ken Cox) [2120545] - drm/amdgpu: Only disable prefer_shadow on hawaii (Lyude Paul) [2118755]- redhat: configs: add CONFIG_SERIAL_MULTI_INSTANTIATE=m for x86_64 (Jaroslav Kysela) [2005073] - ACPI: scan: Add CLSA0101 Laptop Support (Jaroslav Kysela) [2005073] - platform/x86: serial-multi-instantiate: Add CLSA0101 Laptop (Jaroslav Kysela) [2005073] - platform/x86: serial-multi-instantiate: Sort ACPI IDs by HID (Jaroslav Kysela) [2005073] - platform/x86: serial-multi-instantiate: Get rid of redundant 'else' (Jaroslav Kysela) [2005073] - platform/x86: serial-multi-instantiate: Use while (i--) pattern to clean up (Jaroslav Kysela) [2005073] - platform/x86: serial-multi-instantiate: Improve dev_err_probe() messaging (Jaroslav Kysela) [2005073] - platform/x86: serial-multi-instantiate: Drop duplicate check (Jaroslav Kysela) [2005073] - platform/x86: serial-multi-instantiate: Improve autodetection (Jaroslav Kysela) [2005073] - ACPI / scan: Create platform device for CS35L41 (Jaroslav Kysela) [2005073] - ACPI: scan: Create platform device for BCM4752 and LNV4752 ACPI nodes (Jaroslav Kysela) [2005073] - platform/x86: serial-multi-instantiate: Add SPI support (Jaroslav Kysela) [2005073] - platform/x86: serial-multi-instantiate: Reorganize I2C functions (Jaroslav Kysela) [2005073] - platform/x86: i2c-multi-instantiate: Rename it for a generic serial driver name (Jaroslav Kysela) [2005073] - platform/x86: i2c-multi-instantiate: Use the new i2c_acpi_client_count() helper (Jaroslav Kysela) [2005073] - platform/x86: i2c-multi-instantiate: Use device_get_match_data() to get driver data (Jaroslav Kysela) [2005073] - platform/x86: i2c-multi-instantiate: Simplify with dev_err_probe() (Jaroslav Kysela) [2005073] - platform/x86: i2c-multi-instantiate: Drop redundant ACPI_PTR() (Jaroslav Kysela) [2005073] - platform/x86: i2c-multi-instantiate: Replace zero-length array with flexible-array member (Jaroslav Kysela) [2005073] - platform/x86: i2c-multi-instantiate: Fail the probe if no IRQ provided (Jaroslav Kysela) [2005073] - platform/x86: i2c-multi-instantiate: Derive the device name from parent (Jaroslav Kysela) [2005073] - platform/x86: i2c-multi-instantiate: Use struct_size() helper (Jaroslav Kysela) [2005073] - platform/x86: i2c-multi-instantiate: Allow to have same slaves (Jaroslav Kysela) [2005073] - platform/x86: i2c-multi-instantiate: Introduce IOAPIC IRQ support (Jaroslav Kysela) [2005073] - platform/x86: i2c-multi-instantiate: Distinguish IRQ resource type (Jaroslav Kysela) [2005073] - platform/x86: i2c-multi-instantiate: Count I2cSerialBus() resources (Jaroslav Kysela) [2005073] - platform/x86: i2c-multi-instantiate: Get rid of obsolete conditional (Jaroslav Kysela) [2005073] - platform/x86: i2c-multi-instantiate: Defer probe when no adapter found (Jaroslav Kysela) [2005073] - platform/x86: i2c-multi-instantiate: Accept errors of i2c_acpi_new_device() (Jaroslav Kysela) [2005073] - serdev: Fix detection of UART devices on Apple machines. (Jaroslav Kysela) [2005073] - serdev: Add ACPI devices by ResourceSource field (Jaroslav Kysela) [2005073] - spi: Return deferred probe error when controller isn't yet available (Jaroslav Kysela) [2005073] - spi/acpi: avoid spurious matches during slave enumeration (Jaroslav Kysela) [2005073] - spi: Add API to count spi acpi resources (Jaroslav Kysela) [2005073] - spi: Support selection of the index of the ACPI Spi Resource before alloc (Jaroslav Kysela) [2005073] - ACPI: Test for ACPI_SUCCESS rather than !ACPI_FAILURE (Jaroslav Kysela) [2005073] - spi/acpi: fix incorrect ACPI parent check (Jaroslav Kysela) [2005073] - spi: Create helper API to lookup ACPI info for spi device (Jaroslav Kysela) [2005073] - spi/acpi: enumerate all SPI slaves in the namespace (Jaroslav Kysela) [2005073] - spi: kill useless initializer in spi_register_controller() (Jaroslav Kysela) [2005073] - spi: fix ctrl->num_chipselect constraint (Jaroslav Kysela) [2005073] - spi: Don't call spi_get_gpio_descs() before device name is set (Jaroslav Kysela) [2005073] - spi: Avoid undefined behaviour when counting unused native CSs (Jaroslav Kysela) [2005073] - spi: Allow to have all native CSs in use along with GPIOs (Jaroslav Kysela) [2005073] - spi: Add missing error handling for CS GPIOs (Jaroslav Kysela) [2005073] - spi: export tracepoint symbols to modules (Jaroslav Kysela) [2005073] - spi: Fix zero length xfer bug (Jaroslav Kysela) [2005073] - spi: Add generic support for unused native cs with cs-gpios (Jaroslav Kysela) [2005073] - spi: Reduce kthread priority (Jaroslav Kysela) [2005073] - spi: core: Use DEVICE_ATTR_RW() for SPI slave control sysfs attribute (Jaroslav Kysela) [2005073] - i2c: acpi: Add an i2c_acpi_client_count() helper function (Jaroslav Kysela) [2005073] - s390/qeth: cache link_info for ethtool (Michal Schmidt) [2117098] - nfp: amend removal of MODULE_VERSION (Stefan Assmann) [1955769] - x86/speculation: Add LFENCE to RSB fill sequence (Waiman Long) [2115080] {CVE-2022-26373} - x86/speculation: Add RSB VM Exit protections (Waiman Long) [2115080] {CVE-2022-26373} - tools headers cpufeatures: Sync with the kernel sources (Waiman Long) [2115080] - tools headers cpufeatures: Sync with the kernel sources (Waiman Long) [2115080] - x86/speculation: Fix RSB filling with CONFIG_RETPOLINE=n (Waiman Long) [2115080] - x86/bugs: Do not enable IBPB at firmware entry when IBPB is not available (Waiman Long) [2115080] - x86/amd: Use IBPB for firmware calls (Waiman Long) [2115080] - x86/bugs: Warn when "ibrs" mitigation is selected on Enhanced IBRS parts (Waiman Long) [2115080] - iavf: Fix reset error handling (Petr Oros) [2119759] - iavf: Fix NULL pointer dereference in iavf_get_link_ksettings (Petr Oros) [2119759] - iavf: Fix adminq error handling (Petr Oros) [2119759] - iavf: Fix missing state logs (Petr Oros) [2119759] - ixgbe: Add locking to prevent panic when setting sriov_numvfs to zero (Ken Cox) [1978613]- netfilter: ipset: fix suspicious RCU usage in find_set_and_id (Florian Westphal) [2118526] - net/mlx5e: Update netdev features after changing XDP state (Amir Tzin) [2049440] - net/mlx5e: CT: Use own workqueue instead of mlx5e priv (Amir Tzin) [2049440] - net/mlx5e: CT: Add ct driver counters (Amir Tzin) [2049440] - net/mlx5e: CT: Fix cleanup of CT before cleanup of TC ct rules (Amir Tzin) [2049440] - net/mlx5e: Align mlx5e_cleanup_uplink_rep_tx() with upstream code. (Amir Tzin) [2049440] - net/mlx5e: Correct the calculation of max channels for rep (Amir Tzin) [2049440] - Documentation: devlink: mlx5.rst: Fix htmldoc build warning (Amir Tzin) [2049440] - net/mlx5: fs, fail conflicting actions (Amir Tzin) [2049440] - net/mlx5: Rearm the FW tracer after each tracer event (Amir Tzin) [2049440] - net/mlx5: correct ECE offset in query qp output (Amir Tzin) [2049440] - net/mlx5e: Disable softirq in mlx5e_activate_rq to avoid race condition (Amir Tzin) [2049440] - net/mlx5e: TC NIC mode, fix tc chains miss table (Amir Tzin) [2049440] - net/mlx5: Don't use already freed action pointer (Amir Tzin) [2049440] - net/mlx5: fix typo in comment (Amir Tzin) [2049440] - IB/mlx5: Fix undefined behavior due to shift overflowing the constant (Amir Tzin) [2049440] - net/mlx5e: Force ethertype usage in mlx5_ct_fs_smfs_fill_mask() (Amir Tzin) [2049440] - net/mlx5: Drain fw_reset when removing device (Amir Tzin) [2049440] - net/mlx5e: CT: Fix setting flow_source for smfs ct tuples (Amir Tzin) [2049440] - net/mlx5e: CT: Fix support for GRE tuples (Amir Tzin) [2049440] - net/mlx5e: Remove HW-GRO from reported features (Amir Tzin) [2049440] - net/mlx5e: Properly block HW GRO when XDP is enabled (Amir Tzin) [2049440] - net/mlx5e: Properly block LRO when XDP is enabled (Amir Tzin) [2049440] - net/mlx5e: Block rx-gro-hw feature in switchdev mode (Amir Tzin) [2049440] - net/mlx5e: Wrap mlx5e_trap_napi_poll into rcu_read_lock (Amir Tzin) [2049440] - net/mlx5: Initialize flow steering during driver probe (Amir Tzin) [2049440] - net/mlx5: Fix matching on inner TTC (Amir Tzin) [2049440] - net/mlx5: Avoid double clear or set of sync reset requested (Amir Tzin) [2049440] - net/mlx5: Fix deadlock in sync reset flow (Amir Tzin) [2049440] - net/mlx5e: Fix trust state reset in reload (Amir Tzin) [2049440] - net/mlx5e: Avoid checking offload capability in post_parse action (Amir Tzin) [2049440] - net/mlx5e: CT: Fix queued up restore put() executing after relevant ft release (Amir Tzin) [2049440] - net/mlx5e: TC, Fix ct_clear overwriting ct action metadata (Amir Tzin) [2049440] - net/mlx5e: Lag, Don't skip fib events on current dst (Amir Tzin) [2049440] - net/mlx5e: Lag, Fix fib_info pointer assignment (Amir Tzin) [2049440] - net/mlx5e: Lag, Fix use-after-free in fib event handler (Amir Tzin) [2049440] - net/mlx5e: Fix the calling of update_buffer_lossy() API (Amir Tzin) [2049440] - net/mlx5e: Don't match double-vlan packets if cvlan is not set (Amir Tzin) [2049440] - net/mlx5: Fix slab-out-of-bounds while reading resource dump menu (Amir Tzin) [2049440] - RDMA/mlx5: Add a missing update of cache->last_add (Amir Tzin) [2049440] - RDMA/mlx5: Don't remove cache MRs when a delay is needed (Amir Tzin) [2049440] - net/mlx5e: HTB, remove unused function declaration (Amir Tzin) [2049440] - net/mlx5e: Statify function mlx5_cmd_trigger_completions (Amir Tzin) [2049440] - net/mlx5: Remove unused fill page array API function (Amir Tzin) [2049440] - net/mlx5: Remove unused exported contiguous coherent buffer allocation API (Amir Tzin) [2049440] - net/mlx5: CT: Remove extra rhashtable remove on tuple entries (Amir Tzin) [2049440] - net/mlx5: DR, Remove hw_ste from mlx5dr_ste to reduce memory (Amir Tzin) [2049440] - net/mlx5: DR, Remove 4 members from mlx5dr_ste_htbl to reduce memory (Amir Tzin) [2049440] - net/mlx5: DR, Remove num_of_entries byte_size from struct mlx5_dr_icm_chunk (Amir Tzin) [2049440] - net/mlx5: DR, Remove icm_addr from mlx5dr_icm_chunk to reduce memory (Amir Tzin) [2049440] - net/mlx5: DR, Remove mr_addr rkey from struct mlx5dr_icm_chunk (Amir Tzin) [2049440] - net/mlx5: DR, Adjust structure member to reduce memory hole (Amir Tzin) [2049440] - net/mlx5e: Drop cqe_bcnt32 from mlx5e_skb_from_cqe_mpwrq_linear (Amir Tzin) [2049440] - net/mlx5e: Drop the len output parameter from mlx5e_xdp_handle (Amir Tzin) [2049440] - net/mlx5e: RX, Test the XDP program existence out of the handler (Amir Tzin) [2049440] - net/mlx5e: Build SKB in place over the first fragment in non-linear legacy RQ (Amir Tzin) [2049440] - net/mlx5e: Add headroom only to the first fragment in legacy RQ (Amir Tzin) [2049440] - net/mlx5e: Validate MTU when building non-linear legacy RQ fragments info (Amir Tzin) [2049440] - net/mlx5e: MPLSoUDP encap, support action vlan pop_eth explicitly (Amir Tzin) [2049440] - net/mlx5e: MPLSoUDP decap, use vlan push_eth instead of pedit (Amir Tzin) [2049440] - RDMA/mlx5: Fix memory leak in error flow for subscribe event routine (Amir Tzin) [2049440] - net/mlx5e: Fix use-after-free in mlx5e_stats_grp_sw_update_stats (Amir Tzin) [2049440] - net/mlx5e: Remove overzealous validations in netlink EEPROM query (Amir Tzin) [2049440] - net/mlx5: Parse module mapping using mlx5_ifc (Amir Tzin) [2049440] - net/mlx5: Query the maximum MCIA register read size from firmware (Amir Tzin) [2049440] - net/mlx5: CT: Create smfs dr matchers dynamically (Amir Tzin) [2049440] - net/mlx5: CT: Add software steering ct flow steering provider (Amir Tzin) [2049440] - net/mlx5: Add smfs lib to export direct steering API to CT (Amir Tzin) [2049440] - net/mlx5: DR, Add helper to get backing dr table from a mlx5 flow table (Amir Tzin) [2049440] - net/mlx5: CT: Introduce a platform for multiple flow steering providers (Amir Tzin) [2049440] - net/mlx5: Node-aware allocation for the doorbell pgdir (Amir Tzin) [2049440] - net/mlx5: Node-aware allocation for UAR (Amir Tzin) [2049440] - net/mlx5: Node-aware allocation for the EQs (Amir Tzin) [2049440] - net/mlx5: Node-aware allocation for the EQ table (Amir Tzin) [2049440] - net/mlx5: Node-aware allocation for the IRQ table (Amir Tzin) [2049440] - net/mlx5: Delete useless module.h include (Amir Tzin) [2049440] - net/mlx5: DR, Add support for ConnectX-7 steering (Amir Tzin) [2049440] - net/mlx5: DR, Refactor ste_ctx handling for STE v0/1 (Amir Tzin) [2049440] - net/mlx5: DR, Rename action modify fields to reflect naming in HW spec (Amir Tzin) [2049440] - net/mlx5: DR, Fix handling of different actions on the same STE in STEv1 (Amir Tzin) [2049440] - net/mlx5: DR, Remove unneeded comments (Amir Tzin) [2049440] - net/mlx5: DR, Add support for matching on Internet Header Length (IHL) (Amir Tzin) [2049440] - net/mlx5: DR, Align mlx5dv_dr API vport action with FW behavior (Amir Tzin) [2049440] - net/mlx5: Add debugfs counters for page commands failures (Amir Tzin) [2049440] - net/mlx5: Add pages debugfs (Amir Tzin) [2049440] - net/mlx5: Move debugfs entries to separate struct (Amir Tzin) [2049440] - net/mlx5: Change release_all_pages cap bit location (Amir Tzin) [2049440] - net/mlx5: Remove redundant error on reclaim pages (Amir Tzin) [2049440] - net/mlx5: Remove redundant error on give pages (Amir Tzin) [2049440] - net/mlx5: Remove redundant notify fail on give pages (Amir Tzin) [2049440] - net/mlx5: Add command failures data to debugfs (Amir Tzin) [2049440] - net/mlx5e: TC, Fix use after free in mlx5e_clone_flow_attr_for_post_act() (Amir Tzin) [2049440] - net/mlx5: Support GRE conntrack offload (Amir Tzin) [2049440] - mlx5: add support for page_pool_get_stats (Amir Tzin) [2049440] - net/mlx5: Add migration commands definitions (Amir Tzin) [2049440] - net/mlx5: Introduce migration bits and structures (Amir Tzin) [2049440] - net/mlx5: Expose APIs to get/put the mlx5 core device (Amir Tzin) [2049440] - net/mlx5: Disable SRIOV before PF removal (Amir Tzin) [2049440] - net/mlx5: Reuse exported virtfn index function call (Amir Tzin) [2049440] - net/mlx5: Add clarification on sync reset failure (Amir Tzin) [2049440] - net/mlx5: Add reset_state field to MFRL register (Amir Tzin) [2049440] - RDMA/mlx5: Use new command interface API (Amir Tzin) [2049440] - net/mlx5: cmdif, Refactor error handling and reporting of async commands (Amir Tzin) [2049440] - net/mlx5: Use mlx5_cmd_do() in core create_{cq,dct} (Amir Tzin) [2049440] - net/mlx5: cmdif, Add new api for command execution (Amir Tzin) [2049440] - net/mlx5: cmdif, cmd_check refactoring (Amir Tzin) [2049440] - net/mlx5: cmdif, Return value improvements (Amir Tzin) [2049440] - net/mlx5: Lag, offload active-backup drops to hardware (Amir Tzin) [2049440] - net/mlx5: Lag, record inactive state of bond device (Amir Tzin) [2049440] - net/mlx5: Lag, don't use magic numbers for ports (Amir Tzin) [2049440] - net/mlx5: Lag, use local variable already defined to access E-Switch (Amir Tzin) [2049440] - net/mlx5: E-switch, add drop rule support to ingress ACL (Amir Tzin) [2049440] - net/mlx5: E-switch, remove special uplink ingress ACL handling (Amir Tzin) [2049440 2049580] - net/mlx5: E-Switch, reserve and use same uplink metadata across ports (Amir Tzin) [2049440 2049580] - net/mlx5: Add ability to insert to specific flow group (Amir Tzin) [2049440] - mlx5: remove unused static inlines (Amir Tzin) [2049440] - RDMA/mlx5: Reorder calls to pcie_relaxed_ordering_enabled() (Amir Tzin) [2049440] - RDMA/mlx5: Store ndescs instead of the translation table size (Amir Tzin) [2049440] - RDMA/mlx5: Merge similar flows of allocating MR from the cache (Amir Tzin) [2049440] - RDMA/mlx5: Fix the flow of a miss in the allocation of a cache ODP MR (Amir Tzin) [2049440] - RDMA/mlx5: Remove redundant work in struct mlx5_cache_ent (Amir Tzin) [2049440] - net/mlx5e: TC, Allow sample action with CT (Amir Tzin) [2049440 2049659] - net/mlx5e: TC, Make post_act parse CT and sample actions (Amir Tzin) [2049440 2049659] - net/mlx5e: TC, Clean redundant counter flag from tc action parsers (Amir Tzin) [2049440 2049659] - net/mlx5e: Use multi table support for CT and sample actions (Amir Tzin) [2049440 2049659] - net/mlx5e: Create new flow attr for multi table actions (Amir Tzin) [2049440 2049659] - net/mlx5e: Add post act offload/unoffload API (Amir Tzin) [2049440 2049659] - net/mlx5e: Pass actions param to actions_match_supported() (Amir Tzin) [2049440 2049659] - net/mlx5e: TC, Move flow hashtable to be per rep (Amir Tzin) [2049440] - net/mlx5e: E-Switch, Add support for tx_port_ts in switchdev mode (Amir Tzin) [2049440] - net/mlx5e: E-Switch, Add PTP counters for uplink representor (Amir Tzin) [2049440] - net/mlx5e: RX, Restrict bulk size for small Striding RQs (Amir Tzin) [2049440] - net/mlx5e: Default to Striding RQ when not conflicting with CQE compression (Amir Tzin) [2049440] - net/mlx5e: Generalize packet merge error message (Amir Tzin) [2049440] - net/mlx5e: Add support for using xdp->data_meta (Amir Tzin) [2049440] - net/mlx5e: Fix spelling mistake "supoported" -> "supported" (Amir Tzin) [2049440] - net/mlx5e: Optimize the common case condition in mlx5e_select_queue (Amir Tzin) [2049440] - net/mlx5e: Optimize modulo in mlx5e_select_queue (Amir Tzin) [2049440] - net/mlx5e: Optimize mlx5e_select_queue (Amir Tzin) [2049440] - net/mlx5e: Use READ_ONCE/WRITE_ONCE for DCBX trust state (Amir Tzin) [2049440] - net/mlx5e: Move repeating code that gets TC prio into a function (Amir Tzin) [2049440] - net/mlx5e: Use select queue parameters to sync with control flow (Amir Tzin) [2049440] - net/mlx5e: Move mlx5e_select_queue to en/selq.c (Amir Tzin) [2049440] - net/mlx5e: Introduce select queue parameters (Amir Tzin) [2049440] - net/mlx5e: Sync txq2sq updates with mlx5e_xmit for HTB queues (Amir Tzin) [2049440] - net/mlx5e: Use a barrier after updating txq2sq (Amir Tzin) [2049440] - net/mlx5e: Disable TX queues before registering the netdev (Amir Tzin) [2049440] - net/mlx5e: Cleanup of start/stop all queues (Amir Tzin) [2049440] - net/mlx5e: Use FW limitation for max MPW WQEBBs (Amir Tzin) [2049440] - net/mlx5e: Read max WQEBBs on the SQ from firmware (Amir Tzin) [2049440] - net/mlx5e: Remove unused tstamp SQ field (Amir Tzin) [2049440] - RDMA/mlx5: Delete useless module.h include (Amir Tzin) [2049440] - RDMA/mlx5: Delete get_num_static_uars function (Amir Tzin) [2049440] - net/mlx5: VLAN push on RX, pop on TX (Amir Tzin) [2049440 2049616] - net/mlx5: Introduce software defined steering capabilities (Amir Tzin) [2049440 2049616] - net/mlx5: Remove unused TIR modify bitmask enums (Amir Tzin) [2049440] - net/mlx5e: CT, Remove redundant flow args from tc ct calls (Amir Tzin) [2049440 2049659] - net/mlx5e: TC, Store mapped tunnel id on flow attr (Amir Tzin) [2049440 2049659] - net/mlx5e: Test CT and SAMPLE on flow attr (Amir Tzin) [2049440 2049580 2049659] - net/mlx5e: Refactor eswitch attr flags to just attr flags (Amir Tzin) [2049440 2049580 2049659] - net/mlx5e: CT, Don't set flow flag CT for ct clear flow (Amir Tzin) [2049440 2049659] - net/mlx5e: TC, Hold sample_attr on stack instead of pointer (Amir Tzin) [2049440 2049580 2049659] - net/mlx5e: TC, Reject rules with multiple CT actions (Amir Tzin) [2049440 2049659] - net/mlx5e: TC, Refactor mlx5e_tc_add_flow_mod_hdr() to get flow attr (Amir Tzin) [2049440 2049659] - net/mlx5e: TC, Pass attr to tc_act can_offload() (Amir Tzin) [2049440 2049659] - net/mlx5e: TC, Split pedit offloads verify from alloc_tc_pedit_action() (Amir Tzin) [2049440 2049659] - net/mlx5e: TC, Move pedit_headers_action to parse_attr (Amir Tzin) [2049440 2049659] - net/mlx5e: Move counter creation call to alloc_flow_attr_counter() (Amir Tzin) [2049440 2049659] - net/mlx5e: Pass attr arg for attaching/detaching encaps (Amir Tzin) [2049440 2049659] - net/mlx5e: Move code chunk setting encap dests into its own function (Amir Tzin) [2049440 2049659] - net_sched: cls_route: remove from list when handle is 0 (Felix Maurer) [2116328] {CVE-2022-2588} - netfilter: nf_tables: do not allow RULE_ID to refer to another chain (Florian Westphal) [2116356] {CVE-2022-2586} - netfilter: nf_tables: do not allow SET_ID to refer to another table (Florian Westphal) [2116356] {CVE-2022-2586} - netfilter: nf_queue: do not allow packet truncation below transport header offset (Florian Westphal) [2116159] {CVE-2022-36946} - net: let flow have same hash in two directions (Ivan Vecera) [2111094] - ipv4: Fix data-races around sysctl_fib_multipath_hash_fields. (Ivan Vecera) [2111094] - net: Add notifications when multipath hash field change (Ivan Vecera) [2111094] - selftests: forwarding: Add test for custom multipath hash with IPv6 GRE (Ivan Vecera) [2111094] - selftests: forwarding: Add test for custom multipath hash with IPv4 GRE (Ivan Vecera) [2111094] - selftests: forwarding: Add test for custom multipath hash (Ivan Vecera) [2111094] - ipv6: Add custom multipath hash policy (Ivan Vecera) [2111094] - ipv6: Add a sysctl to control multipath hash fields (Ivan Vecera) [2111094] - ipv6: Calculate multipath hash inside switch statement (Ivan Vecera) [2111094] - ipv6: Use a more suitable label name (Ivan Vecera) [2111094] - ipv4: Add custom multipath hash policy (Ivan Vecera) [2111094] - ipv4: Add a sysctl to control multipath hash fields (Ivan Vecera) [2111094] - ipv4: Calculate multipath hash inside switch statement (Ivan Vecera) [2111094] - ipv6: Use math to point per net sysctls into the appropriate struct net (Ivan Vecera) [2111094] - selftest/net/forwarding: declare NETIFS p9 p10 (Ivan Vecera) [2111094] - ipv6: Fix sysctl max for fib_multipath_hash_policy (Ivan Vecera) [2111094] - selftests: forwarding: Test multipath hashing on inner IP pkts for GRE tunnel (Ivan Vecera) [2111094] - ipv6: Support multipath hashing on inner IP pkts (Ivan Vecera) [2111094] - ipv4: Multipath hashing on inner L3 needs to consider inner IPv6 pkts (Ivan Vecera) [2111094] - ipv4: Support multipath hashing on inner IP pkts for GRE tunnel (Ivan Vecera) [2111094] - ipv4: Initialize flowi4_multipath_hash in data path (Ivan Vecera) [2111094] - net: ipv4: Fix NULL pointer dereference in route lookup (Ivan Vecera) [2111094] - route: Add multipath_hash in flowi_common to make user-define hash (Ivan Vecera) [2111094]- drm/nouveau/kms/nv140-: Disable interlacing (Lyude Paul) [2097647] - rpm: convert gcc and libelf to Recommends (Jarod Wilson) [2114900] - redhat: add ca7 to redhat/git/files (Jarod Wilson)- net/mlx5e: TC, Remove redundant error logging (Amir Tzin) [2049436] - net/mlx5e: SHAMPO, reduce TIR indication (Amir Tzin) [2049436] - net/mlx5e: Lag, Only handle events from highest priority multipath entry (Amir Tzin) [2049436] - net/mlx5: Fix offloading with ESWITCH_IPV4_TTL_MODIFY_ENABLE (Amir Tzin) [2049436] - net/mlx5: Fix a race on command flush flow (Amir Tzin) [2049436] - net/mlx5: Fix size field in bufferx_reg struct (Amir Tzin) [2049436] - net/mlx5e: Fix VF min/max rate parameters interchange mistake (Amir Tzin) [2049436] - net/mlx5e: Add missing increment of count (Amir Tzin) [2049436] - net/mlx5e: MPLSoUDP decap, fix check for unsupported matches (Amir Tzin) [2049436] - net/mlx5e: Fix MPLSoUDP encap to use MPLS action information (Amir Tzin) [2049436] - net/mlx5e: Add feature check for set fec counters (Amir Tzin) [2049436 2049711] - net/mlx5e: TC, Skip redundant ct clear actions (Amir Tzin) [2049436] - net/mlx5e: TC, Reject rules with forward and drop actions (Amir Tzin) [2049436] - net/mlx5e: TC, Reject rules with drop and modify hdr action (Amir Tzin) [2049436] - net/mlx5e: kTLS, Use CHECKSUM_UNNECESSARY for device-offloaded packets (Amir Tzin) [2049436] - net/mlx5e: Use dma device access helper (add dropped hunk) (Amir Tzin) [2049436] - net/mlx5e: Fix wrong return value on ioctl EEPROM query failure (Amir Tzin) [2049436] - net/mlx5: Fix possible deadlock on rule deletion (Amir Tzin) [2049436] - net/mlx5: Fix tc max supported prio for nic mode (Amir Tzin) [2049436] - net/mlx5: Update log_max_qp value to be 17 at most (Amir Tzin) [2049436] - net/mlx5: DR, Don't allow match on IP w/o matching on full ethertype/ip_version (Amir Tzin) [2049436] - net/mlx5e: Avoid field-overflowing memcpy() (Amir Tzin) [2049436] - net/mlx5e: Use struct_group() for memcpy() region (Amir Tzin) [2049436] - net/mlx5e: IPsec: Fix tunnel mode crypto offload for non TCP/UDP traffic (Amir Tzin) [2049436 2052871] - net/mlx5e: IPsec: Fix crypto offload for non TCP/UDP encapsulated traffic (Amir Tzin) [2049436 2052871] - net/mlx5e: Don't treat small ceil values as unlimited in HTB offload (Amir Tzin) [2049436] - net/mlx5: E-Switch, Fix uninitialized variable modact (Amir Tzin) [2049436] - net/mlx5e: Fix handling of wrong devices during bond netevent (Amir Tzin) [2049436] - net/mlx5e: Fix broken SKB allocation in HW-GRO (Amir Tzin) [2049436] - net/mlx5e: Fix wrong calculation of header index in HW_GRO (Amir Tzin) [2049436] - net/mlx5: Fix offloading with ESWITCH_IPV4_TTL_MODIFY_ENABLE (Amir Tzin) [2049436] - net/mlx5e: TC, Reject rules with forward and drop actions (Amir Tzin) [2049436] - net/mlx5: Use del_timer_sync in fw reset flow of halting poll (Amir Tzin) [2049436] - net/mlx5e: Fix module EEPROM query (Amir Tzin) [2049436] - net/mlx5e: TC, Reject rules with drop and modify hdr action (Amir Tzin) [2049436] - net/mlx5: Bridge, ensure dev_name is null-terminated (Amir Tzin) [2049436] - net/mlx5: Bridge, take rtnl lock in init error handler (Amir Tzin) [2049436] - mlx5: Don't accidentally set RTO_ONLINK before mlx5e_route_lookup_ipv4_get() (Amir Tzin) [2049436] - net/mlx5e: Fix build error in fec_set_block_stats() (Amir Tzin) [2049436] - Revert "net/mlx5: Add retry mechanism to the command entry index allocation" (Amir Tzin) [2049436] - net/mlx5: Set command entry semaphore up once got index free (Amir Tzin) [2049436] - net/mlx5e: Sync VXLAN udp ports during uplink representor profile change (Amir Tzin) [2049436] - net/mlx5: Fix access to sf_dev_table on allocation failure (Amir Tzin) [2049436] - net/mlx5e: Fix matching on modified inner ip_ecn bits (Amir Tzin) [2049436] - Revert "net/mlx5e: Block offload of outer header csum for GRE tunnel" (Amir Tzin) [2049436] - Revert "net/mlx5e: Block offload of outer header csum for UDP tunnels" (Amir Tzin) [2049436] - net/mlx5e: Fix nullptr on deleting mirroring rule (Amir Tzin) [2049436] - net/mlx5e: Fix page DMA map/unmap attributes (Amir Tzin) [2049436] - net/mlx5: Use dma device access helper (add dropped hunk) (Amir Tzin) [2049436] - net/mlx5e: Add recovery flow in case of error CQE (Amir Tzin) [2049436] - net/mlx5e: Refactor set_pflag_cqe_based_moder (Amir Tzin) [2049436] - net/mlx5e: Move HW-GRO and CQE compression check to fix features flow (Amir Tzin) [2049436] - net/mlx5e: Fix feature check per profile (Amir Tzin) [2049436] - net/mlx5e: Unblock setting vid 0 for VF in case PF isn't eswitch manager (Amir Tzin) [2049436] - net/mlx5e: Expose FEC counters via ethtool (Amir Tzin) [2049436 2049711] - net/mlx5: Update log_max_qp value to FW max capability (Amir Tzin) [2049436] - net/mlx5: Use irq_set_affinity_and_hint() (Amir Tzin) [2049436] - net/mlx5: SF, Use all available cpu for setting cpu affinity (Amir Tzin) [2049436] - net/mlx5: Introduce API for bulk request and release of IRQs (Amir Tzin) [2049436] - net/mlx5: Split irq_pool_affinity logic to new file (Amir Tzin) [2049436] - net/mlx5: Move affinity assignment into irq_request (Amir Tzin) [2049436] - net/mlx5: Introduce control IRQ request API (Amir Tzin) [2049436] - net/mlx5: mlx5e_hv_vhca_stats_create return type to void (Amir Tzin) [2049436] - RDMA/mlx5: Print wc status on CQE error and dump needed (Amir Tzin) [2049436] - net: fixup build after bpf header changes (Amir Tzin) [2049436] - net/mlx5: CT: Set flow source hint from provided tuple device (Amir Tzin) [2049436] - net/mlx5: Set SMFS as a default steering mode if device supports it (Amir Tzin) [2049436] - net/mlx5: DR, Improve steering for empty or RX/TX-only matchers (Amir Tzin) [2049436] - net/mlx5: DR, Add support for matching on geneve_tlv_option_0_exist field (Amir Tzin) [2049436] - net/mlx5: DR, Support matching on tunnel headers 0 and 1 (Amir Tzin) [2049436] - net/mlx5: DR, Add misc5 to match_param structs (Amir Tzin) [2049436] - net/mlx5: Add misc5 flow table match parameters (Amir Tzin) [2049436] - net/mlx5: DR, Add support for UPLINK destination type (Amir Tzin) [2049436] - net/mlx5e: Use auxiliary_device driver data helpers (Amir Tzin) [2049436] - net/mlx5e: Take packet_merge params directly from the RX res struct (Amir Tzin) [2049436] - net/mlx5e: Allocate per-channel stats dynamically at first usage (Amir Tzin) [2049436] - net/mlx5e: Use dynamic per-channel allocations in stats (Amir Tzin) [2049436] - net/mlx5e: Allow profile-specific limitation on max num of channels (Amir Tzin) [2049436] - net/mlx5e: Save memory by using dynamic allocation in netdev priv (Amir Tzin) [2049436] - net/mlx5e: Add profile indications for PTP and QOS HTB features (Amir Tzin) [2049436] - net/mlx5e: Use bitmap field for profile features (Amir Tzin) [2049436] - net/mlx5: Remove the repeated declaration (Amir Tzin) [2049436] - net/mlx5: Let user configure max_macs generic param (Amir Tzin) [2049436] - net/mlx5: Let user configure event_eq_size param (Amir Tzin) [2049436] - net/mlx5: Let user configure io_eq_size param (Amir Tzin) [2049436] - net/mlx5: Introduce log_max_current_uc_list_wr_supported bit (Amir Tzin) [2049436] - net/mlx5e: Move goto action checks into tc_action goto post parse op (Amir Tzin) [2049436] - net/mlx5e: Move vlan action chunk into tc action vlan post parse op (Amir Tzin) [2049436] - net/mlx5e: Add post_parse() op to tc action infrastructure (Amir Tzin) [2049436] - net/mlx5e: Move sample attr allocation to tc_action sample parse op (Amir Tzin) [2049436] - net/mlx5e: TC action parsing loop (Amir Tzin) [2049436] - net/mlx5e: Add redirect ingress to tc action infra (Amir Tzin) [2049436] - net/mlx5e: Add sample and ptype to tc_action infra (Amir Tzin) [2049436] - net/mlx5e: Add ct to tc action infra (Amir Tzin) [2049436] - net/mlx5e: Add mirred/redirect to tc action infra (Amir Tzin) [2049436] - Revert "net/mlx5e: TC, Remove redundant error logging" (Amir Tzin) [2049436] - net/mlx5e: Add mpls push/pop to tc action infra (Amir Tzin) [2049436] - net/mlx5e: Add vlan push/pop/mangle to tc action infra (Amir Tzin) [2049436] - net/mlx5e: Add pedit to tc action infra (Amir Tzin) [2049436] - net/mlx5e: Add csum to tc action infra (Amir Tzin) [2049436] - net/mlx5e: Add tunnel encap/decap to tc action infra (Amir Tzin) [2049436] - net/mlx5e: Add goto to tc action infra (Amir Tzin) [2049436] - net/mlx5e: Add tc action infrastructure (Amir Tzin) [2049436] - RDMA/mlx5: Use memset_after() to zero struct mlx5_ib_mr (Amir Tzin) [2049436] - RDMA/mlx5: Add support to multiple priorities for FDB rules (Amir Tzin) [2049436] - net/mlx5: Create more priorities for FDB bypass namespace (Amir Tzin) [2049436] - net/mlx5: Refactor mlx5_get_flow_namespace (Amir Tzin) [2049436] - net/mlx5: Separate FDB namespace (Amir Tzin) [2049436] - net/mlx5: Dynamically resize flow counters query buffer (Amir Tzin) [2049436] - net/mlx5e: TC, Set flow attr ip_version earlier (Amir Tzin) [2049436] - net/mlx5e: TC, Move common flow_action checks into function (Amir Tzin) [2049436] - net/mlx5e: Remove redundant actions arg from vlan push/pop funcs (Amir Tzin) [2049436] - net/mlx5e: Remove redundant actions arg from validate_goto_chain() (Amir Tzin) [2049436] - net/mlx5e: TC, Remove redundant action stack var (Amir Tzin) [2049436] - net/mlx5e: Hide function mlx5e_num_channels_changed (Amir Tzin) [2049436] - net/mlx5e: SHAMPO, clean MLX5E_MAX_KLM_PER_WQE macro (Amir Tzin) [2049436] - net/mlx5: Print more info on pci error handlers (Amir Tzin) [2049436] - net/mlx5: SF, silence an uninitialized variable warning (Amir Tzin) [2049436] - net/mlx5: Fix error return code in esw_qos_create() (Amir Tzin) [2049436] - net/mlx5: E-switch, Create QoS on demand (Amir Tzin) [2049436] - net/mlx5: E-switch, Enable vport QoS on demand (Amir Tzin) [2049436] - net/mlx5: E-switch, move offloads mode callbacks to offloads file (Amir Tzin) [2049436] - net/mlx5: E-switch, Reuse mlx5_eswitch_set_vport_mac (Amir Tzin) [2049436] - net/mlx5: E-switch, Remove vport enabled check (Amir Tzin) [2049436] - net/mlx5e: Specify out ifindex when looking up decap route (Amir Tzin) [2049436] - net/mlx5e: TC, Move comment about mod header flag to correct place (Amir Tzin) [2049436] - net/mlx5e: TC, Move kfree() calls after destroying all resources (Amir Tzin) [2049436] - net/mlx5e: TC, Destroy nic flow counter if exists (Amir Tzin) [2049436] - net/mlx5: TC, using swap() instead of tmp variable (Amir Tzin) [2049436] - net/mlx5: CT: Allow static allocation of mod headers (Amir Tzin) [2049436] - net/mlx5e: Refactor mod header management API (Amir Tzin) [2049436] - net/mlx5: Avoid printing health buffer when firmware is unavailable (Amir Tzin) [2049436 2049717] - net/mlx5e: Support ethtool cq mode (Amir Tzin) [2049436 2049840] - Revert "RDMA/mlx5: Fix releasing unallocated memory in dereg MR flow" (Amir Tzin) [2049435] - net/mlx5: Use first online CPU instead of hard coded CPU (Amir Tzin) [2049435] - net/mlx5e: SHAMPO, Fix constant expression result (Amir Tzin) [2049435] - net/mlx5: Fix access to a non-supported register (Amir Tzin) [2049435 2049717] - net/mlx5: Fix too early queueing of log timestamp work (Amir Tzin) [2049435 2049717] - net/mlx5: Fix use after free in mlx5_health_wait_pci_up (Amir Tzin) [2049435] - net/mlx5: Lag, Fix recreation of VF LAG (Amir Tzin) [2049435] - net/mlx5e: Sync TIR params updates against concurrent create/modify (Amir Tzin) [2049435] - RDMA/mlx5: Fix releasing unallocated memory in dereg MR flow (Amir Tzin) [2049435] - net/mlx5: Fix flow counters SF bulk query len (Amir Tzin) [2049435] - net/mlx5: Lag, fix a potential Oops with mlx5_lag_create_definer() (Amir Tzin) [2049435] - net/mlx5e: Prevent HW-GRO and CQE-COMPRESS features operate together (Amir Tzin) [2049435] - net/mlx5e: Add HW-GRO offload (Amir Tzin) [2049435] - net/mlx5e: Add HW_GRO statistics (Amir Tzin) [2049435] - net/mlx5e: HW_GRO cqe handler implementation (Amir Tzin) [2049435] - net/mlx5e: Add data path for SHAMPO feature (Amir Tzin) [2049435] - net/mlx5e: Add handle SHAMPO cqe support (Amir Tzin) [2049435] - net/mlx5e: Add control path for SHAMPO feature (Amir Tzin) [2049435] - net/mlx5e: Add support to klm_umr_wqe (Amir Tzin) [2049435] - net/mlx5e: Rename TIR lro functions to TIR packet merge functions (Amir Tzin) [2049435] - net/mlx5e: Align mlx5e_resources with upstream code. (Amir Tzin) [2049435] - net/mlx5: Add SHAMPO caps, HW bits and enumerations (Amir Tzin) [2049435] - net/mlx5e: Rename lro_timeout to packet_merge_timeout (Amir Tzin) [2049435] - net/mlx5: SF_DEV Add SF device trace points (Amir Tzin) [2049435] - net/mlx5: SF, Add SF trace points (Amir Tzin) [2049435] - net/mlx5: Bridge, support replacing existing FDB entry (Amir Tzin) [2049435] - net/mlx5: Bridge, extract code to lookup and del/notify entry (Amir Tzin) [2049435] - net/mlx5: Add periodic update of host time to firmware (Amir Tzin) [2049435 2049717] - net/mlx5: Print health buffer by log level (Amir Tzin) [2049435 2049717] - net/mlx5: Extend health buffer dump (Amir Tzin) [2049435 2049717] - net/mlx5: Reduce flow counters bulk query buffer size for SFs (Amir Tzin) [2049435] - net/mlx5: Fix unused function warning of mlx5i_flow_type_mask (Amir Tzin) [2049435] - net/mlx5: Remove unnecessary checks for slow path flag (Amir Tzin) [2049435] - net/mlx5e: don't write directly to netdev->dev_addr (Amir Tzin) [2049435] - RDMA/mlx5: Use dev_addr_mod() (Amir Tzin) [2049435] - RDMA/mlx5: fix build error with INFINIBAND_USER_ACCESS=n (Amir Tzin) [2049435] - RDMA/mlx5: Attach ndescs to mlx5_ib_mkey (Amir Tzin) [2049435] - RDMA/mlx5: Move struct mlx5_core_mkey to mlx5_ib (Amir Tzin) [2049435] - RDMA/mlx5: Replace struct mlx5_core_mkey by u32 key (Amir Tzin) [2049435] - RDMA/mlx5: Align mlx5e_resources with upstream code. (Amir Tzin) [2049435] - RDMA/mlx5: Remove pd from struct mlx5_core_mkey (Amir Tzin) [2049435] - RDMA/mlx5: Remove size from struct mlx5_core_mkey (Amir Tzin) [2049435] - RDMA/mlx5: Remove iova from struct mlx5_core_mkey (Amir Tzin) [2049435] - net/mlx5: E-Switch, Increase supported number of forward destinations to 32 (Amir Tzin) [2049435] - net/mlx5: E-Switch, Use dynamic alloc for dest array (Amir Tzin) [2049435] - net/mlx5: Lag, use steering to select the affinity port in LAG (Amir Tzin) [2049435] - net/mlx5: Lag, add support to create/destroy/modify port selection (Amir Tzin) [2049435] - net/mlx5: Lag, add support to create TTC tables for LAG port selection (Amir Tzin) [2049435] - net/mlx5: Lag, add support to create definers for LAG (Amir Tzin) [2049435] - net/mlx5: Lag, set match mask according to the traffic type bitmap (Amir Tzin) [2049435] - net/mlx5: Lag, set LAG traffic type mapping (Amir Tzin) [2049435] - net/mlx5: Lag, move lag files into directory (Amir Tzin) [2049435] - net/mlx5: Introduce new uplink destination type (Amir Tzin) [2049435] - net/mlx5: Add support to create match definer (Amir Tzin) [2049435] - net/mlx5: Introduce port selection namespace (Amir Tzin) [2049435] - net/mlx5: Support partial TTC rules (Amir Tzin) [2049435] - mlx5: prevent 64bit divide (Amir Tzin) [2049435] - net/mlx5: Use system_image_guid to determine bonding (Amir Tzin) [2049435] - net/mlx5: Use native_port_num as 1st option of device index (Amir Tzin) [2049435] - net/mlx5: Introduce new device index wrapper (Amir Tzin) [2049435] - net/mlx5: Check return status first when querying system_image_guid (Amir Tzin) [2049435] - net/mlx5: DR, Prefer kcalloc over open coded arithmetic (Amir Tzin) [2049435] - net/mlx5e: Add extack msgs related to TC for better debug (Amir Tzin) [2049435] - net/mlx5: CT: Fix missing cleanup of ct nat table on init failure (Amir Tzin) [2049435] - Revert "net/mlx5e: TC, Skip redundant ct clear actions" (Amir Tzin) [2049435] - net/mlx5: Disable roce at HCA level (Amir Tzin) [2049435] - net/mlx5i: Enable Rx steering for IPoIB via ethtool (Amir Tzin) [2049435] - net/mlx5: Bridge, provide flow source hints (Amir Tzin) [2049435] - net/mlx5: Read timeout values from DTOR (Amir Tzin) [2049435] - net/mlx5: Read timeout values from init segment (Amir Tzin) [2049435] - net/mlx5: Add layout to support default timeouts register (Amir Tzin) [2049435] - net/mlx5: Set devlink reload feature bit for supported devices only (Amir Tzin) [2049435] - RDMA/mlx5: Add optional counter support in get_hw_stats callback (Amir Tzin) [2049435] - RDMA/mlx5: Add modify_op_stat() support (Amir Tzin) [2049435] - RDMA/mlx5: Add steering support in optional flow counters (Amir Tzin) [2049435] - RDMA/mlx5: Support optional counters in hw_stats initialization (Amir Tzin) [2049435] - net/mlx5: Add priorities for counters in RDMA namespaces (Amir Tzin) [2049435] - net/mlx5: Add ifc bits to support optional counters (Amir Tzin) [2049435] - net/mlx5: Enable single IRQ for PCI Function (Amir Tzin) [2049435] - net/mlx5: Shift control IRQ to the last index (Amir Tzin) [2049435] - net/mlx5: Bridge, pop VLAN on egress table miss (Amir Tzin) [2049435] - net/mlx5: Bridge, mark reg_c1 when pushing VLAN (Amir Tzin) [2049435] - net/mlx5: Bridge, extract VLAN pop code to dedicated functions (Amir Tzin) [2049435] - net/mlx5: Bridge, refactor eswitch instance usage (Amir Tzin) [2049435] - net/mlx5e: Support accept action (Amir Tzin) [2049435] - net/mlx5e: Specify out ifindex when looking up encap route (Amir Tzin) [2049435] - net/mlx5e: Reserve a value from TC tunnel options mapping (Amir Tzin) [2049435] - net/mlx5e: Move parse fdb check into actions_match_supported_fdb() (Amir Tzin) [2049435] - net/mlx5e: Split actions_match_supported() into a sub function (Amir Tzin) [2049435] - net/mlx5e: Move mod hdr allocation to a single place (Amir Tzin) [2049435] - net/mlx5e: TC, Refactor sample offload error flow (Amir Tzin) [2049435] - RDMA/mlx5: Avoid taking MRs from larger MR cache pools when a pool is empty (Amir Tzin) [2049435] - IB/mlx5: Flow through a more detailed return code from get_prefetchable_mr() (Amir Tzin) [2049435] - net/mlx5e: Use array_size() helper (Amir Tzin) [2049435] - net/mlx5: Use struct_size() helper in kvzalloc() (Amir Tzin) [2049435] - net/mlx5: Use kvcalloc() instead of kvzalloc() (Amir Tzin) [2049435] - net/mlx5: Tolerate failures in debug features while driver load (Amir Tzin) [2049435] - IB/mlx5: Enable UAR to have DevX UID (Amir Tzin) [2049435] - net/mlx5: Add uid field to UAR allocation structures (Amir Tzin) [2049435] - net/mlx5e: check return value of rhashtable_init (Amir Tzin) [2049435] - net/mlx5e: Enable TC offload for ingress MACVLAN (Amir Tzin) [2049435] - net/mlx5e: Enable TC offload for egress MACVLAN (Amir Tzin) [2049435] - net/mlx5e: loopback test is not supported in switchdev mode (Amir Tzin) [2049435] - net/mlx5e: Use NL_SET_ERR_MSG_MOD() for errors parsing tunnel attributes (Amir Tzin) [2049435] - net/mlx5e: Use tc sample stubs instead of ifdefs in source file (Amir Tzin) [2049435] - net/mlx5e: Remove redundant priv arg from parse_pedit_to_reformat() (Amir Tzin) [2049435] - net/mlx5e: Check action fwd/drop flag exists also for nic flows (Amir Tzin) [2049435] - net/mlx5e: Set action fwd flag when parsing tc action goto (Amir Tzin) [2049435] - net/mlx5e: Remove incorrect addition of action fwd flag (Amir Tzin) [2049435] - Revert "net/mlx5e: TC, Fix ct_clear overwriting ct action metadata" (Amir Tzin) [2049435] - net/mlx5e: Use correct return type (Amir Tzin) [2049435] - net/mlx5e: Add error flow for ethtool -X command (Amir Tzin) [2049435] - net/mlx5: Fix rdma aux device on devlink reload (Amir Tzin) [2049434] - RDMA/mlx5: Relax DCS QP creation checks (Amir Tzin) [2049434] - net/mellanox: switch from 'pci_' to 'dma_' API (Amir Tzin) [2049434] - net/mlx5e: Make use of netdev_warn() (Amir Tzin) [2049434] - net/mlx5: Initialize numa node for all core devices (Amir Tzin) [2049434] - net/mlx5: Allocate individual capability (Amir Tzin) [2049434] - net/mlx5: Reorganize current and maximal capabilities to be per-type (Amir Tzin) [2049434] - net/mlx5: SF, use recent sysfs api (Amir Tzin) [2049434] - net/mlx5: Refcount mlx5_irq with integer (Amir Tzin) [2049434] - net/mlx5: Change SF missing dedicated MSI-X err message to dbg (Amir Tzin) [2049434] - net/mlx5: Align mlx5_irq structure (Amir Tzin) [2049434] - net/mlx5: Delete impossible dev->state checks (Amir Tzin) [2049434] - net/mlx5: Support enable_vnet devlink dev param (Amir Tzin) [2049434] - net/mlx5: Support enable_rdma devlink dev param (Amir Tzin) [2049434] - net/mlx5: Support enable_eth devlink dev param (Amir Tzin) [2049434] - RDMA/mlx5: Drop in-driver verbs object creations (Amir Tzin) [2049434] - RDMA/mlx5: Delete device resource mutex that didn't protect anything (Amir Tzin) [2049434] - RDMA/mlx5: Cancel pkey work before destroying device resources (Amir Tzin) [2049434] - net/mlx5e: Return -EOPNOTSUPP if more relevant when parsing tc actions (Amir Tzin) [2049434] - net/mlx5e: Remove redundant assignment of counter to null (Amir Tzin) [2049434] - net/mlx5e: Remove redundant parse_attr arg (Amir Tzin) [2049434] - net/mlx5e: Remove redundant cap check for flow counter (Amir Tzin) [2049434] - net/mlx5e: Remove redundant filter_dev arg from parse_tc_fdb_actions() (Amir Tzin) [2049434] - net/mlx5e: Remove redundant tc act includes (Amir Tzin) [2049434] - IB/mlx5: Rename is_apu_thread_cq function to is_apu_cq (Amir Tzin) [2049434] - RDMA/mlx5: Add DCS offload support (Amir Tzin) [2049434] - RDMA/mlx5: Separate DCI QP creation logic (Amir Tzin) [2049434] - net/mlx5: Add DCS caps & fields support (Amir Tzin) [2049434] - KVM: nVMX: Inject #UD if VMXON is attempted with incompatible CR0/CR4 (Vitaly Kuznetsov) [2119233] - mm: Fix PASID use-after-free issue (Jerry Snitselaar) [2113046] - scsi: csiostor: Uninitialized data in csio_ln_vnp_read_cbfn() (Rahul Lakkireddy) [2105815] - scsi: csiostor: Use scsi_cmd_to_rq() instead of scsi_cmnd.request (Rahul Lakkireddy) [2105815] - scsi: csiostor: Fix a typo (Rahul Lakkireddy) [2105815] - scsi: csiostor: Assign boolean values to a bool variable (Rahul Lakkireddy) [2105815] - scsi: csiostor: Fix fall-through warnings for Clang (Rahul Lakkireddy) [2105815] - scsi: csiostor: Fix spelling mistake "couldnt" -> "couldn't" (Rahul Lakkireddy) [2105815] - scsi: csiostor: Add missing description for csio_rnode_fwevt_handler()'s 'fwevt' param (Rahul Lakkireddy) [2105815] - scsi: csiostor: Remove 2 unused variables {mc,edc}_bist_status_rdata_reg (Rahul Lakkireddy) [2105815] - scsi: csiostor: Demote kerneldoc that fails to meet the criteria (Rahul Lakkireddy) [2105815] - scsi: csiostor: Fix misnamed function parameter (Rahul Lakkireddy) [2105815] - scsi: csiostor: Adjust indentation in csio_device_reset (Rahul Lakkireddy) [2105815] - mediatek: mt76: eeprom: fix missing of_node_put() in mt76_find_power_limits_node() (Jose Ignacio Tornos Martinez) [2103625] - wifi: mac80211: consider EHT element size in assoc request (Jose Ignacio Tornos Martinez) [2103625] - wifi: mac80211: switch airtime fairness back to deficit round-robin scheduling (Jose Ignacio Tornos Martinez) [2103625] - mt76: mt7615: fix throughput regression on DFS channels (Jose Ignacio Tornos Martinez) [2103625] - mt76: mt7915: fix incorrect testmode ipg on band 1 caused by wmm_idx (Jose Ignacio Tornos Martinez) [2103625] - mt76: mt7921: enlarge maximum VHT MPDU length to 11454 (Jose Ignacio Tornos Martinez) [2103625] - mt76: mt7921: fix aggregation subframes setting to HE max (Jose Ignacio Tornos Martinez) [2103625] - wifi: mac80211_hwsim: set virtio device ready in probe() (Jose Ignacio Tornos Martinez) [2103625] - mt76: mt7921s: fix possible sdio deadlock in command fail (Jose Ignacio Tornos Martinez) [2103625] - wifi: rtw89: 8852a: rfk: fix div 0 exception (Jose Ignacio Tornos Martinez) [2103625] - mt76: mt7921: do not update pm states in case of error (Jose Ignacio Tornos Martinez) [2103625] - mt76: mt7615: do not update pm stats in case of error (Jose Ignacio Tornos Martinez) [2103625] - ath11k: Avoid REO CMD failed prints during firmware recovery (Jose Ignacio Tornos Martinez) [2103625] - ath11k: Fix incorrect debug_mask mappings (Jose Ignacio Tornos Martinez) [2103625] - ath11k: fix missing skb drop on htc_tx_completion error (Jose Ignacio Tornos Martinez) [2103625] - mt76: mt7921s: fix firmware download random fail (Jose Ignacio Tornos Martinez) [2103625] - ath11k: fix IRQ affinity warning on shutdown (Jose Ignacio Tornos Martinez) [2103625] - ath11k: fix netdev open race (Jose Ignacio Tornos Martinez) [2103625] - iwlwifi: fw: init SAR GEO table only if data is present (Jose Ignacio Tornos Martinez) [2103625] - ath10k: htt_tx: do not interpret Eth frames as WiFi (Jose Ignacio Tornos Martinez) [2103625] - ath11k: Don't check arvif->is_started before sending management frames (Jose Ignacio Tornos Martinez) [2103625] - mt76: mt7915: fix twt table_mask to u16 in mt7915_dev (Jose Ignacio Tornos Martinez) [2103625] - ath11k: reset 11d state in process of recovery (Jose Ignacio Tornos Martinez) [2103625] - brcmfmac: use ISO3166 country code and 0 rev as fallback on brcmfmac43602 chips (Jose Ignacio Tornos Martinez) [2103625] - mt76: fix tx status related use-after-free race on station removal (Jose Ignacio Tornos Martinez) [2103625] - mt76: do not attempt to reorder received 802.3 packets without agg session (Jose Ignacio Tornos Martinez) [2103625] - mt76: mt7921: fix kernel crash at mt7921_pci_remove (Jose Ignacio Tornos Martinez) [2103625] - mt76: fix antenna config missing in 6G cap (Jose Ignacio Tornos Martinez) [2103625] - mt76: mt7915: report rx mode value in mt7915_mac_fill_rx_rate (Jose Ignacio Tornos Martinez) [2103625] - mt76: mt7915: do not pass data pointer to mt7915_mcu_muru_debug_set (Jose Ignacio Tornos Martinez) [2103625] - mt76: mt7915: fix possible NULL pointer dereference in mt7915_mac_fill_rx_vector (Jose Ignacio Tornos Martinez) [2103625] - mt76: mt7915: fix possible uninitialized pointer dereference in mt7986_wmac_gpio_setup (Jose Ignacio Tornos Martinez) [2103625] - ath10k: enable napi on RX path for usb (Jose Ignacio Tornos Martinez) [2103625] - ath11k: fix the warning of dev_wake in mhi_pm_disable_transition() (Jose Ignacio Tornos Martinez) [2103625] - ath11k: acquire ab->base_lock in unassign when finding the peer by addr (Jose Ignacio Tornos Martinez) [2103625] - mt76: mt7915: fix unbounded shift in mt7915_mcu_beacon_mbss (Jose Ignacio Tornos Martinez) [2103625] - mt76: mt7915: fix DBDC default band selection on MT7915D (Jose Ignacio Tornos Martinez) [2103625] - mt76: mt7921: honor pm user configuration in mt7921_sniffer_interface_iter (Jose Ignacio Tornos Martinez) [2103625] - i40e: Fix tunnel checksum offload with fragmented traffic (Ivan Vecera) [2107977] - net/mlx5e: Fix matchall police parameters validation (Ivan Vecera) [2106271] - net/sched: act_police: allow 'continue' action offload (Ivan Vecera) [2106271] - net: Print hashed skb addresses for all net and qdisc events (Ivan Vecera) [2106271] - net: sched: fixed barrier to prevent skbuff sticking in qdisc backlog (Ivan Vecera) [2106271] - net/sched: act_pedit: sanitize shift argument before usage (Ivan Vecera) [2106271] - net/sched: act_pedit: really ensure the skb is writable (Ivan Vecera) [2106271] - net/sched: taprio: Check if socket flags are valid (Ivan Vecera) [2106271] - net/sched: flower: Avoid overwriting error messages (Ivan Vecera) [2106271] - net/sched: matchall: Avoid overwriting error messages (Ivan Vecera) [2106271] - net/sched: cls_api: Add extack message for unsupported action offload (Ivan Vecera) [2106271] - net/sched: act_vlan: Add extack message for offload failure (Ivan Vecera) [2106271] - net/sched: act_tunnel_key: Add extack message for offload failure (Ivan Vecera) [2106271] - net/sched: act_skbedit: Add extack messages for offload failure (Ivan Vecera) [2106271] - net/sched: act_police: Add extack messages for offload failure (Ivan Vecera) [2106271] - net/sched: act_pedit: Add extack message for offload failure (Ivan Vecera) [2106271] - net/sched: act_mpls: Add extack messages for offload failure (Ivan Vecera) [2106271] - net/sched: act_mirred: Add extack message for offload failure (Ivan Vecera) [2106271] - net/sched: act_gact: Add extack messages for offload failure (Ivan Vecera) [2106271] - net/sched: act_api: Add extack to offload_act_setup() callback (Ivan Vecera) [2106271] - net/sched: flower: Take verbose flag into account when logging error messages (Ivan Vecera) [2106271] - net/sched: matchall: Take verbose flag into account when logging error messages (Ivan Vecera) [2106271] - net/sched: fix incorrect vlan_push_eth dest field (Ivan Vecera) [2106271] - net/sched: add vlan push_eth and pop_eth action to the hardware IR (Ivan Vecera) [2106271] - selftests: tc-testing: Increase timeout in tdc config file (Ivan Vecera) [2106271] - flow_offload: improve extack msg for user when adding invalid filter (Ivan Vecera) [2106271] - flow_offload: reject offload for all drivers with invalid police parameters (Ivan Vecera) [2106271] - net: flow_offload: add tc police action parameters (Ivan Vecera) [2106271] - net: sched: avoid newline at end of message in NL_SET_ERR_MSG_MOD (Ivan Vecera) [2106271] - net_sched: add __rcu annotation to netdev->qdisc (Ivan Vecera) [2106271] - net/sched: act_police: more accurate MTU policing (Ivan Vecera) [2106271] - net/sched: Enable tc skb ext allocation on chain miss only when needed (Ivan Vecera) [2106271] - net: sched: remove qdisc_qlen_cpu() (Ivan Vecera) [2106271] - net: sched: remove psched_tdiff_bounded() (Ivan Vecera) [2106271] - net: sched: Clarify error message when qdisc kind is unknown (Ivan Vecera) [2106271] - sch_cake: revise Diffserv docs (Ivan Vecera) [2106271] - flow_offload: fix suspicious RCU usage when offloading tc action (Ivan Vecera) [2106271] - net/sched: use min() macro instead of doing it manually (Ivan Vecera) [2106271] - selftests: tc-testing: add action offload selftest for action and filter (Ivan Vecera) [2106271] - flow_offload: validate flags of filter and actions (Ivan Vecera) [2106271] - flow_offload: add reoffload process to update hw_count (Ivan Vecera) [2106271] - net: sched: save full flags for tc action (Ivan Vecera) [2106271] - flow_offload: add process to update action stats from hardware (Ivan Vecera) [2106271] - flow_offload: rename exts stats update functions with hw (Ivan Vecera) [2106271] - flow_offload: add skip_hw and skip_sw to control if offload the action (Ivan Vecera) [2106271] - flow_offload: allow user to offload tc action to net device (Ivan Vecera) [2106271] - flow_offload: add ops to tc_action_ops for flow action setup (Ivan Vecera) [2106271] - flow_offload: rename offload functions with offload instead of flow (Ivan Vecera) [2106271] - flow_offload: add index to flow_action_entry structure (Ivan Vecera) [2106271] - flow_offload: reject to offload tc actions in offload drivers (Ivan Vecera) [2106271] - flow_offload: fill flags to action structure (Ivan Vecera) [2106271] - sch_cake: do not call cake_destroy() from cake_init() (Ivan Vecera) [2106271] - net/sched: fq_pie: prevent dismantle issue (Ivan Vecera) [2106271] - selftests/tc-testing: Fix cannot create /sys/bus/netdevsim/new_device: Directory nonexistent (Ivan Vecera) [2106271] - selftests/tc-testing: add missing config (Ivan Vecera) [2106271] - selftests/tc-testing: add exit code (Ivan Vecera) [2106271] - net/sched: act_ct: Offload only ASSURED connections (Ivan Vecera) [2106271] - selftests/tc-testings: Be compatible with newer tc output (Ivan Vecera) [2106271] - selftests: forwarding: Fix packet matching in mirroring selftests (Ivan Vecera) [2106271] - net/sched: sch_taprio: fix undefined behavior in ktime_mono_to_any (Ivan Vecera) [2106271] - cls_flower: Fix inability to match GRE/IPIP packets (Ivan Vecera) [2106271] - sch_htb: Add extack messages for EOPNOTSUPP errors (Ivan Vecera) [2106271] - net: sch: simplify condtion for selecting mini_Qdisc_pair buffer (Ivan Vecera) [2106271] - net: sch: eliminate unnecessary RCU waits in mini_qdisc_pair_swap() (Ivan Vecera) [2106271] - net: sched: gred: dynamically allocate tc_gred_qopt_offload (Ivan Vecera) [2106271] - net: stats: Read the statistics in ___gnet_stats_copy_basic() instead of adding. (Ivan Vecera) [2106271] - net: sched: Allow statistics reads from softirq. (Ivan Vecera) [2106271] - net: sched: remove one pair of atomic operations (Ivan Vecera) [2106271] - net: sched: fix logic error in qdisc_run_begin() (Ivan Vecera) [2106271] - net: sch_tbf: Add a graft command (Ivan Vecera) [2106271] - net: sched: Remove Qdisc::running sequence counter (Ivan Vecera) [2106271] - net: sched: Merge Qdisc::bstats and Qdisc::cpu_bstats data types (Ivan Vecera) [2106271] - net: sched: Use _bstats_update/set() instead of raw writes (Ivan Vecera) [2106271] - net: sched: Protect Qdisc::bstats with u64_stats (Ivan Vecera) [2106271] - u64_stats: Introduce u64_stats_set() (Ivan Vecera) [2106271] - gen_stats: Move remaining users to gnet_stats_add_queue(). (Ivan Vecera) [2106271] - mq, mqprio: Use gnet_stats_add_queue(). (Ivan Vecera) [2106271] - gen_stats: Add gnet_stats_add_queue(). (Ivan Vecera) [2106271] - gen_stats: Add instead Set the value in __gnet_stats_copy_basic(). (Ivan Vecera) [2106271] - testing: selftests: tc_common: Add tc_check_at_least_x_packets() (Ivan Vecera) [2106271] - testing: selftests: forwarding.config.sample: Add tc flag (Ivan Vecera) [2106271] - net/sched: sch_taprio: properly cancel timer from taprio_destroy() (Ivan Vecera) [2106271] - net: sched: Use struct_size() helper in kvmalloc() (Ivan Vecera) [2106271] - net_sched: Use struct_size() and flex_array_size() helpers (Ivan Vecera) [2106271] - net: prevent user from passing illegal stab size (Ivan Vecera) [2106271] - net: sched: move and reuse mq_change_real_num_tx() (Ivan Vecera) [2106271] - selftests: net: test ethtool -L vs mq (Ivan Vecera) [2106271] - netdevsim: add ability to change channel count (Ivan Vecera) [2106271] - net: add netif_set_real_num_queues() for device reconfig (Ivan Vecera) [2106271] - net: sched: update default qdisc visibility after Tx queue cnt changes (Ivan Vecera) [2106271] - fix array-index-out-of-bounds in taprio_change (Ivan Vecera) [2106271] - Revert "flow_offload: action should not be NULL when it is referenced" (Ivan Vecera) [2106271] - sch_cake: fix srchost/dsthost hashing mode (Ivan Vecera) [2106271] - net/sched: cls_api, reset flags on replay (Ivan Vecera) [2106271] - net: sched: provide missing kdoc for tcf_pkt_info and tcf_ematch_ops (Ivan Vecera) [2106271] - net: flow_offload: correct comments mismatch with code (Ivan Vecera) [2106271] - net/sched: taprio: Fix init procedure (Ivan Vecera) [2106271] - net_sched: refactor TC action init API (Ivan Vecera) [2106271] - tc-testing: Add control-plane selftest for skbmod SKBMOD_F_ECN option (Ivan Vecera) [2106271] - net/sched: act_skbmod: Add SKBMOD_F_ECN option support (Ivan Vecera) [2106271] - qdisc: add new field for qdisc_enqueue tracepoint (Ivan Vecera) [2106271] - net/sched: act_skbmod: Skip non-Ethernet packets (Ivan Vecera) [2106271] - net/sched: Remove unnecessary if statement (Ivan Vecera) [2106271] - net_sched: introduce tracepoint trace_qdisc_enqueue() (Ivan Vecera) [2106271] - net_sched: use px to print skb address in trace_qdisc_dequeue() (Ivan Vecera) [2106271] - net: use px to print skb address in trace_netif_receive_skb (Ivan Vecera) [2106271] - net/sched: sch_taprio: fix typo in comment (Ivan Vecera) [2106271] - flow_offload: action should not be NULL when it is referenced (Ivan Vecera) [2106271] - net: sched: remove qdisc->empty for lockless qdisc (Ivan Vecera) [2106271] - net: sched: implement TCQ_F_CAN_BYPASS for lockless qdisc (Ivan Vecera) [2106271] - net: sched: avoid unnecessary seqcount operation for lockless qdisc (Ivan Vecera) [2106271] - Revert "net/sched: cls_flower: Remove match on n_proto" (Ivan Vecera) [2106271] - net: sched: add barrier to ensure correct ordering for lockless qdisc (Ivan Vecera) [2106271] - net: sched: fix error return code in tcf_del_walker() (Ivan Vecera) [2106271] - net/sched: cls_flower: Remove match on n_proto (Ivan Vecera) [2106271] - sch_cake: revise docs for RFC 8622 LE PHB support (Ivan Vecera) [2106271] - sch_cake: Fix out of bounds when parsing TCP options and header (Ivan Vecera) [2106271] - sch_htb: fix doc warning in htb_lookup_leaf() (Ivan Vecera) [2106271] - sch_htb: fix doc warning in htb_do_events() (Ivan Vecera) [2106271] - sch_htb: fix doc warning in htb_charge_class() (Ivan Vecera) [2106271] - sch_htb: fix doc warning in htb_deactivate() (Ivan Vecera) [2106271] - sch_htb: fix doc warning in htb_activate() (Ivan Vecera) [2106271] - sch_htb: fix doc warning in htb_change_class_mode() (Ivan Vecera) [2106271] - sch_htb: fix doc warning in htb_class_mode() (Ivan Vecera) [2106271] - sch_htb: fix doc warning in htb_deactivate_prios() (Ivan Vecera) [2106271] - sch_htb: fix doc warning in htb_activate_prios() (Ivan Vecera) [2106271] - sch_htb: fix doc warning in htb_remove_class_from_row() (Ivan Vecera) [2106271] - sch_htb: fix doc warning in htb_add_class_to_row() (Ivan Vecera) [2106271] - sch_htb: fix doc warning in htb_next_rb_node() (Ivan Vecera) [2106271] - sch_htb: fix doc warning in htb_add_to_wait_tree() (Ivan Vecera) [2106271] - sch_htb: fix doc warning in htb_add_to_id_tree() (Ivan Vecera) [2106271] - net/sched: act_vlan: Test priority 0 modification (Ivan Vecera) [2106271] - net/sched: act_vlan: No dump for unset priority (Ivan Vecera) [2106271] - net: sched: Fix spelling mistakes (Ivan Vecera) [2106271] - net/sched: fq_pie: fix OOB access in the traffic path (Ivan Vecera) [2106271] - net/sched: fq_pie: re-factor fix for fq_pie endless loop (Ivan Vecera) [2106271] - net: taprio offload: enforce qdisc to netdev queue mapping (Ivan Vecera) [2106271] - net/sched: taprio: Drop unnecessary NULL check after container_of (Ivan Vecera) [2106271] - net: flow_offload: add FLOW_ACTION_PPPOE_PUSH (Ivan Vecera) [2106271] - gve: Recording rx queue before sending to napi (Jordan Kimbrough) [2018609] - gve: fix the wrong AdminQ buffer queue index check (Jordan Kimbrough) [2018609] - gve: Fix GFP flags when allocing pages (Jordan Kimbrough) [2018609] - gve: Add tx|rx-coalesce-usec for DQO (Jordan Kimbrough) [2018609] - gve: Add consumed counts to ethtool stats (Jordan Kimbrough) [2018609] - gve: Implement suspend/resume/shutdown (Jordan Kimbrough) [2018609] - gve: Add optional metadata descriptor type GVE_TXD_MTD (Jordan Kimbrough) [2018609] - gve: remove memory barrier around seqno (Jordan Kimbrough) [2018609] - gve: Update gve_free_queue_page_list signature (Jordan Kimbrough) [2018609] - gve: Move the irq db indexes out of the ntfy block struct (Jordan Kimbrough) [2018609] - gve: Correct order of processing device options (Jordan Kimbrough) [2018609] - gve: fix for null pointer dereference. (Jordan Kimbrough) [2018609] - gve: fix unmatched u64_stats_update_end() (Jordan Kimbrough) [2018609] - gve: Fix off by one in gve_tx_timeout() (Jordan Kimbrough) [2018609] - gve: Add a jumbo-frame device option. (Jordan Kimbrough) [2018609] - gve: Implement packet continuation for RX. (Jordan Kimbrough) [2018609] - gve: Add RX context. (Jordan Kimbrough) [2018609] - gve: Track RX buffer allocation failures (Jordan Kimbrough) [2018609] - gve: Allow pageflips on larger pages (Jordan Kimbrough) [2018609] - gve: Add netif_set_xps_queue call (Jordan Kimbrough) [2018609] - gve: Recover from queue stall due to missed IRQ (Jordan Kimbrough) [2018609] - gve: Do lazy cleanup in TX path (Jordan Kimbrough) [2018609] - gve: Add rx buffer pagecnt bias (Jordan Kimbrough) [2018609] - gve: Switch to use napi_complete_done (Jordan Kimbrough) [2018609] - gve: report 64bit tx_bytes counter from gve_handle_report_stats() (Jordan Kimbrough) [2018609] - gve: fix gve_get_stats() (Jordan Kimbrough) [2018609] - gve: Properly handle errors in gve_assign_qpl (Jordan Kimbrough) [2018609] - gve: Avoid freeing NULL pointer (Jordan Kimbrough) [2018609] - gve: Correct available tx qpl check (Jordan Kimbrough) [2018609] - ethernet: use eth_hw_addr_set() instead of ether_addr_copy() (Jordan Kimbrough) [2018609] - gve: Use kvcalloc() instead of kvzalloc() (Jordan Kimbrough) [2018609] - gve: DQO: avoid unused variable warnings (Jordan Kimbrough) [2018609] - gve: fix the wrong AdminQ buffer overflow check (Jordan Kimbrough) [2018609] - gve: DQO: Remove incorrect prefetch (Jordan Kimbrough) [2018609] - gve: Simplify code and axe the use of a deprecated API (Jordan Kimbrough) [2018609] - gve: Propagate error codes to caller (Jordan Kimbrough) [2018609] - gve: Fix an error handling path in 'gve_probe()' (Jordan Kimbrough) [2018609] - gve: DQO: Fix off by one in gve_rx_dqo() (Jordan Kimbrough) [2018609] - gve: Fix swapped vars when fetching max queues (Jordan Kimbrough) [2018609] - gve: Fix warnings reported for DQO patchset (Jordan Kimbrough) [2018609] - gve: DQO: Add RX path (Jordan Kimbrough) [2018609] - gve: DQO: Add TX path (Jordan Kimbrough) [2018609] - gve: DQO: Configure interrupts on device up (Jordan Kimbrough) [2018609] - gve: DQO: Add ring allocation and initialization (Jordan Kimbrough) [2018609] - gve: DQO: Add core netdev features (Jordan Kimbrough) [2018609] - gve: Update adminq commands to support DQO queues (Jordan Kimbrough) [2018609] - gve: Add DQO fields for core data structures (Jordan Kimbrough) [2018609] - gve: Add dqo descriptors (Jordan Kimbrough) [2018609] - gve: Add support for DQO RX PTYPE map (Jordan Kimbrough) [2018609] - gve: adminq: DQO specific device descriptor logic (Jordan Kimbrough) [2018609] - gve: Introduce per netdev `enum gve_queue_format` (Jordan Kimbrough) [2018609] - gve: Introduce a new model for device options (Jordan Kimbrough) [2018609] - gve: Make gve_rx_slot_page_info.page_offset an absolute offset (Jordan Kimbrough) [2018609] - gve: gve_rx_copy: Move padding to an argument (Jordan Kimbrough) [2018609] - gve: Move some static functions to a common file (Jordan Kimbrough) [2018609] - gve: Correct SKB queue index validation. (Jordan Kimbrough) [2018609] - gve: Upgrade memory barrier in poll routine (Jordan Kimbrough) [2018609] - gve: Add NULL pointer checks when freeing irqs. (Jordan Kimbrough) [2018609] - gve: Update mgmt_msix_idx if num_ntfy changes (Jordan Kimbrough) [2018609] - gve: Check TX QPL was actually assigned (Jordan Kimbrough) [2018609] - net: gve: remove duplicated allowed (Jordan Kimbrough) [2018609] - net: gve: convert strlcpy to strscpy (Jordan Kimbrough) [2018609] - gve: Add support for raw addressing in the tx path (Jordan Kimbrough) [2018609] - gve: Rx Buffer Recycling (Jordan Kimbrough) [2018609] - gve: Add support for raw addressing to the rx path (Jordan Kimbrough) [2018609] - gve: Add support for raw addressing device option (Jordan Kimbrough) [2018609] - net: don't include ethtool.h from netdevice.h (Jordan Kimbrough) [2018609] - gve: Replace zero-length array with flexible-array member (Jordan Kimbrough) [2018609] - gve: Enable Link Speed Reporting in the driver. (Jordan Kimbrough) [2018609] - gve: Use link status register to report link status (Jordan Kimbrough) [2018609] - gve: Batch AQ commands for creating and destroying queues. (Jordan Kimbrough) [2018609] - gve: NIC stats for report-stats and for ethtool (Jordan Kimbrough) [2018609] - gve: Add Gvnic stats AQ command and ethtool show/set-priv-flags. (Jordan Kimbrough) [2018609] - gve: Use dev_info/err instead of netif_info/err. (Jordan Kimbrough) [2018609] - gve: Add stats for gve. (Jordan Kimbrough) [2018609] - gve: Get and set Rx copybreak via ethtool (Jordan Kimbrough) [2018609] - redhat: update ppc64le secureboot signing key (Jarod Wilson) [2109215] - tools: add cpupower daemon reload when installed/upgraded (Jarod Wilson) [2042424] - sfc: fix use after free when disabling sriov (Íñigo Huguet) [2105999] - drm/nouveau: recognise GA103 (Karol Herbst) [1923125] - drm/aperture: Run fbdev removal before internal helpers (Michel Dänzer) [2088410] - drm/i915/ttm: fix 32b build (Michel Dänzer) [2088410] - drm/amd/display: Ensure valid event timestamp for cursor-only commits (Michel Dänzer) [2088410] - drm/amd/pm: Prevent divide by zero (Michel Dänzer) [2088410] - drm/amd/display: Only use depth 36 bpp linebuffers on DCN display engines. (Michel Dänzer) [2088410] - drm/amdkfd: correct the MEC atomic support firmware checking for GC 10.3.7 (Michel Dänzer) [2088410] - drm/i915/selftests: fix subtraction overflow bug (Michel Dänzer) [2088410] - drm/i915/gt: Serialize TLB invalidates with GT resets (Michel Dänzer) [2088410] - drm/i915/gt: Serialize GRDOM access between multiple engine resets (Michel Dänzer) [2088410] - drm/i915/ttm: fix sg_table construction (Michel Dänzer) [2088410] - drm/i915/selftests: fix a couple IS_ERR() vs NULL tests (Michel Dänzer) [2088410] - drm/i915/gvt: IS_ERR() vs NULL bug in intel_gvt_update_reg_whitelist() (Michel Dänzer) [2088410] - drm/i915/guc: ADL-N should use the same GuC FW as ADL-S (Michel Dänzer) [2088410] - drm/i915: fix a possible refcount leak in intel_dp_add_mst_connector() (Michel Dänzer) [2088410] - drm/amdgpu/display: disable prefer_shadow for generic fb helpers (Michel Dänzer) [2088410] - drm/amdgpu: keep fbdev buffers pinned during suspend (Michel Dänzer) [2088410] - drm/fourcc: fix integer type usage in uapi header (Michel Dänzer) [2088410] - drm/i915/dgfx: Disable d3cold at gfx root port (Michel Dänzer) [2088410] - drm/i915/gem: add missing else (Michel Dänzer) [2088410] - drm/amdgpu: To flush tlb for MMHUB of RAVEN series (Michel Dänzer) [2088410] - Revert "drm/amdgpu/display: set vblank_disable_immediate for DC" (Michel Dänzer) [2088410] - drm/amdgpu: fix adev variable used in amdgpu_device_gpu_recover() (Michel Dänzer) [2088410] - drm/amd: Revert "drm/amd/display: keep eDP Vdd on when eDP stream is already enabled" (Michel Dänzer) [2088410] - udmabuf: add back sanity check (Michel Dänzer) [2088410] - drm/amd/display: Fix typo in override_lane_settings (Michel Dänzer) [2088410] - amd/display/dc: Fix COLOR_ENCODING and COLOR_RANGE doing nothing for DCN20+ (Michel Dänzer) [2088410] - drm/i915: Implement w/a 22010492432 for adl-s (Michel Dänzer) [2088410] - drm/i915/uc: remove accidental static from a local variable (Michel Dänzer) [2088410] - drm/amd/display: Cap OLED brightness per max frame-average luminance (Michel Dänzer) [2088410] - drm/amdgpu: Fix GTT size reporting in amdgpu_ioctl (Michel Dänzer) [2088410] - drm/i915/reset: Fix error_state_read ptr + offset use (Michel Dänzer) [2088410] - drm/amdkfd: add pinned BOs to kfd_bo_list (Michel Dänzer) [2088410] - drm/amdkfd: Use mmget_not_zero in MMU notifier (Michel Dänzer) [2088410] - drm/amdgpu: Resolve RAS GFX error count issue after cold boot on Arcturus (Michel Dänzer) [2088410] - drm/amd/display: Read Golden Settings Table from VBIOS (Michel Dänzer) [2088410] - Revert "drm/amd/display: Fix DCN3 B0 DP Alt Mapping" (Michel Dänzer) [2088410] - drm/amdgpu: update VCN codec support for Yellow Carp (Michel Dänzer) [2088410] - drm/amd/display: remove stale config guards (Michel Dänzer) [2088410] - drm/amdgpu/jpeg2: Add jpeg vmid update under IB submit (Michel Dänzer) [2088410] - drm/atomic: Force bridge self-refresh-exit on CRTC switch (Michel Dänzer) [2088410] - drm/bridge: analogix_dp: Support PSR-exit to disable transition (Michel Dänzer) [2088410] - drm/amdkfd:Fix fw version for 10.3.6 (Michel Dänzer) [2088410] - drm/amd/pm: use bitmap_{from,to}_arr32 where appropriate (Michel Dänzer) [2088410] - drm/amd/pm: correct the metrics version for SMU 11.0.11/12/13 (Michel Dänzer) [2088410] - drm/amd/pm: Fix missing thermal throttler status (Michel Dänzer) [2088410] - drm/amd/pm: fix a potential gpu_metrics_table memory leak (Michel Dänzer) [2088410] - drm/radeon: fix a possible null pointer dereference (Michel Dänzer) [2088410] - drm/amd/display: Check zero planes for OTG disable W/A on clock change (Michel Dänzer) [2088410] - drm/amd/display: Check if modulo is 0 before dividing. (Michel Dänzer) [2088410] - drm/amdgpu: fix limiting AV1 to the first instance on VCN3 (Michel Dänzer) [2088410] - drm/bridge: ti-sn65dsi83: Handle dsi_lanes == 0 as invalid (Michel Dänzer) [2088410] - drm/amdgpu: Off by one in dm_dmub_outbox1_low_irq() (Michel Dänzer) [2088410] - gma500: fix an incorrect NULL check on list iterator (Michel Dänzer) [2088410] - drm/i915/dsi: fix VBT send packet port selection for ICL+ (Michel Dänzer) [2088410] - drm/bridge: analogix_dp: Grab runtime PM reference for DP-AUX (Michel Dänzer) [2088410] - drm/nouveau/kms/nv50-: atom: fix an incorrect NULL check on list iterator (Michel Dänzer) [2088410] - drm/nouveau/clk: Fix an incorrect NULL check on list iterator (Michel Dänzer) [2088410] - drm/nouveau/subdev/bus: Ratelimit logging for fault errors (Michel Dänzer) [2088410] - drm/amdgpu/cs: make commands with 0 chunks illegal behaviour. (Michel Dänzer) [2088410] - drm/amdgpu: add beige goby PCI ID (Michel Dänzer) [2088410] - drm/i915: Fix CFI violation with show_dynamic_id() (Michel Dänzer) [2088410] - drm/bridge: it6505: Send DPCD SET_POWER to downstream (Michel Dänzer) [2088410] - drm/panel: panel-simple: Fix proper bpc for AM-1280800N3TZQW-T00H (Michel Dänzer) [2088410] - drm/panel: simple: Add missing bus flags for Innolux G070Y2-L01 (Michel Dänzer) [2088410] - drm/bridge: Fix it6505 Kconfig DRM_DP_AUX_BUS dependency (Michel Dänzer) [2088410] - drm/bridge: Fix error handling in analogix_dp_probe (Michel Dänzer) [2088410] - drm/bridge: anx7625: Use uint8 for lane-swing arrays (Michel Dänzer) [2088410] - drm/amd/amdgpu: Remove static from variable in RLCG Reg RW (Michel Dänzer) [2088410] - drm/amd/amdgpu: Fix asm/hypervisor.h build error. (Michel Dänzer) [2088410] - drm/amd/amdgpu: Only reserve vram for firmware with vega9 MS_HYPERV host. (Michel Dänzer) [2088410] - drm: bridge: icn6211: Fix HFP_HSW_HBP_HI and HFP_MIN handling (Michel Dänzer) [2088410] - drm: bridge: icn6211: Fix register layout (Michel Dänzer) [2088410] - drm/bridge: adv7511: clean up CEC adapter when probe fails (Michel Dänzer) [2088410] - drm/bridge: anx7625: add missing destroy_workqueue() in anx7625_i2c_probe() (Michel Dänzer) [2088410] - drm/edid: fix invalid EDID extension block filtering (Michel Dänzer) [2088410] - drm/bridge: it6505: Fix build error (Michel Dänzer) [2088410] - drm: bridge: it66121: Fix the register page length (Michel Dänzer) [2088410] - drm/vmwgfx: Fix an invalid read (Michel Dänzer) [2088410] - drm/ssd130x: Reduce temporary buffer sizes (Michel Dänzer) [2088410] - drm/ssd130x: Fix rectangle updates (Michel Dänzer) [2088410] - drm/format-helper: Fix XRGB888 to monochrome conversion (Michel Dänzer) [2088410] - drm/format-helper: Rename drm_fb_xrgb8888_to_mono_reversed() (Michel Dänzer) [2088410] - drm/solomon: Make DRM_SSD130X depends on MMU (Michel Dänzer) [2088410] - drm: ssd130x: Always apply segment remap setting (Michel Dänzer) [2088410] - drm: ssd130x: Fix COM scan direction register mask (Michel Dänzer) [2088410] - drm/bridge: anx7625: check the return on anx7625_aux_trans (Michel Dänzer) [2088410] - drm/selftests: missing error code in igt_buddy_alloc_smoke() (Michel Dänzer) [2088410] - drm/bridge_connector: enable HPD by default if supported (Michel Dänzer) [2088410] - drm: fix EDID struct for old ARM OABI format (Michel Dänzer) [2088410] - drm/amdgpu: Move mutex_init(&smu->message_lock) to smu_early_init() (Michel Dänzer) [2088410] - drm/amd/pm: update smartshift powerboost calc for smu13 (Michel Dänzer) [2088410] - drm/amd/pm: update smartshift powerboost calc for smu12 (Michel Dänzer) [2088410] - drm/amdgpu/ucode: Remove firmware load type check in amdgpu_ucode_free_bo (Michel Dänzer) [2088410] - drm/amdgpu/psp: move PSP memory alloc from hw_init to sw_init (Michel Dänzer) [2088410] - drm/amd/pm: fix the compile warning (Michel Dänzer) [2088410] - drm/amdkfd: Fix circular lock dependency warning (Michel Dänzer) [2088410] - drm/plane: Move range check for format_count earlier (Michel Dänzer) [2088410] - drm/amdgpu/sdma: Fix incorrect calculations of the wptr of the doorbells (Michel Dänzer) [2088410] - drm/amd/pm: fix double free in si_parse_power_table() (Michel Dänzer) [2088410] - drm/amdgpu/pm: fix the null pointer while the smu is disabled (Michel Dänzer) [2088410] - drm/amd/display: Disabling Z10 on DCN31 (Michel Dänzer) [2088410] - drm/virtio: fix NULL pointer dereference in virtio_gpu_conn_get_modes (Michel Dänzer) [2088410] - drm/vmwgfx: validate the screen formats (Michel Dänzer) [2088410] - drm/selftests: fix a shift-out-of-bounds bug (Michel Dänzer) [2088410] - drm/i915: Fix -Wstringop-overflow warning in call to intel_read_wm_latency() (Michel Dänzer) [2088410] - selftests/xsk: Disable hanging BPF RES tests (Felix Maurer) [2116940] - NLM: Defend against file_lock changes after vfs_test_lock() (Benjamin Coddington) [2094884] - ice: Fix VF not able to send tagged traffic with no VLAN filters (Petr Oros) [2055446] - ice: Ignore error message when setting same promiscuous mode (Petr Oros) [2100683] - ice: Fix clearing of promisc mode with bridge over bond (Petr Oros) [2100683] - ice: Ignore EEXIST when setting promisc mode (Petr Oros) [2100683] - ice: Fix double VLAN error when entering promisc mode (Petr Oros) [2100683]- fs: dlm: fix build with CONFIG_IPV6 disabled (Alexander Aring) [2036988] - fs: dlm: don't call kernel_getpeername() in error_report() (Alexander Aring) [2036988] - fs: dlm: use sk->sk_socket instead of con->sock (Alexander Aring) [2036988] - x86: intel_epb: Allow model specific normal EPB value (Prarit Bhargava) [2101488] - x86: intel_epb: Do not build when CONFIG_PM is unset (Prarit Bhargava) [2101488] - x86: intel_epb: Take CONFIG_PM into account (Prarit Bhargava) [2101488] - PM / arch: x86: MSR_IA32_ENERGY_PERF_BIAS sysfs interface (Prarit Bhargava) [2101488] - PM / arch: x86: Rework the MSR_IA32_ENERGY_PERF_BIAS handling (Prarit Bhargava) [2101488] - thermal: int340x: Add Raptor Lake PCI device id (Prarit Bhargava) [2064828] - thermal: int340x: Support Raptor Lake (Prarit Bhargava) [2064828] - nvme-fc: restart admin queue if the caller needs to restart queue (Ewan D. Milne) [2095693] - netfilter: nf_tables: replace BUG_ON by element length check (Florian Westphal) [2104497] - netfilter: nf_log: incorrect offset to network header (Florian Westphal) [2104497] - netfilter: nft_set_pipapo: release elements in clone from abort path (Florian Westphal) [2104497] - netfilter: nf_tables: stricter validation of element data (Florian Westphal) [2104497] - netfilter: nft_dynset: restore set element counter when failing to update (Florian Westphal) [2104497] - netfilter: use get_random_u32 instead of prandom (Florian Westphal) [2104497] - netfilter: nf_tables: memleak flow rule from commit path (Florian Westphal) [2104497] - netfilter: nf_tables: hold mutex on netns pre_exit path (Florian Westphal) [2104497] - netfilter: conntrack: re-fetch conntrack after insertion (Florian Westphal) [2104497] - netfilter: flowtable: fix excessive hw offload attempts after failure (Florian Westphal) [2104497] - netfilter: flowtable: avoid possible false sharing (Florian Westphal) [2104497] - netfilter: nf_nat_h323: eliminate anonymous module_init & module_exit (Florian Westphal) [2104497] - netfilter: ip6t_rt: fix rt0_hdr parsing in rt_mt6 (Florian Westphal) [2104497] - netfilter: socket: icmp6: fix use-after-scope (Florian Westphal) [2104497] - netfilter: nft_fib_ipv6: skip ipv6 packets from any to link-local (Florian Westphal) [2104497] - net/mlx5: Remove ConnectX-7 device from the unsupported devices (Kamal Heib) [1899567] - fs: dlm: change posix lock sigint handling (Alexander Aring) [2088499] - fs: dlm: use dlm_plock_info for do_unlock_close (Alexander Aring) [2088499] - fs: dlm: change plock interrupted message to debug again (Alexander Aring) [2088499] - fs: dlm: add pid to debug log (Alexander Aring) [2088499] - fs: dlm: plock use list_first_entry (Alexander Aring) [2088499] - dlm: replace usage of found with dedicated list iterator variable (Alexander Aring) [2088499] - dlm: move global to static inits (Alexander Aring) [2088499] - dlm: remove unnecessary INIT_LIST_HEAD() (Alexander Aring) [2088499] - dlm: improve plock logging if interrupted (Alexander Aring) [2088499] - dlm: rearrange async condition return (Alexander Aring) [2088499] - dlm: cleanup plock_op vs plock_xop (Alexander Aring) [2088499] - dlm: replace sanity checks with WARN_ON (Alexander Aring) [2088499]- selftests: mptcp: make sendfile selftest work (Florian Westphal) [2109046] - selftests: mptcp: more stable simult_flows tests (Florian Westphal) [2109046] - be2net: Remove useless DMA-32 fallback configuration (Petr Oros) [2051324] - ethernet: constify references to netdev->dev_addr in drivers (Petr Oros) [2051324] - ethernet: Remove redundant 'flush_workqueue()' calls (Petr Oros) [2051324] - ethernet: use eth_hw_addr_set() instead of ether_addr_copy() (Petr Oros) [2051324] - ethernet: use eth_hw_addr_set() (Petr Oros) [2051324] - be2net: Use irq_update_affinity_hint() (Petr Oros) [2051324] - RedHat: ASoC: SOF: Intel: do not enable IMR boot when resuming by default (Jaroslav Kysela) [2114931] - ASoC: SOF: make ctx_store and ctx_restore as optional (Jaroslav Kysela) [2114931] - ASoC: SOF: ipc3-topology: Prevent double freeing of ipc_control_data via load_bytes (Jaroslav Kysela) [2114931] - ASoC: amd: yc: Update DMI table entries for AMD platforms (Jaroslav Kysela) [2114931] - ASoC: amd: yc: Update DMI table entries (Jaroslav Kysela) [2114931] - thunderbolt: Add DP OUT resource when DP tunnel is discovered (Torez Smith) [2107601] - iavf: Fix VLAN_V2 addition/rejection (Petr Oros) [2115618] - iavf: Fix deadlock in initialization (Petr Oros) [2054656] - qede: Reduce verbosity of ptp tx timestamp (Manish Chopra) [2080655] - dmaengine: idxd: Fixup merge conflict resolution from upstream (Jerry Snitselaar) [2100927] - dmaengine: idxd: skip clearing device context when device is read-only (Jerry Snitselaar) [2100927] - dmaengine: idxd: add RO check for wq max_transfer_size write (Jerry Snitselaar) [2100927] - dmaengine: idxd: add RO check for wq max_batch_size write (Jerry Snitselaar) [2100927] - dmaengine: idxd: fix device cleanup on disable (Jerry Snitselaar) [2100927] - Revert "dmaengine: idxd: Separate user and kernel pasid enabling" (Jerry Snitselaar) [2100927] - net: atlantic: always deep reset on pm op, fixing up my null deref regression (Foggy Liu) [2039680] - net: atlantic: invert deep par in pm functions, preventing null derefs (Foggy Liu) [2039680] - s390/ap: extend AP change bindings-complete uevent with counter (Mete Durlu) [2114907] - powerpc/memhotplug: Make lmb size 64bit (Diego Domingos) [2116517] - powerpc/drmem: Make lmb_size 64 bit (Diego Domingos) [2116517] - RHEL-only: tools: arm64: Use alternative.h header in sysreg.h (Eric Auger) [2118527]- vmxnet3: do not reschedule napi for rx processing (Kamal Heib) [2117263] - lockdown: also lock down previous kgdb use (Lenny Szubowicz) [2104748] {CVE-2022-21499} - sfc: fix kernel panic when creating VF (Íñigo Huguet) [2114738] - net/mlx4_en: use kzalloc (Amir Tzin) [2049433] - net/mlx4: Delete useless moduleparam include (Amir Tzin) [2049433] - RDMA/mlx4: remove redundant assignment to variable nreq (Amir Tzin) [2049433] - RDMA/mlx4: Delete useless module.h include (Amir Tzin) [2049433] - RDMA/mlx4: Don't continue event handler after memory allocation failure (Amir Tzin) [2049433] - net/mlx4: Use irq_update_affinity_hint() (Amir Tzin) [2049433] - RDMA/mlx4: Use bitmap_alloc() when applicable (Amir Tzin) [2049433] - net/mlx4_en: Update reported link modes for 1/10G (Amir Tzin) [2049433] - ethernet: Remove redundant 'flush_workqueue()' calls (Amir Tzin) [2049433] - mlx4: constify args for const dev_addr (Amir Tzin) [2049433] - mlx4: remove custom dev_addr clearing (Amir Tzin) [2049433] - mlx4: replace mlx4_u64_to_mac() with u64_to_ether_addr() (Amir Tzin) [2049433] - mlx4: replace mlx4_mac_to_u64() with ether_addr_to_u64() (Amir Tzin) [2049433] - net/mlx4_en: avoid one cache line miss to ring doorbell (Amir Tzin) [2049433] - net/mlx4_en: Add XDP_REDIRECT statistics (Amir Tzin) [2049433] - net/mlx4: Use array_size() helper in copy_to_user() (Amir Tzin) [2049433] - net: mlx4: Add support for XDP_REDIRECT (Amir Tzin) [2049433] - net/mellanox: switch from 'pci_' to 'dma_' API (Amir Tzin) [2049433] - net/mlx4: Use ARRAY_SIZE to get an array's size (Amir Tzin) [2049433] - net/mlx4: make the array states static const, makes object smaller (Amir Tzin) [2049433] - dma-direct: use the correct size for dma_set_encrypted() (Jerry Snitselaar) [2105608] - dma-debug: make things less spammy under memory pressure (Jerry Snitselaar) [2105608] - dma-iommu: Check that swiotlb is active before trying to use it (Jerry Snitselaar) [2105608] - cpufreq: powernow-k8: Re-order the init checks (Mark Langsdorf) [2072974] - cpufreq: unify show() and store() naming and use __ATTR_XX (Mark Langsdorf) [2072974] - cpufreq: amd-pstate: Add more tracepoint for AMD P-State module (Mark Langsdorf) [2072974] - cpufreq: CPPC: Fix performance/frequency conversion (Mark Langsdorf) [2072974] - cpufreq: Move to_gov_attr_set() to cpufreq.h (Mark Langsdorf) [2072974] - cpufreq: use default_groups in kobj_type (Mark Langsdorf) [2072974] - cpufreq: Fix initialization of min and max frequency QoS requests (Mark Langsdorf) [2072974] - cpufreq: Fix a comment in cpufreq_policy_free (Mark Langsdorf) [2072974] - cpufreq: Fix get_cpu_device() failure in add_cpu_dev_symlink() (Mark Langsdorf) [2072974] - cpufreq: schedutil: Destroy mutex before kobject_put() frees the memory (Mark Langsdorf) [2072974] - cpufreq: sh: Remove sh_cpufreq_cpu_ready() (Mark Langsdorf) [2072974] - cpufreq: acpi: Remove acpi_cpufreq_cpu_ready() (Mark Langsdorf) [2072974] - cpufreq: Fix fall-through warning for Clang (Mark Langsdorf) [2072974] - cpufreq: Remove ->resolve_freq() (Mark Langsdorf) [2072974] - cpufreq: Reuse cpufreq_driver_resolve_freq() in __cpufreq_driver_target() (Mark Langsdorf) [2072974] - cpufreq: Remove the ->stop_cpu() driver callback (Mark Langsdorf) [2072974] - cpufreq: powernv: Migrate to ->exit() callback instead of ->stop_cpu() (Mark Langsdorf) [2072974] - cpufreq: Make cpufreq_online() call driver->offline() on errors (Mark Langsdorf) [2072974] - cpufreq: sh: Remove unused linux/sched.h headers (Mark Langsdorf) [2072974] - cpufreq: stats: Clean up local variable in cpufreq_stats_create_table() (Mark Langsdorf) [2072974] - cpufreq: Remove unused for_each_policy macro (Mark Langsdorf) [2072974] - cpufreq: Rudimentary typos fix in the file s5pv210-cpufreq.c (Mark Langsdorf) [2072974] - ACPI: CPPC: Fix enabling CPPC on AMD systems with shared memory (Mark Langsdorf) [2067296] - ACPI: CPPC: Don't require flexible address space if X86_FEATURE_CPPC is supported (Mark Langsdorf) [2067296] - ACPI: CPPC: Don't require _OSC if X86_FEATURE_CPPC is supported (Mark Langsdorf) [2067296] - x86/ACPI: CPPC: Rename cppc_msr.c to cppc.c (Mark Langsdorf) [2067296] - ACPI: CPPC: Only probe for _CPC if CPPC v2 is acked (Mark Langsdorf) [2067296] - ACPI: CPPC: Assume no transition latency if no PCCT (Mark Langsdorf) [2067296] - ACPI: bus: Set CPPC _OSC bits for all and when CPPC_LIB is supported (Mark Langsdorf) [2067296] - ACPI: CPPC: Check _OSC for flexible address space (Mark Langsdorf) [2067296] - ACPI: processor: idle: Avoid falling back to C3 type C-states (Mark Langsdorf) [2067296] - Revert "ACPI: processor: idle: Only flush cache on entering C3" (Mark Langsdorf) [2067296] - ACPI: CPPC: Change default error code and clean up debug messages in probe (Mark Langsdorf) [2067296] - ACPI: CPPC: Avoid out of bounds access when parsing _CPC data (Mark Langsdorf) [2067296] - ACPI: tables: Make LAPIC_ADDR_OVR address readable in message (Mark Langsdorf) [2067296] - ACPI: IPMI: replace usage of found with dedicated list iterator variable (Mark Langsdorf) [2067296] - ACPI, APEI: Use the correct variable for sizeof() (Mark Langsdorf) [2067296] - clocksource: acpi_pm: fix return value of __setup handler (Mark Langsdorf) [2067296] - ACPI / x86: Add support for LPS0 callback handler (Mark Langsdorf) [2067296] - ACPI: bus: Avoid using CPPC if not supported by firmware (Mark Langsdorf) [2067296] - Revert "ACPI: Pass the same capabilities to the _OSC regardless of the query flag" (Mark Langsdorf) [2067296] - ACPI: video: Force backlight native for Clevo NL5xRU and NL5xNU (Mark Langsdorf) [2067296] - PM: hibernate: Honour ACPI hardware signature by default for virtual guests (Mark Langsdorf) [2067296] - ACPI: NFIT: Remove block aperture support (Mark Langsdorf) [2067296] - x86, ACPI: rename init_freq_invariance_cppc() to arch_init_invariance_cppc() (Mark Langsdorf) [2067296] - ACPI/APEI: Limit printable size of BERT table data (Mark Langsdorf) [2067296] - ACPI: APEI: fix return value of __setup handlers (Mark Langsdorf) [2067296] - ACPI / x86: Add skip i2c clients quirk for Lenovo Yoga Tablet 1050F/L (Mark Langsdorf) [2067296] - ACPI / x86: Add skip i2c clients quirk for Nextbook Ares 8 (Mark Langsdorf) [2067296] - ACPICA: Avoid walking the ACPI Namespace if it is not there (Mark Langsdorf) [2067296] - ACPI: processor idle: Check for architectural support for LPI (Mark Langsdorf) [2067296] - ACPI: battery: Add device HID and quirk for Microsoft Surface Go 3 (Mark Langsdorf) [2067296] - ACPI: fan: Add additional attributes for fine grain control (Mark Langsdorf) [2067296] - ACPI: fan: Properly handle fine grain control (Mark Langsdorf) [2067296] - ACPI: fan: Optimize struct acpi_fan_fif (Mark Langsdorf) [2067296] - ACPI: fan: Separate file for attributes creation (Mark Langsdorf) [2067296] - ACPI: fan: Fix error reporting to user space (Mark Langsdorf) [2067296] - ACPI: clean up double words in two comments (Mark Langsdorf) [2067296] - ACPI: property: Get rid of redundant 'else' (Mark Langsdorf) [2067296] - ACPI: EC: Rearrange code in acpi_ec_submit_event() (Mark Langsdorf) [2067296] - ACPI: EC: Reduce indentation level in acpi_ec_submit_event() (Mark Langsdorf) [2067296] - ACPI: EC: Do not return result from advance_transaction() (Mark Langsdorf) [2067296] - ACPI: EC / PM: Print additional debug message in acpi_ec_dispatch_gpe() (Mark Langsdorf) [2067296] - ACPI: PM: Print additional debug message in acpi_s2idle_wake() (Mark Langsdorf) [2067296] - ACPI: tables: Add CEDT signature to the list of known tables (Mark Langsdorf) [2067296] - ACPI: properties: Consistently return -ENOENT if there are no more references (Mark Langsdorf) [2067296] - ACPI: OSL: Fix and clean up acpi_os_read/write_port() (Mark Langsdorf) [2067296] - ACPICA: Use uintptr_t and offsetof() in Linux kernel builds (Mark Langsdorf) [2067296] - ACPI: processor: idle: Only flush cache on entering C3 (Mark Langsdorf) [2067296] - intel_idle: Add AlderLake support (Lenny Szubowicz) [2075709] - intel_idle: Fix SPR C6 optimization (Lenny Szubowicz) [2075709] - intel_idle: Fix the 'preferred_cstates' module parameter (Lenny Szubowicz) [2075709] - cpuidle: intel_idle: Update intel_idle() kerneldoc comment (Lenny Szubowicz) [2075709] - ice: Fix promiscuous mode not turning off (Petr Oros) [2088787] - ice: Introduce enabling promiscuous mode on multiple VF's (Petr Oros) [2088787] - PCI/IOV: Add pci_iov_get_pf_drvdata() to allow VF reaching the drvdata of a PF (Myron Stowe) [2106259] - PCI/IOV: Add pci_iov_vf_id() to get VF index (Myron Stowe) [2106259] - redhat: enable CONFIG_MAXLINEAR_GPHY as module (Petr Oros) [2071856] - net: phy: enhance GPY115 loopback disable function (Petr Oros) [2071856] - net: phy: add Maxlinear GPY115/21x/24x driver (Petr Oros) [2071856] - cgroup: Use css_tryget() instead of css_tryget_online() in task_get_css() (Vratislav Bendel) [2111491] - ASoC: mediatek: Fix error handling in mt8173_max98090_dev_probe (Jaroslav Kysela) [2065580] - ASoC: amd: Add support for enabling DMIC on acp6x via _DSD (Jaroslav Kysela) [2065580] - soundwire: intel: prevent pm_runtime resume prior to system suspend (Jaroslav Kysela) [2065580] - ALSA: usb-audio: Add quirk for Fiero SC-01 (fw v1.0.0) (Jaroslav Kysela) [2065580] - ALSA: usb-audio: Add quirk for Fiero SC-01 (Jaroslav Kysela) [2065580] - ALSA: usb-audio: Add quirks for MacroSilicon MS2100/MS2106 devices (Jaroslav Kysela) [2065580] - ASoC: cs35l41: Add ASP TX3/4 source to register patch (Jaroslav Kysela) [2065580] - ASoC: dapm: Initialise kcontrol data for mux/demux controls (Jaroslav Kysela) [2065580] - ASoC: rt711-sdca: fix kernel NULL pointer dereference when IO error (Jaroslav Kysela) [2065580] - ASoC: cs35l41: Correct some control names (Jaroslav Kysela) [2065580] - ASoC: wm5110: Fix DRE control (Jaroslav Kysela) [2065580] - ASoC: wm_adsp: Fix event for preloader (Jaroslav Kysela) [2065580] - ASoC: Intel: bytcr_wm5102: Fix GPIO related probe-ordering problem (Jaroslav Kysela) [2065580] - ASoC: SOF: Intel: hda-loader: Clarify the cl_dsp_init() flow (Jaroslav Kysela) [2065580] - ASoC: SOF: Intel: hda-loader: Make sure that the fw load sequence is followed (Jaroslav Kysela) [2065580] - ASoC: SOF: Intel: hda-dsp: Expose hda_dsp_core_power_up() (Jaroslav Kysela) [2065580] - ASoC: codecs: rt700/rt711/rt711-sdca: initialize workqueues in probe (Jaroslav Kysela) [2065580] - ASoC: rt7*-sdw: harden jack_detect_handler (Jaroslav Kysela) [2065580] - ASoC: rt711: fix calibrate mutex initialization (Jaroslav Kysela) [2065580] - ASoC: Intel: sof_sdw: handle errors on card registration (Jaroslav Kysela) [2065580] - ASoC: rt711-sdca-sdw: fix calibrate mutex initialization (Jaroslav Kysela) [2065580] - ASoC: Realtek/Maxim SoundWire codecs: disable pm_runtime on remove (Jaroslav Kysela) [2065580] - ASoC: ops: Fix off by one in range control validation (Jaroslav Kysela) [2065580] - ASoC: Intel: Skylake: Correct the handling of fmt_config flexible array (Jaroslav Kysela) [2065580] - ASoC: Intel: Skylake: Correct the ssp rate discovery in skl_get_ssp_clks() (Jaroslav Kysela) [2065580] - ALSA: hda/realtek - Enable the headset-mic on a Xiaomi's laptop (Jaroslav Kysela) [2065580] - ALSA: hda/realtek - Fix headset mic problem for a HP machine with alc221 (Jaroslav Kysela) [2065580] - ALSA: hda/realtek: fix mute/micmute LEDs for HP machines (Jaroslav Kysela) [2065580] - ALSA: hda/realtek - Fix headset mic problem for a HP machine with alc671 (Jaroslav Kysela) [2065580] - ALSA: hda/realtek: Fix headset mic for Acer SF313-51 (Jaroslav Kysela) [2065580] - ALSA: hda/conexant: Apply quirk for another HP ProDesk 600 G3 model (Jaroslav Kysela) [2065580] - ALSA: hda - Add fixup for Dell Latitidue E5430 (Jaroslav Kysela) [2065580] - ASoC: SOF: Intel: hda: Fix compressed stream position tracking (Jaroslav Kysela) [2065580] - ASoC: SOF: ipc3-topology: Move and correct size checks in sof_ipc3_control_load_bytes() (Jaroslav Kysela) [2065580] - ASoC: codecs: rt700/rt711/rt711-sdca: resume bus/codec in .set_jack_detect (Jaroslav Kysela) [2065580] - ASoC: rt711-sdca: Add endianness flag in snd_soc_component_driver (Jaroslav Kysela) [2065580] - ASoC: rt711: Add endianness flag in snd_soc_component_driver (Jaroslav Kysela) [2065580] - ALSA: cs46xx: Fix missing snd_card_free() call at probe error (Jaroslav Kysela) [2065580] - ALSA: hda/realtek: Add quirk for Clevo L140PU (Jaroslav Kysela) [2065580] - ALSA: usb-audio: Workarounds for Behringer UMC 204/404 HD (Jaroslav Kysela) [2065580] - ALSA: hda/realtek: Add quirk for Clevo NS50PU (Jaroslav Kysela) [2065580] - ALSA: hda/realtek: Add quirk for Clevo PD70PNT (Jaroslav Kysela) [2065580] - ALSA: hda/realtek: Apply fixup for Lenovo Yoga Duet 7 properly (Jaroslav Kysela) [2065580] - ALSA: hda/realtek - ALC897 headset MIC no sound (Jaroslav Kysela) [2065580] - ALSA: hda/realtek: Add mute LED quirk for HP Omen laptop (Jaroslav Kysela) [2065580] - ALSA: hda/conexant: Fix missing beep setup (Jaroslav Kysela) [2065580] - ALSA: hda: Fix discovery of i915 graphics PCI device (Jaroslav Kysela) [2065580] - ALSA: hda/via: Fix missing beep setup (Jaroslav Kysela) [2065580] - ALSA: memalloc: Drop x86-specific hack for WC allocations (Jaroslav Kysela) [2065580] - ALSA: hda/realtek - Add HW8326 support (Jaroslav Kysela) [2065580] - ALSA: hda: MTL: add HD Audio PCI ID and HDMI codec vendor ID (Jaroslav Kysela) [2065580] - ASoC: es8328: Fix event generation for deemphasis control (Jaroslav Kysela) [2065580] - ASoC: cs42l51: Correct minimum value for SX volume control (Jaroslav Kysela) [2065580] - ASoC: cs42l56: Correct typo in minimum level for SX volume controls (Jaroslav Kysela) [2065580] - ASoC: cs42l52: Correct TLV for Bypass Volume (Jaroslav Kysela) [2065580] - ASoC: cs53l30: Correct number of volume levels on SX controls (Jaroslav Kysela) [2065580] - ASoC: cs35l36: Update digital volume TLV (Jaroslav Kysela) [2065580] - ASoC: cs42l52: Fix TLV scales for mixer controls (Jaroslav Kysela) [2065580] - ASoC: Intel: cirrus-common: fix incorrect channel mapping (Jaroslav Kysela) [2065580] - ASoC: nau8822: Add operation for internal PLL off and on (Jaroslav Kysela) [2065580] - ALSA: hda/realtek: Add quirk for HP Dev One (Jaroslav Kysela) [2065580] - ALSA: hda/realtek: Fix for quirk to enable speaker output on the Lenovo Yoga DuetITL 2021 (Jaroslav Kysela) [2065580] - ALSA: hda/conexant - Fix loopback issue with CX20632 (Jaroslav Kysela) [2065580] - ALSA: usb-audio: Set up (implicit) sync for Saffire 6 (Jaroslav Kysela) [2065580] - ALSA: usb-audio: Skip generic sync EP parse for secondary EP (Jaroslav Kysela) [2065580] - ASoC: rt5640: Do not manipulate pin "Platform Clock" if the "Platform Clock" is not in the DAPM (Jaroslav Kysela) [2065580] - ASoC: SOF: amd: Fixed Build error (Jaroslav Kysela) [2065580] - ASoC: rt5514: Fix event generation for "DSP Voice Wake Up" control (Jaroslav Kysela) [2065580] - ASoC: max98090: Move check for invalid values before casting in max98090_put_enab_tlv() (Jaroslav Kysela) [2065580] - ALSA: pcm: Check for null pointer of pointer substream before dereferencing it (Jaroslav Kysela) [2065580] - ASoC: SOF: ipc3-topology: Set scontrol->priv to NULL after freeing it (Jaroslav Kysela) [2065580] - ASoC: cs35l41: Fix an out-of-bounds access in otp_packed_element_t (Jaroslav Kysela) [2065580] - ALSA: usb-audio: Move generic implicit fb quirk entries into quirks.c (Jaroslav Kysela) [2065580] - ALSA: usb-audio: Add quirk bits for enabling/disabling generic implicit fb (Jaroslav Kysela) [2065580] - ASoC: amd: Add driver data to acp6x machine driver (Jaroslav Kysela) [2065580] - ASoC: rt1015p: remove dependency on GPIOLIB (Jaroslav Kysela) [2065580] - ASoC: max98357a: remove dependency on GPIOLIB (Jaroslav Kysela) [2065580] - ASoC: rt5645: Fix errorenous cleanup order (Jaroslav Kysela) [2065580] - ASoC: SOF: amd: add missing platform_device_unregister in acp_pci_rn_probe (Jaroslav Kysela) [2065580] - ASoC: Intel: sof_ssp_amp: fix no DMIC BE Link on Chromebooks (Jaroslav Kysela) [2065580] - ASoC: tscs454: Add endianness flag in snd_soc_component_driver (Jaroslav Kysela) [2065580] - ASoC: SOF: ipc3-topology: Correct get_control_data for non bytes payload (Jaroslav Kysela) [2065580] - ASoC: dapm: Don't fold register value changes into notifications (Jaroslav Kysela) [2065580] - ASoC: Intel: bytcr_rt5640: Add quirk for the HP Pro Tablet 408 (Jaroslav Kysela) [2065580] - ALSA: jack: Access input_dev under mutex (Jaroslav Kysela) [2065580] - ALSA: hda/realtek - Fix microphone noise on ASUS TUF B550M-PLUS (Jaroslav Kysela) [2065580] - ALSA: hda/realtek: Enable 4-speaker output for Dell XPS 15 9520 laptop (Jaroslav Kysela) [2065580] - ALSA: hda/realtek - Add new type for ALC245 (Jaroslav Kysela) [2065580] - ALSA: usb-audio: Optimize TEAC clock quirk (Jaroslav Kysela) [2065580] - ALSA: usb-audio: Configure sync endpoints before data (Jaroslav Kysela) [2065580] - ALSA: usb-audio: Add missing ep_idx in fixed EP quirks (Jaroslav Kysela) [2065580] - ALSA: usb-audio: Workaround for clock setup on TEAC devices (Jaroslav Kysela) [2065580] - ALSA: ctxfi: Add SB046x PCI ID (Jaroslav Kysela) [2065580] - NFS: Fix initialisation of nfs_client cl_flags field (Scott Mayhew) [2114577] - Documentation: Add an explanation of NFSv4 client identifiers (Dave Wysochanski) [1801326]- crypto: chelsio/chcr - Remove useless MODULE_VERSION (Rahul Lakkireddy) [2105817] - crypto: chelsio - remove unused function (Rahul Lakkireddy) [2105817] - crypto: chelsio - Read rxchannel-id from firmware (Rahul Lakkireddy) [2105817] - crypto: chelsio - Fix some kernel-doc issues (Rahul Lakkireddy) [2105817] - crypto: chelsio - remove set but not used variable 'adap' (Rahul Lakkireddy) [2105817] - dm raid: fix address sanitizer warning in raid_resume (Benjamin Marzinski) [2115118] - dm raid: fix address sanitizer warning in raid_status (Benjamin Marzinski) [2115118] - dm: return early from dm_pr_call() if DM device is suspended (Benjamin Marzinski) [2115118] - dm thin: fix use-after-free crash in dm_sm_register_threshold_callback (Benjamin Marzinski) [2115118] - dm writecache: count number of blocks discarded, not number of discard bios (Benjamin Marzinski) [2115118] - dm writecache: count number of blocks written, not number of write bios (Benjamin Marzinski) [2115118] - dm writecache: count number of blocks read, not number of read bios (Benjamin Marzinski) [2115118] - dm writecache: return void from functions (Benjamin Marzinski) [2115118] - dm kcopyd: use __GFP_HIGHMEM when allocating pages (Benjamin Marzinski) [2115118] - dm writecache: set a default MAX_WRITEBACK_JOBS (Benjamin Marzinski) [2115118] - dm raid: fix KASAN warning in raid5_add_disks (Benjamin Marzinski) [2115118] - dm raid: fix KASAN warning in raid5_remove_disk (Benjamin Marzinski) [2115118] - KVM: x86: do not report preemption if the steal time cache is stale (Vitaly Kuznetsov) [2115240] - KVM: x86: revalidate steal time cache if MSR value changes (Vitaly Kuznetsov) [2115240] - KVM: nVMX: Always enable TSC scaling for L2 when it was enabled for L1 (Vitaly Kuznetsov) [2115240] - KVM: x86: Fully initialize 'struct kvm_lapic_irq' in kvm_pv_kick_cpu_op() (Vitaly Kuznetsov) [2115240] - KVM: SEV: Init target VMCBs in sev_migrate_from (Vitaly Kuznetsov) [2115240] - KVM: SVM: fix tsc scaling cache logic (Vitaly Kuznetsov) [2115240] - KVM: x86/mmu: Check every prev_roots in __kvm_mmu_free_obsolete_roots() (Vitaly Kuznetsov) [2115240] - KVM: LAPIC: Drop pending LAPIC timer injection when canceling the timer (Vitaly Kuznetsov) [2115240] - KVM: x86: avoid calling x86 emulator without a decoded instruction (Vitaly Kuznetsov) [2115240] - KVM: SVM: Use kzalloc for sev ioctl interfaces to prevent kernel data leak (Vitaly Kuznetsov) [2115240] - KVM: x86: avoid loading a vCPU after .vm_destroy was called (Vitaly Kuznetsov) [2115240] - KVM: nVMX: Clear IDT vectoring on nested VM-Exit for double/triple fault (Vitaly Kuznetsov) [2115240] - KVM: nVMX: Leave most VM-Exit info fields unmodified on failed VM-Entry (Vitaly Kuznetsov) [2115240] - KVM: x86: Drop WARNs that assert a triple fault never "escapes" from L2 (Vitaly Kuznetsov) [2115240] - sched/deadline: Fix BUG_ON condition for deboosted tasks (Phil Auld) [2111860] - scsi: qla2xxx: Fix excessive I/O error messages by default (Nilesh Javali) [2100728] - scsi: qla2xxx: Fix erroneous mailbox timeout after PCI error injection (Nilesh Javali) [2044160] - drm/radeon: fix build rules of *_reg_safe.h (Michel Dänzer) [2006451] - RDMA/irdma: Fix sleep from invalid context BUG (Kamal Heib) [2097318] - RDMA/irdma: Do not advertise 1GB page size for x722 (Kamal Heib) [2097318] - RDMA/cm: Fix memory leak in ib_cm_insert_listen (Kamal Heib) [2097318] - RDMA/hfi1: Fix potential integer multiplication overflow errors (Kamal Heib) [2097318] - RDMA/hfi1: Prevent use of lock before it is initialized (Kamal Heib) [2097318] - RDMA/rxe: Fix an error handling path in rxe_get_mcg() (Kamal Heib) [2097318] - RDMA/rxe: Generate a completion for unsupported/invalid opcode (Kamal Heib) [2097318] - scsi: target: cxgbit: Enable Delayed ACK (Rahul Lakkireddy) [2105813] - scsi: target: cxgbit: Increase max DataSegmentLength (Rahul Lakkireddy) [2105813] - cxgb4: Use the bitmap API to allocate bitmaps (Rahul Lakkireddy) [2105806] - cxgb4: Fix typo in string (Rahul Lakkireddy) [2105806] - cxgb4/cxgb4vf: Fix typo in comments (Rahul Lakkireddy) [2105806] - cxgb4vf: remove unexpected word "the" (Rahul Lakkireddy) [2105806] - net: chelsio: cxgb4: Avoid potential negative array offset (Rahul Lakkireddy) [2105806] - libcxgb: Don't accidentally set RTO_ONLINK in cxgb_find_route() (Rahul Lakkireddy) [2105806] - cxgb4vf: Remove useless DMA-32 fallback configuration (Rahul Lakkireddy) [2105806] - cxgb4: Remove useless DMA-32 fallback configuration (Rahul Lakkireddy) [2105806] - cxgb4: allow reading unrecognized port module eeprom (Rahul Lakkireddy) [2105806] - net: chelsio: cxgb4vf: Fix an error code in cxgb4vf_pci_probe() (Rahul Lakkireddy) [2105806] - cxgb4: Use struct_group() for memcpy() region (Rahul Lakkireddy) [2105806] - cxgb4: fix eeprom len when diagnostics not implemented (Rahul Lakkireddy) [2105806] - ethernet: use eth_hw_addr_set() for dev->addr_len cases (Rahul Lakkireddy) [2105806] - ethernet: chelsio: use eth_hw_addr_set() (Rahul Lakkireddy) [2105806] - net: chelsio: cxgb4vf: Make use of the helper function dev_err_probe() (Rahul Lakkireddy) [2105806] - cxgb4: improve printing NIC information (Rahul Lakkireddy) [2105806] - net: chelsio: switch from 'pci_' to 'dma_' API (Rahul Lakkireddy) [2105806] - cxgb4: make the array match_all_mac static, makes object smaller (Rahul Lakkireddy) [2105806] - cxgb4: fix IRQ free race during driver unload (Rahul Lakkireddy) [2105806] - net: chelsio: cxgb4: use eth_zero_addr() to assign zero address (Rahul Lakkireddy) [2105806] - cxgb4: Fix -Wunused-const-variable warning (Rahul Lakkireddy) [2105806] - cxgb4: clip_tbl: use list_del_init instead of list_del/INIT_LIST_HEAD (Rahul Lakkireddy) [2105806] - net: chelsio: cxgb4vf: Fix wrong function name in comments (Rahul Lakkireddy) [2105806] - net: chelsio: cxgb4: Fix wrong function name in comments (Rahul Lakkireddy) [2105806] - cxgb4: Remove redundant NULL check (Rahul Lakkireddy) [2105806] - net: ethernet: chelsiofix: spelling typo of 'rewriteing' (Rahul Lakkireddy) [2105806] - net: don't include ethtool.h from netdevice.h (Rahul Lakkireddy) [2105806] - cxgb4vf: convert to use DEFINE_SEQ_ATTRIBUTE macro (Rahul Lakkireddy) [2105806] - cxgb4vf: fix t4vf_eth_xmit()'s return type (Rahul Lakkireddy) [2105806] - cxgb4vf: update kernel-doc line comments (Rahul Lakkireddy) [2105806] - cxgb4: remove duplicate headers (Rahul Lakkireddy) [2105806] - cxgb4/cxgb4vf: Remove superfluous void * cast in debugfs_create_file() call (Rahul Lakkireddy) [2105806] - cxgb4: Add missing annotation for service_ofldq() (Rahul Lakkireddy) [2105806] - net: cxgb4vf: reject unsupported coalescing params (Rahul Lakkireddy) [2105806] - scsi: mpt3sas: Stop fw fault watchdog work item during system shutdown (Tomas Henzl) [2106413] - drm/amd/display: Fix new dmub notification enabling in DM (Mika Penttilä) [2107632] - Revert "crypto: chelsio - Inline single pdu only" (Rahul Lakkireddy) [2105818] - crypto/chcr: Moving chelsio's inline ipsec functionality to /drivers/net (Rahul Lakkireddy) [2105818] - net/xfrm: IPsec tunnel mode fix inner_ipproto setting in sec_path (Sabrina Dubroca) [2107200] - scsi: ch: Make it possible to open a ch device multiple times again (Ewan D. Milne) [2108649] - lpfc updates for rh8.7 14.0.0.15 (Paul Ely) [2107726] - scsi: lpfc: Copyright updates for 14.2.0.5 patches (Paul Ely) [2107726] - scsi: lpfc: Fix lost NVMe paths during LIF bounce stress test (Paul Ely) [2107726] - scsi: lpfc: Fix attempted FA-PWWN usage after feature disable (Paul Ely) [2107726] - scsi: lpfc: Fix possible memory leak when failing to issue CMF WQE (Paul Ely) [2107726] - scsi: lpfc: Remove extra atomic_inc on cmd_pending in queuecommand after VMID (Paul Ely) [2107726] - scsi: lpfc: Prevent buffer overflow crashes in debugfs with malformed user input (Paul Ely) [2107726] - scsi: lpfc: Fix uninitialized cqe field in lpfc_nvme_cancel_iocb() (Paul Ely) [2107726] - scsi: lpfc: Allow reduced polling rate for nvme_admin_async_event cmd completion (Paul Ely) [2107726] - scsi: lpfc: Fix port stuck in bypassed state after LIP in PT2PT topology (Paul Ely) [2107726] - scsi: lpfc: Resolve NULL ptr dereference after an ELS LOGO is aborted (Paul Ely) [2107726] - scsi: lpfc: Correct BDE type for XMIT_SEQ64_WQE in lpfc_ct_reject_event() (Paul Ely) [2107726] - scsi: qla2xxx: Fix imbalance vha->vref_count (Nilesh Javali) [2108964] - scsi: smartpqi: Update version to 2.1.18-045 (Don Brace) [2101548] - scsi: smartpqi: Update copyright to current year (Don Brace) [2101548] - scsi: smartpqi: Add ctrl ready timeout module parameter (Don Brace) [2101548] - scsi: smartpqi: Update deleting a LUN via sysfs (Don Brace) [2101548] - scsi: smartpqi: Add module param to disable managed ints (Don Brace) [2101548] - scsi: smartpqi: Fix RAID map race condition (Don Brace) [2101548] - scsi: smartpqi: Fix DMA direction for RAID requests (Don Brace) [2101548] - scsi: smartpqi: Stop logging spurious PQI reset failures (Don Brace) [2101548] - scsi: smartpqi: Add PCI IDs for Lenovo controllers (Don Brace) [2101548] - scsi: smartpqi: Add PCI ID for Adaptec SmartHBA 2100-8i (Don Brace) [2101548] - scsi: smartpqi: Fix PCI control linkdown system hang (Don Brace) [2101548] - scsi: smartpqi: Add driver support for multi-LUN devices (Don Brace) [2101548] - scsi: smartpqi: Close write read holes (Don Brace) [2101548] - scsi: smartpqi: Add PCI IDs for ramaxel controllers (Don Brace) [2101548] - scsi: smartpqi: Add controller fw version to console log (Don Brace) [2101548] - scsi: smartpqi: Shorten drive visibility after removal (Don Brace) [2101548] - scsi: smartpqi: Fix typo in comment (Don Brace) [2101548] - docs: kdump: Update the crashkernel description for arm64 (Pingfan Liu) [2093920] - of: Support more than one crash kernel regions for kexec -s (Pingfan Liu) [2093920] - of: kexec: Remove FDT_PROP_* definitions (Pingfan Liu) [2093920] - arm64: kexec: Fix missing error code 'ret' warning in load_other_segments() (Pingfan Liu) [2093920] - arm64: Use common of_kexec_alloc_and_setup_fdt() (Pingfan Liu) [2093920] - of: Add a common kexec FDT setup function (Pingfan Liu) [2093920] - arm64: Use ELF fields defined in 'struct kimage' (Pingfan Liu) [2093920] - kexec: Move ELF fields to struct kimage (Pingfan Liu) [2093920] - of: fdt: Add memory for devices by DT property "linux,usable-memory-range" (Pingfan Liu) [2093920] - efi: apply memblock cap after memblock_add() (Pingfan Liu) [2093920] - of: fdt: Aggregate the processing of "linux,usable-memory-range" (Pingfan Liu) [2093920] - of/fdt: Rework early_init_dt_scan_memory() to call directly (Pingfan Liu) [2093920] - of/fdt: Rework early_init_dt_scan_root() to call directly (Pingfan Liu) [2093920] - of/fdt: Rework early_init_dt_scan_chosen() to call directly (Pingfan Liu) [2093920] - of: fdt: Rename reserve_elfcorehdr() to fdt_reserve_elfcorehdr() (Pingfan Liu) [2093920] - of: fdt: Add generic support for handling elf core headers property (Pingfan Liu) [2093920] - arm64: kdump: Reimplement crashkernel=X (Pingfan Liu) [2093920] - arm64: Use insert_resource() to simplify code (Pingfan Liu) [2093920] - kdump: return -ENOENT if required cmdline option does not exist (Pingfan Liu) [2093920]- sched: Add WARN_ONCE_SAFE for use during critical scheduler code. (Phil Auld) [2095898] - printk: remove NMI tracking [partial] (Phil Auld) [2095898] - ext4: make sure ext4_append() always allocates new block (Lukas Czerner) [2070216] - ext4: check if directory block is within i_size (Lukas Czerner) [2070216] - redhat: nvme/tcp mistakenly uses blk_mq_tag_to_rq(nvme_tcp_tagset(queue)) (John Meneghini) [2112036] - RDMA/cxgb4: Set queue pair state when being queried (Rahul Lakkireddy) [2105809] - RDMA/cxgb4: Use non-atomic bitmap functions when possible (Rahul Lakkireddy) [2105809] - RDMA/cxgb4: Use bitmap_set() when applicable (Rahul Lakkireddy) [2105809] - RDMA/cxgb4: Use bitmap_zalloc() when applicable (Rahul Lakkireddy) [2105809] - RDMA/cxgb4: Use helper function to set GUIDs (Rahul Lakkireddy) [2105809] - RDMA/iw_cxgb4: Fix refcount underflow while destroying cqs. (Rahul Lakkireddy) [2105809] - RDMA/cxgb4: Use refcount_t instead of atomic_t for reference counting (Rahul Lakkireddy) [2105809] - RDMA/cxgb4: Fix missing error code in create_qp() (Rahul Lakkireddy) [2105809] - RDMA/cxgb4: Remove useless assignments (Rahul Lakkireddy) [2105809] - RDMA/cxgb4: add missing qpid increment (Rahul Lakkireddy) [2105809] - RDMA/iw_cxgb4: Use DEFINE_SPINLOCK() for spinlock (Rahul Lakkireddy) [2105809] - RDMA/cxgb4: Use sizeof() notation (Rahul Lakkireddy) [2105809] - drm/amd/display: Ignore First MST Sideband Message Return Error (Michel Dänzer) [2089853] - sched, cpuset: Fix dl_cpu_busy() panic due to empty cs->cpus_allowed (Waiman Long) [2115165] - sched/deadline: Merge dl_task_can_attach() and dl_cpu_busy() (Waiman Long) [2115165] - ibmvnic: Properly dispose of all skbs during a failover. (Steve Best) [2107560] - redhat/configs: Enable CONFIG_AMD_HSMP for x86_64 (John Allen) [2072233] - platform/x86: Add AMD system management interface (John Allen) [2072233] - ice: do not setup vlan for loopback VSI (Petr Oros) [2103845] - ice: check (DD | EOF) bits on Rx descriptor rather than (EOP | RS) (Petr Oros) [2103845] - ice: Fix VSIs unable to share unicast MAC (Petr Oros) [2080033] - ice: Fix max VLANs available for VF (Petr Oros) [2112298] - ice: change devlink code to read NVM in blocks (Petr Oros) [2093904] - ALSA: Enable more Intel and AMD x86 chipset drivers (Jaroslav Kysela) [2065575] - ALSA: Remove module symbols namespace (Jaroslav Kysela) [2065575] - ASoC: SOF: tokens: add token for Mediatek AFE (Jaroslav Kysela) [2065575] - ASoC: wm_adsp: Expand firmware loading search options (Jaroslav Kysela) [2065575] - ASoC: wm_adsp: Add trace caps to speaker protection FW (Jaroslav Kysela) [2065575] - ASoC: wm_adsp: Make compressed buffers optional (Jaroslav Kysela) [2065575] - ASoC: wm_adsp: Correct control read size when parsing compressed buffer (Jaroslav Kysela) [2065575] - ASoC: wm_adsp: Add support for "toggle" preloaders (Jaroslav Kysela) [2065575] - firmware: cs_dsp: Fix overrun of unterminated control name string (Jaroslav Kysela) [2065575] - firmware: cs_dsp: Clear core reset for cache (Jaroslav Kysela) [2065575] - firmware: cs_dsp: Move lockdep asserts to avoid potential null pointer (Jaroslav Kysela) [2065575] - firmware: cs_dsp: Allow creation of event controls (Jaroslav Kysela) [2065575] - firmware: cs_dsp: Add offset to cs_dsp read/write (Jaroslav Kysela) [2065575] - firmware: cs_dsp: Clarify some kernel doc comments (Jaroslav Kysela) [2065575] - firmware: cs_dsp: Perform NULL check in cs_dsp_coeff_write/read_ctrl (Jaroslav Kysela) [2065575] - firmware: cs_dsp: Add support for rev 2 coefficient files (Jaroslav Kysela) [2065575] - firmware: cs_dsp: Print messages from bin files (Jaroslav Kysela) [2065575] - firmware: cs_dsp: Add pre_run callback (Jaroslav Kysela) [2065575] - firmware: cs_dsp: Add version checks on coefficient loading (Jaroslav Kysela) [2065575] - firmware: cs_dsp: Add lockdep asserts to interface functions (Jaroslav Kysela) [2065575] - firmware: cs_dsp: tidy includes in cs_dsp.c and cs_dsp.h (Jaroslav Kysela) [2065575] - ASoC: wm_adsp: Remove the wmfw_add_ctl helper function (Jaroslav Kysela) [2065575] - ASoC: wm_adsp: wm_adsp_control_add() error: uninitialized symbol 'ret' (Jaroslav Kysela) [2065575] - ASoC: wm_adsp: remove a repeated including (Jaroslav Kysela) [2065575] - firmware: cs_dsp: add driver to support firmware loading on Cirrus Logic DSPs (Jaroslav Kysela) [2065575] - ASoC: wm_adsp: Separate wm_adsp specifics in cs_dsp_client_ops (Jaroslav Kysela) [2065575] - ASoC: wm_adsp: Split out struct cs_dsp from struct wm_adsp (Jaroslav Kysela) [2065575] - ASoC: wm_adsp: move firmware loading to client (Jaroslav Kysela) [2065575] - ASoC: wm_adsp: Pass firmware names as parameters when starting DSP core (Jaroslav Kysela) [2065575] - ASoC: wm_adsp: Move check of dsp->running to better place (Jaroslav Kysela) [2065575] - ASoC: wm_adsp: Separate generic cs_dsp_coeff_ctl handling (Jaroslav Kysela) [2065575] - ASoC: wm_adsp: Move sys_config_size to wm_adsp (Jaroslav Kysela) [2065575] - ASoC: wm_adsp: Split DSP power operations into helper functions (Jaroslav Kysela) [2065575] - ASoC: wm_adsp: Separate some ASoC and generic functions (Jaroslav Kysela) [2065575] - ASoC: wm_adsp: Introduce cs_dsp logging macros (Jaroslav Kysela) [2065575] - ASoC: wm_adsp: Rename generic DSP support (Jaroslav Kysela) [2065575] - ASoC: wm_adsp: Cancel ongoing work when removing controls (Jaroslav Kysela) [2065575] - ASoC: wm_adsp: Switch to using wm_coeff_read_ctrl for compressed buffers (Jaroslav Kysela) [2065575] - ASoC: wm_adsp: Move check for control existence (Jaroslav Kysela) [2065575] - ASoC: wm_adsp: Remove use of snd_ctl_elem_type_t (Jaroslav Kysela) [2065575] - ASoC: wm_adsp: Put debugfs_remove_recursive back in (Jaroslav Kysela) [2065575] - ASoC: wm_adsp: Let soc_cleanup_component_debugfs remove debugfs (Jaroslav Kysela) [2065575] - ASoC: wm_adsp: Remove pointless string comparison (Jaroslav Kysela) [2065575] - ASoC: wm_adsp: Add CCM_CORE_RESET to Halo start core (Jaroslav Kysela) [2065575] - ASoC: wm_adsp: Correct wm_coeff_tlv_get handling (Jaroslav Kysela) [2065575] - ASoC: wm_adsp: Fix control name parsing for multi-fw (Jaroslav Kysela) [2065575] - ASoC: wm_adsp: Fix uninitialized variable warnings (Jaroslav Kysela) [2065575] - ASoC: wm_adsp: Use snd_ctl_elem_type_t for control types (Jaroslav Kysela) [2065575] - ASoC: wm_adsp: Only use __be32 for big-endian data (Jaroslav Kysela) [2065575] - ASoC: wm_adsp: Improve handling of raw byte streams (Jaroslav Kysela) [2065575] - ASoC: wm_adsp: remove "ctl" from list on error in wm_adsp_create_control() (Jaroslav Kysela) [2065575] - ASoC: wm_adsp: fix error return code in wm_adsp_load() (Jaroslav Kysela) [2065575] - ASoC: rt5640: Add the binding include file for the HDA header support (Jaroslav Kysela) [2065575] - ALSA: uapi: use C90 comment style instead of C99 style (Jaroslav Kysela) [2065575] - ALSA: hda: intel-dsp-config: Add RaptorLake PCI IDs (Jaroslav Kysela) [2065575] - ALSA: hda/i915: Fix one too many pci_dev_put() (Jaroslav Kysela) [2065575] - ALSA: hda: intel-dsp-config: update AlderLake PCI IDs (Jaroslav Kysela) [2065575] - ALSA: hda/i915 - skip acomp init if no matching display (Jaroslav Kysela) [2065575] - ALSA: hda/i915 - avoid hung task timeout in i915 wait (Jaroslav Kysela) [2065575] - ALSA: intel-dspconfig: add ES8336 support for CNL (Jaroslav Kysela) [2065575] - ALSA: intel-dsp-config: add more ACPI HIDs for ES83x6 devices (Jaroslav Kysela) [2065575] - ALSA: hda: intel-dsp-config: reorder the config table (Jaroslav Kysela) [2065575] - ALSA: hda: intel-dsp-config: add JasperLake support (Jaroslav Kysela) [2065575] - ALSA: hda: Simplify DMIC-in-NHLT check (Jaroslav Kysela) [2065575] - ALSA: intel_hdmi: Fix the missing snd_card_free() call at probe error (Jaroslav Kysela) [2065575] - ALSA: x86: Use standard mmap helper for Intel HDMI LPE audio (Jaroslav Kysela) [2065575] - ALSA: intel_hdmi: Fix reference to PCM buffer address (Jaroslav Kysela) [2065575] - ALSA: intel_hdmi: Check for error num after setting mask (Jaroslav Kysela) [2065575] - tools include uapi: Update asound.h copy (Jaroslav Kysela) [2065575] - tools include UAPI: Sync sound/asound.h copy with the kernel sources (Jaroslav Kysela) [2065575] - tools include UAPI: Sync sound/asound.h copy with the kernel sources (Jaroslav Kysela) [2065575] - ALSA: hda: Add helper macros for DSP capable devices (Jaroslav Kysela) [2065575] - ALSA: intel-nhlt: add helper to detect SSP link mask (Jaroslav Kysela) [2065575] - ASoC: soc-acpi: add information on I2S/TDM link mask (Jaroslav Kysela) [2065575] - ASoC: soc-acpi: fix kernel-doc descriptor (Jaroslav Kysela) [2065575] - ASoC: SOF: fix 32 signed bit overflow (Jaroslav Kysela) [2065575] - ALSA: hda: Add snd_hdac_ext_bus_link_at() helper (Jaroslav Kysela) [2065575] - ALSA: cleanup double word in comment (Jaroslav Kysela) [2065575] - ASoC: SOF: add _D3_PERSISTENT flag to fw_ready message (Jaroslav Kysela) [2065575] - ALSA: HDA: hdac_ext_stream: use consistent prefixes for variables (Jaroslav Kysela) [2065575] - ipc: debug: Add shared memory heap to memory scan (Jaroslav Kysela) [2065575] - ALSA: pcm: comment about relation between msbits hw parameter and [S|U]32 formats (Jaroslav Kysela) [2065575] - ALSA: hda: Fill gaps in NHLT endpoint-interface (Jaroslav Kysela) [2065575] - ASoC: SOF: IPC: Add new IPC command to free trace DMA (Jaroslav Kysela) [2065575] - soundwire: stream: make enable/disable/deprepare idempotent (Jaroslav Kysela) [2065575] - soundwire: stream: sdw_stream_add_ functions can be called multiple times (Jaroslav Kysela) [2065575] - soundwire: stream: introduce sdw_slave_rt_find() helper (Jaroslav Kysela) [2065575] - soundwire: stream: separate alloc and config within sdw_stream_add_xxx() (Jaroslav Kysela) [2065575] - soundwire: stream: move list addition to sdw_slave_alloc_rt() (Jaroslav Kysela) [2065575] - soundwire: stream: rename and move master/slave_rt_free routines (Jaroslav Kysela) [2065575] - soundwire: stream: group sdw_stream_ functions (Jaroslav Kysela) [2065575] - soundwire: stream: split sdw_alloc_slave_rt() in alloc and config (Jaroslav Kysela) [2065575] - soundwire: stream: move sdw_alloc_slave_rt() before 'master' helpers (Jaroslav Kysela) [2065575] - soundwire: stream: split sdw_alloc_master_rt() in alloc and config (Jaroslav Kysela) [2065575] - soundwire: stream: simplify sdw_alloc_master_rt() (Jaroslav Kysela) [2065575] - soundwire: stream: group sdw_port and sdw_master/slave_port functions (Jaroslav Kysela) [2065575] - soundwire: stream: add 'slave' prefix for port range checks (Jaroslav Kysela) [2065575] - soundwire: stream: split alloc and config in two functions (Jaroslav Kysela) [2065575] - soundwire: stream: split port allocation and configuration loops (Jaroslav Kysela) [2065575] - soundwire: stream: add alloc/config/free helpers for ports (Jaroslav Kysela) [2065575] - soundwire: stream: simplify check on port range (Jaroslav Kysela) [2065575] - soundwire: stream: add slave runtime to list earlier (Jaroslav Kysela) [2065575] - soundwire: stream: remove unused parameter in sdw_stream_add_slave (Jaroslav Kysela) [2065575] - soundwire: intel: fix wrong register name in intel_shim_wake (Jaroslav Kysela) [2065575] - soundwire: bus: add dev_warn() messages to track UNATTACHED devices (Jaroslav Kysela) [2065575] - soundwire: intel: remove PDM support (Jaroslav Kysela) [2065575] - soundwire: intel: remove unnecessary init (Jaroslav Kysela) [2065575] - ASoC/SoundWire: dai: expand 'stream' concept beyond SoundWire (Jaroslav Kysela) [2065575] - soundwire: intel: improve suspend flows (Jaroslav Kysela) [2065575] - soundwire: intel: Use auxiliary_device driver data helpers (Jaroslav Kysela) [2065575] - soundwire: qcom: remove redundant version number read (Jaroslav Kysela) [2065575] - ASoC: SOF: Fix NULL pointer exception in sof_pci_probe callback (Jaroslav Kysela) [2065575] - ASoC: ops: Validate input values in snd_soc_put_volsw_range() (Jaroslav Kysela) [2065575] - ASoC: dmaengine: Restore NULL prepare_slave_config() callback (Jaroslav Kysela) [2065575] - ASoC: max98090: Generate notifications on changes for custom control (Jaroslav Kysela) [2065575] - ASoC: max98090: Reject invalid values in custom control put() (Jaroslav Kysela) [2065575] - ASoC: rt9120: Correct the reg 0x09 size to one byte (Jaroslav Kysela) [2065575] - ASoC: soc-ops: fix error handling (Jaroslav Kysela) [2065575] - ASoC: da7219: Fix change notifications for tone generator frequency (Jaroslav Kysela) [2065575] - ASoC: simple-card-utils: fix sysclk shutdown (Jaroslav Kysela) [2065575] - ASoC: Intel: sof_es8336: Add a quirk for Huawei Matebook D15 (Jaroslav Kysela) [2065575] - ASoC: Intel: sof_es8336: add a quirk for headset at mic1 port (Jaroslav Kysela) [2065575] - ASoC: Intel: sof_es8336: support a separate gpio to control headphone (Jaroslav Kysela) [2065575] - ASoC: Intel: sof_es8336: simplify speaker gpio naming (Jaroslav Kysela) [2065575] - ASoC: Intel: soc-acpi: correct device endpoints for max98373 (Jaroslav Kysela) [2065575] - ASoC: codecs: wcd934x: do not switch off SIDO Buck when codec is in use (Jaroslav Kysela) [2065575] - ASoC: SOF: topology: Fix memory leak in sof_control_load() (Jaroslav Kysela) [2065575] - ASoC: SOF: topology: cleanup dailinks on widget unload (Jaroslav Kysela) [2065575] - ASoC: rt711/5682: check if bus is active before deferred jack detection (Jaroslav Kysela) [2065575] - ASoC: Intel: sof_rt5682: Add support for max98360a speaker amp on SSP2 (Jaroslav Kysela) [2065575] - ASoC: simple-card-utils: Avoid NULL deref in asoc_simple_set_tdm() (Jaroslav Kysela) [2065575] - ASoC: soc-core: add debugfs_prefix member to snd_soc_component_driver (Jaroslav Kysela) [2065575] - ASoC: cs35l41: Fix a shift-out-of-bounds warning found by UBSAN (Jaroslav Kysela) [2065575] - ASoC: cs35l41: Add one more variable in the debug log (Jaroslav Kysela) [2065575] - ASoC: rt5682: fix an incorrect NULL check on list iterator (Jaroslav Kysela) [2065575] - ASoC: soc-dapm: fix two incorrect uses of list iterator (Jaroslav Kysela) [2065575] - ASoC: soc-pcm: use GFP_KERNEL when the code is sleepable (Jaroslav Kysela) [2065575] - ASoC: SOF: topology: Fix memory leak of scontrol->name (Jaroslav Kysela) [2065575] - codecs: rt5682s: fix an incorrect NULL check on list iterator (Jaroslav Kysela) [2065575] - ASoC: topology: Correct error handling in soc_tplg_dapm_widget_create() (Jaroslav Kysela) [2065575] - ASoC: SOF: Intel: Fix build error without SND_SOC_SOF_PCI_DEV (Jaroslav Kysela) [2065575] - ASoC: SOF: Add a new dai_get_clk topology IPC op (Jaroslav Kysela) [2065575] - ASoC: SOF: topology: Add ops for setting up and tearing down pipelines (Jaroslav Kysela) [2065575] - ASoC: SOF: expose sof_route_setup() (Jaroslav Kysela) [2065575] - ASoC: SOF: Add dai_link_fixup PCM op for IPC3 (Jaroslav Kysela) [2065575] - ASoC: SOF: Add trigger PCM op for IPC3 (Jaroslav Kysela) [2065575] - ASoC: SOF: Define hw_params PCM op for IPC3 (Jaroslav Kysela) [2065575] - ASoC: SOF: Introduce IPC3 PCM hw_free op (Jaroslav Kysela) [2065575] - ASoC: SOF: pcm: expose the sof_pcm_setup_connected_widgets() function (Jaroslav Kysela) [2065575] - ASoC: SOF: Introduce IPC-specific PCM ops (Jaroslav Kysela) [2065575] - ASoC: SOF: Add bytes_ext control IPC ops for IPC3 (Jaroslav Kysela) [2065575] - ASoC: SOF: Add bytes_get/put control IPC ops for IPC3 (Jaroslav Kysela) [2065575] - ASoC: SOF: Add enum_get/put control ops for IPC3 (Jaroslav Kysela) [2065575] - ASoC: SOF: Add switch get/put IPC3 ops (Jaroslav Kysela) [2065575] - ASoC: SOF: Add volume_get/put IPC3 ops (Jaroslav Kysela) [2065575] - ASoC: SOF: Add IPC3 topology control ops (Jaroslav Kysela) [2065575] - ASoC: SOF: Introduce IPC ops for kcontrol IO (Jaroslav Kysela) [2065575] - ASoC: SOF: Make sof_suspend/resume IPC agnostic (Jaroslav Kysela) [2065575] - ASoC: SOF: Make sof_widget_setup/free IPC agnostic (Jaroslav Kysela) [2065575] - ASoC: SOF: set up scheduler widget before all other widgets in the pipeline (Jaroslav Kysela) [2065575] - ASoC: SOF: topology: Use kmemdup() to replace kzalloc + memcpy (Jaroslav Kysela) [2065575] - ASoC: ak4642: Use of_device_get_match_data() (Jaroslav Kysela) [2065575] - ASoC: sti: Fix deadlock via snd_pcm_stop_xrun() call (Jaroslav Kysela) [2065575] - ASoC: amd: Fix reference to PCM buffer address (Jaroslav Kysela) [2065575] - ASoC: codecs: wcd934x: Add missing of_node_put() in wcd934x_codec_parse_data (Jaroslav Kysela) [2065575] - ASoC: rt1308-sdw: get calibration params after power on (Jaroslav Kysela) [2065575] - ASoC: msm8916-wcd-analog: Fix error handling in pm8916_wcd_analog_spmi_probe (Jaroslav Kysela) [2065575] - ASoC: ti: Fix spelling mistake "cant" -> "can't" (Jaroslav Kysela) [2065575] - ASoC: samsung: i2s: check the return value of kstrdup() (Jaroslav Kysela) [2065575] - ASoC: SOF: topology: remove snd_sof_complete_pipeline() (Jaroslav Kysela) [2065575] - ASoC: SOF: topology: Make widget binding IPC agnostic (Jaroslav Kysela) [2065575] - ASoC: SOF: topology: Make control parsing IPC agnostic (Jaroslav Kysela) [2065575] - ASoC: SOF: topology: Make DAI widget parsing IPC agnostic (Jaroslav Kysela) [2065575] - ASoC: SOF: topology: Make route setup IPC agnostic (Jaroslav Kysela) [2065575] - ASoC: SOF: topology: Make effect widget parsing IPC agnostic (Jaroslav Kysela) [2065575] - ASoC: SOF: Replace zero-length array with flexible-array member (Jaroslav Kysela) [2065575] - ASoC: SOF: topology: Make siggen widget parsing IPC agnostic (Jaroslav Kysela) [2065575] - ASoC: SOF: topology: Make asrc widget parsing IPC agnostic (Jaroslav Kysela) [2065575] - ASoC: SOF: topology: Make src widget parsing IPC agnostic (Jaroslav Kysela) [2065575] - ASoC: SOF: topology: Make mux/demux widget parsing IPC agnostic (Jaroslav Kysela) [2065575] - ASoC: SOF: topology: Make mixer widget parsing IPC agnostic (Jaroslav Kysela) [2065575] - ASoC: SOF: topology: Make pga widget parsing IPC agnostic (Jaroslav Kysela) [2065575] - ASoC: SOF: topology: Make buffer widget parsing IPC agnostic (Jaroslav Kysela) [2065575] - ASoC: SOF: topology: Make scheduler widget parsing IPC agnostic (Jaroslav Kysela) [2065575] - ASoC: SOF: Introduce IPC3 ops (Jaroslav Kysela) [2065575] - ASoC: SOF: topology: Add helper function for processing tuple arrays (Jaroslav Kysela) [2065575] - ASoC: SOF: IPC: Introduce IPC ops (Jaroslav Kysela) [2065575] - ASoC: SOF: Introduce struct snd_sof_dai_link (Jaroslav Kysela) [2065575] - ASoC: soc-compress: Change the check for codec_dai (Jaroslav Kysela) [2065575] - ASoC: Intel: avs: Code loading over HDA (Jaroslav Kysela) [2065575] - ASoC: Intel: avs: Code loading over CLDMA (Jaroslav Kysela) [2065575] - ASoC: Intel: avs: Implement CLDMA transfer (Jaroslav Kysela) [2065575] - ASoC: Intel: avs: General code loading flow (Jaroslav Kysela) [2065575] - ASoC: Intel: avs: Dynamic firmware resources management (Jaroslav Kysela) [2065575] - ASoC: Intel: avs: Declare module configuration types (Jaroslav Kysela) [2065575] - ASoC: Intel: avs: Firmware resources management utilities (Jaroslav Kysela) [2065575] - ASoC: Intel: avs: Add basefw runtime-parameter requests (Jaroslav Kysela) [2065575] - ASoC: Intel: avs: Add ROM requests (Jaroslav Kysela) [2065575] - ASoC: Intel: avs: Add power management requests (Jaroslav Kysela) [2065575] - ASoC: Intel: avs: Add module management requests (Jaroslav Kysela) [2065575] - ASoC: Intel: avs: Add pipeline management requests (Jaroslav Kysela) [2065575] - ASoC: Intel: avs: Add code loading requests (Jaroslav Kysela) [2065575] - ASoC: Intel: avs: Inter process communication (Jaroslav Kysela) [2065575] - ASoC: Intel: Introduce AVS driver (Jaroslav Kysela) [2065575] - ASoC: Export DAI register and widget ctor and dctor functions (Jaroslav Kysela) [2065575] - ASoC: simple-card-utils: Don't reset clock of active DAI (Jaroslav Kysela) [2065575] - ASoC: SOF: Remove ipc_pcm_params() ops (Jaroslav Kysela) [2065575] - ASoC: SOF: imx: Convert to use the generic set_stream_data_offset ops (Jaroslav Kysela) [2065575] - ASoC: SOF: Intel: Convert to use the generic set_stream_data_offset ops (Jaroslav Kysela) [2065575] - ASoC: SOF: Intel: hda-ipc: Add hda_set_stream_data_offset() (Jaroslav Kysela) [2065575] - ASoC: SOF: stream-ipc: Add sof_set_stream_data_offset() (Jaroslav Kysela) [2065575] - ASoC: SOF: Mark snd_sof_dsp_ops.ipc_pcm_params() callback optional (Jaroslav Kysela) [2065575] - ASoC: SOF: Introduce optional callback to configure stream data offset (Jaroslav Kysela) [2065575] - ASoC: SOF: pcm: Remove sof_pcm_dsp_params() wrapper (Jaroslav Kysela) [2065575] - ASoC: SOF: Make pcm_hw_params snd_sof_dsp_ops callback IPC neutral (Jaroslav Kysela) [2065575] - ASoC: SOF: sof-priv: Remove stale snd_sof_ipc_stream_pcm_params() declaration (Jaroslav Kysela) [2065575] - ASoC: Intel: soc-acpi: Add entry for rt711-sdca-sdw in ADL match table (Jaroslav Kysela) [2065575] - ASoC: SOF: Intel: add topology overwrite for Taniks (Jaroslav Kysela) [2065575] - ASoC: SOF: trace: Use proper DMA direction for the trace data buffer (Jaroslav Kysela) [2065575] - ASoC: SOF: compress: fix null check after dereference (Jaroslav Kysela) [2065575] - ASoC: SOF: Intel: enable DMI L1 for playback streams (Jaroslav Kysela) [2065575] - ASoC: SOF: ipc-msg-injector: Use devm_kzalloc() for the rx_buffer (Jaroslav Kysela) [2065575] - ASoC: SOF: amd: Remove unneeded semicolon (Jaroslav Kysela) [2065575] - ASoC: SOF: amd: Remove unneeded semicolon (Jaroslav Kysela) [2065575] - ASoC: Intel: boards: fix randconfig issue (Jaroslav Kysela) [2065575] - ASoC: Intel: bytcht_es8316: move comment to the right place (Jaroslav Kysela) [2065575] - ASoC: Intel: sof_es8336: add cfg-dmics component for UCM support (Jaroslav Kysela) [2065575] - ASoC: Intel: sof_es8336: extend machine driver to support ES8326 codec (Jaroslav Kysela) [2065575] - ASoC: Intel: sof_es8336: add support for JD inverted quirk (Jaroslav Kysela) [2065575] - ASoC: Intel: sof_es8336: move comment to the right place (Jaroslav Kysela) [2065575] - ASoC: Intel: sof_es8336: log all quirks (Jaroslav Kysela) [2065575] - ASoC: Intel: sof_es8336: use NHLT information to set dmic and SSP (Jaroslav Kysela) [2065575] - ASoC: Intel: Revert "ASoC: Intel: sof_es8336: add quirk for Huawei D15 2021" (Jaroslav Kysela) [2065575] - ASoC: Intel: sof_es8336: get codec device with ACPI instead of bus search (Jaroslav Kysela) [2065575] - ASoC: Intel: sof_es8336: make gpio optional (Jaroslav Kysela) [2065575] - ASoC: Intel: soc-acpi: add ESSX8336 support on Cannon Lake machines (Jaroslav Kysela) [2065575] - ASoC: Intel: soc-acpi: add more ACPI HIDs for ES83x6 devices (Jaroslav Kysela) [2065575] - ASoC: Intel: soc-acpi: quirk topology filename dynamically (Jaroslav Kysela) [2065575] - ASoC: SOF: Intel: hda: report SSP link mask to machine driver (Jaroslav Kysela) [2065575] - ASoC: SOF: Intel: hda: retrieve DMIC number for I2S boards (Jaroslav Kysela) [2065575] - ASoC: SOF: move definition of snd_sof_ipc to header file (Jaroslav Kysela) [2065575] - ASoC: SOF: make struct snd_sof_dai IPC agnostic (Jaroslav Kysela) [2065575] - ASoC: SOF: topology: Rename arguments in sof_parse_tokens() (Jaroslav Kysela) [2065575] - ASoC: SOF: topology: Rename arguments in sof_parse_token_sets() (Jaroslav Kysela) [2065575] - ASoC: SOF: topology: Modify signature for token parsing functions (Jaroslav Kysela) [2065575] - ASoC: SOF: Add a tuples array to struct snd_sof_widget (Jaroslav Kysela) [2065575] - ASoC: SOF: topology: make sof_route_load() IPC agnostic (Jaroslav Kysela) [2065575] - ASoC: SOF: make struct snd_sof_widget IPC agnostic (Jaroslav Kysela) [2065575] - ASoC: mxs: Fix error handling in mxs_sgtl5000_probe (Jaroslav Kysela) [2065575] - ASoC: dmaengine: do not use a NULL prepare_slave_config() callback (Jaroslav Kysela) [2065575] - ASoC: SOF: Add missing of_node_put() in imx8m_probe (Jaroslav Kysela) [2065575] - ASoC: rockchip: i2s: Fix missing clk_disable_unprepare() in rockchip_i2s_probe (Jaroslav Kysela) [2065575] - ASoC: amd: acp3x: Fix signedness bug in acp3x (Jaroslav Kysela) [2065575] - ASoC: amd: acp5x-pcm-dma: Fix signedness bug (Jaroslav Kysela) [2065575] - ASoC: Intel: catpt: use asoc_substream_to_rtd() (Jaroslav Kysela) [2065575] - ASoC: SOF: change comp_dai to a pointer in struct snd_sof_dai (Jaroslav Kysela) [2065575] - ASoC: SOF: topology: expose some get_token ops (Jaroslav Kysela) [2065575] - ASoC: SOF: topology: Modify the get_token op for string tokens (Jaroslav Kysela) [2065575] - ASoC: SOF: topology: Drop the size parameter from struct sof_topology_token (Jaroslav Kysela) [2065575] - ASoC: SOF: topology: remove redundant code in sof_link_afe_load() (Jaroslav Kysela) [2065575] - ASoC: SOF: topology: remove redundant code (Jaroslav Kysela) [2065575] - ASoC: SOF: sof-audio: removed unused function (Jaroslav Kysela) [2065575] - ASoC: SOF: set swidget's core for scheduler widget (Jaroslav Kysela) [2065575] - ASoC: SOF: simplify snd_sof_device_remove() (Jaroslav Kysela) [2065575] - ASoC: SOF: remove snd_sof_pipeline_find() (Jaroslav Kysela) [2065575] - ASoC: amd: vg: fix signedness bug in acp5x_audio_probe() (Jaroslav Kysela) [2065575] - ASoC: cs35l41: Remove unnecessary param (Jaroslav Kysela) [2065575] - ASoC: rt5682s: Stabilize the combo jack detection (Jaroslav Kysela) [2065575] - ASoC: wm8350: Handle error for wm8350_register_irq (Jaroslav Kysela) [2065575] - ASoC: amd: pcm-dma: Fix signedness bug in acp3x_audio_probe() (Jaroslav Kysela) [2065575] - ASoC: amd: pcm-dma: Fix signedness bug in acp_pdm_audio_probe() (Jaroslav Kysela) [2065575] - ASoC: amd: acp: Fix signedness bug in renoir_audio_probe() (Jaroslav Kysela) [2065575] - ASoC: Intel: sof_sdw: fix quirks for 2022 HP Spectre x360 13" (Jaroslav Kysela) [2065575] - ASoC: Intel: boards: add GPIOLIB dependency where missed (Jaroslav Kysela) [2065575] - ASoC: Intel: boards: remove explicit dependency on GPIOLIB when DMIC is used" (Jaroslav Kysela) [2065575] - ASoC: fsl_sai: store full version instead of major/minor (Jaroslav Kysela) [2065575] - ASoC: fsl_sai: simplify register poking in fsl_sai_set_bclk (Jaroslav Kysela) [2065575] - ASoC: fsl_sai: simplify irq return value (Jaroslav Kysela) [2065575] - ASoC: fsl_sai: Drop unnecessary defines (Jaroslav Kysela) [2065575] - ASoC: codecs: Add Awinic AW8738 audio amplifier driver (Jaroslav Kysela) [2065575] - ASoC: audio_graph_card2: Add support for variable slot widths (Jaroslav Kysela) [2065575] - ASoC: SOF: Intel: hda: clarify operator precedence (Jaroslav Kysela) [2065575] - ASoC: SOF: debug: clarify operator precedence (Jaroslav Kysela) [2065575] - ASoC: SOF: amd: Increase ACP_HW_SEM_RETRY_COUNT value (Jaroslav Kysela) [2065575] - ASoC: SOF: amd: Move group register configuration to acp-loader (Jaroslav Kysela) [2065575] - ASoC: SOF: amd: Use semaphore register to synchronize ipc's irq (Jaroslav Kysela) [2065575] - ASoC: SOF: amd: Flush cache after ATU_BASE_ADDR_GRP register update (Jaroslav Kysela) [2065575] - ASoC: SOF: amd: Do not set ipc_pcm_params ops as it is optional (Jaroslav Kysela) [2065575] - ASoC: SOF: amd: acp-pcm: Take buffer information directly from runtime (Jaroslav Kysela) [2065575] - ASoC: SOF: Intel: pci-tgl: add RPL-S support (Jaroslav Kysela) [2065575] - ASoC: cs35l41: Fix DSP mbox start command and global enable order (Jaroslav Kysela) [2065575] - ASoC: cs35l41: Fix max number of TX channels (Jaroslav Kysela) [2065575] - ASoC: cs35l41: Fix GPIO2 configuration (Jaroslav Kysela) [2065575] - ASoC: bt-sco: fix bt-sco-pcm-wb dai widget don't connect to the endpoint (Jaroslav Kysela) [2065575] - ASoC: hdac_hda: Avoid unexpected match when pcm_name is "Analog" (Jaroslav Kysela) [2065575] - ASoC: soc-compress: prevent the potentially use of null pointer (Jaroslav Kysela) [2065575] - ASoC: soc-generic-dmaengine-pcm: set period_bytes_min based on maxburst (Jaroslav Kysela) [2065575] - ASoC: dwc-i2s: Handle errors for clk_enable (Jaroslav Kysela) [2065575] - ASoC: amd: use asoc_substream_to_rtd() (Jaroslav Kysela) [2065575] - ASoC: atmel_ssc_dai: Handle errors for clk_enable (Jaroslav Kysela) [2065575] - ASoC: mxs-saif: Handle errors for clk_enable (Jaroslav Kysela) [2065575] - ASoC: Intel: soc-acpi: add entries in ADL match table (Jaroslav Kysela) [2065575] - ASoC: Intel: sof_ssp_amp: rename driver and support cs35l41 amplifier (Jaroslav Kysela) [2065575] - ASoC: Intel: cirrus-common: support cs35l41 amplifier (Jaroslav Kysela) [2065575] - ASoC: Intel: sof_rt1308: move rt1308 code to common module (Jaroslav Kysela) [2065575] - ASoC: Intel: boards: create sof-realtek-common module (Jaroslav Kysela) [2065575] - ASoC: Intel: add RT1308 I2S machine driver and HDMI-in capture via I2S support. (Jaroslav Kysela) [2065575] - ASoC: Intel: boards: fix spelling in comments (Jaroslav Kysela) [2065575] - ASoC: soc-acpi: remove sof_fw_filename (Jaroslav Kysela) [2065575] - ASoC: es7241: Use modern ASoC DAI format terminology (Jaroslav Kysela) [2065575] - ASoC: max98927: Use modern ASoC DAI format terminology (Jaroslav Kysela) [2065575] - ASoC: max98926: Use modern ASoC DAI format terminology (Jaroslav Kysela) [2065575] - ASoC: max98925: Use modern ASoC DAI format terminology (Jaroslav Kysela) [2065575] - ASoC: max9867: Use modern ASoC DAI format terminology (Jaroslav Kysela) [2065575] - ASoC: max9860: Use modern ASoC DAI format terminology (Jaroslav Kysela) [2065575] - ASoC: max9850: Use modern ASoC DAI format terminology (Jaroslav Kysela) [2065575] - ASoC: max98390: Use modern ASoC DAI format terminology (Jaroslav Kysela) [2065575] - ASoC: max98371: Use modern ASoC DAI format terminology (Jaroslav Kysela) [2065575] - ASoC: max98095: Use modern ASoC DAI format terminology (Jaroslav Kysela) [2065575] - ASoC: max98088: Use modern ASoC DAI format terminology (Jaroslav Kysela) [2065575] - ASoC: uda134x: Use modern ASoC DAI format terminology (Jaroslav Kysela) [2065575] - ASoC: ml26124: Use modern ASoC DAI format terminology (Jaroslav Kysela) [2065575] - ASoC: pcm512x: Use modern ASoC DAI format terminology (Jaroslav Kysela) [2065575] - ASoC: pcm3168a: Use modern ASoC DAI format terminology (Jaroslav Kysela) [2065575] - ASoC: pcm186x: Use modern ASoC DAI format terminology (Jaroslav Kysela) [2065575] - ASoC: pcm1681: Use modern ASoC DAI format terminology (Jaroslav Kysela) [2065575] - ASoC: pcm3060: Use modern ASoC DAI format terminology (Jaroslav Kysela) [2065575] - ASoC: ti: davinci-i2s: Add check for clk_enable() (Jaroslav Kysela) [2065575] - ASoC: mc13783: Use modern ASoC DAI format terminology (Jaroslav Kysela) [2065575] - ASoC: isabelle: Use modern ASoC DAI format terminology (Jaroslav Kysela) [2065575] - ASoC: amd: vangogh: fix uninitialized symbol warning in machine driver (Jaroslav Kysela) [2065575] - ASoC: amd: vg: remove warnings and errors pointed out by checkpatch pl (Jaroslav Kysela) [2065575] - ASoC: amd: vg: update DAI link name (Jaroslav Kysela) [2065575] - ASoC: amd: vg: fix for pm resume callback sequence (Jaroslav Kysela) [2065575] - ASoC: es8328: Use modern ASoC DAI format terminology (Jaroslav Kysela) [2065575] - ASoC: inno_rk3036: Use modern ASoC DAI format terminology (Jaroslav Kysela) [2065575] - ASoC: es8316: Use modern ASoC DAI format terminology (Jaroslav Kysela) [2065575] - ASoC: wl1273: Use modern ASoC DAI format terminology (Jaroslav Kysela) [2065575] - ASoC: es7134: Use modern ASoC DAI format terminology (Jaroslav Kysela) [2065575] - ASoC: twl4030: Use modern ASoC DAI format terminology (Jaroslav Kysela) [2065575] - ASoC: uda1334: Use modern ASoC DAI format terminology (Jaroslav Kysela) [2065575] - ASoC: uda1380: Use modern ASoC DAI format terminology (Jaroslav Kysela) [2065575] - ASoC: si476x: Use modern ASoC DAI format terminology (Jaroslav Kysela) [2065575] - ASoC: sti-sas: Use modern ASoC DAI format terminology (Jaroslav Kysela) [2065575] - ASoC: amd: pcm-dma: Use platform_get_irq() to get the interrupt (Jaroslav Kysela) [2065575] - ASoC: tscs454: Use modern ASoC DAI format terminology (Jaroslav Kysela) [2065575] - ASoC: tscs42xx: Use modern ASoC DAI format terminology (Jaroslav Kysela) [2065575] - ASoC: lm49453: Use modern ASoC DAI format terminology (Jaroslav Kysela) [2065575] - ASoC: qcom: lpass-platform: Update warning print to control excess logging (Jaroslav Kysela) [2065575] - ASoC: acp: check the return value of devm_kzalloc() in acp_legacy_dai_links_create() (Jaroslav Kysela) [2065575] - ASoC: rt5663: check the return value of devm_kzalloc() in rt5663_parse_dp() (Jaroslav Kysela) [2065575] - ASoC: SOF: sof-priv: Drop duplicate sof_compressed_ops declaration (Jaroslav Kysela) [2065575] - ASoC: amd: Use platform_get_irq_byname() to get the interrupt (Jaroslav Kysela) [2065575] - ASoC: SOF: Declare sof_compress_ops in sof-priv.h (Jaroslav Kysela) [2065575] - ASoC: SOF: Intel: Fix NULL ptr dereference when ENOMEM (Jaroslav Kysela) [2065575] - ASoC: amd: acp: Add DMIC machine driver ops (Jaroslav Kysela) [2065575] - ASoC: amd: acp-legacy: Add legacy card support for new machines (Jaroslav Kysela) [2065575] - ASoC: amd: acp: Change card name for Guybrush Machine (Jaroslav Kysela) [2065575] - ASoC: SOF: pcm: Add compress_ops for SOF platform component driver (Jaroslav Kysela) [2065575] - ASoC: rt5682s: Fix the wrong jack type detected (Jaroslav Kysela) [2065575] - ASoC: Intel: soc-acpi-byt: Add new WM5102 ACPI HID (Jaroslav Kysela) [2065575] - ASoC: amd: vg: update acp init and deinit sequence (Jaroslav Kysela) [2065575] - ASoC: amd: vg: apply sample bits pcm constraint (Jaroslav Kysela) [2065575] - ASoC: amd: vg: update platform clock control sequence (Jaroslav Kysela) [2065575] - ASoC: nau8821: enable no_capture_mute flag (Jaroslav Kysela) [2065575] - ASoC: amd: vangogh: refactor i2s master mode clock sequence code (Jaroslav Kysela) [2065575] - ASoC: SOF: Intel: Add topology overwrite for Felwinter (Jaroslav Kysela) [2065575] - ASoC: Intel: sof_es8336: add quirk for Huawei D15 2021 (Jaroslav Kysela) [2065575] - ASoC: intel: skylake: Set max DMA segment size (Jaroslav Kysela) [2065575] - ASoC: SOF: hda: Set max DMA segment size (Jaroslav Kysela) [2065575] - ASoC: SOF: core: unregister clients and machine drivers in .shutdown (Jaroslav Kysela) [2065575] - ASoC: cs4265: Fix the duplicated control name (Jaroslav Kysela) [2065575] - ASoC: ops: Shift tested values in snd_soc_put_volsw() by +min (Jaroslav Kysela) [2065575] - ASoC: soc-core: skip zero num_dai component in searching dai name (Jaroslav Kysela) [2065575] - ASoC: SOF: Makefile: Fix randconfig sof-client build when SND_SOC_SOF=y (Jaroslav Kysela) [2065575] - ASoC: codec: wm8960: complete discharge on BIAS OFF->STANDBY (Jaroslav Kysela) [2065575] - ASoC: wm8731: Delete empty remove() function (Jaroslav Kysela) [2065575] - ASoC: pcm3168a: remove numeric PCM3168A_NUM_SUPPLIES (Jaroslav Kysela) [2065575] - ASoC: pcm3168a: refactor format handling (Jaroslav Kysela) [2065575] - ASoC: pcm3168a: refactor hw_params routine (Jaroslav Kysela) [2065575] - ASoC: pcm3168a: cleanup unintuitive mask usage (Jaroslav Kysela) [2065575] - ASoC: SOF: compr: Mark snd_compress_ops static (Jaroslav Kysela) [2065575] - ASoC: Intel: bytcr_wm5102: use GFP_KERNEL (Jaroslav Kysela) [2065575] - ASoC: SOF: Convert the generic probe support to SOF client (Jaroslav Kysela) [2065575] - ASoC: SOF: Convert the generic IPC message injector into SOF client (Jaroslav Kysela) [2065575] - ASoC: SOF: Convert the generic IPC flood test into SOF client (Jaroslav Kysela) [2065575] - ASoC: SOF: sof-client: Add support for clients not managed by pm framework (Jaroslav Kysela) [2065575] - ASoC: SOF: Introduce IPC SOF client support (Jaroslav Kysela) [2065575] - ASoC: SOF: Split up utils.c into sof-utils and iomem-utils (Jaroslav Kysela) [2065575] - ASoC: SOF: ipc: Read and pass the whole message to handlers for IPC events (Jaroslav Kysela) [2065575] - ASoC: SOF: Move the definition of enum sof_dsp_power_states to global header (Jaroslav Kysela) [2065575] - ASoC: SOF: Drop unused DSP power states: D3_HOT and D3_COLD (Jaroslav Kysela) [2065575] - ASoC: rt5640: Remove the sysclk and sysclk_src checking (Jaroslav Kysela) [2065575] - ASoC: SOF: Intel: hdac_ext_stream: consistent prefixes for variables/members (Jaroslav Kysela) [2065575] - ASoC: fsl_sai: Enable combine mode soft (Jaroslav Kysela) [2065575] - ASoC: SOF: compr: Add compress ops implementation (Jaroslav Kysela) [2065575] - ASoC: SOF: dma-trace: Pass pointer to params_ext struct in trace_init() (Jaroslav Kysela) [2065575] - ASoC: SOF: intel: hda-trace: Pass the dma buffer pointer to hda_dsp_trace_prepare (Jaroslav Kysela) [2065575] - ASoC: zl38060: Remove spurious gpiolib select (Jaroslav Kysela) [2065575] - ASoC: max9759: Remove spurious gpiolib select (Jaroslav Kysela) [2065575] - ASoC: simple-amplifier: Remove spurious gpiolib select (Jaroslav Kysela) [2065575] - ASoC: rt9120: Remove spurious gpiolib select (Jaroslav Kysela) [2065575] - ASoC: dmic: Remove spurious gpiolib select (Jaroslav Kysela) [2065575] - ASoC: rt5682: do not block workqueue if card is unbound (Jaroslav Kysela) [2065575] - ASoC: rt5668: do not block workqueue if card is unbound (Jaroslav Kysela) [2065575] - ASoC: rt5682s: do not block workqueue if card is unbound (Jaroslav Kysela) [2065575] - ASoC: tas2770: Insert post reset delay (Jaroslav Kysela) [2065575] - ASoC: samsung: Explicitly include gpiolib header (Jaroslav Kysela) [2065575] - ASoC: amd: acp: Set gpio_spkr_en to None for max speaker amplifer in machine driver (Jaroslav Kysela) [2065575] - ASoC: ops: Fix stereo change notifications in snd_soc_put_xr_sx() (Jaroslav Kysela) [2065575] - ASoC: ops: Fix stereo change notifications in snd_soc_put_volsw_range() (Jaroslav Kysela) [2065575] - ASoC: ops: Fix stereo change notifications in snd_soc_put_volsw_sx() (Jaroslav Kysela) [2065575] - ASoC: ops: Fix stereo change notifications in snd_soc_put_volsw() (Jaroslav Kysela) [2065575] - ASoC: max98927: add missing header file (Jaroslav Kysela) [2065575] - ASoC: ops: Check for negative values before reading them (Jaroslav Kysela) [2065575] - ASoC: cs42l51: Improve error handling in cs42l51_remove() (Jaroslav Kysela) [2065575] - ASoC: SOF: ipc: Do not allocate buffer for msg_data (Jaroslav Kysela) [2065575] - ASoC: SOF: ipc: Drop header parameter from sof_ipc_tx_message_unlocked() (Jaroslav Kysela) [2065575] - ASoC: SOF: Intel: cnl: Use pm_gate->hdr.cmd in cnl_compact_ipc_compress() (Jaroslav Kysela) [2065575] - ASoC: amd: renoir: Add check for acp configuration flags (Jaroslav Kysela) [2065575] - ASoC: amd: acp: acp-legacy: Add DMIC dai link support for Renoir (Jaroslav Kysela) [2065575] - ASoC: amd: acp: Add ACP init()/deinit() callback for Renoir. (Jaroslav Kysela) [2065575] - ASoC: amd: acp: Add generic PCI driver module for ACP device (Jaroslav Kysela) [2065575] - ASoC: amd: acp: Add PDM controller based dmic dai for Renoir (Jaroslav Kysela) [2065575] - ASoC: amd: acp: Add generic support for PDM controller on ACP (Jaroslav Kysela) [2065575] - ASoC: rk3399_gru_sound: Wire up DP jack detection (Jaroslav Kysela) [2065575] - ASoC: rt5682: Fix deadlock on resume (Jaroslav Kysela) [2065575] - ASoC: hdmi-codec: Fix OOB memory accesses (Jaroslav Kysela) [2065575] - ASoC: soc-pcm: Move debugfs removal out of spinlock (Jaroslav Kysela) [2065575] - ASoC: SOF: trace: Simplify count adjustment in trace_read (Jaroslav Kysela) [2065575] - ASoC: SOF: Intel: hda: Remove link assignment limitation (Jaroslav Kysela) [2065575] - ASoC: ops: Reject out of bounds values in snd_soc_put_xr_sx() (Jaroslav Kysela) [2065575] - ASoC: ops: Reject out of bounds values in snd_soc_put_volsw_sx() (Jaroslav Kysela) [2065575] - ASoC: ops: Reject out of bounds values in snd_soc_put_volsw() (Jaroslav Kysela) [2065575] - ASoC: simple-card-utils: Add new system-clock-fixed flag (Jaroslav Kysela) [2065575] - ASoC: simple-card-utils: Set sysclk on all components (Jaroslav Kysela) [2065575] - ASoC: Intel: sof_rt5682: add 512FS MCLK clock configuration (Jaroslav Kysela) [2065575] - ASoC: amd: sof-mach: Add support for RT5682S and RT1019 card (Jaroslav Kysela) [2065575] - ASoC: soc-generic-dmaengine-pcm: separate max_buffer_size assignment (Jaroslav Kysela) [2065575] - ASoC: samsung: remove unneeded ret variable (Jaroslav Kysela) [2065575] - ASoC: codecs: remove redundant ret variable (Jaroslav Kysela) [2065575] - ASoC: fsl-asoc-card: Add optional dt property for setting mclk-id (Jaroslav Kysela) [2065575] - ASoC: Intel: sof_rt5682: Add support for platform without amplifier (Jaroslav Kysela) [2065575] - ASoC: Intel: sof_rt5682: add support for systems without i915 audio (Jaroslav Kysela) [2065575] - ASoC: SOF: Intel: Compare sdw adr directly (Jaroslav Kysela) [2065575] - ASoC: SOF: Intel: match sdw version on link_slaves_found (Jaroslav Kysela) [2065575] - ASoC: add support for TAS5805M digital amplifier (Jaroslav Kysela) [2065575] - ASoC: topology: Optimize soc_tplg_dapm_graph_elems_load behavior (Jaroslav Kysela) [2065575] - ASoC: topology: Allow TLV control to be either read or write (Jaroslav Kysela) [2065575] - ASoC: topology: Remove superfluous error prints (Jaroslav Kysela) [2065575] - ASoC: SOF: add flag to disable IMR restore to sof_debug (Jaroslav Kysela) [2065575] - ASoC: SOF: Intel: hda-loader: add IMR restore support (Jaroslav Kysela) [2065575] - ASoC: SOF: Intel: hda-loader: add SSP helper (Jaroslav Kysela) [2065575] - ASoC: SOF: Intel: use inclusive language for SSP clocks (Jaroslav Kysela) [2065575] - ASoC: amd: acp-mach: Fix Left and Right rt1019 amp devices (Jaroslav Kysela) [2065575] - ASoC: max9759: fix underflow in speaker_gain_control_put() (Jaroslav Kysela) [2065575] - ASoC: cpcap: Check for NULL pointer after calling of_get_child_by_name (Jaroslav Kysela) [2065575] - ASoC: simple-card: fix probe failure on platform component (Jaroslav Kysela) [2065575] - ASoC: xilinx: xlnx_formatter_pcm: Make buffer bytes multiple of period bytes (Jaroslav Kysela) [2065575] - ASoC: cs35l41: Add support for hibernate memory retention mode (Jaroslav Kysela) [2065575] - ASoC: cs35l41: Update handling of test key registers (Jaroslav Kysela) [2065575] - ASoC: wcd9335: Keep a RX port value for each SLIM RX mux (Jaroslav Kysela) [2065575] - ASoC: amd: acp: acp-mach: Change default RT1019 amp dev id (Jaroslav Kysela) [2065575] - ASoC: topology: Fix typo (Jaroslav Kysela) [2065575] - ASoC: fsl_asrc: refine the check of available clock divider (Jaroslav Kysela) [2065575] - ASoC: Intel: bytcr_rt5640: Add support for external GPIO jack-detect (Jaroslav Kysela) [2065575] - ASoC: Intel: bytcr_rt5640: Support retrieving the codec IRQ from the AMCR0F28 ACPI dev (Jaroslav Kysela) [2065575] - ASoC: rt5640: Add support for boards with an external jack-detect GPIO (Jaroslav Kysela) [2065575] - ASoC: rt5640: Allow snd_soc_component_set_jack() to override the codec IRQ (Jaroslav Kysela) [2065575] - ASoC: rt5640: Change jack_work to a delayed_work (Jaroslav Kysela) [2065575] - ASoC: rt5640: Fix possible NULL pointer deref on resume (Jaroslav Kysela) [2065575] - ASoC: ak4375: Fix unused function error (Jaroslav Kysela) [2065575] - ASoC: cs4265: Add a remove() function (Jaroslav Kysela) [2065575] - ASoC: cs35l41: Correct handling of some registers in the cache (Jaroslav Kysela) [2065575] - ASoC: cs35l41: Correct DSP power down (Jaroslav Kysela) [2065575] - ASoC: cs35l41: Remove incorrect comment (Jaroslav Kysela) [2065575] - ASoC: cs35l41: Add cs35l51/53 IDs (Jaroslav Kysela) [2065575] - ASoC: fsl_mqs: fix MODULE_ALIAS (Jaroslav Kysela) [2065575] - ASoC: cs35l41: Create shared function for boost configuration (Jaroslav Kysela) [2065575] - ASoC: cs35l41: Create shared function for setting channels (Jaroslav Kysela) [2065575] - ASoC: cs35l41: Create shared function for errata patches (Jaroslav Kysela) [2065575] - ASoC: cs35l41: Move power initializations to reg_sequence (Jaroslav Kysela) [2065575] - ASoC: cs35l41: Move cs35l41_otp_unpack to shared code (Jaroslav Kysela) [2065575] - ASoC: cs35l41: Convert tables to shared source code (Jaroslav Kysela) [2065575] - ASoC: samsung: idma: Check of ioremap return value (Jaroslav Kysela) [2065575] - ASoC: cs4265: Fix part number ID error message (Jaroslav Kysela) [2065575] - ALSA/ASoC: hda: move/rename snd_hdac_ext_stop_streams to hdac_stream.c (Jaroslav Kysela) [2065575] - ASoC: amd: acp: Power on/off the speaker enable gpio pin based on DAPM callback. (Jaroslav Kysela) [2065575] - ASoC: mediatek: mt8173: reduce log verbosity in probe() (Jaroslav Kysela) [2065575] - ASoC: mediatek: mt8183: fix device_node leak (Jaroslav Kysela) [2065575] - ASoC: mediatek: mt8173: fix device_node leak (Jaroslav Kysela) [2065575] - ASoC: Intel/SOF: use set_stream() instead of set_tdm_slots() for HDAudio (Jaroslav Kysela) [2065575] - ASoC/soundwire: intel: simplify callbacks for params/hw_free (Jaroslav Kysela) [2065575] - ASOC: SOF: Intel: use snd_soc_dai_get_widget() (Jaroslav Kysela) [2065575] - ASoC: msm8916-wcd-analog: Use separate outputs for HPH_L/HPH_R (Jaroslav Kysela) [2065575] - ASoC: qcom: common: Parse "pin-switches" and "widgets" from DT (Jaroslav Kysela) [2065575] - ASoC: core: Add snd_soc_of_parse_pin_switches() from simple-card-utils (Jaroslav Kysela) [2065575] - ASoC: SOF: Intel: hda: Use DEBUG log level for optional prints (Jaroslav Kysela) [2065575] - ASoC: SOF: debug: Use DEBUG log level for optional prints (Jaroslav Kysela) [2065575] - ASoC: SOF: Add clarifying comments for sof_core_debug and DSP dump flags (Jaroslav Kysela) [2065575] - ASoC: SOF: Rename snd_sof_get_status() and add kernel log level parameter (Jaroslav Kysela) [2065575] - ASoC: SOF: dsp_arch_ops: add kernel log level parameter for oops and stack (Jaroslav Kysela) [2065575] - ASoC: SOF: ops: Always print DSP Panic message but use different message (Jaroslav Kysela) [2065575] - ASoc: SOF: core: Update the FW boot state transition diagram (Jaroslav Kysela) [2065575] - ASoC: SOF: pm: Force DSP off on suspend in BOOT_FAILED state also (Jaroslav Kysela) [2065575] - ASoC: SOF: Set SOF_FW_BOOT_FAILED in case we have failure during boot (Jaroslav Kysela) [2065575] - ASoC: SOF: ipc: Only allow sending of an IPC in SOF_FW_BOOT_COMPLETE state (Jaroslav Kysela) [2065575] - ASoC: SOF: Rename 'enum snd_sof_fw_state' to 'enum sof_fw_state' (Jaroslav Kysela) [2065575] - ASoC: SOF: Move the definition of enum snd_sof_fw_state to global header (Jaroslav Kysela) [2065575] - ASoC: SOF: Introduce new firmware state: SOF_FW_BOOT_READY_OK (Jaroslav Kysela) [2065575] - ASoC: SOF: Introduce new firmware state: SOF_FW_CRASHED (Jaroslav Kysela) [2065575] - ASoC: SOF: Add a 'message' parameter to snd_sof_dsp_dbg_dump() (Jaroslav Kysela) [2065575] - ASoC: SOF: Add 'non_recoverable' parameter to snd_sof_dsp_panic() (Jaroslav Kysela) [2065575] - ASoC: SOF: Use sof_debug_check_flag() instead of sof_core_debug directly (Jaroslav Kysela) [2065575] - ASoC: SOF: core: Add simple wrapper to check flags in sof_core_debug (Jaroslav Kysela) [2065575] - ASoC: SOF: Intel: hda-loader: Avoid re-defining the HDA_FW_BOOT_ATTEMPTS (Jaroslav Kysela) [2065575] - ASoC: SOF: ops: Use dev_warn() if the panic offsets differ (Jaroslav Kysela) [2065575] - ASoC: codecs: ak4375: Change invert controls to a stereo switch (Jaroslav Kysela) [2065575] - ASoC: Add AK4375 support (Jaroslav Kysela) [2065575] - ASoC: bcm: Use platform_get_irq() to get the interrupt (Jaroslav Kysela) [2065575] - ASoC: xlnx: Use platform_get_irq() to get the interrupt (Jaroslav Kysela) [2065575] - ASoC: amd: acp: Remove duplicate dependency in Kconfig (Jaroslav Kysela) [2065575] - ASoC: SOF: AMD: simplify return status handling (Jaroslav Kysela) [2065575] - ASoC: amd: acp-config: Update sof_tplg_filename for SOF machines (Jaroslav Kysela) [2065575] - ASoC: amd: acp-config: Enable SOF audio for Google chrome boards. (Jaroslav Kysela) [2065575] - ASoC: sunxi: Use dev_err_probe() helper (Jaroslav Kysela) [2065575] - ASoC: samsung: Use dev_err_probe() helper (Jaroslav Kysela) [2065575] - ASoC: rockchip: Use dev_err_probe() helper (Jaroslav Kysela) [2065575] - ASoC: qcom: Use dev_err_probe() helper (Jaroslav Kysela) [2065575] - ASoC: mxs: Use dev_err_probe() helper (Jaroslav Kysela) [2065575] - ASoC: img: Use dev_err_probe() helper (Jaroslav Kysela) [2065575] - ASoC: generic: Use dev_err_probe() helper (Jaroslav Kysela) [2065575] - ASoC: ti: Use dev_err_probe() helper (Jaroslav Kysela) [2065575] - ASoC: ateml: Use dev_err_probe() helper (Jaroslav Kysela) [2065575] - ASoC: codecs: tlv320aic31xx: Use dev_err_probe() helper (Jaroslav Kysela) [2065575] - ASoC: codecs: ssm2305: Use dev_err_probe() helper (Jaroslav Kysela) [2065575] - ASoC: codecs: simple-amplifier: Use dev_err_probe() helper (Jaroslav Kysela) [2065575] - ASoC: codecs: sgtl5000: Use dev_err_probe() helper (Jaroslav Kysela) [2065575] - ASoC: codecs: pcm3168a: Use dev_err_probe() helper (Jaroslav Kysela) [2065575] - ASoC: codecs: max9860: Use dev_err_probe() helper (Jaroslav Kysela) [2065575] - ASoC: codecs: max9759: Use dev_err_probe() helper (Jaroslav Kysela) [2065575] - ASoC: codecs: es7241: Use dev_err_probe() helper (Jaroslav Kysela) [2065575] - ASoC: codecs: ak4118: Use dev_err_probe() helper (Jaroslav Kysela) [2065575] - ASoC: Intel: catpt: Streamline locals declaration for PCM-functions (Jaroslav Kysela) [2065575] - ASoC: Intel: catpt: Reduce size of catpt_component_open() (Jaroslav Kysela) [2065575] - ASoC: tegra20: spdif: Improve driver's code (Jaroslav Kysela) [2065575] - ASoC: tegra20: spdif: Support device-tree (Jaroslav Kysela) [2065575] - ASoC: tegra20: spdif: Set FIFO trigger level (Jaroslav Kysela) [2065575] - ASoC: SOF: Kconfig: Make the SOF_DEVELOPER_SUPPORT depend on SND_SOC_SOF (Jaroslav Kysela) [2065575] - ASoC: SOF: ipc: Add null pointer check for substream->runtime (Jaroslav Kysela) [2065575] - ASoC: SOF: avoid casting "const" attribute away (Jaroslav Kysela) [2065575] - ASoC: SOF: Intel: hda: remove support for RESUME in platform trigger (Jaroslav Kysela) [2065575] - ASoC: SOF: Intel: hda: remove support for RESUME trigger (Jaroslav Kysela) [2065575] - ASoC: SOF: pcm: remove support for RESUME trigger (Jaroslav Kysela) [2065575] - ASoC: tegra20-spdif: stop setting slave_id (Jaroslav Kysela) [2065575] - ASoC: AMD: fix depend/select mistake on SND_AMD_ACP_CONFIG (Jaroslav Kysela) [2065575] - ASoC: SOF: topology: read back control data from DSP (Jaroslav Kysela) [2065575] - ASoC: SOF: Drop ctrl_type parameter for snd_sof_ipc_set_get_comp_data() (Jaroslav Kysela) [2065575] - ASoC: SOF: control: Do not handle control notification with component type (Jaroslav Kysela) [2065575] - ASoC: SOF: sof-audio: Drop the `cmd` member from struct snd_sof_control (Jaroslav Kysela) [2065575] - ASoC: SOF: Drop ctrl_cmd parameter for snd_sof_ipc_set_get_comp_data() (Jaroslav Kysela) [2065575] - ASoC: SOF: topology: Set control_data->cmd alongside scontrol->cmd (Jaroslav Kysela) [2065575] - ASoC: SOF: Drop ipc_cmd parameter for snd_sof_ipc_set_get_comp_data() (Jaroslav Kysela) [2065575] - ASoC: SOF: ipc: Rename send parameter in snd_sof_ipc_set_get_comp_data() (Jaroslav Kysela) [2065575] - ASoC: rt5663: Handle device_property_read_u32_array error codes (Jaroslav Kysela) [2065575] - ASoC: SOF: OF: Avoid reverse module dependency (Jaroslav Kysela) [2065575] - ASoC: SOF: sof-probes: Constify sof_probe_compr_ops (Jaroslav Kysela) [2065575] - ASoC: SOF: Remove pm_runtime_put_autosuspend() for SOF OF device (Jaroslav Kysela) [2065575] - ASoC: SOF: Intel: add comment on JasperLake support (Jaroslav Kysela) [2065575] - ASoC: SOF: Intel: hda-dai: remove unused fields (Jaroslav Kysela) [2065575] - ASoC: SOF: Intel: hda: add quirks for HDAudio DMA position information (Jaroslav Kysela) [2065575] - ASoC: SOF: hda-stream: only enable DPIB if needed (Jaroslav Kysela) [2065575] - ASoC: SOF: Intel: hda-ctrl: apply symmetry for DPIB (Jaroslav Kysela) [2065575] - ASoC: SOF: Intel: hda-stream: limit PROCEN workaround (Jaroslav Kysela) [2065575] - ASoC: SOF: Intel: ICL: move ICL-specific ops to icl.c (Jaroslav Kysela) [2065575] - ASoC: test-component: fix null pointer dereference. (Jaroslav Kysela) [2065575] - ASoC: amd: Convert to new style DAI format definitions (Jaroslav Kysela) [2065575] - ASoC: AMD: acp-config: fix missing dependency on SND_SOC_ACPI (Jaroslav Kysela) [2065575] - ASoC: Intel: sof_rt5682: Move rt1015 speaker amp to common file (Jaroslav Kysela) [2065575] - ASoC: rt5682s: add delay time to fix pop sound issue (Jaroslav Kysela) [2065575] - ASoC: Intel: boards: add 'static' qualifiers for max98390 routes (Jaroslav Kysela) [2065575] - ASoC: amd: acp6x-pdm-dma: Constify static snd_soc_dai_ops (Jaroslav Kysela) [2065575] - ASoC: ti: davinci-mcasp: Get rid of duplicate of_node assignment (Jaroslav Kysela) [2065575] - ASoC: zl38060: Setup parent device and get rid of unnecessary of_node assignment (Jaroslav Kysela) [2065575] - ASoC: test-component: fix null pointer dereference. (Jaroslav Kysela) [2065575] - sound/soc: remove useless bool conversion to bool variable (Jaroslav Kysela) [2065575] - ASoC: cs35l41: Fix undefined reference to core functions (Jaroslav Kysela) [2065575] - ASoC: rt5640: Fix the wrong state of the JD in the HDA header (Jaroslav Kysela) [2065575] - ASoC: codecs: wcd934x: remove redundant ret variable (Jaroslav Kysela) [2065575] - ASoC: tegra: Add master volume/mute control support (Jaroslav Kysela) [2065575] - ASoC: Intel: Skylake: Use NHLT API to search for blob (Jaroslav Kysela) [2065575] - ASoC: Intel: boards: add max98390 2/4 speakers support (Jaroslav Kysela) [2065575] - ASoC: intel: boards: bytcht*: Constify static snd_soc_ops (Jaroslav Kysela) [2065575] - ASoC: Intel: hda_dsp_common: don't multiline PCM topology warning (Jaroslav Kysela) [2065575] - ASoC: soc-pcm: tidyup soc_pcm_pointer()'s delay update method (Jaroslav Kysela) [2065575] - ASoC: intel: sst-mfld-platform-pcm: add .delay support (Jaroslav Kysela) [2065575] - ASoC: amd: acp-pcm-dma: add .delay support (Jaroslav Kysela) [2065575] - ASoC: SOF: mediatek: Use pR/pa to print resources/physical addresses (Jaroslav Kysela) [2065575] - ASoC: cs35l41: Fix link problem (Jaroslav Kysela) [2065575] - ASoC: codecs/jz4770: Add missing gain control after DAC/ADC mixer (Jaroslav Kysela) [2065575] - ASoC: SOF: Intel: hda: send DAI_CONFIG IPC during pause (Jaroslav Kysela) [2065575] - ASoC: SOF: IPC: dai: Expand DAI_CONFIG IPC flags (Jaroslav Kysela) [2065575] - ASoC: SOF: align the hw_free sequence with stop (Jaroslav Kysela) [2065575] - ASoC: SOF: pcm: move the check for prepared flag (Jaroslav Kysela) [2065575] - ASoC: SOF: Add a helper for freeing PCM stream (Jaroslav Kysela) [2065575] - ASoC: SOF: call platform hw_free for paused streams during suspend (Jaroslav Kysela) [2065575] - ASoC: SOF: pcm: invoke platform hw_free for STOP/SUSPEND triggers (Jaroslav Kysela) [2065575] - ASoC: SOF: Intel: hda: reset stream before coupling host and link DMA's (Jaroslav Kysela) [2065575] - ASoC: SOF: Intel: hda: Add a helper function for stream reset (Jaroslav Kysela) [2065575] - ASoC: SOF: Intel: hda: clear stream before freeing the DAI widget (Jaroslav Kysela) [2065575] - ASoC: rt5640: Add the HDA header support (Jaroslav Kysela) [2065575] - ASoC: uniphier: drop selecting non-existing SND_SOC_UNIPHIER_AIO_DMA (Jaroslav Kysela) [2065575] - ASoC: SOF: mediatek: Add missing of_node_put() in platform_parse_resource() (Jaroslav Kysela) [2065575] - ASoC: SOF: topology: don't use list_for_each_entry_reverse() (Jaroslav Kysela) [2065575] - ASoC: SOF: Intel: add .ack support for HDaudio platforms (Jaroslav Kysela) [2065575] - ASoC: SOF: pcm: add .ack callback support (Jaroslav Kysela) [2065575] - ASoC: SOF: sof-pci-dev: use community key on all Up boards (Jaroslav Kysela) [2065575] - ASoC: stm32: spdifrx: add pm_runtime support (Jaroslav Kysela) [2065575] - ASoC: stm32: dfsdm: add pm_runtime support for audio (Jaroslav Kysela) [2065575] - ASoC: stm32: i2s: add pm_runtime support (Jaroslav Kysela) [2065575] - ASoC: SOF: Intel: hda: free DAI widget during stop and suspend (Jaroslav Kysela) [2065575] - ASoC: SOF: add support for dynamic pipelines with multi-core (Jaroslav Kysela) [2065575] - ASoC: SOF: hda: don't use the core op for power up/power down (Jaroslav Kysela) [2065575] - ASoC: SOF: topology: remove sof_load_pipeline_ipc() (Jaroslav Kysela) [2065575] - ASoC: SOF: Intel: CNL/ICL/APL: set core_get/core_put ops (Jaroslav Kysela) [2065575] - ASoC: SOF: Intel: TGL: set core_get/put ops (Jaroslav Kysela) [2065575] - ASoC: SOF: Add ops for core_get and core_put (Jaroslav Kysela) [2065575] - ASoC: SOF: Introduce num_cores and ref count per core (Jaroslav Kysela) [2065575] - ASoC: SOF: Intel: hda: expose get_chip_info() (Jaroslav Kysela) [2065575] - ASoC: SOF: imx8m: Implement reset callback (Jaroslav Kysela) [2065575] - ASoC: SOF: imx8m: Implement DSP start (Jaroslav Kysela) [2065575] - ASoC: SOF: imx8m: Add runtime PM / System PM support (Jaroslav Kysela) [2065575] - ASoC: SOF: imx8: Add runtime PM / System PM support (Jaroslav Kysela) [2065575] - ASoC: SOF: imx: Add code to manage DSP related clocks (Jaroslav Kysela) [2065575] - ASoC: SOF: mediatek: Add DSP system PM callback for mt8195 (Jaroslav Kysela) [2065575] - ASoC: SOF: mediatek: Add mt8195 dsp clock support (Jaroslav Kysela) [2065575] - ASoC: SOF: mediatek: Add dai driver dsp ops callback for mt8195 (Jaroslav Kysela) [2065575] - ASoC: SOF: Add mt8195 device descriptor (Jaroslav Kysela) [2065575] - ASoC: SOF: mediatek: Add fw loader and mt8195 dsp ops to load firmware (Jaroslav Kysela) [2065575] - ASoC: SOF: topology: Add support for Mediatek AFE DAI (Jaroslav Kysela) [2065575] - ASoC: SOF: mediatek: Add mt8195 hardware support (Jaroslav Kysela) [2065575] - ASoC: SOF: amd: Add support for SOF firmware authentication (Jaroslav Kysela) [2065575] - ASoC: SOF: amd: Add trace logger support (Jaroslav Kysela) [2065575] - ASoC: SOF: topology: Add support for AMD ACP DAIs (Jaroslav Kysela) [2065575] - ASoC: amd: acp-config: Remove legacy acpi based machine struct (Jaroslav Kysela) [2065575] - ASoC: SOF: amd: Add Renoir PCI driver interface (Jaroslav Kysela) [2065575] - ASoC: SOF: amd: Add machine driver dsp ops for Renoir platform (Jaroslav Kysela) [2065575] - ASoC: amd: Add module to determine ACP configuration (Jaroslav Kysela) [2065575] - ASoC: SOF: amd: Add PCM stream callback for Renoir dai's (Jaroslav Kysela) [2065575] - ASoC: SOF: amd: Add dai driver dsp ops callback for Renoir (Jaroslav Kysela) [2065575] - ASoC: SOF: amd: Add IPC support for ACP IP block (Jaroslav Kysela) [2065575] - ASoC: SOF: amd: Add fw loader and renoir dsp ops to load firmware (Jaroslav Kysela) [2065575] - ASoC: SOF: amd: Add helper callbacks for ACP's DMA configuration (Jaroslav Kysela) [2065575] - ASoC: SOF: amd: Add Renoir ACP HW support (Jaroslav Kysela) [2065575] - ASoC: stm32: sai: increase channels_max limit (Jaroslav Kysela) [2065575] - ASoC: SOF: debug: Add support for IPC message injection (Jaroslav Kysela) [2065575] - ASoC: SOF: intel: Use the generic helper to get the reply (Jaroslav Kysela) [2065575] - ASoC: SOF: imx: Use the generic helper to get the reply (Jaroslav Kysela) [2065575] - ASoC: SOF: utils: Add generic function to get the reply for a tx message (Jaroslav Kysela) [2065575] - ASoC: SOF: i.MX: simplify Kconfig (Jaroslav Kysela) [2065575] - ASoC: SOF: core: Unregister machine driver before IPC and debugfs (Jaroslav Kysela) [2065575] - ASoC: adau1701: Replace legacy gpio interface for gpiod (Jaroslav Kysela) [2065575] - ASoC: Intel: add sof-nau8825 machine driver (Jaroslav Kysela) [2065575] - ASoC: cs35l41: DSP Support (Jaroslav Kysela) [2065575] - ASoC: intel: sof_sdw: add link adr order check (Jaroslav Kysela) [2065575] - ASoC: intel: sof_sdw: remove get_next_be_id (Jaroslav Kysela) [2065575] - ASoC: intel: sof_sdw: remove sof_sdw_mic_codec_mockup_init (Jaroslav Kysela) [2065575] - ASoC: intel: sof_sdw: remove SOF_RT715_DAI_ID_FIX quirk (Jaroslav Kysela) [2065575] - ASoC: intel: sof_sdw: move DMIC link id overwrite to create_sdw_dailink (Jaroslav Kysela) [2065575] - ASoC: intel: sof_sdw: Use a fixed DAI link id for AMP (Jaroslav Kysela) [2065575] - ASoC: intel: sof_sdw: rename be_index/link_id to link_index (Jaroslav Kysela) [2065575] - ASoC: Intel: sof_sdw: add SKU for Dell Latitude 9520 (Jaroslav Kysela) [2065575] - ASoC: intel: sof_sdw: return the original error number (Jaroslav Kysela) [2065575] - ASoC: SOF: trace: send DMA_TRACE_FREE IPC during release (Jaroslav Kysela) [2065575] - ASoC: SOF: IPC: update ipc_log_header() (Jaroslav Kysela) [2065575] - ALSA: mtpav: Don't call card private_free at probe error path (Jaroslav Kysela) [2065575] - ALSA: virmidi: Remove duplicated code (Jaroslav Kysela) [2065575] - ALSA: hda/realtek: fix right sounds and mute/micmute LEDs for HP machine (Jaroslav Kysela) [2065575] - ALSA: hda/realtek: Add quirk for TongFang devices with pop noise (Jaroslav Kysela) [2065575] - ALSA: hda/realtek: Add quirk for the Framework Laptop (Jaroslav Kysela) [2065575] - ALSA: hda/realtek: Add quirk for Dell Latitude 7520 (Jaroslav Kysela) [2065575] - ALSA: hda - fix unused Realtek function when PM is not enabled (Jaroslav Kysela) [2065575] - ALSA: hda/realtek: Add quirk for Yoga Duet 7 13ITL6 speakers (Jaroslav Kysela) [2065575] - ALSA: hda/realtek: Enable mute/micmute LEDs support for HP Laptops (Jaroslav Kysela) [2065575] - ALSA: hda/realtek: Fix mute led issue on thinkpad with cs35l41 s-codec (Jaroslav Kysela) [2065575] - ALSA: hda/realtek: Add quirk for Clevo NP70PNP (Jaroslav Kysela) [2065575] - ALSA: hda/realtek: Enable mute/micmute LEDs and limit mic boost on EliteBook 845/865 G9 (Jaroslav Kysela) [2065575] - ALSA: hda/hdmi: add HDMI codec VID for Raptorlake-P (Jaroslav Kysela) [2065575] - ALSA: hda/hdmi: fix warning about PCM count when used with SOF (Jaroslav Kysela) [2065575] - ALSA: nm256: Don't call card private_free at probe error path (Jaroslav Kysela) [2065575] - ALSA: rme9652: Fix the missing snd_card_free() call at probe error (Jaroslav Kysela) [2065575] - ALSA: hdspm: Fix the missing snd_card_free() call at probe error (Jaroslav Kysela) [2065575] - ALSA: hdsp: Fix the missing snd_card_free() call at probe error (Jaroslav Kysela) [2065575] - ALSA: oxygen: Fix the missing snd_card_free() call at probe error (Jaroslav Kysela) [2065575] - ALSA: lx6464es: Fix the missing snd_card_free() call at probe error (Jaroslav Kysela) [2065575] - ALSA: cmipci: Fix the missing snd_card_free() call at probe error (Jaroslav Kysela) [2065575] - ALSA: aw2: Fix the missing snd_card_free() call at probe error (Jaroslav Kysela) [2065575] - ALSA: als300: Fix the missing snd_card_free() call at probe error (Jaroslav Kysela) [2065575] - ALSA: lola: Fix the missing snd_card_free() call at probe error (Jaroslav Kysela) [2065575] - ALSA: bt87x: Fix the missing snd_card_free() call at probe error (Jaroslav Kysela) [2065575] - ALSA: sis7019: Fix the missing error handling (Jaroslav Kysela) [2065575] - ALSA: via82xx: Fix the missing snd_card_free() call at probe error (Jaroslav Kysela) [2065575] - ALSA: sonicvibes: Fix the missing snd_card_free() call at probe error (Jaroslav Kysela) [2065575] - ALSA: rme96: Fix the missing snd_card_free() call at probe error (Jaroslav Kysela) [2065575] - ALSA: rme32: Fix the missing snd_card_free() call at probe error (Jaroslav Kysela) [2065575] - ALSA: riptide: Fix the missing snd_card_free() call at probe error (Jaroslav Kysela) [2065575] - ALSA: maestro3: Fix the missing snd_card_free() call at probe error (Jaroslav Kysela) [2065575] - ALSA: korg1212: Fix the missing snd_card_free() call at probe error (Jaroslav Kysela) [2065575] - ALSA: intel8x0: Fix the missing snd_card_free() call at probe error (Jaroslav Kysela) [2065575] - ALSA: ice1724: Fix the missing snd_card_free() call at probe error (Jaroslav Kysela) [2065575] - ALSA: fm801: Fix the missing snd_card_free() call at probe error (Jaroslav Kysela) [2065575] - ALSA: es1968: Fix the missing snd_card_free() call at probe error (Jaroslav Kysela) [2065575] - ALSA: es1938: Fix the missing snd_card_free() call at probe error (Jaroslav Kysela) [2065575] - ALSA: ens137x: Fix the missing snd_card_free() call at probe error (Jaroslav Kysela) [2065575] - ALSA: emu10k1x: Fix the missing snd_card_free() call at probe error (Jaroslav Kysela) [2065575] - ALSA: cs5535audio: Fix the missing snd_card_free() call at probe error (Jaroslav Kysela) [2065575] - ALSA: cs4281: Fix the missing snd_card_free() call at probe error (Jaroslav Kysela) [2065575] - ALSA: ca0106: Fix the missing snd_card_free() call at probe error (Jaroslav Kysela) [2065575] - ALSA: azt3328: Fix the missing snd_card_free() call at probe error (Jaroslav Kysela) [2065575] - ALSA: au88x0: Fix the missing snd_card_free() call at probe error (Jaroslav Kysela) [2065575] - ALSA: atiixp: Fix the missing snd_card_free() call at probe error (Jaroslav Kysela) [2065575] - ALSA: als4000: Fix the missing snd_card_free() call at probe error (Jaroslav Kysela) [2065575] - ALSA: ali5451: Fix the missing snd_card_free() call at probe error (Jaroslav Kysela) [2065575] - ALSA: ad1889: Fix the missing snd_card_free() call at probe error (Jaroslav Kysela) [2065575] - ALSA: echoaudio: Fix the missing snd_card_free() call at probe error (Jaroslav Kysela) [2065575] - ALSA: hda/realtek: add quirk for Lenovo Thinkpad X12 speakers (Jaroslav Kysela) [2065575] - ALSA: hda/realtek: Add quirk for Clevo PD50PNT (Jaroslav Kysela) [2065575] - ALSA: hda: Avoid unsol event during RPM suspending (Jaroslav Kysela) [2065575] - ALSA: hda/realtek: Fix audio regression on Mi Notebook Pro 2020 (Jaroslav Kysela) [2065575] - ALSA: hda/cs8409: Add new Dolphin HW variants (Jaroslav Kysela) [2065575] - ALSA: hda/cs8409: Disable HSBIAS_SENSE_EN for Cyborg (Jaroslav Kysela) [2065575] - ALSA: hda/cs8409: Support new Warlock MLK Variants (Jaroslav Kysela) [2065575] - ALSA: hda/cs8409: Fix Full Scale Volume setting for all variants (Jaroslav Kysela) [2065575] - ALSA: hda/cs8409: Re-order quirk table into ascending order (Jaroslav Kysela) [2065575] - ALSA: hda/cs8409: Fix Warlock to use mono mic configuration (Jaroslav Kysela) [2065575] - ALSA: hda/realtek: Enable headset mic on Lenovo P360 (Jaroslav Kysela) [2065575] - ALSA: hda/realtek: Add mute and micmut LED support for Zbook Fury 17 G9 (Jaroslav Kysela) [2065575] - ALSA: hda/realtek: Add alc256-samsung-headphone fixup (Jaroslav Kysela) [2065575] - ALSA: pci: fix reading of swapped values from pcmreg in AC97 codec (Jaroslav Kysela) [2065575] - ALSA: hda/realtek: Fix LED on Zbook Studio G9 (Jaroslav Kysela) [2065575] - ALSA: hda/realtek: fix right sounds and mute/micmute LEDs for HP machines (Jaroslav Kysela) [2065575] - ALSA: cmipci: Restore aux vol on suspend/resume (Jaroslav Kysela) [2065575] - ALSA: hda/realtek: Add quirk for ASUS GA402 (Jaroslav Kysela) [2065575] - ALSA: hda/realtek - Fix headset mic problem for a HP machine with alc671 (Jaroslav Kysela) [2065575] - ALSA: hda: Add AlderLake-PS variant PCI ID (Jaroslav Kysela) [2065575] - ALSA: hda/realtek: Add quirk for Clevo NP50PNJ (Jaroslav Kysela) [2065575] - ALSA: hda/realtek: Add quirk for Clevo NP70PNJ (Jaroslav Kysela) [2065575] - ALSA: lola: add a check for the return of vmalloc() (Jaroslav Kysela) [2065575] - ALSA: echoaudio: remove redundant assignment to variable bytes (Jaroslav Kysela) [2065575] - ALSA: hda/realtek: Make use of the helper component_compare_dev_name (Jaroslav Kysela) [2065575] - ALSA: hda/tegra: Update scratch reg. communication (Jaroslav Kysela) [2065575] - ALSA: hda/tegra: Hardcode GCAP ISS value on T234 (Jaroslav Kysela) [2065575] - ALSA: hda/tegra: Add Tegra234 hda driver support (Jaroslav Kysela) [2065575] - ALSA: hda: Expose codec cleanup and power-save functions (Jaroslav Kysela) [2065575] - ALSA: hda: Update and expose codec register procedures (Jaroslav Kysela) [2065575] - ALSA: hda: Update and expose snd_hda_codec_device_init() (Jaroslav Kysela) [2065575] - ALSA: hda/hdmi: add keep-alive support for ADL-P and DG2 (Jaroslav Kysela) [2065575] - ALSA: hda: Set max DMA segment size (Jaroslav Kysela) [2065575] - ALSA: hda/realtek: Fix deadlock by COEF mutex (Jaroslav Kysela) [2065575] - ALSA: hda: Fix missing codec probe on Shenker Dock 15 (Jaroslav Kysela) [2065575] - ALSA: hda: Fix regression on forced probe mask option (Jaroslav Kysela) [2065575] - ALSA: hda/realtek: Add quirk for Legion Y9000X 2019 (Jaroslav Kysela) [2065575] - ALSA: hda: Add PCI and HDMI IDs for Intel Raptor Lake (Jaroslav Kysela) [2065575] - ALSA: ca0106: Rename register macro names (Jaroslav Kysela) [2065575] - ALSA: hda: Fix driver index handling at re-binding (Jaroslav Kysela) [2065575] - ALSA: hda/realtek: Add support for HP Laptops (Jaroslav Kysela) [2065575] - ALSA: hda: Skip codec shutdown in case the codec is not registered (Jaroslav Kysela) [2065575] - ALSA: hda/realtek: Add quirk for ASUS GU603 (Jaroslav Kysela) [2065575] - ALSA: hda/realtek: Fix silent output on Gigabyte X570 Aorus Xtreme after reboot from Windows (Jaroslav Kysela) [2065575] - ALSA: hda/realtek: Fix silent output on Gigabyte X570S Aorus Master (newer chipset) (Jaroslav Kysela) [2065575] - ALSA: hda/realtek: Add missing fixup-model entry for Gigabyte X570 ALC1220 quirks (Jaroslav Kysela) [2065575] - ALSA: hda: realtek: Fix race at concurrent COEF updates (Jaroslav Kysela) [2065575] - ALSA: hda: Fix signedness of sscanf() arguments (Jaroslav Kysela) [2065575] - ALSA: hda: Fix UAF of leds class devs at unbinding (Jaroslav Kysela) [2065575] - ALSA: hda/cs8409: Add new Warlock SKUs to patch_cs8409 (Jaroslav Kysela) [2065575] - ALSA: hda: cs35l41: Make cs35l41_hda_remove() return void (Jaroslav Kysela) [2065575] - ALSA: hda: cs35l41: Tidyup code (Jaroslav Kysela) [2065575] - ALSA: hda: cs35l41: Make use of the helper function dev_err_probe() (Jaroslav Kysela) [2065575] - ALSA: hda: cs35l41: Add missing default cases (Jaroslav Kysela) [2065575] - ALSA: hda: cs35l41: Move cs35l41* calls to its own symbol namespace (Jaroslav Kysela) [2065575] - ALSA: hda: cs35l41: Add calls to newly added test key function (Jaroslav Kysela) [2065575] - ALSA: hda: cs35l41: Avoid overwriting register patch (Jaroslav Kysela) [2065575] - ALSA: hda/realtek: fix speakers and micmute on HP 855 G8 (Jaroslav Kysela) [2065575] - ALSA: hda: cs35l41: fix double free on error in probe() (Jaroslav Kysela) [2065575] - ALSA: hda: Fix dependencies of CS35L41 on SPI/I2C buses (Jaroslav Kysela) [2065575] - ALSA: hda: Fix dependency on ASoC cs35l41 codec (Jaroslav Kysela) [2065575] - ALSA: hda: ALC287: Add Lenovo IdeaPad Slim 9i 14ITL5 speaker quirk (Jaroslav Kysela) [2065575] - ALSA: hda/realtek: Add CS35L41 support for Thinkpad laptops (Jaroslav Kysela) [2065575] - ALSA: hda/realtek: Add support for Legion 7 16ACHg6 laptop (Jaroslav Kysela) [2065575] - ALSA: hda: cs35l41: Add support for CS35L41 in HDA systems (Jaroslav Kysela) [2065575] - MAINTAINERS: Update Cirrus Logic codec driver maintainers (Jaroslav Kysela) [2065575] - ASoC: dt-bindings: cs42l42: Convert binding to yaml (Jaroslav Kysela) [2065575] - dt-bindings: remove 'interrupt-parent' from bindings (Jaroslav Kysela) [2065575] - ASoC: dt-bindings: cs42l42: Correct description of ts-inv (Jaroslav Kysela) [2065575] - ASoC: cs42l42: Add warnings about DETECT_MODE and PLL_START (Jaroslav Kysela) [2065575] - ASoC: cs42l42: Handle system suspend (Jaroslav Kysela) [2065575] - ASoC: cs42l42: Change jack_detect_mutex to a lock of all IRQ handling (Jaroslav Kysela) [2065575] - ASoC: cs42l42: Report full jack status when plug is detected (Jaroslav Kysela) [2065575] - ASoC: cs42l42: Remove redundant pll_divout member (Jaroslav Kysela) [2065575] - ASoC: cs42l42: Simplify reporting of jack unplug (Jaroslav Kysela) [2065575] - ASoC: cs42l42: Remove redundant writes to RS_PLUG/RS_UNPLUG masks (Jaroslav Kysela) [2065575] - ASoC: cs42l42: Remove redundant writes to DETECT_MODE (Jaroslav Kysela) [2065575] - ASoC: cs42l42: Add control for audio slow-start switch (Jaroslav Kysela) [2065575] - ALSA: mixart: Add sanity check for timer notify streams (Jaroslav Kysela) [2065575] - ALSA: mixart: Reduce size of mixart_timer_notify (Jaroslav Kysela) [2065575] - ALSA: usb-audio: Restore Rane SL-1 quirk (Jaroslav Kysela) [2065575] - ALSA: usb-audio: Don't get sample rate for MCT Trigger 5 USB-to-HDMI (Jaroslav Kysela) [2065575] - ALSA: usb-audio: Clear MIDI port active flag after draining (Jaroslav Kysela) [2065575] - ALSA: usb-audio: add mapping for MSI MAG X570S Torpedo MAX. (Jaroslav Kysela) [2065575] - ALSA: usb-audio: Limit max buffer and period sizes per time (Jaroslav Kysela) [2065575] - ALSA: usb-audio: Increase max buffer size (Jaroslav Kysela) [2065575] - ALSA: usb-audio: Cap upper limits of buffer/period bytes for implicit fb (Jaroslav Kysela) [2065575] - ALSA: usb-audio: Fix undefined behavior due to shift overflowing the constant (Jaroslav Kysela) [2065575] - ALSA: usb-audio: Add mute TLV for playback volumes on RODE NT-USB (Jaroslav Kysela) [2065575] - ALSA: scarlett2: Add support for the internal "standalone" switch (Jaroslav Kysela) [2065575] - ALSA: scarlett2: Split scarlett2_config_items[] into 3 sections (Jaroslav Kysela) [2065575] - ALSA: usb-audio: add mapping for new Corsair Virtuoso SE (Jaroslav Kysela) [2065575] - ALSA: usb-audio: Don't abort resume upon errors (Jaroslav Kysela) [2065575] - ALSA: usb-audio: revert to IMPLICIT_FB_FIXED_DEV for M-Audio FastTrack Ultra (Jaroslav Kysela) [2065575] - ALSA: usb-audio: remove redundant assignment to variable c (Jaroslav Kysela) [2065575] - ALSA: usb-audio: Correct quirk for VF0770 (Jaroslav Kysela) [2065575] - ALSA: usb-audio: initialize variables that could ignore errors (Jaroslav Kysela) [2065575] - ALSA: usb-audio: scarlett2: Use struct_size() helper in scarlett2_usb() (Jaroslav Kysela) [2065575] - ALSA: fireworks: fix wrong return count shorter than expected by 4 bytes (Jaroslav Kysela) [2065575] - ALSA: firewire-lib: fix uninitialized flag for AV/C deferred transaction (Jaroslav Kysela) [2065575] - ALSA: memalloc: Add fallback SG-buffer allocations for x86 (Jaroslav Kysela) [2065575] - ALSA: core: Add snd_card_free_on_error() helper (Jaroslav Kysela) [2065575] - ALSA: pcm: Test for "silence" field in struct "pcm_format_data" (Jaroslav Kysela) [2065575] - ALSA: pcm: Fix potential AB/BA lock with buffer_mutex and mmap_lock (Jaroslav Kysela) [2065575] - ALSA: pcm: Add stream lock during PCM reset ioctl operations (Jaroslav Kysela) [2065575] - ALSA: pcm: Fix races among concurrent prealloc proc writes (Jaroslav Kysela) [2065575] - ALSA: pcm: Fix races among concurrent prepare and hw_params/hw_free calls (Jaroslav Kysela) [2065575] - ALSA: pcm: Fix races among concurrent read/write and buffer changes (Jaroslav Kysela) [2065575] - ALSA: pcm: Fix races among concurrent hw_params and hw_free calls (Jaroslav Kysela) [2065575] - ALSA: oss: Release temporary buffers upon errors (Jaroslav Kysela) [2065575] - ALSA: oss: Fix PCM OSS buffer allocation overflow (Jaroslav Kysela) [2065575] - ALSA: core: Fix typo in 'PCM Timer Interface' help (Jaroslav Kysela) [2065575] - ALSA: seq: oss: fix typo (Jaroslav Kysela) [2065575] - ALSA: seq: oss: use kzalloc (Jaroslav Kysela) [2065575] - ALSA: memalloc: invalidate SG pages before sync (Jaroslav Kysela) [2065575] - ALSA: memalloc: Fix dma_need_sync() checks (Jaroslav Kysela) [2065575] - ASoC: soc-pcm: Fix DPCM lockdep warning due to nested stream locks (Jaroslav Kysela) [2065575] - ASoC: soc-pcm: fix BE handling of PAUSE_RELEASE (Jaroslav Kysela) [2065575] - ASoC: soc-pcm: test refcount before triggering (Jaroslav Kysela) [2065575] - ASoC: soc-pcm: serialize BE triggers (Jaroslav Kysela) [2065575] - ASoC: soc-pcm: Fix and cleanup DPCM locking (Jaroslav Kysela) [2065575] - ASoC: soc-pcm: align BE 'atomicity' with that of the FE (Jaroslav Kysela) [2065575] - ASoC: soc-pcm: use GFP_ATOMIC for dpcm structure (Jaroslav Kysela) [2065575] - ASoC: soc-component: add snd_soc_pcm_component_delay() (Jaroslav Kysela) [2065575] - ASoC: soc-dai: update snd_soc_dai_delay() to snd_soc_pcm_dai_delay() (Jaroslav Kysela) [2065575] - ALSA: core: Simplify snd_power_ref_and_wait() with the standard macro (Jaroslav Kysela) [2065575] - ALSA: seq: virmidi: Add a drain operation (Jaroslav Kysela) [2065575] - ASoC: dai_dma: remove slave_id field (Jaroslav Kysela) [2065575] - ALSA: seq: Set upper limit of processed events (Jaroslav Kysela) [2065575] - ALSA: oss: remove useless NULL check before kfree (Jaroslav Kysela) [2065575] - ALSA: pcm: introduce INFO_NO_REWINDS flag (Jaroslav Kysela) [2065575] - ALSA: pcm: unconditionally check if appl_ptr is in 0..boundary range (Jaroslav Kysela) [2065575] - Revert "ASoC: Intel: soc-acpi: add entries in ADL match table" (Jaroslav Kysela) [2065575] - devlink: hold the instance lock during eswitch_mode callbacks (Petr Oros) [2101715] - netdevsim: replace vfs_lock with devlink instance lock (Petr Oros) [2101715] - netdevsim: replace port_list_lock with devlink instance lock (Petr Oros) [2101715] - devlink: add explicitly locked flavor of the rate node APIs (Petr Oros) [2101715] - bnxt: use the devlink instance lock to protect sriov (Petr Oros) [2101715] - devlink: pass devlink_port to port_split / port_unsplit callbacks (Petr Oros) [2101715] - devlink: hold the instance lock in port_split / port_unsplit callbacks (Petr Oros) [2101715] - eth: mlxsw: switch to explicit locking for port registration (Petr Oros) [2101715] - eth: nfp: replace driver's "pf" lock with devlink instance lock (Petr Oros) [2101715] - eth: nfp: wrap locking assertions in helpers (Petr Oros) [2101715] - devlink: expose instance locking and add locked port registering (Petr Oros) [2101715] - ethtool: don't drop the rtnl_lock half way thru the ioctl (Petr Oros) [2101715] - ethtool: handle info/flash data copying outside rtnl_lock (Petr Oros) [2101715] - ethtool: push the rtnl_lock into dev_ethtool() (Petr Oros) [2101715] - mlxsw: reg: Remove PMTM register (Ivan Vecera) [2101715] - mlxsw: spectrum: Use PMTDB register to obtain split info (Ivan Vecera) [2101715] - mlxsw: reg: Add Port Module To local DataBase Register (Ivan Vecera) [2101715] - mlxsw: spectrum: Use PLLP to get front panel number and split number (Ivan Vecera) [2101715] - mlxsw: reg: Add Port Local port to Label Port mapping Register (Ivan Vecera) [2101715] - mlxsw: spectrum: Move port SWID set before core port init (Ivan Vecera) [2101715] - mlxsw: spectrum: Move port module mapping before core port init (Ivan Vecera) [2101715] - mlxsw: spectrum: Bump minimum FW version to xx.2008.3326 (Ivan Vecera) [2101715] - bpf: fix build error due to missing bpf_perf_event.h header (Desnes A. Nunes do Rosario) [1908140] - powerpc/bpf: Fix use of user_pt_regs in uapi (Desnes A. Nunes do Rosario) [1908140] - net: ena: Do not waste napi skb cache (Michal Schmidt) [2097644] - net: ena: Extract recurring driver reset code into a function (Michal Schmidt) [2097644] - net: ena: Change the name of bad_csum variable (Michal Schmidt) [2097644] - net: ena: Add debug prints for invalid req_id resets (Michal Schmidt) [2097644] - net: ena: Remove ena_calc_queue_size_ctx struct (Michal Schmidt) [2097644] - net: ena: Move reset completion print to the reset function (Michal Schmidt) [2097644] - net: ena: Remove redundant return code check (Michal Schmidt) [2097644] - net: ena: Change ENI stats support check to use capabilities field (Michal Schmidt) [2097644] - net: ena: Add capabilities field with support for ENI stats capability (Michal Schmidt) [2097644] - net: ena: Change return value of ena_calc_io_queue_size() to void (Michal Schmidt) [2097644] - powerpc/ptrace: replace ptrace_report_syscall() with a tracehook call (Desnes A. Nunes do Rosario) [1992947] - powerpc/ptrace: Add support for PTRACE_SYSEMU (Desnes A. Nunes do Rosario) [1992947] - selftests/powerpc: New PTRACE_SYSEMU test (Desnes A. Nunes do Rosario) [1992947] - powerpc: Redefine TIF_32BITS thread flag (Desnes A. Nunes do Rosario) [1992947] - redhat: fix libnl3-devel BuildRequires for intel-speed-select (Jarod Wilson)- redhat: enable mtty module for internal testing (Jarod Wilson) [2071992] - tools/power/x86/intel-speed-select: v1.12 release (Martin McConnell) [2072658] - tools/power/x86/intel-speed-select: HFI support (Martin McConnell) [2072658] - tools/power/x86/intel-speed-select: OOB daemon mode (Martin McConnell) [2072658] - tools/power/x86/intel-speed-select: v1.11 release (Martin McConnell) [2072658] - tools/power/x86/intel-speed-select: Update max frequency (Martin McConnell) [2072658] - Spec fixes for intel-speed-select (Martin McConnell) [2072658] - Add BuildRequires libnl3-devel for intel-speed-select (Martin McConnell) [2072658] - xfs: fix soft lockup via spinning in filestream ag selection loop (Brian Foster) [2033293] - net: ping6: Fix memleak in ipv6_renew_options(). (Ivan Vecera) [2112339] - Input: i8042 - Add quirk for Fujitsu Lifebook T725 (Benjamin Tissoires) [2019942] - HID: amd_sfh: Modify the hid name (Benjamin Tissoires) [2090040] - HID: amd_sfh: Modify the bus name (Benjamin Tissoires) [2090040] - HID: amd_sfh: Add support for sensor discovery (Benjamin Tissoires) [2090040] - igc: Reinstate IGC_REMOVED logic and implement it properly (Corinna Vinschen) [2037969] - intel/igc:fix repeated words in comments (Corinna Vinschen) [2037969] - intel: remove unused macros (Corinna Vinschen) [2037969] - igc: Change type of the 'igc_check_downshift' method (Corinna Vinschen) [2037969] - igc: Remove unused phy_type enum (Corinna Vinschen) [2037969] - igc: Remove igc_set_spd_dplx method (Corinna Vinschen) [2037969] - igc: Fix suspending when PTM is active (Corinna Vinschen) [2037969] - igc: Fix BUG: scheduling while atomic (Corinna Vinschen) [2037969 2014971] - igc: Fix infinite loop in release_swfw_sync (Corinna Vinschen) [2037969] - igc: igc_write_phy_reg_gpy: drop premature return (Corinna Vinschen) [2037969] - igc: igc_read_phy_reg_gpy: drop premature return (Corinna Vinschen) [2037969] - igc: don't reserve excessive XDP_PACKET_HEADROOM on XSK Rx to skb (Corinna Vinschen) [2037969] - igc: Remove useless DMA-32 fallback configuration (Corinna Vinschen) [2037969] - igc: Fix TX timestamp support for non-MSI-X platforms (Corinna Vinschen) [2037969] - igc: Do not enable crosstimestamping for i225-V models (Corinna Vinschen) [2037969] - igc: switch to napi_build_skb() (Corinna Vinschen) [2037969] - igc: Remove obsolete define (Corinna Vinschen) [2037969] - igc: Remove obsolete mask (Corinna Vinschen) [2037969] - igc: Remove obsolete nvm type (Corinna Vinschen) [2037969] - igc: Remove unused phy type (Corinna Vinschen) [2037969] - igc: Remove unused _I_PHY_ID define (Corinna Vinschen) [2037969] - igc: enable XDP metadata in driver (Corinna Vinschen) [2037969] - intel_idle: Fix false positive RCU splats due to incorrect hardirqs state (Waiman Long) [2090229] {CVE-2022-23816 CVE-2022-23825 CVE-2022-29900 CVE-2022-29901} - x86/spec_ctrl: Enable RHEL only ibrs_always & retpoline,ibrs_user spectre_v2 options (Waiman Long) [2090229] - KVM: emulate: do not adjust size of fastop and setcc subroutines (Waiman Long) [2090229] {CVE-2022-23816 CVE-2022-23825 CVE-2022-29900 CVE-2022-29901} - x86/kvm: fix FASTOP_SIZE when return thunks are enabled (Waiman Long) [2090229] {CVE-2022-23816 CVE-2022-23825 CVE-2022-29900 CVE-2022-29901} - efi/x86: use naked RET on mixed mode call wrapper (Waiman Long) [2090229] {CVE-2022-23816 CVE-2022-23825 CVE-2022-29900 CVE-2022-29901} - x86/bugs: Remove apostrophe typo (Waiman Long) [2090229] {CVE-2022-23816 CVE-2022-23825 CVE-2022-29900 CVE-2022-29901} - x86/speculation: Use DECLARE_PER_CPU for x86_spec_ctrl_current (Waiman Long) [2090229] {CVE-2022-23816 CVE-2022-23825 CVE-2022-29900 CVE-2022-29901} - x86/entry: Remove UNTRAIN_RET from native_irq_return_ldt (Waiman Long) [2090229] {CVE-2022-23816 CVE-2022-23825 CVE-2022-29900 CVE-2022-29901} - x86/bugs: Mark retbleed_strings static (Waiman Long) [2090229] {CVE-2022-23816 CVE-2022-23825 CVE-2022-29900 CVE-2022-29901} - x86/asm/32: Fix ANNOTATE_UNRET_SAFE use on 32-bit (Waiman Long) [2090229] {CVE-2022-23816 CVE-2022-23825 CVE-2022-29900 CVE-2022-29901} - x86/speculation: Disable RRSBA behavior (Waiman Long) [2090229] {CVE-2022-23816 CVE-2022-23825 CVE-2022-29900 CVE-2022-29901} - x86/kexec: Disable RET on kexec (Waiman Long) [2090229] {CVE-2022-23816 CVE-2022-23825 CVE-2022-29900 CVE-2022-29901} - x86/bugs: Do not enable IBPB-on-entry when IBPB is not supported (Waiman Long) [2090229] {CVE-2022-23816 CVE-2022-23825 CVE-2022-29900 CVE-2022-29901} - x86/bugs: Add Cannon lake to RETBleed affected CPU list (Waiman Long) [2090229] {CVE-2022-23816 CVE-2022-23825 CVE-2022-29900 CVE-2022-29901} - redhat/configs: Add new mitigation configs for RetBleed CVEs (Waiman Long) [2090229] {CVE-2022-23816 CVE-2022-23825 CVE-2022-29900 CVE-2022-29901} - x86/retbleed: Add fine grained Kconfig knobs (Waiman Long) [2090229] {CVE-2022-23816 CVE-2022-23825 CVE-2022-29900 CVE-2022-29901} - x86/cpu/amd: Enumerate BTC_NO (Waiman Long) [2090229] {CVE-2022-23816 CVE-2022-23825 CVE-2022-29900 CVE-2022-29901} - x86/common: Stamp out the stepping madness (Waiman Long) [2090229] {CVE-2022-23816 CVE-2022-23825 CVE-2022-29900 CVE-2022-29901} - KVM: VMX: Prevent RSB underflow before vmenter (Waiman Long) [2090229] {CVE-2022-23816 CVE-2022-23825 CVE-2022-29900 CVE-2022-29901} - x86/speculation: Fill RSB on vmexit for IBRS (Waiman Long) [2090229] {CVE-2022-23816 CVE-2022-23825 CVE-2022-29900 CVE-2022-29901} - KVM: VMX: Fix IBRS handling after vmexit (Waiman Long) [2090229] {CVE-2022-23816 CVE-2022-23825 CVE-2022-29900 CVE-2022-29901} - KVM: VMX: Prevent guest RSB poisoning attacks with eIBRS (Waiman Long) [2090229] {CVE-2022-23816 CVE-2022-23825 CVE-2022-29900 CVE-2022-29901} - KVM: VMX: Convert launched argument to flags (Waiman Long) [2090229] {CVE-2022-23816 CVE-2022-23825 CVE-2022-29900 CVE-2022-29901} - KVM: VMX: Flatten __vmx_vcpu_run() (Waiman Long) [2090229] {CVE-2022-23816 CVE-2022-23825 CVE-2022-29900 CVE-2022-29901} - x86/speculation: Remove x86_spec_ctrl_mask (Waiman Long) [2090229] {CVE-2022-23816 CVE-2022-23825 CVE-2022-29900 CVE-2022-29901} - x86/speculation: Use cached host SPEC_CTRL value for guest entry/exit (Waiman Long) [2090229] {CVE-2022-23816 CVE-2022-23825 CVE-2022-29900 CVE-2022-29901} - x86/speculation: Fix SPEC_CTRL write on SMT state change (Waiman Long) [2090229] {CVE-2022-23816 CVE-2022-23825 CVE-2022-29900 CVE-2022-29901} - x86/speculation: Fix firmware entry SPEC_CTRL handling (Waiman Long) [2090229] {CVE-2022-23816 CVE-2022-23825 CVE-2022-29900 CVE-2022-29901} - x86/cpu/amd: Add Spectral Chicken (Waiman Long) [2090229] {CVE-2022-23816 CVE-2022-23825 CVE-2022-29900 CVE-2022-29901} - x86/bugs: Do IBPB fallback check only once (Waiman Long) [2090229] {CVE-2022-23816 CVE-2022-23825 CVE-2022-29900 CVE-2022-29901} - x86/bugs: Add retbleed=ibpb (Waiman Long) [2090229] {CVE-2022-23816 CVE-2022-23825 CVE-2022-29900 CVE-2022-29901} - objtool: Update Retpoline validation (Waiman Long) [2090229] {CVE-2022-23816 CVE-2022-23825 CVE-2022-29900 CVE-2022-29901} - intel_idle: Disable IBRS during long idle (Waiman Long) [2090229] {CVE-2022-23816 CVE-2022-23825 CVE-2022-29900 CVE-2022-29901} - x86/bugs: Report Intel retbleed vulnerability (Waiman Long) [2090229] {CVE-2022-23816 CVE-2022-23825 CVE-2022-29900 CVE-2022-29901} - x86/bugs: Split spectre_v2_select_mitigation() and spectre_v2_user_select_mitigation() (Waiman Long) [2090229] {CVE-2022-23816 CVE-2022-23825 CVE-2022-29900 CVE-2022-29901} - x86/speculation: Add spectre_v2=ibrs option to support Kernel IBRS (Waiman Long) [2090229] {CVE-2022-23816 CVE-2022-23825 CVE-2022-29900 CVE-2022-29901} - x86/bugs: Optimize SPEC_CTRL MSR writes (Waiman Long) [2090229] {CVE-2022-23816 CVE-2022-23825 CVE-2022-29900 CVE-2022-29901} - x86/entry: Add kernel IBRS implementation (Waiman Long) [2090229] {CVE-2022-23816 CVE-2022-23825 CVE-2022-29900 CVE-2022-29901} - x86/bugs: Keep a per-CPU IA32_SPEC_CTRL value (Waiman Long) [2090229] {CVE-2022-23816 CVE-2022-23825 CVE-2022-29900 CVE-2022-29901} - x86/bugs: Enable STIBP for JMP2RET (Waiman Long) [2090229] {CVE-2022-23816 CVE-2022-23825 CVE-2022-29900 CVE-2022-29901} - x86/bugs: Add AMD retbleed= boot parameter (Waiman Long) [2090229] {CVE-2022-23816 CVE-2022-23825 CVE-2022-29900 CVE-2022-29901} - x86/bugs: Report AMD retbleed vulnerability (Waiman Long) [2090229] {CVE-2022-23816 CVE-2022-23825 CVE-2022-29900 CVE-2022-29901} - x86: Add magic AMD return-thunk (Waiman Long) [2090229] {CVE-2022-23816 CVE-2022-23825 CVE-2022-29900 CVE-2022-29901} - x86: Use return-thunk in asm code (Waiman Long) [2090229] {CVE-2022-23816 CVE-2022-23825 CVE-2022-29900 CVE-2022-29901} - x86/sev: Avoid using __x86_return_thunk (Waiman Long) [2090229] {CVE-2022-23816 CVE-2022-23825 CVE-2022-29900 CVE-2022-29901} - x86/vsyscall_emu/64: Don't use RET in vsyscall emulation (Waiman Long) [2090229] {CVE-2022-23816 CVE-2022-23825 CVE-2022-29900 CVE-2022-29901} - x86/kvm: Fix SETcc emulation for return thunks (Waiman Long) [2090229] {CVE-2022-23816 CVE-2022-23825 CVE-2022-29900 CVE-2022-29901} - x86/bpf: Use alternative RET encoding (Waiman Long) [2090229] {CVE-2022-23816 CVE-2022-23825 CVE-2022-29900 CVE-2022-29901} - x86/ftrace: Use alternative RET encoding (Waiman Long) [2090229] {CVE-2022-23816 CVE-2022-23825 CVE-2022-29900 CVE-2022-29901} - x86,objtool: Create .return_sites (Josh Poimboeuf) [2090229] {CVE-2022-23816 CVE-2022-23825 CVE-2022-29900 CVE-2022-29901} - x86: Undo return-thunk damage (Waiman Long) [2090229] {CVE-2022-23816 CVE-2022-23825 CVE-2022-29900 CVE-2022-29901} - x86/retpoline: Use -mfunction-return (Waiman Long) [2090229] {CVE-2022-23816 CVE-2022-23825 CVE-2022-29900 CVE-2022-29901} - x86/retpoline: Swizzle retpoline thunk (Waiman Long) [2090229] {CVE-2022-23816 CVE-2022-23825 CVE-2022-29900 CVE-2022-29901} - x86/retpoline: Cleanup some #ifdefery (Waiman Long) [2090229] {CVE-2022-23816 CVE-2022-23825 CVE-2022-29900 CVE-2022-29901} - x86/cpufeatures: Move RETPOLINE flags to word 11 (Waiman Long) [2090229] {CVE-2022-23816 CVE-2022-23825 CVE-2022-29900 CVE-2022-29901} - x86/kvm/vmx: Make noinstr clean (Waiman Long) [2090229] {CVE-2022-23816 CVE-2022-23825 CVE-2022-29900 CVE-2022-29901} - arch/x86/boot/compressed: Add -D__DISABLE_EXPORTS to kbuild flags (Waiman Long) [2090229] {CVE-2022-23816 CVE-2022-23825 CVE-2022-29900 CVE-2022-29901} - x86: (Ab)use __DISABLE_EXPORTS to disable RETHUNK in real mode (Waiman Long) [2090229] {CVE-2022-23816 CVE-2022-23825 CVE-2022-29900 CVE-2022-29901} - x86/entry: Remove skip_r11rcx (Waiman Long) [2090229] - cpuidle,intel_idle: Fix CPUIDLE_FLAG_IRQ_ENABLE (Waiman Long) [2090229] - x86/speculation/srbds: Do not try to turn mitigation off when not supported (Waiman Long) [2090229] - x86/ibt,paravirt: Use text_gen_insn() for paravirt_patch() (Waiman Long) [2090229] - x86/text-patching: Make text_gen_insn() play nice with ANNOTATE_NOENDBR (Waiman Long) [2090229] - x86/module: Fix the paravirt vs alternative order (Waiman Long) [2090229] - x86: Add straight-line-speculation mitigation (Waiman Long) [2090229] - x86: Prepare inline-asm for straight-line-speculation (Waiman Long) [2090229] - x86: Prepare asm files for straight-line-speculation (Waiman Long) [2090229] - x86: Use -mindirect-branch-cs-prefix for RETPOLINE builds (Waiman Long) [2090229] - x86: Move RETPOLINE*_CFLAGS to arch Makefile (Waiman Long) [2090229] - x86/entry: Add a fence for kernel entry SWAPGS in paranoid_entry() (Waiman Long) [2090229] - Makefile: remove stale cc-option checks (Waiman Long) [2090229] - tools headers: Remove broken definition of __LITTLE_ENDIAN (Waiman Long) [2090229] - tools arch: Update arch/x86/lib/mem{cpy,set}_64.S copies used in 'perf bench mem memcpy' (Waiman Long) [2090229] - x86: Add insn_decode_kernel() (Waiman Long) [2090229] - tools/insn: Restore the relative include paths for cross building (Waiman Long) [2090229] - x86/alternative: Use insn_decode() (Waiman Long) [2090229] - x86/insn: Add an insn_decode() API (Waiman Long) [2090229] - x86/insn: Rename insn_decode() to insn_decode_from_regs() (Waiman Long) [2090229] - x86/paravirt: Add new features for paravirt patching (Waiman Long) [2090229] - x86/alternative: Support not-feature (Waiman Long) [2090229] - x86/alternative: Merge include files (Waiman Long) [2090229] - objtool: Fix error handling for STD/CLD warnings (Waiman Long) [2090229] - x86/alternatives: Teach text_poke_bp() to emulate RET (Waiman Long) [2090229] - x86/ftrace: Have ftrace trampolines turn read-only at the end of system boot up (Waiman Long) [2090229] - x86/speculation: Change FILL_RETURN_BUFFER to work with objtool (Waiman Long) [2090229] - objtool: Add support for intra-function calls (Waiman Long) [2090229] - objtool: Rework allocating stack_ops on decode (Waiman Long) [2090229] - objtool: Better handle IRET (Waiman Long) [2090229] - objtool: Support multiple stack_op per instruction (Waiman Long) [2090229] - objtool: Make BP scratch register warning more robust (Waiman Long) [2090229] - x86/kexec: Make relocate_kernel_64.S objtool clean (Waiman Long) [2090229] - objtool: Introduce validate_return() (Waiman Long) [2090229] - Makefile: disallow data races on gcc-10 as well (Waiman Long) [2090229] - objtool: Improve call destination function detection (Waiman Long) [2090229] - x86/alternatives: Implement a better poke_int3_handler() completion scheme (Waiman Long) [2090229] - lib/: fix Kconfig indentation (Waiman Long) [2090229] - x86/alternatives: Use INT3_INSN_SIZE (Waiman Long) [2090229] - x86/kprobes: Fix ordering while text-patching (Waiman Long) [2090229] - x86/kprobes: Convert to text-patching.h (Waiman Long) [2090229] - x86/alternative: Shrink text_poke_loc (Waiman Long) [2090229] - x86/alternative: Remove text_poke_loc::len (Waiman Long) [2090229] - x86/ftrace: Use text_gen_insn() (Waiman Long) [2090229] - x86/alternative: Add text_opcode_size() (Waiman Long) [2090229] - x86/ftrace: Use text_poke() (Waiman Long) [2090229] - x86/ftrace: Use vmalloc special flag (Waiman Long) [2090229] - x86/ftrace: Explicitly include vmalloc.h for set_vm_flush_reset_perms() (Waiman Long) [2090229] - x86/alternatives: Add and use text_gen_insn() helper (Waiman Long) [2090229] - x86/alternatives, jump_label: Provide better text_poke() batching interface (Waiman Long) [2090229] - x86/asm: Annotate relocate_kernel_{32,64}.c (Waiman Long) [2090229] - x86: kprobes: Prohibit probing on instruction which has emulate prefix (Waiman Long) [2090229] - x86: Correct misc typos (Waiman Long) [2090229] - x86/speculation/mds: Apply more accurate check on hypervisor platform (Waiman Long) [2090229] - objtool: Convert insn type to enum (Waiman Long) [2090229] - objtool: Track original function across branches (Waiman Long) [2090229] - objtool: Rename elf_open() to prevent conflict with libelf from elftoolchain (Waiman Long) [2090229] - x86/ftrace: Make enable parameter bool where applicable (Waiman Long) [2090229] - x86/CPU/AMD: Don't force the CPB cap when running under a hypervisor (Waiman Long) [2090229] - objtool: Fix function fallthrough detection (Waiman Long) [2090229] - x86/paravirt: Detect over-sized patching bugs in paravirt_patch_call() (Waiman Long) [2090229] - x86/cpu/amd: Exclude 32bit only assembler from 64bit build (Waiman Long) [2090229] - x86/asm: Mark all top level asm statements as .text (Waiman Long) [2090229] - x86/cpu/bugs: Use __initconst for 'const' init data (Waiman Long) [2090229] - objtool: Add Direction Flag validation (Waiman Long) [2090229] - objtool: Rewrite add_ignores() (Waiman Long) [2090229] - x86/nospec, objtool: Introduce ANNOTATE_IGNORE_ALTERNATIVE (Waiman Long) [2090229] - x86/ftrace: Fix warning and considate ftrace_jmp_replace() and ftrace_call_replace() (Waiman Long) [2090229] - kbuild: Disable extra debugging info in .s output (Waiman Long) [2090229] - x86/CPU/AMD: Set the CPB bit unconditionally on F17h (Waiman Long) [2090229] - x86/alternatives: Print containing function (Waiman Long) [2090229] - x86/ftrace: Do not call function graph from dynamic trampolines (Waiman Long) [2090229] - ftrace: Create new ftrace_internal.h header (Waiman Long) [2090229] - kprobes/x86: Fix instruction patching corruption when copying more than one RIP-relative instruction (Waiman Long) [2090229] - tracing/Makefile: Fix handling redefinition of CC_FLAGS_FTRACE (Waiman Long) [2090229] - x86/paravirt: Remove unused paravirt bits (Waiman Long) [2090229] - x86/paravirt: Remove clobbers parameter from paravirt patch functions (Waiman Long) [2090229] - x86/paravirt: Make paravirt_patch_call() and paravirt_patch_jmp() static (Waiman Long) [2090229] - x86/l1tf: Fix build error seen if CONFIG_KVM_INTEL is disabled (Waiman Long) [2090229] - ftrace: Remove unused pointer ftrace_swapper_pid (Waiman Long) [2090229] - x86/spec_ctrl: Temporarily remove RHEL specific IBRS code (Waiman Long) [2090229] - net: bonding: fix use-after-free after 802.3ad slave unbind (Jonathan Toppins) [2109327] - net: bonding: fix possible NULL deref in rlb code (Jonathan Toppins) [2109327] - bonding: ARP monitor spams NETDEV_NOTIFY_PEERS notifiers (Jonathan Toppins) [2109327] - bonding: do not discard lowest hash bit for non layer3+4 hashing (Jonathan Toppins) [2109327] - bonding: helper macro __ATTR_RO to make code more clear (Jonathan Toppins) [2109327] - bonding: force carrier update when releasing slave (Jonathan Toppins) [2109327] - bonding: fix data-races around agg_select_timer (Jonathan Toppins) [2109327] - bonding: switch bond_net_exit() to batch mode (Jonathan Toppins) [2109327] - bonding: pair enable_port with slave_arr_updates (Jonathan Toppins) [2109327] - net: bonding: fix bond_xmit_broadcast return value error bug (Jonathan Toppins) [2109327] - tracing: Show size of requested perf buffer (Michael Petlan) [2103836] - tracing: Increase PERF_MAX_TRACE_SIZE to handle Sentinel1 and docker together (Michael Petlan) [2103836] - drivers/base/memory: determine and store zone for single-zone memory blocks (David Hildenbrand) [1997803] - drivers/base/node: rename link_mem_sections() to register_memory_block_under_node() (David Hildenbrand) [1997803] - drivers/base/node: consolidate node device subsystem initialization in node_dev_init() (David Hildenbrand) [1997803] - drivers/base/memory: introduce memory_block_{online,offline} (David Hildenbrand) [1997803] - mm/memory_hotplug: remove stale function declarations (David Hildenbrand) [1997803] - mm/memory_hotplug: remove HIGHMEM leftovers (David Hildenbrand) [1997803] - redhat/configs: remove CONFIG_MEMORY_HOTPLUG_SPARSE (David Hildenbrand) [1997803] - mm/memory_hotplug: restrict CONFIG_MEMORY_HOTPLUG to 64 bit (David Hildenbrand) [1997803] - mm/memory_hotplug: remove CONFIG_MEMORY_HOTPLUG_SPARSE (David Hildenbrand) [1997803] - mm/memory_hotplug: remove CONFIG_X86_64_ACPI_NUMA dependency from CONFIG_MEMORY_HOTPLUG (David Hildenbrand) [1997803] - memory: remove unused CONFIG_MEM_BLOCK_SIZE (David Hildenbrand) [1997803] - mm/memory_hotplug: disable the functionality for 32b (David Hildenbrand) [1997803] - include/linux/memory.h: drop fields 'hw' and 'phys_callback' from struct memory_block (David Hildenbrand) [1997803] - iommu/vt-d: Fix PCI bus rescan device hot add (Jerry Snitselaar) [2101591] - iommu/vt-d: Fix RID2PASID setup/teardown failure (Jerry Snitselaar) [2101591]- cifs: support share failover when remounting (Ronnie Sahlberg) [2095258] - cifs: avoid starvation when refreshing dfs cache (Ronnie Sahlberg) [2095258] - cifs: fix path comparison and hash calc (Ronnie Sahlberg) [2095258] - cifs: handle different charsets in dfs cache (Ronnie Sahlberg) [2095258] - spi: amd: Limit max transfer and message size (Sudheesh Mavila) [2047996] - redhat/configs: enable CONFIG_SPI_AMD for x86_64 (Sudheesh Mavila) [2047996] - spi: amd: Fix building without ACPI enabled (Sudheesh Mavila) [2047996] - spi: amd: Add support for version AMDI0062 (Sudheesh Mavila) [2047996] - spi: amd: Remove needless rom_addr variable (Sudheesh Mavila) [2047996] - spi: amd: Use iopoll for busy waiting (Sudheesh Mavila) [2047996] - spi: amd: Don't wait for a write-only transfer to finish (Sudheesh Mavila) [2047996] - spi: amd: Remove unneeded variable (Sudheesh Mavila) [2047996] - spi: amd: Refactor amd_spi_busy_wait (Sudheesh Mavila) [2047996] - spi: amd: Refactor code to use less spi_master_get_devdata (Sudheesh Mavila) [2047996] - spi: amd: Use devm_platform_ioremap_resource() in amd_spi_probe (Sudheesh Mavila) [2047996] - spi: spi-amd: Do not define 'struct acpi_device_id' when !CONFIG_ACPI (Sudheesh Mavila) [2047996] - spi: amd: Drop superfluous member from struct amd_spi (Sudheesh Mavila) [2047996] - spi: amd: Fix refcount underflow on remove (Sudheesh Mavila) [2047996] - spi: amd: Drop duplicate driver data assignments (Sudheesh Mavila) [2047996] - spi: amd: Pass probe errors back to driver core (Sudheesh Mavila) [2047996] - spi: amd: Fix duplicate iounmap in error path (Sudheesh Mavila) [2047996] - spi: spi-amd: Fix a NULL vs IS_ERR() check in amd_spi_probe() (Sudheesh Mavila) [2047996] - spi: spi-amd: fix warning (Sudheesh Mavila) [2047996] - spi: spi-amd: Add AMD SPI controller driver support (Sudheesh Mavila) [2047996] - selftests/tc-testings: Be compatible with newer tc output (Hangbin Liu) [2100322] - selftests/net: enable lo.accept_local in psock_snd test (Hangbin Liu) [2100322] - selftests/net: Use kselftest skip code for skipped tests (Hangbin Liu) [2100322] - Bluetooth: SCO: Fix sco_send_frame returning skb->len (Gopal Tiwari) [1984641] - Bluetooth: Add bt_skb_sendmsg helper (Gopal Tiwari) [1984641] - Bluetooth: SCO: Replace use of memcpy_from_msg with bt_skb_sendmsg (Gopal Tiwari) [1984641] - Bluetooth: sco: Fix lock_sock() blockage by memcpy_from_msg() (Gopal Tiwari) [1984641] - platform/mellanox: mlxbf-pmc: Fix an IS_ERR() vs NULL bug in mlxbf_pmc_map_counters (Mark Langsdorf) [2068297] - platform/mellanox: mlxreg-lc: fix error code in mlxreg_lc_create_static_devices() (Mark Langsdorf) [2068297] - platform/mellanox: mlxreg-lc: Add initial support for Nvidia line card devices (Mark Langsdorf) [2068297] - platform/mellanox: mlxreg-io: Extend number of hwmon attributes (Mark Langsdorf) [2068297] - platform/mellanox: mlxreg-hotplug: Extend logic for hotplug devices operations (Mark Langsdorf) [2068297] - platform_data/mlxreg: Add new type to support modular systems (Mark Langsdorf) [2068297] - platform/mellanox: mlxreg-io: Fix read access of n-bytes size attributes (Mark Langsdorf) [2068297] - platform/mellanox: mlxbf-pmc: fix kernel-doc notation (Mark Langsdorf) [2068297] - platform/mellanox: Typo fix in the file mlxbf-bootctl.c (Mark Langsdorf) [2068297] - redhat/configs: Support QAT devices for x86 only (Vladis Dronov) [2040724] - crypto: qat - expose device config through sysfs for 4xxx (Vladis Dronov) [2040724] - crypto: qat - relocate and rename adf_sriov_prepare_restart() (Vladis Dronov) [2040724] - crypto: qat - change behaviour of adf_cfg_add_key_value_param() (Vladis Dronov) [2040724] - crypto: qat - expose device state through sysfs for 4xxx (Vladis Dronov) [2040724] - crypto: qat - Removes the x86 dependency on the QAT drivers (Vladis Dronov) [2040724] - crypto: qat - replace get_current_node() with numa_node_id() (Vladis Dronov) [2040724] - crypto: qat - add support for 401xx devices (Vladis Dronov) [2040724] - crypto: qat - re-enable registration of algorithms (Vladis Dronov) [2040724] - crypto: qat - honor CRYPTO_TFM_REQ_MAY_SLEEP flag (Vladis Dronov) [2040724] - crypto: qat - add param check for DH (Vladis Dronov) [2040724] - crypto: qat - add param check for RSA (Vladis Dronov) [2040724] - crypto: qat - remove dma_free_coherent() for DH (Vladis Dronov) [2040724] - crypto: qat - remove dma_free_coherent() for RSA (Vladis Dronov) [2040724] - crypto: qat - fix memory leak in RSA (Vladis Dronov) [2040724] - crypto: qat - add backlog mechanism (Vladis Dronov) [2040724] - crypto: qat - refactor submission logic (Vladis Dronov) [2040724] - crypto: qat - use pre-allocated buffers in datapath (Vladis Dronov) [2040724] - crypto: qat - set to zero DH parameters before free (Vladis Dronov) [2040724] - crypto: qat - Fix unsigned function returning negative constant (Vladis Dronov) [2040724] - crypto: qat - remove line wrapping for pfvf_ops functions (Vladis Dronov) [2040724] - crypto: qat - use u32 variables in all GEN4 pfvf_ops (Vladis Dronov) [2040724] - crypto: qat - replace disable_vf2pf_interrupts() (Vladis Dronov) [2040724] - crypto: qat - leverage the GEN2 VF mask definiton (Vladis Dronov) [2040724] - crypto: qat - rework the VF2PF interrupt handling logic (Vladis Dronov) [2040724] - crypto: qat - fix off-by-one error in PFVF debug print (Vladis Dronov) [2040724] - crypto: qat - fix wording and formatting in code comment (Vladis Dronov) [2040724] - crypto: qat - test PFVF registers for spurious interrupts on GEN4 (Vladis Dronov) [2040724] - crypto: qat - add check for invalid PFVF protocol version 0 (Vladis Dronov) [2040724] - crypto: qat - add missing restarting event notification in VFs (Vladis Dronov) [2040724] - crypto: qat - remove unnecessary tests to detect PFVF support (Vladis Dronov) [2040724] - crypto: qat - remove unused PFVF stubs (Vladis Dronov) [2040724] - crypto: qat - remove unneeded braces (Vladis Dronov) [2040724] - crypto: qat - fix ETR sources enabled by default on GEN2 devices (Vladis Dronov) [2040724] - crypto: qat - set COMPRESSION capability for DH895XCC (Vladis Dronov) [2040724] - crypto: qat - set CIPHER capability for DH895XCC (Vladis Dronov) [2040724] - crypto: qat - stop using iommu_present() (Vladis Dronov) [2040724] - crypto: qat - fix initialization of pfvf rts_map_msg structures (Vladis Dronov) [2040724] - crypto: qat - fix initialization of pfvf cap_msg structures (Vladis Dronov) [2040724] - crypto: qat - remove unneeded assignment (Vladis Dronov) [2040724] - crypto: qat - disable registration of algorithms (Vladis Dronov) [2040724] - crypto: qat - enable power management for QAT GEN4 (Vladis Dronov) [2040724] - crypto: qat - move and rename GEN4 error register definitions (Vladis Dronov) [2040724] - crypto: qat - add misc workqueue (Vladis Dronov) [2040724] - crypto: qat - don't cast parameter in bit operations (Vladis Dronov) [2040724] - crypto: qat - fix access to PFVF interrupt registers for GEN4 (Vladis Dronov) [2040724] - crypto: qat - fix a signedness bug in get_service_enabled() (Vladis Dronov) [2040724] - dlm: fix missing lkb refcount handling (Alexander Aring) [2084606] - scsi: storvsc: Fix unsigned comparison to zero (Mohammed Gamal) [2020774] - scsi: storvsc: Fix validation for unsolicited incoming packets (Mohammed Gamal) [2020774] - scsi: storvsc: Fix storvsc_queuecommand() memory leak (Mohammed Gamal) [2020774] - x86/kvm: Add kexec support for SEV Live Migration. (Mohammed Gamal) [2018614] - x86/kvm: Add guest support for detecting and enabling SEV Live Migration feature. (Mohammed Gamal) [2018614] - mm: x86: Invoke hypercall when page encryption status is changed (Mohammed Gamal) [2018614] - hv_netvsc: Fix potential dereference of NULL pointer (Mohammed Gamal) [2086611] - hv_netvsc: Add support for XDP_REDIRECT (Mohammed Gamal) [2086611] - hv_netvsc: Print value of invalid ID in netvsc_send_{completion,tx_complete}() (Mohammed Gamal) [2086611] - net: hyperv: remove use of bpf_op_t (Mohammed Gamal) [2086611] - hv_netvsc: Add check for kvmalloc_array (Mohammed Gamal) [2086611] - net: netvsc: remove break after return (Mohammed Gamal) [2086611] - hv_netvsc: Use bitmap_zalloc() when applicable (Mohammed Gamal) [2086611] - SMB3: EBADF/EIO errors in rename/open caused by race condition in smb2_compound_op (Ronnie Sahlberg) [2108871] - vsock/virtio: enable VQs early on probe (Stefano Garzarella) [2107594] - vsock/virtio: initialize vdev->priv before using VQs (Stefano Garzarella) [2107594] - vsock: each transport cycles only on its own sockets (Stefano Garzarella) [2107594] - vhost/vsock: don't check owner in vhost_vsock_stop() while releasing (Stefano Garzarella) [2107594] - vsock: remove vsock from connected table when connect is interrupted by a signal (Stefano Garzarella) [2107594] - ipv6: take care of disable_policy when restoring routes (Andrea Claudi) [2103894] - tools/testing/nvdimm: Fix security_init() symbol collision (Jeff Moyer) [2096791] - redhat: make kernel-devel pkgs Requires elfutils and gcc (Jarod Wilson) [1701282] - xhci: Fix null pointer dereference in resume if xhci has only one roothub (Dean Nelson) [2061791] - usb: dwc3: gadget: Move null pinter check to proper place (Dean Nelson) [2061791] - xhci: Don't defer primary roothub registration if there is only one roothub (Dean Nelson) [2061791] - USB: serial: pl2303: fix type detection for odd device (Dean Nelson) [2061791] - media: pvrusb2: fix array-index-out-of-bounds in pvr2_i2c_core_init (Dean Nelson) [2061791] - usb: xhci-mtk: remove bandwidth budget table (Dean Nelson) [2061791] - usb: xhci-mtk: fix fs isoc's transfer error (Dean Nelson) [2061791] - xhci: Allow host runtime PM as default for Intel Alder Lake N xHCI (Dean Nelson) [2061791] - xhci: prevent U2 link power state if Intel tier policy prevented U1 (Dean Nelson) [2061791] - xhci: use generic command timer for stop endpoint commands. (Dean Nelson) [2061791] - usb: host: xhci-plat: omit shared hcd if either root hub has no ports (Dean Nelson) [2061791] - usb: host: xhci-plat: prepare operation w/o shared hcd (Dean Nelson) [2061791] - usb: host: xhci-plat: create shared hcd after having added main hcd (Dean Nelson) [2061791] - xhci: prepare for operation w/o shared hcd (Dean Nelson) [2061791] - xhci: factor out parts of xhci_gen_setup() (Dean Nelson) [2061791] - xhci: Set HCD flag to defer primary roothub registration (Dean Nelson) [2061791] - usb: core: hcd: Add support for deferring roothub registration (Dean Nelson) [2061791] - thunderbolt: Fix buffer allocation of devices with no DisplayPort adapters (Dean Nelson) [2061791] - media: uvcvideo: Fix bit overflow in uvc_probe_video (Dean Nelson) [2061791] - media: uvcvideo: Fix missing check to determine if element is found in list (Dean Nelson) [2061791] - usb: typec: tcpci: Don't skip cleanup in .remove() on error (Dean Nelson) [2061791] - usb: cdc-wdm: fix reading stuck on device close (Dean Nelson) [2061791] - thunderbolt: Ignore port locked error in tb_port_wait_for_link_width() (Dean Nelson) [2061791] - thunderbolt: Add debug logging when lane is enabled/disabled (Dean Nelson) [2061791] - usb: dwc3: gadget: Return proper request status (Dean Nelson) [2061791] - usb: typec: mux: Check dev_set_name() return value (Dean Nelson) [2061791] - usb: dwc3: pci: Fix pm_runtime_get_sync() error checking (Dean Nelson) [2061791] - usb: dwc3: gadget: Replace list_for_each_entry_safe() if using giveback (Dean Nelson) [2061791] - usb: dwc3: core: Only handle soft-reset in DCTL (Dean Nelson) [2061791] - usb: dwc3: Try usb-role-switch first in dwc3_drd_init (Dean Nelson) [2061791] - usb: dwc3: core: Fix tx/rx threshold settings (Dean Nelson) [2061791] - USB: storage: karma: fix rio_karma_init return (Dean Nelson) [2061791] - xhci: Enable runtime PM on second Alderlake controller (Dean Nelson) [2061791] - usb: misc: fix improper handling of refcount in uss720_probe() (Dean Nelson) [2061791] - usb: typec: ucsi: Fix role swapping (Dean Nelson) [2061791] - usb: typec: ucsi: Fix reuse of completion structure (Dean Nelson) [2061791] - thunderbolt: Use different lane for second DisplayPort tunnel (Dean Nelson) [2061791] - thunderbolt: Dump path config space entries during discovery (Dean Nelson) [2061791] - thunderbolt: Use decimal number with port numbers (Dean Nelson) [2061791] - xhci: increase usb U3 -> U0 link resume timeout from 100ms to 500ms (Dean Nelson) [2061791] - xhci: stop polling roothubs after shutdown (Dean Nelson) [2061791] - USB: Fix xhci event ring dequeue pointer ERDP update issue (Dean Nelson) [2061791] - USB: storage: ums-realtek: fix error code in rts51x_read_mem() (Dean Nelson) [2061791] - usb: early: xhci-dbc: Fix xdbc number parsing (Dean Nelson) [2061791] - usb: early: xhci-dbc: Remove duplicate keep parsing (Dean Nelson) [2061791] - USB: serial: pl2303: fix GS type detection (Dean Nelson) [2061791] - usb: host: xhci: Remove some unnecessary return value initializations (Dean Nelson) [2061791] - usb: host: xhci: add blank line in xhci_halt() (Dean Nelson) [2061791] - usb: host: xhci: update hci_version operation in xhci_gen_setup() (Dean Nelson) [2061791] - usb: host: xhci: fix a comment typo in xhci_mem_init() (Dean Nelson) [2061791] - usb: host: xhci: use ffs() in xhci_mem_init() (Dean Nelson) [2061791] - xhci: fix runtime PM imbalance in USB2 resume (Dean Nelson) [2061791] - xhci: fix uninitialized string returned by xhci_decode_ctrl_ctx() (Dean Nelson) [2061791] - xhci: fix garbage USBSTS being logged in some cases (Dean Nelson) [2061791] - xhci: make xhci_handshake timeout for xhci_reset() adjustable (Dean Nelson) [2061791] - xhci: omit mem read just after allocation of trb (Dean Nelson) [2061791] - Revert "USB: serial: ch341: add new Product ID for CH341A" (Dean Nelson) [2061791] - usb: xhci: fix minmax.cocci warnings (Dean Nelson) [2061791] - usb: host: xhci: drop redundant checks (Dean Nelson) [2061791] - xhci: Allocate separate command structures for each LPM command (Dean Nelson) [2061791] - xhci: dbgtty: use IDR to support several dbc instances. (Dean Nelson) [2061791] - xhci: dbc: Don't call dbc_tty_init() on every dbc tty probe (Dean Nelson) [2061791] - xhci: dbc: Rename xhci_dbc_init and xhci_dbc_exit (Dean Nelson) [2061791] - xhci: dbc: create and remove dbc structure in dbgtty driver. (Dean Nelson) [2061791] - xhci: dbc: refactor xhci_dbc_init() (Dean Nelson) [2061791] - usb: dwc3: pci: Fix Bay Trail phy GPIO mappings (Dean Nelson) [2061791] - xhci: Prevent futile URB re-submissions due to incorrect return value. (Dean Nelson) [2061791] - xhci: re-initialize the HC during resume if HCE was set (Dean Nelson) [2061791] - usb: dwc3: pci: Add "snps,dis_u2_susphy_quirk" for Intel Bay Trail (Dean Nelson) [2061791] - usb: dwc3: pci: add support for the Intel Raptor Lake-S (Dean Nelson) [2061791] - usb: xhci-mtk: add support ip-sleep wakeup for mt8195 (Dean Nelson) [2061791] - usb: dwc3: gadget: Prevent core from processing stale TRBs (Dean Nelson) [2061791] - thunderbolt: Replace acpi_bus_get_device() (Dean Nelson) [2061791] - thunderbolt: Add internal xHCI connect flows for Thunderbolt 3 devices (Dean Nelson) [2061791] - thunderbolt: Add missing device ID to tb_switch_is_alpine_ridge() (Dean Nelson) [2061791] - thunderbolt: Disable LTTPR on Intel Titan Ridge (Dean Nelson) [2061791] - usb: ulpi: Call of_node_put correctly (Dean Nelson) [2061791] - usb: ulpi: Move of_node_put to ulpi_dev_release (Dean Nelson) [2061791] - usb: xhci-mtk: Use struct_size() helper in create_sch_ep() (Dean Nelson) [2061791] - usb: common: ulpi: Fix crash in ulpi_match() (Dean Nelson) [2061791] - usb: typec: tcpm: Do not disconnect when receiving VSAFE0V (Dean Nelson) [2061791] - usb: typec: tcpm: Do not disconnect while receiving VBUS off (Dean Nelson) [2061791] - xhci: Fresco FL1100 controller should not have BROKEN_MSI quirk set. (Dean Nelson) [2061791] - usb: typec: tcpci: don't touch CC line if it's Vconn source (Dean Nelson) [2061791] - thunderbolt: Remove useless DMA-32 fallback configuration (Dean Nelson) [2061791] - media: uvcvideo: Support devices that report an OT as an entity source (Dean Nelson) [2061791] - Revert "media: uvcvideo: Support devices that report an OT as an entity source" (Dean Nelson) [2061791] - thunderbolt: Add module parameter for CLx disabling (Dean Nelson) [2061791] - thunderbolt: Enable CL0s for Intel Titan Ridge (Dean Nelson) [2061791] - thunderbolt: Rename Intel TB_VSE_CAP_IECS capability (Dean Nelson) [2061791] - thunderbolt: Implement TMU time disruption for Intel Titan Ridge (Dean Nelson) [2061791] - thunderbolt: Move usb4_switch_wait_for_bit() to switch.c (Dean Nelson) [2061791] - thunderbolt: Add CL0s support for USB4 routers (Dean Nelson) [2061791] - thunderbolt: Add TMU uni-directional mode (Dean Nelson) [2061791] - xhci: use max() to make code cleaner (Dean Nelson) [2061791] - usb: ftdi-elan: fix memory leak on device disconnect (Dean Nelson) [2061791] - Revert "usb: early: convert to readl_poll_timeout_atomic()" (Dean Nelson) [2061791] - usb: typec: tcpm: fix tcpm unregister port but leave a pending timer (Dean Nelson) [2061791] - thunderbolt: Check return value of kmemdup() in icm_handle_event() (Dean Nelson) [2061791] - media: dw2102: Fix use after free (Dean Nelson) [2061791] - USB: serial: cp210x: fix CP2105 GPIO registration (Dean Nelson) [2061791] - usb: xhci-mtk: fix list_del warning when enable list debug (Dean Nelson) [2061791] - usb: core: config: fix validation of wMaxPacketValue entries (Dean Nelson) [2061791] - xhci: avoid race between disable slot command and host runtime suspend (Dean Nelson) [2061791] - xhci: Remove CONFIG_USB_DEFAULT_PERSIST to prevent xHCI from runtime suspending (Dean Nelson) [2061791] - thunderbolt: Do not dereference fwnode in struct device (Dean Nelson) [2061791] - thunderbolt: Add debug logging of DisplayPort resource allocation (Dean Nelson) [2061791] - thunderbolt: Do not program path HopIDs for USB4 routers (Dean Nelson) [2061791] - thunderbolt: Do not allow subtracting more NFC credits than configured (Dean Nelson) [2061791] - thunderbolt: Runtime resume USB4 port when retimers are scanned (Dean Nelson) [2061791] - thunderbolt: Tear down existing tunnels when resuming from hibernate (Dean Nelson) [2061791] - thunderbolt: Runtime PM activate both ends of the device link (Dean Nelson) [2061791] - thunderbolt: xdomain: Avoid potential stack OOB read (Dean Nelson) [2061791] - media: uvcvideo: fix division by zero at stream start (Dean Nelson) [2061791] - usb: typec: tcpm: Wait in SNK_DEBOUNCED until disconnect (Dean Nelson) [2061791] - xhci: Fix commad ring abort, write all 64 bits to CRCR register. (Dean Nelson) [2061791] - usb: dwc3: gadget: Skip reading GEVNTSIZn (Dean Nelson) [2061791] - usb: dwc3: gadget: Ignore Update Transfer cmd params (Dean Nelson) [2061791] - usb: dwc3: gadget: Skip checking Update Transfer status (Dean Nelson) [2061791] - usb: hub: Fix locking issues with address0_mutex (Dean Nelson) [2061791] - media: dib0700: Only touch one bit when start/stop an adapter (Dean Nelson) [2061791] - media: dib0700: cleanup start/stop streaming logic (Dean Nelson) [2061791] - media: dib0700: fix undefined behavior in tuner shutdown (Dean Nelson) [2061791] - media: s2255: fix control-message timeouts (Dean Nelson) [2061791] - media: pvrusb2: fix control-message timeouts (Dean Nelson) [2061791] - media: flexcop-usb: fix control-message timeouts (Dean Nelson) [2061791] - usb: hub: Fix usb enumeration issue due to address0 race (Dean Nelson) [2061791] - usb: typec: fusb302: Fix masking of comparator and bc_lvl interrupts (Dean Nelson) [2061791] - usb: dwc3: gadget: Fix null pointer exception (Dean Nelson) [2061791] - usb: dwc3: gadget: Check for L1/L2/U3 for Start Transfer (Dean Nelson) [2061791] - usb: dwc3: gadget: Ignore NoStream after End Transfer (Dean Nelson) [2061791] - usb: xhci-mtk: fix random remote wakeup (Dean Nelson) [2061791] - usb: xhci-mtk: remove unnecessary error check (Dean Nelson) [2061791] - USB: serial: keyspan: fix memleak on probe errors (Dean Nelson) [2061791] - USB: iowarrior: fix control-message timeouts (Dean Nelson) [2061791] - usb: dwc3: gadget: Skip resizing EP's TX FIFO if already resized (Dean Nelson) [2061791] - usb: dwc3: gadget: Change to dev_dbg() when queuing to inactive gadget/ep (Dean Nelson) [2061791] - xhci: Enable trust tx length quirk for Fresco FL11 USB controller (Dean Nelson) [2061791] - xhci: Fix command ring pointer corruption while aborting a command (Dean Nelson) [2061791] - USB: xhci: dbc: fix tty registration race (Dean Nelson) [2061791] - xhci: add quirk for host controllers that don't update endpoint DCS (Dean Nelson) [2061791] - xhci: guard accesses to ep_state in xhci_endpoint_reset() (Dean Nelson) [2061791] - media: usb: dvd-usb: fix uninit-value bug in dibusb_read_eeprom_byte() (Dean Nelson) [2061791] - USB: cdc-acm: fix break reporting (Dean Nelson) [2061791] - USB: cdc-acm: fix racy tty buffer accesses (Dean Nelson) [2061791] - usb: typec: tcpm: handle SRC_STARTUP state if cc changes (Dean Nelson) [2061791] - usb: typec: tcpci: don't handle vSafe0V event if it's not enabled (Dean Nelson) [2061791] - usb: xhci-mtk: use xhci_dbg() to print log (Dean Nelson) [2061791] - media: mxl111sf: change mutex_init() location (Dean Nelson) [2061791] - media: tm6000: Avoid card name truncation (Dean Nelson) [2061791] - media: gspca: Limit frame size to sizeimage. (Dean Nelson) [2061791] - media: uvcvideo: Don't spam the log in uvc_ctrl_restore_values() (Dean Nelson) [2061791] - media: uvcvideo: Increase the size of UVC_METADATA_BUF_SIZE (Dean Nelson) [2061791] - media: uvcvideo: Return -EIO for control errors (Dean Nelson) [2061791] - media: uvcvideo: Remove unused including (Dean Nelson) [2061791] - media: m5602_ov7660: remove the repeated declaration (Dean Nelson) [2061791] - media: dvb-usb: fix ununit-value in az6027_rc_query (Dean Nelson) [2061791] - thunderbolt: Fix -Wrestrict warning (Dean Nelson) [2061791] - USB: serial: cp210x: fix dropped characters with CP2102 (Dean Nelson) [2061791] - usb: dwc3: gadget: Avoid starting DWC3 gadget during UDC unbind (Dean Nelson) [2061791] - USB: serial: option: remove duplicate USB device ID (Dean Nelson) [2061791] - USB: serial: mos7840: remove duplicated 0xac24 device ID (Dean Nelson) [2061791] - USB: cdc-acm: fix minor-number release (Dean Nelson) [2061791] - usb: dwc3: reference clock period configuration (Dean Nelson) [2061791] - usb: xhci-mtk: allow bandwidth table rollover (Dean Nelson) [2061791] - usb: xhci-mtk: modify the SOF/ITP interval for mt8195 (Dean Nelson) [2061791] - usb: xhci-mtk: add a member of num_esit (Dean Nelson) [2061791] - usb: xhci-mtk: check boundary before check tt (Dean Nelson) [2061791] - usb: xhci-mtk: update fs bus bandwidth by bw_budget_table (Dean Nelson) [2061791] - usb: xhci-mtk: support option to disable usb2 ports (Dean Nelson) [2061791] - usb: xhci-mtk: fix use-after-free of mtk->hcd (Dean Nelson) [2061791] - usb: dwc3: pci: add support for AMD's newer generation platform. (Dean Nelson) [2061791] - xhci: Add bus number to some debug messages (Dean Nelson) [2061791] - xhci: Add additional dynamic debug to follow URBs in cancel and error cases. (Dean Nelson) [2061791] - Revert "USB: xhci: fix U1/U2 handling for hardware with XHCI_INTEL_HOST quirk set" (Dean Nelson) [2061791] - xhci: Fix failure to give back some cached cancelled URBs. (Dean Nelson) [2061791] - xhci: fix even more unsafe memory usage in xhci tracing (Dean Nelson) [2061791] - xhci: fix unsafe memory usage in xhci tracing (Dean Nelson) [2061791] - usb: typec: tcpm: Support non-PD mode (Dean Nelson) [2061791] - USB: serial: cp210x: determine fw version for CP2105 and CP2108 (Dean Nelson) [2061791] - USB: serial: cp210x: clean up type detection (Dean Nelson) [2061791] - USB: serial: cp210x: clean up set-chars request (Dean Nelson) [2061791] - USB: serial: cp210x: clean up control-request timeout (Dean Nelson) [2061791] - USB: serial: cp210x: fix flow-control error handling (Dean Nelson) [2061791] - USB: serial: cp210x: fix control-characters error handling (Dean Nelson) [2061791] - tty: drop put_tty_driver (Dean Nelson) [2061791] - media: dvb-usb: fix uninit-value in vp702x_read_mac_addr (Dean Nelson) [2061791] - media: dvb-usb: fix uninit-value in dvb_usb_adapter_dvb_init (Dean Nelson) [2061791] - usb: renesas-xhci: Remove renesas_xhci_pci_exit() (Dean Nelson) [2061791] - usb: dwc3: Resize TX FIFOs to meet EP bursting requirements (Dean Nelson) [2061791] - memstick: rtsx_usb_ms: fix UAF (Dean Nelson) [2061791] - usb: dwc3: gadget: Clear DEP flags after stop transfers in ep disable (Dean Nelson) [2061791] - usb: dwc3: gadget: Set gadget_max_speed when set ssp_rate (Dean Nelson) [2061791] - usb: dwc3: gadget: Prevent EP queuing while stopping transfers (Dean Nelson) [2061791] - media: lmedm04: Fix misuse of comma (Dean Nelson) [2061791] - media: tm6000: Fix memleak in tm6000_start_stream (Dean Nelson) [2061791] - usb: dwc3: gadget: Restart DWC3 gadget when enabling pullup (Dean Nelson) [2061791] - memstick: Skip allocating card when removing host (Dean Nelson) [2061791] - USB: Replace zero-length array with flexible-array member (Dean Nelson) [2061791] - USB: xhci: fix 'broken_suspend' placement in struct xchi_hcd (Dean Nelson) [2061791] - Revert "[usb] USB: xhci: fix 'broken_suspend' placement in struct xchi_hcd" (Dean Nelson) [2061791] - memstick: rtsx_usb_ms: Support runtime power management (Dean Nelson) [2061791] - memstick: rtsx_usb_ms: Use ms_dev() helper (Dean Nelson) [2061791] - memstick: Prevent memstick host from getting runtime suspended during card detection (Dean Nelson) [2061791] - misc: rtsx_usb: Use USB remote wakeup signaling for card insertion detection (Dean Nelson) [2061791] - memstick: rtsx_usb_ms: Add missing pm_runtime_disable() in probe function (Dean Nelson) [2061791]- RDMA/qedr: Fix reporting QP timeout attribute (Kamal Heib) [2083620] - NFSD: Handle COPYer - Not suppored in RHEL8 (Benjamin Coddington) [2108628] - NFSD add ca_source_server<> to COPY (Benjamin Coddington) [2108628] - NFS NFSD: defining nl4_servers structure needed by both (Benjamin Coddington) [2108628] - fix backport powerpc/uaccess: get rid of small constant size cases in raw_copy_{to,from}_user() (Diego Domingos) [2106984] - bpf: Enable bpf_ktime_get_coarse_ns helper (Viktor Malik) [2105133] - kernel/resource: Introduce request_mem_region_muxed() (Sudheesh Mavila) [2047999] - i2c: piix4: Enable EFCH MMIO for Family 17h+ (Sudheesh Mavila) [2047999] - i2c: piix4: Add EFCH MMIO support for SMBus port select (Sudheesh Mavila) [2047999] - i2c: piix4: Add EFCH MMIO support to SMBus base address detect (Sudheesh Mavila) [2047999] - i2c: piix4: Add EFCH MMIO support to region request and release (Sudheesh Mavila) [2047999] - i2c: piix4: Move SMBus port selection into function (Sudheesh Mavila) [2047999] - i2c: piix4: Move SMBus controller base address detect into function (Sudheesh Mavila) [2047999] - i2c: piix4: Move port I/O region request/release code into functions (Sudheesh Mavila) [2047999] - i2c: piix4: Replace hardcoded memory map size with a #define (Sudheesh Mavila) [2047999] - i2c: piix4: Detect secondary SMBus controller on AMD AM4 chipsets (Sudheesh Mavila) [2047999] - i2c: piix4: Add ACPI support (Sudheesh Mavila) [2047999] - i2c: piix4: Fix probing of reserved ports on AMD Family 16h Model 30h (Sudheesh Mavila) [2047999] - i2c: piix4: Fix port selection for AMD Family 16h Model 30h (Sudheesh Mavila) [2047999] - i2c-piix4: Add Hygon Dhyana SMBus support (Sudheesh Mavila) [2047999] - tracing: Remove WARN_ON in start_thread() (Jerome Marchand) [2090967] - net: usb: Fix spelling mistakes (José Ignacio Tornos Martínez) [1984353] - net: usb: cdc_ether: record speed in status method (José Ignacio Tornos Martínez) [1984353] - net: usb: usbnet: add method for reporting speed without MII (José Ignacio Tornos Martínez) [1984353] - e1000e: Fix possible overflow in LTR decoding (Ken Cox) [2037965] - e1000e: Print PHY register address when MDI read/write fails (Ken Cox) [2037965] - e1000e: Correct NVM checksum verification flow (Ken Cox) [2037965] - e1000e: Fix possible HW unit hang after an s0ix exit (Ken Cox) [2037965 2049952] - e1000e: Handshake with CSME starts from ADL platforms (Ken Cox) [2037965 2049952] - e1000e: Separate ADP board type from TGP (Ken Cox) [2037965 2049952] - e1000e: Remove useless DMA-32 fallback configuration (Ken Cox) [2037965] - e1000e: Remove redundant statement (Ken Cox) [2037965] - ethernet: use eth_hw_addr_set() for dev->addr_len cases (Ken Cox) [2037965] - net: e1000e: solve insmod 'Unknown symbol mutex_lock' error (Ken Cox) [2037965] - RDMA/irdma: Add SW mechanism to generate completions on error (Kamal Heib) [2100316] - RDMA/irdma: Remove the redundant variable (Kamal Heib) [2100316] - RDMA/irdma: Add support for DSCP (Kamal Heib) [2100316] - RDMA/irdma: Use irq_update_affinity_hint() (Kamal Heib) [2100316] - RDMA/irdma: Set protocol based on PF rdma_mode flag (Kamal Heib) [2100316 2096481] - virtio-ring: fix DMA metadata flags (Cindy Lu) [1969742] - virtio_ring: fix typos in vring_desc_extra (Jason Wang) [1969742] - virtio-ring: store DMA metadata in desc_extra for split virtqueue (Jason Wang) [1969742] - virtio: use err label in __vring_new_virtqueue() (Jason Wang) [1969742] - virtio_ring: introduce virtqueue_desc_add_split() (Jason Wang) [1969742] - virtio_ring: secure handling of mapping errors (Jason Wang) [1969742] - virtio-ring: factor out desc_extra allocation (Jason Wang) [1969742] - virtio_ring: rename vring_desc_extra_packed (Jason Wang) [1969742] - virtio-ring: maintain next in extra state for packed virtqueue (Jason Wang) [1969742] - drivers/base: fix userspace break from using bin_attributes for cpumap and cpulist (Phil Auld) [2089715] - rpminspect: disable abidiff scanning (Jarod Wilson)- Netvsc: Call hv_unmap_memory() in the netvsc_device_remove() (Mohammed Gamal) [2086613] - Drivers: hv: vmbus: Release cpu lock in error case (Mohammed Gamal) [2086613] - Drivers: hv: Fix syntax errors in comments (Mohammed Gamal) [2086613] - Drivers: hv: vmbus: Don't assign VMbus channel interrupts to isolated CPUs (Mohammed Gamal) [2086613] - hv_balloon: Fix balloon_probe() and balloon_remove() error handling (Mohammed Gamal) [2086613] - Drivers: hv: vmbus: fix typo in comment (Mohammed Gamal) [2086613] - Drivers: hv: vmbus: Remove support for Hyper-V 2008 and Hyper-V 2008R2/Win7 (Mohammed Gamal) [2086613] - Drivers: hv: vmbus: Refactor the ring-buffer iterator functions (Mohammed Gamal) [2086613] - hv_sock: Copy packets sent by Hyper-V out of the ring buffer (Mohammed Gamal) [2086613] - hv_sock: Check hv_pkt_iter_first_raw()'s return value (Mohammed Gamal) [2086613] - Drivers: hv: vmbus: Accept hv_sock offers in isolated guests (Mohammed Gamal) [2086613] - Drivers: hv: vmbus: Introduce {lock,unlock}_requestor() (Mohammed Gamal) [2086613] - Drivers: hv: vmbus: Introduce vmbus_request_addr_match() (Mohammed Gamal) [2086613] - Drivers: hv: vmbus: Introduce vmbus_sendpacket_getid() (Mohammed Gamal) [2086613] - Drivers: hv: vmbus: Fix handling of messages with transaction ID of zero (Mohammed Gamal) [2086613] - Drivers: hv: vmbus: Add VMbus IMC device to unsupported list (Mohammed Gamal) [2086613] - Drivers: hv: vmbus: Replace smp_store_mb() with virt_store_mb() (Mohammed Gamal) [2086613] - Drivers: hv: balloon: Disable balloon and hot-add accordingly (Mohammed Gamal) [2086613] - Drivers: hv: balloon: Support status report for larger page sizes (Mohammed Gamal) [2086613] - Drivers: hv: vmbus: Prevent load re-ordering when reading ring buffer (Mohammed Gamal) [2086613] - Drivers: hv: vmbus: Fix potential crash on module unload (Mohammed Gamal) [2086613] - Drivers: hv: vmbus: Fix initialization of device object in vmbus_device_register() (Mohammed Gamal) [2086613] - Drivers: hv: vmbus: Deactivate sysctl_record_panic_msg by default in isolated guests (Mohammed Gamal) [2086613] - drivers: hv: log when enabling crash_kexec_post_notifiers (Mohammed Gamal) [2086613] - Drivers: hv: utils: Make use of the helper macro LIST_HEAD() (Mohammed Gamal) [2086613] - Drivers: hv: vmbus: Rework use of DMA_BIT_MASK(64) (Mohammed Gamal) [2086613] - Drivers: hv: vmbus: Fix memory leak in vmbus_add_channel_kobj (Mohammed Gamal) [2086613] - Drivers: hv: Compare cpumasks and not their weights in init_vp_index() (Mohammed Gamal) [2086613] - Drivers: hv: Rename 'alloced' to 'allocated' (Mohammed Gamal) [2086613] - Drivers: hv: vmbus: Use struct_size() helper in kmalloc() (Mohammed Gamal) [2086613] - Drivers: hv: balloon: account for vmbus packet header in max_pkt_size (Mohammed Gamal) [2086613] - Drivers: hv: vmbus: Initialize request offers message for Isolation VM (Mohammed Gamal) [2086613] - Drivers: hv: Fix definition of hypercall input & output arg variables (Mohammed Gamal) [2086613] - net: netvsc: Add Isolation VM support for netvsc driver (Mohammed Gamal) [2086613] - scsi: storvsc: Add Isolation VM support for storvsc driver (Mohammed Gamal) [2086613] - Drivers: hv : vmbus: Adding NULL pointer check (Mohammed Gamal) [2086613] - Drivers: hv: vmbus: Remove unused code to check for subchannels (Mohammed Gamal) [2086613] - Drivers: hv: vmbus: Initialize VMbus ring buffer for Isolation VM (Mohammed Gamal) [2086613] - Drivers: hv: vmbus: Add SNP support for VMbus channel initiate message (Mohammed Gamal) [2086613] - Drivers: hv: vmbus: Mark vmbus ring buffer visible to host in Isolation VM (Mohammed Gamal) [2086613] - SUNRPC: Don't leak sockets in xs_local_connect() (Jeffrey Layton) [2089429] - SUNRPC: clean up some inconsistent indenting (Jeffrey Layton) [2089429] - SUNRPC: Ensure we flush any closed sockets before xs_xprt_free() (Jeffrey Layton) [2089429] - SUNRPC: Don't call connect() more than once on a TCP socket (Jeffrey Layton) [2089429] - net: openvswitch: fix misuse of the cached connection on tuple changes (Timothy Redaelli) [2099213] - sfc: fix considering that all channels have TX queues (Íñigo Huguet) [1851823] - sfc: fix wrong tx channel offset with efx_separate_tx_channels (Íñigo Huguet) [1851823] - intel/igb:fix repeated words in comments (Corinna Vinschen) [2037959] - igb: remove unexpected word "the" (Corinna Vinschen) [2037959] - igb: Make DMA faster when CPU is active on the PCIe link (Corinna Vinschen) [2037959] - igb: fix a use-after-free issue in igb_clean_tx_ring (Corinna Vinschen) [2037959] - igb: Remove duplicate defines (Corinna Vinschen) [2037959] - igb: skip phy status check where unavailable (Corinna Vinschen) [2037959] - igb: Convert kmap() to kmap_local_page() (Corinna Vinschen) [2037959] - igb: zero hwtstamp by default (Corinna Vinschen) [2037959] - igb: Remove useless DMA-32 fallback configuration (Corinna Vinschen) [2037959] - PCI: Work around Intel I210 ROM BAR overlap defect (Corinna Vinschen) [2037959] - igb: support EXTTS on 82580/i354/i350 (Corinna Vinschen) [2037959] - igb: support PEROUT on 82580/i354/i350 (Corinna Vinschen) [2037959] - igb: move PEROUT and EXTTS isr logic to separate functions (Corinna Vinschen) [2037959] - igb: move SDP config initialization to separate function (Corinna Vinschen) [2037959] - igb: switch to napi_build_skb() (Corinna Vinschen) [2037959] - igb: remove never changed variable `ret_val' (Corinna Vinschen) [2037959] - NFSv4: Add an fattr allocation to _nfs4_discover_trunking() (Scott Mayhew) [2096393] - sunrpc: set cl_max_connect when cloning an rpc_clnt (Scott Mayhew) [2096393] - NFSv4.1 mark qualified async operations as MOVEABLE tasks (Scott Mayhew) [2096393] - powerpc/rtas: Allow ibm,platform-dump RTAS call with null buffer address (Desnes A. Nunes do Rosario) [2095041] - audit: free module name (Richard Guy Briggs) [2100259] - bfq: fix blkio cgroup leakage v4 (Ming Lei) [2093206] - scsi: scsi_dh_alua: Properly handle the ALUA transitioning state (Ewan D. Milne) [1992870] - mm: sparse: remove __section_nr() function (Mark Langsdorf) [2067280] - mm: sparse: pass section_nr to find_memory_block (Mark Langsdorf) [2067280] - mm: sparse: pass section_nr to section_mark_present (Mark Langsdorf) [2067280] - headers/uninline: Uninline single-use function: kobject_has_children() (Mark Langsdorf) [2067280] - arch_topology: Do not set llc_sibling if llc_id is invalid (Mark Langsdorf) [2067280] - topology: make core_mask include at least cluster_siblings (Mark Langsdorf) [2067280] - regmap: allow a defined reg_base to be added to every address (Mark Langsdorf) [2067280] - regmap: add configurable downshift for addresses (Mark Langsdorf) [2067280] - drivers/base/dd.c : Remove the initial value of the global variable (Mark Langsdorf) [2067280] - devres: fix typos in comments (Mark Langsdorf) [2067280] - base: soc: Make soc_device_match() simpler and easier to read (Mark Langsdorf) [2067280] - driver core: Refactor sysfs and drv/bus remove hooks (Mark Langsdorf) [2067280] - driver core: Refactor multiple copies of device cleanup (Mark Langsdorf) [2067280] - arch_topology: obtain cpu capacity using information from CPPC (Mark Langsdorf) [2067280] - PM: core: keep irq flags in device_pm_check_callbacks() (Mark Langsdorf) [2067280] - PM: sleep: Add device name to suspend_report_result() (Mark Langsdorf) [2067280] - PM: runtime: Have devm_pm_runtime_enable() handle pm_runtime_dont_use_autosuspend() (Mark Langsdorf) [2067280] - PM: sleep: wakeup: Fix typos in comments (Mark Langsdorf) [2067280] - PM: domains: Fix sleep-in-atomic bug caused by genpd_debug_remove() (Mark Langsdorf) [2067280] - PM: domains: use dev_err_probe() to simplify error handling (Mark Langsdorf) [2067280] - PM: domains: Prevent power off for parent unless child is in deepest state (Mark Langsdorf) [2067280] - driver core: cleanup double words comments (Mark Langsdorf) [2067280] - device property: Don't split fwnode_get_irq*() APIs in the code (Mark Langsdorf) [2067280] - regmap: irq: cleanup comments (Mark Langsdorf) [2067280] - platform: use dev_err_probe() in platform_get_irq_byname() (Mark Langsdorf) [2067280] - devtmpfs: drop redundant fs parameters from internal fs (Mark Langsdorf) [2067280] - component: Replace most references to 'master' with 'aggregate device' (Mark Langsdorf) [2067280] - device property: Add fwnode_irq_get_byname (Mark Langsdorf) [2067280] - regmap-irq: Fix typo in comment (Mark Langsdorf) [2067280] - driver core: Free DMA range map when device is released (Mark Langsdorf) [2067280] - regmap-irq: Update interrupt clear register for proper reset (Mark Langsdorf) [2067280] - PM: s2idle: ACPI: Fix wakeup interrupts handling (Mark Langsdorf) [2067280] - devtmpfs regression fix: reconfigure on each mount (Mark Langsdorf) [2067280] - regmap: debugfs: Fix indentation (Mark Langsdorf) [2067280] - regmap: Call regmap_debugfs_exit() prior to _init() (Mark Langsdorf) [2067280] - driver core: Make bus notifiers in right order in really_probe() (Mark Langsdorf) [2067280] - driver core: Move driver_sysfs_remove() after driver_sysfs_add() (Mark Langsdorf) [2067280] - driver core: Simplify async probe test code by using ktime_ms_delta() (Mark Langsdorf) [2067280] - PM: runtime: Simplify locking in pm_runtime_put_suppliers() (Mark Langsdorf) [2067280] - software node: fix wrong node passed to find nargs_prop (Mark Langsdorf) [2067280] - driver core: platform: document registration-failure requirement (Mark Langsdorf) [2067280] - device property: Add fwnode_iomap() (Mark Langsdorf) [2067280] - device property: Use fwnode_graph_for_each_endpoint() macro (Mark Langsdorf) [2067280] - device property: Implement fwnode_graph_get_endpoint_count() (Mark Langsdorf) [2067280] - device property: Fix documentation for FWNODE_GRAPH_DEVICE_DISABLED (Mark Langsdorf) [2067280] - rtc: Check return value from mc146818_get_time() (Mark Langsdorf) [2067280] - device property: Check fwnode->secondary when finding properties (Mark Langsdorf) [2067280] - topology/sysfs: rework book and drawer topology ifdefery (Mark Langsdorf) [2067280] - topology/sysfs: export cluster attributes only if an architectures has support (Mark Langsdorf) [2067280] - topology/sysfs: export die attributes only if an architectures has support (Mark Langsdorf) [2067280] - driver core: Don't call device_remove_properties() from device_del() (Mark Langsdorf) [2067280] - regmap: allow to define reg_update_bits for no bus configuration (Mark Langsdorf) [2067280] - platform/x86: amd-pmc: Set QOS during suspend on CZN w/ timer wakeup (Mark Langsdorf) [2067250] - PM: sleep: Fix error handling in dpm_prepare() (Mark Langsdorf) [2067250] - PM: sleep: Avoid calling put_device() under dpm_list_mtx (Mark Langsdorf) [2067250] - PM: sleep: Fix runtime PM based cpuidle support (Mark Langsdorf) [2067250] - PM / wakeirq: support enabling wake-up irq after runtime_suspend called (Mark Langsdorf) [2067250] - device property: Drop redundant NULL checks (Mark Langsdorf) [2067250] - PM: sleep: Pause cpuidle later and resume it earlier during system transitions (Mark Langsdorf) [2067250] - PM: suspend: Do not pause cpuidle in the suspend-to-idle path (Mark Langsdorf) [2067250] - regmap: spi: Set regmap max raw r/w from max_transfer_size (Mark Langsdorf) [2067250] - PM: sleep: Do not let "syscore" devices runtime-suspend during system transitions (Mark Langsdorf) [2067250] - component: do not leave master devres group open after bind (Mark Langsdorf) [2067250] - driver core: Provide device_match_acpi_handle() helper (Mark Langsdorf) [2067250] - regmap: Fix possible double-free in regcache_rbtree_exit() (Mark Langsdorf) [2067250] - device property: build kunit tests without structleak plugin (Mark Langsdorf) [2067250] - driver core: Reject pointless SYNC_STATE_ONLY device links (Mark Langsdorf) [2067250] - firmware_loader: add a sanity check for firmware_request_builtin() (Mark Langsdorf) [2067250] - firmware_loader: split built-in firmware call (Mark Langsdorf) [2067250] - firmware_loader: fix pre-allocated buf built-in firmware use (Mark Langsdorf) [2067250] - drivers/base/component.c: remove superfluous header files from component.c (Mark Langsdorf) [2067250] - drivers/base/arch_topology.c: remove superfluous header (Mark Langsdorf) [2067250] - driver core: use NUMA_NO_NODE during device_initialize (Mark Langsdorf) [2067250] - driver core: Fix possible memory leak in device_link_add() (Mark Langsdorf) [2067250] - driver core: Add debug logs when fwnode links are added/deleted (Mark Langsdorf) [2067250] - driver core: Create __fwnode_link_del() helper function (Mark Langsdorf) [2067250] - driver core: Set deferred probe reason when deferred by driver core (Mark Langsdorf) [2067250] - driver core: fw_devlink: Add support for FWNODE_FLAG_NEEDS_CHILD_BOUND_ON_ADD (Mark Langsdorf) [2067250] - driver core: Clarify that dev_err_probe() is OK even w/out -EPROBE_DEFER (Mark Langsdorf) [2067250] - driver core: fw_devlink: Improve handling of cyclic dependencies (Mark Langsdorf) [2067250] - software node: balance refcount for managed software nodes (Mark Langsdorf) [2067250] - driver core: platform: Make use of the helper macro SET_RUNTIME_PM_OPS() (Mark Langsdorf) [2067250] - PM: base: power: don't try to use non-existing RTC for storing data (Mark Langsdorf) [2067250] - PM: sleep: core: Avoid setting power.must_resume to false (Mark Langsdorf) [2067250] - PM: sleep: wakeirq: drop useless parameter from dev_pm_attach_wake_irq() (Mark Langsdorf) [2067250] - PM: domains: Fix domain attach for CONFIG_PM_OPP=n (Mark Langsdorf) [2067250] - PM: runtime: add devm_pm_clk_create helper (Mark Langsdorf) [2067250] - PM: runtime: add devm_pm_runtime_enable helper (Mark Langsdorf) [2067250] - regmap: teach regmap to use raw spinlocks if requested in the config (Mark Langsdorf) [2067250] - PM: domains: Add support for 'required-opps' to set default perf state (Mark Langsdorf) [2067250] - Revert "media: device property: Call fwnode_graph_get_endpoint_by_id() for fwnode->secondary" (Mark Langsdorf) [2067250] - driver: base: Prefer unsigned int to bare use of unsigned (Mark Langsdorf) [2067250] - cacheinfo: clear cache_leaves(cpu) in free_cache_attributes() (Mark Langsdorf) [2067250] - driver core: Fix error return code in really_probe() (Mark Langsdorf) [2067250] - driver: base: Replace symbolic permissions with octal permissions (Mark Langsdorf) [2067250] - regmap: Prefer unsigned int to bare use of unsigned (Mark Langsdorf) [2067250] - regmap: fix the offset of register error log (Mark Langsdorf) [2067250] - bpf: Fix request_sock leak in sk lookup helpers (Antoine Tenart) [2085313] - crypto: fips - make proc files report fips module name and version (Vladis Dronov) [2103966] - net: tipc: fix possible refcount leak in tipc_sk_create() (Xin Long) [2106048] - tipc: move bc link creation back to tipc_node_create (Xin Long) [2106048] - tipc: fix use-after-free Read in tipc_named_reinit (Xin Long) [2106048] - tipc: check attribute length for bearer name (Xin Long) [2106048] - ice: Fix memory corruption in VF driver (Petr Oros) [2037937] - ice: Fix queue config fail handling (Petr Oros) [2037937] - ice: Sync VLAN filtering features for DVM (Petr Oros) [2037937] - ice: Fix PTP TX timestamp offset calculation (Petr Oros) [2037937] - ice: Fix interrupt moderation settings getting cleared (Petr Oros) [2037937] - ice: fix possible under reporting of ethtool Tx and Rx statistics (Petr Oros) [2037937] - ice: allow creating VFs for !CONFIG_NET_SWITCHDEV (Petr Oros) [2037937] - ice: add trace events for tx timestamps (Petr Oros) [2037937] - ice: fix return value check in ice_gnss.c (Petr Oros) [2037937] - ice: remove PF pointer from ice_check_vf_init (Petr Oros) [2037937] - ice: introduce ice_virtchnl.c and ice_virtchnl.h (Petr Oros) [2037937] - ice: cleanup long lines in ice_sriov.c (Petr Oros) [2037937] - ice: introduce ICE_VF_RESET_LOCK flag (Petr Oros) [2037937] - ice: introduce ICE_VF_RESET_NOTIFY flag (Petr Oros) [2037937] - ice: convert ice_reset_vf to take flags (Petr Oros) [2037937] - ice: convert ice_reset_vf to standard error codes (Petr Oros) [2037937] - ice: make ice_reset_all_vfs void (Petr Oros) [2037937] - ice: drop is_vflr parameter from ice_reset_all_vfs (Petr Oros) [2037937] - ice: move reset functionality into ice_vf_lib.c (Petr Oros) [2037937] - ice: fix a long line warning in ice_reset_vf (Petr Oros) [2037937] - ice: introduce VF operations structure for reset flows (Petr Oros) [2037937] - ice: fix incorrect dev_dbg print mistaking 'i' for vf->vf_id (Petr Oros) [2037937] - ice: introduce ice_vf_lib.c, ice_vf_lib.h, and ice_vf_lib_private.h (Petr Oros) [2037937] - ice: use ice_is_vf_trusted helper function (Petr Oros) [2037937] - ice: log an error message when eswitch fails to configure (Petr Oros) [2037937] - ice: cleanup error logging for ice_ena_vfs (Petr Oros) [2037937] - ice: move ice_set_vf_port_vlan near other .ndo ops (Petr Oros) [2037937] - ice: refactor spoofchk control code in ice_sriov.c (Petr Oros) [2037937] - ice: rename ICE_MAX_VF_COUNT to avoid confusion (Petr Oros) [2037937] - ice: remove unused definitions from ice_sriov.h (Petr Oros) [2037937] - ice: convert vf->vc_ops to a const pointer (Petr Oros) [2037937] - ice: remove circular header dependencies on ice.h (Petr Oros) [2037937] - ice: rename ice_virtchnl_pf.c to ice_sriov.c (Petr Oros) [2037937] - ice: rename ice_sriov.c to ice_vf_mbx.c (Petr Oros) [2037937] - ice: Fix FV offset searching (Petr Oros) [2037937] - ice: Add support for outer dest MAC for ADQ tunnels (Petr Oros) [2037937] - ice: avoid XDP checks in ice_clean_tx_irq() (Petr Oros) [2037937] - ice: change "can't set link" message to dbg level (Petr Oros) [2037937] - ice: Add slow path offload stats on port representor in switchdev (Petr Oros) [2037937] - ice: Add support for inner etype in switchdev (Petr Oros) [2037937] - ice: convert VF storage to hash table with krefs and RCU (Petr Oros) [2037937] - ice: introduce VF accessor functions (Petr Oros) [2037937] - ice: factor VF variables to separate structure (Petr Oros) [2037937] - ice: convert ice_for_each_vf to include VF entry iterator (Petr Oros) [2037937] - ice: use ice_for_each_vf for iteration during removal (Petr Oros) [2037937] - ice: remove checks in ice_vc_send_msg_to_vf (Petr Oros) [2037937] - ice: move VFLR acknowledge during ice_free_vfs (Petr Oros) [2037937] - ice: move clear_malvf call in ice_free_vfs (Petr Oros) [2037937] - ice: pass num_vfs to ice_set_per_vf_res() (Petr Oros) [2037937] - ice: store VF pointer instead of VF ID (Petr Oros) [2037937] - ice: refactor unwind cleanup in eswitch mode (Petr Oros) [2037937] - ice: add TTY for GNSS module for E810T device (Petr Oros) [2037937] - ice: Simplify tracking status of RDMA support (Petr Oros) [2037937] - ice: Add ability for PF admin to enable VF VLAN pruning (Petr Oros) [2037937] - ice: Add support for 802.1ad port VLANs VF (Petr Oros) [2037937] - ice: Advertise 802.1ad VLAN filtering and offloads for PF netdev (Petr Oros) [2037937] - ice: Support configuring the device to Double VLAN Mode (Petr Oros) [2037937] - ice: Add support for VIRTCHNL_VF_OFFLOAD_VLAN_V2 (Petr Oros) [2037937] - ice: Add hot path support for 802.1Q and 802.1ad VLAN offloads (Petr Oros) [2037937] - ice: Add outer_vlan_ops and VSI specific VLAN ops implementations (Petr Oros) [2037937] - ice: Adjust naming for inner VLAN operations (Petr Oros) [2037937] - ice: Use the proto argument for VLAN ops (Petr Oros) [2037937] - ice: Refactor vf->port_vlan_info to use ice_vlan (Petr Oros) [2037937] - ice: Introduce ice_vlan struct (Petr Oros) [2037937] - ice: Add new VSI VLAN ops (Petr Oros) [2037937] - ice: Add helper function for adding VLAN 0 (Petr Oros) [2037937] - ice: Refactor spoofcheck configuration functions (Petr Oros) [2037937] - Revert "ice: Allow to pass VLAN tagged packets to VF when port VLAN is configured" (Petr Oros) [2037937] - Revert "ice: Do not enable VLAN pruning when spoofchk is enabled" (Petr Oros) [2037937] - ice: Remove likely for napi_complete_done (Petr Oros) [2037937] - ice: add support for DSCP QoS for IDC (Petr Oros) [2037937] - ice: respect metadata on XSK Rx to skb (Petr Oros) [2037937] - ice: don't reserve excessive XDP_PACKET_HEADROOM on XSK Rx to skb (Petr Oros) [2037937] - ice: respect metadata in legacy-rx/ice_construct_skb() (Petr Oros) [2037937] - ice: Fix broken IFF_ALLMULTI handling (Petr Oros) [2037937]- i40e: Fix call trace in setup_tx_descriptors (Ivan Vecera) [2037943] - i40e: Fix calculating the number of queue pairs (Ivan Vecera) [2037943] - i40e: Fix adding ADQ filter to TC0 (Ivan Vecera) [2037943] - i40e: i40e_main: fix a missing check on list iterator (Ivan Vecera) [2037943] - i40e, xsk: Get rid of redundant 'fallthrough' (Ivan Vecera) [2037943] - i40e, xsk: Diversify return values from xsk_wakeup call paths (Ivan Vecera) [2037943] - i40e, xsk: Terminate Rx side of NAPI when XSK Rx queue gets full (Ivan Vecera) [2037943] - i40e: Add Ethernet Connection X722 for 10GbE SFP+ support (Ivan Vecera) [2037943] - i40e: Add vsi.tx_restart to i40e ethtool stats (Ivan Vecera) [2037943] - i40e: Add tx_stopped stat (Ivan Vecera) [2037943] - i40e: Add support for MPLS + TSO (Ivan Vecera) [2037943] - i40e: little endian only valid checksums (Ivan Vecera) [2037943] - i40e: stop disabling VFs due to PF error responses (Ivan Vecera) [2037943] - i40e: remove dead stores on XSK hotpath (Ivan Vecera) [2037943] - i40e: Add a stat for tracking busy rx pages (Ivan Vecera) [2037943] - i40e: Add a stat for tracking pages waived (Ivan Vecera) [2037943] - i40e: Add a stat tracking new RX page allocations (Ivan Vecera) [2037943] - i40e: Aggregate and export RX page reuse stat (Ivan Vecera) [2037943] - i40e: Remove rx page reuse double count (Ivan Vecera) [2037943] - i40e: Fix race condition while adding/deleting MAC/VLAN filters (Ivan Vecera) [2037943] - i40e: Add new version of i40e_aq_add_macvlan function (Ivan Vecera) [2037943] - i40e: Add new versions of send ASQ command functions (Ivan Vecera) [2037943] - i40e: Add sending commands in atomic context (Ivan Vecera) [2037943] - i40e: Remove unused RX realloc stat (Ivan Vecera) [2037943] - i40e: Disable hw-tc-offload feature on driver load (Ivan Vecera) [2037943] - i40e: Fix reset path while removing the driver (Ivan Vecera) [2037943] - i40e: respect metadata on XSK Rx to skb (Ivan Vecera) [2037943] - i40e: don't reserve excessive XDP_PACKET_HEADROOM on XSK Rx to skb (Ivan Vecera) [2037943] - i40e: Remove useless DMA-32 fallback configuration (Ivan Vecera) [2037943] - i40e: fix unsigned stat widths (Ivan Vecera) [2037943] - i40e: Fix for failed to init adminq while VF reset (Ivan Vecera) [2037943] - i40e: Fix queues reservation for XDP (Ivan Vecera) [2037943] - i40e: Fix issue when maximum queues is exceeded (Ivan Vecera) [2037943] - i40e: Increase delay to 1 s after global EMP reset (Ivan Vecera) [2037943] - i40e: remove variables set but not used (Ivan Vecera) [2037943] - i40e: Remove non-inclusive language (Ivan Vecera) [2037943] - i40e: Update FW API version (Ivan Vecera) [2037943] - i40e: Minimize amount of busy-waiting during AQ send (Ivan Vecera) [2037943] - i40e: Add ensurance of MacVlan resources for every trusted VF (Ivan Vecera) [2037943] - i40e: Fix incorrect netdev's real number of RX/TX queues (Ivan Vecera) [2037943] - i40e: Fix for displaying message regarding NVM version (Ivan Vecera) [2037943] - i40e: fix use-after-free in i40e_sync_filters_subtask() (Ivan Vecera) [2037943] - i40e: Fix to not show opcode msg on unsuccessful VF MAC change (Ivan Vecera) [2037943] - i40e: switch to napi_build_skb() (Ivan Vecera) [2037943] - i40e: Use irq_update_affinity_hint() (Ivan Vecera) [2037943] - mptcp: fix race on unaccepted mptcp sockets (Davide Caratti) [2076971] - mptcp: fix local endpoint accounting (Davide Caratti) [2076971] - mptcp: fix race in overlapping signal events (Davide Caratti) [2076971] - mptcp: fix subflow accounting on close (Davide Caratti) [2076971] - mptcp: introduce implicit endpoints (Davide Caratti) [2076971] - mptcp: constify a bunch of of helpers (Davide Caratti) [2076971] - mptcp: drop port parameter of mptcp_pm_add_addr_signal (Davide Caratti) [2076971] - mptcp: fix removing ids bitmap setting (Davide Caratti) [2076971] - selftests: mptcp: be more conservative with cookie MPJ limits (Davide Caratti) [2076971] - selftests: mptcp: more robust signal race test (Davide Caratti) [2076971] - mptcp: cleanup MPJ subflow list handling (Davide Caratti) [2076971] - mptcp: do not block subflows creation on errors (Davide Caratti) [2076971] - mptcp: keep track of local endpoint still available for each msk (Davide Caratti) [2076971] - mptcp: clean up harmless false expressions (Davide Caratti) [2076971] - mptcp: fix per socket endpoint accounting (Davide Caratti) [2076971] - selftests: mptcp: add fullmesh testcases (Davide Caratti) [2076971] - selftests: mptcp: set and print the fullmesh flag (Davide Caratti) [2076971] - mptcp: local addresses fullmesh (Davide Caratti) [2076971] - mptcp: remote addresses fullmesh (Davide Caratti) [2076971] - mptcp: remove MPTCP_ADD_ADDR_IPV6 and MPTCP_ADD_ADDR_PORT (Davide Caratti) [2076971] - mptcp: build ADD_ADDR/echo-ADD_ADDR option according pm.add_signal (Davide Caratti) [2076971] - mptcp: fix ADD_ADDR and RM_ADDR maybe flush addr_signal each other (Davide Caratti) [2076971] - mptcp: make MPTCP_ADD_ADDR_SIGNAL and MPTCP_ADD_ADDR_ECHO separate (Davide Caratti) [2076971] - mptcp: move drop_other_suboptions check under pm lock (Davide Caratti) [2076971] - mptcp: drop flags and ifindex arguments (Davide Caratti) [2076971] - mptcp: allow to use port and non-signal in set_flags (Davide Caratti) [2076971] - NFSv4.1 support for NFS4_RESULT_PRESERVER_UNLINKED (Scott Mayhew) [2066369] - KVM: selftests: get-reg-list: Add KVM_REG_ARM_FW_REG(3) (Chris von Recklinghausen) [2062287] {CVE-2022-23960} - arm64: proton-pack: Include unprivileged eBPF status in Spectre v2 miti (Chris von Recklinghausen) [2062287] {CVE-2022-23960} - arm64: Use the clearbhb instruction in mitigations (Chris von Recklinghausen) [2062287] {CVE-2022-23960} - arm64: add ID_AA64ISAR2_EL1 sys register (Chris von Recklinghausen) [2062287] {CVE-2022-23960} - KVM: arm64: Allow SMCCC_ARCH_WORKAROUND_3 to be discovered and migrated (Chris von Recklinghausen) [2062287] {CVE-2022-23960} - arm64: Mitigate spectre style branch history side channels (Chris von Recklinghausen) [2062287] {CVE-2022-23960} - KVM: arm64: Add templates for BHB mitigation sequences (Chris von Recklinghausen) [2062287] {CVE-2022-23960} - arm64: proton-pack: Report Spectre-BHB vulnerabilities as part of Spect (Chris von Recklinghausen) [2062287] {CVE-2022-23960} - arm64: Add percpu vectors for EL1 (Chris von Recklinghausen) [2062287] {CVE-2022-23960} - arm64: entry: Add macro for reading symbol addresses from the trampolin (Chris von Recklinghausen) [2062287] {CVE-2022-23960} - arm64: entry: Add vectors that have the bhb mitigation sequences (Chris von Recklinghausen) [2062287] {CVE-2022-23960} - arm64: entry: Add non-kpti __bp_harden_el1_vectors for mitigations (Chris von Recklinghausen) [2062287] {CVE-2022-23960} - arm64: entry: Allow the trampoline text to occupy multiple pages (Chris von Recklinghausen) [2062287] {CVE-2022-23960} - arm64: entry: Make the kpti trampoline's kpti sequence optional (Chris von Recklinghausen) [2062287] {CVE-2022-23960} - arm64: entry: Move trampoline macros out of ifdef'd section (Chris von Recklinghausen) [2062287] {CVE-2022-23960} - arm64: entry: Don't assume tramp_vectors is the start of the vectors (Chris von Recklinghausen) [2062287] {CVE-2022-23960} - arm64: entry: Allow tramp_alias to access symbols after the 4K boundary (Chris von Recklinghausen) [2062287] {CVE-2022-23960} - arm64: entry: Move the trampoline data page before the text page (Chris von Recklinghausen) [2062287] {CVE-2022-23960} - arm64: entry: Free up another register on kpti's tramp_exit path (Chris von Recklinghausen) [2062287] {CVE-2022-23960} - arm64: entry: Make the trampoline cleanup optional (Chris von Recklinghausen) [2062287] {CVE-2022-23960} - arm64: entry.S: Add ventry overflow sanity checks (Chris von Recklinghausen) [2062287] {CVE-2022-23960} - arm64: Add Cortex-X2 CPU part definition (Chris von Recklinghausen) [2062287] {CVE-2022-23960} - arm64: Add Neoverse-N2, Cortex-A710 CPU part definition (Chris von Recklinghausen) [2062287] {CVE-2022-23960} - arm64: syscall: exit userspace before unmasking exceptions (Chris von Recklinghausen) [2062287] {CVE-2022-23960} - arm64: ptrace: Consistently use pseudo-singlestep exceptions (Chris von Recklinghausen) [2062287] {CVE-2022-23960} - ethtool: Fix get module eeprom fallback (Ivan Vecera) [2091772] - xfs: use setattr_copy to set vfs inode attributes (Andrey Albershteyn) [2085622] - xfs: ensure log flush at the end of a synchronous fallocate call (Andrey Albershteyn) [2085622] - xfs: set prealloc flag in xfs_alloc_file_space() (Andrey Albershteyn) [2085622] - xfs: fallocate() should call file_modified() (Andrey Albershteyn) [2085622] - xfs: remove XFS_PREALLOC_SYNC (Andrey Albershteyn) [2085622] - drm/ast: Fix black screen when getting out of suspend (Jocelyn Falempe) [2097492] - drm/ast: Create the driver for ASPEED proprietory Display-Port (Jocelyn Falempe) [2097492] - x86: change default to spec_store_bypass_disable=prctl spectre_v2_user=prctl (Waiman Long) [2101938] - x86/speculation/mmio: Print SMT warning (Waiman Long) [2090252] {CVE-2022-21123 CVE-2022-21125 CVE-2022-21166} - KVM: x86/speculation: Disable Fill buffer clear within guests (Waiman Long) [2090252] {CVE-2022-21123 CVE-2022-21125 CVE-2022-21166} - x86/speculation/mmio: Reuse SRBDS mitigation for SBDS (Waiman Long) [2090252] {CVE-2022-21123 CVE-2022-21125 CVE-2022-21166} - x86/speculation/srbds: Update SRBDS mitigation selection (Waiman Long) [2090252] {CVE-2022-21123 CVE-2022-21125 CVE-2022-21166} - x86/speculation/mmio: Add sysfs reporting for Processor MMIO Stale Data (Waiman Long) [2090252] {CVE-2022-21123 CVE-2022-21125 CVE-2022-21166} - x86/speculation/mmio: Enable CPU Fill buffer clearing on idle (Waiman Long) [2090252] {CVE-2022-21123 CVE-2022-21125 CVE-2022-21166} - x86/bugs: Group MDS, TAA & Processor MMIO Stale Data mitigations (Waiman Long) [2090252] {CVE-2022-21123 CVE-2022-21125 CVE-2022-21166} - x86/speculation/mmio: Add mitigation for Processor MMIO Stale Data (Waiman Long) [2090252] {CVE-2022-21123 CVE-2022-21125 CVE-2022-21166} - x86/speculation: Add a common function for MD_CLEAR mitigation update (Waiman Long) [2090252] {CVE-2022-21123 CVE-2022-21125 CVE-2022-21166} - x86/speculation/mmio: Enumerate Processor MMIO Stale Data bug (Waiman Long) [2090252] {CVE-2022-21123 CVE-2022-21125 CVE-2022-21166} - Documentation: Add documentation for Processor MMIO Stale Data (Waiman Long) [2090252] {CVE-2022-21123 CVE-2022-21125 CVE-2022-21166} - x86/tsx: Disable TSX development mode at boot (Waiman Long) [2090252] - x86/tsx: Use MSR_TSX_CTRL to clear CPUID bits (Waiman Long) [2090252] - x86/tsx: Clear CPUID bits when TSX always force aborts (Waiman Long) [2090252] - cpu/speculation: Add prototype for cpu_show_srbds() (Waiman Long) [2090252] - x86/cpu: Move arch_smt_update() to a neutral place (Waiman Long) [2090252] - serial: 8250_pci: rewrite pericom_do_set_divisor() (Myron Stowe) [2096364] - serial: 8250_pci: Fix ACCES entries in pci_serial_quirks array (Myron Stowe) [2096364] - serial: 8250_pci: Merge 8250_moxa to 8250_pci (Myron Stowe) [2096364] - serial: 8250: Use dev_get_drvdata where possible (Myron Stowe) [2096364] - serial: 8250: pericom_do_set_divisor can be static (Myron Stowe) [2096364] - serial: 8250: Add support for higher baud rates to Pericom chips (Myron Stowe) [2096364] - serial: 8250_pci: Have ACCES cards that use the four port Pericom PI7C9X7954 chip use the pci_pericom_setup() (Myron Stowe) [2096364] - serial: 8250_pci: Fix number of ports for ACCES serial cards (Myron Stowe) [2096364] - serial: 8250_pci: Replace custom code with pci_match_id() (Myron Stowe) [2096364] - net/sched: act_police: more accurate MTU policing (Davide Caratti) [2100893] - selinux: initialize proto variable in selinux_ip_postroute_compat() (Ondrej Mosnacek) [2005892] - selinux: fix a sock regression in selinux_ip_postroute_compat() (Ondrej Mosnacek) [2005892] - LSM: Avoid warnings about potentially unused hook variables (Ondrej Mosnacek) [2005892] - selinux: fix all of the W=1 build warnings (Ondrej Mosnacek) [2005892] - selinux: make better use of the nf_hook_state passed to the NF hooks (Ondrej Mosnacek) [2005892] - selinux: fix race condition when computing ocontext SIDs (Ondrej Mosnacek) [2005892 1969344] - selinux: remove unneeded ipv6 hook wrappers (Ondrej Mosnacek) [2005892] - lsm_audit: avoid overloading the "key" audit field (Ondrej Mosnacek) [2005892] - security: remove unneeded subdir-$(CONFIG_...) (Ondrej Mosnacek) [2005892] - selinux: return early for possible NULL audit buffers (Ondrej Mosnacek) [2005892] - selinux: correct the return value when loads initial sids (Ondrej Mosnacek) [2005892] - audit: remove unnecessary 'ret' initialization (Ondrej Mosnacek) [2005892] - selinux: kill 'flags' argument in avc_has_perm_flags() and avc_audit() (Ondrej Mosnacek) [2005892] - selinux: slow_avc_audit has become non-blocking (Ondrej Mosnacek) [2005892] - selinux: Fix kernel-doc (Ondrej Mosnacek) [2005892] - selinux: use __GFP_NOWARN with GFP_NOWAIT in the AVC (Ondrej Mosnacek) [2005892] - lsm_audit,selinux: pass IB device name by reference (Ondrej Mosnacek) [2005892] - selinux: Remove redundant assignment to rc (Ondrej Mosnacek) [2005892] - selinux: Corrected comment to match kernel-doc comment (Ondrej Mosnacek) [2005892] - selinux: delete selinux_xfrm_policy_lookup() useless argument (Ondrej Mosnacek) [2005892] - selinux: constify some avtab function arguments (Ondrej Mosnacek) [2005892] - selinux: simplify duplicate_policydb_cond_list() by using kmemdup() (Ondrej Mosnacek) [2005892] - selinux: add proper NULL termination to the secclass_map permissions (Ondrej Mosnacek) [2005892] - security: commoncap: clean up kernel-doc comments (Ondrej Mosnacek) [2005892] - security: commoncap: fix -Wstringop-overread warning (Ondrej Mosnacek) [2005892] - selinux: fix misspellings using codespell tool (Ondrej Mosnacek) [2005892] - selinux: fix misspellings using codespell tool (Ondrej Mosnacek) [2005892] - ext4: mballoc: Use this_cpu_read instead of this_cpu_ptr (Lukas Czerner) [2102619] - ext4: add reserved GDT blocks check (Lukas Czerner) [2099702] - ext4: make variable "count" signed (Lukas Czerner) [2099702] - ext4: fix bug_on ext4_mb_use_inode_pa (Lukas Czerner) [2099702] - ext4: fix super block checksum incorrect after mount (Lukas Czerner) [2099702] - ext4: fix bug_on in __es_tree_search (Lukas Czerner) [2099702] - ext4: avoid cycles in directory h-tree (Lukas Czerner) [2099702] - ext4: verify dir block before splitting it (Lukas Czerner) [2099702] - ext4: fix bug_on in ext4_writepages (Lukas Czerner) [2099702] - ext4: reject the 'commit' option on ext2 filesystems (Lukas Czerner) [2099702] - ext4: fix use-after-free in ext4_rename_dir_prepare (Lukas Czerner) [2099702] - ext4: fix warning in ext4_handle_inode_extension (Lukas Czerner) [2099702]- i915: Explicitly #include (Michel Dänzer) [2041811] - i915: Use mdev_type_kobj_to_group_id instead of mtype_get_type_group_id (Michel Dänzer) [2041811] - drm/i915: #include for k(un)map APIs (Michel Dänzer) [2041811] - Revert "mm: remove the extra ZONE_DEVICE struct page refcount" (Michel Dänzer) [2041811] - Merge DRM changes from upstream v5.17..v5.18 (Michel Dänzer) [2041811] - iosys-map: Add a few more helpers (Michel Dänzer) [2041811] - iosys-map: Add offset to iosys_map_memcpy_to() (Michel Dänzer) [2041811] - dma-buf-map: Rename to iosys-map (Michel Dänzer) [2041811] - Revert "drm/amdgpu/display: set vblank_disable_immediate for DC" (Michel Dänzer) [2041811] - Revert "drm: import DMA_BUF module namespace" (Michel Dänzer) [2041811] - drm/virtio: Do not use virtio_reset_device (Michel Dänzer) [2041811] - Merge DRM changes from upstream v5.16..v5.17 (Michel Dänzer) [2041811] - agp/intel-gtt: reduce intel-gtt dependencies more (Michel Dänzer) [2041811] - agp/intel-gtt: Replace kernel.h with the necessary inclusions (Michel Dänzer) [2041811] - x86/gpu: Reserve stolen memory for first integrated Intel GPU (Michel Dänzer) [2041811] - drm/i915/rpl-s: Add PCI IDS for Raptor Lake S (Michel Dänzer) [2041811] - drm/amdgpu: Use MCE_PRIO_FIRST instead of MCE_PRIO_UC (Michel Dänzer) [2041811] - Revert "drm/amdgpu: disable runpm if we are the primary adapter" (Michel Dänzer) [2041811] - Revert "treewide: Replace the use of mem_encrypt_active() with cc_platform_has()" (Michel Dänzer) [2041811] - Revert "dma-buf: move dma-buf symbols into the DMA_BUF module namespace" (Michel Dänzer) [2041811] - Revert "fix for "dma-buf: move dma-buf symbols into the DMA_BUF module namespace"" (Michel Dänzer) [2041811] - x86/MCE/AMD, EDAC/mce_amd: Support non-uniform MCA bank type enumeration (Michel Dänzer) [2041811] - Merge DRM changes from upstream v5.15..v5.16 (Michel Dänzer) [2041811] - drm/bochs: Explicitly #include (Michel Dänzer) [2041811] - Revert "gpu: Bulk conversion to generic_handle_domain_irq()" (Michel Dänzer) [2041811] - Revert "vfio/gvt: Fix open/close when multiple device FDs are open" (Michel Dänzer) [2041811] - drm: Drop linux/ prefix from stdarg.h include (Michel Dänzer) [2041811] - drm/i915: Convert to older tasklet API (Michel Dänzer) [2041811] - Merge DRM changes from upstream v5.14.21..v5.15 (Michel Dänzer) [2041811] - dma-buf: Fix kerneldoc comment for struct dma_fence_array (Michel Dänzer) [2041811] - Makefile: Add RHEL_DRM_EXTRAVERSION (Michel Dänzer) [2041811] - mei: me: add Alder Lake N device id. (Prarit Bhargava) [2072660] - pinctrl: alderlake: Fix register offsets for ADL-N variant (Prarit Bhargava) [2049965] - pinctrl: alderlake: Add Intel Alder Lake-N pin controller support (Prarit Bhargava) [2049965] - pinctrl: tigerlake: Revert "Add Alder Lake-M ACPI ID" (Prarit Bhargava) [2049965] - spi: pxa2xx: Add support for Intel Alder Lake PCH-M (Prarit Bhargava) [2089507] - RHEL-only: KVM: selftests: Compile rseq_test out on aarch64 (Eric Auger) [2078919] - KVM: arm64: Don't read a HW interrupt pending state in user context (Eric Auger) [2078919] - KVM: arm64: selftests: Add init ITS device test (Eric Auger) [2078919] - KVM: arm64: selftests: Add test for legacy GICv3 REDIST base partially above IPA range (Eric Auger) [2078919] - KVM: arm64: selftests: Add tests for GIC redist/cpuif partially above IPA range (Eric Auger) [2078919] - KVM: arm64: selftests: Add some tests for GICv2 in vgic_init (Eric Auger) [2078919] - KVM: arm64: selftests: Make vgic_init/vm_gic_create version agnostic (Eric Auger) [2078919] - KVM: arm64: selftests: Make vgic_init gic version agnostic (Eric Auger) [2078919] - KVM: arm64: vgic: Drop vgic_check_ioaddr() (Eric Auger) [2078919] - KVM: arm64: vgic-v3: Check ITS region is not above the VM IPA size (Eric Auger) [2078919] - KVM: arm64: vgic-v2: Check cpu interface region is not above the VM IPA size (Eric Auger) [2078919] - KVM: arm64: vgic-v3: Check redist region is not above the VM IPA size (Eric Auger) [2078919] - kvm: arm64: vgic: Introduce vgic_check_iorange (Eric Auger) [2078919] - Revert "RHEL-only: KVM: selftests: Fix AArch64 compilation" (Eric Auger) [2078919] - selftests: KVM: Free the GIC FD when cleaning up in arch_timer (Eric Auger) [2078919] - selftests: KVM: Don't leak GIC FD across dirty log test iterations (Eric Auger) [2078919] - KVM: arm64: selftests: Introduce vcpu_width_config (Eric Auger) [2078919] - KVM: arm64: mixed-width check should be skipped for uninitialized vCPUs (Eric Auger) [2078919] - KVM: arm64: Generalise VM features into a set of flags (Eric Auger) [2078919] - KVM: selftests: aarch64: Skip tests if we can't create a vgic-v3 (Eric Auger) [2078919] - kvm: selftests: aarch64: use a tighter assert in vgic_poke_irq() (Eric Auger) [2078919] - kvm: selftests: aarch64: fix some vgic related comments (Eric Auger) [2078919] - kvm: selftests: aarch64: fix the failure check in kvm_set_gsi_routing_irqchip_check (Eric Auger) [2078919] - kvm: selftests: aarch64: pass vgic_irq guest args as a pointer (Eric Auger) [2078919] - kvm: selftests: aarch64: fix assert in gicv3_access_reg (Eric Auger) [2078919] - KVM: selftests: Add vgic initialization for dirty log perf test for ARM (Eric Auger) [2078919] - KVM: arm64: vgic: Read HW interrupt pending state from the HW (Eric Auger) [2078919] - KVM: arm64: Emulate the OS Lock (Eric Auger) [2078919] - KVM: arm64: Allow guest to set the OSLK bit (Eric Auger) [2078919] - KVM: arm64: Stash OSLSR_EL1 in the cpu context (Eric Auger) [2078919] - KVM: arm64: Correctly treat writes to OSLSR_EL1 as undefined (Eric Auger) [2078919] - KVM: arm64: vgic: Replace kernel.h with the necessary inclusions (Eric Auger) [2078919] - KVM: arm64: Fix comment typo in kvm_vcpu_finalize_sve() (Eric Auger) [2078919] - KVM: arm64: selftests: get-reg-list: Add pauth configuration (Eric Auger) [2078919] - KVM: selftests: aarch64: Add test for restoring active IRQs (Eric Auger) [2078919] - KVM: selftests: aarch64: Add ISPENDR write tests in vgic_irq (Eric Auger) [2078919] - KVM: selftests: aarch64: Add tests for IRQFD in vgic_irq (Eric Auger) [2078919] - KVM: selftests: Add IRQ GSI routing library functions (Eric Auger) [2078919] - KVM: selftests: aarch64: Add test_inject_fail to vgic_irq (Eric Auger) [2078919] - KVM: selftests: aarch64: Add tests for LEVEL_INFO in vgic_irq (Eric Auger) [2078919] - KVM: selftests: aarch64: Level-sensitive interrupts tests in vgic_irq (Eric Auger) [2078919] - KVM: selftests: aarch64: Add preemption tests in vgic_irq (Eric Auger) [2078919] - KVM: selftests: aarch64: Cmdline arg to set EOI mode in vgic_irq (Eric Auger) [2078919] - KVM: selftests: aarch64: Cmdline arg to set number of IRQs in vgic_irq test (Eric Auger) [2078919] - KVM: selftests: aarch64: Abstract the injection functions in vgic_irq (Eric Auger) [2078919] - KVM: selftests: aarch64: Add vgic_irq to test userspace IRQ injection (Eric Auger) [2078919] - KVM: selftests: aarch64: Add vGIC library functions to deal with vIRQ state (Eric Auger) [2078919] - KVM: selftests: Add kvm_irq_line library function (Eric Auger) [2078919] - KVM: selftests: aarch64: Add GICv3 register accessor library functions (Eric Auger) [2078919] - KVM: selftests: aarch64: Add function for accessing GICv3 dist and redist registers (Eric Auger) [2078919] - KVM: selftests: aarch64: Move gic_v3.h to shared headers (Eric Auger) [2078919] - KVM: selftests: arm64: Add support for various modes with 16kB page size (Eric Auger) [2078919] - KVM: selftests: arm64: Add support for VM_MODE_P36V48_{4K,64K} (Eric Auger) [2078919] - KVM: arm64: Fix comment on barrier in kvm_psci_vcpu_on() (Eric Auger) [2078919] - KVM: arm64: Fix comment for kvm_reset_vcpu() (Eric Auger) [2078919] - KVM: arm64: Use defined value for SCTLR_ELx_EE (Eric Auger) [2078919] - KVM: arm64: vgic: Demote userspace-triggered console prints to kvm_debug() (Eric Auger) [2078919] - KVM: arm64: Consolidate dist->ready setting into kvm_vgic_map_resources() (Eric Auger) [2078919] - arm64/kvm: Fix bitrotted comment for SVE handling in handle_exit.c (Eric Auger) [2078919] - KVM: arm64: Drop vcpu->arch.has_run_once for vcpu->pid (Eric Auger) [2078919] - KVM: arm64: Merge kvm_arch_vcpu_run_pid_change() and kvm_vcpu_first_run_init() (Eric Auger) [2078919] - KVM: arm64: Restructure the point where has_run_once is advertised (Eric Auger) [2078919] - KVM: arm64: Move kvm_arch_vcpu_run_pid_change() out of line (Eric Auger) [2078919] - KVM: arm64: Move SVE state mapping at HYP to finalize-time (Eric Auger) [2078919] - KVM: arm64: Move double-checked lock to kvm_vgic_map_resources() (Eric Auger) [2078919] - KVM: arm64: Constify kvm_io_gic_ops (Eric Auger) [2078919] - KVM: arm64: Avoid setting the upper 32 bits of TCR_EL2 and CPTR_EL2 to 1 (Eric Auger) [2078919] - selftests: KVM: Fix kvm device helper ioctl assertions (Eric Auger) [2078919] - ACPI: tables: Quiet ACPI table not found warning (Mark Langsdorf) [2067290] - ACPI/IORT: Check node revision for PMCG resources (Mark Langsdorf) [2067290] - PM: s2idle: ACPI: Fix wakeup interrupts handling (Mark Langsdorf) [2067290] - ACPI: PM: s2idle: Cancel wakeup before dispatching EC GPE (Mark Langsdorf) [2067290] - ACPI: PM: Revert "Only mark EC GPE for wakeup on Intel systems" (Mark Langsdorf) [2067290] - ACPI: require CRC32 to build (Mark Langsdorf) [2067290] - ACPI: DPTF: Support Raptor Lake (Mark Langsdorf) [2067290] - ACPI: scan: Rename label in acpi_scan_init() (Mark Langsdorf) [2067290] - ACPI: scan: Simplify initialization of power and sleep buttons (Mark Langsdorf) [2067290] - ACPI: scan: Change acpi_scan_init() return value type to void (Mark Langsdorf) [2067290] - ACPI: SPCR: check if table->serial_port.access_width is too wide (Mark Langsdorf) [2067290] - ACPI: APD: Check for NULL pointer after calling devm_ioremap() (Mark Langsdorf) [2067290] - ACPI: pfr_telemetry: Fix info leak in pfrt_log_ioctl() (Mark Langsdorf) [2067290] - ACPI: APD: Add a fmw property clk-name (Mark Langsdorf) [2067290] - ACPI: pfr_update: Fix return value check in pfru_write() (Mark Langsdorf) [2067290] - ACPI: processor: thermal: avoid cpufreq_get_policy() (Mark Langsdorf) [2067290] - ACPI / x86: Add acpi_quirk_skip_[i2c_client|serdev]_enumeration() helpers (Mark Langsdorf) [2067290] - ACPI: battery: Add the ThinkPad "Not Charging" quirk (Mark Langsdorf) [2067290] - acpi: Store CRC-32 hash of the _PLD in struct acpi_device (Mark Langsdorf) [2067290] - acpi: Export acpi_bus_type (Mark Langsdorf) [2067290] - ACPI: sysfs: use default_groups in kobj_type (Mark Langsdorf) [2067290] - ACPI: Introduce Platform Firmware Runtime Telemetry driver (Mark Langsdorf) [2067290] - ACPI: Introduce Platform Firmware Runtime Update device driver (Mark Langsdorf) [2067290] - efi: Introduce EFI_FIRMWARE_MANAGEMENT_CAPSULE_HEADER and corresponding structures (Mark Langsdorf) [2067290] - ACPICA: Update version to 20211217 (Mark Langsdorf) [2067290] - ACPICA: iASL/NHLT table: "Specific Data" field support (Mark Langsdorf) [2067290] - ACPICA: iASL: Add suppport for AGDI table (Mark Langsdorf) [2067290] - ACPICA: iASL: Add TDEL table to both compiler/disassembler (Mark Langsdorf) [2067290] - ACPICA: Fixed a couple of warnings under MSVC (Mark Langsdorf) [2067290] - ACPICA: Change a return_ACPI_STATUS (AE_BAD_PARAMETER) (Mark Langsdorf) [2067290] - ACPICA: Hardware: Do not flush CPU cache when entering S4 and S5 (Mark Langsdorf) [2067290] - ACPICA: Add support for PCC Opregion special context data (Mark Langsdorf) [2067290] - ACPICA: Fix wrong interpretation of PCC address (Mark Langsdorf) [2067290] - ACPICA: Executer: Fix the REFCLASS_REFOF case in acpi_ex_opcode_1A_0T_1R() (Mark Langsdorf) [2067290] - ACPICA: Utilities: Avoid deleting the same object twice in a row (Mark Langsdorf) [2067290] - ACPICA: Fix AEST Processor generic resource substructure data field byte length (Mark Langsdorf) [2067290] - ACPICA: iASL/Disassembler: Additional support for NHLT table (Mark Langsdorf) [2067290] - ACPICA: Avoid subobject buffer overflow when validating RSDP signature (Mark Langsdorf) [2067290] - ACPICA: Macros: Remove ACPI_PHYSADDR_TO_PTR (Mark Langsdorf) [2067290] - ACPICA: Use original pointer for virtual origin tables (Mark Langsdorf) [2067290] - ACPICA: Use original data_table_region pointer for accesses (Mark Langsdorf) [2067290] - ACPICA: actypes.h: Expand the ACPI_ACCESS_ definitions (Mark Langsdorf) [2067290] - ACPI: CPPC: Amend documentation in the comments (Mark Langsdorf) [2067290] - ACPI: NFIT: Import GUID before use (Mark Langsdorf) [2067290] - ACPI: PM: Remove redundant cache flushing (Mark Langsdorf) [2067290] - ACPI: Use acpi_fetch_acpi_dev() instead of acpi_bus_get_device() (Mark Langsdorf) [2067290] - ACPI: tables: Add AEST to the list of known table signatures (Mark Langsdorf) [2067290] - ACPI: PM: Avoid CPU cache flush when entering S4 (Mark Langsdorf) [2067290] - PM: hibernate: Allow ACPI hardware signature to be honoured (Mark Langsdorf) [2067290] - ACPI: PMIC: xpower: Fix _TMP ACPI errors (Mark Langsdorf) [2067290] - ACPI: PMIC: allow drivers to provide a custom lpat_raw_to_temp() function (Mark Langsdorf) [2067290] - ACPI: PMIC: constify all struct intel_pmic_opregion_data declarations (Mark Langsdorf) [2067290] - ACPI: EC: Mark the ec_sys write_support param as module_param_hw() (Mark Langsdorf) [2067290] - ACPI: EC: Relocate acpi_ec_create_query() and drop acpi_ec_delete_query() (Mark Langsdorf) [2067290] - ACPI: EC: Make the event work state machine visible (Mark Langsdorf) [2067290] - ACPI: EC: Avoid queuing unnecessary work in acpi_ec_submit_event() (Mark Langsdorf) [2067290] - ACPI: EC: Rename three functions (Mark Langsdorf) [2067290] - ACPI: EC: Simplify locking in acpi_ec_event_handler() (Mark Langsdorf) [2067290] - ACPI: EC: Rearrange the loop in acpi_ec_event_handler() (Mark Langsdorf) [2067290] - ACPI: EC: Fold acpi_ec_check_event() into acpi_ec_event_handler() (Mark Langsdorf) [2067290] - ACPI: EC: Pass one argument to acpi_ec_query() (Mark Langsdorf) [2067290] - ACPI: EC: Call advance_transaction() from acpi_ec_dispatch_gpe() (Mark Langsdorf) [2067290] - ACPI: EC: Rework flushing of EC work while suspended to idle (Mark Langsdorf) [2067290] - ACPI / x86: Add PWM2 on the Xiaomi Mi Pad 2 to the always_present list (Mark Langsdorf) [2067290] - ACPI / x86: Add not-present quirk for the PCI0.SDHB.BRC1 device on the GPD win (Mark Langsdorf) [2067290] - ACPI / x86: Allow specifying acpi_device_override_status() quirks by path (Mark Langsdorf) [2067290] - ACPI: Change acpi_device_always_present() into acpi_device_override_status() (Mark Langsdorf) [2067290] - ACPI / x86: Drop PWM2 device on Lenovo Yoga Book from always present table (Mark Langsdorf) [2067290] - ACPI: processor idle: Use swap() instead of open coding it (Mark Langsdorf) [2067290] - ACPI: processor: Replace kernel.h with the necessary inclusions (Mark Langsdorf) [2067290] - ACPI: DPTF: Update device ID in a comment (Mark Langsdorf) [2067290] - ACPI: PM: Emit debug messages when enabling/disabling wakeup power (Mark Langsdorf) [2067290] - ACPI: thermal: drop an always true check (Mark Langsdorf) [2067290] - ACPI: Add a context argument for table parsing handlers (Mark Langsdorf) [2067290] - ACPI: Teach ACPI table parsing about the CEDT header format (Mark Langsdorf) [2067290] - ACPI: Keep sub-table parsing infrastructure available for modules (Mark Langsdorf) [2067290] - cxgb4: fix wrong shift. (Raju Rangoju) [1977437] - cxgb4: fix wrong ethtool n-tuple rule lookup (Raju Rangoju) [1977437] - cxgb4: halt chip before flashing PHY firmware image (Raju Rangoju) [1977437] - cxgb4: fix sleep in atomic when flashing PHY firmware (Raju Rangoju) [1977437] - cxgb4: fix endianness when flashing boot image (Raju Rangoju) [1977437] - cxgb4: avoid link re-train during TC-MQPRIO configuration (Raju Rangoju) [1977437] - cxgb4: fix regression with HASH tc prio value update (Raju Rangoju) [1977437] - cxgb4: avoid accessing registers when clearing filters (Raju Rangoju) [1977437] - net:CXGB4: fix leak if sk_buff is not used (Raju Rangoju) [1977437] - cxgb4: Fix unintentional sign extension issues (Raju Rangoju) [1977437] - cxgb4: remove unneeded if-null-free check (Raju Rangoju) [1977437] - PCI: vmd: Assign VMD IRQ domain before enumeration (Myron Stowe) [2050850] - PCI: vmd: Prevent recursive locking on interrupt allocation (Myron Stowe) [2050850] - PCI: vmd: Add DID 8086:A77F for all Intel Raptor Lake SKU's (Myron Stowe) [2050850] - PCI: vmd: Honor ACPI _OSC on PCIe features (Myron Stowe) [2050850] - PCI: vmd: Clean up domain before enumeration (Myron Stowe) [2050850] - PCI: vmd: Use PCI_POSSIBLE_ERROR() to check config reads (Myron Stowe) [2050850] - PCI: Add PCI_ERROR_RESPONSE and related definitions (Myron Stowe) [2050850] - PCI: vmd: Drop redundant includes of , (Myron Stowe) [2050850] - PCI: vmd: Assign a number to each VMD controller (Myron Stowe) [2050850] - PCI: vmd: Disable MSI-X remapping when possible (Myron Stowe) [2050850] - PCI: vmd: Offset Client VMD MSI-X vectors (Myron Stowe) [2050850] - PCI: vmd: Use msi_msg shadow structs (Myron Stowe) [2050850] - Merge tag 'pci-v5.10-changes' of git://git.kernel.org/pub/scm/linux/kernel/g (Myron Stowe) [2050850] - PCI: vmd: Update VMD PM to correctly use generic PCI PM (Myron Stowe) [2050850] - PCI: vmd: Create IRQ allocation helper (Myron Stowe) [2050850] - PCI: vmd: Create IRQ Domain configuration helper (Myron Stowe) [2050850] - PCI: vmd: Create bus offset configuration helper (Myron Stowe) [2050850] - PCI: vmd: Create physical offset helper (Myron Stowe) [2050850] - PCI_vmd_Mark_VMD_irqdomain_with_DOMAIN_BUS_VMD_MSI (Myron Stowe) [2050850] - irqdomain/msi: Provide DOMAIN_BUS_VMD_MSI (Myron Stowe) [2050850] - PCI: vmd: Dont abuse vector irqomain as parent (Myron Stowe) [2050850] - PCI: designware-ep: Fix the Header Type check (Myron Stowe) [2050850] - PCI: vmd: Use Shadow MEMBAR registers for QEMU/KVM guests (Myron Stowe) [2050850] - PCI: vmd: Filter resource type bits from shadow register (Myron Stowe) [2050850] - PCI: Fix indentation (Myron Stowe) [2050850] - scsi: iscsi: Fix session removal on shutdown (Chris Leech) [2101760] - scsi: qedi: Use QEDI_MODE_NORMAL for error handling (Chris Leech) [2101760] - scsi: iscsi: Add helper to remove a session from the kernel (Chris Leech) [2101760] - scsi: iscsi: Clean up bound endpoints during shutdown (Chris Leech) [2101760] - scsi: iscsi: Allow iscsi_if_stop_conn() to be called from kernel (Chris Leech) [2101760] - scsi: iscsi: Fix HW conn removal use after free (Chris Leech) [2101760] - scsi: iscsi: Make iscsi_unregister_transport() return void (Chris Leech) [2101760] - scsi: core: iscsi: Directly use ida_alloc()/ida_free() (Chris Leech) [2101760] - scsi: iscsi: Exclude zero from the endpoint ID range (Chris Leech) [2101760] - scsi: iscsi: Fix harmless double shift bug (Chris Leech) [2101760] - scsi: libiscsi: Remove unnecessary memset() in iscsi_conn_setup() (Chris Leech) [2101760] - scsi: libiscsi: Teardown iscsi_cls_conn gracefully (Chris Leech) [2101760] - scsi: libiscsi: Add iscsi_cls_conn to sysfs after initialization (Chris Leech) [2101760] - scsi: iscsi: Add helper functions to manage iscsi_cls_conn (Chris Leech) [2101760] - scsi: iscsi: Drop temp workq_name (Chris Leech) [2101760] - scsi: iscsi: Use the session workqueue for recovery (Chris Leech) [2101760] - scsi: iscsi: ql4xxx: Use per-session workqueue for unbinding (Chris Leech) [2101760] - scsi: iscsi: Remove iscsi_scan_finished() (Chris Leech) [2101760] - scsi: libiscsi: Fix UAF in iscsi_conn_get_param()/iscsi_conn_teardown() (Chris Leech) [2101760] - scsi: libiscsi: Move ehwait initialization to iscsi_session_setup() (Chris Leech) [2101760] - x86/sme: Explicitly map new EFI memmap table as encrypted (Chris von Recklinghausen) [2091831] - x86/sme: Use #define USE_EARLY_PGTABLE_L5 in mem_encrypt_identity.c (Chris von Recklinghausen) [2091831] - efi/x86: Fix boot regression on systems with invalid memmap entries (Chris von Recklinghausen) [2091831] - efi: Add tracking for dynamically allocated memmaps (Chris von Recklinghausen) [2091831] - efi: Add a flags parameter to efi_memory_map (Chris von Recklinghausen) [2091831] - x86/kexec: fix memory leak of elf header buffer (Tao Liu) [2014945] - net: sched: add barrier to fix packet stuck problem for lockless qdisc (Davide Caratti) [2103025] - powercap: intel_rapl: add support for ALDERLAKE_N (David Arcari) [2096964] - clk: fix invalid usage of list cursor in unregister (David Arcari) [2105258] - clk: fix invalid usage of list cursor in register (David Arcari) [2105258] - powercap: intel_rapl: add support for RaptorLake (David Arcari) [2076724] - lib/math: move int_pow() from pwm_bl.c for wider use (Ivan Vecera) [2101700] - x86/fpu: KVM: Set the base guest FPU uABI size to sizeof(struct kvm_xsave) (Paul Lai) [2092066]- net/sched: cls_u32: fix possible leak in u32_init_knode() (Davide Caratti) [2081283] - net/sched: cls_u32: fix netns refcount changes in u32_change() (Davide Caratti) [2081283] - net/sched: flower: fix parsing of ethertype following VLAN header (Davide Caratti) [2081283] - net: sched: limit TC_ACT_REPEAT loops (Davide Caratti) [2081283] - net_sched: add __rcu annotation to netdev->qdisc (Davide Caratti) [2081283] - sch_htb: Fail on unsupported parameters when offload is requested (Davide Caratti) [2081283] - net_sched: restore "mpu xxx" handling (Davide Caratti) [2081283] - net: sched: sch_netem: Refactor code in 4-state loss generator (Davide Caratti) [2081283] - net/mlx5e: TC, Fix ct_clear overwriting ct action metadata (Amir Tzin) [2100474] - bpftool: man: Add missing top level docs (Yauheni Kaliuta) [2097615] - net/mlx5: CT: Fix header-rewrite re-use for tupels (Amir Tzin) [2101162] - cpuidle: haltpoll: Call cpuidle_poll_state_init() later (Mark Langsdorf) [2067313] - cpuidle: use default_groups in kobj_type (Mark Langsdorf) [2067313] - cpuidle: Fix cpuidle_remove_state_sysfs() kerneldoc comment (Mark Langsdorf) [2067313] - cpuidle: menu: Fix typo in a comment (Mark Langsdorf) [2067313] - cpuidle: Fix kobject memory leaks in error paths (Mark Langsdorf) [2067313] - cpuidle: menu: Take negative "sleep length" values into account (Mark Langsdorf) [2067313] - HID: elo: Revert USB reference counting (Benjamin Tissoires) [2073833] - HID: elo: fix memory leak in elo_probe (Benjamin Tissoires) [2073833] - fs: dlm: filter user dlm messages for kernel locks (Alexander Aring) [2026116] - psample: Add a fwd declaration for skbuff (Ivan Vecera) [2101706] - platform/x86/intel/sdsi: Fix bug in multi packet reads (Prarit Bhargava) [2100948] - platform/x86/intel/sdsi: Poll on ready bit for writes (Prarit Bhargava) [2100948] - platform/x86/intel/sdsi: Handle leaky bucket (Prarit Bhargava) [2100948] - indirect_call_wrapper: extend indirect wrapper to support up to 4 calls (Petr Oros) [2101705] - block: Fix handling of offline queues in blk_mq_alloc_request_hctx() (Ming Lei) [2081913] - netfilter: br_netfilter: do not skip all hooks with 0 priority (Florian Westphal) [2099732] - net: openvswitch: fix parsing of nw_proto for IPv6 fragments (Eelco Chaudron) [2101537] - s390/smp,vdso: fix ASCE handling (Tobias Huschle) [2103887] - [s390] s390/pci: fix zpci_zdev_put() on reserve (Claudio Imbrenda) [2102305] - intel/igbvf:fix repeated words in comments (Corinna Vinschen) [2037962] - igbvf: Remove useless DMA-32 fallback configuration (Corinna Vinschen) [2037962] - SUNRPC: avoid race between mod_timer() and del_timer_sync() (Benjamin Coddington) [2104507] - iavf: Fix issue with MAC address of VF shown as zero (Petr Oros) [2037938] - iavf: switch to napi_build_skb() (Petr Oros) [2037938] - iavf: Remove non-inclusive language (Petr Oros) [2037938] - iavf: Fix incorrect use of assigning iavf_status to int (Petr Oros) [2037938] - iavf: stop leaking iavf_status as "errno" values (Petr Oros) [2037938] - iavf: Add usage of new virtchnl format to set default MAC (Petr Oros) [2037938] - iavf: refactor processing of VLAN V2 capability message (Petr Oros) [2037938] - iavf: Add support for 50G/100G in AIM algorithm (Petr Oros) [2037938] - iavf: remove redundant ret variable (Petr Oros) [2037938] - iavf: Remove useless DMA-32 fallback configuration (Petr Oros) [2037938] - cifs: fix potential double free during failed mount (Ronnie Sahlberg) [2088799] - cifs: escape spaces in share names (Dave Wysochanski) [2100367] - Documentation: add documentation for force_cgroup_v2_swappiness control (Nico Pache) [2084242] - Introduce force_cgroup_v2_swappiness tuneable to deprecate cgv1 per-cgroup swappiness (Nico Pache) [2084242] - redhat: trim rpminspect config file (Jarod Wilson)- powerpc/smp: Set numa node before updating mask (Diego Domingos) [2103833] - iommu/vt-d: Fix potential memory leak in intel_setup_irq_remapping() (Mohammed Gamal) [2088366] - irqdomain/treewide: Free firmware node after domain removal (Mohammed Gamal) [2088366] - x86/kvmclock: Fix Hyper-V Isolated VM's boot issue when vCPUs > 64 (Mohammed Gamal) [2088366] - x86/kvm: Don't waste memory if kvmclock is disabled (Mohammed Gamal) [2088366] - x86/pci: Create PCI/MSI irqdomain after x86_init.pci.arch_init() (Mohammed Gamal) [2088366] - x86/pci: Reducde #ifdeffery in PCI init code (Mohammed Gamal) [2088366] - hv_utils: Add comment about max VMbus packet size in VSS driver (Mohammed Gamal) [2088366] - x86/coco: Explicitly declare type of confidential computing platform (Mohammed Gamal) [2088366] - x86/hyper-v: Add hyperv Isolation VM check in the cc_platform_has() (Mohammed Gamal) [2088366] - x86/sev: Use CC_ATTR attribute to generalize string I/O unroll (Mohammed Gamal) [2088366] - random: remove unused irq_flags argument from add_interrupt_randomness() (Mohammed Gamal) [2088366] - x86/hyperv: Fix definition of hv_ghcb_pg variable (Mohammed Gamal) [2088366] - swiotlb: Add CONFIG_HAS_IOMEM check around swiotlb_mem_remap() (Mohammed Gamal) [2088366] - hyper-v: Enable swiotlb bounce buffer for Isolation VM (Mohammed Gamal) [2088366] - swiotlb: Add swiotlb bounce buffer remap function for HV IVM (Mohammed Gamal) [2088366] - x86/hyperv: Refactor hv_msi_domain_free_irqs() (Mohammed Gamal) [2088366] - x86/hyperv: Move required MSRs check to initial platform probing (Mohammed Gamal) [2088366] - x86/hyperv: Fix NULL deref in set_hv_tscchange_cb() if Hyper-V setup fails (Mohammed Gamal) [2088366] - x86/hyperv: Protect set_hv_tscchange_cb() against getting preempted (Mohammed Gamal) [2088366] - x86/hyperv: Remove duplicate include (Mohammed Gamal) [2088366] - x86/hyperv: Remove duplicated include in hv_init (Mohammed Gamal) [2088366] - x86/hyperv: Add ghcb hvcall support for SNP VM (Mohammed Gamal) [2088366] - x86/hyperv: Add Write/Read MSR registers via ghcb page (Mohammed Gamal) [2088366] - x86/hyperv: Add new hvcall guest address host visibility support (Mohammed Gamal) [2088366] - x86/hyperv: Initialize shared memory boundary in the Isolation VM. (Mohammed Gamal) [2088366] - x86/hyperv: Initialize GHCB page in Isolation VM (Mohammed Gamal) [2088366] - x86/sev: Replace occurrences of sev_es_active() with cc_platform_has() (Mohammed Gamal) [2088366] - x86/sev: Replace occurrences of sev_active() with cc_platform_has() (Mohammed Gamal) [2088366] - x86/sev-es: Do not unroll string I/O for SEV-ES guests (Mohammed Gamal) [2088366] - efi/x86: Avoid RWX mappings for all of DRAM (Mohammed Gamal) [2088366] - x86/sme: Replace occurrences of sme_active() with cc_platform_has() (Mohammed Gamal) [2088366] - x86/sev: Add an x86 version of cc_platform_has() (Mohammed Gamal) [2088366] - vmalloc: fix the owner argument for the new __vmalloc_node_range callers (Mohammed Gamal) [2088366] - mm: remove vmalloc_exec (Mohammed Gamal) [2088366] - arm64: use PAGE_KERNEL_ROX directly in alloc_insn_page (Mohammed Gamal) [2088366] - arm64/kprobes: set VM_FLUSH_RESET_PERMS on kprobe instruction pages (Mohammed Gamal) [2088366] - x86/hyperv: allocate the hypercall page with only read and execute bits (Mohammed Gamal) [2088366] - x86/hyperv: use vmalloc_exec for the hypercall page (Mohammed Gamal) [2088366] - drivers: hv: Create a consistent pattern for checking Hyper-V hypercall status (Mohammed Gamal) [2088366] - x86/irq: Initialize PCI/MSI domain at PCI init time (Mohammed Gamal) [2088366] - x86/hyperv: implement an MSI domain for root partition (Mohammed Gamal) [2088366] - irqdomain/treewide: Keep firmware node unconditionally allocated (Mohammed Gamal) [2088366] - irqdomain/msi: Allow to override msi_domain_alloc/free_irqs() (Mohammed Gamal) [2088366] - x86/sev: Expose sev_es_ghcb_hv_call() for use by HyperV (Mohammed Gamal) [2088366] - x86/sev: Carve out HV call's return value verification (Mohammed Gamal) [2088366] - x86/sev: Fix noinstr for vc_ghcb_invalidate() (Mohammed Gamal) [2088366] - arch/cc: Introduce a function to check for confidential computing features (Mohammed Gamal) [2088366] - Revert "drivers: hv: Create a consistent pattern for checking Hyper-V hypercall status" (Mohammed Gamal) [2088366] - Revert "drivers: hv: Create a consistent pattern for checking Hyper-V hypercall status" (Mohammed Gamal) [2088366] - libperf tests: Fix typo in perf_evlist__open() failure error messages (Michael Petlan) [1878555] - libperf: Fix 32-bit build for tests uint64_t printf (Michael Petlan) [1878555] - libperf: Add arm64 support to perf_mmap__read_self() (Michael Petlan) [1878555] - libperf tests: Add test_stat_multiplexing test (Michael Petlan) [1878555] - libperf: Remove scaling process from perf_mmap__read_self() (Michael Petlan) [1878555] - libperf: Adopt perf_counts_values__scale() from tools/perf/util (Michael Petlan) [1878555] - arm64: perf: Don't register user access sysctl handler multiple times (Michael Petlan) [1878555] - Documentation: arm64: Document PMU counters access from userspace (Michael Petlan) [1878555] - arm64: perf: Enable PMU counter userspace access for perf event (Michael Petlan) [1878555] - arm64: perf: Add support for ARMv8.5-PMU 64-bit counters (Michael Petlan) [1878555] - arm64: perf: Clean up enable/disable calls (Michael Petlan) [1878555] - arm64: perf: Only advertise cap_user_time for arch_timer (Michael Petlan) [1878555] - arm64: perf: Implement correct cap_user_time (Michael Petlan) [1878555] - arm64: perf: Add userspace counter access disable switch (Michael Petlan) [1878555] - perf: Add a counter for number of user access events in context (Michael Petlan) [1878555] - x86: perf: Move RDPMC event flag to a common definition (Michael Petlan) [1878555] - Fix null ptr dereference crash due to premature release of ndlp. Upstream Status: RHEL-Only Bugzilla: https://bugzilla.redhat.com/show_bug.cgi?id=2034425 (Dick Kennedy) - lpfc updates for rh8.7 14.0.0.13 (Dick Kennedy) [2034425] - scsi: lpfc: Use sg_dma_address() and sg_dma_len() macros for NVMe I/O (Dick Kennedy) [2034425] - scsi: lpfc: Alter FPIN stat accounting logic (Dick Kennedy) [2034425] - scsi: lpfc: Decrement outstanding gidft_inp counter if lpfc_err_lost_link() (Dick Kennedy) [2034425] - scsi: lpfc: Use list_for_each_entry_safe() in rscn_recovery_check() (Dick Kennedy) [2034425] - scsi: lpfc: Fix ndlp put following a LOGO completion (Dick Kennedy) [2034425] - scsi: lpfc: Fix additional reference counting in lpfc_bsg_rport_els() (Dick Kennedy) [2034425] - scsi: lpfc: Fix resource leak in lpfc_sli4_send_seq_to_ulp() (Dick Kennedy) [2034425] - scsi: lpfc: Remove unneeded variable (Dick Kennedy) [2034425] - scsi: lpfc: Copyright updates for 14.2.0.2 patches (Dick Kennedy) [2034425] - scsi: lpfc: Expand setting ELS_ID field in ELS_REQUEST64_WQE (Dick Kennedy) [2034425] - scsi: lpfc: Update stat accounting for READ_STATUS mbox command (Dick Kennedy) [2034425] - scsi: lpfc: Change FA-PWWN detection methodology (Dick Kennedy) [2034425] - scsi: lpfc: Register for Application Services FC-4 type in Fabric topology (Dick Kennedy) [2034425] - scsi: lpfc: Remove false FDMI NVMe FC-4 support for NPIV ports (Dick Kennedy) [2034425] - scsi: lpfc: Revise FDMI reporting of supported port speed for trunk groups (Dick Kennedy) [2034425] - scsi: lpfc: Fix call trace observed during I/O with CMF enabled (Dick Kennedy) [2034425] - scsi: lpfc: Correct CRC32 calculation for congestion stats (Dick Kennedy) [2034425] - scsi: lpfc: Move MI module parameter check to handle dynamic disable (Dick Kennedy) [2034425] - scsi: lpfc: Remove unnecessary NULL pointer assignment for ELS_RDF path (Dick Kennedy) [2034425] - scsi: lpfc: Transition to NPR state upon LOGO cmpl if link down or aborted (Dick Kennedy) [2034425] - scsi: lpfc: Update fc_prli_sent outstanding only after guaranteed IOCB submit (Dick Kennedy) [2034425] - scsi: lpfc: Protect memory leak for NPIV ports sending PLOGI_RJT (Dick Kennedy) [2034425] - scsi: lpfc: Fix null pointer dereference after failing to issue FLOGI and PLOGI (Dick Kennedy) [2034425] - scsi: lpfc: Clear fabric topology flag before initiating a new FLOGI (Dick Kennedy) [2034425] - scsi: lpfc: Fix SCSI I/O completion and abort handler deadlock (Dick Kennedy) [2034425] - scsi: lpfc: Requeue SCSI I/O to upper layer when fw reports link down (Dick Kennedy) [2034425] - scsi: lpfc: Zero SLI4 fcp_cmnd buffer's fcpCntl0 field (Dick Kennedy) [2034425] - scsi: lpfc: Fix diagnostic fw logging after a function reset (Dick Kennedy) [2034425] - scsi: lpfc: Move cfg_log_verbose check before calling lpfc_dmp_dbg() (Dick Kennedy) [2034425] - scsi: lpfc: Tweak message log categories for ELS/FDMI/NVMe rescan (Dick Kennedy) [2034425] - scsi: lpfc: Fix queue failures when recovering from PCI parity error (Dick Kennedy) [2034425] - scsi: lpfc: Fix unload hang after back to back PCI EEH faults (Dick Kennedy) [2034425] - scsi: lpfc: Improve PCI EEH Error and Recovery Handling (Dick Kennedy) [2034425] - scsi: lpfc: Use kcalloc() (Dick Kennedy) [2034425] - scsi: lpfc: Fix typos in comments (Dick Kennedy) [2034425] - scsi: lpfc: Remove failing soft_wwn support (Dick Kennedy) [2034425] - scsi: lpfc: Reduce log messages seen after firmware download (Dick Kennedy) [2034425] - scsi: lpfc: Remove NVMe support if kernel has NVME_FC disabled (Dick Kennedy) [2034425] - scsi: lpfc: Remove redundant flush_workqueue() call (Dick Kennedy) [2034425] - scsi: lpfc: Terminate string in lpfc_debugfs_nvmeio_trc_write() (Dick Kennedy) [2034425] - scsi: lpfc: Use irq_set_affinity() (Dick Kennedy) [2034425] - time: Handle negative seconds correctly in timespec64_to_ns() (Íñigo Huguet) [2098634] - time: Prevent undefined behaviour in timespec64_to_ns() (Íñigo Huguet) [2098634] - mm,hwpoison: return -EBUSY when migration fails (Rafael Aquini) [2092671 2099510] - mm,hwpoison: remove drain_all_pages from shake_page (Rafael Aquini) [2092671] - mm,hwpoison: disable pcplists before grabbing a refcount (Rafael Aquini) [2092671] - mm,hwpoison: fix printing of page flags (Rafael Aquini) [2092671] - mm,hwpoison: refactor get_any_page (Rafael Aquini) [2092671] - mm,hwpoison: drop unneeded pcplist draining (Rafael Aquini) [2092671] - mm,hwpoison: drain pcplists before bailing out for non-buddy zero-refcount page (Rafael Aquini) [2092671] - redhat: Exclude cpufreq.h from kernel-headers (Patrick Talbert)- dm raid: fix accesses beyond end of raid member array (Benjamin Marzinski) [2012340] - dm mirror log: clear log bits up to BITS_PER_LONG boundary (Benjamin Marzinski) [2012340] - dm: fix BLK_STS_DM_REQUEUE handling when dm_io represents split bio (Benjamin Marzinski) [2012340] - dm mirror log: round up region bitmap size to BITS_PER_LONG (Benjamin Marzinski) [2012340] - dm: improve abnormal bio processing (Benjamin Marzinski) [2012340] - dm: simplify bio-based IO accounting further (Benjamin Marzinski) [2012340] - dm: don't grab target io reference in dm_zone_map_bio (Benjamin Marzinski) [2012340] - dm: improve bio splitting and associated IO accounting (Benjamin Marzinski) [2012340] - dm era: commit metadata in postsuspend after worker stops (Benjamin Marzinski) [2012340] - dm: fix race in dm_start_io_acct (Benjamin Marzinski) [2012340] - block: remove bioset_init_from_src (Benjamin Marzinski) [2012340] - dm: fix bio_set allocation (Benjamin Marzinski) [2012340] - dm verity: set DM_TARGET_IMMUTABLE feature flag (Benjamin Marzinski) [2012340] - dm cache metadata: remove unnecessary variable in __dump_mapping (Benjamin Marzinski) [2012340] - dm mpath: provide high-resolution timer to HST for bio-based (Benjamin Marzinski) [2012340] - dm crypt: make printing of the key constant-time (Benjamin Marzinski) [2012340] - dm integrity: fix error code in dm_integrity_ctr() (Benjamin Marzinski) [2012340] - dm stats: add cond_resched when looping over entries (Benjamin Marzinski) [2012340] - dm: improve dm_io reference counting (Benjamin Marzinski) [2012340] - dm: switch to bdev based IO accounting interfaces (Benjamin Marzinski) [2012340] - block: add sectors parameter to bio_start_io_acct_time() (Benjamin Marzinski) [2012340] - dm: pass dm_io instance to dm_io_acct directly (Benjamin Marzinski) [2012340] - dm: don't pass bio to __dm_start_io_acct and dm_end_io_acct (Benjamin Marzinski) [2012340] - dm: use bio_sectors in dm_aceept_partial_bio (Benjamin Marzinski) [2012340] - dm: simplify basic targets (Benjamin Marzinski) [2012340] - dm: conditionally enable branching for less used features (Benjamin Marzinski) [2012340] - dm: move hot dm_io members to same cacheline as dm_target_io (Benjamin Marzinski) [2012340] - dm: add local variables to clone_endio and __map_bio (Benjamin Marzinski) [2012340] - dm: mark various branches unlikely (Benjamin Marzinski) [2012340] - dm: simplify dm_start_io_acct (Benjamin Marzinski) [2012340] - dm: simplify dm_io access in dm_split_and_process_bio (Benjamin Marzinski) [2012340] - dm: factor out dm_io_set_error and __dm_io_dec_pending (Benjamin Marzinski) [2012340] - block: fix offset/size check in bio_trim() (Benjamin Marzinski) [2012340] - block: fix argument type of bio_trim() (Benjamin Marzinski) [2012340] - dm: allow dm_accept_partial_bio() for dm_io without duplicate bios (Benjamin Marzinski) [2012340] - dm mpath: only use ktime_get_ns() in historical selector (Benjamin Marzinski) [2012340] - dm: fix dm_io and dm_target_io flags race condition on Alpha (Benjamin Marzinski) [2012340] - dm integrity: set journal entry unused when shrinking device (Benjamin Marzinski) [2012340] - dm ioctl: log an error if the ioctl structure is corrupted (Benjamin Marzinski) [2012340] - dm: consolidate spinlocks in dm_io struct (Benjamin Marzinski) [2012340] - dm: reduce size of dm_io and dm_target_io structs (Benjamin Marzinski) [2012340] - dm: switch dm_target_io booleans over to proper flags (Benjamin Marzinski) [2012340] - dm: switch dm_io booleans over to proper flags (Benjamin Marzinski) [2012340] - dm: return void from __send_empty_flush (Benjamin Marzinski) [2012340] - dm: factor out dm_io_complete (Benjamin Marzinski) [2012340] - dm cache: use dm_submit_bio_remap (Benjamin Marzinski) [2012340] - dm: simplify dm_sumbit_bio_remap interface (Benjamin Marzinski) [2012340] - dm thin: use dm_submit_bio_remap (Benjamin Marzinski) [2012340] - dm: add WARN_ON_ONCE to dm_submit_bio_remap (Benjamin Marzinski) [2012340] - dm: requeue IO if mapping table not yet available (Benjamin Marzinski) [2012340] - dm thin metadata: remove unused dm_thin_remove_block and __remove (Benjamin Marzinski) [2012340] - dm thin: use time_is_before_jiffies instead of open coding it (Benjamin Marzinski) [2012340] - dm crypt: fix get_key_size compiler warning if !CONFIG_KEYS (Benjamin Marzinski) [2012340] - dm ioctl: prevent potential spectre v1 gadget (Benjamin Marzinski) [2012340] - dm cache policy smq: make static read-only array table const (Benjamin Marzinski) [2012340] - dm delay: use dm_submit_bio_remap (Benjamin Marzinski) [2012340] - dm crypt: use dm_submit_bio_remap (Benjamin Marzinski) [2012340] - dm: add dm_submit_bio_remap interface (Benjamin Marzinski) [2012340] - dm: flag clones created by __send_duplicate_bios (Benjamin Marzinski) [2012340] - dm: reduce dm_io and dm_target_io struct sizes (Benjamin Marzinski) [2012340] - dm: move duplicate code from callers of alloc_tio into alloc_tio (Benjamin Marzinski) [2012340] - dm: record old_sector in dm_target_io before calling map function (Benjamin Marzinski) [2012340] - dm: remove legacy code only needed before submit_bio recursion (Benjamin Marzinski) [2012340] - dm: remove unused mapped_device argument from free_tio (Benjamin Marzinski) [2012340] - dm: remove impossible BUG_ON in __send_empty_flush (Benjamin Marzinski) [2012340] - dm: reduce code duplication in __map_bio (Benjamin Marzinski) [2012340] - dm: refactor dm_split_and_process_bio a bit (Benjamin Marzinski) [2012340] - dm: fold __clone_and_map_data_bio into __split_and_process_bio (Benjamin Marzinski) [2012340] - dm: rename split functions (Benjamin Marzinski) [2012340] - dm: eliminate copying of dm_io fields in dm_io_dec_pending (Benjamin Marzinski) [2012340] - dm ioctl: return UUID in DM_LIST_DEVICES_CMD result (Benjamin Marzinski) [2012340] - dm crypt: support using trusted keys (Benjamin Marzinski) [2012340] - dm crypt: replaced #if defined with IS_ENABLED (Benjamin Marzinski) [2012340] - ext4: add check to prevent attempting to resize an fs with sparse_super2 (Lukas Czerner) [2077760] - fscache: Avoid ASSERTCMP if two threads race into fscache_disable_cookie (Dave Wysochanski) [2073260] - lib: bitmap: Introduce node-aware alloc API (Ivan Vecera) [2101701] - exec: Force single empty string when argv is empty (Rafael Aquini) [2100955] - powerpc: Enable execve syscall exit tracepoint (Steve Best) [2095521] - cgroup: disable controllers at parse time (Waiman Long) [2098264] - init: initialize jump labels before command line option parsing (Waiman Long) [2098264] - smp: Make softirq handling RT safe in flush_smp_call_function_queue() (Phil Auld) [2097364] - smp: Rename flush_smp_call_function_from_idle() (Phil Auld) [2097364] - cpupower: Add "perf" option to print AMD P-State information (Steve Best) [2059365] - cpupower: Add function to print AMD P-State performance capabilities (Steve Best) [2059365] - cpupower: Move print_speed function into misc helper (Steve Best) [2059365] - cpupower: Enable boost state support for AMD P-State module (Steve Best) [2059365] - cpupower: Add AMD P-State sysfs definition and access helper (Steve Best) [2059365] - cpupower: Introduce ACPI CPPC library (Steve Best) [2059365] - cpupower: Add the function to get the sysfs value from specific table (Steve Best) [2059365] - cpupower: Initial AMD P-State capability (Steve Best) [2059365] - cpupower: Add the function to check AMD P-State enabled (Steve Best) [2059365] - cpupower: Add AMD P-State capability flag (Steve Best) [2059365] - tools/power/cpupower/{ToDo => TODO}: Rename the todo file (Steve Best) [2059365] - tools: cpupower: fix typo in cpupower-idle-set(1) manpage (Steve Best) [2059365] - ntb: intel: fix port config status offset for SPR (John W. Linville) [2048750] - NTB/msi: Use struct_size() helper in devm_kzalloc() (John W. Linville) [2048750] - ntb_hw_switchtec: Fix a minor issue in config_req_id_table() (John W. Linville) [2048750] - ntb_hw_switchtec: Remove code for disabling ID protection (John W. Linville) [2048750] - ntb_hw_switchtec: Update the way of getting VEP instance ID (John W. Linville) [2048750] - ntb_hw_switchtec: AND with the part_map for a valid tpart_vec (John W. Linville) [2048750] - ntb_hw_switchtec: Fix bug with more than 32 partitions (John W. Linville) [2048750] - ntb_hw_switchtec: Fix pff ioread to read into mmio_part_cfg_all (John W. Linville) [2048750] - ntb_hw_switchtec: fix the spelling of "its" (John W. Linville) [2048750] - NTB/msi: Fix ntbm_msi_request_threaded_irq() kernel-doc comment (John W. Linville) [2048750] - NTB: switch from 'pci_' to 'dma_' API (John W. Linville) [2048750] - ntb: ntb_pingpong: remove redundant initialization of variables msg_data and spad_data (John W. Linville) [2048750] - NTB: perf: Fix an error code in perf_setup_inbuf() (John W. Linville) [2048750] - NTB: Fix an error code in ntb_msit_probe() (John W. Linville) [2048750] - ntb: intel: remove invalid email address in header comment (John W. Linville) [2048750] - NTB: Add support for EPF PCI Non-Transparent Bridge (John W. Linville) [2048750] - ntb: intel: add Intel NTB LTR vendor support for gen4 NTB (John W. Linville) [2048750] - ntb: idt: fix error check in ntb_hw_idt.c (John W. Linville) [2048750]- KVM: x86: Fix the intel_pt PMI handling wrongly considered from guest (Vitaly Kuznetsov) [2074835] - KVM: x86/mmu: Don't rebuild page when the page is synced and no tlb flushing is required (Vitaly Kuznetsov) [2074835] - selftests: kvm/x86: Verify the pmu event filter matches the correct event (Vitaly Kuznetsov) [2074835] - selftests: kvm/x86: Add the helper function create_pmu_event_filter (Vitaly Kuznetsov) [2074835] - kvm: x86/pmu: Fix the compare function used by the pmu event filter (Vitaly Kuznetsov) [2074835] - KVM: Free new dirty bitmap if creating a new memslot fails (Vitaly Kuznetsov) [2074835] - KVM: Initialize debugfs_dentry when a VM is created to avoid NULL deref (Vitaly Kuznetsov) [2074835] - tools arch x86: Sync asm/cpufeatures.h with the with the kernel (Vitaly Kuznetsov) [2074835] - KVM: PPC: Book3S HV: Fix kvm_unmap_gfn_range_hv() for Hash MMU (Vitaly Kuznetsov) [2074835] - KVM: PPC: Book3S HV: Fix conversion to gfn-based MMU notifier callbacks (Vitaly Kuznetsov) [2074835] - KVM: arm64: Fix boolreturn.cocci warnings (Vitaly Kuznetsov) [2074835] - KVM: VMX: Exit to userspace if vCPU has injected exception and invalid state (Vitaly Kuznetsov) [2074835] - KVM: SEV: Mark nested locking of vcpu->lock (Vitaly Kuznetsov) [2074835] - kvm: x86/cpuid: Only provide CPUID leaf 0xA if host has architectural PMU (Vitaly Kuznetsov) [2074835] - KVM: x86/svm: Account for family 17h event renumberings in amd_pmc_perf_hw_id (Vitaly Kuznetsov) [2074835] - KVM: x86/mmu: Use atomic XCHG to write TDP MMU SPTEs with volatile bits (Vitaly Kuznetsov) [2074835] - KVM: x86/mmu: Move shadow-present check out of spte_has_volatile_bits() (Vitaly Kuznetsov) [2074835] - KVM: x86/mmu: Don't treat fully writable SPTEs as volatile (modulo A/D) (Vitaly Kuznetsov) [2074835] - selftests: kvm: add amx_test to .gitignore (Vitaly Kuznetsov) [2074835] - Revert "x86/mm: Introduce lookup_address_in_mm()" (Vitaly Kuznetsov) [2074835] - KVM: x86: work around QEMU issue with synthetic CPUID leaves (Vitaly Kuznetsov) [2074835] - KVM: x86/mmu: fix potential races when walking host page table (Vitaly Kuznetsov) [2074835] - Documentation: KVM: Update documentation to indicate KVM is arm64-only (Vitaly Kuznetsov) [2074835] - KVM: x86/mmu: Do not create SPTEs for GFNs that exceed host.MAXPHYADDR (Vitaly Kuznetsov) [2074835] - kvm: selftests: introduce and use more page size-related constants (Vitaly Kuznetsov) [2074835] - kvm: selftests: do not use bitfields larger than 32-bits for PTEs (Vitaly Kuznetsov) [2074835] - KVM: SEV: add cache flush to solve SEV cache incoherency issues (Vitaly Kuznetsov) [2074835] - KVM: SVM: Flush when freeing encrypted pages even on SME_COHERENT CPUs (Vitaly Kuznetsov) [2074835] - KVM: SVM: Simplify and harden helper to flush SEV guest page(s) (Vitaly Kuznetsov) [2074835] - KVM: selftests: Silence compiler warning in the kvm_page_table_test (Vitaly Kuznetsov) [2074835] - KVM: x86/pmu: Update AMD PMC sample period to fix guest NMI-watchdog (Vitaly Kuznetsov) [2074835] - x86/kvm: Preserve BSP MSR_KVM_POLL_CONTROL across suspend/resume (Vitaly Kuznetsov) [2074835] - KVM: x86: Skip KVM_GUESTDBG_BLOCKIRQ APICv update if APICv is disabled (Vitaly Kuznetsov) [2074835] - KVM: x86: Pend KVM_REQ_APICV_UPDATE during vCPU creation to fix a race (Vitaly Kuznetsov) [2074835] - KVM: nVMX: Defer APICv updates while L2 is active until L1 is active (Vitaly Kuznetsov) [2074835] - KVM: x86: Tag APICv DISABLE inhibit, not ABSENT, if APICv is disabled (Vitaly Kuznetsov) [2074835] - KVM: Add helpers to wrap vcpu->srcu_idx and yell if it's abused (Vitaly Kuznetsov) [2074835] - KVM: x86: Don't re-acquire SRCU lock in complete_emulated_io() (Vitaly Kuznetsov) [2074835] - tools headers UAPI: Sync linux/kvm.h with the kernel sources (Vitaly Kuznetsov) [2074835] - tools arch x86: Sync the msr-index.h copy with the kernel sources (Vitaly Kuznetsov) [2074835] - tools headers UAPI: Sync x86's asm/kvm.h with the kernel sources (Vitaly Kuznetsov) [2074835] - tools headers UAPI: Sync linux/kvm.h with the kernel sources (Vitaly Kuznetsov) [2074835] - KVM: selftests: arm64: Check for supported page sizes (Vitaly Kuznetsov) [2074835] - KVM: selftests: arm64: Initialise default guest mode at test startup time (Vitaly Kuznetsov) [2074835] - KVM: selftests: arm64: Introduce a variable default IPA size (Vitaly Kuznetsov) [2074835] - KVM: selftests: arm64: Rework TCR_EL1 configuration (Vitaly Kuznetsov) [2074835] - KVM: x86: hyper-v: Avoid writing to TSC page without an active vCPU (Vitaly Kuznetsov) [2074835] - KVM: SVM: Do not activate AVIC for SEV-enabled guest (Vitaly Kuznetsov) [2074835] - selftests: kvm: add tsc_scaling_sync to .gitignore (Vitaly Kuznetsov) [2074835] - KVM: Don't create VM debugfs files outside of the VM directory (Vitaly Kuznetsov) [2074835] - KVM: avoid NULL pointer dereference in kvm_dirty_ring_push (Vitaly Kuznetsov) [2074835] - KVM: x86/mmu: remove unnecessary flush_workqueue() (Vitaly Kuznetsov) [2074835] - KVM: x86/mmu: Resolve nx_huge_pages when kvm.ko is loaded (Vitaly Kuznetsov) [2074835] - KVM: SEV: Add cond_resched() to loop in sev_clflush_pages() (Vitaly Kuznetsov) [2074835] - KVM: x86: fix sending PV IPI (Vitaly Kuznetsov) [2074835] - KVM: x86/mmu: do compare-and-exchange of gPTE via the user address (Vitaly Kuznetsov) [2074835] - KVM: x86: Remove redundant vm_entry_controls_clearbit() call (Vitaly Kuznetsov) [2074835] - KVM: x86: cleanup enter_rmode() (Vitaly Kuznetsov) [2074835] - KVM: x86: SVM: fix tsc scaling when the host doesn't support it (Vitaly Kuznetsov) [2074835] - kvm: x86: SVM: remove unused defines (Vitaly Kuznetsov) [2074835] - KVM: x86: SVM: move tsc ratio definitions to svm.h (Vitaly Kuznetsov) [2074835] - KVM: x86: SVM: fix avic spec based definitions again (Vitaly Kuznetsov) [2074835] - KVM: x86: Only do MSR filtering when access MSR by rdmsr/wrmsr (Vitaly Kuznetsov) [2074835] - KVM: x86/emulator: Emulate RDPID only if it is enabled in guest (Vitaly Kuznetsov) [2074835] - KVM: x86/pmu: Fix and isolate TSX-specific performance event logic (Vitaly Kuznetsov) [2074835] - KVM: x86: mmu: trace kvm_mmu_set_spte after the new SPTE was set (Vitaly Kuznetsov) [2074835] - KVM: x86/svm: Clear reserved bits written to PerfEvtSeln MSRs (Vitaly Kuznetsov) [2074835] - KVM: x86: Trace all APICv inhibit changes and capture overall status (Vitaly Kuznetsov) [2074835] - KVM: x86: Add wrappers for setting/clearing APICv inhibits (Vitaly Kuznetsov) [2074835] - KVM: x86: Make APICv inhibit reasons an enum and cleanup naming (Vitaly Kuznetsov) [2074835] - KVM: X86: Handle implicit supervisor access with SMAP (Vitaly Kuznetsov) [2074835] - KVM: X86: Rename variable smap to not_smap in permission_fault() (Vitaly Kuznetsov) [2074835] - KVM: X86: Fix comments in update_permission_bitmask (Vitaly Kuznetsov) [2074835] - KVM: X86: Change the type of access u32 to u64 (Vitaly Kuznetsov) [2074835] - KVM: Remove dirty handling from gfn_to_pfn_cache completely (Vitaly Kuznetsov) [2074835] - KVM: Use enum to track if cached PFN will be used in guest and/or host (Vitaly Kuznetsov) [2074835] - KVM: SVM: Fix kvm_cache_regs.h inclusions for is_guest_mode() (Vitaly Kuznetsov) [2074835] - KVM: x86/pmu: Use different raw event masks for AMD and Intel (Vitaly Kuznetsov) [2074835] - KVM: Don't actually set a request when evicting vCPUs for GFN cache invd (Vitaly Kuznetsov) [2074835] - KVM: avoid double put_page with gfn-to-pfn cache (Vitaly Kuznetsov) [2074835] - KVM: x86/mmu: Zap only TDP MMU leafs in zap range and mmu_notifier unmap (Vitaly Kuznetsov) [2074835] - KVM: SVM: fix panic on out-of-bounds guest IRQ (Vitaly Kuznetsov) [2074835] - KVM: MMU: propagate alloc_workqueue failure (Vitaly Kuznetsov) [2074835] - KVM: x86: Forbid VMM to set SYNIC/STIMER MSRs when SynIC wasn't activated (Vitaly Kuznetsov) [2074835] - KVM: x86: Avoid theoretical NULL pointer dereference in kvm_irq_delivery_to_apic_fast() (Vitaly Kuznetsov) [2074835] - KVM: x86: Check lapic_in_kernel() before attempting to set a SynIC irq (Vitaly Kuznetsov) [2074835] - KVM: x86: Fix clang -Wimplicit-fallthrough in do_host_cpuid() (Vitaly Kuznetsov) [2074835] - Revert "KVM: set owner of cpu and vm file operations" (Vitaly Kuznetsov) [2074835] - KVM: Prevent module exit until all VMs are freed (Vitaly Kuznetsov) [2074835] - KVM: use kvcalloc for array allocations (Vitaly Kuznetsov) [2074835] - KVM: x86: Introduce KVM_CAP_DISABLE_QUIRKS2 (Vitaly Kuznetsov) [2074835] - kvm: x86: Require const tsc for RT (Vitaly Kuznetsov) [2074835] - KVM: x86: synthesize CPUID leaf 0x80000021h if useful (Vitaly Kuznetsov) [2074835] - KVM: x86: add support for CPUID leaf 0x80000021 (Vitaly Kuznetsov) [2074835] - Revert "KVM: x86/mmu: Zap only TDP MMU leafs in kvm_zap_gfn_range()" (Vitaly Kuznetsov) [2074835] - kvm: x86/mmu: Flush TLB before zap_gfn_range releases RCU (Vitaly Kuznetsov) [2074835] - kvm/emulate: Fix SETcc emulation function offsets with SLS (Vitaly Kuznetsov) [2074835] - KVM: compat: riscv: Prevent KVM_COMPAT from being selected (Vitaly Kuznetsov) [2074835] - KVM: selftests: Add test to populate a VM with the max possible guest mem (Vitaly Kuznetsov) [2074835] - KVM: selftests: Define cpu_relax() helpers for s390 and x86 (Vitaly Kuznetsov) [2074835] - KVM: selftests: Split out helper to allocate guest mem via memfd (Vitaly Kuznetsov) [2074835] - KVM: selftests: add shared hugetlbfs backing source type (Vitaly Kuznetsov) [2074835] - KVM: selftests: Move raw KVM_SET_USER_MEMORY_REGION helper to utils (Vitaly Kuznetsov) [2074835] - KVM: x86/mmu: WARN on any attempt to atomically update REMOVED SPTE (Vitaly Kuznetsov) [2074835] - KVM: x86/mmu: Check for a REMOVED leaf SPTE before making the SPTE (Vitaly Kuznetsov) [2074835] - KVM: x86/mmu: Zap defunct roots via asynchronous worker (Vitaly Kuznetsov) [2074835] - KVM: x86/mmu: Zap roots in two passes to avoid inducing RCU stalls (Vitaly Kuznetsov) [2074835] - KVM: x86/mmu: Allow yielding when zapping GFNs for defunct TDP MMU root (Vitaly Kuznetsov) [2074835] - KVM: x86/mmu: Zap invalidated roots via asynchronous worker (Vitaly Kuznetsov) [2074835] - KVM: x86/mmu: Defer TLB flush to caller when freeing TDP MMU shadow pages (Vitaly Kuznetsov) [2074835] - KVM: x86/mmu: Do remote TLB flush before dropping RCU in TDP MMU resched (Vitaly Kuznetsov) [2074835] - KVM: x86/mmu: Zap only TDP MMU leafs in kvm_zap_gfn_range() (Vitaly Kuznetsov) [2074835] - KVM: x86/mmu: Require mmu_lock be held for write to zap TDP MMU range (Vitaly Kuznetsov) [2074835] - KVM: x86/mmu: Add dedicated helper to zap TDP MMU root shadow page (Vitaly Kuznetsov) [2074835] - KVM: x86/mmu: Skip remote TLB flush when zapping all of TDP MMU (Vitaly Kuznetsov) [2074835] - KVM: x86/mmu: Zap only the target TDP MMU shadow page in NX recovery (Vitaly Kuznetsov) [2074835] - KVM: x86/mmu: Refactor low-level TDP MMU set SPTE helper to take raw values (Vitaly Kuznetsov) [2074835] - KVM: x86/mmu: WARN if old _or_ new SPTE is REMOVED in non-atomic path (Vitaly Kuznetsov) [2074835] - KVM: x86/mmu: Add helpers to read/write TDP MMU SPTEs and document RCU (Vitaly Kuznetsov) [2074835] - KVM: x86/mmu: Drop RCU after processing each root in MMU notifier hooks (Vitaly Kuznetsov) [2074835] - KVM: x86/mmu: Batch TLB flushes from TDP MMU for MMU notifier change_spte (Vitaly Kuznetsov) [2074835] - KVM: x86/mmu: Check for !leaf=>leaf, not PFN change, in TDP MMU SP removal (Vitaly Kuznetsov) [2074835] - KVM: x86/mmu: do not allow readers to acquire references to invalid roots (Vitaly Kuznetsov) [2074835] - KVM: x86/mmu: only perform eager page splitting on valid roots (Vitaly Kuznetsov) [2074835] - KVM: x86/mmu: Require mmu_lock be held for write in unyielding root iter (Vitaly Kuznetsov) [2074835] - KVM: x86/mmu: Document that zapping invalidated roots doesn't need to flush (Vitaly Kuznetsov) [2074835] - KVM: x86/mmu: Formalize TDP MMU's (unintended?) deferred TLB flush logic (Vitaly Kuznetsov) [2074835] - KVM: x86/mmu: Fix wrong/misleading comments in TDP MMU fast zap (Vitaly Kuznetsov) [2074835] - KVM: x86/mmu: Check for present SPTE when clearing dirty bit in TDP MMU (Vitaly Kuznetsov) [2074835] - selftests: kvm: add generated file to the .gitignore (Vitaly Kuznetsov) [2074835] - KVM: x86: pull kvm->srcu read-side to kvm_arch_vcpu_ioctl_run (Vitaly Kuznetsov) [2074835] - KVM: x86/mmu: Passing up the error state of mmu_alloc_shadow_roots() (Vitaly Kuznetsov) [2074835] - KVM: SVM: Disable preemption across AVIC load/put during APICv refresh (Vitaly Kuznetsov) [2074835] - KVM: SVM: Exit to userspace on ENOMEM/EFAULT GHCB errors (Vitaly Kuznetsov) [2074835] - KVM: WARN if is_unsync_root() is called on a root without a shadow page (Vitaly Kuznetsov) [2074835] - KVM: Drop KVM_REQ_MMU_RELOAD and update vcpu-requests.rst documentation (Vitaly Kuznetsov) [2074835] - KVM: s390: Replace KVM_REQ_MMU_RELOAD usage with arch specific request (Vitaly Kuznetsov) [2074835] - KVM: x86/mmu: Zap only obsolete roots if a root shadow page is zapped (Vitaly Kuznetsov) [2074835] - KVM: Drop kvm_reload_remote_mmus(), open code request in x86 users (Vitaly Kuznetsov) [2074835] - KVM: x86: Invoke kvm_mmu_unload() directly on CR4.PCIDE change (Vitaly Kuznetsov) [2074835] - KVM: x86/emulator: Move the unhandled outer privilege level logic of far return into __load_segment_descriptor() (Vitaly Kuznetsov) [2074835] - KVM: x86/emulator: Fix wrong privilege check for code segment in __load_segment_descriptor() (Vitaly Kuznetsov) [2074835] - KVM: x86/emulator: Defer not-present segment check in __load_segment_descriptor() (Vitaly Kuznetsov) [2074835] - KVM: selftests: Add test to verify KVM handling of ICR (Vitaly Kuznetsov) [2074835] - KVM: x86: Make kvm_lapic_set_reg() a "private" xAPIC helper (Vitaly Kuznetsov) [2074835] - KVM: x86: Treat x2APIC's ICR as a 64-bit register, not two 32-bit regs (Vitaly Kuznetsov) [2074835] - KVM: x86: Add helpers to handle 64-bit APIC MSR read/writes (Vitaly Kuznetsov) [2074835] - KVM: x86: Make kvm_lapic_reg_{read,write}() static (Vitaly Kuznetsov) [2074835] - KVM: x86: WARN if KVM emulates an IPI without clearing the BUSY flag (Vitaly Kuznetsov) [2074835] - KVM: SVM: Don't rewrite guest ICR on AVIC IPI virtualization failure (Vitaly Kuznetsov) [2074835] - KVM: SVM: Use common kvm_apic_write_nodecode() for AVIC write traps (Vitaly Kuznetsov) [2074835] - KVM: x86: Use "raw" APIC register read for handling APIC-write VM-Exit (Vitaly Kuznetsov) [2074835] - KVM: VMX: Handle APIC-write offset wrangling in VMX code (Vitaly Kuznetsov) [2074835] - KVM: x86: Do not change ICR on write to APIC_SELF_IPI (Vitaly Kuznetsov) [2074835] - KVM: x86: Fix emulation in writing cr8 (Vitaly Kuznetsov) [2074835] - KVM: x86: flush TLB separately from MMU reset (Vitaly Kuznetsov) [2074835] - KVM: x86: Yield to IPI target vCPU only if it is busy (Vitaly Kuznetsov) [2074835] - x86/kvmclock: Fix Hyper-V Isolated VM's boot issue when vCPUs > 64 (Vitaly Kuznetsov) [2074835] - x86/kvm: Don't waste memory if kvmclock is disabled (Vitaly Kuznetsov) [2074835] - KVM: x86/mmu: clear MMIO cache when unloading the MMU (Vitaly Kuznetsov) [2074835] - KVM: x86/mmu: Always use current mmu's role when loading new PGD (Vitaly Kuznetsov) [2074835] - KVM: x86/mmu: load new PGD after the shadow MMU is initialized (Vitaly Kuznetsov) [2074835] - KVM: x86/mmu: look for a cached PGD when going from 32-bit to 64-bit (Vitaly Kuznetsov) [2074835] - KVM: x86/mmu: do not pass vcpu to root freeing functions (Vitaly Kuznetsov) [2074835] - KVM: x86/mmu: do not consult levels when freeing roots (Vitaly Kuznetsov) [2074835] - KVM: x86: use struct kvm_mmu_root_info for mmu->root (Vitaly Kuznetsov) [2074835] - KVM: x86/mmu: avoid NULL-pointer dereference on page freeing bugs (Vitaly Kuznetsov) [2074835] - KVM: x86: do not deliver asynchronous page faults if CR0.PG=0 (Vitaly Kuznetsov) [2074835] - KVM: x86: Reinitialize context if host userspace toggles EFER.LME (Vitaly Kuznetsov) [2074835] - KVM: selftests: Verify disabling PMU virtualization via KVM_CAP_CONFIG_PMU (Vitaly Kuznetsov) [2074835] - KVM: selftests: Carve out helper to create "default" VM without vCPUs (Vitaly Kuznetsov) [2074835] - KVM: x86: Provide per VM capability for disabling PMU virtualization (Vitaly Kuznetsov) [2074835] - KVM: Move VM's worker kthreads back to the original cgroup before exiting. (Vitaly Kuznetsov) [2074835] - KVM: VMX: Remove scratch 'cpu' variable that shadows an identical scratch var (Vitaly Kuznetsov) [2074835] - kvm: vmx: Fix typos comment in __loaded_vmcs_clear() (Vitaly Kuznetsov) [2074835] - KVM: nVMX: Make setup/unsetup under the same conditions (Vitaly Kuznetsov) [2074835] - KVM: x86: hyper-v: HVCALL_SEND_IPI_EX is an XMM fast hypercall (Vitaly Kuznetsov) [2074835] - KVM: x86: hyper-v: Fix the maximum number of sparse banks for XMM fast TLB flush hypercalls (Vitaly Kuznetsov) [2074835] - KVM: x86: hyper-v: Drop redundant 'ex' parameter from kvm_hv_flush_tlb() (Vitaly Kuznetsov) [2074835] - KVM: x86: hyper-v: Drop redundant 'ex' parameter from kvm_hv_send_ipi() (Vitaly Kuznetsov) [2074835] - Revert "KVM: VMX: Save HOST_CR3 in vmx_prepare_switch_to_guest()" (Vitaly Kuznetsov) [2074835] - Revert "KVM: VMX: Save HOST_CR3 in vmx_set_host_fs_gs()" (Vitaly Kuznetsov) [2074835] - KVM: x86: nSVM: disallow userspace setting of MSR_AMD64_TSC_RATIO to non default value when tsc scaling disabled (Vitaly Kuznetsov) [2074835] - KVM: x86/mmu: make apf token non-zero to fix bug (Vitaly Kuznetsov) [2074835] - selftests: kvm: Add the uapi headers include variable (Vitaly Kuznetsov) [2074835] - KVM: selftests: Add EXTRA_CFLAGS in top-level Makefile (Vitaly Kuznetsov) [2074835] - KVM: x86/mmu: Remove MMU auditing (Vitaly Kuznetsov) [2074835] - KVM: x86: make several APIC virtualization callbacks optional (Vitaly Kuznetsov) [2074835] - KVM: x86: warn on incorrectly NULL members of kvm_x86_ops (Vitaly Kuznetsov) [2074835] - KVM: x86: remove KVM_X86_OP_NULL and mark optional kvm_x86_ops (Vitaly Kuznetsov) [2074835] - KVM: x86: use static_call_cond for optional callbacks (Vitaly Kuznetsov) [2074835] - KVM: x86: return 1 unconditionally for availability of KVM_CAP_VAPIC (Vitaly Kuznetsov) [2074835] - selftests: KVM: allow sev_migrate_tests on machines without SEV-ES (Vitaly Kuznetsov) [2074835] - KVM: SEV: Allow SEV intra-host migration of VM with mirrors (Vitaly Kuznetsov) [2074835] - x86/kvm: Fix compilation warning in non-x86_64 builds (Vitaly Kuznetsov) [2074835] - kvm: x86: Disable KVM_HC_CLOCK_PAIRING if tsc is in always catchup mode (Vitaly Kuznetsov) [2074835] - KVM: Fix lockdep false negative during host resume (Vitaly Kuznetsov) [2074835] - KVM: x86: Add KVM_CAP_ENABLE_CAP to x86 (Vitaly Kuznetsov) [2074835] - KVM: SVM: Rename AVIC helpers to use "avic" prefix instead of "svm" (Vitaly Kuznetsov) [2074835] - KVM: x86/pmu: Use AMD64_RAW_EVENT_MASK for PERF_TYPE_RAW (Vitaly Kuznetsov) [2074835] - KVM: x86/pmu: Don't truncate the PerfEvtSeln MSR when creating a perf event (Vitaly Kuznetsov) [2074835] - KVM: x86: Replace memset() "optimization" with normal per-field writes (Vitaly Kuznetsov) [2074835] - KVM: SVM: fix race between interrupt delivery and AVIC inhibition (Vitaly Kuznetsov) [2074835] - KVM: SVM: set IRR in svm_deliver_interrupt (Vitaly Kuznetsov) [2074835] - KVM: SVM: extract avic_ring_doorbell (Vitaly Kuznetsov) [2074835] - selftests: kvm: Remove absent target file (Vitaly Kuznetsov) [2074835] - KVM: VMX: Use local pointer to vcpu_vmx in vmx_vcpu_after_set_cpuid() (Vitaly Kuznetsov) [2074835] - KVM: selftests: nSVM: Add enlightened MSR-Bitmap selftest (Vitaly Kuznetsov) [2074835] - KVM: selftests: nSVM: Update 'struct vmcb_control_area' definition (Vitaly Kuznetsov) [2074835] - KVM: selftests: nSVM: Set up MSR-Bitmap for SVM guests (Vitaly Kuznetsov) [2074835] - KVM: selftests: nVMX: Add enlightened MSR-Bitmap selftest (Vitaly Kuznetsov) [2074835] - KVM: selftests: nVMX: Properly deal with 'hv_clean_fields' (Vitaly Kuznetsov) [2074835] - KVM: selftests: Adapt hyperv_cpuid test to the newly introduced Enlightened MSR-Bitmap (Vitaly Kuznetsov) [2074835] - KVM: nSVM: Implement Enlightened MSR-Bitmap feature (Vitaly Kuznetsov) [2074835] - KVM: nSVM: Split off common definitions for Hyper-V on KVM and KVM on Hyper-V (Vitaly Kuznetsov) [2074835] - KVM: x86: Make kvm_hv_hypercall_enabled() static inline (Vitaly Kuznetsov) [2074835] - KVM: nSVM: Track whether changes in L0 require MSR bitmap for L2 to be rebuilt (Vitaly Kuznetsov) [2074835] - KVM: selftests: Add an option to disable MANUAL_PROTECT_ENABLE and INITIALLY_SET (Vitaly Kuznetsov) [2074835] - KVM: x86/mmu: Add tracepoint for splitting huge pages (Vitaly Kuznetsov) [2074835] - KVM: x86/mmu: Split huge pages mapped by the TDP MMU during KVM_CLEAR_DIRTY_LOG (Vitaly Kuznetsov) [2074835] - KVM: x86/mmu: Split huge pages mapped by the TDP MMU when dirty logging is enabled (Vitaly Kuznetsov) [2074835] - KVM: x86/mmu: Separate TDP MMU shadow page allocation and initialization (Vitaly Kuznetsov) [2074835] - KVM: x86/mmu: Derive page role for TDP MMU shadow pages from parent (Vitaly Kuznetsov) [2074835] - KVM: x86/mmu: Remove redundant role overrides for TDP MMU shadow pages (Vitaly Kuznetsov) [2074835] - KVM: x86/mmu: Refactor TDP MMU iterators to take kvm_mmu_page root (Vitaly Kuznetsov) [2074835] - KVM: x86/mmu: Move restore_acc_track_spte() to spte.h (Vitaly Kuznetsov) [2074835] - KVM: x86/mmu: Drop new_spte local variable from restore_acc_track_spte() (Vitaly Kuznetsov) [2074835] - KVM: x86/mmu: Remove unnecessary warnings from restore_acc_track_spte() (Vitaly Kuznetsov) [2074835] - KVM: x86/mmu: Consolidate logic to atomically install a new TDP MMU page table (Vitaly Kuznetsov) [2074835] - KVM: x86/mmu: Rename handle_removed_tdp_mmu_page() to handle_removed_pt() (Vitaly Kuznetsov) [2074835] - KVM: x86/mmu: Rename TDP MMU functions that handle shadow pages (Vitaly Kuznetsov) [2074835] - KVM: x86/mmu: Change tdp_mmu_{set,zap}_spte_atomic() to return 0/-EBUSY (Vitaly Kuznetsov) [2074835] - KVM: x86/mmu: Automatically update iter->old_spte if cmpxchg fails (Vitaly Kuznetsov) [2074835] - KVM: x86/mmu: Rename __rmap_write_protect() to rmap_write_protect() (Vitaly Kuznetsov) [2074835] - KVM: x86/mmu: Rename rmap_write_protect() to kvm_vcpu_write_protect_gfn() (Vitaly Kuznetsov) [2074835] - KVM: x86: Add checks for reserved-to-zero Hyper-V hypercall fields (Vitaly Kuznetsov) [2074835] - KVM: x86: Reject fixeds-size Hyper-V hypercalls with non-zero "var_cnt" (Vitaly Kuznetsov) [2074835] - KVM: x86: Shove vp_bitmap handling down into sparse_set_to_vcpu_mask() (Vitaly Kuznetsov) [2074835] - KVM: x86: Don't bother reading sparse banks that end up being ignored (Vitaly Kuznetsov) [2074835] - KVM: x86: Add a helper to get the sparse VP_SET for IPIs and TLB flushes (Vitaly Kuznetsov) [2074835] - KVM: x86: Refactor kvm_hv_flush_tlb() to reduce indentation (Vitaly Kuznetsov) [2074835] - KVM: x86: Get the number of Hyper-V sparse banks from the VARHEAD field (Vitaly Kuznetsov) [2074835] - KVM: x86/mmu: Consolidate comments about {Host,MMU}-writable (Vitaly Kuznetsov) [2074835] - KVM: x86/mmu: Rename DEFAULT_SPTE_MMU_WRITEABLE to DEFAULT_SPTE_MMU_WRITABLE (Vitaly Kuznetsov) [2074835] - KVM: x86/mmu: Move is_writable_pte() to spte.h (Vitaly Kuznetsov) [2074835] - KVM: x86/mmu: Check SPTE writable invariants when setting leaf SPTEs (Vitaly Kuznetsov) [2074835] - KVM: x86/mmu: Move SPTE writable invariant checks to a helper function (Vitaly Kuznetsov) [2074835] - KVM: LAPIC: Enable timer posted-interrupt only when mwait/hlt is advertised (Vitaly Kuznetsov) [2074835] - KVM: VMX: Dont' send posted IRQ if vCPU == this vCPU and vCPU is IN_GUEST_MODE (Vitaly Kuznetsov) [2074835] - KVM: SVM: Rename hook implementations to conform to kvm_x86_ops' names (Vitaly Kuznetsov) [2074835] - KVM: SVM: Rename SEV implemenations to conform to kvm_x86_ops hooks (Vitaly Kuznetsov) [2074835] - KVM: x86: Use more verbose names for mem encrypt kvm_x86_ops hooks (Vitaly Kuznetsov) [2074835] - KVM: SVM: Remove unused MAX_INST_SIZE #define (Vitaly Kuznetsov) [2074835] - KVM: SVM: Rename svm_flush_tlb() to svm_flush_tlb_current() (Vitaly Kuznetsov) [2074835] - KVM: x86: Move get_cs_db_l_bits() helper to SVM (Vitaly Kuznetsov) [2074835] - KVM: VMX: Rename VMX functions to conform to kvm_x86_ops names (Vitaly Kuznetsov) [2074835] - KVM: x86: Use static_call() for copy/move encryption context ioctls() (Vitaly Kuznetsov) [2074835] - KVM: x86: Unexport kvm_x86_ops (Vitaly Kuznetsov) [2074835] - KVM: x86: Uninline and export hv_track_root_tdp() (Vitaly Kuznetsov) [2074835] - KVM: nVMX: Refactor PMU refresh to avoid referencing kvm_x86_ops.pmu_ops (Vitaly Kuznetsov) [2074835] - KVM: xen: Use static_call() for invoking kvm_x86_ops hooks (Vitaly Kuznetsov) [2074835] - KVM: x86: Use static_call() for .vcpu_deliver_sipi_vector() (Vitaly Kuznetsov) [2074835] - KVM: VMX: Call vmx_get_cpl() directly in handle_dr() (Vitaly Kuznetsov) [2074835] - KVM: x86: Rename kvm_x86_ops pointers to align w/ preferred vendor names (Vitaly Kuznetsov) [2074835] - KVM: x86: Drop export for .tlb_flush_current() static_call key (Vitaly Kuznetsov) [2074835] - KVM: x86: skip host CPUID call for hypervisor leaves (Vitaly Kuznetsov) [2074835] - KVM: x86: Remove unused "flags" of kvm_pv_kick_cpu_op() (Vitaly Kuznetsov) [2074835] - KVM: Remove unused "kvm" of kvm_make_vcpu_request() (Vitaly Kuznetsov) [2074835] - KVM: x86: Remove unused "vcpu" of kvm_scale_tsc() (Vitaly Kuznetsov) [2074835] - KVM: x86/emulate: Remove unused "tss_selector" of task_switch_{16, 32}() (Vitaly Kuznetsov) [2074835] - KVM: x86/emulate: Remove unused "ctxt" of setup_syscalls_segments() (Vitaly Kuznetsov) [2074835] - KVM: x86/ioapic: Remove unused "addr" and "length" of ioapic_read_indirect() (Vitaly Kuznetsov) [2074835] - KVM: x86/i8259: Remove unused "addr" of elcr_ioport_{read,write}() (Vitaly Kuznetsov) [2074835] - KVM: SVM: improve split between svm_prepare_guest_switch and sev_es_prepare_guest_switch (Vitaly Kuznetsov) [2074835] - KVM: x86/svm: Remove unused "vcpu" of svm_check_exit_valid() (Vitaly Kuznetsov) [2074835] - KVM: x86/mmu_audit: Remove unused "level" of audit_spte_after_sync() (Vitaly Kuznetsov) [2074835] - KVM: x86/tdp_mmu: Remove unused "kvm" of kvm_tdp_mmu_get_root() (Vitaly Kuznetsov) [2074835] - KVM: x86/mmu: Remove unused "vcpu" of reset_{tdp,ept}_shadow_zero_bits_mask() (Vitaly Kuznetsov) [2074835] - KVM: x86/mmu: Remove unused "kvm" of __rmap_write_protect() (Vitaly Kuznetsov) [2074835] - KVM: x86/mmu: Remove unused "kvm" of kvm_mmu_unlink_parents() (Vitaly Kuznetsov) [2074835] - KVM: x86: Skip APICv update if APICv is disable at the module level (Vitaly Kuznetsov) [2074835] - KVM: x86: Drop NULL check on kvm_x86_ops.check_apicv_inhibit_reasons (Vitaly Kuznetsov) [2074835] - KVM: x86: Unexport __kvm_request_apicv_update() (Vitaly Kuznetsov) [2074835] - KVM: x86/mmu: Zap _all_ roots when unmapping gfn range in TDP MMU (Vitaly Kuznetsov) [2074835] - KVM: x86/mmu: Move "invalid" check out of kvm_tdp_mmu_get_root() (Vitaly Kuznetsov) [2074835] - KVM: x86/mmu: Use common TDP MMU zap helper for MMU notifier unmap hook (Vitaly Kuznetsov) [2074835] - KVM: x86/xen: Fix runstate updates to be atomic when preempting vCPU (Vitaly Kuznetsov) [2074835] - KVM: x86: SVM: move avic definitions from AMD's spec to svm.h (Vitaly Kuznetsov) [2074835] - KVM: x86: lapic: don't touch irr_pending in kvm_apic_update_apicv when inhibiting it (Vitaly Kuznetsov) [2074835] - KVM: x86: nSVM: deal with L1 hypervisor that intercepts interrupts but lets L2 control them (Vitaly Kuznetsov) [2074835] - KVM: x86: nSVM: expose clean bit support to the guest (Vitaly Kuznetsov) [2074835] - KVM: x86: nSVM/nVMX: set nested_run_pending on VM entry which is a result of RSM (Vitaly Kuznetsov) [2074835] - KVM: x86: nSVM: mark vmcb01 as dirty when restoring SMM saved state (Vitaly Kuznetsov) [2074835] - KVM: x86: nSVM: fix potential NULL derefernce on nested migration (Vitaly Kuznetsov) [2074835] - KVM: x86: SVM: don't passthrough SMAP/SMEP/PKE bits in !NPT && !gCR0.PG case (Vitaly Kuznetsov) [2074835] - Revert "svm: Add warning message for AVIC IPI invalid target" (Vitaly Kuznetsov) [2074835] - selftests: KVM: Test OS lock behavior (Vitaly Kuznetsov) [2074835] - selftests: KVM: Add OSLSR_EL1 to the list of blessed regs (Vitaly Kuznetsov) [2074835] - KVM: x86: Report deprecated x87 features in supported CPUID (Vitaly Kuznetsov) [2074835] - x86/cpufeatures: Add FDP_EXCPTN_ONLY and ZERO_FCS_FDS (Vitaly Kuznetsov) [2074835] - KVM: x86: use the KVM side max supported fixed counter (Vitaly Kuznetsov) [2074835] - x86: Share definition of __is_canonical_address() (Vitaly Kuznetsov) [2074835] - perf/x86/intel/pt: Relax address filter validation (Vitaly Kuznetsov) [2074835] - KVM: x86: Move delivery of non-APICv interrupt into vendor code (Vitaly Kuznetsov) [2074835] - KVM: eventfd: Fix false positive RCU usage warning (Vitaly Kuznetsov) [2074835] - selftests: kvm: check dynamic bits against KVM_X86_XCOMP_GUEST_SUPP (Vitaly Kuznetsov) [2074835] - KVM: x86: Sync the states size with the XCR0/IA32_XSS at, any time (Vitaly Kuznetsov) [2074835] - KVM: x86: Update vCPU's runtime CPUID on write to MSR_IA32_XSS (Vitaly Kuznetsov) [2074835] - KVM: x86: Keep MSR_IA32_XSS unchanged for INIT (Vitaly Kuznetsov) [2074835] - KVM: x86: Free kvm_cpuid_entry2 array on post-KVM_RUN KVM_SET_CPUID{,2} (Vitaly Kuznetsov) [2074835] - KVM: nVMX: WARN on any attempt to allocate shadow VMCS for vmcs02 (Vitaly Kuznetsov) [2074835] - KVM: selftests: Don't skip L2's VMCALL in SMM test for SVM guest (Vitaly Kuznetsov) [2074835] - KVM: x86: Check .flags in kvm_cpuid_check_equal() too (Vitaly Kuznetsov) [2074835] - KVM: x86: Forcibly leave nested virt when SMM state is toggled (Vitaly Kuznetsov) [2074835] - KVM: SVM: drop unnecessary code in svm_hv_vmcb_dirty_nested_enlightenments() (Vitaly Kuznetsov) [2074835] - KVM: SVM: hyper-v: Enable Enlightened MSR-Bitmap support for real (Vitaly Kuznetsov) [2074835] - KVM: SVM: Don't kill SEV guest if SMAP erratum triggers in usermode (Vitaly Kuznetsov) [2074835] - KVM: SVM: Don't apply SEV+SMAP workaround on code fetch or PT access (Vitaly Kuznetsov) [2074835] - KVM: SVM: Inject #UD on attempted emulation for SEV guest w/o insn buffer (Vitaly Kuznetsov) [2074835] - KVM: SVM: WARN if KVM attempts emulation on #UD or #GP for SEV guests (Vitaly Kuznetsov) [2074835] - KVM: x86: Pass emulation type to can_emulate_instruction() (Vitaly Kuznetsov) [2074835] - KVM: SVM: Explicitly require DECODEASSISTS to enable SEV support (Vitaly Kuznetsov) [2074835] - KVM: SVM: Don't intercept #GP for SEV guests (Vitaly Kuznetsov) [2074835] - Revert "KVM: SVM: avoid infinite loop on NPF from bad address" (Vitaly Kuznetsov) [2074835] - KVM: SVM: Never reject emulation due to SMAP errata for !SEV guests (Vitaly Kuznetsov) [2074835] - KVM: x86: nSVM: skip eax alignment check for non-SVM instructions (Vitaly Kuznetsov) [2074835] - KVM: LAPIC: Also cancel preemption timer during SET_LAPIC (Vitaly Kuznetsov) [2074835] - KVM: VMX: Remove vmcs_config.order (Vitaly Kuznetsov) [2074835] - KVM/X86: Make kvm_vcpu_reload_apic_access_page() static (Vitaly Kuznetsov) [2074835] - KVM: selftests: Re-enable access_tracking_perf_test (Vitaly Kuznetsov) [2074835] - KVM: VMX: Set vmcs.PENDING_DBG.BS on #DB in STI/MOVSS blocking shadow (Vitaly Kuznetsov) [2074835] - KVM: remove async parameter of hva_to_pfn_remapped() (Vitaly Kuznetsov) [2074835] - x86,kvm/xen: Remove superfluous .fixup usage (Vitaly Kuznetsov) [2074835] - KVM: VMX: Zero host's SYSENTER_ESP iff SYSENTER is NOT used (Vitaly Kuznetsov) [2074835] - selftests: kvm/x86: Fix the warning in lib/x86_64/processor.c (Vitaly Kuznetsov) [2074835] - selftests: kvm/x86: Fix the warning in pmu_event_filter_test.c (Vitaly Kuznetsov) [2074835] - kvm: selftests: Do not indent with spaces (Vitaly Kuznetsov) [2074835] - KVM: SVM: Nullify vcpu_(un)blocking() hooks if AVIC is disabled (Vitaly Kuznetsov) [2074835] - KVM: SVM: Move svm_hardware_setup() and its helpers below svm_x86_ops (Vitaly Kuznetsov) [2074835] - KVM: SVM: Drop AVIC's intermediate avic_set_running() helper (Vitaly Kuznetsov) [2074835] - KVM: VMX: Don't do full kick when handling posted interrupt wakeup (Vitaly Kuznetsov) [2074835] - KVM: VMX: Fold fallback path into triggering posted IRQ helper (Vitaly Kuznetsov) [2074835] - KVM: VMX: Pass desired vector instead of bool for triggering posted IRQ (Vitaly Kuznetsov) [2074835] - KVM: VMX: Don't do full kick when triggering posted interrupt "fails" (Vitaly Kuznetsov) [2074835] - KVM: SVM: Skip AVIC and IRTE updates when loading blocking vCPU (Vitaly Kuznetsov) [2074835] - KVM: SVM: Use kvm_vcpu_is_blocking() in AVIC load to handle preemption (Vitaly Kuznetsov) [2074835] - KVM: SVM: Remove unnecessary APICv/AVIC update in vCPU unblocking path (Vitaly Kuznetsov) [2074835] - KVM: SVM: Don't bother checking for "running" AVIC when kicking for IPIs (Vitaly Kuznetsov) [2074835] - KVM: SVM: Signal AVIC doorbell iff vCPU is in guest mode (Vitaly Kuznetsov) [2074835] - KVM: x86: Remove defunct pre_block/post_block kvm_x86_ops hooks (Vitaly Kuznetsov) [2074835] - KVM: x86: Unexport LAPIC's switch_to_{hv,sw}_timer() helpers (Vitaly Kuznetsov) [2074835] - KVM: VMX: Move preemption timer <=> hrtimer dance to common x86 (Vitaly Kuznetsov) [2074835] - KVM: Move x86 VMX's posted interrupt list_head to vcpu_vmx (Vitaly Kuznetsov) [2074835] - KVM: Drop unused kvm_vcpu.pre_pcpu field (Vitaly Kuznetsov) [2074835] - KVM: VMX: Handle PI descriptor updates during vcpu_put/load (Vitaly Kuznetsov) [2074835] - KVM: avoid warning on s390 in mark_page_dirty (Vitaly Kuznetsov) [2074835] - KVM: selftests: Add a test to force emulation with a pending exception (Vitaly Kuznetsov) [2074835] - KVM: VMX: Reject KVM_RUN if emulation is required with pending exception (Vitaly Kuznetsov) [2074835] - selftests: kvm/x86: Add test for KVM_SET_PMU_EVENT_FILTER (Vitaly Kuznetsov) [2074835] - selftests: kvm/x86: Introduce x86_model() (Vitaly Kuznetsov) [2074835] - selftests: kvm/x86: Export x86_family() for use outside of processor.c (Vitaly Kuznetsov) [2074835] - selftests: kvm/x86: Introduce is_amd_cpu() (Vitaly Kuznetsov) [2074835] - selftests: kvm/x86: Parameterize the CPUID vendor string check (Vitaly Kuznetsov) [2074835] - KVM: x86/pmu: Use binary search to check filtered events (Vitaly Kuznetsov) [2074835] - KVM: x86/mmu: Improve TLB flush comment in kvm_mmu_slot_remove_write_access() (Vitaly Kuznetsov) [2074835] - KVM: x86/mmu: Document and enforce MMU-writable and Host-writable invariants (Vitaly Kuznetsov) [2074835] - KVM: x86/mmu: Clear MMU-writable during changed_pte notifier (Vitaly Kuznetsov) [2074835] - KVM: x86/mmu: Fix write-protection of PTs mapped by the TDP MMU (Vitaly Kuznetsov) [2074835] - KVM: x86: Making the module parameter of vPMU more common (Vitaly Kuznetsov) [2074835] - KVM: selftests: Test KVM_SET_CPUID2 after KVM_RUN (Vitaly Kuznetsov) [2074835] - KVM: selftests: Rename 'get_cpuid_test' to 'cpuid_test' (Vitaly Kuznetsov) [2074835] - KVM: x86: Partially allow KVM_SET_CPUID{,2} after KVM_RUN (Vitaly Kuznetsov) [2074835] - KVM: x86/pmu: Fix available_event_types check for REF_CPU_CYCLES event (Vitaly Kuznetsov) [2074835] - KVM: x86: Check for rmaps allocation (Vitaly Kuznetsov) [2074835] - KVM: SEV: Mark nested locking of kvm->lock (Vitaly Kuznetsov) [2074835] - KVM: SVM: include CR3 in initial VMSA state for SEV-ES guests (Vitaly Kuznetsov) [2074835] - KVM: VMX: Provide vmread version using asm-goto-with-outputs (Vitaly Kuznetsov) [2074835] - KVM: x86: Fix wall clock writes in Xen shared_info not to mark page dirty (Vitaly Kuznetsov) [2074835] - KVM: x86/xen: Add KVM_IRQ_ROUTING_XEN_EVTCHN and event channel delivery (Vitaly Kuznetsov) [2074835] - KVM: x86/xen: Maintain valid mapping of Xen shared_info page (Vitaly Kuznetsov) [2074835] - KVM: Reinstate gfn_to_pfn_cache with invalidation support (Vitaly Kuznetsov) [2074835] - KVM: Warn if mark_page_dirty() is called without an active vCPU (Vitaly Kuznetsov) [2074835] - x86/kvm: Silence per-cpu pr_info noise about KVM clocks and steal time (Vitaly Kuznetsov) [2074835] - KVM: x86: Update vPMCs when retiring branch instructions (Vitaly Kuznetsov) [2074835] - KVM: x86: Update vPMCs when retiring instructions (Vitaly Kuznetsov) [2074835] - KVM: x86/pmu: Add pmc->intr to refactor kvm_perf_overflow{_intr}() (Vitaly Kuznetsov) [2074835] - KVM: x86/pmu: Reuse pmc_perf_hw_id() and drop find_fixed_event() (Vitaly Kuznetsov) [2074835] - KVM: x86/pmu: Refactoring find_arch_event() to pmc_perf_hw_id() (Vitaly Kuznetsov) [2074835] - KVM: x86/pmu: Setup pmc->eventsel for fixed PMCs (Vitaly Kuznetsov) [2074835] - KVM: x86: avoid out of bounds indices for fixed performance counters (Vitaly Kuznetsov) [2074835] - KVM: VMX: Mark VCPU_EXREG_CR3 dirty when !CR0_PG -> CR0_PG if EPT + !URG (Vitaly Kuznetsov) [2074835] - KVM: x86/mmu: Reconstruct shadow page root if the guest PDPTEs is changed (Vitaly Kuznetsov) [2074835] - KVM: VMX: Save HOST_CR3 in vmx_set_host_fs_gs() (Vitaly Kuznetsov) [2074835] - Revert "KVM: X86: Update mmu->pdptrs only when it is changed" (Vitaly Kuznetsov) [2074835] - selftests: KVM: sev_migrate_tests: Add mirror command tests (Vitaly Kuznetsov) [2074835] - selftests: KVM: sev_migrate_tests: Fix sev_ioctl() (Vitaly Kuznetsov) [2074835] - selftests: KVM: sev_migrate_tests: Fix test_sev_mirror() (Vitaly Kuznetsov) [2074835] - KVM: VMX: Wake vCPU when delivering posted IRQ even if vCPU == this vCPU (Vitaly Kuznetsov) [2074835] - KVM: selftests: Add test to verify TRIPLE_FAULT on invalid L2 guest state (Vitaly Kuznetsov) [2074835] - KVM: nVMX: Synthesize TRIPLE_FAULT for L2 if emulation is required (Vitaly Kuznetsov) [2074835] - KVM: VMX: Always clear vmx->fail on emulation_required (Vitaly Kuznetsov) [2074835] - selftests: KVM: Fix non-x86 compiling (Vitaly Kuznetsov) [2074835] - KVM: x86: Always set kvm_run->if_flag (Vitaly Kuznetsov) [2074835] - KVM: x86: remove PMU FIXED_CTR3 from msrs_to_save_all (Vitaly Kuznetsov) [2074835] - KVM: x86: Retry page fault if MMU reload is pending and root has no sp (Vitaly Kuznetsov) [2074835] - KVM: selftests: vmx_pmu_msrs_test: Drop tests mangling guest visible CPUIDs (Vitaly Kuznetsov) [2074835] - KVM: x86: Drop guest CPUID check for host initiated writes to MSR_IA32_PERF_CAPABILITIES (Vitaly Kuznetsov) [2074835] - selftests: KVM: Add test to verify KVM doesn't explode on "bad" I/O (Vitaly Kuznetsov) [2074835] - KVM: x86: Don't WARN if userspace mucks with RCX during string I/O exit (Vitaly Kuznetsov) [2074835] - KVM: X86: Raise #GP when clearing CR0_PG in 64 bit mode (Vitaly Kuznetsov) [2074835] - selftests: KVM: avoid failures due to reserved HyperTransport region (Vitaly Kuznetsov) [2074835] - KVM: x86: Ignore sparse banks size for an "all CPUs", non-sparse IPI req (Vitaly Kuznetsov) [2074835] - KVM: Add Makefile.kvm for common files, use it for x86 (Vitaly Kuznetsov) [2074835] - KVM: Introduce CONFIG_HAVE_KVM_DIRTY_RING (Vitaly Kuznetsov) [2074835] - KVM: x86: selftests: svm_int_ctl_test: fix intercept calculation (Vitaly Kuznetsov) [2074835] - KVM: VMX: Clean up PI pre/post-block WARNs (Vitaly Kuznetsov) [2074835] - KVM: nVMX: Ensure vCPU honors event request if posting nested IRQ fails (Vitaly Kuznetsov) [2074835] - KVM: x86: add a tracepoint for APICv/AVIC interrupt delivery (Vitaly Kuznetsov) [2074835] - KVM: nVMX: Implement Enlightened MSR Bitmap feature (Vitaly Kuznetsov) [2074835] - KVM: nVMX: Track whether changes in L0 require MSR bitmap for L2 to be rebuilt (Vitaly Kuznetsov) [2074835] - KVM: VMX: Introduce vmx_msr_bitmap_l01_changed() helper (Vitaly Kuznetsov) [2074835] - KVM: x86: Exit to userspace if emulation prepared a completion callback (Vitaly Kuznetsov) [2074835] - KVM: nVMX: Don't use Enlightened MSR Bitmap for L3 (Vitaly Kuznetsov) [2074835] - KVM: x86: Use different callback if msr access comes from the emulator (Vitaly Kuznetsov) [2074835] - KVM: x86: Add an emulation type to handle completion of user exits (Vitaly Kuznetsov) [2074835] - KVM: x86: Handle 32-bit wrap of EIP for EMULTYPE_SKIP with flat code seg (Vitaly Kuznetsov) [2074835] - KVM: Clear pv eoi pending bit only when it is set (Vitaly Kuznetsov) [2074835] - KVM: x86: don't print when fail to read/write pv eoi memory (Vitaly Kuznetsov) [2074835] - KVM: X86: Remove mmu parameter from load_pdptrs() (Vitaly Kuznetsov) [2074835] - KVM: X86: Rename gpte_is_8_bytes to has_4_byte_gpte and invert the direction (Vitaly Kuznetsov) [2074835] - KVM: VMX: Use ept_caps_to_lpage_level() in hardware_setup() (Vitaly Kuznetsov) [2074835] - KVM: X86: Add parameter huge_page_level to kvm_init_shadow_ept_mmu() (Vitaly Kuznetsov) [2074835] - KVM: X86: Add huge_page_level to __reset_rsvds_bits_mask_ept() (Vitaly Kuznetsov) [2074835] - KVM: X86: Remove mmu->translate_gpa (Vitaly Kuznetsov) [2074835] - KVM: X86: Add parameter struct kvm_mmu *mmu into mmu->gva_to_gpa() (Vitaly Kuznetsov) [2074835] - KVM: X86: Calculate quadrant when !role.gpte_is_8_bytes (Vitaly Kuznetsov) [2074835] - KVM: X86: Remove useless code to set role.gpte_is_8_bytes when role.direct (Vitaly Kuznetsov) [2074835] - KVM: X86: Remove unused declaration of __kvm_mmu_free_some_pages() (Vitaly Kuznetsov) [2074835] - KVM: X86: Fix comment in __kvm_mmu_create() (Vitaly Kuznetsov) [2074835] - KVM: X86: Skip allocating pae_root for vcpu->arch.guest_mmu when !tdp_enabled (Vitaly Kuznetsov) [2074835] - KVM: SVM: Allocate sd->save_area with __GFP_ZERO (Vitaly Kuznetsov) [2074835] - KVM: SVM: Rename get_max_npt_level() to get_npt_level() (Vitaly Kuznetsov) [2074835] - KVM: VMX: Change comments about vmx_get_msr() (Vitaly Kuznetsov) [2074835] - KVM: VMX: Use kvm_set_msr_common() for MSR_IA32_TSC_ADJUST in the default way (Vitaly Kuznetsov) [2074835] - KVM: VMX: Save HOST_CR3 in vmx_prepare_switch_to_guest() (Vitaly Kuznetsov) [2074835] - KVM: VMX: Update msr value after kvm_set_user_return_msr() succeeds (Vitaly Kuznetsov) [2074835] - KVM: VMX: Avoid to rdmsrl(MSR_IA32_SYSENTER_ESP) (Vitaly Kuznetsov) [2074835] - KVM: X86: Update mmu->pdptrs only when it is changed (Vitaly Kuznetsov) [2074835] - KVM: X86: Remove kvm_register_clear_available() (Vitaly Kuznetsov) [2074835] - KVM: vmx, svm: clean up mass updates to regs_avail/regs_dirty bits (Vitaly Kuznetsov) [2074835] - KVM: VMX: Update vmcs.GUEST_CR3 only when the guest CR3 is dirty (Vitaly Kuznetsov) [2074835] - KVM: X86: Mark CR3 dirty when vcpu->arch.cr3 is changed (Vitaly Kuznetsov) [2074835] - KVM: SVM: Remove references to VCPU_EXREG_CR3 (Vitaly Kuznetsov) [2074835] - KVM: SVM: Remove outdated comment in svm_load_mmu_pgd() (Vitaly Kuznetsov) [2074835] - KVM: X86: Move CR0 pdptr_bits into header file as X86_CR0_PDPTR_BITS (Vitaly Kuznetsov) [2074835] - KVM: VMX: Add and use X86_CR4_PDPTR_BITS when !enable_ept (Vitaly Kuznetsov) [2074835] - KVM: VMX: Add and use X86_CR4_TLBFLUSH_BITS when !enable_ept (Vitaly Kuznetsov) [2074835] - KVM: SVM: Track dirtiness of PDPTRs even if NPT is disabled (Vitaly Kuznetsov) [2074835] - KVM: VMX: Mark VCPU_EXREG_PDPTR available in ept_save_pdptrs() (Vitaly Kuznetsov) [2074835] - KVM: X86: Ensure that dirty PDPTRs are loaded (Vitaly Kuznetsov) [2074835] - KVM: x86/svm: Add module param to control PMU virtualization (Vitaly Kuznetsov) [2074835] - KVM: VMX: Remove vCPU from PI wakeup list before updating PID.NV (Vitaly Kuznetsov) [2074835] - KVM: VMX: Move Posted Interrupt ndst computation out of write loop (Vitaly Kuznetsov) [2074835] - KVM: VMX: Read Posted Interrupt "control" exactly once per loop iteration (Vitaly Kuznetsov) [2074835] - KVM: VMX: Save/restore IRQs (instead of CLI/STI) during PI pre/post block (Vitaly Kuznetsov) [2074835] - KVM: VMX: Drop pointless PI.NDST update when blocking (Vitaly Kuznetsov) [2074835] - KVM: VMX: Use boolean returns for Posted Interrupt "test" helpers (Vitaly Kuznetsov) [2074835] - KVM: VMX: Drop unnecessary PI logic to handle impossible conditions (Vitaly Kuznetsov) [2074835] - KVM: VMX: Skip Posted Interrupt updates if APICv is hard disabled (Vitaly Kuznetsov) [2074835] - KVM: Add helpers to wake/query blocking vCPU (Vitaly Kuznetsov) [2074835] - KVM: x86: Invoke kvm_vcpu_block() directly for non-HALTED wait states (Vitaly Kuznetsov) [2074835] - KVM: x86: Directly block (instead of "halting") UNINITIALIZED vCPUs (Vitaly Kuznetsov) [2074835] - KVM: Don't redo ktime_get() when calculating halt-polling stop/deadline (Vitaly Kuznetsov) [2074835] - KVM: stats: Add stat to detect if vcpu is currently blocking (Vitaly Kuznetsov) [2074835] - KVM: Split out a kvm_vcpu_block() helper from kvm_vcpu_halt() (Vitaly Kuznetsov) [2074835] - KVM: Rename kvm_vcpu_block() => kvm_vcpu_halt() (Vitaly Kuznetsov) [2074835] - KVM: Drop obsolete kvm_arch_vcpu_block_finish() (Vitaly Kuznetsov) [2074835] - KVM: x86: Tweak halt emulation helper names to free up kvm_vcpu_halt() (Vitaly Kuznetsov) [2074835] - KVM: Don't block+unblock when halt-polling is successful (Vitaly Kuznetsov) [2074835] - KVM: Reconcile discrepancies in halt-polling stats (Vitaly Kuznetsov) [2074835] - KVM: Refactor and document halt-polling stats update helper (Vitaly Kuznetsov) [2074835] - KVM: Update halt-polling stats if and only if halt-polling was attempted (Vitaly Kuznetsov) [2074835] - KVM: Force PPC to define its own rcuwait object (Vitaly Kuznetsov) [2074835] - KVM: SVM: Ensure target pCPU is read once when signalling AVIC doorbell (Vitaly Kuznetsov) [2074835] - KVM: VMX: Don't unblock vCPU w/ Posted IRQ if IRQs are disabled in guest (Vitaly Kuznetsov) [2074835] - KVM: x86: change TLB flush indicator to bool (Vitaly Kuznetsov) [2074835] - KVM: Avoid atomic operations when kicking the running vCPU (Vitaly Kuznetsov) [2074835] - KVM: x86/MMU: Simplify flow of vmx_get_mt_mask (Vitaly Kuznetsov) [2074835] - KVM: x86/mmu: Propagate memslot const qualifier (Vitaly Kuznetsov) [2074835] - KVM: x86/mmu: Remove need for a vcpu from mmu_try_to_unsync_pages (Vitaly Kuznetsov) [2074835] - KVM: x86/mmu: Remove need for a vcpu from kvm_slot_page_track_is_active (Vitaly Kuznetsov) [2074835] - KVM: x86/mmu: Use shadow page role to detect PML-unfriendly pages for L2 (Vitaly Kuznetsov) [2074835] - KVM: nSVM: introduce struct vmcb_ctrl_area_cached (Vitaly Kuznetsov) [2074835] - KVM: nSVM: split out __nested_vmcb_check_controls (Vitaly Kuznetsov) [2074835] - KVM: nSVM: use svm->nested.save to load vmcb12 registers and avoid TOC/TOU races (Vitaly Kuznetsov) [2074835] - KVM: nSVM: use vmcb_save_area_cached in nested_vmcb_valid_sregs() (Vitaly Kuznetsov) [2074835] - KVM: nSVM: rename nested_load_control_from_vmcb12 in nested_copy_vmcb_control_to_cache (Vitaly Kuznetsov) [2074835] - KVM: nSVM: introduce svm->nested.save to cache save area before checks (Vitaly Kuznetsov) [2074835] - KVM: nSVM: move nested_vmcb_check_cr3_cr4 logic in nested_vmcb_valid_sregs (Vitaly Kuznetsov) [2074835] - KVM: Dynamically allocate "new" memslots from the get-go (Vitaly Kuznetsov) [2074835] - KVM: Wait 'til the bitter end to initialize the "new" memslot (Vitaly Kuznetsov) [2074835] - KVM: Optimize overlapping memslots check (Vitaly Kuznetsov) [2074835] - KVM: Optimize gfn lookup in kvm_zap_gfn_range() (Vitaly Kuznetsov) [2074835] - KVM: Call kvm_arch_flush_shadow_memslot() on the old slot in kvm_invalidate_memslot() (Vitaly Kuznetsov) [2074835] - KVM: Keep memslots in tree-based structures instead of array-based ones (Vitaly Kuznetsov) [2074835] - KVM: Use interval tree to do fast hva lookup in memslots (Vitaly Kuznetsov) [2074835] - KVM: Resolve memslot ID via a hash table instead of via a static array (Vitaly Kuznetsov) [2074835] - KVM: Move WARN on invalid memslot index to update_memslots() (Vitaly Kuznetsov) [2074835] - KVM: x86: Use nr_memslot_pages to avoid traversing the memslots array (Vitaly Kuznetsov) [2074835] - KVM: x86: Don't call kvm_mmu_change_mmu_pages() if the count hasn't changed (Vitaly Kuznetsov) [2074835] - KVM: Don't make a full copy of the old memslot in __kvm_set_memory_region() (Vitaly Kuznetsov) [2074835] - KVM: x86: Don't assume old/new memslots are non-NULL at memslot commit (Vitaly Kuznetsov) [2074835] - KVM: Use prepare/commit hooks to handle generic memslot metadata updates (Vitaly Kuznetsov) [2074835] - KVM: Stop passing kvm_userspace_memory_region to arch memslot hooks (Vitaly Kuznetsov) [2074835] - KVM: PPC: Avoid referencing userspace memory region in memslot updates (Vitaly Kuznetsov) [2074835] - KVM: x86: Use "new" memslot instead of userspace memory region (Vitaly Kuznetsov) [2074835] - KVM: s390: Use "new" memslot instead of userspace memory region (Vitaly Kuznetsov) [2074835] - KVM: arm64: Use "new" memslot instead of userspace memory region (Vitaly Kuznetsov) [2074835] - KVM: Let/force architectures to deal with arch specific memslot data (Vitaly Kuznetsov) [2074835] - KVM: Use "new" memslot's address space ID instead of dedicated param (Vitaly Kuznetsov) [2074835] - KVM: Resync only arch fields when slots_arch_lock gets reacquired (Vitaly Kuznetsov) [2074835] - KVM: Open code kvm_delete_memslot() into its only caller (Vitaly Kuznetsov) [2074835] - KVM: Require total number of memslot pages to fit in an unsigned long (Vitaly Kuznetsov) [2074835] - KVM: Convert kvm_for_each_vcpu() to using xa_for_each_range() (Vitaly Kuznetsov) [2074835] - KVM: arm64: vgic-v3: Fix vcpu index comparison (Vitaly Kuznetsov) [2074835] - KVM: Use 'unsigned long' as kvm_for_each_vcpu()'s index (Vitaly Kuznetsov) [2074835] - KVM: Convert the kvm->vcpus array to a xarray (Vitaly Kuznetsov) [2074835] - KVM: Move wiping of the kvm->vcpus array to common code (Vitaly Kuznetsov) [2074835] - KVM: MMU: update comment on the number of page role combinations (Vitaly Kuznetsov) [2074835] - KVM: x86/mmu: Retry page fault if root is invalidated by memslot update (Vitaly Kuznetsov) [2074835] - KVM: VMX: Set failure code in prepare_vmcs02() (Vitaly Kuznetsov) [2074835] - KVM: ensure APICv is considered inactive if there is no APIC (Vitaly Kuznetsov) [2074835] - KVM: x86/pmu: Fix reserved bits for AMD PerfEvtSeln register (Vitaly Kuznetsov) [2074835] - x86: Snapshot thread flags (Vitaly Kuznetsov) [2074835] - thread_info: Add helpers to snapshot thread flags (Vitaly Kuznetsov) [2074835] - KVM: fix avic_set_running for preemptable kernels (Vitaly Kuznetsov) [2074835] - KVM: VMX: clear vmx_x86_ops.sync_pir_to_irr if APICv is disabled (Vitaly Kuznetsov) [2074835] - KVM: SEV: accept signals in sev_lock_two_vms (Vitaly Kuznetsov) [2074835] - KVM: SEV: do not take kvm->lock when destroying (Vitaly Kuznetsov) [2074835] - KVM: SEV: Prohibit migration of a VM that has mirrors (Vitaly Kuznetsov) [2074835] - KVM: SEV: Do COPY_ENC_CONTEXT_FROM with both VMs locked (Vitaly Kuznetsov) [2074835] - selftests: sev_migrate_tests: add tests for KVM_CAP_VM_COPY_ENC_CONTEXT_FROM (Vitaly Kuznetsov) [2074835] - KVM: SEV: move mirror status to destination of KVM_CAP_VM_MOVE_ENC_CONTEXT_FROM (Vitaly Kuznetsov) [2074835] - KVM: SEV: initialize regions_list of a mirror VM (Vitaly Kuznetsov) [2074835] - KVM: SEV: cleanup locking for KVM_CAP_VM_MOVE_ENC_CONTEXT_FROM (Vitaly Kuznetsov) [2074835] - KVM: SEV: do not use list_replace_init on an empty list (Vitaly Kuznetsov) [2074835] - KVM: x86: Use a stable condition around all VT-d PI paths (Vitaly Kuznetsov) [2074835] - KVM: x86: check PIR even for vCPUs with disabled APICv (Vitaly Kuznetsov) [2074835] - KVM: VMX: prepare sync_pir_to_irr for running with APICv disabled (Vitaly Kuznetsov) [2074835] - KVM: selftests: page_table_test: fix calculation of guest_test_phys_mem (Vitaly Kuznetsov) [2074835] - KVM: x86/mmu: Handle "default" period when selectively waking kthread (Vitaly Kuznetsov) [2074835] - KVM: MMU: shadow nested paging does not have PKU (Vitaly Kuznetsov) [2074835] - KVM: x86/mmu: Remove spurious TLB flushes in TDP MMU zap collapsible path (Vitaly Kuznetsov) [2074835] - KVM: x86/mmu: Use yield-safe TDP MMU root iter in MMU notifier unmapping (Vitaly Kuznetsov) [2074835] - KVM: X86: Use vcpu->arch.walk_mmu for kvm_mmu_invlpg() (Vitaly Kuznetsov) [2074835] - KVM: selftests: Make sure kvm_create_max_vcpus test won't hit RLIMIT_NOFILE (Vitaly Kuznetsov) [2074835] - KVM: x86: Forbid KVM_SET_CPUID{,2} after KVM_RUN (Vitaly Kuznetsov) [2074835] - KVM: selftests: Avoid KVM_SET_CPUID2 after KVM_RUN in hyperv_features test (Vitaly Kuznetsov) [2074835] - KVM: nVMX: Emulate guest TLB flush on nested VM-Enter with new vpid12 (Vitaly Kuznetsov) [2074835] - KVM: nVMX: Abide to KVM_REQ_TLB_FLUSH_GUEST request on nested vmentry/vmexit (Vitaly Kuznetsov) [2074835] - KVM: nVMX: Flush current VPID (L1 vs. L2) for KVM_REQ_TLB_FLUSH_GUEST (Vitaly Kuznetsov) [2074835] - KVM: SEV: expose KVM_CAP_VM_MOVE_ENC_CONTEXT_FROM capability (Vitaly Kuznetsov) [2074835] - selftests: sev_migrate_tests: free all VMs (Vitaly Kuznetsov) [2074835] - selftests: fix check for circular KVM_CAP_VM_MOVE_ENC_CONTEXT_FROM (Vitaly Kuznetsov) [2074835] - KVM: x86: ignore APICv if LAPIC is not enabled (Vitaly Kuznetsov) [2074835] - KVM: downgrade two BUG_ONs to WARN_ON_ONCE (Vitaly Kuznetsov) [2074835] - KVM: VMX: do not use uninitialized gfn_to_hva_cache (Vitaly Kuznetsov) [2074835] - KVM: x86/mmu: Pass parameter flush as false in kvm_tdp_mmu_zap_collapsible_sptes() (Vitaly Kuznetsov) [2074835] - KVM: x86/mmu: Skip tlb flush if it has been done in zap_gfn_range() (Vitaly Kuznetsov) [2074835] - x86/kvm: remove unused ack_notifier callbacks (Vitaly Kuznetsov) [2074835] - KVM: Disallow user memslot with size that exceeds "unsigned long" (Vitaly Kuznetsov) [2074835] - KVM: Ensure local memslot copies operate on up-to-date arch-specific data (Vitaly Kuznetsov) [2074835] - KVM: x86/mmu: Fix TLB flush range when handling disconnected pt (Vitaly Kuznetsov) [2074835] - KVM: x86: Assume a 64-bit hypercall for guests with protected state (Vitaly Kuznetsov) [2074835] - selftests: KVM: Add /x86_64/sev_migrate_tests to .gitignore (Vitaly Kuznetsov) [2074835] - KVM: SEV: Fix typo in and tweak name of cmd_allowed_from_miror() (Vitaly Kuznetsov) [2074835] - KVM: SEV: Drop a redundant setting of sev->asid during initialization (Vitaly Kuznetsov) [2074835] - KVM: SEV: WARN if SEV-ES is marked active but SEV is not (Vitaly Kuznetsov) [2074835] - KVM: SEV: Set sev_info.active after initial checks in sev_guest_init() (Vitaly Kuznetsov) [2074835] - KVM: SEV: Disallow COPY_ENC_CONTEXT_FROM if target has created vCPUs (Vitaly Kuznetsov) [2074835] - KVM: Kill kvm_map_gfn() / kvm_unmap_gfn() and gfn_to_pfn_cache (Vitaly Kuznetsov) [2074835] - KVM: nVMX: Use a gfn_to_hva_cache for vmptrld (Vitaly Kuznetsov) [2074835] - KVM: nVMX: Use kvm_read_guest_offset_cached() for nested VMCS check (Vitaly Kuznetsov) [2074835] - KVM: x86/xen: Use sizeof_field() instead of open-coding it (Vitaly Kuznetsov) [2074835] - KVM: nVMX: Use kvm_{read,write}_guest_cached() for shadow_vmcs12 (Vitaly Kuznetsov) [2074835] - KVM: x86/mmu: include EFER.LMA in extended mmu role (Vitaly Kuznetsov) [2074835] - KVM: nVMX: don't use vcpu->arch.efer when checking host state on nested state load (Vitaly Kuznetsov) [2074835] - KVM: Fix steal time asm constraints (Vitaly Kuznetsov) [2074835] - KVM: x86: Move Intel Processor Trace interrupt handler to vmx.c (Vitaly Kuznetsov) [2074835] - KVM: Move x86's perf guest info callbacks to generic KVM (Vitaly Kuznetsov) [2074835] - KVM: x86: More precisely identify NMI from guest when handling PMI (Vitaly Kuznetsov) [2074835] - KVM: x86: Drop current_vcpu for kvm_running_vcpu + kvm_arch_vcpu variable (Vitaly Kuznetsov) [2074835] - perf/core: Rework guest callbacks to prepare for static_call support (Vitaly Kuznetsov) [2074835] - perf: Protect perf_guest_cbs with RCU (Vitaly Kuznetsov) [2074835] - KVM: x86: Register Processor Trace interrupt hook iff PT enabled in guest (Vitaly Kuznetsov) [2074835] - KVM: x86: Register perf callbacks after calling vendor's hardware_setup() (Vitaly Kuznetsov) [2074835] - KVM: x86: Fix uninitialized eoi_exit_bitmap usage in vcpu_load_eoi_exitmap() (Vitaly Kuznetsov) [2074835] - KVM: selftests: Use perf_test_destroy_vm in memslot_modification_stress_test (Vitaly Kuznetsov) [2074835] - KVM: selftests: Wait for all vCPU to be created before entering guest mode (Vitaly Kuznetsov) [2074835] - KVM: selftests: Move vCPU thread creation and joining to common helpers (Vitaly Kuznetsov) [2074835] - KVM: selftests: Sync perf_test_args to guest during VM creation (Vitaly Kuznetsov) [2074835] - KVM: selftests: Fill per-vCPU struct during "perf_test" VM creation (Vitaly Kuznetsov) [2074835] - KVM: selftests: Start at iteration 0 instead of -1 (Vitaly Kuznetsov) [2074835] - KVM: selftests: Create VM with adjusted number of guest pages for perf tests (Vitaly Kuznetsov) [2074835] - KVM: selftests: Remove perf_test_args.host_page_size (Vitaly Kuznetsov) [2074835] - KVM: selftests: Move per-VM GPA into perf_test_args (Vitaly Kuznetsov) [2074835] - KVM: selftests: Use perf util's per-vCPU GPA/pages in demand paging test (Vitaly Kuznetsov) [2074835] - KVM: selftests: Capture per-vCPU GPA in perf_test_vcpu_args (Vitaly Kuznetsov) [2074835] - KVM: selftests: Use shorthand local var to access struct perf_tests_args (Vitaly Kuznetsov) [2074835] - KVM: selftests: Require GPA to be aligned when backed by hugepages (Vitaly Kuznetsov) [2074835] - KVM: selftests: Assert mmap HVA is aligned when using HugeTLB (Vitaly Kuznetsov) [2074835] - KVM: selftests: Expose align() helpers to tests (Vitaly Kuznetsov) [2074835] - KVM: selftests: Explicitly state indicies for vm_guest_mode_params array (Vitaly Kuznetsov) [2074835] - KVM: selftests: Add event channel upcall support to xen_shinfo_test (Vitaly Kuznetsov) [2074835] - KVM: SEV: unify cgroup cleanup code for svm_vm_migrate_from (Vitaly Kuznetsov) [2074835] - KVM: x86: move guest_pv_has out of user_access section (Vitaly Kuznetsov) [2074835] - KVM: Move INVPCID type check from vmx and svm to the common kvm_handle_invpcid() (Vitaly Kuznetsov) [2074835] - KVM: VMX: Add a helper function to retrieve the GPR index for INVPCID, INVVPID, and INVEPT (Vitaly Kuznetsov) [2074835] - KVM: nVMX: Clean up x2APIC MSR handling for L2 (Vitaly Kuznetsov) [2074835] - KVM: VMX: Macrofy the MSR bitmap getters and setters (Vitaly Kuznetsov) [2074835] - KVM: nVMX: Handle dynamic MSR intercept toggling (Vitaly Kuznetsov) [2074835] - KVM: nVMX: Query current VMCS when determining if MSR bitmaps are in use (Vitaly Kuznetsov) [2074835] - KVM: x86: Don't update vcpu->arch.pv_eoi.msr_val when a bogus value was written to MSR_KVM_PV_EOI_EN (Vitaly Kuznetsov) [2074835] - KVM: x86: Rename kvm_lapic_enable_pv_eoi() (Vitaly Kuznetsov) [2074835] - kvm: mmu: Use fast PF path for access tracking of huge pages when possible (Vitaly Kuznetsov) [2074835] - KVM: x86/mmu: Properly dereference rcu-protected TDP MMU sptep iterator (Vitaly Kuznetsov) [2074835] - kvm: x86: Convert return type of *is_valid_rdpmc_ecx() to bool (Vitaly Kuznetsov) [2074835] - KVM: x86: Fix recording of guest steal time / preempted status (Vitaly Kuznetsov) [2074835] - selftest: KVM: Add intra host migration tests (Vitaly Kuznetsov) [2074835] - selftest: KVM: Add open sev dev helper (Vitaly Kuznetsov) [2074835] - KVM: SEV: Add support for SEV-ES intra host migration (Vitaly Kuznetsov) [2074835] - KVM: SEV: Add support for SEV intra host migration (Vitaly Kuznetsov) [2074835] - KVM: SEV: provide helpers to charge/uncharge misc_cg (Vitaly Kuznetsov) [2074835] - KVM: generalize "bugged" VM to "dead" VM (Vitaly Kuznetsov) [2074835] - EFI: Introduce the new AMD Memory Encryption GUID. (Vitaly Kuznetsov) [2074835] - x86/kvm: Add AMD SEV specific Hypercall3 (Vitaly Kuznetsov) [2074835] - KVM: x86: SGX must obey the KVM_INTERNAL_ERROR_EMULATION protocol (Vitaly Kuznetsov) [2074835] - KVM: x86: On emulation failure, convey the exit reason, etc. to userspace (Vitaly Kuznetsov) [2074835] - KVM: x86: Get exit_reason as part of kvm_x86_ops.get_exit_info (Vitaly Kuznetsov) [2074835] - KVM: x86: Clarify the kvm_run.emulation_failure structure layout (Vitaly Kuznetsov) [2074835] - KVM: selftests: Fix nested SVM tests when built with clang (Vitaly Kuznetsov) [2074835] - kvm: x86: Remove stale declaration of kvm_no_apic_vcpu (Vitaly Kuznetsov) [2074835] - KVM: x86: Move SVM's APICv sanity check to common x86 (Vitaly Kuznetsov) [2074835] - KVM: x86/mmu: Extract zapping of rmaps for gfn range to separate helper (Vitaly Kuznetsov) [2074835] - KVM: x86/mmu: Drop a redundant remote TLB flush in kvm_zap_gfn_range() (Vitaly Kuznetsov) [2074835] - KVM: x86/mmu: Drop a redundant, broken remote TLB flush (Vitaly Kuznetsov) [2074835] - KVM: X86: Don't unload MMU in kvm_vcpu_flush_tlb_guest() (Vitaly Kuznetsov) [2074835] - KVM: X86: pair smp_wmb() of mmu_try_to_unsync_pages() with smp_rmb() (Vitaly Kuznetsov) [2074835] - KVM: emulate: Comment on difference between RDPMC implementation and manual (Vitaly Kuznetsov) [2074835] - KVM: x86: Add vendor name to kvm_x86_ops, use it for error messages (Vitaly Kuznetsov) [2074835] - kvm: x86: mmu: Make NX huge page recovery period configurable (Vitaly Kuznetsov) [2074835] - KVM: vPMU: Fill get_msr MSR_CORE_PERF_GLOBAL_OVF_CTRL w/ 0 (Vitaly Kuznetsov) [2074835] - KVM: x86/mmu: Rename slot_handle_leaf to slot_handle_level_4k (Vitaly Kuznetsov) [2074835] - KVM: VMX: RTIT_CTL_BRANCH_EN has no dependency on other CPUID bit (Vitaly Kuznetsov) [2074835] - KVM: VMX: Rename pt_desc.addr_range to pt_desc.num_address_ranges (Vitaly Kuznetsov) [2074835] - KVM: VMX: Use precomputed vmx->pt_desc.addr_range (Vitaly Kuznetsov) [2074835] - KVM: VMX: Restore host's MSR_IA32_RTIT_CTL when it's not zero (Vitaly Kuznetsov) [2074835] - KVM: x86/mmu: clean up prefetch/prefault/speculative naming (Vitaly Kuznetsov) [2074835] - KVM: cleanup allocation of rmaps and page tracking data (Vitaly Kuznetsov) [2074835] - selftests: KVM: Introduce system counter offset test (Vitaly Kuznetsov) [2074835] - selftests: KVM: Add helpers for vCPU device attributes (Vitaly Kuznetsov) [2074835] - selftests: KVM: Add test for KVM_{GET,SET}_CLOCK (Vitaly Kuznetsov) [2074835] - kvm: x86: protect masterclock with a seqcount (Vitaly Kuznetsov) [2074835] - KVM: x86: Report host tsc and realtime values in KVM_GET_CLOCK (Vitaly Kuznetsov) [2074835] - KVM: x86: avoid warning with -Wbitwise-instead-of-logical (Vitaly Kuznetsov) [2074835] - KVM: x86: only allocate gfn_track when necessary (Vitaly Kuznetsov) [2074835] - KVM: x86: add config for non-kvm users of page tracking (Vitaly Kuznetsov) [2074835] - nSVM: Check for reserved encodings of TLB_CONTROL in nested VMCB (Vitaly Kuznetsov) [2074835] - kvm: use kvfree() in kvm_arch_free_vm() (Vitaly Kuznetsov) [2074835] - KVM: x86: Expose Predictive Store Forwarding Disable (Vitaly Kuznetsov) [2074835] - KVM: x86/mmu: Avoid memslot lookup in make_spte and mmu_try_to_unsync_pages (Vitaly Kuznetsov) [2074835] - KVM: x86/mmu: Avoid memslot lookup in rmap_add (Vitaly Kuznetsov) [2074835] - KVM: MMU: pass struct kvm_page_fault to mmu_set_spte (Vitaly Kuznetsov) [2074835] - KVM: MMU: pass kvm_mmu_page struct to make_spte (Vitaly Kuznetsov) [2074835] - KVM: MMU: set ad_disabled in TDP MMU role (Vitaly Kuznetsov) [2074835] - KVM: MMU: remove unnecessary argument to mmu_set_spte (Vitaly Kuznetsov) [2074835] - KVM: MMU: clean up make_spte return value (Vitaly Kuznetsov) [2074835] - KVM: MMU: inline set_spte in FNAME(sync_page) (Vitaly Kuznetsov) [2074835] - KVM: MMU: inline set_spte in mmu_set_spte (Vitaly Kuznetsov) [2074835] - KVM: x86/mmu: Avoid memslot lookup in page_fault_handle_page_track (Vitaly Kuznetsov) [2074835] - KVM: x86/mmu: Pass the memslot around via struct kvm_page_fault (Vitaly Kuznetsov) [2074835] - KVM: MMU: unify tdp_mmu_map_set_spte_atomic and tdp_mmu_set_spte_atomic_no_dirty_log (Vitaly Kuznetsov) [2074835] - KVM: MMU: mark page dirty in make_spte (Vitaly Kuznetsov) [2074835] - KVM: x86/mmu: Fold rmap_recycle into rmap_add (Vitaly Kuznetsov) [2074835] - KVM: x86/mmu: Verify shadow walk doesn't terminate early in page faults (Vitaly Kuznetsov) [2074835] - KVM: MMU: change tracepoints arguments to kvm_page_fault (Vitaly Kuznetsov) [2074835] - KVM: MMU: change disallowed_hugepage_adjust() arguments to kvm_page_fault (Vitaly Kuznetsov) [2074835] - KVM: MMU: change kvm_mmu_hugepage_adjust() arguments to kvm_page_fault (Vitaly Kuznetsov) [2074835] - KVM: MMU: change fast_page_fault() arguments to kvm_page_fault (Vitaly Kuznetsov) [2074835] - KVM: MMU: change tdp_mmu_map_handle_target_level() arguments to kvm_page_fault (Vitaly Kuznetsov) [2074835] - KVM: MMU: change kvm_tdp_mmu_map() arguments to kvm_page_fault (Vitaly Kuznetsov) [2074835] - KVM: MMU: change FNAME(fetch)() arguments to kvm_page_fault (Vitaly Kuznetsov) [2074835] - KVM: MMU: change __direct_map() arguments to kvm_page_fault (Vitaly Kuznetsov) [2074835] - KVM: MMU: change handle_abnormal_pfn() arguments to kvm_page_fault (Vitaly Kuznetsov) [2074835] - KVM: MMU: change kvm_faultin_pfn() arguments to kvm_page_fault (Vitaly Kuznetsov) [2074835] - KVM: MMU: change page_fault_handle_page_track() arguments to kvm_page_fault (Vitaly Kuznetsov) [2074835] - KVM: MMU: change direct_page_fault() arguments to kvm_page_fault (Vitaly Kuznetsov) [2074835] - KVM: MMU: change mmu->page_fault() arguments to kvm_page_fault (Vitaly Kuznetsov) [2074835] - KVM: MMU: Introduce struct kvm_page_fault (Vitaly Kuznetsov) [2074835] - KVM: MMU: pass unadulterated gpa to direct_page_fault (Vitaly Kuznetsov) [2074835] - KVM: x86: Fix potential race in KVM_GET_CLOCK (Vitaly Kuznetsov) [2074835] - KVM: x86: extract KVM_GET_CLOCK/KVM_SET_CLOCK to separate functions (Vitaly Kuznetsov) [2074835] - kvm: x86: abstract locking around pvclock_update_vm_gtod_copy (Vitaly Kuznetsov) [2074835] - KVM: X86: Move PTE present check from loop body to __shadow_walk_next() (Vitaly Kuznetsov) [2074835] - KVM: x86: nSVM: implement nested TSC scaling (Vitaly Kuznetsov) [2074835] - KVM: x86: SVM: add module param to control TSC scaling (Vitaly Kuznetsov) [2074835] - KVM: x86: SVM: add module param to control LBR virtualization (Vitaly Kuznetsov) [2074835] - KVM: x86: nSVM: don't copy pause related settings (Vitaly Kuznetsov) [2074835] - kvm: irqfd: avoid update unmodified entries of the routing (Vitaly Kuznetsov) [2074835] - KVM: X86: Don't check unsync if the original spte is writible (Vitaly Kuznetsov) [2074835] - KVM: X86: Don't unsync pagetables when speculative (Vitaly Kuznetsov) [2074835] - KVM: X86: Remove FNAME(update_pte) (Vitaly Kuznetsov) [2074835] - KVM: X86: Zap the invalid list after remote tlb flushing (Vitaly Kuznetsov) [2074835] - KVM: X86: Change kvm_sync_page() to return true when remote flush is needed (Vitaly Kuznetsov) [2074835] - KVM: X86: Remove kvm_mmu_flush_or_zap() (Vitaly Kuznetsov) [2074835] - KVM: X86: Don't flush current tlb on shadow page modification (Vitaly Kuznetsov) [2074835] - KVM: selftests: Fix kvm_vm_free() in cr4_cpuid_sync and vmx_tsc_adjust tests (Vitaly Kuznetsov) [2074835] - kvm: selftests: Fix spelling mistake "missmatch" -> "mismatch" (Vitaly Kuznetsov) [2074835] - KVM: x86: Manually retrieve CPUID.0x1 when getting FMS for RESET/INIT (Vitaly Kuznetsov) [2074835] - KVM: x86: WARN on non-zero CRs at RESET to detect improper initalization (Vitaly Kuznetsov) [2074835] - KVM: SVM: Move RESET emulation to svm_vcpu_reset() (Vitaly Kuznetsov) [2074835] - KVM: VMX: Move RESET emulation to vmx_vcpu_reset() (Vitaly Kuznetsov) [2074835] - KVM: VMX: Drop explicit zeroing of MSR guest values at vCPU creation (Vitaly Kuznetsov) [2074835] - KVM: x86: Fold fx_init() into kvm_arch_vcpu_create() (Vitaly Kuznetsov) [2074835] - KVM: x86: Remove defunct setting of XCR0 for guest during vCPU create (Vitaly Kuznetsov) [2074835] - KVM: x86: Remove defunct setting of CR0.ET for guests during vCPU create (Vitaly Kuznetsov) [2074835] - KVM: x86: Simplify retrieving the page offset when loading PDTPRs (Vitaly Kuznetsov) [2074835] - KVM: x86: Subsume nested GPA read helper into load_pdptrs() (Vitaly Kuznetsov) [2074835] - kvm: rename KVM_MAX_VCPU_ID to KVM_MAX_VCPU_IDS (Vitaly Kuznetsov) [2074835] - KVM: Make kvm_make_vcpus_request_mask() use pre-allocated cpu_kick_mask (Vitaly Kuznetsov) [2074835] - KVM: Pre-allocate cpumasks for kvm_make_all_cpus_request_except() (Vitaly Kuznetsov) [2074835] - KVM: Drop 'except' parameter from kvm_make_vcpus_request_mask() (Vitaly Kuznetsov) [2074835] - KVM: Optimize kvm_make_vcpus_request_mask() a bit (Vitaly Kuznetsov) [2074835] - KVM: x86: hyper-v: Avoid calling kvm_make_vcpus_request_mask() with vcpu_mask==NULL (Vitaly Kuznetsov) [2074835] - KVM: use vma_pages() helper (Vitaly Kuznetsov) [2074835] - KVM: nVMX: Reset vmxon_ptr upon VMXOFF emulation. (Vitaly Kuznetsov) [2074835] - x86/kvm: Always inline to_svm() (Vitaly Kuznetsov) [2074835] - x86/kvm: Always inline vmload() / vmsave() (Vitaly Kuznetsov) [2074835] - x86/kvm: Always inline sev_*guest() (Vitaly Kuznetsov) [2074835] - KVM: Remove tlbs_dirty (Vitaly Kuznetsov) [2074835] - KVM: X86: fix lazy allocation of rmaps (Vitaly Kuznetsov) [2074835] - KVM: Remove unnecessary export of kvm_{inc,dec}_notifier_count() (Vitaly Kuznetsov) [2074835] - KVM: x86/mmu: Drop 'shared' param from tdp_mmu_link_page() (Vitaly Kuznetsov) [2074835] - KVM: x86/mmu: Add detailed page size stats (Vitaly Kuznetsov) [2074835] - KVM: x86/mmu: bump mmu notifier count in kvm_zap_gfn_range (Vitaly Kuznetsov) [2074835] - KVM: x86/mmu: fix parameters to kvm_flush_remote_tlbs_with_address (Vitaly Kuznetsov) [2074835] - Revert "KVM: x86/mmu: Allow zap gfn range to operate under the mmu read lock" (Vitaly Kuznetsov) [2074835] - KVM: X86: Introduce mmu_rmaps_stat per-vm debugfs file (Vitaly Kuznetsov) [2074835] - KVM: X86: Introduce kvm_mmu_slot_lpages() helpers (Vitaly Kuznetsov) [2074835] - KVM: x86/mmu: Protect marking SPs unsync when using TDP MMU with spinlock (Vitaly Kuznetsov) [2074835] - KVM: x86/mmu: Don't step down in the TDP iterator when zapping all SPTEs (Vitaly Kuznetsov) [2074835] - KVM: x86/mmu: Don't leak non-leaf SPTEs when zapping all SPTEs (Vitaly Kuznetsov) [2074835] - KVM: x86/mmu: Rename __gfn_to_rmap to gfn_to_rmap (Vitaly Kuznetsov) [2074835] - KVM: x86/mmu: Leverage vcpu->last_used_slot in tdp_mmu_map_handle_target_level (Vitaly Kuznetsov) [2074835] - KVM: const-ify all relevant uses of struct kvm_memory_slot (Vitaly Kuznetsov) [2074835] - KVM: Don't take mmu_lock for range invalidation unless necessary (Vitaly Kuznetsov) [2074835] - KVM: Block memslot updates across range_start() and range_end() (Vitaly Kuznetsov) [2074835] - KVM: x86/mmu: Lazily allocate memslot rmaps (Vitaly Kuznetsov) [2074835] - KVM: x86/mmu: Skip rmap operations if rmaps not allocated (Vitaly Kuznetsov) [2074835] - KVM: x86/mmu: Tear down roots before kvm_mmu_zap_all_fast returns (Vitaly Kuznetsov) [2074835] - KVM: x86/mmu: Fast invalidation for TDP MMU (Vitaly Kuznetsov) [2074835] - KVM: x86/mmu: Allow enabling/disabling dirty logging under MMU read lock (Vitaly Kuznetsov) [2074835] - KVM: x86/mmu: Allow zapping collapsible SPTEs to use MMU read lock (Vitaly Kuznetsov) [2074835] - KVM: x86/mmu: Allow zap gfn range to operate under the mmu read lock (Vitaly Kuznetsov) [2074835] - KVM: x86/mmu: Allow yielding during MMU notifier unmap/zap, if possible (Vitaly Kuznetsov) [2074835] - KVM: Take mmu_lock when handling MMU notifier iff the hva hits a memslot (Vitaly Kuznetsov) [2074835] - KVM: Move MMU notifier's mmu_lock acquisition into common helper (Vitaly Kuznetsov) [2074835] - KVM: Kill off the old hva-based MMU notifier callbacks (Vitaly Kuznetsov) [2074835] - KVM: PPC: Convert to the gfn-based MMU notifier callbacks (Vitaly Kuznetsov) [2074835] - KVM: arm64: Convert to the gfn-based MMU notifier callbacks (Vitaly Kuznetsov) [2074835] - KVM: Move x86's MMU notifier memslot walkers to generic code (Vitaly Kuznetsov) [2074835] - KVM: Assert that notifier count is elevated in .change_pte() (Vitaly Kuznetsov) [2074835] - KVM: Move arm64's MMU notifier trace events to generic code (Vitaly Kuznetsov) [2074835] - KVM: Switch to new MMU notifiers API (Vitaly Kuznetsov) [2074835] - scsi: qedi: Remove redundant flush_workqueue() calls (Nilesh Javali) [2044837] - scsi: qedi: Fix SYSFS_FLAG_FW_SEL_BOOT formatting (Nilesh Javali) [2044837] - xfs: reserve quota for dir expansion when linking/unlinking files (Carlos Maiolino) [2082833] - iwlwifi: fix use-after-free (Jose Ignacio Tornos Martinez) [2091539] - nfs: fix broken handling of the softreval mount option (Benjamin Coddington) [2083224] - ethtool: extend ringparam setting/getting API with rx_buf_len (Ivan Vecera) [2091857] - ethtool: add support to set/get rx buf len via ethtool (Ivan Vecera) [2091857] - ethtool: add support to set/get tx copybreak buf size via ethtool (Ivan Vecera) [2091857]- x86/apic: Make TSC deadline timer detection message visible (David Arcari) [2098086] - x86/apic: Move TSC deadline timer debug printk (David Arcari) [2098086] - [s390] KVM: s390: selftests: Add error memop tests (Claudio Imbrenda) [1984917] - [s390] KVM: s390: selftests: Add more copy memop tests (Claudio Imbrenda) [1984917] - [s390] KVM: s390: selftests: Add named stages for memop test (Claudio Imbrenda) [1984917] - [s390] KVM: s390: selftests: Add macro as abstraction for MEM_OP (Claudio Imbrenda) [1984917] - [s390] KVM: s390: selftests: Split memop tests (Claudio Imbrenda) [1984917] - [s390] KVM: s390: Fix lockdep issue in vm memop (Claudio Imbrenda) [1984917] - [s390] KVM: s390: Add missing vm MEM_OP size check (Claudio Imbrenda) [1984917] - [s390] KVM: s390: Clarify key argument for MEM_OP in api docs (Claudio Imbrenda) [1984917] - [s390] KVM: s390: Update api documentation for memop ioctl (Claudio Imbrenda) [1984917] - [s390] KVM: s390: Add capability for storage key extension of MEM_OP IOCTL (Claudio Imbrenda) [1984917] - [s390] KVM: s390: Rename existing vcpu memop functions (Claudio Imbrenda) [1984917] - [s390] KVM: s390: Add vm IOCTL for key checked guest absolute memory access (Claudio Imbrenda) [1984917] - [s390] KVM: s390: Add optional storage key checking to MEMOP IOCTL (Claudio Imbrenda) [1984917] - [s390] KVM: s390: selftests: Test TEST PROTECTION emulation (Claudio Imbrenda) [1984917] - [s390] KVM: s390: handle_tprot: Honor storage keys (Claudio Imbrenda) [1984917] - [s390] KVM: s390: Honor storage keys when accessing guest memory (Claudio Imbrenda) [1984917] - [s390] s390/uaccess: Add copy_from/to_user_key functions (Claudio Imbrenda) [1984917] - [s390] s390/uaccess: fix compile error (Claudio Imbrenda) [1984917] - [s390] s390/uaccess: introduce bit field for OAC specifier (Claudio Imbrenda) [1984917] - [s390] KVM: s390: gaccess: Cleanup access to guest pages (Claudio Imbrenda) [1984917] - [s390] KVM: s390: gaccess: Refactor access address range check (Claudio Imbrenda) [1984917] - [s390] KVM: s390: gaccess: Refactor gpa and length calculation (Claudio Imbrenda) [1984917] - xfs: reorder iunlink remove operation in xfs_ifree (Brian Foster) [2081146] - tcp: fix TCP socket rehash stats mis-accounting (Antoine Tenart) [2073082] - tcp: export count for rehash attempts (Antoine Tenart) [2073082] - tcp: add SRTT to SCM_TIMESTAMPING_OPT_STATS (Antoine Tenart) [2073082] - tcp: add new SNMP counter for drops when try to queue in rcv queue (Antoine Tenart) [2073082] - tcp: add SNMP counter for zero-window drops (Antoine Tenart) [2073082] - net: udp: introduce UDP_MIB_MEMERRORS for udp_mem (Antoine Tenart) [2073082] - context_tracking: Sync up lockdep and cpu irqs state to prevent false warnings (Waiman Long) [2098074] - platform/x86: ISST: Fix possible circular locking dependency detected (Prarit Bhargava) [2072659] - platform/x86: ISST: use semi-colons instead of commas (Prarit Bhargava) [2072659] - platform/x86: intel_speed_select_if: Move to intel sub-directory (Prarit Bhargava) [2072659] - x86/sgx: Free backing memory after faulting the enclave page (Vladis Dronov) [2081351] - x86/sgx: Fix missing poison handling in reclaimer (Vladis Dronov) [2081351] - x86/sgx: Silence softlockup detection when releasing large enclaves (Vladis Dronov) [2081351] - selftests/sgx: Treat CC as one argument (Vladis Dronov) [2081351] - selftests/x86: Add validity check and allow field splitting (Vladis Dronov) [2081351] - selftests/sgx: Remove extra newlines in test output (Vladis Dronov) [2081351] - selftests/sgx: Ensure enclave data available during debug print (Vladis Dronov) [2081351] - selftests/sgx: Do not attempt enclave build without valid enclave (Vladis Dronov) [2081351] - selftests/sgx: Fix NULL-pointer-dereference upon early test failure (Vladis Dronov) [2081351] - x86/sgx: Remove .fixup usage (Vladis Dronov) [2081351] - x86/sgx: Fix NULL pointer dereference on non-SGX systems (Vladis Dronov) [2081351] - x86/sgx: Add an attribute for the amount of SGX memory in a NUMA node (Vladis Dronov) [2081351] - vmxnet3: disable overlay offloads if UPT device does not support (Kamal Heib) [2100226] - vmxnet3: update to version 7 (Kamal Heib) [2100226] - vmxnet3: use ext1 field to indicate encapsulated packet (Kamal Heib) [2100226] - vmxnet3: limit number of TXDs used for TSO packet (Kamal Heib) [2100226] - vmxnet3: add command to set ring buffer sizes (Kamal Heib) [2100226] - vmxnet3: add support for out of order rx completion (Kamal Heib) [2100226] - vmxnet3: add support for large passthrough BAR register (Kamal Heib) [2100226] - vmxnet3: add support for capability registers (Kamal Heib) [2100226] - vmxnet3: prepare for version 7 changes (Kamal Heib) [2100226] - net: vmxnet3: fix possible NULL pointer dereference in vmxnet3_rq_cleanup() (Kamal Heib) [2100226] - net: vmxnet3: fix possible use-after-free bugs in vmxnet3_rq_alloc_rx_buf() (Kamal Heib) [2100226]- iommu/amd: Enable swiotlb in all cases (Jerry Snitselaar) [2072179] - iommu/arm-smmu-v3-sva: Fix mm use-after-free (Jerry Snitselaar) [2072179] - dma-direct: don't over-decrypt memory (Jerry Snitselaar) [2072179] - dma-direct: always leak memory that can't be re-encrypted (Jerry Snitselaar) [2072179] - dma-direct: clean up the remapping checks in dma_direct_alloc (Jerry Snitselaar) [2072179] - dma-direct: don't call dma_set_decrypted for remapped allocations (Jerry Snitselaar) [2072179] - dma-direct: factor out dma_set_{de,en}crypted helpers (Jerry Snitselaar) [2072179] - swiotlb: max mapping size takes min align mask into account (Jerry Snitselaar) [2072179] - dma-debug: change allocation mode from GFP_NOWAIT to GFP_ATIOMIC (Jerry Snitselaar) [2072179] - dma-direct: don't fail on highmem CMA pages in dma_direct_alloc_pages (Jerry Snitselaar) [2072179] - dma-direct: factor out a helper for DMA_ATTR_NO_KERNEL_MAPPING allocations (Jerry Snitselaar) [2072179] - swiotlb: make swiotlb_exit a no-op if SWIOTLB_FORCE is set (Jerry Snitselaar) [2072179] - dma-direct: use is_swiotlb_active in dma_direct_map_page (Jerry Snitselaar) [2072179] - iommu/vt-d: Calculate mask for non-aligned flushes (Jerry Snitselaar) [2072179] - iommu/amd: Call memunmap in error path (Jerry Snitselaar) [2072179] - iommu/vt-d: Drop duplicate check in dma_pte_free_pagetable() (Jerry Snitselaar) [2072179] - iommu/vt-d: Use correctly sized arguments for bit field (Jerry Snitselaar) [2072179] - Revert "iommu/arm-smmu-v3: Decrease the queue size of evtq and priq" (Jerry Snitselaar) [2072179] - iommu: Fix potential use-after-free during probe (Jerry Snitselaar) [2072179] - dma-direct: avoid redundant memory sync for swiotlb (Jerry Snitselaar) [2072179] - iommu/iova: Fix race between FQ timeout and teardown (Jerry Snitselaar) [2072179] - iommu/io-pgtable-arm: Fix table descriptor paddr formatting (Jerry Snitselaar) [2072179] - iommu: Extend mutex lock scope in iommu_probe_device() (Jerry Snitselaar) [2072179] - iommu/amd: X2apic mode: mask/unmask interrupts on suspend/resume (Jerry Snitselaar) [2072179] - iommu/amd: X2apic mode: setup the INTX registers on mask/unmask (Jerry Snitselaar) [2072179] - iommu/amd: X2apic mode: re-enable after resume (Jerry Snitselaar) [2072179] - iommu/amd: Restore GA log/tail pointer on host resume (Jerry Snitselaar) [2072179] - iommu/amd: Clarify AMD IOMMUv2 initialization messages (Jerry Snitselaar) [2072179] - iommu/vt-d: Avoid duplicate removing in __domain_mapping() (Jerry Snitselaar) [2072179] - iommu/vt-d: Fix an unbalanced rcu_read_lock/rcu_read_unlock() (Jerry Snitselaar) [2072179] - iommu/vt-d: Check FL and SL capability sanity in scalable mode (Jerry Snitselaar) [2072179] - iommu/vt-d: Add present bit check in pasid entry setup helpers (Jerry Snitselaar) [2072179] - iommu/vt-d: Preset A/D bits for user space DMA usage (Jerry Snitselaar) [2072179] - iommu/vt-d: Remove unnecessary oom message (Jerry Snitselaar) [2072179] - iommu/vt-d: Enable ATS for the devices in SATC table (Jerry Snitselaar) [1893460] - iommu/vt-d: Parse SATC reporting structure (Jerry Snitselaar) [1893460] - iommu/vt-d: Dump DMAR translation structure when DMA fault occurs (Jerry Snitselaar) [1868826] - nvme: fix typos in nvme status code values (Gopal Tiwari) [2091824] - Adding CONFIG_NVME_VERBOSE_ERRORS to RHEL-8. (Gopal Tiwari) [2091824] - nvme: add missing status values to verbose logging (Gopal Tiwari) [2091824] - nvme: don't print verbose errors for internal passthrough requests (Gopal Tiwari) [2091824] - nvme: add verbose error logging (Gopal Tiwari) [2091824] - perf/x86/msr: Add Raptor Lake CPU support (Michael Petlan) [2094572] - perf/x86: Add Intel Raptor Lake support (Michael Petlan) [2094572] - perf/x86/cstate: Add SAPPHIRERAPIDS_X CPU support (Michael Petlan) [2094572] - perf/x86/cstate: Add Raptor Lake support (Michael Petlan) [2094572] - [s390] s390/lcs: fix variable dereferenced before check (Mete Durlu) [2043835] - [s390] s390/ctcm: fix potential memory leak (Mete Durlu) [2043835] - [s390] s390/ctcm: fix variable dereferenced before check (Mete Durlu) [2043835] - [s390] s390/net: sort out physical vs virtual pointers usage (Mete Durlu) [2043835] - [s390] s390/qeth: remove check for packing mode in qeth_check_outbound_queue() (Mete Durlu) [2043835] - [s390] s390/qeth: fine-tune .ndo_select_queue() (Mete Durlu) [2043835] - [s390] s390/qeth: don't offer .ndo_bridge_* ops for OSA devices (Mete Durlu) [2043835] - [s390] s390/qeth: split up L2 netdev_ops (Mete Durlu) [2043835] - [s390] s390/qeth: simplify qeth_receive_skb() (Mete Durlu) [2043835] - [s390] s390/lcs: add braces around empty function body (Mete Durlu) [2043835] - [s390] s390/ctcm: add __printf format attribute to ctcm_dbf_longtext (Mete Durlu) [2043835] - [s390] s390/ctcm: fix format string (Mete Durlu) [2043835] - [s390] s390/qeth: allocate RX queue at probe time (Mete Durlu) [2043835] - [s390] s390/qeth: update kerneldoc for qeth_add_hw_header() (Mete Durlu) [2043835] - [s390] s390/qeth: fix kernel doc comments (Mete Durlu) [2043835] - [s390] s390/qeth: add __printf format attribute to qeth_dbf_longtext (Mete Durlu) [2043835] - [s390] s390/qeth: fix various format strings (Mete Durlu) [2043835] - [s390] s390/qeth: don't keep track of Input Queue count (Mete Durlu) [2043835] - [s390] s390/qeth: clarify remaining dev_kfree_skb_any() users (Mete Durlu) [2043835] - [s390] s390/qeth: move qdio's QAOB cache into qeth (Mete Durlu) [2043835] - [s390] s390/qeth: improve trace entries for MAC address (un)registration (Mete Durlu) [2043835] - [s390] s390/netiucv: remove incorrect kernel doc indicators (Mete Durlu) [2043835] - [s390] s390/lcs: remove incorrect kernel doc indicators (Mete Durlu) [2043835] - [s390] s390/ctcm: remove incorrect kernel doc indicators (Mete Durlu) [2043835] - [s390] s390/qeth: clean up device_type management (Mete Durlu) [2043835] - [s390] s390/qeth: clean up QETH_PROT_* naming (Mete Durlu) [2043835] - mm/memcg: Free percpu stats memory of dying memcg's (Waiman Long) [2004037] - netfilter: flowtable: fix TCP flow teardown (Florian Westphal) [2088234] - netfilter: conntrack: annotate data-races around ct->timeout (Florian Westphal) [2088234] - netfilter: conntrack: initialize ct->timeout (Florian Westphal) [2088234] - NFSv4: Fix free of uninitialized nfs4_label on referral lookup. (Scott Mayhew) [2090994] - md: fix double free of io_acct_set bioset (Nigel Croxon) [2094076] - md: Don't set mddev private to NULL in raid0 pers->free (Nigel Croxon) [2094076] - md: protect md_unregister_thread from reentrancy (Nigel Croxon) [2094076] - md: don't unregister sync_thread with reconfig_mutex held (Nigel Croxon) [2094076] - raid5: don't set the discard_alignment queue limit (Nigel Croxon) [2094076] - md: Replace role magic numbers with defined constants (Nigel Croxon) [2094076] - md/raid0: Ignore RAID0 layout if the second zone has only one device (Nigel Croxon) [2094076] - md/raid5: Annotate functions that hold device_lock with __must_hold (Nigel Croxon) [2094076] - md/raid5-ppl: Annotate with rcu_dereference_protected() (Nigel Croxon) [2094076] - md/raid5: Annotate rdev/replacement access when mddev_lock is held (Nigel Croxon) [2094076] - md/raid5: Annotate rdev/replacement accesses when nr_pending is elevated (Nigel Croxon) [2094076] - md/raid5: Add __rcu annotation to struct disk_info (Nigel Croxon) [2094076] - md/raid5: Un-nest struct raid5_percpu definition (Nigel Croxon) [2094076] - md/raid5: Cleanup setup_conf() error returns (Nigel Croxon) [2094076] - md: replace deprecated strlcpy & remove duplicated line (Nigel Croxon) [2094076] - md/bitmap: don't set sb values if can't pass sanity check (Nigel Croxon) [2094076] - md: fix an incorrect NULL check in md_reload_sb (Nigel Croxon) [2094076] - md: fix an incorrect NULL check in does_sb_need_changing (Nigel Croxon) [2094076] - md: use msleep() in md_notify_reboot() (Nigel Croxon) [2094076] - ext4: force overhead calculation if the s_overhead_cluster makes no sense (Lukas Czerner) [2079886] - ext4: fix overhead calculation to account for the reserved gdt blocks (Lukas Czerner) [2079886] - ext4: limit length to bitmap_maxbytes - blocksize in punch_hole (Lukas Czerner) [2079886] - ext4: fix use-after-free in ext4_search_dir (Lukas Czerner) [2079886] - ext4: fix symlink file size not match to file content (Lukas Czerner) [2079886] - ext4: fix fallocate to use file_modified to update permissions consistently (Lukas Czerner) [2085623] - ext4: remove unused macro MPAGE_DA_EXTENT_TAIL (Lukas Czerner) [2079886] - ext4: add missing braces in ext4_ext_drop_refs() (Lukas Czerner) [2079886] - ext4: remove obsolete comment from ext4_can_extents_be_merged() (Lukas Czerner) [2079886] - ext4: make some functions static in extents.c (Lukas Czerner) [2079886] - ext4: remove redundant S_ISREG() checks from ext4_fallocate() (Lukas Czerner) [2079886] - ext4: clean up len and offset checks in ext4_fallocate() (Lukas Czerner) [2079886] - ext4: remove ext4_{ind,ext}_calc_metadata_amount() (Lukas Czerner) [2079886] - ext4: fix fs corruption when tring to remove a non-empty directory with IO error (Lukas Czerner) [2079886] - ext4: fix error handling in ext4_restore_inline_data() (Lukas Czerner) [2079886] - jbd2: export jbd2_journal_[grab|put]_journal_head (Lukas Czerner) [2079886] - ext4: don't use the orphan list when migrating an inode (Lukas Czerner) [2079886] - ext4: set csum seed in tmp inode while migrating to extents (Lukas Czerner) [2079886] - ext4: fix an use-after-free issue about data=journal writeback mode (Lukas Czerner) [2079886] - ext4: fix bh ref count on error paths (Lukas Czerner) [2079886] - ext4: fix a possible ABBA deadlock due to busy PA (Lukas Czerner) [2079886] - ext4: discard preallocations before releasing group lock (Lukas Czerner) [2079886] - ext4: make ext_debug() implementation to use pr_debug() (Lukas Czerner) [2079886] - ext4: mballoc: make mb_debug() implementation to use pr_debug() (Lukas Czerner) [2079886] - ext4: improve ext_debug() msg in case of block allocation failure (Lukas Czerner) [2079886] - ext4: use BIT() macro for BH_** state bits (Lukas Czerner) [2079886] - ext4: balloc: use task_pid_nr() helper (Lukas Czerner) [2079886] - ext4: mballoc: fix possible NULL ptr & remove BUG_ONs from DOUBLE_CHECK (Lukas Czerner) [2079886] - ext4: mballoc: refactor code inside DOUBLE_CHECK into separate function (Lukas Czerner) [2079886] - ext4: mballoc: make ext4_mb_use_preallocated() return type as bool (Lukas Czerner) [2079886] - ext4: mballoc: simplify error handling in ext4_init_mballoc() (Lukas Czerner) [2079886] - ext4: mballoc: fix few other format specifier in mb_debug() (Lukas Czerner) [2079886] - ext4: mballoc: correct the mb_debug() format specifier for pa_len var (Lukas Czerner) [2079886] - ext4: mballoc: add more mb_debug() msgs (Lukas Czerner) [2079886] - ext4: mballoc: refactor ext4_mb_show_ac() (Lukas Czerner) [2079886] - ext4: mballoc: print bb_free info even when it is 0 (Lukas Czerner) [2079886] - ext4: fix dead loop in ext4_mb_new_blocks (Lukas Czerner) [2079886] - ext4: mballoc: use lock for checking free blocks while retrying (Lukas Czerner) [2079886] - ext4: mballoc: refactor ext4_mb_good_group() (Lukas Czerner) [2079886] - ext4: mballoc: introduce pcpu seqcnt for freeing PA to improve ENOSPC handling (Lukas Czerner) [2079886] - ext4: mballoc: refactor ext4_mb_discard_preallocations() (Lukas Czerner) [2079886] - ext4: mballoc: add blocks to PA list under same spinlock after allocating blocks (Lukas Czerner) [2079886] - ext4: fix lazy initialization next schedule time computation in more granular unit (Lukas Czerner) [2079886] - ext4: fix avefreec in find_group_orlov (Lukas Czerner) [2079886] - ext4: allow the dax flag to be set and cleared on inline directories (Lukas Czerner) [2079886] - ext4: annotate data race in jbd2_journal_dirty_metadata() (Lukas Czerner) [2079886] - ext4: annotate data race in start_this_handle() (Lukas Czerner) [2079886] - ext4: fix superblock checksum failure when setting password salt (Lukas Czerner) [2079886] - ext4: correctly report "not supported" for {usr,grp}jquota when !CONFIG_QUOTA (Lukas Czerner) [2079886] - jbd2: fix ocfs2 corrupt when clearing block group bits (Lukas Czerner) [2079886] - ext4: fix ext4_empty_dir() for directories with holes (Lukas Czerner) [2079886] - ext4: allow directory holes (Lukas Czerner) [2079886] - net/af_packet: make sure to pull mac header (Hangbin Liu) [2066976] - rcu/nocb: Make rcu_core() callbacks acceleration preempt-safe (Waiman Long) [2097549] - redhat: drop expired testing secureboot signing key (Jarod Wilson) [2095199]- atlantic: Fix issue in the pm resume flow. (Igor Russkikh) [2002395] - atlantic: Fix driver resume flow. (Igor Russkikh) [2002395] - Build intel_sdsi with {tools_make} (Prarit Bhargava) [1971951] - redhat/kernel.spec.template: Add intel_sdsi tool (Prarit Bhargava) [1971951] - redhat/configs: Add CONFIG_INTEL_SDSI (Prarit Bhargava) [1971951] - selftests: sdsi: test sysfs setup (Prarit Bhargava) [1971951] - tools arch x86: Add Intel SDSi provisiong tool (Prarit Bhargava) [1971951] - platform/x86: Add Intel Software Defined Silicon driver (Prarit Bhargava) [1971951] - platform/x86/intel: Fix 'rmmod pmt_telemetry' panic (Prarit Bhargava) [2080426] - x86/cpu: Add new Alderlake and Raptorlake CPU model numbers (Prarit Bhargava) [2040019 2040059] - netfilter: nf_tables: sanitize nft_set_desc_concat_parse() (Florian Westphal) [2096403] {CVE-2022-2078} - mt76: mt7921: Fix the error handling path of mt7921_pci_probe() (Íñigo Huguet) [2096758] - Watchdog: sp5100_tco: Enable Family 17h+ CPUs (Sudheesh Mavila) [2031643] - Watchdog: sp5100_tco: Add initialization using EFCH MMIO (Sudheesh Mavila) [2031643] - kernel/resource: Introduce request_mem_region_muxed() (Sudheesh Mavila) [2031643] - Watchdog: sp5100_tco: Refactor MMIO base address initialization (Sudheesh Mavila) [2031643] - Watchdog: sp5100_tco: Move timer initialization into function (Sudheesh Mavila) [2031643] - watchdog: sp5100_tco: Add support for get_timeleft (Sudheesh Mavila) [2031643] - watchdog: sp5100_tco: Enable watchdog on Family 17h devices if disabled (Sudheesh Mavila) [2031643] - watchdog: sp5100_tco: drop warning after registering device (Sudheesh Mavila) [2031643] - watchdog: sp5100_tco: drop warning after calling watchdog_init_timeout (Sudheesh Mavila) [2031643] - Reinstate some of "swiotlb: rework "fix info leak with DMA_FROM_DEVICE"" (Chris von Recklinghausen) [2059701] {CVE-2022-0854} - swiotlb: fix info leak with DMA_FROM_DEVICE (Chris von Recklinghausen) [2059701] {CVE-2022-0854} - redhat/configs: Add CONFIG_S390_UV_UAPI (Claudio Imbrenda) [1984905] - [s390] s390/uv_uapi: depend on CONFIG_S390 (Claudio Imbrenda) [1984905] - [s390] drivers/s390/char: Add Ultravisor io device (Claudio Imbrenda) [1984905] - cpufreq: Specify default governor on command line (Prarit Bhargava) [2083766] - cpufreq: Fix locking issues with governors (Prarit Bhargava) [2083766] - cpufreq: Register governors at core_initcall (Prarit Bhargava) [2083766] - nvme: fix RCU hole that allowed for endless looping in multipath round robin (Gopal Tiwari) [2078806] - nvme-multipath: fix hang when disk goes live over reconnect (Gopal Tiwari) [2078806] - nvme-tcp: send H2CData PDUs based on MAXH2CDATA (Gopal Tiwari) [2078806] - nvme: also mark passthrough-only namespaces ready in nvme_update_ns_info (Gopal Tiwari) [2078806] - nvme: don't return an error from nvme_configure_metadata (Gopal Tiwari) [2078806] - nvme-tcp: fix bogus request completion when failing to send AER (Gopal Tiwari) [2078806] - nvme-fabrics: remove the unneeded ret variable in nvmf_dev_show (Gopal Tiwari) [2078806] - nvme-pci: add the IGNORE_DEV_SUBNQN quirk for Intel P4500/P4600 SSDs (Gopal Tiwari) [2078806] - nvme-fabrics: print out valid arguments when reading from /dev/nvme-fabrics (Gopal Tiwari) [2078806] - nvmet-tcp: fix possible list corruption for unexpected command failure (Gopal Tiwari) [2078806] - nvme: fix use after free when disconnecting a reconnecting ctrl (Gopal Tiwari) [2078806] - nvme-multipath: set ana_log_size to 0 after free ana_log_buf (Gopal Tiwari) [2078806] - nvme: disable namespace access for unsupported metadata (Gopal Tiwari) [2078806] - nvme: report write pointer for a full zone as zone start + zone len (Gopal Tiwari) [2078806] - nvme: show subsys nqn for duplicate cntlids (Gopal Tiwari) [2078806] - nvme-pci: add NO APST quirk for Kioxia device (Gopal Tiwari) [2078806] - nvme: fix write zeroes pi (Gopal Tiwari) [2078806] - nvmet: use flex_array_size and struct_size (Gopal Tiwari) [2078806] - nvme: drop scan_lock and always kick requeue list when removing namespaces (Gopal Tiwari) [2078806] - nvmet: use struct_size over open coded arithmetic (Gopal Tiwari) [2078806] - nvme-pci: clear shadow doorbell memory on resets (Gopal Tiwari) [2078806] - nvmet: use macro definitions for setting cmic value (Gopal Tiwari) [2078806] - nvme-rdma: fix error code in nvme_rdma_setup_ctrl (Gopal Tiwari) [2078806] - nvmet: use macro definition for setting nmic value (Gopal Tiwari) [2078806] - nvmet-rdma: implement get_max_queue_size controller op (Gopal Tiwari) [2078806] - nvmet: add get_max_queue_size op for controllers (Gopal Tiwari) [2078806] - nvme-rdma: limit the maximal queue size for RDMA controllers (Gopal Tiwari) [2078806] - nvme: paring quiesce/unquiesce (Gopal Tiwari) [2078806] - nvme: add APIs for stopping/starting admin queue (Gopal Tiwari) [2078806] - nvme: prepare for pairing quiescing and unquiescing (Gopal Tiwari) [2078806] - nvme: apply nvme API to quiesce/unquiesce admin queue (Gopal Tiwari) [2078806] - nvme: loop: clear NVME_CTRL_ADMIN_Q_STOPPED after admin queue is reallocated (Gopal Tiwari) [2078806] - nvme: remove the call to nvme_update_disk_info in nvme_ns_remove (Gopal Tiwari) [2078806] - nvme: remove the GENHD_FL_UP check in nvme_ns_remove (Gopal Tiwari) [2078806] - nvme-rdma: destroy cm id before destroy qp to avoid use after free (Gopal Tiwari) [2078806] - nvme: only call synchronize_srcu when clearing current path (Gopal Tiwari) [2078806] - nvme-multipath: revalidate paths during rescan (Gopal Tiwari) [2078806] - nvme: remove the unused NVME_NS_* enum (Gopal Tiwari) [2078806] - nvme: Have NVME_FABRICS select NVME_CORE instead of transport drivers (Gopal Tiwari) [2078806] - nvme-pci: disable hmb on idle suspend (Gopal Tiwari) [2078806] - nvme: allow user toggling hmb usage (Gopal Tiwari) [2078806] - nvme-fabrics: remove superfluous nvmf_host_put in nvmf_parse_options (Gopal Tiwari) [2078806] - nvme: add set feature tracing support (Gopal Tiwari) [2078806] - nvmet: add set feature tracing support (Gopal Tiwari) [2078806] - nvme-pci: cmb sysfs: one file, one value (Gopal Tiwari) [2078806] - nvme-pci: use attribute group for cmb sysfs (Gopal Tiwari) [2078806] - compiler.h: Introduce absolute_pointer macro (Gopal Tiwari) [2078806] - vdpa: Fix vdpa-vhost driver (Laurent Vivier) [2093851] - nl80211: fix locking in nl80211_set_tx_bitrate_mask() (Íñigo Huguet) [2059994] - mac80211_hwsim: call ieee80211_tx_prepare_skb under RCU protection (Íñigo Huguet) [2059994] - mac80211_hwsim: fix RCU protected chanctx access (Íñigo Huguet) [2059994] - mac80211: Reset MBSSID parameters upon connection (Íñigo Huguet) [2059994] - cfg80211: retrieve S1G operating channel number (Íñigo Huguet) [2059994] - nl80211: validate S1G channel width (Íñigo Huguet) [2059994] - mac80211: fix rx reordering with non explicit / psmp ack policy (Íñigo Huguet) [2059994] - ath11k: reduce the wait time of 11d scan and hw scan while add interface (Íñigo Huguet) [2059994] - iwlwifi: iwl-dbg: Use del_timer_sync() before freeing (Íñigo Huguet) [2059994] - bus: mhi: host: pci_generic: Flush recovery worker during freeze (Íñigo Huguet) [2059994] - bus: mhi: host: pci_generic: Add missing poweroff() PM callback (Íñigo Huguet) [2059994] - mac80211: fix ht_capa printout in debugfs (Íñigo Huguet) [2059994] - cfg80211: hold bss_lock while updating nontrans_list (Íñigo Huguet) [2059994] - nl80211: correctly check NL80211_ATTR_REG_ALPHA2 size (Íñigo Huguet) [2059994] - ath9k: Fix usage of driver-private space in tx_info (Íñigo Huguet) [2059994] - brcmfmac: sdio: Fix undefined behavior due to shift overflowing the constant (Íñigo Huguet) [2059994] - mt76: Fix undefined behavior due to shift overflowing the constant (Íñigo Huguet) [2059994] - Revert "ath11k: mesh: add support for 256 bitmap in blockack frames in 11ax" (Íñigo Huguet) [2059994] - ath9k: Properly clear TX status area before reporting to mac80211 (Íñigo Huguet) [2059994] - iwlwifi: mvm: Don't fail if PPAG isn't supported (Íñigo Huguet) [2059994] - bus: mhi: Make mhi_state_str[] array static inline and move to common.h (Íñigo Huguet) [2059994] - bus: mhi: Move common MHI definitions out of host directory (Íñigo Huguet) [2059994] - bus: mhi: host: Rename "struct mhi_tre" to "struct mhi_ring_element" (Íñigo Huguet) [2059994] - bus: mhi: Cleanup the register definitions used in headers (Íñigo Huguet) [2059994] - bus: mhi: Use bitfield operations for handling DWORDs of ring elements (Íñigo Huguet) [2059994] - bus: mhi: Use bitfield operations for register read and write (Íñigo Huguet) [2059994] - bus: mhi: Move host MHI code to "host" directory (Íñigo Huguet) [2059994] - bus: mhi: Fix MHI DMA structure endianness (Íñigo Huguet) [2059994] - bus: mhi: Fix pm_state conversion to string (Íñigo Huguet) [2059994] - bus: mhi: pci_generic: Add mru_default for Quectel EM1xx series (Íñigo Huguet) [2059994] - rfkill: make new event layout opt-in (Íñigo Huguet) [2059994] - rtw89: implement stop and resume channels transmission v1 (Íñigo Huguet) [2059994] - rtw89: extend mac tx_en bits from 16 to 32 (Íñigo Huguet) [2059994] - rtw89: change value assignment style of rtw89_mac_cfg_gnt() (Íñigo Huguet) [2059994] - rtw89: 8852c: add mac_ctrl_path and mac_cfg_gnt APIs (Íñigo Huguet) [2059994] - rtw89: disable FW and H2C function if CPU disabled (Íñigo Huguet) [2059994] - rtw89: initialize preload window of D-MAC (Íñigo Huguet) [2059994] - rtw89: modify MAC enable functions (Íñigo Huguet) [2059994] - rtw89: add config_rf_reg_v1 to configure RF parameter tables (Íñigo Huguet) [2059994] - rtw89: 8852c: add read/write rf register function (Íñigo Huguet) [2059994] - rtw89: 8852c: add setting of TB UL TX power offset (Íñigo Huguet) [2059994] - rtw89: 8852c: add write/read crystal function in CFO tracking (Íñigo Huguet) [2059994] - rtw89: modify dcfo_comp to share with chips (Íñigo Huguet) [2059994] - rtw89: Fix spelling mistake "Mis-Match" -> "Mismatch" (Íñigo Huguet) [2059994] - brcmfmac: p2p: Fix spelling mistake "Comback" -> "Comeback" (Íñigo Huguet) [2059994] - iwlwifi: mei: fix building iwlmei (Íñigo Huguet) [2059994] - mt76: fix monitor rx FCS error in DFS channel (Íñigo Huguet) [2059994] - mt76: mt7921: don't enable beacon filter when IEEE80211_CONF_CHANGE_MONITOR is set (Íñigo Huguet) [2059994] - mt76: fix wrong HE data rate in sniffer tool (Íñigo Huguet) [2059994] - mt76: mt7915: introduce 802.11ax multi-bss support (Íñigo Huguet) [2059994] - mt76: mt7921: move mt7921_init_hw in a dedicated work (Íñigo Huguet) [2059994] - mt76: mt7921: add mt7921u driver (Íñigo Huguet) [2059994] - mt76: mt7921: move mt7921_usb_sdio_tx_status_data in mac common code. (Íñigo Huguet) [2059994] - mt76: mt7921: move mt7921_usb_sdio_tx_complete_skb in common mac code. (Íñigo Huguet) [2059994] - mt76: mt7921: move mt7921_usb_sdio_tx_prepare_skb in common mac code (Íñigo Huguet) [2059994] - mt76: mt7921: update mt7921_skb_add_usb_sdio_hdr to support usb (Íñigo Huguet) [2059994] - mt76: mt7921: disable runtime pm for usb (Íñigo Huguet) [2059994] - mt76: usb: introduce __mt76u_init utility routine (Íñigo Huguet) [2059994] - mt76: usb: add req_type to ___mt76u_wr signature (Íñigo Huguet) [2059994] - mt76: usb: add req_type to ___mt76u_rr signature (Íñigo Huguet) [2059994] - mt76: mt7915: fix typos in comments (Íñigo Huguet) [2059994] - mt76: mt7915: fix phy cap in mt7915_set_stream_he_txbf_caps() (Íñigo Huguet) [2059994] - mt76: mt7915: fix beamforming mib stats (Íñigo Huguet) [2059994] - mt76: mt7915: set band1 TGID field in tx descriptor (Íñigo Huguet) [2059994] - mt76: fix invalid rssi report (Íñigo Huguet) [2059994] - mt76: use le32/16_get_bits() whenever possible (Íñigo Huguet) [2059994] - mt76: connac: make read-only array ba_range static const (Íñigo Huguet) [2059994] - mt76: mt7915: check for devm_pinctrl_get() failure (Íñigo Huguet) [2059994] - mt76: mt7921: get rid of mt7921_wait_for_mcu_init declaration (Íñigo Huguet) [2059994] - mt76: mt7915: add txpower init for 6GHz (Íñigo Huguet) [2059994] - mt76: mt7915: fix eeprom fields of txpower init values (Íñigo Huguet) [2059994] - mt76: mt7915: add 6 GHz support (Íñigo Huguet) [2059994] - mt76: connac: add 6 GHz support for wtbl and starec configuration (Íñigo Huguet) [2059994] - mt76: mt7915: allow beaconing on all chains (Íñigo Huguet) [2059994] - mt76: fix monitor mode crash with sdio driver (Íñigo Huguet) [2059994] - mt76: mt7921: fix mt7921_queues_acq implementation (Íñigo Huguet) [2059994] - mt76: mt7921: fix xmit-queue dump for usb and sdio (Íñigo Huguet) [2059994] - mt76: mt7921: make mt7921_init_tx_queues static (Íñigo Huguet) [2059994] - mt76: split single ldpc cap bit into bits (Íñigo Huguet) [2059994] - mt76: mt7915: fix DFS no radar detection event (Íñigo Huguet) [2059994] - mt76: mt7921: use mt76_hw instead of open coding it (Íñigo Huguet) [2059994] - mt76: mt7921: fix up the monitor mode (Íñigo Huguet) [2059994] - mt76: mt7663u: introduce mt7663u_mcu_power_on routine (Íñigo Huguet) [2059994] - mt76: mt7615: honor ret from mt7615_mcu_restart in mt7663u_mcu_init (Íñigo Huguet) [2059994] - rtw89: fix uninitialized variable of rtw89_append_probe_req_ie() (Íñigo Huguet) [2059994] - rtlwifi: rtl8821ae: fix typos in comments (Íñigo Huguet) [2059994] - rtlwifi: rtl8192cu: Add On Networks N150 (Íñigo Huguet) [2059994] - mwifiex: make read-only array wmm_oui static const (Íñigo Huguet) [2059994] - mac80211: update bssid_indicator in ieee80211_assign_beacon (Íñigo Huguet) [2059994] - mac80211: MBSSID channel switch (Íñigo Huguet) [2059994] - mac80211: MBSSID beacon handling in AP mode (Íñigo Huguet) [2059994] - mac80211: always have ieee80211_sta_restart() (Íñigo Huguet) [2059994] - mac80211: Add support to trigger sta disconnect on hardware restart (Íñigo Huguet) [2059994] - mac80211: fix potential double free on mesh join (Íñigo Huguet) [2059994] - mac80211: correct legacy rates check in ieee80211_calc_rx_airtime (Íñigo Huguet) [2059994] - nl80211: fix typo of NL80211_IF_TYPE_OCB in documentation (Íñigo Huguet) [2059994] - mac80211: Use GFP_KERNEL instead of GFP_ATOMIC when possible (Íñigo Huguet) [2059994] - mac80211: replace DEFINE_SIMPLE_ATTRIBUTE with DEFINE_DEBUGFS_ATTRIBUTE (Íñigo Huguet) [2059994] - rtw89: 8852c: process logic efuse map (Íñigo Huguet) [2059994] - rtw89: 8852c: process efuse of phycap (Íñigo Huguet) [2059994] - rtw89: support DAV efuse reading operation (Íñigo Huguet) [2059994] - rtw89: 8852c: add chip::dle_mem (Íñigo Huguet) [2059994] - rtw89: add page_regs to handle v1 chips (Íñigo Huguet) [2059994] - rtw89: add chip_info::{h2c,c2h}_reg to support more chips (Íñigo Huguet) [2059994] - rtw89: add hci_func_en_addr to support variant generation (Íñigo Huguet) [2059994] - rtw89: add power_{on/off}_func (Íñigo Huguet) [2059994] - rtw89: read chip version depends on chip ID (Íñigo Huguet) [2059994] - rtw89: pci: use a struct to describe all registers address related to DMA channel (Íñigo Huguet) [2059994] - rtw89: pci: add V1 of PCI channel address (Íñigo Huguet) [2059994] - rtw89: pci: add struct rtw89_pci_info (Íñigo Huguet) [2059994] - rtw89: 8852c: add 8852c empty files (Íñigo Huguet) [2059994] - brcmfmac: make the read-only array pktflags static const (Íñigo Huguet) [2059994] - rtlwifi: rtl8192ce: remove duplicated function '_rtl92ce_phy_set_rf_sleep' (Íñigo Huguet) [2059994] - ath10k: Fix error handling in ath10k_setup_msa_resources (Íñigo Huguet) [2059994] - ath11k: remove unneeded flush_workqueue (Íñigo Huguet) [2059994] - iwlwifi: bump FW API to 72 for AX devices (Íñigo Huguet) [2059994] - iwlwifi: acpi: move ppag code from mvm to fw/acpi (Íñigo Huguet) [2059994] - iwlwifi: dbg: check trigger data before access (Íñigo Huguet) [2059994] - iwlwifi: dbg: in sync mode don't call schedule (Íñigo Huguet) [2059994] - iwlwifi: use 4k queue size for Bz A-step (Íñigo Huguet) [2059994] - iwlwifi: pcie: fix SW error MSI-X mapping (Íñigo Huguet) [2059994] - iwlwifi: yoyo: dump IMR DRAM only for HW and FW error (Íñigo Huguet) [2059994] - iwlwifi: mvm: add support for IMR based on platform (Íñigo Huguet) [2059994] - iwlwifi: yoyo: disable IMR DRAM region if IMR is disabled (Íñigo Huguet) [2059994] - iwlwifi: mvm: remove cipher scheme support (Íñigo Huguet) [2059994] - iwlwifi: Configure FW debug preset via module param. (Íñigo Huguet) [2059994] - iwlwifi: mvm: add a flag to reduce power command. (Íñigo Huguet) [2059994] - iwlwifi: bump FW API to 71 for AX devices (Íñigo Huguet) [2059994] - ath9k: make array voice_priority static const (Íñigo Huguet) [2059994] - rtw89: declare HE capabilities in 6G band (Íñigo Huguet) [2059994] - rtw89: fix HE PHY bandwidth capability (Íñigo Huguet) [2059994] - rtw89: add tx_wake notify for low ps mode (Íñigo Huguet) [2059994] - rtw89: 8852a: add ieee80211_ops::hw_scan (Íñigo Huguet) [2059994] - Revert "ath: add support for special 0x0 regulatory domain" (Íñigo Huguet) [2059994] - rtw89: get channel parameters of 160MHz bandwidth (Íñigo Huguet) [2059994] - mt76: fix dfs state issue with 160 MHz channels (Íñigo Huguet) [2059994] - mt76: mt7915: simplify conditional (Íñigo Huguet) [2059994] - mt76: mt7921: fix injected MPDU transmission to not use HW A-MSDU (Íñigo Huguet) [2059994] - mt76: mt7915e: Enable thermal management by default (Íñigo Huguet) [2059994] - mt76: mt7915e: Add a hwmon attribute to get the actual throttle state. (Íñigo Huguet) [2059994] - mt76: mt7915e: Fix degraded performance after temporary overheat (Íñigo Huguet) [2059994] - mt76: improve signal strength reporting (Íñigo Huguet) [2059994] - mt76: mt7915: use min_t() to make code cleaner (Íñigo Huguet) [2059994] - mt76: mt7915: fix the muru tlv issue (Íñigo Huguet) [2059994] - mt76: mt7915: check band idx for bcc event (Íñigo Huguet) [2059994] - mt76: mt7615: Fix assigning negative values to unsigned variable (Íñigo Huguet) [2059994] - mt76: connac: adjust wlan_idx size from u8 to u16 (Íñigo Huguet) [2059994] - mt76: mt7915: fix endianness warnings in mt7915_mac_tx_free() (Íñigo Huguet) [2059994] - mt76: mt7915: fix endianness warnings in mt7915_debugfs_rx_fw_monitor (Íñigo Huguet) [2059994] - mt76: mt7615: fix compiler warning on frame size (Íñigo Huguet) [2059994] - mt76: mt7915: initialize smps mode in mt7915_mcu_sta_rate_ctrl_tlv() (Íñigo Huguet) [2059994] - mt76: mt7915: introduce band_idx in mt7915_phy (Íñigo Huguet) [2059994] - mt76: mt7915: add support for MT7986 (Íñigo Huguet) [2059994] - ath10k: fix pointer arithmetic error in trace call (Íñigo Huguet) [2059994] - ath11k: add dbring debug support (Íñigo Huguet) [2059994] - ath11k: translate HE status to radiotap format (Íñigo Huguet) [2059994] - ath11k: decode HE status tlv (Íñigo Huguet) [2059994] - ath11k: switch to using ieee80211_tx_status_ext() (Íñigo Huguet) [2059994] - mt76: mt7921s: fix missing fc type/sub-type for 802.11 pkts (Íñigo Huguet) [2059994] - mt76: mt7915: fix potential memory leak of fw monitor packets (Íñigo Huguet) [2059994] - mt76: mt7915: Fix channel state update error issue (Íñigo Huguet) [2059994] - mt76: fix endianness errors in reverse_frag0_hdr_trans (Íñigo Huguet) [2059994] - mt76: mt7615: introduce SAR support (Íñigo Huguet) [2059994] - mt76: mt7915: fix injected MPDU transmission to not use HW A-MSDU (Íñigo Huguet) [2059994] - rtw88: change rtw_info() to proper message level (Íñigo Huguet) [2059994] - rtw89: Limit the CFO boundaries of x'tal value (Íñigo Huguet) [2059994] - rtw89: phy: handle txpwr lmt/lmt_ru of 160M bandwidth (Íñigo Huguet) [2059994] - rtw89: phy: handle txpwr lmt/lmt_ru of 6G band (Íñigo Huguet) [2059994] - ath11k: Fix frames flush failure caused by deadlock (Íñigo Huguet) [2059994] - ath11k: Handle failure in qmi firmware ready (Íñigo Huguet) [2059994] - ath11k: Invalidate cached reo ring entry before accessing it (Íñigo Huguet) [2059994] - ath: Replace zero-length arrays with flexible-array members (Íñigo Huguet) [2059994] - ath11k: Replace zero-length arrays with flexible-array members (Íñigo Huguet) [2059994] - ath10k: Replace zero-length array with flexible-array member (Íñigo Huguet) [2059994] - ath9k: use hw_random API instead of directly dumping into random.c (Íñigo Huguet) [2059994] - ath11k: configure RDDM size to mhi for recovery by firmware (Íñigo Huguet) [2059994] - ath11k: fix invalid m3 buffer address (Íñigo Huguet) [2059994] - ath11k: add ath11k_qmi_free_resource() for recovery (Íñigo Huguet) [2059994] - rtw89: core.h: Replace zero-length array with flexible-array member (Íñigo Huguet) [2059994] - brcmfmac: Replace zero-length arrays with flexible-array members (Íñigo Huguet) [2059994] - rtw89: fix RCU usage in rtw89_core_txq_push() (Íñigo Huguet) [2059994] - rtw88: coex: Update rtl8822c COEX version to 22020720 (Íñigo Huguet) [2059994] - rtw88: coex: Add C2H/H2C handshake with BT mailbox for asking HID Info (Íñigo Huguet) [2059994] - rtw88: coex: Add WLAN MIMO power saving for Bluetooth gaming controller (Íñigo Huguet) [2059994] - rtw88: coex: update BT PTA counter regularly (Íñigo Huguet) [2059994] - rtw88: coex: Improve WLAN throughput when HFP COEX (Íñigo Huguet) [2059994] - rtw88: 8822ce: add support for TX/RX 1ss mode (Íñigo Huguet) [2059994] - iwlwifi: dbg_ini: Split memcpy() to avoid multi-field write (Íñigo Huguet) [2059994] - iwlwifi: mvm: Fix an error code in iwl_mvm_up() (Íñigo Huguet) [2059994] - iwlwifi: Fix -EIO error code that is never returned (Íñigo Huguet) [2059994] - iwlwifi: mvm: rfi: use kmemdup() to replace kzalloc + memcpy (Íñigo Huguet) [2059994] - iwlwifi: Fix syntax errors in comments (Íñigo Huguet) [2059994] - iwlwifi: dvm: use struct_size over open coded arithmetic (Íñigo Huguet) [2059994] - iwlwifi/fw: use struct_size over open coded arithmetic (Íñigo Huguet) [2059994] - iwlwifi: Make use of the helper macro LIST_HEAD() (Íñigo Huguet) [2059994] - iwlwifi: mvm: fix off by one in iwl_mvm_stat_iterator_all_macs() (Íñigo Huguet) [2059994] - iwlwifi: yoyo: send hcmd to fw after dump collection completes. (Íñigo Huguet) [2059994] - iwlwifi: mvm: move only to an enabled channel (Íñigo Huguet) [2059994] - iwlwifi: mvm: update BAID allocation command again (Íñigo Huguet) [2059994] - iwlwifi: api: remove ttl field from TX command (Íñigo Huguet) [2059994] - iwlwifi: support new queue allocation command (Íñigo Huguet) [2059994] - iwlwifi: yoyo: support dump policy for the dump size (Íñigo Huguet) [2059994] - iwlwifi: pcie: iwlwifi: fix device id 7F70 struct (Íñigo Huguet) [2059994] - iwlwifi: tlc: Add logs in rs_fw_rate_init func to print TLC configuration (Íñigo Huguet) [2059994] - iwlwifi: mvm: remove iwl_mvm_disable_txq() flags argument (Íñigo Huguet) [2059994] - iwlwifi: remove command ID argument from queue allocation (Íñigo Huguet) [2059994] - iwlwifi: make iwl_txq_dyn_alloc_dma() return the txq (Íñigo Huguet) [2059994] - iwlwifi: fix small doc mistake for iwl_fw_ini_addr_val (Íñigo Huguet) [2059994] - iwlwifi: mvm: add additional info for boot info failures (Íñigo Huguet) [2059994] - iwlwifi: mvm: always remove the session protection after association (Íñigo Huguet) [2059994] - iwlwifi: mvm: make iwl_mvm_reconfig_scd() static (Íñigo Huguet) [2059994] - iwlwifi: mvm: refactor setting PPE thresholds in STA_HE_CTXT_CMD (Íñigo Huguet) [2059994] - iwlwifi: mvm: Disable WiFi bands selectively with BIOS (Íñigo Huguet) [2059994] - iwlwifi: mvm: add additional info for boot info failures (Íñigo Huguet) [2059994] - iwlwifi: mvm: don't send BAID removal to the FW during hw_restart (Íñigo Huguet) [2059994] - iwlwifi: don't dump_stack() when we get an unexpected interrupt (Íñigo Huguet) [2059994] - iwlwifi: mvm: rfi: handle deactivation notification (Íñigo Huguet) [2059994] - iwlwifi: mvm: Consider P2P GO operation during scan (Íñigo Huguet) [2059994] - iwlwifi: bump FW API to 70 for AX devices (Íñigo Huguet) [2059994] - iwlwifi: mvm: Unify the scan iteration functions (Íñigo Huguet) [2059994] - iwlwifi: mei: use C99 initializer for device IDs (Íñigo Huguet) [2059994] - iwlwifi: debugfs: remove useless double condition (Íñigo Huguet) [2059994] - iwlwifi: remove unused macros (Íñigo Huguet) [2059994] - iwlwifi: eeprom: clean up macros (Íñigo Huguet) [2059994] - iwlwifi: drv: load tlv debug data earlier (Íñigo Huguet) [2059994] - iwlwifi: pcie: Adapt rx queue write pointer for Bz family (Íñigo Huguet) [2059994] - iwlwifi: pcie: adjust to Bz completion descriptor (Íñigo Huguet) [2059994] - iwlwifi: mvm: Passively scan non PSC channels only when requested so (Íñigo Huguet) [2059994] - iwlwifi: scan: Modify return value of a function (Íñigo Huguet) [2059994] - iwlwifi: yoyo: Avoid using dram data if allocation failed (Íñigo Huguet) [2059994] - iwlwifi: mvm: Correctly set fragmented EBS (Íñigo Huguet) [2059994] - iwlwifi: nvm: Correct HE capability (Íñigo Huguet) [2059994] - iwlwifi: mei: avoid -Wpointer-arith and -Wcast-qual warnings (Íñigo Huguet) [2059994] - iwlwifi: make some functions friendly to sparse (Íñigo Huguet) [2059994] - iwlwifi: avoid variable shadowing (Íñigo Huguet) [2059994] - iwlwifi: remove unused DC2DC_CONFIG_CMD definitions (Íñigo Huguet) [2059994] - iwlwifi: dbg-tlv: clean up iwl_dbg_tlv_update_drams() (Íñigo Huguet) [2059994] - iwlwifi: fw: make dump_start callback void (Íñigo Huguet) [2059994] - iwlwifi: pcie: make sure iwl_rx_packet_payload_len() will not underflow (Íñigo Huguet) [2059994] - iwlwifi: mvm: use debug print instead of WARN_ON() (Íñigo Huguet) [2059994] - iwlwifi: read and print OTP minor version (Íñigo Huguet) [2059994] - iwlwifi: add support for BZ-U and BZ-L HW (Íñigo Huguet) [2059994] - iwlwifi: mvm: add support for CT-KILL notification version 2 (Íñigo Huguet) [2059994] - iwlwifi: yoyo: remove DBGI_SRAM address reset writing (Íñigo Huguet) [2059994] - iwlwifi: mvm: support v3 of station HE context command (Íñigo Huguet) [2059994] - iwlwifi: yoyo: add IMR DRAM dump support (Íñigo Huguet) [2059994] - iwlwifi: yoyo: fix DBGC allocation flow (Íñigo Huguet) [2059994] - iwlwifi: pcie: add support for MS devices (Íñigo Huguet) [2059994] - iwlwifi: mvm: align locking in D3 test debugfs (Íñigo Huguet) [2059994] - iwlwifi: mvm: don't iterate unadded vifs when handling FW SMPS req (Íñigo Huguet) [2059994] - iwlwifi: advertise support for HE - DCM BPSK RX/TX (Íñigo Huguet) [2059994] - iwlwifi: mvm: only enable HE DCM if we also support TX (Íñigo Huguet) [2059994] - iwlwifi: yoyo: fix DBGI_SRAM ini dump header. (Íñigo Huguet) [2059994] - iwlwifi: dbg: add infra for tracking free buffer size (Íñigo Huguet) [2059994] - iwlwifi: mvm: starting from 22000 we have 32 Rx AMPDU sessions (Íñigo Huguet) [2059994] - iwlwifi: mvm: support new BAID allocation command (Íñigo Huguet) [2059994] - iwlwifi: mvm: refactor iwl_mvm_sta_rx_agg() (Íñigo Huguet) [2059994] - iwlwifi: cfg: add support for 1K BA queue (Íñigo Huguet) [2059994] - iwlwifi: avoid void pointer arithmetic (Íñigo Huguet) [2059994] - iwlwifi: fix various more -Wcast-qual warnings (Íñigo Huguet) [2059994] - iwlwifi: propagate (const) type qualifier (Íñigo Huguet) [2059994] - iwlwifi: de-const properly where needed (Íñigo Huguet) [2059994] - iwlwifi: make iwl_fw_lookup_cmd_ver() take a cmd_id (Íñigo Huguet) [2059994] - iwlwifi: mvm: fw: clean up hcmd struct creation (Íñigo Huguet) [2059994] - iwlwifi: prefer WIDE_ID() over iwl_cmd_id() (Íñigo Huguet) [2059994] - iwlwifi: mvm: allow enabling UHB TAS in the USA via ACPI setting (Íñigo Huguet) [2059994] - iwlwifi: mvm: offload channel switch timing to FW (Íñigo Huguet) [2059994] - iwlwifi: mvm: Don't call iwl_mvm_sta_from_mac80211() with NULL sta (Íñigo Huguet) [2059994] - mac80211_hwsim: Advertise support for EHT capabilities (Íñigo Huguet) [2059994] - mac80211: parse AddBA request with extended AddBA element (Íñigo Huguet) [2059994] - mac80211: calculate max RX NSS for EHT mode (Íñigo Huguet) [2059994] - mac80211: Add support for storing station EHT capabilities (Íñigo Huguet) [2059994] - mac80211: Handle station association response with EHT (Íñigo Huguet) [2059994] - mac80211: Add EHT capabilities to association/probe request (Íñigo Huguet) [2059994] - mac80211: Add initial support for EHT and 320 MHz channels (Íñigo Huguet) [2059994] - mac80211: Support parsing EHT elements (Íñigo Huguet) [2059994] - cfg80211: Support configuration of station EHT capabilities (Íñigo Huguet) [2059994] - nl80211: fix NL80211_HE_MAX_CAPABILITY_LEN (Íñigo Huguet) [2059994] - cfg80211: add NO-EHT flag to regulatory (Íñigo Huguet) [2059994] - nl80211: add support for 320MHz channel limitation (Íñigo Huguet) [2059994] - nl80211: add EHT MCS support (Íñigo Huguet) [2059994] - cfg80211: Add support for EHT 320 MHz channel width (Íñigo Huguet) [2059994] - cfg80211: Add data structures to capture EHT capabilities (Íñigo Huguet) [2059994] - ieee80211: add EHT 1K aggregation definitions (Íñigo Huguet) [2059994] - ieee80211: Add EHT (802.11be) definitions (Íñigo Huguet) [2059994] - mac80211_hwsim: Add custom regulatory for 6GHz (Íñigo Huguet) [2059994] - mac80211_hwsim: don't shadow a global variable (Íñigo Huguet) [2059994] - mac80211_hwsim: check TX and STA bandwidth (Íñigo Huguet) [2059994] - nl80211: accept only HE capability elements with valid size (Íñigo Huguet) [2059994] - mac80211: parse only HE capability elements with valid size (Íñigo Huguet) [2059994] - ieee80211: add helper to check HE capability element size (Íñigo Huguet) [2059994] - nl80211: use RCU to read regdom in reg get/dump (Íñigo Huguet) [2059994] - mac80211_hwsim: Add debugfs to control rx status RSSI (Íñigo Huguet) [2059994] - ieee80211: use tab to indent struct ieee80211_neighbor_ap_info (Íñigo Huguet) [2059994] - rtw89: handle TX/RX 160M bandwidth (Íñigo Huguet) [2059994] - rtw89: declare if chip support 160M bandwidth (Íñigo Huguet) [2059994] - rtw89: add 6G support to rate adaptive mechanism (Íñigo Huguet) [2059994] - rtw89: extend subband for 6G band (Íñigo Huguet) [2059994] - rtw89: refine naming of rfk helpers with prefix (Íñigo Huguet) [2059994] - rtw89: make rfk helpers common across chips (Íñigo Huguet) [2059994] - brcmfmac: Add BCM43454/6 support (Íñigo Huguet) [2059994] - ath11k: fix destination monitor ring out of sync (Íñigo Huguet) [2059994] - ath11k: fix radar detection in 160 Mhz (Íñigo Huguet) [2059994] - ath11k: fix WARN_ON during ath11k_mac_update_vif_chan (Íñigo Huguet) [2059994] - ath11k: fix uninitialized rate_idx in ath11k_dp_tx_update_txcompl() (Íñigo Huguet) [2059994] - brcmfmac: of: remove redundant variable len (Íñigo Huguet) [2059994] - brcmfmac: p2p: Replace one-element arrays with flexible-array members (Íñigo Huguet) [2059994] - rtw89: coex: set EN bit to PLT register (Íñigo Huguet) [2059994] - rtw89: recover rates of rate adaptive mechanism (Íñigo Huguet) [2059994] - rtw88: recover rates of rate adaptive mechanism (Íñigo Huguet) [2059994] - rtw89: declare AP mode support (Íñigo Huguet) [2059994] - rtw89: debug: add stations entry to show ID assignment (Íñigo Huguet) [2059994] - rtw89: implement ieee80211_ops::start_ap and stop_ap (Íñigo Huguet) [2059994] - rtw89: maintain assoc/disassoc STA states of firmware and hardware (Íñigo Huguet) [2059994] - rtw89: only STA mode change vif_type mapping dynamically (Íñigo Huguet) [2059994] - rtw89: add addr_cam field to sta to support AP mode (Íñigo Huguet) [2059994] - rtw89: extend role_maintain to support AP mode (Íñigo Huguet) [2059994] - rtw88: fix use after free in rtw_hw_scan_update_probe_req() (Íñigo Huguet) [2059994] - mac80211: Remove redundent assignment channel_type (Íñigo Huguet) [2059994] - mac80211: remove useless ieee80211_vif_is_mesh() check (Íñigo Huguet) [2059994] - mac80211: fix struct ieee80211_tx_info size (Íñigo Huguet) [2059994] - mac80211: mlme: validate peer HE supported rates (Íñigo Huguet) [2059994] - mac80211: remove unused macros (Íñigo Huguet) [2059994] - cfg80211: pmsr: remove useless ifdef guards (Íñigo Huguet) [2059994] - mac80211: airtime: avoid variable shadowing (Íñigo Huguet) [2059994] - mac80211: mlme: add documentation from spec to code (Íñigo Huguet) [2059994] - mac80211: vht: use HE macros for parsing HE capabilities (Íñigo Huguet) [2059994] - ieee80211: radiotap: fix -Wcast-qual warnings (Íñigo Huguet) [2059994] - cfg80211: fix -Wcast-qual warnings (Íñigo Huguet) [2059994] - ieee80211: fix -Wcast-qual warnings (Íñigo Huguet) [2059994] - cfg80211: don't add non transmitted BSS to 6GHz scanned channels (Íñigo Huguet) [2059994] - ieee80211: fix HE SPR size calculation (Íñigo Huguet) [2059994] - cfg80211/mac80211: assume CHECKSUM_COMPLETE includes SNAP (Íñigo Huguet) [2059994] - mac80211: consider RX NSS in UHB connection (Íñigo Huguet) [2059994] - mac80211: limit bandwidth in HE capabilities (Íñigo Huguet) [2059994] - mt76: redefine mt76_for_each_q_rx to adapt mt7986 changes (Íñigo Huguet) [2059994] - mt76: dma: initialize skip_unmap in mt76_dma_rx_fill (Íñigo Huguet) [2059994] - mt76: do not always copy ethhdr in reverse_frag0_hdr_trans (Íñigo Huguet) [2059994] - mt76: mt76x02: use mt76_phy_dfs_state to determine radar detector state (Íñigo Huguet) [2059994] - mt76: mt7615: fix/rewrite the dfs state handling logic (Íñigo Huguet) [2059994] - mt76: mt7915: fix/rewrite the dfs state handling logic (Íñigo Huguet) [2059994] - mt76: mt76x02: improve tx hang detection (Íñigo Huguet) [2059994] - mt76x02: improve mac error check/reset reliability (Íñigo Huguet) [2059994] - mt76: mt7921s: run sleep mode by default (Íñigo Huguet) [2059994] - mt76: sdio: honor the largest Tx buffer the hardware can support (Íñigo Huguet) [2059994] - mt76: mt7915: fix the nss setting in bitrates (Íñigo Huguet) [2059994] - mt76: mt7915: update max_mpdu_size in mt7915_mcu_sta_amsdu_tlv() (Íñigo Huguet) [2059994] - mt76: mt7915: fix mcs_map in mt7915_mcu_set_sta_he_mcs() (Íñigo Huguet) [2059994] - mt76: mt7921s: fix a possible memory leak in mt7921_load_patch (Íñigo Huguet) [2059994] - mt76: mt7915: fix possible memory leak in mt7915_mcu_add_sta (Íñigo Huguet) [2059994] - mt76: stop the radar detector after leaving dfs channel (Íñigo Huguet) [2059994] - mt76: mt7615: check sta_rates pointer in mt7615_sta_rate_tbl_update (Íñigo Huguet) [2059994] - mt76: mt7603: check sta_rates pointer in mt7603_sta_rate_tbl_update (Íñigo Huguet) [2059994] - mt76: mt7663s: flush runtime-pm queue after waking up the device (Íñigo Huguet) [2059994] - mt76: mt7615: add support for LG LGSBWAC02 (MT7663BUN) (Íñigo Huguet) [2059994] - mt76: mt7921: remove duplicated code in mt7921_mac_decode_he_radiotap (Íñigo Huguet) [2059994] - mt76: mt7915: add missing DATA4_TB_SPTL_REUSE1 to mt7915_mac_decode_he_radiotap (Íñigo Huguet) [2059994] - mt76: connac: move mt76_connac_lmac_mapping in mt76-connac module (Íñigo Huguet) [2059994] - mt76: mt7915: enable radar background detection (Íñigo Huguet) [2059994] - mt76: mt7915: report radar pattern if detected by rdd2 (Íñigo Huguet) [2059994] - mt76: mt7915: introduce rdd_monitor debugfs node (Íñigo Huguet) [2059994] - mt76: mt7915: enable radar trigger on rdd2 (Íñigo Huguet) [2059994] - mt76: mt7915: introduce mt7915_set_radar_background routine (Íñigo Huguet) [2059994] - mt76: mt7915: set bssinfo/starec command when adding interface (Íñigo Huguet) [2059994] - mt76: mt7921: toggle runtime-pm adding a monitor vif (Íñigo Huguet) [2059994] - mt76: mt7921: fix endianness issues in mt7921_mcu_set_tx() (Íñigo Huguet) [2059994] - mt76: sdio: disable interrupt in mt76s_sdio_irq (Íñigo Huguet) [2059994] - mt76: mt7921: fix crash when startup fails. (Íñigo Huguet) [2059994] - mt76: mt7921s: fix mt7921s_mcu_[fw|drv]_pmctrl (Íñigo Huguet) [2059994] - mt76: mt7921: fix ht mcs in mt7921_mac_add_txs_skb() (Íñigo Huguet) [2059994] - mt76: mt7915: fix ht mcs in mt7915_mac_add_txs_skb() (Íñigo Huguet) [2059994] - mt76: mt7615: fix a leftover race in runtime-pm (Íñigo Huguet) [2059994] - mt76: mt7921: fix a leftover race in runtime-pm (Íñigo Huguet) [2059994] - mt76: mt7921: do not always disable fw runtime-pm (Íñigo Huguet) [2059994] - mt76: mt7915: add support for passing chip/firmware debug data to user space (Íñigo Huguet) [2059994] - mt76: mt7615e: process txfree and txstatus without allocating skbs (Íñigo Huguet) [2059994] - mt76: mt7915: update bss_info with cipher after setting the group key (Íñigo Huguet) [2059994] - mt76: mt7615: update bss_info with cipher after setting the group key (Íñigo Huguet) [2059994] - mt76: connac: add support for passing the cipher field in bss_info (Íñigo Huguet) [2059994] - mt76: mt7921e: process txfree and txstatus without allocating skbs (Íñigo Huguet) [2059994] - mt76: mt7615: fix a possible race enabling/disabling runtime-pm (Íñigo Huguet) [2059994] - mt76: mt7921: set EDCA parameters with the MCU CE command (Íñigo Huguet) [2059994] - mt76: mt76_connac: fix MCU_CE_CMD_SET_ROC definition error (Íñigo Huguet) [2059994] - mt76: mt7921: forbid the doze mode when coredump is in progress (Íñigo Huguet) [2059994] - mt76: mt7921e: make dev->fw_assert usage consistent (Íñigo Huguet) [2059994] - mt76: connac: move mt76_connac_mcu_rdd_cmd in mt76-connac module (Íñigo Huguet) [2059994] - mt76: mt7915: rely on mt76_connac_mcu_set_rts_thresh (Íñigo Huguet) [2059994] - mt76: connac: move mt76_connac_mcu_gen_dl_mode in mt76-connac module (Íñigo Huguet) [2059994] - mt76: mt7915: rely on mt76_connac_mcu_init_download (Íñigo Huguet) [2059994] - mt76: mt7915: rely on mt76_connac_mcu_patch_sem_ctrl/mt76_connac_mcu_start_patch (Íñigo Huguet) [2059994] - mt76: connac: move mt76_connac_mcu_restart in common module (Íñigo Huguet) [2059994] - mt76: mt7915: rely on mt76_connac_mcu_start_firmware (Íñigo Huguet) [2059994] - mt76: mt7921: get rid of mt7921_mcu_get_eeprom (Íñigo Huguet) [2059994] - mt76: connac: move mt76_connac_mcu_set_pm in connac module (Íñigo Huguet) [2059994] - mt76: connac: introduce is_connac_v1 utility routine (Íñigo Huguet) [2059994] - mt76: connac: move mt76_connac_mcu_wtbl_update_hdr_trans in connac module (Íñigo Huguet) [2059994] - mt76: mt7915: rely on mt76_connac_mcu_wtbl_hdr_trans_tlv (Íñigo Huguet) [2059994] - mt76: mt7915: rely on mt76_connac_mcu_wtbl_ht_tlv (Íñigo Huguet) [2059994] - mt76: mt7915: rely on mt76_connac_mcu_wtbl_smps_tlv (Íñigo Huguet) [2059994] - mt76: mt7915: rely on mt76_connac_mcu_sta_uapsd (Íñigo Huguet) [2059994] - mt76: mt7915: rely on mt76_connac_mcu_sta_basic_tlv (Íñigo Huguet) [2059994] - mt76: mt7915: rely on mt76_connac_mcu_wtbl_generic_tlv (Íñigo Huguet) [2059994] - mt76: mt7915: rely on mt76_connac_mcu_sta_ba (Íñigo Huguet) [2059994] - mt76: mt7915: rely on mt76_connac_mcu_wtbl_ba_tlv (Íñigo Huguet) [2059994] - mt76: mt7915: rely on mt76_connac_mcu_sta_ba_tlv (Íñigo Huguet) [2059994] - mt76: connac: move mt76_connac_mcu_bss_basic_tlv in connac module (Íñigo Huguet) [2059994] - mt76: connac: move mt76_connac_mcu_bss_ext_tlv in connac module (Íñigo Huguet) [2059994] - mt76: connac: move mt76_connac_mcu_bss_omac_tlv in connac module (Íñigo Huguet) [2059994] - mt76: mt7915: remove duplicated defs in mcu.h (Íñigo Huguet) [2059994] - mt76: mt7915: move pci specific code back to pci.c (Íñigo Huguet) [2059994] - mt76: mt7921s: update mt7921s_wfsys_reset sequence (Íñigo Huguet) [2059994] - mt76: mt7921s: clear MT76_STATE_MCU_RUNNING immediately after reset (Íñigo Huguet) [2059994] - mt76: sdio: lock sdio when it is needed (Íñigo Huguet) [2059994] - mt76: mt7915: use proper aid value in mt7915_mcu_sta_basic_tlv (Íñigo Huguet) [2059994] - mt76: mt7915: use proper aid value in mt7915_mcu_wtbl_generic_tlv in sta mode (Íñigo Huguet) [2059994] - mt76: make mt76_sar_capa static (Íñigo Huguet) [2059994] - mt76: mt7915: add device id for mt7916 (Íñigo Huguet) [2059994] - mt76: set wlan_idx_hi on mt7916 (Íñigo Huguet) [2059994] - mt76: connac: move mt76_connac_mcu_add_key in connac module (Íñigo Huguet) [2059994] - mt76: mt7915: rely on mt76_connac_get_phy utilities (Íñigo Huguet) [2059994] - mt76: connac: move mt76_connac_chan_bw in common code (Íñigo Huguet) [2059994] - mt76: connac: move mt76_connac_mcu_get_cipher in common code (Íñigo Huguet) [2059994] - mt76: mt7915: rely on mt76_connac_mcu_add_tlv routine (Íñigo Huguet) [2059994] - mt76: mt7915: rely on mt76_connac_mcu_alloc_wtbl_req (Íñigo Huguet) [2059994] - mt76: mt7915: rely on mt76_connac_mcu_alloc_sta_req (Íñigo Huguet) [2059994] - mt76: connac: fix sta_rec_wtbl tag len (Íñigo Huguet) [2059994] - mt76: mt7915: add mt7916 calibrated data support (Íñigo Huguet) [2059994] - mt76: mt7915: update mt7915_chan_mib_offs for mt7916 (Íñigo Huguet) [2059994] - mt76: mt7915: update rx rate reporting for mt7916 (Íñigo Huguet) [2059994] - mt76: mt7915: add txfree event v3 (Íñigo Huguet) [2059994] - mt76: mt7915: enlarge wcid size to 544 (Íñigo Huguet) [2059994] - mt76: mt7915: rework eeprom.c to adapt mt7916 changes (Íñigo Huguet) [2059994] - mt76: mt7915: add firmware support for mt7916 (Íñigo Huguet) [2059994] - mt76: mt7915: rework dma.c to adapt mt7916 changes (Íñigo Huguet) [2059994] - mt76: add MT_RXQ_MAIN_WA for mt7916 (Íñigo Huguet) [2059994] - mt76: mt7915: refine register definition (Íñigo Huguet) [2059994] - mt76: mt7915: add mt7915_mmio_probe() as a common probing function (Íñigo Huguet) [2059994] - mt76: mt7915: fix polling firmware-own status (Íñigo Huguet) [2059994] - brcmfmac: pcie: Read the console on init and shutdown (Íñigo Huguet) [2059994] - brcmfmac: fwil: Constify iovar name arguments (Íñigo Huguet) [2059994] - brcmfmac: of: Use devm_kstrdup for board_type & check for errors (Íñigo Huguet) [2059994] - brcmfmac: pcie: Fix crashes due to early IRQs (Íñigo Huguet) [2059994] - brcmfmac: pcie: Replace brcmf_pcie_copy_mem_todev with memcpy_toio (Íñigo Huguet) [2059994] - brcmfmac: pcie: Declare missing firmware files in pcie.c (Íñigo Huguet) [2059994] - brcmfmac: firmware: Allocate space for default boardrev in nvram (Íñigo Huguet) [2059994] - brcmfmac: pcie: Release firmwares in the brcmf_pcie_setup error path (Íñigo Huguet) [2059994] - rtlwifi: remove redundant initialization of variable ul_encalgo (Íñigo Huguet) [2059994] - ray_cs: Check ioremap return value (Íñigo Huguet) [2059994] - ath11k: add debugfs for TWT debug calls (Íñigo Huguet) [2059994] - ath11k: add WMI calls to manually add/del/pause/resume TWT dialogs (Íñigo Huguet) [2059994] - ath11k: Add debugfs interface to configure firmware debug log level (Íñigo Huguet) [2059994] - rtw88: rtw8821c: enable rfe 6 devices (Íñigo Huguet) [2059994] - rtw88: fix memory overrun and memory leak during hw_scan (Íñigo Huguet) [2059994] - rtw88: fix idle mode flow for hw scan (Íñigo Huguet) [2059994] - rtw88: check for validity before using a pointer (Íñigo Huguet) [2059994] - ath11k: mhi: use mhi_sync_power_up() (Íñigo Huguet) [2059994] - ath11k: pci: fix crash on suspend if board file is not found (Íñigo Huguet) [2059994] - ath11k: Fix missing rx_desc_get_ldpc_support in wcn6855_ops (Íñigo Huguet) [2059994] - ath11k: Fix uninitialized symbol 'rx_buf_sz' (Íñigo Huguet) [2059994] - ath11k: fix kernel panic during unload/load ath11k modules (Íñigo Huguet) [2059994] - ath11k: Rename ath11k_ahb_ext_irq_config (Íñigo Huguet) [2059994] - brcmfmac: add CYW43570 PCIE device (Íñigo Huguet) [2059994] - brcmfmac: use ISO3166 country code and 0 rev as fallback on some devices (Íñigo Huguet) [2059994] - rtw89: use pci_read/write_config instead of dbi read/write (Íñigo Huguet) [2059994] - rtw89: refine DIG feature to support 160M and CCK PD (Íñigo Huguet) [2059994] - rtw89: include subband type in channel params (Íñigo Huguet) [2059994] - rtw89: handle 6G band if supported by a chipset (Íñigo Huguet) [2059994] - rtw89: separate {init,deinit}_addr_cam functions (Íñigo Huguet) [2059994] - rtw89: set mac_id and port ID to TXWD (Íñigo Huguet) [2059994] - rtw89: send broadcast/multicast packets via HIQ if STAs are in sleep mode (Íñigo Huguet) [2059994] - rtw89: configure mac port HIQ registers (Íñigo Huguet) [2059994] - rtw89: rename vif_maintain to role_maintain (Íñigo Huguet) [2059994] - rtw89: extend firmware commands on states of sta_assoc and sta_disconnect (Íñigo Huguet) [2059994] - rtw89: allocate mac_id for each station in AP mode (Íñigo Huguet) [2059994] - rtw89: implement mac80211_ops::set_tim to indicate STA to receive packets (Íñigo Huguet) [2059994] - rtw89: add C2H handle of BCN_CNT (Íñigo Huguet) [2059994] - rtw89: download beacon content to firmware (Íñigo Huguet) [2059994] - rtw89: use hardware SSN to TX management frame (Íñigo Huguet) [2059994] - rtw89: configure rx_filter according to FIF_PROBE_REQ (Íñigo Huguet) [2059994] - rtw89: correct use of BA CAM (Íñigo Huguet) [2059994] - rtw89: encapsulate RX handlers to single function (Íñigo Huguet) [2059994] - rtw89: Add RX counters of VHT MCS-10/11 to debugfs (Íñigo Huguet) [2059994] - rtw89: remove duplicate definition of hardware port number (Íñigo Huguet) [2059994] - rtw89: extract modules by chipset (Íñigo Huguet) [2059994] - ath11k: avoid firmware crash when reg set for QCA6390/WCN6855 (Íñigo Huguet) [2059994] - ath11k: set WMI_PEER_40MHZ while peer assoc for 6 GHz (Íñigo Huguet) [2059994] - ath9k_htc: fix uninit value bugs (Íñigo Huguet) [2059994] - ath10k: abstract htt_rx_desc structure (Íñigo Huguet) [2059994] - ath9k: remove redundant status variable (Íñigo Huguet) [2059994] - ath11k: Reconfigure hardware rate for WCN6855 after vdev is started (Íñigo Huguet) [2059994] - ath: dfs_pattern_detector: Avoid open coded arithmetic in memory allocation (Íñigo Huguet) [2059994] - ath10k: Use platform_get_irq() to get the interrupt (Íñigo Huguet) [2059994] - ath11k: fix error code in ath11k_qmi_assign_target_mem_chunk() (Íñigo Huguet) [2059994] - ath11k: move function ath11k_dp_rx_process_mon_status (Íñigo Huguet) [2059994] - ath11k: enable RX PPDU stats in monitor co-exist mode (Íñigo Huguet) [2059994] - ath11k: free peer for station when disconnect from AP for QCA6390/WCN6855 (Íñigo Huguet) [2059994] - ath11k: add LDPC FEC type in 802.11 radiotap header (Íñigo Huguet) [2059994] - ath11k: Refactor the fallback routine when peer create fails (Íñigo Huguet) [2059994] - ath11k: fix workqueue not getting destroyed after rmmod (Íñigo Huguet) [2059994] - ath10k: fix memory overwrite of the WoWLAN wakeup packet pattern (Íñigo Huguet) [2059994] - ath11k: add missing of_node_put() to avoid leak (Íñigo Huguet) [2059994] - rfkill: define rfill_soft_blocked() if !RFKILL (Íñigo Huguet) [2059994] - Revert "ath10k: drop beacon and probe response which leak from other channel" (Íñigo Huguet) [2059994] - iwlwifi: mvm: return value for request_ownership (Íñigo Huguet) [2059994] - nl80211: Update bss channel on channel switch for P2P_CLIENT (Íñigo Huguet) [2059994] - iwlwifi: fix build error for IWLMEI (Íñigo Huguet) [2059994] - mac80211: treat some SAE auth steps as final (Íñigo Huguet) [2059994] - nl80211: Handle nla_memdup failures in handle_nan_filter (Íñigo Huguet) [2059994] - iwlwifi: mvm: check debugfs_dir ptr before use (Íñigo Huguet) [2059994] - iwlwifi: don't advertise TWT support (Íñigo Huguet) [2059994] - mac80211: fix forwarded mesh frames AC & queue selection (Íñigo Huguet) [2059994] - mac80211: refuse aggregations sessions before authorized (Íñigo Huguet) [2059994] - mac80211: fix EAPoL rekey fail in 802.3 rx path (Íñigo Huguet) [2059994] - iwlwifi: fix use-after-free (Íñigo Huguet) [2059994] - bus: mhi: pci_generic: Add mru_default for Cinterion MV31-W (Íñigo Huguet) [2059994] - bus: mhi: pci_generic: Add mru_default for Foxconn SDX55 (Íñigo Huguet) [2059994] - cfg80211: fix race in netlink owner interface destruction (Íñigo Huguet) [2059994] - iwlwifi: mvm: don't send SAR GEO command for 3160 devices (Íñigo Huguet) [2059994] - iwlwifi: remove deprecated broadcast filtering feature (Íñigo Huguet) [2059994] - iwlwifi: mei: report RFKILL upon register when needed (Íñigo Huguet) [2059994] - iwlwifi: mvm: don't feed the hardware RFKILL into iwlmei (Íñigo Huguet) [2059994] - iwlwifi: mei: retry mapping the shared area (Íñigo Huguet) [2059994] - iwlwifi: mei: fix the pskb_may_pull check in ipv4 (Íñigo Huguet) [2059994] - iwlwifi: pcie: gen2: fix locking when "HW not ready" (Íñigo Huguet) [2059994] - iwlwifi: pcie: fix locking when "HW not ready" (Íñigo Huguet) [2059994] - iwlwifi: fix iwl_legacy_rate_to_fw_idx (Íñigo Huguet) [2059994] - iwlwifi: mvm: fix condition which checks the version of rate_n_flags (Íñigo Huguet) [2059994] - mac80211_hwsim: initialize ieee80211_tx_info at hw_scan_work (Íñigo Huguet) [2059994] - mac80211_hwsim: report NOACK frames in tx_status (Íñigo Huguet) [2059994] - mac80211: mlme: check for null after calling kmemdup (Íñigo Huguet) [2059994] - brcmfmac: firmware: Fix crash in brcm_alt_fw_path (Íñigo Huguet) [2059994] - mac80211: use ieee80211_bss_get_elem() (Íñigo Huguet) [2059994] - nl80211: clarify comment for mesh PLINK_BLOCKED state (Íñigo Huguet) [2059994] - mac80211: Add stations iterator where the iterator function may sleep (Íñigo Huguet) [2059994] - mac80211: allow non-standard VHT MCS-10/11 (Íñigo Huguet) [2059994] - codel: remove unnecessary pkt_sched.h include (Íñigo Huguet) [2059994] - codel: remove unnecessary sock.h include (Íñigo Huguet) [2059994] - rtw88: don't consider deep PS mode when transmitting packet (Íñigo Huguet) [2059994] - ath11k: add support of firmware logging for WCN6855 (Íñigo Huguet) [2059994] - ath10k: replace strlcpy with strscpy (Íñigo Huguet) [2059994] - rtw88: support SAR via kernel common API (Íñigo Huguet) [2059994] - rtw88: 8822c: add ieee80211_ops::hw_scan (Íñigo Huguet) [2059994] - iwlwifi: mei: wait before mapping the shared area (Íñigo Huguet) [2059994] - iwlwifi: mei: clear the ownership when the driver goes down (Íñigo Huguet) [2059994] - iwlwifi: fw: fix some scan kernel-doc (Íñigo Huguet) [2059994] - iwlwifi: mvm: remove card state notification code (Íñigo Huguet) [2059994] - iwlwifi: mvm: drop too short packets silently (Íñigo Huguet) [2059994] - iwlwifi: return op_mode only in case the failure is from MEI (Íñigo Huguet) [2059994] - iwlwifi: mvm: support Bz TX checksum offload (Íñigo Huguet) [2059994] - iwlwifi: mvm: add US/CA to TAS block list if OEM isn't allowed (Íñigo Huguet) [2059994] - iwlwifi: mvm: correctly set schedule scan profiles (Íñigo Huguet) [2059994] - iwlwifi: mvm: correctly set channel flags (Íñigo Huguet) [2059994] - iwlwifi: mvm: always store the PPAG table as the latest version. (Íñigo Huguet) [2059994] - iwlwifi: bump FW API to 69 for AX devices (Íñigo Huguet) [2059994] - iwlwifi: yoyo: support TLV-based firmware reset (Íñigo Huguet) [2059994] - iwlwifi: mvm: change old-SN drop threshold (Íñigo Huguet) [2059994] - iwlwifi: mvm: don't trust hardware queue number (Íñigo Huguet) [2059994] - iwlwifi: mvm: handle RX checksum on Bz devices (Íñigo Huguet) [2059994] - iwlwifi: mvm: use a define for checksum flags mask (Íñigo Huguet) [2059994] - iwlwifi: remove module loading failure message (Íñigo Huguet) [2059994] - iwlwifi: mvm: isolate offload assist (checksum) calculation (Íñigo Huguet) [2059994] - iwlwifi: mvm: add support for OCE scan (Íñigo Huguet) [2059994] - iwlwifi: dump RCM error tables (Íñigo Huguet) [2059994] - iwlwifi: dump both TCM error tables if present (Íñigo Huguet) [2059994] - iwlwifi: dump CSR scratch from outer function (Íñigo Huguet) [2059994] - iwlwifi: parse error tables from debug TLVs (Íñigo Huguet) [2059994] - iwlwifi: recognize missing PNVM data and then log filename (Íñigo Huguet) [2059994] - iwlwifi: rs: add support for TLC config command ver 4 (Íñigo Huguet) [2059994] - iwlwifi: mvm: rfi: update rfi table (Íñigo Huguet) [2059994] - iwlwifi: mvm: Add list of OEMs allowed to use TAS (Íñigo Huguet) [2059994] - iwlwifi: mvm: support revision 1 of WTAS table (Íñigo Huguet) [2059994] - iwlwifi: fw: remove dead error log code (Íñigo Huguet) [2059994] - iwlwifi: do not use __unused as variable name (Íñigo Huguet) [2059994] - iwlwifi: iwl-eeprom-parse: mostly dvm only (Íñigo Huguet) [2059994] - iwlwifi: mvm: clean up indenting in iwl_mvm_tlc_update_notif() (Íñigo Huguet) [2059994] - iwlwifi: mvm: fix a stray tab (Íñigo Huguet) [2059994] - ath11k: add regdb.bin download for regdb offload (Íñigo Huguet) [2059994] - rtl8xxxu: Improve the A-MPDU retransmission rate with RTS/CTS protection (Íñigo Huguet) [2059994] - rtw88: don't check CRC of VHT-SIG-B in 802.11ac signal (Íñigo Huguet) [2059994] - iwlwifi: mvm: fix imbalanced locking in iwl_mvm_start_get_nvm() (Íñigo Huguet) [2059994] - iwlwifi: mvm: add dbg_time_point to debugfs (Íñigo Huguet) [2059994] - iwlwifi: mvm: add missing min_size to kernel-doc (Íñigo Huguet) [2059994] - iwlwifi: mei: fix W=1 warnings (Íñigo Huguet) [2059994] - ath11k: add support for hardware rfkill for QCA6390 (Íñigo Huguet) [2059994] - ath11k: report tx bitrate for iw wlan station dump (Íñigo Huguet) [2059994] - ath11k: fix warning of RCU usage for ath11k_mac_get_arvif_by_vdev_id() (Íñigo Huguet) [2059994] - ath11k: add signal report to mac80211 for QCA6390 and WCN6855 (Íñigo Huguet) [2059994] - ath11k: report rssi of each chain to mac80211 for QCA6390/WCN6855 (Íñigo Huguet) [2059994] - cfg80211: Enable regulatory enforcement checks for drivers supporting mesh iface (Íñigo Huguet) [2059994] - rfkill: allow to get the software rfkill state (Íñigo Huguet) [2059994] - cfg80211: refactor cfg80211_get_ies_channel_number() (Íñigo Huguet) [2059994] - nl82011: clarify interface combinations wrt. channels (Íñigo Huguet) [2059994] - nl80211: Add support to offload SA Query procedures for AP SME device (Íñigo Huguet) [2059994] - nl80211: Add support to set AP settings flags with single attribute (Íñigo Huguet) [2059994] - mac80211: add more HT/VHT/HE state logging (Íñigo Huguet) [2059994] - cfg80211: Use the HE operation IE to determine a 6GHz BSS channel (Íñigo Huguet) [2059994] - cfg80211: rename offchannel_chain structs to background_chain to avoid confusion with ETSI standard (Íñigo Huguet) [2059994] - mac80211: Notify cfg80211 about association comeback (Íñigo Huguet) [2059994] - cfg80211: Add support for notifying association comeback (Íñigo Huguet) [2059994] - mac80211: introduce channel switch disconnect function (Íñigo Huguet) [2059994] - cfg80211: Fix order of enum nl80211_band_iftype_attr documentation (Íñigo Huguet) [2059994] - cfg80211: simplify cfg80211_chandef_valid() (Íñigo Huguet) [2059994] - mac80211: Remove a couple of obsolete TODO (Íñigo Huguet) [2059994] - mac80211: use coarse boottime for airtime fairness code (Íñigo Huguet) [2059994] - mt76: mt7921s: fix cmd timeout in throughput test (Íñigo Huguet) [2059994] - mt76: mt7921s: fix suspend error with enlarging mcu timeout value (Íñigo Huguet) [2059994] - mt76: mt7921s: make pm->suspended usage consistent (Íñigo Huguet) [2059994] - mt76: mt7921: clear pm->suspended in mt7921_mac_reset_work (Íñigo Huguet) [2059994] - mt76: connac: rely on le16_add_cpu in mt76_connac_mcu_add_nested_tlv (Íñigo Huguet) [2059994] - mt76: mt7921: remove dead definitions (Íñigo Huguet) [2059994] - mt76: mt7915: add mu-mimo and ofdma debugfs knobs (Íñigo Huguet) [2059994] - mt76: mt7915: introduce mt76_vif in mt7915_vif (Íñigo Huguet) [2059994] - mt76: mt7921: reduce log severity levels for informative messages (Íñigo Huguet) [2059994] - mt76: mt7915: rely on mt76_connac definitions (Íñigo Huguet) [2059994] - mt76: connac: rely on MCU_CMD macro (Íñigo Huguet) [2059994] - mt76: connac: introduce MCU_CE_CMD macro (Íñigo Huguet) [2059994] - mt76: connac: introduce MCU_UNI_CMD macro (Íñigo Huguet) [2059994] - mt76: connac: remove MCU_FW_PREFIX bit (Íñigo Huguet) [2059994] - mt76: connac: align MCU_EXT definitions with 7915 driver (Íñigo Huguet) [2059994] - mt76: connac: introduce MCU_EXT macros (Íñigo Huguet) [2059994] - mt76: mt7615: in debugfs queue stats, skip wmm index 3 on mt7663 (Íñigo Huguet) [2059994] - mt76: mt7915: process txfree and txstatus without allocating skbs (Íñigo Huguet) [2059994] - mt76: allow drivers to drop rx packets early (Íñigo Huguet) [2059994] - mt76: mt7663: disable 4addr capability (Íñigo Huguet) [2059994] - mt76: only access ieee80211_hdr after mt76_insert_ccmp_hdr (Íñigo Huguet) [2059994] - mt76: move sar_capa configuration in common code (Íñigo Huguet) [2059994] - mt76: mt7921s: fix possible kernel crash due to invalid Rx count (Íñigo Huguet) [2059994] - mt76: mt7921s: fix bus hang with wrong privilege (Íñigo Huguet) [2059994] - mt76: eeprom: tolerate corrected bit-flips (Íñigo Huguet) [2059994] - mt76: mt7603: improve reliability of tx powersave filtering (Íñigo Huguet) [2059994] - mt76: clear sta powersave flag after notifying driver (Íñigo Huguet) [2059994] - mt76: mt7915: introduce SAR support (Íñigo Huguet) [2059994] - mt76: mt7603: introduce SAR support (Íñigo Huguet) [2059994] - mt76: mt7915: improve wmm index allocation (Íñigo Huguet) [2059994] - mt76: mt7615: improve wmm index allocation (Íñigo Huguet) [2059994] - mt76: mt7921s: fix the device cannot sleep deeply in suspend (Íñigo Huguet) [2059994] - mt76: mt7615: fix decap offload corner case with 4-addr VLAN frames (Íñigo Huguet) [2059994] - mt76: mt7915: fix decap offload corner case with 4-addr VLAN frames (Íñigo Huguet) [2059994] - mt76: mt76x02: introduce SAR support (Íñigo Huguet) [2059994] - mt76: move sar utilities to mt76-core module (Íñigo Huguet) [2059994] - mt76: mt7921: honor mt76_connac_mcu_set_rate_txpower return value in mt7921_config (Íñigo Huguet) [2059994] - mt76: do not pass the received frame with decryption error (Íñigo Huguet) [2059994] - mt76: connac: remove PHY_MODE_AX_6G configuration in mt76_connac_get_phy_mode (Íñigo Huguet) [2059994] - mt76: mt7615: remove dead code in get_omac_idx (Íñigo Huguet) [2059994] - mt76: mt7921: introduce 160 MHz channel bandwidth support (Íñigo Huguet) [2059994] - mt76: mt7921: add support for PCIe ID 0x0608/0x0616 (Íñigo Huguet) [2059994] - mt76: testmode: add support to set MAC (Íñigo Huguet) [2059994] - mt76: mt7915: add default calibrated data support (Íñigo Huguet) [2059994] - mt76: only set rx radiotap flag from within decoder functions (Íñigo Huguet) [2059994] - mt76: reverse the first fragmented frame to 802.11 (Íñigo Huguet) [2059994] - bus: mhi: pci_generic: Introduce Sierra EM919X support (Íñigo Huguet) [2059994] - bus: mhi: core: Add an API for auto queueing buffers for DL channel (Íñigo Huguet) [2059994] - bus: mhi: pci_generic: Simplify code and axe the use of a deprecated API (Íñigo Huguet) [2059994] - bus: mhi: core: Use macros for execution environment features (Íñigo Huguet) [2059994] - bus: mhi: pci_generic: Add new device ID support for T99W175 (Íñigo Huguet) [2059994] - ath11k: Use reserved host DDR addresses from DT for PCI devices (Íñigo Huguet) [2059994] - ath11k: Change qcn9074 fw to operate in mode-2 (Íñigo Huguet) [2059994] - ath11k: add ab to TARGET_NUM_VDEVS & co (Íñigo Huguet) [2059994] - brcmfmac: Fix incorrect type assignments for keep-alive (Íñigo Huguet) [2059994] - ath11k: Avoid false DEADLOCK warning reported by lockdep (Íñigo Huguet) [2059994] - ath11k: set DTIM policy to stick mode for station interface (Íñigo Huguet) [2059994] - ath11k: support MAC address randomization in scan (Íñigo Huguet) [2059994] - ath10k: wmi: remove array of flexible structures (Íñigo Huguet) [2059994] - ath10k: htt: remove array of flexible structures (Íñigo Huguet) [2059994] - ath10k: drop beacon and probe response which leak from other channel (Íñigo Huguet) [2059994] - ath11k: Process full monitor mode rx support (Íñigo Huguet) [2059994] - ath11k: add software monitor ring descriptor for full monitor (Íñigo Huguet) [2059994] - ath11k: Add htt cmd to enable full monitor mode (Íñigo Huguet) [2059994] - ath11k: enable IEEE80211_HW_SINGLE_SCAN_ON_ALL_BANDS for WCN6855 (Íñigo Huguet) [2059994] - rtw88: refine tx_pwr_tbl debugfs to show channel and bandwidth (Íñigo Huguet) [2059994] - rtw88: add debugfs to fix tx rate (Íñigo Huguet) [2059994] - ath: regdom: extend South Korea regulatory domain support (Íñigo Huguet) [2059994] - ath11k: add wait operation for tx management packets for flush from mac80211 (Íñigo Huguet) [2059994] - ath11k: add 11d scan offload support (Íñigo Huguet) [2059994] - ath11k: add configure country code for QCA6390 and WCN6855 (Íñigo Huguet) [2059994] - ath11k: avoid deadlock by change ieee80211_queue_work for regd_update_work (Íñigo Huguet) [2059994] - iwlwifi: work around reverse dependency on MEI (Íñigo Huguet) [2059994] - iwlwifi: mvm: optionally suppress assert log (Íñigo Huguet) [2059994] - iwlwifi: fw: correctly detect HW-SMEM region subtype (Íñigo Huguet) [2059994] - iwlwifi: implement reset flow for Bz devices (Íñigo Huguet) [2059994] - iwlwifi: dbg: disable ini debug in 8000 family and below (Íñigo Huguet) [2059994] - iwlwifi: support SAR GEO Offset Mapping override via BIOS (Íñigo Huguet) [2059994] - iwlwifi: pcie: retake ownership after reset (Íñigo Huguet) [2059994] - iwlwifi: mvm: always use 4K RB size by default (Íñigo Huguet) [2059994] - iwlwifi: mvm/api: define system control command (Íñigo Huguet) [2059994] - iwlwifi: bump FW API to 68 for AX devices (Íñigo Huguet) [2059994] - iwlwifi: mvm: add some missing command strings (Íñigo Huguet) [2059994] - iwlwifi: fw: add support for splitting region type bits (Íñigo Huguet) [2059994] - iwlwifi: swap 1650i and 1650s killer struct names (Íñigo Huguet) [2059994] - iwlwifi: yoyo: support for DBGC4 for dram (Íñigo Huguet) [2059994] - iwlwifi: mvm: update rate scale in moving back to assoc state (Íñigo Huguet) [2059994] - iwlwifi: mvm: add support for statistics update version 15 (Íñigo Huguet) [2059994] - iwlwifi: mvm: Add support for a new version of scan request command (Íñigo Huguet) [2059994] - iwlwifi: mvm: remove session protection upon station removal (Íñigo Huguet) [2059994] - iwlwifi: mvm: add support for PHY context command v4 (Íñigo Huguet) [2059994] - iwlwifi: fw: api: add link to PHY context command struct v1 (Íñigo Huguet) [2059994] - iwlwifi: mvm: support RLC configuration command (Íñigo Huguet) [2059994] - iwlwifi: mvm: d3: support v12 wowlan status (Íñigo Huguet) [2059994] - iwlwifi: mvm: parse firmware alive message version 6 (Íñigo Huguet) [2059994] - iwlwifi: pcie: support Bz suspend/resume trigger (Íñigo Huguet) [2059994] - iwlwifi: mvm: d3: move GTK rekeys condition (Íñigo Huguet) [2059994] - ath11k: change to use dynamic memory for channel list of scan (Íñigo Huguet) [2059994] - ath11k: add support for WCN6855 hw2.1 (Íñigo Huguet) [2059994] - ath9k: switch to rate table based lookup (Íñigo Huguet) [2059994] - iwlwifi: mvm: demote non-compliant kernel-doc header (Íñigo Huguet) [2059994] - iwlwifi: mvm: fix a possible NULL pointer deference (Íñigo Huguet) [2059994] - iwlwifi: mei: Fix spelling mistake "req_ownserhip" -> "req_ownership" (Íñigo Huguet) [2059994] - iwlwifi: mei: don't rely on the size from the shared area (Íñigo Huguet) [2059994] - iwlwifi: mei: fix linking when tracing is not enabled (Íñigo Huguet) [2059994] - ath11k: Avoid NULL ptr access during mgmt tx cleanup (Íñigo Huguet) [2059994] - rtlwifi: rtl8192de: Style clean-ups (Íñigo Huguet) [2059994] - brcmfmac: Configure keep-alive packet on suspend (Íñigo Huguet) [2059994] - ieee80211: change HE nominal packet padding value defines (Íñigo Huguet) [2059994] - cfg80211: use ieee80211_bss_get_elem() instead of _get_ie() (Íñigo Huguet) [2059994] - iwlwifi: mvm: read the rfkill state and feed it to iwlmei (Íñigo Huguet) [2059994] - iwlwifi: mvm: add vendor commands needed for iwlmei (Íñigo Huguet) [2059994] - iwlwifi: integrate with iwlmei (Íñigo Huguet) [2059994] - iwlwifi: mei: add debugfs hooks (Íñigo Huguet) [2059994] - iwlwifi: mei: add the driver to allow cooperation with CSME (Íñigo Huguet) [2059994] - mwifiex: Ensure the version string from the firmware is 0-terminated (Íñigo Huguet) [2059994] - mwifiex: Add quirk to disable deep sleep with certain hardware revision (Íñigo Huguet) [2059994] - mwifiex: Use a define for firmware version string length (Íñigo Huguet) [2059994] - rtw88: add debugfs to force lowest basic rate (Íñigo Huguet) [2059994] - rtw88: follow the AP basic rates for tx mgmt frame (Íñigo Huguet) [2059994] - mac80211: Use memset_after() to clear tx status (Íñigo Huguet) [2059994] - mac80211: notify non-transmitting BSS of color changes (Íñigo Huguet) [2059994] - mac80211: minstrel_ht: remove unused SAMPLE_SWITCH_THR define (Íñigo Huguet) [2059994] - cfg80211: allow continuous radar monitoring on offchannel chain (Íñigo Huguet) [2059994] - cfg80211: schedule offchan_cac_abort_wk in cfg80211_radar_event (Íñigo Huguet) [2059994] - cfg80211: delete redundant free code (Íñigo Huguet) [2059994] - mac80211: Remove unused assignment statements (Íñigo Huguet) [2059994] - cfg80211: fix possible NULL pointer dereference in cfg80211_stop_offchan_radar_detection (Íñigo Huguet) [2059994] - ath11k: Use memset_startat() for clearing queue descriptors (Íñigo Huguet) [2059994] - ath11k: Fix spelling mistake "detetction" -> "detection" (Íñigo Huguet) [2059994] - Revert "ath11k: add read variant from SMBIOS for download board data" (Íñigo Huguet) [2059994] - ath11k: add read variant from SMBIOS for download board data (Íñigo Huguet) [2059994] - ath11k: calculate the correct NSS of peer for HE capabilities (Íñigo Huguet) [2059994] - ath11k: change to treat alpha code na as world wide regdomain (Íñigo Huguet) [2059994] - cfg80211: move offchan_cac_event to a dedicated work (Íñigo Huguet) [2059994] - mac80211_hwsim: Fix spelling mistake "Droping" -> "Dropping" (Íñigo Huguet) [2059994] - mac80211: introduce set_radar_offchan callback (Íñigo Huguet) [2059994] - cfg80211: implement APIs for dedicated radar detection HW (Íñigo Huguet) [2059994] - ath11k: add support for BSS color change (Íñigo Huguet) [2059994] - ath11k: add trace log support (Íñigo Huguet) [2059994] - ath11k: Add missing qmi_txn_cancel() (Íñigo Huguet) [2059994] - ath11k: Disabling credit flow for WMI path (Íñigo Huguet) [2059994] - ath11k: Increment pending_mgmt_tx count before tx send invoke (Íñigo Huguet) [2059994] - ath11k: send proper txpower and maxregpower values to firmware (Íñigo Huguet) [2059994] - ath11k: move peer delete after vdev stop of station for QCA6390 and WCN6855 (Íñigo Huguet) [2059994] - ath11k: remove return for empty tx bitrate in mac_op_sta_statistics (Íñigo Huguet) [2059994] - ath11k: enable IEEE80211_VHT_EXT_NSS_BW_CAPABLE if NSS ratio enabled (Íñigo Huguet) [2059994] - ath11k: avoid unnecessary lock contention in tx_completion path (Íñigo Huguet) [2059994] - ath11k: add branch predictors in dp_tx path (Íñigo Huguet) [2059994] - ath11k: avoid while loop in ring selection of tx completion interrupt (Íñigo Huguet) [2059994] - ath11k: remove mod operator in dst ring processing (Íñigo Huguet) [2059994] - ath11k: allocate HAL_WBM2SW_RELEASE ring from cacheable memory (Íñigo Huguet) [2059994] - ath11k: add branch predictors in process_rx (Íñigo Huguet) [2059994] - ath11k: remove usage quota while processing rx packets (Íñigo Huguet) [2059994] - ath11k: avoid active pdev check for each msdu (Íñigo Huguet) [2059994] - ath11k: avoid additional access to ath11k_hal_srng_dst_num_free (Íñigo Huguet) [2059994] - ath11k: modify dp_rx desc access wrapper calls inline (Íñigo Huguet) [2059994] - ath11k: allocate dst ring descriptors from cacheable memory (Íñigo Huguet) [2059994] - ath11k: disable unused CE8 interrupts for ipq8074 (Íñigo Huguet) [2059994] - ath11k: avoid unnecessary BH disable lock in STA kickout event (Íñigo Huguet) [2059994] - ath11k: enable 802.11 power save mode in station mode (Íñigo Huguet) [2059994] - ath11k: convert ath11k_wmi_pdev_set_ps_mode() to use enum wmi_sta_ps_mode (Íñigo Huguet) [2059994] - ath9k: use swap() to make code cleaner (Íñigo Huguet) [2059994] - ath10k: fetch (pre-)calibration data via nvmem subsystem (Íñigo Huguet) [2059994] - Revert "ath11k: add support for WCN6855 hw2.1" (Íñigo Huguet) [2059994] - iommu/vt-d: Make DMAR_UNITS_SUPPORTED a config setting (Jerry Snitselaar) [2095498] - scsi: mpi3mr: Fix kernel-doc (Tomas Henzl) [2091878] - scsi: mpi3mr: Rework mrioc->bsg_device model to fix warnings (Tomas Henzl) [2091878] - scsi: mpi3mr: Add target device related sysfs attributes (Tomas Henzl) [2091878] - scsi: mpi3mr: Add shost related sysfs attributes (Tomas Henzl) [2091878] - scsi: mpi3mr: Return error if dma_alloc_coherent() fails (Tomas Henzl) [2091878] - scsi: mpi3mr: Fix a NULL vs IS_ERR() bug in mpi3mr_bsg_init() (Tomas Henzl) [2091878] - scsi: mpi3mr: Return I/Os to an unrecoverable HBA with DID_ERROR (Tomas Henzl) [2091878] - scsi: mpi3mr: Hidden drives not removed during soft reset (Tomas Henzl) [2091878] - scsi: mpi3mr: Increase I/O timeout value to 60s (Tomas Henzl) [2091878] - scsi: mpi3mr: Update driver version to 8.0.0.69.0 (Tomas Henzl) [2091878] - scsi: mpi3mr: Add support for NVMe passthrough (Tomas Henzl) [2091878] - scsi: mpi3mr: Expose adapter state to sysfs (Tomas Henzl) [2091878] - scsi: mpi3mr: Add support for PEL commands (Tomas Henzl) [2091878] - scsi: mpi3mr: Add support for MPT commands (Tomas Henzl) [2091878] - scsi: mpi3mr: Move data structures/definitions from MPI headers to uapi header (Tomas Henzl) [2091878] - scsi: mpi3mr: Add support for driver commands (Tomas Henzl) [2091878] - scsi: mpi3mr: Add bsg device support (Tomas Henzl) [2091878] - selftests/powerpc: Add PPC_FEATURE2_ARCH_3_1 and PPC_FEATURE2_EBB bits (Desnes A. Nunes do Rosario) [2071113] - selftests/powerpc: Add helper to exit on failure (Desnes A. Nunes do Rosario) [2071113] - selftests/powerpc/pmu: Add interface test for mmcra register fields (Desnes A. Nunes do Rosario) [2071113] - selftests/powerpc/pmu/: Add interface test for mmcr3_src fields (Desnes A. Nunes do Rosario) [2071113] - selftests/powerpc/pmu/: Add interface test for mmcr2_fcs_fch fields (Desnes A. Nunes do Rosario) [2071113] - selftests/powerpc/pmu/: Add interface test for mmcr2_l2l3 field (Desnes A. Nunes do Rosario) [2071113] - selftests/powerpc/pmu/: Add interface test for mmcr1_comb field (Desnes A. Nunes do Rosario) [2071113] - selftests/powerpc/pmu/: Add interface test for mmcr0_pmc56 using pmc5 (Desnes A. Nunes do Rosario) [2071113] - selftests/powerpc/pmu/: Add interface test for mmcr0_fc56 field using pmc1 (Desnes A. Nunes do Rosario) [2071113] - selftests/powerpc/pmu/: Add interface test for mmcr0_pmcjce field (Desnes A. Nunes do Rosario) [2071113] - selftests/powerpc/pmu/: Add interface test for mmcr0_pmccext bit (Desnes A. Nunes do Rosario) [2071113] - selftests/powerpc/pmu/: Add interface test for mmcr0_cc56run field (Desnes A. Nunes do Rosario) [2071113] - selftests/powerpc/pmu/: Add interface test for mmcr0 exception bits (Desnes A. Nunes do Rosario) [2071113] - selftests/powerpc/pmu: Add macro to extract mmcr3 and mmcra fields (Desnes A. Nunes do Rosario) [2071113] - selftests/powerpc/pmu: Add macro to extract mmcr0/mmcr1 fields (Desnes A. Nunes do Rosario) [2071113] - selftests/powerpc/pmu: Add macros to extract mmcr fields (Desnes A. Nunes do Rosario) [2071113] - selftests/powerpc/pmu: Add event_init_sampling function (Desnes A. Nunes do Rosario) [2071113] - selftests/powerpc/pmu: Add utility functions to post process the mmap buffer (Desnes A. Nunes do Rosario) [2071113] - selftests/powerpc/pmu: Add macros to parse event codes (Desnes A. Nunes do Rosario) [2071113] - selftests/powerpc/pmu: Add support for perf sampling tests (Desnes A. Nunes do Rosario) [2071113] - selftests/powerpc: Add a test of counting larx/stcx (Desnes A. Nunes do Rosario) [2071113] - selftests/powerpc/pmu: Include mmap_buffer field as part of struct event (Desnes A. Nunes do Rosario) [2071113] - [s390] net/smc: Fix af_ops of child socket pointing to released memory (Tobias Huschle) [2043832] - [s390] net/smc: Fix NULL pointer dereference in smc_pnet_find_ib() (Tobias Huschle) [2043832] - [s390] net/smc: use memcpy instead of snprintf to avoid out of bounds read (Tobias Huschle) [2043832] - [s390] net/smc: Call trace_smc_tx_sendmsg when data corked (Tobias Huschle) [2043832] - [s390] net/smc: Fix cleanup when register ULP fails (Tobias Huschle) [2043832] - [s390] net/smc: fix connection leak (Tobias Huschle) [2043832] - [s390] net/smc: Use a mutex for locking "struct smc_pnettable" (Tobias Huschle) [2043832] - [s390] net/smc: unlock on error paths in __smc_setsockopt() (Tobias Huschle) [2043832] - [s390] net/smc: return ETIMEDOUT when smc_connect_clc() timeout (Tobias Huschle) [2043832] - [s390] net/smc: Add comment for smc_tx_pending (Tobias Huschle) [2043832] - [s390] net/smc: Add global configure for handshake limitation by netlink (Tobias Huschle) [2043832] - [s390] net/smc: Dynamic control handshake limitation by socket options (Tobias Huschle) [2043832] - [s390] net/smc: Limit SMC visits when handshake workqueue congested (Tobias Huschle) [2043832] - [s390] net/smc: Limit backlog connections (Tobias Huschle) [2043832] - [s390] net/smc: Make smc_tcp_listen_work() independent (Tobias Huschle) [2043832] - [s390] net/smc: Avoid overwriting the copies of clcsock callback functions (Tobias Huschle) [2043832] - [s390] Partially revert "net/smc: Add netlink net namespace support" (Tobias Huschle) [2043832] - [s390] net/smc: Cork when sendpage with MSG_SENDPAGE_NOTLAST flag (Tobias Huschle) [2043832] - [s390] net/smc: Remove corked dealyed work (Tobias Huschle) [2043832] - [s390] net/smc: Send directly when TCP_CORK is cleared (Tobias Huschle) [2043832] - [s390] net/smc: Forward wakeup to smc socket waitqueue after fallback (Tobias Huschle) [2043832] - [s390] net/smc: Transitional solution for clcsock race issue (Tobias Huschle) [2043832] - [s390] net/smc: Fix hung_task when removing SMC-R devices (Tobias Huschle) [2043832] - [s390] net/smc: Remove unused function declaration (Tobias Huschle) [2043832] - [s390] net/smc: Resolve the race between SMC-R link access and clear (Tobias Huschle) [2043832] - [s390] net/smc: Introduce a new conn->lgr validity check helper (Tobias Huschle) [2043832] - [s390] net/smc: Resolve the race between link group access and termination (Tobias Huschle) [2043832] - [s390] net/smc: Reset conn->lgr when link group registration fails (Tobias Huschle) [2043832] - [s390] net/smc: add comments for smc_link_{usable|sendable} (Tobias Huschle) [2043832] - [s390] net/smc: remove redundant re-assignment of pointer link (Tobias Huschle) [2043832] - [s390] net/smc: Introduce TCP ULP support (Tobias Huschle) [2043832] - [s390] net/smc: Add net namespace for tracepoints (Tobias Huschle) [2043832] - [s390] net/smc: Print net namespace in log (Tobias Huschle) [2043832] - [s390] net/smc: Add netlink net namespace support (Tobias Huschle) [2043832] - [s390] net/smc: Introduce net namespace support for linkgroup (Tobias Huschle) [2043832] - [s390] net/smc: Use the bitmap API when applicable (Tobias Huschle) [2043832] - [s390] net/smc: fix kernel panic caused by race of smc_sock (Tobias Huschle) [2043832] - [s390] net/smc: don't send CDC/LLC message if link not ready (Tobias Huschle) [2043832] - [s390] net/smc: fix using of uninitialized completions (Tobias Huschle) [2043832] - [s390] net/smc: Prevent smc_release() from long blocking (Tobias Huschle) [2043832] - [s390] net/smc: Clear memory when release and reuse buffer (Tobias Huschle) [2043832] - [s390] net/smc: Keep smc_close_final rc during active close (Tobias Huschle) [2043832] - [s390] net/smc: fix wrong list_del in smc_lgr_cleanup_early (Tobias Huschle) [2043832] - [s390] net/smc: Don't call clcsock shutdown twice when smc shutdown (Tobias Huschle) [2043832] - [s390] net/smc: Fix loop in smc_listen (Tobias Huschle) [2043832] - [s390] net/smc: Fix NULL pointer dereferencing in smc_vlan_by_tcpsk() (Tobias Huschle) [2043832] - [s390] net/smc: Ensure the active closing peer first closes clcsock (Tobias Huschle) [2043832] - [s390] net/smc: Clean up local struct sock variables (Tobias Huschle) [2043832] - [s390] net/smc: Avoid warning of possible recursive locking (Tobias Huschle) [2043832] - [s390] net/smc: Make sure the link_id is unique (Tobias Huschle) [2043832] - [s390] net/smc: Transfer remaining wait queue entries during fallback (Tobias Huschle) [2043832] - [s390] net/smc: fix sk_refcnt underflow on linkdown and fallback (Tobias Huschle) [2043832] - [s390] net/smc: Print function name in smcr_link_down tracepoint (Tobias Huschle) [2043832] - [s390] net/smc: Introduce tracepoint for smcr link down (Tobias Huschle) [2043832] - [s390] net/smc: Introduce tracepoints for tx and rx msg (Tobias Huschle) [2043832] - [s390] net/smc: Introduce tracepoint for fallback (Tobias Huschle) [2043832] - [s390] net/smc: Correct spelling mistake to TCPF_SYN_RECV (Tobias Huschle) [2043832] - [s390] net/smc: Fix smc_link->llc_testlink_time overflow (Tobias Huschle) [2043832] - [s390] net/smc: stop links when their GID is removed (Tobias Huschle) [2043832] - [s390] net/smc: add netlink support for SMC-Rv2 (Tobias Huschle) [2043832] - [s390] net/smc: extend LLC layer for SMC-Rv2 (Tobias Huschle) [2043832] - [s390] net/smc: add v2 support to the work request layer (Tobias Huschle) [2043832] - [s390] net/smc: retrieve v2 gid from IB device (Tobias Huschle) [2043832] - [s390] net/smc: add v2 format of CLC decline message (Tobias Huschle) [2043832] - [s390] net/smc: add listen processing for SMC-Rv2 (Tobias Huschle) [2043832] - [s390] net/smc: add SMC-Rv2 connection establishment (Tobias Huschle) [2043832] - [s390] net/smc: prepare for SMC-Rv2 connection (Tobias Huschle) [2043832] - [s390] net/smc: save stack space and allocate smc_init_info (Tobias Huschle) [2043832] - [s390] net/smc: add generic netlink support for system EID (Tobias Huschle) [2043832] - [s390] net/smc: keep static copy of system EID (Tobias Huschle) [2043832] - [s390] net/smc: add support for user defined EIDs (Tobias Huschle) [2043832] - [s390] net/smc: Allow SMC-D 1MB DMB allocations (Tobias Huschle) [2043832] - [s390] net/smc: no need to flush smcd_dev's event_wq before destroying it (Tobias Huschle) [2043832] - [s390] net/smc: avoid possible duplicate dmb unregistration (Tobias Huschle) [2043832] - [s390] net/smc: remove device from smcd_dev_list after failed device_add() (Tobias Huschle) [2043832]- bnxt_en: parse and report result field when NVRAM package install fails (Ken Cox) [2043782] - bnxt_en: Fix unnecessary dropping of RX packets (Ken Cox) [2043782] - bnxt_en: Initiallize bp->ptp_lock first before using it (Ken Cox) [2043782] - bnxt_en: Fix possible bnxt_open() failure caused by wrong RFS flag (Ken Cox) [2043782] - bnxt_en: Prevent XDP redirect from running when stopping TX queue (Ken Cox) [2043782 1944997] - bnxt_en: reserve space inside receive page for skb_shared_info (Ken Cox) [2043782 1944997] - bnxt_en: Synchronize tx when xdp redirects happen on same ring (Ken Cox) [2043782 1944997] - net: bnxt_ptp: fix compilation error (Ken Cox) [2043782] - bnxt: revert hastily merged uAPI aberrations (Ken Cox) [2043782] - bnxt_en: add an nvm test for hw diagnose (Ken Cox) [2043782] - bnxt_en: implement hw health reporter (Ken Cox) [2043782] - bnxt_en: Do not destroy health reporters during reset (Ken Cox) [2043782] - bnxt_en: Eliminate unintended link toggle during FW reset (Ken Cox) [2043782] - bnxt_en: Properly report no pause support on some cards (Ken Cox) [2043782] - bnxt_en: introduce initial link state of unknown (Ken Cox) [2043782] - bnxt_en: parse result field when NVRAM package install fails (Ken Cox) [2043782] - bnxt_en: add more error checks to HWRM_NVM_INSTALL_UPDATE (Ken Cox) [2043782] - bnxt_en: refactor error handling of HWRM_NVM_INSTALL_UPDATE (Ken Cox) [2043782] - bnxt_en: Increase firmware message response DMA wait time (Ken Cox) [2043782] - bnxt_en: Fix incorrect multicast rx mask setting when not requested (Ken Cox) [2043782] - bnxt_en: Fix occasional ethtool -t loopback test failures (Ken Cox) [2043782] - bnxt_en: Fix offline ethtool selftest with RDMA enabled (Ken Cox) [2043782] - bnxt_en: Fix active FEC reporting to ethtool (Ken Cox) [2043782] - bnxt_en: Fix devlink fw_activate (Ken Cox) [2043782] - bnxt_en: Restore the resets_reliable flag in bnxt_open() (Ken Cox) [2043782] - bnxt_en: Handle async event when the PHC is updated in RTC mode (Ken Cox) [2043782] - bnxt_en: Implement .adjtime() for PTP RTC mode (Ken Cox) [2043782] - bnxt_en: Add driver support to use Real Time Counter for PTP (Ken Cox) [2043782] - bnxt_en: PTP: Refactor PTP initialization functions (Ken Cox) [2043782] - bnxt_en: Update firmware interface to 1.10.2.73 (Ken Cox) [2043782] - bnxt_en: improve firmware timeout messaging (Ken Cox) [2043782] - bnxt_en: use firmware provided max timeout for messages (Ken Cox) [2043782] - bnxt_en: improve VF error messages when PF is unavailable (Ken Cox) [2043782] - bnxt_en: add dynamic debug support for HWRM messages (Ken Cox) [2043782] - bnxt_en: Use page frag RX buffers for better software GRO performance (Ken Cox) [2043782] - bnxt_en: convert to xdp_do_flush (Ken Cox) [2043782] - bnxt_en: Support CQE coalescing mode in ethtool (Ken Cox) [2043782] - bnxt_en: Support configurable CQE coalescing mode (Ken Cox) [2043782] - bnxt_en: enable interrupt sampling on 5750X for DIM (Ken Cox) [2043782] - bnxt_en: Log error report for dropped doorbell (Ken Cox) [2043782] - bnxt_en: Add event handler for PAUSE Storm event (Ken Cox) [2043782] - flow_offload: reject to offload tc actions in offload drivers (Ken Cox) [2043782] - bnxt_en: Fix compile error regression when CONFIG_BNXT_SRIOV is not set (Ken Cox) [2043782] - bnxt_en: fix format specifier in live patch error message (Ken Cox) [2043782] - bnxt_en: extend RTNL to VF check in devlink driver_reinit (Ken Cox) [2043782] - bnxt_en: avoid newline at end of message in NL_SET_ERR_MSG_MOD (Ken Cox) [2043782] - bnxt_en: Remove not used other ULP define (Ken Cox) [2043782] - bnxt_en: Provide stored devlink "fw" version on older firmware (Ken Cox) [2043782] - bnxt_en: implement firmware live patching (Ken Cox) [2043782] - bnxt_en: Update firmware interface to 1.10.2.63 (Ken Cox) [2043782] - bnxt_en: implement dump callback for fw health reporter (Ken Cox) [2043782] - bnxt_en: extract coredump command line from current task (Ken Cox) [2043782] - bnxt_en: Retrieve coredump and crashdump size via FW command (Ken Cox) [2043782] - bnxt_en: Add compression flags information in coredump segment header (Ken Cox) [2043782] - bnxt_en: move coredump functions into dedicated file (Ken Cox) [2043782] - bnxt_en: Refactor coredump functions (Ken Cox) [2043782] - bnxt_en: improve fw diagnose devlink health messages (Ken Cox) [2043782] - bnxt_en: consolidate fw devlink health reporters (Ken Cox) [2043782] - bnxt_en: remove fw_reset devlink health reporter (Ken Cox) [2043782] - bnxt_en: improve error recovery information messages (Ken Cox) [2043782] - bnxt_en: add enable_remote_dev_reset devlink parameter (Ken Cox) [2043782] - bnxt_en: implement devlink dev reload fw_activate (Ken Cox) [2043782] - bnxt_en: implement devlink dev reload driver_reinit (Ken Cox) [2043782] - bnxt_en: refactor cancellation of resource reservations (Ken Cox) [2043782] - bnxt_en: refactor printing of device info (Ken Cox) [2043782] - bnxt: use netif_is_rxfh_configured instead of open code (Ken Cox) [2043782] - ethernet: use eth_hw_addr_set() (Ken Cox) [2043782] - bnxt_en: Fix TX timeout when TX ring size is set to the smallest (Ken Cox) [2043782] - net/{mlx5|nfp|bnxt}: Remove unnecessary RTNL lock assert (Ken Cox) [2043782] - bnxt_en: make bnxt_free_skbs() safe to call after bnxt_free_mem() (Ken Cox) [2043782] - netfilter: nat: really support inet nat without l3 address (Phil Sutter) [2092424] - netfilter: nf_tables: use kfree_rcu(ptr, rcu) to release hooks in clean_net path (Phil Sutter) [2094236] - netfilter: nf_tables: double hook unregistration in netns path (Phil Sutter) [2094236] - video: fbdev: hyperv_fb: Allow resolutions with size > 64 MB for Gen1 (Mohammed Gamal) [1948442] - cpufreq: intel_pstate: Use firmware default EPP (Steve Best) [2072671] - cpufreq: intel_pstate: Update cpuinfo.max_freq on HWP_CAP changes (Steve Best) [2072671] - cpufreq: intel_pstate: Update EPP for AlderLake mobile (Steve Best) [2072671] - cpufreq: intel_pstate: Drop redundant intel_pstate_get_hwp_cap() call (Steve Best) [2072671] - cpufreq: intel_pstate: ITMT support for overclocked system (Steve Best) [2072671] - cpufreq: intel_pstate: Fix active mode offline/online EPP handling (Steve Best) [2072671] - cpufreq: intel_pstate: Clear HWP Status during HWP Interrupt enable (Steve Best) [2072671] - cpufreq: intel_pstate: Fix unchecked MSR 0x773 access (Steve Best) [2072671] - cpufreq: intel_pstate: Clear HWP desired on suspend/shutdown and offline (Steve Best) [2072671] - cpufreq: intel_pstate: Process HWP Guaranteed change notification (Steve Best) [2072671] - cpufreq: intel_pstate: Override parameters if HWP forced by BIOS (Steve Best) [2072671] - Revert "cpufreq: intel_pstate: Process HWP Guaranteed change notification" (Steve Best) [2072671] - cpufreq: intel_pstate: Process HWP Guaranteed change notification (Steve Best) [2072671] - cpuidle: intel_idle: Drop redundant backslash at line end (Steve Best) [2072893] - intel_idle: add core C6 optimization for SPR (Steve Best) [2072893] - intel_idle: add 'preferred_cstates' module argument (Steve Best) [2072893] - intel_idle: add SPR support (Steve Best) [2072893] - intel_idle: enable interrupts before C1 on Xeons (Steve Best) [2072893]- [s390] s390/airq: use DMA memory for summary indicators (Tobias Huschle) [2043905] - [s390] s390/zcrypt: Provide target domain for EP11 cprbs to scheduling function (Tobias Huschle) [2043905] - [s390] s390/zcrypt: change reply buffer size offering (Tobias Huschle) [2043905] - [s390] s390/zcrypt: Support CPRB minor version T7 (Tobias Huschle) [2043905] - [s390] s390/zcrypt: handle checkstopped cards with new state (Tobias Huschle) [2043905] - [s390] s390/zcrypt: CEX8S exploitation support (Tobias Huschle) [2043905] - [s390] s390/ap/zcrypt: debug feature improvements (Tobias Huschle) [2043905] - [s390] s390/zcrypt: rework of debug feature messages (Tobias Huschle) [2043905] - powerpc/perf: Fix the threshold compare group constraint for power10 (Steve Best) [2090058] - arch/x86: Disable system wide bus lock rate limiting (Prarit Bhargava) [2028252] - rtnetlink: return ENODEV when IFLA_ALT_IFNAME is used in dellink (Xin Long) [2062780] - rtnetlink: enable alt_ifname for setlink/newlink (Xin Long) [2062780] - rtnetlink: return ENODEV when ifname does not exist and group is given (Xin Long) [2062780] - rtnetlink: Return correct error on changing device netns (Xin Long) [2062780] - net: remove the new_ifindex argument from dev_change_net_namespace (Xin Long) [2062780] - net: Allow to specify ifindex when device is moved to another namespace (Xin Long) [2062780] - net: rtnetlink: add possibility to use alternative names as message handle (Xin Long) [2062780] - net: rtnetlink: introduce helper to get net_device instance by ifname (Xin Long) [2062780] - net: rtnetlink: unify the code in __rtnl_newlink get dev with the rest (Xin Long) [2062780] - net: rtnetlink: put alternative names to getlink message (Xin Long) [2062780] - block-map: add __GFP_ZERO flag for alloc_page in function bio_copy_kern (Ewan D. Milne) [2049198] {CVE-2022-0494} - [s390] s390/dasd: prevent double format of tracks for ESE devices (Mete Durlu) [2094296] - [s390] s390/dasd: fix data corruption for ESE devices (Mete Durlu) [2094296] - [s390] s390/dasd: Fix read inconsistency for ESE DASD devices (Mete Durlu) [2094294] - [s390] s390/dasd: Fix read for ESE with blksize < 4k (Mete Durlu) [2094294] - xfs: validate inode fork size against fork format (Andrey Albershteyn) [2089447] - selftests/tc-testing: match any qdisc type (Petr Oros) [2021843] - tc-testing: Add control-plane selftests for sch_mq (Petr Oros) [2021843] - netdevsim: Zero-initialize memory for new map's value in function nsim_bpf_map_alloc (Petr Oros) [2021843] - netdevsim: don't overwrite read only ethtool parms (Petr Oros) [2021843] - netdevsim: fix uninit value in nsim_drv_configure_vfs() (Petr Oros) [2021843] - netdevsim: rename 'driver' entry points (Petr Oros) [2021843] - netdevsim: move max vf config to dev (Petr Oros) [2021843] - netdevsim: move details of vf config to dev (Petr Oros) [2021843] - netdevsim: move vfconfig to nsim_dev (Petr Oros) [2021843] - netdevsim: take rtnl_lock when assigning num_vfs (Petr Oros) [2021843] - netdevsim: Protect both reload_down and reload_up paths (Petr Oros) [2021843] - netdevsim: make array res_ids static const, makes object smaller (Petr Oros) [2021843] - netdevsim: Add multi-queue support (Petr Oros) [2021843] - net: netdevsim: use xso.real_dev instead of xso.dev in callback functions of struct xfrmdev_ops (Petr Oros) [2021843] - netdevsim: delete unnecessary debugfs checking (Petr Oros) [2021843] - netdevsim: switch to memdup_user_nul() (Petr Oros) [2021843] - netdevsim: init u64 stats for 32bit hardware (Petr Oros) [2021843] - dm: fix bio length of empty flush (Ming Lei) [2090940] - block: initialize the target bio in __bio_clone_fast (Ming Lei) [2090940] - dm: use bio_clone_fast in alloc_io/alloc_tio (Ming Lei) [2090940] - block: clone crypto and integrity data in __bio_clone_fast (Ming Lei) [2090940] - dm-cache: remove __remap_to_origin_clear_discard (Ming Lei) [2090940] - dm: simplify the single bio fast path in __send_duplicate_bios (Ming Lei) [2090940] - dm: retun the clone bio from alloc_tio (Ming Lei) [2090940] - dm: pass the bio instead of tio to __map_bio (Ming Lei) [2090940] - dm: move cloning the bio into alloc_tio (Ming Lei) [2090940] - dm: fold __send_duplicate_bios into __clone_and_map_simple_bio (Ming Lei) [2090940] - dm: fold clone_bio into __clone_and_map_data_bio (Ming Lei) [2090940] - dm: add a clone_to_tio helper (Ming Lei) [2090940] - block: make bio_crypt_clone() able to fail (Ming Lei) [2090940] - perf/x86/uncore: Add new Alder Lake and Raptor Lake support (Michael Petlan) [2088831] - perf/x86/uncore: Clean up uncore_pci_ids[] (Michael Petlan) [2088831] - perf/x86/uncore: Add Raptor Lake uncore support (Michael Petlan) [2088831] - perf/x86/cstate: Add new Alder Lake and Raptor Lake support (Michael Petlan) [2088831] - perf/x86/cstate: Add Raptor Lake support (Michael Petlan) [2088831] - perf/x86/msr: Add new Alder Lake and Raptor Lake support (Michael Petlan) [2088831] - perf/x86/msr: Add Raptor Lake CPU support (Michael Petlan) [2088831] - perf/x86: Add new Alder Lake and Raptor Lake support (Michael Petlan) [2088831] - perf/x86: Add Intel Raptor Lake support (Michael Petlan) [2088831] - x86/cpu: Add new Alderlake and Raptorlake CPU model numbers (Michael Petlan) [2088831] - x86/intel: Add common OPTDIFFs (Michael Petlan) [2088831] - x86/cpu: Explain Intel model naming convention (Michael Petlan) [2088831] - KVM: s390: vsie/gmap: reduce gmap_rmap overhead (Thomas Huth) [2072387] - KVM: s390x: fix SCK locking (Thomas Huth) [2072387] - s390/kvm: use union tod_clock (Thomas Huth) [2072387] - s390/time: introduce new store_tod_clock_ext() (Thomas Huth) [2072387] - s390/time: introduce union tod_clock (Thomas Huth) [2072387] - KVM: s390: Clarify SIGP orders versus STOP/RESTART (Thomas Huth) [2043868] - KVM: s390: Clear valid_wakeup in kvm_s390_handle_wait(), not in arch hook (Thomas Huth) [2072387] - KVM: s390: Ensure kvm_arch_no_poll() is read once when blocking vCPU (Thomas Huth) [2072387] - KVM: s390: Introduce kvm_s390_get_gfn_end() (Thomas Huth) [2072387] - KVM: Integrate gfn_to_memslot_approx() into search_memslots() (Thomas Huth) [2072387] - KVM: s390: Use kvm_get_vcpu() instead of open-coded access (Thomas Huth) [2072387] - KVM: s390: add debug statement for diag 318 CPNC data (Thomas Huth) [2072387] - KVM: s390: pv: properly handle page flags for protected guests (Thomas Huth) [2072387] - KVM: s390: Add a routine for setting userspace CPU state (Thomas Huth) [2072387] - net: sfc: ef10: fix memory leak in efx_ef10_mtd_probe() (Íñigo Huguet) [2042840] - net: sfc: fix memory leak due to ptp channel (Íñigo Huguet) [2042840] - net: sfc: fix using uninitialized xdp tx_queue (Íñigo Huguet) [2042840] - sfc: Do not free an empty page_ring (Íñigo Huguet) [2042840] - net: sfc: add missing xdp queue reinitialization (Íñigo Huguet) [2042840] - sfc: Avoid NULL pointer dereference on systems without numa awareness (Íñigo Huguet) [2042840] - sfc: extend the locking on mcdi->seqno (Íñigo Huguet) [2042840] - sfc: set affinity hints in local NUMA node only (Íñigo Huguet) [2042840] - sfc: default config to 1 channel/core in local NUMA node only (Íñigo Huguet) [2042840] - sfc: The size of the RX recycle ring should be more flexible (Íñigo Huguet) [2042840] - sfc: Use swap() instead of open coding it (Íñigo Huguet) [2042840] - ethernet/sfc: remove redundant rc variable (Íñigo Huguet) [2042840] - PCI/ACPI: Allow D3 only if Root Port can signal and wake from D3 (Myron Stowe) [2015785] - thunderbolt: Do not make DROM read success compulsory (Myron Stowe) [2015785] - thunderbolt: Do not resume routers if UID is not set (Myron Stowe) [2015785] - thunderbolt: Retry DROM reads for more failure scenarios (Myron Stowe) [2015785] - PCI/ACPI: Replace acpi_bus_get_device() with acpi_fetch_acpi_dev() (Myron Stowe) [2015785] - ACPI: scan: Introduce acpi_fetch_acpi_dev() (Myron Stowe) [2015785] - PCI: PM: Fix ordering of operations in pci_back_from_sleep() (Myron Stowe) [2015785] - PCI: PM: Do not call platform_pci_power_manageable() unnecessarily (Myron Stowe) [2015785] - PCI: PM: Make pci_choose_state() call pci_target_state() (Myron Stowe) [2015785] - PCI: PM: Rearrange pci_target_state() (Myron Stowe) [2015785] - PCI: PM: Simplify acpi_pci_power_manageable() (Myron Stowe) [2015785] - PCI: PM: Drop struct pci_platform_pm_ops (Myron Stowe) [2015785] - PCI: ACPI: PM: Do not use pci_platform_pm_ops for ACPI (Myron Stowe) [2015785] - PCI: PM: Do not use pci_platform_pm_ops for Intel MID PM (Myron Stowe) [2015785] - ACPI: glue: Look for ACPI bus type only if ACPI companion is not known (Myron Stowe) [2015785] - ACPI: glue: Drop cleanup callback from struct acpi_bus_type (Myron Stowe) [2015785] - PCI: ACPI: Drop acpi_pci_bus (Myron Stowe) [2015785] - PCI: ACPI: Check parent pointer in acpi_pci_find_companion() (Myron Stowe) [2015785] - PCI/ACPI: Don't reset a fwnode set by OF (Myron Stowe) [2015785] - PCI: VMD: ACPI: Make ACPI companion lookup work for VMD bus (Myron Stowe) [2015785] - PCI: Change the type of probe argument in reset functions (Myron Stowe) [2015785] - PCI: Add support for ACPI _RST reset method (Myron Stowe) [2015785] - PCI: Setup ACPI fwnode early and at the same time with OF (Myron Stowe) [2015785] - PCI: Use acpi_pci_power_manageable() (Myron Stowe) [2015785] - PCI: Add pci_set_acpi_fwnode() to set ACPI_COMPANION (Myron Stowe) [2015785] - PCI: Allow userspace to query and set device reset mechanism (Myron Stowe) [2015785] - PCI: Remove reset_fn field from pci_dev (Myron Stowe) [2015785] - PCI: Add array to track reset method ordering (Myron Stowe) [2015785] - PCI: Add pcie_reset_flr() with 'probe' argument (Myron Stowe) [2015785] - PCI: Cache PCIe Device Capabilities register (Myron Stowe) [2015785] - driver core: Split device_platform_notify() (Myron Stowe) [2015785] - software nodes: Split software_node_notify() (Myron Stowe) [2015785] - PCI: PM: Enable PME if it can be signaled from D3cold (Myron Stowe) [2015785] - PCI: PM: Avoid forcing PCI_D0 for wakeup reasons inconsistently (Myron Stowe) [2015785] - PCI: Use pci_update_current_state() in pci_enable_device_flags() (Myron Stowe) [2015785] - PCI: Add pci_reset_bus_function() Secondary Bus Reset interface (Myron Stowe) [2015785] - ACPI: scan: Rearrange code related to acpi_get_device_data() (Myron Stowe) [2015785] - PCI/ACPI: Whitelist hotplug ports for D3 if power managed by ACPI (Myron Stowe) [2015785] - crypto: cavium/nitrox - use pcie_flr instead of duplicating it (Myron Stowe) [2015785] - NFSv4 only print the label when its queried (Scott Mayhew) [2030827] - NFSv4.1 provide mount option to toggle trunking discovery (Scott Mayhew) [2030827] - NFSv4.1 test and add 4.1 trunking transport (Scott Mayhew) [2030827] - SUNRPC allow for unspecified transport time in rpc_clnt_add_xprt (Scott Mayhew) [2030827] - NFSv4 handle port presence in fs_location server string (Scott Mayhew) [2030827] - NFSv4 expose nfs_parse_server_name function (Scott Mayhew) [2030827] - NFSv4.1 query for fs_location attr on a new file system (Scott Mayhew) [2030827] - NFSv4 store server support for fs_location attribute (Scott Mayhew) [2030827] - NFSv4 remove zero number of fs_locations entries error check (Scott Mayhew) [2030827] - NFSv4.1 add network transport when session trunking is detected (Scott Mayhew) [2030827] - SUNRPC enforce creation of no more than max_connect xprts (Scott Mayhew) [2030827] - NFSv4 introduce max_connect mount options (Scott Mayhew) [2030827] - SUNRPC add xps_nunique_destaddr_xprts to xprt_switch_info in sysfs (Scott Mayhew) [2030827] - SUNRPC keep track of number of transports to unique addresses (Scott Mayhew) [2030827] - powerpc/papr_scm: Make 'perf_stats' invisible if perf-stats unavailable (Diego Domingos) [1986188] - powerpc/papr_scm: Fix warnings about undeclared variable (Diego Domingos) [1986188] - VMCI: Add support for ARM64 (Cathy Avery) [2080095] - VMCI: Release notification_bitmap in error path (Cathy Avery) [2080095] - VMCI: Check exclusive_vectors when freeing interrupt 1 (Cathy Avery) [2080095] - VMCI: Fix some error handling paths in vmci_guest_probe_device() (Cathy Avery) [2080095] - VMCI: No need to clear memory after a dma_alloc_coherent() call (Cathy Avery) [2080095] - VMCI: Fix the description of vmci_check_host_caps() (Cathy Avery) [2080095] - VMCI: dma dg: add support for DMA datagrams receive (Cathy Avery) [2080095] - VMCI: dma dg: add support for DMA datagrams sends (Cathy Avery) [2080095] - VMCI: dma dg: allocate send and receive buffers for DMA datagrams (Cathy Avery) [2080095] - VMCI: dma dg: register dummy IRQ handlers for DMA datagrams (Cathy Avery) [2080095] - VMCI: dma dg: set OS page size (Cathy Avery) [2080095] - VMCI: dma dg: whitespace formatting change for vmci register defines (Cathy Avery) [2080095] - VMCI: dma dg: detect DMA datagram capability (Cathy Avery) [2080095] - VMCI: Use BIT() macro for bit definitions (Cathy Avery) [2080095] - VMCI: dma dg: add MMIO access to registers (Cathy Avery) [2080095] - misc: vmw_vmci: Switch to kvfree_rcu() API (Cathy Avery) [2080095] - VMCI: fix NULL pointer dereference when unmapping queue pair (Cathy Avery) [2080095] - misc: vmci: remove redundant variable is_local (Cathy Avery) [2080095] - misc: vmw_vmci: return the correct errno code (Cathy Avery) [2080095] - misc: vmw_vmci: explicitly initialize vmci_datagram payload (Cathy Avery) [2080095] - misc: vmw_vmci: explicitly initialize vmci_notify_bm_set_msg struct (Cathy Avery) [2080095] - vmci_host: print unexpanded names of ioctl requests in debug messages (Cathy Avery) [2080095] - drivers/misc/vmw_vmci: restrict too big queue size in qp_host_alloc_queue (Cathy Avery) [2080095] - VMCI: Enforce queuepair max size for IOCTL_VMCI_QUEUEPAIR_ALLOC (Cathy Avery) [2080095] - VMCI: Use set_page_dirty_lock() when unregistering guest memory (Cathy Avery) [2080095] - misc/vmw_vmci: fix typo (Cathy Avery) [2080095] - misc: vmw_vmci: fix kernel info-leak by initializing dbells in vmci_ctx_get_chkpt_doorbells() (Cathy Avery) [2080095] - VMCI: check return value of get_user_pages_fast() for errors (Cathy Avery) [2080095] - vmci_host: get rid of pointless access_ok() (Cathy Avery) [2080095] - treewide: Add SPDX license identifier - Makefile/Kconfig (Cathy Avery) [2080095] - treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 321 (Cathy Avery) [2080095] - VMCI: Use memdup_user() rather than duplicating its implementation (Cathy Avery) [2080095] - VMCI: remove set but not used variable 'cid' (Cathy Avery) [2080095] - vmci: type promotion bug in qp_host_get_user_memory() (Cathy Avery) [2080095]- misc: pvpanic: introduce device capability (Emanuele Giuseppe Esposito) [2088457] - misc: pvpanic: add crash loaded event (Emanuele Giuseppe Esposito) [2088457] - misc: pvpanic: move bit definition to uapi header file (Emanuele Giuseppe Esposito) [2088457] - rfkill: make new event layout opt-in (Jose Ignacio Tornos Martinez) [2023175] - lib/sbitmap: fix sb->map leak (Ming Lei) [2093549] - openvswitch: fix OOB access in reserve_sfa_size() (Antoine Tenart) [2082023] - net: openvswitch: don't send internal clone attribute to the userspace. (Antoine Tenart) [2082023 2085509] - openvswitch: Add recirc_id to recirc warning (Antoine Tenart) [2082023] - openvswitch: Fixed nd target mask field in the flow dump. (Antoine Tenart) [2082023] - net: openvswitch: Remove redundant if statements (Antoine Tenart) [2082023] - netfilter: nf_tables: disallow non-stateful expression in sets earlier (Phil Sutter) [2092987] {CVE-2022-1966} - cachefiles: Drop superfluous readpages aops NULL check (Dave Wysochanski) [2083136] - audit: fix AUDIT_DISABLED undeclared error when AUDITSYSCALL unconfigured (Richard Guy Briggs) [2035123] - audit: log AUDIT_TIME_* records only from rules (Richard Guy Briggs) [2035123] - audit: improve audit queue handling when "audit=1" on cmdline (Richard Guy Briggs) [2035123] - audit: replace zero-length array with flexible-array member (Richard Guy Briggs) [2035123] - audit: use struct_size() helper in audit_[send|make]_reply() (Richard Guy Briggs) [2035123] - audit: ensure userspace is penalized the same as the kernel when under pressure (Richard Guy Briggs) [2035123] - audit: use struct_size() helper in kmalloc() (Richard Guy Briggs) [2035123] - audit: improve robustness of the audit queue handling (Richard Guy Briggs) [2035123] - audit: return early if the filter rule has a lower priority (Richard Guy Briggs) [2035123] - lsm_audit: avoid overloading the "key" audit field (Richard Guy Briggs) [2035123] - audit: Convert to SPDX identifier (Richard Guy Briggs) [2035123] - audit: rename struct node to struct audit_node to prevent future name collisions (Richard Guy Briggs) [2035123] - audit: prepare audit_context for use in calling contexts beyond syscalls (Richard Guy Briggs) [2035123] - audit: fix possible null-pointer dereference in audit_filter_rules (Richard Guy Briggs) [2035123] - audit: add header protection to kernel/audit.h (Richard Guy Briggs) [2035123] - audit: remove unnecessary 'ret' initialization (Richard Guy Briggs) [2035123] - audit: remove trailing spaces and tabs (Richard Guy Briggs) [2035123] - audit: Use list_move instead of list_del/list_add (Richard Guy Briggs) [2035123] - audit: Rename enum audit_state constants to avoid AUDIT_DISABLED redefinition (Richard Guy Briggs) [2035123] - selftests/bpf: Fix btf_dump test under new clang (Yauheni Kaliuta) [2087050] - perf: Fix sys_perf_event_open() race against self (Michael Petlan) [2087949] - scsi: fnic: Finish scsi_cmnd before dropping the spinlock (John Meneghini) [2062905] - [s390] s390/setup: Fix secure ipl message (Mete Durlu) [2058619] - perf evlist: Fix failed to use cpu list for uncore events (Michael Petlan) [2088835] - perf tools: Enable on a list of CPUs for hybrid (Michael Petlan) [2088835] - perf tools: Create hybrid flag in target (Michael Petlan) [2088835] - libperf: Add perf_cpu_map__default_new() (Michael Petlan) [2088835] - drm/i915: Stop force enabling pipe bottom color gammma/csc (Foggy Liu) [2054487] - blk-mq: fix blk_mq_flush_plug_list (Ming Lei) [2088397] - kernel/resource: move and rename IORESOURCE_MEM_DRIVER_MANAGED (Nico Pache) [2028988] - powerpc/numa: Handle partially initialized numa nodes (Nico Pache) [2028988] - mm: make free_area_init_node aware of memory less nodes (Nico Pache) [2028988] - mm, memory_hotplug: reorganize new pgdat initialization (Nico Pache) [2028988] - mm, memory_hotplug: drop arch_free_nodedata (Nico Pache) [2028988] - mm: handle uninitialized numa nodes gracefully (Nico Pache) [2028988] - mm, memory_hotplug: make arch_alloc_nodedata independent on CONFIG_MEMORY_HOTPLUG (Nico Pache) [2028988] - kexec_file: don't place kexec images on IORESOURCE_MEM_DRIVER_MANAGED (Nico Pache) [2028988] - mm/memory_hotplug: handle memblock_add_node() failures in add_memory_resource() (Nico Pache) [2028988] - mm/memory_hotplug: introduce add_memory_driver_managed() (Nico Pache) [2028988] - mm/memory_hotplug: handle memblocks only with CONFIG_ARCH_KEEP_MEMBLOCK (Nico Pache) [2028988] - mm/memory_hotplug: set node_start_pfn of hotadded pgdat to 0 (Nico Pache) [2028988] - mm/hotplug: reorder memblock_[free|remove]() calls in try_remove_memory() (Nico Pache) [2028988] - mm: memblock: make keeping memblock memory opt-in rather than opt-out (Nico Pache) [2028988] - [s390] s390/cpumf: add new extended counter set for IBM z16 (Mete Durlu) [2047728]- [s390] s390/qdio: clarify logical vs absolute in QIB's kerneldoc (Mete Durlu) [2043836] - [s390] s390/qdio: remove unneeded sanity check in qdio_do_sqbs() (Mete Durlu) [2043836] - [s390] s390/qdio: split do_QDIO() (Mete Durlu) [2043836] - [s390] s390/qdio: split qdio_inspect_queue() (Mete Durlu) [2043836] - [s390] s390/qdio: clarify handler logic for qdio_handle_activate_check() (Mete Durlu) [2043836] - [s390] s390/qdio: clean up access to queue in qdio_handle_activate_check() (Mete Durlu) [2043836] - [s390] s390/qdio: avoid allocating the qdio_irq with GFP_DMA (Mete Durlu) [2043836] - [s390] s390/qdio: improve handling of CIWs (Mete Durlu) [2043836] - [s390] s390/qdio: remove QDIO_SBAL_SIZE macro (Mete Durlu) [2043836] - [s390] scsi: zfcp: fix kernel doc comments (Mete Durlu) [2043836] - [s390] s390/qdio: remove unused support for SLIB parameters (Mete Durlu) [2043836] - [s390] s390/qdio: consolidate QIB code (Mete Durlu) [2043836] - [s390] s390/qdio: use dev_info() in qdio_print_subchannel_info() (Mete Durlu) [2043836] - [s390] s390/qdio: fine-tune the queue sync (Mete Durlu) [2043836] - [s390] s390/qdio: clean up SIGA capability tracking (Mete Durlu) [2043836] - [s390] s390/qdio: remove unused sync-after-IRQ infrastructure (Mete Durlu) [2043836] - [s390] s390/qdio: use absolute data address in ESTABLISH ccw (Mete Durlu) [2043836] - [s390] s390/qdio: remove unused macros (Mete Durlu) [2043836] - [s390] s390/qdio: clarify reporting of errors to the drivers (Mete Durlu) [2043836] - [s390] s390/qdio: remove unneeded siga-sync for Output Queue (Mete Durlu) [2043836] - [s390] s390/qdio: remove remaining tasklet & timer code (Mete Durlu) [2043836] - ice: clear stale Tx queue settings before configuring (Petr Oros) [2079926] - ice: fix crash when writing timestamp on RX rings (Petr Oros) [2079926] - ice: Fix race during aux device (un)plugging (Petr Oros) [2079926] - ice: fix PTP stale Tx timestamps cleanup (Petr Oros) [2079926] - ice: ice_sched: fix an incorrect NULL check on list iterator (Petr Oros) [2079926] - ice: fix use-after-free when deinitializing mailbox snapshot (Petr Oros) [2079926] - ice: wait 5 s for EMP reset after firmware flash (Petr Oros) [2079926] - ice: Protect vf_state check by cfg_lock in ice_vc_process_vf_msg() (Petr Oros) [2079926] - ice: Fix incorrect locking in ice_vc_process_vf_msg() (Petr Oros) [2079926] - ice: Fix memory leak in ice_get_orom_civd_data() (Petr Oros) [2079926] - ice: fix crash in switchdev mode (Petr Oros) [2079926] - Revert "iavf: Fix deadlock occurrence during resetting VF interface" (Petr Oros) [2079926] - ice: arfs: fix use-after-free when freeing @rx_cpu_rmap (Petr Oros) [2079926] - ice: clear cmd_type_offset_bsz for TX rings (Petr Oros) [2079926] - ice: xsk: fix VSI state check in ice_xsk_wakeup() (Petr Oros) [2079926] - ice: synchronize_rcu() when terminating rings (Petr Oros) [2079926] - ice: Do not skip not enabled queues in ice_vc_dis_qs_msg (Petr Oros) [2079926] - ice: Set txq_teid to ICE_INVAL_TEID on ring creation (Petr Oros) [2079926] - ice: Fix broken IFF_ALLMULTI handling (Petr Oros) [2079926] - ice: Fix MAC address setting (Petr Oros) [2079926] - redhat/configs: Remove CONFIG_MFD_INTEL_PMT (Prarit Bhargava) [2058805] - redhat/configs: Add CONFIG_INTEL_VSEC (Prarit Bhargava) [2058805] - platform/x86/intel: Move intel_pmt from MFD to Auxiliary Bus (Prarit Bhargava) [2058805] - PCI: Add #defines for accessing PCIe DVSEC fields (Prarit Bhargava) [2058805] - platform/x86: intel_pmt_telemetry: Ignore zero sized entries (Prarit Bhargava) [2058805] - platform/x86/intel: pmt: Use y instead of objs in Makefile (Prarit Bhargava) [2058805] - platform/x86/intel: Move Intel PMT drivers to new subfolder (Prarit Bhargava) [2058805] - dlm: fix plock invalid read (Alexander Aring) [2053095] - NFS: LOOKUP_DIRECTORY is also ok with symlinks (Scott Mayhew) [2059727] - NFSv4: nfs_atomic_open() can race when looking up a non-regular file (Scott Mayhew) [2059727] - NFSv4: Handle case where the lookup of a directory fails (Scott Mayhew) [2059727] - redhat: always tag non-maintainer builds with .gXXXX (Jarod Wilson) - mm, compaction: fast_find_migrateblock() should return pfn in the target zone (Rafael Aquini) [2067130] - [s390] s390/pci: expose a PCI device's UID as its index (Mete Durlu) [1939916] - [s390] s390/pci: expose UID uniqueness guarantee (Mete Durlu) [1939916] - [s390] s390/pci: Documentation for zPCI (Mete Durlu) [1939916] - powerpc/fadump: print start of preserved area (Diego Domingos) [2075092] - powerpc/fadump: align destination address to pagesize (Diego Domingos) [2075092] - powerpc/fadump: fix PT_LOAD segment for boot memory area (Diego Domingos) [2075092] - dmaengine: idxd: make idxd_wq_enable() return 0 if wq is already enabled (Jerry Snitselaar) [2083414] - dmaengine: idxd: Remove unnecessary synchronize_irq() before free_irq() (Jerry Snitselaar) [2083414] - dmaengine: idxd: add missing callback function to support DMA_INTERRUPT (Jerry Snitselaar) [2083414] - dmaengine: idxd: skip irq free when wq type is not kernel (Jerry Snitselaar) [2083414] - dmaengine: idxd: make idxd_register/unregister_dma_channel() static (Jerry Snitselaar) [2083414] - dmaengine: idxd: remove redudant idxd_wq_disable_cleanup() call (Jerry Snitselaar) [2083414] - dmaengine: idxd: free irq before wq type is reset (Jerry Snitselaar) [2083414] - dmaengine: idxd: fix lockdep warning on device driver removal (Jerry Snitselaar) [2083414] - dmaengine: idxd: Separate user and kernel pasid enabling (Jerry Snitselaar) [2083414] - dmaengine: idxd: refactor wq driver enable/disable operations (Jerry Snitselaar) [2083414] - dmaengine: idxd: move wq irq enabling to after device enable (Jerry Snitselaar) [2083414] - dmaengine: idxd: set max_xfer and max_batch for RO device (Jerry Snitselaar) [2083414] - dmaengine: idxd: Fix the error handling path in idxd_cdev_register() (Jerry Snitselaar) [2083414] - dmaengine: idxd: set DMA_INTERRUPT cap bit (Jerry Snitselaar) [2083414] - dmaengine: add verification of DMA_INTERRUPT capability for dmatest (Jerry Snitselaar) [2083414] - dmaengine: idxd: remove trailing white space on input str for wq name (Jerry Snitselaar) [2083414] - dmaengine: idxd: don't load pasid config until needed (Jerry Snitselaar) [2083414] - dmaengine: idxd: fix retry value to be constant for duration of function call (Jerry Snitselaar) [2075705] - dmaengine: idxd: match type for retries var in idxd_enqcmds() (Jerry Snitselaar) [2075705] - net: mana: Reuse XDP dropped page (Mohammed Gamal) [2086556] - net: mana: Add counter for XDP_TX (Mohammed Gamal) [2086556] - net: mana: Add counter for packet dropped by XDP (Mohammed Gamal) [2086556] - net: mana: Use struct_size() helper in mana_gd_create_dma_region() (Mohammed Gamal) [2086556] - SUNRPC release the transport of a relocated task with an assigned transport (Scott Mayhew) [2023840] - SUNRPC: Do not dereference non-socket transports in sysfs (Scott Mayhew) [2023840] - SUNRPC don't resend a task on an offlined transport (Scott Mayhew) [2023840] - SUNRPC: lock against ->sock changing during sysfs read (Scott Mayhew) [2023840] - SUNRPC: Check if the xprt is connected before handling sysfs reads (Scott Mayhew) [2023840] - SUNRPC: Add dst_port to the sysfs xprt info file (Scott Mayhew) [2023840] - SUNRPC: Add srcaddr as a file in sysfs (Scott Mayhew) [2023840] - sunrpc: Fix return value of get_srcport() (Scott Mayhew) [2023840] - sunrpc: remove an offlined xprt using sysfs (Scott Mayhew) [2023840] - sunrpc: display xprt's queuelen of assigned tasks via sysfs (Scott Mayhew) [2023840] - SUNRPC: take a xprt offline using sysfs (Scott Mayhew) [2023840] - SUNRPC for TCP display xprt's source port in sysfs xprt_info (Scott Mayhew) [2023840] - SUNRPC query transport's source port (Scott Mayhew) [2023840] - SUNRPC display xprt's main value in sysfs's xprt_info (Scott Mayhew) [2023840] - SUNRPC mark the first transport (Scott Mayhew) [2023840] - NFSv4.1 identify and mark RPC tasks that can move between transports (Scott Mayhew) [2023840] - sunrpc: provide showing transport's state info in the sysfs directory (Scott Mayhew) [2023840] - sunrpc: provide multipath info in the sysfs directory (Scott Mayhew) [2023840] - sunrpc: provide transport info in the sysfs directory (Scott Mayhew) [2023840] - sunrpc: add dst_attr attributes to the sysfs xprt directory (Scott Mayhew) [2023840] - sunrpc: add add sysfs directory per xprt under each xprt_switch (Scott Mayhew) [2023840] - sunrpc: add a symlink from rpc-client directory to the xprt_switch (Scott Mayhew) [2023840] - sunrpc: add xprt_switch direcotry to sunrpc's sysfs (Scott Mayhew) [2023840] - sunrpc: keep track of the xprt_class in rpc_xprt structure (Scott Mayhew) [2023840] - sunrpc: add IDs to multipath (Scott Mayhew) [2023840] - sunrpc: add xprt id (Scott Mayhew) [2023840] - sunrpc: Create per-rpc_clnt sysfs kobjects (Scott Mayhew) [2023840] - sunrpc: Create a client/ subdirectory in the sunrpc sysfs (Scott Mayhew) [2023840] - sunrpc: Create a sunrpc directory under /sys/kernel/ (Scott Mayhew) [2023840] - vfs: check fd has read access in kernel_read_file_from_fd() (Ian Kent) [2040615] - SUNRPC: Fix NFSD's request deferral on RDMA transports (Benjamin Coddington) [2090525] - vdpa/mlx5: Use consistent RQT size (Cindy Lu) [2063108] - vdpa/mlx5: add validation for VIRTIO_NET_CTRL_MQ_VQ_PAIRS_SET command (Cindy Lu) [2063108] - vdpa/mlx5: should verify CTRL_VQ feature exists for MQ (Cindy Lu) [2063108] - gfs2: Stop using glock holder auto-demotion for now (Andreas Gruenbacher) [2054855] - gfs2: buffered write prefaulting (Andreas Gruenbacher) [2054855] - gfs2: Align read and write chunks to the page cache (Andreas Gruenbacher) [2054855] - gfs2: Pull return value test out of should_fault_in_pages (Andreas Gruenbacher) [2054855] - gfs2: Clean up use of fault_in_iov_iter_{read,write}able (Andreas Gruenbacher) [2054855] - gfs2: Variable rename (Andreas Gruenbacher) [2054855] - gfs2: Fix filesystem block deallocation for short writes (Andreas Gruenbacher) [2054855] - iomap: iomap_write_end cleanup (Andreas Gruenbacher) [2054855] - iomap: iomap_write_failed fix (Andreas Gruenbacher) [2054855] - gfs2: Don't re-check for write past EOF unnecessarily (Andreas Gruenbacher) [2054855] - gfs2: No short reads or writes upon glock contention (Andreas Gruenbacher) [2054855] - fs/iomap: Fix buffered write page prefaulting (Andreas Gruenbacher) [2054855] - generic_perform_write()/iomap_write_actor(): saner logics for short copy (Andreas Gruenbacher) [2054855] - iomap: Convert iomap_write_end types (Andreas Gruenbacher) [2054855] - gfs2: Make sure not to return short direct writes (Andreas Gruenbacher) [2054855] - gfs2: Remove dead code in gfs2_file_read_iter (Andreas Gruenbacher) [2054855] - gfs2: Fix gfs2_file_buffered_write endless loop workaround (Andreas Gruenbacher) [2054855] - gfs2: Minor retry logic cleanup (Andreas Gruenbacher) [2054855] - gfs2: Disable page faults during lockless buffered reads (Andreas Gruenbacher) [2054855] - gfs2: Fix should_fault_in_pages() logic (Andreas Gruenbacher) [2054855] - mm: gup: make fault_in_safe_writeable() use fixup_user_fault() (Andreas Gruenbacher) [2054855] - gfs2: Initialize gh_error in gfs2_glock_nq (Andreas Gruenbacher) [2054855] - gfs2: Switch lock order of inode and iopen glock (Andreas Gruenbacher) [2054855] - gfs2: cancel timed-out glock requests (Andreas Gruenbacher) [2054855] - gfs2: Expect -EBUSY after canceling dlm locking requests (Andreas Gruenbacher) [2054855] - gfs2: gfs2_setattr_size error path fix (Andreas Gruenbacher) [2054855] - gfs2: assign rgrp glock before compute_bitstructs (Bob Peterson) [2054855] - gfs2: Fix gfs2_release for non-writers regression (Bob Peterson) [1955591] - gfs2: gfs2_create_inode rework (Andreas Gruenbacher) [1955591] - gfs2: gfs2_inode_lookup rework (Andreas Gruenbacher) [1955591] - gfs2: gfs2_inode_lookup cleanup (Andreas Gruenbacher) [1955591] - gfs2: Fix remote demote of weak glock holders (Andreas Gruenbacher) [1955591] - gfs2: Fix glock_hash_walk bugs (Andreas Gruenbacher) [1955591] - gfs2: Cancel remote delete work asynchronously (Bob Peterson) [1955591] - gfs2: set glock object after nq (Bob Peterson) [1955591] - gfs2: remove RDF_UPTODATE flag (Bob Peterson) [1955591] - gfs2: Eliminate GIF_INVALID flag (Bob Peterson) [1955591] - gfs2: Fix atomic bug in gfs2_instantiate (Andreas Gruenbacher) [1955591] - gfs2: fix GL_SKIP node_scope problems (Bob Peterson) [1955591] - gfs2: Add some flags missing from glock output (Bob Peterson) [1955591] - gfs2: split glock instantiation off from do_promote (Bob Peterson) [1955591] - gfs2: further simplify do_promote (Bob Peterson) [1955591] - gfs2: re-factor function do_promote (Bob Peterson) [1955591] - gfs2: Remove 'first' trace_gfs2_promote argument (Andreas Gruenbacher) [1955591] - gfs2: change go_lock to go_instantiate (Bob Peterson) [1955591] - gfs2: Switch some BUG_ON to GLOCK_BUG_ON for debug (Bob Peterson) [1955591] - gfs2: move GL_SKIP check from glops to do_promote (Bob Peterson) [1955591] - gfs2: Add GL_SKIP holder flag to dump_holder (Bob Peterson) [1955591] - gfs2: remove redundant check in gfs2_rgrp_go_lock (Bob Peterson) [1955591] - gfs2: Fix mmap + page fault deadlocks for direct I/O (Andreas Gruenbacher) [1955591] - iov_iter: Introduce ITER_IOVEC_FLAG_NOFAULT flag to disable page faults (Andreas Gruenbacher) [1955591] - gup: Introduce FOLL_NOFAULT flag to disable page faults (Andreas Gruenbacher) [1955591] - iomap: Add done_before argument to iomap_dio_rw (Andreas Gruenbacher) [1955591] - iomap: Support partial direct I/O on user copy failures (Andreas Gruenbacher) [1955591] - iomap: Fix iomap_dio_rw return value for user copies (Andreas Gruenbacher) [1955591] - iomap: support reading inline data from non-zero pos (Andreas Gruenbacher) [1955591] - gfs2: Only dereference i->iov when iter_is_iovec(i) (Andreas Gruenbacher) [1955591] - gfs2: Prevent endless loops in gfs2_file_buffered_write (Andreas Gruenbacher) [1955591] - gfs2: Fix mmap + page fault deadlocks for buffered I/O (Andreas Gruenbacher) [1955591] - gfs2: Eliminate ip->i_gh (Andreas Gruenbacher) [1955591] - gfs2: Move the inode glock locking to gfs2_file_buffered_write (Andreas Gruenbacher) [1955591] - gfs2: Fix "Introduce flag for glock holder auto-demotion" (Andreas Gruenbacher) [1955591] - gfs2: Introduce flag for glock holder auto-demotion (Bob Peterson) [1955591] - gfs2: fix scheduling while atomic bug in glocks (Bob Peterson) [1955591] - gfs2: Clean up function may_grant (Andreas Gruenbacher) [1955591] - gfs2: Add wrapper for iomap_file_buffered_write (Andreas Gruenbacher) [1955591] - iov_iter: Introduce fault_in_iov_iter_writeable (Andreas Gruenbacher) [1955591] - iov_iter: Turn iov_iter_fault_in_readable into fault_in_iov_iter_readable (Andreas Gruenbacher) [1955591] - gup: Turn fault_in_pages_{readable,writeable} into fault_in_{readable,writeable} (Andreas Gruenbacher) [1955591] - powerpc/signal64: Don't opencode page prefaulting (Andreas Gruenbacher) [1955591] - sanitize iov_iter_fault_in_readable() (Andreas Gruenbacher) [1955591] - [xarray] iov_iter_fault_in_readable() should do nothing in xarray case (Andreas Gruenbacher) [1955591] - powerpc/kvm: Fix kvm_use_magic_page (Andreas Gruenbacher) [1955591] - iov_iter: Fix iov_iter_get_pages{,_alloc} page fault return value (Andreas Gruenbacher) [1955591] - gfs2: Fix length of holes reported at end-of-file (Andreas Gruenbacher) [1955591] - gfs2: Remove redundant check from gfs2_glock_dq (Bob Peterson) [1955591] - gfs2: release iopen glock early in evict (Bob Peterson) [1955591] - mm: change fault_in_pages_* to have an unsigned size parameter (Andreas Gruenbacher) [1955591] - gfs2: Eliminate vestigial HIF_FIRST (Bob Peterson) [1955591] - iomap: remove the iomap arguments to ->page_{prepare,done} (Andreas Gruenbacher) [1955591] - net: sched: fix use-after-free in tc_new_tfilter() (Ivan Vecera) [2071704]- Bluetooth: virtio_bt: fix memory leak in virtbt_rx_handle() (Gopal Tiwari) [2076180] - powerpc/papr_scm: Fix buffer overflow issue with CONFIG_FORTIFY_SOURCE (Gustavo Walbon) [2069468] - powerpc/papr_scm: Fix build failure when (Gustavo Walbon) [2069468] - drivers/nvdimm: Fix build failure when CONFIG_PERF_EVENTS is not set (Gustavo Walbon) [2069468] - powerpc/papr_scm: Add perf interface support (Gustavo Walbon) [2069468] - drivers/nvdimm: Add perf interface to expose nvdimm performance stats (Gustavo Walbon) [2069468] - drivers/nvdimm: Add nvdimm pmu structure (Gustavo Walbon) [2069468] - mptcp: Fix crash due to tcp_tsorted_anchor was initialized before release skb (Davide Caratti) [2084048] - mptcp: Correctly set DATA_FIN timeout when number of retransmits is large (Davide Caratti) [2084048] - mptcp: add mibs counter for ignored incoming options (Davide Caratti) [2084048] - mptcp: fix race in incoming ADD_ADDR option processing (Davide Caratti) [2084048] - mptcp: netlink: process IPv6 addrs in creating listening sockets (Davide Caratti) [2084048] - mptcp: use delegate action to schedule 3rd ack retrans (Davide Caratti) [2084048] - mptcp: fix delack timer (Davide Caratti) [2084048] - powerpc/module_64: use module_init_section instead of patching names (Jan Stancek) [1985851] - module: check for exit sections in layout_sections() instead of module_init_section() (Jan Stancek) [1985851] - module: treat exit sections the same as init sections when !CONFIG_MODULE_UNLOAD (Jan Stancek) [1985851] - module: allow arch overrides for .exit section names (Jan Stancek) [1985851] - ARM: 8976/1: module: allow arch overrides for .init section names (Jan Stancek) [1985851] - KVM: s390: pv: make use of ultravisor AIV support (Thomas Huth) [2043870] - redhat: Enable VM kselftests (Nico Pache) [1978539] - selftests: vm: Makefile: rename TARGETS to VMTARGETS (Nico Pache) [1978539] - redhat: enable CONFIG_TEST_VMALLOC for vm selftests (Nico Pache) [1978539] - redhat: enable GUP TEST for kselftests (Nico Pache) [1978539] - redhat: Enable HMM test to be used by the kselftest test suite (Nico Pache) [1978539] - selftests/vm/pkeys: fix alloc_random_pkey() to make it really, really random (Nico Pache) [1978539] - selftests/vm: fix display of page size in map_hugetlb (Nico Pache) [1978539] - selftests/vm: fix building protection keys test (Nico Pache) [1978539] - lib/test_vmalloc.c: do not create cpumask_t variable on stack (Nico Pache) [1978539] - vmalloc: add test driver to analyse vmalloc allocator (Nico Pache) [1978539] - vmalloc: export __vmalloc_node_range for CONFIG_TEST_VMALLOC_MODULE (Nico Pache) [1978539] - selftests/vm: add protection_keys_32 / protection_keys_64 to gitignore (Nico Pache) [1978539] - selftests/vm: rename file run_vmtests to run_vmtests.sh (Nico Pache) [1978539] - mm/gup_benchmark: support threading (Nico Pache) [1978539] - selftests/vm: gup_test: test faulting in kernel, and verify pinnable pages (Nico Pache) [1978539] - selftests/vm: gup_test: fix test flag (Nico Pache) [1978539] - selftests/vm: fix out-of-tree build (Nico Pache) [1978539] - selftests/vm: 2x speedup for run_vmtests.sh (Nico Pache) [1978539] - selftests/vm: hmm-tests: remove the libhugetlbfs dependency (Nico Pache) [1978539] - selftests/vm: run_vmtests.sh: update and clean up gup_test invocation (Nico Pache) [1978539] - selftests/vm: gup_test: introduce the dump_pages() sub-test (Nico Pache) [1978539] - selftests/vm: only some gup_test items are really benchmarks (Nico Pache) [1978539] - selftests/vm: minor cleanup: Makefile and gup_test.c (Nico Pache) [1978539] - selftests/vm: rename run_vmtests --> run_vmtests.sh (Nico Pache) [1978539] - selftests/vm: use a common gup_test.h (Nico Pache) [1978539] - mm/gup_benchmark: rename to mm/gup_test (Nico Pache) [1978539] - tools/testing/selftests/vm: fix build error (Nico Pache) [1978539] - selftests: vm: add fragment CONFIG_GUP_BENCHMARK (Nico Pache) [1978539] - selftests/vm: 8x compaction_test speedup (Nico Pache) [1978539] - selftests/vm: fix incorrect gcc invocation in some cases (Nico Pache) [1978539] - selftests/vm: fix false build success on the second and later attempts (Nico Pache) [1978539] - mm/gup: don't permit users to call get_user_pages with FOLL_LONGTERM (Nico Pache) [1978539] - mm/gup_benchmark: use pin_user_pages for FOLL_LONGTERM flag (Nico Pache) [1978539] - mm/gup_benchmark: update the documentation in Kconfig (Nico Pache) [1978539] - khugepaged: selftests: fix timeout condition in wait_for_scan() (Nico Pache) [1978539] - selftests: vm: pkeys: fix multilib builds for x86 (Nico Pache) [1978539] - selftests: vm: pkeys: use the correct page size on powerpc (Nico Pache) [1978539] - selftests/vm/pkeys: override access right definitions on powerpc (Nico Pache) [1978539] - selftests/vm/pkeys: test correct behaviour of pkey-0 (Nico Pache) [1978539] - selftests/vm/pkeys: introduce a sub-page allocator (Nico Pache) [1978539] - selftests/vm/pkeys: detect write violation on a mapped access-denied-key page (Nico Pache) [1978539] - selftests/vm/pkeys: associate key on a mapped page and detect write violation (Nico Pache) [1978539] - selftests/vm/pkeys: associate key on a mapped page and detect access violation (Nico Pache) [1978539] - selftests/vm/pkeys: improve checks to determine pkey support (Nico Pache) [1978539] - selftests/vm/pkeys: fix assertion in test_pkey_alloc_exhaust() (Nico Pache) [1978539] - selftests/vm/pkeys: fix number of reserved powerpc pkeys (Nico Pache) [1978539] - selftests/vm/pkeys: introduce powerpc support (Nico Pache) [1978539] - selftests/vm/pkeys: introduce generic pkey abstractions (Nico Pache) [1978539] - selftests: vm: pkeys: use the correct huge page size (Nico Pache) [1978539] - selftests/vm/pkeys: fix alloc_random_pkey() to make it really random (Nico Pache) [1978539] - selftests/vm/pkeys: fix assertion in pkey_disable_set/clear() (Nico Pache) [1978539] - selftests/vm/pkeys: fix pkey_disable_clear() (Nico Pache) [1978539] - selftests: vm: pkeys: add helpers for pkey bits (Nico Pache) [1978539] - selftests: vm: pkeys: Use sane types for pkey register (Nico Pache) [1978539] - selftests/vm/pkeys: make gcc check arguments of sigsafe_printf() (Nico Pache) [1978539] - selftests/vm/pkeys: move some definitions to arch-specific header (Nico Pache) [1978539] - selftests/vm/pkeys: move generic definitions to header file (Nico Pache) [1978539] - selftests/vm/pkeys: rename all references to pkru to a generic name (Nico Pache) [1978539] - selftests/x86/pkeys: move selftests to arch-neutral directory (Nico Pache) [1978539] - selftests/vm: 10x speedup for hmm-tests (Nico Pache) [1978539] - mm/migrate: add migrate-shared test for migrate_vma_*() (Nico Pache) [1978539] - mm/migrate: optimize migrate_vma_setup() for holes (Nico Pache) [1978539] - lib/test_hmm: use vma_lookup() in dmirror_migrate() (Nico Pache) [1978539] - lib/test_hmm.c: fix an error code in dmirror_allocate_chunk() (Nico Pache) [1978539] - lib/test_hmm.c: remove unused dmirror_zero_page (Nico Pache) [1978539] - mm/memremap_pages: support multiple ranges per invocation (Nico Pache) [1978539] - mm/memremap_pages: convert to 'struct range' (Nico Pache) [1978539] - tools/testing/selftests/vm/hmm-tests.c: use the new SKIP() macro (Nico Pache) [1978539] - mm/hmm/test: use the new migration invalidation (Nico Pache) [1978539] - lib/test_hmm.c: add a flag parameter to migrate_vma (Nico Pache) [1978539] - mm/hmm: add tests for hmm_pfn_to_map_order() (Nico Pache) [1978539] - lib: fix test_hmm.c reference after free (Nico Pache) [1978539] - mm/hmm/test: add selftests for HMM (Nico Pache) [1978539] - mm/hmm/test: add selftest driver for HMM (Nico Pache) [1978539] - mm: convert insert_pfn() to vm_fault_t (Nico Pache) [1978539] - selftests/vm/.gitignore: add mremap_dontunmap (Nico Pache) [1978539] - selftests: vm: Fix 64-bit test builds for powerpc64le (Nico Pache) [1978539] - selftests: vm: Do not override definition of ARCH (Nico Pache) [1978539] - selftests/vm: fix map_hugetlb length used for testing read and write (Nico Pache) [1978539] - selftests/vm: add missed tests in run_vmtests (Nico Pache) [1978539] - selftests: vm: add fragment CONFIG_TEST_VMALLOC (Nico Pache) [1978539] - selftests: vm: Build/Run 64bit tests only on 64bit arch (Nico Pache) [1978539] - selftests: vm: Fix test build failure when built by itself (Nico Pache) [1978539] - selftests: vm: install test_vmalloc.sh for run_vmtests (Nico Pache) [1978539] - tools: mark 'test_vmalloc.sh' executable (Nico Pache) [1978539] - tools/selftest/vm: allow choosing mem size and page size in map_hugetlb (Nico Pache) [1978539] - selftests/vm: add script helper for CONFIG_TEST_VMALLOC_MODULE (Nico Pache) [1978539] - tools/testing/selftests/vm/map_fixed_noreplace.c: add test for MAP_FIXED_NOREPLACE (Nico Pache) [1978539] - tools/testing/selftests/vm/: add MAP_POPULATE test (Nico Pache) [1978539] - xfs: return errors in xfs_fs_sync_fs (Andrey Albershteyn) [2087991] - vfs: make sync_filesystem return errors from ->sync_fs (Andrey Albershteyn) [2087991] - PCI: hv: Remove unused hv_set_msi_entry_from_desc() (Mohammed Gamal) [2086560] - PCI: hv: Avoid the retarget interrupt hypercall in irq_unmask() on ARM64 (Mohammed Gamal) [2086560] - PCI: hv: Fix NUMA node assignment when kernel boots with custom NUMA topology (Mohammed Gamal) [2086560] - PCI: hv: Use PCI_ERROR_RESPONSE to identify config read errors (Mohammed Gamal) [2086560] - vdpa: clean up get_config_size ret value handling (Cindy Lu) [2059841] - vdpa: mlx5: synchronize driver status with CVQ (Jason Wang) [2048009] - vdpa: mlx5: prevent cvq work from hogging CPU (Jason Wang) [2048009] - vdpa/mlx5: Avoid processing works if workqueue was destroyed (Cindy Lu) [2048009] - cpufreq: Cancel policy update work scheduled before freeing (Prarit Bhargava) [2083728] - tcp: fix potential xmit stalls caused by TCP_NOTSENT_LOWAT (Paolo Abeni) [2081411] - tcp: ensure to use the most recently sent skb when filling the rate sample (Paolo Abeni) [2081411] - tcp: make sure treq->af_specific is initialized (Paolo Abeni) [2081411] - tcp: md5: incorrect tcp_header_len for incoming connections (Paolo Abeni) [2081411] - tcp: ensure PMTU updates are processed during fastopen (Paolo Abeni) [2081411] - tcp: add missing tcp_skb_can_collapse() test in tcp_shift_skb_data() (Paolo Abeni) [2081411] - inet: fully convert sk->sk_rx_dst to RCU rules (Paolo Abeni) [2081411] - tcp_cubic: fix spurious Hystart ACK train detections for not-cwnd-limited flows (Paolo Abeni) [2081411]- selftests/bpf/test_xdp_redirect_multi: use temp netns for testing (Felix Maurer) [2017875] - selftests/bpf/xdp_redirect_multi: Limit the tests in netns (Jiri Benc) [2017875] - selftests/bpf/xdp_redirect_multi: Give tcpdump a chance to terminate cleanly (Jiri Benc) [2017875] - selftests/bpf/xdp_redirect_multi: Use arping to accurate the arp number (Jiri Benc) [2017875] - selftests/bpf/xdp_redirect_multi: Put the logs to tmp folder (Jiri Benc) [2017875] - bpf, sockmap: Zap ingress queues after stopping strparser (Jiri Benc) [2017875] - xdp, net: Fix use-after-free in bpf_xdp_link_release (Jiri Benc) [2017875] - doc, af_xdp: Fix bind flags option typo (Jiri Benc) [2017875] - bpf, devmap: Convert remaining READ_ONCE() to rcu_dereference_check() (Jiri Benc) [2017875] - xdp: Move the rxq_info.mem clearing to unreg_mem_model() (Jiri Benc) [2017875] - bpf, sched: Remove unneeded rcu_read_lock() around BPF program invocation (Jiri Benc) [2017875] - xdp: Add proper __rcu annotations to redirect map entries (Jiri Benc) [2017875] - doc: Give XDP as example of non-obvious RCU reader/updater pairing (Jiri Benc) [2017875] - doc: Clarify and expand RCU updaters and corresponding readers (Jiri Benc) [2017875] - bpfilter: Specify the log level for the kmsg message (Jiri Benc) [2017875] - docs, af_xdp: Consistent indentation in examples (Jiri Benc) [2017875] - xsk: Fix missing validation for skb and unaligned mode (Jiri Benc) [2017875] - bpf: Support all gso types in bpf_skb_change_proto() (Jiri Benc) [2017875] - bpf: Do not change gso_size during bpf_skb_change_proto() (Jiri Benc) [2017875] - Revert "bpf: Check for BPF_F_ADJ_ROOM_FIXED_GSO when bpf_skb_change_proto" (Jiri Benc) [2017875] - selftests/bpf: Add xdp_redirect_multi into .gitignore (Jiri Benc) [2017875] - bpf, devmap: Remove drops variable from bq_xmit_all() (Jiri Benc) [2017875] - locking/atomic: net: use linux/atomic.h for xchg & cmpxchg (Jiri Benc) [2017875] - xsk: Use kvcalloc to support large umems (Jiri Benc) [2017875] - selftests/bpf: Add xdp_redirect_multi test (Jiri Benc) [2017875] - sample/bpf: Add xdp_redirect_map_multi for redirect_map broadcast test (Jiri Benc) [2017875] - xdp: Extend xdp_redirect_map with broadcast support (Jiri Benc) [2017875] - bpf: Let bpf_warn_invalid_xdp_action() report more info (Felix Maurer) [2017875] - bpf: Run devmap xdp_prog on flush instead of bulk enqueue (Jiri Benc) [2017875] - skmsg: Remove unused parameters of sk_msg_wait_data() (Jiri Benc) [2017875] - bpf: Use struct_size() in kzalloc() (Jiri Benc) [2017875] - bpf: Check for BPF_F_ADJ_ROOM_FIXED_GSO when bpf_skb_change_proto (Jiri Benc) [2017875] - treewide: Replace zero-length arrays with flexible-array members (Tomas Henzl) [2049660] - scsi: mpi3mr: Bump driver version to 8.0.0.68.0 (Tomas Henzl) [2049660] - scsi: mpi3mr: Update the copyright year (Tomas Henzl) [2049660] - scsi: mpi3mr: Update MPI3 headers (Tomas Henzl) [2049660] - scsi: mpi3mr: Fix formatting problems in some kernel-doc comments (Tomas Henzl) [2049660] - scsi: mpi3mr: Fix some spelling mistakes (Tomas Henzl) [2049660] - scsi: mpi3mr: Bump driver version to 8.0.0.61.0 (Tomas Henzl) [2049660] - scsi: mpi3mr: Add io_uring interface support in I/O-polled mode (Tomas Henzl) [2049660] - scsi: mpi3mr: Print cable mngnt and temp threshold events (Tomas Henzl) [2049660] - scsi: mpi3mr: Support Prepare for Reset event (Tomas Henzl) [2049660] - scsi: mpi3mr: Add Event acknowledgment logic (Tomas Henzl) [2049660] - scsi: mpi3mr: Gracefully handle online FW update operation (Tomas Henzl) [2049660] - scsi: mpi3mr: Detect async reset that occurred in firmware (Tomas Henzl) [2049660] - scsi: mpi3mr: Add IOC reinit function (Tomas Henzl) [2049660] - scsi: mpi3mr: Handle offline FW activation in graceful manner (Tomas Henzl) [2049660] - scsi: mpi3mr: Code refactor of IOC init - part2 (Tomas Henzl) [2049660] - scsi: mpi3mr: Code refactor of IOC init - part1 (Tomas Henzl) [2049660] - scsi: mpi3mr: Fault IOC when internal command gets timeout (Tomas Henzl) [2049660] - scsi: mpi3mr: Display IOC firmware package version (Tomas Henzl) [2049660] - scsi: mpi3mr: Handle unaligned PLL in unmap cmnds (Tomas Henzl) [2049660] - scsi: mpi3mr: Add support for PCIe Managed Switch SES device (Tomas Henzl) [2049660] - [s390] s390/cio: verify the driver availability for path_event call (Mete Durlu) [2058620] - selinux: fix bad cleanup on error in hashtab_duplicate() (Ondrej Mosnacek) [2005890] - selinux: fix race between old and new sidtab (Ondrej Mosnacek) [2005890] - selinux: fix cond_list corruption when changing booleans (Ondrej Mosnacek) [2005890] - selinux: make nslot handling in avtab more robust (Ondrej Mosnacek) [2005890] - selinuxfs: unify policy load error reporting (Ondrej Mosnacek) [2005890] - selinux: fix variable scope issue in live sidtab conversion (Ondrej Mosnacek) [2005890] - selinux: don't log MAC_POLICY_LOAD record on failed policy load (Ondrej Mosnacek) [2005890] - selinux: simplify away security_policydb_len() (Ondrej Mosnacek) [2005890] - selinux: move policy mutex to selinux_state, use in lockdep checks (Ondrej Mosnacek) [2005890] - selinux: fix error handling bugs in security_load_policy() (Ondrej Mosnacek) [2005890] - selinux: convert policy read-write lock to RCU (Ondrej Mosnacek) [2005890] - selinux: Create new booleans and class dirs out of tree (Ondrej Mosnacek) [2005890] - selinux: Standardize string literal usage for selinuxfs directory names (Ondrej Mosnacek) [2005890] - selinux: Refactor selinuxfs directory populating functions (Ondrej Mosnacek) [2005890] - selinux: Create function for selinuxfs directory cleanup (Ondrej Mosnacek) [2005890] - selinux: fix memdup.cocci warnings (Ondrej Mosnacek) [2005890] - selinux: avoid dereferencing the policy prior to initialization (Ondrej Mosnacek) [2005890] - selinux: fix allocation failure check on newpolicy->sidtab (Ondrej Mosnacek) [2005890] - selinux: refactor changing booleans (Ondrej Mosnacek) [2005890] - selinux: move policy commit after updating selinuxfs (Ondrej Mosnacek) [2005890] - selinux: encapsulate policy state, refactor policy load (Ondrej Mosnacek) [2005890] - Revert "selinux: fix deadlock in security_set_bools()" (Ondrej Mosnacek) [2005890] - thunderx nic: mark device as deprecated (Íñigo Huguet) [2060286] - cpufreq: intel_pstate: Add Ice Lake server to out-of-band IDs (Vitaly Kuznetsov) [2091523] - [s390] s390/hypfs: include z/VM guests with access control group set (Mete Durlu) [2058621] - scsi: mpt3sas: Fix a few kernel-doc issues (Tomas Henzl) [2049623] - scsi: mpt3sas: Fix a typo (Tomas Henzl) [2049623] - scsi: mpt3sas: Update driver version to 42.100.00.00 (Tomas Henzl) [2049623] - scsi: mpt3sas: Fix junk chars displayed while printing ChipName (Tomas Henzl) [2049623] - scsi: mpt3sas: Use cached ATA Information VPD page (Tomas Henzl) [2049623] - scsi: mpt3sas: Fix adapter replyPostRegisterIndex declaration (Tomas Henzl) [2049623] - scsi: mpt3sas: Fix event callback log_code value handling (Tomas Henzl) [2049623] - scsi: mpt3sas: Fix ioc->base_readl() use (Tomas Henzl) [2049623] - scsi: mpt3sas: Fix writel() use (Tomas Henzl) [2049623] - scsi: mpt3sas: Fix _ctl_set_task_mid() TaskMID check (Tomas Henzl) [2049623] - scsi: mpt3sas: Fail reset operation if config request timed out (Tomas Henzl) [2049623] - scsi: mpt3sas: Fix use after free in _scsih_expander_node_remove() (Tomas Henzl) [2049623] - scsi: mpt3sas: Page fault in reply q processing (Tomas Henzl) [2049623] - scsi: mpt3sas: Convert to flexible arrays (Tomas Henzl) [2049623] - scsi: mpt3sas: Update persistent trigger pages from sysfs interface (Tomas Henzl) [2049623] - Revert "netfilter: conntrack: tag conntracks picked up in local out hook" (Florian Westphal) [2062870] - Revert "netfilter: nat: force port remap to prevent shadowing well-known ports" (Florian Westphal) [2062870] - drm/amdgpu: vi: disable ASPM on Intel Alder Lake based systems (Michel Dänzer) [2066918] - drm/amd: Use amdgpu_device_should_use_aspm on navi umd pstate switching (Michel Dänzer) [2066918] - drm/amd: Refactor `amdgpu_aspm` to be evaluated per device (Michel Dänzer) [2066918] - drm/amd: Check if ASPM is enabled from PCIe subsystem (Michel Dänzer) [2066918] - [s390] s390/tape: fix timer initialization in tape_std_assign() (Mete Durlu) [2085420] - powerpc/pseries/vas: Use QoS credits from the userspace (Steve Best) [2075174] - thermal: don't make THERMAL_NETLINK 'default y' (Prarit Bhargava) [2040062] - redhat/configs: Add CONFIG_INTEL_HFI_THERMAL (Prarit Bhargava) [2040062] - thermal/drivers/core: Remove module unload code (Prarit Bhargava) [2040062] - thermal: core: Fix TZ_GET_TRIP NULL pointer dereference (Prarit Bhargava) [2040062] - thermal: intel: hfi: INTEL_HFI_THERMAL depends on NET (Prarit Bhargava) [2040062] - thermal: netlink: Fix parameter type of thermal_genl_cpu_capability_event() stub (Prarit Bhargava) [2040062] - thermal: intel: hfi: Notify user space for HFI events (Prarit Bhargava) [2040062] - thermal: netlink: Add a new event to notify CPU capabilities change (Prarit Bhargava) [2040062] - thermal: intel: hfi: Enable notification interrupt (Prarit Bhargava) [2040062] - thermal: intel: hfi: Handle CPU hotplug events (Prarit Bhargava) [2040062] - thermal: intel: hfi: Minimally initialize the Hardware Feedback Interface (Prarit Bhargava) [2040062] - x86/cpu: Add definitions for the Intel Hardware Feedback Interface (Prarit Bhargava) [2040062] - x86/Documentation: Describe the Intel Hardware Feedback Interface (Prarit Bhargava) [2040062] - thermal: intel: Allow processing of HWP interrupt (Prarit Bhargava) [2040062] - x86/thermal: Fix LVT thermal setup for SMI delivery mode (Prarit Bhargava) [2040062] - thermal: Move therm_throt there from x86/mce (Prarit Bhargava) [2040062] - thermal: core: Adding missing nlmsg_free() in thermal_genl_sampling_temp() (Prarit Bhargava) [2040062] - thermal: move to smaller ops wherever possible (Prarit Bhargava) [2040062] - thermal: add small version of ops (Prarit Bhargava) [2040062] - thermal: netlink: Improve the initcall ordering (Prarit Bhargava) [2040062] - thermal: core: remove redundant initialization of variable ret (Prarit Bhargava) [2040062] - thermal: netlink: Fix compilation error when CONFIG_NET=n (Prarit Bhargava) [2040062] - thermal: core: Fix thermal zone lookup by ID (Prarit Bhargava) [2040062] - thermal: core: Get thermal zone by id (Prarit Bhargava) [2040062] - thermal: core: Add helpers to browse the cdev, tz and governor list (Prarit Bhargava) [2040062] - thermal: Remove netlink support (Prarit Bhargava) [2040062] - thermal: core: genetlink support for events/cmd/sampling (Prarit Bhargava) [2040062]- mailbox: pcc: Handle all PCC subtypes correctly in pcc_mbox_irq (Mark Langsdorf) [1997698] - i2c: xgene-slimpro: Fix wrong pointer passed to PTR_ERR() (Mark Langsdorf) [1997698] - ACPI: Make acpi_node_get_parent() local (Mark Langsdorf) [1997698] - ACPI: Get acpi_device's parent from the parent field (Mark Langsdorf) [1997698] - ACPI: PM: Fix device wakeup power reference counting error (Mark Langsdorf) [1997698] - ACPI: video: use platform backlight driver on Xiaomi Mi Pad 2 (Mark Langsdorf) [1997698] - ACPI: video: Drop dmi_system_id.ident settings from video_detect_dmi_table[] (Mark Langsdorf) [1997698] - ACPI: PMIC: Fix intel_pmic_regs_handler() read accesses (Mark Langsdorf) [1997698] - ACPI: EC: Use ec_no_wakeup on HP ZHAN 66 Pro (Mark Langsdorf) [1997698] - ACPI: Add a convenience function to tell a device is in D0 state (Mark Langsdorf) [1997698] - ACPI: scan: Obtain device's desired enumeration power state (Mark Langsdorf) [1997698] - perf: qcom_l2_pmu: ACPI: Use ACPI_COMPANION() directly (Mark Langsdorf) [1997698] - ACPI/PCC: Add maintainer for PCC mailbox driver (Mark Langsdorf) [1997698] - mailbox: pcc: Add support for PCCT extended PCC subspaces(type 3/4) (Mark Langsdorf) [1997698] - mailbox: pcc: Drop handling invalid bit-width in {read,write}_register (Mark Langsdorf) [1997698] - mailbox: pcc: Avoid accessing PCCT table in pcc_send_data and pcc_mbox_irq (Mark Langsdorf) [1997698] - mailbox: pcc: Add PCC register bundle and associated accessor functions (Mark Langsdorf) [1997698] - mailbox: pcc: Rename doorbell ack to platform interrupt ack register (Mark Langsdorf) [1997698] - mailbox: pcc: Use PCC mailbox channel pointer instead of standard (Mark Langsdorf) [1997698] - mailbox: pcc: Add pcc_mbox_chan structure to hold shared memory region info (Mark Langsdorf) [1997698] - mailbox: pcc: Consolidate subspace doorbell register parsing (Mark Langsdorf) [1997698] - mailbox: pcc: Consolidate subspace interrupt information parsing (Mark Langsdorf) [1997698] - mailbox: pcc: Refactor all PCC channel information into a structure (Mark Langsdorf) [1997698] - mailbox: pcc: Fix kernel doc warnings (Mark Langsdorf) [1997698] - ACPI: glue: Use acpi_device_adr() in acpi_find_child_device() (Mark Langsdorf) [1997698] - ACPI: APEI: mark apei_hest_parse() static (Mark Langsdorf) [1997698] - ACPI: APEI: EINJ: Relax platform response timeout to 1 second (Mark Langsdorf) [1997698] - ACPI: resources: Add one more Medion model in IRQ override quirk (Mark Langsdorf) [1997698] - ACPI: AC: Quirk GK45 to skip reading _PSR (Mark Langsdorf) [1997698] - ACPI: PM: sleep: Do not set suspend_ops unnecessarily (Mark Langsdorf) [1997698] - ACPI: PRM: Handle memory allocation and memory remap failure (Mark Langsdorf) [1997698] - ACPI: PRM: Remove unnecessary blank lines (Mark Langsdorf) [1997698] - ACPI: PM: Turn off wakeup power resources on _DSW/_PSW errors (Mark Langsdorf) [1997698] - ACPI: PM: Fix sharing of wakeup power resources (Mark Langsdorf) [1997698] - ACPI: PM: Turn off unused wakeup power resources (Mark Langsdorf) [1997698] - ACPI: PM: Check states of power resources during initialization (Mark Langsdorf) [1997698] - hwmon: (acpi_power_meter) Use acpi_bus_get_acpi_device() (Mark Langsdorf) [1997698] - ACPI: replace snprintf() in "show" functions with sysfs_emit() (Mark Langsdorf) [1997698] - ACPI: LPSS: Use ACPI_COMPANION() directly (Mark Langsdorf) [1997698] - ACPI: battery: Accept charges over the design capacity as full (Mark Langsdorf) [1997698] - ACPICA: Update version to 20210930 (Mark Langsdorf) [1997698] - ACPICA: iASL table disassembler: Added disassembly support for the NHLT ACPI table (Mark Langsdorf) [1997698] - ACPICA: ACPI 6.4 SRAT: add Generic Port Affinity type (Mark Langsdorf) [1997698] - ACPICA: Add support for Windows 2020 _OSI string (Mark Langsdorf) [1997698] - ACPICA: Avoid evaluating methods too early during system resume (Mark Langsdorf) [1997698] - ACPI: processor: idle: fix lockup regression on 32-bit ThinkPad T40 (Mark Langsdorf) [1997698] - ACPI: processor idle: Allow playing dead in C3 state (Mark Langsdorf) [1997698] - ACPI: Kconfig: Fix a typo in Kconfig (Mark Langsdorf) [1997698] - ACPI: PNP: remove duplicated BRI0A49 and BDP3336 entries (Mark Langsdorf) [1997698] - ACPI: resources: Add DMI-based legacy IRQ override quirk (Mark Langsdorf) [1997698] - ACPICA: Add support for MADT online enabled bit (Mark Langsdorf) [1997698] - acpi/arm64: fix next_platform_timer() section mismatch error (Mark Langsdorf) [1997697] - ACPI: PM: Include alternate AMDI0005 id in special behaviour (Mark Langsdorf) [1997697] - MAINTAINERS: Change Rafael's e-mail address (Mark Langsdorf) [1997697] - ACPI: scan: Remove unneeded header linux/nls.h (Mark Langsdorf) [1997697] - ACPI: PM: s2idle: Run both AMD and Microsoft methods if both are supported (Mark Langsdorf) [1997697] - ACPI: power: Drop name from struct acpi_power_resource (Mark Langsdorf) [1997697] - ACPI: power: Use acpi_handle_debug() to print debug messages (Mark Langsdorf) [1997697] - ACPI: button: Add DMI quirk for Lenovo Yoga 9 (14INTL5) (Mark Langsdorf) [1997697] - ACPI: SPCR: Add support for the new 16550-compatible Serial Port Subtype (Mark Langsdorf) [1997697] - ACPI: platform-profile: call sysfs_notify() from platform_profile_store() (Mark Langsdorf) [1997697] - ACPICA: Update version to 20210730 (Mark Langsdorf) [1997697] - ACPICA: Add method name "_DIS" For use with aslmethod.c (Mark Langsdorf) [1997697] - ACPICA: iASL: Fix for WPBT table with no command-line arguments (Mark Langsdorf) [1997697] - ACPICA: Headers: Add new DBG2 Serial Port Subtypes (Mark Langsdorf) [1997697] - ACPICA: Macros should not use a trailing semicolon (Mark Langsdorf) [1997697] - ACPICA: Fix an if statement (add parens) (Mark Langsdorf) [1997697] - ACPICA: iASL: Add support for the AEST table (data compiler) (Mark Langsdorf) [1997697] - clk: fractional-divider: Introduce POWER_OF_TWO_PS flag (Mark Langsdorf) [1997697] - clk: fractional-divider: add explicit big endian support (Mark Langsdorf) [1997697] - clk: gate: add explicit big endian support (Mark Langsdorf) [1997697] - clk: fractional-divider: add CLK_FRAC_DIVIDER_ZERO_BASED flag support (Mark Langsdorf) [1997697] - ACPI: processor: Replace deprecated CPU-hotplug functions (Mark Langsdorf) [1997697] - ABI: sysfs-platform-dptf: Add tables markup to a table (Mark Langsdorf) [1997697] - ACPI: DPTF: Add new PCH FIVR methods (Mark Langsdorf) [1997697] - clk: x86: Rename clk-lpt to more specific clk-lpss-atom (Mark Langsdorf) [1997697] - ACPI: configfs: Make get_header() to return error pointer (Mark Langsdorf) [1997697] - ACPI: configfs: Use sysfs_emit() in "show" functions (Mark Langsdorf) [1997697] - ACPI: glue: Eliminate acpi_platform_notify() (Mark Langsdorf) [1997697] - ACPI: bus: Rename functions to avoid name collision (Mark Langsdorf) [1997697] - ACPI: glue: Change return type of two functions to void (Mark Langsdorf) [1997697] - ACPI: glue: Rearrange acpi_device_notify() (Mark Langsdorf) [1997697] - ACPI: Add LoongArch support for ACPI_PROCESSOR/ACPI_NUMA (Mark Langsdorf) [1997697] - ACPI / PMIC: XPower: optimize MIPI PMIQ sequence I2C-bus accesses (Mark Langsdorf) [1997697] - ACPI / PMIC: XPower: optimize I2C-bus accesses (Mark Langsdorf) [1997697] - stddef: Introduce DECLARE_FLEX_ARRAY() helper (Josef Oskera) [2062594] - Revert "iavf: Fix deadlock occurrence during resetting VF interface" (Ivan Vecera) [2066693] - scsi: core: Fix sbitmap depth in scsi_realloc_sdev_budget_map() (Ewan D. Milne) [2071831] - lib/sbitmap: allocate sb->map via kvzalloc_node (Ewan D. Milne) [2071831] - mm: move kvmalloc-related functions to slab.h (Ewan D. Milne) [2071831] - scsi: core: sd: Add silence_suspend flag to suppress some PM messages (Ewan D. Milne) [2071831] - scsi: scsi_transport_fc: Fix FPIN Link Integrity statistics counters (Ewan D. Milne) [2071831] - sd: call sd_zbc_release_disk before releasing the scsi_device reference (Ewan D. Milne) [2071831] - scsi: core: Reallocate device's budget map on queue depth change (Ewan D. Milne) [2071831] - scsi: sr: Don't use GFP_DMA (Ewan D. Milne) [2071831] - scsi: core: Fix scsi_device_max_queue_depth() (Ewan D. Milne) [2071831] - scsi: scsi_debug: Fix buffer size of REPORT ZONES command (Ewan D. Milne) [2071831] - scsi: sd_zbc: Clean up sd_zbc_parse_report() setting of wp (Ewan D. Milne) [2071831] - scsi: sd_zbc: Simplify zone full condition check (Ewan D. Milne) [2071831] - scsi: core: Show SCMD_LAST in text form (Ewan D. Milne) [2071831] - scsi: scsi_debug: Zero clear zones at reset write pointer (Ewan D. Milne) [2071831] - scsi: core: sysfs: Fix setting device state to SDEV_RUNNING (Ewan D. Milne) [2071831] - scsi: scsi_debug: Sanity check block descriptor length in resp_mode_select() (Ewan D. Milne) [2071831] - scsi: scsi_debug: Fix type in min_t to avoid stack OOB (Ewan D. Milne) [2071831] - scsi: core: Simplify control flow in scmd_eh_abort_handler() (Ewan D. Milne) [2071831] - scsi: core: sysfs: Fix hang when device state is set via sysfs (Ewan D. Milne) [2071831] - scsi: scsi_debug: Don't call kcalloc() if size arg is zero (Ewan D. Milne) [2071831] - scsi: sr: Remove duplicate assignment (Ewan D. Milne) [2071831] - scsi: scsi_debug: Fix out-of-bound read in resp_report_tgtpgs() (Ewan D. Milne) [2071831] - scsi: scsi_debug: Fix out-of-bound read in resp_readcap16() (Ewan D. Milne) [2071831] - scsi: sd: Print write through due to no caching mode page as warning (Ewan D. Milne) [2071831] - scsi: sd: Fix crashes in sd_resume_runtime() (Ewan D. Milne) [2071831] - scsi: core: Fix shost->cmd_per_lun calculation in scsi_add_host_with_dma() (Ewan D. Milne) [2071831] - scsi: core: Fix spelling in a source code comment (Ewan D. Milne) [2071831] - scsi: sd: Fix sd_do_mode_sense() buffer length handling (Ewan D. Milne) [2071831] - scsi: core: Fix scsi_mode_select() buffer length handling (Ewan D. Milne) [2071831] - scsi: core: Fix scsi_mode_sense() buffer length handling (Ewan D. Milne) [2071831] - scsi: core: Remove include from scsi_cmnd.h (Ewan D. Milne) [2071831] - scsi: sd_zbc: Support disks with more than 2**32 logical blocks (Ewan D. Milne) [2071831] - scsi: sd: Make sd_spinup_disk() less noisy (Ewan D. Milne) [2071831] - scsi: sr: Fix spelling mistake "does'nt" -> "doesn't" (Ewan D. Milne) [2071831] - scsi: sd_zbc: Ensure buffer size is aligned to SECTOR_SIZE (Ewan D. Milne) [2071831] - scsi: sd: Do not exit sd_spinup_disk() quietly (Ewan D. Milne) [2071831] - scsi: core: Add helper to return number of logical blocks in a request (Ewan D. Milne) [2071831] - scsi: scsi_debug: Use scsi_cmd_to_rq() instead of scsi_cmnd.request (Ewan D. Milne) [2071831] - scsi: scsi_transport_spi: Use scsi_cmd_to_rq() instead of scsi_cmnd.request (Ewan D. Milne) [2071831] - scsi: scsi_transport_fc: Use scsi_cmd_to_rq() instead of scsi_cmnd.request (Ewan D. Milne) [2071831] - scsi: sr: Use scsi_cmd_to_rq() instead of scsi_cmnd.request (Ewan D. Milne) [2071831] - scsi: sd: Use scsi_cmd_to_rq() instead of scsi_cmnd.request (Ewan D. Milne) [2071831] - scsi: core: Use scsi_cmd_to_rq() instead of scsi_cmnd.request (Ewan D. Milne) [2071831] - scsi: core: Introduce the scsi_cmd_to_rq() function (Ewan D. Milne) [2071831] - scsi: core: Add BLIST_IGN_MEDIA_CHANGE for Ultra HS-SD/MMC USB card readers (Ewan D. Milne) [2071831] - scsi: sd: REQUEST SENSE for BLIST_IGN_MEDIA_CHANGE devices in runtime_resume() (Ewan D. Milne) [2071831] - scsi: core: Add new flag BLIST_IGN_MEDIA_CHANGE (Ewan D. Milne) [2071831] - scsi: scsi_debug: Improve RDPROTECT/WRPROTECT handling (Ewan D. Milne) [2071831] - scsi: scsi_debug: Remove dump_sector() (Ewan D. Milne) [2071831] - scsi: core: Add scsi_prot_ref_tag() helper (Ewan D. Milne) [2071831] - scsi: core: Add scsi_msg_to_host_byte() (Ewan D. Milne) [2071831] - scsi: core: Add get_{status,host}_byte() accessor functions (Ewan D. Milne) [2071831] - scsi: core: Cap scsi_host cmd_per_lun at can_queue (Ewan D. Milne) [2071831] - scsi: Fix spelling mistakes in header files (Ewan D. Milne) [2071831] - scsi: core: Treat device offline as a failure (Ewan D. Milne) [2071831] - sched/topology: Skip updating masks for non-online nodes (Diego Domingos) [1946251] - powerpc/numa: Update cpu_cpu_map on CPU online/offline (Diego Domingos) [1946251] - powerpc/numa: Print debug statements only when required (Diego Domingos) [1946251] - powerpc/numa: convert printk to pr_xxx (Diego Domingos) [1946251] - powerpc/numa: Drop dbg in favour of pr_debug (Diego Domingos) [1946251] - livepatch: Fix missing unlock on error in klp_enable_patch() (Julia Denham) [2069340] - livepatch: Fix kobject refcount bug on klp_init_patch_early failure path (Julia Denham) [2069340] - Documentation: livepatch: Add livepatch API page (Julia Denham) [2069340] - scsi: megaraid_sas: Remove unnecessary memset (Tomas Henzl) [2049686] - scsi: megaraid_sas: Target with invalid LUN ID is deleted during scan (Tomas Henzl) [2049686] - scsi: megasas: Clean up some inconsistent indenting (Tomas Henzl) [2049686] - scsi: megasas: Stop using the SCSI pointer (Tomas Henzl) [2049686] - aarch64: enable memory hotplug (Baoquan He) [1818517] - mm/memory_hotplug: introduce default dummy memory_add_physaddr_to_nid() (Baoquan He) [1818517] - arm64/mm: Add one hunk back missed in earlier back porting (Baoquan He) [1818517] - arm64/mm: Hold memory hotplug lock while walking for kernel page table dump (Baoquan He) [1818517] - ARM64: dump: Convert to use DEFINE_SHOW_ATTRIBUTE macro (Baoquan He) [1818517] - net/mlx5: DR, Ignore modify TTL on RX if device doesn't support it (Amir Tzin) [2072934] - net: bridge: switchdev: check br_vlan_group() return value (Ivan Vecera) [2080332] - net: bridge: mst: Restrict info size queries to bridge ports (Ivan Vecera) [2080332] - net: bridge: mst: prevent NULL deref in br_mst_info_size() (Ivan Vecera) [2080332] - selftests: forwarding: Use same VRF for port and VLAN upper (Ivan Vecera) [2080332] - selftests: forwarding: Disable learning before link up (Ivan Vecera) [2080332] - net: bridge: mst: Add helper to query a port's MST state (Ivan Vecera) [2080332] - net: bridge: mst: Add helper to check if MST is enabled (Ivan Vecera) [2080332] - net: bridge: mst: Add helper to map an MSTI to a VID set (Ivan Vecera) [2080332] - net: bridge: mst: Notify switchdev drivers of MST state changes (Ivan Vecera) [2080332] - net: bridge: mst: Notify switchdev drivers of VLAN MSTI migrations (Ivan Vecera) [2080332] - net: bridge: mst: Notify switchdev drivers of MST mode changes (Ivan Vecera) [2080332] - net: bridge: mst: Support setting and reporting MST port states (Ivan Vecera) [2080332] - net: bridge: mst: Allow changing a VLAN's MSTI (Ivan Vecera) [2080332] - net: bridge: mst: Multiple Spanning Tree (MST) mode (Ivan Vecera) [2080332] - net: switchdev: remove lag_mod_cb from switchdev_handle_fdb_event_to_device (Ivan Vecera) [2080332] - selftests: forwarding: tests of locked port feature (Ivan Vecera) [2080332] - net: bridge: Add support for offloading of locked port flag (Ivan Vecera) [2080332] - net: bridge: Add support for bridge port in locked mode (Ivan Vecera) [2080332] - net: switchdev: avoid infinite recursion from LAG to bridge with port object handler (Ivan Vecera) [2080332] - bridge: switch br_net_exit to batch mode (Ivan Vecera) [2080332] - net: bridge: multicast: notify switchdev driver whenever MC processing gets disabled (Ivan Vecera) [2080332] - net: switchdev: introduce switchdev_handle_port_obj_{add,del} for foreign interfaces (Ivan Vecera) [2080332] - net: switchdev: rename switchdev_lower_dev_find to switchdev_lower_dev_find_rcu (Ivan Vecera) [2080332] - net: bridge: switchdev: replay all VLAN groups (Ivan Vecera) [2080332] - net: bridge: make nbp_switchdev_unsync_objs() follow reverse order of sync() (Ivan Vecera) [2080332] - net: bridge: switchdev: differentiate new VLANs from changed ones (Ivan Vecera) [2080332] - net: bridge: vlan: notify switchdev only when something changed (Ivan Vecera) [2080332] - net: bridge: vlan: make __vlan_add_flags react only to PVID and UNTAGGED (Ivan Vecera) [2080332] - net: bridge: vlan: don't notify to switchdev master VLANs without BRENTRY flag (Ivan Vecera) [2080332] - net: bridge: vlan: check early for lack of BRENTRY flag in br_vlan_add_existing (Ivan Vecera) [2080332] - net: bridge: vlan: check for errors from __vlan_del in __vlan_flush (Ivan Vecera) [2080332] - net/switchdev: use struct_size over open coded arithmetic (Ivan Vecera) [2080332] - net: bridge: vlan: fix single net device option dumping (Ivan Vecera) [2080332] - net: bridge: mcast: fix br_multicast_ctx_vlan_global_disabled helper (Ivan Vecera) [2080332] - net: bridge: mcast: add and enforce startup query interval minimum (Ivan Vecera) [2080332] - net: bridge: mcast: add and enforce query interval minimum (Ivan Vecera) [2080332] - netfilter: bridge: add support for pppoe filtering (Ivan Vecera) [2080332] - bridge: use __set_bit in __br_vlan_set_default_pvid (Ivan Vecera) [2080332] - net: bridge: Allow base 16 inputs in sysfs (Ivan Vecera) [2080332] - net/bridge: replace simple_strtoul to kstrtol (Ivan Vecera) [2080332] - net: bridge: Slightly optimize 'find_portno()' (Ivan Vecera) [2080332] - net: bridge: switchdev: fix shim definition for br_switchdev_mdb_notify (Ivan Vecera) [2080332] - net: bridge: switchdev: consistent function naming (Ivan Vecera) [2080332] - net: bridge: mdb: move all switchdev logic to br_switchdev.c (Ivan Vecera) [2080332] - net: bridge: split out the switchdev portion of br_mdb_notify (Ivan Vecera) [2080332] - net: bridge: move br_vlan_replay to br_switchdev.c (Ivan Vecera) [2080332] - net: bridge: provide shim definition for br_vlan_flags (Ivan Vecera) [2080332] - net: switchdev: merge switchdev_handle_fdb_{add,del}_to_device (Ivan Vecera) [2080332] - net: bridge: create a common function for populating switchdev FDB entries (Ivan Vecera) [2080332] - net: bridge: move br_fdb_replay inside br_switchdev.c (Ivan Vecera) [2080332] - net: bridge: reduce indentation level in fdb_create (Ivan Vecera) [2080332] - net: bridge: rename br_fdb_insert to br_fdb_add_local (Ivan Vecera) [2080332] - net: bridge: rename fdb_insert to fdb_add_local (Ivan Vecera) [2080332] - net: bridge: remove fdb_insert forward declaration (Ivan Vecera) [2080332] - net: bridge: remove fdb_notify forward declaration (Ivan Vecera) [2080332] - net: make use of helper netif_is_bridge_master() (Ivan Vecera) [2080332] - net: use eth_hw_addr_set() (Ivan Vecera) [2080332] - net: bridge: Use array_size() helper in copy_to_user() (Ivan Vecera) [2080332] - net/mlx5: DR, Fix missing flow_source when creating multi-destination FW table (Amir Tzin) [2072920] - net/mlx5: DR, Fix slab-out-of-bounds in mlx5_cmd_dr_create_fte (Amir Tzin) [2072920] - ixgbevf: Require large buffers for build_skb on 82599VF (Ken Cox) [2037956] - ixgbevf: Remove useless DMA-32 fallback configuration (Ken Cox) [2037956] - ixgbevf: switch to napi_build_skb() (Ken Cox) [2037956] - ixgbevf: Add support for new mailbox communication between PF and VF (Ken Cox) [2037956] - ixgbevf: Mailbox improvements (Ken Cox) [2037956] - ixgbevf: Add legacy suffix to old API mailbox functions (Ken Cox) [2037956] - ixgbevf: Improve error handling in mailbox (Ken Cox) [2037956] - ixgbevf: Rename MSGTYPE to SUCCESS and FAILURE (Ken Cox) [2037956] - net: ixgbevf: Remove redundant initialization of variable ret_val (Ken Cox) [2037956] - selftests: mptcp: fix diag instability (Hangbin Liu) [2077358] - selftests: mptcp: fix ipv6 routing setup (Hangbin Liu) [2077358] - selftests: mptcp: clean tmp files in simult_flows (Hangbin Liu) [2077358] - selftests: netfilter: fix exit value for nft_concat_range (Hangbin Liu) [2077358] - selftests: netfilter: remove stray bash debug line (Hangbin Liu) [2077358] - selftests: Fix IPv6 address bind tests (Hangbin Liu) [2077358] - selftests: Fix raw socket bind tests with VRF (Hangbin Liu) [2077358] - selftests: net: Correct case name (Hangbin Liu) [2077358] - selftests: pmtu.sh: Kill nettest processes launched in subshell. (Hangbin Liu) [2077358] - selftests: pmtu.sh: Kill tcpdump processes launched by subshell. (Hangbin Liu) [2077358] - selftests: net: Fix a typo in udpgro_fwd.sh (Hangbin Liu) [2077358] - selftests/net: udpgso_bench_tx: fix dst ip argument (Hangbin Liu) [2077358] - selftests/net: udpgso_bench_rx: fix port argument (Hangbin Liu) [2077358] - selftests: net: tls: remove unused variable and code (Hangbin Liu) [2077358] - selftest: net: fix typo in altname test (Hangbin Liu) [2077358]- net/mlx5: DR, Fix the threshold that defines when pool sync is initiated (Amir Tzin) [2062715] - net/mlx5: DR, Cache STE shadow memory (Amir Tzin) [2062715] - perf/x86/intel/lbr: Add static_branch for LBR INFO flags (Michael Petlan) [2039998] - perf/x86/intel/lbr: Support LBR format V7 (Michael Petlan) [2039998] - net/mlx5e: TC, fix decap fallback to uplink when int port not supported (Amir Tzin) [2077048] - net/mlx5e: Fix wrong source vport matching on tunnel rule (Amir Tzin) [2064589] - hv_balloon: rate-limit "Unhandled message" warning (Vitaly Kuznetsov) [2087270] - tcp: drop the hash_32() part from the index calculation (Guillaume Nault) [2064876] {CVE-2022-1012} - tcp: increase source port perturb table to 2^16 (Guillaume Nault) [2064876] {CVE-2022-1012} - tcp: dynamically allocate the perturb table used by source ports (Guillaume Nault) [2064876] {CVE-2022-1012} - tcp: add small random increments to the source port (Guillaume Nault) [2064876] {CVE-2022-1012} - tcp: resalt the secret every 10 seconds (Guillaume Nault) [2064876] {CVE-2022-1012} - tcp: use different parts of the port_offset for index and offset (Guillaume Nault) [2064876] {CVE-2022-1012} - secure_seq: use the 64 bits of the siphash for port offset calculation (Guillaume Nault) [2064876] {CVE-2022-1012} - tcp: add some entropy in __inet_hash_connect() (Guillaume Nault) [2064876] {CVE-2022-1012} - tcp: change source port randomizarion at connect() time (Guillaume Nault) [2064876] {CVE-2022-1012} - net/mlx5e: TC, Skip redundant ct clear actions (Amir Tzin) [2055590] - spi: pxa2xx: Add support for Intel Raptor Lake PCH-S (Prarit Bhargava) [2040031] - mfd: intel-lpss: Add Intel Raptor Lake PCH-S PCI IDs (Prarit Bhargava) [2040031] - pinctrl: alderlake: Add Raptor Lake-S ACPI ID (Prarit Bhargava) [2040033] - i2c: i801: Add support for Intel Raptor Lake PCH-S (Prarit Bhargava) [2040027 2040029] - redhat/configs: Add CONFIG_INTEL_IDXD_PERFMON (Jerry Snitselaar) [1921296] - x86/fpu/xstate: Consolidate size calculations (Jerry Snitselaar) [2071461] - x86/fpu/xstate: Handle supervisor states in XSTATE permissions (Jerry Snitselaar) [2071461] - x86/fpu/xsave: Handle compacted offsets correctly with supervisor states (Jerry Snitselaar) [2071461] - x86/fpu: Cache xfeature flags from CPUID (Jerry Snitselaar) [2071461] - x86/fpu/xsave: Initialize offset/size cache early (Jerry Snitselaar) [2071461] - x86/fpu: Remove unused supervisor only offsets (Jerry Snitselaar) [2071461] - dmaengine: idxd: Change license on idxd.h to LGPL (Jerry Snitselaar) [2072156] - dmaengine: idxd: fix delta_rec and crc size field for completion record (Jerry Snitselaar) [1971892] - dmaengine: idxd: Remove useless DMA-32 fallback configuration (Jerry Snitselaar) [2072156] - dmaengine: idxd: restore traffic class defaults after wq reset (Jerry Snitselaar) [2046469] - dmaengine: idxd: deprecate token sysfs attributes for read buffers (Jerry Snitselaar) [2040042] - dmaengine: idxd: change bandwidth token to read buffers (Jerry Snitselaar) [2040042] - dmaengine: idxd: fix wq settings post wq disable (Jerry Snitselaar) [2040045] - dmaengine: idxd: change MSIX allocation based on per wq activation (Jerry Snitselaar) [2040495] - edmaengine: idxd: fix descriptor flushing locking (Jerry Snitselaar) [2040495] - dmaengine: idxd: embed irq_entry in idxd_wq struct (Jerry Snitselaar) [2040495] - dmaengine: idxd: fix calling wq quiesce inside spinlock (Jerry Snitselaar) [2040040] - dmaengine: idxd: add knob for enqcmds retries (Jerry Snitselaar) [2040047] - dmaengine: idxd: set defaults for wq configs (Jerry Snitselaar) [2040047] - dmaengine: idxd: handle interrupt handle revoked event (Jerry Snitselaar) [2040051] - dmaengine: idxd: handle invalid interrupt handle descriptors (Jerry Snitselaar) [2040051] - dmaengine: idxd: create locked version of idxd_quiesce() call (Jerry Snitselaar) [2040051] - dmaengine: idxd: add helper for per interrupt handle drain (Jerry Snitselaar) [2040051] - dmaengine: idxd: move interrupt handle assignment (Jerry Snitselaar) [2040051] - dmaengine: idxd: int handle management refactoring (Jerry Snitselaar) [2040051] - dmaengine: idxd: rework descriptor free path on failure (Jerry Snitselaar) [2040051] - dmaengine: idxd: fix missed completion on abort path (Jerry Snitselaar) [2040040] - dmaengine: idxd: fix resource leak on dmaengine driver disable (Jerry Snitselaar) [2040040] - dmaengine: idxd: cleanup completion record allocation (Jerry Snitselaar) [2040040] - dmaengine: idxd: reconfig device after device reset command (Jerry Snitselaar) [2072156] - dmaengine: idxd: add halt interrupt support (Jerry Snitselaar) [2040047] - dmaengine: idxd: Use list_move_tail instead of list_del/list_add_tail (Jerry Snitselaar) [2072156] - dmanegine: idxd: fix resource free ordering on driver removal (Jerry Snitselaar) [2040040] - dmaengine: idxd: remove kernel wq type set when load configuration (Jerry Snitselaar) [2040040] - dmaengine: idxd: remove gen cap field per spec 1.2 update (Jerry Snitselaar) [2040040] - dmaengine: idxd: check GENCAP config support for gencfg register (Jerry Snitselaar) [2040040] - dmaengine: idxd: move out percpu_ref_exit() to ensure it's outside submission (Jerry Snitselaar) [2040040] - dmaengine: idxd: remove interrupt disable for dev_lock (Jerry Snitselaar) [2040040] - dmaengine: idxd: remove interrupt disable for cmd_lock (Jerry Snitselaar) [2040040] - dmaengine: idxd: fix setting up priv mode for dwq (Jerry Snitselaar) [2040040] - dmaengine: idxd: set descriptor allocation size to threshold for swq (Jerry Snitselaar) [2040040] - dmaengine: idxd: make submit failure path consistent on desc freeing (Jerry Snitselaar) [2040040] - dmaengine: idxd: remove interrupt flag for completion list spinlock (Jerry Snitselaar) [2040040] - dmaengine: idxd: make I/O interrupt handler one shot (Jerry Snitselaar) [2040040] - dmaengine: idxd: clear block on fault flag when clear wq (Jerry Snitselaar) [2040040] - dmaengine: idxd: add capability check for 'block on fault' attribute (Jerry Snitselaar) [2040040] - dmaengine: idxd: Remove unused status variable in irq_process_work_list() (Jerry Snitselaar) [2072156] - dmaengine: idxd: Fix a possible NULL pointer dereference (Jerry Snitselaar) [2072156] - dmaengine: idxd: fix abort status check (Jerry Snitselaar) [2040040] - dmanegine: idxd: add software command status (Jerry Snitselaar) [2040047] - dmaengine: idxd: rotate portal address for better performance (Jerry Snitselaar) [2040047] - dmaengine: idxd: fix wq slot allocation index check (Jerry Snitselaar) [2040040] - dmaengine: idxd: fix uninit var for alt_drv (Jerry Snitselaar) [2072156] - dmaengine: idxd: Set defaults for GRPCFG traffic class (Jerry Snitselaar) [2040047] - dmaengine: idxd: remove fault processing code (Jerry Snitselaar) [2040040] - dmaengine: idxd: move dsa_drv support to compatible mode (Jerry Snitselaar) [1971961] - dmaengine: dsa: move dsa_bus_type out of idxd driver to standalone (Jerry Snitselaar) [1971961] - dmaengine: idxd: create user driver for wq 'device' (Jerry Snitselaar) [1971961] - dmaengine: idxd: create dmaengine driver for wq 'device' (Jerry Snitselaar) [1971961] - dmaengine: idxd: create idxd_device sub-driver (Jerry Snitselaar) [1971961] - dmaengine: idxd: add type to driver in order to allow device matching (Jerry Snitselaar) [1971961] - dmanegine: idxd: open code the dsa_drv registration (Jerry Snitselaar) [1971961] - dmaengine: idxd: idxd: move remove() bits for idxd 'struct device' to device.c (Jerry Snitselaar) [1971961] - dmaengine: idxd: move probe() bits for idxd 'struct device' to device.c (Jerry Snitselaar) [1971961] - dmaengine: idxd: fix bus_probe() and bus_remove() for dsa_bus (Jerry Snitselaar) [1971961] - dmaengine: idxd: remove iax_bus_type prototype (Jerry Snitselaar) [1971961] - dmaengine: idxd: remove bus shutdown (Jerry Snitselaar) [1971961] - dmaengine: idxd: move wq_disable() to device.c (Jerry Snitselaar) [1971961] - dmaengine: idxd: move wq_enable() to device.c (Jerry Snitselaar) [1971961] - dmaengine: idxd: remove IDXD_DEV_CONF_READY (Jerry Snitselaar) [1971961] - dmaengine: idxd: add 'struct idxd_dev' as wrapper for conf_dev (Jerry Snitselaar) [1971961] - dmaengine: idxd: add driver name (Jerry Snitselaar) [1971961] - dmaengine: idxd: add driver register helper (Jerry Snitselaar) [1971961] - dmaengine: idxd: depends on !UML (Jerry Snitselaar) [2072156] - dmaengine: idxd: fix PCI_MSI build errors (Jerry Snitselaar) [2072156] - dmaengine: idxd: fix submission race window (Jerry Snitselaar) [2040040] - dmaengine: idxd: fix sequence for pci driver remove() and shutdown() (Jerry Snitselaar) [2072156] - dmaengine: idxd: fix setup sequence for MSIXPERM table (Jerry Snitselaar) [2040040] - dmaengine: idxd: fix array index when int_handles are being used (Jerry Snitselaar) [2040040] - dmaengine: idxd: assign MSIX vectors to each WQ rather than roundrobin (Jerry Snitselaar) [2072156] - dmaengine: idxd: fix desc->vector that isn't being updated (Jerry Snitselaar) [2040040] - dmaengine: idxd: add missing percpu ref put on failure (Jerry Snitselaar) [2072156] - dmaengine: idxd: have command status always set (Jerry Snitselaar) [1973882] - dmanegine: idxd: cleanup all device related bits after disabling device (Jerry Snitselaar) [2072156] - dmaengine: idxd: Simplify code and axe the use of a deprecated API (Jerry Snitselaar) [2072156] - dmaengine: idxd: remove devm allocation for idxd->int_handles (Jerry Snitselaar) [2072156] - dmaengine: idxd: Remove redundant variable cdev_ctx (Jerry Snitselaar) [2072156] - dmaengine: idxd: Add missing cleanup for early error out in probe call (Jerry Snitselaar) [1971892] - dmaengine: idxd: Enable IDXD performance monitor support (Jerry Snitselaar) [1921296] - dmaengine: idxd: Add IDXD performance monitor support (Jerry Snitselaar) [1921296] - dmaengine: idxd: device cmd should use dedicated lock (Jerry Snitselaar) [1971892] - dmaengine: idxd: support reporting of halt interrupt (Jerry Snitselaar) [1971890] - dmaengine: idxd: convert sprintf() to sysfs_emit() for all usages (Jerry Snitselaar) [1971890] - dmaengine: idxd: add interrupt handle request and release support (Jerry Snitselaar) [1971890] - dmaengine: idxd: add support for readonly config mode (Jerry Snitselaar) [1971890] - dmaengine: idxd: add percpu_ref to descriptor submission path (Jerry Snitselaar) [1971949] - dmaengine: idxd: remove detection of device type (Jerry Snitselaar) [1971963] - Documentation/x86: Update documentation for SVA (Shared Virtual Addressing) (Jerry Snitselaar) [2071461] - tools/objtool: Check for use of the ENQCMD instruction in the kernel (Jerry Snitselaar) [2071461] - x86/cpufeatures: Re-enable ENQCMD (Jerry Snitselaar) [2071461] - x86/traps: Demand-populate PASID MSR via #GP (Jerry Snitselaar) [2071461] - sched: Define and initialize a flag to identify valid PASID in the task (Jerry Snitselaar) [2071461] - x86/fpu: Clear PASID when copying fpstate (Jerry Snitselaar) [2071461] - iommu/sva: Assign a PASID to mm on PASID allocation and free it on mm exit (Jerry Snitselaar) [2071461] - iommu/ioasid: Introduce a helper to check for valid PASIDs (Jerry Snitselaar) [2071461] - kernel/fork: Initialize mm's PASID (Jerry Snitselaar) [2071461] - mm: Change CONFIG option for mm->pasid field (Jerry Snitselaar) [2071461] - mm/fork: clear PASID for new mm (Jerry Snitselaar) [2071461] - iommu/sva: Rename CONFIG_IOMMU_SVA_LIB to CONFIG_IOMMU_SVA (Jerry Snitselaar) [2071461] - turbostat: fix PC6 displaying on some systems (Steve Best) [2040078]- quota: make dquot_quota_sync return errors from ->sync_fs (Lukas Czerner) [2083057] - redhat: disable more noisy rpminspect tests (Jarod Wilson) - mm: thp: replace the page lock with the seqlock for the THP mapcount (Andrea Arcangeli) [1958020] - mm: do_wp_page: deduplicate smart_lock_page (Andrea Arcangeli) [1958020] - mm: hugetlbfs: gup_must_unshare() cleanup (Andrea Arcangeli) [1958020] - mm: GUP: cleanup FOLL_UNSHARE (Andrea Arcangeli) [1958020] - mm: COW: skip the page lock in the COW copy path (Andrea Arcangeli) [1958020] - mm: gup: gup_must_unshare() use can_read_pin_swap_page() (Andrea Arcangeli) [1958020] - mm: hugetlbfs: gup: gup_must_unshare(): enable hugetlbfs (Andrea Arcangeli) [1958020] - mm: hugetlbfs: FOLL_FAULT_UNSHARE (Andrea Arcangeli) [1958020] - mm: hugetlbfs: COR: copy-on-read fault (Andrea Arcangeli) [1958020] - mm: gup: FOLL_UNSHARE RHEL (Andrea Arcangeli) [1958020] - mm: gup: FOLL_NOUNSHARE: optimize follow_page (Andrea Arcangeli) [1958020] - mm: gup: FOLL_UNSHARE (Andrea Arcangeli) [1958020] - mm: gup: gup_must_unshare() (Andrea Arcangeli) [1958020] - mm: gup: COR: copy-on-read fault (Andrea Arcangeli) [1958020] - mm: thp: introduce page_trans_huge_anon_shared (Andrea Arcangeli) [1958020] - mm: thp: stabilize the THP mapcount in page_remove_anon_compound_rmap (Andrea Arcangeli) [1958020] - mm: thp: make the THP mapcount atomic with a seqlock (Andrea Arcangeli) [1958020] - mm: thp: consolidate mapcount logic on THP split (David Hildenbrand) [1958020] - vmxnet3: Remove useless DMA-32 fallback configuration (Kamal Heib) [2083561] - vmxnet3: fix minimum vectors alloc issue (Kamal Heib) [2083561] - net: vmxnet3: remove multiple false checks in vmxnet3_ethtool.c (Kamal Heib) [2083561] - vmxnet3: do not stop tx queues after netif_device_detach() (Kamal Heib) [2083561] - block: limit request dispatch loop duration (Ming Lei) [2005082] - esp: limit skb_page_frag_refill use to a single page (Sabrina Dubroca) [2062115] {CVE-2022-27666} - esp: Fix possible buffer overflow in ESP transformation (Sabrina Dubroca) [2062115] {CVE-2022-27666} - can: ems_usb: ems_usb_start_xmit(): fix double dev_kfree_skb() in error path (Chris von Recklinghausen) [2080376] {CVE-2022-28390} - NFSD: Deprecate NFS_OFFSET_MAX (Scott Mayhew) [2064216] - NFSD: Fix offset type in I/O trace points (Scott Mayhew) [2064216] - NFSD: COMMIT operations must not return NFS?ERR_INVAL (Scott Mayhew) [2064216] - NFSD: Clamp WRITE offsets (Scott Mayhew) [2064216] - NFSD: Fix NFSv3 SETATTR/CREATE's handling of large file sizes (Scott Mayhew) [2064216] - NFSD: Fix ia_size underflow (Scott Mayhew) [2064216] - NFSD: Fix the behavior of READ near OFFSET_MAX (Scott Mayhew) [2064216] - NFSD: Fix READDIR buffer overflow (Scott Mayhew) [2064216] - nfsd: Fix nsfd startup race (again) (Scott Mayhew) [2064216] - NFS: Add a tracepoint to show the results of nfs_set_cache_invalid() (Scott Mayhew) [2064216] - NFSv42: Don't fail clone() unless the OP_CLONE operation failed (Scott Mayhew) [2064216] - NFSD: Fix exposure in nfsd4_decode_bitmap() (Scott Mayhew) [2064216] - NFSv4: Sanity check the parameters in nfs41_update_target_slotid() (Scott Mayhew) [2064216] - NFS: Remove the nfs4_label argument from decode_getattr_*() functions (Scott Mayhew) [2064216] - NFS: Remove the nfs4_label argument from nfs_setsecurity (Scott Mayhew) [2064216] - NFS: Remove the nfs4_label argument from nfs_fhget() (Scott Mayhew) [2064216] - NFS: Remove the nfs4_label argument from nfs_add_or_obtain() (Scott Mayhew) [2064216] - NFS: Remove the nfs4_label argument from nfs_instantiate() (Scott Mayhew) [2064216] - NFS: Remove the nfs4_label from the nfs_setattrres (Scott Mayhew) [2064216] - NFS: Remove the nfs4_label from the nfs4_getattr_res (Scott Mayhew) [2064216] - NFS: Remove the f_label from the nfs4_opendata and nfs_openres (Scott Mayhew) [2064216] - NFS: Remove the nfs4_label from the nfs4_lookupp_res struct (Scott Mayhew) [2064216] - NFS: Remove the label from the nfs4_lookup_res struct (Scott Mayhew) [2064216] - NFS: Remove the nfs4_label from the nfs4_link_res struct (Scott Mayhew) [2064216] - NFS: Remove the nfs4_label from the nfs4_create_res struct (Scott Mayhew) [2064216] - NFS: Remove the nfs4_label from the nfs_entry struct (Scott Mayhew) [2064216] - NFS: Create a new nfs_alloc_fattr_with_label() function (Scott Mayhew) [2064216] - NFS: Always initialise fattr->label in nfs_fattr_alloc() (Scott Mayhew) [2064216] - NFSv4: Remove unnecessary 'minor version' check (Scott Mayhew) [2064216] - NFSv4: Fix potential Oops in decode_op_map() (Scott Mayhew) [2064216] - NFSv4: Ensure decode_compound_hdr() sanity checks the tag (Scott Mayhew) [2064216] - NFS: Don't trace an uninitialised value (Scott Mayhew) [2064216] - NFSv4.2 add tracepoint to OFFLOAD_CANCEL (Scott Mayhew) [2064216] - NFSv4.2 add tracepoint to CB_OFFLOAD (Scott Mayhew) [2064216] - NFSv4.2 add tracepoint to CLONE (Scott Mayhew) [2064216] - NFSv4.2 add tracepoint to COPY (Scott Mayhew) [2064216] - NFSv4.2 add tracepoints to FALLOCATE and DEALLOCATE (Scott Mayhew) [2064216] - NFSv4.2 add tracepoint to SEEK (Scott Mayhew) [2064216] - nfs4: take a reference on the nfs_client when running FREE_STATEID (Scott Mayhew) [2064216] - NFS: Move NFS protocol display macros to global header (Scott Mayhew) [2064216] - NFS: Move generic FS show macros to global header (Scott Mayhew) [2064216] - SUNRPC: Clean up xs_tcp_setup_sock() (Scott Mayhew) [2064216] - NFSv4: Fix a regression in nfs_set_open_stateid_locked() (Scott Mayhew) [2064216] - NFS: Remove redundant call to __set_page_dirty_nobuffers (Scott Mayhew) [2064216] - NFS: Unexport nfs_probe_fsinfo() (Scott Mayhew) [2064216] - NFS: Call nfs_probe_server() during a fscontext-reconfigure event (Scott Mayhew) [2064216] - NFS: Replace calls to nfs_probe_fsinfo() with nfs_probe_server() (Scott Mayhew) [2064216] - NFS: Move nfs_probe_destination() into the generic client (Scott Mayhew) [2064216] - NFS: Create an nfs4_server_set_init_caps() function (Scott Mayhew) [2064216] - NFS: Remove --> and <-- dprintk call sites (Scott Mayhew) [2064216] - SUNRPC: Trace calls to .rpc_call_done (Scott Mayhew) [2064216] - NFS: Replace dprintk callsites in nfs_readpage(s) (Scott Mayhew) [2064216] - SUNRPC: Use BIT() macro in rpc_show_xprt_state() (Scott Mayhew) [2064216] - SUNRPC: Tracepoints should display tk_pid and cl_clid as a fixed-size field (Scott Mayhew) [2064216] - xprtrdma: Remove rpcrdma_ep::re_implicit_roundup (Scott Mayhew) [2064216] - xprtrdma: Provide a buffer to pad Write chunks of unaligned length (Scott Mayhew) [2064216] - Fix user namespace leak (Scott Mayhew) [2064216] - NFS: Save some space in the inode (Scott Mayhew) [2064216] - NFS: Fix WARN_ON due to unionization of nfs_inode.nrequests (Scott Mayhew) [2064216] - NFSv4: Fixes for nfs4_inode_return_delegation() (Scott Mayhew) [2064216] - NFS: Fix an Oops in pnfs_mark_request_commit() (Scott Mayhew) [2064216] - NFS: Fix up commit deadlocks (Scott Mayhew) [2064216] - NFSD:fix boolreturn.cocci warning (Scott Mayhew) [2064216] - nfsd: update create verifier comment (Scott Mayhew) [2064216] - SUNRPC: Change return value type of .pc_encode (Scott Mayhew) [2064216] - SUNRPC: Replace the "__be32 *p" parameter to .pc_encode (Scott Mayhew) [2064216] - NFSD: Save location of NFSv4 COMPOUND status (Scott Mayhew) [2064216] - SUNRPC: Change return value type of .pc_decode (Scott Mayhew) [2064216] - SUNRPC: Replace the "__be32 *p" parameter to .pc_decode (Scott Mayhew) [2064216] - SUNRPC: De-duplicate .pc_release() call sites (Scott Mayhew) [2064216] - SUNRPC: Simplify the SVC dispatch code path (Scott Mayhew) [2064216] - NFS: Fix deadlocks in nfs_scan_commit_list() (Scott Mayhew) [2064216] - NFS: Instrument i_size_write() (Scott Mayhew) [2064216] - SUNRPC: Per-rpc_clnt task PIDs (Scott Mayhew) [2064216] - NFS: Remove unnecessary TRACE_DEFINE_ENUM()s (Scott Mayhew) [2064216] - SUNRPC: Capture value of xdr_buf::page_base (Scott Mayhew) [2064216] - svcrdma: Split svcrmda_wc_{read,write} tracepoints (Scott Mayhew) [2064216] - svcrdma: Split the svcrdma_wc_send() tracepoint (Scott Mayhew) [2064216] - svcrdma: Split the svcrdma_wc_receive() tracepoint (Scott Mayhew) [2064216] - pnfs/flexfiles: Fix misplaced barrier in nfs4_ff_layout_prepare_ds (Scott Mayhew) [2064216] - NFS: Remove unnecessary page cache invalidations (Scott Mayhew) [2064216] - NFS: Fix dentry verifier races (Scott Mayhew) [2064216] - NFS: Further optimisations for 'ls -l' (Scott Mayhew) [2064216] - NFS: Fix up nfs_readdir_inode_mapping_valid() (Scott Mayhew) [2064216] - NFS: Ignore the directory size when marking for revalidation (Scott Mayhew) [2064216] - NFS: Don't set NFS_INO_DATA_INVAL_DEFER and NFS_INO_INVALID_DATA (Scott Mayhew) [2064216] - NFS: Default change_attr_type to NFS4_CHANGE_TYPE_IS_UNDEFINED (Scott Mayhew) [2064216] - NFSv4: Retrieve ACCESS on open if we're not using NFS4_CREATE_EXCLUSIVE (Scott Mayhew) [2064216] - NFS: Fix a few more clear_bit() instances that need release semantics (Scott Mayhew) [2064216] - SUNRPC: xprt_clear_locked() only needs release memory semantics (Scott Mayhew) [2064216] - SUNRPC: Remove unnecessary memory barriers (Scott Mayhew) [2064216] - SUNRPC: Remove WQ_HIGHPRI from xprtiod (Scott Mayhew) [2064216] - SUNRPC: Add cond_resched() at the appropriate point in __rpc_execute() (Scott Mayhew) [2064216] - SUNRPC: Partial revert of commit 6f9f17287e78 (Scott Mayhew) [2064216] - NFS: Fix up nfs_ctx_key_to_expire() (Scott Mayhew) [2064216] - NFS: Label the dentry with a verifier in nfs_rmdir() and nfs_unlink() (Scott Mayhew) [2064216] - NFS: Label the dentry with a verifier in nfs_link(), nfs_symlink() (Scott Mayhew) [2064216] - NFSD: Have legacy NFSD WRITE decoders use xdr_stream_subsegment() (Scott Mayhew) [2064216] - SUNRPC: xdr_stream_subsegment() must handle non-zero page_bases (Scott Mayhew) [2064216] - NFSD: simplify struct nfsfh (Scott Mayhew) [2064216] - NFSD: drop support for ancient filehandles (Scott Mayhew) [2064216] - NFSD: move filehandle format declarations out of "uapi". (Scott Mayhew) [2064216] - UNRPC: Return specific error code on kmalloc failure (Scott Mayhew) [2064216] - NFSD: Optimize DRC bucket pruning (Scott Mayhew) [2064216] - nfsd: don't alloc under spinlock in rpc_parse_scope_id (Scott Mayhew) [2064216] - NFSD: Keep existing listeners on portlist error (Scott Mayhew) [2064216] - nfs: Fix kerneldoc warning shown up by W=1 (Scott Mayhew) [2064216] - nfsd: back channel stuck in SEQ4_STATUS_CB_PATH_DOWN (Scott Mayhew) [2064216] - NLM: Fix svcxdr_encode_owner() (Scott Mayhew) [2064216] - SUNRPC: improve error response to over-size gss credential (Scott Mayhew) [2064216] - NFS: Always provide aligned buffers to the RPC read layers (Scott Mayhew) [2064216] - NFSv3: Delete duplicate judgement in nfs3_async_handle_jukebox (Scott Mayhew) [2064216] - SUNRPC: Tweak TCP socket shutdown in the RPC client (Scott Mayhew) [2064216] - svcrdma: xpt_bc_xprt is already clear in __svc_rdma_free() (Scott Mayhew) [2064216] - rpc: fix gss_svc_init cleanup on failure (Scott Mayhew) [2064216] - SUNRPC: Add RPC_AUTH_TLS protocol numbers (Scott Mayhew) [2064216] - NFSD: remove vanity comments (Scott Mayhew) [2064216] - svcrdma: Convert rdma->sc_rw_ctxts to llist (Scott Mayhew) [2064216] - svcrdma: Relieve contention on sc_send_lock. (Scott Mayhew) [2064216] - svcrdma: Fewer calls to wake_up() in Send completion handler (Scott Mayhew) [2064216] - NFSD: Use new __string_len C macros for nfsd_clid_class (Scott Mayhew) [2064216] - NFSD: Use new __string_len C macros for the nfs_dirent tracepoint (Scott Mayhew) [2064216] - tracing: Add trace_event helper macros __string_len() and __assign_str_len() (Scott Mayhew) [2064216] - NFSD: Clean up splice actor (Scott Mayhew) [2064216] - NFS: Clean up the synopsis of callback process_op() (Scott Mayhew) [2064216] - NFS: Extract the xdr_init_encode/decode() calls from decode_compound (Scott Mayhew) [2064216] - NFS: Remove unused callback void decoder (Scott Mayhew) [2064216] - NFS: Add a private local dispatcher for NFSv4 callback operations (Scott Mayhew) [2064216] - SUNRPC: Eliminate the RQ_AUTHERR flag (Scott Mayhew) [2064216] - SUNRPC: Set rq_auth_stat in the pg_authenticate() callout (Scott Mayhew) [2064216] - SUNRPC: Add svc_rqst::rq_auth_stat (Scott Mayhew) [2064216] - NFSv4/pNFS: Remove dead code (Scott Mayhew) [2064216] - SUNRPC: Convert rpc_client refcount to use refcount_t (Scott Mayhew) [2064216] - xprtrdma: Eliminate rpcrdma_post_sends() (Scott Mayhew) [2064216] - xprtrdma: Add an xprtrdma_post_send_err tracepoint (Scott Mayhew) [2064216] - xprtrdma: Add xprtrdma_post_recvs_err() tracepoint (Scott Mayhew) [2064216] - xprtrdma: Add an rpcrdma_mr_completion_class (Scott Mayhew) [2064216] - xprtrdma: Don't display r_xprt memory addresses in tracepoints (Scott Mayhew) [2064216] - xprtrdma: Disconnect after an ib_post_send() immediate error (Scott Mayhew) [2064216] - SUNRPC: Record timeout value in xprt_retransmit tracepoint (Scott Mayhew) [2064216] - SUNRPC: xprt_retransmit() displays the the NULL procedure incorrectly (Scott Mayhew) [2064216] - treewide: Add missing semicolons to __assign_str uses (Scott Mayhew) [2064216] - SUNRPC: Remove unneeded TRACE_DEFINE_ENUMs (Scott Mayhew) [2064216] - SUNRPC: Unset RPC_TASK_NO_RETRANS_TIMEOUT for NULL RPCs (Scott Mayhew) [2064216] - SUNRPC: Refactor rpc_ping() (Scott Mayhew) [2064216] - nfsd: fix NULL dereference in nfs3svc_encode_getaclres (Scott Mayhew) [2064216] - lockd: Update the NLMv4 SHARE results encoder to use struct xdr_stream (Scott Mayhew) [2064216] - lockd: Update the NLMv4 nlm_res results encoder to use struct xdr_stream (Scott Mayhew) [2064216] - lockd: Update the NLMv4 TEST results encoder to use struct xdr_stream (Scott Mayhew) [2064216] - lockd: Update the NLMv4 void results encoder to use struct xdr_stream (Scott Mayhew) [2064216] - lockd: Update the NLMv4 FREE_ALL arguments decoder to use struct xdr_stream (Scott Mayhew) [2064216] - lockd: Update the NLMv4 SHARE arguments decoder to use struct xdr_stream (Scott Mayhew) [2064216] - lockd: Update the NLMv4 SM_NOTIFY arguments decoder to use struct xdr_stream (Scott Mayhew) [2064216] - lockd: Update the NLMv4 nlm_res arguments decoder to use struct xdr_stream (Scott Mayhew) [2064216] - lockd: Update the NLMv4 UNLOCK arguments decoder to use struct xdr_stream (Scott Mayhew) [2064216] - lockd: Update the NLMv4 CANCEL arguments decoder to use struct xdr_stream (Scott Mayhew) [2064216] - lockd: Update the NLMv4 LOCK arguments decoder to use struct xdr_stream (Scott Mayhew) [2064216] - lockd: Update the NLMv4 TEST arguments decoder to use struct xdr_stream (Scott Mayhew) [2064216] - lockd: Update the NLMv4 void arguments decoder to use struct xdr_stream (Scott Mayhew) [2064216] - lockd: Update the NLMv1 SHARE results encoder to use struct xdr_stream (Scott Mayhew) [2064216] - lockd: Update the NLMv1 nlm_res results encoder to use struct xdr_stream (Scott Mayhew) [2064216] - lockd: Update the NLMv1 TEST results encoder to use struct xdr_stream (Scott Mayhew) [2064216] - lockd: Update the NLMv1 void results encoder to use struct xdr_stream (Scott Mayhew) [2064216] - lockd: Update the NLMv1 FREE_ALL arguments decoder to use struct xdr_stream (Scott Mayhew) [2064216] - lockd: Update the NLMv1 SHARE arguments decoder to use struct xdr_stream (Scott Mayhew) [2064216] - lockd: Update the NLMv1 SM_NOTIFY arguments decoder to use struct xdr_stream (Scott Mayhew) [2064216] - lockd: Update the NLMv1 nlm_res arguments decoder to use struct xdr_stream (Scott Mayhew) [2064216] - lockd: Update the NLMv1 UNLOCK arguments decoder to use struct xdr_stream (Scott Mayhew) [2064216] - lockd: Update the NLMv1 CANCEL arguments decoder to use struct xdr_stream (Scott Mayhew) [2064216] - lockd: Update the NLMv1 LOCK arguments decoder to use struct xdr_stream (Scott Mayhew) [2064216] - lockd: Update the NLMv1 TEST arguments decoder to use struct xdr_stream (Scott Mayhew) [2064216] - lockd: Update the NLMv1 void argument decoder to use struct xdr_stream (Scott Mayhew) [2064216] - lockd: Common NLM XDR helpers (Scott Mayhew) [2064216] - lockd: Create a simplified .vs_dispatch method for NLM requests (Scott Mayhew) [2064216] - lockd: Remove stale comments (Scott Mayhew) [2064216] - nfsd: rpc_peeraddr2str needs rcu lock (Scott Mayhew) [2064216] - rpc: remove redundant initialization of variable status (Scott Mayhew) [2064216] - NFSv4: setlease should return EAGAIN if locks are not available (Scott Mayhew) [2064216] - NFS: Avoid duplicate resets of attribute cache timeouts (Scott Mayhew) [2064216] - NFSv4: Fix handling of non-atomic change attrbute updates (Scott Mayhew) [2064216] - NFS: Fix up inode attribute revalidation timeouts (Scott Mayhew) [2064216] - NFSv4: Add support for application leases underpinned by a delegation (Scott Mayhew) [2064216] - NFSv4: Add lease breakpoints in case of a delegation recall or return (Scott Mayhew) [2064216] - NFSv4: Fix delegation return in cases where we have to retry (Scott Mayhew) [2064216] - nfsd: move some commit_metadata()s outside the inode lock (Scott Mayhew) [2064216] - NFSD: Update nfsd_cb_args tracepoint (Scott Mayhew) [2064216] - NFSD: Remove the nfsd_cb_work and nfsd_cb_done tracepoints (Scott Mayhew) [2064216] - NFSD: Add an nfsd_cb_probe tracepoint (Scott Mayhew) [2064216] - NFSD: Replace the nfsd_deleg_break tracepoint (Scott Mayhew) [2064216] - NFSD: Add an nfsd_cb_offload tracepoint (Scott Mayhew) [2064216] - NFSD: Add an nfsd_cb_lm_notify tracepoint (Scott Mayhew) [2064216] - NFSD: Enhance the nfsd_cb_setup tracepoint (Scott Mayhew) [2064216] - NFSD: Remove spurious cb_setup_err tracepoint (Scott Mayhew) [2064216] - NFSD: Adjust cb_shutdown tracepoint (Scott Mayhew) [2064216] - NFSD: Add cb_lost tracepoint (Scott Mayhew) [2064216] - NFSD: Drop TRACE_DEFINE_ENUM for NFSD4_CB_ macros (Scott Mayhew) [2064216] - NFSD: Capture every CB state transition (Scott Mayhew) [2064216] - NFSD: Constify @fh argument of knfsd_fh_hash() (Scott Mayhew) [2064216] - NFSD: Add tracepoints for EXCHANGEID edge cases (Scott Mayhew) [2064216] - NFSD: Add tracepoints for SETCLIENTID edge cases (Scott Mayhew) [2064216] - NFSD: Add a couple more nfsd_clid_expired call sites (Scott Mayhew) [2064216] - NFSD: Add nfsd_clid_destroyed tracepoint (Scott Mayhew) [2064216] - NFSD: Add nfsd_clid_reclaim_complete tracepoint (Scott Mayhew) [2064216] - NFSD: Add nfsd_clid_confirmed tracepoint (Scott Mayhew) [2064216] - NFSD: Remove trace_nfsd_clid_inuse_err (Scott Mayhew) [2064216] - NFSD: Add nfsd_clid_verf_mismatch tracepoint (Scott Mayhew) [2064216] - NFSD: Add nfsd_clid_cred_mismatch tracepoint (Scott Mayhew) [2064216] - NFSD: Add an RPC authflavor tracepoint display helper (Scott Mayhew) [2064216] - NFS: Ensure the NFS_CAP_SECURITY_LABEL capability is set when appropriate (Scott Mayhew) [2064216] - NFS: Split attribute support out from the server capabilities (Scott Mayhew) [2064216] - NFS: Don't store NFS_INO_REVAL_FORCED (Scott Mayhew) [2064216] - NFSv4: link must update the inode nlink. (Scott Mayhew) [2064216] - NFSv4: nfs4_inc/dec_nlink_locked should also invalidate ctime (Scott Mayhew) [2064216] - NFS: Another inode revalidation improvement (Scott Mayhew) [2064216] - NFS: Use information about the change attribute to optimise updates (Scott Mayhew) [2064216] - NFSv4: Add support for the NFSv4.2 "change_attr_type" attribute (Scott Mayhew) [2064216] - NFS: Simplify cache consistency in nfs_check_inode_attributes() (Scott Mayhew) [2064216] - NFS: Remove a line of code that has no effect in nfs_update_inode() (Scott Mayhew) [2064216] - NFS: Fix up handling of outstanding layoutcommit in nfs_update_inode() (Scott Mayhew) [2064216] - NFS: Separate tracking of file mode cache validity from the uid/gid (Scott Mayhew) [2064216] - NFS: Separate tracking of file nlinks cache validity from the mode/uid/gid (Scott Mayhew) [2064216] - NFSv4: Fix nfs4_bitmap_copy_adjust() (Scott Mayhew) [2064216] - NFS: Don't set NFS_INO_REVAL_PAGECACHE in the inode cache validity (Scott Mayhew) [2064216] - NFS: Replace use of NFS_INO_REVAL_PAGECACHE when checking cache validity (Scott Mayhew) [2064216] - NFS: Add a cache validity flag argument to nfs_revalidate_inode() (Scott Mayhew) [2064216] - NFS: nfs_setattr_update_inode() should clear the suid/sgid bits (Scott Mayhew) [2064216] - NFS: Fix up statx() results (Scott Mayhew) [2064216] - NFS: Don't revalidate attributes that are not being asked for (Scott Mayhew) [2064216] - NFSD: Clean up after updating NFSv3 ACL encoders (Scott Mayhew) [2064216] - NFSD: Update the NFSv3 SETACL result encoder to use struct xdr_stream (Scott Mayhew) [2064216] - NFSD: Update the NFSv3 GETACL result encoder to use struct xdr_stream (Scott Mayhew) [2064216] - NFSD: Clean up after updating NFSv2 ACL encoders (Scott Mayhew) [2064216] - NFSD: Update the NFSv2 ACL ACCESS result encoder to use struct xdr_stream (Scott Mayhew) [2064216] - NFSD: Update the NFSv2 ACL GETATTR result encoder to use struct xdr_stream (Scott Mayhew) [2064216] - NFSD: Update the NFSv2 SETACL result encoder to use struct xdr_stream (Scott Mayhew) [2064216] - NFSD: Update the NFSv2 GETACL result encoder to use struct xdr_stream (Scott Mayhew) [2064216] - NFSD: Add an xdr_stream-based encoder for NFSv2/3 ACLs (Scott Mayhew) [2064216] - NFSD: Remove unused NFSv2 directory entry encoders (Scott Mayhew) [2064216] - NFSD: Update the NFSv2 READDIR entry encoder to use struct xdr_stream (Scott Mayhew) [2064216] - NFSD: Update the NFSv2 READDIR result encoder to use struct xdr_stream (Scott Mayhew) [2064216] - NFSD: Count bytes instead of pages in the NFSv2 READDIR encoder (Scott Mayhew) [2064216] - NFSD: Add a helper that encodes NFSv3 directory offset cookies (Scott Mayhew) [2064216] - NFSD: Update the NFSv2 STATFS result encoder to use struct xdr_stream (Scott Mayhew) [2064216] - NFSD: Update the NFSv2 READ result encoder to use struct xdr_stream (Scott Mayhew) [2064216] - NFSD: Update the NFSv2 READLINK result encoder to use struct xdr_stream (Scott Mayhew) [2064216] - NFSD: Update the NFSv2 diropres encoder to use struct xdr_stream (Scott Mayhew) [2064216] - NFSD: Update the NFSv2 attrstat encoder to use struct xdr_stream (Scott Mayhew) [2064216] - NFSD: Update the NFSv2 stat encoder to use struct xdr_stream (Scott Mayhew) [2064216] - NFSD: Reduce svc_rqst::rq_pages churn during READDIR operations (Scott Mayhew) [2064216] - NFSD: Remove unused NFSv3 directory entry encoders (Scott Mayhew) [2064216] - NFSD: Update NFSv3 READDIR entry encoders to use struct xdr_stream (Scott Mayhew) [2064216] - NFSD: Update the NFSv3 READDIR3res encoder to use struct xdr_stream (Scott Mayhew) [2064216] - NFSD: Count bytes instead of pages in the NFSv3 READDIR encoder (Scott Mayhew) [2064216] - NFSD: Add a helper that encodes NFSv3 directory offset cookies (Scott Mayhew) [2064216] - NFSD: Update the NFSv3 COMMIT3res encoder to use struct xdr_stream (Scott Mayhew) [2064216] - NFSD: Update the NFSv3 PATHCONF3res encoder to use struct xdr_stream (Scott Mayhew) [2064216] - NFSD: Update the NFSv3 FSINFO3res encoder to use struct xdr_stream (Scott Mayhew) [2064216] - NFSD: Update the NFSv3 FSSTAT3res encoder to use struct xdr_stream (Scott Mayhew) [2064216] - NFSD: Update the NFSv3 LINK3res encoder to use struct xdr_stream (Scott Mayhew) [2064216] - NFSD: Update the NFSv3 RENAMEv3res encoder to use struct xdr_stream (Scott Mayhew) [2064216] - NFSD: Update the NFSv3 CREATE family of encoders to use struct xdr_stream (Scott Mayhew) [2064216] - NFSD: Update the NFSv3 WRITE3res encoder to use struct xdr_stream (Scott Mayhew) [2064216] - NFSD: Update the NFSv3 READ3res encode to use struct xdr_stream (Scott Mayhew) [2064216] - NFSD: Update the NFSv3 READLINK3res encoder to use struct xdr_stream (Scott Mayhew) [2064216] - NFSD: Update the NFSv3 wccstat result encoder to use struct xdr_stream (Scott Mayhew) [2064216] - NFSD: Update the NFSv3 LOOKUP3res encoder to use struct xdr_stream (Scott Mayhew) [2064216] - NFSD: Update the NFSv3 ACCESS3res encoder to use struct xdr_stream (Scott Mayhew) [2064216] - NFSD: Update the GETATTR3res encoder to use struct xdr_stream (Scott Mayhew) [2064216] - NFSD: Extract the svcxdr_init_encode() helper (Scott Mayhew) [2064216] - NFSD: Clean up after updating NFSv3 ACL decoders (Scott Mayhew) [2064216] - NFSD: Update the NFSv2 SETACL argument decoder to use struct xdr_stream (Scott Mayhew) [2064216] - NFSD: Update the NFSv3 GETACL argument decoder to use struct xdr_stream (Scott Mayhew) [2064216] - NFSD: Clean up after updating NFSv2 ACL decoders (Scott Mayhew) [2064216] - NFSD: Update the NFSv2 ACL ACCESS argument decoder to use struct xdr_stream (Scott Mayhew) [2064216] - NFSD: Update the NFSv2 ACL GETATTR argument decoder to use struct xdr_stream (Scott Mayhew) [2064216] - NFSD: Update the NFSv2 SETACL argument decoder to use struct xdr_stream (Scott Mayhew) [2064216] - NFSD: Add an xdr_stream-based decoder for NFSv2/3 ACLs (Scott Mayhew) [2064216] - NFSD: Update the NFSv2 GETACL argument decoder to use struct xdr_stream (Scott Mayhew) [2064216] - NFSD: Remove argument length checking in nfsd_dispatch() (Scott Mayhew) [2064216] - NFSD: Update the NFSv2 SYMLINK argument decoder to use struct xdr_stream (Scott Mayhew) [2064216] - NFSD: Update the NFSv2 CREATE argument decoder to use struct xdr_stream (Scott Mayhew) [2064216] - NFSD: Update the NFSv2 SETATTR argument decoder to use struct xdr_stream (Scott Mayhew) [2064216] - NFSD: Update the NFSv2 LINK argument decoder to use struct xdr_stream (Scott Mayhew) [2064216] - NFSD: Update the NFSv2 RENAME argument decoder to use struct xdr_stream (Scott Mayhew) [2064216] - NFSD: Update NFSv2 diropargs decoding to use struct xdr_stream (Scott Mayhew) [2064216] - NFSD: Update the NFSv2 READDIR argument decoder to use struct xdr_stream (Scott Mayhew) [2064216] - NFSD: Add helper to set up the pages where the dirlist is encoded (Scott Mayhew) [2064216] - NFSD: Update the NFSv2 READLINK argument decoder to use struct xdr_stream (Scott Mayhew) [2064216] - NFSD: Update the NFSv2 WRITE argument decoder to use struct xdr_stream (Scott Mayhew) [2064216] - NFSD: Update the NFSv2 READ argument decoder to use struct xdr_stream (Scott Mayhew) [2064216] - NFSD: Update the NFSv2 GETATTR argument decoder to use struct xdr_stream (Scott Mayhew) [2064216] - NFSD: Update the MKNOD3args decoder to use struct xdr_stream (Scott Mayhew) [2064216] - NFSD: Update the SYMLINK3args decoder to use struct xdr_stream (Scott Mayhew) [2064216] - NFSD: Update the MKDIR3args decoder to use struct xdr_stream (Scott Mayhew) [2064216] - NFSD: Update the CREATE3args decoder to use struct xdr_stream (Scott Mayhew) [2064216] - NFSD: Update the SETATTR3args decoder to use struct xdr_stream (Scott Mayhew) [2064216] - NFSD: Update the LINK3args decoder to use struct xdr_stream (Scott Mayhew) [2064216] - NFSD: Update the RENAME3args decoder to use struct xdr_stream (Scott Mayhew) [2064216] - NFSD: Update the NFSv3 DIROPargs decoder to use struct xdr_stream (Scott Mayhew) [2064216] - NFSD: Update COMMIT3arg decoder to use struct xdr_stream (Scott Mayhew) [2064216] - NFSD: Update READDIR3args decoders to use struct xdr_stream (Scott Mayhew) [2064216] - NFSD: Add helper to set up the pages where the dirlist is encoded (Scott Mayhew) [2064216] - NFSD: Fix returned READDIR offset cookie (Scott Mayhew) [2064216] - NFSD: Update READLINK3arg decoder to use struct xdr_stream (Scott Mayhew) [2064216] - NFSD: Update WRITE3arg decoder to use struct xdr_stream (Scott Mayhew) [2064216] - NFSD: Update READ3arg decoder to use struct xdr_stream (Scott Mayhew) [2064216] - NFSD: Update ACCESS3arg decoder to use struct xdr_stream (Scott Mayhew) [2064216] - NFSD: Update GETATTR3args decoder to use struct xdr_stream (Scott Mayhew) [2064216] - SUNRPC: Move definition of XDR_UNIT (Scott Mayhew) [2064216] - rpcrdma: Capture bytes received in Receive completion tracepoints (Scott Mayhew) [2064216] - NFSD: Restore NFSv4 decoding's SAVEMEM functionality (Scott Mayhew) [2064216] - NFSD: Remove macros that are no longer used (Scott Mayhew) [2064216] - NFSD: Replace READ* macros in nfsd4_decode_compound() (Scott Mayhew) [2064216] - NFSD: Make nfsd4_ops::opnum a u32 (Scott Mayhew) [2064216] - NFSD: Replace READ* macros in nfsd4_decode_listxattrs() (Scott Mayhew) [2064216] - NFSD: Replace READ* macros in nfsd4_decode_setxattr() (Scott Mayhew) [2064216] - NFSD: Replace READ* macros in nfsd4_decode_xattr_name() (Scott Mayhew) [2064216] - NFSD: Replace READ* macros in nfsd4_decode_clone() (Scott Mayhew) [2064216] - NFSD: Replace READ* macros in nfsd4_decode_seek() (Scott Mayhew) [2064216] - NFSD: Replace READ* macros in nfsd4_decode_offload_status() (Scott Mayhew) [2064216] - NFSD: Replace READ* macros in nfsd4_decode_copy() (Scott Mayhew) [2064216] - NFSD: Replace READ* macros in nfsd4_decode_fallocate() (Scott Mayhew) [2064216] - NFSD: Replace READ* macros in nfsd4_decode_reclaim_complete() (Scott Mayhew) [2064216] - NFSD: Replace READ* macros in nfsd4_decode_destroy_clientid() (Scott Mayhew) [2064216] - NFSD: Replace READ* macros in nfsd4_decode_test_stateid() (Scott Mayhew) [2064216] - NFSD: Replace READ* macros in nfsd4_decode_sequence() (Scott Mayhew) [2064216] - NFSD: Replace READ* macros in nfsd4_decode_secinfo_no_name() (Scott Mayhew) [2064216] - NFSD: Replace READ* macros in nfsd4_decode_layoutreturn() (Scott Mayhew) [2064216] - NFSD: Replace READ* macros in nfsd4_decode_layoutget() (Scott Mayhew) [2064216] - NFSD: Replace READ* macros in nfsd4_decode_layoutcommit() (Scott Mayhew) [2064216] - NFSD: Replace READ* macros in nfsd4_decode_getdeviceinfo() (Scott Mayhew) [2064216] - NFSD: Replace READ* macros in nfsd4_decode_free_stateid() (Scott Mayhew) [2064216] - NFSD: Replace READ* macros in nfsd4_decode_destroy_session() (Scott Mayhew) [2064216] - NFSD: Replace READ* macros in nfsd4_decode_create_session() (Scott Mayhew) [2064216] - NFSD: Add a helper to decode channel_attrs4 (Scott Mayhew) [2064216] - NFSD: Add a helper to decode nfs_impl_id4 (Scott Mayhew) [2064216] - NFSD: Add a helper to decode state_protect4_a (Scott Mayhew) [2064216] - NFSD: Add a separate decoder for ssv_sp_parms (Scott Mayhew) [2064216] - NFSD: Add a separate decoder to handle state_protect_ops (Scott Mayhew) [2064216] - NFSD: Replace READ* macros in nfsd4_decode_bind_conn_to_session() (Scott Mayhew) [2064216] - NFSD: Replace READ* macros in nfsd4_decode_backchannel_ctl() (Scott Mayhew) [2064216] - NFSD: Replace READ* macros in nfsd4_decode_cb_sec() (Scott Mayhew) [2064216] - NFSD: Replace READ* macros in nfsd4_decode_release_lockowner() (Scott Mayhew) [2064216] - NFSD: Replace READ* macros in nfsd4_decode_write() (Scott Mayhew) [2064216] - NFSD: Replace READ* macros in nfsd4_decode_verify() (Scott Mayhew) [2064216] - NFSD: Replace READ* macros in nfsd4_decode_setclientid_confirm() (Scott Mayhew) [2064216] - NFSD: Replace READ* macros in nfsd4_decode_setclientid() (Scott Mayhew) [2064216] - NFSD: Replace READ* macros in nfsd4_decode_setattr() (Scott Mayhew) [2064216] - NFSD: Replace READ* macros in nfsd4_decode_secinfo() (Scott Mayhew) [2064216] - NFSD: Replace READ* macros in nfsd4_decode_renew() (Scott Mayhew) [2064216] - NFSD: Replace READ* macros in nfsd4_decode_rename() (Scott Mayhew) [2064216] - NFSD: Replace READ* macros in nfsd4_decode_remove() (Scott Mayhew) [2064216] - NFSD: Replace READ* macros in nfsd4_decode_readdir() (Scott Mayhew) [2064216] - NFSD: Replace READ* macros in nfsd4_decode_read() (Scott Mayhew) [2064216] - NFSD: Replace READ* macros in nfsd4_decode_putfh() (Scott Mayhew) [2064216] - NFSD: Replace READ* macros in nfsd4_decode_open_downgrade() (Scott Mayhew) [2064216] - NFSD: Replace READ* macros in nfsd4_decode_open_confirm() (Scott Mayhew) [2064216] - NFSD: Replace READ* macros in nfsd4_decode_open() (Scott Mayhew) [2064216] - NFSD: Add helper to decode OPEN's open_claim4 argument (Scott Mayhew) [2064216] - NFSD: Replace READ* macros in nfsd4_decode_share_deny() (Scott Mayhew) [2064216] - NFSD: Replace READ* macros in nfsd4_decode_share_access() (Scott Mayhew) [2064216] - NFSD: Add helper to decode OPEN's openflag4 argument (Scott Mayhew) [2064216] - NFSD: Add helper to decode OPEN's createhow4 argument (Scott Mayhew) [2064216] - NFSD: Add helper to decode NFSv4 verifiers (Scott Mayhew) [2064216] - NFSD: Replace READ* macros in nfsd4_decode_lookup() (Scott Mayhew) [2064216] - NFSD: Replace READ* macros in nfsd4_decode_locku() (Scott Mayhew) [2064216] - NFSD: Replace READ* macros in nfsd4_decode_lockt() (Scott Mayhew) [2064216] - NFSD: Replace READ* macros in nfsd4_decode_lock() (Scott Mayhew) [2064216] - NFSD: Add helper for decoding locker4 (Scott Mayhew) [2064216] - NFSD: Add helpers to decode a clientid4 and an NFSv4 state owner (Scott Mayhew) [2064216] - NFSD: Relocate nfsd4_decode_opaque() (Scott Mayhew) [2064216] - NFSD: Replace READ* macros in nfsd4_decode_link() (Scott Mayhew) [2064216] - NFSD: Replace READ* macros in nfsd4_decode_getattr() (Scott Mayhew) [2064216] - NFSD: Replace READ* macros in nfsd4_decode_delegreturn() (Scott Mayhew) [2064216] - NFSD: Replace READ* macros in nfsd4_decode_create() (Scott Mayhew) [2064216] - NFSD: Replace READ* macros in nfsd4_decode_fattr() (Scott Mayhew) [2064216] - NFSD: Replace READ* macros that decode the fattr4 umask attribute (Scott Mayhew) [2064216] - NFSD: Replace READ* macros that decode the fattr4 security label attribute (Scott Mayhew) [2064216] - NFSD: Replace READ* macros that decode the fattr4 time_set attributes (Scott Mayhew) [2064216] - NFSD: Replace READ* macros that decode the fattr4 owner_group attribute (Scott Mayhew) [2064216] - NFSD: Replace READ* macros that decode the fattr4 owner attribute (Scott Mayhew) [2064216] - NFSD: Replace READ* macros that decode the fattr4 mode attribute (Scott Mayhew) [2064216] - NFSD: Replace READ* macros that decode the fattr4 acl attribute (Scott Mayhew) [2064216] - NFSD: Replace READ* macros that decode the fattr4 size attribute (Scott Mayhew) [2064216] - NFSD: Change the way the expected length of a fattr4 is checked (Scott Mayhew) [2064216] - NFSD: Replace READ* macros in nfsd4_decode_commit() (Scott Mayhew) [2064216] - NFSD: Replace READ* macros in nfsd4_decode_close() (Scott Mayhew) [2064216] - NFSD: Replace READ* macros in nfsd4_decode_access() (Scott Mayhew) [2064216] - NFSD: Replace the internals of the READ_BUF() macro (Scott Mayhew) [2064216] - nfsd/nfs3: remove unused macro nfsd3_fhandleres (Scott Mayhew) [2064216] - vt: vt_ioctl: fix race in VT_RESIZEX (Čestmír Kalina) [2068338] - net/mlx5: Bridge, Fix devlink deadlock on net namespace deletion (Amir Tzin) [2055580] - openvswitch: Fix setting ipv6 fields causing hw csum failure (Eelco Chaudron) [1974356]- Fix up versioning for maintainer builds (Jarod Wilson) - powerpc/iommu: Enable remaining IOMMU Pagesizes present in LoPAR (Gustavo Walbon) [1987109] - sizes.h: add SZ_8G/SZ_16G/SZ_32G macros (Gustavo Walbon) [1987109] - x86/cpu: Add Xeon Icelake-D to list of CPUs that support PPIN (Puneet Sethi) [2040336] - dm integrity: fix memory corruption when tag_size is less than digest size (Benjamin Marzinski) [2081775] - sctp: check asoc strreset_chunk in sctp_generate_reconf_event (Xin Long) [2079980] - sctp: Initialize daddr on peeled off socket (Xin Long) [2079980] - sctp: fix kernel-infoleak for SCTP sockets (Xin Long) [2079980] - sctp: do not update transport pathmtu if SPP_PMTUD_ENABLE is not set (Xin Long) [2079980] - dm crypt: fix copy and paste bug in crypt_alloc_req_aead (Benjamin Marzinski) [2073431] - dm crypt: defer decryption to a tasklet if interrupts disabled (Benjamin Marzinski) [2073431] - dm crypt: do not call bio_endio() from the dm-crypt tasklet (Benjamin Marzinski) [2073431] - dm crypt: use GFP_ATOMIC when allocating crypto requests from softirq (Benjamin Marzinski) [2073431] - dm crypt: do not wait for backlogged crypto request completion in softirq (Benjamin Marzinski) [2073431] - dm crypt: document new no_workqueue flags (Benjamin Marzinski) [2073431] - dm crypt: add flags to optionally bypass kcryptd workqueues (Benjamin Marzinski) [2073431] - tracing/osnoise: Force quiescent states while tracing (Jerome Marchand) [2069710] - tracing/osnoise: Do not unregister events twice (Jerome Marchand) [2069710] - tracing/osnoise: Make osnoise_main to sleep for microseconds (Jerome Marchand) [2069710] - tracing/osnoise: Properly unhook events if start_per_cpu_kthreads() fails (Jerome Marchand) [2069710] - tracing/osnoise: Make osnoise_instances static (Jerome Marchand) [2069710] - tracing/osnoise: Remove PREEMPT_RT ifdefs from inside functions (Jerome Marchand) [2069710] - tracing/osnoise: Remove STACKTRACE ifdefs from inside functions (Jerome Marchand) [2069710] - tracing/osnoise: Allow multiple instances of the same tracer (Jerome Marchand) [2069710] - tracing/osnoise: Remove TIMERLAT ifdefs from inside functions (Jerome Marchand) [2069710] - tracing/osnoise: Support a list of trace_array *tr (Jerome Marchand) [2069710] - tracing/osnoise: Use start/stop_per_cpu_kthreads() on osnoise_cpus_write() (Jerome Marchand) [2069710] - tracing/osnoise: Split workload start from the tracer start (Jerome Marchand) [2069710] - tracing/osnoise: Improve comments about barrier need for NMI callbacks (Jerome Marchand) [2069710] - tracing/osnoise: Do not follow tracing_cpumask (Jerome Marchand) [2069710] - trace/timerlat: Add migrate-disabled field to the timerlat header (Jerome Marchand) [2069710] - trace/osnoise: Add migrate-disabled field to the osnoise header (Jerome Marchand) [2069710] - tracing/doc: Fix typos on the timerlat tracer documentation (Jerome Marchand) [2069710] - trace/osnoise: Fix an ifdef comment (Jerome Marchand) [2069710] - redhat: indicate HEAD state in tarball/rpm name (Jarod Wilson) - selftest: net: Test IPv4 PMTU exceptions with DSCP and ECN (Guillaume Nault) [2081453] - ipv4: Fix route lookups when handling ICMP redirects and PMTU updates (Guillaume Nault) [2081453] - ipv4: tcp: send zero IPID in SYNACK messages (Guillaume Nault) [2081453] - ipv4: raw: lock the socket in raw_bind() (Guillaume Nault) [2081453] - net/af_packet: add VLAN support for AF_PACKET SOCK_RAW GSO (Hangbin Liu) [2066976] - net/packet: fix packet_sock xmit return value checking (Hangbin Liu) [2066976] - doc/ip-sysctl: add bc_forwarding (Xin Long) [2080486] - net/packet: fix packet_sock xmit return value checking (Xin Long) [2080486] - net: handle ARPHRD_PIMREG in dev_is_mac_header_xmit() (Xin Long) [2080486] - net/packet: fix slab-out-of-bounds access in packet_recvmsg() (Xin Long) [2080486] - veth: fix races around rq->rx_notify_masked (Xin Long) [2080486] - af_packet: fix data-race in packet_setsockopt / packet_setsockopt (Xin Long) [2080486] - ipv4: remove sparse error in ip_neigh_gw4() (Xin Long) [2080486] - af_unix: annote lockless accesses to unix_tot_inflight & gc_in_progress (Xin Long) [2080486] - veth: Do not record rx queue hint in veth_xmit (Xin Long) [2080486] - veth: ensure skb entering GRO are not cloned. (Xin Long) [2080486] - ethtool: Fix link extended state for big endian (Xin Long) [2080486] - ethtool: do not perform operations on net devices being unregistered (Xin Long) [2080486] - ethtool: Add transceiver module extended state (Xin Long) [2080486] - ethtool: runtime-resume netdev parent in ethnl_ops_begin (Xin Long) [2080486] - ethtool: move netif_device_present check from ethnl_parse_header_dev_get to ethnl_ops_begin (Xin Long) [2080486] - ethtool: move implementation of ethnl_ops_begin/complete to netlink.c (Xin Long) [2080486] - net: validate lwtstate->data before returning from skb_tunnel_info() (Xin Long) [2080486]- bnx2x: fix napi API usage sequence (Manish Chopra) [2080659] - netfilter: fix use-after-free in __nf_register_net_hook() (Florian Westphal) [2080272] - netfilter: nf_tables: unregister flowtable hooks on netns exit (Florian Westphal) [2080272] - netfilter: nftables: add helper function to release hooks of one single table (Florian Westphal) [2080272] - netfilter: nft_socket: only do sk lookups when indev is available (Florian Westphal) [2080272] - netfilter: nf_conntrack_tcp: re-init for syn packets only (Florian Westphal) [2080272] - netfilter: nft_set_rbtree: overlap detection with element re-addition after deletion (Florian Westphal) [2080272] - netfilter: nf_tables: fix memory leak during stateful obj update (Florian Westphal) [2080272] - netfilter: nf_conntrack_tcp: preserve liberal flag in tcp options (Florian Westphal) [2080272] - netfilter: ctnetlink: disable helper autoassign (Florian Westphal) [2080272] - netfilter: nft_payload: don't allow th access for fragments (Florian Westphal) [2080272] - netfilter: nft_payload: simplify vlan header handling (Florian Westphal) [2080272] - RDMA/rxe: Change mcg_lock to a _bh lock (Kamal Heib) [2056500] - RDMA/rxe: Do not call dev_mc_add/del() under a spinlock (Kamal Heib) [2056500] - RDMA/rxe: Recheck the MR in when generating a READ reply (Kamal Heib) [2056500] - RDMA/rxe: Fix "Replace mr by rkey in responder resources" (Kamal Heib) [2056500] - RDMA/siw: Fix a condition race issue in MPA request processing (Kamal Heib) [2056500] - RDMA/irdma: Fix possible crash due to NULL netdev in notifier (Kamal Heib) [2056500] - RDMA/irdma: Reduce iWARP QP destroy time (Kamal Heib) [2056500] - RDMA/irdma: Flush iWARP QP if modified to ERR from RTR state (Kamal Heib) [2056500] - RDMA/irdma: Fix deadlock in irdma_cleanup_cm_core() (Kamal Heib) [2056500] - RDMA/hfi1: Fix use-after-free bug for mm struct (Kamal Heib) [2056500] - IB/rdmavt: add lock to call to rvt_error_qp to prevent a race condition (Kamal Heib) [2056500] - IB/cm: Cancel mad on the DREQ event when the state is MRA_REP_RCVD (Kamal Heib) [2056500] - RDMA/nldev: Prevent underflow in nldev_stat_set_counter_dynamic_doit() (Kamal Heib) [2056500] - IB/iser: Fix error flow in case of registration failure (Kamal Heib) [2056500] - IB/iser: Generalize map/unmap dma tasks (Kamal Heib) [2056500] - IB/iser: Use iser_fr_desc as registration context (Kamal Heib) [2056500] - IB/iser: Remove iser_reg_data_sg helper function (Kamal Heib) [2056500] - RDMA/rxe: Use standard names for ref counting (Kamal Heib) [2056500] - RDMA/rxe: Replace red-black trees by xarrays (Kamal Heib) [2056500] - RDMA/rxe: Shorten pool names in rxe_pool.c (Kamal Heib) [2056500] - RDMA/rxe: Move max_elem into rxe_type_info (Kamal Heib) [2056500] - RDMA/rxe: Replace obj by elem in declaration (Kamal Heib) [2056500] - RDMA/rxe: Delete _locked() APIs for pool objects (Kamal Heib) [2056500] - RDMA/rxe: Reverse the sense of RXE_POOL_NO_ALLOC (Kamal Heib) [2056500] - RDMA/rxe: Replace mr by rkey in responder resources (Kamal Heib) [2056500] - RDMA/rxe: Fix ref error in rxe_av.c (Kamal Heib) [2056500] - RDMA/irdma: Add support for address handle re-use (Kamal Heib) [2056500] - Revert "RDMA/core: Fix ib_qp_usecnt_dec() called when error" (Kamal Heib) [2056500] - RDMA/rxe: Remove useless argument for update_state() (Kamal Heib) [2056500] - RDMA/rxe: Change variable and function argument to proper type (Kamal Heib) [2056500] - RDMA/irdma: Prevent some integer underflows (Kamal Heib) [2056500] - RDMA/core: Fix ib_qp_usecnt_dec() called when error (Kamal Heib) [2056500] - IB/hfi1: Allow larger MTU without AIP (Kamal Heib) [2056500] - RDMA/core: Remove unnecessary statements (Kamal Heib) [2056500] - RDMA/irdma: Remove incorrect masking of PD (Kamal Heib) [2056500] - RDMA/irdma: Fix Passthrough mode in VM (Kamal Heib) [2056500] - RDMA/irdma: Fix netdev notifications for vlan's (Kamal Heib) [2056500] - RDMA/irdma: Make irdma_create_mg_ctx return a void (Kamal Heib) [2056500] - RDMA/irdma: Move union irdma_sockaddr to header file (Kamal Heib) [2056500] - RDMA/irdma: Remove the unnecessary variable saddr (Kamal Heib) [2056500] - RDMA/irdma: Use net_type to check network type (Kamal Heib) [2056500] - RDMA/rxe: Cleanup rxe_mcast.c (Kamal Heib) [2056500] - RDMA/rxe: Collect cleanup mca code in a subroutine (Kamal Heib) [2056500] - RDMA/rxe: Collect mca init code in a subroutine (Kamal Heib) [2056500] - RDMA/rxe: Warn if mcast memory is not freed (Kamal Heib) [2056500] - RDMA/irdma: Remove excess error variables (Kamal Heib) [2056500] - RDMA/irdma: Propagate error codes (Kamal Heib) [2056500] - RDMA/irdma: Remove enum irdma_status_code (Kamal Heib) [2056500] - RDMA/ib_srp: Add more documentation (Kamal Heib) [2056500] - IB/cma: Allow XRC INI QPs to set their local ACK timeout (Kamal Heib) [2056500] - RDMA/rxe: Remove mcg from rxe pools (Kamal Heib) [2056500] - RDMA/rxe: Remove key'ed object support (Kamal Heib) [2056500] - RDMA/rxe: Replace pool key by rxe->mcg_tree (Kamal Heib) [2056500] - RDMA/rxe: Replace int num_qp by atomic_t qp_num (Kamal Heib) [2056500] - RDMA/rxe: Replace grp by mcg, mce by mca (Kamal Heib) [2056500] - RDMA/rxe: Use kzmalloc/kfree for mca (Kamal Heib) [2056500] - RDMA/rxe: Move mcg_lock to rxe (Kamal Heib) [2056500] - RDMA/hfi: Replace cpumask_weight with cpumask_empty where appropriate (Kamal Heib) [2056500] - RDMA/irdma: Refactor DCB bits in prep for DSCP support (Kamal Heib) [2056500] - RDMA/opa: Delete useless module.h include (Kamal Heib) [2056500] - RDMA/iser: Delete useless module.h include (Kamal Heib) [2056500] - RDMA/ipoib: Delete useless module.h include (Kamal Heib) [2056500] - RDMA/rxe: Delete useless module.h include (Kamal Heib) [2056500] - RDMA/usnic: Delete useless module.h include (Kamal Heib) [2056500] - RDMA/hfi1: Delete useless module.h include (Kamal Heib) [2056500] - RDMA/core: Delete useless module.h include (Kamal Heib) [2056500] - RDMA/core: Set MR type in ib_reg_user_mr (Kamal Heib) [2056500] - md: Set MD_BROKEN for RAID1 and RAID10 (Nigel Croxon) [2042729] - raid5: introduce MD_BROKEN (Nigel Croxon) [2042729] - RHEL only Changes to support block changes not picked up (Nigel Croxon) [2042729] - md: fix NULL pointer deref with nowait but no mddev->queue (Nigel Croxon) [2042729] - md: use default_groups in kobj_type (Nigel Croxon) [2042729] - md: Move alloc/free acct bioset in to personality (Nigel Croxon) [2042729] - md: fix spelling of "its" (Nigel Croxon) [2042729] - md: raid456 add nowait support (Nigel Croxon) [2042729] - md: raid10 add nowait support (Nigel Croxon) [2042729] - md: raid1 add nowait support (Nigel Croxon) [2042729] - md: add support for REQ_NOWAIT (Nigel Croxon) [2042729] - md/raid5: play nice with PREEMPT_RT (Nigel Croxon) [2042729] - md/raid1: fix missing bitmap update w/o WriteMostly devices (Nigel Croxon) [2042729] - md: fix double free of mddev->private in autorun_array() (Nigel Croxon) [2042729] - md: fix update super 1.0 on rdev size change (Nigel Croxon) [2042729] - raid5-ppl: use swap() to make code cleaner (Nigel Croxon) [2042729] - md/bitmap: don't set max_write_behind if there is no write mostly device (Nigel Croxon) [2042729] - md: update superblock after changing rdev flags in state_store (Nigel Croxon) [2042729] - md: remove unused argument from md_new_event (Nigel Croxon) [2042729] - md/raid5: call roundup_pow_of_two in raid5_run (Nigel Croxon) [2042729] - md/raid1: use rdev in raid1_write_request directly (Nigel Croxon) [2042729] - md/raid1: only allocate write behind bio for WriteMostly device (Nigel Croxon) [2042729] - md: properly unwind when failing to add the kobject in md_alloc (Nigel Croxon) [2042729] - md: extend disks_mutex coverage (Nigel Croxon) [2042729] - md: add the bitmap group to the default groups for the md kobject (Nigel Croxon) [2042729] - md: add error handling support for add_disk() (Nigel Croxon) [2042729] - md: fix a lock order reversal in md_alloc (Nigel Croxon) [2042729] - scsi: qedf: Stop using the SCSI pointer (Nilesh Javali) [2044843] - scsi: qedf: Change context reset messages to ratelimited (Nilesh Javali) [2044843] - scsi: qedf: Fix refcount issue when LOGO is received during TMF (Nilesh Javali) [2044843] - scsi: qedf: Add stag_work to all the vports (Nilesh Javali) [2044843] - scsi: qedf: Fix potential dereference of NULL pointer (Nilesh Javali) [2044843] - eth: fwnode: remove the addr len from mac helpers (Íñigo Huguet) [2069565] - eth: fwnode: change the return type of mac address helpers (Íñigo Huguet) [2069565] - device property: move mac addr helpers to eth.c (Íñigo Huguet) [2069565] - net: thunderx: Use fwnode_get_mac_address() (Íñigo Huguet) [2069565] - qede: confirm skb is allocated before using (Manish Chopra) [2040267] - qed: fix ethtool register dump (Manish Chopra) [2040267] - qed: remove unnecessary memset in qed_init_fw_funcs (Manish Chopra) [2040267] - qed: return status of qed_iov_get_link (Manish Chopra) [2040267] - net: qlogic: check the return value of dma_alloc_coherent() in qed_vf_hw_prepare() (Manish Chopra) [2040267] - qed: validate and restrict untrusted VFs vlan promisc mode (Manish Chopra) [2040267] - qed: display VF trust config (Manish Chopra) [2040267] - qed: prevent a fw assert during device shutdown (Manish Chopra) [2040267] - qed: use msleep() in qed_mcp_cmd() and add qed_mcp_cmd_nosleep() for udelay. (Manish Chopra) [2040267] - qed: Use dma_set_mask_and_coherent() and simplify code (Manish Chopra) [2040267] - qed*: esl priv flag support through ethtool (Manish Chopra) [2040267] - qed*: enhance tx timeout debug info (Manish Chopra) [2040267] - qede: validate non LSO skb length (Manish Chopra) [2040267] - qed: Enhance rammod debug prints to provide pretty details (Manish Chopra) [2040267] - net: qed: fix the array may be out of bound (Manish Chopra) [2040267] - qed: Use the bitmap API to simplify some functions (Manish Chopra) [2040267] - RDMA/qed: Use helper function to set GUIDs (Manish Chopra) [2040267] - net: qed_dev: fix check of true !rc expression (Manish Chopra) [2040267] - net: qed_ptp: fix check of true !rc expression (Manish Chopra) [2040267] - RDMA/qedr: Remove unsupported qedr_resize_cq callback (Manish Chopra) [2040267] - qed: Change the TCP common variable - "iscsi_ooo" (Manish Chopra) [2040267] - qed: Optimize the ll2 ooo flow (Manish Chopra) [2040267] - net: qed_debug: fix check of false (grc_param < 0) expression (Manish Chopra) [2040267] - qed: Fix missing error code in qed_slowpath_start() (Manish Chopra) [2040267] - qed: Fix compilation for CONFIG_QED_SRIOV undefined scenario (Manish Chopra) [2040267] - qed: Initialize debug string array (Manish Chopra) [2040267] - qed: Fix spelling mistake "ctx_bsaed" -> "ctx_based" (Manish Chopra) [2040267] - qed: fix ll2 establishment during load of RDMA driver (Manish Chopra) [2040267] - qed: Update the TCP active termination 2 MSL timer ("TIME_WAIT") (Manish Chopra) [2040267] - qed: Update TCP silly-window-syndrome timeout for iwarp, scsi (Manish Chopra) [2040267] - qed: Update debug related changes (Manish Chopra) [2040267] - qed: Add '_GTT' suffix to the IRO RAM macros (Manish Chopra) [2040267] - qed: Update FW init functions to support FW 8.59.1.0 (Manish Chopra) [2040267] - qed: Use enum as per FW 8.59.1.0 in qed_iro_hsi.h (Manish Chopra) [2040267] - qed: Update qed_hsi.h for fw 8.59.1.0 (Manish Chopra) [2040267] - qed: Update qed_mfw_hsi.h for FW ver 8.59.1.0 (Manish Chopra) [2040267] - qed: Update common_hsi for FW ver 8.59.1.0 (Manish Chopra) [2040267] - qed: Split huge qed_hsi.h header file (Manish Chopra) [2040267] - qed: Remove e4_ and _e4 from FW HSI (Manish Chopra) [2040267] - qed: Fix kernel-doc warnings (Manish Chopra) [2040267] - qed: Don't ignore devlink allocation failures (Manish Chopra) [2040267] - qed: Improve the stack space of filter_config() (Manish Chopra) [2040267] - RDMA/qedr: Move variables reset to qedr_set_common_qp_params() (Manish Chopra) [2040267] - ip_gre, ip6_gre: Fix race condition on o_seqno in collect_md mode (Guillaume Nault) [2081030] - ip6_gre: Make o_seqno start from 0 in native mode (Guillaume Nault) [2081030] - ip_gre: Make o_seqno start from 0 in native mode (Guillaume Nault) [2081030] - ip6_gre: Fix skb_under_panic in __gre6_xmit() (Guillaume Nault) [2081030] - ip6_gre: Avoid updating tunnel->tun_hlen in __gre6_xmit() (Guillaume Nault) [2081030] - ipv6_tunnel: Rate limit warning messages (Guillaume Nault) [2081030] - net: fix up skbs delta_truesize in UDP GRO frag_list (Hangbin Liu) [2082388] - drop_monitor: fix data-race in dropmon_net_event / trace_napi_poll_hit (Hangbin Liu) [2082388] - rtnetlink: make sure to refresh master_dev/m_ops in __rtnl_newlink() (Hangbin Liu) [2082388] - netns: add schedule point in ops_exit_list() (Hangbin Liu) [2082388] - lwtunnel: Validate RTA_ENCAP_TYPE attribute length (Hangbin Liu) [2082388] - net, neigh: clear whole pneigh_entry at alloc time (Hangbin Liu) [2082388] - net: annotate data-races on txq->xmit_lock_owner (Hangbin Liu) [2082388] - sock: fix /proc/net/sockstat underflow in sk_clone_lock() (Hangbin Liu) [2082388] - net: stream: don't purge sk_error_queue in sk_stream_kill_queues() (Hangbin Liu) [2082388] - rtnetlink: fix if_nlmsg_stats_size() under estimation (Hangbin Liu) [2082388] - net: watchdog: hold device global xmit lock during tx disable (Hangbin Liu) [2082388] - torture: Fix incorrectly redirected "exit" in kvm-remote.sh (Waiman Long) [2065993] - rcu: Allow rcu_irq_enter_check_tick() from NMI (Waiman Long) [2065993] - srcu: Early test SRCU polling start (Waiman Long) [2065993] - rcu/nocb: Unify timers (Waiman Long) [2065993] - rcu/nocb: Prepare for fine-grained deferred wakeup (Waiman Long) [2065993] - rcu/nocb: Only cancel nocb timer if not polling (Waiman Long) [2065993] - rcu/nocb: Delete bypass_timer upon nocb_gp wakeup (Waiman Long) [2065993] - rcu/nocb: Cancel nocb_timer upon nocb_gp wakeup (Waiman Long) [2065993] - rcu/nocb: Allow de-offloading rdp leader (Waiman Long) [2065993] - rcu/nocb: Directly call __wake_nocb_gp() from bypass timer (Waiman Long) [2065993] - refscale: Avoid false-positive warnings in ref_scale_reader() (Waiman Long) [2065993] - scftorture: Avoid false-positive warnings in scftorture_invoker() (Waiman Long) [2065993] - rcu-tasks: Don't delete holdouts within trc_wait_for_one_reader() (Waiman Long) [2065993] - rcu-tasks: Don't delete holdouts within trc_inspect_reader() (Waiman Long) [2065993] - rcutorture: Move mem_dump_obj() tests into separate function (Waiman Long) [2065993] - rcu: Remove obsolete rcu_read_unlock() deadlock commentary (Waiman Long) [2065993] - rcu: Improve comments describing RCU read-side critical sections (Waiman Long) [2065993] - rcu: Add missing __releases() annotation (Waiman Long) [2065993] - kvfree_rcu: Fix comments according to current code (Waiman Long) [2065993] - torture: Don't cap remote runs by build-system number of CPUs (Waiman Long) [2065993] - torture: Make kvm-remote.sh account for network failure in pathname checks (Waiman Long) [2065993] - rcu: Create an unrcu_pointer() to remove __rcu from a pointer (Waiman Long) [2065993] - kvfree_rcu: Refactor kfree_rcu_monitor() (Waiman Long) [2065993] - srcu: Fix broken node geometry after early ssp init (Waiman Long) [2065993] - rcu: Point to documentation of ordering guarantees (Waiman Long) [2065993] - rcu: Don't penalize priority boosting when there is nothing to boost (Waiman Long) [2065993] - kvfree_rcu: Use kfree_rcu_monitor() instead of open-coded variant (Waiman Long) [2065993] - kvfree_rcu: Update "monitor_todo" once a batch is started (Waiman Long) [2065993] - kvfree_rcu: Add a bulk-list check when a scheduler is run (Waiman Long) [2065993] - kvfree_rcu: Use [READ/WRITE]_ONCE() macros to access to nr_bkv_objs (Waiman Long) [2065993] - kvfree_rcu: Release a page cache under memory pressure (Waiman Long) [2065993] - rcu: Shrink each possible cpu krcp (Waiman Long) [2065993] - rcu/segcblist: Prevent useless GP start if no CBs to accelerate (Waiman Long) [2065993] - rcutorture: Don't count CPU-stalled time against priority boosting (Waiman Long) [2065993] - rcu: Make rcu_gp_cleanup() be noinline for tracing (Waiman Long) [2065993] - rcutorture: Add BUSTED-BOOST to test RCU priority boosting tests (Waiman Long) [2065993] - srcu: Initialize SRCU after timers (Waiman Long) [2065993] - srcu: Unconditionally embed struct lockdep_map (Waiman Long) [2065993] - rcutorture: Forgive RCU boost failures when CPUs don't pass through QS (Waiman Long) [2065993] - rcutorture: Test start_poll_synchronize_rcu() and poll_state_synchronize_rcu() (Waiman Long) [2065993] - rcu: Provide polling interfaces for Tree RCU grace periods (Waiman Long) [2065993] - rcutorture: Make rcu_torture_boost_failed() check for GP end (Waiman Long) [2065993] - rcutorture: Consolidate rcu_torture_boost() timing and statistics (Waiman Long) [2065993] - rcutorture: Delay-based false positives for RCU priority boosting tests (Waiman Long) [2065993] - rcu: Restrict RCU_STRICT_GRACE_PERIOD to at most four CPUs (Waiman Long) [2065993] - rcu: Make show_rcu_gp_kthreads() dump rcu_node structures blocking GP (Waiman Long) [2065993] - rcu: Add quiescent states and boost states to show_rcu_gp_kthreads() output (Waiman Long) [2065993] - rcu: Make RCU priority boosting work on single-CPU rcu_node structures (Waiman Long) [2065993] - rcu: Reject RCU_LOCKDEP_WARN() false positives (Waiman Long) [2065993] - lockdep: Explicitly flag likely false-positive report (Waiman Long) [2065993] - rcu: Add ->gp_max to show_rcu_gp_kthreads() output (Waiman Long) [2065993] - rcu: Add ->rt_priority and ->gp_start to show_rcu_gp_kthreads() output (Waiman Long) [2065993] - srcu: Remove superfluous sdp->srcu_lock_count zero filling (Waiman Long) [2065993] - srcu: Remove superfluous ssp initialization for early callbacks (Waiman Long) [2065993] - torture: Set kvm.sh language to English (Waiman Long) [2065993] - torture: Correctly fetch number of CPUs for non-English languages (Waiman Long) [2065993] - rcu: Invoke rcu_spawn_core_kthreads() from rcu_spawn_gp_kthread() (Waiman Long) [2065993] - rcutorture: Judge RCU priority boosting on grace periods, not callbacks (Waiman Long) [2065993] - sched,rcutorture: Convert to sched_set_fifo_low() (Waiman Long) [2065993] - rcu: Improve tree.c comments and add code cleanups (Waiman Long) [2065993] - rcu: Abstract out rcu_irq_enter_check_tick() from rcu_nmi_enter() (Waiman Long) [2065993] - rcu: Remove the unused rcu_irq_exit_preempt() function (Waiman Long) [2065993] - torture: Make kvm-find-errors.sh account for kvm-remote.sh (Waiman Long) [2065993] - torture: Make the build machine control N in "make -jN" (Waiman Long) [2065993] - torture: Make kvm.sh use abstracted kvm-end-run-stats.sh (Waiman Long) [2065993] - torture: Abstract end-of-run summary (Waiman Long) [2065993] - rcu: Fix typo in comment: kthead -> kthread (Waiman Long) [2065993] - rcutorture: Abstract read-lock-held checks (Waiman Long) [2065993] - refscale: Add acqrel, lock, and lock-irq (Waiman Long) [2065993] - torture: Add kvm-remote.sh script for distributed rcutorture test runs (Waiman Long) [2065993] - refscale: Allow CPU hotplug to be enabled (Waiman Long) [2065993] - torture: Make kvm-again.sh use "scenarios" rather than "batches" file (Waiman Long) [2065993] - torture: Add "scenarios" option to kvm.sh --dryrun parameter (Waiman Long) [2065993] - rcu-tasks: Add block comment laying out RCU Rude design (Waiman Long) [2065993] - torture: Fix remaining erroneous torture.sh instance of $* (Waiman Long) [2065993] - rcu/tree: Add a trace event for RCU CPU stall warnings (Waiman Long) [2065993] - torture: Fix kvm.sh --datestamp regex check (Waiman Long) [2065993] - rcu: Add explicit barrier() to __rcu_read_unlock() (Waiman Long) [2065993] - rcu-tasks: Add block comment laying out RCU Tasks Trace design (Waiman Long) [2065993] - rcu: Make nocb_nobypass_lim_per_jiffy static (Waiman Long) [2065993] - torture: Consolidate qemu-cmd duration editing into kvm-transform.sh (Waiman Long) [2065993] - torture: Print proper vmlinux path for kvm-again.sh runs (Waiman Long) [2065993] - torture: Make TORTURE_TRUST_MAKE available in kvm-again.sh environment (Waiman Long) [2065993] - docs: Correctly spell Stephen Hemminger's name (Waiman Long) [2065993] - rcu/nocb: Use the rcuog CPU's ->nocb_timer (Waiman Long) [2065993] - rcu/nocb: Move trace_rcu_nocb_wake() calls outside nocb_lock when possible (Waiman Long) [2065993] - rcu/nocb: Remove stale comment above rcu_segcblist_offload() (Waiman Long) [2065993] - rcu/nocb: Disable bypass when CPU isn't completely offloaded (Waiman Long) [2065993] - rcu/nocb: Fix missed nocb_timer requeue (Waiman Long) [2065993] - rcu/nocb: Trigger self-IPI on late deferred wake up before user resume (Waiman Long) [2065993] - torture: Make kvm-transform.sh update jitter commands (Waiman Long) [2065993] - torture: Add --duration argument to kvm-again.sh (Waiman Long) [2065993] - rcu: deprecate "all" option to rcu_nocbs= (Waiman Long) [2065993] - torture: Rename SRCU-t and SRCU-u to avoid lowercase characters (Waiman Long) [2065993] - torture: Add kvm-again.sh to rerun a previous torture-test (Waiman Long) [2065993] - torture: Create a "batches" file for build reuse (Waiman Long) [2065993] - torture: De-capitalize TORTURE_SUITE (Waiman Long) [2065993] - rcuscale: Add kfree_rcu() single-argument scale test (Waiman Long) [2065993] - torture: Make upper-case-only no-dot no-slash scenario names official (Waiman Long) [2065993] - torture: Remove no-mpstat error message (Waiman Long) [2065993] - torture: Record kvm-test-1-run.sh and kvm-test-1-run-qemu.sh PIDs (Waiman Long) [2065993] - torture: Record jitter start/stop commands (Waiman Long) [2065993] - softirq: Don't try waking ksoftirqd before it has been spawned (Waiman Long) [2065993] - torture: Extract kvm-test-1-run-qemu.sh from kvm-test-1-run.sh (Waiman Long) [2065993] - torture: Record TORTURE_KCONFIG_GDB_ARG in qemu-cmd (Waiman Long) [2065993] - torture: Abstract jitter.sh start/stop into scripts (Waiman Long) [2065993] - torture: Reverse jittering and duration parameters for jitter.sh (Waiman Long) [2065993] - torture: Eliminate jitter_pids file (Waiman Long) [2065993] - torture: Use "jittering" file to control jitter.sh execution (Waiman Long) [2065993] - torture: Use file-based protocol to mark batch's runs complete (Waiman Long) [2065993] - torture: Move build/run synchronization files into scenario directories (Waiman Long) [2065993] - torture: Make jitter.sh handle large systems (Waiman Long) [2065993] - torture: Improve readability of the testid.txt file (Waiman Long) [2065993] - torture: Provide bare-metal modprobe-based advice (Waiman Long) [2065993] - kvfree_rcu: Use same set of GFP flags as does single-argument (Waiman Long) [2065993] - kvfree_rcu: Replace __GFP_RETRY_MAYFAIL by __GFP_NORETRY (Waiman Long) [2065993] - torture: Allow 1G of memory for torture.sh kvfree testing (Waiman Long) [2065993] - torture: Do Kconfig analysis only once per scenario (Waiman Long) [2065993] - torture: Compress KASAN vmlinux files (Waiman Long) [2065993] - torture: Add --kcsan-kmake-arg to torture.sh for KCSAN (Waiman Long) [2065993] - torture: Add command and results directory to torture.sh log (Waiman Long) [2065993] - torture: Allow scenarios to be specified to torture.sh (Waiman Long) [2065993] - torture: Drop log.long generation from torture.sh (Waiman Long) [2065993] - torture: Make torture.sh refuse to do zero-length runs (Waiman Long) [2065993] - torture: Make torture.sh throttle VERBOSE_TOROUT_*() for refscale (Waiman Long) [2065993] - torture: Make torture.sh allmodconfig retain and label output (Waiman Long) [2065993] - torture: Create doyesno helper function for torture.sh (Waiman Long) [2065993] - torture: Make torture.sh refscale runs use verbose_batched module parameter (Waiman Long) [2065993] - torture: Make torture.sh rcuscale and refscale deal with allmodconfig (Waiman Long) [2065993] - torture: Enable torture.sh argument checking (Waiman Long) [2065993] - torture: Auto-size SCF and scaling runs based on number of CPUs (Waiman Long) [2065993] - torture: Add "make allmodconfig" to torture.sh (Waiman Long) [2065993] - torture: Remove use of "eval" in torture.sh (Waiman Long) [2065993] - torture: Make torture.sh use common time-duration bash functions (Waiman Long) [2065993] - torture: Add torture.sh torture-everything script (Waiman Long) [2065993] - refscale: Disable verbose torture-test output (Waiman Long) [2065993] - rcuscale: Disable verbose torture-test output (Waiman Long) [2065993] - rcu/nocb: Rename nocb_gp_update_state to nocb_gp_update_state_deoffloading (Waiman Long) [2065993] - rcu/nocb: Avoid confusing double write of rdp->nocb_cb_sleep (Waiman Long) [2065993] - rcu/nocb: Only (re-)initialize segcblist when needed on CPU up (Waiman Long) [2065993] - rcu/nocb: Forbid NOCB toggling on offline CPUs (Waiman Long) [2065993] - rcu/nocb: Comment the reason behind BH disablement on batch processing (Waiman Long) [2065993] - rcu: Make rcu_read_unlock_special() expedite strict grace periods (Waiman Long) [2065993] - rcu-tasks: Rectify kernel-doc for struct rcu_tasks (Waiman Long) [2065993] - rcutorture: Replace rcu_torture_stall string with s (Waiman Long) [2065993] - torture: Replace torture_init_begin string with s (Waiman Long) [2065993] - rcutorture: Use "all" and "N" in "nohz_full" and "rcu_nocbs" (Waiman Long) [2065993] - kvfree_rcu: Make krc_this_cpu_unlock() use raw_spin_unlock_irqrestore() (Waiman Long) [2065993] - kvfree_rcu: Use __GFP_NOMEMALLOC for single-argument kvfree_rcu() (Waiman Long) [2065993] - kvfree_rcu: Directly allocate page for single-argument case (Waiman Long) [2065993] - rcutorture: Fix testing of RCU priority boosting (Waiman Long) [2065993] - rculist: Replace reference to atomic_ops.rst (Waiman Long) [2065993] - rcutorture: Make TREE03 use real-time tree.use_softirq setting (Waiman Long) [2065993] - rcu: Expedite deboost in case of deferred quiescent state (Waiman Long) [2065993] - rcu: Fix CPU-offline trace in rcutree_dying_cpu (Waiman Long) [2065993] - rcu: Remove superfluous rdp fetch (Waiman Long) [2065993] - torturescript: Don't rerun failed rcutorture builds (Waiman Long) [2065993] - rcutorture: Add crude tests for mem_dump_obj() (Waiman Long) [2065993] - mm: Don't build mm_dump_obj() on CONFIG_PRINTK=n kernels (Waiman Long) [2065993] - rcu/nocb: Detect unsafe checks for offloaded rdp (Waiman Long) [2065993] - sched/pelt: Fix attach_entity_load_avg() corner case (Phil Auld) [2056383] - devlink: Clarifies max_macs generic devlink param (Petr Oros) [2076586] - devlink: Add new "event_eq_size" generic device param (Petr Oros) [2076586] - devlink: Add new "io_eq_size" generic device param (Petr Oros) [2076586] - devlink: fix netns refcount leak in devlink_nl_cmd_reload() (Petr Oros) [2076586] - devlink: Simplify devlink resources unregister call (Petr Oros) [2076586] - devlink: Remove misleading internal_flags from health reporter dump (Petr Oros) [2076586] - devlink: Don't throw an error if flash notification sent before devlink visible (Petr Oros) [2076586] - devlink: fix flexible_array.cocci warning (Petr Oros) [2076586] - devlink: expose get/put functions (Petr Oros) [2076586] - devlink: make all symbols GPL-only (Petr Oros) [2076586] - devlink: Simplify internal devlink params implementation (Petr Oros) [2076586] - devlink: Clean not-executed param notifications (Petr Oros) [2076586] - devlink: Delete obsolete parameters publish API (Petr Oros) [2076586] - devlink: Remove extra device_lock assert checks (Petr Oros) [2076586] - devlink: Delete reload enable/disable interface (Petr Oros) [2076586] - devlink: Allow control devlink ops behavior through feature mask (Petr Oros) [2076586] - devlink: Annotate devlink API calls (Petr Oros) [2076586] - devlink: Move netdev_to_devlink helpers to devlink.c (Petr Oros) [2076586] - devlink: Reduce struct devlink exposure (Petr Oros) [2076586] - devlink: report maximum number of snapshots with regions (Petr Oros) [2076586] - devlink: Add missed notifications iterators (Petr Oros) [2076586] - netdevsim: Move devlink registration to be last devlink command (Petr Oros) [2076586] - qed: Move devlink registration to be last devlink command (Petr Oros) [2076586] - ionic: Move devlink registration to be last devlink command (Petr Oros) [2076586] - nfp: Move delink_register to be last command (Petr Oros) [2076586] - mlxsw: core: Register devlink instance last (Petr Oros) [2076586] - net/mlx5: Accept devlink user input after driver initialization complete (Petr Oros) [2076586] - net/mlx4: Move devlink_register to be the last initialization command (Petr Oros) [2076586] - ice: Open devlink when device is ready (Petr Oros) [2076586] - liquidio: Overcome missing device lock protection in init/remove flows (Petr Oros) [2076586] - bnxt_en: Register devlink instance at the end devlink configuration (Petr Oros) [2076586] - devlink: Notify users when objects are accessible (Petr Oros) [2076586] - devlink: Remove single line function obfuscations (Petr Oros) [2076586] - devlink: Delete not used port parameters APIs (Petr Oros) [2076586] - bnxt_en: Properly remove port parameter support (Petr Oros) [2076586] - bnxt_en: Check devlink allocation and registration status (Petr Oros) [2076586] - devlink: Make devlink_register to be void (Petr Oros) [2076586] - devlink: Delete not-used devlink APIs (Petr Oros) [2076586] - devlink: Delete not-used single parameter notification APIs (Petr Oros) [2076586] - devlink: Use xarray to store devlink instances (Petr Oros) [2076586] - devlink: Count struct devlink consumers (Petr Oros) [2076586] - devlink: Remove check of always valid devlink pointer (Petr Oros) [2076586] - devlink: Simplify devlink_pernet_pre_exit call (Petr Oros) [2076586] - devlink: Add APIs to publish, unpublish individual parameter (Petr Oros) [2076586] - devlink: Add API to register and unregister single parameter (Petr Oros) [2076586] - devlink: Create a helper function for one parameter registration (Petr Oros) [2076586] - devlink: Fix port_type_set function pointer check (Petr Oros) [2076586] - devlink: Set device as early as possible (Petr Oros) [2076586] - devlink: Simplify devlink port API calls (Petr Oros) [2076586] - devlink: Allocate devlink directly in requested net namespace (Petr Oros) [2076586] - devlink: Break parameter notification sequence to be before/after unload/load driver (Petr Oros) [2076586] - devlink: Remove duplicated registration check (Petr Oros) [2076586] - net/mlx5: Don't rely on always true registered field (Petr Oros) [2076586] - devlink: Unlock on error in dumpit() (Petr Oros) [2076586] - devlink: Fix some error codes (Petr Oros) [2076586] - net: devlink: Add support for port regions (Petr Oros) [2076586] - netdevsim: Forbid devlink reload when adding or deleting ports (Petr Oros) [2076586] - netdevsim: dev: Initialize FIB module after debugfs (Petr Oros) [2076586] - pidfd: fix a poll race when setting exit_state (Oleg Nesterov) [2044587] - fork: fix pidfd_poll()'s return type (Oleg Nesterov) [2044587] - pidfd: add polling support (Oleg Nesterov) [2044587] - kabi: introduce the kabi_aux_*() helpers (Oleg Nesterov) [2044587] - tg3: Remove redundant assignments (Ken Cox) [2043792] - ethernet: Remove redundant statement (Ken Cox) [2043792] - ethernet: tg3: remove direct netdev->dev_addr writes (Ken Cox) [2043792] - net: tg3: fix redundant check of true expression (Ken Cox) [2043792] - ethernet: use eth_hw_addr_set() for dev->addr_len cases (Ken Cox) [2043792] - net: ethernet: Use existing define with polynomial (Ken Cox) [2043792]- scsi: mpt3sas: Fix mpt3sas_check_same_4gb_region() kdoc comment (Tomas Henzl) [2068045] - scsi: mpt3sas: Fix incorrect 4GB boundary check (Tomas Henzl) [2068045] - genirq/affinity: Consider that CPUs on nodes can be unbalanced (Ming Lei) [2074317] - scsi: target: pscsi: Set SCF_TREAT_READ_AS_NORMAL flag only if there is valid data (Maurizio Lombardi) [2074246] - audit: don't deref the syscall args when checking the openat2 open_how::flags (Carlos Maiolino) [2026590] - audit: add OPENAT2 record to list "how" info (Carlos Maiolino) [2026590] - audit: add support for the openat2 syscall (Carlos Maiolino) [2026590] - audit: replace magic audit syscall class numbers with macros (Carlos Maiolino) [2026590] - tools include UAPI: Sync x86's syscalls_64.tbl, generic unistd.h and fcntl.h to pick up openat2 and pidfd_getfd (Carlos Maiolino) [2026590] - open: don't silently ignore unknown O-flags in openat2() (Carlos Maiolino) [2026590] - openat2: reject RESOLVE_BENEATH|RESOLVE_IN_ROOT (Carlos Maiolino) [2026590] - open: introduce openat2(2) syscall (Carlos Maiolino) [2026590] - namei: LOOKUP_{IN_ROOT,BENEATH}: permit limited ".." resolution (Carlos Maiolino) [2026590] - namei: LOOKUP_IN_ROOT: chroot-like scoped resolution (Carlos Maiolino) [2026590] - namei: LOOKUP_BENEATH: O_BENEATH-like scoped resolution (Carlos Maiolino) [2026590] - namei: LOOKUP_NO_XDEV: block mountpoint crossing (Carlos Maiolino) [2026590] - namei: LOOKUP_NO_MAGICLINKS: block magic-link resolution (Carlos Maiolino) [2026590] - namei: LOOKUP_NO_SYMLINKS: block symlink resolution (Carlos Maiolino) [2026590] - namei: allow set_root() to produce errors (Carlos Maiolino) [2026590] - namei: allow nd_jump_link() to produce errors (Carlos Maiolino) [2026590] - nsfs: clean-up ns_get_path() signature to return int (Carlos Maiolino) [2026590] - namei: only return -ECHILD from follow_dotdot_rcu() (Carlos Maiolino) [2026590] - make path_init() unconditionally paired with terminate_walk() (Carlos Maiolino) [2026590] - nsfs: unobfuscate (Carlos Maiolino) [2026590] - ASoC: Intel: soc-acpi: add entries in ADL match table (Jaroslav Kysela) [2052011] - nvme-fc: add support for ->map_queues (Nilesh Javali) [2044833] - scsi: qla2xxx: Fix typos in comments (Nilesh Javali) [2044833] - scsi: qla2xxx: Update version to 10.02.07.400-k (Nilesh Javali) [2044833] - scsi: qla2xxx: Increase max limit of ql2xnvme_queues (Nilesh Javali) [2044833] - scsi: qla2xxx: Use correct feature type field during RFF_ID processing (Nilesh Javali) [2044833] - scsi: qla2xxx: Fix stuck session of PRLI reject (Nilesh Javali) [2044833] - scsi: qla2xxx: Reduce false trigger to login (Nilesh Javali) [2044833] - scsi: qla2xxx: Fix laggy FC remote port session recovery (Nilesh Javali) [2044833] - scsi: qla2xxx: Fix hang due to session stuck (Nilesh Javali) [2044833] - scsi: qla2xxx: Fix N2N inconsistent PLOGI (Nilesh Javali) [2044833] - scsi: qla2xxx: Fix crash during module load unload test (Nilesh Javali) [2044833] - scsi: qla2xxx: Fix missed DMA unmap for NVMe ls requests (Nilesh Javali) [2044833] - scsi: qla2xxx: Fix loss of NVMe namespaces after driver reload test (Nilesh Javali) [2044833] - scsi: qla2xxx: Fix incorrect reporting of task management failure (Nilesh Javali) [2044833] - scsi: qla2xxx: Use named initializers for q_dev_state (Nilesh Javali) [2044833] - scsi: qla2xxx: Use named initializers for port_[d]state_str (Nilesh Javali) [2044833] - scsi: qla2xxx: Stop using the SCSI pointer (Nilesh Javali) [2044833] - scsi: qla2xxx: Remove unused qla_sess_op_cmd_list from scsi_qla_host_t (Nilesh Javali) [2044833] - scsi: qla2xxx: Add qla2x00_async_done() for async routines (Nilesh Javali) [2044833] - scsi: qla2xxx: Update version to 10.02.07.300-k (Nilesh Javali) [2044833] - scsi: qla2xxx: Check for firmware dump already collected (Nilesh Javali) [2044833] - scsi: qla2xxx: Add devids and conditionals for 28xx (Nilesh Javali) [2044833] - scsi: qla2xxx: Suppress a kernel complaint in qla_create_qpair() (Nilesh Javali) [2044833] - scsi: qla2xxx: Fix T10 PI tag escape and IP guard options for 28XX adapters (Nilesh Javali) [2044833] - scsi: qla2xxx: edif: Fix clang warning (Nilesh Javali) [2044833] - scsi: qla2xxx: Fix warning for missing error code (Nilesh Javali) [2044833] - scsi: qla2xxx: Fix device reconnect in loop topology (Nilesh Javali) [2044833] - scsi: qla2xxx: Add ql2xnvme_queues module param to configure number of NVMe queues (Nilesh Javali) [2044833] - scsi: qla2xxx: Fix wrong FDMI data for 64G adapter (Nilesh Javali) [2044833] - scsi: qla2xxx: Add retry for exec firmware (Nilesh Javali) [2044833] - scsi: qla2xxx: Fix scheduling while atomic (Nilesh Javali) [2044833] - scsi: qla2xxx: Fix premature hw access after PCI error (Nilesh Javali) [2044833] - scsi: qla2xxx: Fix warning message due to adisc being flushed (Nilesh Javali) [2044833] - scsi: qla2xxx: Fix stuck session in gpdb (Nilesh Javali) [2044833] - scsi: qla2xxx: Implement ref count for SRB (Nilesh Javali) [2044833] - scsi: qla2xxx: Refactor asynchronous command initialization (Nilesh Javali) [2044833] - scsi: qla2xxx: Synchronize rport dev_loss_tmo setting (Nilesh Javali) [2044833] - scsi: qla2xxx: Format log strings only if needed (Nilesh Javali) [2044833] - scsi: qla2xxx: edif: Fix off by one bug in qla_edif_app_getfcinfo() (Nilesh Javali) [2044833] - scsi: qla2xxx: Fix mailbox direction flags in qla2xxx_get_adapter_id() (Nilesh Javali) [2044833] - scsi: qla2xxx: Update version to 10.02.07.200-k (Nilesh Javali) [2044833] - scsi: qla2xxx: edif: Fix EDIF bsg (Nilesh Javali) [2044833] - scsi: qla2xxx: edif: Fix inconsistent check of db_flags (Nilesh Javali) [2044833] - scsi: qla2xxx: edif: Increase ELS payload (Nilesh Javali) [2044833] - scsi: qla2xxx: edif: Reduce connection thrash (Nilesh Javali) [2044833] - scsi: qla2xxx: edif: Tweak trace message (Nilesh Javali) [2044833] - scsi: qla2xxx: edif: Replace list_for_each_safe with list_for_each_entry_safe (Nilesh Javali) [2044833] - scsi: qla2xxx: edif: Flush stale events and msgs on session down (Nilesh Javali) [2044833] - scsi: qla2xxx: edif: Fix app start delay (Nilesh Javali) [2044833] - scsi: qla2xxx: edif: Fix app start fail (Nilesh Javali) [2044833] - scsi: qla2xxx: Turn off target reset during issue_lip (Nilesh Javali) [2044833] - scsi: qla2xxx: Fix gnl list corruption (Nilesh Javali) [2044833] - scsi: qla2xxx: Relogin during fabric disturbance (Nilesh Javali) [2044833] - qla2xxx: add ->map_queues support for nvme (Nilesh Javali) [2044833] - scsi: qla2xxx: Fix unmap of already freed sgl (Nilesh Javali) [2044833] - scsi: qla2xxx: Fix a memory leak in an error path of qla2x00_process_els() (Nilesh Javali) [2044833] - scsi: qla2xxx: Return -ENOMEM if kzalloc() fails (Nilesh Javali) [2044833] - scsi: qla2xxx: Remove a declaration (Nilesh Javali) [2044833] - scsi: target: qla2xxx: Replace enable attr with ops.enable (Nilesh Javali) [2044833] - scsi: qla2xxx: Restore initiator in dual mode (Nilesh Javali) [2044833] - scsi: qla2xxx: Remove redundant initialization of pointer req (Nilesh Javali) [2044833] - scsi: qla2xxx: Update version to 10.02.07.100-k (Nilesh Javali) [2044833] - scsi: qla2xxx: Fix use after free in eh_abort path (Nilesh Javali) [2044833] - scsi: qla2xxx: Move heartbeat handling from DPC thread to workqueue (Nilesh Javali) [2044833] - scsi: qla2xxx: Call process_response_queue() in Tx path (Nilesh Javali) [2044833] - scsi: qla2xxx: edif: Use link event to wake up app (Nilesh Javali) [2044833] - scsi: qla2xxx: Fix crash in NVMe abort path (Nilesh Javali) [2044833] - scsi: qla2xxx: Check for firmware capability before creating QPair (Nilesh Javali) [2044833] - scsi: qla2xxx: Display 16G only as supported speeds for 3830c card (Nilesh Javali) [2044833] - scsi: qla2xxx: Indicate correct supported speeds for Mezz card (Nilesh Javali) [2044833] - scsi: qla2xxx: Add support for mailbox passthru (Nilesh Javali) [2044833] - scsi: qla2xxx: Open-code qla2xxx_eh_device_reset() (Nilesh Javali) [2044833] - scsi: qla2xxx: Open-code qla2xxx_eh_target_reset() (Nilesh Javali) [2044833] - scsi: qla2xxx: Do not call fc_block_scsi_eh() during bus reset (Nilesh Javali) [2044833] - sctp: count singleton chunks in assoc user stats (Jamie Bainbridge) [2073913] - hrtimer: Unbreak hrtimer_force_reprogram() (Fernando Pacheco) [2071776] - hrtimer: Use raw_cpu_ptr() in clock_was_set() (Fernando Pacheco) [2071776] - hrtimer: Avoid more SMP function calls in clock_was_set() (Fernando Pacheco) [2071776] - hrtimer: Avoid unnecessary SMP function calls in clock_was_set() (Fernando Pacheco) [2071776] - hrtimer: Add bases argument to clock_was_set() (Fernando Pacheco) [2071776] - time/timekeeping: Avoid invoking clock_was_set() twice (Fernando Pacheco) [2071776] - timekeeping: Distangle resume and clock-was-set events (Fernando Pacheco) [2071776] - timerfd: Provide timerfd_resume() (Fernando Pacheco) [2071776] - hrtimer: Force clock_was_set() handling for the HIGHRES=n, NOHZ=y case (Fernando Pacheco) [2071776] - hrtimer: Ensure timerfd notification for HIGHRES=n (Fernando Pacheco) [2071776] - hrtimer: Consolidate reprogramming code (Fernando Pacheco) [2071776] - hrtimer: Avoid double reprogramming in __hrtimer_start_range_ns() (Fernando Pacheco) [2071776] - hrtimer: Update softirq_expires_next correctly after __hrtimer_get_next_event() (Fernando Pacheco) [2071776] - hrtimer: Annotate lockless access to timer->state (Fernando Pacheco) [2071776] - drm/i915/display: Remove check for low voltage sku for max dp source rate (Jocelyn Falempe) [2063931] - s390/kexec: handle R_390_PLT32DBL rela in arch_kexec_apply_relocations_add() (Philipp Rudo) [2039278] - s390/kexec_file: fix error handling when applying relocations (Philipp Rudo) [2039278] - s390/kexec_file: print some more error messages (Philipp Rudo) [2039278] - ixgbe: respect metadata on XSK Rx to skb (Ken Cox) [2037952] - ixgbe: don't reserve excessive XDP_PACKET_HEADROOM on XSK Rx to skb (Ken Cox) [2037952] - ixgbe: pass bi->xdp to ixgbe_construct_skb_zc() directly (Ken Cox) [2037952] - ixgbe: Remove useless DMA-32 fallback configuration (Ken Cox) [2037952] - ixgbe: switch to napi_build_skb() (Ken Cox) [2037952] - ixgbe: set X550 MDIO speed before talking to PHY (Ken Cox) [2037952] - ixgbe: Document how to enable NBASE-T support (Ken Cox) [2037952] - xsk: Wipe out dead zero_copy_allocator declarations (Ken Cox) [2037952] - ixgbe: let the xdpdrv work with more than 64 cpus (Ken Cox) [2037952] - scsi: fcoe: Fix I/O path allocation (Ken Cox) [2037952] - ixgbe: extend PTP gettime function to read system clock (Ken Cox) [2037952] - ixgbe: Replace GFP_ATOMIC with GFP_KERNEL (Ken Cox) [2037952] - net: mpls: Fix notifications when deleting a device (Guillaume Nault) [2081757]- sched/cputime, proc/stat: Fix incorrect guest nice cpustat value (Waiman Long) [2017382] - procfs: Use all-in-one vtime aware kcpustat accessor (Waiman Long) [2017382] - procfs: Use vtime aware kcpustat accessor to fetch CPUTIME_SYSTEM (Waiman Long) [2017382] - proc: read kernel cpu stat pointer once (Waiman Long) [2017382] - proc: use "unsigned int" in /proc/stat hook (Waiman Long) [2017382] - sched/cputime: Support other fields on kcpustat_field() (Waiman Long) [2017382] - sched/cputime: Add vtime guest task state (Waiman Long) [2017382] - sched/cputime: Add vtime idle task state (Waiman Long) [2017382] - sched/cputime: Spare a seqcount lock/unlock cycle on context switch (Waiman Long) [2017382] - sched/vtime: Move task_struct_rh->vtime_cpu back to vtime structure (Waiman Long) [2017382] - usb: xhci-plat: fix crash when suspend if remote wake enable (Mark Langsdorf) [2065730] - PM: domains: Improve runtime PM performance state handling (Mark Langsdorf) [2065730] - firmware_loader: fix use-after-free in firmware_fallback_sysfs (Mark Langsdorf) [2065730] - firmware_loader: use -ETIMEDOUT instead of -EAGAIN in fw_load_sysfs_fallback (Mark Langsdorf) [2065730] - driver core: Prevent warning when removing a device link from unregistered consumer (Mark Langsdorf) [2065730] - PM: domains: Shrink locking area of the gpd_list_lock (Mark Langsdorf) [2065730] - PM: sleep: Use ktime_us_delta() in initcall_debug_report() (Mark Langsdorf) [2065730] - driver core: Export device_driver_attach() (Mark Langsdorf) [2065730] - driver core: Don't return EPROBE_DEFER to userspace during sysfs bind (Mark Langsdorf) [2065730] - driver core: Flow the return code from ->probe() through to sysfs bind (Mark Langsdorf) [2065730] - driver core: Better distinguish probe errors in really_probe (Mark Langsdorf) [2065730] - driver core: Pull required checks into driver_probe_device() (Mark Langsdorf) [2065730] - driver core: add a helper to setup both the of_node and fwnode of a device (Mark Langsdorf) [2065730] - devres: Enable trace events (Mark Langsdorf) [2065730] - devres: No need to call remove_nodes() when there none present (Mark Langsdorf) [2065730] - devres: Use list_for_each_safe_from() in remove_nodes() (Mark Langsdorf) [2065730] - devres: Make locking straight forward in release_nodes() (Mark Langsdorf) [2065730] - regmap: mdio: Reject invalid addresses (Mark Langsdorf) [2065730] - regmap: mdio: Fix regmap_bus pointer constness (Mark Langsdorf) [2065730] - PM: runtime: Allow unassigned ->runtime_suspend|resume callbacks (Mark Langsdorf) [2065730] - PM: runtime: Improve path in rpm_idle() when no callback (Mark Langsdorf) [2065730] - PM: domains: Drop/restore performance state votes for devices at runtime PM (Mark Langsdorf) [2065730] - PM: domains: Return early if perf state is already set for the device (Mark Langsdorf) [2065730] - PM: domains: Split code in dev_pm_genpd_set_performance_state() (Mark Langsdorf) [2065730] - PM: domains: fix some kernel-doc issues (Mark Langsdorf) [2065730] - regmap: mdio: Add clause-45 support (Mark Langsdorf) [2065730] - regmap: mdio: Clean up invalid clause-22 addresses (Mark Langsdorf) [2065730] - regmap-irq: Introduce inverted status registers support (Mark Langsdorf) [2065730] - ACPI: property: Constify stubs for CONFIG_ACPI=n case (Mark Langsdorf) [2065730] - device property: Unify access to of_node (Mark Langsdorf) [2065730] - drivers/base: Constify static attribute_group structs (Mark Langsdorf) [2065730] - devcoredump: remove contact information (Mark Langsdorf) [2065730] - component: Rename 'dev' to 'parent' (Mark Langsdorf) [2065730] - component: Drop 'dev' argument to component_match_realloc() (Mark Langsdorf) [2065730] - device property: Don't check for NULL twice in the loops (Mark Langsdorf) [2065730] - regmap: add support for 7/17 register formating (Mark Langsdorf) [2065730] - PM: wakeirq: Set IRQF_NO_AUTOEN when requesting the IRQ (Mark Langsdorf) [2065730] - drivers/base/node.c: make CACHE_ATTR define static DEVICE_ATTR_RO (Mark Langsdorf) [2065730] - regmap: mdio: Don't modify output if error happened (Mark Langsdorf) [2065730] - regmap: Add MDIO bus support (Mark Langsdorf) [2065730] - regmap-i2c: Set regmap max raw r/w from quirks (Mark Langsdorf) [2065730] - driver core: attribute_container: fix W=1 warnings (Mark Langsdorf) [2065730] - driver core: replace open-coded device_lock_assert() (Mark Langsdorf) [2065730] - device property: Retrieve fwnode from of_node via accessor (Mark Langsdorf) [2065730] - cpufreq: Kconfig: fix documentation links (Mark Langsdorf) [2065730] - PM: wakeup: remove redundant assignment to variable retval (Mark Langsdorf) [2065730] - PM / wakeup: use dev_set_name() directly (Mark Langsdorf) [2065730] - PM: clk: remove kernel-doc warning (Mark Langsdorf) [2065730] - PM: wakeup: fix kernel-doc warnings and fix typos (Mark Langsdorf) [2065730] - PM: runtime: remove kernel-doc warnings (Mark Langsdorf) [2065730] - software node: Introduce SOFTWARE_NODE_REFERENCE() helper macro (Mark Langsdorf) [2065730] - software node: Imply kobj_to_swnode() to be no-op (Mark Langsdorf) [2065730] - software node: Deduplicate code in fwnode_create_software_node() (Mark Langsdorf) [2065730] - software node: Introduce software_node_alloc()/software_node_free() (Mark Langsdorf) [2065730] - software node: Free resources explicitly when swnode_register() fails (Mark Langsdorf) [2065730] - driver core: add helper for deferred probe reason setting (Mark Langsdorf) [2065730] - driver core: Improve fw_devlink & deferred_probe_timeout interaction (Mark Langsdorf) [2065730] - driver core: Replace printf() specifier and drop unneeded casting (Mark Langsdorf) [2065730] - driver core: Cast to (void *) with __force for __percpu pointer (Mark Langsdorf) [2065730] - devcoredump: fix kernel-doc warning (Mark Langsdorf) [2065730] - platform-msi: fix kernel-doc warnings (Mark Langsdorf) [2065730] - driver core: attribute_container: remove kernel-doc warnings (Mark Langsdorf) [2065730] - driver core: remove kernel-doc warnings (Mark Langsdorf) [2065730] - base: dd: fix error return code of driver_sysfs_add() (Mark Langsdorf) [2065730] - driver core: Use unbound workqueue for deferred probes (Mark Langsdorf) [2065730] - devcoredump: avoid -Wempty-body warnings (Mark Langsdorf) [2065730] - device property: Add test cases for fwnode_property_count_*() APIs (Mark Langsdorf) [2065730] - device property: Sync descriptions of swnode array and group APIs (Mark Langsdorf) [2065730] - driver core: Update device link status properly for device_bind_driver() (Mark Langsdorf) [2065730] - driver core: Avoid pointless deferred probe attempts (Mark Langsdorf) [2065730] - drivers/base/cpu: remove redundant assignment of variable retval (Mark Langsdorf) [2065730] - driver core: dd: remove deferred_devices variable (Mark Langsdorf) [2065730] - driver core: component: remove dentry pointer in "struct master" (Mark Langsdorf) [2065730] - driver core: auxiliary bus: Remove unneeded module bits (Mark Langsdorf) [2065730] - PM: domains: Don't runtime resume devices at genpd_prepare() (Mark Langsdorf) [2065730] - redhat/configs: Add CONFIG_X86_AMD_PSTATE (Prarit Bhargava) - ACPI: CPPC: Drop redundant local variable from cpc_read() (Prarit Bhargava) [1961726] - ACPI: CPPC: Fix up I/O port access in cpc_read() (Prarit Bhargava) [1961726] - cpufreq: amd-pstate: Fix Kconfig dependencies for AMD P-State (Prarit Bhargava) [1961726] - cpufreq: amd-pstate: Fix struct amd_cpudata kernel-doc comment (Prarit Bhargava) [1961726] - cpufreq: amd-pstate: Add AMD P-State performance attributes (Prarit Bhargava) [1961726] - cpufreq: amd-pstate: Add AMD P-State frequencies attributes (Prarit Bhargava) [1961726] - cpufreq: amd-pstate: Add boost mode support for AMD P-State (Prarit Bhargava) [1961726] - cpufreq: amd-pstate: Add trace for AMD P-State module (Prarit Bhargava) [1961726] - cpufreq: amd-pstate: Introduce the support for the processors with shared memory solution (Prarit Bhargava) [1961726] - cpufreq: amd-pstate: Add fast switch function for AMD P-State (Prarit Bhargava) [1961726] - cpufreq: amd-pstate: Introduce a new AMD P-State driver to support future processors (Prarit Bhargava) [1961726] - ACPI: CPPC: Add CPPC enable register function (Prarit Bhargava) [1961726] - ACPI: CPPC: Check present CPUs for determining _CPC is valid (Prarit Bhargava) [1961726] - ACPI: CPPC: Implement support for SystemIO registers (Prarit Bhargava) [1961726] - x86/msr: Add AMD CPPC MSR definitions (Prarit Bhargava) [1961726] - x86/cpufeatures: Add AMD Collaborative Processor Performance Control feature flag (Prarit Bhargava) [1961726] - cpufreq: remove useless INIT_LIST_HEAD() (Prarit Bhargava) [1961726] - cpufreq: CPPC: Pass structure instance by reference (Prarit Bhargava) [1961726] - cpufreq: CPPC: Fix potential memleak in cppc_cpufreq_cpu_init (Prarit Bhargava) [1961726] - cpufreq: CPPC: Migrate to ->exit() callback instead of ->stop_cpu() (Prarit Bhargava) [1961726] - cpufreq: cppc: simplify default delay_us setting (Prarit Bhargava) [1961726] - cppc_cpufreq: replace per-cpu data array with a list (Prarit Bhargava) [1961726] - cppc_cpufreq: expose information on frequency domains (Prarit Bhargava) [1961726] - cppc_cpufreq: clarify support for coordination types (Prarit Bhargava) [1961726] - cppc_cpufreq: use policy->cpu as driver of frequency setting (Prarit Bhargava) [1961726] - cppc_cpufreq: simplify use of performance capabilities (Prarit Bhargava) [1961726] - cppc_cpufreq: clean up cpu, cpu_num and cpunum variable use (Prarit Bhargava) [1961726] - cppc_cpufreq: fix misspelling, code style and readability issues (Prarit Bhargava) [1961726] - cpufreq: CPPC: Reuse caps variable in few routines (Prarit Bhargava) [1961726] - cpufreq: cppc: Reorder code and remove apply_hisi_workaround variable (Prarit Bhargava) [1961726] - cpufreq: CPPC: add SW BOOST support (Prarit Bhargava) [1961726] - net/sched: act_ct: fix ref leak when switching zones (Marcelo Ricardo Leitner) [2014027] - net/sched: act_ct: Fix flow table lookup after ct clear or switching zones (Marcelo Ricardo Leitner) [2014027] - genirq: Provide new interfaces for affinity hints (Ivan Vecera) [2070044] - af_key: add __GFP_ZERO flag for compose_sadb_supported in function pfkey_register (Xin Long) [2075181] - ipv6: make ip6_rt_gc_expire an atomic_t (Hangbin Liu) [2077365] - ipv6: fix panic when forwarding a pkt with no in6 dev (Hangbin Liu) [2077365] - net: ipv6: ensure we call ipv6_mc_down() at most once (Hangbin Liu) [2077365] - ipv6/addrconf: use a boolean to choose between UNREGISTER/DOWN (Hangbin Liu) [2077365] - ipv6/addrconf: call addrconf_ifdown with consistent values (Hangbin Liu) [2077365] - ipmr,ip6mr: acquire RTNL before calling ip[6]mr_free_table() on failure path (Hangbin Liu) [2077365] - ipv6: annotate accesses to fn->fn_sernum (Hangbin Liu) [2077365] - ipv6: correct comments about fib6_node sernum (Hangbin Liu) [2077365] - ipv6: fix typos in __ip6_finish_output() (Hangbin Liu) [2077365] - oom_kill.c: futex: delay the OOM reaper to allow time for proper futex cleanup (Nico Pache) [1778048] - KVM: PPC: Fix TCE handling for VFIO (Daniel Henrique Barboza) [2062687] - udf: Restore i_lenAlloc when inode expansion fails (Carlos Maiolino) [2054653] {CVE-2022-0617} - udf: Fix NULL ptr deref when converting from inline format (Carlos Maiolino) [2054653] {CVE-2022-0617} - net/tls: fix slab-out-of-bounds bug in decrypt_internal (Sabrina Dubroca) [2080344] - tls: fix replacing proto_ops (Sabrina Dubroca) [2080344] - net/tls: use semicolons rather than commas to separate statements (Sabrina Dubroca) [2080344] - redhat: further rpminspect tuning (Jarod Wilson)- tun: annotate access to queue->trans_start (Ivan Vecera) [2069673] - net: annotate accesses to queue->trans_start (Ivan Vecera) [2069673] - ntb_hw_amd: Add NTB PCI ID for new gen CPU (Sudheesh Mavila) [2037287] - ipmi: initialize len variable (Tony Camuso) [2069839] - ipmi: kcs: aspeed: Remove old bindings support (Tony Camuso) [2069839] - ipmi:ipmb: Add the ability to have a separate slave and master device (Tony Camuso) [2069839] - ipmi:ipmi_ipmb: Unregister the SMI on remove (Tony Camuso) [2069839] - ipmi: kcs: aspeed: Add AST2600 compatible string (Tony Camuso) [2069839] - ipmi: ssif: replace strlcpy with strscpy (Tony Camuso) [2069839] - ipmi/watchdog: Constify ident (Tony Camuso) [2069839] - ipmi: Fix UAF when uninstall ipmi_si and ipmi_msghandler module (Tony Camuso) [2069839] - ipmi: fix initialization when workqueue allocation fails (Tony Camuso) [2069839] - ipmi: bail out if init_srcu_struct fails (Tony Camuso) [2069839] - ipmi: ssif: initialize ssif_info->client early (Tony Camuso) [2069839] - ipmi: msghandler: Make symbol 'remove_work_wq' static (Tony Camuso) [2069839] - ipmi: Move remove_work to dedicated workqueue (Tony Camuso) [2069839] - ipmi: kcs_bmc: Fix a memory leak in the error handling path of 'kcs_bmc_serio_add_device()' (Tony Camuso) [2069839] - char: ipmi: replace snprintf in show functions with sysfs_emit (Tony Camuso) [2069839] - ipmi: ipmb: fix dependencies to eliminate build error (Tony Camuso) [2069839] - ipmi:ipmb: Add OF support (Tony Camuso) [2069839] - ipmi: bt: Add ast2600 compatible string (Tony Camuso) [2069839] - ipmi: bt-bmc: Use registers directly (Tony Camuso) [2069839] - ipmi: ipmb: Fix off-by-one size check on rcvlen (Tony Camuso) [2069839] - ipmi:ssif: Use depends on, not select, for I2C (Tony Camuso) [2069839] - ipmi:ipmb: Add initial support for IPMI over IPMB (Tony Camuso) [2069839] - ipmi: Export ipmb_checksum() (Tony Camuso) [2069839] - ipmi: Check error code before processing BMC response (Tony Camuso) [2069839] - ipmi:devintf: Return a proper error when recv buffer too small (Tony Camuso) [2069839] - ipmi: Disable some operations during a panic (Tony Camuso) [2069839] - ipmi:watchdog: Set panic count to proper value on a panic (Tony Camuso) [2069839] - char: ipmi: use DEVICE_ATTR helper macro (Tony Camuso) [2069839] - ipmi: rate limit ipmi smi_event failure message (Tony Camuso) [2069839] - cifs: fix NULL ptr dereference in smb2_ioctl_query_info() (Ronnie Sahlberg) [2074316] - cifs: prevent bad output lengths in smb2_ioctl_query_info() (Ronnie Sahlberg) [2074316] - net: tcp better handling of reordering then loss cases (Marcelo Ricardo Leitner) [2074566] - tcp: tcp_mark_head_lost is only valid for sack-tcp (Marcelo Ricardo Leitner) [2074566] - udp6: allow SO_MARK ctrl msg to affect routing (Xin Long) [2066598] - ip: Fix SO_MARK in RST, ACK and ICMP packets (Xin Long) [2066598] - ip: support SO_MARK cmsg (Xin Long) [2066598] - ip: unconditionally set cork gso_size (Xin Long) [2066598] - ip: remove tx_flags from ipcm_cookie and use same logic for v4 and v6 (Xin Long) [2066598] - ipv6: fold sockcm_cookie into ipcm6_cookie (Xin Long) [2066598] - sock: sockc cookie initializer (Xin Long) [2066598] - ipv6: ipcm6_cookie initializer (Xin Long) [2066598] - ipv4: ipcm_cookie initializers (Xin Long) [2066598] - s390/kexec: fix memory leak of ipl report buffer (Lichen Liu) [2001758] - s390/kexec: fix return code handling (Lichen Liu) [2001758] - block: don't try to throttle split bio if iops limit isn't set (Ming Lei) [2027241] - block: throttle split bio in case of iops limit (Ming Lei) [2027241] - block: don't check bio in blk_throtl_dispatch_work_fn (Ming Lei) [2027241] - x86/apic/vector: Fix ordering in vector assignment (Frank Ramsay) [2076607] - mt76: mt7921e: fix possible probe failure after reboot (Íñigo Huguet) [2078877] - veth: Ensure eth header is in skb's linear part (Guillaume Nault) [1966887] - net: annotate accesses to dev->gso_max_segs (Ivan Vecera) [2080317] - net: annotate accesses to dev->gso_max_size (Ivan Vecera) [2080317] - NFS: Don't loop forever in nfs_do_recoalesce() (Scott Mayhew) [2080467] - tipc: fix the timer expires after interval 100ms (Xin Long) [2080369] - tipc: Fix end of loop tests for list_for_each_entry() (Xin Long) [2080369] - tipc: fix a bit overflow in tipc_crypto_key_rcv() (Xin Long) [2080369] - tipc: rate limit warning for received illegal binding update (Xin Long) [2080369] - net: tipc: remove unused static inlines (Xin Long) [2080369] - tipc: fix unique bearer names sanity check (Xin Long) [2080369] - net/tipc: fix missing destroy_workqueue() on error in tipc_crypto_start() (Xin Long) [2080369] - tipc: add extack messages for bearer/media failure (Xin Long) [2080369] - scsi: smartpqi: Fix unused variable pqi_pm_ops for clang (Don Brace) [2012227] - scsi: smartpqi: Update version to 2.1.14-035 (Don Brace) [2012227] - scsi: smartpqi: Fix lsscsi -t SAS addresses (Don Brace) [2012227] - scsi: smartpqi: Fix hibernate and suspend (Don Brace) [2012227] - scsi: smartpqi: Fix BUILD_BUG_ON() statements (Don Brace) [2012227] - scsi: smartpqi: Fix NUMA node not updated during init (Don Brace) [2012227] - scsi: smartpqi: Expose SAS address for SATA drives (Don Brace) [2012227] - scsi: smartpqi: Speed up RAID 10 sequential reads (Don Brace) [2012227] - scsi: smartpqi: Fix kdump issue when controller is locked up (Don Brace) [2012227] - scsi: smartpqi: Update volume size after expansion (Don Brace) [2012227] - scsi: smartpqi: Avoid drive spin-down during suspend (Don Brace) [2012227] - scsi: smartpqi: Resolve delay issue with PQI_HZ value (Don Brace) [2012227] - scsi: smartpqi: Fix a typo in func pqi_aio_submit_io() (Don Brace) [2012227] - scsi: smartpqi: Fix a name typo and cleanup code (Don Brace) [2012227] - scsi: smartpqi: Quickly propagate path failures to SCSI midlayer (Don Brace) [2012227] - scsi: smartpqi: Eliminate drive spin down on warm boot (Don Brace) [2012227] - scsi: smartpqi: Enable SATA NCQ priority in sysfs (Don Brace) [2012227] - scsi: smartpqi: Add PCI IDs (Don Brace) [2012227] - scsi: smartpqi: Fix rmmod stack trace (Don Brace) [2012227] - ibmvnic: fix race between xmit and reset (Diego Domingos) [2051354] - ibmvnic: Allow queueing resets during probe (Diego Domingos) [2051354] - ibmvnic: clear fop when retrying probe (Diego Domingos) [2051354] - ibmvnic: init init_done_rc earlier (Diego Domingos) [2051354] - ibmvnic: register netdev after init of adapter (Diego Domingos) [2051354] - ibmvnic: complete init_done on transport events (Diego Domingos) [2051354] - ibmvnic: define flush_reset_queue helper (Diego Domingos) [2051354] - ibmvnic: initialize rc before completing wait (Diego Domingos) [2051354] - ibmvnic: free reset-work-item when flushing (Diego Domingos) [2051354] - ibmvnic: schedule failover only if vioctl fails (Diego Domingos) [2051354] - net/ibmvnic: Cleanup workaround doing an EOI after partition migration (Diego Domingos) [2051354]- xfs: don't expose misaligned extszinherit hints to userspace (Brian Foster) [2072552] - xfs: correct the narrative around misaligned rtinherit/extszinherit dirs (Brian Foster) [2072552] - xfs: fix endianness issue in xfs_ag_shrink_space (Brian Foster) [2072552] - xfs: bunmapi has unnecessary AG lock ordering issues (Brian Foster) [2072552] - xfs: btree format inode forks can have zero extents (Brian Foster) [2072552] - xfs: validate extsz hints against rt extent size when rtinherit is set (Brian Foster) [2072552] - xfs: standardize extent size hint validation (Brian Foster) [2072552] - xfs: check free AG space when making per-AG reservations (Brian Foster) [2072552] - xfs: retry allocations when locality-based search fails (Brian Foster) [2072552] - xfs: adjust rt allocation minlen when extszhint > rtextsize (Brian Foster) [2072552] - iomap: remove unused private field from ioend (Brian Foster) [2072552] - xfs: don't allow log writes if the data device is readonly (Brian Foster) [2072552] - xfs: count free space btree blocks when scrubbing pre-lazysbcount fses (Brian Foster) [2072552] - xfs: update superblock counters correctly for !lazysbcount (Brian Foster) [2072552] - xfs: don't check agf_btreeblks on pre-lazysbcount filesystems (Brian Foster) [2072552] - xfs: rename struct xfs_legacy_ictimestamp (Brian Foster) [2072552] - xfs: rename xfs_ictimestamp_t (Brian Foster) [2072552] - xfs: remove xfs_quiesce_attr declaration (Brian Foster) [2072552] - xfs: remove XFS_IFEXTENTS (Brian Foster) [2072552] - xfs: remove XFS_IFINLINE (Brian Foster) [2072552] - xfs: remove XFS_IFBROOT (Brian Foster) [2072552] - xfs: only look at the fork format in xfs_idestroy_fork (Brian Foster) [2072552] - xfs: simplify xfs_attr_remove_args (Brian Foster) [2072552] - xfs: rename and simplify xfs_bmap_one_block (Brian Foster) [2072552] - xfs: move the XFS_IFEXTENTS check into xfs_iread_extents (Brian Foster) [2072552] - xfs: get rid of the ip parameter to xchk_setup_* (Brian Foster) [2072552] - xfs: move the check for post-EOF mappings into xfs_can_free_eofblocks (Brian Foster) [2072552] - xfs: move the xfs_can_free_eofblocks call under the IOLOCK (Brian Foster) [2072552] - xfs: precalculate default inode attribute offset (Brian Foster) [2072552] - xfs: default attr fork size does not handle device inodes (Brian Foster) [2072552] - xfs: inode fork allocation depends on XFS_IFEXTENT flag (Brian Foster) [2072552] - xfs: eager inode attr fork init needs attr feature awareness (Brian Foster) [2072552] - xfs: scrub: Disable check for unoptimized data fork bmbt node (Brian Foster) [2072552] - xfs: Use struct xfs_bmdr_block instead of struct xfs_btree_block to calculate root node size (Brian Foster) [2072552] - xfs: merge _xfs_dic2xflags into xfs_ip2xflags (Brian Foster) [2072552] - xfs: move the di_crtime field to struct xfs_inode (Brian Foster) [2072552] - xfs: move the di_flags2 field to struct xfs_inode (Brian Foster) [2072552] - xfs: move the di_flags field to struct xfs_inode (Brian Foster) [2072552] - xfs: move the di_forkoff field to struct xfs_inode (Brian Foster) [2072552] - xfs: use a union for i_cowextsize and i_flushiter (Brian Foster) [2072552] - xfs: use XFS_B_TO_FSB in xfs_ioctl_setattr (Brian Foster) [2072552] - xfs: cleanup xfs_fill_fsxattr (Brian Foster) [2072552] - xfs: move the di_flushiter field to struct xfs_inode (Brian Foster) [2072552] - xfs: move the di_cowextsize field to struct xfs_inode (Brian Foster) [2072552] - xfs: move the di_extsize field to struct xfs_inode (Brian Foster) [2072552] - xfs: move the di_nblocks field to struct xfs_inode (Brian Foster) [2072552] - xfs: move the di_size field to struct xfs_inode (Brian Foster) [2072552] - xfs: move the di_projid field to struct xfs_inode (Brian Foster) [2072552] - xfs: don't clear the "dinode core" in xfs_inode_alloc (Brian Foster) [2072552] - xfs: remove the di_dmevmask and di_dmstate fields from struct xfs_icdinode (Brian Foster) [2072552] - xfs: remove the unused xfs_icdinode_has_bigtime helper (Brian Foster) [2072552] - xfs: handle crtime more carefully in xfs_bulkstat_one_int (Brian Foster) [2072552] - xfs: consistently initialize di_flags2 (Brian Foster) [2072552] - xfs: split xfs_imap_to_bp (Brian Foster) [2072552] - xfs: scrub: Remove incorrect check executed on block format directories (Brian Foster) [2072552] - xfs: add error injection for per-AG resv failure (Brian Foster) [2072552] - xfs: support shrinking unused space in the last AG (Brian Foster) [2072552] - xfs: introduce xfs_ag_shrink_space() (Brian Foster) [2072552] - xfs: hoist out xfs_resizefs_init_new_ags() (Brian Foster) [2072552] - xfs: update lazy sb counters immediately for resizefs (Brian Foster) [2072552] - xfs: __percpu_counter_compare() inode count debug too expensive (Brian Foster) [2072552] - xfs: reduce debug overhead of dir leaf/node checks (Brian Foster) [2072552] - xfs: No need for inode number error injection in __xfs_dir3_data_check (Brian Foster) [2072552] - xfs: type verification is expensive (Brian Foster) [2072552] - xfs: optimise xfs_buf_item_size/format for contiguous regions (Brian Foster) [2072552] - xfs: xfs_buf_item_size_segment() needs to pass segment offset (Brian Foster) [2072552] - xfs: reduce buffer log item shadow allocations (Brian Foster) [2072552] - xfs: initialise attr fork on inode create (Brian Foster) [2072552] - xfs: ensure xfs_errortag_random_default matches XFS_ERRTAG_MAX (Brian Foster) [2072552] - xfs: rename variable mp to parsing_mp (Brian Foster) [2072552] - xfs: rename the blockgc workqueue (Brian Foster) [2072552] - xfs: validate ag btree levels using the precomputed values (Brian Foster) [2072552] - xfs: remove return value from xchk_ag_btcur_init (Brian Foster) [2072552] - xfs: set the scrub AG number in xchk_ag_read_headers (Brian Foster) [2072552] - xfs: bail out of scrub immediately if scan incomplete (Brian Foster) [2072552] - xfs: drop freeze protection when running GETFSMAP (Brian Foster) [2072552] - selftest/powerpc: Add PAPR sysfs attributes sniff test (Steve Best) [1986183] - powerpc/pseries: Interface to represent PAPR firmware attributes (Steve Best) [1986183] - net: mana: Remove unnecessary check of cqe_type in mana_process_rx_cqe() (Mohammed Gamal) [2051719] - net: mana: Add handling of CQE_RX_TRUNCATED (Mohammed Gamal) [2051719] - RDMA/rxe: Revert changes from irqsave to bh locks (Kamal Heib) [2056499] - RDMA/rxe: Check the last packet by RXE_END_MASK (Kamal Heib) [2056499] - RDMA/rxe: Remove qp->grp_lock and qp->grp_list (Kamal Heib) [2056499] - RDMA/rxe: Remove rxe_drop_all_macst_groups (Kamal Heib) [2056499] - RDMA/rxe: Enforce IBA o10-2.2.3 (Kamal Heib) [2056499] - RDMA/rxe: Rename rxe_mc_grp and rxe_mc_elem (Kamal Heib) [2056499] - RDMA/rxe: Move rxe_mcast_attach/detach to rxe_mcast.c (Kamal Heib) [2056499] - RDMA/rxe: Move rxe_mcast_add/delete to rxe_mcast.c (Kamal Heib) [2056499] - RDMA/cma: Do not change route.addr.src_addr outside state checks (Kamal Heib) [2056499] - RDMA/ib_srp: Fix a deadlock (Kamal Heib) [2056499] - RDMA/siw: Fix broken RDMA Read Fence/Resume logic. (Kamal Heib) [2056499] - IB/cm: Release previously acquired reference counter in the cm_id_priv (Kamal Heib) [2056499] - RDMA/siw: Fix refcounting leak in siw_create_qp() (Kamal Heib) [2056499] - RDMA/ucma: Protect mc during concurrent multicast leaves (Kamal Heib) [2056499] - RDMA/cma: Use correct address when leaving multicast group (Kamal Heib) [2056499] - IB/hfi1: Fix tstats alloc and dealloc (Kamal Heib) [2056499 2049845] - IB/hfi1: Fix AIP early init panic (Kamal Heib) [2056499 2049845] - IB/hfi1: Fix alloc failure with larger txqueuelen (Kamal Heib) [2056499 2049845] - IB/hfi1: Fix panic with larger ipoib send_queue_size (Kamal Heib) [2056499 2049845] - all: replace find_next{,_zero}_bit with find_first{,_zero}_bit where appropriate (Kamal Heib) [2056499] - RDMA/irdma: Remove the redundant return (Kamal Heib) [2056499 2037972] - RDMA/rxe: Use the standard method to produce udp source port (Kamal Heib) [2056499] - RDMA/irdma: Make the source udp port vary (Kamal Heib) [2056499 2037972] - RDMA/core: Calculate UDP source port based on flow label or lqpn/rqpn (Kamal Heib) [2056499] - IB/iser: Align coding style across driver (Kamal Heib) [2056499] - IB/iser: Remove un-needed casting to/from void pointer (Kamal Heib) [2056499] - IB/iser: Don't suppress send completions (Kamal Heib) [2056499] - IB/iser: Rename ib_ret local variable (Kamal Heib) [2056499] - IB/iser: Fix RNR errors (Kamal Heib) [2056499] - IB/iser: Remove deprecated pi_guard module param (Kamal Heib) [2056499] - IB/mlx5: Expose NDR speed through MAD (Kamal Heib) [2056499] - RDMA/rxe: Delete deprecated module parameters interface (Kamal Heib) [2056499] - RDMA/mad: Delete duplicated init_query_mad functions (Kamal Heib) [2056499] - RDMA/rxe: Fix indentations and operators sytle (Kamal Heib) [2056499] - RDMA: Use default_groups in kobj_type (Kamal Heib) [2056499] - RDMA/rxe: Fix a typo in opcode name (Kamal Heib) [2056499] - RDMA/rxe: Remove the unused xmit_errors member (Kamal Heib) [2056499] - RDMA/rxe: Remove redundant err variable (Kamal Heib) [2056499] - RDMA/irdma: Use auxiliary_device driver data helpers (Kamal Heib) [2056499 2037972] - driver core: auxiliary bus: Add driver data helpers (Kamal Heib) [2056499] - RDMA/cma: Let cma_resolve_ib_dev() continue search even after empty entry (Kamal Heib) [2056499] - RDMA/core: Let ib_find_gid() continue search even after empty entry (Kamal Heib) [2056499] - RDMA/core: Modify rdma_query_gid() to return accurate error codes (Kamal Heib) [2056499] - RDMA/rxe: Remove the unnecessary variable (Kamal Heib) [2056499] - RDMA/irdma: Fix the type used to declare a bitmap (Kamal Heib) [2056499 2037972] - RDMA/uverbs: Remove the unnecessary assignment (Kamal Heib) [2056499] - RDMA/siw: Use max() instead of doing it manually (Kamal Heib) [2056499] - RDMA/pvrdma: Use non-atomic bitmap functions when possible (Kamal Heib) [2056499] - RDMA/pvrdma: Use bitmap_zalloc() when applicable (Kamal Heib) [2056499] - IB/hfi1: Use bitmap_zalloc() when applicable (Kamal Heib) [2056499 2049845] - RDMA/siw: Use helper function to set sys_image_guid (Kamal Heib) [2056499] - RDMA/cma: Remove open coding of overflow checking for private_data_len (Kamal Heib) [2056499] - RDMA/rxe: Remove some #defines from rxe_pool.h (Kamal Heib) [2056499] - RDMA/rxe: Remove #include "rxe_loc.h" from rxe_pool.c (Kamal Heib) [2056499] - RDMA/rxe: Save object pointer in pool element (Kamal Heib) [2056499] - RDMA/rxe: Copy setup parameters into rxe_pool (Kamal Heib) [2056499] - RDMA/rxe: Cleanup rxe_pool_entry (Kamal Heib) [2056499] - RDMA/rxe: Replace irqsave locks with bh locks (Kamal Heib) [2056499] - RDMA/usnic: Clean up usnic_ib_alloc_pd() (Kamal Heib) [2056499] - RDMA/irdma: Use helper function to set GUIDs (Kamal Heib) [2056499 2037972] - RDMA/rxe: Prevent double freeing rxe_map_set() (Kamal Heib) [2056498] - IB/hfi1: Fix leak of rcvhdrtail_dummy_kvaddr (Kamal Heib) [2056498 2049845] - IB/hfi1: Fix early init panic (Kamal Heib) [2056498 2049845] - IB/hfi1: Insure use of smp_processor_id() is preempt disabled (Kamal Heib) [2056498 2049845] - IB/hfi1: Correct guard on eager buffer deallocation (Kamal Heib) [2056498 2049845] - RDMA: Fix use-after-free in rxe_queue_cleanup (Kamal Heib) [2056498] - RDMA/nldev: Check stat attribute before accessing it (Kamal Heib) [2056498] - IB/hfi1: Properly allocate rdma counter desc memory (Kamal Heib) [2056498 2049845] - RDMA/core: Set send and receive CQ before forwarding to the driver (Kamal Heib) [2056498] - RDMA/netlink: Add __maybe_unused to static inline in C file (Kamal Heib) [2056498] - RDMA/core: Require the driver to set the IOVA correctly during rereg_mr (Kamal Heib) [2056498] - RDMA/irdma: optimize rx path by removing unnecessary copy (Kamal Heib) [2056498 2037972] - IB/opa_vnic: Rebranding of OPA VNIC driver to Cornelis Networks (Kamal Heib) [2056498] - IB/hfi1: Rebranding of hfi1 driver to Cornelis Networks (Kamal Heib) [2056498 2049845] - RDMA/rxe: Make rxe_type_info static const (Kamal Heib) [2056498] - RDMA/rxe: Use 'bitmap_zalloc()' when applicable (Kamal Heib) [2056498] - RDMA/rxe: Save a few bytes from struct rxe_pool (Kamal Heib) [2056498] - RDMA/irdma: Remove the unused variable local_qp (Kamal Heib) [2056498 2037972] - RDMA/core: Fix missed initialization of rdma_hw_stats::lock (Kamal Heib) [2056498] - RDMA/irdma: Remove the unused spin lock in struct irdma_qp_uk (Kamal Heib) [2056498 2037972] - RDMA: Constify netdev->dev_addr accesses (Kamal Heib) [2056498] - RDMA/ipoib: Use dev_addr_mod() (Kamal Heib) [2056498] - RDMA/core: Use kvzalloc when allocating the struct ib_port (Kamal Heib) [2056498] - RDMA/irdma: Make irdma_uk_cq_init() return a void (Kamal Heib) [2056498 2037972] - RDMA/rxe: Convert kernel UD post send to use ah_num (Kamal Heib) [2056498] - RDMA/rxe: Lookup kernel AH from ah index in UD WQEs (Kamal Heib) [2056498] - RDMA/rxe: Replace ah->pd by ah->ibah.pd (Kamal Heib) [2056498] - RDMA/rxe: Create AH index and return to user space (Kamal Heib) [2056498] - RDMA/rxe: Change AH objects to indexed (Kamal Heib) [2056498] - RDMA/rxe: Move AV from rxe_send_wqe to rxe_send_wr (Kamal Heib) [2056498] - RDMA/irdma: Remove irdma_cqp_up_map_cmd() (Kamal Heib) [2056498 2037972] - RDMA/irdma: Remove irdma_get_hw_addr() (Kamal Heib) [2056498 2037972] - RDMA/irdma: Remove irdma_sc_send_lsmm_nostag() (Kamal Heib) [2056498 2037972] - RDMA/irdma: Remove irdma_uk_mw_bind() (Kamal Heib) [2056498 2037972] - RDMA: Remove redundant 'flush_workqueue()' calls (Kamal Heib) [2056498] - RDMA/iwpm: Remove redundant initialization of pointer err_str (Kamal Heib) [2056498] - RDMA/nldev: Allow optional-counter status configuration through RDMA netlink (Kamal Heib) [2056498] - RDMA/nldev: Split nldev_stat_set_mode_doit out of nldev_stat_set_doit (Kamal Heib) [2056498] - RDMA/nldev: Add support to get status of all counters (Kamal Heib) [2056498] - RDMA/counter: Add optional counter support (Kamal Heib) [2056498] - RDMA/counter: Add an is_disabled field in struct rdma_hw_stats (Kamal Heib) [2056498] - RDMA/core: Add a helper API rdma_free_hw_stats_struct (Kamal Heib) [2056498] - RDMA/bnxt_re: Fix kernel panic when trying to access bnxt_re_stat_descs (Kamal Heib) [2056499] - RDMA/counter: Add a descriptor in struct rdma_hw_stats (Kamal Heib) [2056498] - RDMA/bnxt_re: Update statistics counter name (Kamal Heib) [2056498] - RDMA/bnxt_re: Add extended statistics counters (Kamal Heib) [2056498] - RDMA/efa: CQ notifications (Kamal Heib) [2056498] - RDMA/rxe: Remove duplicate settings (Kamal Heib) [2056498] - RDMA/rxe: Set partial attributes when completion status != IBV_WC_SUCCESS (Kamal Heib) [2056498] - RDMA/rxe: Change the is_user member of struct rxe_cq to bool (Kamal Heib) [2056498] - RDMA/rxe: Remove the is_user members of struct rxe_sq/rxe_rq/rxe_srq (Kamal Heib) [2056498] - RDMA/irdma: Delete unused struct irdma_bth (Kamal Heib) [2056498 2037972] - IB/hf1: Use string_upper() instead of an open coded variant (Kamal Heib) [2056498] - RDMA/cma: Split apart the multiple uses of the same list heads (Kamal Heib) [2056498] - RDMA/rxe: Remove unused WR_READ_WRITE_OR_SEND_MASK (Kamal Heib) [2056498] - RDMA/rxe: Add MASK suffix for RXE_READ_OR_ATOMIC and RXE_WRITE_OR_SEND (Kamal Heib) [2056498] - RDMA/rxe: Add new RXE_READ_OR_WRITE_MASK (Kamal Heib) [2056498] - RDMA/hfi1: Use struct_size() and flex_array_size() helpers (Kamal Heib) [2056498 2049845] - IB/hfi1: Add ring consumer and producers traces (Kamal Heib) [2056498 2049845] - IB/hfi1: Remove atomic completion count (Kamal Heib) [2056498 2049845] - IB/hfi1: Tune netdev xmit cachelines (Kamal Heib) [2056498 2049845] - IB/hfi1: Get rid of tx priv backpointer (Kamal Heib) [2056498 2049845] - IB/hfi1: Get rid of hot path divide (Kamal Heib) [2056498 2049845] - IB/hfi1: Remove cache and embed txreq in ring (Kamal Heib) [2056498 2049845] - RDMA/rxe: Only allow invalidate for appropriate MRs (Kamal Heib) [2056498] - RDMA/rxe: Create duplicate mapping tables for FMRs (Kamal Heib) [2056498] - RDMA/rxe: Separate HW and SW l/rkeys (Kamal Heib) [2056498] - RDMA/rxe: Cleanup MR status and type enums (Kamal Heib) [2056498] - RDMA/rxe: Add memory barriers to kernel queues (Kamal Heib) [2056498] - RDMA/rxe: remove the unnecessary variable (Kamal Heib) [2056498] - RDMA/rxe: remove the redundant variable (Kamal Heib) [2056498] - RDMA/rxe: Fix wrong port_cap_flags (Kamal Heib) [2056498] - RDMA/rdmavt: Fix error code in rvt_create_qp() (Kamal Heib) [2056497 2049845] - IB/hfi1: Fix abba locking issue with sc_disable() (Kamal Heib) [2056497 2049845] - RDMA/hfi1: Fix kernel pointer leak (Kamal Heib) [2056497 2049845] - RDMA/usnic: Lock VF with mutex instead of spinlock (Kamal Heib) [2056497] - RDMA/cma: Do not change route.addr.src_addr.ss_family (Kamal Heib) [2056497] - IB/hfi1: make hist static (Kamal Heib) [2056497 2049845] - RDMA/hfi1: Convert to SPDX identifier (Kamal Heib) [2056497 2049845] - IB/rdmavt: Convert to SPDX identifier (Kamal Heib) [2056497 2049845] - RDMA/core/sa_query: Retry SA queries (Kamal Heib) [2056497] - IB/core: Remove deprecated current_seq comments (Kamal Heib) [2056497] - RDMA/efa: Rename vector field in efa_irq struct to irqn (Kamal Heib) [2056497] - RDMA/efa: Remove unused cpu field from irq struct (Kamal Heib) [2056497] - RDMA/core/sa_query: Remove unused function (Kamal Heib) [2056497] - RDMA/hfi1: Stop using seq_get_buf in _driver_stats_seq_show (Kamal Heib) [2056497 2049845] - RDMA/core: Create clean QP creations interface for uverbs (Kamal Heib) [2056497] - RDMA/core: Properly increment and decrement QP usecnts (Kamal Heib) [2056497] - RDMA/core: Configure selinux QP during creation (Kamal Heib) [2056497] - RDMA/core: Reorganize create QP low-level functions (Kamal Heib) [2056497] - RDMA/core: Remove protection from wrong in-kernel API usage (Kamal Heib) [2056497] - RDMA/core: Delete duplicated and unreachable code (Kamal Heib) [2056497] - rdma/qedr: Fix crash due to redundant release of device's qp memory (Kamal Heib) [2056497] - RDMA: Globally allocate and release QP memory (Kamal Heib) [2056497] - RDMA/mlx5: Rework custom driver QP type creation (Kamal Heib) [2056497] - RDMA/usnic: Fix memleak in find_free_vf_and_create_qp_grp (Kamal Heib) [2056497] - RDMA/rdmavt: Decouple QP and SGE lists allocations (Kamal Heib) [2056497 2049845] - RDMA/efa: Remove double QP type assignment (Kamal Heib) [2056497] - RDMA/hfi1: Fix typo in comments (Kamal Heib) [2056497 2049845] - RDMA/iwpm: Rely on the rdma_nl_[un]register() to ensure that requests are valid (Kamal Heib) [2056497] - RDMA/iwpm: Remove not-needed reference counting (Kamal Heib) [2056497] - RDMA/hfi1: Convert from atomic_t to refcount_t on hfi1_devdata->user_refcount (Kamal Heib) [2056497 2049845] - IB/hfi1: Adjust pkey entry in index 0 (Kamal Heib) [2056497 2049845] - IB/hfi1: Indicate DMA wait when txq is queued for wakeup (Kamal Heib) [2056497 2049845] - RDMA/rxe: Fix types in rxe_icrc.c (Kamal Heib) [2056497] - RDMA/rxe: Add kernel-doc comments to rxe_icrc.c (Kamal Heib) [2056497] - RDMA/rxe: Move crc32 init code to rxe_icrc.c (Kamal Heib) [2056497] - RDMA/rxe: Fixup rxe_icrc_hdr (Kamal Heib) [2056497] - RDMA/rxe: Move rxe_crc32 to a subroutine (Kamal Heib) [2056497] - RDMA/rxe: Move ICRC generation to a subroutine (Kamal Heib) [2056497] - RDMA/rxe: Fixup rxe_send and rxe_loopback (Kamal Heib) [2056497] - RDMA/rxe: Move rxe_xmit_packet to a subroutine (Kamal Heib) [2056497] - RDMA/rxe: Move ICRC checking to a subroutine (Kamal Heib) [2056497] - IB/core: Read subnet_prefix in ib_query_port via cache. (Kamal Heib) [2056497] - IB/core: Shifting initialization of device->cache_lock (Kamal Heib) [2056497] - IB/core: Updating cache for subnet_prefix in config_non_roce_gid_cache() (Kamal Heib) [2056497] - RDMA/efa: Split hardware stats to device and port stats (Kamal Heib) [2056497] - RDMA/rxe: Remove the repeated 'mr->umem = umem' (Kamal Heib) [2056497] - RDMA/siw: Convert siw_tx_hdt() to kmap_local_page() (Kamal Heib) [2056497] - RDMA/siw: Remove kmap() (Kamal Heib) [2056497] - treewide: Add missing semicolons to __assign_str uses (Kamal Heib) [2056497] - RDMA/hfi1: Remove use of kmap() (Kamal Heib) [2056497 2049845] - RDMA: Delete not-used static inline functions (Kamal Heib) [2056497] - mm/page_owner.c: record tgid (Waiman Long) [2069294] - mm/page_owner: record task command name (Waiman Long) [2069294] - mm/page_owner: print memcg information (Waiman Long) [2069294] - mm/page_owner: use scnprintf() to avoid excessive buffer overrun check (Waiman Long) [2069294] - lib/vsprintf: avoid redundant work with 0 size (Waiman Long) [2069294] - lib, stackdepot: add helper to print stack entries into buffer (Waiman Long) [2069294] - lib, stackdepot: add helper to print stack entries (Waiman Long) [2069294] - lib, stackdepot: check stackdepot handle before accessing slabs (Waiman Long) [2069294] - stacktrace: move filter_irq_stacks() to kernel/stacktrace.c (Waiman Long) [2069294] - lib/stackdepot: introduce __stack_depot_save() (Waiman Long) [2069294] - mm: introduce PAGEFLAGS_MASK to replace ((1UL << NR_PAGEFLAGS) - 1) (Waiman Long) [2069294] - mm/page_owner: constify dump_page_owner (Waiman Long) [2069294] - mm: page_owner: detect page_owner recursion via task_struct (Waiman Long) [2069294] - mm: page_owner: use kstrtobool() to parse bool option (Waiman Long) [2069294] - mm: page_owner: fetch backtrace only for tracked pages (Waiman Long) [2069294] - mm, page_owner: remove unused parameter in __set_page_owner_handle (Waiman Long) [2069294] - mm/page_owner: record the timestamp of all pages during free (Waiman Long) [2069294] - mm/page_owner: use helper function zone_end_pfn() to get end_pfn (Waiman Long) [2069294] - mm/page_owner: record timestamp and pid (Waiman Long) [2069294] - x86/platform/uv: Log gap hole end size (Frank Ramsay) [2074098] - x86/platform/uv: Update TSC sync state for UV5 (Frank Ramsay) [2074098] - x86/platform/uv: Update NMI Handler for UV5 (Frank Ramsay) [2074098] - x86/platform/uv: Remove unused variable in UV5 NMI handler (Frank Ramsay) [2074098] - timekeeping: Boot should be boottime for coarse ns accessor (Ivan Vecera) [2076879]- net_tstamp: define new flag HWTSTAMP_FLAG_BONDED_PHC_INDEX (Petr Oros) [2070041] - net_tstamp: add new flag HWTSTAMP_FLAG_BONDED_PHC_INDEX (Petr Oros) [2070041] - net: fix NULL pointer reference in cipso_v4_doi_free (Guillaume Nault) [2074597] - partitions/efi: Fix partition name parsing in GUID partition entry (Ming Lei) [2075085] - psi: Fix uaf issue when psi trigger is destroyed while being polled (Waiman Long) [2046396] - cgroup/cpuset: Make child cpusets restrict parents on v1 hierarchy (Waiman Long) [2046396] - cgroup/cpuset: Don't let child cpusets restrict parent in default hierarchy (Waiman Long) [2046396] - mm/page_alloc: detect allocation forbidden by cpuset and bail out early (Waiman Long) [2046396] - cgroup: Fix rootcg cpu.stat guest double counting (Waiman Long) [2046396] - cgroup: no need for cgroup_mutex for /proc/cgroups (Waiman Long) [2046396] - cgroup: remove cgroup_mutex from cgroupstats_build (Waiman Long) [2046396] - cgroup: Fix memory leak caused by missing cgroup_bpf_offline (Waiman Long) [2046396] - cgroup: cgroup-v1: do not exclude cgrp_dfl_root (Waiman Long) [2046396] - bpf, test, cgroup: Use sk_{alloc,free} for test cases (Waiman Long) [2046396] - bpf, cgroup: Assign cgroup in cgroup_sk_alloc when called from interrupt (Waiman Long) [2046396] - bpf, cgroups: Fix cgroup v2 fallback on v1/v2 mixed mode (Waiman Long) [2046396] - cgroup/cpuset: Change references of cpuset_mutex to cpuset_rwsem (Waiman Long) [2046396] - cgroup: Replace deprecated CPU-hotplug functions. (Waiman Long) [2046396] - cgroup/cpuset: Fix a partition bug with hotplug (Waiman Long) [2046396] - cgroup/cpuset: Miscellaneous code cleanup (Waiman Long) [2046396] - cgroup/cpuset: fix typos in comments (Waiman Long) [2046396] - enable DAMON configs (Chris von Recklinghausen) [2004233] - Docs/admin-guide/mm/damon/reclaim: document statistics parameters (Chris von Recklinghausen) [2004233] - mm/damon: hide kernel pointer from tracepoint event (Chris von Recklinghausen) [2004233] - mm/damon/vaddr: hide kernel pointer from damon_va_three_regions() failure log (Chris von Recklinghausen) [2004233] - mm/damon/vaddr: use pr_debug() for damon_va_three_regions() failure logging (Chris von Recklinghausen) [2004233] - mm/damon/dbgfs: remove an unnecessary variable (Chris von Recklinghausen) [2004233] - mm/damon: move the implementation of damon_insert_region to damon.h (Chris von Recklinghausen) [2004233] - mm/damon: add access checking for hugetlb pages (Chris von Recklinghausen) [2004233] - Docs/admin-guide/mm/damon/usage: update for schemes statistics (Chris von Recklinghausen) [2004233] - mm/damon/dbgfs: support all DAMOS stats (Chris von Recklinghausen) [2004233] - mm/damon/reclaim: provide reclamation statistics (Chris von Recklinghausen) [2004233] - mm/damon/schemes: account how many times quota limit has exceeded (Chris von Recklinghausen) [2004233] - mm/damon/schemes: account scheme actions that successfully applied (Chris von Recklinghausen) [2004233] - mm/damon: remove a mistakenly added comment for a future feature (Chris von Recklinghausen) [2004233] - Docs/admin-guide/mm/damon/usage: update for kdamond_pid and (mk|rm)_contexts (Chris von Recklinghausen) [2004233] - Docs/admin-guide/mm/damon/usage: mention tracepoint at the beginning (Chris von Recklinghausen) [2004233] - Docs/admin-guide/mm/damon/usage: remove redundant information (Chris von Recklinghausen) [2004233] - Docs/admin-guide/mm/damon/usage: update for scheme quotas and watermarks (Chris von Recklinghausen) [2004233] - mm/damon: convert macro functions to static inline functions (Chris von Recklinghausen) [2004233] - mm/damon: modify damon_rand() macro to static inline function (Chris von Recklinghausen) [2004233] - mm/damon: move damon_rand() definition into damon.h (Chris von Recklinghausen) [2004233] - mm/damon/schemes: add the validity judgment of thresholds (Chris von Recklinghausen) [2004233] - mm/damon/vaddr: remove swap_ranges() and replace it with swap() (Chris von Recklinghausen) [2004233] - mm/damon: remove some unneeded function definitions in damon.h (Chris von Recklinghausen) [2004233] - mm/damon/core: use abs() instead of diff_of() (Chris von Recklinghausen) [2004233] - mm/damon: unified access_check function naming rules (Chris von Recklinghausen) [2004233] - mm/damon: add 'age' of region tracepoint support (Chris von Recklinghausen) [2004233] - mm/damon/dbgfs: fix 'struct pid' leaks in 'dbgfs_target_ids_write()' (Chris von Recklinghausen) [2004233] - mm/damon/dbgfs: protect targets destructions with kdamond_lock (Chris von Recklinghausen) [2004233] - selftests/damon: split test cases (Chris von Recklinghausen) [2004233] - selftests/damon: test debugfs file reads/writes with huge count (Chris von Recklinghausen) [2004233] - selftests/damon: test wrong DAMOS condition ranges input (Chris von Recklinghausen) [2004233] - selftests/damon: test DAMON enabling with empty target_ids case (Chris von Recklinghausen) [2004233] - selftests/damon: skip test if DAMON is running (Chris von Recklinghausen) [2004233] - mm/damon/vaddr-test: remove unnecessary variables (Chris von Recklinghausen) [2004233] - mm/damon/vaddr-test: split a test function having >1024 bytes frame size (Chris von Recklinghausen) [2004233] - mm/damon/vaddr: remove an unnecessary warning message (Chris von Recklinghausen) [2004233] - mm/damon/core: remove unnecessary error messages (Chris von Recklinghausen) [2004233] - mm/damon/dbgfs: remove an unnecessary error message (Chris von Recklinghausen) [2004233] - mm/damon/core: use better timer mechanisms selection threshold (Chris von Recklinghausen) [2004233] - mm/damon/core: fix fake load reports due to uninterruptible sleeps (Chris von Recklinghausen) [2004233] - timers: implement usleep_idle_range() (Chris von Recklinghausen) [2004233] - mm/damon/dbgfs: fix missed use of damon_dbgfs_lock (Chris von Recklinghausen) [2004233] - mm/damon/dbgfs: use '__GFP_NOWARN' for user-specified size buffer allocation (Chris von Recklinghausen) [2004233] - mm/damon: remove return value from before_terminate callback (Chris von Recklinghausen) [2004233] - mm/damon: fix a few spelling mistakes in comments and a pr_debug message (Chris von Recklinghausen) [2004233] - mm/damon: simplify stop mechanism (Chris von Recklinghausen) [2004233] - Docs/admin-guide/mm/damon/start: simplify the content (Chris von Recklinghausen) [2004233] - Docs/admin-guide/mm/damon/start: fix a wrong link (Chris von Recklinghausen) [2004233] - Docs/admin-guide/mm/damon/start: fix wrong example commands (Chris von Recklinghausen) [2004233] - mm/damon/dbgfs: add adaptive_targets list check before enable monitor_on (Chris von Recklinghausen) [2004233] - mm/damon: remove unnecessary variable initialization (Chris von Recklinghausen) [2004233] - Documentation/admin-guide/mm/damon: add a document for DAMON_RECLAIM (Chris von Recklinghausen) [2004233] - mm/damon: introduce DAMON-based Reclamation (DAMON_RECLAIM) (Chris von Recklinghausen) [2004233] - selftests/damon: support watermarks (Chris von Recklinghausen) [2004233] - mm/damon/dbgfs: support watermarks (Chris von Recklinghausen) [2004233] - mm/damon/schemes: activate schemes based on a watermarks mechanism (Chris von Recklinghausen) [2004233] - tools/selftests/damon: update for regions prioritization of schemes (Chris von Recklinghausen) [2004233] - mm/damon/dbgfs: support prioritization weights (Chris von Recklinghausen) [2004233] - mm/damon/vaddr,paddr: support pageout prioritization (Chris von Recklinghausen) [2004233] - mm/damon/schemes: prioritize regions within the quotas (Chris von Recklinghausen) [2004233] - mm/damon/selftests: support schemes quotas (Chris von Recklinghausen) [2004233] - mm/damon/dbgfs: support quotas of schemes (Chris von Recklinghausen) [2004233] - mm/damon/schemes: implement time quota (Chris von Recklinghausen) [2004233] - mm/damon/schemes: skip already charged targets and regions (Chris von Recklinghausen) [2004233] - mm/damon/schemes: implement size quota for schemes application speed control (Chris von Recklinghausen) [2004233] - mm/damon/paddr: support the pageout scheme (Chris von Recklinghausen) [2004233] - mm/damon/dbgfs: remove unnecessary variables (Chris von Recklinghausen) [2004233] - mm/damon/vaddr: constify static mm_walk_ops (Chris von Recklinghausen) [2004233] - Docs/DAMON: document physical memory monitoring support (Chris von Recklinghausen) [2004233] - mm/damon/dbgfs: support physical memory monitoring (Chris von Recklinghausen) [2004233] - mm/damon: implement primitives for physical address space monitoring (Chris von Recklinghausen) [2004233] - mm/damon/vaddr: separate commonly usable functions (Chris von Recklinghausen) [2004233] - mm/damon/dbgfs-test: add a unit test case for 'init_regions' (Chris von Recklinghausen) [2004233] - Docs/admin-guide/mm/damon: document 'init_regions' feature (Chris von Recklinghausen) [2004233] - Docs/admin-guide/mm/damon: document DAMON-based Operation Schemes (Chris von Recklinghausen) [2004233] - docs/vm/damon: remove broken reference (Chris von Recklinghausen) [2004233] - mm/damon/dbgfs: allow users to set initial monitoring target regions (Chris von Recklinghausen) [2004233] - selftests/damon: add 'schemes' debugfs tests (Chris von Recklinghausen) [2004233] - mm/damon/schemes: implement statistics feature (Chris von Recklinghausen) [2004233] - mm/damon/dbgfs: support DAMON-based Operation Schemes (Chris von Recklinghausen) [2004233] - mm/damon/vaddr: support DAMON-based Operation Schemes (Chris von Recklinghausen) [2004233] - mm/damon/core: implement DAMON-based Operation Schemes (DAMOS) (Chris von Recklinghausen) [2004233] - mm/damon/core: account age of target regions (Chris von Recklinghausen) [2004233] - mm/damon/core: nullify pointer ctx->kdamond with a NULL (Chris von Recklinghausen) [2004233] - mm/damon: needn't hold kdamond_lock to print pid of kdamond (Chris von Recklinghausen) [2004233] - mm/damon: remove unnecessary do_exit() from kdamond (Chris von Recklinghausen) [2004233] - mm/damon/core: print kdamond start log in debug mode only (Chris von Recklinghausen) [2004233] - mm/damon: grammar s/works/work/ (Chris von Recklinghausen) [2004233] - mm/damon/core-test: fix wrong expectations for 'damon_split_regions_of()' (Chris von Recklinghausen) [2004233] - mm/damon: don't use strnlen() with known-bogus source length (Chris von Recklinghausen) [2004233] - mm/damon: add kunit tests (Chris von Recklinghausen) [2004233] - Documentation: add documents for DAMON (Chris von Recklinghausen) [2004233] - mm/damon: add user space selftests (Chris von Recklinghausen) [2004233] - mm/damon/dbgfs: support multiple contexts (Chris von Recklinghausen) [2004233] - mm/damon/dbgfs: export kdamond pid to the user space (Chris von Recklinghausen) [2004233] - mm/damon: implement a debugfs-based user space interface (Chris von Recklinghausen) [2004233] - mm/damon: add a tracepoint (Chris von Recklinghausen) [2004233] - mm/damon: implement primitives for the virtual memory address spaces (Chris von Recklinghausen) [2004233] - mm/damon: adaptively adjust regions (Chris von Recklinghausen) [2004233] - mm/damon/core: implement region-based sampling (Chris von Recklinghausen) [2004233] - mm: introduce Data Access MONitor (DAMON) (Chris von Recklinghausen) [2004233] - khugepaged: use helper khugepaged_test_exit() in __khugepaged_enter() (Chris von Recklinghausen) [2004233] - mm/madvise: pass mm to do_madvise (Chris von Recklinghausen) [2004233] - ceph: fix possible NULL pointer dereference for req->r_session (Xiubo Li) [2076165] - thermal: int340x: Fix VCoRefLow MMIO bit offset for TGL (Prarit Bhargava) [2039994] - MAINTAINERS: sort field names for all entries (Joel Savitz) [2064843] - parse-maintainers: Do not sort section content by default (Joel Savitz) [2064843] - parse-maintainers: Mark as executable (Joel Savitz) [2064843] - KVM: x86: Use ERR_PTR_USR() to return -EFAULT as a __user pointer (Paul Lai) [2074679] - KVM: x86: add system attribute to retrieve full set of supported xsave states (Paul Lai) [2074679] - KVM: x86: Add a helper to retrieve userspace address from kvm_device_attr (Paul Lai) [2074679] - tools: arch: x86: pull in pvclock headers (Paul Lai) [2074679] - KVM: x86: Expose TSC offset controls to userspace (Paul Lai) [2074679] - KVM: x86: Refactor tsc synchronization code (Paul Lai) [2074679] - selftests: kvm: move vm_xsave_req_perm call to amx_test (Paul Lai) [2074679] - powerpc/pseries/vas: Add VAS migration handler (Steve Best) [2028678] - powerpc/pseries/vas: Modify reconfig open/close functions for migration (Steve Best) [2028678] - powerpc/pseries/vas: Define global hv_cop_caps struct (Steve Best) [2028678] - powerpc/pseries/vas: Add 'update_total_credits' entry for QoS capabilities (Steve Best) [2028678] - powerpc/pseries/vas: sysfs interface to export capabilities (Steve Best) [2028678] - powerpc/pseries/vas: Reopen windows with DLPAR core add (Steve Best) [2028678] - powerpc/pseries/vas: Close windows with DLPAR core removal (Steve Best) [2028678] - powerpc/vas: Map paste address only if window is active (Steve Best) [2028678] - powerpc/vas: Return paste instruction failure if no active window (Steve Best) [2028678] - powerpc/vas: Add paste address mmap fault handler (Steve Best) [2028678] - powerpc/pseries/vas: Save PID in pseries_vas_window struct (Steve Best) [2028678] - powerpc/pseries/vas: Use common names in VAS capability structure (Steve Best) [2028678] - perf powerpc: Update global/local variants for p_stage_cyc (Desnes A. Nunes do Rosario) [2051358] - perf sort: Include global and local variants for p_stage_cyc sort key (Desnes A. Nunes do Rosario) [2051358] - perf sort: Fix the 'p_stage_cyc' sort key behavior (Desnes A. Nunes do Rosario) [2051358] - perf sort: Fix the 'ins_lat' sort key behavior (Desnes A. Nunes do Rosario) [2051358] - perf sort: Fix the 'weight' sort key behavior (Desnes A. Nunes do Rosario) [2051358] - block: loop:use kstatfs.f_bsize of backing file to set discard granularity (Ming Lei) [2069472] - blk-cgroup: set blkg iostat after percpu stat aggregation (Ming Lei) [2069472] - block: update io_ticks when io hang (Ming Lei) [2069472] - block: don't delete queue kobject before its children (Ming Lei) [2069472] - block/wbt: fix negative inflight counter when remove scsi device (Ming Lei) [2069472] - block: bio-integrity: Advance seed correctly for larger interval sizes (Ming Lei) [2069472] - block: fix async_depth sysfs interface for mq-deadline (Ming Lei) [2069472] - bfq: Do not let waker requests skip proper accounting (Ming Lei) [2069472] - block: Fix fsync always failed if once failed (Ming Lei) [2069472] - blktrace: fix use after free for struct blk_trace (Ming Lei) [2069472] - block: Check ADMIN before NICE for IOPRIO_CLASS_RT (Ming Lei) [2069472] - blk-cgroup: fix missing put device in error path from blkg_conf_pref() (Ming Lei) [2069472] - blkcg: Remove extra blkcg_bio_issue_init (Ming Lei) [2069472] - nbd: Fix use-after-free in pid_show (Ming Lei) [2069472] - block/mq-deadline: Improve request accounting further (Ming Lei) [2069472] - block, bfq: fix UAF problem in bfqg_stats_init() (Ming Lei) [2069472] - blk-cgroup: synchronize blkg creation against policy deactivation (Ming Lei) [2069472] - block, bfq: reset last_bfqq_created on group change (Ming Lei) [2069472] - block: bfq: fix bfq_set_next_ioprio_data() (Ming Lei) [2069472] - sched/topology: Remove redundant variable and fix incorrect type in build_sched_domains (Phil Auld) [2065200] - sched/fair: Adjust the allowed NUMA imbalance when SD_NUMA spans multiple LLCs (Phil Auld) [2065200] - sched/fair: Improve consistency of allowed NUMA balance calculations (Phil Auld) [2065200] - Revert: sched: Disable allowing small imbalance to preserve RHEL performance (Phil Auld) [2065200] - NFSv4.1: handle NFS4ERR_NOSPC by CREATE_SESSION (Steve Dickson) [2023844] - SUNRPC: use different lock keys for INET6 and LOCAL (Guillaume Nault) [2061651] - arm64: Restore forced disabling of KPTI on ThunderX (Mark Salter) [1999157] - arm64: mte: initialize RGSR_EL1.SEED in __cpu_setup (Mark Salter) [1999157] - arm64: Remove exporting cpu_logical_map symbol (Mark Salter) [1999157] - arm64: tlb: fix the TTL value of tlb_get_level (Mark Salter) [1999157] - arm64: Validate tagged addresses in access_ok() called from kernel threads (Mark Salter) [1999157] - arm64: ptrace: Fix seccomp of traced syscall -1 (NO_SYSCALL) (Mark Salter) [1999157] - arm64: ptrace: Use NO_SYSCALL instead of -1 in syscall_trace_enter() (Mark Salter) [1999157] - arm64: mm: Fix TLBI vs ASID rollover (Mark Salter) [1999157] - arm64: errata: Fix exec handling in erratum 1418040 workaround (Mark Salter) [1999157] - arm64: Generate cpucaps.h (Mark Salter) [1999157] - arm64/sve: Skip flushing Z registers with 128 bit vectors (Mark Salter) [1999157] - arm64/sve: Rework SVE access trap to convert state in registers (Mark Salter) [1999157] - arm64/sve: Use the sve_flush macros in sve_load_from_fpsimd_state() (Mark Salter) [1999157] - arm64/sve: Split _sve_flush macro into separate Z and predicate flushes (Mark Salter) [1999157] - arm64: fix inline asm in load_unaligned_zeropad() (Mark Salter) [1999157] - arm64: Extend workaround for erratum 1024718 to all versions of Cortex-A55 (Mark Salter) [1999157] - arm64/fpsimd: add to to fix fpsimd build (Mark Salter) [1999157] - arm64: cpu_errata: Apply Erratum 845719 to KRYO2XX Silver (Mark Salter) [1999157] - arm64: kpti: Add KRYO2XX gold/silver CPU cores to kpti safelist (Mark Salter) [1999157] - arm64: Add MIDR value for KRYO2XX gold/silver CPU cores (Mark Salter) [1999157] - arm64: errata: Fix handling of 1418040 with late CPU onlining (Mark Salter) [1999157] - arm64: cpufeature: upgrade hyp caps to final (Mark Salter) [1999157] - arm64: cpufeature: reorder cpus_have_{const, final}_cap() (Mark Salter) [1999157] - arm64: Add workaround for Arm Cortex-A77 erratum 1508412 (Mark Salter) [1999157] - arm64: Add part number for Arm Cortex-A77 (Mark Salter) [1999157] - arm64: reject prctl(PR_PAC_RESET_KEYS) on compat tasks (Mark Salter) [1999157] - arm64: Treat SSBS as a non-strict system feature (Mark Salter) [1999157] - arm64: Group start_thread() functions together (Mark Salter) [1999157] - arm64: Remove Spectre-related CONFIG_* options (Mark Salter) [1999157] - arm64: Run ARCH_WORKAROUND_2 enabling code on all CPUs (Mark Salter) [1999157] - arm64: Run ARCH_WORKAROUND_1 enabling code on all CPUs (Mark Salter) [1999157] - arm64: mte: CPU feature detection and initial sysreg configuration (Mark Salter) [1999157] - arm64: cpufeature: Export symbol read_sanitised_ftr_reg() (Mark Salter) [1999157] - arm64/fpsimd: Fix missing-prototypes in fpsimd.c (Mark Salter) [1999157] - arm64: traps: Add str of description to panic() in die() (Mark Salter) [1999157] - arm64/sve: Implement a helper to load SVE registers from FPSIMD state (Mark Salter) [1999157] - arm64/sve: Implement a helper to flush SVE registers (Mark Salter) [1999157] - arm64/fpsimdmacros: Allow the macro "for" to be used in more cases (Mark Salter) [1999157] - arm64/fpsimdmacros: Introduce a macro to update ZCR_EL1.LEN (Mark Salter) [1999157] - arm64/signal: Update the comment in preserve_sve_context (Mark Salter) [1999157] - arm64/fpsimd: Update documentation of do_sve_acc (Mark Salter) [1999157] - arm64: cpufeature: Modify address authentication cpufeature to exact (Mark Salter) [1999157] - arm64: ptrauth: Introduce Armv8.3 pointer authentication enhancements (Mark Salter) [1999157] - arm64: traps: Allow force_signal_inject to pass esr error code (Mark Salter) [1999157] - arm64/cpuinfo: Define HWCAP name arrays per their actual bit definitions (Mark Salter) [1999157] - arm64: Reserve HWCAP2_MTE as (1 << 18) (Mark Salter) [1999157] - arm64: Allow CPUs unffected by ARM erratum 1418040 to come in late (Mark Salter) [1999157] - arm64: Allow booting of late CPUs affected by erratum 1418040 (Mark Salter) [1999157] - arm64: Drop unnecessary include from asm/smp.h (Mark Salter) [1999157] - arm64: Move handling of erratum 1418040 into C code (Mark Salter) [1999157] - arm64: Fix __cpu_logical_map undefined issue (Mark Salter) [1999157] - arm64: tlb: don't set the ttl value in flush_tlb_page_nosync (Mark Salter) [1999157] - arm64: Shift the __tlbi_level() indentation left (Mark Salter) [1999157] - arm64: tlb: Set the TTL field in flush_*_tlb_range (Mark Salter) [1999157] - arm64: tlb: Set the TTL field in flush_tlb_range (Mark Salter) [1999157] - arm64: Add tlbi_user_level TLB invalidation helper (Mark Salter) [1999157] - arm64: Add level-hinted TLB invalidation helper (Mark Salter) [1999157] - arm64: Document SW reserved PTE/PMD bits in Stage-2 descriptors (Mark Salter) [1999157] - arm64/cpufeature: Validate feature bits spacing in arm64_ftr_regs[] (Mark Salter) [1999157] - arm64/cpufeature: Replace all open bits shift encodings with macros (Mark Salter) [1999157] - arm64/cpufeature: Add remaining feature bits in ID_AA64MMFR2 register (Mark Salter) [1999157] - arm64/cpufeature: Add remaining feature bits in ID_AA64MMFR1 register (Mark Salter) [1999157] - arm64/cpufeature: Add remaining feature bits in ID_AA64MMFR0 register (Mark Salter) [1999157] - arm64: csum: Fix handling of bad packets (Mark Salter) [1999157] - arm64: Add missing sentinel to erratum_1463225 (Mark Salter) [1999157] - arm64: Documentation: Fix broken table in generated HTML (Mark Salter) [1999157] - arm64: kgdb: Fix single-step exception handling oops (Mark Salter) [1999157] - arm64: entry: Tidy up block comments and label numbers (Mark Salter) [1999157] - arm64: Rework ARM_ERRATUM_1414080 handling (Mark Salter) [1999157] - arm64: entry: Fix the typo in the comment of el1_dbg() (Mark Salter) [1999157] - arm64: Add KRYO4XX silver CPU cores to erratum list 1530923 and 1024718 (Mark Salter) [1999157] - arm64: Add KRYO4XX gold CPU cores to erratum list 1463225 and 1418040 (Mark Salter) [1999157] - arm64: Add MIDR value for KRYO4XX gold CPU cores (Mark Salter) [1999157] - arm64: Add KRYO{3,4}XX silver CPU cores to SSB safelist (Mark Salter) [1999157] - arm64: kpti: Add KRYO{3, 4}XX silver CPU cores to kpti safelist (Mark Salter) [1999157] - arm64: sve: Fix build failure when ARM64_SVE=y and SYSCTL=n (Mark Salter) [1999157] - arm64: mm: reset address tag set by kasan sw tagging (Mark Salter) [1999157] - arm64: traps: Dump registers prior to panic() in bad_mode() (Mark Salter) [1999157] - arm64/sve: Eliminate data races on sve_default_vl (Mark Salter) [1999157] - arm64: csum: Disable KASAN for do_csum() (Mark Salter) [1999157] - arm64/cpufeature: Add get_arm64_ftr_reg_nowarn() (Mark Salter) [1999157] - arm64/cpuinfo: Add ID_MMFR4_EL1 into the cpuinfo_arm64 context (Mark Salter) [1999157] - arm64/cpufeature: Add remaining feature bits in ID_AA64PFR0 register (Mark Salter) [1999157] - arm64/cpufeature: Add remaining feature bits in ID_MMFR4 register (Mark Salter) [1999157] - arm64/cpufeature: Add remaining feature bits in ID_PFR0 register (Mark Salter) [1999157] - arm64/cpufeature: Introduce ID_MMFR5 CPU register (Mark Salter) [1999157] - arm64/cpufeature: Introduce ID_DFR1 CPU register (Mark Salter) [1999157] - arm64/cpufeature: Introduce ID_PFR2 CPU register (Mark Salter) [1999157] - arm64/cpufeature: Make doublelock a signed feature in ID_AA64DFR0 (Mark Salter) [1999157] - arm64/cpufeature: Drop TraceFilt feature exposure from ID_DFR0 register (Mark Salter) [1999157] - arm64/cpufeature: Add explicit ftr_id_isar0[] for ID_ISAR0 register (Mark Salter) [1999157] - arm64: cpufeature: Group indexed system register definitions by name (Mark Salter) [1999157] - arm64: cpufeature: Extend comment to describe absence of field info (Mark Salter) [1999157] - arm64: drop duplicate definitions of ID_AA64MMFR0_TGRAN constants (Mark Salter) [1999157] - arm64: cpufeature: Add an overview comment for the cpufeature framework (Mark Salter) [1999157] - arm64: cpufeature: Relax checks for AArch32 support at EL[0-2] (Mark Salter) [1999157] - arm64: cpufeature: Relax AArch32 system checks if EL1 is 64-bit only (Mark Salter) [1999157] - arm64: cpufeature: Factor out checking of AArch32 features (Mark Salter) [1999157] - arm64: cpufeature: Remove redundant call to id_aa64pfr0_32bit_el0() (Mark Salter) [1999157] - arm64: cpufeature: Spell out register fields for ID_ISAR4 and ID_PFR1 (Mark Salter) [1999157] - arm64: cpufeature: Relax check for IESB support (Mark Salter) [1999157] - arm64: mm: Add asid_gen_match() helper (Mark Salter) [1999157] - arm64: Call debug_traps_init() from trap_init() to help early kgdb (Mark Salter) [1999157] - arm64: cacheflush: Fix KGDB trap detection (Mark Salter) [1999157] - arm64/cpuinfo: Move device_initcall() near cpuinfo_regs_init() (Mark Salter) [1999157] - arm64: kexec_file: print appropriate variable (Mark Salter) [1999157] - arm: mm: use __pfn_to_section() to get mem_section (Mark Salter) [1999157] - arm64: Reorder the macro arguments in the copy routines (Mark Salter) [1999157] - KVM: arm64: Drop PTE_S2_MEMATTR_MASK (Mark Salter) [1999157] - arm64/kernel: Fix range on invalidating dcache for boot page tables (Mark Salter) [1999157] - arm64: set TEXT_OFFSET to 0x0 in preparation for removing it entirely (Mark Salter) [1999157] - arm64/mm: Use phys_to_page() to access pgtable memory (Mark Salter) [1999157] - arm64: smp: Make cpus_stuck_in_kernel static (Mark Salter) [1999157] - arm64: entry: remove unneeded semicolon in el1_sync_handler() (Mark Salter) [1999157] - arm64: cpufeature: Add "or" to mitigations for multiple errata (Mark Salter) [1999157] - arm64: Sort vendor-specific errata (Mark Salter) [1999157] - arm64: simplify ptrauth initialization (Mark Salter) [1999157] - arm64: remove ptrauth_keys_install_kernel sync arg (Mark Salter) [1999157] - arm64: insn: Provide a better name for aarch64_insn_is_nop() (Mark Salter) [1999157] - arm64: kernel: Convert to modern annotations for assembly functions (Mark Salter) [1999157] - arm64: entry: Refactor and modernise annotation for ret_to_user (Mark Salter) [1999157] - arm64: BTI: Reset BTYPE when skipping emulated instructions (Mark Salter) [1999157] - arm64: traps: Shuffle code to eliminate forward declarations (Mark Salter) [1999157] - arm64: unify native/compat instruction skipping (Mark Salter) [1999157] - arm64: BTI: Decode BYTPE bits when printing PSTATE (Mark Salter) [1999157] - arm64: Basic Branch Target Identification support (Mark Salter) [1999157] - arm64/kernel: Fix return value when cpu_online() fails in __cpu_up() (Mark Salter) [1999157] - arm64: Add get_user() type annotation on the !access_ok() path (Mark Salter) [1999157] - arm64: Fix PTRACE_SYSEMU semantics (Mark Salter) [1999157] - arm64: fix the flush_icache_range arguments in machine_kexec (Mark Salter) [1999157] - Documentation: arm64: fix amu.rst doc warnings (Mark Salter) [1999157] - arm64: sync kernel APIAKey when installing (Mark Salter) [1999157] - arm64: Delete the space separator in __emit_inst (Mark Salter) [1999157] - arm64: remove CONFIG_DEBUG_ALIGN_RODATA feature (Mark Salter) [1999157] - arm64: head: Convert install_el2_stub to SYM_INNER_LABEL (Mark Salter) [1999157] - arm64: Introduce get_cpu_ops() helper function (Mark Salter) [1999157] - arm64: Rename cpu_read_ops() to init_cpu_ops() (Mark Salter) [1999157] - arm64: Declare ACPI parking protocol CPU operation if needed (Mark Salter) [1999157] - arm64: move kimage_vaddr to .rodata (Mark Salter) [1999157] - arm64: sdei: Annotate SDEI entry points using new style annotations (Mark Salter) [1999157] - arm64: kernel: Convert to modern annotations for assembly data (Mark Salter) [1999157] - arm64: head: Annotate stext and preserve_boot_args as code (Mark Salter) [1999157] - arm64: head.S: Convert to modern annotations for assembly functions (Mark Salter) [1999157] - arm64: entry: Additional annotation conversions for entry.S (Mark Salter) [1999157] - arm64: entry: Annotate ret_from_fork as code (Mark Salter) [1999157] - arm64: entry: Annotate vector table and handlers as code (Mark Salter) [1999157] - kconfig: Add support for 'as-option' (Mark Salter) [1999157] - arm64: suspend: restore the kernel ptrauth keys (Mark Salter) [1999157] - arm64: __show_regs: strip PAC from lr in printk (Mark Salter) [1999157] - arm64: unwind: strip PAC from kernel addresses (Mark Salter) [1999157] - arm64/crash_core: Export KERNELPACMASK in vmcoreinfo (Mark Salter) [1999157] - arm64: mask PAC bits of __builtin_return_address (Mark Salter) [1999157] - compiler.h: Allow arch-specific asm/compiler.h (Mark Salter) [1999157] - arm64: initialize ptrauth keys for kernel booting task (Mark Salter) [1999157] - arm64: initialize and switch ptrauth kernel keys (Mark Salter) [1999157] - arm64: enable ptrauth earlier (Mark Salter) [1999157] - arm64: cpufeature: handle conflicts based on capability (Mark Salter) [1999157] - arm64: cpufeature: Move cpu capability helpers inside C file (Mark Salter) [1999157] - arm64: ptrauth: Add bootup/runtime flags for __cpu_setup (Mark Salter) [1999157] - arm64: install user ptrauth keys at kernel exit time (Mark Salter) [1999157] - arm64: rename ptrauth key structures to be user-specific (Mark Salter) [1999157] - arm64: cpufeature: add pointer auth meta-capabilities (Mark Salter) [1999157] - arm64: cpufeature: Fix meta-capability cpufeature check (Mark Salter) [1999157] - arm64: define __alloc_zeroed_user_highpage (Mark Salter) [1999157] - arm64/kernel: Simplify __cpu_up() by bailing out early (Mark Salter) [1999157] - arm64: smp: Mark expected switch fall-through (Mark Salter) [1999157] - arm64: remove redundant blank for '=' operator (Mark Salter) [1999157] - arm64: kexec_file: Fixed code style. (Mark Salter) [1999157] - arm64: add blank after 'if' (Mark Salter) [1999157] - arm64: fix spelling mistake "ca not" -> "cannot" (Mark Salter) [1999157] - arm64: entry: unmask IRQ in el0_sp() (Mark Salter) [1999157] - arm64: efi: add efi-entry.o to targets instead of extra-$(CONFIG_EFI) (Mark Salter) [1999157] - arm64: csum: Optimise IPv6 header checksum (Mark Salter) [1999157] - arch/arm64: fix typo in a comment (Mark Salter) [1999157] - arm64: remove gratuitious/stray .ltorg stanzas (Mark Salter) [1999157] - arm64: Update comment for ASID() macro (Mark Salter) [1999157] - arm64: mm: convert cpu_do_switch_mm() to C (Mark Salter) [1999157] - Documentation: arm64: document support for the AMU extension (Mark Salter) [1999157] - arm64: trap to EL1 accesses to AMU counters from EL0 (Mark Salter) [1999157] - arm64: add support for the AMU extension v1 (Mark Salter) [1999157] - arm64: smp: fix crash_smp_send_stop() behaviour (Mark Salter) [1999157] - arm64: smp: fix smp_send_stop() behaviour (Mark Salter) [1999157] - arm64: context: Fix ASID limit in boot messages (Mark Salter) [1999157] - docs: arm64: fix trivial spelling enought to enough in memory.rst (Mark Salter) [1999157] - arm64: time: Replace by (Mark Salter) [1999157] - arm64: ssbs: Fix context-switch when SSBS is present on all CPUs (Mark Salter) [1999157] - arm64: use shared sysctl constants (Mark Salter) [1999157] - arm64: Drop do_el0_ia_bp_hardening() & do_sp_pc_abort() declarations (Mark Salter) [1999157] - arm64: entry: Avoid empty alternatives entries (Mark Salter) [1999157] - arm64: Kconfig: select HAVE_FUTEX_CMPXCHG (Mark Salter) [1999157] - arm64: Use macros instead of hard-coded constants for MAIR_EL1 (Mark Salter) [1999157] - arm64: Add KRYO{3,4}XX CPU cores to spectre-v2 safe list (Mark Salter) [1999157] - arm64: context: Free up kernel ASIDs if KPTI is not in use (Mark Salter) [1999157] - arm64: Remove __exception_text_start and __exception_text_end from asm/section.h (Mark Salter) [1999157] - arm64: armv8_deprecated: update the comments of armv8_deprecated_init() (Mark Salter) [1999157] - arm64: kpti: Add Broadcom Brahma-B53 core to the KPTI whitelist (Mark Salter) [1999157] - arm64: csum: Fix pathological zero-length calls (Mark Salter) [1999157] - arm64: Implement optimised checksum routine (Mark Salter) [1999157] - arm64: entry: cleanup sp_el0 manipulation (Mark Salter) [1999157] - arm64: entry: cleanup el0 svc handler naming (Mark Salter) [1999157] - arm64: entry: mark all entry code as notrace (Mark Salter) [1999157] - arm64: assembler: remove smp_dmb macro (Mark Salter) [1999157] - arm64: assembler: remove inherit_daif macro (Mark Salter) [1999157] - arm64: signal: nofpsimd: Handle fp/simd context for signal frames (Mark Salter) [1999157] - arm64: ptrace: nofpsimd: Fail FP/SIMD regset operations (Mark Salter) [1999157] - arm64: cpufeature: Set the FP/SIMD compat HWCAP bits properly (Mark Salter) [1999157] - arm64: cpufeature: Fix the type of no FP/SIMD capability (Mark Salter) [1999157] - arm64: fpsimd: Make sure SVE setup is complete before SIMD is used (Mark Salter) [1999157] - arm64: kernel: Correct annotation of end of el0_sync (Mark Salter) [1999157] - arm64: asm: Remove ENDPIPROC() (Mark Salter) [1999157] - arm64: mm: Use modern annotations for assembly functions (Mark Salter) [1999157] - arm64: lib: Use modern annotations for assembly functions (Mark Salter) [1999157] - arm64: asm: Add new-style position independent function annotations (Mark Salter) [1999157] - arm64: kernel: avoid x18 in __cpu_soft_restart (Mark Salter) [1999157] - arm64/lib: copy_page: avoid x18 register in assembler code (Mark Salter) [1999157] - arm64: mm: avoid x18 in idmap_kpti_install_ng_mappings (Mark Salter) [1999157] - arm64: cpu_errata: Add Hisilicon TSV110 to spectre-v2 safe list (Mark Salter) [1999157] - arm64: entry: refine comment of stack overflow check (Mark Salter) [1999157] - arm64: kpti: Add NVIDIA's Carmel core to the KPTI whitelist (Mark Salter) [1999157] - arm64: mm: simplify the page end calculation in __create_pgd_mapping() (Mark Salter) [1999157] - arm64: print additional fault message when executing non-exec memory (Mark Salter) [1999157] - arm64: pgtable: Correct typo in comment (Mark Salter) [1999157] - arm64: cpufeature: Fix typos in comment (Mark Salter) [1999157] - arm64: entry-common: don't touch daif before bp-hardening (Mark Salter) [1999157] - arm64: Remove asmlinkage from updated functions (Mark Salter) [1999157] - arm64: entry: convert el0_sync to C (Mark Salter) [1999157] - arm64: entry: convert el1_sync to C (Mark Salter) [1999157] - arm64: Add prototypes for functions called by entry.S (Mark Salter) [1999157] - arm64: remove __exception annotations (Mark Salter) [1999157] - arm64: kprobes: Move exception_text check in blacklist (Mark Salter) [1999157] - arm64: kprobes: Remove unneeded RODATA check (Mark Salter) [1999157] - arm64: kprobes: Move extable address check into arch_prepare_kprobe() (Mark Salter) [1999157] - arm64: cpufeature: introduce helper cpu_has_hw_af() (Mark Salter) [1999157] - arm64: Document ICC_CTLR_EL3.PMHE setting requirements (Mark Salter) [1999157] - firmware: arm_sdei: use common SMCCC_CONDUIT_* (Mark Salter) [1999157] - arm64: uaccess: Remove uaccess_*_not_uao asm macros (Mark Salter) [1999157] - arm64: uaccess: Ensure PAN is re-enabled after unhandled uaccess fault (Mark Salter) [1999157] - arm64: Do not mask out PTE_RDONLY in pte_same() (Mark Salter) [1999157] - arm64: apply ARM64_ERRATUM_843419 workaround for Brahma-B53 core (Mark Salter) [1999157] - arm64: Brahma-B53 is SSB and spectre v2 safe (Mark Salter) [1999157] - arm64: apply ARM64_ERRATUM_845719 workaround for Brahma-B53 core (Mark Salter) [1999157] - arm64: cpufeature: Enable Qualcomm Falkor errata 1009 for Kryo (Mark Salter) [1999157] - arm64: cpufeature: Enable Qualcomm Falkor/Kryo errata 1003 (Mark Salter) [1999157] - arm64: Ensure VM_WRITE|VM_SHARED ptes are clean by default (Mark Salter) [1999157] - arm64: mm: fix inverted PAR_EL1.F check (Mark Salter) [1999157] - arm64: hibernate: check pgd table allocation (Mark Salter) [1999157] - arm64: armv8_deprecated: Checking return value for memory allocation (Mark Salter) [1999157] - arm64: mm: fix spurious fault detection (Mark Salter) [1999157] - arm64: ftrace: Ensure synchronisation in PLT setup for Neoverse-N1 #1542419 (Mark Salter) [1999157] - arm64: mm: avoid virt_to_phys(init_mm.pgd) (Mark Salter) [1999157] - docs: arm64: Fix indentation and doc formatting (Mark Salter) [1999157] - arm64: errata: Update stale comment (Mark Salter) [1999157] - arm64: consider stack randomization for mmap base only when necessary (Mark Salter) [1999157] - arm64: make use of is_compat_task instead of hardcoding this test (Mark Salter) [1999157] - arm64: kpti: ensure patched kernel text is fetched from PoU (Mark Salter) [1999157] - arm64: Clarify when cpu_enable() is called (Mark Salter) [1999157] - arm64: constify sys64_hook instances (Mark Salter) [1999157] - arm64: constify aarch64_insn_encoding_class[] (Mark Salter) [1999157] - arm64: constify icache_policy_str[] (Mark Salter) [1999157] - arm64: prefer __section from compiler_attributes.h (Mark Salter) [1999157] - arm64/ptrace: Fix typoes in sve_set() comment (Mark Salter) [1999157] - arm64: mm: print hexadecimal EC value in mem_abort_decode() (Mark Salter) [1999157] - ahci: thunderx2: Fix workaround to use new inline function (Mark Salter) [1999157] - arm64/prefetch: fix a -Wtype-limits warning (Mark Salter) [1999157] - arm64: Move TIF_* documentation to individual definitions (Mark Salter) [1999157] - arm64: mm: free the initrd reserved memblock in a aligned manner (Mark Salter) [1999157] - arm64: io: Relax implicit barriers in default I/O accessors (Mark Salter) [1999157] - arm64: Remove unused cpucap_multi_entry_cap_cpu_enable() (Mark Salter) [1999157] - arm64: sysreg: Remove unused and rotting SCTLR_ELx field definitions (Mark Salter) [1999157] - arm64: esr: Add ESR exception class encoding for trapped ERET (Mark Salter) [1999157] - arm64/kexec: Use consistent convention of initializing 'kxec_buf.mem' with KEXEC_BUF_MEM_UNKNOWN (Mark Salter) [1999157] - arm64: remove pointless __KERNEL__ guards (Mark Salter) [1999157] - arm64: Remove unused assembly macro (Mark Salter) [1999157] - arm64: memory: Cosmetic cleanups (Mark Salter) [1999157] - arm64: memory: Add comments to end of non-trivial #ifdef blocks (Mark Salter) [1999157] - arm64: memory: Simplify virt_to_page() implementation (Mark Salter) [1999157] - arm64: memory: Rewrite default page_to_virt()/virt_to_page() (Mark Salter) [1999157] - arm64: mm: Ignore spurious translation faults taken from the kernel (Mark Salter) [1999157] - arm64: mm: Add ISB instruction to set_pgd() (Mark Salter) [1999157] - arm64: tlb: Ensure we execute an ISB following walk cache invalidation (Mark Salter) [1999157] - Revert "arm64: Remove unnecessary ISBs from set_{pte,pmd,pud}" (Mark Salter) [1999157] - arm64: pgtable: Implement p[mu]d_valid() and check in set_p[mu]d() (Mark Salter) [1999157] - arm64: Change the tagged_addr sysctl control semantics to only prevent the opt-in (Mark Salter) [1999157] - redhat/configs: Add CONFIG_ARM64_TAGGED_ADDR_ABI (Mark Salter) [1999157] - arm64: Introduce prctl() options to control the tagged user addresses ABI (Mark Salter) [1999157] - arm64: smp: Treat unknown boot failures as being 'stuck in kernel' (Mark Salter) [1999157] - arm64: smp: Don't enter kernel with NULL stack pointer or task struct (Mark Salter) [1999157] - arm64: map FDT as RW for early_init_dt_scan() (Mark Salter) [1999157] - arm64: ftrace: Ensure module ftrace trampoline is coherent with I-side (Mark Salter) [1999157] - arch: replace _BITUL() in kernel-space headers with BIT() (Mark Salter) [1999157] - arm64: move jump_label_init() before parse_early_param() (Mark Salter) [1999157] - arm64: don't use asm-generic/ptrace.h (Mark Salter) [1999157] - arm64: rename dump_instr as dump_kernel_instr (Mark Salter) [1999157] - arm64/mm: Drop [PTE|PMD]_TYPE_FAULT (Mark Salter) [1999157] - arm64: module: create module allocations without exec permissions (Mark Salter) [1999157] - acpi/arm64: ignore 5.1 FADTs that are reported as 5.0 (Mark Salter) [1999157] - arm64: remove redundant 'default n' from Kconfig (Mark Salter) [1999157] - arm64: mm: avoid redundant READ_ONCE(*ptep) (Mark Salter) [1999157] - arm64/mm: Document write abort detection from ESR (Mark Salter) [1999157] - arm64: Fix comment after #endif (Mark Salter) [1999157] - arm64: ptrace: add support for syscall emulation (Mark Salter) [1999157] - arm64: add PTRACE_SYSEMU{,SINGLESTEP} definations to uapi headers (Mark Salter) [1999157] - arm64/mm: Identify user instruction aborts (Mark Salter) [1999157] - arm64/mm: Change BUG_ON() to VM_BUG_ON() in [pmd|pud]_set_huge() (Mark Salter) [1999157] - arm64: kernel: use aff3 instead of aff2 in comment (Mark Salter) [1999157] - arm64/mm: Simplify protection flag creation for kernel huge mappings (Mark Salter) [1999157] - arm64/mm: Move PTE_VALID from SW defined to HW page table entry definitions (Mark Salter) [1999157] - arm64/sve: should not depend on (Mark Salter) [1999157] - arm64: ssbd: explicitly depend on (Mark Salter) [1999157] - ARM64: trivial: s/TIF_SECOMP/TIF_SECCOMP/ comment typo fix (Mark Salter) [1999157] - arm64: smp: Moved cpu_logical_map[] to smp.h (Mark Salter) [1999157] - arm64: use the correct function type for __arm64_sys_ni_syscall (Mark Salter) [1999157] - arm64: use the correct function type in SYSCALL_DEFINE0 (Mark Salter) [1999157] - arm64: fix syscall_fn_t type (Mark Salter) [1999157] - signal/arm64: Use force_sig not force_sig_fault for SIGKILL (Mark Salter) [1999157] - arm64: Fix the arm64_personality() syscall wrapper redirection (Mark Salter) [1999157] - arm64: Remove useless message during oops (Mark Salter) [1999157] - arm64: don't trash config with compat symbol if COMPAT is disabled (Mark Salter) [1999157] - arm64: assembler: Update comment above cond_yield_neon() macro (Mark Salter) [1999157] - arm64: Fix size of __early_cpu_boot_status (Mark Salter) [1999157] - arm64: mm: Remove pte_unmap_nested() (Mark Salter) [1999157] - arm64: Fix compiler warning from pte_unmap() with -Wunused-but-set-variable (Mark Salter) [1999157] - arm64: compat: Reduce address limit for 64K pages (Mark Salter) [1999157] - arm64: mmap: Ensure file offset is treated as unsigned (Mark Salter) [1999157] - arm64: instrument smp_{load_acquire,store_release} (Mark Salter) [1999157] - arm64: mm: check virtual addr in virt_to_page() if CONFIG_DEBUG_VIRTUAL=y (Mark Salter) [1999157] - arm64: ptrace: Add function argument access API (Mark Salter) [1999157] - arm64: compat: Reduce address limit (Mark Salter) [1999157] - arm64: Save and restore OSDLR_EL1 across suspend/resume (Mark Salter) [1999157] - arm64: Clear OSDLR_EL1 on CPU boot (Mark Salter) [1999157] - arm64: debug: Separate debug hooks based on target exception level (Mark Salter) [1999157] - arm64: debug: Remove meaningless comment (Mark Salter) [1999157] - arm64: debug: Rename addr parameter for non-watchpoint exception hooks (Mark Salter) [1999157] - arm64: Use defines instead of magic numbers (Mark Salter) [1999157] - arm64: cpu_ops: fix a leaked reference by adding missing of_node_put (Mark Salter) [1999157] - arm64: mm: Make show_pte() a static function (Mark Salter) [1999157] - arm64: setup min_low_pfn (Mark Salter) [1999157] - arm64: mm: fix incorrect assignment of 'max_mapnr' (Mark Salter) [1999157] - arm64: perf_event: Remove wrongfully used inline (Mark Salter) [1999157] - arm64: backtrace: Don't bother trying to unwind the userspace stack (Mark Salter) [1999157] - arm64: replace memblock_alloc_low with memblock_alloc (Mark Salter) [1999157] - arm64: kdump: no need to mark crashkernel pages manually PG_reserved (Mark Salter) [1999157] - arm64: kexec: no need to ClearPageReserved() (Mark Salter) [1999157] - arm64: mmu: drop paging_init comments (Mark Salter) [1999157] - arm64: debug: Ensure debug handlers check triggering exception level (Mark Salter) [1999157] - arm64: io: Hook up __io_par() for inX() ordering (Mark Salter) [1999157] - arm64: Rename get_thread_info() (Mark Salter) [1999157] - arm64: Remove documentation about TIF_USEDFPU (Mark Salter) [1999157] - arm64: uaccess: Cleanup get/put_user() (Mark Salter) [1999157] - arm64: Remove asm/memblock.h (Mark Salter) [1999157] - arm64: default NR_CPUS to 256 (Mark Salter) [1999157] - arm64: perf: remove misleading comment (Mark Salter) [1999157] - arm64: Relax GIC version check during early boot (Mark Salter) [1999157] - arm64, mm, efi: Account for GICv3 LPI tables in static memblock reserve table (Mark Salter) [1999157] - arm64: hibernate: Clean the __hyp_text to PoC after resume (Mark Salter) [1999157] - arm64: hyp-stub: Forbid kprobing of the hyp-stub (Mark Salter) [1999157] - arm64: kprobe: Always blacklist the KVM world-switch code (Mark Salter) [1999157] - kasan, arm64: remove redundant ARCH_SLAB_MINALIGN define (Mark Salter) [1999157] - arm64: asm-prototypes: Fix fat-fingered typo in comment (Mark Salter) [1999157] - arm64: compat: Hook up io_pgetevents() for 32-bit tasks (Mark Salter) [1999157] - arm64: compat: Don't pull syscall number from regs in arm_compat_syscall (Mark Salter) [1999157] - arm64: compat: Avoid sending SIGILL for unallocated syscall numbers (Mark Salter) [1999157] - arm64: kaslr: Reserve size of ARM64_MEMSTART_ALIGN in linear region (Mark Salter) [1999157] - arm64: smp: Fix compilation error (Mark Salter) [1999157] - arm64: select ACPI PCI code only when both features are enabled (Mark Salter) [1999157] - arm64: kaslr: print PHYS_OFFSET in dump_kernel_offset() (Mark Salter) [1999157] - arm64: sysreg: Use _BITUL() when defining register bits (Mark Salter) [1999157] - arm64: perf: Treat EXCLUDE_EL* bit definitions as unsigned (Mark Salter) [1999157] - arm64: percpu: Fix LSE implementation of value-returning pcpu atomics (Mark Salter) [1999157] - arm64: smp: Handle errors reported by the firmware (Mark Salter) [1999157] - arm64: smp: Rework early feature mismatched detection (Mark Salter) [1999157] - arm64: percpu: Rewrite per-cpu ops to allow use of LSE atomics (Mark Salter) [1999157] - arm64: crypto: add NEON accelerated XOR implementation (Mark Salter) [1999157] - arm64/neon: add workaround for ambiguous C99 stdint.h types (Mark Salter) [1999157] - arm64: ftrace: always pass instrumented pc in x0 (Mark Salter) [1999157] - arm64: ftrace: use GLOBAL() (Mark Salter) [1999157] - arm64: io: Ensure value passed to __iormb() is held in a 64-bit register (Mark Salter) [1999157] - arm64: acpi: Prepare for longer MADTs (Mark Salter) [1999157] - arm64: io: Ensure calls to delay routines are ordered against prior readX() (Mark Salter) [1999157] - arm64: perf: Fix typos in comment (Mark Salter) [1999157] - arm64: function_graph: Simplify with function_graph_enter() (Mark Salter) [1999157] - arm64: sysreg: fix sparse warnings (Mark Salter) [1999157] - arm64: mm: define NET_IP_ALIGN to 0 (Mark Salter) [1999157] - arm64: kprobe: make page to RO mode when allocate it (Mark Salter) [1999157] - arm64: kdump: fix small typo (Mark Salter) [1999157] - arm64: mm: Use #ifdef for the __PAGETABLE_P?D_FOLDED defines (Mark Salter) [1999157] - arm64: Trap WFI executed in userspace (Mark Salter) [1999157] - arm64/mm: Use ESR_ELx_FSC macro while decoding fault exception (Mark Salter) [1999157] - arm64: compat: Add CNTFRQ trap handler (Mark Salter) [1999157] - arm64: compat: Add CNTVCT trap handler (Mark Salter) [1999157] - arm64: compat: Add cp15_32 and cp15_64 handler arrays (Mark Salter) [1999157] - arm64: compat: Add condition code checks and IT advance (Mark Salter) [1999157] - arm64: Add decoding macros for CP15_32 and CP15_64 traps (Mark Salter) [1999157] - arm64: Remove unused VGA console support (Mark Salter) [1999157] - arm64: Kconfig: Remove ARCH_HAS_HOLES_MEMORYMODEL (Mark Salter) [1999157] - arm64/cpufeatures: Emulate MRS instructions by parsing ESR_ELx.ISS (Mark Salter) [1999157] - arm64/cpufeatures: Factorize emulate_mrs() (Mark Salter) [1999157] - arm64: fix for bad_mode() handler to always result in panic (Mark Salter) [1999157] - arm64: force_signal_inject: WARN if called from kernel context (Mark Salter) [1999157] - arm64: tlb: Adjust stride and type of TLBI according to mmu_gather (Mark Salter) [1999157] - arm64: percpu: Initialize ret in the default case (Mark Salter) [1999157] - arm64: mm: always enable CONFIG_HOLES_IN_ZONE (Mark Salter) [1999157] - arm64: Avoid calling stop_machine() when patching jump labels (Mark Salter) [1999157] - arm64: Drop asmlinkage qualifier from syscall_trace_{enter,exit} (Mark Salter) [1999157] - arm64: zero GPRs upon entry from EL0 (Mark Salter) [1999157] - arm64: don't reload GPRs after apply_ssbd (Mark Salter) [1999157] - arm64: consistently use unsigned long for thread flags (Mark Salter) [1999157] - arm64: insn: Don't fallback on nosync path for general insn patching (Mark Salter) [1999157] - arm64: remove unused COMPAT_PSR definitions (Mark Salter) [1999157] - kvm/arm: use PSR_AA32 definitions (Mark Salter) [1999157] - arm64: use PSR_AA32 definitions (Mark Salter) [1999157] - arm64: compat: map SPSR_ELx<->PSR for signals (Mark Salter) [1999157]- RDMA/qedr: Fix reporting max_{send/recv}_wr attrs (Kamal Heib) [2051524] - thermal/drivers/int340x: Fix RFIM mailbox write commands (Prarit Bhargava) [2040065] - thermal: int340x: Limit Kconfig to 64-bit (Prarit Bhargava) [2040065] - thermal: int340x: fix build on 32-bit targets (Prarit Bhargava) [2040065] - thermal/drivers/int340x: processor_thermal: Suppot 64 bit RFIM responses (Prarit Bhargava) [2040065] - PCI/MSI: Clear PCI_MSIX_FLAGS_MASKALL on error (Myron Stowe) [1911591] - PCI/MSI: Skip masking MSI-X on Xen PV (Myron Stowe) [1911591] - PCI/MSI: Mask all unused MSI-X entries (Myron Stowe) [1911591] - PCI/MSI: Enable and mask MSI-X early (Myron Stowe) [1911591] - genirq: Use rcu in kstat_irqs_usr() (Waiman Long) [2068445] - scsi: target: Allow changing dbroot if there are no registered devices (Maurizio Lombardi) [2073435] - powerpc/pseries: Fix use after free in remove_phb_dynamic() (Steve Best) [2073707] - sctp: use the correct skb for security_sctp_assoc_request (Xin Long) [2070915] - s390/mm: check 2KB-fragment page on release (Rafael Aquini) [2026578] - s390/mm: better annotate 2KB pagetable fragments handling (Rafael Aquini) [2026578] - s390/mm: fix 2KB pgtable release race (Rafael Aquini) [2026578] - s390/mm: fix phys vs virt confusion in pgtable allocation routines (Rafael Aquini) [2026578] - net: openvswitch: fix leak of nested actions (Eelco Chaudron) [2073538] - bpf: Let bpf_warn_invalid_xdp_action() report more info (Petr Oros) [2069671] - bpf: Do not WARN in bpf_warn_invalid_xdp_action() (Petr Oros) [2069671]- scsi: qedi: Fix failed disconnect handling (Chris Leech) [2071519] - scsi: iscsi: Fix unbound endpoint error handling (Chris Leech) [2071519] - scsi: iscsi: Fix conn cleanup and stop race during iscsid restart (Chris Leech) [2071519] - scsi: iscsi: Fix endpoint reuse regression (Chris Leech) [2071519] - scsi: iscsi: Release endpoint ID when its freed (Chris Leech) [2071519] - scsi: iscsi: Fix offload conn cleanup when iscsid restarts (Chris Leech) [2071519] - Revert "scsi: iscsi: Fix offload conn cleanup when iscsid restarts" (Chris Leech) [2071519] - scsi: iscsi: Speed up session unblocking and removal (Chris Leech) [2071519] - scsi: iscsi: Fix recovery and unblocking race (Chris Leech) [2071519] - scsi: iscsi: Unblock session then wake up error handler (Chris Leech) [2071519] - bnxt_en: make hw-tc-offload default to off (Ken Cox) [2005101] - bnxt_en: reject indirect blk offload when hw-tc-offload is off (Ken Cox) [2005101]- bpf, test_offload.py: Skip base maps without names (Yauheni Kaliuta) [2025787] - bnx2x: truncate value to original sizing (Manish Chopra) [2040271] - bnx2x: use correct format characters (Manish Chopra) [2040271] - bnx2x: fix built-in kernel driver load failure (Manish Chopra) [2040271] - bnx2x: fix driver load from initrd (Manish Chopra) [2040271] - bnx2x: Replace one-element array with flexible-array member (Manish Chopra) [2040271] - bnx2x: Remove useless DMA-32 fallback configuration (Manish Chopra) [2040271] - bnx2x: Invalidate fastpath HSI version for VFs (Manish Chopra) [2040271] - bnx2x: Utilize firmware 7.13.21.0 (Manish Chopra) [2040271] - bnx2x: constify static inline stub for dev_addr (Manish Chopra) [2040271] - net: bnx2x: fix variable dereferenced before check (Manish Chopra) [2040271] - ethernet: bnx2x: use eth_hw_addr_set() (Manish Chopra) [2040271] - bnx2x: Fix enabling network interfaces without VFs (Manish Chopra) [2040271] - bnx2x: fix an error code in bnx2x_nic_load() (Manish Chopra) [2040271] - bnx2x: remove unused variable 'cur_data_offset' (Manish Chopra) [2040271] - bnx2x: Remove the repeated declaration (Manish Chopra) [2040271] - bnx2x: Fix missing error code in bnx2x_iov_init_one() (Manish Chopra) [2040271] - net: broadcom: bnx2x: Fix wrong function name in comments (Manish Chopra) [2040271] - bnx2x: Remove redundant assignment to err (Manish Chopra) [2040271] - bnx2x: Use fallthrough pseudo-keyword (Manish Chopra) [2040271] - bnx2x: use true,false for bool variables (Manish Chopra) [2040271] - bnx2x: Fix some kernel-doc warnings (Manish Chopra) [2040271] - bnx2x: convert to new udp_tunnel_nic infra (Manish Chopra) [2040271] - bnx2x: Remove hw_reset_t function casts (Manish Chopra) [2040271] - bnx2x: Remove format_fw_ver_t function casts (Manish Chopra) [2040271] - bnx2x: Remove config_init_t function casts (Manish Chopra) [2040271] - bnx2x: Remove read_status_t function casts (Manish Chopra) [2040271] - bnx2x: Drop redundant callback function casts (Manish Chopra) [2040271] - bnx2x: Use napi_alloc_frag() (Manish Chopra) [2040271] - HID: intel-ish-hid: fix module device-id handling (Tony Camuso) [1921300] - mod_devicetable: fix kdocs for ishtp_device_id (Tony Camuso) [1921300] - HID: intel-ish-hid: add support for MODULE_DEVICE_TABLE() (Tony Camuso) [1921300] - platform/x86: isthp_eclite: only load for matching devices (Tony Camuso) [1921300] - platform/x86: Add Intel ishtp eclite driver (Tony Camuso) [1921300] - platform/x86: Add config file for Intel ishtp eclite driver (Tony Camuso) [1921300] - modpost: add guid_t type definition (Tony Camuso) [1921300] - squashfs: provide backing_dev_info in order to disable read-ahead (Brian Foster) [2025351] - mm: fix readahead_page_batch for retry entries (Brian Foster) [2025351] - iomap: convert from readpages to readahead (Brian Foster) [2025351] - fs: convert mpage_readpages to mpage_readahead (Brian Foster) [2025351] - mm: use memalloc_nofs_save in readahead path (Brian Foster) [2025351] - mm: document why we don't set PageReadahead (Brian Foster) [2025351] - mm: add page_cache_readahead_unbounded (Brian Foster) [2025351] - mm: move end_index check out of readahead loop (Brian Foster) [2025351] - mm: add readahead address space operation (Brian Foster) [2025351] - mm: put readahead pages in cache earlier (Brian Foster) [2025351] - mm: remove 'page_offset' from readahead loop (Brian Foster) [2025351] - mm: rename readahead loop variable to 'i' (Brian Foster) [2025351] - mm: rename various 'offset' parameters to 'index' (Brian Foster) [2025351] - mm: use readahead_control to pass arguments (Brian Foster) [2025351] - mm: add new readahead_control API (Brian Foster) [2025351] - mm: move readahead nr_pages check into read_pages (Brian Foster) [2025351] - mm: ignore return value of ->readpages (Brian Foster) [2025351] - mm: return void from various readahead functions (Brian Foster) [2025351] - mm: move readahead prototypes from mm.h (Brian Foster) [2025351] - mpage: mpage_readpages() should submit IO as read-ahead (Brian Foster) [2025351] - mpage: add argument structure for do_mpage_readpage() (Brian Foster) [2025351] - redhat/configs: enable CONFIG_AMD_PTDMA for x86_64 (Sudheesh Mavila) [2027231] - dmaengine: ptdma: handle the cases based on DMA is complete (Sudheesh Mavila) [2027231] - dmaengine: ptdma: fix concurrency issue with multiple dma transfer (Sudheesh Mavila) [2027231] - dmaengine: ptdma: Fix the error handling path in pt_core_init() (Sudheesh Mavila) [2027231] - MAINTAINERS: Fix AMD PTDMA DRIVER entry (Sudheesh Mavila) [2027231] - dmaengine: ptdma: remove PT_OFFSET to avoid redefnition (Sudheesh Mavila) [2027231] - dmaengine: ptdma: Add debugfs entries for PTDMA (Sudheesh Mavila) [2027231] - dmaengine: ptdma: register PTDMA controller as a DMA resource (Sudheesh Mavila) [2027231] - dmaengine: ptdma: Initial driver for the AMD PTDMA (Sudheesh Mavila) [2027231] - isert: support for unsolicited NOPIN with no response (Maurizio Lombardi) [2035915] - iscsit: increment max_cmd_sn for isert on command release (Maurizio Lombardi) [2035915] - sched/debug: Remove mpol_get/put and task_lock/unlock from sched_show_numa (Phil Auld) [2062841] - sched/numa: initialize numa statistics when forking new task (Phil Auld) [2062841] - cgroup: Fix suspicious rcu_dereference_check() usage warning (Phil Auld) [2062841] - sched/cpuacct: Remove redundant RCU read lock (Phil Auld) [2062841] - sched/cpuacct: Optimize away RCU read lock (Phil Auld) [2062841] - sched/cpuacct: Fix charge percpu cpuusage (Phil Auld) [2062841] - sched: replace cpumask_weight with cpumask_empty where appropriate (Phil Auld) [2062841] - sched/rt: Plug rt_mutex_setprio() vs push_rt_task() race (Phil Auld) [2062841] - psi: fix possible trigger missing in the window (Phil Auld) [2062841] - sched: Avoid double preemption in __cond_resched_*lock*() (Phil Auld) [2062841] - sched/fair: Fix all kernel-doc warnings (Phil Auld) [2062841] - sched/rt: Try to restart rt period timer when rt runtime exceeded (Phil Auld) [2062841] - sched/fair: Fix detection of per-CPU kthreads waking a task (Phil Auld) [2062841] - locking: Remove rt_rwlock_is_contended(). (Phil Auld) [2062841] - sched: Trigger warning if ->migration_disabled counter underflows. (Phil Auld) [2062841] - sched/cpuacct: Make user/system times in cpuacct.stat more precise (Phil Auld) [2062841] - sched/cpuacct: Fix user/system in shown cpuacct.usage* (Phil Auld) [2062841] - cpuacct: Convert BUG_ON() to WARN_ON_ONCE() (Phil Auld) [2062841] - cputime, cpuacct: Include guest time in user time in cpuacct.stat (Phil Auld) [2062841] - sched/fair: Document the slow path and fast path in select_task_rq_fair (Phil Auld) [2062841] - drm/i915/ehl: Remove require_force_probe protection (Michel Dänzer) [2048674] - net/sched: fix initialization order when updating chain 0 head (Marcelo Ricardo Leitner) [2044711] - smp: Process pending softirqs in flush_smp_call_function_from_idle() (Waiman Long) [2066087] - irq_work: Optimize irq_work_single() (Waiman Long) [2066087] - irq_work: Cleanup (Waiman Long) [2066087] - smp, irq_work: Continue smp_call_function*() and irq_work*() integration (Waiman Long) [2066087] - irq_work: Define irq_work_single() on !CONFIG_IRQ_WORK too (Waiman Long) [2066087] - sched/headers: Split out open-coded prototypes into kernel/sched/smp.h (Waiman Long) [2066087] - sched: Replace rq::wake_list (Waiman Long) [2066087] - sched: Add rq::ttwu_pending (Waiman Long) [2066087] - irq_work, smp: Allow irq_work on call_single_queue (Waiman Long) [2066087] - smp: Optimize send_call_function_single_ipi() (Waiman Long) [2066087] - smp: Move irq_work_run() out of flush_smp_call_function_queue() (Waiman Long) [2066087] - smp: Optimize flush_smp_call_function_queue() (Waiman Long) [2066087] - sched: Fix smp_call_function_single_async() usage for ILB (Waiman Long) [2066087] - sched: Make scheduler_ipi inline (Waiman Long) [2066087] - sched: Clean up scheduler_ipi() (Waiman Long) [2066087] - sched/core: Remove rq.hrtick_csd_pending (Waiman Long) [2066087] - sched/fair: Clean up comment in nohz_idle_balance() (Waiman Long) [2066087] - context_tracking: Rename context_tracking_is_enabled() => context_tracking_enabled() (Waiman Long) [2066087] - context_tracking: Remove context_tracking_active() (Waiman Long) [2066087] - redhat: configs: Disable CONFIG_MPLS for s390x/zfcpdump (Guillaume Nault) [2051659] - KVM: PPC: Book3S HV: Add infrastructure to support 2nd DAWR (Laurent Vivier) [2059318] - KVM: PPC: Book3S HV: Rename current DAWR macros and variables (Laurent Vivier) [2059318] - uapi/linux/stddef.h: Add include guards (Michel Dänzer) [2072125] - stddef: Introduce struct_group() helper macro (Michel Dänzer) [2072125] - component: Add common helper for compare/release functions (Michel Dänzer) [2072125] - PCI/VGA: Move vgaarb to drivers/pci (Michel Dänzer) [2072125] - vgaarb: don't pass a cookie to vga_client_register (Michel Dänzer) [2072125] - vgaarb: remove the unused irq_set_state argument to vga_client_register (Michel Dänzer) [2072125] - vgaarb: provide a vga_client_unregister wrapper (Michel Dänzer) [2072125] - vgaarb: cleanup vgaarb.h (Michel Dänzer) [2072125] - vgaarb: move the kerneldoc for vga_set_legacy_decoding to vgaarb.c (Michel Dänzer) [2072125] - vgaarb: remove vga_conflicts (Michel Dänzer) [2072125] - vgaarb: remove VGA_DEFAULT_DEVICE (Michel Dänzer) [2072125] - lib/string_helpers: Consolidate string helpers implementation (Michel Dänzer) [2072125] - include/linux/string_helpers.h: add linux/string.h for strlen() (Michel Dänzer) [2072125] - kernel.h: split out container_of() and typeof_member() macros (Michel Dänzer) [2072125] - mm/vmscan: add sync_shrinkers function v3 (Michel Dänzer) [2072125] - lib: devres: Add managed arch_io_reserve_memtype_wc() (Michel Dänzer) [2072125] - lib: devres: Add managed arch_phys_wc_add() (Michel Dänzer) [2072125] - kernel/locking: Use a pointer in ww_mutex_trylock(). (Michel Dänzer) [2072125] - locking/ww-mutex: Fix uninitialized use of ret in test_aa() (Michel Dänzer) [2072125] - kernel/locking: Add context to ww_mutex_trylock() (Michel Dänzer) [2072125] - locking/lockdep: Provide lockdep_assert{,_once}() helpers (Michel Dänzer) [2072125] - mm: gup: pack has_pinned in MMF_HAS_PINNED (Chris von Recklinghausen) [2073217] - mm: gup: allow FOLL_PIN to scale in SMP (Chris von Recklinghausen) [2073217] - CI: Drop baseline runs (Veronika Kabatova)- powerpc/xive: Export XIVE IPI information for online-only processors. (Steve Best) [2038448] - netfilter: conntrack: fix reading nf_conntrack_buckets (Phil Sutter) [2053628] - netfilter: nf_tables: initialize registers in nft_do_chain() (Florian Westphal) [2067966] {CVE-2022-1016} - x86/sev-es: Use __put_user()/__get_user() for data accesses (Vitaly Kuznetsov) [2063719] - x86/sev-es: Handle string port IO to kernel memory properly (Vitaly Kuznetsov) [2063719] - x86/sev: Return an error on a returned non-zero SW_EXITINFO1[31:0] (Vitaly Kuznetsov) [2063719] - x86/sev-es: Use __copy_from_user_inatomic() (Vitaly Kuznetsov) [2063719] - x86/sev-es: Check regs->sp is trusted before adjusting #VC IST stack (Vitaly Kuznetsov) [2063719] - x86/sev-es: Introduce ip_within_syscall_gap() helper (Vitaly Kuznetsov) [2063719] - x86/sev-es: Forward page-faults which happen during emulation (Vitaly Kuznetsov) [2063719] - x86/sev-es: Don't return NULL from sev_es_get_ghcb() (Vitaly Kuznetsov) [2063719] - x86/sev-es: Invalidate the GHCB after completing VMGEXIT (Vitaly Kuznetsov) [2063719] - x86/sev-es: Move sev_es_put_ghcb() in prep for follow on patch (Vitaly Kuznetsov) [2063719] - x86/sev: Fix stack type check in vc_switch_off_ist() (Vitaly Kuznetsov) [2063719] - x86/sev: Allow #VC exceptions on the VC2 stack (Vitaly Kuznetsov) [2063719] - x86/sev-es: Enable #VC specific entry point for real (Vitaly Kuznetsov) [2063719] - x86/cpu: Use pinning mask for CR4 bits needing to be 0 (Vitaly Kuznetsov) [2063719] - x86/asm: Move native_write_cr0/4() out of line (Vitaly Kuznetsov) [2063719] - x86/asm: Pin sensitive CR4 bits (Vitaly Kuznetsov) [2063719] - x86/asm: Pin sensitive CR0 bits (Vitaly Kuznetsov) [2063719] - powerpc/mce: Modify the real address error logging messages (Desnes A. Nunes do Rosario) [2068761] - selftests/powerpc: Add test for real address error handling (Desnes A. Nunes do Rosario) [2068761] - powerpc/pseries: Parse control memory access error (Desnes A. Nunes do Rosario) [2068761] - powerpc/pseries/mce: Fix a typo in error type assignment (Desnes A. Nunes do Rosario) [2068761] - netfilter: nf_tables: validate registers coming from userspace. (Florian Westphal) [2065357] {CVE-2022-1015} - PCI: hv: Propagate coherence from VMbus device to PCI device (Vitaly Kuznetsov) [2068429] - Drivers: hv: vmbus: Propagate VMbus coherence to each VMbus device (Vitaly Kuznetsov) [2068429] - Revert "xfs: actually bump warning counts when we send warnings" (Carlos Maiolino) [2059262] - perf/x86/intel: Add a quirk for the calculation of the number of counters on Alder Lake (Michael Petlan) [2039996] - perf stat: Support --cputype option for hybrid events (Michael Petlan) [1971941] - perf/x86/intel/uncore: Add IMC uncore support for ADL (Michael Petlan) [2042217] - tipc: fix kernel panic when enabling bearer (Xin Long) [2061233] - media: v4l: ioctl: Fix memory leak in video_usercopy (Jarod Wilson) [1954604] {CVE-2021-30002}- esp6: fix check on ipv6_skip_exthdr's return value (Sabrina Dubroca) [2054075] - scsi: iscsi: Fix nop handling during conn recovery (Chris Leech) [2069969] - scsi: iscsi: Merge suspend fields (Chris Leech) [2069969] - scsi: iscsi: Fix offload conn cleanup when iscsid restarts (Chris Leech) [2069969] - scsi: iscsi: Move iscsi_ep_disconnect (Chris Leech) [2069969] - CI: Remove deprecated option (Veronika Kabatova)- redhat: add new KUNIT tests to mod-internal.list (Nico Pache) [2065444] - kasan: test: prevent cache merging in kmem_cache_double_destroy (Nico Pache) [2065444] - kasan: test: fix compatibility with FORTIFY_SOURCE (Nico Pache) [2065444] - kasan: test: add test case for double-kmem_cache_destroy() (Nico Pache) [2065444] - kasan: add ability to detect double-kmem_cache_destroy() (Nico Pache) [2065444] - kasan: test: add globals left-out-of-bounds test (Nico Pache) [2065444] - kasan: test: silence intentional read overflow warnings (Nico Pache) [2065444] - kasan: test: bypass __alloc_size checks (Nico Pache) [2065444] - kasan: test: add memcpy test that avoids out-of-bounds write (Nico Pache) [2065444] - kasan: test: clean up ksize_uaf (Nico Pache) [2065444] - kasan: test: disable kmalloc_memmove_invalid_size for HW_TAGS (Nico Pache) [2065444] - kasan: test: only do kmalloc_uaf_memset for generic mode (Nico Pache) [2065444] - kasan: test: avoid corrupting memory via memset (Nico Pache) [2065444] - kasan: test: avoid writing invalid memory (Nico Pache) [2065444] - kasan: test: rework kmalloc_oob_right (Nico Pache) [2065444] - Documentation: kunit: remove claims that kunit is a mocking framework (Nico Pache) [2065444] - kunit: Reset suite count after running tests (Nico Pache) [2065444] - kunit: drop assumption in kunit-log-test about current suite (Nico Pache) [2065444] - string.h: Introduce memset_startat() for wiping trailing members and padding (Nico Pache) [2065444] - string.h: Introduce memset_after() for wiping trailing members/padding (Nico Pache) [2065444] - lib: Introduce CONFIG_MEMCPY_KUNIT_TEST (Nico Pache) [2065444] - kunit: fix kernel-doc warnings due to mismatched arg names (Nico Pache) [2065444] - kunit: fix reference count leak in kfree_at_end (Nico Pache) [2065444] - kunit: Print test statistics on failure (Nico Pache) [2065444] - fat: Add KUnit tests for checksums and timestamps (Nico Pache) [2065444] - kunit: add unit test for filtering suites by names (Nico Pache) [2065444] - kunit: test: Add example tests which are always skipped (Nico Pache) [2065444] - kunit: Support skipped tests (Nico Pache) [2065444] - redhat: remove TEST_LIST_SORT config definitions (Nico Pache) [2065444] - lib/test: convert test_sort.c to use KUnit (Nico Pache) [2065444] - lib/test: convert lib/test_list_sort.c to use KUnit (Nico Pache) [2065444] - kunit: introduce kunit_kmalloc_array/kunit_kcalloc() helpers (Nico Pache) [2065444] - kunit: Add gnu_printf specifiers (Nico Pache) [2065444] - lib/cmdline_kunit: Remove a cast which are no-longer required (Nico Pache) [2065444] - kernel/sysctl-test: Remove some casts which are no-longer required (Nico Pache) [2065444] - device property: Remove some casts in property-entry-test (Nico Pache) [2065444] - Documentation: kunit: Clean up some string casts in examples (Nico Pache) [2065444] - kunit: Assign strings to 'const char*' in STREQ assertions (Nico Pache) [2065444] - kunit: Do not typecheck binary assertions (Nico Pache) [2065444] - Documentation: kunit: document support for QEMU in kunit_tool (Nico Pache) [2065444] - kunit: Add 'kunit_shutdown' option (Nico Pache) [2065444] - Documentation: kunit: Update kunit_tool page (Nico Pache) [2065444] - Documentation: kunit: add tips for running KUnit (Nico Pache) [2065444] - slub: remove resiliency_test() function (Nico Pache) [2065444] - mm/slub, kunit: add a KUnit test for SLUB debugging functionality (Nico Pache) [2065444] - kunit: make test->lock irq safe (Nico Pache) [2065444] - docs: dev-tools: kunit: avoid using ReST :doc:`foo` markup (Nico Pache) [2065444] - docs: dev-tools: kunit: don't use a table for docs name (Nico Pache) [2065444] - kunit: make KUNIT_EXPECT_STREQ() quote values, don't print literals (Nico Pache) [2065444] - kunit: Match parenthesis alignment to improve code readability (Nico Pache) [2065444] - openvswitch: always update flow key after nat (Aaron Conole) [2066885] - md: initialize percpu refcounters using PERCU_REF_ALLOW_REINIT (Nigel Croxon) [2032272] - net: fix a memleak when uncloning an skb dst and its metadata (Hangbin Liu) [2068355] - net: do not keep the dst cache when uncloning an skb dst and its metadata (Hangbin Liu) [2068355] - net: phy: at803x: move page selection fix to config_init (Petr Oros) [2021822] - net: phylink: rejig SFP interface selection in ksettings_set() (Petr Oros) [2021822] - ptp: dp83640: don't define PAGE0 (Petr Oros) [2021822] - net: phylink: Update SFP selected interface on advertising changes (Petr Oros) [2021822] - net: phy: marvell10g: fix broken PHY interrupts for anyone after us in the driver probe list (Petr Oros) [2021822] - net: phy: marvell: Add WAKE_PHY support to WOL event (Petr Oros) [2021822] - net: phy: micrel: Fix link detection on ksz87xx switch" (Petr Oros) [2021822] - net: phy: micrel: Fix detection of ksz87xx switch (Petr Oros) [2021822] - net: phy: broadcom: re-add check for PHY_BRCM_DIS_TXCRXC_NOENRGY on the BCM54811 PHY (Petr Oros) [2021822] - net: phy: at803x: simplify custom phy id matching (Petr Oros) [2021822] - net: phy: intel-xway: Add RGMII internal delay configuration (Petr Oros) [2021822] - net: phylink: cleanup ksettings_set (Petr Oros) [2021822] - net: phylink: add phy change pause mode debug (Petr Oros) [2021822] - net: phy: add API to read 802.3-c45 IDs (Petr Oros) [2021822] - net: phy: Fix data type in DP83822 dp8382x_disable_wol() (Petr Oros) [2021822] - net: phy: marvell10g: enable WoL for 88X3310 and 88E2110 (Petr Oros) [2021822] - net: phy: marvell10g: fix differentiation of 88X3310 from 88X3340 (Petr Oros) [2021822] - net: phy: replace if-else statements with switch (Petr Oros) [2021822] - net: phy: remove unnecessary line continuation (Petr Oros) [2021822] - net: phy: print the function name by __func__ instead of an fixed string (Petr Oros) [2021822] - net: phy: fix formatting issues with braces (Petr Oros) [2021822] - net: phy: fix space alignment issues (Petr Oros) [2021822] - net: phy: delete repeated words of comments (Petr Oros) [2021822] - net: phy: correct format of block comments (Petr Oros) [2021822] - net: phy: change format of some declarations (Petr Oros) [2021822] - net: phy: micrel: remove redundant assignment to pointer of_node (Petr Oros) [2021822] - net: phy: dp83867: perform soft reset and retain established link (Petr Oros) [2021822] - net: phy: do not print dump stack if device was removed (Petr Oros) [2021822] - net: phy: probe for C45 PHYs that return PHY ID of zero in C22 space (Petr Oros) [2021822] - net: phy: marvell: use phy_modify_changed() for marvell_set_polarity() (Petr Oros) [2021822] - net: phy: Fix inconsistent indenting (Petr Oros) [2021822] - net: mdiobus: get rid of a BUG_ON() (Petr Oros) [2021822] - net: phy: marvell: enable downshift by default (Petr Oros) [2021822] - net: phy: marvell: add downshift support for M88E1240 (Petr Oros) [2021822] - net: phy: marvell: fix m88e1111_set_downshift (Petr Oros) [2021822] - net: phy: marvell: fix m88e1011_set_downshift (Petr Oros) [2021822] - net: phy: marvell: don't use empty switch default case (Petr Oros) [2021822] - net: phy: intel-xway: enable integrated led functions (Petr Oros) [2021822] - net: phy: at803x: fix probe error if copper page is selected (Petr Oros) [2021822] - net: phy: marvell: add support for Amethyst internal PHY (Petr Oros) [2021822] - net: dsa: mv88e6xxx: simulate Amethyst PHY model number (Petr Oros) [2021822] - net: phy: marvell: use assignment by bitwise AND operator (Petr Oros) [2021822] - net: phy: marvell: fix HWMON enable register for 6390 (Petr Oros) [2021822] - net: phy: marvell: refactor HWMON OOP style (Petr Oros) [2021822] - net: phy: at803x: select correct page on config init (Petr Oros) [2021822] - net: phy: marvell: fix detection of PHY on Topaz switches (Petr Oros) [2021822] - net: phy: marvell10g: change module description (Petr Oros) [2021822] - net: phy: marvell10g: differentiate 88E2110 vs 88E2111 (Petr Oros) [2021822] - net: phy: add constants for 2.5G and 5G speed in PCS speed register (Petr Oros) [2021822] - net: phy: marvell10g: fix driver name for mv88e2110 (Petr Oros) [2021822] - net: phy: marvell10g: add separate structure for 88X3340 (Petr Oros) [2021822] - net: phy: marvell10g: support other MACTYPEs (Petr Oros) [2021822] - net: phy: marvell10g: store temperature read method in chip strucutre (Petr Oros) [2021822] - net: phy: marvell10g: check for correct supported interface mode (Petr Oros) [2021822] - net: phy: marvell10g: support all rate matching modes (Petr Oros) [2021822] - net: phy: marvell10g: add MACTYPE definitions for 88E21xx (Petr Oros) [2021822] - net: phy: marvell10g: add all MACTYPE definitions for 88X33x0 (Petr Oros) [2021822] - net: phy: marvell10g: indicate 88X33x0 only port control registers (Petr Oros) [2021822] - net: phy: marvell10g: allow 5gbase-r and usxgmii (Petr Oros) [2021822] - net: phy: marvell10g: fix typo (Petr Oros) [2021822] - net: phy: marvell10g: rename register (Petr Oros) [2021822] - net: fec: use mac-managed PHY PM (Petr Oros) [2021822] - net: phy: broadcom: Add statistics for all Gigabit PHYs (Petr Oros) [2021822] - net: phy: broadcom: Only advertise EEE for supported modes (Petr Oros) [2021822] - net: phy: remove repeated word (Petr Oros) [2021822] - net: phy: Correct function name mdiobus_register_board_info() in comment (Petr Oros) [2021822] - net: phy: lan87xx: fix access to wrong register of LAN87xx (Petr Oros) [2021822] - net: phy: at803x: remove at803x_aneg_done() (Petr Oros) [2021822] - net: phy: broadcom: Fix RGMII delays for BCM50160 and BCM50610M (Petr Oros) [2021822] - docs: networking: phy: Improve placement of parenthesis (Petr Oros) [2021822] - net: phy: broadcom: Add power down exit reset state delay (Petr Oros) [2021822] - net: phy: make mdio_bus_phy_suspend/resume as __maybe_unused (Petr Oros) [2021822] - net: mdio: Remove of_phy_attach() (Petr Oros) [2021822] - net: phy: broadcom: Do not modify LED configuration for SFP module PHYs (Petr Oros) [2021822] - net: phy: Add is_on_sfp_module flag and phy_on_sfp helper (Petr Oros) [2021822] - net: phy: broadcom: Set proper 1000BaseX/SGMII interface mode for BCM54616S (Petr Oros) [2021822] - net: phy: marvell: Ensure SGMII auto-negotiation is enabled for 88E1111 (Petr Oros) [2021822] - net: phylink: Add 5gbase-r support (Petr Oros) [2021822] - net: phy: Add 5GBASER interface mode (Petr Oros) [2021822] - net: phy: rename PHY_IGNORE_INTERRUPT to PHY_MAC_INTERRUPT (Petr Oros) [2021822] - net: phy: at803x: add MDIX support to AR8031/33 (Petr Oros) [2021822] - net: phy: broadcom: Allow BCM54210E to configure APD (Petr Oros) [2021822] - net: phy: broadcom: Remove unused flags (Petr Oros) [2021822] - net: phy: broadcom: Avoid forward for bcm54xx_config_clock_delay() (Petr Oros) [2021822] - net: phy: consider that suspend2ram may cut off PHY power (Petr Oros) [2021822] - net: phy: bcm7xxx: Add an entry for BCM72116 (Petr Oros) [2021822] - net: mdiobus: Remove WARN_ON_ONCE(in_interrupt()) (Petr Oros) [2021822] - net: Use kobj_to_dev() API (Petr Oros) [2021822] - net: phy: Fixup kernel doc (Petr Oros) [2021822] - net: phy: bcm7xxx: Add an entry for BCM72113 (Petr Oros) [2021822] - net: phy: mchp: Add support for LAN8814 QUAD PHY (Petr Oros) [2021822] - net: dp83867: Fix WoL SecureOn password (Petr Oros) [2021822] - net: phy: at803x: constify static regulator_ops (Petr Oros) [2021822] - net: phy: marvell10g: support XFI rate matching mode (Petr Oros) [2021822] - net: switch to using PHY_INTERFACE_MODE_10GBASER rather than 10GKR (Petr Oros) [2021822] - netfilter: conntrack: Add and use nf_ct_set_auto_assign_helper_warned() (Phil Sutter) [1896241] - net: do not reuse skbuff allocated from skbuff_fclone_cache in the skb cache (Ivan Vecera) [2069781] - skbuff: queue NAPI_MERGED_FREE skbs into NAPI cache instead of freeing (Ivan Vecera) [2069781] - skbuff: allow to use NAPI cache from __napi_alloc_skb() (Ivan Vecera) [2069781] - skbuff: allow to optionally use NAPI cache from __alloc_skb() (Ivan Vecera) [2069781] - skbuff: introduce {,__}napi_build_skb() which reuses NAPI cache heads (Ivan Vecera) [2069781] - skbuff: move NAPI cache declarations upper in the file (Ivan Vecera) [2069781] - skbuff: remove __kfree_skb_flush() (Ivan Vecera) [2069781] - skbuff: use __build_skb_around() in __alloc_skb() (Ivan Vecera) [2069781] - skbuff: simplify __alloc_skb() a bit (Ivan Vecera) [2069781] - skbuff: make __build_skb_around() return void (Ivan Vecera) [2069781] - skbuff: simplify kmalloc_reserve() (Ivan Vecera) [2069781] - skbuff: move __alloc_skb() next to the other skb allocation functions (Ivan Vecera) [2069781] - net: Introduce {netdev,napi}_alloc_frag_align() (Ivan Vecera) [2069781] - mm: page_frag: Introduce page_frag_alloc_align() (Ivan Vecera) [2069781] - perf tests attr: Add missing topdown metrics events (Michael Petlan) [1986275] - cifs: Return correct error code from smb2_get_enc_key (Ronnie Sahlberg) [2058369] - ipv4: avoid using shared IP generator for connected sockets (Paolo Abeni) [2062427] {CVE-2020-36516} - crypto: cryptd - Fix skcipher instance memory leak (Vladis Dronov) [2004344] - EVM: fix the evm= __setup handler return value (Bruno Meneguele) [2063900] - integrity: include keyring name for unknown key request (Bruno Meneguele) [2063900] - ima: limit secure boot feedback scope for appraise (Bruno Meneguele) [2063900] - integrity: invalid kernel parameters feedback (Bruno Meneguele) [2063900] - ima: add check for enforced appraise option (Bruno Meneguele) [2063900] - ima: Allow template selection with ima_template[_fmt]= after ima_hash= (Bruno Meneguele) [2063900] - ima: Remove ima_policy file before directory (Bruno Meneguele) [2063900] - integrity: check the return value of audit_log_start() (Bruno Meneguele) [2063900] - ima: fix deadlock when traversing "ima_default_rules". (Bruno Meneguele) [2063900] - evm: Introduce evm_revalidate_status() (Bruno Meneguele) [2063900] - evm: Refuse EVM_ALLOW_METADATA_WRITES only if an HMAC key is loaded (Bruno Meneguele) [2063900] - evm: Load EVM key in ima_load_x509() to avoid appraisal (Bruno Meneguele) [2063900] - evm: Execute evm_inode_init_security() only when an HMAC key is loaded (Bruno Meneguele) [2063900] - fs/kernel_read_file: Remove FIRMWARE_PREALLOC_BUFFER enum (Bruno Meneguele) [2063900] - RHEL-only: KVM: selftests: Fix AArch64 compilation (Andrew Jones) [2071997] - tools arch x86: Sync the msr-index.h copy with the kernel sources (Andrew Jones) [2071997] - RHEL-only: KVM: selftests: Remove unused modes (Andrew Jones) [2071997]- netfilter: nf_tables_offload: incorrect flow offload action array size (Florian Westphal) [2056728] {CVE-2022-25636} - netfilter: nftables_offload: KASAN slab-out-of-bounds Read in nft_flow_rule_create (Florian Westphal) [2056728] - KVM: SVM: Allow AVIC support on system w/ physical APIC ID > 255 (Bandan Das) [2033068] - PCI/ACPI: Fix acpi_pci_osc_control_set() kernel-doc comment (Mark Langsdorf) [2049209] - PCI/ACPI: Check for _OSC support in acpi_pci_osc_control_set() (Mark Langsdorf) [2049209] - PCI/ACPI: Move _OSC query checks to separate function (Mark Langsdorf) [2049209] - PCI/ACPI: Move supported and control calculations to separate functions (Mark Langsdorf) [2049209] - PCI/ACPI: Remove OSC_PCI_SUPPORT_MASKS and OSC_PCI_CONTROL_MASKS (Mark Langsdorf) [2049209] - kabi: Adding symbol blkdev_get_by_dev (fs/block_dev.c) (Čestmír Kalina) [2010296] - kabi: Adding symbol thaw_bdev (fs/block_dev.c) (Čestmír Kalina) [2010296] - kabi: Adding symbol freeze_bdev (fs/block_dev.c) (Čestmír Kalina) [2010296] - s390/cio: make ccw_device_dma_* more robust (Thomas Huth) [2066709] - perf/x86/intel/uncore: Make uncore_discovery clean for 64 bit addresses (Michael Petlan) [2069237] - redhat: switch secureboot kernel image signing to release keys (Augusto Caringi) - ice: xsk: Stop Rx processing when ntc catches ntu (Ivan Vecera) [2069082] - ice: xsk: Fix indexing in ice_tx_xsk_pool() (Ivan Vecera) [2069082] - ice: Fix kernel crash in XDP scenario (Ivan Vecera) [2069082]- do_wait: make PIDTYPE_PID case O(1) instead of O(n) (Nico Pache) [2055973] - n_tty: wake up poll(POLLRDNORM) on receiving data (Rafael Aquini) [2033338] - powerpc/papr_scm: Implement initial support for injecting smart errors (Steve Best) [1987103] - mm: memcg: synchronize objcg lists with a dedicated spinlock (Rafael Aquini) [2064847] - kasan: fix quarantine conflicting with init_on_free (Rafael Aquini) [2064847] - mm/hwpoison: clear MF_COUNT_INCREASED before retrying get_any_page() (Rafael Aquini) [2064847] - mm/memcg: relocate mod_objcg_mlstate(), get_obj_stock() and put_obj_stock() (Rafael Aquini) [2064847] - mm: move node_reclaim_distance to fix NUMA without SMP (Rafael Aquini) [2064847] - vmalloc: choose a better start address in vm_area_register_early() (Rafael Aquini) [2064847] - mm/vmalloc: check various alignments when debugging (Rafael Aquini) [2064847] - mm/vmalloc: don't allow VM_NO_GUARD on vmap() (Rafael Aquini) [2064847] - mm, thp: bail out early in collapse_file for writeback page (Rafael Aquini) [2064847] - mm/sparse: set SECTION_NID_SHIFT to 6 (Rafael Aquini) [2064847] - mm/memory_hotplug: fix kerneldoc comment for __remove_memory (Rafael Aquini) [2064847] - mm: fix memory_failure() handling of dax-namespace metadata (Rafael Aquini) [2064847] - mm: teach pfn_to_online_page() about ZONE_DEVICE section collisions (Rafael Aquini) [2064847] - mm: teach pfn_to_online_page() to consider subsection validity (Rafael Aquini) [2064847] - mm: move pfn_to_online_page() out of line (Rafael Aquini) [2064847] - Revert "mm: use early_pfn_to_nid in page_ext_init" (Rafael Aquini) [2064847] - x86/mm: Fix kern_addr_valid() to cope with existing but not present entries (Rafael Aquini) [2064847] - powerpc/book3s64: Fix error handling in mm_iommu_do_alloc() (Rafael Aquini) [2064847] - powerpc/pkeys: remove unused pkey_allows_readwrite (Rafael Aquini) [2064847] - x86/hyperv: Output host build info as normal Windows version number (Vitaly Kuznetsov) [2060700] - powerpc/smp: Update cpu_core_map on all PowerPc systems (Diego Domingos) [2064104] - crypto: ccp - ccp_dmaengine_unregister release dma channels (Vladis Dronov) [2015374] - crypto: ccp - remove redundant ret variable (Vladis Dronov) [2015374] - crypto: ccp - Ensure psp_ret is always init'd in __sev_platform_init_locked() (Vladis Dronov) [2015374] - crypto: ccp - remove unneeded semicolon (Vladis Dronov) [2015374] - crypto: ccp - Add SEV_INIT_EX support (Vladis Dronov) [2015374] - crypto: ccp - Add psp_init_on_probe module parameter (Vladis Dronov) [2015374] - crypto: ccp - Refactor out sev_fw_alloc() (Vladis Dronov) [2015374] - crypto: ccp - Move SEV_INIT retry for corrupted data (Vladis Dronov) [2015374] - crypto: ccp - Add SEV_INIT rc error logging on init (Vladis Dronov) [2015374] - crypto: ccp - no need to initialise statics to 0 (Vladis Dronov) [2015374] - ccp: ccp - add support for Green Sardine (Vladis Dronov) [2015374] - crypto: ccp - fix command queuing to TEE ring buffer (Vladis Dronov) [2015374] - crypto: ccp - reduce tee command status polling interval from 5ms to 1ms (Vladis Dronov) [2015374] - crypto: ccp - provide in-kernel API to submit TEE commands (Vladis Dronov) [2015374] - crypto: ccp - add TEE support for Raven Ridge (Vladis Dronov) [2015374] - crypto: ccp - check whether PSP supports SEV or TEE before initialization (Vladis Dronov) [2015374] - ice: Allow to pass VLAN tagged packets to VF when port VLAN is configured (Ivan Vecera) [2071027] - tools headers UAPI: Sync linux/perf_event.h with the kernel sources (Desnes A. Nunes do Rosario) [1992813] - powerpc/perf: Fix power_pmu_disable to call clear_pmi_irq_pending only if PMI is pending (Desnes A. Nunes do Rosario) [1992813] - powerpc/perf: Only define power_pmu_wants_prompt_pmi() for CONFIG_PPC64 (Desnes A. Nunes do Rosario) [1992813] - powerpc/perf: Add data source encodings for power10 platform (Desnes A. Nunes do Rosario) [1992813] - powerpc/perf: Add encodings to represent data based on newer composite PERF_MEM_LVLNUM* fields (Desnes A. Nunes do Rosario) [1992813] - perf: Add new macros for mem_hops field (Desnes A. Nunes do Rosario) [1992813] - tools headers UAPI: Add new macros for mem_hops field to perf_event.h (Desnes A. Nunes do Rosario) [1992813] - bpf: Remove config check to enable bpf support for branch records (Desnes A. Nunes do Rosario) [1992813] - perf powerpc: Update global/local variants for p_stage_cyc (Desnes A. Nunes do Rosario) [1992813] - perf sort: Include global and local variants for p_stage_cyc sort key (Desnes A. Nunes do Rosario) [1992813] - perf sort: Fix the 'p_stage_cyc' sort key behavior (Desnes A. Nunes do Rosario) [1992813] - perf sort: Fix the 'ins_lat' sort key behavior (Desnes A. Nunes do Rosario) [1992813] - perf sort: Fix the 'weight' sort key behavior (Desnes A. Nunes do Rosario) [1992813] - perf vendor events power10: Add metric events JSON file for power10 platform (Desnes A. Nunes do Rosario) [1992813] - perf powerpc: Add support to expose instruction and data address registers as part of extended regs (Desnes A. Nunes do Rosario) [1992813] - perf powerpc: Refactor the code definition of perf reg extended mask in tools side header file (Desnes A. Nunes do Rosario) [1992813] - powerpc/perf: Expose instruction and data address registers as part of extended regs (Desnes A. Nunes do Rosario) [1992813] - powerpc/perf: Refactor the code definition of perf reg extended mask (Desnes A. Nunes do Rosario) [1992813] - powerpc/perf: Fix data source encodings for L2.1 and L3.1 accesses (Desnes A. Nunes do Rosario) [1992813] - tools/perf: Add mem_hops field in perf_mem_data_src structure (Desnes A. Nunes do Rosario) [1992813] - perf: Add mem_hops field in perf_mem_data_src structure (Desnes A. Nunes do Rosario) [1992813] - perf: Add comment about current state of PERF_MEM_LVL_* namespace and remove an extra line (Desnes A. Nunes do Rosario) [1992813] - powerpc/perf: Fix the check for SIAR value (Desnes A. Nunes do Rosario) [1992813] - powerpc/perf: Drop the case of returning 0 as instruction pointer (Desnes A. Nunes do Rosario) [1992813] - powerpc/perf: Use stack siar instead of mfspr (Desnes A. Nunes do Rosario) [1992813] - powerpc/perf/hv-gpci: Fix counter value parsing (Desnes A. Nunes do Rosario) [1992813] - powerpc/perf: Fix PMU callbacks to clear pending PMI before resetting an overflown PMC (Desnes A. Nunes do Rosario) [1992813] - CI: Remove deprecated option (Veronika Kabatova)- bareudp: use ipv6_mod_enabled to check if IPv6 enabled (Hangbin Liu) [2063813] - powerpc/mm/numa: skip NUMA_NO_NODE onlining in parse_numa_properties() (Diego Domingos) [2048218] - redhat: copy rpminspect to dist-git repo (Jarod Wilson) - configs: enable CONFIG_RMI4_F3A (Benjamin Tissoires) [2067219] - Input: synaptics-rmi4 - add support for F3A (Benjamin Tissoires) [2067219] - RDMA/cma: Do not change route.addr.src_addr.ss_family (Kamal Heib) [2032074] {CVE-2021-4028} - drm/i915/adl_s: Remove require_force_probe protection (Michel Dänzer) [2025896] - drm/i915/adl_s: Update ADL-S PCI IDs (Michel Dänzer) [2025896] - drm/i915: Limit Wa_22010178259 to affected platforms (Michel Dänzer) [2025896] - drm/i915/adl_s: Fix dma_mask_size to 39 bit (Michel Dänzer) [2025896] - drm/i915/dmc: Update DMC to v2.14 on ADL-P (Michel Dänzer) [2060051] - drm/i915: Update memory bandwidth formulae (Michel Dänzer) [2060051] - drm/i915/fb: Fold modifier CCS type/tiling attribute to plane caps (Michel Dänzer) [2060051] - drm/i915/fb: Don't store bitmasks in the intel_plane_caps enum (Michel Dänzer) [2060051] - drm/i915/adl_p: Add ddc pin mapping (Michel Dänzer) [2060051] - iommu/amd: Fix I/O page table memory leak (Jerry Snitselaar) [2053210] - iommu/amd: Recover from event log overflow (Jerry Snitselaar) [2053210]- redhat: tune rpminspect w/additions from rhel9 branch (Jarod Wilson) - powerpc/pseries/ddw: Revert "Extend upper limit for huge DMA window for persistent memory" (Steve Best) [2056080] - x86/tsc: Disable clocksource watchdog for TSC on qualified platorms (Prarit Bhargava) [1971939] - x86/tsc: Add a timer to make sure TSC_adjust is always checked (Prarit Bhargava) [1971939] - x86/hpet: Use another crystalball to evaluate HPET usability (Prarit Bhargava) [1971939] - x86/tsc: Respect tsc command line paraemeter for clocksource_tsc_early (Prarit Bhargava) [1971939] - [s390] s390/pci: fix zpci_zdev_put() on reserve (Claudio Imbrenda) [2039185] - [s390] s390/pci: fix use after free of zpci_dev (Claudio Imbrenda) [2039185] - [s390] s390/cio: make ccw_device_dma_* more robust (Claudio Imbrenda) [2039186] - [s390] s390/pci: add s390_iommu_aperture kernel parameter (Claudio Imbrenda) [2039181] - tools headers UAPI: Sync linux/kvm.h with the kernel sources (Paul Lai) [1918929] - kvm: selftests: sync uapi/linux/kvm.h with Linux header (Paul Lai) [1918929] - kvm: selftests: conditionally build vm_xsave_req_perm() (Paul Lai) [1918929] - x86/kvm/fpu: Remove kvm_vcpu_arch.guest_supported_xcr0 (Paul Lai) [1918929] - x86/kvm/fpu: Limit guest user_xfeatures to supported bits of XCR0 (Paul Lai) [1918929] - KVM: x86/cpuid: Exclude unpermitted xfeatures sizes at KVM_GET_SUPPORTED_CPUID (Paul Lai) [1918929] - KVM: x86: Move CPUID.(EAX=0x12,ECX=1) mangling to __kvm_update_cpuid_runtime() (Paul Lai) [1918929] - KVM: x86/cpuid: Clear XFD for component i if the base feature is missing (Paul Lai) [1918929] - KVM: x86: Do runtime CPUID update before updating vcpu->arch.cpuid_entries (Paul Lai) [1918929] - x86/fpu: Fix inline prefix warnings (Paul Lai) [1918929] - selftest: kvm: Add amx selftest (Paul Lai) [1918929] - selftest: kvm: Move struct kvm_x86_state to header (Paul Lai) [1918929] - selftest: kvm: Reorder vcpu_load_state steps for AMX (Paul Lai) [1918929] - kvm: x86: Disable interception for IA32_XFD on demand (Paul Lai) [1918929] - x86/fpu: Provide fpu_sync_guest_vmexit_xfd_state() (Paul Lai) [1918929] - kvm: selftests: Add support for KVM_CAP_XSAVE2 (Paul Lai) [1918929] - kvm: x86: Add support for getting/setting expanded xstate buffer (Paul Lai) [1918929] - x86/fpu: Add uabi_size to guest_fpu (Paul Lai) [1918929] - kvm: x86: Add CPUID support for Intel AMX (Paul Lai) [1918929] - kvm: x86: Add XCR0 support for Intel AMX (Paul Lai) [1918929] - kvm: x86: Disable RDMSR interception of IA32_XFD_ERR (Paul Lai) [1918929] - kvm: x86: Emulate IA32_XFD_ERR for guest (Paul Lai) [1918929] - kvm: x86: Intercept #NM for saving IA32_XFD_ERR (Paul Lai) [1918929] - x86/fpu: Prepare xfd_err in struct fpu_guest (Paul Lai) [1918929] - kvm: x86: Add emulation for IA32_XFD (Paul Lai) [1918929] - x86/fpu: Provide fpu_update_guest_xfd() for IA32_XFD emulation (Paul Lai) [1918929] - kvm: x86: Enable dynamic xfeatures at KVM_SET_CPUID2 (Paul Lai) [1918929] - x86/fpu: Provide fpu_enable_guest_xfd_features() for KVM (Paul Lai) [1918929] - x86/fpu: Add guest support to xfd_enable_feature() (Paul Lai) [1918929] - x86/fpu: Make XFD initialization in __fpstate_reset() a function argument (Paul Lai) [1918929] - kvm: x86: Exclude unpermitted xfeatures at KVM_GET_SUPPORTED_CPUID (Paul Lai) [1918929] - kvm: x86: Fix xstate_required_size() to follow XSTATE alignment rule (Paul Lai) [1918929] - x86/fpu: Prepare guest FPU for dynamically enabled FPU features (Paul Lai) [1918929] - x86/fpu: Extend fpu_xstate_prctl() with guest permissions (Paul Lai) [1918929] - kvm: selftests: move ucall declarations into ucall_common.h (Paul Lai) [1918929] - kvm: selftests: move base kvm_util.h declarations to kvm_util_base.h (Paul Lai) [1918929] - cpuid: kvm_find_kvm_cpuid_features() should be declared 'static' (Paul Lai) [1918929] - KVM: x86: Make sure KVM_CPUID_FEATURES really are KVM_CPUID_FEATURES (Paul Lai) [1918929] - KVM: x86: Add helper to consolidate core logic of SET_CPUID{2} flows (Paul Lai) [1918929]- scsi: mpi3mr: Fix flushing !WQ_MEM_RECLAIM events warning (Tomas Henzl) [2052278] - scsi: mpi3mr: Fix memory leaks (Tomas Henzl) [2054814] - scsi: mpi3mr: Fix reporting of actual data transfer size (Tomas Henzl) [2054814] - scsi: mpi3mr: Fix cmnd getting marked as in use forever (Tomas Henzl) [2054814] - scsi: mpi3mr: Fix hibernation issue (Tomas Henzl) [2054814] - scsi: mpi3mr: Fix printing of pending I/O count (Tomas Henzl) [2054814] - scsi: mpi3mr: Fix deadlock while canceling the fw event (Tomas Henzl) [2054814] - scsi: mpi3mr: Fixes around reply request queues (Tomas Henzl) [2054814] - scsi: mpi3mr: Enhanced Task Management Support Reply handling (Tomas Henzl) [2054814] - scsi: mpi3mr: Use TM response codes from MPI3 headers (Tomas Henzl) [2054814] - scsi: mpi3mr: Increase internal cmnds timeout to 60s (Tomas Henzl) [2054814] - scsi: mpi3mr: Do access status validation before adding devices (Tomas Henzl) [2054814] - scsi: mpi3mr: Update MPI3 headers - part2 (Tomas Henzl) [2054814] - scsi: mpi3mr: Update MPI3 headers - part1 (Tomas Henzl) [2054814] - scsi: mpi3mr: Don't reset IOC if cmnds flush with reset status (Tomas Henzl) [2054814] - scsi: mpi3mr: Replace spin_lock() with spin_lock_irqsave() (Tomas Henzl) [2054814] - scsi: mpi3mr: Add debug APIs based on logging_level bits (Tomas Henzl) [2054814] - scsi: mpt3sas: Remove scsi_dma_map() error messages (Tomas Henzl) [2057021] - net/mlx5: Fix wrong limitation of metadata match on ecpf (Amir Tzin) [2049094] - nfsd: fix use-after-free due to delegation race (Thiago Becker) [2053262] - dma-buf: cma_heap: Fix mutex locking section (Michel Dänzer) [2044440] - drm/amdkfd: Check for null pointer after calling kmemdup (Michel Dänzer) [2044440] - drm/atomic: Check new_crtc_state->active to determine if CRTC needs disable in self refresh mode (Michel Dänzer) [2044440] - drm/amd: avoid suspend on dGPUs w/ s2idle support when runtime PM enabled (Michel Dänzer) [2044440] - drm/i915/overlay: Prevent divide by zero bugs in scaling (Michel Dänzer) [2044440] - dma-buf: heaps: Fix potential spectre v1 gadget (Michel Dänzer) [2044440] - drm/amd/display: Force link_rate as LINK_RATE_RBR2 for 2018 15" Apple Retina panels (Michel Dänzer) [2044440] - drm/amd/display: watermark latencies is not enough on DCN31 (Michel Dänzer) [2044440] - drm/amd/pm: correct the MGpuFanBoost support for Beige Goby (Michel Dänzer) [2044440] - drm/i915/adlp: Fix TypeC PHY-ready status readout (Michel Dänzer) [2044440] - drm/nouveau: fix off by one in BIOS boundary checking (Michel Dänzer) [2044440] - drm/i915: Disable DSB usage for now (Michel Dänzer) [2044440] - Revert "drm/ast: Support 1600x900 with 108MHz PCLK" (Michel Dänzer) [2044440] - drm/amd/display: Fix FP start/end for dcn30_internal_validate_bw. (Michel Dänzer) [2044440] - drm/atomic: Add the crtc to affected crtc only if uapi.enable = true (Michel Dänzer) [2044440] - drm/amdgpu: Use correct VIEWPORT_DIMENSION for DCN2 (Michel Dänzer) [2044440] - drm/amd/display: reset dcn31 SMU mailbox on failures (Michel Dänzer) [2044440] - drm/vmwgfx: Remove explicit transparent hugepages support (Michel Dänzer) [2044440] - drm/radeon: fix error handling in radeon_driver_open_kms (Michel Dänzer) [2044440] - drm/i915/display/ehl: Update voltage swing table (Michel Dänzer) [2044440] - drm/nouveau/kms/nv04: use vzalloc for nv04_display (Michel Dänzer) [2044440] - drm/amd/display: Fix the uninitialized variable in enable_stream_features() (Michel Dänzer) [2044440] - amdgpu/pm: Make sysfs pm attributes as read-only for VFs (Michel Dänzer) [2044440] - drm/amdgpu: fixup bad vram size on gmc v8 (Michel Dänzer) [2044440] - drm/amd/amdgpu: fix gmc bo pin count leak in SRIOV (Michel Dänzer) [2044440] - drm/amd/amdgpu: fix psp tmr bo pin count leak in SRIOV (Michel Dänzer) [2044440] - drm/amdkfd: Fix error handling in svm_range_add (Michel Dänzer) [2044440] - drm/vmwgfx: Introduce a new placement for MOB page tables (Michel Dänzer) [2044440] - drm/vmwgfx: Release ttm memory if probe fails (Michel Dänzer) [2044440] - drm/amd/display: add else to avoid double destroy clk_mgr (Michel Dänzer) [2044440] - drm/amdgpu/display: set vblank_disable_immediate for DC (Michel Dänzer) [2044440] - drm/amd/display: check top_pipe_to_program pointer (Michel Dänzer) [2044440] - drm: panel-orientation-quirks: Add quirk for the Lenovo Yoga Book X91F/L (Michel Dänzer) [2044440] - drm/amd/display: Fix out of bounds access on DNC31 stream encoder regs (Michel Dänzer) [2044440] - drm/amd/display: Fix bug in debugfs crc_win_update entry (Michel Dänzer) [2044440] - drm/radeon/radeon_kms: Fix a NULL pointer dereference in radeon_driver_open_kms() (Michel Dänzer) [2044440] - drm/amdgpu: Fix a NULL pointer dereference in amdgpu_connector_lcd_native_mode() (Michel Dänzer) [2044440] - drm/vmwgfx: Fail to initialize on broken configs (Michel Dänzer) [2044440] - drm/vmwgfx: Remove the deprecated lower mem limit (Michel Dänzer) [2044440] - drm/vboxvideo: fix a NULL vs IS_ERR() check (Michel Dänzer) [2044440] - drm: fix null-ptr-deref in drm_dev_init_release() (Michel Dänzer) [2044440] - drm/ttm: Put BO in its memory manager's lru list (Michel Dänzer) [2044440] - dma_fence_array: Fix PENDING_ERROR leak in dma_fence_array_signaled() (Michel Dänzer) [2044440] - drm/amd/display: explicitly set is_dsc_supported to false before use (Michel Dänzer) [2044440] - drm/i915: Avoid bitwise vs logical OR warning in snb_wm_latency_quirk() (Michel Dänzer) [2044440] - drm/amd/pm: keep the BACO feature enabled for suspend (Michel Dänzer) [2044440] - Revert "drm/amdgpu: stop scheduler when calling hw_fini (v2)" (Michel Dänzer) [2044440] - drm/amd/display: Added power down for DCN10 (Michel Dänzer) [2044440] - drm/amd/display: fix B0 TMDS deepcolor no dislay issue (Michel Dänzer) [2044440] - drm/amdgpu: put SMU into proper state on runpm suspending for BOCO capable platform (Michel Dänzer) [2044440] - drm/amd/pm: skip setting gfx cgpg in the s0ix suspend-resume (Michel Dänzer) [2044440] - drm/amd/pm: Fix xgmi link control on aldebaran (Michel Dänzer) [2044440] - drm/amdgpu: fix dropped backing store handling in amdgpu_dma_buf_move_notify (Michel Dänzer) [2044440] - drm/amd/display: Changed pipe split policy to allow for multi-display pipe split (Michel Dänzer) [2044440] - drm/amdgpu: add support for IP discovery gc_info table v2 (Michel Dänzer) [2044440] - drm/amdgpu: When the VCN(1.0) block is suspended, powergating is explicitly enabled (Michel Dänzer) [2044440] - drm/nouveau: wait for the exclusive fence after the shared ones v2 (Michel Dänzer) [2044440] - drm/nouveau: always wait for the exclusive fence (Michel Dänzer) [2044440] - drm/amd/display: Set optimize_pwr_state for DCN31 (Michel Dänzer) [2044440] - drm/amd/display: Send s0i2_rdy in stream_count == 0 optimization (Michel Dänzer) [2044440] - drm/amd/pm: fix reading SMU FW version from amdgpu_firmware_info on YC (Michel Dänzer) [2044440] - drm/amdgpu: don't override default ECO_BITs setting (Michel Dänzer) [2044440] - drm/amdgpu: correct register access for RLC_JUMP_TABLE_RESTORE (Michel Dänzer) [2044440] - drm/amd/pm: fix a potential gpu_metrics_table memory leak (Michel Dänzer) [2044440] - drm/amd/display: Set exit_optimized_pwr_state for DCN31 (Michel Dänzer) [2044440] - drm/i915/display: Fix an unsigned subtraction which can never be negative. (Michel Dänzer) [2044440] - drm/ast: potential dereference of null pointer (Michel Dänzer) [2044440] - drm: simpledrm: fix wrong unit with pixel clock (Michel Dänzer) [2044440] - Revert "drm/fb-helper: improve DRM fbdev emulation device names" (Michel Dänzer) [2044440] - drm/i915/hdmi: Turn DP++ TMDS output buffers back on in encoder->shutdown() (Michel Dänzer) [2044440] - drm/i915/hdmi: convert intel_hdmi_to_dev to intel_hdmi_to_i915 (Michel Dänzer) [2044440] - drm/amdkfd: process_info lock not needed for svm (Michel Dänzer) [2044440] - drm/amd/display: add connector type check for CRC source set (Michel Dänzer) [2044440] - drm/amdkfd: fix double free mem structure (Michel Dänzer) [2044440] - drm/amd/display: Fix for the no Audio bug with Tiled Displays (Michel Dänzer) [2044440] - drm/amdgpu: check atomic flag to differeniate with legacy path (Michel Dänzer) [2044440] - drm/amd/display: Fix DPIA outbox timeout after S3/S4/reset (Michel Dänzer) [2044440] - drm/syncobj: Deal with signalled fences in drm_syncobj_find_fence. (Michel Dänzer) [2044440] - drm/i915/dp: Perform 30ms delay after source OUI write (Michel Dänzer) [2044440] - drm/amd/display: Allow DSC on supported MST branch devices (Michel Dänzer) [2044440] - dma-buf: system_heap: Use 'for_each_sgtable_sg' in pages free flow (Michel Dänzer) [2044440] - drm/amd/amdgpu: fix potential memleak (Michel Dänzer) [2044440] - drm/amd/amdkfd: Fix kernel panic when reset failed and been triggered again (Michel Dänzer) [2044440] - drm/amd/pm: Remove artificial freq level on Navi1x (Michel Dänzer) [2044440] - drm/amdgpu/gfx9: switch to golden tsc registers for renoir+ (Michel Dänzer) [2044440] - drm/amd/display: Set plane update flags for all planes in reset (Michel Dänzer) [2044440] - drm/amd/display: Fix DPIA outbox timeout after GPU reset (Michel Dänzer) [2044440] - drm/aspeed: Fix vga_pw sysfs output (Michel Dänzer) [2044440] - drm/nouveau/acr: fix a couple NULL vs IS_ERR() checks (Michel Dänzer) [2044440] - drm/amd/display: Fix OLED brightness control on eDP (Michel Dänzer) [2044440] - drm/amdgpu: IH process reset count when restart (Michel Dänzer) [2044440] - drm/amd/pm: avoid duplicate powergate/ungate setting (Michel Dänzer) [2044440] - drm/amdgpu: fix set scaling mode Full/Full aspect/Center not works on vga and dvi connectors (Michel Dänzer) [2044440] - drm/i915: Fix type1 DVI DP dual mode adapter heuristic for modern platforms (Michel Dänzer) [2044440] - drm/i915/dp: Ensure max link params are always valid (Michel Dänzer) [2044440] - drm/i915/dp: Ensure sink rate values are always valid (Michel Dänzer) [2044440] - drm/prime: Fix use after free in mmap with drm_gem_ttm_mmap (Michel Dänzer) [2044440] - drm/udl: fix control-message timeout (Michel Dänzer) [2044440] - drm/amd/display: Limit max DSC target bpp for specific monitors (Michel Dänzer) [2044440] - drm/amd/display: Update swizzle mode enums (Michel Dänzer) [2044440] - drm/cma-helper: Release non-coherent memory with dma_free_noncoherent() (Michel Dänzer) [2044440] - Revert "drm/i915/tgl/dsi: Gate the ddi clocks after pll mapping" (Michel Dänzer) [2044440] - drm/nouveau: hdmigv100.c: fix corrupted HDMI Vendor InfoFrame (Michel Dänzer) [2044440] - x86/speculation: Check CPU capability before applying IBRS spectre v2 mitigation (Waiman Long) [2062156 2062166] {CVE-2022-0001 CVE-2022-0002 CVE-2021-26401} - x86/speculation: Warn about eIBRS + LFENCE + Unprivileged eBPF + SMT (Waiman Long) [2062156 2062166] {CVE-2022-0001 CVE-2022-0002 CVE-2021-26401} - x86/speculation: Warn about Spectre v2 LFENCE mitigation (Waiman Long) [2062156 2062166] {CVE-2022-0001 CVE-2022-0002 CVE-2021-26401} - x86/speculation: Update link to AMD speculation whitepaper (Waiman Long) [2062166] {CVE-2021-26401} - x86/speculation: Use generic retpoline by default on AMD (Waiman Long) [2062166] {CVE-2021-26401} - x86/speculation: Include unprivileged eBPF status in Spectre v2 mitigation reporting (Waiman Long) [2062156] {CVE-2022-0001 CVE-2022-0002} - Documentation/hw-vuln: Update spectre doc (Waiman Long) [2062156] {CVE-2022-0001 CVE-2022-0002} - x86/speculation: Add eIBRS + Retpoline options (Waiman Long) [2062156] {CVE-2022-0001 CVE-2022-0002} - x86/speculation: Rename RETPOLINE_AMD to RETPOLINE_LFENCE (Waiman Long) [2062156] {CVE-2022-0001 CVE-2022-0002} - x86,bugs: Unconditionally allow spectre_v2=retpoline,amd (Waiman Long) [2062156] {CVE-2022-0001 CVE-2022-0002} - x86: deduplicate the spectre_v2_user documentation (Waiman Long) [2062156] {CVE-2022-0001 CVE-2022-0002} - fuse: fix pipe buffer lifetime for direct_io (Miklos Szeredi) [2064863] {CVE-2022-1011} - ice: Do not enable VLAN pruning when spoofchk is enabled (Ivan Vecera) [2062343] - ice: don't allow to run ice_send_event_to_aux() in atomic ctx (Ivan Vecera) [2062343] - ice: fix 'scheduling while atomic' on aux critical err interrupt (Ivan Vecera) [2062343] - ice: Fix MAC address setting (Ivan Vecera) [2062343] - ice: Clear default forwarding VSI during release (Ivan Vecera) [2062343] - ice: Fix broken IFF_ALLMULTI handling (Ivan Vecera) [2062343] - iavf: Fix hang during reboot/shutdown (Ivan Vecera) [2062343] - iavf: Fix double free in iavf_reset_task (Ivan Vecera) [2062343] - ice: destroy flow director filter mutex after releasing VSIs (Ivan Vecera) [2062343] - ice: fix NULL pointer dereference in ice_update_vsi_tx_ring_stats() (Ivan Vecera) [2062343] - iavf: Fix adopting new combined setting (Ivan Vecera) [2062343] - iavf: Fix handling of vlan strip virtual channel messages (Ivan Vecera) [2062343] - iavf: Fix __IAVF_RESETTING state usage (Ivan Vecera) [2062343] - iavf: Fix missing check for running netdev (Ivan Vecera) [2062343] - iavf: Fix deadlock in iavf_reset_task (Ivan Vecera) [2062343] - iavf: Fix race in init state (Ivan Vecera) [2062343] - iavf: Fix locking for VIRTCHNL_OP_GET_OFFLOAD_VLAN_V2_CAPS (Ivan Vecera) [2062343] - iavf: Fix init state closure on remove (Ivan Vecera) [2062343] - iavf: Add waiting so the port is initialized in remove (Ivan Vecera) [2062343] - iavf: Rework mutexes for better synchronisation (Ivan Vecera) [2062343] - iavf: remove an unneeded variable (Ivan Vecera) [2062343] - iavf: Fix limit of total number of queues to active queues of VF (Ivan Vecera) [2062343] - iavf: Restrict maximum VLAN filters for VIRTCHNL_VF_OFFLOAD_VLAN_V2 (Ivan Vecera) [2062343] - iavf: Add support for VIRTCHNL_VF_OFFLOAD_VLAN_V2 offload enable/disable (Ivan Vecera) [2062343] - iavf: Add support for VIRTCHNL_VF_OFFLOAD_VLAN_V2 hotpath (Ivan Vecera) [2062343] - iavf: Add support VIRTCHNL_VF_OFFLOAD_VLAN_V2 during netdev config (Ivan Vecera) [2062343] - iavf: Add support for VIRTCHNL_VF_OFFLOAD_VLAN_V2 negotiation (Ivan Vecera) [2062343] - virtchnl: Add support for new VLAN capabilities (Ivan Vecera) [2062343] - virtchnl: Use the BIT() macro for capability/offload flags (Ivan Vecera) [2062343] - virtchnl: Remove unused VIRTCHNL_VF_OFFLOAD_RSVD define (Ivan Vecera) [2062343] - virtchnl: Add missing padding to virtchnl_proto_hdrs (Ivan Vecera) [2062343] - ice: Fix race condition during interface enslave (Ivan Vecera) [2062343] - ice: Fix curr_link_speed advertised speed (Ivan Vecera) [2062343] - ice: Don't use GFP_KERNEL in atomic context (Ivan Vecera) [2062343] - ice: Fix error with handling of bonding MTU (Ivan Vecera) [2062343] - ice: stop disabling VFs due to PF error responses (Ivan Vecera) [2062343] - ice: initialize local variable 'tlv' (Ivan Vecera) [2062343] - ice: check the return of ice_ptp_gettimex64 (Ivan Vecera) [2062343] - ice: fix concurrent reset and removal of VFs (Ivan Vecera) [2062343] - ice: fix setting l4 port flag when adding filter (Ivan Vecera) [2062343] - ice: Match on all profiles in slow-path (Ivan Vecera) [2062343] - ice: enable parsing IPSEC SPI headers for RSS (Ivan Vecera) [2062343] - ice: Avoid RTNL lock when re-creating auxiliary device (Ivan Vecera) [2062343] - ice: Fix KASAN error in LAG NETDEV_UNREGISTER handler (Ivan Vecera) [2062343] - ice: fix IPIP and SIT TSO offload (Ivan Vecera) [2062343] - ice: fix an error code in ice_cfg_phy_fec() (Ivan Vecera) [2062343] - ice: Use bitmap_free() to free bitmap (Ivan Vecera) [2062343] - ice: Optimize a few bitmap operations (Ivan Vecera) [2062343] - ice: Slightly simply ice_find_free_recp_res_idx (Ivan Vecera) [2062343] - ice: improve switchdev's slow-path (Ivan Vecera) [2062343] - ice: replay advanced rules after reset (Ivan Vecera) [2062343] - ice: Add flow director support for channel mode (Ivan Vecera) [2062343] - ice: trivial: fix odd indenting (Ivan Vecera) [2062343] - ice: support crosstimestamping on E822 devices if supported (Ivan Vecera) [2062343] - ice: exit bypass mode once hardware finishes timestamp calibration (Ivan Vecera) [2062343] - ice: ensure the hardware Clock Generation Unit is configured (Ivan Vecera) [2062343] - ice: implement basic E822 PTP support (Ivan Vecera) [2062343] - ice: convert clk_freq capability into time_ref (Ivan Vecera) [2062343] - ice: introduce ice_ptp_init_phc function (Ivan Vecera) [2062343] - ice: use 'int err' instead of 'int status' in ice_ptp_hw.c (Ivan Vecera) [2062343] - ice: PTP: move setting of tstamp_config (Ivan Vecera) [2062343] - ice: introduce ice_base_incval function (Ivan Vecera) [2062343] - ice: xsk: fix cleaned_count setting (Ivan Vecera) [2062343] - ice: xsk: allow empty Rx descriptors on XSK ZC data path (Ivan Vecera) [2062343] - ice: xsk: allocate separate memory for XDP SW ring (Ivan Vecera) [2062343] - ice: xsk: return xsk buffers back to pool when cleaning the ring (Ivan Vecera) [2062343] - ice: use modern kernel API for kick (Ivan Vecera) [2062343] - ice: tighter control over VSI_DOWN state (Ivan Vecera) [2062343] - ice: use prefetch methods (Ivan Vecera) [2062343] - ice: update to newer kernel API (Ivan Vecera) [2062343] - ice: support immediate firmware activation via devlink reload (Ivan Vecera) [2062343] - ice: reduce time to read Option ROM CIVD data (Ivan Vecera) [2062343] - ice: move ice_devlink_flash_update and merge with ice_flash_pldm_image (Ivan Vecera) [2062343] - ice: move and rename ice_check_for_pending_update (Ivan Vecera) [2062343] - ice: devlink: add shadow-ram region to snapshot Shadow RAM (Ivan Vecera) [2062343] - ice: Remove unused ICE_FLOW_SEG_HDRS_L2_MASK (Ivan Vecera) [2062343] - ice: Remove unnecessary casts (Ivan Vecera) [2062343] - ice: Propagate error codes (Ivan Vecera) [2062343] - ice: Remove excess error variables (Ivan Vecera) [2062343] - ice: Cleanup after ice_status removal (Ivan Vecera) [2062343] - ice: Remove enum ice_status (Ivan Vecera) [2062343] - ice: Use int for ice_status (Ivan Vecera) [2062343] - ice: Remove string printing for ice_status (Ivan Vecera) [2062343] - ice: Refactor status flow for DDP load (Ivan Vecera) [2062343] - ice: Refactor promiscuous functions (Ivan Vecera) [2062343] - ice: refactor PTYPE validating (Ivan Vecera) [2062343] - ice: Add package PTYPE enable information (Ivan Vecera) [2062343] - ice: safer stats processing (Ivan Vecera) [2062343] - ice: fix adding different tunnels (Ivan Vecera) [2062343] - ice: fix choosing UDP header type (Ivan Vecera) [2062343] - ice: ignore dropped packets during init (Ivan Vecera) [2062343] - ice: rearm other interrupt cause register after enabling VFs (Ivan Vecera) [2062343] - net/ice: Remove unused enum (Ivan Vecera) [2062343] - net/ice: Fix boolean assignment (Ivan Vecera) [2062343] - net/ice: Add support for enable_iwarp and enable_roce devlink param (Ivan Vecera) [2062343] - ice: avoid bpf_prog refcount underflow (Ivan Vecera) [2062343] - ice: fix vsi->txq_map sizing (Ivan Vecera) [2062343] - ice: Hide bus-info in ethtool for PRs in switchdev mode (Ivan Vecera) [2062343] - ice: Clear synchronized addrs when adding VFs in switchdev mode (Ivan Vecera) [2062343] - ice: fix error return code in ice_get_recp_frm_fw() (Ivan Vecera) [2062343] - ice: Fix clang -Wimplicit-fallthrough in ice_pull_qvec_from_rc() (Ivan Vecera) [2062343] - ice: Add support to print error on PHY FW load failure (Ivan Vecera) [2062343] - ice: Add support for changing MTU on PR in switchdev mode (Ivan Vecera) [2062343] - ice: send correct vc status in switchdev (Ivan Vecera) [2062343] - ice: support for GRE in eswitch (Ivan Vecera) [2062343] - ice: low level support for tunnels (Ivan Vecera) [2062343] - ice: VXLAN and Geneve TC support (Ivan Vecera) [2062343] - ice: support for indirect notification (Ivan Vecera) [2062343] - ice: Add tc-flower filter support for channel (Ivan Vecera) [2062343] - ice: enable ndo_setup_tc support for mqprio_qdisc (Ivan Vecera) [2062343] - ice: Add infrastructure for mqprio support via ndo_setup_tc (Ivan Vecera) [2062343] - ice: fix an error code in ice_ena_vfs() (Ivan Vecera) [2062343] - ice: use devm_kcalloc() instead of devm_kzalloc() (Ivan Vecera) [2062343] - ice: Make use of the helper function devm_add_action_or_reset() (Ivan Vecera) [2062343] - ice: Refactor PR ethtool ops (Ivan Vecera) [2062343] - ice: Forbid trusted VFs in switchdev mode (Ivan Vecera) [2062343] - ice: Manage act flags for switchdev offloads (Ivan Vecera) [2062343] - ice: introduce XDP_TX fallback path (Ivan Vecera) [2062343] - ice: optimize XDP_TX workloads (Ivan Vecera) [2062343] - ice: propagate xdp_ring onto rx_ring (Ivan Vecera) [2062343] - ice: do not create xdp_frame on XDP_TX (Ivan Vecera) [2062343] - ice: unify xdp_rings accesses (Ivan Vecera) [2062343] - ice: ndo_setup_tc implementation for PR (Ivan Vecera) [2062343] - ice: ndo_setup_tc implementation for PF (Ivan Vecera) [2062343] - ice: Allow changing lan_en and lb_en on all kinds of filters (Ivan Vecera) [2062343] - ice: cleanup rules info (Ivan Vecera) [2062343] - ice: allow deleting advanced rules (Ivan Vecera) [2062343] - ice: allow adding advanced rules (Ivan Vecera) [2062343] - ice: create advanced switch recipe (Ivan Vecera) [2062343] - ice: manage profiles and field vectors (Ivan Vecera) [2062343] - ice: implement low level recipes functions (Ivan Vecera) [2062343] - ice: add port representor ethtool ops and stats (Ivan Vecera) [2062343] - ice: switchdev slow path (Ivan Vecera) [2062343] - ice: rebuild switchdev when resetting all VFs (Ivan Vecera) [2062343] - ice: enable/disable switchdev when managing VFs (Ivan Vecera) [2062343] - ice: introduce new type of VSI for switchdev (Ivan Vecera) [2062343] - ice: set and release switchdev environment (Ivan Vecera) [2062343] - net: export metadata_dst_free() (Ivan Vecera) [2062343] - ice: allow changing lan_en and lb_en on dflt rules (Ivan Vecera) [2062343] - ice: manage VSI antispoof and destination override (Ivan Vecera) [2062343] - ice: allow process VF opcodes in different ways (Ivan Vecera) [2062343] - ice: introduce VF port representor (Ivan Vecera) [2062343] - ice: Move devlink port to PF/VF struct (Ivan Vecera) [2062343] - ice: support basic E-Switch mode control (Ivan Vecera) [2062343] - ethernet: use eth_hw_addr_set() for dev->addr_len cases (Ivan Vecera) [2062343] - ethernet: use eth_hw_addr_set() instead of ether_addr_copy() (Ivan Vecera) [2062343] - ice: Use xdp_buf instead of rx_buf for xsk zero-copy (Ivan Vecera) [2062343] - ice: fix FDIR init missing when reset VF (Ivan Vecera) [2062343] - intel: Remove rcu_read_lock() around XDP program invocation (Ivan Vecera) [2062343] - intel: Update drivers to use ethtool_sprintf (Ivan Vecera) [2062343] - ice: fix conversion to new udp_tunnel infrastructure (Ivan Vecera) [2062343] - intel-ethernet: clean up W=1 warnings in kdoc (Ivan Vecera) [2062343] - PCI: Use 'pci_channel_state_t' instead of 'enum pci_channel_state' (Ivan Vecera) [2062343] - treewide: Use sizeof_field() macro (Ivan Vecera) [2062343] - devlink: Add 'enable_iwarp' generic device param (Ivan Vecera) [2062343] - devlink: Add new "enable_vnet" generic device param (Ivan Vecera) [2062343] - devlink: Add new "enable_rdma" generic device param (Ivan Vecera) [2062343] - devlink: Add new "enable_eth" generic device param (Ivan Vecera) [2062343] - gfs2: dequeue iopen holder in gfs2_inode_lookup error (Bob Peterson) [2061665] - redhat/configs: Increase CONFIG_LOCKDEP_CHAINS_BITS from 16 to 17 (Waiman Long) [2057339] - redhat: spec: trigger dracut when modules are installed separately (Jan Stancek) [2060237 2016948]- makefile: Add dist-* targets (Prarit Bhargava) - Fonts: Replace discarded const qualifier (Nico Pache) [1904374] - Fonts: Support FONT_EXTRA_WORDS macros for built-in fonts (Nico Pache) [1904374] - fbdev, newport_con: Move FONT_EXTRA_WORDS macros into linux/font.h (Nico Pache) [1904374] - x86/cpu: Drop spurious underscore from RAPTOR_LAKE #define (Prarit Bhargava) [2040021] - x86/cpu: Add Raptor Lake to Intel family (Prarit Bhargava) [2040021] - powerpc/64: Move paca allocation later in boot (Desnes A. Nunes do Rosario) [2016335] - powerpc/prom: fix early DEBUG messages (Desnes A. Nunes do Rosario) [2016335] - powerpc: Set crashkernel offset to mid of RMA region (Desnes A. Nunes do Rosario) [2016335] - KVM: x86/mmu: Don't advance iterator after restart due to yielding (Nico Pache) [2058907] - igb: refactor XDP registration (Corinna Vinschen) [2040171] - igc: avoid kernel warning when changing RX ring parameters (Corinna Vinschen) [2040171] - scsi: qedi: Fix cmd_cleanup_cmpl counter mismatch issue (Nilesh Javali) [2054565] - EDAC/amd64: Save max number of controllers for F19 M70 (Aristeu Rozanski) [2064285] - CI: Use 8.6-rt branch for rhel8 realtime_check (Chris White) - blk-mq: avoid extending delays of active hctx from blk_mq_delay_run_hw_queues (Ming Lei) [2046525] - tipc: fix incorrect order of state message data sanity check (Xin Long) [2048971] - tipc: improve size validations for received domain records (Xin Long) [2048971] {CVE-2022-0435} - efi/x86: Call efi_parse_options() from efi_main() (Lenny Szubowicz) [2049233]- net/mlx5e: TC, Remove redundant error logging (Amir Tzin) [2023907] - net/mlx5: DR, Warn on failure to destroy objects due to refcount (Amir Tzin) [2022325] - net/mlx5: DR, Add support for dumping steering info (Amir Tzin) [2022325] - net/mlx5: DR, Add missing reserved fields to dr_match_param (Amir Tzin) [2022325] - net/mlx5: DR, Add check for flex parser ID value (Amir Tzin) [2022325] - net/mlx5: DR, Rename list field in matcher struct to list_node (Amir Tzin) [2022325] - net/mlx5: DR, Remove unused struct member in matcher (Amir Tzin) [2022325] - net/mlx5: DR, Fix error flow in creating matcher (Amir Tzin) [2022325] - net/mlx5e: Avoid implicit modify hdr for decap drop rule (Amir Tzin) [2015434] - net/mlx5e: TC, Fix memory leak with rules with internal port (Amir Tzin) [2015434] - net/mlx5e: Fix skb memory leak when TC classifier action offloads are disabled (Amir Tzin) [2015434] - net/mlx5: Fix some error handling paths in 'mlx5e_tc_add_fdb_flow()' (Amir Tzin) [2015434] - net/mlx5: E-Switch, Check group pointer before reading bw_share value (Amir Tzin) [2015434] - net/mlx5: E-Switch, fix single FDB creation on BlueField (Amir Tzin) [2015434] - net/mlx5: E-switch, Respect BW share of the new group (Amir Tzin) [2015434] - net/mlx5: DR, Fix check for unsupported fields in match param (Amir Tzin) [2015434] - net/mlx5: E-Switch, rebuild lag only when needed (Amir Tzin) [2015434] - net/mlx5e: Delete forward rule for ct or sample action (Amir Tzin) [2015434] - net/mlx5: E-Switch, Use indirect table only if all destinations support it (Amir Tzin) [2015434] - net/mlx5: Support internal port as decap route device (Amir Tzin) [2015434] - net/mlx5e: Term table handling of internal port rules (Amir Tzin) [2015434] - net/mlx5e: Add indirect tc offload of ovs internal port (Amir Tzin) [2015434] - net/{mlx5|nfp|bnxt}: Remove unnecessary RTNL lock assert (Amir Tzin) [2015434] - net/mlx5e: Offload internal port as encap route device (Amir Tzin) [2015434] - net/mlx5e: Offload tc rules that redirect to ovs internal port (Amir Tzin) [2015434] - net/mlx5e: Accept action skbedit in the tc actions list (Amir Tzin) [2015434] - net/mlx5: E-Switch, Add ovs internal port mapping to metadata support (Amir Tzin) [2015434] - net/mlx5e: Use generic name for the forwarding dev pointer (Amir Tzin) [2015434] - net/mlx5e: Refactor rx handler of represetor device (Amir Tzin) [2015434] - net/mlx5: DR, Add check for unsupported fields in match param (Amir Tzin) [2015434] - net/mlx5: Allow skipping counter refresh on creation (Amir Tzin) [2015434] - net/mlx5e: IPsec: Refactor checksum code in tx data path (Amir Tzin) [2015434] - net/mlx5: CT: Remove warning of ignore_flow_level support for VFs (Amir Tzin) [2015434] - net/mlx5: Add esw assignment back in mlx5e_tc_sample_unoffload() (Amir Tzin) [2015434] - net/mlx5: Bridge, fix uninitialized variable usage (Amir Tzin) [2015434] - net/mlx5: Lag, don't update lag if lag isn't supported (Amir Tzin) [2015434] - net/mlx5: E-switch, Return correct error code on group creation failure (Amir Tzin) [2015434] - net/mlx5: Bridge, support LAG (Amir Tzin) [2015434] - net/mlx5: Bridge, allow merged eswitch connectivity (Amir Tzin) [2015434] - net/mlx5: Bridge, extract FDB delete notification to function (Amir Tzin) [2015434] - net/mlx5: Bridge, identify port by vport_num+esw_owner_vhca_id pair (Amir Tzin) [2015434] - net/mlx5: Bridge, obtain core device from eswitch instead of priv (Amir Tzin) [2015434] - net/mlx5: Bridge, release bridge in same function where it is taken (Amir Tzin) [2015434] - net/mlx5: Lag, Create shared FDB when in switchdev mode (Amir Tzin) [2015434] - net/mlx5: E-Switch, add logic to enable shared FDB (Amir Tzin) [2015434] - net/mlx5: Lag, properly lock eswitch if needed (Amir Tzin) [2015434] - net/mlx5: Add send to vport rules on paired device (Amir Tzin) [2015434] - net/mlx5: E-Switch, Add event callback for representors (Amir Tzin) [2015434] - net/mlx5e: Use shared mappings for restoring from metadata (Amir Tzin) [2015434] - net/mlx5e: Add an option to create a shared mapping (Amir Tzin) [2015434] - net/mlx5: E-Switch, set flow source for send to uplink rule (Amir Tzin) [2015434] - RDMA/mlx5: Add shared FDB support (Amir Tzin) [2015434] - {net, RDMA}/mlx5: Extend send to vport rules (Amir Tzin) [2015434] - RDMA/mlx5: Fill port info based on the relevant eswitch (Amir Tzin) [2015434] - net/mlx5: Lag, add initial logic for shared FDB (Amir Tzin) [2015434] - net/mlx5: Return mdev from eswitch (Amir Tzin) [2015434] - net/mlx5: E-switch, Add QoS tracepoints (Amir Tzin) [2015434] - net/mlx5: E-switch, Allow to add vports to rate groups (Amir Tzin) [2015434] - net/mlx5: E-switch, Allow setting share/max tx rate limits of rate groups (Amir Tzin) [2015434] - net/mlx5: E-switch, Introduce rate limiting groups API (Amir Tzin) [2015434] - net/mlx5: E-switch, Enable devlink port tx_{share|max} rate control (Amir Tzin) [2015434] - net/mlx5: E-switch, Move QoS related code to dedicated file (Amir Tzin) [2015434] - net/mlx5e: TC, Support sample offload action for tunneled traffic (Amir Tzin) [2015434] - net/mlx5e: TC, Restore tunnel info for sample offload (Amir Tzin) [2015434] - net/mlx5e: TC, Remove CONFIG_NET_TC_SKB_EXT dependency when restoring tunnel (Amir Tzin) [2015434] - net/mlx5e: Refactor ct to use post action infrastructure (Amir Tzin) [2015434] - net/mlx5e: Introduce post action infrastructure (Amir Tzin) [2015434] - net/mlx5e: CT, Use xarray to manage fte ids (Amir Tzin) [2015434] - net/mlx5e: Move sample attribute to flow attribute (Amir Tzin) [2015434] - net/mlx5e: Move esw/sample to en/tc/sample (Amir Tzin) [2015434] - net/mlx5e: Remove mlx5e dependency from E-Switch sample (Amir Tzin) [2015434] - net/mlx5: DR, Fix querying eswitch manager vport for ECPF (Amir Tzin) [2018097] - net/mlx5: DR, Handle eswitch manager and uplink vports separately (Amir Tzin) [2018097] - net/mlx5: DR, Add missing string for action type SAMPLER (Amir Tzin) [2018097] - net/mlx5: DR, init_next_match only if needed (Amir Tzin) [2018097] - net/mlx5: DR, Increase supported num of actions to 32 (Amir Tzin) [2018097] - net/mlx5: DR, Add support for SF vports (Amir Tzin) [2018097] - net/mlx5: DR, Support csum recalculation flow table on SFs (Amir Tzin) [2018097] - net/mlx5: DR, Align error messages for failure to obtain vport caps (Amir Tzin) [2018097] - net/mlx5: DR, Add missing query for vport 0 (Amir Tzin) [2018097] - net/mlx5: DR, Replace local WIRE_PORT macro with the existing MLX5_VPORT_UPLINK (Amir Tzin) [2018097] - scsi: lpfc: Fix pt2pt NVMe PRLI reject LOGO loop (Dick Kennedy) [1943202] - nvme-tcp: change target from tech-preview to unmaintained (John Meneghini) [2061577] - drm/amd/display: Don't reinitialize DMCUB on s0ix resume (Karol Herbst) [2059680] - tcp: Add snd_wnd to TCP_INFO (Davide Caratti) [2056608] - tcp: Add TCP_INFO counter for packets received out-of-order (Davide Caratti) [2056608] - net/mlx5: Move MODIFY_RQT command to ignore list in internal error state (Amir Tzin) [1982236] - net/mlx5e: Add TX max rate support for MQPRIO channel mode (Amir Tzin) [1982236] - net/mlx5e: Specify SQ stats struct for mlx5e_open_txqsq() (Amir Tzin) [1982236] - net/mlx5e: Allow only complete TXQs partition in MQPRIO channel mode (Amir Tzin) [1982236] - net/mlx5e: Mutually exclude setting of TX-port-TS and MQPRIO in channel mode (Amir Tzin) [1982236] - net/mlx5e: Fix condition when retrieving PTP-rqn (Amir Tzin) [1982236] - net/mlx5: Fix inner TTC table creation (Amir Tzin) [1982236] - net/mlx5e: Fix division by 0 in mlx5e_select_queue for representors (Amir Tzin) [1982236] - net/mlx5e: Improve MQPRIO resiliency (Amir Tzin) [1982236] - net/mlx5e: Support MQPRIO channel mode (Amir Tzin) [1982236] - net/mlx5e: Handle errors of netdev_set_num_tc() (Amir Tzin) [1982236] - net/mlx5e: Maintain MQPRIO mode parameter (Amir Tzin) [1982236] - net/mlx5e: Abstract MQPRIO params (Amir Tzin) [1982236] - net/mlx5e: Support flow classification into RSS contexts (Amir Tzin) [1982236] - net/mlx5e: Support multiple RSS contexts (Amir Tzin) [1982236] - net/mlx5e: Dynamically allocate TIRs in RSS contexts (Amir Tzin) [1982236] - net/mlx5e: Convert RSS to a dedicated object (Amir Tzin) [1982236] - net/mlx5e: Introduce abstraction of RSS context (Amir Tzin) [1982236] - net/mlx5e: Introduce TIR create/destroy API in rx_res (Amir Tzin) [1982236] - net/mlx5e: Do not try enable RSS when resetting indir table (Amir Tzin) [1982236] - net/mlx5: Embed mlx5_ttc_table (Amir Tzin) [1982236] - net/mlx5: Move TTC logic to fs_ttc (Amir Tzin) [1982236] - net/mlx5e: Decouple TTC logic from mlx5e (Amir Tzin) [1982236] - net/mlx5e: Rename some related TTC args and functions (Amir Tzin) [1982236] - net/mlx5e: Rename traffic type enums (Amir Tzin) [1982236] - net/mlx5e: Allocate the array of channels according to the real max_nch (Amir Tzin) [1982236] - net/mlx5e: Hide all implementation details of mlx5e_rx_res (Amir Tzin) [1982236] - net/mlx5e: Introduce mlx5e_channels API to get RQNs (Amir Tzin) [1982236] - net/mlx5e: Use a new initializer to build uniform indir table (Amir Tzin) [1982236] - net/mlx5e: Use the new TIR API for kTLS (Amir Tzin) [1982236] - net/mlx5e: Move management of indir traffic types to rx_res (Amir Tzin) [1982236] - net/mlx5e: Convert TIR to a dedicated object (Amir Tzin) [1982236] - net/mlx5e: Create struct mlx5e_rss_params_hash (Amir Tzin) [1982236] - net/mlx5e: Remove mdev from mlx5e_build_indir_tir_ctx_common() (Amir Tzin) [1982236] - net/mlx5e: Remove lro_param from mlx5e_build_indir_tir_ctx_common() (Amir Tzin) [1982236] - net/mlx5e: Remove mlx5e_priv usage from mlx5e_build_*tir_ctx*() (Amir Tzin) [1982236] - net/mlx5e: Use mlx5e_rqt_get_rqtn to access RQT hardware id (Amir Tzin) [1982236] - net/mlx5e: Take RQT out of TIR and group RX resources (Amir Tzin) [1982236] - net/mlx5e: Move RX resources to a separate struct (Amir Tzin) [1982236] - net/mlx5e: Move mlx5e_build_rss_params() call to init_rx (Amir Tzin) [1982236] - net/mlx5e: Convert RQT to a dedicated object (Amir Tzin) [1982236] - net/mlx5e: Check if inner FT is supported outside of create/destroy functions (Amir Tzin) [1982236] - net/mlx5: Take TIR destruction out of the TIR list lock (Amir Tzin) [1982236] - PCI: pciehp: Ignore Link Down/Up caused by error-induced Hot Reset (Myron Stowe) [2060122] - PCI/portdrv: Rename pm_iter() to pcie_port_device_iter() (Myron Stowe) [2060122] - iommu/vt-d: Fix double list_add when enabling VMD in scalable mode (Jerry Snitselaar) [2062094] - redhat/configs: Disable CONFIG_SENSORS_NCT6683 in RHEL for arm/aarch64 (Dean Nelson) [2059695] - redhat: drop the -sha512 suffix from default rhpkg invocation (Jarod Wilson) - sysctl: return -EINVAL if val violates minmax (Rafael Aquini) [2062571] - kernel/sysctl.c: switch to bitmap_zalloc() (Rafael Aquini) [2062571] - netlabel: remove unused parameter in netlbl_netlink_auditinfo() (William Zhao) [1985319] - netlabel: Fix memory leak in netlbl_mgmt_add_common (William Zhao) [1985319] - bpftool: Fix indent in option lists in the documentation (Yauheni Kaliuta) [2014861] - libbpf: Fix memleak in libbpf_netlink_recv() (Yauheni Kaliuta) [2014861] - libbpf: Use dynamically allocated buffer when receiving netlink messages (Yauheni Kaliuta) [2014861] - libbpf: Clean gen_loader's attach kind. (Yauheni Kaliuta) [2014861] - powerpc/bpf: Use bctrl for making function calls (Jiri Olsa) [2014861] - powerpc/signal: Use PPC_RAW_xx() macros (Jiri Olsa) [2014861] - powerpc/ebpf64: Use PPC_RAW_MFLR() (Jiri Olsa) [2014861] - powerpc/opcodes: Add shorter macros for registers for use with PPC_RAW_xx() (Jiri Olsa) [2014861] - lib/test: fix spelling mistakes (Jiri Olsa) [2014861] - tracepoint: Add tracepoint_probe_register_may_exist() for BPF tracing (Jiri Olsa) [2014861] - bpf: Allow bpf_get_current_ancestor_cgroup_id for tracing (Jiri Olsa) [2014861] - docs: bpf: bpf_lsm.rst: avoid using ReST :doc:`foo` markup (Jiri Olsa) [2014861] - bpf, docs: Add llvm_reloc.rst to explain llvm bpf relocations (Jiri Olsa) [2014861] - bpf, arm64: Remove redundant switch case about BPF_DIV and BPF_MOD (Jiri Olsa) [2014861] - bpf, arm64: Replace STACK_ALIGN() with round_up() to align stack size (Jiri Olsa) [2014861] - selftests, bpf: Test that dead ldx_w insns are accepted (Jiri Olsa) [2014861] - bpf, selftests: Add test cases for pointer alu from multiple paths (Jiri Olsa) [2014861] - bpf: Selftest to verify mixing bpf2bpf calls and tailcalls with insn patch (Jiri Olsa) [2014861] - selftests/bpf: Fix ringbuf test fetching map FD (Jiri Olsa) [2014861] - selftests/bpf: Whitelist test_progs.h from .gitignore (Jiri Olsa) [2014861] - selftests, bpf: Make docs tests fail more reliably (Jiri Olsa) [2014861] - selftests/bpf: Turn on libbpf 1.0 mode and fix all IS_ERR checks (Jiri Olsa) [2014861] - selftests/bpf: Add bpf_lookup_and_delete_elem tests (Jiri Olsa) [2014861] - selftests/bpf: Convert test trace_printk to lskel. (Jiri Olsa) [2014861] - selftests/bpf: Convert test printk to use rodata. (Jiri Olsa) [2014861] - selftests/bpf: Convert atomics test to light skeleton. (Yauheni Kaliuta) [2014861] - selftests/bpf: Convert few tests to light skeleton. (Jiri Olsa) [2014861] - selftests/bpf: Test for btf_load command. (Jiri Olsa) [2014861] - selftests/bpf: Test for syscall program type (Jiri Olsa) [2014861] - libbpf: Add selftests for TC-BPF management API (Jiri Olsa) [2014861] - selftests/bpf: Validate skeleton gen handles skipped fields (Jiri Olsa) [2014861] - selftests/bpf: Stop using static variables for passing data to/from user-space (Jiri Olsa) [2014861] - tools: bpftool: Document and add bash completion for -L, -B options (Jiri Olsa) [2014861] - tools: bpftool: Update and synchronise option list in doc and help msg (Jiri Olsa) [2014861] - bpftool: Remove unused includes to (Jiri Olsa) [2014861] - powerpc/bpf: Fix write protecting JIT code (Jiri Olsa) [2014861] - libbpf: Fix lookup_and_delete_elem_flags error reporting (Jiri Olsa) [2014861] - bpftool: Check malloc return value in mount_bpffs_for_pin (Jiri Olsa) [2014861] - tools: bpf: Fix error in 'make -C tools/ bpf_install' (Jiri Olsa) [2014861] - bpftool: Properly close va_list 'ap' by va_end() on error (Jiri Olsa) [2014861] - bpf: Fix libelf endian handling in resolv_btfids (Jiri Olsa) [2014861] - tools/bpftool: Fix error return code in do_batch() (Jiri Olsa) [2014861] - tools/bpftool: Fix cross-build (Jiri Olsa) [2014861] - bpftool: Set errno on skeleton failures and propagate errors (Jiri Olsa) [2014861] - bpftool: Use syscall/loader program in "prog load" and "gen skeleton" command. (Jiri Olsa) [2014861] - bpftool: Stop emitting static variables in BPF skeleton (Jiri Olsa) [2014861] - bpftool: Strip const/volatile/restrict modifiers from .bss and .data vars (Jiri Olsa) [2014861] - bpf: Add missing bpf_read_[un]lock_trace() for syscall program (Jiri Olsa) [2014861] - libbpf: Fix skel_internal.h to set errno on loader retval < 0 (Jiri Olsa) [2014861] - libbpf: Fix segfault in light skeleton for objects without BTF (Jiri Olsa) [2014861] - libbpf: Return non-null error on failures in libbpf_find_prog_btf_id() (Jiri Olsa) [2014861] - libbpf, doc: Eliminate warnings in libbpf_naming_convention (Jiri Olsa) [2014861] - net, core: Allow netdev_lower_get_next_private_rcu in bh context (Jiri Olsa) [2014861] - samples/bpf: Fix the error return code of xdp_redirect's main() (Jiri Olsa) [2014861] - samples/bpf: Fix Segmentation fault for xdp_redirect command (Jiri Olsa) [2014861] - samples/bpf: Add missing option to xdp_sample_pkts usage (Jiri Olsa) [2014861] - samples/bpf: Add missing option to xdp_fwd usage (Jiri Olsa) [2014861] - samples, bpf: Suppress compiler warning (Jiri Olsa) [2014861] - file: Rename __close_fd to close_fd and remove the files parameter (Jiri Olsa) [2014861] - bpf: Fix ringbuf helper function compatibility (Jiri Olsa) [2014861] - bpf: Clear zext_dst of dead insns (Jiri Olsa) [2014861] - bpf: Add rcu_read_lock in bpf_get_current_[ancestor_]cgroup_id() helpers (Jiri Olsa) [2014861] - bpf, core: Fix kernel-doc notation (Jiri Olsa) [2014861] - libbpf: Do not close un-owned FD 0 on errors (Jiri Olsa) [2014861] - libbpf: Fix probe for BPF_PROG_TYPE_CGROUP_SOCKOPT (Jiri Olsa) [2014861] - s390/bpf: Perform r1 range checking before accessing jit->seen_reg[r1] (Jiri Olsa) [2014861] - libbpf: Restore errno return for functions that were already returning it (Jiri Olsa) [2014861] - powerpc/bpf: Write protect JIT code (Jiri Olsa) [2014861] - powerpc/bpf: Remove bpf_jit_free() (Jiri Olsa) [2014861] - bpf: Fix integer overflow in argument calculation for bpf_map_area_alloc (Jiri Olsa) [2014861] - bpf: Fix false positive kmemleak report in bpf_ringbuf_area_alloc() (Jiri Olsa) [2014861] - bpf: Allow RCU-protected lookups to happen from bh context (Jiri Olsa) [2014861] - bpf, x86: Remove unused cnt increase from EMIT macro (Jiri Olsa) [2014861] - libbpf: Switch to void * casting in netlink helpers (Jiri Olsa) [2014861] - libbpf: Add request buffer type for netlink messages (Jiri Olsa) [2014861] - libbpf: Add extra BPF_PROG_TYPE check to bpf_object__probe_loading (Jiri Olsa) [2014861] - bpf: Add documentation for libbpf including API autogen (Jiri Olsa) [2014861] - bpf: Fix up register-based shifts in interpreter to silence KUBSAN (Jiri Olsa) [2014861] - libbpf: Fail compilation if target arch is missing (Jiri Olsa) [2014861] - bpf: Fix typo in kernel/bpf/bpf_lsm.c (Jiri Olsa) [2014861] - bpf: Support BPF_FUNC_get_socket_cookie() for BPF_PROG_TYPE_SK_REUSEPORT. (Jiri Olsa) [2014861] - libbpf: Set NLM_F_EXCL when creating qdisc (Jiri Olsa) [2014861] - libbpf: Remove unneeded check for flags during tc detach (Jiri Olsa) [2014861] - libbpf: Simplify the return expression of bpf_object__init_maps function (Jiri Olsa) [2014861] - libbpf: Fix pr_warn type warnings on 32bit (Jiri Olsa) [2014861] - libbpf: Install skel_internal.h header used from light skeletons (Jiri Olsa) [2014861] - libbpf: Refactor header installation portions of Makefile (Jiri Olsa) [2014861] - libbpf: Move few APIs from 0.4 to 0.5 version (Jiri Olsa) [2014861] - bpf, tnums: Provably sound, faster, and more precise algorithm for tnum_mul (Jiri Olsa) [2014861] - libbpf: Move BPF_SEQ_PRINTF and BPF_SNPRINTF to bpf_helpers.h (Jiri Olsa) [2014861] - libbpf: Streamline error reporting for high-level APIs (Jiri Olsa) [2014861] - libbpf: Streamline error reporting for low-level APIs (Jiri Olsa) [2014861] - libbpf: Add libbpf_set_strict_mode() API to turn on libbpf 1.0 behaviors (Jiri Olsa) [2014861] - bpf: Fix spelling mistakes (Jiri Olsa) [2014861] - bpf: Extend libbpf with bpf_map_lookup_and_delete_elem_flags (Jiri Olsa) [2014861] - bpf: Add lookup_and_delete_elem support to hashtab (Jiri Olsa) [2014861] - libbpf: Skip bpf_object__probe_loading for light skeleton (Jiri Olsa) [2014861] - bpf: Make some symbols static (Jiri Olsa) [2014861] - bpf: Add cmd alias BPF_PROG_RUN (Jiri Olsa) [2014861] - libbpf: Introduce bpf_map__initial_value(). (Jiri Olsa) [2014861] - libbpf: Cleanup temp FDs when intermediate sys_bpf fails. (Jiri Olsa) [2014861] - libbpf: Generate loader program out of BPF ELF file. (Jiri Olsa) [2014861] - libbpf: Preliminary support for fd_idx (Jiri Olsa) [2014861] - libbpf: Add bpf_object pointer to kernel_supports(). (Jiri Olsa) [2014861] - libbpf: Change the order of data and text relocations. (Jiri Olsa) [2014861] - bpf: Add bpf_sys_close() helper. (Jiri Olsa) [2014861] - bpf: Add bpf_btf_find_by_name_kind() helper. (Jiri Olsa) [2014861] - bpf: Introduce fd_idx (Jiri Olsa) [2014861] - bpf: Make btf_load command to be bpfptr_t compatible. (Jiri Olsa) [2014861] - libbpf: Support for syscall program type (Jiri Olsa) [2014861] - bpf: Prepare bpf syscall to be used from kernel and user space. (Jiri Olsa) [2014861] - bpf: Introduce bpfptr_t user/kernel pointer. (Jiri Olsa) [2014861] - bpf: Introduce bpf_sys_bpf() helper and program type. (Jiri Olsa) [2014861] - libbpf: Add low level TC-BPF management API (Jiri Olsa) [2014861] - libbpf: Add various netlink helpers (Jiri Olsa) [2014861] - libbpf: Reject static entry-point BPF programs (Jiri Olsa) [2014861] - libbpf: Reject static maps (Jiri Olsa) [2014861] - libbpf: Treat STV_INTERNAL same as STV_HIDDEN for functions (Jiri Olsa) [2014861] - libbpf: Add per-file linker opts (Jiri Olsa) [2014861] - bpf: verifier: Use copy_array for jmp_history (Jiri Olsa) [2014861] - bpf: verifier: Improve function state reallocation (Jiri Olsa) [2014861]- ice: fix getting UDP tunnel entry (Jonathan Toppins) [2015409] - ice: convert to new udp_tunnel infrastructure (Jonathan Toppins) [2015409] - selftests: kvm: Check whether SIDA memop fails for normal guests (Thomas Huth) [2050807] - KVM: s390: Return error on SIDA memop on normal guest (Thomas Huth) [2050807] {CVE-2022-0516} - lib/iov_iter: initialize "flags" in new pipe_buffer (Jan Stancek) [2060875] {CVE-2022-0847} - fget: clarify and improve __fget_files() implementation (Patrick Talbert) [2032303] - fget: check that the fd still exists after getting a ref to it (Patrick Talbert) [2032303] {CVE-2021-4083} - drm/ast: Create threshold values for AST2600 (Jocelyn Falempe) [2053358] - cgroup-v1: Correct privileges check in release_agent writes (Waiman Long) [2052167] - cgroup-v1: Require capabilities to set release_agent (Waiman Long) [2052167] {CVE-2022-0492} - spec: Fix separate tools build (Yauheni Kaliuta) [2056301] - net/mlx5: DR, Add support for update FTE (Amir Tzin) [2047231] - net/mlx5: DR, Improve rule tracking memory consumption (Amir Tzin) [2047231] - net/mlx5: DR, Remove rehash ctrl struct from dr_htbl (Amir Tzin) [2047231] - net/mlx5: DR, Remove HW specific STE type from nic domain (Amir Tzin) [2047231] - net/mlx5: DR, Merge DR_STE_SIZE enums (Amir Tzin) [2047231] - net/mlx5: DR, Skip source port matching on FDB RX domain (Amir Tzin) [2047231] - net/mlx5: DR, Add ignore_flow_level support for multi-dest flow tables (Amir Tzin) [2047231] - net/mlx5: DR, replace uintN_t with kernel-style types (Amir Tzin) [2047231] - net/mlx5: DR, Support IPv6 matching on flow label for STEv0 (Amir Tzin) [2047231] - net/mlx5: DR, Reduce print level for FT chaining level check (Amir Tzin) [2047231] - net/mlx5: DR, Warn and ignore SW steering rule insertion on QP err (Amir Tzin) [2047231] - net/mlx5: DR, Improve error flow in actions_build_ste_arr (Amir Tzin) [2047231] - net/mlx5: DR, Enable QP retransmission (Amir Tzin) [2047231] - net/mlx5: DR, Enable VLAN pop on TX and VLAN push on RX (Amir Tzin) [2047231] - net/mlx5: DR, Split modify VLAN state to separate pop/push states (Amir Tzin) [2047231] - net/mlx5: DR, Added support for REMOVE_HEADER packet reformat (Amir Tzin) [2047231] - net/mlx4_en: Resolve bad operstate value (Amir Tzin) [1982190] - net/mlx4_en: Fix an use-after-free bug in mlx4_en_try_alloc_resources() (Amir Tzin) [1982190] - RDMA/mlx4: Do not fail the registration on port stats (Amir Tzin) [1982190] - RDMA/mlx4: Return missed an error if device doesn't support steering (Amir Tzin) [1982190] - net/mlx4_en: Don't allow aRFS for encapsulated packets (Amir Tzin) [1982190] - mlx4: Fix missing error code in mlx4_load_one() (Amir Tzin) [1982190] - net/mlx4: Fix fall-through warning for Clang (Amir Tzin) [1982190] - mlx4: Remove rcu_read_lock() around XDP program invocation (Amir Tzin) [1982190] - IB/mlx4: Avoid field-overflowing memcpy() (Amir Tzin) [1982190] - RDMA/mlx4: Do not map the core_clock page to user space unless enabled (Amir Tzin) [1982190] - net/mlx4: Treat VFs fair when handling comm_channel_events (Amir Tzin) [1982190] - RDMA/mlx4: Remove an unused variable (Amir Tzin) [1982190] - megaraid_sas: Add new messaging - a fix (Tomas Henzl) [2055248] - HID: amd_sfh: Add interrupt handler to process interrupts (Benjamin Tissoires) [2054929] - HID: amd_sfh: Add functionality to clear interrupts (Benjamin Tissoires) [2054929] - HID: amd_sfh: Disable the interrupt for all command (Benjamin Tissoires) [2054929] - HID: amd_sfh: Correct the structure field name (Benjamin Tissoires) [2054929] - HID: amd_sfh: Handle amd_sfh work buffer in PM ops (Benjamin Tissoires) [2054929] - HID: amd_sfh: Add illuminance mask to limit ALS max value (Benjamin Tissoires) [2054929] - HID: amd_sfh: Increase sensor command timeout (Benjamin Tissoires) [2054929] - HID: amd_sfh: Update Copyright details (Benjamin Tissoires) [2054929] - HID: amd_sfh: switch from 'pci_' to 'dev_' API (Benjamin Tissoires) [2054929] - HID: amd_sfh: Use dma_set_mask_and_coherent() (Benjamin Tissoires) [2054929] - HID: amd_sfh: switch from 'pci_' to 'dma_' API (Benjamin Tissoires) [2054929] - dm stats: fix too short end duration_ns when using precise_timestamps (Benjamin Marzinski) [2057166] - dm: fix double accounting of flush with data (Benjamin Marzinski) [2057166] - dm: interlock pending dm_io and dm_wait_for_bios_completion (Benjamin Marzinski) [2057166] - x86/MCE/AMD, EDAC/mce_amd: Support non-uniform MCA bank type enumeration (Aristeu Rozanski) [2050410 2048786 2050412] - x86/MCE/AMD, EDAC/mce_amd: Add new SMCA bank types (Aristeu Rozanski) [2050410 2048786 2050412] - EDAC/amd64: Add support for AMD Family 19h Models 10h-1Fh and A0h-AFh (Aristeu Rozanski) [2050410 2048786 2050412] - EDAC: Add RDDR5 and LRDDR5 memory types (Aristeu Rozanski) [2050410 2048786 2050412] - EDAC/amd64: Handle three rank interleaving mode (Aristeu Rozanski) [2050410 2048786 2050412] - EDAC/amd64: Set proper family type for Family 19h Models 20h-2Fh (Aristeu Rozanski) [2050410 2048786 2050412] - netfilter: nf_queue: handle socket prefetch (Florian Westphal) [2009786] - netfilter: nf_queue: fix possible use-after-free (Florian Westphal) [2009786] - selftests: netfilter: add nfqueue TCP_NEW_SYN_RECV socket race test (Florian Westphal) [2009786] - netfilter: nf_queue: don't assume sk is full socket (Florian Westphal) [2009786] - Enable HSA_AMD_SVM config (Donald Dutile) [2025123] - mm/memremap_pages: support multiple ranges per invocation (Donald Dutile) [2025123] - mm/memremap_pages: convert to 'struct range' (Donald Dutile) [2025123] - device-dax: add an allocation interface for device-dax instances (Donald Dutile) [2025123] - device-dax: make pgmap optional for instance creation (Donald Dutile) [2025123] - device-dax: move instance creation parameters to 'struct dev_dax_data' (Donald Dutile) [2025123] - device-dax: drop the dax_region.pfn_flags attribute (Donald Dutile) [2025123] - memremap: rename MEMORY_DEVICE_DEVDAX to MEMORY_DEVICE_GENERIC (Donald Dutile) [2025123] - PCI/P2PDMA: Introduce private pagemap structure (Donald Dutile) [2025123] - security: implement sctp_assoc_established hook in selinux (Ondrej Mosnacek) [2015525 2048251] - security: add sctp_assoc_established hook (Ondrej Mosnacek) [2015525 2048251] - security: call security_sctp_assoc_request in sctp_sf_do_5_1D_ce (Ondrej Mosnacek) [2015525 2048251] - security: pass asoc to sctp_assoc_request and sctp_sk_clone (Ondrej Mosnacek) [2015525 2048251] - net: sctp: Fix some typos (Ondrej Mosnacek) [2015525 2048251] - iwlwifi: mvm: read 6E enablement flags from DSM and pass to FW (Íñigo Huguet) [1923170 1936001] - net/mlx5: Lag, Make mlx5_lag_is_multipath() be static inline (Amir Tzin) [1982193] - net/mlx5e: nullify cq->dbg pointer in mlx5_debug_cq_remove() (Amir Tzin) [1982193] - net/mlx5: DR, Ignore modify TTL if device doesn't support it (Amir Tzin) [1982193 2028504] - net/mlx5: Warn for devlink reload when there are VFs alive (Amir Tzin) [1982193] - net/mlx5: DR, Fix lower case macro prefix "mlx5_" to "MLX5_" (Amir Tzin) [1982193] - net/mlx5e: Fix wrong features assignment in case of error (Amir Tzin) [1982193] - net/mlx5e: Fix ICOSQ recovery flow for XSK (Amir Tzin) [1982193] - net/mlx5e: Fix interoperability between XSK and ICOSQ recovery flow (Amir Tzin) [1982193] - net/mlx5e: Wrap the tx reporter dump callback to extract the sq (Amir Tzin) [1982193] - net/mlx5: Fix tc max supported prio for nic mode (Amir Tzin) [1982193] - net/mlx5: Fix SF health recovery flow (Amir Tzin) [1982193] - net/mlx5: Fix error print in case of IRQ request failed (Amir Tzin) [1982193] - net/mlx5: DR, Fix NULL vs IS_ERR checking in dr_domain_init_resources (Amir Tzin) [1982193] - mlx5: fix mlx5i_grp_sw_update_stats() stack usage (Amir Tzin) [1982193] - mlx5: fix psample_sample_packet link error (Amir Tzin) [1982193] - net/mlx5: Fix format-security build warnings (Amir Tzin) [1982193] - net/mlx5e: Fix missing IPsec statistics on uplink representor (Amir Tzin) [1982193] - net/mlx5e: IPsec: Fix Software parser inner l3 type setting in case of encapsulation (Amir Tzin) [1982193] - net/mlx5: E-Switch, return error if encap isn't supported (Amir Tzin) [1982193] - net/mlx5: Lag, update tracker when state change event received (Amir Tzin) [1982193] - net/mlx5e: CT, Fix multiple allocations and memleak of mod acts (Amir Tzin) [1982193 2017675] - net/mlx5: Update error handler for UCTX and UMEM (Amir Tzin) [1982193] - net/mlx5: E-Switch, Fix resetting of encap mode when entering switchdev (Amir Tzin) [1982193] - net/mlx5e: Wait for concurrent flow deletion during neigh/fib events (Amir Tzin) [1982193] - net/mlx5e: kTLS, Fix crash in RX resync flow (Amir Tzin) [1982193] - net/mlx5e: IPsec: Fix work queue entry ethernet segment checksum flags (Amir Tzin) [1982193] - net/mlx5e: IPsec: Fix a misuse of the software parser's fields (Amir Tzin) [1982193] - net/mlx5e: Fix vlan data lost during suspend flow (Amir Tzin) [1982193] - net/mlx5: Lag, change multipath and bonding to be mutually exclusive (Amir Tzin) [1982193] - net/mlx5: Lag, move lag destruction to a workqueue (Amir Tzin) [1982193] - RDMA/mlx5: Initialize the ODP xarray when creating an ODP MR (Amir Tzin) [1982193] - net/mlx5e: Mutually exclude RX-FCS and RX-port-timestamp (Amir Tzin) [1982193] - net/mlx5e: Switchdev representors are not vlan challenged (Amir Tzin) [1982193] - net/mlx5e: Fix memory leak in mlx5_core_destroy_cq() error path (Amir Tzin) [1982193] - net/mlx5: Fix cleanup of bridge delayed work (Amir Tzin) [1982193] - RDMA/mlx5: Set user priority for DCT (Amir Tzin) [1982193] - net/mlx5: DR, Fix typo 'offeset' to 'offset' (Amir Tzin) [1982193] - net/mlx5: DR, Fix vport number data type to u16 (Amir Tzin) [1982193] - net/mlx5e: Fix the presented RQ index in PTP stats (Amir Tzin) [1982193] - net/mlx5: Fix setting number of EQs of SFs (Amir Tzin) [1982193] - net/mlx5: Fix length of irq_index in chars (Amir Tzin) [1982193] - net/mlx5: Avoid generating event after PPS out in Real time mode (Amir Tzin) [1982193] - net/mlx5: Force round second at 1PPS out start time (Amir Tzin) [1982193] - net/mlx5: E-Switch, Fix double allocation of acl flow counter (Amir Tzin) [1982193] - net/mlx5e: Keep the value for maximum number of channels in-sync (Amir Tzin) [1982193] - net/mlx5e: IPSEC RX, enable checksum complete (Amir Tzin) [1982193] - net/mlx5: DR, Fix code indentation in dr_ste_v1 (Amir Tzin) [1982193] - RDMA/mlx5: Fix xlt_chunk_align calculation (Amir Tzin) [1982193] - RDMA/mlx5: Fix number of allocated XLT entries (Amir Tzin) [1982193] - net/mlx5e: Fix mutual exclusion between CQE compression and HW TS (Amir Tzin) [1982193] - net/mlx5: Fix potential sleeping in atomic context (Amir Tzin) [1982193] - net/mlx5: FWTrace, cancel work on alloc pd error flow (Amir Tzin) [1982193] - net/mlx5: DR, fix a potential use-after-free bug (Amir Tzin) [1982193] - net/mlx5e: Use correct eswitch for stack devices with lag (Amir Tzin) [1982193] - net/mlx5: E-Switch, Set vhca id valid flag when creating indir fwd group (Amir Tzin) [1982193] - net/mlx5: Remove all auxiliary devices at the unregister event (Amir Tzin) [1982193] - net/mlx5: Lag, fix multipath lag activation (Amir Tzin) [1982193] - net/mlx5: Fix variable type to match 64bit (Amir Tzin) [1982193] - net/mlx5: Fix typo in comments (Amir Tzin) [1982193] - net/mlx5e: Remove Duplicated hunk in function __parse_cls_flower() (Amir Tzin) [1982193] - net/mlx5: Fix unpublish devlink parameters (Amir Tzin) [1982193] - RDMA/mlx5: Delete not-available udata check (Amir Tzin) [1982193] - net/mlx5: Fix missing return value in mlx5_devlink_eswitch_inline_mode_set() (Amir Tzin) [1982193] - net/mlx5e: Block LRO if firmware asks for tunneled LRO (Amir Tzin) [1982193] - net/mlx5e: Prohibit inner indir TIRs in IPoIB (Amir Tzin) [1982193] - net: switchdev: zero-initialize struct switchdev_notifier_fdb_info emitted by drivers towards the bridge (Amir Tzin) [1982193] - net/mlx5: Fix return value from tracer initialization (Amir Tzin) [1982193] - net/mlx5: Synchronize correct IRQ when destroying CQ (Amir Tzin) [1982193 1982219] - net/mlx5e: TC, Fix error handling memory leak (Amir Tzin) [1982193] - net/mlx5: Destroy pool->mutex (Amir Tzin) [1982193] - net/mlx5: Set all field of mlx5_irq before inserting it to the xarray (Amir Tzin) [1982193] - net/mlx5: Fix order of functions in mlx5_irq_detach_nb() (Amir Tzin) [1982193] - net/mlx5: Block switchdev mode while devlink traps are active (Amir Tzin) [1982193] - net/mlx5e: Destroy page pool after XDP SQ to fix use-after-free (Amir Tzin) [1982193] - net/mlx5: Bridge, fix ageing time (Amir Tzin) [1982193] - net/mlx5e: Avoid creating tunnel headers for local route (Amir Tzin) [1982193] - net/mlx5: DR, Add fail on error check on decap (Amir Tzin) [1982193] - net/mlx5: Don't skip subfunction cleanup in case of error in module init (Amir Tzin) [1982193] - RDMA/mlx5: Delay emptying a cache entry when a new MR is added to it recently (Amir Tzin) [1982193] - net/mlx5: Fix mlx5_vport_tbl_attr chain from u16 to u32 (Amir Tzin) [1982193] - net/mlx5e: Fix nullptr in mlx5e_hairpin_get_mdev() (Amir Tzin) [1982193] - net/mlx5: Unload device upon firmware fatal error (Amir Tzin) [1982193] - net/mlx5e: Fix page allocation failure for ptp-RQ over SF (Amir Tzin) [1982193] - net/mlx5e: Fix page allocation failure for trap-RQ over SF (Amir Tzin) [1982193] - net/mlx5e: Consider PTP-RQ when setting RX VLAN stripping (Amir Tzin) [1982193] - net/mlx5e: Add NETIF_F_HW_TC to hw_features when HTB offload is available (Amir Tzin) [1982193] - net/mlx5e: RX, Avoid possible data corruption when relaxed ordering and LRO combined (Amir Tzin) [1982193] - net/mlx5: E-Switch, handle devcom events only for ports on the same device (Amir Tzin) [1982193] - net/mlx5: E-Switch, Set destination vport vhca id only when merged eswitch is supported (Amir Tzin) [1982193] - net/mlx5e: Disable Rx ntuple offload for uplink representor (Amir Tzin) [1982193] - net/mlx5e: kTLS, Add stats for number of deleted kTLS TX offloaded connections (Amir Tzin) [1982193] - net/mlx5: SF, Improve performance in SF allocation (Amir Tzin) [1982193] - net/mlx5: Increase hairpin buffer size (Amir Tzin) [1982193] - net/mlx5: DR, Add support for flow sampler offload (Amir Tzin) [1982193] - net/mlx5: Compare sampler flow destination ID in fs_core (Amir Tzin) [1982193] - net/mlx5: remove "default n" from Kconfig (Amir Tzin) [1982193] - net/mlx5: Fix spelling mistake "enught" -> "enough" (Amir Tzin) [1982193] - net/mlx5: Use cpumask_available() in mlx5_eq_create_generic() (Amir Tzin) [1982193] - net/mlx5: Fix missing error code in mlx5_init_fs() (Amir Tzin) [1982193] - RDMA/mlx5: Support real-time timestamp directly from the device (Amir Tzin) [1982193] - RDMA/mlx5: Refactor get_ts_format functions to simplify code (Amir Tzin) [1982193] - RDMA/mlx5: Enable Relaxed Ordering by default for kernel ULPs (Amir Tzin) [1982193] - net/mlx5: Round-Robin EQs over IRQs (Amir Tzin) [1982193] - net/mlx5: Separate between public and private API of sf.h (Amir Tzin) [1982193] - net/mlx5: Enlarge interrupt field in CREATE_EQ (Amir Tzin) [1982193] - net/mlx5: Allocating a pool of MSI-X vectors for SFs (Amir Tzin) [1982193] - net/mlx5: Change IRQ storage logic from static to dynamic (Amir Tzin) [1982193] - net/mlx5: Moving rmap logic to EQs (Amir Tzin) [1982193] - net/mlx5: Extend mlx5_irq_request to request IRQ from the kernel (Amir Tzin) [1982193] - net/mlx5: Removing rmap per IRQ (Amir Tzin) [1982193] - net/mlx5: Clean license text in eq.[c|h] files (Amir Tzin) [1982193] - net/mlx5: Provide cpumask at EQ creation phase (Amir Tzin) [1982193] - net/mlx5: Introduce API for request and release IRQs (Amir Tzin) [1982193] - net/mlx5: Delay IRQ destruction till all users are gone (Amir Tzin) [1982193] - net/mlx5: Change ownership model for lag (Amir Tzin) [1982193] - net/mlx5: Lag, Don't rescan if the device is going down (Amir Tzin) [1982193] - net/mlx5: Lag, refactor disable flow (Amir Tzin) [1982193] - net/mlx5: Bridge, add tracepoints (Amir Tzin) [1982193 1982234] - net/mlx5: Bridge, filter tagged packets that didn't match tagged fg (Amir Tzin) [1982193 1982234] - net/mlx5: Bridge, support pvid and untagged vlan configurations (Amir Tzin) [1982193 1982234] - net/mlx5: Bridge, match FDB entry vlan tag (Amir Tzin) [1982193 1982234] - net/mlx5: Bridge, implement infrastructure for vlans (Amir Tzin) [1982193 1982234] - net/mlx5: Bridge, dynamic entry ageing (Amir Tzin) [1982193 1982234] - net/mlx5: Bridge, handle FDB events (Amir Tzin) [1982193 1982234] - docs: networking: Add missing mlx5 documentation (Amir Tzin) [1982193] - net/mlx5: Bridge, add offload infrastructure (Amir Tzin) [1982193 1982234] - net/mlx5e: Refactor mlx5e_eswitch_{*}rep() helpers (Amir Tzin) [1982193 1982234] - net/mlx5: Create TC-miss priority and table (Amir Tzin) [1982193 1982234] - net/mlx5: DR, Support EMD tag in modify header for STEv1 (Amir Tzin) [1982193 1982234] - net/mlx5: DR, Added support for INSERT_HEADER reformat type (Amir Tzin) [1982193 1982234] - net/mlx5: Added new parameters to reformat context (Amir Tzin) [1982193 1982234] - net/mlx5: DR, Allow encap action for RX for supporting devices (Amir Tzin) [1982193 1982234] - net/mlx5: DR, Split reformat state to Encap and Decap (Amir Tzin) [1982193 1982234] - net/mlx5: mlx5_ifc support for header insert/remove (Amir Tzin) [1982193 1982234] - net/mlx5e: Remove unreachable code in mlx5e_xmit() (Amir Tzin) [1982193] - net/mlx5e: RX, Re-place page pool numa node change logic (Amir Tzin) [1982193] - net/mlx5e: Zero-init DIM structures (Amir Tzin) [1982193] - net/mlx5e: IPoIB, Add support for NDR speed (Amir Tzin) [1982193] - net/mlx5e: Remove the repeated declaration (Amir Tzin) [1982193] - net/mlx5: check for allocation failure in mlx5_ft_pool_init() (Amir Tzin) [1982193] - mlx5: count all link events (Amir Tzin) [1982193] - net/mlx5: Expose FW version over defined keyword (Amir Tzin) [1982193] - net/mlx5: Use boolean arithmetic to evaluate roce_lag (Amir Tzin) [1982193] - net/mlx5: Remove unnecessary spin lock protection (Amir Tzin) [1982193] - net/mlx5: Cap the maximum flow group size to 16M entries (Amir Tzin) [1982193] - net/mlx5: DR, Set max table size to 2G entries (Amir Tzin) [1982193] - net/mlx5: Move chains ft pool to be used by all firmware steering (Amir Tzin) [1982193] - net/mlx5: Move table size calculation to steering cmd layer (Amir Tzin) [1982193] - net/mlx5: Add case for FS_FT_NIC_TX FT in MLX5_CAP_FLOWTABLE_TYPE (Amir Tzin) [1982193] - net/mlx5: DR, Remove unused field of send_ring struct (Amir Tzin) [1982193] - net/mlx5e: RX, Remove unnecessary check in RX CQE compression handling (Amir Tzin) [1982193] - net/mlx5: CT: Avoid reusing modify header context for natted entries (Amir Tzin) [1982193] - net/mlx5e: CT, Remove newline from ct_dbg call (Amir Tzin) [1982193] - RDMA/mlx5: Take qp type from mlx5_ib_qp (Amir Tzin) [1982193] - RDMA/mlx5: Add SQD2RTS bit to the alloc ucontext response (Amir Tzin) [1982193] - RDMA/mlx5: Support SQD2RTS for modify QP (Amir Tzin) [1982193] - RDMA/mlx5: Remove redundant assignment to ret (Amir Tzin) [1982193] - firewire: fix support status (Tomas Henzl) [2055319] - dlci: fix support status (Tomas Henzl) [2055319] - dlink: fix support status (Tomas Henzl) [2055319] - rxe: fix support status (Tomas Henzl) [2055319] - qic: fix support status (Tomas Henzl) [2055319] - Revert "ceph: enable async dirops by default" (Jeffrey Layton) [2052542] - libceph: optionally use bounce buffer on recv path in crc mode (Jeffrey Layton) [2024725] - libceph: make recv path in secure mode work the same as send path (Jeffrey Layton) [2024725] - mm: use kmap_local_page in memzero_page (Jeffrey Layton) [2024725] - mm: call flush_dcache_page() in memcpy_to_page() and memzero_page() (Jeffrey Layton) [2024725] - iov_iter: lift memzero_page() to highmem.h (Jeffrey Layton) [2024725] - mm/highmem: Convert memcpy_[to|from]_page() to kmap_local_page() (Jeffrey Layton) [2024725] - mm/highmem: Lift memcpy_[to|from]_page to core (Jeffrey Layton) [2024725] - ceph: set pool_ns in new inode layout for async creates (Jeffrey Layton) [2046021] - ceph: properly put ceph_string reference after async create attempt (Jeffrey Layton) [2046021] - ceph: put the requests/sessions when it fails to alloc memory (Jeffrey Layton) [2046021] - ceph: remove redundant Lsx caps check (Jeffrey Layton) [2046021] - ceph: don't check for quotas on MDS stray dirs (Jeffrey Layton) [2046021] - ceph: drop send metrics debug message (Jeffrey Layton) [2046021] - ceph: Fix incorrect statfs report for small quota (Jeffrey Layton) [2011104] - scsi: qla2xxx: stop timer in shutdown path (Nilesh Javali) [2056055] - Revert "PCI: Add support for dev_groups to struct pci_driver" (Michel Dänzer) [2054595] - drm/amdgpu: Assign amdgpu_sysfs_groups to struct device_driver directly (Michel Dänzer) [2054595] - EDAC/i10nm: Retrieve and print retry_rd_err_log registers (Aristeu Rozanski) [1998359] - redhat: enable zstream release numbering for rhel 8.6 (Augusto Caringi) - redhat: generate distgit changelog in genspec.sh as well (Jan Stancek) - redhat: always upload kabi tarballs (Jan Stancek) - redhat: make genspec prefer metadata from git notes (Jan Stancek) - internal: update RHEL_MINOR for the start of RHEL-8.7 development (Jarod Wilson)- ice: fix getting UDP tunnel entry (Jonathan Toppins) [2015409] - ice: convert to new udp_tunnel infrastructure (Jonathan Toppins) [2015409] - selftests: kvm: Check whether SIDA memop fails for normal guests (Thomas Huth) [2050807] - KVM: s390: Return error on SIDA memop on normal guest (Thomas Huth) [2050807] {CVE-2022-0516} - lib/iov_iter: initialize "flags" in new pipe_buffer (Jan Stancek) [2060875] {CVE-2022-0847} - fget: clarify and improve __fget_files() implementation (Patrick Talbert) [2032303] - fget: check that the fd still exists after getting a ref to it (Patrick Talbert) [2032303] {CVE-2021-4083} - drm/ast: Create threshold values for AST2600 (Jocelyn Falempe) [2053358] - cgroup-v1: Correct privileges check in release_agent writes (Waiman Long) [2052167] - cgroup-v1: Require capabilities to set release_agent (Waiman Long) [2052167] {CVE-2022-0492} - spec: Fix separate tools build (Yauheni Kaliuta) [2056301] - net/mlx5: DR, Add support for update FTE (Amir Tzin) [2047231] - net/mlx5: DR, Improve rule tracking memory consumption (Amir Tzin) [2047231] - net/mlx5: DR, Remove rehash ctrl struct from dr_htbl (Amir Tzin) [2047231] - net/mlx5: DR, Remove HW specific STE type from nic domain (Amir Tzin) [2047231] - net/mlx5: DR, Merge DR_STE_SIZE enums (Amir Tzin) [2047231] - net/mlx5: DR, Skip source port matching on FDB RX domain (Amir Tzin) [2047231] - net/mlx5: DR, Add ignore_flow_level support for multi-dest flow tables (Amir Tzin) [2047231] - net/mlx5: DR, replace uintN_t with kernel-style types (Amir Tzin) [2047231] - net/mlx5: DR, Support IPv6 matching on flow label for STEv0 (Amir Tzin) [2047231] - net/mlx5: DR, Reduce print level for FT chaining level check (Amir Tzin) [2047231] - net/mlx5: DR, Warn and ignore SW steering rule insertion on QP err (Amir Tzin) [2047231] - net/mlx5: DR, Improve error flow in actions_build_ste_arr (Amir Tzin) [2047231] - net/mlx5: DR, Enable QP retransmission (Amir Tzin) [2047231] - net/mlx5: DR, Enable VLAN pop on TX and VLAN push on RX (Amir Tzin) [2047231] - net/mlx5: DR, Split modify VLAN state to separate pop/push states (Amir Tzin) [2047231] - net/mlx5: DR, Added support for REMOVE_HEADER packet reformat (Amir Tzin) [2047231] - net/mlx4_en: Resolve bad operstate value (Amir Tzin) [1982190] - net/mlx4_en: Fix an use-after-free bug in mlx4_en_try_alloc_resources() (Amir Tzin) [1982190] - RDMA/mlx4: Do not fail the registration on port stats (Amir Tzin) [1982190] - RDMA/mlx4: Return missed an error if device doesn't support steering (Amir Tzin) [1982190] - net/mlx4_en: Don't allow aRFS for encapsulated packets (Amir Tzin) [1982190] - mlx4: Fix missing error code in mlx4_load_one() (Amir Tzin) [1982190] - net/mlx4: Fix fall-through warning for Clang (Amir Tzin) [1982190] - mlx4: Remove rcu_read_lock() around XDP program invocation (Amir Tzin) [1982190] - IB/mlx4: Avoid field-overflowing memcpy() (Amir Tzin) [1982190] - RDMA/mlx4: Do not map the core_clock page to user space unless enabled (Amir Tzin) [1982190] - net/mlx4: Treat VFs fair when handling comm_channel_events (Amir Tzin) [1982190] - RDMA/mlx4: Remove an unused variable (Amir Tzin) [1982190]- megaraid_sas: Add new messaging - a fix (Tomas Henzl) [2055248] - HID: amd_sfh: Add interrupt handler to process interrupts (Benjamin Tissoires) [2054929] - HID: amd_sfh: Add functionality to clear interrupts (Benjamin Tissoires) [2054929] - HID: amd_sfh: Disable the interrupt for all command (Benjamin Tissoires) [2054929] - HID: amd_sfh: Correct the structure field name (Benjamin Tissoires) [2054929] - HID: amd_sfh: Handle amd_sfh work buffer in PM ops (Benjamin Tissoires) [2054929] - HID: amd_sfh: Add illuminance mask to limit ALS max value (Benjamin Tissoires) [2054929] - HID: amd_sfh: Increase sensor command timeout (Benjamin Tissoires) [2054929] - HID: amd_sfh: Update Copyright details (Benjamin Tissoires) [2054929] - HID: amd_sfh: switch from 'pci_' to 'dev_' API (Benjamin Tissoires) [2054929] - HID: amd_sfh: Use dma_set_mask_and_coherent() (Benjamin Tissoires) [2054929] - HID: amd_sfh: switch from 'pci_' to 'dma_' API (Benjamin Tissoires) [2054929] - dm stats: fix too short end duration_ns when using precise_timestamps (Benjamin Marzinski) [2057166] - dm: fix double accounting of flush with data (Benjamin Marzinski) [2057166] - dm: interlock pending dm_io and dm_wait_for_bios_completion (Benjamin Marzinski) [2057166] - x86/MCE/AMD, EDAC/mce_amd: Support non-uniform MCA bank type enumeration (Aristeu Rozanski) [2050410 2048786 2050412] - x86/MCE/AMD, EDAC/mce_amd: Add new SMCA bank types (Aristeu Rozanski) [2050410 2048786 2050412] - EDAC/amd64: Add support for AMD Family 19h Models 10h-1Fh and A0h-AFh (Aristeu Rozanski) [2050410 2048786 2050412] - EDAC: Add RDDR5 and LRDDR5 memory types (Aristeu Rozanski) [2050410 2048786 2050412] - EDAC/amd64: Handle three rank interleaving mode (Aristeu Rozanski) [2050410 2048786 2050412] - EDAC/amd64: Set proper family type for Family 19h Models 20h-2Fh (Aristeu Rozanski) [2050410 2048786 2050412] - netfilter: nf_queue: handle socket prefetch (Florian Westphal) [2009786] - netfilter: nf_queue: fix possible use-after-free (Florian Westphal) [2009786] - selftests: netfilter: add nfqueue TCP_NEW_SYN_RECV socket race test (Florian Westphal) [2009786] - netfilter: nf_queue: don't assume sk is full socket (Florian Westphal) [2009786] - Enable HSA_AMD_SVM config (Donald Dutile) [2025123] - mm/memremap_pages: support multiple ranges per invocation (Donald Dutile) [2025123] - mm/memremap_pages: convert to 'struct range' (Donald Dutile) [2025123] - device-dax: add an allocation interface for device-dax instances (Donald Dutile) [2025123] - device-dax: make pgmap optional for instance creation (Donald Dutile) [2025123] - device-dax: move instance creation parameters to 'struct dev_dax_data' (Donald Dutile) [2025123] - device-dax: drop the dax_region.pfn_flags attribute (Donald Dutile) [2025123] - memremap: rename MEMORY_DEVICE_DEVDAX to MEMORY_DEVICE_GENERIC (Donald Dutile) [2025123] - PCI/P2PDMA: Introduce private pagemap structure (Donald Dutile) [2025123] - security: implement sctp_assoc_established hook in selinux (Ondrej Mosnacek) [2015525 2048251] - security: add sctp_assoc_established hook (Ondrej Mosnacek) [2015525 2048251] - security: call security_sctp_assoc_request in sctp_sf_do_5_1D_ce (Ondrej Mosnacek) [2015525 2048251] - security: pass asoc to sctp_assoc_request and sctp_sk_clone (Ondrej Mosnacek) [2015525 2048251] - net: sctp: Fix some typos (Ondrej Mosnacek) [2015525 2048251] - iwlwifi: mvm: read 6E enablement flags from DSM and pass to FW (Íñigo Huguet) [1923170 1936001] - net/mlx5: Lag, Make mlx5_lag_is_multipath() be static inline (Amir Tzin) [1982193] - net/mlx5e: nullify cq->dbg pointer in mlx5_debug_cq_remove() (Amir Tzin) [1982193] - net/mlx5: DR, Ignore modify TTL if device doesn't support it (Amir Tzin) [1982193 2028504] - net/mlx5: Warn for devlink reload when there are VFs alive (Amir Tzin) [1982193] - net/mlx5: DR, Fix lower case macro prefix "mlx5_" to "MLX5_" (Amir Tzin) [1982193] - net/mlx5e: Fix wrong features assignment in case of error (Amir Tzin) [1982193] - net/mlx5e: Fix ICOSQ recovery flow for XSK (Amir Tzin) [1982193] - net/mlx5e: Fix interoperability between XSK and ICOSQ recovery flow (Amir Tzin) [1982193] - net/mlx5e: Wrap the tx reporter dump callback to extract the sq (Amir Tzin) [1982193] - net/mlx5: Fix tc max supported prio for nic mode (Amir Tzin) [1982193] - net/mlx5: Fix SF health recovery flow (Amir Tzin) [1982193] - net/mlx5: Fix error print in case of IRQ request failed (Amir Tzin) [1982193] - net/mlx5: DR, Fix NULL vs IS_ERR checking in dr_domain_init_resources (Amir Tzin) [1982193] - mlx5: fix mlx5i_grp_sw_update_stats() stack usage (Amir Tzin) [1982193] - mlx5: fix psample_sample_packet link error (Amir Tzin) [1982193] - net/mlx5: Fix format-security build warnings (Amir Tzin) [1982193] - net/mlx5e: Fix missing IPsec statistics on uplink representor (Amir Tzin) [1982193] - net/mlx5e: IPsec: Fix Software parser inner l3 type setting in case of encapsulation (Amir Tzin) [1982193] - net/mlx5: E-Switch, return error if encap isn't supported (Amir Tzin) [1982193] - net/mlx5: Lag, update tracker when state change event received (Amir Tzin) [1982193] - net/mlx5e: CT, Fix multiple allocations and memleak of mod acts (Amir Tzin) [1982193 2017675] - net/mlx5: Update error handler for UCTX and UMEM (Amir Tzin) [1982193] - net/mlx5: E-Switch, Fix resetting of encap mode when entering switchdev (Amir Tzin) [1982193] - net/mlx5e: Wait for concurrent flow deletion during neigh/fib events (Amir Tzin) [1982193] - net/mlx5e: kTLS, Fix crash in RX resync flow (Amir Tzin) [1982193] - net/mlx5e: IPsec: Fix work queue entry ethernet segment checksum flags (Amir Tzin) [1982193] - net/mlx5e: IPsec: Fix a misuse of the software parser's fields (Amir Tzin) [1982193] - net/mlx5e: Fix vlan data lost during suspend flow (Amir Tzin) [1982193] - net/mlx5: Lag, change multipath and bonding to be mutually exclusive (Amir Tzin) [1982193] - net/mlx5: Lag, move lag destruction to a workqueue (Amir Tzin) [1982193] - RDMA/mlx5: Initialize the ODP xarray when creating an ODP MR (Amir Tzin) [1982193] - net/mlx5e: Mutually exclude RX-FCS and RX-port-timestamp (Amir Tzin) [1982193] - net/mlx5e: Switchdev representors are not vlan challenged (Amir Tzin) [1982193] - net/mlx5e: Fix memory leak in mlx5_core_destroy_cq() error path (Amir Tzin) [1982193] - net/mlx5: Fix cleanup of bridge delayed work (Amir Tzin) [1982193] - RDMA/mlx5: Set user priority for DCT (Amir Tzin) [1982193] - net/mlx5: DR, Fix typo 'offeset' to 'offset' (Amir Tzin) [1982193] - net/mlx5: DR, Fix vport number data type to u16 (Amir Tzin) [1982193] - net/mlx5e: Fix the presented RQ index in PTP stats (Amir Tzin) [1982193] - net/mlx5: Fix setting number of EQs of SFs (Amir Tzin) [1982193] - net/mlx5: Fix length of irq_index in chars (Amir Tzin) [1982193] - net/mlx5: Avoid generating event after PPS out in Real time mode (Amir Tzin) [1982193] - net/mlx5: Force round second at 1PPS out start time (Amir Tzin) [1982193] - net/mlx5: E-Switch, Fix double allocation of acl flow counter (Amir Tzin) [1982193] - net/mlx5e: Keep the value for maximum number of channels in-sync (Amir Tzin) [1982193] - net/mlx5e: IPSEC RX, enable checksum complete (Amir Tzin) [1982193] - net/mlx5: DR, Fix code indentation in dr_ste_v1 (Amir Tzin) [1982193] - RDMA/mlx5: Fix xlt_chunk_align calculation (Amir Tzin) [1982193] - RDMA/mlx5: Fix number of allocated XLT entries (Amir Tzin) [1982193] - net/mlx5e: Fix mutual exclusion between CQE compression and HW TS (Amir Tzin) [1982193] - net/mlx5: Fix potential sleeping in atomic context (Amir Tzin) [1982193] - net/mlx5: FWTrace, cancel work on alloc pd error flow (Amir Tzin) [1982193] - net/mlx5: DR, fix a potential use-after-free bug (Amir Tzin) [1982193] - net/mlx5e: Use correct eswitch for stack devices with lag (Amir Tzin) [1982193] - net/mlx5: E-Switch, Set vhca id valid flag when creating indir fwd group (Amir Tzin) [1982193] - net/mlx5: Remove all auxiliary devices at the unregister event (Amir Tzin) [1982193] - net/mlx5: Lag, fix multipath lag activation (Amir Tzin) [1982193] - net/mlx5: Fix variable type to match 64bit (Amir Tzin) [1982193] - net/mlx5: Fix typo in comments (Amir Tzin) [1982193] - net/mlx5e: Remove Duplicated hunk in function __parse_cls_flower() (Amir Tzin) [1982193] - net/mlx5: Fix unpublish devlink parameters (Amir Tzin) [1982193] - RDMA/mlx5: Delete not-available udata check (Amir Tzin) [1982193] - net/mlx5: Fix missing return value in mlx5_devlink_eswitch_inline_mode_set() (Amir Tzin) [1982193] - net/mlx5e: Block LRO if firmware asks for tunneled LRO (Amir Tzin) [1982193] - net/mlx5e: Prohibit inner indir TIRs in IPoIB (Amir Tzin) [1982193] - net: switchdev: zero-initialize struct switchdev_notifier_fdb_info emitted by drivers towards the bridge (Amir Tzin) [1982193] - net/mlx5: Fix return value from tracer initialization (Amir Tzin) [1982193] - net/mlx5: Synchronize correct IRQ when destroying CQ (Amir Tzin) [1982193 1982219] - net/mlx5e: TC, Fix error handling memory leak (Amir Tzin) [1982193] - net/mlx5: Destroy pool->mutex (Amir Tzin) [1982193] - net/mlx5: Set all field of mlx5_irq before inserting it to the xarray (Amir Tzin) [1982193] - net/mlx5: Fix order of functions in mlx5_irq_detach_nb() (Amir Tzin) [1982193] - net/mlx5: Block switchdev mode while devlink traps are active (Amir Tzin) [1982193] - net/mlx5e: Destroy page pool after XDP SQ to fix use-after-free (Amir Tzin) [1982193] - net/mlx5: Bridge, fix ageing time (Amir Tzin) [1982193] - net/mlx5e: Avoid creating tunnel headers for local route (Amir Tzin) [1982193] - net/mlx5: DR, Add fail on error check on decap (Amir Tzin) [1982193] - net/mlx5: Don't skip subfunction cleanup in case of error in module init (Amir Tzin) [1982193] - RDMA/mlx5: Delay emptying a cache entry when a new MR is added to it recently (Amir Tzin) [1982193] - net/mlx5: Fix mlx5_vport_tbl_attr chain from u16 to u32 (Amir Tzin) [1982193] - net/mlx5e: Fix nullptr in mlx5e_hairpin_get_mdev() (Amir Tzin) [1982193] - net/mlx5: Unload device upon firmware fatal error (Amir Tzin) [1982193] - net/mlx5e: Fix page allocation failure for ptp-RQ over SF (Amir Tzin) [1982193] - net/mlx5e: Fix page allocation failure for trap-RQ over SF (Amir Tzin) [1982193] - net/mlx5e: Consider PTP-RQ when setting RX VLAN stripping (Amir Tzin) [1982193] - net/mlx5e: Add NETIF_F_HW_TC to hw_features when HTB offload is available (Amir Tzin) [1982193] - net/mlx5e: RX, Avoid possible data corruption when relaxed ordering and LRO combined (Amir Tzin) [1982193] - net/mlx5: E-Switch, handle devcom events only for ports on the same device (Amir Tzin) [1982193] - net/mlx5: E-Switch, Set destination vport vhca id only when merged eswitch is supported (Amir Tzin) [1982193] - net/mlx5e: Disable Rx ntuple offload for uplink representor (Amir Tzin) [1982193] - net/mlx5e: kTLS, Add stats for number of deleted kTLS TX offloaded connections (Amir Tzin) [1982193] - net/mlx5: SF, Improve performance in SF allocation (Amir Tzin) [1982193] - net/mlx5: Increase hairpin buffer size (Amir Tzin) [1982193] - net/mlx5: DR, Add support for flow sampler offload (Amir Tzin) [1982193] - net/mlx5: Compare sampler flow destination ID in fs_core (Amir Tzin) [1982193] - net/mlx5: remove "default n" from Kconfig (Amir Tzin) [1982193] - net/mlx5: Fix spelling mistake "enught" -> "enough" (Amir Tzin) [1982193] - net/mlx5: Use cpumask_available() in mlx5_eq_create_generic() (Amir Tzin) [1982193] - net/mlx5: Fix missing error code in mlx5_init_fs() (Amir Tzin) [1982193] - RDMA/mlx5: Support real-time timestamp directly from the device (Amir Tzin) [1982193] - RDMA/mlx5: Refactor get_ts_format functions to simplify code (Amir Tzin) [1982193] - RDMA/mlx5: Enable Relaxed Ordering by default for kernel ULPs (Amir Tzin) [1982193] - net/mlx5: Round-Robin EQs over IRQs (Amir Tzin) [1982193] - net/mlx5: Separate between public and private API of sf.h (Amir Tzin) [1982193] - net/mlx5: Enlarge interrupt field in CREATE_EQ (Amir Tzin) [1982193] - net/mlx5: Allocating a pool of MSI-X vectors for SFs (Amir Tzin) [1982193] - net/mlx5: Change IRQ storage logic from static to dynamic (Amir Tzin) [1982193] - net/mlx5: Moving rmap logic to EQs (Amir Tzin) [1982193] - net/mlx5: Extend mlx5_irq_request to request IRQ from the kernel (Amir Tzin) [1982193] - net/mlx5: Removing rmap per IRQ (Amir Tzin) [1982193] - net/mlx5: Clean license text in eq.[c|h] files (Amir Tzin) [1982193] - net/mlx5: Provide cpumask at EQ creation phase (Amir Tzin) [1982193] - net/mlx5: Introduce API for request and release IRQs (Amir Tzin) [1982193] - net/mlx5: Delay IRQ destruction till all users are gone (Amir Tzin) [1982193] - net/mlx5: Change ownership model for lag (Amir Tzin) [1982193] - net/mlx5: Lag, Don't rescan if the device is going down (Amir Tzin) [1982193] - net/mlx5: Lag, refactor disable flow (Amir Tzin) [1982193] - net/mlx5: Bridge, add tracepoints (Amir Tzin) [1982193 1982234] - net/mlx5: Bridge, filter tagged packets that didn't match tagged fg (Amir Tzin) [1982193 1982234] - net/mlx5: Bridge, support pvid and untagged vlan configurations (Amir Tzin) [1982193 1982234] - net/mlx5: Bridge, match FDB entry vlan tag (Amir Tzin) [1982193 1982234] - net/mlx5: Bridge, implement infrastructure for vlans (Amir Tzin) [1982193 1982234] - net/mlx5: Bridge, dynamic entry ageing (Amir Tzin) [1982193 1982234] - net/mlx5: Bridge, handle FDB events (Amir Tzin) [1982193 1982234] - docs: networking: Add missing mlx5 documentation (Amir Tzin) [1982193] - net/mlx5: Bridge, add offload infrastructure (Amir Tzin) [1982193 1982234] - net/mlx5e: Refactor mlx5e_eswitch_{*}rep() helpers (Amir Tzin) [1982193 1982234] - net/mlx5: Create TC-miss priority and table (Amir Tzin) [1982193 1982234] - net/mlx5: DR, Support EMD tag in modify header for STEv1 (Amir Tzin) [1982193 1982234] - net/mlx5: DR, Added support for INSERT_HEADER reformat type (Amir Tzin) [1982193 1982234] - net/mlx5: Added new parameters to reformat context (Amir Tzin) [1982193 1982234] - net/mlx5: DR, Allow encap action for RX for supporting devices (Amir Tzin) [1982193 1982234] - net/mlx5: DR, Split reformat state to Encap and Decap (Amir Tzin) [1982193 1982234] - net/mlx5: mlx5_ifc support for header insert/remove (Amir Tzin) [1982193 1982234] - net/mlx5e: Remove unreachable code in mlx5e_xmit() (Amir Tzin) [1982193] - net/mlx5e: RX, Re-place page pool numa node change logic (Amir Tzin) [1982193] - net/mlx5e: Zero-init DIM structures (Amir Tzin) [1982193] - net/mlx5e: IPoIB, Add support for NDR speed (Amir Tzin) [1982193] - net/mlx5e: Remove the repeated declaration (Amir Tzin) [1982193] - net/mlx5: check for allocation failure in mlx5_ft_pool_init() (Amir Tzin) [1982193] - mlx5: count all link events (Amir Tzin) [1982193] - net/mlx5: Expose FW version over defined keyword (Amir Tzin) [1982193] - net/mlx5: Use boolean arithmetic to evaluate roce_lag (Amir Tzin) [1982193] - net/mlx5: Remove unnecessary spin lock protection (Amir Tzin) [1982193] - net/mlx5: Cap the maximum flow group size to 16M entries (Amir Tzin) [1982193] - net/mlx5: DR, Set max table size to 2G entries (Amir Tzin) [1982193] - net/mlx5: Move chains ft pool to be used by all firmware steering (Amir Tzin) [1982193] - net/mlx5: Move table size calculation to steering cmd layer (Amir Tzin) [1982193] - net/mlx5: Add case for FS_FT_NIC_TX FT in MLX5_CAP_FLOWTABLE_TYPE (Amir Tzin) [1982193] - net/mlx5: DR, Remove unused field of send_ring struct (Amir Tzin) [1982193] - net/mlx5e: RX, Remove unnecessary check in RX CQE compression handling (Amir Tzin) [1982193] - net/mlx5: CT: Avoid reusing modify header context for natted entries (Amir Tzin) [1982193] - net/mlx5e: CT, Remove newline from ct_dbg call (Amir Tzin) [1982193] - RDMA/mlx5: Take qp type from mlx5_ib_qp (Amir Tzin) [1982193] - RDMA/mlx5: Add SQD2RTS bit to the alloc ucontext response (Amir Tzin) [1982193] - RDMA/mlx5: Support SQD2RTS for modify QP (Amir Tzin) [1982193] - RDMA/mlx5: Remove redundant assignment to ret (Amir Tzin) [1982193] - firewire: fix support status (Tomas Henzl) [2055319] - dlci: fix support status (Tomas Henzl) [2055319] - dlink: fix support status (Tomas Henzl) [2055319] - rxe: fix support status (Tomas Henzl) [2055319] - qic: fix support status (Tomas Henzl) [2055319] - Revert "ceph: enable async dirops by default" (Jeffrey Layton) [2052542] - libceph: optionally use bounce buffer on recv path in crc mode (Jeffrey Layton) [2024725] - libceph: make recv path in secure mode work the same as send path (Jeffrey Layton) [2024725] - mm: use kmap_local_page in memzero_page (Jeffrey Layton) [2024725] - mm: call flush_dcache_page() in memcpy_to_page() and memzero_page() (Jeffrey Layton) [2024725] - iov_iter: lift memzero_page() to highmem.h (Jeffrey Layton) [2024725] - mm/highmem: Convert memcpy_[to|from]_page() to kmap_local_page() (Jeffrey Layton) [2024725] - mm/highmem: Lift memcpy_[to|from]_page to core (Jeffrey Layton) [2024725] - ceph: set pool_ns in new inode layout for async creates (Jeffrey Layton) [2046021] - ceph: properly put ceph_string reference after async create attempt (Jeffrey Layton) [2046021] - ceph: put the requests/sessions when it fails to alloc memory (Jeffrey Layton) [2046021] - ceph: remove redundant Lsx caps check (Jeffrey Layton) [2046021] - ceph: don't check for quotas on MDS stray dirs (Jeffrey Layton) [2046021] - ceph: drop send metrics debug message (Jeffrey Layton) [2046021] - ceph: Fix incorrect statfs report for small quota (Jeffrey Layton) [2011104] - scsi: qla2xxx: stop timer in shutdown path (Nilesh Javali) [2056055] - Revert "PCI: Add support for dev_groups to struct pci_driver" (Michel Dänzer) [2054595] - drm/amdgpu: Assign amdgpu_sysfs_groups to struct device_driver directly (Michel Dänzer) [2054595] - EDAC/i10nm: Retrieve and print retry_rd_err_log registers (Aristeu Rozanski) [1998359] - redhat: enable zstream release numbering for rhel 8.6 (Augusto Caringi) - redhat: generate distgit changelog in genspec.sh as well (Jan Stancek) - redhat: always upload kabi tarballs (Jan Stancek) - redhat: make genspec prefer metadata from git notes (Jan Stancek)- xfs: don't generate selinux audit messages for capability testing (Brian Foster) [2059835]- ice: Implement support for SMA and U.FL on E810-T (Jonathan Toppins) [1975007] - ice: Add support for SMA control multiplexer (Jonathan Toppins) [1975007] - ice: Implement functions for reading and setting GPIO pins (Jonathan Toppins) [1975007] - ice: Refactor ice_aqc_link_topo_addr (Jonathan Toppins) [1975007] - xfs: restore speculative_cow_prealloc_lifetime sysctl (Bill O'Donnell) [2015621] - xfs: Fix the free logic of state in xfs_attr_node_hasname (Bill O'Donnell) [2015621 2037498] - xfs: punch out data fork delalloc blocks on COW writeback failure (Bill O'Donnell) [2015621 2012872] - xfs: use kmem_cache_free() for kmem_cache objects (Bill O'Donnell) [2015621] - xfs: logging the on disk inode LSN can make it go backwards (Bill O'Donnell) [2015621] - xfs: only reset incore inode health state flags when reclaiming an inode (Bill O'Donnell) [2015621] - xfs: remove obsolete AGF counter debugging (Bill O'Donnell) [2015621] - xfs: Initialize xfs_alloc_arg->total correctly when allocating minlen extents (Bill O'Donnell) [2015621] - xfs: Fix dax inode extent calculation when direct write is performed on an unwritten extent (Bill O'Donnell) [2015621] - xfs: mark a data structure sick if there are cross-referencing errors (Bill O'Donnell) [2015621] - xfs: fix maxlevels comparisons in the btree staging code (Bill O'Donnell) [2015621] - xfs: fix incorrect unit conversion in scrub tracepoint (Bill O'Donnell) [2015621] - xfs: fix log intent recovery ENOSPC shutdowns when inactivating inodes (Bill O'Donnell) [2015621] - xfs: fix radix tree tag signs (Bill O'Donnell) [2015621] - xfs: force log and push AIL to clear pinned inodes when aborting mount (Bill O'Donnell) [2015621] - xfs: use current->journal_info for detecting transaction recursion (Bill O'Donnell) [2015621] - xfs: don't nest transactions when scanning for eofblocks (Bill O'Donnell) [2015621] - xfs: fix boolreturn.cocci warnings (Bill O'Donnell) [2015621] - xfs: get rid of xfs_growfs_{data,log}_t (Bill O'Donnell) [2015621] - xfs: rename `new' to `delta' in xfs_growfs_data_private() (Bill O'Donnell) [2015621] - xfs: don't bounce the iolock between free_{eof,cow}blocks (Bill O'Donnell) [2015621] - xfs: expose the blockgc workqueue knobs publicly (Bill O'Donnell) [2015621] - xfs: parallelize block preallocation garbage collection (Bill O'Donnell) [2015621] - xfs: rename block gc start and stop functions (Bill O'Donnell) [2015621] - xfs: only walk the incore inode tree once per blockgc scan (Bill O'Donnell) [2015621] - xfs: consolidate the eofblocks and cowblocks workers (Bill O'Donnell) [2015621] - xfs: consolidate incore inode radix tree posteof/cowblocks tags (Bill O'Donnell) [2015621] - xfs: remove trivial eof/cowblocks functions (Bill O'Donnell) [2015621] - xfs: hide xfs_icache_free_cowblocks (Bill O'Donnell) [2015621] - xfs: hide xfs_icache_free_eofblocks (Bill O'Donnell) [2015621] - xfs: relocate the eofb/cowb workqueue functions (Bill O'Donnell) [2015621] - xfs: set WQ_SYSFS on all workqueues in debug mode (Bill O'Donnell) [2015621] - xfs: increase the default parallelism levels of pwork clients (Bill O'Donnell) [2015621] - xfs: flush speculative space allocations when we run out of space (Bill O'Donnell) [2015621] - xfs: refactor xfs_icache_free_{eof,cow}blocks call sites (Bill O'Donnell) [2015621] - xfs: add a tracepoint for blockgc scans (Bill O'Donnell) [2015621] - xfs: flush eof/cowblocks if we can't reserve quota for chown (Bill O'Donnell) [2015621] - xfs: flush eof/cowblocks if we can't reserve quota for inode creation (Bill O'Donnell) [2015621] - xfs: flush eof/cowblocks if we can't reserve quota for file blocks (Bill O'Donnell) [2015621] - xfs: try worst case space reservation upfront in xfs_reflink_remap_extent (Bill O'Donnell) [2015621] - xfs: pass flags and return gc errors from xfs_blockgc_free_quota (Bill O'Donnell) [2015621] - xfs: move and rename xfs_inode_free_quota_blocks to avoid conflicts (Bill O'Donnell) [2015621] - xfs: xfs_inode_free_quota_blocks should scan project quota (Bill O'Donnell) [2015621] - xfs: don't stall cowblocks scan if we can't take locks (Bill O'Donnell) [2015621] - xfs: trigger all block gc scans when low on quota space (Bill O'Donnell) [2015621] - xfs: shut down the filesystem if we screw up quota reservation (Bill O'Donnell) [2015621] - xfs: rename code to error in xfs_ioctl_setattr (Bill O'Donnell) [2015621] - xfs: remove xfs_qm_vop_chown_reserve (Bill O'Donnell) [2015621] - xfs: refactor inode ownership change transaction/inode/quota allocation idiom (Bill O'Donnell) [2015621] - xfs: refactor inode creation transaction/inode/quota allocation idiom (Bill O'Donnell) [2015621] - xfs: refactor reflink functions to use xfs_trans_alloc_inode (Bill O'Donnell) [2015621] - xfs: allow reservation of rtblocks with xfs_trans_alloc_inode (Bill O'Donnell) [2015621] - xfs: refactor common transaction/inode/quota allocation idiom (Bill O'Donnell) [2015621] - xfs: reserve data and rt quota at the same time (Bill O'Donnell) [2015621] - xfs: clean up icreate quota reservation calls (Bill O'Donnell) [2015621] - xfs: remove xfs_trans_unreserve_quota_nblks completely (Bill O'Donnell) [2015621] - xfs: create convenience wrappers for incore quota block reservations (Bill O'Donnell) [2015621] - xfs: clean up quota reservation callsites (Bill O'Donnell) [2015621] - xfs: reduce quota reservation when doing a dax unwritten extent conversion (Bill O'Donnell) [2015621] - xfs: reduce exclusive locking on unaligned dio (Bill O'Donnell) [2015621] - xfs: split the unaligned DIO write code out (Bill O'Donnell) [2015621] - xfs: improve the reflink_bounce_dio_write tracepoint (Bill O'Donnell) [2015621] - xfs: simplify the read/write tracepoints (Bill O'Donnell) [2015621] - xfs: remove the buffered I/O fallback assert (Bill O'Donnell) [2015621] - xfs: cleanup the read/write helper naming (Bill O'Donnell) [2015621] - xfs: make xfs_file_aio_write_checks IOCB_NOWAIT-aware (Bill O'Donnell) [2015621] - xfs: factor out a xfs_ilock_iocb helper (Bill O'Donnell) [2015621] - xfs: Fix 'set but not used' warning in xfs_bmap_compute_alignments() (Bill O'Donnell) [2015621] - xfs: fix unused log variable in xfs_log_cover() (Bill O'Donnell) [2015621] - iomap: add a IOMAP_DIO_OVERWRITE_ONLY flag (Bill O'Donnell) [2015621] - iomap: pass a flags argument to iomap_dio_rw (Bill O'Donnell) [2015621] - iomap: rename the flags variable in __iomap_dio_rw (Bill O'Donnell) [2015621] - iomap: Allow filesystem to call iomap_dio_complete without i_rwsem (Bill O'Donnell) [2015621] - xfs: reduce ilock acquisitions in xfs_file_fsync (Bill O'Donnell) [2015621] - xfs: refactor xfs_file_fsync (Bill O'Donnell) [2015621] - xfs: cover the log on freeze instead of cleaning it (Bill O'Donnell) [2015621] - xfs: remove xfs_quiesce_attr() (Bill O'Donnell) [2015621] - xfs: remove duplicate wq cancel and log force from attr quiesce (Bill O'Donnell) [2015621] - xfs: fold sbcount quiesce logging into log covering (Bill O'Donnell) [2015621] - xfs: don't reset log idle state on covering checkpoints (Bill O'Donnell) [2015621] - xfs: cover the log during log quiesce (Bill O'Donnell) [2015621] - xfs: separate log cleaning from log quiesce (Bill O'Donnell) [2015621] - xfs: lift writable fs check up into log worker task (Bill O'Donnell) [2015621] - xfs: set inode size after creating symlink (Bill O'Donnell) [2015621] - xfs: remove a stale comment from xfs_file_aio_write_checks() (Bill O'Donnell) [2015621] - xfs: Introduce error injection to allocate only minlen size extents for files (Bill O'Donnell) [2015621] - xfs: Process allocated extent in a separate function (Bill O'Donnell) [2015621] - xfs: Compute bmap extent alignments in a separate function (Bill O'Donnell) [2015621] - xfs: Remove duplicate assert statement in xfs_bmap_btalloc() (Bill O'Donnell) [2015621] - xfs: Introduce error injection to reduce maximum inode fork extent count (Bill O'Donnell) [2015621] - xfs: Check for extent overflow when swapping extents (Bill O'Donnell) [2015621] - xfs: Check for extent overflow when remapping an extent (Bill O'Donnell) [2015621] - xfs: Check for extent overflow when moving extent from cow to data fork (Bill O'Donnell) [2015621] - xfs: Check for extent overflow when writing to unwritten extent (Bill O'Donnell) [2015621] - xfs: Check for extent overflow when adding/removing xattrs (Bill O'Donnell) [2015621] - xfs: Check for extent overflow when renaming dir entries (Bill O'Donnell) [2015621] - xfs: Check for extent overflow when removing dir entries (Bill O'Donnell) [2015621] - xfs: Check for extent overflow when adding dir entries (Bill O'Donnell) [2015621] - xfs: Check for extent overflow when punching a hole (Bill O'Donnell) [2015621] - xfs: Check for extent overflow when trivally adding a new extent (Bill O'Donnell) [2015621] - xfs: Add helper for checking per-inode extent count overflow (Bill O'Donnell) [2015621] - iwlwifi: pcie: add killer devices to the driver (Íñigo Huguet) [2043453] - iwlwifi: add support for BNJ HW (Íñigo Huguet) [2043453] - iwlwifi: Fix FW name for gl (Íñigo Huguet) [2043453] - iwlwifi: Read the correct addresses when getting the crf id (Íñigo Huguet) [2043453] - iwlwifi: pcie: add jacket bit to device configuration parsing (Íñigo Huguet) [2043453] - iwlwifi: add new ax1650 killer device (Íñigo Huguet) [2043453] - iwlwifi: add new Qu-Hr device (Íñigo Huguet) [2043453] - iwlwifi: add missing entries for Gf4 with So and SoF (Íñigo Huguet) [2043453] - iwlwifi: remove unused iwlax210_2ax_cfg_so_hr_a0 structure (Íñigo Huguet) [2043453] - iwlwifi: add support for Bz-Z HW (Íñigo Huguet) [2043453] - iwlwifi: support 4-bits in MAC step value (Íñigo Huguet) [2043453] - iwlwifi: mvm: Increase the scan timeout guard to 30 seconds (Íñigo Huguet) [2043453] - iwlwifi: mvm: Use div_s64 instead of do_div in iwl_mvm_ftm_rtt_smoothing() (Íñigo Huguet) [2043453] - mt76: mt7921: fix a possible race enabling/disabling runtime-pm (Íñigo Huguet) [2043453] - ath11k: Fix unexpected return buffer manager error for QCA6390 (Íñigo Huguet) [2043453] - ath11k: Fix napi related hang (Íñigo Huguet) [2043453] - iwlwifi: yoyo: fix issue with new DBGI_SRAM region read. (Íñigo Huguet) [2043453] - iwlwifi: pcie: make sure prph_info is set when treating wakeup IRQ (Íñigo Huguet) [2043453] - iwlwifi: mvm: fix AUX ROC removal (Íñigo Huguet) [2043453] - iwlwifi: mvm: set protected flag only for NDP ranging (Íñigo Huguet) [2043453] - iwlwifi: mvm: perform 6GHz passive scan after suspend (Íñigo Huguet) [2043453] - iwlwifi: mvm: Fix calculation of frame length (Íñigo Huguet) [2043453] - iwlwifi: mvm: test roc running status bits before removing the sta (Íñigo Huguet) [2043453] - iwlwifi: don't pass actual WGDS revision number in table_revision (Íñigo Huguet) [2043453] - iwlwifi: fix leaks/bad data after failed firmware load (Íñigo Huguet) [2043453] - iwlwifi: fix debug TLV parsing (Íñigo Huguet) [2043453] - iwlwifi: mvm: fix 32-bit build in FTM (Íñigo Huguet) [2043453] - iwlwifi: fix Bz NMI behaviour (Íñigo Huguet) [2043453] - rtlwifi: rtl8192cu: Fix WARNING when calling local_irq_restore() with interrupts enabled (Íñigo Huguet) [2043453] - rtw88: 8822c: update rx settings to prevent potential hw deadlock (Íñigo Huguet) [2043453] - rtw88: Disable PCIe ASPM while doing NAPI poll on 8821CE (Íñigo Huguet) [2043453] - ath9k: Fix out-of-bound memcpy in ath9k_hif_usb_rx_stream (Íñigo Huguet) [2043453] - ath9k_htc: fix NULL pointer dereference at ath9k_htc_tx_get_packet() (Íñigo Huguet) [2043453] - ath9k_htc: fix NULL pointer dereference at ath9k_htc_rxep() (Íñigo Huguet) [2043453] - mac80211: fix FEC flag in radio tap header (Íñigo Huguet) [2043453] - mt76: mt7921: fix possible resume failure (Íñigo Huguet) [2043453] - mt76: mt7921: move mt76_connac_mcu_set_hif_suspend to bus-related files (Íñigo Huguet) [2043453] - mt76: mt7921: fix network buffer leak by txs missing (Íñigo Huguet) [2043453] - mt76: mt7615: clear mcu error interrupt status on mt7663 (Íñigo Huguet) [2043453] - mt76: connac: fix last_chan configuration in mt76_connac_mcu_rate_txpower_band (Íñigo Huguet) [2043453] - mt76: mt7921: use correct iftype data on 6GHz cap init (Íñigo Huguet) [2043453] - mt76: mt7921: fix boolreturn.cocci warning (Íñigo Huguet) [2043453] - mt76: mt7615: fix unused tx antenna mask in testmode (Íñigo Huguet) [2043453] - mt76: fix the wiphy's available antennas to the correct value (Íñigo Huguet) [2043453] - mt76: connac: fix a theoretical NULL pointer dereference in mt76_connac_get_phy_mode (Íñigo Huguet) [2043453] - mt76: mt7921: fix possible NULL pointer dereference in mt7921_mac_write_txwi (Íñigo Huguet) [2043453] - mt76: fix possible OOB issue in mt76_calculate_default_rate (Íñigo Huguet) [2043453] - mt76: debugfs: fix queue reporting for mt76-usb (Íñigo Huguet) [2043453] - mt76: mt7915: fix SMPS operation fail (Íñigo Huguet) [2043453] - mt76: mt7915: fix return condition in mt7915_tm_reg_backup_restore() (Íñigo Huguet) [2043453] - mt76: mt7921: fix MT7921E reset failure (Íñigo Huguet) [2043453] - mt76: mt7615: fix possible deadlock while mt7615_register_ext_phy() (Íñigo Huguet) [2043453] - mt76: mt7921: drop offload_flags overwritten (Íñigo Huguet) [2043453] - mt76: mt7915: get rid of mt7915_mcu_set_fixed_rate routine (Íñigo Huguet) [2043453] - bus: mhi: core: Use correctly sized arguments for bit field (Íñigo Huguet) [2043453] - bus: mhi: core: Fix race while handling SYS_ERR at power up (Íñigo Huguet) [2043453] - bus: mhi: core: Fix reading wake_capable channel configuration (Íñigo Huguet) [2043453] - bus: mhi: core: Minor style and comment fixes (Íñigo Huguet) [2043453] - bus: mhi: pci_generic: Graceful shutdown on freeze (Íñigo Huguet) [2043453] - ath11k: Fix a NULL pointer dereference in ath11k_mac_op_hw_scan() (Íñigo Huguet) [2043453] - mt76: remove variable set but not used (Íñigo Huguet) [2043453] - ath11k: Fix deleting uninitialized kernel timer during fragment cache flush (Íñigo Huguet) [2043453] - ath11k: add spectral/CFR buffer validation support (Íñigo Huguet) [2043453] - ath11k: Fix buffer overflow when scanning with extraie (Íñigo Huguet) [2043453] - mwifiex: Fix possible ABBA deadlock (Íñigo Huguet) [2043453] - ath10k: fix scan abort when duration is set for hw scan (Íñigo Huguet) [2043453] - ath10k: Fix tx hanging (Íñigo Huguet) [2043453] - iwlwifi: acpi: fix wgds rev 3 size (Íñigo Huguet) [2043453] - iwlwifi: mvm: avoid clearing a just saved session protection id (Íñigo Huguet) [2043453] - iwlwifi: mvm: Fix wrong documentation for scan request command (Íñigo Huguet) [2043453] - iwlwifi: mvm: synchronize with FW after multicast commands (Íñigo Huguet) [2043453] - iwlwifi: mvm: fix delBA vs. NSSN queue sync race (Íñigo Huguet) [2043453] - ath11k: Fix QMI file type enum value (Íñigo Huguet) [2043453] - ath11k: add support for WCN6855 hw2.1 (Íñigo Huguet) [2043453] - ath10k: Fix the MTU size on QCA9377 SDIO (Íñigo Huguet) [2043453] - wireless: iwlwifi: Fix a double free in iwl_txq_dyn_alloc_dma (Íñigo Huguet) [2043453] - mwifiex: Ignore BTCOEX events from the 88W8897 firmware (Íñigo Huguet) [2043453] - mwifiex: Fix skb_over_panic in mwifiex_usb_recv() (Íñigo Huguet) [2043453] - ath11k: Use host CE parameters for CE interrupts configuration (Íñigo Huguet) [2043453] - ath11k: Fix mon status ring rx tlv processing (Íñigo Huguet) [2043453] - ath11k: skip sending vdev down for channel switch (Íñigo Huguet) [2043453] - ath11k: fix read fail for htt_stats and htt_peer_stats for single pdev (Íñigo Huguet) [2043453] - ath11k: Set IRQ affinity to CPU0 in case of one MSI vector (Íñigo Huguet) [2043453] - ath11k: do not restore ASPM in case of single MSI vector (Íñigo Huguet) [2043453] - ath11k: add support one MSI vector (Íñigo Huguet) [2043453] - ath11k: refactor multiple MSI vector implementation (Íñigo Huguet) [2043453] - ath11k: use ATH11K_PCI_IRQ_DP_OFFSET for DP IRQ (Íñigo Huguet) [2043453] - ath11k: add CE and ext IRQ flag to indicate irq_handler (Íñigo Huguet) [2043453] - ath11k: get msi_data again after request_irq is called (Íñigo Huguet) [2043453] - ath9k: fix intr_txqs setting (Íñigo Huguet) [2043453] - ath11k: add hw_param for wakeup_mhi (Íñigo Huguet) [2043453] - ath11k: reset RSN/WPA present state for open BSS (Íñigo Huguet) [2043453] - ath11k: clear the keys properly via DISABLE_KEY (Íñigo Huguet) [2043453] - ath11k: Fix crash caused by uninitialized TX ring (Íñigo Huguet) [2043453] - ath11k: use cache line aligned buffers for dbring (Íñigo Huguet) [2043453] - ath11k: Fix ETSI regd with weather radar overlap (Íñigo Huguet) [2043453] - ath11k: fix FCS_ERR flag in radio tap header (Íñigo Huguet) [2043453] - ath11k: fix the value of msecs_to_jiffies in ath11k_debugfs_fw_stats_request (Íñigo Huguet) [2043453] - ath11k: fix firmware crash during channel switch (Íñigo Huguet) [2043453] - ath11k: Fix 'unused-but-set-parameter' error (Íñigo Huguet) [2043453] - ath11k: fix DMA memory free in CE pipe cleanup (Íñigo Huguet) [2043453] - ath11k: fix error routine when fallback of add interface fails (Íñigo Huguet) [2043453] - ath11k: fix fw crash due to peer get authorized before key install (Íñigo Huguet) [2043453] - ath11k: Clear auth flag only for actual association in security mode (Íñigo Huguet) [2043453] - ath11k: Send PPDU_STATS_CFG with proper pdev mask to firmware (Íñigo Huguet) [2043453] - ath11k: set correct NL80211_FEATURE_DYNAMIC_SMPS for WCN6855 (Íñigo Huguet) [2043453] - mac80211: mesh: embedd mesh_paths and mpp_paths into ieee80211_if_mesh (Íñigo Huguet) [2043453] - mac80211: initialize variable have_higher_than_11mbit (Íñigo Huguet) [2043453] - mac80211: fix locking in ieee80211_start_ap error path (Íñigo Huguet) [2043453] - mac80211: do drv_reconfig_complete() before restarting all (Íñigo Huguet) [2043453] - mac80211: mark TX-during-stop for TX in in_reconfig (Íñigo Huguet) [2043453] - mac80211: update channel context before station state (Íñigo Huguet) [2043453] - mac80211: Fix the size used for building probe request (Íñigo Huguet) [2043453] - mac80211: fix lookup when adding AddBA extension element (Íñigo Huguet) [2043453] - mac80211: validate extended element ID is present (Íñigo Huguet) [2043453] - cfg80211: Acquire wiphy mutex on regulatory work (Íñigo Huguet) [2043453] - mac80211: agg-tx: don't schedule_and_wake_txq() under sta->lock (Íñigo Huguet) [2043453] - nl80211: remove reload flag from regulatory_request (Íñigo Huguet) [2043453] - mac80211: send ADDBA requests using the tid/queue of the aggregation session (Íñigo Huguet) [2043453] - bus: mhi: core: Add support for forced PM resume (Íñigo Huguet) [2043453] - mt76: mt7921: fix build regression (Íñigo Huguet) [2043453] - brcmsmac: rework LED dependencies (Íñigo Huguet) [2043453] - iwlwifi: fix LED dependencies (Íñigo Huguet) [2043453] - iwlwifi: mvm: don't crash on invalid rate w/o STA (Íñigo Huguet) [2043453] - bus: mhi: pci_generic: Fix device recovery failed issue (Íñigo Huguet) [2043453] - mt76: fix key pointer overwrite in mt7921s_write_txwi/mt7663_usb_sdio_write_txwi (Íñigo Huguet) [2043453] - rt2x00: do not mark device gone on EPROTO errors during start (Íñigo Huguet) [2043453] - nl80211: reset regdom when reloading regdb (Íñigo Huguet) [2043453] - mac80211: add docs for ssn in struct tid_ampdu_tx (Íñigo Huguet) [2043453] - mac80211: fix a memory leak where sta_info is not freed (Íñigo Huguet) [2043453] - mac80211: set up the fwd_skb->dev for mesh forwarding (Íñigo Huguet) [2043453] - mac80211: fix regression in SSN handling of addba tx (Íñigo Huguet) [2043453] - mac80211: fix rate control for retransmitted frames (Íñigo Huguet) [2043453] - mac80211: track only QoS data frames for admission control (Íñigo Huguet) [2043453] - mac80211: fix TCP performance on mesh interface (Íñigo Huguet) [2043453] - mt76: fix possible pktid leak (Íñigo Huguet) [2043453] - mt76: fix timestamp check in tx_status (Íñigo Huguet) [2043453] - mt76: mt7915: fix NULL pointer dereference in mt7915_get_phy_mode (Íñigo Huguet) [2043453] - iwlwifi: Fix memory leaks in error handling path (Íñigo Huguet) [2043453] - iwlwifi: fix warnings produced by kernel debug options (Íñigo Huguet) [2043453] - iwlwifi: mvm: retry init flow if failed (Íñigo Huguet) [2043453] - iwlwifi: Fix missing error code in iwl_pci_probe() (Íñigo Huguet) [2043453] - iwlwifi: pcie: fix constant-conversion warning (Íñigo Huguet) [2043453] - mac80211: fix throughput LED trigger (Íñigo Huguet) [2043453] - mac80211: fix monitor_sdata RCU/locking assertions (Íñigo Huguet) [2043453] - mac80211: drop check for DONT_REORDER in __ieee80211_select_queue (Íñigo Huguet) [2043453] - mac80211: fix radiotap header generation (Íñigo Huguet) [2043453] - mac80211: do not access the IV when it was stripped (Íñigo Huguet) [2043453] - nl80211: fix radio statistics in survey dump (Íñigo Huguet) [2043453] - cfg80211: call cfg80211_stop_ap when switch from P2P_GO type (Íñigo Huguet) [2043453] - mwifiex: fix division by zero in fw download path (Íñigo Huguet) [2043453] - iwlwifi: bump FW API to 67 for AX devices (Íñigo Huguet) [2043453] - iwlwifi: mvm: extend session protection on association (Íñigo Huguet) [2043453] - iwlwifi: rename CHANNEL_SWITCH_NOA_NOTIF to CHANNEL_SWITCH_START_NOTIF (Íñigo Huguet) [2043453] - iwlwifi: mvm: remove session protection on disassoc (Íñigo Huguet) [2043453] - iwlwifi: mvm: fix WGDS table print in iwl_mvm_chub_update_mcc() (Íñigo Huguet) [2043453] - iwlwifi: rename GEO_TX_POWER_LIMIT to PER_CHAIN_LIMIT_OFFSET_CMD (Íñigo Huguet) [2043453] - iwlwifi: mvm: d3: use internal data representation (Íñigo Huguet) [2043453] - iwlwifi: mvm: update RFI TLV (Íñigo Huguet) [2043453] - iwlwifi: mvm: don't get address of mvm->fwrt just to dereference as a pointer (Íñigo Huguet) [2043453] - iwlwifi: yoyo: support for ROM usniffer (Íñigo Huguet) [2043453] - iwlwifi: fw: uefi: add missing include guards (Íñigo Huguet) [2043453] - iwlwifi: dump host monitor data when NIC doesn't init (Íñigo Huguet) [2043453] - iwlwifi: pcie: simplify iwl_pci_find_dev_info() (Íñigo Huguet) [2043453] - iwlwifi: ACPI: support revision 3 WGDS tables (Íñigo Huguet) [2043453] - iwlwifi: pcie: update sw error interrupt for BZ family (Íñigo Huguet) [2043453] - iwlwifi: add new pci SoF with JF (Íñigo Huguet) [2043453] - iwlwifi: mvm: Use all Rx chains for roaming scan (Íñigo Huguet) [2043453] - iwlwifi: pcie: remove two duplicate PNJ device entries (Íñigo Huguet) [2043453] - iwlwifi: pcie: refactor dev_info lookup (Íñigo Huguet) [2043453] - iwlwifi: pcie: remove duplicate entry (Íñigo Huguet) [2043453] - iwlwifi: pcie: fix killer name matching for AX200 (Íñigo Huguet) [2043453] - iwlwifi: mvm: fix some kerneldoc issues (Íñigo Huguet) [2043453] - ath10k: fix division by zero in send path (Íñigo Huguet) [2043453] - ath10k: fix control-message timeout (Íñigo Huguet) [2043453] - ath10k: fix module load regression with iram-recovery feature (Íñigo Huguet) [2043453] - ath10k: fix invalid dma_addr_t token assignment (Íñigo Huguet) [2043453] - ath11k: change return buffer manager for QCA6390 (Íñigo Huguet) [2043453] - mt76: connac: fix unresolved symbols when CONFIG_PM is unset (Íñigo Huguet) [2043453] - mt76: Make use of the helper macro kthread_run() (Íñigo Huguet) [2043453] - mt76: Print error message when reading EEPROM from mtd failed (Íñigo Huguet) [2043453] - mt76: mt7921: disable 4addr capability (Íñigo Huguet) [2043453] - mt76: mt7915: add debugfs knobs for MCU utilization (Íñigo Huguet) [2043453] - mt76: mt7915: add WA firmware log support (Íñigo Huguet) [2043453] - mt76: mt7915: fix endiannes warning mt7915_mcu_beacon_check_caps (Íñigo Huguet) [2043453] - mt76: mt7915: rework debugfs fixed-rate knob (Íñigo Huguet) [2043453] - mt76: mt7915: rework .set_bitrate_mask() to support more options (Íñigo Huguet) [2043453] - mt76: mt7915: remove mt7915_mcu_add_he() (Íñigo Huguet) [2043453] - mt76: mt7615: apply cached RF data for DBDC (Íñigo Huguet) [2043453] - mt76: mt7615: mt7622: fix ibss and meshpoint (Íñigo Huguet) [2043453] - mt76: mt7921: fix Wformat build warning (Íñigo Huguet) [2043453] - mt76: mt7921: fix mt7921s Kconfig (Íñigo Huguet) [2043453] - iwlwifi: pnvm: print out the version properly (Íñigo Huguet) [2043453] - iwlwifi: dbg: treat non active regions as unsupported regions (Íñigo Huguet) [2043453] - iwlwifi: mvm: Read acpi dsm to get channel activation bitmap (Íñigo Huguet) [2043453] - iwlwifi: add new device id 7F70 (Íñigo Huguet) [2043453] - iwlwifi: mvm: improve log when processing CSA (Íñigo Huguet) [2043453] - iwlwifi: mvm: set BT-coex high priority for 802.1X/4-way-HS (Íñigo Huguet) [2043453] - iwlwifi: dbg: treat dbgc allocation failure when tlv is missing (Íñigo Huguet) [2043453] - iwlwifi: add new killer devices to the driver (Íñigo Huguet) [2043453] - iwlwifi: mvm: set inactivity timeouts also for PS-poll (Íñigo Huguet) [2043453] - iwlwifi: pcie: try to grab NIC access early (Íñigo Huguet) [2043453] - iwlwifi: mvm: reduce WARN_ON() in TX status path (Íñigo Huguet) [2043453] - iwlwifi: allow rate-limited error messages (Íñigo Huguet) [2043453] - iwlwifi: mvm: remove session protection after auth/assoc (Íñigo Huguet) [2043453] - iwlwifi: remove redundant iwl_finish_nic_init() argument (Íñigo Huguet) [2043453] - iwlwifi: mvm: Add RTS and CTS flags to iwl_tx_cmd_flags. (Íñigo Huguet) [2043453] - iwlwifi: mvm: remove csi from iwl_mvm_pass_packet_to_mac80211() (Íñigo Huguet) [2043453] - iwlwifi: mvm: Support new rate_n_flags for REPLY_RX_MPDU_CMD and RX_NO_DATA_NOTIF (Íñigo Huguet) [2043453] - iwlwifi: mvm: Support new TX_RSP and COMPRESSED_BA_RES versions (Íñigo Huguet) [2043453] - iwlwifi: mvm: Support new version of BEACON_TEMPLATE_CMD. (Íñigo Huguet) [2043453] - iwlwifi: mvm: Add support for new rate_n_flags in tx_cmd. (Íñigo Huguet) [2043453] - iwlwifi: BZ Family SW reset support (Íñigo Huguet) [2043453] - iwlwifi: BZ Family BUS_MASTER_DISABLE_REQ code duplication (Íñigo Huguet) [2043453] - iwlwifi: yoyo: fw debug config from context info and preset (Íñigo Huguet) [2043453] - iwlwifi: mvm: Support new version of ranging response notification (Íñigo Huguet) [2043453] - iwlwifi: mvm: Support version 3 of tlc_update_notif. (Íñigo Huguet) [2043453] - iwlwifi: mvm: convert old rate & flags to the new format. (Íñigo Huguet) [2043453] - iwlwifi: mvm: add definitions for new rate & flags (Íñigo Huguet) [2043453] - iwlwifi: mvm: update definitions due to new rate & flags (Íñigo Huguet) [2043453] - iwlwifi: mvm: scrub key material in firmware dumps (Íñigo Huguet) [2043453] - iwlwifi: parse debug exclude data from firmware file (Íñigo Huguet) [2043453] - iwlwifi: fw dump: add infrastructure for dump scrubbing (Íñigo Huguet) [2043453] - iwlwifi: mvm: correct sta-state logic for TDLS (Íñigo Huguet) [2043453] - iwlwifi: api: fix struct iwl_wowlan_status_v7 kernel-doc (Íñigo Huguet) [2043453] - iwlwifi: fix fw/img.c license statement (Íñigo Huguet) [2043453] - iwlwifi: remove contact information (Íñigo Huguet) [2043453] - iwlwifi: remove MODULE_AUTHOR() statements (Íñigo Huguet) [2043453] - iwlwifi: api: remove unused RX status bits (Íñigo Huguet) [2043453] - iwlwifi: add some missing kernel-doc in struct iwl_fw (Íñigo Huguet) [2043453] - iwlwifi: mvm: Remove antenna c references (Íñigo Huguet) [2043453] - iwlwifi: mvm: add support for 160Mhz in ranging measurements (Íñigo Huguet) [2043453] - iwlwifi: add vendor specific capabilities for some RFs (Íñigo Huguet) [2043453] - iwlwifi: mvm: add lmac/umac PC info in case of error (Íñigo Huguet) [2043453] - iwlwifi: mvm: disable RX-diversity in powersave (Íñigo Huguet) [2043453] - iwlwifi: mvm: fix ieee80211_get_he_iftype_cap() iftype (Íñigo Huguet) [2043453] - iwlwifi: Start scratch debug register for Bz family (Íñigo Huguet) [2043453] - iwlwifi: Add support for more BZ HWs (Íñigo Huguet) [2043453] - iwlwifi: Add support for getting rf id with blank otp (Íñigo Huguet) [2043453] - cfg80211: fix kernel-doc for MBSSID EMA (Íñigo Huguet) [2043453] - mac80211: Prevent AP probing during suspend (Íñigo Huguet) [2043453] - nl80211: Add LC placeholder band definition to nl80211_band (Íñigo Huguet) [2043453] - mac80211: split beacon retrieval functions (Íñigo Huguet) [2043453] - cfg80211: separate get channel number from ies (Íñigo Huguet) [2043453] - mac80211: use ieee80211_bss_get_elem() in most places (Íñigo Huguet) [2043453] - cfg80211: scan: use element finding functions in easy cases (Íñigo Huguet) [2043453] - nl80211: use element finding functions (Íñigo Huguet) [2043453] - mac80211: fils: use cfg80211_find_ext_elem() (Íñigo Huguet) [2043453] - mac80211: fix memory leaks with element parsing (Íñigo Huguet) [2043453] - cfg80211: prepare for const netdev->dev_addr (Íñigo Huguet) [2043453] - mac80211: use eth_hw_addr_set() (Íñigo Huguet) [2043453] - wireless: mac80211_hwsim: use eth_hw_addr_set() (Íñigo Huguet) [2043453] - mac80211: debugfs: calculate free buffer size correctly (Íñigo Huguet) [2043453] - fq_codel: generalise ce_threshold marking for subset of traffic (Íñigo Huguet) [2043453] - wl3501_cs: use eth_hw_addr_set() (Íñigo Huguet) [2043453] - ray_cs: use eth_hw_addr_set() (Íñigo Huguet) [2043453] - brcmfmac: prepare for const netdev->dev_addr (Íñigo Huguet) [2043453] - wireless: use eth_hw_addr_set() instead of ether_addr_copy() (Íñigo Huguet) [2043453] - wireless: use eth_hw_addr_set() (Íñigo Huguet) [2043453] - iwlwifi: cfg: set low-latency-xtal for some integrated So devices (Íñigo Huguet) [2043453] - iwlwifi: pnvm: read EFI data only if long enough (Íñigo Huguet) [2043453] - iwlwifi: pnvm: don't kmemdup() more than we have (Íñigo Huguet) [2043453] - iwlwifi: change all JnP to NO-160 configuration (Íñigo Huguet) [2043453] - iwlwifi: mvm: reset PM state on unsuccessful resume (Íñigo Huguet) [2043453] - mwifiex: Deactive host sleep using HSCFG after it was activated manually (Íñigo Huguet) [2043453] - mwifiex: Send DELBA requests according to spec (Íñigo Huguet) [2043453] - mwifiex: Fix an incorrect comment (Íñigo Huguet) [2043453] - mwifiex: Log an error on command failure during key-material upload (Íñigo Huguet) [2043453] - mwifiex: Don't log error on suspend if wake-on-wlan is disabled (Íñigo Huguet) [2043453] - mt76: mt7915: change max rx len limit of hw modules (Íñigo Huguet) [2043453] - mt76: mt7915: fix missing HE phy cap (Íñigo Huguet) [2043453] - mt76: mt7915: rework mt7915_mcu_sta_muru_tlv() (Íñigo Huguet) [2043453] - mt76: mt7915: enable HE UL MU-MIMO (Íñigo Huguet) [2043453] - mt76: mt7921: add per-vif counters in ethtool (Íñigo Huguet) [2043453] - mt76: mt7921: move tx amsdu stats in mib_stats (Íñigo Huguet) [2043453] - mt76: mt7921: add sta stats accounting in mt7921_mac_add_txs_skb (Íñigo Huguet) [2043453] - mt76: mt7921: introduce stats reporting through ethtool (Íñigo Huguet) [2043453] - mt76: mt7921: add some more MIB counters (Íñigo Huguet) [2043453] - mt76: do not reset MIB counters in get_stats callback (Íñigo Huguet) [2043453] - mt76: mt7915: move tx amsdu stats in mib_stats (Íñigo Huguet) [2043453] - mt76: mt7915: run mt7915_get_et_stats holding mt76 mutex (Íñigo Huguet) [2043453] - mt76: move mt76_ethtool_worker_info in mt76 module (Íñigo Huguet) [2043453] - mt76: move mt76_sta_stats in mt76.h (Íñigo Huguet) [2043453] - mt76: mt76x0: correct VHT MCS 8/9 tx power eeprom offset (Íñigo Huguet) [2043453] - mt76: mt7921s: add reset support (Íñigo Huguet) [2043453] - mt76: mt7921: introduce mt7921s support (Íñigo Huguet) [2043453] - mt76: mt7921: refactor mt7921_mcu_send_message (Íñigo Huguet) [2043453] - mt76: mt7921: rely on mcu_get_nic_capability (Íñigo Huguet) [2043453] - mt76: connac: extend mcu_get_nic_capability (Íñigo Huguet) [2043453] - mt76: sdio: extend sdio module to support CONNAC2 (Íñigo Huguet) [2043453] - mt76: sdio: introduce parse_irq callback (Íñigo Huguet) [2043453] - mt76: sdio: move common code in mt76_sdio module (Íñigo Huguet) [2043453] - mt76: mt7921: use physical addr to unify register access (Íñigo Huguet) [2043453] - mt76: mt7921: make all event parser reusable between mt7921s and mt7921e (Íñigo Huguet) [2043453] - mt76: mt7663s: rely on mcu reg access utility (Íñigo Huguet) [2043453] - mt76: connac: move mcu reg access utility routines in mt76_connac_lib module (Íñigo Huguet) [2043453] - mt76: mt7921: add MT7921_COMMON module (Íñigo Huguet) [2043453] - mt76: mt7921: refactor init.c to be bus independent (Íñigo Huguet) [2043453] - mt76: mt7921: refactor mcu.c to be bus independent (Íñigo Huguet) [2043453] - mt76: mt7921: refactor dma.c to be pcie specific (Íñigo Huguet) [2043453] - mt76: mt7921: refactor mac.c to be bus independent (Íñigo Huguet) [2043453] - mt76: mt7921: add MU EDCA cmd support (Íñigo Huguet) [2043453] - mt76: mt7915: remove dead code in debugfs code (Íñigo Huguet) [2043453] - mt76: sdio: export mt76s_alloc_rx_queue and mt76s_alloc_tx routines (Íñigo Huguet) [2043453] - mt76: mt7915: improve code readability for xmit-queue handler (Íñigo Huguet) [2043453] - mt76: mt7915: introduce mt76 debugfs sub-dir for ext-phy (Íñigo Huguet) [2043453] - mt76: rely on phy pointer in mt76_register_debugfs_fops routine signature (Íñigo Huguet) [2043453] - mt76: mt7915: set muru platform type (Íñigo Huguet) [2043453] - mt76: mt7915: set VTA bit in tx descriptor (Íñigo Huguet) [2043453] - mt76: mt7915: fix muar_idx in mt7915_mcu_alloc_sta_req() (Íñigo Huguet) [2043453] - mt76: mt7915: rework starec TLV tags (Íñigo Huguet) [2043453] - mt76: mt7915: fix sta_rec_wtbl tag len (Íñigo Huguet) [2043453] - mt76: mt7915: improve starec readability of txbf (Íñigo Huguet) [2043453] - mt76: mt7915: fix txbf starec TLV issues (Íñigo Huguet) [2043453] - mt76: mt7915: introduce mt7915_mcu_beacon_check_caps() (Íñigo Huguet) [2043453] - mt76: connac: fix possible NULL pointer dereference in mt76_connac_get_phy_mode_v2 (Íñigo Huguet) [2043453] - mt76: do not access 802.11 header in ccmp check for 802.3 rx skbs (Íñigo Huguet) [2043453] - mt76: use a separate CCMP PN receive counter for management frames (Íñigo Huguet) [2043453] - mt76: mt7921: add delay config for sched scan (Íñigo Huguet) [2043453] - mt76: mt7615: fix monitor mode tear down crash (Íñigo Huguet) [2043453] - mt76: debugfs: improve queue node readability (Íñigo Huguet) [2043453] - mt76: mt7915: add twt_stats knob in debugfs (Íñigo Huguet) [2043453] - mt76: mt7915: enable twt responder capability (Íñigo Huguet) [2043453] - mt76: mt7915: introduce mt7915_mac_add_twt_setup routine (Íñigo Huguet) [2043453] - mt76: mt7915: introduce mt7915_mcu_twt_agrt_update mcu command (Íñigo Huguet) [2043453] - mt76: mt7915: introduce __mt7915_get_tsf routine (Íñigo Huguet) [2043453] - mt76: drop MCU header size from buffer size in __mt76_mcu_send_firmware (Íñigo Huguet) [2043453] - mt76: introduce __mt76_mcu_send_firmware routine (Íñigo Huguet) [2043453] - mt76: support reading EEPROM data embedded in fdt (Íñigo Huguet) [2043453] - mt76: schedule status timeout at dma completion (Íñigo Huguet) [2043453] - mt76: substitute sk_buff_head status_list with spinlock_t status_lock (Íñigo Huguet) [2043453] - mt76: remove mt76_wcid pointer from mt76_tx_status_check signature (Íñigo Huguet) [2043453] - mt76: introduce packet_id idr (Íñigo Huguet) [2043453] - mt76: mt7921: add 6GHz support (Íñigo Huguet) [2043453] - mt76: add 6GHz support (Íñigo Huguet) [2043453] - mt76: connac: enable hw amsdu @ 6GHz (Íñigo Huguet) [2043453] - mt76: connac: add 6GHz support to mt76_connac_mcu_uni_add_bss (Íñigo Huguet) [2043453] - mt76: connac: add 6GHz support to mt76_connac_mcu_sta_tlv (Íñigo Huguet) [2043453] - mt76: connac: set 6G phymode in single-sku support (Íñigo Huguet) [2043453] - mt76: connac: add 6GHz support to mt76_connac_mcu_set_channel_domain (Íñigo Huguet) [2043453] - mt76: connac: enable 6GHz band for hw scan (Íñigo Huguet) [2043453] - mt76: connac: set 6G phymode in mt76_connac_get_phy_mode{,v2} (Íñigo Huguet) [2043453] - mt76: mt7915: add mib counters to ethtool stats (Íñigo Huguet) [2043453] - mt76: mt7915: add more MIB registers (Íñigo Huguet) [2043453] - mt76: mt7915: add tx mu/su counters to mib (Íñigo Huguet) [2043453] - mt76: mt7915: add some per-station tx stats to ethtool (Íñigo Huguet) [2043453] - mt76: mt7915: add tx stats gathered from tx-status callbacks (Íñigo Huguet) [2043453] - mt76: mt7915: add ethtool stats support (Íñigo Huguet) [2043453] - mt76: mt7921: fix retrying release semaphore without end (Íñigo Huguet) [2043453] - mt76: mt7921: robustify hardware initialization flow (Íñigo Huguet) [2043453] - mt76: mt7915: fix possible infinite loop release semaphore (Íñigo Huguet) [2043453] - mt76: mt7915: honor all possible error conditions in mt7915_mcu_init() (Íñigo Huguet) [2043453] - mt76: move spin_lock_bh to spin_lock in tasklet (Íñigo Huguet) [2043453] - mt76: mt7921: remove mt7921_sta_stats (Íñigo Huguet) [2043453] - mt76: mt7921: remove mcu rate reporting code (Íñigo Huguet) [2043453] - mt76: mt7921: report tx rate directly from tx status (Íñigo Huguet) [2043453] - mt76: mt7921: add support for tx status reporting (Íñigo Huguet) [2043453] - mt76: mt7921: start reworking tx rate reporting (Íñigo Huguet) [2043453] - mt76: mt7615: fix hwmon temp sensor mem use-after-free (Íñigo Huguet) [2043453] - mt76: mt7915: fix hwmon temp sensor mem use-after-free (Íñigo Huguet) [2043453] - mt76: mt7915: enable configured beacon tx rate (Íñigo Huguet) [2043453] - mt76: disable BH around napi_schedule() calls (Íñigo Huguet) [2043453] - mt76: fill boottime_ns in Rx path (Íñigo Huguet) [2043453] - mt76: switch from 'pci_' to 'dma_' API (Íñigo Huguet) [2043453] - mt76: fix boolreturn.cocci warnings (Íñigo Huguet) [2043453] - mt76: mt7921: update mib counters dumping phy stats (Íñigo Huguet) [2043453] - mt76: mt7921: always wake device if necessary in debugfs (Íñigo Huguet) [2043453] - mt76: mt7915: rename debugfs tx-queues (Íñigo Huguet) [2043453] - mt76: mt7915: rework debugfs queue info (Íñigo Huguet) [2043453] - mt76: mt7921: move mt7921_queue_rx_skb to mac.c (Íñigo Huguet) [2043453] - mt76: mt7915: fix WMM index on DBDC cards (Íñigo Huguet) [2043453] - mt76: mt7915: improve code readability in mt7915_mcu_sta_bfer_ht (Íñigo Huguet) [2043453] - mt76: mt7915: introduce bss coloring support (Íñigo Huguet) [2043453] - mt76: mt7915: add LED support (Íñigo Huguet) [2043453] - mt76: mt7915: fix potential NPE in TXS processing (Íñigo Huguet) [2043453] - mt76: mt7915: fix he_mcs capabilities for 160mhz (Íñigo Huguet) [2043453] - mt76: use IEEE80211_OFFLOAD_ENCAP_ENABLED instead of MT_DRV_AMSDU_OFFLOAD (Íñigo Huguet) [2043453] - mt76: mt7915: update mac timing settings (Íñigo Huguet) [2043453] - mt76: mt7921: fix endianness warnings in mt7921_mac_decode_he_mu_radiotap (Íñigo Huguet) [2043453] - mt76: mt7921: fix kernel warning from cfg80211_calculate_bitrate (Íñigo Huguet) [2043453] - mt76: mt7921: fix firmware usage of RA info using legacy rates (Íñigo Huguet) [2043453] - mt76: mt7915: add HE-LTF into fixed rate command (Íñigo Huguet) [2043453] - mt76: mt7921: report HE MU radiotap (Íñigo Huguet) [2043453] - mt76: mt7615: move mt7615_mcu_set_p2p_oppps in mt76_connac module (Íñigo Huguet) [2043453] - mt76: overwrite default reg_ops if necessary (Íñigo Huguet) [2043453] - mt76: mt7921: introduce mt7921_mcu_set_beacon_filter utility routine (Íñigo Huguet) [2043453] - mt76: mt7921: get rid of mt7921_mac_set_beacon_filter (Íñigo Huguet) [2043453] - mt76: mt7921: get rid of monitor_vif (Íñigo Huguet) [2043453] - mt76: connac: add support for limiting to maximum regulatory Tx power (Íñigo Huguet) [2043453] - mt76: connac: fix GTK rekey offload failure on WPA mixed mode (Íñigo Huguet) [2043453] - mt76: mt7921: fix dma hang in rmmod (Íñigo Huguet) [2043453] - mt76: add support for setting mcast rate (Íñigo Huguet) [2043453] - mt76: mt7915: fix bit fields for HT rate idx (Íñigo Huguet) [2043453] - mt76: mt7915: switch proper tx arbiter mode in testmode (Íñigo Huguet) [2043453] - mt76: mt7915: fix potential overflow of eeprom page index (Íñigo Huguet) [2043453] - mt76: mt7921: send EAPOL frames at lowest rate (Íñigo Huguet) [2043453] - mt76: mt7915: send EAPOL frames at lowest rate (Íñigo Huguet) [2043453] - mt76: mt7915: add control knobs for thermal throttling (Íñigo Huguet) [2043453] - mt76: mt7921: Add mt7922 support (Íñigo Huguet) [2043453] - mt76: mt7615: fix skb use-after-free on mac reset (Íñigo Huguet) [2043453] - mt76: mt7921: Fix out of order process by invalid event pkt (Íñigo Huguet) [2043453] - mt76: mt7915: fix mgmt frame using unexpected bitrate (Íñigo Huguet) [2043453] - mt76: mt7921: fix mgmt frame using unexpected bitrate (Íñigo Huguet) [2043453] - mt76: add mt76_default_basic_rate more devices can rely on (Íñigo Huguet) [2043453] - mt76: mt7921: introduce testmode support (Íñigo Huguet) [2043453] - mt76: mt7915: remove mt7915_sta_stats (Íñigo Huguet) [2043453] - mt76: mt7915: report tx rate directly from tx status (Íñigo Huguet) [2043453] - mt76: mt7915: cleanup -Wunused-but-set-variable (Íñigo Huguet) [2043453] - mt76: mt7915: take RCU read lock when calling ieee80211_bss_get_elem() (Íñigo Huguet) [2043453] - mt76: mt7915: fix an off-by-one bound check (Íñigo Huguet) [2043453] - mt76: mt7921: add .set_sar_specs support (Íñigo Huguet) [2043453] - mt76: mt7915: adapt new firmware to update BA winsize for Rx session (Íñigo Huguet) [2043453] - mt76: mt7915: report HE MU radiotap (Íñigo Huguet) [2043453] - mt76: mt76x02: fix endianness warnings in mt76x02_mac.c (Íñigo Huguet) [2043453] - mt76: mt7921: fix survey-dump reporting (Íñigo Huguet) [2043453] - mt76: fix build error implicit enumeration conversion (Íñigo Huguet) [2043453] - mt76: mt7921: enable aspm by default (Íñigo Huguet) [2043453] - mt76: connac: fix mt76_connac_gtk_rekey_tlv usage (Íñigo Huguet) [2043453] - mt76: mt7915: fix calling mt76_wcid_alloc with incorrect parameter (Íñigo Huguet) [2043453] - mt76: mt7915: fix info leak in mt7915_mcu_set_pre_cal() (Íñigo Huguet) [2043453] - mt76: mt7615: fix endianness warning in mt7615_mac_write_txwi (Íñigo Huguet) [2043453] - mt76: mt7921: fix endianness warning in mt7921_update_txs (Íñigo Huguet) [2043453] - mt76: mt7915: fix endianness warning in mt7915_mac_add_txs_skb (Íñigo Huguet) [2043453] - mt76: mt7921: avoid unnecessary spin_lock/spin_unlock in mt7921_mcu_tx_done_event (Íñigo Huguet) [2043453] - mt76: mt7921: fix endianness in mt7921_mcu_tx_done_event (Íñigo Huguet) [2043453] - mwifiex: Try waking the firmware until we get an interrupt (Íñigo Huguet) [2043453] - mwifiex: Read a PCI register after writing the TX ring write pointer (Íñigo Huguet) [2043453] - fq_codel: implement L4S style ce_threshold_ect1 marking (Íñigo Huguet) [2043453] - net: add skb_get_dsfield() helper (Íñigo Huguet) [2043453] - wireless: Remove redundant 'flush_workqueue()' calls (Íñigo Huguet) [2043453] - mt7601u: Remove redundant initialization of variable ret (Íñigo Huguet) [2043453] - rtlwifi: rtl8192ee: Remove redundant initialization of variable version (Íñigo Huguet) [2043453] - ath10k: fix max antenna gain unit (Íñigo Huguet) [2043453] - ath9k: fix an IS_ERR() vs NULL check (Íñigo Huguet) [2043453] - ath11k: Identify DFS channel when sending scan channel list command (Íñigo Huguet) [2043453] - ath9k: support DT ieee80211-freq-limit property to limit channels (Íñigo Huguet) [2043453] - ath11k: Change number of TCL rings to one for QCA6390 (Íñigo Huguet) [2043453] - ath11k: Handle MSI enablement during rmmod and SSR (Íñigo Huguet) [2043453] - ath: dfs_pattern_detector: Fix possible null-pointer dereference in channel_detector_create() (Íñigo Huguet) [2043453] - ath11k: Use kcalloc() instead of kzalloc() (Íñigo Huguet) [2043453] - ath11k: Remove redundant assignment to variable fw_size (Íñigo Huguet) [2043453] - ath11k: fix m68k and xtensa build failure in ath11k_peer_assoc_h_smps() (Íñigo Huguet) [2043453] - ath11k: Fix spelling mistake "incompaitiblity" -> "incompatibility" (Íñigo Huguet) [2043453] - ath11k: Remove unused variable in ath11k_dp_rx_mon_merg_msdus() (Íñigo Huguet) [2043453] - ath9k: Fix potential interrupt storm on queue reset (Íñigo Huguet) [2043453] - ath9k: add option to reset the wifi chip via debugfs (Íñigo Huguet) [2043453] - ath10k: Don't always treat modem stop events as crashes (Íñigo Huguet) [2043453] - rtl8xxxu: Use lower tx rates for the ack packet (Íñigo Huguet) [2043453] - brcmfmac: Add DMI nvram filename quirk for Cyberbook T116 tablet (Íñigo Huguet) [2043453] - rtw88: refine fw_crash debugfs to show non-zero while triggering (Íñigo Huguet) [2043453] - rtw88: fix RX clock gate setting while fifo dump (Íñigo Huguet) [2043453] - net: qrtr: combine nameservice into main module (Íñigo Huguet) [2043453] - ath10k: sdio: Add missing BH locking around napi_schdule() (Íñigo Huguet) [2043453] - ath10k: Fix missing frame timestamp for beacon/probe-resp (Íñigo Huguet) [2043453] - ath10k: high latency fixes for beacon buffer (Íñigo Huguet) [2043453] - ath11k: Change DMA_FROM_DEVICE to DMA_TO_DEVICE when map reinjected packets (Íñigo Huguet) [2043453] - ath11k: support SMPS configuration for 6 GHz (Íñigo Huguet) [2043453] - ath11k: add 6 GHz params in peer assoc command (Íñigo Huguet) [2043453] - ieee80211: Add new A-MPDU factor macro for HE 6 GHz peer caps (Íñigo Huguet) [2043453] - ath11k: indicate to mac80211 scan complete with aborted flag for ATH11K_SCAN_STARTING state (Íñigo Huguet) [2043453] - ath11k: indicate scan complete for scan canceled when scan running (Íñigo Huguet) [2043453] - ath11k: add handler for scan event WMI_SCAN_EVENT_DEQUEUED (Íñigo Huguet) [2043453] - ath11k: add HTT stats support for new stats (Íñigo Huguet) [2043453] - ath11k: Change masking and shifting in htt stats (Íñigo Huguet) [2043453] - ath11k: Remove htt stats fixed size array usage (Íñigo Huguet) [2043453] - ath11k: Replace HTT_DBG_OUT with scnprintf (Íñigo Huguet) [2043453] - ath11k: Rename macro ARRAY_TO_STRING to PRINT_ARRAY_TO_BUF (Íñigo Huguet) [2043453] - ath11k: Fix memory leak in ath11k_qmi_driver_event_work (Íñigo Huguet) [2043453] - ath11k: Fix inaccessible debug registers (Íñigo Huguet) [2043453] - ath11k: Drop MSDU with length error in DP rx path (Íñigo Huguet) [2043453] - ath11k: copy cap info of 6G band under WMI_HOST_WLAN_5G_CAP for WCN6855 (Íñigo Huguet) [2043453] - ath11k: enable 6G channels for WCN6855 (Íñigo Huguet) [2043453] - ath11k: re-enable ht_cap/vht_cap for 5G band for WCN6855 (Íñigo Huguet) [2043453] - ath11k: fix survey dump collection in 6 GHz (Íñigo Huguet) [2043453] - ath11k: fix packet drops due to incorrect 6 GHz freq value in rx status (Íñigo Huguet) [2043453] - ath11k: add channel 2 into 6 GHz channel list (Íñigo Huguet) [2043453] - mac80211: MBSSID support in interface handling (Íñigo Huguet) [2043453] - ath11k: Add wmi peer create conf event in wmi_tlv_event_id (Íñigo Huguet) [2043453] - ath11k: Avoid "No VIF found" warning message (Íñigo Huguet) [2043453] - ath11k: Fix crash during firmware recovery on reo cmd ring access (Íñigo Huguet) [2043453] - ath11k: Assign free_vdev_map value before ieee80211_register_hw (Íñigo Huguet) [2043453] - ath11k: Add vdev start flag to disable hardware encryption (Íñigo Huguet) [2043453] - ath11k: Avoid race during regd updates (Íñigo Huguet) [2043453] - ath11k: Avoid reg rules update during firmware recovery (Íñigo Huguet) [2043453] - ath11k: Update pdev tx and rx firmware stats (Íñigo Huguet) [2043453] - ath11k: Fix pktlog lite rx events (Íñigo Huguet) [2043453] - ath11k: Add support for RX decapsulation offload (Íñigo Huguet) [2043453] - ath11k: fix some sleeping in atomic bugs (Íñigo Huguet) [2043453] - ath11k: qmi: avoid error messages when dma allocation fails (Íñigo Huguet) [2043453] - ath11k: Replace one-element array with flexible-array member (Íñigo Huguet) [2043453] - ath11k: add caldata download support from EEPROM (Íñigo Huguet) [2043453] - ath11k: add caldata file for multiple radios (Íñigo Huguet) [2043453] - ath11k: clean up BDF download functions (Íñigo Huguet) [2043453] - ath11k: use hw_params to access board_size and cal_offset (Íñigo Huguet) [2043453] - ath11k: Wstringop-overread warning (Íñigo Huguet) [2043453] - ath11k: Add spectral scan support for QCN9074 (Íñigo Huguet) [2043453] - ath11k: Fix the spectral minimum FFT bin count (Íñigo Huguet) [2043453] - ath11k: Introduce spectral hw configurable param (Íñigo Huguet) [2043453] - ath11k: Refactor spectral FFT bin size (Íñigo Huguet) [2043453] - ath11k: add support for 80P80 and 160 MHz bandwidth (Íñigo Huguet) [2043453] - ath11k: add support for setting fixed HE rate/gi/ltf (Íñigo Huguet) [2043453] - nl80211: MBSSID and EMA support in AP mode (Íñigo Huguet) [2043453] - nl80211: don't kfree() ERR_PTR() value (Íñigo Huguet) [2043453] - cfg80211: always free wiphy specific regdomain (Íñigo Huguet) [2043453] - mac80211: save transmit power envelope element and power constraint (Íñigo Huguet) [2043453] - mac80211: add parse regulatory info in 6 GHz operation information (Íñigo Huguet) [2043453] - ieee80211: add power type definition for 6 GHz (Íñigo Huguet) [2043453] - mac80211: twt: don't use potentially unaligned pointer (Íñigo Huguet) [2043453] - cfg80211: AP mode driver offload for FILS association crypto (Íñigo Huguet) [2043453] - ath11k: monitor mode clean up to use separate APIs (Íñigo Huguet) [2043453] - ath11k: add separate APIs for monitor mode (Íñigo Huguet) [2043453] - ath11k: move static function ath11k_mac_vdev_setup_sync to top (Íñigo Huguet) [2043453] - rtw88: 8821c: correct 2.4G tx power for type 2/4 NIC (Íñigo Huguet) [2043453] - rtw88: 8821c: support RFE type4 wifi NIC (Íñigo Huguet) [2043453] - brcmfmac: Replace zero-length array with flexible array member (Íñigo Huguet) [2043453] - mac80211_hwsim: enable 6GHz channels (Íñigo Huguet) [2043453] - mac80211: use ieee802_11_parse_elems() in ieee80211_prep_channel() (Íñigo Huguet) [2043453] - nl80211: don't put struct cfg80211_ap_settings on stack (Íñigo Huguet) [2043453] - mac80211: always allocate struct ieee802_11_elems (Íñigo Huguet) [2043453] - mac80211: mlme: find auth challenge directly (Íñigo Huguet) [2043453] - mac80211: move CRC into struct ieee802_11_elems (Íñigo Huguet) [2043453] - mac80211: mesh: clean up rx_bcn_presp API (Íñigo Huguet) [2043453] - mac80211: reduce stack usage in debugfs (Íñigo Huguet) [2043453] - nl80211: prefer struct_size over open coded arithmetic (Íñigo Huguet) [2043453] - mac80211: check hostapd configuration parsing twt requests (Íñigo Huguet) [2043453] - cfg80211: honour V=1 in certificate code generation (Íñigo Huguet) [2043453] - rt2x00: remove duplicate USB device ID (Íñigo Huguet) [2043453] - mwifiex: Fix copy-paste mistake when creating virtual interface (Íñigo Huguet) [2043453] - mwifiex: Properly initialize private structure on interface type changes (Íñigo Huguet) [2043453] - mwifiex: Handle interface type changes from AP to STATION (Íñigo Huguet) [2043453] - mwifiex: Allow switching interface type from P2P_CLIENT to P2P_GO (Íñigo Huguet) [2043453] - mwifiex: Update virtual interface counters right after setting bss_type (Íñigo Huguet) [2043453] - mwifiex: Use helper function for counting interface types (Íñigo Huguet) [2043453] - mwifiex: Run SET_BSS_MODE when changing from P2P to STATION vif-type (Íñigo Huguet) [2043453] - mwifiex: Use function to check whether interface type change is allowed (Íñigo Huguet) [2043453] - mwifiex: Small cleanup for handling virtual interface type changes (Íñigo Huguet) [2043453] - rtw88: move adaptivity mechanism to firmware (Íñigo Huguet) [2043453] - rtw88: support adaptivity for ETSI/JP DFS region (Íñigo Huguet) [2043453] - rtw88: add regulatory strategy by chip type (Íñigo Huguet) [2043453] - rtw88: upgrade rtw_regulatory mechanism and mapping (Íñigo Huguet) [2043453] - brcmfmac: fix incorrect error prints (Íñigo Huguet) [2043453] - ath11k: Align bss_chan_info structure with firmware (Íñigo Huguet) [2043453] - ath11k: add support in survey dump with bss_chan_info (Íñigo Huguet) [2043453] - ath11k: Rename atf_config to flag1 in target_resource_config (Íñigo Huguet) [2043453] - ath11k: fix 4addr multicast packet tx (Íñigo Huguet) [2043453] - ath11k: fix 4-addr tx failure for AP and STA modes (Íñigo Huguet) [2043453] - ath9k: owl-loader: fetch pci init values through nvmem (Íñigo Huguet) [2043453] - ath9k: fetch calibration data via nvmem subsystem (Íñigo Huguet) [2043453] - ath9k: Use tasklet_disable_in_atomic() (Íñigo Huguet) [2043453] - mt76: fix wrong conflict resolution in previous backport (Íñigo Huguet) [2043453] - mac80211: Allow HE operation to be longer than expected. (Íñigo Huguet) [2043453] - revert ath11k: add support for WCN6855 hw2.1 (Íñigo Huguet) [2043453] - RDMA/mlx5: Delete right entry from MR signature database (Amir Tzin) [1982191] - net/mlx5e: Fix select queue to consider SKBTX_HW_TSTAMP (Amir Tzin) [1982191] - net/mlx5e: Don't update netdev RQs with PTP-RQ (Amir Tzin) [1982191] - net/mlx5e: Fix an error code in mlx5e_arfs_create_tables() (Amir Tzin) [1982191] - net/mlx5e: Fix conflict with HW TS and CQE compression (Amir Tzin) [1982191] - net/mlx5e: Fix HW TS with CQE compression according to profile (Amir Tzin) [1982191] - mlx5e: add add missing BH locking around napi_schdule() (Amir Tzin) [1982191] - net/mlx5: Don't overwrite HCA capabilities when setting MSI-X count (Amir Tzin) [1982191] - net/mlx5: Fix err prints and return when creating termination table (Amir Tzin) [1982191] - RDMA/mlx5: Verify that DM operation is reasonable (Amir Tzin) [1982191] - RDMA/mlx5: Expose private query port (Amir Tzin) [1982191] - RDMA/mlx5: Fix type assignment for ICM DM (Amir Tzin) [1982191] - net/mlx5: DR, Add support for isolate_vl_tc QP (Amir Tzin) [1982191] - net/mlx5: DR, Add support for force-loopback QP (Amir Tzin) [1982191] - net/mlx5: DR, Add support for matching tunnel GTP-U (Amir Tzin) [1982191] - net/mlx5: DR, Set flex parser for TNL_MPLS dynamically (Amir Tzin) [1982191] - net/mlx5: DR, Add support for matching on geneve TLV option (Amir Tzin) [1982191] - net/mlx5: DR, Set STEv0 ICMP flex parser dynamically (Amir Tzin) [1982191] - net/mlx5: DR, Add support for dynamic flex parser (Amir Tzin) [1982191] - net/mlx5: DR, Remove protocol-specific flex_parser_3 definitions (Amir Tzin) [1982191] - net/mlx5: mlx5_ifc updates for flex parser (Amir Tzin) [1982191] - net/mlx5: E-Switch, Improve error messages in term table creation (Amir Tzin) [1982191] - net/mlx5: DR, Rename an argument in dr_rdma_segments (Amir Tzin) [1982191] - net/mlx5e: RX, Add checks for calculated Striding RQ attributes (Amir Tzin) [1982191] - net/mlx5e: Fix possible non-initialized struct usage (Amir Tzin) [1982191] - mlx5: implement ethtool standard stats (Amir Tzin) [1982191] - net/mlx5: Enhance diagnostics info for TX/RX reporters (Amir Tzin) [1982191] - net/mlx5: Add helper to initialize 1PPS (Amir Tzin) [1982191] - net/mlx5e: Add ethtool extended link state (Amir Tzin) [1982191 1982232] - net/mlx5: Add register layout to support extended link state (Amir Tzin) [1982191 1982232] - net/mlx5: Allocate FC bulk structs with kvzalloc() instead of kzalloc() (Amir Tzin) [1982191] - net/mlx5e: Cleanup safe switch channels API by passing params (Amir Tzin) [1982191] - net/mlx5e: Refactor on-the-fly configuration changes (Amir Tzin) [1982191] - net/mlx5e: Use mlx5e_safe_switch_channels when channels are closed (Amir Tzin) [1982191] - net/mlx5e: Allow mlx5e_safe_switch_channels to work with channels closed (Amir Tzin) [1982191] - mlx5: implement ethtool::get_fec_stats (Amir Tzin) [1982191] - net/mlx5e: Fix RQ creation flow for queues which doesn't support XDP (Amir Tzin) [1982191] - net/mlx5: Remove return statement exist at the end of void function (Amir Tzin) [1982191] - net/mlx5: Add a blank line after declarations (Amir Tzin) [1982191] - net/mlx5: DR, Alloc cmd buffer with kvzalloc() instead of kzalloc() (Amir Tzin) [1982191] - net/mlx5: DR, Use variably sized data structures for different actions (Amir Tzin) [1982191] - RDMA/mlx5: Expose UAPI to query DM (Amir Tzin) [1982191 1926606 1926603] - RDMA/mlx5: Add support in MEMIC operations (Amir Tzin) [1982191 1926606 1926603] - RDMA/mlx5: Add support to MODIFY_MEMIC command (Amir Tzin) [1982191 1926606 1926603] - RDMA/mlx5: Re-organize the DM code (Amir Tzin) [1982191 1926606 1926603] - RDMA/mlx5: Move all DM logic to separate file (Amir Tzin) [1982191 1926606 1926603] - net/mlx5: Add MEMIC operations related bits (Amir Tzin) [1982191 1926606 1926603] - net/mlx5: Add support for DSFP module EEPROM dumps (Amir Tzin) [1982191 1982233] - net/mlx5: Implement get_module_eeprom_by_page() (Amir Tzin) [1982191 1982233] - net/mlx5: Refactor module EEPROM query (Amir Tzin) [1982191 1982233] - IB/mlx5: Reduce max order of memory allocated for xlt update (Amir Tzin) [1982191] - net/mlx5: Implement sriov_get_vf_total_msix/count() callbacks (Amir Tzin) [1982191 1982230] - net/mlx5: Dynamically assign MSI-X vectors count (Amir Tzin) [1982191 1982230] - net/mlx5: Add dynamic MSI-X capabilities bits (Amir Tzin) [1982191 1982230] - net/mlx5e: Dynamic alloc vlan table for netdev when needed (Amir Tzin) [1982191] - net/mlx5e: Dynamic alloc arfs table for netdev when needed (Amir Tzin) [1982191] - net/mlx5: Use ida_alloc_range() instead of ida_simple_alloc() (Amir Tzin) [1982191] - net/mlx5e: Update ethtool setting of CQE compression (Amir Tzin) [1982191] - net/mlx5e: Allow coexistence of CQE compression and HW TS PTP (Amir Tzin) [1982191] - net/mlx5e: Add PTP Flow Steering support (Amir Tzin) [1982191] - net/mlx5e: Introduce Flow Steering ANY API (Amir Tzin) [1982191] - net/mlx5e: Introduce Flow Steering UDP API (Amir Tzin) [1982191] - net/mlx5e: Cleanup Flow Steering level (Amir Tzin) [1982191] - net/mlx5e: Add PTP RQ to RX reporter (Amir Tzin) [1982191] - net/mlx5e: Refactor RX reporter diagnostics (Amir Tzin) [1982191] - net:mlx5e: Add PTP-TIR and PTP-RQT (Amir Tzin) [1982191] - net/mlx5e: Add PTP-RX statistics (Amir Tzin) [1982191] - net/mlx5e: Add RQ to PTP channel (Amir Tzin) [1982191] - net/mlx5e: Add states to PTP channel (Amir Tzin) [1982191] - RDMA/mlx5: Set ODP caps only if device profile support ODP (Amir Tzin) [1982191] - net/mlx5e: Cleanup PTP (Amir Tzin) [1982191] - net/mlx5e: Generalize PTP implementation (Amir Tzin) [1982191] - net/mlx5e: Generalize direct-TIRs and direct-RQTs API (Amir Tzin) [1982191] - net/mlx5e: Generalize close RQ (Amir Tzin) [1982191] - net/mlx5e: Generalize RQ activation (Amir Tzin) [1982191] - net/mlx5e: Generalize open RQ (Amir Tzin) [1982191] - net/mlx5: Add helper to set time-stamp translator on a queue (Amir Tzin) [1982191] - net/mlx5e: Allow creating mpwqe info without channel (Amir Tzin) [1982191] - net/mlx5e: alloc the correct size for indirection_rqt (Amir Tzin) [1982191] - net: ethernet: indir_table.h is included twice (Amir Tzin) [1982191 1982195] - RDMA/mlx5: Create ODP EQ only when ODP MR is created (Amir Tzin) [1982191] - RDMA/mlx5: Add missing returned error check of mlx5_ib_dereg_mr (Amir Tzin) [1982191] - net/mlx5: Move devlink port from mlx5e priv to mlx5e resources (Amir Tzin) [1982191] - net/mlx5e: Allow to match on ICMP parameters (Amir Tzin) [1982191] - net/mlx5: Display the command index in command mailbox dump (Amir Tzin) [1982191] - net/mlx5e: allocate 'indirection_rqt' buffer dynamically (Amir Tzin) [1982191] - net/mlx5e: Dump ICOSQ WQE descriptor on CQE with error events (Amir Tzin) [1982191] - net/mlx5e: Use net_prefetchw instead of prefetchw in MPWQE TX datapath (Amir Tzin) [1982191] - net/mlx5e: Remove redundant newline in NL_SET_ERR_MSG_MOD (Amir Tzin) [1982191] - net/mlx5: Read congestion counters from all ports when lag is active (Amir Tzin) [1982191] - net/mlx5: remove unneeded semicolon (Amir Tzin) [1982191] - net/mlx5: DR, Remove unneeded rx_decap_l3 function for STEv1 (Amir Tzin) [1982191] - net/mlx5: Use order-0 allocations for EQs (Amir Tzin) [1982191] - net/mlx5: Add IFC bits needed for single FDB mode (Amir Tzin) [1982191] - net/mlx5: E-Switch, Refactor send to vport to be more generic (Amir Tzin) [1982191 1982195] - RDMA/mlx5: Use representor E-Switch when getting netdev and metadata (Amir Tzin) [1982191] - net/mlx5: E-Switch, Add eswitch pointer to each representor (Amir Tzin) [1982191 1982195] - net/mlx5: E-Switch, Add match on vhca id to default send rules (Amir Tzin) [1982191 1982195] - net/mlx5: Remove unused mlx5_core_health member recover_work (Amir Tzin) [1982191] - net/mlx5: simplify the return expression of mlx5_esw_offloads_pair() (Amir Tzin) [1982191 1982195] - net/mlx5: Cleanup prototype warning (Amir Tzin) [1982191] - RDMA/mlx5: Allow larger pages in DevX umem (Amir Tzin) [1982191] - RDMA/mlx5: Rename mlx5_mr_cache_invalidate() to revoke_mr() (Amir Tzin) [1982191] - RDMA/mlx5: Consolidate MR destruction to mlx5_ib_dereg_mr() (Amir Tzin) [1982191] - RDMA/mlx5: Use a union inside mlx5_ib_mr (Amir Tzin) [1982191] - platform/mellanox: mlxbf-tmfifo: Fix a memory barrier issue (Amir Tzin) [2018145] - mmc: dw_mmc-bluefield: : Fix the license information (Amir Tzin) [2018145] - mmc: dw_mmc-bluefield: simplify the probe() function (Amir Tzin) [2018145] - benet: mark device 0xe220 (Lancer) as deprecated (Michal Schmidt) [2054409] - myri10ge: mark as deprecated (Michal Schmidt) [2054409] - liquidio: mark as deprecated, not unmaintained (Michal Schmidt) [2054409] - netxen_nic: remove unmaintained mark, keep deprecated (Michal Schmidt) [2054409] - bnx2: mark as deprecated, not unmaintained (Michal Schmidt) [2054409] - SUNRPC: Don't dereference xprt->snd_task if it's a cookie (Dave Wysochanski) [2046545] - SUNRPC: Add source address/port to rpc_socket* traces (Dave Wysochanski) [2046545] - netfilter: conntrack: re-init state for retransmitted syn-ack (Florian Westphal) [2043093] - netfilter: conntrack: move synack init code to helper (Florian Westphal) [2043093]- ibmvnic: remove unused defines (Diego Domingos) [2047920] - ibmvnic: Update driver return codes (Diego Domingos) [2047920] - ARM: iop32x: disable N2100 PCI parity reporting (Josef Oskera) [2031880] - r8169: fix incorrect mac address assignment (Josef Oskera) [2031880] - r8169: Add device 10ec:8162 to driver r8169 (Josef Oskera) [2031880] - ethernet: r8169: use eth_hw_addr_set() (Josef Oskera) [2031880] - net: phy: realtek: add support for RTL8365MB-VC internal PHYs (Josef Oskera) [2031880] - ethernet: use eth_hw_addr_set() for dev->addr_len cases (Josef Oskera) [2031880] - r8169: enable ASPM L0s state (Josef Oskera) [2031880] - r8169: rename rtl_csi_access_enable to rtl_set_aspm_entry_latency (Josef Oskera) [2031880] - r8169: change the L0/L1 entrance latencies for RTL8106e (Josef Oskera) [2031880] - Revert "r8169: avoid link-up interrupt issue on RTL8106e if user enables ASPM" (Josef Oskera) [2031880] - r8169: Avoid duplicate sysfs entry creation error (Josef Oskera) [2031880] - r8169: Avoid memcpy() over-reading of ETH_SS_STATS (Josef Oskera) [2031880] - r8169: avoid link-up interrupt issue on RTL8106e if user enables ASPM (Josef Oskera) [2031880] - net: phy: realtek: net: Fix less than zero comparison of a u16 (Josef Oskera) [2031880] - net: phy: realtek: add delay to fix RXC generation issue (Josef Oskera) [2031880] - net: phy: realtek: add dt property to enable ALDPS mode (Josef Oskera) [2031880] - net: phy: realtek: add dt property to disable CLKOUT clock (Josef Oskera) [2031880] - r8169: Fix fall-through warning for Clang (Josef Oskera) [2031880] - r8169: use KBUILD_MODNAME instead of own module name definition (Josef Oskera) [2031880] - r8169: keep pause settings on interface down/up cycle (Josef Oskera) [2031880] - r8169: add support for pause ethtool ops (Josef Oskera) [2031880] - r8169: use mac-managed PHY PM (Josef Oskera) [2031880] - r8169: remove rtl_hw_start_8168c_3 (Josef Oskera) [2031880] - r8169: add support for ethtool get_ringparam (Josef Oskera) [2031880] - r8169: use lower_32_bits/upper_32_bits macros (Josef Oskera) [2031880] - net: phy: make PHY PM ops a no-op if MAC driver manages PHY PM (Josef Oskera) [2031880] - mm/gup: remove unused get_user_pages_locked() (Chris von Recklinghausen) [2048650] - mm: change lookup_node() to use get_user_pages_fast() (Chris von Recklinghausen) [2048650] - mm/gup: remove unused pin_user_pages_locked() (Chris von Recklinghausen) [2048650] - mm/gup: follow_pfn_pte(): -EEXIST cleanup (Chris von Recklinghausen) [2048650] - mm: fix invalid page pointer returned with FOLL_PIN gups (Chris von Recklinghausen) [2048650] - mm: fix typos in comments (Chris von Recklinghausen) [2048650] - vfio/iommu_type1: replace kfree with kvfree (Alex Williamson) [2046547] - vfio/pci: Fix error return code in vfio_ecap_init() (Alex Williamson) [2046547] - vfio/pci: Add missing range check in vfio_pci_mmap (Alex Williamson) [2046547] - vfio/mdev: Do not allow a mdev_type to have a NULL parent pointer (Alex Williamson) [2046547] - vfio/mdev: Make to_mdev_device() into a static inline (Alex Williamson) [2046547] - vfio/iommu_type1: Mantain a counter for non_pinned_groups (Alex Williamson) [2046547] - vfio/iommu_type1: Fix some sanity checks in detach group (Alex Williamson) [2046547] - vfio/iommu_type1: Populate full dirty when detach non-pinned group (Alex Williamson) [2046547] - vfio/pci: Move dummy_resources_list init in vfio_pci_probe() (Alex Williamson) [2046547] - vfio/virqfd: Drain events from eventfd in virqfd_wakeup() (Alex Williamson) [2046547] - ext4: fix direct I/O read error (Lukas Czerner) [1868258] - usb: xhci: Extend support for runtime power management for AMD's Yellow carp. (Renjith Pananchikkal) [2015775] - usb: xhci: Enable runtime-pm by default on AMD Yellow Carp platform (Renjith Pananchikkal) [2015775] - thunderbolt: Enable retry logic for intra-domain control packets (David Arcari) [2028287] - nvme-fabrics: fix state check in nvmf_ctlr_matches_baseopts() (Gopal Tiwari) [2043755] - smb3: do not error on fsync when readonly (Ronnie Sahlberg) [2037811] - cifs: serialize all mount attempts (Ronnie Sahlberg) [2008434] - ALSA: memalloc: Unify x86 SG-buffer handling (take#3) (Jaroslav Kysela) [2049437] - ALSA: usb-audio: add mapping for MSI MPG X570S Carbon Max Wifi. (Jaroslav Kysela) [2049437] - ALSA: usb-audio: Drop CONFIG_PM ifdefs (Jaroslav Kysela) [2049437] - ALSA: usb-audio: Fix dB level of Bose Revolve+ SoundLink (Jaroslav Kysela) [2049437] - ALSA: usb-audio: Add minimal-mute notion in dB mapping table (Jaroslav Kysela) [2049437] - ALSA: usb-audio: Use int for dB map values (Jaroslav Kysela) [2049437] - ALSA: hda/tegra: Fix Tegra194 HDA reset failure (Jaroslav Kysela) [2049437] - ALSA: hda/realtek: Use ALC285_FIXUP_HP_GPIO_LED on another HP laptop (Jaroslav Kysela) [2049437] - ALSA: hda: Add new AlderLake-P variant PCI ID (Jaroslav Kysela) [2049437] - ALSA: hda: Add AlderLake-N PCI ID (Jaroslav Kysela) [2049437] - ALSA: hda: use swap() to make code cleaner (Jaroslav Kysela) [2049437] - ALSA: Fix some typo (Jaroslav Kysela) [2049437] - ALSA: hda/hdmi: Consider ELD is invalid when no SAD is present (Jaroslav Kysela) [2049437] - ALSA: hda: Remove redundant runtime PM calls (Jaroslav Kysela) [2049437] - ALSA: hda: Do disconnect jacks at codec unbind (Jaroslav Kysela) [2049437] - ALSA: hda: intel: More comprehensive PM runtime setup for controller driver (Jaroslav Kysela) [2049437] - ASoC: SOF: Intel: fix build issue related to CODEC_PROBE_ENTRIES (Jaroslav Kysela) [2049437] - ASoC: cs42l42: Report initial jack state (Jaroslav Kysela) [2049437] - ALSA: hda/realtek: Re-order quirk entries for Lenovo (Jaroslav Kysela) [2049437] - ALSA: hda/realtek: Add quirk for Legion Y9000X 2020 (Jaroslav Kysela) [2049437] - ALSA: hda/realtek: Add speaker fixup for some Yoga 15ITL5 devices (Jaroslav Kysela) [2049437] - tools headers UAPI: Sync sound/asound.h with the kernel sources (Jaroslav Kysela) [2049437] - tools include UAPI: Sync sound/asound.h copy with the kernel sources (Jaroslav Kysela) [2049437] - tools include UAPI: Sync sound/asound.h copy (Jaroslav Kysela) [2049437] - tools include UAPI: Sync sound/asound.h copy with the kernel sources (Jaroslav Kysela) [2049437] - tools include UAPI: Sync sound/asound.h copy with the kernel sources (Jaroslav Kysela) [2049437] - ASoC: SOF: handle paused streams during system suspend (Jaroslav Kysela) [2049437] - ASoC: SOF: sof-audio: setup sched widgets during pipeline complete step (Jaroslav Kysela) [2049437] - ASoC: SOF: free widgets in sof_tear_down_pipelines() for static pipelines (Jaroslav Kysela) [2049437] - ALSA: hda/cs8409: Fix Jack detection after resume (Jaroslav Kysela) [2049437] - ALSA: hda/cs8409: Increase delay during jack detection (Jaroslav Kysela) [2049437] - ALSA: hda/realtek - Fix silent output on Gigabyte X570 Aorus Master after reboot from Windows (Jaroslav Kysela) [2049437] - ASoC: Intel: catpt: Test dmaengine_submit() result before moving on (Jaroslav Kysela) [2049437] - ASoC: amd: Fix dependency for SPI master (Jaroslav Kysela) [2049437] - ALSA: usb-audio: Drop superfluous '0' in Presonus Studio 1810c's ID (Jaroslav Kysela) [2049437] - ALSA: oss: fix compile error when OSS_DEBUG is enabled (Jaroslav Kysela) [2049437] - ALSA: hda: Make proper use of timecounter (Jaroslav Kysela) [2049437] - ALSA: led: Use restricted type for iface assignment (Jaroslav Kysela) [2049437] - ALSA: hda: Fix potential deadlock at codec unbinding (Jaroslav Kysela) [2049437] - ALSA: hda: Add missing rwsem around snd_ctl_remove() calls (Jaroslav Kysela) [2049437] - ALSA: PCM: Add missing rwsem around snd_ctl_remove() calls (Jaroslav Kysela) [2049437] - ALSA: jack: Add missing rwsem around snd_ctl_remove() calls (Jaroslav Kysela) [2049437] - ASoC: Intel: sof_sdw: fix jack detection on HP Spectre x360 convertible (Jaroslav Kysela) [2049437] - kernel: fork: properly initialize mm->mm_rh in dup_mm() and mm_alloc() (Rafael Aquini) [2047242] - vdpa/mlx5: Fix tracking of current number of VQs (Cindy Lu) [2052849] - vdpa/mlx5: Fix is_index_valid() to refer to features (Cindy Lu) [2052849] - vdpa: Protect vdpa reset with cf_mutex (Cindy Lu) [2052849] - vdpa: Avoid taking cf_mutex lock on get status (Cindy Lu) [2052849] - vdpa/vdpa_sim_net: Report max device capabilities (Cindy Lu) [2052849] - vdpa: Use BIT_ULL for bit operations (Cindy Lu) [2052849] - vdpa/vdpa_sim: Configure max supported virtqueues (Cindy Lu) [2052849] - vdpa/mlx5: Report max device capabilities (Cindy Lu) [2052849] - vdpa: Support reporting max device capabilities (Cindy Lu) [2052849] - vdpa/mlx5: Restore cur_num_vqs in case of failure in change_num_qps() (Cindy Lu) [2052849] - vdpa: Add support for returning device configuration information (Cindy Lu) [2052849] - vdpa/mlx5: Support configuring max data virtqueue (Cindy Lu) [2052849] - vdpa/mlx5: Fix config_attr_mask assignment (Cindy Lu) [2052849] - vdpa: Allow to configure max data virtqueues (Cindy Lu) [2052849] - vdpa: Read device configuration only if FEATURES_OK (Cindy Lu) [2052849] - vdpa: Sync calls set/get config/status with cf_mutex (Cindy Lu) [2052849] - vdpa/mlx5: Distribute RX virtqueues in RQT object (Cindy Lu) [2052849] - vdpa: Provide interface to read driver features (Cindy Lu) [2052849] - vdpa/mlx5: Fix wrong configuration of virtio_version_1_0 (Cindy Lu) [2052849] - vdpa: Mark vdpa_config_ops.get_vq_notification as optional (Cindy Lu) [2052849] - vdpa: Avoid duplicate call to vp_vdpa get_status (Cindy Lu) [2052849] - net/mlx5_vdpa: Offer VIRTIO_NET_F_MTU when setting MTU (Cindy Lu) [2052849] - vdpa: add driver_override support (Cindy Lu) [2052849] - docs: document sysfs ABI for vDPA bus (Cindy Lu) [2052849] - ifcvf/vDPA: fix misuse virtio-net device config size for blk dev (Cindy Lu) [2052849] - Revert "efi/libstub: arm64: Double check image alignment at entry" (Vitaly Kuznetsov) [2046303] - ethtool: ioctl: fix potential NULL deref in ethtool_set_coalesce() (William Zhao) [2046342] - cifs: Do not leak EDEADLK to dgetents64 for STATUS_USER_SESSION_DELETED (Ronnie Sahlberg) [1994393] - cifs: constify pathname arguments in a bunch of helpers (Ronnie Sahlberg) [1994393] - cgroup: Use open-time cgroup namespace for process migration perm checks (Chris von Recklinghausen) [2035766] - cgroup: Allocate cgroup_file_ctx for kernfs_open_file->priv (Chris von Recklinghausen) [2035766] - cgroup: Use open-time credentials for process migraton perm checks (Chris von Recklinghausen) [2035766] - cgroup: make per-cgroup pressure stall tracking configurable (Chris von Recklinghausen) [2035766] - powerpc/idle: Don't corrupt back chain when going idle (Laurent Vivier) [2052793] - powerpc64/idle: Fix SP offsets when saving GPRs (Laurent Vivier) [2052793] - sfc: ef10: implement ethtool::get_fec_stats (Íñigo Huguet) [2042798] - sfc: The RX page_ring is optional (Íñigo Huguet) [2042798] - sfc: Check null pointer of rx_queue->page_ring (Íñigo Huguet) [2042798] - sfc_ef100: potential dereference of null pointer (Íñigo Huguet) [2042798] - sfc: Don't use netif_info before net_device setup (Íñigo Huguet) [2042798] - sfc: Export fibre-specific supported link modes (Íñigo Huguet) [2042798] - sfc: Fix reading non-legacy supported link modes (Íñigo Huguet) [2042798] - ethernet: constify references to netdev->dev_addr in drivers (Íñigo Huguet) [2042798] - ethernet: use eth_hw_addr_set() instead of ether_addr_copy() (Íñigo Huguet) [2042798] - ethernet: use eth_hw_addr_set() (Íñigo Huguet) [2042798] - sfc: last resort fallback for lack of xdp tx queues (Íñigo Huguet) [2042798 1995444] - sfc: fallback for lack of xdp tx queues (Íñigo Huguet) [2042798 1995444] - ext4: fix potential uninitialized access to retval in kmmpd (Lukas Czerner) [2046355] - ext4: fix possible UAF when remounting r/o a mmp-protected file system (Lukas Czerner) [2046355] - ext4: fix memory leak in ext4_fill_super (Lukas Czerner) [2046355] - quota: check block number when reading the block in quota file (Lukas Czerner) [2046999] - quota: correct error number in free_dqentry() (Lukas Czerner) [2046999] - quota: Fix memory leak when handling corrupted quota file (Lukas Czerner) [2046999] - quota: Sanity-check quota file headers on load (Lukas Czerner) [2046999] - quota: clear padding in v2r1_mem2diskdqb() (Lukas Czerner) [2046999] - quota: Check that quota is not dirty before release (Lukas Czerner) [2046999] - quota: fix livelock in dquot_writeback_dquots (Lukas Czerner) [2046999] - ext4: fix e2fsprogs checksum failure for mounted filesystem (Lukas Czerner) [1937180] - ext4: prevent partial update of the extent blocks (Lukas Czerner) [2035877] - ext4: check for inconsistent extents between index and leaf block (Lukas Czerner) [2035877] - ext4: check for out-of-order index extents in ext4_valid_extent_entries() (Lukas Czerner) [2035877] - ext4: avoid trim error on fs with small groups (Lukas Czerner) [2046355] - ext4: fix null-ptr-deref in '__ext4_journal_ensure_credits' (Lukas Czerner) [2046355] - ext4: make sure to reset inode lockdep class when quota enabling fails (Lukas Czerner) [2046355] - ext4: make sure quota gets properly shutdown on error (Lukas Czerner) [2046355] - ext4: Fix BUG_ON in ext4_bread when write quota data (Lukas Czerner) [2046355] - ext4: refresh the ext4_ext_path struct after dropping i_data_sem. (Lukas Czerner) [2046355] - ext4: ensure enough credits in ext4_ext_shift_path_extents (Lukas Czerner) [2046355] - ext4: fix potential infinite loop in ext4_dx_readdir() (Lukas Czerner) [2046355] - ext4: fix loff_t overflow in ext4_max_bitmap_size() (Lukas Czerner) [2046355] - ext4: fix reserved space counter leakage (Lukas Czerner) [2046355] - ext4: fix race writing to an inline_data file while its xattrs are changing (Lukas Czerner) [2046355] - ext4: fix potential htree corruption when growing large_dir directories (Lukas Czerner) [2046355] - ext4: use ext4_grp_locked_error in mb_find_extent (Lukas Czerner) [2046355] - ext4: correct the cache_nr in tracepoint ext4_es_shrink_exit (Lukas Czerner) [2046355] - ext4: remove check for zero nr_to_scan in ext4_es_scan() (Lukas Czerner) [2046355] - ext4: return error code when ext4_fill_flex_info() fails (Lukas Czerner) [2046355] - ext4: cleanup in-core orphan list if ext4_truncate() failed to get a transaction handle (Lukas Czerner) [2046355] - ext4: fix kernel infoleak via ext4_extent_header (Lukas Czerner) [2046355] - ext4: fix memory leak in ext4_fill_super (Lukas Czerner) [2046355] - ext4: fix bug on in ext4_es_cache_extent as ext4_split_extent_at failed (Lukas Czerner) [2046355] - ext4: fix error code in ext4_commit_super (Lukas Czerner) [2046355] - crash_core, vmcoreinfo: append 'SECTION_SIZE_BITS' to vmcoreinfo (Pingfan Liu) [2046631] - arm64/crash_core: Export TCR_EL1.T1SZ in vmcoreinfo (Pingfan Liu) [2046631] - arm64: kernel: arch_crash_save_vmcoreinfo() should depend on CONFIG_CRASH_CORE (Mark Salter) [2046631] - Revert "[arm64] arm64, vmcoreinfo : Append 'MAX_PHYSMEM_BITS' to vmcoreinfo" (Pingfan Liu) [2046631] - crash_core, vmcoreinfo: Append 'MAX_PHYSMEM_BITS' to vmcoreinfo (Pingfan Liu) [2046631] - ibmvnic: don't release napi in __ibmvnic_open() (Gustavo Walbon) [2051793]- EDAC/igen6: Add Intel Alder Lake SoC support (Aristeu Rozanski) [1971965 1783145] - EDAC/igen6: Add Intel Tiger Lake SoC support (Aristeu Rozanski) [1971965 1783145] - EDAC/igen6: Add Intel ICL-NNPI SoC support (Aristeu Rozanski) [1971965 1783145] - EDAC/i10nm: Add support for high bandwidth memory (Aristeu Rozanski) [1971965 1783145] - EDAC/i10nm: Add detection of memory levels for ICX/SPR servers (Aristeu Rozanski) [1971965 1783145] - EDAC/skx_common: Add new ADXL components for 2-level memory (Aristeu Rozanski) [1971965 1783145] - EDAC, skx: Retrieve and print retry_rd_err_log registers (Aristeu Rozanski) [1971965 1783145] - EDAC, skx_common: Refactor so that we initialize "dev" in result of adxl decode. (Aristeu Rozanski) [1971965 1783145] - selinux: parse contexts for mount options early (Scott Mayhew) [1984355] - selinux: try to use preparsed sid before calling parse_sid() (Scott Mayhew) [1984355] - selinux: Fix selinux_sb_mnt_opts_compat() (Scott Mayhew) [1984355] - selinux: access superblock_security_struct in LSM blob way (Scott Mayhew) [1984355] - selinux: minor tweaks to selinux_add_opt() (Scott Mayhew) [1984355] - selinux: fix potential memleak in selinux_add_opt() (Scott Mayhew) [1984355] - selinux: fix sleeping function called from invalid context (Scott Mayhew) [1984355] - LSM: Infrastructure management of the superblock (Scott Mayhew) [1984355] - selinux: drop super_block backpointer from superblock_security_struct (Scott Mayhew) [1984355] - selinux: remove redundant allocation and helper functions (Scott Mayhew) [1984355] - ath11k: add support for WCN6855 hw2.1 (Íñigo Huguet) [1970036 1988269] - ath11k: add string type to search board data in board-2.bin for WCN6855 (Íñigo Huguet) [1970036 1988269] - firmware: smccc: Fix check for ARCH_SOC_ID not implemented (Vitaly Kuznetsov) [2053450] - bpf, arm64: Use emit_addr_mov_i64() for BPF_PSEUDO_FUNC (Yauheni Kaliuta) [2051789] - bpf/selftests: disable a verifier test for powerpc (Viktor Malik) [2046032] - bpf/selftests: allow disabling verifier tests (Viktor Malik) [2046032] - vfs: check dentry is still valid in get_link() (Ian Kent) [2014846] - xfs: don't expose internal symlink metadata buffers to the vfs (Brian Foster) [2014846] - scsi: vmw_pvscsi: Set residual data length conditionally (Cathy Avery) [2052345] - scsi: mpt3sas: Fix incorrect system timestamp (Tomas Henzl) [2026212] - scsi: mpt3sas: Fix system going into read-only mode (Tomas Henzl) [2026212] - scsi: mpt3sas: Fix kernel panic during drive powercycle test (Tomas Henzl) [2026212] - scsi: mpt3sas: Clean up some inconsistent indenting (Tomas Henzl) [2026212] - scsi: scsi_transport_srp: Don't block target in SRP_PORT_LOST state (Ewan D. Milne) [2028290] - blktrace: switch trace spinlock to a raw spinlock (Wander Lairson Costa) [1905749] - blktrace: Fix uaf in blk_trace access after removing by sysfs (Wander Lairson Costa) [1905749] - blk-wbt: export internal state via debugfs (Ming Lei) [2047313] - platform/x86: ISST: Fix optimization with use of numa (Prarit Bhargava) [2023820] - platform/x86: ISST: Use numa node id for cpu pci dev mapping (Prarit Bhargava) [2023818] - platform/x86: ISST: Optimize CPU to PCI device mapping (Prarit Bhargava) [2023818] - efi/x86: drop task_lock() from efi_switch_mm() (Fernando Pacheco) [2035415] - configs: enable LOGITECH_FF (Benjamin Tissoires) [1945987] - Input: joydev - prevent use of not validated data in JSIOCSBTNMAP ioctl (Benjamin Tissoires) [1974089] - Input: joydev - prevent potential read overflow in ioctl (Benjamin Tissoires) [1974089] - xfs: Fix CIL throttle hang when CIL space used going backwards (Thiago Becker) [2040371] - netfilter: nf_conntrack_netbios_ns: fix helper module alias (Florian Westphal) [2038015] - selftests: nft_concat_range: add test for reload with no element add/del (Florian Westphal) [2046309] - netfilter: fix regression in looped (broad|multi)cast's MAC handling (Florian Westphal) [2046309] - selftests: netfilter: Add correctness test for mac,net set type (Florian Westphal) [2046309] - netfilter: flowtable: fix IPv6 tunnel addr match (Florian Westphal) [2046309] - netfilter: conntrack: don't increment invalid counter on NF_REPEAT (Florian Westphal) [2046309] - netfilter: nft_set_pipapo: allocate pcpu scratch maps on clone (Florian Westphal) [2046309] - netfilter: nft_payload: do not update layer 4 checksum when mangling fragments (Florian Westphal) [2046309] - netfilter: ipvs: Fix reuse connection if RS weight is 0 (Florian Westphal) [2046309] - netfilter: ctnetlink: do not erase error code with EINVAL (Florian Westphal) [2046309] - netfilter: ctnetlink: fix filtering with CTA_TUPLE_REPLY (Florian Westphal) [2046309] - netfilter: nfnetlink_queue: fix OOB when mac header was cleared (Florian Westphal) [2046309] - netfilter: nft_dynset: relax superfluous check on set updates (Florian Westphal) [2046309] - netfilter: use kvmalloc_array to allocate memory for hashtable (Phil Sutter) [2001762] - netfilter: nf_tables: skip netdev events generated on netns removal (Phil Sutter) [2053436] - xfrm: add state hashtable keyed by seq (Sabrina Dubroca) [1926538]- cgroup/cpuset: Fix "suspicious RCU usage" lockdep warning (Waiman Long) [2050418] - cpuset: Fix the bug that subpart_cpus updated wrongly in update_cpumask() (Waiman Long) [2050418] - IB/rdmavt: Validate remote_addr during loopback atomic tests (Kamal Heib) [2033480] - in wb_init, use gfp instead of GFP_KERNEL when allocating bw_dwork (Chris von Recklinghausen) [2046179] - scsi: bnx2fc: Make bnx2fc_recv_frame() mp safe (John Meneghini) [2051691] - scsi: bnx2fc: Flush destroy_work queue before calling bnx2fc_interface_put() (John Meneghini) [1973208] - nvme: drop unused variable ctrl in nvme_setup_cmd (John Meneghini) [2033384] - nvme: increment request genctr on completion (John Meneghini) [2033384] - nvme-pci: Fix abort command id (John Meneghini) [2033384] - nvme: add command id quirk for apple controllers (John Meneghini) [2033384] - nvme: move nvme_multi_css into nvme.h (John Meneghini) [2033384] - nvme: code command_id with a genctr for use-after-free validation (John Meneghini) [2033384] - nvme-pci: limit maximum queue depth to 4095 (John Meneghini) [2033384] - params: lift param_set_uint_minmax to common code (John Meneghini) [2033384] - CI: Enable baseline realtime checks (Veronika Kabatova) - CI: Rename pipelines to include release names (Veronika Kabatova) - sched/pelt: Relax the sync of load_sum with load_avg (Phil Auld) [2037123] - sched/pelt: Relax the sync of runnable_sum with runnable_avg (Phil Auld) [2037123] - sched/pelt: Continue to relax the sync of util_sum with util_avg (Phil Auld) [2037123] - sched/pelt: Relax the sync of util_sum with util_avg (Phil Auld) [2037123] - cifs: fix memory leak of smb3_fs_context_dup::server_hostname (Ronnie Sahlberg) [2044670] - cifs: To match file servers, make sure the server hostname matches (Ronnie Sahlberg) [2044670] - perf/x86/intel/uncore: Fix Intel SPR M3UPI event constraints (Michael Petlan) [1837402] - perf/x86/intel/uncore: Fix Intel SPR M2PCIE event constraints (Michael Petlan) [1837402] - perf/x86/intel/uncore: Fix Intel SPR IIO event constraints (Michael Petlan) [1837402] - perf/x86/intel/uncore: Fix Intel SPR CHA event constraints (Michael Petlan) [1837402] - perf/x86/intel/uncore: Support IMC free-running counters on Sapphire Rapids server (Michael Petlan) [1837402] - perf/x86/intel/uncore: Support IIO free-running counters on Sapphire Rapids server (Michael Petlan) [1837402] - perf/x86/intel/uncore: Factor out snr_uncore_mmio_map() (Michael Petlan) [1837402] - perf/x86/intel/uncore: Add alias PMU name (Michael Petlan) [1837402] - perf/x86/intel/uncore: Add Sapphire Rapids server MDF support (Michael Petlan) [1837402] - perf/x86/intel/uncore: Add Sapphire Rapids server M3UPI support (Michael Petlan) [1837402] - perf/x86/intel/uncore: Add Sapphire Rapids server UPI support (Michael Petlan) [1837402] - perf/x86/intel/uncore: Add Sapphire Rapids server M2M support (Michael Petlan) [1837402] - perf/x86/intel/uncore: Add Sapphire Rapids server IMC support (Michael Petlan) [1837402] - perf/x86/intel/uncore: Add Sapphire Rapids server PCU support (Michael Petlan) [1837402] - perf/x86/intel/uncore: Add Sapphire Rapids server M2PCIe support (Michael Petlan) [1837402] - perf/x86/intel/uncore: Add Sapphire Rapids server IRP support (Michael Petlan) [1837402] - perf/x86/intel/uncore: Add Sapphire Rapids server IIO support (Michael Petlan) [1837402] - perf/x86/intel/uncore: Add Sapphire Rapids server CHA support (Michael Petlan) [1837402] - perf/x86/intel/uncore: Add Sapphire Rapids server framework (Michael Petlan) [1837402] - ovl: fix deadlock in splice write (Miklos Szeredi) [2028998] - selinux: fix NULL-pointer dereference when hashtab allocation fails (Ondrej Mosnacek) [2021467] - selinux: fix double free of cond_list on error paths (Ondrej Mosnacek) [2043605] - ibmvnic: remove unused ->wait_capability (Diego Domingos) [2049368] - ibmvnic: don't spin in tasklet (Diego Domingos) [2049368] - ibmvnic: init ->running_cap_crqs early (Diego Domingos) [2049368] - ibmvnic: Allow extra failures before disabling (Diego Domingos) [2049368] - hpsa: add new messaging (Tomas Henzl) [1801777] - aacraid: add new messaging (Tomas Henzl) [2044365] - Revert "[scsi] Revert "[scsi] aacraid: add removed id table"" (Tomas Henzl) [2044365] - mpt3sas: Add new messaging (Tomas Henzl) [2044366] - Revert "[scsi] mpt*: remove certain deprecated pci-ids" (Tomas Henzl) [2044366] - mptsas: add new messaging (Tomas Henzl) [2044366] - sctp: hold endpoint before calling cb in sctp_transport_lookup_process (Xin Long) [2043822] - sctp: use call_rcu to free endpoint (Xin Long) [2043822] - sctp: move hlist_node and hashent out of sctp_ep_common (Xin Long) [2043822] - net: Use nlmsg_unicast() instead of netlink_unicast() (Xin Long) [2043822] - video: hyperv_fb: Fix validation of screen resolution (Mohammed Gamal) [1952821] - powerpc/pseries: extract host bridge from pci_bus prior to bus removal (Diego Domingos) [2051509] - dm: properly fix redundant bio-based IO accounting (Mike Snitzer) [2051803] - dm: revert partial fix for redundant bio-based IO accounting (Mike Snitzer) [2051803] - block: add bio_start_io_acct_time() to control start_time (Mike Snitzer) [2051803] - block: document iostat changes for disk busy time accounting (Mike Snitzer) [2051803]- tee: optee: Fix incorrect page free bug (Chris von Recklinghausen) [2030755] {CVE-2021-44733} - tee: handle lookup of shm with reference count 0 (Chris von Recklinghausen) [2030755] {CVE-2021-44733} - optee: smc_abi.c: add missing #include (Chris von Recklinghausen) [2030755] {CVE-2021-44733} - optee: isolate smc abi (Chris von Recklinghausen) [2030755] {CVE-2021-44733} - optee: refactor driver with internal callbacks (Chris von Recklinghausen) [2030755] {CVE-2021-44733} - optee: simplify optee_release() (Chris von Recklinghausen) [2030755] {CVE-2021-44733} - tee: optee: Fix missing devices unregister during optee_remove (Chris von Recklinghausen) [2030755] {CVE-2021-44733} - tee/optee/shm_pool: fix application of sizeof to pointer (Chris von Recklinghausen) [2030755] {CVE-2021-44733} - tee: Correct inappropriate usage of TEE_SHM_DMA_BUF flag (Chris von Recklinghausen) [2030755] {CVE-2021-44733} - tee: add tee_shm_alloc_kernel_buf() (Chris von Recklinghausen) [2030755] {CVE-2021-44733} - optee: Clear stale cache entries during initialization (Chris von Recklinghausen) [2030755] {CVE-2021-44733} - optee: fix tee out of memory failure seen during kexec reboot (Chris von Recklinghausen) [2030755] {CVE-2021-44733} - optee: Refuse to load the driver under the kdump kernel (Chris von Recklinghausen) [2030755] {CVE-2021-44733} - optee: Fix memory leak when failing to register shm pages (Chris von Recklinghausen) [2030755] {CVE-2021-44733} - optee: use export_uuid() to copy client UUID (Chris von Recklinghausen) [2030755] {CVE-2021-44733} - tee: optee: do not check memref size on return from Secure World (Chris von Recklinghausen) [2030755] {CVE-2021-44733} - tee: optee: fix build error caused by recent optee tracepoints feature (Chris von Recklinghausen) [2030755] {CVE-2021-44733} - tee: optee: add invoke_fn tracepoints (Chris von Recklinghausen) [2030755] {CVE-2021-44733} - optee: simplify i2c access (Chris von Recklinghausen) [2030755] {CVE-2021-44733} - tee: optee: remove need_resched() before cond_resched() (Chris von Recklinghausen) [2030755] {CVE-2021-44733} - optee: sync OP-TEE headers (Chris von Recklinghausen) [2030755] {CVE-2021-44733} - tee: optee: replace might_sleep with cond_resched (Chris von Recklinghausen) [2030755] {CVE-2021-44733} - drivers: optee: fix i2c build issue (Chris von Recklinghausen) [2030755] {CVE-2021-44733} - tee: convert get_user_pages() --> pin_user_pages() (Chris von Recklinghausen) [2030755] {CVE-2021-44733} - drivers: optee: allow op-tee to access devices on the i2c bus (Chris von Recklinghausen) [2030755] {CVE-2021-44733} - driver: tee: Handle NULL pointer indication from client (Chris von Recklinghausen) [2030755] {CVE-2021-44733} - optee: enable support for multi-stage bus enumeration (Chris von Recklinghausen) [2030755] {CVE-2021-44733} - optee: use uuid for sysfs driver entry (Chris von Recklinghausen) [2030755] {CVE-2021-44733} - tee: optee: Add support for session login client UUID generation (Chris von Recklinghausen) [2030755] {CVE-2021-44733} - tee: enable support to register kernel memory (Chris von Recklinghausen) [2030755] {CVE-2021-44733} - tee: remove unnecessary NULL check in tee_shm_alloc() (Chris von Recklinghausen) [2030755] {CVE-2021-44733} - tee: don't assign shm id for private shms (Chris von Recklinghausen) [2030755] {CVE-2021-44733} - tee: remove unused tee_shm_priv_alloc() (Chris von Recklinghausen) [2030755] {CVE-2021-44733} - tee: tee_shm_op_mmap(): use TEE_SHM_USER_MAPPED (Chris von Recklinghausen) [2030755] {CVE-2021-44733} - tee: remove redundant teedev in struct tee_shm (Chris von Recklinghausen) [2030755] {CVE-2021-44733} - tee: remove linked list of struct tee_shm (Chris von Recklinghausen) [2030755] {CVE-2021-44733} - optee: Fix multi page dynamic shm pool alloc (Chris von Recklinghausen) [2030755] {CVE-2021-44733} - optee: model OP-TEE as a platform device/driver (Chris von Recklinghausen) [2030755] {CVE-2021-44733} - tee: optee: fix device enumeration error handling (Chris von Recklinghausen) [2030755] {CVE-2021-44733} - tee: optee: Fix dynamic shm pool allocations (Chris von Recklinghausen) [2030755] {CVE-2021-44733} - tee/shm: untag user pointers in tee_shm_register (Chris von Recklinghausen) [2030755] {CVE-2021-44733} - tee: optee: add might_sleep for RPC requests (Chris von Recklinghausen) [2030755] {CVE-2021-44733} - treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 282 (Chris von Recklinghausen) [2030755] {CVE-2021-44733} - optee: allow to work without static shared memory (Chris von Recklinghausen) [2030755] {CVE-2021-44733} - tee: optee: update optee_msg.h and optee_smc.h to dual license (Chris von Recklinghausen) [2030755] {CVE-2021-44733} - tee: optee: add missing of_node_put after of_device_is_available (Chris von Recklinghausen) [2030755] {CVE-2021-44733} - tee: optee: Fix unsigned comparison with less than zero (Chris von Recklinghausen) [2030755] {CVE-2021-44733} - tee: fix possible error pointer ctx dereferencing (Chris von Recklinghausen) [2030755] {CVE-2021-44733} - tee: optee: Initialize some structs using memset instead of braces (Chris von Recklinghausen) [2030755] {CVE-2021-44733} - tee: optee: add TEE bus device enumeration support (Chris von Recklinghausen) [2030755] {CVE-2021-44733} - tee: add supp_nowait flag in tee_context struct (Chris von Recklinghausen) [2030755] {CVE-2021-44733} - tee: optee: log message if dynamic shm is enabled (Chris von Recklinghausen) [2030755] {CVE-2021-44733} - tee: add kernel internal client interface (Chris von Recklinghausen) [2030755] {CVE-2021-44733} - tee: optee: take DT status property into account (Chris von Recklinghausen) [2030755] {CVE-2021-44733} - tee: optee: making OPTEE_SHM_NUM_PRIV_PAGES configurable via Kconfig (Chris von Recklinghausen) [2030755] {CVE-2021-44733} - x86/mce: Add Xeon Sapphire Rapids to list of CPUs that support PPIN (David Arcari) [2035286] - regset: kill ->get() (Prarit Bhargava) [2032854] - arm64: switch to ->regset_get() (Prarit Bhargava) [2032854] - arm64: take fetching compat reg out of pt_regs into a new helper (Prarit Bhargava) [2032854] - powerpc: switch to ->regset_get() (Prarit Bhargava) [2032854] - s390: switch to ->regset_get() (Prarit Bhargava) [2032854] - introduction of regset ->get() wrappers, switching ELF coredumps to those (Prarit Bhargava) [2032854] - mm/page_alloc.c: do not warn allocation failure on zone DMA if no managed pages (Baoquan He) [2024011] - dma/pool: create dma atomic pool only if dma zone has managed pages (Baoquan He) [2024011] - mm_zone: add function to check if managed dma zone exists (Baoquan He) [2024011] - tipc: discard MSG_CRYPTO msgs when key_exchange_enabled is not set (Xin Long) [2043825] - tipc: delete the unlikely branch in tipc_aead_encrypt (Xin Long) [2043825] - tipc: check for null after calling kmemdup (Xin Long) [2043825] - tipc: only accept encrypted MSG_CRYPTO msgs (Xin Long) [2043825] - powerpc/pseries: use slab context cpumask allocation in CPU hotplug init (Waiman Long) [2048220] - powerpc/pseries: Fix build error when NUMA=n (Waiman Long) [2048220] - lpfc: Add new messaging (Ewan D. Milne) [1841323] - cpu/hotplug: Cure the cpusets trainwreck (Phil Auld) [1904593] - scsi: ses: Fix unsigned comparison with less than zero (Tomas Henzl) [1995086] - scsi: ses: Retry failed Send/Receive Diagnostic commands (Tomas Henzl) [1995086] - serial: exar: Fix GPIO configuration for Sealevel cards based on XR17V35X (John W. Linville) [2022906] - PCI: vmd: Add indirection layer to vmd irq lists (Scott Wood) [2048202] - redhat/configs: Enable CONFIG_PCI_HYPERV on Aarch64 (Vitaly Kuznetsov) [2024853] - PCI: hv: Add arm64 Hyper-V vPCI support (Vitaly Kuznetsov) [2024853] - PCI: hv: Make the code arch neutral by adding arch specific interfaces (Vitaly Kuznetsov) [2024853] - PCI: hv: Remove unnecessary use of hx (Vitaly Kuznetsov) [2024853] - nvme-rdma: fix possible use-after-free in transport error_recovery work (Chris Leech) [1988361] - nvme-tcp: fix possible use-after-free in transport error_recovery work (Chris Leech) [1988361] - nvme: fix a possible use-after-free in controller reset during load (Chris Leech) [1988361] - ipv6: check return value of ipv6_skip_exthdr (Sabrina Dubroca) [2046234] - selftests: Calculate udpgso segment count without header adjustment (Xin Long) [2044133] - udp: using datalen to cap ipv6 udp max gso segments (Xin Long) [2044133] - inet_diag: fix kernel-infoleak for UDP sockets (Xin Long) [2044133] - udp: using datalen to cap max gso segments (Xin Long) [2044133] - [s390] s390/cpumf: Support for CPU Measurement Facility CSVN 7 (Mete Durlu) [2048980] - [s390] s390/cpumf: Support for CPU Measurement Sampling Facility LS bit (Mete Durlu) [2048980] - tools/power/x86/intel-speed-select: v1.10 release (Prarit Bhargava) [2023909] - tools/power/x86/intel-speed-select: Fix uncore memory frequency display (Prarit Bhargava) [2023909] - platform/x86: ISST: Account for increased timeout in some cases (Prarit Bhargava) [2023909] - tools/power/x86/intel-speed-select: Add options to force online (Prarit Bhargava) [2023909] - tools/power/x86/intel-speed-select: Drop __DATE__ and __TIME__ macros (Prarit Bhargava) [2023909] - tools/power/x86/intel-speed-select: v1.9 release (Prarit Bhargava) [2023909] - tools/power/x86/intel-speed-select: Process mailbox read error for core-power (Prarit Bhargava) [2023909] - tools/power/x86/intel-speed-select: Increase string size (Prarit Bhargava) [2023909] - qla2xxx: Add new messaging (Ewan D. Milne) [1900072]- platform/x86: amd-pmc: only use callbacks for suspend (David Arcari) [2016039] - platform/x86: amd-pmc: Add support for AMD Smart Trace Buffer (David Arcari) [2016039] - platform/x86: amd-pmc: Simplify error handling and store the pci_dev in amd_pmc_dev structure (David Arcari) [2016039] - platform/x86: amd-pmc: Fix s2idle failures on certain AMD laptops (David Arcari) [2016039] - platform/x86: amd-pmc: Make CONFIG_AMD_PMC depend on RTC_CLASS (David Arcari) [2016039] - platform/x86: amd-pmc: Drop check for valid alarm time (David Arcari) [2016039] - platform/x86: amd-pmc: Downgrade dev_info message to dev_dbg (David Arcari) [2016039] - platform/x86: amd-pmc: fix compilation without CONFIG_RTC_SYSTOHC_DEVICE (David Arcari) [2016039] - platform/x86: amd-pmc: Add special handling for timer based S0i3 wakeup (David Arcari) [2016039] - platform/x86: amd-pmc: adjust arguments for `amd_pmc_send_cmd` (David Arcari) [2016039] - platform/x86: amd-pmc: Add alternative acpi id for PMC controller (David Arcari) [2016039] - platform/x86: amd-pmc: Add a message to print resume time info (David Arcari) [2016039] - platform/x86: amd-pmc: Send command to dump data after clearing OS_HINT (David Arcari) [2016039] - platform/x86: amd-pmc: Fix compilation when CONFIG_DEBUGFS is disabled (David Arcari) [2016039] - platform/x86: amd-pmc: Export Idlemask values based on the APU (David Arcari) [2016039] - platform/x86: amd-pmc: Check s0i3 cycle status (David Arcari) [2016039] - scsi: lpfc: Fix non-recovery of remote ports following an unsolicited LOGO (Dick Kennedy) [2027558] - sch_api: Don't skip qdisc attach on ingress (Davide Caratti) [2044806] - sch_qfq: prevent shift-out-of-bounds in qfq_init_qdisc (Davide Caratti) [2044806] - flow_offload: return EOPNOTSUPP for the unsupported mpls action type (Davide Caratti) [2044806] - selftests: bpf: Less strict size check in sockopt_sk (Felix Maurer) [2025809] - net-zerocopy: Fast return if inq < PAGE_SIZE (Felix Maurer) [2025809] - tcp: Fix sign comparison bug in getsockopt(TCP_ZEROCOPY_RECEIVE) (Felix Maurer) [2025809] - tcp-zerocopy: Ensure excess getsockopt buffer is zeroed (Felix Maurer) [2025809] - tcp-zerocopy: Update returned getsockopt() optlen. (Felix Maurer) [2025809] - tcp-zerocopy: Fix getsockopt buffer size check (Felix Maurer) [2025809] - gre: Don't accidentally set RTO_ONLINK in gre_fill_metadata_dst() (Guillaume Nault) [2046339] - net: fix use-after-free in tw_timer_handler (Guillaume Nault) [2046339] - ALSA: core: Fix SSID quirk lookup for subvendor=0 (Jaroslav Kysela) [2003613] - ASoC: tegra30: i2s: Restore hardware state on runtime PM resume (Jaroslav Kysela) [2003613] - ALSA: RHEL - update kernel configs for RHEL 8.6 (Jaroslav Kysela) [2003613] - ASoC: remove module namespaces (Jaroslav Kysela) [2003613] - ASoC: codecs: rt5682(s): use the older clock API calls, but keep some modern (Jaroslav Kysela) [2003613] - ASoC: arizona-jack: Cleanup logging (Jaroslav Kysela) [2003613] - ASoC: arizona-jack: Use snd_soc_jack to report jack events (Jaroslav Kysela) [2003613] - ASoC: arizona-jack: convert into a helper library for codec drivers (Jaroslav Kysela) [2003613] - ASoC: arizona-jack: Use arizona->dev for runtime-pm (Jaroslav Kysela) [2003613] - ASoC: arizona-jack: Move jack-detect variables to struct arizona_priv (Jaroslav Kysela) [2003613] - ASoC/extcon: arizona: Move arizona jack code to sound/soc/codecs/arizona-jack.c (Jaroslav Kysela) [2003613] - extcon: arizona: Always use pm_runtime_get_sync() when we need the device to be awake (Jaroslav Kysela) [2003613] - extcon: arizona: Fix flags parameter to the gpiod_get("wlf,micd-pol") call (Jaroslav Kysela) [2003613] - extcon: arizona: Fix various races on driver unbind (Jaroslav Kysela) [2003613] - extcon: arizona: Fix some issues when HPDET IRQ fires after the jack has been unplugged (Jaroslav Kysela) [2003613] - extcon: arizona: Fix runtime PM imbalance on error (Jaroslav Kysela) [2003613] - extcon: arizona: Factor out microphone and button detection (Jaroslav Kysela) [2003613] - extcon: arizona: Factor out microphone impedance into a function (Jaroslav Kysela) [2003613] - extcon: arizona: Invert logic of check in arizona_hpdet_do_id (Jaroslav Kysela) [2003613] - extcon: arizona: Remove excessive WARN_ON (Jaroslav Kysela) [2003613] - extcon: arizona: Remove unnecessary sets of ACCDET_MODE (Jaroslav Kysela) [2003613] - extcon: arizona: Tidy up transition from mic to headphone detect (Jaroslav Kysela) [2003613] - extcon: arizona: Clear jack status regardless of detection type (Jaroslav Kysela) [2003613] - extcon: arizona: Move pdata extraction to probe (Jaroslav Kysela) [2003613] - extcon: arizona: Make rev A register sequences atomic (Jaroslav Kysela) [2003613] - extcon: arizona: Correct clean up if arizona_identify_headphone fails (Jaroslav Kysela) [2003613] - extcon: arizona: Switch to use device_property_count_u32() (Jaroslav Kysela) [2003613] - treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 157 (Jaroslav Kysela) [2003613] - extcon: arizona: Correct error handling on regmap_update_bits_check (Jaroslav Kysela) [2003613] - extcon: arizona: Disable mic detect if running when driver is removed (Jaroslav Kysela) [2003613] - mfd: arizona: Fix rumtime PM imbalance on error (Jaroslav Kysela) [2003613] - mfd: arizona: Split of_match table into I2C and SPI versions (Jaroslav Kysela) [2003613] - mfd: arizona: Make some symbols static (Jaroslav Kysela) [2003613] - mfd: arizona: Add support for ACPI enumeration of WM5102 connected over SPI (Jaroslav Kysela) [2003613] - mfd: arizona: Add MODULE_SOFTDEP("pre: arizona_ldo1") (Jaroslav Kysela) [2003613] - mfd: arizona: Drop arizona-extcon cells (Jaroslav Kysela) [2003613] - mfd: arizona: Replace arizona_of_get_type() with device_get_match_data() (Jaroslav Kysela) [2003613] - mfd: arizona: Ensure 32k clock is put on driver unbind and error (Jaroslav Kysela) [2003613] - mfd: arizona: Remove BUG_ON usage (Jaroslav Kysela) [2003613] - mfd: arizona: Switch to using devm_gpiod_get() (Jaroslav Kysela) [2003613] - mfd: arizona: Fix undefined behavior (Jaroslav Kysela) [2003613] - treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 (Jaroslav Kysela) [2003613] - mfd: arizona: Correct calling of runtime_put_sync (Jaroslav Kysela) [2003613] - mfd: arizona: Don't use regmap_read_poll_timeout (Jaroslav Kysela) [2003613] - clkdev: Hold clocks_mutex while iterating clocks list (Jaroslav Kysela) [2003613] - clkdev: add managed clkdev lookup registration (Jaroslav Kysela) [2003613] - genirq: Add IRQF_NO_AUTOEN for request_irq/nmi() (Jaroslav Kysela) [2003613] - ALSA: es1688: Avoid devres management for es1688 object creation (Jaroslav Kysela) [2003613] - ALSA: gus: Fix repeated probes of snd_gus_create() (Jaroslav Kysela) [2003613] - ALSA: x86: Allocate resources with device-managed APIs (Jaroslav Kysela) [2003613] - ALSA: x86: simplify with sync_stop PCM ops (Jaroslav Kysela) [2003613] - ALSA: x86: fix spelling mistakes (Jaroslav Kysela) [2003613] - ALSA: virtio: Replace zero-length array with flexible-array member (Jaroslav Kysela) [2003613] - ALSA: emux: fix spelling mistakes (Jaroslav Kysela) [2003613] - ALSA: synth: missing check for possible NULL after the call to kstrdup (Jaroslav Kysela) [2003613] - ALSA: synth: Fix assignment in if condition (Jaroslav Kysela) [2003613] - ALSA: sparc: Fix assignment in if condition (Jaroslav Kysela) [2003613] - ASoC: tegra: Set driver name explicitly (Jaroslav Kysela) [2003613] - ASoC: tegra30: i2s: Remove handing of disabled runtime PM (Jaroslav Kysela) [2003613] - ASoC: tegra30: i2s: Use devm_clk_get() (Jaroslav Kysela) [2003613] - ASoC: tegra30: i2s: Correct driver removal order (Jaroslav Kysela) [2003613] - ASoC: tegra20: spdif: Remove handing of disabled runtime PM (Jaroslav Kysela) [2003613] - ASoC: tegra20: i2s: Remove handing of disabled runtime PM (Jaroslav Kysela) [2003613] - ASoC: tegra20: i2s: Use devm_clk_get() (Jaroslav Kysela) [2003613] - ASoC: tegra20: i2s: Add system level suspend-resume callbacks (Jaroslav Kysela) [2003613] - ASoC: tegra20: i2s: Add reset control (Jaroslav Kysela) [2003613] - ASoC: tegra20: i2s: Correct driver removal order (Jaroslav Kysela) [2003613] - ASoC: tegra: tegra20_das: align function prototypes (Jaroslav Kysela) [2003613] - ASoC: tegra: tegra20_das: clarify expression (Jaroslav Kysela) [2003613] - ASoC: tegra: remove unneeded semicolon (Jaroslav Kysela) [2003613] - ASoC: tegra: sync parameter naming (rate/sample_bits) (Jaroslav Kysela) [2003613] - ASoC: tegra20: ac97: Add reset control (Jaroslav Kysela) [2003613] - ASoC: Intel: soc-acpi: add support for SoundWire of TGL-H-RVP (Jaroslav Kysela) [2003613] - ASoC: Intel: sof_sdw: add mutual exclusion between PCH DMIC and RT715 (Jaroslav Kysela) [2003613] - ASoC: codecs: wsa881x: fix return values from kcontrol put (Jaroslav Kysela) [2003613] - ASoc: wm8731: Drop empty spi_driver remove callback (Jaroslav Kysela) [2003613] - ASoC: tlv320aic32x4: channel -> channels rename (Jaroslav Kysela) [2003613] - ASoC: tlv320aic32x4: Fix TAS2505/TAS2521 channel count (Jaroslav Kysela) [2003613] - ASoC: wcd9335: Disable irq on slave ports in the remove function (Jaroslav Kysela) [2003613] - ASoC: wcd9335: Fix a double irq free in the remove function (Jaroslav Kysela) [2003613] - ASoC: wcd9335: Fix a memory leak in the error handling path of the probe function (Jaroslav Kysela) [2003613] - ASoC: tlv320aic32x4: make array clocks static, makes object smaller (Jaroslav Kysela) [2003613] - ASoC: tlv320aic32x4: Fix TAS2505/TAS2521 processing block selection (Jaroslav Kysela) [2003613] - ASoC: da7218: Drop CONFIG_OF ifdef (Jaroslav Kysela) [2003613] - ASoC: tlv320aic32x4: Fix TAS2505 volume controls (Jaroslav Kysela) [2003613] - ASoC: tlv320aic32x4: Make aic32x4_remove() return void (Jaroslav Kysela) [2003613] - ASoC: tlv320aic32x4: add support for TAS2505 (Jaroslav Kysela) [2003613] - ASoC: tlv320aic32x4: add type to device private data struct (Jaroslav Kysela) [2003613] - ASoC: tlv320aic31xx: fix reversed bclk/wclk master bits (Jaroslav Kysela) [2003613] - ASoC: tlv320aic31xx: Fix jack detection after suspend (Jaroslav Kysela) [2003613] - ASoC: tlv320aic31xx: Make regmap cache only on probe() (Jaroslav Kysela) [2003613] - ASoC: sigmadsp: Remove the repeated declaration (Jaroslav Kysela) [2003613] - ASoC: rt286: Remove redundant assignment to d_len_code (Jaroslav Kysela) [2003613] - ASoC: codecs: rt1019: clarify expression (Jaroslav Kysela) [2003613] - ASoC: rt1019: Add non_legacy_dai_naming config (Jaroslav Kysela) [2003613] - ASoC: rk3328: fix missing clk_disable_unprepare() on error in rk3328_platform_probe() (Jaroslav Kysela) [2003613] - ASoC: mediatek: mt6359: Fix unexpected error in bind/unbind flow (Jaroslav Kysela) [2003613] - ASoc: codecs: mt6359: remove useless initializations (Jaroslav Kysela) [2003613] - ASoC: mediatek: mt6359: convert to use module_platform_driver (Jaroslav Kysela) [2003613] - ASoC: ics43432: add CMM-4030D-261 support (Jaroslav Kysela) [2003613] - ASoC: hdmi-codec: Fix return value in hdmi_codec_set_jack() (Jaroslav Kysela) [2003613] - ASoC: hdmi-codec: Get ELD in before reporting plugged event (Jaroslav Kysela) [2003613] - ASoC: cs53l30: Minor error paths fixups (Jaroslav Kysela) [2003613] - ASoC: cs43130: Minor error paths fixups (Jaroslav Kysela) [2003613] - ASoC: cs42l52: Minor tidy up of error paths (Jaroslav Kysela) [2003613] - ASoC: cs42l73: Minor error paths fixups (Jaroslav Kysela) [2003613] - ASoC: cs4265: Minor tidy up of error paths (Jaroslav Kysela) [2003613] - ASoC: cs35l36: Remove unneeded variable initialisation (Jaroslav Kysela) [2003613] - ASoC: cs35l35: Minor error paths fixups (Jaroslav Kysela) [2003613] - ASoC: cs35l35: Correct errata handling (Jaroslav Kysela) [2003613] - ASoC: cs35l34: Minor error paths fixups (Jaroslav Kysela) [2003613] - ASoC: cs35l33: Minor error paths fixups (Jaroslav Kysela) [2003613] - ASoC: cirrus: Add helper function for reading the device ID (Jaroslav Kysela) [2003613] - ASoC: cs35l32: Add missing regmap use_single config (Jaroslav Kysela) [2003613] - ASoC: cs35l32: Minor error paths fixups (Jaroslav Kysela) [2003613] - ASoC: adav80x: Update to modern clocking terminology (Jaroslav Kysela) [2003613] - ASoC: codecs: Fix fall-through warnings for Clang (Jaroslav Kysela) [2003613] - ASoC: codecs: Use fallthrough pseudo-keyword (Jaroslav Kysela) [2003613] - ASoC: ab8500: Update to modern clocking terminology (Jaroslav Kysela) [2003613] - ASoC: codecs: fix spelling mistake in Kconfig "comunicate" -> "communicate" (Jaroslav Kysela) [2003613] - ASoC: 88pm860x: Update to modern clocking terminology (Jaroslav Kysela) [2003613] - ASoC: amd: renoir: Remove redundant assignment to pdm_ctrl and pdm_enable and pdm_dma_enable (Jaroslav Kysela) [2003613] - ASoC: amd: add missing break (Jaroslav Kysela) [2003613] - ALSA: sh: Fix compile warning wrt const (Jaroslav Kysela) [2003613] - ALSA: sh: Fix unused variable warnings (Jaroslav Kysela) [2003613] - ALSA: sh: Constify snd_device_ops definitions (Jaroslav Kysela) [2003613] - ALSA: sh: Drop superfluous ioctl PCM ops (Jaroslav Kysela) [2003613] - ALSA: sh: Use managed buffer allocation (Jaroslav Kysela) [2003613] - ALSA: aica: Use managed buffer allocation (Jaroslav Kysela) [2003613] - ALSA: sh: Remove superfluous snd_dma_continuous_data() (Jaroslav Kysela) [2003613] - ALSA: ps3: fix spelling typo of values (Jaroslav Kysela) [2003613] - ALSA: ppc: drop if block with always false condition (Jaroslav Kysela) [2003613] - ALSA: ppc: remove redundant checks in PS3 driver probe (Jaroslav Kysela) [2003613] - ALSA: ppc: fix error return code in snd_pmac_probe() (Jaroslav Kysela) [2003613] - ALSA: ppc: Drop superfluous ioctl PCM ops (Jaroslav Kysela) [2003613] - ALSA: ppc: Constify snd_device_ops definitions (Jaroslav Kysela) [2003613] - ALSA: ppc: keywest: remove outdated comment (Jaroslav Kysela) [2003613] - ALSA: poewrmac: Fix assignment in if condition (Jaroslav Kysela) [2003613] - ALSA: pcmcia: Fix assignment in if condition (Jaroslav Kysela) [2003613] - ALSA: pci: vx222: fix kernel-doc warning (Jaroslav Kysela) [2003613] - ALSA: Remove trailing semicolon in macros (Jaroslav Kysela) [2003613] - ALSA: hda: generic: Remove redundant assignment to dac (Jaroslav Kysela) [2003613] - ALSA: hda: Allow model option to specify PCI SSID alias (Jaroslav Kysela) [2003613] - ALSA: asihpi: fix comment syntax in file headers (Jaroslav Kysela) [2003613] - ALSA: harmony: Drop superfluous address setup (Jaroslav Kysela) [2003613] - ALSA: parisc: Fix assignment in if condition (Jaroslav Kysela) [2003613] - ALSA: vx: fix kernel-doc warning (Jaroslav Kysela) [2003613] - ALSA: aloop: Constify ops structs (Jaroslav Kysela) [2003613] - ASoC: SOF: Drop resindex_dma_base, dma_engine, dma_size from sof_dev_desc (Jaroslav Kysela) [2003613] - ALSA: wavefront: Allocate resources with device-managed APIs (Jaroslav Kysela) [2003613] - ALSA: wavefront: Fix assignment in if condition (Jaroslav Kysela) [2003613] - ALSA: sscape: Allocate resources with device-managed APIs (Jaroslav Kysela) [2003613] - ALSA: sc6000: Use explicit cast for __iomem pointer (Jaroslav Kysela) [2003613] - ALSA: sc6000: Assign vport directly on card's private_data (Jaroslav Kysela) [2003613] - ALSA: sc6000: Fix incorrect sizeof operator (Jaroslav Kysela) [2003613] - ALSA: sc6000: Allocate resources with device-managed APIs (Jaroslav Kysela) [2003613] - ALSA: sb: Fix fall-through warnings for Clang (Jaroslav Kysela) [2003613] - Revert "ALSA: sb: fix a missing check of snd_ctl_add" (Jaroslav Kysela) [2003613] - ALSA: sb: Allocate resources with device-managed APIs (Jaroslav Kysela) [2003613] - ALSA: sb8: Add a comment note regarding an unused pointer (Jaroslav Kysela) [2003613] - ALSA: sb: Fix potential ABBA deadlock in CSP driver (Jaroslav Kysela) [2003613] - ALSA: sb: Fix potential double-free of CSP mixer elements (Jaroslav Kysela) [2003613] - ALSA: sb: Minor coding style fixes (Jaroslav Kysela) [2003613] - ALSA: sb: Fix assignment in if condition (Jaroslav Kysela) [2003613] - ALSA: sb: Fix two use after free in snd_sb_qsound_build (Jaroslav Kysela) [2003613] - ALSA: emu8000: Fix a use after free in snd_emu8000_create_mixer (Jaroslav Kysela) [2003613] - ALSA: opti9xx: fix missing { } around an if block (Jaroslav Kysela) [2003613] - ALSA: opti9xx: Allocate resources with device-managed APIs (Jaroslav Kysela) [2003613] - ALSA: opti9xx: Fix assignment in if condition (Jaroslav Kysela) [2003613] - ALSA: opl3sa2: Allocate resources with device-managed APIs (Jaroslav Kysela) [2003613] - ALSA: opl3sa2: Fix assignment in if condition (Jaroslav Kysela) [2003613] - ALSA: msnd: Allocate resources with device-managed APIs (Jaroslav Kysela) [2003613] - ALSA: msnd: Use proper mmap method (Jaroslav Kysela) [2003613] - ALSA: gus: Fix repeated probe for ISA interwave card (Jaroslav Kysela) [2003613] - Revert "ALSA: gus: add a check of the status of snd_ctl_add" (Jaroslav Kysela) [2003613] - ALSA: gus: fix null pointer dereference on pointer block (Jaroslav Kysela) [2003613] - ALSA: gus: Allocate resources with device-managed APIs (Jaroslav Kysela) [2003613] - ALSA: gus: Fix assignment in if condition (Jaroslav Kysela) [2003613] - ALSA: gus: Replace unsafe strcpy() with strscpy() (Jaroslav Kysela) [2003613] - ALSA: galaxy: Allocate resources with device-managed APIs (Jaroslav Kysela) [2003613] - ALSA: Replace with fallthrough pseudo keyword in the remaining places (Jaroslav Kysela) [2003613] - ALSA: es18xx: Allocate resources with device-managed APIs (Jaroslav Kysela) [2003613] - ALSA: es18xx: Fix assignment in if condition (Jaroslav Kysela) [2003613] - ALSA: isa: Fix assignment in if condition (Jaroslav Kysela) [2003613] - ALSA: es1688: Allocate resources with device-managed APIs (Jaroslav Kysela) [2003613] - ALSA: wss: Allocate resources with device-managed APIs (Jaroslav Kysela) [2003613] - ALSA: cs423x: Allocate resources with device-managed APIs (Jaroslav Kysela) [2003613] - ALSA: cs423x: Fix assignment in if condition (Jaroslav Kysela) [2003613] - sound/oss/dmasound: Remove superfluous "break" (Jaroslav Kysela) [2003613] - sound/oss/dmasound: Remove superfluous "break" (Jaroslav Kysela) [2003613] - ALSA: cmi8330: Allocate resources with device-managed APIs (Jaroslav Kysela) [2003613] - ALSA: isa: Fix error return code in snd_cmi8330_probe() (Jaroslav Kysela) [2003613] - ALSA: cmi8330: Fix assignment in if condition (Jaroslav Kysela) [2003613] - ALSA: cmi8328: Allocate resources with device-managed APIs (Jaroslav Kysela) [2003613] - ALSA: azt2320: Allocate resources with device-managed APIs (Jaroslav Kysela) [2003613] - ALSA: azt2320: Fix assignment in if condition (Jaroslav Kysela) [2003613] - ALSA: als100: Allocate resources with device-managed APIs (Jaroslav Kysela) [2003613] - ALSA: als100: Fix assignment in if condition (Jaroslav Kysela) [2003613] - ALSA: adlib: Allocate resources with device-managed APIs (Jaroslav Kysela) [2003613] - ALSA: ad1848: Allocate resources with device-managed APIs (Jaroslav Kysela) [2003613] - ALSA: ad1816a: Allocate resources with device-managed APIs (Jaroslav Kysela) [2003613] - ALSA: ad1816a: Fix assignment in if condition (Jaroslav Kysela) [2003613] - ALSA: i2c: tea6330t: Remove redundant initialization of variable err (Jaroslav Kysela) [2003613] - ALSA: i2c: Fix assignment in if condition (Jaroslav Kysela) [2003613] - ALSA: hda: intel-sdw-acpi: add missing include files (Jaroslav Kysela) [2003613] - ALSA: Use fallthrough pseudo-keyword (Jaroslav Kysela) [2003613] - ALSA: aoa: remove unnecessary oom message (Jaroslav Kysela) [2003613] - ALSA: arm: Remove unnecessary variables (Jaroslav Kysela) [2003613] - ALSA: ac97: fix PM reference leak in ac97_bus_remove() (Jaroslav Kysela) [2003613] - ALSA: ac97: Constify static struct attribute_group (Jaroslav Kysela) [2003613] - ALSA: virtio: fix kernel-doc (Jaroslav Kysela) [2003613] - ALSA: virtio: use module_virtio_driver() to simplify the code (Jaroslav Kysela) [2003613] - ALSA: virtio: introduce device suspend/resume support (Jaroslav Kysela) [2003613] - ALSA: virtio: introduce PCM channel map support (Jaroslav Kysela) [2003613] - ALSA: virtio: introduce jack support (Jaroslav Kysela) [2003613] - ALSA: virtio: PCM substream operators (Jaroslav Kysela) [2003613] - ALSA: virtio: handling control and I/O messages for the PCM device (Jaroslav Kysela) [2003613] - ALSA: virtio: build PCM devices and substream hardware descriptors (Jaroslav Kysela) [2003613] - ALSA: virtio: handling control messages (Jaroslav Kysela) [2003613] - ALSA: virtio: add virtio sound driver (Jaroslav Kysela) [2003613] - uapi: virtio_ids: add a sound device type ID from OASIS spec (Jaroslav Kysela) [2003613] - ALSA: firewire: Fix C++ style comments in uapi header (Jaroslav Kysela) [2003613] - ALSA: uapi: Fix a C++ style comment in asound.h (Jaroslav Kysela) [2003613] - ASoC: topology: Fix stub for snd_soc_tplg_component_remove() (Jaroslav Kysela) [2003613] - ASoC: simple-card-utils: indicate dai_fmt if exist (Jaroslav Kysela) [2003613] - ASoC: simple-card-utils: indicate missing CPU/Codec numbers for debug (Jaroslav Kysela) [2003613] - ASoC: SOF: dai-intel: add SOF_DAI_INTEL_SSP_CLKCTRL_MCLK/BCLK_ES bits (Jaroslav Kysela) [2003613] - ASoC: simple-card-utils: tidyup dev_dbg() to use 1 line (Jaroslav Kysela) [2003613] - ASoC: simple-card-utils: tidyup debug info for clock (Jaroslav Kysela) [2003613] - ASoC: simple-card-utils: Increase maximum DAI links limit to 512 (Jaroslav Kysela) [2003613] - ASoC: simple-card-utils: add simple_props_to_xxx() macro (Jaroslav Kysela) [2003613] - ASoC: hdmi-codec: Use set_jack ops to set jack (Jaroslav Kysela) [2003613] - ASoC: audio-graph-card2-custom-sample.dtsi: add Codec2Codec sample (Multi) (Jaroslav Kysela) [2003613] - ASoC: audio-graph-card2-custom-sample.dtsi: add Codec2Codec sample (Single) (Jaroslav Kysela) [2003613] - ASoC: audio-graph-card2-custom-sample.dtsi: add DPCM sample (Multi) (Jaroslav Kysela) [2003613] - ASoC: audio-graph-card2-custom-sample.dtsi: add DPCM sample (Single) (Jaroslav Kysela) [2003613] - ASoC: audio-graph-card2-custom-sample.dtsi: add Sample DT for Normal (Nulti) (Jaroslav Kysela) [2003613] - ASoC: audio-graph-card2-custom-sample.dtsi: add Sample DT for Normal (Single) (Jaroslav Kysela) [2003613] - ASoC: add Audio Graph Card2 Custom Sample (Jaroslav Kysela) [2003613] - ASoC: audio-graph-card2: add Codec2Codec support (Jaroslav Kysela) [2003613] - ASoC: audio-graph-card2: add DPCM support (Jaroslav Kysela) [2003613] - ASoC: audio-graph-card2: add Multi CPU/Codec support (Jaroslav Kysela) [2003613] - ASoC: add Audio Graph Card2 driver (Jaroslav Kysela) [2003613] - ASoC: simple-card-utils: add codec2codec support (Jaroslav Kysela) [2003613] - ASoC: simple-card-utils: add asoc_graph_is_ports0() (Jaroslav Kysela) [2003613] - ASoC: audio-graph: Fixup CPU endpoint hw_params in a BE<->BE link (Jaroslav Kysela) [2003613] - ASoC: audio-graph: respawn Platform Support (Jaroslav Kysela) [2003613] - ASoC: simple-card-utils: Avoid over-allocating DLCs (Jaroslav Kysela) [2003613] - ASoC: audio-graph: tidyup graph_parse_node() (Jaroslav Kysela) [2003613] - ASoC: audio-graph: tidyup graph_dai_link_of_dpcm() (Jaroslav Kysela) [2003613] - ASoC: simple-card: add simple_link_init() (Jaroslav Kysela) [2003613] - ASoC: simple-card: add simple_parse_node() (Jaroslav Kysela) [2003613] - ASoC: simple-card: Fix breakage on kontron-sl28-var3-ads2 (Jaroslav Kysela) [2003613] - ASoC: audio-graph: tidyup graph_dai_link_of_dpcm() (Jaroslav Kysela) [2003613] - ASoC: simple-card: add simple_link_init() (Jaroslav Kysela) [2003613] - ASoC: simple-card: add simple_parse_node() (Jaroslav Kysela) [2003613] - ASoC: audio-graph: add graph_link_init() (Jaroslav Kysela) [2003613] - ASoC: audio-graph: add graph_parse_node() (Jaroslav Kysela) [2003613] - ASoC: audio-graph: remove Platform support (Jaroslav Kysela) [2003613] - ASoC: audio-graph: remove unused "node" from graph_parse_mclk_fs() (Jaroslav Kysela) [2003613] - ASoC: audio-graph: remove "audio-graph-card, " preix support (Jaroslav Kysela) [2003613] - ASoC: audio-graph: check ports if exists (Jaroslav Kysela) [2003613] - ASoC: audio-graph: move audio_graph_remove() to simple-card-utils.c (Jaroslav Kysela) [2003613] - ASoC: tegra: Add driver remove() callback (Jaroslav Kysela) [2003613] - ASoC: audio-graph: move audio_graph_card_probe() to simple-card-utils.c (Jaroslav Kysela) [2003613] - ASoC: simple-card-utils: Allocate link info structure on heap (Jaroslav Kysela) [2003613] - ASoC: simple-card-utils: Increase maximum number of links to 128 (Jaroslav Kysela) [2003613] - ASoC: simple-card-utils: Propagate errors on too many links (Jaroslav Kysela) [2003613] - ASoC: audio-graph: use simple_props_to_xxx() macro (Jaroslav Kysela) [2003613] - ASoC: audio-graph: use asoc_link_to_xxx() macro (Jaroslav Kysela) [2003613] - ASoC: simple-card: use simple_props_to_xxx() macro (Jaroslav Kysela) [2003613] - ASoC: simple-card: use asoc_link_to_xxx() macro (Jaroslav Kysela) [2003613] - ASoC: simple-card: remove unused variable from simple_parse_of() (Jaroslav Kysela) [2003613] - ASoC: simple-card-utils: tidyup asoc_simple_parse_convert() (Jaroslav Kysela) [2003613] - ASoC: simple-card-utils: multi support at asoc_simple_canonicalize_cpu/platform() (Jaroslav Kysela) [2003613] - ASoC: simple-card-utils: care multi DAI at asoc_simple_clean_reference() (Jaroslav Kysela) [2003613] - ASoC: simple-card-utils: remove asoc_simple_parse_xxx() (Jaroslav Kysela) [2003613] - ASoC: simple-card-utils: use for_each_prop_xxx() (Jaroslav Kysela) [2003613] - ASoC: simple-card-utils: remove li->dais/li->conf (Jaroslav Kysela) [2003613] - ASoC: simple-card-utils: setup dai_props cpu_dai/codec_dai at initial timing (Jaroslav Kysela) [2003613] - ASoC: simple-card-utils: share dummy DAI and reduce memory (Jaroslav Kysela) [2003613] - ASoC: simple-card-utils: enable flexible CPU/Codec/Platform (Jaroslav Kysela) [2003613] - ASoC: simple-card: fix possible uninitialized single_cpu local variable (Jaroslav Kysela) [2003613] - ASoC: simple-card: cleanup graph_for_each_link() (Jaroslav Kysela) [2003613] - ASoC: simple-card: count DAI / link numbers as in order (Jaroslav Kysela) [2003613] - ASoC: audio-graph: cleanup graph_for_each_link() (Jaroslav Kysela) [2003613] - ASoC: audio-graph: count DAI / link numbers as in order (Jaroslav Kysela) [2003613] - ASoC: simple-card-utils: alloc dai_link information for CPU/Codec/Platform (Jaroslav Kysela) [2003613] - ASoC: simple-card-utils.c: remove old comment (Jaroslav Kysela) [2003613] - ASoC: simple-card-utils: Do not handle device clock (Jaroslav Kysela) [2003613] - ASoC: generic: simple-card-utils: remove useless assignment (Jaroslav Kysela) [2003613] - ASoC: simple-card-utils: Fix device module clock (Jaroslav Kysela) [2003613] - ASoC: audio-graph: Rename functions needed for export (Jaroslav Kysela) [2003613] - ASoC: audio-graph: Expose helpers from audio graph (Jaroslav Kysela) [2003613] - ASoC: audio-graph: Expose new members for asoc_simple_priv (Jaroslav Kysela) [2003613] - ASoC: audio-graph: Support empty Codec endpoint (Jaroslav Kysela) [2003613] - ASoC: audio-graph: Identify 'no_pcm' DAI links for DPCM (Jaroslav Kysela) [2003613] - ASoC: audio-graph: Use of_node and DAI for DPCM DAI link names (Jaroslav Kysela) [2003613] - ALSA: memalloc: Drop superfluous snd_dma_buffer_sync() declaration (Jaroslav Kysela) [2003613] - ASoC: SOF: dai: include new flags for DAI_CONFIG (Jaroslav Kysela) [2003613] - ASoC: SOF: dai: mirror group_id definition added in firmware (Jaroslav Kysela) [2003613] - ALSA: core: Use READ_ONCE() / WRITE_ONCE() for power state change (Jaroslav Kysela) [2003613] - ALSA: hda_audio_ext: fix kernel-doc (Jaroslav Kysela) [2003613] - ALSA: make snd_kcontrol_new name a normal string (Jaroslav Kysela) [2003613] - ASoC: constify of_phandle_args in snd_soc_get_dai_name() (Jaroslav Kysela) [2003613] - ASoC: tas2770: Fix setting of high sample rates (Jaroslav Kysela) [2003613] - ASoC: rt5682: fix the wrong jack type detected (Jaroslav Kysela) [2003613] - ASoC: tegra: Restore headphones jack name on Nyan Big (Jaroslav Kysela) [2003613] - ASoC: tegra: Add DAPM switches for headphones and mic jack (Jaroslav Kysela) [2003613] - ASoC: SOF: Intel: pci-tgl: add new ADL-P variant (Jaroslav Kysela) [2003613] - ASoC: SOF: Intel: pci-tgl: add ADL-N support (Jaroslav Kysela) [2003613] - ASoC: SOF: Intel: Retry codec probing if it fails (Jaroslav Kysela) [2003613] - ASoC: amd: fix uninitialized variable in snd_acp6x_probe() (Jaroslav Kysela) [2003613] - ASoC: rt5682s: Fix crash due to out of scope stack vars (Jaroslav Kysela) [2003613] - ASoC: rt5682: Fix crash due to out of scope stack vars (Jaroslav Kysela) [2003613] - ASoC: tegra: Use normal system sleep for ADX (Jaroslav Kysela) [2003613] - ASoC: tegra: Use normal system sleep for AMX (Jaroslav Kysela) [2003613] - ASoC: tegra: Use normal system sleep for Mixer (Jaroslav Kysela) [2003613] - ASoC: tegra: Use normal system sleep for MVC (Jaroslav Kysela) [2003613] - ASoC: tegra: Use normal system sleep for SFC (Jaroslav Kysela) [2003613] - ASoC: tegra: Balance runtime PM count (Jaroslav Kysela) [2003613] - ASoC: SOF: hda: reset DAI widget before reconfiguring it (Jaroslav Kysela) [2003613] - ASoC: cs35l41: Set the max SPI speed for the whole device (Jaroslav Kysela) [2003613] - ASoC: Intel: soc-acpi: add entry for ESSX8336 on CML (Jaroslav Kysela) [2003613] - ASoC: soc-acpi: Set mach->id field on comp_ids matches (Jaroslav Kysela) [2003613] - ASoC: tegra: Fix kcontrol put callback in Mixer (Jaroslav Kysela) [2003613] - ASoC: tegra: Fix kcontrol put callback in ADX (Jaroslav Kysela) [2003613] - ASoC: tegra: Fix kcontrol put callback in AMX (Jaroslav Kysela) [2003613] - ASoC: tegra: Fix kcontrol put callback in SFC (Jaroslav Kysela) [2003613] - ASoC: tegra: Fix kcontrol put callback in MVC (Jaroslav Kysela) [2003613] - ASoC: tegra: Fix kcontrol put callback in AHUB (Jaroslav Kysela) [2003613] - ASoC: tegra: Fix kcontrol put callback in DSPK (Jaroslav Kysela) [2003613] - ASoC: tegra: Fix kcontrol put callback in DMIC (Jaroslav Kysela) [2003613] - ASoC: tegra: Fix kcontrol put callback in I2S (Jaroslav Kysela) [2003613] - ASoC: tegra: Fix kcontrol put callback in ADMAIF (Jaroslav Kysela) [2003613] - ASoC: tegra: Fix wrong value type in MVC (Jaroslav Kysela) [2003613] - ASoC: tegra: Fix wrong value type in SFC (Jaroslav Kysela) [2003613] - ASoC: tegra: Fix wrong value type in DSPK (Jaroslav Kysela) [2003613] - ASoC: tegra: Fix wrong value type in DMIC (Jaroslav Kysela) [2003613] - ASoC: tegra: Fix wrong value type in I2S (Jaroslav Kysela) [2003613] - ASoC: tegra: Fix wrong value type in ADMAIF (Jaroslav Kysela) [2003613] - ASoC: topology: Add missing rwsem around snd_ctl_remove() calls (Jaroslav Kysela) [2003613] - ASoC: SOF: build compression interface into snd_sof.ko (Jaroslav Kysela) [2003613] - ASoC: rt5682: Re-detect the combo jack after resuming (Jaroslav Kysela) [2003613] - ASoC: rt5682: Avoid the unexpected IRQ event during going to suspend (Jaroslav Kysela) [2003613] - ASoC: rt1011: revert 'I2S Reference' to SOC_ENUM_EXT (Jaroslav Kysela) [2003613] - ASoC: rt9120: Add the compatibility with rt9120s (Jaroslav Kysela) [2003613] - ASoC: rt9120: Fix clock auto sync issue when fs is the multiple of 48 (Jaroslav Kysela) [2003613] - ASoC: rt9120: Update internal ocp level to the correct value (Jaroslav Kysela) [2003613] - ASoC: Intel: sof_sdw: Add support for SKU 0B12 product (Jaroslav Kysela) [2003613] - ASoC: Intel: soc-acpi: add SKU 0B29 SoundWire configuration (Jaroslav Kysela) [2003613] - ASoC: Intel: sof_sdw: Add support for SKU 0B29 product (Jaroslav Kysela) [2003613] - ASoC: Intel: soc-acpi: add SKU 0B13 SoundWire configuration (Jaroslav Kysela) [2003613] - ASoC: Intel: sof_sdw: Add support for SKU 0B13 product (Jaroslav Kysela) [2003613] - ASoC: Intel: sof_sdw: Add support for SKU 0B11 product (Jaroslav Kysela) [2003613] - ASoC: Intel: sof_sdw: Add support for SKU 0B00 and 0B01 products (Jaroslav Kysela) [2003613] - ASoC: Intel: soc-acpi: add SKU 0AF3 SoundWire configuration (Jaroslav Kysela) [2003613] - ASoC: Intel: sof_sdw: Add support for SKU 0AF3 product (Jaroslav Kysela) [2003613] - ASoC: DAPM: Cover regression by kctl change notification fix (Jaroslav Kysela) [2003613] - ASoC: SOF: Intel: hda: fix hotplug when only codec is suspended (Jaroslav Kysela) [2003613] - ASoC: SOF:control: Fix variable type in snd_sof_refresh_control() (Jaroslav Kysela) [2003613] - ASoC: cs35l41: Change monitor widgets to siggens (Jaroslav Kysela) [2003613] - ASoC: tlv320aic3x: Make aic3x_remove() return void (Jaroslav Kysela) [2003613] - ASoC: Intel: soc-acpi: use const for all uses of snd_soc_acpi_codecs (Jaroslav Kysela) [2003613] - ASoC: Intel: soc-acpi-cht: shrink tables using compatible IDs (Jaroslav Kysela) [2003613] - ASoC: Intel: soc-acpi-byt: shrink tables using compatible IDs (Jaroslav Kysela) [2003613] - ASoC: Intel: sof_rt5682: use comp_ids to enumerate rt5682s (Jaroslav Kysela) [2003613] - ASoC: Intel: sof_rt5682: detect codec variant in probe function (Jaroslav Kysela) [2003613] - ASoC: soc-acpi: add comp_ids field for machine driver matching (Jaroslav Kysela) [2003613] - ASoC: Stop dummy from overriding hwparams (Jaroslav Kysela) [2003613] - ASoC: topology: Change topology device to card device (Jaroslav Kysela) [2003613] - ASoC: topology: Use correct device for prints (Jaroslav Kysela) [2003613] - ASoC: topology: Check for dapm widget completeness (Jaroslav Kysela) [2003613] - ASoC: topology: Add header payload_size verification (Jaroslav Kysela) [2003613] - ASoC: core: Remove invalid snd_soc_component_set_jack call (Jaroslav Kysela) [2003613] - ASoC: amd: acp: select CONFIG_SND_SOC_ACPI (Jaroslav Kysela) [2003613] - ASoC: Intel: glk_rt5682_max98357a: support ALC5682I-VS codec (Jaroslav Kysela) [2003613] - ASoC: es8316: add support for ESSX8336 ACPI _HID (Jaroslav Kysela) [2003613] - ASoC: cs42l42: Correct configuring of switch inversion from ts-inv (Jaroslav Kysela) [2003613] - ASoC: fix unmet dependencies on GPIOLIB for SND_SOC_DMIC (Jaroslav Kysela) [2003613] - ASoC: amd: acp: fix Kconfig dependencies (Jaroslav Kysela) [2003613] - ASoC: rt5682-i2c: Use devm_clk_get_optional for optional clock (Jaroslav Kysela) [2003613] - ASoC: Intel: soc-acpi: add entry for ESSX8336 on JSL (Jaroslav Kysela) [2003613] - ASoC: amd: acp: Fix return value check in acp_machine_select() (Jaroslav Kysela) [2003613] - ASoC: max98520: add max98520 audio amplifier driver (Jaroslav Kysela) [2003613] - ASoC: nau8821: clarify out-of-bounds check (Jaroslav Kysela) [2003613] - ASoC: nau8821: fix kernel-doc (Jaroslav Kysela) [2003613] - ASoC: rt5682s: use 'static' qualifier (Jaroslav Kysela) [2003613] - ASoC: topology: handle endianness warning (Jaroslav Kysela) [2003613] - ASoC: amd: acp: SND_SOC_AMD_ACP_COMMON should depend on X86 && PCI (Jaroslav Kysela) [2003613] - ASoC: amd: acp: SND_SOC_AMD_{LEGACY_MACH,SOF_MACH} should depend on X86 && PCI && I2C (Jaroslav Kysela) [2003613] - ASoC: amd: acp: Wrap AMD Audio ACP components in SND_SOC_AMD_ACP_COMMON (Jaroslav Kysela) [2003613] - ASoC: cs42l42: free_irq() before powering-down on probe() fail (Jaroslav Kysela) [2003613] - ASoC: cs42l42: Reset and power-down on remove() and failed probe() (Jaroslav Kysela) [2003613] - ASoC: nau8825: add clock management for power saving (Jaroslav Kysela) [2003613] - ASoC: nau8825: add set_jack coponment support (Jaroslav Kysela) [2003613] - ASoC: cs42l42: Prevent NULL pointer deref in interrupt handler (Jaroslav Kysela) [2003613] - ASoC: wm8962: Convert to devm_clk_get_optional() (Jaroslav Kysela) [2003613] - ASoC: fix unmet dependency on GPIOLIB for SND_SOC_MAX98357A (Jaroslav Kysela) [2003613] - ASoC: cs35l41: Make cs35l41_remove() return void (Jaroslav Kysela) [2003613] - ASoC: tegra: Set default card name for Trimslice (Jaroslav Kysela) [2003613] - ASoC: tegra: Restore AC97 support (Jaroslav Kysela) [2003613] - ASoC: amd: acp: Add acp_machine struct for renoir platform. (Jaroslav Kysela) [2003613] - ASoC: rt5682s: Downsizing the DAC volume scale (Jaroslav Kysela) [2003613] - ASoC: cs42l42: Remove unused runtime_suspend/runtime_resume callbacks (Jaroslav Kysela) [2003613] - ASoC: cs42l42: Minor error paths fixups (Jaroslav Kysela) [2003613] - ASoC: cs42l42: Add support for ACPI table match entry (Jaroslav Kysela) [2003613] - ASoC: cs42l42: Use device_property API instead of of_property (Jaroslav Kysela) [2003613] - ASoC: Intel: Move soc_intel_is_foo() helpers to a generic header (Jaroslav Kysela) [2003613] - ASoC: amd: enable Yellow Carp platform machine driver build (Jaroslav Kysela) [2003613] - ASoC: amd: add YC machine driver using dmic (Jaroslav Kysela) [2003613] - ASoC: amd: create platform device for acp6x machine driver (Jaroslav Kysela) [2003613] - ASoC: amd: enable Yellow carp acp6x drivers build (Jaroslav Kysela) [2003613] - ASoC: amd: add acp6x pdm driver pm ops (Jaroslav Kysela) [2003613] - ASoC: amd: add acp6x pci driver pm ops (Jaroslav Kysela) [2003613] - ASoC: amd: add acp6x pdm driver dma ops (Jaroslav Kysela) [2003613] - ASoC: amd: add acp6x irq handler (Jaroslav Kysela) [2003613] - ASoC: amd: add acp6x pdm platform driver (Jaroslav Kysela) [2003613] - ASoC: amd: add platform devices for acp6x pdm driver and dmic driver (Jaroslav Kysela) [2003613] - ASoC: amd: add acp6x init/de-init functions (Jaroslav Kysela) [2003613] - ASoC: amd: add Yellow Carp ACP PCI driver (Jaroslav Kysela) [2003613] - ASoC: amd: add Yellow Carp ACP6x IP register header (Jaroslav Kysela) [2003613] - ASoC: amd: acp: Add support for RT5682-VS codec (Jaroslav Kysela) [2003613] - ASoC: amd: acp: Add support for Maxim amplifier codec (Jaroslav Kysela) [2003613] - ASoC: amd: acp: Add SOF audio support on Chrome board (Jaroslav Kysela) [2003613] - ASoC: amd: acp: Add legacy sound card support for Chrome audio (Jaroslav Kysela) [2003613] - ASoC: amd: acp: Add generic machine driver support for ACP cards (Jaroslav Kysela) [2003613] - ASoC: amd: acp: Add callback for machine driver on ACP (Jaroslav Kysela) [2003613] - ASoC: amd: acp: Add I2S support on Renoir platform (Jaroslav Kysela) [2003613] - ASoC: amd: Add common framework to support I2S on ACP SOC (Jaroslav Kysela) [2003613] - ASoC: soc-core: tidyup empty function (Jaroslav Kysela) [2003613] - ASoC: soc-component: add snd_soc_component_is_codec() (Jaroslav Kysela) [2003613] - ASoC: soc-pcm: tidyup soc_pcm_hw_clean() - step2 (Jaroslav Kysela) [2003613] - ASoC: soc-pcm: tidyup soc_pcm_hw_clean() - step1 (Jaroslav Kysela) [2003613] - ASoC: cs42l42: Always enable TS_PLUG and TS_UNPLUG interrupts (Jaroslav Kysela) [2003613] - ASoC: cs42l42: Fix WARN in remove() if running without an interrupt (Jaroslav Kysela) [2003613] - ASoC: cs42l42: Mark OSC_SWITCH_STATUS register volatile (Jaroslav Kysela) [2003613] - ASoC: cs42l42: Set correct SRC MCLK (Jaroslav Kysela) [2003613] - ASoC: cs42l42: Allow time for HP/ADC to power-up after enable (Jaroslav Kysela) [2003613] - ASoC: cs42l42: Use PLL for SCLK > 12.288MHz (Jaroslav Kysela) [2003613] - ASoC: cs42l42: Don't claim to support 192k (Jaroslav Kysela) [2003613] - ASoC: cs42l42: Defer probe if request_threaded_irq() returns EPROBE_DEFER (Jaroslav Kysela) [2003613] - ASoC: cs42l42: Don't set defaults for volatile registers (Jaroslav Kysela) [2003613] - ASoC: cs42l42: Correct some register default values (Jaroslav Kysela) [2003613] - ASoC: cs42l42: Always configure both ASP TX channels (Jaroslav Kysela) [2003613] - ASoC: cs42l42: Don't reconfigure the PLL while it is running (Jaroslav Kysela) [2003613] - ASoC: soc-component: improve error reporting for register access (Jaroslav Kysela) [2003613] - ASoC: amd: enable vangogh platform machine driver build (Jaroslav Kysela) [2003613] - ASoC: amd: add vangogh machine driver (Jaroslav Kysela) [2003613] - ASoc: amd: create platform device for VG machine driver (Jaroslav Kysela) [2003613] - ASoC: test-component: add Test Component for Sound debug/test (Jaroslav Kysela) [2003613] - ASoC: rt5682: fix a little pop while playback (Jaroslav Kysela) [2003613] - ASoC: rt1011: Fix 'I2S Reference' enum control (Jaroslav Kysela) [2003613] - ASoC: rt9120: Add rt9210 audio amplifier support (Jaroslav Kysela) [2003613] - ASoC: amd: vangogh: constify static struct snd_soc_dai_ops (Jaroslav Kysela) [2003613] - ASoC: rt9120: Drop rt9210 audio amplifier support (Jaroslav Kysela) [2003613] - ASoC: rt1011: Fix 'I2S Reference' enum control caused error (Jaroslav Kysela) [2003613] - ASoC: cs42l42: Ensure 0dB full scale volume is used for headsets (Jaroslav Kysela) [2003613] - ASoC: Intel: bytcr_rt5651: Utilize dev_err_probe() to avoid log saturation (Jaroslav Kysela) [2003613] - ASoC: Intel: bytcr_rt5651: use devm_clk_get_optional() for mclk (Jaroslav Kysela) [2003613] - ASoC: Intel: bytcr_rt5651: Use temporary variable for struct device (Jaroslav Kysela) [2003613] - ASoC: Intel: bytcr_rt5651: switch to using devm_fwnode_gpiod_get() (Jaroslav Kysela) [2003613] - ASoC: Intel: bytcr_rt5651: Get platform data via dev_get_platdata() (Jaroslav Kysela) [2003613] - ASoC: Intel: bytcr_rt5640: Utilize dev_err_probe() to avoid log saturation (Jaroslav Kysela) [2003613] - ASoC: Intel: bytcr_rt5640: use devm_clk_get_optional() for mclk (Jaroslav Kysela) [2003613] - ASoC: Intel: bytcr_rt5640: Use temporary variable for struct device (Jaroslav Kysela) [2003613] - ASoC: Intel: bytcr_rt5640: Get platform data via dev_get_platdata() (Jaroslav Kysela) [2003613] - ASoC: amd: Kconfig: Select fch clock support with machine driver (Jaroslav Kysela) [2003613] - ASoC: soc-core: fix null-ptr-deref in snd_soc_del_component_unlocked() (Jaroslav Kysela) [2003613] - ASoC: SOF: prepare code to allocate IPC messages in fw_ready (Jaroslav Kysela) [2003613] - ASoC: rt9120: Add rt9210 audio amplifier support (Jaroslav Kysela) [2003613] - ASoC: soc-pcm: restore mixer functionality (Jaroslav Kysela) [2003613] - ASoC: rt5682s: Fix hp pop produced immediately after resuming (Jaroslav Kysela) [2003613] - ASoC: SOF: Introduce fragment elapsed notification API (Jaroslav Kysela) [2003613] - ASoC: SOF: imx: Use newly introduced generic IPC stream ops (Jaroslav Kysela) [2003613] - ASoC: SOF: Make Intel IPC stream ops generic (Jaroslav Kysela) [2003613] - ASoC: SOF: Introduce snd_sof_mailbox_read / snd_sof_mailbox_write callbacks (Jaroslav Kysela) [2003613] - ASoC: SOF: pipelines: Harmonize all functions to use struct snd_sof_dev (Jaroslav Kysela) [2003613] - ASoC: SOF: topology: do not power down primary core during topology removal (Jaroslav Kysela) [2003613] - ASoC: SOF: Intel: hda: Dump registers and stack when SOF_DBG_DUMP_REGS is set (Jaroslav Kysela) [2003613] - ASoC: SOF: Intel: hda-loader: Drop SOF_DBG_DUMP_REGS flag from dbg_dump calls (Jaroslav Kysela) [2003613] - ASoC: SOF: loader: Drop SOF_DBG_DUMP_REGS flag when firmware start fails (Jaroslav Kysela) [2003613] - ASoC: SOF: core: Clean up snd_sof_get_status() prints (Jaroslav Kysela) [2003613] - ASoC: SOF: intel: hda: Drop 'error' prefix from error dump functions (Jaroslav Kysela) [2003613] - ASoC: SOF: Introduce macro to set the firmware state (Jaroslav Kysela) [2003613] - ASoC: SOF: ops: Force DSP panic dumps to be printed (Jaroslav Kysela) [2003613] - ASoC: SOF: ipc: Re-enable dumps after successful IPC tx (Jaroslav Kysela) [2003613] - ASoC: SOF: debug: Print out the fw_state along with the DSP dump (Jaroslav Kysela) [2003613] - ASoC: SOF: Drop SOF_DBG_DUMP_FORCE_ERR_LEVEL and sof_dev_dbg_or_err (Jaroslav Kysela) [2003613] - ASoC: SOF: intel: hda-loader: Use snd_sof_dsp_dbg_dump() for DSP dump (Jaroslav Kysela) [2003613] - ASoC: SOF: debug: Add SOF_DBG_DUMP_OPTIONAL flag for DSP dumping (Jaroslav Kysela) [2003613] - ASoC: SOF: debug/ops: Move the IPC and DSP dump functions out from the header (Jaroslav Kysela) [2003613] - ASoC: SOF: intel: atom: No need to do a DSP dump in atom_run() (Jaroslav Kysela) [2003613] - ASoC: SOF: loader: Print the DSP dump if boot fails (Jaroslav Kysela) [2003613] - ASoC: SOF: Print the dbg_dump and ipc_dump once to reduce kernel log noise (Jaroslav Kysela) [2003613] - ASoC: SOF: ipc and dsp dump: Add markers for better visibility (Jaroslav Kysela) [2003613] - ASoC: SOF: debug: Swap the dsp_dump and ipc_dump sequence for fw_exception (Jaroslav Kysela) [2003613] - ASoC: SOF: core: debug: force all processing on primary core (Jaroslav Kysela) [2003613] - ASoC: max98927: Handle reset gpio when probing i2c (Jaroslav Kysela) [2003613] - ASoC: DAPM: Fix missing kctl change notifications (Jaroslav Kysela) [2003613] - ASoC: Intel: bytcht_es8316: Utilize dev_err_probe() to avoid log saturation (Jaroslav Kysela) [2003613] - ASoC: Intel: bytcht_es8316: Switch to use gpiod_get_optional() (Jaroslav Kysela) [2003613] - ASoC: Intel: bytcht_es8316: Use temporary variable for struct device (Jaroslav Kysela) [2003613] - ASoC: Intel: bytcht_es8316: Get platform data via dev_get_platdata() (Jaroslav Kysela) [2003613] - ASoC: SOF: OF: Add fw_path and tplg_path parameters (Jaroslav Kysela) [2003613] - ASoC: amd: acp-rt5645: Constify static snd_soc_ops (Jaroslav Kysela) [2003613] - ASoC: SOF: topology: return error if sof_connect_dai_widget() fails (Jaroslav Kysela) [2003613] - ASoC: SOF: topology: allow for dynamic pipelines override for debug (Jaroslav Kysela) [2003613] - ASoC: SOF: topology: show clks_control value in dynamic debug (Jaroslav Kysela) [2003613] - ASoC: SOF: Intel: hda-dai: improve SSP DAI handling for dynamic pipelines (Jaroslav Kysela) [2003613] - ASoC: SOF: Intel: hda: add new flags for DAI_CONFIG (Jaroslav Kysela) [2003613] - ASoC: Intel: sof_sdw: add missing quirk for Dell SKU 0A45 (Jaroslav Kysela) [2003613] - ASoC: Intel: soc-acpi: add missing quirk for TGL SDCA single amp (Jaroslav Kysela) [2003613] - ASoC: Intel: add machine driver for SOF+ES8336 (Jaroslav Kysela) [2003613] - ASoC: Intel: soc-acpi: apl/glk/tgl: add entry for devices based on ES8336 codec (Jaroslav Kysela) [2003613] - ASoC: Intel: cht_bsw_nau8824: Set card.components string (Jaroslav Kysela) [2003613] - ASoC: nau8824: Add a nau8824_components() helper (Jaroslav Kysela) [2003613] - ASoC: nau8824: Add DMI quirk mechanism for active-high jack-detect (Jaroslav Kysela) [2003613] - ASoC: nau8824: Fix NAU8824_JACK_LOGIC define (Jaroslav Kysela) [2003613] - ASoC: rt5651: Use IRQF_NO_AUTOEN when requesting the IRQ (Jaroslav Kysela) [2003613] - ASoC: es8316: Use IRQF_NO_AUTOEN when requesting the IRQ (Jaroslav Kysela) [2003613] - ASoC: nau8821: new driver (Jaroslav Kysela) [2003613] - ASoC: SOF: topology: Add kernel parameter for topology verification (Jaroslav Kysela) [2003613] - ASoC: SOF: Add support for dynamic pipelines (Jaroslav Kysela) [2003613] - treewide: Use fallthrough pseudo-keyword (Jaroslav Kysela) [2003613] - ASoC: SOF: Intel: hda: make sure DAI widget is set up before IPC (Jaroslav Kysela) [2003613] - ASoC: SOF: Introduce widget use_count (Jaroslav Kysela) [2003613] - ASoC: SOF: Don't set up widgets during topology parsing (Jaroslav Kysela) [2003613] - ASoC: SOF: restore kcontrols for widget during set up (Jaroslav Kysela) [2003613] - ASoC: SOF: Add new fields to snd_sof_route (Jaroslav Kysela) [2003613] - AsoC: dapm: export a couple of functions (Jaroslav Kysela) [2003613] - ASoC: SOF: sof-audio: add helpers for widgets, kcontrols and dai config set up (Jaroslav Kysela) [2003613] - ASoC: SOF: topology: Add new token for dynamic pipeline (Jaroslav Kysela) [2003613] - ASoC: SOF: control: Add access field in struct snd_sof_control (Jaroslav Kysela) [2003613] - ASoC: topology: change the complete op in snd_soc_tplg_ops to return int (Jaroslav Kysela) [2003613] - ASoC: rt5682s: Fix HP noise caused by SAR mode switch when the system resumes (Jaroslav Kysela) [2003613] - ASoC: rt5682s: Enable ASRC auto-disable to fix pop during jack plug-in while playback (Jaroslav Kysela) [2003613] - ASoC: Intel: sof_rt5682: Add support for max98360a speaker amp (Jaroslav Kysela) [2003613] - ASoC: tegra: Constify static snd_soc_ops (Jaroslav Kysela) [2003613] - ASoC: rt5682: move clk related code to rt5682_i2c_probe (Jaroslav Kysela) [2003613] - ASoC: rt5682: Use clk_hw based APIs for registration (Jaroslav Kysela) [2003613] - ASoC: rt5682: Drop usage of __clk_get_name() (Jaroslav Kysela) [2003613] - ASoC: SOF: Change SND_SOC_SOF_TOPLEVEL from config to menuconfig (Jaroslav Kysela) [2003613] - ASoC: rt5682s: Revise the macro RT5682S_PLLB_SRC_MASK (Jaroslav Kysela) [2003613] - ASoC: rt5682s: Use dev_dbg instead of pr_debug (Jaroslav Kysela) [2003613] - ASoC: rt5682s: Remove the volatile SW reset register from reg_default (Jaroslav Kysela) [2003613] - ASoC: nau8824: Fix headphone vs headset, button-press detection no longer working (Jaroslav Kysela) [2003613] - ASoC: intel: sof_rt5682: update platform device name for Maxim amplifier (Jaroslav Kysela) [2003613] - ASoC: SOF: ipc: Make the error prints consistent in tx_wait_done() (Jaroslav Kysela) [2003613] - ASoC: SOF: prefix some terse and cryptic dev_dbg() with __func__ (Jaroslav Kysela) [2003613] - ASoC: SOF: add error handling to snd_sof_ipc_msg_data() (Jaroslav Kysela) [2003613] - ASoC: SOF: imx: add header file for ops (Jaroslav Kysela) [2003613] - ASoC: SOF: pm: fix a stale comment (Jaroslav Kysela) [2003613] - ASoC: SOF: Intel: hda-stream: Print stream name on STREAM_SD_OFFSET timeout (Jaroslav Kysela) [2003613] - ASoC: SOF: Intel: hda-dai: fix potential locking issue (Jaroslav Kysela) [2003613] - ASoC: ak4458: Use modern ASoC DAI format terminology (Jaroslav Kysela) [2003613] - ASoC: ak5558: Use modern ASoC DAI format terminology (Jaroslav Kysela) [2003613] - ASoC: dwc-i2s: Update to modern clocking terminology (Jaroslav Kysela) [2003613] - ASoC: ak4671: Use modern ASoC DAI format terminology (Jaroslav Kysela) [2003613] - ASoC: alc5623: Use modern ASoC DAI format terminology (Jaroslav Kysela) [2003613] - ASoC: bcm: Convert to modern clocking terminology (Jaroslav Kysela) [2003613] - ASoC: cpcap: Use modern ASoC DAI format terminology (Jaroslav Kysela) [2003613] - ASoC: codecs: Fix spelling mistake "Unsupport" -> "Unsupported" (Jaroslav Kysela) [2003613] - ASoC: ad193x: Update to modern clocking terminology (Jaroslav Kysela) [2003613] - ASoC: tegra: Constify static snd_soc_dai_ops structs (Jaroslav Kysela) [2003613] - ASoC: cs42l42: Use two thresholds and increased wait time for manual type detection (Jaroslav Kysela) [2003613] - ASoC: adau1977: Update to modern clocking terminology (Jaroslav Kysela) [2003613] - ASoC: adau17x1: Update to modern clocking terminology (Jaroslav Kysela) [2003613] - ASoC: adau1701: Update to modern clocking terminology (Jaroslav Kysela) [2003613] - ASoC: adau1373: Update to modern clocking terminology (Jaroslav Kysela) [2003613] - ASoC: adau1372: Update to modern clocking terminology (Jaroslav Kysela) [2003613] - ASoC: ad1836: Update to modern clocking terminology (Jaroslav Kysela) [2003613] - ASoC: ep93xx: Convert to modern clocking terminology (Jaroslav Kysela) [2003613] - ASoC: samsung: add missing "fallthrough;" (Jaroslav Kysela) [2003613] - ASoC: ak4642: Use modern ASoC DAI format terminology (Jaroslav Kysela) [2003613] - ASoC: wcd9335: Use correct version to initialize Class H (Jaroslav Kysela) [2003613] - ASoC: alc5632: Use modern ASoC DAI format terminology (Jaroslav Kysela) [2003613] - ASoC: ak4104: Update to modern clocking terminology (Jaroslav Kysela) [2003613] - ASoC: ak4118: Update to modern clocking terminology (Jaroslav Kysela) [2003613] - ASoC: zl38060: Update to modern clocking terminology (Jaroslav Kysela) [2003613] - ASoC: cs4341: Add SPI device ID table (Jaroslav Kysela) [2003613] - ASoC: pcm179x: Add missing entries SPI to device ID table (Jaroslav Kysela) [2003613] - ASoC: pl1022_rdk: Update to modern clocking terminology (Jaroslav Kysela) [2003613] - ASoC: pl1022_ds: Update to modern clocking terminology (Jaroslav Kysela) [2003613] - ASoC: mpc8610_hpcd: Update to modern clocking terminology (Jaroslav Kysela) [2003613] - ASoC: imx-sgtl5000: Update to modern clocking terminology (Jaroslav Kysela) [2003613] - ASoC: imx-es8328: Update to modern clocking terminology (Jaroslav Kysela) [2003613] - ASoC: imx-audmix: Update to modern clocking terminology (Jaroslav Kysela) [2003613] - ASoC: fsl_sai: Update to modern clocking terminology (Jaroslav Kysela) [2003613] - ASoC: fsl-mqs: Update to modern clocking terminology (Jaroslav Kysela) [2003613] - ASoC: fsl-esai: Update to modern clocking terminology (Jaroslav Kysela) [2003613] - ASoC: fsl-audmix: Update to modern clocking terminology (Jaroslav Kysela) [2003613] - ASoC: eureka-tlv320: Update to modern clocking terminology (Jaroslav Kysela) [2003613] - ASoC: cros_ec_codec: Use modern ASoC DAI format terminology (Jaroslav Kysela) [2003613] - ASoC: pcm512x: Mend accesses to the I2S_1 and I2S_2 registers (Jaroslav Kysela) [2003613] - ASoC: codecs: max98390: simplify getting the adapter of a client (Jaroslav Kysela) [2003613] - ASoC: Intel: boards: Update to modern clocking terminology (Jaroslav Kysela) [2003613] - ASoC: SOF: Remove struct sof_ops_table and sof_get_ops() macro (Jaroslav Kysela) [2003613] - ASoC: rt5682s: make rt5682s_aif2_dai_ops and rt5682s_soc_component_dev (Jaroslav Kysela) [2003613] - ASoC: tegra: Add Tegra210 based Mixer driver (Jaroslav Kysela) [2003613] - ASoC: tegra: Add Tegra210 based ADX driver (Jaroslav Kysela) [2003613] - ASoC: tegra: Add Tegra210 based AMX driver (Jaroslav Kysela) [2003613] - ASoC: tegra: Add Tegra210 based SFC driver (Jaroslav Kysela) [2003613] - ASoC: tegra: Add Tegra210 based MVC driver (Jaroslav Kysela) [2003613] - ASoC: tegra: Add routes for few AHUB modules (Jaroslav Kysela) [2003613] - ASoC: soc-pcm: Don't reconnect an already active BE (Jaroslav Kysela) [2003613] - ASoC: compress/component: Use module_get_when_open/put_when_close for cstream (Jaroslav Kysela) [2003613] - ASoC: soc-component: Convert the mark_module to void* (Jaroslav Kysela) [2003613] - ASoC: SOF: Rename sof_arch_ops to dsp_arch_ops (Jaroslav Kysela) [2003613] - ASoC: SOF: ipc: Remove redundant error check from sof_ipc_tx_message_unlocked (Jaroslav Kysela) [2003613] - ASoC: SOF: ipc: Print 0x prefix for errors in ipc_trace/stream_message() (Jaroslav Kysela) [2003613] - ASoC: SOF: ipc: Clarify the parameter name for ipc_trace_message() (Jaroslav Kysela) [2003613] - ASoC: SOF: trace: Omit error print when waking up trace sleepers (Jaroslav Kysela) [2003613] - misc: cs35l41: Remove unused pdn variable (Jaroslav Kysela) [2003613] - ASoC: SOF: imx8m: add SAI1 info (Jaroslav Kysela) [2003613] - ASoC: cs42l42: Minor fix all errors reported by checkpatch.pl script (Jaroslav Kysela) [2003613] - ASoC: SOF: core: Move probe work related code under a single if () branch (Jaroslav Kysela) [2003613] - ASoC: cs42l42: Implement Manual Type detection as fallback (Jaroslav Kysela) [2003613] - ASoC: SOF: sof-probes: Correct the function names used for snd_soc_cdai_ops (Jaroslav Kysela) [2003613] - ASoC: SOF: Intel: Rename hda-compress.c to hda-probes.c (Jaroslav Kysela) [2003613] - ASoC: SOF: probe: Merge and clean up the probe and compress files (Jaroslav Kysela) [2003613] - ASoC: SOF: compress: move and export sof_probe_compr_ops (Jaroslav Kysela) [2003613] - ASoC: SOF: pcm: Remove non existent CONFIG_SND_SOC_SOF_COMPRESS reference (Jaroslav Kysela) [2003613] - ASoC: SOF: ipc: Add probe message logging to ipc_log_header() (Jaroslav Kysela) [2003613] - ASoC: SOF: loader: Re-phrase the missing firmware error to avoid duplication (Jaroslav Kysela) [2003613] - ASoC: SOF: loader: release_firmware() on load failure to avoid batching (Jaroslav Kysela) [2003613] - ASoC: SOF: debug: No need to export the snd_sof_debugfs_io_item() (Jaroslav Kysela) [2003613] - ASoC: SOF: loader: Use the generic ops for region debugfs handling (Jaroslav Kysela) [2003613] - ASoC: SOF: Intel: Provide debugfs_add_region_item ops for core (Jaroslav Kysela) [2003613] - ASoC: SOF: imx: Provide debugfs_add_region_item ops for core (Jaroslav Kysela) [2003613] - ASoC: SOF: debug: Add generic API and ops for DSP regions (Jaroslav Kysela) [2003613] - ASoC: SOF: core: Do not use 'bar' as parameter for block_read/write (Jaroslav Kysela) [2003613] - ASoC: SOF: loader: No need to export snd_sof_fw_parse_ext_data() (Jaroslav Kysela) [2003613] - ASoC: SOF: imx: Do not initialize the snd_sof_dsp_ops.read64 (Jaroslav Kysela) [2003613] - ASoC: SOF: ipc: Remove snd_sof_dsp_mailbox_init() (Jaroslav Kysela) [2003613] - ASoC: SOF: Intel: bdw: Set the mailbox offset directly in bdw_probe (Jaroslav Kysela) [2003613] - ASoC: SOF: imx: imx8m: Bar index is only valid for IRAM and SRAM types (Jaroslav Kysela) [2003613] - ASoC: SOF: imx: imx8: Bar index is only valid for IRAM and SRAM types (Jaroslav Kysela) [2003613] - ASoC: cs35l41: Fix a bunch of trivial code formating/style issues (Jaroslav Kysela) [2003613] - ASoC: cs35l41: Fixup the error messages (Jaroslav Kysela) [2003613] - ASoC: cs35l41: Don't overwrite returned error code (Jaroslav Kysela) [2003613] - ASoC: cs35l41: Combine adjacent register writes (Jaroslav Kysela) [2003613] - ASoC: cs35l41: Use regmap_read_poll_timeout to wait for OTP boot (Jaroslav Kysela) [2003613] - ASoC: cs35l41: Fix use of an uninitialised variable (Jaroslav Kysela) [2003613] - ASoC: SOF: loader: load_firmware callback is mandatory, treat it like that (Jaroslav Kysela) [2003613] - ASoC: SOF: Intel: hda: Relocate inline definitions from hda.h to hda.c for sdw (Jaroslav Kysela) [2003613] - ASoC: SOF: Intel: hda: Remove boot_firmware skl and iccmax_icl declarations (Jaroslav Kysela) [2003613] - ASoC: SOF: Intel: hda-dsp: Declare locally used functions as static (Jaroslav Kysela) [2003613] - ASoC: SOF: intel: Do no initialize resindex_dma_base (Jaroslav Kysela) [2003613] - ASoC: intel: sof_rt5682: support jsl_rt5682s_mx98360a board (Jaroslav Kysela) [2003613] - ASoC: intel: sof_rt5682: support jsl_rt5682s_rt1015 board (Jaroslav Kysela) [2003613] - ASoC: intel: sof_rt5682: support jsl_rt5682s_rt1015p board (Jaroslav Kysela) [2003613] - ASoC: Intel: sof_rt5682: support ALC5682I-VS codec (Jaroslav Kysela) [2003613] - ASoC: SOF: Fix DSP oops stack dump output contents (Jaroslav Kysela) [2003613] - ASoC: pcm5102a: increase rate from 192k to 384k (Jaroslav Kysela) [2003613] - ASoC: rt1011: add i2s reference control for rt1011 (Jaroslav Kysela) [2003613] - ASoC: SOF: Handle control change notification from firmware (Jaroslav Kysela) [2003613] - ASoC: SOF: control: fix a typo in put operations for kcontrol (Jaroslav Kysela) [2003613] - ASoC: rt5682s: Add driver for ALC5682I-VS codec (Jaroslav Kysela) [2003613] - ASoC: SOF: core: allow module parameter to override dma trace Kconfig (Jaroslav Kysela) [2003613] - ASoC: soc-topology: Move template info print soc_tplg_dapm_widget_create() (Jaroslav Kysela) [2003613] - ASoC: amd: acp: declare and add prefix to 'bt_uart_enable' symbol (Jaroslav Kysela) [2003613] - ASoC: cs35l41: CS35L41 Boosted Smart Amplifier (Jaroslav Kysela) [2003613] - ASoC: Intel: sof_sdw: tag SoundWire BEs as non-atomic (Jaroslav Kysela) [2003613] - ASoC: Intel: boards: Fix CONFIG_SND_SOC_SDW_MOCKUP select (Jaroslav Kysela) [2003613] - ASoC: rt5682: fix headset background noise when S3 state (Jaroslav Kysela) [2003613] - ASoC: Revert PCM trigger changes (Jaroslav Kysela) [2003613] - ASoC: soc-pcm: test refcount before triggering (Jaroslav Kysela) [2003613] - ASoC: soc-pcm: protect BE dailink state changes in trigger (Jaroslav Kysela) [2003613] - ASoC: dwc: Get IRQ optionally (Jaroslav Kysela) [2003613] - ASoC: rt5682: Fix the vol+ button detection issue (Jaroslav Kysela) [2003613] - ASoC: Intel: bytcr_rt5640: Make rt5640_jack_gpio/rt5640_jack2_gpio static (Jaroslav Kysela) [2003613] - ASoC: SOF: intel: remove duplicate include (Jaroslav Kysela) [2003613] - ASoC: SOF: Intel: move common ATOM stuff to module (Jaroslav Kysela) [2003613] - ASoC: SOF: Intel: byt: prepare split between Baytrail and Merrifield (Jaroslav Kysela) [2003613] - ASoC: rt1015: remove possible unused variable `bclk_ms' (Jaroslav Kysela) [2003613] - ASoC: Intel: bytcr_rt5640: Mark hp_elitepad_1000g2_jack?_check functions static (Jaroslav Kysela) [2003613] - ASoC: Intel: Skylake: Select first entry for singular pipe config arrays (Jaroslav Kysela) [2003613] - ASoC: Intel: Skylake: Properly configure modules with generic extension (Jaroslav Kysela) [2003613] - ASoC: Intel: Skylake: Support modules with generic extension (Jaroslav Kysela) [2003613] - ASoC: Intel: Skylake: Support multiple format configs (Jaroslav Kysela) [2003613] - ASoC: Intel: Skylake: Simplify m_state for loadable modules (Jaroslav Kysela) [2003613] - ASoC: Intel: Skylake: Fix passing loadable flag for module (Jaroslav Kysela) [2003613] - ASoC: Intel: Skylake: Fix module configuration for KPB and MIXER (Jaroslav Kysela) [2003613] - ASoC: Intel: Skylake: Fix module resource and format selection (Jaroslav Kysela) [2003613] - ASoC: Intel: Skylake: Select proper format for NHLT blob (Jaroslav Kysela) [2003613] - ASoC: Intel: Skylake: Leave data as is when invoking TLV IPCs (Jaroslav Kysela) [2003613] - ASoC: Intel: kbl_da7219_max98927: Fix format selection for max98373 (Jaroslav Kysela) [2003613] - ASoC: intel: atom: Revert PCM buffer address setup workaround again (Jaroslav Kysela) [2003613] - ASoC: Intel: bytcr_rt5640: Add support for HP Elite Pad 1000G2 jack-detect (Jaroslav Kysela) [2003613] - ASoC: Intel: bytct_rt5640: Add a separate "Headset Mic 2" DAPM pin for the mic on the 2nd jack (Jaroslav Kysela) [2003613] - ASoC: rt5640: Add rt5640_set_ovcd_params() helper (Jaroslav Kysela) [2003613] - ASoC: rt5640: Add optional hp_det_gpio parameter to rt5640_detect_headset() (Jaroslav Kysela) [2003613] - ASoC: rt5640: Delay requesting IRQ until the machine-drv calls set_jack (Jaroslav Kysela) [2003613] - ASoC: rt5640: Move rt5640_disable_jack_detect() up in the rt5640.c file (Jaroslav Kysela) [2003613] - ASoC: intel: atom: Fix breakage for PCM buffer address setup (Jaroslav Kysela) [2003613] - ASoC: Intel: bytcr_rt5640: Use cfg-lineout:2 in the components string (Jaroslav Kysela) [2003613] - ASoC: tegra30: i2s: Fix incorrect usage of of_device_get_match_data (Jaroslav Kysela) [2003613] - ASoC: tegra30: ahub: Fix incorrect usage of of_device_get_match_data (Jaroslav Kysela) [2003613] - ASoC: tegra30: i2s: Use of_device_get_match_data (Jaroslav Kysela) [2003613] - ASoC: tegra30: ahub: Use of_device_get_match_data (Jaroslav Kysela) [2003613] - ASoC: soc-ac97: cleanup cppcheck warning (Jaroslav Kysela) [2003613] - ASoC: soc-component: cleanup cppcheck warning at snd_soc_pcm_component_pm_runtime_get() (Jaroslav Kysela) [2003613] - ASoC: soc-jack: cleanup cppcheck warning for CONFIG_GPIOLIB (Jaroslav Kysela) [2003613] - ASoC: soc-jack: cleanup cppcheck warning at snd_soc_jack_report() (Jaroslav Kysela) [2003613] - ASoC: soc-dai: cleanup cppcheck warning at snd_soc_pcm_dai_new() (Jaroslav Kysela) [2003613] - ASoC: soc-dai: cleanup cppcheck warning at snd_soc_dai_link_set_capabilities() (Jaroslav Kysela) [2003613] - ASoC: soc-generic-dmaengine-pcm: cleanup cppcheck warning at dmaengine_copy_user() (Jaroslav Kysela) [2003613] - ASoC: soc-generic-dmaengine-pcm: cleanup cppcheck warning at dmaengine_pcm_new() (Jaroslav Kysela) [2003613] - ASoC: soc-generic-dmaengine-pcm: cleanup cppcheck warning at dmaengine_pcm_hw_params() (Jaroslav Kysela) [2003613] - ASoC: Intel: sof_sdw_rt711*: keep codec device reference until remove (Jaroslav Kysela) [2003613] - ASoC: Intel: sof_sdw: pass card information to init/exit functions (Jaroslav Kysela) [2003613] - ASoC: Intel: boards: get codec device with ACPI instead of bus search (Jaroslav Kysela) [2003613] - ASoC: Intel: boards: handle errors with acpi_dev_get_first_match_dev() (Jaroslav Kysela) [2003613] - ASoC: Intel: boards: harden codec property handling (Jaroslav Kysela) [2003613] - ASoC: rt5682: Remove unused variable in rt5682_i2c_remove() (Jaroslav Kysela) [2003613] - ASoC: SOF: Intel: make DMI L1 selection more robust (Jaroslav Kysela) [2003613] - ASoC: SOF: Intel: simplify logic for DMI_L1 handling (Jaroslav Kysela) [2003613] - ASoC: SOF: Intel: hda-stream: remove always true condition (Jaroslav Kysela) [2003613] - ASoC: SOF: Intel: Kconfig: clarify DMI L1 option description (Jaroslav Kysela) [2003613] - ASoC: rt5682: Properly turn off regulators if wrong device ID (Jaroslav Kysela) [2003613] - ASoC: rt5682: Implement remove callback (Jaroslav Kysela) [2003613] - ASoC: rt5682: Disable irq on shutdown (Jaroslav Kysela) [2003613] - ASoC: rt5682: Adjust headset volume button threshold again (Jaroslav Kysela) [2003613] - ASoC: Intel: Fix platform ID matching (Jaroslav Kysela) [2003613] - ASoC: rt1015p: add new acpi id and comapatible id (Jaroslav Kysela) [2003613] - ASoC: max98390: Add support change dsm param name (Jaroslav Kysela) [2003613] - ASoC: cs42l42: Update module authors (Jaroslav Kysela) [2003613] - ASoC: cs42l42: Assume 24-bit samples are in 32-bit slots (Jaroslav Kysela) [2003613] - ASoC: cs42l42: Validate dai_set_sysclk() frequency (Jaroslav Kysela) [2003613] - ASoC: cs42l42: Add PLL configuration for 44.1kHz/16-bit (Jaroslav Kysela) [2003613] - ASoC: rt5640: Silence warning message about missing interrupt (Jaroslav Kysela) [2003613] - ASoC: cs42l42: Fix mono playback (Jaroslav Kysela) [2003613] - ASoC: cs42l42: Constrain sample rate to prevent illegal SCLK (Jaroslav Kysela) [2003613] - ASoC: cs42l42: Fix LRCLK frame start edge (Jaroslav Kysela) [2003613] - ASoC: cs42l42: PLL must be running when changing MCLK_SRC_SEL (Jaroslav Kysela) [2003613] - ASoC: cs42l42: Add support for set_jack calls (Jaroslav Kysela) [2003613] - ASoC: mt6359-accdet.c: remove useless assignments (Jaroslav Kysela) [2003613] - ASoC: max98090: remove duplicate status reads and useless assignmment (Jaroslav Kysela) [2003613] - ASoC: soc-dapm: cleanup cppcheck warning at soc_dapm_dai_stream_event() (Jaroslav Kysela) [2003613] - ASoC: soc-dapm: cleanup cppcheck warning at snd_soc_dapm_new_controls() (Jaroslav Kysela) [2003613] - ASoC: soc-dapm: cleanup cppcheck warning at snd_soc_dapm_weak_routes() (Jaroslav Kysela) [2003613] - ASoC: soc-dapm: cleanup cppcheck warning at snd_soc_dapm_add_routes() (Jaroslav Kysela) [2003613] - ASoC: soc-dapm: cleanup cppcheck warning at snd_soc_dapm_del_route() (Jaroslav Kysela) [2003613] - ASoC: soc-dapm: cleanup cppcheck warning at dapm_seq_run() (Jaroslav Kysela) [2003613] - ASoC: soc-dapm: cleanup cppcheck warning at dapm_seq_check_event() (Jaroslav Kysela) [2003613] - ASoC: soc-dapm: cleanup cppcheck warning at dapm_new_dai_link() (Jaroslav Kysela) [2003613] - ASoC: soc-dapm: cleanup cppcheck warning at dapm_new_pga() (Jaroslav Kysela) [2003613] - ASoC: soc-dapm: cleanup cppcheck warning at dapm_set_mixer_path_status() (Jaroslav Kysela) [2003613] - ASoC: soc-dapm: cleanup cppcheck warning at dapm_connect_mux() (Jaroslav Kysela) [2003613] - ASoC: soc-dapm: cleanup cppcheck warning at dapm_wcache_lookup() (Jaroslav Kysela) [2003613] - ASoC: amd: vangogh: Drop superfluous mmap callback (Jaroslav Kysela) [2003613] - ASoC: sprd: Use managed buffer allocation (Jaroslav Kysela) [2003613] - ASoC: qcom: qdsp6: Use managed buffer allocation (Jaroslav Kysela) [2003613] - ASoC: mpc5200: Use managed buffer allocation (Jaroslav Kysela) [2003613] - ASoC: fsl_dma: Use managed buffer allocation (Jaroslav Kysela) [2003613] - ASoC: fsl_asrc_dma: Use managed buffer allocation (Jaroslav Kysela) [2003613] - ASoC: tegra: Use managed buffer allocation (Jaroslav Kysela) [2003613] - ASoC: fsl: imx-pcm-fiq: Use managed buffer allocation (Jaroslav Kysela) [2003613] - ASoC: bcm: Use managed PCM buffer allocation (Jaroslav Kysela) [2003613] - ALSA: pxa2xx: Use managed PCM buffer allocation (Jaroslav Kysela) [2003613] - ASoC: rt5514: make array div static const, makes object smaller (Jaroslav Kysela) [2003613] - ASoC: codecs: ad193x: add support for 96kHz and 192kHz playback rates (Jaroslav Kysela) [2003613] - ASoC: soc-ops: cleanup cppcheck warning at snd_soc_put_xr_sx() (Jaroslav Kysela) [2003613] - ASoC: soc-ops: cleanup cppcheck warning at snd_soc_get_xr_sx() (Jaroslav Kysela) [2003613] - ASoC: soc-ops: cleanup cppcheck warning at snd_soc_limit_volume() (Jaroslav Kysela) [2003613] - ASoC: soc-ops: cleanup cppcheck warning at snd_soc_put_volsw_sx() (Jaroslav Kysela) [2003613] - ASoC: Intel: sof_sdw_max98373: remove useless inits (Jaroslav Kysela) [2003613] - ASoC: Intel: update sof_pcm512x quirks (Jaroslav Kysela) [2003613] - ASoC: SOF: Intel: Use DMI string to search for adl_mx98373_rt5682 variant (Jaroslav Kysela) [2003613] - ASoC: Intel: sof_sdw: add quirk for Dell XPS 9710 (Jaroslav Kysela) [2003613] - ASoC: cs42l42: Remove duplicate control for WNF filter frequency (Jaroslav Kysela) [2003613] - ASoC: cs42l42: Fix inversion of ADC Notch Switch control (Jaroslav Kysela) [2003613] - ASoC: SOF: Intel: hda-ipc: fix reply size checking (Jaroslav Kysela) [2003613] - ASoC: SOF: Intel: Kconfig: fix SoundWire dependencies (Jaroslav Kysela) [2003613] - ASoC: Intel: bytcr_rt5640: Fix HP ElitePad 1000 G2 quirk (Jaroslav Kysela) [2003613] - ASoC: Intel: bytcr_rt5640: Add support for a second headset mic input (Jaroslav Kysela) [2003613] - ASoC: Intel: bytcr_rt5640: Add support for a second headphones output (Jaroslav Kysela) [2003613] - ASoC: Intel: bytcr_rt5640: Add a byt_rt5640_get_codec_dai() helper (Jaroslav Kysela) [2003613] - ASoC: Intel: bytcr_rt5640: Add line-out support (Jaroslav Kysela) [2003613] - ASoC: Intel: bytcr_rt5640: Move "Platform Clock" routes to the maps for the matching in-/output (Jaroslav Kysela) [2003613] - ASoC: SOF: intel: add snd_sof_dsp_check_sdw_irq ops (Jaroslav Kysela) [2003613] - ASoC: SOF: intel: move sof_intel_dsp_desc() forward (Jaroslav Kysela) [2003613] - ASoC: SOF: intel: hda: remove HDA_DSP_REG_SNDW_WAKE_STS definition (Jaroslav Kysela) [2003613] - ASoC: SOF: intel: add sdw_shim/alh_base to sof_intel_dsp_desc (Jaroslav Kysela) [2003613] - ASoC: soc-topology: cleanup cppcheck warning at snd_soc_find_dai_link() (Jaroslav Kysela) [2003613] - ASoC: soc-topology: cleanup cppcheck warning at soc_tplg_kcontrol_elems_load() (Jaroslav Kysela) [2003613] - ASoC: soc-topology: cleanup cppcheck warning at soc_tplg_dapm_widget_elems_load() (Jaroslav Kysela) [2003613] - ASoC: soc-topology: cleanup cppcheck warning at soc_tplg_dai_elems_load() (Jaroslav Kysela) [2003613] - ASoC: soc-topology: cleanup cppcheck warning at soc_tplg_process_headers() (Jaroslav Kysela) [2003613] - ASoC: amd: Fix reference to PCM buffer address (Jaroslav Kysela) [2003613] - soundwire: add flag to ignore all command/control for mockup devices (Jaroslav Kysela) [2003613] - ASoC: nau8824: Fix open coded prefix handling (Jaroslav Kysela) [2003613] - ASoC: uniphier: Fix reference to PCM buffer address (Jaroslav Kysela) [2003613] - ASoC: xilinx: Fix reference to PCM buffer address (Jaroslav Kysela) [2003613] - ASoC: intel: atom: Fix reference to PCM buffer address (Jaroslav Kysela) [2003613] - ASoC: intel: skylake: Drop superfluous mmap callback (Jaroslav Kysela) [2003613] - ASoC: amd: Drop superfluous mmap callbacks (Jaroslav Kysela) [2003613] - ASoC: cs42l42: Fix bclk calculation for mono (Jaroslav Kysela) [2003613] - ASoC: cs42l42: Don't allow SND_SOC_DAIFMT_LEFT_J (Jaroslav Kysela) [2003613] - ASoC: cs42l42: Correct definition of ADC Volume control (Jaroslav Kysela) [2003613] - ASoC: v253_init: eliminate pointer to string (Jaroslav Kysela) [2003613] - ASoC: samsung: Constify static snd_soc_ops (Jaroslav Kysela) [2003613] - ASoC: soc-core: cleanup cppcheck warning at snd_soc_of_parse_audio_routing() (Jaroslav Kysela) [2003613] - ASoC: soc-core: cleanup cppcheck warning at snd_soc_of_parse_audio_simple_widgets() (Jaroslav Kysela) [2003613] - ASoC: soc-core: cleanup cppcheck warning at snd_soc_add_controls() (Jaroslav Kysela) [2003613] - ASoC: soc-core: cleanup cppcheck warning at snd_soc_unregister_component() (Jaroslav Kysela) [2003613] - ASoC: soc-core: cleanup cppcheck warning at snd_soc_daifmt_parse_format() (Jaroslav Kysela) [2003613] - ASoC: soc-core: cleanup cppcheck warning at snd_soc_get_dai_name() (Jaroslav Kysela) [2003613] - ASoC: soc-core: cleanup cppcheck warning at snd_soc_set_dmi_name() (Jaroslav Kysela) [2003613] - ASoC: Intel: Fix spelling contraction "cant" -> "can't" (Jaroslav Kysela) [2003613] - ASoC: component: Remove misplaced prefix handling in pin control functions (Jaroslav Kysela) [2003613] - ASoC: amd: fix an IS_ERR() vs NULL bug in probe (Jaroslav Kysela) [2003613] - ASoC: rt5682: enable SAR ADC power saving mode during suspend (Jaroslav Kysela) [2003613] - ASoC: soc-pcm: cleanup cppcheck warning at dpcm_runtime_setup_be_chan() (Jaroslav Kysela) [2003613] - ASoC: soc-pcm: cleanup cppcheck warning at dpcm_be_is_active() (Jaroslav Kysela) [2003613] - ASoC: soc-pcm: cleanup cppcheck warning at soc_get_playback_capture() (Jaroslav Kysela) [2003613] - ASoC: soc-pcm: cleanup cppcheck warning at soc_pcm_components_close() (Jaroslav Kysela) [2003613] - ASoC: soc-pcm: cleanup cppcheck warning at soc_pcm_apply_msb() (Jaroslav Kysela) [2003613] - ASoC: SOF: Intel: hda: enforce exclusion between HDaudio and SoundWire (Jaroslav Kysela) [2003613] - ASoC: topology: Select SND_DYNAMIC_MINORS (Jaroslav Kysela) [2003613] - ASoC: rt1015: Remove unnecessary flush work on rt1015 driver (Jaroslav Kysela) [2003613] - ASoC: Intel: sof_da7219_mx98360a: fail to initialize soundcard (Jaroslav Kysela) [2003613] - ASoC: amd: Use dev_probe_err helper (Jaroslav Kysela) [2003613] - ASoC: amd: Don't show messages about deferred probing by default (Jaroslav Kysela) [2003613] - ASoC: amd: enable stop_dma_first flag for cz_dai_7219_98357 dai link (Jaroslav Kysela) [2003613] - ASoC: amd: enable vangogh acp5x driver build (Jaroslav Kysela) [2003613] - ASoC: amd: add vangogh i2s dma driver pm ops (Jaroslav Kysela) [2003613] - ASoC: amd: add vangogh pci driver pm ops (Jaroslav Kysela) [2003613] - ASoC: amd: add vangogh i2s dai driver ops (Jaroslav Kysela) [2003613] - ASoC: amd: add vangogh i2s controller driver (Jaroslav Kysela) [2003613] - ASoC: amd: add ACP5x pcm dma driver ops (Jaroslav Kysela) [2003613] - ASoC: amd: irq handler changes for ACP5x PCM dma driver (Jaroslav Kysela) [2003613] - ASoC: amd: add ACP5x PCM platform driver (Jaroslav Kysela) [2003613] - ASoC: amd: create acp5x platform devices (Jaroslav Kysela) [2003613] - ASoc: amd: add acp5x init/de-init functions (Jaroslav Kysela) [2003613] - ASoC: amd: add Vangogh ACP PCI driver (Jaroslav Kysela) [2003613] - ASoC: amd: add Vangogh ACP5x IP register header (Jaroslav Kysela) [2003613] - ASoC: amd: renoir: Run hibernation callbacks (Jaroslav Kysela) [2003613] - ASoC: rt5682: Adjust headset volume button threshold (Jaroslav Kysela) [2003613] - ASOC: Intel: sof_sdw: add quirk for Intel 'Bishop County' NUC M15 (Jaroslav Kysela) [2003613] - ASoC: rt5682: Fix the issue of garbled recording after powerd_dbus_suspend (Jaroslav Kysela) [2003613] - ASoC: amd: reverse stop sequence for stoneyridge platform (Jaroslav Kysela) [2003613] - ASoC: soc-pcm: add a flag to reverse the stop sequence (Jaroslav Kysela) [2003613] - ASoC: Intel: boards: sof_sdw: add SoundWire mockup codecs for tests (Jaroslav Kysela) [2003613] - ASoC: soc-acpi: tgl: add table for SoundWire mockup devices (Jaroslav Kysela) [2003613] - ASoC: soc-acpi: cnl: add table for SoundWire mockup devices (Jaroslav Kysela) [2003613] - ASoC: codecs: add SoundWire mockup device support (Jaroslav Kysela) [2003613] - ASoC: Intel: sof_sdw: update quirk for jack detection in ADL RVP (Jaroslav Kysela) [2003613] - ASoC: Intel: sof_sdw: include rt711.h for RT711 JD mode (Jaroslav Kysela) [2003613] - ASoC: Intel: sof_sdw: extends SOF_RT711_JDSRC to 4 bits (Jaroslav Kysela) [2003613] - ASoC: Intel: sof_rt5682: code refactor for max98360a (Jaroslav Kysela) [2003613] - ASoC: Intel: sof_rt5682: code refactor for max98357a (Jaroslav Kysela) [2003613] - ASoC: Intel: sof_rt5682: Enable Bluetooth offload on tgl and adl (Jaroslav Kysela) [2003613] - ASoC: Intel: sof_cs42l42: add support for jsl_cs4242_mx98360a (Jaroslav Kysela) [2003613] - ASoC: Intel: maxim-common: support max98360a (Jaroslav Kysela) [2003613] - ASoC: Intel: maxim-common: support max98357a (Jaroslav Kysela) [2003613] - ASoC: Intel: sof_cs42l42: support arbitrary DAI link sequence (Jaroslav Kysela) [2003613] - ASoC: SOF: Intel: Update ADL descriptor to use ACPI power states (Jaroslav Kysela) [2003613] - ASoC: rt5631: Fix regcache sync errors on resume (Jaroslav Kysela) [2003613] - ASoC: amd: fix spelling mistakes (Jaroslav Kysela) [2003613] - ASoC: Intel: sof_cs42l42: use helper function to get bclk frequency (Jaroslav Kysela) [2003613] - ASoC: SOF: add a helper to get topology configured bclk (Jaroslav Kysela) [2003613] - ASoC: tegra: Use ADMAIF component for DMA allocations (Jaroslav Kysela) [2003613] - ASoC: Intel: boards: fix xrun issue on platform with max98373 (Jaroslav Kysela) [2003613] - ASoC: tegra30: ahub: Use devm_platform_get_and_ioremap_resource() (Jaroslav Kysela) [2003613] - ASoC: tegra: mark runtime-pm functions as __maybe_unused (Jaroslav Kysela) [2003613] - ASoC: tegra30: ahub: Remove handing of disabled runtime PM (Jaroslav Kysela) [2003613] - ASoC: tegra30: ahub: Correct suspend-resume callbacks (Jaroslav Kysela) [2003613] - ASoC: tegra30: ahub: Reset global variable (Jaroslav Kysela) [2003613] - ASoC: tegra30: ahub: Switch to use reset-bulk API (Jaroslav Kysela) [2003613] - ASoC: tegra: ahub: Reset hardware properly (Jaroslav Kysela) [2003613] - ASoC: tegra: ahub: Use clk_bulk helpers (Jaroslav Kysela) [2003613] - ASoC: tegra: ahub: Add missing resets (Jaroslav Kysela) [2003613] - ASoC: tegra: tegra210_admaif: Use devm_platform_get_and_ioremap_resource() (Jaroslav Kysela) [2003613] - ASoC: tegra20: spdif: Use devm_platform_get_and_ioremap_resource() (Jaroslav Kysela) [2003613] - ASoC: tegra20: i2s: Use devm_platform_get_and_ioremap_resource() (Jaroslav Kysela) [2003613] - ASoC: simple-card: Fill in driver name (Jaroslav Kysela) [2003613] - ASoC: SOF: imx: Add missing of_node_put() in imx8_probe() (Jaroslav Kysela) [2003613] - ASoC: Intel: skl_hda_dsp_generic: Update Kconfig documentation (Jaroslav Kysela) [2003613] - ASoC: Intel: use MODULE_DEVICE_TABLE with platform_device_id tables (Jaroslav Kysela) [2003613] - ASoC: Intel: soc-acpi: add ull suffix for SoundWire _ADR values (Jaroslav Kysela) [2003613] - ASoC: Intel: sof_sdw: fix signed/unsigned warning (Jaroslav Kysela) [2003613] - ASoC: Intel: sof_da7219_max98373: shrink platform_id below 20 characters (Jaroslav Kysela) [2003613] - ASoC: Intel: kbl_da7219_max98357a: shrink platform_id below 20 characters (Jaroslav Kysela) [2003613] - ASoC: Intel: glk_rt5682_max98357a: shrink platform_id below 20 characters (Jaroslav Kysela) [2003613] - ASoC: Intel: sof_rt5682: shrink platform_id names below 20 characters (Jaroslav Kysela) [2003613] - ASoC: Intel: sof_sdw: remove hdac-hdmi support (Jaroslav Kysela) [2003613] - ASoC: Intel: sof_sdw: use mach data for ADL RVP DMIC count (Jaroslav Kysela) [2003613] - ASoC: tegra: Fix a NULL vs IS_ERR() check (Jaroslav Kysela) [2003613] - ASoC: rt711: add two jack detection modes (Jaroslav Kysela) [2003613] - ASoC: samsung: s3c24xx-i2s: Use devm_platform_get_and_ioremap_resource() (Jaroslav Kysela) [2003613] - ASoC: samsung: s3c2412-i2s: Use devm_platform_get_and_ioremap_resource() (Jaroslav Kysela) [2003613] - ASoC: samsung: pcm: Use devm_platform_get_and_ioremap_resource() (Jaroslav Kysela) [2003613] - ASoC: samsung: i2s: Use devm_platform_get_and_ioremap_resource() (Jaroslav Kysela) [2003613] - ASoC: soc-core: remove snd_soc_of_parse_daifmt() (Jaroslav Kysela) [2003613] - ASoC: simple-card-utils: switch to use snd_soc_daifmt_parse_format/clock_provider() (Jaroslav Kysela) [2003613] - ASoC: soc-core: add snd_soc_daifmt_parse_format/clock_provider() (Jaroslav Kysela) [2003613] - ASoC: soc-core: add snd_soc_daifmt_clock_provider_fliped() (Jaroslav Kysela) [2003613] - ASoC: soc-core: add snd_soc_daifmt_clock_provider_from_bitmap() (Jaroslav Kysela) [2003613] - ASoC: rt711-sdca-sdw: fix race condition on system suspend (Jaroslav Kysela) [2003613] - ASoC: rt5682-sdw: fix race condition on system suspend (Jaroslav Kysela) [2003613] - ASoC: rt711-sdw: fix race condition on system suspend (Jaroslav Kysela) [2003613] - ASoC: rt700-sdw: fix race condition on system suspend (Jaroslav Kysela) [2003613] - ASoC: fsi: fix spelling mistake (Jaroslav Kysela) [2003613] - ASoC: Intel: bdw-rt5677: remove unnecessary oom message (Jaroslav Kysela) [2003613] - ASoC: spear: spdif_out: Use devm_platform_get_and_ioremap_resource() (Jaroslav Kysela) [2003613] - ASoC: sprd: Use devm_platform_get_and_ioremap_resource() (Jaroslav Kysela) [2003613] - ASoC: soc-core: Fix the error return code in snd_soc_of_parse_audio_routing() (Jaroslav Kysela) [2003613] - ASoC: sti: sti_uniperif: Use devm_platform_get_and_ioremap_resource() (Jaroslav Kysela) [2003613] - ASoC: stm32: spdifrx: Use devm_platform_get_and_ioremap_resource() (Jaroslav Kysela) [2003613] - ASoC: stm32: sai: Use devm_platform_get_and_ioremap_resource() (Jaroslav Kysela) [2003613] - ASoC: stm32: i2s: Use devm_platform_get_and_ioremap_resource() (Jaroslav Kysela) [2003613] - ASoC: hdmi-codec: make hdmi_codec_controls static (Jaroslav Kysela) [2003613] - ASoC: rockchip: spdif: Use devm_platform_get_and_ioremap_resource() (Jaroslav Kysela) [2003613] - ASoC: rockchip: pdm: Use devm_platform_get_and_ioremap_resource() (Jaroslav Kysela) [2003613] - ASoC: rockchip: i2s: Use devm_platform_get_and_ioremap_resource() (Jaroslav Kysela) [2003613] - ASoC: cs42l42: Correct definition of CS42L42_ADC_PDN_MASK (Jaroslav Kysela) [2003613] - ASoC: hisilicon: Use devm_platform_get_and_ioremap_resource() (Jaroslav Kysela) [2003613] - ASoC: jz4740-i2s: Use devm_platform_get_and_ioremap_resource() (Jaroslav Kysela) [2003613] - ASoC: img-spdif-out: Use devm_platform_get_and_ioremap_resource() (Jaroslav Kysela) [2003613] - ASoC: img-spdif-in: Use devm_platform_get_and_ioremap_resource() (Jaroslav Kysela) [2003613] - ASoC: img-parallel-out: Use devm_platform_get_and_ioremap_resource() (Jaroslav Kysela) [2003613] - ASoC: img-i2s-out: Use devm_platform_get_and_ioremap_resource() (Jaroslav Kysela) [2003613] - ASoC: img-i2s-in: Use devm_platform_get_and_ioremap_resource() (Jaroslav Kysela) [2003613] - ASoC: dwc: dwc-i2s: Use devm_platform_get_and_ioremap_resource() (Jaroslav Kysela) [2003613] - ASoC: tegra: Squash utils into common machine driver (Jaroslav Kysela) [2003613] - ASoC: tegra: Specify components string for each card (Jaroslav Kysela) [2003613] - ASoC: tegra: Unify ASoC machine drivers (Jaroslav Kysela) [2003613] - ASoC: tegra: SND_SOC_TEGRA_AUDIO_GRAPH_CARD should depend on SND_SOC_TEGRA (Jaroslav Kysela) [2003613] - ASoC: tegra20-spdif: remove "default m" (Jaroslav Kysela) [2003613] - ASoC: tegra: Add audio graph based card driver (Jaroslav Kysela) [2003613] - ASoC: tegra: Set driver_name=tegra for all machine drivers (Jaroslav Kysela) [2003613] - ASoC: rt5640: Make codec selectable (Jaroslav Kysela) [2003613] - ASoC: hdmi-codec: Add a prepare hook (Jaroslav Kysela) [2003613] - ASoC: hdmi-codec: Add iec958 controls (Jaroslav Kysela) [2003613] - ASoC: rt5645: Avoid upgrading static warnings to errors (Jaroslav Kysela) [2003613] - ASoC: hdmi-codec: Rework to support more controls (Jaroslav Kysela) [2003613] - ASoC: soc-core: don't use discriminatory terms on snd_soc_runtime_get_dai_fmt() (Jaroslav Kysela) [2003613] - ASoC: rt711-sdca: handle mbq_regmap in rt711_sdca_io_init (Jaroslav Kysela) [2003613] - ASoC: rt711-sdca-sdw: add readable for SDW_SDCA_CTL() registers (Jaroslav Kysela) [2003613] - ASoC: rt5682-sdw: set regcache_cache_only false before reading RT5682_DEVICE_ID (Jaroslav Kysela) [2003613] - ASoC: rt5682: Fix a problem with error handling in the io init function of the soundwire (Jaroslav Kysela) [2003613] - ASoC: rt715-sdca: fix clock stop prepare timeout issue (Jaroslav Kysela) [2003613] - ASoC: rt715-sdw: use first_hw_init flag on resume (Jaroslav Kysela) [2003613] - ASoC: rt715-sdca-sdw: use first_hw_init flag on resume (Jaroslav Kysela) [2003613] - ASoC: rt711-sdw: use first_hw_init flag on resume (Jaroslav Kysela) [2003613] - ASoC: rt711-sdca-sdw: use first_hw_init flag on resume (Jaroslav Kysela) [2003613] - ASoC: rt700-sdw: use first_hw_init flag on resume (Jaroslav Kysela) [2003613] - ASoC: rt5682-sdw: use first_hw_init flag on resume (Jaroslav Kysela) [2003613] - ASoC: rt1316-sdw: use first_hw_init flag on resume (Jaroslav Kysela) [2003613] - ASoC: rt1308-sdw: use first_hw_init flag on resume (Jaroslav Kysela) [2003613] - ASoC: max98373-sdw: use first_hw_init flag on resume (Jaroslav Kysela) [2003613] - ASoC: max98373-sdw: add missing memory allocation check (Jaroslav Kysela) [2003613] - ASoC: hdmi-codec: add .auto_selectable_formats support (Jaroslav Kysela) [2003613] - ASoC: fsi: add .auto_selectable_formats support (Jaroslav Kysela) [2003613] - ASoC: pcm3168a: add .auto_selectable_formats support (Jaroslav Kysela) [2003613] - ASoC: ak4613: add .auto_selectable_formats support (Jaroslav Kysela) [2003613] - ASoC: soc-core: add snd_soc_runtime_get_dai_fmt() (Jaroslav Kysela) [2003613] - ASoC: soc-core: move snd_soc_runtime_set_dai_fmt() to upside (Jaroslav Kysela) [2003613] - ASoC: Intel: Skylake: use DEVICE_ATTR_RO macro (Jaroslav Kysela) [2003613] - mfd: arizona: Allow building arizona MFD-core as module (Jaroslav Kysela) [2003613] - ASoC: SOF: Intel: pci-tgl: add ADL-M support (Jaroslav Kysela) [2003613] - ASoC: SOF: Intel: hda: don't print ROM status if cl_dsp_init() fails (Jaroslav Kysela) [2003613] - ASoC: SOF: Intel: hda: clean up hda_dsp_dump() (Jaroslav Kysela) [2003613] - ASoC: SOF: Intel: Constify sof_probe_compressed_ops (Jaroslav Kysela) [2003613] - ASoC: wm5110: Constify static struct snd_compress_ops (Jaroslav Kysela) [2003613] - ASoC: wm5102: Constify static struct snd_compress_ops (Jaroslav Kysela) [2003613] - ASoC: cs47125: Constify static struct snd_compress_ops (Jaroslav Kysela) [2003613] - ASoC: cs42l52: use DEVICE_ATTR_WO macro (Jaroslav Kysela) [2003613] - ASoC: cs35l3x: Use neutral language in amp drivers (Jaroslav Kysela) [2003613] - ASoC: cs43130: Use DEVICE_ATTR_RO macro (Jaroslav Kysela) [2003613] - ASoC: wm8962: Use DEVICE_ATTR_WO macro (Jaroslav Kysela) [2003613] - ASoC: cs42l56: use DEVICE_ATTR_WO macro (Jaroslav Kysela) [2003613] - ASoC: tlv320aic26: use DEVICE_ATTR_RW macro (Jaroslav Kysela) [2003613] - ASoC: cs42l42: Check jack status before reporting button events (Jaroslav Kysela) [2003613] - ASoC: cs42l42: Add support for 2400000 Bit clock (Jaroslav Kysela) [2003613] - ASoC: cs42l42: Add support for 2304000 Bit clock (Jaroslav Kysela) [2003613] - ASoC: cs42l42: Fix 1536000 Bit Clock instability (Jaroslav Kysela) [2003613] - ASoC: Intel: sof_sdw: add quirk support for Brya and BT-offload (Jaroslav Kysela) [2003613] - ASoC: Intel: sof_sdw: add SOF_RT715_DAI_ID_FIX for AlderLake (Jaroslav Kysela) [2003613] - ASoC: Intel: boards: remove .nonatomic for BE dailinks (Jaroslav Kysela) [2003613] - ASoC: Intel: sof_sdw: add support for Bluetooth offload (Jaroslav Kysela) [2003613] - ASoC: Intel: common: Add entries for sdw codecs in ADL match table (Jaroslav Kysela) [2003613] - ASoC: Intel: soc-acpi: add entries for i2s machines in ADL match table (Jaroslav Kysela) [2003613] - ASoC: SOF: Intel: hda: Remove conditions against CONFIG_PCI (Jaroslav Kysela) [2003613] - ASoC: SOF: ops: don't return void value (Jaroslav Kysela) [2003613] - ASoC: SOF: topology: fix assignment to use le32_to_cpu (Jaroslav Kysela) [2003613] - ASoC: SOF: loader: Use snd_sof_dsp_block_read() instead sof_block_read() (Jaroslav Kysela) [2003613] - ASoC: SOF: ops: print out the polling register (Jaroslav Kysela) [2003613] - ASoC: SOF: pci: No need to cast second time to save the desc (Jaroslav Kysela) [2003613] - ASoC: SOF: Check desc->ops directly in acpi/pci/of probe functions (Jaroslav Kysela) [2003613] - ASoC: topology: Fix using uninitialized pointer (Jaroslav Kysela) [2003613] - ASoC: soc-dai: fix up hw params only if it is needed (Jaroslav Kysela) [2003613] - ASoC: soc-core: use DEVICE_ATTR_RO macro (Jaroslav Kysela) [2003613] - ASoC: topology: Add support for multiple kcontrol types to a widget (Jaroslav Kysela) [2003613] - ASoC: intel/boards: add missing MODULE_DEVICE_TABLE (Jaroslav Kysela) [2003613] - ASoC: cs43130: handle errors in cs43130_probe() properly (Jaroslav Kysela) [2003613] - Revert "ASoC: cs43130: fix a NULL pointer dereference" (Jaroslav Kysela) [2003613] - ASoC: cs42l42: make HSBIAS_SENSE_EN optional (Jaroslav Kysela) [2003613] - ASoC: wm2200: remove include of wmfw.h (Jaroslav Kysela) [2003613] - ASoC: wm_adsp: mark more data structures with the const qualifier (Jaroslav Kysela) [2003613] - ASoC: Intel: bxt_da7219_max98357a: shrink platform_id below 20 characters (Jaroslav Kysela) [2003613] - ASoC: Intel: sof_cs42l42: shrink platform id below 20 characters (Jaroslav Kysela) [2003613] - ASoC: Intel: add sof-cs42l42 machine driver (Jaroslav Kysela) [2003613] - ASoC: Intel: boards: create sof-maxim-common module (Jaroslav Kysela) [2003613] - ASoC: Intel: boards: handle hda-dsp-common as a module (Jaroslav Kysela) [2003613] - ASoC: Intel: boards: add support for adl boards in sof-rt5682 (Jaroslav Kysela) [2003613] - ASoC: Intel: Boards: tgl_max98373: Add BT offload support (Jaroslav Kysela) [2003613] - ASoC: SOF: Intel: hda: fix index used in inner loop (Jaroslav Kysela) [2003613] - ALSA: fireworks: add support for Loud Onyx 1200f quirk (Jaroslav Kysela) [2003613] - ALSA: firewire-motu: add support for MOTU Track 16 (Jaroslav Kysela) [2003613] - ALSA: firewire-motu: add support for MOTU Traveler mk3 (Jaroslav Kysela) [2003613] - ALSA: firewire-motu: remove TODO for interaction with userspace about control message (Jaroslav Kysela) [2003613] - ALSA: oxfw: fix functional regression for Mackie Onyx 1640i in v5.14 or later (Jaroslav Kysela) [2003613] - ALSA: firewire-motu: export meter information to userspace as float value (Jaroslav Kysela) [2003613] - ALSA: firewire-motu: refine parser for meter information in register DSP models (Jaroslav Kysela) [2003613] - ALSA: firewire-motu: fix null pointer dereference when polling hwdep character device (Jaroslav Kysela) [2003613] - ALSA: firewire-motu: notify event for parameter change in register DSP model (Jaroslav Kysela) [2003613] - ALSA: firewire-motu: queue event for parameter change in register DSP model (Jaroslav Kysela) [2003613] - ALSA: firewire-motu: add ioctl command to read cached parameters in register DSP model (Jaroslav Kysela) [2003613] - ALSA: firewire-motu: parse messages for input parameters in register DSP model (Jaroslav Kysela) [2003613] - ALSA: firewire-motu: parse messages for line input parameters in register DSP model (Jaroslav Kysela) [2003613] - ALSA: firewire-motu: parse messages for output parameters in register DSP model (Jaroslav Kysela) [2003613] - ALSA: firewire-motu: parse messages for mixer output parameters in register DSP model (Jaroslav Kysela) [2003613] - ALSA: firewire-motu: parse messages for mixer source parameters in register-DSP model (Jaroslav Kysela) [2003613] - ALSA: firewire-motu: add ioctl command to read cached hardware meter (Jaroslav Kysela) [2003613] - ALSA: firewire-motu: add message parser for meter information in command DSP model (Jaroslav Kysela) [2003613] - ALSA: firewire-motu: add message parser to gather meter information in register DSP model (Jaroslav Kysela) [2003613] - ALSA: firewire-motu: fix truncated bytes in message tracepoints (Jaroslav Kysela) [2003613] - ALSA: oxfw: fix transmission method for Loud models based on OXFW971 (Jaroslav Kysela) [2003613] - ALSA: firewire-motu: add support for MOTU 896HD (Jaroslav Kysela) [2003613] - ALSA: oxfw: fix functioal regression for silence in Apogee Duet FireWire (Jaroslav Kysela) [2003613] - ALSA: bebob: correct duplicated entries with TerraTec OUI (Jaroslav Kysela) [2003613] - ALSA: firewire-lib: Fix 'amdtp_domain_start()' when no AMDTP_OUT_STREAM stream is found (Jaroslav Kysela) [2003613] - ALSA: firewire-motu: fix register handling for 896 (Jaroslav Kysela) [2003613] - ALSA: firewire-motu: fix register handling for 828 (Jaroslav Kysela) [2003613] - ALSA: firewire-motu: use macro instead of magic number for clock source in v3 protocol (Jaroslav Kysela) [2003613] - ALSA: firewire-motu: code refactoring for source detection of sampling clock in v3 protocol (Jaroslav Kysela) [2003613] - ALSA: firewire-motu: code refactoring for packet format detection in v2 protocol (Jaroslav Kysela) [2003613] - ALSA: firewire-motu: use macro instead of magic number for clock source in v2 protocol (Jaroslav Kysela) [2003613] - ALSA: firewire-motu: add support for AES/EBU clock source in v2 protocol (Jaroslav Kysela) [2003613] - ALSA: firewire-motu: code refactoring for detection of clock source in v2 protocol (Jaroslav Kysela) [2003613] - ALSA: firewire-motu: fix detection for S/PDIF source on optical interface in v2 protocol (Jaroslav Kysela) [2003613] - ALSA: bebob: add support for ToneWeal FW66 (Jaroslav Kysela) [2003613] - ALSA: firewire-motu: fix rx packet format at higher rate for MOTU 828 mk3 Hybrid (Jaroslav Kysela) [2003613] - ALSA: bebob: fix rx packet format for Yamaha GO44/GO46, Terratec Phase 24/x24 (Jaroslav Kysela) [2003613] - ALSA: firewire-motu: fix stream format for MOTU 8pre FireWire (Jaroslav Kysela) [2003613] - ALSA: firewire-motu: add support for MOTU 896 (Jaroslav Kysela) [2003613] - ALSA: firewire-motu: add support for MOTU 828 (Jaroslav Kysela) [2003613] - ALSA: bebob: Fix bit flag quirk constants (Jaroslav Kysela) [2003613] - ALSA: firewire: fill Kconfig with entries for devices based on DICE ASICs (Jaroslav Kysela) [2003613] - ALSA: bebob: correct device entries for Phonic Helix Board and FireFly series (Jaroslav Kysela) [2003613] - ALSA: bebob: code refactoring for M-Audio models (Jaroslav Kysela) [2003613] - ALSA: bebob: correct device entry for Acoustic Reality eAR Master One, Eroica, Figaro, and Ciaccona (Jaroslav Kysela) [2003613] - ALSA: bebob: correct device entry for Mackie D.2 FireWire option card (Jaroslav Kysela) [2003613] - ALSA: fireworks: fulfil device entries (Jaroslav Kysela) [2003613] - ALSA: bebob: fulfil device entries (Jaroslav Kysela) [2003613] - ALSA: firewire-lib: replace in_interrupt() with in_softirq() (Jaroslav Kysela) [2003613] - ALSA: bebob: code refactoring for model-dependent quirks (Jaroslav Kysela) [2003613] - ALSA: bebob: delete workaround for protocol version 3 (Jaroslav Kysela) [2003613] - ALSA: bebob: dismiss sleep after breaking connections (Jaroslav Kysela) [2003613] - ALSA: firewire-lib: obsolete workqueue for period update (Jaroslav Kysela) [2003613] - ALSA: firewire-lib: operate for period elapse event in process context (Jaroslav Kysela) [2003613] - ALSA: firewire-lib: delete unused kernel API (Jaroslav Kysela) [2003613] - ALSA: fireface: cease from delayed card registration (Jaroslav Kysela) [2003613] - ALSA: firewire-motu: cease from delayed card registration (Jaroslav Kysela) [2003613] - ALSA: firewire-tascam: cease from delayed card registration (Jaroslav Kysela) [2003613] - ALSA: firewire-digi00x: cease from delayed card registration (Jaroslav Kysela) [2003613] - ALSA: dice: cease from delayed card registration (Jaroslav Kysela) [2003613] - ALSA: oxfw: cease from delayed card registration (Jaroslav Kysela) [2003613] - ALSA: fireworks: cease from delayed card registration (Jaroslav Kysela) [2003613] - ALSA: bebob: cease from delayed card registration (Jaroslav Kysela) [2003613] - ALSA: firewire-motu: add support for hybrid model of MOTU Ultralite mk3 (Jaroslav Kysela) [2003613] - ALSA: firewire-lib: remove useless operations for kernel preemption (Jaroslav Kysela) [2003613] - ALSA: firewire-lib: fix error codes for allocation failure (Jaroslav Kysela) [2003613] - ALSA: firewire-motu: fix error return code in snd_motu_stream_reserve_duplex() (Jaroslav Kysela) [2003613] - ALSA: firewire-motu: sequence replay for source packet header (Jaroslav Kysela) [2003613] - ALSA: firewire-motu: cache event ticks in source packet header per data block (Jaroslav Kysela) [2003613] - ALSA: firewire-motu: use macro for magic numbers relevant to IEC 61883-1 (Jaroslav Kysela) [2003613] - ALSA: bebob: perform sequence replay for media clock recovery (Jaroslav Kysela) [2003613] - ALSA: dice: perform sequence replay for media clock recovery (Jaroslav Kysela) [2003613] - ALSA: dice: wait just for NOTIFY_CLOCK_ACCEPTED after GLOBAL_CLOCK_SELECT operation (Jaroslav Kysela) [2003613] - ALSA: fireface: perform sequence replay for media clock recovery (Jaroslav Kysela) [2003613] - ALSA: firewire-tascam: perform sequence replay for media clock recovery (Jaroslav Kysela) [2003613] - ALSA: firewire-digi00x: perform sequence replay for media clock recovery (Jaroslav Kysela) [2003613] - ALSA: oxfw: perform sequence replay for media clock recovery (Jaroslav Kysela) [2003613] - ALSA: fireworks: perform sequence replay for media clock recovery (Jaroslav Kysela) [2003613] - ALSA: fireworks: delete SYTMATCH clock source (Jaroslav Kysela) [2003613] - ALSA: firewire-lib: support NO_PERIOD_WAKEUP in ALSA PCM runtime (Jaroslav Kysela) [2003613] - ALSA: firewire-lib: transfer rx packets on-the-fly when replaying (Jaroslav Kysela) [2003613] - ALSA: firewire-lib: replay sequence of incoming packets for outgoing packets (Jaroslav Kysela) [2003613] - ALSA: firewire-lib: add replay target to cache sequence of packet (Jaroslav Kysela) [2003613] - ALSA: bebob: distinguish M-Audio ProFire Lightbridge quirk (Jaroslav Kysela) [2003613] - ALSA: bebob: cancel switching connection order (Jaroslav Kysela) [2003613] - ALSA: firewire-lib: obsolete callbacked member (Jaroslav Kysela) [2003613] - ALSA: firewire-lib: drop initial NODATA or empty packet (Jaroslav Kysela) [2003613] - ALSA: firewire-lib: code refactoring for transfer delay (Jaroslav Kysela) [2003613] - ALSA: firewire-lib: code refactoring for generation of data block sequence (Jaroslav Kysela) [2003613] - ALSA: firewire-lib: code refactoring for generation of syt sequence (Jaroslav Kysela) [2003613] - ALSA: firewire-lib: code refactoring for generation of packet descriptors (Jaroslav Kysela) [2003613] - ALSA: firewire-lib: pool sequence of packet in IT context independently (Jaroslav Kysela) [2003613] - ALSA: firewire-lib: add flag to unaware of syt in CIP header (Jaroslav Kysela) [2003613] - ALSA: firewire-lib: Fix uninitialized variable err issue (Jaroslav Kysela) [2003613] - ALSA: firewire-lib: change waking up timing to process packets (Jaroslav Kysela) [2003613] - ALSA: firewire-lib: start processing content of packet at the same cycle in several IT contexts (Jaroslav Kysela) [2003613] - ALSA: firewire-lib: code refactoring to start several IT/IR contexts (Jaroslav Kysela) [2003613] - ALSA: firewire-lib: skip initial packets instead of scheduling IR context (Jaroslav Kysela) [2003613] - ALSA: firewire-lib: start processing content of packet at the same cycle in several IR contexts (Jaroslav Kysela) [2003613] - ALSA: firewire-lib: code refactoring for selection of IT context header length (Jaroslav Kysela) [2003613] - ALSA: firewire-lib: code refactoring for calculation of context payload (Jaroslav Kysela) [2003613] - ALSA: firewire-lib: code refactoring for size of CIP header (Jaroslav Kysela) [2003613] - ALSA: firewire-lib: insert descriptor for skipped cycle (Jaroslav Kysela) [2003613] - ALSA: firewire-lib: check cycle continuity (Jaroslav Kysela) [2003613] - ALSA: firewire-lib: code refactoring for check of CIP header about payload size (Jaroslav Kysela) [2003613] - ALSA: firewire-lib: code refactoring for parser of IR context header (Jaroslav Kysela) [2003613] - ALSA: firewire-lib: code refactoring for helper function to compute OHCI 1394 cycle (Jaroslav Kysela) [2003613] - ALSA: firewire-lib: code refactoring for sequence descriptor' (Jaroslav Kysela) [2003613] - ALSA: firewire-lib: handle the case that empty isochronous packet payload for CIP (Jaroslav Kysela) [2003613] - ALSA: firewire-lib: code refactoring to refer the same frame count per period in domain structure (Jaroslav Kysela) [2003613] - ALSA: oxfw: add quirk flag for blocking transmission method (Jaroslav Kysela) [2003613] - ALSA: oxfw: code refactoring for wrong_dbs quirk (Jaroslav Kysela) [2003613] - ALSA: firewire-lib: code refactoring for jumbo payload quirk (Jaroslav Kysela) [2003613] - ALSA: oxfw: code refactoring for jumbo-payload quirk in OXFW970 (Jaroslav Kysela) [2003613] - ALSA: oxfw: add comment for the type of ASICs (Jaroslav Kysela) [2003613] - ALSA: oxfw: add explicit device entry for Loud Technologies Mackie Onyx Sattelite (Jaroslav Kysela) [2003613] - ALSA: oxfw: add explicit device entry for Loud Technologies Tapco Link.FireWire 4x6 (Jaroslav Kysela) [2003613] - ALSA: oxfw: code refactoring to detect mackie models (Jaroslav Kysela) [2003613] - ALSA: oxfw: code refactoring for existent device entry with specifier_id and version (Jaroslav Kysela) [2003613] - ALSA: firewire-lib/motu: use int type for the value of bitwise OR with enumerator-constant (Jaroslav Kysela) [2003613] - Revert "ALSA: bebob/oxfw: fix Kconfig entry for Mackie d.2 Pro" (Jaroslav Kysela) [2003613] - ALSA: hda/realtek: Fix quirk for Clevo NJ51CU (Jaroslav Kysela) [2003613] - ALSA: hda/hdmi: Disable silent stream on GLK (Jaroslav Kysela) [2003613] - ALSA: hda/realtek: fix mute/micmute LEDs for a HP ProBook (Jaroslav Kysela) [2003613] - ALSA: hda/realtek: Add new alc285-hp-amp-init model (Jaroslav Kysela) [2003613] - ALSA: hda/realtek: Amp init fixup for HP ZBook 15 G6 (Jaroslav Kysela) [2003613] - ALSA: hda/realtek - Add headset Mic support for Lenovo ALC897 platform (Jaroslav Kysela) [2003613] - ALSA: hda/realtek: Fix quirk for TongFang PHxTxX1 (Jaroslav Kysela) [2003613] - ALSA: hda/hdmi: fix HDA codec entry table order for ADL-P (Jaroslav Kysela) [2003613] - ALSA: hda: Add Intel DG2 PCI ID and HDMI codec vid (Jaroslav Kysela) [2003613] - ALSA: hda/cs8409: Set PMSG_ON earlier inside cs8409 driver (Jaroslav Kysela) [2003613] - ALSA: ctxfi: Fix out-of-range access (Jaroslav Kysela) [2003613] - ALSA: hda/realtek: Fix LED on HP ProBook 435 G7 (Jaroslav Kysela) [2003613] - ALSA: cmipci: Drop stale variable assignment (Jaroslav Kysela) [2003613] - ALSA: hda/realtek: Add quirk for ASRock NUC Box 1100 (Jaroslav Kysela) [2003613] - ALSA: hda: fix general protection fault in azx_runtime_idle (Jaroslav Kysela) [2003613] - ALSA: hda: Free card instance properly at probe errors (Jaroslav Kysela) [2003613] - ALSA: hda/realtek: Add quirk for HP EliteBook 840 G7 mute LED (Jaroslav Kysela) [2003613] - ALSA: hda/realtek: Add quirk for ASUS UX550VE (Jaroslav Kysela) [2003613] - ALSA: hda/realtek: Add a quirk for Acer Spin SP513-54N (Jaroslav Kysela) [2003613] - ALSA: hda/realtek: Headset fixup for Clevo NH77HJQ (Jaroslav Kysela) [2003613] - ALSA: hda/realtek: Add quirk for Clevo PC70HS (Jaroslav Kysela) [2003613] - ALSA: hda/realtek: Add a quirk for HP OMEN 15 mute LED (Jaroslav Kysela) [2003613] - ALSA: hda/realtek: Fix mic mute LED for the HP Spectre x360 14 (Jaroslav Kysela) [2003613] - ALSA: ISA: not for M68K (Jaroslav Kysela) [2003613] - ALSA: hda/realtek: Fixes HP Spectre x360 15-eb1xxx speakers (Jaroslav Kysela) [2003613] - ALSA: hda/realtek: Add quirk for Clevo PC50HS (Jaroslav Kysela) [2003613] - ALSA: hda/realtek: Fix the mic type detection issue for ASUS G551JW (Jaroslav Kysela) [2003613] - ALSA: hda/realtek: Fix for quirk to enable speaker output on the Lenovo 13s Gen2 (Jaroslav Kysela) [2003613] - ALSA: hda: intel: Allow repeatedly probing on codec configuration errors (Jaroslav Kysela) [2003613] - ALSA: hda/realtek: Add quirk for TongFang PHxTxX1 (Jaroslav Kysela) [2003613] - ALSA: hda/realtek - ALC236 headset MIC recording issue (Jaroslav Kysela) [2003613] - ALSA: hda/realtek: Add quirk for Clevo X170KM-G (Jaroslav Kysela) [2003613] - ALSA: hda/realtek: Complete partial device name to avoid ambiguity (Jaroslav Kysela) [2003613] - ALSA: hda - Enable headphone mic on Dell Latitude laptops with ALC3254 (Jaroslav Kysela) [2003613] - ALSA: hda/realtek: Enable 4-speaker output for Dell Precision 5560 laptop (Jaroslav Kysela) [2003613] - ALSA: hda: Use position buffer for SKL+ again (Jaroslav Kysela) [2003613] - ALSA: hda: Reduce udelay() at SKL+ position reporting (Jaroslav Kysela) [2003613] - ALSA: hda/cs8409: Setup Dolphin Headset Mic as Phantom Jack (Jaroslav Kysela) [2003613] - ALSA: pcxhr: "fix" PCXHR_REG_TO_PORT definition (Jaroslav Kysela) [2003613] - ALSA: hda/realtek: Quirks to enable speaker output for Lenovo Legion 7i 15IMHG05, Yoga 7i 14ITL5/15ITL5, and 13s Gen2 laptops. (Jaroslav Kysela) [2003613] - Revert "ALSA: hda: Drop workaround for a hang at shutdown again" (Jaroslav Kysela) [2003613] - ALSA: vx222: fix null-ptr-deref (Jaroslav Kysela) [2003613] - ALSA: hda/cs8409: Initialize Codec only in init fixup. (Jaroslav Kysela) [2003613] - ALSA: hda/cs8409: Ensure Type Detection is only run on startup when necessary (Jaroslav Kysela) [2003613] - ALSA: hda: Disable runtime resume at shutdown (Jaroslav Kysela) [2003613] - ALSA: hda/realtek: Quirk for HP Spectre x360 14 amp setup (Jaroslav Kysela) [2003613] - ALSA: hda: Code refactoring snd_hda_pick_fixup() (Jaroslav Kysela) [2003613] - ALSA: hda/realtek: Workaround for conflicting SSID on ASUS ROG Strix G17 (Jaroslav Kysela) [2003613] - ALSA: hda/realtek: Limit mic boost on HP ProBook 445 G8 (Jaroslav Kysela) [2003613] - ALSA: hda/analog - Sink ad198x_shutup() and shuffle CONFIG_PM guards (Jaroslav Kysela) [2003613] - ALSA: hda/sigmatel - Sink stac_shutup() into stac_suspend() (Jaroslav Kysela) [2003613] - ALSA: hda: Drop workaround for a hang at shutdown again (Jaroslav Kysela) [2003613] - ALSA: hda/via: Apply runtime PM workaround for ASUS B23E (Jaroslav Kysela) [2003613] - ALSA: hda: Fix hang during shutdown due to link reset (Jaroslav Kysela) [2003613] - ALSA: hda/realtek: Enable 4-speaker output for Dell XPS 15 9510 laptop (Jaroslav Kysela) [2003613] - ALSA: hda: Nuke unused reboot_notify callback (Jaroslav Kysela) [2003613] - ALSA: hda: Suspend codec at shutdown (Jaroslav Kysela) [2003613] - ALSA: hda: conexant: Turn off EAPD at suspend, too (Jaroslav Kysela) [2003613] - ALSA: hda/cs8409: Prevent pops and clicks during suspend (Jaroslav Kysela) [2003613] - ALSA: hda/cs8409: Unmute/Mute codec when stream starts/stops (Jaroslav Kysela) [2003613] - ALSA: hda/cs8409: Follow correct CS42L42 power down sequence for suspend (Jaroslav Kysela) [2003613] - ALSA: hda/cs8409: Remove unnecessary delays (Jaroslav Kysela) [2003613] - ALSA: hda/cs8409: Use timeout rather than retries for I2C transaction waits (Jaroslav Kysela) [2003613] - ALSA: hda/cs8409: Set fixed sample rate of 48kHz for CS42L42 (Jaroslav Kysela) [2003613] - ALSA: hda/cs8409: Enable Full Scale Volume for Line Out Codec on Dolphin (Jaroslav Kysela) [2003613] - ALSA: hda/cs8409: Add support for dolphin (Jaroslav Kysela) [2003613] - ALSA: hda/cs8409: Add Support to disable jack type detection for CS42L42 (Jaroslav Kysela) [2003613] - ALSA: hda/cs8409: Support multiple sub_codecs for Suspend/Resume/Unsol events (Jaroslav Kysela) [2003613] - ALSA: hda/cs8409: Move codec properties to its own struct (Jaroslav Kysela) [2003613] - ALSA: hda/cs8409: Separate CS8409, CS42L42 and project functions (Jaroslav Kysela) [2003613] - ALSA: hda/cs8409: Support i2c bulk read/write functions (Jaroslav Kysela) [2003613] - ALSA: hda/cs8409: Avoid re-setting the same page as the last access (Jaroslav Kysela) [2003613] - ALSA: hda/cs8409: Avoid setting the same I2C address for every access (Jaroslav Kysela) [2003613] - ALSA: hda/cs8409: Dont disable I2C clock between consecutive accesses (Jaroslav Kysela) [2003613] - ALSA: hda/cs8409: Generalize volume controls (Jaroslav Kysela) [2003613] - ALSA: hda/cs8409: Prevent I2C access during suspend time (Jaroslav Kysela) [2003613] - ALSA: hda/cs8409: Simplify CS42L42 jack detect. (Jaroslav Kysela) [2003613] - ALSA: hda/cs8409: Mask CS42L42 wake events (Jaroslav Kysela) [2003613] - ALSA: hda/cs8409: Disable unsolicited response for the first boot (Jaroslav Kysela) [2003613] - ALSA: hda/cs8409: Disable unsolicited responses during suspend (Jaroslav Kysela) [2003613] - ALSA: hda/cs8409: Disable unnecessary Ring Sense for Cyborg/Warlock/Bullseye (Jaroslav Kysela) [2003613] - ALSA: hda/cs8409: Reduce HS pops/clicks for Cyborg (Jaroslav Kysela) [2003613] - ALSA: hda/cs8409: Mask all CS42L42 interrupts on initialization (Jaroslav Kysela) [2003613] - ALSA: hda/cs8409: Use enums for register names and coefficients (Jaroslav Kysela) [2003613] - ALSA: hda/cs8409: Move arrays of configuration to a new file (Jaroslav Kysela) [2003613] - ALSA: hda/cirrus: Move CS8409 HDA bridge to separate module (Jaroslav Kysela) [2003613] - ALSA: hda - fix the 'Capture Switch' value change notifications (Jaroslav Kysela) [2003613] - ALSA: hda/realtek: fix mute/micmute LEDs for HP ProBook 650 G8 Notebook PC (Jaroslav Kysela) [2003613] - ALSA: pci: cs46xx: Fix set up buffer type properly (Jaroslav Kysela) [2003613] - ALSA: hda: Add quirk for ASUS Flow x13 (Jaroslav Kysela) [2003613] - ALSA: pci/korg1212: completely remove 'set but not used' warnings (Jaroslav Kysela) [2003613] - ALSA: pcxhr: use __func__ to get funcion's name in an output message (Jaroslav Kysela) [2003613] - ALSA: hda/realtek: add mic quirk for Acer SF314-42 (Jaroslav Kysela) [2003613] - ALSA: hda/realtek: Fix headset mic for Acer SWIFT SF314-56 (ALC256) (Jaroslav Kysela) [2003613] - ALSA: korg1212: Fix wrongly shuffled firmware loader code (Jaroslav Kysela) [2003613] - ALSA: als300: Fix missing chip initialization (Jaroslav Kysela) [2003613] - ALSA: cs4281: Fix missing chip initialization (Jaroslav Kysela) [2003613] - ALSA: hda/hdmi: Add quirk to force pin connectivity on NUC10 (Jaroslav Kysela) [2003613] - ALSA: nm256: Fix error return code in snd_nm256_create() (Jaroslav Kysela) [2003613] - ALSA: ymfpci: Allocate resources with device-managed APIs (Jaroslav Kysela) [2003613] - ALSA: vx222: Allocate resources with device-managed APIs (Jaroslav Kysela) [2003613] - ALSA: trident: Allocate resources with device-managed APIs (Jaroslav Kysela) [2003613] - ALSA: pci: rme: Fix unaligned buffer addresses (Jaroslav Kysela) [2003613] - ALSA: pci: rme: Set up buffer type properly (Jaroslav Kysela) [2003613] - ALSA: rme9652: Allocate resources with device-managed APIs (Jaroslav Kysela) [2003613] - ALSA: rme9652: don't disable if not enabled (Jaroslav Kysela) [2003613] - ALSA: hdspm: Allocate resources with device-managed APIs (Jaroslav Kysela) [2003613] - ALSA: hdspm: don't disable if not enabled (Jaroslav Kysela) [2003613] - ALSA: hdspm: Fix fall-through warnings for Clang (Jaroslav Kysela) [2003613] - ALSA: hdsp: Allocate resources with device-managed APIs (Jaroslav Kysela) [2003613] - ALSA: riptide: Allocate resources with device-managed APIs (Jaroslav Kysela) [2003613] - ALSA: riptide: Replace tasklet with threaded irq (Jaroslav Kysela) [2003613] - ALSA: riptide: convert tasklets to use new tasklet_setup() API (Jaroslav Kysela) [2003613] - ALSA: oxygen: Allocate resources with device-managed APIs (Jaroslav Kysela) [2003613] - ALSA: nm256: Allocate resources with device-managed APIs (Jaroslav Kysela) [2003613] - ALSA: lx6464es: Allocate resources with device-managed APIs (Jaroslav Kysela) [2003613] - ALSA: lola: Allocate resources with device-managed APIs (Jaroslav Kysela) [2003613] - ALSA: korg1212: Allocate resources with device-managed APIs (Jaroslav Kysela) [2003613] - ALSA: ice1724: Allocate resources with device-managed APIs (Jaroslav Kysela) [2003613] - ALSA: ali5451: Allocate resources with device-managed APIs (Jaroslav Kysela) [2003613] - ALSA: ice1724: Allocate resources with device-managed APIs (Jaroslav Kysela) [2003613] - ALSA: ice1712: Allocate resources with device-managed APIs (Jaroslav Kysela) [2003613] - ALSA: emu10k1x: Allocate resources with device-managed APIs (Jaroslav Kysela) [2003613] - ALSA: emu10k1: Allocate resources with device-managed APIs (Jaroslav Kysela) [2003613] - ALSA: echoaudio: Allocate resources with device-managed APIs (Jaroslav Kysela) [2003613] - ALSA: cs5535audio: Allocate resources with device-managed APIs (Jaroslav Kysela) [2003613] - ALSA: cs46xx: Allocate resources with device-managed APIs (Jaroslav Kysela) [2003613] - ALSA: ca0106: Allocate resources with device-managed APIs (Jaroslav Kysela) [2003613] - ALSA: aw2: Allocate resources with device-managed APIs (Jaroslav Kysela) [2003613] - ALSA: au88x0: Allocate resources with device-managed APIs (Jaroslav Kysela) [2003613] - ALSA: ali5451: Allocate resources with device-managed APIs (Jaroslav Kysela) [2003613] - ALSA: via82xx: Allocate resources with device-managed APIs (Jaroslav Kysela) [2003613] - ALSA: sonicvibes: Allocate resources with device-managed APIs (Jaroslav Kysela) [2003613] - ALSA: sis7019: Allocate resources with device-managed APIs (Jaroslav Kysela) [2003613] - ALSA: rme96: Allocate resources with device-managed APIs (Jaroslav Kysela) [2003613] - ALSA: rme32: Allocate resources with device-managed APIs (Jaroslav Kysela) [2003613] - ALSA: maestro3: Allocate resources with device-managed APIs (Jaroslav Kysela) [2003613] - ALSA: fm801: Allocate resources with device-managed APIs (Jaroslav Kysela) [2003613] - ALSA: es1968: Allocate resources with device-managed APIs (Jaroslav Kysela) [2003613] - ALSA: es1938: Allocate resources with device-managed APIs (Jaroslav Kysela) [2003613] - ALSA: ens137x: Allocate resources with device-managed APIs (Jaroslav Kysela) [2003613] - ALSA: cs5530: Allocate resources with device-managed APIs (Jaroslav Kysela) [2003613] - ALSA: cs4281: Allocate resources with device-managed APIs (Jaroslav Kysela) [2003613] - ALSA: cmipci: Allocate resources with device-managed APIs (Jaroslav Kysela) [2003613] - ALSA: bt87x: Allocate resources with device-managed APIs (Jaroslav Kysela) [2003613] - ALSA: azt3328: Allocate resources with device-managed APIs (Jaroslav Kysela) [2003613] - ALSA: als4000: Allocate resources with device-managed APIs (Jaroslav Kysela) [2003613] - ALSA: als300: Allocate resources with device-managed APIs (Jaroslav Kysela) [2003613] - ALSA: ad1889: Allocate resources with device-managed APIs (Jaroslav Kysela) [2003613] - ALSA: hda: Allocate resources with device-managed APIs (Jaroslav Kysela) [2003613] - ALSA: atiixp: Allocate resources with device-managed APIs (Jaroslav Kysela) [2003613] - ALSA: intel8x0: Allocate resources with device-managed APIs (Jaroslav Kysela) [2003613] - ALSA: hda/realtek: Fix pop noise and 2 Front Mic issues on a machine (Jaroslav Kysela) [2003613] - ALSA: hdmi: Expose all pins on MSI MS-7C94 board (Jaroslav Kysela) [2003613] - ALSA: intel8x0: Skip ac97 clock measurement on VM (Jaroslav Kysela) [2003613] - ALSA: hda/hdmi: Add option to enable all pins forcibly (Jaroslav Kysela) [2003613] - ALSA: ice1724: Remove superfluous loop over model table (Jaroslav Kysela) [2003613] - ALSA: hda/ca0132: remove redundant initialization of variable status (Jaroslav Kysela) [2003613] - ALSA: intel8x0: Fix breakage at ac97 clock measurement (Jaroslav Kysela) [2003613] - ALSA: hda/realtek: fix mute led of the HP Pavilion 15-eh1xxx series (Jaroslav Kysela) [2003613] - ALSA: hda/realtek: fix mute/micmute LEDs for HP ProBook 630 G8 (Jaroslav Kysela) [2003613] - ALSA: hda/realtek: fix mute/micmute LEDs for HP ProBook 445 G8 (Jaroslav Kysela) [2003613] - ALSA: hda/realtek: fix mute/micmute LEDs for HP ProBook 450 G8 (Jaroslav Kysela) [2003613] - ALSA: hda/realtek - Add ALC285 HP init procedure (Jaroslav Kysela) [2003613] - ALSA: hda/realtek - Add type for ALC287 (Jaroslav Kysela) [2003613] - ALSA: hda/realtek: fix mute/micmute LEDs for HP EliteBook 830 G8 Notebook PC (Jaroslav Kysela) [2003613] - ALSA: hda: Release codec display power during shutdown/reboot (Jaroslav Kysela) [2003613] - ALSA: hda: Release controller display power during shutdown/reboot (Jaroslav Kysela) [2003613] - ALSA: hda/realtek: Apply LED fixup for HP Dragonfly G1, too (Jaroslav Kysela) [2003613] - ALSA: hdsp: fix a test for copy_to_user() failure (Jaroslav Kysela) [2003613] - ALSA: hda: Add IRQ check for platform_get_irq() (Jaroslav Kysela) [2003613] - ALSA: hda/realtek: Fix bass speaker DAC mapping for Asus UM431D (Jaroslav Kysela) [2003613] - ALSA: hda/realtek: Improve fixup for HP Spectre x360 15-df0xxx (Jaroslav Kysela) [2003613] - ALSA: hda/realtek: Add another ALC236 variant support (Jaroslav Kysela) [2003613] - ALSA: hda/realtek: fix mute/micmute LEDs for HP EliteBook x360 830 G8 (Jaroslav Kysela) [2003613] - ALSA: hda/tegra: Use devm_platform_get_and_ioremap_resource() (Jaroslav Kysela) [2003613] - ALSA: trident: Fix build error (Jaroslav Kysela) [2003613] - ALSA: trident: Drop shadow TLB pointer table (Jaroslav Kysela) [2003613] - ALSA: ymfpci: Fix assignment in if condition (Jaroslav Kysela) [2003613] - ALSA: vx222: Fix assignment in if condition (Jaroslav Kysela) [2003613] - ALSA: trident: Fix assignment in if condition (Jaroslav Kysela) [2003613] - ALSA: rme9652: Fix assignment in if condition (Jaroslav Kysela) [2003613] - ALSA: hdsp: Fix assignment in if condition (Jaroslav Kysela) [2003613] - ALSA: riptide: Fix assignment in if condition (Jaroslav Kysela) [2003613] - ALSA: pcxhr: Fix assignment in if condition (Jaroslav Kysela) [2003613] - ALSA: nm256: Fix assignment in if condition (Jaroslav Kysela) [2003613] - ALSA: mixart: Fix assignment in if condition (Jaroslav Kysela) [2003613] - ALSA: korg1212: Fix assignment in if condition (Jaroslav Kysela) [2003613] - ALSA: ice1712: Fix assignment in if condition (Jaroslav Kysela) [2003613] - ALSA: emu10k1x: Fix assignment in if condition (Jaroslav Kysela) [2003613] - ALSA: emu10k1: Fix assignment in if condition (Jaroslav Kysela) [2003613] - ALSA: echoaudio: Fix assignment in if condition (Jaroslav Kysela) [2003613] - ALSA: cs5535audio: Fix assignment in if condition (Jaroslav Kysela) [2003613] - ALSA: cs46xx: Fix assignment in if condition (Jaroslav Kysela) [2003613] - ALSA: ca0106: Fix assignment in if condition (Jaroslav Kysela) [2003613] - ALSA: au88x0: Fix assignment in if condition (Jaroslav Kysela) [2003613] - ALSA: ac97: Fix assignment in if condition (Jaroslav Kysela) [2003613] - ALSA: via82xx: Fix assignment in if condition (Jaroslav Kysela) [2003613] - ALSA: sonicvibes: Fix assignment in if condition (Jaroslav Kysela) [2003613] - ALSA: rme96: Fix assignment in if condition (Jaroslav Kysela) [2003613] - ALSA: rme32: Fix assignment in if condition (Jaroslav Kysela) [2003613] - ALSA: maestro3: Fix assignment in if condition (Jaroslav Kysela) [2003613] - ALSA: intel8x0: Fix assignment in if condition (Jaroslav Kysela) [2003613] - ALSA: fm801: Fix assignment in if condition (Jaroslav Kysela) [2003613] - ALSA: es1968: Fix assignment in if condition (Jaroslav Kysela) [2003613] - ALSA: es1938: Fix assignment in if condition (Jaroslav Kysela) [2003613] - ALSA: ens137x: Fix assignment in if condition (Jaroslav Kysela) [2003613] - ALSA: cs4281: Fix assignment in if condition (Jaroslav Kysela) [2003613] - ALSA: cmipci: Fix assignment in if condition (Jaroslav Kysela) [2003613] - ALSA: bt87x: Fix assignment in if condition (Jaroslav Kysela) [2003613] - ALSA: azt3328: Fix assignment in if condition (Jaroslav Kysela) [2003613] - ALSA: atiixp: Fix assignment in if condition (Jaroslav Kysela) [2003613] - ALSA: als4000: Fix assignment in if condition (Jaroslav Kysela) [2003613] - ALSA: als300: Fix assignment in if condition (Jaroslav Kysela) [2003613] - ALSA: ak4531: Fix assignment in if condition (Jaroslav Kysela) [2003613] - ALSA: ad1889: Fix assignment in if condition (Jaroslav Kysela) [2003613] - ALSA: hda/realtek: Change device names for quirks to barebone names (Jaroslav Kysela) [2003613] - ALSA: hda/ca0132: Make a const array static, makes object smaller (Jaroslav Kysela) [2003613] - ALSA: pci: lx6464es: remove useless self-comparison (Jaroslav Kysela) [2003613] - ALSA: drivers: opl3: Fix incorrect use of vp->state (Jaroslav Kysela) [2003613] - ALSA: pcsp: Make hrtimer forwarding more robust (Jaroslav Kysela) [2003613] - ALSA: pcsp: Allocate resources with device-managed APIs (Jaroslav Kysela) [2003613] - ALSA: dummy: Allocate resources with device-managed APIs (Jaroslav Kysela) [2003613] - ALSA: aloop: Allocate resources with device-managed APIs (Jaroslav Kysela) [2003613] - ALSA: mpu401: Allocate resources with device-managed APIs (Jaroslav Kysela) [2003613] - ALSA: serial-u16550: Allocate resources with device-managed APIs (Jaroslav Kysela) [2003613] - ALSA: mtpav: Allocate resources with device-managed APIs (Jaroslav Kysela) [2003613] - ALSA: virmidi: Allocate resources with device-managed APIs (Jaroslav Kysela) [2003613] - ALSA: vx: Manage vx_core object with devres (Jaroslav Kysela) [2003613] - ALSA: aloop: Fix spelling mistake "synchronization" -> "synchronization" (Jaroslav Kysela) [2003613] - ALSA: serial: Fix assignment in if condition (Jaroslav Kysela) [2003613] - ALSA: opl3: Fix assignment in if condition (Jaroslav Kysela) [2003613] - ALSA: vx: Fix assignment in if condition (Jaroslav Kysela) [2003613] - ALSA: mpu401: Fix assignment in if condition (Jaroslav Kysela) [2003613] - ALSA: drivers: opl3: fix useless self-comparison (Jaroslav Kysela) [2003613] - ALSA: hda: intel-sdw-acpi: go through HDAS ACPI at max depth of 2 (Jaroslav Kysela) [2003613] - ALSA: hda: intel-sdw-acpi: harden detection of controller (Jaroslav Kysela) [2003613] - ALSA: intel-dsp-config: add quirk for CML devices based on ES8336 codec (Jaroslav Kysela) [2003613] - ALSA: intel-dsp-config: add quirk for JSL devices based on ES8336 codec (Jaroslav Kysela) [2003613] - ALSA: hda: avoid write to STATESTS if controller is in reset (Jaroslav Kysela) [2003613] - ALSA: intel-dsp-config: add quirk for APL/GLK/TGL devices based on ES8336 codec (Jaroslav Kysela) [2003613] - ALSA: hda: hdac_ext_stream: fix potential locking issues (Jaroslav Kysela) [2003613] - ALSA: hda: hdac_stream: fix potential locking issue in snd_hdac_stream_assign() (Jaroslav Kysela) [2003613] - ALSA: hda: intel-dsp-cfg: add missing ElkhartLake PCI ID (Jaroslav Kysela) [2003613] - ALSA: usb-audio: usx2y - use GFP_NOIO flag (Jaroslav Kysela) [2003613] - ALSA: usb-audio: Reorder snd_djm_devices[] entries (Jaroslav Kysela) [2003613] - ALSA: usb-audio: Don't start stream for capture at prepare (Jaroslav Kysela) [2003613] - ALSA: usb-audio: Switch back to non-latency mode at a later point (Jaroslav Kysela) [2003613] - ALSA: usb-audio: Add quirk for Audient iD14 (Jaroslav Kysela) [2003613] - ALSA: usb-audio: Line6 HX-Stomp XL USB_ID for 48k-fixed quirk (Jaroslav Kysela) [2003613] - ALSA: usb-audio: Add registration quirk for JBL Quantum 400 (Jaroslav Kysela) [2003613] - ALSA: ua101: fix division by zero at probe (Jaroslav Kysela) [2003613] - ALSA: line6: fix control and interrupt message timeouts (Jaroslav Kysela) [2003613] - ALSA: 6fire: fix control and bulk message timeouts (Jaroslav Kysela) [2003613] - ALSA: usb-audio: fix null pointer dereference on pointer cs_desc (Jaroslav Kysela) [2003613] - ALSA: usb-audio: Fix microphone sound on Jieli webcam. (Jaroslav Kysela) [2003613] - ALSA: usb-audio: Provide quirk for Sennheiser GSP670 Headset (Jaroslav Kysela) [2003613] - ALSA: usb-audio: Initialize every feature unit once at probe time (Jaroslav Kysela) [2003613] - ALSA: usb-audio: Drop superfluous error message after disconnection (Jaroslav Kysela) [2003613] - ALSA: usb-audio: Downgrade error message in get_ctl_value_v2() (Jaroslav Kysela) [2003613] - ALSA: usb-audio: add Schiit Hel device to quirk table (Jaroslav Kysela) [2003613] - ALSA: usb-audio: Add quirk for VF0770 (Jaroslav Kysela) [2003613] - ALSA: usb-audio: Less restriction for low-latency playback mode (Jaroslav Kysela) [2003613] - ALSA: usb-audio: Add support for the Pioneer DJM 750MK2 Mixer/Soundcard (Jaroslav Kysela) [2003613] - ALSA: usb-audio: Pass JOINT_DUPLEX info flag for implicit fb streams (Jaroslav Kysela) [2003613] - ALSA: usb-audio: Enable rate validation for Scarlett devices (Jaroslav Kysela) [2003613] - ALSA: usb-audio: Fix packet size calculation regression (Jaroslav Kysela) [2003613] - ALSA: usb-audio: disable implicit feedback sync for Behringer UFX1204 and UFX1604 (Jaroslav Kysela) [2003613] - ALSA: usb-audio: Avoid killing in-flight URBs during draining (Jaroslav Kysela) [2003613] - ALSA: usb-audio: Improved lowlatency playback support (Jaroslav Kysela) [2003613] - ALSA: usb-audio: Add spinlock to stop_urbs() (Jaroslav Kysela) [2003613] - ALSA: usb-audio: Check available frames for the next packet size (Jaroslav Kysela) [2003613] - ALSA: usb-audio: Disable low-latency mode for implicit feedback sync (Jaroslav Kysela) [2003613] - ALSA: usb-audio: Disable low-latency playback for free-wheel mode (Jaroslav Kysela) [2003613] - ALSA: usb-audio: Rename early_playback_start flag with lowlatency_playback (Jaroslav Kysela) [2003613] - ALSA: usb-audio: Fix possible race at sync of urb completions (Jaroslav Kysela) [2003613] - ALSA: usb-audio: Restrict rates for the shared clocks (Jaroslav Kysela) [2003613] - ALSA: usb-audio: Fix a missing error check in scarlett gen2 mixer (Jaroslav Kysela) [2003613] - ALSA: usb-audio: fix comment reference in __uac_clock_find_source (Jaroslav Kysela) [2003613] - ALSA: usx2y: Prefer struct_size over open coded arithmetic (Jaroslav Kysela) [2003613] - ALSA: usb-audio: Unify mixer resume and reset_resume procedure (Jaroslav Kysela) [2003613] - ALSA: usb-audio: Add registration quirk for JBL Quantum 800 (Jaroslav Kysela) [2003613] - ALSA: usb-audio: Add lowlatency module option (Jaroslav Kysela) [2003613] - ALSA: usb-audio: Work around for XRUN with low latency playback (Jaroslav Kysela) [2003613] - ASoC: dmaengine: Introduce module option prealloc_buffer_size_kbytes (Jaroslav Kysela) [2003613] - ALSA: usb-audio: Move set-interface-first workaround into common quirk (Jaroslav Kysela) [2003613] - ALSA: doc: Fix indentation warning (Jaroslav Kysela) [2003613] - ALSA: hda: Update documentation for aliasing via the model option (Jaroslav Kysela) [2003613] - ALSA: doc: Add the description of quirk_flags option for snd-usb-audio (Jaroslav Kysela) [2003613] - ALSA: doc: Fix reference to mixart.rst (Jaroslav Kysela) [2003613] - ALSA: usb-audio: Update the documentation for the new delayed_register option (Jaroslav Kysela) [2003613] - ALSA: hda - Update descriptions about new position_fix values (Jaroslav Kysela) [2003613] - ALSA: usb-audio: Fix regression on Sony WALKMAN NW-A45 DAC (Jaroslav Kysela) [2003613] - ALSA: usb-audio: Input source control - digidesign mbox (Jaroslav Kysela) [2003613] - ALSA: usb-audio: make array static const, makes object smaller (Jaroslav Kysela) [2003613] - ALSA: usb-audio: Add quirk_flags module option (Jaroslav Kysela) [2003613] - ALSA: usb-audio: Move generic DSD raw detection into quirk_flags (Jaroslav Kysela) [2003613] - ALSA: usb-audio: Move ignore_ctl_error check into quirk_flags (Jaroslav Kysela) [2003613] - ALSA: usb-audio: Move autosuspend quirk into quirk_flags (Jaroslav Kysela) [2003613] - ALSA: usb-audio: Move rate validation quirk into quirk_flags (Jaroslav Kysela) [2003613] - ALSA: usb-audio: Move interface setup delay into quirk_flags (Jaroslav Kysela) [2003613] - ALSA: usb-audio: Move control message delay quirk into quirk_flags (Jaroslav Kysela) [2003613] - ALSA: usb-audio: Move ITF-USB DSD quirk handling into quirk_flags (Jaroslav Kysela) [2003613] - ALSA: usb-audio: Move clock setup quirk into quirk_flags (Jaroslav Kysela) [2003613] - ALSA: usb-audio: Move playback_first flag into quirk_flags (Jaroslav Kysela) [2003613] - ALSA: usb-audio: Move tx_length quirk handling to quirk_flags (Jaroslav Kysela) [2003613] - ALSA: usb-audio: Move txfr_quirk handling to quirk_flags (Jaroslav Kysela) [2003613] - ALSA: usb-audio: Move media-controller API quirk into quirk_flags (Jaroslav Kysela) [2003613] - ALSA: usb-audio: Introduce quirk_flags field (Jaroslav Kysela) [2003613] - ALSA: usb-audio: Avoid unnecessary or invalid connector selection at resume (Jaroslav Kysela) [2003613] - ALSA: usb-audio: Add registration quirk for JBL Quantum 600 (Jaroslav Kysela) [2003613] - ALSA: usb-audio: Fix superfluous autosuspend recovery (Jaroslav Kysela) [2003613] - ALSA: usb-audio: fix incorrect clock source setting (Jaroslav Kysela) [2003613] - ALSA: scarlett2: Fix line out/speaker switching notifications (Jaroslav Kysela) [2003613] - ALSA: scarlett2: Correct channel mute status after mute button pressed (Jaroslav Kysela) [2003613] - ALSA: scarlett2: Fix Direct Monitor control name for 2i2 (Jaroslav Kysela) [2003613] - ALSA: scarlett2: Fix Mute/Dim/MSD Mode control names (Jaroslav Kysela) [2003613] - ALSA: usb-audio: Add registration quirk for JBL Quantum headsets (Jaroslav Kysela) [2003613] - ALSA: usb-audio: Add missing proc text entry for BESPOKEN type (Jaroslav Kysela) [2003613] - ALSA: usb-audio: Reduce latency at playback start, take#2 (Jaroslav Kysela) [2003613] - ALSA: usb-audio: fix spelling mistakes (Jaroslav Kysela) [2003613] - ALSA: usx2y: fix spelling mistakes (Jaroslav Kysela) [2003613] - ALSA: usb-audio: scarlett2: Fix for loop increment in scarlett2_usb_get_config (Jaroslav Kysela) [2003613] - ALSA: scarlett2: Fix scarlett2_*_ctl_put() return values again (Jaroslav Kysela) [2003613] - ALSA: scarlett2: Fix pad count for 18i8 Gen 3 (Jaroslav Kysela) [2003613] - ALSA: usb-audio: scarlett2: Add support for the talkback feature (Jaroslav Kysela) [2003613] - ALSA: usb-audio: scarlett2: Update get_config to do endian conversion (Jaroslav Kysela) [2003613] - ALSA: usb-audio: scarlett2: Add speaker switching support (Jaroslav Kysela) [2003613] - ALSA: usb-audio: scarlett2: Update mux controls to allow updates (Jaroslav Kysela) [2003613] - ALSA: usb-audio: scarlett2: Add sw_hw_ctls and mux_ctls (Jaroslav Kysela) [2003613] - ALSA: usb-audio: scarlett2: Split up sw_hw_enum_ctl_put() (Jaroslav Kysela) [2003613] - ALSA: usb-audio: scarlett2: Label 18i8 Gen 3 line outputs correctly (Jaroslav Kysela) [2003613] - ALSA: usb-audio: scarlett2: Add direct monitor support (Jaroslav Kysela) [2003613] - ALSA: usb-audio: scarlett2: Add phantom power switch support (Jaroslav Kysela) [2003613] - ALSA: usb-audio: scarlett2: Add "air" switch support (Jaroslav Kysela) [2003613] - ALSA: usb-audio: scarlett2: Add support for Solo and 2i2 Gen 3 (Jaroslav Kysela) [2003613] - ALSA: usb-audio: scarlett2: Allow bit-level access to config (Jaroslav Kysela) [2003613] - ALSA: usb-audio: scarlett2: Move get config above set config (Jaroslav Kysela) [2003613] - ALSA: usb-audio: scarlett2: Add Gen 3 MSD mode switch (Jaroslav Kysela) [2003613] - ALSA: usb-audio: scarlett2: Add support for "input-other" notify (Jaroslav Kysela) [2003613] - ALSA: usb-audio: scarlett2: Add Gen 3 mixer support (Jaroslav Kysela) [2003613] - ALSA: usb-audio: scarlett2: Fix wrong resume call (Jaroslav Kysela) [2003613] - ALSA: usb-audio: scarlett2: Fix Level Meter control (Jaroslav Kysela) [2003613] - ALSA: usb-audio: scarlett2: Split struct scarlett2_ports (Jaroslav Kysela) [2003613] - ALSA: usb-audio: scarlett2: Allow arbitrary ordering of mux entries (Jaroslav Kysela) [2003613] - ALSA: usb-audio: scarlett2: Add mute support (Jaroslav Kysela) [2003613] - ALSA: usb-audio: scarlett2: Add scarlett2_vol_ctl_write() helper (Jaroslav Kysela) [2003613] - ALSA: usb-audio: scarlett2: Remove repeated device info comments (Jaroslav Kysela) [2003613] - ALSA: usb-audio: scarlett2: Move info lookup out of init function (Jaroslav Kysela) [2003613] - ALSA: usb-audio: scarlett2: Improve device info lookup (Jaroslav Kysela) [2003613] - ALSA: usb-audio: scarlett2: Reformat scarlett2_config_items[] (Jaroslav Kysela) [2003613] - ALSA: usb-audio: scarlett2: Merge common line in capture strings (Jaroslav Kysela) [2003613] - ALSA: usb-audio: scarlett2: Add "Sync Status" control (Jaroslav Kysela) [2003613] - ALSA: usb-audio: scarlett2: Always enable interrupt polling (Jaroslav Kysela) [2003613] - ALSA: usb-audio: scarlett2: Fix 6i6 Gen 2 line out descriptions (Jaroslav Kysela) [2003613] - ALSA: usb-audio: scarlett2: Update initialisation sequence (Jaroslav Kysela) [2003613] - ALSA: usb-audio: scarlett2: Add usb_tx/rx functions (Jaroslav Kysela) [2003613] - ALSA: usb-audio: Fix OOB access at proc output (Jaroslav Kysela) [2003613] - ALSA: usb-audio: scarlett2: Remove hard-coded USB #defines (Jaroslav Kysela) [2003613] - ALSA: usb-audio: scarlett2: Don't copy struct scarlett2_config (Jaroslav Kysela) [2003613] - ALSA: usb-audio: scarlett2: Fix union usage in mixer control callbacks (Jaroslav Kysela) [2003613] - ALSA: usb-audio: scarlett2: Fix scarlett2_*_ctl_put() return values (Jaroslav Kysela) [2003613] - ALSA: usb-audio: scarlett2: Fix data_mutex lock (Jaroslav Kysela) [2003613] - ALSA: usb-audio: scarlett2: Add temp variable for consistency (Jaroslav Kysela) [2003613] - ALSA: usb-audio: scarlett2: Rename struct scarlett2_mixer_data (Jaroslav Kysela) [2003613] - ALSA: usb-audio: scarlett2: Rename buttons/interrupts/vol (Jaroslav Kysela) [2003613] - ALSA: usb-audio: scarlett2: Remove redundant info->button_count (Jaroslav Kysela) [2003613] - ALSA: usb-audio: scarlett2: Remove interrupt debug message (Jaroslav Kysela) [2003613] - ALSA: usb-audio: scarlett2: Remove unused/useless code (Jaroslav Kysela) [2003613] - ALSA: usb-audio: scarlett2: Coding style improvements (Jaroslav Kysela) [2003613] - ALSA: usb-audio: scarlett2: Fix 18i8 Gen 2 PCM Input count (Jaroslav Kysela) [2003613] - ALSA: usb-audio: scarlett2: Remove incorrect S/PDIF comment (Jaroslav Kysela) [2003613] - ALSA: usb-audio: fix rate on Ozone Z90 USB headset (Jaroslav Kysela) [2003613] - ALSA: usb-audio: Add support for Denon DN-X1600 (Jaroslav Kysela) [2003613] - ALSA: usb-audio: scarlett2: Read mux at init time (Jaroslav Kysela) [2003613] - ALSA: usb-audio: scarlett2: Read mixer volumes at init time (Jaroslav Kysela) [2003613] - ALSA: usb-audio: Factor out DSD bitrev copy function (Jaroslav Kysela) [2003613] - ALSA: usb-audio: Refactoring delay account code (Jaroslav Kysela) [2003613] - ALSA: usb-audio: Pre-calculate buffer byte size (Jaroslav Kysela) [2003613] - ALSA: usb-audio: Make snd_usb_pcm_delay() static (Jaroslav Kysela) [2003613] - ALSA: usb-audio: Remove the repeated declaration (Jaroslav Kysela) [2003613] - ALSA: usb-audio: Fix uninitialized variable at __uac_clock_find_source() (Jaroslav Kysela) [2003613] - ALSA: usb-audio: Handle error for the current selector gracefully (Jaroslav Kysela) [2003613] - ALSA: usb-audio: Refactoring UAC2/3 clock setup code (Jaroslav Kysela) [2003613] - ALSA: usx2y: Nuke pcm_list (Jaroslav Kysela) [2003613] - ALSA: usx2y: Cleanup probe and disconnect callbacks (Jaroslav Kysela) [2003613] - ALSA: usx2y: Don't call free_pages_exact() with NULL address (Jaroslav Kysela) [2003613] - ALSA: usx2y: Fix shmem initialization (Jaroslav Kysela) [2003613] - ALSA: usxy2: Fix potential doubly allocations (Jaroslav Kysela) [2003613] - ALSA: usx2y: Fix potential memory leaks (Jaroslav Kysela) [2003613] - ALSA: usx2y: Avoid self-killing (Jaroslav Kysela) [2003613] - ALSA: usx2y: Fix potential leaks of uninitialized memory (Jaroslav Kysela) [2003613] - ALSA: usx2y: Coding style fixes (Jaroslav Kysela) [2003613] - ALSA: usx2y: Fix spaces (Jaroslav Kysela) [2003613] - ALSA: usx2y: Avoid camelCase (Jaroslav Kysela) [2003613] - module: remove never implemented MODULE_SUPPORTED_DEVICE (Jaroslav Kysela) [2003613] - ALSA: pcm: Allow exact buffer preallocation (Jaroslav Kysela) [2003613] - ALSA: core: Add device-managed request_dma() (Jaroslav Kysela) [2003613] - ALSA: core: use DEVICE_ATTR_*() macro (Jaroslav Kysela) [2003613] - ALSA: core: Fix double calls of snd_card_free() via devres (Jaroslav Kysela) [2003613] - ALSA: core: Add managed card creation (Jaroslav Kysela) [2003613] - ALSA: pcm: Fix mmap without buffer preallocation (Jaroslav Kysela) [2003613] - ALSA: pcm: Call substream ack() method upon compat mmap commit (Jaroslav Kysela) [2003613] - ALSA: pcm: Fix mmap breakage without explicit buffer setup (Jaroslav Kysela) [2003613] - ALSA: pcm - fix mmap capability check for the snd-dummy driver (Jaroslav Kysela) [2003613] - ALSA: pcm: fix divide error in snd_pcm_lib_ioctl (Jaroslav Kysela) [2003613] - ALSA: memalloc: Catch call with NULL snd_dma_buffer pointer (Jaroslav Kysela) [2003613] - ALSA: memalloc: Remove a stale comment (Jaroslav Kysela) [2003613] - ALSA: memalloc: Use proper SG helpers for noncontig allocations (Jaroslav Kysela) [2003613] - ALSA: memalloc: Fix a typo in snd_dma_buffer_sync() description (Jaroslav Kysela) [2003613] - ALSA: PCM: Fix NULL dereference at mmap checks (Jaroslav Kysela) [2003613] - ALSA: pcm: Check mmap capability of runtime dma buffer at first (Jaroslav Kysela) [2003613] - ALSA: pcm: Fix mmap capability check (Jaroslav Kysela) [2003613] - ALSA: pcm: use krealloc_array() (Jaroslav Kysela) [2003613] - ALSA: pcm: Add SNDRV_PCM_INFO_EXPLICIT_SYNC flag (Jaroslav Kysela) [2003613] - ALSA: pcm: Add more disconnection checks at file ops (Jaroslav Kysela) [2003613] - mm: don't include asm/pgtable.h if linux/mm.h is already included (Jaroslav Kysela) [2003613] - ALSA: memalloc: Fix mmap of SG-buffer with WC pages (Jaroslav Kysela) [2003613] - ALSA: memalloc: Support for non-coherent page allocation (Jaroslav Kysela) [2003613] - ALSA: memalloc: Support for non-contiguous page allocation (Jaroslav Kysela) [2003613] - ALSA: pcm: Unify snd_pcm_delay() and snd_pcm_hwsync() (Jaroslav Kysela) [2003613] - ALSA: core: Fix build error due to missing PAGE_SIZE (Jaroslav Kysela) [2003613] - ALSA: pcm: Workaround for a wrong offset in SYNC_PTR compat ioctl (Jaroslav Kysela) [2003613] - ALSA: memalloc: Count continuous pages in vmalloc buffer handler (Jaroslav Kysela) [2003613] - ALSA: memalloc: Store snd_dma_buffer.addr for continuous pages, too (Jaroslav Kysela) [2003613] - ALSA: memalloc: Fix pgprot for WC mmap on x86 (Jaroslav Kysela) [2003613] - ALSA: memalloc: Support WC allocation on all architectures (Jaroslav Kysela) [2003613] - ALSA: memalloc: Correctly name as WC (Jaroslav Kysela) [2003613] - ALSA: memalloc: Minor refactoring (Jaroslav Kysela) [2003613] - ALSA: memalloc: Fix regression with SNDRV_DMA_TYPE_CONTINUOUS (Jaroslav Kysela) [2003613] - ALSA: core: Add device-managed page allocator helper (Jaroslav Kysela) [2003613] - ALSA: core: Add continuous and vmalloc mmap ops (Jaroslav Kysela) [2003613] - ALSA: core: Move mmap handler into memalloc ops (Jaroslav Kysela) [2003613] - ALSA: core: Abstract memory alloc helpers (Jaroslav Kysela) [2003613] - ALSA: pcm: add snd_pcm_period_elapsed() variant without acquiring lock of PCM substream (Jaroslav Kysela) [2003613] - ALSA: pcm: Block the release until the system resume finishes (Jaroslav Kysela) [2003613] - ALSA: Drop superfluous argument from snd_power_wait() (Jaroslav Kysela) [2003613] - ALSA: pcm: Fix assignment in if condition (Jaroslav Kysela) [2003613] - ALSA: core: Drop snd_sgbuf_get_ptr() (Jaroslav Kysela) [2003613] - ALSA: jack: Check the return value of kstrdup() (Jaroslav Kysela) [2003613] - ALSA: seq: oss: Fix error check at system port creation (Jaroslav Kysela) [2003613] - ALSA: seq: Fix comments of wrong client number for MIDI Passthrough (Jaroslav Kysela) [2003613] - ALSA: pcm: oss: Handle missing errors in snd_pcm_oss_change_params*() (Jaroslav Kysela) [2003613] - ALSA: pcm: oss: Limit the period size to 16MB (Jaroslav Kysela) [2003613] - ALSA: pcm: oss: Fix negative period/buffer sizes (Jaroslav Kysela) [2003613] - ALSA: iec958: Split status creation and fill (Jaroslav Kysela) [2003613] - ALSA: rawmidi - fix the uninitalized user_pversion (Jaroslav Kysela) [2003613] - ALSA: rawmidi: introduce SNDRV_RAWMIDI_IOCTL_USER_PVERSION (Jaroslav Kysela) [2003613] - ALSA: rawmidi: fix incorrect array bounds check on clock_names (Jaroslav Kysela) [2003613] - ALSA: rawmidi: Add framing mode (Jaroslav Kysela) [2003613] - ALSA: seq: Fix racy deletion of subscriber (Jaroslav Kysela) [2003613] - ALSA: seq: Fix a potential UAF by wrong private_free call order (Jaroslav Kysela) [2003613] - ALSA: seq: Fix assignment in if condition (Jaroslav Kysela) [2003613] - ALSA: timer: Unconditionally unlink slave instances, too (Jaroslav Kysela) [2003613] - ALSA: timer: Fix use-after-free problem (Jaroslav Kysela) [2003613] - ALSA: mixer: fix deadlock in snd_mixer_oss_set_volume (Jaroslav Kysela) [2003613] - ALSA: mixer: oss: Fix racy access to slots (Jaroslav Kysela) [2003613] - ALSA: oss: Fix assignment in if condition (Jaroslav Kysela) [2003613] - ALSA: core: Fix assignment in if condition (Jaroslav Kysela) [2003613] - ALSA: core: control_led: use strscpy instead of strlcpy (Jaroslav Kysela) [2003613] - ALSA: control_led - use DEVICE_ATTR_*() macro (Jaroslav Kysela) [2003613] - ALSA: ctl: Fix copy of updated id with element read/write (Jaroslav Kysela) [2003613] - ALSA: compress: Initialize mutex in snd_compress_new() (Jaroslav Kysela) [2003613] - ALSA: control: Minor optimization for SNDRV_CTL_IOCTL_POWER_STATE (Jaroslav Kysela) [2003613] - ALSA: control: Drop superfluous snd_power_wait() calls (Jaroslav Kysela) [2003613] - ALSA: control: Track in-flight control read/write/tlv accesses (Jaroslav Kysela) [2003613] - ALSA: compress: Drop unused functions (Jaroslav Kysela) [2003613] - regmap: sdw-mbq: use MODULE_LICENSE("GPL") (Jaroslav Kysela) [2003613] - regmap: sdw: use no_pm routines for SoundWire 1.2 MBQ (Jaroslav Kysela) [2003613] - regmap: sdw: use _no_pm functions in regmap_read/write (Jaroslav Kysela) [2003613] - soundwire: stream: Fix test for DP prepare complete (Jaroslav Kysela) [2003613] - soundwire/ASoC: add leading zeroes in peripheral device name (Jaroslav Kysela) [2003613] - soundwire: bandwidth allocation: improve error messages (Jaroslav Kysela) [2003613] - soundwire: dmi-quirks: remove duplicate initialization (Jaroslav Kysela) [2003613] - soundwire: cadence: remove the repeated declaration (Jaroslav Kysela) [2003613] - soundwire: bus: stop dereferencing invalid slave pointer (Jaroslav Kysela) [2003613] - soundwire: bus: add missing \n in dynamic debug (Jaroslav Kysela) [2003613] - soundwire: bus: handle -ENODATA errors in clock stop/start sequences (Jaroslav Kysela) [2003613] - soundwire: qcom: add debugfs entry for soundwire register dump (Jaroslav Kysela) [2003613] - soundwire: debugfs: use controller id and link_id for debugfs (Jaroslav Kysela) [2003613] - soundwire: cadence: do not extend reset delay (Jaroslav Kysela) [2003613] - soundwire: intel: conditionally exit clock stop mode on system suspend (Jaroslav Kysela) [2003613] - soundwire: intel: skip suspend/resume/wake when link was not started (Jaroslav Kysela) [2003613] - soundwire: intel: fix potential race condition during power down (Jaroslav Kysela) [2003613] - soundwire: intel: introduce shim and alh base (Jaroslav Kysela) [2003613] - soundwire: move intel sdw register definitions to sdw_intel.h (Jaroslav Kysela) [2003613] - soundwire: cadence: override PDI configurations to create loopback (Jaroslav Kysela) [2003613] - soundwire: cadence: add debugfs interface for PDI loopbacks (Jaroslav Kysela) [2003613] - soundwire: stream: don't program mockup device ports (Jaroslav Kysela) [2003613] - soundwire: bus: squelch error returned by mockup devices (Jaroslav Kysela) [2003613] - soundwire: stream: don't abort bank switch on Command_Ignored/-ENODATA (Jaroslav Kysela) [2003613] - soundwire: cadence: add paranoid check on self-clearing bits (Jaroslav Kysela) [2003613] - soundwire: dmi-quirks: add quirk for Intel 'Bishop County' NUC M15 (Jaroslav Kysela) [2003613] - soundwire: bus: update Slave status in sdw_clear_slave_status (Jaroslav Kysela) [2003613] - soundwire: cadence: Remove ret variable from sdw_cdns_irq() (Jaroslav Kysela) [2003613] - soundwire: bus: filter out more -EDATA errors on clock stop (Jaroslav Kysela) [2003613] - soundwire: dmi-quirks: add ull suffix for SoundWire _ADR values (Jaroslav Kysela) [2003613] - soundwire: export sdw_update() and sdw_update_no_pm() (Jaroslav Kysela) [2003613] - soundwire: bus: Make sdw_nwrite() data pointer argument const (Jaroslav Kysela) [2003613] - soundwire: intel: move to auxiliary bus (Jaroslav Kysela) [2003613] - soundwire: add missing kernel-doc description (Jaroslav Kysela) [2003613] - soundwire: cadence_master: always set CMD_ACCEPT (Jaroslav Kysela) [2003613] - soundwire: bus: only use CLOCK_STOP_MODE0 and fix confusions (Jaroslav Kysela) [2003613] - software node: Handle software node injection to an existing device properly (Mark Langsdorf) [2032600] - software node: Allow node addition to already existing device (Mark Langsdorf) [2032600] - driver core: clear deferred probe reason on probe retry (Mark Langsdorf) [2032600] - driver core: add deferring probe reason to devices_deferred property (Mark Langsdorf) [2032600] - driver core: Fix locking bug in deferred_probe_timeout_work_func() (Mark Langsdorf) [2032600] - PM: runtime: Fix race getting/putting suppliers at probe (Mark Langsdorf) [2032600] - PM: runtime: Fix ordering in pm_runtime_get_suppliers() (Mark Langsdorf) [2032600] - PM: runtime: Defer suspending suppliers (Mark Langsdorf) [2032600] - software node: Fix device_add_software_node() (Mark Langsdorf) [2032600] - software node: Fix node registration (Mark Langsdorf) [2032600] - drivers/base/memory: don't store phys_device in memory blocks (Mark Langsdorf) [2032600] - arch_numa: fix common code printing of phys_addr_t (Mark Langsdorf) [2032600] - driver core: platform: Drop of_device_node_put() wrapper (Mark Langsdorf) [2032600] - regmap: sdw-mbq: use MODULE_LICENSE("GPL") (Mark Langsdorf) [2032600] - regmap: sdw: use no_pm routines for SoundWire 1.2 MBQ (Mark Langsdorf) [2032600] - regmap: sdw: use _no_pm functions in regmap_read/write (Mark Langsdorf) [2032600] - PM: domains: Mark fwnodes when their powerdomain is added/removed (Mark Langsdorf) [2032600] - driver core: fw_devlink: Handle suppliers that don't use driver core (Mark Langsdorf) [2032600] - driver core: Add fw_devlink.strict kernel param (Mark Langsdorf) [2032600] - driver core: platform: Emit a warning if a remove callback returned non-zero (Mark Langsdorf) [2032600] - PM: domains: Simplify the calculation of variables (Mark Langsdorf) [2032600] - PM: sleep: Use dev_printk() when possible (Mark Langsdorf) [2032600] - media: software_node: Add support for fwnode_graph*() family of functions (Mark Langsdorf) [2032600] - media: software_node: unregister software_nodes in reverse order (Mark Langsdorf) [2032600] - media: software_node: Enforce parent before child ordering of nodes arrays (Mark Langsdorf) [2032600] - media: device property: Call fwnode_graph_get_endpoint_by_id() for fwnode->secondary (Mark Langsdorf) [2032600] - media: device property: Return true in fwnode_device_is_available for NULL ops (Mark Langsdorf) [2032600] - media: software_node: Fix refcounts in software_node_get_next_child() (Mark Langsdorf) [2032600] - PM: domains: Add "performance" column to debug summary (Mark Langsdorf) [2032600] - PM: domains: Make of_genpd_add_subdomain() return -EPROBE_DEFER (Mark Langsdorf) [2032600] - PM: domains: Make set_performance_state() callback optional (Mark Langsdorf) [2032600] - PM: domains: use device's next wakeup to determine domain idle state (Mark Langsdorf) [2032600] - PM: domains: inform PM domain of a device's next wakeup (Mark Langsdorf) [2032600] - PM: runtime: Fix resposible -> responsible in runtime.c (Mark Langsdorf) [2032600] - PM: domains: Restore comment indentation for generic_pm_domain.child_links (Mark Langsdorf) [2032600] - PM: domains: Fix up terminology with parent/child (Mark Langsdorf) [2032600] - regmap: Assign boolean values to a bool variable (Mark Langsdorf) [2032600] - software node: Introduce device_add_software_node() (Mark Langsdorf) [2032600] - numa: Move numa implementation to common code (Mark Langsdorf) [2032600] - arm64, numa: Change the numa init functions name to be generic (Mark Langsdorf) [2032600] - driver core: fw_devlink_relax_cycle() can be static (Mark Langsdorf) [2032600] - driver core: Handle cycles in device links created by fw_devlink (Mark Langsdorf) [2032600] - driver core: Have fw_devlink use DL_FLAG_INFERRED (Mark Langsdorf) [2032600] - driver core: Add device link support for INFERRED flag (Mark Langsdorf) [2032600] - drivers: base: Kconfig: fix spelling mistake "heterogenous" -> "heterogeneous" (Mark Langsdorf) [2032600] - driver core: Add debug logs for device link related probe deferrals (Mark Langsdorf) [2032600] - drivers: base: remove unused function find_bus() (Mark Langsdorf) [2032600] - PM: runtime: Drop runtime PM references to supplier on link removal (Mark Langsdorf) [2032600] - dmaengine: idxd: Add wq occupancy information to sysfs attribute (Julia Denham) [1971887] - vdpa/mlx5: Forward only packets with allowed MAC address (Cindy Lu) [2031595] - vdpa/mlx5: Support configuration of MAC (Cindy Lu) [2031595] - vdpa/mlx5: Fix clearing of VIRTIO_NET_F_MAC feature bit (Cindy Lu) [2031595] - vdpa_sim_net: Enable user to set mac address and mtu (Cindy Lu) [2031595] - vdpa: Enable user to set mac and mtu of vdpa device (Cindy Lu) [2031595] - vdpa: Use kernel coding style for structure comments (Cindy Lu) [2031595] - vdpa: Introduce query of device config layout (Cindy Lu) [2031595] - vdpa: Introduce and use vdpa device get, set config helpers (Cindy Lu) [2031595] - vdpa/mlx5: Propagate link status from device to vdpa driver (Cindy Lu) [2031595] - vdpa/mlx5: Rename control VQ workqueue to vdpa wq (Cindy Lu) [2031595] - vdpa/mlx5: Remove mtu field from vdpa net device (Cindy Lu) [2031595] - eni_vdpa: add vDPA driver for Alibaba ENI (Cindy Lu) [2031595] - vdpa: add new attribute VDPA_ATTR_DEV_MIN_VQ_SIZE (Cindy Lu) [2031595] - virtio_vdpa: setup correct vq size with callbacks get_vq_num_{max,min} (Cindy Lu) [2031595] - vdpa: min vq num of vdpa device cannot be greater than max vq num (Cindy Lu) [2031595] - vdpa: add new callback get_vq_num_min in vdpa_config_ops (Cindy Lu) [2031595] - vp_vdpa: add vq irq offloading support (Cindy Lu) [2031595] - vdpa: fix typo (Cindy Lu) [2031595] - vhost-vdpa: Fix the wrong input in config_cb (Cindy Lu) [2031595] - vhost_vdpa: unset vq irq before freeing irq (Cindy Lu) [2031595] - vdpa: potential uninitialized return in vhost_vdpa_va_map() (Cindy Lu) [2031595] - vdpa/mlx5: Avoid executing set_vq_ready() if device is reset (Cindy Lu) [2031595] - vdpa/mlx5: Clear ready indication for control VQ (Cindy Lu) [2031595] - vdpa: Support transferring virtual addressing during DMA mapping (Cindy Lu) [2031595] - vdpa: factor out vhost_vdpa_pa_map() and vhost_vdpa_pa_unmap() (Cindy Lu) [2031595] - vdpa: Add an opaque pointer for vdpa_config_ops.dma_map() (Cindy Lu) [2031595] - vhost-iotlb: Add an opaque pointer for vhost IOTLB (Cindy Lu) [2031595] - vhost-vdpa: Handle the failure of vdpa_reset() (Cindy Lu) [2031595] - vdpa: Add reset callback in vdpa_config_ops (Cindy Lu) [2031595] - vdpa: Fix some coding style issues (Cindy Lu) [2031595] - vdpa: Make use of PFN_PHYS/PFN_UP/PFN_DOWN helper macro (Cindy Lu) [2031595] - vdpa_sim: Use iova_shift() for the size passed to alloc_iova() (Cindy Lu) [2031595] - vdpa/mlx5: Add multiqueue support (Cindy Lu) [2031595] - vdpa/mlx5: Add support for control VQ and MAC setting (Cindy Lu) [2031595] - vdpa/mlx5: Ensure valid indices are provided (Cindy Lu) [2031595] - vdpa/mlx5: Decouple virtqueue callback from struct mlx5_vdpa_virtqueue (Cindy Lu) [2031595] - vdpa/mlx5: function prototype modifications in preparation to control VQ (Cindy Lu) [2031595] - vdpa/mlx5: Remove redundant header file inclusion (Cindy Lu) [2031595] - vDPA/ifcvf: enable multiqueue and control vq (Cindy Lu) [2031595] - vDPA/ifcvf: detect and use the onboard number of queues directly (Cindy Lu) [2031595] - vDPA/ifcvf: implement management netlink framework for ifcvf (Cindy Lu) [2031595] - vDPA/ifcvf: introduce get_dev_type() which returns virtio dev id (Cindy Lu) [2031595] - vdpa/mlx5: Fix queue type selection logic (Cindy Lu) [2031595] - vdpa/mlx5: Avoid destroying MR on empty iotlb (Cindy Lu) [2031595] - virtio_vdpa: reject invalid vq indices (Cindy Lu) [2031595] - vdpa: Add documentation for vdpa_alloc_device() macro (Cindy Lu) [2031595] - vDPA/ifcvf: Fix return value check for vdpa_alloc_device() (Cindy Lu) [2031595] - vp_vdpa: Fix return value check for vdpa_alloc_device() (Cindy Lu) [2031595] - vdpa_sim: Fix return value check for vdpa_alloc_device() (Cindy Lu) [2031595] - vhost: Fix the calculation in vhost_overflow() (Cindy Lu) [2031595] - vhost-vdpa: Fix integer overflow in vhost_vdpa_process_iotlb_update() (Cindy Lu) [2031595] - iommu/vt-d: Fix unmap_pages support (Jerry Snitselaar) [2027765] - dm sysfs: use default_groups in kobj_type (Benjamin Marzinski) [2047358] - dm space map common: add bounds check to sm_ll_lookup_bitmap() (Benjamin Marzinski) [2047358] - dm btree: add a defensive bounds check to insert_at() (Benjamin Marzinski) [2047358] - dm btree remove: change a bunch of BUG_ON() calls to proper errors (Benjamin Marzinski) [2047358] - dm btree spine: eliminate duplicate le32_to_cpu() in node_check() (Benjamin Marzinski) [2047358] - dm btree spine: remove extra node_check function declaration (Benjamin Marzinski) [2047358] - selftests/bpf: Adding delay in socketmap_listen to reduce flakyness (Felix Maurer) [2026433] - net: openvswitch: Fix ct_state nat flags for conns arriving from tc (Marcelo Ricardo Leitner) [2040334] - net: openvswitch: Fix matching zone id for invalid conns arriving from tc (Marcelo Ricardo Leitner) [2040452] - net/sched: flow_dissector: Fix matching on zone id for invalid conns (Marcelo Ricardo Leitner) [2040452] - net/sched: Extend qdisc control block with tc control block (Marcelo Ricardo Leitner) [2040452] - mm: Fix an use-after-free error in mm_struct (Waiman Long) [2046161] - rh_flags: Rename rh_features to rh_flags (Prarit Bhargava) [2021700] - redhat: add initial rpminspect configuration (Augusto Caringi)- can: raw: raw_setsockopt(): fix raw_rcv panic for sock UAF (Balazs Nemeth) [2026692] - drm/vmwgfx: Fix stale file descriptors on failed usercopy (Dave Airlie) [2047602] {CVE-2022-22942} - drm/i915: Flush TLBs before releasing backing store (Dave Airlie) [2044329] {CVE-2022-0330} - [s390] s390/pci: move pseudo-MMIO to prevent MIO overlap (Mete Durlu) [2047757] - [s390] scsi: zfcp: Fix failed recovery on gone remote port with non-NPIV FCP devices (Mete Durlu) [2048919] - tun: fix bonding active backup with arp monitoring (Jonathan Toppins) [2024964] - x86/hyperv: Properly deal with empty cpumasks in hyperv_flush_tlb_multi() (Vitaly Kuznetsov) [2044237] - xfs: check sb_meta_uuid for dabuf buffer recovery (Bill O'Donnell) [2020764] - vfs: fs_context: fix up param length parsing in legacy_parse_param (Carlos Maiolino) [2040586] {CVE-2022-0185} - KVM: nVMX: Allow VMREAD when Enlightened VMCS is in use (Vitaly Kuznetsov) [2012105] - KVM: nVMX: Implement evmcs_field_offset() suitable for handle_vmread() (Vitaly Kuznetsov) [2012105] - KVM: nVMX: Rename vmcs_to_field_offset{,_table} (Vitaly Kuznetsov) [2012105] - KVM: nVMX: eVMCS: Filter out VM_EXIT_SAVE_VMX_PREEMPTION_TIMER (Vitaly Kuznetsov) [2012105] - KVM: nVMX: Also filter MSR_IA32_VMX_TRUE_PINBASED_CTLS when eVMCS (Vitaly Kuznetsov) [2012105] - KVM: nVMX: Use INVALID_GPA for pointers used in nVMX. (Vitaly Kuznetsov) [2012105] - x86/kvm: Always inline evmcs_write64() (Vitaly Kuznetsov) [2012105] - powerpc/powernv: Remove POWER9 PVR version check for entry and uaccess flushes (Diego Domingos) [2030954] - powerpc/pesries: Get STF barrier requirement from H_GET_CPU_CHARACTERISTICS (Diego Domingos) [2030954] - powerpc/security: Add a security feature for STF barrier (Diego Domingos) [2030954] - powerpc/pseries: Get entry and uaccess flush required bits from H_GET_CPU_CHARACTERISTICS (Diego Domingos) [2030954] - drm/nouveau/disp/dp: add support for eDP link rates (Ben Skeggs) [2043523] - drm/nouveau/disp/dp: add support for hbr3 (Ben Skeggs) [2043523] - drm/nouveau/disp/dp: add support for lttprs (Ben Skeggs) [2043523] - drm/nouveau/disp/dp: fixup cr/eq delays for 1.4 (Ben Skeggs) [2043523] - drm/nouveau/disp/dp: add support for tps4 (Ben Skeggs) [2043523] - drm/nouveau/disp/dp: generate supported link rates table at detect time (Ben Skeggs) [2043523] - drm/nouveau/disp/dp: explicitly control scrambling when setting pattern (Ben Skeggs) [2043523] - drm/nouveau/disp: remove some remnant of a rework (Ben Skeggs) [2043523] - drm/nouveau: recognise GA106 (Ben Skeggs) [2043523] - redhat/scripts: Update merge-subtrees.sh (Prarit Bhargava)- pinctrl: amd: Fix wakeups when IRQ is shared with SCI (Renjith Pananchikkal) [2039124] - bonding: fix ad_actor_system option setting to default (Jonathan Toppins) [2042564 1931881] - bonding: make tx_rebalance_counter an atomic (Jonathan Toppins) [2042564] - bonding: Fix a use-after-free problem when bond_sysfs_slave_add() failed (Jonathan Toppins) [2042564] - bonding: 3ad: pass parameter bond_params by reference (Jonathan Toppins) [2042564] - bonding: complain about missing route only once for A/B ARP probes (Jonathan Toppins) [2042564] - bonding: improve nl error msg when device can't be enslaved because of IFF_MASTER (Jonathan Toppins) [2042564] - bonding: combine netlink and console error messages (Jonathan Toppins) [2042564] - bonding: add new option lacp_active (Jonathan Toppins) [2042564] - bonding: 3ad: fix the concurrency between __bond_release_one() and bond_3ad_state_machine_handler() (Jonathan Toppins) [2042564] - bonding: fix build issue (Jonathan Toppins) [2042564] - bonding: fix incorrect return value of bond_ipsec_offload_ok() (Jonathan Toppins) [2042564] - bonding: fix suspicious RCU usage in bond_ipsec_offload_ok() (Jonathan Toppins) [2042564] - bonding: Add struct bond_ipesc to manage SA (Jonathan Toppins) [2042564] - bonding: disallow setting nested bonding + ipsec offload (Jonathan Toppins) [2042564] - bonding: fix suspicious RCU usage in bond_ipsec_del_sa() (Jonathan Toppins) [2042564] - bonding: fix null dereference in bond_ipsec_add_sa() (Jonathan Toppins) [2042564] - bonding: fix suspicious RCU usage in bond_ipsec_add_sa() (Jonathan Toppins) [2042564] - net: bonding: Use per-cpu rr_tx_counter (Jonathan Toppins) [2042564] - bonding: remove redundant initialization of variable ret (Jonathan Toppins) [2042564] - net: bonding: Use strscpy_pad() instead of manually-truncated strncpy() (Jonathan Toppins) [2042564] - bonding: init notify_work earlier to avoid uninitialized use (Jonathan Toppins) [2042564] - bonding: 3ad: Fix the conflict between bond_update_slave_arr and the state machine (Jonathan Toppins) [2042564] - scsi: lpfc: Update lpfc version to 14.0.0.4 (Dick Kennedy) [2034276] - scsi: lpfc: Add additional debugfs support for CMF (Dick Kennedy) [2034276] - scsi: lpfc: Cap CMF read bytes to MBPI (Dick Kennedy) [2034276] - scsi: lpfc: Adjust CMF total bytes and rxmonitor (Dick Kennedy) [2034276] - scsi: lpfc: Trigger SLI4 firmware dump before doing driver cleanup (Dick Kennedy) [2034276] - scsi: lpfc: Fix NPIV port deletion crash (Dick Kennedy) [2034276] - scsi: lpfc: Fix lpfc_force_rscn ndlp kref imbalance (Dick Kennedy) [2034276] - scsi: lpfc: Change return code on I/Os received during link bounce (Dick Kennedy) [2034276] - scsi: lpfc: Fix leaked lpfc_dmabuf mbox allocations with NPIV (Dick Kennedy) [2034276] - ppp: ensure minimum packet size in ppp_write() (Guillaume Nault) [2042937] - KVM: VMX: switch blocked_vcpu_on_cpu_lock to raw spinlock (Marcelo Tosatti) [2034126] - configs: Enable CONFIG_THINKPAD_LMI on x86_64 (Mark Pearson) [2030772] - platform/x86: think-lmi: Abort probe on analyze failure (Mark Pearson) [2030772] - platform/x86: think-lmi: add debug_cmd (Mark Pearson) [2030772] - platform/x86: think-lmi: Fix possible mem-leaks on tlmi_analyze() error-exit (Mark Pearson) [2030772] - platform/x86: think-lmi: Split kobject_init() and kobject_add() calls (Mark Pearson) [2030772] - platform/x86: think-lmi: Move pending_reboot_attr to the attributes sysfs dir (Mark Pearson) [2030772] - platform/x86: think-lmi: Add pending_reboot support (Mark Pearson) [2030772] - platform/x86: think-lmi: Move kfree(setting->possible_values) to tlmi_attr_setting_release() (Mark Pearson) [2030772] - platform/x86: think-lmi: Split current_value to reflect only the value (Mark Pearson) [2030772] - platform/x86: think-lmi: Fix issues with duplicate attributes (Mark Pearson) [2030772] - platform/x86: think-lmi: Return EINVAL when kbdlang gets set to a 0 length string (Mark Pearson) [2030772] - platform/x86: think-lmi: Add missing MODULE_DEVICE_TABLE (Mark Pearson) [2030772] - platform/x86: think-lmi: Avoid potential read before start of the buffer (Mark Pearson) [2030772] - platform/x86: think-lmi: Fix check for admin password being set (Mark Pearson) [2030772] - platform/x86: dell-wmi-sysman/think-lmi: Make fw_attr_class global static (Mark Pearson) [2030772] - platform/x86: thinkpad-lmi: Remove unused display_name member from struct tlmi_pwd_setting (Mark Pearson) [2030772] - platform/x86: think-lmi: Add WMI interface support on Lenovo platforms (Mark Pearson) [2030772] - platform/x86: dell-wmi-sysman: fw_attr_inuse can be static (Mark Pearson) [2030772] - platform/x86: dell-wmi-sysman: Use firmware_attributes_class helper (Mark Pearson) [2030772] - platform/x86: firmware_attributes_class: Create helper file for handling firmware-attributes class registration events (Mark Pearson) [2030772] - x86/apic: Handle missing global clockevent gracefully (Lenny Szubowicz) [2033197] - RDMA/core: Don't infoleak GRH fields (Kamal Heib) [2036597] - RDMA/uverbs: Check for null return of kmalloc_array (Kamal Heib) [2036597] - RDMA/sa_query: Use strscpy_pad instead of memcpy to copy a string (Kamal Heib) [2036597] - RDMA/rw: switch to dma_map_sgtable() (Kamal Heib) [2036597] - RDMA/cma: Ensure rdma_addr_cancel() happens before issuing more requests (Kamal Heib) [2036597] - RDMA/cma: Fix listener leak in rdma_cma_listen_on_all() failure (Kamal Heib) [2036597] - RDMA/iwcm: Release resources if iw_cm module initialization fails (Kamal Heib) [2036597] - net: Set true network header for ECN decapsulation (Antoine Tenart) [2045059] - powerpc/bpf: Update ldimm64 instructions during extra pass (Yauheni Kaliuta) [2035973] - selftests: bpf: Fix bind on used port (Felix Maurer) [2025795] - bpf/selftests: Fix namespace mount setup in tc_redirect (Jiri Olsa) [2036016] - selftests/bpf: Fix possible/online index mismatch in perf_buffer test (Yauheni Kaliuta) [2039602] - selftests/bpf: Fix perf_buffer test on system with offline cpus (Yauheni Kaliuta) [2039602] - tracing: Tag trace_percpu_buffer as a percpu pointer (Jerome Marchand) [2031604] - tracing: Fix check for trace_percpu_buffer validity in get_trace_buf() (Jerome Marchand) [2031604] - hwmon: (k10temp) Support up to 12 CCDs on AMD Family of processors (David Arcari) [2022539] - hwmon: (k10temp) Add support for AMD Family 19h Models 10h-1Fh and A0h-AFh (David Arcari) [2022539] - hwmon: (k10temp) Remove unused definitions (David Arcari) [2022539] - x86/amd_nb: Add AMD Family 19h Models (10h-1Fh) and (A0h-AFh) PCI IDs (David Arcari) [2022539] - hwmon: (k10temp) Remove residues of current and voltage (David Arcari) [2022539] - hwmon: (k10temp) Update driver documentation (David Arcari) [2022539] - hwmon: (k10temp) Update documentation and add temp2_input info (David Arcari) [2022539] - docs: hwmon: k10temp: convert to ReST format (David Arcari) [2022539] - mptcp: fix deadlock in __mptcp_push_pending() (Davide Caratti) [2043598] - mptcp: clear 'kern' flag from fallback sockets (Davide Caratti) [2043598] - mptcp: remove tcp ulp setsockopt support (Davide Caratti) [2043598] - mptcp: never allow the PM to close a listener subflow (Davide Caratti) [2043598]- redhat: set LC_ALL=C before sorting config content (Frantisek Hrbata) - net: mana: Add RX fencing (Mohammed Gamal) [2030132] - net: mana: Add XDP support (Mohammed Gamal) [2030132] - net: mana: Fix memory leak in mana_hwc_create_wq (Mohammed Gamal) [2030132] - net: mana: Fix spelling mistake "calledd" -> "called" (Mohammed Gamal) [2030132] - net: mana: Support hibernation and kexec (Mohammed Gamal) [2030132] - net: mana: Improve the HWC error handling (Mohammed Gamal) [2030132] - net: mana: Report OS info to the PF driver (Mohammed Gamal) [2030132] - net: mana: Fix the netdev_err()'s vPort argument in mana_init_port() (Mohammed Gamal) [2030132] - net: mana: Allow setting the number of queues while the NIC is down (Mohammed Gamal) [2030132] - net: stmmac: Add GFP_DMA32 for rx buffers if no 64 capability (Mark Salter) [1989540] - net: stmmac: Fix potential integer overflow (Mark Salter) [1989540] - net: stmmac: fix issue where clk is being unprepared twice (Mark Salter) [1989540] - net: stmmac: fix kernel panic due to NULL pointer dereference of mdio_bus_data (Mark Salter) [1989540] - net: stmmac: fix system hang if change mac address after interface ifdown (Mark Salter) [1989540] - net: stmmac: correct clocks enabled in stmmac_vlan_rx_kill_vid() (Mark Salter) [1989540] - net: remove the mutex_acquire from __lock_sock_fast (Xin Long) [2026612] - net: core: Correct the sock::sk_lock.owned lockdep annotations (Xin Long) [2026612] - inet: use bigger hash table for IP ID generation (Xin Long) [2039969] {CVE-2021-45486} - net: revert "net: get rid of an signed integer overflow in ip_idents_reserve()" (Xin Long) [2039969] - net/mlx5: DR, Use FW API when updating FW-owned flow table (Michal Schmidt) [2042651] - ipv6: Continue processing multipath route even if gateway attribute is invalid (Hangbin Liu) [2041375] - ipv6: Check attribute length for RTA_GATEWAY when deleting multipath route (Hangbin Liu) [2041375] - ipv6: Do cleanup if attribute validation fails in multipath route (Hangbin Liu) [2041375] - ipv6: Check attribute length for RTA_GATEWAY in multipath route (Hangbin Liu) [2041375] - rtw89: fix maybe-uninitialized error (Íñigo Huguet) [2033291] - rtw89: enable driver and device RTL8852AE (Íñigo Huguet) [2033291] - rtw89: fix maybe-uninitialized error (RHEL only) (Íñigo Huguet) [2033291] - rtw89: 8852a: correct bit definition of dfs_en (Íñigo Huguet) [2033291] - rtw89: coex: Update COEX to 5.5.8 (Íñigo Huguet) [2033291] - rtw89: coex: Cancel PS leaving while C2H comes (Íñigo Huguet) [2033291] - rtw89: coex: Update BT counters while receiving report (Íñigo Huguet) [2033291] - rtw89: coex: Define LPS state for BTC using (Íñigo Huguet) [2033291] - rtw89: coex: Add MAC API to get BT polluted counter (Íñigo Huguet) [2033291] - rtw89: coex: Not to send H2C when WL not ready and count H2C (Íñigo Huguet) [2033291] - rtw89: coex: correct C2H header length (Íñigo Huguet) [2033291] - rtw89: don't kick off TX DMA if failed to write skb (Íñigo Huguet) [2033291] - rtw89: remove cch_by_bw which is not used (Íñigo Huguet) [2033291] - rtw89: fix sending wrong rtwsta->mac_id to firmware to fill address CAM (Íñigo Huguet) [2033291] - rtw89: fix incorrect channel info during scan (Íñigo Huguet) [2033291] - rtw89: update scan_mac_addr during scanning period (Íñigo Huguet) [2033291] - rtw89: use inline function instead macro to set H2C and CAM (Íñigo Huguet) [2033291] - rtw89: add const in the cast of le32_get_bits() (Íñigo Huguet) [2033291] - rtw89: add AXIDMA and TX FIFO dump in mac_mem_dump (Íñigo Huguet) [2033291] - rtw89: fix potentially access out of range of RF register array (Íñigo Huguet) [2033291] - rtw89: remove unneeded variable (Íñigo Huguet) [2033291] - rtw89: remove unnecessary conditional operators (Íñigo Huguet) [2033291] - rtw89: update rtw89_regulatory map to R58-R31 (Íñigo Huguet) [2033291] - rtw89: update tx power limit/limit_ru tables to R54 (Íñigo Huguet) [2033291] - rtw89: update rtw89 regulation definition to R58-R31 (Íñigo Huguet) [2033291] - rtw89: fill regd field of limit/limit_ru tables by enum (Íñigo Huguet) [2033291] - rtw89: update partition size of firmware header on skb->data (Íñigo Huguet) [2033291] - rtw89: Fix variable dereferenced before check 'sta' (Íñigo Huguet) [2033291] - rtw89: fix return value in hfc_pub_cfg_chk (Íñigo Huguet) [2033291] - rtw89: remove duplicate register definitions (Íñigo Huguet) [2033291] - rtw89: fix error function parameter (Íñigo Huguet) [2033291] - rtw89: remove unneeded semicolon (Íñigo Huguet) [2033291] - rtw89: fix return value check in rtw89_cam_send_sec_key_cmd() (Íñigo Huguet) [2033291] - rtw89: Remove redundant check of ret after call to rtw89_mac_enable_bb_rf (Íñigo Huguet) [2033291] - rtw89: Fix two spelling mistakes in debug messages (Íñigo Huguet) [2033291] - rtw89: add Realtek 802.11ax driver (Íñigo Huguet) [2033291] - powerpc/doc: Fix htmldocs errors (Diego Domingos) [2004798] - pseries/drmem: update LMBs after LPM (Diego Domingos) [2004798] - powerpc/pseries: Add support for FORM2 associativity (Diego Domingos) [2004798] - powerpc/pseries: Add a helper for form1 cpu distance (Diego Domingos) [2004798] - powerpc/pseries: Consolidate different NUMA distance update code paths (Diego Domingos) [2004798] - powerpc/pseries: Rename TYPE1_AFFINITY to FORM1_AFFINITY (Diego Domingos) [2004798] - powerpc/pseries: rename min_common_depth to primary_domain_index (Diego Domingos) [2004798] - powerpc/numa: Fix build when CONFIG_NUMA=n (Diego Domingos) [2004798] - pseries/hotplug-memory: hot-add: skip redundant LMB lookup (Diego Domingos) [2004798] - selftests: icmp_redirect: pass xfail=0 to log_test() (Hangbin Liu) [2041308] - selftests: net: Correct ping6 expected rc from 2 to 1 (Hangbin Liu) [2041308] - mt76: enable new device MT7921E (Íñigo Huguet) [2024056 1972045] - vrf: Reset IPCB/IP6CB when processing outbound pkts in vrf dev xmit (Antoine Tenart) [2044254] - SUNRPC: prevent port reuse on transports which don't request it. (Benjamin Coddington) [2016646] - SUNRPC: Fix races when closing the socket (Benjamin Coddington) [2016646] - SUNRPC: Prevent immediate close+reconnect (Benjamin Coddington) [2016646] - SUNRPC: Clean up scheduling of autoclose (Benjamin Coddington) [2016646] - SUNRPC: Fix potential memory corruption (Benjamin Coddington) [2016646] - sunrpc: remove unnecessary test in rpc_task_set_client() (Benjamin Coddington) [2016646] - SUNRPC: Replace use of socket sk_callback_lock with sock_lock (Benjamin Coddington) [2016646] - arm64: numa: simplify dummy_numa_init() (Vitaly Kuznetsov) [2029774] - ACPI: NUMA: Process hotpluggable memblocks when !CONFIG_MEMORY_HOTPLUG (Vitaly Kuznetsov) [2029774] - s390/sclp: fix Secure-IPL facility detection (Stefan Schulze Frielinghaus) [2039182] - powerpc/pseries/mobility: ignore ibm, platform-facilities updates (Diego Domingos) [2031827] - of: Fix property name in of_node_get_device_type (Diego Domingos) [2031827] - of: Add device_type access helper functions (Diego Domingos) [2031827] - powerpc/watchdog: help remote CPUs to flush NMI printk output (Diego Domingos) [2030259] - powerpc/watchdog: Fix wd_smp_last_reset_tb reporting (Diego Domingos) [2030259] - powerpc/watchdog: read TB close to where it is used (Diego Domingos) [2030259] - powerpc/watchdog: Avoid holding wd_smp_lock over printk and smp_send_nmi_ipi (Diego Domingos) [2030259] - powerpc/watchdog: tighten non-atomic read-modify-write access (Diego Domingos) [2030259] - powerpc/watchdog: Fix missed watchdog reset due to memory ordering race (Diego Domingos) [2030259] - selftests/sgx: Fix corrupted cpuid macro invocation (Vladis Dronov) [1920030] - x86/sgx: Fix minor documentation issues (Vladis Dronov) [1920030] - selftests/sgx: Add test for multiple TCS entry (Vladis Dronov) [1920030] - selftests/sgx: Enable multiple thread support (Vladis Dronov) [1920030] - selftests/sgx: Add page permission and exception test (Vladis Dronov) [1920030] - selftests/sgx: Rename test properties in preparation for more enclave tests (Vladis Dronov) [1920030] - selftests/sgx: Provide per-op parameter structs for the test enclave (Vladis Dronov) [1920030] - selftests/sgx: Add a new kselftest: Unclobbered_vdso_oversubscribed (Vladis Dronov) [1920030] - selftests/sgx: Move setup_test_encl() to each TEST_F() (Vladis Dronov) [1920030] - selftests/sgx: Encpsulate the test enclave creation (Vladis Dronov) [1920030] - selftests/sgx: Dump segments and /proc/self/maps only on failure (Vladis Dronov) [1920030] - selftests/sgx: Create a heap for the test enclave (Vladis Dronov) [1920030] - selftests/sgx: Make data measurement for an enclave segment optional (Vladis Dronov) [1920030] - selftests/sgx: Assign source for each segment (Vladis Dronov) [1920030] - selftests/sgx: Fix a benign linker warning (Vladis Dronov) [1920030] - x86/sgx: Fix free page accounting (Vladis Dronov) [1920030] - x86/sgx: Add check for SGX pages to ghes_do_memory_failure() (Vladis Dronov) [1920030] - x86/sgx: Add hook to error injection address validation (Vladis Dronov) [1920030] - x86/sgx: Hook arch_memory_failure() into mainline code (Vladis Dronov) [1920030] - x86/sgx: Add SGX infrastructure to recover from poison (Vladis Dronov) [1920030] - x86/sgx: Initial poison handling for dirty and free pages (Vladis Dronov) [1920030] - x86/sgx: Add infrastructure to identify SGX EPC pages (Vladis Dronov) [1920030] - x86/sgx: Add new sgx_epc_page flag bit to mark free pages (Vladis Dronov) [1920030] - selftests/sgx: Fix Q1 and Q2 calculation in sigstruct.c (Vladis Dronov) [1920030] - selftests/sgx: remove checks for file execute permissions (Vladis Dronov) [1920030] - selftests/sgx: Refine the test enclave to have storage (Vladis Dronov) [1920030] - selftests/sgx: Add EXPECT_EEXIT() macro (Vladis Dronov) [1920030] - selftests/sgx: Dump enclave memory map (Vladis Dronov) [1920030] - selftests/sgx: Migrate to kselftest harness (Vladis Dronov) [1920030] - selftests/sgx: Rename 'eenter' and 'sgx_call_vdso' (Vladis Dronov) [1920030] - x86/sgx: Add missing xa_destroy() when virtual EPC is destroyed (Vladis Dronov) [1920030] - x86/sgx: Correct kernel-doc's arg name in sgx_encl_release() (Vladis Dronov) [1920030] - x86: Fix leftover comment typos (Vladis Dronov) [1920030] - mm,hwpoison: return -EHWPOISON to denote that the page has already been poisoned (Vladis Dronov) [1920030] - mm/memory-failure: use a mutex to avoid memory_failure() races (Vladis Dronov) [1920030] - mm,hwpoison: take free pages off the buddy freelists (Vladis Dronov) [1920030] - sched/fair: Consider SMT in ASYM_PACKING load balance (Prarit Bhargava) [1971924] - sched/fair: Carve out logic to mark a group for asymmetric packing (Prarit Bhargava) [1971924] - sched/fair: Provide update_sg_lb_stats() with sched domain statistics (Prarit Bhargava) [1971924] - sched/fair: Optimize checking for group_asym_packing (Prarit Bhargava) [1971924] - sched/topology: Introduce sched_group::flags (Prarit Bhargava) [1971924] - x86/sched: Decrease further the priorities of SMT siblings (Prarit Bhargava) [1971924]- nvme-fc: remove freeze/unfreeze around update_nr_hw_queues (Ewan D. Milne) [1996109] - nvme-fc: avoid race between time out and tear down (Ewan D. Milne) [1996109] - nvme-fc: update hardware queues before using them (Ewan D. Milne) [1996109] - igbvf: Refactor trace (Corinna Vinschen) [2039886] - igbvf: fix double free in `igbvf_probe` (Corinna Vinschen) [2039886] - mm/memory_hotplug: remove is_mem_section_removable() (David Hildenbrand) [2008072] - powerpc/pseries/hotplug-memory: stop checking is_mem_section_removable() (David Hildenbrand) [2008072] - drivers/base/memory.c: indicate all memory blocks as removable (David Hildenbrand) [2008072] - drivers/base/memory.c: fixup documentation of removable/phys_index/block_size_bytes (David Hildenbrand) [2008072] - Revert "mpi3mr: mark as tech preview" (Tomas Henzl) [1989634] - scsi: core: Avoid printing an error if target_alloc() returns -ENXIO (Tomas Henzl) [1977833] - scsi: mpi3mr: Use scnprintf() instead of snprintf() (Tomas Henzl) [1998599] - scsi: mpi3mr: Fix duplicate device entries when scanning through sysfs (Tomas Henzl) [1998599] - scsi: mpi3mr: Clean up mpi3mr_print_ioc_info() (Tomas Henzl) [1989634] - scsi: mpi3mr: Set up IRQs in resume path (Tomas Henzl) [1991577] - Revert "scsi: lpfc: ls_rjt erroneus FLOGIs" (Dick Kennedy) [2032488] - pseries/eeh: Fix the kdump kernel crash during eeh_pseries_init (Steve Best) [2028253] - arm64: smp: Add missing prototype for some smp.c functions (Mark Salter) [1996738] - irqchip/gic-v3-its: Remove unnecessary oom message (Mark Salter) [1996738] - irqchip/gic-v2m: Remove unnecessary oom message (Mark Salter) [1996738] - irqchip/gic: Split vGIC probing information from the GIC code (Mark Salter) [1996738] - irqchip/gic-v3: Workaround inconsistent PMR setting on NMI entry (Mark Salter) [1996738] - irqchip/gic-v3: Do not enable irqs when handling spurious interrups (Mark Salter) [1996738] - irqchip/gic-v4.1: Disable vSGI upon (GIC CPUIF < v4.1) detection (Mark Salter) [1996738] - irqchip/gic-v3: Fix OF_BAD_ADDR error handling (Mark Salter) [1996738] - arm64: Move ICH_ sysreg bits from arm-gic-v3.h to sysreg.h (Mark Salter) [1996738] - irqchip/gic-v3-its: Drop the setting of PTZ altogether (Mark Salter) [1996738] - irqchip/gic-v3-its: Add a cache invalidation right after vPE unmapping (Mark Salter) [1996738] - irqchip/gic-v3: Fix typos in PMR/RPR SCR_EL3.FIQ handling explanation (Mark Salter) [1996738] - genirq/msi: Initialize msi_alloc_info before calling msi_domain_prepare_irqs() (Mark Salter) [1996738] - irqchip/gic: Spelling s/REturn/Return/ (Mark Salter) [1996738] - irqchip/gic-v3-its: Unconditionally save/restore the ITS state on suspend (Mark Salter) [1996738] - irq-chip/gic-v3-its: Fix crash if ITS is in a proximity domain without processor or memory (Mark Salter) [1996738] - irqchip/gic: Cleanup Franken-GIC handling (Mark Salter) [1996738] - arm64: Implement panic_smp_self_stop() (Mark Salter) [1996738] - arm64: Improve parking of stopped CPUs (Mark Salter) [1996738] - genirq: Allow interrupts to be excluded from /proc/interrupts (Mark Salter) [1996738] - irqchip/gic-v3: Support pseudo-NMIs when SCR_EL3.FIQ == 0 (Mark Salter) [1996738] - irqchip/gic-v3: Spell out when pseudo-NMIs are enabled (Mark Salter) [1996738] - irqchip/gic-v2, v3: Prevent SW resends entirely (Mark Salter) [1996738] - irqchip/git-v3-its: Implement irq_retrigger callback for device-triggered LPIs (Mark Salter) [1996738] - irqchip/gic-v2, v3: Implement irq_chip->irq_retrigger() (Mark Salter) [1996738] - irqchip/gic-v4.1: Use GFP_ATOMIC flag in allocate_vpe_l1_table() (Mark Salter) [1996738] - irqchip/gic-v4.1: Ensure accessing the correct RD when writing INVALLR (Mark Salter) [1996738] - irqchip/gic-v3: Remove unused register definition (Mark Salter) [1996738] - drivers/irqchip: Use new macro ACPI_DECLARE_SUBTABLE_PROBE_ENTRY (Mark Salter) [1996738] - drivers/acpi: Add new macro ACPI_DECLARE_SUBTABLE_PROBE_ENTRY (Mark Salter) [1996738] - KVM: arm64: vgic-v4: Plug race between non-residency and v4.1 doorbell (Mark Salter) [1996738] - irqchip/gic: Atomically update affinity (Mark Salter) [1996738] - irqchip/gic-v4.1: Use readx_poll_timeout_atomic() to fix sleep in atomic (Mark Salter) [1996738] - irqchip/gic-v2, v3: Drop extra IRQ_NOAUTOEN setting for (E)PPIs (Mark Salter) [1996738] - irqchip/gic-v3-its: Balance initial LPI affinity across CPUs (Mark Salter) [1996738] - irqchip/gic-v3-its: Track LPI distribution on a per CPU basis (Mark Salter) [1996738] - irqchip/gic-v3: Fix missing "__init" for gic_smp_init() (Mark Salter) [1996738] - selftests/bpf: Enlarge select() timeout for test_maps (Jiri Benc) [1869444] - PCI: Do not enable AtomicOps on VFs (Selvin Xavier) [1987081 1984339] - RDMA/bnxt_re: Fix stats counters (Selvin Xavier) [1987081 1984339 2001893] - RDMA/bnxt_re: Prefer kcalloc over open coded arithmetic (Selvin Xavier) [1987081 1984339] - RDMA/bnxt_re: Remove unpaired rtnl unlock in bnxt_re_dev_init() (Selvin Xavier) [1987081 1984339] - RDMA/bnxt_re: Add missing spin lock initialization (Selvin Xavier) [1987081 1984339] - RDMA/bnxt_re: Fix uninitialized struct bit field rsvd1 (Selvin Xavier) [1987081 1984339] - RDMA/bnxt_re: Update ABI to pass wqe-mode to user space (Selvin Xavier) [1987081 1984339] - RDMA/bnxt_re: Enable global atomic ops if platform supports (Selvin Xavier) [1987081 1984339] - RDMA/bnxt_re: Drop unnecessary NULL checks after container_of (Selvin Xavier) [1987081 1984339] - dm btree remove: fix use after free in rebalance_children() (Benjamin Marzinski) [2034424] - dm table: log table creation error code (Benjamin Marzinski) [2034424] - dm: make workqueue names device-specific (Benjamin Marzinski) [2034424] - dm writecache: Make use of the helper macro kthread_run() (Benjamin Marzinski) [2034424] - dm crypt: Make use of the helper macro kthread_run() (Benjamin Marzinski) [2034424] - dm: fix mempool NULL pointer race when completing IO (Benjamin Marzinski) [2034424] - dm rq: don't queue request to blk-mq during DM suspend (Benjamin Marzinski) [1891486] - dm verity: skip redundant verity_handle_err() on I/O errors (Benjamin Marzinski) [2034424] - dm writecache: add event counters (Benjamin Marzinski) [2034424] - dm writecache: report invalid return from writecache_map helpers (Benjamin Marzinski) [2034424] - dm writecache: further writecache_map() cleanup (Benjamin Marzinski) [2034424] - dm writecache: factor out writecache_map_remap_origin() (Benjamin Marzinski) [2034424] - dm writecache: split up writecache_map() to improve code readability (Benjamin Marzinski) [2034424] - dm btree remove: assign new_root only when removal succeeds (Benjamin Marzinski) [2034424] - dm ps io affinity: remove redundant continue statement (Benjamin Marzinski) [2034424] - dm: rearrange core declarations for extended use from dm-zone.c (Benjamin Marzinski) [2034424] - dm space map disk: cache a small number of index entries (Benjamin Marzinski) [2034424] - dm space maps: improve performance with inc/dec on ranges of blocks (Benjamin Marzinski) [2034424] - dm space maps: don't reset space map allocation cursor when committing (Benjamin Marzinski) [2034424] - dm btree: improve btree residency (Benjamin Marzinski) [2034424] - dm integrity: fix sparse warnings (Benjamin Marzinski) [2034424] - dm: replace dm_vcalloc() (Benjamin Marzinski) [2034424] - dm integrity: add the "reset_recalculate" feature flag (Benjamin Marzinski) [2034424] - dm cache: remove needless request_queue NULL pointer checks (Benjamin Marzinski) [2034424] - dm thin: remove needless request_queue NULL pointer check (Benjamin Marzinski) [2034424] - dm ioctl: replace device hash with red-black tree (Benjamin Marzinski) [2034424] - recordmcount.pl: fix typo in s390 mcount regex (Jerome Marchand) [2025890] - recordmcount.pl: look for jgnop instruction as well as bcrl on s390 (Jerome Marchand) [2025890] - KVM: x86: Wait for IPIs to be delivered when handling Hyper-V TLB flush hypercall (Vitaly Kuznetsov) [1868572] - HID: magicmouse: prevent division by 0 on scroll (Benjamin Tissoires) [2022814] - HID: input: set usage type to key on keycode remap (Benjamin Tissoires) [2022814] - HID: input: Fix parsing of HID_CP_CONSUMER_CONTROL fields (Benjamin Tissoires) [2022814] - HID: u2fzero: properly handle timeouts in usb_submit_urb (Benjamin Tissoires) [2022814] - HID: u2fzero: clarify error check and length calculations (Benjamin Tissoires) [2022814] - HID: amd_sfh: Fix potential NULL pointer dereference (Benjamin Tissoires) [2022814] - HID: u2fzero: ignore incomplete packets without data (Benjamin Tissoires) [2022814] - HID: amd_sfh: Fix potential NULL pointer dereference (Benjamin Tissoires) [2022814] - HID: wacom: Add new Intuos BT (CTL-4100WL/CTL-6100WL) device IDs (Benjamin Tissoires) [2022814] - HID: apple: Fix logical maximum and usage maximum of Magic Keyboard JIS (Benjamin Tissoires) [2022814] - HID: betop: fix slab-out-of-bounds Write in betop_probe (Benjamin Tissoires) [2022814] - HID: usbhid: Simplify code in hid_submit_ctrl() (Benjamin Tissoires) [2022814] - HID: usbhid: Fix warning caused by 0-length input reports (Benjamin Tissoires) [2022814] - HID: usbhid: Fix flood of "control queue full" messages (Benjamin Tissoires) [2022814] - HID: sony: Fix more ShanWan clone gamepads to not rumble when plugged in. (Benjamin Tissoires) [2022814] - HID: sony: support for the ghlive ps4 dongles (Benjamin Tissoires) [2022814] - HID: thrustmaster: clean up Makefile and adapt quirks (Benjamin Tissoires) [2022814] - HID: i2c-hid: Fix Elan touchpad regression (Benjamin Tissoires) [2022814] - HID: asus: Prevent Claymore sending suspend event (Benjamin Tissoires) [2022814] - HID: amd_sfh: Add dyndbg prints for debugging (Benjamin Tissoires) [2022814] - HID: amd_sfh: Add support for PM suspend and resume (Benjamin Tissoires) [2022814] - HID: amd_sfh: Move hid probe after sensor is enabled (Benjamin Tissoires) [2022814] - HID: amd_sfh: Add command response to check command status (Benjamin Tissoires) [2022814] - HID: amd_sfh: Fix period data field to enable sensor (Benjamin Tissoires) [2022814] - HID: logitech-hidpp: battery: provide CAPACITY property for newer devices (Benjamin Tissoires) [2022814] - HID: thrustmaster: Fix memory leak in thrustmaster_interrupts() (Benjamin Tissoires) [2022814] - HID: thrustmaster: Fix memory leak in remove (Benjamin Tissoires) [2022814] - HID: thrustmaster: Fix memory leaks in probe (Benjamin Tissoires) [2022814] - HID: elo: update the reference count of the usb device structure (Benjamin Tissoires) [2022814] - HID: logitech-hidpp: Use 'atomic_inc_return' instead of hand-writing it (Benjamin Tissoires) [2022814] - HID: ft260: fix device removal due to USB disconnect (Benjamin Tissoires) [2022814] - HID: apple: Add missing scan code event for keys handled by hid-apple (Benjamin Tissoires) [2022814] - HID: cmedia: add support for HS-100B mute button (Benjamin Tissoires) [2022814] - HID: i2c-hid: goodix: Use the devm variant of regulator_register_notifier() (Benjamin Tissoires) [2022814] - HID: wacom: Refactor touch input mute checks into a common function (Benjamin Tissoires) [2022814] - HID: wacom: Avoid sending empty sync events (Benjamin Tissoires) [2022814] - HID: wacom: Short-circuit processing of touch when it is disabled (Benjamin Tissoires) [2022814] - HID: wacom: set initial hardware touch switch state to 'off' (Benjamin Tissoires) [2022814] - HID: wacom: Skip processing of touches with negative slot values (Benjamin Tissoires) [2022814] - HID: wacom: Re-enable touch by default for Cintiq 24HDT / 27QHDT (Benjamin Tissoires) [2022814] - HID: Kconfig: Fix spelling mistake "Uninterruptable" -> "Uninterruptible" (Benjamin Tissoires) [2022814] - HID: apple: Add support for Keychron K1 wireless keyboard (Benjamin Tissoires) [2022814] - HID: usbhid: free raw_report buffers in usbhid_stop (Benjamin Tissoires) [2022814] - HID: fix typo in Kconfig (Benjamin Tissoires) [2022814] - HID: ft260: fix format type warning in ft260_word_show() (Benjamin Tissoires) [2022814] - HID: i2c-hid: goodix: Tie the reset line to true state of the regulator (Benjamin Tissoires) [2022814] - HID: amd_sfh: Use correct MMIO register for DMA address (Benjamin Tissoires) [2022814] - HID: magicmouse: high-resolution scroll threshold (Benjamin Tissoires) [2022814] - HID: magicmouse: enable high-resolution scroll (Benjamin Tissoires) [2022814] - HID: asus: Remove check for same LED brightness on set (Benjamin Tissoires) [2022814] - HID: input: do not report stylus battery state as "full" (Benjamin Tissoires) [2022814] - HID: intel-ish-hid: use async resume function (Benjamin Tissoires) [2022814] - HID: thrustmaster: Switch to kmemdup() when allocate change_request (Benjamin Tissoires) [2022814] - HID: multitouch: Disable event reporting on suspend when the device is not a wakeup-source (Benjamin Tissoires) [2022814] - HID: logitech-dj: Implement may_wakeup ll-driver callback (Benjamin Tissoires) [2022814] - HID: usbhid: Implement may_wakeup ll-driver callback (Benjamin Tissoires) [2022814] - HID: core: Add hid_hw_may_wakeup() function (Benjamin Tissoires) [2022814] - HID: input: Add support for Programmable Buttons (Benjamin Tissoires) [2022814] - HID: wacom: Correct base usage for capacitive ExpressKey status bits (Benjamin Tissoires) [2022814] - HID: amd_sfh: Add initial support for HPD sensor (Benjamin Tissoires) [2022814 1961759] - HID: amd_sfh: Extend ALS support for newer AMD platform (Benjamin Tissoires) [2022814 1961759] - HID: amd_sfh: Extend driver capabilities for multi-generation support (Benjamin Tissoires) [2022814 1961759] - HID: surface-hid: Fix get-report request (Benjamin Tissoires) [2022814] - HID: sony: fix freeze when inserting ghlive ps3/wii dongles (Benjamin Tissoires) [2022814] - HID: usbkbd: Avoid GFP_ATOMIC when GFP_KERNEL is possible (Benjamin Tissoires) [2022814] - HID: intel-ish-hid: ipc: Specify that EHL no cache snooping (Benjamin Tissoires) [2022814] - HID: intel-ish-hid: ishtp: Add dma_no_cache_snooping() callback (Benjamin Tissoires) [2022814] - HID: intel-ish-hid: Set ISH driver depends on x86 (Benjamin Tissoires) [2022814] - HID: hid-input: add Surface Go battery quirk (Benjamin Tissoires) [2022814] - HID: intel-ish-hid: Fix minor typos in comments (Benjamin Tissoires) [2022814] - HID: magicmouse: fix NULL-deref on disconnect (Benjamin Tissoires) [2022814] - HID: intel-ish-hid: ipc: Add Alder Lake device IDs (Benjamin Tissoires) [2022814] - HID: i2c-hid: fix format string mismatch (Benjamin Tissoires) [2022814] - HID: amd_sfh: Fix memory leak in amd_sfh_work (Benjamin Tissoires) [2022814] - HID: amd_sfh: Use devm_kzalloc() instead of kzalloc() (Benjamin Tissoires) [2022814] - HID: ft260: improve error handling of ft260_hid_feature_report_get() (Benjamin Tissoires) [2022814] - HID: asus: Cleanup Asus T101HA keyboard-dock handling (Benjamin Tissoires) [2022814] - HID: magicmouse: fix crash when disconnecting Magic Trackpad 2 (Benjamin Tissoires) [2022814] - HID: gt683r: add missing MODULE_DEVICE_TABLE (Benjamin Tissoires) [2022814] - HID: pidff: fix error return code in hid_pidff_init() (Benjamin Tissoires) [2022814] - HID: logitech-hidpp: initialize level variable (Benjamin Tissoires) [2022814] - HID: multitouch: Disable event reporting on suspend on the Asus T101HA touchpad (Benjamin Tissoires) [2022814] - HID: core: Remove extraneous empty line before EXPORT_SYMBOL_GPL(hid_check_keys_pressed) (Benjamin Tissoires) [2022814] - HID: usbmouse: Avoid GFP_ATOMIC when GFP_KERNEL is possible (Benjamin Tissoires) [2022814] - HID: hid-sensor-custom: Process failure of sensor_hub_set_feature() (Benjamin Tissoires) [2022814] - HID: i2c-hid: Skip ELAN power-on command after reset (Benjamin Tissoires) [2022814] - HID: usbhid: fix info leak in hid_submit_ctrl (Benjamin Tissoires) [2022814] - HID: Add BUS_VIRTUAL to hid_connect logging (Benjamin Tissoires) [2022814] - HID: input: replace outdated HID numbers+comments with macros (Benjamin Tissoires) [2022814] - HID: multitouch: set Stylus suffix for Stylus-application devices, too (Benjamin Tissoires) [2022814] - HID: multitouch: require Finger field to mark Win8 reports as MT (Benjamin Tissoires) [2022814] - HID: remove the unnecessary redefinition of a macro (Benjamin Tissoires) [2022814] - HID: quirks: Add quirk for Lenovo optical mouse (Benjamin Tissoires) [2022814] - HID: asus: filter G713/G733 key event to prevent shutdown (Benjamin Tissoires) [2022814] - HID: lg-g15 + ite: Add MODULE_AUTHOR (Benjamin Tissoires) [2022814] - HID: lg-g15: Add support for the Logitech Z-10 speakers (Benjamin Tissoires) [2022814] - HID: lg-g15: Make the LED-name used by lg_g15_register_led() a parameter (Benjamin Tissoires) [2022814] - HID: lg-g15: Add a lg_g15_init_input_dev() helper function (Benjamin Tissoires) [2022814] - HID: lg-g15: Add a lg_g15_handle_lcd_menu_keys() helper function (Benjamin Tissoires) [2022814] - HID: lg-g15: Remove unused size argument from lg_*_event() functions (Benjamin Tissoires) [2022814] - HID: hid-sensor-hub: Return error for hid_set_field() failure (Benjamin Tissoires) [2022814] - HID: ft260: check data size in ft260_smbus_write() (Benjamin Tissoires) [2022814] - HID: surface-hid: Fix integer endian conversion (Benjamin Tissoires) [2022814] - HID: hid-debug: recognize KEY_ASSISTANT and KEY_KBD_LAYOUT_NEXT (Benjamin Tissoires) [2022814] - HID: hid-input: add mapping for emoji picker key (Benjamin Tissoires) [2022814] - HID: a4tech: use A4_2WHEEL_MOUSE_HACK_B8 for A4TECH NB-95 (Benjamin Tissoires) [2022814] - HID: logitech-dj/hidpp: Add info/warn/err messages about 27 MHz keyboard encryption (Benjamin Tissoires) [2022814] - HID: quirks: Add HID_QUIRK_NO_INIT_REPORTS quirk for Dell K15A keyboard-dock (Benjamin Tissoires) [2022814] - HID: thrustmaster: fix return value check in thrustmaster_probe() (Benjamin Tissoires) [2022814] - HID: quirks: Set INCREMENT_USAGE_ON_DUPLICATE for Saitek X65 (Benjamin Tissoires) [2022814] - HID: do not use down_interruptible() when unbinding devices (Benjamin Tissoires) [2022814] - HID: asus: Filter keyboard EC for old ROG keyboard (Benjamin Tissoires) [2022814] - HID: semitek: new driver for GK6X series keyboards (Benjamin Tissoires) [2022814] - HID: wacom: Setup pen input capabilities to the targeted tools (Benjamin Tissoires) [2022814] - HID: hid-sensor-hub: Move 'hsdev' description to correct struct definition (Benjamin Tissoires) [2022814] - HID: hid-sensor-hub: Remove unused struct member 'quirks' (Benjamin Tissoires) [2022814] - HID: wacom_sys: Demote kernel-doc abuse (Benjamin Tissoires) [2022814] - HID: hid-sensor-custom: Remove unused variable 'ret' (Benjamin Tissoires) [2022814] - HID: hid-uclogic-params: Ensure function names are present and correct in kernel-doc headers (Benjamin Tissoires) [2022814] - HID: hid-uclogic-rdesc: Kernel-doc is for functions and structs (Benjamin Tissoires) [2022814] - HID: hid-logitech-hidpp: Fix conformant kernel-doc header and demote abuses (Benjamin Tissoires) [2022814] - HID: hid-picolcd_core: Remove unused variable 'ret' (Benjamin Tissoires) [2022814] - HID: hid-kye: Fix incorrect function name for kye_tablet_enable() (Benjamin Tissoires) [2022814] - HID: hid-core: Fix incorrect function name in header (Benjamin Tissoires) [2022814] - HID: hid-alps: Correct struct misnaming (Benjamin Tissoires) [2022814] - HID: usbhid: hid-pidff: Demote a couple kernel-doc abuses (Benjamin Tissoires) [2022814] - HID: usbhid: Repair a formatting issue in a struct description (Benjamin Tissoires) [2022814] - HID: ishtp-hid-client: Fix 'suggest-attribute=format' compiler warning (Benjamin Tissoires) [2022814] - HID: intel-ish-hid: ishtp-fw-loader: Fix a bunch of formatting issues (Benjamin Tissoires) [2022814] - HID: ishtp-hid-client: Fix incorrect function name report_bad_packet() (Benjamin Tissoires) [2022814] - HID: intel-ish-hid: ipc: Correct fw_reset_work_fn() function name in header (Benjamin Tissoires) [2022814] - HID: intel-ish-hid: Fix potential copy/paste error (Benjamin Tissoires) [2022814] - HID: intel-ish-hid: Fix a little doc-rot (Benjamin Tissoires) [2022814] - HID: intel-ish: Fix a naming disparity and a formatting error (Benjamin Tissoires) [2022814] - HID: intel-ish: Supply some missing param descriptions (Benjamin Tissoires) [2022814] - HID: intel-ish-hid: pci-ish: Remove unused variable 'ret' (Benjamin Tissoires) [2022814] - HID: ishtp-hid-client: Move variable to where it's actually used (Benjamin Tissoires) [2022814] - HID: intel-ish-hid: Remove unused variable 'err' (Benjamin Tissoires) [2022814] - HID: hid-thrustmaster: Demote a bunch of kernel-doc abuses (Benjamin Tissoires) [2022814] - HID: input: map battery capacity (00850065) (Benjamin Tissoires) [2022814] - HID: magicmouse: fix reconnection of Magic Mouse 2 (Benjamin Tissoires) [2022814] - HID: magicmouse: fix 3 button emulation of Mouse 2 (Benjamin Tissoires) [2022814] - HID: magicmouse: add Apple Magic Mouse 2 support (Benjamin Tissoires) [2022814] - HID: lenovo: Add support for Thinkpad X1 Tablet Thin keyboard (Benjamin Tissoires) [2022814] - HID: lenovo: Rework how the tp10ubkbd code decides which USB interface to use (Benjamin Tissoires) [2022814] - HID: lenovo: Set default_triggers for the mute and micmute LEDs (Benjamin Tissoires) [2022814] - HID: lenovo: Map mic-mute button to KEY_F20 instead of KEY_MICMUTE (Benjamin Tissoires) [2022814] - HID: lenovo: Set LEDs max_brightness value (Benjamin Tissoires) [2022814] - HID: lenovo: Remove lenovo_led_brightness_get() (Benjamin Tissoires) [2022814] - HID: lenovo: Check hid_get_drvdata() returns non NULL in lenovo_event() (Benjamin Tissoires) [2022814] - HID: lenovo: Fix lenovo_led_set_tp10ubkbd() error handling (Benjamin Tissoires) [2022814] - HID: lenovo: Use brightness_set_blocking callback for setting LEDs brightness (Benjamin Tissoires) [2022814] - HID: elan: Remove elan_mute_led_get_brigtness() (Benjamin Tissoires) [2022814] - HID: elan: Set default_trigger for the mute LED (Benjamin Tissoires) [2022814] - HID: elan: Silence mute LED errors being logged when the device is unplugged (Benjamin Tissoires) [2022814] - HID: fix memdup.cocci warnings (Benjamin Tissoires) [2022814] - HID: surface-hid: Add support for legacy keyboard interface (Benjamin Tissoires) [2022814] - HID: Add support for Surface Aggregator Module HID transport (Benjamin Tissoires) [2022814] - HID: thrustmaster: introduce proper USB dependency (Benjamin Tissoires) [2022814] - HID: intel_ish-hid: HBM: Use connected standby state bit during suspend/resume (Benjamin Tissoires) [2022814] - HID: ft260: fix an error message in ft260_i2c_write_read() (Benjamin Tissoires) [2022814] - HID: support for initialization of some Thrustmaster wheels (Benjamin Tissoires) [2022814] - HID: wacom: set EV_KEY and EV_ABS only for non-HID_GENERIC type of devices (Benjamin Tissoires) [2022814] - HID: ft260: add usb hid to i2c host bridge driver (Benjamin Tissoires) [2022814] - iio: Add relative sensitivity support (Benjamin Tissoires) [2022814] - iio: hid-sensors: Move get sensitivity attribute to hid-sensor-common (Benjamin Tissoires) [2022814] - HID: intel-ish-hid: Make remove callback return void (Benjamin Tissoires) [2022814] - HID: intel-ish-hid: Simplify logic in ishtp_cl_device_remove() (Benjamin Tissoires) [2022814] - HID: intel-ish-hid: Drop if block with an always false condition (Benjamin Tissoires) [2022814] - AMD_SFH: Add DMI quirk table for BIOS-es which don't set the activestatus bits (Benjamin Tissoires) [2022814] - AMD_SFH: Add sensor_mask module parameter (Benjamin Tissoires) [2022814] - AMD_SFH: Removed unused activecontrolstatus member from the amd_mp2_dev struct (Benjamin Tissoires) [2022814] - HID: wacom: Assign boolean values to a bool variable (Benjamin Tissoires) [2022814] - HID cp2112: fix support for multiple gpiochips (Benjamin Tissoires) [2022814] - HID: alps: fix error return code in alps_input_configured() (Benjamin Tissoires) [2022814] - HID: asus: Add support for 2021 ASUS N-Key keyboard (Benjamin Tissoires) [2022814] - HID: hiddev: Return specific error codes on connect failure (Benjamin Tissoires) [2022814] - HID: plantronics: Workaround for double volume key presses (Benjamin Tissoires) [2022814] - HID: logitech-dj: Handle newer quad/bt2.0 receivers in HID proxy mode (Benjamin Tissoires) [2022814] - HID: logitech-dj: Use hid-ids.h defines for USB device-ids for all supported devices (Benjamin Tissoires) [2022814] - HID: google: add don USB id (Benjamin Tissoires) [2022814] - HID: i2c-hid: acpi: Drop redundant ACPI_PTR() (Benjamin Tissoires) [2022814] - HID: i2c-hid: acpi: Move GUID out of function and described it (Benjamin Tissoires) [2022814] - HID: i2c-hid: acpi: Switch to new style i2c-driver probe function (Benjamin Tissoires) [2022814] - HID: i2c-hid: acpi: Get ACPI companion only once and reuse it (Benjamin Tissoires) [2022814] - HID: playstation: add DualSense player LED support. (Benjamin Tissoires) [2022814] - HID: playstation: add microphone mute support for DualSense. (Benjamin Tissoires) [2022814] - HID: playstation: add initial DualSense lightbar support. (Benjamin Tissoires) [2022814] - HID: wacom: Ignore attempts to overwrite the touch_max value from HID (Benjamin Tissoires) [2022814] - HID: playstation: fix array size comparison (off-by-one) (Benjamin Tissoires) [2022814] - HID: playstation: fix unused variable in ps_battery_get_property. (Benjamin Tissoires) [2022814] - HID: playstation: report DualSense hardware and firmware version. (Benjamin Tissoires) [2022814] - HID: playstation: add DualSense classic rumble support. (Benjamin Tissoires) [2022814] - HID: playstation: add DualSense Bluetooth support. (Benjamin Tissoires) [2022814] - HID: playstation: track devices in list. (Benjamin Tissoires) [2022814] - HID: playstation: add DualSense accelerometer and gyroscope support. (Benjamin Tissoires) [2022814] - HID: playstation: add DualSense touchpad support. (Benjamin Tissoires) [2022814] - HID: playstation: add DualSense battery support. (Benjamin Tissoires) [2022814] - HID: playstation: use DualSense MAC address as unique identifier. (Benjamin Tissoires) [2022814] - HID: playstation: initial DualSense USB support. (Benjamin Tissoires) [2022814] - HID: ite: Enable QUIRK_TOUCHPAD_ON_OFF_REPORT on Acer Aspire Switch 10E (Benjamin Tissoires) [2022814] - HID: Ignore battery for Elan touchscreen on HP Spectre X360 15-df0xxx (Benjamin Tissoires) [2022814] - HID: logitech-dj: add support for the new lightspeed connection iteration (Benjamin Tissoires) [2022814] - HID: intel-ish-hid: ipc: Add Tiger Lake H PCI device ID (Benjamin Tissoires) [2022814] - HID: logitech-dj: add support for keyboard events in eQUAD step 4 Gaming (Benjamin Tissoires) [2022814] - HID: i2c-hid: Add I2C_HID_QUIRK_NO_IRQ_AFTER_RESET for ITE8568 EC on Voyo Winpad A15 (Benjamin Tissoires) [2022814] - HID: displays: convert sysfs sprintf/snprintf family to sysfs_emit (Benjamin Tissoires) [2022814] - HID: wacom: convert sysfs sprintf/snprintf family to sysfs_emit (Benjamin Tissoires) [2022814] - HID: lg-g15: make a const array static, makes object smaller (Benjamin Tissoires) [2022814] - HID: google: Get HID report on probe to confirm tablet switch state (Benjamin Tissoires) [2022814] - HID: hid-input: avoid splitting keyboard, system and consumer controls (Benjamin Tissoires) [2022814] - HID: correct kernel-doc notation in hid-quirks.c (Benjamin Tissoires) [2022814] - HID: correct kernel-doc notation in (Benjamin Tissoires) [2022814] - HID: wacom: Correct NULL dereference on AES pen proximity (Benjamin Tissoires) [2022814] - HID: multitouch: Set to high latency mode on suspend. (Benjamin Tissoires) [2022814] - HID: multitouch: Apply MT_QUIRK_CONFIDENCE quirk for multi-input devices (Benjamin Tissoires) [2022814] - HID: hid-sensor-custom: Add custom sensor iio support (Benjamin Tissoires) [2022814] - HID: i2c-hid: Introduce goodix-i2c-hid using i2c-hid core (Benjamin Tissoires) [2022814] - redhat: HID: enable I2C_HID_ACPI (Benjamin Tissoires) [2022814] - HID: i2c-hid: Reorganize so ACPI and OF are separate modules (Benjamin Tissoires) [2022814] - HID: logitech-hidpp: add support for Unified Battery (1004) feature (Benjamin Tissoires) [2022814] - HID: sony: Add support for tilt on guitar hero guitars (Benjamin Tissoires) [2022814] - HID: logitech-hidpp: Add product ID for MX Ergo in Bluetooth mode (Benjamin Tissoires) [2022814] - HID: chicony: Add Wireless Radio Control feature for Chicony devices (Benjamin Tissoires) [2022814] - HID: Ignore battery for Elan touchscreen on ASUS UX550 (Benjamin Tissoires) [2022814] - HID: logitech-dj: add the G602 receiver (Benjamin Tissoires) [2022814] - HID: core: detect and skip invalid inputs to snto32() (Benjamin Tissoires) [2022814] - HID: uclogic: Improve support for Trust Panora (Benjamin Tissoires) [2022814] - HID: wiimote: remove h from printk format specifier (Benjamin Tissoires) [2022814] - HID: uclogic: remove h from printk format specifier (Benjamin Tissoires) [2022814] - HID: intel-ish-hid: ipc: Address EHL Sx resume issues (Benjamin Tissoires) [2022814] - HID: intel-ish-hid: ipc: finish power flow for EHL OOB (Benjamin Tissoires) [2022814] - HID: sony: select CONFIG_CRC32 (Benjamin Tissoires) [2022814] - HID: sfh: fix address space confusion (Benjamin Tissoires) [2022814] - HID: multitouch: Enable multi-input for Synaptics pointstick/touchpad device (Benjamin Tissoires) [2022814] - HID: wacom: Fix memory leakage caused by kfifo_alloc (Benjamin Tissoires) [2022814] - HID: i2c-hid: add Vero K147 to descriptor override (Benjamin Tissoires) [2022814] - HID: ite: Add support for Acer S1002 keyboard-dock (Benjamin Tissoires) [2022814] - HID: sony: support for ghlive ps3/wii u dongles (Benjamin Tissoires) [2022814] - HID: hidraw: Add additional hidraw input/output report ioctls. (Benjamin Tissoires) [2022814] - HID: Increase HID maximum report size to 16KB (Benjamin Tissoires) [2022814] - HID: elecom: drop stray comment (Benjamin Tissoires) [2022814] - HID: mf: add support for 0079:1846 Mayflash/Dragonrise USB Gamecube Adapter (Benjamin Tissoires) [2022814] - HID: elecom: add support for EX-G M-XGL20DLBK wireless mouse (Benjamin Tissoires) [2022814] - HID: elecom: rewrite report based on model specific parameters (Benjamin Tissoires) [2022814] - HID: wacom: Constify attribute_groups (Benjamin Tissoires) [2022814] - HID: input: Fix fall-through warnings for Clang (Benjamin Tissoires) [2022814] - HID: usbhid: Fix fall-through warnings for Clang (Benjamin Tissoires) [2022814] - HID: logitech-hidpp: Add hid_device_id for V470 bluetooth mouse (Benjamin Tissoires) [2022814] - HID: intel-ish-hid: Remove unnecessary assignment to variable rv (Benjamin Tissoires) [2022814] - HID: sony: Workaround for DS4 dongle hotplug kernel crash. (Benjamin Tissoires) [2022814] - HID: sony: Don't use fw_version/hw_version for sysfs cleanup. (Benjamin Tissoires) [2022814] - HID: sony: Report more accurate DS4 power status. (Benjamin Tissoires) [2022814] - SFH: fix error return check for -ERESTARTSYS (Benjamin Tissoires) [2022814] - HID: Add Logitech Dinovo Edge battery quirk (Benjamin Tissoires) [2022814] - HID: logitech-hidpp: Add HIDPP_CONSUMER_VENDOR_KEYS quirk for the Dinovo Edge (Benjamin Tissoires) [2022814] - HID: add HID_QUIRK_INCREMENT_USAGE_ON_DUPLICATE for Gamevice devices (Benjamin Tissoires) [2022814] - HID: mcp2221: Fix GPIO output handling (Benjamin Tissoires) [2022814] - HID: hid-sensor-hub: Fix issue with devices with no report ID (Benjamin Tissoires) [2022814] - HID: hid-input: occasionally report stylus battery even if not changed (Benjamin Tissoires) [2022814] - timekeeping: Add missing _ns functions for coarse accessors (Benjamin Tissoires) [2022814] - HID: i2c-hid: show the error when failing to fetch the HID descriptor (Benjamin Tissoires) [2022814] - AMD_SFH: Fix for incorrect Sensor index (Benjamin Tissoires) [2022814] - HID: asus: Add support for ASUS N-Key keyboard (Benjamin Tissoires) [2022814] - HID: i2c-hid: Put ACPI enumerated devices in D3 on shutdown (Benjamin Tissoires) [2022814] - HID: add support for Sega Saturn (Benjamin Tissoires) [2022814] - HID: cypress: Support Varmilo Keyboards' media hotkeys (Benjamin Tissoires) [2022814] - HID: ite: Replace ABS_MISC 120/121 events with touchpad on/off keypresses (Benjamin Tissoires) [2022814] - SFH: Create HID report to Enable support of AMD sensor fusion Hub (SFH) (Benjamin Tissoires) [2022814] - SFH:Transport Driver to add support of AMD Sensor Fusion Hub (SFH) (Benjamin Tissoires) [2022814] - redhat: HID: enable AMD_SFH_HUB (Benjamin Tissoires) [1965674] - SFH: PCIe driver to add support of AMD sensor fusion hub (Benjamin Tissoires) [2022814] - HID: uclogic: Add ID for Trust Flex Design Tablet (Benjamin Tissoires) [2022814] - HID: i2c-hid: Enable wakeup capability from Suspend-to-Idle (Benjamin Tissoires) [2022814] - HID: add vivaldi HID driver (Benjamin Tissoires) [2022814] - HID: i2c-hid: fix kerneldoc warnings in i2c-hid-core.c (Benjamin Tissoires) [2022814] - HID: core: fix kerneldoc warnings in hid-core.c (Benjamin Tissoires) [2022814] - HID: multitouch: Lenovo X1 Tablet Gen2 trackpoint and buttons (Benjamin Tissoires) [2022814] - HID: alps: clean up indentation issue (Benjamin Tissoires) [2022814] - HID: intel-ish-hid: simplify the return expression of ishtp_bus_remove_device() (Benjamin Tissoires) [2022814] - HID: hid-debug: fix nonblocking read semantics wrt EIO/ERESTARTSYS (Benjamin Tissoires) [2022814] - HID: i2c-hid: Prefer asynchronous probe (Benjamin Tissoires) [2022814] - HID: wiimote: narrow spinlock range in wiimote_hid_event() (Benjamin Tissoires) [2022814] - HID: wiimote: make handlers[] const (Benjamin Tissoires) [2022814] - HID: logitech-dj: Fix spelling in comment (Benjamin Tissoires) [2022814] - HID: apple: Add support for Matias wireless keyboard (Benjamin Tissoires) [2022814] - Input: elan_i2c - reduce the resume time for controller in Whitebox (Benjamin Tissoires) [2022814] - Input: parkbd - switch to use module_parport_driver() (Benjamin Tissoires) [2022814] - Input: i8042 - fix typos in comments (Benjamin Tissoires) [2022814] - Input: elantech - Prepare a complete software node for the device (Benjamin Tissoires) [2022814] - Input: apbps2 - remove useless variable (Benjamin Tissoires) [2022814] - Input: elan_i2c - fix a typo in parameter name (Benjamin Tissoires) [2022814] - Input: i8042 - fix Pegatron C15B ID entry (Benjamin Tissoires) [2022814] - Input: elan_i2c - reduce the resume time for new devices (Benjamin Tissoires) [2022814] - Input: i8042 - add ASUS Zenbook Flip to noselftest list (Benjamin Tissoires) [2022814] - Input: add missing dependencies on CONFIG_HAS_IOMEM (Benjamin Tissoires) [2022814] - ARM: 9048/1: sa1111: make sa1111 bus's remove callback return void (Benjamin Tissoires) [2022814] - Input: synaptics - replace NOOP with suitable commentary (Benjamin Tissoires) [2022814] - Input: i8042 - unbreak Pegatron C15B (Benjamin Tissoires) [2022814] - Input: parkbd - convert comma to semicolon (Benjamin Tissoires) [2022814] - Input: elantech - fix protocol errors for some trackpoints in SMBus mode (Benjamin Tissoires) [2022814] - Input: elan_i2c - add new trackpoint report type 0x5F (Benjamin Tissoires) [2022814] - Input: i8042 - add Acer laptops to the i8042 reset list (Benjamin Tissoires) [2022814] - Input: i8042 - add ByteSpeed touchpad to noloop table (Benjamin Tissoires) [2022814] - Input: i8042 - fix error return code in i8042_setup_aux() (Benjamin Tissoires) [2022814] - Input: libps2 - fix fall-through warnings for Clang (Benjamin Tissoires) [2022814] - Input: synaptics - demote non-conformant kernel-doc header (Benjamin Tissoires) [2022814] - Input: elan_i2c_core - move header inclusion inside (Benjamin Tissoires) [2022814] - Input: elan_i2c - fix firmware update on newer ICs (Benjamin Tissoires) [2022814] - Input: elantech - demote obvious abuse of kernel-doc header (Benjamin Tissoires) [2022814] - Input: i8042 - allow insmod to succeed on devices without an i8042 controller (Benjamin Tissoires) [2022814] - Input: synaptics - enable InterTouch for ThinkPad T14 Gen 1 (Benjamin Tissoires) [2022814] - Input: synaptics - enable InterTouch for ThinkPad P1/X1E gen 2 (Benjamin Tissoires) [2022814] - Input: synaptics-rmi4 - rename f30_data to gpio_data (Benjamin Tissoires) [2022814] - Input: sun4i-ps2 - fix handling of platform_get_irq() error (Benjamin Tissoires) [2022814] - Input: allocate keycode for Fn + right shift (Benjamin Tissoires) [2022814] - Input: allocate keycodes for notification-center, pickup-phone and hangup-phone (Benjamin Tissoires) [2022814] - HID: cp2112: Use irqchip template (Benjamin Tissoires) [2022814] - HID: mcp2221: Replace HTTP links with HTTPS ones (Benjamin Tissoires) [2022814] - treewide: replace '---help---' in Kconfig files with 'help' (Benjamin Tissoires) [2022814] - HID: asus: Add depends on USB_HID to HID_ASUS Kconfig option (Benjamin Tissoires) [2022814] - HID: asus: Fix mute and touchpad-toggle keys on Medion Akoya E1239T (Benjamin Tissoires) [2022814] - HID: asus: Add support for multi-touch touchpad on Medion Akoya E1239T (Benjamin Tissoires) [2022814] - HID: asus: Add report_size to struct asus_touchpad_info (Benjamin Tissoires) [2022814] - HID: asus: Add hid_is_using_ll_driver(usb_hid_driver) check (Benjamin Tissoires) [2022814] - HID: asus: Simplify skipping of mappings for Asus T100CHI keyboard-dock (Benjamin Tissoires) [2022814] - HID: asus: Only set EV_REP if we are adding a mapping (Benjamin Tissoires) [2022814] - HID: mcp2221: add gpiolib dependency (Benjamin Tissoires) [2022814] - HID: mcp2221: add GPIO functionality support (Benjamin Tissoires) [2022814] - HID: mcp2221: add usb to i2c-smbus host bridge (Benjamin Tissoires) [2022814] - HID: asus: Ignore Asus vendor-page usage-code 0xff events (Benjamin Tissoires) [2022814] - HID: sb0540: add support for Creative SB0540 IR receivers (Benjamin Tissoires) [2022814] - gpio: pass lookup and descriptor flags to request_own (Benjamin Tissoires) [2022814] - HID: hid-asus: select CONFIG_POWER_SUPPLY (Benjamin Tissoires) [2022814] - HID: hid-asus: Add BT keyboard dock battery monitoring support (Benjamin Tissoires) [2022814] - HID: hid-asus: Add Transbook T90CHI support (Benjamin Tissoires) [2022814] - HID: asus: Add support for the ASUS T101HA keyboard dock (Benjamin Tissoires) [2022814] - HID: asus: Add support for the ASUS FX503VD laptop (Benjamin Tissoires) [2022814] - HID: asus: Add event handler to catch unmapped Asus Vendor UsagePage codes (Benjamin Tissoires) [2022814] - af_unix: fix garbage collect vs MSG_PEEK (Patrick Talbert) [2031975] {CVE-2021-0920} - net: add kerneldoc comment for sk_peer_lock (Guillaume Nault) [2037782] - af_unix: fix races in sk_peer_pid and sk_peer_cred accesses (Guillaume Nault) [2037782] {CVE-2021-4203} - netfilter: nat: force port remap to prevent shadowing well-known ports (Florian Westphal) [2006167] {CVE-2021-3773} - netfilter: conntrack: tag conntracks picked up in local out hook (Florian Westphal) [2006167] - selftests: nft_nat: switch port shadow test cases to socat (Florian Westphal) [2006167] - selftests: nft_nat: Simplify port shadow notrack test (Florian Westphal) [2006167] - selftests: nft_nat: Improve port shadow test stability (Florian Westphal) [2006167] - selftests: nft_nat: add udp hole punch test case (Florian Westphal) [2006167] - ipv6: use prandom_u32() for ID generation (Hangbin Liu) [2040158] {CVE-2021-45485} - igc: fix tunnel offloading (Corinna Vinschen) [1910885] - virtio/vsock: fix the transport to work with VMADDR_CID_ANY (Stefano Garzarella) [2026442] - vhost/vsock: cleanup removing `len` variable (Stefano Garzarella) [2026442] - vhost/vsock: fix incorrect used length reported to the guest (Stefano Garzarella) [2026442] - vsock: prevent unnecessary refcnt inc for nonblocking connect (Stefano Garzarella) [2026442] - vsock/virtio: avoid potential deadlock when vsock device remove (Stefano Garzarella) [2026442] - VSOCK: handle VIRTIO_VSOCK_OP_CREDIT_REQUEST (Stefano Garzarella) [2026442] - vsock: notify server to shutdown when client has pending signal (Stefano Garzarella) [2026442] - virtio/vsock: simplify credit update function API (Stefano Garzarella) [2026442] - virtio/vsock: set packet's type in virtio_transport_send_pkt_info() (Stefano Garzarella) [2026442] - net: vlan: fix underflow for the real_dev refcnt (Balazs Nemeth) [2026375] - net: vlan: fix a UAF in vlan_dev_real_dev() (Balazs Nemeth) [2026375]- xfs: map unwritten blocks in XFS_IOC_{ALLOC,FREE}SP just like fallocate (Carlos Maiolino) [2034865] {CVE-2021-4155} - isdn: cpai: check ctr->cnr to avoid array index out of bound (Chris von Recklinghausen) [2016491] {CVE-2021-43389} - vt: keyboard: avoid signed integer overflow in k_ascii (Chris von Recklinghausen) [2017044] {CVE-2020-13974} - USB: serial: pl2303: fix GC type detection (Torez Smith) [1975985] - usb: dwc3: leave default DMA for PCI devices (Torez Smith) [1975985] - usb: xhci: tegra: Check padctrl interrupt presence in device tree (Torez Smith) [1975985] - usb: dwc3: core: Revise GHWPARAMS9 offset (Torez Smith) [1975985] - xhci: Fix USB 3.1 enumeration issues by increasing roothub power-on-good delay (Torez Smith) [1975985] - usb: typec: tipd: Remove dependency on "connector" child fwnode (Torez Smith) [1975985] - usb: xhci: tegra: mark PM functions as __maybe_unused (Torez Smith) [1975985] - media: ttusb-dec: avoid release of non-acquired mutex (Torez Smith) [1975985] - ABI: sysfs-devices-removable: make a table valid as ReST markup (Torez Smith) [1975985] - usb: dwc3: core: balance phy init and exit (Torez Smith) [1975985] - USB: serial: pl2303: fix GL type detection (Torez Smith) [1975985] - usb: xhci-mtk: Do not use xhci's virt_dev in drop_endpoint (Torez Smith) [1975985] - usb: xhci-mtk: fix issue of out-of-bounds array access (Torez Smith) [1975985] - usb: dwc3: Decouple USB 2.0 L1 & L2 events (Torez Smith) [1975985] - media: em28xx-input: fix refcount bug in em28xx_usb_disconnect (Torez Smith) [1975985] - media: dvb-usb: Fix error handling in dvb_usb_i2c_init (Torez Smith) [1975985] - power: supply: Fix build error when CONFIG_POWER_SUPPLY is not enabled. (Torez Smith) [1975985] - thunderbolt: test: split up test cases in tb_test_credit_alloc_all (Torez Smith) [1975985] - thunderbolt: Handle ring interrupt by reading interrupt status register (Torez Smith) [1975985] - thunderbolt: Add vendor specific NHI quirk for auto-clearing interrupt status (Torez Smith) [1975985] - thunderbolt: Fix port linking by checking all adapters (Torez Smith) [1975985] - thunderbolt: Do not read control adapter config space (Torez Smith) [1975985] - thunderbolt: Add authorized value to the KOBJ_CHANGE uevent (Torez Smith) [1975985] - usb: typec: tcpm: Raise vdm_sm_running flag only when VDM SM is running (Torez Smith) [1975985] - usb: dwc3: gadget: Stop EP0 transfers during pullup disable (Torez Smith) [1975985] - usb: dwc3: gadget: Fix dwc3_calc_trbs_left() (Torez Smith) [1975985] - Revert "USB: serial: ch341: fix character loss at high transfer rates" (Torez Smith) [1975985] - USB: serial: option: add new VID/PID to support Fibocom FG150 (Torez Smith) [1975985] - usb: typec: tcpm: Fix VDMs sometimes not being forwarded to alt-mode drivers (Torez Smith) [1975985] - Revert "usb: dwc3: gadget: Use list_replace_init() before traversing lists" (Torez Smith) [1975985] - usb: typec: tcpm: Keep other events when receiving FRS and Sourcing_vbus events (Torez Smith) [1975985] - usb: dwc3: gadget: Avoid runtime resume if disabling pullup (Torez Smith) [1975985] - usb: dwc3: gadget: Use list_replace_init() before traversing lists (Torez Smith) [1975985] - USB: serial: ftdi_sio: add device ID for Auto-M3 OP-COM v2 (Torez Smith) [1975985] - USB: serial: pl2303: fix GT type detection (Torez Smith) [1975985] - USB: serial: option: add Telit FD980 composition 0x1056 (Torez Smith) [1975985] - USB: serial: pl2303: fix HX type detection (Torez Smith) [1975985] - media: rtl28xxu: fix zero-length control request (Torez Smith) [1975985] - media: Revert "media: rtl28xxu: fix zero-length control request" (Torez Smith) [1975985] - USB: serial: ch341: fix character loss at high transfer rates (Torez Smith) [1975985] - usb: otg-fsm: Fix hrtimer list corruption (Torez Smith) [1975985] - USB: usbtmc: Fix RCU stall warning (Torez Smith) [1975985] - USB: serial: cp210x: add ID for CEL EM3588 USB ZigBee stick (Torez Smith) [1975985] - Revert "USB: quirks: ignore remote wake-up on Fibocom L850-GL LTE modem" (Torez Smith) [1975985] - usb: dwc2: gadget: Fix sending zero length packet in DDMA mode. (Torez Smith) [1975985] - usb: dwc2: Skip clock gating on Samsung SoCs (Torez Smith) [1975985] - usb: dwc2: gadget: Fix GOUTNAK flow for Slave mode. (Torez Smith) [1975985] - usb: xhci: avoid renesas_usb_fw.mem when it's unusable (Torez Smith) [1975985] - usb: dwc3: avoid NULL access of usb_gadget_driver (Torez Smith) [1975985] - usb: typec: stusb160x: Don't block probing of consumer of "connector" nodes (Torez Smith) [1975985] - usb: typec: stusb160x: register role switch before interrupt registration (Torez Smith) [1975985] - USB: usb-storage: Add LaCie Rugged USB3-FW to IGNORE_UAS (Torez Smith) [1975985] - usb: hub: Disable USB 3 device initiated lpm if exit latency is too high (Torez Smith) [1975985] - usb: hub: Fix link power management max exit latency (MEL) calculations (Torez Smith) [1975985] - usb: typec: tipd: Don't block probing of consumer of "connector" nodes (Torez Smith) [1975985] - xhci: Fix lost USB 2 remote wake (Torez Smith) [1975985] - USB: serial: cp210x: fix comments for GE CS1000 (Torez Smith) [1975985] - USB: core: Fix incorrect pipe calculation in do_proc_control() (Torez Smith) [1975985] - USB: serial: option: add support for u-blox LARA-R6 family (Torez Smith) [1975985] - thunderbolt: test: Reinstate a few casts of bitfields (Torez Smith) [1975985] - USB: cdc-acm: blacklist Heimann USB Appset device (Torez Smith) [1975985] - usb: xhci-mtk: allow multiple Start-Split in a microframe (Torez Smith) [1975985] - usb: ftdi-elan: remove redundant continue statement in a while-loop (Torez Smith) [1975985] - thunderbolt: test: Remove some casts which are no longer required (Torez Smith) [1975985] - xhci: remove redundant continue statement (Torez Smith) [1975985] - usb: dwc3: Fix debugfs creation flow (Torez Smith) [1975985] - docs: driver-api: usb: avoid using ReST :doc:`foo` markup (Torez Smith) [1975985] - xhci: solve a double free problem while doing s4 (Torez Smith) [1975985] - xhci: handle failed buffer copy to URB sg list and fix a W=1 copiler warning (Torez Smith) [1975985] - xhci: Add adaptive interrupt rate for isoch TRBs with XHCI_AVOID_BEI quirk (Torez Smith) [1975985] - xhci: Remove unused defines for ERST_SIZE and ERST_ENTRIES (Torez Smith) [1975985] - usb: typec: Add the missed altmode_id_remove() in typec_register_altmode() (Torez Smith) [1975985] - usb: typec: tcpm: Relax disconnect threshold during power negotiation (Torez Smith) [1975985] - usb: typec: tcpm: Ignore Vsafe0v in PR_SWAP_SNK_SRC_SOURCE_ON state (Torez Smith) [1975985] - usb: typec: tcpci: Fix up sink disconnect thresholds for PD (Torez Smith) [1975985] - usb: core: hub: Disable autosuspend for Cypress CY7C65632 (Torez Smith) [1975985] - usb: host: xhci-tegra: Use devm_platform_get_and_ioremap_resource() (Torez Smith) [1975985] - usb: host: xhci-tegra: Add missing of_node_put() in tegra_xusb_probe() (Torez Smith) [1975985] - usb: host: xhci-tegra: add missing put_device() in tegra_xusb_probe() (Torez Smith) [1975985] - media: usb: cpia2: Fixed Coding Style issues (Torez Smith) [1975985] - media: ttusb-dec: cleanup an error handling logic (Torez Smith) [1975985] - cypress_m8: switch data_bits to real character bits (Torez Smith) [1975985] - thunderbolt: Fix DROM handling for USB4 DROM (Torez Smith) [1975985] - usb: xhci: tegra: Enable ELPG for runtime/system PM (Torez Smith) [1975985] - usb: xhci: tegra: Unlink power domain devices (Torez Smith) [1975985] - thunderbolt: Bond lanes only when dual_link_port != NULL in alloc_dev_default() (Torez Smith) [1975985] - thunderbolt: No need to include in usb4_port.c (Torez Smith) [1975985] - thunderbolt: Poll 10ms for REG_FW_STS_NVM_AUTH_DONE to be set (Torez Smith) [1975985] - thunderbolt: Add device links only when software connection manager is used (Torez Smith) [1975985] - thunderbolt: Add support for Intel Alder Lake (Torez Smith) [1975985] - usb: typec: mux: Fix copy-paste mistake in typec_mux_match (Torez Smith) [1975985] - usb: typec: ucsi: Clear PPM capability data in ucsi_init() error path (Torez Smith) [1975985] - usb: typec: wcove: Use LE to CPU conversion when accessing msg->header (Torez Smith) [1975985] - usb: typec: ucsi: Fix a comment in ucsi_init() (Torez Smith) [1975985] - USB: dwc3: remove debugfs root dentry storage (Torez Smith) [1975985] - USB: serial: cp210x: fix CP2102N-A01 modem control (Torez Smith) [1975985] - USB: serial: cp210x: fix alternate function for CP2102N QFN20 (Torez Smith) [1975985] - usb: dwc2: Don't reset the core after setting turnaround time (Torez Smith) [1975985] - usb: dwc3: support 64 bit DMA in platform driver (Torez Smith) [1975985] - USB: core: Avoid WARNings for 0-length descriptor requests (Torez Smith) [1975985] - usb: dwc3: core: fix kernel panic when do reboot (Torez Smith) [1975985] - usb: dwc3: ep0: fix NULL pointer exception (Torez Smith) [1975985] - usb: typec: intel_pmc_mux: Put ACPI device using acpi_dev_put() (Torez Smith) [1975985] - usb: typec: intel_pmc_mux: Add missed error check for devm_ioremap_resource() (Torez Smith) [1975985] - usb: typec: intel_pmc_mux: Put fwnode in error case during ->probe() (Torez Smith) [1975985] - usb: typec: tcpm: Do not finish VDM AMS for retrying Responses (Torez Smith) [1975985] - media: cinergyt2: make properties const (Torez Smith) [1975985] - media: dvd_usb: memory leak in cinergyt2_fe_attach (Torez Smith) [1975985] - USB: serial: ftdi_sio: add NovaTech OrionMX product ID (Torez Smith) [1975985] - usb: typec: tcpm: cancel send discover hrtimer when unregister tcpm port (Torez Smith) [1975985] - usb: typec: tcpm: cancel frs hrtimer when unregister tcpm port (Torez Smith) [1975985] - usb: typec: tcpm: cancel vdm and state machine hrtimer when unregister tcpm port (Torez Smith) [1975985] - usb: typec: tcpm: Properly handle Alert and Status Messages (Torez Smith) [1975985] - usb: dwc3: meson-g12a: Disable the regulator in the error handling path of the probe (Torez Smith) [1975985] - usb: typec: tcpm: Fix misuses of AMS invocation (Torez Smith) [1975985] - usb: typec: tcpm: Introduce snk_vdo_v1 for SVDM version 1.0 (Torez Smith) [1975985] - dt-bindings: connector: Add PD rev 2.0 VDO definition (Torez Smith) [1975985] - usb: typec: tcpm: Correct the responses in SVDM Version 2.0 DFP (Torez Smith) [1975985] - Revert "usb: dwc3: core: Add shutdown callback for dwc3" (Torez Smith) [1975985] - dt-bindings: connector: Replace BIT macro with generic bit ops (Torez Smith) [1975985] - media: gspca: ov519: replace RIGHT SINGLE QUOTATION MARK (Torez Smith) [1975985] - usb: typec: intel_pmc_mux: Update IOM port status offset for AlderLake (Torez Smith) [1975985] - usb: pd: Set PD_T_SINK_WAIT_CAP to 310ms (Torez Smith) [1975985] - usb: dwc3: gadget: Bail from dwc3_gadget_exit() if dwc->gadget is NULL (Torez Smith) [1975985] - usb: dwc3: gadget: Disable gadget IRQ during pullup disable (Torez Smith) [1975985] - usb: dwc3: debugfs: Add and remove endpoint dirs dynamically (Torez Smith) [1975985] - Revert "usb: typec: mux: Remove requirement for the "orientation-switch" device property" (Torez Smith) [1975985] - media: rtl28xxu: fix zero-length control request (Torez Smith) [1975985] - media: gspca/sunplus: fix zero-length control requests (Torez Smith) [1975985] - media: gspca/gl860: fix zero-length control requests (Torez Smith) [1975985] - media: gspca/sq905: fix control-request direction (Torez Smith) [1975985] - media: dtv5100: fix control-request directions (Torez Smith) [1975985] - media: drivers/media/usb/gspca/cpia1.c : fix spelling typo (Torez Smith) [1975985] - media: drivers/media/usb/em28xx/em28xx-cards.c : fix typo issues (Torez Smith) [1975985] - media: zr364xx: fix memory leak in zr364xx_start_readpipe (Torez Smith) [1975985] - media: em28xx: Fix possible memory leak of em28xx struct (Torez Smith) [1975985] - thunderbolt: Check for NVM authentication status after the operation started (Torez Smith) [1975985] - thunderbolt: Add WRITE_ONLY and AUTHENTICATE_ONLY NVM operations for retimers (Torez Smith) [1975985] - thunderbolt: Allow router NVM authenticate separately (Torez Smith) [1975985] - thunderbolt: Move nvm_write_ops to tb.h (Torez Smith) [1975985] - thunderbolt: Log the link as TBT instead of TBT3 (Torez Smith) [1975985] - thunderbolt: Add support for retimer NVM upgrade when there is no link (Torez Smith) [1975985] - thunderbolt: Add additional USB4 port operations for retimer access (Torez Smith) [1975985] - thunderbolt: Add support for ACPI _DSM to power on/off retimers (Torez Smith) [1975985] - thunderbolt: Add USB4 port devices (Torez Smith) [1975985] - thunderbolt: Add KUnit tests for credit allocation (Torez Smith) [1975985] - thunderbolt: Allocate credits according to router preferences (Torez Smith) [1975985] - USB: core: Check buffer length matches wLength for control transfers (Torez Smith) [1975985] - usb: typec: ucsi: Fix copy/paste issue for 'ucsi_set_drvdata()' (Torez Smith) [1975985] - usb: dwc2: gadget: Repair 'dwc2_hsotg_core_init_disconnected()'s documentation (Torez Smith) [1975985] - usb: dwc2: pci: Fix possible copy/paste issue (Torez Smith) [1975985] - usb: dwc2: hcd_queue: Fix typeo in function name 'dwc2_hs_pmap_unschedule()' (Torez Smith) [1975985] - usb: dwc2: params: Fix naming of 'dwc2_get_hwparams()' in the docs (Torez Smith) [1975985] - usb: common: ulpi: Add leading underscores for function name '__ulpi_register_driver()' (Torez Smith) [1975985] - usb: dwc2: platform: Provide function name for 'dwc2_check_core_version()' (Torez Smith) [1975985] - driver core: Move the "removable" attribute from USB to core (Torez Smith) [1975985] - usb: dwc3: trace: Remove unused fields in dwc3_log_trb (Torez Smith) [1975985] - usb: typec: mux: Remove requirement for the "orientation-switch" device property (Torez Smith) [1975985] - usb: typec: mux: Use device type instead of device name for matching (Torez Smith) [1975985] - usb: common: usb-conn-gpio: use usb_role_string() to print role status (Torez Smith) [1975985] - usb: roles: add helper usb_role_string() (Torez Smith) [1975985] - USB: serial: omninet: update driver description (Torez Smith) [1975985] - USB: serial: omninet: add device id for Zyxel Omni 56K Plus (Torez Smith) [1975985] - USB: serial: quatech2: fix control-request directions (Torez Smith) [1975985] - usb: typec: tcpci: Make symbol 'tcpci_apply_rc' static (Torez Smith) [1975985] - USB: usbfs: remove double evaluation of usb_sndctrlpipe() (Torez Smith) [1975985] - usb: typec: tcpm: Respond Not_Supported if no snk_vdo (Torez Smith) [1975985] - usb: typec: tcpm: Properly interrupt VDM AMS (Torez Smith) [1975985] - media: lmedm04: delete lme2510_get_adapter_count() (Torez Smith) [1975985] - media: dvb-usb: fix wrong definition (Torez Smith) [1975985] - USB: core: WARN if pipe direction != setup packet direction (Torez Smith) [1975985] - USB: trancevibrator: fix control-request direction (Torez Smith) [1975985] - USB: dwc2: drop irq-flags initialisations (Torez Smith) [1975985] - usb: typec: tcpci: Implement callback for apply_rc (Torez Smith) [1975985] - usb: typec: tcpm: Move TCPC to APPLY_RC state during PR_SWAP (Torez Smith) [1975985] - usb: typec: tcpm: Refactor logic to enable/disable auto vbus dicharge (Torez Smith) [1975985] - usb: typec: tcpm: Fix up PR_SWAP when vsafe0v is signalled (Torez Smith) [1975985] - usb: atm: cxacru: Fix typo in comment (Torez Smith) [1975985] - usb: isp1760: remove platform data struct and code (Torez Smith) [1975985] - usb: fix spelling mistakes in header files (Torez Smith) [1975985] - USB: serial: digi_acceleport: add chars_in_buffer locking (Torez Smith) [1975985] - USB: serial: digi_acceleport: reduce chars_in_buffer over-reporting (Torez Smith) [1975985] - usb: Restore the usb_header label (Torez Smith) [1975985] - usb: typec: tcpm: Use LE to CPU conversion when accessing msg->header (Torez Smith) [1975985] - usb: typec: mux: Fix matching with typec_altmode_desc (Torez Smith) [1975985] - misc/uss720: fix memory leak in uss720_probe (Torez Smith) [1975985] - usb: dwc3: gadget: Properly track pending and queued SG (Torez Smith) [1975985] - USB: usbfs: Don't WARN about excessively large memory allocations (Torez Smith) [1975985] - usb: common: usb-conn-gpio: use dev_err_probe() to print log (Torez Smith) [1975985] - usb: common: usb-conn-gpio: fix NULL pointer dereference of charger (Torez Smith) [1975985] - Revert "USB: Add reset-resume quirk for WD19's Realtek Hub" (Torez Smith) [1975985] - USB: Verify the port status when timeout happens during port suspend (Torez Smith) [1975985] - usb: typec: wcove: Fx wrong kernel doc format (Torez Smith) [1975985] - media: pvrusb2: fix warning in pvr2_i2c_core_done (Torez Smith) [1975985] - media: rtl2832_sdr/vivid/airspy/hackrf/msi2500: drop memset of fmt.sdr.reserved (Torez Smith) [1975985] - media: cpia2: fix memory leak in cpia2_usb_probe (Torez Smith) [1975985] - media: s2255drv: remove redundant assignment to variable field (Torez Smith) [1975985] - media: gspca: properly check for errors in po1030_probe() (Torez Smith) [1975985] - Revert "media: gspca: Check the return value of write_bridge for timeout" (Torez Smith) [1975985] - media: gspca: mt9m111: Check write_bridge for timeout (Torez Smith) [1975985] - Revert "media: gspca: mt9m111: Check write_bridge for timeout" (Torez Smith) [1975985] - Revert "media: usb: gspca: add a missed check for goto_low_power" (Torez Smith) [1975985] - usb: core: hcd: use map_urb_for_dma for single step set feature urb (Torez Smith) [1975985] - usb: dwc3: pci: Fix DEFINE for Intel Elkhart Lake (Torez Smith) [1975985] - usb: core: hub: fix race condition about TRSMRCY of resume (Torez Smith) [1975985] - usb: typec: tcpm: Fix SINK_DISCOVERY current limit for Rp-default (Torez Smith) [1975985] - xhci: Add reset resume quirk for AMD xhci controller. (Torez Smith) [1975985] - usb: xhci: Increase timeout for HC halt (Torez Smith) [1975985] - xhci: Do not use GFP_KERNEL in (potentially) atomic context (Torez Smith) [1975985] - xhci: Fix giving back cancelled URBs even if halted endpoint can't reset (Torez Smith) [1975985] - xhci-pci: Allow host runtime PM as default for Intel Alder Lake xHCI (Torez Smith) [1975985] - usb: typec: tcpm: Don't block probing of consumers of "connector" nodes (Torez Smith) [1975985] - usb: xhci-mtk: use first-fit for LS/FS (Torez Smith) [1975985] - usb: xhci-mtk: remove unnecessary assignments in periodic TT scheduler (Torez Smith) [1975985] - usb: xhci-mtk: remove unnecessary setting of has_ippc (Torez Smith) [1975985] - usb: xhci-mtk: use bitfield instead of bool (Torez Smith) [1975985] - usb: typec: tcpm: Fix wrong handling for Not_Supported in VDM AMS (Torez Smith) [1975985] - usb: typec: tcpm: Send DISCOVER_IDENTITY from dedicated work (Torez Smith) [1975985] - usb: typec: ucsi: Retrieve all the PDOs instead of just the first 4 (Torez Smith) [1975985] - usb: dwc3: omap: improve extcon initialization (Torez Smith) [1975985] - usb: typec: ucsi: Put fwnode in any case during ->probe() (Torez Smith) [1975985] - usb: dwc2: Remove obsolete MODULE_ constants from platform.c (Torez Smith) [1975985] - usb: dwc3: imx8mp: fix error return code in dwc3_imx8mp_probe() (Torez Smith) [1975985] - usb: dwc3: imx8mp: detect dwc3 core node via compatible string (Torez Smith) [1975985] - usb: dwc3: gadget: Return success always for kick transfer in ep queue (Torez Smith) [1975985] - usb: dwc3: gadget: Free gadget structure only after freeing endpoints (Torez Smith) [1975985] - usb: dwc2: Fix gadget DMA unmap direction (Torez Smith) [1975985] - usb: dwc3: gadget: Rename EOPF event macros to Suspend (Torez Smith) [1975985] - usb: dwc3: gadget: Enable suspend events (Torez Smith) [1975985] - usb: Restore the reference to ch9.h (Torez Smith) [1975985] - usb: dwc3: core: Add missing GHWPARAMS9 doc (Torez Smith) [1975985] - usb: dwc3: pci: Enable usb2-gadget-lpm-disable for Intel Merrifield (Torez Smith) [1975985] - cdc-wdm: untangle a circular dependency between callback and softint (Torez Smith) [1975985] - usb: dwc3: remove repeated setting of current_dr_role (Torez Smith) [1975985] - USB: serial: pl2303: add device id for ADLINK ND-6530 GC (Torez Smith) [1975985] - USB: serial: ti_usb_3410_5052: add startech.com device id (Torez Smith) [1975985] - USB: serial: option: add Telit LE910-S1 compositions 0x7010, 0x7011 (Torez Smith) [1975985] - USB: serial: ftdi_sio: add IDs for IDS GmbH Products (Torez Smith) [1975985] - usb: Fix up movement of USB core kerneldoc location (Torez Smith) [1975985] - usb: dwc3: gadget: Handle DEV_TXF_FLUSH_BYPASS capability (Torez Smith) [1975985] - usb: dwc3: Capture new capability register GHWPARAMS9 (Torez Smith) [1975985] - usb: dwc3: core: Do core softreset when switch mode (Torez Smith) [1975985] - usb: dwc2: Get rid of useless error checks in suspend interrupt (Torez Smith) [1975985] - usb: dwc2: Update dwc2_handle_usb_suspend_intr function. (Torez Smith) [1975985] - usb: dwc2: Add exit hibernation mode before removing drive (Torez Smith) [1975985] - usb: dwc2: Add hibernation exiting flow by system resume (Torez Smith) [1975985] - usb: dwc2: Add hibernation entering flow by system suspend (Torez Smith) [1975985] - usb: dwc2: Allow exit hibernation in urb enqueue (Torez Smith) [1975985] - usb: dwc2: Move exit hibernation to dwc2_port_resume() function (Torez Smith) [1975985] - usb: dwc2: Move enter hibernation to dwc2_port_suspend() function (Torez Smith) [1975985] - usb: dwc2: Clear GINTSTS_RESTOREDONE bit after restore is generated. (Torez Smith) [1975985] - usb: dwc2: Clear fifo_map when resetting core. (Torez Smith) [1975985] - usb: dwc2: Allow exiting hibernation from gpwrdn rst detect (Torez Smith) [1975985] - usb: dwc2: Fix hibernation between host and device modes. (Torez Smith) [1975985] - usb: dwc2: Fix host mode hibernation exit with remote wakeup flow. (Torez Smith) [1975985] - usb: dwc2: Reset DEVADDR after exiting gadget hibernation. (Torez Smith) [1975985] - usb: dwc2: Update exit hibernation when port reset is asserted (Torez Smith) [1975985] - usb: dwc3: gadget: Remove FS bInterval_m1 limitation (Torez Smith) [1975985] - usb: xhci-mtk: remove bus status check (Torez Smith) [1975985] - usb: dwc2: Enable RPi in ACPI mode (Torez Smith) [1975985] - USB: Add reset-resume quirk for WD19's Realtek Hub (Torez Smith) [1975985] - usb: storage: datafab: remove redundant assignment of variable result (Torez Smith) [1975985] - usb: misc: adutux: fix whitespace coding style issue (Torez Smith) [1975985] - usb: dwc3: gadget: Fix START_TRANSFER link state check (Torez Smith) [1975985] - usb: typec: tcpm: Fix error while calculating PPS out values (Torez Smith) [1975985] - usb: xhci-mtk: remove unused members (Torez Smith) [1975985] - usb: xhci-mtk: use clock bulk to get clocks (Torez Smith) [1975985] - usb: xhci-mtk: add support runtime PM (Torez Smith) [1975985] - usb: xhci-mtk: check return value in suspend/resume hooks (Torez Smith) [1975985] - usb: typec: tcpm: Allow slow charging loops to comply to pSnkStby (Torez Smith) [1975985] - usb: typec: tcpm: Honour pSnkStdby requirement during negotiation (Torez Smith) [1975985] - usb: dwc3: gadget: Check for disabled LPM quirk (Torez Smith) [1975985] - usb: dwc3: core: Add shutdown callback for dwc3 (Torez Smith) [1975985] - usb: dwc3: gadget: Ignore Packet Pending bit (Torez Smith) [1975985] - USB: Add LPM quirk for Lenovo ThinkPad USB-C Dock Gen2 Ethernet (Torez Smith) [1975985] - usb: typec: silence a static checker warning (Torez Smith) [1975985] - USB: cdc-acm: add more Maxlinear/Exar models to ignore list (Torez Smith) [1975985] - USB: serial: xr: add copyright notice (Torez Smith) [1975985] - USB: serial: xr: reset FIFOs on open (Torez Smith) [1975985] - USB: serial: xr: add support for XR22801, XR22802, XR22804 (Torez Smith) [1975985] - USB: serial: xr: add support for XR21B1411 (Torez Smith) [1975985] - USB: serial: xr: add support for XR21B1421, XR21B1422 and XR21B1424 (Torez Smith) [1975985] - USB: serial: xr: add type abstraction (Torez Smith) [1975985] - USB: serial: xr: drop type prefix from shared defines (Torez Smith) [1975985] - USB: serial: xr: move pin configuration to probe (Torez Smith) [1975985] - USB: serial: xr: rename GPIO-pin defines (Torez Smith) [1975985] - USB: serial: xr: rename GPIO-mode defines (Torez Smith) [1975985] - USB: serial: xr: add support for XR21V1412 and XR21V1414 (Torez Smith) [1975985] - USB: serial: ti_usb_3410_5052: clean up termios CSIZE handling (Torez Smith) [1975985] - USB: serial: ti_usb_3410_5052: use kernel types consistently (Torez Smith) [1975985] - USB: serial: ti_usb_3410_5052: add port-command helpers (Torez Smith) [1975985] - USB: serial: ti_usb_3410_5052: clean up vendor-request helpers (Torez Smith) [1975985] - USB: serial: ti_usb_3410_5052: drop unnecessary packed attributes (Torez Smith) [1975985] - USB: serial: io_ti: drop unnecessary packed attributes (Torez Smith) [1975985] - USB: serial: io_ti: use kernel types consistently (Torez Smith) [1975985] - USB: serial: io_ti: add read-port-command helper (Torez Smith) [1975985] - USB: serial: io_ti: add send-port-command helper (Torez Smith) [1975985] - USB: serial: io_ti: clean up vendor-request helpers (Torez Smith) [1975985] - USB: serial: ti_usb_3410_5052: drop drain delay for 3410 (Torez Smith) [1975985] - USB: serial: ti_usb_3410_5052: reduce drain delay to one char (Torez Smith) [1975985] - USB: serial: io_ti: document reason for drain delay (Torez Smith) [1975985] - usb: dwc2: Add exit clock gating before removing driver (Torez Smith) [1975985] - usb: dwc2: Add clock gating exiting flow by system resume (Torez Smith) [1975985] - usb: dwc2: Add clock gating entering flow by system suspend (Torez Smith) [1975985] - usb: dwc2: Allow exit clock gating in urb enqueue (Torez Smith) [1975985] - usb: dwc2: Update exit clock gating when port is resumed (Torez Smith) [1975985] - usb: dwc2: Update enter clock gating when port is suspended (Torez Smith) [1975985] - usb: dwc2: Add exit clock gating when port reset is asserted (Torez Smith) [1975985] - usb: dwc2: Add exit clock gating from session request interrupt (Torez Smith) [1975985] - usb: dwc2: Add exit clock gating from wakeup interrupt (Torez Smith) [1975985] - usb: dwc2: Allow entering clock gating from USB_SUSPEND interrupt (Torez Smith) [1975985] - usb: dwc2: Add host clock gating support functions (Torez Smith) [1975985] - usb: dwc2: Add device clock gating support functions (Torez Smith) [1975985] - Revert "usb: Link the ports to the connectors they are attached to" (Torez Smith) [1975985] - USB: serial: cp210x: add gpio-configuration debug printk (Torez Smith) [1975985] - USB: serial: cp210x: provide gpio valid mask (Torez Smith) [1975985] - usb: dwc3: qcom: Detect DWC3 DT-nodes using compatible string (Torez Smith) [1975985] - usb: dwc3: qcom: Remove redundant dev_err call in dwc3_qcom_probe() (Torez Smith) [1975985] - usb: core: reduce power-on-good delay time of root hub (Torez Smith) [1975985] - USB:ehci:fix Kunpeng920 ehci hardware problem (Torez Smith) [1975985] - USB: serial: do not use tty class device for debugging (Torez Smith) [1975985] - USB: cdc-acm: fix TIOCGSERIAL implementation (Torez Smith) [1975985] - USB: cdc-acm: fix unprivileged TIOCCSERIAL (Torez Smith) [1975985] - Revert "USB: cdc-acm: fix rounding error in TIOCSSERIAL" (Torez Smith) [1975985] - usb: typec: tcpm: Add support for altmodes (Torez Smith) [1975985] - usb: typec: Add typec_port_register_altmodes() (Torez Smith) [1975985] - usb: roles: Call try_module_get() from usb_role_switch_find_by_fwnode() (Torez Smith) [1975985] - usb: dwc3: xilinx: Remove the extra freeing of clocks (Torez Smith) [1975985] - usb: dwc3: Resolve kernel-doc warning for Xilinx DWC3 driver (Torez Smith) [1975985] - usb: core: hub: Fix PM reference leak in usb_port_resume() (Torez Smith) [1975985] - usb: dwc3: pci: add support for the Intel Alder Lake-M (Torez Smith) [1975985] - usb: typec: Link all ports during connector registration (Torez Smith) [1975985] - usb: Iterator for ports (Torez Smith) [1975985] - usb: Link the ports to the connectors they are attached to (Torez Smith) [1975985] - usb: typec: Port mapping utility (Torez Smith) [1975985] - usb: typec: tcpm: update power supply once partner accepts (Torez Smith) [1975985] - usb: typec: tcpm: Address incorrect values of tcpm psy for pps supply (Torez Smith) [1975985] - usb: typec: tcpm: Address incorrect values of tcpm psy for fixed supply (Torez Smith) [1975985] - usb: dwc2: Add exit partial power down before removing driver (Torez Smith) [1975985] - usb: dwc2: Fix partial power down exiting by system resume (Torez Smith) [1975985] - usb: dwc2: Update partial power down entering by system suspend (Torez Smith) [1975985] - usb: dwc2: Fix session request interrupt handler (Torez Smith) [1975985] - usb: dwc2: Allow exit partial power down in urb enqueue (Torez Smith) [1975985] - usb: dwc2: Add part. power down exit from dwc2_conn_id_status_change(). (Torez Smith) [1975985] - usb: dwc2: Add exit partial power down when port reset is asserted (Torez Smith) [1975985] - usb: dwc2: Add exit partial power down when port is resumed (Torez Smith) [1975985] - usb: dwc2: Add enter partial power down when port is suspended (Torez Smith) [1975985] - usb: dwc2: Update port suspend/resume function definitions. (Torez Smith) [1975985] - usb: dwc2: Add partial power down exit flow in wakeup intr. (Torez Smith) [1975985] - usb: dwc2: Update enter and exit partial power down functions (Torez Smith) [1975985] - usb: dwc2: Add host partial power down functions (Torez Smith) [1975985] - usb: dwc2: Add device partial power down functions (Torez Smith) [1975985] - media: gscpa/stv06xx: fix memory leak (Torez Smith) [1975985] - media: gspca: Fix memory leak in probe (Torez Smith) [1975985] - media: dvb-usb: avoid -Wempty-body warnings (Torez Smith) [1975985] - media: flexcop: avoid -Wempty-body warning (Torez Smith) [1975985] - media: dvb-usb: fix memory leak in dvb_usb_adapter_init (Torez Smith) [1975985] - media: dvb-usb-remote: fix dvb_usb_nec_rc_key_to_event type mismatch (Torez Smith) [1975985] - thunderbolt: Add details to router uevent (Torez Smith) [1975985] - USB: serial: io_edgeport: drop unused definitions (Torez Smith) [1975985] - USB: serial: ti_usb_3410_5052: switch to 30-second closing wait (Torez Smith) [1975985] - USB: serial: ti_usb_3410_5052: drop closing_wait module parameter (Torez Smith) [1975985] - USB: serial: io_ti: switch to 30-second closing wait (Torez Smith) [1975985] - USB: serial: io_ti: drop closing_wait module parameter (Torez Smith) [1975985] - USB: serial: ftdi_sio: clean up TIOCSSERIAL (Torez Smith) [1975985] - USB: serial: ftdi_sio: simplify TIOCGSERIAL permission check (Torez Smith) [1975985] - USB: serial: ftdi_sio: ignore baud_base changes (Torez Smith) [1975985] - USB: serial: stop reporting legacy UART types (Torez Smith) [1975985] - USB: serial: add generic support for TIOCSSERIAL (Torez Smith) [1975985] - USB: serial: fix return value for unsupported ioctls (Torez Smith) [1975985] - USB: serial: whiteheat: fix TIOCGSERIAL implementation (Torez Smith) [1975985] - USB: serial: usb_wwan: fix TIOCGSERIAL implementation (Torez Smith) [1975985] - USB: serial: usb_wwan: fix unprivileged TIOCCSERIAL (Torez Smith) [1975985] - USB: serial: usb_wwan: fix TIOCSSERIAL jiffies conversions (Torez Smith) [1975985] - USB: serial: ti_usb_3410_5052: fix TIOCSSERIAL permission check (Torez Smith) [1975985] - USB: serial: ti_usb_3410_5052: fix TIOCGSERIAL implementation (Torez Smith) [1975985] - USB: serial: ssu100: fix TIOCGSERIAL implementation (Torez Smith) [1975985] - USB: serial: quatech2: fix TIOCGSERIAL implementation (Torez Smith) [1975985] - USB: serial: pl2303: fix TIOCGSERIAL implementation (Torez Smith) [1975985] - USB: serial: opticon: fix TIOCGSERIAL implementation (Torez Smith) [1975985] - USB: serial: mos7840: fix TIOCGSERIAL implementation (Torez Smith) [1975985] - USB: serial: mos7720: fix TIOCGSERIAL implementation (Torez Smith) [1975985] - USB: serial: io_ti: fix TIOCGSERIAL implementation (Torez Smith) [1975985] - USB: serial: io_edgeport: fix TIOCGSERIAL implementation (Torez Smith) [1975985] - USB: serial: ftdi_sio: fix TIOCGSERIAL implementation (Torez Smith) [1975985] - USB: serial: ark3116: fix TIOCGSERIAL implementation (Torez Smith) [1975985] - media: em28xx/em28xx.h: Remove duplicate struct declaration (Torez Smith) [1975985] - media: cx231xx/cx231xx.h: Remove repeated struct declaration (Torez Smith) [1975985] - xhci: prevent double-fetch of transfer and transfer event TRBs (Torez Smith) [1975985] - xhci: fix potential array out of bounds with several interrupters (Torez Smith) [1975985] - xhci: check control context is valid before dereferencing it. (Torez Smith) [1975985] - xhci: check port array allocation was successful before dereferencing it (Torez Smith) [1975985] - media: em28xx: fix memory leak (Torez Smith) [1975985] - usb: typec: Declare the typec_class static (Torez Smith) [1975985] - usb: typec: Organize the private headers properly (Torez Smith) [1975985] - usb: xhci-mtk: support quirk to disable usb2 lpm (Torez Smith) [1975985] - usb: xhci-mtk: fix oops when unbind driver (Torez Smith) [1975985] - usb: xhci-mtk: fix wrong remainder of bandwidth budget (Torez Smith) [1975985] - usb: dwc2: delete duplicate word in the comment (Torez Smith) [1975985] - usb: dwc2: add parenthess and space around * (Torez Smith) [1975985] - usb: dwc3: add cancelled reasons for dwc3 requests (Torez Smith) [1975985] - usb: dwc3: fix incorrect kernel-doc comment syntax in files (Torez Smith) [1975985] - usb: dwc3: st: fix incorrect kernel-doc comment syntax in file (Torez Smith) [1975985] - usb: dwc3: imx8mp: fix incorrect kernel-doc comment syntax (Torez Smith) [1975985] - USB: serial: xr: claim both interfaces (Torez Smith) [1975985] - USB: serial: add support for multi-interface functions (Torez Smith) [1975985] - USB: serial: refactor endpoint classification (Torez Smith) [1975985] - USB: serial: drop unused suspending flag (Torez Smith) [1975985] - USB: serial: xr: fix CSIZE handling (Torez Smith) [1975985] - USB: serial: iuu_phoenix: remove redundant variable 'error' (Torez Smith) [1975985] - usb: dwc3: Create helper function getting MDWIDTH (Torez Smith) [1975985] - usb: xhci-mtk: remove MODULE_ALIAS (Torez Smith) [1975985] - usb: xhci-mtk: drop CONFIG_OF (Torez Smith) [1975985] - usb: misc: usbsevseg: update to use usb_control_msg_send() (Torez Smith) [1975985] - usb: misc: ezusb: update to use usb_control_msg_send() (Torez Smith) [1975985] - usb: dwc3: gadget: modify the scale in vbus_draw callback (Torez Smith) [1975985] - usb: xhci-mtk: add support ip-sleep wakeup for mT8192 (Torez Smith) [1975985] - usb: xhci-mtk: support ip-sleep wakeup for MT8183 (Torez Smith) [1975985] - usb: dwc3: trace: Print register read and write offset (Torez Smith) [1975985] - usb: typec: tcpci_maxim: Make symbol 'max_tcpci_tcpci_write_table' static (Torez Smith) [1975985] - usbip: tools: add usage of device mode in usbip_list.c (Torez Smith) [1975985] - usbip: tools: add options and examples in man page related to device mode (Torez Smith) [1975985] - tools: usbip: list.h: fix kernel-doc for list_del() (Torez Smith) [1975985] - xhci: Fix uninitialized errors (Torez Smith) [1975985] - usb: typec: Fix a typo (Torez Smith) [1975985] - usb: xhci: Remove unused function (Torez Smith) [1975985] - usb: xhci: Rewrite xhci_create_usb3_bos_desc() (Torez Smith) [1975985] - usb: xhci: Fix port minor revision (Torez Smith) [1975985] - usb: xhci: Init root hub SSP rate (Torez Smith) [1975985] - thunderbolt: Unlock on error path in tb_domain_add() (Torez Smith) [1975985] - usb: core: sysfs: Check for SSP rate in speed attr (Torez Smith) [1975985] - usb: core: hub: Print speed name based on ssp rate (Torez Smith) [1975985] - usb: core: hub: Remove port_speed_is_ssp() (Torez Smith) [1975985] - usb: core: Track SuperSpeed Plus GenXxY (Torez Smith) [1975985] - usb: dwc3: gadget: Avoid continuing preparing TRBs during teardown (Torez Smith) [1975985] - USB: xhci: drop workaround for forced irq threading (Torez Smith) [1975985] - usb: dwc3: Add driver for Xilinx platforms (Torez Smith) [1975985] - USB: core: rename usb_driver_claim_interface() data parameter (Torez Smith) [1975985] - USB: core: drop outdated interface-binding comment (Torez Smith) [1975985] - media: media/usb: fix kernel-doc header issues (Torez Smith) [1975985] - media: gspca/sq905.c: fix uninitialized variable (Torez Smith) [1975985] - media: media/usb/gspca/w996Xcf.c: /** -> /* (Torez Smith) [1975985] - media: flexcop-usb: delete unneeded return (Torez Smith) [1975985] - thunderbolt: Add KUnit tests for DMA tunnels (Torez Smith) [1975985] - thunderbolt: Add support for USB4 DROM (Torez Smith) [1975985] - thunderbolt: Check quirks in tb_switch_add() (Torez Smith) [1975985] - thunderbolt: Add KUnit tests for XDomain properties (Torez Smith) [1975985] - thunderbolt: Drop unused tb_port_set_initial_credits() (Torez Smith) [1975985] - thunderbolt: Use dedicated flow control for DMA tunnels (Torez Smith) [1975985] - thunderbolt: Allow multiple DMA tunnels over a single XDomain connection (Torez Smith) [1975985] - thunderbolt: Add support for maxhopid XDomain property (Torez Smith) [1975985] - thunderbolt: Add tb_property_copy_dir() (Torez Smith) [1975985] - thunderbolt: Align XDomain protocol timeouts with the spec (Torez Smith) [1975985] - thunderbolt: Use pseudo-random number as initial property block generation (Torez Smith) [1975985] - thunderbolt: Do not re-establish XDomain DMA paths automatically (Torez Smith) [1975985] - thunderbolt: Decrease control channel timeout for software connection manager (Torez Smith) [1975985] - thunderbolt: Disable retry logic for intra-domain control packets (Torez Smith) [1975985] - thunderbolt: Do not pass timeout for tb_cfg_reset() (Torez Smith) [1975985] - thunderbolt: Add more logging to XDomain connections (Torez Smith) [1975985] - usb: typec: tcpm: PD3.0 sinks can send Discover Identity even in device mode (Torez Smith) [1975985] - drivers: usb: Fix a typo in dwc3-qcom.c (Torez Smith) [1975985] - usb: webcam: Invalid size of Processing Unit Descriptor (Torez Smith) [1975985] - usb: typec: tcpci: Added few missing TCPCI register definitions (Torez Smith) [1975985] - USB: serial: pl2303: TA & TB alternate divider with non-standard baud rates (Torez Smith) [1975985] - USB: serial: pl2303: add device-type names (Torez Smith) [1975985] - USB: serial: pl2303: tighten type HXN (G) detection (Torez Smith) [1975985] - USB: serial: pl2303: rename legacy PL2303H type (Torez Smith) [1975985] - USB: serial: pl2303: amend and tighten type detection (Torez Smith) [1975985] - USB: serial: pl2303: clean up type detection (Torez Smith) [1975985] - USB: serial: io_edgeport: drop unneeded forward declarations (Torez Smith) [1975985] - USB: serial: keyspan: drop unneeded forward declarations (Torez Smith) [1975985] - usb: typec: tipd: Separate file for tracepoint creation (Torez Smith) [1975985] - usb: typec: tps6598x: Move the driver under its own subdirectory (Torez Smith) [1975985] - usb: typec: tps6598x: Fix tracepoint header file (Torez Smith) [1975985] - usb: typec: tcpci: Refactor tcpc_presenting_cc1_rd macro (Torez Smith) [1975985] - thunderbolt: debugfs: Show all accessible dwords (Torez Smith) [1975985] - media: fix incorrect kernel doc usages (Torez Smith) [1975985] - media: drivers/media/usb: fix memory leak in zr364xx_probe (Torez Smith) [1975985] - media: anysee: simplify the return expression of anysee_ci_* function (Torez Smith) [1975985] - media: media/usb:Remove superfluous "breaks" in the ttusb_dec.c (Torez Smith) [1975985] - media: media/usb:Remove superfluous "breaks" (Torez Smith) [1975985] - media: usbtv: constify static structs (Torez Smith) [1975985] - media: em28xx: Add pid for bulk revision of Hauppauge 461eV2 (Torez Smith) [1975985] - media: em28xx: Add pid for bulk revision of Hauppauge 461e (Torez Smith) [1975985] - media: dvb-usb: Fix use-after-free access (Torez Smith) [1975985] - media: dvb-usb: Fix memory leak at error in dvb_usb_device_init() (Torez Smith) [1975985] - media: dvb-usb: make dvb_usb_device_properties const (Torez Smith) [1975985] - usb: typec: tps6598x: Fix return value check in tps6598x_probe() (Torez Smith) [1975985] - usb: typec: stusb160x: fix return value check in stusb160x_probe() (Torez Smith) [1975985] - usb: typec: tcpm: turn tcpm_ams_finish into void function (Torez Smith) [1975985] - usb: typec: tcpci: Check ROLE_CONTROL while interpreting CC_STATUS (Torez Smith) [1975985] - usb: common: move function's kerneldoc next to its definition (Torez Smith) [1975985] - usb: xhci-mtk: print debug info of endpoint interval (Torez Smith) [1975985] - usb: common: add function to get interval expressed in us unit (Torez Smith) [1975985] - usb: xhci-mtk: support to build xhci-mtk-hcd.ko (Torez Smith) [1975985] - usb: xhci-mtk: remove declaration of xhci_mtk_setup() (Torez Smith) [1975985] - usb: xhci-mtk: add some schedule error number (Torez Smith) [1975985] - usb: xhci-mtk: rebuild the way to get bandwidth domain (Torez Smith) [1975985] - usb: xhci-mtk: use @tt_info to check the FS/LS device is under a HS hub (Torez Smith) [1975985] - usb: xhci-mtk: add a member @speed in mu3h_sch_ep_info struct (Torez Smith) [1975985] - usb: xhci-mtk: use clear type instead of void (Torez Smith) [1975985] - usb: xhci-mtk: remove unnecessary members of mu3h_sch_tt struct (Torez Smith) [1975985] - usb: xhci-mtk: add a function to get bandwidth boundary (Torez Smith) [1975985] - usb: xhci-mtk: add a function to (un)load bandwidth info (Torez Smith) [1975985] - usb: xhci-mtk: use @sch_tt to check whether need do TT schedule (Torez Smith) [1975985] - usb: xhci-mtk: add only one extra CS for FS/LS INTR (Torez Smith) [1975985] - usb: xhci-mtk: get the microframe boundary for ESIT (Torez Smith) [1975985] - usb: dwc3: Fix dereferencing of null dwc->usb_psy (Torez Smith) [1975985] - media: uvc: don't do DMA on stack (Torez Smith) [1975985] - usb: dwc3: document usb_psy in struct dwc3 (Torez Smith) [1975985] - media: uvcvideo: Fix pixel format change for Elgato Cam Link 4K (Torez Smith) [1975985] - USB: typec: tcpm: create debugfs subdir for the driver (Torez Smith) [1975985] - usb: dwc2: Add STM32 related debugfs entries (Torez Smith) [1975985] - media: uvcvideo: Support devices that report an OT as an entity source (Torez Smith) [1975985] - media: uvcvideo: Fix XU id print in forward scan (Torez Smith) [1975985] - USB: typec: fusb302: create debugfs subdir for the driver (Torez Smith) [1975985] - media: uvcvideo: Use dma_alloc_noncontiguous API (Torez Smith) [1975985] - USB: host: uhci: remove dentry pointer for debugfs (Torez Smith) [1975985] - media: uvc: strncpy -> strscpy (Torez Smith) [1975985] - media: uvcvideo: Rename debug functions (Torez Smith) [1975985] - media: uvcvideo: use dev_printk() for uvc_trace() (Torez Smith) [1975985] - media: uvcvideo: New macro uvc_trace_cont (Torez Smith) [1975985] - USB: core: no need to save usb_devices_root (Torez Smith) [1975985] - media: uvcvideo: Use dev_ printk aliases (Torez Smith) [1975985] - usb: dwc3: add an alternate path in vbus_draw callback (Torez Smith) [1975985] - media: uvcvideo: Add Privacy control based on EXT_GPIO (Torez Smith) [1975985] - usb: dwc3: add a power supply for current control (Torez Smith) [1975985] - media: uvcvideo: Implement UVC_EXT_GPIO_UNIT (Torez Smith) [1975985] - usb: typec: tps6598x: Add trace event for data status (Torez Smith) [1975985] - media: uvcvideo: Allow entity-defined get_info and get_cur (Torez Smith) [1975985] - media: uvcvideo: Provide sync and async uvc_ctrl_status_event (Torez Smith) [1975985] - usb: typec: tps6598x: Add trace event for power status register (Torez Smith) [1975985] - media: uvcvideo: Allow entities with no pads (Torez Smith) [1975985] - usb: typec: tps6598x: Add trace event for status register (Torez Smith) [1975985] - media: uvcvideo: Allow extra entities (Torez Smith) [1975985] - usb: typec: tps6598x: Add trace event for IRQ events (Torez Smith) [1975985] - tty: make everyone's write_room return >= 0 (Torez Smith) [1975985] - media: uvcvideo: Move guid to entity (Torez Smith) [1975985] - USB: serial: xr: fix NULL-deref on disconnect (Torez Smith) [1975985] - media: uvcvideo: Accept invalid bFormatIndex and bFrameIndex values (Torez Smith) [1975985] - thunderbolt: Drop unused functions tb_switch_is_[ice|tiger]_lake() (Torez Smith) [1975985] - media: uvcvideo: Force UVC version to 1.0a for 1bcf:0b40 (Torez Smith) [1975985] - thunderbolt: debugfs: Handle fail reading block (Torez Smith) [1975985] - media: uvcvideo: Use DIV_ROUND_CLOSEST directly to make it readable (Torez Smith) [1975985] - media: usb: uvc: no need to check return value of debugfs_create functions (Torez Smith) [1975985] - media: uvcvideo: Convey full colorspace information to V4L2 (Torez Smith) [1975985] - driver core: fw_devlink: Detect supplier devices that will never be added (Torez Smith) [1975985] - media: uvcvideo: Ensure all probed info is returned to v4l2 (Torez Smith) [1975985] - media: uvcvideo: Silence shift-out-of-bounds warning (Torez Smith) [1975985] - media: uvcvideo: Fix dereference of out-of-bound list iterator (Torez Smith) [1975985] - media: zr364xx: fix memory leaks in probe() (Torez Smith) [1975985] - media: uvcvideo: Cleanup uvc_ctrl_add_info() error handling (Torez Smith) [1975985] - USB: serial: xr: fix B0 handling (Torez Smith) [1975985] - media: uvcvideo: Fix uvc_ctrl_fixup_xu_info() not having any effect (Torez Smith) [1975985] - USB: serial: xr: fix pin configuration (Torez Smith) [1975985] - media: uvcvideo: Replace HTTP links with HTTPS ones (Torez Smith) [1975985] - USB: serial: xr: fix gpio-mode handling (Torez Smith) [1975985] - media: uvcvideo: Set media controller entity functions (Torez Smith) [1975985] - USB: serial: xr: simplify line-speed logic (Torez Smith) [1975985] - media: uvcvideo: Add mapping for HEVC payloads (Torez Smith) [1975985] - USB: serial: xr: clean up line-settings handling (Torez Smith) [1975985] - media: uvcvideo: Fix annotation for uvc_video_clock_update() (Torez Smith) [1975985] - USB: serial: xr: document vendor-request recipient (Torez Smith) [1975985] - USB: serial: xr: use termios flag helpers (Torez Smith) [1975985] - USB: serial: xr: use subsystem usb_device at probe (Torez Smith) [1975985] - media: media/usb: rename VFL_TYPE_GRABBER to _VIDEO (Torez Smith) [1975985] - USB: serial: xr: fix interface leak at disconnect (Torez Smith) [1975985] - media: rename VFL_TYPE_GRABBER to _VIDEO (Torez Smith) [1975985] - USB: serial: xr: fix NULL-deref at probe (Torez Smith) [1975985] - USB: cdc-acm: ignore Exar XR21V141X when serial driver is built (Torez Smith) [1975985] - media: uvcvideo: drop error check of debugfs_create_dir() (Torez Smith) [1975985] - USB: serial: add MaxLinear/Exar USB to Serial driver (Torez Smith) [1975985] - media: uvcvideo: Fix a typo in UVC_METATADA_BUF_SIZE (Torez Smith) [1975985] - media: uvcvideo: Fix error path in control parsing failure (Torez Smith) [1975985] - media: drivers/media: don't set pix->priv = 0 (Torez Smith) [1975985] - media: Bulk remove BUG_ON(in_interrupt()) (Torez Smith) [1975985] - media: zr364xx: propagate errors from zr364xx_start_readpipe() (Torez Smith) [1975985] - media: uvcvideo: Add a D4M camera description (Torez Smith) [1975985] - media: em28xx: Enable Hauppauge 461e rev2 (Torez Smith) [1975985] - crypto: qat - fix definition of ring reset results (Vladis Dronov) [1960307] - crypto: qat - add support for compression for 4xxx (Vladis Dronov) [1960307] - crypto: qat - allow detection of dc capabilities for 4xxx (Vladis Dronov) [1960307] - crypto: qat - add PFVF support to enable the reset of ring pairs (Vladis Dronov) [1960307] - crypto: qat - add PFVF support to the GEN4 host driver (Vladis Dronov) [1960307] - crypto: qat - config VFs based on ring-to-svc mapping (Vladis Dronov) [1960307] - crypto: qat - exchange ring-to-service mappings over PFVF (Vladis Dronov) [1960307] - crypto: qat - support fast ACKs in the PFVF protocol (Vladis Dronov) [1960307] - crypto: qat - exchange device capabilities over PFVF (Vladis Dronov) [1960307] - crypto: qat - introduce support for PFVF block messages (Vladis Dronov) [1960307] - crypto: qat - store the ring-to-service mapping (Vladis Dronov) [1960307] - crypto: qat - store the PFVF protocol version of the endpoints (Vladis Dronov) [1960307] - crypto: qat - improve the ACK timings in PFVF send (Vladis Dronov) [1960307] - crypto: qat - leverage read_poll_timeout in PFVF send (Vladis Dronov) [1960307] - crypto: qat - leverage bitfield.h utils for PFVF messages (Vladis Dronov) [1960307] - crypto: qat - abstract PFVF messages with struct pfvf_message (Vladis Dronov) [1960307] - crypto: qat - set PFVF_MSGORIGIN just before sending (Vladis Dronov) [1960307] - crypto: qat - make PFVF send and receive direction agnostic (Vladis Dronov) [1960307] - crypto: qat - make PFVF message construction direction agnostic (Vladis Dronov) [1960307] - crypto: qat - add the adf_get_pmisc_base() helper function (Vladis Dronov) [1960307] - crypto: qat - support the reset of ring pairs on PF (Vladis Dronov) [1960307] - crypto: qat - extend crypto capability detection for 4xxx (Vladis Dronov) [1960307] - crypto: qat - set COMPRESSION capability for QAT GEN2 (Vladis Dronov) [1960307] - crypto: qat - set CIPHER capability for QAT GEN2 (Vladis Dronov) [1960307] - crypto: qat - get compression extended capabilities (Vladis Dronov) [1960307] - crypto: qat - improve logging of PFVF messages (Vladis Dronov) [1960307] - crypto: qat - fix VF IDs in PFVF log messages (Vladis Dronov) [1960307] - crypto: qat - do not rely on min version (Vladis Dronov) [1960307] - crypto: qat - refactor pfvf version request messages (Vladis Dronov) [1960307] - crypto: qat - pass the PF2VF responses back to the callers (Vladis Dronov) [1960307] - crypto: qat - use enums for PFVF protocol codes (Vladis Dronov) [1960307] - crypto: qat - reorganize PFVF protocol definitions (Vladis Dronov) [1960307] - crypto: qat - reorganize PFVF code (Vladis Dronov) [1960307] - crypto: qat - abstract PFVF receive logic (Vladis Dronov) [1960307] - crypto: qat - abstract PFVF send function (Vladis Dronov) [1960307] - crypto: qat - differentiate between pf2vf and vf2pf offset (Vladis Dronov) [1960307] - crypto: qat - add pfvf_ops (Vladis Dronov) [1960307] - crypto: qat - relocate PFVF disabled function (Vladis Dronov) [1960307] - crypto: qat - relocate PFVF VF related logic (Vladis Dronov) [1960307] - crypto: qat - relocate PFVF PF related logic (Vladis Dronov) [1960307] - crypto: qat - handle retries due to collisions in adf_iov_putmsg() (Vladis Dronov) [1960307] - crypto: qat - split PFVF message decoding from handling (Vladis Dronov) [1960307] - crypto: qat - re-enable interrupts for legacy PFVF messages (Vladis Dronov) [1960307] - crypto: qat - change PFVF ACK behaviour (Vladis Dronov) [1960307] - crypto: qat - move interrupt code out of the PFVF handler (Vladis Dronov) [1960307] - crypto: qat - move VF message handler to adf_vf2pf_msg.c (Vladis Dronov) [1960307] - crypto: qat - move vf2pf interrupt helpers (Vladis Dronov) [1960307] - crypto: qat - refactor PF top half for PFVF (Vladis Dronov) [1960307] - crypto: qat - fix undetected PFVF timeout in ACK loop (Vladis Dronov) [1960307] - crypto: qat - do not handle PFVF sources for qat_4xxx (Vladis Dronov) [1960307] - crypto: qat - simplify adf_enable_aer() (Vladis Dronov) [1960307] - crypto: qat - share adf_enable_pf2vf_comms() from adf_pf2vf_msg.c (Vladis Dronov) [1960307] - crypto: qat - extract send and wait from adf_vf2pf_request_version() (Vladis Dronov) [1960307] - crypto: qat - add VF and PF wrappers to common send function (Vladis Dronov) [1960307] - crypto: qat - rename pfvf collision constants (Vladis Dronov) [1960307] - crypto: qat - move pfvf collision detection values (Vladis Dronov) [1960307] - crypto: qat - make pfvf send message direction agnostic (Vladis Dronov) [1960307] - crypto: qat - use hweight for bit counting (Vladis Dronov) [1960307] - crypto: qat - remove duplicated logic across GEN2 drivers (Vladis Dronov) [1960307] - crypto: qat - fix handling of VF to PF interrupts (Vladis Dronov) [1960307] - crypto: qat - remove unnecessary collision prevention step in PFVF (Vladis Dronov) [1960307] - crypto: qat - disregard spurious PFVF interrupts (Vladis Dronov) [1960307] - crypto: qat - detect PFVF collision after ACK (Vladis Dronov) [1960307] - crypto: qat - power up 4xxx device (Vladis Dronov) [1960307] - crypto: qat - remove unneeded packed attribute (Vladis Dronov) [1960307] - crypto: qat - free irq in case of failure (Vladis Dronov) [1960307] - crypto: qat - free irqs only if allocated (Vladis Dronov) [1960307] - crypto: qat - remove unmatched CPU affinity to cluster IRQ (Vladis Dronov) [1960307] - crypto: qat - replace deprecated MSI API (Vladis Dronov) [1960307] - crypto: qat - store vf.compatible flag (Vladis Dronov) [1960307] - crypto: qat - do not export adf_iov_putmsg() (Vladis Dronov) [1960307] - crypto: qat - flush vf workqueue at driver removal (Vladis Dronov) [1960307] - crypto: qat - remove the unnecessary get_vintmsk_offset() (Vladis Dronov) [1960307] - crypto: qat - fix naming of PF/VF enable functions (Vladis Dronov) [1960307] - crypto: qat - complete all the init steps before service notification (Vladis Dronov) [1960307] - crypto: qat - move IO virtualization functions (Vladis Dronov) [1960307] - crypto: qat - fix naming for init/shutdown VF to PF notifications (Vladis Dronov) [1960307] - crypto: qat - protect interrupt mask CSRs with a spinlock (Vladis Dronov) [1960307] - crypto: qat - move pf2vf interrupt [en|dis]able to adf_vf_isr.c (Vladis Dronov) [1960307] - crypto: qat - fix reuse of completion variable (Vladis Dronov) [1960307] - crypto: qat - remove intermediate tasklet for vf2pf (Vladis Dronov) [1960307] - crypto: qat - rename compatibility version definition (Vladis Dronov) [1960307] - crypto: qat - prevent spurious MSI interrupt in PF (Vladis Dronov) [1960307] - crypto: qat - prevent spurious MSI interrupt in VF (Vladis Dronov) [1960307] - crypto: qat - handle both source of interrupt in VF ISR (Vladis Dronov) [1960307] - crypto: qat - do not ignore errors from enable_vf2pf_comms() (Vladis Dronov) [1960307] - crypto: qat - enable interrupts only after ISR allocation (Vladis Dronov) [1960307] - crypto: qat - remove empty sriov_configure() (Vladis Dronov) [1960307] - crypto: qat - use proper type for vf_mask (Vladis Dronov) [1960307] - crypto: qat - fix a typo in a comment (Vladis Dronov) [1960307] - crypto: qat - disable AER if an error occurs in probe functions (Vladis Dronov) [1960307] - crypto: qat - set DMA mask to 48 bits for Gen2 (Vladis Dronov) [1960307] - crypto: qat - simplify code and axe the use of a deprecated API (Vladis Dronov) [1960307] - crypto: qat - ratelimit invalid ioctl message and print the invalid cmd (Vladis Dronov) [1960307] - lib: crc8: pointer to data block should be const (Vladis Dronov) [1960307] - redhat/configs: disable CONFIG_HYPERV_BALLOON on Aarch64 (Vitaly Kuznetsov) [2035292] - net/mlx5e: Fix possible use-after-free deleting fdb rule (Amir Tzin) [2000003] - e1000e: Fix packet loss on Tiger Lake and later (Ken Cox) [1952803] - e1000e: Separate TGP board type from SPT (Ken Cox) [1952803] - e1000e: Add support for the next LOM generation (Ken Cox) [1952803] - e1000e: Add support for Lunar Lake (Ken Cox) [1952803] - ACPI: tables: FPDT: Do not print FW_BUG message if record types are reserved (Mark Langsdorf) [1999906] - powerpc/xmon: Dump XIVE information for online-only processors. (Steve Best) [2037639] - of: net: pass the dst buffer to of_get_mac_address() (Petr Oros) [2026468] - net: ethernet: improve eth_platform_get_mac_address (Petr Oros) [2026468] - net: ethernet: fix similar warning reported by kbuild test robot (Petr Oros) [2026468] - net: ethernet: support of_get_mac_address new ERR_PTR error (Petr Oros) [2026468] - [s390] s390: add HWCAP_S390_PCI_MIO to ELF hwcaps (Mete Durlu) [2030641] - [s390] s390: make PCI mio support a machine flag (Mete Durlu) [2030641] - Allocate bw_dwork as a pointer and introduce a backpointer in the work struct (Nico Pache) [1990580] - writeback: use READ_ONCE for unlocked reads of writeback stats (Nico Pache) [1990580] - writeback: rename domain_update_bandwidth() (Nico Pache) [1990580] - writeback: fix bandwidth estimate for spiky workload (Nico Pache) [1990580] - writeback: reliably update bandwidth estimation (Nico Pache) [1990580] - writeback: track number of inodes under writeback (Nico Pache) [1990580] - bdi: replace BDI_CAP_NO_{WRITEBACK,ACCT_DIRTY} with a single flag (Nico Pache) [1990580] - bdi: invert BDI_CAP_NO_ACCT_WB (Nico Pache) [1990580] - bdi: replace BDI_CAP_STABLE_WRITES with a queue and a sb flag (Nico Pache) [1990580] - mm: use SWP_SYNCHRONOUS_IO more intelligently (Nico Pache) [1990580] - bdi: remove BDI_CAP_SYNCHRONOUS_IO (Nico Pache) [1990580] - bcache: inherit the optimal I/O size (Nico Pache) [1990580] - fs: remove the unused SB_I_MULTIROOT flag (Nico Pache) [1990580] - Revert "bdi: replace BDI_CAP_NO_{WRITEBACK,ACCT_DIRTY} with a single flag" (Nico Pache) [1990580] - mm/page_io.c: annotate refault stalls from swap_readpage (Nico Pache) [1990580] - mmc: mmc_spi: Enable stable writes (Nico Pache) [1990580] - virtio-blk: modernize sysfs attribute creation (Nico Pache) [1990580] - aoe: register default groups with device_add_disk() (Nico Pache) [1990580] - block: make QUEUE_SYSFS_BIT_FNS more useful (Nico Pache) [1990580] - block: add helper macros for queue sysfs entries (Nico Pache) [1990580] - cifs: sanitize multiple delimiters in prepath (Thiago Becker) [2031200] - igc: Fix typo in i225 LTR functions (Corinna Vinschen) [1970667] - igc: AF_XDP zero-copy metadata adjust breaks SKBs on XDP_PASS (Corinna Vinschen) [1970667] - igc: Change Device Reset to Port Reset (Corinna Vinschen) [1970667] - igc: Add new device ID (Corinna Vinschen) [1970667] - igc: Remove media type checking on the PHY initialization (Corinna Vinschen) [1970667] - igc: Update I226_K device ID (Corinna Vinschen) [1970667] - net: intel: igc_ptp: fix build for UML (Corinna Vinschen) [1970667] - ethernet: use eth_hw_addr_set() for dev->addr_len cases (Corinna Vinschen) [1970667] - igc: Add support for CBS offloading (Corinna Vinschen) [1970667] - igc: Simplify TSN flags handling (Corinna Vinschen) [1970667] - igc: Use default cycle 'start' and 'end' values for queues (Corinna Vinschen) [1970667] - igc: Add support for PTP getcrosststamp() (Corinna Vinschen) [1970667] - igc: Enable PCIe PTM (Corinna Vinschen) [1970667] - igc: Use num_tx_queues when iterating over tx_ring queue (Corinna Vinschen) [1970667] - igc: fix page fault when thunderbolt is unplugged (Corinna Vinschen) [1970667] - igc: Increase timeout value for Speed 100/1000/2500 (Corinna Vinschen) [1970667] - igc: Set QBVCYCLET_S to 0 for TSN Basic Scheduling (Corinna Vinschen) [1970667] - igc: Remove phy->type checking (Corinna Vinschen) [1970667] - igc: Remove _I_PHY_ID checking (Corinna Vinschen) [1970667] - igc: Check if num of q_vectors is smaller than max before array access (Corinna Vinschen) [1970667] - Revert "igc: Export LEDs" (Corinna Vinschen) [1970667] - igc: Export LEDs (Corinna Vinschen) [1970667] - igc: Make flex filter more flexible (Corinna Vinschen) [1970667] - igc: Allow for Flex Filters to be installed (Corinna Vinschen) [1970667] - igc: Integrate flex filter into ethtool ops (Corinna Vinschen) [1970667] - igc: Add possibility to add flex filter (Corinna Vinschen) [1970667] - igc: Fix an error handling path in 'igc_probe()' (Corinna Vinschen) [1970667] - igc: change default return of igc_read_phy_reg() (Corinna Vinschen) [1970667] - igc: Fix use-after-free error during reset (Corinna Vinschen) [1970667] - intel: Remove rcu_read_lock() around XDP program invocation (Corinna Vinschen) [1970667] - igc: Enable HW VLAN Insertion and HW VLAN Stripping (Corinna Vinschen) [1970667] - igc: Indentation fixes (Corinna Vinschen) [1970667] - igc: Remove unused MDICNFG register (Corinna Vinschen) [1970667] - igc: Remove unused asymmetric pause bit from igc defines (Corinna Vinschen) [1970667] - igc: Update driver to use ethtool_sprintf (Corinna Vinschen) [1970667] - igc: add correct exception tracing for XDP (Corinna Vinschen) [1970667] - igb/igc: use strongly typed pointer (Corinna Vinschen) [1970667] - intel: remove checker warning (Corinna Vinschen) [1970667] - igc: Enable TX via AF_XDP zero-copy (Corinna Vinschen) [1970667] - igc: Enable RX via AF_XDP zero-copy (Corinna Vinschen) [1970667] - igc: Replace IGC_TX_FLAGS_XDP flag by an enum (Corinna Vinschen) [1970667] - igc: Introduce igc_unmap_tx_buffer() helper (Corinna Vinschen) [1970667] - igc: Introduce TX/RX stats helpers (Corinna Vinschen) [1970667] - igc: Refactor XDP rxq info registration (Corinna Vinschen) [1970667] - igc: Refactor igc_clean_rx_ring() (Corinna Vinschen) [1970667] - igc: Refactor __igc_xdp_run_prog() (Corinna Vinschen) [1970667] - igc: Move igc_xdp_is_enabled() (Corinna Vinschen) [1970667] - igc: use XDP helpers (Corinna Vinschen) [1970667] - igc: Expose LPI counters (Corinna Vinschen) [1970667] - igc: enable auxiliary PHC functions for the i225 (Corinna Vinschen) [1970667] - igc: Enable internal i225 PPS (Corinna Vinschen) [1970667] - igc: Add support for XDP_REDIRECT action (Corinna Vinschen) [1970667] - igc: Add support for XDP_TX action (Corinna Vinschen) [1970667] - igc: Add initial XDP support (Corinna Vinschen) [1970667] - drivers: net: mhi: fix error path in mhi_net_newlink (Íñigo Huguet) [2004141] - cfg80211: correct bridge/4addr mode check (Íñigo Huguet) [2004141] - cfg80211: fix management registrations locking (Íñigo Huguet) [2004141] - cfg80211: scan: fix RCU in cfg80211_add_nontrans_list() (Íñigo Huguet) [2004141] - mac80211: mesh: fix HE operation element length check (Íñigo Huguet) [2004141] - mwifiex: avoid null-pointer-subtraction warning (Íñigo Huguet) [2004141] - Revert "brcmfmac: use ISO3166 country code and 0 rev as fallback" (Íñigo Huguet) [2004141] - iwlwifi: pcie: add configuration of a Wi-Fi adapter on Dell XPS 15 (Íñigo Huguet) [2004141] - mac80211: Fix Ptk0 rekey documentation (Íñigo Huguet) [2004141] - mac80211: check return value of rhashtable_init (Íñigo Huguet) [2004141] - mac80211: fix use-after-free in CCMP/GCMP RX (Íñigo Huguet) [2004141] - mac80211-hwsim: fix late beacon hrtimer handling (Íñigo Huguet) [2004141] - mac80211: mesh: fix potentially unaligned access (Íñigo Huguet) [2004141] - mac80211: limit injected vht mcs/nss in ieee80211_parse_tx_radiotap (Íñigo Huguet) [2004141] - mac80211: Drop frames from invalid MAC address in ad-hoc mode (Íñigo Huguet) [2004141] - mac80211: Fix ieee80211_amsdu_aggregate frag_tail bug (Íñigo Huguet) [2004141] - Revert "mac80211: do not use low data rates for data frames with no ack flag" (Íñigo Huguet) [2004141] - iwlwifi: mvm: d3: missing unlock in iwl_mvm_wowlan_program_keys() (Íñigo Huguet) [2004141] - iwlwifi: mvm: d3: Fix off by ones in iwl_mvm_wowlan_get_rsc_v5_data() (Íñigo Huguet) [2004141] - iwlwifi: mvm: Fix possible NULL dereference (Íñigo Huguet) [2004141] - iwlwifi: fix printk format warnings in uefi.c (Íñigo Huguet) [2004141] - iwlwifi: pnvm: Fix a memory leak in 'iwl_pnvm_get_from_fs()' (Íñigo Huguet) [2004141] - iwlwifi: bump FW API to 66 for AX devices (Íñigo Huguet) [2004141] - iwlwifi Add support for ax201 in Samsung Galaxy Book Flex2 Alpha (Íñigo Huguet) [2004141] - iwlwifi: mvm: add rtnl_lock() in iwl_mvm_start_get_nvm() (Íñigo Huguet) [2004141] - net: qrtr: revert check in qrtr_endpoint_post() (Íñigo Huguet) [2004141] - net: qrtr: make checks in qrtr_endpoint_post() stricter (Íñigo Huguet) [2004141] - intel: switch from 'pci_' to 'dma_' API (Íñigo Huguet) [2004141] - mwifiex: pcie: add reset_d3cold quirk for Surface gen4+ devices (Íñigo Huguet) [2004141] - mwifiex: pcie: add DMI-based quirk implementation for Surface devices (Íñigo Huguet) [2004141] - brcmfmac: pcie: fix oops on failure to resume and reprobe (Íñigo Huguet) [2004141] - brcmfmac: Add WPA3 Personal with FT to supported cipher suites (Íñigo Huguet) [2004141] - rtlwifi: rtl8192de: Fix initialization of place in _rtl92c_phy_get_rightchnlplace() (Íñigo Huguet) [2004141] - rtw88: add quirk to disable pci caps on HP Pavilion 14-ce0xxx (Íñigo Huguet) [2004141] - ath9k: fix sleeping in atomic context (Íñigo Huguet) [2004141] - ath9k: fix OOB read ar9300_eeprom_restore_internal (Íñigo Huguet) [2004141] - iwlwifi: mvm: don't use FW key ID in beacon protection (Íñigo Huguet) [2004141] - iwlwifi: mvm: Fix scan channel flags settings (Íñigo Huguet) [2004141] - iwlwifi: mvm: support broadcast TWT alone (Íñigo Huguet) [2004141] - iwlwifi: mvm: introduce iwl_stored_beacon_notif_v3 (Íñigo Huguet) [2004141] - iwlwifi: move get pnvm file name to a separate function (Íñigo Huguet) [2004141] - iwlwifi: mvm: add support for responder config command version 9 (Íñigo Huguet) [2004141] - iwlwifi: mvm: add support for range request command version 13 (Íñigo Huguet) [2004141] - iwlwifi: allow debug init in RF-kill (Íñigo Huguet) [2004141] - iwlwifi: mvm: don't schedule the roc_done_wk if it is already running (Íñigo Huguet) [2004141] - iwlwifi: yoyo: support for new DBGI_SRAM region (Íñigo Huguet) [2004141] - iwlwifi: add 'Rx control frame to MBSSID' HE capability (Íñigo Huguet) [2004141] - iwlwifi: fw: fix debug dump data declarations (Íñigo Huguet) [2004141] - iwlwifi: api: remove datamember from struct (Íñigo Huguet) [2004141] - iwlwifi: fix __percpu annotation (Íñigo Huguet) [2004141] - iwlwifi: pcie: avoid dma unmap/remap in crash dump (Íñigo Huguet) [2004141] - iwlwifi: acpi: fill in SAR tables with defaults (Íñigo Huguet) [2004141] - iwlwifi: acpi: fill in WGDS table with defaults (Íñigo Huguet) [2004141] - iwlwifi: bump FW API to 65 for AX devices (Íñigo Huguet) [2004141] - iwlwifi: acpi: support reading and storing WGDS revision 2 (Íñigo Huguet) [2004141] - iwlwifi: mvm: load regdomain at INIT stage (Íñigo Huguet) [2004141] - iwlwifi: mvm: Read the PPAG and SAR tables at INIT stage (Íñigo Huguet) [2004141] - iwlwifi: mvm: trigger WRT when no beacon heard (Íñigo Huguet) [2004141] - iwlwifi: fw: correctly limit to monitor dump (Íñigo Huguet) [2004141] - iwlwifi: skip first element in the WTAS ACPI table (Íñigo Huguet) [2004141] - iwlwifi: mvm: support version 11 of wowlan statuses notification (Íñigo Huguet) [2004141] - iwlwifi: convert flat GEO profile table to a struct version (Íñigo Huguet) [2004141] - iwlwifi: remove unused ACPI_WGDS_TABLE_SIZE definition (Íñigo Huguet) [2004141] - iwlwifi: support reading and storing EWRD revisions 1 and 2 (Íñigo Huguet) [2004141] - iwlwifi: acpi: support reading and storing WRDS revision 1 and 2 (Íñigo Huguet) [2004141] - iwlwifi: pass number of chains and sub-bands to iwl_sar_set_profile() (Íñigo Huguet) [2004141] - iwlwifi: remove ACPI_SAR_NUM_TABLES definition (Íñigo Huguet) [2004141] - iwlwifi: convert flat SAR profile table to a struct version (Íñigo Huguet) [2004141] - iwlwifi: rename ACPI_SAR_NUM_CHAIN_LIMITS to ACPI_SAR_NUM_CHAINS (Íñigo Huguet) [2004141] - iwlwifi: mvm: fix access to BSS elements (Íñigo Huguet) [2004141] - iwlwifi: mvm: Refactor setting of SSIDs for 6GHz scan (Íñigo Huguet) [2004141] - iwlwifi: mvm: silently drop encrypted frames for unknown station (Íñigo Huguet) [2004141] - iwlwifi: mvm: d3: implement RSC command version 5 (Íñigo Huguet) [2004141] - iwlwifi: mvm: d3: make key reprogramming iteration optional (Íñigo Huguet) [2004141] - iwlwifi: mvm: d3: add separate key iteration for GTK type (Íñigo Huguet) [2004141] - iwlwifi: mvm: d3: refactor TSC/RSC configuration (Íñigo Huguet) [2004141] - iwlwifi: mvm: d3: remove fixed cmd_flags argument (Íñigo Huguet) [2004141] - iwlwifi: mvm: d3: separate TKIP data from key iteration (Íñigo Huguet) [2004141] - iwlwifi: mvm: simplify __iwl_mvm_set_sta_key() (Íñigo Huguet) [2004141] - iwlwifi: mvm: support new station key API (Íñigo Huguet) [2004141] - iwlwifi: mvm: Fix umac scan request probe parameters (Íñigo Huguet) [2004141] - iwlwifi: pcie: implement Bz reset flow (Íñigo Huguet) [2004141] - iwlwifi: implement Bz NMI behaviour (Íñigo Huguet) [2004141] - iwlwifi: pcie: implement Bz device startup (Íñigo Huguet) [2004141] - iwlwifi: read MAC address from correct place on Bz (Íñigo Huguet) [2004141] - iwlwifi: give Bz devices their own name (Íñigo Huguet) [2004141] - iwlwifi: split off Bz devices into their own family (Íñigo Huguet) [2004141] - iwlwifi: yoyo: cleanup internal buffer allocation in D3 (Íñigo Huguet) [2004141] - iwlwifi: mvm: treat MMPDUs in iwl_mvm_mac_tx() as bcast (Íñigo Huguet) [2004141] - iwlwifi: mvm: clean up number of HW queues (Íñigo Huguet) [2004141] - iwlwifi: mvm: avoid static queue number aliasing (Íñigo Huguet) [2004141] - iwlwifi: use DEFINE_MUTEX() for mutex lock (Íñigo Huguet) [2004141] - iwlwifi: remove trailing semicolon in macro definition (Íñigo Huguet) [2004141] - iwlwifi: mvm: fix a memory leak in iwl_mvm_mac_ctxt_beacon_changed (Íñigo Huguet) [2004141] - iwlwifi: mvm: fix old-style static const declaration (Íñigo Huguet) [2004141] - iwlwifi: mvm: remove check for vif in iwl_mvm_vif_from_mac80211() (Íñigo Huguet) [2004141] - iwlwifi: pcie: remove spaces from queue names (Íñigo Huguet) [2004141] - iwlwifi: mvm: restrict FW SMPS request (Íñigo Huguet) [2004141] - iwlwifi: mvm: set replay counter on key install (Íñigo Huguet) [2004141] - iwlwifi: mvm: remove trigger EAPOL time event (Íñigo Huguet) [2004141] - iwlwifi: iwl-dbg-tlv: add info about loading external dbg bin (Íñigo Huguet) [2004141] - iwlwifi: mvm: Add support for hidden network scan on 6GHz band (Íñigo Huguet) [2004141] - iwlwifi: mvm: Do not use full SSIDs in 6GHz scan (Íñigo Huguet) [2004141] - iwlwifi: print PNVM complete notification status in hexadecimal (Íñigo Huguet) [2004141] - iwlwifi: pcie: dump error on FW reset handshake failures (Íñigo Huguet) [2004141] - iwlwifi: prepare for synchronous error dumps (Íñigo Huguet) [2004141] - iwlwifi: pcie: free RBs during configure (Íñigo Huguet) [2004141] - iwlwifi: pcie: optimise struct iwl_rx_mem_buffer layout (Íñigo Huguet) [2004141] - iwlwifi: mvm: avoid FW restart while shutting down (Íñigo Huguet) [2004141] - iwlwifi: nvm: enable IEEE80211_HE_PHY_CAP10_HE_MU_M1RU_MAX_LTF (Íñigo Huguet) [2004141] - iwlwifi: mvm: set BROADCAST_TWT_SUPPORTED in MAC policy (Íñigo Huguet) [2004141] - iwlwifi: iwl-nvm-parse: set STBC flags for HE phy capabilities (Íñigo Huguet) [2004141] - cfg80211: use wiphy DFS domain if it is self-managed (Íñigo Huguet) [2004141] - mac80211: parse transmit power envelope element (Íñigo Huguet) [2004141] - ieee80211: add definition for transmit power envelope element (Íñigo Huguet) [2004141] - ieee80211: add definition of regulatory info in 6 GHz operation information (Íñigo Huguet) [2004141] - mac80211: introduce individual TWT support in AP mode (Íñigo Huguet) [2004141] - ieee80211: add TWT element definitions (Íñigo Huguet) [2004141] - brcmsmac: make array addr static const, makes object smaller (Íñigo Huguet) [2004141] - rtw88: Remove unnecessary check code (Íñigo Huguet) [2004141] - rtw88: wow: fix size access error of probe request (Íñigo Huguet) [2004141] - rtw88: wow: report wow reason through mac80211 api (Íñigo Huguet) [2004141] - rtw88: wow: build wow function only if CONFIG_PM is on (Íñigo Huguet) [2004141] - rtw88: refine the setting of rsvd pages for different firmware (Íñigo Huguet) [2004141] - rtw88: use read_poll_timeout instead of fixed sleep (Íñigo Huguet) [2004141] - rtw88: 8822ce: set CLKREQ# signal to low during suspend (Íñigo Huguet) [2004141] - rtw88: change beacon filter default mode (Íñigo Huguet) [2004141] - rtw88: 8822c: add tx stbc support under HT mode (Íñigo Huguet) [2004141] - rtw88: adjust the log level for failure of tx report (Íñigo Huguet) [2004141] - rtl8xxxu: Fix the handling of TX A-MPDU aggregation (Íñigo Huguet) [2004141] - rtl8xxxu: disable interrupt_in transfer for 8188cu and 8192cu (Íñigo Huguet) [2004141] - mwifiex: make arrays static const, makes object smaller (Íñigo Huguet) [2004141] - mwifiex: usb: Replace one-element array with flexible-array member (Íñigo Huguet) [2004141] - mwifiex: drop redundant null-pointer check in mwifiex_dnld_cmd_to_fw() (Íñigo Huguet) [2004141] - rtlwifi: rtl8192de: make arrays static const, makes object smaller (Íñigo Huguet) [2004141] - rtlwifi: rtl8192de: Remove redundant variable initializations (Íñigo Huguet) [2004141] - ray_cs: Split memcpy() to avoid bounds check warning (Íñigo Huguet) [2004141] - ray_cs: use *ph to print small buffer (Íñigo Huguet) [2004141] - brcmfmac: add 43752 SDIO ids and initialization (Íñigo Huguet) [2004141] - brcmfmac: Set SDIO workqueue as WQ_HIGHPRI (Íñigo Huguet) [2004141] - brcmfmac: use separate firmware for 43430 revision 2 (Íñigo Huguet) [2004141] - brcmfmac: support chipsets with different core enumeration space (Íñigo Huguet) [2004141] - brcmfmac: add xtlv support to firmware interface layer (Íñigo Huguet) [2004141] - brcmfmac: increase core revision column aligning core list (Íñigo Huguet) [2004141] - brcmfmac: use different error value for invalid ram base address (Íñigo Huguet) [2004141] - brcmfmac: firmware: Fix firmware loading (Íñigo Huguet) [2004141] - net: qrtr: fix another OOB Read in qrtr_endpoint_post (Íñigo Huguet) [2004141] - cfg80211: fix BSS color notify trace enum confusion (Íñigo Huguet) [2004141] - mac80211: fix locking in ieee80211_restart_work() (Íñigo Huguet) [2004141] - mac80211: Fix insufficient headroom issue for AMSDU (Íñigo Huguet) [2004141] - mac80211: add support for BSS color change (Íñigo Huguet) [2004141] - nl80211: add support for BSS coloring (Íñigo Huguet) [2004141] - mac80211: Use flex-array for radiotap header bitmap (Íñigo Huguet) [2004141] - mac80211: radiotap: Use BIT() instead of shifts (Íñigo Huguet) [2004141] - mac80211: Remove unnecessary variable and label (Íñigo Huguet) [2004141] - mac80211: include (Íñigo Huguet) [2004141] - mac80211: Fix monitor MTU limit so that A-MSDUs get through (Íñigo Huguet) [2004141] - mac80211: remove unnecessary NULL check in ieee80211_register_hw() (Íñigo Huguet) [2004141] - mac80211: Reject zero MAC address in sta_info_insert_check() (Íñigo Huguet) [2004141] - mt76: fix enum type mismatch (Íñigo Huguet) [2004141] - bus: mhi: core: Improve debug messages for power up (Íñigo Huguet) [2004141] - bus: mhi: core: Replace DMA allocation wrappers with original APIs (Íñigo Huguet) [2004141] - bus: mhi: core: Add range checks for BHI and BHIe (Íñigo Huguet) [2004141] - bus: mhi: pci_generic: Set register access length for MHI driver (Íñigo Huguet) [2004141] - ath11k: set register access length for MHI driver (Íñigo Huguet) [2004141] - bus: mhi: Add MMIO region length to controller structure (Íñigo Huguet) [2004141] - bus: mhi: core: Set BHI and BHIe pointers to NULL in clean-up (Íñigo Huguet) [2004141] - bus: mhi: core: Set BHI/BHIe offsets on power up preparation (Íñigo Huguet) [2004141] - bus: mhi: pci_generic: Add Cinterion MV31-W PCIe to MHI (Íñigo Huguet) [2004141] - Revert "mhi: Fix networking tree build." (Íñigo Huguet) [2004141] - mhi: Fix networking tree build. (Íñigo Huguet) [2004141] - brcmfmac: firmware: Allow per-board firmware binaries (Íñigo Huguet) [2004141] - iwlwifi: add new so-jf devices (Íñigo Huguet) [2004141] - iwlwifi: add new SoF with JF devices (Íñigo Huguet) [2004141] - iwlwifi: pnvm: accept multiple HW-type TLVs (Íñigo Huguet) [2004141] - cfg80211: Fix possible memory leak in function cfg80211_bss_update (Íñigo Huguet) [2004141] - nl80211: limit band information in non-split data (Íñigo Huguet) [2004141] - mac80211: fix enabling 4-address mode on a sta vif after assoc (Íñigo Huguet) [2004141] - mac80211: fix starting aggregation sessions on mesh interfaces (Íñigo Huguet) [2004141] - mac80211: Do not strip skb headroom on monitor frames (Íñigo Huguet) [2004141] - net: mhi: Remove MBIM protocol (Íñigo Huguet) [2004141] - bus: mhi: pci_generic: Fix inbound IPCR channel (Íñigo Huguet) [2004141] - bus: mhi: core: Validate channel ID when processing command completions (Íñigo Huguet) [2004141] - bus: mhi: pci_generic: Apply no-op for wake using sideband wake boolean (Íñigo Huguet) [2004141] - net: mhi: Improve MBIM packet counting (Íñigo Huguet) [2004141] - bus: mhi: pci-generic: configurable network interface MRU (Íñigo Huguet) [2004141] - mt76: mt7921: Fix fall-through warning for Clang (Íñigo Huguet) [2004141] - mt76: mt7921: continue to probe driver when fw already downloaded (Íñigo Huguet) [2004141] - ath11k: Remove some duplicate code (Íñigo Huguet) [2004141] - ath: switch from 'pci_' to 'dma_' API (Íñigo Huguet) [2004141] - iwlwifi: acpi: remove unused function iwl_acpi_eval_dsm_func() (Íñigo Huguet) [2004141] - rtw88: fix c2h memory leak (Íñigo Huguet) [2004141] - brcmfmac: support parse country code map from DT (Íñigo Huguet) [2004141] - bus: mhi: pci-generic: Add missing 'pci_disable_pcie_error_reporting()' calls (Íñigo Huguet) [2004141] - bus: mhi: Wait for M2 state during system resume (Íñigo Huguet) [2004141] - bus: mhi: core: Fix power down latency (Íñigo Huguet) [2004141] - brcmfmac: Silence error messages about unsupported firmware features (Íñigo Huguet) [2004141] - cfg80211: Add wiphy_info_once() (Íñigo Huguet) [2004141] - mac80211: Switch to a virtual time-based airtime scheduler (Íñigo Huguet) [2004141] - Revert "mac80211: HE STA disassoc due to QOS NULL not sent" (Íñigo Huguet) [2004141] - mac80211: remove iwlwifi specific workaround NDPs of null_response (Íñigo Huguet) [2004141] - mac80211: fix NULL ptr dereference during mesh peer connection for non HE devices (Íñigo Huguet) [2004141] - mac80211: Enable power save after receiving NULL packet ACK (Íñigo Huguet) [2004141] - mac80211: add HE 6 GHz capability only if supported (Íñigo Huguet) [2004141] - mac80211: notify driver on mgd TX completion (Íñigo Huguet) [2004141] - mac80211: always include HE 6GHz capability in probe request (Íñigo Huguet) [2004141] - mac80211: add vendor-specific capabilities to assoc request (Íñigo Huguet) [2004141] - cfg80211: allow advertising vendor-specific capabilities (Íñigo Huguet) [2004141] - cfg80211: set custom regdomain after wiphy registration (Íñigo Huguet) [2004141] - cfg80211: Support hidden AP discovery over 6GHz band (Íñigo Huguet) [2004141] - mac80211: conditionally advertise HE in probe requests (Íñigo Huguet) [2004141] - cfg80211: add cfg80211_any_usable_channels() (Íñigo Huguet) [2004141] - cfg80211: reg: improve bad regulatory warning (Íñigo Huguet) [2004141] - nl80211: Fix typo pmsr->pmsr (Íñigo Huguet) [2004141] - mac80211: fix some spelling mistakes (Íñigo Huguet) [2004141] - cfg80211: remove ieee80211_get_he_sta_cap() (Íñigo Huguet) [2004141] - mac80211: remove use of ieee80211_get_he_sta_cap() (Íñigo Huguet) [2004141] - cfg80211: trace more information in assoc trace event (Íñigo Huguet) [2004141] - mac80211: improve AP disconnect message (Íñigo Huguet) [2004141] - mac80211: rearrange struct txq_info for fewer holes (Íñigo Huguet) [2004141] - ieee80211: add defines for HE PHY cap byte 10 (Íñigo Huguet) [2004141] - mac80211: Properly WARN on HW scan before restart (Íñigo Huguet) [2004141] - nl80211/cfg80211: add BSS color to NDP ranging parameters (Íñigo Huguet) [2004141] - mac80211: add to bss_conf if broadcast TWT is supported (Íñigo Huguet) [2004141] - mac80211: move SMPS mode setting after ieee80211_prep_connection (Íñigo Huguet) [2004141] - mac80211: free skb in WEP error case (Íñigo Huguet) [2004141] - mac80211: handle rate control (RC) racing with chanctx definition (Íñigo Huguet) [2004141] - ieee80211: define timing measurement in extended capabilities IE (Íñigo Huguet) [2004141] - mac80211_hwsim: record stats in non-netlink path (Íñigo Huguet) [2004141] - ieee80211: add the value for Category '6' in "rtw_ieee80211_category" (Íñigo Huguet) [2004141] - mac80211: remove iwlwifi specific workaround that broke sta NDP tx (Íñigo Huguet) [2004141] - mac80211: allow SMPS requests only in client mode (Íñigo Huguet) [2004141] - mac80211: check per vif offload_flags in Tx path (Íñigo Huguet) [2004141] - mac80211: add rate control support for encap offload (Íñigo Huguet) [2004141] - mac80211: call ieee80211_tx_h_rate_ctrl() when dequeue (Íñigo Huguet) [2004141] - mac80211: move A-MPDU session check from minstrel_ht to mac80211 (Íñigo Huguet) [2004141] - cfg80211: expose the rfkill device to the low level driver (Íñigo Huguet) [2004141] - wireless: add check of field VHT Extended NSS BW Capable for 160/80+80 MHz setting (Íñigo Huguet) [2004141] - mac80211_hwsim: add concurrent channels scanning support over virtio (Íñigo Huguet) [2004141] - mac80211: don't open-code LED manipulations (Íñigo Huguet) [2004141] - mac80211: consider per-CPU statistics if present (Íñigo Huguet) [2004141] - cfg80211: fix default HE tx bitrate mask in 2G band (Íñigo Huguet) [2004141] - mac80211: remove the repeated declaration (Íñigo Huguet) [2004141] - mac80211: refactor rc_no_data_or_no_ack_use_min function (Íñigo Huguet) [2004141] - mac80211: do not use low data rates for data frames with no ack flag (Íñigo Huguet) [2004141] - mac80211: add ieee80211_is_tx_data helper function (Íñigo Huguet) [2004141] - mac80211: simplify ieee80211_add_station() (Íñigo Huguet) [2004141] - mac80211: use sdata->skb_queue for TDLS (Íñigo Huguet) [2004141] - mac80211: refactor SKB queue processing a bit (Íñigo Huguet) [2004141] - mac80211: unify queueing SKB to iface (Íñigo Huguet) [2004141] - mac80211: minstrel_ht: ignore frame that was sent with noAck flag (Íñigo Huguet) [2004141] - cfg80211: clean up variable use in cfg80211_parse_colocated_ap() (Íñigo Huguet) [2004141] - cfg80211: remove CFG80211_MAX_NUM_DIFFERENT_CHANNELS (Íñigo Huguet) [2004141] - mac80211: Remove redundant assignment to ret (Íñigo Huguet) [2004141] - net: wireless: wext_compat.c: Remove redundant assignment to ps (Íñigo Huguet) [2004141] - wireless: wext-spy: Fix out-of-bounds warning (Íñigo Huguet) [2004141] - ath11k: Avoid memcpy() over-reading of he_cap (Íñigo Huguet) [2004141] - mt7601u: add USB device ID for some versions of XiaoDu WiFi Dongle. (Íñigo Huguet) [2004141] - mwifiex: Avoid memset() over-write of WEP key_material (Íñigo Huguet) [2004141] - rtlwifi: rtl8192de: Fully initialize curvecount_val (Íñigo Huguet) [2004141] - rtw88: coex: remove unnecessary variable and label (Íñigo Huguet) [2004141] - rtw88: add quirks to disable pci capabilities (Íñigo Huguet) [2004141] - rtw88: refine unwanted h2c command (Íñigo Huguet) [2004141] - rtw88: dump FW crash via devcoredump (Íñigo Huguet) [2004141] - rtw88: notify fw when driver in scan-period to avoid potential problem (Íñigo Huguet) [2004141] - rtw88: add rtw_fw_feature_check api (Íñigo Huguet) [2004141] - rtw88: 8822c: update RF parameter tables to v62 (Íñigo Huguet) [2004141] - rtw88: Remove duplicate include of coex.h (Íñigo Huguet) [2004141] - rtw88: 8822c: fix lc calibration timing (Íñigo Huguet) [2004141] - rtw88: add path diversity (Íñigo Huguet) [2004141] - rtw88: add beacon filter support (Íñigo Huguet) [2004141] - iwlwifi: bump FW API to 64 for AX devices (Íñigo Huguet) [2004141] - iwlwifi: fw: dump TCM error table if present (Íñigo Huguet) [2004141] - iwlwifi: add 9560 killer device (Íñigo Huguet) [2004141] - iwlwifi: move error dump to fw utils (Íñigo Huguet) [2004141] - iwlwifi: support loading the reduced power table from UEFI (Íñigo Huguet) [2004141] - iwlwifi: move UEFI code to a separate file (Íñigo Huguet) [2004141] - iwlwifi: mvm: introduce iwl_wowlan_get_status_cmd (Íñigo Huguet) [2004141] - iwlwifi: mvm: introduce iwl_wowlan_kek_kck_material_cmd_v4 (Íñigo Huguet) [2004141] - iwlwifi: mvm: update iwl_wowlan_patterns_cmd (Íñigo Huguet) [2004141] - iwlwifi: mvm: introduce iwl_proto_offload_cmd_v4 (Íñigo Huguet) [2004141] - iwlwifi: fix NUM_IWL_UCODE_TLV_* definitions to avoid sparse errors (Íñigo Huguet) [2004141] - iwlwifi: pcie: free some DMA memory earlier (Íñigo Huguet) [2004141] - iwlwifi: mvm: fill phy_data.d1 for no-data RX (Íñigo Huguet) [2004141] - iwlwifi: pcie: fix context info freeing (Íñigo Huguet) [2004141] - iwlwifi: pcie: free IML DMA memory allocation (Íñigo Huguet) [2004141] - iwlwifi: mvm: support LONG_GROUP for WOWLAN_GET_STATUSES version (Íñigo Huguet) [2004141] - iwlwifi: support ver 6 of WOWLAN_CONFIGURATION and ver 10 of WOWLAN_GET_STATUSES (Íñigo Huguet) [2004141] - iwlwifi: mvm: don't request mac80211 to disable/enable sta's queues (Íñigo Huguet) [2004141] - iwlwifi: mvm: Explicitly stop session protection before unbinding (Íñigo Huguet) [2004141] - iwlwifi: pcie: remove TR/CR tail allocations (Íñigo Huguet) [2004141] - iwlwifi: mvm: Read acpi dsm to get unii4 enable/disable bitmap. (Íñigo Huguet) [2004141] - iwlwifi: pcie: fix some kernel-doc comments (Íñigo Huguet) [2004141] - iwlwifi: advertise broadcast TWT support (Íñigo Huguet) [2004141] - iwlwifi: mvm: support LMR feedback (Íñigo Huguet) [2004141] - iwlwifi: correct HE capabilities (Íñigo Huguet) [2004141] - iwlwifi: mvm: Call NMI instead of REPLY_ERROR (Íñigo Huguet) [2004141] - iwlwifi: mvm: fix error print when session protection ends (Íñigo Huguet) [2004141] - iwlwifi: mvm: honour firmware SMPS requests (Íñigo Huguet) [2004141] - iwlwifi: mvm: apply RX diversity per PHY context (Íñigo Huguet) [2004141] - iwlwifi: mvm: don't request SMPS in AP mode (Íñigo Huguet) [2004141] - iwlwifi: pcie: identify the RF module (Íñigo Huguet) [2004141] - iwlwifi: yoyo: support region TLV version 2 (Íñigo Huguet) [2004141] - iwlwifi: remove duplicate iwl_ax201_cfg_qu_hr declaration (Íñigo Huguet) [2004141] - iwlwifi: pcie: remove CSR_HW_RF_ID_TYPE_CHIP_ID (Íñigo Huguet) [2004141] - iwlwifi: pcie: print interrupt number, not index (Íñigo Huguet) [2004141] - iwlwifi: pcie: Add support for AX231 radio module with Ma devices (Íñigo Huguet) [2004141] - iwlwifi: increase PNVM load timeout (Íñigo Huguet) [2004141] - iwlwifi: pcie: handle pcim_iomap_table() failures better (Íñigo Huguet) [2004141] - iwlwifi: mvm: don't change band on bound PHY contexts (Íñigo Huguet) [2004141] - iwlwifi: remove unused REMOTE_WAKE_CONFIG_CMD definitions (Íñigo Huguet) [2004141] - iwlwifi: mvm: fix indentation in some scan functions (Íñigo Huguet) [2004141] - iwlwifi: mvm: pass the clock type to iwl_mvm_get_sync_time() (Íñigo Huguet) [2004141] - iwlwifi: mvm: support BIOS enable/disable for 11ax in Russia (Íñigo Huguet) [2004141] - ath11k: Enable QCN9074 device (Íñigo Huguet) [2004141] - ath10k: demote chan info without scan request warning (Íñigo Huguet) [2004141] - rtl8xxxu: avoid parsing short RX packet (Íñigo Huguet) [2004141] - rtl8xxxu: Fix device info for RTL8192EU devices (Íñigo Huguet) [2004141] - mt76: mt7921: allow chip reset during device restart (Íñigo Huguet) [2004141] - mt76: mt7615: set macwork timeout according to runtime-pm (Íñigo Huguet) [2004141] - mt76: mt7663s: enable runtime-pm (Íñigo Huguet) [2004141] - mt76: mt7663s: rely on mt76_connac_pm_ref/mt76_connac_pm_unref in tx path (Íñigo Huguet) [2004141] - mt76: mt7663s: rely on pm reference counting (Íñigo Huguet) [2004141] - mt76: sdio: do not run mt76_txq_schedule directly (Íñigo Huguet) [2004141] - mt76: mt7921: enable HE BFee capability (Íñigo Huguet) [2004141] - mt76: disable TWT capabilities for the moment (Íñigo Huguet) [2004141] - mt76: fix iv and CCMP header insertion (Íñigo Huguet) [2004141] - mt76: mt7921: fix the coredump is being truncated (Íñigo Huguet) [2004141] - mt76: mt7921: fix kernel warning when reset on vif is not sta (Íñigo Huguet) [2004141] - mt76: mt7921: introduce dedicated control for deep_sleep (Íñigo Huguet) [2004141] - mt76: mt7921: limit txpower according to userlevel power (Íñigo Huguet) [2004141] - mt76: mt7921: improve code readability for mt7921_update_txs (Íñigo Huguet) [2004141] - mt76: mt7915: fix IEEE80211_HE_PHY_CAP7_MAX_NC for station mode (Íñigo Huguet) [2004141] - mt76: use SPDX header file comment style (Íñigo Huguet) [2004141] - mt76: add a space between comment char and SPDX tag (Íñigo Huguet) [2004141] - mt76: mt7915: improve MU stability (Íñigo Huguet) [2004141] - mt76: mt7921: add deep sleep control to runtime-pm knob (Íñigo Huguet) [2004141] - mt76: mt7921: enable deep sleep at runtime (Íñigo Huguet) [2004141] - mt76: mt7915: introduce mt7915_mcu_set_txbf() (Íñigo Huguet) [2004141] - mt76: make mt76_update_survey() per phy (Íñigo Huguet) [2004141] - mt76: move mt76_get_next_pkt_id in mt76.h (Íñigo Huguet) [2004141] - mt76: reduce rx buffer size to 2048 (Íñigo Huguet) [2004141] - mt76: connac: fix the maximum interval schedule scan can support (Íñigo Huguet) [2004141] - mt76: mt7915: fix rx fcs error count in testmode (Íñigo Huguet) [2004141] - mt76: testmode: move chip-specific stats dump before common stats (Íñigo Huguet) [2004141] - mt76: connac: add mt76_connac_mcu_get_nic_capability utility routine (Íñigo Huguet) [2004141] - mt76: connac: check band caps in mt76_connac_mcu_set_rate_txpower (Íñigo Huguet) [2004141] - mt76: mt7915: drop the use of repeater entries for station interfaces (Íñigo Huguet) [2004141] - mt76: mt7921: enable VHT BFee capability (Íñigo Huguet) [2004141] - mt76: mt7921: make mt7921_set_channel static (Íñigo Huguet) [2004141] - mt76: mt7921: wake the device before dumping power table (Íñigo Huguet) [2004141] - mt76: connac: add mt76_connac_power_save_sched in mt76_connac_pm_unref (Íñigo Huguet) [2004141] - mt76: connac: fix UC entry is being overwritten (Íñigo Huguet) [2004141] - mt76: mt7615: update radar parameters (Íñigo Huguet) [2004141] - mt76: mt7915: setup drr group for peers (Íñigo Huguet) [2004141] - mt76: mt7921: enable random mac address during sched_scan (Íñigo Huguet) [2004141] - mt76: mt7921: remove mt7921_get_wtbl_info routine (Íñigo Huguet) [2004141] - mt76: mt7915: fix MT_EE_CAL_GROUP_SIZE (Íñigo Huguet) [2004141] - mt76: mt7915: improve error recovery reliability (Íñigo Huguet) [2004141] - mt76: mt7921: enable hw offloading for wep keys (Íñigo Huguet) [2004141] - mt76: mt7915: read all eeprom fields from fw in efuse mode (Íñigo Huguet) [2004141] - mt76: mt7921: set MT76_RESET during mac reset (Íñigo Huguet) [2004141] - mt76: mt7921: introduce mac tx done handling (Íñigo Huguet) [2004141] - mt76: allow hw driver code to overwrite wiphy interface_modes (Íñigo Huguet) [2004141] - mt76: mt7921: update statistic in active mode only (Íñigo Huguet) [2004141] - mt76: mt7915: use mt7915_mcu_get_mib_info() to get survey data (Íñigo Huguet) [2004141] - mt76: mt7615: fix potential overflow on large shift (Íñigo Huguet) [2004141] - mt76: testmode: remove undefined behaviour in mt76_testmode_alloc_skb (Íñigo Huguet) [2004141] - mt76: testmode: remove unnecessary function calls in mt76_testmode_free_skb (Íñigo Huguet) [2004141] - mt76: testmode: fix memory leak in mt76_testmode_alloc_skb (Íñigo Huguet) [2004141] - mt76: mt7615: remove useless if condition in mt7615_add_interface() (Íñigo Huguet) [2004141] - mt76: mt7915: use mt7915_mcu_get_txpower_sku() to get per-rate txpower (Íñigo Huguet) [2004141] - mt76: mt7615: add .offset_tsf callback (Íñigo Huguet) [2004141] - mt76: mt7915: add .offset_tsf callback (Íñigo Huguet) [2004141] - mt76: mt7921: reset wfsys during hw probe (Íñigo Huguet) [2004141] - mt76: mt7921: do not schedule hw reset if the device is not running (Íñigo Huguet) [2004141] - mt76: mt7921: return proper error value in mt7921_mac_init (Íñigo Huguet) [2004141] - mt76: mt7921: enable runtime pm by default (Íñigo Huguet) [2004141] - mt76: mt7921: fix OMAC idx usage (Íñigo Huguet) [2004141] - mt76: mt7921: fix invalid register access in wake_work (Íñigo Huguet) [2004141] - mt76: mt7921: avoid unnecessary consecutive WiFi resets (Íñigo Huguet) [2004141] - mt76: connac: update BA win size in Rx direction (Íñigo Huguet) [2004141] - mt76: connac: add bss color support for sta mode (Íñigo Huguet) [2004141] - mt76: mt7615: add thermal sensor device support (Íñigo Huguet) [2004141] - mt76: mt7915: add thermal cooling device support (Íñigo Huguet) [2004141] - mt76: mt7915: add thermal sensor device support (Íñigo Huguet) [2004141] - mt76: mt7921: fix reset under the deep sleep is enabled (Íñigo Huguet) [2004141] - mt76: mt7921: add back connection monitor support (Íñigo Huguet) [2004141] - mt76: mt7921: consider the invalid value for to_rssi (Íñigo Huguet) [2004141] - mt76: connac: fix WoW with disconnetion and bitmap pattern (Íñigo Huguet) [2004141] - mt76: connac: fw_own rely on all packet memory all being free (Íñigo Huguet) [2004141] - mt76: mt7921: Don't alter Rx path classifier (Íñigo Huguet) [2004141] - mt76: mt7921: fix mt7921_wfsys_reset sequence (Íñigo Huguet) [2004141] - mt76: mt7663: enable hw rx header translation (Íñigo Huguet) [2004141] - mt76: mt7615: free irq if mt7615_mmio_probe fails (Íñigo Huguet) [2004141] - mt76: mt76x0: use dev_debug instead of dev_err for hw_rf_ctrl (Íñigo Huguet) [2004141] - mt76: mt7921: enable rx csum offload (Íñigo Huguet) [2004141] - mt76: mt7921: enable rx header traslation offload (Íñigo Huguet) [2004141] - mt76: connac: add missing configuration in mt76_connac_mcu_wtbl_hdr_trans_tlv (Íñigo Huguet) [2004141] - mt76: mt7921: enable rx hw de-amsdu (Íñigo Huguet) [2004141] - mt76: mt7915: fix a signedness bug in mt7915_mcu_apply_tx_dpd() (Íñigo Huguet) [2004141] - mt76: mt7615: fix NULL pointer dereference in tx_prepare_skb() (Íñigo Huguet) [2004141] - mt76: fix possible NULL pointer dereference in mt76_tx (Íñigo Huguet) [2004141] - mt76: mt7915: add .set_bitrate_mask() callback (Íñigo Huguet) [2004141] - mt76: mt7915: cleanup mt7915_mcu_sta_rate_ctrl_tlv() (Íñigo Huguet) [2004141] - mt76: mt7915: fix tssi indication field of DBDC NICs (Íñigo Huguet) [2004141] - mt76: move mt76_rates in mt76 module (Íñigo Huguet) [2004141] - mac80211: reset profile_periodicity/ema_ap (Íñigo Huguet) [2004141] - mac80211: handle various extensible elements correctly (Íñigo Huguet) [2004141] - cfg80211: avoid double free of PMSR request (Íñigo Huguet) [2004141] - cfg80211: make certificate generation more robust (Íñigo Huguet) [2004141] - mac80211: minstrel_ht: fix sample time check (Íñigo Huguet) [2004141] - mt76: mt7915: add support for tx status reporting (Íñigo Huguet) [2004141] - mt76: mt7915: rework tx rate reporting (Íñigo Huguet) [2004141] - mt76: dma: use ieee80211_tx_status_ext to free packets when tx fails (Íñigo Huguet) [2004141] - mt76: improve tx status codepath (Íñigo Huguet) [2004141] - mt76: intialize tx queue entry wcid to 0xffff by default (Íñigo Huguet) [2004141] - mt76: mt7603: avoid use of ieee80211_tx_info_clear_status (Íñigo Huguet) [2004141] - mt76: mt7615: avoid use of ieee80211_tx_info_clear_status (Íñigo Huguet) [2004141] - mt76: mt7615: fix fixed-rate tx status reporting (Íñigo Huguet) [2004141] - mt76: mt7915: move mt7915_queue_rx_skb to mac.c (Íñigo Huguet) [2004141] - mt76: mt7915: disable ASPM (Íñigo Huguet) [2004141] - mt76: mt7915: add MSI support (Íñigo Huguet) [2004141] - ath11k: send beacon template after vdev_start/restart during csa (Íñigo Huguet) [2004141] - ath10k: Use devm_platform_get_and_ioremap_resource() (Íñigo Huguet) [2004141] - ath10k: remove the repeated declaration (Íñigo Huguet) [2004141] - ath10k: Fix an error code in ath10k_add_interface() (Íñigo Huguet) [2004141] - ath11k: Fix an error handling path in ath11k_core_fetch_board_data_api_n() (Íñigo Huguet) [2004141] - ath: Fix wrong function name in comments (Íñigo Huguet) [2004141] - rtlwifi: Fix spelling of 'download' (Íñigo Huguet) [2004141] - rtlwifi: Remove redundant assignments to ul_enc_algo (Íñigo Huguet) [2004141] - rtlwifi: rtl8723ae: remove redundant initialization of variable rtstatus (Íñigo Huguet) [2004141] - rtlwifi: btcoex: 21a 2ant: Delete several duplicate condition branch codes (Íñigo Huguet) [2004141] - rtlwifi: 8821a: btcoexist: add comments to explain why if-else branches are identical (Íñigo Huguet) [2004141] - rt2x00: do not set timestamp for injected frames (Íñigo Huguet) [2004141] - rndis_wlan: simplify is_associated() (Íñigo Huguet) [2004141] - rt2x00: remove leading spaces before tabs (Íñigo Huguet) [2004141] - rtlwifi: Fix wrong function name in comments (Íñigo Huguet) [2004141] - brcmsmac: Remove the repeated declaration (Íñigo Huguet) [2004141] - brcmsmac: mac80211_if: Fix a resource leak in an error handling path (Íñigo Huguet) [2004141] - brcmsmac: Drop unnecessary NULL check after container_of (Íñigo Huguet) [2004141] - brcmsmac: improve readability on addresses copy (Íñigo Huguet) [2004141] - brcmfmac: Add clm_blob firmware files to modinfo (Íñigo Huguet) [2004141] - brcmfmac: Delete second brcm folder hierarchy (Íñigo Huguet) [2004141] - brcmfmac: Fix a double-free in brcmf_sdio_bus_reset (Íñigo Huguet) [2004141] - brcmfmac: Demote non-compliant kernel-doc headers (Íñigo Huguet) [2004141] - brcmfmac: correctly report average RSSI in station info (Íñigo Huguet) [2004141] - brcmfmac: fix setting of station info chains bitmask (Íñigo Huguet) [2004141] - brcmfmac: use ISO3166 country code and 0 rev as fallback (Íñigo Huguet) [2004141] - ath10k: remove unused more_frags variable (Íñigo Huguet) [2004141] - ath10k: add missing error return code in ath10k_pci_probe() (Íñigo Huguet) [2004141] - ath10k: go to path err_unsupported when chip id is not supported (Íñigo Huguet) [2004141] - ath11k: don't call ath11k_pci_set_l1ss for WCN6855 (Íñigo Huguet) [2004141] - ath11k: add support for WCN6855 (Íñigo Huguet) [2004141] - ath11k: add support to get peer id for WCN6855 (Íñigo Huguet) [2004141] - ath11k: setup WBM_IDLE_LINK ring once again (Íñigo Huguet) [2004141] - ath11k: setup REO for WCN6855 (Íñigo Huguet) [2004141] - ath11k: add dp support for WCN6855 (Íñigo Huguet) [2004141] - ath11k: add hw reg support for WCN6855 (Íñigo Huguet) [2004141] - ath9k: Fix kernel NULL pointer dereference during ath_reset_internal() (Íñigo Huguet) [2004141] - mwifiex: bring down link before deleting interface (Íñigo Huguet) [2004141] - mt76: mt7615: Use devm_platform_get_and_ioremap_resource() (Íñigo Huguet) [2004141] - wwan: core: add WWAN common private data for netdev (Íñigo Huguet) [2004141] - wwan: core: support default netdev creation (Íñigo Huguet) [2004141] - wwan: core: no more hold netdev ops owning module (Íñigo Huguet) [2004141] - net: mhi_net: Update the transmit handler prototype (Íñigo Huguet) [2004141] - bus: mhi: pci-generic: Fix hibernation (Íñigo Huguet) [2004141] - bus: mhi: pci_generic: Fix possible use-after-free in mhi_pci_remove() (Íñigo Huguet) [2004141] - bus: mhi: pci_generic: T99W175: update channel name from AT to DUN (Íñigo Huguet) [2004141] - mac80211: drop multicast fragments (Íñigo Huguet) [2004141] - mac80211: move interface shutdown out of wiphy lock (Íñigo Huguet) [2004141] - cfg80211: shut down interfaces on failed resume (Íñigo Huguet) [2004141] - cfg80211: fix phy80211 symlink creation (Íñigo Huguet) [2004141] - mac80211: fix 'reset' debugfs locking (Íñigo Huguet) [2004141] - mac80211: fix deadlock in AP/VLAN handling (Íñigo Huguet) [2004141] - mac80211: Fix NULL ptr deref for injected rate info (Íñigo Huguet) [2004141] - mac80211: fix skb length check in ieee80211_scan_rx() (Íñigo Huguet) [2004141] - mac80211: correct ieee80211_iterate_active_interfaces_mtx() locking comments (Íñigo Huguet) [2004141] - cfg80211: call cfg80211_leave_ocb when switching away from OCB (Íñigo Huguet) [2004141] - mac80211_hwsim: drop pending frames on stop (Íñigo Huguet) [2004141] - mac80211: remove warning in ieee80211_get_sband() (Íñigo Huguet) [2004141] - mt76: mt7921: remove leftover 80+80 HE capability (Íñigo Huguet) [2004141] - mt76: mt7615: do not set MT76_STATE_PM at bootstrap (Íñigo Huguet) [2004141] - ath9k: ar9003_mac: read STBC indicator from rx descriptor (Íñigo Huguet) [2004141] - ath10k/ath11k: fix spelling mistake "requed" -> "requeued" (Íñigo Huguet) [2004141] - mwifiex: re-fix for unaligned accesses (Íñigo Huguet) [2004141] - mt76: mt76x0e: fix device hang during suspend/resume (Íñigo Huguet) [2004141] - mt76: mt7921: fix max aggregation subframes setting (Íñigo Huguet) [2004141] - mt76: connac: fix HT A-MPDU setting field in STA_REC_PHY (Íñigo Huguet) [2004141] - mt76: connac: do not schedule mac_work if the device is not running (Íñigo Huguet) [2004141] - mt76: mt7921: fix possible AOOB issue in mt7921_mcu_tx_rate_report (Íñigo Huguet) [2004141] - brcmfmac: properly check for bus register errors (Íñigo Huguet) [2004141] - Revert "brcmfmac: add a check for the status of usb_register" (Íñigo Huguet) [2004141] - net: rtlwifi: properly check for alloc_workqueue() failure (Íñigo Huguet) [2004141] - Revert "rtlwifi: fix a potential NULL pointer dereference" (Íñigo Huguet) [2004141] - wl3501_cs: Fix out-of-bounds warnings in wl3501_mgmt_join (Íñigo Huguet) [2004141] - wl3501_cs: Fix out-of-bounds warnings in wl3501_send_pkt (Íñigo Huguet) [2004141] - iwlwifi: mvm: tt: Replace thermal_notify_framework (Íñigo Huguet) [2004141] - mt76: debugfs: introduce napi_threaded node (Íñigo Huguet) [2004141] - wl3501: fix typo of 'Networks' in comment (Íñigo Huguet) [2004141] - mt76: use threaded NAPI (Íñigo Huguet) [2004141] - net: mhi_net: make mhi_wwan_ops static (Íñigo Huguet) [2004141] - net: mhi_net: Register wwan_ops for link creation (Íñigo Huguet) [2004141] - net: mhi: remove pointless conditional before kfree_skb() (Íñigo Huguet) [2004141] - net: mhi: Allow decoupled MTU/MRU (Íñigo Huguet) [2004141] - net: mhi: Add support for non-linear MBIM skb processing (Íñigo Huguet) [2004141] - bus: mhi: fix typo in comments for struct mhi_channel_config (Íñigo Huguet) [2004141] - bus: mhi: core: Fix shadow declarations (Íñigo Huguet) [2004141] - bus: mhi: pci_generic: Constify mhi_controller_config struct definitions (Íñigo Huguet) [2004141] - bus: mhi: pci_generic: Introduce Foxconn T99W175 support (Íñigo Huguet) [2004141] - bus: mhi: core: Sanity check values from remote device before use (Íñigo Huguet) [2004141] - bus: mhi: pci_generic: Add FIREHOSE channels (Íñigo Huguet) [2004141] - bus: mhi: pci_generic: Implement PCI shutdown callback (Íñigo Huguet) [2004141] - bus: mhi: Improve documentation on channel transfer setup APIs (Íñigo Huguet) [2004141] - bus: mhi: core: Remove __ prefix for MHI channel unprepare function (Íñigo Huguet) [2004141] - bus: mhi: core: Check channel execution environment before issuing reset (Íñigo Huguet) [2004141] - bus: mhi: core: Clear configuration from channel context during reset (Íñigo Huguet) [2004141] - bus: mhi: core: Hold device wake for channel update commands (Íñigo Huguet) [2004141] - bus: mhi: core: Update debug messages to use client device (Íñigo Huguet) [2004141] - bus: mhi: core: Improvements to the channel handling state machine (Íñigo Huguet) [2004141] - bus: mhi: core: Clear context for stopped channels from remove() (Íñigo Huguet) [2004141] - bus: mhi: core: Allow sending the STOP channel command (Íñigo Huguet) [2004141] - bus: mhi: pci_generic: Add SDX65 based modem support (Íñigo Huguet) [2004141] - bus: mhi: core: Remove pre_init flag used for power purposes (Íñigo Huguet) [2004141] - bus: mhi: pm: reduce PM state change verbosity (Íñigo Huguet) [2004141] - bus: mhi: core: Fix MHI runtime_pm behavior (Íñigo Huguet) [2004141] - bus: mhi: core: Move to polling method to wait for MHI ready (Íñigo Huguet) [2004141] - bus: mhi: core: Introduce internal register poll helper function (Íñigo Huguet) [2004141] - bus: mhi: core: Improve state strings for debug messages (Íñigo Huguet) [2004141] - bus: mhi: core: Wait for MHI READY state in most scenarios (Íñigo Huguet) [2004141] - bus: mhi: core: Identify Flash Programmer as a mission mode use case (Íñigo Huguet) [2004141] - bus: mhi: core: Add support for Flash Programmer execution environment (Íñigo Huguet) [2004141] - bus: mhi: core: Handle EDL mode entry appropriately (Íñigo Huguet) [2004141] - bus: mhi: core: Wait for ready after an EDL firmware download (Íñigo Huguet) [2004141] - bus: mhi: core: Rely on accurate method to determine EDL mode (Íñigo Huguet) [2004141] - bus: mhi: core: Check state before processing power_down (Íñigo Huguet) [2004141] - bus: mhi: core: Return EAGAIN if MHI ring is full (Íñigo Huguet) [2004141] - net: export dev_set_threaded symbol (Íñigo Huguet) [2004141] - bus: mhi: core: remove redundant initialization of variables state and ee (Íñigo Huguet) [2004141] - bus: mhi: Make firmware image optional for controller (Íñigo Huguet) [2004141] - bus: mhi: core: Add missing checks for MMIO register entries (Íñigo Huguet) [2004141] - bus: mhi: pci_generic: Add support for runtime PM (Íñigo Huguet) [2004141] - bus: mhi: pci_generic: Use generic PCI power management (Íñigo Huguet) [2004141] - bus: mhi: pci_generic: No-Op for device_wake operations (Íñigo Huguet) [2004141] - bus: mhi: pci_generic: Add SDX24 based modem support (Íñigo Huguet) [2004141] - bus: mhi: Early MHI resume failure in non M3 state (Íñigo Huguet) [2004141] - bus: mhi: core: Update debug prints to include local device state (Íñigo Huguet) [2004141] - bus: mhi: core: Process execution environment changes serially (Íñigo Huguet) [2004141] - bus: mhi: core: Download AMSS image from appropriate function (Íñigo Huguet) [2004141] - bus: mhi: core: Destroy SBL devices when moving to mission mode (Íñigo Huguet) [2004141] - bus: mhi: core: Rename debugfs directory name (Íñigo Huguet) [2004141] - bus: mhi: pci_generic: Introduce quectel EM1XXGR-L support (Íñigo Huguet) [2004141] - bus: mhi: pci_generic: Parametrable element count for events (Íñigo Huguet) [2004141] - ath10k: Detect conf_mutex held ath10k_drain_tx() calls (Íñigo Huguet) [2004141] - net: mhi: Add mbim proto (Íñigo Huguet) [2004141] - net: mhi: Add rx_length_errors stat (Íñigo Huguet) [2004141] - net: mhi: Create mhi.h (Íñigo Huguet) [2004141] - net: mhi: Add dedicated folder (Íñigo Huguet) [2004141] - net: mhi: Add protocol support (Íñigo Huguet) [2004141] - net: mhi-net: Add re-aggregation of fragmented packets (Íñigo Huguet) [2004141] - net: mhi: Get rid of local rx queue count (Íñigo Huguet) [2004141] - net: mhi: Get RX queue size from MHI core (Íñigo Huguet) [2004141] - net: mhi: Set wwan device type (Íñigo Huguet) [2004141] - net: mhi: Add raw IP mode support (Íñigo Huguet) [2004141] - net: mhi: Fix unexpected queue wake (Íñigo Huguet) [2004141] - net: Add mhi-net driver (Íñigo Huguet) [2004141] - ipv4: make exception cache less predictible (Antoine Tenart) [2015111] {CVE-2021-20322} - ipv4: use siphash instead of Jenkins in fnhe_hashfun() (Antoine Tenart) [2015111] {CVE-2021-20322} - iommu/dma: Account for min_align_mask w/swiotlb (Jerry Snitselaar) [2018601] - swiotlb: Support aligned swiotlb buffers (Jerry Snitselaar) [2018601] - iommu/dma: Check CONFIG_SWIOTLB more broadly (Jerry Snitselaar) [2018601] - iommu/dma: Fold _swiotlb helpers into callers (Jerry Snitselaar) [2018601] - iommu/dma: Skip extra sync during unmap w/swiotlb (Jerry Snitselaar) [2018601] - iommu/dma: Fix arch_sync_dma for map (Jerry Snitselaar) [2018601] - iommu/dma: Fix sync_sg with swiotlb (Jerry Snitselaar) [2018601] - redhat/configs: Add CONFIG_DMA_RESTRICTED_POOL (Jerry Snitselaar) [2018601] - swiotlb: use depends on for DMA_RESTRICTED_POOL (Jerry Snitselaar) [2018601] - powerpc/svm: Don't issue ultracalls if !mem_encrypt_active() (Jerry Snitselaar) [2018601] - s390/pv: fix the forcing of the swiotlb (Jerry Snitselaar) [2018601] - swiotlb: Free tbl memory in swiotlb_exit() (Jerry Snitselaar) [2018601] - swiotlb: Emit diagnostic in swiotlb_exit() (Jerry Snitselaar) [2018601] - swiotlb: Convert io_default_tlb_mem to static allocation (Jerry Snitselaar) [2018601] - swiotlb: fix implicit debugfs declarations (Jerry Snitselaar) [2018601] - swiotlb: Add restricted DMA pool initialization (Jerry Snitselaar) [2018601] - swiotlb: Add restricted DMA alloc/free support (Jerry Snitselaar) [2018601] - swiotlb: Refactor swiotlb_tbl_unmap_single (Jerry Snitselaar) [2018601] - swiotlb: Move alloc_size to swiotlb_find_slots (Jerry Snitselaar) [2018601] - swiotlb: Use is_swiotlb_force_bounce for swiotlb data bouncing (Jerry Snitselaar) [2018601] - swiotlb: Update is_swiotlb_active to add a struct device argument (Jerry Snitselaar) [2018601] - swiotlb: Update is_swiotlb_buffer to add a struct device argument (Jerry Snitselaar) [2018601] - swiotlb: Set dev->dma_io_tlb_mem to the swiotlb pool used (Jerry Snitselaar) [2018601] - swiotlb: Refactor swiotlb_create_debugfs (Jerry Snitselaar) [2018601] - swiotlb: Refactor swiotlb init functions (Jerry Snitselaar) [2018601] - of: Drop superfluous ULL suffix for ~0 (Jerry Snitselaar) [2018601] - dma-mapping: fix 32-bit overflow with CONFIG_ARM_LPAE=n (Jerry Snitselaar) [2018601] - of/device: Update dma_range_map only when dev has valid dma-ranges (Jerry Snitselaar) [2018601] - drivers core: Fix oops when driver probe fails (Jerry Snitselaar) [2018601] - drivers core: Free dma_range_map when driver probe failed (Jerry Snitselaar) [2018601] - driver core: Postpone DMA tear-down until after devres release for probe failure (Jerry Snitselaar) [2018601] - powerpc/pseries/iommu: Fix window size for direct mapping with pmem (Jerry Snitselaar) [2018601] - dma-mapping: add a dma_init_global_coherent helper (Jerry Snitselaar) [2018601] - dma-mapping: simplify dma_init_coherent_memory (Jerry Snitselaar) [2018601] - dma-debug: fix debugfs initialization order (Jerry Snitselaar) [2018601] - dma-debug: teach add_dma_entry() about DMA_ATTR_SKIP_CPU_SYNC (Jerry Snitselaar) [2018601] - dma-debug: fix sg checks in debug_dma_map_sg() (Jerry Snitselaar) [2018601] - swiotlb-xen: ensure to issue well-formed XENMEM_exchange requests (Jerry Snitselaar) [2018601] - dma-debug: prevent an error message from causing runtime problems (Jerry Snitselaar) [2018601] - swiotlb-xen: drop DEFAULT_NSLABS (Jerry Snitselaar) [2018601] - swiotlb-xen: arrange to have buffer info logged (Jerry Snitselaar) [2018601] - swiotlb-xen: drop leftover __ref (Jerry Snitselaar) [2018601] - swiotlb-xen: limit init retries (Jerry Snitselaar) [2018601] - swiotlb-xen: suppress certain init retries (Jerry Snitselaar) [2018601] - swiotlb-xen: maintain slab count properly (Jerry Snitselaar) [2018601] - swiotlb-xen: fix late init retry (Jerry Snitselaar) [2018601] - swiotlb-xen: avoid double free (Jerry Snitselaar) [2018601] - dma-mapping: handle vmalloc addresses in dma_common_{mmap,get_sgtable} (Jerry Snitselaar) [2018601] - dma-debug: report -EEXIST errors in add_dma_entry (Jerry Snitselaar) [2018601] - dma-mapping: remove a trailing space (Jerry Snitselaar) [2018601] - dma-mapping: add unlikely hint to error path in dma_mapping_error (Jerry Snitselaar) [2018601] - dma-mapping: remove a pointless empty line in dma_alloc_coherent (Jerry Snitselaar) [2018601] - swiotlb: Make SWIOTLB_NO_FORCE perform no allocation (Jerry Snitselaar) [2018601] - swiotlb: remove swiotlb_nr_tbl (Jerry Snitselaar) [2018601] - xen/swiotlb: check if the swiotlb has already been initialized (Jerry Snitselaar) [2018601] - swiotlb: add overflow checks to swiotlb_bounce (Jerry Snitselaar) [2002023] - swiotlb: don't override user specified size in swiotlb_adjust_size (Jerry Snitselaar) [2002023] - swiotlb: dynamically allocate io_tlb_default_mem (Jerry Snitselaar) [2002023] - swiotlb: move global variables into a new io_tlb_mem structure (Jerry Snitselaar) [2002023] - xen-swiotlb: remove the unused size argument from xen_swiotlb_fixup (Jerry Snitselaar) [2018601] - xen-swiotlb: split xen_swiotlb_init (Jerry Snitselaar) [2018601] - swiotlb: lift the double initialization protection from xen-swiotlb (Jerry Snitselaar) [2002023] - xen-swiotlb: remove xen_io_tlb_start and xen_io_tlb_nslabs (Jerry Snitselaar) [2018601] - xen-swiotlb: remove xen_set_nslabs (Jerry Snitselaar) [2018601] - xen-swiotlb: use io_tlb_end in xen_swiotlb_dma_supported (Jerry Snitselaar) [2018601] - xen-swiotlb: use is_swiotlb_buffer in is_xen_swiotlb_buffer (Jerry Snitselaar) [2018601] - swiotlb: split swiotlb_tbl_sync_single (Jerry Snitselaar) [2002023] - swiotlb: manipulate orig_addr when tlb_addr has offset (Jerry Snitselaar) [2002023] - swiotlb: move orig addr and size validation into swiotlb_bounce (Jerry Snitselaar) [2002023] - swiotlb: remove the alloc_size parameter to swiotlb_tbl_unmap_single (Jerry Snitselaar) [2002023] - swiotlb: Fix the type of index (Jerry Snitselaar) [2018601] - swiotlb: Validate bounce size in the sync/unmap path (Jerry Snitselaar) [2002023] - powerpc/svm: stop using io_tlb_start (Jerry Snitselaar) [2002023] - nvme-pci: set min_align_mask (Jerry Snitselaar) [2002023] - swiotlb: respect min_align_mask (Jerry Snitselaar) [2002023] - swiotlb: don't modify orig_addr in swiotlb_tbl_sync_single (Jerry Snitselaar) [2002023] - swiotlb: refactor swiotlb_tbl_map_single (Jerry Snitselaar) [2002023] - swiotlb: clean up swiotlb_tbl_unmap_single (Jerry Snitselaar) [2002023] - swiotlb: factor out a nr_slots helper (Jerry Snitselaar) [2002023] - swiotlb: factor out an io_tlb_offset helper (Jerry Snitselaar) [2002023] - swiotlb: add a IO_TLB_SIZE define (Jerry Snitselaar) [2002023] - driver core: add a min_align_mask field to struct device_dma_parameters (Jerry Snitselaar) [2002023] - sdhci: stop poking into swiotlb internals (Jerry Snitselaar) [2018601] - driver core: lift dma_default_coherent into common code (Jerry Snitselaar) [2018601] - dma-pool: no need to check return value of debugfs_create functions (Jerry Snitselaar) [2018601] - powerpc/dma: Fallback to dma_ops when persistent memory present (Jerry Snitselaar) [2018601] - dma-mapping: Allow mixing bypass and mapped DMA operation (Jerry Snitselaar) [2018601] - dma-mapping: remove the dma_direct_set_offset export (Jerry Snitselaar) [2018601] - dma-mapping: move more functions to dma-map-ops.h (Jerry Snitselaar) [2018601] - dma-mapping: merge into (Jerry Snitselaar) [2018601] - dma-mapping: move large parts of to kernel/dma (Jerry Snitselaar) [2018601] - dma-mapping: add (back) arch_dma_mark_clean for ia64 (Jerry Snitselaar) [2018601] - dma-mapping: move dma-debug.h to kernel/dma/ (Jerry Snitselaar) [2018601] - dma-mapping: split (Jerry Snitselaar) [2018601] - dma-mapping: introduce DMA range map, supplanting dma_pfn_offset (Jerry Snitselaar) [2018601] - of: Make of_dma_get_range() private (Jerry Snitselaar) [2018601] - swiotlb: fix comment on swiotlb_bounce() (Jerry Snitselaar) [2018601] - xen/arm: introduce phys/dma translations in xen_dma_sync_for_* (Jerry Snitselaar) [2018601] - swiotlb-xen: add struct device * parameter to xen_dma_sync_for_device (Jerry Snitselaar) [2018601] - swiotlb-xen: add struct device * parameter to xen_dma_sync_for_cpu (Jerry Snitselaar) [2018601] - swiotlb-xen: introduce phys_to_dma/dma_to_phys translations (Jerry Snitselaar) [2018601] - swiotlb-xen: remove XEN_PFN_PHYS (Jerry Snitselaar) [2018601] - swiotlb-xen: add struct device * parameter to is_xen_swiotlb_buffer (Jerry Snitselaar) [2018601] - swiotlb-xen: add struct device * parameter to xen_bus_to_phys (Jerry Snitselaar) [2018601] - swiotlb-xen: add struct device * parameter to xen_phys_to_bus (Jerry Snitselaar) [2018601] - swiotlb-xen: use vmalloc_to_page on vmalloc virt addresses (Jerry Snitselaar) [2018601] - swiotlb-xen: Convert to use macro (Jerry Snitselaar) [2018601] - swiotlb-xen: merge xen_unmap_single into xen_swiotlb_unmap_page (Jerry Snitselaar) [2018601] - swiotlb-xen: remove xen_swiotlb_dma_mmap and xen_swiotlb_dma_get_sgtable (Jerry Snitselaar) [2018601] - xen/swiotlb: remember having called xen_create_contiguous_region() (Jerry Snitselaar) [2018601] - xen/swiotlb: simplify range_straddles_page_boundary() (Jerry Snitselaar) [2018601] - xen/swiotlb: fix condition for calling xen_destroy_contiguous_region() (Jerry Snitselaar) [2018601] - xen/swiotlb: don't initialize swiotlb twice on arm64 (Jerry Snitselaar) [2018601] - xen-swiotlb: use actually allocated size on check physical continuous (Jerry Snitselaar) [2018601] - igb: fix deadlock caused by taking RTNL in RPM resume path (Corinna Vinschen) [2039882] - igb: Fix removal of unicast MAC filters of VFs (Corinna Vinschen) [2039882] - net: ena: Fix error handling when calculating max IO queues number (Petr Oros) [2038158] - net: ena: Fix wrong rx request id by resetting device (Petr Oros) [2038158] - net: ena: Fix undefined state when tx request id is out of bounds (Petr Oros) [2038158] - ethernet: use eth_hw_addr_set() instead of ether_addr_copy() (Petr Oros) [2038158] - ena: Remove rcu_read_lock() around XDP program invocation (Petr Oros) [2038158] - net: ena: make symbol 'ena_alloc_map_page' static (Petr Oros) [2038158] - net: ena: fix DMA mapping function issues in XDP (Petr Oros) [2038158] - net: ena: re-organize code to improve readability (Petr Oros) [2038158] - net: ena: Use dev_alloc() in RX buffer allocation (Petr Oros) [2038158] - net: ena: aggregate doorbell common operations into a function (Petr Oros) [2038158] - net: ena: fix RST format in ENA documentation file (Petr Oros) [2038158] - net: ena: Remove module param and change message severity (Petr Oros) [2038158] - net: ena: add jiffies of last napi call to stats (Petr Oros) [2038158] - net: ena: use build_skb() in RX path (Petr Oros) [2038158] - net: ena: Improve error logging in driver (Petr Oros) [2038158] - net: ena: Remove unused code (Petr Oros) [2038158] - net: ena: optimize data access in fast-path code (Petr Oros) [2038158] - kasan, slub: reset tag when printing address (Nico Pache) [1954335] - kasan: fix Kconfig check of CC_HAS_WORKING_NOSANITIZE_ADDRESS (Nico Pache) [1954335] - Documentation: kunit: add tips for using current->kunit_test (Nico Pache) [1954335] - kunit: fix -Wunused-function warning for __kunit_fail_current_test (Nico Pache) [1954335] - kunit: support failure from dynamic analysis tools (Nico Pache) [1954335] - Add KASAN KUNIT Tests to Redhat kernel-modules-internal (Nico Pache) [1954335] - kasan, mm: fix resetting page_alloc tags for HW_TAGS (Nico Pache) [1954335] - kasan, mm: fix conflicts with init_on_alloc/free (Nico Pache) [1954335] - powerpc/uaccess: get rid of small constant size cases in raw_copy_{to,from}_user() (Nico Pache) [1954335] - kasan: remove redundant config option (Nico Pache) [1954335] - kasan: fix hwasan build for gcc (Nico Pache) [1954335] - lib/test_kasan_module.c: suppress unused var warning (Nico Pache) [1954335] - kasan: fix conflict with page poisoning (Nico Pache) [1954335] - kasan: fix per-page tags for non-page_alloc pages (Nico Pache) [1954335] - kasan: fix KASAN_STACK dependency for HW_TAGS (Nico Pache) [1954335] - kasan: clarify that only first bug is reported in HW_TAGS (Nico Pache) [1954335] - kasan: inline HW_TAGS helper functions (Nico Pache) [1954335] - kasan: ensure poisoning size alignment (Nico Pache) [1954335] - kasan, mm: optimize krealloc poisoning (Nico Pache) [1954335] - kasan, mm: fail krealloc on freed objects (Nico Pache) [1954335] - kasan: rework krealloc tests (Nico Pache) [1954335] - kasan: unify large kfree checks (Nico Pache) [1954335] - kasan: clean up setting free info in kasan_slab_free (Nico Pache) [1954335] - kasan: optimize large kmalloc poisoning (Nico Pache) [1954335] - kasan, mm: optimize kmalloc poisoning (Nico Pache) [1954335] - kasan, mm: don't save alloc stacks twice (Nico Pache) [1954335] - kasan: don't run tests when KASAN is not enabled (Nico Pache) [1954335] - kasan: add a test for kmem_cache_alloc/free_bulk (Nico Pache) [1954335] - kasan: add proper page allocator tests (Nico Pache) [1954335] - kasan: fix bug detection via ksize for HW_TAGS mode (Nico Pache) [1954335] - kasan: move _RET_IP_ to inline wrappers (Nico Pache) [1954335] - kasan: fix memory corruption in kasan_bitops_tags test (Nico Pache) [1954335] - kasan: rename CONFIG_TEST_KASAN_MODULE (Nico Pache) [1954335] - kasan: add match-all tag tests (Nico Pache) [1954335] - kasan: add macros to simplify checking test constraints (Nico Pache) [1954335] - kasan: clean up comments in tests (Nico Pache) [1954335] - kasan: clarify HW_TAGS impact on TBI (Nico Pache) [1954335] - kasan: prefix global functions with kasan_ (Nico Pache) [1954335] - kasan: fix stack traces dependency for HW_TAGS (Nico Pache) [1954335] - kasan: make addr_has_metadata() return true for valid addresses (Nico Pache) [1954335] - kasan: add explicit preconditions to kasan_report() (Nico Pache) [1954335] - kasan: fix HW_TAGS boot parameters (Nico Pache) [1954335] - kasan: fix null pointer dereference in kasan_record_aux_stack (Nico Pache) [1954335] - kasan: update documentation (Nico Pache) [1954335] - kasan, mm: allow cache merging with no metadata (Nico Pache) [1954335] - kasan: sanitize objects when metadata doesn't fit (Nico Pache) [1954335] - kasan: clarify comment in __kasan_kfree_large (Nico Pache) [1954335] - kasan: simplify assign_tag and set_tag calls (Nico Pache) [1954335] - kasan: don't round_up too much (Nico Pache) [1954335] - kasan, mm: rename kasan_poison_kfree (Nico Pache) [1954335] - kasan, mm: check kasan_enabled in annotations (Nico Pache) [1954335] - kasan: add and integrate kasan boot parameters (Nico Pache) [1954335] - kasan: inline (un)poison_range and check_invalid_free (Nico Pache) [1954335] - kasan: open-code kasan_unpoison_slab (Nico Pache) [1954335] - kasan: inline random_tag for HW_TAGS (Nico Pache) [1954335] - kasan: inline kasan_reset_tag for tag-based modes (Nico Pache) [1954335] - kasan: remove __kasan_unpoison_stack (Nico Pache) [1954335] - kasan: allow VMAP_STACK for HW_TAGS mode (Nico Pache) [1954335] - kasan, arm64: unpoison stack only with CONFIG_KASAN_STACK (Nico Pache) [1954335] - kasan: introduce set_alloc_info (Nico Pache) [1954335] - kasan: rename get_alloc/free_info (Nico Pache) [1954335] - kasan: simplify quarantine_put call site (Nico Pache) [1954335] - kasan: add documentation for hardware tag-based mode (Nico Pache) [1954335] - kasan, mm: reset tags when accessing metadata (Nico Pache) [1954335] - kasan, arm64: print report from tag fault handler (Nico Pache) [1954335] - kasan, arm64: implement HW_TAGS runtime (Nico Pache) [1954335] - kasan, arm64: expand CONFIG_KASAN checks (Nico Pache) [1954335] - string.h: fix incompatibility between FORTIFY_SOURCE and KASAN (Nico Pache) [1954335] - kasan, x86, s390: update undef CONFIG_KASAN (Nico Pache) [1954335] - kasan: define KASAN_GRANULE_SIZE for HW_TAGS (Nico Pache) [1954335] - arm64: kasan: add arch layer for memory tagging helpers (Nico Pache) [1954335] - kasan, mm: untag page address in free_reserved_area (Nico Pache) [1954335] - mm: Allow non-direct-map arguments to free_reserved_area() (Nico Pache) [1954335] - kasan: introduce CONFIG_KASAN_HW_TAGS (Nico Pache) [1954335] - kasan: separate metadata_fetch_row for each mode (Nico Pache) [1954335] - kasan: rename SHADOW layout macros to META (Nico Pache) [1954335] - kasan: rename print_shadow_for_address to print_memory_metadata (Nico Pache) [1954335] - kasan: rename addr_has_shadow to addr_has_metadata (Nico Pache) [1954335] - kasan, arm64: rename kasan_init_tags and mark as __init (Nico Pache) [1954335] - kasan, arm64: move initialization message (Nico Pache) [1954335] - kasan, arm64: only use kasan_depth for software modes (Nico Pache) [1954335] - kasan, arm64: only init shadow for software modes (Nico Pache) [1954335] - kasan: decode stack frame only with KASAN_STACK_ENABLE (Nico Pache) [1954335] - kasan: hide invalid free check implementation (Nico Pache) [1954335] - kasan: don't duplicate config dependencies (Nico Pache) [1954335] - kasan: rename report and tags files (Nico Pache) [1954335] - kasan: define KASAN_MEMORY_PER_SHADOW_PAGE (Nico Pache) [1954335] - kasan: split out shadow.c from common.c (Nico Pache) [1954335] - kasan: only build init.c for software modes (Nico Pache) [1954335] - kasan: rename KASAN_SHADOW_* to KASAN_GRANULE_* (Nico Pache) [1954335] - kasan: rename (un)poison_shadow to (un)poison_range (Nico Pache) [1954335] - fork: support VMAP_STACK with KASAN_VMALLOC (Nico Pache) [1954335] - kasan: shadow declarations only for software modes (Nico Pache) [1954335] - kasan: group vmalloc code (Nico Pache) [1954335] - kasan: KASAN_VMALLOC depends on KASAN_GENERIC (Nico Pache) [1954335] - kasan: drop unnecessary GPL text from comment headers (Nico Pache) [1954335] - kasan: update documentation for generic kasan (Nico Pache) [1954335] - kasan: print workqueue stack (Nico Pache) [1954335] - kasan: fix object remaining in offline per-cpu quarantine (Nico Pache) [1954335] - kasan: adopt KUNIT tests to SW_TAGS mode (Nico Pache) [1954335] - docs: kasan.rst: add two missing blank lines (Nico Pache) [1954335] - mm: kasan: do not panic if both panic_on_warn and kasan_multishot set (Nico Pache) [1954335] - KASAN: Testing Documentation (Nico Pache) [1954335] - KASAN: port KASAN Tests to KUnit (Nico Pache) [1954335] - KUnit: KASAN Integration (Nico Pache) [1954335] - kasan/kunit: add KUnit Struct to Current Task (Nico Pache) [1954335] - kasan: remove mentions of unsupported Clang versions (Nico Pache) [1954335] - kbuild: move CFLAGS_{KASAN,UBSAN,KCSAN} exports to relevant Makefiles (Nico Pache) [1954335] - s390/kasan: make shadow memory noexec (Nico Pache) [1954335] - kasan: adjust kasan_stack_oob for tag-based mode (Nico Pache) [1954335] - kasan: allow enabling stack tagging for tag-based mode (Nico Pache) [1954335] - kasan: don't tag stacks allocated with pagealloc (Nico Pache) [1954335] - lib/test_kasan.c: fix KASAN unit tests for tag-based KASAN (Nico Pache) [1954335] - kasan: remove kasan_unpoison_stack_above_sp_to() (Nico Pache) [1954335] - kasan: add tests for call_rcu stack recording (Nico Pache) [1954335] - kprobes: Remove show_registers() function prototype (Nico Pache) [1954335] - kasan: stop tests being eliminated as dead code with FORTIFY_SOURCE (Nico Pache) [1954335] - kasan: move kasan_report() into report.c (Nico Pache) [1954335] - kasan: stackdepot: move filter_irq_stacks() to stackdepot.c (Nico Pache) [1954335] - lib/stackdepot.c: check depot_index before accessing the stack slab (Nico Pache) [1954335] - lib/stackdepot: Remove obsolete functions (Nico Pache) [1954335] - kasan: add test for invalid size in memmove (Nico Pache) [1954335] - mm/memory-failure.c: use page_shift() in add_to_kill() (Nico Pache) [1954335] - x86: get rid of small constant size cases in raw_copy_{to,from}_user() (Nico Pache) [1954335] - s390/kasan: add KASAN_VMALLOC support (Nico Pache) [1954335] - s390: move vmalloc option parsing to startup code (Nico Pache) [1954335] - kasan: add test for vmalloc (Nico Pache) [1954335] - ehea: replace with page_shift() in ehea_is_hugepage() (Nico Pache) [1954335] - mm: introduce page_shift() (Nico Pache) [1954335] - lib/test_kasan.c: add roundtrip tests (Nico Pache) [1954335] - lib/test_kasan: Add test for double-kzfree detection (Nico Pache) [1954335] - lib/test_kasan: add bitops tests (Nico Pache) [1954335] - asm-generic, x86: add bitops instrumentation for KASAN (Nico Pache) [1954335] - x86: use static_cpu_has in uaccess region to avoid instrumentation (Nico Pache) [1954335] - x86/asm: Use stricter assembly constraints in bitops (Nico Pache) [1954335] - x86/asm: Remove dead __GNUC__ conditionals (Nico Pache) [1954335] - s390/kasan: adapt disabled_wait usage to avoid build error (Nico Pache) [1954335] - s390: simplify disabled_wait (Nico Pache) [1954335] - lib/test_kasan.c: add tests for several string/memory API functions (Nico Pache) [1954335] - arm64: Fix typo in a comment in arch/arm64/mm/kasan_init.c (Nico Pache) [1954335] - kprobes: Remove jprobe stub API (Nico Pache) [1954335] - Documentation/kprobes: Add how to change the execution path (Nico Pache) [1954335] - kprobes/x86: Do not disable preempt on int3 path (Nico Pache) [1954335] - bpf/error-inject/kprobes: Clear current_kprobe and enable preempt in kprobe (Nico Pache) [1954335] - s390/kprobes: Don't call the ->break_handler() in s390 kprobes code (Nico Pache) [1954335] - powerpc/kprobes: Don't call the ->break_handler() in powerpc kprobes code (Nico Pache) [1954335] - arm64/kprobes: Don't call the ->break_handler() in arm64 kprobes code (Nico Pache) [1954335] - kprobes/x86: Don't call the ->break_handler() in x86 kprobes (Nico Pache) [1954335] - kprobes: Don't check the ->break_handler() in generic kprobes code (Nico Pache) [1954335] - kprobes/x86: Remove jprobe implementation (Nico Pache) [1954335] - s390/kprobes: Remove jprobe implementation (Nico Pache) [1954335] - powerpc/kprobes: Remove jprobe powerpc implementation (Nico Pache) [1954335] - arm64/kprobes: Remove jprobe implementation (Nico Pache) [1954335] - kprobes: Remove jprobe API implementation (Nico Pache) [1954335] - Documentation/kprobes: Remove jprobes related leftover (Nico Pache) [1954335] - redhat: config: explicitly set CONFIG_ARM64_VA_BITS_48 for ARM64 (Nico Pache) [1954335] - arm64: mm: use a 48-bit ID map when possible on 52-bit VA builds (Nico Pache) [1954335] - arm64: mm: limit linear region to 51 bits for KVM in nVHE mode (Nico Pache) [1954335] - Documentation/arm64: fix RST layout of memory.rst (Nico Pache) [1954335] - arm64: mm: Remove MAX_USER_VA_BITS definition (Nico Pache) [1954335] - arm64: Use simpler arithmetics for the linear map macros (Nico Pache) [1954335] - arm64: mm: use single quantity to represent the PA to VA translation (Nico Pache) [1954335] - kasan/arm64: fix CONFIG_KASAN_SW_TAGS && KASAN_INLINE (Nico Pache) [1954335] - arm64: Do not pass tagged addresses to __is_lm_address() (Nico Pache) [1954335] - arm64: Fix kernel address detection of __is_lm_address() (Nico Pache) [1954335] - arm64: mm: extend linear region for 52-bit VA configurations (Nico Pache) [1954335] - arm64: Fix kcore macros after 52-bit virtual addressing fallout (Nico Pache) [1954335] - arm64: fix fixmap copy for 16K pages and 48-bit VA (Nico Pache) [1954335] - arm64: memory: rename VA_START to PAGE_END (Nico Pache) [1954335] - arm64: memory: Simplify _VA_START and _PAGE_OFFSET definitions (Nico Pache) [1954335] - arm64: memory: fix flipped VA space fallout (Nico Pache) [1954335] - arm64: memory: Fix virt_addr_valid() using __is_lm_address() (Nico Pache) [1954335] - arm64: memory: Ensure address tag is masked in conversion macros (Nico Pache) [1954335] - arm64: mm: Simplify definition of virt_addr_valid() (Nico Pache) [1954335] - docs: arm64: Add layout and 52-bit info to memory document (Nico Pache) [1954335] - arm64: mm: Remove vabits_user (Nico Pache) [1954335] - arm64: mm: Introduce 52-bit Kernel VAs (Nico Pache) [1954335] - arm64: mm: Modify calculation of VMEMMAP_SIZE (Nico Pache) [1954335] - arm64: mm: Separate out vmemmap (Nico Pache) [1954335] - arm64: mm: Logic to make offset_ttbr1 conditional (Nico Pache) [1954335] - arm64: mm: Introduce vabits_actual (Nico Pache) [1954335] - arm64: Print physical address of page table base in show_pte() (Nico Pache) [1954335] - arm64: mm: Introduce VA_BITS_MIN (Nico Pache) [1954335] - arm64: dump: De-constify VA_START and KASAN_SHADOW_START (Nico Pache) [1954335] - arm64: kasan: Switch to using KASAN_SHADOW_OFFSET (Nico Pache) [1954335] - arm64: mm: Flip kernel VA space (Nico Pache) [1954335] - arm64: mm: Remove bit-masking optimisations for PAGE_OFFSET and VMEMMAP_START (Nico Pache) [1954335] - arm64: dump: Use consistent capitalisation for page-table dumps (Nico Pache) [1954335] - kernel/rwsem: Use proper directories for rwsem_init.c (Scott Wood) [2040087] - redhat: Cleanup use of mark_hardware_removed (Prarit Bhargava) [2019378] - redhat: Cleanup use of mark_hardware_unsupported (Prarit Bhargava) [2019378] - redhat: clean up mark_hardware_deprecated() (Prarit Bhargava) [2019378] - nvme: Mark NVMe over FC Target support unmaintained (Prarit Bhargava) [2019378] - hdlc_fr: Mark driver unmaintained (Prarit Bhargava) [2019378] - sfc: Mark siena driver deprecated (Prarit Bhargava) [2019378] - qla3xxx: Mark driver unmaintained (Prarit Bhargava) [2019378] - netxen: Mark nic driver unmaintained (Prarit Bhargava) [2019378] - ethoc: Mark driver unmaintained (Prarit Bhargava) [2019378] - dnet: Mark driver unmaintained (Prarit Bhargava) [2019378] - drivers/pci/pci-driver.c: Fix if/ifdef typo (Prarit Bhargava) [2019378] - kernel/rh_taint.c: Update to new messaging (Prarit Bhargava) [2019378] - drm/i915/dmc: Change max DMC FW size on ADL-P (Michel Dänzer) [1988103] - drm/i915: Add workaround numbers to GEN7_COMMON_SLICE_CHICKEN1 whitelisting (Michel Dänzer) [1988103] - drm/i915: Fix Memory BW formulae for ADL-P (Michel Dänzer) [1988103] - drm/i915: Restore memory mapping for DPT FBs across system suspend/resume (Michel Dänzer) [1988103] - drm/i915: Factor out i915_ggtt_suspend_vm/i915_ggtt_resume_vm() (Michel Dänzer) [1988103] - drm/i915/adlp/fb: Remove restriction on CCS AUX plane strides (Michel Dänzer) [1988103] - drm/i915/adlp/fb: Remove restriction on semiplanar UV plane offset (Michel Dänzer) [1988103] - drm/i915/fb: Rename i915_color_plane_view::stride to mapping_stride (Michel Dänzer) [1988103] - drm/i915/adlp/fb: Fix remapping of linear CCS AUX surfaces (Michel Dänzer) [1988103] - drm/i915/fb: Factor out functions to remap contiguous FB obj pages (Michel Dänzer) [1988103] - drm/i915/adlp/fb: Prevent the mapping of redundant trailing padding NULL pages (Michel Dänzer) [1988103] - drm/i915: Add functions to check for RC CCS CC and MC CCS modifiers (Michel Dänzer) [1988103] - drm/i915: Move is_ccs_modifier() to intel_fb.c (Michel Dänzer) [1988103] - drm/i915: Add a platform independent way to check for CCS AUX planes (Michel Dänzer) [1988103] - drm/i915: Handle CCS CC planes separately from CCS AUX planes (Michel Dänzer) [1988103] - drm/i915: Add a platform independent way to get the RC CCS CC plane (Michel Dänzer) [1988103] - drm/i915: Move intel_format_info_is_yuv_semiplanar() to intel_fb.c (Michel Dänzer) [1988103] - drm/i915: Unexport is_semiplanar_uv_plane() (Michel Dänzer) [1988103] - drm/i915: Simplify the modifier check for interlaced scanout support (Michel Dänzer) [1988103] - drm/i915: Add tiling attribute to the modifier descriptor (Michel Dänzer) [1988103] - drm/i915: Move intel_get_format_info() to intel_fb.c (Michel Dänzer) [1988103] - drm/i915: Add a table with a descriptor for all i915 modifiers (Michel Dänzer) [1988103] - drm/i915/adlp: Implement workaround 16013190616 (Michel Dänzer) [1988103] - drm/i915/adlp: Extend PSR2 support in transcoder B (Michel Dänzer) [1988103] - drm/i915/display: Wait PSR2 get out of deep sleep to update pipe (Michel Dänzer) [1988103] - drm/i915/display/adlp: Allow PSR2 to be enabled (Michel Dänzer) [1988103] - drm/i915/display/adlp: Optimize PSR2 power-savings in corner cases (Michel Dänzer) [1988103] - drm/i915/display: Fix glitches when moving cursor with PSR2 selective fetch enabled (Michel Dänzer) [1988103] - drm/i915/display: Handle frontbuffer rendering when PSR2 selective fetch is enabled (Michel Dänzer) [1988103] - drm/i915/display: Drop unnecessary frontbuffer flushes (Michel Dänzer) [1988103] - drm/i915/display/psr: Do full fetch when handling multi-planar formats (Michel Dänzer) [1988103] - drm/i915/display/psr: Handle plane and pipe restrictions at every page flip (Michel Dänzer) [1988103] - drm/i915/display: Only keep PSR enabled if there is active planes (Michel Dänzer) [1988103] - drm/i915/display: Match PSR2 selective fetch sequences with specification (Michel Dänzer) [1988103] - drm/i915/display/dmc: Set DC_STATE_DEBUG_MASK_CORES after firmware load (Michel Dänzer) [1988103] - drm/i915: Nuke intel_prepare_shared_dpll() (Michel Dänzer) [1988103] - drm/i915: Fold ibx_pch_dpll_prepare() into ibx_pch_dpll_enable() (Michel Dänzer) [1988103] - drm/i915: Fold i9xx_set_pll_dividers() into i9xx_enable_pll() (Michel Dänzer) [1988103] - drm/i915: Reuse ilk_needs_fb_cb_tune() for the reduced clock as well (Michel Dänzer) [1988103] - drm/i915: Call {vlv,chv}_prepare_pll() from {vlv,chv}_enable_pll() (Michel Dänzer) [1988103] - drm/i915: Program DPLL P1 dividers consistently (Michel Dänzer) [1988103] - drm/i915: Remove the 'reg' local variable (Michel Dänzer) [1988103] - drm/i915: Clean up variable names in old dpll functions (Michel Dänzer) [1988103] - drm/i915: Clean dpll calling convention (Michel Dänzer) [1988103] - drm/i915: Constify struct dpll all over (Michel Dänzer) [1988103] - drm/i915: Extract ilk_update_pll_dividers() (Michel Dänzer) [1988103] - drm/i915: Clean up gen2 DPLL readout (Michel Dänzer) [1988103] - drm/i915: Set output_types to EDP for vlv/chv DPLL forcing (Michel Dänzer) [1988103] - drm/i915: Silence __iomem sparse warn (Michel Dänzer) [1988103] - drm/i915: split fdi link training from display vtable. (Michel Dänzer) [1988103] - drm/i915: split irq hotplug function from display vtable (Michel Dänzer) [1988103] - drm/i915: split cdclk functions from display vtable. (Michel Dänzer) [1988103] - drm/i915: split audio functions from display vtable (Michel Dänzer) [1988103] - drm/i915: split color functions from display vtable (Michel Dänzer) [1988103] - drm/i915: split watermark vfuncs from display vtable. (Michel Dänzer) [1988103] - drm/i915: split clock gating init from display vtable (Michel Dänzer) [1988103] - drm/i915/display: add intel_fdi_link_train wrapper. (Michel Dänzer) [1988103] - drm/i915: add wrappers around cdclk vtable funcs. (Michel Dänzer) [1988103] - drm/i915/wm: provide wrappers around watermark vfuncs calls (v3) (Michel Dänzer) [1988103] - drm/i915: make update_wm take a dev_priv. (Michel Dänzer) [1988103] - drm/i915/pm: drop get_fifo_size vfunc. (Michel Dänzer) [1988103] - drm/i915: Clean up pre-skl wm calling convention (Michel Dänzer) [1988103] - drm/i915/dmc: Update to DMC v2.12 (Michel Dänzer) [1988103] - drm/i915: Implement PSF GV point support (Michel Dänzer) [1988103] - drm/i915: Extend QGV point restrict mask to 0x3 (Michel Dänzer) [1988103] - drm/i915/display: Disable audio, DRRS and PSR before planes (Michel Dänzer) [1988103] - drm/i915: Make display workaround upper bounds exclusive (Michel Dänzer) [1988103] - drm/i915: Program DFR enable/disable as a GT workaround (Michel Dänzer) [1988103] - drm/i915/step: s/_revid_tbl/_revids (Michel Dänzer) [1988103] - drm/i915/display: Settle on "adl-x" in WA comments (Michel Dänzer) [1988103] - drm/i915: Settle on "adl-x" in WA comments (Michel Dänzer) [1988103] - drm/i915/display/adlp: Disable underrun recovery (Michel Dänzer) [1988103] - drm/i915/tc: Fix system hang on ADL-P during TypeC PHY disconnect (Michel Dänzer) [1988103] - drm/i915/tc: Drop extra TC cold blocking from intel_tc_port_connected() (Michel Dänzer) [1988103] - drm/i915/tc: Fix TypeC PHY connect/disconnect logic on ADL-P (Michel Dänzer) [1988103] - drm/i915/icl/tc: Remove the ICL special casing during TC-cold blocking (Michel Dänzer) [1988103] - drm/i915/tc: Avoid using legacy AUX PW in TBT mode (Michel Dänzer) [1988103] - drm/i915/tc: Refactor TC-cold block/unblock helpers (Michel Dänzer) [1988103] - drm/i915/tc: Add a mode for the TypeC PHY's disconnected state (Michel Dänzer) [1988103] - drm/i915/tc: Don't keep legacy TypeC ports in connected state w/o a sink (Michel Dänzer) [1988103] - drm/i915/tc: Add/use helpers to retrieve TypeC port properties (Michel Dänzer) [1988103] - drm/i915/tc: Check for DP-alt, legacy sinks before taking PHY ownership (Michel Dänzer) [1988103] - drm/i915/tc: Remove waiting for PHY complete during releasing ownership (Michel Dänzer) [1988103] - drm/i915/adlp/tc: Fix PHY connected check for Thunderbolt mode (Michel Dänzer) [1988103] - drm/i915: Force a TypeC PHY disconnect during suspend/shutdown (Michel Dänzer) [1988103] - drm/i915/adlp: Add support for remapping CCS FBs (Michel Dänzer) [1988103] - drm/i915: Follow a new->old platform check order in intel_fb_stride_alignment (Michel Dänzer) [1988103] - drm/i915/adlp: Assert that VMAs in DPT start at 0 (Michel Dänzer) [1988103] - drm/i915/adlp: Require always a power-of-two sized CCS surface stride (Michel Dänzer) [1988103] - drm/i915: Use tile block based dimensions for CCS origin x, y check (Michel Dänzer) [1988103] - drm/i915/fb: move user framebuffer stuff to intel_fb.c (Michel Dänzer) [1988103] - drm/i915/display: split out dpt out of intel_display.c (Michel Dänzer) [1988103] - drm/i915/fb: move intel_surf_alignment() to intel_fb.c (Michel Dänzer) [1988103] - drm/i915: add HAS_ASYNC_FLIPS feature macro (Michel Dänzer) [1988103] - drm/i915/fb: move intel_fb_align_height() to intel_fb.c (Michel Dänzer) [1988103] - drm/i915/fb: move intel_tile_width_bytes() to intel_fb.c (Michel Dänzer) [1988103] - drm/i915/display/adlp: Add new PSR2 workarounds (Michel Dänzer) [1988103] - drm/i915: Program chicken bit during DP MST sequence on TGL+ (Michel Dänzer) [1988103] - drm/i915/display: Workaround cursor left overs with PSR2 selective fetch enabled (Michel Dänzer) [1988103] - drm/i915/display/adlp: Fix PSR2_MAN_TRK_CTL_SU_REGION_END_ADDR calculation (Michel Dänzer) [1988103] - drm/i915: Update memory bandwidth parameters (Michel Dänzer) [1988103] - drm/i915/dp: fix for ADL_P/S dp/edp max source rates (Michel Dänzer) [1988103] - drm/i915/dp: fix DG1 and RKL max source rates (Michel Dänzer) [1988103] - drm/i915/dp: fix EHL/JSL max source rates calculation (Michel Dänzer) [1988103] - drm/i915/dp: fix TGL and ICL max source rates (Michel Dänzer) [1988103] - drm/i915/dp: Fix eDP max rate for display 11+ (Michel Dänzer) [1988103] - drm/i915/dp: fix DG2 max source rate check (Michel Dänzer) [1988103] - drm/i915/dg2: add DG2 UHBR source rates (Michel Dänzer) [1988103] - drm/i915/display: remove explicit CNL handling from intel_dp.c (Michel Dänzer) [1988103] - drm/i915/dsi/xelpd: Enable mipi dsi support. (Michel Dänzer) [1988103] - drm/i915/dsi/xelpd: Add WA to program LP to HS wakeup guardband (Michel Dänzer) [1988103] - drm/i915/display: Update small joiner ram size (Michel Dänzer) [1988103] - drm/i915/adl_p: Also disable underrun recovery with MSO (Michel Dänzer) [1988103] - drm/i915/display/adl_p: Correctly program MBUS DBOX A credits (Michel Dänzer) [1988103] - drm/i915: Apply CMTG clock disabling WA while DPLL0 is enabled (Michel Dänzer) [1988103] - drm/i915/adl_p: Add ddi buf translation tables for combo PHY (Michel Dänzer) [1988103] - drm/i915/adl_s: Update ddi buf translation tables (Michel Dänzer) [1988103] - drm/i915: Add the missing adls vswing tables (Michel Dänzer) [1988103] - drm/i915/adlp: Add workaround to disable CMTG clock gating (Michel Dänzer) [1988103] - drm/i915/adl_p: Allow underrun recovery when possible (Michel Dänzer) [1988103] - drm/i915: Add dummy IS_DG2 definition (Michel Dänzer) [1988103] - drm/i915: Extend Wa_1406941453 to adl-p (Michel Dänzer) [1988103] - drm/i915/display/adl_p: Implement PSR changes (Michel Dänzer) [1988103] - drm/i915/debugfs: DISPLAY_VER 13 lpsp capability (Michel Dänzer) [1988103] - drm/i915/adlp: Add ADL-P GuC/HuC firmware files (Michel Dänzer) [1988103] - drm/i915/huc: Update TGL and friends to HuC 7.9.3 (Michel Dänzer) [1988103] - drm/i915/guc: Update firmware to v62.0.0 (Michel Dänzer) [1988103] - drm/i915/guc: Introduce unified HXG messages (Michel Dänzer) [1988103] - drm/i915/display/adl_p: Implement Wa_16011303918 (Michel Dänzer) [1988103] - drm/i915/xelpd: Handle PSR2 SDP indication in the prior scanline (Michel Dänzer) [1988103] - drm/i915/display/psr: Handle SU Y granularity (Michel Dänzer) [1988103] - drm/i915/display/adl_p: Implement Wa_16011168373 (Michel Dänzer) [1988103] - drm/i915/display/adl_p: Implement Wa_22012278275 (Michel Dänzer) [1988103] - drm/i915: Nuke buf_trans hdmi functions (Michel Dänzer) [1988103] - drm/i915: Clean up jsl/ehl buf trans functions (Michel Dänzer) [1988103] - drm/i915: Fix ehl edp hbr2 vswing table (Michel Dänzer) [1988103] - drm/i915: Deduplicate icl DP HBR2 vs. eDP HBR3 table (Michel Dänzer) [1988103] - drm/i915: Fix dg1 buf trans tables (Michel Dänzer) [1988103] - drm/i915: Introduce rkl_get_combo_buf_trans() (Michel Dänzer) [1988103] - drm/i915: Clean up hsw/bdw/skl/kbl buf trans funcs (Michel Dänzer) [1988103] - drm/i915: Introduce encoder->get_buf_trans() (Michel Dänzer) [1988103] - drm/i915: Store the HDMI default entry in the bug trans struct (Michel Dänzer) [1988103] - drm/i915; Return the whole buf_trans struct from get_buf_trans() (Michel Dänzer) [1988103] - drm/i915: Introduce intel_get_buf_trans() (Michel Dänzer) [1988103] - drm/i915: Wrap the buf trans tables into a struct (Michel Dänzer) [1988103] - drm/i915: Rename dkl phy buf trans tables (Michel Dänzer) [1988103] - drm/i915: Wrap the platform specific buf trans structs into a union (Michel Dänzer) [1988103] - drm/i915: Introduce hsw_get_buf_trans() (Michel Dänzer) [1988103] - drm/i915: s/intel/hsw/ for hsw/bdw/skl buf trans (Michel Dänzer) [1988103] - drm/i915/adl_p: Load DMC (Michel Dänzer) [1988103] - drm/i915/adl_p: Pipe B DMC Support (Michel Dänzer) [1988103] - drm/i915/xelpd: Pipe A DMC plugging (Michel Dänzer) [1988103] - drm/i915/dmc: Introduce DMC_FW_MAIN (Michel Dänzer) [1988103] - drm/i915/adl_p: Add initial ADL_P Workarounds (Michel Dänzer) [1988103] - drm/i915/xelpd: break feature inheritance (Michel Dänzer) [1988103] - backlight: backlight: Make of_find_backlight static (Jérôme Glisse) [1988103] - backlight: backlight: Drop backlight_put() (Jérôme Glisse) [1988103] - backlight: backlight: Introduce backlight_get_brightness() (Jérôme Glisse) [1988103] - backlight: backlight: Drop extern from prototypes (Jérôme Glisse) [1988103] - backlight: generic_bl: Remove this driver as it is unused (Michel Dänzer) [1988103] - backlight: backlight: Document enums in backlight.h (Jérôme Glisse) [1988103] - backlight: backlight: Document inline functions in backlight.h (Jérôme Glisse) [1988103] - backlight: backlight: Improve backlight_device documentation (Jérôme Glisse) [1988103] - backlight: backlight: Improve backlight_properties documentation (Jérôme Glisse) [1988103] - backlight: backlight: Improve backlight_ops documentation (Jérôme Glisse) [1988103] - backlight: backlight: Add backlight_is_blank() (Jérôme Glisse) [1988103] - backlight: Add backlight_device_get_by_name() (Jérôme Glisse) [1988103] - backlight: Expose brightness curve type through sysfs (Michel Dänzer) [1988103] - backlight: Remove obsolete comment for ->state (Jérôme Glisse) [1988103] - x86/gpu: add JasperLake to gen11 early quirks (Michel Dänzer) [1988103] - drm/i915/adl_p: ADL_P device info enabling (Michel Dänzer) [1988103] - redhat/configs: Disable CONFIG_DRM_VMWGFX on aarch64 (Michel Dänzer) [1988103] - drm/amd/display: Reduce stack size for dml31 UseMinimumDCFCLK (Michel Dänzer) [1988103] - drm/amd/display: Reduce stack size for dml31_ModeSupportAndSystemConfigurationFull (Michel Dänzer) [1988103] - drm/amdgpu: Initialize max/min_dpm_level (Michel Dänzer) [1988103] - redhat/configs: Disable CONFIG_HSA_AMD_SVM for now (Michel Dänzer) [1988103] - i915: Convert to older tasklet API (Michel Dänzer) [1988103] - drm/ttm: Include asm/pgtable.h (Michel Dänzer) [1988103] - Merge DRM changes from upstream v5.13..v5.14.21 (Michel Dänzer) [1988103] - PCI: Add support for dev_groups to struct pci_driver (Jérôme Glisse) [1988103] - drm: Initialize some local variables to avoid compiler warnings (Jérôme Glisse) [1988103] - drm: Use swiotlb_nr_tbl instead of is_swiotlb_active (Jérôme Glisse) [1988103] - i915: Use mdev_type_kobj_to_group_id instead of mtype_get_type_group_id (Jérôme Glisse) [1988103] - i915: Convert to older tasklet API (Jérôme Glisse) [1988103] - drm: Drop const from list_sort compare function prototypes (Jérôme Glisse) [1988103] - Merge DRM changes from upstream v5.12.14..v5.13 (Michel Dänzer) [1988103] - vfio/mdev: add helper to get index of mdev_type sysfs file (Jérôme Glisse) [1988103] - drm/syncobj: make lockdep complain on WAIT_FOR_SUBMIT v3 (Jérôme Glisse) [1988103] - Revert "drm/i915: Implement Wa_1508744258" (Michel Dänzer) [1988103] - Revert "drm/i915: Add the missing adls vswing tables" (Michel Dänzer) [1988103] - x86/gpu: Add Alderlake-S stolen memory support (Michel Dänzer) [1988103] - x86/gpu: add RKL stolen memory support (Michel Dänzer) [1988103] - x86/gpu: add TGL stolen memory support (Michel Dänzer) [1988103] - x86/gpu: add ElkhartLake to gen11 early quirks (Michel Dänzer) [1988103] - x86/gpu: reserve ICL's graphics stolen memory (Michel Dänzer) [1988103] - selftest/x86/signal: Include test cases for validating sigaltstack (Prarit Bhargava) [1837321] - x86/signal: Detect and prevent an alternate signal stack overflow (Prarit Bhargava) [1837321] - selftest/sigaltstack: Use the AT_MINSIGSTKSZ aux vector if available (Prarit Bhargava) [1837321] - x86/fpu: Additional cleanups (Prarit Bhargava) [1837321] - binfmt_elf: Respect error return from `regset->active' (Prarit Bhargava) [1837321] - x86/fpu: Optimize out sigframe xfeatures when in init state (Prarit Bhargava) [1837321] - Documentation/x86: Add documentation for using dynamic XSTATE features (Prarit Bhargava) [1837321] - selftests/x86/amx: Add context switch test (Prarit Bhargava) [1837321] - selftests/x86/amx: Add test cases for AMX state management (Prarit Bhargava) [1837321] - x86/fpu: Include vmalloc.h for vzalloc() (Prarit Bhargava) [1837321] - x86/fpu/amx: Enable the AMX feature in 64-bit mode (Prarit Bhargava) [1837321] - x86/fpu: Add XFD handling for dynamic states (Prarit Bhargava) [1837321] - x86/fpu: Calculate the default sizes independently (Prarit Bhargava) [1837321] - x86/fpu/amx: Define AMX state components and have it used for boot-time checks (Prarit Bhargava) [1837321] - x86/fpu/xstate: Prepare XSAVE feature table for gaps in state component numbers (Prarit Bhargava) [1837321] - x86/fpu/xstate: Add fpstate_realloc()/free() (Prarit Bhargava) [1837321] - x86/fpu/xstate: Add XFD #NM handler (Prarit Bhargava) [1837321] - x86/fpu: Update XFD state where required (Prarit Bhargava) [1837321] - x86/fpu: Add sanity checks for XFD (Prarit Bhargava) [1837321] - x86/fpu: Add XFD state to fpstate (Prarit Bhargava) [1837321] - x86/msr-index: Add MSRs for XFD (Prarit Bhargava) [1837321] - x86/cpufeatures: Add eXtended Feature Disabling (XFD) feature bit (Prarit Bhargava) [1837321] - x86/fpu: Reset permission and fpstate on exec() (Prarit Bhargava) [1837321] - x86/fpu: Prepare fpu_clone() for dynamically enabled features (Prarit Bhargava) [1837321] - x86/fpu/signal: Prepare for variable sigframe length (Prarit Bhargava) [1837321] - x86/signal: Use fpu::__state_user_size for sigalt stack validation (Prarit Bhargava) [1837321] - x86/fpu: Add basic helpers for dynamically enabled features (Prarit Bhargava) [1837321] - x86/arch_prctl: Add controls for dynamic XSTATE components (Prarit Bhargava) [1837321] - x86/fpu: Add fpu_state_config::legacy_features (Prarit Bhargava) [1837321] - x86/fpu: Add members to struct fpu to cache permission information (Prarit Bhargava) [1837321] - x86/fpu/xstate: Provide xstate_calculate_size() (Prarit Bhargava) [1837321] - x86/signal: Implement sigaltstack size validation (Prarit Bhargava) [1837321] - signal: Add an optional check for altstack size (Prarit Bhargava) [1837321] - x86/fpu: Remove old KVM FPU interface (Prarit Bhargava) [1837321] - x86/kvm: Convert FPU handling to a single swap buffer (Prarit Bhargava) [1837321] - x86/fpu: Provide infrastructure for KVM FPU cleanup (Prarit Bhargava) [1837321] - x86/fpu: Prepare for sanitizing KVM FPU code (Prarit Bhargava) [1837321] - x86/fpu/xstate: Move remaining xfeature helpers to core (Prarit Bhargava) [1837321] - x86/fpu: Rework restore_regs_from_fpstate() (Prarit Bhargava) [1837321] - x86/fpu: Mop up xfeatures_mask_uabi() (Prarit Bhargava) [1837321] - x86/fpu: Move xstate feature masks to fpu_*_cfg (Prarit Bhargava) [1837321] - x86/fpu: Move xstate size to fpu_*_cfg (Prarit Bhargava) [1837321] - x86/fpu/xstate: Cleanup size calculations (Prarit Bhargava) [1837321] - x86/fpu: Cleanup fpu__init_system_xstate_size_legacy() (Prarit Bhargava) [1837321] - x86/fpu: Provide struct fpu_config (Prarit Bhargava) [1837321] - x86/fpu/signal: Use fpstate for size and features (Prarit Bhargava) [1837321] - x86/fpu/xstate: Use fpstate for copy_uabi_to_xstate() (Prarit Bhargava) [1837321] - x86/fpu: Use fpstate in __copy_xstate_to_uabi_buf() (Prarit Bhargava) [1837321] - x86/fpu: Use fpstate in fpu_copy_kvm_uabi_to_fpstate() (Prarit Bhargava) [1837321] - x86/fpu/xstate: Use fpstate for xsave_to_user_sigframe() (Prarit Bhargava) [1837321] - x86/fpu/xstate: Use fpstate for os_xsave() (Prarit Bhargava) [1837321] - x86/fpu: Use fpstate::size (Prarit Bhargava) [1837321] - x86/fpu: Add size and mask information to fpstate (Prarit Bhargava) [1837321] - x86/process: Move arch_thread_struct_whitelist() out of line (Prarit Bhargava) [1837321] - x86/fpu: Do not leak fpstate pointer on fork (Prarit Bhargava) [1837321] - x86/fpu: Remove fpu::state (Prarit Bhargava) [1837321] - x86/math-emu: Convert to fpstate (Prarit Bhargava) [1837321] - x86/fpu/core: Convert to fpstate (Prarit Bhargava) [1837321] - x86/fpu/signal: Convert to fpstate (Prarit Bhargava) [1837321] - x86/fpu/regset: Convert to fpstate (Prarit Bhargava) [1837321] - x86/fpu: Convert tracing to fpstate (Prarit Bhargava) [1837321] - x86/KVM: Convert to fpstate (Prarit Bhargava) [1837321] - x86/fpu: Replace KVMs xstate component clearing (Prarit Bhargava) [1837321] - x86/fpu: Convert restore_fpregs_from_fpstate() to struct fpstate (Prarit Bhargava) [1837321] - x86/fpu: Convert fpstate_init() to struct fpstate (Prarit Bhargava) [1837321] - fpu/types.h: KABI fix Part I (Prarit Bhargava) [1837321] - x86/fpu: Provide struct fpstate (Prarit Bhargava) [1837321] - x86/fpu: Replace KVMs home brewed FPU copy to user (Prarit Bhargava) [1837321] - x86/fpu: Provide a proper function for ex_handler_fprestore() (Prarit Bhargava) [1837321] - x86/fpu: Replace the includes of fpu/internal.h (Prarit Bhargava) [1837321] - x86/fpu: Mop up the internal.h leftovers (Prarit Bhargava) [1837321] - x86/sev: Include fpu/xcr.h (Prarit Bhargava) [1837321] - x86/fpu: Remove internal.h dependency from fpu/signal.h (Prarit Bhargava) [1837321] - x86/fpu: Move fpstate functions to api.h (Prarit Bhargava) [1837321] - x86/fpu: Move mxcsr related code to core (Prarit Bhargava) [1837321] - x86/fpu: Move fpregs_restore_userregs() to core (Prarit Bhargava) [1837321] - x86/fpu: Make WARN_ON_FPU() private (Prarit Bhargava) [1837321] - x86/fpu: Move legacy ASM wrappers to core (Prarit Bhargava) [1837321] - x86/fpu: Move os_xsave() and os_xrstor() to core (Prarit Bhargava) [1837321] - x86/fpu: Make os_xrstor_booting() private (Prarit Bhargava) [1837321] - x86/fpu: Clean up CPU feature tests (Prarit Bhargava) [1837321] - x86/fpu: Move context switch and exit to user inlines into sched.h (Prarit Bhargava) [1837321] - x86/fpu: Mark fpu__init_prepare_fx_sw_frame() as __init (Prarit Bhargava) [1837321] - x86/fpu: Rework copy_xstate_to_uabi_buf() (Prarit Bhargava) [1837321] - x86/fpu: Replace KVMs home brewed FPU copy from user (Prarit Bhargava) [1837321] - x86/fpu: Move KVMs FPU swapping to FPU core (Prarit Bhargava) [1837321] - x86/fpu/xstate: Mark all init only functions __init (Prarit Bhargava) [1837321] - x86/fpu/xstate: Provide and use for_each_xfeature() (Prarit Bhargava) [1837321] - x86/fpu: Cleanup xstate xcomp_bv initialization (Prarit Bhargava) [1837321] - x86/fpu: Do not inherit FPU context for kernel and IO worker threads (Prarit Bhargava) [1837321] - x86/process: Clone FPU in copy_thread() (Prarit Bhargava) [1837321] - x86/fpu: Remove pointless memset in fpu_clone() (Prarit Bhargava) [1837321] - x86/fpu: Cleanup the on_boot_cpu clutter (Prarit Bhargava) [1837321] - x86/fpu: Restrict xsaves()/xrstors() to independent states (Prarit Bhargava) [1837321] - x86/pkru: Remove useless include (Prarit Bhargava) [1837321] - x86/fpu: Update stale comments (Prarit Bhargava) [1837321] - x86/fpu: Remove pointless argument from switch_fpu_finish() (Prarit Bhargava) [1837321] - x86/fpu: Mask out the invalid MXCSR bits properly (Prarit Bhargava) [1837321] - x86/fpu: Restore the masking out of reserved MXCSR bits (Prarit Bhargava) [1837321] - x86/fpu/signal: Fix missed conversion to correct boolean retval in save_xstate_epilog() (Prarit Bhargava) [1837321] - x86/fpu/signal: Change return code of restore_fpregs_from_user() to boolean (Prarit Bhargava) [1837321] - x86/fpu/signal: Change return code of check_xstate_in_sigframe() to boolean (Prarit Bhargava) [1837321] - x86/fpu/signal: Change return type of __fpu_restore_sig() to boolean (Prarit Bhargava) [1837321] - x86/fpu/signal: Change return type of fpu__restore_sig() to boolean (Prarit Bhargava) [1837321] - x86/signal: Change return type of restore_sigcontext() to boolean (Prarit Bhargava) [1837321] - x86/fpu/signal: Change return type of copy_fpregs_to_sigframe() helpers to boolean (Prarit Bhargava) [1837321] - x86/fpu/signal: Change return type of copy_fpstate_to_sigframe() to boolean (Prarit Bhargava) [1837321] - x86/fpu/signal: Move xstate clearing out of copy_fpregs_to_sigframe() (Prarit Bhargava) [1837321] - x86/fpu/signal: Move header zeroing out of xsave_to_user_sigframe() (Prarit Bhargava) [1837321] - x86/fpu/signal: Clarify exception handling in restore_fpregs_from_user() (Prarit Bhargava) [1837321] - x86/elf: Support a new ELF aux vector AT_MINSIGSTKSZ (Prarit Bhargava) [1837321] - uapi/auxvec: Define the aux vector AT_MINSIGSTKSZ (Prarit Bhargava) [1837321] - x86: get rid of get_user_ex() in restore_sigcontext() (Prarit Bhargava) [1837321] - x86: get rid of get_user_ex() in ia32_restore_sigcontext() (Prarit Bhargava) [1837321] - x86: Remove force_iret() (Prarit Bhargava) [1837321] - x86/uaccess, signal: Fix AC=1 bloat (Prarit Bhargava) [1837321] - x86/ia32: Fix ia32_restore_sigcontext() AC leak (Prarit Bhargava) [1837321] - x86/tsc: Add tsc_early_khz command line parameter (Prarit Bhargava) [1957375] - x86/debug: Support negative polarity DR6 bits (Prarit Bhargava) [2017958]- KVM: SVM: Do not terminate SEV-ES guests on GHCB validation failure (Vitaly Kuznetsov) [2032931] - KVM: SEV: Fall back to vmalloc for SEV-ES scratch area if necessary (Vitaly Kuznetsov) [2032931] - KVM: SEV: Return appropriate error codes if SEV-ES scratch setup fails (Vitaly Kuznetsov) [2032931] - KVM: SEV: Refactor out sev_es_state struct (Vitaly Kuznetsov) [2032931] - s390: mm: Fix secure storage access exception handling (Thomas Huth) [1984910] - KVM: PPC: Book3S HV: Make idle_kvm_start_guest() return 0 if it went to guest (Jon Maloy) [2018960] {CVE-2021-43056} - KVM: PPC: Book3S HV: Fix stack handling in idle_kvm_start_guest() (Jon Maloy) [2018960] {CVE-2021-43056} - KVM: arm64: selftests: arch_timer: Support vCPU migration (Gavin Shan) [2024808] - KVM: arm64: selftests: Add arch_timer test (Gavin Shan) [2024808] - KVM: arm64: selftests: Add host support for vGIC (Gavin Shan) [2024808] - KVM: arm64: selftests: Add basic GICv3 support (Gavin Shan) [2024808] - KVM: arm64: selftests: Add light-weight spinlock support (Gavin Shan) [2024808] - KVM: arm64: selftests: Add guest support to get the vcpuid (Gavin Shan) [2024808] - KVM: arm64: selftests: Maintain consistency for vcpuid type (Gavin Shan) [2024808] - KVM: arm64: selftests: Add support to disable and enable local IRQs (Gavin Shan) [2024808] - KVM: arm64: selftests: Add basic support to generate delays (Gavin Shan) [2024808] - KVM: arm64: selftests: Add basic support for arch_timers (Gavin Shan) [2024808] - KVM: arm64: selftests: Add support for cpu_relax (Gavin Shan) [2024808] - KVM: arm64: selftests: Introduce ARM64_SYS_KVM_REG (Gavin Shan) [2024808] - tools: arm64: Import sysreg.h (Gavin Shan) [2024808] - KVM: arm64: selftests: Add MMIO readl/writel support (Gavin Shan) [2024808] - selftests: KVM: Introduce psci_cpu_on_test (Gavin Shan) [2024808] - KVM: arm64: selftests: get-reg-list: actually enable pmu regs in pmu sublist (Gavin Shan) [2024808] - KVM: arm64: Update MAINTAINERS to include selftests (Gavin Shan) [2024808] - KVM: arm64: selftests: get-reg-list: Split base and pmu registers (Gavin Shan) [2024808] - KVM: arm64: selftests: get-reg-list: Remove get-reg-list-sve (Gavin Shan) [2024808] - KVM: arm64: selftests: get-reg-list: Provide config selection option (Gavin Shan) [2024808] - KVM: arm64: selftests: get-reg-list: Prepare to run multiple configs at once (Gavin Shan) [2024808] - KVM: arm64: selftests: get-reg-list: Introduce vcpu configs (Gavin Shan) [2024808] - sctp: make the raise timer more simple and accurate (Xin Long) [2020474] - Enable flowtable ipv4/ipv6 support (Phil Sutter) [1850324] - ip6_vti: initialize __ip6_tnl_parm struct in vti6_siocdevprivate (William Zhao) [1941928] - svcrdma: Fix a crash in svcrdma_counter_handler (Benjamin Coddington) [2037213] - fbcon: Fix global-out-of-bounds read in fbcon_get_font() (Lyude Paul) [1904374] - bnxt_en: Clean up completion ring page arrays completely (Ken Cox) [1987074] - bnxt_en: Fix error recovery regression (Ken Cox) [1987074] - bnxt_en: Fix possible unintended driver initiated error recovery (Ken Cox) [1987074] - bnxt_en: Fix UDP tunnel logic (Ken Cox) [1987074] - bnxt_en: Fix asic.rev in devlink dev info command (Ken Cox) [1987074] - bnxt_en: fix read of stored FW_PSID version on P5 devices (Ken Cox) [1987074] - bnxt_en: fix stored FW_PSID version masks (Ken Cox) [1987074] - bnxt_en: fix kernel doc warnings in bnxt_hwrm.c (Ken Cox) [1987074] - bnxt_en: Fix 64-bit doorbell operation on 32-bit kernels (Ken Cox) [1987074] - bnxt_en: support multiple HWRM commands in flight (Ken Cox) [1987074] - bnxt_en: remove legacy HWRM interface (Ken Cox) [1987074] - bnxt_en: update all firmware calls to use the new APIs (Ken Cox) [1987074] - bnxt_en: use link_lock instead of hwrm_cmd_lock to protect link_info (Ken Cox) [1987074] - bnxt_en: add support for HWRM request slices (Ken Cox) [1987074] - bnxt_en: add HWRM request assignment API (Ken Cox) [1987074] - bnxt_en: discard out of sequence HWRM responses (Ken Cox) [1987074] - bnxt_en: introduce new firmware message API based on DMA pools (Ken Cox) [1987074] - bnxt_en: move HWRM API implementation into separate file (Ken Cox) [1987074] - bnxt_en: Refactor the HWRM_VER_GET firmware calls (Ken Cox) [1987074] - bnxt_en: remove DMA mapping for KONG response (Ken Cox) [1987074] - bnxt: count discards due to memory allocation errors (Ken Cox) [1987074] - bnxt: count packets discarded because of netpoll (Ken Cox) [1987074] - net: broadcom: switch from 'pci_' to 'dma_' API (Ken Cox) [1987074] - bnxt_en: Add missing DMA memory barriers (Ken Cox) [1987074] - bnxt_en: Disable aRFS if running on 212 firmware (Ken Cox) [1987074] - bnxt: count Tx drops (Ken Cox) [1987074] - bnxt: make sure xmit_more + errors does not miss doorbells (Ken Cox) [1987074] - bnxt: disable napi before canceling DIM (Ken Cox) [1987074] - bnxt: don't lock the tx queue from napi poll (Ken Cox) [1987074] - bnxt_en: Use register window 6 instead of 5 to read the PHC (Ken Cox) [1987074] - bnxt_en: Update firmware call to retrieve TX PTP timestamp (Ken Cox) [1987074] - bnxt_en: Update firmware interface to 1.10.2.52 (Ken Cox) [1987074] - bnxt_en: Increase maximum RX ring size if jumbo ring is not used (Ken Cox) [1987074] - bnxt_en: Don't use static arrays for completion ring pages (Ken Cox) [1987074] - bnxt_en: Add missing periodic PHC overflow check (Ken Cox) [1987074] - bnxt_en: Log if an invalid signal detected on TSIO pin (Ken Cox) [1987074] - bnxt_en: Event handler for PPS events (Ken Cox) [1987074 1990156] - bnxt_en: 1PPS functions to configure TSIO pins (Ken Cox) [1987074 1990156] - bnxt_en: 1PPS support for 5750X family chips (Ken Cox) [1987074 1990156] - bnxt_en: Do not read the PTP PHC during chip reset (Ken Cox) [1987074 1990156] - bnxt_en: Move bnxt_ptp_init() from bnxt_open() back to bnxt_init_one() (Ken Cox) [1987074 1990156] - bnxt_en: Fix PTP capability discovery (Ken Cox) [1987074] - bnxt_en: Move bnxt_ptp_init() to bnxt_open() (Ken Cox) [1987074] - bnxt: Remove rcu_read_lock() around XDP program invocation (Ken Cox) [1987074] - bnxt_en: Enable hardware PTP support (Ken Cox) [1987074] - bnxt_en: Transmit and retrieve packet timestamps (Ken Cox) [1987074] - bnxt_en: Get the RX packet timestamp (Ken Cox) [1987074] - bnxt_en: Get the full 48-bit hardware timestamp periodically (Ken Cox) [1987074] - bnxt_en: Add PTP clock APIs, ioctls, and ethtool methods (Ken Cox) [1987074] - bnxt_en: Get PTP hardware capability from firmware (Ken Cox) [1987074] - bnxt_en: Update firmware interface to 1.10.2.47 (Ken Cox) [1987074] - bnxt_en: Fix fall-through warnings for Clang (Ken Cox) [1987074] - bnxt_en: Fix and improve .ndo_features_check(). (Ken Cox) [1987074] - bnxt_en: Implement .ndo_features_check(). (Ken Cox) [1987074] - bnxt_en: Support IFF_SUPP_NOFCS feature to transmit without ethernet FCS. (Ken Cox) [1987074] - bnxt_en: Call bnxt_approve_mac() after the PF gives up control of the VF MAC. (Ken Cox) [1987074] - bnxt_en: Move bnxt_approve_mac(). (Ken Cox) [1987074] - bnxt_en: allow VF config ops when PF is closed (Ken Cox) [1987074] - bnxt_en: Add support for fw managed link down feature. (Ken Cox) [1987074] - bnxt_en: Add a new phy_flags field to the main driver structure. (Ken Cox) [1987074] - bnxt_en: report signal mode in link up messages (Ken Cox) [1987074] - bnxt: add more ethtool standard stats (Ken Cox) [1987074] - bnxt: implement ethtool standard stats (Ken Cox) [1987074] - bnxt: implement ethtool::get_fec_stats (Ken Cox) [1987074] - bnxt_en: Free and allocate VF-Reps during error recovery. (Ken Cox) [1987074] - bnxt_en: Refactor __bnxt_vf_reps_destroy(). (Ken Cox) [1987074] - bnxt_en: Refactor bnxt_vf_reps_create(). (Ken Cox) [1987074] - bnxt_en: Invalidate health register mapping at the end of probe. (Ken Cox) [1987074] - bnxt_en: Treat health register value 0 as valid in bnxt_try_reover_fw(). (Ken Cox) [1987074] - bnxt_en: Enhance retry of the first message to the firmware. (Ken Cox) [1987074] - bnxt_en: Set BNXT_STATE_FW_RESET_DET flag earlier for the RDMA driver. (Ken Cox) [1987074] - bnxt_en: check return value of bnxt_hwrm_func_resc_qcaps (Ken Cox) [1987074] - bnxt_en: don't fake firmware response success when PCI is disabled (Ken Cox) [1987074] - bnxt_en: Improve wait for firmware commands completion (Ken Cox) [1987074] - bnxt_en: Improve the status_reliable flag in bp->fw_health. (Ken Cox) [1987074] - Bluetooth: fix use-after-free error in lock_sock_nested() (Gopal Tiwari) [2005689] - rpmspec: add release string to kernel doc directory name (Jan Stancek) [1824836] - cpufreq: intel_pstate: Fix cpu->pstate.turbo_freq initialization (Mark Langsdorf) [2031830] - ACPI: CPPC: Add NULL pointer check to cppc_get_perf() (Mark Langsdorf) [2031830] - cpufreq: intel_pstate: hybrid: Rework HWP calibration (Mark Langsdorf) [2031830] - ACPI: CPPC: Introduce cppc_get_nominal_perf() (Mark Langsdorf) [2031830] - cpufreq: Replace deprecated CPU-hotplug functions (Mark Langsdorf) [2031830] - cpufreq: intel_pstate: hybrid: Fix build with CONFIG_ACPI unset (Mark Langsdorf) [2031830] - cpufreq: intel_pstate: hybrid: CPU-specific scaling factor (Mark Langsdorf) [2031830] - cpufreq: intel_pstate: hybrid: Avoid exposing two global attributes (Mark Langsdorf) [2031830] - ASoC: amd: renoir: Run hibernation callbacks (Renjith Pananchikkal) [1987617] - hugetlb: fix hugetlb cgroup refcounting during vma split (Waiman Long) [2032811] - hugetlb_cgroup: fix imbalanced css_get and css_put pair for shared mappings (Waiman Long) [2032811] - mm/hugetlb: change hugetlb_reserve_pages() to type bool (Waiman Long) [2032811] - hugetlb: fix an error code in hugetlb_reserve_pages() (Waiman Long) [2032811] - hugetlb_cgroup: fix offline of hugetlb cgroup with reservations (Waiman Long) [2032811] - hugetlb_cgroup: fix reservation accounting (Waiman Long) [2032811] - mm/hugetlb: narrow the hugetlb_lock protection area during preparing huge page (Waiman Long) [2032811] - mm/hugetlb: a page from buddy is not on any list (Waiman Long) [2032811] - mm/hugetlb: not necessary to coalesce regions recursively (Waiman Long) [2032811] - selftests/vm/write_to_hugetlbfs.c: fix unused variable warning (Waiman Long) [2032811] - hugetlb_cgroup: add hugetlb_cgroup reservation tests (Waiman Long) [2032811] - hugetlb: support file_region coalescing again (Waiman Long) [2032811] - hugetlb_cgroup: support noreserve mappings (Waiman Long) [2032811] - hugetlb_cgroup: add accounting for shared mappings (Waiman Long) [2032811] - hugetlb: disable region_add file_region coalescing (Waiman Long) [2032811] - hugetlb_cgroup: add reservation accounting for private mappings (Waiman Long) [2032811] - mm/hugetlb_cgroup: fix hugetlb_cgroup migration (Waiman Long) [2032811] - hugetlb_cgroup: add interface for charge/uncharge hugetlb reservations (Waiman Long) [2032811] - hugetlb_cgroup: add hugetlb_cgroup reservation counter (Waiman Long) [2032811] - mm/vma: move VM_NO_KHUGEPAGED into generic header (Waiman Long) [2032811] - mm/cma.c: switch to bitmap_zalloc() for cma bitmap allocation (Waiman Long) [2032811] - hugetlb: remove duplicated code (Waiman Long) [2032811] - hugetlb: region_chg provides only cache entry (Waiman Long) [2032811] - arm64/mm: Refactor __do_page_fault() (Waiman Long) [2032811] - arm64/mm: Drop task_struct argument from __do_page_fault() (Waiman Long) [2032811] - hugetlbfs: always use address space in inode for resv_map pointer (Waiman Long) [2032811] - mm: remove redundant 'default n' from Kconfig-s (Waiman Long) [2032811] - hugetlbfs: fix potential over/underflow setting node specific nr_hugepages (Waiman Long) [2032811] - hugetlb: allow to free gigantic pages regardless of the configuration (Waiman Long) [2032811] - mm/cma.c: fix crash on CMA allocation if bitmap allocation fails (Waiman Long) [2032811] - mm/cma.c: fix the bitmap status to show failed allocation reason (Waiman Long) [2032811] - mm/cma_debug.c: fix the break condition in cma_maxchunk_get() (Waiman Long) [2032811] - mm: no need to check return value of debugfs_create functions (Waiman Long) [2032811] - x86/mm: Break out user address space handling (Waiman Long) [2032811] - fs: add vfs_parse_fs_param_source() helper (Waiman Long) [2034609] - cgroup: verify that source is a string (Waiman Long) [2034609] - ice: Fix E810 PTP reset flow (Jonathan Toppins) [2013478] - ice: Use div64_u64 instead of div_u64 in adjfine (Jonathan Toppins) [2013478] - ice: Don't put stale timestamps in the skb (Jonathan Toppins) [2013478] - ice: Fix problems with DSCP QoS implementation (Jonathan Toppins) [2030400] - ice: fix software generating extra interrupts (Jonathan Toppins) [2030400] - ice: fix rate limit update after coalesce change (Jonathan Toppins) [2030400] - ice: update dim usage and moderation (Jonathan Toppins) [2030400] - ice: make use of ice_for_each_* macros (Jonathan Toppins) [2030400] - ice: Remove boolean vlan_promisc flag from function (Jonathan Toppins) [2030400] - ice: check whether PTP is initialized in ice_ptp_release() (Jonathan Toppins) [2030400] - ice: devlink: Make devlink_register to be void (Jonathan Toppins) [2030400] - ice: split ice_ring onto Tx/Rx separate structs (Jonathan Toppins) [2030400] - ice: Prefer kcalloc over open coded arithmetic (Jonathan Toppins) [2030400] - ice: Fix macro name for IPv4 fragment flag (Jonathan Toppins) [2030400] - ice: refactor devlink getter/fallback functions to void (Jonathan Toppins) [2030400] - ice: Fix link mode handling (Jonathan Toppins) [2030400] - ice: Add feature bitmap, helpers and a check for DSCP (Jonathan Toppins) [2030400] - ice: Add DSCP support (Jonathan Toppins) [2030400]- fanotify: Make waits for fanotify events only killable (Miklos Szeredi) [1897416] - fanotify: Use interruptible wait when waiting for permission events (Miklos Szeredi) [1897416] - fanotify: Track permission event state (Miklos Szeredi) [1897416] - fanotify: Simplify cleaning of access_list (Miklos Szeredi) [1897416] - fsnotify: Create function to remove event from notification list (Miklos Szeredi) [1897416] - fanotify: Move locking inside get_one_event() (Miklos Szeredi) [1897416] - fanotify: Fold dequeue_event() into process_access_response() (Miklos Szeredi) [1897416] - fanotify: rename struct fanotify_{,perm_}event_info (Miklos Szeredi) [1897416] - RDMA/mlx5: Fix crash when unbind multiport slave (Amir Tzin) [1997386] - redhat: Fix mock.cfg cleanup in redhat/Makefile (Benjamin Coddington) - timekeeping: Use proper clock specifier names in functions (Josef Oskera) [2026471] - leds: ledtrig-activity: use ktime_get_boot_ns() (Josef Oskera) [2026471] - iio: use timespec64 based interfaces for iio_get_time_ns() (Josef Oskera) [2026471] - drivers: net: netdevsim: fix devlink_trap selftests failing (Petr Oros) [2021837] - netdevsim: remove max_vfs dentry (Petr Oros) [2021837] - netdevsim: Fix unsigned being compared to less than zero (Petr Oros) [2021837] - devlink: Protect rate list with lock while switching modes (Petr Oros) [2021837] - devlink: Remove eswitch mode check for mode set call (Petr Oros) [2021837] - devlink: Decrease refcnt of parent rate object on leaf destroy (Petr Oros) [2021837] - docs: networking: devlink: avoid using ReST :doc:`foo` markup (Petr Oros) [2021837] - testing: selftests: drivers: net: netdevsim: devlink: add test case for hard drop statistics (Petr Oros) [2021837] - drivers: net: netdevsim: add devlink trap_drop_counter_get implementation (Petr Oros) [2021837] - testing: selftests: net: forwarding: add devlink-required functionality to test (hard) dropped stats field (Petr Oros) [2021837] - net: core: devlink: add dropped stats traps field (Petr Oros) [2021837] - devlink: Fix error message in devlink_rate_set_ops_supported() (Petr Oros) [2021837] - Documentation: devlink rate objects (Petr Oros) [2021837] - selftest: netdevsim: Add devlink rate grouping test (Petr Oros) [2021837] - netdevsim: Allow setting parent node of rate objects (Petr Oros) [2021837] - devlink: Allow setting parent node of rate objects (Petr Oros) [2021837] - selftest: netdevsim: Add devlink rate nodes test (Petr Oros) [2021837] - netdevsim: Implement support for devlink rate nodes (Petr Oros) [2021837] - devlink: Introduce rate nodes (Petr Oros) [2021837] - selftest: netdevsim: Add devlink port shared/max tx rate test (Petr Oros) [2021837] - netdevsim: Implement devlink rate leafs tx rate support (Petr Oros) [2021837] - devlink: Allow setting tx rate for devlink rate leaf objects (Petr Oros) [2021837] - selftest: netdevsim: Add devlink rate test (Petr Oros) [2021837] - netdevsim: Register devlink rate leaf objects per VF (Petr Oros) [2021837] - devlink: Introduce rate object (Petr Oros) [2021837] - netdevsim: Implement legacy/switchdev mode for VFs (Petr Oros) [2021837] - netdevsim: Implement VFs (Petr Oros) [2021837] - netdevsim: Implement port types and indexing (Petr Oros) [2021837] - netdevsim: Disable VFs on nsim_dev_reload_destroy() call (Petr Oros) [2021837] - netdevsim: Add max_vfs to bus_dev (Petr Oros) [2021837] - devlink: append split port number to the port name (Petr Oros) [2021837] - devlink: Correct VIRTUAL port to not have phys_port attributes (Petr Oros) [2021837] - docs: net: add missing devlink health cmd - trigger (Petr Oros) [2021837] - docs: net: tweak devlink health documentation (Petr Oros) [2021837] - devlink: fix typo in documentation (Petr Oros) [2021837] - devlink: Extend devlink port documentation for subfunctions (Petr Oros) [2021837] - udp: Validate checksum in udp_read_sock() (Jiri Benc) [1947007] - bpf, sockmap: sk_skb data_end access incorrect when src_reg = dst_reg (Jiri Benc) [1947007] - bpf: sockmap, strparser, and tls are reusing qdisc_skb_cb and colliding (Jiri Benc) [1947007] - selftests, bpf: Add one test for sockmap with strparser (Jiri Benc) [1947007] - selftests, bpf: Fix test_txmsg_ingress_parser error (Jiri Benc) [1947007] - skmsg: Lose offset info in sk_psock_skb_ingress (Jiri Benc) [1947007] - bpf, sockmap: Fix potential memory leak on unlikely error case (Jiri Benc) [1947007] - tcp_bpf: Fix one concurrency problem in the tcp_bpf_send_verdict function (Jiri Benc) [1947007] - bpf, sockmap, tcp: sk_prot needs inuse_idx set for proc stats (Jiri Benc) [1947007] - bpf, sockmap: Fix memleak on ingress msg enqueue (Jiri Benc) [1947007] - bpf, sockmap: On cleanup we additionally need to remove cached skb (Jiri Benc) [1947007] - skmsg: Increase sk->sk_drops when dropping packets (Jiri Benc) [1947007] - skmsg: Pass source psock to sk_psock_skb_redirect() (Jiri Benc) [1947007] - skmsg: Teach sk_psock_verdict_apply() to return errors (Jiri Benc) [1947007] - skmsg: Fix a memory leak in sk_psock_verdict_apply() (Jiri Benc) [1947007] - skmsg: Clear skb redirect pointer before dropping it (Jiri Benc) [1947007] - udp: Fix a memory leak in udp_read_sock() (Jiri Benc) [1947007] - selftests/bpf: Retry for EAGAIN in udp_redir_to_connected() (Jiri Benc) [1947007] - skmsg: Improve udp_bpf_recvmsg() accuracy (Jiri Benc) [1947007] - bpf: Limit static tcp-cc functions in the .BTF_ids list to x86 (Jiri Benc) [1947007] - flow_dissector: Fix out-of-bounds warning in __skb_flow_bpf_to_target() (Jiri Benc) [1947007] - sock_map: Fix a potential use-after-free in sock_map_close() (Jiri Benc) [1947007] - skmsg: Pass psock pointer to ->psock_update_sk_prot() (Jiri Benc) [1947007] - bpf, udp: Remove some pointless comments (Jiri Benc) [1947007] - selftests/bpf: Add a test case for loading BPF_SK_SKB_VERDICT (Jiri Benc) [1947007] - selftests/bpf: Add a test case for udp sockmap (Jiri Benc) [1947007] - sock_map: Update sock type checks for UDP (Jiri Benc) [1947007] - udp: Implement udp_bpf_recvmsg() for sockmap (Jiri Benc) [1947007] - skmsg: Extract __tcp_bpf_recvmsg() and tcp_bpf_wait_data() (Jiri Benc) [1947007] - udp: Implement ->read_sock() for sockmap (Jiri Benc) [1947007] - sock: Introduce sk->sk_prot->psock_update_sk_prot() (Jiri Benc) [1947007] - sock_map: Introduce BPF_SK_SKB_VERDICT (Jiri Benc) [1947007] - sock_map: Kill sock_map_link_no_progs() (Jiri Benc) [1947007] - sock_map: Simplify sock_map_link() a bit (Jiri Benc) [1947007] - skmsg: Use GFP_KERNEL in sk_psock_create_ingress_msg() (Jiri Benc) [1947007] - skmsg: Use rcu work for destroying psock (Jiri Benc) [1947007] - skmsg: Avoid lock_sock() in sk_psock_backlog() (Jiri Benc) [1947007] - net: Introduce skb_send_sock() for sock_map (Jiri Benc) [1947007] - skmsg: Introduce a spinlock to protect ingress_msg (Jiri Benc) [1947007] - skmsg: Lock ingress_skb when purging (Jiri Benc) [1947007] - bpf: tcp: Limit calling some tcp cc functions to CONFIG_DYNAMIC_FTRACE (Jiri Benc) [1947007] - bpf: tcp: Fix an error in the bpf_tcp_ca_kfunc_ids list (Jiri Benc) [1947007] - bpf: tcp: Remove comma which is causing build error (Jiri Benc) [1947007] - bpf: tcp: Put some tcp cong functions in allowlist for bpf-tcp-cc (Jiri Benc) [1947007] - tcp: Rename bictcp function prefix to cubictcp (Jiri Benc) [1947007] - bpf: Add getter and setter for SO_REUSEPORT through bpf_{g,s}etsockopt (Jiri Benc) [1947007] - bpf, devmap: Move drop error path to devmap for XDP_REDIRECT (Jiri Benc) [1947007] - xsk: Update rings for load-acquire/store-release barriers (Jiri Benc) [1947007] - skmsg: Add function doc for skb->_sk_redir (Jiri Benc) [1947007] - skmsg: Remove unused sk_psock_stop() declaration (Jiri Benc) [1947007] - skmsg: Get rid of sk_psock_bpf_run() (Jiri Benc) [1947007] - skmsg: Make __sk_psock_purge_ingress_msg() static (Jiri Benc) [1947007] - sock_map: Make sock_map_prog_update() static (Jiri Benc) [1947007] - sock_map: Rename skb_parser and skb_verdict (Jiri Benc) [1947007] - skmsg: Move sk_redir from TCP_SKB_CB to skb (Jiri Benc) [1947007] - bpf: Compute data_end dynamically with JIT code (Jiri Benc) [1947007] - skmsg: Get rid of struct sk_psock_parser (Jiri Benc) [1947007] - bpf: Clean up sockmap related Kconfigs (Jiri Benc) [1947007] - xsk: Build skb by page (aka generic zerocopy xmit) (Jiri Benc) [1947007] - xsk: Respect device's headroom and tailroom on generic xmit path (Jiri Benc) [1947007] - virtio-net: Support IFF_TX_SKB_NO_LINEAR flag (Jiri Benc) [1947007] - net: Add priv_flags for allow tx skb without linear (Jiri Benc) [1947007] - netdevice: Add missing IFF_PHONY_HEADROOM self-definition (Jiri Benc) [1947007] - skmsg: Make sk_psock_destroy() static (Jiri Benc) [1947007] - skmsg: Use fallthrough pseudo-keyword (Jiri Benc) [1947007] - net: dev_is_mac_header_xmit() true for ARPHRD_RAWIP (Jiri Benc) [1947007] - virtio_net: Account for tx bytes and packets on sending xdp_frames (Jiri Benc) [1947007] - inet: udp{4|6}_lib_lookup_skb() skb argument is const (Jiri Benc) [1947007] - inet: constify inet_sdif() argument (Jiri Benc) [1947007] - udp: move gro declarations to net/udp.h (Jiri Benc) [1947007] - net: move tcp gro declarations to net/tcp.h (Jiri Benc) [1947007] - tcp: add declarations to avoid warnings (Jiri Benc) [1947007] - tcp: remove indirect calls for icsk->icsk_af_ops->send_check (Jiri Benc) [1947007] - tcp: remove indirect calls for icsk->icsk_af_ops->queue_xmit (Jiri Benc) [1947007] - net: remove unused skb_send_sock() (Jiri Benc) [1947007] - net: Use skb_frag_off accessors (Jiri Benc) [1947007] - net: Use skb accessors in network core (Jiri Benc) [1947007] - skbuff: fix compilation warnings in skb_dump() (Jiri Benc) [1947007] - skbuff: increase verbosity when dumping skb data (Jiri Benc) [1947007] - net: dump more useful information in netdev_rx_csum_fault() (Jiri Benc) [1947007] - net: avoid indirect calls in L4 checksum calculation (Jiri Benc) [1947007] - net/core: Allow the compiler to verify declaration and definition consistency (Jiri Benc) [1947007] - efi/arm64: Drop erroneous '__pure' attribute from set_nokaslr() (Vitaly Kuznetsov) [2026995] - drm/nouveau: clean up all clients on device removal (Karol Herbst) [1901903] {CVE-2020-27820} - drm/nouveau: Add a dedicated mutex for the clients list (Karol Herbst) [1901903] {CVE-2020-27820} - drm/nouveau: use drm_dev_unplug() during device removal (Karol Herbst) [1901903] {CVE-2020-27820} - block: avoid to quiesce queue in elevator_init_mq (Ming Lei) [2025759] - blk-mq: cancel blk-mq dispatch work in both blk_cleanup_queue and disk_release() (Ming Lei) [2021399] - PCI/portdrv: Enable Bandwidth Notification only if port supports it (Myron Stowe) [1981738] - cifs: keep referral server sessions alive (Ronnie Sahlberg) [2030880] - cifs: check pointer before freeing (Ronnie Sahlberg) [2030880] - cifs: constify path argument of ->make_node() (Ronnie Sahlberg) [2030880] - cifs: constify get_normalized_path() properly (Ronnie Sahlberg) [2030880] - cifs: don't cargo-cult strndup() (Ronnie Sahlberg) [2030880] - cifs: cleanup misc.c (Ronnie Sahlberg) [2030880] - cifs: get rid of @noreq param in __dfs_cache_find() (Ronnie Sahlberg) [2030880] - cifs: do not send tree disconnect to ipc shares (Ronnie Sahlberg) [2030880] - cifs: fix doc warnings in cifs_dfs_ref.c (Ronnie Sahlberg) [2030880] - cifs: introduce helper for finding referral server to improve DFS target resolution (Ronnie Sahlberg) [2030880] - cifs: check all path components in resolved dfs target (Ronnie Sahlberg) [2030880] - cifs: fix DFS failover (Ronnie Sahlberg) [2030880] - Enable CONFIG_SCHED_CLUSTER (Phil Auld) [1920645] - sched,x86: Don't use cluster topology for x86 hybrid CPUs (Phil Auld) [1920645] - arch_topology: Fix missing clear cluster_cpumask in remove_cpu_topology() (Phil Auld) [1920645] - x86/smp: Factor out parts of native_smp_prepare_cpus() (Phil Auld) [1920645] - sched,x86: Fix L2 cache mask (Phil Auld) [1920645] - sched: Add cluster scheduler level for x86 (Phil Auld) [1920645] - sched: Add cluster scheduler level in core and related Kconfig for ARM64 (Phil Auld) [1920645] - topology: Represent clusters of CPUs within a die (Phil Auld) [1920645] - cpumask: Omit terminating null byte in cpumap_print_{list,bitmask}_to_buf (Phil Auld) [1920645] - drivers/base/node.c: use bin_attribute to break the size limitation of cpumap ABI (Phil Auld) [1920645] - topology: use bin_attribute to break the size limitation of cpumap ABI (Phil Auld) [1920645] - cpumask: introduce cpumap_print_list/bitmask_to_buf to support large bitmask and list (Phil Auld) [1920645] - x86/cpu: Add get_llc_id() helper function (Phil Auld) [1920645] - x86/smp: Add a per-cpu view of SMT state (Phil Auld) [1920645] - ARM: 8943/1: Fix topology setup in case of CPU hotplug for CONFIG_SCHED_MC (Phil Auld) [1920645] - arm: Use common cpu_topology structure and functions. (Phil Auld) [1920645] - cpu-topology: Move cpu topology code to common code. (Phil Auld) [1920645] - netfilter: ctnetlink: allow to filter dump by status bits (Florian Westphal) [1991526] - netfilter: ctnetlink: add and use a helper for mark parsing (Florian Westphal) [1991526] - netfilter: ctnetlink: suspicious RCU usage in ctnetlink_dump_helpinfo (Florian Westphal) [1991526] - netfilter: ctnetlink: add timeout and protoinfo to destroy events (Florian Westphal) [1991526] - netfilter: ctnetlink: fix mark based dump filtering regression (Florian Westphal) [1991526] - netfilter: ctnetlink: memleak in filter initialization error path (Florian Westphal) [1991526] - netfilter: ctnetlink: add kernel side filtering for dump (Florian Westphal) [1991526] - netfilter: ctnetlink: don't dump ct extensions of unconfirmed conntracks (Florian Westphal) [1991526] - netfilter: ctnetlink: be more strict when NF_CONNTRACK_MARK is not set (Florian Westphal) [1991526] - netfilter: ctnetlink: Fix regression in conntrack entry deletion (Florian Westphal) [1991526] - netfilter: ctnetlink: Resolve conntrack L3-protocol flush regression (Florian Westphal) [1991526] - netfilter: ctnetlink: always honor CTA_MARK_MASK (Florian Westphal) [1991526] - netfilter: ctnetlink: must check mark attributes vs NULL (Florian Westphal) [1991526] - netfilter: ctnetlink: Support L3 protocol-filter on flush (Florian Westphal) [1991526] - netfilter: nftables: fix incorrect increment of loop counter (Phil Sutter) [1983635] - netfilter: nf_tables: initialize set before expression setup (Phil Sutter) [1983635] - netfilter: nftables: add set expression flags (Phil Sutter) [1983635] - netfilter: nft_dynset: report EOPNOTSUPP on missing set feature (Phil Sutter) [1983635] - netfilter: nft_dynset: dump expressions when set definition contains no expressions (Phil Sutter) [1983635] - netfilter: nft_dynset: honor stateful expressions in set definition (Phil Sutter) [1983635] - netfilter: nf_tables: do not leave dangling pointer in nf_tables_set_alloc_name (Phil Sutter) [1983635] - netfilter: nftables: clone set element expression template (Phil Sutter) [1983635] - netfilter: nftables: relax check for stateful expressions in set definition (Phil Sutter) [1983635] - netfilter: nftables: netlink support for several set element expressions (Phil Sutter) [1983635] - netfilter: nf_tables: skip set types that do not support for expressions (Phil Sutter) [1983635] - netfilter: nft_dynset: allow dynamic updates of non-anonymous set (Phil Sutter) [1983635] - netfilter: nftables: generalize set extension to support for several expressions (Phil Sutter) [1983635] - netfilter: nf_tables: do not update stateful expressions if lookup is inverted (Phil Sutter) [1983635] - netfilter: nftables: move nft_expr before nft_set (Phil Sutter) [1983635] - netfilter: nf_tables: Align nft_expr private data to 64-bit (Phil Sutter) [1983635] - netfilter: nftables: generalize set expressions support (Phil Sutter) [1983635] - netfilter: nft_dynset: validate set expression definition (Phil Sutter) [1983635] - netfilter: nf_tables: add nft_set_elem_expr_destroy() and use it (Phil Sutter) [1983635] - netfilter: nf_tables: fix double-free on set expression from the error path (Phil Sutter) [1983635] - netfilter: nf_tables: allow to specify stateful expression in set definition (Phil Sutter) [1983635] - netfilter: nf_tables: bogus EBUSY when deleting set after flush (Phil Sutter) [1983635] - netfilter: nf_tables: pass context to nft_set_destroy() (Phil Sutter) [1983635] - netfilter: nf_tables: move nft_expr_clone() to nf_tables_api.c (Phil Sutter) [1983635] - netfilter: nf_tables: relocate header content to consumer (Phil Sutter) [1983635] - netfilter: nft_lookup: update element stateful expression (Phil Sutter) [1983635] - netfilter: nf_tables: add nft_set_elem_update_expr() helper function (Phil Sutter) [1983635] - netfilter: nf_tables: add elements with stateful expressions (Phil Sutter) [1983635] - netfilter: nf_tables: statify nft_expr_init() (Phil Sutter) [1983635] - netfilter: nf_tables: add nft_set_elem_expr_alloc() (Phil Sutter) [1983635] - netfilter: nf_tables: enable set expiration time for set elements (Phil Sutter) [1983635] - hugetlbfs: flush TLBs correctly after huge_pmd_unshare (Rafael Aquini) [2026376] {CVE-2021-4002} - tlb: mmu_gather: add tlb_flush_*_range APIs (Rafael Aquini) [2026376] {CVE-2021-4002} - ACPI: PM: Do not turn off power resources in unknown state (Mark Langsdorf) [1997696] - ACPI: PRM: Find PRMT table before parsing it (Mark Langsdorf) [1997696] - ACPI: NFIT: Fix support for virtual SPA ranges (Mark Langsdorf) [1997696] - ACPI: DPTF: Fix reading of attributes (Mark Langsdorf) [1997696] - ACPI: PM: Add support for upcoming AMD uPEP HID AMDI007 (Mark Langsdorf) [1997696] - ACPI: Kconfig: Fix table override from built-in initrd (Mark Langsdorf) [1997696] - ACPI: video: Add quirk for the Dell Vostro 3350 (Mark Langsdorf) [1997696] - ACPI: AMBA: Fix resource name in /proc/iomem (Mark Langsdorf) [1997696] - ACPI: PM: postpone bringing devices to D0 unless we need them (Mark Langsdorf) [1997696] - ACPI: tables: Add custom DSDT file as makefile prerequisite (Mark Langsdorf) [1997696] - ACPI: bgrt: Use sysfs_emit (Mark Langsdorf) [1997696] - ACPI: bgrt: Fix CFI violation (Mark Langsdorf) [1997696] - ACPI: EC: trust DSDT GPE for certain HP laptop (Mark Langsdorf) [1997696] - ACPI: scan: Simplify acpi_table_events_fn() (Mark Langsdorf) [1997696] - ACPI: sysfs: Remove tailing return statement in void function (Mark Langsdorf) [1997696] - ACPI: sysfs: Use __ATTR_RO() and __ATTR_RW() macros (Mark Langsdorf) [1997696] - ACPI: sysfs: Sort headers alphabetically (Mark Langsdorf) [1997696] - ACPI: sysfs: Refactor param_get_trace_state() to drop dead code (Mark Langsdorf) [1997696] - ACPI: sysfs: Unify pattern of memory allocations (Mark Langsdorf) [1997696] - ACPI: sysfs: Allow bitmap list to be supplied to acpi_mask_gpe (Mark Langsdorf) [1997696] - ACPI: sysfs: Make sparse happy about address space in use (Mark Langsdorf) [1997696] - ACPI: scan: Fix race related to dropping dependencies (Mark Langsdorf) [1997696] - ACPI: scan: Reorganize acpi_device_add() (Mark Langsdorf) [1997696] - ACPI: scan: Fix device object rescan in acpi_scan_clear_dep() (Mark Langsdorf) [1997696] - ACPI: scan: Make acpi_walk_dep_device_list() (Mark Langsdorf) [1997696] - ACPI: scan: Rearrange acpi_dev_get_first_consumer_dev_cb() (Mark Langsdorf) [1997696] - ACPI: scan: Define acpi_bus_put_acpi_device() as static inline (Mark Langsdorf) [1997696] - ACPI: NVS: fix doc warnings in nvs.c (Mark Langsdorf) [1997696] - ACPI: sysfs: fix doc warnings in device_sysfs.c (Mark Langsdorf) [1997696] - ACPI: APEI: fix synchronous external aborts in user-mode (Mark Langsdorf) [1997696] - mfd: tps68470: Remove tps68470 MFD driver (Mark Langsdorf) [1997696] - ACPI: power: Use dev_dbg() to print some messages (Mark Langsdorf) [1997696] - ACPI: Add quirks for AMD Renoir/Lucienne CPUs to force the D3 hint (Mark Langsdorf) [1997696] - ACPI: processor_throttling: Fix several coding style issues (Mark Langsdorf) [1997696] - ACPI: sysfs: Drop four redundant return statements (Mark Langsdorf) [1997696] - ACPI: video: Drop three redundant return statements (Mark Langsdorf) [1997696] - ACPI: sleep: Fix acpi_pm_pre_suspend() kernel-doc (Mark Langsdorf) [1997696] - ACPI: processor_throttling: Remove redundant initialization of 'obj' (Mark Langsdorf) [1997696] - ACPI: utils: Introduce acpi_get_local_address() (Mark Langsdorf) [1997696] - ACPI: scan: initialize local variable to avoid garbage being returned (Mark Langsdorf) [1997696] - ACPI: Remove redundant clearing of context->ret.pointer from acpi_run_osc() (Mark Langsdorf) [1997696] - redhat/configs: Add Enable CONFIG_ACPI_PRMT (Mark Langsdorf) [1997696] - ACPI: PRM: Deal with table not present or no module found (Mark Langsdorf) [1997696] - ACPI: Do not singal PRM support if not enabled (Mark Langsdorf) [1997696] - ACPI: Kconfig: Provide help text for the ACPI_PRMT option (Mark Langsdorf) [1997696] - ACPI: PRM: make symbol 'prm_module_list' static (Mark Langsdorf) [1997696] - ACPI: Correct \_SB._OSC bit definition for PRM (Mark Langsdorf) [1997696] - ACPI: Add \_SB._OSC bit for PRM (Mark Langsdorf) [1997696] - ACPI: PRM: implement OperationRegion handler for the PlatformRtMechanism subtype (Mark Langsdorf) [1997696] - ACPICA: Add PRMT module header to facilitate parsing (Mark Langsdorf) [1997696] - ACPI: scan: Add function to fetch dependent of ACPI device (Mark Langsdorf) [1997696] - ACPI: scan: Extend acpi_walk_dep_device_list() (Mark Langsdorf) [1997696] - i2c: core: Restore acpi_walk_dep_device_list() getting called after registering the ACPI i2c devs (Mark Langsdorf) [1997696] - ACPI: NUMA: fix typo in a comment (Mark Langsdorf) [1997696] - ACPI: sysfs: Fix a buffer overrun problem with description_show() (Mark Langsdorf) [1997696] - ACPI: LPSS: Use kstrtol() instead of simple_strtol() (Mark Langsdorf) [1997696] - ACPI: tables: FPDT: Add missing acpi_put_table() in acpi_init_fpdt() (Mark Langsdorf) [1997696] - ACPI: tables: PPTT: Populate cache-id if provided by firmware (Mark Langsdorf) [1997696] - ACPI: OSL: Use DEFINE_RES_IO_NAMED() to simplify code (Mark Langsdorf) [1997696] - ACPI: bus: Call kobject_put() in acpi_init() error path (Mark Langsdorf) [1997696] - ACPI: bus: Remove unneeded assignment (Mark Langsdorf) [1997696] - ACPI: sleep: Unify the message printing (Mark Langsdorf) [1997696] - ACPI: sbs: Unify the message printing (Mark Langsdorf) [1997696] - ACPI: scan: Unify the log message printing (Mark Langsdorf) [1997696] - ACPI: sbshc: Unify the message printing (Mark Langsdorf) [1997696] - ACPI: sysfs: Cleanup message printing (Mark Langsdorf) [1997696] - ACPI: reboot: Unify the message printing (Mark Langsdorf) [1997696] - ACPI: processor_throttling: Cleanup the printing messages (Mark Langsdorf) [1997696] - ACPI: processor_perflib: Cleanup print messages (Mark Langsdorf) [1997696] - ACPI: processor_thermal: Remove unused PREFIX for printing (Mark Langsdorf) [1997696] - ACPI: pci_root: Unify the message printing (Mark Langsdorf) [1997696] - ACPI: osl: Remove the duplicated PREFIX for message printing (Mark Langsdorf) [1997696] - ACPI: nvs: Unify the message printing (Mark Langsdorf) [1997696] - ACPI: glue: Clean up the printing messages (Mark Langsdorf) [1997696] - ACPI: event: Use pr_*() macros to replace printk() (Mark Langsdorf) [1997696] - ACPI: bus: Use pr_*() macros to replace printk() (Mark Langsdorf) [1997696] - ACPI: blacklist: Unify the message printing (Mark Langsdorf) [1997696] - ACPI: cmos_rtc: Using pr_fmt() and remove PREFIX (Mark Langsdorf) [1997696] - ACPI: scan: Constify acpi_dma_supported() helper function (Mark Langsdorf) [1997696] - ACPICA: Update version to 20210604 (Mark Langsdorf) [1997696] - ACPICA: Add support for PlatformRtMechanism OperationRegion handler (Mark Langsdorf) [1997696] - ACPICA: iASL: add disassembler support for PRMT (Mark Langsdorf) [1997696] - ACPICA: Add the CFMWS structure definition to the CEDT table (Mark Langsdorf) [1997696] - ACPICA: Add defines for the CXL Host Bridge Structure (CHBS) (Mark Langsdorf) [1997696] - ACPICA: iASL: Add support for the BDAT ACPI table (Mark Langsdorf) [1997696] - ACPICA: Add _PLD panel positions (Mark Langsdorf) [1997696] - ACPICA: Use ACPI_FALLTHROUGH (Mark Langsdorf) [1997696] - ACPICA: iASL Table Compiler: Add full support for RGRT ACPI table (Mark Langsdorf) [1997696] - ACPICA: iASL: Add support for the SVKL table (Mark Langsdorf) [1997696] - ACPICA: iASL: Finish support for the IVRS ACPI table (Mark Langsdorf) [1997696] - ACPICA: Add SVKL table headers (Mark Langsdorf) [1997696] - ACPICA: ACPI 6.4: MADT: add Multiprocessor Wakeup Mailbox Structure (Mark Langsdorf) [1997696] - ACPI: power: Rework turning off unused power resources (Mark Langsdorf) [1997696] - ACPI: power: Save the last known state of each power resource (Mark Langsdorf) [1997696] - ACPI: power: Use u8 as the power resource state data type (Mark Langsdorf) [1997696] - ACPI: configfs: Replace ACPI_INFO() with pr_debug() (Mark Langsdorf) [1997696] - ACPI: ipmi: Remove address space handler in error path (Mark Langsdorf) [1997696] - ACPI: EC: Make more Asus laptops use ECDT _GPE (Mark Langsdorf) [1997696] - ACPI: event: Remove redundant initialization of local variable (Mark Langsdorf) [1997696] - ACPI: sbshc: Fix fall-through warning for Clang (Mark Langsdorf) [1997696] - ACPI: PM / fan: Put fan device IDs into separate header file (Mark Langsdorf) [1997696] - ACPI: APEI: Don't warn if ACPI is disabled (Mark Langsdorf) [1997696] - ACPI: processor idle: Fix up C-state latency if not ordered (Mark Langsdorf) [1997696] - ACPI: scan: Rearrange dep_unmet initialization (Mark Langsdorf) [1997696] - ACPI: DPTF: Add battery participant for Intel SoCs (Mark Langsdorf) [1997696] - md/raid5: avoid device_lock in read_one_chunk() (Nigel Croxon) [1985919] - md: add comments in md_integrity_register (Nigel Croxon) [1985919] - md: check level before create and exit io_acct_set (Nigel Croxon) [1985919] - md/raid10: enable io accounting (Nigel Croxon) [1985919] - md/raid1: enable io accounting (Nigel Croxon) [1985919] - md/raid5: avoid redundant bio clone in raid5_read_one_chunk (Nigel Croxon) [1985919] - md/raid5: move checking badblock before clone bio in raid5_read_one_chunk (Nigel Croxon) [1985919] - md: add io accounting for raid0 and raid5 (Nigel Croxon) [1985919] - md: revert io stats accounting (Nigel Croxon) [1985919] - md/raid5: remove an incorrect assert in in_chunk_boundary (Nigel Croxon) [1985919] - md: use rdev_read_only in restart_array (Nigel Croxon) [1985919] - md/raid6: refactor raid5_read_one_chunk (Nigel Croxon) [1985919] - md: remove md_bio_alloc_sync (Nigel Croxon) [1985919] - md: simplify sync_page_io (Nigel Croxon) [1985919] - md: remove bio_alloc_mddev (Nigel Croxon) [1985919] - md: use part_[begin|end]_io_acct instead of disk_[begin|end]_io_acct (Nigel Croxon) [1985919] - md: improve io stats accounting (Nigel Croxon) [1985919]- ethernet: use eth_hw_addr_set() for dev->addr_len cases (Corinna Vinschen) [1970663] - igbvf: convert to strongly typed descriptors (Corinna Vinschen) [1970663] - intel: call csum functions with well formatted arguments (Corinna Vinschen) [1970663] - igb: handle vlan types with checker enabled (Corinna Vinschen) [1970663] - igb: fix netpoll exit with traffic (Corinna Vinschen) [1970662] - igb: unbreak I2C bit-banging on i350 (Corinna Vinschen) [1970662] - ethernet: use eth_hw_addr_set() for dev->addr_len cases (Corinna Vinschen) [1970662] - igb: Avoid memcpy() over-reading of ETH_SS_STATS (Corinna Vinschen) [1970662] - igb: Add counter to i21x doublecheck (Corinna Vinschen) [1970662] - igb: Fix position of assignment to *ring (Corinna Vinschen) [1970662] - igb: Check if num of q_vectors is smaller than max before array access (Corinna Vinschen) [1970662] - igb: Fix an error handling path in 'igb_probe()' (Corinna Vinschen) [1970662] - igb: Fix use-after-free error during reset (Corinna Vinschen) [1970662] - intel: Remove rcu_read_lock() around XDP program invocation (Corinna Vinschen) [1970662] - igb: add correct exception tracing for XDP (Corinna Vinschen) [1970662] - igb: Fix XDP with PTP enabled (Corinna Vinschen) [1970662] - igb: Fix -Wunused-const-variable warning (Corinna Vinschen) [1970662] - igb: override two checker warnings (Corinna Vinschen) [1970662] - igb: fix assignment on big endian machines (Corinna Vinschen) [1970662] - igb: handle vlan types with checker enabled (Corinna Vinschen) [1970662] - igb/igc: use strongly typed pointer (Corinna Vinschen) [1970662] - intel: remove checker warning (Corinna Vinschen) [1970662] - i40e: Fix NULL pointer dereference in i40e_dbg_dump_desc (Stefan Assmann) [1970651] - i40e: Fix pre-set max number of queues for VF (Stefan Assmann) [1970651] - i40e: Fix failed opcode appearing if handling messages from VF (Stefan Assmann) [1970651] - i40e: Fix display error code in dmesg (Stefan Assmann) [1970651] - i40e: Fix creation of first queue by omitting it if is not power of two (Stefan Assmann) [1970651] - i40e: Fix warning message and call stack during rmmod i40e driver (Stefan Assmann) [1970651] - i40e: Fix ping is lost after configuring ADq on VF (Stefan Assmann) [1970651] - i40e: Fix changing previously set num_queue_pairs for PFs (Stefan Assmann) [1970651] - i40e: Fix NULL ptr dereference on VSI filter sync (Stefan Assmann) [1970651] - i40e: Fix correct max_pkt_size on VF RX queue (Stefan Assmann) [1970651] - ethernet: constify references to netdev->dev_addr in drivers (Stefan Assmann) [1970651] - ethernet: use eth_hw_addr_set() instead of ether_addr_copy() (Stefan Assmann) [1970651] - i40e: Fix ATR queue selection (Stefan Assmann) [1970651] - i40e: Fix spelling mistake "dissable" -> "disable" (Stefan Assmann) [1970651] - iavf: do not override the adapter state in the watchdog task (again) (Stefan Assmann) [1970650] - iavf: missing unlocks in iavf_watchdog_task() (Stefan Assmann) [1970650] - iavf: Fix reporting when setting descriptor count (Stefan Assmann) [1970650] - iavf: restore MSI state on reset (Stefan Assmann) [1970650] - iavf: Fix displaying queue statistics shown by ethtool (Stefan Assmann) [1970650] - iavf: Refactor string format to avoid static analysis warnings (Stefan Assmann) [1970650] - iavf: Refactor text of informational message (Stefan Assmann) [1970650] - iavf: Fix static code analysis warning (Stefan Assmann) [1970650] - iavf: Refactor iavf_mac_filter struct memory usage (Stefan Assmann) [1970650] - iavf: Enable setting RSS hash key (Stefan Assmann) [1970650] - iavf: Add trace while removing device (Stefan Assmann) [1970650] - iavf: return errno code instead of status code (Stefan Assmann) [1970650] - iavf: Log info when VF is entering and leaving Allmulti mode (Stefan Assmann) [1970650] - iavf: Add change MTU message (Stefan Assmann) [1970650] - iavf: Fix VLAN feature flags after VFR (Stefan Assmann) [1970650] - iavf: Fix refreshing iavf adapter stats on ethtool request (Stefan Assmann) [1970650] - iavf: Fix deadlock occurrence during resetting VF interface (Stefan Assmann) [1970650] - iavf: Prevent changing static ITR values if adaptive moderation is on (Stefan Assmann) [1970650] - iavf: Restore VLAN filters after link down (Stefan Assmann) [1970650] - iavf: Fix for setting queues to 0 (Stefan Assmann) [1970650] - iavf: Fix for the false positive ASQ/ARQ errors while issuing VF reset (Stefan Assmann) [1970650] - iavf: validate pointers (Stefan Assmann) [1970650] - iavf: prevent accidental free of filter structure (Stefan Assmann) [1970650] - iavf: Fix failure to exit out from last all-multicast mode (Stefan Assmann) [1970650] - iavf: don't clear a lock we don't hold (Stefan Assmann) [1970650] - iavf: free q_vectors before queues in iavf_disable_vf (Stefan Assmann) [1970650] - iavf: check for null in iavf_fix_features (Stefan Assmann) [1970650] - iavf: Fix return of set the new channel count (Stefan Assmann) [1970650] - iavf: Fix kernel BUG in free_msi_irqs (Stefan Assmann) [1970650] - iavf: Add helper function to go from pci_dev to adapter (Stefan Assmann) [1970650] - iavf: Combine init and watchdog state machines (Stefan Assmann) [1970650] - iavf: Add __IAVF_INIT_FAILED state (Stefan Assmann) [1970650] - iavf: Refactor iavf state machine tracking (Stefan Assmann) [1970650] - iavf: fix double unlock of crit_lock (Stefan Assmann) [1970650] - ethernet: use eth_hw_addr_set() instead of ether_addr_copy() (Stefan Assmann) [1970650] - iavf: Fix ping is lost after untrusted VF had tried to change MAC (Stefan Assmann) [1970650] - iavf: use mutexes for locking of critical sections (Stefan Assmann) [1970650] - qed: rdma - don't wait for resources under hw error recovery flow (Manish Chopra) [1998195] - qed: Handle management FW error (Manish Chopra) [1998195] - qede: Fix memset corruption (Manish Chopra) [1998195] - qed: Enable automatic recovery on error condition. (Manish Chopra) [1998195] - qed: Fix the VF msix vectors flow (Manish Chopra) [1998195] - qed: Fix null-pointer dereference in qed_rdma_create_qp() (Manish Chopra) [1998195] - qed: qed ll2 race condition fixes (Manish Chopra) [1998195] - qed: Remove duplicated include of kernel.h (Manish Chopra) [1998195] - qed: Remove redundant prints from the iWARP SYN handling (Manish Chopra) [1998195] - qed: Skip DORQ attention handling during recovery (Manish Chopra) [1998195] - qed: Avoid db_recovery during recovery (Manish Chopra) [1998195] - qede: fix crash in rmmod qede while automatic debug collection (Manish Chopra) [1998195] - RDMA/qedr: Improve error logs for rdma_alloc_tid error return (Manish Chopra) [1998195] - RDMA/qed: Use accurate error num in qed_cxt_dynamic_ilt_alloc (Manish Chopra) [1998195] - net: qed: remove unneeded return variables (Manish Chopra) [1998195] - net: qede: Fix end of loop tests for list_for_each_entry (Manish Chopra) [1998195] - qede: Remove rcu_read_lock() around XDP program invocation (Manish Chopra) [1998195] - net: qed: Fix memcpy() overflow of qed_dcbx_params() (Manish Chopra) [1998195] - net: qede: Use list_for_each_entry() to simplify code (Manish Chopra) [1998195] - qed: Fix duplicate included linux/kernel.h (Manish Chopra) [1998195] - qed: Add IP services APIs support (Manish Chopra) [1998195] - qed: Add NVMeTCP Offload IO Level FW Initializations (Manish Chopra) [1998195] - qed: Add NVMeTCP Offload IO Level FW and HW HSI (Manish Chopra) [1998195] - qed: Add support of HW filter block (Manish Chopra) [1998195] - qed: Add NVMeTCP Offload Connection Level FW and HW HSI (Manish Chopra) [1998195] - qed: Add NVMeTCP Offload PF Level FW and HW HSI (Manish Chopra) [1998195] - qed: Add TCP_ULP FW resource layout (Manish Chopra) [1998195] - net: qed: remove redundant initialization of variable rc (Manish Chopra) [1998195] - net: qed: remove unused including (Manish Chopra) [1998195] - qede: remove unused including (Manish Chopra) [1998195] - linux/qed: Mundane spelling fixes throughout the file (Manish Chopra) [1998195] - qed: Fix fall-through warnings for Clang (Manish Chopra) [1998195] - RDMA/qedr: Use true and false for bool variable (Manish Chopra) [1998195] - qede: preserve per queue stats across up/down of interface (Manish Chopra) [1998195] - qede: add per queue coalesce support for qede driver (Manish Chopra) [1998195] - qede: add netpoll support for qede driver (Manish Chopra) [1998195] - RDMA/qedr: Remove in_irq() usage from debug output (Manish Chopra) [1998195] - linux/qed: fix spelling typo in qed_chain.h (Manish Chopra) [1998195] - qed: select CONFIG_CRC32 (Manish Chopra) [1998195] - IB/qedr: Fix fall-through warnings for Clang (Manish Chopra) [1998195] - RDMA/qedr: Endianness warnings cleanup (Manish Chopra) [1998195] - qed/qed_ll2: Replace one-element array with flexible-array member (Manish Chopra) [1998195] - net: qed: use true,false for bool variables (Manish Chopra) [1998195] - RDMA/qedr: Fix reported max_pkeys (Manish Chopra) [1998195] - qed: align adjacent indent (Manish Chopra) [1998195] - qed: fix kconfig help entries (Manish Chopra) [1998195] - sched/cputime: Fix getrusage(RUSAGE_THREAD) with nohz_full (Phil Auld) [1992387] - net: tg3: fix obsolete check of !err (Ken Cox) [1987082] - net: broadcom: switch from 'pci_' to 'dma_' API (Ken Cox) [1987082] - tg3: Remove unused PHY_BRCM flags (Ken Cox) [1987082] - net: check skb sec_path when re-initializing slow_gro in gro_list_prepare (Xin Long) [2030476] - e1000e: Fix the max snoop/no-snoop latency for 10M (Ken Cox) [1970665] - net/e1000e: Fix spelling mistake "The" -> "This" (Ken Cox) [1970665] - e1000e: Add space to the debug print (Ken Cox) [1970665] - e1000e: Additional PHY power saving in S0ix (Ken Cox) [1970665] - e1000e: Add polling mechanism to indicate CSME DPG exit (Ken Cox) [1970665] - e1000e: Add handshake with the CSME to support S0ix (Ken Cox) [1970665] - e1000e: Fix an error handling path in 'e1000_probe()' (Ken Cox) [1970665] - e1000e: Check the PCIm state (Ken Cox) [1970665] - net: e1000e: fix misspell word "retreived" (Ken Cox) [1970665] - net: e1000e: remove repeated word "slot" for netdev.c (Ken Cox) [1970665] - net: e1000e: remove repeated word "the" for ich8lan.c (Ken Cox) [1970665] - ppc64: Fix incorrect qrwlock use in debug kernel (Waiman Long) [2027200] - locking: Remove spin_lock_flags() etc (Waiman Long) [2027200] - Bluetooth: btusb: Add one more Bluetooth part for WCN6855 (Gopal Tiwari) [2007903] - Bluetooth: btusb: Add the new support IDs for WCN6855 (Gopal Tiwari) [2007903] - Bluetooth: btusb: re-definition for board_id in struct qca_version (Gopal Tiwari) [2007903] - Bluetooth: btusb: Add support using different nvm for variant WCN6855 controller (Gopal Tiwari) [2007903] - bpf/selftests: enable atomic_bounds test (Viktor Malik) [2030572] - Revert "bpf: Remove atomics tests from test_progs" (Viktor Malik) [2030572] - bpf/selftests: disable tests failing on RHEL 8.6 (Viktor Malik) [2025797 2025801 2025810 2025812 2025813] - bpf/selftests: allow disabling prog_tests (Viktor Malik) [2030572] - xfs: drop experimental warnings for bigtime and inobtcount (Bill O'Donnell) [2022903] - libxfs: expose inobtcount in xfs geometry (Bill O'Donnell) [2022903] - xfs: enable new inode btree counters feature (Bill O'Donnell) [2022903] - xfs: enable big timestamps (Bill O'Donnell) [2022903] - selftests: net: bridge: fix typo in vlan_filtering dependency test (Ivan Vecera) [2019055] - selftests: net: bridge: add test for vlan_filtering dependency (Ivan Vecera) [2019055] - selftests: net: bridge: add vlan mcast_router tests (Ivan Vecera) [2019055] - selftests: net: bridge: add vlan mcast query and query response interval tests (Ivan Vecera) [2019055] - selftests: net: bridge: add vlan mcast_querier_interval tests (Ivan Vecera) [2019055] - selftests: net: bridge: add vlan mcast_membership_interval test (Ivan Vecera) [2019055] - selftests: net: bridge: add vlan mcast_startup_query_count/interval tests (Ivan Vecera) [2019055] - selftests: net: bridge: add vlan mcast_last_member_count/interval tests (Ivan Vecera) [2019055] - selftests: net: bridge: add vlan mcast igmp/mld version tests (Ivan Vecera) [2019055] - selftests: net: bridge: add vlan mcast querier test (Ivan Vecera) [2019055] - selftests: net: bridge: add vlan mcast snooping control test (Ivan Vecera) [2019055] - selftests: net: bridge: update IGMP/MLD membership interval value (Ivan Vecera) [2019055] - net: bridge: mcast: use multicast_membership_interval for IGMPv3 (Ivan Vecera) [2019055] - net: bridge: fix under estimation in br_get_linkxstats_size() (Ivan Vecera) [2019055] - net: bridge: use nla_total_size_64bit() in br_get_linkxstats_size() (Ivan Vecera) [2019055] - net: bridge: mcast: Associate the seqcount with its protecting lock. (Ivan Vecera) [2019055] - net: bridge: mcast: fix vlan port router deadlock (Ivan Vecera) [2019055] - net: bridge: use mld2r_ngrec instead of icmpv6_dataun (Ivan Vecera) [2019055] - net: bridge: change return type of br_handle_ingress_vlan_tunnel (Ivan Vecera) [2019055] - net: bridge: vlan: convert mcast router global option to per-vlan entry (Ivan Vecera) [2019055] - net: bridge: mcast: br_multicast_set_port_router takes multicast context as argument (Ivan Vecera) [2019055] - net: bridge: mcast: toggle also host vlan state in br_multicast_toggle_vlan (Ivan Vecera) [2019055] - net: bridge: mcast: use the correct vlan group helper (Ivan Vecera) [2019055] - net: bridge: vlan: account for router port lists when notifying (Ivan Vecera) [2019055] - net: bridge: vlan: enable mcast snooping for existing master vlans (Ivan Vecera) [2019055] - net: bridge: mcast: account for ipv6 size when dumping querier state (Ivan Vecera) [2019055] - net: bridge: mcast: drop sizeof for nest attribute's zero size (Ivan Vecera) [2019055] - net: bridge: mcast: don't dump querier state if snooping is disabled (Ivan Vecera) [2019055] - net: bridge: vlan: dump mcast ctx querier state (Ivan Vecera) [2019055] - net: bridge: mcast: dump ipv6 querier state (Ivan Vecera) [2019055] - net: bridge: mcast: dump ipv4 querier state (Ivan Vecera) [2019055] - net: bridge: mcast: consolidate querier selection for ipv4 and ipv6 (Ivan Vecera) [2019055] - net: bridge: mcast: make sure querier port/address updates are consistent (Ivan Vecera) [2019055] - net: bridge: mcast: record querier port device ifindex instead of pointer (Ivan Vecera) [2019055] - net: bridge: vlan: use br_rports_fill_info() to export mcast router ports (Ivan Vecera) [2019055] - net: bridge: mcast: use the proper multicast context when dumping router ports (Ivan Vecera) [2019055] - net: bridge: vlan: add support for mcast router global option (Ivan Vecera) [2019055] - net: bridge: vlan: add support for mcast querier global option (Ivan Vecera) [2019055] - net: bridge: mcast: querier and query state affect only current context type (Ivan Vecera) [2019055] - net: bridge: mcast: move querier state to the multicast context (Ivan Vecera) [2019055] - net: bridge: vlan: add support for mcast startup query interval global option (Ivan Vecera) [2019055] - net: bridge: vlan: add support for mcast query response interval global option (Ivan Vecera) [2019055] - net: bridge: vlan: add support for mcast query interval global option (Ivan Vecera) [2019055] - net: bridge: vlan: add support for mcast querier interval global option (Ivan Vecera) [2019055] - net: bridge: vlan: add support for mcast membership interval global option (Ivan Vecera) [2019055] - net: bridge: vlan: add support for mcast last member interval global option (Ivan Vecera) [2019055] - net: bridge: vlan: add support for mcast startup query count global option (Ivan Vecera) [2019055] - net: bridge: vlan: add support for mcast last member count global option (Ivan Vecera) [2019055] - net: bridge: vlan: add support for mcast igmp/mld version global options (Ivan Vecera) [2019055] - net: switchdev: zero-initialize struct switchdev_notifier_fdb_info emitted by drivers towards the bridge (Ivan Vecera) [2019055] - net: bridge: fix flags interpretation for extern learn fdb entries (Ivan Vecera) [2019055] - net: bridge: vlan: fix global vlan option range dumping (Ivan Vecera) [2019055] - net: bridge: fix memleak in br_add_if() (Ivan Vecera) [2019055] - net: make switchdev_bridge_port_{,unoffload} loosely coupled with the bridge (Ivan Vecera) [2019055] - net: bridge: switchdev: fix incorrect use of FDB flags when picking the dst device (Ivan Vecera) [2019055] - net: bridge: validate the NUD_PERMANENT bit when adding an extern_learn FDB entry (Ivan Vecera) [2019055] - net: bridge: switchdev: treat local FDBs the same as entries towards the bridge (Ivan Vecera) [2019055] - net: bridge: switchdev: replay the entire FDB for each port (Ivan Vecera) [2019055] - net: bridge: add a helper for retrieving port VLANs from the data path (Ivan Vecera) [2019055] - net: bridge: update BROPT_VLAN_ENABLED before notifying switchdev in br_vlan_filter_toggle (Ivan Vecera) [2019055] - net: bridge: fix build when setting skb->offload_fwd_mark with CONFIG_NET_SWITCHDEV=n (Ivan Vecera) [2019055] - net: bridge: switchdev: allow the TX data plane forwarding to be offloaded (Ivan Vecera) [2019055] - net: switchdev: fix FDB entries towards foreign ports not getting propagated to us (Ivan Vecera) [2019055] - net: bridge: move the switchdev object replay helpers to "push" mode (Ivan Vecera) [2019055] - net: bridge: guard the switchdev replay helpers against a NULL notifier block (Ivan Vecera) [2019055] - net: bridge: switchdev: let drivers inform which bridge ports are offloaded (Ivan Vecera) [2019055] - net: bridge: switchdev: recycle unused hwdoms (Ivan Vecera) [2019055] - net: bridge: disambiguate offload_fwd_mark (Ivan Vecera) [2019055] - net: bridge: multicast: add context support for host-joined groups (Ivan Vecera) [2019055] - net: bridge: multicast: add mdb context support (Ivan Vecera) [2019055] - net: bridge: multicast: fix igmp/mld port context null pointer dereferences (Ivan Vecera) [2019055] - net: switchdev: recurse into __switchdev_handle_fdb_del_to_device (Ivan Vecera) [2019055] - net: switchdev: remove stray semicolon in switchdev_handle_fdb_del_to_device shim (Ivan Vecera) [2019055] - net: bridge: vlan: add mcast snooping control (Ivan Vecera) [2019055] - net: bridge: vlan: notify when global options change (Ivan Vecera) [2019055] - net: bridge: vlan: add support for dumping global vlan options (Ivan Vecera) [2019055] - net: bridge: vlan: add support for global options (Ivan Vecera) [2019055] - net: bridge: multicast: include router port vlan id in notifications (Ivan Vecera) [2019055] - net: bridge: multicast: add vlan querier and query support (Ivan Vecera) [2019055] - net: bridge: multicast: check if should use vlan mcast ctx (Ivan Vecera) [2019055] - net: bridge: multicast: use the port group to port context helper (Ivan Vecera) [2019055] - net: bridge: multicast: add helper to get port mcast context from port group (Ivan Vecera) [2019055] - net: bridge: add vlan mcast snooping knob (Ivan Vecera) [2019055] - net: bridge: multicast: add vlan state initialization and control (Ivan Vecera) [2019055] - net: bridge: vlan: add global and per-port multicast context (Ivan Vecera) [2019055] - net: bridge: multicast: use multicast contexts instead of bridge or port (Ivan Vecera) [2019055] - net: bridge: multicast: factor out bridge multicast context (Ivan Vecera) [2019055] - net: bridge: multicast: factor out port multicast context (Ivan Vecera) [2019055] - net: switchdev: introduce a fanout helper for SWITCHDEV_FDB_{ADD,DEL}_TO_DEVICE (Ivan Vecera) [2019055] - net: switchdev: introduce helper for checking dynamically learned FDB entries (Ivan Vecera) [2019055] - net: bridge: do not replay fdb entries pointing towards the bridge twice (Ivan Vecera) [2019055] - net: bridge: multicast: fix MRD advertisement router port marking race (Ivan Vecera) [2019055] - net: bridge: multicast: fix PIM hello router port marking race (Ivan Vecera) [2019055] - net: bridge: sync fdb to new unicast-filtering ports (Ivan Vecera) [2019055] - net: bridge: allow br_fdb_replay to be called for the bridge device (Ivan Vecera) [2019055] - net: bridge: switchdev: send FDB notifications for host addresses (Ivan Vecera) [2019055] - net: bridge: use READ_ONCE() and WRITE_ONCE() compiler barriers for fdb->dst (Ivan Vecera) [2019055] - net: bridge: allow the switchdev replay functions to be called for deletion (Ivan Vecera) [2019055] - net: bridge: constify variables in the replay helpers (Ivan Vecera) [2019055] - net: bridge: ignore switchdev events for LAG ports which didn't request replay (Ivan Vecera) [2019055] - net: switchdev: add a context void pointer to struct switchdev_notifier_info (Ivan Vecera) [2019055] - net: bridge: include the is_local bit in br_fdb_replay (Ivan Vecera) [2019055] - net: bridge: mrp: Update the Test frames for MRA (Ivan Vecera) [2019055] - bridge: cfm: remove redundant return (Ivan Vecera) [2019055] - net: bridge: remove redundant continue statement (Ivan Vecera) [2019055] - net: bridge: fix vlan tunnel dst refcnt when egressing (Ivan Vecera) [2019055] - net: bridge: fix vlan tunnel dst null pointer dereference (Ivan Vecera) [2019055] - net: bridge: mrp: Update ring transitions. (Ivan Vecera) [2019055] - net: bridge: remove redundant assignment (Ivan Vecera) [2019055] - net: bridge: fix br_multicast_is_router stub when igmp is disabled (Ivan Vecera) [2019055] - net: bridge: fix build when IPv6 is disabled (Ivan Vecera) [2019055] - net: bridge: mcast: export multicast router presence adjacent to a port (Ivan Vecera) [2019055] - net: bridge: mcast: add ip4+ip6 mcast router timers to mdb netlink (Ivan Vecera) [2019055] - net: bridge: mcast: split multicast router state for IPv4 and IPv6 (Ivan Vecera) [2019055] - net: bridge: mcast: split router port del+notify for mcast router split (Ivan Vecera) [2019055] - net: bridge: mcast: prepare add-router function for mcast router split (Ivan Vecera) [2019055] - net: bridge: mcast: prepare expiry functions for mcast router split (Ivan Vecera) [2019055] - net: bridge: mcast: prepare is-router function for mcast router split (Ivan Vecera) [2019055] - net: bridge: mcast: prepare query reception for mcast router split (Ivan Vecera) [2019055] - net: bridge: mcast: prepare mdb netlink for mcast router split (Ivan Vecera) [2019055] - net: bridge: mcast: add wrappers for router node retrieval (Ivan Vecera) [2019055] - net: bridge: mcast: rename multicast router lists and timers (Ivan Vecera) [2019055] - bridge: Fix possible races between assigning rx_handler_data and setting IFF_BRIDGE_PORT bit (Ivan Vecera) [2019055] - net: bridge: mcast: fix broken length + header check for MRDv6 Adv. (Ivan Vecera) [2019055] - net: bridge: fix error in br_multicast_add_port when CONFIG_NET_SWITCHDEV=n (Ivan Vecera) [2019055] - net: bridge: propagate error code and extack from br_mc_disabled_update (Ivan Vecera) [2019055] - net: bridge: Fix missing return assignment from br_vlan_replay_one call (Ivan Vecera) [2019055] - bridge: mrp: Disable roles before deleting the MRP instance (Ivan Vecera) [2019055] - net: bridge: add helper to replay VLANs installed on port (Ivan Vecera) [2019055] - net: bridge: add helper to replay port and local fdb entries (Ivan Vecera) [2019055] - net: bridge: add helper to replay port and host-joined mdb entries (Ivan Vecera) [2019055] - net: bridge: add helper to retrieve the current ageing time (Ivan Vecera) [2019055] - net: bridge: add helper for retrieving the current bridge port STP state (Ivan Vecera) [2019055] - net: bridge: when suppression is enabled exclude RARP packets (Ivan Vecera) [2019055] - net: bridge: declare br_vlan_tunnel_lookup argument tunnel_id as __be64 (Ivan Vecera) [2019055] - Documentation: networking: switchdev: add missing "and" word (Ivan Vecera) [2019055] - Documentation: networking: switchdev: separate bulleted items with new line (Ivan Vecera) [2019055] - Documentation: networking: switchdev: fix command for static FDB entries (Ivan Vecera) [2019055] - Documentation: networking: switchdev: clarify device driver behavior (Ivan Vecera) [2019055] - net: bridge: mcast: factor out common allow/block EHT handling (Ivan Vecera) [2019055] - net: bridge: mcast: remove unreachable EHT code (Ivan Vecera) [2019055] - net: bridge: Fix fall-through warnings for Clang (Ivan Vecera) [2019055] - bridge: mrp: Update br_mrp to use new return values of br_mrp_switchdev (Ivan Vecera) [2019055] - bridge: mrp: Extend br_mrp_switchdev to detect better the errors (Ivan Vecera) [2019055] - bridge: mrp: Add 'enum br_mrp_hw_support' (Ivan Vecera) [2019055] - switchdev: mrp: Extend ring_role_mrp and in_role_mrp (Ivan Vecera) [2019055] - switchdev: mrp: Remove CONFIG_BRIDGE_MRP (Ivan Vecera) [2019055] - net: bridge: fix br_vlan_filter_toggle stub when CONFIG_BRIDGE_VLAN_FILTERING=n (Ivan Vecera) [2019055] - net: bridge: fix switchdev_port_attr_set stub when CONFIG_SWITCHDEV=n (Ivan Vecera) [2019055] - net: bridge: propagate extack through switchdev_port_attr_set (Ivan Vecera) [2019055] - net: bridge: propagate extack through store_bridge_parm (Ivan Vecera) [2019055] - net: bridge: remove __br_vlan_filter_toggle (Ivan Vecera) [2019055] - net: switchdev: pass flags and mask to both {PRE_,}BRIDGE_FLAGS attributes (Ivan Vecera) [2019055] - net: bridge: don't print in br_switchdev_set_port_flag (Ivan Vecera) [2019055] - net: bridge: offload all port flags at once in br_setport (Ivan Vecera) [2019055] - net: switchdev: propagate extack to port attributes (Ivan Vecera) [2019055] - switchdev: mrp: Remove SWITCHDEV_ATTR_ID_MRP_PORT_STAT (Ivan Vecera) [2019055] - bridge: mrp: Fix the usage of br_mrp_port_switchdev_set_state (Ivan Vecera) [2019055] - net: bridge: mcast: Use ERR_CAST instead of ERR_PTR(PTR_ERR()) (Ivan Vecera) [2019055] - net: bridge: add warning comments to avoid extending sysfs (Ivan Vecera) [2019055] - net: bridge: mcast: drop hosts limit sysfs support (Ivan Vecera) [2019055] - net: bridge: multicast: make tracked EHT hosts limit configurable (Ivan Vecera) [2019055] - net: bridge: multicast: add per-port EHT hosts limit (Ivan Vecera) [2019055] - net: switchdev: use obj-$(CONFIG_NET_SWITCHDEV) form in net/Makefile (Ivan Vecera) [2019055] - net: switchdev: don't set port_obj_info->handled true when -EOPNOTSUPP (Ivan Vecera) [2019055] - net: bridge: multicast: fix br_multicast_eht_set_entry_lookup indentation (Ivan Vecera) [2019055] - bridge: Use PTR_ERR_OR_ZERO instead if(IS_ERR(...)) + PTR_ERR (Ivan Vecera) [2019055] - net: mrp: move struct definitions out of uapi (Ivan Vecera) [2019055] - net: mrp: fix definitions of MRP test packets (Ivan Vecera) [2019055] - net: bridge: multicast: mark IGMPv3/MLDv2 fast-leave deletes (Ivan Vecera) [2019055] - net: bridge: multicast: handle block pg delete for all cases (Ivan Vecera) [2019055] - net: bridge: multicast: add EHT host filter_mode handling (Ivan Vecera) [2019055] - net: bridge: multicast: optimize TO_INCLUDE EHT timeouts (Ivan Vecera) [2019055] - net: bridge: multicast: add EHT include and exclude handling (Ivan Vecera) [2019055] - net: bridge: multicast: add EHT allow/block handling (Ivan Vecera) [2019055] - net: bridge: multicast: add EHT host delete function (Ivan Vecera) [2019055] - net: bridge: multicast: add EHT source set handling functions (Ivan Vecera) [2019055] - net: bridge: multicast: add EHT host handling functions (Ivan Vecera) [2019055] - net: bridge: multicast: add EHT structures and definitions (Ivan Vecera) [2019055] - net: bridge: multicast: calculate idx position without changing ptr (Ivan Vecera) [2019055] - net: bridge: multicast: __grp_src_block_incl can modify pg (Ivan Vecera) [2019055] - net: bridge: multicast: pass host src address to IGMPv3/MLDv2 functions (Ivan Vecera) [2019055] - net: bridge: multicast: rename src_size to addr_size (Ivan Vecera) [2019055] - net: bridge: check vlan with eth_type_vlan() method (Ivan Vecera) [2019055] - net: switchdev: delete the transaction object (Ivan Vecera) [2019055] - mlxsw: spectrum_switchdev: remove transactional logic for VLAN objects (Ivan Vecera) [2019055] - net: switchdev: remove the transaction structure from port attributes (Ivan Vecera) [2019055] - net: switchdev: delete switchdev_port_obj_add_now (Ivan Vecera) [2019055] - net: switchdev: remove the transaction structure from port object notifiers (Ivan Vecera) [2019055] - net: switchdev: remove vid_begin -> vid_end range from VLAN objects (Ivan Vecera) [2019055] - net: bridge: fix misspellings using codespell tool (Ivan Vecera) [2019055] - net: bridge: notify switchdev of disappearance of old FDB entry upon migration (Ivan Vecera) [2019055] - bridge: Fix a deadlock when enabling multicast snooping (Ivan Vecera) [2019055] - bridge: mrp: Implement LC mode for MRP (Ivan Vecera) [2019055] - net: bridge: switch to net core statistics counters handling (Ivan Vecera) [2019055] - net: bridge: replace struct br_vlan_stats with pcpu_sw_netstats (Ivan Vecera) [2019055] - bridge: mrp: Use hlist_head instead of list_head for mrp (Ivan Vecera) [2019055] - selftests: net: bridge: add test for mldv2 *,g auto-add (Ivan Vecera) [2019055] - selftests: net: bridge: add test for mldv2 exclude timeout (Ivan Vecera) [2019055] - selftests: net: bridge: add test for mldv2 exc -> block report (Ivan Vecera) [2019055] - selftests: net: bridge: add test for mldv2 inc -> block report (Ivan Vecera) [2019055] - selftests: net: bridge: add test for mldv2 exc -> to_exclude report (Ivan Vecera) [2019055] - selftests: net: bridge: add test for mldv2 exc -> is_exclude report (Ivan Vecera) [2019055] - selftests: net: bridge: add test for mldv2 exc -> is_include report (Ivan Vecera) [2019055] - selftests: net: bridge: add test for mldv2 exc -> allow report (Ivan Vecera) [2019055] - selftests: net: bridge: add test for mldv2 inc -> to_exclude report (Ivan Vecera) [2019055] - selftests: net: bridge: add test for mldv2 inc -> is_exclude report (Ivan Vecera) [2019055] - selftests: net: bridge: add test for mldv2 inc -> is_include report (Ivan Vecera) [2019055] - selftests: net: bridge: add test for mldv2 inc -> allow report (Ivan Vecera) [2019055] - selftests: net: bridge: add initial MLDv2 include test (Ivan Vecera) [2019055] - selftests: net: bridge: factor out and rename sg state functions (Ivan Vecera) [2019055] - selftests: net: lib: add support for IPv6 mcast packet test (Ivan Vecera) [2019055] - selftests: net: bridge: factor out mcast_packet_test (Ivan Vecera) [2019055] - net: bridge: mcast: fix stub definition of br_multicast_querier_exists (Ivan Vecera) [2019055] - net: bridge: explicitly convert between mdb entry state and port group flags (Ivan Vecera) [2019055] - net: bridge: mcast: add support for raw L2 multicast groups (Ivan Vecera) [2019055] - selftests: net: bridge: add test for igmpv3 *,g auto-add (Ivan Vecera) [2019055] - selftests: net: bridge: add test for igmpv3 exclude timeout (Ivan Vecera) [2019055] - selftests: net: bridge: add test for igmpv3 exc -> block report (Ivan Vecera) [2019055] - selftests: net: bridge: add test for igmpv3 inc -> block report (Ivan Vecera) [2019055] - selftests: net: bridge: add test for igmpv3 exc -> to_exclude report (Ivan Vecera) [2019055] - selftests: net: bridge: add test for igmpv3 exc -> is_exclude report (Ivan Vecera) [2019055] - selftests: net: bridge: add test for igmpv3 exc -> is_include report (Ivan Vecera) [2019055] - selftests: net: bridge: add test for igmpv3 exc -> allow report (Ivan Vecera) [2019055] - selftests: net: bridge: add test for igmpv3 inc -> to_exclude report (Ivan Vecera) [2019055] - selftests: net: bridge: add test for igmpv3 inc -> is_exclude report (Ivan Vecera) [2019055] - selftests: net: bridge: add test for igmpv3 inc -> is_include report (Ivan Vecera) [2019055] - selftests: net: bridge: add tests for igmpv3 is_include and inc -> allow reports (Ivan Vecera) [2019055] - selftests: net: bridge: igmp: add IGMPv3 entries' state helpers (Ivan Vecera) [2019055] - selftests: net: bridge: igmp: check for specific udp ip protocol (Ivan Vecera) [2019055] - selftests: net: bridge: igmp: add support for packet source address (Ivan Vecera) [2019055] - selftests: net: bridge: rename current igmp tests to igmpv2 (Ivan Vecera) [2019055] - net: bridge: fix uninitialized variables when BRIDGE_CFM is disabled (Ivan Vecera) [2019055] - bridge: cfm: Netlink Notifications. (Ivan Vecera) [2019055] - bridge: cfm: Netlink GET status Interface. (Ivan Vecera) [2019055] - bridge: cfm: Netlink GET configuration Interface. (Ivan Vecera) [2019055] - bridge: cfm: Netlink SET configuration Interface. (Ivan Vecera) [2019055] - bridge: cfm: Kernel space implementation of CFM. CCM frame RX added. (Ivan Vecera) [2019055] - bridge: cfm: Kernel space implementation of CFM. CCM frame TX added. (Ivan Vecera) [2019055] - bridge: cfm: Kernel space implementation of CFM. MEP create/delete. (Ivan Vecera) [2019055] - bridge: uapi: cfm: Added EtherType used by the CFM protocol. (Ivan Vecera) [2019055] - bridge: cfm: Add BRIDGE_CFM to Kconfig. (Ivan Vecera) [2019055] - net: bridge: extend the process of special frames (Ivan Vecera) [2019055] - bridge: Netlink interface fix. (Ivan Vecera) [2019055] - net: bridge: mcast: remove only S,G port groups from sg_port hash (Ivan Vecera) [2019055] - net: switchdev: Fixed kerneldoc warning (Ivan Vecera) [2019055] - net: bridge: mcast: when forwarding handle filter mode and blocked flag (Ivan Vecera) [2019055] - net: bridge: mcast: handle host state (Ivan Vecera) [2019055] - net: bridge: mcast: add support for blocked port groups (Ivan Vecera) [2019055] - net: bridge: mcast: handle port group filter modes (Ivan Vecera) [2019055] - net: bridge: mcast: install S,G entries automatically based on reports (Ivan Vecera) [2019055] - net: bridge: mcast: add sg_port rhashtable (Ivan Vecera) [2019055] - net: bridge: mcast: add rt_protocol field to the port group struct (Ivan Vecera) [2019055] - net: bridge: mcast: when igmpv3/mldv2 are enabled lookup (S,G) first, then (*,G) (Ivan Vecera) [2019055] - net: bridge: mdb: add support for add/del/dump of entries with source (Ivan Vecera) [2019055] - net: bridge: mdb: add support to extend add/del commands (Ivan Vecera) [2019055] - net: bridge: mcast: rename br_ip's u member to dst (Ivan Vecera) [2019055] - net: bridge: mcast: use br_ip's src for src groups and querier address (Ivan Vecera) [2019055] - net: bridge: add src field to br_ip (Ivan Vecera) [2019055] - net: bridge: mdb: use extack in br_mdb_add() and br_mdb_add_group() (Ivan Vecera) [2019055] - net: bridge: mdb: move all port and bridge checks to br_mdb_add (Ivan Vecera) [2019055] - net: bridge: mdb: use extack in br_mdb_parse() (Ivan Vecera) [2019055] - net: bridge: delete duplicated words (Ivan Vecera) [2019055] - net: bridge: mcast: don't ignore return value of __grp_src_toex_excl (Ivan Vecera) [2019055] - __netif_receive_skb_core: don't untag vlan from skb on DSA master (Ivan Vecera) [2019055] - bridge: mcast: Fix incomplete MDB dump (Ivan Vecera) [2019055] - net: bridge: mcast: fix unused br var when lockdep isn't defined (Ivan Vecera) [2019055] - net: bridge: mcast: destroy all entries via gc (Ivan Vecera) [2019055] - net: bridge: mcast: improve IGMPv3/MLDv2 query processing (Ivan Vecera) [2019055] - net: bridge: mcast: support for IGMPV3/MLDv2 BLOCK_OLD_SOURCES report (Ivan Vecera) [2019055] - net: bridge: mcast: support for IGMPV3/MLDv2 CHANGE_TO_INCLUDE/EXCLUDE report (Ivan Vecera) [2019055] - net: bridge: mcast: support for IGMPV3/MLDv2 MODE_IS_INCLUDE/EXCLUDE report (Ivan Vecera) [2019055] - net: bridge: mcast: support for IGMPv3/MLDv2 ALLOW_NEW_SOURCES report (Ivan Vecera) [2019055] - net: bridge: mcast: delete expired port groups without srcs (Ivan Vecera) [2019055] - net: bridge: mdb: use mdb and port entries in notifications (Ivan Vecera) [2019055] - net: bridge: mdb: push notifications in __br_mdb_add/del (Ivan Vecera) [2019055] - net: bridge: mcast: add support for group query retransmit (Ivan Vecera) [2019055] - net: bridge: mcast: add support for group-and-source specific queries (Ivan Vecera) [2019055] - net: bridge: mcast: add support for src list and filter mode dumping (Ivan Vecera) [2019055] - net: bridge: mcast: add support for group source list (Ivan Vecera) [2019055] - net: bridge: mcast: factor out port group del (Ivan Vecera) [2019055] - net: bridge: mdb: arrange internal structs so fast-path fields are close (Ivan Vecera) [2019055] - netlink: consistently use NLA_POLICY_EXACT_LEN() (Ivan Vecera) [2019055] - net: bridge: Add port attribute IFLA_BRPORT_MRP_IN_OPEN (Ivan Vecera) [2019055] - bridge: mrp: Extend br_mrp_fill_info (Ivan Vecera) [2019055] - bridge: uapi: mrp: Extend MRP_INFO attributes for interconnect status (Ivan Vecera) [2019055] - bridge: mrp: Extend MRP netlink interface for configuring MRP interconnect (Ivan Vecera) [2019055] - bridge: mrp: Implement the MRP Interconnect API (Ivan Vecera) [2019055] - bridge: switchdev: mrp: Extend MRP API for switchdev for MRP Interconnect (Ivan Vecera) [2019055] - bridge: mrp: Add br_mrp_in_port_open function (Ivan Vecera) [2019055] - bridge: mrp: Rename br_mrp_port_open to br_mrp_ring_port_open (Ivan Vecera) [2019055] - bridge: mrp: Extend br_mrp for MRP interconnect (Ivan Vecera) [2019055] - bridge: mrp: Extend bridge interface (Ivan Vecera) [2019055] - bridge: uapi: mrp: Extend MRP attributes for MRP interconnect (Ivan Vecera) [2019055] - switchdev: mrp: Extend switchdev API for MRP Interconnect (Ivan Vecera) [2019055] - net: bridge: fix undefined br_vlan_can_enter_range in tunnel code (Ivan Vecera) [2019055] - net: switchdev: kerneldoc fixes (Ivan Vecera) [2019055] - net: bridge: notify on vlan tunnel changes done via the old api (Ivan Vecera) [2019055] - bridge: Extend br_fill_ifinfo to return MPR status (Ivan Vecera) [2019055] - bridge: mrp: Add br_mrp_fill_info (Ivan Vecera) [2019055] - bridge: uapi: mrp: Extend MRP attributes to get the status (Ivan Vecera) [2019055] - bridge: mrp: Fix endian conversion and some other warnings (Ivan Vecera) [2019055] - net: bridge: add a flag to avoid refreshing fdb when changing/adding (Ivan Vecera) [2019055] - net: bridge: add option to allow activity notifications for any fdb entries (Ivan Vecera) [2019055] - net: neighbor: add fdb extended attribute (Ivan Vecera) [2019055] - net: bridge: fdb_add_entry takes ndm as argument (Ivan Vecera) [2019055] - bridge: mrp: Validate when setting the port role (Ivan Vecera) [2019055] - bridge: uapi: mrp: Fix MRP_PORT_ROLE (Ivan Vecera) [2019055] - bridge: mrp: Add support for role MRA (Ivan Vecera) [2019055] - bridge: mrp: Set the priority of MRP instance (Ivan Vecera) [2019055] - bridge: mrp: Update MRP frame type (Ivan Vecera) [2019055] - bridge: multicast: work around clang bug (Ivan Vecera) [2019055] - bridge: mrp: Rework the MRP netlink interface (Ivan Vecera) [2019055] - bridge: mrp: Fix out-of-bounds read in br_mrp_parse (Ivan Vecera) [2019055] - bridge: mrp: Restore port state when deleting MRP instance (Ivan Vecera) [2019055] - switchdev: mrp: Remove the variable mrp_ring_state (Ivan Vecera) [2019055] - bridge: mrp: Add br_mrp_unique_ifindex function (Ivan Vecera) [2019055] - net: bridge: allow enslaving some DSA master network devices (Ivan Vecera) [2019055] - net: remove newlines in NL_SET_ERR_MSG_MOD (Ivan Vecera) [2019055] - net: bridge: return false in br_mrp_enabled() (Ivan Vecera) [2019055] - docs: networking: convert switchdev.txt to ReST (Ivan Vecera) [2019055] - net: bridge: Add checks for enabling the STP. (Ivan Vecera) [2019055] - bridge: mrp: Integrate MRP into the bridge (Ivan Vecera) [2019055] - bridge: mrp: Implement netlink interface to configure MRP (Ivan Vecera) [2019055] - bridge: mrp: Connect MRP API with the switchdev API (Ivan Vecera) [2019055] - bridge: switchdev: mrp: Implement MRP API for switchdev (Ivan Vecera) [2019055] - switchdev: mrp: Extend switchdev API to offload MRP (Ivan Vecera) [2019055] - bridge: mrp: Add MRP interface. (Ivan Vecera) [2019055] - net: bridge: Add port attribute IFLA_BRPORT_MRP_RING_OPEN (Ivan Vecera) [2019055] - bridge: mrp: Extend bridge interface (Ivan Vecera) [2019055] - bridge: mrp: Update Kconfig (Ivan Vecera) [2019055] - bridge: uapi: mrp: Add mrp attributes. (Ivan Vecera) [2019055] - net: bridge: vlan options: move the tunnel command to the nested attribute (Ivan Vecera) [2019055] - net: bridge: vlan options: nest the tunnel id into a tunnel info attribute (Ivan Vecera) [2019055] - net: bridge: vlan: include stats in dumps if requested (Ivan Vecera) [2019055] - net: bridge: vlan options: add support for tunnel mapping set/del (Ivan Vecera) [2019055] - net: bridge: vlan options: add support for tunnel id dumping (Ivan Vecera) [2019055] - net: bridge: vlan tunnel: constify bridge and port arguments (Ivan Vecera) [2019055] - net: bridge: vlan options: rename br_vlan_opts_eq to br_vlan_opts_eq_range (Ivan Vecera) [2019055] - net: switchdev: do not propagate bridge updates across bridges (Ivan Vecera) [2019055] - bridge: br_stp: Use built-in RCU list checking (Ivan Vecera) [2019055] - net: switchdev: Replace zero-length array with flexible-array member (Ivan Vecera) [2019055] - net: bridge: vlan: add per-vlan state (Ivan Vecera) [2019055] - net: bridge: vlan: add basic option setting support (Ivan Vecera) [2019055] - net: bridge: vlan: add basic option dumping support (Ivan Vecera) [2019055] - net: bridge: check port state before br_allowed_egress (Ivan Vecera) [2019055] - net: bridge: vlan: notify on vlan add/delete/change flags (Ivan Vecera) [2019055] - net: bridge: vlan: add rtnetlink group and notify support (Ivan Vecera) [2019055] - net: bridge: vlan: add rtm range support (Ivan Vecera) [2019055] - net: bridge: vlan: add del rtm message support (Ivan Vecera) [2019055] - net: bridge: vlan: add new rtm message support (Ivan Vecera) [2019055] - net: bridge: vlan: add rtm definitions and dump support (Ivan Vecera) [2019055] - net: bridge: netlink: add extack error messages when processing vlans (Ivan Vecera) [2019055] - net: bridge: vlan: add helpers to check for vlan id/range validity (Ivan Vecera) [2019055] - net: bridge: add STP xstats (Ivan Vecera) [2019055] - treewide: Use sizeof_field() macro (Ivan Vecera) [2019055] - bridge: implement get_link_ksettings ethtool method (Ivan Vecera) [2019055] - net: bridge: fdb: eliminate extra port state tests from fast-path (Ivan Vecera) [2019055] - net: bridge: fdb: restore unlikely() when taking over externally added entries (Ivan Vecera) [2019055] - net: bridge: fdb: avoid two atomic bitops in br_fdb_external_learn_add() (Ivan Vecera) [2019055] - net: bridge: fdb: br_fdb_update can take flags directly (Ivan Vecera) [2019055] - net: bridge: Populate the pvid flag in br_vlan_get_info (Ivan Vecera) [2019055] - net: fix __ip_mc_inc_group usage (Ivan Vecera) [2019055] - net: bridge: mdb: allow add/delete for host-joined groups (Ivan Vecera) [2019055] - net: bridge: mdb: dump host-joined entries as well (Ivan Vecera) [2019055] - net: bridge: mdb: factor out mdb filling (Ivan Vecera) [2019055] - net: bridge: mdb: move vlan comments (Ivan Vecera) [2019055] - net: bridge: mcast: add delete due to fast-leave mdb flag (Ivan Vecera) [2019055] - treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 152 (Ivan Vecera) [2019055] - treewide: Add SPDX license identifier for missed files (Ivan Vecera) [2019055] - treewide: Add SPDX license identifier - Makefile/Kconfig (Ivan Vecera) [2019055] - bridge: Fix error path for kobject_init_and_add() (Ivan Vecera) [2019055] - bridge: only include nf_queue.h if needed (Ivan Vecera) [2019055] - bridge: broute: make broute a real ebtables table (Ivan Vecera) [2019055] - bridge: netfilter: unroll NF_HOOK helper in bridge input path (Ivan Vecera) [2019055] - bridge: reduce size of input cb to 16 bytes (Ivan Vecera) [2019055] - net: bridge: update multicast stats from maybe_deliver() (Ivan Vecera) [2019055] - net: bridge: mcast: remove unused br_ip_equal function (Ivan Vecera) [2019055] - net: bridge: optimize backup_port fdb convergence (Ivan Vecera) [2019055] - net: bridge: use netif_is_bridge_port() (Ivan Vecera) [2019055] - net: bridge: use eth_broadcast_addr() to assign broadcast address (Ivan Vecera) [2019055] - tools headers uapi: Update linux/in.h copy (Ivan Vecera) [2019055] - switchdev: Remove unused transaction item queue (Ivan Vecera) [2019055] - bridge: remove redundant check on err in br_multicast_ipv4_rcv (Ivan Vecera) [2019055] - net: Fix ip_mc_{dec,inc}_group allocation context (Ivan Vecera) [2019055] - bridge: remove duplicated include from br_multicast.c (Ivan Vecera) [2019055] - bridge: Snoop Multicast Router Advertisements (Ivan Vecera) [2019055] - bridge: join all-snoopers multicast address (Ivan Vecera) [2019055] - bridge: simplify ip_mc_check_igmp() and ipv6_mc_check_mld() internals (Ivan Vecera) [2019055] - tools include uapi: Sync linux/if_link.h copy with the kernel sources (Ivan Vecera) [2019055] - net: bridge: fix a bug on using a neighbour cache entry without checking its state (Ivan Vecera) [2019055] - net: bridge: remove unneeded variable 'err' (Ivan Vecera) [2019055] - net: bridge: remove redundant checks for null p->dev and p->br (Ivan Vecera) [2019055] - net: bridge: export supported boolopts (Ivan Vecera) [2019055] - net: bridge: add no_linklocal_learn bool option (Ivan Vecera) [2019055] - net: bridge: add support for user-controlled bool options (Ivan Vecera) [2019055] - bridge: use __vlan_hwaccel helpers (Ivan Vecera) [2019055] - netfilter: bridge: define INT_MIN & INT_MAX in userspace (Ivan Vecera) [2019055] - docs: fix some broken documentation references (Ivan Vecera) [2019055] - bridge: Switch to bitmap_zalloc() (Ivan Vecera) [2019055] - netfilter: bridge: Expose nf_tables bridge hook priorities through uapi (Ivan Vecera) [2019055] - net: bridge: add support for backup port (Ivan Vecera) [2019055] - net: bridge: add support for raw sysfs port options (Ivan Vecera) [2019055] - docs: networking: Convert bridge.txt to rst (Ivan Vecera) [2019055] - net: switchdev: consolidate RH_KABI macros usage (Ivan Vecera) [2019055] - kcov: Remove kcov include from sched.h and move it to its users. (Josef Oskera) [2026467] - tasklets: Provide tasklet_disable_in_atomic() (Ivan Vecera) [2026475] - tasklets: Use static inlines for stub implementations (Ivan Vecera) [2026475] - net: sock: introduce sk_error_report (Ivan Vecera) [2026469] - redhat: Add CONFIG_RHEL_DIFFERENCES (Prarit Bhargava) [2021571]- serial: 8520_port: Fix function param documentation (Waiman Long) [1970241] - serial: 8250: Optimize irq enable after console write (Waiman Long) [1970241] - serial: 8250: Fix rs485 delay after console write (Waiman Long) [1970241] - serial: 8250: Support console on software emulated rs485 ports (Waiman Long) [1970241] - serial: 8250: Generalize rs485 software emulation (Waiman Long) [1970241] - serial: 8250: Deduplicate rs485 active_timer assignment (Waiman Long) [1970241] - serial: 8250: Sanitize rs485 config harder (Waiman Long) [1970241] - serial: 8250: Deduplicate ->rs485_config() callback (Waiman Long) [1970241] - serial: 8250: Support rs485 devicetree properties (Waiman Long) [1970241] - serial: 8250_port: Don't use power management for kernel console (Waiman Long) [1970241] - console: Introduce ->exit() callback (Waiman Long) [1970241] - console: Don't notify user space when unregister non-listed console (Waiman Long) [1970241] - tty: 8250_of: Use software emulated RS485 direction control (Waiman Long) [1970241] - serial: 8250: Add MSR/MCR TIOCM conversion wrapper functions (Waiman Long) [1970241] - serial: 8250_of: Use of_device_get_match_data() (Waiman Long) [1970241] - serial: 8250_of: Fix for lack of interrupt support (Waiman Long) [1970241] - serial: 8250: of: Defer probe on missing IRQ (Waiman Long) [1970241] - serial: 8250: of: Correct of_platform_serial_setup() error handling (Waiman Long) [1970241] - mm/vmstat: protect per cpu variables with preempt disable on RT (Scott Wood) [2011667] - mm, slub: convert kmem_cpu_slab protection to local_lock (Scott Wood) [2011667] - mm, slub: use migrate_disable() on PREEMPT_RT (Scott Wood) [2011667] - mm, slub: protect put_cpu_partial() with disabled irqs instead of cmpxchg (Scott Wood) [2011667] - mm, slub: make slab_lock() disable irqs with PREEMPT_RT (Scott Wood) [2011667] - mm: slub: make object_map_lock a raw_spinlock_t (Scott Wood) [2011667] - mm: slub: move flush_cpu_slab() invocations __free_slab() invocations out of IRQ context (Scott Wood) [2011667] - mm, slab: split out the cpu offline variant of flush_slab() (Scott Wood) [2011667] - mm, slub: don't disable irqs in slub_cpu_dead() (Scott Wood) [2011667] - mm, slub: only disable irq with spin_lock in __unfreeze_partials() (Scott Wood) [2011667] - mm, slub: separate detaching of partial list in unfreeze_partials() from unfreezing (Scott Wood) [2011667] - mm, slub: detach whole partial list at once in unfreeze_partials() (Scott Wood) [2011667] - mm, slub: discard slabs in unfreeze_partials() without irqs disabled (Scott Wood) [2011667] - mm, slub: move irq control into unfreeze_partials() (Scott Wood) [2011667] - mm, slub: call deactivate_slab() without disabling irqs (Scott Wood) [2011667] - mm, slub: make locking in deactivate_slab() irq-safe (Scott Wood) [2011667] - mm, slub: move reset of c->page and freelist out of deactivate_slab() (Scott Wood) [2011667] - mm, slub: stop disabling irqs around get_partial() (Scott Wood) [2011667] - mm, slub: check new pages with restored irqs (Scott Wood) [2011667] - mm, slub: validate slab from partial list or page allocator before making it cpu slab (Scott Wood) [2011667] - mm, slub: restore irqs around calling new_slab() (Scott Wood) [2011667] - mm, slub: move disabling irqs closer to get_partial() in ___slab_alloc() (Scott Wood) [2011667] - mm, slub: do initial checks in ___slab_alloc() with irqs enabled (Scott Wood) [2011667] - mm, slub: move disabling/enabling irqs to ___slab_alloc() (Scott Wood) [2011667] - mm, slub: simplify kmem_cache_cpu and tid setup (Scott Wood) [2011667] - mm, slub: restructure new page checks in ___slab_alloc() (Scott Wood) [2011667] - mm, slub: return slab page from get_partial() and set c->page afterwards (Scott Wood) [2011667] - mm, slub: dissolve new_slab_objects() into ___slab_alloc() (Scott Wood) [2011667] - mm, slub: extract get_partial() from new_slab_objects() (Scott Wood) [2011667] - mm, slub: remove redundant unfreeze_partials() from put_cpu_partial() (Scott Wood) [2011667] - mm, slub: don't disable irq for debug_check_no_locks_freed() (Scott Wood) [2011667] - mm, slub: allocate private object map for validate_slab_cache() (Scott Wood) [2011667] - mm, slub: allocate private object map for debugfs listings (Scott Wood) [2011667] - mm, slub: don't call flush_all() from slab_debug_trace_open() (Scott Wood) [2011667] - mm/slub.c: drop lockdep_assert_held() from put_map() (Scott Wood) [2011667] - mm/slub.c: replace cpu_slab->partial with wrapped APIs (Scott Wood) [2011667] - mm/slub.c: replace kmem_cache->cpu_partial with wrapped APIs (Scott Wood) [2011667] - sched/rt, mm: Use CONFIG_PREEMPTION (Scott Wood) [2011667] - tcp: fix page frag corruption on page fault (Paolo Abeni) [1996074] - net: fix sk_page_frag() recursion from memory reclaim (Paolo Abeni) [1996074] - net: udp6: replace __UDP_INC_STATS() with __UDP6_INC_STATS() (Xin Long) [2020407] - net: udp: annotate data race around udp_sk(sk)->corkflag (Xin Long) [2020407] - net/ipv4/udp_tunnel_core.c: remove superfluous header files from udp_tunnel_core.c (Xin Long) [2020407] - udp_tunnel: Fix udp_tunnel_nic work-queue type (Xin Long) [2020407] - net, gro: Set inner transport header offset in tcp/udp GRO hook (Xin Long) [2020407] - bareudp: Add extack support to bareudp_configure() (Guillaume Nault) [1946040] - bareudp: Move definition of struct bareudp_conf to bareudp.c (Guillaume Nault) [1946040] - bareudp: Remove bareudp_dev_create() (Guillaume Nault) [1946040] - net: bareudp: simplify error paths calling dellink (Guillaume Nault) [1946040] - mptcp: re-arm retransmit timer if data is pending (Paolo Abeni) [2019493] - mptcp: remove tx_pending_data (Paolo Abeni) [2019493] - mptcp: do not shrink snd_nxt when recovering (Paolo Abeni) [2019493] - mptcp: drop unused sk in mptcp_push_release (Paolo Abeni) [2019493] - selftests: mptcp: fix proto type in link_failure tests (Paolo Abeni) [2019493] - selftests: mptcp: add testcase for active-back (Paolo Abeni) [2019493] - mptcp: backup flag from incoming MPJ ack option (Paolo Abeni) [2019493] - mptcp: add mibs for stale subflows processing (Paolo Abeni) [2019493] - mptcp: faster active backup recovery (Paolo Abeni) [2019493] - mptcp: cleanup sysctl data and helpers (Paolo Abeni) [2019493] - mptcp: handle pending data on closed subflow (Paolo Abeni) [2019493] - mptcp: less aggressive retransmission strategy (Paolo Abeni) [2019493] - mptcp: more accurate timeout (Paolo Abeni) [2019493] - mptcp: stop relying on tcp_tx_skb_cache (Paolo Abeni) [2019493] - tcp: expose the tcp_mark_push() and tcp_skb_entail() helpers (Paolo Abeni) [2019493] - selftests: KVM: avoid failures due to reserved HyperTransport region (Vitaly Kuznetsov) [2009340] - KVM: X86: Fix when shadow_root_level=5 && guest root_level<4 (Vitaly Kuznetsov) [2009340] - KVM: x86: inhibit APICv when KVM_GUESTDBG_BLOCKIRQ active (Vitaly Kuznetsov) [2009340] - KVM: x86/xen: Fix get_attr of KVM_XEN_ATTR_TYPE_SHARED_INFO (Vitaly Kuznetsov) [2009340] - KVM: x86: Use rw_semaphore for APICv lock to allow vCPU parallelism (Vitaly Kuznetsov) [2009340] - KVM: selftests: test KVM_GUESTDBG_BLOCKIRQ (Vitaly Kuznetsov) [2009340] - x86/sgx/virt: implement SGX_IOC_VEPC_REMOVE ioctl (Vitaly Kuznetsov) [2009340] - x86/sgx/virt: extract sgx_vepc_remove_page (Vitaly Kuznetsov) [2009340] - KVM: x86/mmu: Complete prefetch for trailing SPTEs for direct, legacy MMU (Vitaly Kuznetsov) [2009340] - KVM: x86: Do not mark all registers as avail/dirty during RESET/INIT (Vitaly Kuznetsov) [2009340] - KVM: x86: SVM: don't set VMLOAD/VMSAVE intercepts on vCPU reset (Vitaly Kuznetsov) [2009340] - KVM: VMX: Unregister posted interrupt wakeup handler on hardware unsetup (Vitaly Kuznetsov) [2009340] - Revert "x86/kvm: fix vcpu-id indexed array sizes" (Vitaly Kuznetsov) [2009340] - KVM: X86: Cache CR3 in prev_roots when PCID is disabled (Vitaly Kuznetsov) [2009340] - KVM: X86: Fix tlb flush for tdp in kvm_invalidate_pcid() (Vitaly Kuznetsov) [2009340] - KVM: X86: Don't reset mmu context when toggling X86_CR4_PGE (Vitaly Kuznetsov) [2009340] - KVM: X86: Don't reset mmu context when X86_CR4_PCIDE 1->0 (Vitaly Kuznetsov) [2009340] - KVM: x86/mmu: kvm_faultin_pfn has to return false if pfh is returned (Vitaly Kuznetsov) [2009340] - KVM: x86: Take srcu lock in post_kvm_run_save() (Vitaly Kuznetsov) [2009340] - KVM: SEV-ES: fix another issue with string I/O VMGEXITs (Vitaly Kuznetsov) [2009340] - KVM: x86/xen: Fix kvm_xen_has_interrupt() sleeping in kvm_vcpu_block() (Vitaly Kuznetsov) [2009340] - KVM: x86: switch pvclock_gtod_sync_lock to a raw spinlock (Vitaly Kuznetsov) [2009340] - KVM: selftests: Refactor help message for -s backing_src (Vitaly Kuznetsov) [2009340] - KVM: selftests: Change backing_src flag to -s in demand_paging_test (Vitaly Kuznetsov) [2009340] - tools headers UAPI: Sync x86's asm/kvm.h with the kernel sources (Vitaly Kuznetsov) [2009340] - KVM: SEV-ES: go over the sev_pio_data buffer in multiple passes if needed (Vitaly Kuznetsov) [2009340] - KVM: SEV-ES: keep INS functions together (Vitaly Kuznetsov) [2009340] - KVM: x86: remove unnecessary arguments from complete_emulator_pio_in (Vitaly Kuznetsov) [2009340] - KVM: x86: split the two parts of emulator_pio_in (Vitaly Kuznetsov) [2009340] - KVM: SEV-ES: clean up kvm_sev_es_ins/outs (Vitaly Kuznetsov) [2009340] - KVM: x86: leave vcpu->arch.pio.count alone in emulator_pio_in_out (Vitaly Kuznetsov) [2009340] - KVM: SEV-ES: rename guest_ins_data to sev_pio_data (Vitaly Kuznetsov) [2009340] - KVM: SEV: Flush cache on non-coherent systems before RECEIVE_UPDATE_DATA (Vitaly Kuznetsov) [2009340] - KVM: MMU: Reset mmu->pkru_mask to avoid stale data (Vitaly Kuznetsov) [2009340] - KVM: nVMX: promptly process interrupts delivered while in guest mode (Vitaly Kuznetsov) [2009340] - KVM: x86: check for interrupts before deciding whether to exit the fast path (Vitaly Kuznetsov) [2009340] - KVM: SEV-ES: reduce ghcb_sa_len to 32 bits (Vitaly Kuznetsov) [2009340] - KVM: VMX: Remove redundant handling of bus lock vmexit (Vitaly Kuznetsov) [2009340] - KVM: x86: WARN if APIC HW/SW disable static keys are non-zero on unload (Vitaly Kuznetsov) [2009340] - KVM: SEV-ES: fix length of string I/O (Vitaly Kuznetsov) [2009340] - KVM: SEV-ES: Set guest_state_protected after VMSA update (Vitaly Kuznetsov) [2009340] - KVM: kvm_stat: do not show halt_wait_ns (Vitaly Kuznetsov) [2009340] - Revert "KVM: x86: Open code necessary bits of kvm_lapic_set_base() at vCPU RESET" (Vitaly Kuznetsov) [2009340] - KVM: s390: restore old debugfs names (Vitaly Kuznetsov) [2009340] - tools headers UAPI: Sync linux/kvm.h with the kernel sources (Vitaly Kuznetsov) [2009340] - tools headers UAPI: Synch KVM's svm.h header with the kernel (Vitaly Kuznetsov) [2009340] - KVM: selftests: introduce P44V64 for z196 and EC12 (Vitaly Kuznetsov) [2009340] - KVM: selftests: introduce P47V64 for s390x (Vitaly Kuznetsov) [2009340] - x86/sev: Use "SEV: " prefix for messages from sev.c (Vitaly Kuznetsov) [2009340] - KVM: stats: remove dead stores (Vitaly Kuznetsov) [2009340] - kvm: x86: Add AMD PMU MSRs to msrs_to_save_all[] (Vitaly Kuznetsov) [2009340] - kvm: fix objtool relocation warning (Vitaly Kuznetsov) [2009340] - KVM: selftests: Ensure all migrations are performed when test is affined (Vitaly Kuznetsov) [2009340] - KVM: x86: Swap order of CPUID entry "index" vs. "significant flag" checks (Vitaly Kuznetsov) [2009340] - x86/kvmclock: Move this_cpu_pvti into kvmclock.h (Vitaly Kuznetsov) [2009340] - selftests: KVM: Don't clobber XMM register when read (Vitaly Kuznetsov) [2009340] - KVM: VMX: Fix a TSX_CTRL_CPUID_CLEAR field mask issue (Vitaly Kuznetsov) [2009340] - selftests: KVM: Explicitly use movq to read xmm registers (Vitaly Kuznetsov) [2009340] - selftests: KVM: Call ucall_init when setting up in rseq_test (Vitaly Kuznetsov) [2009340] - KVM: X86: Synchronize the shadow pagetable before link it (Vitaly Kuznetsov) [2009340] - KVM: X86: Fix missed remote tlb flush in rmap_write_protect() (Vitaly Kuznetsov) [2009340] - KVM: x86: nSVM: don't copy virt_ext from vmcb12 (Vitaly Kuznetsov) [2009340] - KVM: x86: nSVM: test eax for 4K alignment for GP errata workaround (Vitaly Kuznetsov) [2009340] - KVM: x86: selftests: test simultaneous uses of V_IRQ from L1 and L0 (Vitaly Kuznetsov) [2009340] - KVM: x86: nSVM: restore int_vector in svm_clear_vintr (Vitaly Kuznetsov) [2009340] - KVM: x86: nVMX: re-evaluate emulation_required on nested VM exit (Vitaly Kuznetsov) [2009340] - KVM: x86: nVMX: don't fail nested VM entry on invalid guest state if !from_vmentry (Vitaly Kuznetsov) [2009340] - KVM: x86: VMX: synthesize invalid VM exit when emulating invalid guest state (Vitaly Kuznetsov) [2009340] - KVM: x86: nSVM: refactor svm_leave_smm and smm_enter_smm (Vitaly Kuznetsov) [2009340] - KVM: x86: SVM: call KVM_REQ_GET_NESTED_STATE_PAGES on exit from SMM mode (Vitaly Kuznetsov) [2009340] - KVM: x86: reset pdptrs_from_userspace when exiting smm (Vitaly Kuznetsov) [2009340] - KVM: x86: nSVM: restore the L1 host state prior to resuming nested guest on SMM exit (Vitaly Kuznetsov) [2009340] - KVM: KVM: Use cpumask_available() to check for NULL cpumask when kicking vCPUs (Vitaly Kuznetsov) [2009340] - KVM: Clean up benign vcpu->cpu data races when kicking vCPUs (Vitaly Kuznetsov) [2009340] - KVM: x86: Fix stack-out-of-bounds memory access from ioapic_write_indirect() (Vitaly Kuznetsov) [2009340] - KVM: selftests: Create a separate dirty bitmap per slot (Vitaly Kuznetsov) [2009340] - KVM: SEV: Allow some commands for mirror VM (Vitaly Kuznetsov) [2009340] - KVM: SEV: Update svm_vm_copy_asid_from for SEV-ES (Vitaly Kuznetsov) [2009340] - KVM: nVMX: Fix nested bus lock VM exit (Vitaly Kuznetsov) [2009340] - KVM: x86: Identify vCPU0 by its vcpu_idx instead of its vCPUs array entry (Vitaly Kuznetsov) [2009340] - KVM: x86: Query vcpu->vcpu_idx directly and drop its accessor (Vitaly Kuznetsov) [2009340] - kvm: fix wrong exception emulation in check_rdtsc (Vitaly Kuznetsov) [2009340] - KVM: SEV: Pin guest memory for write for RECEIVE_UPDATE_DATA (Vitaly Kuznetsov) [2009340] - KVM: SVM: fix missing sev_decommission in sev_receive_start (Vitaly Kuznetsov) [2009340] - KVM: SEV: Acquire vcpu mutex when updating VMSA (Vitaly Kuznetsov) [2009340] - KVM: do not shrink halt_poll_ns below grow_start (Vitaly Kuznetsov) [2009340] - KVM: nVMX: fix comments of handle_vmon() (Vitaly Kuznetsov) [2009340] - KVM: x86: Handle SRCU initialization failure during page track init (Vitaly Kuznetsov) [2009340] - KVM: VMX: Remove defunct "nr_active_uret_msrs" field (Vitaly Kuznetsov) [2009340] - selftests: KVM: Align SMCCC call with the spec in steal_time (Vitaly Kuznetsov) [2009340] - selftests: KVM: Fix check for !POLLIN in demand_paging_test (Vitaly Kuznetsov) [2009340] - KVM: x86: Clear KVM's cached guest CR3 at RESET/INIT (Vitaly Kuznetsov) [2009340] - KVM: x86: Mark all registers as avail/dirty at vCPU creation (Vitaly Kuznetsov) [2009340] - KVM: selftests: Add a test for KVM_RUN+rseq to detect task migration bugs (Vitaly Kuznetsov) [2009340] - tools: Move x86 syscall number fallbacks to .../uapi/ (Vitaly Kuznetsov) [2009340] - selftests: kvm: fix get_run_delay() ignoring fscanf() return warn (Vitaly Kuznetsov) [2009340] - selftests: kvm: move get_run_delay() into lib/test_util (Vitaly Kuznetsov) [2009340] - selftests:kvm: fix get_trans_hugepagesz() ignoring fscanf() return warn (Vitaly Kuznetsov) [2009340] - selftests:kvm: fix get_warnings_count() ignoring fscanf() return warn (Vitaly Kuznetsov) [2009340] - tools: rename bitmap_alloc() to bitmap_zalloc() (Vitaly Kuznetsov) [2009340] - KVM: Drop unused kvm_dirty_gfn_invalid() (Vitaly Kuznetsov) [2009340] - KVM: MMU: mark role_regs and role accessors as maybe unused (Vitaly Kuznetsov) [2009340] - x86/kvm: Don't enable IRQ when IRQ enabled in kvm_wait (Vitaly Kuznetsov) [2009340] - KVM: stats: Add VM stat for remote tlb flush requests (Vitaly Kuznetsov) [2009340] - KVM: x86/mmu: Move lpage_disallowed_link further "down" in kvm_mmu_page (Vitaly Kuznetsov) [2009340] - KVM: x86/mmu: Relocate kvm_mmu_page.tdp_mmu_page for better cache locality (Vitaly Kuznetsov) [2009340] - Revert "KVM: x86: mmu: Add guest physical address check in translate_gpa()" (Vitaly Kuznetsov) [2009340] - KVM: x86/mmu: Remove unused field mmio_cached in struct kvm_mmu_page (Vitaly Kuznetsov) [2009340] - KVM: VMX: avoid running vmx_handle_exit_irqoff in case of emulation (Vitaly Kuznetsov) [2009340] - KVM: x86/mmu: Don't freak out if pml5_root is NULL on 4-level host (Vitaly Kuznetsov) [2009340] - KVM: SVM: Add 5-level page table support for SVM (Vitaly Kuznetsov) [2009340] - KVM: x86/mmu: Support shadowing NPT when 5-level paging is enabled in host (Vitaly Kuznetsov) [2009340] - KVM: x86: Allow CPU to force vendor-specific TDP level (Vitaly Kuznetsov) [2009340] - KVM: x86: clamp host mapping level to max_level in kvm_mmu_max_mapping_level (Vitaly Kuznetsov) [2009340] - KVM: x86: implement KVM_GUESTDBG_BLOCKIRQ (Vitaly Kuznetsov) [2009340] - KVM: SVM: split svm_handle_invalid_exit (Vitaly Kuznetsov) [2009340] - KVM: x86/mmu: Avoid collision with !PRESENT SPTEs in TDP MMU lpage stats (Vitaly Kuznetsov) [2009340] - KVM: x86/mmu: Remove redundant spte present check in mmu_set_spte (Vitaly Kuznetsov) [2009340] - KVM: stats: Add halt polling related histogram stats (Vitaly Kuznetsov) [2009340] - KVM: stats: Add halt_wait_ns stats for all architectures (Vitaly Kuznetsov) [2009340] - KVM: selftests: Add checks for histogram stats bucket_size field (Vitaly Kuznetsov) [2009340] - KVM: stats: Update doc for histogram statistics (Vitaly Kuznetsov) [2009340] - KVM: stats: Support linear and logarithmic histogram statistics (Vitaly Kuznetsov) [2009340] - KVM: SVM: AVIC: drop unsupported AVIC base relocation code (Vitaly Kuznetsov) [2009340] - KVM: SVM: call avic_vcpu_load/avic_vcpu_put when enabling/disabling AVIC (Vitaly Kuznetsov) [2009340] - KVM: SVM: move check for kvm_vcpu_apicv_active outside of avic_vcpu_{put|load} (Vitaly Kuznetsov) [2009340] - KVM: SVM: avoid refreshing avic if its state didn't change (Vitaly Kuznetsov) [2009340] - KVM: SVM: remove svm_toggle_avic_for_irq_window (Vitaly Kuznetsov) [2009340] - KVM: x86: hyper-v: Deactivate APICv only when AutoEOI feature is in use (Vitaly Kuznetsov) [2009340] - KVM: SVM: add warning for mistmatch between AVIC vcpu state and AVIC inhibition (Vitaly Kuznetsov) [2009340] - KVM: x86: APICv: fix race in kvm_request_apicv_update on SVM (Vitaly Kuznetsov) [2009340] - KVM: x86: don't disable APICv memslot when inhibited (Vitaly Kuznetsov) [2009340] - KVM: x86/mmu: allow APICv memslot to be enabled but invisible (Vitaly Kuznetsov) [2009340] - KVM: x86/mmu: allow kvm_faultin_pfn to return page fault handling code (Vitaly Kuznetsov) [2009340] - KVM: x86/mmu: rename try_async_pf to kvm_faultin_pfn (Vitaly Kuznetsov) [2009340] - KVM: x86/mmu: add comment explaining arguments to kvm_zap_gfn_range (Vitaly Kuznetsov) [2009340] - KVM: Allow to have arch-specific per-vm debugfs files (Vitaly Kuznetsov) [2009340] - KVM: nVMX: Unconditionally clear nested.pi_pending on nested VM-Enter (Vitaly Kuznetsov) [2009340] - KVM: x86: Clean up redundant ROL16(val, n) macro definition (Vitaly Kuznetsov) [2009340] - KVM: x86: Move declaration of kvm_spurious_fault() to x86.h (Vitaly Kuznetsov) [2009340] - KVM: x86: Kill off __ex() and __kvm_handle_fault_on_reboot() (Vitaly Kuznetsov) [2009340] - KVM: VMX: Hide VMCS control calculators in vmx.c (Vitaly Kuznetsov) [2009340] - KVM: VMX: Drop caching of KVM's desired sec exec controls for vmcs01 (Vitaly Kuznetsov) [2009340] - KVM: nVMX: Pull KVM L0's desired controls directly from vmcs01 (Vitaly Kuznetsov) [2009340] - KVM: VMX: Reset DR6 only when KVM_DEBUGREG_WONT_EXIT (Vitaly Kuznetsov) [2009340] - KVM: X86: Set host DR6 only on VMX and for KVM_DEBUGREG_WONT_EXIT (Vitaly Kuznetsov) [2009340] - KVM: X86: Remove unneeded KVM_DEBUGREG_RELOAD (Vitaly Kuznetsov) [2009340] - KVM: nVMX: Use vmx_need_pf_intercept() when deciding if L0 wants a #PF (Vitaly Kuznetsov) [2009340] - kvm: vmx: Sync all matching EPTPs when injecting nested EPT fault (Vitaly Kuznetsov) [2009340] - KVM: x86: remove dead initialization (Vitaly Kuznetsov) [2009340] - KVM: x86: Allow guest to set EFER.NX=1 on non-PAE 32-bit kernels (Vitaly Kuznetsov) [2009340] - x86: Fix typo s/ECLR/ELCR/ for the PIC register (Vitaly Kuznetsov) [2009340] - KVM: VMX: Use current VMCS to query WAITPKG support for MSR emulation (Vitaly Kuznetsov) [2009340] - KVM: selftests: Move vcpu_args_set into perf_test_util (Vitaly Kuznetsov) [2009340] - KVM: selftests: Support multiple slots in dirty_log_perf_test (Vitaly Kuznetsov) [2009340] - KVM: x86/mmu: Leverage vcpu->last_used_slot for rmap_add and rmap_recycle (Vitaly Kuznetsov) [2009340] - KVM: Cache the last used slot index per vCPU (Vitaly Kuznetsov) [2009340] - KVM: Move last_used_slot logic out of search_memslots (Vitaly Kuznetsov) [2009340] - KVM: x86/mmu: Fix per-cpu counter corruption on 32-bit builds (Vitaly Kuznetsov) [2009340] - KVM: xen: do not use struct gfn_to_hva_cache (Vitaly Kuznetsov) [2009340] - KVM: selftests: fix hyperv_clock test (Vitaly Kuznetsov) [2009340] - KVM: SVM: improve the code readability for ASID management (Vitaly Kuznetsov) [2009340] - KVM: SVM: Fix off-by-one indexing when nullifying last used SEV VMCB (Vitaly Kuznetsov) [2009340] - KVM: Do not leak memory for duplicate debugfs directories (Vitaly Kuznetsov) [2009340] - KVM: x86/pmu: Introduce pmc->is_paused to reduce the call time of perf interfaces (Vitaly Kuznetsov) [2009340] - KVM: X86: Optimize zapping rmap (Vitaly Kuznetsov) [2009340] - KVM: X86: Optimize pte_list_desc with per-array counter (Vitaly Kuznetsov) [2009340] - KVM: X86: MMU: Tune PTE_LIST_EXT to be bigger (Vitaly Kuznetsov) [2009340] - KVM: selftests: Test access to XMM fast hypercalls (Vitaly Kuznetsov) [2009340] - KVM: x86: hyper-v: Check if guest is allowed to use XMM registers for hypercall input (Vitaly Kuznetsov) [2009340] - KVM: x86: Introduce trace_kvm_hv_hypercall_done() (Vitaly Kuznetsov) [2009340] - KVM: x86: hyper-v: Check access to hypercall before reading XMM registers (Vitaly Kuznetsov) [2009340] - KVM: nSVM: remove useless kvm_clear_*_queue (Vitaly Kuznetsov) [2009340] - KVM: x86: Preserve guest's CR0.CD/NW on INIT (Vitaly Kuznetsov) [2009340] - KVM: SVM: Drop redundant clearing of vcpu->arch.hflags at INIT/RESET (Vitaly Kuznetsov) [2009340] - KVM: SVM: Emulate #INIT in response to triple fault shutdown (Vitaly Kuznetsov) [2009340] - KVM: VMX: Move RESET-only VMWRITE sequences to init_vmcs() (Vitaly Kuznetsov) [2009340] - KVM: VMX: Remove redundant write to set vCPU as active at RESET/INIT (Vitaly Kuznetsov) [2009340] - KVM: VMX: Smush x2APIC MSR bitmap adjustments into single function (Vitaly Kuznetsov) [2009340] - KVM: VMX: Remove unnecessary initialization of msr_bitmap_mode (Vitaly Kuznetsov) [2009340] - KVM: VMX: Don't redo x2APIC MSR bitmaps when userspace filter is changed (Vitaly Kuznetsov) [2009340] - KVM: nVMX: Remove obsolete MSR bitmap refresh at nested transitions (Vitaly Kuznetsov) [2009340] - KVM: VMX: Remove obsolete MSR bitmap refresh at vCPU RESET/INIT (Vitaly Kuznetsov) [2009340] - KVM: x86: Move setting of sregs during vCPU RESET/INIT to common x86 (Vitaly Kuznetsov) [2009340] - KVM: VMX: Don't _explicitly_ reconfigure user return MSRs on vCPU INIT (Vitaly Kuznetsov) [2009340] - KVM: VMX: Refresh list of user return MSRs after setting guest CPUID (Vitaly Kuznetsov) [2009340] - KVM: VMX: Skip pointless MSR bitmap update when setting EFER (Vitaly Kuznetsov) [2009340] - KVM: SVM: Stuff save->dr6 at during VMSA sync, not at RESET/INIT (Vitaly Kuznetsov) [2009340] - KVM: SVM: Drop redundant writes to vmcb->save.cr4 at RESET/INIT (Vitaly Kuznetsov) [2009340] - KVM: SVM: Tweak order of cr0/cr4/efer writes at RESET/INIT (Vitaly Kuznetsov) [2009340] - KVM: nVMX: Don't evaluate "emulation required" on nested VM-Exit (Vitaly Kuznetsov) [2009340] - KVM: VMX: Skip emulation required checks during pmode/rmode transitions (Vitaly Kuznetsov) [2009340] - KVM: VMX: Process CR0.PG side effects after setting CR0 assets (Vitaly Kuznetsov) [2009340] - KVM: x86/mmu: Skip the permission_fault() check on MMIO if CR0.PG=0 (Vitaly Kuznetsov) [2009340] - KVM: VMX: Pull GUEST_CR3 from the VMCS iff CR3 load exiting is disabled (Vitaly Kuznetsov) [2009340] - KVM: nVMX: Do not clear CR3 load/store exiting bits if L1 wants 'em (Vitaly Kuznetsov) [2009340] - KVM: VMX: Fold ept_update_paging_mode_cr0() back into vmx_set_cr0() (Vitaly Kuznetsov) [2009340] - KVM: VMX: Remove direct write to vcpu->arch.cr0 during vCPU RESET/INIT (Vitaly Kuznetsov) [2009340] - KVM: VMX: Invert handling of CR0.WP for EPT without unrestricted guest (Vitaly Kuznetsov) [2009340] - KVM: SVM: Don't bother writing vmcb->save.rip at vCPU RESET/INIT (Vitaly Kuznetsov) [2009340] - KVM: x86: Move EDX initialization at vCPU RESET to common code (Vitaly Kuznetsov) [2009340] - KVM: x86: Consolidate APIC base RESET initialization code (Vitaly Kuznetsov) [2009340] - KVM: x86: Open code necessary bits of kvm_lapic_set_base() at vCPU RESET (Vitaly Kuznetsov) [2009340] - KVM: VMX: Stuff vcpu->arch.apic_base directly at vCPU RESET (Vitaly Kuznetsov) [2009340] - KVM: x86: Set BSP bit in reset BSP vCPU's APIC base by default (Vitaly Kuznetsov) [2009340] - KVM: x86: Don't force set BSP bit when local APIC is managed by userspace (Vitaly Kuznetsov) [2009340] - KVM: x86: Migrate the PIT only if vcpu0 is migrated, not any BSP (Vitaly Kuznetsov) [2009340] - KVM: x86: Remove defunct BSP "update" in local APIC reset (Vitaly Kuznetsov) [2009340] - KVM: x86: WARN if the APIC map is dirty without an in-kernel local APIC (Vitaly Kuznetsov) [2009340] - KVM: SVM: Drop explicit MMU reset at RESET/INIT (Vitaly Kuznetsov) [2009340] - KVM: VMX: Remove explicit MMU reset in enter_rmode() (Vitaly Kuznetsov) [2009340] - KVM: SVM: Fall back to KVM's hardcoded value for EDX at RESET/INIT (Vitaly Kuznetsov) [2009340] - KVM: SVM: Require exact CPUID.0x1 match when stuffing EDX at INIT (Vitaly Kuznetsov) [2009340] - KVM: VMX: Set EDX at INIT with CPUID.0x1, Family-Model-Stepping (Vitaly Kuznetsov) [2009340] - KVM: SVM: Zero out GDTR.base and IDTR.base on INIT (Vitaly Kuznetsov) [2009340] - KVM: nVMX: Set LDTR to its architecturally defined value on nested VM-Exit (Vitaly Kuznetsov) [2009340] - KVM: x86: Flush the guest's TLB on INIT (Vitaly Kuznetsov) [2009340] - KVM: x86: APICv: drop immediate APICv disablement on current vCPU (Vitaly Kuznetsov) [2009340] - KVM: x86/mmu: fast_page_fault support for the TDP MMU (Vitaly Kuznetsov) [2009340] - KVM: x86/mmu: Make walk_shadow_page_lockless_{begin,end} interoperate with the TDP MMU (Vitaly Kuznetsov) [2009340] - KVM: x86/mmu: Fix use of enums in trace_fast_page_fault (Vitaly Kuznetsov) [2009340] - KVM: x86/mmu: Rename cr2_or_gpa to gpa in fast_page_fault (Vitaly Kuznetsov) [2009340] - KVM: Introduce kvm_get_kvm_safe() (Vitaly Kuznetsov) [2009340] - x86/kvm: remove non-x86 stuff from arch/x86/kvm/ioapic.h (Vitaly Kuznetsov) [2009340] - KVM: X86: Add per-vm stat for max rmap list size (Vitaly Kuznetsov) [2009340] - KVM: x86/mmu: Return old SPTE from mmu_spte_clear_track_bits() (Vitaly Kuznetsov) [2009340] - KVM: x86/mmu: Refactor shadow walk in __direct_map() to reduce indentation (Vitaly Kuznetsov) [2009340] - KVM: x86: Hoist kvm_dirty_regs check out of sync_regs() (Vitaly Kuznetsov) [2009340] - KVM: x86/mmu: Mark VM as bugged if page fault returns RET_PF_INVALID (Vitaly Kuznetsov) [2009340] - KVM: x86: Use KVM_BUG/KVM_BUG_ON to handle bugs that are fatal to the VM (Vitaly Kuznetsov) [2009340] - KVM: Export kvm_make_all_cpus_request() for use in marking VMs as bugged (Vitaly Kuznetsov) [2009340] - KVM: Add infrastructure and macro to mark VM as bugged (Vitaly Kuznetsov) [2009340] - KVM: Get rid of kvm_get_pfn() (Vitaly Kuznetsov) [2009340] - KVM: arm64: Use get_page() instead of kvm_get_pfn() (Vitaly Kuznetsov) [2009340] - KVM: x86: accept userspace interrupt only if no event is injected (Vitaly Kuznetsov) [2009340] - KVM: add missing compat KVM_CLEAR_DIRTY_LOG (Vitaly Kuznetsov) [2009340] - KVM: use cpu_relax when halt polling (Vitaly Kuznetsov) [2009340] - KVM: SVM: use vmcb01 in svm_refresh_apicv_exec_ctrl (Vitaly Kuznetsov) [2009340] - KVM: SVM: tweak warning about enabled AVIC on nested entry (Vitaly Kuznetsov) [2009340] - KVM: SVM: svm_set_vintr don't warn if AVIC is active but is about to be deactivated (Vitaly Kuznetsov) [2009340] - KVM: SVM: delay svm_vcpu_init_msrpm after svm->vmcb is initialized (Vitaly Kuznetsov) [2009340] - KVM: selftests: Introduce access_tracking_perf_test (Vitaly Kuznetsov) [2009340] - KVM: selftests: Fix missing break in dirty_log_perf_test arg parsing (Vitaly Kuznetsov) [2009340] - x86/kvm: fix vcpu-id indexed array sizes (Vitaly Kuznetsov) [2009340] - KVM: x86: Check the right feature bit for MSR_KVM_ASYNC_PF_ACK access (Vitaly Kuznetsov) [2009340] - KVM: Documentation: Fix KVM_CAP_ENFORCE_PV_FEATURE_CPUID name (Vitaly Kuznetsov) [2009340] - KVM: nSVM: Swap the parameter order for svm_copy_vmrun_state()/svm_copy_vmloadsave_state() (Vitaly Kuznetsov) [2009340] - KVM: nSVM: Rename nested_svm_vmloadsave() to svm_copy_vmloadsave_state() (Vitaly Kuznetsov) [2009340] - docs: virt: kvm: api.rst: replace some characters (Vitaly Kuznetsov) [2009340] - docs: kvm: properly format code blocks and lists (Vitaly Kuznetsov) [2009340] - docs: kvm: fix build warnings (Vitaly Kuznetsov) [2009340] - KVM: selftests: Address extra memslot parameters in vm_vaddr_alloc (Vitaly Kuznetsov) [2009340] - kvm: debugfs: fix memory leak in kvm_create_vm_debugfs (Vitaly Kuznetsov) [2009340] - Revert "KVM: x86: WARN and reject loading KVM if NX is supported but not enabled" (Vitaly Kuznetsov) [2009340] - KVM: selftests: x86: Address missing vm_install_exception_handler conversions (Vitaly Kuznetsov) [2009340] - KVM: selftests: change pthread_yield to sched_yield (Vitaly Kuznetsov) [2009340] - KVM: x86: rename apic_access_page_done to apic_access_memslot_enabled (Vitaly Kuznetsov) [2009340] - kvm: x86: disable the narrow guest module parameter on unload (Vitaly Kuznetsov) [2009340] - selftests: kvm: Allows userspace to handle emulation errors. (Vitaly Kuznetsov) [2009340] - kvm: x86: Allow userspace to handle emulation errors (Vitaly Kuznetsov) [2009340] - KVM: x86/mmu: Let guest use GBPAGES if supported in hardware and TDP is on (Vitaly Kuznetsov) [2009340] - KVM: x86/mmu: Get CR4.SMEP from MMU, not vCPU, in shadow page fault (Vitaly Kuznetsov) [2009340] - KVM: x86/mmu: Get CR0.WP from MMU, not vCPU, in shadow page fault (Vitaly Kuznetsov) [2009340] - KVM: x86/mmu: Drop redundant rsvd bits reset for nested NPT (Vitaly Kuznetsov) [2009340] - KVM: x86/mmu: Optimize and clean up so called "last nonleaf level" logic (Vitaly Kuznetsov) [2009340] - KVM: x86: Enhance comments for MMU roles and nested transition trickiness (Vitaly Kuznetsov) [2009340] - KVM: x86/mmu: WARN on any reserved SPTE value when making a valid SPTE (Vitaly Kuznetsov) [2009340] - KVM: x86/mmu: Add helpers to do full reserved SPTE checks w/ generic MMU (Vitaly Kuznetsov) [2009340] - KVM: x86/mmu: Use MMU's role to determine PTTYPE (Vitaly Kuznetsov) [2009340] - KVM: x86/mmu: Collapse 32-bit PAE and 64-bit statements for helpers (Vitaly Kuznetsov) [2009340] - KVM: x86/mmu: Add a helper to calculate root from role_regs (Vitaly Kuznetsov) [2009340] - KVM: x86/mmu: Add helper to update paging metadata (Vitaly Kuznetsov) [2009340] - KVM: x86/mmu: Don't update nested guest's paging bitmasks if CR0.PG=0 (Vitaly Kuznetsov) [2009340] - KVM: x86/mmu: Consolidate reset_rsvds_bits_mask() calls (Vitaly Kuznetsov) [2009340] - KVM: x86/mmu: Use MMU role_regs to get LA57, and drop vCPU LA57 helper (Vitaly Kuznetsov) [2009340] - KVM: x86/mmu: Get nested MMU's root level from the MMU's role (Vitaly Kuznetsov) [2009340] - KVM: x86/mmu: Drop "nx" from MMU context now that there are no readers (Vitaly Kuznetsov) [2009340] - KVM: x86/mmu: Use MMU's role to get EFER.NX during MMU configuration (Vitaly Kuznetsov) [2009340] - KVM: x86/mmu: Use MMU's role/role_regs to compute context's metadata (Vitaly Kuznetsov) [2009340] - KVM: x86/mmu: Use MMU's role to detect EFER.NX in guest page walk (Vitaly Kuznetsov) [2009340] - KVM: x86/mmu: Use MMU's roles to compute last non-leaf level (Vitaly Kuznetsov) [2009340] - KVM: x86/mmu: Use MMU's role to compute PKRU bitmask (Vitaly Kuznetsov) [2009340] - KVM: x86/mmu: Use MMU's role to compute permission bitmask (Vitaly Kuznetsov) [2009340] - KVM: x86/mmu: Drop vCPU param from reserved bits calculator (Vitaly Kuznetsov) [2009340] - KVM: x86/mmu: Use MMU's role to get CR4.PSE for computing rsvd bits (Vitaly Kuznetsov) [2009340] - KVM: x86/mmu: Don't grab CR4.PSE for calculating shadow reserved bits (Vitaly Kuznetsov) [2009340] - KVM: x86/mmu: Always set new mmu_role immediately after checking old role (Vitaly Kuznetsov) [2009340] - KVM: x86/mmu: Set CR4.PKE/LA57 in MMU role iff long mode is active (Vitaly Kuznetsov) [2009340] - KVM: x86/mmu: Do not set paging-related bits in MMU role if CR0.PG=0 (Vitaly Kuznetsov) [2009340] - KVM: x86/mmu: Add accessors to query mmu_role bits (Vitaly Kuznetsov) [2009340] - KVM: x86/mmu: Rename "nxe" role bit to "efer_nx" for macro shenanigans (Vitaly Kuznetsov) [2009340] - KVM: x86/mmu: Use MMU's role_regs, not vCPU state, to compute mmu_role (Vitaly Kuznetsov) [2009340] - KVM: x86/mmu: Ignore CR0 and CR4 bits in nested EPT MMU role (Vitaly Kuznetsov) [2009340] - KVM: x86/mmu: Consolidate misc updates into shadow_mmu_init_context() (Vitaly Kuznetsov) [2009340] - KVM: x86/mmu: Add struct and helpers to retrieve MMU role bits from regs (Vitaly Kuznetsov) [2009340] - KVM: x86/mmu: Grab shadow root level from mmu_role for shadow MMUs (Vitaly Kuznetsov) [2009340] - KVM: x86/mmu: Move nested NPT reserved bit calculation into MMU proper (Vitaly Kuznetsov) [2009340] - KVM: x86: Read and pass all CR0/CR4 role bits to shadow MMU helper (Vitaly Kuznetsov) [2009340] - KVM: x86/mmu: Drop smep_andnot_wp check from "uses NX" for shadow MMUs (Vitaly Kuznetsov) [2009340] - KVM: nSVM: Add a comment to document why nNPT uses vmcb01, not vCPU state (Vitaly Kuznetsov) [2009340] - KVM: x86: Fix sizes used to pass around CR0, CR4, and EFER (Vitaly Kuznetsov) [2009340] - KVM: x86/mmu: Rename unsync helper and update related comments (Vitaly Kuznetsov) [2009340] - KVM: x86/mmu: Drop the intermediate "transient" __kvm_sync_page() (Vitaly Kuznetsov) [2009340] - KVM: x86/mmu: comment on kvm_mmu_get_page's syncing of pages (Vitaly Kuznetsov) [2009340] - KVM: x86/mmu: WARN and zap SP when sync'ing if MMU role mismatches (Vitaly Kuznetsov) [2009340] - KVM: x86/mmu: Use MMU role to check for matching guest page sizes (Vitaly Kuznetsov) [2009340] - KVM: x86/mmu: Unconditionally zap unsync SPs when creating >4k SP at GFN (Vitaly Kuznetsov) [2009340] - Revert "KVM: MMU: record maximum physical address width in kvm_mmu_extended_role" (Vitaly Kuznetsov) [2009340] - KVM: x86: Alert userspace that KVM_SET_CPUID{,2} after KVM_RUN is broken (Vitaly Kuznetsov) [2009340] - KVM: debugfs: Reuse binary stats descriptors (Vitaly Kuznetsov) [2009340] - KVM: selftests: Add selftest for KVM statistics data binary interface (Vitaly Kuznetsov) [2009340] - KVM: stats: Add documentation for binary statistics interface (Vitaly Kuznetsov) [2009340] - KVM: stats: Support binary stats retrieval for a VCPU (Vitaly Kuznetsov) [2009340] - KVM: stats: Support binary stats retrieval for a VM (Vitaly Kuznetsov) [2009340] - KVM: stats: Add fd-based API to read binary stats data (Vitaly Kuznetsov) [2009340] - KVM: stats: Separate generic stats from architecture specific ones (Vitaly Kuznetsov) [2009340] - KVM: x86/mmu: Don't WARN on a NULL shadow page in TDP MMU check (Vitaly Kuznetsov) [2009340] - KVM: sefltests: Add x86-64 test to verify MMU reacts to CPUID updates (Vitaly Kuznetsov) [2009340] - KVM: selftests: Add hugepage support for x86-64 (Vitaly Kuznetsov) [2009340] - KVM: selftests: Genericize upper level page table entry struct (Vitaly Kuznetsov) [2009340] - KVM: selftests: Add PTE helper for x86-64 in preparation for hugepages (Vitaly Kuznetsov) [2009340] - KVM: selftests: Rename x86's page table "address" to "pfn" (Vitaly Kuznetsov) [2009340] - KVM: selftests: Add wrapper to allocate page table page (Vitaly Kuznetsov) [2009340] - KVM: selftests: Unconditionally allocate EPT tables in memslot 0 (Vitaly Kuznetsov) [2009340] - KVM: selftests: Unconditionally use memslot '0' for page table allocations (Vitaly Kuznetsov) [2009340] - KVM: selftests: Unconditionally use memslot 0 for vaddr allocations (Vitaly Kuznetsov) [2009340] - KVM: selftests: Use "standard" min virtual address for CPUID test alloc (Vitaly Kuznetsov) [2009340] - KVM: selftests: Use alloc page helper for xAPIC IPI test (Vitaly Kuznetsov) [2009340] - KVM: selftests: Use alloc_page helper for x86-64's GDT/IDT/TSS allocations (Vitaly Kuznetsov) [2009340] - KVM: selftests: Lower the min virtual address for misc page allocations (Vitaly Kuznetsov) [2009340] - KVM: selftests: Add helpers to allocate N pages of virtual memory (Vitaly Kuznetsov) [2009340] - KVM: selftests: Use "standard" min virtual address for Hyper-V pages (Vitaly Kuznetsov) [2009340] - KVM: selftests: Unconditionally use memslot 0 for x86's GDT/TSS setup (Vitaly Kuznetsov) [2009340] - KVM: selftests: Unconditionally use memslot 0 when loading elf binary (Vitaly Kuznetsov) [2009340] - KVM: selftests: Zero out the correct page in the Hyper-V features test (Vitaly Kuznetsov) [2009340] - KVM: selftests: Remove errant asm/barrier.h include to fix arm64 build (Vitaly Kuznetsov) [2009340] - KVM: x86/mmu: Fix uninitialized boolean variable flush (Vitaly Kuznetsov) [2009340] - KVM: selftests: fix triple fault if ept=0 in dirty_log_test (Vitaly Kuznetsov) [2009340] - KVM: x86: Print CPU of last attempted VM-entry when dumping VMCS/VMCB (Vitaly Kuznetsov) [2009340] - KVM: nVMX: Dynamically compute max VMCS index for vmcs12 (Vitaly Kuznetsov) [2009340] - KVM: VMX: Skip #PF(RSVD) intercepts when emulating smaller maxphyaddr (Vitaly Kuznetsov) [2009340] - KVM: x86/mmu: Remove redundant root_hpa checks (Vitaly Kuznetsov) [2009340] - KVM: x86/mmu: Refactor is_tdp_mmu_root into is_tdp_mmu (Vitaly Kuznetsov) [2009340] - KVM: x86/mmu: Remove redundant is_tdp_mmu_enabled check (Vitaly Kuznetsov) [2009340] - KVM: x86/mmu: Remove redundant is_tdp_mmu_root check (Vitaly Kuznetsov) [2009340] - KVM: x86: Stub out is_tdp_mmu_root on 32-bit hosts (Vitaly Kuznetsov) [2009340] - KVM: x86: WARN and reject loading KVM if NX is supported but not enabled (Vitaly Kuznetsov) [2009340] - KVM: SVM: Refuse to load kvm_amd if NX support is not available (Vitaly Kuznetsov) [2009340] - KVM: VMX: Refuse to load kvm_intel if EPT and NX are disabled (Vitaly Kuznetsov) [2009340] - KVM: x86/mmu: Fix TDP MMU page table level (Vitaly Kuznetsov) [2009340] - KVM: x86/mmu: Fix pf_fixed count in tdp_mmu_map_handle_target_level() (Vitaly Kuznetsov) [2009340] - KVM: x86/mmu: Fix return value in tdp_mmu_map_handle_target_level() (Vitaly Kuznetsov) [2009340] - KVM: LAPIC: Keep stored TMCCT register value 0 after KVM_SET_LAPIC (Vitaly Kuznetsov) [2009340] - KVM: X86: Introduce KVM_HC_MAP_GPA_RANGE hypercall (Vitaly Kuznetsov) [2009340] - KVM: switch per-VM stats to u64 (Vitaly Kuznetsov) [2009340] - KVM: x86/mmu: Grab nx_lpage_splits as an unsigned long before division (Vitaly Kuznetsov) [2009340] - KVM: x86: Check for pending interrupts when APICv is getting disabled (Vitaly Kuznetsov) [2009340] - KVM: nVMX: Drop redundant checks on vmcs12 in EPTP switching emulation (Vitaly Kuznetsov) [2009340] - KVM: nVMX: WARN if subtly-impossible VMFUNC conditions occur (Vitaly Kuznetsov) [2009340] - KVM: x86: Drop pointless @reset_roots from kvm_init_mmu() (Vitaly Kuznetsov) [2009340] - KVM: x86: Defer MMU sync on PCID invalidation (Vitaly Kuznetsov) [2009340] - KVM: nVMX: Use fast PGD switch when emulating VMFUNC[EPTP_SWITCH] (Vitaly Kuznetsov) [2009340] - KVM: x86: Use KVM_REQ_TLB_FLUSH_GUEST to handle INVPCID(ALL) emulation (Vitaly Kuznetsov) [2009340] - KVM: nVMX: Free only guest_mode (L2) roots on INVVPID w/o EPT (Vitaly Kuznetsov) [2009340] - KVM: nVMX: Consolidate VM-Enter/VM-Exit TLB flush and MMU sync logic (Vitaly Kuznetsov) [2009340] - KVM: x86: Drop skip MMU sync and TLB flush params from "new PGD" helpers (Vitaly Kuznetsov) [2009340] - KVM: nSVM: Move TLB flushing logic (or lack thereof) to dedicated helper (Vitaly Kuznetsov) [2009340] - KVM: x86: Uncondtionally skip MMU sync/TLB flush in MOV CR3's PGD switch (Vitaly Kuznetsov) [2009340] - KVM: x86: Invalidate all PGDs for the current PCID on MOV CR3 w/ flush (Vitaly Kuznetsov) [2009340] - KVM: nVMX: Don't clobber nested MMU's A/D status on EPTP switch (Vitaly Kuznetsov) [2009340] - KVM: nVMX: Ensure 64-bit shift when checking VMFUNC bitmap (Vitaly Kuznetsov) [2009340] - KVM: nVMX: Sync all PGDs on nested transition with shadow paging (Vitaly Kuznetsov) [2009340] - KVM: x86: avoid loading PDPTRs after migration when possible (Vitaly Kuznetsov) [2009340] - KVM: x86: Introduce KVM_GET_SREGS2 / KVM_SET_SREGS2 (Vitaly Kuznetsov) [2009340] - KVM: x86: introduce kvm_register_clear_available (Vitaly Kuznetsov) [2009340] - KVM: nVMX: delay loading of PDPTRs to KVM_REQ_GET_NESTED_STATE_PAGES (Vitaly Kuznetsov) [2009340] - KVM: nSVM: refactor the CR3 reload on migration (Vitaly Kuznetsov) [2009340] - KVM: x86: Always load PDPTRs on CR3 load for SVM w/o NPT and a PAE guest (Vitaly Kuznetsov) [2009340] - KVM: nSVM: Drop pointless pdptrs_changed() check on nested transition (Vitaly Kuznetsov) [2009340] - KVM: nVMX: Drop obsolete (and pointless) pdptrs_changed() check (Vitaly Kuznetsov) [2009340] - KVM: selftests: Introduce hyperv_features test (Vitaly Kuznetsov) [2009340] - KVM: selftests: Move evmcs.h to x86_64/ (Vitaly Kuznetsov) [2009340] - KVM: selftests: move Hyper-V MSR definitions to hyperv.h (Vitaly Kuznetsov) [2009340] - KVM: x86: hyper-v: Honor HV_X64_EX_PROCESSOR_MASKS_RECOMMENDED bit (Vitaly Kuznetsov) [2009340] - KVM: x86: hyper-v: Honor HV_X64_CLUSTER_IPI_RECOMMENDED bit (Vitaly Kuznetsov) [2009340] - KVM: x86: hyper-v: Honor HV_X64_REMOTE_TLB_FLUSH_RECOMMENDED bit (Vitaly Kuznetsov) [2009340] - KVM: x86: hyper-v: Honor HV_DEBUGGING privilege bit (Vitaly Kuznetsov) [2009340] - KVM: x86: hyper-v: Honor HV_SIGNAL_EVENTS privilege bit (Vitaly Kuznetsov) [2009340] - KVM: x86: hyper-v: Honor HV_POST_MESSAGES privilege bit (Vitaly Kuznetsov) [2009340] - KVM: x86: hyper-v: Check access to HVCALL_NOTIFY_LONG_SPIN_WAIT hypercall (Vitaly Kuznetsov) [2009340] - KVM: x86: hyper-v: Prepare to check access to Hyper-V hypercalls (Vitaly Kuznetsov) [2009340] - KVM: x86: hyper-v: Honor HV_STIMER_DIRECT_MODE_AVAILABLE privilege bit (Vitaly Kuznetsov) [2009340] - KVM: x86: hyper-v: Inverse the default in hv_check_msr_access() (Vitaly Kuznetsov) [2009340] - KVM: x86: hyper-v: Honor HV_FEATURE_DEBUG_MSRS_AVAILABLE privilege bit (Vitaly Kuznetsov) [2009340] - KVM: x86: hyper-v: Honor HV_FEATURE_GUEST_CRASH_MSR_AVAILABLE privilege bit (Vitaly Kuznetsov) [2009340] - KVM: x86: hyper-v: Honor HV_ACCESS_REENLIGHTENMENT privilege bit (Vitaly Kuznetsov) [2009340] - KVM: x86: hyper-v: Honor HV_ACCESS_FREQUENCY_MSRS privilege bit (Vitaly Kuznetsov) [2009340] - KVM: x86: hyper-v: Honor HV_MSR_APIC_ACCESS_AVAILABLE privilege bit (Vitaly Kuznetsov) [2009340] - KVM: x86: hyper-v: Honor HV_MSR_SYNTIMER_AVAILABLE privilege bit (Vitaly Kuznetsov) [2009340] - KVM: x86: hyper-v: Honor HV_MSR_SYNIC_AVAILABLE privilege bit (Vitaly Kuznetsov) [2009340] - KVM: x86: hyper-v: Honor HV_MSR_REFERENCE_TSC_AVAILABLE privilege bit (Vitaly Kuznetsov) [2009340] - KVM: x86: hyper-v: Honor HV_MSR_RESET_AVAILABLE privilege bit (Vitaly Kuznetsov) [2009340] - KVM: x86: hyper-v: Honor HV_MSR_VP_INDEX_AVAILABLE privilege bit (Vitaly Kuznetsov) [2009340] - KVM: x86: hyper-v: Honor HV_MSR_TIME_REF_COUNT_AVAILABLE privilege bit (Vitaly Kuznetsov) [2009340] - KVM: x86: hyper-v: Honor HV_MSR_VP_RUNTIME_AVAILABLE privilege bit (Vitaly Kuznetsov) [2009340] - KVM: x86: hyper-v: Honor HV_MSR_HYPERCALL_AVAILABLE privilege bit (Vitaly Kuznetsov) [2009340] - KVM: x86: hyper-v: Prepare to check access to Hyper-V MSRs (Vitaly Kuznetsov) [2009340] - KVM: x86: hyper-v: Cache guest CPUID leaves determining features availability (Vitaly Kuznetsov) [2009340] - KVM: x86: hyper-v: Introduce KVM_CAP_HYPERV_ENFORCE_CPUID (Vitaly Kuznetsov) [2009340] - asm-generic/hyperv: add HV_STATUS_ACCESS_DENIED definition (Vitaly Kuznetsov) [2009340] - KVM: SVM: hyper-v: Direct Virtual Flush support (Vitaly Kuznetsov) [2009340] - KVM: SVM: hyper-v: Enlightened MSR-Bitmap support (Vitaly Kuznetsov) [2009340] - KVM: SVM: hyper-v: Remote TLB flush for SVM (Vitaly Kuznetsov) [2009340] - KVM: SVM: Software reserved fields (Vitaly Kuznetsov) [2009340] - KVM: x86: hyper-v: Move the remote TLB flush logic out of vmx (Vitaly Kuznetsov) [2009340] - KVM: nVMX: nSVM: Add a new VCPU statistic to show if VCPU is in guest mode (Vitaly Kuznetsov) [2009340] - KVM: x86: Drop "pre_" from enter/leave_smm() helpers (Vitaly Kuznetsov) [2009340] - KVM: x86: Drop .post_leave_smm(), i.e. the manual post-RSM MMU reset (Vitaly Kuznetsov) [2009340] - KVM: x86: Rename SMM tracepoint to make it reflect reality (Vitaly Kuznetsov) [2009340] - KVM: x86: Move "entering SMM" tracepoint into kvm_smm_changed() (Vitaly Kuznetsov) [2009340] - KVM: x86: Move (most) SMM hflags modifications into kvm_smm_changed() (Vitaly Kuznetsov) [2009340] - KVM: x86: Invoke kvm_smm_changed() immediately after clearing SMM flag (Vitaly Kuznetsov) [2009340] - KVM: x86: Replace .set_hflags() with dedicated .exiting_smm() helper (Vitaly Kuznetsov) [2009340] - KVM: x86: Emulate triple fault shutdown if RSM emulation fails (Vitaly Kuznetsov) [2009340] - KVM: x86: Drop vendor specific functions for APICv/AVIC enablement (Vitaly Kuznetsov) [2009340] - KVM: x86: Use common 'enable_apicv' variable for both APICv and AVIC (Vitaly Kuznetsov) [2009340] - kvm: x86: implement KVM PM-notifier (Vitaly Kuznetsov) [2009340] - kvm: add PM-notifier (Vitaly Kuznetsov) [2009340] - KVM: selftests: Introduce x2APIC register manipulation functions (Vitaly Kuznetsov) [2009340] - KVM: selftests: Hoist APIC functions out of individual tests (Vitaly Kuznetsov) [2009340] - KVM: selftests: Move APIC definitions into a separate file (Vitaly Kuznetsov) [2009340] - KVM: nVMX: Disable vmcs02 posted interrupts if vmcs12 PID isn't mappable (Vitaly Kuznetsov) [2009340] - KVM: nVMX: Fail on MMIO completion for nested posted interrupts (Vitaly Kuznetsov) [2009340] - KVM: x86: Add a return code to kvm_apic_accept_events (Vitaly Kuznetsov) [2009340] - KVM: x86: Add a return code to inject_pending_event (Vitaly Kuznetsov) [2009340] - KVM: nVMX: Add a return code to vmx_complete_nested_posted_interrupt (Vitaly Kuznetsov) [2009340] - KVM: x86: Remove guest mode check from kvm_check_nested_events (Vitaly Kuznetsov) [2009340] - KVM: selftests: x86: Add vmx_nested_tsc_scaling_test (Vitaly Kuznetsov) [2009340] - KVM: nVMX: Enable nested TSC scaling (Vitaly Kuznetsov) [2009340] - KVM: X86: Add vendor callbacks for writing the TSC multiplier (Vitaly Kuznetsov) [2009340] - KVM: X86: Move write_l1_tsc_offset() logic to common code and rename it (Vitaly Kuznetsov) [2009340] - KVM: X86: Add functions that calculate the nested TSC fields (Vitaly Kuznetsov) [2009340] - KVM: X86: Add functions for retrieving L2 TSC fields from common code (Vitaly Kuznetsov) [2009340] - KVM: nVMX: Add a TSC multiplier field in VMCS12 (Vitaly Kuznetsov) [2009340] - KVM: X86: Add a ratio parameter to kvm_scale_tsc() (Vitaly Kuznetsov) [2009340] - KVM: X86: Rename kvm_compute_tsc_offset() to kvm_compute_l1_tsc_offset() (Vitaly Kuznetsov) [2009340] - KVM: X86: Store L1's TSC scaling ratio in 'struct kvm_vcpu_arch' (Vitaly Kuznetsov) [2009340] - math64.h: Add mul_s64_u64_shr() (Vitaly Kuznetsov) [2009340] - KVM: x86/mmu: Add a field to control memslot rmap allocation (Vitaly Kuznetsov) [2009340] - KVM: mmu: Add slots_arch_lock for memslot arch fields (Vitaly Kuznetsov) [2009340] - KVM: mmu: Refactor memslot copy (Vitaly Kuznetsov) [2009340] - KVM: x86/mmu: Factor out allocating memslot rmap (Vitaly Kuznetsov) [2009340] - KVM: x86/mmu: Deduplicate rmap freeing (Vitaly Kuznetsov) [2009340] - KVM: x86: Do not write protect huge page in initially-all-set mode (Vitaly Kuznetsov) [2009340] - KVM: x86: Support write protecting only large pages (Vitaly Kuznetsov) [2009340] - KVM: hyper-v: Advertise support for fast XMM hypercalls (Vitaly Kuznetsov) [2009340] - KVM: x86: kvm_hv_flush_tlb use inputs from XMM registers (Vitaly Kuznetsov) [2009340] - KVM: hyper-v: Collect hypercall params into struct (Vitaly Kuznetsov) [2009340] - KVM: x86: Move FPU register accessors into fpu.h (Vitaly Kuznetsov) [2009340] - KVM: x86/mmu: Make is_nx_huge_page_enabled an inline function (Vitaly Kuznetsov) [2009340] - KVM: selftests: Fix kvm_check_cap() assertion (Vitaly Kuznetsov) [2009340] - KVM: selftests: Add aarch64/debug-exceptions test (Vitaly Kuznetsov) [2009340] - KVM: selftests: Add exception handling support for aarch64 (Vitaly Kuznetsov) [2009340] - KVM: selftests: Move GUEST_ASSERT_EQ to utils header (Vitaly Kuznetsov) [2009340] - KVM: selftests: Introduce UCALL_UNHANDLED for unhandled vector reporting (Vitaly Kuznetsov) [2009340] - KVM: selftests: Complete x86_64/sync_regs_test ucall (Vitaly Kuznetsov) [2009340] - KVM: selftests: Rename vm_handle_exception (Vitaly Kuznetsov) [2009340] - KVM: selftests: Fix compiling errors when initializing the static structure (Vitaly Kuznetsov) [2009340] - selftests: kvm: Add support for customized slot0 memory size (Vitaly Kuznetsov) [2009340] - selftests: kvm: fix overlapping addresses in memslot_perf_test (Vitaly Kuznetsov) [2009340] - selftests: kvm: do only 1 memslot_perf_test run by default (Vitaly Kuznetsov) [2009340] - KVM: X86: Use _BITUL() macro in UAPI headers (Vitaly Kuznetsov) [2009340] - KVM: selftests: create alias mappings when using shared memory (Vitaly Kuznetsov) [2009340] - KVM: selftests: add shmem backing source type (Vitaly Kuznetsov) [2009340] - KVM: selftests: refactor vm_mem_backing_src_type flags (Vitaly Kuznetsov) [2009340] - KVM: selftests: allow different backing source types (Vitaly Kuznetsov) [2009340] - KVM: selftests: compute correct demand paging size (Vitaly Kuznetsov) [2009340] - KVM: selftests: simplify setup_demand_paging error handling (Vitaly Kuznetsov) [2009340] - KVM: selftests: Print a message if /dev/kvm is missing (Vitaly Kuznetsov) [2009340] - KVM: selftests: trivial comment/logging fixes (Vitaly Kuznetsov) [2009340] - KVM: selftests: Fix hang in hardware_disable_test (Vitaly Kuznetsov) [2009340] - KVM: selftests: Ignore CPUID.0DH.1H in get_cpuid_test (Vitaly Kuznetsov) [2009340] - KVM: selftests: Fix 32-bit truncation of vm_get_max_gfn() (Vitaly Kuznetsov) [2009340] - KVM: selftests: add a memslot-related performance benchmark (Vitaly Kuznetsov) [2009340] - KVM: selftests: Keep track of memslots more efficiently (Vitaly Kuznetsov) [2009340] - selftests: kvm: fix potential issue with ELF loading (Vitaly Kuznetsov) [2009340] - selftests: kvm: make allocation of extra memory take effect (Vitaly Kuznetsov) [2009340] - docs: virt: api.rst: fix a pointer to SGX documentation (Vitaly Kuznetsov) [2009340] - docs: vcpu-requests.rst: fix reference for atomic ops (Vitaly Kuznetsov) [2009340] - x86/msr: Rename MSR_K8_SYSCFG to MSR_AMD64_SYSCFG (Vitaly Kuznetsov) [2009340] - x86/sev: Move GHCB MSR protocol and NAE definitions in a common header (Vitaly Kuznetsov) [2009340] - x86/sev-es: Rename sev-es.{ch} to sev.{ch} (Vitaly Kuznetsov) [2009340] - x86/sev-es: Replace open-coded hlt-loops with sev_es_terminate() (Vitaly Kuznetsov) [2009340] - tools/kvm_stat: Fix documentation typo (Vitaly Kuznetsov) [2009340] - KVM: x86: Hide RDTSCP and RDPID if MSR_TSC_AUX probing failed (Vitaly Kuznetsov) [2009340] - KVM: x86: Tie Intel and AMD behavior for MSR_TSC_AUX to guest CPU model (Vitaly Kuznetsov) [2009340] - KVM: x86: Move uret MSR slot management to common x86 (Vitaly Kuznetsov) [2009340] - KVM: x86: Export the number of uret MSRs to vendor modules (Vitaly Kuznetsov) [2009340] - KVM: VMX: Disable loading of TSX_CTRL MSR the more conventional way (Vitaly Kuznetsov) [2009340] - KVM: VMX: Use common x86's uret MSR list as the one true list (Vitaly Kuznetsov) [2009340] - KVM: VMX: Use flag to indicate "active" uret MSRs instead of sorting list (Vitaly Kuznetsov) [2009340] - KVM: VMX: Configure list of user return MSRs at module init (Vitaly Kuznetsov) [2009340] - KVM: x86: Add support for RDPID without RDTSCP (Vitaly Kuznetsov) [2009340] - selftests: kvm: remove reassignment of non-absolute variables (Vitaly Kuznetsov) [2009340] - doc/kvm: Fix wrong entry for KVM_CAP_X86_MSR_FILTER (Vitaly Kuznetsov) [2009340] - KVM: x86/mmu: Fix kdoc of __handle_changed_spte (Vitaly Kuznetsov) [2009340] - KVM: documentation: fix sphinx warnings (Vitaly Kuznetsov) [2009340] - KVM: x86: document behavior of measurement ioctls with len==0 (Vitaly Kuznetsov) [2009340] - documentation/kvm: additional explanations on KVM_SET_BOOT_CPU_ID (Vitaly Kuznetsov) [2009340] - docs: kvm: Fix a typo ("althought") (Vitaly Kuznetsov) [2009340] - KVM: move EXIT_FASTPATH_REENTER_GUEST to common code (Vitaly Kuznetsov) [2009340] - mm, kvm: account kvm_vcpu_mmap to kmemcg (Vitaly Kuznetsov) [2009340] - x86/kvm: Use msi_msg shadow structs (Vitaly Kuznetsov) [2009340] - ceph: fix up non-directory creation in SGID directories (Jeffrey Layton) [2017796] - ceph: initialize pathlen variable in reconnect_caps_cb (Jeffrey Layton) [2017796] - ceph: initialize i_size variable in ceph_sync_read (Jeffrey Layton) [2017796] - ceph: fix duplicate increment of opened_inodes metric (Jeffrey Layton) [2017796] - ceph: add a new metric to keep track of remote object copies (Jeffrey Layton) [2017796] - libceph, ceph: move ceph_osdc_copy_from() into cephfs code (Jeffrey Layton) [2017796] - ceph: clean-up metrics data structures to reduce code duplication (Jeffrey Layton) [2017796] - ceph: split 'metric' debugfs file into several files (Jeffrey Layton) [2017796] - ceph: return the real size read when it hits EOF (Jeffrey Layton) [2017796] - ceph: properly handle statfs on multifs setups (Jeffrey Layton) [2017796] - ceph: shut down mount on bad mdsmap or fsmap decode (Jeffrey Layton) [2017796] - ceph: fix mdsmap decode when there are MDS's beyond max_mds (Jeffrey Layton) [2017796] - ceph: ignore the truncate when size won't change with Fx caps issued (Jeffrey Layton) [2017796] - ceph: don't rely on error_string to validate blocklisted session. (Jeffrey Layton) [2017796] - ceph: just use ci->i_version for fscache aux info (Jeffrey Layton) [2017796] - ceph: shut down access to inode when async create fails (Jeffrey Layton) [2017796] - ceph: refactor remove_session_caps_cb (Jeffrey Layton) [2017796] - ceph: fix auth cap handling logic in remove_session_caps_cb (Jeffrey Layton) [2017796] - ceph: drop private list from remove_session_caps_cb (Jeffrey Layton) [2017796] - ceph: don't use -ESTALE as special return code in try_get_cap_refs (Jeffrey Layton) [2017796] - ceph: print inode numbers instead of pointer values (Jeffrey Layton) [2017796] - ceph: enable async dirops by default (Jeffrey Layton) [2017796] - libceph: drop ->monmap and err initialization (Jeffrey Layton) [2017796] - ceph: convert to noop_direct_IO (Jeffrey Layton) [2017796] - ceph: fix off by one bugs in unsafe_request_wait() (Jeffrey Layton) [2017796] - ceph: fix handling of "meta" errors (Jeffrey Layton) [2017796] - ceph: drop the mdsc_get_session/put_session dout messages (Jeffrey Layton) [2017796] - ceph: lockdep annotations for try_nonblocking_invalidate (Jeffrey Layton) [2017796] - ceph: don't WARN if we're forcibly removing the session caps (Jeffrey Layton) [2017796] - ceph: don't WARN if we're force umounting (Jeffrey Layton) [2017796] - ceph: remove the capsnaps when removing caps (Jeffrey Layton) [2017796] - ceph: request Fw caps before updating the mtime in ceph_write_iter (Jeffrey Layton) [2017796] - ceph: reconnect to the export targets on new mdsmaps (Jeffrey Layton) [2017796] - ceph: print more information when we can't find snaprealm (Jeffrey Layton) [2017796] - ceph: add ceph_change_snap_realm() helper (Jeffrey Layton) [2017796] - ceph: remove redundant initializations from mdsc and session (Jeffrey Layton) [2017796] - ceph: cancel delayed work instead of flushing on mdsc teardown (Jeffrey Layton) [2017796] - ceph: add a new vxattr to return auth mds for an inode (Jeffrey Layton) [2017796] - ceph: flush the mdlog before waiting on unsafe reqs (Jeffrey Layton) [2017796] - ceph: flush mdlog before umounting (Jeffrey Layton) [2017796] - ceph: make iterate_sessions a global symbol (Jeffrey Layton) [2017796] - ceph: make ceph_create_session_msg a global symbol (Jeffrey Layton) [2017796] - ceph: fix comment about short copies in ceph_write_end (Jeffrey Layton) [2017796] - ceph: fix memory leak on decode error in ceph_handle_caps (Jeffrey Layton) [2017796] - RDMA/irdma: Fix a potential memory allocation issue in 'irdma_prm_add_pble_mem()' (Kamal Heib) [1970672] - RDMA/irdma: Don't arm the CQ more than two times if no CE for this CQ (Kamal Heib) [1970672] - RDMA/irdma: Fix a user-after-free in add_pble_prm (Kamal Heib) [1970672] - RDMA/irdma: Report correct WC errors (Kamal Heib) [1970672] - RDMA/irdma: Do not hold qos mutex twice on QP resume (Kamal Heib) [1970672] - RDMA/irdma: Set VLAN in UD work completion correctly (Kamal Heib) [1970672] - RDMA/irdma: Process extended CQ entries correctly (Kamal Heib) [1970672] - RDMA/irdma: Report correct WC error when there are MW bind errors (Kamal Heib) [1970672] - RDMA/irdma: Report correct WC error when transport retry counter is exceeded (Kamal Heib) [1970672] - RDMA/irdma: Validate number of CQ entries on create CQ (Kamal Heib) [1970672] - RDMA/irdma: Skip CQP ring during a reset (Kamal Heib) [1970672] - RDMA/irdma: Remove the repeated declaration (Kamal Heib) [1970672] - RDMA/irdma: Use correct kconfig symbol for AUXILIARY_BUS (Kamal Heib) [1970672] - RDMA/irdma: Change returned type of irdma_setup_virt_qp to void (Kamal Heib) [1970672] - RDMA/irdma: Change the returned type of irdma_set_hw_rsrc to void (Kamal Heib) [1970672] - RDMA/irdma: change the returned type of irdma_sc_repost_aeq_entries to void (Kamal Heib) [1970672] - RDMA/irdma: Check vsi pointer before using it (Kamal Heib) [1970672] - RDMA/irdma: Change the returned type to void (Kamal Heib) [1970672] - RDMA/irdma: Make spdxcheck.py happy (Kamal Heib) [1970672] - RDMA/irdma: Fix unused variable total_size warning (Kamal Heib) [1970672] - RDMA/irdma: Fix potential overflow expression in irdma_prm_get_pbles (Kamal Heib) [1970672] - RDMA/irdma: Check contents of user-space irdma_mem_reg_req object (Kamal Heib) [1970672] - RDMA/irdma: Remove use of kmap() (Kamal Heib) [1970672] - RDMA/irdma: Use the queried port attributes (Kamal Heib) [1970672] - RDMA/irdma: Check return value from ib_umem_find_best_pgsz (Kamal Heib) [1970672] - RDMA: Split the alloc_hw_stats() ops to port and device variants (Kamal Heib) [1970672] - RDMA/irdma: Store PBL info address a pointer type (Kamal Heib) [1970672] - RDMA/irdma: Use list_last_entry/list_first_entry (Kamal Heib) [1970672] - RDMA/irdma: Use list_move instead of list_del/list_add (Kamal Heib) [1970672] - RDMA/irdma: Fix return error sign from irdma_modify_qp (Kamal Heib) [1970672] - RDMA/irdma: Fix spelling mistake "Allocal" -> "Allocate" (Kamal Heib) [1970672] - RDMA/irdma: remove redundant initialization of variable val (Kamal Heib) [1970672] - RDMA/irdma: remove extraneous indentation on a statement (Kamal Heib) [1970672] - RDMA/irdma: Fix issues with u8 left shift operation (Kamal Heib) [1970672] - RDMA/irdma: Add irdma Kconfig/Makefile and remove i40iw (Kamal Heib) [1970672] - RDMA/irdma: Add ABI definitions (Kamal Heib) [1970672] - RDMA/irdma: Add dynamic tracing for CM (Kamal Heib) [1970672] - RDMA/irdma: Add miscellaneous utility definitions (Kamal Heib) [1970672] - RDMA/irdma: Add user/kernel shared libraries (Kamal Heib) [1970672] - RDMA/irdma: Add RoCEv2 UD OP support (Kamal Heib) [1970672] - RDMA/irdma: Implement device supported verb APIs (Kamal Heib) [1970672] - RDMA/irdma: Add PBLE resource manager (Kamal Heib) [1970672] - RDMA/irdma: Add connection manager (Kamal Heib) [1970672] - RDMA/irdma: Add QoS definitions (Kamal Heib) [1970672] - RDMA/irdma: Add privileged UDA queue implementation (Kamal Heib) [1970672] - RDMA/irdma: Add HMC backing store setup functions (Kamal Heib) [1970672] - RDMA/irdma: Implement HW Admin Queue OPs (Kamal Heib) [1970672] - RDMA/irdma: Implement device initialization definitions (Kamal Heib) [1970672] - RDMA/irdma: Register auxiliary driver and implement private channel OPs (Kamal Heib) [1970672] - i40e: Register auxiliary devices to provide RDMA (Kamal Heib) [1970672] - i40e: Prep i40e header for aux bus conversion (Kamal Heib) [1970672] - i40e: Replace one-element array with flexible-array member (Kamal Heib) [1970672] - ibmvnic: drop bad optimization in reuse_tx_pools() (Gustavo Walbon) [2028722] - ibmvnic: drop bad optimization in reuse_rx_pools() (Gustavo Walbon) [2028722] - /proc//cmdline: add back the setproctitle() special case (Ian Kent) [1979446] - /proc//cmdline: remove all the special cases (Ian Kent) [1979446] - perf tests vmlinux-kallsyms: Ignore hidden symbols (Michael Petlan) [1903157] - net/sched: sch_ets: don't remove idle classes from the round-robin list (Davide Caratti) [2013073] - net/sched: sch_ets: don't peek at classes beyond 'nbands' (Davide Caratti) [2013073] - net/sched: sch_ets: properly init all active DRR list handles (Davide Caratti) [2013073] - serial: 8250: fix racy uartclk update (Puneet Sethi) [1784121] - serial: 8250: Skip uninitialized TTY port baud rate update (Puneet Sethi) [1784121] - serial: 8250: Discard RTS/DTS setting from clock update method (Puneet Sethi) [1784121] - serial: 8250: Add 8250 port clock update method (Puneet Sethi) [1784121] - serial: 8250_dw: drop bogus uartclk optimisation (Puneet Sethi) [1784121] - serial: 8250_lpss: Enable PSE UART Auto Flow Control (Puneet Sethi) [1784121] - serial: 8250_lpss: Extract dw8250_do_set_termios() for common use (Puneet Sethi) [1784121] - serial: 8250_dw: Fix the trivial typo in the comment (Puneet Sethi) [1784121] - serial: 8250_dw: Re-use temporary variable for of_node (Puneet Sethi) [1784121] - serial: 8250_dw: Drop wrong use of ACPI_PTR() (Puneet Sethi) [1784121] - serial: 8250_lpss: Enable DMA on Intel Elkhart Lake (Puneet Sethi) [1784121] - serial: 8250_dw: Add device HID for new AMD UART controller (Puneet Sethi) [1784121] - serial: 8250_dw: Fix clk-notifier/port suspend deadlock (Puneet Sethi) [1784121] - serial: 8250_dw: Fix common clocks usage race condition (Puneet Sethi) [1784121] - serial: 8250_dw: Pass the same rate to the clk round and set rate methods (Puneet Sethi) [1784121] - serial: 8250_dw: Simplify the ref clock rate setting procedure (Puneet Sethi) [1784121] - serial: 8250_dw: Use devm_clk_get_optional() to get the input clock (Puneet Sethi) [1784121] - serial: 8250_dw: Avoid double error messaging when IRQ absent (Puneet Sethi) [1784121] - serial: 8250_dw: switch to use 8250_dwlib library (Puneet Sethi) [1784121] - serial: 8250_dw: use pointer to uart local variable (Puneet Sethi) [1784121] - serial: 8250_dw: Use a unified new dev variable in remove (Puneet Sethi) [1784121] - serial: 8250_dw: always set baud rate in dw8250_set_termios (Puneet Sethi) [1784121] - serial: 8250_dw: add fractional divisor support (Puneet Sethi) [1784121] - serial: 8250_dw: Introduce IO accessors to extended registers (Puneet Sethi) [1784121] - dmaengine: dw: Program xBAR hardware for Elkhart Lake (Puneet Sethi) [1784121] - dmaengine: dw: Make it dependent to HAS_IOMEM (Puneet Sethi) [1784121] - dmaengine dw: Revert "dmaengine: dw: Enable runtime PM" (Puneet Sethi) [1784121] - dmaengine: dw: Enable runtime PM (Puneet Sethi) [1784121] - dmaengine: dw: Add DMA-channels mask cell support (Puneet Sethi) [1784121] - dmaengine: dw: Ignore burst setting for memory peripherals (Puneet Sethi) [1784121] - dmaengine: dw: Discard dlen from the dev-to-mem xfer width calculation (Puneet Sethi) [1784121] - dmaengine: dw: Activate FIFO-mode for memory peripherals only (Puneet Sethi) [1784121] - dmaengine: dw: Initialize max_sg_burst capability (Puneet Sethi) [1784121] - dmaengine: dw: Introduce max burst length hw config (Puneet Sethi) [1784121] - dmaengine: dw: Initialize min and max burst DMA device capability (Puneet Sethi) [1784121] - dmaengine: dw: Set DMA device max segment size parameter (Puneet Sethi) [1784121] - dmaengine: dw: Take HC_LLP flag into account for noLLP auto-config (Puneet Sethi) [1784121] - dmaengine: Introduce DMA-device device_caps callback (Puneet Sethi) [1784121] - dmaengine: Introduce max SG burst capability (Puneet Sethi) [1784121] - dmaengine: Introduce min burst length capability (Puneet Sethi) [1784121] - dmaengine: dw: Initialize channel before each transfer (Puneet Sethi) [1784121] - dmaengine: dw: Replace 'objs' by 'y' (Puneet Sethi) [1784121] - dmaengine: dw: Register ACPI DMA controller for PCI that has companion (Puneet Sethi) [1784121] - dmaengine: dw: platform: Mark 'hclk' clock optional (Puneet Sethi) [1784121] - dmaengine: dw: platform: Split OF helpers to separate module (Puneet Sethi) [1784121] - dmaengine: dw: platform: Split ACPI helpers to separate module (Puneet Sethi) [1784121] - dmaengine: dw: platform: Move handle check to dw_dma_acpi_controller_register() (Puneet Sethi) [1784121] - dmaengine: dw: platform: Switch to acpi_dma_controller_register() (Puneet Sethi) [1784121] - dmaengine: dw: platform: Use devm_platform_ioremap_resource() (Puneet Sethi) [1784121] - dmaengine: dw: platform: Enable iDMA 32-bit on Intel Elkhart Lake (Puneet Sethi) [1784121] - dmaengine: dw: platform: Use struct dw_dma_chip_pdata (Puneet Sethi) [1784121] - dmaengine: dw: Export struct dw_dma_chip_pdata for wider use (Puneet Sethi) [1784121] - dmaengine: dw: Update Intel Elkhart Lake Service Engine acronym (Puneet Sethi) [1784121] - dmaengine: dw: Enable iDMA 32-bit on Intel Elkhart Lake (Puneet Sethi) [1784121] - dmaengine: dw: Distinguish ->remove() between DW and iDMA 32-bit (Puneet Sethi) [1784121] - dmaengine: dw: convert to SPDX identifiers (Puneet Sethi) [1784121] - dmaengine: dw: Don't pollute CTL_LO on iDMA 32-bit (Puneet Sethi) [1784121] - dmaengine: dw: Reset DRAIN bit when resume the channel (Puneet Sethi) [1784121] - dmaengine: dw: Split DW and iDMA 32-bit operations (Puneet Sethi) [1784121] - dmaengine: dw: Remove unused internal property (Puneet Sethi) [1784121] - dmaengine: dw: Add missed multi-block support for iDMA 32-bit (Puneet Sethi) [1784121] - dmaengine: dw: drop useless LIST_HEAD (Puneet Sethi) [1784121] - dmaengine: dw: Fix FIFO size for Intel Merrifield (Puneet Sethi) [1784121] - dmaengine: dw-dmac: implement dma protection control setting (Puneet Sethi) [1784121] - dmaengine: dw: remove dma_slave_config direction usage (Puneet Sethi) [1784121] - dmaengine: dw: Add alternative ACPI HIDs for Cherry Trail DMA controllers (Puneet Sethi) [1784121] - perf/arm-cmn: Fix invalid pointer when access dtc object sharing the same IRQ number (Mark Langsdorf) [1997732] - drivers/perf: Simplify EVENT ATTR macro in SMMU PMU driver (Mark Langsdorf) [1997732] - perf/smmuv3: Don't trample existing events with global filter (Mark Langsdorf) [1997732] - perf: qcom: Remove redundant dev_err call in qcom_l3_cache_pmu_probe() (Mark Langsdorf) [1997732] - perf: arm_spe: use DEVICE_ATTR_RO macro (Mark Langsdorf) [1997732] - perf: xgene_pmu: use DEVICE_ATTR_RO macro (Mark Langsdorf) [1997732] - perf: qcom: use DEVICE_ATTR_RO macro (Mark Langsdorf) [1997732] - perf: arm_pmu: use DEVICE_ATTR_RO macro (Mark Langsdorf) [1997732] - drivers/perf: arm-cci: Fix checkpatch spacing error (Mark Langsdorf) [1997732] - drivers/perf: arm-cmn: Add space after ',' (Mark Langsdorf) [1997732] - drivers/perf: arm_pmu: Fix some coding style issues (Mark Langsdorf) [1997732] - drivers/perf: arm_spe_pmu: Fix some coding style issues (Mark Langsdorf) [1997732] - drivers/perf: Remove redundant dev_err call in tx2_uncore_pmu_init_dev() (Mark Langsdorf) [1997732] - perf/arm-smmuv3: Use irq_set_affinity() (Mark Langsdorf) [1997732] - perf/arm-dsu: Use irq_set_affinity() (Mark Langsdorf) [1997732] - perf/arm-dmc620: Use irq_set_affinity() (Mark Langsdorf) [1997732] - perf/arm-cmn: Use irq_set_affinity() (Mark Langsdorf) [1997732] - perf/arm-ccn: Use irq_set_affinity() (Mark Langsdorf) [1997732] - perf/arm-ccn: Clean up CPU hotplug handling (Mark Langsdorf) [1997732] - perf/arm-cci: Remove broken race mitigation (Mark Langsdorf) [1997732] - genirq: Export affinity setter for modules (Mark Langsdorf) [1997732] - perf/arm_pmu_platform: Clean up with dev_printk (Mark Langsdorf) [1997732] - perf/arm_pmu_platform: Fix error handling (Mark Langsdorf) [1997732] - perf/arm_pmu_platform: Use dev_err_probe() for IRQ errors (Mark Langsdorf) [1997732] - drivers/perf: Simplify the SMMUv3 PMU event attributes (Mark Langsdorf) [1997732] - perf: Constify static struct attribute_group (Mark Langsdorf) [1997732] - perf: qcom: Constify static struct attribute_group (Mark Langsdorf) [1997732] - drivers/perf: Add support for ARMv8.3-SPE (Mark Langsdorf) [1997732] - driver/perf: Remove ARM_SMMU_V3_PMU dependency on ARM_SMMU_V3 (Mark Langsdorf) [1997732] - perf/smmuv3: Support sysfs identifier file (Mark Langsdorf) [1997732] - perf: remove duplicate check on fwnode (Mark Langsdorf) [1997732] - redhat/configs: enable ARM_DMC620_PMU memory controller perf counters (Mark Langsdorf) [1997732] - perf/arm_dmc620_pmu: Fix error return code in dmc620_pmu_device_probe() (Mark Langsdorf) [1997732] - drivers/perf: Prevent forced unbinding of ARM_DMC620_PMU drivers (Mark Langsdorf) [1997732] - driver/perf: Add PMU driver for the ARM DMC-620 memory controller (Mark Langsdorf) [1997732] - drivers/perf: thunderx2_pmu: Fix memory resource error handling (Mark Langsdorf) [1997732] - drivers/perf: xgene_pmu: Fix uninitialized resource struct (Mark Langsdorf) [1997732] - perf: arm_dsu: Support DSU ACPI devices (Mark Langsdorf) [1997732] - perf/smmuv3: To simplify code for ioremap page in pmcg (Mark Langsdorf) [1997732] - drivers/perf: Prevent forced unbinding of PMU drivers (Mark Langsdorf) [1997732] - drivers/perf: Fix kernel panic when rmmod PMU modules during perf sampling (Mark Langsdorf) [1997732] - pmu/smmuv3: Clear IRQ affinity hint on device removal (Mark Langsdorf) [1997732] - drivers/perf: arm_spe_pmu: Avoid duplicate printouts (Mark Langsdorf) [1997732] - drivers/perf: arm_dsu_pmu: Avoid duplicate printouts (Mark Langsdorf) [1997732] - drivers/perf: Open access for CAP_PERFMON privileged process (Mark Langsdorf) [1997732] - perf/smmuv3: Remove the leftover put_cpu() in error path (Mark Langsdorf) [1997732] - perf: arm-ccn: Enable stats for CCN-512 interconnect (Mark Langsdorf) [1997732] - perf/smmuv3: use devm_platform_ioremap_resource() to simplify code (Mark Langsdorf) [1997732] - perf/arm-cci: use devm_platform_ioremap_resource() to simplify code (Mark Langsdorf) [1997732] - perf/arm-ccn: use devm_platform_ioremap_resource() to simplify code (Mark Langsdorf) [1997732] - perf: xgene: use devm_platform_ioremap_resource() to simplify code (Mark Langsdorf) [1997732] - perf/smmuv3: Validate groups for global filtering (Mark Langsdorf) [1997732] - perf/smmuv3: Validate group size (Mark Langsdorf) [1997732] - perf/smmuv3: Enable HiSilicon Erratum 162001800 quirk (Mark Langsdorf) [1997732] - perf/smmuv3: Add MSI irq support (Mark Langsdorf) [1997732] - perf/smmuv3: Add arm64 smmuv3 pmu driver (Mark Langsdorf) [1997732] - perf: xgene: Remove set but not used variable 'config' (Mark Langsdorf) [1997732] - perf/drivers: Strengthen exclusion checks with PERF_PMU_CAP_NO_EXCLUDE (Mark Langsdorf) [1997732] - For drivers that do not support context exclusion let's advertise the PERF_PMU_CAP_NO_EXCLUDE capability. This ensures that perf will prevent us from handling events where any exclusion flags are set. Let's also remove the now unnecessary check for exclusion flags. (Mark Langsdorf) [1997732] - perf/core, arch/arm: Use PERF_PMU_CAP_NO_EXCLUDE conditionally (Mark Langsdorf) [1997732] - drivers/perf: arm-ccn: Use devm_ioremap_resource() to map memory (Mark Langsdorf) [1997732] - drivers/perf: Initialise return value in armpmu_request_irqs() (Mark Langsdorf) [1997732] - perf/arm-cci: Remove VLA usage (Mark Langsdorf) [1997732] - tools/power turbostat: version 2021.05.04 (Prarit Bhargava) [2030472] - tools/power turbostat: Support "turbostat --hide idle" (Prarit Bhargava) [2030472] - tools/power turbostat: elevate priority of interval mode (Prarit Bhargava) [2030472] - tools/power turbostat: formatting (Prarit Bhargava) [2030472] - tools/power turbostat: rename tcc variables (Prarit Bhargava) [2030472] - tools/power turbostat: save original CPU model (Prarit Bhargava) [2030472] - tools/power turbostat: add TCC Offset support (Prarit Bhargava) [2030472] - tools/power turbostat: Fix Core C6 residency on Atom CPUs (Prarit Bhargava) [2030472] - tools/power turbostat: Print the C-state Pre-wake settings (Prarit Bhargava) [2030472] - tools/power turbostat: unmark non-kernel-doc comment (Prarit Bhargava) [2030472] - tools/power/turbostat: Remove Package C6 Retention on Ice Lake Server (Prarit Bhargava) [2030472] - tools/power turbostat: Fix offset overflow issue in index converting (Prarit Bhargava) [2030472] - tools/power/turbostat: Fix turbostat for AMD Zen CPUs (Prarit Bhargava) [2030472] - Revert "tools/power turbostat: adjust for temperature offset" (Prarit Bhargava) [2030472] - tools/power turbostat: Fix DRAM Energy Unit on SKX (Prarit Bhargava) [2030472] - tools/power turbostat: print microcode patch level (Prarit Bhargava) [2030472] - tools/power turbostat: add built-in-counter for IPC -- Instructions per Cycle (Prarit Bhargava) [2030472]- [s390] virtio: write back F_VERSION_1 before validate (Claudio Imbrenda) [2026234] - cpufreq: powernv: Fix init_chip_info initialization in numa=off (Steve Best) [2017665] - tcp: don't free a FIN sk_buff in tcp_remove_empty_skb() (Guillaume Nault) [2016210] - tipc: fix size validations for the MSG_CRYPTO type (Xin Long) [2020507] {CVE-2021-43267} - tipc: increase timeout in tipc_sk_enqueue() (Xin Long) [2020401] - Revert "tipc: Return the correct errno code" (Xin Long) [2020401] - tipc: fix an use-after-free issue in tipc_recvmsg (Xin Long) [2020401] - tipc: keep the skb in rcv queue until the whole data is read (Xin Long) [2020401] - powerpc/perf: Fix cycles/instructions as PM_CYC/PM_INST_CMPL in power10 (Steve Best) [2025400] - PCI: Increase D3 delay for AMD Renoir/Cezanne XHCI (Myron Stowe) [2028298] - media: uvcvideo: Avoid cyclic entity chains due to malformed USB descriptors (Dean Nelson) [1921871] {CVE-2020-0404} - sctp: fix transport encap_port update in sctp_vtag_verify (Xin Long) [2020393] - sctp: account stream padding length for reconf chunk (Xin Long) [2020393] - sctp: break out if skb_header_pointer returns NULL in sctp_rcv_ootb (Xin Long) [2020393] - net: cipso: fix warnings in netlbl_cipsov4_add_std (Balazs Nemeth) [2026691] - net/sched: act_ct: fix err check for nf_conntrack_confirm (Davide Caratti) [2018109] - net/sched: act_ct: Fix byte count on fragmented packets (Davide Caratti) [2018109] - mqprio: Correct stats in mqprio_dump_class_stats(). (Davide Caratti) [2018109] - net_sched: fix NULL deref in fifo_set_limit() (Davide Caratti) [2018109] - net: sched: flower: protect fl_walk() with rcu (Davide Caratti) [2018109] - fq_codel: reject silly quantum parameters (Davide Caratti) [2018109] - net: sched: Fix qdisc_rate_table refcount leak when get tcf_block failed (Davide Caratti) [2018109] - sch_htb: Fix inconsistency when leaf qdisc creation fails (Davide Caratti) [2018109] - net: sched: fix lockdep_set_class() typo error for sch->seqlock (Davide Caratti) [2018109] - net: sched: cls_api: Fix the the wrong parameter (Davide Caratti) [2018109] - net/sched: act_vlan: Fix modify to allow 0 (Davide Caratti) [2018109] - net-sysfs: initialize uid and gid before calling net_ns_get_ownership (Xin Long) [1979820] - net: fix sysfs permssions when device changes network namespace (Xin Long) [1979820] - net-sysfs: add queue_change_owner() (Xin Long) [1979820] - net-sysfs: add netdev_change_owner() (Xin Long) [1979820] - drivers/base/power: add dpm_sysfs_change_owner() (Xin Long) [1979820] - device: add device_change_owner() (Xin Long) [1979820] - sysfs: Fix regression when adding a file to an existing group (Xin Long) [1979820] - bridge: make sure objects belong to container's owner (Xin Long) [1979820] - net: create reusable function for getting ownership info of sysfs inodes (Xin Long) [1979820] - net-sysfs: make sure objects belong to container's owner (Xin Long) [1979820] - net-sysfs: require net admin in the init ns for setting tx_maxrate (Xin Long) [1979820] - driver core: set up ownership of class devices in sysfs (Xin Long) [1979820] - kobject: kset_create_and_add() - fetch ownership info from parent (Xin Long) [1979820] - sysfs, kobject: allow creating kobject belonging to arbitrary users (Xin Long) [1979820] - NFSv42: Fix pagecache invalidation after COPY/CLONE (Benjamin Coddington) [2017166] - SUNRPC: fix sign error causing rpcsec_gss drops (Benjamin Coddington) [2017166] - nfsd4: Handle the NFSv4 READDIR 'dircount' hint being zero (Benjamin Coddington) [2017166] - nfsd: fix error handling of register_pernet_subsys() in init_nfsd() (Benjamin Coddington) [2017166] - SUNRPC: Simplify socket shutdown when not reusing TCP ports (Benjamin Coddington) [2017166] - nfsd4: Fix forced-expiry locking (Benjamin Coddington) [2017166] - SUNRPC/xprtrdma: Fix reconnection locking (Benjamin Coddington) [2017166] - NFSv4/pnfs: The layout barrier indicate a minimal value for the seqid (Benjamin Coddington) [2017166] - NFSv4/pNFS: Always allow update of a zero valued layout barrier (Benjamin Coddington) [2017166] - NFSv4/pNFS: Fix a layoutget livelock loop (Benjamin Coddington) [2017166] - xprtrdma: Put rpcrdma_reps before waking the tear-down completion (Benjamin Coddington) [2017166] - NFSD: Fix TP_printk() format specifier in nfsd_clid_class (Benjamin Coddington) [2017166] - NFSv42: Copy offload should update the file size when appropriate (Benjamin Coddington) [2017166] - SUNRPC: Fix XPT_BUSY flag leakage in svc_handle_xprt()... (Benjamin Coddington) [2017166] - NFSv4/pNFS: Return an error if _nfs4_pnfs_v3_ds_connect can't load NFSv3 (Benjamin Coddington) [2017166] - NFSv4/pNFS: Don't call _nfs4_pnfs_v3_ds_connect multiple times (Benjamin Coddington) [2017166] - NFSv4/pnfs: Clean up layout get on open (Benjamin Coddington) [2017166] - NFSv4/pnfs: Fix layoutget behaviour after invalidation (Benjamin Coddington) [2017166] - NFSv4/pnfs: Fix the layout barrier update (Benjamin Coddington) [2017166] - NFSD: Prevent a possible oops in the nfs_dirent() tracepoint (Benjamin Coddington) [2017166] - nfsd: remove redundant assignment to pointer 'this' (Benjamin Coddington) [2017166] - nfs_common: fix doc warning (Benjamin Coddington) [2017166] - nfsd4: Expose the callback address and state of each NFS4 client (Benjamin Coddington) [2017166] - xprtrdma: Fix spelling mistakes (Benjamin Coddington) [2017166] - NFS: nfs_find_open_context() may only select open files (Benjamin Coddington) [2017166] - SUNRPC: Should wake up the privileged task firstly. (Benjamin Coddington) [2017166] - SUNRPC: Fix the batch tasks count wraparound. (Benjamin Coddington) [2017166] - nfs: update has_sec_mnt_opts after cloning lsm options from parent (Benjamin Coddington) [2017166] - nfs: fix acl memory leak of posix_acl_create() (Benjamin Coddington) [2017166] - rpc: remove redundant initialization of variable status (Benjamin Coddington) [2017166] - NFSv4: Initialise connection to the server in nfs4_alloc_client() (Benjamin Coddington) [2017166] - nfsd: Prevent truncation of an unlinked inode from blocking access to its directory (Benjamin Coddington) [2017166] - xprtrdma: Fix a maybe-uninitialized compiler warning (Benjamin Coddington) [2017166] - NFSv4: Fix second deadlock in nfs4_evict_inode() (Benjamin Coddington) [2017166] - NFSv4: Fix deadlock between nfs4_evict_inode() and nfs4_opendata_get_inode() (Benjamin Coddington) [2017166] - NFS: FMODE_READ and friends are C macros, not enum types (Benjamin Coddington) [2017166] - NFS: Fix a potential NULL dereference in nfs_get_client() (Benjamin Coddington) [2017166] - NFS: Fix use-after-free in nfs4_init_client() (Benjamin Coddington) [2017166] - NFSv4: nfs4_proc_set_acl needs to restore NFS_CAP_UIDGID_NOMAP on error. (Benjamin Coddington) [2017166] - nfs: Remove trailing semicolon in macros (Benjamin Coddington) [2017166] - NFSv4: Fix v4.0/v4.1 SEEK_DATA return -ENOTSUPP when set NFS_V4_2 config (Benjamin Coddington) [2017166] - NFS: Clean up reset of the mirror accounting variables (Benjamin Coddington) [2017166] - NFS: Don't corrupt the value of pg_bytes_written in nfs_do_recoalesce() (Benjamin Coddington) [2017166] - NFS: Fix an Oopsable condition in __nfs_pageio_add_request() (Benjamin Coddington) [2017166] - SUNRPC: More fixes for backlog congestion (Benjamin Coddington) [2017166] - SUNRPC: Fix Oops in xs_tcp_send_request() when transport is disconnected (Benjamin Coddington) [2017166] - NFSv4: Fix a NULL pointer dereference in pnfs_mark_matching_lsegs_return() (Benjamin Coddington) [2017166] - SUNRPC in case of backlog, hand free slots directly to waiting task (Benjamin Coddington) [2017166] - pNFS/NFSv4: Remove redundant initialization of 'rd_size' (Benjamin Coddington) [2017166] - NFS: fix an incorrect limit in filelayout_decode_layout() (Benjamin Coddington) [2017166] - fs/nfs: Use fatal_signal_pending instead of signal_pending (Benjamin Coddington) [2017166] - xprtrdma: Fix a NULL dereference in frwr_unmap_sync() (Benjamin Coddington) [2017166] - sunrpc: Fix misplaced barrier in call_decode (Benjamin Coddington) [2017166] - SUNRPC: set rq_page_end differently (Benjamin Coddington) [2017166] - xprtrdma: Move fr_mr field to struct rpcrdma_mr (Benjamin Coddington) [2017166] - xprtrdma: Move the Work Request union to struct rpcrdma_mr (Benjamin Coddington) [2017166] - xprtrdma: Move fr_linv_done field to struct rpcrdma_mr (Benjamin Coddington) [2017166] - xprtrdma: Move cqe to struct rpcrdma_mr (Benjamin Coddington) [2017166] - xprtrdma: Move fr_cid to struct rpcrdma_mr (Benjamin Coddington) [2017166] - xprtrdma: Remove the RPC/RDMA QP event handler (Benjamin Coddington) [2017166] - xprtrdma: Add tracepoints showing FastReg WRs and remote invalidation (Benjamin Coddington) [2017166] - xprtrdma: Avoid Send Queue wrapping (Benjamin Coddington) [2017166] - xprtrdma: Do not wake RPC consumer on a failed LocalInv (Benjamin Coddington) [2017166] - xprtrdma: Do not recycle MR after FastReg/LocalInv flushes (Benjamin Coddington) [2017166] - xprtrdma: Clarify use of barrier in frwr_wc_localinv_done() (Benjamin Coddington) [2017166] - xprtrdma: Rename frwr_release_mr() (Benjamin Coddington) [2017166] - xprtrdma: rpcrdma_mr_pop() already does list_del_init() (Benjamin Coddington) [2017166] - xprtrdma: Delete rpcrdma_recv_buffer_put() (Benjamin Coddington) [2017166] - xprtrdma: Fix cwnd update ordering (Benjamin Coddington) [2017166] - xprtrdma: Improve locking around rpcrdma_rep creation (Benjamin Coddington) [2017166] - xprtrdma: Improve commentary around rpcrdma_reps_unmap() (Benjamin Coddington) [2017166] - xprtrdma: Improve locking around rpcrdma_rep destruction (Benjamin Coddington) [2017166] - xprtrdma: Put flushed Receives on free list instead of destroying them (Benjamin Coddington) [2017166] - xprtrdma: Do not refresh Receive Queue while it is draining (Benjamin Coddington) [2017166] - xprtrdma: Avoid Receive Queue wrapping (Benjamin Coddington) [2017166] - SUNRPC: fix ternary sign expansion bug in tracing (Benjamin Coddington) [2017166] - nfsd: Fix fall-through warnings for Clang (Benjamin Coddington) [2017166] - nfsd: reshuffle some code (Benjamin Coddington) [2017166] - nfsd: track filehandle aliasing in nfs4_files (Benjamin Coddington) [2017166] - nfsd: hash nfs4_files by inode number (Benjamin Coddington) [2017166] - NFSv4.1: Simplify layout return in pnfs_layout_process() (Benjamin Coddington) [2017166] - NFSv4: Don't discard segments marked for return in _pnfs_return_layout() (Benjamin Coddington) [2017166] - nfsd: ensure new clients break delegations (Benjamin Coddington) [2017166] - NFS: Don't discard pNFS layout segments that are marked for return (Benjamin Coddington) [2017166] - NFSv4.x: Don't return NFS4ERR_NOMATCHING_LAYOUT if we're unmounting (Benjamin Coddington) [2017166] - nfsd: remove unused function (Benjamin Coddington) [2017166] - svcrdma: Pass a useful error code to the send_err tracepoint (Benjamin Coddington) [2017166] - svcrdma: Rename goto labels in svc_rdma_sendto() (Benjamin Coddington) [2017166] - svcrdma: Don't leak send_ctxt on Send errors (Benjamin Coddington) [2017166] - SUNRPC: Remove trace_xprt_transmit_queued (Benjamin Coddington) [2017166] - SUNRPC: Add tracepoint that fires when an RPC is retransmitted (Benjamin Coddington) [2017166] - SUNRPC: Move fault injection call sites (Benjamin Coddington) [2017166] - pNFS/flexfiles: fix incorrect size check in decode_nfs_fh() (Benjamin Coddington) [2017166] - NFSv4: Catch and trace server filehandle encoding errors (Benjamin Coddington) [2017166] - NFSv4: Convert nfs_xdr_status tracepoint to an event class (Benjamin Coddington) [2017166] - NFSv4: Add tracing for COMPOUND errors (Benjamin Coddington) [2017166] - NFSv4: Don't modify the change attribute cached in the inode (Benjamin Coddington) [2017166] - NFSv4: Fix value of decode_fsinfo_maxsz (Benjamin Coddington) [2017166] - NFS: Fix up revalidation of space used (Benjamin Coddington) [2017166] - NFS: NFS_INO_REVAL_PAGECACHE should mark the change attribute invalid (Benjamin Coddington) [2017166] - NFS: Mask out unsupported attributes in nfs_getattr() (Benjamin Coddington) [2017166] - NFS: Fix up inode cache tracing (Benjamin Coddington) [2017166] - NFS: Deal correctly with attribute generation counter overflow (Benjamin Coddington) [2017166] - NFSv4.2: Always flush out writes in nfs42_proc_fallocate() (Benjamin Coddington) [2017166] - NFS: Fix attribute bitmask in _nfs42_proc_fallocate() (Benjamin Coddington) [2017166] - NFS: nfs4_bitmask_adjust() must not change the server global bitmasks (Benjamin Coddington) [2017166] - NFSD: Use DEFINE_SPINLOCK() for spinlock (Benjamin Coddington) [2017166] - sunrpc: Remove unused function ip_map_lookup (Benjamin Coddington) [2017166] - NFS: Fix fscache invalidation in nfs_set_cache_invalid() (Benjamin Coddington) [2017166] - SUNRPC: Ensure the transport backchannel association (Benjamin Coddington) [2017166] - nfs: hornor timeo and retrans option when mounting NFSv3 (Benjamin Coddington) [2017166] - sunrpc: honor rpc_task's timeout value in rpcb_create() (Benjamin Coddington) [2017166] - nfs: Fix a typo in the file nfs42xattr.c (Benjamin Coddington) [2017166] - NFS: fs_context: validate UDP retrans to prevent shift out-of-bounds (Benjamin Coddington) [2017166] - NFS: Fix up incorrect documentation (Benjamin Coddington) [2017166] - NFSv4: Simplify nfs4_retry_setlk() (Benjamin Coddington) [2017166] - UAPI: nfsfh.h: Replace one-element array with flexible-array member (Benjamin Coddington) [2017166] - svcrdma: Clean up dto_q critical section in svc_rdma_recvfrom() (Benjamin Coddington) [2017166] - svcrdma: Remove svc_rdma_recv_ctxt::rc_pages and ::rc_arg (Benjamin Coddington) [2017166] - svcrdma: Remove sc_read_complete_q (Benjamin Coddington) [2017166] - svcrdma: Single-stage RDMA Read (Benjamin Coddington) [2017166] - SUNRPC: Move svc_xprt_received() call sites (Benjamin Coddington) [2017166] - SUNRPC: Export svc_xprt_received() (Benjamin Coddington) [2017166] - svcrdma: Retain the page backing rq_res.head[0].iov_base (Benjamin Coddington) [2017166] - svcrdma: Remove unused sc_pages field (Benjamin Coddington) [2017166] - svcrdma: Normalize Send page handling (Benjamin Coddington) [2017166] - svcrdma: Add a "deferred close" helper (Benjamin Coddington) [2017166] - svcrdma: Maintain a Receive water mark (Benjamin Coddington) [2017166] - svcrdma: Use svc_rdma_refresh_recvs() in wc_receive (Benjamin Coddington) [2017166] - svcrdma: Add a batch Receive posting mechanism (Benjamin Coddington) [2017166] - svcrdma: Remove stale comment for svc_rdma_wc_receive() (Benjamin Coddington) [2017166] - svcrdma: Provide an explanatory comment in CMA event handler (Benjamin Coddington) [2017166] - svcrdma: RPCDBG_FACILITY is no longer used (Benjamin Coddington) [2017166] - nfsd: don't ignore high bits of copy count (Benjamin Coddington) [2017166] - nfsd: COPY with length 0 should copy to end of file (Benjamin Coddington) [2017166] - nfsd: Fix typo "accesible" (Benjamin Coddington) [2017166] - nfsd: Ensure knfsd shuts down when the "nfsd" pseudofs is unmounted (Benjamin Coddington) [2017166] - nfsd: Log client tracking type log message as info instead of warning (Benjamin Coddington) [2017166] - nfsd: helper for laundromat expiry calculations (Benjamin Coddington) [2017166] - NFSD: Clean up NFSDDBG_FACILITY macro (Benjamin Coddington) [2017166] - NFSD: Add a tracepoint to record directory entry encoding (Benjamin Coddington) [2017166] - rpc: fix NULL dereference on kmalloc failure (Benjamin Coddington) [2017166] - sunrpc: fix refcount leak for rpc auth modules (Benjamin Coddington) [2017166] - NFSD: Repair misuse of sv_lock in 5.10.16-rt30. (Benjamin Coddington) [2017166] - svcrdma: disable timeouts on rdma backchannel (Benjamin Coddington) [2017166] - svcrdma: Hold private mutex while invoking rdma_accept() (Benjamin Coddington) [2017166] - NFS: Don't set NFS_INO_INVALID_XATTR if there is no xattr cache (Benjamin Coddington) [2017166] - NFS: Always clear an invalid mapping when attempting a buffered write (Benjamin Coddington) [2017166] - NFS: Optimise sparse writes past the end of file (Benjamin Coddington) [2017166] - NFS: Fix documenting comment for nfs_revalidate_file_size() (Benjamin Coddington) [2017166] - rpcrdma: Fix comments about reverse-direction operation (Benjamin Coddington) [2017166] - xprtrdma: Refactor invocations of offset_in_page() (Benjamin Coddington) [2017166] - xprtrdma: Simplify rpcrdma_convert_kvec() and frwr_map() (Benjamin Coddington) [2017166] - xprtrdma: Remove FMR support in rpcrdma_convert_iovs() (Benjamin Coddington) [2017166] - NFS: Fix fscache read from NFS after cache error (Benjamin Coddington) [2017166] - NFS: Ensure nfs_readpage returns promptly when internal error occurs (Benjamin Coddington) [2017166] - NFS: Remove unnecessary inode parameter from nfs_pageio_complete_read() (Benjamin Coddington) [2017166] - NFS: Add nfs_pageio_complete_read() and remove nfs_readpage_async() (Benjamin Coddington) [2017166] - NFS: Call readpage_async_filler() from nfs_readpage_async() (Benjamin Coddington) [2017166] - NFS: Refactor nfs_readpage() and nfs_readpage_async() to use nfs_readdesc (Benjamin Coddington) [2017166] - NFS: In nfs_readpage() only increment NFSIOS_READPAGES when read succeeds (Benjamin Coddington) [2017166] - NFS: Clean up nfs_readpage() and nfs_readpages() (Benjamin Coddington) [2017166] - nfs: Fix fall-through warnings for Clang (Benjamin Coddington) [2017166] - SUNRPC: Fix fall-through warnings for Clang (Benjamin Coddington) [2017166] - net: sunrpc: xprtsock.c: Corrected few spellings ,in comments (Benjamin Coddington) [2017166] - SUNRPC: correct error code comment in xs_tcp_setup_socket() (Benjamin Coddington) [2017166] - nfsd: cstate->session->se_client -> cstate->clp (Benjamin Coddington) [2017166] - nfsd: simplify nfsd4_check_open_reclaim (Benjamin Coddington) [2017166] - nfsd: remove unused set_client argument (Benjamin Coddington) [2017166] - nfs/blocklayout: remove cruft in bl_alloc_init_bio (Benjamin Coddington) [2017166] - nfsd: refactor set_client (Benjamin Coddington) [2017166] - nfsd: rename lookup_clientid->set_client (Benjamin Coddington) [2017166] - nfsd: simplify nfsd_renew (Benjamin Coddington) [2017166] - nfsd: simplify process_lock (Benjamin Coddington) [2017166] - nfsd4: simplify process_lookup1 (Benjamin Coddington) [2017166] - SUNRPC: Correct a comment (Benjamin Coddington) [2017166] - svcrdma: DMA-sync the receive buffer in svc_rdma_recvfrom() (Benjamin Coddington) [2017166] - svcrdma: Restore read and write stats (Benjamin Coddington) [2017166] - svcrdma: Convert rdma_stat_sq_starve to a per-CPU counter (Benjamin Coddington) [2017166] - svcrdma: Convert rdma_stat_recv to a per-CPU counter (Benjamin Coddington) [2017166] - svcrdma: Refactor svc_rdma_init() and svc_rdma_clean_up() (Benjamin Coddington) [2017166] - nfsd: remove fault injection code (Benjamin Coddington) [2017166] - SUNRPC: Fix a NULL pointer deref in trace_svc_stats_latency() (Benjamin Coddington) [2017166] - SUNRPC: Display RPC procedure names instead of proc numbers (Benjamin Coddington) [2017166] - SUNRPC: Make trace_svc_process() display the RPC procedure symbolically (Benjamin Coddington) [2017166] - EDAC/mce_amd: Do not load edac_mce_amd module on guests (Aristeu Rozanski) [2000776] - tracing: Map all PIDs to command lines (Jerome Marchand) [1913211] - mm/zsmalloc.c: close race window between zs_pool_dec_isolated() and zs_unregister_migration() (Rafael Aquini) [2016441] - mm: mark the OOM reaper thread as freezable (Rafael Aquini) [2016441] - mm/page_isolation: guard against possible putback unisolated page (Rafael Aquini) [2016441] - mm/page_isolation: fix potential missing call to unset_migratetype_isolate() (Rafael Aquini) [2016441] - mm/page_alloc: use accumulated load when building node fallback list (Rafael Aquini) [2016441] - mm/vmalloc: do not adjust the search size for alignment overhead (Rafael Aquini) [2016441] - mm/vmalloc: make sure to dump unpurged areas in /proc/vmallocinfo (Rafael Aquini) [2016441] - Revert "mm, slub: consider rest of partial list if acquire_slab() fails" (Rafael Aquini) [2016441] - mm, slub: consider rest of partial list if acquire_slab() fails (Rafael Aquini) [2016441] - mm, slub: fix incorrect memcg slab count for bulk free (Rafael Aquini) [2016441] - mm, slub: fix mismatch between reconstructed freelist depth and cnt (Rafael Aquini) [2016441] - slub: add back check for free nonslab objects (Rafael Aquini) [2016441] - slub: fix kmalloc_pagealloc_invalid_free unit test (Rafael Aquini) [2016441] - slub: fix unreclaimable slab stat for bulk free (Rafael Aquini) [2016441] - mm/slub: add taint after the errors are printed (Rafael Aquini) [2016441] - mm/slab.c: remove useless lines in enable_cpucache() (Rafael Aquini) [2016441] - kasan: fix tag for large allocations when using CONFIG_SLAB (Rafael Aquini) [2016441] - mm/hmm: bypass devmap pte when all pfn requested flags are fulfilled (Rafael Aquini) [2016441] - mm: memcontrol: set the correct memcg swappiness restriction (Rafael Aquini) [2016441] - memcg: replace in_interrupt() by !in_task() in active_memcg() (Rafael Aquini) [2016441] - huge tmpfs: fix split_huge_page() after FALLOC_FL_KEEP_SIZE (Rafael Aquini) [2016441] - huge tmpfs: fix fallocate(vanilla) advance over huge pages (Rafael Aquini) [2016441] - huge tmpfs: revert shmem's use of transhuge_vma_enabled() (Rafael Aquini) [2016441] - mm/huge_memory.c: remove unnecessary tlb_remove_page_size() for huge zero pmd (Rafael Aquini) [2016441] - mm/huge_memory.c: add missing read-only THP checking in transparent_hugepage_enabled() (Rafael Aquini) [2016441] - mm/huge_memory.c: use page->deferred_list (Rafael Aquini) [2016441] - mm/huge_memory.c: remove dedicated macro HPAGE_CACHE_INDEX_MASK (Rafael Aquini) [2016441] - mm/thp: decrease nr_thps in file's mapping on THP split (Rafael Aquini) [2016441] - mm/thp: fix page_address_in_vma() on file THP tails (Rafael Aquini) [2016441] - mm/thp: try_to_unmap() use TTU_SYNC for safe splitting (Rafael Aquini) [2016441] - mm/thp: make is_huge_zero_pmd() safe and quicker (Rafael Aquini) [2016441] - mm/thp: fix __split_huge_pmd_locked() on shmem migration entry (Rafael Aquini) [2016441] - mm/truncate: fix truncation for pages of arbitrary size (Rafael Aquini) [2016441] - mm/rmap: fix potential pte_unmap on an not mapped pte (Rafael Aquini) [2016441] - mm/rmap: correct obsolete comment of page_get_anon_vma() (Rafael Aquini) [2016441] - mm/rmap: use page_not_mapped in try_to_unmap() (Rafael Aquini) [2016441] - mm/rmap: fix obsolete comment in __page_check_anon_rmap() (Rafael Aquini) [2016441] - mm/rmap: remove unneeded semicolon in page_not_mapped() (Rafael Aquini) [2016441] - mm/rmap: correct some obsolete comments of anon_vma (Rafael Aquini) [2016441] - mm/pgtable-generic.c: optimize the VM_BUG_ON condition in pmdp_huge_clear_flush() (Rafael Aquini) [2016441] - mm/pgtable-generic.c: simplify the VM_BUG_ON condition in pmdp_huge_clear_flush() (Rafael Aquini) [2016441] - mm: prevent a warning when casting void* -> enum (Rafael Aquini) [2016441] - mm/hugeltb: simplify the return code of __vma_reservation_common() (Rafael Aquini) [2016441] - mm,thp,shmem: make khugepaged obey tmpfs mount flags (Rafael Aquini) [2016441] - mm/vma: make is_vma_temporary_stack() available for general use (Rafael Aquini) [2016441] - mm/vma: make vma_is_foreign() available for general use (Rafael Aquini) [2016441] - hugetlb: fix copy_huge_page_from_user contig page struct assumption (Rafael Aquini) [2016441] - mm/sparsemem: pfn_to_page is not valid yet on SPARSEMEM (Rafael Aquini) [2016441] - mm/sparse.c: use __nr_to_section(section_nr) to get mem_section (Rafael Aquini) [2016441] - mm/huge_memory.c: thp: fix conflict of above-47bit hint address and PMD alignment (Rafael Aquini) [2016441] - mm/huge_memory.c: make __thp_get_unmapped_area static (Rafael Aquini) [2016441] - mm/mempolicy.c: fix checking unmapped holes for mbind (Rafael Aquini) [2016441] - s390/mm: fix VMA and page table handling code in storage key handling functions (Rafael Aquini) [2016441] - s390/mm: validate VMA in PGSTE manipulation functions (Rafael Aquini) [2016441] - s390/gmap: don't unconditionally call pte_unmap_unlock() in __gmap_zap() (Rafael Aquini) [2016441] - s390/gmap: validate VMA in __gmap_zap() (Rafael Aquini) [2016441] - s390: mm: Fix secure storage access exception handling (Rafael Aquini) [2016441] - powerpc/numa: Consider the max NUMA node for migratable LPAR (Rafael Aquini) [2016441] - powerpc/64s: Fix pte update for kernel memory on radix (Rafael Aquini) [2016441] - powerpc/mm: sanity_check_fault() should work for all, not only BOOK3S (Rafael Aquini) [2016441] - powerpc/book3s64/pkeys: Use PVR check instead of cpu feature (Rafael Aquini) [2016441] - powerpc/mm: Fix reporting of kernel execute faults on the 8xx (Rafael Aquini) [2016441] - powerpc/mm/hash: Handle user access of kernel address gracefully (Rafael Aquini) [2016441] - powerpc/mm: Add missing tracepoint for tlbie (Rafael Aquini) [2016441] - arm64: hugetlb: avoid potential NULL dereference (Rafael Aquini) [2016441] - arm64/numa: Report correct memblock range for the dummy node (Rafael Aquini) [2016441] - x86/pat: Pass valid address to sanitize_phys() (Rafael Aquini) [2016441] - x86/mm: Check for pfn instead of page in vmalloc_sync_one() (Rafael Aquini) [2016441] - x86/mm/tlb: Revert "x86/mm: Align TLB invalidation info" (Rafael Aquini) [2016441] - x86/mm: Report which part of kernel image is freed (Rafael Aquini) [2016441] - mm: make free_reserved_area() return "const char *" (Rafael Aquini) [2016441] - x86/mm/init: Remove freed kernel image areas from alias mapping (Rafael Aquini) [2016441] - x86/mm/init: Add helper for freeing kernel image pages (Rafael Aquini) [2016441] - x86/mm/init: Pass unconverted symbol addresses to free_init_pages() (Rafael Aquini) [2016441] - x86/mm: Add TLB purge to free pmd/pte page interfaces (Rafael Aquini) [2016441] - mm/mmu_notifier: Make drm-backport/linux/mmu_notifier.h use RH_MMU_NOTIFIER_V2 (Waiman Long) [1946746] - mm/migrate: fix migrate_pgmap_owner w/o CONFIG_MMU_NOTIFIER (Waiman Long) [1946746] - mm/notifier: add migration invalidation type (Waiman Long) [1946746] - mm/migrate: add a flags parameter to migrate_vma (Waiman Long) [1946746] - mm/mmu_notifiers: ensure range_end() is paired with range_start() (Waiman Long) [1946746] - mm: track mmu notifiers in fs_reclaim_acquire/release (Waiman Long) [1946746] - mm: mmu_notifier: fix and extend kerneldoc (Waiman Long) [1946746] - mm/mmu_notifier: silence PROVE_RCU_LIST warnings (Waiman Long) [1946746] - mm/mmu_notifiers: Use 'interval_sub' as the variable for mmu_interval_notifier (Waiman Long) [1946746] - mm/mmu_notifiers: Use 'subscription' as the variable name for mmu_notifier (Waiman Long) [1946746] - mm/mmu_notifier: Rename struct mmu_notifier_mm to mmu_notifier_subscriptions (Waiman Long) [1946746] - mm, notifier: Catch sleeping/blocking for !blockable (Waiman Long) [1946746] - mm/mmu_notifiers: use the right return code for WARN_ON (Waiman Long) [1946746] - mm/mmu_notifiers: check if mmu notifier callbacks are allowed to fail (Waiman Long) [1946746] - mm/mmu_notifier: mmu_notifier_range_update_to_read_only() helper (Waiman Long) [1946746] - mm/mmu_notifier: pass down vma and reasons why mmu notifier is happening (Waiman Long) [1946746] - mm/mmu_notifier: use structure for invalidate_range_start/end callback (Waiman Long) [1946746] - Revert "mm, mmu_notifier: annotate mmu notifiers with blockable invalidate callbacks" (Waiman Long) [1946746] - mm, mmu_notifier: be explicit about range invalition non-blocking mode (Waiman Long) [1946746] - mm/oom_kill.c: clean up oom_reap_task_mm() (Waiman Long) [1946746] - mm, oom: distinguish blockable mode for mmu notifiers (Waiman Long) [1946746] - mm/mmu_notifier: helper to test if a range invalidation is blockable (Waiman Long) [1946746] - mm/mmu_notifier: Relocate mmu_notifier_put() (Waiman Long) [1946746] - mm/mmu_notifier: Add mmu_notifier versioning mechanism (Waiman Long) [1946746] - af_unix: Return errno instead of NULL in unix_create1(). (Balazs Nemeth) [2026690] - netfilter: nf_tables: fix audit memory leak in nf_tables_commit (Phil Sutter) [2028926] - ethtool: Validate module EEPROM offset as part of policy (Ivan Vecera) [2019090] - ethtool: Validate module EEPROM length as part of policy (Ivan Vecera) [2019090] - ethtool: Use kernel data types for internal EEPROM struct (Ivan Vecera) [2019090] - ethtool: Document behavior when module EEPROM bank attribute is omitted (Ivan Vecera) [2019090] - ethtool: Decrease size of module EEPROM get policy array (Ivan Vecera) [2019090] - ethtool: Document correct attribute type (Ivan Vecera) [2019090] - ethtool: Use correct command name in title (Ivan Vecera) [2019090] - net: fix mistake path for netdev_features_strings (Ivan Vecera) [2019089 2019090 2019092] - ethtool: add a stricter length check (Ivan Vecera) [2019089 2019090 2019092] - ethtool: Fix a typo (Ivan Vecera) [2019089 2019090 2019092] - net: ethtool: clear heap allocations for ethtool function (Ivan Vecera) [2019090] - ethtool: Fix NULL pointer dereference during module EEPROM dump (Ivan Vecera) [2019090] - ethtool: stats: Fix a copy-paste error (Ivan Vecera) [2019092] - ethtool: add missing EEPROM to list of messages (Ivan Vecera) [2019090] - ethtool: stats: clarify the initialization to ETHTOOL_STAT_NOT_SET (Ivan Vecera) [2019092] - ethtool: ioctl: Fix out-of-bounds warning in store_link_ksettings_for_user() (Ivan Vecera) [2019092] - ethtool: add interface to read RMON stats (Ivan Vecera) [2019092] - ethtool: add interface to read standard MAC Ctrl stats (Ivan Vecera) [2019092] - ethtool: add interface to read standard MAC stats (Ivan Vecera) [2019092] - ethtool: add a new command for reading standard stats (Ivan Vecera) [2019092] - docs: ethtool: document standard statistics (Ivan Vecera) [2019092] - docs: networking: extend the statistics documentation (Ivan Vecera) [2019092] - ethtool: add FEC statistics (Ivan Vecera) [2019089] - docs: net: statistics.rst: remove a duplicated kernel-doc (Ivan Vecera) [2019089] - ethtool: fec_prepare_data() - jump to error handling (Ivan Vecera) [2019089] - ethtool: move ethtool_stats_init (Ivan Vecera) [2019089] - ethtool: wire in generic SFP module access (Ivan Vecera) [2019090] - phy: sfp: add netlink SFP support to generic SFP code (Ivan Vecera) [2019090] - ethtool: Add fallback to get_module_eeprom from netlink command (Ivan Vecera) [2019090] - net: ethtool: Export helpers for getting EEPROM info (Ivan Vecera) [2019090] - ethtool: Allow network drivers to dump arbitrary EEPROM data (Ivan Vecera) [2019090] - docs: ethtool: correct quotes (Ivan Vecera) [2019090] - selftests: ethtool: add a netdevsim FEC test (Ivan Vecera) [2019089] - netdevsim: add FEC settings support (Ivan Vecera) [2019089] - ethtool: support FEC settings over netlink (Ivan Vecera) [2019089] - ethtool: document the enum values not defines (Ivan Vecera) [2019089] - ethtool: fec: fix FEC_NONE check (Ivan Vecera) [2019089] - ethtool: fec: add note about reuse of reserved (Ivan Vecera) [2019089] - ethtool: clarify the ethtool FEC interface (Ivan Vecera) [2019089] - ethtool: fec: sanitize ethtool_fecparam->fec (Ivan Vecera) [2019089] - ethtool: fec: sanitize ethtool_fecparam->active_fec (Ivan Vecera) [2019089] - ethtool: fec: sanitize ethtool_fecparam->reserved (Ivan Vecera) [2019089] - ethtool: fec: remove long structure description (Ivan Vecera) [2019089] - ethtool: fec: fix typo in kdoc (Ivan Vecera) [2019089] - net: Remove redundant if statements (Petr Oros) [2026472] - netdevice: add the case if dev is NULL (Petr Oros) [2026472] - nvmet: use IOCB_NOWAIT only if the filesystem supports it (Chris Leech) [2015563] - nvmet-tcp: fix incomplete data digest send (Chris Leech) [2015563] - nvmet-tcp: fix memory leak when performing a controller reset (Chris Leech) [2015563] - nvmet-tcp: add an helper to free the cmd buffers (Chris Leech) [2015563] - nvmet-tcp: fix a race condition between release_queue and io_work (Chris Leech) [2015563] - nvmet-tcp: fix use-after-free when a port is removed (Chris Leech) [2015563] - nvmet-rdma: fix use-after-free when a port is removed (Chris Leech) [2015563] - nvmet: fix use-after-free when a port is removed (Chris Leech) [2015563] - nvmet-tcp: fix header digest verification (Chris Leech) [2015563] - nvmet-tcp: fix data digest pointer calculation (Chris Leech) [2015563] - nvmet-tcp: fix a memory leak when releasing a queue (Chris Leech) [2015563] - nvmet: fix a width vs precision bug in nvmet_subsys_attr_serial_show() (Chris Leech) [2015563] - nvmet: fixup buffer overrun in nvmet_subsys_attr_serial() (Chris Leech) [2015563] - nvmet: return bool from nvmet_passthru_ctrl and nvmet_is_passthru_req (Chris Leech) [2015563] - nvmet: looks at the passthrough controller when initializing CAP (Chris Leech) [2015563] - nvmet: check that host sqsize does not exceed ctrl MQES (Chris Leech) [2015563] - nvmet: avoid duplicate qid in connect cmd (Chris Leech) [2015563] - nvmet: pass back cntlid on successful completion (Chris Leech) [2015563] - nvmet: remove redundant assignments of variable status (Chris Leech) [2015563] - nvme-fabrics: ignore invalid fast_io_fail_tmo values (Chris Leech) [2015563] - nvme-tcp: fix memory leak when freeing a queue (Chris Leech) [2015563] - nvme-tcp: validate R2T PDU in nvme_tcp_handle_r2t() (Chris Leech) [2015563] - nvme-tcp: fix data digest pointer calculation (Chris Leech) [2015563] - nvme-tcp: fix possible req->offset corruption (Chris Leech) [2015563] - nvme-tcp: fix H2CData PDU send accounting (again) (Chris Leech) [2015563] - nvme: keep ctrl->namespaces ordered (Chris Leech) [2015563] - nvme-tcp: fix incorrect h2cdata pdu offset accounting (Chris Leech) [2015563] - nvme-tcp: fix io_work priority inversion (Chris Leech) [2015563] - nvme-multipath: fix ANA state updates when a namespace is not present (Chris Leech) [2015563] - nvme: avoid race in shutdown namespace removal (Chris Leech) [2015563] - nvme: update keep alive interval when kato is modified (Chris Leech) [2015563] - nvme: use return value from blk_execute_rq() (Chris Leech) [2015563] - nvme-tcp: Do not reset transport on data digest errors (Chris Leech) [2015563] - nvme-rdma: don't update queue count when failing to set io queues (Chris Leech) [2015563] - nvme-tcp: don't update queue count when failing to set io queues (Chris Leech) [2015563] - nvme-tcp: pair send_mutex init with destroy (Chris Leech) [2015563] - nvme-tcp: don't check blk_mq_tag_to_rq when receiving pdu data (Chris Leech) [2015563] - RDMA/rxe: Bump up default maximum values used via uverbs (Kamal Heib) [2029675]- scsi: qedi: Fix error codes in qedi_alloc_global_queues() (Nilesh Javali) [1983905] - scsi: qedi: Add support for fastpath doorbell recovery (Nilesh Javali) [1983905] - scsi: qedi: Use DEVICE_ATTR_RO() macro (Nilesh Javali) [1983905] - scsi: qedi: Fix host removal with running sessions (Nilesh Javali) [1983905] - scsi: qedi: Wake up if cmd_cleanup_req is set (Nilesh Javali) [1983905] - scsi: qedi: Complete TMF works before disconnect (Nilesh Javali) [1983905] - scsi: qedi: Pass send_iscsi_tmf task to abort (Nilesh Javali) [1983905] - scsi: qedi: Fix cleanup session block/unblock use (Nilesh Javali) [1983905] - scsi: qedi: Fix TMF session block/unblock use (Nilesh Javali) [1983905] - scsi: qedi: Use GFP_NOIO for TMF allocation (Nilesh Javali) [1983905] - scsi: qedi: Fix TMF tid allocation (Nilesh Javali) [1983905] - scsi: qedi: Fix use after free during abort cleanup (Nilesh Javali) [1983905] - scsi: qedi: Fix race during abort timeouts (Nilesh Javali) [1983905] - scsi: qedi: Fix null ref during abort handling (Nilesh Javali) [1983905] - vrf: Fix fast path output packet handling with async Netfilter rules (Antoine Tenart) [2019333] - ipv6: do not drop vrf udp multicast packets (Antoine Tenart) [2019333] - ipv6: handling of multicast packets received in VRF (Antoine Tenart) [2019333] - vrf: Do not attempt to create IPv6 mcast rule if IPv6 is disabled (Antoine Tenart) [2019333] - ipv6: add vrf table handling code for ipv6 mcast (Antoine Tenart) [2019333] - ipv4: Allow sending multicast packets on specific i/f using VRF socket (Antoine Tenart) [2019333] - xfs: fix I_DONTCACHE (Carlos Maiolino) [2024969] - kernfs: don't create a negative dentry if inactive node exists (Ian Kent) [2001597] - kernfs: also call kernfs_set_rev() for positive dentry (Ian Kent) [2001597] - ixgbevf: use xso.real_dev instead of xso.dev in callback functions of struct xfrmdev_ops (Ken Cox) [1970656] - ixgbe: Fix NULL pointer dereference in ixgbe_xdp_setup (Ken Cox) [1970653] - ixgbe, xsk: clean up the resources in ixgbe_xsk_pool_enable error path (Ken Cox) [1970653] - powerpc/perf: Fix missing is_sier_aviable() during build (Gustavo Walbon) [2011687] - perf script: Fix PERF_SAMPLE_WEIGHT_STRUCT support (Michael Petlan) [2026390] - RDMA/core: Set sgtable nents when using ib_dma_virt_map_sg() (Kamal Heib) [2025496] - RDMA: Use the sg_table directly and remove the opencoded version from umem (Kamal Heib) [2025496] - ovs: clear skb->tstamp in forwarding path (Antoine Tenart) [2020160] - net: openvswitch: fix kernel-doc warnings in flow.c (Antoine Tenart) [2020160] - openvswitch: Optimize operation for key comparison (Antoine Tenart) [2020160] - net: openvswitch: Remove unnecessary skb_nfct() (Antoine Tenart) [2020160] - openvswitch: meter: fix race when getting now_ms. (Antoine Tenart) [2020160] - net: openvswitch: Use 'skb_push_rcsum()' instead of hand coding it (Antoine Tenart) [2020160] - openvswitch: Fix a typo (Antoine Tenart) [2020160] - openvswitch: Warn over-mtu packets only if iface is UP. (Antoine Tenart) [2020160] - openvswitch: meter: remove rate from the bucket size calculation (Antoine Tenart) [2020160] - net: openvswitch: use core API to update/provide stats (Antoine Tenart) [2020160] - net: openvswitch: use new function dev_fetch_sw_netstats (Antoine Tenart) [2020160] - net: openvswitch: use dev_sw_netstats_rx_add() (Antoine Tenart) [2020160] - net: openvswitch: Constify static struct genl_small_ops (Antoine Tenart) [2020160] - selftests: add a test case for mirred egress to ingress (Xin Long) [1983894] - net: sched: act_mirred: drop dst for the direction from egress to ingress (Xin Long) [1983894] - usb: hso: fix error handling code of hso_create_net_device (José Ignacio Tornos Martínez) [1986489] {CVE-2021-37159} - i40e: Fix freeing of uninitialized misc IRQ vector (Stefan Assmann) [1990683] - x86/topology: Make __max_die_per_package available unconditionally (Aristeu Rozanski) [1949284] - x86/cpu/amd: Set __max_die_per_package on AMD (Aristeu Rozanski) [1949284] - x86/topology: Set cpu_die_id only if DIE_TYPE found (Aristeu Rozanski) [1949284] - x86/mce: Drop AMD-specific "DEFERRED" case from Intel severity rule list (Aristeu Rozanski) [1949284] - EDAC/mce_amd: Add new error descriptions for existing types (Aristeu Rozanski) [1949284] - x86/mce/amd, edac: Remove report_gart_errors (Aristeu Rozanski) [1949284] - x86/mce/amd: Make threshold bank setting hotplug robust (Aristeu Rozanski) [1949284] - x86/mce/amd: Cleanup threshold device remove path (Aristeu Rozanski) [1949284] - x86/mce/amd: Straighten CPU hotplug path (Aristeu Rozanski) [1949284] - x86/mce/amd: Sanitize thresholding device creation hotplug path (Aristeu Rozanski) [1949284] - x86/mce/amd: Protect a not-fully initialized bank from the thresholding interrupt (Aristeu Rozanski) [1949284] - x86/mce/amd: Init thresholding machinery only on relevant vendors (Aristeu Rozanski) [1949284] - x86/mce/amd: Do proper cleanup on error paths (Aristeu Rozanski) [1949284] - x86/mce/amd: Fix kobject lifetime (Aristeu Rozanski) [1949284] - x86/mce/amd: Publish the bank pointer only after setup has succeeded (Aristeu Rozanski) [1949284] - x86/mce/amd: Make disable_err_thresholding() static (Aristeu Rozanski) [1949284] - x86/MCE: Determine MCA banks' init state properly (Aristeu Rozanski) [1949284] - x86/MCE: Group AMD function prototypes in (Aristeu Rozanski) [1949284] - x86/MCE: Switch to use the new generic UUID API (Aristeu Rozanski) [1949284] - ipv4: fix endianness issue in inet_rtm_getroute_build_skb() (Guillaume Nault) [2022057] - net: igmp: fix data-race in igmp_ifc_timer_expire() (Guillaume Nault) [2022057] - net/ipv4: swap flow ports when validating source (Guillaume Nault) [2022057] - tools headers UAPI: Sync linux/in.h copy with the kernel sources (Guillaume Nault) [2022057] - icmp: don't send out ICMP messages with a source address of 0.0.0.0 (Guillaume Nault) [2022057] - cipso: correct comments of cipso_v4_cache_invalidate() (Guillaume Nault) [2022057] - crypto: ccp - Make use of the helper macro kthread_run() (Vladis Dronov) [1997593] - crypto: ccp - Fix whitespace in sev_cmd_buffer_len() (Vladis Dronov) [1997593] - crypto: ccp - fix resource leaks in ccp_run_aes_gcm_cmd() (Vladis Dronov) [1997593] - crypto: jitter - consider 32 LSB for APT (Herbert Xu) [1994390] - rcu: Tighten rcu_advance_cbs_nowake() checks (Daniel Vacek) [2013408] - cxgb3: Remove seeprom_write and use VPD API (Myron Stowe) [2019086] - cxgb3: Use VPD API in t3_seeprom_wp() (Myron Stowe) [2019086] - cxgb3: Remove t3_seeprom_read and use VPD API (Myron Stowe) [2019086] - PCI/VPD: Use pci_read_vpd_any() in pci_vpd_size() (Myron Stowe) [2019086] - PCI/VPD: Add pci_read/write_vpd_any() (Myron Stowe) [2019086] - PCI/VPD: Defer VPD sizing until first access (Myron Stowe) [2019086] - PCI/VPD: Use unaligned access helpers (Myron Stowe) [2019086] - PCI/VPD: Clean up public VPD defines and inline functions (Myron Stowe) [2019086] - cxgb4: Use pci_vpd_find_id_string() to find VPD ID string (Myron Stowe) [2019086] - PCI/VPD: Add pci_vpd_find_id_string() (Myron Stowe) [2019086] - PCI/VPD: Include post-processing in pci_vpd_find_tag() (Myron Stowe) [2019086] - PCI/VPD: Stop exporting pci_vpd_find_info_keyword() (Myron Stowe) [2019086] - PCI/VPD: Stop exporting pci_vpd_find_tag() (Myron Stowe) [2019086] - scsi: cxlflash: Search VPD with pci_vpd_find_ro_info_keyword() (Myron Stowe) [2019086] - cxgb4: Search VPD with pci_vpd_find_ro_info_keyword() (Myron Stowe) [2019086] - cxgb4: Remove unused vpd_param member ec (Myron Stowe) [2019086] - cxgb4: Validate VPD checksum with pci_vpd_check_csum() (Myron Stowe) [2019086] - bnxt: Search VPD with pci_vpd_find_ro_info_keyword() (Myron Stowe) [2019086] - bnxt: Read VPD with pci_vpd_alloc() (Myron Stowe) [2019086] - bnx2x: Search VPD with pci_vpd_find_ro_info_keyword() (Myron Stowe) [2019086] - bnx2x: Read VPD with pci_vpd_alloc() (Myron Stowe) [2019086] - bnx2: Replace open-coded byte swapping with swab32s() (Myron Stowe) [2019086] - bnx2: Search VPD with pci_vpd_find_ro_info_keyword() (Myron Stowe) [2019086] - sfc: falcon: Search VPD with pci_vpd_find_ro_info_keyword() (Myron Stowe) [2019086] - sfc: falcon: Read VPD with pci_vpd_alloc() (Myron Stowe) [2019086] - tg3: Search VPD with pci_vpd_find_ro_info_keyword() (Myron Stowe) [2019086] - tg3: Validate VPD checksum with pci_vpd_check_csum() (Myron Stowe) [2019086] - tg3: Read VPD with pci_vpd_alloc() (Myron Stowe) [2019086] - sfc: Search VPD with pci_vpd_find_ro_info_keyword() (Myron Stowe) [2019086] - sfc: Read VPD with pci_vpd_alloc() (Myron Stowe) [2019086] - PCI/VPD: Add pci_vpd_check_csum() (Myron Stowe) [2019086] - PCI/VPD: Add pci_vpd_find_ro_info_keyword() (Myron Stowe) [2019086] - PCI/VPD: Add pci_vpd_alloc() (Myron Stowe) [2019086] - PCI/VPD: Treat invalid VPD like missing VPD capability (Myron Stowe) [2019086] - PCI/VPD: Determine VPD size in pci_vpd_init() (Myron Stowe) [2019086] - PCI/VPD: Embed struct pci_vpd in struct pci_dev (Myron Stowe) [2019086] - PCI/VPD: Remove struct pci_vpd.valid member (Myron Stowe) [2019086] - PCI/VPD: Remove struct pci_vpd_ops (Myron Stowe) [2019086] - PCI/VPD: Reorder pci_read_vpd(), pci_write_vpd() (Myron Stowe) [2019086] - PCI/VPD: Remove struct pci_vpd.flag (Myron Stowe) [2019086] - PCI/VPD: Make pci_vpd_wait() uninterruptible (Myron Stowe) [2019086] - PCI/VPD: Remove pci_vpd_size() old_size argument (Myron Stowe) [2019086] - PCI/VPD: Allow access to valid parts of VPD if some is invalid (Myron Stowe) [2019086] - PCI/VPD: Don't check Large Resource Item Names for validity (Myron Stowe) [2019086] - PCI/VPD: Reject resource tags with invalid size (Myron Stowe) [2019086] - PCI/VPD: Treat initial 0xff as missing EEPROM (Myron Stowe) [2019086] - PCI/VPD: Check Resource Item Names against those valid for type (Myron Stowe) [2019086] - PCI/VPD: Correct diagnostic for VPD read failure (Myron Stowe) [2019086] - net: create netdev->dev_addr assignment helpers (Josef Oskera) [2016478] - scsi: ibmvfc: Fix up duplicate response detection (Steve Best) [2015732] - scsi: core: Avoid leaving shost->last_reset with stale value if EH does not run (Ewan D. Milne) [2011330] - libbpf: Add support for new llvm bpf relocations (Yauheni Kaliuta) [1944799] - libbpf: Fix memory leak in strset (Yauheni Kaliuta) [1944799] - selftests: bpf: skip test_doc_build.sh (Yauheni Kaliuta) [1944799] - bpf: Stop caching subprog index in the bpf_pseudo_func insn (Yauheni Kaliuta) [1944799] - redhat/configs: enable CONFIG_BPF_UNPRIV_DEFAULT_OFF (Yauheni Kaliuta) [1944799] - kbuild: Quote OBJCOPY var to avoid a pahole call break the build (Yauheni Kaliuta) [1944799] - bpf: Fix BPF_JIT kconfig symbol dependency (Yauheni Kaliuta) [1944799] - bpf: Add kconfig knob for disabling unpriv bpf by default (Yauheni Kaliuta) [1944799] - bpf, kconfig: Add consolidated menu entry for bpf with core options (Yauheni Kaliuta) [1944799] - tools/resolve_btfids: Fix warnings (Yauheni Kaliuta) [1944799] - tools/runqslower: Allow substituting custom vmlinux.h for the build (Yauheni Kaliuta) [1944799] - lib/string.c: allow searching for NUL with strnchr (Yauheni Kaliuta) [1944799] - rpmspec: update manpages installation after 5.13 rebase (bpf-helpers, bpf-syscall) (Yauheni Kaliuta) [1944799] - libbpf: Fix segfault in static linker for objects without BTF (Yauheni Kaliuta) [1944799] - bpf: Avoid using ARRAY_SIZE on an uninitialized pointer (Yauheni Kaliuta) [1944799] - bpf: Remove superfluous aux sanitation on subprog rejection (Yauheni Kaliuta) [1944799] - bpf: Clarify a bpf_bprintf_prepare macro (Yauheni Kaliuta) [1944799] - bpf: Fix nested bpf_bprintf_prepare with more per-cpu buffers (Yauheni Kaliuta) [1944799] - selftests/bpf: Fix the snprintf test (Yauheni Kaliuta) [1944799] - bpf: Implement formatted output helpers with bstr_printf (Yauheni Kaliuta) [1944799] - seq_file: Add a seq_bprintf function (Yauheni Kaliuta) [1944799] - bpf: Notify user if we ever hit a bpf_snprintf verifier bug (Yauheni Kaliuta) [1944799] - selftests/bpf: Add a series of tests for bpf_snprintf (Yauheni Kaliuta) [1944799] - bpf: Lock bpf_trace_printk's tmp buf before it is written to (Yauheni Kaliuta) [1944799] - bpf: Add a bpf_snprintf helper (Yauheni Kaliuta) [1944799] - bpf: Factorize bpf_trace_printk and bpf_seq_printf (Yauheni Kaliuta) [1944799] - Stop the ad-hoc games with -Wno-maybe-initialized (Yauheni Kaliuta) [1944799] - kbuild: compute false-positive -Wmaybe-uninitialized cases in Kconfig (Yauheni Kaliuta) [1944799] - bpf: Fix potentially incorrect results with bpf_get_local_storage() (Yauheni Kaliuta) [1944799] - bpf, samples: Fix xdpsock with '-M' parameter missing unload process (Yauheni Kaliuta) [1944799] - libbpf: Don't crash on object files with no symbol tables (Yauheni Kaliuta) [1944799] - libbpf: Fix ELF symbol visibility update logic (Yauheni Kaliuta) [1944799] - bpf, selftests: Adjust few selftest outcomes wrt unreachable code (Yauheni Kaliuta) [1944799] - bpf: Do not mark insn as seen under speculative path verification (Yauheni Kaliuta) [1944799] - bpf: Inherit expanded/patched seen count from old aux data (Yauheni Kaliuta) [1944799] - bpf, selftests: Adjust few selftest result_unpriv outcomes (Yauheni Kaliuta) [1944799] - bpf: Fix BPF_LSM kconfig symbol dependency (Yauheni Kaliuta) [1944799] - selftests/bpf: Add test for l3 use of bpf_redirect_peer (Yauheni Kaliuta) [1944799] - bpftool: Add sock_release help info for cgroup attach/prog load command (Yauheni Kaliuta) [1944799] - bpf, offload: Reorder offload callback 'prepare' in verifier (Yauheni Kaliuta) [1944799] - selftests/bpf: Test ringbuf mmap read-only and read-write restrictions (Yauheni Kaliuta) [1944799] - selftests/bpf: Convert static to global in tc_redirect progs (Yauheni Kaliuta) [1944799] - selftests/bpf: Rewrite test_tc_redirect.sh as prog_tests/tc_redirect.c (Yauheni Kaliuta) [1944799] - libbpf: Provide GELF_ST_VISIBILITY() define for older libelf (Yauheni Kaliuta) [1944799] - bpf: Add deny list of btf ids check for tracing programs (Yauheni Kaliuta) [1944799] - bpf: Forbid trampoline attach for functions with variable arguments (Yauheni Kaliuta) [1944799] - samples/bpf: Consider frame size in tx_only of xdpsock sample (Yauheni Kaliuta) [1944799] - libbpf: Add NULL check to add_dummy_ksym_var (Yauheni Kaliuta) [1944799] - libbpf: Fix signed overflow in ringbuf_process_ring (Yauheni Kaliuta) [1944799] - bpf, selftests: Update array map tests for per-cpu batched ops (Yauheni Kaliuta) [1944799] - bpf: Add batched ops support for percpu array (Yauheni Kaliuta) [1944799] - bpf, docs: Fix literal block for example code (Yauheni Kaliuta) [1944799] - bpf, cpumap: Bulk skb using netif_receive_skb_list (Yauheni Kaliuta) [1944799] - selftests/bpf: Fix field existence CO-RE reloc tests (Yauheni Kaliuta) [1944799] - selftests/bpf: Fix BPF_CORE_READ_BITFIELD() macro (Yauheni Kaliuta) [1944799] - selftests/bpf: Use ASSERT macros in lsm test (Yauheni Kaliuta) [1944799] - selftests/bpf: Test that module can't be unloaded with attached trampoline (Yauheni Kaliuta) [1944799] - selftests/bpf: Add re-attach test to lsm test (Yauheni Kaliuta) [1944799] - selftests/bpf: Add re-attach test to fexit_test (Yauheni Kaliuta) [1944799] - selftests/bpf: Add re-attach test to fentry_test (Yauheni Kaliuta) [1944799] - bpf: Allow trampoline re-attach for tracing and lsm programs (Yauheni Kaliuta) [1944799] - bpf: Document the pahole release info related to libbpf in bpf_devel_QA.rst (Yauheni Kaliuta) [1944799] - selftests/bpf: Document latest Clang fix expectations for linking tests (Yauheni Kaliuta) [1944799] - selftests/bpf: Add map linking selftest (Yauheni Kaliuta) [1944799] - selftests/bpf: Add global variables linking selftest (Yauheni Kaliuta) [1944799] - selftests/bpf: Add function linking selftest (Yauheni Kaliuta) [1944799] - selftests/bpf: Omit skeleton generation for multi-linked BPF object files (Yauheni Kaliuta) [1944799] - selftests/bpf: Use -O0 instead of -Og in selftests builds (Yauheni Kaliuta) [1944799] - libbpf: Support extern resolution for BTF-defined maps in .maps section (Yauheni Kaliuta) [1944799] - libbpf: Add linker extern resolution support for functions and global variables (Yauheni Kaliuta) [1944799] - libbpf: Tighten BTF type ID rewriting with error checking (Yauheni Kaliuta) [1944799] - libbpf: Extend sanity checking ELF symbols with externs validation (Yauheni Kaliuta) [1944799] - libbpf: Make few internal helpers available outside of libbpf.c (Yauheni Kaliuta) [1944799] - libbpf: Factor out symtab and relos sanity checks (Yauheni Kaliuta) [1944799] - libbpf: Refactor BTF map definition parsing (Yauheni Kaliuta) [1944799] - libbpf: Allow gaps in BPF program sections to support overriden weak functions (Yauheni Kaliuta) [1944799] - libbpf: Mark BPF subprogs with hidden visibility as static for BPF verifier (Yauheni Kaliuta) [1944799] - libbpf: Suppress compiler warning when using SEC() macro with externs (Yauheni Kaliuta) [1944799] - bpftool: Dump more info about DATASEC members (Yauheni Kaliuta) [1944799] - bpftool: Support dumping BTF VAR's "extern" linkage (Yauheni Kaliuta) [1944799] - bpf: Remove unnecessary map checks for ARG_PTR_TO_CONST_STR (Yauheni Kaliuta) [1944799] - xsk: Align XDP socket batch size with DPDK (Yauheni Kaliuta) [1944799] - bpf, doc: Fix some invalid links in bpf_devel_QA.rst (Yauheni Kaliuta) [1944799] - net, xdp: Update pkt_type if generic XDP changes unicast MAC (Yauheni Kaliuta) [1944799] - powerpc/ebpf32: Use standard function call for functions within 32M distance (Yauheni Kaliuta) [1944799] - selftests/bpf: Add docs target as all dependency (Yauheni Kaliuta) [1944799] - bpf/selftests: Add bpf_get_task_stack retval bounds test_prog (Yauheni Kaliuta) [1944799] - bpf/selftests: Add bpf_get_task_stack retval bounds verifier test (Yauheni Kaliuta) [1944799] - bpf: Refine retval for bpf_get_task_stack helper (Yauheni Kaliuta) [1944799] - samples/bpf: Fix broken tracex1 due to kprobe argument change (Yauheni Kaliuta) [1944799] - libbpf: Introduce a BPF_SNPRINTF helper macro (Yauheni Kaliuta) [1944799] - libbpf: Initialize the bpf_seq_printf parameters array field by field (Yauheni Kaliuta) [1944799] - bpf: Add a ARG_PTR_TO_CONST_STR argument type (Yauheni Kaliuta) [1944799] - bpftool: Fix a clang compilation warning (Yauheni Kaliuta) [1944799] - selftests/bpf: Silence clang compilation warnings (Yauheni Kaliuta) [1944799] - selftests/bpf: Fix test_cpp compilation failure with clang (Yauheni Kaliuta) [1944799] - selftests: Set CC to clang in lib.mk if LLVM is set (Yauheni Kaliuta) [1944799] - libbpf: Remove unused field. (Yauheni Kaliuta) [1944799] - tools/testing: Remove unused variable (Yauheni Kaliuta) [1944799] - selftests/bpf: Fix the ASSERT_ERR_PTR macro (Yauheni Kaliuta) [1944799] - selftests/bpf: Add tests for target information in bpf_link info queries (Yauheni Kaliuta) [1944799] - bpf: Return target info when a tracing bpf_link is queried (Yauheni Kaliuta) [1944799] - libbpf: Clarify flags in ringbuf helpers (Yauheni Kaliuta) [1944799] - bpf: Sync bpf headers in tooling infrastucture (Yauheni Kaliuta) [1944799] - bpf: Document PROG_TEST_RUN limitations (Yauheni Kaliuta) [1944799] - bpf, inode: Remove second initialization of the bpf_preload_lock (Yauheni Kaliuta) [1944799] - libbpf: Fix KERNEL_VERSION macro (Yauheni Kaliuta) [1944799] - bpf: selftests: Specify CONFIG_DYNAMIC_FTRACE in the testing config (Yauheni Kaliuta) [1944799] - powerpc/bpf: Reallocate BPF registers to volatile registers when possible on PPC32 (Yauheni Kaliuta) [1944799] - powerpc/bpf: Change values of SEEN_ flags (Yauheni Kaliuta) [1944799] - powerpc/bpf: Move common functions into bpf_jit_comp.c (Yauheni Kaliuta) [1944799] - powerpc/bpf: Remove classical BPF support for PPC32 (Yauheni Kaliuta) [1944799] - powerpc/bpf: Move common helpers into bpf_jit.h (Yauheni Kaliuta) [1944799] - powerpc/bpf: Change register numbering for bpf_set/is_seen_register() (Yauheni Kaliuta) [1944799] - libbpf: Remove redundant semi-colon (Yauheni Kaliuta) [1944799] - bpf: Remove repeated struct btf_type declaration (Yauheni Kaliuta) [1944799] - bpf, cgroup: Delete repeated struct bpf_prog declaration (Yauheni Kaliuta) [1944799] - bpf: Remove unused parameter from ___bpf_prog_run (Yauheni Kaliuta) [1944799] - bpf, selftests: test_maps generating unrecognized data section (Yauheni Kaliuta) [1944799] - selftests/bpf: Add an option for a debug shell in vmtest.sh (Yauheni Kaliuta) [1944799] - bpf: Remove redundant assignment of variable id (Yauheni Kaliuta) [1944799] - bpf: Remove unused bpf_load_pointer (Yauheni Kaliuta) [1944799] - selftests: xsk: Remove unused defines (Yauheni Kaliuta) [1944799] - selftests: xsk: Remove mutex and condition variable (Yauheni Kaliuta) [1944799] - selftests: xsk: Remove thread attribute (Yauheni Kaliuta) [1944799] - selftests: xsk: Implement bpf_link test (Yauheni Kaliuta) [1944799] - selftests: xsk: Remove sync_mutex_tx and atomic var (Yauheni Kaliuta) [1944799] - selftests: xsk: Refactor teardown/bidi test cases and testapp_validate (Yauheni Kaliuta) [1944799] - selftests: xsk: Remove Tx synchronization resources (Yauheni Kaliuta) [1944799] - selftests: xsk: Split worker thread (Yauheni Kaliuta) [1944799] - selftests: xsk: Remove thread for netns switch (Yauheni Kaliuta) [1944799] - samples: bpf: Do not unload prog within xdpsock (Yauheni Kaliuta) [1944799] - libbpf: xsk: Use bpf_link (Yauheni Kaliuta) [1944799] - selftests: xsk: Simplify frame traversal in dumping thread (Yauheni Kaliuta) [1944799] - selftests: xsk: Remove inline keyword from source file (Yauheni Kaliuta) [1944799] - selftests: xsk: Remove unused function (Yauheni Kaliuta) [1944799] - selftests: xsk: Remove struct ifaceconfigobj (Yauheni Kaliuta) [1944799] - selftests: xsk: Don't call worker_pkt_dump() for stats test (Yauheni Kaliuta) [1944799] - libbpf: Fix memory leak when emitting final btf_ext (Yauheni Kaliuta) [1944799] - bpf: selftests: Update clang requirement in README.rst for testing kfunc call (Yauheni Kaliuta) [1944799] - bpf: Update bpf_design_QA.rst to clarify the kfunc call is not ABI (Yauheni Kaliuta) [1944799] - bpf: selftests: Add kfunc_call test (Yauheni Kaliuta) [1944799] - bpf: selftests: Bpf_cubic and bpf_dctcp calling kernel functions (Yauheni Kaliuta) [1944799] - bpf: selftests: Rename bictcp to bpf_cubic (Yauheni Kaliuta) [1944799] - libbpf: Support extern kernel function (Yauheni Kaliuta) [1944799] - libbpf: Record extern sym relocation first (Yauheni Kaliuta) [1944799] - libbpf: Rename RELO_EXTERN to RELO_EXTERN_VAR (Yauheni Kaliuta) [1944799] - libbpf: Refactor codes for finding btf id of a kernel symbol (Yauheni Kaliuta) [1944799] - libbpf: Refactor bpf_object__resolve_ksyms_btf_id (Yauheni Kaliuta) [1944799] - bpf: Support bpf program calling kernel function (Yauheni Kaliuta) [1944799] - bpf: Refactor btf_check_func_arg_match (Yauheni Kaliuta) [1944799] - bpf: Simplify freeing logic in linfo and jited_linfo (Yauheni Kaliuta) [1944799] - libbpf: Preserve empty DATASEC BTFs during static linking (Yauheni Kaliuta) [1944799] - bpf: struct sock is declared twice in bpf_sk_storage header (Yauheni Kaliuta) [1944799] - bpf: Remove unused headers (Yauheni Kaliuta) [1944799] - libbpf: Add bpf object kern_version attribute setter (Yauheni Kaliuta) [1944799] - bpf: selftests: Add tests for batched ops in LPM trie maps (Yauheni Kaliuta) [1944799] - bpf: Add support for batched ops in LPM trie maps (Yauheni Kaliuta) [1944799] - selftests/bpf: Better error messages for ima_setup.sh failures (Yauheni Kaliuta) [1944799] - bpf: Fix NULL pointer dereference in bpf_get_local_storage() helper (Yauheni Kaliuta) [1944799] - libbpf: Constify few bpf_program getters (Yauheni Kaliuta) [1944799] - bpf: Fix typo 'accesible' into 'accessible' (Yauheni Kaliuta) [1944799] - tracing: Fix various typos in comments (Yauheni Kaliuta) [1944799] - libbpf: Skip BTF fixup if object file has no BTF (Yauheni Kaliuta) [1944799] - bpf: Remove insn_buf[] declaration in inner block (Yauheni Kaliuta) [1944799] - selftests/bpf: Add multi-file statically linked BPF object file test (Yauheni Kaliuta) [1944799] - selftests/bpf: Pass all BPF .o's through BPF static linker (Yauheni Kaliuta) [1944799] - selftests/bpf: Re-generate vmlinux.h and BPF skeletons if bpftool changed (Yauheni Kaliuta) [1944799] - bpftool: Add `gen object` command to perform BPF static linking (Yauheni Kaliuta) [1944799] - bpftool: Add ability to specify custom skeleton object name (Yauheni Kaliuta) [1944799] - libbpf: Add BPF static linker BTF and BTF.ext support (Yauheni Kaliuta) [1944799] - libbpf: Add BPF static linker APIs (Yauheni Kaliuta) [1944799] - libbpf: Add generic BTF type shallow copy API (Yauheni Kaliuta) [1944799] - libbpf: Extract internal set-of-strings datastructure APIs (Yauheni Kaliuta) [1944799] - libbpf: Rename internal memory-management helpers (Yauheni Kaliuta) [1944799] - libbpf: Generalize BTF and BTF.ext type ID and strings iteration (Yauheni Kaliuta) [1944799] - libbpf: Expose btf_type_by_id() internally (Yauheni Kaliuta) [1944799] - x86: Fix various typos in comments (Yauheni Kaliuta) [1944799] - selftests/bpf: drop custom NULL #define in skb_pkt_end selftest (Yauheni Kaliuta) [1944799] - libbpf: provide NULL and KERNEL_VERSION macros in bpf_helpers.h (Yauheni Kaliuta) [1944799] - bpf: net: Emit anonymous enum with BPF_TCP_CLOSE value explicitly (Yauheni Kaliuta) [1944799] - selftests/bpf: Use nanosleep() syscall instead of sleep() in get_cgroup_id (Yauheni Kaliuta) [1944799] - selftests/bpf: Fix warning comparing pointer to 0 (Yauheni Kaliuta) [1944799] - selftests/bpf: Build everything in debug mode (Yauheni Kaliuta) [1944799] - selftests/bpf: Fix maybe-uninitialized warning in xdpxceiver test (Yauheni Kaliuta) [1944799] - bpftool: Fix maybe-uninitialized warnings (Yauheni Kaliuta) [1944799] - libbpf: Add explicit padding to bpf_xdp_set_link_opts (Yauheni Kaliuta) [1944799] - kernel/bpf/: Fix misspellings using codespell tool (Yauheni Kaliuta) [1944799] - s390/bpf: Implement new atomic ops (Yauheni Kaliuta) [1944799] - bpf: selftests: Remove unused 'nospace_err' in tests for batched ops in array maps (Yauheni Kaliuta) [1944799] - samples: bpf: Fix a spelling typo in do_hbm_test.sh (Yauheni Kaliuta) [1944799] - libbpf: Avoid inline hint definition from 'linux/stddef.h' (Yauheni Kaliuta) [1944799] - libbpf: xsk: Move barriers from libbpf_util.h to xsk.h (Yauheni Kaliuta) [1944799] - libbpf: xsk: Remove linux/compiler.h header (Yauheni Kaliuta) [1944799] - bpf: Fix warning comparing pointer to 0 (Yauheni Kaliuta) [1944799] - selftests/bpf: Fix warning comparing pointer to 0 (Yauheni Kaliuta) [1944799] - bpf, xdp: Restructure redirect actions (Yauheni Kaliuta) [1944799] - bpf, xdp: Make bpf_redirect_map() a map operation (Yauheni Kaliuta) [1944799] - selftests/bpf: Fix compiler warning in BPF_KPROBE definition in loop6.c (Yauheni Kaliuta) [1944799] - selftests/bpf: Fix typo in Makefile (Yauheni Kaliuta) [1944799] - libbpf: Fix arm64 build (Yauheni Kaliuta) [1944799] - libbpf, xsk: Add libbpf_smp_store_release libbpf_smp_load_acquire (Yauheni Kaliuta) [1944799] - selftests, bpf: Extend test_tc_tunnel test with vxlan (Yauheni Kaliuta) [1944799] - bpf: Add bpf_skb_adjust_room flag BPF_F_ADJ_ROOM_ENCAP_L2_ETH (Yauheni Kaliuta) [1944799] - selftests/bpf: Simplify the calculation of variables (Yauheni Kaliuta) [1944799] - bpf: Simplify the calculation of variables (Yauheni Kaliuta) [1944799] - selftests: bpf: Don't run sk_lookup in verifier tests (Yauheni Kaliuta) [1944799] - selftests: bpf: Check that PROG_TEST_RUN repeats as requested (Yauheni Kaliuta) [1944799] - selftests: bpf: Convert sk_lookup ctx access tests to PROG_TEST_RUN (Yauheni Kaliuta) [1944799] - bpf: Add PROG_TEST_RUN support for sk_lookup programs (Yauheni Kaliuta) [1944799] - bpf: Consolidate shared test timing code (Yauheni Kaliuta) [1944799] - docs/bpf: Add bpf() syscall command reference (Yauheni Kaliuta) [1944799] - selftests/bpf: Test syscall command parsing (Yauheni Kaliuta) [1944799] - selftests/bpf: Templatize man page generation (Yauheni Kaliuta) [1944799] - tools/bpf: Remove bpf-helpers from bpftool docs (Yauheni Kaliuta) [1944799] - scripts/bpf: Add syscall commands printer (Yauheni Kaliuta) [1944799] - tools: Sync uapi bpf.h header with latest changes (Yauheni Kaliuta) [1944799] - scripts/bpf: Abstract eBPF API target parameter (Yauheni Kaliuta) [1944799] - bpf: Document BPF_MAP_*_BATCH syscall commands (Yauheni Kaliuta) [1944799] - bpf: Document BPF_PROG_QUERY syscall command (Yauheni Kaliuta) [1944799] - bpf: Document BPF_PROG_TEST_RUN syscall command (Yauheni Kaliuta) [1944799] - bpf: Document BPF_PROG_ATTACH syscall command (Yauheni Kaliuta) [1944799] - bpf: Document BPF_PROG_PIN syscall command (Yauheni Kaliuta) [1944799] - bpf: Document BPF_F_LOCK in syscall commands (Yauheni Kaliuta) [1944799] - bpf: Add minimal bpf() command documentation (Yauheni Kaliuta) [1944799] - bpf: Import syscall arg documentation (Yauheni Kaliuta) [1944799] - libbpf: Fix whitespace in btf_add_composite() comment (Yauheni Kaliuta) [1944799] - selftests/bpf: Add a verifier scale test with unknown bounded loop (Yauheni Kaliuta) [1944799] - tools, bpf_asm: Exit non-zero on errors (Yauheni Kaliuta) [1944799] - tools, bpf_asm: Hard error on out of range jumps (Yauheni Kaliuta) [1944799] - selftests/bpf: Add arraymap test for bpf_for_each_map_elem() helper (Yauheni Kaliuta) [1944799] - selftests/bpf: Add hashmap test for bpf_for_each_map_elem() helper (Yauheni Kaliuta) [1944799] - bpftool: Print subprog address properly (Yauheni Kaliuta) [1944799] - libbpf: Support subprog address relocation (Yauheni Kaliuta) [1944799] - libbpf: Move function is_ldimm64() earlier in libbpf.c (Yauheni Kaliuta) [1944799] - bpf: Add arraymap support for bpf_for_each_map_elem() helper (Yauheni Kaliuta) [1944799] - bpf: Add hashtab support for bpf_for_each_map_elem() helper (Yauheni Kaliuta) [1944799] - bpf: Add bpf_for_each_map_elem() helper (Yauheni Kaliuta) [1944799] - bpf: Change return value of verifier function add_subprog() (Yauheni Kaliuta) [1944799] - bpf: Refactor check_func_call() to allow callback function (Yauheni Kaliuta) [1944799] - bpf: Factor out verbose_invalid_scalar() (Yauheni Kaliuta) [1944799] - bpf: Factor out visit_func_call_insn() in check_cfg() (Yauheni Kaliuta) [1944799] - selftests/bpf: Copy extras in out-of-srctree builds (Yauheni Kaliuta) [1944799] - selftests/bpf: Propagate error code of the command to vmtest.sh (Yauheni Kaliuta) [1944799] - selftests/bpf: Introduce xsk statistics tests (Yauheni Kaliuta) [1944799] - selftests/bpf: Restructure xsk selftests (Yauheni Kaliuta) [1944799] - selftests/bpf: Expose and rename debug argument (Yauheni Kaliuta) [1944799] - selftest/bpf: Make xsk tests less verbose (Yauheni Kaliuta) [1944799] - bpf: Rename fixup_bpf_calls and add some comments (Yauheni Kaliuta) [1944799] - bpf: Use MAX_BPF_FUNC_REG_ARGS macro (Yauheni Kaliuta) [1944799] - bpf: runqslower: Prefer using local vmlimux to generate vmlinux.h (Yauheni Kaliuta) [1944799] - bpf: Add kernel/modules BTF presence checks to bpftool feature command (Yauheni Kaliuta) [1944799]- netfilter: log: work around missing softdep backend module (Florian Westphal) [2017794] - netfilter: nft_ct: protect nft_ct_pcpu_template_refcnt with mutex (Florian Westphal) [2017794] - netfilter: Fix fall-through warnings for Clang (Florian Westphal) [2017794] - netfilter: nft_nat: allow to specify layer 4 protocol NAT only (Florian Westphal) [2017794] - netfilter: conntrack: adjust stop timestamp to real expiry value (Florian Westphal) [2017794] - netfilter: ipvs: make global sysctl readonly in non-init netns (Florian Westphal) [2017794] - ipvs: fix possible memory leak in ip_vs_control_net_init (Florian Westphal) [2017794] - ipvs: fix the connection sync failed in some cases (Florian Westphal) [2017794] - net: Fix offloading indirect devices dependency on qdisc order creation (Davide Caratti) [1997381] - net/core: Remove unused field from struct flow_indr_dev (Davide Caratti) [1997381] - Drivers: hv: balloon: Use VMBUS_RING_SIZE() wrapper for dm_ring_size (Vitaly Kuznetsov) [2019101] - hv_balloon: Remove redundant assignment to region_start (Vitaly Kuznetsov) [2019101] - hv_balloon: disable warning when floor reached (Vitaly Kuznetsov) [2019101] - net/tls: Fix flipped sign in async_wait.err assignment (Sabrina Dubroca) [2019176] - net/tls: Fix flipped sign in tls_err_abort() calls (Sabrina Dubroca) [2019176] - tls: prevent oversized sendfile() hangs by ignoring MSG_MORE (Sabrina Dubroca) [2019176] - tls splice: remove inappropriate flags checking for MSG_PEEK (Sabrina Dubroca) [2019176] - net/tls: Fix use-after-free after the TLS device goes down and up (Sabrina Dubroca) [2019176] - net/tls: Replace TLS_RX_SYNC_RUNNING with RCU (Sabrina Dubroca) [2019176] - tls splice: check SPLICE_F_NONBLOCK instead of MSG_DONTWAIT (Sabrina Dubroca) [2019176] - net/tls: Remove redundant initialization of record (Sabrina Dubroca) [2019176] - ibmvnic: don't stop queue in xmit (Diego Domingos) [2011995] - selftests: net: switch to socat in the GSO GRE test (Hangbin Liu) [2018059] - selftests: net: properly support IPv6 in GSO GRE test (Hangbin Liu) [2018059] - kselftests/net: add missed setup_loopback.sh/setup_veth.sh to Makefile (Hangbin Liu) [2018059] - selftests: add simple GSO GRE test (Hangbin Liu) [2018059] - selftests/net: allow GRO coalesce test on veth (Hangbin Liu) [2018059] - selftests/net: GRO coalesce test (Hangbin Liu) [2018059] - perf/x86: Reset destroy callback on event init failure (Michael Petlan) [2003982] - x86/msr: Define new bits in TSX_FORCE_ABORT MSR (Michael Petlan) [2003982] - perf script: Fix --list-dlfilters documentation (Michael Petlan) [2003982] - perf/x86/intel/uncore: Fix IIO cleanup mapping procedure for SNR/ICX (Michael Petlan) [2003982] - Revert "perf map: Fix dso->nsinfo refcounting" (Michael Petlan) [2003982] - perf pmu: Fix alias matching (Michael Petlan) [2003982] - perf cs-etm: Split --dump-raw-trace by AUX records (Michael Petlan) [2003982] - perf sched: Fix record failure when CONFIG_SCHEDSTATS is not set (Michael Petlan) [2003982] - perf probe: Fix add event failure when running 32-bit perf in a 64-bit kernel (Michael Petlan) [2003982] - perf data: Close all files in close_dir() (Michael Petlan) [2003982] - perf probe-file: Delete namelist in del_events() on the error path (Michael Petlan) [2003982] - perf test bpf: Free obj_buf (Michael Petlan) [2003982] - perf trace: Free strings in trace__parse_events_option() (Michael Petlan) [2003982] - perf trace: Free syscall tp fields in evsel->priv (Michael Petlan) [2003982] - perf trace: Free syscall->arg_fmt (Michael Petlan) [2003982] - perf trace: Free malloc'd trace fields on exit (Michael Petlan) [2003982] - perf lzma: Close lzma stream on exit (Michael Petlan) [2003982] - perf script: Fix memory 'threads' and 'cpus' leaks on exit (Michael Petlan) [2003982] - perf script: Release zstd data (Michael Petlan) [2003982] - perf session: Cleanup trace_event (Michael Petlan) [2003982] - perf inject: Close inject.output on exit (Michael Petlan) [2003982] - perf report: Free generated help strings for sort option (Michael Petlan) [2003982] - perf env: Fix memory leak of cpu_pmu_caps (Michael Petlan) [2003982] - perf test maps__merge_in: Fix memory leak of maps (Michael Petlan) [2003982] - perf dso: Fix memory leak in dso__new_map() (Michael Petlan) [2003982] - perf test event_update: Fix memory leak of unit (Michael Petlan) [2003982] - perf test event_update: Fix memory leak of evlist (Michael Petlan) [2003982] - perf test session_topology: Delete session->evlist (Michael Petlan) [2003982] - perf env: Fix sibling_dies memory leak (Michael Petlan) [2003982] - perf probe: Fix dso->nsinfo refcounting (Michael Petlan) [2003982] - perf map: Fix dso->nsinfo refcounting (Michael Petlan) [2003982] - perf inject: Fix dso->nsinfo refcounting (Michael Petlan) [2003982] - perf cs-etm: Split Coresight decode by aux records (Michael Petlan) [2003982] - perf sched: Cast PTHREAD_STACK_MIN to int as it may turn into sysconf(__SC_THREAD_STACK_MIN_VALUE) (Michael Petlan) [2003982] - libperf: Fix build error with LIBPFM4=1 (Michael Petlan) [2003982] - perf stat: Merge uncore events by default for hybrid platform (Michael Petlan) [2003982] - perf tests: Fix 'Convert perf time to TSC' on core-only system (Michael Petlan) [2003982] - perf tests: Fix 'Roundtrip evsel->name' on core-only system (Michael Petlan) [2003982] - perf tests: Fix 'Parse event definition strings' on core-only system (Michael Petlan) [2003982] - perf pmu: Skip invalid hybrid pmu (Michael Petlan) [2003982] - perf test: Add free() calls for scandir() returned dirent entries (Michael Petlan) [2003982] - libperf: Add tests for perf_evlist__set_leader() (Michael Petlan) [2003982] - libperf: Remove BUG_ON() from library code in get_group_fd() (Michael Petlan) [2003982] - libperf: Add group support to perf_evsel__open() (Michael Petlan) [2003982] - perf tools: Fix pattern matching for same substring in different PMU type (Michael Petlan) [2003982] - perf record: Add a dummy event on hybrid systems to collect metadata records (Michael Petlan) [2003982] - perf stat: Add Topdown metrics L2 events as default events (Michael Petlan) [2003982] - libperf: Adopt evlist__set_leader() from tools/perf as perf_evlist__set_leader() (Michael Petlan) [2003982] - libperf: Move 'nr_groups' from tools/perf to evlist::nr_groups (Michael Petlan) [2003982] - libperf: Move 'leader' from tools/perf to perf_evsel::leader (Michael Petlan) [2003982] - libperf: Move 'idx' from tools/perf to perf_evsel::idx (Michael Petlan) [2003982] - libperf: Change tests to single static and shared binaries (Michael Petlan) [2003982] - perf intel-pt: Add a config for max loops without consuming a packet (Michael Petlan) [2003982] - perf stat: Disable the NMI watchdog message on hybrid (Michael Petlan) [2003982] - perf trace: Fix the perf trace link location (Michael Petlan) [2003982] - perf top: Fix overflow in elf_sec__is_text() (Michael Petlan) [2003982] - perf annotate: Fix 's' on source line when disasm is empty (Michael Petlan) [2003982] - perf probe: Do not show @plt function by default (Michael Petlan) [2003982] - perf symbol-elf: Decode dynsym even if symtab exists (Michael Petlan) [2003982] - perf probe: Fix debuginfo__new() to enable build-id based debuginfo (Michael Petlan) [2003982] - perf stat: Enable BPF counter with --for-each-cgroup (Michael Petlan) [2003982] - perf report: Fix --task and --stat with pipe input (Michael Petlan) [2003982] - perf session: Add missing evlist__delete when deleting a session (Michael Petlan) [2003982] - perf annotate: Allow 's' on source code lines (Michael Petlan) [2003982] - perf dlfilter: Add object_code() to perf_dlfilter_fns (Michael Petlan) [2003982] - perf dlfilter: Add attr() to perf_dlfilter_fns (Michael Petlan) [2003982] - perf dlfilter: Add srcline() to perf_dlfilter_fns (Michael Petlan) [2003982] - perf dlfilter: Add insn() to perf_dlfilter_fns (Michael Petlan) [2003982] - perf dlfilter: Add resolve_address() to perf_dlfilter_fns (Michael Petlan) [2003982] - perf build: Install perf_dlfilter.h (Michael Petlan) [2003982] - perf script: Add option to pass arguments to dlfilters (Michael Petlan) [2003982] - perf script: Add option to list dlfilters (Michael Petlan) [2003982] - perf script: Add dlfilter__filter_event_early() (Michael Petlan) [2003982] - perf script: Add API for filtering via dynamically loaded shared object (Michael Petlan) [2003982] - perf llvm: Return -ENOMEM when asprintf() fails (Michael Petlan) [2003982] - perf cs-etm: Delay decode of non-timeless data until cs_etm__flush_events() (Michael Petlan) [2003982] - perf arm-spe: Don't wait for PERF_RECORD_EXIT event (Michael Petlan) [2003982] - perf arm-spe: Bail out if the trace is later than perf event (Michael Petlan) [2003982] - perf arm-spe: Assign kernel time to synthesized event (Michael Petlan) [2003982] - perf arm-spe: Convert event kernel time to counter value (Michael Petlan) [2003982] - perf arm-spe: Save clock parameters from TIME_CONV event (Michael Petlan) [2003982] - perf cs-etm: Remove callback cs_etm_find_snapshot() (Michael Petlan) [2003982] - perf bpf_counter: Move common functions to bpf_counter.h (Michael Petlan) [2003982] - perf tools: Add cgroup_is_v2() helper (Michael Petlan) [2003982] - perf tools: Add read_cgroup_id() function (Michael Petlan) [2003982] - tools lib: Adopt bitmap_intersects() operation from the kernel sources (Michael Petlan) [2003982] - perf top: Add cgroup support for perf top (-G) (Michael Petlan) [2003982] - perf script: Share addr_al between functions (Michael Petlan) [2003982] - perf script: Move filtering before scripting (Michael Petlan) [2003982] - perf script: Move filter_cpu() earlier (Michael Petlan) [2003982] - perf test: Pass the verbose option to shell tests (Michael Petlan) [2003982] - perf probe: Add --bootconfig to output definition in bootconfig format (Michael Petlan) [2003982] - perf probe: Cleanup synthesize_probe_trace_command() (Michael Petlan) [2003982] - perf probe: Support probes on init functions for offline kernel (Michael Petlan) [2003982] - perf test: Make stat bpf counters test more robust (Michael Petlan) [2003982] - perf test: Add verbose skip output for bpf counters (Michael Petlan) [2003982] - perf annotate: Add itrace options support (Michael Petlan) [2003982] - perf mem-events: Remove duplicate #undef (Michael Petlan) [2003982] - perf evsel: Adjust hybrid event and global event mixed group (Michael Petlan) [2003982] - perf probe: Provide clearer message permission error for tracefs access (Michael Petlan) [2003982] - perf auxtrace: Change to use SMP memory barriers (Michael Petlan) [2003982] - perf srccode: Use list_move() instead of equivalent list_del() + list_add() sequence (Michael Petlan) [2003982] - perf probe: Report possible permission error for map__load() failure (Michael Petlan) [2003982] - perf probe: Add permission and sysctl notice to man page (Michael Petlan) [2003982] - perf c2c: Support record for hybrid platform (Michael Petlan) [2003982] - perf mem: Disable 'mem-loads-aux' group before reporting (Michael Petlan) [2003982] - perf mem: Fix wrong verbose output for recording events (Michael Petlan) [2003982] - perf mem: Support record for hybrid platform (Michael Petlan) [2003982] - perf tools: Check if mem_events is supported for hybrid platform (Michael Petlan) [2003982] - perf tools: Support pmu prefix for mem-store event (Michael Petlan) [2003982] - perf tools: Support pmu prefix for mem-load event (Michael Petlan) [2003982] - perf tools: Check mem-loads auxiliary event (Michael Petlan) [2003982] - perf scripting python: intel-pt-events.py: Add --insn-trace and --src-trace (Michael Petlan) [2003982] - perf scripting python: exported-sql-viewer.py: Factor out libxed.py (Michael Petlan) [2003982] - perf scripting python: Update documentation for srcline etc (Michael Petlan) [2003982] - perf scripting python: Add perf_sample_srcline() and perf_sample_srccode() (Michael Petlan) [2003982] - perf scripting python: Add perf_set_itrace_options() (Michael Petlan) [2003982] - perf auxtrace: Factor out itrace_do_parse_synth_opts() (Michael Petlan) [2003982] - perf scripting python: Add perf_sample_insn() (Michael Petlan) [2003982] - perf script: Factor out script_fetch_insn() (Michael Petlan) [2003982] - perf scripting python: Assign perf_script_context (Michael Petlan) [2003982] - perf scripting: Add perf_session to scripting_context (Michael Petlan) [2003982] - perf scripting: Add scripting_context__update() (Michael Petlan) [2003982] - perf scripting python: Simplify perf-trace-context module functions (Michael Petlan) [2003982] - perf scripting python: Remove unnecessary 'static' (Michael Petlan) [2003982] - perf test: Test 2 libpfm4 error cases (Michael Petlan) [2003982] - perf test: Iterate over shell tests in alphabetical order (Michael Petlan) [2003982] - perf probe: Provide more detail with relocation warning (Michael Petlan) [2003982] - perf parse-events: Add bison --file-prefix-map option (Michael Petlan) [2003982] - perf inject: Do not inject BUILD_ID record if MMAP2 has it (Michael Petlan) [2003982] - perf inject: Call dso__put() even if dso->hit is set (Michael Petlan) [2003982] - perf scripts python: intel-pt-events.py: Add branches to script (Michael Petlan) [2003982] - perf scripting python: Add auxtrace error (Michael Petlan) [2003982] - perf scripting python: Add context switch (Michael Petlan) [2003982] - perf scripting python: Add cpumode (Michael Petlan) [2003982] - perf scripting python: Add IPC (Michael Petlan) [2003982] - perf scripting python: Add sample flags (Michael Petlan) [2003982] - perf script: Factor out perf_sample__sprintf_flags() (Michael Petlan) [2003982] - perf scripting python: Add 'addr_location' for 'addr' (Michael Petlan) [2003982] - perf scripting python: Factor out set_sym_in_dict() (Michael Petlan) [2003982] - perf scripting python: Fix tuple_set_u64() (Michael Petlan) [2003982] - perf auxtrace: Make perf_event__process_auxtrace*() callable (Michael Petlan) [2003982] - perf script: Find script file relative to exec path (Michael Petlan) [2003982] - perf arm-spe: Remove redundant checking for "full_auxtrace" (Michael Petlan) [2003982] - perf arm-spe: Enable timestamp for per-cpu mode (Michael Petlan) [2003982] - perf arm-spe: Correct sample flags for dummy event (Michael Petlan) [2003982] - perf arm-spe: Correct sample flags for SPE event (Michael Petlan) [2003982] - perf vendor events intel: Update event list for Icelake Client (Michael Petlan) [2003982] - perf vendor events intel: Add uncore event list for Icelake Server (Michael Petlan) [2003982] - perf vendor events intel: Add core event list for Icelake Server (Michael Petlan) [2003982] - perf tests: Drop __maybe_unused on x86 test declarations (Michael Petlan) [2003982] - perf tests: Consolidate test__arch_unwind_sample declaration (Michael Petlan) [2003982] - perf build: Improve error message for old/missing clang (Michael Petlan) [2003982] - perf tools: Test build with libbpf/LIBBPF_DYNAMIC=1 (Michael Petlan) [2003982] - perf tools: Test build with libopencsd/CORESIGHT=1 (Michael Petlan) [2003982] - perf cs-etm: Prevent and warn on underflows during timestamp calculation. (Michael Petlan) [2003982] - perf cs-etm: Start reading 'Z' --itrace option (Michael Petlan) [2003982] - perf cs-etm: Move synth_opts initialisation (Michael Petlan) [2003982] - perf header: Support HYBRID_CPU_PMU_CAPS feature (Michael Petlan) [2003982] - perf header: Support HYBRID_TOPOLOGY feature (Michael Petlan) [2003982] - perf cs-etm: Set time on synthesised samples to preserve ordering (Michael Petlan) [2003982] - perf cs-etm: Refactor timestamp variable names (Michael Petlan) [2003982] - perf x86 kvm-stat: Support to analyze kvm MSR (Michael Petlan) [2003982] - perf stat: Use aggregated counts directly (Michael Petlan) [2003982] - perf record: Set timestamp boundary for AUX area events (Michael Petlan) [2003982] - perf intel-pt: Parse VM Time Correlation options and set up decoding (Michael Petlan) [2003982] - perf intel-pt: Add VM Time Correlation to decoder (Michael Petlan) [2003982] - perf intel-pt: Better 7-byte timestamp wraparound logic (Michael Petlan) [2003982] - perf intel-pt: Pass the first timestamp to the decoder (Michael Petlan) [2003982] - perf intel-pt: Add a tree for VMCS information (Michael Petlan) [2003982] - perf intel-pt: Let overlap detection handle VM timestamps (Michael Petlan) [2003982] - perf auxtrace: Allow buffers to be mapped read / write (Michael Petlan) [2003982] - perf inject: Add --vm-time-correlation option (Michael Petlan) [2003982] - perf inject: Add facility to do in place update (Michael Petlan) [2003982] - perf intel-pt: Support Z itrace option for timeless decoding (Michael Petlan) [2003982] - perf intel-pt: Move synth_opts initialization earlier (Michael Petlan) [2003982] - perf auxtrace: Add Z itrace option for timeless decoding (Michael Petlan) [2003982] - perf/x86/amd/power: Assign pmu.module (Michael Petlan) [2003982] - perf/x86/amd/ibs: Extend PERF_PMU_CAP_NO_EXCLUDE to IBS Op (Michael Petlan) [2003982] - perf/x86/amd/ibs: Work around erratum #1197 (Michael Petlan) [2003982] - perf/x86/intel/uncore: Fix integer overflow on 23 bit left shift of a u32 (Michael Petlan) [2003982] - perf/x86/intel/pt: Fix mask of num_address_ranges (Michael Petlan) [2003982] - perf/x86: Fix out of bound MSR access (Michael Petlan) [2003982] - perf/x86/cstate: Add ICELAKE_X and ICELAKE_D support (Michael Petlan) [2003982] - perf: MAP_EXECUTABLE does not indicate VM_MAYEXEC (Michael Petlan) [2003982] - arm64: perf: Simplify EVENT ATTR macro in perf_event.c (Michael Petlan) [2003982] - arm64: perf: Simplify the ARMv8 PMUv3 event attributes (Michael Petlan) [2003982] - arm64: perf: Remove unused macro (Michael Petlan) [2003982] - drivers/perf: Simplify EVENT ATTR macro in qcom_l2_pmu.c (Michael Petlan) [2003982] - drivers/perf: Simplify EVENT ATTR macro in qcom_l3_pmu.c (Michael Petlan) [2003982] - drivers/perf: Simplify EVENT ATTR macro in xgene_pmu.c (Michael Petlan) [2003982] - drivers/perf: convert sysfs sprintf family to sysfs_emit (Michael Petlan) [2003982] - drivers/perf: convert sysfs scnprintf family to sysfs_emit_at() and sysfs_emit() (Michael Petlan) [2003982] - perf: arm-ccn: Use scnprintf() for robustness (Michael Petlan) [2003982] - drivers/perf: convert sysfs snprintf family to sysfs_emit (Michael Petlan) [2003982] - perf: Add EVENT_ATTR_ID to simplify event attributes (Michael Petlan) [2003982] - perf/x86/intel: Fix instructions:ppp support in Sapphire Rapids (Michael Petlan) [2003982] - perf/x86/intel: Add more events requires FRONTEND MSR on Sapphire Rapids (Michael Petlan) [2003982] - perf/x86: Reset the dirty counter to prevent the leak for an RDPMC task (Michael Petlan) [2003982] - uprobes: Update uprobe_write_opcode() kernel-doc comment (Michael Petlan) [2003982] - perf/hw_breakpoint: Fix DocBook warnings in perf hw_breakpoint (Michael Petlan) [2003982] - perf/core: Fix DocBook warnings (Michael Petlan) [2003982] - perf/core: Make local function perf_pmu_snapshot_aux() static (Michael Petlan) [2003982] - perf/x86/intel/uncore: Enable I/O stacks to IIO PMON mapping on ICX (Michael Petlan) [2003982] - perf/x86/intel/uncore: Enable I/O stacks to IIO PMON mapping on SNR (Michael Petlan) [2003982] - perf/x86/intel/uncore: Generalize I/O stacks to PMON mapping procedure (Michael Petlan) [2003982] - perf/x86/intel/uncore: Drop unnecessary NULL checks after container_of() (Michael Petlan) [2003982] - x86/events/intel: Do not deploy TSX force abort workaround when TSX is deprecated (Michael Petlan) [2003982] - netpoll: don't require irqs disabled in rt kernels (Wander Lairson Costa) [1905440] - net/netif_receive_skb_core: Use migrate_disable() (Luis Claudio R. Goncalves) [2024168] - RDMA/qedr: Fix NULL deref for query_qp on the GSI QP (Kamal Heib) [2006260 1984280] - RDMA/core: Always release restrack object (Kamal Heib) [2006260] - RDMA/core: Fix incorrect print format specifier (Kamal Heib) [2006260] - RDMA: Remove rdma_set_device_sysfs_group() (Kamal Heib) [2006260] - RDMA/core: Allow port_groups to be used with namespaces (Kamal Heib) [2006260] - RDMA: Change ops->init_port to ops->port_groups (Kamal Heib) [2006260] - RDMA/hfi1: Use attributes for the port sysfs (Kamal Heib) [2006260 1989164] - RDMA/cm: Use an attribute_group on the ib_port_attribute intead of kobj's (Kamal Heib) [2006260] - RDMA/core: Expose the ib port sysfs attribute machinery (Kamal Heib) [2006260] - RDMA/core: Remove the kobject_uevent() NOP (Kamal Heib) [2006260] - RDMA/core: Create the device hw_counters through the normal groups mechanism (Kamal Heib) [2006260] - RDMA/core: Simplify how the port sysfs is created (Kamal Heib) [2006260] - RDMA/core: Simplify how the gid_attrs sysfs is created (Kamal Heib) [2006260] - RDMA/core: Split gid_attrs related sysfs from add_port() (Kamal Heib) [2006260] - RDMA/core: Split port and device counter sysfs attributes (Kamal Heib) [2006260] - RDMA/core: Replace the ib_port_data hw_stats pointers with a ib_port pointer (Kamal Heib) [2006260] - RDMA: Split the alloc_hw_stats() ops to port and device variants (Kamal Heib) [2006260] - RDMA/rxe: Zero out index member of struct rxe_queue (Kamal Heib) [2006260] - RDMA/efa: Free IRQ vectors on error flow (Kamal Heib) [2006260] - RDMA/rxe: Fix memory allocation while in a spin lock (Kamal Heib) [2006260] - IB/hfi1: Fix possible null-pointer dereference in _extend_sdma_tx_descs() (Kamal Heib) [2006260 1989164] - RDMA/rxe: Restore setting tot_len in the IPv4 header (Kamal Heib) [2006260] - RDMA/rxe: Use the correct size of wqe when processing SRQ (Kamal Heib) [2006260] - RDMA/cma: Revert INIT-INIT patch (Kamal Heib) [2006260] - RDMA/rxe: Fix memory leak in error path code (Kamal Heib) [2006260] - RDMA/rxe: Missing unlock on error in get_srq_wqe() (Kamal Heib) [2006260] - RDMA/cma: Fix rdma_resolve_route() memory leak (Kamal Heib) [2006260] - RDMA/core/sa_query: Remove unused argument (Kamal Heib) [2006260] - RDMA/cma: Fix incorrect Packet Lifetime calculation (Kamal Heib) [2006260] - RDMA/cma: Protect RMW with qp_mutex (Kamal Heib) [2006260] - RDMA/cma: Remove unnecessary INIT->INIT transition (Kamal Heib) [2006260] - RDMA/rxe: Fix redundant skb_put_zero (Kamal Heib) [2006260] - RDMA/rxe: Fix extra copy in prepare_ack_packet (Kamal Heib) [2006260] - RDMA/rxe: Fix over copying in get_srq_wqe (Kamal Heib) [2006260] - RDMA/rxe: Fix extra copies in build_rdma_network_hdr (Kamal Heib) [2006260] - RDMA/rxe: Fix redundant call to ip_send_check (Kamal Heib) [2006260] - RDMA/rxe: Fix useless copy in send_atomic_ack (Kamal Heib) [2006260] - RDMA/core: Use flexible array for mad data (Kamal Heib) [2006260] - RDMA/rxe: Don't overwrite errno from ib_umem_get() (Kamal Heib) [2006260] - IB/core: Shuffle locks in ib_port_data to save memory (Kamal Heib) [2006260] - IB/core: Removed port validity check from ib_get_cached_subnet_prefix (Kamal Heib) [2006260] - RDMA: Fix kernel-doc warnings about wrong comment (Kamal Heib) [2006260] - RDMA/rxe: Disallow MR dereg and invalidate when bound (Kamal Heib) [2006260] - RDMA/rxe: Implement memory access through MWs (Kamal Heib) [2006260] - RDMA/rxe: Implement invalidate MW operations (Kamal Heib) [2006260] - RDMA/rxe: Add support for bind MW work requests (Kamal Heib) [2006260] - RDMA/rxe: Move local ops to subroutine (Kamal Heib) [2006260] - RDMA/rxe: Replace WR_REG_MASK by WR_LOCAL_OP_MASK (Kamal Heib) [2006260] - RDMA/rxe: Add ib_alloc_mw and ib_dealloc_mw verbs (Kamal Heib) [2006260] - RDMA/rxe: Enable MW object pool (Kamal Heib) [2006260] - RDMA/rxe: Return errors for add index and key (Kamal Heib) [2006260] - RDMA/rxe: Add bind MW fields to rxe_send_wr (Kamal Heib) [2006260] - RDMA/rxe: Fix qp reference counting for atomic ops (Kamal Heib) [2006260] - IB/cm: Remove dgid from the cm_id_priv av (Kamal Heib) [2006260] - RDMA/core: Use refcount_t instead of atomic_t on refcount of ib_uverbs_device (Kamal Heib) [2006260] - RDMA/ipoib: Use refcount_t instead of atomic_t for reference counting (Kamal Heib) [2006260] - RDMA/core: Use refcount_t instead of atomic_t on refcount of mcast_port (Kamal Heib) [2006260] - RDMA/core: Use refcount_t instead of atomic_t on refcount of mcast_member (Kamal Heib) [2006260] - RDMA/core: Remove refcount from struct ib_mad_snoop_private (Kamal Heib) [2006260] - RDMA/core: Use refcount_t instead of atomic_t on refcount of iwpm_admin_data (Kamal Heib) [2006260] - RDMA/core: Use refcount_t instead of atomic_t on refcount of iwcm_id_private (Kamal Heib) [2006260] - RDMA/rxe: Protext kernel index from user space (Kamal Heib) [2006260] - RDMA/rxe: Protect user space index loads/stores (Kamal Heib) [2006260] - RDMA/rxe: Add a type flag to rxe_queue structs (Kamal Heib) [2006260] - IB/cm: Protect cm_dev, cm_ports and mad_agent with kref and lock (Kamal Heib) [2006260] - IB/cm: Improve the calling of cm_init_av_for_lap and cm_init_av_by_path (Kamal Heib) [2006260] - IB/cm: Simplify ib_cancel_mad() and ib_modify_mad() calls (Kamal Heib) [2006260] - Revert "IB/cm: Mark stale CM id's whenever the mad agent was unregistered" (Kamal Heib) [2006260] - IB/cm: Tidy remaining cm_msg free paths (Kamal Heib) [2006260] - IB/cm: Call the correct message free functions in cm_send_handler() (Kamal Heib) [2006260] - IB/cm: Split cm_alloc_msg() (Kamal Heib) [2006260] - IB/cm: Pair cm_alloc_response_msg() with a cm_free_response_msg() (Kamal Heib) [2006260] - RDMA/core: Sanitize WQ state received from the userspace (Kamal Heib) [2006260] - RDMA/srp: Use DEVICE_ATTR_*() macros (Kamal Heib) [2006260] - RDMA/core: Use the DEVICE_ATTR_RO macro (Kamal Heib) [2006260] - IB/ipoib: Use DEVICE_ATTR_*() macros (Kamal Heib) [2006260] - IB/core: Only update PKEY and GID caches on respective events (Kamal Heib) [2006260] - RDMA/srp: Fix a recently introduced memory leak (Kamal Heib) [2006260] - RDMA/srp: Add more structure size checks (Kamal Heib) [2006260] - IB/hfi1: Move a function from a header file into a .c file (Kamal Heib) [2006260 1989164] - IB/hfi1: Remove the repeated declaration (Kamal Heib) [2006260 1989164] - IB/hfi1: Delete an unneeded bool conversion (Kamal Heib) [2006260 1989164] - RDMA: Remove unnecessary struct declaration (Kamal Heib) [2006260] - RDMA/core: Remove never used ib_modify_wq function call (Kamal Heib) [2006260] - IB/srpt: Remove redundant assignment to ret (Kamal Heib) [2006260] - RDMA/ucma: Cleanup to reduce duplicate code (Kamal Heib) [2006260] - RDMA/umem: batch page unpin in __ib_umem_release() (Kamal Heib) [2006259] - RDMA/rxe: Return CQE error if invalid lkey was supplied (Kamal Heib) [2006259] - RDMA/nldev: Add copy-on-fork attribute to get sys command (Kamal Heib) [2006259] - IB/hfi1: Remove redundant variable rcd (Kamal Heib) [2006259 1989164] - RDMA/nldev: Add QP numbers to SRQ information (Kamal Heib) [2006259] - RDMA/nldev: Return SRQ information (Kamal Heib) [2006259] - RDMA/restrack: Add support to get resource tracking for SRQ (Kamal Heib) [2006259] - RDMA/nldev: Return context information (Kamal Heib) [2006259] - RDMA/cma: Skip device which doesn't support CM (Kamal Heib) [2006259 1957239] - IB/ipoib: Remove unnecessary struct declaration (Kamal Heib) [2006259] - IB/ipoib: Improve latency in ipoib/cm connection formation (Kamal Heib) [2006259] - RDMA/ipoib: Print a message if only child interface is UP (Kamal Heib) [2006259] - RDMA/uverbs: Make UVERBS_OBJECT_METHODS to consider line number (Kamal Heib) [2006259] - IB/hfi1: Rework AIP and VNIC dummy netdev usage (Kamal Heib) [2006259 1989164] - IB/cma: Introduce rdma_set_min_rnr_timer() (Kamal Heib) [2006259] - RDMA/core: Correct format of block comments (Kamal Heib) [2006259] - RDMA/core: Correct format of braces (Kamal Heib) [2006259] - RDMA/core: Remove redundant spaces (Kamal Heib) [2006259] - RDMA/core: Add necessary spaces (Kamal Heib) [2006259] - RDMA/core: Remove the redundant return statements (Kamal Heib) [2006259] - RDMA/core: Print the function name by __func__ instead of an fixed string (Kamal Heib) [2006259] - RDMA/rxe: Fix missing acks from responder (Kamal Heib) [2006259] - RDMA/core: Make the wc status prompt message clearer (Kamal Heib) [2006259] - IB/hfi1: Remove indirect call to hfi1_ipoib_send_dma() (Kamal Heib) [2006259 1989164] - IB/hfi1: Use napi_schedule_irqoff() for tx napi (Kamal Heib) [2006259 1989164] - IB/hfi1: Correct oversized ring allocation (Kamal Heib) [2006259 1989164] - IB/{ipoib,hfi1}: Add a timeout handler for rdma_netdev (Kamal Heib) [2006259 1989164] - IB/hfi1: Add AIP tx traces (Kamal Heib) [2006259 1989164] - RDMA/uverbs: Fix -Wunused-function warning (Kamal Heib) [2006259] - RDMA/iser: struct iscsi_iser_task is declared twice (Kamal Heib) [2006259] - RDMA/rxe: Split MEM into MR and MW (Kamal Heib) [2006259] - RDMA/efa: Use strscpy instead of strlcpy (Kamal Heib) [2006259] - RDMA: Fix a typo (Kamal Heib) [2006259] - IB/hfi1: Fix a typo (Kamal Heib) [2006259 1989164] - RDMA/core: Correct misspellings of two words in comments (Kamal Heib) [2006259] - RDMA/uverbs: Refactor rdma_counter_set_auto_mode and __counter_set_mode (Kamal Heib) [2006259] - RDMA: Support more than 255 rdma ports (Kamal Heib) [2006259 1957239] - RDMA/include: Mundane typo fixes throughout the file (Kamal Heib) [2006259] - RDMA/cma: Remove unused leftovers in cma code (Kamal Heib) [2006259] - RDMA: Fix kernel-doc compilation warnings (Kamal Heib) [2006259] - RDMA/hw/i40iw/i40iw_virtchnl: Fix a bunch of kernel-doc issues (Kamal Heib) [2006259] - RDMA/hw/i40iw/i40iw_utils: Fix some misspellings and missing param descriptions (Kamal Heib) [2006259] - IB/core: Split uverbs_get_const/default to consider target type (Kamal Heib) [2006259] - IB/core: Drop WARN_ON() from ib_umem_find_best_pgsz() (Kamal Heib) [2006259] - RDMA/core: Remove unused req_ncomp_notif device operation (Kamal Heib) [2006259] - RDMA/iwcm: Allow AFONLY binding for IPv6 addresses (Kamal Heib) [2006259] - IB/hfi1: switch to core handling of rx/tx byte/packet counters (Kamal Heib) [2006259 1989164] - RDMA: Convert various random sprintf sysfs _show uses to sysfs_emit (Kamal Heib) [2006259] - RDMA: Manual changes for sysfs_emit and neatening (Kamal Heib) [2006259] - RDMA: Convert sysfs device * show functions to use sysfs_emit() (Kamal Heib) [2006259] - IB/hfi1: use new function dev_fetch_sw_netstats (Kamal Heib) [2006259 1989164] - RDMA/ipoib: Convert to use DEFINE_SEQ_ATTRIBUTE macro (Kamal Heib) [2006259] - include/linux/seq_file.h: introduce DEFINE_SEQ_ATTRIBUTE() helper macro (Kamal Heib) [2006259] - ibmvnic: delay complete() (Diego Domingos) [2019210] - ibmvnic: Process crqs after enabling interrupts (Diego Domingos) [2019210] - Documentation: sysrq: update description about sysrq crash (Chris von Recklinghausen) [2019943] - sysrq: Use panic() to force a crash (Chris von Recklinghausen) [2019943] - ethtool: extend coalesce setting uAPI with CQE mode (Ivan Vecera) [2006829] - ethtool: add two coalesce attributes for CQE mode (Ivan Vecera) [2006829] - ice: Add support for VF rate limiting (Jonathan Toppins) [1973187] - net: Prevent infinite while loop in skb_tx_hash() (Paolo Abeni) [2018437] - napi: fix race inside napi_enable (Paolo Abeni) [2018437] - net/af_unix: fix a data-race in unix_dgram_poll (Paolo Abeni) [2018437] - devlink: Clear whole devlink_flash_notify struct (Paolo Abeni) [2018437] - net: linkwatch: fix failure to restore device state across suspend/resume (Paolo Abeni) [2018437] - gro: fix napi_gro_frags() Fast GRO breakage due to IP alignment check (Paolo Abeni) [2018437] - gro: ensure frag0 meets IP header alignment (Paolo Abeni) [2018437] - net: core: allow fast GRO for skbs with Ethernet header in head (Paolo Abeni) [2018437] - udp: fix skb_copy_and_csum_datagram with odd segment sizes (Paolo Abeni) [2018437] - skbuff: back tiny skbs with kmalloc() in __netdev_alloc_skb() too (Paolo Abeni) [2018437] - selftests/net: remove min gso test in packet_snd (Paolo Abeni) [2018437] - net: be more gentle about silly gso requests coming from user (Paolo Abeni) [2018437] - virtio_net: Do not pull payload in skb->head (Paolo Abeni) [2018437] - net: check untrusted gso_size at kernel entry (Paolo Abeni) [2018437] - net: stricter validation of untrusted gso packets$ (Paolo Abeni) [2018437] - net: avoid 32 x truesize under-estimation for tiny skbs (Paolo Abeni) [2018437] - ionic: no devlink_unregister if not registered (Jonathan Toppins) [2016705] - ionic: tame the filter no space message (Jonathan Toppins) [2016705 1959512 2002943] - ionic: allow adminq requests to override default error message (Jonathan Toppins) [2016705 1959512 2002943] - ionic: handle vlan id overflow (Jonathan Toppins) [2016705 1959512 2002943] - ionic: generic filter delete (Jonathan Toppins) [2016705 1959512 2002943] - ionic: generic filter add (Jonathan Toppins) [2016705 1959512 2002943] - ionic: add generic filter search (Jonathan Toppins) [2016705 1959512 2002943] - ionic: remove mac overflow flags (Jonathan Toppins) [2016705 1959512 2002943] - ionic: move lif mac address functions (Jonathan Toppins) [2016705 1959512 2002943] - ionic: add filterlist to debugfs (Jonathan Toppins) [2016705 1959512 2002943] - ionic: don't remove netdev->dev_addr when syncing uc list (Jonathan Toppins) [2016705 2012030] - ionic: move filter sync_needed bit set (Jonathan Toppins) [2016705] - ionic: add lif param to ionic_qcq_disable (Jonathan Toppins) [2016705] - ionic: have ionic_qcq_disable decide on sending to hardware (Jonathan Toppins) [2016705] - ionic: add polling to adminq wait (Jonathan Toppins) [2016705] - ionic: widen queue_lock use around lif init and deinit (Jonathan Toppins) [2016705] - ionic: move lif mutex setup and delete (Jonathan Toppins) [2016705] - ionic: check for binary values in FW ver string (Jonathan Toppins) [2016705] - ionic: remove debug stats (Jonathan Toppins) [2016705] - ionic: fix gathering of debug stats (Jonathan Toppins) [2016705] - ionic: fix a sleeping in atomic bug (Jonathan Toppins) [2016705] - ionic: fix double use of queue-lock (Jonathan Toppins) [2016705] - ionic: recreate hwstamp queues on ifup (Jonathan Toppins) [2016705 1981590] - ionic: pull hwstamp queue_lock up a level (Jonathan Toppins) [2016705 1981590] - ionic: add queue lock around open and stop (Jonathan Toppins) [2016705 1981590] - ionic: fill mac addr earlier in add_addr (Jonathan Toppins) [2016705 1981590] - ionic: squelch unnecessary fw halted message (Jonathan Toppins) [2016705 1981590] - ionic: fire watchdog again after fw_down (Jonathan Toppins) [2016705 1981590] - ionic: handle mac filter overflow (Jonathan Toppins) [2016705 1981590] - ionic: refactor ionic_lif_addr to remove a layer (Jonathan Toppins) [2016705 1981590] - ionic: sync the filters in the work task (Jonathan Toppins) [2016705 1981590] - ionic: flatten calls to set-rx-mode (Jonathan Toppins) [2016705 1981590] - ionic: remove old work task types (Jonathan Toppins) [2016705 1981590] - ionic: add function tag to debug string (Jonathan Toppins) [2016705] - ionic: enable rxhash only with multiple queues (Jonathan Toppins) [2016705] - ionic: block some ethtool operations when fw in reset (Jonathan Toppins) [2016705] - ionic: remove unneeded comp union fields (Jonathan Toppins) [2016705] - ionic: increment num-vfs before configure (Jonathan Toppins) [2016705] - ionic: use fewer inits on the buf_info struct (Jonathan Toppins) [2016705] - ionic: init reconfig err to 0 (Jonathan Toppins) [2016705] - ionic: print firmware version on identify (Jonathan Toppins) [2016705] - ionic: monitor fw status generation (Jonathan Toppins) [2016705] - ionic: minimize resources when under kdump (Jonathan Toppins) [2016705] - ionic: cleanly release devlink instance (Jonathan Toppins) [2016705] - ionic: drop useless check of PCI driver data validity (Jonathan Toppins) [2016705] - ionic: Remove unused function pointer typedef ionic_reset_cb (Jonathan Toppins) [2016705] - ACPI: Use fwnode_init() to set up fwnode (Mark Langsdorf) [1982374] - device property: Add missed header in fwnode.h (Mark Langsdorf) [1982374] - regmap: set debugfs_name to NULL after it is freed (Mark Langsdorf) [1982374] - mfd: cpcap: Fix interrupt regression with regmap clear_ack (Mark Langsdorf) [1982374] - driver core: Fix device link device name collision (Mark Langsdorf) [1982374] - driver core: Extend device_is_dependent() (Mark Langsdorf) [1982374] - device property: add description of fwnode cases (Mark Langsdorf) [1982374] - Revert "device property: Keep secondary firmware node secondary by type" (Mark Langsdorf) [1982374] - regmap: debugfs: Fix a reversed if statement in regmap_debugfs_init() (Mark Langsdorf) [1982374] - regmap: debugfs: Fix a memory leak when calling regmap_attach_dev (Mark Langsdorf) [1982374] - driver core: platform: Add extra error check in devm_platform_get_irqs_affinity() (Mark Langsdorf) [1982374] - driver core: platform: don't oops in platform_shutdown() on unbound devices (Mark Langsdorf) [1982374] - PM: domains: create debugfs nodes when adding power domains (Mark Langsdorf) [1982374] - driver core: platform: Add devm_platform_get_irqs_affinity() (Mark Langsdorf) [1982374] - platform-msi: Track shared domain allocation (Mark Langsdorf) [1982374] - driver core: platform: Introduce platform_get_mem_or_io() (Mark Langsdorf) [1982374] - soc: fix comment for freeing soc_dev_attr (Mark Langsdorf) [1982374] - driver core: platform: use bus_type functions (Mark Langsdorf) [1982374] - driver core: platform: change logic implementing platform_driver_probe (Mark Langsdorf) [1982374] - driver core: platform: reorder functions (Mark Langsdorf) [1982374] - driver core: make driver_probe_device() static (Mark Langsdorf) [1982374] - driver core: Fix a couple of typos (Mark Langsdorf) [1982374] - driver core: Refactor fw_devlink feature (Mark Langsdorf) [1982374] - efi: Update implementation of add_links() to create fwnode links (Mark Langsdorf) [1982374] - of: property: Update implementation of add_links() to create fwnode links (Mark Langsdorf) [1982374] - driver core: Use device's fwnode to check if it is waiting for suppliers (Mark Langsdorf) [1982374] - driver core: Add fw_devlink_parse_fwtree() (Mark Langsdorf) [1982374] - driver core: Redefine the meaning of fwnode_operations.add_links() (Mark Langsdorf) [1982374] - device property: Add fwnode_is_ancestor_of() and fwnode_get_next_parent_dev() (Mark Langsdorf) [1982374] - driver core: Allow only unprobed consumers for SYNC_STATE_ONLY device links (Mark Langsdorf) [1982374] - driver core: Add fwnode link support (Mark Langsdorf) [1982374] - driver core: Add fwnode_init() (Mark Langsdorf) [1982374] - Revert "[base] driver core: fw_devlink: Add support for batching fwnode parsing" (Mark Langsdorf) [1982374] - Revert "[base] driver core: Remove check in driver_deferred_probe_force_trigger()" (Mark Langsdorf) [1982374] - Revert "[base] driver core: Don't do deferred probe in parallel with kernel_init thread" (Mark Langsdorf) [1982374] - Revert "[base] driver core: Rename dev_links_info.defer_sync to defer_hook" (Mark Langsdorf) [1982374] - Revert "[base] driver core: Avoid deferred probe due to fw_devlink_pause/resume()" (Mark Langsdorf) [1982374] - regmap: Remove duplicate `type` field from regmap `regcache_sync` trace event (Mark Langsdorf) [1982374] - PM: sleep: Add dev_wakeup_path() helper (Mark Langsdorf) [1982374] - regmap: Fix order of regmap write log (Mark Langsdorf) [1982374] - regmap: use less #ifdef for LOG_DEVICE (Mark Langsdorf) [1982374] - PM: domains: Enable dev_pm_genpd_suspend|resume() for suspend-to-idle (Mark Langsdorf) [1982374] - PM: domains: Rename pm_genpd_syscore_poweroff|poweron() (Mark Langsdorf) [1982374] - PM: sleep: Print driver flags for all devices during suspend/resume (Mark Langsdorf) [1982374] - driver core: Fix lockdep warning on wfs_lock (Mark Langsdorf) [1982374] - regmap: irq: Convert to use irq_domain_create_legacy() (Mark Langsdorf) [1982374] - irqdomain: Introduce irq_domain_create_legacy() API (Mark Langsdorf) [1982374] - irqdomain: Replace open coded of_node_to_fwnode() (Mark Langsdorf) [1982374] - irqdomain: Add forward declaration of fwnode_handle (Mark Langsdorf) [1982374] - irqdomain: Remove unused of_device_id forward declaration (Mark Langsdorf) [1982374] - regmap-irq: use fwnode instead of device node in add_irq_chip() (Mark Langsdorf) [1982374] - regmap: mmio: add config option to allow relaxed MMIO accesses (Mark Langsdorf) [1982374] - PM: sleep: remove unreachable break (Mark Langsdorf) [1982374] - PM: domains: enable domain idle state accounting (Mark Langsdorf) [1982374] - PM: domains: Add curly braces to delimit comment + statement block (Mark Langsdorf) [1982374] - PM: domains: Add support for PM domain on/off notifiers for genpd (Mark Langsdorf) [1982374] - PM / Domains: Simplify genpd_lookup_dev() (Mark Langsdorf) [1982374] - regmap: irq: Add support to clear ack registers (Mark Langsdorf) [1982374] - PM: domains: Allow to abort power off when no ->power_off() callback (Mark Langsdorf) [1982374] - PM: domains: Rename power state enums for genpd (Mark Langsdorf) [1982374] - regmap: debugfs: use semicolons rather than commas to separate statements (Mark Langsdorf) [1982374] - drivers core: node: Use a more typical macro definition style for ACCESS_ATTR (Mark Langsdorf) [1982374] - drivers core: Use sysfs_emit for shared_cpu_map_show and shared_cpu_list_show (Mark Langsdorf) [1982374] - efi: Rename arm-init to efi-init common for all arch (Mark Langsdorf) [1982374] - efi/arm: Defer probe of PCIe backed efifb on DT systems (Mark Langsdorf) [1982374] - net/smc: improved fix wait on already cleared link (Sumanth Korikkar) [1984991] - net/smc: fix 'workqueue leaked lock' in smc_conn_abort_work (Sumanth Korikkar) [1984991] - net/smc: add missing error check in smc_clc_prfx_set() (Sumanth Korikkar) [1984991] - net/smc: Correct smc link connection counter in case of smc client (Sumanth Korikkar) [1984991] - net/smc: fix wait on already cleared link (Sumanth Korikkar) [1984991] - KVM: s390: Fix handle_sske page fault handling (Thomas Huth) [2022731] - KVM: s390: Simplify SIGP Set Arch handling (Thomas Huth) [2022731] - KVM: s390: pv: avoid stalls when making pages secure (Thomas Huth) [2022731] - KVM: s390: pv: avoid stalls for kvm_s390_pv_init_vm (Thomas Huth) [2022731] - KVM: s390: pv: avoid double free of sida page (Thomas Huth) [2022731] - KVM: s390: pv: add macros for UVC CC values (Thomas Huth) [2022731] - s390/uv: fully validate the VMA before calling follow_page() (Thomas Huth) [2022731] - s390/gmap: don't unconditionally call pte_unmap_unlock() in __gmap_zap() (Thomas Huth) [2022731] - s390/gmap: validate VMA in __gmap_zap() (Thomas Huth) [2022731] - KVM: s390: preserve deliverable_mask in __airqs_kick_single_vcpu (Thomas Huth) [2022731] - KVM: s390: clear kicked_mask before sleeping again (Thomas Huth) [2022731] - KVM: s390: Function documentation fixes (Thomas Huth) [2022731] - s390/mm: fix kernel doc comments (Thomas Huth) [2022731] - KVM: s390: index kvm->arch.idle_mask by vcpu_idx (Thomas Huth) [2022731] - KVM: s390: generate kvm hypercall functions (Thomas Huth) [2022731] - KVM: Rename lru_slot to last_used_slot (Thomas Huth) [2022731] - s390: mm: Fix secure storage access exception handling (Thomas Huth) [2022731] - virtio/s390: get rid of open-coded kvm hypercall (Thomas Huth) [2022731] - KVM: s390: get rid of register asm usage (Thomas Huth) [2022731] - powerpc/vas: Fix potential NULL pointer dereference (Steve Best) [1907522] - powerpc/pseries/vas: Declare pseries_vas_fault_thread_fn() as static (Steve Best) [1907522] - crypto/nx: Register and unregister VAS interface on PowerVM (Steve Best) [1907522] - crypto/nx: Add sysfs interface to export NX capabilities (Steve Best) [1907522] - crypto/nx: Get NX capabilities for GZIP coprocessor type (Steve Best) [1907522] - crypto/nx: Rename nx-842-pseries file name to nx-common-pseries (Steve Best) [1907522] - powerpc/pseries/vas: Setup IRQ and fault handling (Steve Best) [1907522] - powerpc/pseries/vas: Integrate API with open/close windows (Steve Best) [1907522] - powerpc/pseries/vas: Implement getting capabilities from hypervisor (Steve Best) [1907522] - powerpc/pseries/vas: Add hcall wrappers for VAS handling (Steve Best) [1907522] - powerpc/vas: Define QoS credit flag to allocate window (Steve Best) [1907522] - powerpc/pseries/vas: Define VAS/NXGZIP hcalls and structs (Steve Best) [1907522] - powerpc/vas: Define and use common vas_window struct (Steve Best) [1907522] - powerpc/powernv: no need to check return value of debugfs_create functions (Steve Best) [1907522] - powerpc/vas: Move update_csb/dump_crb to common book3s platform (Steve Best) [1907522] - powerpc/vas: Create take/drop pid and mm reference functions (Steve Best) [1907522] - powerpc/vas: Add platform specific user window operations (Steve Best) [1907522] - powerpc/powernv/vas: Rename register/unregister functions (Steve Best) [1907522] - powerpc/vas: Move VAS API to book3s common platform (Steve Best) [1907522] - powerpc/powernv/vas: Release reference to tgid during window close (Steve Best) [1907522] - powerpc/pseries: Prevent free CPU ids being reused on another node (Desnes A. Nunes do Rosario) [2004808] - powerpc/numa: Consider the max NUMA node for migratable LPAR (Desnes A. Nunes do Rosario) [2004808]- zram: replace fsync_bdev with sync_blockdev (Ming Lei) [2015755] - zram: avoid race between zram_remove and disksize_store (Ming Lei) [2015755] - zram: don't fail to remove zram during unloading module (Ming Lei) [2015755] - zram: fix race between zram_reset_device() and disksize_store() (Ming Lei) [2015755] - zram: register default groups with device_add_disk() (Ming Lei) [2015755] - hyperv/vmbus: include linux/bitops.h (Mohammed Gamal) [2008565] - hv: vmbus: Avoid -Werror=maybe-uninitialized error (Mohammed Gamal) [2008565] - Drivers: hv: vmbus: Fix kernel crash upon unbinding a device from uio_hv_generic driver (Mohammed Gamal) [2008565] - Drivers: hv: vmbus: Fix duplicate CPU assignments within a device (Mohammed Gamal) [2008565] - drivers: hv: Fix missing error code in vmbus_connect() (Mohammed Gamal) [2008565] - hv_utils: Fix passing zero to 'PTR_ERR' warning (Mohammed Gamal) [2008565] - ice: Fix VF true promiscuous mode (Jonathan Toppins) [1970643] - ice: Remove toggling of antispoof for VF trusted promiscuous mode (Jonathan Toppins) [1970643] - ice: Fix replacing VF hardware MAC to existing MAC filter (Jonathan Toppins) [1970643] - ice: Fix not stopping Tx queues for VFs (Jonathan Toppins) [1970643] - ice: Fix race conditions between virtchnl handling and VF ndo ops (Jonathan Toppins) [1970643] - ice: move ice_container_type onto ice_ring_container (Jonathan Toppins) [1970643] - ice: remove ring_active from ice_ring (Jonathan Toppins) [1970643] - ice: Print the api_patch as part of the fw.mgmt.api (Jonathan Toppins) [1970643] - ice: Avoid crash from unnecessary IDA free (Jonathan Toppins) [1970643] - ice: Fix failure to re-add LAN/RDMA Tx queues (Jonathan Toppins) [1970643] - ice: Add missing E810 device ids (Jonathan Toppins) [1970643] - ice: fix locking for Tx timestamp tracking flush (Jonathan Toppins) [1970643] - ice: Delete always true check of PF pointer (Jonathan Toppins) [1970643] - ice: Correctly deal with PFs that do not support RDMA (Jonathan Toppins) [1970643] - ice: add lock around Tx timestamp tracker flush (Jonathan Toppins) [1970643] - ice: remove dead code for allocating pin_config (Jonathan Toppins) [1970643] - ice: do not abort devlink info if board identifier can't be found (Jonathan Toppins) [1970643] - ice: Fix a memory leak in an error handling path in 'ice_pf_dcb_cfg()' (Jonathan Toppins) [1970643] - ice: remove unnecessary VSI assignment (Jonathan Toppins) [1970643] - ice: remove the VSI info from previous agg (Jonathan Toppins) [1970643] - ice: add tracepoints (Jonathan Toppins) [1970643] - ice: report hash type such as L2/L3/L4 (Jonathan Toppins) [1970643] - ice: remove redundant continue statement in a for-loop (Jonathan Toppins) [1970643] - net: ice: ptp: fix compilation warning if PTP_1588_CLOCK is disabled (Jonathan Toppins) [1970643] - ice: remove unnecessary NULL checks before ptp_read_system_* (Jonathan Toppins) [1970643] - ice: Remove the repeated declaration (Jonathan Toppins) [1970643] - ice: remove local variable (Jonathan Toppins) [1970643] - ice: reduce scope of variables (Jonathan Toppins) [1970643] - ice: mark PTYPE 2 as reserved (Jonathan Toppins) [1970643] - ice: fix incorrect payload indicator on PTYPE (Jonathan Toppins) [1970643] - ice: parameterize functions responsible for Tx ring management (Jonathan Toppins) [1970643] - ice: add ndo_bpf callback for safe mode netdev ops (Jonathan Toppins) [1970643] - ice: fix clang warning regarding deadcode.DeadStores (Jonathan Toppins) [1970643] - ice: downgrade error print to debug print (Jonathan Toppins) [1970643] - ice: Detect and report unsupported module power levels (Jonathan Toppins) [1970643] - ice: (re)initialize NVM fields when rebuilding (Jonathan Toppins) [1970643] - ice: wait for reset before reporting devlink info (Jonathan Toppins) [1970643] - ice: add error message when pldmfw_flash_image fails (Jonathan Toppins) [1970643] - ice: add extack when unable to read device caps (Jonathan Toppins) [1970643] - ice: use static inline for dummy functions (Jonathan Toppins) [1970643] - ice: Re-organizes reqstd/avail {R, T}XQ check/code for efficiency (Jonathan Toppins) [1970643] - ice: set the value of global config lock timeout longer (Jonathan Toppins) [1970643] - ice: Refactor VIRTCHNL_OP_CONFIG_VSI_QUEUES handling (Jonathan Toppins) [1970643] - ice: Refactor ice_setup_rx_ctx (Jonathan Toppins) [1970643] - ice: Save VF's MAC across reboot (Jonathan Toppins) [1970643] - ice: Manage VF's MAC address for both legacy and new cases (Jonathan Toppins) [1970643] - ice: Register auxiliary device to provide RDMA (Jonathan Toppins) [1970643] - ice: Implement iidc operations (Jonathan Toppins) [1970643] - virtchnl: Use pad byte in virtchnl_ether_addr to specify MAC type (Jonathan Toppins) [1970643] - iidc: Introduce iidc.h (Jonathan Toppins) [1970643] - ice: Initialize RDMA support (Jonathan Toppins) [1970643] - ice: Respond to a NETDEV_UNREGISTER event for LAG (Jonathan Toppins) [1970643] - Revert "Revert "ice: Add initial support framework for LAG"" (Jonathan Toppins) [1970643] - ice: reduce scope of variable (Jonathan Toppins) [1970643] - ice: remove return variable (Jonathan Toppins) [1970643] - ice: suppress false cppcheck issues (Jonathan Toppins) [1970643] - ice: Set vsi->vf_id as ICE_INVAL_VFID for non VF VSI types (Jonathan Toppins) [1970643] - ice: remove unused struct member (Jonathan Toppins) [1970643] - ice: use local for consistency (Jonathan Toppins) [1970643] - ice: print name in /proc/iomem (Jonathan Toppins) [1970643] - ice: Reimplement module reads used by ethtool (Jonathan Toppins) [1970643] - ice: refactor ITR data structures (Jonathan Toppins) [1970643] - ice: manage interrupts during poll exit (Jonathan Toppins) [1970643] - ice: replace custom AIM algorithm with kernel's DIM library (Jonathan Toppins) [1970643] - ice: refactor interrupt moderation writes (Jonathan Toppins) [1970643] - ice: Add new VSI states to track netdev alloc/registration (Jonathan Toppins) [1970643] - ice: Drop leading underscores in enum ice_pf_state (Jonathan Toppins) [1970643] - ice: use kernel definitions for IANA protocol ports and ether-types (Jonathan Toppins) [1970643] - ice: Remove unnecessary blank line (Jonathan Toppins) [1970643] - ice: Remove unnecessary checks in add/kill_vid ndo ops (Jonathan Toppins) [1970643] - ice: Remove rx_gro_dropped stat (Jonathan Toppins) [1970643] - ice: Use local variable instead of pointer derefs (Jonathan Toppins) [1970643] - ice: Remove unnecessary variable (Jonathan Toppins) [1970643] - ice: Limit forced overrides based on FW version (Jonathan Toppins) [1970643] - ice: Use default configuration mode for PHY configuration (Jonathan Toppins) [1970643] - ice: Replace some memsets and memcpys with assignment (Jonathan Toppins) [1970643] - ice: Fix error return codes in ice_set_link_ksettings (Jonathan Toppins) [1970643] - ice: Rename a couple of variables (Jonathan Toppins) [1970643] - ice: Remove unnecessary checker loop (Jonathan Toppins) [1970643] - ice: Ignore EMODE return for opcode 0x0605 (Jonathan Toppins) [1970643] - ice: Align macro names to the specification (Jonathan Toppins) [1970643] - ice: Modify recursive way of adding nodes (Jonathan Toppins) [1970643] - ice: Re-send some AQ commands, as result of EBUSY AQ error (Jonathan Toppins) [1970643] - ice: Correct comment block style (Jonathan Toppins) [1970643] - ice: cleanup style issues (Jonathan Toppins) [1970643] - ice: rename ptype bitmap (Jonathan Toppins) [1970643] - ice: correct memory allocation call (Jonathan Toppins) [1970643] - ice: Check for bail out condition early (Jonathan Toppins) [1970643] - ice: remove unnecessary duplicated AQ command flag setting (Jonathan Toppins) [1970643] - ice: change link misconfiguration message (Jonathan Toppins) [1970643] - ice: Update to use package info from ice segment (Jonathan Toppins) [1970643] - ice: Delay netdev registration (Jonathan Toppins) [1970643] - ice: Add Support for XPS (Jonathan Toppins) [1970643] - ice: Fix fall-through warnings for Clang (Jonathan Toppins) [1970643] - ice: Fix prototype warnings (Jonathan Toppins) [1970643] - ice: move headroom initialization to ice_setup_rx_ctx (Jonathan Toppins) [1970643] - ice: store the result of ice_rx_offset() onto ice_ring (Jonathan Toppins) [1970643] - sched/core: Mitigate race cpus_share_cache()/update_top_cache_domain() (Phil Auld) [2011436] - sched/fair: Prevent dead task groups from regaining cfs_rq's (Phil Auld) [2011436] - sched/fair: Removed useless update of p->recent_used_cpu (Phil Auld) [2011436] - sched: Always inline is_percpu_thread() (Phil Auld) [2011436] - sched/fair: Add ancestors of unthrottled undecayed cfs_rq (Phil Auld) [2011436] - sched: Remove unused inline function __rq_clock_broken() (Phil Auld) [2011436] - sched: Prevent balance_push() on remote runqueues (Phil Auld) [2011436] - cpumask/hotplug: Fix cpu_dying() state tracking (Phil Auld) [2011436] - sched: Use cpu_dying() to fix balance_push vs hotplug-rollback (Phil Auld) [2011436] - cpumask: Introduce DYING mask (Phil Auld) [2011436] - cpumask: Make cpu_{online,possible,present,active}() inline (Phil Auld) [2011436] - cpu/hotplug: Cache number of online CPUs (Phil Auld) [2011436] - sched: Switch wait_task_inactive to HRTIMER_MODE_REL_HARD (Phil Auld) [2011436] - psi: Fix race between psi_trigger_create/destroy (Phil Auld) [2011436] - sctp: add vtag check in sctp_sf_ootb (Xin Long) [2001767] - sctp: add vtag check in sctp_sf_do_8_5_1_E_sa (Xin Long) [2001767] - sctp: add vtag check in sctp_sf_violation (Xin Long) [2001767] - sctp: fix the processing for COOKIE_ECHO chunk (Xin Long) [2001767] - sctp: fix the processing for INIT_ACK chunk (Xin Long) [2001767] - sctp: fix the processing for INIT chunk (Xin Long) [2001767] - sctp: use init_tag from inithdr for ABORT chunk (Xin Long) [2001767]- KVM: arm64: Extract ESR_ELx.EC only (Gavin Shan) [2008070] - KVM: arm64: vgic-v3: Align emulated cpuif LPI state machine with the pseudocode (Gavin Shan) [2008070] - KVM: arm64: vgic-v3: Don't advertise ICC_CTLR_EL1.SEIS (Gavin Shan) [2008070] - KVM: arm64: Fix reporting of endianess when the access originates at EL0 (Gavin Shan) [2008070] - KVM: arm64: Trim guest debug exception handling (Gavin Shan) [2008070] - KVM: arm64: Upgrade VMID accesses to {READ,WRITE}_ONCE (Gavin Shan) [2008070] - KVM: arm64: vgic: Drop WARN from vgic_get_irq (Gavin Shan) [2008070] - KVM: arm64: Enforce reserved bits for PSCI target affinities (Gavin Shan) [2008070] - KVM: arm64: Handle PSCI resets before userspace touches vCPU state (Gavin Shan) [2008070] - KVM: arm64: Fix read-side race on updates to vcpu reset state (Gavin Shan) [2008070] - KVM: arm64: Restore PMU configuration on first run (Gavin Shan) [2008070] - KVM: arm64: Don't zero the cycle count register when PMCR_EL0.P is set (Gavin Shan) [2008070] - KVM: arm64: Prevent mixed-width VM creation (Gavin Shan) [2008070] - KVM: arm64: Fix debug register indexing (Gavin Shan) [2008070] - KVM: arm64: Reject VM creation when the default IPA size is unsupported (Gavin Shan) [2008070] - KVM: arm64: Limit the debug architecture to ARMv8.0 (Gavin Shan) [2008070] - KVM: arm64: Handle SCXTNUM_ELx traps (Gavin Shan) [2008070] - arm64: kvm: mte: Hide the MTE CPUID information from the guests (Gavin Shan) [2008070] - arm64: mte: Fix typo in macro definition (Gavin Shan) [2008070] - arm64/cpufeature: Add remaining feature bits in ID_AA64PFR1 register (Gavin Shan) [2008070] - arm64: mte: system register definitions (Gavin Shan) [2008070] - arm64: sysreg: Clean up instructions for modifying PSTATE fields (Gavin Shan) [2008070] - KVM: arm64: Only reschedule if MMU_NOTIFIER_RANGE_BLOCKABLE is not set (Gavin Shan) [2008070] - arm64: kvm: Fix IDMAP overlap with HYP VA (Gavin Shan) [2008070] - packet: rework packet_pick_tx_queue() to use common code selection (Petr Oros) [2016477] - net: dev: rename queue selection helpers. (Petr Oros) [2016477] - Revert "cpuset: Make cpuset hotplug synchronous" (Waiman Long) [2023783] - tcp: fix TLP timer not set when CA_STATE changes from DISORDER to OPEN (Paolo Abeni) [2018546] - net: Only allow init netns to set default tcp cong to a restricted algo (Paolo Abeni) [2018546] - ipv6: tcp: drop silly ICMPv6 packet too big messages (Paolo Abeni) [2018546] - tcp: annotate data races around tp->mtu_info (Paolo Abeni) [2018546] - net: send SYNACK packet with accepted fwmark (Paolo Abeni) [2018546] - tcp: call sk_wmem_schedule before sk_mem_charge in zerocopy path (Paolo Abeni) [2018546] - net/tcp_fastopen: fix data races around tfo_active_disable_stamp (Paolo Abeni) [2018546] - net/tcp_fastopen: remove obsolete extern (Paolo Abeni) [2018546] - net, gro: Set inner transport header offset in tcp/udp GRO hook (Paolo Abeni) [2018546] - tcp_bbr: fix u32 wrap bug in round logic if bbr_init() called after 2B packets (Paolo Abeni) [2018546] - tcp: seq_file: Avoid skipping sk during tcp_seek_last_pos (Paolo Abeni) [2018546] - tcp: fix tp->undo_retrans accounting in tcp_sacktag_one() (Paolo Abeni) [2018546] - evm: mark evm_fixmode as __ro_after_init (Bruno Meneguele) [2017155] - IMA: remove -Wmissing-prototypes warning (Bruno Meneguele) [2017155] - ima: Set correct casting types (Bruno Meneguele) [2017155] - evm: Don't return an error in evm_write_xattrs() if audit is not enabled (Bruno Meneguele) [2017155] - evm: fix writing /evm overflow (Bruno Meneguele) [2017155] - ima: Fix function name error in comment. (Bruno Meneguele) [2017155] - ima: Fix the error code for restoring the PCR value (Bruno Meneguele) [2017155] - integrity: double check iint_cache was initialized (Bruno Meneguele) [2017155] - certs: Fix blacklist flag type confusion (Bruno Meneguele) [2017155] - integrity: Make function integrity_add_key() static (Bruno Meneguele) [2017155] - ima: Free IMA measurement buffer after kexec syscall (Bruno Meneguele) [2017155] - ima: Free IMA measurement buffer on error (Bruno Meneguele) [2017155] - evm: Fix memleak in init_desc (Bruno Meneguele) [2017155] - crypto: shash - remove shash_desc::flags (Bruno Meneguele) [2017155] - ima: Don't modify file descriptor mode on the fly (Bruno Meneguele) [2017155] - evm: Check size of security.evm before using it (Bruno Meneguele) [2017155] - ima: Remove semicolon at the end of ima_get_binary_runtime_size() (Bruno Meneguele) [2017155] - ima: Don't ignore errors from crypto_shash_update() (Bruno Meneguele) [2017155] - integrity: remove redundant initialization of variable ret (Bruno Meneguele) [2017155] - ima: Fail rule parsing when appraise_flag=blacklist is unsupportable (Bruno Meneguele) [2017155] - ima: Fail rule parsing when the KEXEC_CMDLINE hook is combined with an invalid cond (Bruno Meneguele) [2017155] - ima: Fail rule parsing when buffer hook functions have an invalid action (Bruno Meneguele) [2017155] - ima: Free the entire rule if it fails to parse (Bruno Meneguele) [2017155] - ima: Free the entire rule when deleting a list of rules (Bruno Meneguele) [2017155] - evm: Fix possible memory leak in evm_calc_hmac_or_hash() (Bruno Meneguele) [2017155] - ima: Fix ima digest hash table key calculation (Bruno Meneguele) [2017155] - ima: Fix return value of ima_write_policy() (Bruno Meneguele) [2017155] - evm: Fix a small race in init_desc() (Bruno Meneguele) [2017155] - crypto: drop mask=CRYPTO_ALG_ASYNC from 'shash' tfm allocations (Bruno Meneguele) [2017155] - evm: Don't deadlock if a crypto algorithm is unavailable (Bruno Meneguele) [2017155] - evm: Check also if *tfm is an error pointer in init_desc() (Bruno Meneguele) [2017155] - ima: avoid appraise error for hash calc interrupt (Bruno Meneguele) [2017155] - integrity: remove pointless subdir-$(CONFIG_...) (Bruno Meneguele) [2017155] - integrity: remove unneeded, broken attempt to add -fshort-wchar (Bruno Meneguele) [2017155] - x86/cpu: Fix migration safety with X86_BUG_NULL_SEL (Vitaly Kuznetsov) [2016961] - fs/xfs: convert comma to semicolon (Bill O'Donnell) [2009521] - xfs: remove xfs_buf_t typedef (Bill O'Donnell) [2009521] - xfs: open code updating i_mode in xfs_set_acl (Bill O'Donnell) [2009521] - xfs: remove xfs_vn_setattr_nonsize (Bill O'Donnell) [2009521] - xfs: remove unneeded return value check for *init_cursor() (Bill O'Donnell) [2009521] - xfs: introduce xfs_validate_stripe_geometry() (Bill O'Donnell) [2009521] - xfs: show the proper user quota options (Bill O'Donnell) [2009521] - xfs: remove the unused XFS_B_FSB_OFFSET macro (Bill O'Donnell) [2009521] - xfs: remove unnecessary null check in xfs_generic_create (Bill O'Donnell) [2009521] - xfs: directly return if the delta equal to zero (Bill O'Donnell) [2009521] - xfs: delete duplicated tp->t_dqinfo null check and allocation (Bill O'Donnell) [2009521] - xfs: rename xfs_fc_* back to xfs_fs_* (Bill O'Donnell) [2009521] - xfs: refactor file range validation (Bill O'Donnell) [2009521] - xfs: refactor realtime volume extent validation (Bill O'Donnell) [2009521] - xfs: refactor data device extent validation (Bill O'Donnell) [2009521] - xfs: scrub should mark a directory corrupt if any entries cannot be iget'd (Bill O'Donnell) [2009521] - xfs: detect overflows in bmbt records (Bill O'Donnell) [2009521] - xfs: trace log intent item recovery failures (Bill O'Donnell) [2009521] - xfs: validate feature support when recovering rmap/refcount intents (Bill O'Donnell) [2009521] - xfs: improve the code that checks recovered extent-free intent items (Bill O'Donnell) [2009521] - xfs: hoist recovered extent-free intent checks out of xfs_efi_item_recover (Bill O'Donnell) [2009521] - xfs: improve the code that checks recovered refcount intent items (Bill O'Donnell) [2009521] - xfs: hoist recovered refcount intent checks out of xfs_cui_item_recover (Bill O'Donnell) [2009521] - xfs: improve the code that checks recovered rmap intent items (Bill O'Donnell) [2009521] - xfs: hoist recovered rmap intent checks out of xfs_rui_item_recover (Bill O'Donnell) [2009521] - xfs: improve the code that checks recovered bmap intent items (Bill O'Donnell) [2009521] - xfs: hoist recovered bmap intent checks out of xfs_bui_item_recover (Bill O'Donnell) [2009521] - xfs: move kernel-specific superblock validation out of libxfs (Bill O'Donnell) [2009521] - platform/x86: amd-pmc: Increase the response register timeout (David Arcari) [2005064] - ARM: 9093/1: drivers: firmwapsci: Register with kernel restart handler (Mark Salter) [1996748] - arm64/kernel: Remove needless Call Frame Information annotations (Mark Salter) [1996748] - arm64: smccc: Add support for SMCCCv1.2 extended input/output registers (Mark Salter) [1996748] - psci: Remove unneeded semicolon (Mark Salter) [1996748] - firmware: smccc: Add SMCCC TRNG function call IDs (Mark Salter) [1996748] - arm64: Add support for SMCCC TRNG entropy source (Mark Salter) [1996748] - firmware: smccc: Introduce SMCCC TRNG framework (Mark Salter) [1996748] - arm64: random: Remove no longer needed prototypes (Mark Salter) [1996748] - arm64: kaslr: Use standard early random function (Mark Salter) [1996748] - random: random.h should include archrandom.h, not the other way around (Mark Salter) [1996748] - arm64: add credited/trusted RNG support (Mark Salter) [1996748] - arm64: Use v8.5-RNG entropy for KASLR seed (Mark Salter) [1996748] - arm64: kaslr: Check command line before looking for a seed (Mark Salter) [1996748] - arm64: kaslr: Announce KASLR status on boot (Mark Salter) [1996748] - psci: Add accessor for psci_0_1_function_ids (Mark Salter) [1996748] - psci: Replace psci_function_id array with a struct (Mark Salter) [1996748] - psci: Split functions to v0.1 and v0.2+ variants (Mark Salter) [1996748] - psci: Support psci_ops.get_version for v0.1 (Mark Salter) [1996748] - arm64: psci: Avoid printing in cpu_psci_cpu_die() (Mark Salter) [1996748] - firmware: psci: Extend psci_set_osi_mode() to allow reset to PC mode (Mark Salter) [1996748] - smccc: Use separate variables for args and results (Mark Salter) [1996748] - smccc: Define vendor hyp owned service call region (Mark Salter) [1996748] - firmware: smccc: Export both smccc functions (Mark Salter) [1996748] - sched,psci: Convert to sched_set_fifo*() (Mark Salter) [1996748] - firmware: smccc: Add ARCH_SOC_ID support (Mark Salter) [1996748] - base: soc: Add serial_number attribute to soc (Mark Salter) [1996748] - drivers/firmware/psci: Assign @err directly in hotplug_tests() (Mark Salter) [1996748] - drivers/firmware/psci: Fix memory leakage in alloc_init_cpu_groups() (Mark Salter) [1996748] - firmware: smccc: Fix missing prototype warning for arm_smccc_version_init (Mark Salter) [1996748] - firmware: smccc: Add function to fetch SMCCC version (Mark Salter) [1996748] - firmware: smccc: Refactor SMCCC specific bits into separate file (Mark Salter) [1996748] - firmware: smccc: Drop smccc_version enum and use ARM_SMCCC_VERSION_1_x instead (Mark Salter) [1996748] - firmware: smccc: Add HAVE_ARM_SMCCC_DISCOVERY to identify SMCCC v1.1 and above (Mark Salter) [1996748] - firmware: psci: Replace cpu_up/down() with add/remove_cpu() (Mark Salter) [1996748] - firmware: psci: Export functions to manage the OSI mode (Mark Salter) [1996748] - arm64: psci: Reduce the waiting time for cpu_psci_cpu_kill() (Mark Salter) [1996748] - firmware/psci: use common SMCCC_CONDUIT_* (Mark Salter) [1996748] - arm64: smp: disable hotplug on trusted OS resident CPU (Mark Salter) [1996748] - PSCI: cpuidle: Refactor CPU suspend power_state parameter handling (Mark Salter) [1996748] - ARM: psci: cpuidle: Enable PSCI CPUidle driver (Mark Salter) [1996748] - drivers: firmware: psci: Decouple checker from generic ARM CPUidle (Mark Salter) [1996748] - firmware/psci: psci_checker: Park kthreads before stopping them (Mark Salter) [1996748] - firmware/psci: add support for SYSTEM_RESET2 (Mark Salter) [1996748] - drivers: firmware: psci: Announce support for OS initiated suspend mode (Mark Salter) [1996748] - drivers: firmware: psci: Simplify error path of psci_dt_init() (Mark Salter) [1996748] - drivers: firmware: psci: Split psci_dt_cpu_init_idle() (Mark Salter) [1996748] - drivers: firmware: psci: Move psci to separate directory (Mark Salter) [1996748] - arm64: remove unused asm/compiler.h header file (Mark Salter) [1996748] - ppc64: Adding read_lock definition to nvme (Gopal Tiwari) [1990475] - nvme: fix per-namespace chardev deletion (Gopal Tiwari) [1990475] - nvme: set the PRACT bit when using Write Zeroes with T10 PI (Gopal Tiwari) [1990475] - nvme: fix nvme_setup_command metadata trace event (Gopal Tiwari) [1990475] - nvme-pci: don't WARN_ON in nvme_reset_work if ctrl.state is not RESETTING (Gopal Tiwari) [1990475] - nvme: fix refcounting imbalance when all paths are down (Gopal Tiwari) [1990475] - nvme-pci: do not call nvme_dev_remove_admin from nvme_remove (Gopal Tiwari) [1990475] - nvme-pci: fix multiple races in nvme_setup_io_queues (Gopal Tiwari) [1990475] - nvme-tcp: use __dev_get_by_name instead dev_get_by_name for OPT_HOST_IFACE (Gopal Tiwari) [1990475] - nvme-tcp: can't set sk_user_data without write_lock (Gopal Tiwari) [1990475] - nvme: use blk_execute_rq() for passthrough commands (Gopal Tiwari) [1990475] - nvmet: use NVMET_MAX_NAMESPACES to set nn value (Gopal Tiwari) [1990475] - nvme-pci: remove zeroout memset call for struct (Gopal Tiwari) [1990475] - nvme: remove zeroout memset call for struct (Gopal Tiwari) [1990475] - nvmet: add ZBD over ZNS backend support (Gopal Tiwari) [1990475] - nvmet: remove zeroout memset call for struct (Gopal Tiwari) [1990475] - nvmet: use req->cmd directly in file-ns fast path (Gopal Tiwari) [1990475] - nvmet: add Command Set Identifier support (Gopal Tiwari) [1990475] - nvmet: add nvmet_req_bio put helper for backends (Gopal Tiwari) [1990475] - nvmet: use nvme status value directly (Gopal Tiwari) [1990475] - nvmet: use u32 for nvmet_subsys max_nsid (Gopal Tiwari) [1990475] - nvmet: remove local variable (Gopal Tiwari) [1990475] - nvmet: add req cns error complete helper (Gopal Tiwari) [1990475] - nvmet: use req->cmd directly in bdev-ns fast path (Gopal Tiwari) [1990475] - nvmet: use u32 type for the local variable nsid (Gopal Tiwari) [1990475] - nvme-fabrics: remove memset in connect io q (Gopal Tiwari) [1990475] - nvme-fabrics: remove memset in nvmf_reg_write32() (Gopal Tiwari) [1990475] - nvme-fabrics: remove memset in connect admin q (Gopal Tiwari) [1990475] - nvmet: make ver stable once connection established (Gopal Tiwari) [1990475] - nvmet: make sn stable once connection was established (Gopal Tiwari) [1990475] - nvmet: change sn size and check validity (Gopal Tiwari) [1990475] - nvme-tcp: use ctrl sgl check helper (Gopal Tiwari) [1990475] - nvmet-fc: do not check for invalid target port in nvmet_fc_handle_fcp_rqst() (Gopal Tiwari) [1990475] - nvme-fabrics: remove memset in nvmf_reg_read64() (Gopal Tiwari) [1990475] - nvmet: allow mn change if subsys not discovered (Gopal Tiwari) [1990475] - nvme-fc: use ctrl sgl check helper (Gopal Tiwari) [1990475] - nvme-pci: fix var. type for increasing cq_head (Gopal Tiwari) [1990475] - nvme: add a helper to check ctrl sgl support (Gopal Tiwari) [1990475] - nvme: factor out a nvme_validate_passthru_nsid helper (Gopal Tiwari) [1990475] - nvme-tcp: fix error codes in nvme_tcp_setup_ctrl() (Gopal Tiwari) [1990475] - nvme: fix grammar in the CONFIG_NVME_MULTIPATH kconfig help text (Gopal Tiwari) [1990475] - nvme: verify MNAN value if ANA is enabled (Gopal Tiwari) [1990475] - ACPI: Check StorageD3Enable _DSD property in ACPI code (Gopal Tiwari) [1990475] - nvmet: move ka_work initialization to nvmet_alloc_ctrl (Gopal Tiwari) [1990475] - nvme: remove nvme_{get,put}_ns_from_disk (Gopal Tiwari) [1990475] - nvme: split nvme_report_zones (Gopal Tiwari) [1990475] - nvmet: remove a superfluous variable (Gopal Tiwari) [1990475] - nvme: open code nvme_put_ns_from_disk in nvme_ns_head_chr_ioctl (Gopal Tiwari) [1990475] - nvme: move the CSI sanity check into nvme_ns_report_zones (Gopal Tiwari) [1990475] - nvme-fabrics: remove extra braces (Gopal Tiwari) [1990475] - nvme: open code nvme_{get,put}_ns_from_disk in nvme_ns_head_ioctl (Gopal Tiwari) [1990475] - nvme: add a sparse annotation to nvme_ns_head_ctrl_ioctl (Gopal Tiwari) [1990475] - nvme-fabrics: remove an extra comment (Gopal Tiwari) [1990475] - nvme-fabrics: remove extra new lines in the switch (Gopal Tiwari) [1990475] - nvme: open code nvme_put_ns_from_disk in nvme_ns_head_ctrl_ioctl (Gopal Tiwari) [1990475] - nvme: extend and modify the APST configuration algorithm (Gopal Tiwari) [1990475] - nvme-tcp: allow selecting the network interface for connections (Gopal Tiwari) [1990475] - nvme-fabrics: fix the kerneldco comment for nvmf_log_connect_error() (Gopal Tiwari) [1990475] - nvme: remove redundant initialization of variable ret (Gopal Tiwari) [1990475] - nvmet: fix freeing unallocated p2pmem (Gopal Tiwari) [1990475] - nvme-loop: reset queue count to 1 in nvme_loop_destroy_io_queues() (Gopal Tiwari) [1990475] - nvme-loop: do not warn for deleted controllers during reset (Gopal Tiwari) [1990475] - nvme-loop: check for NVME_LOOP_Q_LIVE in nvme_loop_destroy_admin_queue() (Gopal Tiwari) [1990475] - nvme-loop: clear NVME_LOOP_Q_LIVE when nvme_loop_configure_admin_queue() fails (Gopal Tiwari) [1990475] - nvme-rdma: fix in-casule data send for chained sgls (Gopal Tiwari) [1990475] - nvmet: fix false keep-alive timeout when a controller is torn down (Gopal Tiwari) [1990475] - nvmet-tcp: fix inline data size comparison in nvmet_tcp_queue_response (Gopal Tiwari) [1990475] - nvme-tcp: remove incorrect Kconfig dep in BLK_DEV_NVME (Gopal Tiwari) [1990475] - nvme-fabrics: decode host pathing error for connect (Gopal Tiwari) [1990475] - nvme-fc: short-circuit reconnect retries (Gopal Tiwari) [1990475] - nvme: fix potential memory leaks in nvme_cdev_add (Gopal Tiwari) [1990475] - nvme-fc: clear q_live at beginning of association teardown (Gopal Tiwari) [1990475] - nvme-tcp: rerun io_work if req_list is not empty (Gopal Tiwari) [1990475] - nvme-tcp: fix possible use-after-completion (Gopal Tiwari) [1990475] - nvme-loop: fix memory leak in nvme_loop_create_ctrl() (Gopal Tiwari) [1990475] - nvmet: fix memory leak in nvmet_alloc_ctrl() (Gopal Tiwari) [1990475] - nvmet: seset ns->file when open fails (Gopal Tiwari) [1990475] - nvmet: demote fabrics cmd parse err msg to debug (Gopal Tiwari) [1990475] - nvmet: fix inline bio check for passthru (Gopal Tiwari) [1990475] - nvmet: fix inline bio check for bdev-ns (Gopal Tiwari) [1990475] - nvmet: use helper to remove the duplicate code (Gopal Tiwari) [1990475] - nvmet: demote discovery cmd parse err msg to debug (Gopal Tiwari) [1990475] - nvmet: remove unsupported command noise (Gopal Tiwari) [1990475] - nvme-pci: fix controller reset hang when racing with nvme_timeout (Gopal Tiwari) [1990475] - nvme: move the fabrics queue ready check routines to core (Gopal Tiwari) [1990475] - nvme: avoid memset for passthrough requests (Gopal Tiwari) [1990475] - nvme: add nvme_get_ns helper (Gopal Tiwari) [1990475] - nvme: fix controller ioctl through ns_head (Gopal Tiwari) [1990475] - nvme: introduce generic per-namespace chardev (Gopal Tiwari) [1990475] - nvme: cleanup nvme_configure_apst (Gopal Tiwari) [1990475] - nvme: do not try to reconfigure APST when the controller is not live (Gopal Tiwari) [1990475] - nvme: sanitize KATO setting (Gopal Tiwari) [1990475] - nvmet: avoid queuing keep-alive timer if it is disabled (Gopal Tiwari) [1990475] - nvme: fix NULL derefence in nvme_ctrl_fast_io_fail_tmo_show/store (Gopal Tiwari) [1990475] - nvme: let namespace probing continue for unsupported features (Gopal Tiwari) [1990475] - nvme: factor out nvme_ns_open and nvme_ns_release helpers (Gopal Tiwari) [1990475] - nvme: move nvme_ns_head_ops to multipath.c (Gopal Tiwari) [1990475] - nvme: factor out a nvme_tryget_ns_head helper (Gopal Tiwari) [1990475] - nvme: move the ioctl code to a separate file (Gopal Tiwari) [1990475] - nvme: don't bother to look up a namespace for controller ioctls (Gopal Tiwari) [1990475] - nvme: simplify block device ioctl handling for the !multipath case (Gopal Tiwari) [1990475] - nvme: simplify the compat ioctl handling (Gopal Tiwari) [1990475] - nvme-multipath: remove single trailing whitespace (Gopal Tiwari) [1990475] - nvme: pass a user pointer to nvme_nvm_ioctl (Gopal Tiwari) [1990475] - nvme: factor out a nvme_ns_ioctl helper (Gopal Tiwari) [1990475] - nvme: cleanup setting the disk name (Gopal Tiwari) [1990475] - nvme: remove single trailing whitespace (Gopal Tiwari) [1990475] - nvme-pci: remove single trailing whitespace (Gopal Tiwari) [1990475] - nvme: add a nvme_ns_head_multipath helper (Gopal Tiwari) [1990475] - nvmet: fix a spelling mistake "nubmer" -> "number" (Gopal Tiwari) [1990475] - nvmet-fc: simplify nvmet_fc_alloc_hostport (Gopal Tiwari) [1990475] - nvmet-tcp: fix a segmentation fault during io parsing error (Gopal Tiwari) [1990475] - lightnvm: use kobj_to_dev() (Gopal Tiwari) [1990475] - nvme: fix handling of large MDTS values (Gopal Tiwari) [1990475] - nvme: implement non-mdts command limits (Gopal Tiwari) [1990475] - nvme: disallow passthru cmd from targeting a nsid != nsid of the block dev (Gopal Tiwari) [1990475] - nvme: use sysfs_emit instead of sprintf (Gopal Tiwari) [1990475] - nvme-fc: check sgl supported by target (Gopal Tiwari) [1990475] - nvme: remove superfluous else in nvme_ctrl_loss_tmo_store (Gopal Tiwari) [1990475] - nvme: warn of unhandled effects only once (Gopal Tiwari) [1990475] - nvmet-tcp: enable optional queue idle period tracking (Gopal Tiwari) [1990475] - nvmet-tcp: fix incorrect locking in state_change sk callback (Gopal Tiwari) [1990475] - nvme-tcp: block BH in sk state_change sk callback (Gopal Tiwari) [1990475] - nvmet: return proper error code from discovery ctrl (Gopal Tiwari) [1990475] - nvme-tcp: check sgl supported by target (Gopal Tiwari) [1990475] - nvme: use driver pdu command for passthrough (Gopal Tiwari) [1990475] - nvmet: remove unnecessary ctrl parameter (Gopal Tiwari) [1990475] - nvmet-fc: update function documentation (Gopal Tiwari) [1990475] - nvme-pci: allocate nvme_command within driver pdu (Gopal Tiwari) [1990475] - nvmet: do not allow model_number exceed 40 bytes (Gopal Tiwari) [1990475] - nvme-fc: fix the function documentation comment (Gopal Tiwari) [1990475] - nvme: add new line after variable declatation (Gopal Tiwari) [1990475] - nvme: don't check nvme_req flags for new req (Gopal Tiwari) [1990475] - nvme: mark nvme_setup_passsthru() inline (Gopal Tiwari) [1990475] - nvme: split init identify into helper (Gopal Tiwari) [1990475] - nvme: rename nvme_init_identify() (Gopal Tiwari) [1990475] - nvme: reduce checks for zero command effects (Gopal Tiwari) [1990475] - nvmet: update error log page in nvmet_alloc_ctrl() (Gopal Tiwari) [1990475] - nvmet: remove an unnecessary function parameter to nvmet_check_ctrl_status (Gopal Tiwari) [1990475] - nvmet: remove a duplicate status assignment in nvmet_alloc_ctrl (Gopal Tiwari) [1990475] - nvmet: replace white spaces with tabs (Gopal Tiwari) [1990475] - nvme: use NVME_CTRL_CMIC_ANA macro (Gopal Tiwari) [1990475] - nvme-pci: cleanup nvme_irq() (Gopal Tiwari) [1990475] - nvme-pci: remove the barriers in nvme_irq() (Gopal Tiwari) [1990475] - nvmet-tcp: fix kmap leak when data digest in use (Gopal Tiwari) [1990475] - nvmet: don't check iosqes,iocqes for discovery controllers (Gopal Tiwari) [1990475] - nvme-tcp: fix a NULL deref when receiving a 0-length r2t PDU (Gopal Tiwari) [1990475] - nvme-rdma: fix possible hang when failing to set io queues (Gopal Tiwari) [1990475] - nvme-tcp: fix possible hang when failing to set io queues (Gopal Tiwari) [1990475] - nvme-fabrics: only reserve a single tag (Gopal Tiwari) [1990475] - nvme: allocate the keep alive request using BLK_MQ_REQ_NOWAIT (Gopal Tiwari) [1990475] - nvme: merge nvme_keep_alive into nvme_keep_alive_work (Gopal Tiwari) [1990475] - nvme-hwmon: Return error code when registration fails (Gopal Tiwari) [1990475] - nvme: update enumerations for status codes (Gopal Tiwari) [1990475]- scsi: mpt3sas: Fix incorrectly assigned error return and check (Tomas Henzl) [1990535] - scsi: mpt3sas: Introduce sas_ncq_prio_supported sysfs sttribute (Tomas Henzl) [1990535] - scsi: mpt3sas: Update driver version to 39.100.00.00 (Tomas Henzl) [1990535] - scsi: mpt3sas: Use firmware recommended queue depth (Tomas Henzl) [1990535] - scsi: mpt3sas: Bump driver version to 38.100.00.00 (Tomas Henzl) [1990535] - scsi: mpt3sas: Transition IOC to Ready state during shutdown (Tomas Henzl) [1990535] - scsi: mpt3sas: Fix error return value in _scsih_expander_add() (Tomas Henzl) [1990535] - scsi: mpt3sas: Fix Coverity reported issue (Tomas Henzl) [1990535] - scsi: mpt3sas: Fix fall-through warnings for Clang (Tomas Henzl) [1990535] - scsi: mpt3sas: Handle firmware faults during second half of IOC init (Tomas Henzl) [1990535] - scsi: mpt3sas: Handle firmware faults during first half of IOC init (Tomas Henzl) [1990535] - scsi: mpt3sas: Fix deadlock while cancelling the running firmware event (Tomas Henzl) [1990535] - scsi: mpt3sas: Documentation cleanup (Tomas Henzl) [1990535] - scsi: mpt3sas: Fix two kernel-doc headers (Tomas Henzl) [1990535] - scsi: mpt3sas: Fix out-of-bounds warnings in _ctl_addnl_diag_query (Tomas Henzl) [1990535] - scsi: megaraid_sas: Driver version update to 07.719.03.00-rc1 (Tomas Henzl) [1989643] - scsi: megaraid_sas: Add helper functions for irq_context (Tomas Henzl) [1989643] - scsi: megaraid: Clean up some inconsistent indenting (Tomas Henzl) [1989643] - scsi: megaraid: Fix Coccinelle warning (Tomas Henzl) [1989643] - IB/cma: Do not send IGMP leaves for sendonly Multicast groups (Kamal Heib) [2007269] - hv_netvsc: Add comment of netvsc_xdp_xmit() (Mohammed Gamal) [2008560] - hv_netvsc: use netif_is_bond_master() instead of open code (Mohammed Gamal) [2008560] - hv_netvsc: Avoid field-overflowing memcpy() (Mohammed Gamal) [2008560] - hv_netvsc: Set needed_headroom according to VF (Mohammed Gamal) [2008560] - netfilter: conntrack: fix error path in nf_conntrack_pernet_init() (Florian Westphal) [1922568] - netfilter: nf_conntrack: provide modparam to always register conntrack hooks (Florian Westphal) [1922568] - sctp: return true only for pathmtu update in sctp_transport_pl_toobig (Xin Long) [1890383] - sctp: subtract sctphdr len in sctp_transport_pl_hlen (Xin Long) [1890383] - sctp: reset probe_timer in sctp_transport_pl_update (Xin Long) [1890383] - sctp: allow IP fragmentation when PLPMTUD enters Error state (Xin Long) [1890383] - sctp: send pmtu probe only if packet loss in Search Complete state (Xin Long) [1890383] - sctp: improve the code for pmtu probe send and recv update (Xin Long) [1890383] - sctp: prevent info leak in sctp_make_heartbeat() (Xin Long) [1890383] - sctp: check pl.raise_count separately from its increment (Xin Long) [1890383] - sctp: send the next probe immediately once the last one is acked (Xin Long) [1890383] - sctp: do black hole detection in search complete state (Xin Long) [1890383] - sctp: process sctp over udp icmp err on sctp side (Xin Long) [1890383] - sctp: extract sctp_v4_err_handle function from sctp_v4_err (Xin Long) [1890383] - sctp: extract sctp_v6_err_handle function from sctp_v6_err (Xin Long) [1890383] - sctp: remove the unessessary hold for idev in sctp_v6_err (Xin Long) [1890383] - sctp: enable PLPMTUD when the transport is ready (Xin Long) [1890383] - sctp: do state transition when receiving an icmp TOOBIG packet (Xin Long) [1890383] - sctp: do state transition when a probe succeeds on HB ACK recv path (Xin Long) [1890383] - sctp: do state transition when PROBE_COUNT == MAX_PROBES on HB send path (Xin Long) [1890383] - sctp: do the basic send and recv for PLPMTUD probe (Xin Long) [1890383] - sctp: add the probe timer in transport for PLPMTUD (Xin Long) [1890383] - sctp: add the constants/variables and states and some APIs for transport (Xin Long) [1890383] - sctp: add SCTP_PLPMTUD_PROBE_INTERVAL sockopt for sock/asoc/transport (Xin Long) [1890383] - sctp: add probe_interval in sysctl and sock/asoc/transport (Xin Long) [1890383] - sctp: add pad chunk and its make function and event table (Xin Long) [1890383] - blk-mq: still set q->make_request_fn for blk-mq (Ming Lei) [1999728] - PCI: Add AMD RS690 quirk to enable 64-bit DMA (Myron Stowe) [1993279] - PCI: Add ACS quirk for Broadcom BCM57414 NIC (Myron Stowe) [1993279] - PCI: Mark some NVIDIA GPUs to avoid bus reset (Myron Stowe) [1993279] - PCI: of: Clear 64-bit flag for non-prefetchable memory below 4GB (Myron Stowe) [1993279] - x86/PCI: Remove unused alloc_pci_root_info() return value (Myron Stowe) [1993279] - PCI: Delay after FLR of Intel DC P4510 NVMe (Myron Stowe) [1993279] - PCI: Delay after FLR of Intel DC P3700 NVMe (Myron Stowe) [1993279] - PCI: Disable Samsung SM961/PM961 NVMe before FLR (Myron Stowe) [1993279] - PCI/sysfs: Use sysfs_emit() and sysfs_emit_at() in "show" functions (Myron Stowe) [1993279] - PCI/sysfs: Rearrange smbios_attr_group and acpi_attr_group (Myron Stowe) [1993279] - PCI/sysfs: Tidy SMBIOS & ACPI label attributes (Myron Stowe) [1993279] - PCI/sysfs: Convert "index", "acpi_index", "label" to static attributes (Myron Stowe) [1993279] - PCI/sysfs: Define SMBIOS label attributes with DEVICE_ATTR*() (Myron Stowe) [1993279] - PCI/sysfs: Define ACPI label attributes with DEVICE_ATTR*() (Myron Stowe) [1993279] - PCI/sysfs: Rename device_has_dsm() to device_has_acpi_name() (Myron Stowe) [1993279] - PCI/sysfs: Convert "vpd" to static attribute (Myron Stowe) [1993279] - PCI/sysfs: Rename "vpd" attribute accessors (Myron Stowe) [1993279] - PCI/sysfs: Convert "reset" to static attribute (Myron Stowe) [1993279] - PCI/sysfs: Convert "rom" to static attribute (Myron Stowe) [1993279] - PCI/sysfs: Convert "config" to static attribute (Myron Stowe) [1993279] - PCI: Allow VPD access for QLogic ISP2722 (Myron Stowe) [1993279] - PCI/VPD: Add helper pci_get_func0_dev() (Myron Stowe) [1993279] - PCI/VPD: Remove pci_vpd_find_tag() SRDT handling (Myron Stowe) [1993279] - PCI/VPD: Remove pci_vpd_find_tag() 'offset' argument (Myron Stowe) [1993279] - PCI/VPD: Change pci_vpd_init() return type to void (Myron Stowe) [1993279] - PCI/VPD: Make missing VPD message less alarming (Myron Stowe) [1993279] - PCI/VPD: Remove pci_set_vpd_size() (Myron Stowe) [1993279] - PCI/VPD: Remove sysfs accessor size checking dead code (Myron Stowe) [1993279] - PCI/VPD: Remove obsolete Broadcom NIC quirk (Myron Stowe) [1993279] - PCI/ACPI: Fix acpi_pci_set_power_state() debug message (Myron Stowe) [1993279] - PCI: acpiphp: Fix whitespace issue (Myron Stowe) [1993279] - PCI: shpchp: Remove unused shpc_writeb() (Myron Stowe) [1993279] - PCI: cpqphp: Use DEFINE_SPINLOCK() for int15_lock (Myron Stowe) [1993279] - ACPI / hotplug / PCI: Fix reference count leak in enable_slot() (Myron Stowe) [1993279] - PCI: Add pci_disable_parity() (Myron Stowe) [1993279] - PCI: Release OF node in pci_scan_device()'s error path (Myron Stowe) [1993279] - fs: dlm: fix check for multi-homed hosts (Alexander Aring) [1889887] - iommu: remove iommu_domain_{get,set}_attr (Jerry Snitselaar) [2004349] - iommu/fsl_pamu: enable the liodn when attaching a device (Jerry Snitselaar) [2004349] - iommu/fsl_pamu: replace DOMAIN_ATTR_FSL_PAMU_STASH with a direct call (Jerry Snitselaar) [2004349] - iommu/fsl_pamu: remove ->domain_window_enable (Jerry Snitselaar) [2004349] - iommu/fsl_pamu: remove support for multiple windows (Jerry Snitselaar) [2004349] - iommu/fsl_pamu: remove fsl_pamu_get_domain_attr (Jerry Snitselaar) [2004349] - iommu: remove the unused domain_window_disable method (Jerry Snitselaar) [2004349] - iommu: Remove .domain_{get,set}_windows (Jerry Snitselaar) [2004349] - iommu/arm-smmu-v3: Decrease the queue size of evtq and priq (Jerry Snitselaar) [2004349] - iommu/vt-d: Use pasid_pte_is_present() helper function (Jerry Snitselaar) [2004349] - iommu/vt-d: Update the virtual command related registers (Jerry Snitselaar) [2004349] - ACPI: IORT: Handle device properties with software node API (Jerry Snitselaar) [2004349] - iommu: Update "iommu.strict" documentation (Jerry Snitselaar) [2004349] - iommu/dma: Remove redundant "!dev" checks (Jerry Snitselaar) [2004349] - iommu/virtio: Drop IOVA cookie management (Jerry Snitselaar) [2004349] - iommu/vt-d: Drop IOVA cookie management (Jerry Snitselaar) [2004349] - iommu/arm-smmu: Drop IOVA cookie management (Jerry Snitselaar) [2004349] - iommu/amd: Drop IOVA cookie management (Jerry Snitselaar) [2004349] - iommu: Pull IOVA cookie management into the core (Jerry Snitselaar) [2004349] - iommu/arm-smmu-v3: Stop pre-zeroing batch commands (Jerry Snitselaar) [2004349] - iommu/arm-smmu-v3: Extract reusable function __arm_smmu_cmdq_skip_err() (Jerry Snitselaar) [2004349] - iommu/arm-smmu-v3: Add and use static helper function arm_smmu_get_cmdq() (Jerry Snitselaar) [2004349] - iommu/arm-smmu-v3: Remove some unneeded init in arm_smmu_cmdq_issue_cmdlist() (Jerry Snitselaar) [2004349] - iommu/arm-smmu-v3: Add and use static helper function arm_smmu_cmdq_issue_cmd_with_sync() (Jerry Snitselaar) [2004349] - iommu/arm-smmu-v3: Use command queue batching helpers to improve performance (Jerry Snitselaar) [2004349] - iommu/amd: Use only natural aligned flushes in a VM (Jerry Snitselaar) [2004349] - iommu/amd: Sync once for scatter-gather operations (Jerry Snitselaar) [2004349] - iommu/amd: Tailored gather logic for AMD (Jerry Snitselaar) [2004349] - iommu: Factor iommu_iotlb_gather_is_disjoint() out (Jerry Snitselaar) [2004349] - iommu: Improve iommu_iotlb_gather helpers (Jerry Snitselaar) [2004349] - iommu/amd: Do not use flush-queue when NpCache is on (Jerry Snitselaar) [2004349] - iommu/amd: Selective flush on unmap (Jerry Snitselaar) [2004349] - iommu/amd: Convert from atomic_t to refcount_t on pasid_state->count (Jerry Snitselaar) [2004349] - iommu: Streamline iommu_iova_to_phys() (Jerry Snitselaar) [2004349] - iommu/vt-d: Allow devices to have more than 32 outstanding PRs (Jerry Snitselaar) [1920744] - iommu/vt-d: Drop "0x" prefix from PCI bus & device addresses (Jerry Snitselaar) [2004349] - iommu/vt-d: Fix a deadlock in intel_svm_drain_prq() (Jerry Snitselaar) [2004349] - iommu/vt-d: Fix PASID leak in intel_svm_unbind_mm() (Jerry Snitselaar) [2004349] - iommu/amd: Fix printing of IOMMU events when rate limiting kicks in (Jerry Snitselaar) [2004349] - iommu/arm-smmu: Fix missing unlock on error in arm_smmu_device_group() (Jerry Snitselaar) [2004349] - iommu/arm-smmu: Fix race condition during iommu_group creation (Jerry Snitselaar) [2004349] - iommu: Fix race condition during default domain allocation (Jerry Snitselaar) [2004349] - iommu/arm-smmu-v3: Implement the map_pages() IOMMU driver callback (Jerry Snitselaar) [1971977] - iommu/arm-smmu-v3: Implement the unmap_pages() IOMMU driver callback (Jerry Snitselaar) [1971977] - iommu/vt-d: Move clflush'es from iotlb_sync_map() to map_pages() (Jerry Snitselaar) [1971977] - iommu/vt-d: Implement map/unmap_pages() iommu_ops callback (Jerry Snitselaar) [1971977] - iommu/vt-d: Report real pgsize bitmap to iommu core (Jerry Snitselaar) [1971977] - iommu/arm-smmu: Implement the map_pages() IOMMU driver callback (Jerry Snitselaar) [1971977] - iommu/arm-smmu: Implement the unmap_pages() IOMMU driver callback (Jerry Snitselaar) [1971977] - iommu/io-pgtable-arm: Implement arm_lpae_map_pages() (Jerry Snitselaar) [1971977] - iommu/io-pgtable-arm: Implement arm_lpae_unmap_pages() (Jerry Snitselaar) [1971977] - iommu/io-pgtable-arm: Prepare PTE methods for handling multiple entries (Jerry Snitselaar) [1971977] - iommu: Add support for the map_pages() callback (Jerry Snitselaar) [1971977] - iommu: Hook up '->unmap_pages' driver callback (Jerry Snitselaar) [1971977] - iommu: Split 'addr_merge' argument to iommu_pgsize() into separate parts (Jerry Snitselaar) [1971977] - iommu: Use bitmap to calculate page size in iommu_pgsize() (Jerry Snitselaar) [1971977] - iommu: Add a map_pages() op for IOMMU drivers (Jerry Snitselaar) [1971977] - iommu/io-pgtable: Introduce map_pages() as a page table op (Jerry Snitselaar) [1971977] - iommu: Add an unmap_pages() op for IOMMU drivers (Jerry Snitselaar) [1971977] - iommu/io-pgtable: Introduce unmap_pages() as a page table op (Jerry Snitselaar) [1971977] - iommu/vt-d: Fix incomplete cache flush in intel_pasid_tear_down_entry() (Jerry Snitselaar) [2004349] - iommu/vt-d: Fix PASID reference leak (Jerry Snitselaar) [2004349] - iommu: Check if group is NULL before remove device (Jerry Snitselaar) [2004349] - iommu/dma: Fix leak in non-contiguous API (Jerry Snitselaar) [2004349] - iommu/arm-smmu-v3: Fix fall-through warning for Clang (Jerry Snitselaar) [2004349] - iommu/vt-d: Fix clearing real DMA device's scalable-mode context entries (Jerry Snitselaar) [2004349] - iommu/vt-d: Global devTLB flush when present context entry changed (Jerry Snitselaar) [2004349] - iommu/arm-smmu: Use Tegra implementation on Tegra186 (Jerry Snitselaar) [2004349] - iommu: Delete a duplicate check in iommu_change_dev_def_domain() (Jerry Snitselaar) [2004349] - iommu/dma: Fix compile warning in 32-bit builds (Jerry Snitselaar) [2004349] - iommu: Drop unnecessary of_iommu.h includes (Jerry Snitselaar) [2004349] - iommu: Remove unused of_get_dma_window() (Jerry Snitselaar) [2004349] - iommu/iova: Put free_iova_mem() outside of spinlock iova_rbtree_lock (Jerry Snitselaar) [2004349] - iommu/dma: Fix IOVA reserve dma ranges (Jerry Snitselaar) [2004349] - iommu/virtio: Enable x86 support (Jerry Snitselaar) [2004349] - iommu/dma: Pass address limit rather than size to iommu_setup_dma_ops() (Jerry Snitselaar) [2004349] - iommu/amd: Fix section mismatch warning for detect_ivrs() (Jerry Snitselaar) [2004349] - iommu/amd: Add amd_iommu=force_enable option (Jerry Snitselaar) [2004349] - iommu/amd: Fix extended features logging (Jerry Snitselaar) [2004349] - iommu/vt-d: Fix dereference of pointer info before it is null checked (Jerry Snitselaar) [2004349] - iommu/vt-d: Fix linker error on 32-bit (Jerry Snitselaar) [2004349] - iommu/vt-d: No need to typecast (Jerry Snitselaar) [2004349] - iommu/vt-d: Define counter explicitly as unsigned int (Jerry Snitselaar) [2004349] - iommu/vt-d: Remove unnecessary braces (Jerry Snitselaar) [2004349] - iommu/vt-d: Removed unused iommu_count in dmar domain (Jerry Snitselaar) [2004349] - iommu/vt-d: Use bitfields for DMAR capabilities (Jerry Snitselaar) [2004349] - iommu/vt-d: Use DEVICE_ATTR_RO macro (Jerry Snitselaar) [2004349] - iommu/vt-d: Fix out-bounds-warning in intel/svm.c (Jerry Snitselaar) [2004349] - iommu/vt-d: Add PRQ handling latency sampling (Jerry Snitselaar) [1971935] - iommu/vt-d: Add cache invalidation latency sampling (Jerry Snitselaar) [1971935] - iommu/vt-d: Expose latency monitor data through debugfs (Jerry Snitselaar) [1971935] - iommu/vt-d: Add common code for dmar latency performance monitors (Jerry Snitselaar) [1971935] - iommu/vt-d: Add prq_report trace event (Jerry Snitselaar) [1971973] - iommu/vt-d: Report prq to io-pgfault framework (Jerry Snitselaar) [1971971] - iommu/vt-d: Allocate/register iopf queue for sva devices (Jerry Snitselaar) [1971971] - iommu/vt-d: Refactor prq_event_thread() (Jerry Snitselaar) [1971971] - iommu/vt-d: Use common helper to lookup svm devices (Jerry Snitselaar) [1971971] - iommu/vt-d: Use iommu_sva_alloc(free)_pasid() helpers (Jerry Snitselaar) [1971971] - iommu/vt-d: Add pasid private data helpers (Jerry Snitselaar) [1971971] - iommu/vt-d: Support asynchronous IOMMU nested capabilities (Jerry Snitselaar) [2004349] - iommu/vt-d: Select PCI_ATS explicitly (Jerry Snitselaar) [2004349] - iommu/vt-d: Tweak the description of a DMA fault (Jerry Snitselaar) [1971975] - iommu/vt-d: Fix kernel-doc syntax in file header (Jerry Snitselaar) [2004349] - iommu/vt-d: Remove redundant assignment to variable agaw (Jerry Snitselaar) [2004349] - iommu/arm-smmu: Check smmu->impl pointer before dereferencing (Jerry Snitselaar) [2004349] - iommu/arm-smmu: Implement ->probe_finalize() (Jerry Snitselaar) [2004349] - iommu/arm-smmu-v3: Remove unnecessary oom message (Jerry Snitselaar) [2004349] - iommu/arm-smmu: Fix arm_smmu_device refcount leak in address translation (Jerry Snitselaar) [2004349] - iommu/arm-smmu: Fix arm_smmu_device refcount leak when arm_smmu_rpm_get fails (Jerry Snitselaar) [2004349] - PM: runtime: Add documentation for pm_runtime_resume_and_get() (Jerry Snitselaar) [2004349] - PM: runtime: Add pm_runtime_resume_and_get to deal with usage counter (Jerry Snitselaar) [2004349] - iommu/arm: Cleanup resources in case of probe error path (Jerry Snitselaar) [2004349] - iommu/arm-smmu-v3: Ratelimit event dump (Jerry Snitselaar) [2004349] - iommu/arm-smmu-v3: Add stall support for platform devices (Jerry Snitselaar) [2004349] - iommu/arm-smmu-v3: Change *array into *const array (Jerry Snitselaar) [2004349] - iommu/amd: Remove redundant assignment of err (Jerry Snitselaar) [2004349] - iommu/amd: Tidy up DMA ops init (Jerry Snitselaar) [2004349] - iommu/arm-smmu: Add support for driver IOMMU fault handlers (Jerry Snitselaar) [2004349] - iommu/virtio: Add missing MODULE_DEVICE_TABLE (Jerry Snitselaar) [2004349] - iommu/amd: Fix wrong parentheses on page-specific invalidations (Jerry Snitselaar) [2004349] - iommu: Streamline registration interface (Jerry Snitselaar) [2004349] - iommu: Statically set module owner (Jerry Snitselaar) [2004349] - iommu: remove DOMAIN_ATTR_IO_PGTABLE_CFG (Jerry Snitselaar) [2004349] - iommu: remove DOMAIN_ATTR_DMA_USE_FLUSH_QUEUE (Jerry Snitselaar) [2004349] - iommu: remove iommu_set_cmd_line_dma_api and iommu_cmd_line_dma_api (Jerry Snitselaar) [2004349] - iommu: remove DOMAIN_ATTR_NESTING (Jerry Snitselaar) [2004349] - iommu: remove DOMAIN_ATTR_GEOMETRY (Jerry Snitselaar) [2004349] - iommu: remove DOMAIN_ATTR_PAGING (Jerry Snitselaar) [2004349] - iommu/arm-smmu-v3: Maintain a SID->device structure (Jerry Snitselaar) [2004349] - iommu: Add a page fault handler (Jerry Snitselaar) [2004349] - iommu/vt-d: Support IOMMU_DEV_FEAT_IOPF (Jerry Snitselaar) [2004349] - iommu: Separate IOMMU_DEV_FEAT_IOPF from IOMMU_DEV_FEAT_SVA (Jerry Snitselaar) [2004349] - iommu/arm-smmu-v3: Use device properties for pasid-num-bits (Jerry Snitselaar) [2004349] - of/device: Add input id to of_dma_configure() (Jerry Snitselaar) [2004349] - of/iommu: Make of_map_rid() PCI agnostic (Jerry Snitselaar) [2004349] - iommu: Fix comment for struct iommu_fwspec (Jerry Snitselaar) [2004349] - iommu/amd: Remove duplicate check of devid (Jerry Snitselaar) [2004349] - iommu/amd: Page-specific invalidations for more than one page (Jerry Snitselaar) [2004349] - iommu/amd: Move a few prototypes to include/linux/amd-iommu.h (Jerry Snitselaar) [2004349] - iommu/amd: Remove a few unused exports (Jerry Snitselaar) [2004349] - iommu/amd: Remove the unused amd_iommu_get_v2_domain function (Jerry Snitselaar) [2004349] - iommu/amd: Remove the unused device errata code (Jerry Snitselaar) [2004349] - iommu/amd: Remove duplicate check of pasids (Jerry Snitselaar) [2004349] - iommu/vt-d: Fix lockdep splat in intel_pasid_get_entry() (Jerry Snitselaar) [2004349] - iommu/amd: Remove iommu_init_ga() (Jerry Snitselaar) [1998265] - iommu/amd: Relocate GAMSup check to early_enable_iommus (Jerry Snitselaar) [1998265] - x86/Kconfig: Do not enable AMD_MEM_ENCRYPT_ACTIVE_BY_DEFAULT automatically (Prarit Bhargava) [2021219] - hyper-v: Replace uuid.h with types.h (Mohammed Gamal) [2008563] - x86/hyperv: Avoid erroneously sending IPI to 'self' (Mohammed Gamal) [2008563] - asm-generic/hyperv: provide cpumask_to_vpset_noself (Mohammed Gamal) [2008563] - asm-generic/hyperv: Add missing function prototypes per -W1 warnings (Mohammed Gamal) [2008563] - hv: hyperv.h: Remove unused inline functions (Mohammed Gamal) [2008563] - hv: hyperv.h: a few mundane typo fixes (Mohammed Gamal) [2008563] - hv: hyperv.h: Replace one-element array with flexible-array in struct icmsg_negotiate (Mohammed Gamal) [2008563] - x86/hyperv: add comment describing TSC_INVARIANT_CONTROL MSR setting bit 0 (Mohammed Gamal) [2008563] - x86/hyperv: fix for unwanted manipulation of sched_clock when TSC marked unstable (Mohammed Gamal) [2008563] - hyperv: Detect Nested virtualization support for SVM (Mohammed Gamal) [2008563] - hyperv: SVM enlightened TLB flush support flag (Mohammed Gamal) [2008563] - x86/hyperv: remove on-stack cpumask from hv_send_ipi_mask_allbutself (Mohammed Gamal) [2008563] - drivers: hv: Create a consistent pattern for checking Hyper-V hypercall status (Mohammed Gamal) [2008563] - x86/hyperv: remove unused linux/version.h header (Mohammed Gamal) [2008563] - x86/hyperv: Fix unused variable 'hi' warning in hv_apic_read (Mohammed Gamal) [2008563] - x86/hyperv: Fix unused variable 'msr_val' warning in hv_qlock_wait (Mohammed Gamal) [2008563] - PCI: hv: Fix sleep while in non-sleep context when removing child devices from the bus (Mohammed Gamal) [2008562] - PCI: hv: Add check for hyperv_initialized in init_hv_pci_drv() (Mohammed Gamal) [2008562] - PCI: hv: Drop msi_controller structure (Mohammed Gamal) [2008562] - PCI/IOV: Add sysfs MSI-X vector assignment interface (Myron Stowe) [2019087] - x86: ACPI: cstate: Optimize C3 entry on AMD CPUs (David Arcari) [1998529] - Bluetooth: Move shutdown callback before flushing tx and rx queue (Gopal Tiwari) [1990477] - Bluetooth: btusb: check conditions before enabling USB ALT 3 for WBS (Gopal Tiwari) [1990477] - Bluetooth: Fix VIRTIO_ID_BT assigned number (Gopal Tiwari) [1990477] - Bluetooth: mgmt: Fix wrong opcode in the response for add_adv cmd (Gopal Tiwari) [1990477] - Bluetooth: defer cleanup of resources in hci_unregister_dev() (Gopal Tiwari) [1990477] - Bluetooth: Increment management interface revision (Gopal Tiwari) [1990477] - Bluetooth: Fix handling of HCI_LE_Advertising_Set_Terminated event (Gopal Tiwari) [1990477] - Bluetooth: Fix Set Extended (Scan Response) Data (Gopal Tiwari) [1990477] - Bluetooth: use inclusive language when filtering devices (Gopal Tiwari) [1990477] - Bluetooth: smp: Use the correct print format (Gopal Tiwari) [1990477] - Bluetooth: use inclusive language in HCI role comments (Gopal Tiwari) [1990477] - Bluetooth: use inclusive language when tracking connections (Gopal Tiwari) [1990477] - Bluetooth: sco: Use the correct print format (Gopal Tiwari) [1990477] - Bluetooth: a2mp: Use the correct print format (Gopal Tiwari) [1990477] - Bluetooth: 6lowpan: Use the correct print format (Gopal Tiwari) [1990477] - Bluetooth: amp: Use the correct print format (Gopal Tiwari) [1990477] - Bluetooth: cmtp: Use the correct print format (Gopal Tiwari) [1990477] - Bluetooth: bnep: Use the correct print format (Gopal Tiwari) [1990477] - Bluetooth: hidp: Use the correct print format (Gopal Tiwari) [1990477] - Bluetooth: use inclusive language in comments (Gopal Tiwari) [1990477] - Bluetooth: use inclusive language in SMP (Gopal Tiwari) [1990477] - Bluetooth: use inclusive language in HCI LE features (Gopal Tiwari) [1990477] - Bluetooth: use inclusive language to describe CPB (Gopal Tiwari) [1990477] - Bluetooth: mgmt: Fix slab-out-of-bounds in tlv_data_is_valid (Gopal Tiwari) [1990477] - Bluetooth: disable filter dup when scan for adv monitor (Gopal Tiwari) [1990477] - Bluetooth: mgmt: Fix the command returns garbage parameter value (Gopal Tiwari) [1990477] - Bluetooth: RFCOMM: Use DEVICE_ATTR_RO macro (Gopal Tiwari) [1990477] - Bluetooth: Translate additional address type during le_conn_comp (Gopal Tiwari) [1990477] - Bluetooth: L2CAP: Fix invalid access on ECRED Connection response (Gopal Tiwari) [1990477] - Bluetooth: L2CAP: Fix invalid access if ECRED Reconfigure fails (Gopal Tiwari) [1990477] - Bluetooth: Remove spurious error message (Gopal Tiwari) [1990477] - Bluetooth: Shutdown controller after workqueues are flushed or cancelled (Gopal Tiwari) [1990477] - Bluetooth: Add ncmd=0 recovery handling (Gopal Tiwari) [1990477] - Bluetooth: 6lowpan: remove unused function (Gopal Tiwari) [1990477] - Bluetooth: Fix alt settings for incoming SCO with transparent coding format (Gopal Tiwari) [1990477] - Bluetooth: Fix the HCI to MGMT status conversion table (Gopal Tiwari) [1990477] - Bluetooth: cmtp: fix file refcount when cmtp_attach_device fails (Gopal Tiwari) [1990477] - Bluetooth: 6lowpan: delete unneeded variable initialization (Gopal Tiwari) [1990477] - Bluetooth: Return whether a connection is outbound (Gopal Tiwari) [1990477] - Bluetooth: SMP: Fix crash when receiving new connection when debug is enabled (Gopal Tiwari) [1990477] - Bluetooth: Fix spelling mistakes (Gopal Tiwari) [1990477] - Bluetooth: Set defaults for le_scan_{int,window}_adv_monitor (Gopal Tiwari) [1990477] - Bluetooth: Allow Microsoft extension to indicate curve validation (Gopal Tiwari) [1990477] - Bluetooth: Add support for reading AOSP vendor capabilities (Gopal Tiwari) [1990477] - Bluetooth: LL privacy allow RPA (Gopal Tiwari) [1990477] - Bluetooth: Handle own address type change with HCI_ENABLE_LL_PRIVACY (Gopal Tiwari) [1990477] - Bluetooth: Do not set cur_adv_instance in adv param MGMT request (Gopal Tiwari) [1990477] - Bluetooth: Use ext adv handle from requests in CCs (Gopal Tiwari) [1990477] - Bluetooth: use the correct print format for L2CAP debug statements (Gopal Tiwari) [1990477] - Bluetooth: SMP: Fix variable dereferenced before check 'conn' (Gopal Tiwari) [1990477] - Bluetooth: Check inquiry status before sending one (Gopal Tiwari) [1990477] - Bluetooth: Coding style fix (Gopal Tiwari) [1990477] - Bluetooth: Remove 'return' in void function (Gopal Tiwari) [1990477] - Bluetooth: Increment management interface revision (Gopal Tiwari) [1990477] - Bluetooth: Move the advertisement monitor events to correct list (Gopal Tiwari) [1990477] - Bluetooth: Add missing entries for PHY configuration commands (Gopal Tiwari) [1990477] - Bluetooth: Fix mgmt status for LL Privacy experimental feature (Gopal Tiwari) [1990477] - Bluetooth: Fix wrong opcode error for read advertising features (Gopal Tiwari) [1990477] - Bluetooth: L2CAP: Rudimentary typo fixes (Gopal Tiwari) [1990477] - Bluetooth: Remove trailing semicolon in macros (Gopal Tiwari) [1990477] - Bluetooth: check for zapped sk before connecting (Gopal Tiwari) [1990477] - Bluetooth: fix set_ecdh_privkey() prototype (Gopal Tiwari) [1990477] - Bluetooth: initialize skb_queue_head at l2cap_chan_create() (Gopal Tiwari) [1990477] - Bluetooth: Set CONF_NOT_COMPLETE as l2cap_chan default (Gopal Tiwari) [1990477] - Bluetooth: Fix incorrect status handling in LE PHY UPDATE event (Gopal Tiwari) [1990477] - Bluetooth: avoid deadlock between hci_dev->lock and socket lock (Gopal Tiwari) [1990477] - Bluetooth: SMP: Convert BT_ERR/BT_DBG to bt_dev_err/bt_dev_dbg (Gopal Tiwari) [1990477] - Bluetooth: L2CAP: Fix not checking for maximum number of DCID (Gopal Tiwari) [1990477] - Bluetooth: Cancel le_scan_restart work when stopping discovery (Gopal Tiwari) [1990477] - Bluetooth: SMP: Fail if remote and local public keys are identical (Gopal Tiwari) [1990477] - Bluetooth: Allow scannable adv with extended MGMT APIs (Gopal Tiwari) [1990477] - Bluetooth: Remove unneeded commands for suspend (Gopal Tiwari) [1990477] - Bluetooth: Notify suspend on le conn failed (Gopal Tiwari) [1990477] - Bluetooth: hci_uart: Remove redundant assignment to fw_ptr (Gopal Tiwari) [1990477] - Bluetooth: btmrvl: remove redundant continue statement (Gopal Tiwari) [1990477] - Bluetooth: btusb: use default nvm if boardID is 0 for wcn6855. (Gopal Tiwari) [1990477] - Bluetooth: btusb: fix bt fiwmare downloading failure issue for qca btsoc. (Gopal Tiwari) [1990477] - Bluetooth: btmtkuart: using pm_runtime_resume_and_get instead of pm_runtime_get_sync (Gopal Tiwari) [1990477] - Bluetooth: btrtl: rename USB fw for RTL8761 (Gopal Tiwari) [1990477] - Bluetooth: btusb: Add 0x0b05:0x190e Realtek 8761BU (ASUS BT500) device. (Gopal Tiwari) [1990477] - Bluetooth: hci_h5: Add RTL8822CS capabilities (Gopal Tiwari) [1990477] - Bluetooth: btusb: Add support USB ALT 3 for WBS (Gopal Tiwari) [1990477] - Bluetooth: btusb: Add a new QCA_ROME device (0cf3:e500) (Gopal Tiwari) [1990477] - Bluetooth: btqca: Don't modify firmware contents in-place (Gopal Tiwari) [1990477] - Bluetooth: btbcm: Add entry for BCM43430B0 UART Bluetooth (Gopal Tiwari) [1990477] - Bluetooth: hci_qca: fix potential GPF (Gopal Tiwari) [1990477] - Bluetooth: btusb: fix memory leak (Gopal Tiwari) [1990477] - Bluetooth: btusb: Fixed too many in-token issue for Mediatek Chip. (Gopal Tiwari) [1990477] - Bluetooth: btusb: Add support for Lite-On Mediatek Chip (Gopal Tiwari) [1990477] - Bluetooth: virtio_bt: add missing null pointer check on alloc_skb call return (Gopal Tiwari) [1990477] - Bluetooth: btusb: Fix failing to init controllers with operation firmware (Gopal Tiwari) [1990477] - Bluetooth: Add a new USB ID for RTL8822CE (Gopal Tiwari) [1990477] - Bluetooth: btusb: Revert Fix the autosuspend enable and disable (Gopal Tiwari) [1990477] - Bluetooth: Add support for virtio transport driver (Gopal Tiwari) [1990477] - Bluetooth: btusb: Enable quirk boolean flag for Mediatek Chip. (Gopal Tiwari) [1990477] - Bluetooth: btintel: Skip reading firmware file version while in bootloader mode (Gopal Tiwari) [1990477] - Bluetooth: btintel: Collect tlv based active firmware build info in FW mode (Gopal Tiwari) [1990477] - Bluetooth: btintel: Reorganized bootloader mode tlv checks in intel_version_tlv parsing (Gopal Tiwari) [1990477] - Bluetooth: btusb: Consolidate code for waiting firmware to boot (Gopal Tiwari) [1990477] - Bluetooth: btusb: Consolidate code for waiting firmware download (Gopal Tiwari) [1990477] - Bluetooth: btintel: Consolidate intel_version parsing (Gopal Tiwari) [1990477] - Bluetooth: btintel: Consolidate intel_version_tlv parsing (Gopal Tiwari) [1990477] - Bluetooth: btintel: Move operational checks after version check (Gopal Tiwari) [1990477] - Bluetooth: btintel: Check firmware version before download (Gopal Tiwari) [1990477] - Bluetooth: hci_qca: Mundane typo fix (Gopal Tiwari) [1990477] - Bluetooth: btbcm: Add BCM4330 and BCM4334 compatibles (Gopal Tiwari) [1990477] - Bluetooth: hci_qca: Add device_may_wakeup support (Gopal Tiwari) [1990477] - Bluetooth: btintel: Fix offset calculation boot address parameter (Gopal Tiwari) [1990477] - Bluetooth: btusb: print firmware file name on error loading firmware (Gopal Tiwari) [1990477] - Bluetooth: btbcm: Obtain and handle reset GPIO (Gopal Tiwari) [1990477] - Bluetooth: btusb: Fix incorrect type in assignment and uninitialized symbol (Gopal Tiwari) [1990477] - Bluetooth: btusb: support 0cb5:c547 Realtek 8822CE device (Gopal Tiwari) [1990477] - Bluetooth: hci_qca: Fixed issue during suspend (Gopal Tiwari) [1990477] - Bluetooth: btusb: fix excessive stack usage (Gopal Tiwari) [1990477] - Bluetooth: btusb: remove set but not used variable in btusb_mtk_setup_firmware_79xx (Gopal Tiwari) [1990477] - Bluetooth: btusb: Fix typo and correct the log print (Gopal Tiwari) [1990477] - Bluetooth: btusb: Fix memory leak in btusb_mtk_wmt_recv (Gopal Tiwari) [1990477] - Bluetooth: btusb: Add protocol support for MediaTek MT7921U USB devices (Gopal Tiwari) [1990477] - Bluetooth: btusb: Fine-tune mt7663 mechanism. (Gopal Tiwari) [1990477] - Bluetooth: hci_qca: check for SSR triggered flag while suspend (Gopal Tiwari) [1990477] - Bluetooth: btrtl: Enable WBS for the specific Realtek devices (Gopal Tiwari) [1990477] - Bluetooth: hci_h5: Set HCI_QUIRK_SIMULTANEOUS_DISCOVERY for btrtl (Gopal Tiwari) [1990477] - Bluetooth: hci_qca: Wait for SSR completion during suspend (Gopal Tiwari) [1990477] - Bluetooth: hci_qca: Fix memleak in qca_controller_memdump (Gopal Tiwari) [1990477] - Bluetooth: hci_h5: Add support for binding RTL8723DS with device tree (Gopal Tiwari) [1990477] - Bluetooth: btusb: Add support for GarfieldPeak controller (Gopal Tiwari) [1990477] - Bluetooth: btrtl: Add null check in setup (Gopal Tiwari) [1990477] - Bluetooth: btrtl: Enable central-peripheral role (Gopal Tiwari) [1990477] - Bluetooth: btusb: Remove duplicate newlines from logging (Gopal Tiwari) [1990477] - Bluetooth: btmtksdio: Fixed switch and case should be at the same indent (Gopal Tiwari) [1990477] - Revert "Bluetooth: btintel: Fix endianness issue for TLV version information" (Gopal Tiwari) [1990477] - Bluetooth: hci_bcm: Add support for ISO packets (Gopal Tiwari) [1990477] - Bluetooth: btusb: add shutdown function for wcn6855 (Gopal Tiwari) [1990477] - Bluetooth: hci_uart: Fix a race for write_work scheduling (Gopal Tiwari) [1990477] - Bluetooth: btqca: Add support to read FW build version for WCN3991 BTSoC (Gopal Tiwari) [1990477] - Bluetooth: btusb: Always fallback to alt 1 for WBS (Gopal Tiwari) [1990477] - Bluetooth: btqcomsmd: Fix a resource leak in error handling paths in the probe function (Gopal Tiwari) [1990477] - Bluetooth: Fix null pointer dereference in amp_read_loc_assoc_final_data (Gopal Tiwari) [1990477] - Bluetooth: Skip eSCO 2M params when not supported (Gopal Tiwari) [1990477] - Bluetooth: fix indentation and alignment reported by checkpatch (Gopal Tiwari) [1990477] - Bluetooth: fix coccicheck warnings debugfs (Gopal Tiwari) [1990477] - Bluetooth: Add new HCI_QUIRK_NO_SUSPEND_NOTIFIER quirk (Gopal Tiwari) [1990477] - Bluetooth: L2CAP: Try harder to accept device not knowing options (Gopal Tiwari) [1990477] - Bluetooth: L2CAP: Fix handling fragmented length (Gopal Tiwari) [1990477] - Bluetooth: btusb: fix memory leak on suspend and resume (Gopal Tiwari) [1990477] - Bluetooth: Put HCI device if inquiry procedure interrupts (Gopal Tiwari) [1990477] - Bluetooth: drop HCI device reference before return (Gopal Tiwari) [1990477] - Bluetooth: avoid u128_xor() on potentially misaligned inputs (Gopal Tiwari) [1990477] - Bluetooth: Fix initializing response id after clearing struct (Gopal Tiwari) [1990477] - Bluetooth: Cancel Inquiry before Create Connection (Gopal Tiwari) [1990477] - Bluetooth: Pause service discovery for suspend (Gopal Tiwari) [1990477] - Bluetooth: Remove hci_req_le_suspend_config (Gopal Tiwari) [1990477] - Bluetooth: Increment management interface revision (Gopal Tiwari) [1990477] - Bluetooth: Set missing suspend task bits (Gopal Tiwari) [1990477] - Bluetooth: Change MGMT security info CMD to be more generic (Gopal Tiwari) [1990477] - Bluetooth: Query LE tx power on startup (Gopal Tiwari) [1990477] - Bluetooth: Use intervals and tx power from mgmt cmds (Gopal Tiwari) [1990477] - Bluetooth: Break add adv into two mgmt commands (Gopal Tiwari) [1990477] - Bluetooth: Add helper to set adv data (Gopal Tiwari) [1990477] - Bluetooth: Add toggle to switch off interleave scan (Gopal Tiwari) [1990477] - Bluetooth: Refactor read default sys config for various types (Gopal Tiwari) [1990477] - Bluetooth: Handle active scan case (Gopal Tiwari) [1990477] - Bluetooth: Handle system suspend resume case (Gopal Tiwari) [1990477] - Bluetooth: Interleave with allowlist scan (Gopal Tiwari) [1990477] - Bluetooth: Fix attempting to set RPA timeout when unsupported (Gopal Tiwari) [1990477] - Bluetooth: Rename get_adv_instance_scan_rsp (Gopal Tiwari) [1990477] - Bluetooth: Fix not sending Set Extended Scan Response (Gopal Tiwari) [1990477] - Bluetooth: Fix for Bluetooth SIG test L2CAP/COS/CFD/BV-14-C (Gopal Tiwari) [1990477] - Bluetooth: sco: Fix crash when using BT_SNDMTU/BT_RCVMTU option (Gopal Tiwari) [1990477] - Bluetooth: Replace BT_DBG with bt_dev_dbg in HCI request (Gopal Tiwari) [1990477] - Bluetooth: consolidate error paths in hci_phy_link_complete_evt() (Gopal Tiwari) [1990477] - Bluetooth: Enforce key size of 16 bytes on FIPS level (Gopal Tiwari) [1990477] - Bluetooth: hidp: use correct wait queue when removing ctrl_wait (Gopal Tiwari) [1990477] - Bluetooth: Move force_bredr_smp debugfs into hci_debugfs_create_bredr (Gopal Tiwari) [1990477] - Bluetooth: Fix: LL PRivacy BLE device fails to connect (Gopal Tiwari) [1990477] - Bluetooth: Resume advertising after LE connection (Gopal Tiwari) [1990477] - Bluetooth: Fix slab-out-of-bounds read in hci_le_direct_adv_report_evt() (Gopal Tiwari) [1990477] - Bluetooth: Replace zero-length array with flexible-array member (Gopal Tiwari) [1990477] - Bluetooth: MGMT: Fix not checking if BT_HS is enabled (Gopal Tiwari) [1990477] - Bluetooth: Disable High Speed by default (Gopal Tiwari) [1990477] - Bluetooth: Fix update of own_addr_type if ll_privacy supported (Gopal Tiwari) [1990477] - Bluetooth: Fix auto-creation of hci_conn at Conn Complete event (Gopal Tiwari) [1990477] - Bluetooth: Set scan parameters for ADV Monitor (Gopal Tiwari) [1990477] - Bluetooth: Update Adv monitor count upon removal (Gopal Tiwari) [1990477] - net: bluetooth: delete duplicated words (Gopal Tiwari) [1990477] - Bluetooth: pause/resume advertising around suspend (Gopal Tiwari) [1990477] - Bluetooth: Emit controller suspend and resume events (Gopal Tiwari) [1990477] - Bluetooth: Add suspend reason for device disconnect (Gopal Tiwari) [1990477] - Bluetooth: Add mgmt suspend and resume events (Gopal Tiwari) [1990477] - Bluetooth: Set ext scan response only when it exists (Gopal Tiwari) [1990477] - Bluetooth: Only mark socket zapped after unlocking (Gopal Tiwari) [1990477] - Bluetooth: Add MGMT capability flags for tx power and ext advertising (Gopal Tiwari) [1990477] - Bluetooth: Report num supported adv instances for hw offloading (Gopal Tiwari) [1990477] - Bluetooth: sco: new getsockopt options BT_SNDMTU/BT_RCVMTU (Gopal Tiwari) [1990477] - Bluetooth: Re-order clearing suspend tasks (Gopal Tiwari) [1990477] - Bluetooth: Fix memory leak in read_adv_mon_features() (Gopal Tiwari) [1990477] - Bluetooth: Clear suspend tasks on unregister (Gopal Tiwari) [1990477] - Bluetooth: Remove CRYPTO_ALG_INTERNAL flag (Gopal Tiwari) [1990477] - Bluetooth: Increment management interface revision (Gopal Tiwari) [1990477] - Bluetooth: use the proper scan params when conn is pending (Gopal Tiwari) [1990477] - Bluetooth: Enable controller RPA resolution using Experimental feature (Gopal Tiwari) [1990477] - Bluetooth: Let controller creates RPA during le create conn (Gopal Tiwari) [1990477] - Bluetooth: Translate additional address type during le_conn (Gopal Tiwari) [1990477] - Bluetooth: Enable RPA Timeout (Gopal Tiwari) [1990477] - Bluetooth: Enable/Disable address resolution during le create conn (Gopal Tiwari) [1990477] - Bluetooth: Configure controller address resolution if available (Gopal Tiwari) [1990477] - Bluetooth: Translate additional address type correctly (Gopal Tiwari) [1990477] - Bluetooth: Update resolving list when updating whitelist (Gopal Tiwari) [1990477] - Bluetooth: Fix suspend notifier race (Gopal Tiwari) [1990477] - Bluetooth: Return NOTIFY_DONE for hci_suspend_notifier (Gopal Tiwari) [1990477] - Bluetooth: Add per-instance adv disable/remove (Gopal Tiwari) [1990477] - Replace HTTP links with HTTPS ones: BLUETOOTH SUBSYSTEM (Gopal Tiwari) [1990477] - Bluetooth: RFCOMM: Use fallthrough pseudo-keyword (Gopal Tiwari) [1990477] - Bluetooth: core: Use fallthrough pseudo-keyword (Gopal Tiwari) [1990477] - Bluetooth: Use whitelist for scan policy when suspending (Gopal Tiwari) [1990477] - Bluetooth: le_simult_central_peripheral experimental feature (Gopal Tiwari) [1990477] - Bluetooth: Fix kernel oops triggered by hci_adv_monitors_clear() (Gopal Tiwari) [1990477] - Bluetooth: use configured default params for active scans (Gopal Tiwari) [1990477] - Bluetooth: Adding a configurable autoconnect timeout (Gopal Tiwari) [1990477] - Bluetooth: Don't restart scanning if paused (Gopal Tiwari) [1990477] - Bluetooth: add a mutex lock to avoid UAF in do_enale_set (Gopal Tiwari) [1990477] - Bluetooth: use configured params for ext adv (Gopal Tiwari) [1990477] - Bluetooth: Add hci_dev_lock to get/set device flags (Gopal Tiwari) [1990477] - Bluetooth: mgmt: Use command complete on success for set system config (Gopal Tiwari) [1990477] - Bluetooth: Terminate the link if pairing is cancelled (Gopal Tiwari) [1990477] - Bluetooth: Update background scan and report device based on advertisement monitors (Gopal Tiwari) [1990477] - Bluetooth: Notify adv monitor removed event (Gopal Tiwari) [1990477] - Bluetooth: Notify adv monitor added event (Gopal Tiwari) [1990477] - Bluetooth: Add handler of MGMT_OP_REMOVE_ADV_MONITOR (Gopal Tiwari) [1990477] - Bluetooth: Add handler of MGMT_OP_ADD_ADV_PATTERNS_MONITOR (Gopal Tiwari) [1990477] - Bluetooth: Add handler of MGMT_OP_READ_ADV_MONITOR_FEATURES (Gopal Tiwari) [1990477] - Bluetooth: Add definitions for advertisement monitor features (Gopal Tiwari) [1990477] - Bluetooth: Add get/set device flags mgmt op (Gopal Tiwari) [1990477] - Bluetooth: Replace wakeable in hci_conn_params (Gopal Tiwari) [1990477] - Bluetooth: Replace wakeable list with flag (Gopal Tiwari) [1990477] - Bluetooth: Add bdaddr_list_with_flags for classic whitelist (Gopal Tiwari) [1990477] - Bluetooth: mgmt: Add commands for runtime configuration (Gopal Tiwari) [1990477] - Bluetooth: implement read/set default system parameters mgmt (Gopal Tiwari) [1990477] - Bluetooth: mgmt: read/set system parameter definitions (Gopal Tiwari) [1990477] - Bluetooth: centralize default value initialization. (Gopal Tiwari) [1990477] - Bluetooth: Use only 8 bits for the HCI CMSG state flags (Gopal Tiwari) [1990477] - Bluetooth: Add support for BT_PKT_STATUS CMSG data for SCO connections (Gopal Tiwari) [1990477] - Bluetooth: Removing noisy dbg message (Gopal Tiwari) [1990477] - Bluetooth: Fix update of connection state in `hci_encrypt_cfm` (Gopal Tiwari) [1990477] - Bluetooth: Fix assuming EIR flags can result in SSP authentication (Gopal Tiwari) [1990477] - Bluetooth: Consolidate encryption handling in hci_encrypt_cfm (Gopal Tiwari) [1990477] - Bluetooth: Add SCO fallback for invalid LMP parameters error (Gopal Tiwari) [1990477] - Bluetooth: Fix for GAP/SEC/SEM/BI-10-C (Gopal Tiwari) [1990477] - Bluetooth: L2CAP: add support for waiting disconnection resp (Gopal Tiwari) [1990477] - Bluetooth: Handle Inquiry Cancel error after Inquiry Complete (Gopal Tiwari) [1990477] - Bluetooth: Rename BT_SUSPEND_COMPLETE (Gopal Tiwari) [1990477] - Bluetooth: Introduce debug feature when dynamic debug is disabled (Gopal Tiwari) [1990477] - Bluetooth: Fix advertising handle is set to 0 (Gopal Tiwari) [1990477] - Bluetooth: Introduce HCI_MGMT_HDEV_OPTIONAL option (Gopal Tiwari) [1990477] - Bluetooth: Add support for experimental features configuration (Gopal Tiwari) [1990477] - Bluetooth: L2CAP: Fix errors during L2CAP_CREDIT_BASED_CONNECTION_REQ (0x17) (Gopal Tiwari) [1990477] - Bluetooth: Add MGMT_EV_PHY_CONFIGURATION_CHANGED to supported list (Gopal Tiwari) [1990477] - Bluetooth: use crypto_shash_tfm_digest() (Gopal Tiwari) [1990477] - Bluetooth: allow scatternet connections if supported. (Gopal Tiwari) [1990477] - Bluetooth: Enhanced Connection Complete event belongs to LL Privacy (Gopal Tiwari) [1990477] - Bluetooth: Enable LE Enhanced Connection Complete event. (Gopal Tiwari) [1990477] - Bluetooth: Use extra variable to make code more readable (Gopal Tiwari) [1990477] - Bluetooth: log advertisement packet length if it gets corrected (Gopal Tiwari) [1990477] - Bluetooth: Always request for user confirmation for Just Works (LE SC) (Gopal Tiwari) [1990477] - Bluetooth: Simplify / fix return values from tk_request (Gopal Tiwari) [1990477] - Bluetooth: debugfs option to unset MITM flag (Gopal Tiwari) [1990477] - Bluetooth: Increment management interface revision (Gopal Tiwari) [1990477] - Bluetooth: replace zero-length array with flexible-array member (Gopal Tiwari) [1990477] - Bluetooth: Add support for reading security information (Gopal Tiwari) [1990477] - Bluetooth: Add support for Read Local Simple Pairing Options (Gopal Tiwari) [1990477] - Bluetooth: Add framework for Microsoft vendor extension (Gopal Tiwari) [1990477] - Bluetooth: Move debugfs configuration above the selftests (Gopal Tiwari) [1990477] - Bluetooth: fixing minor typo in comment (Gopal Tiwari) [1990477] - Bluetooth: Prioritize SCO traffic (Gopal Tiwari) [1990477] - Bluetooth: L2CAP: Fix handling LE modes by L2CAP_OPTIONS (Gopal Tiwari) [1990477] - Bluetooth: Always request for user confirmation for Just Works (Gopal Tiwari) [1990477] - Bluetooth: Add BT_MODE socket option (Gopal Tiwari) [1990477] - crypto: shash - remove shash_desc::flags (Gopal Tiwari) [1990477] - cifs: On cifs_reconnect, resolve the hostname again. (Ronnie Sahlberg) [2018046] - cifs: Handle witness client move notification (Ronnie Sahlberg) [2018046] - cifs: Send witness register messages to userspace daemon in echo task (Ronnie Sahlberg) [2018046] - cifs: Add witness information to debug data dump (Ronnie Sahlberg) [2018046] - cifs: Set witness notification handler for messages from userspace daemon (Ronnie Sahlberg) [2018046] - cifs: Send witness register and unregister commands to userspace daemon (Ronnie Sahlberg) [2018046] - cifs: Register generic netlink family (Ronnie Sahlberg) [2018046] - cifs: add witness mount option and data structs (Ronnie Sahlberg) [2018046] - cifs: Simplify reconnect code when dfs upcall is enabled (Ronnie Sahlberg) [2018046] - file: fix close_range() for unshare+cloexec (Pavel Reichl) [1950248] - scsi: lpfc: Update lpfc version to 14.0.0.3 (Dick Kennedy) [1989265] - scsi: lpfc: Allow fabric node recovery if recovery is in progress before devloss (Dick Kennedy) [1989265] - scsi: lpfc: Fix link down processing to address NULL pointer dereference (Dick Kennedy) [1989265] - scsi: lpfc: Allow PLOGI retry if previous PLOGI was aborted (Dick Kennedy) [1989265] - scsi: lpfc: Fix use-after-free in lpfc_unreg_rpi() routine (Dick Kennedy) [1989265] - scsi: lpfc: Correct sysfs reporting of loop support after SFP status change (Dick Kennedy) [1989265] - scsi: lpfc: Wait for successful restart of SLI3 adapter during host sg_reset (Dick Kennedy) [1989265] - scsi: lpfc: Revert LOG_TRACE_EVENT back to LOG_INIT prior to driver_resource_setup() (Dick Kennedy) [1989265] - scsi: lpfc: Fix memory overwrite during FC-GS I/O abort handling (Dick Kennedy) [1989265] - scsi: lpfc: Add support for optional PLDV handling (Dick Kennedy) [1989265] - scsi: lpfc: Return NULL rather than a plain 0 integer (Dick Kennedy) [1989265] - scsi: lpfc: Fix a function name in comments (Dick Kennedy) [1989265] - scsi: lpfc: Fix mailbox command failure during driver initialization (Dick Kennedy) [1989265] - scsi: lpfc: Fix gcc -Wstringop-overread warning, again (Dick Kennedy) [1989265] - scsi: lpfc: Use correct scnprintf() limit (Dick Kennedy) [1989265] - scsi: lpfc: Fix sprintf() overflow in lpfc_display_fpin_wwpn() (Dick Kennedy) [1989265] - scsi: lpfc: Update lpfc version to 14.0.0.2 (Dick Kennedy) [1989265] - scsi: lpfc: Improve PBDE checks during SGL processing (Dick Kennedy) [1989265] - scsi: lpfc: Zero CGN stats only during initial driver load and stat reset (Dick Kennedy) [1989265] - scsi: lpfc: Fix I/O block after enabling managed congestion mode (Dick Kennedy) [1989265] - scsi: lpfc: Adjust bytes received vales during cmf timer interval (Dick Kennedy) [1989265] - scsi: fc: Add EDC ELS definition (Dick Kennedy) [1989265] - scsi: lpfc: Fix EEH support for NVMe I/O (Dick Kennedy) [1989265] - scsi: lpfc: Fix FCP I/O flush functionality for TMF routines (Dick Kennedy) [1989265] - scsi: lpfc: Fix NVMe I/O failover to non-optimized path (Dick Kennedy) [1989265] - scsi: lpfc: Don't remove ndlp on PRLI errors in P2P mode (Dick Kennedy) [1989265] - scsi: lpfc: Fix rediscovery of tape device after LIP (Dick Kennedy) [1989265] - scsi: lpfc: Fix hang on unload due to stuck fport node (Dick Kennedy) [1989265] - scsi: lpfc: Fix premature rpi release for unsolicited TPLS and LS_RJT (Dick Kennedy) [1989265] - scsi: lpfc: Don't release final kref on Fport node while ABTS outstanding (Dick Kennedy) [1989265] - scsi: lpfc: Fix list_add() corruption in lpfc_drain_txq() (Dick Kennedy) [1989265] - scsi: lpfc: Remove unneeded variable (Dick Kennedy) [1989265] - scsi: lpfc: Fix compilation errors on kernels with no CONFIG_DEBUG_FS (Dick Kennedy) [1989265] - scsi: lpfc: Fix CPU to/from endian warnings introduced by ELS processing (Dick Kennedy) [1989265] - scsi: lpfc: Copyright updates for 14.0.0.1 patches (Dick Kennedy) [1989265] - scsi: lpfc: Update lpfc version to 14.0.0.1 (Dick Kennedy) [1989265] - scsi: lpfc: Add bsg support for retrieving adapter cmf data (Dick Kennedy) [1989265] - scsi: lpfc: Add cmf_info sysfs entry (Dick Kennedy) [1989265] - scsi: lpfc: Add debugfs support for cm framework buffers (Dick Kennedy) [1989265] - scsi: lpfc: Add support for maintaining the cm statistics buffer (Dick Kennedy) [1989265] - scsi: lpfc: Add rx monitoring statistics (Dick Kennedy) [1989265] - scsi: lpfc: Add support for the CM framework (Dick Kennedy) [1989265] - scsi: lpfc: Add cmfsync WQE support (Dick Kennedy) [1989265] - scsi: lpfc: Add support for cm enablement buffer (Dick Kennedy) [1989265] - scsi: lpfc: Add cm statistics buffer support (Dick Kennedy) [1989265] - scsi: lpfc: Add EDC ELS support (Dick Kennedy) [1989265] - scsi: lpfc: Expand FPIN and RDF receive logging (Dick Kennedy) [1989265] - scsi: lpfc: Add MIB feature enablement support (Dick Kennedy) [1989265] - scsi: lpfc: Add SET_HOST_DATA mbox cmd to pass date/time info to firmware (Dick Kennedy) [1989265] - scsi: lpfc: Fix possible ABBA deadlock in nvmet_xri_aborted() (Dick Kennedy) [1989265] - scsi: lpfc: Remove redundant assignment to pointer pcmd (Dick Kennedy) [1989265] - scsi: lpfc: Copyright updates for 14.0.0.0 patches (Dick Kennedy) [1989265] - scsi: lpfc: Update lpfc version to 14.0.0.0 (Dick Kennedy) [1989265] - scsi: lpfc: Add 256 Gb link speed support (Dick Kennedy) [1989265] - scsi: lpfc: Revise Topology and RAS support checks for new adapters (Dick Kennedy) [1989265] - scsi: lpfc: Fix cq_id truncation in rq create (Dick Kennedy) [1989265] - scsi: lpfc: Add PCI ID support for LPe37000/LPe38000 series adapters (Dick Kennedy) [1989265] - scsi: lpfc: Copyright updates for 12.8.0.11 patches (Dick Kennedy) [1989265] - scsi: lpfc: Update lpfc version to 12.8.0.11 (Dick Kennedy) [1989265] - scsi: lpfc: Skip issuing ADISC when node is in NPR state (Dick Kennedy) [1989265] - scsi: lpfc: Skip reg_vpi when link is down for SLI3 in ADISC cmpl path (Dick Kennedy) [1989265] - scsi: lpfc: Call discovery state machine when handling PLOGI/ADISC completions (Dick Kennedy) [1989265] - scsi: lpfc: Delay unregistering from transport until GIDFT or ADISC completes (Dick Kennedy) [1989265] - scsi: lpfc: Enable adisc discovery after RSCN by default (Dick Kennedy) [1989265] - scsi: lpfc: Use PBDE feature enabled bit to determine PBDE support (Dick Kennedy) [1989265] - scsi: lpfc: Clear outstanding active mailbox during PCI function reset (Dick Kennedy) [1989265] - scsi: lpfc: Fix KASAN slab-out-of-bounds in lpfc_unreg_rpi() routine (Dick Kennedy) [1989265] - scsi: lpfc: Remove REG_LOGIN check requirement to issue an ELS RDF (Dick Kennedy) [1989265] - scsi: lpfc: Fix NULL ptr dereference with NPIV ports for RDF handling (Dick Kennedy) [1989265] - scsi: lpfc: Fix target reset handler from falsely returning FAILURE (Dick Kennedy) [1989265] - scsi: lpfc: Discovery state machine fixes for LOGO handling (Dick Kennedy) [1989265] - scsi: lpfc: Fix function description comments for vmid routines (Dick Kennedy) [1989265] - scsi: lpfc: Improve firmware download logging (Dick Kennedy) [1989265] - scsi: lpfc: Remove use of kmalloc() in trace event logging (Dick Kennedy) [1989265] - scsi: lpfc: Fix NVMe support reporting in log message (Dick Kennedy) [1989265] - scsi: lpfc: Fix build error in lpfc_scsi.c (Dick Kennedy) [1989265] - scsi: lpfc: Use list_move_tail() instead of list_del()/list_add_tail() (Dick Kennedy) [1989265] - scsi: lpfc: vmid: Introduce VMID in I/O path (Dick Kennedy) [1989265] - scsi: lpfc: vmid: Add QFPA and VMID timeout check in worker thread (Dick Kennedy) [1989265] - scsi: lpfc: vmid: Timeout implementation for VMID (Dick Kennedy) [1989265] - scsi: lpfc: vmid: Append the VMID to the wqe before sending (Dick Kennedy) [1989265] - scsi: lpfc: vmid: Implement CT commands for appid (Dick Kennedy) [1989265] - scsi: lpfc: vmid: Functions to manage VMIDs (Dick Kennedy) [1989265] - scsi: lpfc: vmid: Implement ELS commands for appid (Dick Kennedy) [1989265] - scsi: lpfc: vmid: Add support for VMID in mailbox command (Dick Kennedy) [1989265] - scsi: lpfc: vmid: VMID parameter initialization (Dick Kennedy) [1989265] - scsi: lpfc: vmid: Add datastructure for supporting VMID in lpfc (Dick Kennedy) [1989265] - redhat/config: Rename CONFIG_DEBUG_KMEMLEAK_EARLY_LOG_SIZE to CONFIG_DEBUG_KMEMLEAK_MEM_POOL_SIZE (Waiman Long) [2018425] - kasan, kmemleak: reset tags when scanning block (Waiman Long) [2018425] - mm/kmemleak: rely on rcu for task stack scanning (Waiman Long) [2018425] - mm/kmemleak: silence KCSAN splats in checksum (Waiman Long) [2018425] - mm/kmemleak: turn kmemleak_lock and object->lock to raw_spinlock_t (Waiman Long) [2018425] - kmemleak: Do not corrupt the object_list during clean-up (Waiman Long) [2018425] - mm: kmemleak: use the memory pool for early allocations (Waiman Long) [2018425] - mm: kmemleak: simple memory allocation pool for kmemleak objects (Waiman Long) [2018425] - mm: kmemleak: make the tool tolerant to struct scan_area allocation failures (Waiman Long) [2018425] - kmemleak: increase DEBUG_KMEMLEAK_EARLY_LOG_SIZE default to 16K (Waiman Long) [2018425] - mm: kmemleak: disable early logging in case of error (Waiman Long) [2018425] - mm/kmemleak.c: fix unused-function warning (Waiman Long) [2018425] - kmemleak: powerpc: skip scanning holes in the .bss section (Waiman Long) [2018425] - mm: kmemleak: no need to check return value of debugfs_create functions (Waiman Long) [2018425]- powerpc/smp: Use existing L2 cache_map cpumask to find L3 cache siblings (Desnes A. Nunes do Rosario) [2013537] - powerpc/cacheinfo: Remove the redundant get_shared_cpu_map() (Desnes A. Nunes do Rosario) [2013537] - powerpc/cacheinfo: Lookup cache by dt node and thread-group id (Desnes A. Nunes do Rosario) [2013537] - Revert "thunderbolt: Hide authorized attribute if router does not support PCIe tunnels" (Torez Smith) [1969444] - thunderbolt: Add quirk for Intel Goshen Ridge DP credits (Torez Smith) [1969444] - thunderbolt: Update port credits after bonding is enabled/disabled (Torez Smith) [1969444] - thunderbolt: Wait for the lanes to actually bond (Torez Smith) [1969444] - thunderbolt: Read router preferred credit allocation information (Torez Smith) [1969444] - thunderbolt: Make tb_port_type() take const parameter (Torez Smith) [1969444] - thunderbolt: Move nfc_credits field to struct tb_path_hop (Torez Smith) [1969444] - thunderbolt: Align USB4 router wakes configuration with the CM guide (Torez Smith) [1969444] - thunderbolt: Add wake from DisplayPort (Torez Smith) [1969444] - thunderbolt: Use generic tb_nvm_[read|write]_data() for Thunderbolt 2/3 devices (Torez Smith) [1969444] - thunderbolt: Split NVM read/write generic functions out from usb4.c (Torez Smith) [1969444] - thunderbolt: Add self-authenticate support for new dock (Torez Smith) [1969444] - thunderbolt: usb4: Fix NVM read buffer bounds and offset issue (Torez Smith) [1969444] - thunderbolt: dma_port: Fix NVM read buffer bounds and offset issue (Torez Smith) [1969444] - thunderbolt: Hide authorized attribute if router does not support PCIe tunnels (Torez Smith) [1969444] - x86/mce: Avoid infinite loop for copy from user recovery (Prarit Bhargava) [1999550] - x86/mce: Rename kill_it to kill_current_task (Prarit Bhargava) [1999550] - x86/mce: Recover from poison found while copying from user space (Prarit Bhargava) [1999550] - x86/mce: Delay clearing IA32_MCG_STATUS to the end of do_machine_check() (Prarit Bhargava) [1999550] - x86/mce: Send #MC singal from task work (Prarit Bhargava) [1999550] - redhat/config: Enable Nitro Enclaves on aarch64 (Vitaly Kuznetsov) [2001581] - nitro_enclaves: Add fixes for checkpatch match open parenthesis reports (Vitaly Kuznetsov) [2001581] - nitro_enclaves: Update copyright statement to include 2021 (Vitaly Kuznetsov) [2001581] - nitro_enclaves: Add fix for the kernel-doc report (Vitaly Kuznetsov) [2001581] - nitro_enclaves: Enable Arm64 support (Vitaly Kuznetsov) [2001581] - nitro_enclaves: Set Bus Master for the NE PCI device (Vitaly Kuznetsov) [2001581] - nitro_enclaves: Fixup type and simplify logic of the poll mask setup (Vitaly Kuznetsov) [2001581] - mptcp: Make mptcp_pm_nl_mp_prio_send_ack() static (Davide Caratti) [2020198] - mptcp: fix possible stall on recvmsg() (Davide Caratti) [2020198] - mptcp: don't clear MPTCP_DATA_READY in sk_wait_event() (Davide Caratti) [2020198] - net: introduce and use lock_sock_fast_nested() (Davide Caratti) [2020198] - net: add annotation for sock_{lock,unlock}_fast (Davide Caratti) [2020198] - mptcp: allow changing the 'backup' bit when no sockets are open (Davide Caratti) [2020198] - mptcp: don't return sockets in foreign netns (Davide Caratti) [2020198] - mptcp: ensure tx skbs always have the MPTCP ext (Davide Caratti) [2020198] - mptcp: full fully established support after ADD_ADDR (Davide Caratti) [2020198] - redhat/configs: Move Hyper-V configs to 'generic' (Vitaly Kuznetsov) [1949614] - redhat/configs: enable CONFIG_INPUT_KEYBOARD on Aarch64 (Vitaly Kuznetsov) [1949614] - efi/libstub/random: Align allocate size to EFI_ALLOC_ALIGN (Vitaly Kuznetsov) [1949614] - efi/libstub: arm64: Double check image alignment at entry (Vitaly Kuznetsov) [1949614] - efi/arm64: Update debug prints to reflect other entropy sources (Vitaly Kuznetsov) [1949614] - efi/arm64: libstub: Deal gracefully with EFI_RNG_PROTOCOL failure (Vitaly Kuznetsov) [1949614] - Drivers: hv: Enable Hyper-V code to be built on ARM64 (Vitaly Kuznetsov) [1949614] - x86/Kconfig: Add new X86_HV_CALLBACK_VECTOR config symbol (Vitaly Kuznetsov) [1949614] - arm64: efi: Export screen_info (Vitaly Kuznetsov) [1949614] - arm64: hyperv: Initialize hypervisor on boot (Vitaly Kuznetsov) [1949614] - arm64: hyperv: Add panic handler (Vitaly Kuznetsov) [1949614] - arm64: hyperv: Add Hyper-V hypercall and register access utilities (Vitaly Kuznetsov) [1949614] - arm64: add arch/arm64/Kbuild (Vitaly Kuznetsov) [1949614] - PCI: hv: Turn on the host bridge probing on ARM64 (Vitaly Kuznetsov) [1949614] - PCI: hv: Set up MSI domain at bridge probing time (Vitaly Kuznetsov) [1949614] - PCI: hv: Set ->domain_nr of pci_host_bridge at probing time (Vitaly Kuznetsov) [1949614] - PCI: hv: Generify PCI probing (Vitaly Kuznetsov) [1949614] - arm64: PCI: Support root bridge preparation for Hyper-V (Vitaly Kuznetsov) [1949614] - arm64: PCI: Restructure pcibios_root_bridge_prepare() (Vitaly Kuznetsov) [1949614] - PCI: Support populating MSI domains of root buses via bridges (Vitaly Kuznetsov) [1949614] - PCI: Introduce domain_nr in pci_host_bridge (Vitaly Kuznetsov) [1949614] - drivers: hv: Decouple Hyper-V clock/timer code from VMbus drivers (Vitaly Kuznetsov) [1949614] - Drivers: hv: Move Hyper-V misc functionality to arch-neutral code (Vitaly Kuznetsov) [1949614] - x86/hyperv: handling hypercall page setup for root (Vitaly Kuznetsov) [1949614] - Drivers: hv: Add arch independent default functions for some Hyper-V handlers (Vitaly Kuznetsov) [1949614] - Drivers: hv: Make portions of Hyper-V init code be arch neutral (Vitaly Kuznetsov) [1949614] - asm-generic/hyperv: Add missing #include of nmi.h (Vitaly Kuznetsov) [1949614] - PCI: hv: Support for create interrupt v3 (Vitaly Kuznetsov) [1949614] - Drivers: hv: Move Hyper-V extended capability check to arch neutral code (Vitaly Kuznetsov) [1949614] - clocksource/drivers/hyper-v: Re-enable VDSO_CLOCKMODE_HVCLOCK on X86 (Vitaly Kuznetsov) [1949614] - clocksource/drivers/hyper-v: Handle vDSO differences inline (Vitaly Kuznetsov) [1949614] - arm64: smccc: Add support for SMCCCv1.2 extended input/output registers (Vitaly Kuznetsov) [1949614] - smccc: Define vendor hyp owned service call region (Vitaly Kuznetsov) [1949614] - scsi: smartpqi: Update version to 2.1.12-055 (Don Brace) [2018317] - scsi: smartpqi: Add 3252-8i PCI id (Don Brace) [2018317] - scsi: smartpqi: Fix duplicate device nodes for tape changers (Don Brace) [2018317] - scsi: smartpqi: Fix boot failure during LUN rebuild (Don Brace) [2018317] - scsi: smartpqi: Add extended report physical LUNs (Don Brace) [2018317] - scsi: smartpqi: Avoid failing I/Os for offline devices (Don Brace) [2018317] - scsi: smartpqi: Add TEST UNIT READY check for SANITIZE operation (Don Brace) [2018317] - scsi: smartpqi: Update LUN reset handler (Don Brace) [2018317] - scsi: smartpqi: Capture controller reason codes (Don Brace) [2018317] - scsi: smartpqi: Add controller handshake during kdump (Don Brace) [2018317] - scsi: smartpqi: Update device removal management (Don Brace) [2018317] - KVM: PPC: Tick accounting should defer vtime accounting 'til after IRQ handling (Laurent Vivier) [2009312] - vhost_net: fix OoB on sendmsg() failure. (Paolo Abeni) [1922828] - scsi: qla2xxx: Update version to 10.02.06.200-k (Nilesh Javali) [1983874] - scsi: qla2xxx: edif: Fix returnvar.cocci warnings (Nilesh Javali) [1983874] - scsi: qla2xxx: Fix NVMe session down detection (Nilesh Javali) [1983874] - scsi: qla2xxx: Fix NVMe retry (Nilesh Javali) [1983874] - scsi: qla2xxx: Fix hang on NVMe command timeouts (Nilesh Javali) [1983874] - scsi: qla2xxx: Fix NVMe | FCP personality change (Nilesh Javali) [1983874] - scsi: qla2xxx: edif: Do secure PLOGI when auth app is present (Nilesh Javali) [1983874] - scsi: qla2xxx: edif: Add N2N support for EDIF (Nilesh Javali) [1983874] - scsi: qla2xxx: Fix hang during NVMe session tear down (Nilesh Javali) [1983874] - scsi: qla2xxx: edif: Fix EDIF enable flag (Nilesh Javali) [1983874] - scsi: qla2xxx: edif: Reject AUTH ELS on session down (Nilesh Javali) [1983874] - scsi: qla2xxx: edif: Fix stale session (Nilesh Javali) [1983874] - scsi: qla2xxx: Update version to 10.02.06.100-k (Nilesh Javali) [1983874] - scsi: qla2xxx: Sync queue idx with queue_pair_map idx (Nilesh Javali) [1983874] - scsi: qla2xxx: Changes to support kdump kernel for NVMe BFS (Nilesh Javali) [1983874] - scsi: qla2xxx: Changes to support kdump kernel (Nilesh Javali) [1983874] - scsi: qla2xxx: Fix NPIV create erroneous error (Nilesh Javali) [1983874] - scsi: qla2xxx: Fix unsafe removal from linked list (Nilesh Javali) [1983874] - scsi: qla2xxx: Fix port type info (Nilesh Javali) [1983874] - scsi: qla2xxx: Add debug print of 64G link speed (Nilesh Javali) [1983874] - scsi: qla2xxx: Show OS name and version in FDMI-1 (Nilesh Javali) [1983874] - scsi: qla2xxx: Changes to support FCP2 Target (Nilesh Javali) [1983874] - scsi: qla2xxx: Adjust request/response queue size for 28xx (Nilesh Javali) [1983874] - scsi: qla2xxx: Add host attribute to trigger MPI hang (Nilesh Javali) [1983874] - scsi: qla2xxx: Remove redundant initialization of variable num_cnt (Nilesh Javali) [1983874] - scsi: qla2xxx: Fix use after free in debug code (Nilesh Javali) [1983874] - scsi: qla2xxx: Fix spelling mistakes "allloc" -> "alloc" (Nilesh Javali) [1983874] - scsi: qla2xxx: Update version to 10.02.00.107-k (Nilesh Javali) [1983874] - scsi: qla2xxx: edif: Increment command and completion counts (Nilesh Javali) [1983874] - scsi: qla2xxx: edif: Add encryption to I/O path (Nilesh Javali) [1983874] - scsi: qla2xxx: edif: Add doorbell notification for app (Nilesh Javali) [1983874] - scsi: qla2xxx: edif: Add detection of secure device (Nilesh Javali) [1983874] - scsi: qla2xxx: edif: Add authentication pass + fail bsgs (Nilesh Javali) [1983874] - scsi: qla2xxx: edif: Add key update (Nilesh Javali) [1983874] - scsi: qla2xxx: edif: Add extraction of auth_els from the wire (Nilesh Javali) [1983874] - scsi: qla2xxx: edif: Add send, receive, and accept for auth_els (Nilesh Javali) [1983874] - scsi: qla2xxx: edif: Add getfcinfo and statistic bsgs (Nilesh Javali) [1983874] - scsi: qla2xxx: edif: Add start + stop bsgs (Nilesh Javali) [1983874] - scsi: qla2xxx: Remove unused variable 'status' (Nilesh Javali) [1983874] - scsi: qla2xxx: Remove redundant continue statement in a for-loop (Nilesh Javali) [1983874] - scsi: qla2xxx: Add heartbeat check (Nilesh Javali) [1983874] - scsi: qla2xxx: Use list_move_tail() instead of list_del()/list_add_tail() (Nilesh Javali) [1983874] - scsi: qla2xxx: Remove duplicate declarations (Nilesh Javali) [1983874] - scsi: qla2xxx: Log PCI address in qla_nvme_unregister_remote_port() (Nilesh Javali) [1983874] - scsi: target: qla2xxx: Wait for stop_phase1 at WWN removal (Nilesh Javali) [1983874] - scsi: qla2xxx: Remove redundant assignment to rval (Nilesh Javali) [1983874] - scsi: qla2xxx: Fix error return code in qla82xx_write_flash_dword() (Nilesh Javali) [1983874] - scsi: qla2xxx: Prevent PRLI in target mode (Nilesh Javali) [1983874] - scsi: qla2xxx: Reuse existing error handling path (Nilesh Javali) [1983874] - scsi: qla2xxx: Remove unneeded if-null-free check (Nilesh Javali) [1983874] - thermal/drivers/int340x: Do not set a wrong tcc offset on resume (David Arcari) [1997757] - thermal: core: Add new event for sending keep alive notifications (David Arcari) [1997757] - thermal/drivers/int340x/processor_thermal: Fix tcc setting (David Arcari) [1997757] - thermal/drivers/int340x/processor_thermal: Fix warning for return value (David Arcari) [1997757] - thermal/drivers/int340x/processor_thermal: Add PCI MMIO based thermal driver (David Arcari) [1997757] - thermal/drivers/int340x/processor_thermal: Split enumeration and processing part (David Arcari) [1997757] - thermal/drivers/int340x: processor_thermal: Export additional attributes (David Arcari) [1997757] - thermal/drivers/int340x: processor_thermal: Export mailbox interface (David Arcari) [1997757] - thermal/drivers/intel: Initialize RW trip to THERMAL_TEMP_INVALID (David Arcari) [1997757] - thermal: int340x: Fix unexpected shutdown at critical temperature (David Arcari) [1997757] - thermal: int340x: Support Alder Lake (David Arcari) [1997757] - thermal: int340x: processor_thermal: Correct workload type name (David Arcari) [1997757] - thermal: int340x: processor_thermal: Add mailbox driver (David Arcari) [1997757] - thermal: int340x: processor_thermal: Add RFIM driver (David Arcari) [1997757] - thermal: int340x: processor_thermal: Add AlderLake PCI device id (David Arcari) [1997757] - thermal: int340x: processor_thermal: Refactor MMIO interface (David Arcari) [1997757] - thermal: int340x: Add keep alive response method (David Arcari) [1997757] - thermal: int340x: Provide notification for OEM variable change (David Arcari) [1997757] - treewide: Add SPDX license identifier - Makefile/Kconfig (David Arcari) [1997757] - treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 (David Arcari) [1997757] - intel_idle: Adjust the SKX C6 parameters if PC6 is disabled (David Arcari) [2003731] - intel_idle: update ICX C6 data (David Arcari) [2003731] - nbd: provide a way for userspace processes to identify device backends (Ming Lei) [1997338] - Revert "block, bfq: honor already-setup queue merges" (Ming Lei) [1997338] - blk-cgroup: fix UAF by grabbing blkcg lock before destroying blkg pd (Ming Lei) [1997338] - blkcg: fix memory leak in blk_iolatency_init (Ming Lei) [1997338] - blk-mq: avoid to iterate over stale request (Ming Lei) [1997338] - blk-mq: allow 4x BLK_MAX_REQUEST_COUNT at blk_plug for multiple_queues (Ming Lei) [1997338] - block, bfq: honor already-setup queue merges (Ming Lei) [1997338] - block/mq-deadline: Move dd_queued() to fix defined but not used warning (Ming Lei) [1997338] - cryptoloop: add a deprecation warning (Ming Lei) [1997338] - Revert "block/mq-deadline: Prioritize high-priority requests" (Ming Lei) [1997338] - mq-deadline: Fix request accounting (Ming Lei) [1997338] - nbd: Aovid double completion of a request (Ming Lei) [1997338] - blk-mq: clear active_queues before clearing BLK_MQ_F_TAG_QUEUE_SHARED (Ming Lei) [1997338] - Revert "block/mq-deadline: Add cgroup support" (Ming Lei) [1997338] - kyber: make trace_block_rq call consistent with documentation (Ming Lei) [1997338] - blk-iolatency: error out if blk_get_queue() failed in iolatency_set_limit() (Ming Lei) [1997338] - blk-mq-sched: Fix blk_mq_sched_alloc_tags() error handling (Ming Lei) [1997338] - loop: reintroduce global lock for safe loop_validate_file() traversal (Ming Lei) [1997338] - blk-cgroup: prevent rcu_sched detected stalls warnings while iterating blkgs (Ming Lei) [1997338] - block: fix the problem of io_ticks becoming smaller (Ming Lei) [1997338] - block: return errors from blk_execute_rq() (Ming Lei) [1997338] - block: support polling through blk_execute_rq (Ming Lei) [1997338] - loop: rewrite loop_exit using idr_for_each_entry (Ming Lei) [1997338] - loop: split loop_lookup (Ming Lei) [1997338] - loop: don't allow deleting an unspecified loop device (Ming Lei) [1997338] - loop: move loop_ctl_mutex locking into loop_add (Ming Lei) [1997338] - loop: split loop_control_ioctl (Ming Lei) [1997338] - loop: don't call loop_lookup before adding a loop device (Ming Lei) [1997338] - loop: remove the l argument to loop_add (Ming Lei) [1997338] - loop: reduce loop_ctl_mutex coverage in loop_exit (Ming Lei) [1997338] - loop: reorder loop_exit (Ming Lei) [1997338] - loop: Fix missing discard support when using LOOP_CONFIGURE (Ming Lei) [1997338] - block: export blk_next_bio() (Ming Lei) [1997338] - rsxx: Use struct_size() in vmalloc() (Ming Lei) [1997338] - block/mq-deadline: Remove a WARN_ON_ONCE() call (Ming Lei) [1997338] - blk: Fix lock inversion between ioc lock and bfqd lock (Ming Lei) [1997338] - bfq: Remove merged request already in bfq_requests_merged() (Ming Lei) [1997338] - block: fix trace completion for chained bio (Ming Lei) [1997338] - block/partitions/msdos: Fix typo inidicator -> indicator (Ming Lei) [1997338] - block, bfq: reset waker pointer with shared queues (Ming Lei) [1997338] - block, bfq: check waker only for queues with no in-flight I/O (Ming Lei) [1997338] - block, bfq: avoid delayed merge of async queues (Ming Lei) [1997338] - block, bfq: boost throughput by extending queue-merging times (Ming Lei) [1997338] - block, bfq: consider also creation time in delayed stable merge (Ming Lei) [1997338] - block, bfq: fix delayed stable merge check (Ming Lei) [1997338] - block, bfq: let also stably merged queues enjoy weight raising (Ming Lei) [1997338] - blk-wbt: make sure throttle is enabled properly (Ming Lei) [1997338] - blk-wbt: introduce a new disable state to prevent false positive by rwb_enabled() (Ming Lei) [1997338] - block/mq-deadline: Prioritize high-priority requests (Ming Lei) [1997338] - block/mq-deadline: Add cgroup support (Ming Lei) [1997338] - block/mq-deadline: Track I/O statistics (Ming Lei) [1997338] - block/mq-deadline: Add I/O priority support (Ming Lei) [1997338] - block/mq-deadline: Micro-optimize the batching algorithm (Ming Lei) [1997338] - block/mq-deadline: Reserve 25 of scheduler tags for synchronous requests (Ming Lei) [1997338] - block/mq-deadline: Improve the sysfs show and store macros (Ming Lei) [1997338] - block/mq-deadline: Improve compile-time argument checking (Ming Lei) [1997338] - block: mq-deadline: Fix queue restart handling (Ming Lei) [1997338] - block/mq-deadline: Rename dd_init_queue() and dd_exit_queue() (Ming Lei) [1997338] - block/mq-deadline: Remove two local variables (Ming Lei) [1997338] - block/mq-deadline: Add two lockdep_assert_held() statements (Ming Lei) [1997338] - block/mq-deadline: Add several comments (Ming Lei) [1997338] - block: Introduce the ioprio rq-qos policy (Ming Lei) [1997338] - block/blk-rq-qos: Move a function from a header file into a C file (Ming Lei) [1997338] - block/blk-cgroup: Swap the blk_throtl_init() and blk_iolatency_init() calls (Ming Lei) [1997338] - blkcg: fix memleak for iolatency (Ming Lei) [1997338] - blk-wbt: remove outdated comment (Ming Lei) [1997338] - block: Remove unnecessary elevator operation checks (Ming Lei) [1997338] - blk-mq: factor out a blk_mq_alloc_sq_tag_set helper (Ming Lei) [1997338] - block: Update blk_update_request() documentation (Ming Lei) [1997338] - blkcg: drop CLONE_IO check in blkcg_can_attach() (Ming Lei) [1997338] - aoe: remove unnecessary mutex_init() (Ming Lei) [1997338] - block: loop: fix deadlock between open and remove (Ming Lei) [1997338] - loop: scale loop device by introducing per device lock (Ming Lei) [1997338] - block/partitions/efi.c: Fix the efi_partition() kernel-doc header (Ming Lei) [1997338] - nbd: share nbd_put and return by goto put_nbd (Ming Lei) [1997338] - nbd: Fix NULL pointer in flush_workqueue (Ming Lei) [1997338] - blkdev.h: remove unused codes blk_account_rq (Ming Lei) [1997338] - block, bfq: avoid circular stable merges (Ming Lei) [1997338] - block: uapi: fix comment about block device ioctl (Ming Lei) [1997338] - block: reexpand iov_iter after read/write (Ming Lei) [1997338] - bfq/mq-deadline: remove redundant check for passthrough request (Ming Lei) [1997338] - blk-mq: bypass IO scheduler's limit_depth for passthrough request (Ming Lei) [1997338] - block: Fix sys_ioprio_set(.which=IOPRIO_WHO_PGRP) task iteration (Ming Lei) [1997338] - blk-mq: Always use blk_mq_is_sbitmap_shared (Ming Lei) [1997338] - block: add sysfs entry for virt boundary mask (Ming Lei) [1997338] - block, bfq: merge bursts of newly-created queues (Ming Lei) [1997338] - block, bfq: keep shared queues out of the waker mechanism (Ming Lei) [1997338] - block, bfq: fix weight-raising resume with !low_latency (Ming Lei) [1997338] - block, bfq: make shared queues inherit wakers (Ming Lei) [1997338] - block, bfq: put reqs of waker and woken in dispatch list (Ming Lei) [1997338] - block, bfq: always inject I/O of queues blocked by wakers (Ming Lei) [1997338] - blk-mq: Sentence reconstruct for better readability (Ming Lei) [1997338] - block: update a few comments in uapi/linux/blkpg.h (Ming Lei) [1997338] - block: don't ignore REQ_NOWAIT for direct IO (Ming Lei) [1997338] - block: clear GD_NEED_PART_SCAN later in bdev_disk_changed (Ming Lei) [1997338] - block: Discard page cache of zone reset target range (Ming Lei) [1997338] - block: Suppress uevent for hidden device when removed (Ming Lei) [1997338] - block: rsxx: fix error return code of rsxx_pci_probe() (Ming Lei) [1997338] - block: Fix REQ_OP_ZONE_RESET_ALL handling (Ming Lei) [1997338] - blk-cgroup: Fix the recursive blkg rwstat (Ming Lei) [1997338] - rsxx: Return -EFAULT if copy_to_user() fails (Ming Lei) [1997338] - block/bfq: update comments and default value in docs for fifo_expire (Ming Lei) [1997338] - block: Drop leftover references to RQF_SORTED (Ming Lei) [1997338] - blktrace: fix documentation for blk_fill_rw() (Ming Lei) [1997338] - blktrace: remove debugfs file dentries from struct blk_trace (Ming Lei) [1997338] - block: get rid of the trace rq insert wrapper (Ming Lei) [1997338] - blktrace: fix blk_rq_merge documentation (Ming Lei) [1997338] - blktrace: fix blk_rq_issue documentation (Ming Lei) [1997338] - blktrace: add blk_fill_rwbs documentation comment (Ming Lei) [1997338] - block: remove superfluous param in blk_fill_rwbs() (Ming Lei) [1997338] - block: Remove unused blk_pm_*() function definitions (Ming Lei) [1997338] - blk-mq: Use llist_head for blk_cpu_done (Ming Lei) [1997338] - blk-mq: Always complete remote completions requests in softirq (Ming Lei) [1997338] - block: use bi_max_vecs to find the bvec pool (Ming Lei) [1997338] - md/raid10: remove dead code in reshape_request (Ming Lei) [1997338] - block: remove the 1 and 4 vec bvec_slabs entries (Ming Lei) [1997338] - block: streamline bvec_alloc (Ming Lei) [1997338] - block: factor out a bvec_alloc_gfp helper (Ming Lei) [1997338] - block: move struct biovec_slab to bio.c (Ming Lei) [1997338] - block: reuse BIO_INLINE_VECS for integrity bvecs (Ming Lei) [1997338] - block: move three bvec helpers declaration into private helper (Ming Lei) [1997338] - blk-cgroup: Remove obsolete macro (Ming Lei) [1997338] - block: use an on-stack bio in blkdev_issue_flush (Ming Lei) [1997338] - blkcg: delete redundant get/put operations for queue (Ming Lei) [1997338] - block: unexport truncate_bdev_range (Ming Lei) [1997338] - blk: wbt: remove unused parameter from wbt_should_throttle (Ming Lei) [1997338] - bdev: Do not return EBUSY if bdev discard races with write (Ming Lei) [1997338] - bfq: don't duplicate code for different paths (Ming Lei) [1997338] - block: remove the request_queue to argument request based tracepoints (Ming Lei) [1997338] - virtio_net: disable cb aggressively (Stefan Hajnoczi) [1965914] - virtio: fix up virtio_disable_cb (Stefan Hajnoczi) [1965914] - virtio_net: move txq wakeups under tx q lock (Stefan Hajnoczi) [1965914] - virtio_net: move tx vq operation under tx queue lock (Stefan Hajnoczi) [1965914] - virtio_net: bulk free tx skbs (Stefan Hajnoczi) [1965914] - [s390] s390/qdio: propagate error when cancelling a ccw fails (Mete Durlu) [1984989] - [s390] s390/qdio: improve roll-back after error on ESTABLISH ccw (Mete Durlu) [1984989] - [s390] s390/qdio: cancel the ESTABLISH ccw after timeout (Mete Durlu) [1984989] - [s390] scsi: zfcp: Lift Request Queue tasklet & timer from qdio (Mete Durlu) [1984989] - [s390] scsi: zfcp: Move the position of put_device() (Mete Durlu) [1984989] - [s390] scsi: zfcp: Clean up sysfs code for SFP diagnostics (Mete Durlu) [1984989] - [s390] scsi: zfcp: Fix sysfs roll-back on error in zfcp_adapter_enqueue() (Mete Durlu) [1984989] - [s390] scsi: zfcp: Fix indentation coding style issue (Mete Durlu) [1984989] - [s390] scsi: zfcp: Remove unneeded INIT_LIST_HEAD() for FSF requests (Mete Durlu) [1984989] - x86/fpu/xstate: Clear xstate header in copy_xstate_to_uabi_buf() again (Prarit Bhargava) [1981448] - x86/fpu/signal: Let xrstor handle the features to init (Prarit Bhargava) [1981448] - x86/fpu/signal: Handle #PF in the direct restore path (Prarit Bhargava) [1981448] - x86/fpu: Return proper error codes from user access functions (Prarit Bhargava) [1981448] - x86/fpu/signal: Split out the direct restore code (Prarit Bhargava) [1981448] - x86/fpu/signal: Sanitize copy_user_to_fpregs_zeroing() (Prarit Bhargava) [1981448] - x86/fpu/signal: Sanitize the xstate check on sigframe (Prarit Bhargava) [1981448] - x86/fpu/signal: Remove the legacy alignment check (Prarit Bhargava) [1981448] - x86/fpu/signal: Move initial checks into fpu__restore_sig() (Prarit Bhargava) [1981448] - x86/fpu: Mark init_fpstate __ro_after_init (Prarit Bhargava) [1981448] - x86/pkru: Remove xstate fiddling from write_pkru() (Prarit Bhargava) [1981448] - x86/fpu: Don't store PKRU in xstate in fpu_reset_fpstate() (Prarit Bhargava) [1981448] - x86/fpu: Remove PKRU handling from switch_fpu_finish() (Prarit Bhargava) [1981448] - x86/fpu: Mask PKRU from kernel XRSTOR[S] operations (Prarit Bhargava) [1981448] - x86/fpu: Hook up PKRU into ptrace() (Prarit Bhargava) [1981448] - x86/fpu: Add PKRU storage outside of task XSAVE buffer (Prarit Bhargava) [1981448] - x86/fpu: Dont restore PKRU in fpregs_restore_userspace() (Prarit Bhargava) [1981448] - x86/fpu: Rename xfeatures_mask_user() to xfeatures_mask_uabi() (Prarit Bhargava) [1981448] - x86/fpu: Move FXSAVE_LEAK quirk info __copy_kernel_to_fpregs() (Prarit Bhargava) [1981448] - x86/fpu: Rename copy_kernel_to_fpregs() to restore_fpregs_from_fpstate() (Prarit Bhargava) [1981448] - x86/fpu: Rename __fpregs_load_activate() to fpregs_restore_userregs() (Prarit Bhargava) [1981448] - x86/fpu: Clean up the fpu__clear() variants (Prarit Bhargava) [1981448] - x86/fpu: Rename fpu__clear_all() to fpu_flush_thread() (Prarit Bhargava) [1981448] - x86/fpu: Use pkru_write_default() in copy_init_fpstate_to_fpregs() (Prarit Bhargava) [1981448] - x86/cpu: Write the default PKRU value when enabling PKE (Prarit Bhargava) [1981448] - x86/pkru: Provide pkru_write_default() (Prarit Bhargava) [1981448] - x86/pkru: Provide pkru_get_init_value() (Prarit Bhargava) [1981448] - x86/cpu: Sanitize X86_FEATURE_OSPKE (Prarit Bhargava) [1981448] - x86/pkeys: Move read_pkru() and write_pkru() (Prarit Bhargava) [1981448] - x86/fpu: Rename and sanitize fpu__save/copy() (Prarit Bhargava) [1981448] - x86/fpu/xstate: Sanitize handling of independent features (Prarit Bhargava) [1981448] - x86/fpu: Rename "dynamic" XSTATEs to "independent" (Prarit Bhargava) [1981448] - x86/fpu: Rename initstate copy functions (Prarit Bhargava) [1981448] - x86/fpu: Get rid of the FNSAVE optimization (Prarit Bhargava) [1981448] - x86/fpu: Rename copy_fpregs_to_fpstate() to save_fpregs_to_fpstate() (Prarit Bhargava) [1981448] - x86/fpu: Deduplicate copy_uabi_from_user/kernel_to_xstate() (Prarit Bhargava) [1981448] - x86/fpu: Rename xstate copy functions which are related to UABI (Prarit Bhargava) [1981448] - x86/fpu: Rename fregs-related copy functions (Prarit Bhargava) [1981448] - x86/math-emu: Rename frstor() (Prarit Bhargava) [1981448] - x86/fpu: Rename fxregs-related copy functions (Prarit Bhargava) [1981448] - x86/fpu: Get rid of CONFIG_AS_FXSAVEQ (Prarit Bhargava) [1981448] - x86/fpu: Rename copy_user_to_xregs() and copy_xregs_to_user() (Prarit Bhargava) [1981448] - x86/fpu: Rename copy_xregs_to_kernel() and copy_kernel_to_xregs() (Prarit Bhargava) [1981448] - x86/fpu: Get rid of copy_supervisor_to_kernel() (Prarit Bhargava) [1981448] - x86/fpu: Cleanup arch_set_user_pkey_access() (Prarit Bhargava) [1981448] - x86/kvm: Avoid looking up PKRU in XSAVE buffer (Prarit Bhargava) [1981448] - x86/fpu: Get rid of using_compacted_format() (Prarit Bhargava) [1981448] - x86/fpu: Move fpu__write_begin() to regset (Prarit Bhargava) [1981448] - x86/fpu/regset: Move fpu__read_begin() into regset (Prarit Bhargava) [1981448] - x86/fpu: Remove fpstate_sanitize_xstate() (Prarit Bhargava) [1981448] - x86/fpu: Use copy_xstate_to_uabi_buf() in fpregs_get() (Prarit Bhargava) [1981448] - x86/fpu: Use copy_xstate_to_uabi_buf() in xfpregs_get() (Prarit Bhargava) [1981448] - x86/fpu: Make copy_xstate_to_kernel() usable for [x]fpregs_get() (Prarit Bhargava) [1981448] - x86/fpu: Clean up fpregs_set() (Prarit Bhargava) [1981448] - x86/fpu: Fail ptrace() requests that try to set invalid MXCSR values (Prarit Bhargava) [1981448] - x86/fpu: Rewrite xfpregs_set() (Prarit Bhargava) [1981448] - x86/fpu: Simplify PTRACE_GETREGS code (Prarit Bhargava) [1981448] - x86/fpu: Reject invalid MXCSR values in copy_kernel_to_xstate() (Prarit Bhargava) [1981448] - x86/fpu: Sanitize xstateregs_set() (Prarit Bhargava) [1981448] - x86/fpu: Move inlines where they belong (Prarit Bhargava) [1981448] - x86/fpu: Get rid of fpu__get_supported_xfeatures_mask() (Prarit Bhargava) [1981448] - x86/fpu: Make xfeatures_mask_all __ro_after_init (Prarit Bhargava) [1981448] - x86/fpu: Mark various FPU state variables __ro_after_init (Prarit Bhargava) [1981448] - x86/pkeys: Revert a5eff7259790 ("x86/pkeys: Add PKRU value to init_fpstate") (Prarit Bhargava) [1981448] - x86/fpu: Fix copy_xstate_to_kernel() gap handling (Prarit Bhargava) [1981448] - x86/fpu: Limit xstate copy size in xstateregs_set() (Prarit Bhargava) [1981448] - x86/fpu: Make init_fpstate correct with optimized XSAVE (Prarit Bhargava) [1981448] - x86/fpu: Preserve supervisor states in sanitize_restored_user_xstate() (Prarit Bhargava) [1981448] - x86/fpu: Reset state for all signal restore failures (Prarit Bhargava) [1981448] - x86/signal: Introduce helpers to get the maximum signal frame size (Prarit Bhargava) [1981448] - x86/fpu: Fix various typos in comments (Prarit Bhargava) [1981448] - x86/fpu/xstate: Use sizeof() instead of a constant (Prarit Bhargava) [1981448] - x86/fpu: Handle FPU-related and clearcpuid command line arguments earlier (Prarit Bhargava) [1981448] - x86/fpu: Allow multiple bits in clearcpuid= parameter (Prarit Bhargava) [1981448] - x86: switch to ->regset_get() (Prarit Bhargava) [1981448] - regset: new method and helpers for it (Prarit Bhargava) [1981448] - copy_regset_to_user(): do all copyout at once. (Prarit Bhargava) [1981448] - introduction of regset ->get() wrappers, switching ELF coredumps to those (Prarit Bhargava) [1981448] - user_regset_copyout_zero(): use clear_user() (Prarit Bhargava) [1981448] - x86: kill dump_fpu() (Prarit Bhargava) [1981448] - x86: copy_fpstate_to_sigframe(): have fpregs_soft_get() use kernel buffer (Prarit Bhargava) [1981448] - x86/pkeys: Add check for pkey "overflow" (Prarit Bhargava) [1981448] - x86/fpu: Deactivate FPU state after failure during state load (Prarit Bhargava) [1981448] - x86/fpu: Use sizeof_field() macro (Prarit Bhargava) [1981448] - x86/fpu: Inline fpu__xstate_clear_all_cpu_caps() (Prarit Bhargava) [1981448] - x86/fpu: Make 'no387' and 'nofxsr' command line options useful (Prarit Bhargava) [1981448] - x86/fpu: Remove the fpu__save() export (Prarit Bhargava) [1981448] - x86/process: Add AVX-512 usage elapsed time to /proc/pid/arch_status (Prarit Bhargava) [1981448] - x86/fpu: Add SPDX license identifier - Makefile/Kconfig (Prarit Bhargava) [1981448] - x86/fpu: Add SPDX license identifier for missed files (Prarit Bhargava) [1981448] - x86/fpu: Fix __user annotations (Prarit Bhargava) [1981448] - x86/fpu: Move init_xstate_size() to __init section (Prarit Bhargava) [1981448] - x86/fpu: Update comment for __raw_xsave_addr() (Prarit Bhargava) [1981448] - scsi: qla2xxx: Fix kernel crash when accessing port_speed sysfs file (Nilesh Javali) [1981433] - scsi: core: Put LLD module refcnt after SCSI device is released (Ming Lei) [1996509] - scsi: iscsi: Fix set_param() handling (Chris Leech) [2011470] - scsi: iscsi: Fix iscsi_task use after free (Chris Leech) [2011470] - scsi: iscsi: Adjust iface sysfs attr detection (Chris Leech) [2011470] - scsi: iscsi: Fix iface sysfs attr detection (Chris Leech) [2011470] - scsi: iscsi: Move pool freeing (Chris Leech) [2011470] - scsi: iscsi: Hold task ref during TMF timeout handling (Chris Leech) [2011470] - scsi: iscsi: Flush block work before unblock (Chris Leech) [2011470] - scsi: iscsi: Fix completion check during abort races (Chris Leech) [2011470] - scsi: iscsi: Fix shost->max_id use (Chris Leech) [2011470] - scsi: iscsi: Fix conn use after free during resets (Chris Leech) [2011470] - scsi: iscsi: Get ref to conn during reset handling (Chris Leech) [2011470] - scsi: iscsi: Have abort handler get ref to conn (Chris Leech) [2011470] - scsi: iscsi: Add iscsi_cls_conn refcount helpers (Chris Leech) [2011470] - scsi: iscsi: iscsi_tcp: Start socket shutdown during conn stop (Chris Leech) [2011470] - scsi: iscsi: iscsi_tcp: Set no linger (Chris Leech) [2011470] - scsi: iscsi: Fix in-kernel conn failure handling (Chris Leech) [2011470] - scsi: iscsi: Rel ref after iscsi_lookup_endpoint() (Chris Leech) [2011470] - scsi: iscsi: Use system_unbound_wq for destroy_work (Chris Leech) [2011470] - scsi: iscsi: Force immediate failure during shutdown (Chris Leech) [2011470] - scsi: iscsi: Drop suspend calls from ep_disconnect (Chris Leech) [2011470] - scsi: iscsi: Stop queueing during ep_disconnect (Chris Leech) [2011470] - scsi: iscsi: Add task completion helper (Chris Leech) [2011470] - scsi: iscsi: Fix iSCSI cls conn state (Chris Leech) [2011470] - scsi: iscsi: Fix race condition between login and sync thread (Chris Leech) [2011470] - scsi: iscsi: Drop session lock in iscsi_session_chkready() (Chris Leech) [2011470] - scsi: libiscsi: Reset max/exp cmdsn during recovery (Chris Leech) [2011470] - scsi: iscsi_tcp: Fix shost can_queue initialization (Chris Leech) [2011470] - scsi: libiscsi: Add helper to calculate max SCSI cmds per session (Chris Leech) [2011470] - scsi: libiscsi: Fix iSCSI host workq destruction (Chris Leech) [2011470] - scsi: libiscsi: Fix iscsi_task use after free() (Chris Leech) [2011470] - scsi: libiscsi: Drop taskqueuelock (Chris Leech) [2011470] - scsi: libiscsi: Fix iscsi_prep_scsi_cmd_pdu() error handling (Chris Leech) [2011470] - scsi: iscsi: Fix inappropriate use of put_device() (Chris Leech) [2011470] - scsi: iscsi: Fail session and connection on transport registration failure (Chris Leech) [2011470] - scsi: drivers: base: Propagate errors through the transport component (Chris Leech) [2011470] - scsi: drivers: base: Support atomic version of attribute_container_device_trigger (Chris Leech) [2011470] - scsi: libiscsi: Fix NOP race condition (Chris Leech) [2011470] - scsi: libiscsi: use sendpage_ok() in iscsi_tcp_segment_map() (Chris Leech) [2011470] - scsi: iscsi: iscsi_tcp: Avoid holding spinlock while calling getpeername() (Chris Leech) [2011470] - scsi: iscsi: Do not put host in iscsi_set_flashnode_param() (Chris Leech) [2011470] - scsi: iscsi: Register sysfs for workqueue iscsi_destroy (Chris Leech) [2011470] - scsi: iscsi: Remove sessdestroylist (Chris Leech) [2011470] - scsi: iscsi: Optimize work queue flush use (Chris Leech) [2011470] - scsi: iscsi: Delay freeing target_id (Chris Leech) [2011470] - scsi: iscsi: Change iSCSI workqueue max_active back to 1 (Chris Leech) [2011470] - scsi: iscsi: Fix reference count leak in iscsi_boot_create_kobj (Chris Leech) [2011470]- scsi: qedf: Fix error codes in qedf_alloc_global_queues() (Nilesh Javali) [1983908] - scsi: qedf: Add check to synchronize abort and flush (Nilesh Javali) [1983908] - scsi: qedf: Use DEVICE_ATTR_RO() macro (Nilesh Javali) [1983908] - scsi: qedf: Use vzalloc() instead of vmalloc()/memset(0) (Nilesh Javali) [1983908] - scsi: qedf: Drop unnecessary NULL checks after container_of() (Nilesh Javali) [1983908] - scsi: qedf: Use devlink to report errors and recovery (Nilesh Javali) [1983908] - scsi: qedf: Enable devlink support (Nilesh Javali) [1983908] - scsi: qedf: Remove unused include of linux/version.h (Nilesh Javali) [1983908] - qed: implement devlink dump (Nilesh Javali) [1983908] - qed*: make use of devlink recovery infrastructure (Nilesh Javali) [1983908] - qed: use devlink logic to report errors (Nilesh Javali) [1983908] - qed: health reporter init deinit seq (Nilesh Javali) [1983908] - qed: implement devlink info request (Nilesh Javali) [1983908] - qed/qede: make devlink survive recovery (Nilesh Javali) [1983908] - qed: move out devlink logic into a new file (Nilesh Javali) [1983908] - i40e: fix endless loop under rtnl (Stefan Assmann) [1903921] - ovl: fix missing negative dentry check in ovl_rename() (Miklos Szeredi) [2010887] {CVE-2021-20321} - [RHEL8.6 BZ 1849234] cifs: report error instead of invalid when revalidating a dentry fails (Ronnie Sahlberg) [1849234] - mei: me: emmitsburg workstation DID (David Arcari) [2014195] - redhat/configs: Add CONFIG_INTEL_QEP (Prarit Bhargava) [1783559] - redhat/configs: Add CONFIG_COUNTER (Prarit Bhargava) [1783559] - counter: Rename counter_count_function to counter_function (Prarit Bhargava) [1783559] - counter: Rename counter_signal_value to counter_signal_level (Prarit Bhargava) [1783559] - counter: Standardize to ERANGE for limit exceeded errors (Prarit Bhargava) [1783559] - counter: intel-qep: Remove linux/bitops.h include (Prarit Bhargava) [1783559] - counter: intel-qep: Use to_pci_dev() helper (Prarit Bhargava) [1783559] - counter: intel-qep: Mark PM callbacks with __maybe_unused (Prarit Bhargava) [1783559] - counter: Add support for Intel Quadrature Encoder Peripheral (Prarit Bhargava) [1783559] - counter: Simplify the count_read and count_write callbacks (Prarit Bhargava) [1783559] - drivers/counter: Add SPDX license identifier - Makefile/Kconfig (Prarit Bhargava) [1783559] - counter: Introduce the Generic Counter interface (Prarit Bhargava) [1783559] - bpf: Fix integer overflow in prealloc_elems_and_freelist() (Yauheni Kaliuta) [2010492] {CVE-2021-41864} - audit: move put_tree() to avoid trim_trees refcount underflow and UAF (Richard Guy Briggs) [1978123] - tpm: ibmvtpm: Avoid error message when process gets signal while waiting (Štěpán Horáček) [1981473] - efi/tpm: Differentiate missing and invalid final event log table. (Štěpán Horáček) [1981473] - tpm: Replace WARN_ONCE() with dev_err_once() in tpm_tis_status() (Štěpán Horáček) [1981473] - tpm_tis: Use DEFINE_RES_MEM() to simplify code (Štěpán Horáček) [1981473] - tpm: fix some doc warnings in tpm1-cmd.c (Štěpán Horáček) [1981473] - tpm_tis_spi: add missing SPI device ID entries (Štěpán Horáček) [1981473] - tpm: add longer timeout for TPM2_CC_VERIFY_SIGNATURE (Štěpán Horáček) [1981473] - tpm_tis_spi: set default probe function if device id not match (Štěpán Horáček) [1981473] - tpm_crb: Use IOMEM_ERR_PTR when function returns iomem (Štěpán Horáček) [1981473] - tools/testing/scatterlist: Fix overflow of max segment size (Rafael Aquini) [2016426] - drm: Remove SCATTERLIST_MAX_SEGMENT (Rafael Aquini) [2016426] - lib/scatterlist: Fix wrong update of orig_nents (Rafael Aquini) [2016426] - lib/scatterlist: Provide a dedicated function to support table append (Rafael Aquini) [2016426] - tools/testing/scatterlist: Test dynamic __sg_alloc_table_from_pages (Rafael Aquini) [2016426] - tools/testing/scatterlist: Fix test to compile and run (Rafael Aquini) [2016426] - tools/testing/scatterlist: Show errors in human readable form (Rafael Aquini) [2016426] - tools/testing/scatterlist: Rejuvenate bit-rotten test (Rafael Aquini) [2016426] - Kconfig.debug: drop selecting non-existing HARDLOCKUP_DETECTOR_ARCH (Rafael Aquini) [2016426] - buildid: only consider GNU notes for build ID parsing (Rafael Aquini) [2016426] - lib/decompressors: remove set but not used variabled 'level' (Rafael Aquini) [2016426] - lib/math/rational.c: fix divide by zero (Rafael Aquini) [2016426] - lockdep/selftests: Fix selftests vs PROVE_RAW_LOCK_NESTING (Rafael Aquini) [2016426] - kunit: Fix result propagation for parameterised tests (Rafael Aquini) [2016426] - bug: Remove redundant condition check in report_bug (Rafael Aquini) [2016426] - zlib: move EXPORT_SYMBOL() and MODULE_LICENSE() out of dfltcc_syms.c (Rafael Aquini) [2016426] - zlib: export S390 symbols for zlib modules (Rafael Aquini) [2016426] - lib/crc32test: remove extra local_irq_disable/enable (Rafael Aquini) [2016426] - random32: add a selftest for the prandom32 code (Rafael Aquini) [2016426] - random32: add noise from network and scheduling activity (Rafael Aquini) [2016426] - random32: make prandom_u32() output unpredictable (Rafael Aquini) [2016426] - lib: Correct comment of prandom_seed (Rafael Aquini) [2016426] - lib/crc32.c: fix trivial typo in preprocessor condition (Rafael Aquini) [2016426] - lib/crc: Use consistent naming for CRC-32 polynomials (Rafael Aquini) [2016426] - lib/crc: Move polynomial definition to separate header (Rafael Aquini) [2016426] - kstrto*: do not describe simple_strto*() as obsolete/replaced (Rafael Aquini) [2016426] - kstrto*: correct documentation references to simple_strto*() (Rafael Aquini) [2016426] - kernel.h: update comment about simple_strto() functions (Rafael Aquini) [2016426] - lib/bitmap.c: fix bitmap_cut() for partial overlapping case (Rafael Aquini) [2016426] - devres: keep both device name and resource name in pretty name (Rafael Aquini) [2016426] - crc-t10dif: Fix potential crypto notify dead-lock (Rafael Aquini) [2016426] - vsprintf: don't obfuscate NULL and error pointers (Rafael Aquini) [2016426] - lib/stackdepot.c: fix global out-of-bounds in stack_slabs (Rafael Aquini) [2016426] - lib/scatterlist.c: adjust indentation in __sg_alloc_table (Rafael Aquini) [2016426] - lib/stackdepot: Fix outdated comments (Rafael Aquini) [2016426] - lib/test_kasan.c: fix memory leak in kmalloc_oob_krealloc_more() (Rafael Aquini) [2016426] - lib: Remove select of inexistant GENERIC_IO (Rafael Aquini) [2016426] - lib: test_user_copy: style cleanup (Rafael Aquini) [2016426] - usercopy: Add parentheses around assignment in test_copy_struct_from_user (Rafael Aquini) [2016426] - lib: textsearch: fix escapes in example code (Rafael Aquini) [2016426] - Partially revert "kfifo: fix kfifo_alloc() and kfifo_init()" (Rafael Aquini) [2016426] - lib: logic_pio: Fix RCU usage (Rafael Aquini) [2016426] - lib/test_overflow.c: avoid tainting the kernel and fix wrap size (Rafael Aquini) [2016426] - lib/test_string.c: avoid masking memset16/32/64 failures (Rafael Aquini) [2016426] - lib/scatterlist: Fix mapping iterator when sg->offset is greater than PAGE_SIZE (Rafael Aquini) [2016426] - lib/mpi: Fix karactx leak in mpi_powm (Rafael Aquini) [2016426] - sbitmap: fix improper use of smp_mb__before_atomic() (Rafael Aquini) [2016426] - kobject: Don't trigger kobject_uevent(KOBJ_REMOVE) twice. (Rafael Aquini) [2016426] - lib/div64.c: off by one in shift (Rafael Aquini) [2016426] - assoc_array: Fix shortcut creation (Rafael Aquini) [2016426] - lib/test_kmod.c: potential double free in error handling (Rafael Aquini) [2016426] - devres: always use dev_name() in devm_ioremap_resource() (Rafael Aquini) [2016426] - lib: fix build failure in CONFIG_DEBUG_VIRTUAL test (Rafael Aquini) [2016426] - test_firmware: fix error return getting clobbered (Rafael Aquini) [2016426] - lib: Fix ia64 bootloader linkage (Rafael Aquini) [2016426] - lib/test_hexdump.c: fix failure on big endian cpu (Rafael Aquini) [2016426] - hv_utils: Set the maximum packet size for VSS driver to the length of the receive buffer (Cathy Avery) [2012842] - scsi: storvsc: Log TEST_UNIT_READY errors as warnings (Cathy Avery) [2012842] - scsi: storvsc: Correctly handle multiple flags in srb_status (Cathy Avery) [2012842] - scsi: storvsc: Update error logging (Cathy Avery) [2012842] - scsi: storvsc: Miscellaneous code cleanups (Cathy Avery) [2012842] - scsi: storvsc: Use blk_mq_unique_tag() to generate requestIDs (Cathy Avery) [2012842] - Drivers: hv: vmbus: Copy packets sent by Hyper-V out of the ring buffer (Cathy Avery) [2012842] - scsi: core: Fix hang of freezing queue between blocking and running device (Ewan D. Milne) [2012323] - scsi: core: Fix capacity set to zero after offlinining device (Ewan D. Milne) [2012323] - scsi: sr: Return correct event when media event code is 3 (Ewan D. Milne) [2012323] - scsi: core: Avoid printing an error if target_alloc() returns -ENXIO (Ewan D. Milne) [2012323] - scsi: scsi_dh_rdac: Avoid crash during rdac_bus_attach() (Ewan D. Milne) [2012323] - scsi: core: Fix bad pointer dereference when ehandler kthread is invalid (Ewan D. Milne) [2012323] - scsi: core: Fix the documentation of the scsi_execute() time parameter (Ewan D. Milne) [2012323] - scsi: core: Retry I/O for Notify (Enable Spinup) Required error (Ewan D. Milne) [2012323] - scsi: sd: Call sd_revalidate_disk() for ioctl(BLKRRPART) (Ewan D. Milne) [2012323] - scsi: core: Inline scsi_mq_alloc_queue() (Ewan D. Milne) [2012323] - scsi: sr: Return appropriate error code when disk is ejected (Ewan D. Milne) [2012323] - scsi: core: Only put parent device if host state differs from SHOST_CREATED (Ewan D. Milne) [2012323] - scsi: core: Put .shost_dev in failure path if host state changes to RUNNING (Ewan D. Milne) [2012323] - scsi: core: Fix failure handling of scsi_add_host_with_dma() (Ewan D. Milne) [2012323] - scsi: core: Fix error handling of scsi_host_alloc() (Ewan D. Milne) [2012323] - scsi: st: Return error code in st_scsi_execute() (Ewan D. Milne) [2012323] - scsi: scsi_dh_alua: Retry RTPG on a different path after failure (Ewan D. Milne) [2012323] - scsi: scsi_transport_fc: Remove double FC_FPORT_DELETED in mask creation (Ewan D. Milne) [2012323] - scsi: core: Fix a comment in function scsi_host_dev_release() (Ewan D. Milne) [2012323] - scsi: scsi_debug: Drop if with an always false condition (Ewan D. Milne) [2012323] - scsi: scsi_debug: Fix cmd_per_lun, set to max_queue (Ewan D. Milne) [2012323] - scsi: sd: Introduce a new local variable in sd_check_events() (Ewan D. Milne) [2012323] - scsi: core: Modify the scsi_send_eh_cmnd() return value for the SDEV_BLOCK case (Ewan D. Milne) [2012323] - scsi: core: Rename scsi_softirq_done() into scsi_complete() (Ewan D. Milne) [2012323] - scsi: core: Remove an incorrect comment (Ewan D. Milne) [2012323] - scsi: core: Make the scsi_alloc_sgtables() documentation more accurate (Ewan D. Milne) [2012323] - scsi: scsi_dh_alua: Prevent duplicate pg info print in alua_rtpg() (Ewan D. Milne) [2012323] - scsi: core: scsi_host_cmd_pool is declared twice (Ewan D. Milne) [2012323] - scsi: core: Remove duplicate declarations (Ewan D. Milne) [2012323] - scsi: core: Fix comment typo (Ewan D. Milne) [2012323] - scsi: scsi_dh: Fix a typo (Ewan D. Milne) [2012323] - scsi: sd: Fix function name in header (Ewan D. Milne) [2012323] - scsi: sd_zbc: Place function name into header (Ewan D. Milne) [2012323] - scsi: sd_zbc: Update write pointer offset cache (Ewan D. Milne) [2012323] - scsi: st: Fix a use after free in st_open() (Ewan D. Milne) [2012323] - scsi: scsi_debug: Fix cmd duration calculation (Ewan D. Milne) [2012323] - scsi: core: Set shost as hctx driver_data (Ewan D. Milne) [2012323] - scsi: scsi_debug: Add new defer type for mq_poll (Ewan D. Milne) [2012323] - scsi: scsi_debug: mq_poll support (Ewan D. Milne) [2012323] - scsi: core: Add mq_poll support to SCSI layer (Ewan D. Milne) [2012323] - scsi: sd: Remove obsolete variable in sd_remove() (Ewan D. Milne) [2012323] - scsi: handle zone resources errors (Ewan D. Milne) [2012323] - scsi: scsi_debug: Fix scp is NULL errors (Ewan D. Milne) [2012323] - scsi: scsi_debug: Improve command duration calculation (Ewan D. Milne) [2012323] - x86/platform: Increase maximum GPIO number for X86_64 (David Arcari) [2016796] - pinctrl: pinconf-generic: Add function parameter description 'pctldev' (David Arcari) [2016796] - pinctrl: core: Remove duplicated word from devm_pinctrl_unregister() (David Arcari) [2016796] - pinctrl: tigerlake: Fix GPIO mapping for newer version of software (David Arcari) [2016796] - pinctrl: tigerlake: Add Alder Lake-M ACPI ID (David Arcari) [2016796] - docs: update pin-control.rst references (David Arcari) [2016796] - pinctrl: Keep enum pin_config_param ordered by name (part 2) (David Arcari) [2016796] - pinctrl: core: Show pin numbers for the controllers with base = 0 (David Arcari) [2016796] - pinctrl: Add PIN_CONFIG_MODE_PWM to enum pin_config_param (David Arcari) [2016796] - pinctrl: Introduce MODE group in enum pin_config_param (David Arcari) [2016796] - pinctrl: Keep enum pin_config_param ordered by name (David Arcari) [2016796] - pinctrl: core: Fix kernel doc string for pin_get_name() (David Arcari) [2016796] - pinctrl: intel: check REVID register value for device presence (David Arcari) [2016796] - pinctrl: intel: No need to disable IRQs in the handler (David Arcari) [2016796] - pinctrl: core: Set ret to 0 when group is skipped (David Arcari) [2016796] - pinctrl: core: Handling pinmux and pinconf separately (David Arcari) [2016796] - Documentation: rename pinctl to pin-control (David Arcari) [2016796] - pinctrl: pinmux: Add pinmux-select debugfs file (David Arcari) [2016796] - pinctrl: use to octal permissions for debugfs files (David Arcari) [2016796] - pinctrl: intel: Show the GPIO base calculation explicitly (David Arcari) [2016796] - pinctrl: pinmux: add function selector to pinmux-functions (David Arcari) [2016796] - pinctrl: intel: Convert capability list to features (David Arcari) [2016796] - pinctrl: intel: Drop unnecessary check for predefined features (David Arcari) [2016796] - pinctrl: intel: Split intel_pinctrl_add_padgroups() for better maintenance (David Arcari) [2016796] - pinctrl: remove empty lines in pinctrl subsystem (David Arcari) [2016796] - pinctrl: intel: Actually disable Tx and Rx buffers on GPIO request (David Arcari) [2016796] - pinctrl: Remove hole in pinctrl_gpio_range (David Arcari) [2016796] - pinctrl: core: Add missing #ifdef CONFIG_GPIOLIB (David Arcari) [2016796] - pinctrl: intel: Set default bias in case no particular value given (David Arcari) [2016796] - pinctrl: intel: Fix 2 kOhm bias which is 833 Ohm (David Arcari) [2016796] - pinctrl: core: print gpio in pins debugfs file (David Arcari) [2016796] - pinctrl: pinmux: Add some missing parameter descriptions (David Arcari) [2016796] - pinctrl: core: Fix a bunch of kerneldoc issues (David Arcari) [2016796] - pinctrl: Define of_pinctrl_get() dummy for !PINCTRL (David Arcari) [2016796] - pinctrl: core: Remove extra kref_get which blocks hogs being freed (David Arcari) [2016796] - pinctrl: Export some needed symbols at module load time (David Arcari) [2016796] - pinctrl: core: Add pinctrl_select_default_state() and export it (David Arcari) [2016796] - pinctrl: make pinconf.h self-contained (David Arcari) [2016796] - treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 194 (David Arcari) [2016796] - pinctrl: remove pinctrl/machine.h inclusion from pinctrl/pinconf.h (David Arcari) [2016796] - pinctrl: Document pin_config_group_get() return codes like pin_config_get() (David Arcari) [2016796] - pinctrl: intel: Convert to use SPDX identifier (David Arcari) [2016796] - mm/swapfile: fix an integer overflow in swap_show() (Rafael Aquini) [2008812] - mm: swapfile: fix /proc/swaps heading and Size/Used/Priority alignment (Rafael Aquini) [2008812] - Makefile: update early devel phase flag (Augusto Caringi) [2000679] - KVM: s390: Enable specification exception interpretation (Thomas Huth) [1984894] - KVM: x86: Update vCPU's hv_clock before back to guest when tsc_offset is adjusted (Marcelo Tosatti) [2007928] - ibmvnic: Remove the proper scrq flush (Desnes A. Nunes do Rosario) [2014097] - selftests/net/ipsec: Add test for xfrm_spdattr_type_t (Hangbin Liu) [2018056] - selftest/net/ipsec.c: Remove unneeded semicolon (Hangbin Liu) [2018056] - selftest/net/xfrm: Add test for ipsec tunnel (Hangbin Liu) [2018056] - ipv6: add ip6_sock_set_v6only (Josef Oskera) [2008908] - ipv6: When forwarding count rx stats on the orig netdev (Hangbin Liu) [2017704] - ipv6: make exception cache less predictible (Hangbin Liu) [2017704] - ipv6: use siphash in rt6_exception_hash() (Hangbin Liu) [2017704] - ipv6: use jhash2() in rt6_exception_hash() (Hangbin Liu) [2017704] - net/l2tp: Fix reference count leak in l2tp_udp_recv_core (Guillaume Nault) [2020380] - netfilter: nft_flow_offload: fix underflow in flowtable reference counter (Phil Sutter) [2008551] - net: xfrm: Fix end of loop tests for list_for_each_entry (Sabrina Dubroca) [2019168] - xfrm: Fix error reporting in xfrm_state_construct. (Sabrina Dubroca) [2019168]- nvme-mpath: replace direct_make_request with generic_make_request (Gopal Tiwari) [2013505] - net-sysfs: try not to restart the syscall if it will fail eventually (Antoine Tenart) [2016005] - net: mana: Fix error handling in mana_create_rxq() (Mohammed Gamal) [2011886] - net: mana: Prefer struct_size over open coded arithmetic (Mohammed Gamal) [2011886] - net: mana: Add WARN_ON_ONCE in case of CQE read overflow (Mohammed Gamal) [2011886] - net: mana: Add support for EQ sharing (Mohammed Gamal) [2011886] - net: mana: Move NAPI from EQ to CQ (Mohammed Gamal) [2011886] - net: mana: Fix a memory leak in an error handling path in 'mana_create_txq()' (Mohammed Gamal) [2011886] - net: mana: Use struct_size() in kzalloc() (Mohammed Gamal) [2011886] - vmxnet3: switch from 'pci_' to 'dma_' API (Kamal Heib) [2013202] - vmxnet3: update to version 6 (Kamal Heib) [2013202] - vmxnet3: increase maximum configurable mtu to 9190 (Kamal Heib) [2013202] - vmxnet3: set correct hash type based on rss information (Kamal Heib) [2013202] - vmxnet3: add support for ESP IPv6 RSS (Kamal Heib) [2013202] - vmxnet3: remove power of 2 limitation on the queues (Kamal Heib) [2013202] - vmxnet3: add support for 32 Tx/Rx queues (Kamal Heib) [2013202] - vmxnet3: prepare for version 6 changes (Kamal Heib) [2013202] - vmxnet3: fix cksum offload issues for tunnels with non-default udp ports (Kamal Heib) [2013202] - treewide: Use fallthrough pseudo-keyword (Kamal Heib) [2013202] - net: Use skb_frag_off accessors (Kamal Heib) [2013202] - net: Use skb accessors in network drivers (Kamal Heib) [2013202] - vmxnet3: Remove call to memset after dma_alloc_coherent (Kamal Heib) [2013202] - cgroup/debug: Fix lockdep splat with "pK" format specifier (Waiman Long) [2007919] - configs: Enable FC_APPID (Ewan D. Milne) [1643346] - configs: Enable BLK_CGROUP_FC_APPID (Ewan D. Milne) [1643346] - scsi: nvme: Added a new sysfs attribute appid_store (Ewan D. Milne) [1643346] - scsi: blkcg: Add app identifier support for blkcg (Ewan D. Milne) [1643346] - scsi: cgroup: Add cgroup_get_from_id() (Ewan D. Milne) [1643346] - perf iostat: Fix Segmentation fault from NULL 'struct perf_counts_values *' (Michael Petlan) [2003981] - perf iostat: Use system-wide mode if the target cpu_list is unspecified (Michael Petlan) [2003981] - perf beauty: Update copy of linux/socket.h with the kernel sources (Michael Petlan) [2003981] - perf test: Fix non-bash issue with stat bpf counters (Michael Petlan) [2003981] - perf machine: Fix refcount usage when processing PERF_RECORD_KSYMBOL (Michael Petlan) [2003981] - perf metricgroup: Return error code from metricgroup__add_metric_sys_event_iter() (Michael Petlan) [2003981] - perf metricgroup: Fix find_evsel_group() event selector (Michael Petlan) [2003981] - perf session: Correct buffer copying when peeking events (Michael Petlan) [2003981] - perf env: Fix memory leak of bpf_prog_info_linear member (Michael Petlan) [2003981] - perf symbol-elf: Fix memory leak by freeing sdt_note.args (Michael Petlan) [2003981] - perf stat: Honor event config name on --no-merge (Michael Petlan) [2003981] - perf test: Test 17 fails with make LIBPFM4=1 on s390 z/VM (Michael Petlan) [2003981] - perf stat: Fix error return code in bperf__load() (Michael Petlan) [2003981] - perf record: Move probing cgroup sampling support (Michael Petlan) [2003981] - perf probe: Fix NULL pointer dereference in convert_variable_location() (Michael Petlan) [2003981] - perf tools: Copy uapi/asm/perf_regs.h from the kernel for MIPS (Michael Petlan) [2003981] - perf stat: Fix error check for bpf_program__attach (Michael Petlan) [2003981] - perf jevents: Fix getting maximum number of fds (Michael Petlan) [2003981] - perf stat: Skip evlist__[enable|disable] when all events uses BPF (Michael Petlan) [2003981] - perf script: Add missing PERF_IP_FLAG_CHARS for VM-Entry and VM-Exit (Michael Petlan) [2003981] - perf scripts python: exported-sql-viewer.py: Fix warning display (Michael Petlan) [2003981] - perf scripts python: exported-sql-viewer.py: Fix Array TypeError (Michael Petlan) [2003981] - perf scripts python: exported-sql-viewer.py: Fix copy to clipboard from Top Calls by elapsed Time report (Michael Petlan) [2003981] - perf parse-events: Check if the software events array slots are populated (Michael Petlan) [2003981] - perf tools: Add 'cgroup-switches' software event (Michael Petlan) [2003981] - perf intel-pt: Remove redundant setting of ptq->insn_len (Michael Petlan) [2003981] - perf intel-pt: Fix sample instruction bytes (Michael Petlan) [2003981] - perf intel-pt: Fix transaction abort handling (Michael Petlan) [2003981] - perf test: Fix libpfm4 support (63) test error for nested event groups (Michael Petlan) [2003981] - perf buildid-list: Initialize zstd_data (Michael Petlan) [2003981] - tools build: Fix quiet cmd indentation (Michael Petlan) [2003981] - perf tools: Fix a build error on arm64 with clang (Michael Petlan) [2003981] - perf tools: Fix dynamic libbpf link (Michael Petlan) [2003981] - perf session: Fix swapping of cpu_map and stat_config records (Michael Petlan) [2003981] - perf jevents: Silence warning for ArchStd files (Michael Petlan) [2003981] - perf build: Defer printing detected features to the end of all feature checks (Michael Petlan) [2003981] - tools build: Allow deferring printing the results of feature detection (Michael Petlan) [2003981] - perf build: Regenerate the FEATURE_DUMP file after extra feature checks (Michael Petlan) [2003981] - perf session: Dump PERF_RECORD_TIME_CONV event (Michael Petlan) [2003981] - perf session: Add swap operation for event TIME_CONV (Michael Petlan) [2003981] - perf jit: Let convert_timestamp() to be backwards-compatible (Michael Petlan) [2003981] - perf tools: Change fields type in perf_record_time_conv (Michael Petlan) [2003981] - perf tools: Enable libtraceevent dynamic linking (Michael Petlan) [2003981] - perf report: Print percentage of each event statistics (Michael Petlan) [2003981] - perf report: Make --skip-empty as default (Michael Petlan) [2003981] - perf report: Add --skip-empty option to suppress 0 event stat (Michael Petlan) [2003981] - perf report: Show event sample counts in --stat output (Michael Petlan) [2003981] - perf hists: Split hists_stats from events_stats (Michael Petlan) [2003981] - perf top: Use evlist->events_stat to count events (Michael Petlan) [2003981] - perf data: Add JSON export (Michael Petlan) [2003981] - perf stat: Introduce bpf_counter_ops->disable() (Michael Petlan) [2003981] - perf stat: Introduce ':b' modifier (Michael Petlan) [2003981] - perf stat: Introduce config stat.bpf-counter-events (Michael Petlan) [2003981] - perf bpf: check perf_attr_map is compatible with the perf binary (Michael Petlan) [2003981] - perf util: Move bpf_perf definitions to a libperf header (Michael Petlan) [2003981] - perf tools: Update topdown documentation to permit rdpmc calls (Michael Petlan) [2003981] - perf tools: Add a build-test variant to use in builds from a tarball (Michael Petlan) [2003981] - perf arm64: Fix off-by-one directory paths. (Michael Petlan) [2003981] - perf: Update .gitignore file (Michael Petlan) [2003981] - perf stat: Enable iostat mode for x86 platforms (Michael Petlan) [2003981] - perf stat: Helper functions for PCIe root ports list in iostat mode (Michael Petlan) [2003981] - perf stat: Basic support for iostat in perf (Michael Petlan) [2003981] - libperf xyarray: Add bounds checks to xyarray__entry() (Michael Petlan) [2003981] - libperf: Add support for user space counter access (Michael Petlan) [2003981] - libperf tests: Add support for verbose printing (Michael Petlan) [2003981] - libperf: Add evsel mmap support (Michael Petlan) [2003981] - tools include: Add an initial math64.h (Michael Petlan) [2003981] - perf beauty: Fix fsconfig generator (Michael Petlan) [2003981] - perf record: Improve 'Workload failed' message printing events + what was exec'ed (Michael Petlan) [2003981] - perf evlist: Add a method to return the list of evsels as a string (Michael Petlan) [2003981] - perf annotate: Fix sample events lost in stdio mode (Michael Petlan) [2003981] - perf vendor events amd: Add Zen3 events (Michael Petlan) [2003981] - perf vendor events amd: Use 0x02x format for event code and umask (Michael Petlan) [2003981] - perf vendor events amd: Use lowercases for all the eventcodes and umasks (Michael Petlan) [2003981] - perf vendor events amd: Fix broken L2 Cache Hits from L2 HWPF metric (Michael Petlan) [2003981] - perf vendor events arm64: Add Hisi hip08 L3 metrics (Michael Petlan) [2003981] - perf vendor events arm64: Add Hisi hip08 L2 metrics (Michael Petlan) [2003981] - perf vendor events arm64: Add Hisi hip08 L1 metrics (Michael Petlan) [2003981] - perf pmu: Add pmu_events_map__find() function to find the common PMU map for the system (Michael Petlan) [2003981] - perf test: Handle metric reuse in pmu-events parsing test (Michael Petlan) [2003981] - perf metricgroup: Make find_metric() public with name change (Michael Petlan) [2003981] - perf mem-events: Remove unnecessary 'struct mem_info' forward declaration (Michael Petlan) [2003981] - perf evsel: Remove duplicate 'struct target' forward declaration (Michael Petlan) [2003981] - perf annotate: Add --demangle and --demangle-kernel (Michael Petlan) [2003981] - perf tools: Preserve identifier id in OCaml demangler (Michael Petlan) [2003981] - perf daemon: Remove duplicate includes (Michael Petlan) [2003981] - perf tools: Remove duplicate struct forward declarations (Michael Petlan) [2003981] - perf test: Add CSV summary test (Michael Petlan) [2003981] - perf stat: Align CSV output for summary mode (Michael Petlan) [2003981] - perf test: Add a shell test for 'perf stat --bpf-counters' new option (Michael Petlan) [2003981] - perf stat: Measure 't0' and 'ref_time' after enable_counters() (Michael Petlan) [2003981] - perf stat: Introduce 'bperf' to share hardware PMCs with BPF (Michael Petlan) [2003981] - perf tools: Fix various typos in comments (Michael Petlan) [2003981] - perf test: Add 30s timeout for wait for daemon start. (Michael Petlan) [2003981] - perf test: Cleanup daemon if test is interrupted. (Michael Petlan) [2003981] - perf test: Remove unused argument (Michael Petlan) [2003981] - perf stat: Improve readability of shadow stats (Michael Petlan) [2003981] - perf stat: Elaborate use cases for the -n/--null command line option (Michael Petlan) [2003981] - perf evlist: Change the COMM when preparing the workload (Michael Petlan) [2003981] - perf machine: Assign boolean values to a bool variable (Michael Petlan) [2003981] - perf tools: use ARRAY_SIZE (Michael Petlan) [2003981] - perf stat: Fixup __perf_stat_evsel__is() prefix (Michael Petlan) [2003981] - perf script: Fixup 'struct evsel_script' method prefix (Michael Petlan) [2003981] - perf symbols: Fix dso__fprintf_symbols_by_name() to return the number of printed chars (Michael Petlan) [2003981] - tools include: Add __sum16 and __wsum definitions. (Michael Petlan) [2003981] - perf annotate: Show full source location with 'l' hotkey (Michael Petlan) [2003981] - perf bench: Fix misspellings using codespell (Michael Petlan) [2003981] - perf config: Add annotate.demangle{,_kernel} (Michael Petlan) [2003981] - perf bpf: Minor whitespace cleanup. (Michael Petlan) [2003981] - perf tools: Enable warnings when compiling BPF programs (Michael Petlan) [2003981] - perf skel: Remove some unused variables. (Michael Petlan) [2003981] - perf report: Create option to disable raw event ordering (Michael Petlan) [2003981] - perf metric: Remove unneeded semicolon (Michael Petlan) [2003981] - perf cs-etm: Detect pid in VMID for kernel running at EL2 (Michael Petlan) [2003981] - perf cs-etm: Add helper cs_etm__get_pid_fmt() (Michael Petlan) [2003981] - perf cs-etm: Support PID tracing in config (Michael Petlan) [2003981] - perf cs-etm: Fix bitmap for option (Michael Petlan) [2003981] - perf cs-etm: Update ETM metadata format (Michael Petlan) [2003981] - perf vendor events power9: Remove unsupported metrics (Michael Petlan) [2003981] - perf buildid-cache: Add test for PE executable (Michael Petlan) [2003981] - perf docs: Add man pages to see also (Michael Petlan) [2003981] - perf tools: Generate mips syscalls_n64.c syscall table (Michael Petlan) [2003981] - perf s390: Move syscall.tbl check into check-headers.sh (Michael Petlan) [2003981] - perf tools: Support MIPS unwinding and dwarf-regs (Michael Petlan) [2003981] - tools: do not include scripts/Kbuild.include (Michael Petlan) [2003981] - tools: Allow proper CC/CXX/... override with LLVM=1 in Makefile.include (Michael Petlan) [2003981] - perf intel-pt: Use aux_watermark (Michael Petlan) [2003981] - perf/x86/intel/uncore: Fix M2M event umask for Ice Lake server (Michael Petlan) [2003981] - perf/x86/intel/uncore: Fix a kernel WARNING triggered by maxcpus=1 (Michael Petlan) [2003981] - perf: Fix data race between pin_count increment/decrement (Michael Petlan) [2003981] - perf/x86: Avoid touching LBR_TOS MSR for Arch LBR (Michael Petlan) [2003981] - perf/x86: Allow for 8running into P4 specific code (Michael Petlan) [2003981] - perf: Add support for event removal on exec (Michael Petlan) [2003981] - perf: Support only inheriting events if cloned with CLONE_THREAD (Michael Petlan) [2003981] - perf: Apply PERF_EVENT_IOC_MODIFY_ATTRIBUTES to children (Michael Petlan) [2003981] - perf: Rework perf_event_exit_event() (Michael Petlan) [2003981] - perf: Cap allocation order at aux_watermark (Michael Petlan) [2003981] - perf/x86/intel/uncore: Enable IIO stacks to PMON mapping for multi-segment SKX (Michael Petlan) [2003981] - perf core: Allocate perf_event in the target node memory (Michael Petlan) [2003981] - perf core: Add a kmem_cache for struct perf_event (Michael Petlan) [2003981] - perf core: Allocate perf_buffer in the target node memory (Michael Petlan) [2003981] - x86: Remove unusual Unicode characters from comments (Michael Petlan) [2003981] - redhat/configs: Add CONFIG_TIMERLAT_TRACER (Jerome Marchand) [1979382] - redhat/configs: Add CONFIG_OSNOISE_TRACER (Jerome Marchand) [1979382] - tracing/osnoise: Fix missed cpus_read_unlock() in start_per_cpu_kthreads() (Jerome Marchand) [1979382] - tracing: Replace deprecated CPU-hotplug functions. (Jerome Marchand) [1979382] - trace/osnoise: Print a stop tracing message (Jerome Marchand) [1979382] - trace/timerlat: Add a header with PREEMPT_RT additional fields (Jerome Marchand) [1979382] - trace/osnoise: Add a header with PREEMPT_RT additional fields (Jerome Marchand) [1979382] - tracing: Quiet smp_processor_id() use in preemptable warning in hwlat (Jerome Marchand) [1979382] - trace/timerlat: Fix indentation on timerlat_main() (Jerome Marchand) [1979382] - trace/osnoise: Make 'noise' variable s64 in run_osnoise() (Jerome Marchand) [1979382] - tracing: Fix spelling in osnoise tracer "interferences" -> "interference" (Jerome Marchand) [1979382] - Documentation: Fix a typo on trace/osnoise-tracer (Jerome Marchand) [1979382] - trace/osnoise: Fix return value on osnoise_init_hotplug_support (Jerome Marchand) [1979382] - trace/osnoise: Make interval u64 on osnoise_main (Jerome Marchand) [1979382] - trace/osnoise: Fix 'no previous prototype' warnings (Jerome Marchand) [1979382] - tracing: Have osnoise_main() add a quiescent state for task rcu (Jerome Marchand) [1979382] - trace/osnoise: Support hotplug operations (Jerome Marchand) [1979382] - trace/hwlat: Support hotplug operations (Jerome Marchand) [1979382] - trace/hwlat: Protect kdata->kthread with get/put_online_cpus (Jerome Marchand) [1979382] - trace: Add timerlat tracer (Jerome Marchand) [1979382] - trace: Add osnoise tracer (Jerome Marchand) [1979382] - trace: Add __print_ns_to_secs() and __print_ns_without_secs() helpers (Jerome Marchand) [1979382] - trace/hwlat: Remove printk from sampling loop (Jerome Marchand) [1979382] - trace/hwlat: Use trace_min_max_param for width and window params (Jerome Marchand) [1979382] - trace: Add a generic function to read/write u64 values from tracefs (Jerome Marchand) [1979382] - trace/hwlat: Implement the per-cpu mode (Jerome Marchand) [1979382] - trace/hwlat: Switch disable_migrate to mode none (Jerome Marchand) [1979382] - trace/hwlat: Implement the mode config option (Jerome Marchand) [1979382] - uio_hv_generic: Fix another memory leak in error handling paths (Mohammed Gamal) [2008561] - uio_hv_generic: Fix a memory leak in error handling paths (Mohammed Gamal) [2008561] - mfd: intel-lpss: Add Intel Alder Lake-M PCI IDs (David Arcari) [1929498] - xfs: fix up non-directory creation in SGID directories (Brian Foster) [2004810] - xfs: kill ialloced in xfs_dialloc() (Brian Foster) [2004810] - xfs: spilt xfs_dialloc() into 2 functions (Brian Foster) [2004810] - xfs: move xfs_dialloc_roll() into xfs_dialloc() (Brian Foster) [2004810] - xfs: move on-disk inode allocation out of xfs_ialloc() (Brian Foster) [2004810] - xfs: introduce xfs_dialloc_roll() (Brian Foster) [2004810] - xfs: convert noroom, okalloc in xfs_dialloc() to bool (Brian Foster) [2004810] - xfs: check tp->t_dqinfo value instead of the XFS_TRANS_DQ_DIRTY flag (Brian Foster) [2004810] - scsi: vmw_pvscsi: Set correct residual data length (Cathy Avery) [2012237] - scsi: vmw_pvscsi: MAINTAINERS: Update maintainer (Cathy Avery) [2012237] - treewide: Use fallthrough pseudo-keyword (Cathy Avery) [2012237] - scsi: be2iscsi: Fix use-after-free during IP updates (Maurizio Lombardi) [1984347] - scsi: be2iscsi: Fix some missing space in some messages (Maurizio Lombardi) [1984347] - scsi: be2iscsi: Fix an error handling path in beiscsi_dev_probe() (Maurizio Lombardi) [1984347] - scsi: be2iscsi: Remove redundant initialization (Maurizio Lombardi) [1984347] - scsi: be2iscsi: Demote incomplete/non-conformant kernel-doc header (Maurizio Lombardi) [1984347] - scsi: be2iscsi: Ensure function follows directly after its header (Maurizio Lombardi) [1984347] - scsi: be2iscsi: Fix beiscsi_phys_port()'s name in header (Maurizio Lombardi) [1984347] - scsi: be2iscsi: Provide missing function name in header (Maurizio Lombardi) [1984347] - scsi: be2iscsi: Fix incorrect naming of beiscsi_iface_config_vlan() (Maurizio Lombardi) [1984347] - scsi: be2iscsi: Mark beiscsi_attrs with static keyword (Maurizio Lombardi) [1984347] - scsi: be2iscsi: Revert "Fix a theoretical leak in beiscsi_create_eqs()" (Maurizio Lombardi) [1984347] - scsi: be2iscsi: Fix a theoretical leak in beiscsi_create_eqs() (Maurizio Lombardi) [1984347] - scsi: be2iscsi: Correct misdocumentation of function param 'ep' (Maurizio Lombardi) [1984347] - scsi: be2iscsi: Add missing function parameter description (Maurizio Lombardi) [1984347] - scsi: be2iscsi: Fix misdocumentation of 'pcontext' (Maurizio Lombardi) [1984347] - scsi: be2iscsi: Fix API/documentation slip (Maurizio Lombardi) [1984347] - powerpc/spinlock: Properly define pv_spinlocks_init() (Waiman Long) [2014363] - ACPI: Pass the same capabilities to the _OSC regardless of the query flag (Mark Langsdorf) [1982319] - Revert "[acpi] ACPI: sleep: Put the FACS table after using it" (Mark Langsdorf) [1982319] - ACPICA: Clean up context mutex during object deletion (Mark Langsdorf) [1982319] - ACPI: power: Refine turning off unused power resources (Mark Langsdorf) [1982319] - ACPI: NFIT: Fix support for variable 'SPA' structure size (Mark Langsdorf) [1982319] - ACPI: custom_method: fix a possible memory leak (Mark Langsdorf) [1982319] - ACPI: custom_method: fix potential use-after-free issue (Mark Langsdorf) [1982319] - ACPI: irq: Prevent unregistering of GIC SGIs (Mark Langsdorf) [1982319] - ACPI: GTDT: Don't corrupt interrupt mappings on watchdow probe failure (Mark Langsdorf) [1982319] - ACPI: video: use native backlight for GA401/GA502/GA503 (Mark Langsdorf) [1982319] - ACPI: APEI: remove redundant assignment to variable rc (Mark Langsdorf) [1982319] - ACPI: utils: Capitalize abbreviations in the comments (Mark Langsdorf) [1982319] - ACPI: utils: Document for_each_acpi_dev_match() macro (Mark Langsdorf) [1982319] - ACPI: bus: Introduce acpi_dev_get() and reuse it in ACPI code (Mark Langsdorf) [1982319] - ACPI: scan: Utilize match_string() API (Mark Langsdorf) [1982319] - ACPI: CPPC: Replace cppc_attr with kobj_attribute (Mark Langsdorf) [1982319] - ACPI: scan: Call acpi_get_object_info() from acpi_set_pnp_ids() (Mark Langsdorf) [1982319] - ACPI: scan: Drop sta argument from acpi_init_device_object() (Mark Langsdorf) [1982319] - ACPI: scan: Drop sta argument from acpi_add_single_object() (Mark Langsdorf) [1982319] - ACPI: scan: Rearrange checks in acpi_bus_check_add() (Mark Langsdorf) [1982319] - ACPI: scan: Fold acpi_bus_type_and_status() into its caller (Mark Langsdorf) [1982319] - ACPI: video: Check LCD flag on ACPI-reduced-hardware devices (Hans de Goede) [1982319] - ACPI: utils: Add acpi_reduced_hardware() helper (Mark Langsdorf) [1982319] - ACPI: dock: fix some coding style issues (Mark Langsdorf) [1982319] - ACPI: sysfs: fix some coding style issues (Mark Langsdorf) [1982319] - ACPI: PM: add a missed blank line after declarations (Mark Langsdorf) [1982319] - ACPI: custom_method: fix a coding style issue (Mark Langsdorf) [1982319] - ACPI: CPPC: fix some coding style issues (Mark Langsdorf) [1982319] - ACPI: button: fix some coding style issues (Mark Langsdorf) [1982319] - ACPI: battery: fix some coding style issues (Mark Langsdorf) [1982319] - ACPI: acpi_pad: add a missed blank line after declarations (Mark Langsdorf) [1982319] - ACPI: LPSS: add a missed blank line after declarations (Mark Langsdorf) [1982319] - ACPI: ipmi: remove useless return statement for void function (Mark Langsdorf) [1982319] - ACPI: processor: fix some coding style issues (Mark Langsdorf) [1982319] - ACPI: APD: fix a block comment align issue (Mark Langsdorf) [1982319] - ACPI: AC: fix some coding style issues (Mark Langsdorf) [1982319] - ACPICA: Update version to 20210331 (Mark Langsdorf) [1982319] - ACPICA: IORT: Updates for revision E.b (Mark Langsdorf) [1982319] - ACPICA: iASL: Decode subtable type field for VIOT (Mark Langsdorf) [1982319] - ACPICA: iASL: Add support for CEDT table (Mark Langsdorf) [1982319] - ACPICA: ACPI 6.4: add support for PHAT table (Mark Langsdorf) [1982319] - ACPICA: ACPI 6.4: add CSI2Bus resource template (Mark Langsdorf) [1982319] - ACPICA: ACPI 6.4: PMTT: add new fields/structures (Mark Langsdorf) [1982319] - ACPICA: CXL 2.0: CEDT: Add new CEDT table (Mark Langsdorf) [1982319] - ACPICA: acpisrc: Add missing conversion for VIOT support (Mark Langsdorf) [1982319] - ACPICA: iASL: Add definitions for the VIOT table (Mark Langsdorf) [1982319] - ACPICA: ACPI 6.4: add SDEV secure access components (Mark Langsdorf) [1982319] - ACPICA: ACPI 6.4: Add new flags in SRAT (Mark Langsdorf) [1982319] - ACPICA: ACPI 6.4: HMAT: add new fields/flags (Mark Langsdorf) [1982319] - ACPICA: ACPI 6.4: NFIT: add Location Cookie field (Mark Langsdorf) [1982319] - ACPICA: Tree-wide: fix various typos and spelling mistakes (Mark Langsdorf) [1982319] - ACPICA: ACPI 6.4: PPTT: add new version of subtable type 1 (Mark Langsdorf) [1982319] - ACPICA: ACPI 6.4: PCCT: add support for subtable type 5 (Mark Langsdorf) [1982319] - ACPICA: ACPI 6.4: MADT: add Multiprocessor Wakeup Structure (Mark Langsdorf) [1982319] - ACPICA: ACPI 6.4: add CXL ACPI device ID and _CBR object (Mark Langsdorf) [1982319] - ACPICA: ACPI 6.4: add USB4 capabilities UUID (Mark Langsdorf) [1982319] - ACPICA: ACPI 6.4: Add new predefined objects _BPC, _BPS, and _BPT (Mark Langsdorf) [1982319] - ACPICA: Add parsing for IVRS IVHD 40h and device entry F0h (Mark Langsdorf) [1982319] - ACPI: CPPC: Add emtpy stubs of functions for CONFIG_ACPI_CPPC_LIB unset (Mark Langsdorf) [1982319] - ACPI: scan: Turn off unused power resources during initialization (Mark Langsdorf) [1982319] - ACPI: power: Turn off unused power resources unconditionally (Mark Langsdorf) [1982319] - ACPI: fix various typos in comments (Mark Langsdorf) [1982319] - ACPI: utils: Introduce acpi_evaluation_failure_warn() (Mark Langsdorf) [1982319] - ACPI: processor: perflib: Eliminate redundant status check (Mark Langsdorf) [1982319] - ACPI: Drop unused ACPI_*_COMPONENT definitions and update documentation (Mark Langsdorf) [1982319] - ACPI: sysfs: Get rid of ACPICA message printing (Mark Langsdorf) [1982319] - ACPI: HED: Drop unused ACPI_MODULE_NAME() definition (Mark Langsdorf) [1982319] - ACPI: processor: Get rid of ACPICA message printing (Mark Langsdorf) [1982319] - ACPI: processor: idle: Drop extra prefix from pr_notice() (Mark Langsdorf) [1982319] - ACPI: processor: Remove initialization of static variable (Mark Langsdorf) [1982319] - ACPI: PCI: Replace direct printk() invocations in pci_link.c (Mark Langsdorf) [1982319] - ACPI: PCI: Drop ACPI_PCI_COMPONENT that is not used any more (Mark Langsdorf) [1982319] - ACPI: PCI: Replace ACPI_DEBUG_PRINT() and ACPI_EXCEPTION() (Mark Langsdorf) [1982319] - ACPI: PCI: IRQ: Consolidate printing diagnostic messages (Mark Langsdorf) [1982319] - arm64: compat: Poison the compat sigpage (C. Erastus Toe) [1983849] {CVE-2021-21781} - ARM: ensure the signal page contains defined contents (C. Erastus Toe) [1983849] {CVE-2021-21781} - powerpc/pseries: Fix update of LPAR security flavor after LPM (Steve Best) [1997294] - s390/qeth: Update MACs of LEARNING_SYNC device (Robin Dapp) [1919227] - s390/qeth: Switchdev event handler (Robin Dapp) [1919227] - s390/qeth: Register switchdev event handler (Robin Dapp) [1919227] - PCI: Add pcie_ptm_enabled() (Petr Oros) [2006834] - Revert "PCI: Make pci_enable_ptm() private" (Petr Oros) [2006834] - x86/cpufeatures: Force disable X86_FEATURE_ENQCMD and remove update_pasid() (Jerry Snitselaar) [2004577] - s390: report more CPU capabilities (Robin Dapp) [1984839] - s390/disassembler: add instructions (Robin Dapp) [1984839] - s390/opcodes: rename selhhhr to selfhr (Robin Dapp) [1984839] - s390/disassembler: update opcode table (Robin Dapp) [1984839] - s390/opcodes: add missing instructions to the disassembler (Robin Dapp) [1984839] - CI: Add template for baseline gcov build (Israel Santana Aleman) - futex: Remove unused variable 'vpid' in futex_proxy_trylock_atomic() (Waiman Long) [2000293] - futex: Prevent inconsistent state and exit race (Waiman Long) [2000293] - locking/ww_mutex: Initialize waiter.ww_ctx properly (Waiman Long) [2000293] - futex: Return error code instead of assigning it without effect (Waiman Long) [2000293] - Documentation: seqlock: s/LOCKTYPE/LOCKNAME/g (Waiman Long) [2000293] - lib/test_lockup.c: fix return value of test_lockup_init() (Waiman Long) [2000293] - locking/rwbase: Take care of ordering guarantee for fastpath reader (Waiman Long) [2000293] - locking/rwbase: Extract __rwbase_write_trylock() (Waiman Long) [2000293] - locking/rwbase: Properly match set_and_save_state() to restore_state() (Waiman Long) [2000293] - locking/rtmutex: Fix ww_mutex deadlock check (Waiman Long) [2000293] - locking/rwsem: Add missing __init_rwsem() for PREEMPT_RT (Waiman Long) [2000293] - locking/rtmutex: Return success on deadlock for ww_mutex waiters (Waiman Long) [2000293] - locking/rtmutex: Prevent spurious EDEADLK return caused by ww_mutexes (Waiman Long) [2000293] - locking/rtmutex: Dequeue waiter on ww_mutex deadlock (Waiman Long) [2000293] - locking/rtmutex: Dont dereference waiter lockless (Waiman Long) [2000293] - locking/local_lock: Add PREEMPT_RT support (Waiman Long) [2000293] - locking/spinlock/rt: Prepare for RT local_lock (Waiman Long) [2000293] - locking/rtmutex: Add adaptive spinwait mechanism (Waiman Long) [2000293] - locking/rtmutex: Implement equal priority lock stealing (Waiman Long) [2000293] - preempt: Adjust PREEMPT_LOCK_OFFSET for RT (Waiman Long) [2000293] - locking/rtmutex: Prevent lockdep false positive with PI futexes (Waiman Long) [2000293] - futex: Prevent requeue_pi() lock nesting issue on RT (Waiman Long) [2000293] - futex: Simplify handle_early_requeue_pi_wakeup() (Waiman Long) [2000293] - futex: Reorder sanity checks in futex_requeue() (Waiman Long) [2000293] - futex: Clarify comment in futex_requeue() (Waiman Long) [2000293] - futex: Restructure futex_requeue() (Waiman Long) [2000293] - futex: Correct the number of requeued waiters for PI (Waiman Long) [2000293] - futex: Remove bogus condition for requeue PI (Waiman Long) [2000293] - futex: Clarify futex_requeue() PI handling (Waiman Long) [2000293] - futex: Clean up stale comments (Waiman Long) [2000293] - futex: Validate waiter correctly in futex_proxy_trylock_atomic() (Waiman Long) [2000293] - lib/test_lockup: Adapt to changed variables (Waiman Long) [2000293] - locking/rtmutex: Add mutex variant for RT (Waiman Long) [2000293] - locking/ww_mutex: Implement rtmutex based ww_mutex API functions (Waiman Long) [2000293] - locking/rtmutex: Extend the rtmutex core to support ww_mutex (Waiman Long) [2000293] - locking/ww_mutex: Add rt_mutex based lock type and accessors (Waiman Long) [2000293] - locking/ww_mutex: Add RT priority to W/W order (Waiman Long) [2000293] - locking/ww_mutex: Implement rt_mutex accessors (Waiman Long) [2000293] - locking/ww_mutex: Abstract out internal lock accesses (Waiman Long) [2000293] - locking/ww_mutex: Abstract out mutex types (Waiman Long) [2000293] - locking/ww_mutex: Abstract out mutex accessors (Waiman Long) [2000293] - locking/ww_mutex: Abstract out waiter enqueueing (Waiman Long) [2000293] - locking/ww_mutex: Abstract out the waiter iteration (Waiman Long) [2000293] - locking/ww_mutex: Remove the __sched annotation from ww_mutex APIs (Waiman Long) [2000293] - locking/ww_mutex: Split out the W/W implementation logic into kernel/locking/ww_mutex.h (Waiman Long) [2000293] - locking/ww_mutex: Split up ww_mutex_unlock() (Waiman Long) [2000293] - locking/ww_mutex: Gather mutex_waiter initialization (Waiman Long) [2000293] - locking/ww_mutex: Simplify lockdep annotations (Waiman Long) [2000293] - locking/mutex: Make mutex::wait_lock raw (Waiman Long) [2000293] - locking/ww_mutex: Move the ww_mutex definitions from into (Waiman Long) [2000293] - locking/mutex: Move the 'struct mutex_waiter' definition from to the internal header (Waiman Long) [2000293] - locking/mutex: Consolidate core headers, remove kernel/locking/mutex-debug.h (Waiman Long) [2000293] - locking/rtmutex: Squash !RT tasks to DEFAULT_PRIO (Waiman Long) [2000293] - locking/rwlock: Provide RT variant (Waiman Long) [2000293] - locking/spinlock: Provide RT variant (Waiman Long) [2000293] - locking/rtmutex: Provide the spin/rwlock core lock function (Waiman Long) [2000293] - locking/spinlock: Provide RT variant header: (Waiman Long) [2000293] - locking/spinlock: Provide RT specific spinlock_t (Waiman Long) [2000293] - locking/rtmutex: Reduce header dependencies, only include (Waiman Long) [2000293] - rbtree: Split out the rbtree type definitions into (Waiman Long) [2000293] - locking/lockdep: Reduce header dependencies in (Waiman Long) [2000293] - locking/rtmutex: Prevent future include recursion hell (Waiman Long) [2000293] - locking/spinlock: Split the lock types header, and move the raw types into (Waiman Long) [2000293] - locking/rtmutex: Guard regular sleeping locks specific functions (Waiman Long) [2000293] - locking/rtmutex: Prepare RT rt_mutex_wake_q for RT locks (Waiman Long) [2000293] - locking/rtmutex: Use rt_mutex_wake_q_head (Waiman Long) [2000293] - locking/rtmutex: Provide rt_wake_q_head and helpers (Waiman Long) [2000293] - locking/rtmutex: Add wake_state to rt_mutex_waiter (Waiman Long) [2000293] - locking/rwsem: Add rtmutex based R/W semaphore implementation (Waiman Long) [2000293] - locking/rt: Add base code for RT rw_semaphore and rwlock (Waiman Long) [2000293] - locking/rtmutex: Provide rt_mutex_base_is_locked() (Waiman Long) [2000293] - locking/rtmutex: Provide rt_mutex_slowlock_locked() (Waiman Long) [2000293] - locking/rtmutex: Split out the inner parts of 'struct rtmutex' (Waiman Long) [2000293] - locking/rtmutex: Split API from implementation (Waiman Long) [2000293] - locking/rtmutex: Convert macros to inlines (Waiman Long) [2000293] - locking/rtmutex: Remove rt_mutex_is_locked() (Waiman Long) [2000293] - sched/wake_q: Provide WAKE_Q_HEAD_INITIALIZER() (Waiman Long) [2000293] - sched/core: Provide a scheduling point for RT locks (Waiman Long) [2000293] - sched/core: Rework the __schedule() preempt argument (Waiman Long) [2000293] - sched/wakeup: Prepare for RT sleeping spin/rwlocks (Waiman Long) [2000293] - sched/wakeup: Reorganize the current::__state helpers (Waiman Long) [2000293] - sched/wakeup: Introduce the TASK_RTLOCK_WAIT state bit (Waiman Long) [2000293] - sched/wakeup: Split out the wakeup ->__state check (Waiman Long) [2000293] - locking/rtmutex: Set proper wait context for lockdep (Waiman Long) [2000293] - locking/local_lock: Add missing owner initialization (Waiman Long) [2000293] - locking/rtmutex: Use the correct rtmutex debugging config option (Waiman Long) [2000293] - tools/runqslower: Use __state instead of state (Waiman Long) [2000293] - locking/rwsem: Remove an unused parameter of rwsem_wake() (Waiman Long) [2000293] - locking/mutex: Add MUTEX_WARN_ON (Waiman Long) [2000293] - locking/mutex: Introduce __mutex_trylock_or_handoff() (Waiman Long) [2000293] - locking/mutex: Fix HANDOFF condition (Waiman Long) [2000293] - locking/mutex: Use try_cmpxchg() (Waiman Long) [2000293] - sched: Change task_struct::state (Waiman Long) [2000293] - isdn/hisax: Use get_current_state() (Waiman Long) [2000293] - sched,timer: Use __set_current_state() (Waiman Long) [2000293] - sched: Add get_current_state() (Waiman Long) [2000293] - sched,perf,kvm: Fix preemption condition (Waiman Long) [2000293] - sched: Introduce task_is_running() (Waiman Long) [2000293] - sched: Unbreak wakeups (Waiman Long) [2000293] - seqlock: Remove trailing semicolon in macros (Waiman Long) [2000293] - locking/mutex: clear MUTEX_FLAGS if wait_list is empty due to signal (Waiman Long) [2000293] - ptrace: make ptrace() fail if the tracee changed its pid unexpectedly (Waiman Long) [2000293] - sched: Rename sched_info_{queued,dequeued} (Waiman Long) [2000293] - locking/rwsem: Fix comment typo (Waiman Long) [2000293] - bpf: runqslower: Use task local storage (Waiman Long) [2000293] - lib/test_lockup.c: minimum fix to get it compiled on PREEMPT_RT (Waiman Long) [2000293] - seqlock: kernel-doc: Specify when preemption is automatically altered (Waiman Long) [2000293] - seqlock: Prefix internal seqcount_t-only macros with a "do_" (Waiman Long) [2000293] - rcu: Check and report missed fqs timer wakeup on RCU stall (Waiman Long) [2000293] - softirq: Move related code into one section (Waiman Long) [2000293] - seqlock: Rename __seqprop() users (Waiman Long) [2000293] - seqlock: avoid -Wshadow warnings (Waiman Long) [2000293] - locking/seqlocks: Fix kernel-doc warnings (Waiman Long) [2000293] - locking/seqlock: Tweak DEFINE_SEQLOCK() kernel doc (Waiman Long) [2000293] - seqlock: Unbreak lockdep (Waiman Long) [2000293] - seqlock: PREEMPT_RT: Do not starve seqlock_t writers (Waiman Long) [2000293] - seqlock: seqcount_LOCKNAME_t: Introduce PREEMPT_RT support (Waiman Long) [2000293] - seqlock: seqcount_t: Implement all read APIs as statement expressions (Waiman Long) [2000293] - seqlock: Use unique prefix for seqcount_t property accessors (Waiman Long) [2000293] - seqlock: seqcount_LOCKNAME_t: Standardize naming convention (Waiman Long) [2000293] - seqlock: seqcount latch APIs: Only allow seqcount_latch_t (Waiman Long) [2000293] - rbtree_latch: Use seqcount_latch_t (Waiman Long) [2000293] - x86/tsc: Use seqcount_latch_t (Waiman Long) [2000293] - timekeeping: Use seqcount_latch_t (Waiman Long) [2000293] - time/sched_clock: Mark sched_clock_read_begin/retry() as notrace (Waiman Long) [2000293] - time/sched_clock: Use raw_read_seqcount_latch() (Waiman Long) [2000293] - time/sched_clock: Use raw_read_seqcount_latch() during suspend (Waiman Long) [2000293] - time/sched_clock: Use seqcount_latch_t (Waiman Long) [2000293] - sched_clock: Expose struct clock_read_data (Waiman Long) [2000293] - timers/sched_clock: Include local timekeeping.h for missing declarations (Waiman Long) [2000293] - sched/clock: Move sched clock initialization and merge with generic clock (Waiman Long) [2000293] - userfaultfd: simplify fault handling (Waiman Long) [2000293] - rwsem: fix commas in initialisation (Waiman Long) [2000293] - lib/test_lockup.c: make test_inode static (Waiman Long) [2000293] - genirq: Provide irq_enter/exit_rcu() (Waiman Long) [2000293] - lib/test_lockup.c: add parameters for locking generic vfs locks (Waiman Long) [2000293] - lib/test_lockup.c: fix spelling mistake "iteraions" -> "iterations" (Waiman Long) [2000293] - lib/test_lockup: test module to generate lockups (Waiman Long) [2000293] - x86/tsc: Move inline keyword to the beginning of function declarations (Waiman Long) [2000293] - softirq: Don't skip softirq execution when softirq thread is parking (Waiman Long) [2000293] - sched/core: Convert task_struct.stack_refcount to refcount_t (Waiman Long) [2000293] - kernel/hung_task.c: break RCU locks based on jiffies (Waiman Long) [2000293] - x86/process: Avoid unnecessary NULL check in get_wchan() (Waiman Long) [2000293] - kernel/rwsem: Remove ifdef __init_rwsem code from rwsem.c (Waiman Long) [2000293] - misc: hpilo: map iLO shared memory by PCI revision id (Joseph Szczypek) [1985076] - misc: hpilo: MAINTAINERS: add entry for hpilo (Joseph Szczypek) [1985076] - misc: hpilo: avoid a useless memset (Joseph Szczypek) [1985076] - misc: hpilo: switch from 'pci_' to 'dma_' API (Joseph Szczypek) [1985076] - hpilo: Replace one-element array with flexible-array member (Joseph Szczypek) [1985076] - perf flamegraph: flamegraph.py script improvements (Michael Petlan) [2010269]- ceph: skip existing superblocks that are blocklisted or shut down when mounting (Jeffrey Layton) [2011462] - cpufreq: intel_pstate: Combine ->stop_cpu() and ->offline() (David Arcari) [2003695] - cpufreq: intel_pstate: Add Cometlake support in no-HWP mode (David Arcari) [2003695] - cpufreq: intel_pstate: Add Icelake servers support in no-HWP mode (David Arcari) [2003695] - i2c: i801: Add support for Intel Alder Lake PCH-M (David Arcari) [1929497] - i2c: i801: Add Block Write-Block Read Process Call support (David Arcari) [1929497] - pinctrl: tigerlake: Add Alder Lake-M ACPI ID (David Arcari) [1929501] - x86/microcode: Check for offline CPUs before requesting new microcode (Puneet Sethi) [1971878] - x86/resctrl: Fix a maybe-uninitialized build warning treated as error (Terry Bowman) [1994090] - x86/resctrl: Fix default monitoring groups reporting (Terry Bowman) [1994090] - PCI: Remove WARN_ON(in_interrupt()) (Myron Stowe) [1993262] - PCI: Apply CONFIG_PCI_DEBUG to entire drivers/pci hierarchy (Myron Stowe) [1993262] - PCI: Add Silicom Denmark vendor ID (Myron Stowe) [1993262] - PCI: Align checking of syscall user config accessors (Myron Stowe) [1993262] - PCI: Decline to resize resources if boot config must be preserved (Myron Stowe) [1993262] - PCI/LINK: Remove bandwidth notification (Myron Stowe) [1993262] - PCI: acpiphp: Remove unused acpiphp_callback typedef (Myron Stowe) [1993262] - PCI: Fix pci_register_io_range() memory leak (Myron Stowe) [1993262] - EDAC/amd64: Add AMD family 17h model 60h PCI IDs (Aristeu Rozanski) [1930489] - EDAC/amd64: Add PCI device IDs for family 17h, model 70h (Aristeu Rozanski) [1930489] - scsi: bnx2fc: Remove meaningless bnx2fc_abts_cleanup() return value assignment (Nilesh Javali) [1983956] - scsi: bnx2fc: Return failure if io_req is already in ABTS processing (Nilesh Javali) [1983956] - scsi: target: ibmvscsi_tgt: Convert to new submission API (Maurizio Lombardi) [2004470] - scsi: target: Fix sense key for invalid EXTENDED COPY request (Maurizio Lombardi) [2004470] - scsi: target: Allows backend drivers to fail with specific sense codes (Maurizio Lombardi) [2004470] - scsi: target: pscsi: Fix possible null-pointer dereference in pscsi_complete_cmd() (Maurizio Lombardi) [2004470] - scsi: target: core: Drop unnecessary se_cmd ASC/ASCQ members (Maurizio Lombardi) [2004470] - scsi: target: sbp: Drop incorrect ASC/ASCQ usage (Maurizio Lombardi) [2004470] - scsi: target: core: Avoid using lun_tg_pt_gp after unlock (Maurizio Lombardi) [2004470] - scsi: target: tcmu: Add new feature KEEP_BUF (Maurizio Lombardi) [2004470] - scsi: target: Remove redundant assignment to variable ret (Maurizio Lombardi) [2004470] - scsi: target: Fix NULL dereference on XCOPY completion (Maurizio Lombardi) [2004470] - scsi: target: iscsi: Remove redundant continue statement (Maurizio Lombardi) [2004470] - scsi: target: Use standard SAM status types (Maurizio Lombardi) [2004470] - scsi: target: tcmu: Fix boolreturn.cocci warnings (Maurizio Lombardi) [2004470] - scsi: target: core: Add the VERSION DESCRIPTOR fields to the INQUIRY data (Maurizio Lombardi) [2004470] - scsi: target: core: Bump INQUIRY VERSION to SPC-4 (Maurizio Lombardi) [2004470] - scsi: target: core: Add configurable IEEE Company ID attribute (Maurizio Lombardi) [2004470] - scsi: target: core: Unify NAA identifier generation (Maurizio Lombardi) [2004470] - scsi: target: sbp_target: Remove redundant assignment to pg_size (Maurizio Lombardi) [2004470] - scsi: target: tcmu: Rename TCM_DEV_BIT_PLUGGED to TCMU_DEV_BIT_PLUGGED (Maurizio Lombardi) [2004470] - scsi: target: iscsi: Drop unnecessary container_of() (Maurizio Lombardi) [2004470] - scsi: target: iscsi: Switch to kmemdup_nul() (Maurizio Lombardi) [2004470] - scsi: target: iblock: Fix smp_processor_id() BUG messages (Maurizio Lombardi) [2004470] - scsi: target: tcmu: Fix xarray RCU warning (Maurizio Lombardi) [2004470] - scsi: target: core: Avoid smp_processor_id() in preemptible code (Maurizio Lombardi) [2004470] - scsi: target: tcmu: Return from tcmu_handle_completions() if cmd_id not found (Maurizio Lombardi) [2004470] - scsi: target: tcm_fc: Fix a kernel-doc header (Maurizio Lombardi) [2004470] - scsi: target: Shorten ALUA error messages (Maurizio Lombardi) [2004470] - scsi: target: Fix two format specifiers (Maurizio Lombardi) [2004470] - scsi: target: Compare explicitly with SAM_STAT_GOOD (Maurizio Lombardi) [2004470] - scsi: target: tcmu: Make data_pages_per_blk changeable via configfs (Maurizio Lombardi) [2004470] - scsi: target: tcmu: Replace block size definitions with new udev members (Maurizio Lombardi) [2004470] - scsi: target: tcmu: Remove function tcmu_get_block_page() (Maurizio Lombardi) [2004470] - scsi: target: tcmu: Support DATA_BLOCK_SIZE = N * PAGE_SIZE (Maurizio Lombardi) [2004470] - scsi: target: tcmu: Prepare for PAGE_SIZE != DATA_BLOCK_SIZE (Maurizio Lombardi) [2004470] - scsi: target: tcmu: Adjust names of variables and definitions (Maurizio Lombardi) [2004470] - scsi: target: Make the virtual LUN 0 device (Maurizio Lombardi) [2004470] - scsi: target: Add the DUMMY flag to rd_mcp (Maurizio Lombardi) [2004470] - scsi: target: Fix htmldocs warning in target_submit_prep() (Maurizio Lombardi) [2004470] - scsi: target: tcmu: Adjust parameter in call to tcmu_blocks_release() (Maurizio Lombardi) [2004470] - scsi: target: core: file: Don't duplicate memset(0xff) (Maurizio Lombardi) [2004470] - scsi: target: core: pr: Initialize arrays at declaration time (Maurizio Lombardi) [2004470] - scsi: target: configfs: Initialize arrays at declaration time (Maurizio Lombardi) [2004470] - scsi: target: iscsi: Initialize arrays at declaration time (Maurizio Lombardi) [2004470] - scsi: target: iscsi: Remove unused macro PRINT_BUF (Maurizio Lombardi) [2004470] - scsi: target: iscsi: Remove unused macro TEXT_LEN (Maurizio Lombardi) [2004470] - scsi: target: iscsi: Remove unused macro ISCSI_INST_LAST_FAILURE_TYPE (Maurizio Lombardi) [2004470] - scsi: target: core: Remove unused macros NONE and ISPRINT (Maurizio Lombardi) [2004470] - scsi: target: core: Get rid of warning in compare_and_write_do_cmp() (Maurizio Lombardi) [2004470] - scsi: target: pscsi: Remove unused macro ISPRINT (Maurizio Lombardi) [2004470] - scsi: target: pscsi: Fix warning in pscsi_complete_cmd() (Maurizio Lombardi) [2004470] - scsi: target: iblock: Fix type of logs_per_phys (Maurizio Lombardi) [2004470] - scsi: target: iblock: Trim line longer than 80 characters (Maurizio Lombardi) [2004470] - scsi: target: iblock: Remove an extra argument (Maurizio Lombardi) [2004470] - scsi: target: tcmu: Use GFP_NOIO while handling cmds or holding cmdr_lock (Maurizio Lombardi) [2004470] - scsi: target: tcmu: Replace radix_tree with XArray (Maurizio Lombardi) [2004470] - scsi: target: tcmu: Replace IDR by XArray (Maurizio Lombardi) [2004470] - scsi: target: core: Make completion affinity configurable (Maurizio Lombardi) [2004470] - scsi: target: core: Flush submission work during TMR processing (Maurizio Lombardi) [2004470] - scsi: target: tcmu: Add backend plug/unplug callouts (Maurizio Lombardi) [2004470] - scsi: target: iblock: Add backend plug/unplug callouts (Maurizio Lombardi) [2004470] - scsi: target: core: Fix backend plugging (Maurizio Lombardi) [2004470] - scsi: target: tcm_loop: Use LIO wq cmd submission helper (Maurizio Lombardi) [2004470] - scsi: target: tcm_loop: Use block cmd allocator for se_cmds (Maurizio Lombardi) [2004470] - scsi: target: core: Add workqueue based cmd submission (Maurizio Lombardi) [2004470] - scsi: target: core: Add gfp_t arg to target_cmd_init_cdb() (Maurizio Lombardi) [2004470] - scsi: target: core: Remove target_submit_cmd_map_sgls() (Maurizio Lombardi) [2004470] - scsi: target: srpt: Convert to new submission API (Maurizio Lombardi) [2004470] - scsi: target: qla2xxx: Convert to new submission API (Maurizio Lombardi) [2004470] - scsi: target: tcm_qla2xxx: Remove BUG_ON(in_interrupt()) (Maurizio Lombardi) [2004470] - scsi: qla2xxx: Move sess cmd list/lock to driver (Maurizio Lombardi) [2004470] - scsi: qla2xxx: Drop TARGET_SCF_LOOKUP_LUN_FROM_TAG (Maurizio Lombardi) [2004470] - scsi: target: tcm_fc: Convert to new submission API (Maurizio Lombardi) [2004470] - scsi: target: sbp_target: Convert to new submission API (Maurizio Lombardi) [2004470] - scsi: target: tcm_loop: Convert to new submission API (Maurizio Lombardi) [2004470] - scsi: target: core: Break up target_submit_cmd_map_sgls() (Maurizio Lombardi) [2004470] - scsi: target: core: Rename transport_init_se_cmd() (Maurizio Lombardi) [2004470] - scsi: target: core: Drop kref_get_unless_zero() in target_get_sess_cmd() (Maurizio Lombardi) [2004470] - scsi: target: core: Move t_task_cdb initialization (Maurizio Lombardi) [2004470] - scsi: target: iscsi: Fix zero tag inside a trace event (Maurizio Lombardi) [2004470] - nfsd: move fsnotify on client creation outside spinlock (Steve Dickson) [1719330] - nfsd: report client confirmation status in "info" file (Steve Dickson) [1719330] - nfsd: fsnotify on rmdir under nfsd/clients/ (Steve Dickson) [1719330]- mm: gup: fix potential pgmap refcnt leak in __gup_device_huge() (Waiman Long) [2009258] - mm/gup: check for isolation errors (Waiman Long) [2009258] - mm/gup: return an error on migration failure (Waiman Long) [2009258] - mm/gup: check every subpage of a compound page during isolation (Waiman Long) [2009258] - mm/gup: don't pin migrated cma pages in movable zone (Waiman Long) [2009258] - mm/gup: add a range variant of unpin_user_pages_dirty_lock() (Waiman Long) [2009258] - mm/gup: decrement head page once for group of subpages (Waiman Long) [2009258] - mm/gup: add compound page list iterator (Waiman Long) [2009258] - mm/gup: protect unpin_user_pages() against npages==-ERRNO (Waiman Long) [2009258] - mm, memcg: remove unused functions (Waiman Long) [2008341] - mm,vmscan: fix divide by zero in get_scan_count (Waiman Long) [2008341] - mm: memcontrol: fix occasional OOMs due to proportional memory.low reclaim (Waiman Long) [2008341] - mm/memcg: fix incorrect flushing of lruvec data in obj_stock (Waiman Long) [2008341] - mm/memcg: fix NULL pointer dereference in memcg_slab_free_hook() (Waiman Long) [2008341] - mm: memcontrol: fix blocking rstat function called from atomic cgroup1 thresholding code (Waiman Long) [2008341] - cgroup: rstat: fix A-A deadlock on 32bit around u64_stats_sync (Waiman Long) [2008341] - percpu: flush tlb in pcpu_reclaim_populated() (Waiman Long) [2008341] - mm/memcontrol.c: fix kerneldoc comment for mem_cgroup_calculate_protection (Waiman Long) [2008341] - memcontrol: use flexible-array member (Waiman Long) [2008341] - mm: vmscan: remove noinline_for_stack (Waiman Long) [2008341] - mm: memcontrol: move obj_cgroup_uncharge_pages() out of css_set_lock (Waiman Long) [2008341] - mm: memcontrol: simplify the logic of objcg pinning memcg (Waiman Long) [2008341] - mm: memcontrol: rename lruvec_holds_page_lru_lock to page_matches_lruvec (Waiman Long) [2008341] - mm: memcontrol: simplify lruvec_holds_page_lru_lock (Waiman Long) [2008341] - mm: memcontrol: remove the pgdata parameter of mem_cgroup_page_lruvec (Waiman Long) [2008341] - mm: memcontrol: bail out early when !mm in get_mem_cgroup_from_mm (Waiman Long) [2008341] - mm: memcontrol: fix page charging in page replacement (Waiman Long) [2008341] - percpu: optimize locking in pcpu_balance_workfn() (Waiman Long) [2008341] - percpu: initialize best_upa variable (Waiman Long) [2008341] - percpu: rework memcg accounting (Waiman Long) [2008341] - mm, memcg: introduce mem_cgroup_kmem_disabled() (Waiman Long) [2008341] - mm, memcg: mark cgroup_memory_nosocket, nokmem and noswap as __ro_after_init (Waiman Long) [2008341] - mm: vmscan: shrink deferred objects proportional to priority (Waiman Long) [2008341] - mm: memcontrol: reparent nr_deferred when memcg offline (Waiman Long) [2008341] - mm: vmscan: don't need allocate shrinker->nr_deferred for memcg aware shrinkers (Waiman Long) [2008341] - mm: vmscan: use per memcg nr_deferred of shrinker (Waiman Long) [2008341] - mm: vmscan: add per memcg shrinker nr_deferred (Waiman Long) [2008341] - mm: vmscan: use a new flag to indicate shrinker is registered (Waiman Long) [2008341] - mm: vmscan: add shrinker_info_protected() helper (Waiman Long) [2008341] - mm: memcontrol: rename shrinker_map to shrinker_info (Waiman Long) [2008341] - mm: vmscan: use kvfree_rcu instead of call_rcu (Waiman Long) [2008341] - mm: vmscan: remove memcg_shrinker_map_size (Waiman Long) [2008341] - mm: vmscan: use shrinker_rwsem to protect shrinker_maps allocation (Waiman Long) [2008341] - mm: vmscan: consolidate shrinker_maps handling code (Waiman Long) [2008341] - mm: vmscan: use nid from shrink_control for tracepoint (Waiman Long) [2008341] - linux/memcontrol.h: remove duplicate struct declaration (Waiman Long) [2008341] - memcg: charge before adding to swapcache on swapin (Waiman Long) [2008341] - kselftests: cgroup: update kmem test for new vmstat implementation (Waiman Long) [2008341] - mm: memcontrol: consolidate lruvec stat flushing (Waiman Long) [2008341] - mm: memcontrol: switch to rstat (Waiman Long) [2008341] - cgroup: rstat: punt root-level optimization to individual controllers (Waiman Long) [2008341] - cgroup: rstat: support cgroup1 (Waiman Long) [2008341] - mm: memcontrol: privatize memcg_page_state query functions (Waiman Long) [2008341] - mm: memcontrol: kill mem_cgroup_nodeinfo() (Waiman Long) [2008341] - memcg: enable memcg oom-kill for __GFP_NOFAIL (Waiman Long) [2008341] - memcg: cleanup root memcg checks (Waiman Long) [2008341] - mm: memcontrol: fix kernel stack account (Waiman Long) [2008341] - mm: page-writeback: simplify memcg handling in test_clear_page_writeback() (Waiman Long) [2008341] - percpu: implement partial chunk depopulation (Waiman Long) [2008341] - percpu: use pcpu_free_slot instead of pcpu_nr_slots - 1 (Waiman Long) [2008341] - percpu: factor out pcpu_check_block_hint() (Waiman Long) [2008341] - percpu: split __pcpu_balance_workfn() (Waiman Long) [2008341] - percpu: fix a comment about the chunks ordering (Waiman Long) [2008341] - mm/compaction: remove rcu_read_lock during page compaction (Waiman Long) [2008341] - mm/vmscan.c: make lruvec_lru_size() static (Waiman Long) [2008341] - include/linux/mm_inline.h: fold __update_lru_size() into its sole caller (Waiman Long) [2008341] - include/linux/mm_inline.h: fold page_lru_base_type() into its sole caller (Waiman Long) [2008341] - mm: VM_BUG_ON lru page flags (Waiman Long) [2008341] - mm: add __clear_page_lru_flags() to replace page_off_lru() (Waiman Long) [2008341] - mm/swap.c: don't pass "enum lru_list" to del_page_from_lru_list() (Waiman Long) [2008341] - mm/swap.c: don't pass "enum lru_list" to trace_mm_lru_insertion() (Waiman Long) [2008341] - mm: don't pass "enum lru_list" to lru list addition functions (Waiman Long) [2008341] - include/linux/mm_inline.h: shuffle lru list addition and deletion functions (Waiman Long) [2008341] - mm/vmscan.c: use add_page_to_lru_list() (Waiman Long) [2008341] - mm: fix VM_BUG_ON(PageTail) and BUG_ON(PageWriteback) (Waiman Long) [2008341] - mm: remove superfluous __ClearPageActive() (Waiman Long) [2008341] - mm, memcg: decouple e{low,min} state mutations from protection checks (Waiman Long) [2008341] - Revert "cgroup: Add memory barriers to plug cgroup_rstat_updated() race window" (Waiman Long) [2008341] - mm/memcontrol.c: allocate shrinker_map on appropriate NUMA node (Waiman Long) [2008341] - include/bitmap.h: add new functions to documentation (Waiman Long) [2008341] - include/bitmap.h: add missing parameter in docs (Waiman Long) [2008341] - bitmap: genericize percpu bitmap region iterators (Waiman Long) [2008341] - cgroup, rstat: Don't flush subtree root unless necessary (Waiman Long) [2008341] - mm/memcg: Move mem_cgroup kABI compatibility structure into rh_kabi_memcg.h (Waiman Long) [2008341] - mm/swap: consider max pages in iomap_swapfile_add_extent (Brian Foster) [1969326] - mm/slub: Fix backtrace of objects to handle redzone adjustment (Waiman Long) [2008340] - powerpc/powernv: Fix CPU idle to be called with IRQs disabled (Waiman Long) [2008340] - torture: Fix grace-period rate output (Waiman Long) [2008340] - rcu: Fix kfree_rcu() docbook errors (Waiman Long) [2008340] - rcu/nocb: Perform deferred wake up before last idle's need_resched() check (Waiman Long) [2008340] - rcu: Pull deferred rcuog wake up to rcu_eqs_enter() callers (Waiman Long) [2008340] - idle: Prevent late-arriving interrupts from disrupting offline (Waiman Long) [2008340] - torture: Maintain torture-specific set of CPUs-online books (Waiman Long) [2008340] - torture: Clean up after torture-test CPU hotplugging (Waiman Long) [2008340] - rcutorture: Make object_debug also double call_rcu() heap object (Waiman Long) [2008340] - torture: Throttle VERBOSE_TOROUT_*() output (Waiman Long) [2008340] - torture: Make refscale throttle high-rate printk()s (Waiman Long) [2008340] - rcutorture: Use hrtimers for reader and writer delays (Waiman Long) [2008340] - torture: Make stutter use torture_hrtimeout_*() functions (Waiman Long) [2008340] - rcutorture: Use torture_hrtimeout_jiffies() to avoid busy-waits (Waiman Long) [2008340] - torture: Add fuzzed hrtimer-based sleep functions (Waiman Long) [2008340] - rcutorture: Make rcu_torture_fakewriter() use blocking wait primitives (Waiman Long) [2008340] - rcutorture: Make synctype[] and nsynctype be static global (Waiman Long) [2008340] - rcutorture: Require entire stutter period be post-boot (Waiman Long) [2008340] - refscale: Allow summarization of verbose output (Waiman Long) [2008340] - torture: Allow standalone kvm-recheck.sh run detect --trust-make (Waiman Long) [2008340] - torture: Simplify exit-code plumbing for kvm-recheck.sh and kvm-find-errors.sh (Waiman Long) [2008340] - torture: s/STOP/STOP.1/ to avoid scenario collision (Waiman Long) [2008340] - torture: Add --dryrun batches to help schedule a distributed run (Waiman Long) [2008340] - torture: Stop hanging on panic (Waiman Long) [2008340] - torture: Add kvm.sh test summary to end of log file (Waiman Long) [2008340] - torture: Make kvm.sh include --kconfig arguments in CPU calculation (Waiman Long) [2008340] - torture: Make kvm.sh return failure upon build failure (Waiman Long) [2008340] - torture: Print run duration at end of kvm.sh execution (Waiman Long) [2008340] - torture: Make kvm.sh arguments accumulate (Waiman Long) [2008340] - torture: Make kvm.sh "Test Summary" date be end of test (Waiman Long) [2008340] - tools/rcutorture: Make identify_qemu_vcpus() independent of local language (Waiman Long) [2008340] - torture: Add config2csv.sh script to compare torture scenarios (Waiman Long) [2008340] - torture: Prepare for splitting qemu execution from kvm-test-1-run.sh (Waiman Long) [2008340] - torture: Allow kvm.sh --datestamp to specify subdirectories (Waiman Long) [2008340] - torture: Make kvm.sh "--dryrun sched" summarize number of builds (Waiman Long) [2008340] - torture: Make kvm.sh "--dryrun sched" summarize number of batches (Waiman Long) [2008340] - torture: Make --kcsan specify lockdep (Waiman Long) [2008340] - rcu: Do not NMI offline CPUs (Waiman Long) [2008340] - rcu: For RCU grace-period kthread starvation, dump last CPU it ran on (Waiman Long) [2008340] - rcu: Mark obtuse portion of stall warning as internal debug (Waiman Long) [2008340] - scftorture: Add debug output for wrong-CPU warning (Waiman Long) [2008340] - rcutorture: Add testing for RCU's global memory ordering (Waiman Long) [2008340] - rcutorture: Add reader-side tests of polling grace-period API (Waiman Long) [2008340] - rcutorture: Add writer-side tests of polling grace-period API (Waiman Long) [2008340] - rcutorture: Prepare for ->start_gp_poll and ->poll_gp_state (Waiman Long) [2008340] - srcu: Add comment explaining cookie overflow/wrap (Waiman Long) [2008340] - srcu: Document polling interfaces for Tree SRCU grace periods (Waiman Long) [2008340] - srcu: Provide polling interfaces for Tree SRCU grace periods (Waiman Long) [2008340] - srcu: Provide polling interfaces for Tiny SRCU grace periods (Waiman Long) [2008340] - srcu: Provide internal interface to start a Tree SRCU grace period (Waiman Long) [2008340] - srcu: Provide internal interface to start a Tiny SRCU grace period (Waiman Long) [2008340] - srcu: Make Tiny SRCU use multi-bit grace-period counter (Waiman Long) [2008340] - rcu: Enable rcu_normal_after_boot unconditionally for RT (Waiman Long) [2008340] - rcu: Unconditionally use rcuc threads on PREEMPT_RT (Waiman Long) [2008340] - rcu: Make RCU_BOOST default on CONFIG_PREEMPT_RT (Waiman Long) [2008340] - rcu: Eliminate the __kvfree_rcu() macro (Waiman Long) [2008340] - rcu: Introduce kfree_rcu() single-argument macro (Waiman Long) [2008340] - rcu: Record kvfree_call_rcu() call stack for KASAN (Waiman Long) [2008340] - rcu: Do any deferred nocb wakeups at CPU offline time (Waiman Long) [2008340] - rcu/nocb: Code-style nits in callback-offloading toggling (Waiman Long) [2008340] - rcu/nocb: Add nocb CB kthread list to show_rcu_nocb_state() output (Waiman Long) [2008340] - rcu/nocb: Add grace period and task state to show_rcu_nocb_state() output (Waiman Long) [2008340] - tools/rcutorture: Support nocb toggle in TREE01 (Waiman Long) [2008340] - rcutorture: Test runtime toggling of CPUs' callback offloading (Waiman Long) [2008340] - cpu/hotplug: Add lockdep_is_cpus_held() (Waiman Long) [2008340] - rcu/nocb: Locally accelerate callbacks as long as offloading isn't complete (Waiman Long) [2008340] - rcu/nocb: Process batch locally as long as offloading isn't complete (Waiman Long) [2008340] - rcu/nocb: Only cond_resched() from actual offloaded batch processing (Waiman Long) [2008340] - rcu/nocb: Set SEGCBLIST_SOFTIRQ_ONLY at the very last stage of de-offloading (Waiman Long) [2008340] - rcu/nocb: Flush bypass before setting SEGCBLIST_SOFTIRQ_ONLY (Waiman Long) [2008340] - rcu/nocb: Shutdown nocb timer on de-offloading (Waiman Long) [2008340] - rcu/nocb: Re-offload support (Waiman Long) [2008340] - rcu/nocb: De-offloading GP kthread (Waiman Long) [2008340] - rcu/nocb: Don't deoffload an offline CPU with pending work (Waiman Long) [2008340] - rcu/nocb: De-offloading CB kthread (Waiman Long) [2008340] - rcu/nocb: Always init segcblist on CPU up (Waiman Long) [2008340] - rcu/nocb: Provide basic callback offloading state machine bits (Waiman Long) [2008340] - rcu/nocb: Turn enabled/offload states into a common flag (Waiman Long) [2008340] - rcu/segcblist: Add debug checks for segment lengths (Waiman Long) [2008340] - rcu/trace: Add tracing for how segcb list changes (Waiman Long) [2008340] - rcu/tree: segcblist: Remove redundant smp_mb()s (Waiman Long) [2008340] - rcu/segcblist: Add counters to segcblist datastructure (Waiman Long) [2008340] - rcu/segcblist: Add additional comments to explain smp_mb() (Waiman Long) [2008340] - rcu/tree: Make rcu_do_batch count how many callbacks were executed (Waiman Long) [2008340] - rcu: Make call_rcu() print mem_dump_obj() info for double-freed callback (Waiman Long) [2008340] - mm: Make mem_obj_dump() vmalloc() dumps include start and length (Waiman Long) [2008340] - mm: Make mem_dump_obj() handle vmalloc() memory (Waiman Long) [2008340] - mm: Make mem_dump_obj() handle NULL and zero-sized pointers (Waiman Long) [2008340] - mm: Add mem_dump_obj() to print source of memory block (Waiman Long) [2008340] - rcu: Make TASKS_TRACE_RCU select IRQ_WORK (Waiman Long) [2008340] - rcu-tasks: Add RCU-tasks self tests (Waiman Long) [2008340] - rcu-tasks: Move RCU-tasks initialization to before early_initcall() (Waiman Long) [2008340] - rcu: Add lockdep_assert_irqs_disabled() to raw_spin_unlock_rcu_node() macros (Waiman Long) [2008340] - rcu: Add lockdep_assert_irqs_disabled() to rcu_sched_clock_irq() and callees (Waiman Long) [2008340] - rcutorture: Don't do need_resched() testing if ->sync is NULL (Waiman Long) [2008340] - scftorture: Add full-test stutter capability (Waiman Long) [2008340] - torture: Allow alternative forms of kvm.sh command-line arguments (Waiman Long) [2008340] - rcutorture: Small code cleanups (Waiman Long) [2008340] - torture: Accept time units on kvm.sh --duration argument (Waiman Long) [2008340] - rcutorture: Make stutter_wait() caller restore priority (Waiman Long) [2008340] - torture: Force weak-hashed pointers on console log (Waiman Long) [2008340] - rcutorture: Prevent hangs for invalid arguments (Waiman Long) [2008340] - torture: Prevent jitter processes from delaying failed run (Waiman Long) [2008340] - rcutorture: Adjust scenarios SRCU-t and SRCU-u to make kconfig happy (Waiman Long) [2008340] - refscale: Prevent hangs for invalid arguments (Waiman Long) [2008340] - rcuscale: Prevent hangs for invalid arguments (Waiman Long) [2008340] - torture: Exclude "NOHZ tick-stop error" from fatal errors (Waiman Long) [2008340] - rcuscale: Avoid divide by zero (Waiman Long) [2008340] - rcuscale: Add RCU Tasks Trace (Waiman Long) [2008340] - scftorture: Add an alternative IPI vector (Waiman Long) [2008340] - torture: Make torture_stutter() use hrtimer (Waiman Long) [2008340] - torture: Periodically pause in stutter_wait() (Waiman Long) [2008340] - torture: Don't kill gdb sessions (Waiman Long) [2008340] - refscale: Bounds-check module parameters (Waiman Long) [2008340] - rcu-tasks: Make the units of ->init_fract be jiffies (Waiman Long) [2008340] - rcutorture: Make grace-period kthread report match RCU flavor being tested (Waiman Long) [2008340] - rcu-tasks: Convert rcu_tasks_wait_gp() for-loop to while-loop (Waiman Long) [2008340] - rcutorture: Make preemptible TRACE02 enable lockdep (Waiman Long) [2008340] - srcu: Use a more appropriate lockdep helper (Waiman Long) [2008340] - srcu: Take early exit on memory-allocation failure (Waiman Long) [2008340] - rcu: Fix a typo in rcu_blocking_is_gp() header comment (Waiman Long) [2008340] - rcu: Prevent lockdep-RCU splats on lock acquisition/release (Waiman Long) [2008340] - rcu/tree: nocb: Avoid raising softirq for offloaded ready-to-execute CBs (Waiman Long) [2008340] - rcu/tree: Make struct kernel_param_ops definitions const (Waiman Long) [2008340] - rcu/tree: Add a warning if CPU being onlined did not report QS already (Waiman Long) [2008340] - rcu: Clarify nocb kthreads naming in RCU_NOCB_CPU config (Waiman Long) [2008340] - rcu: Fix single-CPU check in rcu_blocking_is_gp() (Waiman Long) [2008340] - rcu: Implement rcu_segcblist_is_offloaded() config dependent (Waiman Long) [2008340] - list.h: Update comment to explicitly note circular lists (Waiman Long) [2008340] - rcu: Panic after fixed number of stalls (Waiman Long) [2008340] - x86/smpboot: Move rcu_cpu_starting() earlier (Waiman Long) [2008340] - torture: Replace cpu_up/down() with add/remove_cpu() (Waiman Long) [2008340] - PCI/PTM: Remove error message at boot (Myron Stowe) [1993252] - PCI: Mark AMD Navi14 GPU ATS as broken (Myron Stowe) [1993252] - PCI: vmd: Update type of the __iomem pointers (Myron Stowe) [1993252] - PCI: Unify ECAM constants in native PCI Express drivers (Myron Stowe) [1993252] - PCI: Add function 1 DMA alias quirk for Marvell 9215 SATA controller (Myron Stowe) [1993252] - PCI: Mark AMD Raven iGPU ATS as broken in some platforms (Myron Stowe) [1993252] - PCI: Disable PTM during suspend to save power (Myron Stowe) [1993252] - PCI/PTM: Save/restore Precision Time Measurement Capability for suspend/resume (Myron Stowe) [1993252] - PCI: Add sysfs attribute for device power state (Myron Stowe) [1993252] - PCI/MSI: Set device flag indicating only 32-bit MSI support (Myron Stowe) [1993252] - PCI/MSI: Move MSI/MSI-X flags updaters to msi.c (Myron Stowe) [1993252] - PCI/MSI: Move MSI/MSI-X init to msi.c (Myron Stowe) [1993252] - PCI: Use predefined Pericom Vendor ID (Myron Stowe) [1993252] - PCI: Disable MSI for Pericom PCIe-USB adapter (Myron Stowe) [1993252] - PCI: Reduce pci_set_cacheline_size() message to debug level (Myron Stowe) [1993252] - PCI: Remove unused HAVE_PCI_SET_MWI (Myron Stowe) [1993252] - PCI: Fix overflow in command-line resource alignment requests (Myron Stowe) [1993252] - PCI: Bounds-check command-line resource alignment requests (Myron Stowe) [1993252] - PCI: Fix kernel-doc markup (Myron Stowe) [1993252] - PCI: ibmphp: Remove unneeded break (Myron Stowe) [1993252] - PCI/ACPI: Fix companion lookup for device 0 on the root bus (Myron Stowe) [1993252] - PCI: Keep both device and resource name for config space remaps (Myron Stowe) [1993252] - PCI: Return u16 from pci_find_ext_capability() and similar (Myron Stowe) [1993252] - PCI: Return u8 from pci_find_capability() and similar (Myron Stowe) [1993252] - PCI: Avoid duplicate IDs in driver dynamic IDs list (Myron Stowe) [1993252] - PCI: Move pci_match_device() ahead of new_id_store() (Myron Stowe) [1993252] - PCI: Decode PCIe 64 GT/s link speed (Myron Stowe) [1993252] - PCI: host-generic: Support building as modules (Myron Stowe) [1993252] - ata: sata_nv: Fix retrieving of active qcs (Tomas Henzl) [1921465] - ata: pata_ns87415.c: Document support on parisc with superio chip (Tomas Henzl) [1921465] - ata: fix some kernel-doc markups (Tomas Henzl) [1921465] - sata, highbank: simplify the return expression of ahci_highbank_suspend (Tomas Henzl) [1921465] - libata: implement ATA_HORKAGE_MAX_TRIM_128M and apply to Sandisks (Tomas Henzl) [1921465] - ata: ahci: use ata_link_info() instead of ata_link_printk() (Tomas Henzl) [1921465] - libata: Use per port sync for detach (Tomas Henzl) [1921465] - ata/libata: Fix usage of page address by page_address in ata_scsi_mode_select_xlat function (Tomas Henzl) [1921465] - sata_rcar: handle pm_runtime_get_sync failure cases (Tomas Henzl) [1921465] - ata: sata_inic162x fix a spelling issue (Tomas Henzl) [1921465] - ata: libata-core: fix a doc warning (Tomas Henzl) [1921465] - ata: ahci: Add sysfs attribute to show remapped NVMe device count (Tomas Henzl) [1921465] - ata: ahci-imx: remove redundant assignment to ret (Tomas Henzl) [1921465] - libata: Return correct status in sata_pmp_eh_recover_pm() when ATA_DFLAG_DETACH is set (Tomas Henzl) [1921465] - ata: move ata_eh_analyze_ncq_error() & co. to libata-sata.c (Tomas Henzl) [1921465] - ata: start separating SATA specific code from libata-eh.c (Tomas Henzl) [1921465] - ata: move ata_sas_*() to libata-sata.c (Tomas Henzl) [1921465] - ata: start separating SATA specific code from libata-scsi.c (Tomas Henzl) [1921465] - ata: move sata_deb_timing_*() to libata-sata.c (Tomas Henzl) [1921465] - ata: move ata_qc_complete_multiple() to libata-sata.c (Tomas Henzl) [1921465] - ata: move sata_link_hardreset() to libata-sata.c (Tomas Henzl) [1921465] - ata: move sata_link_{debounce,resume}() to libata-sata.c (Tomas Henzl) [1921465] - ata: move *sata_set_spd*() to libata-sata.c (Tomas Henzl) [1921465] - ata: move sata_scr_*() to libata-sata.c (Tomas Henzl) [1921465] - ata: start separating SATA specific code from libata-core.c (Tomas Henzl) [1921465] - ata: fix CodingStyle issues in PATA timings code (Tomas Henzl) [1921465] - ata: remove EXPORT_SYMBOL_GPL()s not used by modules (Tomas Henzl) [1921465] - ata: move EXPORT_SYMBOL_GPL()s close to exported code (Tomas Henzl) [1921465] - ata: optimize ata_scsi_rbuf[] size (Tomas Henzl) [1921465] - ata: optimize struct ata_force_param size (Tomas Henzl) [1921465] - ata: use COMMAND_LINE_SIZE for ata_force_param_buf[] size (Tomas Henzl) [1921465] - ata: simplify ata_scsiop_inq_89() (Tomas Henzl) [1921465] - sata_promise: use ata_cable_sata() (Tomas Henzl) [1921465] - ata: make SATA_PMP option selectable only if any SATA host driver is enabled (Tomas Henzl) [1921465] - ata: expose ncq_enable_prio sysfs attribute only on NCQ capable hosts (Tomas Henzl) [1921465] - ata: remove stale maintainership information from core code (Tomas Henzl) [1921465] - libata: Assign OF node to the SCSI device (Tomas Henzl) [1921465] - libata: Remove extra scsi_host_put() in ata_scsi_add_hosts() (Tomas Henzl) [1921465] - libata: transport: Use scnprintf() for avoiding potential buffer overflow (Tomas Henzl) [1921465] - ata/acard_ahci: remove unused variable n_elem (Tomas Henzl) [1921465] - ata: ahci_brcm: BCM7216 reset is self de-asserting (Tomas Henzl) [1921465] - ata: ahci_brcm: Perform reset after obtaining resources (Tomas Henzl) [1921465] - ata: brcm: fix reset controller API usage (Tomas Henzl) [1921465] - ata: brcm: mark PM functions as __maybe_unused (Tomas Henzl) [1921465] - ata: ahci_brcm: Support BCM7216 reset controller name (Tomas Henzl) [1921465] - ata: ahci_brcm: Add a shutdown callback (Tomas Henzl) [1921465] - ata: ahci_brcm: Manage reset line during suspend/resume (Tomas Henzl) [1921465] - ata: ahci_brcm: Add missing clock management during recovery (Tomas Henzl) [1921465] - ata: ahci_brcm: BCM7425 AHCI requires AHCI_HFLAG_DELAY_ENGINE (Tomas Henzl) [1921465] - ata: ahci_brcm: Fix AHCI resources management (Tomas Henzl) [1921465] - ata: libahci_platform: Export again ahci_platform_able_phys() (Tomas Henzl) [1921465] - libata: Fix retrieving of active qcs (Tomas Henzl) [1921465] - ata: pata_artop: make arrays static const, makes object smaller (Tomas Henzl) [1921465] - ata_piix: remove open-coded dmi_match(DMI_OEM_STRING) (Tomas Henzl) [1921465] - ata: sata_mv, avoid trigerrable BUG_ON (Tomas Henzl) [1921465] - ata: make qc_prep return ata_completion_errors (Tomas Henzl) [1921465] - ata: define AC_ERR_OK (Tomas Henzl) [1921465] - libata: Ensure ata_port probe has completed before detach (Tomas Henzl) [1921465] - ahci: tegra: use regulator_bulk_set_supply_names() (Tomas Henzl) [1921465] - ahci: Add support for Amazon's Annapurna Labs SATA controller (Tomas Henzl) [1921465] - ata: libahci_platform: Fix regulator_get_optional() misuse (Tomas Henzl) [1921465] - ata: ahci-imx: Covert to use GPIO descriptor (Tomas Henzl) [1921465] - libata/ahci: Fix PCS quirk application (Tomas Henzl) [1921465] - libata/ahci: Drop PCS quirk for Denverton and beyond (Tomas Henzl) [1921465] - libata: switch remaining drivers to use dma_set_mask_and_coherent (Tomas Henzl) [1921465] - sata_sil24: use dma_set_mask_and_coherent (Tomas Henzl) [1921465] - sata_qstor: use dma_set_mask_and_coherent (Tomas Henzl) [1921465] - sata_nv: use dma_set_mask_and_coherent (Tomas Henzl) [1921465] - sata_mv: use dma_set_mask_and_coherent (Tomas Henzl) [1921465] - pdc_adma: use dma_set_mask_and_coherent (Tomas Henzl) [1921465] - ahci: use dma_set_mask_and_coherent (Tomas Henzl) [1921465] - acard_ahci: use dma_set_mask_and_coherent (Tomas Henzl) [1921465] - libata: add SG safety checks in SFF pio transfers (Tomas Henzl) [1921465] - libata: have ata_scsi_rw_xlat() fail invalid passthrough requests (Tomas Henzl) [1921465] - ata: rb532_cf: Fix unused variable warning in rb532_pata_driver_probe (Tomas Henzl) [1921465] - ata: libahci: do not complain in case of deferred probe (Tomas Henzl) [1921465] - libata: zpodd: Fix small read overflow in zpodd_get_mech_type() (Tomas Henzl) [1921465] - ata: libahci_platform: remove redundant dev_err message (Tomas Henzl) [1921465] - drivers: ata: ahci_sunxi: Increased SATA/AHCI DMA TX/RX FIFOs (Tomas Henzl) [1921465] - libata: Drop firmware version check from the ST1000LM024 quirk (Tomas Henzl) [1921465] - ata: sata_sil24: Remove call to memset after dmam_alloc_coherent (Tomas Henzl) [1921465] - ata:sata_qstor: Remove call to memset after dmam_alloc_coherent (Tomas Henzl) [1921465] - ata: sata_nv: Remove call to memset after dmam_alloc_coherent (Tomas Henzl) [1921465] - ata: pdc_adma: Remove call to memset after dmam_alloc_coherent (Tomas Henzl) [1921465] - ata: libahci: Remove call to memset after dmam_alloc_coherent (Tomas Henzl) [1921465] - ata: acard-ahci: Remove call to memset after dmam_alloc_coherent (Tomas Henzl) [1921465] - libata: don't request sense data on !ZAC ATA devices (Tomas Henzl) [1921465] - libata: Extend quirks for the ST1000LM024 drives with NOLPM quirk (Tomas Henzl) [1921465] - sata_rcar: Remove ata_host_alloc() error printing (Tomas Henzl) [1921465] - libata: fix using DMA buffers on stack (Tomas Henzl) [1921465] - ata: libahci: Only warn for AHCI_HFLAG_MULTI_MSI set when genuine custom irq handler implemented (Tomas Henzl) [1921465] - libata: fix a typo in comment (Tomas Henzl) [1921465] - sata_rcar: fix deferred probing (Tomas Henzl) [1921465] - ata: sata_highbank: Convert to use GPIO descriptors (Tomas Henzl) [1921465] - sata_rcar: convert to SPDX identifiers (Tomas Henzl) [1921465] - ata: ep93xx: Use proper enums for directions (Tomas Henzl) [1921465] - ata: ahci_brcm: Allow using driver or DSL SoCs (Tomas Henzl) [1921465] - ata: ahci_brcm: Match BCM63138 compatible strings (Tomas Henzl) [1921465] - ata: ahci_brcm: Allow optional reset controller to be used (Tomas Henzl) [1921465] - libata: mask swap internal and hardware tag (Tomas Henzl) [1921465] - pata_atiixp: Remove unnecessary parentheses (Tomas Henzl) [1921465] - ata: ahci_sunxi: add support for r40 (Tomas Henzl) [1921465] - ata: ahci_platform: add support for PHY controller regulator (Tomas Henzl) [1921465] - ata: ahci_platform: add support for AHCI controller regulator (Tomas Henzl) [1921465] - libata: Use SMART LBAM/LBAH password defines (Tomas Henzl) [1921465] - ata: ahci: Convert to using pOFn instead of device_node.name (Tomas Henzl) [1921465] - ata: ftide010: Add a quirk for SQ201 (Tomas Henzl) [1921465] - ata: ahci_platform: enable to get and control reset (Tomas Henzl) [1921465] - ata: libahci_platform: add reset control support (Tomas Henzl) [1921465] - ata: add an extra argument to ahci_platform_get_resources() (Tomas Henzl) [1921465] - ata: sata_rcar: exclude setting of PHY registers in Gen3 (Tomas Henzl) [1921465] - ata: sata_rcar: really mask all interrupts on Gen2 and later (Tomas Henzl) [1921465] - ata: libahci: Allow reconfigure of DEVSLP register (Tomas Henzl) [1921465] - ata: libahci: Correct setting of DEVSLP register (Tomas Henzl) [1921465] - ata: ahci: Enable DEVSLP by default on x86 with SLP_S0 (Tomas Henzl) [1921465] - ata: ahci: Support state with min power but Partial low power state (Tomas Henzl) [1921465] - Revert "ata: ahci_platform: convert kcalloc to devm_kcalloc" (Tomas Henzl) [1921465] - ata: sata_rcar: Add rudimentary Runtime PM support (Tomas Henzl) [1921465] - ata: sata_rcar: Provide a short-hand for &pdev->dev (Tomas Henzl) [1921465] - ata: Only output sg element mapped number in verbose debug (Tomas Henzl) [1921465] - ata: Guard ata_scsi_dump_cdb() by ATA_VERBOSE_DEBUG (Tomas Henzl) [1921465] - ata: ahci_platform: convert kcalloc to devm_kcalloc (Tomas Henzl) [1921465] - ata: ahci_platform: convert kzallloc to kcalloc (Tomas Henzl) [1921465] - ata: ahci_platform: correct parameter documentation for ahci_platform_shutdown (Tomas Henzl) [1921465] - libata: remove ata_sff_data_xfer_noirq() (Tomas Henzl) [1921465] - scsi: target: Fix the pgr/alua_support_store functions (Maurizio Lombardi) [1995935] - sched/deadline: Fix missing clock update in migrate_task_rq_dl() (Phil Auld) [1992254] - sched/fair: Avoid a second scan of target in select_idle_cpu (Phil Auld) [1992254] - sched/fair: Use prev instead of new target as recent_used_cpu (Phil Auld) [1992254] - sched: Replace deprecated CPU-hotplug functions. (Phil Auld) [1992254] - sched/deadline: Fix reset_on_fork reporting of DL tasks (Phil Auld) [1992254] - sched/numa: Fix is_core_idle() (Phil Auld) [1992254] - sched/fair: Sync load_sum with load_avg after dequeue (Phil Auld) [1992254] - sched/fair: Fix CFS bandwidth hrtimer expiry type (Phil Auld) [1992254] - sched/fair: Ensure _sum and _avg values stay consistent (Phil Auld) [1992254] - sched/fair: Ensure that the CFS parent is added after unthrottling (Phil Auld) [1992254] - sched/rt: Fix Deadline utilization tracking during policy change (Phil Auld) [1992254] - sched/rt: Fix RT utilization tracking during policy change (Phil Auld) [1992254] - sched/fair: Age the average idle time (Phil Auld) [1992254] - wait: use LIST_HEAD_INIT() to initialize wait_queue_head (Phil Auld) [1992254] - sched: Optimize housekeeping_cpumask() in for_each_cpu_and() (Phil Auld) [1992254] - sched/fair: Fix util_est UTIL_AVG_UNCHANGED handling (Phil Auld) [1992254] - sched/pelt: Check that *_avg are null when *_sum are (Phil Auld) [1992254] - sched/fair: Correctly insert cfs_rq's to list on unthrottle (Phil Auld) [1992254] - sched/pelt: Ensure that *_sum is always synced with *_avg (Phil Auld) [1992254] - sched/fair: Return early from update_tg_cfs_load() if delta == 0 (Phil Auld) [1992254] - sched/fair: Make sure to update tg contrib for blocked load (Phil Auld) [1992254] - sched/fair: Keep load_avg and load_sum synced (Phil Auld) [1992254] - sched: Stop PF_NO_SETAFFINITY from being inherited by various init system threads (Phil Auld) [1992254] - sched: Fix a stale comment in pick_next_task() (Phil Auld) [1992254] - sched/fair: Fix ascii art by relpacing tabs (Phil Auld) [1992254] - tick/nohz: Call tick_nohz_task_switch() with interrupts disabled (Phil Auld) [1992254] - sched/fair: Fix clearing of has_idle_cores flag in select_idle_cpu() (Phil Auld) [1992254] - sched/core: Remove the pointless BUG_ON(!task) from wake_up_q() (Phil Auld) [1992254] - sched: Make the idle task quack like a per-CPU kthread (Phil Auld) [1992254] - sched/fair: Fix unfairness caused by missing load decay (Phil Auld) [1992254] - sched: Make nr_iowait_cpu() return 32-bit value (Phil Auld) [1992254] - sched: Make nr_iowait() return 32-bit value (Phil Auld) [1992254] - sched: Make nr_running() return 32-bit value (Phil Auld) [1992254] - sched/isolation: Reconcile rcu_nocbs= and nohz_full= (Phil Auld) [1992254] - sched/fair: Introduce a CPU capacity comparison helper (Phil Auld) [1992254] - sched/fair: Clean up active balance nr_balance_failed trickery (Phil Auld) [1992254] - sched/fair: Move update_nohz_stats() to the CONFIG_NO_HZ_COMMON block to simplify the code & fix an unused function warning (Phil Auld) [1992254] - sched/fair: Bring back select_idle_smt(), but differently (Phil Auld) [1992254] - sched,fair: Alternative sched_slice() (Phil Auld) [1992254] - sched/topology: Remove redundant cpumask_and() in init_overlap_sched_group() (Phil Auld) [1992254] - sched/numa: Allow runtime enabling/disabling of NUMA balance without SCHED_DEBUG (Phil Auld) [1992254] - sched/fair: Optimize test_idle_cores() for !SMT (Phil Auld) [1992254] - sched: Fix various typos (Phil Auld) [1992254] - sched: Remove unnecessary variable from schedule_tail() (Phil Auld) [1992254] - sched: Optimize __calc_delta() (Phil Auld) [1992254] - sched: Provide raw_spin_rq_*lock*() helpers (Phil Auld) [1992254] - sched/pelt: Fix task util_est update filtering (Phil Auld) [1992254] - sched/fair: use lsub_positive in cpu_util_next() (Phil Auld) [1992254] - sched/fair: Reduce the window for duplicated update (Phil Auld) [1992254] - sched/fair: Reorder newidle_balance pulled_task tests (Phil Auld) [1992254] - sched/fair: Remove unused parameter of update_nohz_stats (Phil Auld) [1992254] - sched/fair: Remove unused return of _nohz_idle_balance (Phil Auld) [1992254] - sched/fair: Remove update of blocked load from newidle_balance (Phil Auld) [1992254] - sched/topology: fix the issue groups don't span domain->span for NUMA diameter > 2 (Phil Auld) [1992254] - sched/fair: Merge select_idle_core/cpu() (Phil Auld) [1992254] - sched/fair: Remove select_idle_smt() (Phil Auld) [1992254] - sched/fair: Move avg_scan_cost calculations under SIS_PROP (Phil Auld) [1992254] - sched/fair: Remove SIS_AVG_CPU (Phil Auld) [1992254] - sched/eas: Don't update misfit status if the task is pinned (Phil Auld) [1992254] - sched/fair: Avoid stale CPU util_est value for schedutil in task dequeue (Phil Auld) [1992254] - sched/fair: Add a few assertions (Phil Auld) [1992254] - cpufreq: schedutil: Simplify sugov_update_next_freq() (Phil Auld) [1992254] - sched/topology: Warn when NUMA diameter > 2 (Phil Auld) [1992254] - sched: Use task_current() instead of 'rq->curr == p' (Phil Auld) [1992254] - sched/core: Allow try_invoke_on_locked_down_task() with irqs disabled (Phil Auld) [1992254] - sched/fair: Exclude the current CPU from find_new_ilb() (Phil Auld) [1992254] - rbtree, sched/deadline: Use rb_add_cached() (Phil Auld) [1992254] - rbtree, sched/fair: Use rb_add_cached() (Phil Auld) [1992254] - sched/isolation: Prefer housekeeping CPU in local node (Phil Auld) [1992254] - sched: Fix various typos in comments (Phil Auld) [1992254] - s390/qeth: fix deadlock during failing recovery (Sumanth Korikkar) [1984990] - s390/qeth: Fix deadlock in remove_discipline (Sumanth Korikkar) [1984990] - s390/qeth: fix NULL deref in qeth_clear_working_pool_list() (Sumanth Korikkar) [1984990] - s390/qdio: fix roll-back after timeout on ESTABLISH ccw (Sumanth Korikkar) [1984990] - s390/qdio: get rid of register asm (Sumanth Korikkar) [1984990] - s390/netiuvc: get rid of forward declarations (Sumanth Korikkar) [1984990] - s390/qeth: Consider dependency on SWITCHDEV module (Sumanth Korikkar) [1984990] - s390/qeth: shrink TX buffer struct (Sumanth Korikkar) [1984990] - s390/qeth: remove TX buffer's pointer to its queue (Sumanth Korikkar) [1984990] - s390/qeth: remove QAOB's pointer to its TX buffer (Sumanth Korikkar) [1984990] - s390/qeth: consolidate completion of pending TX buffers (Sumanth Korikkar) [1984990] - s390/qeth: use ethtool_sprintf() (Sumanth Korikkar) [1984990] - s390/qeth: unify the tracking of active cmds on ccw device (Sumanth Korikkar) [1984990] - s390/qeth: also use TX NAPI for non-IQD devices (Sumanth Korikkar) [1984990] - s390/qeth: count TX completion interrupts (Sumanth Korikkar) [1984990] - powerpc/stacktrace: Include linux/delay.h (Steve Best) [2010674] - powerpc/stacktrace: Fix spurious "stale" traces in raise_backtrace_ipi() (Steve Best) [2010674] - powerpc/xmon: Reset RCU and soft lockup watchdogs (Steve Best) [2010674] - bpf, sockmap: Fix sk->prot unhash op reset (Jiri Benc) [1947006] - xdp: fix xdp_return_frame() kernel BUG throw for page_pool memory model (Jiri Benc) [1947006] - selftests/bpf: Tests using bpf_check_mtu BPF-helper input mtu_len param (Jiri Benc) [1947006] - bpf: BPF-helper for MTU checking add length input (Jiri Benc) [1947006] - xsk: Remove dangling function declaration from header file (Jiri Benc) [1947006] - bpf: Remove blank line in bpf helper description comment (Jiri Benc) [1947006] - libbpf: Use AF_LOCAL instead of AF_INET in xsk.c (Jiri Benc) [1947006] - selftests/bpf: Tests using bpf_check_mtu BPF-helper (Jiri Benc) [1947006] - selftests/bpf: Use bpf_check_mtu in selftest test_cls_redirect (Jiri Benc) [1947006] - bpf: Drop MTU check when doing TC-BPF redirect to ingress (Jiri Benc) [1947006] - bpf: Add BPF-helper for MTU checking (Jiri Benc) [1947006] - bpf: bpf_fib_lookup return MTU value as output when looked up (Jiri Benc) [1947006] - bpf: Fix bpf_fib_lookup helper MTU check for SKB ctx (Jiri Benc) [1947006] - bpf: Remove MTU check in __bpf_skb_max_len (Jiri Benc) [1947006] - net, veth: Alloc skb in bulk for ndo_xdp_xmit (Jiri Benc) [1947006] - bpf: Enable bpf_{g,s}etsockopt in BPF_CGROUP_UDP{4,6}_RECVMSG (Jiri Benc) [1947006] - selftests/bpf: Rewrite recvmsg{4,6} asm progs to c in test_sock_addr (Jiri Benc) [1947006] - bpf: Enable bpf_{g,s}etsockopt in BPF_CGROUP_INET{4,6}_GET{PEER,SOCK}NAME (Jiri Benc) [1947006] - bpf: Enable bpf_{g,s}etsockopt in BPF_CGROUP_UDP{4,6}_SENDMSG (Jiri Benc) [1947006] - selftests/bpf: Verify that rebinding to port < 1024 from BPF works (Jiri Benc) [1947006] - bpf: Allow rewriting to ports under ip_unprivileged_port_start (Jiri Benc) [1947006] - net: port < inet_prot_sock(net) --> inet_port_requires_bind_service(net, port) (Jiri Benc) [1947006] - net: inet_is_local_reserved_port() should return bool not int (Jiri Benc) [1947006] - libbpf, xsk: Select AF_XDP BPF program based on kernel version (Jiri Benc) [1947006] - xsk: Fold xp_assign_dev and __xp_assign_dev (Jiri Benc) [1947006] - xsk: Remove explicit_free parameter from __xsk_rcv() (Jiri Benc) [1947006] - bpf: Split cgroup_bpf_enabled per attach type (Jiri Benc) [1947006] - bpf: Remove extra lock_sock for TCP_ZEROCOPY_RECEIVE (Jiri Benc) [1947006] - net, xdp: Introduce xdp_build_skb_from_frame utility routine (Jiri Benc) [1947006] - net, xdp: Introduce __xdp_build_skb_from_frame utility routine (Jiri Benc) [1947006] - bpf: Extend bind v4/v6 selftests for mark/prio/bindtoifindex (Jiri Benc) [1947006] - bpf: Allow to retrieve sol_socket opts from sock_addr progs (Jiri Benc) [1947006] - bpf: Replace fput with sockfd_put in sock map (Jiri Benc) [1947006] - tools: bpf: add SO_BINDTOIFINDEX to socket.h in tools (Jiri Benc) [1947006] - media: firewire: firedtv-avc: fix a buffer overflow in avc_ca_pmt() (Lucas Zampieri) [1956472] {CVE-2021-3542}- mm/hmm: make HMM_MIRROR an implicit option (Rafael Aquini) [1998534] - mm/hmm: allow HMM_MIRROR on all architectures with MMU (Rafael Aquini) [1998534] - mm: don't select MIGRATE_VMA_HELPER from HMM_MIRROR (Rafael Aquini) [1998534] - mm: sort out the DEVICE_PRIVATE Kconfig mess (Rafael Aquini) [1998534] - s390/ap/zcrypt: notify userspace with online, config and mode info (Stefan Schulze Frielinghaus) [1984895] - docs: livepatch: Fix a typo and remove the unnecessary gaps in a sentence (C. Erastus Toe) [1995447] - Documentation: livepatch: document reliable stacktrace (C. Erastus Toe) [1995447] - Documentation: livepatch: Convert to automatically generated contents (C. Erastus Toe) [1995447] - scsi: ibmvfc: Reinitialize sub-CRQs and perform channel enquiry after LPM (Desnes A. Nunes do Rosario) [1932217] - scsi: ibmvfc: Store return code of H_FREE_SUB_CRQ during cleanup (Desnes A. Nunes do Rosario) [1932217] - scsi: ibmvfc: Treat H_CLOSED as success during sub-CRQ registration (Desnes A. Nunes do Rosario) [1932217] - scsi: ibmvfc: Fix invalid sub-CRQ handles after hard reset (Desnes A. Nunes do Rosario) [1932217] - scsi: ibmvfc: Simplify handling of sub-CRQ initialization (Desnes A. Nunes do Rosario) [1932217] - exec: Transform exec_update_mutex into a rw_semaphore (Chris von Recklinghausen) [1993665] - perf: Break deadlock involving exec_update_mutex (Chris von Recklinghausen) [1993665] - pidfd: Add missing sock updates for pidfd_getfd() (Chris von Recklinghausen) [1993665] - exec: Move the call of prepare_binprm into search_binary_handler (Chris von Recklinghausen) [1993665] - exec: Allow load_misc_binary to call prepare_binprm unconditionally (Chris von Recklinghausen) [1993665] - exec: Convert security_bprm_set_creds into security_bprm_repopulate_creds (Chris von Recklinghausen) [1993665] - exec: Factor security_bprm_creds_for_exec out of security_bprm_set_creds (Chris von Recklinghausen) [1993665] - exec: Move would_dump into flush_old_exec (Chris von Recklinghausen) [1993665] - exec: Rename flush_old_exec begin_new_exec (Chris von Recklinghausen) [1993665] - exec: Move most of setup_new_exec into flush_old_exec (Chris von Recklinghausen) [1993665] - exec: In setup_new_exec cache current in the local variable me (Chris von Recklinghausen) [1993665] - exec: Merge install_exec_creds into setup_new_exec (Chris von Recklinghausen) [1993665] - exec: Rename the flag called_exec_mmap point_of_no_return (Chris von Recklinghausen) [1993665] - exec: Make unlocking exec_update_mutex explict (Chris von Recklinghausen) [1993665] - binfmt: Move install_exec_creds after setup_new_exec to match binfmt_elf (Chris von Recklinghausen) [1993665] - pidfd: Use new infrastructure to fix deadlocks in execve (Chris von Recklinghausen) [1993665] - perf: Use new infrastructure to fix deadlocks in execve (Chris von Recklinghausen) [1993665] - proc: io_accounting: Use new infrastructure to fix deadlocks in execve (Chris von Recklinghausen) [1993665] - proc: Use new infrastructure to fix deadlocks in execve (Chris von Recklinghausen) [1993665] - kernel/kcmp.c: Use new infrastructure to fix deadlocks in execve (Chris von Recklinghausen) [1993665] - kernel: doc: remove outdated comment cred.c (Chris von Recklinghausen) [1993665] - mm: docs: Fix a comment in process_vm_rw_core (Chris von Recklinghausen) [1993665] - selftests/ptrace: add test cases for dead-locks (Chris von Recklinghausen) [1993665] - exec: Fix a deadlock in strace (Chris von Recklinghausen) [1993665] - exec: Add exec_update_mutex to replace cred_guard_mutex (Chris von Recklinghausen) [1993665] - exec: Move exec_mmap right after de_thread in flush_old_exec (Chris von Recklinghausen) [1993665] - exec: Move cleanup of posix timers on exec out of de_thread (Chris von Recklinghausen) [1993665] - exec: Factor unshare_sighand out of de_thread and call it separately (Chris von Recklinghausen) [1993665] - exec: Only compute current once in flush_old_exec (Chris von Recklinghausen) [1993665] - pid: Implement pidfd_getfd syscall (Chris von Recklinghausen) [1993665] - pidfd: add P_PIDFD to waitid() (Chris von Recklinghausen) [1993665] - fork: return proper negative error code (Chris von Recklinghausen) [1993665] - copy_process(): don't use ksys_close() on cleanups (Chris von Recklinghausen) [1993665] - fork: don't check parent_tidptr with CLONE_PIDFD (Chris von Recklinghausen) [1993665] - fs/exec.c: move ->recursion_depth out of critical sections (Chris von Recklinghausen) [1993665] - clone: add CLONE_PIDFD (Chris von Recklinghausen) [1993665] - signal: support CLONE_PIDFD with pidfd_send_signal (Chris von Recklinghausen) [1993665] - arch: add pidfd and io_uring syscalls everywhere (Chris von Recklinghausen) [1993665] - signal: don't silently convert SI_USER signals to non-current pidfd (Chris von Recklinghausen) [1993665] - signal: add pidfd_send_signal() syscall (Chris von Recklinghausen) [1993665] - sched/core: Convert signal_struct.sigcnt to refcount_t (Chris von Recklinghausen) [1993665] - sched/core: Convert sighand_struct.count to refcount_t (Chris von Recklinghausen) [1993665] - exec: make prepare_bprm_creds static (Chris von Recklinghausen) [1993665] - fork: don't copy inconsistent signal handler state to child (Chris von Recklinghausen) [1993665] - Revert "perf: Break deadlock involving exec_update_mutex" (Chris von Recklinghausen) [1993665] - powerpc/mm/highmem: use __set_pte_at() for kmap_local() (Nico Pache) [2001854] - mm: extract might_alloc() debug check (Nico Pache) [2001854] - mm/mempolicy: use vma_lookup() in __access_remote_vm() (Nico Pache) [2001854] - mm/memory.c: use vma_lookup() in __access_remote_vm() (Nico Pache) [2001854] - mm/mremap: use vma_lookup() in vma_to_resize() (Nico Pache) [2001854] - mm/migrate: use vma_lookup() in do_pages_stat_array() (Nico Pache) [2001854] - mm/ksm: use vma_lookup() in find_mergeable_vma() (Nico Pache) [2001854] - kernel/events/uprobes: use vma_lookup() in find_active_uprobe() (Nico Pache) [2001854] - misc/sgi-gru/grufault: use vma_lookup() in gru_find_vma() (Nico Pache) [2001854] - media: videobuf2: use vma_lookup() in get_vaddr_frames() (Nico Pache) [2001854] - drm/amdgpu: use vma_lookup() in amdgpu_ttm_tt_get_user_pages() (Nico Pache) [2001854] - net/ipv5/tcp: use vma_lookup() in tcp_zerocopy_receive() (Nico Pache) [2001854] - vfio: use vma_lookup() instead of find_vma_intersection() (Nico Pache) [2001854] - virt/kvm: use vma_lookup() instead of find_vma_intersection() (Nico Pache) [2001854] - x86/sgx: use vma_lookup() in sgx_encl_find() (Nico Pache) [2001854] - arch/powerpc/kvm/book3s: use vma_lookup() in kvmppc_hv_setup_htab_rma() (Nico Pache) [2001854] - arch/powerpc/kvm/book3s_hv_uvmem: use vma_lookup() instead of find_vma_intersection() (Nico Pache) [2001854] - arch/arm64/kvm: use vma_lookup() instead of find_vma_intersection() (Nico Pache) [2001854] - drm/i915/selftests: use vma_lookup() in __igt_mmap() (Nico Pache) [2001854] - mm: add vma_lookup(), update find_vma_intersection() comments (Nico Pache) [2001854] - i915_vma: Rename vma_lookup to i915_vma_lookup (Nico Pache) [2001854] - media: videobuf2: Move frame_vector into media subsystem (Nico Pache) [2001854] - mm/frame-vector: Use FOLL_LONGTERM (Nico Pache) [2001854] - vhost: convert get_user_pages() --> pin_user_pages() (Nico Pache) [2001854] - docs: mm/gup: pin_user_pages.rst: add a "case 5" (Nico Pache) [2001854] - mm/gup: documentation fix for pin_user_pages*() APIs (Nico Pache) [2001854] - mm/gup: frame_vector: convert get_user_pages() --> pin_user_pages() (Nico Pache) [2001854] - mm/gup: update pin_user_pages.rst for "case 3" (mmu notifiers) (Nico Pache) [2001854] - mm: untag user pointers in get_vaddr_frames (Nico Pache) [2001854] - media: videobuf2-vmalloc: get_userptr: buffers are always writable (Nico Pache) [2001854] - net: expand textsearch ts_state to fit skb_seq_state (Nico Pache) [2001854] - esp: avoid unneeded kmap_atomic call (Nico Pache) [2001854] - net: compound page support in skb_seq_read (Nico Pache) [2001854] - net: support kmap_local forced debugging in skb_frag_foreach (Nico Pache) [2001854] - mm/highmem: fix CONFIG_DEBUG_KMAP_LOCAL_FORCE_MAP (Nico Pache) [2001854] - x86/crashdump/32: Simplify copy_oldmem_page() (Nico Pache) [2001854] - io-mapping: Provide iomap_local variant (Nico Pache) [2001854] - mm/highmem: Provide kmap_local* (Nico Pache) [2001854] - sched: highmem: Store local kmaps in task struct (Nico Pache) [2001854] - x86: Support kmap_local() forced debugging (Nico Pache) [2001854] - mm/highmem: Provide CONFIG_DEBUG_KMAP_LOCAL_FORCE_MAP (Nico Pache) [2001854] - mm/highmem: Provide and use CONFIG_DEBUG_KMAP_LOCAL (Nico Pache) [2001854] - mm/highmem: Take kmap_high_get() properly into account (Nico Pache) [2001854] - highmem: High implementation details and document API (Nico Pache) [2001854] - Documentation/io-mapping: Remove outdated blurb (Nico Pache) [2001854] - io-mapping: Cleanup atomic iomap (Nico Pache) [2001854] - mm/highmem: Remove the old kmap_atomic cruft (Nico Pache) [2001854] - highmem: Get rid of kmap_types.h (Nico Pache) [2001854] - powerpc/mm/highmem: Switch to generic kmap atomic (Nico Pache) [2001854] - x86/mm/highmem: Use generic kmap atomic implementation (Nico Pache) [2001854] - highmem: Make DEBUG_HIGHMEM functional (Nico Pache) [2001854] - highmem: Provide generic variant of kmap_atomic* (Nico Pache) [2001854] - asm-generic: Provide kmap_size.h (Nico Pache) [2001854] - fs: Remove asm/kmap_types.h includes (Nico Pache) [2001854] - highmem: Remove unused functions (Nico Pache) [2001854] - mm/highmem: Un-EXPORT __kmap_atomic_idx() (Nico Pache) [2001854] - kmap: consolidate kmap_prot definitions (Nico Pache) [2001854] - parisc/kmap: remove duplicate kmap code (Nico Pache) [2001854] - arch/kmap: define kmap_atomic_prot() for all arch's (Nico Pache) [2001854] - arch/kmap: ensure kmap_prot visibility (Nico Pache) [2001854] - arch/kunmap_atomic: consolidate duplicate code (Nico Pache) [2001854] - arch/kmap_atomic: consolidate duplicate code (Nico Pache) [2001854] - {x86,powerpc,microblaze}/kmap: move preempt disable (Nico Pache) [2001854] - arch/kunmap: remove duplicate kunmap implementations (Nico Pache) [2001854] - arch/kmap: remove redundant arch specific kmaps (Nico Pache) [2001854] - arch/kmap: remove BUG_ON() (Nico Pache) [2001854] - ipc: remove memcg accounting for sops objects in do_semtimedop() (Rafael Aquini) [1999705] {CVE-2021-3759} - memcg: enable accounting of ipc resources (Rafael Aquini) [1999705] {CVE-2021-3759} - ipc: use kmalloc for msg_queue and shmid_kernel (Rafael Aquini) [1999705] {CVE-2021-3759} - ipc sem: use kvmalloc for sem_undo allocation (Rafael Aquini) [1999705] {CVE-2021-3759} - ipc/sem.c: replace kvmalloc/memset with kvzalloc and use struct_size (Rafael Aquini) [1999705] {CVE-2021-3759} - x86: sev-es: Restore SEV-ES-specific version of copy_from_kernel_nofault() (Vitaly Kuznetsov) [2010082] - perf machine: Initialize srcline string member in add_location struct (Michael Petlan) [1981880] - ipmi: kcs_bmc_aspeed: Fix less than zero comparison of a unsigned int (Tony Camuso) [2003186] - ipmi: kcs_bmc_aspeed: Optionally apply status address (Tony Camuso) [2003186] - ipmi: kcs_bmc_aspeed: Fix IBFIE typo from datasheet (Tony Camuso) [2003186] - ipmi: kcs_bmc_aspeed: Implement KCS SerIRQ configuration (Tony Camuso) [2003186] - ipmi: kcs_bmc: Add serio adaptor (Tony Camuso) [2003186] - ipmi: kcs_bmc: Enable IBF on open (Tony Camuso) [2003186] - ipmi: kcs_bmc: Allow clients to control KCS IRQ state (Tony Camuso) [2003186] - ipmi: kcs_bmc: Decouple the IPMI chardev from the core (Tony Camuso) [2003186] - ipmi: kcs_bmc: Strip private client data from struct kcs_bmc (Tony Camuso) [2003186] - ipmi: kcs_bmc: Split headers into device and client (Tony Camuso) [2003186] - ipmi: kcs_bmc: Turn the driver data-structures inside-out (Tony Camuso) [2003186] - ipmi: kcs_bmc: Split out kcs_bmc_cdev_ipmi (Tony Camuso) [2003186] - ipmi: kcs_bmc: Rename {read,write}_{status,data}() functions (Tony Camuso) [2003186] - ipmi: kcs_bmc: Make status update atomic (Tony Camuso) [2003186] - ipmi: kcs_bmc_aspeed: Use of match data to extract KCS properties (Tony Camuso) [2003186] - ipmi/watchdog: Stop watchdog timer when the current action is 'none' (Tony Camuso) [2003186] - ipmi: kcs: aspeed: Adapt to new LPC DTS layout (Tony Camuso) [2003186] - ipmi_si: Join string literals back (Tony Camuso) [2003186] - ipmi_si: Drop redundant check before calling put_device() (Tony Camuso) [2003186] - ipmi_si: Use strstrip() to remove surrounding spaces (Tony Camuso) [2003186] - ipmi_si: Get rid of ->addr_source_cleanup() (Tony Camuso) [2003186] - ipmi_si: Reuse si_to_str[] array in ipmi_hardcode_init_one() (Tony Camuso) [2003186] - ipmi_si: Introduce ipmi_panic_event_str[] array (Tony Camuso) [2003186] - ipmi_si: Use proper ACPI macros to check error code for failures (Tony Camuso) [2003186] - ipmi_si: Utilize temporary variable to hold device pointer (Tony Camuso) [2003186] - ipmi_si: Remove bogus err_free label (Tony Camuso) [2003186] - ipmi: Handle device properties with software node API (Tony Camuso) [2003186] - ipmi:ssif: make ssif_i2c_send() void (Tony Camuso) [2003186] - ipmi: Refine retry conditions for getting device id (Tony Camuso) [2003186] - redhat/configs: enable CONFIG_IMA_WRITE_POLICY (Bruno Meneguele) [2010530] - Disable CONFIG_CRYPTO_SM4 on aarch64 (Vladis Dronov) [2008943] - powerpc/iommu: Report the correct most efficient DMA mask for PCI devices (Steve Best) [2007425] - powerpc/dma: Fix dma_map_ops::get_required_mask (Steve Best) [2007425] - ibmvnic: Reuse tx pools when possible (Desnes A. Nunes do Rosario) [1998677] - ibmvnic: Reuse rx pools when possible (Desnes A. Nunes do Rosario) [1998677] - ibmvnic: Reuse LTB when possible (Desnes A. Nunes do Rosario) [1998677] - ibmvnic: Use bitmap for LTB map_ids (Desnes A. Nunes do Rosario) [1998677] - ibmvnic: init_tx_pools move loop-invariant code (Desnes A. Nunes do Rosario) [1998677] - ibmvnic: Use/rename local vars in init_tx_pools (Desnes A. Nunes do Rosario) [1998677] - ibmvnic: Use/rename local vars in init_rx_pools (Desnes A. Nunes do Rosario) [1998677] - ibmvnic: Fix up some comments and messages (Desnes A. Nunes do Rosario) [1998677] - ibmvnic: Consolidate code in replenish_rx_pool() (Desnes A. Nunes do Rosario) [1998677] - ibmvnic: check failover_pending in login response (Desnes A. Nunes do Rosario) [1998677] - ibmvnic: retry reset if there are no other resets (Desnes A. Nunes do Rosario) [1998677] - ibmvnic: parenthesize a check (Desnes A. Nunes do Rosario) [1998677] - ibmvnic: free tx_pool if tso_pool alloc fails (Desnes A. Nunes do Rosario) [1998677] - ibmvnic: set ltb->buff to NULL after freeing (Desnes A. Nunes do Rosario) [1998677] - ibmvnic: account for bufs already saved in indir_buf (Desnes A. Nunes do Rosario) [1998677] - ibmvnic: clean pending indirect buffs during reset (Desnes A. Nunes do Rosario) [1998677] - ibmvnic: Use strscpy() instead of strncpy() (Desnes A. Nunes do Rosario) [1998677] - ibmvnic: fix send_request_map incompatible argument (Desnes A. Nunes do Rosario) [1998677] - ibmvnic: fix kernel build warnings in build_hdr_descs_arr (Desnes A. Nunes do Rosario) [1998677] - ibmvnic: fix kernel build warning (Desnes A. Nunes do Rosario) [1998677] - ibmvnic: fix kernel build warning in strncpy (Desnes A. Nunes do Rosario) [1998677] - ibmvnic: Allow device probe if the device is not ready at boot (Desnes A. Nunes do Rosario) [1998677] - ibmvnic: Use list_for_each_entry() to simplify code in ibmvnic.c (Desnes A. Nunes do Rosario) [1998677] - ibmvnic: remove default label from to_string switch (Desnes A. Nunes do Rosario) [1998677] - intel_th: pci: Add Alder Lake-M support (Jiri Olsa) [1929502] - i2c: designware: Fix indentation in the header (David Arcari) [2004468] - i2c: designware: Use DIV_ROUND_CLOSEST() macro (David Arcari) [2004468] - math64: New DIV_S64_ROUND_CLOSEST helper (David Arcari) [2004468] - units: Add SI metric prefix definitions (David Arcari) [2004468] - i2c: busses: i2c-designware-master: Fix misnaming of 'i2c_dw_init_master()' (David Arcari) [2004468] - MAINTAINERS: adjust to removing i2c designware platform data (David Arcari) [2004468] - i2c: designware: Get rid of legacy platform data (David Arcari) [2004468] - treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 288 (David Arcari) [2004468] - i2c: designware: Switch over to i2c_freq_mode_string() (David Arcari) [2004468] - i2c: core: add api to provide frequency mode strings (David Arcari) [2004468] - i2c: designware: Fix return value check in navi_amd_register_client() (David Arcari) [2004468] - i2c: drivers: Use generic definitions for bus frequencies (part 2) (David Arcari) [2004468] - i2c: designware: Add driver support for AMD NAVI GPU (David Arcari) [2004468] - i2c: designware: Adjust bus_freq_hz when refuse high speed mode set (David Arcari) [2004468] - i2c: designware: Get right data length (David Arcari) [2004468] - i2c: designware: Make register offsets all of the same width (David Arcari) [2004468] - i2c: designware: Switch header to use BIT() and GENMASK() (David Arcari) [2004468] - i2c: designware: slave should do WRITE_REQUESTED before WRITE_RECEIVED (David Arcari) [2004468] - i2c: designware: call i2c_dw_read_clear_intrbits_slave() once (David Arcari) [2004468] - i2c: busses: Use fallthrough pseudo-keyword (David Arcari) [2004468] - i2c: designware: platdrv: Set class based on DMI (David Arcari) [2004468] - i2c: designware: Adjust bus speed independently of ACPI (David Arcari) [2004468] - i2c: designware: Add Baikal-T1 System I2C support (David Arcari) [2004468] - i2c: designware: Move reg-space remapping into a dedicated function (David Arcari) [2004468] - i2c: designware: Retrieve quirk flags as early as possible (David Arcari) [2004468] - i2c: designware: Convert driver to using regmap API (David Arcari) [2004468] - i2c: designware: Discard Cherry Trail model flag (David Arcari) [2004468] - i2c: designware: Drop hard coded FIFO depth assignment (David Arcari) [2004468] - i2c: designware: Read counters from ACPI for PCI driver (David Arcari) [2004468] - i2c: designware: Move ACPI parts into common module (David Arcari) [2004468] - i2c: designware: Drop unneeded condition in i2c_dw_validate_speed() (David Arcari) [2004468] - i2c: designware: Move i2c_dw_validate_speed() helper to a common code (David Arcari) [2004468] - i2c: designware: Include proper headers in i2c-desingware-core.h (David Arcari) [2004468] - i2c: designware: Get rid of PCI driver specifics in common code (David Arcari) [2004468] - i2c: designware: Allow slave mode for PCI enumerated devices (David Arcari) [2004468] - i2c: designware: Rename i2c_dw_probe() to i2c_dw_probe_master() (David Arcari) [2004468] - i2c: designware: Switch PCI driver to use i2c_dw_configure_master() (David Arcari) [2004468] - i2c: designware: Move configuration routines to respective modules (David Arcari) [2004468] - i2c: designware: Use devm_platform_ioremap_resource() to simplify code (David Arcari) [2004468] - i2c: designware: Calculate SCL timing parameter for High Speed Mode (David Arcari) [2004468] - i2c: designware: Calculate SCL timing parameter for Fast Mode Plus (David Arcari) [2004468] - i2c: designware: platdrv: Remove DPM_FLAG_SMART_SUSPEND flag on BYT and CHT (David Arcari) [2004468] - i2c: drivers: Use generic definitions for bus frequencies (David Arcari) [2004468] - i2c: core: Provide generic definitions for bus frequencies (David Arcari) [2004468] - i2c: designware: Fix spelling typos in the comments (David Arcari) [2004468] - i2c: designware: Discard i2c_dw_read_comp_param() function (David Arcari) [2004468] - i2c: designware: Detect the FIFO size in the common code (David Arcari) [2004468] - i2c: designware: Add ACPI HID for Hisilicon Hip08-Lite I2C controller (David Arcari) [2004468] - i2c: designware: Fix optional reset error handling (David Arcari) [2004468] - i2c: designware: assert reset when error happen at ->probe() (David Arcari) [2004468] - i2c: designware: Synchronize IRQs when unregistering slave client (David Arcari) [2004468] - i2c: designware: Fix unused variable warning (David Arcari) [2004468] - i2c: designware: make use of devm_gpiod_get_optional (David Arcari) [2004468] - i2c: busses: Use dev_get_drvdata where possible (David Arcari) [2004468] - i2c: designware: ratelimit 'transfer when suspended' errors (David Arcari) [2004468] - i2c: designware: Add support for an interface clock (David Arcari) [2004468] - i2c: i2c-designware-platdrv: Always use a dynamic adapter number (David Arcari) [2004468] - i2c: i2c-designware-platdrv: Cleanup setting of the adapter number (David Arcari) [2004468] - i2c: designware: Do not allow i2c_dw_xfer() calls while suspended (David Arcari) [2004468] - i2c: designware: Cleanup bus lock handling (David Arcari) [2004468] - i2c: designware: Set IRQF_NO_SUSPEND flag for all BYT and CHT controllers (David Arcari) [2004468] - i2c: designware: Call i2c_dw_clk_rate() only when calculating timings (David Arcari) [2004468] - i2c: designware: Remove Cherry Trail PMIC I2C bus pm_disabled workaround (David Arcari) [2004468] - i2c: designware: add MSCC Ocelot support (David Arcari) [2004468] - i2c: designware: allow IP specific sda_hold_time (David Arcari) [2004468] - i2c: designware: move #ifdef CONFIG_OF to the top (David Arcari) [2004468] - i2c: designware: use generic table matching (David Arcari) [2004468] - i2c: designware: Add SPDX license tag (David Arcari) [2004468] - i2c: designware: Convert to use struct i2c_timings (David Arcari) [2004468] - i2c: designware-pcidrv: Mark expected switch fall-through (David Arcari) [2004468] - i2c: designware-master: use core to detect 'no zero length' quirk (David Arcari) [2004468] - i2c: designware: Add debug print for bus speed (David Arcari) [2004468] - i2c: designware: Add debug print for SDA hold time value (David Arcari) [2004468] - i2c: designware: Separate timing parameter setting from HW initalization (David Arcari) [2004468] - i2c: designware: Move SDA hold time configuration to common code (David Arcari) [2004468] - i2c: designware: Call i2c_dw_clk_rate() only once in i2c_dw_init_master() (David Arcari) [2004468] - i2c: designware: Don't use internal ___constant_swab32 (David Arcari) [2004468] - i2c: designware: Move register access detection to common code (David Arcari) [2004468] - i2c: designware: Remove needless variable from i2c_dw_init_slave() (David Arcari) [2004468]- x86/amd_nb: Add AMD family 17h model 60h PCI IDs (David Arcari) [1987067] - x86/amd_nb: Check vendor in AMD-only functions (David Arcari) [1987067] - hwmon: (k10temp) Add support for yellow carp (David Arcari) [1987067] - x86/amd_nb: Add AMD family 19h model 50h PCI ids (David Arcari) [1987067] - x86: Fix various typos in comments, take #2 (David Arcari) [1987067] - x86/amd_nb, char/amd64-agp: Use amd_nb_num() accessor (David Arcari) [1987067] - x86/amd_nb: Add PCI device IDs for family 17h, model 70h (David Arcari) [1987067] - treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 477 (David Arcari) [1987067] - x86/amd_nb: Make hygon_nb_misc_ids static (David Arcari) [1987067] - x86/pci, x86/amd_nb: Add Hygon Dhyana support to PCI and northbridge (David Arcari) [1987067] - x86/cpu: Create Hygon Dhyana architecture support file (David Arcari) [1987067] - hwmon: (k10temp) Rework the temperature offset calculation (David Arcari) [1987067] - hwmon: (k10temp) Don't show Tdie for all Zen/Zen2/Zen3 CPU/APU (David Arcari) [1987067] - hwmon: (k10temp) Add additional missing Zen2 and Zen3 APUs (David Arcari) [1987067] - hwmon: (k10temp) support Zen3 APUs (David Arcari) [1987067] - CI: Fix RT branch name (Veronika Kabatova) - platform/x86/intel: pmc/core: Add GBE Package C10 fix for Alder Lake PCH (David Arcari) [1962965] - platform/x86/intel: pmc/core: Add Alder Lake low power mode support for pmc core (David Arcari) [1962965] - platform/x86/intel: pmc/core: Add Latency Tolerance Reporting (LTR) support to Alder Lake (David Arcari) [1962965] - platform/x86/intel: pmc/core: Add Alderlake support to pmc core driver (David Arcari) [1962965] - redhat/configs: Add CONFIG_X86_PLATFORM_DRIVERS_INTEL (David Arcari) [1962965] - platform/x86: intel_pmc_core: Move to intel sub-directory (David Arcari) [1962965] - platform/x86: intel_skl_int3472: Move to intel/ subfolder (David Arcari) [1962965] - platform/x86: intel_pmc_core: Prevent possibile overflow (David Arcari) [1962965] - ipvs: check that ip_vs_conn_tab_bits is between 8 and 20 (Andrea Claudi) [1816769] - KVM: nVMX: Filter out all unsupported controls when eVMCS was activated (Vitaly Kuznetsov) [2001915] - pinctrl: amd: Handle wake-up interrupt (David Arcari) [2000228] - pinctrl: amd: Add irq field data (David Arcari) [2000228] - pinctrl: amd: Fix an issue with shutdown when system set to s0ix (David Arcari) [2000228] - pinctrl/amd: Add device HID for new AMD GPIO controller (David Arcari) [2000228] - pinctrl: amd: Implement irq_set_wake (David Arcari) [2000228] - genirq/PM: Introduce IRQCHIP_ENABLE_WAKEUP_ON_SUSPEND flag (David Arcari) [2000228] - pinctrl: amd: remove debounce filter setting in IRQ type setting (David Arcari) [2000228] - pinctrl: amd: print debounce filter info in debugfs (David Arcari) [2000228] - pinctrl: amd: use higher precision for 512 RtcClk (David Arcari) [2000228] - pinctrl: amd: fix incorrect way to disable debounce filter (David Arcari) [2000228] - pinctrl: amd: Use irqchip template (David Arcari) [2000228] - pinctrl: pinctrl-amd: Do not define 'struct acpi_device_id' when !CONFIG_ACPI (David Arcari) [2000228] - pinctrl: amd: Honor IRQ trigger type requested by the caller (David Arcari) [2000228] - pinctrl: Use new GPIO_LINE_DIRECTION (David Arcari) [2000228] - remove ioremap_nocache and devm_ioremap_nocache (David Arcari) [2000228] - pinctrl: amd: fix __iomem annotation in amd_gpio_irq_handler() (David Arcari) [2000228] - pinctrl: amd: disable spurious-firing GPIO IRQs (David Arcari) [2000228] - pinctrl: Remove dev_err() usage after platform_get_irq() (David Arcari) [2000228] - treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 422 (David Arcari) [2000228] - pinctrl/amd: fix typo (David Arcari) [2000228] - pinctrl: pinctrl-amd: simplify getting .driver_data (David Arcari) [2000228] - pinctrl/amd: poll InterruptEnable bits in amd_gpio_irq_set_type (David Arcari) [2000228] - pinctrl: Include nothing else (David Arcari) [2000228] - pinctrl/amd: only handle irq if it is pending and unmasked (David Arcari) [2000228] - pinctrl/amd: fix gpio irq level in debugfs (David Arcari) [2000228] - smartpqi: Update version to 2.1.10-025 (Don Brace) [1980106] - scsi: smartpqi: Replace one-element array with flexible-array member (Don Brace) [1980106] - scsi: smartpqi: Fix an error code in pqi_get_raid_map() (Don Brace) [1980106] - scsi: smartpqi: Update version to 2.1.10-020 (Don Brace) [1980106] - scsi: smartpqi: Fix ISR accessing uninitialized data (Don Brace) [1980106] - scsi: smartpqi: Add PCI IDs for new ZTE controllers (Don Brace) [1980106] - scsi: smartpqi: Add PCI ID for new ntcom controller (Don Brace) [1980106] - scsi: smartpqi: Add SCSI cmd info for resets (Don Brace) [1980106] - scsi: smartpqi: Change Kconfig menu entry to Microchip (Don Brace) [1980106] - scsi: smartpqi: Change driver module macros to Microchip (Don Brace) [1980106] - scsi: smartpqi: Update copyright notices (Don Brace) [1980106] - scsi: smartpqi: Add PCI IDs for H3C P4408 controllers (Don Brace) [1980106]- lib/linear_ranges: fix repeated words & one typo (Nico Pache) [2006475] - lib: linear_ranges: Add missing MODULE_LICENSE() (Nico Pache) [2006475] - bpf: Fix regression on BPF_OBJ_GET with non-O_RDWR flags (Jiri Olsa) [1944798] - bpf, x86: Fix extable offset calculation (Jiri Olsa) [1944798] - bpftool: Add Makefile target bootstrap (Jiri Olsa) [1944798] - bpf: Avoid warning when re-casting __bpf_call_base into __bpf_call_base_args (Jiri Olsa) [1944798] - docs, bpf: Add minimal markup to address doc warning (Jiri Olsa) [1944798] - test_bpf: Remove EXPECTED_FAIL flag from bpf_fill_maxinsns11 (Jiri Olsa) [1944798] - trace: bpf: Allow bpf to attach to bare tracepoints (Jiri Olsa) [1944798] - docs: bpf: Clarify -mcpu=v3 requirement for atomic ops (Jiri Olsa) [1944798] - tools, headers: Sync struct bpf_perf_event_data (Jiri Olsa) [1944798] - selftests/bpf: Add missing cleanup in atomic_bounds test (Jiri Olsa) [1944798] - docs: bpf: Clarify BPF_CMPXCHG wording (Jiri Olsa) [1944798] - docs: bpf: Fixup atomics markup (Jiri Olsa) [1944798] - bpf: Document new atomic instructions (Jiri Olsa) [1944798] - kbuild: Do not clean resolve_btfids if the output does not exist (Jiri Olsa) [1944798] - kbuild: Add resolve_btfids clean to root clean target (Jiri Olsa) [1944798] - bpf: Introduce task_vma bpf_iter (Jiri Olsa) [1944798] - bpf: Allow bpf_d_path in bpf_iter program (Jiri Olsa) [1944798] - selftests/bpf: Add test for bpf_iter_task_vma (Jiri Olsa) [1944798] - bpf: Don't do bpf_cgroup_storage_set() for kuprobe/tp programs (Jiri Olsa) [1944798] - libbpf: Use SOCK_CLOEXEC when opening the netlink socket (Jiri Olsa) [1944798] - bpf: Update selftests to reflect new error states (Jiri Olsa) [1944798] - bpf, x86: Validate computation of branch displacements for x86-32 (Jiri Olsa) [1944798] - bpf, x86: Validate computation of branch displacements for x86-64 (Jiri Olsa) [1944798] - bpf: program: Refuse non-O_RDWR flags in BPF_OBJ_GET (Jiri Olsa) [1944798] - bpf: Take module reference for trampoline in module (Jiri Olsa) [1944798] - bpf/selftests: Test that kernel rejects a TCP CC with an invalid license (Jiri Olsa) [1944798] - bpf: Enforce that struct_ops programs be GPL-only (Jiri Olsa) [1944798] - libbpf: Fix bail out from 'ringbuf_process_ring()' on error (Jiri Olsa) [1944798] - selftests/bpf: Add selftest for pointer-to-array-of-struct BTF dump (Jiri Olsa) [1944798] - libbpf: Fix BTF dump of pointer-to-array-of-struct (Jiri Olsa) [1944798] - bpf, selftests: Fix up some test_verifier cases for unprivileged (Jiri Olsa) [1944798] - bpf, x86: Use kvmalloc_array instead kmalloc_array in bpf_jit_comp (Jiri Olsa) [1944798] - libbpf: Fix INSTALL flag order (Jiri Olsa) [1944798] - libbpf: Clear map_info before each bpf_obj_get_info_by_fd (Jiri Olsa) [1944798] - samples, bpf: Add missing munmap in xdpsock (Jiri Olsa) [1944798] - tools/resolve_btfids: Fix build error with older host toolchains (Jiri Olsa) [1944798] - selftests/bpf: Fix a compiler warning in global func test (Jiri Olsa) [1944798] - bpf: Drop imprecise log message (Jiri Olsa) [1944798] - bpf: Clear percpu pointers in bpf_prog_clone_free() (Jiri Olsa) [1944798] - bpf: Fix a warning message in mark_ptr_not_null_reg() (Jiri Olsa) [1944798] - selftests/bpf: Add unit tests for pointers in global functions (Jiri Olsa) [1944798] - bpf: Support pointers in global func args (Jiri Olsa) [1944798] - bpf: Extract nullable reg type conversion into a helper function (Jiri Olsa) [1944798] - bpf: Rename bpf_reg_state variables (Jiri Olsa) [1944798] - tools/resolve_btfids: Add /libbpf to .gitignore (Jiri Olsa) [1944798] - bpf: selftests: Add non function pointer test to struct_ops (Jiri Olsa) [1944798] - libbpf: Ignore non function pointer member in struct_ops (Jiri Olsa) [1944798] - bpf: Clear per_cpu pointers during bpf_prog_realloc (Jiri Olsa) [1944798] - selftests/bpf: Add a selftest for the tracing bpf_get_socket_cookie (Jiri Olsa) [1944798] - selftests/bpf: Use vmlinux.h in socket_cookie_prog.c (Jiri Olsa) [1944798] - selftests/bpf: Integrate the socket_cookie test to test_progs (Jiri Olsa) [1944798] - bpf: Expose bpf_get_socket_cookie to tracing programs (Jiri Olsa) [1944798] - selftests/bpf: Convert test_xdp_redirect.sh to bash (Jiri Olsa) [1944798] - selftests/bpf: Add a test for map-in-map and per-cpu maps in sleepable progs (Jiri Olsa) [1944798] - bpf: Allows per-cpu maps and map-in-map in sleepable programs (Jiri Olsa) [1944798] - selftests/bpf: Improve recursion selftest (Jiri Olsa) [1944798] - selftest/bpf: Add a recursion test (Jiri Olsa) [1944798] - bpf: Count the number of times recursion was prevented (Jiri Olsa) [1944798] - bpf: Add per-program recursion prevention mechanism (Jiri Olsa) [1944798] - bpf: Compute program stats for sleepable programs (Jiri Olsa) [1944798] - bpf: Run sleepable programs with migration disabled (Jiri Olsa) [1944798] - bpf: Optimize program stats (Jiri Olsa) [1944798] - selftests/bpf: Simplify the calculation of variables (Jiri Olsa) [1944798] - selftest/bpf: Add test for var-offset stack access (Jiri Olsa) [1944798] - tools/resolve_btfids: Set srctree variable unconditionally (Jiri Olsa) [1944798] - tools/resolve_btfids: Check objects before removing (Jiri Olsa) [1944798] - tools/resolve_btfids: Build libbpf and libsubcmd in separate directories (Jiri Olsa) [1944798] - bpf: Simplify bool comparison (Jiri Olsa) [1944798] - selftests/bpf: Remove unneeded semicolon (Jiri Olsa) [1944798] - bpf/benchs/bench_ringbufs: Remove unneeded semicolon (Jiri Olsa) [1944798] - bpf: Refactor BPF_PSEUDO_CALL checking as a helper function (Jiri Olsa) [1944798] - bpf/selftests: Update the IMA test to use BPF ring buffer (Jiri Olsa) [1944798] - bpf: Allow usage of BPF ringbuffer in sleepable programs (Jiri Olsa) [1944798] - bpf/selftests: Add a short note about vmtest.sh in README.rst (Jiri Olsa) [1944798] - bpf: Helper script for running BPF presubmit tests (Jiri Olsa) [1944798] - bpf: Emit explicit NULL pointer checks for PROBE_LDX instructions. (Jiri Olsa) [1944798] - libbpf: Stop using feature-detection Makefiles (Jiri Olsa) [1944798] - selftest/bpf: Testing for multiple logs on REJECT (Jiri Olsa) [1944798] - samples: bpf: Remove unneeded semicolon (Jiri Olsa) [1944798] - bpf: Propagate stack bounds to registers in atomics w/ BPF_FETCH (Jiri Olsa) [1944798] - samples/bpf: Add include dir for MIPS Loongson64 to fix build errors (Jiri Olsa) [1944798] - bpf: Simplify cases in bpf_base_func_proto (Jiri Olsa) [1944798] - samples/bpf: Set flag __SANE_USERSPACE_TYPES__ for MIPS to fix build warnings (Jiri Olsa) [1944798] - selftests/bpf: Avoid useless void *-casts (Jiri Olsa) [1944798] - selftests/bpf: Consistent malloc/calloc usage (Jiri Olsa) [1944798] - selftests/bpf: Avoid heap allocation (Jiri Olsa) [1944798] - selftests/bpf: Define local variables at the beginning of a block (Jiri Olsa) [1944798] - selftests/bpf: Change type from void * to struct generic_data * (Jiri Olsa) [1944798] - selftests/bpf: Change type from void * to struct ifaceconfigobj * (Jiri Olsa) [1944798] - selftests/bpf: Remove casting by introduce local variable (Jiri Olsa) [1944798] - selftests/bpf: Improve readability of xdpxceiver/worker_pkt_validate() (Jiri Olsa) [1944798] - selftests/bpf: Remove memory leak (Jiri Olsa) [1944798] - selftests/bpf: Fix style warnings (Jiri Olsa) [1944798] - selftests/bpf: Remove unused enums (Jiri Olsa) [1944798] - selftests/bpf: Remove a lot of ifobject casting (Jiri Olsa) [1944798] - samples/bpf: Add xdp program on egress for xdp_redirect_map (Jiri Olsa) [1944798] - bpf: Fix typo in scalar{,32}_min_max_rsh comments (Jiri Olsa) [1944798] - bpf, docs: Update build procedure for manually compiling LLVM and Clang (Jiri Olsa) [1944798] - selftest/bpf: Fix typo (Jiri Olsa) [1944798] - libbpf: Use string table index from index table if needed (Jiri Olsa) [1944798] - bpf: Try to avoid kzalloc in cgroup/{s,g}etsockopt (Jiri Olsa) [1944798] - bpf: Permit size-0 datasec (Jiri Olsa) [1944798] - selftests: bpf: Add a new test for bare tracepoints (Jiri Olsa) [1944798] - selftests/bpf: Add verifier tests for x64 jit jump padding (Jiri Olsa) [1944798] - bpf,x64: Pad NOPs to make images converge more easily (Jiri Olsa) [1944798] - tools/bpftool: Add -Wall when building BPF programs (Jiri Olsa) [1944798] - bpf: Declare __bpf_free_used_maps() unconditionally (Jiri Olsa) [1944798] - bpf: Add bpf_patch_call_args prototype to include/linux/bpf.h (Jiri Olsa) [1944798] - kernel.spec: Add support to use vmlinux.h (Jiri Olsa) [1989087] - spec: Add vmlinux.h to kernel-devel package (Jiri Olsa) [1989087] - lib/test_scanf: Handle n_bits == 0 in random tests (Chris von Recklinghausen) [1985062] - printk/console: Check consistent sequence number when handling race in console_unlock() (Chris von Recklinghausen) [1985062] - printk: fix cpu lock ordering (Chris von Recklinghausen) [1985062] - lib/dump_stack: move cpu lock to printk.c (Chris von Recklinghausen) [1985062] - random32: Fix implicit truncation warning in prandom_seed_state() (Chris von Recklinghausen) [1985062] - lib: test_scanf: Remove pointless use of type_min() with unsigned types (Chris von Recklinghausen) [1985062] - selftests: lib: Add wrapper script for test_scanf (Chris von Recklinghausen) [1985062] - lib: test_scanf: Add tests for sscanf number conversion (Chris von Recklinghausen) [1985062] - lib: vsprintf: Fix handling of number field widths in vsscanf (Chris von Recklinghausen) [1985062] - lib: vsprintf: scanf: Negative number must have field width > 1 (Chris von Recklinghausen) [1985062] - usb: host: xhci-tegra: Switch to use ptTs (Chris von Recklinghausen) [1985062] - nilfs2: Switch to use ptTs (Chris von Recklinghausen) [1985062] - kdb: Switch to use ptTs (Chris von Recklinghausen) [1985062] - lib/vsprintf: Allow to override ISO 8601 date and time separator (Chris von Recklinghausen) [1985062] - printk: Remove trailing semicolon in macros (Chris von Recklinghausen) [1985062] - printk: Move EXPORT_SYMBOL() closer to vprintk definition (Chris von Recklinghausen) [1985062] - kernel/printk.c: Fixed mundane typos (Chris von Recklinghausen) [1985062] - printk: rename vprintk_func to vprintk (Chris von Recklinghausen) [1985062] - printk: console: remove unnecessary safe buffer usage (Chris von Recklinghausen) [1985062] - printk: kmsg_dump: remove _nolock() variants (Chris von Recklinghausen) [1985062] - printk: remove logbuf_lock (Chris von Recklinghausen) [1985062] - printk: introduce a kmsg_dump iterator (Chris von Recklinghausen) [1985062] - printk: kmsg_dumper: remove @active field (Chris von Recklinghausen) [1985062] - printk: add syslog_lock (Chris von Recklinghausen) [1985062] - printk: use atomic64_t for devkmsg_user.seq (Chris von Recklinghausen) [1985062] - printk: use seqcount_latch for clear_seq (Chris von Recklinghausen) [1985062] - printk: introduce CONSOLE_LOG_MAX (Chris von Recklinghausen) [1985062] - printk: consolidate kmsg_dump_get_buffer/syslog_print_all code (Chris von Recklinghausen) [1985062] - printk: refactor kmsg_dump_get_buffer() (Chris von Recklinghausen) [1985062] - printk: kmsg_dump: remove unused fields (Chris von Recklinghausen) [1985062] - printk: limit second loop of syslog_print_all (Chris von Recklinghausen) [1985062] - mtd: mtdoops: synchronize kmsg_dumper (Chris von Recklinghausen) [1985062] - vsprintf: dump full information of page flags in pGp (Chris von Recklinghausen) [1985062] - mm, slub: don't combine pr_err with INFO (Chris von Recklinghausen) [1985062] - mm, slub: use pGp to print page flags (Chris von Recklinghausen) [1985062] - lib/vsprintf.c: remove leftover 'f' and 'F' cases from bstr_printf() (Chris von Recklinghausen) [1985062] - printk: clarify the documentation for plain pointer printing (Chris von Recklinghausen) [1985062] - lib/vsprintf: do not show no_hash_pointers message multiple times (Chris von Recklinghausen) [1985062] - kdb: Refactor env variables get/set code (Chris von Recklinghausen) [1985062] - kernel: debug: Ordinary typo fixes in the file gdbstub.c (Chris von Recklinghausen) [1985062] - kdb: Simplify kdb commands registration (Chris von Recklinghausen) [1985062] - seqlock,lockdep: Fix seqcount_latch_init() (Chris von Recklinghausen) [1985062] - printk: avoid prb_first_valid_seq() where possible (Chris von Recklinghausen) [1985062] - printk: rectify kernel-doc for prb_rec_init_wr() (Chris von Recklinghausen) [1985062] - lib/vsprintf: no_hash_pointers prints all addresses as unhashed (Chris von Recklinghausen) [1985062] - kselftest: add support for skipped tests (Chris von Recklinghausen) [1985062] - lib: use KSTM_MODULE_GLOBALS macro in kselftest drivers (Chris von Recklinghausen) [1985062] - printk: fix deadlock when kernel panic (Chris von Recklinghausen) [1985062] - torture: Remove "Failed to add ttynull console" false positive (Chris von Recklinghausen) [1985062] - printk: fix string termination for record_print_text() (Chris von Recklinghausen) [1985062] - printk: fix buffer overflow potential for print_text() (Chris von Recklinghausen) [1985062] - printk: fix kmsg_dump_get_buffer length calulations (Chris von Recklinghausen) [1985062] - printk: ringbuffer: fix line counting (Chris von Recklinghausen) [1985062] - Revert "init/console: Use ttynull as a fallback when there is no console" (Chris von Recklinghausen) [1985062] - printk: remove obsolete dead assignment (Chris von Recklinghausen) [1985062] - printk: ringbuffer: Reference text_data_ring directly in callees. (Chris von Recklinghausen) [1985062] - printk/console: Allow to disable console output by using console="" or console=null (Chris von Recklinghausen) [1985062] - init/console: Use ttynull as a fallback when there is no console (Chris von Recklinghausen) [1985062] - printk: remove logbuf_lock writer-protection of ringbuffer (Chris von Recklinghausen) [1985062] - printk: inline log_output(),log_store() in vprintk_store() (Chris von Recklinghausen) [1985062] - printk: remove unneeded dead-store assignment (Chris von Recklinghausen) [1985062] - printk: finalize records with trailing newlines (Chris von Recklinghausen) [1985062] - printk: ringbuffer: Wrong data pointer when appending small string (Chris von Recklinghausen) [1985062] - printk: reduce setup_text_buf size to LOG_LINE_MAX (Chris von Recklinghausen) [1985062] - printk: avoid and/or handle record truncation (Chris von Recklinghausen) [1985062] - printk: remove dict ring (Chris von Recklinghausen) [1985062] - printk: move dictionary keys to dev_printk_info (Chris von Recklinghausen) [1985062] - printk: move printk_info into separate array (Chris von Recklinghausen) [1985062] - printk: reimplement log_cont using record extension (Chris von Recklinghausen) [1985062] - printk: ringbuffer: add finalization/extension support (Chris von Recklinghausen) [1985062] - printk: ringbuffer: change representation of states (Chris von Recklinghausen) [1985062] - printk: ringbuffer: clear initial reserved fields (Chris von Recklinghausen) [1985062] - printk: ringbuffer: add BLK_DATALESS() macro (Chris von Recklinghausen) [1985062] - printk: ringbuffer: relocate get_data() (Chris von Recklinghausen) [1985062] - printk: ringbuffer: avoid memcpy() on state_var (Chris von Recklinghausen) [1985062] - printk: ringbuffer: fix setting state in desc_read() (Chris von Recklinghausen) [1985062] - seqlock: Introduce seqcount_latch_t (Chris von Recklinghausen) [1985062] - scripts/gdb: update for lockless printk ringbuffer (Chris von Recklinghausen) [1985062] - scripts/gdb: add utils.read_ulong() (Chris von Recklinghausen) [1985062] - printk: reduce LOG_BUF_SHIFT range for H8300 (Chris von Recklinghausen) [1985062] - printk: ringbuffer: support dataless records (Chris von Recklinghausen) [1985062] - MAINTAIERS: Add John Ogness as printk reviewer (Chris von Recklinghausen) [1985062] - printk: use the lockless ringbuffer (Chris von Recklinghausen) [1985062] - Revert "printk: lock/unlock console only for new logbuf entries" (Chris von Recklinghausen) [1985062] - printk: add lockless ringbuffer (Chris von Recklinghausen) [1985062] - crash: add VMCOREINFO macro to define offset in a struct declared by typedef (Chris von Recklinghausen) [1985062] - printk: Use fallthrough pseudo-keyword (Chris von Recklinghausen) [1985062] - kernel.h: Move oops_in_progress to printk.h (Chris von Recklinghausen) [1985062] - serial: 8250: change lock order in serial8250_do_startup() (Chris von Recklinghausen) [1985062] - kernel: printk: delete repeated words in comments (Chris von Recklinghausen) [1985062] - random32: Restore __latent_entropy attribute on net_rand_state (Chris von Recklinghausen) [1985062] - random32: add a tracepoint for prandom_u32() (Chris von Recklinghausen) [1985062] - init: open code setting up stdin/stdout/stderr (Chris von Recklinghausen) [1985062] - hvc: unify console setup naming (Chris von Recklinghausen) [1985062] - console: Fix trivia typo 'change' -> 'chance' (Chris von Recklinghausen) [1985062] - console: Propagate error code from console ->setup() (Chris von Recklinghausen) [1985062] - tty: hvc: Return proper error code from console ->setup() hook (Chris von Recklinghausen) [1985062] - lib/vsprintf: Force type of flags value for gfp_t (Chris von Recklinghausen) [1985062] - lib/vsprintf: Replace custom spec to print decimals with generic one (Chris von Recklinghausen) [1985062] - lib/vsprintf: Replace hidden BUILD_BUG_ON() with static_assert() (Chris von Recklinghausen) [1985062] - printk: Make linux/printk.h self-contained (Chris von Recklinghausen) [1985062] - doc:kmsg: explicitly state the return value in case of SEEK_CUR (Chris von Recklinghausen) [1985062] - Replace HTTP links with HTTPS ones: vsprintf (Chris von Recklinghausen) [1985062] - Revert "kernel/printk: add kmsg SEEK_CUR handling" (Chris von Recklinghausen) [1985062] - random32: move the pseudo-random 32-bit definitions to prandom.h (Chris von Recklinghausen) [1985062] - printk/kdb: Redirect printk messages into kdb in any context (Chris von Recklinghausen) [1985062] - usb: pulse8-cec: Switch to use ptT (Chris von Recklinghausen) [1985062] - lib/vsprintf: Print time64_t in human readable format (Chris von Recklinghausen) [1985062] - printk: Remove pr_cont_once() (Chris von Recklinghausen) [1985062] - printk: handle blank console arguments passed in. (Chris von Recklinghausen) [1985062] - kernel/printk: add kmsg SEEK_CUR handling (Chris von Recklinghausen) [1985062] - printk: Fix a typo in comment "interator"->"iterator" (Chris von Recklinghausen) [1985062] - printk: Correctly set CON_CONSDEV even when preferred console was not registered (Chris von Recklinghausen) [1985062] - printk: Fix preferred console selection with multiple matches (Chris von Recklinghausen) [1985062] - printk: Move console matching logic into a separate function (Chris von Recklinghausen) [1985062] - lib/vsprintf: update comment about simple_strto() functions (Chris von Recklinghausen) [1985062] - printk: Convert a use of sprintf to snprintf in console_unlock (Chris von Recklinghausen) [1985062] - lib/dynamic_debug.c: use address-of operator on section symbols (Chris von Recklinghausen) [1985062] - printk: fix exclusive_console replaying (Chris von Recklinghausen) [1985062] - Revert "fs: remove ksys_dup()" (Chris von Recklinghausen) [1985062] - early init: fix error handling when opening /dev/console (Chris von Recklinghausen) [1985062] - device.h: move dev_printk()-like functions to dev_printk.h (Chris von Recklinghausen) [1985062] - docs: printk-formats: add ptrdiff_t type to printk-formats (Chris von Recklinghausen) [1985062] - fs: remove ksys_dup() (Chris von Recklinghausen) [1985062] - MAINTAINERS: Add VSPRINTF (Chris von Recklinghausen) [1985062] - tools lib api: Renaming pr_warning to pr_warn (Chris von Recklinghausen) [1985062] - lib: cpu_rmap: Use pr_warn instead of pr_warning (Chris von Recklinghausen) [1985062] - trace: Use pr_warn instead of pr_warning (Chris von Recklinghausen) [1985062] - vgacon: Use pr_warn instead of pr_warning (Chris von Recklinghausen) [1985062] - scsi: Use pr_warn instead of pr_warning (Chris von Recklinghausen) [1985062] - platform/x86: intel_oaktrail: Use pr_warn instead of pr_warning (Chris von Recklinghausen) [1985062] - platform/x86: asus-laptop: Use pr_warn instead of pr_warning (Chris von Recklinghausen) [1985062] - platform/x86: eeepc-laptop: Use pr_warn instead of pr_warning (Chris von Recklinghausen) [1985062] - oprofile: Use pr_warn instead of pr_warning (Chris von Recklinghausen) [1985062] - of: Use pr_warn instead of pr_warning (Chris von Recklinghausen) [1985062] - macintosh: Use pr_warn instead of pr_warning (Chris von Recklinghausen) [1985062] - idsn: Use pr_warn instead of pr_warning (Chris von Recklinghausen) [1985062] - ide: Use pr_warn instead of pr_warning (Chris von Recklinghausen) [1985062] - crypto: n2: Use pr_warn instead of pr_warning (Chris von Recklinghausen) [1985062] - clocksource: samsung_pwm_timer: Use pr_warn instead of pr_warning (Chris von Recklinghausen) [1985062] - gdrom: Use pr_warn instead of pr_warning (Chris von Recklinghausen) [1985062] - drbd: Use pr_warn instead of pr_warning (Chris von Recklinghausen) [1985062] - x86: Use pr_warn instead of pr_warning (Chris von Recklinghausen) [1985062] - arm64: Use pr_warn instead of pr_warning (Chris von Recklinghausen) [1985062] - dump_stack: avoid the livelock of the dump_lock (Chris von Recklinghausen) [1985062] - lib/vsprintf: Add pfw conversion specifier for printing fwnode names (Chris von Recklinghausen) [1985062] - lib/vsprintf: Make use of fwnode API to obtain node names and separators (Chris von Recklinghausen) [1985062] - ABI: Update dev-kmsg documentation to match current kernel behaviour (Chris von Recklinghausen) [1985062] - printk: Replace strncmp() with str_has_prefix() (Chris von Recklinghausen) [1985062] - lib/test_printf: Remove obvious comments from pd and pD tests (Chris von Recklinghausen) [1985062] - lib/test_printf: Add test of null/invalid pointer dereference for dentry (Chris von Recklinghausen) [1985062] - vsprintf: Prevent crash when dereferencing invalid pointers for pD (Chris von Recklinghausen) [1985062] - printk: Do not lose last line in kmsg buffer dump (Chris von Recklinghausen) [1985062] - scripts/gdb: fix lx-dmesg when CONFIG_PRINTK_CALLER is set (Chris von Recklinghausen) [1985062] - lib/vsprintf: Remove support for pF and pf in favour of pS and ps (Chris von Recklinghausen) [1985062] - tracing: kdb: Allow ftdump to skip all but the last few entries (Chris von Recklinghausen) [1985062] - tracing: kdb: The skip_lines parameter should have been skip_entries (Chris von Recklinghausen) [1985062] - tracing: Add trace_total_entries() / trace_total_entries_cpu() (Chris von Recklinghausen) [1985062] - tty: Add NULL TTY driver (Chris von Recklinghausen) [1985062] - treewide: Switch printk users from pf and pF to ps and pS, respectively (Chris von Recklinghausen) [1985062] - iio: adc: fix warning in Qualcomm PM8xxx HK/XOADC driver (Chris von Recklinghausen) [1985062] - device.h: Add __cold to dev_ logging functions (Chris von Recklinghausen) [1985062] - dynamic_debug: move pr_err from module.c to ddebug_add_module (Chris von Recklinghausen) [1985062] - dynamic_debug: don't duplicate modname in ddebug_add_module (Chris von Recklinghausen) [1985062] - kdb: use bool for binary state indicators (Chris von Recklinghausen) [1985062] - panic: avoid deadlocks in re-entrant console drivers (Chris von Recklinghausen) [1985062] - x86/apic: Trivial coding style fixes (Chris von Recklinghausen) [1985062] - video/console/vgacon: Print big fat warning with nomodeset (Chris von Recklinghausen) [1985062] - device: Add #define dev_fmt similar to #define pr_fmt (Chris von Recklinghausen) [1985062] - bcache: replace 'pF' by 'pS' in seq_printf() (Chris von Recklinghausen) [1985062] - Revert "Merge: redhat: switch secureboot kernel image signing to release keys" (Augusto Caringi) - drm/nouveau/fifo/ga102: initialise chid on return from channel creation (Ben Skeggs) [1997878] - drm/nouveau/ga102-: support ttm buffer moves via copy engine (Ben Skeggs) [1997878] - drm/nouveau/kms/tu102-: delay enabling cursor until after assign_windows (Ben Skeggs) [1997878] - drm/nouveau/kms/nv50: workaround EFI GOP window channel format differences (Ben Skeggs) [1997878] - drm/nouveau/disp: power down unused DP links during init (Ben Skeggs) [1997878] - drm/nouveau: recognise GA107 (Ben Skeggs) [1997878] - PCI: Mark TI C667X to avoid bus reset (Alex Williamson) [1975768] - redhat: switch secureboot kernel image signing to release keys (Bruno Meneguele) - CI: handle RT branches in a single config (Veronika Kabatova) - CI: Fix RT check branch name (Veronika Kabatova) - CI: Drop private CI config (Veronika Kabatova) - CI: extend template use (Veronika Kabatova) - Revert "Merge: mt7921e: enable new Mediatek wireless hardware" (Bruno Meneguele) [2009501] - megaraid_sas: fix concurrent access to ISR between IRQ polling and real interrupt (Tomas Henzl) [2009022] - scsi: megaraid_sas: mq_poll support (Tomas Henzl) [2009022] - [PATCH v2] scsi: qla2xxx: Suppress unnecessary log messages during login (Nilesh Javali) [1982186] - scsi: qla2xxx: Fix excessive messages during device logout (Nilesh Javali) [1982186] - PCI: pciehp: Ignore Link Down/Up caused by DPC (Myron Stowe) [1981741] - arm64: kpti: Fix "kpti=off" when KASLR is enabled (Mark Salter) [1979731] - arm64: Fix CONFIG_ARCH_RANDOM=n build (Mark Salter) [1979731] - redhat/configs: aarch64: add CONFIG_ARCH_RANDOM (Mark Salter) [1979731] - arm64: Implement archrandom.h for ARMv8.5-RNG (Mark Salter) [1979731] - arm64: kconfig: Fix alignment of E0PD help text (Mark Salter) [1979731] - arm64: Use register field helper in kaslr_requires_kpti() (Mark Salter) [1979731] - arm64: Simplify early check for broken TX1 when KASLR is enabled (Mark Salter) [1979731] - arm64: Use a variable to store non-global mappings decision (Mark Salter) [1979731] - arm64: Don't use KPTI where we have E0PD (Mark Salter) [1979731] - arm64: Factor out checks for KASLR in KPTI code into separate function (Mark Salter) [1979731] - redhat/configs: Add CONFIG_ARM64_E0PD (Mark Salter) [1979731] - arm64: Add initial support for E0PD (Mark Salter) [1979731] - arm64: cpufeature: Export matrix and other features to userspace (Mark Salter) [1980098] - arm64: docs: cpu-feature-registers: Document ID_AA64PFR1_EL1 (Mark Salter) [1980098] - docs/arm64: cpu-feature-registers: Rewrite bitfields that don't follow [e, s] (Mark Salter) [1980098] - docs/arm64: cpu-feature-registers: Documents missing visible fields (Mark Salter) [1980098] - arm64: Introduce system_capabilities_finalized() marker (Mark Salter) [1980098] - arm64: entry.S: Do not preempt from IRQ before all cpufeatures are enabled (Mark Salter) [1980098] - docs/arm64: elf_hwcaps: Document HWCAP_SB (Mark Salter) [1980098] - docs/arm64: elf_hwcaps: sort the HWCAP{, 2} documentation by ascending value (Mark Salter) [1980098] - arm64: cpufeature: Treat ID_AA64ZFR0_EL1 as RAZ when SVE is not enabled (Mark Salter) [1980098] - arm64: cpufeature: Effectively expose FRINT capability to userspace (Mark Salter) [1980098] - arm64: cpufeature: Fix feature comparison for CTR_EL0.{CWG,ERG} (Mark Salter) [1980098] - arm64: Expose FRINT capabilities to userspace (Mark Salter) [1980098] - arm64: Expose ARMv8.5 CondM capability to userspace (Mark Salter) [1980098] - docs: arm64: convert perf.txt to ReST format (Mark Salter) [1980098] - docs: arm64: convert docs to ReST and rename to .rst (Mark Salter) [1980098] - Documentation/arm64: HugeTLB page implementation (Mark Salter) [1980098] - Documentation/arm64/sve: Couple of improvements and typos (Mark Salter) [1980098] - arm64: cpufeature: Fix missing ZFR0 in __read_sysreg_by_encoding() (Mark Salter) [1980098] - arm64: Expose SVE2 features for userspace (Mark Salter) [1980098] - arm64: Advertise ARM64_HAS_DCPODP cpu feature (Mark Salter) [1980098] - arm64: add CVADP support to the cache maintenance helper (Mark Salter) [1980098] - arm64: Fix minor issues with the dcache_by_line_op macro (Mark Salter) [1980098] - arm64: Expose DC CVADP to userspace (Mark Salter) [1980098] - arm64: Handle trapped DC CVADP (Mark Salter) [1980098] - arm64: HWCAP: encapsulate elf_hwcap (Mark Salter) [1980098] - arm64: HWCAP: add support for AT_HWCAP2 (Mark Salter) [1980098] - x86/MCE/AMD, EDAC/mce_amd: Add new SMCA bank types (Aristeu Rozanski) [1965331] - x86/MCE/AMD, EDAC/mce_amd: Remove struct smca_hwid.xec_bitmap (Aristeu Rozanski) [1965331] - EDAC, mce_amd: Print ExtErrorCode and description on a single line (Aristeu Rozanski) [1965331]- scsi: ibmvfc: Fix command state accounting and stale response detection (Steve Best) [1988157] - tasklist_lock, ppc64: Convert tasklist_lock to use qrwlock for ppc64 (Waiman Long) [1978377] - tasklist_lock, ppc64: Provide infrastructure to support specific use of qrwlock (Waiman Long) [1978377] - redhat/configs: Disable CONFIG_PPC_QUEUED_SPINLOCKS (Waiman Long) [1978377] - qspinlock: use signed temporaries for cmpxchg (Waiman Long) [1978377] - powerpc/qspinlock: Optimised atomic_try_cmpxchg_lock() that adds the lock hint (Waiman Long) [1978377] - powerpc/pseries: Implement paravirt qspinlocks for SPLPAR (Waiman Long) [1978377] - powerpc/64s: Implement queued spinlocks and rwlocks (Waiman Long) [1978377] - powerpc: Move spinlock implementation to simple_spinlock (Waiman Long) [1978377] - locking/spinlocks: Remove an instruction from spin and write locks (Waiman Long) [1978377] - net: Fix skb->csum update in inet_proto_csum_replace16(). (Balazs Nemeth) [1975193] - [s390] s390/dasd: fix use after free in dasd path handling (Claudio Imbrenda) [1996764] - powerpc/bpf: Fix detecting BPF atomic instructions (Viktor Malik) [1931483] - selftests/bpf: ringbuf_multi: Test bpf_map__set_inner_map_fd (Viktor Malik) [1931483] - selftests/bpf: ringbuf_multi: Use runtime page size (Viktor Malik) [1931483] - libbpf: Add bpf_map__inner_map API (Viktor Malik) [1931483] - selftests/bpf: ringbuf: Use runtime page size (Viktor Malik) [1931483] - selftests/bpf: mmap: Use runtime page size (Viktor Malik) [1931483] - selftests/bpf: Pass page size from userspace in map_ptr (Viktor Malik) [1931483] - selftests/bpf: Pass page size from userspace in sockopt_sk (Viktor Malik) [1931483] - selftests/bpf: test_progs/sockopt_sk: Convert to use BPF skeleton (Viktor Malik) [1931483] - selftests/bpf: test_progs/sockopt_sk: Remove version (Viktor Malik) [1931483] - powerpc/64s: Fix crashes when toggling entry flush barrier (Diego Domingos) [1894804] - powerpc/64s: flush L1D after user accesses (Diego Domingos) [1894804] - powerpc/uaccess: Evaluate macro arguments once, before user access is allowed (Diego Domingos) [1894804] - powerpc: Fix __clear_user() with KUAP enabled (Diego Domingos) [1894804] - powerpc: Implement user_access_begin and friends (Diego Domingos) [1894804] - powerpc: Add a framework for user access tracking (Diego Domingos) [1894804] - powerpc/64s: flush L1D on kernel entry (Diego Domingos) [1894804] - redhat: enable CONFIG_SLAB_FREELIST_HARDENED (Rafael Aquini) [1862283] - include/uapi/linux/swab.h: fix userspace breakage, use __BITS_PER_LONG for swap (Rafael Aquini) [1862283] - uapi: rename ext2_swab() to swab() and share globally in swab.h (Rafael Aquini) [1862283] - lib/timerqueue: Rely on rbtree semantics for next timer (Phil Auld) [1984798] - e1000e: Do not take care about recovery NVM checksum (Ken Cox) [1984558] - qrtr: disable CONFIG_QRTR for non x86_64 archs (Íñigo Huguet) [1999642] - ceph: fix possible null-pointer dereference in ceph_mdsmap_decode() (Jeff Layton) [1989999] - ceph: fix dereference of null pointer cf (Jeff Layton) [1989999] - ceph: correctly handle releasing an embedded cap flush (Jeff Layton) [1989999] - ceph: take snap_empty_lock atomically with snaprealm refcount change (Jeff Layton) [1989999] - ceph: don't WARN if we're still opening a session to an MDS (Jeff Layton) [1989999] - rbd: don't hold lock_rwsem while running_list is being drained (Jeff Layton) [1989999] - rbd: always kick acquire on "acquired" and "released" notifications (Jeff Layton) [1989999] - ceph: take reference to req->r_parent at point of assignment (Jeff Layton) [1989999] - ceph: eliminate ceph_async_iput() (Jeff Layton) [1989999] - ceph: don't take s_mutex in ceph_flush_snaps (Jeff Layton) [1989999] - ceph: don't take s_mutex in try_flush_caps (Jeff Layton) [1989999] - ceph: don't take s_mutex or snap_rwsem in ceph_check_caps (Jeff Layton) [1989999] - ceph: eliminate session->s_gen_ttl_lock (Jeff Layton) [1989999] - ceph: allow ceph_put_mds_session to take NULL or ERR_PTR (Jeff Layton) [1989999] - ceph: clean up locking annotation for ceph_get_snap_realm and __lookup_snap_realm (Jeff Layton) [1989999] - ceph: add some lockdep assertions around snaprealm handling (Jeff Layton) [1989999] - ceph: decoding error in ceph_update_snap_realm should return -EIO (Jeff Layton) [1989999] - ceph: add IO size metrics support (Jeff Layton) [1989999] - ceph: update and rename __update_latency helper to __update_stdev (Jeff Layton) [1989999] - ceph: simplify the metrics struct (Jeff Layton) [1989999] - libceph: fix doc warnings in cls_lock_client.c (Jeff Layton) [1989999] - libceph: remove unnecessary ret variable in ceph_auth_init() (Jeff Layton) [1989999] - libceph: kill ceph_none_authorizer::reply_buf (Jeff Layton) [1989999] - ceph: make ceph_queue_cap_snap static (Jeff Layton) [1989999] - ceph: remove bogus checks and WARN_ONs from ceph_set_page_dirty (Jeff Layton) [1989999] - libceph: set global_id as soon as we get an auth ticket (Jeff Layton) [1989999] - libceph: don't pass result into ac->ops->handle_reply() (Jeff Layton) [1989999] - ceph: fix error handling in ceph_atomic_open and ceph_lookup (Jeff Layton) [1989999] - ceph: must hold snap_rwsem when filling inode for async create (Jeff Layton) [1989999] - libceph: Fix spelling mistakes (Jeff Layton) [1989999] - libceph: don't set global_id until we get an auth ticket (Jeff Layton) [1989999] - libceph: bump CephXAuthenticate encoding version (Jeff Layton) [1989999] - ceph: don't allow access to MDS-private inodes (Jeff Layton) [1989999] - ceph: fix up some bare fetches of i_size (Jeff Layton) [1989999] - ceph: support getting ceph.dir.rsnaps vxattr (Jeff Layton) [1989999] - ceph: drop pinned_page parameter from ceph_get_caps (Jeff Layton) [1989999] - ceph: fix inode leak on getattr error in __fh_to_dentry (Jeff Layton) [1989999] - ceph: only check pool permissions for regular files (Jeff Layton) [1989999] - ceph: send opened files/pinned caps/opened inodes metrics to MDS daemon (Jeff Layton) [1989999] - ceph: avoid counting the same request twice or more (Jeff Layton) [1989999] - ceph: rename the metric helpers (Jeff Layton) [1989999] - ceph: fix kerneldoc copypasta over ceph_start_io_direct (Jeff Layton) [1989999] - ceph: don't use d_add in ceph_handle_snapdir (Jeff Layton) [1989999] - ceph: don't clobber i_snap_caps on non-I_NEW inode (Jeff Layton) [1989999] - ceph: fix fall-through warnings for Clang (Jeff Layton) [1989999] - net: ceph: Fix a typo in osdmap.c (Jeff Layton) [1989999] - ceph: don't allow type or device number to change on non-I_NEW inodes (Jeff Layton) [1989999] - ceph: defer flushing the capsnap if the Fb is used (Jeff Layton) [1989999] - ceph: allow queueing cap/snap handling after putting cap references (Jeff Layton) [1989999] - ceph: clean up inode work queueing (Jeff Layton) [1989999] - ceph: fix flush_snap logic after putting caps (Jeff Layton) [1989999] - libceph: fix "Boolean result is used in bitwise operation" warning (Jeff Layton) [1989999] - new helper: inode_wrong_type() (Jeff Layton) [1989999] - kabi: Adding symbol single_release (fs/seq_file.c) (Čestmír Kalina) [1945486] - kabi: Adding symbol single_open (fs/seq_file.c) (Čestmír Kalina) [1945486] - kabi: Adding symbol seq_read (fs/seq_file.c) (Čestmír Kalina) [1945486] - kabi: Adding symbol seq_printf (fs/seq_file.c) (Čestmír Kalina) [1945486] - kabi: Adding symbol seq_lseek (fs/seq_file.c) (Čestmír Kalina) [1945486] - kabi: Adding symbol unregister_chrdev_region (fs/char_dev.c) (Čestmír Kalina) [1945486] - kabi: Adding symbol cdev_init (fs/char_dev.c) (Čestmír Kalina) [1945486] - kabi: Adding symbol cdev_del (fs/char_dev.c) (Čestmír Kalina) [1945486] - kabi: Adding symbol cdev_alloc (fs/char_dev.c) (Čestmír Kalina) [1945486] - kabi: Adding symbol cdev_add (fs/char_dev.c) (Čestmír Kalina) [1945486] - kabi: Adding symbol alloc_chrdev_region (fs/char_dev.c) (Čestmír Kalina) [1945486] - kabi: Adding symbol pcie_capability_read_word (drivers/pci/access.c) (Čestmír Kalina) [1945485] - kabi: Adding symbol pcie_capability_read_dword (drivers/pci/access.c) (Čestmír Kalina) [1945485] - kabi: Adding symbol pcie_capability_clear_and_set_word (drivers/pci/access.c) (Čestmír Kalina) [1945485] - kabi: Adding symbol pci_write_config_dword (drivers/pci/access.c) (Čestmír Kalina) [1945485] - kabi: Adding symbol pci_write_config_byte (drivers/pci/access.c) (Čestmír Kalina) [1945485] - kabi: Adding symbol pci_set_power_state (drivers/pci/pci.c) (Čestmír Kalina) [1945485] - kabi: Adding symbol pci_read_config_dword (drivers/pci/access.c) (Čestmír Kalina) [1945485] - kabi: Adding symbol pci_read_config_byte (drivers/pci/access.c) (Čestmír Kalina) [1945485] - kabi: Adding symbol pci_irq_vector (drivers/pci/msi.c) (Čestmír Kalina) [1945485] - kabi: Adding symbol pci_get_device (drivers/pci/search.c) (Čestmír Kalina) [1945485] - kabi: Adding symbol pci_free_irq_vectors (drivers/pci/msi.c) (Čestmír Kalina) [1945485] - kabi: Adding symbol pci_alloc_irq_vectors_affinity (drivers/pci/msi.c) (Čestmír Kalina) [1945485] - kabi: Adding symbol kexec_crash_loaded (kernel/kexec_core.c) (Čestmír Kalina) [1945491] - perf/x86/intel: Fix PEBS-via-PT reload base value for Extended PEBS (Michael Petlan) [1998051] - perf/x86/intel/uncore: Fix Add BW copypasta (Michael Petlan) [1998051] - perf/x86/intel/uncore: Add BW counters for GT, IA and IO breakdown (Michael Petlan) [1998051] - Revert "ice: Add initial support framework for LAG" (Michal Schmidt) [1999016] - net: re-initialize slow_gro flag at gro_list_prepare time (Paolo Abeni) [2002367] - cxgb4: dont touch blocked freelist bitmap after free (Rahul Lakkireddy) [1998148] - cxgb4vf: configure ports accessible by the VF (Rahul Lakkireddy) [1961329] - scsi: lpfc: Fix memory leaks in error paths while issuing ELS RDF/SCR request (Dick Kennedy) [1976332] - scsi: lpfc: Keep NDLP reference until after freeing the IOCB after ELS handling (Dick Kennedy) [1976332] - scsi: lpfc: Move initialization of phba->poll_list earlier to avoid crash (Dick Kennedy) [1976332]- md/raid10: properly indicate failure when ending a failed write request (Nigel Croxon) [1983859] - md: Constify attribute_group structs (Nigel Croxon) [1983859] - md: mark some personalities as deprecated (Nigel Croxon) [1983859] - md/raid1: rename print_msg with r1bio_existed (Nigel Croxon) [1983859] - async_xor: check src_offs is not NULL before updating it (Nigel Croxon) [1983859] - async_xor: increase src_offs when dropping destination page (Nigel Croxon) [1983859] - md/raid5: reallocate page array after setting new stripe_size (Nigel Croxon) [1983859] - md/raid5: resize stripe_head when reshape array (Nigel Croxon) [1983859] - md/raid5: let multiple devices of stripe_head share page (Nigel Croxon) [1983859] - md/raid6: let async recovery function support different page offset (Nigel Croxon) [1983859] - md/raid6: let syndrome computor support different page offset (Nigel Croxon) [1983859] - md/raid5: convert to new xor compution interface (Nigel Croxon) [1983859] - md/raid5: add new xor function to support different page offset (Nigel Croxon) [1983859] - md/raid5: make async_copy_data() to support different page offset (Nigel Croxon) [1983859] - md/raid5: add a new member of offset into r5dev (Nigel Croxon) [1983859] - x86/cpu: Update cached HLE state on write to TSX_CTRL_CPUID_CLEAR (Jay Shin) [1994421] - crypto: ccp - Add support for new CCP/PSP device ID (Vladis Dronov) [1987094] - crypto: ccp - shutdown SEV firmware on kexec (Vladis Dronov) [1987094] - crypto: ccp - Use list_move_tail instead of list_del/list_add_tail in ccp-dmaengine.c (Vladis Dronov) [1987094] - crypto: ccp: ccp-dev: Fix a little doc-rot (Vladis Dronov) [1987094] - crypto: ccp - Fix a resource leak in an error handling path (Vladis Dronov) [1987094] - crypto: ccp - Annotate SEV Firmware file names (Vladis Dronov) [1987094] - crypto: ccp - Make ccp_dev_suspend and ccp_dev_resume void functions (Vladis Dronov) [1987094] - crypto: ccp - Use DEFINE_SPINLOCK() for spinlock (Vladis Dronov) [1987094] - crypto: ccp - A value assigned to a variable is never used (Vladis Dronov) [1987094] - crypto: ccp - Don't initialize SEV support without the SEV feature (Vladis Dronov) [1987094] - crypto: ccp - fix error handling (Vladis Dronov) [1987094] - crypto: ccp - use generic power management (Vladis Dronov) [1987094] - crypto: drivers - set the flag CRYPTO_ALG_ALLOCATES_MEMORY (Vladis Dronov) [1987094] - crypto: ahash - remove useless setting of type flags (Vladis Dronov) [1987094] - crypto: ccp - Silence strncpy warning (Vladis Dronov) [1987094] - crypto: ccp - permit asynchronous skcipher as fallback (Vladis Dronov) [1987094] - crypto: ccp - Fix sparse warnings (Vladis Dronov) [1987094] - crypto: ccp - Update CCP driver maintainer information (Vladis Dronov) [1987094] - crypto: ccp - Fix use of merged scatterlists (Vladis Dronov) [1987094] - crypto: ccp - remove redundant assignment to variable ret (Vladis Dronov) [1987094] - crypto: ccp - use crypto_shash_tfm_digest() (Vladis Dronov) [1987094] - crypto: hash - introduce crypto_shash_tfm_digest() (Vladis Dronov) [1987094] - crypto: ccp -- don't "select" CONFIG_DMADEVICES (Vladis Dronov) [1987094] - crypto: ccp - Update MAINTAINERS for CCP driver (Vladis Dronov) [1987094] - crypto: ccp - switch from ablkcipher to skcipher (Vladis Dronov) [1987094] - ipc: replace costly bailout check in sysvipc_find_ipc() (Rafael Aquini) [1980619 1987128] {CVE-2021-3669} - ipc/util.c: sysvipc_find_ipc() incorrectly updates position index (Rafael Aquini) [1980619 1987128] {CVE-2021-3669} - ipc/util.c: sysvipc_find_ipc() should increase position index (Rafael Aquini) [1980619 1987128] {CVE-2021-3669} - psi: Fix psi state corruption when schedule() races with cgroup move (Waiman Long) [2002025] - psi: Optimize task switch inside shared cgroups (Waiman Long) [2002025] - kthread: Fix PF_KTHREAD vs to_kthread() race (Waiman Long) [2002025] - sched/fair: Ignore percpu threads for imbalance pulls (Waiman Long) [2002025] - sched: Fix get_push_task() vs migrate_disable() (Waiman Long) [2002025] - sched: Don't defer CPU pick to migration_cpu_stop() (Waiman Long) [2002025] - sched: Simplify migration_cpu_stop() (Waiman Long) [2002025] - sched: Simplify set_affinity_pending refcounts (Waiman Long) [2002025] - sched: Fix affine_move_task() self-concurrency (Waiman Long) [2002025] - sched: Optimize migration_cpu_stop() (Waiman Long) [2002025] - sched: Collate affine_move_task() stoppers (Waiman Long) [2002025] - sched: Simplify migration_cpu_stop() (Waiman Long) [2002025] - sched: Fix migration_cpu_stop() requeueing (Waiman Long) [2002025] - sched: Relax the set_cpus_allowed_ptr() semantics (Waiman Long) [2002025] - sched: Fix CPU hotplug / tighten is_per_cpu_kthread() (Waiman Long) [2002025] - sched: Prepare to use balance_push in ttwu() (Waiman Long) [2002025] - workqueue: Restrict affinity change to rescuer (Waiman Long) [2002025] - workqueue: Tag bound workers with KTHREAD_IS_PER_CPU (Waiman Long) [2002025] - kthread: Extract KTHREAD_IS_PER_CPU (Waiman Long) [2002025] - sched: Don't run cpu-online with balance_push() enabled (Waiman Long) [2002025] - workqueue: Use cpu_possible_mask instead of cpu_active_mask to break affinity (Waiman Long) [2002025] - sched/core: Print out straggler tasks in sched_cpu_dying() (Waiman Long) [2002025] - sched: Optimize finish_lock_switch() (Waiman Long) [2002025] - sched: Fix migration_cpu_stop() WARN (Waiman Long) [2002025] - sched/core: Add missing completion for affine_move_task() waiters (Waiman Long) [2002025] - stop_machine, rcu: Mark functions as notrace (Waiman Long) [2002025] - sched: Comment affine_move_task() (Waiman Long) [2002025] - sched: Deny self-issued __set_cpus_allowed_ptr() when migrate_disable() (Waiman Long) [2002025] - sched/proc: Print accurate cpumask vs migrate_disable() (Waiman Long) [2002025] - sched: Make migrate_disable/enable() independent of RT (Waiman Long) [2002025] - sched: Fix migrate_disable() vs rt/dl balancing (Waiman Long) [2002025] - sched, lockdep: Annotate ->pi_lock recursion (Waiman Long) [2002025] - sched,rt: Use the full cpumask for balancing (Waiman Long) [2002025] - sched,rt: Use cpumask_any*_distribute() (Waiman Long) [2002025] - sched/core: Make migrate disable and CPU hotplug cooperative (Waiman Long) [2002025] - sched: Fix migrate_disable() vs set_cpus_allowed_ptr() (Waiman Long) [2002025] - sched: Add migrate_disable() (Waiman Long) [2002025] - sched: Massage set_cpus_allowed() (Waiman Long) [2002025] - sched: Fix hotplug vs CPU bandwidth control (Waiman Long) [2002025] - sched/hotplug: Consolidate task migration on CPU unplug (Waiman Long) [2002025] - workqueue: Manually break affinity on hotplug (Waiman Long) [2002025] - sched/core: Wait for tasks being pushed away on hotplug (Waiman Long) [2002025] - sched/hotplug: Ensure only per-cpu kthreads run during hotplug (Waiman Long) [2002025] - sched: Fix balance_callback() (Waiman Long) [2002025] - maccess: rename probe_kernel_{read,write} to copy_{from,to}_kernel_nofault (Waiman Long) [2002025] - s390/ftrace: fix potential crashes when switching tracers (Waiman Long) [2002025] - psi: Move PF_MEMSTALL out of task->flags (Waiman Long) [2002025] - psi: Optimize switching tasks inside shared cgroups (Waiman Long) [2002025] - psi: Fix cpu.pressure for cpu.max and competing cgroups (Waiman Long) [2002025] - stop_machine: Make stop_cpus() static (Waiman Long) [2002025] - stop_machine: remove try_stop_cpus helper (Waiman Long) [2002025] - kernel.h: Add non_block_start/end() (Waiman Long) [2002025] - processor: get rid of cpu_relax_yield (Waiman Long) [2002025] - processor: remove spin_cpu_yield (Waiman Long) [2002025] - s390: improve wait logic of stop_machine (Waiman Long) [2002025] - sched/core: Fix typo in comment (Waiman Long) [2002025] - ia64/tlb: Eradicate tlb_migrate_finish() callback (Waiman Long) [2002025] - sched/core: Remove unnecessary unlikely() in push_*_task() (Waiman Long) [2002025] - sched/fair: Reduce long-tail newly idle balance cost (Phil Auld) [1971918] - hwmon: (acpi_power_meter) Fix lockdep splat (Waiman Long) [1997807] - redhat: open the RHEL-8.6 development (Augusto Caringi) [2000679] - rcu: Avoid unneeded function call in rcu_read_unlock() (Waiman Long) [1997500] - mt76: connac: do not schedule mac_work if the device is not running (Íñigo Huguet) [1956419 1972045] - mt7921e: enable module in config (Íñigo Huguet) [1956419 1972045] - Revert tools/power/cpupower: Read energy_perf_bias from sysfs (Steve Best) [1999926] - libnvdimm/namespace: Differentiate between probe mapping and runtime mapping (Jeff Moyer) [1795719] - libnvdimm/pfn_dev: Don't clear device memmap area during generic namespace probe (Jeff Moyer) [1795719] - perf/x86/intel/uncore: Clean up error handling path of iio mapping (Michael Petlan) [1837330] - perf/x86/intel/uncore: Fix for iio mapping on Skylake Server (Michael Petlan) [1837330] - perf/x86/intel/uncore: Generic support for the MMIO type of uncore blocks (Michael Petlan) [1837330] - perf/x86/intel/uncore: Generic support for the PCI type of uncore blocks (Michael Petlan) [1837330] - perf/x86/intel/uncore: Rename uncore_notifier to uncore_pci_sub_notifier (Michael Petlan) [1837330] - perf/x86/intel/uncore: Generic support for the MSR type of uncore blocks (Michael Petlan) [1837330] - perf/x86/intel/uncore: Parse uncore discovery tables (Michael Petlan) [1837330] - perf/x86/intel/uncore: Expose an Uncore unit to IIO PMON mapping (Michael Petlan) [1837330] - perf/x86/intel/uncore: Wrap the max dies calculation into an accessor (Michael Petlan) [1837330] - perf/x86/intel/uncore: Expose an Uncore unit to PMON mapping (Michael Petlan) [1837330] - perf/x86/intel/uncore: Validate MMIO address before accessing (Michael Petlan) [1837330] - perf/x86/intel/uncore: Record the size of mapped area (Michael Petlan) [1837330] - perf/x86/intel/uncore: Fix oops when counting IMC uncore events on some TGL (Michael Petlan) [1837330] - crypto: qat - remove unused macro in FW loader (Vladis Dronov) [1920086] - crypto: qat - check return code of qat_hal_rd_rel_reg() (Vladis Dronov) [1920086] - crypto: qat - report an error if MMP file size is too large (Vladis Dronov) [1920086] - crypto: qat - check MMP size before writing to the SRAM (Vladis Dronov) [1920086] - crypto: qat - return error when failing to map FW (Vladis Dronov) [1920086] - crypto: qat - enable detection of accelerators hang (Vladis Dronov) [1920086] - crypto: qat - Fix a double free in adf_create_ring (Vladis Dronov) [1920086] - crypto: qat - fix error path in adf_isr_resource_alloc() (Vladis Dronov) [1920086] - crypto: qat - ADF_STATUS_PF_RUNNING should be set after adf_dev_init (Vladis Dronov) [1920086] - crypto: qat - don't release uninitialized resources (Vladis Dronov) [1920086] - crypto: qat - fix use of 'dma_map_single' (Vladis Dronov) [1920086] - crypto: qat - fix unmap invalid dma address (Vladis Dronov) [1920086] - crypto: qat - fix spelling mistake: "messge" -> "message" (Vladis Dronov) [1920086] - crypto: qat - reduce size of mapped region (Vladis Dronov) [1920086] - crypto: qat - change format string and cast ring size (Vladis Dronov) [1920086] - crypto: qat - fix potential spectre issue (Vladis Dronov) [1920086] - crypto: qat - configure arbiter mapping based on engines enabled (Vladis Dronov) [1920086] - selftest: netfilter: add test case for unreplied tcp connections (Florian Westphal) [1991523] - netfilter: conntrack: do not renew entry stuck in tcp SYN_SENT state (Florian Westphal) [1991523] - net/sched: store the last executed chain also for clsact egress (Davide Caratti) [1980537] - ice: fix Tx queue iteration for Tx timestamp enablement (Ken Cox) [1999743] - perf evsel: Add missing cloning of evsel->use_config_name (Michael Petlan) [1838635] - perf Documentation: Document intel-hybrid support (Michael Petlan) [1838635] - perf tests: Skip 'perf stat metrics (shadow stat) test' for hybrid (Michael Petlan) [1838635] - perf tests: Support 'Convert perf time to TSC' test for hybrid (Michael Petlan) [1838635] - perf tests: Support 'Session topology' test for hybrid (Michael Petlan) [1838635] - perf tests: Support 'Parse and process metrics' test for hybrid (Michael Petlan) [1838635] - perf tests: Support 'Track with sched_switch' test for hybrid (Michael Petlan) [1838635] - perf tests: Skip 'Setup struct perf_event_attr' test for hybrid (Michael Petlan) [1838635] - perf tests: Add hybrid cases for 'Roundtrip evsel->name' test (Michael Petlan) [1838635] - perf tests: Add hybrid cases for 'Parse event definition strings' test (Michael Petlan) [1838635] - perf record: Uniquify hybrid event name (Michael Petlan) [1838635] - perf stat: Warn group events from different hybrid PMU (Michael Petlan) [1838635] - perf stat: Filter out unmatched aggregation for hybrid event (Michael Petlan) [1838635] - perf stat: Add default hybrid events (Michael Petlan) [1838635] - perf record: Create two hybrid 'cycles' events by default (Michael Petlan) [1838635] - perf parse-events: Support event inside hybrid pmu (Michael Petlan) [1838635] - perf parse-events: Compare with hybrid pmu name (Michael Petlan) [1838635] - perf parse-events: Create two hybrid raw events (Michael Petlan) [1838635] - perf parse-events: Create two hybrid cache events (Michael Petlan) [1838635] - perf parse-events: Create two hybrid hardware events (Michael Petlan) [1838635] - perf stat: Uniquify hybrid event name (Michael Petlan) [1838635] - perf pmu: Add hybrid helper functions (Michael Petlan) [1838635] - perf pmu: Save detected hybrid pmus to a global pmu list (Michael Petlan) [1838635] - perf pmu: Save pmu name (Michael Petlan) [1838635] - perf pmu: Simplify arguments of __perf_pmu__new_alias (Michael Petlan) [1838635] - perf jevents: Support unit value "cpu_core" and "cpu_atom" (Michael Petlan) [1838635] - tools headers uapi: Update tools's copy of linux/perf_event.h (Michael Petlan) [1838635]- rcu: Avoid unneeded function call in rcu_read_unlock() (Waiman Long) [1997500] - mt76: connac: do not schedule mac_work if the device is not running (Íñigo Huguet) [1956419 1972045] - mt7921e: enable module in config (Íñigo Huguet) [1956419 1972045] - Revert tools/power/cpupower: Read energy_perf_bias from sysfs (Steve Best) [1999926] - libnvdimm/namespace: Differentiate between probe mapping and runtime mapping (Jeff Moyer) [1795719] - libnvdimm/pfn_dev: Don't clear device memmap area during generic namespace probe (Jeff Moyer) [1795719] - perf/x86/intel/uncore: Clean up error handling path of iio mapping (Michael Petlan) [1837330] - perf/x86/intel/uncore: Fix for iio mapping on Skylake Server (Michael Petlan) [1837330] - perf/x86/intel/uncore: Generic support for the MMIO type of uncore blocks (Michael Petlan) [1837330] - perf/x86/intel/uncore: Generic support for the PCI type of uncore blocks (Michael Petlan) [1837330] - perf/x86/intel/uncore: Rename uncore_notifier to uncore_pci_sub_notifier (Michael Petlan) [1837330] - perf/x86/intel/uncore: Generic support for the MSR type of uncore blocks (Michael Petlan) [1837330] - perf/x86/intel/uncore: Parse uncore discovery tables (Michael Petlan) [1837330] - perf/x86/intel/uncore: Expose an Uncore unit to IIO PMON mapping (Michael Petlan) [1837330] - perf/x86/intel/uncore: Wrap the max dies calculation into an accessor (Michael Petlan) [1837330] - perf/x86/intel/uncore: Expose an Uncore unit to PMON mapping (Michael Petlan) [1837330] - perf/x86/intel/uncore: Validate MMIO address before accessing (Michael Petlan) [1837330] - perf/x86/intel/uncore: Record the size of mapped area (Michael Petlan) [1837330] - perf/x86/intel/uncore: Fix oops when counting IMC uncore events on some TGL (Michael Petlan) [1837330] - crypto: qat - remove unused macro in FW loader (Vladis Dronov) [1920086] - crypto: qat - check return code of qat_hal_rd_rel_reg() (Vladis Dronov) [1920086] - crypto: qat - report an error if MMP file size is too large (Vladis Dronov) [1920086] - crypto: qat - check MMP size before writing to the SRAM (Vladis Dronov) [1920086] - crypto: qat - return error when failing to map FW (Vladis Dronov) [1920086] - crypto: qat - enable detection of accelerators hang (Vladis Dronov) [1920086] - crypto: qat - Fix a double free in adf_create_ring (Vladis Dronov) [1920086] - crypto: qat - fix error path in adf_isr_resource_alloc() (Vladis Dronov) [1920086] - crypto: qat - ADF_STATUS_PF_RUNNING should be set after adf_dev_init (Vladis Dronov) [1920086] - crypto: qat - don't release uninitialized resources (Vladis Dronov) [1920086] - crypto: qat - fix use of 'dma_map_single' (Vladis Dronov) [1920086] - crypto: qat - fix unmap invalid dma address (Vladis Dronov) [1920086] - crypto: qat - fix spelling mistake: "messge" -> "message" (Vladis Dronov) [1920086] - crypto: qat - reduce size of mapped region (Vladis Dronov) [1920086] - crypto: qat - change format string and cast ring size (Vladis Dronov) [1920086] - crypto: qat - fix potential spectre issue (Vladis Dronov) [1920086] - crypto: qat - configure arbiter mapping based on engines enabled (Vladis Dronov) [1920086]- selftest: netfilter: add test case for unreplied tcp connections (Florian Westphal) [1991523] - netfilter: conntrack: do not renew entry stuck in tcp SYN_SENT state (Florian Westphal) [1991523] - net/sched: store the last executed chain also for clsact egress (Davide Caratti) [1980537] - ice: fix Tx queue iteration for Tx timestamp enablement (Ken Cox) [1999743] - perf evsel: Add missing cloning of evsel->use_config_name (Michael Petlan) [1838635] - perf Documentation: Document intel-hybrid support (Michael Petlan) [1838635] - perf tests: Skip 'perf stat metrics (shadow stat) test' for hybrid (Michael Petlan) [1838635] - perf tests: Support 'Convert perf time to TSC' test for hybrid (Michael Petlan) [1838635] - perf tests: Support 'Session topology' test for hybrid (Michael Petlan) [1838635] - perf tests: Support 'Parse and process metrics' test for hybrid (Michael Petlan) [1838635] - perf tests: Support 'Track with sched_switch' test for hybrid (Michael Petlan) [1838635] - perf tests: Skip 'Setup struct perf_event_attr' test for hybrid (Michael Petlan) [1838635] - perf tests: Add hybrid cases for 'Roundtrip evsel->name' test (Michael Petlan) [1838635] - perf tests: Add hybrid cases for 'Parse event definition strings' test (Michael Petlan) [1838635] - perf record: Uniquify hybrid event name (Michael Petlan) [1838635] - perf stat: Warn group events from different hybrid PMU (Michael Petlan) [1838635] - perf stat: Filter out unmatched aggregation for hybrid event (Michael Petlan) [1838635] - perf stat: Add default hybrid events (Michael Petlan) [1838635] - perf record: Create two hybrid 'cycles' events by default (Michael Petlan) [1838635] - perf parse-events: Support event inside hybrid pmu (Michael Petlan) [1838635] - perf parse-events: Compare with hybrid pmu name (Michael Petlan) [1838635] - perf parse-events: Create two hybrid raw events (Michael Petlan) [1838635] - perf parse-events: Create two hybrid cache events (Michael Petlan) [1838635] - perf parse-events: Create two hybrid hardware events (Michael Petlan) [1838635] - perf stat: Uniquify hybrid event name (Michael Petlan) [1838635] - perf pmu: Add hybrid helper functions (Michael Petlan) [1838635] - perf pmu: Save detected hybrid pmus to a global pmu list (Michael Petlan) [1838635] - perf pmu: Save pmu name (Michael Petlan) [1838635] - perf pmu: Simplify arguments of __perf_pmu__new_alias (Michael Petlan) [1838635] - perf jevents: Support unit value "cpu_core" and "cpu_atom" (Michael Petlan) [1838635] - tools headers uapi: Update tools's copy of linux/perf_event.h (Michael Petlan) [1838635]- mptcp: Only send extra TCP acks in eligible socket states (Paolo Abeni) [1997178] - mptcp: fix possible divide by zero (Paolo Abeni) [1997178] - mptcp: drop tx skb cache (Paolo Abeni) [1997178] - mptcp: fix memory leak on address flush (Paolo Abeni) [1997178] - ice: Only lock to update netdev dev_addr (Michal Schmidt) [1995868] - ice: restart periodic outputs around time changes (Ken Cox) [1992750] - ice: Fix perout start time rounding (Ken Cox) [1992750] - net/sched: ets: fix crash when flipping from 'strict' to 'quantum' (Davide Caratti) [1981184] - ovl: prevent private clone if bind mount is not allowed (Miklos Szeredi) [1993131] {CVE-2021-3732} - gfs2: Don't call dlm after protocol is unmounted (Bob Peterson) [1997193] - gfs2: don't stop reads while withdraw in progress (Bob Peterson) [1997193] - gfs2: Mark journal inodes as "don't cache" (Bob Peterson) [1997193] - bpf: bpftool: Add -fno-asynchronous-unwind-tables to BPF Clang invocation (Yauheni Kaliuta) [1997124] - perf/x86/intel: Apply mid ACK for small core (Michael Petlan) [1838573] - perf/x86/intel/lbr: Zero the xstate buffer on allocation (Michael Petlan) [1838573] - perf: Fix task context PMU for Hetero (Michael Petlan) [1838573] - perf/x86/intel: Fix fixed counter check warning for some Alder Lake (Michael Petlan) [1838573] - perf/x86/lbr: Remove cpuc->lbr_xsave allocation from atomic context (Michael Petlan) [1838573] - x86/fpu/xstate: Fix an xstate size check warning with architectural LBRs (Michael Petlan) [1838573] - perf/x86/rapl: Add support for Intel Alder Lake (Michael Petlan) [1838573] - perf/x86/cstate: Add Alder Lake CPU support (Michael Petlan) [1838573] - perf/x86/msr: Add Alder Lake CPU support (Michael Petlan) [1838573] - perf/x86/intel/uncore: Add Alder Lake support (Michael Petlan) [1838573] - perf: Extend PERF_TYPE_HARDWARE and PERF_TYPE_HW_CACHE (Michael Petlan) [1838573] - perf/x86/intel: Add Alder Lake Hybrid support (Michael Petlan) [1838573] - perf/x86: Support filter_match callback (Michael Petlan) [1838573] - perf/x86/intel: Add attr_update for Hybrid PMUs (Michael Petlan) [1838573] - perf/x86: Add structures for the attributes of Hybrid PMUs (Michael Petlan) [1838573] - perf/x86: Register hybrid PMUs (Michael Petlan) [1838573] - perf/x86: Factor out x86_pmu_show_pmu_cap (Michael Petlan) [1838573] - perf/x86: Remove temporary pmu assignment in event_init (Michael Petlan) [1838573] - perf/x86/intel: Factor out intel_pmu_check_extra_regs (Michael Petlan) [1838573] - perf/x86/intel: Factor out intel_pmu_check_event_constraints (Michael Petlan) [1838573] - perf/x86/intel: Factor out intel_pmu_check_num_counters (Michael Petlan) [1838573] - perf/x86: Hybrid PMU support for extra_regs (Michael Petlan) [1838573] - perf/x86: Hybrid PMU support for event constraints (Michael Petlan) [1838573] - perf/x86: Hybrid PMU support for hardware cache event (Michael Petlan) [1838573] - perf/x86: Hybrid PMU support for unconstrained (Michael Petlan) [1838573] - perf/x86: Hybrid PMU support for counters (Michael Petlan) [1838573] - perf/x86: Hybrid PMU support for intel_ctrl (Michael Petlan) [1838573] - perf/x86/intel: Hybrid PMU support for perf capabilities (Michael Petlan) [1838573] - perf/x86: Track pmu in per-CPU cpu_hw_events (Michael Petlan) [1838573] - perf/x86/intel/lbr: Support XSAVES for arch LBR read (Michael Petlan) [1838573] - perf/x86/intel/lbr: Support XSAVES/XRSTORS for LBR context switch (Michael Petlan) [1838573] - x86/fpu/xstate: Add helpers for LBR dynamic supervisor feature (Michael Petlan) [1838573] - x86/fpu/xstate: Support dynamic supervisor feature for LBR (Michael Petlan) [1838573] - x86/fpu: Use proper mask to replace full instruction mask (Michael Petlan) [1838573] - x86/cpu: Add helper function to get the type of the current hybrid CPU (Michael Petlan) [1838573] - x86/cpufeatures: Enumerate Intel Hybrid Technology feature bit (Michael Petlan) [1838573] - HID: make arrays usage and value to be the same (Benjamin Tissoires) [1974942] - ACPI: PM: s2idle: Invert Microsoft UUID entry and exit (David Arcari) [1960440] - platform/x86: amd-pmc: Fix undefined reference to __udivdi3 (David Arcari) [1960440] - platform/x86: amd-pmc: Fix missing unlock on error in amd_pmc_send_cmd() (David Arcari) [1960440] - platform/x86: amd-pmc: Use return code on suspend (David Arcari) [1960440] - platform/x86: amd-pmc: Add new acpi id for future PMC controllers (David Arcari) [1960440] - platform/x86: amd-pmc: Add support for ACPI ID AMDI0006 (David Arcari) [1960440] - platform/x86: amd-pmc: Add support for logging s0ix counters (David Arcari) [1960440] - platform/x86: amd-pmc: Add support for logging SMU metrics (David Arcari) [1960440] - platform/x86: amd-pmc: call dump registers only once (David Arcari) [1960440] - platform/x86: amd-pmc: Fix SMU firmware reporting mechanism (David Arcari) [1960440] - platform/x86: amd-pmc: Fix command completion code (David Arcari) [1960440] - usb: pci-quirks: disable D3cold on xhci suspend for s2idle on AMD Renoir (David Arcari) [1960440] - ACPI: PM: Only mark EC GPE for wakeup on Intel systems (David Arcari) [1960440] - ACPI: PM: Adjust behavior for field problems on AMD systems (David Arcari) [1960440] - ACPI: PM: s2idle: Add support for new Microsoft UUID (David Arcari) [1960440] - ACPI: PM: s2idle: Add support for multiple func mask (David Arcari) [1960440] - ACPI: PM: s2idle: Refactor common code (David Arcari) [1960440] - ACPI: PM: s2idle: Use correct revision id (David Arcari) [1960440] - ACPI: PM: s2idle: Add missing LPS0 functions for AMD (David Arcari) [1960440] - lockd: Fix invalid lockowner cast after vfs_test_lock (Benjamin Coddington) [1986138]- blk-mq: fix is_flush_rq (Ming Lei) [1992700] - blk-mq: fix kernel panic during iterating over flush request (Ming Lei) [1992700]- smb2: fix use-after-free in smb2_ioctl_query_info() (Ronnie Sahlberg) [1952781] - dm crypt: Avoid percpu_counter spinlock contention in crypt_page_alloc() (Mike Snitzer) [1996854] - md/raid10: Remove rcu_dereference when it doesn't need rcu lock to protect (Nigel Croxon) [1978115] - scsi: csiostor: Mark known unused variable as __always_unused (Raju Rangoju) [1961333] - scsi: csiostor: Fix wrong return value in csio_hw_prep_fw() (Raju Rangoju) [1961333] - scsi: csiostor: Remove set but not used variable 'rln' (Raju Rangoju) [1961333] - scsi: csiostor: Return value not required for csio_dfs_destroy (Raju Rangoju) [1961333] - scsi: csiostor: Fix NULL check before debugfs_remove_recursive (Raju Rangoju) [1961333] - scsi: csiostor: Don't enable IRQs too early (Raju Rangoju) [1961333] - scsi: csiostor: Fix spelling typos (Raju Rangoju) [1961333] - scsi: csiostor: Prefer pcie_capability_read_word() (Raju Rangoju) [1961333] - scsi: target: cxgbit: Unmap DMA buffer before calling target_execute_cmd() (Raju Rangoju) [1961394] - net: Use skb_frag_off accessors (Raju Rangoju) [1961394] - net: Use skb accessors in network drivers (Raju Rangoju) [1961394] - cxgb4/chtls/cxgbit: Keeping the max ofld immediate data size same in cxgb4 and ulds (Raju Rangoju) [1961394] - scsi: libcxgbi: Fix a use after free in cxgbi_conn_xmit_pdu() (Raju Rangoju) [1961394] - scsi: libcxgbi: Use kvzalloc instead of opencoded kzalloc/vzalloc (Raju Rangoju) [1961394] - scsi: libcxgbi: Remove unnecessary NULL checks for 'tdata' pointer (Raju Rangoju) [1961394] - scsi: cxgb4i: Remove an unnecessary NULL check for 'cconn' pointer (Raju Rangoju) [1961394] - scsi: cxgb4i: Clean up a debug printk (Raju Rangoju) [1961394] - scsi: cxgb4i: Fix dereference of pointer tdata before it is null checked (Raju Rangoju) [1961394] - scsi: libcxgbi: fix NULL pointer dereference in cxgbi_device_destroy() (Raju Rangoju) [1961394] - scsi: libcxgbi: remove unused function to stop warning (Raju Rangoju) [1961394] - scsi: libcxgbi: add a check for NULL pointer in cxgbi_check_route() (Raju Rangoju) [1961394] - net/chelsio: Delete drive and module versions (Raju Rangoju) [1961394] - chelsio: Replace zero-length array with flexible-array member (Raju Rangoju) [1961394] - [netdrv] treewide: prefix header search paths with $(srctree)/ (Raju Rangoju) [1961394] - libcxgb: fix incorrect ppmax calculation (Raju Rangoju) [1961394] - scsi: cxgb4i: Fix TLS dependency (Raju Rangoju) [1961394] - [target] treewide: Use fallthrough pseudo-keyword (Raju Rangoju) [1961394] - scsi: cxgb4i: Add support for iSCSI segmentation offload (Raju Rangoju) [1961394] - [target] treewide: Use sizeof_field() macro (Raju Rangoju) [1961394] - [target] treewide: replace '---help---' in Kconfig files with 'help' (Raju Rangoju) [1961394] - scsi: cxgb4i: Remove superfluous null check (Raju Rangoju) [1961394]- KVM: nSVM: avoid picking up unsupported bits from L2 in int_ctl (CVE-2021-3653) (Jon Maloy) [1985413] {CVE-2021-3653} - KVM: nSVM: always intercept VMLOAD/VMSAVE when nested (CVE-2021-3656) (Jon Maloy) [1985430] {CVE-2021-3656} - drm/i915/rkl: Remove require_force_probe protection (Lyude Paul) [1985159] - drm/i915/display: support ddr5 mem types (Lyude Paul) [1992233] - drm/i915/adl_s: Update ddi buf translation tables (Lyude Paul) [1992233] - drm/i915/adl_s: Wa_14011765242 is also needed on A1 display stepping (Lyude Paul) [1992233] - drm/i915/adl_s: Extend Wa_1406941453 (Lyude Paul) [1992233] - drm/i915: Implement Wa_1508744258 (Lyude Paul) [1992233] - drm/i915/adl_s: Fix dma_mask_size to 39 bit (Lyude Paul) [1992233] - drm/i915: Add the missing adls vswing tables (Lyude Paul) [1992233] - drm/i915: Add Wa_14011060649 (Lyude Paul) [1992233] - drm/i915/adl_s: Add Interrupt Support (Lyude Paul) [1992233] - drm/amdgpu: add another Renoir DID (Lyude Paul) [1980900]- net/mlx5: Fix flow table chaining (Amir Tzin) [1987139] - openvswitch: fix sparse warning incorrect type (Mark Gray) [1992773] - openvswitch: fix alignment issues (Mark Gray) [1992773] - openvswitch: update kdoc OVS_DP_ATTR_PER_CPU_PIDS (Mark Gray) [1992773] - openvswitch: Introduce per-cpu upcall dispatch (Mark Gray) [1992773] - KVM: X86: Expose bus lock debug exception to guest (Paul Lai) [1842322] - KVM: X86: Add support for the emulation of DR6_BUS_LOCK bit (Paul Lai) [1842322] - scsi: libfc: Fix array index out of bound exception (Chris Leech) [1972643] - scsi: libfc: FDMI enhancements (Chris Leech) [1972643] - scsi: libfc: Add FDMI-2 attributes (Chris Leech) [1972643] - scsi: qedf: Add vendor identifier attribute (Chris Leech) [1972643] - scsi: libfc: Initialisation of RHBA and RPA attributes (Chris Leech) [1972643] - scsi: libfc: Correct the condition check and invalid argument passed (Chris Leech) [1972643] - scsi: libfc: Work around -Warray-bounds warning (Chris Leech) [1972643] - scsi: fc: FDMI enhancement (Chris Leech) [1972643] - scsi: libfc: Move scsi/fc_encode.h to libfc (Chris Leech) [1972643] - scsi: fc: Correct RHBA attributes length (Chris Leech) [1972643] - block: return ELEVATOR_DISCARD_MERGE if possible (Ming Lei) [1991976] - x86/fpu: Prevent state corruption in __fpu__restore_sig() (Terry Bowman) [1970086] - x86/fpu: Invalidate FPU state after a failed XRSTOR from a user buffer (Terry Bowman) [1970086] - x86/pkru: Write hardware init value to PKRU when xstate is init (Terry Bowman) [1970086] - x86/process: Check PF_KTHREAD and not current->mm for kernel threads (Terry Bowman) [1970086] - x86/fpu: Add address range checks to copy_user_to_xstate() (Terry Bowman) [1970086] - selftests/x86: Test signal frame XSTATE header corruption handling (Terry Bowman) [1970086] - Bump DRM backport version to 5.12.14 (Lyude Paul) [1944405] - drm/i915: Use the correct max source link rate for MST (Lyude Paul) [1944405 1966599] - drm/dp_mst: Use Extended Base Receiver Capability DPCD space (Lyude Paul) [1944405 1966599] - drm/i915/display: Defeature PSR2 for RKL and ADL-S (Lyude Paul) [1944405] - drm/i915/adl_s: ADL-S platform Update PCI ids for Mobile BGA (Lyude Paul) [1944405] - drm/amdgpu: wait for moving fence after pinning (Lyude Paul) [1944405] - drm/radeon: wait for moving fence after pinning (Lyude Paul) [1944405] - drm/nouveau: wait for moving fence after pinning v2 (Lyude Paul) [1944405] - radeon: use memcpy_to/fromio for UVD fw upload (Lyude Paul) [1944405] - drm/amd/amdgpu:save psp ring wptr to avoid attack (Lyude Paul) [1944405] - drm/amd/display: Fix potential memory leak in DMUB hw_init (Lyude Paul) [1944405] - drm/amdgpu: refine amdgpu_fru_get_product_info (Lyude Paul) [1944405] - drm/amd/display: Allow bandwidth validation for 0 streams. (Lyude Paul) [1944405] - drm: Lock pointer access in drm_master_release() (Lyude Paul) [1944405] - drm: Fix use-after-free read in drm_getunique() (Lyude Paul) [1944405] - drm/amdgpu: make sure we unpin the UVD BO (Lyude Paul) [1944405] - drm/amdgpu: Don't query CE and UE errors (Lyude Paul) [1944405] - drm/amdgpu/jpeg3: add cancel_delayed_work_sync before power gate (Lyude Paul) [1944405] - drm/amdgpu/jpeg2.5: add cancel_delayed_work_sync before power gate (Lyude Paul) [1944405] - drm/amdgpu/vcn3: add cancel_delayed_work_sync before power gate (Lyude Paul) [1944405] - amdgpu: fix GEM obj leak in amdgpu_display_user_framebuffer_create (Lyude Paul) [1944405] - drm/i915/selftests: Fix return value check in live_breadcrumbs_smoketest() (Lyude Paul) [1944405] - drm/amdgpu: stop touching sched.ready in the backend (Lyude Paul) [1944405] - drm/amd/amdgpu: fix a potential deadlock in gpu reset (Lyude Paul) [1944405] - drm/amdgpu: Fix a use-after-free (Lyude Paul) [1944405] - drm/amd/amdgpu: fix refcount leak (Lyude Paul) [1944405] - drm/amd/display: Disconnect non-DP with no EDID (Lyude Paul) [1944405] - drm/amdgpu/jpeg2.0: add cancel_delayed_work_sync before power gate (Lyude Paul) [1944405] - drm/amdgpu/vcn2.5: add cancel_delayed_work_sync before power gate (Lyude Paul) [1944405] - drm/amdgpu/vcn2.0: add cancel_delayed_work_sync before power gate (Lyude Paul) [1944405] - drm/amdkfd: correct sienna_cichlid SDMA RLC register offset error (Lyude Paul) [1944405] - drm/amdgpu/vcn1: add cancel_delayed_work_sync before power gate (Lyude Paul) [1944405] - drm/amd/pm: correct MGpuFanBoost setting (Lyude Paul) [1944405] - drm/i915: Reenable LTTPR non-transparent LT mode for DPCD_REV<1.4 (Lyude Paul) [1944405] - drm/i915/gt: Disable HiZ Raw Stall Optimization on broken gen7 (Lyude Paul) [1944405] - dma-buf: fix unintended pin/unpin warnings (Lyude Paul) [1944405] - drm/amdgpu: update sdma golden setting for Navi12 (Lyude Paul) [1944405] - drm/amdgpu: update gc golden setting for Navi12 (Lyude Paul) [1944405] - drm/amdgpu: disable 3DCGCG on picasso/raven1 to avoid compute hang (Lyude Paul) [1944405] - drm/amdgpu: Fix GPU TLB update error when PAGE_SIZE > AMDGPU_PAGE_SIZE (Lyude Paul) [1944405] - drm/radeon: use the dummy page for GART if needed (Lyude Paul) [1944405] - drm/amd/display: Use the correct max downscaling value for DCN3.x family (Lyude Paul) [1944405] - drm/i915/gem: Pin the L-shape quirked object as unshrinkable (Lyude Paul) [1944405] - drm/ttm: Do not add non-system domain BO into swap list (Lyude Paul) [1944405] - drm/amd/display: Fix two cursor duplication when using overlay (Lyude Paul) [1944405] - amdgpu/pm: Prevent force of DCEFCLK on NAVI10 and SIENNA_CICHLID (Lyude Paul) [1944405] - drm/i915/display: fix compiler warning about array overrun (Lyude Paul) [1944405] - drm/i915: Fix crash in auto_retire (Lyude Paul) [1944405] - drm/i915/overlay: Fix active retire callback alignment (Lyude Paul) [1944405] - drm/i915: Read C0DRB3/C1DRB3 as 16 bits again (Lyude Paul) [1944405] - drm/i915/gt: Fix a double free in gen8_preallocate_top_level_pdp (Lyude Paul) [1944405] - drm/i915/dp: Use slow and wide link training for everything (Lyude Paul) [1944405] - drm/i915: Avoid div-by-zero on gen2 (Lyude Paul) [1944405] - drm/amd/display: Initialize attribute for hdcp_srm sysfs file (Lyude Paul) [1944405] - drm/radeon/dpm: Disable sclk switching on Oland when two 4K 60Hz monitors are connected (Lyude Paul) [1944405] - drm/radeon: Avoid power table parsing memory leaks (Lyude Paul) [1944405] - drm/radeon: Fix off-by-one power_state index heap overwrite (Lyude Paul) [1944405] - drm/amdgpu: Add mem sync flag for IB allocated by SA (Lyude Paul) [1944405] - drm/amd/display: add handling for hdcp2 rx id list validation (Lyude Paul) [1944405] - drm/amd/display: fixed divide by zero kernel crash during dsc enablement (Lyude Paul) [1944405] - drm/amd/display: Force vsync flip when reconfiguring MPCC (Lyude Paul) [1944405] - arm64: enable tlbi range instructions (Jeremy Linton) [1861872] - arm64: tlb: Use the TLBI RANGE feature in arm64 (Jeremy Linton) [1861872] - arm64: tlb: Detect the ARMv8.4 TLBI RANGE feature (Jeremy Linton) [1861872] - arm64/cpufeature: Add remaining feature bits in ID_AA64ISAR0 register (Jeremy Linton) [1861872] - arm64: tlbflush: Ensure start/end of address range are aligned to stride (Jeremy Linton) [1861872] - arm64: Detect the ARMv8.4 TTL feature (Jeremy Linton) [1861872] - arm64: tlbi: Set MAX_TLBI_OPS to PTRS_PER_PTE (Jeremy Linton) [1861872]- bpf: Fix integer overflow involving bucket_size (Jiri Olsa) [1992588] - bpf: Fix leakage due to insufficient speculative store bypass mitigation (Jiri Olsa) [1992588] - bpf: Introduce BPF nospec instruction for mitigating Spectre v4 (Jiri Olsa) [1992588] - bpf: Fix OOB read when printing XDP link fdinfo (Jiri Olsa) [1992588] - bpf, test: fix NULL pointer dereference on invalid expected_attach_type (Jiri Olsa) [1992588] - bpf: Fix tail_call_reachable rejection for interpreter when jit failed (Jiri Olsa) [1992588] - bpf: Track subprog poke descriptors correctly and fix use-after-free (Jiri Olsa) [1992588] - bpf: Fix null ptr deref with mixed tail calls and subprogs (Jiri Olsa) [1992588] - bpf: Fix leakage under speculation on mispredicted branches (Jiri Olsa) [1992588] - bpf: Set mac_len in bpf_skb_change_head (Jiri Olsa) [1992588] - bpf: Prevent writable memory-mapping of read-only ringbuf pages (Jiri Olsa) [1992588] - bpf: Fix alu32 const subreg bound tracking on bitwise operations (Jiri Olsa) [1992588] - xsk: Fix broken Tx ring validation (Jiri Olsa) [1992588] - xsk: Fix for xp_aligned_validate_desc() when len == chunk_size (Jiri Olsa) [1992588] - bpf: link: Refuse non-O_RDWR flags in BPF_OBJ_GET (Jiri Olsa) [1992588] - bpf: Refcount task stack in bpf_get_task_stack (Jiri Olsa) [1992588] - bpf: Use NOP_ATOMIC5 instead of emit_nops(&prog, 5) for BPF_TRAMP_F_CALL_ORIG (Jiri Olsa) [1992588] - selftest/bpf: Add a test to check trampoline freeing logic. (Jiri Olsa) [1992588] - bpf: Fix fexit trampoline. (Jiri Olsa) [1992588] - ftrace: Fix modify_ftrace_direct. (Jiri Olsa) [1992588] - ftrace: Add a helper function to modify_ftrace_direct() to allow arch optimization (Jiri Olsa) [1992588] - ftrace: Add helper find_direct_entry() to consolidate code (Jiri Olsa) [1992588] - bpf: Fix truncation handling for mod32 dst reg wrt zero (Jiri Olsa) [1992588] - bpf: Fix an unitialized value in bpf_iter (Jiri Olsa) [1992588] - bpf_lru_list: Read double-checked variable once without lock (Jiri Olsa) [1992588] - mt76: validate rx A-MSDU subframes (Íñigo Huguet) [1991459] {CVE-2020-24588 CVE-2020-26144} - ath11k: Drop multicast fragments (Íñigo Huguet) [1991459] {CVE-2020-26145} - ath11k: Clear the fragment cache during key install (Íñigo Huguet) [1991459] {CVE-2020-24587} - ath10k: Validate first subframe of A-MSDU before processing the list (Íñigo Huguet) [1991459] {CVE-2020-24588 CVE-2020-26144} - ath10k: Fix TKIP Michael MIC verification for PCIe (Íñigo Huguet) [1991459] {CVE-2020-26141} - ath10k: drop MPDU which has discard flag set by firmware for SDIO (Íñigo Huguet) [1991459] {CVE-2020-24588} - ath10k: drop fragments with multicast DA for SDIO (Íñigo Huguet) [1991459] {CVE-2020-26145} - ath10k: drop fragments with multicast DA for PCIe (Íñigo Huguet) [1991459] {CVE-2020-26145} - ath10k: add CCMP PN replay protection for fragmented frames for PCIe (Íñigo Huguet) [1991459] - mac80211: extend protection against mixed key and fragment cache attacks (Íñigo Huguet) [1991459] {CVE-2020-24586 CVE-2020-24587} - mac80211: do not accept/forward invalid EAPOL frames (Íñigo Huguet) [1991459] {CVE-2020-26139} - mac80211: prevent attacks on TKIP/WEP as well (Íñigo Huguet) [1991459] {CVE-2020-26141} - mac80211: check defrag PN against current frame (Íñigo Huguet) [1991459] - mac80211: add fragment cache to sta_info (Íñigo Huguet) [1991459] {CVE-2020-24586 CVE-2020-24587} - mac80211: drop A-MSDUs on old ciphers (Íñigo Huguet) [1991459] {CVE-2020-24588} - cfg80211: mitigate A-MSDU aggregation attacks (Íñigo Huguet) [1991459] {CVE-2020-24588 CVE-2020-26144} - mac80211: properly handle A-MSDUs that start with an RFC 1042 header (Íñigo Huguet) [1991459] - mac80211: prevent mixed key and fragment cache attacks (Íñigo Huguet) [1991459] {CVE-2020-24586 CVE-2020-24587} - mac80211: assure all fragments are encrypted (Íñigo Huguet) [1991459] {CVE-2020-26147} - tipc: call tipc_wait_for_connect only when dlen is not 0 (Xin Long) [1989361] - mptcp: remove tech preview warning (Florian Westphal) [1985120] - tcp: consistently disable header prediction for mptcp (Florian Westphal) [1985120] - selftests: mptcp: fix case multiple subflows limited by server (Florian Westphal) [1985120] - selftests: mptcp: turn rp_filter off on each NIC (Florian Westphal) [1985120] - selftests: mptcp: display proper reason to abort tests (Florian Westphal) [1985120] - mptcp: properly account bulk freed memory (Florian Westphal) [1985120] - mptcp: fix 'masking a bool' warning (Florian Westphal) [1985120] - mptcp: refine mptcp_cleanup_rbuf (Florian Westphal) [1985120] - mptcp: use fast lock for subflows when possible (Florian Westphal) [1985120] - mptcp: avoid processing packet if a subflow reset (Florian Westphal) [1985120] - mptcp: add sk parameter for mptcp_get_options (Florian Westphal) [1985120] - mptcp: fix syncookie process if mptcp can not_accept new subflow (Florian Westphal) [1985120] - mptcp: fix warning in __skb_flow_dissect() when do syn cookie for subflow join (Florian Westphal) [1985120] - mptcp: avoid race on msk state changes (Florian Westphal) [1985120] - mptcp: fix 32 bit DSN expansion (Florian Westphal) [1985120] - mptcp: fix bad handling of 32 bit ack wrap-around (Florian Westphal) [1985120] - tcp: parse mptcp options contained in reset packets (Florian Westphal) [1985120] - ionic: count csum_none when offload enabled (Jonathan Toppins) [1991646] - ionic: fix up dim accounting for tx and rx (Jonathan Toppins) [1991646] - ionic: remove intr coalesce update from napi (Jonathan Toppins) [1991646] - ionic: catch no ptp support earlier (Jonathan Toppins) [1991646] - ionic: make all rx_mode work threadsafe (Jonathan Toppins) [1991646] - dmaengine: idxd: Fix missing error code in idxd_cdev_open() (Jerry Snitselaar) [1990637] - dmaengine: idxd: add missing dsa driver unregister (Jerry Snitselaar) [1990637] - dmaengine: idxd: add engine 'struct device' missing bus type assignment (Jerry Snitselaar) [1990637] - dmaengine: idxd: remove MSIX masking for interrupt handlers (Jerry Snitselaar) [1990637] - dmaengine: idxd: Use cpu_feature_enabled() (Jerry Snitselaar) [1990637] - dmaengine: idxd: enable SVA feature for IOMMU (Jerry Snitselaar) [1990637] - dmagenine: idxd: Don't add portal offset in idxd_submit_desc (Jerry Snitselaar) [1990637] - ethtool: strset: fix message length calculation (Balazs Nemeth) [1989003] - net: add strict checks in netdev_name_node_alt_destroy() (Andrea Claudi) [1859038] - net: rtnetlink: fix bugs in rtnl_alt_ifname() (Andrea Claudi) [1859038] - net: rtnetlink: add linkprop commands to add and delete alternative ifnames (Andrea Claudi) [1859038] - net: check all name nodes in __dev_alloc_name (Andrea Claudi) [1859038] - net: fix a leak in register_netdevice() (Andrea Claudi) [1859038] - tun: fix memory leak in error path (Andrea Claudi) [1859038] - net: propagate errors correctly in register_netdevice() (Andrea Claudi) [1859038] - net: introduce name_node struct to be used in hashlist (Andrea Claudi) [1859038] - net: procfs: use index hashlist instead of name hashlist (Andrea Claudi) [1859038] - configs: Enable CONFIG_CHELSIO_INLINE_CRYPTO (Raju Rangoju) [1961368] - cxgb4/ch_ktls: Clear resources when pf4 device is removed (Raju Rangoju) [1961374] - ch_ktls: Remove redundant variable result (Raju Rangoju) [1961374] - ch_ktls: do not send snd_una update to TCB in middle (Raju Rangoju) [1961374] - ch_ktls: tcb close causes tls connection failure (Raju Rangoju) [1961374] - ch_ktls: fix device connection close (Raju Rangoju) [1961374] - ch_ktls: Fix kernel panic (Raju Rangoju) [1961374] - ch_ktls: fix enum-conversion warning (Raju Rangoju) [1961374] - net: ethernet: chelsio: inline_crypto: Mundane typos fixed throughout the file chcr_ktls.c (Raju Rangoju) [1961374] - ch_ipsec: Remove initialization of rxq related data (Raju Rangoju) [1961388] - ch_ktls: fix build warning for ipv4-only config (Raju Rangoju) [1961374] - ch_ktls: lock is not freed (Raju Rangoju) [1961374] - ch_ktls: stop the txq if reaches threshold (Raju Rangoju) [1961374] - ch_ktls: tcb update fails sometimes (Raju Rangoju) [1961374] - ch_ktls/cxgb4: handle partial tag alone SKBs (Raju Rangoju) [1961374] - ch_ktls: don't free skb before sending FIN (Raju Rangoju) [1961374] - ch_ktls: packet handling prior to start marker (Raju Rangoju) [1961374] - ch_ktls: Correction in middle record handling (Raju Rangoju) [1961374] - ch_ktls: missing handling of header alone (Raju Rangoju) [1961374] - ch_ktls: Correction in trimmed_len calculation (Raju Rangoju) [1961374] - cxgb4/ch_ktls: creating skbs causes panic (Raju Rangoju) [1961374] - ch_ktls: Update cheksum information (Raju Rangoju) [1961374] - ch_ktls: Correction in finding correct length (Raju Rangoju) [1961374] - cxgb4/ch_ktls: decrypted bit is not enough (Raju Rangoju) [1961374] - cxgb4/ch_ipsec: Replace the module name to ch_ipsec from chcr (Raju Rangoju) [1961388] - cxgb4/ch_ktls: ktls stats are added at port level (Raju Rangoju) [1961374] - ch_ktls: Issue if connection offload fails (Raju Rangoju) [1961374] - chelsio/chtls: Re-add dependencies on CHELSIO_T4 to fix modular CHELSIO_T4 (Raju Rangoju) [1961388] - chelsio/chtls: CHELSIO_INLINE_CRYPTO should depend on CHELSIO_T4 (Raju Rangoju) [1961388] - crypto: chelsio - fix minor indentation issue (Raju Rangoju) [1961368] - crypto/chcr: move nic TLS functionality to drivers/net (Raju Rangoju) [1961368] - cxgb4/ch_ipsec: Registering xfrmdev_ops with cxgb4 (Raju Rangoju) [1961388] - crypto/chcr: Moving chelsio's inline ipsec functionality to /drivers/net (Raju Rangoju) [1961368] - chelsio/chtls: separate chelsio tls driver from crypto driver (Raju Rangoju) [1961368] - crypto: chelsio - Fix some pr_xxx messages (Raju Rangoju) [1961368] - crypto: chelsio - Avoid some code duplication (Raju Rangoju) [1961368] - crypto: drivers - set the flag CRYPTO_ALG_ALLOCATES_MEMORY (Raju Rangoju) [1961368] - crypto: aead - remove useless setting of type flags (Raju Rangoju) [1961368] - crypto: Replace zero-length array with flexible-array (Raju Rangoju) [1961368] - [Crypto] treewide: replace '---help---' in Kconfig files with 'help' (Raju Rangoju) [1961368] - Crypto/chcr: Checking cra_refcnt before unregistering the algorithms (Raju Rangoju) [1961368] - Crypto/chcr: Calculate src and dst sg lengths separately for dma map (Raju Rangoju) [1961368] - Crypto/chcr: Fixes a coccinile check error (Raju Rangoju) [1961368] - Crypto/chcr: Fixes compilations warnings (Raju Rangoju) [1961368] - crypto/chcr: IPV6 code needs to be in CONFIG_IPV6 (Raju Rangoju) [1961368] - crypto: lib/sha1 - remove unnecessary includes of linux/cryptohash.h (Raju Rangoju) [1961368] - Crypto/chcr: fix for hmac(sha) test fails (Raju Rangoju) [1961368] - Crypto/chcr: fix for ccm(aes) failed test (Raju Rangoju) [1961368] - Crypto/chcr: fix ctr, cbc, xts and rfc3686-ctr failed tests (Raju Rangoju) [1961368] - crypto: chelsio - remove redundant assignment to variable error (Raju Rangoju) [1961368] - chcr: Fix CPU hard lockup (Raju Rangoju) [1961368] - crypto: remove CRYPTO_TFM_RES_BAD_KEY_LEN (Raju Rangoju) [1961368] - crypto: chelsio - switch to skcipher API (Raju Rangoju) [1961368] - crypto: chelsio - Remove VLA usage of skcipher (Raju Rangoju) [1961368]- tracing: Fix bug in rb_per_cpu_empty() that might cause deadloop. (Chris von Recklinghausen) [1989485] {CVE-2021-3679} - vmlinux.lds.h: Keep .ctors.* with .ctors (Jan Stancek) [1993208] - spi: pxa2xx: Add support for Intel Alder Lake PCH-P (Steve Best) [1978463] - bnxt_en: allow promiscuous mode for trusted VFs (Jonathan Toppins) [1730616] - arm64: memory: Add missing brackets to untagged_addr() macro (Chris von Recklinghausen) [1955809] - arm64: tags: Preserve tags for addresses translated via TTBR1 (Chris von Recklinghausen) [1955809] - arm64: entry: Move ct_user_exit before any other exception (Chris von Recklinghausen) [1955809] - arm64: memory: Implement __tag_set() as common function (Chris von Recklinghausen) [1955809] - arm64: mm: Really fix sparse warning in untagged_addr() (Chris von Recklinghausen) [1955809] - arm64: untag user pointers in access_ok and __uaccess_mask_ptr (Chris von Recklinghausen) [1955809] - arm64/mm: fix variable 'tag' set but not used (Chris von Recklinghausen) [1955809] - arm64: entry: SP Alignment Fault doesn't write to FAR_EL1 (Chris von Recklinghausen) [1955809] - arm64: compat: Add separate CP15 trapping hook (Chris von Recklinghausen) [1955809] - arm64: don't restore GPRs when context tracking (Chris von Recklinghausen) [1955809]- bareudp: Fix invalid read beyond skb's linear data (Guillaume Nault) [1990938] - perf/x86/amd: Don't touch the AMD64_EVENTSEL_HOSTONLY bit inside the guest (Michael Petlan) [1990695] - net: dcb: Accept RTM_GETDCB messages carrying set-like DCB commands (Balazs Nemeth) [1956825] - net: dcb: Validate netlink message in DCB handler (Balazs Nemeth) [1956825] - xfrm: Fix RCU vs hash_resize_mutex lock inversion (Sabrina Dubroca) [1988405] - Revert "xfrm: policy: Read seqcount outside of rcu-read side in xfrm_policy_lookup_bytype" (Sabrina Dubroca) [1988405] - xfrm: policy: Read seqcount outside of rcu-read side in xfrm_policy_lookup_bytype (Sabrina Dubroca) [1988405] - [s390] s390/AP: support new dynamic AP bus size limit (Claudio Imbrenda) [1974581] - net: sched: act_mirred: Reset ct info when mirror/redirect skb (Hangbin Liu) [1980532] - ucounts: Move max_time_namespace according to ucount_type (Alex Gladkov) [1982954] - perf vendor events power10: Adds 24x7 nest metric events for power10 platform (Diego Domingos) [1946650] - perf/core: fix backport of PERF_SAMPLE_WEIGHT_STRUCT (Diego Domingos) [1946650] - perf/core: Add support for PERF_SAMPLE_CODE_PAGE_SIZE (Diego Domingos) [1946650] - perf vendor events powerpc: Fix eventcode of power10 JSON events (Diego Domingos) [1946650] - perf vendor events: Initial JSON/events list for power10 platform (Diego Domingos) [1946650] - powerpc/perf: Fix sampled instruction type for larx/stcx (Diego Domingos) [1946650] - powerpc/perf: Fix the threshold event selection for memory events in power10 (Diego Domingos) [1946650] - perf sort: Display sort dimension p_stage_cyc only on supported archs (Diego Domingos) [1946650] - perf tools: Support pipeline stage cycles for powerpc (Diego Domingos) [1946650] - perf powerpc: Add support for PERF_SAMPLE_WEIGHT_STRUCT (Diego Domingos) [1946650] - perf sort: Add dynamic headers for perf report columns (Diego Domingos) [1946650] - powerpc/perf: Expose processor pipeline stage cycles using PERF_SAMPLE_WEIGHT_STRUCT (Diego Domingos) [1946650] - Documentation/admin-guide: kernel-parameters: fix "disable_ddw" wording (Diego Domingos) [1946650] - powerpc/perf: Support PERF_SAMPLE_DATA_PAGE_SIZE (Diego Domingos) [1946650] - perf/core: Add PERF_SAMPLE_DATA_PAGE_SIZE (Diego Domingos) [1946650] - powerpc/perf: Infrastructure to support checking of attr.config* (Diego Domingos) [1946650] - powerpc/perf: Add platform specific check_attr_config (Diego Domingos) [1946650] - ice: add support for auxiliary input/output pins (Jonathan Toppins) [1956913] - ice: enable transmit timestamps for E810 devices (Jonathan Toppins) [1944818] - ice: enable receive hardware timestamping (Jonathan Toppins) [1944818] - ice: report the PTP clock index in ethtool .get_ts_info (Jonathan Toppins) [1944818] - ice: register 1588 PTP clock device object for E810 devices (Jonathan Toppins) [1944818] - ice: add low level PTP clock access functions (Jonathan Toppins) [1944818] - ice: add support for set/get of driver-stored firmware parameters (Jonathan Toppins) [1944818] - ice: process 1588 PTP capabilities during initialization (Jonathan Toppins) [1944818] - ice: add support for sideband messages (Jonathan Toppins) [1944818]- bnxt_en: Fix static checker warning in bnxt_fw_reset_task() (Jonathan Toppins) [1989274] - bnxt_en: Check abort error state in bnxt_half_open_nic() (Jonathan Toppins) [1989274] - bnxt_en: fix error path of FW reset (Jonathan Toppins) [1989274] - bnxt_en: Add missing check for BNXT_STATE_ABORT_ERR in bnxt_fw_rset_task() (Jonathan Toppins) [1989274] - bnxt_en: Refresh RoCE capabilities in bnxt_ulp_probe() (Jonathan Toppins) [1989274] - bnxt_en: reject ETS settings that will starve a TC (Jonathan Toppins) [1989274] - bnxt_en: don't disable an already disabled PCI device (Jonathan Toppins) [1989274] - bnxt_en: Remove the read of BNXT_FW_RESET_INPROG_REG after firmware reset. (Jonathan Toppins) [1989274] - i40e: Fix log TC creation failure when max num of queues is exceeded (Stefan Assmann) [1920274] - i40e: Fix queue-to-TC mapping on Tx (Stefan Assmann) [1920274] - i40e: Add additional info to PHY type error (Stefan Assmann) [1920274] - i40e: Fix firmware LLDP agent related warning (Stefan Assmann) [1920274] - i40e: Fix logic of disabling queues (Stefan Assmann) [1920274] - i40e: add support for PTP external synchronization clock (Stefan Assmann) [1920274] - i40e: improve locking of mac_filter_hash (Stefan Assmann) [1920274] - i40e: Fix missing rtnl locking when setting up pf switch (Stefan Assmann) [1920274] - i40e: fix PTP on 5Gb links (Stefan Assmann) [1920274] - i40e: Fix autoneg disabling for non-10GBaseT links (Stefan Assmann) [1920274] - i40e: Fix error handling in i40e_vsi_open (Stefan Assmann) [1920274] - intel: Remove rcu_read_lock() around XDP program invocation (Stefan Assmann) [1920274] - i40e: clean up packet type lookup table (Stefan Assmann) [1920274] - i40e: add correct exception tracing for XDP (Stefan Assmann) [1920274] - i40e: Remove LLDP frame filters (Stefan Assmann) [1920274] - i40e: Fix PHY type identifiers for 2.5G and 5G adapters (Stefan Assmann) [1920274] - i40e: Fix use-after-free in i40e_client_subtask() (Stefan Assmann) [1920274] - i40e: fix broken XDP support (Stefan Assmann) [1920274] - i40e: refactor repeated link state reporting code (Stefan Assmann) [1920274] - i40e: optimize for XDP_REDIRECT in xsk path (Stefan Assmann) [1920274] - i40e: fix the panic when running bpf in xdpdrv mode (Stefan Assmann) [1920274] - i40e: Fix sparse warning: missing error code 'err' (Stefan Assmann) [1920274] - i40e: Fix sparse error: 'vsi->netdev' could be null (Stefan Assmann) [1920274] - i40e: Fix sparse error: uninitialized symbol 'ring' (Stefan Assmann) [1920274] - i40e: Fix sparse errors in i40e_txrx.c (Stefan Assmann) [1920274] - i40e: Fix display statistics for veb_tc (Stefan Assmann) [1920274] - i40e: fix receiving of single packets in xsk zero-copy mode (Stefan Assmann) [1920274] - i40e: Fix inconsistent indenting (Stefan Assmann) [1920274] - i40e: Fix oops at i40e_rebuild() (Stefan Assmann) [1920274] - i40e: Fix kernel oops when i40e driver removes VF's (Stefan Assmann) [1920274] - i40e: Added Asym_Pause to supported link modes (Stefan Assmann) [1920274] - net: i40e: remove repeated words (Stefan Assmann) [1920274] - bpf, devmap: Move drop error path to devmap for XDP_REDIRECT (Stefan Assmann) [1920274] - intel: clean up mismatched header comments (Stefan Assmann) [1920274] - intel: Update drivers to use ethtool_sprintf (Stefan Assmann) [1920274] - i40e: move headroom initialization to i40e_configure_rx_ring (Stefan Assmann) [1920274] - i40e: Fix endianness conversions (Stefan Assmann) [1920274] - i40e: Fix add TC filter for IPv6 (Stefan Assmann) [1920274] - i40e: Fix addition of RX filters after enabling FW LLDP agent (Stefan Assmann) [1920274] - i40e: Fix overwriting flow control settings during driver loading (Stefan Assmann) [1920274] - i40e: Add zero-initialization of AQ command structures (Stefan Assmann) [1920274] - i40e: Fix memory leak in i40e_probe (Stefan Assmann) [1920274] - i40e: Fix flow for IPv6 next header (extension header) (Stefan Assmann) [1920274] - i40e: Fix incorrect argument in call to ipv6_addr_any() (Stefan Assmann) [1920274] - i40e: store the result of i40e_rx_offset() onto i40e_ring (Stefan Assmann) [1920274] - i40e: Simplify the do-while allocation loop (Stefan Assmann) [1920274] - i40e: adjust i40e_is_non_eop (Stefan Assmann) [1920274] - i40e: drop misleading function comments (Stefan Assmann) [1920274] - i40e: drop redundant check when setting xdp prog (Stefan Assmann) [1920274] - i40e: remove the useless value assignment in i40e_clean_adminq_subtask (Stefan Assmann) [1920274] - i40e: VLAN field for flow director (Stefan Assmann) [1920274] - i40e: Add flow director support for IPv6 (Stefan Assmann) [1920274] - i40e: Add EEE status getting & setting implementation (Stefan Assmann) [1920274] - i40e: Fix uninitialized variable mfs_max (Stefan Assmann) [1920274] - i40e: Add netlink callbacks support for software based DCB (Stefan Assmann) [1920274] - i40e: Add init and default config of software based DCB (Stefan Assmann) [1920274] - i40e: Add hardware configuration for software based DCB (Stefan Assmann) [1920274] - i40e: Log error for oversized MTU on device (Stefan Assmann) [1920274] - i40e: consolidate handling of XDP program actions (Stefan Assmann) [1920274] - i40e: remove the redundant buffer info updates (Stefan Assmann) [1920274] - i40e: remove unnecessary cleaned_count updates (Stefan Assmann) [1920274] - i40e: remove unnecessary memory writes of the next to clean pointer (Stefan Assmann) [1920274] - i40e: Use batched xsk Tx interfaces to increase performance (Stefan Assmann) [1920274] - i40e: convert to new udp_tunnel infrastructure (Stefan Assmann) [1920274] - netfilter: nf_tables: skip module reference count bump on object updates (Fernando Fernandez Mancera) [1944487] - netfilter: nf_tables: fix unexpected EOPNOTSUPP error (Fernando Fernandez Mancera) [1944487] - netfilter: nf_tables: Fix an Oops in nf_tables_updobj() error handling (Fernando Fernandez Mancera) [1944487] - netfilter: nf_tables: fix possible null-pointer dereference in object update (Fernando Fernandez Mancera) [1944487] - netfilter: nft_quota: add quota object update support (Fernando Fernandez Mancera) [1944487] - netfilter: nf_tables: Introduce stateful object update operation (Fernando Fernandez Mancera) [1944487] - cifs: retry lookup and readdir when EAGAIN is returned. (Ronnie Sahlberg) [1972411] - netfilter: nf_tables: Fix dereference of null pointer flow (Florian Westphal) [1985087] - netfilter: nf_tables: memleak in hw offload abort path (Florian Westphal) [1985087] - netfilter: nft_tproxy: restrict support to TCP and UDP transport protocols (Florian Westphal) [1985087] - netfilter: synproxy: Fix out of bounds when parsing TCP options (Florian Westphal) [1985087] - netfilter: nfnetlink_cthelper: hit EBUSY on updates if size mismatches (Florian Westphal) [1985087] - ipvs: ignore IP_VS_SVC_F_HASHED flag when adding service (Florian Westphal) [1985087] - netfilter: nftables: avoid overflows in nft_hash_buckets() (Florian Westphal) [1985087] - netfilter: nfnetlink_osf: Fix a missing skb_header_pointer() NULL check (Florian Westphal) [1985087] - netfilter: nf_tables_offload: check FLOW_DISSECTOR_KEY_BASIC in VLAN transfer logic (Florian Westphal) [1985087] - netfilter: nftables_offload: special ethertype handling for VLAN (Florian Westphal) [1985087] - netfilter: nftables_offload: VLAN id needs host byteorder in flow dissector (Florian Westphal) [1985087] - netfilter: nft_payload: fix C-VLAN offload support (Florian Westphal) [1985087] - ipvs: allow connection reuse for unconfirmed conntrack (Florian Westphal) [1985087] - net: fix GRO skb truesize update (Paolo Abeni) [1987391] - sk_buff: avoid potentially clearing 'slow_gro' field (Paolo Abeni) [1987391] - veth: use skb_prepare_for_gro() (Paolo Abeni) [1987391] - skbuff: allow 'slow_gro' for skb carring sock reference (Paolo Abeni) [1987391] - net: optimize GRO for the common case. (Paolo Abeni) [1987391] - sk_buff: track extension status in slow_gro (Paolo Abeni) [1987391] - sk_buff: track dst status in slow_gro (Paolo Abeni) [1987391] - sk_buff: introduce 'slow_gro' flags (Paolo Abeni) [1987391] - skbuff: Fix build with SKB extensions disabled (Paolo Abeni) [1987391] - skbuff: Release nfct refcount on napi stolen or re-used skbs (Paolo Abeni) [1987391] - selftests: net: veth: add tests for set_channel (Paolo Abeni) [1987391] - veth: create by default nr_possible_cpus queues (Paolo Abeni) [1987391] - veth: implement support for set_channel ethtool op (Paolo Abeni) [1987391] - veth: factor out initialization helper (Paolo Abeni) [1987391] - veth: always report zero combined channels (Paolo Abeni) [1987391] - veth: Implement ethtool's get_channelis() callback (Paolo Abeni) [1987391] - net: add GSO UDP L4 and GSO fraglists to the list of software-backed types (Paolo Abeni) [1987391] - ice: Support RSS configure removal for AVF (Jonathan Toppins) [1946726] - ice: Enable RSS configure for AVF (Jonathan Toppins) [1946726] - ice: Add helper function to get the VF's VSI (Jonathan Toppins) [1946726] - ice: remove redundant assignment to pointer vsi (Jonathan Toppins) [1946726] - ice: Advertise virtchnl UDP segmentation offload capability (Jonathan Toppins) [1946726] - ice: Allow ignoring opcodes on specific VF (Jonathan Toppins) [1946726] - ice: warn about potentially malicious VFs (Jonathan Toppins) [1946726] - ice: Consolidate VSI state and flags (Jonathan Toppins) [1946726] - ice: Refactor ice_set/get_rss into LUT and key specific functions (Jonathan Toppins) [1946726] - ice: Refactor get/set RSS LUT to use struct parameter (Jonathan Toppins) [1946726] - ice: Change ice_vsi_setup_q_map() to not depend on RSS (Jonathan Toppins) [1946726] - ice: Check FDIR program status for AVF (Jonathan Toppins) [1946726] - ice: Add more FDIR filter type for AVF (Jonathan Toppins) [1946726] - ice: Add GTPU FDIR filter for AVF (Jonathan Toppins) [1946726] - ice: Add non-IP Layer2 protocol FDIR filter for AVF (Jonathan Toppins) [1946726] - ice: Add new actions support for VF FDIR (Jonathan Toppins) [1946726] - ice: Add FDIR pattern action parser for VF (Jonathan Toppins) [1946726] - ice: Enable FDIR Configure for AVF (Jonathan Toppins) [1946726] - ice: Add support for per VF ctrl VSI enabling (Jonathan Toppins) [1946726] - ice: Enhanced IPv4 and IPv6 flow filter (Jonathan Toppins) [1946726] - ice: Support to separate GTP-U uplink and downlink (Jonathan Toppins) [1946726] - ice: Add more advanced protocol support in flow filter (Jonathan Toppins) [1946726] - ice: Support non word aligned input set field (Jonathan Toppins) [1946726] - ice: Add more basic protocol support for flow filter (Jonathan Toppins) [1946726] - sctp: move the active_key update after sh_keys is added (Xin Long) [1986966] - sctp: fix return value check in __sctp_rcv_asconf_lookup (Xin Long) [1986966] - sctp: delete addr based on sin6_scope_id (Xin Long) [1986966] - sctp: update active_key for asoc when old key is being replaced (Xin Long) [1986966] - sctp: move 198 addresses from unusable to private scope (Xin Long) [1986966] - sctp: add param size validation for SCTP_PARAM_SET_PRIMARY (Xin Long) [1986966] - sctp: validate chunk size in __rcv_asconf_lookup (Xin Long) [1986966] - sctp: add size validation when walking chunks (Xin Long) [1986966] - sctp: validate from_addr_param return (Xin Long) [1986966] - sctp: fix the proc_handler for sysctl encap_port (Xin Long) [1986966] - sctp: add the missing setting for asoc encap_port (Xin Long) [1986966] - sctp: fix a SCTP_MIB_CURRESTAB leak in sctp_sf_do_dupcook_b (Xin Long) [1986966] - sctp: Fix out-of-bounds warning in sctp_process_asconf_param() (Xin Long) [1986966] - sctp: Fix COMM_LOST/CANT_STR_ASSOC err reporting on big-endian platforms (Xin Long) [1986966] - bonding: allow nesting of bonding device (Antoine Tenart) [1989099] - bonding: avoid adding slave device with IFF_MASTER flag (Antoine Tenart) [1989099] - ice: don't remove netdev->dev_addr from uc sync list (Ken Cox) [1873969 1961018] - ice: Stop processing VF messages during teardown (Ken Cox) [1986451] - ice: Prevent probing virtual functions (Ken Cox) [1952810] - ima: extend boot_aggregate with kernel measurements (Bruno Meneguele) [1977422] - selftest/bpf: Verifier tests for var-off access (Jiri Olsa) [1960944] {CVE-2021-29155} - selftest/bpf: Adjust expected verifier errors (Jiri Olsa) [1960944] {CVE-2021-29155} - bpf: No need to simulate speculative domain for immediates (Jiri Olsa) [1960944] {CVE-2021-29155} - bpf: Fix mask direction swap upon off reg sign change (Jiri Olsa) [1960944] {CVE-2021-29155} - bpf: Wrap aux data inside bpf_sanitize_info container (Jiri Olsa) [1960944] {CVE-2021-29155} - bpf: Fix pointer arithmetic mask tightening under state pruning (Jiri Olsa) [1960944] {CVE-2021-29155} - bpf: Fix leakage of uninitialized bpf stack under speculation (Jiri Olsa) [1960944 1958070] {CVE-2021-29155 CVE-2021-31829} - bpf: Fix masking negation logic upon negative dst register (Jiri Olsa) [1960944 1958070] {CVE-2021-29155 CVE-2021-31829} - bpf: verifier: Allocate idmap scratch in verifier env (Jiri Olsa) [1960944] {CVE-2021-29155} - bpf: Tighten speculative pointer arithmetic mask (Jiri Olsa) [1960944 1972496] {CVE-2021-29155 CVE-2021-33200} - bpf: Move sanitize_val_alu out of op switch (Jiri Olsa) [1960944] {CVE-2021-29155} - bpf: Refactor and streamline bounds check into helper (Jiri Olsa) [1960944] {CVE-2021-29155} - bpf: Allow variable-offset stack access (Jiri Olsa) [1960944] {CVE-2021-29155} - bpf: Improve verifier error messages for users (Jiri Olsa) [1960944] {CVE-2021-29155} - bpf: Rework ptr_limit into alu_limit and add common error path (Jiri Olsa) [1960944] {CVE-2021-29155} - bpf: Ensure off_reg has no mixed signed bounds for all types (Jiri Olsa) [1960944] {CVE-2021-29155} - bpf: Move off_reg into sanitize_ptr_alu (Jiri Olsa) [1960944] {CVE-2021-29155} - bpf: Use correct permission flag for mixed signed bounds arithmetic (Jiri Olsa) [1960944] {CVE-2021-29155} - bpf: Add sanity check for upper ptr_limit (Jiri Olsa) [1960944] {CVE-2021-29155} - bpf: Simplify alu_limit masking for pointer arithmetic (Jiri Olsa) [1960944] {CVE-2021-29155} - bpf: Fix off-by-one for area size in creating mask to left (Jiri Olsa) [1960944] {CVE-2021-29155} - Documentation/x86: Add ratelimit in buslock.rst (Prarit Bhargava) [1948048] - Documentation/admin-guide: Add bus lock ratelimit (Prarit Bhargava) [1948048] - x86/bus_lock: Set rate limit for bus lock (Prarit Bhargava) [1948048] - Documentation/x86: Add buslock.rst (Prarit Bhargava) [1948048] - [s390] net/smc: Ensure correct state of the socket in send path (Claudio Imbrenda) [1731026] - [s390] net/smc: Fix ENODATA tests in smc_nl_get_fback_stats() (Claudio Imbrenda) [1731026] - [s390] net/smc: Make SMC statistics network namespace aware (Claudio Imbrenda) [1731026] - [s390] net/smc: Add netlink support for SMC fallback statistics (Claudio Imbrenda) [1731026] - [s390] net/smc: Add netlink support for SMC statistics (Claudio Imbrenda) [1731026] - [s390] net/smc: Add SMC statistics support (Claudio Imbrenda) [1731026] - [s390] s390/ap: Fix hanging ioctl caused by wrong msg counter (Claudio Imbrenda) [1984762] - KVM: PPC: Book3S: Fix H_RTAS rets buffer overflow (Jon Maloy) [1988226] {CVE-2021-37576} - NFSv4: Fix an Oops in pnfs_mark_request_commit() when doing O_DIRECT (Benjamin Coddington) [1983793] - selftests/powerpc: EBB selftest for MMCR0 control for PMU SPRs in ISA v3.1 (Desnes A. Nunes do Rosario) [1991753] - selftests/powerpc: Fix "no_handler" EBB selftest (Desnes A. Nunes do Rosario) [1991753] - powerpc/perf: Fix crash in perf_instruction_pointer() when ppmu is not set (Desnes A. Nunes do Rosario) [1991753] - powerpc/pmu: Make the generic compat PMU use the architected events (Desnes A. Nunes do Rosario) [1991753] - perf script python: Fix buffer size to report iregs in perf script (Desnes A. Nunes do Rosario) [1991753] - ceph: reduce contention in ceph_check_delayed_caps() (Jeff Layton) [1953430]- net: mac802154: Fix general protection fault (Chris von Recklinghausen) [1984571] {CVE-2021-3659} - Bluetooth: fix the erroneous flush_work() order (Chris von Recklinghausen) [1964559] {CVE-2021-3564} - Bluetooth: use correct lock to prevent UAF of hdev object (Chris von Recklinghausen) [1968214] {CVE-2021-3573} - usb: ehci: Prevent missed ehci interrupts with edge-triggered MSI (Torez Smith) [1972139] - usb: ehci: do not initialise static variables (Torez Smith) [1972139] - usb: host: move EH SINGLE_STEP_SET_FEATURE implementation to core (Torez Smith) [1972139] - USB: ehci: drop workaround for forced irq threading (Torez Smith) [1972139] - usb: ehci: add spurious flag to disable overcurrent checking (Torez Smith) [1972139] - perf test: Handle fd gaps in test__dso_data_reopen (Michael Petlan) [1871785] - tty: vt: always invoke vc->vc_sw->con_resize callback (Maxim Levitsky) [1957611] - iavf: fix locking of critical sections (Stefan Assmann) [1975245] - iavf: do not override the adapter state in the watchdog task (Stefan Assmann) [1975245] - ixgbe: Fix packet corruption due to missing DMA sync (Ken Cox) [1920269] - ixgbe: Fix an error handling path in 'ixgbe_probe()' (Ken Cox) [1920269] - intel: Remove rcu_read_lock() around XDP program invocation (Ken Cox) [1920269] - ixgbe: add correct exception tracing for XDP (Ken Cox) [1920269] - ixgbe: Fix out-bounds warning in ixgbe_host_interface_command() (Ken Cox) [1920269] - ixgbe: reduce checker warnings (Ken Cox) [1920269] - ixgbe: use checker safe conversions (Ken Cox) [1920269] - ixgbe: fix large MTU request from VF (Ken Cox) [1920269] - net: ethernet: intel: Fix a typo in the file ixgbe_dcb_nl.c (Ken Cox) [1920269] - net: intel: Remove unused function pointer typedef ixgbe_mc_addr_itr (Ken Cox) [1920269] - ixgbe: Support external GBE SerDes PHY BCM54616s (Ken Cox) [1920269] - ixgbe: fix unbalanced device enable/disable in suspend/resume (Ken Cox) [1920269] - ixgbe: Fix NULL pointer dereference in ethtool loopback test (Ken Cox) [1920269] - ixgbe: Fix fall-through warnings for Clang (Ken Cox) [1920269] - intel: clean up mismatched header comments (Ken Cox) [1920269] - bpf, devmap: Move drop error path to devmap for XDP_REDIRECT (Ken Cox) [1920269] - intel: Update drivers to use ethtool_sprintf (Ken Cox) [1920269] - ixgbe: optimize for XDP_REDIRECT in xsk path (Ken Cox) [1920269] - ixgbe: move headroom initialization to ixgbe_configure_rx_ring (Ken Cox) [1920269] - ixgbe: Fix memleak in ixgbe_configure_clsu32 (Ken Cox) [1920269] - ixgbe: fail to create xfrm offload of IPsec tunnel mode SA (Ken Cox) [1920269] - ixgbe: store the result of ixgbe_rx_offset() onto ixgbe_ring (Ken Cox) [1920269] - net: ixgbe: use skb_csum_is_sctp instead of protocol check (Ken Cox) [1920269] - ixgbe: avoid premature Rx buffer reuse (Ken Cox) [1920269] - net: remove unneeded break (Ken Cox) [1920269] - ixgbe: add pause frame stats (Ken Cox) [1920269] - iavf: Set RSS LUT and key in reset handle path (Ken Cox) [1910853] - [netdrv] chelsio: Replace zero-length array with flexible-array member (Raju Rangoju) [1955208] - cxgb4: avoid collecting SGE_QBASE regs during traffic (Raju Rangoju) [1955208] - cxgb4: collect serial config version from register (Raju Rangoju) [1955208] - cxgb4: remove unused vpd_cap_addr (Raju Rangoju) [1955208] - cxgb4: remove bogus CHELSIO_VPD_UNIQUE_ID constant (Raju Rangoju) [1955208] - cxgb4: Assign boolean values to a bool variable (Raju Rangoju) [1955208] - cxgb4: enable interrupt based Tx completions for T5 (Raju Rangoju) [1955208] - cxgb4: fix the panic caused by non smac rewrite (Raju Rangoju) [1955208] - cxgb4: Fix the -Wmisleading-indentation warning (Raju Rangoju) [1955208] - cxgb4: set up filter action after rewrites (Raju Rangoju) [1955208] - cxgb4: handle 4-tuple PEDIT to NAT mode translation (Raju Rangoju) [1955208] - [netdrv] net: rename flow_action_hw_stats_types* -> flow_action_hw_stats* (Raju Rangoju) [1955208] - net: cxbg4: Remove pointless in_interrupt() check (Raju Rangoju) [1955208] - cxgb4: Avoid log flood (Raju Rangoju) [1955208] - cxgb4: fix memory leak during module unload (Raju Rangoju) [1955208] - cxgb4: Fix offset when clearing filter byte counters (Raju Rangoju) [1955208] - cxgb4: add error handlers to LE intr_handler (Raju Rangoju) [1955208] - cxgb4: insert IPv6 filter rules in next free region (Raju Rangoju) [1955208] - cxgb4: Fix race between loopback and normal Tx path (Raju Rangoju) [1955208] - cxgb4: Fix work request size calculation for loopback test (Raju Rangoju) [1955208] - cxgb4: add TC-MATCHALL IPv6 support (Raju Rangoju) [1955208] - cxgb4: fix extracting IP addresses in TC-FLOWER rules (Raju Rangoju) [1955208] - cxgb4: fix check for running offline ethtool selftest (Raju Rangoju) [1955208] - cxgb4: add loopback ethtool self-test (Raju Rangoju) [1955208] - net: cxgb4: reject unsupported coalescing params (Raju Rangoju) [1955208] - cxgb4: use eth_zero_addr() to clear mac address (Raju Rangoju) [1955208] - cxgb4: add missing release on skb in uld_send() (Raju Rangoju) [1955208] - cxgb4: convert to new udp_tunnel_nic infra (Raju Rangoju) [1955208] - cxgb4: fix all-mask IP address comparison (Raju Rangoju) [1955208] - cxgb4: add main VI to mirror VI config replication (Raju Rangoju) [1955208] - cxgb4: add support for mirror Rxqs (Raju Rangoju) [1955208] - cxgb4: add mirror action to TC-MATCHALL offload (Raju Rangoju) [1955208] - net: cxgb4: fix return error value in t4_prep_fw (Raju Rangoju) [1955208] - cxgb4: move device dump arrays in header to C file (Raju Rangoju) [1955208] - cxgb4: always sync access when flashing PHY firmware (Raju Rangoju) [1955208] - cxgb4: update kernel-doc line comments (Raju Rangoju) [1955208] - cxgb4: fix set but unused variable when DCB is disabled (Raju Rangoju) [1955208] - cxgb4: move DCB version extern to header file (Raju Rangoju) [1955208] - cxgb4: remove cast when saving IPv4 partial checksum (Raju Rangoju) [1955208] - cxgb4: fix SGE queue dump destination buffer context (Raju Rangoju) [1955208] - cxgb4: use correct type for all-mask IP address comparison (Raju Rangoju) [1955208] - cxgb4: fix endian conversions for L4 ports in filters (Raju Rangoju) [1955208] - cxgb4: parse TC-U32 key values and masks natively (Raju Rangoju) [1955208] - cxgb4: use unaligned conversion for fetching timestamp (Raju Rangoju) [1955208] - cxgb4: move PTP lock and unlock to caller in Tx path (Raju Rangoju) [1955208] - cxgb4: move handling L2T ARP failures to caller (Raju Rangoju) [1955208] - cxgb4: Use struct_size() helper (Raju Rangoju) [1955208] - cxgb4: add action to steer flows to specific Rxq (Raju Rangoju) [1955208] - cxgb4: add support to fetch ethtool n-tuple filters (Raju Rangoju) [1955208] - cxgb4: add ethtool n-tuple filter deletion (Raju Rangoju) [1955208] - cxgb4: add ethtool n-tuple filter insertion (Raju Rangoju) [1955208] - [netdrv] flow_offload: check for basic action hw stats type (Raju Rangoju) [1955208] - cxgb4: add skeleton for ethtool n-tuple filters (Raju Rangoju) [1955208] - cxgb4: add support to read serial flash (Raju Rangoju) [1955208] - cxgb4: add support to flash boot cfg image (Raju Rangoju) [1955208] - cxgb4: add support to flash boot image (Raju Rangoju) [1955208] - cxgb4: add support to flash PHY image (Raju Rangoju) [1955208] - cxgb4: update set_flash to flash different images (Raju Rangoju) [1955208] - cxgb4: Use kfree() instead kvfree() where appropriate (Raju Rangoju) [1955208] - cxgb4: Use pM format specifier for MAC addresses (Raju Rangoju) [1955208] - net: sock: fix in-kernel mark setting (Alexander Aring) [1509204] - sock: Reset dst when changing sk_mark via setsockopt (Alexander Aring) [1509204] - fs: dlm: fix mark setting deadlock (Alexander Aring) [1509204] - fs: dlm: fix mark per nodeid setting (Alexander Aring) [1509204] - fs: dlm: remove lock dependency warning (Alexander Aring) [1509204] - fs: dlm: set skb mark per peer socket (Alexander Aring) [1509204] - fs: dlm: set skb mark for listen socket (Alexander Aring) [1509204] - net: sock: add sock_set_mark (Alexander Aring) [1509204] - Bluetooth: btusb: Add support for GarfieldPeak controller (Gopal Tiwari) [1959110] - can: gw: synchronize rcu operations before removing gw job entry (Balazs Nemeth) [1986334] - can: bcm: fix infoleak in struct bcm_msg_head (Balazs Nemeth) [1986334] - can: af_can: prevent potential access of uninitialized member in canfd_rcv() (Balazs Nemeth) [1956730] - can: af_can: prevent potential access of uninitialized member in can_rcv() (Balazs Nemeth) [1956730] - can: proc: can_remove_proc(): silence remove_proc_entry warning (Balazs Nemeth) [1956730] - cifs: add missing parsing of backupuid (Ronnie Sahlberg) [1987126] - cifs: use helpers when parsing uid/gid mount options and validate them (Ronnie Sahlberg) [1987126] - kernfs: dont call d_splice_alias() under kernfs node lock (Ian Kent) [1939133] - kernfs: use i_lock to protect concurrent inode updates (Ian Kent) [1939133] - kernfs: switch kernfs to use an rwsem (Ian Kent) [1939133] - kernfs: use VFS negative dentry caching (Ian Kent) [1939133] - kernfs: add a revision to identify directory node changes (Ian Kent) [1939133] - kernfs: move revalidate to be near lookup (Ian Kent) [1939133]- mlxsw: spectrum_mr: Update egress RIF list before route's action (Ivan Vecera) [1941938] - selftests: mlxsw: Fix mausezahn invocation in ERSPAN scale test (Ivan Vecera) [1941938] - selftests: mlxsw: Increase the tolerance of backlog buildup (Ivan Vecera) [1941938] - selftests: mlxsw: Return correct error code in resource scale tests (Ivan Vecera) [1941938] - selftests: mlxsw: Remove a redundant if statement in tc_flower_scale test (Ivan Vecera) [1941938] - selftests: mlxsw: Remove a redundant if statement in port_scale test (Ivan Vecera) [1941938] - selftests: mlxsw: sch_red_ets: Test proper counter cleaning in ETS (Ivan Vecera) [1941938] - mlxsw: spectrum_qdisc: Index future FIFOs by band number (Ivan Vecera) [1941938] - mlxsw: spectrum_qdisc: Allocate child qdiscs dynamically (Ivan Vecera) [1941938] - mlxsw: spectrum_qdisc: Guard all qdisc accesses with a lock (Ivan Vecera) [1941938] - mlxsw: spectrum_qdisc: Track children per qdisc (Ivan Vecera) [1941938] - mlxsw: spectrum_qdisc: Promote backlog reduction to mlxsw_sp_qdisc_destroy() (Ivan Vecera) [1941938] - mlxsw: spectrum_qdisc: Track tclass_num as int, not u8 (Ivan Vecera) [1941938] - mlxsw: spectrum_qdisc: Drop an always-true condition (Ivan Vecera) [1941938] - mlxsw: spectrum_qdisc: Simplify mlxsw_sp_qdisc_compare() (Ivan Vecera) [1941938] - mlxsw: spectrum_qdisc: Drop one argument from check_params callback (Ivan Vecera) [1941938] - mlxsw: core: Remove critical trip points from thermal zones (Ivan Vecera) [1941938] - selftests: mlxsw: Test vetoing of double sampling (Ivan Vecera) [1941938] - mlxsw: spectrum: Veto sampling if already enabled on port (Ivan Vecera) [1941938] - selftests: mlxsw: Test matchall failure with protocol match (Ivan Vecera) [1941938] - mlxsw: spectrum_matchall: Perform priority checks earlier (Ivan Vecera) [1941938] - mlxsw: spectrum_matchall: Convert if statements to a switch statement (Ivan Vecera) [1941938] - mlxsw: spectrum_matchall: Perform protocol check earlier (Ivan Vecera) [1941938] - selftests: forwarding: vxlan_bridge_1d: Add more ECN decap test cases (Ivan Vecera) [1941938] - mlxsw: spectrum: Fix ECN marking in tunnel decapsulation (Ivan Vecera) [1941938] - selftests: net: forwarding: Fix a typo (Ivan Vecera) [1941938] - selftests: mlxsw: spectrum-2: Remove q_in_vni_veto test (Ivan Vecera) [1941938] - selftests: forwarding: Add test for dual VxLAN bridge (Ivan Vecera) [1941938] - mlxsw: Allow 802.1d and .1ad VxLAN bridges to coexist on Spectrum>=2 (Ivan Vecera) [1941938] - mlxsw: Add struct mlxsw_sp_switchdev_ops per ASIC (Ivan Vecera) [1941938] - mlxsw: spectrum: Add mlxsw_sp_port_egress_ethtype_set() (Ivan Vecera) [1941938] - mlxsw: reg: Add Switch Port Egress VLAN EtherType Register (Ivan Vecera) [1941938] - mlxsw: reg: Add egr_et_set field to SPVID (Ivan Vecera) [1941938] - selftests: mlxsw: Test egress sampling limitation on Spectrum-1 only (Ivan Vecera) [1941938] - selftests: mlxsw: Add tc sample tests for new triggers (Ivan Vecera) [1941938] - mlxsw: spectrum_acl: Offload FLOW_ACTION_SAMPLE (Ivan Vecera) [1941938] - mlxsw: core_acl_flex_actions: Add mirror sampler action (Ivan Vecera) [1941938] - mlxsw: spectrum_matchall: Add support for egress sampling (Ivan Vecera) [1941938] - mlxsw: spectrum: Start using sampling triggers hash table (Ivan Vecera) [1941938] - mlxsw: spectrum: Track sampling triggers in a hash table (Ivan Vecera) [1941938] - mlxsw: spectrum_matchall: Pass matchall entry to sampling operations (Ivan Vecera) [1941938] - mlxsw: spectrum_matchall: Push sampling checks to per-ASIC operations (Ivan Vecera) [1941938] - mlxsw: spectrum_matchall: Propagate extack further (Ivan Vecera) [1941938] - selftests: mlxsw: Add tc sample tests (Ivan Vecera) [1941938] - mlxsw: spectrum: Report extra metadata to psample module (Ivan Vecera) [1941938] - mlxsw: spectrum: Remove mlxsw_sp_sample_receive() (Ivan Vecera) [1941938] - mlxsw: spectrum: Remove unnecessary RCU read-side critical section (Ivan Vecera) [1941938] - mlxsw: pci: Set extra metadata in skb control block (Ivan Vecera) [1941938] - mlxsw: Create dedicated field for Rx metadata in skb control block (Ivan Vecera) [1941938] - mlxsw: pci: Add more metadata fields to CQEv2 (Ivan Vecera) [1941938] - mlxsw: spectrum_matchall: Implement sampling using mirroring (Ivan Vecera) [1941938] - mlxsw: spectrum_trap: Split sampling traps between ASICs (Ivan Vecera) [1941938] - mlxsw: spectrum_matchall: Split sampling support between ASICs (Ivan Vecera) [1941938] - mlxsw: spectrum_span: Add SPAN probability rate support (Ivan Vecera) [1941938] - mlxsw: reg: Extend mirroring registers with probability rate field (Ivan Vecera) [1941938] - mlxsw: spectrum_span: Add SPAN session identifier support (Ivan Vecera) [1941938] - mlxsw: Adjust some MFDE fields shift and size to fw implementation (Ivan Vecera) [1941938] - mlxsw: core: Expose MFDE.log_ip to devlink health (Ivan Vecera) [1941938] - mlxsw: reg: Extend MFDE register with new log_ip field (Ivan Vecera) [1941938] - mlxsw: spectrum: Bump minimum FW version to xx.2008.2406 (Ivan Vecera) [1941938] - mlxsw: reg: Fix comment about slot_index field in PMAOS register (Ivan Vecera) [1941938] - mlxsw: spectrum: Reword an error message for Q-in-Q veto (Ivan Vecera) [1941938] - mlxsw: spectrum_ethtool: Add an external speed to PTYS register (Ivan Vecera) [1941938] - mlxsw: spectrum_span: Do not overwrite policer configuration (Ivan Vecera) [1941938] - selftests: forwarding: Specify interface when invoking mausezahn (Ivan Vecera) [1941938] - selftests: mlxsw: Add a scale test for physical ports (Ivan Vecera) [1941938] - mlxsw: Register physical ports as a devlink resource (Ivan Vecera) [1941938] - mlxsw: pci: switch from 'pci_' to 'dma_' API (Ivan Vecera) [1941938] - mlxsw: core: Increase critical threshold for ASIC thermal zone (Ivan Vecera) [1941938] - mlxsw: core: Add validation of transceiver temperature thresholds (Ivan Vecera) [1941938] - selftests: mlxsw: Set headroom size of correct port (Ivan Vecera) [1941938] - net/mlxfw: Use kzalloc for allocating only one thing (Ivan Vecera) [1941938] - mlxsw: spectrum_router: Use eXtended mezzanine to offload IPv4 router (Ivan Vecera) [1941938] - mlxsw: spectrum: Set KVH XLT cache mode for Spectrum2/3 (Ivan Vecera) [1941938] - mlxsw: spectrum_router_xm: Introduce basic XM cache flushing (Ivan Vecera) [1941938] - mlxsw: reg: Add Router LPM Cache Enable Register (Ivan Vecera) [1941938] - mlxsw: reg: Add Router LPM Cache ML Delete Register (Ivan Vecera) [1941938] - mlxsw: spectrum_router_xm: Implement L-value tracking for M-index (Ivan Vecera) [1941938] - mlxsw: reg: Add XM Router M Table Register (Ivan Vecera) [1941938] - mlxsw: spectrum_router: Introduce per-ASIC XM initialization (Ivan Vecera) [1941938] - mlxsw: reg: Add XM Lookup Table Query Register (Ivan Vecera) [1941938] - mlxsw: reg: Add Router XLT M select Register (Ivan Vecera) [1941938] - mlxsw: Ignore ports that are connected to eXtended mezanine (Ivan Vecera) [1941938] - mlxsw: pci: Obtain info about ports used by eXtended mezanine (Ivan Vecera) [1941938] - mlxsw: spectrum_router: Introduce XM implementation of router low-level ops (Ivan Vecera) [1941938] - mlxsw: reg: Add Router XLT Enable Register (Ivan Vecera) [1941938] - mlxsw: reg: Add XM Direct Register (Ivan Vecera) [1941938] - selftests: mlxsw: Add Q-in-VNI veto tests (Ivan Vecera) [1941938] - selftests: forwarding: Add Q-in-VNI test (Ivan Vecera) [1941938] - mlxsw: spectrum_switchdev: Allow joining VxLAN to 802.1ad bridge (Ivan Vecera) [1941938] - mlxsw: Veto Q-in-VNI for Spectrum-1 ASIC (Ivan Vecera) [1941938] - mlxsw: spectrum_switchdev: Use ops->vxlan_join() when adding VLAN to VxLAN device (Ivan Vecera) [1941938] - mlxsw: spectrum_nve_vxlan: Add support for Q-in-VNI for Spectrum-2 ASIC (Ivan Vecera) [1941938] - mlxsw: spectrum: Publish mlxsw_sp_ethtype_to_sver_type() (Ivan Vecera) [1941938] - mlxsw: Save EtherType as part of mlxsw_sp_nve_config (Ivan Vecera) [1941938] - mlxsw: Save EtherType as part of mlxsw_sp_nve_params (Ivan Vecera) [1941938] - mlxsw: spectrum_switchdev: Create common function for joining VxLAN to VLAN-aware bridge (Ivan Vecera) [1941938] - mlxsw: reg: Add support for tunnel port in SPVID register (Ivan Vecera) [1941938] - mlxsw: reg: Add Switch Port VLAN Stacking Register (Ivan Vecera) [1941938] - mlxsw: Use one enum for all registers that contain tunnel_port field (Ivan Vecera) [1941938] - mlxsw: spectrum_router: Reduce mlxsw_sp_ipip_fib_entry_op_gre4() (Ivan Vecera) [1941938] - mlxsw: spectrum: Bump minimum FW version to xx.2008.2018 (Ivan Vecera) [1941938] - mlxsw: core_acl: Use an array instead of a struct with a zero-length array (Ivan Vecera) [1941938] - mlxsw: spectrum_mr: Use flexible-array member instead of zero-length array (Ivan Vecera) [1941938] - mlxsw: core: Trace EMAD events (Ivan Vecera) [1941938] - selftests: mlxsw: Test RIF's reference count when joining a LAG (Ivan Vecera) [1941938] - mlxsw: spectrum: Apply RIF configuration when joining a LAG (Ivan Vecera) [1941938] - selftests: forwarding: Add QinQ veto testing (Ivan Vecera) [1941938] - mlxsw: Add QinQ configuration vetoes (Ivan Vecera) [1941938] - mlxsw: spectrum_switchdev: Add support of QinQ traffic (Ivan Vecera) [1941938] - mlxsw: spectrum_switchdev: Create common functions for VLAN-aware bridge (Ivan Vecera) [1941938] - mlxsw: Make EtherType configurable when pushing VLAN at ingress (Ivan Vecera) [1941938] - mlxsw: spectrum: Only treat 802.1q packets as tagged packets (Ivan Vecera) [1941938] - mlxsw: reg: Add et_vlan field to SPVID register (Ivan Vecera) [1941938] - mlxsw: reg: Add Switch Port VLAN Classification Register (Ivan Vecera) [1941938] - mlxsw: spectrum_router: Update adjacency index more efficiently (Ivan Vecera) [1941938] - mlxsw: spectrum_router: Track nexthop group virtual router membership (Ivan Vecera) [1941938] - mlxsw: spectrum_router: Rollback virtual router adjacency pointer update (Ivan Vecera) [1941938] - mlxsw: spectrum_router: Pass virtual router parameters directly instead of pointer (Ivan Vecera) [1941938] - mlxsw: spectrum_router: Fix error handling issue (Ivan Vecera) [1941938] - mlxsw: spectrum_router: Resolve RIF from nexthop struct instead of neighbour (Ivan Vecera) [1941938] - mlxsw: spectrum_router: Use loopback RIF for unresolved nexthops (Ivan Vecera) [1941938] - mlxsw: spectrum_router: Use different trap identifier for unresolved nexthops (Ivan Vecera) [1941938] - mlxsw: spectrum_router: Create loopback RIF during initialization (Ivan Vecera) [1941938] - mlxsw: spectrum_router: Allow returning errors from mlxsw_sp_nexthop_group_refresh() (Ivan Vecera) [1941938] - mlxsw: spectrum_router: Add an indication if a nexthop group can be destroyed (Ivan Vecera) [1941938] - mlxsw: spectrum_router: Re-order mlxsw_sp_nexthop6_group_get() (Ivan Vecera) [1941938] - mlxsw: spectrum_router: Set FIB entry's type based on nexthop group (Ivan Vecera) [1941938] - mlxsw: spectrum_router: Set FIB entry's type after creating nexthop group (Ivan Vecera) [1941938] - mlxsw: spectrum_router: Pass ifindex to mlxsw_sp_ipip_entry_find_by_decap() (Ivan Vecera) [1941938] - mlxsw: spectrum_router: Set ifindex for IPv4 nexthops (Ivan Vecera) [1941938] - mlxsw: spectrum_router: Fix wrong kfree() in error path (Ivan Vecera) [1941938] - mlxsw: spectrum_router: Remove outdated comment (Ivan Vecera) [1941938] - mlxsw: spectrum_router: Consolidate mlxsw_sp_nexthop{4, 6}_type_fini() (Ivan Vecera) [1941938] - mlxsw: spectrum_router: Consolidate mlxsw_sp_nexthop{4, 6}_type_init() (Ivan Vecera) [1941938] - mlxsw: spectrum_router: Remove unused argument from mlxsw_sp_nexthop6_type_init() (Ivan Vecera) [1941938] - mlxsw: spectrum_router: Pass nexthop netdev to mlxsw_sp_nexthop4_type_init() (Ivan Vecera) [1941938] - mlxsw: spectrum_router: Pass nexthop netdev to mlxsw_sp_nexthop6_type_init() (Ivan Vecera) [1941938] - mlxsw: spectrum_ipip: Remove overlay protocol from can_offload() callback (Ivan Vecera) [1941938] - mlxsw: spectrum_router: Split nexthop group configuration to a different struct (Ivan Vecera) [1941938] - mlxsw: spectrum_router: Move IPv4 FIB info into a union in nexthop group struct (Ivan Vecera) [1941938] - mlxsw: spectrum_router: Remove unused field 'prio' from IPv4 FIB entry struct (Ivan Vecera) [1941938] - mlxsw: spectrum_router: Store FIB info in route (Ivan Vecera) [1941938] - mlxsw: spectrum_router: Associate neighbour table with nexthop instead of group (Ivan Vecera) [1941938] - mlxsw: spectrum_router: Use nexthop group type in hash table key (Ivan Vecera) [1941938] - mlxsw: spectrum_router: Add nexthop group type field (Ivan Vecera) [1941938] - mlxsw: spectrum_router: Compare key with correct object type (Ivan Vecera) [1941938] - mlxsw: spectrum_router: Introduce FIB entry update op (Ivan Vecera) [1941938] - mlxsw: spectrum_router: Track FIB entry committed state and skip uncommitted on delete (Ivan Vecera) [1941938] - mlxsw: spectrum_router: Introduce fib_entry priv for low-level ops (Ivan Vecera) [1941938] - mlxsw: spectrum_router: Have FIB entry op context allocated for the instance (Ivan Vecera) [1941938] - mlxsw: spectrum_router: Prepare work context for possible bulking (Ivan Vecera) [1941938] - mlxsw: spectrum: Push RALUE packing and writing into low-level router ops (Ivan Vecera) [1941938] - mlxsw: spectrum_router: Use RALUE pack helper from abort function (Ivan Vecera) [1941938] - mlxsw: reg: Allow to pass NULL pointer to mlxsw_reg_ralue_pack4/6() (Ivan Vecera) [1941938] - mlxsw: spectrum_router: Pass destination IP as a pointer to mlxsw_reg_ralue_pack4() (Ivan Vecera) [1941938] - mlxsw: spectrum: Export RALUE pack helper and use it from IPIP (Ivan Vecera) [1941938] - mlxsw: spectrum_router: Push out RALUE pack into separate helper (Ivan Vecera) [1941938] - mlxsw: spectrum: Propagate context from work handler containing RALUE payload (Ivan Vecera) [1941938] - mlxsw: spectrum_router: Introduce FIB event queue instead of separate works (Ivan Vecera) [1941938] - mlxsw: spectrum_router: Use RALUE-independent op arg (Ivan Vecera) [1941938] - mlxsw: spectrum_router: Pass non-register proto enum to __mlxsw_sp_router_set_abort_trap() (Ivan Vecera) [1941938] - mlxsw: spectrum_router: Introduce low-level ops and implement them for RALXX regs (Ivan Vecera) [1941938] - mlxsw: reg: Add XRALXX Registers (Ivan Vecera) [1941938] - hwmon: (mlxreg-fan) Add support for fan drawers capability and present registers (Ivan Vecera) [1941938] - i2c: mux: mlxcpld: Add callback to notify mux creation completion (Ivan Vecera) [1941938] - i2c: mux: mlxcpld: Extend supported mux number (Ivan Vecera) [1941938] - i2c: mux: mlxcpld: Extend driver to support word address space devices (Ivan Vecera) [1941938] - i2c: mux: mlxcpld: Get rid of adapter numbers enforcement (Ivan Vecera) [1941938] - i2c: mux: mlxcpld: Prepare mux selection infrastructure for two-byte support (Ivan Vecera) [1941938] - i2c: mux: mlxcpld: Convert driver to platform driver (Ivan Vecera) [1941938] - i2c: mux: mlxcpld: Move header file out of x86 realm (Ivan Vecera) [1941938] - platform/x86: mlxcpld: Update module license (Ivan Vecera) [1941938] - i2c: mux: mlxcpld: Update module license (Ivan Vecera) [1941938] - i2c: mlxcpld: Add support for I2C bus frequency setting (Ivan Vecera) [1941938] - i2c: mlxcpld: Decrease polling time for performance improvement (Ivan Vecera) [1941938] - i2c: mlxcpld: Update module license (Ivan Vecera) [1941938] - platform/x86: mlx-platform: Fix item counter assignment for MSN2700/ComEx system (Ivan Vecera) [1941938] - platform/x86: mlx-platform: Fix item counter assignment for MSN2700, MSN24xx systems (Ivan Vecera) [1941938] - platform/x86: mlx-platform: remove an unused variable (Ivan Vecera) [1941938] - platform/x86: mlx-platform: Remove PSU EEPROM from MSN274x platform configuration (Ivan Vecera) [1941938] - platform/x86: mlx-platform: Remove PSU EEPROM from default platform configuration (Ivan Vecera) [1941938] - platform/x86: mlx-platform: Add capability field to platform FAN description (Ivan Vecera) [1941938] - platform_data/mlxreg: Extend core platform structure (Ivan Vecera) [1941938] - platform_data/mlxreg: Update module license (Ivan Vecera) [1941938] - platform/x86: mlx-platform: Fix extended topology configuration for power supply units (Ivan Vecera) [1941938] - platform/x86: mlx-platform: Remove PSU EEPROM configuration (Ivan Vecera) [1941938] - platform/x86: mlx-platform: Extend FAN platform data description (Ivan Vecera) [1941938] - platform_data/mlxreg: Add presence register field for FAN devices (Ivan Vecera) [1941938] - Documentation/ABI: Add new attribute for mlxreg-io sysfs interfaces (Ivan Vecera) [1941938] - platform/mellanox: mlxreg-io: Add support for complex attributes (Ivan Vecera) [1941938] - platform/x86: mlx-platform: Add more definitions for system attributes (Ivan Vecera) [1941938] - platform_data/mlxreg: Add support for complex attributes (Ivan Vecera) [1941938] - platform/mellanox: mlxreg-hotplug: Add environmental data to uevent (Ivan Vecera) [1941938] - platform/mellanox: mlxreg-hotplug: Use capability register for attribute creation (Ivan Vecera) [1941938] - platform/mellanox: mlxreg-hotplug: Modify module license (Ivan Vecera) [1941938] - lib/string_helpers: Introduce string_upper() and string_lower() helpers (Ivan Vecera) [1941938] - i2c: mlxcpld: check correct size of maximum RECV_LEN packet (Ivan Vecera) [1941938] - docs: watchdog: mlx-wdt: Add description of new watchdog type 3 (Ivan Vecera) [1941938] - watchdog: mlx-wdt: support new watchdog type with longer timeout period (Ivan Vecera) [1941938] - platform/x86: mlx-platform: support new watchdog type with longer timeout (Ivan Vecera) [1941938] - platform_data/mlxreg: support new watchdog type with longer timeout period (Ivan Vecera) [1941938] - platform/mellanox: mlxreg-hotplug: convert to use i2c_new_client_device() (Ivan Vecera) [1941938] - selftests: icmp_redirect: IPv6 PMTU info should be cleared after redirect (Hangbin Liu) [1986227] - selftests: icmp_redirect: remove from checking for IPv6 route get (Hangbin Liu) [1986227] - selftests: icmp_redirect: support expected failures (Hangbin Liu) [1986227] - selftests: disable rp_filter for icmp_redirect.sh (Hangbin Liu) [1986227] - selftests: icmp_redirect: Add support for routing via nexthop objects (Hangbin Liu) [1986227] - selftest: Fixes for icmp_redirect test (Hangbin Liu) [1986227] - selftests: Add redirect tests (Hangbin Liu) [1986227] - redhat: enable vdpa_sim_net vdpa_sim_block vp_vdpa (Cindy Lu) [1975173] - virtio/vdpa: clear the virtqueue state during probe (Cindy Lu) [1975173] - vp_vdpa: allow set vq state to initial state after reset (Cindy Lu) [1975173] - virtio-pci library: introduce vp_modern_get_driver_features() (Cindy Lu) [1975173] - vdpa: support packed virtqueue for set/get_vq_state() (Cindy Lu) [1975173] - vdpa/mlx5: Clear vq ready indication upon device reset (Cindy Lu) [1975173] - vdpa/mlx5: Add support for doorbell bypassing (Cindy Lu) [1975173] - vdpa/mlx5: Add support for running with virtio_vdpa (Cindy Lu) [1975173] - vdp/mlx5: Fix setting the correct dma_device (Cindy Lu) [1975173] - vdpa/mlx5: Support creating resources with uid == 0 (Cindy Lu) [1975173] - vdpa/mlx5: Fix possible failure in umem size calculation (Cindy Lu) [1975173] - vdpa/mlx5: Fix umem sizes assignments on VQ create (Cindy Lu) [1975173] - vp_vdpa: correct the return value when fail to map notification (Cindy Lu) [1975173] - virtio_net: Fix error handling in virtnet_restore() (Cindy Lu) [1975173] - virtio-blk: Fix memory leak among suspend/resume procedure (Cindy Lu) [1975173] - vDPA/ifcvf: reuse pre-defined macros for device ids and vendor ids (Cindy Lu) [1975173] - virtio: update virtio id table, add transitional ids (Cindy Lu) [1975173] - vDPA/ifcvf: implement doorbell mapping for ifcvf (Cindy Lu) [1975173] - vDPA/ifcvf: record virtio notify base (Cindy Lu) [1975173] - vdpa_sim_blk: remove duplicate include of linux/blkdev.h (Cindy Lu) [1975173] - {net,vdpa}/mlx5: Configure interface MAC into mpfs L2 table (Cindy Lu) [1975173] - virtio_pci_modern: correct sparse tags for notify (Cindy Lu) [1975173] - virtio_pci_modern: __force cast the notify mapping (Cindy Lu) [1975173] - vDPA/ifcvf: get_config_size should return dev specific config size (Cindy Lu) [1975173] - vDPA/ifcvf: enable Intel C5000X-PL virtio-block for vDPA (Cindy Lu) [1975173] - vDPA/ifcvf: deduce VIRTIO device ID when probe (Cindy Lu) [1975173] - vdpa_sim_blk: add support for vdpa management tool (Cindy Lu) [1975173] - vdpa_sim_blk: handle VIRTIO_BLK_T_GET_ID (Cindy Lu) [1975173] - vdpa_sim_blk: implement ramdisk behaviour (Cindy Lu) [1975173] - vdpa: add vdpa simulator for block device (Cindy Lu) [1975173] - vhost/vdpa: Remove the restriction that only supports virtio-net devices (Cindy Lu) [1975173] - vhost/vdpa: use get_config_size callback in vhost_vdpa_config_validate() (Cindy Lu) [1975173] - vdpa: add get_config_size callback in vdpa_config_ops (Cindy Lu) [1975173] - vdpa_sim: cleanup kiovs in vdpasim_free() (Cindy Lu) [1975173] - vringh: add vringh_kiov_length() helper (Cindy Lu) [1975173] - vringh: implement vringh_kiov_advance() (Cindy Lu) [1975173] - vringh: explain more about cleaning riov and wiov (Cindy Lu) [1975173] - vringh: reset kiov 'consumed' field in __vringh_iov() (Cindy Lu) [1975173] - vringh: add 'iotlb_lock' to synchronize iotlb accesses (Cindy Lu) [1975173] - vdpa_sim: use iova module to allocate IOVA addresses (Cindy Lu) [1975173] - vDPA/ifcvf: deduce VIRTIO device ID from pdev ids (Cindy Lu) [1975173] - vDPA/ifcvf: verify mandatory feature bits for vDPA (Cindy Lu) [1975173] - vDPA/ifcvf: fetch device feature bits when probe (Cindy Lu) [1975173] - vDPA/ifcvf: remove the version number string (Cindy Lu) [1975173] - vDPA/ifcvf: rename original IFCVF dev ids to N3000 ids (Cindy Lu) [1975173] - vDPA/ifcvf: enable Intel C5000X-PL virtio-net for vDPA (Cindy Lu) [1975173] - vDPA/ifcvf: get_vendor_id returns a device specific vendor id (Cindy Lu) [1975173] - vhost-vdpa: fix vm_flags for virtqueue doorbell mapping (Cindy Lu) [1975173] - vp_vdpa: report doorbell address (Cindy Lu) [1975173] - virtio-pci library: report resource address (Cindy Lu) [1975173] - virito_pci libray: hide vp_modern_map_capability() (Cindy Lu) [1975173] - virtio_pci_modern: hide vp_modern_get_queue_notify_off() (Cindy Lu) [1975173] - vp_vdpa: switch to use vp_modern_map_vq_notify() (Cindy Lu) [1975173] - virtio-pci library: switch to use vp_modern_map_vq_notify() (Cindy Lu) [1975173] - virtio_pci_modern: introduce helper to map vq notify area (Cindy Lu) [1975173] - virtio-net: don't allocate control_buf if not supported (Cindy Lu) [1975173] - vdpa: Follow kdoc comment style (Cindy Lu) [1975173] - vdpa: Follow kdoc comment style (Cindy Lu) [1975173] - vdpa/mlx5: Enable user to add/delete vdpa device (Cindy Lu) [1975173] - vdpa: introduce virtio pci driver (Cindy Lu) [1975173] - vdpa/mlx5: Set err = -ENOMEM in case dma_map_sg_attrs fails (Cindy Lu) [1975173] - vhost-vdpa: protect concurrent access to vhost device iotlb (Cindy Lu) [1975173] - vdpa/mlx5: Fix suspend/resume index restoration (Cindy Lu) [1975173] - vdpa/mlx5: Fix wrong use of bit numbers (Cindy Lu) [1975173] - vdpa/mlx5: should exclude header length and fcs from mtu (Cindy Lu) [1975173] - vhost-vdpa: set v->config_ctx to NULL if eventfd_ctx_fdget() fails (Cindy Lu) [1975173] - vhost-vdpa: fix use-after-free of v->config_ctx (Cindy Lu) [1975173] - vhost_vdpa: fix the missing irq_bypass_unregister_producer() invocation (Cindy Lu) [1975173] - vdpa_sim: Skip typecasting from void* (Cindy Lu) [1975173] - vdpa: set the virtqueue num during register (Cindy Lu) [1975173] - vdpa/mlx5: fix param validation in mlx5_vdpa_get_config() (Cindy Lu) [1975173] - virtio_vdpa: don't warn when fail to disable vq (Cindy Lu) [1975173] - virtio-pci: introduce modern device module (Cindy Lu) [1975173] - virito-pci-modern: rename map_capability() to vp_modern_map_capability() (Cindy Lu) [1975173] - virtio-pci-modern: introduce helper to get notification offset (Cindy Lu) [1975173] - virtio-pci-modern: introduce helper for getting queue nums (Cindy Lu) [1975173] - virtio-pci-modern: introduce helper for setting/geting queue size (Cindy Lu) [1975173] - virtio-pci-modern: introduce helper to set/get queue_enable (Cindy Lu) [1975173] - virtio-pci-modern: introduce vp_modern_queue_address() (Cindy Lu) [1975173] - virtio-pci-modern: introduce vp_modern_set_queue_vector() (Cindy Lu) [1975173] - virtio-pci-modern: introduce vp_modern_generation() (Cindy Lu) [1975173] - virtio-pci-modern: introduce helpers for setting and getting features (Cindy Lu) [1975173] - virtio-pci-modern: introduce helpers for setting and getting status (Cindy Lu) [1975173] - virtio-pci-modern: introduce helper to set config vector (Cindy Lu) [1975173] - virtio-pci-modern: introduce vp_modern_remove() (Cindy Lu) [1975173] - virtio-pci-modern: factor out modern device initialization logic (Cindy Lu) [1975173] - virtio-pci: split out modern device (Cindy Lu) [1975173] - virtio-pci: do not access iomem via struct virtio_pci_device directly (Cindy Lu) [1975173] - vdpa_sim_net: Add support for user supported devices (Cindy Lu) [1975173] - vdpa: Enable user to query vdpa device info (Cindy Lu) [1975173] - vdpa: Enable a user to add and delete a vdpa device (Cindy Lu) [1975173] - vdpa: Define vdpa mgmt device, ops and a netlink interface (Cindy Lu) [1975173] - vdpa: Extend routine to accept vdpa device name (Cindy Lu) [1975173] - vdpa_sim_net: Make mac address array static (Cindy Lu) [1975173] - vdpa/mlx5: Restore the hardware used index after change map (Cindy Lu) [1975173] - vdpa/mlx5: Fix memory key MTT population (Cindy Lu) [1975173] - vdpa: Use simpler version of ida allocation (Cindy Lu) [1975173] - vdpa: Add missing comment for virtqueue count (Cindy Lu) [1975173] - vdpa: split vdpasim to core and net modules (Cindy Lu) [1975173] - vdpa_sim: split vdpasim_virtqueue's iov field in out_iov and in_iov (Cindy Lu) [1975173] - vdpa_sim: make vdpasim->buffer size configurable (Cindy Lu) [1975173] - vdpa_sim: use kvmalloc to allocate vdpasim->buffer (Cindy Lu) [1975173] - vdpa_sim: set vringh notify callback (Cindy Lu) [1975173] - vdpa_sim: add set_config callback in vdpasim_dev_attr (Cindy Lu) [1975173] - vdpa_sim: add get_config callback in vdpasim_dev_attr (Cindy Lu) [1975173] - vdpa_sim: make 'config' generic and usable for any device type (Cindy Lu) [1975173] - vdpa_sim: store parsed MAC address in a buffer (Cindy Lu) [1975173] - vdpa_sim: add work_fn in vdpasim_dev_attr (Cindy Lu) [1975173] - vdpa_sim: add supported_features field in vdpasim_dev_attr (Cindy Lu) [1975173] - vdpa_sim: add device id field in vdpasim_dev_attr (Cindy Lu) [1975173] - vdpa_sim: add struct vdpasim_dev_attr for device attributes (Cindy Lu) [1975173] - vdpa_sim: rename vdpasim_config_ops variables (Cindy Lu) [1975173] - vdpa_sim: make IOTLB entries limit configurable (Cindy Lu) [1975173] - vdpa_sim: remove hard-coded virtq count (Cindy Lu) [1975173] - vdpa_sim: remove unnecessary headers inclusion (Cindy Lu) [1975173] - vdpa: remove unnecessary 'default n' in Kconfig entries (Cindy Lu) [1975173] - vdpa: ifcvf: Use dma_set_mask_and_coherent to simplify code (Cindy Lu) [1975173] - vhost_vdpa: switch to vmemdup_user() (Cindy Lu) [1975173] - vhost: vringh: use krealloc_array() (Cindy Lu) [1975173] - vringh: fix vringh_iov_push_*() documentation (Cindy Lu) [1975173] - vringh: fix __vringh_iov() when riov and wiov are different (Cindy Lu) [1975173] - net: sched: fix memory leak in tcindex_partial_destroy_work (Davide Caratti) [1987042] - net/sched: act_ct: remove and free nf_table callbacks (Davide Caratti) [1987042] - net: sched: fix warning in tcindex_alloc_perfect_hash (Davide Caratti) [1987042] - pkt_sched: sch_qfq: fix qfq_change_class() error path (Davide Caratti) [1987042] - sch_htb: fix refcount leak in htb_parent_to_leaf_offload (Davide Caratti) [1987042] - sch_dsmark: fix a NULL deref in qdisc_reset() (Davide Caratti) [1987042] - sch_red: fix off-by-one checks in red_check_params() (Davide Caratti) [1987042] - ipv6: fix 'disable_policy' for fwd packets (Hangbin Liu) [1985837] - net: ipv6: fix return value of ip6_skb_dst_mtu (Hangbin Liu) [1985837] - ipv6: fix out-of-bound access in ip6_parse_tlv() (Hangbin Liu) [1985837] - ipv6: exthdrs: do not blindly use init_net (Hangbin Liu) [1985837] - ipv6: record frag_max_size in atomic fragments in input path (Hangbin Liu) [1985837] - selftests: net: devlink_port_split.py: skip the test if no devlink device (Hangbin Liu) [1985836] - selftests/net: bump timeout to 5 minutes (Hangbin Liu) [1985836] - selftests: net: forwarding: Fix a typo (Hangbin Liu) [1985836] - selftests/net: so_txtime: remove unneeded semicolon (Hangbin Liu) [1985836] - tools: selftests: add test for changing routes with PTMU exceptions (Hangbin Liu) [1985836] - selftests: fix the return value for UDP GRO test (Hangbin Liu) [1985836] - selftests: pmtu.sh: improve the test result processing (Hangbin Liu) [1985836] - selftests: pmtu.sh: use $ksft_skip for skipped return code (Hangbin Liu) [1985836] - selftests/net: timestamping: add ptp v2 support (Hangbin Liu) [1985836] - ixgbevf: add correct exception tracing for XDP (Ken Cox) [1920268] - intel: call csum functions with well formatted arguments (Ken Cox) [1920268] - net: intel: Remove unused function pointer typedef ixgbe_mc_addr_itr (Ken Cox) [1920268] - ixgbevf: Fix fall-through warnings for Clang (Ken Cox) [1920268] - intel: clean up mismatched header comments (Ken Cox) [1920268] - ixgbe: fail to create xfrm offload of IPsec tunnel mode SA (Ken Cox) [1920268] - net: ixgbevf: use skb_csum_is_sctp instead of protocol check (Ken Cox) [1920268] - treewide: Use sizeof_field() macro (Ken Cox) [1920268] - selftests: net: add ESP-in-UDP PMTU test (Xin Long) [1986599] - udp: check encap socket in __udp_lib_err (Xin Long) [1986599] - udp: fix possible user after free in error handler (Xin Long) [1986599] - udpv6: fix possible user after free in error handler (Xin Long) [1986599] - udp: Support for error handlers of tunnels with arbitrary destination port (Xin Long) [1986599] - bpf, sockmap, udp: sk_prot needs inuse_idx set for proc stats (Xin Long) [1986599] - udp: properly flush normal packet at GRO time (Xin Long) [1986599] - udp: annotate data races around unix_sk(sk)->gso_size (Xin Long) [1986599] - udp: fix race between close() and udp_abort() (Xin Long) [1986599] - netfilter: conntrack: remove offload_pickup sysctl again (Florian Westphal) [1987101] - bpf, samples: Add -fno-asynchronous-unwind-tables to BPF Clang invocation (Yauheni Kaliuta) [1977162] - net/af_unix: fix a data-race in unix_dgram_sendmsg / unix_release_sock (Balazs Nemeth) [1986845] - netfilter: nf_tables: fix flowtable list del corruption (Jay Shin) [1977137] - net: qrtr: fix memory leaks (Íñigo Huguet) [1981236] - net: qrtr: fix OOB Read in qrtr_endpoint_post (Íñigo Huguet) [1981236] - net: qrtr: ns: Fix error return code in qrtr_ns_init() (Íñigo Huguet) [1981236] - net: qrtr: Avoid potential use after free in MHI send (Íñigo Huguet) [1981236] - qrtr: Convert qrtr_ports from IDR to XArray (Íñigo Huguet) [1981236] - net: qrtr: Fix memory leak on qrtr_tx_wait failure (Íñigo Huguet) [1981236] - net: qrtr: fix a kernel-infoleak in qrtr_recvmsg() (Íñigo Huguet) [1981236] - net: qrtr: fix error return code of qrtr_sendmsg() (Íñigo Huguet) [1981236] - net/qrtr: fix __netdev_alloc_skb call (Íñigo Huguet) [1981236] - net: qrtr: Fix memory leak in qrtr_tun_open (Íñigo Huguet) [1981236] - net/qrtr: restrict user-controlled length in qrtr_tun_write_iter() (Íñigo Huguet) [1981236] - net: qrtr: fix null-ptr-deref in qrtr_ns_remove (Íñigo Huguet) [1981236] - net: qrtr: Unprepare MHI channels during remove (Íñigo Huguet) [1981236] - net: qrtr: Start MHI channels during init (Íñigo Huguet) [1981236] - net: qrtr: Release distant nodes along the bridge node (Íñigo Huguet) [1981236] - net: qrtr: Add GFP flags parameter to qrtr_alloc_ctrl_packet (Íñigo Huguet) [1981236] - net: qrtr: Allow non-immediate node routing (Íñigo Huguet) [1981236] - net: qrtr: Allow forwarded services (Íñigo Huguet) [1981236] - net: qrtr: Fix port ID for control messages (Íñigo Huguet) [1981236] - net: qrtr: ns: Fix the incorrect usage of rcu_read_lock() (Íñigo Huguet) [1981236] - net: qrtr: ns: Protect radix_tree_deref_slot() using rcu read locks (Íñigo Huguet) [1981236] - net: qrtr: check skb_put_padto() return value (Íñigo Huguet) [1981236] - net: qrtr: fix usage of idr in port assignment to socket (Íñigo Huguet) [1981236] - qrtr: orphan socket in qrtr_release() (Íñigo Huguet) [1981236] - net: qrtr: Fix an out of bounds read qrtr_endpoint_post() (Íñigo Huguet) [1981236] - net: qrtr: free flow in __qrtr_node_release (Íñigo Huguet) [1981236] - treewide: replace '---help---' in Kconfig files with 'help' (Íñigo Huguet) [1981236] - net: qrtr: Allocate workqueue before kernel_bind (Íñigo Huguet) [1981236] - net: qrtr: Fix passing invalid reference to qrtr_local_enqueue() (Íñigo Huguet) [1981236] - net: qrtr: Add MHI transport layer (Íñigo Huguet) [1981236] - net: qrtr: Add tracepoint support (Íñigo Huguet) [1981236] - net: qrtr: send msgs from local of same id as broadcast (Íñigo Huguet) [1981236] - net: qrtr: Fix FIXME related to qrtr_ns_init() (Íñigo Huguet) [1981236] - net: qrtr: Respond to HELLO message (Íñigo Huguet) [1981236] - net: qrtr: Fix error pointer vs NULL bugs (Íñigo Huguet) [1981236] - net: qrtr: fix spelling mistake "serivce" -> "service" (Íñigo Huguet) [1981236] - net: qrtr: Fix the local node ID as 1 (Íñigo Huguet) [1981236] - net: qrtr: Migrate nameservice to kernel from userspace (Íñigo Huguet) [1981236] - net: qrtr: Remove receive worker (Íñigo Huguet) [1981236] - net: qrtr: Make qrtr_port_lookup() use RCU (Íñigo Huguet) [1981236] - net: qrtr: Migrate node lookup tree to spinlock (Íñigo Huguet) [1981236] - net: qrtr: Implement outgoing flow control (Íñigo Huguet) [1981236] - net: qrtr: Move resume-tx transmission to recvmsg (Íñigo Huguet) [1981236] - net: qrtr: fix len of skb_put_padto in qrtr_node_enqueue (Íñigo Huguet) [1981236] - net: qrtr: Simplify 'qrtr_tun_release()' (Íñigo Huguet) [1981236] - net: qrtr: Stop rx_worker before freeing node (Íñigo Huguet) [1981236] - net: qrtr: fix memort leak in qrtr_tun_write_iter (Íñigo Huguet) [1981236] - treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 284 (Íñigo Huguet) [1981236] - treewide: Add SPDX license identifier - Makefile/Kconfig (Íñigo Huguet) [1981236] - net: qrtr: Fix message type of outgoing packets (Íñigo Huguet) [1981236] - net: qrtr: use protocol endiannes variable (Íñigo Huguet) [1981236] - net: fix hangup on napi_disable for threaded napi (Paolo Abeni) [1949546] - net: fix race between napi kthread mode and busy poll (Paolo Abeni) [1949546] - net: add sysfs attribute to control napi threaded mode (Paolo Abeni) [1949546] - net: implement threaded-able napi poll loop support (Paolo Abeni) [1949546] - net: extract napi poll functionality to __napi_poll() (Paolo Abeni) [1949546] - mfd: intel-lpss: Use devm_ioremap_uc for MMIO (Steve Best) [1986715] - lib: devres: add a helper function for ioremap_uc (Steve Best) [1986715] - sched/rt: Fix double enqueue caused by rt_effective_prio (Juri Lelli) [1990566] - x86/crash: Remove crash_reserve_low_1M() (Lianbo Jiang) [1904318] - x86/setup: Remove CONFIG_X86_RESERVE_LOW and reservelow= options (Lianbo Jiang) [1904318] - x86/setup: Always reserve the first 1M of RAM (Lianbo Jiang) [1904318] - powerpc/kexec: blacklist functions called in real mode for kprobe (Desnes A. Nunes do Rosario) [1987281] - [s390] scsi: zfcp: Report port fc_security as unknown early during remote cable pull (Claudio Imbrenda) [1989910] - x86/boot: Use common BUILD_BUG_ON (Prarit Bhargava) [1979940] - net: phy: icplus: call phy_restore_page() when phy_select_page() fails (Petr Oros) [1955165] - net: phy: ti: take into account all possible interrupt sources (Petr Oros) [1955165] - net: phy: smsc: add missed clk_disable_unprepare in smsc_phy_probe() (Petr Oros) [1955165] - net: phy: Expose phydev::dev_flags through sysfs (Petr Oros) [1955165] - net: phy: fix save wrong speed and duplex problem if autoneg is on (Petr Oros) [1955165] - net: phy: micrel: set soft_reset callback to genphy_soft_reset for KSZ8081 (Petr Oros) [1955165] - net: phy: icplus: add MDI/MDIX support for IP101A/G (Petr Oros) [1955165] - net: phy: icplus: add PHY counter for IP101G (Petr Oros) [1955165] - net: phy: icplus: fix paged register access (Petr Oros) [1955165] - net: phy: icplus: don't set APS_EN bit on IP101G (Petr Oros) [1955165] - net: phy: icplus: split IP101A/G driver (Petr Oros) [1955165] - net: phy: icplus: use the .soft_reset() of the phy-core (Petr Oros) [1955165] - net: phy: icplus: drop address operator for functions (Petr Oros) [1955165] - net: phy: icplus: use PHY_ID_MATCH_EXACT() for IP101A/G (Petr Oros) [1955165] - net: phy: icplus: use PHY_ID_MATCH_MODEL() macro (Petr Oros) [1955165] - net: phy: drop explicit genphy_read_status() op (Petr Oros) [1955165] - net: phy: broadcom: remove BCM5482 1000Base-BX support (Petr Oros) [1955165] - net: mdiobus: Prevent spike on MDIO bus reset signal (Petr Oros) [1955165] - net: phy: realtek: Add support for RTL9000AA/AN (Petr Oros) [1955165] - mdio, phy: fix -Wshadow warnings triggered by nested container_of() (Petr Oros) [1955165] - net: phy: national: remove definition of DEBUG (Petr Oros) [1955165] - net: phy: ar803x: disable extended next page bit (Petr Oros) [1955165] - net: phy: smsc: fix clk error handling (Petr Oros) [1955165] - net: phy: at803x: use phy_modify_mmd() (Petr Oros) [1955165] - net: phy: replace mutex_is_locked with lockdep_assert_held in phylib (Petr Oros) [1955165] - net: phy: micrel: Add KS8851 PHY support (Petr Oros) [1955165] - net: phy: marvell: replace phy_modify() (Petr Oros) [1955165] - net: phy: micrel: fix interrupt handling (Petr Oros) [1955165] - net: phy: remove the .did_interrupt() and .ack_interrupt() callback (Petr Oros) [1955165] - net: phy: qsemi: remove the use of .ack_interrupt() (Petr Oros) [1955165] - net: phy: qsemi: implement generic .handle_interrupt() callback (Petr Oros) [1955165] - net: phy: ti: remove the use of .ack_interrupt() (Petr Oros) [1955165] - net: phy: ti: implement generic .handle_interrupt() callback (Petr Oros) [1955165] - net: phy: national: remove the use of the .ack_interrupt() (Petr Oros) [1955165] - net: phy: national: implement generic .handle_interrupt() callback (Petr Oros) [1955165] - net: phy: micrel: remove the use of .ack_interrupt() (Petr Oros) [1955165] - net: phy: micrel: implement generic .handle_interrupt() callback (Petr Oros) [1955165] - net: phy: icplus: remove the use .ack_interrupt() (Petr Oros) [1955165] - net: phy: icplus: implement generic .handle_interrupt() callback (Petr Oros) [1955165] - net: phy: intel-xway: remove the use of .ack_interrupt() (Petr Oros) [1955165] - net: phy: intel-xway: implement generic .handle_interrupt() callback (Petr Oros) [1955165] - mdio_bus: suppress err message for reset gpio EPROBE_DEFER (Petr Oros) [1955165] - net: phy: don't duplicate driver name in phy_attached_print (Petr Oros) [1955165] - net: phy: ste10Xp: remove the use of .ack_interrupt() (Petr Oros) [1955165] - net: phy: ste10Xp: implement generic .handle_interrupt() callback (Petr Oros) [1955165] - net: phy: smsc: remove the use of .ack_interrupt() (Petr Oros) [1955165] - net: phy: smsc: implement generic .handle_interrupt() callback (Petr Oros) [1955165] - net: phy: amd: remove the use of .ack_interrupt() (Petr Oros) [1955165] - net: phy: amd: implement generic .handle_interrupt() callback (Petr Oros) [1955165] - net: phy: lxt: remove the use of .ack_interrupt() (Petr Oros) [1955165] - net: phy: lxt: implement generic .handle_interrupt() callback (Petr Oros) [1955165] - net: phy: marvell: remove the use of .ack_interrupt() (Petr Oros) [1955165] - net: phy: marvell: implement generic .handle_interrupt() callback (Petr Oros) [1955165] - net: phy: microchip: remove the use of .ack_interrupt() (Petr Oros) [1955165] - net: phy: microchip: implement generic .handle_interrupt() callback (Petr Oros) [1955165] - net: phy: vitesse: remove the use of .ack_interrupt() (Petr Oros) [1955165] - net: phy: vitesse: implement generic .handle_interrupt() callback (Petr Oros) [1955165] - net: phy: aquantia: do not return an error on clearing pending IRQs (Petr Oros) [1955165] - net: phy: microchip_t1: Don't set .config_aneg (Petr Oros) [1955165] - docs: networking: phy: s/2.5 times faster/2.5 times as fast/ (Petr Oros) [1955165] - net: phy: realtek: remove the use of .ack_interrupt() (Petr Oros) [1955165] - net: phy: realtek: implement generic .handle_interrupt() callback (Petr Oros) [1955165] - net: phy: add genphy_handle_interrupt_no_ack() (Petr Oros) [1955165] - net: phy: davicom: remove the use of .ack_interrupt() (Petr Oros) [1955165] - net: phy: davicom: implement generic .handle_interrupt() calback (Petr Oros) [1955165] - net: phy: cicada: remove the use of .ack_interrupt() (Petr Oros) [1955165] - net: phy: cicada: implement the generic .handle_interrupt() callback (Petr Oros) [1955165] - net: phy: broadcom: remove use of ack_interrupt() (Petr Oros) [1955165] - net: phy: broadcom: implement generic .handle_interrupt() callback (Petr Oros) [1955165] - net: phy: aquantia: remove the use of .ack_interrupt() (Petr Oros) [1955165] - net: phy: aquantia: implement generic .handle_interrupt() callback (Petr Oros) [1955165] - net: phy: mscc: remove the use of .ack_interrupt() (Petr Oros) [1955165] - net: phy: mscc: implement generic .handle_interrupt() callback (Petr Oros) [1955165] - net: phy: at803x: remove the use of .ack_interrupt() (Petr Oros) [1955165] - net: phy: at803x: implement generic .handle_interrupt() callback (Petr Oros) [1955165] - net: phy: make .ack_interrupt() optional (Petr Oros) [1955165] - net: phy: add a shutdown procedure (Petr Oros) [1955165] - net: phy: export phy_error and phy_trigger_machine (Petr Oros) [1955165] - drivers: net: phy: Fix spelling in comment defalut to default (Petr Oros) [1955165] - net: phy: marvell: add special handling of Finisar modules with 88E1111 (Petr Oros) [1955165] - net: phylink: disable BMCR_ISOLATE in phylink_mii_c22_pcs_config (Petr Oros) [1955165] - gpiolib: Extract gpiod_not_found() helper (Petr Oros) [1955165] - net: phy: marvell: Use phy_read_paged() instead of open coding it (Petr Oros) [1955165] - net: phy: dp83869: fix unsigned comparisons against less than zero values (Petr Oros) [1955165] - net: phy: dp83869: Add speed optimization feature (Petr Oros) [1955165] - net: phy: dp83869: support Wake on LAN (Petr Oros) [1955165] - net: phy: dp83822: Update the fiber advertisement for speed (Petr Oros) [1955165] - net: dp83869: Add ability to advertise Fiber connection (Petr Oros) [1955165] - net: phy: Do not warn in phy_stop() on PHY_DOWN (Petr Oros) [1955165] - net: phy: Avoid NPD upon phy_detach() when driver is unbound (Petr Oros) [1955165] - net: phy: bcm7xxx: request and manage GPHY clock (Petr Oros) [1955165] - net: phy: smsc: LAN8710/20: add phy refclk in support (Petr Oros) [1955165] - net: phy: smsc: simplify config_init callback (Petr Oros) [1955165] - net: phy: smsc: skip ENERGYON interrupt if disabled (Petr Oros) [1955165] - net: phy: dp83867: Fix various styling and space issues (Petr Oros) [1955165] - net: mdiobus: add clause 45 mdiobus write accessor (Petr Oros) [1955165] - net: phylink: consider QSGMII interface mode in phylink_mii_c22_pcs_get_state (Petr Oros) [1955165] - net: phylink: add helper function to decode USXGMII word (Petr Oros) [1955165] - net: phy: DP83822: Add ability to advertise Fiber connection (Petr Oros) [1955165] - net: dp83869: Fix RGMII internal delay configuration (Petr Oros) [1955165] - net: mdio-mux-gpio: use devm_gpiod_get_array() (Petr Oros) [1955165] - net: phy: add USXGMII link partner ability constants (Petr Oros) [1955165] - net: phy: mdio-octeon: Cleanup module loading dependencies (Petr Oros) [1955165] - net: phy: cavium: Improve __iomem mess (Petr Oros) [1955165] - net: phy: Add a helper to return the index for of the internal delay (Petr Oros) [1955165] - dt-bindings: net: Add RGMII internal delay for DP83869 (Petr Oros) [1955165] - net: dp83869: Add RGMII internal delay configuration (Petr Oros) [1955165] - net: phy: DP83822: Add setting the fixed internal delay (Petr Oros) [1955165] - net: dp83869: Fix OF_MDIO config check (Petr Oros) [1955165] - net: dp83867: Fix OF_MDIO config check (Petr Oros) [1955165] - net: marvell: Fix OF_MDIO config check (Petr Oros) [1955165] - net: phy: mscc: use mdiobus_get_phy() (Petr Oros) [1955165] - net: phy: improve phy_driver callback handle_interrupt (Petr Oros) [1955165]- net/mlx5e: Add IPsec support to uplink representor (Alaa Hleihel) [1980171 1926098] - net/mlx5e: TC: Reserved bit 31 of REG_C1 for IPsec offload (Alaa Hleihel) [1980171 1926098] - net/mlx5e: TC: Use bit counts for register mapping (Alaa Hleihel) [1980171 1926098] - RDMA/mlx5: Don't access NULL-cleared mpi pointer (Alaa Hleihel) [1980171] - RDMA/mlx5: Split mlx5_ib_update_xlt() into ODP and non-ODP cases (Alaa Hleihel) [1980171] - ip6_tunnel: allow redirecting ip6gre and ipxip6 packets to eth devices (Guillaume Nault) [1921539] - gre: let mac_header point to outer header only when necessary (Guillaume Nault) [1921539] - sit: allow redirecting ip6ip, ipip and mplsip packets to eth devices (Guillaume Nault) [1921539] - ipip: allow redirecting ipip and mplsip packets to eth devices (Guillaume Nault) [1921539] - bareudp: allow redirecting bareudp packets to eth devices (Guillaume Nault) [1921539] - net: handle ARPHRD_IP6GRE in dev_is_mac_header_xmit() (Guillaume Nault) [1921539] - net: ipv4: fix memory leak in ip_mc_add1_src (Guillaume Nault) [1987605] - net: ipv4: fix memory leak in netlbl_cipsov4_add_std (Guillaume Nault) [1987605] - ixgbe: fix probing of multi-port devices with one MDIO (Ken Cox) [1968696] - [s390] s390/qdio: let driver manage the QAOB (Claudio Imbrenda) [1919250] - [s390] s390/qeth: remove RX VLAN filter stubs in L3 driver (Claudio Imbrenda) [1919250] - [s390] s390/qeth: enable napi_consume_skb() for pending TX buffers (Claudio Imbrenda) [1919250] - [s390] s390/qeth: allocate initial TX Buffer structs with GFP_KERNEL (Claudio Imbrenda) [1919250] - [s390] s390/qeth: fix notification for pending buffers during teardown (Claudio Imbrenda) [1919250] - [s390] s390/qeth: schedule TX NAPI on QAOB completion (Claudio Imbrenda) [1919250] - [s390] s390/qeth: improve completion of pending TX buffers (Claudio Imbrenda) [1919250] - [s390] s390/qeth: fix memory leak after failed TX Buffer allocation (Claudio Imbrenda) [1919250] - [s390] s390/qeth: don't fake a TX completion interrupt after TX error (Claudio Imbrenda) [1919250] - [s390] s390/qeth: make cast type selection for af_iucv skbs robust (Claudio Imbrenda) [1919250] - [s390] s390/qeth: pass proto to qeth_l3_get_cast_type() (Claudio Imbrenda) [1919250] - [s390] s390/qeth: remove qeth_get_ip_version() (Claudio Imbrenda) [1919250] - [s390] s390/qeth: clean up load/remove code for disciplines (Claudio Imbrenda) [1919250] - [s390] s390/qeth: fix L2 header access in qeth_l3_osa_features_check() (Claudio Imbrenda) [1919250] - [s390] s390/qeth: fix locking for discipline setup / removal (Claudio Imbrenda) [1919250] - [s390] s390/qeth: fix deadlock during recovery (Claudio Imbrenda) [1919250] - [s390] s390/qeth: make qeth_qdio_handle_aob() more robust (Claudio Imbrenda) [1919250] - [s390] s390/qeth: remove QETH_QDIO_BUF_HANDLED_DELAYED state (Claudio Imbrenda) [1919250] - [s390] s390/qeth: don't replace a fully completed async TX buffer (Claudio Imbrenda) [1919250] - [s390] s390/qeth: use dev->groups for common sysfs attributes (Claudio Imbrenda) [1919250] - [s390] s390/ccwgroup: use bus->dev_groups for bus-based sysfs attributes (Claudio Imbrenda) [1919250] - [s390] s390/qeth: don't call INIT_LIST_HEAD() on iob's list entry (Claudio Imbrenda) [1919250] - [s390] s390/qeth: fix tear down of async TX buffers (Claudio Imbrenda) [1919250] - [s390] s390/qeth: fix af_iucv notification race (Claudio Imbrenda) [1919250] - [s390] s390/qeth: improve selection of ethtool link modes (Claudio Imbrenda) [1919250] - [s390] s390/qeth: use QUERY OAT for initial link info (Claudio Imbrenda) [1919250] - [s390] s390/qeth: clean up default cases for ethtool link mode (Claudio Imbrenda) [1919250] - [s390] s390/qeth: set static link info during initialization (Claudio Imbrenda) [1919250] - [s390] s390/qeth: improve QUERY CARD INFO processing (Claudio Imbrenda) [1919250] - [s390] s390/qeth: tolerate error when querying card info (Claudio Imbrenda) [1919250] - [s390] s390/qeth: remove useless if/else (Claudio Imbrenda) [1919250] - [s390] s390/qeth: reduce rtnl locking for switchdev events (Claudio Imbrenda) [1919250] - [s390] s390/qeth: static checker cleanups (Claudio Imbrenda) [1919250] - [s390] s390/qeth: use netdev_name() (Claudio Imbrenda) [1919250] - [s390] s390/qeth: constify the disciplines (Claudio Imbrenda) [1919250] - [s390] s390/qeth: allow configuration of TX queues for OSA devices (Claudio Imbrenda) [1919250] - [s390] s390/qeth: de-magic the QIB parm area (Claudio Imbrenda) [1919250] - [s390] s390/qeth: keep track of wanted TX queues (Claudio Imbrenda) [1919250] - [s390] s390/qeth: remove forward declarations in L2 code (Claudio Imbrenda) [1919250] - [s390] s390/qeth: consolidate teardown code (Claudio Imbrenda) [1919250] - [s390] s390/qeth: consolidate online code (Claudio Imbrenda) [1919250] - [s390] s390/qeth: cancel cmds earlier during teardown (Claudio Imbrenda) [1919250] - [s390] s390/qeth: tighten ucast IP locking (Claudio Imbrenda) [1919250] - [s390] s390/qeth: replace deprecated simple_stroul() (Claudio Imbrenda) [1919250] - [s390] s390/qeth: clean up string ops in qeth_l3_parse_ipatoe() (Claudio Imbrenda) [1919250] - [s390] s390/qeth: relax locking for ipato config data (Claudio Imbrenda) [1919250] - [s390] s390/qeth: don't init refcount twice for mcast IPs (Claudio Imbrenda) [1919250] - mm, page_alloc: check for max order in hot path (Jay Shin) [1982466] - be2net: Fix an error handling path in 'be_probe()' (Petr Oros) [1980665] - net: emulex: benet: simplify the return expression of be_if_create() (Petr Oros) [1980665] - treewide: Use fallthrough pseudo-keyword (Petr Oros) [1980665] - be2net: convert to new udp_tunnel_nic infra (Petr Oros) [1980665] - benet: use generic power management (Petr Oros) [1980665] - treewide: replace '---help---' in Kconfig files with 'help' (Petr Oros) [1980665] - hwmon: (k10temp) Zen3 Ryzen Desktop CPUs support (David Arcari) [1980072] - hwmon: (k10temp) Remove support for displaying voltage and current on Zen CPUs (David Arcari) [1980072] - hwmon: (k10temp) Add support for Zen3 CPUs (David Arcari) [1980072] - hwmon: (k10temp) Take out debugfs code (David Arcari) [1980072] - hwmon: (k10temp) Define SVI telemetry and current factors for Zen2 CPUs (David Arcari) [1980072] - hwmon: (k10temp) Create common functions and macros for Zen CPU families (David Arcari) [1980072] - hwmon: (k10temp) Add AMD family 17h model 60h PCI match (David Arcari) [1980072] - hwmon: (k10temp) make some symbols static (David Arcari) [1980072] - hwmon: (k10temp) Reorganize and simplify temperature support detection (David Arcari) [1980072] - hwmon: (k10temp) Swap Tdie and Tctl on Family 17h CPUs (David Arcari) [1980072] - hwmon: (k10temp) Display up to eight sets of CCD temperatures (David Arcari) [1980072] - hwmon: (k10temp) Add debugfs support (David Arcari) [1980072] - hwmon: (k10temp) Don't show temperature limits on Ryzen (Zen) CPUs (David Arcari) [1980072] - hwmon: (k10temp) Show core and SoC current and voltages on Ryzen CPUs (David Arcari) [1980072] - hwmon: (k10temp) Report temperatures per CPU die (David Arcari) [1980072] - hmon: (k10temp) Convert to use devm_hwmon_device_register_with_info (David Arcari) [1980072] - hwmon: (k10temp) Use bitops (David Arcari) [1980072] - hwmon: (k10temp) Add support for AMD family 17h, model 70h CPUs (David Arcari) [1980072] - treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 56 (David Arcari) [1980072] - hwmon: (k10temp) Add Hygon Dhyana support (David Arcari) [1980072] - hwmon: (k10temp) Auto-convert to use SENSOR_DEVICE_ATTR_{RO, RW, WO} (David Arcari) [1980072] - hwmon: (k10temp) Support all Family 15h Model 6xh and Model 7xh processors (David Arcari) [1980072] - hwmon: k10temp: Support Threadripper 2920X, 2970WX; simplify offset table (David Arcari) [1980072] - hwmon: (k10temp) 27C Offset needed for Threadripper2 (David Arcari) [1980072] - x86/amd_nb: Add AMD family 17h model 60h PCI IDs (David Arcari) [1980072] - x86/amd_nb: Add PCI device IDs for family 17h, model 70h (David Arcari) [1980072] - x86/pci, x86/amd_nb: Add Hygon Dhyana support to PCI and northbridge (David Arcari) [1980072] - Revert "[hwmon] hwmon: (k10temp) Add support for Zen3 CPUs" (David Arcari) [1980072] - serial: 8250: Process sysrq at port unlock time (Prarit Bhargava) [1982016] - serial: core: Include console.h from serial_core.h (Prarit Bhargava) [1982016] - serial: core: Allow processing sysrq at port unlock time (Prarit Bhargava) [1982016] - [s390] s390/dasd: add missing discipline function (Claudio Imbrenda) [1981804] - bnxt_en: Validate vlan protocol ID on RX packets (Jonathan Toppins) [1960961] - KVM: do not allow mapping valid but non-reference-counted pages (Jon Maloy) [1975515] - gfs2: Fix error handling in init_statfs (Andreas Gruenbacher) [1872440] - gfs2: Fix underflow in gfs2_page_mkwrite (Andreas Gruenbacher) [1872440] - gfs2: Pass glock holder to gfs2_file_direct_{read,write} (Andreas Gruenbacher) [1872440] - gfs2: Prevent direct-I/O write fallback errors from getting lost (Andreas Gruenbacher) [1872440] - gfs2: Improve mmap write vs. truncate consistency (Andreas Gruenbacher) [1872440] - iomap: Permit pages without an iop to enter writeback (Andreas Gruenbacher) [1872440] - iomap: Don't create iomap_page objects for inline files (Andreas Gruenbacher) [1872440] - gfs2: Clean up gfs2_unstuff_dinode (Andreas Gruenbacher) [1872440] - gfs2: Unstuff before locking page in gfs2_page_mkwrite (Andreas Gruenbacher) [1872440] - gfs2: Clean up the error handling in gfs2_page_mkwrite (Andreas Gruenbacher) [1872440] - gfs2: Fix end-of-file handling in gfs2_page_mkwrite (Andreas Gruenbacher) [1872440] - gfs2: Use resource group glock sharing (Andreas Gruenbacher) [1442151] - gfs2: Allow node-wide exclusive glock sharing (Andreas Gruenbacher) [1442151] - gfs2: Add local resource group locking (Andreas Gruenbacher) [1442151] - gfs2: Add per-reservation reserved block accounting (Andreas Gruenbacher) [1442151] - gfs2: Rename rs_{free -> requested} and rd_{reserved -> requested} (Andreas Gruenbacher) [1442151] - gfs2: Check for active reservation in gfs2_release (Andreas Gruenbacher) [1442151] - gfs2: Don't search for unreserved space twice (Andreas Gruenbacher) [1442151] - gfs2: Only pass reservation down to gfs2_rbm_find (Andreas Gruenbacher) [1442151] - gfs2: Also reflect single-block allocations in rgd->rd_extfail_pt (Andreas Gruenbacher) [1442151] - gfs2: Set GBF_FULL flags when reading resource group (Andreas Gruenbacher) [1442151] - gfs2: Don't clear GBF_FULL flags in rs_deltree (Andreas Gruenbacher) [1442151] - Revert "gfs2: Don't reject a supposedly full bitmap if we have blocks reserved" (Andreas Gruenbacher) [1442151] - gfs2: Minor gfs2_inplace_reserve cleanup (Andreas Gruenbacher) [1442151] - gfs2: Get rid of unnecessary variable in gfs2_alloc_blocks (Andreas Gruenbacher) [1442151] - gfs2: Only use struct gfs2_rbm for bitmap manipulations (Andreas Gruenbacher) [1442151] - gfs2: Turn gfs2_rbm_incr into gfs2_rbm_add (Andreas Gruenbacher) [1872440] - gfs2: Replace gfs2_lblk_to_dblk with gfs2_get_extent (Andreas Gruenbacher) [1872440] - gfs2: Turn gfs2_extent_map into gfs2_{get,alloc}_extent (Andreas Gruenbacher) [1872440] - gfs2: Add new gfs2_iomap_get helper (Andreas Gruenbacher) [1872440] - gfs2: Make inode operations static (Andreas Gruenbacher) [1872440] - gfs2: use iomap for buffered I/O in ordered and writeback mode (Andreas Gruenbacher) [1872440] - gfs2: Never call gfs2_block_zero_range with an open transaction (Andreas Gruenbacher) [1872440] - gfs2: Upgrade shared glocks for atime updates (Andreas Gruenbacher) [1872440] - gfs2: Rework read and page fault locking (Andreas Gruenbacher) [1872440] - fs: Add IOCB_NOIO flag for generic_file_read_iter (Andreas Gruenbacher) [1872440] - gfs2: Remove duplicate call from gfs2_create_inode (Andreas Gruenbacher) [1872440] - gfs2: Multi-block allocations in gfs2_page_mkwrite (Andreas Gruenbacher) [1872440] - gfs2: implement gfs2_block_zero_range using iomap_zero_range (Andreas Gruenbacher) [1872440] - gfs2: Add support for IOMAP_ZERO (Andreas Gruenbacher) [1872440] - gfs2: gfs2_iomap_begin cleanup (Andreas Gruenbacher) [1872440] - gfs2: Remove unused gfs2_iomap_alloc argument (Andreas Gruenbacher) [1872440] - gfs2: don't use buffer_heads in gfs2_allocate_page_backing (Andreas Gruenbacher) [1872440] - gfs2: use iomap_bmap instead of generic_block_bmap (Andreas Gruenbacher) [1872440] - gfs2: mark stuffed_readpage static (Andreas Gruenbacher) [1872440] - gfs2: merge gfs2_writepage_common into gfs2_writepage (Andreas Gruenbacher) [1872440] - gfs2: merge gfs2_writeback_aops and gfs2_ordered_aops (Andreas Gruenbacher) [1872440] - gfs2: remove the unused gfs2_stuffed_write_end function (Andreas Gruenbacher) [1872440] - gfs2: use page_offset in gfs2_page_mkwrite (Andreas Gruenbacher) [1442151] - gfs2: Add new sysfs file for gfs2 status (Andreas Gruenbacher) [1442151] - gfs2: Per-revoke accounting in transactions (Andreas Gruenbacher) [1442151] - gfs2: Rework the log space allocation logic (Andreas Gruenbacher) [1442151] - gfs2: Minor calc_reserved cleanup (Andreas Gruenbacher) [1442151] - gfs2: Move function gfs2_ail_empty_tr (Andreas Gruenbacher) [1442151] - gfs2: Get rid of current_tail() (Andreas Gruenbacher) [1442151] - gfs2: Use a tighter bound in gfs2_trans_begin (Andreas Gruenbacher) [1442151] - gfs2: Clean up gfs2_log_reserve (Andreas Gruenbacher) [1442151] - gfs2: Don't wait for journal flush in clean_journal (Andreas Gruenbacher) [1442151] - gfs2: Move lock flush locking to gfs2_trans_{begin,end} (Andreas Gruenbacher) [1442151] - gfs2: Get rid of sd_reserving_log (Andreas Gruenbacher) [1442151] - gfs2: Clean up on-stack transactions (Andreas Gruenbacher) [1442151] - gfs2: Use sb_start_intwrite in gfs2_ail_empty_gl (Andreas Gruenbacher) [1442151] - gfs2: Clean up ail2_empty (Andreas Gruenbacher) [1442151] - gfs2: Rename gfs2_{write => flush}_revokes (Andreas Gruenbacher) [1442151] - gfs2: Minor debugging improvement (Andreas Gruenbacher) [1442151] - gfs2: Some documentation updates (Andreas Gruenbacher) [1442151] - gfs2: Minor gfs2_write_revokes cleanups (Andreas Gruenbacher) [1442151] - gfs2: Simplify the buf_limit and databuf_limit definitions (Andreas Gruenbacher) [1442151] - gfs2: Un-obfuscate function jdesc_find_i (Andreas Gruenbacher) [1442151] - gfs2: Fix fall-through warnings for Clang (Andreas Gruenbacher) [1442151] - gfs2: Make gfs2_setattr_simple static (Andreas Gruenbacher) [1442151] - gfs2: Turn gfs2_meta_indirect_buffer into gfs2_meta_buffer (Andreas Gruenbacher) [1442151] - gfs2: Remove unused variable sb_format (Andreas Gruenbacher) [1442151] - gfs2: Fix dir.c function parameter descriptions (Andreas Gruenbacher) [1442151] - gfs2: Eliminate gh parameter from go_xmote_bh func (Andreas Gruenbacher) [1442151] - gfs2: don't create empty buffers for NO_CREATE (Andreas Gruenbacher) [1442151] - gfs2: Flag a withdraw if init_threads() fails (Andreas Gruenbacher) [1442151] - gfs2: bypass log flush if the journal is not live (Andreas Gruenbacher) [1442151] - gfs2: bypass signal_our_withdraw if no journal (Andreas Gruenbacher) [1442151] - gfs2: fix use-after-free in trans_drain (Andreas Gruenbacher) [1442151] - gfs2: make function gfs2_make_fs_ro() to void type (Andreas Gruenbacher) [1442151] - whack-a-mole: don't open-code iminor/imajor (Andreas Gruenbacher) [1442151] - gfs2: amend SLAB_RECLAIM_ACCOUNT on gfs2 related slab cache (Andreas Gruenbacher) [1442151] - gfs2: Remove sb_start_write from gfs2_statfs_sync (Andreas Gruenbacher) [1442151] - gfs2: check for empty rgrp tree in gfs2_ri_update (Andreas Gruenbacher) [1442151] - gfs2: set lockdep subclass for iopen glocks (Andreas Gruenbacher) [1442151] - gfs2: Fix deadlock dumping resource group glocks (Andreas Gruenbacher) [1442151] - gfs2: Wake up when sd_glock_disposal becomes zero (Andreas Gruenbacher) [1442151] - gfs2: Split up gfs2_meta_sync into inode and rgrp versions (Andreas Gruenbacher) [1442151] - gfs2: Don't ignore inode write errors during inode_go_sync (Andreas Gruenbacher) [1442151] - gfs2: Ignore subsequent errors after withdraw in rgrp_go_sync (Andreas Gruenbacher) [1442151] - gfs2: Eliminate gl_vm (Andreas Gruenbacher) [1442151] - gfs2: Fix comments to glock_hash_walk (Andreas Gruenbacher) [1442151] - gfs2: eliminate GLF_QUEUED flag in favor of list_empty(gl_holders) (Andreas Gruenbacher) [1442151] - gfs2: Fix invalid block size message (Andreas Gruenbacher) [1442151] - gfs2: add validation checks for size of superblock (Andreas Gruenbacher) [1442151] - gfs2: use-after-free in sysfs deregistration (Andreas Gruenbacher) [1442151] - Revert "GFS2: Prevent delete work from occurring on glocks used for create" (Andreas Gruenbacher) [1442151] - gfs2: Don't skip dlm unlock if glock has an lvb (Andreas Gruenbacher) [1442151] - gfs2: Lock imbalance on error path in gfs2_recover_one (Andreas Gruenbacher) [1442151] - gfs2: keep bios separate for each journal (Bob Peterson) [1442151] - gfs2: change from write to read lock for sd_log_flush_lock in journal replay (Bob Peterson) [1442151] - gfs2: don't lock sd_log_flush_lock in try_rgrp_unlink (Bob Peterson) [1442151] - gfs2: fix glock confusion in function signal_our_withdraw (Bob Peterson) [1442151] - gfs2: Don't write log headers after file system withdraw (Andreas Gruenbacher) [1442151] - gfs2: make gfs2_log_write_page static (Andreas Gruenbacher) [1442151] - gfs2: fix possible reference leak in gfs2_check_blk_type (Andreas Gruenbacher) [1442151] - gfs2: Fix NULL pointer dereference in gfs2_rgrp_dump (Andreas Gruenbacher) [1442151] - gfs2: remove unused LBIT macros (Andreas Gruenbacher) [1925121] - gfs2: add missing log_blocks trace points in gfs2_write_revokes (Andreas Gruenbacher) [1925121] - gfs2: print details on transactions that aren't properly ended (Andreas Gruenbacher) [1925121] - gfs2: fix use-after-free on transaction ail lists (Andreas Gruenbacher) [1925121] - gfs2: new slab for transactions (Andreas Gruenbacher) [1925121] - gfs2: initialize transaction tr_ailX_lists earlier (Andreas Gruenbacher) [1925121] - gfs2: eliminate ssize parameter from gfs2_struct2blk (Andreas Gruenbacher) [1925121] - gfs2: Fix error path kobject memory leak (Andreas Gruenbacher) [1925121] - gfs2: Rename gfs2_trans_{add_unrevoke => remove_revoke} (Andreas Gruenbacher) [1925121] - gfs2: Remove unnecessary extern declarations (Andreas Gruenbacher) [1925121] - gfs2: Fix sign extension bug in gfs2_update_stats (Andreas Gruenbacher) [1925121] - gfs2: Fix an incorrect gfs2_assert() (Bob Peterson) [1925121] - gfs2: Remove vestigial bd_ops (Andreas Gruenbacher) [1925121] - gfs2: Fix the gfs2_invalidatepage description (Andreas Gruenbacher) [1925121] - gfs2: Clean up gfs2_is_{ordered,writeback} (Andreas Gruenbacher) [1925121] - gfs2: Pass resource group to rgblk_free (Andreas Gruenbacher) [1925121] - gfs2: Remove unnecessary gfs2_rlist_alloc parameter (Andreas Gruenbacher) [1925121] - gfs2: Fix some minor typos (Andreas Gruenbacher) [1925121] - gfs2: Remove unused RGRP_RSRV_MINBYTES definition (Andreas Gruenbacher) [1925121] - gfs2: Move rs_{sizehint, rgd_gh} fields into the inode (Andreas Gruenbacher) [1925121] - gfs2: Clean up out-of-bounds check in gfs2_rbm_from_block (Andreas Gruenbacher) [1925121] - gfs2: Always check the result of gfs2_rbm_from_block (Andreas Gruenbacher) [1925121] - gfs: no need to check return value of debugfs_create functions (Andreas Gruenbacher) [1925121] - serial_core: switch to ->[sg]et_serial() (Artem Savkov) [1952415]- tipc: fix sleeping in tipc accept routine (Xin Long) [1986549] - tipc: fix implicit-connect for SYN+ (Xin Long) [1986549] - net: tipc: fix FB_MTU eat two pages (Xin Long) [1986549] - tipc: Return the correct errno code (Xin Long) [1986549] - net/mlx5: Fix checksum issue of VXLAN and IPsec crypto offload (Alaa Hleihel) [1979901] - net/mlx5: Optimize mlx5e_feature_checks for non IPsec packet (Alaa Hleihel) [1979901] - bpf, selftests: Fold test_current_pid_tgid_new_ns into test_progs. (Jiri Olsa) [1869447] - libbpf: Support BTF_KIND_FLOAT during type compatibility checks in CO-RE (Jiri Olsa) [1984486] - bpf: Generate BTF_KIND_FLOAT when linking vmlinux (Jiri Olsa) [1984486] - selftests/bpf: Add BTF_KIND_FLOAT to btf_dump_test_case_syntax (Jiri Olsa) [1984486] - selftests/bpf: Add BTF_KIND_FLOAT to test_core_reloc_size (Jiri Olsa) [1984486] - bpf: Document BTF_KIND_FLOAT in btf.rst (Jiri Olsa) [1984486] - selftests/bpf: Add BTF_KIND_FLOAT to the existing deduplication tests (Jiri Olsa) [1984486] - selftest/bpf: Add BTF_KIND_FLOAT tests (Jiri Olsa) [1984486] - bpf: Add BTF_KIND_FLOAT support (Jiri Olsa) [1984486] - selftests/bpf: Use the 25th bit in the "invalid BTF_INFO" test (Jiri Olsa) [1984486] - tools/bpftool: Add BTF_KIND_FLOAT support (Jiri Olsa) [1984486] - libbpf: Add BTF_KIND_FLOAT support (Jiri Olsa) [1984486] - bpf: Add BTF_KIND_FLOAT to uapi (Jiri Olsa) [1984486] - libbpf: Add explicit padding to btf_dump_emit_type_decl_opts (Jiri Olsa) [1984486] - selftests/bpf: Fix test_attach_probe for powerpc uprobes (Jiri Olsa) [1931531] - selftests/bpf: Mask bpf_csum_diff() return value to 16 bits in test_verifier (Jiri Olsa) [1942513] - openvswitch: add trace points (Aaron Conole) [1979680] - vxlan: add missing rcu_read_lock() in neigh_reduce() (Guillaume Nault) [1987310] - net: ip6_tunnel: Unregister catch-all devices (Guillaume Nault) [1987310] - net: sit: Unregister catch-all devices (Guillaume Nault) [1987310] - cpuidle: pseries: Do not cap the CEDE0 latency in fixup_cede0_latency() (Diego Domingos) [1952809] - cpuidle: pseries: Fixup CEDE0 latency only for POWER10 onwards (Diego Domingos) [1952809] - mm/swap: fix for "mm: workingset: age nonresident information alongside anonymous pages" (Rafael Aquini) [1984173] - mm/thp: remap_page() is only needed on anonymous THP (Rafael Aquini) [1984173] - mm/compaction: fix 'limit' in fast_isolate_freepages (Rafael Aquini) [1984173] - mm/huge_memory.c: don't discard hugepage if other processes are mapping it (Rafael Aquini) [1984173] - slub: restore slub_debug=- behavior (Rafael Aquini) [1984173] - mm/gup: fix try_grab_compound_head() race with split_huge_page() (Rafael Aquini) [1984173] - mm, futex: fix shared futex pgoff on shmem huge page (Rafael Aquini) [1984173] - x86/mm: Avoid truncating memblocks for SGX memory (Rafael Aquini) [1984173] - mm/thp: fix vma_address() if virtual address below file offset (Rafael Aquini) [1984173] - mm, thp: use head page in __migration_entry_wait() (Rafael Aquini) [1984173] - mm/slub.c: include swab.h (Rafael Aquini) [1984173] - mm/memory-failure: make sure wait for page writeback in memory_failure (Rafael Aquini) [1984173] - mm/slub: fix redzoning for small allocations (Rafael Aquini) [1984173] - mm, hugetlb: fix simple resv_huge_pages underflow on UFFDIO_COPY (Rafael Aquini) [1984173] - mm/page_alloc: fix counting of free pages after take off from buddy (Rafael Aquini) [1984173] - userfaultfd: release page in error path to avoid BUG_ON (Rafael Aquini) [1984173] - ksm: fix potential missing rmap_item for stable_node (Rafael Aquini) [1984173] - mm/migrate.c: fix potential indeterminate pte entry in migrate_vma_insert_page() (Rafael Aquini) [1984173] - mm/hugeltb: handle the error case in hugetlb_fix_reserve_counts() (Rafael Aquini) [1984173] - khugepaged: fix wrong result value for trace_mm_collapse_huge_page_isolate() (Rafael Aquini) [1984173] - mm/memory-failure: unnecessary amount of unmapping (Rafael Aquini) [1984173] - mm: page_alloc: ignore init_on_free=1 for debug_pagealloc=1 (Rafael Aquini) [1984173] - mm/sparse: add the missing sparse_buffer_fini() in error branch (Rafael Aquini) [1984173] - mm: memcontrol: fix cpuhotplug statistics flushing (Rafael Aquini) [1984173] - x86/mem_encrypt: Correct physical address calculation in __set_clr_pte_enc() (Rafael Aquini) [1984173] - zsmalloc: account the number of compacted pages correctly (Rafael Aquini) [1984173] - mm/compaction: fix misbehaviors of fast_find_migrateblock() (Rafael Aquini) [1984173] - hugetlb: fix update_and_free_page contig page struct assumption (Rafael Aquini) [1984173] - mm/hugetlb: fix potential double free in hugetlb_register_node() error path (Rafael Aquini) [1984173] - mm/memory.c: fix potential pte_unmap_unlock pte error (Rafael Aquini) [1984173] - mm/memory.c: fix potential pte_unmap_unlock pte error (Rafael Aquini) [1984173] - mm/hugetlb: fix potential missing huge page size info (Rafael Aquini) [1984173] - x86/mm: Fix leak of pmd ptlock (Rafael Aquini) [1984173] - mm/zswap: fix passing zero to 'PTR_ERR' warning (Rafael Aquini) [1984173] - mm/page_isolation: do not isolate the max order page (Rafael Aquini) [1984173] - mm,memory_failure: always pin the page in madvise_inject_error (Rafael Aquini) [1984173] - mm/page_alloc: speed up the iteration of max_order (Rafael Aquini) [1984173] - x86/mm/mem_encrypt: Fix definition of PMD_FLAGS_DEC_WP (Rafael Aquini) [1984173] - x86/mm/ident_map: Check for errors from ident_pud_init() (Rafael Aquini) [1984173] - mm, oom_adj: don't loop through tasks in __set_oom_adj when not necessary (Rafael Aquini) [1984173] - mm/page_alloc.c: fix freeing non-compound pages (Rafael Aquini) [1984173] - mm: khugepaged: recalculate min_free_kbytes after memory hotplug as expected by khugepaged (Rafael Aquini) [1984173] - percpu: fix first chunk size calculation for populated bitmap (Rafael Aquini) [1984173] - x86, fakenuma: Fix invalid starting node ID (Rafael Aquini) [1984173] - mm: include CMA pages in lowmem_reserve at boot (Rafael Aquini) [1984173] - mm/rodata_test.c: fix missing function declaration (Rafael Aquini) [1984173] - mm/page_counter: fix various data races at memsw (Rafael Aquini) [1984173] - khugepaged: retract_page_tables() remember to test exit (Rafael Aquini) [1984173] - mm/page_counter.c: fix protection usage propagation (Rafael Aquini) [1984173] - x86/mm/numa: Remove uninitialized_var() usage (Rafael Aquini) [1984173] - shmem: fix possible deadlocks on shmlock_user_lock (Rafael Aquini) [1984173] - mm: swap: use smp_mb__after_atomic() to order LRU bit set (Rafael Aquini) [1984173] - cgroup: memcg: net: do not associate sock with unrelated cgroup (Rafael Aquini) [1984173] - mm: fix gup_pud_range (Rafael Aquini) [1984173] - x86/mm: Fix NX bit clearing issue in kernel_map_pages_in_pgd (Rafael Aquini) [1984173] - mm/shmem.c: thp, shmem: fix conflict of above-47bit hint address and PMD alignment (Rafael Aquini) [1984173] - mm: Implement no-MMU variant of vmalloc_user_node_flags (Rafael Aquini) [1984173] - usercopy: Avoid HIGHMEM pfn warning (Rafael Aquini) [1984173] - x86/mm: Don't exceed the valid physical address space (Rafael Aquini) [1984173] - x86/mm/mem_encrypt: Fix erroneous sizeof() (Rafael Aquini) [1984173] - s390/mm: fix addressing exception after suspend/resume (Rafael Aquini) [1984173] - blk-mq: fix use-after-free in blk_mq_exit_sched (Ming Lei) [1969726] - nvmet: use new ana_log_size instead the old one (Maurizio Lombardi) [1949777] - nvme-multipath: fix double initialization of ANA state (Maurizio Lombardi) [1949777] - configs: enable CONFIG_LEDS_BRIGHTNESS_HW_CHANGED (Benjamin Tissoires) [1922973]- Revert "xfs: enable new inode btree counters feature" (Bill O'Donnell) [1976969] - Revert "xfs: enable big timestamps" (Bill O'Donnell) [1976969] - Revert "xfs: remove kmem_realloc()" (Bill O'Donnell) [1976969] - xfs: prevent metadata files from being inactivated (Bill O'Donnell) [1976969] - quota: widen timestamps for the fs_disk_quota structure (Bill O'Donnell) [1976969] - cifs: fix fallocate when trying to allocate a hole. (Ronnie Sahlberg) [1866684] - cifs: only write 64kb at a time when fallocating a small region of a file (Ronnie Sahlberg) [1866684] - cifs: improve fallocate emulation (Ronnie Sahlberg) [1866684] - cifs: Do not use the original cruid when following DFS links for multiuser mounts (Ronnie Sahlberg) [1812436] - cifs: ignore relatime in smb3_fs_context_parse_monolithic() (Ronnie Sahlberg) [1812436] - cifs: fix regression when mounting shares with prefix paths (Ronnie Sahlberg) [1812436] - cifs: fix leak in cifs_smb3_do_mount() ctx (Ronnie Sahlberg) [1812436] - cifs: add fs_context param to parsing helpers (Ronnie Sahlberg) [1812436] - cifs: make fs_context error logging wrapper (Ronnie Sahlberg) [1812436] - cifs: warn and fail if trying to use rootfs without the config option (Ronnie Sahlberg) [1812436] - cifs: fix nodfs mount option (Ronnie Sahlberg) [1812436] - cifs: fix handling of escaped ',' in the password mount argument (Ronnie Sahlberg) [1812436] - cifs: Add new parameter "acregmax" for distinct file and directory metadata timeout (Ronnie Sahlberg) [1812436] - cifs: convert revalidate of directories to using directory metadata cache timeout (Ronnie Sahlberg) [1812436] - cifs: Add new mount parameter "acdirmax" to allow caching directory metadata (Ronnie Sahlberg) [1812436] - cifs: fix trivial typo (Ronnie Sahlberg) [1812436] - cifs: Set CIFS_MOUNT_USE_PREFIX_PATH flag on setting cifs_sb->prepath. (Ronnie Sahlberg) [1812436] - cifs: In the new mount api we get the full devname as source= (Ronnie Sahlberg) [1812436] - cifs: do not disable noperm if multiuser mount option is not provided (Ronnie Sahlberg) [1812436] - cifs: fix dfs-links (Ronnie Sahlberg) [1812436] - cifs: fix dfs domain referrals (Ronnie Sahlberg) [1812436] - cifs: returning mount parm processing errors correctly (Ronnie Sahlberg) [1812436] - cifs: fix mounts to subdirectories of target (Ronnie Sahlberg) [1812436] - cifs: ignore auto and noauto options if given (Ronnie Sahlberg) [1812436] - cifs: connect: style: Simplify bool comparison (Ronnie Sahlberg) [1812436] - fs: cifs: remove unneeded variable in smb3_fs_context_dup (Ronnie Sahlberg) [1812436] - cifs: Fix support for remount when not changing rsize/wsize (Ronnie Sahlberg) [1812436] - cifs: handle "guest" mount parameter (Ronnie Sahlberg) [1812436] - cifs: correct four aliased mount parms to allow use of previous names (Ronnie Sahlberg) [1812436] - cifs: fix use after free in cifs_smb3_do_mount() (Ronnie Sahlberg) [1812436] - cifs: fix rsize/wsize to be negotiated values (Ronnie Sahlberg) [1812436] - cifs: update super_operations to show_devname (Ronnie Sahlberg) [1812436] - cifs: fix uninitialized variable in smb3_fs_context_parse_param (Ronnie Sahlberg) [1812436] - cifs: update mnt_cifs_flags during reconfigure (Ronnie Sahlberg) [1812436] - cifs: move update of flags into a separate function (Ronnie Sahlberg) [1812436] - cifs: remove ctx argument from cifs_setup_cifs_sb (Ronnie Sahlberg) [1812436] - cifs: do not allow changing posix_paths during remount (Ronnie Sahlberg) [1812436] - cifs: uncomplicate printing the iocharset parameter (Ronnie Sahlberg) [1812436] - cifs: don't create a temp nls in cifs_setup_ipc (Ronnie Sahlberg) [1812436] - cifs: simplify handling of cifs_sb/ctx->local_nls (Ronnie Sahlberg) [1812436] - cifs: we do not allow changing username/password/unc/... during remount (Ronnie Sahlberg) [1812436] - cifs: add initial reconfigure support (Ronnie Sahlberg) [1812436] - cifs: move [brw]size from cifs_sb to cifs_sb->ctx (Ronnie Sahlberg) [1812436] - cifs: move cifs_cleanup_volume_info[_content] to fs_context.c (Ronnie Sahlberg) [1812436] - cifs: Add missing sentinel to smb3_fs_parameters (Ronnie Sahlberg) [1812436] - cifs: remove actimeo from cifs_sb (Ronnie Sahlberg) [1812436] - cifs: remove [gu]id/backup[gu]id/file_mode/dir_mode from cifs_sb (Ronnie Sahlberg) [1812436] - cifs: minor kernel style fixes for comments (Ronnie Sahlberg) [1812436] - linux/parser.h: add include guards (Ronnie Sahlberg) [1812436] - cifs: Make extract_sharename function public (Ronnie Sahlberg) [1812436] - cifs: Make extract_hostname function public (Ronnie Sahlberg) [1812436] - cifs: get rid of cifs_sb->mountdata (Ronnie Sahlberg) [1812436] - cifs: add an smb3_fs_context to cifs_sb (Ronnie Sahlberg) [1812436] - cifs: remove the devname argument to cifs_compose_mount_options (Ronnie Sahlberg) [1812436] - cifs: switch to new mount api (Ronnie Sahlberg) [1812436] - cifs: move cifs_parse_devname to fs_context.c (Ronnie Sahlberg) [1812436] - cifs: move the enum for cifs parameters into fs_context.h (Ronnie Sahlberg) [1812436] - cifs: rename dup_vol to smb3_fs_context_dup and move it into fs_context.c (Ronnie Sahlberg) [1812436] - cifs: rename smb_vol as smb3_fs_context and move it to fs_context.h (Ronnie Sahlberg) [1812436] - cifs: Fix fall-through warnings for Clang (Ronnie Sahlberg) [1812436] - cifs: refactor create_sd_buf() and and avoid corrupting the buffer (Ronnie Sahlberg) [1812436] - scsi: lpfc: Fix failure to transmit ABTS on FC link (Dick Kennedy) [1964670] - scsi: lpfc: Update lpfc version to 12.8.0.10 (Dick Kennedy) [1964670] - scsi: lpfc: Reregister FPIN types if ELS_RDF is received from fabric controller (Dick Kennedy) [1964670] - scsi: lpfc: Add a option to enable interlocked ABTS before job completion (Dick Kennedy) [1964670] - scsi: lpfc: Fix crash when lpfc_sli4_hba_setup() fails to initialize the SGLs (Dick Kennedy) [1964670] - scsi: lpfc: Ignore GID-FT response that may be received after a link flip (Dick Kennedy) [1964670] - scsi: lpfc: Fix node handling for Fabric Controller and Domain Controller (Dick Kennedy) [1964670] - scsi: lpfc: Fix Node recovery when driver is handling simultaneous PLOGIs (Dick Kennedy) [1964670] - scsi: lpfc: Add ndlp kref accounting for resume RPI path (Dick Kennedy) [1964670] - scsi: lpfc: Fix "Unexpected timeout" error in direct attach topology (Dick Kennedy) [1964670] - scsi: lpfc: Fix non-optimized ERSP handling (Dick Kennedy) [1964670] - scsi: lpfc: Fix unreleased RPIs when NPIV ports are created (Dick Kennedy) [1964670] - scsi: lpfc: Remove redundant assignment to pointer temp_hdr (Dick Kennedy) [1964670] - Documentation: add more details in tipc.rst (Xin Long) [1872308] - net/tipc: add TIPC chapter to networking Documentation (Xin Long) [1872308] - scsi: qla2xxx: Reserve extra IRQ vectors (Nilesh Javali) [1964834] - tracing/hwlat: Honor the tracing_cpumask (Jerome Marchand) [1920595] - tracing/hwlat: Drop the duplicate assignment in start_kthread() (Jerome Marchand) [1920595] - sfc: add logs explaining XDP_TX/REDIRECT is not available (Íñigo Huguet) [1976756] - sfc: ensure correct number of XDP queues (Íñigo Huguet) [1976756] - sfc: fix lack of XDP TX queues - error XDP TX failed (-22) (Íñigo Huguet) [1976756] - sfc: Remove rcu_read_lock() around XDP program invocation (Íñigo Huguet) [1976756] - sfc: use DEVICE_ATTR_*() macro (Íñigo Huguet) [1976756] - sfc: farch: fix compile warning in efx_farch_dimension_resources() (Íñigo Huguet) [1976756] - sfc: don't use netif_info et al before net_device is registered (Íñigo Huguet) [1976756] - net: stmmac: Do not enable RX FIFO overflow interrupts (Mark Salter) [1905243] - net: stmmac: Clear receive all(RA) bit when promiscuous mode is off (Mark Salter) [1905243] - net: stmmac: cleared __FPE_REMOVING bit in stmmac_fpe_start_wq() (Mark Salter) [1905243] - stmmac: intel: Enable HW descriptor prefetch by default (Mark Salter) [1905243] - net: stmmac: Add HW descriptor prefetch setting for DWMAC Core 5.20 onwards (Mark Salter) [1905243] - net: stmmac: fix TSO and TBS feature enabling during driver open (Mark Salter) [1905243] - stmmac: intel: set TSO/TBS TX Queues default settings (Mark Salter) [1905243] - stmmac: intel: unlock on error path in intel_crosststamp() (Mark Salter) [1905243] - net: stmmac: use __napi_schedule() for PREEMPT_RT (Mark Salter) [1905243] - stmmac: intel: Enable SERDES PHY rx clk for PSE (Mark Salter) [1905243] - stmmac: intel: Drop duplicate ID in the list of PCI device IDs (Mark Salter) [1905243] - stmmac: intel: add cross time-stamping freq difference adjustment (Mark Salter) [1905243] - net: stmmac: Add support for external trigger timestamping (Mark Salter) [1905243] - net: stmmac: fix dma physical address of descriptor when display ring (Mark Salter) [1905243] - net: stmmac: fix wrongly set buffer2 valid when sph unsupport (Mark Salter) [1905243] - net: stmmac: arrange Tx tail pointer update to stmmac_flush_tx_descriptors (Mark Salter) [1905243] - net: stmmac: make SPH enable/disable to be configurable (Mark Salter) [1905243] - net: stmmac: set IRQ affinity hint for multi MSI vectors (Mark Salter) [1905243] - net: stmmac: remove unnecessary pci_enable_msi() call (Mark Salter) [1905243] - stmmac: intel: use managed PCI function on probe and resume (Mark Salter) [1905243] - net: stmmac: enable MTL ECC Error Address Status Over-ride by default (Mark Salter) [1905243] - net: ethernet: stmicro: Remove duplicate struct declaration (Mark Salter) [1905243] - net: stmmac: fix missing unlock on error in stmmac_suspend() (Mark Salter) [1905243] - net: stmmac: Fix kernel panic due to NULL pointer dereference of fpe_cfg (Mark Salter) [1905243] - net: stmmac: use interrupt mode INTM=1 for multi-MSI (Mark Salter) [1905243] - stmmac: intel: add support for multi-vector msi and msi-x (Mark Salter) [1905243] - net: stmmac: introduce MSI Interrupt routines for mac, safety, RX & TX (Mark Salter) [1905243] - net: stmmac: make stmmac_interrupt() function more friendly to MSI (Mark Salter) [1905243] - net: stmmac: introduce DMA interrupt status masking per traffic direction (Mark Salter) [1905243] - net: phy: marvell10g: Add PHY loopback support (Mark Salter) [1905243] - net: phy: add genphy_c45_loopback (Mark Salter) [1905243] - net: phylink: Fix phylink_err() function name error in phylink_major_config (Mark Salter) [1905243] - net: stmmac: support FPE link partner hand-shaking procedure (Mark Salter) [1905243] - net: stmmac: Add hardware supported cross-timestamp (Mark Salter) [1905243] - net: stmmac: platform: fix build error with !CONFIG_PM_SLEEP (Mark Salter) [1905243] - stmmac: intel: Add PSE and PCH PTP clock source selection (Mark Salter) [1905243] - net: stmmac: Add EST errors into ethtool statistic (Mark Salter) [1905243] - net: stmmac: EST interrupts handling and error reporting (Mark Salter) [1905243] - net: stmmac: add RX frame steering based on VLAN priority in tc flower (Mark Salter) [1905243] - net: stmmac: restructure tc implementation for RX VLAN Priority steering (Mark Salter) [1905243] - net: stmmac: add per-queue TX & RX coalesce ethtool support (Mark Salter) [1905243] - net: stmmac: Use hrtimer for TX coalescing (Mark Salter) [1905243] - net: stmmac: add timestamp correction to rid CDC sync error (Mark Salter) [1905243] - net: stmmac: add platform level clocks management (Mark Salter) [1905243] - net: stmmac: add clocks management for gmac driver (Mark Salter) [1905243] - stmmac: intel: add pcs-xpcs for Intel mGbE controller (Mark Salter) [1905243] - net: stmmac: ensure phydev is attached to phylink for C37 AN (Mark Salter) [1905243] - net: stmmac: make in-band AN mode parsing is supported for non-DT (Mark Salter) [1905243] - net: phylink: make phylink_parse_mode() support non-DT platform (Mark Salter) [1905243] - net: pcs: add C37 SGMII AN support for intel mGbE controller (Mark Salter) [1905243] - net: pcs: rearrange C73 functions to prepare for C37 support later (Mark Salter) [1905243] - net: phy: leds: Deduplicate link LED trigger registration (Mark Salter) [1905243] - net: stmmac: Fix VLAN filter delete timeout issue in Intel mGBE SGMII (Mark Salter) [1905243] - net: stmmac: fix incorrect DMA channel intr enable setting of EQoS v4.10 (Mark Salter) [1905243] - net: stmmac: fix CBS idleslope and sendslope calculation (Mark Salter) [1905243] - net: stmmac: set TxQ mode back to DCB after disabling CBS (Mark Salter) [1905243] - net: stmmac: allow stmmac to probe for C45 PHY devices (Mark Salter) [1905243] - net: stmmac: Enable EEE HW LPI timer with auto SW/HW switching (Mark Salter) [1905243] - net: pcs-xpcs: depend on MDIO_BUS instead of selecting it (Mark Salter) [1905243] - net: pcs: Move XPCS into new PCS subdirectory (Mark Salter) [1905243] - net: stmmac: Add XLGMII support (Mark Salter) [1905243] - net: phy: xpcs: Add XLGMII support (Mark Salter) [1905243] - net: phy: xpcs: Restart AutoNeg if outcome was invalid (Mark Salter) [1905243] - net: phy: xpcs: Set Link down if AutoNeg is enabled and did not finish (Mark Salter) [1905243] - net: phy: xpcs: Reset XPCS upon probe (Mark Salter) [1905243] - net: phy: xpcs: Return error when 10GKR link errors are found (Mark Salter) [1905243] - stmmac/intel: mark driver as tech preview (Mark Salter) [1905243] - redhat/configs: Add CONFIG_DWMAC_INTEL (Mark Salter) [1905243] - stmmac: intel: Fixes clock registration error seen for multiple interfaces (Mark Salter) [1905243] - stmmac: intel: Fix mdio bus registration issue for TGL-H/ADL-S (Mark Salter) [1905243] - net: stmmac: Add PCI bus info to ethtool driver query output (Mark Salter) [1905243] - stmmac: intel: Add ADL-S 1Gbps PCI IDs (Mark Salter) [1905243] - stmmac: intel: Configure EHL PSE0 GbE and PSE1 GbE to 32 bits DMA addressing (Mark Salter) [1905243] - stmmac: intel: Add PCI IDs for TGL-H platform (Mark Salter) [1905243] - stmmac: intel: change all EHL/TGL to auto detect phy addr (Mark Salter) [1905243] - net: stmmac: overwrite the dma_cap.addr64 according to HW design (Mark Salter) [1905243] - stmmac: intel: Fix kernel panic on pci probe (Mark Salter) [1905243] - stmmac: intel: Adding ref clock 1us tic for LPI cntr (Mark Salter) [1905243] - net: stmmac: Add option for VLAN filter fail queue enable (Mark Salter) [1905243] - net: stmmac: Fix clock handling on remove path (Mark Salter) [1905243] - stmmac: intel: Place object in the Makefile according to the order (Mark Salter) [1905243] - stmmac: intel: Fix indentation to put on one line affected code (Mark Salter) [1905243] - stmmac: intel: Eliminate useless conditions and variables (Mark Salter) [1905243] - stmmac: intel: Convert to use pci_alloc_irq_vectors() API (Mark Salter) [1905243] - stmmac: intel: Remove unnecessary loop for PCI BARs (Mark Salter) [1905243] - stmmac: intel: Fix clock handling on error and remove paths (Mark Salter) [1905243] - net: stmmac: Enable SERDES power up/down sequence (Mark Salter) [1905243] - net: stmmac: add EHL 2.5Gbps PCI info and PCI ID (Mark Salter) [1905243] - net: stmmac: add EHL PSE0 & PSE1 1Gbps PCI info and PCI ID (Mark Salter) [1905243] - net: stmmac: create dwmac-intel.c to contain all Intel platform (Mark Salter) [1905243] - net: stmmac: Get rid of custom STMMAC_DEVICE() macro (Mark Salter) [1905243] - net: stmmac: update pci platform data to use phy_interface (Mark Salter) [1905243] - net: stmmac: pci: Enable TBS on GMAC5 IPK PCI entry (Mark Salter) [1905243] - net: stmmac: pci: remove the duplicate code of set phy_mask (Mark Salter) [1905243] - PCI: Add PCI_STD_NUM_BARS for the number of standard BARs (Mark Salter) [1905243] - net: stmmac: pci: Add HAPS support using GMAC5 (Mark Salter) [1905243] - net: stmmac: setup higher frequency clk support for EHL & TGL (Mark Salter) [1905243] - net: stmmac: add EHL RGMII 1Gbps PCI info and PCI ID (Mark Salter) [1905243] - net: stmmac: add TGL SGMII 1Gbps PCI info and PCI ID (Mark Salter) [1905243] - net: stmmac: add EHL SGMII 1Gbps PCI info and PCI ID (Mark Salter) [1905243] - net: stmmac: Make MDIO bus reset optional (Mark Salter) [1905243] - stmmac: pci: Use pci_dev_id() helper (Mark Salter) [1905243] - stmmac: pci: Fix typo in IOT2000 comment (Mark Salter) [1905243] - stmmac: pci: Adjust IOT2000 matching (Mark Salter) [1905243] - net: stmmac: Fix PCI module removal leak (Mark Salter) [1905243] - net: stmmac: mark PM functions as __maybe_unused (Mark Salter) [1905243] - ibmveth: Set CHECKSUM_PARTIAL if NULL TCP CSUM. (Diego Domingos) [1939996] - IB/core: Add missing pin_user_pages*() usage (Waiman Long) [1972078] - mm/gup/writeback: Fix incorrect inaccessible pages handling (Waiman Long) [1972078] - netfilter: nf_tables: bogus EBUSY when deleting flowtable after flush (Phil Sutter) [1983245] - ipv4: Fix device used for dst_alloc with local routes (Antoine Tenart) [1976789] - vrf: fix a comment about loopback device (Antoine Tenart) [1976789] - net: vrf: Fix operation not supported when set vrf mac (Antoine Tenart) [1976789] - vrf: prevent adding upper devices (Antoine Tenart) [1976789] - vrf: fix maximum MTU (Antoine Tenart) [1976789] - net: vrf: Fix ping failed when vrf mtu is set to 0 (Antoine Tenart) [1976789] - net: vrf: remove MTU limits for vrf device (Antoine Tenart) [1976789]- block: fix discard request merge (Ming Lei) [1970316] - blk-mq: update hctx->dispatch_busy in case of real scheduler (Ming Lei) [1976679] - block: Do not pull requests from the scheduler when we cannot dispatch them (Ming Lei) [1976679] - powerpc/pseries/mobility: handle premature return from H_JOIN (Desnes A. Nunes do Rosario) [1979798] - powerpc/pseries/mobility: use struct for shared state (Desnes A. Nunes do Rosario) [1979798] - powerpc/pseries/mobility: refactor node lookup during DT update (Desnes A. Nunes do Rosario) [1979798] - powerpc/rtas: remove rtas_ibm_suspend_me_unsafe() (Desnes A. Nunes do Rosario) [1979798] - powerpc/rtas: dispatch partition migration requests to pseries (Desnes A. Nunes do Rosario) [1979798] - powerpc/pseries/mobility: retry partition suspend after error (Desnes A. Nunes do Rosario) [1979798] - powerpc/pseries/mobility: signal suspend cancellation to platform (Desnes A. Nunes do Rosario) [1979798] - powerpc/pseries/mobility: use stop_machine for join/suspend (Desnes A. Nunes do Rosario) [1979798] - powerpc/pseries/mobility: extract VASI session polling logic (Desnes A. Nunes do Rosario) [1979798] - powerpc/pseries/mobility: use rtas_activate_firmware() on resume (Desnes A. Nunes do Rosario) [1979798] - powerpc/pseries/mobility: error message improvements (Desnes A. Nunes do Rosario) [1979798] - powerpc/hvcall: add token and codes for H_VASI_SIGNAL (Desnes A. Nunes do Rosario) [1979798] - powerpc/rtas: add rtas_activate_firmware() (Desnes A. Nunes do Rosario) [1979798] - powerpc/rtas: add rtas_ibm_suspend_me() (Desnes A. Nunes do Rosario) [1979798] - powerpc/rtas: rtas_ibm_suspend_me -> rtas_ibm_suspend_me_unsafe (Desnes A. Nunes do Rosario) [1979798] - powerpc/rtas: complete ibm,suspend-me status codes (Desnes A. Nunes do Rosario) [1979798] - powerpc/pseries/mobility: Add pr_debug() for device tree changes (Desnes A. Nunes do Rosario) [1979798] - powerpc/pseries/mobility: Set pr_fmt() (Desnes A. Nunes do Rosario) [1979798] - powerpc/pseries: remove obsolete memory hotplug DT notifier code (Desnes A. Nunes do Rosario) [1979798] - powerpc/pseries: remove dlpar_cpu_readd() (Desnes A. Nunes do Rosario) [1979798] - powerpc/pseries: remove memory "re-add" implementation (Desnes A. Nunes do Rosario) [1979798] - powerpc/pseries: remove prrn special case from DT update path (Desnes A. Nunes do Rosario) [1979798] - powerpc/numa: remove arch_update_cpu_topology (Desnes A. Nunes do Rosario) [1979798] - powerpc/numa: remove prrn_is_enabled() (Desnes A. Nunes do Rosario) [1979798] - powerpc/rtasd: simplify handle_rtas_event(), emit message on events (Desnes A. Nunes do Rosario) [1979798] - powerpc/numa: remove start/stop_topology_update() (Desnes A. Nunes do Rosario) [1979798] - powerpc/numa: remove timed_topology_update() (Desnes A. Nunes do Rosario) [1979798] - powerpc/numa: Handle extra hcall_vphn error cases (Desnes A. Nunes do Rosario) [1979798] - powerpc/numa: Suppress "VPHN is not supported" messages (Desnes A. Nunes do Rosario) [1979798] - powerpc/numa: stub out numa_update_cpu_topology() (Desnes A. Nunes do Rosario) [1979798] - powerpc/numa: remove vphn_enabled and prrn_enabled internal flags (Desnes A. Nunes do Rosario) [1979798] - powerpc/numa: remove unreachable topology workqueue code (Desnes A. Nunes do Rosario) [1979798] - powerpc/numa: remove unreachable topology timer code (Desnes A. Nunes do Rosario) [1979798] - powerpc/numa: make vphn_enabled, prrn_enabled flags const (Desnes A. Nunes do Rosario) [1979798] - powerpc/numa: remove unreachable topology update code (Desnes A. Nunes do Rosario) [1979798] - powerpc/numa: remove ability to enable topology updates (Desnes A. Nunes do Rosario) [1979798] - powerpc/rtas: don't online CPUs for partition suspend (Desnes A. Nunes do Rosario) [1979798] - powerpc/rtas: Unexport rtas_online_cpus_mask, rtas_offline_cpus_mask (Desnes A. Nunes do Rosario) [1979798] - mm/page_alloc: bail out on fatal signal during reclaim/compaction retry attempt (Aaron Tomlin) [1919765] - RHEL: Revert "powerpc/kvm: Fix PR KVM with KUAP/MEM_KEYS enabled" (Paolo Bonzini) [1956950] - KVM: selftests: smm_test: Test SMM enter from L2 (Paolo Bonzini) [1956950] - KVM: nSVM: Restore nested control upon leaving SMM (Paolo Bonzini) [1956950] - KVM: nSVM: Fix L1 state corruption upon return from SMM (Paolo Bonzini) [1956950] - KVM: nSVM: Introduce svm_copy_vmrun_state() (Paolo Bonzini) [1956950] - KVM: nSVM: Check that VM_HSAVE_PA MSR was set before VMRUN (Paolo Bonzini) [1956950] - KVM: nVMX: nSVM: 'nested_run' should count guest-entry attempts that make it to guest code (Paolo Bonzini) [1956950] - KVM: nSVM: Check the value written to MSR_VM_HSAVE_PA (Paolo Bonzini) [1956950] - KVM: SVM: Fix sev_pin_memory() error checks in SEV migration utilities (Paolo Bonzini) [1956950] - KVM: SVM: Return -EFAULT if copy_to_user() for SEV mig packet header fails (Paolo Bonzini) [1956950] - KVM: SVM: add module param to control the #SMI interception (Paolo Bonzini) [1956950] - KVM: SVM: remove INIT intercept handler (Paolo Bonzini) [1956950] - KVM: SVM: #SMI interception must not skip the instruction (Paolo Bonzini) [1956950] - KVM: VMX: Remove vmx_msr_index from vmx.h (Paolo Bonzini) [1956950] - KVM: X86: Disable hardware breakpoints unconditionally before kvm_x86->run() (Paolo Bonzini) [1956950] - KVM: x86/pmu: Clear anythread deprecated bit when 0xa leaf is unsupported on the SVM (Paolo Bonzini) [1956950] - KVM: mmio: Fix use-after-free Read in kvm_vm_ioctl_unregister_coalesced_mmio (Paolo Bonzini) [1956950] - KVM: SVM: Revert clearing of C-bit on GPA in #NPF handler (Paolo Bonzini) [1956950] - KVM: x86/mmu: Do not apply HPA (memory encryption) mask to GPAs (Paolo Bonzini) [1956950] - KVM: x86: Use kernel's x86_phys_bits to handle reduced MAXPHYADDR (Paolo Bonzini) [1956950] - KVM: x86: Use guest MAXPHYADDR from CPUID.0x8000_0008 iff TDP is enabled (Paolo Bonzini) [1956950] - KVM: selftests: do not require 64GB in set_memory_region_test (Paolo Bonzini) [1956950] - KVM: selftests: Fix mapping length truncation in m{,un}map() (Paolo Bonzini) [1956950] - KVM: x86: Force all MMUs to reinitialize if guest CPUID is modified (Paolo Bonzini) [1956950] - Revert "KVM: x86/mmu: Drop kvm_mmu_extended_role.cr4_la57 hack" (Paolo Bonzini) [1956950] - KVM: x86/mmu: Use MMU's role to detect CR4.SMEP value in nested NPT walk (Paolo Bonzini) [1956950] - KVM: x86: Properly reset MMU context at vCPU RESET/INIT (Paolo Bonzini) [1956950] - KVM: x86/mmu: Treat NX as used (not reserved) for all !TDP shadow MMUs (Paolo Bonzini) [1956950] - KVM: x86/mmu: Remove broken WARN that fires on 32-bit KVM w/ nested EPT (Paolo Bonzini) [1956950] - KVM: nVMX: Handle split-lock #AC exceptions that happen in L2 (Paolo Bonzini) [1956950] - KVM: x86/mmu: Calculate and check "full" mmu_role for nested MMU (Paolo Bonzini) [1956950] - KVM: X86: Fix x86_emulator slab cache leak (Paolo Bonzini) [1956950] - KVM: SVM: Call SEV Guest Decommission if ASID binding fails (Paolo Bonzini) [1956950] - KVM: x86: Immediately reset the MMU context when the SMM flag is cleared (Paolo Bonzini) [1956950] - KVM: x86: Fix fall-through warnings for Clang (Paolo Bonzini) [1956950] - KVM: SVM: fix doc warnings (Paolo Bonzini) [1956950] - kvm: LAPIC: Restore guard to prevent illegal APIC register access (Paolo Bonzini) [1956950] - kvm: fix previous commit for 32-bit builds (Paolo Bonzini) [1956950] - kvm: avoid speculation-based attacks from out-of-range memslot accesses (Paolo Bonzini) [1956950] - KVM: x86: Ensure liveliness of nested VM-Enter fail tracepoint message (Paolo Bonzini) [1956950] - KVM: x86: Ensure PV TLB flush tracepoint reflects KVM behavior (Paolo Bonzini) [1956950] - KVM: X86: MMU: Use the correct inherited permissions to get shadow page (Paolo Bonzini) [1956950] - KVM: LAPIC: Write 0 to TMICT should also cancel vmx-preemption timer (Paolo Bonzini) [1956950] - KVM: SVM: Fix SEV SEND_START session length & SEND_UPDATE_DATA query length after commit 238eca821cee (Paolo Bonzini) [1956950] - KVM: X86: Kill off ctxt->ud (Paolo Bonzini) [1956950] - KVM: X86: Fix warning caused by stale emulation context (Paolo Bonzini) [1956950] - KVM: X86: Use kvm_get_linear_rip() in single-step and #DB/#BP interception (Paolo Bonzini) [1956950] - KVM: x86/mmu: Fix comment mentioning skip_4k (Paolo Bonzini) [1956950] - KVM: VMX: update vcpu posted-interrupt descriptor when assigning device (Paolo Bonzini) [1956950] - KVM: rename KVM_REQ_PENDING_TIMER to KVM_REQ_UNBLOCK (Paolo Bonzini) [1956950] - KVM: x86: add start_assignment hook to kvm_x86_ops (Paolo Bonzini) [1956950] - KVM: LAPIC: Narrow the timer latency between wait_lapic_expire and world switch (Paolo Bonzini) [1956950] - KVM: X86: Fix vCPU preempted state from guest's point of view (Paolo Bonzini) [1956950] - KVM: X86: Bail out of direct yield in case of under-committed scenarios (Paolo Bonzini) [1956950] - KVM: SVM: make the avic parameter a bool (Paolo Bonzini) [1956950] - KVM: VMX: Drop unneeded CONFIG_X86_LOCAL_APIC check (Paolo Bonzini) [1956950] - KVM: SVM: Drop unneeded CONFIG_X86_LOCAL_APIC check (Paolo Bonzini) [1956950] - KVM: SVM: Move GHCB unmapping to fix RCU warning (Paolo Bonzini) [1956950] - KVM: SVM: Invert user pointer casting in SEV {en,de}crypt helpers (Paolo Bonzini) [1956950] - kvm: Cap halt polling at kvm->max_halt_poll_ns (Paolo Bonzini) [1956950] - KVM: x86: Prevent deadlock against tk_core.seq (Paolo Bonzini) [1956950] - KVM: x86: Cancel pvclock_gtod_work on module removal (Paolo Bonzini) [1956950] - KVM: x86: Prevent KVM SVM from loading on kernels with 5-level paging (Paolo Bonzini) [1956950] - KVM: SVM: Probe and load MSR_TSC_AUX regardless of RDTSCP support in host (Paolo Bonzini) [1956950] - KVM: VMX: Disable preemption when probing user return MSRs (Paolo Bonzini) [1956950] - KVM: x86: Move RDPID emulation intercept to its own enum (Paolo Bonzini) [1956950] - KVM: SVM: Inject #UD on RDTSCP when it should be disabled in the guest (Paolo Bonzini) [1956950] - KVM: x86: Emulate RDPID only if RDTSCP is supported (Paolo Bonzini) [1956950] - KVM: VMX: Do not advertise RDPID if ENABLE_RDTSCP control is unsupported (Paolo Bonzini) [1956950] - KVM: nSVM: always restore the L1's GIF on migration (Paolo Bonzini) [1956950] - KVM: x86: Hoist input checks in kvm_add_msr_filter() (Paolo Bonzini) [1956950] - KVM: nVMX: Properly pad 'struct kvm_vmx_nested_state_hdr' (Paolo Bonzini) [1956950] - KVM/VMX: Invoke NMI non-IST entry instead of IST entry (Paolo Bonzini) [1956950] - KVM: x86: Fix potential fput on a null source_kvm_file (Paolo Bonzini) [1956950] - KVM: nSVM: leave the guest mode prior to loading a nested state (Paolo Bonzini) [1956950] - KVM: nSVM: fix few bugs in the vmcb02 caching logic (Paolo Bonzini) [1956950] - KVM: nSVM: fix a typo in svm_leave_nested (Paolo Bonzini) [1956950] - KVM: PPC: exit halt polling on need_resched() (Paolo Bonzini) [1956950] - kvm: exit halt polling on need_resched() as well (Paolo Bonzini) [1956950] - KVM: LAPIC: Accurately guarantee busy wait for timer to expire when using hv_timer (Paolo Bonzini) [1956950] - kvm/x86: Fix 'lpages' kvm stat for TDM MMU (Paolo Bonzini) [1956950] - KVM: x86/mmu: Avoid unnecessary page table allocation in kvm_tdp_mmu_map() (Paolo Bonzini) [1956950] - KVM: selftests: Speed up set_memory_region_test (Paolo Bonzini) [1956950] - selftests: kvm: Fix the check of return value (Paolo Bonzini) [1956950] - KVM: x86: Take advantage of kvm_arch_dy_has_pending_interrupt() (Paolo Bonzini) [1956950] - KVM: SVM: Skip SEV cache flush if no ASIDs have been used (Paolo Bonzini) [1956950] - KVM: SVM: Remove an unnecessary prototype declaration of sev_flush_asids() (Paolo Bonzini) [1956950] - KVM: SVM: Drop redundant svm_sev_enabled() helper (Paolo Bonzini) [1956950] - KVM: SVM: Move SEV VMCB tracking allocation to sev.c (Paolo Bonzini) [1956950] - KVM: SVM: Explicitly check max SEV ASID during sev_hardware_setup() (Paolo Bonzini) [1956950] - KVM: SVM: Unconditionally invoke sev_hardware_teardown() (Paolo Bonzini) [1956950] - KVM: SVM: Enable SEV/SEV-ES functionality by default (when supported) (Paolo Bonzini) [1956950] - KVM: SVM: Condition sev_enabled and sev_es_enabled on CONFIG_KVM_AMD_SEV=y (Paolo Bonzini) [1956950] - KVM: SVM: Append "_enabled" to module-scoped SEV/SEV-ES control variables (Paolo Bonzini) [1956950] - KVM: SEV: Mask CPUID[0x8000001F].eax according to supported features (Paolo Bonzini) [1956950] - KVM: SVM: Move SEV module params/variables to sev.c (Paolo Bonzini) [1956950] - svm/sev: Register SEV and SEV-ES ASIDs to the misc controller (Paolo Bonzini) [1956950] - KVM: SVM: Disable SEV/SEV-ES if NPT is disabled (Paolo Bonzini) [1956950] - KVM: SVM: Free sev_asid_bitmap during init if SEV setup fails (Paolo Bonzini) [1956950] - KVM: SVM: Zero out the VMCB array used to track SEV ASID association (Paolo Bonzini) [1956950] - KVM: x86: Move reverse CPUID helpers to separate header file (Paolo Bonzini) [1956950] - KVM: x86: Rename GPR accessors to make mode-aware variants the defaults (Paolo Bonzini) [1956950] - KVM: SVM: Use default rAX size for INVLPGA emulation (Paolo Bonzini) [1956950] - KVM: x86/xen: Drop RAX[63:32] when processing hypercall (Paolo Bonzini) [1956950] - KVM: nVMX: Truncate base/index GPR value on address calc in !64-bit (Paolo Bonzini) [1956950] - KVM: nVMX: Truncate bits 63:32 of VMCS field on nested check in !64-bit (Paolo Bonzini) [1956950] - KVM: VMX: Truncate GPR value for DR and CR reads in !64-bit mode (Paolo Bonzini) [1956950] - KVM: SVM: Truncate GPR value for DR and CR accesses in !64-bit mode (Paolo Bonzini) [1956950] - KVM: x86: Check CR3 GPA for validity regardless of vCPU mode (Paolo Bonzini) [1956950] - KVM: x86: Remove emulator's broken checks on CR0/CR3/CR4 loads (Paolo Bonzini) [1956950] - KVM: VMX: Intercept FS/GS_BASE MSR accesses for 32-bit KVM (Paolo Bonzini) [1956950] - KVM: SVM: Delay restoration of host MSR_TSC_AUX until return to userspace (Paolo Bonzini) [1956950] - KVM: SVM: Clear MSR_TSC_AUX[63:32] on write (Paolo Bonzini) [1956950] - KVM: SVM: Inject #GP on guest MSR_TSC_AUX accesses if RDTSCP unsupported (Paolo Bonzini) [1956950] - KVM: VMX: Invert the inlining of MSR interception helpers (Paolo Bonzini) [1956950] - KVM: X86: Fix failure to boost kernel lock holder candidate in SEV-ES guests (Paolo Bonzini) [1956950] - KVM: x86: Properly handle APF vs disabled LAPIC situation (Paolo Bonzini) [1956950] - KVM: VMX: use EPT_VIOLATION_GVA_TRANSLATED instead of 0x100 (Paolo Bonzini) [1956950] - KVM: x86: Support KVM VMs sharing SEV context (Paolo Bonzini) [1956950] - KVM: x86: Remove unused function declaration (Paolo Bonzini) [1956950] - KVM: x86/mmu: Drop trace_kvm_age_page() tracepoint (Paolo Bonzini) [1956950] - KVM: Move prototypes for MMU notifier callbacks to generic code (Paolo Bonzini) [1956950] - KVM: Pass MMU notifier range flags to kvm_unmap_hva_range() (Paolo Bonzini) [1956950] - KVM: x86/mmu: preserve pending TLB flush across calls to kvm_tdp_mmu_zap_sp (Paolo Bonzini) [1956950] - KVM: x86: disable interrupts while pvclock_gtod_sync_lock is taken (Paolo Bonzini) [1956950] - KVM: x86: reduce pvclock_gtod_sync_lock critical sections (Paolo Bonzini) [1956950] - kvm: x86: annotate RCU pointers (Paolo Bonzini) [1956950] - KVM: x86: remove misplaced comment on active_mmu_pages (Paolo Bonzini) [1956950] - x86/sev: Drop redundant and potentially misleading 'sev_enabled' (Paolo Bonzini) [1956950] - x86/cpufeatures: Assign dedicated feature word for CPUID_0x8000001F[EAX] (Paolo Bonzini) [1956950] - cgroup: Add misc cgroup controller (Paolo Bonzini) [1956950] - x86: Remove duplicate TSC DEADLINE MSR definitions (Paolo Bonzini) [1956950] - KVM: s390: allow facility 192 (vector-packed-decimal-enhancement facility 2) (Thomas Huth) [1977289] - KVM: s390: gen_facilities: allow facilities 165, 193, 194 and 196 (Thomas Huth) [1977289] - mpi3mr: mark as tech preview (Tomas Henzl) [1858804] - add the mpi3mr config (Tomas Henzl) [1858804] - scsi: mpi3mr: Fix W=1 compilation warnings (Tomas Henzl) [1858804] - scsi: mpi3mr: Fix warnings reported by smatch (Tomas Henzl) [1858804] - scsi: mpi3mr: Make some symbols static (Tomas Henzl) [1858804] - scsi: mpi3mr: Fix error return code in mpi3mr_init_ioc() (Tomas Henzl) [1858804] - scsi: mpi3mr: Fix missing unlock on error (Tomas Henzl) [1858804] - scsi: mpi3mr: Fix error handling in mpi3mr_setup_isr() (Tomas Henzl) [1858804] - scsi: mpi3mr: Delete unnecessary NULL check (Tomas Henzl) [1858804] - scsi: mpi3mr: Fix a double free (Tomas Henzl) [1858804] - scsi: mpi3mr: Fix fall-through warning for Clang (Tomas Henzl) [1858804] - scsi: mpi3mr: Add event handling debug prints (Tomas Henzl) [1858804] - scsi: mpi3mr: Add EEDP DIF DIX support (Tomas Henzl) [1858804] - scsi: mpi3mr: Add support for DSN secure firmware check (Tomas Henzl) [1858804] - scsi: mpi3mr: Add support for PM suspend and resume (Tomas Henzl) [1858804] - scsi: mpi3mr: Wait for pending I/O completions upon detection of VD I/O timeout (Tomas Henzl) [1858804] - scsi: mpi3mr: Print pending host I/Os for debugging (Tomas Henzl) [1858804] - scsi: mpi3mr: Complete support for soft reset (Tomas Henzl) [1858804] - scsi: mpi3mr: Add support for threaded ISR (Tomas Henzl) [1858804] - scsi: mpi3mr: Hardware workaround for UNMAP commands to NVMe drives (Tomas Henzl) [1858804] - scsi: mpi3mr: Allow certain commands during pci-remove hook (Tomas Henzl) [1858804] - scsi: mpi3mr: Add change queue depth support (Tomas Henzl) [1858804] - scsi: mpi3mr: Implement SCSI error handler hooks (Tomas Henzl) [1858804] - scsi: mpi3mr: Add bios_param SCSI host template hook (Tomas Henzl) [1858804] - scsi: mpi3mr: Print IOC info for debugging (Tomas Henzl) [1858804] - scsi: mpi3mr: Add support for timestamp sync with firmware (Tomas Henzl) [1858804] - scsi: mpi3mr: Add support for recovering controller (Tomas Henzl) [1858804] - scsi: mpi3mr: Additional event handling (Tomas Henzl) [1858804] - scsi: mpi3mr: Add support for PCIe device event handling (Tomas Henzl) [1858804] - scsi: mpi3mr: Add support for device add/remove event handling (Tomas Henzl) [1858804] - scsi: mpi3mr: Add support for internal watchdog thread (Tomas Henzl) [1858804] - scsi: mpi3mr: Add support for queue command processing (Tomas Henzl) [1858804] - scsi: mpi3mr: Create operational request and reply queue pair (Tomas Henzl) [1858804] - scsi: mpi3mr: Base driver code (Tomas Henzl) [1858804] - scsi: mpi3mr: Add mpi30 Rev-R headers and Kconfig (Tomas Henzl) [1858804] - e1000e: Fix prototype warning (Ken Cox) [1920290] - e1000e: Mark e1000e_pm_prepare() as __maybe_unused (Ken Cox) [1920290] - e1000e: Fix duplicate include guard (Ken Cox) [1920290] - e1000e: Remove the runtime suspend restriction on CNP+ (Ken Cox) [1920290] - e1000e: Leverage direct_complete to speed up s2ram (Ken Cox) [1920290] - e1000e: Fix error handling in e1000_set_d0_lplu_state_82571 (Ken Cox) [1920290] - e1000e: add rtnl_lock() to e1000_reset_task (Ken Cox) [1920290] - e1000e: remove the redundant value assignment in e1000_update_nvm_checksum_spt (Ken Cox) [1920290] - e1000e: Export S0ix flags to ethtool (Ken Cox) [1920290] - e1000e: bump up timeout to wait when ME un-configures ULP mode (Ken Cox) [1920290] - e1000e: Only run S0ix flows if shutdown succeeded (Ken Cox) [1920290] - scsi: ipr: System crashes when seeing type 20 error (Desnes A. Nunes do Rosario) [1977532] - scsi: ipr: Use scnprintf() for avoiding potential buffer overflow (Desnes A. Nunes do Rosario) [1977532] - tipc: do not write skb_shinfo frags when doing decrytion (Xin Long) [1974627] - bnxt_en: Call bnxt_ethtool_free() in bnxt_init_one() error path (Jonathan Toppins) [1921449] - bnxt_en: Fix TQM fastpath ring backing store computation (Jonathan Toppins) [1921449] - bnxt_en: Rediscover PHY capabilities after firmware reset (Jonathan Toppins) [1921449] - bnxt_en: Fix context memory setup for 64K page size. (Jonathan Toppins) [1921449] - bnxt_en: Include new P5 HV definition in VF check. (Jonathan Toppins) [1921449] - bnxt_en: Add PCI IDs for Hyper-V VF devices. (Jonathan Toppins) [1921449] - bnxt_en: Fix RX consumer index logic in the error path. (Jonathan Toppins) [1921449] - bnxt_en: fix ternary sign extension bug in bnxt_show_temp() (Jonathan Toppins) [1921449] - bnxt_en: reliably allocate IRQ table on reset to avoid crash (Jonathan Toppins) [1921449] - bnxt_en: Fix race between firmware reset and driver remove. (Jonathan Toppins) [1921449] - bnxt_en: Improve logging of error recovery settings information. (Jonathan Toppins) [1921449] - bnxt_en: Reply to firmware's echo request async message. (Jonathan Toppins) [1921449] - bnxt_en: Initialize "context kind" field for context memory blocks. (Jonathan Toppins) [1921449] - bnxt_en: Add context memory initialization infrastructure. (Jonathan Toppins) [1921449] - bnxt_en: Implement faster recovery for firmware fatal error. (Jonathan Toppins) [1921449] - bnxt_en: selectively allocate context memories (Jonathan Toppins) [1921449] - bnxt_en: Update firmware interface spec to 1.10.2.16. (Jonathan Toppins) [1921449] - bnxt_en: Fix devlink info's stored fw.psid version format. (Jonathan Toppins) [1921449] - bnxt_en: reverse order of TX disable and carrier off (Jonathan Toppins) [1921449] - bnxt_en: Convert to use netif_level() helpers. (Jonathan Toppins) [1921449] - bnxt_en: Do not process completion entries after fatal condition detected. (Jonathan Toppins) [1921449] - bnxt_en: Consolidate firmware reset event logging. (Jonathan Toppins) [1921449] - bnxt_en: Improve firmware fatal error shutdown sequence. (Jonathan Toppins) [1921449] - bnxt_en: Modify bnxt_disable_int_sync() to be called more than once. (Jonathan Toppins) [1921449] - bnxt_en: Add a new BNXT_STATE_NAPI_DISABLED flag to keep track of NAPI state. (Jonathan Toppins) [1921449] - bnxt_en: Add bnxt_fw_reset_timeout() helper. (Jonathan Toppins) [1921449] - bnxt_en: Retry open if firmware is in reset. (Jonathan Toppins) [1921449] - bnxt_en: attempt to reinitialize after aborted reset (Jonathan Toppins) [1921449] - bnxt_en: log firmware debug notifications (Jonathan Toppins) [1921449] - bnxt_en: Add an upper bound for all firmware command timeouts. (Jonathan Toppins) [1921449] - bnxt_en: Move reading VPD info after successful handshake with fw. (Jonathan Toppins) [1921449] - bnxt_en: Retry sending the first message to firmware if it is under reset. (Jonathan Toppins) [1921449] - bnxt_en: handle CRASH_NO_MASTER during bnxt_open() (Jonathan Toppins) [1921449] - bnxt_en: Define macros for the various health register states. (Jonathan Toppins) [1921449] - bnxt_en: Update firmware interface to 1.10.2.11. (Jonathan Toppins) [1921449] - bnxt_en: Clear DEFRAG flag in firmware message when retry flashing. (Jonathan Toppins) [1921449] - bnxt_en: Improve stats context resource accounting with RDMA driver loaded. (Jonathan Toppins) [1921449] - bnxt_en: Use kzalloc for allocating only one thing (Jonathan Toppins) [1921449] - bnxt_en: Check TQM rings for maximum supported value. (Jonathan Toppins) [1921449] - bnxt_en: Fix AER recovery. (Jonathan Toppins) [1921449] - bnxt_en: Enable batch mode when using HWRM_NVM_MODIFY to flash packages. (Jonathan Toppins) [1921449] - bnxt_en: Retry installing FW package under NO_SPACE error condition. (Jonathan Toppins) [1921449] - bnxt_en: Restructure bnxt_flash_package_from_fw_obj() to execute in a loop. (Jonathan Toppins) [1921449] - bnxt_en: Rearrange the logic in bnxt_flash_package_from_fw_obj(). (Jonathan Toppins) [1921449] - bnxt_en: Refactor bnxt_flash_nvram. (Jonathan Toppins) [1921449] - bnxt_en: Release PCI regions when DMA mask setup fails during probe. (Jonathan Toppins) [1921449] - bnxt_en: fix error return code in bnxt_init_board() (Jonathan Toppins) [1921449] - bnxt_en: fix error return code in bnxt_init_one() (Jonathan Toppins) [1921449] - bnxt_en: Avoid unnecessary NVM_GET_DEV_INFO cmd error log on VFs. (Jonathan Toppins) [1921449] - bnxt_en: Fix counter overflow logic. (Jonathan Toppins) [1921449] - bnxt_en: Free port stats during firmware reset. (Jonathan Toppins) [1921449] - bnxt_en: read EEPROM A2h address using page 0 (Jonathan Toppins) [1921449] - bnxt_en: Send HWRM_FUNC_RESET fw command unconditionally. (Jonathan Toppins) [1921449] - bnxt_en: Check abort error state in bnxt_open_nic(). (Jonathan Toppins) [1921449] - bnxt_en: Re-write PCI BARs after PCI fatal error. (Jonathan Toppins) [1921449] - bnxt_en: Invoke cancel_delayed_work_sync() for PFs also. (Jonathan Toppins) [1921449] - bnxt_en: Fix regression in workqueue cleanup logic in bnxt_remove_one(). (Jonathan Toppins) [1921449] - bnxt_en: Add stored FW version info to devlink info_get cb. (Jonathan Toppins) [1921449] - bnxt_en: Refactor bnxt_dl_info_get(). (Jonathan Toppins) [1921449] - bnxt_en: Add bnxt_hwrm_nvm_get_dev_info() to query NVM info. (Jonathan Toppins) [1921449] - bnxt_en: Log unknown link speed appropriately. (Jonathan Toppins) [1921449] - bnxt_en: Log event_data1 and event_data2 when handling RESET_NOTIFY event. (Jonathan Toppins) [1921449] - bnxt_en: Simplify bnxt_async_event_process(). (Jonathan Toppins) [1921449] - bnxt_en: Set driver default message level. (Jonathan Toppins) [1921449] - bnxt_en: Enable online self tests for multi-host/NPAR mode. (Jonathan Toppins) [1921449] - bnxt_en: Return -EROFS to user space, if NVM writes are not permitted. (Jonathan Toppins) [1921449] - bnxt_en: Eliminate unnecessary RX resets. (Jonathan Toppins) [1921449] - bnxt_en: Reduce unnecessary message log during RX errors. (Jonathan Toppins) [1921449] - bnxt_en: Add a software counter for RX ring reset. (Jonathan Toppins) [1921449] - bnxt_en: Implement RX ring reset in response to buffer errors. (Jonathan Toppins) [1921449] - bnxt_en: Refactor bnxt_init_one_rx_ring(). (Jonathan Toppins) [1921449] - bnxt_en: Refactor bnxt_free_rx_skbs(). (Jonathan Toppins) [1921449] - bnxt_en: Log FW health status info, if reset is aborted. (Jonathan Toppins) [1921449] - bnxt_en: perform no master recovery during startup (Jonathan Toppins) [1921449] - bnxt_en: log firmware status on firmware init failure (Jonathan Toppins) [1921449] - bnxt_en: refactor bnxt_alloc_fw_health() (Jonathan Toppins) [1921449] - bnxt_en: Update firmware interface spec to 1.10.1.68. (Jonathan Toppins) [1921449] - bnxt_en: Improve preset max value for ethtool -l. (Jonathan Toppins) [1921449] - bnxt_en: Implement ethtool set_fec_param() method. (Jonathan Toppins) [1921449] - bnxt_en: Report Active FEC encoding during link up. (Jonathan Toppins) [1921449] - bnxt_en: Report FEC settings to ethtool. (Jonathan Toppins) [1921449] - bnxt_en: avoid link reset if speed is not changed (Jonathan Toppins) [1921449] - bnxt_en: Handle ethernet link being disabled by firmware. (Jonathan Toppins) [1921449] - bnxt_en: ethtool: support PAM4 link speeds up to 200G (Jonathan Toppins) [1921449] - bnxt_en: add basic infrastructure to support PAM4 link speeds (Jonathan Toppins) [1921449] - bnxt_en: refactor bnxt_get_fw_speed() (Jonathan Toppins) [1921449] - bnxt_en: refactor code to limit speed advertising (Jonathan Toppins) [1921449] - bnxt_en: Update firmware interface spec to 1.10.1.65. (Jonathan Toppins) [1921449] - bnxt: add pause frame stats (Jonathan Toppins) [1921449] - xfrm: Fix xfrm offload fallback fail case (Andrea Claudi) [1976424] - sctp: trim optlen when it's a huge value in sctp_setsockopt (Xin Long) [1983864] - netfilter: flowtable: Set offload timeouts according to proto values (Phil Sutter) [1979184] - netfilter: conntrack: Introduce udp offload timeout configuration (Phil Sutter) [1979184] - netfilter: conntrack: Introduce tcp offload timeout configuration (Phil Sutter) [1979184] - veth: check for NAPI instead of xdp_prog before xmit of XDP frame (Paolo Abeni) [1952835] - self-tests: add veth tests (Paolo Abeni) [1952835] - veth: refine napi usage (Paolo Abeni) [1952835] - veth: allow enabling NAPI even without XDP (Paolo Abeni) [1952835] - veth: use skb_orphan_partial instead of skb_orphan (Paolo Abeni) [1952835] - net: really orphan skbs tied to closing sk (Paolo Abeni) [1952835] - net: let skb_orphan_partial wake-up waiters. (Paolo Abeni) [1952835] - veth: Store queue_mapping independently of XDP prog presence (Paolo Abeni) [1952835] - net/xfrm: Add inner_ipproto into sec_path (Petr Oros) [1981429] - net, xdp: Introduce xdp_prepare_buff utility routine (Jiri Benc) [1983730] - net, xdp: Introduce xdp_init_buff utility routine (Jiri Benc) [1983730] - bridge: switchdev: Notify about VLAN protocol changes (Ivan Vecera) [1981461] - net: bridge: br_vlan_get_pvid_rcu() should dereference the VLAN group under RCU (Ivan Vecera) [1981461] - bridge: add br_vlan_get_proto() (Ivan Vecera) [1981461] - bridge: add br_vlan_get_pvid_rcu() (Ivan Vecera) [1981461] - RDMA/bnxt_re: Fix a double free in bnxt_qplib_alloc_res (Selvin Xavier) [1921454 1923026] - RDMA/bnxt_re: Get rid of custom module reference counting (Selvin Xavier) [1921454 1923026] - RDMA/bnxt_re: Create direct symbol link between bnxt modules (Selvin Xavier) [1921454 1923026] - RDMA/bnxt_re: Depend on bnxt ethernet driver and not blindly select it (Selvin Xavier) [1921454 1923026] - RDMA/bnxt_re: Fix Kconfig indentation (Selvin Xavier) [1921454 1923026] - RDMA/bnxt_re: Fix error return code in bnxt_qplib_cq_process_terminal() (Selvin Xavier) [1921454 1923026] - RDMA/bnxt_re: Move device to error state upon device crash (Selvin Xavier) [1921454 1923026] - RDMA/bnxt_re: Allow bigger MR creation (Selvin Xavier) [1921454 1923026] - RDMA/bnxt_re: Code refactor while populating user MRs (Selvin Xavier) [1921454 1923026] - RDMA/bnxt_re: Fix max_qp_wrs reported (Selvin Xavier) [1921454 1923026] - RDMA/bnxt_re: Fix entry size during SRQ create (Selvin Xavier) [1921454 1923026] - RDMA/bnxt_re: Fix sizeof mismatch for allocation of pbl_tbl. (Selvin Xavier) [1921454 1923026] - RDMA/bnxt_re: Use rdma_umem_for_each_dma_block() (Selvin Xavier) [1921454 1923026] - [s390] tools/kvm_stat: Exempt time-based counters (Claudio Imbrenda) [1981802] - Documentation/admin-guide: intel_pstate: drop doubled word (David Arcari) [1973225] - Documentation: fix multiple typos found in the admin-guide subdirectory (David Arcari) [1973225] - cpufreq: intel_pstate: Fix active mode setting from command line (David Arcari) [1973225] - cpufreq: intel_pstate: Use passive mode by default without HWP (David Arcari) [1973225] - cpufreq: intel_pstate: Use HWP if enabled by platform firmware (David Arcari) [1973225] - cpufreq: intel_pstate: Simplify intel_pstate_update_perf_limits() (David Arcari) [1973225] - cpufreq: intel_pstate: Clean up frequency computations (David Arcari) [1973225] - cpufreq/intel_pstate: Fix wrong macro conversion (David Arcari) [1973225] - cpufreq: Convert to new X86 CPU match macros (David Arcari) [1973225] - treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 441 (David Arcari) [1973225] - selftests/fpu: Fix debugfs_simple_attr.cocci warning (Vitaly Kuznetsov) [1919182] - selftest/fpu: avoid clang warning (Vitaly Kuznetsov) [1919182] - redhat/configs: Add Enable CONFIG_TEST_FPU (Vitaly Kuznetsov) [1919182] - selftests/fpu: Add an FPU selftest (Vitaly Kuznetsov) [1919182] - x86/fpu/64: Don't FNINIT in kernel_fpu_begin() (Vitaly Kuznetsov) [1919182] - x86/fpu: Make the EFI FPU calling convention explicit (Vitaly Kuznetsov) [1919182] - x86/mmx: Use KFPU_387 for MMX string operations (Vitaly Kuznetsov) [1919182] - x86/fpu: Add kernel_fpu_begin_mask() to selectively initialize state (Vitaly Kuznetsov) [1919182] - x86/fpu: Simplify kernel_fpu_begin() (Vitaly Kuznetsov) [1919182] - x86/fpu: Simplify kernel_fpu_end() (Vitaly Kuznetsov) [1919182] - x86/fpu: Don't use current->mm to check for a kthread (Vitaly Kuznetsov) [1919182] - x86/fpu: Don't export __kernel_fpu_{begin,end}() (Vitaly Kuznetsov) [1919182] - intel_th: pci: Add Alder Lake-P support (Tony Camuso) [1929493 1929494]- can: bcm: delay release of struct bcm_op after synchronize_rcu() (Hangbin Liu) [1975059] {CVE-2021-3609} - seq_file: Disallow extremely large seq buffer allocations (Ian Kent) [1975182] - nvme-pci: look for StorageD3Enable on companion ACPI device instead (Gopal Tiwari) [1965660] - prctl: exe link permission error changed from -EINVAL to -EPERM (Adrian Reber) [1960708] - prctl: Allow local CAP_CHECKPOINT_RESTORE to change /proc/self/exe (Adrian Reber) [1960708] - prctl_set_mm: refactor checks from validate_prctl_map (Adrian Reber) [1960708] - proc: allow access in init userns for map_files with CAP_CHECKPOINT_RESTORE (Adrian Reber) [1960708] - pid_namespace: use checkpoint_restore_ns_capable() for ns_last_pid (Adrian Reber) [1960708] - capabilities: Introduce CAP_CHECKPOINT_RESTORE (Adrian Reber) [1960708] - scripts: skip empty CAP_* strings (Adrian Reber) [1960708] - VMCI: Release resource if the work is already queued (Cathy Avery) [1978518] - perf vendor events arm64: Add Fujitsu A64FX pmu event (Michael Petlan) [1908109] - perf vendor events arm64: Add more common and uarch events (Michael Petlan) [1908109] - sunrpc: Avoid a KASAN slab-out-of-bounds bug in xdr_set_page_base() (Benjamin Coddington) [1969751] - xfs: sync lazy sb accounting on quiesce of read-only mounts (Bill O'Donnell) [1917220] - drm/dp_mst: Avoid to mess up payload table by ports in stale topology (Lyude Paul) [1944404] - drm/dp_mst: Do not set proposed vcpi directly (Lyude Paul) [1944404] - drm/qxl: add lock asserts to qxl_bo_vmap_locked + qxl_bo_vunmap_locked (Lyude Paul) [1944404 1907341] - drm/qxl: rework cursor plane (Lyude Paul) [1944404 1907341] - drm/qxl: move shadow handling to new qxl_prepare_shadow() (Lyude Paul) [1944404 1907341] - drm/qxl: fix monitors object vmap (Lyude Paul) [1944404 1907341] - drm/qxl: fix prime vmap (Lyude Paul) [1944404 1907341] - drm/qxl: add qxl_bo_vmap/qxl_bo_vunmap (Lyude Paul) [1944404 1907341] - drm/qxl: rename qxl_bo_kmap -> qxl_bo_vmap_locked (Lyude Paul) [1944404 1907341] - drm/qxl: more fence wait rework (Lyude Paul) [1944404 1907341] - drm/qxl: properly handle device init failures (Lyude Paul) [1944404 1907341] - drm/qxl: allocate dumb buffers in ram (Lyude Paul) [1944404 1907341] - drm/qxl: simplify qxl_fence_wait (Lyude Paul) [1944404 1907341] - drm/qxl: properly free qxl releases (Lyude Paul) [1944404 1907341] - drm/qxl: handle shadow in primary destroy (Lyude Paul) [1944404 1907341] - drm/qxl: properly pin/unpin shadow (Lyude Paul) [1944404 1907341] - drm/qxl: use drmm_mode_config_init (Lyude Paul) [1944404 1907341] - drm/i915/icp+: Use icp_hpd_irq_setup() instead of spt_hpd_irq_setup() (Lyude Paul) [1944404] - drm/i915/gen9_bc: Add W/A for missing STRAP config on TGP PCH + CML combos (Lyude Paul) [1944404] - drm/i915/gen9_bc: Introduce HPD pin mappings for TGP PCH + CML combos (Lyude Paul) [1944404] - drm/i915/gen9_bc: Introduce TGP PCH DDC pin mappings (Lyude Paul) [1944404] - drm/i915/gen9_bc: Recognize TGP PCH + CML combos (Lyude Paul) [1944404] - drm/i915: rename i915_rev_steppings->intel_step_info (Lyude Paul) [1944404] - drm/i915: rename disp_stepping->display_step and gt_stepping->gt_step (Lyude Paul) [1944404] - drm/i915: rename DISP_STEPPING->DISPLAY_STEP and GT_STEPPING->GT_STEP (Lyude Paul) [1944404] - drm/i915: switch TGL and ADL to the new stepping scheme (Lyude Paul) [1944404] - drm/i915: switch KBL to the new stepping scheme (Lyude Paul) [1944404] - drm/i915: add new helpers for accessing stepping info (Lyude Paul) [1944404] - drm/i915: split out stepping info to a new file (Lyude Paul) [1944404] - drm/i915: Add DISPLAY_VER() and related macros (Lyude Paul) [1944404] - drm/i915/display: Do not allow DC3CO if PSR SF is enabled (Lyude Paul) [1944404] - drm/i915: s/dev_priv/i915/ for the remainder of DDI clock routing (Lyude Paul) [1944404] - drm/i915: Relocate icl_sanitize_encoder_pll_mapping() (Lyude Paul) [1944404] - drm/i915: Use .disable_clock() for pll sanitation (Lyude Paul) [1944404] - drm/i915: Split adl-s/rkl from icl_ddi_combo_{enable,disable}_clock() (Lyude Paul) [1944404] - drm/i915: Extract _cnl_ddi_{enable,disable}_clock() (Lyude Paul) [1944404] - drm/i915: Sprinkle WARN(!pll) into icl/dg1 .clock_enable() (Lyude Paul) [1944404] - drm/i915: Sprinkle a few missing locks around shared DDI clock registers (Lyude Paul) [1944404] - drm/i915: Use intel_de_rmw() for DDI clock routing (Lyude Paul) [1944404] - drm/i915: Extract icl+ .{enable,disable}_clock() vfuncs (Lyude Paul) [1944404] - drm/i915: Convert DG1 over to .{enable,disable}_clock() (Lyude Paul) [1944404] - drm/i195: Extract cnl_ddi_{enable,disable}_clock() (Lyude Paul) [1944404] - drm/i915: Extract skl_ddi_{enable,disable}_clock() (Lyude Paul) [1944404] - drm/i915: Extract hsw_ddi_{enable,disable}_clock() (Lyude Paul) [1944404] - drm/i915: Introduce .{enable,disable}_clock() encoder vfuncs (Lyude Paul) [1944404] - drm/i915: Use intel_ddi_clk_select() for FDI (Lyude Paul) [1944404] - drm/i915/adl_s: Add GT and CTX WAs for ADL-S (Lyude Paul) [1944404] - drm/i915/adl_s: Add display WAs for ADL-S (Lyude Paul) [1944404] - drm/i915/display: Add HAS_D12_PLANE_MINIMIZATION (Lyude Paul) [1944404] - drm/i915/adl_s: Re-use TGL GuC/HuC firmware (Lyude Paul) [1944404] - drm/i915/adl_s: Add power wells (Lyude Paul) [1944404] - drm/i915/adl_s: Update PHY_MISC programming (Lyude Paul) [1944404] - drm/i915/adl_s: Update combo PHY master/slave relationships (Lyude Paul) [1944404] - drm/i915/adl_s: Add vbt port and aux channel settings for adls (Lyude Paul) [1944404] - drm/i915/adl_s: Add adl-s ddc pin mapping (Lyude Paul) [1944404] - drm/i915/adl_s: Initialize display for ADL-S (Lyude Paul) [1944404] - drm/i915/adl_s: Configure Port clock registers for ADL-S (Lyude Paul) [1944404] - drm/i915/adl_s: Configure DPLL for ADL-S (Lyude Paul) [1944404] - drm/i915/adl_s: Add PHYs for Alderlake S (Lyude Paul) [1944404] - drm/i915/adl_s: Add PCH support (Lyude Paul) [1944404] - drm/i915/adl_s: Add ADL-S platform info and PCI ids (Lyude Paul) [1944404] - drm/i915/tgl: Use TGL stepping info for applying WAs (Lyude Paul) [1944404] - redhat/configs: Update CONFIG_HSA_AMD (Lyude Paul) - redhat/configs: Update CONFIG_DRM_AMDGPU_USERPTR (Lyude Paul) - DRM Backport v5.11 -> v5.12.4 (Lyude Paul) [1944404] - include/linux/kernel.h: add typeof_member() macro (Lyude Paul) [1944404] - drm: Use USB controller's DMA mask when importing dmabufs (Lyude Paul) [1944404] - PM: runtime: Add pm_runtime_get_if_active() (Lyude Paul) [1944404] - PCI: Add pci_rebar_bytes_to_size() (Lyude Paul) [1944404] - PCI: Export pci_rebar_get_possible_sizes() (Lyude Paul) [1944404] - DRM backport v5.10->v5.11 (Lyude Paul) [1944404] - dma-buf: Use struct dma_buf_map in dma_buf_vunmap() interfaces (Lyude Paul) [1944404] - dma-buf: Use struct dma_buf_map in dma_buf_vmap() interfaces (Lyude Paul) [1944404] - dma-buf: Add struct dma-buf-map for storing struct dma_buf.vaddr_ptr (Lyude Paul) [1944404] - PCI/PM: Do not generate wakeup event when runtime resuming device (Lyude Paul) [1944404] - PCI/PM: Rename pci_wakeup_bus() to pci_resume_bus() (Lyude Paul) [1944404] - blktrace: make relay callbacks const (Lyude Paul) [1944404] - drm/i915: make relay callbacks const (Lyude Paul) [1944404] - relay: allow the use of const callback structs (Lyude Paul) [1944404] - relay: make create_buf_file and remove_buf_file callbacks mandatory (Lyude Paul) [1944404] - relay: require non-NULL callbacks in relay_open() (Lyude Paul) [1944404] - relay: remove unused buf_mapped and buf_unmapped callbacks (Lyude Paul) [1944404] - drm/edid: fix objtool warning in drm_cvt_modes() (Lyude Paul) [1944404] - drm/edid: Fix uninitialized variable in drm_cvt_modes() (Lyude Paul) [1944404] - DRM backport v5.9.y -> v5.10 (Lyude Paul) [1944404] - time: Introduce jiffies64_to_msecs() (Lyude Paul) [1944404] - virtio: add dma-buf support for exported objects (Lyude Paul) [1944404] - objtool: Rename frame.h -> objtool.h (Lyude Paul) [1944404] - moduleparams: Add hexint type parameter (Lyude Paul) [1944404] - iommu/vt-d: Move intel_iommu_gfx_mapped to Intel IOMMU header (Lyude Paul) [1944404]- [s390] s390/zcrypt/pkey: introduce zcrypt_wait_api_operational() function (Claudio Imbrenda) [1881833] - [s390] s390/ap: ap bus userspace notifications for some bus conditions (Claudio Imbrenda) [1881833] - [s390] s390/pkey: fix paes selftest failure with paes and pkey static build (Claudio Imbrenda) [1881833] - KVM: nSVM: Avoid tainiting kernel by default (Vitaly Kuznetsov) [1982248] - KVM: s390x: implement KVM_CAP_SET_GUEST_DEBUG2 (Thomas Huth) [1945752] - KVM: s390: fix guarded storage control register handling (Thomas Huth) [1945752] - s390/protvirt: fix error return code in uv_info_init() (Thomas Huth) [1945752] - s390/uv: fix prot virt host indication compilation (Thomas Huth) [1945752] - KVM: s390: VSIE: fix MVPG handling for prefixing and MSO (Thomas Huth) [1945752] - KVM: s390: split kvm_s390_real_to_abs (Thomas Huth) [1945752] - KVM: s390: VSIE: correctly handle MVPG when in VSIE (Thomas Huth) [1945752] - KVM: s390: extend kvm_s390_shadow_fault to return entry pointer (Thomas Huth) [1945752] - s390/uv: add prot virt guest/host indication files (Thomas Huth) [1945752] - KVM: s390: split kvm_s390_logical_to_effective (Thomas Huth) [1945752] - KVM: s390: Fix comment spelling in kvm_s390_vcpu_start() (Thomas Huth) [1945752] - s390: uv: Fix sysfs max number of VCPUs reporting (Thomas Huth) [1945752] - KVM: s390: track synchronous pfault events in kvm_stat (Thomas Huth) [1945752] - s390/gmap: make gmap memcg aware (Thomas Huth) [1945752] - KVM: s390: Add memcg accounting to KVM allocations (Thomas Huth) [1945752] - s390/uv: handle destroy page legacy interface (Thomas Huth) [1945752] - KVM: s390: pv: Mark mm as protected after the set secure parameters and improve cleanup (Thomas Huth) [1945752] - virtio/s390: implement virtio-ccw revision 2 correctly (Thomas Huth) [1945752] - sfc: deprecate SFC9020 family (Siena) (Íñigo Huguet) [1926379] - NFS: Fix open coded versions of nfs_set_cache_invalid() in NFSv4 (Benjamin Coddington) [1936478] - NFS: Fix open coded versions of nfs_set_cache_invalid() (Benjamin Coddington) [1936478] - NFS: Clean up function nfs_mark_dir_for_revalidate() (Benjamin Coddington) [1936478] - NFSD: Mark exports of NFS as tech-preview (Benjamin Coddington) [1972229] - perf vendor events intel: Add missing skylake & icelake model numbers (Michael Petlan) [1971959] - tc-testing: add test for ct DNAT tuple collision (Marcelo Ricardo Leitner) [1964578] - tc-testing: add support for sending various scapy packets (Marcelo Ricardo Leitner) [1964578] - tc-testing: fix list handling (Marcelo Ricardo Leitner) [1964578] - net/sched: act_ct: handle DNAT tuple collision (Marcelo Ricardo Leitner) [1964578] - net/packet: remove data races in fanout operations (Balazs Nemeth) [1957270] - net/packet: remove locking from packet_rcv_has_room() (Balazs Nemeth) [1957270] - net: packetmmap: fix only tx timestamp on request (Balazs Nemeth) [1970404] - x86/sgx: Add TAINT_TECH_PREVIEW for virtual EPC (Bandan Das) [1977474] - cxgb4: fix thermal zone device registration (Raju Rangoju) [1954012] - powerpc/64s: Fix crashes when toggling stf barrier (Desnes A. Nunes do Rosario) [1964484] - iavf: Fix an error handling path in 'iavf_probe()' (Stefan Assmann) [1920276] - iavf: clean up packet type lookup table (Stefan Assmann) [1920276] - iavf: redefine the magic number for FDIR GTP-U header fields (Stefan Assmann) [1920276] - iavf: enhance the duplicated FDIR list scan handling (Stefan Assmann) [1920276] - iavf: change the flex-byte support number to macro definition (Stefan Assmann) [1920276] - iavf: remove duplicate free resources calls (Stefan Assmann) [1920276] - iavf: Support for modifying SCTP RSS flow hashing (Stefan Assmann) [1920276] - iavf: Support for modifying UDP RSS flow hashing (Stefan Assmann) [1920276] - iavf: Support for modifying TCP RSS flow hashing (Stefan Assmann) [1920276] - iavf: Add framework to enable ethtool RSS config (Stefan Assmann) [1920276] - iavf: add support for UDP Segmentation Offload (Stefan Assmann) [1920276] - intel: clean up mismatched header comments (Stefan Assmann) [1920276] - iavf: Enable flex-bytes support (Stefan Assmann) [1920276] - iavf: Support Ethernet Type Flow Director filters (Stefan Assmann) [1920276] - iavf: Support IPv6 Flow Director filters (Stefan Assmann) [1920276] - iavf: Support IPv4 Flow Director filters (Stefan Assmann) [1920276] - iavf: Add framework to enable ethtool ntuple filters (Stefan Assmann) [1920276] - net: intel: iavf: fix error return code of iavf_init_get_resources() (Stefan Assmann) [1920276] - workqueue: Move the position of debug_work_activate() in __queue_work() (Waiman Long) [1977537] - workqueue: remove useless unlock() and lock() in series (Waiman Long) [1977537] - workqueue: Convert the pool::lock and wq_mayday_lock to raw_spinlock_t (Waiman Long) [1977537] - workqueue: Use rcuwait for wq_manager_wait (Waiman Long) [1977537] - workqueue: Remove unnecessary kfree() call in rcu_free_wq() (Waiman Long) [1977537] - workqueue: Fix an use after free in init_rescuer() (Waiman Long) [1977537] - workqueue: Use IS_ERR and PTR_ERR instead of PTR_ERR_OR_ZERO. (Waiman Long) [1977537] - workqueue: don't use wq_select_unbound_cpu() for bound works (Waiman Long) [1977537] - workqueue: Use pr_warn instead of pr_warning (Waiman Long) [1977537] - workqueue: more destroy_workqueue() fixes (Waiman Long) [1977537] - workqueue: Minor follow-ups to the rescuer destruction change (Waiman Long) [1977537] - kernel/workqueue: Document wq_worker_last_func() argument (Waiman Long) [1977537] - workqueue: Only unregister a registered lockdep key (Waiman Long) [1977537] - kernel: workqueue: clarify wq_worker_last_func() caller requirements (Waiman Long) [1977537] - workqueue: Fix spelling in source code comments (Waiman Long) [1977537] - workqueue: fix typo in comment (Waiman Long) [1977537] - ice: add correct exception tracing for XDP (Jonathan Toppins) [1920278] - ice: optimize for XDP_REDIRECT in xsk path (Jonathan Toppins) [1920278] - ice: Allow all LLDP packets from PF to Tx (Jonathan Toppins) [1920278] - ice: report supported and advertised autoneg using PHY capabilities (Jonathan Toppins) [1920278] - ice: handle the VF VSI rebuild failure (Jonathan Toppins) [1920278] - ice: Fix VFR issues for AVF drivers that expect ATQLEN cleared (Jonathan Toppins) [1920278] - ice: Fix allowing VF to request more/less queues via virtchnl (Jonathan Toppins) [1920278] - ice: track AF_XDP ZC enabled queues in bitmap (Jonathan Toppins) [1920278] - ice: handle increasing Tx or Rx ring sizes (Jonathan Toppins) [1920278] - ice: Fix potential infinite loop when using u8 loop counter (Jonathan Toppins) [1920278] - ice: fix memory leak of aRFS after resuming from suspend (Jonathan Toppins) [1920278] - ice: Cleanup fltr list in case of allocation issues (Jonathan Toppins) [1920278] - ice: Use port number instead of PF ID for WoL (Jonathan Toppins) [1920278] - ice: Fix for dereference of NULL pointer (Jonathan Toppins) [1920278] - ice: remove DCBNL_DEVRESET bit from PF state (Jonathan Toppins) [1920278] - ice: fix memory allocation call (Jonathan Toppins) [1920278] - ice: prevent ice_open and ice_stop during reset (Jonathan Toppins) [1920278] - ice: Recognize 860 as iSCSI port in CEE mode (Jonathan Toppins) [1920278] - ice: Increase control queue timeout (Jonathan Toppins) [1920278] - ice: Continue probe on link/PHY errors (Jonathan Toppins) [1920278] - ice: fix napi work done reporting in xsk path (Jonathan Toppins) [1920278] - ice: update the number of available RSS queues (Jonathan Toppins) [1920278] - ice: Fix state bits on LLDP mode switch (Jonathan Toppins) [1920278] - ice: Account for port VLAN in VF max packet size calculation (Jonathan Toppins) [1920278] - ice: Set trusted VF as default VSI when setting allmulti on (Jonathan Toppins) [1920278] - ice: report correct max number of TCs (Jonathan Toppins) [1920278] - ice: skip NULL check against XDP prog in ZC path (Jonathan Toppins) [1920278] - ice: remove redundant checks in ice_change_mtu (Jonathan Toppins) [1920278] - ice: move skb pointer from rx_buf to rx_ring (Jonathan Toppins) [1920278] - ice: simplify ice_run_xdp (Jonathan Toppins) [1920278] - ice: Improve MSI-X fallback logic (Jonathan Toppins) [1920278] - ice: Fix trivial error message (Jonathan Toppins) [1920278] - ice: remove unnecessary casts (Jonathan Toppins) [1920278] - ice: Refactor DCB related variables out of the ice_port_info struct (Jonathan Toppins) [1920278] - ice: fix writeback enable logic (Jonathan Toppins) [1920278] - ice: Use PSM clock frequency to calculate RL profiles (Jonathan Toppins) [1920278] - ice: create scheduler aggregator node config and move VSIs (Jonathan Toppins) [1920278 1940527 1940535 1940542] {CVE-2020-24504 CVE-2020-24503 CVE-2020-24502} - ice: Add initial support framework for LAG (Jonathan Toppins) [1920278] - ice: Remove xsk_buff_pool from VSI structure (Jonathan Toppins) [1920278] - ice: implement new LLDP filter command (Jonathan Toppins) [1920278] - ice: log message when trusted VF goes in/out of promisc mode (Jonathan Toppins) [1920278] - ice: remove dead code (Jonathan Toppins) [1920278] - ice: use flex_array_size where possible (Jonathan Toppins) [1920278] - ice: Replace one-element array with flexible-array member (Jonathan Toppins) [1920278] - ice: display stored UNDI firmware version via devlink info (Jonathan Toppins) [1920278] - ice: display stored netlist versions via devlink info (Jonathan Toppins) [1920278] - ice: display some stored NVM versions via devlink info (Jonathan Toppins) [1920278] - ice: introduce function for reading from flash modules (Jonathan Toppins) [1920278] - ice: cache NVM module bank information (Jonathan Toppins) [1920278] - ice: introduce context struct for info report (Jonathan Toppins) [1920278] - ice: create flash_info structure and separate NVM version (Jonathan Toppins) [1920278] - ice: report timeout length for erasing during devlink flash (Jonathan Toppins) [1920278] - ice: Implement flow for IPv6 next header (extension header) (Jonathan Toppins) [1920278] - ice: fix FDir IPv6 flexbyte (Jonathan Toppins) [1920278] - ice: drop dead code in ice_receive_skb() (Jonathan Toppins) [1920278] - ice, xsk: Move Rx allocation out of while-loop (Jonathan Toppins) [1920278] - ice: avoid premature Rx buffer reuse (Jonathan Toppins) [1920278] - ice: Add space to unknown speed (Jonathan Toppins) [1920278] - ice: join format strings to same line as ice_debug (Jonathan Toppins) [1920278] - ice: silence static analysis warning (Jonathan Toppins) [1920278] - ice: cleanup misleading comment (Jonathan Toppins) [1920278] - ice: Remove vlan_ena from vsi structure (Jonathan Toppins) [1920278] - ice: Remove gate to OROM init (Jonathan Toppins) [1920278] - ice: Enable Support for FW Override (E82X) (Jonathan Toppins) [1920278] - ice: don't always return an error for Get PHY Abilities AQ command (Jonathan Toppins) [1920278] - ice: cleanup stack hog (Jonathan Toppins) [1920278] - mm: migrate: fix missing update page_private to hugetlb_page_subpool (Chris von Recklinghausen) [1981661] - mm,hugetlb: drop clearing of flag from prep_new_huge_page (Chris von Recklinghausen) [1981661] - hugetlb: fix uninitialized subpool pointer (Chris von Recklinghausen) [1981661] - include/linux/hugetlb.h: add synchronization information for new hugetlb specific flags (Chris von Recklinghausen) [1981661] - hugetlb: convert PageHugeFreed to HPageFreed flag (Chris von Recklinghausen) [1981661] - hugetlb: convert PageHugeTemporary() to HPageTemporary flag (Chris von Recklinghausen) [1981661] - mm: hugetlb: fix a race between freeing and dissolving the page (Chris von Recklinghausen) [1981661] - mm: don't let userspace spam allocations warnings (Xin Long) [1976699] - dm writecache: make writeback pause configurable (Mike Snitzer) [1978369] - dm writecache: pause writeback if cache full and origin being written directly (Mike Snitzer) [1978369] - dm io tracker: factor out IO tracker (Mike Snitzer) [1978369] - dm writecache: add optional "metadata_only" parameter (Mike Snitzer) [1978369] - dm writecache: add "cleaner" and "max_age" to Documentation (Mike Snitzer) [1978369] - dm writecache: write at least 4k when committing (Mike Snitzer) [1978369] - dm writecache: have ssd writeback wait if the kcopyd workqueue is busy (Mike Snitzer) [1978369] - dm writecache: use list_move instead of list_del_list_add in writecache_writeback() (Mike Snitzer) [1978369] - dm writecache: commit just one block, not a full page (Mike Snitzer) [1978369] - dm writecache: remove unused gfp_t argument from wc_add_block() (Mike Snitzer) [1978369] - dm writecache: interrupt writeback if suspended (Mike Snitzer) [1978369] - dm writecache: don't split bios when overwriting contiguous cache content (Mike Snitzer) [1978369] - dm kcopyd: avoid spin_lock_irqsave from process context (Mike Snitzer) [1978369] - dm kcopyd: avoid useless atomic operations (Mike Snitzer) [1978369] - x86/asm: Optimize memcpy_flushcache() (Mike Snitzer) [1978369] - IB/isert: Align target max I/O size to initiator size (Kamal Heib) [1930955] - IB/isert: set rdma cm afonly flag (Kamal Heib) [1930955]- xsk: Rollback reservation at NETDEV_TX_BUSY (Jiri Benc) [1882711] - xsk: Fix race in SKB mode transmit with shared cq (Jiri Benc) [1882711] - bpf: Only provide bpf_sock_from_file with CONFIG_NET (Jiri Benc) [1882711] - xsk: Validate socket state in xsk_recvmsg, prior touching socket members (Jiri Benc) [1882711] - samples/bpf: Fix spelling mistake "recieving" -> "receiving" (Jiri Benc) [1882711] - samples/bpf: Sample application for eBPF load and socket creation split (Jiri Benc) [1882711] - bpf: Adds support for setting window clamp (Jiri Benc) [1882711] - tcp: declare tcp_mmap() only when CONFIG_MMU is set (Jiri Benc) [1882711] - bpf: Remove trailing semicolon in macro definition (Jiri Benc) [1882711] - bpf: Allow bpf_{s,g}etsockopt from cgroup bind{4,6} hooks (Jiri Benc) [1882711] - bpf: Eliminate rlimit-based memory accounting infra for bpf maps (Jiri Benc) [1882711] - bpf: Eliminate rlimit-based memory accounting for xskmap maps (Jiri Benc) [1882711] - bpf: Eliminate rlimit-based memory accounting for sockmap and sockhash maps (Jiri Benc) [1882711] - bpf: Refine memcg-based memory accounting for xskmap maps (Jiri Benc) [1882711] - bpf: Refine memcg-based memory accounting for sockmap and sockhash maps (Jiri Benc) [1882711] - net, xdp, xsk: fix __sk_mark_napi_id_once napi_id error (Jiri Benc) [1882711] - samples/bpf: Add option to set the busy-poll budget (Jiri Benc) [1882711] - samples/bpf: Add busy-poll support to xdpsock (Jiri Benc) [1882711] - xsk: Propagate napi_id to XDP socket Rx path (Jiri Benc) [1882711] - xsk: Add busy-poll support for {recv,send}msg() (Jiri Benc) [1882711] - xsk: Check need wakeup flag in sendmsg() (Jiri Benc) [1882711] - xsk: Add support for recvmsg() (Jiri Benc) [1882711] - net: Add SO_BUSY_POLL_BUDGET socket option (Jiri Benc) [1882711] - net: Introduce preferred busy-polling (Jiri Benc) [1882711] - net: napi: use READ_ONCE()/WRITE_ONCE() (Jiri Benc) [1882711] - net: napi: add hard irqs deferral feature (Jiri Benc) [1882711] - fs/eventpoll.c: simply CONFIG_NET_RX_BUSY_POLL ifdefery (Jiri Benc) [1882711] - xdp: Remove the functions xsk_map_inc and xsk_map_put (Jiri Benc) [1882711] - xsk: Introduce batched Tx descriptor interfaces (Jiri Benc) [1882711] - xsk: Introduce padding between more ring pointers (Jiri Benc) [1882711] - net: page_pool: Add bulk support for ptr_ring (Jiri Benc) [1882711] - net: xdp: Introduce bulking for xdp tx return path (Jiri Benc) [1882711] - bpf: Rename some functions in bpf_sk_storage (Jiri Benc) [1882711] - bpf: Folding omem_charge() into sk_storage_charge() (Jiri Benc) [1882711] - net/smc: properly handle workqueue allocation failure (Andrea Claudi) [1955178] - Revert "net/smc: fix a NULL pointer dereference" (Andrea Claudi) [1955178] - KVM: selftests: evmcs_test: Test that KVM_STATE_NESTED_EVMCS is never lost (Vitaly Kuznetsov) [1940837] - KVM: nVMX: Request to sync eVMCS from VMCS12 after migration (Vitaly Kuznetsov) [1940837] - KVM: nVMX: Reset eVMCS clean fields data from prepare_vmcs02() (Vitaly Kuznetsov) [1940837] - KVM: nVMX: Force enlightened VMCS sync from nested_vmx_failValid() (Vitaly Kuznetsov) [1940837] - KVM: nVMX: Ignore 'hv_clean_fields' data when eVMCS data is copied in vmx_get_nested_state() (Vitaly Kuznetsov) [1940837] - KVM: nVMX: Release enlightened VMCS on VMCLEAR (Vitaly Kuznetsov) [1940837] - KVM: nVMX: Introduce 'EVMPTR_MAP_PENDING' post-migration state (Vitaly Kuznetsov) [1940837] - KVM: nVMX: Make copy_vmcs12_to_enlightened()/copy_enlightened_to_vmcs12() return 'void' (Vitaly Kuznetsov) [1940837] - KVM: nVMX: Release eVMCS when enlightened VMENTRY was disabled (Vitaly Kuznetsov) [1940837] - KVM: nVMX: Don't set 'dirty_vmcs12' flag on enlightened VMPTRLD (Vitaly Kuznetsov) [1940837] - KVM: nVMX: Use '-1' in 'hv_evmcs_vmptr' to indicate that eVMCS is not in use (Vitaly Kuznetsov) [1940837] - KVM: selftests: evmcs_test: Check that VMCS12 is alway properly synced to eVMCS after restore (Vitaly Kuznetsov) [1940837] - KVM: selftests: evmcs_test: Check that VMLAUNCH with bogus EVMPTR is causing #UD (Vitaly Kuznetsov) [1940837] - KVM: nVMX: Always make an attempt to map eVMCS after migration (Vitaly Kuznetsov) [1940837] - Bluetooth: btusb: Some Qualcomm Bluetooth adapters stop working (Gopal Tiwari) [1973909] - KVM: x86: Unload MMU on guest TLB flush if TDP disabled to force MMU sync (Vitaly Kuznetsov) [1906634] - scsi: sbitmap: Silence a debug kernel warning triggered by sbitmap_put() (Ewan D. Milne) [1761937] - scsi: core: Replace sdev->device_busy with sbitmap (Ewan D. Milne) [1761937] - scsi: core: Make sure sdev->queue_depth is <= max(shost->can_queue, 1024) (Ewan D. Milne) [1761937] - scsi: core: Add scsi_device_busy() wrapper (Ewan D. Milne) [1761937] - scsi: blk-mq: Return budget token from .get_budget callback (Ewan D. Milne) [1761937] - scsi: blk-mq: Add callbacks for storing & retrieving budget token (Ewan D. Milne) [1761937] - scsi: sbitmap: Add sbitmap_calculate_shift() helper (Ewan D. Milne) [1761937] - scsi: sbitmap: Export sbitmap_weight (Ewan D. Milne) [1761937] - scsi: sbitmap: Move allocation hint into sbitmap (Ewan D. Milne) [1761937] - scsi: sbitmap: Add helpers for updating allocation hint (Ewan D. Milne) [1761937] - scsi: sbitmap: Maintain allocation round_robin in sbitmap (Ewan D. Milne) [1761937] - scsi: sbitmap: Remove sbitmap_clear_bit_unlock (Ewan D. Milne) [1761937] - blk-mq: pass request queue into get/put budget callback (Ewan D. Milne) [1761937] - dma-iommu: implement ->alloc_noncontiguous (Jerry Snitselaar) [1955767] - dma-iommu: refactor iommu_dma_alloc_remap (Jerry Snitselaar) [1955767] - dma-mapping: add a dma_alloc_noncontiguous API (Jerry Snitselaar) [1955767] - dma-mapping: refactor dma_{alloc,free}_pages (Jerry Snitselaar) [1955767] - dma-mapping: add a dma_mmap_pages helper (Jerry Snitselaar) [1955767] - dma-mapping: remove the {alloc,free}_noncoherent methods (Jerry Snitselaar) [1955767] - iommu/vt-d: Make unnecessarily global functions static (Jerry Snitselaar) [1955767] - iommu/vt-d: Remove unused function declarations (Jerry Snitselaar) [1955767] - iommu/vt-d: Remove SVM_FLAG_PRIVATE_PASID (Jerry Snitselaar) [1955767] - iommu/vt-d: Remove svm_dev_ops (Jerry Snitselaar) [1955767] - iommu/vt-d: Use Real PCI DMA device for IRTE (Jerry Snitselaar) [1955767] - iommu/vt-d: Calculate and set flags for handle_mm_fault (Jerry Snitselaar) [1955767] - iommu/vt-d: Fix build error of pasid_enable_wpe() with !X86 (Jerry Snitselaar) [1955767] - iommu/vt-d: Avoid unnecessary cache flush in pasid entry teardown (Jerry Snitselaar) [1955767] - iommu/vt-d: Enable write protect propagation from guest (Jerry Snitselaar) [1955767] - iommu/vt-d: Enable write protect for supervisor SVM (Jerry Snitselaar) [1955767] - iommu/vt-d: Report more information about invalidation errors (Jerry Snitselaar) [1955767] - iommu/vt-d: Disable SVM when ATS/PRI/PASID are not enabled in the device (Jerry Snitselaar) [1955767] - iommu: Stop exporting free_iova_fast() (Jerry Snitselaar) [1955767] - iommu: Delete iommu_dma_free_cpu_cached_iovas() (Jerry Snitselaar) [1955767] - iommu/vt-d: Remove IOVA domain rcache flushing for CPU offlining (Jerry Snitselaar) [1955767] - iova: Add CPU hotplug handler to flush rcaches (Jerry Snitselaar) [1955767] - iommu/iova: Improve restart logic (Jerry Snitselaar) [1955767] - iommu/iova: Add rbtree entry helper (Jerry Snitselaar) [1955767] - iommu/arm-smmu-v3: Remove the unused fields for PREFETCH_CONFIG command (Jerry Snitselaar) [1955767] - iommu/vt-d: Use user privilege for RID2PASID translation (Jerry Snitselaar) [1955767] - iommu/vt-d: Fix sysfs leak in alloc_iommu() (Jerry Snitselaar) [1955767] - iommu/arm-smmu-v3: Add a check to avoid invalid iotlb sync (Jerry Snitselaar) [1955767] - x86/events/amd/iommu: Fix invalid Perf result due to IOMMU PMC power-gating (Jerry Snitselaar) [1955767] - iommu: Fix a boundary issue to avoid performance drop (Jerry Snitselaar) [1955767] - iommu/vt-d: Check for allocation failure in aux_detach_device() (Jerry Snitselaar) [1955767] - iommu/vt-d: Remove unused dma map/unmap trace events (Jerry Snitselaar) [1955767] - iommu/amd: Clear DMA ops when switching domain (Jerry Snitselaar) [1955767] - iommu/amd: Remove performance counter pre-initialization test (Jerry Snitselaar) [1955767] - Revert "iommu/amd: Fix performance counter initialization" (Jerry Snitselaar) [1955767] - iommu/dma: Resurrect the "forcedac" option (Jerry Snitselaar) [1955767] - iommu: Check dev->iommu in iommu_dev_xxx functions (Jerry Snitselaar) [1955767] - iommu/amd: Put newline after closing bracket in warning (Jerry Snitselaar) [1955767] - iommu/vt-d: Force to flush iotlb before creating superpage (Jerry Snitselaar) [1955767] - iommu/vt-d: Fix an error handling path in 'intel_prepare_irq_remapping()' (Jerry Snitselaar) [1955767] - iommu/vt-d: Invalidate PASID cache when root/context entry changed (Jerry Snitselaar) [1955767] - iommu/vt-d: Remove WO permissions on second-level paging entries (Jerry Snitselaar) [1955767] - iommu/vt-d: Report the right page fault address (Jerry Snitselaar) [1955767] - iommu/vt-d: Report right snoop capability when using FL for IOVA (Jerry Snitselaar) [1955767] - iommu/vt-d: Don't set then clear private data in prq_event_thread() (Jerry Snitselaar) [1955767] - iommu/vt-d: Reject unsupported page request modes (Jerry Snitselaar) [1955767] - iommu/arm-smmu-v3: add bit field SFM into GERROR_ERR_MASK (Jerry Snitselaar) [1955767] - iommu/amd: Keep track of amd_iommu_irq_remap state (Jerry Snitselaar) [1955767] - iommu/amd: Don't call early_amd_iommu_init() when AMD IOMMU is disabled (Jerry Snitselaar) [1955767] - iommu/amd: Move Stoney Ridge check to detect_ivrs() (Jerry Snitselaar) [1955767] - iommu/vt-d: Fix status code for Allocate/Free PASID command (Jerry Snitselaar) [1955767] - iommu: Don't use lazy flush for untrusted device (Jerry Snitselaar) [1955767] - iommu/amd: Fix sleeping in atomic in increase_address_space() (Jerry Snitselaar) [1955767] - iommu: Delete iommu_dev_has_feature() (Jerry Snitselaar) [1955767] - iommu: Delete iommu_domain_window_disable() (Jerry Snitselaar) [1955767] - iommu: Stop exporting iommu_map_sg_atomic() (Jerry Snitselaar) [1955767] - iova: Stop exporting some more functions (Jerry Snitselaar) [1955767] - iova: Delete copy_reserved_iova() (Jerry Snitselaar) [1955767] - iova: Make has_iova_flush_queue() private (Jerry Snitselaar) [1955767] - iommu/vt-d: Add iotlb_sync_map callback (Jerry Snitselaar) [1955767] - iommu/vt-d: Move capability check code to cap_audit files (Jerry Snitselaar) [1921289] - iommu/vt-d: Audit IOMMU Capabilities and add helper functions (Jerry Snitselaar) [1921289] - iommu/vt-d: Fix 'physical' typos (Jerry Snitselaar) [1955767] - iommu/vt-d: Fix compile error [-Werror=implicit-function-declaration] (Jerry Snitselaar) [1955767] - iommu/vt-d: Use INVALID response code instead of FAILURE (Jerry Snitselaar) [1920726] - iommu/vt-d: Clear PRQ overflow only when PRQ is empty (Jerry Snitselaar) [1955767] - iommu/vt-d: Preset Access/Dirty bits for IOVA over FL (Jerry Snitselaar) [1955767] - iommu/vt-d: Add qi_submit trace event (Jerry Snitselaar) [1955767] - iommu/vt-d: Consolidate duplicate cache invaliation code (Jerry Snitselaar) [1955767] - iommu/amd: Adopt IO page table framework for AMD IOMMU v1 page table (Jerry Snitselaar) [1955767] - iommu/amd: Introduce iommu_v1_map_page and iommu_v1_unmap_page (Jerry Snitselaar) [1955767] - iommu/amd: Introduce iommu_v1_iova_to_phys (Jerry Snitselaar) [1955767] - iommu/amd: Refactor fetch_pte to use struct amd_io_pgtable (Jerry Snitselaar) [1955767] - iommu/amd: Rename variables to be consistent with struct io_pgtable_ops (Jerry Snitselaar) [1955767] - iommu/amd: Remove amd_iommu_domain_get_pgtable (Jerry Snitselaar) [1955767] - iommu/amd: Restructure code for freeing page table (Jerry Snitselaar) [1955767] - iommu/amd: Move IO page table related functions (Jerry Snitselaar) [1955767] - iommu/amd: Declare functions as extern (Jerry Snitselaar) [1955767] - iommu/amd: Convert to using amd_io_pgtable (Jerry Snitselaar) [1955767] - iommu/amd: Move pt_root to struct amd_io_pgtable (Jerry Snitselaar) [1955767] - iommu/amd: Prepare for generic IO page table framework (Jerry Snitselaar) [1955767] - iommu/amd: Re-define amd_iommu_domain_encode_pgtable as inline (Jerry Snitselaar) [1955767] - iommu/amd: remove h from printk format specifier (Jerry Snitselaar) [1955767] - iommu/amd: Use DEFINE_SPINLOCK() for spinlock (Jerry Snitselaar) [1955767] - iommu/amd: Remove unnecessary assignment (Jerry Snitselaar) [1955767] - iommu: Properly pass gfp_t in _iommu_map() to avoid atomic sleeping (Jerry Snitselaar) [1955767] - iommu/io-pgtable-arm-v7s: Add cfg as a param in some macros (Jerry Snitselaar) [1955767] - iommu/io-pgtable-arm-v7s: Clarify LVL_SHIFT/BITS macro (Jerry Snitselaar) [1955767] - iommu/io-pgtable-arm-v7s: Use ias to check the valid iova in unmap (Jerry Snitselaar) [1955767] - iommu/io-pgtable: Remove TLBI_ON_MAP quirk (Jerry Snitselaar) [1955767] - iommu/io-pgtable: Allow io_pgtable_tlb ops optional (Jerry Snitselaar) [1955767] - iommu: Switch gather->end to the inclusive end (Jerry Snitselaar) [1955767] - iommu: Add iova and size as parameters in iotlb_sync_map (Jerry Snitselaar) [1955767] - iommu: Move iotlb_sync_map out from __iommu_map (Jerry Snitselaar) [1955767] - iommu/arm-smmu-v3: Add support for VHE (Jerry Snitselaar) [1955767] - iommu/arm-smmu-v3: Make BTM optional for SVA (Jerry Snitselaar) [1955767] - iommu/arm-smmu-v3: Split arm_smmu_tlb_inv_range() (Jerry Snitselaar) [1955767] - iommu/arm-smmu-v3: Use DEFINE_RES_MEM() to simplify code (Jerry Snitselaar) [1955767] - iommu/arm-smmu-v3: Remove the page 1 fixup (Jerry Snitselaar) [1955767] - x86,swiotlb: Adjust SWIOTLB bounce buffer size for SEV guests (Jerry Snitselaar) [1955767] - iommu: Check dev->iommu in dev_iommu_priv_get() before dereferencing it (Jerry Snitselaar) [1955767] - iommu/vt-d: Do not use flush-queue when caching-mode is on (Jerry Snitselaar) [1955767] - iommu/vt-d: Correctly check addr alignment in qi_flush_dev_iotlb_pasid() (Jerry Snitselaar) [1955767] - iommu/amd: Use IVHD EFR for early initialization of IOMMU features (Jerry Snitselaar) [1955767] - iommu/vt-d: Fix unaligned addresses for intel_flush_svm_range_dev() (Jerry Snitselaar) [1955767] - iommu/vt-d: Fix ineffective devTLB invalidation for subdevices (Jerry Snitselaar) [1920750 1920749] - iommu/vt-d: Fix general protection fault in aux_detach_device() (Jerry Snitselaar) [1920748] - iommu/vt-d: Move intel_iommu info from struct intel_svm to struct intel_svm_dev (Jerry Snitselaar) [1955767] - iommu/vt-d: Fix lockdep splat in sva bind()/unbind() (Jerry Snitselaar) [1955767] - Revert "iommu: Add quirk for Intel graphic devices in map_sg" (Jerry Snitselaar) [1955767] - iommu/intel: Fix memleak in intel_irq_remapping_alloc (Jerry Snitselaar) [1955767] - iommu/iova: fix 'domain' typos (Jerry Snitselaar) [1955767] - dma-iommu: remove __iommu_dma_mmap (Jerry Snitselaar) [1955767] - iommu/io-pgtable: Remove tlb_flush_leaf (Jerry Snitselaar) [1955767] - iommu/vt-d: Avoid GFP_ATOMIC where it is not needed (Jerry Snitselaar) [1955767] - iommu/vt-d: Remove set but not used variable (Jerry Snitselaar) [1955767] - iommu/vt-d: Cleanup after converting to dma-iommu ops (Jerry Snitselaar) [1955767] - iommu/vt-d: Convert intel iommu driver to the iommu ops (Jerry Snitselaar) [1955767] - iommu/vt-d: Don't clear GFP_DMA and GFP_DMA32 flags (Jerry Snitselaar) [1955767] - iommu/vt-d: Update domain geometry in iommu_ops.at(de)tach_dev (Jerry Snitselaar) [1955767] - iommu: Add quirk for Intel graphic devices in map_sg (Jerry Snitselaar) [1955767] - swiotlb: remove the tbl_dma_addr argument to swiotlb_tbl_map_single (Jerry Snitselaar) [1955767] - swiotlb-xen: remove start_dma_addr (Jerry Snitselaar) [1955767] - iommu: Allow the dma-iommu api to use bounce buffers (Jerry Snitselaar) [1955767] - iommu: Add iommu_dma_free_cpu_cached_iovas() (Jerry Snitselaar) [1955767] - iommu: Handle freelists when using deferred flushing in iommu drivers (Jerry Snitselaar) [1955767] - iommu/sva: Add PASID helpers (Jerry Snitselaar) [1955767] - iommu/ioasid: Add ioasid references (Jerry Snitselaar) [1955767] - iommu/io-pgtable-arm: Remove unused 'level' parameter from iopte_type() macro (Jerry Snitselaar) [1955767] - iommu: Defer the early return in arm_(v7s/lpae)_map (Jerry Snitselaar) [1955767] - iommu: Improve the performance for direct_mapping (Jerry Snitselaar) [1955767] - iommu: return error code when it can't get group (Jerry Snitselaar) [1955767] - iommu: Modify the description of iommu_sva_unbind_device (Jerry Snitselaar) [1955767] - iommu: Stop exporting free_iova_mem() (Jerry Snitselaar) [1955767] - iommu: Stop exporting alloc_iova_mem() (Jerry Snitselaar) [1955767] - iommu: Delete split_and_remove_iova() (Jerry Snitselaar) [1955767] - iommu: avoid taking iova_rbtree_lock twice (Jerry Snitselaar) [1955767] - iommu/iova: Free global iova rcache on iova alloc failure (Jerry Snitselaar) [1955767] - iommu/iova: Retry from last rb tree node if iova search fails (Jerry Snitselaar) [1955767] - iommu: Fix htmldocs warnings in sysfs-kernel-iommu_groups (Jerry Snitselaar) [1955767] - iommu: Document usage of "/sys/kernel/iommu_groups//type" file (Jerry Snitselaar) [1838589] - iommu: Take lock before reading iommu group default domain type (Jerry Snitselaar) [1838589] - iommu: Add support to change default domain of an iommu group (Jerry Snitselaar) [1838589] - iommu: Move def_domain type check for untrusted device into core (Jerry Snitselaar) [1838589] - iommu/arm-smmu-v3: Hook up ATC invalidation to mm ops (Jerry Snitselaar) [1955767] - iommu/arm-smmu-v3: Implement iommu_sva_bind/unbind() (Jerry Snitselaar) [1955767] - iommu/arm-smmu: Move non-strict mode to use io_pgtable_domain_attr (Jerry Snitselaar) [1955767] - iommu/arm-smmu: Add support for pagetable config domain attribute (Jerry Snitselaar) [1955767] - iommu/arm-smmu-v3: Assign boolean values to a bool variable (Jerry Snitselaar) [1955767] - iommu/io-pgtable-arm: Add support to use system cache (Jerry Snitselaar) [1955767] - iommu/io-pgtable: Add a domain attribute for pagetable configuration (Jerry Snitselaar) [1955767] - iommu/io-pgtable-arm: Support coherency for Mali LPAE (Jerry Snitselaar) [1955767] - dma-mapping: document dma_{alloc,free}_pages (Jerry Snitselaar) [1955767] - dma-direct: simplify the DMA_ATTR_NO_KERNEL_MAPPING handling (Jerry Snitselaar) [1955767] - dma-direct: factor out a dma_direct_alloc_from_pool helper (Jerry Snitselaar) [1955767] - dma-direct check for highmem pages in dma_direct_alloc_pages (Jerry Snitselaar) [1955767] - firewire-ohci: use dma_alloc_pages (Jerry Snitselaar) [1955767] - dma-iommu: implement ->alloc_noncoherent (Jerry Snitselaar) [1955767] - dma-mapping: add new {alloc,free}_noncoherent dma_map_ops methods (Jerry Snitselaar) [1955767] - dma-mapping: add a new dma_alloc_pages API (Jerry Snitselaar) [1955767] - dma-mapping: add a new dma_alloc_noncoherent API (Jerry Snitselaar) [1955767] - drm/nouveau/gk20a: stop setting DMA_ATTR_NON_CONSISTENT (Jerry Snitselaar) [1955767] - mm: turn alloc_pages into an inline function (Jerry Snitselaar) [1955767] - dma-mapping: better document dma_addr_t and DMA_MAPPING_ERROR (Jerry Snitselaar) [1955767] - dma-mapping: move valid_dma_direction to dma-direction.h (Jerry Snitselaar) [1955767] - dma-debug: convert comma to semicolon (Jerry Snitselaar) [1955767] - dma-direct: Fix potential NULL pointer dereference (Jerry Snitselaar) [1955767] - dma-mapping: move the dma_declare_coherent_memory documentation (Jerry Snitselaar) [1955767] - dma-mapping: move dma_common_{mmap,get_sgtable} out of mapping.c (Jerry Snitselaar) [1955767] - dma-mapping: make support for dma ops optional (Jerry Snitselaar) [1955767] - dma-direct: rename and cleanup __phys_to_dma (Jerry Snitselaar) [1955767] - dma-direct: remove __dma_to_phys (Jerry Snitselaar) [1955767] - dma-direct: use phys_to_dma_direct in dma_direct_alloc (Jerry Snitselaar) [1955767] - dma-direct: lift gfp_t manipulation out of__dma_direct_alloc_pages (Jerry Snitselaar) [1955767] - dma-direct: remove dma_direct_{alloc,free}_pages (Jerry Snitselaar) [1955767] - dma-debug: remove most exports (Jerry Snitselaar) [1955767] - dma-mapping: remove the dma_dummy_ops export (Jerry Snitselaar) [1955767] - dma-mapping: set default segment_boundary_mask to ULONG_MAX (Jerry Snitselaar) [1955767] - dma-mapping: introduce dma_get_seg_boundary_nr_pages() (Jerry Snitselaar) [1955767] - swiotlb: using SIZE_MAX needs limits.h included (Jerry Snitselaar) [1955767] - swiotlb: fix "x86: Don't panic if can not alloc buffer for swiotlb" (Jerry Snitselaar) [1955767] - swiotlb: Mark max_segment with static keyword (Jerry Snitselaar) [1955767] - swiotlb: Declare swiotlb_late_init_with_default_size() in header (Jerry Snitselaar) [1955767] - swiotlb: Use pa to print phys_addr_t variables (Jerry Snitselaar) [1955767] - dma-debug: remove debug_dma_assert_idle() function (Jerry Snitselaar) [1955767] - dma-mapping: move debug configuration options to kernel/dma (Jerry Snitselaar) [1955767] - dma-debug: fix debug_dma_assert_idle(), use rcu_read_lock() (Jerry Snitselaar) [1955767] - iommu: Check return of __iommu_attach_device() (Jerry Snitselaar) [1955767] - iommu/amd: Enforce 4k mapping for certain IOMMU data structures (Jerry Snitselaar) [1955767] - iommu: Fix a check in iommu_check_bind_data() (Jerry Snitselaar) [1955767] - iommu/vt-d: Fix a bug for PDP check in prq_event_thread (Jerry Snitselaar) [1955767] - iommu/vt-d: Check UAPI data processed by IOMMU core (Jerry Snitselaar) [1955767] - iommu/uapi: Handle data and argsz filled by users (Jerry Snitselaar) [1955767] - iommu/uapi: Rename uapi functions (Jerry Snitselaar) [1955767] - iommu/uapi: Use named union for user data (Jerry Snitselaar) [1955767] - iommu/uapi: Add argsz for user filled data (Jerry Snitselaar) [1955767] - docs: IOMMU user API (Jerry Snitselaar) [1955767] - iommu/dma: Handle init_iova_flush_queue() failure in dma-iommu path (Jerry Snitselaar) [1955767] - iommu/iova: Replace cmpxchg with xchg in queue_iova (Jerry Snitselaar) [1955767] - iommu/dma: Remove broken huge page handling (Jerry Snitselaar) [1955767] - iommu: Rename iommu_tlb_* functions to iommu_iotlb_* (Jerry Snitselaar) [1955767] - iommu/vt-d: Use device numa domain if RHSA is missing (Jerry Snitselaar) [1955767] - iommu/vt-d: Drop kerneldoc marker from regular comment (Jerry Snitselaar) [1955767] - iommu/amd: Re-purpose Exclusion range registers to support SNP CWWB (Jerry Snitselaar) [1955767] - iommu/amd: Add support for RMP_PAGE_FAULT and RMP_HW_ERR (Jerry Snitselaar) [1955767] - iommu/amd: Use 4K page for completion wait write-back semaphore (Jerry Snitselaar) [1955767] - iommu/amd: Add missing function prototypes to fix -Wmissing-prototypes (Jerry Snitselaar) [1955767] - iommu/arm-smmu-v3: Add SVA device feature (Jerry Snitselaar) [1955767] - iommu/arm-smmu-v3: Check for SVA features (Jerry Snitselaar) [1955767] - iommu/arm-smmu-v3: Seize private ASID (Jerry Snitselaar) [1955767] - iommu/arm-smmu-v3: Share process page tables (Jerry Snitselaar) [1955767] - iommu/arm-smmu-v3: Move definitions to a header (Jerry Snitselaar) [1955767] - iommu/io-pgtable-arm: Move some definitions to a header (Jerry Snitselaar) [1955767] - iommu/arm-smmu-v3: Ensure queue is read after updating prod pointer (Jerry Snitselaar) [1955767] - iommu/arm-smmu: Constify some helpers (Jerry Snitselaar) [1955767] - iommu/arm-smmu: Prepare for the adreno-smmu implementation (Jerry Snitselaar) [1955767] - iommu/arm-smmu: Add support for split pagetables (Jerry Snitselaar) [1955767] - iommu/arm-smmu: Pass io-pgtable config to implementation specific function (Jerry Snitselaar) [1955767] - iommu/arm-smmu-v3: Fix endianness annotations (Jerry Snitselaar) [1955767] - iommu/arm-smmu-v3: permit users to disable msi polling (Jerry Snitselaar) [1955767] - iommu/arm-smmu-v3: replace module_param_named by module_param for disable_bypass (Jerry Snitselaar) [1955767] - iommu/arm-smmu-v3: replace symbolic permissions by octal permissions for module parameter (Jerry Snitselaar) [1955767] - iommu/arm-smmu-v3: Fix l1 stream table size in the error message (Jerry Snitselaar) [1955767] - ACPI: Do not create new NUMA domains from ACPI static tables that are not SRAT (Jerry Snitselaar) [1955767] - iommu/amd: Prevent NULL pointer dereference (Jerry Snitselaar) [1955767] - treewide: Use fallthrough pseudo-keyword (Jerry Snitselaar) [1955767] - virtio-iommu: convert to LE accessors (Jerry Snitselaar) [1955767] - virtio_iommu: correct tags for config space fields (Jerry Snitselaar) [1955767] - mmap locking API: use coccinelle to convert mmap_sem rwsem call sites (Jerry Snitselaar) [1955767] - iommu/iova: Unify format of the printed messages (Jerry Snitselaar) [1955767] - iommu/arm-smmu: Move Arm SMMU drivers into their own subdirectory (Jerry Snitselaar) [1955767] - iommu/arm-smmu: move TLB timeout and spin count macros (Jerry Snitselaar) [1955767] - iommu/arm-smmu: Call configuration impl hook before consuming features (Jerry Snitselaar) [1955767] - iommu/arm-smmu-v3: Manage ASIDs with xarray (Jerry Snitselaar) [1955767] - redhat/configs: Add CONFIG_ARM_SMMU_DISABLE_BYPASS_BY_DEFAULT (Jerry Snitselaar) [1955767] - iommu/arm-smmu: Break insecure users by disabling bypass by default (Jerry Snitselaar) [1955767] - iommu/arm-smmu: Workaround for Marvell Armada-AP806 SoC erratum #582743 (Jerry Snitselaar) [1955767] - iommu/arm-smmu: Allow client devices to select direct mapping (Jerry Snitselaar) [1955767] - iommu/arm-smmu: Add global/context fault implementation hooks (Jerry Snitselaar) [1955767] - iommu/arm-smmu: add NVIDIA implementation for ARM MMU-500 usage (Jerry Snitselaar) [1955767] - iommu/arm-smmu-v3: Fix trivial typo (Jerry Snitselaar) [1955767] - iommu/arm-smmu: Update impl quirks comment (Jerry Snitselaar) [1955767] - iommu: arm-smmu-impl: Convert to a generic reset implementation (Jerry Snitselaar) [1955767] - iommu: arm-smmu-impl: Add sdm845 implementation hook (Jerry Snitselaar) [1955767] - firmware/qcom_scm: Add scm call to handle smmu errata (Jerry Snitselaar) [1955767] - firmware: qcom_scm-64: Add atomic version of qcom_scm_call (Jerry Snitselaar) [1955767] - firmware: qcom: scm: Ensure 'a0' status code is treated as signed (Jerry Snitselaar) [1955767] - iommu/arm-smmu-v3: Batch context descriptor invalidation (Jerry Snitselaar) [1955767] - iommu/arm-smmu-v3: Write level-1 descriptors atomically (Jerry Snitselaar) [1955767] - iommu/arm-smmu-v3: Add support for PCI PASID (Jerry Snitselaar) [1955767] - iommu/arm-smmu-v3: Add second level of context descriptor table (Jerry Snitselaar) [1955767] - iommu/arm-smmu-v3: Prepare for handling arm_smmu_write_ctx_desc() failure (Jerry Snitselaar) [1955767] - iommu/arm-smmu-v3: Propagate ssid_bits (Jerry Snitselaar) [1955767] - iommu/arm-smmu-v3: Add support for Substream IDs (Jerry Snitselaar) [1955767] - iommu/arm-smmu-v3: Add context descriptor tables allocators (Jerry Snitselaar) [1955767] - iommu/arm-smmu-v3: Prepare arm_smmu_s1_cfg for SSID support (Jerry Snitselaar) [1955767] - dt-bindings: document PASID property for IOMMU masters (Jerry Snitselaar) [1955767] - iommu/arm-smmu-v3: Don't display an error when IRQ lines are missing (Jerry Snitselaar) [1955767] - selftests: net: add UDP GRO forwarding self-tests (Paolo Abeni) [1948493] - bareudp: allow UDP L4 GRO passthrou (Paolo Abeni) [1948493] - geneve: allow UDP L4 GRO passthrou (Paolo Abeni) [1948493] - vxlan: allow L4 GRO passthrough (Paolo Abeni) [1948493] - udp: never accept GSO_FRAGLIST packets (Paolo Abeni) [1948493] - udp: properly complete L4 GRO over UDP tunnel packet (Paolo Abeni) [1948493] - udp: skip L4 aggregation for UDP tunnel packets (Paolo Abeni) [1948493] - udp: fixup csum for GSO receive slow path (Paolo Abeni) [1948493] - udp: allow forwarding of plain (non-fraglisted) UDP GRO packets (Paolo Abeni) [1948493] - net: introduce a netdev feature for UDP GRO forwarding (Paolo Abeni) [1948493] - [s390] s390/pkey: support CCA and EP11 secure ECC private keys (Claudio Imbrenda) [1780669] - [s390] s390/zcrypt: Support for CCA APKA master keys (Claudio Imbrenda) [1780669] - [s390] s390/zcrypt: remove set_fs() invocation in zcrypt device driver (Claudio Imbrenda) [1780669] - [s390] s390/zcrypt: simplify cca_findcard2 loop code (Claudio Imbrenda) [1780669] - cxgb4: Add new T6 PCI device id 0x6092 (Rahul Lakkireddy) [1950186] - KVM: VMX: Don't use vcpu->run->internal.ndata as an array index (Jon Maloy) [1954219] {CVE-2021-3501} - Bluetooth: Prevent out-of-bounds read in hci_inquiry_result_with_rssi_evt() (Gopal Tiwari) [1978598] - Bluetooth: Prevent out-of-bounds read in hci_inquiry_result_evt() (Gopal Tiwari) [1978598] - Bluetooth: Fix slab-out-of-bounds read in hci_extended_inquiry_result_evt() (Gopal Tiwari) [1978598] - x86/cpu: Avoid cpuinfo-induced IPIing of idle CPUs (Waiman Long) [1970499] - x86/cpu: Avoid cpuinfo-induced IPI pileups (Waiman Long) [1970499] - x86/cpu: Disable frequency requests via aperfmperf IPI for nohz_full CPUs (Waiman Long) [1970499] - x86: Convert some slow-path static_cpu_has() callers to boot_cpu_has() (Waiman Long) [1970499] - x86/ldt: Enable LDT user-mapping for PAE (Waiman Long) [1970499] - fanotify: fix merging marks masks with FAN_ONDIR (Miklos Szeredi) [1832099] - sfc: avoid duplicated code in ef10_sriov (Íñigo Huguet) [1931779] - sfc: explain that "attached" VFs only refer to Xen (Íñigo Huguet) [1931779] - sfc: error code if SRIOV cannot be disabled (Íñigo Huguet) [1931779] - sfc: avoid double pci_remove of VFs (Íñigo Huguet) [1931779] - tpm: fix error return code in tpm2_get_cc_attrs_tbl() (Jerry Snitselaar) [1920812] - tpm, tpm_tis: Reserve locality in tpm_tis_resume() (Jerry Snitselaar) [1920812] - tpm, tpm_tis: Extend locality handling to TPM2 in tpm_tis_gen_interrupt() (Jerry Snitselaar) [1920812] - tpm: vtpm_proxy: Avoid reading host log when using a virtual device (Jerry Snitselaar) [1920812] - tpm: acpi: Check eventlog signature before using it (Jerry Snitselaar) [1920812] - tpm: efi: Use local variable for calculating final log size (Jerry Snitselaar) [1920812] - tpm: Remove unintentional dump_stack() call (Jerry Snitselaar) [1920812] - tpm, tpm_tis: Decorate tpm_tis_gen_interrupt() with request_locality() (Jerry Snitselaar) [1920812] - tpm, tpm_tis: Decorate tpm_get_timeouts() with request_locality() (Jerry Snitselaar) [1920812] - KEYS: trusted: Reserve TPM for seal and unseal operations (Jerry Snitselaar) [1920812] - tpm/ppi: Constify static struct attribute_group (Jerry Snitselaar) [1920812] - tpm: add sysfs exports for all banks of PCR registers (Jerry Snitselaar) [1920812] - tpm: Remove tpm_dev_wq_lock (Jerry Snitselaar) [1920812] - tpm: Fix fall-through warnings for Clang (Jerry Snitselaar) [1920812] - tpm_tis: Clean up locality release (Jerry Snitselaar) [1920812] - tpm_tis: Disable interrupts on ThinkPad T490s (Jerry Snitselaar) [1920812] - tpm_tis: Fix check_locality for correct locality acquisition (Jerry Snitselaar) [1920812] - fuse: invalidate attrs when page writeback completes (Vivek Goyal) [1966424] - net/sched: act_ct: remove rh_mark_used_feature mark (Marcelo Ricardo Leitner) [1973381] - selftests: netfilter: Pass family parameter "-f" to conntrack tool (Hangbin Liu) [1979203] - selftests: netfilter: remove unused cnt and simplify command testing (Hangbin Liu) [1979203] - selftests: netfilter: fix nft_meta.sh error reporting (Hangbin Liu) [1979203] - selftests: netfilter: add cpu counter check (Hangbin Liu) [1979203] - selftests: netfilter: add meta iif/oif match test (Hangbin Liu) [1979203] - NFS: Only change the cookie verifier if the directory page cache is empty (Benjamin Coddington) [1982825] - NFS: Fix handling of cookie verifier in uncached_readdir() (Benjamin Coddington) [1982825] - nfs: Subsequent READDIR calls should carry non-zero cookieverifier (Benjamin Coddington) [1982825] - Revert "[netdrv] net/mlx5e: Rx, Update page pool numa node when changed" (Alaa Hleihel) [1915308] - mlx5: net: zero-initialize tc skb extension on allocation (Alaa Hleihel) [1915308 1965418] - RDMA/mlx5: Don't add slave port to unaffiliated list (Alaa Hleihel) [1915308] - net/mlx5: Reset mkey index on creation (Alaa Hleihel) [1915308] - net/mlx5e: Don't create devices during unload flow (Alaa Hleihel) [1915308] - net/mlx5: DR, Fix STEv1 incorrect L3 decapsulation padding (Alaa Hleihel) [1915308] - net/mlx5: SF_DEV, remove SF device on invalid state (Alaa Hleihel) [1915308] - net/mlx5: E-Switch, Allow setting GUID for host PF vport (Alaa Hleihel) [1915308 1967488] - net/mlx5: E-Switch, Read PF mac address (Alaa Hleihel) [1915308 1967488] - net/mlx5: Check that driver was probed prior attaching the device (Alaa Hleihel) [1915308] - net/mlx5: Fix error path for set HCA defaults (Alaa Hleihel) [1915308] - net/mlx5e: Disable TLS device offload in kdump mode (Alaa Hleihel) [1915308 1946647] - net/mlx5e: Disable TX MPWQE in kdump mode (Alaa Hleihel) [1915308 1946647] - net/mlx5e: kTLS, Add resiliency to RX resync failures (Alaa Hleihel) [1915308] - net/mlx5e: TX, Inline function mlx5e_tls_handle_tx_wqe() (Alaa Hleihel) [1915308] - net/mlx5e: TX, Inline TLS skb check (Alaa Hleihel) [1915308] - net/mlx5e: Cleanup unused function parameter (Alaa Hleihel) [1915308] - net/mlx5e: Remove non-essential TLS SQ state bit (Alaa Hleihel) [1915308] - net/mlx5e: Restrict usage of mlx5e_priv in params logic functions (Alaa Hleihel) [1915308] - net/mlx5e: Fix lost changes during code movements (Alaa Hleihel) [1915308] - net/mlx5e: Move params logic into its dedicated file (Alaa Hleihel) [1915308] - net/mlx5e: Pass q_counter indentifier as parameter to rq_param builders (Alaa Hleihel) [1915308] - net/mlx5e: Block offload of outer header csum for GRE tunnel (Alaa Hleihel) [1915308] - net/mlx5e: Block offload of outer header csum for UDP tunnels (Alaa Hleihel) [1915308] - Revert "net/mlx5: Arm only EQs with EQEs" (Alaa Hleihel) [1915308] - net/mlx5e: Verify dev is present in get devlink port ndo (Alaa Hleihel) [1915308] - net/mlx5: DR, Don't use SW steering when RoCE is not supported (Alaa Hleihel) [1915308] - net/mlx5: Consider RoCE cap before init RDMA resources (Alaa Hleihel) [1915308] - net/mlx5e: Fix page reclaim for dead peer hairpin (Alaa Hleihel) [1915308] - net/mlx5e: Remove dependency in IPsec initialization flows (Alaa Hleihel) [1915308] - net/mlx5e: Fix use-after-free of encap entry in neigh update handler (Alaa Hleihel) [1915308] - IB/mlx5: Fix initializing CQ fragments buffer (Alaa Hleihel) [1915308 1974263] - RDMA/mlx5: Block FDB rules when not in switchdev mode (Alaa Hleihel) [1915308] - RDMA/mlx5: Use different doorbell memory for different processes (Alaa Hleihel) [1915308] - net/mlx5: Fix duplicate included vhca_event.h (Alaa Hleihel) [1915308] - net/mlx5: Fix lag port remapping logic (Alaa Hleihel) [1915308] - net/mlx5e: IPsec/rep_tc: Fix rep_tc_update_skb drops IPsec packet (Alaa Hleihel) [1915308] - net/mlx5: DR, Create multi-destination flow table with level less than 64 (Alaa Hleihel) [1915308] - net/mlx5e: Fix adding encap rules to slow path (Alaa Hleihel) [1915308] - net/mlx5e: Check for needed capability for cvlan matching (Alaa Hleihel) [1915308] - net/mlx5: Check firmware sync reset requested is set before trying to abort it (Alaa Hleihel) [1915308] - net/mlx5e: Disable TLS offload for uplink representor (Alaa Hleihel) [1915308] - net/mlx5e: Fix incompatible casting (Alaa Hleihel) [1915308] - RDMA/mlx5: Fix query DCT via DEVX (Alaa Hleihel) [1915308] - RDMA/mlx5: Recover from fatal event in dual port mode (Alaa Hleihel) [1915308] - net/mlx5: Set term table as an unmanaged flow table (Alaa Hleihel) [1915308] - net/mlx5e: Fix error path of updating netdev queues (Alaa Hleihel) [1915308] - net/mlx5e: Reject mirroring on source port change encap rules (Alaa Hleihel) [1915308] - net/mlx5e: Fix multipath lag activation (Alaa Hleihel) [1915308] - net/mlx5e: reset XPS on error flow if netdev isn't registered yet (Alaa Hleihel) [1915308] - net/mlx5e: Make sure fib dev exists in fib event (Alaa Hleihel) [1915308] - net/mlx5e: Fix null deref accessing lag dev (Alaa Hleihel) [1915308] - net/mlx5e: Fix nullptr in mlx5e_tc_add_fdb_flow() (Alaa Hleihel) [1915308] - net/mlx5: SF, Fix show state inactive when its inactivated (Alaa Hleihel) [1915308] - net/mlx5: Set reformat action when needed for termination rules (Alaa Hleihel) [1915308] - net/mlx5e: Fix nullptr in add_vlan_push_action() (Alaa Hleihel) [1915308] - {net, RDMA}/mlx5: Fix override of log_max_qp by other device (Alaa Hleihel) [1915308] - net/mlx5: DR, Fix SQ/RQ in doorbell bitmask (Alaa Hleihel) [1915308] - net/mlx5: Fix bit-wise and with zero (Alaa Hleihel) [1915308] - RDMA/mlx5: Fix drop packet rule in egress table (Alaa Hleihel) [1915308] - net/mlx5: Fix spelling mistakes in mlx5_core_info message (Alaa Hleihel) [1915308] - net/mlx5: DR, Fixed typo in STE v0 (Alaa Hleihel) [1915308] - RDMA/mlx5: Fix mlx5 rates to IB rates map (Alaa Hleihel) [1915308] - RDMA/mlx5: Fix query RoCE port (Alaa Hleihel) [1915308] - RDMA/mlx5: Zero out ODP related items in the mlx5_ib_mr (Alaa Hleihel) [1915308] - net/mlx5e: Alloc flow spec using kvzalloc instead of kzalloc (Alaa Hleihel) [1915308] - net/mlx5: Avoid unnecessary operation (Alaa Hleihel) [1915308] - net/mlx5e: rep: Improve reg_cX conditions (Alaa Hleihel) [1915308] - net/mlx5: SF, Fix return type (Alaa Hleihel) [1915308] - net/mlx5e: mlx5_tc_ct_init does not fail (Alaa Hleihel) [1915308] - net/mlx5: Fix indir stable stubs (Alaa Hleihel) [1915308] - net/mlx5e: Add missing include (Alaa Hleihel) [1915308] - net/mlx5e: fix mlx5e_tc_tun_update_header_ipv6 dummy definition (Alaa Hleihel) [1915308] - net/mlx5e: CT, Avoid false lock dependency warning (Alaa Hleihel) [1915308] - net/mlx5: Check returned value from health recover sequence (Alaa Hleihel) [1915308] - net/mlx5: Don't rely on interface state bit (Alaa Hleihel) [1915308] - net/mlx5: Remove second FW tracer check (Alaa Hleihel) [1915308] - net/mlx5: Separate probe vs. reload flows (Alaa Hleihel) [1915308] - net/mlx5: Remove impossible checks of interface state (Alaa Hleihel) [1915308] - net/mlx5: Don't skip vport check (Alaa Hleihel) [1915308] - net/mlx5e: Register nic devlink port for SF ports (Alaa Hleihel) [1915308] - vdpa/mlx5: Retrieve BAR address suitable any function (Alaa Hleihel) [1915308] - vdpa/mlx5: Use the correct dma device when registering memory (Alaa Hleihel) [1915308] - net/mlx5: SF, Extend SF table for additional SF id range (Alaa Hleihel) [1915308] - net/mlx5: SF, Split mlx5_sf_hw_table into two parts (Alaa Hleihel) [1915308] - net/mlx5: SF, Use helpers for allocation and free (Alaa Hleihel) [1915308] - net/mlx5: SF, Consider own vhca events of SF devices (Alaa Hleihel) [1915308] - net/mlx5: SF, Store and use start function id (Alaa Hleihel) [1915308] - net/mlx5: SF, Rely on hw table for SF devlink port allocation (Alaa Hleihel) [1915308] - net/mlx5: E-Switch, Consider SF ports of host PF (Alaa Hleihel) [1915308] - net/mlx5: E-Switch, Use xarray for vport number to vport and rep mapping (Alaa Hleihel) [1915308] - net/mlx5: E-Switch, Prepare to return total vports from eswitch struct (Alaa Hleihel) [1915308] - net/mlx5: E-Switch, Return eswitch max ports when eswitch is supported (Alaa Hleihel) [1915308] - net/mlx5: SF, Reuse stored hardware function id (Alaa Hleihel) [1915308] - net/mlx5: SF, Use device pointer directly (Alaa Hleihel) [1915308] - net/mlx5: E-Switch, Initialize eswitch acls ns when eswitch is enabled (Alaa Hleihel) [1915308] - net/mlx5: E-Switch, Move legacy code to a individual file (Alaa Hleihel) [1915308] - net/mlx5: E-Switch, Convert a macro to a helper routine (Alaa Hleihel) [1915308] - net/mlx5: E-Switch Make cleanup sequence mirror of init (Alaa Hleihel) [1915308] - net/mlx5: E-Switch, Make vport number u16 (Alaa Hleihel) [1915308] - net/mlx5: E-Switch, Skip querying SF enabled bits (Alaa Hleihel) [1915308] - IB/mlx5: Set right RoCE l3 type and roce version while deleting GID (Alaa Hleihel) [1915308] - net/mlx5: E-Switch, move QoS specific fields to existing qos struct (Alaa Hleihel) [1915308] - net/mlx5: E-Switch, cut down mlx5_vport_info structure size by 8 bytes (Alaa Hleihel) [1915308] - net/mlx5: Pair mutex_destory with mutex_init for rate limit table (Alaa Hleihel) [1915308] - net/mlx5: Allocate rate limit table when rate is configured (Alaa Hleihel) [1915308] - net/mlx5: Use helper to increment, decrement rate entry refcount (Alaa Hleihel) [1915308] - net/mlx5: Use helpers to allocate and free rl table entries (Alaa Hleihel) [1915308] - net/mlx5: Do not hold mutex while reading table constants (Alaa Hleihel) [1915308] - net/mlx5: Pack mlx5_rl_entry structure (Alaa Hleihel) [1915308] - net/mlx5: Use unsigned int for free_count (Alaa Hleihel) [1915308] - net/mlx5: E-Switch, move QoS specific fields to existing qos struct (Alaa Hleihel) [1915308] - net/mlx5: E-Switch, cut down mlx5_vport_info structure size by 8 bytes (Alaa Hleihel) [1915308] - net/mlx5: E-Switch, let user to enable disable metadata (Alaa Hleihel) [1915308] - net/mlx5e: TC, Add support to offload sample action (Alaa Hleihel) [1915308 1919649] - net/mlx5e: TC, Handle sampled packets (Alaa Hleihel) [1915308 1919649] - net/mlx5e: TC, Refactor tc update skb function (Alaa Hleihel) [1915308 1919649] - net/mlx5e: TC, Add sampler restore handle API (Alaa Hleihel) [1915308 1919649] - net/mlx5e: TC, Add sampler object API (Alaa Hleihel) [1915308 1919649] - net/mlx5e: TC, Add sampler termination table API (Alaa Hleihel) [1915308 1919649] - net/mlx5e: TC, Parse sample action (Alaa Hleihel) [1915308 1919649] - net/mlx5: Instantiate separate mapping objects for FDB and NIC tables (Alaa Hleihel) [1915308 1919649] - net/mlx5: Map register values to restore objects (Alaa Hleihel) [1915308 1919649] - net/mlx5: E-switch, Set per vport table default group number (Alaa Hleihel) [1915308 1919649] - net/mlx5: E-switch, Generalize per vport table API (Alaa Hleihel) [1915308 1919649] - net/mlx5: E-switch, Rename functions to follow naming convention. (Alaa Hleihel) [1915308 1919649] - net/mlx5: E-switch, Move vport table functions to a new file (Alaa Hleihel) [1915308 1919649] - net/mlx5: CT: Add support for mirroring (Alaa Hleihel) [1915308] - net/mlx5: E-Switch, Protect changing mode while adding rules (Alaa Hleihel) [1915308 1790457] - net/mlx5: E-Switch, Change mode lock from mutex to rw semaphore (Alaa Hleihel) [1915308 1790457] - net/mlx5e: Do not reload ethernet ports when changing eswitch mode (Alaa Hleihel) [1915308 1790457] - net/mlx5e: Unregister eth-reps devices first (Alaa Hleihel) [1915308 1790457] - net/mlx5: Move mlx5e hw resources into a sub object (Alaa Hleihel) [1915308 1790457] - net/mlx5e: Register nic devlink port with switch id (Alaa Hleihel) [1915308 1790457] - net/mlx5e: Verify dev is present in some ndos (Alaa Hleihel) [1915308 1790457] - net/mlx5e: Use nic mode netdev ndos and ethtool ops for uplink representor (Alaa Hleihel) [1915308 1790457] - net/mlx5e: Add offload stats ndos to nic netdev ops (Alaa Hleihel) [1915308 1790457] - net/mlx5e: Distinguish nic and esw offload in tc setup block cb (Alaa Hleihel) [1915308 1790457] - net/mlx5e: Allow legacy vf ndos only if in legacy mode (Alaa Hleihel) [1915308 1790457] - net/mlx5e: Same max num channels for both nic and uplink profiles (Alaa Hleihel) [1915308 1790457] - net/mlx5e: fix ingress_ifindex check in mlx5e_flower_parse_meta (Alaa Hleihel) [1915308] - net/mlx5e: Fix setting of RS FEC mode (Alaa Hleihel) [1915308] - net/mlx5: Fix setting of devlink traps in switchdev mode (Alaa Hleihel) [1915308] - net/mlx5: DR, Add missing vhca_id consume from STEv1 (Alaa Hleihel) [1915308] - net/mlx5: fix kfree mismatch in indir_table.c (Alaa Hleihel) [1915308] - net/mlx5: Fix PBMC register mapping (Alaa Hleihel) [1915308] - net/mlx5: Fix PPLM register mapping (Alaa Hleihel) [1915308] - net/mlx5: Fix placement of log_max_flow_counter (Alaa Hleihel) [1915308] - net/mlx5: Fix HW spec violation configuring uplink (Alaa Hleihel) [1915308] - net/mlx5e: Guarantee room for XSK wakeup NOP on async ICOSQ (Alaa Hleihel) [1915308] - net/mlx5e: Consider geneve_opts for encap contexts (Alaa Hleihel) [1915308] - net/mlx5: Don't request more than supported EQs (Alaa Hleihel) [1915308] - net/mlx5e: kTLS, Fix RX counters atomicity (Alaa Hleihel) [1915308] - net/mlx5e: kTLS, Fix TX counters atomicity (Alaa Hleihel) [1915308] - net/mlx5: E-switch, Create vport miss group only if src rewrite is supported (Alaa Hleihel) [1915308 1915310] - net/mlx5e: Fix ethtool indication of connector type (Alaa Hleihel) [1915308] - net/mlx5: Delete auxiliary bus driver eth-rep first (Alaa Hleihel) [1915308] - net/mlx5e: Fix mapping of ct_label zero (Alaa Hleihel) [1915308] - net/mlx5: SF, do not use ecpu bit for vhca state processing (Alaa Hleihel) [1915308] - net/mlx5e: Fix division by 0 in mlx5e_select_queue (Alaa Hleihel) [1915308] - net/mlx5e: Fix error path for ethtool set-priv-flag (Alaa Hleihel) [1915308] - net/mlx5e: Offload tuple rewrite for non-CT flows (Alaa Hleihel) [1915308] - net/mlx5e: Allow to match on MPLS parameters only for MPLS over UDP (Alaa Hleihel) [1915308] - net/mlx5: Add back multicast stats for uplink representor (Alaa Hleihel) [1915308] - RDMA/mlx5: Fix typo in destroy_mkey inbox (Alaa Hleihel) [1915308] - net/mlx5: DR, Fix potential shift wrapping of 32-bit value in STEv1 getter (Alaa Hleihel) [1915308] - net/mlx5: SF: Fix error flow of SFs allocation flow (Alaa Hleihel) [1915308] - net/mlx5: SF: Fix memory leak of work item (Alaa Hleihel) [1915308] - net/mlx5: SF, Correct vhca context size (Alaa Hleihel) [1915308] - net/mlx5e: E-switch, Fix rate calculation division (Alaa Hleihel) [1915308] - RDMA/mlx5: Fix timestamp default mode (Alaa Hleihel) [1915308] - net/mlx5: Set QP timestamp mode to default (Alaa Hleihel) [1915308] - net/mlx5e: Fix error flow in change profile (Alaa Hleihel) [1915308] - net/mlx5: Disable VF tunnel TX offload if ignore_flow_level isn't supported (Alaa Hleihel) [1915308 1915310] - net/mlx5e: Check correct ip_version in decapsulation route resolution (Alaa Hleihel) [1915308] - net/mlx5: Fix turn-off PPS command (Alaa Hleihel) [1915308] - net/mlx5e: Don't match on Geneve options in case option masks are all zero (Alaa Hleihel) [1915308] - net/mlx5e: Revert parameters on errors when changing PTP state without reset (Alaa Hleihel) [1915308] - net/mlx5e: When changing XDP program without reset, take refs for XSK RQs (Alaa Hleihel) [1915308] - net/mlx5e: Set PTP channel pointer explicitly to NULL (Alaa Hleihel) [1915308] - net/mlx5e: Accumulate port PTP TX stats with other channels stats (Alaa Hleihel) [1915308] - net/mlx5e: RX, Mind the MPWQE gaps when calculating offsets (Alaa Hleihel) [1915308] - net/mlx5e: Enforce minimum value check for ICOSQ size (Alaa Hleihel) [1915308] - RDMA/mlx5: Set correct kernel-doc identifier (Alaa Hleihel) [1915308] - IB/mlx5: Add missing error code (Alaa Hleihel) [1915308] - configs: Enable mlx5 subfunction device support (Alaa Hleihel) [1915308 1851717] - net/mlx5: Add cyc2time HW translation mode support (Alaa Hleihel) [1915308 1919657] - net/mlx5: Move some PPS logic into helper functions (Alaa Hleihel) [1915308 1919657] - net/mlx5: Move all internal timer metadata into a dedicated struct (Alaa Hleihel) [1915308 1919657] - net/mlx5: Refactor init clock function (Alaa Hleihel) [1915308 1919657] - net/mlx5: Add register layout to support real-time time-stamp (Alaa Hleihel) [1915308 1919657] - RDMA/mlx5: Fail QP creation if the device can not support the CQE TS (Alaa Hleihel) [1915308] - RDMA/mlx5: Allow CQ creation without attached EQs (Alaa Hleihel) [1915308] - net/mlx5: Add new timestamp mode bits (Alaa Hleihel) [1915308 1919657] - net/mlx5: Remove TLS dependencies on XPS (Alaa Hleihel) [1915308] - net/mlx5: SF, Fix error return code in mlx5_sf_dev_probe() (Alaa Hleihel) [1915308 1851717] - net/mlx5e: Fix error return code in mlx5e_tc_esw_init() (Alaa Hleihel) [1915308 1919647] - net/mlx5: Fix a NULL vs IS_ERR() check (Alaa Hleihel) [1915308 1919647] - net/mlx5e: Fix tc_tun.h to verify MLX5_ESWITCH config (Alaa Hleihel) [1915308 1919647] - net/mlx5: Assign boolean values to a bool variable (Alaa Hleihel) [1915308] - net/mlx5e: Fix spelling mistake "Unknouwn" -> "Unknown" (Alaa Hleihel) [1915308] - net/mlx5e: Fix spelling mistake "channles" -> "channels" (Alaa Hleihel) [1915308] - net/mlx5: Delete device list leftover (Alaa Hleihel) [1915308] - net/mlx5_core: remove unused including (Alaa Hleihel) [1915308] - net/mlx5: fix spelling mistake in Kconfig "accelaration" -> "acceleration" (Alaa Hleihel) [1915308] - RDMA/mlx5: Support 400Gbps IB rate in mlx5 driver (Alaa Hleihel) [1915308] - RDMA/mlx5: Cleanup the synchronize_srcu() from the ODP flow (Alaa Hleihel) [1915308] - net/mlx5e: Handle FIB events to update tunnel endpoint device (Alaa Hleihel) [1915308 1919647] - net/mlx5e: Rename some encap-specific API to generic names (Alaa Hleihel) [1915308 1919647] - net/mlx5e: TC preparation refactoring for routing update event (Alaa Hleihel) [1915308 1919647] - net/mlx5e: Refactor neigh update infrastructure (Alaa Hleihel) [1915308 1919647] - net/mlx5e: Create route entry infrastructure (Alaa Hleihel) [1915308 1919647] - net/mlx5e: Extract tc tunnel encap/decap code to dedicated file (Alaa Hleihel) [1915308 1919647] - net/mlx5e: Match recirculated packet miss in slow table using reg_c1 (Alaa Hleihel) [1915308 1915310 1919647] - net/mlx5e: Refactor reg_c1 usage (Alaa Hleihel) [1915308 1919647] - net/mlx5e: VF tunnel RX traffic offloading (Alaa Hleihel) [1915308 1915310 1919647] - net/mlx5e: Remove redundant match on tunnel destination mac (Alaa Hleihel) [1915308 1919647] - net/mlx5: E-Switch, Indirect table infrastructure (Alaa Hleihel) [1915308 1915310 1919647] - net/mlx5e: Refactor tun routing helpers (Alaa Hleihel) [1915308 1919647] - net/mlx5e: VF tunnel TX traffic offloading (Alaa Hleihel) [1915308 1915310 1919647] - net/mlx5: E-Switch, Refactor rule offload forward action processing (Alaa Hleihel) [1915308 1915310 1919647] - net/mlx5e: Always set attr mdev pointer (Alaa Hleihel) [1915308 1919647] - net/mlx5e: E-Switch, Maintain vhca_id to vport_num mapping (Alaa Hleihel) [1915308 1915310 1919647] - net/mlx5: E-Switch, Refactor setting source port (Alaa Hleihel) [1915308 1915310 1919647] - IB/mlx5: Use rdma_for_each_port for port iteration (Alaa Hleihel) [1915308] - RDMA/core: Introduce and use API to read port immutable data (Alaa Hleihel) [1915308] - IB/mlx5: Improve query port for representor port (Alaa Hleihel) [1915308] - IB/mlx5: Avoid calling query device for reading pkey table length (Alaa Hleihel) [1915308] - IB/mlx5: Move mlx5_port_caps from mlx5_core_dev to mlx5_ib_dev (Alaa Hleihel) [1915308] - IB/mlx5: Support default partition key for representor port (Alaa Hleihel) [1915308] - net/mlx5: DR, Avoid unnecessary csum recalculation on supporting devices (Alaa Hleihel) [1915308] - net/mlx5e: CT: remove useless conversion to PTR_ERR then ERR_PTR (Alaa Hleihel) [1915308] - net/mlx5e: accel, remove redundant space (Alaa Hleihel) [1915308] - net/mlx5e: kTLS, Improve TLS RX workqueue scope (Alaa Hleihel) [1915308] - net/mlx5e: remove h from printk format specifier (Alaa Hleihel) [1915308] - net/mlx5e: Increase indirection RQ table size to 256 (Alaa Hleihel) [1915308] - net/mlx5e: Enable napi in channel's activation stage (Alaa Hleihel) [1915308] - net/mlx5e: Move representor neigh init into profile enable (Alaa Hleihel) [1915308] - net/mlx5e: Avoid false lock depenency warning on tc_ht (Alaa Hleihel) [1915308] - net/mlx5e: Move set vxlan nic info to profile init (Alaa Hleihel) [1915308] - net/mlx5e: Move netif_carrier_off() out of mlx5e_priv_init() (Alaa Hleihel) [1915308] - net/mlx5e: Refactor mlx5e_netdev_init/cleanup to mlx5e_priv_init/cleanup (Alaa Hleihel) [1915308] - net/mxl5e: Add change profile method (Alaa Hleihel) [1915308] - net/mlx5e: Separate between netdev objects and mlx5e profiles initialization (Alaa Hleihel) [1915308] - net/mlx5: DR, Allow SW steering for sw_owner_v2 devices (Alaa Hleihel) [1915308 1851712] - net/mlx5: DR, Copy all 64B whenever replacing STE in the head of miss-list (Alaa Hleihel) [1915308 1851712] - net/mlx5: DR, Use HW specific logic API when writing STE (Alaa Hleihel) [1915308 1851712] - net/mlx5: DR, Use the right size when writing partial STE into HW (Alaa Hleihel) [1915308 1851712] - net/mlx5: DR, Add STEv1 modify header logic (Alaa Hleihel) [1915308 1851712] - net/mlx5: DR, Add STEv1 action apply logic (Alaa Hleihel) [1915308 1851712] - net/mlx5: DR, Add STEv1 setters and getters (Alaa Hleihel) [1915308 1851712] - net/mlx5: DR, Allow native protocol support for HW STEv1 (Alaa Hleihel) [1915308 1851712] - net/mlx5: DR, Add HW STEv1 match logic (Alaa Hleihel) [1915308 1851712] - net/mlx5: DR, Add match STEv1 structs to ifc (Alaa Hleihel) [1915308 1851712] - net/mlx5: DR, Fix potential shift wrapping of 32-bit value (Alaa Hleihel) [1915308 1851712] - net/mlx5e: Enable traps according to link state (Alaa Hleihel) [1915308 1919652] - net/mlx5e: Add listener to DMAC filter trap event (Alaa Hleihel) [1915308 1919652] - net/mlx5e: Add listener to trap event (Alaa Hleihel) [1915308 1919652] - net/mlx5e: Add trap entity to ETH driver (Alaa Hleihel) [1915308 1919652] - net/mlx5e: Expose RX dma info helpers (Alaa Hleihel) [1915308 1919652] - net/mlx5e: Add flow steering DMAC trap rule (Alaa Hleihel) [1915308 1919652] - net/mlx5e: Add flow steering VLAN trap rule (Alaa Hleihel) [1915308 1919652] - net/mlx5e: Optimize promiscuous mode (Alaa Hleihel) [1915308 1919652] - net/mlx5: Notify on trap action by blocking event (Alaa Hleihel) [1915308 1919652] - net/mlx5: Rename events notifier header (Alaa Hleihel) [1915308 1919652] - net/mlx5: Register to devlink DMAC filter trap (Alaa Hleihel) [1915308 1919652] - net/mlx5: Register to devlink ingress VLAN filter trap (Alaa Hleihel) [1915308 1919652] - net/mlx5: Add support for devlink traps in mlx5 core driver (Alaa Hleihel) [1915308 1919652] - net/mlx5e: Support HTB offload (Alaa Hleihel) [1915308] - net/mlx5: SF, Port function state change support (Alaa Hleihel) [1915308 1851717] - net/mlx5: SF, Add port add delete functionality (Alaa Hleihel) [1915308 1851717] - net/mlx5: E-switch, Add eswitch helpers for SF vport (Alaa Hleihel) [1915308 1915310 1851717] - net/mlx5: E-switch, Prepare eswitch to handle SF vport (Alaa Hleihel) [1915308 1915310 1851717] - net/mlx5: SF, Add auxiliary device driver (Alaa Hleihel) [1915308 1851717] - net/mlx5: SF, Add auxiliary device support (Alaa Hleihel) [1915308 1851717] - net/mlx5: Introduce vhca state event notifier (Alaa Hleihel) [1915308 1851717] - RDMA/hw/mlx5/qp: Demote non-conformant kernel-doc header (Alaa Hleihel) [1915308] - RDMA/hw/mlx5/odp: Fix formatting and add missing descriptions in 'pagefault_data_segments()' (Alaa Hleihel) [1915308] - IB/mlx5: Make function static (Alaa Hleihel) [1915308] - net/mlx5e: IPsec, Remove unnecessary config flag usage (Alaa Hleihel) [1915308] - net/mlx5e: IPsec, Inline feature_check fast-path function (Alaa Hleihel) [1915308] - net/mlx5e: IPsec, Avoid unreachable return (Alaa Hleihel) [1915308] - net/mlx5e: IPsec, Enclose csum logic under ipsec config (Alaa Hleihel) [1915308] - net/mlx5e: CT: Remove redundant usage of zone mask (Alaa Hleihel) [1915308] - net/mlx5e: Remove redundant initialization to null (Alaa Hleihel) [1915308] - net/mlx5e: CT: Pass null instead of zero spec (Alaa Hleihel) [1915308] - net/mlx5e: E-Switch, Offload all chain 0 priorities when modify header and forward action is not supported (Alaa Hleihel) [1915308] - net/mlx5: E-Switch, use new cap as condition for mpls over udp (Alaa Hleihel) [1915308] - net/mlx5e: Simplify condition on esw_vport_enable_qos() (Alaa Hleihel) [1915308] - net/mlx5: Add HW definition of reg_c_preserve (Alaa Hleihel) [1915308] - net/mlx5: DR, Move STEv0 modify header logic (Alaa Hleihel) [1915308] - net/mlx5: DR, Add STE modify header actions per-device API (Alaa Hleihel) [1915308] - net/mlx5: DR, Move STEv0 action apply logic (Alaa Hleihel) [1915308] - net/mlx5: DR, Add STE tx/rx actions per-device API (Alaa Hleihel) [1915308] - net/mlx5: DR, Move STEv0 setters and getters (Alaa Hleihel) [1915308] - net/mlx5: DR, Add STE setters and getters per-device API (Alaa Hleihel) [1915308] - net/mlx5: DR, Move action apply logic to dr_ste (Alaa Hleihel) [1915308] - net/mlx5: DR, Refactor ICMP STE builder (Alaa Hleihel) [1915308] - net/mlx5: DR, Move STEv0 look up types from mlx5_ifc_dr header (Alaa Hleihel) [1915308] - net/mlx5: DR, Merge similar DR STE SET macros (Alaa Hleihel) [1915308] - net/mlx5: DR, Fix STEv0 source_eswitch_owner_vhca_id support (Alaa Hleihel) [1915308] - net/mlx5: DR, Remove unused macro definition from dr_ste (Alaa Hleihel) [1915308] - net/mlx5: DR, Move HW STEv0 match logic to a separate file (Alaa Hleihel) [1915308] - net/mlx5: DR, Use the new HW specific STE infrastructure (Alaa Hleihel) [1915308] - net/mlx5: DR, Move macros from dr_ste.c to header (Alaa Hleihel) [1915308] - net/mlx5: DR, Add infrastructure for supporting several steering formats (Alaa Hleihel) [1915308] - ext4: handle read only external journal device (Lukas Czerner) [1860929] - vfio/pci: Handle concurrent vma faults (Alex Williamson) [1976551] - vfio-pci: Use io_remap_pfn_range() for PCI IO memory (Alex Williamson) [1976551] - net: flow_dissector: Parse PTP L2 packet header (Ivan Vecera) [1971687] - net: vlan: Add parse protocol header ops (Ivan Vecera) [1971687] - PCI: hv: Remove bus device removal unused refcount/functions (Mohammed Gamal) [1982482] - PCI: hv: Fix a race condition when removing the device (Mohammed Gamal) [1982482] - RDMA/cxgb4: check for ipv6 address properly while destroying listener (Raju Rangoju) [1961313] - RDMA/cxgb4: Fix adapter LE hash errors while destroying ipv6 listening server (Raju Rangoju) [1961313] - RDMA: Convert sysfs device * show functions to use sysfs_emit() (Raju Rangoju) [1961313] - RDMA/iw_cxgb4: Disable delayed ack by default (Raju Rangoju) [1961313] - [infiniband] treewide: Remove uninitialized_var() usage (Raju Rangoju) [1961313] - RDMA/iw_cxgb4: cleanup device debugfs entries on ULD remove (Raju Rangoju) [1961313] - vfs: allow unprivileged whiteout creation (Miklos Szeredi) [1983608] - Documentation: kdump: update kdump guide (Baoquan He) [1938067] - docs: admin-guide: add kdump documentation into it (Baoquan He) [1938067] - docs: kdump: convert docs to ReST and rename to *.rst (Baoquan He) [1938067]- Revert "be2net: disable bh with spin_lock in be_process_mcc" (Petr Oros) [1973504] - nvmet-rdma: Fix NULL deref when SEND is completed with error (Gopal Tiwari) [1959856] - netfilter: nft_exthdr: Search chunks in SCTP packets only (Phil Sutter) [1868228] - netfilter: nft_exthdr: Fix for unsafe packet data read (Phil Sutter) [1868228] - netfilter: nft_exthdr: Support SCTP chunks (Phil Sutter) [1868228] - xfs: fix deadlock retry tracepoint arguments (Bill O'Donnell) [1937116] - xfs: fix xfs_reflink_unshare usage of filemap_write_and_wait_range (Bill O'Donnell) [1937116] - xfs: fix return of uninitialized value in variable error (Bill O'Donnell) [1937116] - xfs: fix scrub and remount-ro protection when running scrub (Bill O'Donnell) [1937116] - xfs: fix xfs_trans slab cache name (Bill O'Donnell) [1937116] - xfs: Fix a typo (Bill O'Donnell) [1937116] - xfs: Rudimentary spelling fix (Bill O'Donnell) [1937116] - xfs: Rudimentary typo fixes (Bill O'Donnell) [1937116] - xfs: fix dquot scrub loop cancellation (Bill O'Donnell) [1937116] - xfs: fix uninitialized variables in xrep_calc_ag_resblks (Bill O'Donnell) [1937116] - xfs: fix incorrect root dquot corruption error when switching group/project quota types (Bill O'Donnell) [1937116] - xfs: fix up build warnings when quotas are disabled (Bill O'Donnell) [1937116] - xfs: fix chown leaking delalloc quota blocks when fssetxattr fails (Bill O'Donnell) [1937116] - xfs: Fix assert failure in xfs_setattr_size() (Bill O'Donnell) [1937116] - xfs: fix an ABBA deadlock in xfs_rename (Bill O'Donnell) [1937116 1966609] - xfs: fix the forward progress assertion in xfs_iwalk_run_callbacks (Bill O'Donnell) [1937116] - xfs: fix parent pointer scrubber bailing out on unallocated inodes (Bill O'Donnell) [1937116] - xfs: revert "xfs: fix rmap key and record comparison functions" (Bill O'Donnell) [1937116] - xfs: don't allow NOWAIT DIO across extent boundaries (Bill O'Donnell) [1937116] - xfs: return corresponding errcode if xfs_initialize_perag() fail (Bill O'Donnell) [1937116] - xfs: ensure inobt record walks always make forward progress (Bill O'Donnell) [1937116] - xfs: fix forkoff miscalculation related to XFS_LITINO(mp) (Bill O'Donnell) [1937116] - xfs: directory scrub should check the null bestfree entries too (Bill O'Donnell) [1937116] - xfs: strengthen rmap record flags checking (Bill O'Donnell) [1937116] - xfs: fix the minrecs logic when dealing with inode root child blocks (Bill O'Donnell) [1937116] - xfs: fix a missing unlock on error in xfs_fs_map_blocks (Bill O'Donnell) [1937116] - xfs: fix brainos in the refcount scrubber's rmap fragment processor (Bill O'Donnell) [1937116] - xfs: fix rmap key and record comparison functions (Bill O'Donnell) [1937116] - xfs: set the unwritten bit in rmap lookup flags in xchk_bmap_get_rmapextents (Bill O'Donnell) [1937116] - xfs: fix flags argument to rmap lookup when converting shared file rmaps (Bill O'Donnell) [1937116] - xfs: only flush the unshared range in xfs_reflink_unshare (Bill O'Donnell) [1937116] - xfs: fix scrub flagging rtinherit even if there is no rt device (Bill O'Donnell) [1937116] - xfs: fix missing CoW blocks writeback conversion retry (Bill O'Donnell) [1937116] - xfs: set xefi_discard when creating a deferred agfl free log intent item (Bill O'Donnell) [1937116] - xfs: cancel intents immediately if process_intents fails (Bill O'Donnell) [1937116] - xfs: fix fallocate functions when rtextsize is larger than 1 (Bill O'Donnell) [1937116] - xfs: fix high key handling in the rt allocator's query_range function (Bill O'Donnell) [1937116] - xfs: annotate grabbing the realtime bitmap/summary locks in growfs (Bill O'Donnell) [1937116] - xfs: make xfs_growfs_rt update secondary superblocks (Bill O'Donnell) [1937116] - xfs: fix realtime bitmap/summary file truncation when growing rt volume (Bill O'Donnell) [1937116] - xfs: fix the indent in xfs_trans_mod_dquot (Bill O'Donnell) [1937116] - xfs: do the ASSERT for the arguments O_{u,g,p}dqpp (Bill O'Donnell) [1937116] - xfs: fix deadlock and streamline xfs_getfsmap performance (Bill O'Donnell) [1937116] - xfs: limit entries returned when counting fsmap records (Bill O'Donnell) [1937116] - xfs: only relog deferred intent items if free space in the log gets low (Bill O'Donnell) [1937116] - xfs: expose the log push threshold (Bill O'Donnell) [1937116] - xfs: periodically relog deferred intent items (Bill O'Donnell) [1937116] - xfs: change the order in which child and parent defer ops are finished (Bill O'Donnell) [1937116] - xfs: fix an incore inode UAF in xfs_bui_recover (Bill O'Donnell) [1937116] - xfs: clean up xfs_bui_item_recover iget/trans_alloc/ilock ordering (Bill O'Donnell) [1937116] - xfs: clean up bmap intent item recovery checking (Bill O'Donnell) [1937116] - xfs: xfs_defer_capture should absorb remaining transaction reservation (Bill O'Donnell) [1937116] - xfs: xfs_defer_capture should absorb remaining block reservations (Bill O'Donnell) [1937116] - xfs: proper replay of deferred ops queued during log recovery (Bill O'Donnell) [1937116] - xfs: remove XFS_LI_RECOVERED (Bill O'Donnell) [1937116] - xfs: remove xfs_defer_reset (Bill O'Donnell) [1937116] - xfs: fix finobt btree block recovery ordering (Bill O'Donnell) [1937116] - xfs: directly call xfs_generic_create() for ->create() and ->mkdir() (Bill O'Donnell) [1937116] - xfs: avoid shared rmap operations for attr fork extents (Bill O'Donnell) [1937116] - xfs: drop the obsolete comment on filestream locking (Bill O'Donnell) [1937116] - xfs: code cleanup in xfs_attr_leaf_entsize_{remote,local} (Bill O'Donnell) [1937116] - xfs: do the assert for all the log done items in xfs_trans_cancel (Bill O'Donnell) [1937116] - xfs: remove the unused parameter id from xfs_qm_dqattach_one (Bill O'Donnell) [1937116] - xfs: remove the redundant crc feature check in xfs_attr3_rmt_verify (Bill O'Donnell) [1937116] - xfs: fix some comments (Bill O'Donnell) [1937116] - xfs: remove the unnecessary xfs_dqid_t type cast (Bill O'Donnell) [1937116] - xfs: use the existing type definition for di_projid (Bill O'Donnell) [1937116] - xfs: remove the unused SYNCHRONIZE macro (Bill O'Donnell) [1937116] - xfs: clean up calculation of LR header blocks (Bill O'Donnell) [1937116] - xfs: avoid LR buffer overrun due to crafted h_len (Bill O'Donnell) [1937116] - xfs: don't release log intent items when recovery fails (Bill O'Donnell) [1937116] - xfs: attach inode to dquot in xfs_bui_item_recover (Bill O'Donnell) [1937116] - xfs: log new intent items created as part of finishing recovered intent items (Bill O'Donnell) [1937116] - xfs: check dabtree node hash values when loading child blocks (Bill O'Donnell) [1937116] - xfs: don't free rt blocks when we're doing a REMAP bunmapi call (Bill O'Donnell) [1937116] - xfs: Set xfs_buf's b_ops member when zeroing bitmap/summary files (Bill O'Donnell) [1937116] - xfs: Set xfs_buf type flag when growing summary/bitmap files (Bill O'Donnell) [1937116] - xfs: drop extra transaction roll from inode extent truncate (Bill O'Donnell) [1937116] - xfs: don't propagate RTINHERIT -> REALTIME when there is no rtdev (Bill O'Donnell) [1937116] - xfs: ensure that fpunch, fcollapse, and finsert operations are aligned to rt extent size (Bill O'Donnell) [1937116] - xfs: refactor inode flags propagation code (Bill O'Donnell) [1937116] - xfs: make sure the rt allocator doesn't run off the end (Bill O'Donnell) [1937116] - xfs: Remove unneeded semicolon (Bill O'Donnell) [1937116] - xfs: force the log after remapping a synchronous-writes file (Bill O'Donnell) [1937116] - xfs: Convert xfs_attr_sf macros to inline functions (Bill O'Donnell) [1937116] - xfs: Use variable-size array for nameval in xfs_attr_sf_entry (Bill O'Donnell) [1937116] - xfs: Remove typedef xfs_attr_shortform_t (Bill O'Donnell) [1937116] - xfs: remove typedef xfs_attr_sf_entry_t (Bill O'Donnell) [1937116] - xfs: Remove kmem_zalloc_large() (Bill O'Donnell) [1937116] - xfs: enable big timestamps (Bill O'Donnell) [1937116] - xfs: trace timestamp limits (Bill O'Donnell) [1937116] - xfs: widen ondisk quota expiration timestamps to handle y2038+ (Bill O'Donnell) [1937116] - xfs: widen ondisk inode timestamps to deal with y2038+ (Bill O'Donnell) [1937116] - xfs: redefine xfs_ictimestamp_t (Bill O'Donnell) [1937116] - xfs: redefine xfs_timestamp_t (Bill O'Donnell) [1937116] - xfs: move xfs_log_dinode_to_disk to the log recovery code (Bill O'Donnell) [1937116] - xfs: refactor quota timestamp coding (Bill O'Donnell) [1937116] - xfs: refactor default quota grace period setting code (Bill O'Donnell) [1937116] - xfs: refactor quota expiration timer modification (Bill O'Donnell) [1937116] - xfs: explicitly define inode timestamp range (Bill O'Donnell) [1937116] - xfs: enable new inode btree counters feature (Bill O'Donnell) [1937116] - xfs: support inode btree blockcounts in online repair (Bill O'Donnell) [1937116] - xfs: support inode btree blockcounts in online scrub (Bill O'Donnell) [1937116] - xfs: use the finobt block counts to speed up mount times (Bill O'Donnell) [1937116] - xfs: store inode btree block counts in AGI header (Bill O'Donnell) [1937116] - xfs: reuse _xfs_buf_read for re-reading the superblock (Bill O'Donnell) [1937116] - xfs: remove xfs_getsb (Bill O'Donnell) [1937116] - xfs: simplify xfs_trans_getsb (Bill O'Donnell) [1937116] - xfs: remove xlog_recover_iodone (Bill O'Donnell) [1937116] - xfs: clear the read/write flags later in xfs_buf_ioend (Bill O'Donnell) [1937116] - xfs: use xfs_buf_item_relse in xfs_buf_item_done (Bill O'Donnell) [1937116] - xfs: simplify the xfs_buf_ioend_disposition calling convention (Bill O'Donnell) [1937116] - xfs: lift the XBF_IOEND_FAIL handling into xfs_buf_ioend_disposition (Bill O'Donnell) [1937116] - xfs: remove xfs_buf_ioerror_retry (Bill O'Donnell) [1937116] - xfs: refactor xfs_buf_ioerror_fail_without_retry (Bill O'Donnell) [1937116] - xfs: fold xfs_buf_ioend_finish into xfs_ioend (Bill O'Donnell) [1937116] - xfs: move the buffer retry logic to xfs_buf.c (Bill O'Donnell) [1937116] - xfs: refactor xfs_buf_ioend (Bill O'Donnell) [1937116] - xfs: mark xfs_buf_ioend static (Bill O'Donnell) [1937116] - xfs: refactor the buf ioend disposition code (Bill O'Donnell) [1937116] - xfs: xfs_iflock is no longer a completion (Bill O'Donnell) [1937116] - xfs: remove kmem_realloc() (Bill O'Donnell) [1937116] - xfs: don't update mtime on COW faults (Bill O'Donnell) [1937116] - xfs: fix xfs_bmap_validate_extent_raw when checking attr fork of rt files (Bill O'Donnell) [1937116] - xfs: initialize the shortform attr header padding entry (Bill O'Donnell) [1937116] - xfs: fix off-by-one in inode alloc block reservation calculation (Bill O'Donnell) [1937116] - xfs: finish dfops on every insert range shift iteration (Bill O'Donnell) [1937116] - xfs: Fix UBSAN null-ptr-deref in xfs_sysfs_init (Bill O'Donnell) [1937116] - xfs: delete duplicated words + other fixes (Bill O'Donnell) [1937116] - xfs: Lift -ENOSPC handler from xfs_attr_leaf_addname (Bill O'Donnell) [1937116] - xfs: Simplify xfs_attr_node_addname (Bill O'Donnell) [1937116] - xfs: Simplify xfs_attr_leaf_addname (Bill O'Donnell) [1937116] - xfs: Add helper function xfs_attr_node_removename_rmt (Bill O'Donnell) [1937116] - xfs: Add helper function xfs_attr_node_removename_setup (Bill O'Donnell) [1937116] - xfs: Add remote block helper functions (Bill O'Donnell) [1937116] - xfs: Add helper function xfs_attr_leaf_mark_incomplete (Bill O'Donnell) [1937116] - xfs: Add helpers xfs_attr_is_shortform and xfs_attr_set_shortform (Bill O'Donnell) [1937116] - xfs: Remove xfs_trans_roll in xfs_attr_node_removename (Bill O'Donnell) [1937116] - xfs: Remove unneeded xfs_trans_roll_inode calls (Bill O'Donnell) [1937116] - xfs: Add helper function xfs_attr_node_shrink (Bill O'Donnell) [1937116] - xfs: Pull up xfs_attr_rmtval_invalidate (Bill O'Donnell) [1937116] - xfs: Refactor xfs_attr_rmtval_remove (Bill O'Donnell) [1937116] - xfs: Pull up trans roll in xfs_attr3_leaf_clearflag (Bill O'Donnell) [1937116] - xfs: Factor out xfs_attr_rmtval_invalidate (Bill O'Donnell) [1937116] - xfs: Pull up trans roll from xfs_attr3_leaf_setflag (Bill O'Donnell) [1937116] - xfs: Refactor xfs_attr_try_sf_addname (Bill O'Donnell) [1937116] - xfs: Split apart xfs_attr_leaf_addname (Bill O'Donnell) [1937116] - xfs: Pull up trans handling in xfs_attr3_leaf_flipflags (Bill O'Donnell) [1937116] - xfs: Factor out new helper functions xfs_attr_rmtval_set (Bill O'Donnell) [1937116] - xfs: Check for -ENOATTR or -EEXIST (Bill O'Donnell) [1937116] - xfs: Add xfs_has_attr and subroutines (Bill O'Donnell) [1937116] - xfs: Refactor xfs_da_state_alloc() helper (Bill O'Donnell) [1937116] - xfs: remove xfs_zone_{alloc,zalloc} helpers (Bill O'Donnell) [1937116] - xfs: Modify xlog_ticket_alloc() to use kernel's MM API (Bill O'Donnell) [1937116] - xfs: Remove kmem_zone_zalloc() usage (Bill O'Donnell) [1937116] - xfs: Remove kmem_zone_alloc() usage (Bill O'Donnell) [1937116] - xfs: xfs_btree_staging.h: delete duplicated words (Bill O'Donnell) [1937116] - xfs: rename the ondisk dquot d_flags to d_type (Bill O'Donnell) [1937116] - xfs: improve ondisk dquot flags checking (Bill O'Donnell) [1937116] - xfs: create xfs_dqtype_t to represent quota types (Bill O'Donnell) [1937116] - xfs: replace a few open-coded XFS_DQTYPE_REC_MASK uses (Bill O'Donnell) [1937116] - xfs: remove unnecessary quota type masking (Bill O'Donnell) [1937116] - xfs: always use xfs_dquot_type when extracting type from a dquot (Bill O'Donnell) [1937116] - xfs: refactor quota type testing (Bill O'Donnell) [1937116] - xfs: remove the XFS_QM_IS[UGP]DQ macros (Bill O'Donnell) [1937116] - xfs: refactor testing if a particular dquot is being enforced (Bill O'Donnell) [1937116] - xfs: rename XFS_DQ_{USER,GROUP,PROJ} to XFS_DQTYPE_* (Bill O'Donnell) [1937116] - xfs: drop the type parameter from xfs_dquot_verify (Bill O'Donnell) [1937116] - xfs: add more dquot tracepoints (Bill O'Donnell) [1937116] - xfs: actually bump warning counts when we send warnings (Bill O'Donnell) [1937116] - xfs: assume the default quota limits are always set in xfs_qm_adjust_dqlimits (Bill O'Donnell) [1937116] - xfs: refactor xfs_trans_apply_dquot_deltas (Bill O'Donnell) [1937116] - xfs: refactor xfs_trans_dqresv (Bill O'Donnell) [1937116] - xfs: refactor xfs_qm_scall_setqlim (Bill O'Donnell) [1937116] - xfs: refactor quota exceeded test (Bill O'Donnell) [1937116] - xfs: remove unnecessary arguments from quota adjust functions (Bill O'Donnell) [1937116] - xfs: refactor default quota limits by resource (Bill O'Donnell) [1937116] - xfs: remove qcore from incore dquots (Bill O'Donnell) [1937116] - xfs: stop using q_core timers in the quota code (Bill O'Donnell) [1937116] - xfs: stop using q_core warning counters in the quota code (Bill O'Donnell) [1937116] - xfs: stop using q_core counters in the quota code (Bill O'Donnell) [1937116] - xfs: stop using q_core limits in the quota code (Bill O'Donnell) [1937116] - xfs: use a per-resource struct for incore dquot data (Bill O'Donnell) [1937116] - xfs: stop using q_core.d_id in the quota code (Bill O'Donnell) [1937116] - xfs: stop using q_core.d_flags in the quota code (Bill O'Donnell) [1937116] - xfs: make XFS_DQUOT_CLUSTER_SIZE_FSB part of the ondisk format (Bill O'Donnell) [1937116] - xfs: rename dquot incore state flags (Bill O'Donnell) [1937116] - xfs: refactor quotacheck flags usage (Bill O'Donnell) [1937116] - xfs: move the flags argument of xfs_qm_scall_trunc_qfiles to XFS_QMOPT_* (Bill O'Donnell) [1937116] - xfs: validate ondisk/incore dquot flags (Bill O'Donnell) [1937116] - xfs: fix inode quota reservation checks (Bill O'Donnell) [1937116] - xfs: clear XFS_DQ_FREEING if we can't lock the dquot buffer to flush (Bill O'Donnell) [1937116] - xfs: drain the buf delwri queue before xfsaild idles (Bill O'Donnell) [1937116] - xfs: remove duplicated include from xfs_buf_item.c (Bill O'Donnell) [1937116] - xfs: remove SYNC_WAIT and SYNC_TRYLOCK (Bill O'Donnell) [1937116] - xfs: get rid of unnecessary xfs_perag_{get,put} pairs (Bill O'Donnell) [1937116] - xfs: rtbitmap scrubber should check inode size (Bill O'Donnell) [1937116] - xfs: rtbitmap scrubber should verify written extents (Bill O'Donnell) [1937116] - xfs: remove xfs_inobp_check() (Bill O'Donnell) [1937116] - xfs: factor xfs_iflush_done (Bill O'Donnell) [1937116] - xfs: rework xfs_iflush_cluster() dirty inode iteration (Bill O'Donnell) [1937116] - xfs: rename xfs_iflush_int() (Bill O'Donnell) [1937116] - xfs: xfs_iflush() is no longer necessary (Bill O'Donnell) [1937116] - xfs: attach inodes to the cluster buffer when dirtied (Bill O'Donnell) [1937116] - xfs: rework stale inodes in xfs_ifree_cluster (Bill O'Donnell) [1937116] - xfs: clean up inode reclaim comments (Bill O'Donnell) [1937116] - xfs: remove SYNC_WAIT from xfs_reclaim_inodes() (Bill O'Donnell) [1937116] - xfs: remove SYNC_TRYLOCK from inode reclaim (Bill O'Donnell) [1937116] - xfs: don't block inode reclaim on the ILOCK (Bill O'Donnell) [1937116] - xfs: allow multiple reclaimers per AG (Bill O'Donnell) [1937116] - xfs: remove IO submission from xfs_reclaim_inode() (Bill O'Donnell) [1937116] - xfs: make inode reclaim almost non-blocking (Bill O'Donnell) [1937116] - xfs: pin inode backing buffer to the inode log item (Bill O'Donnell) [1937116] - xfs: move xfs_clear_li_failed out of xfs_ail_delete_one() (Bill O'Donnell) [1937116] - xfs: unwind log item error flagging (Bill O'Donnell) [1937116] - xfs: handle buffer log item IO errors directly (Bill O'Donnell) [1937116] - xfs: get rid of log item callbacks (Bill O'Donnell) [1937116] - xfs: clean up the buffer iodone callback functions (Bill O'Donnell) [1937116] - xfs: use direct calls for dquot IO completion (Bill O'Donnell) [1937116] - xfs: make inode IO completion buffer centric (Bill O'Donnell) [1937116] - xfs: clean up whacky buffer log item list reinit (Bill O'Donnell) [1937116] - xfs: call xfs_buf_iodone directly (Bill O'Donnell) [1937116] - xfs: mark log recovery buffers for completion (Bill O'Donnell) [1937116] - xfs: mark dquot buffers in cache (Bill O'Donnell) [1937116] - xfs: mark inode buffers in cache (Bill O'Donnell) [1937116] - xfs: add an inode item lock (Bill O'Donnell) [1937116] - xfs: remove logged flag from inode log item (Bill O'Donnell) [1937116] - xfs: Don't allow logging of XFS_ISTALE inodes (Bill O'Donnell) [1937116] - xfs: remove useless definitions in xfs_linux.h (Bill O'Donnell) [1937116] - xfs: use MMAPLOCK around filemap_map_pages() (Bill O'Donnell) [1937116] - xfs: move helpers that lock and unlock two inodes against userspace IO (Bill O'Donnell) [1937116] - xfs: refactor locking and unlocking two inodes against userspace IO (Bill O'Donnell) [1937116] - xfs: fix xfs_reflink_remap_prep calling conventions (Bill O'Donnell) [1937116] - xfs: reflink can skip remap existing mappings (Bill O'Donnell) [1937116] - xfs: only reserve quota blocks if we're mapping into a hole (Bill O'Donnell) [1937116] - xfs: only reserve quota blocks for bmbt changes if we're changing the data fork (Bill O'Donnell) [1937116] - xfs: redesign the reflink remap loop to fix blkres depletion crash (Bill O'Donnell) [1937116] - xfs: rename xfs_bmap_is_real_extent to is_written_extent (Bill O'Donnell) [1937116] - xfs: Couple of typo fixes in comments (Bill O'Donnell) [1937116] - xfs: fix use-after-free on CIL context on shutdown (Bill O'Donnell) [1937116] - xfs: flag files as supporting buffered async reads (Bill O'Donnell) [1937116] - fs: add FMODE_BUF_RASYNC (Bill O'Donnell) [1937116] - xfs: more lockdep whackamole with kmem_alloc* (Bill O'Donnell) [1937116 1965923] - xfs: rearrange xfs_inode_walk_ag parameters (Bill O'Donnell) [1937116] - xfs: straighten out all the naming around incore inode tree walks (Bill O'Donnell) [1937116] - xfs: move xfs_inode_ag_iterator to be closer to the perag walking code (Bill O'Donnell) [1937116] - xfs: use bool for done in xfs_inode_ag_walk (Bill O'Donnell) [1937116] - xfs: fix inode ag walk predicate function return values (Bill O'Donnell) [1937116] - xfs: refactor eofb matching into a single helper (Bill O'Donnell) [1937116] - xfs: remove __xfs_icache_free_eofblocks (Bill O'Donnell) [1937116] - xfs: remove flags argument from xfs_inode_ag_walk (Bill O'Donnell) [1937116] - xfs: remove xfs_inode_ag_iterator_flags (Bill O'Donnell) [1937116] - xfs: remove unused xfs_inode_ag_iterator function (Bill O'Donnell) [1937116] - xfs: replace open-coded XFS_ICI_NO_TAG (Bill O'Donnell) [1937116] - xfs: move eofblocks conversion function to xfs_ioctl.c (Bill O'Donnell) [1937116] - xfs: remove the m_active_trans counter (Bill O'Donnell) [1937116] - xfs: separate read-only variables in struct xfs_mount (Bill O'Donnell) [1937116] - xfs: reduce free inode accounting overhead (Bill O'Donnell) [1937116] - xfs: gut error handling in xfs_trans_unreserve_and_mod_sb() (Bill O'Donnell) [1937116] - xfs: cleanup xfs_idestroy_fork (Bill O'Donnell) [1937116] - xfs: move the fork format fields into struct xfs_ifork (Bill O'Donnell) [1937116] - xfs: move the per-fork nextents fields into struct xfs_ifork (Bill O'Donnell) [1937116] - xfs: remove xfs_ifree_local_data (Bill O'Donnell) [1937116] - xfs: remove the XFS_DFORK_Q macro (Bill O'Donnell) [1937116] - xfs: clean up xchk_bmap_check_rmaps usage of XFS_IFORK_Q (Bill O'Donnell) [1937116] - xfs: remove the NULL fork handling in xfs_bmapi_read (Bill O'Donnell) [1937116] - xfs: remove the special COW fork handling in xfs_bmapi_read (Bill O'Donnell) [1937116] - xfs: improve local fork verification (Bill O'Donnell) [1937116] - xfs: refactor xfs_inode_verify_forks (Bill O'Donnell) [1937116] - xfs: remove xfs_ifork_ops (Bill O'Donnell) [1937116] - xfs: remove xfs_iread (Bill O'Donnell) [1937116] - xfs: don't reset i_delayed_blks in xfs_iread (Bill O'Donnell) [1937116] - xfs: call xfs_dinode_verify from xfs_inode_from_disk (Bill O'Donnell) [1937116] - xfs: handle unallocated inodes in xfs_inode_from_disk (Bill O'Donnell) [1937116] - xfs: split xfs_iformat_fork (Bill O'Donnell) [1937116] - xfs: call xfs_iformat_fork from xfs_inode_from_disk (Bill O'Donnell) [1937116] - xfs: xfs_bmapi_read doesn't take a fork id as the last argument (Bill O'Donnell) [1937116] - xfs: fix the warning message in xfs_validate_sb_common() (Bill O'Donnell) [1937116] - xfs: don't allow SWAPEXT if we'd screw up quota accounting (Bill O'Donnell) [1937116] - xfs: use ordered buffers to initialize dquot buffers during quotacheck (Bill O'Donnell) [1937116] - xfs: don't fail verifier on empty attr3 leaf block (Bill O'Donnell) [1937116] - xfs: Use the correct style for SPDX License Identifier (Bill O'Donnell) [1937116] - xfs: Replace zero-length array with flexible-array (Bill O'Donnell) [1937116] - xfs: ensure f_bfree returned by statfs() is non-negative (Bill O'Donnell) [1937116] - xfs: remove duplicate headers (Bill O'Donnell) [1937116] - xfs: fix unused variable warning in buffer completion on !DEBUG (Bill O'Donnell) [1937116] - xfs: remove unnecessary includes from xfs_log_recover.c (Bill O'Donnell) [1937116] - xfs: move log recovery buffer cancellation code to xfs_buf_item_recover.c (Bill O'Donnell) [1937116] - xfs: hoist setting of XFS_LI_RECOVERED to caller (Bill O'Donnell) [1937116] - xfs: refactor intent item iop_recover calls (Bill O'Donnell) [1937116] - xfs: refactor intent item RECOVERED flag into the log item (Bill O'Donnell) [1937116] - xfs: refactor adding recovered intent items to the log (Bill O'Donnell) [1937116] - xfs: refactor releasing finished intents during log recovery (Bill O'Donnell) [1937116] - xfs: refactor xlog_item_is_intent now that we're done converting (Bill O'Donnell) [1937116] - xfs: refactor recovered BUI log item playback (Bill O'Donnell) [1937116] - xfs: refactor recovered CUI log item playback (Bill O'Donnell) [1937116] - xfs: refactor recovered RUI log item playback (Bill O'Donnell) [1937116] - xfs: refactor recovered EFI log item playback (Bill O'Donnell) [1937116] - xfs: remove log recovery quotaoff item dispatch for pass2 commit functions (Bill O'Donnell) [1937116] - xfs: refactor log recovery BUI item dispatch for pass2 commit functions (Bill O'Donnell) [1937116] - xfs: refactor log recovery CUI item dispatch for pass2 commit functions (Bill O'Donnell) [1937116] - xfs: refactor log recovery RUI item dispatch for pass2 commit functions (Bill O'Donnell) [1937116] - xfs: refactor log recovery EFI item dispatch for pass2 commit functions (Bill O'Donnell) [1937116] - xfs: refactor log recovery icreate item dispatch for pass2 commit functions (Bill O'Donnell) [1937116] - xfs: refactor log recovery dquot item dispatch for pass2 commit functions (Bill O'Donnell) [1937116] - xfs: refactor log recovery inode item dispatch for pass2 commit functions (Bill O'Donnell) [1937116] - xfs: refactor log recovery buffer item dispatch for pass2 commit functions (Bill O'Donnell) [1937116] - xfs: refactor log recovery item dispatch for pass1 commit functions (Bill O'Donnell) [1937116] - xfs: refactor log recovery item dispatch for pass2 readhead functions (Bill O'Donnell) [1937116] - xfs: refactor log recovery item sorting into a generic dispatch structure (Bill O'Donnell) [1937116] - xfs: convert xfs_log_recover_item_t to struct xfs_log_recover_item (Bill O'Donnell) [1937116] - xfs: remove unused iget_flags param from xfs_imap_to_bp() (Bill O'Donnell) [1937116] - xfs: remove unused shutdown types (Bill O'Donnell) [1937116] - xfs: random buffer write failure errortag (Bill O'Donnell) [1937116] - xfs: remove unused iflush stale parameter (Bill O'Donnell) [1937116] - xfs: combine xfs_trans_ail_[remove|delete]() (Bill O'Donnell) [1937116] - xfs: drop unused shutdown parameter from xfs_trans_ail_remove() (Bill O'Donnell) [1937116] - xfs: use delete helper for items expected to be in AIL (Bill O'Donnell) [1937116] - xfs: acquire ->ail_lock from xfs_trans_ail_delete() (Bill O'Donnell) [1937116] - xfs: abort consistently on dquot flush failure (Bill O'Donnell) [1937116] - xfs: ratelimit unmount time per-buffer I/O error alert (Bill O'Donnell) [1937116] - xfs: refactor ratelimited buffer error messages into helper (Bill O'Donnell) [1937116] - xfs: reset buffer write failure state on successful completion (Bill O'Donnell) [1937116] - xfs: remove unnecessary shutdown check from xfs_iflush() (Bill O'Donnell) [1937116] - xfs: simplify inode flush error handling (Bill O'Donnell) [1937116] - xfs: factor out buffer I/O failure code (Bill O'Donnell) [1937116] - xfs: refactor failed buffer resubmission into xfsaild (Bill O'Donnell) [1937116] - xfs: spell out the parameter name for ->cancel_item (Bill O'Donnell) [1937116] - xfs: use a xfs_btree_cur for the ->finish_cleanup state (Bill O'Donnell) [1937116] - xfs: turn dfp_done into a xfs_log_item (Bill O'Donnell) [1937116] - xfs: refactor xfs_defer_finish_noroll (Bill O'Donnell) [1937116] - xfs: turn dfp_intent into a xfs_log_item (Bill O'Donnell) [1937116] - xfs: merge the ->diff_items defer op into ->create_intent (Bill O'Donnell) [1937116] - xfs: merge the ->log_item defer op into ->create_intent (Bill O'Donnell) [1937116] - xfs: factor out a xfs_defer_create_intent helper (Bill O'Donnell) [1937116] - xfs: remove the xfs_inode_log_item_t typedef (Bill O'Donnell) [1937116] - xfs: remove the xfs_efd_log_item_t typedef (Bill O'Donnell) [1937116] - xfs: remove the xfs_efi_log_item_t typedef (Bill O'Donnell) [1937116] - xfs: refactor xlog_recover_buffer_pass1 (Bill O'Donnell) [1937116] - xfs: simplify xlog_recover_inode_ra_pass2 (Bill O'Donnell) [1937116] - xfs: factor out a xlog_buf_readahead helper (Bill O'Donnell) [1937116] - xfs: rename inode_list xlog_recover_reorder_trans (Bill O'Donnell) [1937116] - xfs: refactor the buffer cancellation table helpers (Bill O'Donnell) [1937116] - xfs: define printk_once variants for xfs messages (Bill O'Donnell) [1937116] - xfs: stop CONFIG_XFS_DEBUG from changing compiler flags (Bill O'Donnell) [1937116] - xfs: remove unnecessary check of the variable resblks in xfs_symlink (Bill O'Donnell) [1937116] - xfs: simplify the flags setting in xfs_qm_scall_quotaon (Bill O'Donnell) [1937116] - xfs: remove unnecessary assertion from xfs_qm_vop_create_dqattach (Bill O'Donnell) [1937116] - xfs: remove unnecessary variable udqp from xfs_ioctl_setattr (Bill O'Donnell) [1937116] - xfs: reserve quota inode transaction space only when needed (Bill O'Donnell) [1937116] - xfs: combine two if statements with same condition (Bill O'Donnell) [1937116] - xfs: trace quota allocations for all quota types (Bill O'Donnell) [1937116] - xfs: report unrecognized log item type codes during recovery (Bill O'Donnell) [1937116] - xfs: move inode flush to the sync workqueue (Bill O'Donnell) [1937116] - xfs: fix partially uninitialized structure in xfs_reflink_remap_extent (Bill O'Donnell) [1937116] - xfs: fix inode number overflow in ifree cluster helper (Bill O'Donnell) [1937116] - xfs: remove redundant variable assignment in xfs_symlink() (Bill O'Donnell) [1937116] - xfs: ratelimit inode flush on buffered write ENOSPC (Bill O'Donnell) [1937116] - xfs: return locked status of inode buffer on xfsaild push (Bill O'Donnell) [1937116] - xfs: trylock underlying buffer on dquot flush (Bill O'Donnell) [1937116] - xfs: remove unnecessary ternary from xfs_create (Bill O'Donnell) [1937116] - xfs: don't write a corrupt unmount record to force summary counter recalc (Bill O'Donnell) [1937116] - xfs: factor inode lookup from xfs_ifree_cluster (Bill O'Donnell) [1937116] - xfs: tail updates only need to occur when LSN changes (Bill O'Donnell) [1937116] - xfs: factor common AIL item deletion code (Bill O'Donnell) [1937116] - xfs: correctly acount for reclaimable slabs (Bill O'Donnell) [1937116] - xfs: Improve metadata buffer reclaim accountability (Bill O'Donnell) [1937116] - xfs: don't allow log IO to be throttled (Bill O'Donnell) [1937116] - xfs: Throttle commits on delayed background CIL push (Bill O'Donnell) [1937116] - xfs: Lower CIL flush limit for large logs (Bill O'Donnell) [1937116] - xfs: remove some stale comments from the log code (Bill O'Donnell) [1937116] - xfs: refactor unmount record writing (Bill O'Donnell) [1937116] - xfs: merge xlog_commit_record with xlog_write_done (Bill O'Donnell) [1937116] - xfs: split xlog_ticket_done (Bill O'Donnell) [1937116] - xfs: kill XLOG_TIC_INITED (Bill O'Donnell) [1937116] - xfs: refactor and split xfs_log_done() (Bill O'Donnell) [1937116] - xfs: re-order initial space accounting checks in xlog_write (Bill O'Donnell) [1937116] - xfs: don't try to write a start record into every iclog (Bill O'Donnell) [1937116] - xfs: validate the realtime geometry in xfs_validate_sb_common (Bill O'Donnell) [1937116] - xfs: shutdown on failure to add page to log bio (Bill O'Donnell) [1937116] - xfs: directory bestfree check should release buffers (Bill O'Donnell) [1937116] - xfs: drop all altpath buffers at the end of the sibling check (Bill O'Donnell) [1937116] - xfs: remove xlog_state_want_sync (Bill O'Donnell) [1937116] - xfs: move the ioerror check out of xlog_state_clean_iclog (Bill O'Donnell) [1937116] - xfs: refactor xlog_state_clean_iclog (Bill O'Donnell) [1937116] - xfs: remove the aborted parameter to xlog_state_done_syncing (Bill O'Donnell) [1937116] - xfs: simplify log shutdown checking in xfs_log_release_iclog (Bill O'Donnell) [1937116] - xfs: simplify the xfs_log_release_iclog calling convention (Bill O'Donnell) [1937116] - xfs: factor out a xlog_wait_on_iclog helper (Bill O'Donnell) [1937116] - xfs: merge xlog_cil_push into xlog_cil_push_work (Bill O'Donnell) [1937116] - xfs: remove the di_version field from struct icdinode (Bill O'Donnell) [1937116] - xfs: simplify a check in xfs_ioctl_setattr_check_cowextsize (Bill O'Donnell) [1937116] - xfs: simplify di_flags2 inheritance in xfs_ialloc (Bill O'Donnell) [1937116] - xfs: only check the superblock version for dinode size calculation (Bill O'Donnell) [1937116] - xfs: add a new xfs_sb_version_has_v3inode helper (Bill O'Donnell) [1937116] - xfs: add support for rmap btree staging cursors (Bill O'Donnell) [1937116] - xfs: add support for refcount btree staging cursors (Bill O'Donnell) [1937116] - xfs: add support for inode btree staging cursors (Bill O'Donnell) [1937116] - xfs: add support for free space btree staging cursors (Bill O'Donnell) [1937116] - xfs: support bulk loading of staged btrees (Bill O'Donnell) [1937116] - xfs: introduce fake roots for inode-rooted btrees (Bill O'Donnell) [1937116] - xfs: introduce fake roots for ag-rooted btrees (Bill O'Donnell) [1937116] - xfs: replace open-coded bitmap weight logic (Bill O'Donnell) [1937116] - xfs: rename xfs_bitmap to xbitmap (Bill O'Donnell) [1937116] - xfs: xrep_reap_extents should not destroy the bitmap (Bill O'Donnell) [1937116] - xfs: cleanup xfs_log_unmount_write (Bill O'Donnell) [1937116] - xfs: remove dead code from xfs_log_unmount_write (Bill O'Donnell) [1937116] - xfs: remove the unused return value from xfs_log_unmount_write (Bill O'Donnell) [1937116] - xfs: remove the unused XLOG_UNMOUNT_REC_TYPE define (Bill O'Donnell) [1937116] - xfs: mark XLOG_FORCED_SHUTDOWN as unlikely (Bill O'Donnell) [1937116] - xfs: make the btree ag cursor private union anonymous (Bill O'Donnell) [1937116] - xfs: make the btree cursor union members named structure (Bill O'Donnell) [1937116] - xfs: make btree cursor private union anonymous (Bill O'Donnell) [1937116] - xfs: rename btree cursor private btree member flags (Bill O'Donnell) [1937116] - xfs: convert btree cursor inode-private member names (Bill O'Donnell) [1937116] - xfs: convert btree cursor ag-private member name (Bill O'Donnell) [1937116] - xfs: introduce new private btree cursor names (Bill O'Donnell) [1937116] - xfs: Use scnprintf() for avoiding potential buffer overflow (Bill O'Donnell) [1937116] - xfs: mark extended attr corrupt when lookup-by-hash fails (Bill O'Donnell) [1937116] - xfs: mark dir corrupt when lookup-by-hash fails (Bill O'Donnell) [1937116] - xfs: check owner of dir3 blocks (Bill O'Donnell) [1937116] - xfs: check owner of dir3 data blocks (Bill O'Donnell) [1937116] - xfs: check owner of dir3 free blocks (Bill O'Donnell) [1937116] - xfs: fix buffer corruption reporting when xfs_dir3_free_header_check fails (Bill O'Donnell) [1937116] - xfs: xfs_buf_corruption_error should take __this_address (Bill O'Donnell) [1937116] - xfs: add a function to deal with corrupt buffers post-verifiers (Bill O'Donnell) [1937116] - xfs: remove XFS_BUF_TO_SBP (Bill O'Donnell) [1937116] - xfs: remove XFS_BUF_TO_AGF (Bill O'Donnell) [1937116] - xfs: remove XFS_BUF_TO_AGI (Bill O'Donnell) [1937116] - xfs: remove the xfs_agfl_t typedef (Bill O'Donnell) [1937116] - xfs: remove the agfl_bno member from struct xfs_agfl (Bill O'Donnell) [1937116] - xfs: switch xfs_attrmulti_attr_get to lazy attr buffer allocation (Bill O'Donnell) [1937116] - xfs: only allocate the buffer size actually needed in __xfs_set_acl (Bill O'Donnell) [1937116] - xfs: clean up bufsize alignment in xfs_ioc_attr_list (Bill O'Donnell) [1937116] - xfs: embedded the attrlist cursor into struct xfs_attr_list_context (Bill O'Donnell) [1937116] - xfs: remove XFS_DA_OP_INCOMPLETE (Bill O'Donnell) [1937116] - xfs: clean up the attr flag confusion (Bill O'Donnell) [1937116] - xfs: clean up the ATTR_REPLACE checks (Bill O'Donnell) [1937116] - xfs: improve xfs_forget_acl (Bill O'Donnell) [1937116] - xfs: lift cursor copy in/out into xfs_ioc_attr_list (Bill O'Donnell) [1937116] - xfs: lift buffer allocation into xfs_ioc_attr_list (Bill O'Donnell) [1937116] - xfs: lift common checks into xfs_ioc_attr_list (Bill O'Donnell) [1937116] - xfs: rename xfs_attr_list_int to xfs_attr_list (Bill O'Donnell) [1937116] - xfs: move the legacy xfs_attr_list to xfs_ioctl.c (Bill O'Donnell) [1937116] - xfs: open code ATTR_ENTSIZE (Bill O'Donnell) [1937116] - xfs: remove the unused ATTR_ENTRY macro (Bill O'Donnell) [1937116] - xfs: cleanup struct xfs_attr_list_context (Bill O'Donnell) [1937116] - xfs: factor out a xfs_attr_match helper (Bill O'Donnell) [1937116] - xfs: replace ATTR_KERNOTIME with XFS_DA_OP_NOTIME (Bill O'Donnell) [1937116] - xfs: remove ATTR_ALLOC and XFS_DA_OP_ALLOCVAL (Bill O'Donnell) [1937116] - xfs: remove ATTR_KERNOVAL (Bill O'Donnell) [1937116] - xfs: remove the xfs_inode argument to xfs_attr_get_ilocked (Bill O'Donnell) [1937116] - xfs: pass an initialized xfs_da_args to xfs_attr_get (Bill O'Donnell) [1937116] - xfs: pass an initialized xfs_da_args structure to xfs_attr_set (Bill O'Donnell) [1937116] - xfs: turn xfs_da_args.value into a void pointer (Bill O'Donnell) [1937116] - xfs: remove the MAXNAMELEN check from xfs_attr_args_init (Bill O'Donnell) [1937116] - xfs: remove the name == NULL check from xfs_attr_args_init (Bill O'Donnell) [1937116] - xfs: factor out a helper for a single XFS_IOC_ATTRMULTI_BY_HANDLE op (Bill O'Donnell) [1937116] - xfs: use strndup_user in XFS_IOC_ATTRMULTI_BY_HANDLE (Bill O'Donnell) [1937116] - xfs: merge xfs_attrmulti_attr_remove into xfs_attrmulti_attr_set (Bill O'Donnell) [1937116] - xfs: merge xfs_attr_remove into xfs_attr_set (Bill O'Donnell) [1937116] - xfs: remove the ATTR_INCOMPLETE flag (Bill O'Donnell) [1937116] - xfs: reject invalid flags combinations in XFS_IOC_ATTRLIST_BY_HANDLE (Bill O'Donnell) [1937116] - xfs: rework collapse range into an atomic operation (Bill O'Donnell) [1937116] - xfs: rework insert range into an atomic operation (Bill O'Donnell) [1937116] - xfs: open code insert range extent split helper (Bill O'Donnell) [1937116] - xfs: Add missing annotation to xfs_ail_check() (Bill O'Donnell) [1937116] - xfs: fix an undefined behaviour in _da3_path_shift (Bill O'Donnell) [1937116] - xfs: ratelimit xfs_discard_page messages (Bill O'Donnell) [1937116] - xfs: ratelimit xfs_buf_ioerror_alert messages (Bill O'Donnell) [1937116] - xfs: remove the kuid/kgid conversion wrappers (Bill O'Donnell) [1937116] - xfs: remove the icdinode di_uid/di_gid members (Bill O'Donnell) [1937116] - xfs: ensure that the inode uid/gid match values match the icdinode ones (Bill O'Donnell) [1937116] - xfs: improve error message when we can't allocate memory for xfs_buf (Bill O'Donnell) [1937116] - ceph: fix test for whether we can skip read when writing beyond EOF (Jeff Layton) [1971101] - redhat/configs: Add CONFIG_X86_SGX_KVM (Bandan Das) [1494649] - KVM: x86: Fix implicit enum conversion goof in scattered reverse CPUID code (Bandan Das) [1494649] - KVM: x86: Add capability to grant VM access to privileged SGX attribute (Bandan Das) [1494649] - KVM: VMX: Enable SGX virtualization for SGX1, SGX2 and LC (Bandan Das) [1494649] - KVM: VMX: Add ENCLS[EINIT] handler to support SGX Launch Control (LC) (Bandan Das) [1494649] - KVM: VMX: Add emulation of SGX Launch Control LE hash MSRs (Bandan Das) [1494649] - KVM: VMX: Add SGX ENCLS[ECREATE] handler to enforce CPUID restrictions (Bandan Das) [1494649] - KVM: VMX: Frame in ENCLS handler for SGX virtualization (Bandan Das) [1494649] - KVM: VMX: Add basic handling of VM-Exit from SGX enclave (Bandan Das) [1494649] - KVM: x86: Add reverse-CPUID lookup support for scattered SGX features (Bandan Das) [1494649] - KVM: x86: Add support for reverse CPUID lookup of scattered features (Bandan Das) [1494649] - KVM: x86: Define new #PF SGX error code bit (Bandan Das) [1494649] - KVM: x86: Export kvm_mmu_gva_to_gpa_{read,write}() for SGX (VMX) (Bandan Das) [1494649] - x86/sgx: Mark sgx_vepc_vm_ops static (Bandan Das) [1494649] - x86/sgx: Do not update sgx_nr_free_pages in sgx_setup_epc_section() (Bandan Das) [1494649] - x86/sgx: Move provisioning device creation out of SGX driver (Bandan Das) [1494649] - x86/sgx: Add helpers to expose ECREATE and EINIT to KVM (Bandan Das) [1494649] - x86/sgx: Add helper to update SGX_LEPUBKEYHASHn MSRs (Bandan Das) [1494649] - x86/sgx: Add encls_faulted() helper (Bandan Das) [1494649] - x86/sgx: Add SGX2 ENCLS leaf definitions (EAUG, EMODPR and EMODT) (Bandan Das) [1494649] - x86/sgx: Move ENCLS leaf definitions to sgx.h (Bandan Das) [1494649] - x86/sgx: Expose SGX architectural definitions to the kernel (Bandan Das) [1494649] - x86/sgx: Initialize virtual EPC driver even when SGX driver is disabled (Bandan Das) [1494649] - x86/cpu/intel: Allow SGX virtualization without Launch Control support (Bandan Das) [1494649] - x86/sgx: Introduce virtual EPC for use by KVM guests (Bandan Das) [1494649] - x86/sgx: Add SGX_CHILD_PRESENT hardware error code (Bandan Das) [1494649] - x86/sgx: Wipe out EREMOVE from sgx_free_epc_page() (Bandan Das) [1494649] - x86/cpufeatures: Add SGX1 and SGX2 sub-features (Bandan Das) [1494649] - x86/cpufeatures: Make SGX_LC feature bit depend on SGX bit (Bandan Das) [1494649] - x86/sgx: Remove unnecessary kmap() from sgx_ioc_enclave_init() (Bandan Das) [1494649] - selftests/sgx: Use getauxval() to simplify test code (Bandan Das) [1494649] - selftests/sgx: Improve error detection and messages (Bandan Das) [1494649] - x86/sgx: Add a basic NUMA allocation scheme to sgx_alloc_epc_page() (Bandan Das) [1494649] - x86/sgx: Replace section->init_laundry_list with sgx_dirty_page_list (Bandan Das) [1494649] - x86/sgx: Maintain encl->refcount for each encl->mm_list entry (Bandan Das) [1494649] - MAINTAINERS: Add Dave Hansen as reviewer for INTEL SGX (Bandan Das) [1494649] - x86/NUMA: Provide a range-to-target_node lookup facility (Bandan Das) [1494649] - x86/mm: Introduce CONFIG_NUMA_KEEP_MEMINFO (Bandan Das) [1494649] - configs: Enable CONFIG_MLXBF_GIGE on aarch64 (Alaa Hleihel) [1803489] - Add Mellanox BlueField Gigabit Ethernet driver (Alaa Hleihel) [1803489] - integrity: Use current_uid() in integrity_audit_message() (Richard Guy Briggs) [1957052] - ima: AppArmor satisfies the audit rule requirements (Richard Guy Briggs) [1957052] - IMA: Add audit log for failure conditions (Richard Guy Briggs) [1957052] - integrity: Add errno field in audit message (Richard Guy Briggs) [1957052] - audit: add blank line after variable declarations (Richard Guy Briggs) [1957052] - audit: drop /proc/PID/loginuid documentation Format field (Richard Guy Briggs) [1957052] - audit: avoid -Wempty-body warning (Richard Guy Briggs) [1957052] - audit: document /proc/PID/sessionid (Richard Guy Briggs) [1957052] - audit: document /proc/PID/loginuid (Richard Guy Briggs) [1957052] - MAINTAINERS: update audit files (Richard Guy Briggs) [1957052] - audit: further cleanup of AUDIT_FILTER_ENTRY deprecation (Richard Guy Briggs) [1957052] - netfilter: nftables: fix a warning message in nf_tables_commit_audit_collect() (Richard Guy Briggs) [1957052] - audit: log nftables configuration change events once per table (Richard Guy Briggs) [1957052] - audit_alloc_mark(): don't open-code ERR_CAST() (Richard Guy Briggs) [1957052] - make dump_common_audit_data() safe to be called from RCU pathwalk (Richard Guy Briggs) [1957052] - new helper: d_find_alias_rcu() (Richard Guy Briggs) [1957052] - audit: Make audit_filter_syscall() return void (Richard Guy Briggs) [1957052] - audit: Remove leftover reference to the audit_tasklet (Richard Guy Briggs) [1957052] - kernel/audit: convert comma to semicolon (Richard Guy Briggs) [1957052] - dump_common_audit_data(): fix racy accesses to ->d_name (Richard Guy Briggs) [1957052] - audit: replace atomic_add_return() (Richard Guy Briggs) [1957052] - x86/audit: Fix a -Wmissing-prototypes warning for ia32_classify_syscall() (Richard Guy Briggs) [1957052] - ethtool: fix kdoc attr name (Ivan Vecera) [1967261] - ethtool: Remove link_mode param and derive link params from driver (Ivan Vecera) [1967261] - ethtool: Add lanes parameter for ETHTOOL_LINK_MODE_10000baseR_FEC_BIT (Ivan Vecera) [1967261] - ethtool: fix kdoc in headers (Ivan Vecera) [1967261] - ethtool: document reserved fields in the uAPI (Ivan Vecera) [1967261] - ethtool: un-kdocify extended link state (Ivan Vecera) [1967261] - ethtool: document PHY tunable callbacks (Ivan Vecera) [1967261] - docs: ethtool: fix some copy-paste errors (Ivan Vecera) [1967261] - ethtool: fix incorrect datatype in set_eee ops (Ivan Vecera) [1967261] - net: selftests: Add lanes setting test (Ivan Vecera) [1967261] - mlxsw: ethtool: Pass link mode in use to ethtool (Ivan Vecera) [1967261] - mlxsw: ethtool: Add support for setting lanes when autoneg is off (Ivan Vecera) [1967261] - mlxsw: ethtool: Remove max lanes filtering (Ivan Vecera) [1967261] - ethtool: Expose the number of lanes in use (Ivan Vecera) [1967261] - ethtool: Get link mode in use instead of speed and duplex parameters (Ivan Vecera) [1967261] - ethtool: prepare __ethtool_get_link_ksettings for subsequent changes (Ivan Vecera) [1967261] - ethtool: Extend link modes settings uAPI with lanes (Ivan Vecera) [1967261] - ethtool: Validate master slave configuration before rtnl_lock() (Ivan Vecera) [1967261] - ethtool: fix string set id check (Ivan Vecera) [1967261] - ethtool: fix stack overflow in ethnl_parse_bitset() (Ivan Vecera) [1967261] - selftests: add ring and coalesce selftests (Ivan Vecera) [1967261] - selftests: refactor get_netdev_name function (Ivan Vecera) [1967261] - selftests: extract common functions in ethtool-common.sh (Ivan Vecera) [1967261] - netdevsim: support ethtool ring and coalesce settings (Ivan Vecera) [1967261] - netdevsim: move ethtool pause params in separate struct (Ivan Vecera) [1967261] - ethtool: add ETHTOOL_COALESCE_ALL_PARAMS define (Ivan Vecera) [1967261] - ethtool: netlink: add missing netdev_features_change() call (Ivan Vecera) [1967261] - ethtool: remove unneeded semicolon (Ivan Vecera) [1967261] - ethtool: allow netdev driver to define phy tunables (Ivan Vecera) [1967261] - ethtool: mark netlink family as __ro_after_init (Ivan Vecera) [1967261] - ethtool: Add 100base-FX link mode entries (Ivan Vecera) [1967261] - ethtool: fix error handling in ethtool_phys_id (Ivan Vecera) [1967261] - ethtool: allow flow-type ether without IP protocol field (Ivan Vecera) [1967261] - net: phy: Uninline PHY ethtool statistics operations (Ivan Vecera) [1967261] - net: phy: Define PHY statistics ethtool_phy_ops (Ivan Vecera) [1967261] - net: ethtool: Remove PHYLIB direct dependency (Ivan Vecera) [1967261] - net: phy: Register ethtool PHY operations (Ivan Vecera) [1967261] - genksyms: Ignore module scoped _Static_assert() (Ivan Vecera) [1967261] - net: ethtool: Introduce ethtool_phy_ops (Ivan Vecera) [1967261] - Documentation: networking: fix ethtool-netlink table formats (Ivan Vecera) [1967261] - ethtool: ioctl: Use array_size() in copy_to_user() (Ivan Vecera) [1967261] - net: ethtool: cabletest: Make ethnl_act_cable_test_tdr_cfg static (Ivan Vecera) [1967261] - SUNRPC: Handle major timeout in xprt_adjust_timeout() (Scott Mayhew) [1979070] - gro_cells: reduce number of synchronize_net() calls (Ivan Vecera) [1959015] - net: make sure napi_list is safe for RCU traversal (Ivan Vecera) [1959015] - net: manage napi add/del idempotence explicitly (Ivan Vecera) [1959015] - net: remove napi_hash_del() from driver-facing API (Ivan Vecera) [1959015] - net: disable netpoll on fresh napis (Ivan Vecera) [1959015] - usb: dwc3-meson-g12a: fix usb2 PHY glue init when phy0 is disabled (Torez Smith) [1942772] - xhci: Fix 5.12 regression of missing xHC cache clearing command after a Stall (Torez Smith) [1942772] - xhci: fix giving back URB with incorrect status regression in 5.12 (Torez Smith) [1942772] - usb: typec: ucsi: Clear pending after acking connector change (Torez Smith) [1942772] - net: hso: check for allocation failure in hso_create_bulk_serial_device() (Torez Smith) [1942772] - usb: typec: tcpm: Fix wrong handling in GET_SINK_CAP (Torez Smith) [1942772] - net: hso: fix NULL-deref on disconnect regression (Torez Smith) [1942772] - USB: CDC-ACM: fix poison/unpoison imbalance (Torez Smith) [1942772] - usbip: vudc: fix missing unlock on error in usbip_sockfd_store() (Torez Smith) [1942772] - usb: xhci-mtk: improve bandwidth scheduling with TT (Torez Smith) [1942772] - usb: xhci-mtk: remove or operator for setting schedule parameters (Torez Smith) [1942772] - usb: typec: tcpm: Wait for vbus discharge to VSAFE0V before toggling (Torez Smith) [1942772] - software node: Provide replacement for device_add_properties() (Torez Smith) [1942772] - driver core: platform: Reimplement devm_platform_ioremap_resource (Torez Smith) [1942772] - USB: usblp: initialize newChannel (Torez Smith) [1942772] - net: hso: fix null-ptr-deref during tty device unregistration (Torez Smith) [1942772] - usbip: synchronize event handler with sysfs code paths (Torez Smith) [1942772] - usbip: vudc synchronize sysfs code paths (Torez Smith) [1942772] - usbip: stub-dev synchronize sysfs code paths (Torez Smith) [1942772] - usbip: add sysfs_lock to synchronize sysfs code paths (Torez Smith) [1942772] - drivers: net: fix memory leak in peak_usb_create_dev (Torez Smith) [1942772] - thunderbolt: Fix off by one in tb_port_find_retimer() (Torez Smith) [1942772] - thunderbolt: Fix a leak in tb_retimer_add() (Torez Smith) [1942772] - usb: dwc2: Prevent core suspend when port connection flag is 0 (Torez Smith) [1942772] - usb: dwc2: Fix HPRT0.PrtSusp bit setting for HiKey 960 board. (Torez Smith) [1942772] - usb: xhci-mtk: fix broken streams issue on 0.96 xHCI (Torez Smith) [1942772] - usbip: vhci_hcd fix shift out-of-bounds in vhci_hub_control() (Torez Smith) [1942772] - USB: quirks: ignore remote wake-up on Fibocom L850-GL LTE modem (Torez Smith) [1942772] - USB: cdc-acm: do not log successful probe on later errors (Torez Smith) [1942772] - USB: cdc-acm: always claim data interface (Torez Smith) [1942772] - USB: cdc-acm: use negation for NULL checks (Torez Smith) [1942772] - USB: cdc-acm: clean up probe error labels (Torez Smith) [1942772] - USB: cdc-acm: drop redundant driver-data reset (Torez Smith) [1942772] - USB: cdc-acm: drop redundant driver-data assignment (Torez Smith) [1942772] - USB: cdc-acm: fix use-after-free after probe failure (Torez Smith) [1942772] - USB: cdc-acm: fix double free on probe failure (Torez Smith) [1942772] - USB: cdc-acm: downgrade message to debug (Torez Smith) [1942772] - USB: cdc-acm: untangle a circular dependency between callback and softint (Torez Smith) [1942772] - cdc-acm: fix BREAK rx code path adding necessary calls (Torez Smith) [1942772] - usb: dwc3: pci: Enable dis_uX_susphy_quirk for Intel Merrifield (Torez Smith) [1942772] - usb: dwc3: qcom: skip interconnect init for ACPI probe (Torez Smith) [1942772] - can: peak_usb: Revert "can: peak_usb: add forgotten supported devices" (Torez Smith) [1942772] - r8152: limit the RX buffer size of RTL8153A for USB 2.0 (Torez Smith) [1942772] - net: cdc-phonet: fix data-interface release on probe failure (Torez Smith) [1942772] - usb: typec: tcpm: Skip sink_cap query only when VDM sm is busy (Torez Smith) [1942772] - usb: typec: tcpm: Invoke power_supply_changed for tcpm-source-psy- (Torez Smith) [1942772] - usb: typec: Remove vdo[3] part of tps6598x_rx_identity_reg struct (Torez Smith) [1942772] - usb-storage: Add quirk to defeat Kindle's automatic unload (Torez Smith) [1942772] - usbip: Fix incorrect double assignment to udc->ud.tcp_rx (Torez Smith) [1942772] - can: kvaser_usb: Add support for USBcan Pro 4xHS (Torez Smith) [1942772] - can: peak_usb: add forgotten supported devices (Torez Smith) [1942772] - xhci: Fix repeated xhci wake after suspend due to uncleared internal wake state (Torez Smith) [1942772] - usb: xhci: Fix ASMedia ASM1042A and ASM3242 DMA addressing (Torez Smith) [1942772] - xhci: Improve detection of device initiated wake signal. (Torez Smith) [1942772] - usb: xhci: do not perform Soft Retry for some xHCI hosts (Torez Smith) [1942772] - usbip: fix vudc usbip_sockfd_store races leading to gpf (Torez Smith) [1942772] - usbip: fix vhci_hcd attach_store() races leading to gpf (Torez Smith) [1942772] - usbip: fix stub_dev usbip_sockfd_store() races leading to gpf (Torez Smith) [1942772] - usbip: fix vudc to check for stream socket (Torez Smith) [1942772] - usbip: fix vhci_hcd to check for stream socket (Torez Smith) [1942772] - usbip: fix stub_dev to check for stream socket (Torez Smith) [1942772] - USB: usblp: fix a hang in poll() if disconnected (Torez Smith) [1942772] - usb: dwc3: qcom: Add missing DWC3 OF node refcount decrement (Torez Smith) [1942772] - usb: dwc3: qcom: Honor wakeup enabled/disabled state (Torez Smith) [1942772] - usb: dwc3: qcom: add ACPI device id for sc8180x (Torez Smith) [1942772] - Goodix Fingerprint device is not a modem (Torez Smith) [1942772] - USB: serial: io_edgeport: fix memory leak in edge_startup (Torez Smith) [1942772] - USB: serial: ch341: add new Product ID (Torez Smith) [1942772] - USB: serial: cp210x: add some more GE USB IDs (Torez Smith) [1942772] - USB: serial: cp210x: add ID for Acuity Brands nLight Air Adapter (Torez Smith) [1942772] - net: usb: log errors to dmesg/syslog (Torez Smith) [1942772] - net: usb: cdc_ncm: emit dev_err on error paths (Torez Smith) [1942772] - thunderbolt: Increase runtime PM reference count on DP tunnel discovery (Torez Smith) [1942772] - thunderbolt: Initialize HopID IDAs in tb_switch_alloc() (Torez Smith) [1942772] - net: usb: qmi_wwan: allow qmimux add/del with master up (Torez Smith) [1942772] - Revert "r8152: adjust the settings about MAC clock speed down for RTL8153" (Torez Smith) [1942772] - net: usb: qmi_wwan: support ZTE P685M modem (Torez Smith) [1942772] - r8152: spilt rtl_set_eee_plus and r8153b_green_en (Torez Smith) [1942772] - r8152: replace netif_err with dev_err (Torez Smith) [1942772] - r8152: check if the pointer of the function exists (Torez Smith) [1942772] - r8152: enable U1/U2 for USB_SPEED_SUPER (Torez Smith) [1942772] - usb: misc: usb3503: Fix logic in usb3503_init() (Torez Smith) [1942772] - usb: Replace lkml.org links with lore (Torez Smith) [1942772] - usb: quirks: add quirk to start video capture on ELMO L-12F document camera reliable (Torez Smith) [1942772] - USB: quirks: sort quirk entries (Torez Smith) [1942772] - USB: serial: drop bogus to_usb_serial_port() checks (Torez Smith) [1942772] - USB: serial: drop if with an always false condition (Torez Smith) [1942772] - usb: typec: tcpm: Get Sink VDO from fwnode (Torez Smith) [1942772] - dt-bindings: connector: Add SVDM VDO properties (Torez Smith) [1942772] - usb: typec: displayport: Fill the negotiated SVDM Version in the header (Torez Smith) [1942772] - usb: typec: ucsi: Determine common SVDM Version (Torez Smith) [1942772] - usb: typec: tcpm: Determine common SVDM Version (Torez Smith) [1942772] - usb: pd: Make SVDM Version configurable in VDM header (Torez Smith) [1942772] - usb: typec: Manage SVDM version (Torez Smith) [1942772] - usb: dwc3: gadget: Fix dep->interval for fullspeed interrupt (Torez Smith) [1942772] - usb: dwc3: gadget: Fix setting of DEPCFG.bInterval_m1 (Torez Smith) [1942772] - USB: serial: option: update interface mapping for ZTE P685M (Torez Smith) [1942772] - usb: dwc3: gadget: Track connected SSP rate and lane count (Torez Smith) [1942772] - usb: dwc3: gadget: Implement setting of SSP rate (Torez Smith) [1942772] - usb: dwc3: core: Check maximum_speed SSP genXxY (Torez Smith) [1942772] - usb: common: Parse for USB SSP genXxY (Torez Smith) [1942772] - usb: dwc2: Fix endpoint direction check in ep_from_windex (Torez Smith) [1942772] - usb: dwc3: fix clock issue during resume in OTG mode (Torez Smith) [1942772] - xhci: ext-caps: Use software node API with the properties (Torez Smith) [1942772] - usb: dwc3: host: Use software node API with the properties (Torez Smith) [1942772] - r8152: replace several functions about phy patch request (Torez Smith) [1942772] - usb: dwc3: qcom: Constify the software node (Torez Smith) [1942772] - usb: dwc3: haps: Constify the software node (Torez Smith) [1942772] - usb: dwc2: pci: Drop the empty quirk function (Torez Smith) [1942772] - thunderbolt: Add support for native USB4 _OSC (Torez Smith) [1942772] - thunderbolt: Allow disabling XDomain protocol (Torez Smith) [1942772] - thunderbolt: Add support for PCIe tunneling disabled (SL5) (Torez Smith) [1942772] - thunderbolt: dma_test: Drop unnecessary include (Torez Smith) [1942772] - thunderbolt: Add clarifying comments about USB4 terms router and adapter (Torez Smith) [1942772] - thunderbolt: switch: Fix kernel-doc descriptions of non-static functions (Torez Smith) [1942772] - thunderbolt: nhi: Fix kernel-doc descriptions of non-static functions (Torez Smith) [1942772] - thunderbolt: path: Fix kernel-doc descriptions of non-static functions (Torez Smith) [1942772] - thunderbolt: eeprom: Fix kernel-doc descriptions of non-static functions (Torez Smith) [1942772] - thunderbolt: ctl: Fix kernel-doc descriptions of non-static functions (Torez Smith) [1942772] - usb: pd: Reland VDO definitions of PD2.0 (Torez Smith) [1942772] - NET: usb: qmi_wwan: Adding support for Cinterion MV31 (Torez Smith) [1942772] - usb: pd: Update VDO definitions (Torez Smith) [1942772] - xhci: fix bounce buffer usage for non-sg list case (Torez Smith) [1942772] - usb: xhci-mtk: break loop when find the endpoint to drop (Torez Smith) [1942772] - usb: typec: Return void in typec_partner_set_pd_revision (Torez Smith) [1942772] - usb: typec: tcpci_maxim: Enable data path when partner is USB Comm capable (Torez Smith) [1942772] - usb: typec: tcpci: Add Callback to Usb Communication capable partner (Torez Smith) [1942772] - usb: typec: tcpm: Add Callback to Usb Communication capable partner (Torez Smith) [1942772] - usb: typec: tcpm: Set in_ams flag when Source caps have been received (Torez Smith) [1942772] - usb: typec: tcpm: Handle vbus shutoff when in source mode (Torez Smith) [1942772] - usb: typec: Add typec_partner_set_pd_revision (Torez Smith) [1942772] - usb: typec: Provide PD Specification Revision for cable and partner (Torez Smith) [1942772] - usb: typec: Standardize PD Revision format with Type-C Revision (Torez Smith) [1942772] - usb: xhci-mtk: skip dropping bandwidth of unchecked endpoints (Torez Smith) [1942772] - USB: serial: ftdi_sio: restore divisor-encoding comments (Torez Smith) [1942772] - USB: serial: ftdi_sio: fix FTX sub-integer prescaler (Torez Smith) [1942772] - USB: serial: cp210x: clean up auto-RTS handling (Torez Smith) [1942772] - USB: serial: cp210x: fix RTS handling (Torez Smith) [1942772] - USB: serial: cp210x: clean up printk zero padding (Torez Smith) [1942772] - USB: serial: cp210x: clean up flow-control debug message (Torez Smith) [1942772] - USB: serial: cp210x: drop shift macros (Torez Smith) [1942772] - USB: serial: cp210x: fix modem-control handling (Torez Smith) [1942772] - USB: serial: cp210x: suppress modem-control errors (Torez Smith) [1942772] - xhci: handle halting transfer event properly after endpoint stop and halt raced. (Torez Smith) [1942772] - xhci: Check for pending reset endpoint command before queueing a new one. (Torez Smith) [1942772] - xhci: remove obsolete dequeue pointer moving code (Torez Smith) [1942772] - xhci: introduce a new move_dequeue_past_td() function to replace old code. (Torez Smith) [1942772] - xhci: handle stop endpoint command completion with endpoint in running state. (Torez Smith) [1942772] - xhci: Fix halted endpoint at stop endpoint command completion (Torez Smith) [1942772] - xhci: split handling halted endpoints into two steps (Torez Smith) [1942772] - xhci: move and rename xhci_cleanup_halted_endpoint() (Torez Smith) [1942772] - xhci: turn cancelled td cleanup to its own function (Torez Smith) [1942772] - xhci: store TD status in the td struct instead of passing it along (Torez Smith) [1942772] - xhci: use xhci_td_cleanup() helper when giving back cancelled URBs (Torez Smith) [1942772] - xhci: move xhci_td_cleanup so it can be called by more functions (Torez Smith) [1942772] - xhci: Add xhci_reset_halted_ep() helper function (Torez Smith) [1942772] - xhci: flush endpoint start to reduce race risk with stop endpoint command. (Torez Smith) [1942772] - xhci: Check link TRBs when updating ring enqueue and dequeue pointers. (Torez Smith) [1942772] - xhci: avoid DMA double fetch when reading event trb type. (Torez Smith) [1942772] - xhci: remove extra loop in interrupt context (Torez Smith) [1942772] - xhci: check slot_id is valid before gathering slot info (Torez Smith) [1942772] - xhci: prevent a theoretical endless loop while preparing rings. (Torez Smith) [1942772] - xhci: remove xhci_stream_id_to_ring() helper (Torez Smith) [1942772] - xhci: add xhci_virt_ep_to_ring() helper (Torez Smith) [1942772] - xhci: check virt_dev is valid before dereferencing it (Torez Smith) [1942772] - xhci: add xhci_get_virt_ep() helper (Torez Smith) [1942772] - xhci: remove unused event parameter from completion handlers (Torez Smith) [1942772] - xhci: adjust parameters passed to cleanup_halted_endpoint() (Torez Smith) [1942772] - xhci: get isochronous ring directly from endpoint structure (Torez Smith) [1942772] - xhci: Avoid parsing transfer events several times (Torez Smith) [1942772] - net: qmi_wwan: Add pass through mode (Torez Smith) [1942772] - net: usb: qmi_wwan: add qmap id sysfs file for qmimux interfaces (Torez Smith) [1942772] - net: usb: cdc_ether: added support for Thales Cinterion PLSx3 modem family. (Torez Smith) [1942772] - thunderbolt: Fix possible NULL pointer dereference in tb_acpi_add_link() (Torez Smith) [1942772] - thunderbolt: switch: Fix function name in the header (Torez Smith) [1942772] - thunderbolt: tunnel: Fix misspelling of 'receive_path' (Torez Smith) [1942772] - thunderbolt: icm: Fix a couple of formatting issues (Torez Smith) [1942772] - thunderbolt: switch: Demote a bunch of non-conformant kernel-doc headers (Torez Smith) [1942772] - thunderbolt: tb: Kernel-doc function headers should document their parameters (Torez Smith) [1942772] - thunderbolt: nhi: Demote some non-conformant kernel-doc headers (Torez Smith) [1942772] - thunderbolt: xdomain: Fix 'tb_unregister_service_driver()'s 'drv' param (Torez Smith) [1942772] - thunderbolt: eeprom: Demote non-conformant kernel-doc headers to standard comment blocks (Torez Smith) [1942772] - USB: serial: mos7720: fix error code in mos7720_write() (Torez Smith) [1942772] - thunderbolt: ctl: Demote non-conformant kernel-doc headers (Torez Smith) [1942772] - thunderbolt: cap: Fix kernel-doc formatting issue (Torez Smith) [1942772] - thunderbolt: dma_port: Check 'dma_port_flash_write_block()'s return value (Torez Smith) [1942772] - USB: serial: option: Adding support for Cinterion MV31 (Torez Smith) [1942772] - can: mcba_usb: remove h from printk format specifier (Torez Smith) [1942772] - usbnet: fix the indentation of one code snippet (Torez Smith) [1942772] - usb: usb251xb: Use of_device_get_match_data() (Torez Smith) [1942772] - usb: dwc2: Make "trimming xfer length" a debug message (Torez Smith) [1942772] - usb: dwc2: Abort transaction after errors with unknown reason (Torez Smith) [1942772] - usb: dwc2: Do not update data length if it is 0 on inbound transfers (Torez Smith) [1942772] - usb: xhci-mtk: fix unreleased bandwidth data (Torez Smith) [1942772] - USB: serial: mos7840: fix error code in mos7840_write() (Torez Smith) [1942772] - USB: usblp: don't call usb_set_interface if there's a single alt (Torez Smith) [1942772] - USB: serial: cp210x: add pid/vid for WSDA-200-USB (Torez Smith) [1942772] - usb: typec: tcpci_maxim: add terminating newlines to logging (Torez Smith) [1942772] - usb: typec: tcpci_maxim: remove redundant assignment (Torez Smith) [1942772] - usb: typec: tcpm: Create legacy PDOs for PD2 connection (Torez Smith) [1942772] - net: usb: qmi_wwan: added support for Thales Cinterion PLSx3 modem family (Torez Smith) [1942772] - usb: typec: tcpci_maxim: Drop GPIO includes (Torez Smith) [1942772] - usb: typec: tcpm: Respond Wait if VDM state machine is running (Torez Smith) [1942772] - usb: typec: tcpm: Protocol Error handling (Torez Smith) [1942772] - usb: typec: tcpm: AMS and Collision Avoidance (Torez Smith) [1942772] - net: usb: cdc_ncm: don't spew notifications (Torez Smith) [1942772] - usb: typec: ucsi: Add conditional dependency on USB role switch (Torez Smith) [1942772] - usb: ch9: Add USB 3.2 SSP attributes (Torez Smith) [1942772] - USB: serial: f81232: drop short control-transfer checks (Torez Smith) [1942772] - USB: serial: io_ti: fix a debug-message copy-paste error (Torez Smith) [1942772] - USB: serial: io_ti: drop short control-transfer check (Torez Smith) [1942772] - USB: serial: upd78f0730: drop short control-transfer check (Torez Smith) [1942772] - USB: serial: cp210x: add copyright notice (Torez Smith) [1942772] - USB: serial: cp210x: drop unused includes (Torez Smith) [1942772] - USB: serial: cp210x: drop short control-transfer checks (Torez Smith) [1942772] - USB: serial: cp210x: update control-characters on every change (Torez Smith) [1942772] - USB: serial: cp210x: set IXOFF thresholds (Torez Smith) [1942772] - USB: serial: cp210x: add support for software flow control (Torez Smith) [1942772] - USB: serial: pl2303: fix line-speed handling on newer chips (Torez Smith) [1942772] - xhci: tegra: Delay for disabling LFPS detector (Torez Smith) [1942772] - xhci: make sure TRB is fully written before giving it to the controller (Torez Smith) [1942772] - usb: dwc3: qcom: add URS Host support for sdm845 ACPI boot (Torez Smith) [1942772] - usb: dwc3: pci: add support for the Intel Alder Lake-P (Torez Smith) [1942772] - usb: dwc3: pci: ID for Tiger Lake CPU (Torez Smith) [1942772] - usb: dwc3: pci: Register a software node for the dwc3 platform device (Torez Smith) [1942772] - thunderbolt: Add support for de-authorizing devices (Torez Smith) [1942772] - nt: usb: USB_RTL8153_ECM should not default to y (Torez Smith) [1942772] - USB: dwc3: document gadget_max_speed (Torez Smith) [1942772] - usb: dwc3: gadget: Disable Vendor Test LMP Received event (Torez Smith) [1942772] - USB: serial: cp210x: add new VID/PID for supporting Teraoka AD2000 (Torez Smith) [1942772] - r8153_ecm: Add Lenovo Powered USB-C Hub as a fallback of r8152 (Torez Smith) [1942772] - r8152: Add Lenovo Powered USB-C Travel Hub (Torez Smith) [1942772] - USB: ehci: fix an interrupt calltrace error (Torez Smith) [1942772] - ehci: fix EHCI host controller initialization sequence (Torez Smith) [1942772] - usb: typec: ucsi: Add support for USB role switch (Torez Smith) [1942772] - usb: dwc2: disable Link Power Management on STM32MP15 HS OTG (Torez Smith) [1942772] - usb: dwc2: enable FS/LS PHY clock select on STM32MP15 FS OTG (Torez Smith) [1942772] - usb: dwc2: set ahbcfg parameter for STM32MP15 OTG HS and FS (Torez Smith) [1942772] - usb: dwc3: Simplify with dev_err_probe() (Torez Smith) [1942772] - usb: dwc3: keystone: Simplify with dev_err_probe() (Torez Smith) [1942772] - usb: dwc3: core: Replace devm_reset_control_array_get() (Torez Smith) [1942772] - USB: serial: mos7720: improve OOM-handling in read_mos_reg() (Torez Smith) [1942772] - rndis_host: set proper input size for OID_GEN_PHYSICAL_MEDIUM request (Torez Smith) [1942772] - thunderbolt: Start lane initialization after sleep (Torez Smith) [1942772] - thunderbolt: Constify static attribute_group structs (Torez Smith) [1942772] - qmi_wwan: Increase headroom for QMAP SKBs (Torez Smith) [1942772] - usb: usbip: Use DEFINE_SPINLOCK() for spinlock (Torez Smith) [1942772] - usb: dwc3: gadget: Clear wait flag on dequeue (Torez Smith) [1942772] - usb: typec: Send uevent for num_altmodes update (Torez Smith) [1942772] - usb: typec: Fix copy paste error for NVIDIA alt-mode description (Torez Smith) [1942772] - kcov, usb: hide in_serving_softirq checks in __usb_hcd_giveback_urb (Torez Smith) [1942772] - thunderbolt: Drop duplicated 0x prefix from format string (Torez Smith) [1942772] - net: cdc_ncm: correct overhead in delayed_ndp_size (Torez Smith) [1942772] - net: usb: Use DEFINE_SPINLOCK() for spinlock (Torez Smith) [1942772] - usb: uas: Add PNY USB Portable SSD to unusual_uas (Torez Smith) [1942772] - net: usb: qmi_wwan: add Quectel EM160R-GL (Torez Smith) [1942772] - usb: usbip: vhci_hcd: protect shift size (Torez Smith) [1942772] - USB: usblp: fix DMA to stack (Torez Smith) [1942772] - usb: dwc3: gadget: Preserve UDC max speed setting (Torez Smith) [1942772] - usb: dwc3: gadget: Allow runtime suspend if UDC unbinded (Torez Smith) [1942772] - usb: dwc3: gadget: Introduce a DWC3 VBUS draw callback (Torez Smith) [1942772] - usb: dwc3: add imx8mp dwc3 glue layer driver (Torez Smith) [1942772] - USB: serial: iuu_phoenix: fix DMA from stack (Torez Smith) [1942772] - USB: serial: option: add LongSung M5710 module support (Torez Smith) [1942772] - USB: serial: option: add Quectel EM160R-GL (Torez Smith) [1942772] - CDC-NCM: remove "connected" log message (Torez Smith) [1942772] - usb: dwc3: ulpi: Fix USB2.0 HS/FS/LS PHY suspend regression (Torez Smith) [1942772] - usb: dwc3: ulpi: Replace CPU-based busyloop with Protocol-based one (Torez Smith) [1942772] - usb: dwc3: ulpi: Use VStsDone to detect PHY regs access completion (Torez Smith) [1942772] - usb: dwc3: drd: Improve dwc3_get_extcon() style (Torez Smith) [1942772] - usb: dwc3: drd: Avoid error when extcon is missing (Torez Smith) [1942772] - USB: usbtmc: Bump USBTMC_API_VERSION value (Torez Smith) [1942772] - USB: usbtmc: Add separate USBTMC_IOCTL_GET_SRQ_STB (Torez Smith) [1942772] - USB: usbtmc: Add USBTMC_IOCTL_GET_STB (Torez Smith) [1942772] - USB: usbtmc: Fix reading stale status byte (Torez Smith) [1942772] - kcov, usbip: collect coverage from vhci_rx_loop (Torez Smith) [1942772] - USB: yurex: fix control-URB timeout handling (Torez Smith) [1942772] - usb: dwc3: meson-g12a: disable clk on error handling path in probe (Torez Smith) [1942772] - USB: xhci: fix U1/U2 handling for hardware with XHCI_INTEL_HOST quirk set (Torez Smith) [1942772] - usb: typec: intel_pmc_mux: Configure HPD first for HPD+IRQ request (Torez Smith) [1942772] - USB: cdc-wdm: Fix use after free in service_outstanding_interrupt(). (Torez Smith) [1942772] - USB: cdc-acm: blacklist another IR Droid device (Torez Smith) [1942772] - thunderbolt: Use kmemdup instead of kzalloc and memcpy (Torez Smith) [1942772] - usb: ucsi: convert comma to semicolon (Torez Smith) [1942772] - usb: typec: tcpm: convert comma to semicolon (Torez Smith) [1942772] - usb: typec: tcpm: Update vbus_vsafe0v on init (Torez Smith) [1942772] - usb: typec: tcpci: Enable bleed discharge when auto discharge is enabled (Torez Smith) [1942772] - usb: typec: Add class for plug alt mode device (Torez Smith) [1942772] - USB: typec: tcpci: Add Bleed discharge to POWER_CONTROL definition (Torez Smith) [1942772] - USB: typec: tcpm: Add a 30ms room for tPSSourceOn in PR_SWAP (Torez Smith) [1942772] - USB: typec: tcpm: Fix PR_SWAP error handling (Torez Smith) [1942772] - USB: typec: tcpm: Hard Reset after not receiving a Request (Torez Smith) [1942772] - usb: typec: intel_pmc_mux: Configure cable generation value for USB4 (Torez Smith) [1942772] - net: usb: convert comma to semicolon (Torez Smith) [1942772] - USB: UAS: introduce a quirk to set no_write_same (Torez Smith) [1942772] - USB: serial: ftdi_sio: log the CBUS GPIO validity (Torez Smith) [1942772] - USB: serial: ftdi_sio: drop GPIO line checking dead code (Torez Smith) [1942772] - USB: serial: ftdi_sio: report the valid GPIO lines to gpiolib (Torez Smith) [1942772] - drivers: usb: atm: use atm_info() instead of atm_printk(KERN_INFO ... (Torez Smith) [1942772] - drivers: usb: atm: reduce noise (Torez Smith) [1942772] - USB: serial: option: add interface-number sanity check to flag handling (Torez Smith) [1942772] - usb: typec: tcpci_maxim: Enable VSAFE0V signalling (Torez Smith) [1942772] - usb: typec: tcpci: Add support to report vSafe0V (Torez Smith) [1942772] - usb: typec: tcpm: Introduce vsafe0v for vbus (Torez Smith) [1942772] - usb: typec: tcpm: Clear send_discover in tcpm_check_send_discover (Torez Smith) [1942772] - usb: typec: tcpm: Pass down negotiated rev to update retry count (Torez Smith) [1942772] - usb: typec: intel_pmc_mux: Use correct response message bits (Torez Smith) [1942772] - xhci: Give USB2 ports time to enter U3 in bus suspend (Torez Smith) [1942772] - xhci-pci: Allow host runtime PM as default for Intel Maple Ridge xHCI (Torez Smith) [1942772] - xhci-pci: Allow host runtime PM as default for Intel Alpine Ridge LP (Torez Smith) [1942772] - usb: xhci: Use temporary buffer to consolidate SG (Torez Smith) [1942772] - usb: xhci: Set quirk for XHCI_SG_TRB_CACHE_SIZE_QUIRK (Torez Smith) [1942772] - USB: legotower: fix logical error in recent commit (Torez Smith) [1942772] - USB: legousbtower: use usb_control_msg_recv() (Torez Smith) [1942772] - USB: add RESET_RESUME quirk for Snapscan 1212 (Torez Smith) [1942772] - usb: typec: tps6598x: Export some power supply properties (Torez Smith) [1942772] - usb: typec: tps6598x: Select USB_ROLE_SWITCH and REGMAP_I2C (Torez Smith) [1942772] - USB: core: drop pipe-type check from new control-message helpers (Torez Smith) [1942772] - USB: core: return -EREMOTEIO on short usb_control_msg_recv() (Torez Smith) [1942772] - USB: core: drop short-transfer check from usb_control_msg_send() (Torez Smith) [1942772] - USB: apple-mfi-fastcharge: Fix use after free in probe (Torez Smith) [1942772] - Revert "usb-storage: fix sdev->host->dma_dev" (Torez Smith) [1942772] - Revert "uas: fix sdev->host->dma_dev" (Torez Smith) [1942772] - Revert "uas: bump hw_max_sectors to 2048 blocks for SS or faster drives" (Torez Smith) [1942772] - USB: serial: cp210x: clean up dtr_rts() (Torez Smith) [1942772] - USB: serial: cp210x: refactor flow-control handling (Torez Smith) [1942772] - USB: serial: cp210x: drop flow-control debugging (Torez Smith) [1942772] - USB: serial: cp210x: set terminal settings on open (Torez Smith) [1942772] - USB: serial: cp210x: clean up line-control handling (Torez Smith) [1942772] - USB: serial: cp210x: return early on unchanged termios (Torez Smith) [1942772] - USB: serial: kl5kusb105: fix memleak on open (Torez Smith) [1942772] - USB: serial: ch341: sort device-id entries (Torez Smith) [1942772] - USB: serial: ch341: add new Product ID for CH341A (Torez Smith) [1942772] - USB: serial: option: fix Quectel BG96 matching (Torez Smith) [1942772] - can: pcan_usb_core: fix fall-through warnings for Clang (Torez Smith) [1942772] - usb: typec: stusb160x: fix power-opmode property with typec-power-opmode (Torez Smith) [1942772] - USB: serial: option: add support for Thales Cinterion EXS82 (Torez Smith) [1942772] - usb: typec: Add type sysfs attribute file for partners (Torez Smith) [1942772] - usb: common: ulpi: Constify static attribute_group struct (Torez Smith) [1942772] - usb: typec: Constify static attribute_group structs (Torez Smith) [1942772] - USB: core: Constify static attribute_group structs (Torez Smith) [1942772] - usb: typec: tcpm: Stay in SNK_TRY_WAIT_DEBOUNCE_CHECK_VBUS till Rp is seen (Torez Smith) [1942772] - usb: typec: tcpm: Disregard vbus off while in PR_SWAP_SNK_SRC_SOURCE_ON (Torez Smith) [1942772] - usb: typec: Expose Product Type VDOs via sysfs (Torez Smith) [1942772] - usb: pd: DFP product types (Torez Smith) [1942772] - usb: Fix fall-through warnings for Clang (Torez Smith) [1942772] - usbnet: ipheth: fix connectivity with iOS 14 (Torez Smith) [1942772] - USB: core: Change pK for __user pointers to px (Torez Smith) [1942772] - USB: core: Fix regression in Hercules audio card (Torez Smith) [1942772] - USB: quirks: Add USB_QUIRK_DISCONNECT_SUSPEND quirk for Lenovo A630Z TIO built-in usb-audio card (Torez Smith) [1942772] - can: kvaser_usb: Add new Kvaser hydra devices (Torez Smith) [1942772] - can: kvaser_usb: kvaser_usb_hydra: Add support for new device variant (Torez Smith) [1942772] - can: kvaser_usb: Add new Kvaser Leaf v2 devices (Torez Smith) [1942772] - can: kvaser_usb: Add USB_{LEAF,HYDRA}_PRODUCT_ID_END defines (Torez Smith) [1942772] - USB: serial: option: add Fibocom NL668 variants (Torez Smith) [1942772] - usb: typec: Fix num_altmodes kernel-doc error (Torez Smith) [1942772] - r8153_ecm: avoid to be prior to r8152 driver (Torez Smith) [1942772] - net: usb: qmi_wwan: Set DTR quirk for MR400 (Torez Smith) [1942772] - usb: typec: Add plug num_altmodes sysfs attr (Torez Smith) [1942772] - usb: typec: tcpci_maxim: Fix the compatible string (Torez Smith) [1942772] - usb: typec: tcpci_maxim: Fix uninitialized return variable (Torez Smith) [1942772] - usb: typec: tcpci_maxim: Enable auto discharge disconnect (Torez Smith) [1942772] - usb: typec: tcpci: Implement Auto discharge disconnect callbacks (Torez Smith) [1942772] - usb: typec: tcpm: Implement enabling Auto Discharge disconnect support (Torez Smith) [1942772] - usb: typec: tcpci_maxim: Fix vbus stuck on upon diconnecting sink (Torez Smith) [1942772] - usb: typec: tcpci: frs sourcing vbus callback (Torez Smith) [1942772] - usb: typec: tcpm: frs sourcing vbus callback (Torez Smith) [1942772] - usb: typec: tcpm: Refactor logic for new-source-frs-typec-current (Torez Smith) [1942772] - usb: typec: Add number of altmodes partner attr (Torez Smith) [1942772] - usb: pd: Add captive Type C cable type (Torez Smith) [1942772] - USB: apple-mfi-fastcharge: Fix kfree after failed kzalloc (Torez Smith) [1942772] - usb: typec: Remove one bit support for the Thunderbolt rounded/non-rounded cable (Torez Smith) [1942772] - usb: typec: intel_pmc_mux: Configure Thunderbolt cable generation bits (Torez Smith) [1942772] - usb: typec: Correct the bit values for the Thunderbolt rounded/non-rounded cable support (Torez Smith) [1942772] - can: kvaser_usb: kvaser_usb_hydra: Fix KCAN bittiming limits (Torez Smith) [1942772] - cx82310_eth: fix error return code in cx82310_bind() (Torez Smith) [1942772] - usb: typec: qcom-pmic-typec: fix builtin build errors (Torez Smith) [1942772] - can: peak_usb: fix potential integer overflow on shift of a int (Torez Smith) [1942772] - can: mcba_usb: mcba_usb_start_xmit(): first fill skb, then pass to can_put_echo_skb() (Torez Smith) [1942772] - usb: hcd.h: Remove RUN_CONTEXT (Torez Smith) [1942772] - USB: storage: avoid use of uninitialized values in error path (Torez Smith) [1942772] - usb: fix a few cases of -Wfallthrough (Torez Smith) [1942772] - usbnet: switch to core handling of rx/tx byte/packet counters (Torez Smith) [1942772] - qmi_wwan: switch to core handling of rx/tx byte/packet counters (Torez Smith) [1942772] - net: usb: fix spelling typo in cdc_ncm.c (Torez Smith) [1942772] - usb: typec: ucsi: Work around PPM losing change information (Torez Smith) [1942772] - usb: typec: ucsi: acpi: Always decode connector change information (Torez Smith) [1942772] - net/usb/r8153_ecm: support ECM mode for RTL8153 (Torez Smith) [1942772] - USB: serial: mos7720: fix parallel-port state restore (Torez Smith) [1942772] - USB: serial: remove write wait queue (Torez Smith) [1942772] - USB: serial: digi_acceleport: fix write-wakeup deadlocks (Torez Smith) [1942772] - USB: serial: keyspan_pda: drop redundant usb-serial pointer (Torez Smith) [1942772] - USB: serial: keyspan_pda: use BIT() macro (Torez Smith) [1942772] - USB: serial: keyspan_pda: add write-fifo support (Torez Smith) [1942772] - USB: serial: keyspan_pda: increase transmitter threshold (Torez Smith) [1942772] - USB: serial: keyspan_pda: fix write implementation (Torez Smith) [1942772] - USB: serial: keyspan_pda: refactor write-room handling (Torez Smith) [1942772] - USB: serial: keyspan_pda: fix write unthrottling (Torez Smith) [1942772] - USB: serial: keyspan_pda: fix tx-unthrottle use-after-free (Torez Smith) [1942772] - USB: serial: keyspan_pda: fix write-wakeup use-after-free (Torez Smith) [1942772] - USB: serial: keyspan_pda: fix stalled writes (Torez Smith) [1942772] - USB: serial: keyspan_pda: fix write deadlock (Torez Smith) [1942772] - USB: serial: keyspan_pda: fix dropped unthrottle interrupts (Torez Smith) [1942772] - net: usb: r8152: Fix a couple of spelling errors in fw_phy_nc's docs (Torez Smith) [1942772] - net: usb: lan78xx: Remove lots of set but unused 'ret' variables (Torez Smith) [1942772] - net: usb: r8152: Provide missing documentation for some struct members (Torez Smith) [1942772] - can: peak_usb: peak_usb_get_ts_time(): fix timestamp wrapping (Torez Smith) [1942772] - can: peak_usb: add range checking in decode operations (Torez Smith) [1942772] - net: usb: qmi_wwan: add Telit LE910Cx 0x1230 composition (Torez Smith) [1942772] - kcov, usb: only collect coverage from __usb_hcd_giveback_urb in softirq (Torez Smith) [1942772] - dt-bindings: connector: Add property to set initial current cap for FRS (Torez Smith) [1942772] - usb: xhci: Remove in_interrupt() checks (Torez Smith) [1942772] - usbip: Remove in_interrupt() check (Torez Smith) [1942772] - usb: core: Replace in_interrupt() in comments (Torez Smith) [1942772] - usb: atm: Replace in_interrupt() usage in comment (Torez Smith) [1942772] - USB: sisusbvga: Make console support depend on BROKEN (Torez Smith) [1942772] - usb: host: xhci-mem: remove unneeded break (Torez Smith) [1942772] - usb: storage: freecom: remove unneeded break (Torez Smith) [1942772] - usb: misc: iowarrior: remove unneeded break (Torez Smith) [1942772] - usb: host: ehci-sched: add comment about find_tt() not returning error (Torez Smith) [1942772] - usb: dwc3: ep0: Fix delay status handling (Torez Smith) [1942772] - USB: serial: iuu_phoenix: remove unneeded break (Torez Smith) [1942772] - USB: serial: digi_acceleport: remove in_interrupt() usage (Torez Smith) [1942772] - usb: dwc3: pci: add support for the Intel Alder Lake-S (Torez Smith) [1942772] - net: usb: rtl8150: don't incorrectly assign random MAC addresses (Torez Smith) [1942772] - net: usbnet: use new function dev_fetch_sw_netstats (Torez Smith) [1942772] - net: usb: qmi_wwan: use new function dev_fetch_sw_netstats (Torez Smith) [1942772] - cx82310_eth: use netdev_err instead of dev_err (Torez Smith) [1942772] - cx82310_eth: re-enable ethernet mode after router reboot (Torez Smith) [1942772] - net: usbnet: remove driver version (Torez Smith) [1942772] - net: usb: qmi_wwan: add Cellient MPL200 card (Torez Smith) [1942772] - usbip: vhci_hcd: fix calling usb_hcd_giveback_urb() with irqs enabled (Torez Smith) [1942772] - net: usb: rtl8150: set random MAC address when set_ethernet_addr() fails (Torez Smith) [1942772] - usbnet: Use fallthrough pseudo-keyword (Torez Smith) [1942772] - net/smscx5xx: change to of_get_mac_address() eth_platform_get_mac_address() (Torez Smith) [1942772] - net: usb: pegasus: Proper error handing when setting pegasus' MAC address (Torez Smith) [1942772] - usb: dwc3: gadget: Support up to max stream id (Torez Smith) [1942772] - usb: dwc2: Fix INTR OUT transfers in DDMA mode. (Torez Smith) [1942772] - usb: dwc3: of-simple: Add compatible string for Intel Keem Bay platform (Torez Smith) [1942772] - net: rtl8150: Use the new usb control message API. (Torez Smith) [1942772] - net: pegasus: Use the new usb control message API. (Torez Smith) [1942772] - usb: dwc3: gadget: Return early if no TRB update (Torez Smith) [1942772] - usb: dwc3: gadget: Keep TRBs in request order (Torez Smith) [1942772] - usb: dwc3: gadget: Revise setting IOC when no TRB left (Torez Smith) [1942772] - usb: dwc3: gadget: Look ahead when setting IOC (Torez Smith) [1942772] - usb: dwc3: gadget: Allow restarting a transfer (Torez Smith) [1942772] - usb: dwc3: Stop active transfers before halting the controller (Torez Smith) [1942772] - usb: dwc3: gadget: Rename misleading function names (Torez Smith) [1942772] - usb: dwc3: Add splitdisable quirk for Hisilicon Kirin Soc (Torez Smith) [1942772] - usb: dwc3: gadget: Refactor preparing last TRBs (Torez Smith) [1942772] - usb: dwc3: gadget: Set IOC if not enough for extra TRBs (Torez Smith) [1942772] - usb: dwc3: gadget: Check for number of TRBs prepared (Torez Smith) [1942772] - usb: dwc3: gadget: Return the number of prepared TRBs (Torez Smith) [1942772] - usb: dwc3: ep0: Fix ZLP for OUT ep0 requests (Torez Smith) [1942772] - usb: dwc3: gadget: Improve TRB ZLP setup (Torez Smith) [1942772] - usb: dwc3: gadget: Refactor preparing extra TRB (Torez Smith) [1942772] - usb: dwc3: gadget: Reclaim extra TRBs after request completion (Torez Smith) [1942772] - usb: dwc3: gadget: Check MPS of the request length (Torez Smith) [1942772] - usb: dwc3: gadget: Refactor ep command completion (Torez Smith) [1942772] - usb: dwc3: allocate gadget structure dynamically (Torez Smith) [1942772] - usb: dwc3: core: add phy cleanup for probe error handling (Torez Smith) [1942772] - usb: dwc3: core: don't trigger runtime pm when remove driver (Torez Smith) [1942772] - usb: dwc3: debugfs: do not queue work if try to change mode on non-drd (Torez Smith) [1942772] - usb: dwc3: pci: Allow Elkhart Lake to utilize DSM method for PM functionality (Torez Smith) [1942772] - usb: dwc2: add support for APM82181 USB OTG (Torez Smith) [1942772] - usb: dwc-meson-g12a: Add support for USB on AXG SoCs (Torez Smith) [1942772] - usb: dwc3: gadget: fix checkpatch warnings (Torez Smith) [1942772] - usb: dwc3: core: do not queue work if dr_mode is not USB_DR_MODE_OTG (Torez Smith) [1942772] - usb: dwc3: debugfs: fix checkpatch warnings (Torez Smith) [1942772] - usb: dwc3: qcom: fix checkpatch warnings (Torez Smith) [1942772] - usb: dwc3: ep0: fix checkpatch warnings (Torez Smith) [1942772] - usb: dwc3: core: fix checkpatch warnings (Torez Smith) [1942772] - usb: dwc3: debug: fix checkpatch warning (Torez Smith) [1942772] - usb: dwc3: trace: fix checkpatch warnings (Torez Smith) [1942772] - usb: dwc3: ulpi: fix checkpatch warning (Torez Smith) [1942772] - usb: dwc3: meson: fix checkpatch errors and warnings (Torez Smith) [1942772] - usb: dwc3: debug: fix sparse warning (Torez Smith) [1942772] - usb: dwc3: meson: fix coccinelle WARNING (Torez Smith) [1942772] - usb: dwc3: qcom: Add interconnect support in dwc3 driver (Torez Smith) [1942772] - net: usb: net1080: Remove in_interrupt() comment (Torez Smith) [1942772] - net: usb: kaweth: Remove last user of kaweth_control() (Torez Smith) [1942772] - net: usb: kaweth: Replace kaweth_control() with usb_control_msg() (Torez Smith) [1942772] - net: usb: ax88179_178a: add MCT usb 3.0 adapter (Torez Smith) [1942772] - net: usb: ax88179_178a: fix missing stop entry in driver_info (Torez Smith) [1942772] - net: usb: ax88179_178a: add Toshiba usb 3.0 adapter (Torez Smith) [1942772] - Revert "usbip: Implement a match function to fix usbip" (Torez Smith) [1942772] - usb: dwc2: Fix parameter type in function pointer prototype (Torez Smith) [1942772] - usb: dwc3: core: Print warning on unsupported speed (Torez Smith) [1942772] - usb: dwc3: core: Properly default unspecified speed (Torez Smith) [1942772] - usb: dwc2: Add missing cleanups when usb_add_gadget_udc() fails (Torez Smith) [1942772] - usb: dwc3: gadget: END_TRANSFER before CLEAR_STALL command (Torez Smith) [1942772] - usb: dwc3: gadget: Resume pending requests after CLEAR_STALL (Torez Smith) [1942772] - can: peak_usb: convert to use le32_add_cpu() (Torez Smith) [1942772] - can: pcan_usb: add support of rxerr/txerr counters (Torez Smith) [1942772] - can: pcan_usb: Document the commands sent to the device (Torez Smith) [1942772] - can: mcba_usb: remove redundant initialization of variable err (Torez Smith) [1942772] - usb: dwc2: Always disable regulators on driver teardown (Torez Smith) [1942772] - usbip: simplify the return expression of usbip_core_init() (Torez Smith) [1942772] - rndis_host: increase sleep time in the query-response loop (Torez Smith) [1942772] - Revert "usb: dwc3: meson-g12a: fix shared reset control use" (Torez Smith) [1942772] - net: usb: dm9601: Add USB ID of Keenetic Plus DSL (Torez Smith) [1942772] - smsc95xx: add phylib support (Torez Smith) [1942772] - smsc95xx: use usbnet->driver_priv (Torez Smith) [1942772] - smsc95xx: remove redundant function arguments (Torez Smith) [1942772] - net: usb: Fix uninit-was-stored issue in asix_read_phy_addr() (Torez Smith) [1942772] - net: cdc_ncm: Fix build error (Torez Smith) [1942772] - tools: usb: move to tools buildsystem (Torez Smith) [1942772] - usbip: Implement a match function to fix usbip (Torez Smith) [1942772] - usb: dwc3: gadget: Handle ZLP for sg requests (Torez Smith) [1942772] - usb: dwc3: gadget: Fix handling ZLP (Torez Smith) [1942772] - usb: dwc3: gadget: Don't setup more than requested (Torez Smith) [1942772] - r8152: Use MAC address from correct device tree node (Torez Smith) [1942772] - usb: hso: remove bogus check for EINPROGRESS (Torez Smith) [1942772] - usb: hso: no complaint about kmalloc failure (Torez Smith) [1942772] - hso: fix bailout in error case of probe (Torez Smith) [1942772] - usb: dwc3: convert to devm_platform_ioremap_resource_byname (Torez Smith) [1942772] - net: lan78xx: replace bogus endpoint lookup (Torez Smith) [1942772] - net: lan78xx: fix transfer-buffer memory leak (Torez Smith) [1942772] - net: lan78xx: add missing endpoint sanity check (Torez Smith) [1942772] - usb: hso: check for return value in hso_serial_common_create() (Torez Smith) [1942772] - Revert "usb: dwc2: override PHY input signals with usb role switch support" (Torez Smith) [1942772] - Revert "usb: dwc2: don't use ID/Vbus detection if usb-role-switch on STM32MP15 SoCs" (Torez Smith) [1942772] - usb: dwc3: gadget: when the started list is empty stop the active xfer (Torez Smith) [1942772] - usb: dwc3: gadget: make starting isoc transfers more robust (Torez Smith) [1942772] - usb: dwc3: gadget: add frame number mask (Torez Smith) [1942772] - usb: dwc2: Fix error path in gadget registration (Torez Smith) [1942772] - usb: dwc3: meson-g12a: fix shared reset control use (Torez Smith) [1942772] - usb: dwc2: don't use ID/Vbus detection if usb-role-switch on STM32MP15 SoCs (Torez Smith) [1942772] - usb: dwc2: override PHY input signals with usb role switch support (Torez Smith) [1942772] - net: cdc_ncm: hook into set_rx_mode to admit multicast traffic (Torez Smith) [1942772] - net: cdc_ncm: add .ndo_set_rx_mode to cdc_ncm_netdev_ops (Torez Smith) [1942772] - net: usbnet: export usbnet_set_rx_mode() (Torez Smith) [1942772] - net: cdc_ether: export usbnet_cdc_update_filter (Torez Smith) [1942772] - net: cdc_ether: use dev->intf to get interface information (Torez Smith) [1942772] - ax88172a: fix ax88172a_unbind() failures (Torez Smith) [1942772] - usb: dwc2: gadget: Avoid pointless read of EP control register (Torez Smith) [1942772] - usb: dwc2: gadget: Make use of GINTMSK2 (Torez Smith) [1942772] - usb: dwc3: Replace HTTP links with HTTPS ones (Torez Smith) [1942772] - tools: usb: usbip: Replace HTTP links with HTTPS ones (Torez Smith) [1942772] - usb: hso: Fix debug compile warning on sparc32 (Torez Smith) [1942772] - usbip: Use fallthrough pseudo-keyword (Torez Smith) [1942772] - Documentation/driver-api: usb/URB: drop doubled word (Torez Smith) [1942772] - usb: dwc3: dwc3-qcom: Do not define 'struct acpi_device_id' when !CONFIG_ACPI (Torez Smith) [1942772] - usb: dwc3: pci: add support for the Intel Jasper Lake (Torez Smith) [1942772] - usb: dwc2: Fix shutdown callback in platform (Torez Smith) [1942772] - usb: dwc3: pci: add support for the Intel Tiger Lake PCH -H variant (Torez Smith) [1942772] - net: usb: qmi_wwan: add support for Quectel EG95 LTE modem (Torez Smith) [1942772] - smsc95xx: avoid memory leak in smsc95xx_bind (Torez Smith) [1942772] - smsc95xx: check return value of smsc95xx_reset (Torez Smith) [1942772] - usb: dwc2: gadget: Remove assigned but never used 'maxsize' (Torez Smith) [1942772] - usb: dwc3: dwc3-of-simple: Function headers are not good candidates for kerneldoc (Torez Smith) [1942772] - usb: dwc3: dwc3-haps: Function headers are not suitable for kerneldoc (Torez Smith) [1942772] - usb: dwc3: dwc3-omap: Do not read DMA status (Torez Smith) [1942772] - usb: dwc3: ulpi: File headers are not doc headers (Torez Smith) [1942772] - usb: dwc3: drd: File headers are not doc headers (Torez Smith) [1942772] - usbnet: ipheth: fix ipheth_tx()'s return type (Torez Smith) [1942772] - usbip: tools: add in man page how to load the client's module (Torez Smith) [1942772] - usbip: tools: fix build error for multiple definition (Torez Smith) [1942772] - usbip: tools: fix module name in man page (Torez Smith) [1942772] - Revert "usb: dwc3: exynos: Add support for Exynos5422 suspend clk" (Torez Smith) [1942772] - usb: dwc3: pci: Fix reference count leak in dwc3_pci_resume_work (Torez Smith) [1942772] - media: USB: cdc-acm: blacklist IR Droid / IR Toy device (Torez Smith) [1942772] - usbnet: smsc95xx: Fix use-after-free after removal (Torez Smith) [1942772] - usb: dwc2: Postponed gadget registration to the udc class driver (Torez Smith) [1942772] - usb: dwc2: use well defined macros for power_down (Torez Smith) [1942772] - net: usb: ax88179_178a: fix packet alignment padding (Torez Smith) [1942772] - usb: dwc3: meson-g12a: fix USB2 PHY initialization on G12A and A1 SoCs (Torez Smith) [1942772] - usb: dwc3: meson-g12a: fix error path when fetching the reset line fails (Torez Smith) [1942772] - net: usb: qmi_wwan: add Telit LE910C1-EUX composition (Torez Smith) [1942772] - usb: dwc3: keystone: Turn on USB3 PHY before controller (Torez Smith) [1942772] - usb: dwc2: Update Core Reset programming flow. (Torez Smith) [1942772] - usb: dwc3: gadget: Check for prepared TRBs (Torez Smith) [1942772] - usb: dwc3: Increase timeout for CmdAct cleared by device controller (Torez Smith) [1942772] - usb: dwc3: gadget: Use SET_EP_PRIME for NoStream (Torez Smith) [1942772] - usb: dwc3: gadget: Handle stream transfers (Torez Smith) [1942772] - usb: dwc3: gadget: Don't prepare beyond a transfer (Torez Smith) [1942772] - usb: dwc3: gadget: Wait for transfer completion (Torez Smith) [1942772] - usb: dwc3: gadget: Handle XferComplete for streams (Torez Smith) [1942772] - usb: dwc3: gadget: Enable XferComplete event (Torez Smith) [1942772] - usb: dwc3: gadget: Refactor TRB completion handler (Torez Smith) [1942772] - usb: dwc3: gadget: Check for in-progress END_TRANSFER (Torez Smith) [1942772] - usb: dwc3: Get MDWIDTH for DWC_usb32 (Torez Smith) [1942772] - usb: dwc3: Add support for DWC_usb32 IP (Torez Smith) [1942772] - usb: dwc3: use true,false for dwc->otg_restart_host (Torez Smith) [1942772] - usb: dwc2: gadget: move gadget resume after the core is in L0 state (Torez Smith) [1942772] - usb: dwc3: meson-g12a: add support for GXL and GXM SoCs (Torez Smith) [1942772] - usb: dwc3: meson-g12a: support the GXL/GXM DWC3 host phy disconnect (Torez Smith) [1942772] - usb: dwc3: meson-g12a: refactor usb init (Torez Smith) [1942772] - usb: dwc3: gadget: Continue to process pending requests (Torez Smith) [1942772] - r8152: support additional Microsoft Surface Ethernet Adapter variant (Torez Smith) [1942772] - r8152: Use MAC address from device tree if available (Torez Smith) [1942772] - net: usb: qmi_wwan: remove redundant assignment to variable status (Torez Smith) [1942772] - net: huawei_cdc_ncm: remove redundant assignment to variable ret (Torez Smith) [1942772] - net: usb: ax88179_178a: remove redundant assignment to variable ret (Torez Smith) [1942772] - usb: dwc3: select USB_ROLE_SWITCH (Torez Smith) [1942772] - usb: dwc3: pci: Enable extcon driver for Intel Merrifield (Torez Smith) [1942772] - dwc3: Remove check for HWO flag in dwc3_gadget_ep_reclaim_trb_sg() (Torez Smith) [1942772] - usb: hso: correct debug message (Torez Smith) [1942772] - net: sierra_net: Remove unused inline function (Torez Smith) [1942772] - usb: dwc3: gadget: WARN on no-resource status (Torez Smith) [1942772] - usb: dwc3: gadget: Issue END_TRANSFER to retry isoc transfer (Torez Smith) [1942772] - usb: dwc3: gadget: Store resource index of start cmd (Torez Smith) [1942772] - usb: dwc3: core: Use role-switch default dr_mode (Torez Smith) [1942772] - usb: dwc3: drd: Don't free non-existing irq (Torez Smith) [1942772] - usb: dwc3: gadget: Properly handle failed kick_transfer (Torez Smith) [1942772] - usb: dwc3: meson-g12a: refactor usb2 phy init (Torez Smith) [1942772] - usb: dwc3: meson-g12a: check return of dwc3_meson_g12a_usb_init (Torez Smith) [1942772] - usb: dwc3: meson-g12a: get the reset as shared (Torez Smith) [1942772] - usb: dwc3: meson-g12a: handle the phy and glue registers separately (Torez Smith) [1942772] - usb: dwc3: meson-g12a: specify phy names in soc data (Torez Smith) [1942772] - usb: dwc3: gadget: Refactor dwc3_gadget_ep_dequeue (Torez Smith) [1942772] - usb: dwc3: gadget: Remove unnecessary checks (Torez Smith) [1942772] - usb: dwc3: gadget: Give back staled requests (Torez Smith) [1942772] - usb: dwc3: gadget: Properly handle ClearFeature(halt) (Torez Smith) [1942772] - usb: dwc3: support continuous runtime PM with dual role (Torez Smith) [1942772] - USB: dwc3: Use the correct style for SPDX License Identifier (Torez Smith) [1942772] - net: usb: qmi_wwan: add support for DW5816e (Torez Smith) [1942772] - net: usb: ax88179_178a: Implement ethtool_ops set_eeprom (Torez Smith) [1942772] - usb: dwc3: gadget: Fix request completion check (Torez Smith) [1942772] - USB: dwc2: Use the correct style for SPDX License Identifier (Torez Smith) [1942772] - usb: dwc3: gadget: Do link recovery for SS and SSP (Torez Smith) [1942772] - usb: dwc3: gadget: Properly set maxpacket limit (Torez Smith) [1942772] - usb: dwc3: Fix GTXFIFOSIZ.TXFDEP macro name (Torez Smith) [1942772] - Documentation: driver-api/usb/writing_usb_driver.rst Updates documentation links (Torez Smith) [1942772] - pegasus: Remove pegasus' own workqueue (Torez Smith) [1942772] - usb: dwc2: convert to devm_platform_get_and_ioremap_resource (Torez Smith) [1942772] - usb: host: hisilicon: convert to devm_platform_get_and_ioremap_resource (Torez Smith) [1942772] - usb: host: xhci-plat: convert to devm_platform_get_and_ioremap_resource (Torez Smith) [1942772] - net: qmi_wwan: add support for ASKEY WWHC050 (Torez Smith) [1942772] - usb: dwc3: fix up for role switch API change (Torez Smith) [1942772] - usb: dwc2: Silence warning about supplies during deferred probe (Torez Smith) [1942772] - usb: dwc2: Implement set_selfpowered() (Torez Smith) [1942772] - usb: dwc3: core: don't do suspend for device mode if already suspended (Torez Smith) [1942772] - usb: dwc3: Rework resets initialization to be more flexible (Torez Smith) [1942772] - usb: dwc3: Rework clock initialization to be more flexible (Torez Smith) [1942772] - usb: dwc3: Add support for role-switch-default-mode binding (Torez Smith) [1942772] - usb: dwc3: Registering a role switch in the DRD code. (Torez Smith) [1942772] - usb: dwc3: core: add support for disabling SS instances in park mode (Torez Smith) [1942772] - usb: dwc3: gadget: Wrap around when skip TRBs (Torez Smith) [1942772] - usb: dwc3: gadget: Don't clear flags before transfer ended (Torez Smith) [1942772] - usb: dwc3: Remove kernel doc annotation where it's not needed (Torez Smith) [1942772] - usb: dwc3: Add ACPI support for xHCI ports (Torez Smith) [1942772] - usb: dwc3: exynos: Add support for Exynos5422 suspend clk (Torez Smith) [1942772] - usb: dwc3: meson-g12a: Don't use ret uninitialized in dwc3_meson_g12a_otg_init (Torez Smith) [1942772] - usb: dwc3: trace: print enqueue/dequeue pointers too (Torez Smith) [1942772] - usb: dwc2: add support for STM32MP15 SoCs USB OTG HS and FS (Torez Smith) [1942772] - usb: dwc3: Add Amlogic A1 DWC3 glue (Torez Smith) [1942772] - cdc_ncm: Fix the build warning (Torez Smith) [1942772] - cdc_ncm: Implement the 32-bit version of NCM Transfer Block (Torez Smith) [1942772] - r8152: reject unsupported coalescing params (Torez Smith) [1942772] - usb: dwc3: gadget: Update chain bit correctly when using sg list (Torez Smith) [1942772] - r8152: Replace zero-length array with flexible-array member (Torez Smith) [1942772] - r8152: check disconnect status after long sleep (Torez Smith) [1942772] - net: usb: qmi_wwan: restore mtu min/max values after raw_ip switch (Torez Smith) [1942772] - USB: Replace zero-length array with flexible-array member (Torez Smith) [1942772] - r8152: use new helper tcp_v6_gso_csum_prep (Torez Smith) [1942772] - net: usb: cdc-phonet: Replace zero-length array with flexible-array member (Torez Smith) [1942772] - usb: dwc3: qcom: Replace by (Torez Smith) [1942772] - usb: dwc3: gadget: Check for IOC/LST bit in TRB->ctrl fields (Torez Smith) [1942772] - usb: dwc2: Fix in ISOC request length checking (Torez Smith) [1942772] - usb: dwc2: Fix SET/CLEAR_FEATURE and GET_STATUS flows (Torez Smith) [1942772] - usb: dwc3: debug: fix string position formatting mixup with ret and len (Torez Smith) [1942772] - qmi_wwan: unconditionally reject 2 ep interfaces (Torez Smith) [1942772] - qmi_wwan: re-add DW5821e pre-production variant (Torez Smith) [1942772] - r8152: Add MAC passthrough support to new device (Torez Smith) [1942772] - r8152: disable DelayPhyPwrChg (Torez Smith) [1942772] - r8152: avoid the MCU to clear the lanwake (Torez Smith) [1942772] - r8152: don't enable U1U2 with USB_SPEED_HIGH for RTL8153B (Torez Smith) [1942772] - r8152: disable test IO for RTL8153B (Torez Smith) [1942772] - r8152: Disable PLA MCU clock speed down (Torez Smith) [1942772] - r8152: disable U2P3 for RTL8153B (Torez Smith) [1942772] - r8152: get default setting of WOL before initializing (Torez Smith) [1942772] - r8152: reset flow control patch when linking on for RTL8153B (Torez Smith) [1942772] - r8152: fix runtime resume for linking change (Torez Smith) [1942772] - usb: dwc3: pci: add ID for the Intel Comet Lake -V variant (Torez Smith) [1942772] - net: usb: lan78xx: Add .ndo_features_check (Torez Smith) [1942772] - usb: dwc2: Drop unlock/lock upon queueing a work item (Torez Smith) [1942772] - usb: dwc3: gadget: Remove END_TRANSFER delay (Torez Smith) [1942772] - usb: dwc3: gadget: Delay starting transfer (Torez Smith) [1942772] - usb: dwc3: gadget: Check END_TRANSFER completion (Torez Smith) [1942772] - usb: dwc3: turn off VBUS when leaving host mode (Torez Smith) [1942772] - usb: dwc2: fix debugfs FIFO count (Torez Smith) [1942772] - usb: dwc2: Fix IN FIFO allocation (Torez Smith) [1942772] - usb: dwc2: Fix Stalling a Non-Isochronous OUT EP (Torez Smith) [1942772] - usb: dwc3: gadget: Clear DCTL.ULSTCHNGREQ before set (Torez Smith) [1942772] - usb: dwc2: Fix NULL qh in dwc2_queue_transaction (Torez Smith) [1942772] - usb: dwc3: gadget: Set link state to RX_Detect on disconnect (Torez Smith) [1942772] - usb: dwc3: gadget: Don't send unintended link state change (Torez Smith) [1942772] - r8152: add missing endpoint sanity check (Torez Smith) [1942772] - net: usb: lan78xx: limit size of local TSO packets (Torez Smith) [1942772] - qmi_wwan: Add support for Quectel RM500Q (Torez Smith) [1942772] - usbip: Fix unsafe unaligned pointer usage (Torez Smith) [1942772] - usb: dwc3: use proper initializers for property entries (Torez Smith) [1942772] - net: r8152: use skb_list_walk_safe helper for gso segments (Torez Smith) [1942772] - net: usb: lan78xx: fix possible skb leak (Torez Smith) [1942772] - net: ch9200: remove unnecessary return (Torez Smith) [1942772] - net: ch9200: use __func__ in debug message (Torez Smith) [1942772] - tools: usb: usbip: Get rid of driver name printout in README (Torez Smith) [1942772] - can: gs_usb: gs_usb_probe(): use descriptors of current altsetting (Torez Smith) [1942772] - can: kvaser_usb: fix interface sanity check (Torez Smith) [1942772] - usb: dwc3: gadget: Fix request complete check (Torez Smith) [1942772] - thunderbolt: Update documentation with the USB4 information (Torez Smith) [1942772] - usbip: Fix error path of vhci_recv_ret_submit() (Torez Smith) [1942772] - usbip: Fix receive error in vhci-hcd when using scatter-gather (Torez Smith) [1942772] - net: usb: lan78xx: Fix error message format specifier (Torez Smith) [1942772] - net: usb: lan78xx: Fix suspend/resume PHY register access error (Torez Smith) [1942772] - usb: dwc3: pci: add ID for the Intel Comet Lake -H variant (Torez Smith) [1942772] - usb: dwc3: ep0: Clear started flag on completion (Torez Smith) [1942772] - usb: dwc3: gadget: Clear started flag for non-IOC (Torez Smith) [1942772] - usb: dwc3: gadget: Fix logical condition (Torez Smith) [1942772] - can: kvaser_usb: kvaser_usb_leaf: Fix some info-leaks to USB devices (Torez Smith) [1942772] - can: ucan: fix non-atomic allocation in completion handler (Torez Smith) [1942772] - net: usb: aqc111: Use the correct style for SPDX License Identifier (Torez Smith) [1942772] - net: usbnet: Fix -Wcast-function-type (Torez Smith) [1942772] - net: hso: Fix -Wcast-function-type (Torez Smith) [1942772] - ax88179_178a: add ethtool_op_get_ts_info() (Torez Smith) [1942772] - r8152: avoid to call napi_disable twice (Torez Smith) [1942772] - r8152: Re-order napi_disable in rtl8152_close (Torez Smith) [1942772] - ax88172a: fix information leak on short answers (Torez Smith) [1942772] - usb: dwc2: create debugfs directory under usb root (Torez Smith) [1942772] - usb: dwc3: create debugfs directory under usb root (Torez Smith) [1942772] - net: cdc_ncm: Signedness bug in cdc_ncm_set_dgram_size() (Torez Smith) [1942772] - net: usb: qmi_wwan: add support for Foxconn T77W968 LTE modules (Torez Smith) [1942772] - usbip: Fix uninitialized symbol 'nents' in stub_recv_cmd_submit() (Torez Smith) [1942772] - USBIP: add config dependency for SGL_ALLOC (Torez Smith) [1942772] - net: usb: qmi_wwan: add support for DW5821e with eSIM support (Torez Smith) [1942772] - CDC-NCM: handle incomplete transfer of MTU (Torez Smith) [1942772] - usbip: tools: fix fd leakage in the function of read_attr_usbip_status (Torez Smith) [1942772] - can: peak_usb: fix a potential out-of-sync while decoding packets (Torez Smith) [1942772] - can: usb_8dev: fix use-after-free on disconnect (Torez Smith) [1942772] - can: mcba_usb: fix use-after-free on disconnect (Torez Smith) [1942772] - can: peak_usb: report bus recovery as well (Torez Smith) [1942772] - can: gs_usb: gs_can_open(): prevent memory leak (Torez Smith) [1942772] - usb: Spelling s/enpoint/endpoint/ (Torez Smith) [1942772] - usb: dwc3: gadget: fix race when disabling ep with cancelled xfers (Torez Smith) [1942772] - usb: dwc3: of-simple: add a shutdown (Torez Smith) [1942772] - usbip: Fix free of unallocated memory in vhci tx (Torez Smith) [1942772] - usbip: tools: Fix read_usb_vudc_device() error path handling (Torez Smith) [1942772] - usb: dwc3: pci: prevent memory leak in dwc3_pci_probe (Torez Smith) [1942772] - usb: dwc3: remove the call trace of USBx_GFLADJ (Torez Smith) [1942772] - usb: dwc3: select CONFIG_REGMAP_MMIO (Torez Smith) [1942772] - r8152: check the pointer rtl_fw->fw before using it (Torez Smith) [1942772] - net: lan78xx: remove set but not used variable 'event' (Torez Smith) [1942772] - usb: dwc3: debug: Remove newline printout (Torez Smith) [1942772] - r8152: support firmware of PHY NC for RTL8153A (Torez Smith) [1942772] - r8152: move r8153_patch_request forward (Torez Smith) [1942772] - r8152: add checking fw_offset field of struct fw_mac (Torez Smith) [1942772] - r8152: rename fw_type_1 with fw_mac (Torez Smith) [1942772] - usb: dwc2: use a longer core rest timeout in dwc2_core_reset() (Torez Smith) [1942772] - usb: dwc3: Disable phy suspend after power-on reset (Torez Smith) [1942772] - r8152: add device id for Lenovo ThinkPad USB-C Dock Gen 2 (Torez Smith) [1942772] - net: usb: lan78xx: Connect PHY before registering MAC (Torez Smith) [1942772] - usb: hso: obey DMA rules in tiocmget (Torez Smith) [1942772] - r8152: support request_firmware for RTL8153 (Torez Smith) [1942772] - net: usb: sr9800: fix uninitialized local variable (Torez Smith) [1942772] - net: usb: ax88179_178a: write mac to hardware in get_mac_addr (Torez Smith) [1942772] - net: usb: qmi_wwan: add Telit 0x1050 composition (Torez Smith) [1942772] - usb: dwc3: Remove dev_err() on platform_get_irq() failure (Torez Smith) [1942772] - usb: dwc3: Switch to platform_get_irq_byname_optional() (Torez Smith) [1942772] - r8152: Set macpassthru in reset_resume callback (Torez Smith) [1942772] - qmi_wwan: add support for Cinterion CLS8 devices (Torez Smith) [1942772] - usbip: clean up an indentation issue (Torez Smith) [1942772] - usbip: vhci_hcd indicate failed message (Torez Smith) [1942772] - r8152: Add identifier names for function pointers (Torez Smith) [1942772] - r8152: Use guard clause and fix comment typos (Torez Smith) [1942772] - hso: fix NULL-deref on tty open (Torez Smith) [1942772] - net: usb: ax88179_178a: allow optionally getting mac address from device tree (Torez Smith) [1942772] - r8152: Factor out OOB link list waits (Torez Smith) [1942772] - usbnet: ignore endpoints with invalid wMaxPacketSize (Torez Smith) [1942772] - cdc_ncm: fix divide-by-zero caused by invalid wMaxPacketSize (Torez Smith) [1942772] - usbnet: sanity checking of packet sizes and device mtu (Torez Smith) [1942772] - r8152: adjust the settings of ups flags (Torez Smith) [1942772] - r8152: modify rtl8152_set_speed function (Torez Smith) [1942772] - usb: dwc3: remove generic PHY calibrate() calls (Torez Smith) [1942772] - usb: gadget: net2280: Move all "ll" registers in one structure (Torez Smith) [1942772] - usb: dwc3: gadget: Workaround Mirosoft's BESL check (Torez Smith) [1942772] - usb: dwc3: meson-g12a: fix suspend resume regulator unbalanced disables (Torez Smith) [1942772] - usb: gadget: composite: Set recommended BESL values (Torez Smith) [1942772] - usb: dwc3: gadget: Set BESL config parameter (Torez Smith) [1942772] - usb: dwc3: Separate field holding multiple properties (Torez Smith) [1942772] - usb: dwc3: don't set gadget->is_otg flag (Torez Smith) [1942772] - usb: dwc3: st: Add of_dev_put() in probe function (Torez Smith) [1942772] - usb: dwc3: st: Add of_node_put() before return in probe function (Torez Smith) [1942772] - r8152: add a helper function about setting EEE (Torez Smith) [1942772] - r8152: saving the settings of EEE (Torez Smith) [1942772] - net: usb: Delete unnecessary checks before the macro call “dev_kfree_skb” (Torez Smith) [1942772] - r8152: divide the tx and rx bottom functions (Torez Smith) [1942772] - r8152: fix accessing skb after napi_gro_receive (Torez Smith) [1942772] - r8152: change rx_copybreak and rx_pending through ethtool (Torez Smith) [1942772] - r8152: support skb_add_rx_frag (Torez Smith) [1942772] - r8152: use alloc_pages for rx buffer (Torez Smith) [1942772] - r8152: replace array with linking list for rx information (Torez Smith) [1942772] - r8152: separate the rx buffer size (Torez Smith) [1942772] - usb: dwc3: Use clk_bulk_prepare_enable() (Torez Smith) [1942772] - usb: dwc3: Use devres to get clocks (Torez Smith) [1942772] - usb: dwc3: remove generic PHYs forwarding for XHCI device (Torez Smith) [1942772] - USB: usbip: convert to use dev_groups (Torez Smith) [1942772] - usb: dwc3: Update soft-reset wait polling rate (Torez Smith) [1942772] - usb: dwc2: gadget: Fix kill_all_requests race (Torez Smith) [1942772] - usb: dwc3: omap: use devm_platform_ioremap_resource() to simplify code (Torez Smith) [1942772] - usb: dwc3: keystone: use devm_platform_ioremap_resource() to simplify code (Torez Smith) [1942772] - usb: dwc3: omap: squash include/linux/platform_data/dwc3-omap.h (Torez Smith) [1942772] - usb: dwc3: meson-g12a: use devm_platform_ioremap_resource() to simplify code (Torez Smith) [1942772] - usbip: tools: fix GCC8 warning for strncpy (Torez Smith) [1942772] - usb: dwc3: Switch to use device_property_count_u32() (Torez Smith) [1942772] - usb: dwc2: Switch to use device_property_count_u32() (Torez Smith) [1942772] - can: kvaser_usb: Use struct_size() in alloc_candev() (Torez Smith) [1942772] - net: usb: Merge cpu_to_le32s + memcpy to put_unaligned_le32 (Torez Smith) [1942772] - ax88179_178a: Merge memcpy + le32_to_cpus to get_unaligned_le32 (Torez Smith) [1942772] - usbnet: smsc75xx: Merge memcpy + le32_to_cpus to get_unaligned_le32 (Torez Smith) [1942772] - net: lan78xx: Merge memcpy + lexx_to_cpus to get_unaligned_lexx (Torez Smith) [1942772] - bluetooth: eliminate the potential race condition when removing the HCI controller (Gopal Tiwari) [1971488]- bareudp: add NETIF_F_FRAGLIST flag for dev features (Paolo Abeni) [1977850] - vxlan: add NETIF_F_FRAGLIST flag for dev features (Paolo Abeni) [1977850] - geneve: add NETIF_F_FRAGLIST flag for dev features (Paolo Abeni) [1977850] - RDMA/siw: Release xarray entry (Kamal Heib) [1971483] - RDMA/siw: Properly check send and receive CQ pointers (Kamal Heib) [1971483] - RDMA/siw: Fix a use after free in siw_alloc_mr (Kamal Heib) [1971483] - RDMA/rxe: Clear all QP fields if creation failed (Kamal Heib) [1971483] - RDMA/rxe: Fix a bug in rxe_fill_ip_info() (Kamal Heib) [1971483] - RDMA/rxe: Remove rxe_dma_device declaration (Kamal Heib) [1971483] - IB/hfi1: Fix error return code in parse_platform_config() (Kamal Heib) [1971483] - IB/hfi1: Remove unused function (Kamal Heib) [1971483] - RDMA/srpt: Fix error return code in srpt_cm_req_recv() (Kamal Heib) [1971483] - IB/isert: Fix a use after free in isert_connect_request (Kamal Heib) [1971483] - RDMA: Verify port when creating flow rule (Kamal Heib) [1971483] - RDMA/uverbs: Fix a NULL vs IS_ERR() bug (Kamal Heib) [1971483] - RDMA/core: Don't access cm_id after its destruction (Kamal Heib) [1971483] - RDMA/core: Prevent divide-by-zero error triggered by the user (Kamal Heib) [1971483] - RDMA/core: Add CM to restrack after successful attachment to a device (Kamal Heib) [1971483] - RDMA/core: Unify RoCE check and re-factor code (Kamal Heib) [1971483] - RDMA/core: Fix corrupted SL on passive side (Kamal Heib) [1971483] - mm: vmalloc: add cond_resched() in __vunmap() (Rafael Aquini) [1978469] - /proc/PID/smaps: Add PMD migration entry parsing (Nico Pache) [1977066] - s390: add 3f program exception handler (Nico Pache) [1977066] - x86/ioremap: Fix CONFIG_EFI=n build (Nico Pache) [1977066] - mm, slub: move slub_debug static key enabling outside slab_mutex (Nico Pache) [1977066] - mm, slub: enable slub_debug static key when creating cache with explicit debug flags (Nico Pache) [1977066] - locking/mutex: Remove repeated declaration (Nico Pache) [1977066] - percpu: make pcpu_nr_empty_pop_pages per chunk type (Nico Pache) [1977066] - mm/swap: don't SetPageWorkingset unconditionally during swapin (Nico Pache) [1977066] - s390/tlb: make cleared_pXs flags consistent with generic code (Nico Pache) [1977066] - mm, compaction: make fast_isolate_freepages() stay within zone (Nico Pache) [1977066] - mm/vmscan: restore zone_reclaim_mode ABI (Nico Pache) [1977066] - mm, compaction: move high_pfn to the for loop scope (Nico Pache) [1977066] - memblock: do not start bottom-up allocations with kernel_end (Nico Pache) [1977066] - mm, page_alloc: disable pcplists during memory offline (Nico Pache) [1977066] - mm, page_alloc: move draining pcplists to page isolation users (Nico Pache) [1977066] - mm, page_alloc: cache pageset high and batch in struct zone (Nico Pache) [1977066] - mm, page_alloc: simplify pageset_update() (Nico Pache) [1977066] - mm, page_alloc: fix core hung in free_pcppages_bulk() (Nico Pache) [1977066] - mm, page_alloc: remove setup_pageset() (Nico Pache) [1977066] - mm, page_alloc: calculate pageset high and batch once per zone (Nico Pache) [1977066] - mm, pcp: share common code between memory hotplug and percpu sysctl handler (Nico Pache) [1977066] - mm, page_alloc: clean up pageset high and batch update (Nico Pache) [1977066] - s390/uv: handle destroy page legacy interface (Nico Pache) [1977066] - mm/filemap: fix filemap_map_pages for THP (Nico Pache) [1977066] - mm: filemap: add missing FGP_ flags in kerneldoc comment for pagecache_get_page (Nico Pache) [1977066] - mm/filemap.c: rewrite pagecache_get_page documentation (Nico Pache) [1977066] - mm: filemap: clear idle flag for writes (Nico Pache) [1977066] - mm: document semantics of ZONE_MOVABLE (Nico Pache) [1977066] - mm/page_isolation: cleanup set_migratetype_isolate() (Nico Pache) [1977066] - mm/page_isolation: drop WARN_ON_ONCE() in set_migratetype_isolate() (Nico Pache) [1977066] - mm/page_isolation: exit early when pageblock is isolated in set_migratetype_isolate() (Nico Pache) [1977066] - mm/page_alloc: tweak comments in has_unmovable_pages() (Nico Pache) [1977066] - mm: reuse only-pte-mapped KSM page in do_wp_page() (Nico Pache) [1977066] - mm/memory.c: skip spurious TLB flush for retried page fault (Nico Pache) [1977066] - /proc/PID/smaps: consistent whitespace output format (Nico Pache) [1977066] - mm/memcontrol.c: prevent missed memory.low load tears (Nico Pache) [1977066] - mm, memcg: prevent mem_cgroup_protected store tearing (Nico Pache) [1977066] - mm, memcg: prevent memory.min load/store tearing (Nico Pache) [1977066] - mm, mempolicy: fix up gup usage in lookup_node (Nico Pache) [1977066] - mm/page_ext.c: drop pfn_present() check when onlining (Nico Pache) [1977066] - drivers/base/memory.c: drop pages_correctly_probed() (Nico Pache) [1977066] - drivers/base/memory.c: drop section_count (Nico Pache) [1977066] - include/linux/mm.h: remove dead code totalram_pages_set() (Nico Pache) [1977066] - tools headers uapi: Sync asm-generic/mman-common.h with the kernel (Nico Pache) [1977066] - mm/memcg: Relocate tcpmem to below memory in struct mem_cgroup (Waiman Long) [1959772] - mm/memcg: optimize user context object stock access (Waiman Long) [1959772] - mm/memcg: improve refill_obj_stock() performance (Waiman Long) [1959772] - mm/memcg: cache vmstat data in percpu memcg_stock_pcp (Waiman Long) [1959772] - mm/memcg: move mod_objcg_state() to memcontrol.c (Waiman Long) [1959772] - mm: memcontrol: move PageMemcgKmem to the scope of CONFIG_MEMCG_KMEM (Waiman Long) [1959772] - mm: memcontrol: inline __memcg_kmem_{un}charge() into obj_cgroup_{un}charge_pages() (Waiman Long) [1959772] - mm: memcontrol: use obj_cgroup APIs to charge kmem pages (Waiman Long) [1959772] - mm: memcontrol: change ug->dummy_page only if memcg changed (Waiman Long) [1959772] - mm: memcontrol: directly access page->memcg_data in mm/page_alloc.c (Waiman Long) [1959772] - mm: memcontrol: introduce obj_cgroup_{un}charge_pages (Waiman Long) [1959772] - mm: memcontrol: slab: fix obtain a reference to a freeing memcg (Waiman Long) [1959772] - mm: memmap defer init doesn't work as expected (Baoquan He) [1906271] - mm: check nr_initialised with PAGES_PER_SECTION directly in defer_init() (Baoquan He) [1906271] - mm/memory_hotplug: mark pageblocks MIGRATE_ISOLATE while onlining memory (Baoquan He) [1906271] - mm, memory_hotplug: update pcp lists everytime onlining a memory block (Baoquan He) [1906271] - mm: pass migratetype into memmap_init_zone() and move_pfn_range_to_zone() (Baoquan He) [1906271] - nfs: account for selinux security context when deciding to share superblock (Scott Mayhew) [1927027] - nfs: remove unneeded null check in nfs_fill_super() (Scott Mayhew) [1927027] - lsm,selinux: add new hook to compare new mount to an existing mount (Scott Mayhew) [1927027] - libceph: allow addrvecs with a single NONE/blank address (Jeff Layton) [1972278] - scsi: megaraid_sas: Update driver version to 07.717.02.00-rc1 (Tomas Henzl) [1968170] - scsi: megaraid_sas: Handle missing interrupts while re-enabling IRQs (Tomas Henzl) [1968170] - scsi: megaraid_sas: Early detection of VD deletion through RaidMap update (Tomas Henzl) [1968170] - scsi: megaraid_sas: Fix resource leak in case of probe failure (Tomas Henzl) [1968170] - scsi: megaraid_sas: Send all non-RW I/Os for TYPE_ENCLOSURE device through firmware (Tomas Henzl) [1968170] - scsi: megaraid_sas: Use DEFINE_SPINLOCK() for spinlock (Tomas Henzl) [1968170] - scsi: scsi_devinfo: Add blacklist entry for HPE OPEN-V (Ewan D. Milne) [1927508] - drivers: do not build devm_platform_get_and_ioremap_resource() for s390x (Jaroslav Kysela) [1917388] - redhat: update ALSA configs and add regmap-sdw-mbq to redhat/filter-modules.sh (Jaroslav Kysela) [1917388] - ASoC: soc-pcm: fix the return value in dpcm_apply_symmetry() (Jaroslav Kysela) [1917388] - alsa: control_led - fix initialization in the mode show callback (Jaroslav Kysela) [1917388] - ALSA: seq: Fix race of snd_seq_timer_open() (Jaroslav Kysela) [1917388] - ALSA: hda/realtek: fix mute/micmute LEDs for HP ZBook Power G8 (Jaroslav Kysela) [1917388] - ALSA: hda/realtek: headphone and mic don't work on an Acer laptop (Jaroslav Kysela) [1917388] - ALSA: firewire-lib: fix the context to call snd_pcm_stop_xrun() (Jaroslav Kysela) [1917388] - ALSA: hda/realtek: fix mute/micmute LEDs for HP EliteBook 840 Aero G8 (Jaroslav Kysela) [1917388] - ALSA: hda/realtek: fix mute/micmute LEDs and speaker for HP EliteBook x360 1040 G8 (Jaroslav Kysela) [1917388] - ALSA: hda/realtek: fix mute/micmute LEDs and speaker for HP Elite Dragonfly G2 (Jaroslav Kysela) [1917388] - ASoC: rt5682: Fix the fast discharge for headset unplugging in soundwire mode (Jaroslav Kysela) [1917388] - ASoC: tas2562: Fix TDM_CFG0_SAMPRATE values (Jaroslav Kysela) [1917388] - ASoC: AMD Renoir: Remove fix for DMI entry on Lenovo 2020 platforms (Jaroslav Kysela) [1917388] - ASoC: AMD Renoir - add DMI entry for Lenovo 2020 AMD platforms (Jaroslav Kysela) [1917388] - ASoC: SOF: reset enabled_cores state at suspend (Jaroslav Kysela) [1917388] - ASoC: fsl-asoc-card: Set .owner attribute when registering card. (Jaroslav Kysela) [1917388] - ASoC: topology: Fix spelling mistake "vesion" -> "version" (Jaroslav Kysela) [1917388] - ASoC: rt5659: Fix the lost powers for the HDA header (Jaroslav Kysela) [1917388] - ASoC: core: Fix Null-point-dereference in fmt_single_name() (Jaroslav Kysela) [1917388] - spi: pxa2xx: Drop useless comment in the pxa2xx_ssp.h (Jaroslav Kysela) [1917388] - spi: pxa2xx: Switch to use BIT() and GENMASK() in pxa2xx_ssp.h (Jaroslav Kysela) [1917388] - spi: pxa2xx: Update header block in pxa2xx_ssp.h (Jaroslav Kysela) [1917388] - spi: pxa2xx: Add SSC2 and SSPSP2 SSP registers (Jaroslav Kysela) [1917388] - ASoC: pxa: sync parameter naming (rate/sample_bits) (Jaroslav Kysela) [1917388] - ASoC: pxa: pxa-ssp: Remove redundant null check before clk_prepare_enable/clk_disable_unprepare (Jaroslav Kysela) [1917388] - ASoC: mmp-sspa: drop unneeded snd_soc_dai_set_drvdata (Jaroslav Kysela) [1917388] - ASoC: mmp-sspa: set phase two word length register (Jaroslav Kysela) [1917388] - ASoC: pxa: remove useless assignment (Jaroslav Kysela) [1917388] - ASoC: Fix 7/8 spaces indentation in Kconfig (Jaroslav Kysela) [1917388] - ASoC: jz4740-i2s: Remove manual DMA peripheral ID assignment (Jaroslav Kysela) [1917388] - ASoC: jz4740-i2s: add missed checks for clk_get() (Jaroslav Kysela) [1917388] - ASoC: Intel: fix error code cnl_set_dsp_D0() (Jaroslav Kysela) [1917388] - ASoC: Intel: Skylake: Unassign ram_read and read_write ops (Jaroslav Kysela) [1917388] - ASoC: Intel: Remove haswell solution (Jaroslav Kysela) [1917388] - ASoC: Intel: Remove sst_dsp_get_thread_context (Jaroslav Kysela) [1917388] - ASoC: Intel: Remove unused DSP interface fields (Jaroslav Kysela) [1917388] - ASoC: Intel: catpt: remove unneeded semicolon (Jaroslav Kysela) [1917388] - catpt: Switch to use list_entry_is_head() helper (Jaroslav Kysela) [1917388] - ASoC: Intel: catpt: Optimize applying user settings (Jaroslav Kysela) [1917388] - ASoC: Intel: catpt: Correct clock selection for dai trigger (Jaroslav Kysela) [1917388] - ASoC: Intel: catpt: Skip position update for unprepared streams (Jaroslav Kysela) [1917388] - ASoC: Intel: catpt: Relax clock selection conditions (Jaroslav Kysela) [1917388] - ASoC: Intel: catpt: Fix compilation when CONFIG_MODULES is disabled (Jaroslav Kysela) [1917388] - ASoC: Intel: catpt: Cleanup after power routines streamlining (Jaroslav Kysela) [1917388] - ASoC: Intel: catpt: Replace open coded variant of resource_intersection() (Jaroslav Kysela) [1917388] - ASoC: Intel: catpt: Streamline power routines across LPT and WPT (Jaroslav Kysela) [1917388] - ASoC: Intel: haswell: Add missing pm_ops (Jaroslav Kysela) [1917388] - ASoC: Intel: cht_bsw_nau8824: Change SSP2-Codec DAI id to 0 (Jaroslav Kysela) [1917388] - ASoC: Intel: cht_bsw_nau8824: Drop compress-cpu-dai bits (Jaroslav Kysela) [1917388] - ASoC: Intel: bytcr_rt5651: use semicolons rather than commas to separate statements (Jaroslav Kysela) [1917388] - ASoC: Intel: broadwell: add missing pm_ops (Jaroslav Kysela) [1917388] - ASoC: Intel: bdw-rt5677: add missing pm_ops (Jaroslav Kysela) [1917388] - ASoC: Intel: broadwell: set card and driver name dynamically (Jaroslav Kysela) [1917388] - ASoC: Intel: bdw-rt5650: Mark FE DAIs as nonatomic (Jaroslav Kysela) [1917388] - ASoC: Intel: Remove rt5640 support for baytrail solution (Jaroslav Kysela) [1917388] - ASoC: Intel: Remove max98090 support for baytrail solution (Jaroslav Kysela) [1917388] - ASoC: Intel: atom: use inclusive language for SSP bclk/fsync (Jaroslav Kysela) [1917388] - ASoC: Intel: Atom: add dynamic selection of DSP driver (Jaroslav Kysela) [1917388] - ASoC: Intel: catpt: select WANT_DEV_COREDUMP (Jaroslav Kysela) [1917388] - ASoC: Intel: catpt: add dynamic selection of DSP driver (Jaroslav Kysela) [1917388] - ASoC: intel: SND_SOC_INTEL_KEEMBAY should depend on ARCH_KEEMBAY (Jaroslav Kysela) [1917388] - ASoC: Intel: catpt: Add explicit DMADEVICES kconfig dependency (Jaroslav Kysela) [1917388] - ASoC: Intel: Remove baytrail solution (Jaroslav Kysela) [1917388] - ASoC: Intel: atom: Remove duplicate kconfigs (Jaroslav Kysela) [1917388] - ASoC: remove zte zx drivers (Jaroslav Kysela) [1917388] - ASoC: codecs: wsa881x: add missing stream rates and format (Jaroslav Kysela) [1917388] - ASoC: wm_adsp: Remove unused control callback structure (Jaroslav Kysela) [1917388] - ASoC: wm8994: Fix PM disable depth imbalance on error (Jaroslav Kysela) [1917388] - ASoC: wm8903: remove useless assignments (Jaroslav Kysela) [1917388] - ASoC: wm8523: Fix a typo in a comment (Jaroslav Kysela) [1917388] - ASoC: wm8350: use semicolons rather than commas to separate statements (Jaroslav Kysela) [1917388] - ASoC: wm5102: Use get_unaligned_be16() for dac_comp_coeff (Jaroslav Kysela) [1917388] - ASoC: codecs: wcd934x: Set digital gain range correctly (Jaroslav Kysela) [1917388] - ASoC: wcd9335: Remove unnecessary conversion to bool (Jaroslav Kysela) [1917388] - ASoC: rt715: remove unused parameter (Jaroslav Kysela) [1917388] - ASoC: mediatek: mt6359: add the calibration functions (Jaroslav Kysela) [1917388] - ASoC: rt5682: clock driver must use the clock provider API (Jaroslav Kysela) [1917388] - ASoC: rt1015: enable BCLK detection after calibration (Jaroslav Kysela) [1917388] - ASoC: pcm512x: Add support for more data formats (Jaroslav Kysela) [1917388] - ASoC: pcm512x: Move format check into `set_fmt()` (Jaroslav Kysela) [1917388] - ASoC: pcm512x: Rearrange operations in `hw_params()` (Jaroslav Kysela) [1917388] - ASoC: pcm512x: Fix not setting word length if DAIFMT_CBS_CFS (Jaroslav Kysela) [1917388] - ASoC: mediatek: mt6359: Fix regulator_dev_lookup() fails for id "LDO_VAUD18" (Jaroslav Kysela) [1917388] - ASoC: Remove mt6359_platform_driver_remove (Jaroslav Kysela) [1917388] - ASoC: Fix vaud18 power leakage of mt6359 (Jaroslav Kysela) [1917388] - ASoC: es8316: skip of_device_id table when !CONFIG_OF (Jaroslav Kysela) [1917388] - ASoC: cs42l42: Fix Bitclock polarity inversion (Jaroslav Kysela) [1917388] - ASoC: cs35l33: fix an error code in probe() (Jaroslav Kysela) [1917388] - ASoC: cs35l34: Add missing regmap use_single config (Jaroslav Kysela) [1917388] - ASoC: wm8998: Fix PM disable depth imbalance on error (Jaroslav Kysela) [1917388] - ASoC: codecs: wcd9335: Set digital gain range correctly (Jaroslav Kysela) [1917388] - ASoC: TSCS454: remove unneeded semicolon (Jaroslav Kysela) [1917388] - ASoC: TSCS42xx: remove unneeded semicolon (Jaroslav Kysela) [1917388] - ASoC: ts3a227e: skip of_device_id table when !CONFIG_OF (Jaroslav Kysela) [1917388] - ASoC: tlv320: skip of_device_id table when !CONFIG_OF (Jaroslav Kysela) [1917388] - ASoC: tas571x: mark OF related data as maybe unused (Jaroslav Kysela) [1917388] - ASoC: tas*: sync parameter naming (rate/sample_bits) (Jaroslav Kysela) [1917388] - ASoC: tas2562: skip of_device_id table when !CONFIG_OF (Jaroslav Kysela) [1917388] - ASoC: remove remnants of sirf prima/atlas audio codec (Jaroslav Kysela) [1917388] - ASoC: rt5645: add error checking to rt5645_probe function (Jaroslav Kysela) [1917388] - Revert "ASoC: rt5645: fix a NULL pointer dereference" (Jaroslav Kysela) [1917388] - ASoC: rt1015: modify calibration sequence for better performance (Jaroslav Kysela) [1917388] - ASoC: rk3328: mark OF related data as maybe unused (Jaroslav Kysela) [1917388] - ASoC: pcm179x: skip of_device_id table when !CONFIG_OF (Jaroslav Kysela) [1917388] - ASoC: pcm1789: skip of_device_id table when !CONFIG_OF (Jaroslav Kysela) [1917388] - ASoC: nau8315: revise the power event of EN_PIN dapm widget for symmetry (Jaroslav Kysela) [1917388] - ASoC: nau8315: add codec driver (Jaroslav Kysela) [1917388] - ASoC: gtm601: mark OF related data as maybe unused (Jaroslav Kysela) [1917388] - ASoC: es8328: Remove redundant null check before clk_disable_unprepare (Jaroslav Kysela) [1917388] - ASoC: es7241: mark OF related data as maybe unused (Jaroslav Kysela) [1917388] - ASoC: es7134: mark OF related data as maybe unused (Jaroslav Kysela) [1917388] - ASoC: da9055: skip of_device_id table when !CONFIG_OF (Jaroslav Kysela) [1917388] - ASoC: da7219: skip of_device_id table when !CONFIG_OF (Jaroslav Kysela) [1917388] - ASoC: codecs/jz4770: Add DAPM widget to set HP out to cap-less mode (Jaroslav Kysela) [1917388] - ASoC: codecs/jz4770: Don't change cap-couple setting in HP PMU/PMD (Jaroslav Kysela) [1917388] - ASoC: codecs/jz4770: Adjust timeouts for cap-coupled outputs (Jaroslav Kysela) [1917388] - ASoC: codecs/jz4770: Reset interrupt flags in bias PREPARE (Jaroslav Kysela) [1917388] - ASoC: codecs/jz47xx: Use regmap_{set,clear}_bits (Jaroslav Kysela) [1917388] - treewide: Use fallthrough pseudo-keyword (Jaroslav Kysela) [1917388] - ASoC: inno_rk3036: mark OF related data as maybe unused (Jaroslav Kysela) [1917388] - ASoC: hdac_hdmi: remove cancel_work_sync in runtime suspend (Jaroslav Kysela) [1917388] - ASoC: hdmi-codec: Add RX support (Jaroslav Kysela) [1917388] - ALSA: cx46xx: Use DIV_ROUND_UP() instead of open-coding it (Jaroslav Kysela) [1917388] - ASoC: topology: KUnit: Convert from cpu to data format (Jaroslav Kysela) [1917388] - ASoC: topology: KUnit: Add KUnit tests passing topology with PCM to snd_soc_tplg_component_load (Jaroslav Kysela) [1917388] - ASoC: topology: KUnit: Add KUnit tests passing empty topology with variants to snd_soc_tplg_component_load (Jaroslav Kysela) [1917388] - ASoC: SOF: Intel: hda: use semicolons rather than commas to separate statements (Jaroslav Kysela) [1917388] - ASoC: tegra: Simplify with dma_set_mask_and_coherent() (Jaroslav Kysela) [1917388] - ASoC: tegra: Don't warn on probe deferral (Jaroslav Kysela) [1917388] - ASoC: tegra: tegra_rt5640: use devm_snd_soc_register_card() (Jaroslav Kysela) [1917388] - ASoC: tegra: tegra_wm8753: use devm_snd_soc_register_card() (Jaroslav Kysela) [1917388] - ASoC: tegra: trimslice.c: use devm_snd_soc_register_card() (Jaroslav Kysela) [1917388] - ASoC: ti: davinci-evm: Remove redundant null check before clk_disable_unprepare (Jaroslav Kysela) [1917388] - ASoC: ti: davinci: mark OF related data as maybe unused (Jaroslav Kysela) [1917388] - ASoC: ti: j721e-evm: Fix compiler warning when CONFIG_OF=n (Jaroslav Kysela) [1917388] - ASoC: ti: omap-abe-twl6040: remove useless assignment (Jaroslav Kysela) [1917388] - ASoC: ti: omap-mcsp: remove duplicate test (Jaroslav Kysela) [1917388] - ASoC: uniphier: Simplify the return expression of uniphier_aio_startup (Jaroslav Kysela) [1917388] - ASoC: uniphier: mark OF related data as maybe unused (Jaroslav Kysela) [1917388] - ASoC: ux500: mop500: rename shadowing variable (Jaroslav Kysela) [1917388] - ASoC: ux500: mop500: align function prototype (Jaroslav Kysela) [1917388] - ALSA: x86: Simplify with dma_set_mask_and_coherent() (Jaroslav Kysela) [1917388] - ASoC: cx2072x: Fix doubly definitions of Playback and Capture streams (Jaroslav Kysela) [1917388] - ASoC: cs42l56: fix up error handling in probe (Jaroslav Kysela) [1917388] - ASoC: cs42l52: Minor tidy up of error paths (Jaroslav Kysela) [1917388] - ASoC: cs42l51: manage mclk shutdown delay (Jaroslav Kysela) [1917388] - ASoC: cs42l42: Wait for PLL to lock before switching to it (Jaroslav Kysela) [1917388] - ASoC: cs42l42: Only start PLL if it is needed (Jaroslav Kysela) [1917388] - ASoC: cs42l42: Wait at least 150us after writing SCLK_PRESENT (Jaroslav Kysela) [1917388] - ASoC: cs42l42: Use bclk from hw_params if set_sysclk was not called (Jaroslav Kysela) [1917388] - ASoC: cs42l42: Report jack and button detection (Jaroslav Kysela) [1917388] - ASoC: cs42l42: Add Capture Support (Jaroslav Kysela) [1917388] - ASoC: cs42l42: Fix channel width support (Jaroslav Kysela) [1917388] - ASoC: cs42l42: Always wait at least 3ms after reset (Jaroslav Kysela) [1917388] - ASoC: cs42l42: Don't enable/disable regulator at Bias Level (Jaroslav Kysela) [1917388] - ASoC: cs42l42: Fix mixer volume control (Jaroslav Kysela) [1917388] - ASoC: cs*: sync parameter naming (rate/sample_bits) (Jaroslav Kysela) [1917388] - ASoC: bd28623: mark OF related data as maybe unused (Jaroslav Kysela) [1917388] - ASoC: alc5632: skip of_device_id table when !CONFIG_OF (Jaroslav Kysela) [1917388] - ASoC: ak4458: Add MODULE_DEVICE_TABLE (Jaroslav Kysela) [1917388] - ASoC: ak4118: skip of_device_id table when !CONFIG_OF (Jaroslav Kysela) [1917388] - ASoC: alc5623: skip of_device_id table when !CONFIG_OF (Jaroslav Kysela) [1917388] - ASoC: ak5558: Correct the dai name for ak5552 (Jaroslav Kysela) [1917388] - ASoC: ak5558: change function name to ak5558_reset (Jaroslav Kysela) [1917388] - ASoC: ak5558: Add support for ak5552 (Jaroslav Kysela) [1917388] - ASoC: ak5558: Add MODULE_DEVICE_TABLE (Jaroslav Kysela) [1917388] - ASoC: ak5558: mark OF related data as maybe unused (Jaroslav Kysela) [1917388] - ASoC: adau1977: remove platform data and move micbias bindings include (Jaroslav Kysela) [1917388] - ASoC: adau17x1: Remove redundant null check before clk_disable_unprepare (Jaroslav Kysela) [1917388] - ASoC: adau*: sync parameter naming (rate/sample_bits) (Jaroslav Kysela) [1917388] - ASoC: Add ADAU1372 audio CODEC support (Jaroslav Kysela) [1917388] - ASoC: amd: fix for pcm_read() error (Jaroslav Kysela) [1917388] - ASoC: amd: drop S24_LE format support (Jaroslav Kysela) [1917388] - ASoC: amd: Add support for ALC1015P codec in acp3x machine driver (Jaroslav Kysela) [1917388] - ASoC: amd: renoir: acp3x-pdm-dma: constify static struct snd_soc_dai_ops (Jaroslav Kysela) [1917388] - ASoC: amd: raven: acp3x-i2s: Constify static struct snd_soc_dai_ops (Jaroslav Kysela) [1917388] - ASoC: amd: renoir: acp3x-pdm-dma: remove unnecessary assignments (Jaroslav Kysela) [1917388] - ASoC: amd: fix acpi dependency kernel warning (Jaroslav Kysela) [1917388] - ASoC: amd: update spdx license for acp machine driver (Jaroslav Kysela) [1917388] - ASoC: amd: Add support for RT5682 codec in machine driver (Jaroslav Kysela) [1917388] - ASoC: amd: Adding DAI LINK for rt1015 codec (Jaroslav Kysela) [1917388] - ASoC: amd: Adding support for ALC1015 codec in machine driver (Jaroslav Kysela) [1917388] - ASoC: amd: AMD RV RT5682 should depends on CROS_EC (Jaroslav Kysela) [1917388] - ASoC: amd: renoir: remove invalid kernel-doc comment (Jaroslav Kysela) [1917388] - ASoC: AMD Renoir - refine DMI entries for some Lenovo products (Jaroslav Kysela) [1917388] - ASoC: AMD Renoir - add DMI entry for Lenovo ThinkPad X395 (Jaroslav Kysela) [1917388] - ASoC: amd: Replacing MSI with Legacy IRQ model (Jaroslav Kysela) [1917388] - ASoC: AMD Renoir - add DMI entry for Lenovo ThinkPad E14 Gen 2 (Jaroslav Kysela) [1917388] - ASoC: AMD Renoir - add DMI table to avoid the ACP mic probe (broken BIOS) (Jaroslav Kysela) [1917388] - ASoC: AMD Raven/Renoir - fix the PCI probe (PCI revision) (Jaroslav Kysela) [1917388] - ASoC: amd: change clk_get() to devm_clk_get() and add missed checks (Jaroslav Kysela) [1917388] - ASoC: amd: Return -ENODEV for non-existing ACPI call (Jaroslav Kysela) [1917388] - ASoC: amd: support other audio modes for raven (Jaroslav Kysela) [1917388] - ASoC: topology: adhere to KUNIT formatting standard (Jaroslav Kysela) [1917388] - ASoC: topology: KUnit: Add KUnit tests passing various arguments to snd_soc_tplg_component_load (Jaroslav Kysela) [1917388] - ALSA: trident: Use DIV_ROUND_CLOSEST() instead of open-coding it (Jaroslav Kysela) [1917388] - ALSA: sonicvibes: Use DIV_ROUND_CLOSEST() instead of open-coding it (Jaroslav Kysela) [1917388] - ALSA: sis7019: Use DIV_ROUND_CLOSEST() instead of open-coding it (Jaroslav Kysela) [1917388] - ALSA: remove unneeded break (Jaroslav Kysela) [1917388] - ALSA: hdsp: don't disable if not enabled (Jaroslav Kysela) [1917388] - ALSA: hdsp: hardware output loopback (Jaroslav Kysela) [1917388] - ALSA: pci: mixart: fix kernel-doc warning (Jaroslav Kysela) [1917388] - ALSA: maestro: Use DIV_ROUND_CLOSEST() instead of open-coding it (Jaroslav Kysela) [1917388] - ALSA: lola: Use DIV_ROUND_UP() instead of open-coding it (Jaroslav Kysela) [1917388] - ALSA: intel8x0: Fix missing check in snd_intel8x0m_create (Jaroslav Kysela) [1917388] - ALSA: intel8x0: Don't update period unless prepared (Jaroslav Kysela) [1917388] - ALSA: hda: Avoid spurious unsol event handling during S3/S4 (Jaroslav Kysela) [1917388] - ALSA: ens1370: Use DIV_ROUND_CLOSEST() instead of open-coding it (Jaroslav Kysela) [1917388] - ALSA: emu10k1: Use DIV_ROUND_UP() instead of open-coding it (Jaroslav Kysela) [1917388] - ALSA: emu10k1: Use dma_set_mask_and_coherent to simplify code (Jaroslav Kysela) [1917388] - ALSA: ctxfi: fix comment syntax in file headers (Jaroslav Kysela) [1917388] - ALSA: ctxfi: Use DIV_ROUND_UP() instead of open-coding it (Jaroslav Kysela) [1917388] - ALSA: ctxfi: cthw20k2: fix mask on conf to allow 4 bits (Jaroslav Kysela) [1917388] - ALSA: bt87x: Use DIV_ROUND_UP() instead of open-coding it (Jaroslav Kysela) [1917388] - ALSA: azt3328: Assign boolean values to a bool variable (Jaroslav Kysela) [1917388] - ALSA: asihpi: Use DIV_ROUND_UP() instead of open-coding it (Jaroslav Kysela) [1917388] - ALSA: dice: fix stream format for TC Electronic Konnekt Live at high sampling transfer frequency (Jaroslav Kysela) [1917388] - ALSA: dice: disable double_pcm_frames mode for M-Audio Profire 610, 2626 and Avid M-Box 3 Pro (Jaroslav Kysela) [1917388] - ALSA: firewire-lib: fix amdtp_packet tracepoints event for packet_index field (Jaroslav Kysela) [1917388] - ALSA: firewire-lib: fix calculation for size of IR context payload (Jaroslav Kysela) [1917388] - ALSA: firewire-lib: fix check for the size of isochronous packet payload (Jaroslav Kysela) [1917388] - ALSA: bebob/oxfw: fix Kconfig entry for Mackie d.2 Pro (Jaroslav Kysela) [1917388] - ALSA: dice: fix stream format at middle sampling rate for Alesis iO 26 (Jaroslav Kysela) [1917388] - ALSA: bebob: enable to deliver MIDI messages for multiple ports (Jaroslav Kysela) [1917388] - ALSA: bebob: detect the number of available MIDI ports (Jaroslav Kysela) [1917388] - ALSA: bebob: code refactoring for stream format detection (Jaroslav Kysela) [1917388] - ALSA: dice: fix null pointer dereference when node is disconnected (Jaroslav Kysela) [1917388] - ALSA: fireface: fix to parse sync status register of latter protocol (Jaroslav Kysela) [1917388] - ALSA: bebob: remove an unnecessary condition in hwdep_read() (Jaroslav Kysela) [1917388] - ALSA: fireface: remove unnecessary condition in hwdep_read() (Jaroslav Kysela) [1917388] - ALSA: oxfw: remove an unnecessary condition in hwdep_read() (Jaroslav Kysela) [1917388] - ALSA: dice: add support for Lexicon I-ONIX FW810s (Jaroslav Kysela) [1917388] - ALSA: firewire-tascam: Fix integer overflow in midi_port_work() (Jaroslav Kysela) [1917388] - ALSA: fireface: Fix integer overflow in transmit_midi_msg() (Jaroslav Kysela) [1917388] - ALSA: firewire: Clean up a locking issue in copy_resp_to_buf() (Jaroslav Kysela) [1917388] - ALSA: firewire: fix comparison to bool warning (Jaroslav Kysela) [1917388] - ALSA: firewire: Replace tasklet with work (Jaroslav Kysela) [1917388] - ALSA: firewire: convert tasklets to use new tasklet_setup() API (Jaroslav Kysela) [1917388] - ALSA: vx: Use roundup() instead of open-coding it (Jaroslav Kysela) [1917388] - ALSA: pcsp: Fix fall-through warnings for Clang (Jaroslav Kysela) [1917388] - ALSA: dummy: Use DIV_ROUND_UP() instead of open-coding it (Jaroslav Kysela) [1917388] - ALSA: aloop: Fix initialization of controls (Jaroslav Kysela) [1917388] - ALSA: aloop: Use DIV_ROUND_UP() instead of open-coding it (Jaroslav Kysela) [1917388] - ALSA: atmel: Drop superfluous ioctl PCM ops (Jaroslav Kysela) [1917388] - ASoC: SOF: ext_manifest: use explicit number for elem_type (Jaroslav Kysela) [1917388] - ASoC: soc-acpi: allow for partial match in parent name (Jaroslav Kysela) [1917388] - ASoC: soc-acpi: add helper to identify parent driver. (Jaroslav Kysela) [1917388] - ASoC: soc-acpi: add new fields for mach_params (Jaroslav Kysela) [1917388] - ASoC: rt5682: Add a new property for the DMIC clock driving (Jaroslav Kysela) [1917388] - ALSA: hda: Change AZX_MAX_BUF_SIZE from 1GB to 4MB (Jaroslav Kysela) [1917388] - soundwire: sysfs: Constify static struct attribute_group (Jaroslav Kysela) [1917388] - ALSA: remove trailing semicolon in macro definition (Jaroslav Kysela) [1917388] - ASoC: SOF: Intel: hda: don't send DAI_CONFIG IPC for older firmware (Jaroslav Kysela) [1917388] - ASoC: SOF: use current DAI config during resume (Jaroslav Kysela) [1917388] - ASoC: SOF: Intel: Update ADL P to use its own descriptor (Jaroslav Kysela) [1917388] - ASoC: SOF: Intel: add missing use_acpi_target_states for TGL platforms (Jaroslav Kysela) [1917388] - ASoC: SOF: topology: remove useless code (Jaroslav Kysela) [1917388] - ASoC: SOF: Kconfig: fix typo of SND_SOC_SOF_PCI (Jaroslav Kysela) [1917388] - ASOC: SOF: simplify nocodec mode (Jaroslav Kysela) [1917388] - ASoC: SOF: pcm: export snd_pcm_dai_link_fixup (Jaroslav Kysela) [1917388] - ASoC: SOF: Intel: update set_mach_params() (Jaroslav Kysela) [1917388] - ASoC: SOF: change signature of set_mach_params() callback (Jaroslav Kysela) [1917388] - ASoC: SOF: add Kconfig option for probe workqueues (Jaroslav Kysela) [1917388] - ASoC: SOF: Simplify sof_probe_complete handling for acpi/pci/of (Jaroslav Kysela) [1917388] - ASoC: SOF: core: Add missing error prints to device probe operation (Jaroslav Kysela) [1917388] - ASoC: SOF: match SSP config with pcm hw params (Jaroslav Kysela) [1917388] - ASoC: SOF: Intel: HDA: add hw params callback for SSP DAIs (Jaroslav Kysela) [1917388] - ASoC: SOF: parse multiple SSP DAI and hw configs (Jaroslav Kysela) [1917388] - ASoC: SOF: Intel: hda: drop display power on/off in D0i3 flows (Jaroslav Kysela) [1917388] - ASoC: SOF: Intel: move ELH chip info (Jaroslav Kysela) [1917388] - ASoC: SOF: Intel: APL: set shutdown callback to hda_dsp_shutdown (Jaroslav Kysela) [1917388] - ASoC: SOF: Intel: CNL: set shutdown callback to hda_dsp_shutdown (Jaroslav Kysela) [1917388] - ASoC: SOF: Intel: ICL: set shutdown callback to hda_dsp_shutdown (Jaroslav Kysela) [1917388] - ASoC: SOF: Intel: TGL: set shutdown callback to hda_dsp_shutdown (Jaroslav Kysela) [1917388] - ASoC: SOF: Intel: TGL: fix EHL ops (Jaroslav Kysela) [1917388] - ASoC: SOF: core: harden shutdown helper (Jaroslav Kysela) [1917388] - ASoC: SOF: Intel: HDA: fix core status verification (Jaroslav Kysela) [1917388] - ASoC: SOF: add a helper to get topology configured mclk (Jaroslav Kysela) [1917388] - ASoC: SOF: only allocate debugfs cache buffers for IPC flood entries (Jaroslav Kysela) [1917388] - ASoC: SOF: fix debugfs initialisation error handling (Jaroslav Kysela) [1917388] - ASoC: SOF: Intel: hda: enable async suspend (Jaroslav Kysela) [1917388] - ASoC: SOF: Intel: hda: turn off display power in resume (Jaroslav Kysela) [1917388] - ASoC: SOF: intel: fix wrong poll bits in dsp power down (Jaroslav Kysela) [1917388] - ASoC: SOF: Intel: unregister DMIC device on probe error (Jaroslav Kysela) [1917388] - ALSA: hda: move Intel SoundWire ACPI scan to dedicated module (Jaroslav Kysela) [1917388] - ASoC: SOF: Intel: SoundWire: simplify Kconfig (Jaroslav Kysela) [1917388] - ASoC: SOF: pci: move DSP_CONFIG use to platform-specific drivers (Jaroslav Kysela) [1917388] - ASoC: SOF: pci: split PCI into different drivers (Jaroslav Kysela) [1917388] - ASoC: SOF: Intel: hda: add sof_icl_ops for ICL platforms (Jaroslav Kysela) [1917388] - ASoC: SOF: ACPI: avoid reverse module dependency (Jaroslav Kysela) [1917388] - ASoC: SOF: relax ABI checks and avoid unnecessary warnings (Jaroslav Kysela) [1917388] - ASoC: SOF: fix runtime pm usage mismatch after probe errors (Jaroslav Kysela) [1917388] - ASoC: SOF: Intel: hda: add dev_dbg() when DMIC number is overridden (Jaroslav Kysela) [1917388] - ASoC: SOF: Intel: HDA: don't keep a temporary variable (Jaroslav Kysela) [1917388] - ASoC: SOF: Intel: detect DMIC number in SoundWire mixed config (Jaroslav Kysela) [1917388] - ASoC: SOF: Intel: SoundWire: refine ACPI match (Jaroslav Kysela) [1917388] - ASoC: SOF: HDA: (cosmetic) simplify hda_dsp_d0i3_work() (Jaroslav Kysela) [1917388] - ASoC: SOF: remove unused functions (Jaroslav Kysela) [1917388] - ASoC: SOF: fix string format for errors (Jaroslav Kysela) [1917388] - ASoC: SOF: add missing pm debug (Jaroslav Kysela) [1917388] - ASoC: SOF: sof-pci-dev: add missing Up-Extreme quirk (Jaroslav Kysela) [1917388] - ASoC: SOF: Intel: hda: release display power at link_power (Jaroslav Kysela) [1917388] - ASoC: SOF: Intel: hda: use hdac_ext fine-grained link management (Jaroslav Kysela) [1917388] - ASoC: SOF: debug: Fix a potential issue on string buffer termination (Jaroslav Kysela) [1917388] - ASoC: SOF: add be_hw_params_fixup() for ALH (Jaroslav Kysela) [1917388] - ASoC: SOF: topology: Prevent NULL pointer dereference with no TLV (Jaroslav Kysela) [1917388] - ASoC: SOF: intel: hda-loader: use snd_sof_dsp_core_power_down/up APIs (Jaroslav Kysela) [1917388] - ASoC: SOF: Filter out unneeded core power up/downs (Jaroslav Kysela) [1917388] - ASoC: SOF: update dsp core power status in common APIs (Jaroslav Kysela) [1917388] - ASoC: SOF: Intel: hda-loader: keep init cores alive (Jaroslav Kysela) [1917388] - ASoC: SOF: Intel: hda: use snd_sof_dsp_core_power_up/down API (Jaroslav Kysela) [1917388] - ASoC: SOF: Intel: hda: cancel D0i3 work during runtime suspend (Jaroslav Kysela) [1917388] - ASoC: SOF: Intel: hda: Enable DMI L1 for trace (Jaroslav Kysela) [1917388] - ASoC: SOF: Intel: hda: enable DMI L1 for D0i3-compatible streams (Jaroslav Kysela) [1917388] - ASoC: SOF: add a pointer to download repo in case FW request fails (Jaroslav Kysela) [1917388] - ASoC: SOF: SND_INTEL_DSP_CONFIG dependency (Jaroslav Kysela) [1917388] - ASoC: SOF: Intel: soundwire: fix select/depend unmet dependencies (Jaroslav Kysela) [1917388] - ASoC: SOF: intel: Simplify with dma_set_mask_and_coherent() (Jaroslav Kysela) [1917388] - ASoC: SOF: Intel: initial support to AlderLake-P (Jaroslav Kysela) [1917388] - ASoC: SOF: Intel: tgl: do thorough remove at .shutdown() callback (Jaroslav Kysela) [1917388] - ASoC: SOF: sof-pci-dev: add .shutdown() callback (Jaroslav Kysela) [1917388] - ASoC: SOF: add snd_sof_device_shutdown() helper for shutdown (Jaroslav Kysela) [1917388] - ASoC: SOF: add .shutdown() callback to snd_sof_dsp_ops (Jaroslav Kysela) [1917388] - ASoC: SOF: Intel: hda: Avoid checking jack on system suspend (Jaroslav Kysela) [1917388] - ASoC: SOF: Intel: hda: Modify existing helper to disable WAKEEN (Jaroslav Kysela) [1917388] - ASoC: SOF: Intel: hda: Resume codec to do jack detection (Jaroslav Kysela) [1917388] - ASoC: SOF: add mutex to protect the dsp_power_state access (Jaroslav Kysela) [1917388] - ASoC: SOF: Fix spelling mistake in Kconfig "ond" -> "and" (Jaroslav Kysela) [1917388] - ASoC: SOF: imx: update kernel-doc description (Jaroslav Kysela) [1917388] - ASoC: SOF: Intel: add SoundWire support for ADL-S (Jaroslav Kysela) [1917388] - ASoC: SOF: control: fix cppcheck warning in snd_sof_volume_info() (Jaroslav Kysela) [1917388] - ASoC: SOF: Intel: allow for coexistence between SOF and catpt drivers (Jaroslav Kysela) [1917388] - ASoC: SOF: Intel: allow for coexistence between SOF and Atom/SST drivers (Jaroslav Kysela) [1917388] - ASoC: SOF: acpi: add dynamic selection of DSP driver (Jaroslav Kysela) [1917388] - ASoC: SOF: Intel: initial support for Alderlake-S (Jaroslav Kysela) [1917388] - ASoC: SOF: Intel: fix Kconfig dependency for SND_INTEL_DSP_CONFIG (Jaroslav Kysela) [1917388] - ASoC: SOF: Intel: fix Kconfig punctuation and wording (Jaroslav Kysela) [1917388] - ASoC: SOF: Kconfig: fix Kconfig punctuation and wording (Jaroslav Kysela) [1917388] - ASoC: SOF: imx: fix Kconfig punctuation (Jaroslav Kysela) [1917388] - ASoC: Intel: bytcr_rt5640: Add quirk for the Lenovo Miix 3-830 tablet (Jaroslav Kysela) [1917388] - ASoC: Intel: bytcr_rt5640: Add quirk for the Glavey TM800A550L tablet (Jaroslav Kysela) [1917388] - ASoC: Intel: KMB: Fix random noise at the HDMI output (Jaroslav Kysela) [1917388] - ASoC: Intel: sof_sdw: add quirk for new ADL-P Rvp (Jaroslav Kysela) [1917388] - ASoC: Intel: soc-acpi: add ADL jack-less SoundWire configurations (Jaroslav Kysela) [1917388] - ASoC: Intel: soc-acpi: add ADL SoundWire base configurations (Jaroslav Kysela) [1917388] - ASoC: Intel: kbl_da7219_max98927: Fix kabylake_ssp_fixup function (Jaroslav Kysela) [1917388] - ASoC: Intel: KMB: Constify static struct snd_soc_dai_ops (Jaroslav Kysela) [1917388] - ASoc: Intel: board: add BE DAI link for WoV (Jaroslav Kysela) [1917388] - ASoC: Intel: kbl: Add MST route change to kbl machine drivers (Jaroslav Kysela) [1917388] - ASoC: Intel: cht_bsw_rt5672: Set card.components string (Jaroslav Kysela) [1917388] - ASoC: Intel: cht_bsw_rt5672: Add support for Bay Trail CR / SSP0 (Jaroslav Kysela) [1917388] - ASoC: Intel: Baytrail: Add quirk for the Dell Venue 10 Pro 5055 tablet (Jaroslav Kysela) [1917388] - ASoC: Intel: Unify the thinkpad10 and aegex10 byt-match quirks (Jaroslav Kysela) [1917388] - ASoC: Intel: Boards: cml_da7219_max98390: add capture stream for echo reference (Jaroslav Kysela) [1917388] - ASoC: Intel: Fix a typo (Jaroslav Kysela) [1917388] - ASoC: Intel: Fix a typo (Jaroslav Kysela) [1917388] - ASoC: Intel: Fix a typo (Jaroslav Kysela) [1917388] - ASoC: Intel: bytcr_rt5640: Add quirk for the Chuwi Hi8 tablet (Jaroslav Kysela) [1917388] - ASoC: Intel: add max98390 echo reference support (Jaroslav Kysela) [1917388] - ASoC: Intel: bytcr_wm5102: Add jack detect support (Jaroslav Kysela) [1917388] - ASoC: intel: atom: Remove 44100 sample-rate from the media and deep-buffer DAI descriptions (Jaroslav Kysela) [1917388] - ASoC: intel: atom: Stop advertising non working S24LE support (Jaroslav Kysela) [1917388] - ASoC: intel: sof_rt5682: use the topology mclk (Jaroslav Kysela) [1917388] - ASoC: Intel: sof_rt5682: Add ALC1015Q-VB speaker amp support (Jaroslav Kysela) [1917388] - ASoC: Intel: Skylake: skl-topology: fix -frame-larger-than (Jaroslav Kysela) [1917388] - ASoC: Intel: bytcr_rt5640: Add used AIF to the components string (Jaroslav Kysela) [1917388] - ASoC: Intel: bytcr_rt5640: Enable jack-detect support on Asus T100TAF (Jaroslav Kysela) [1917388] - ASoC: Intel: bytcr_wm5102: remove unused static variable (Jaroslav Kysela) [1917388] - ASoC: Intel: atom: fix kernel-doc (Jaroslav Kysela) [1917388] - ASoC: Intel: soc-acpi: remove TGL RVP mixed SoundWire/TDM config (Jaroslav Kysela) [1917388] - ASoC: Intel: soc-acpi: remove unused TGL table with rt5682 only (Jaroslav Kysela) [1917388] - ASoC: Intel: Skylake: Compile when any configuration is selected (Jaroslav Kysela) [1917388] - ASoC: Intel: boards: sof-wm8804: add check for PLL setting (Jaroslav Kysela) [1917388] - ASoC: Intel: bytcr_rt5640: Fix HP Pavilion x2 10-p0XX OVCD current threshold (Jaroslav Kysela) [1917388] - ASoC: Intel: bytcr_rt5640: Add quirk for the Acer One S1002 tablet (Jaroslav Kysela) [1917388] - ASoC: Intel: bytcr_rt5651: Add quirk for the Jumper EZpad 7 tablet (Jaroslav Kysela) [1917388] - ASoC: Intel: bytcr_rt5640: Add quirk for the Voyo Winpad A15 tablet (Jaroslav Kysela) [1917388] - ASoC: Intel: bytcr_rt5640: Add quirk for the Estar Beauty HD MID 7316R tablet (Jaroslav Kysela) [1917388] - ASoC: Intel: soc-acpi: add ACPI matching table for HP Spectre x360 (Jaroslav Kysela) [1917388] - ASoC: intel: sof_sdw: add trace for dai links (Jaroslav Kysela) [1917388] - ASoC: Intel: sof_sdw: detect DMIC number based on mach params (Jaroslav Kysela) [1917388] - ASoC: Intel: sof_sdw: add mic:dmic and cfg-mics component strings (Jaroslav Kysela) [1917388] - ASoC: Intel: sof_sdw: add quirk for HP Spectre x360 convertible (Jaroslav Kysela) [1917388] - ASoC: Intel: sof-sdw: indent and add quirks consistently (Jaroslav Kysela) [1917388] - ASoC: Intel: sof_sdw: reorganize quirks by generation (Jaroslav Kysela) [1917388] - ASoC: Intel: boards: max98373: get dapm from cpu_dai (Jaroslav Kysela) [1917388] - ASoC: Intel: bytcr_wm5102: Add machine driver for BYT/WM5102 (Jaroslav Kysela) [1917388] - ASoC: Intel: Add DMI quirk table to soc_intel_is_byt_cr() (Jaroslav Kysela) [1917388] - ASoC: Intel: KMB: Support IEC958 encoded PCM format (Jaroslav Kysela) [1917388] - ASoC: Intel: sof_sdw: add missing TGL_HDMI quirk for Dell SKU 0A3E (Jaroslav Kysela) [1917388] - ASoC: Intel: sof_sdw: add missing TGL_HDMI quirk for Dell SKU 0A32 (Jaroslav Kysela) [1917388] - ASoC: Intel: sof_sdw: add missing TGL_HDMI quirk for Dell SKU 0A5E (Jaroslav Kysela) [1917388] - ASoC: Intel: remove unneeded semicolon (Jaroslav Kysela) [1917388] - ASoC: Intel: catpt: Wake up device before configuring SSP port (Jaroslav Kysela) [1917388] - ASoC: Intel: remove duplicate MODULE_LICENSE/DESCRIPTION tags (Jaroslav Kysela) [1917388] - ASoC: Intel: adl: remove sof_fw_filename setting in ADL snd_soc_acpi_mach (Jaroslav Kysela) [1917388] - ASoC: Intel: common: add ACPI matching tables for Alder Lake (Jaroslav Kysela) [1917388] - ASoC: Intel: Skylake: Zero snd_ctl_elem_value (Jaroslav Kysela) [1917388] - ASoC: Intel: Skylake: skl-topology: Fix OOPs ib skl_tplg_complete (Jaroslav Kysela) [1917388] - ASoC: intel: skl: Simplify with dma_set_mask_and_coherent() (Jaroslav Kysela) [1917388] - ASoC: Intel: cht_bsw_nau8824: Move snd_soc_dai_set_tdm_slot call to cht_codec_fixup (Jaroslav Kysela) [1917388] - ASoC: Intel: bytcr_rt5640: Add quirk for the Mele PCG03 Mini PC (Jaroslav Kysela) [1917388] - ASoC: Intel: bytcr_rt5640: Add new BYT_RT5640_NO_INTERNAL_MIC_MAP input-mapping (Jaroslav Kysela) [1917388] - ASoC: Intel: byt/cht: set pm ops dynamically (Jaroslav Kysela) [1917388] - ASoC: Intel: Remove sst_pdata structure (Jaroslav Kysela) [1917388] - ASoC: Intel: Make atom components independent of sst-dsp (Jaroslav Kysela) [1917388] - ASoC: Intel: Remove SST-legacy specific constants (Jaroslav Kysela) [1917388] - ASoC: Intel: Remove unused DSP operations (Jaroslav Kysela) [1917388] - ASoC: Intel: Remove SST firmware components (Jaroslav Kysela) [1917388] - ASoC: Intel: Remove SST ACPI component (Jaroslav Kysela) [1917388] - ASoC: Intel: Select catpt and deprecate haswell (Jaroslav Kysela) [1917388] - ASoC: Intel: bdw-5677: Remove haswell-solution specific code (Jaroslav Kysela) [1917388] - ASoC: Intel: bdw-5650: Remove haswell-solution specific code (Jaroslav Kysela) [1917388] - ASoC: Intel: broadwell: Remove haswell-solution specific code (Jaroslav Kysela) [1917388] - ASoC: Intel: haswell: Remove haswell-solution specific code (Jaroslav Kysela) [1917388] - ASoC: Intel: catpt: Simple sysfs attributes (Jaroslav Kysela) [1917388] - ASoC: Intel: catpt: Event tracing (Jaroslav Kysela) [1917388] - ASoC: Intel: catpt: Device driver lifecycle (Jaroslav Kysela) [1917388] - drivers: provide devm_platform_get_and_ioremap_resource() (Jaroslav Kysela) [1917388] - ASoC: Intel: catpt: PCM operations (Jaroslav Kysela) [1917388] - ASoC: Intel: catpt: Firmware loading and context restore (Jaroslav Kysela) [1917388] - ASoC: Intel: catpt: Define DSP operations (Jaroslav Kysela) [1917388] - ASoC: Intel: catpt: Add IPC message handlers (Jaroslav Kysela) [1917388] - ASoC: Intel: catpt: Implement IPC protocol (Jaroslav Kysela) [1917388] - ASoC: Intel: Add catpt base members (Jaroslav Kysela) [1917388] - resource: Introduce resource_intersection() for overlapping resources (Jaroslav Kysela) [1917388] - ASoC: Intel: bytcr_rt5640: Add quirk for ARCHOS Cesium 140 (Jaroslav Kysela) [1917388] - ASoC: Intel: boards: byt/cht: set card and driver name at run time (Jaroslav Kysela) [1917388] - ASoC: Intel: bytcr_rt5640: Add new BYT_RT5640_NO_SPEAKERS quirk-flag (Jaroslav Kysela) [1917388] - ASoC: Intel: KMB: Enable DMA transfer mode (Jaroslav Kysela) [1917388] - ASoC: Intel: keembay: use inclusive language for bclk and fsync (Jaroslav Kysela) [1917388] - ASoC: Intel: bytcht_es8316: Remove comment about SSP0 being untested (Jaroslav Kysela) [1917388] - ASoC: rt1015: remove bclk_ratio (Jaroslav Kysela) [1917388] - ASoC: cs42l73: Add missing regmap use_single config (Jaroslav Kysela) [1917388] - ASoC: cs53l30: Add missing regmap use_single config (Jaroslav Kysela) [1917388] - ASoC: sti-sas: add missing MODULE_DEVICE_TABLE (Jaroslav Kysela) [1917388] - ASoC: cs42l42: Regmap must use_single_read/write (Jaroslav Kysela) [1917388] - ASoC: rt711-sdca: fix the function number of SDCA control for feature unit 0x1E (Jaroslav Kysela) [1917388] - ASoC: da7219: do not request a new clock consummer reference (Jaroslav Kysela) [1917388] - ASoC: max98088: fix ni clock divider calculation (Jaroslav Kysela) [1917388] - ASoC: rt711-sdca: add the notification when volume changed (Jaroslav Kysela) [1917388] - ASoC: rt711-sdca: change capture switch controls (Jaroslav Kysela) [1917388] - ASoC: da7219: properly get clk from the provider (Jaroslav Kysela) [1917388] - ASoC: wcd934x: use the clock provider API (Jaroslav Kysela) [1917388] - ASoC: adau17x1: Avoid overwriting CHPF (Jaroslav Kysela) [1917388] - ASoC: ak4458: enable daisy chain (Jaroslav Kysela) [1917388] - ASoC: rt1015p: add support on format S32_LE (Jaroslav Kysela) [1917388] - ASoC: rt286: Generalize support for ALC3263 codec (Jaroslav Kysela) [1917388] - ASoC: rt298: Configure combo jack for headphones (Jaroslav Kysela) [1917388] - ASoC: rt286: Configure combo jack for headphones (Jaroslav Kysela) [1917388] - ASoC: sigmadsp: Disable cache mechanism for readbacks (Jaroslav Kysela) [1917388] - ASoC: rt286: Make RT286_SET_GPIO_* readable and writable (Jaroslav Kysela) [1917388] - ASoC: rt286: Fix upper byte in DMIC2 configuration (Jaroslav Kysela) [1917388] - ASoC: ak4458: check reset control status (Jaroslav Kysela) [1917388] - ASoC: codecs: rt5682: clarify expression (Jaroslav Kysela) [1917388] - ASoC: rt715: remove kcontrols which no longer be used (Jaroslav Kysela) [1917388] - ASoC: rt715: add main capture switch and main capture volume (Jaroslav Kysela) [1917388] - ASoC: rt715: modification for code simplicity (Jaroslav Kysela) [1917388] - ASoC: codecs: wcd934x: Fix missing IRQF_ONESHOT as only threaded handler (Jaroslav Kysela) [1917388] - ASoC: cs35l35: remove unused including (Jaroslav Kysela) [1917388] - ASoC: ak5558: correct reset polarity (Jaroslav Kysela) [1917388] - ASoC: cs35l36: Fix an error handling path in 'cs35l36_i2c_probe()' (Jaroslav Kysela) [1917388] - ASoC: cs35l35: Fix an error handling path in 'cs35l35_i2c_probe()' (Jaroslav Kysela) [1917388] - ASoC: wcd9335: constify static struct snd_soc_dai_ops (Jaroslav Kysela) [1917388] - ASoC: rt1019: remove registers to sync with rt1019 datasheet (Jaroslav Kysela) [1917388] - ASoC: rt711-sdca: Constify static struct snd_soc_dai_ops (Jaroslav Kysela) [1917388] - ASoC: wcd934x: constify static struct snd_soc_dai_ops (Jaroslav Kysela) [1917388] - ASoC: rt715-sdca: Constify static struct snd_soc_dai_ops (Jaroslav Kysela) [1917388] - ASoC: tas2770: Constify static struct snd_soc_dai_ops (Jaroslav Kysela) [1917388] - ASoC: cx2072x: constify static struct snd_soc_dai_ops (Jaroslav Kysela) [1917388] - ASoC: rt1019: constify static struct snd_soc_dai_ops (Jaroslav Kysela) [1917388] - ASoC: codecs: tlv320aic3x: add AIC3106 (Jaroslav Kysela) [1917388] - ASoC: codecs: wsa881x: constify static struct snd_soc_dai_ops (Jaroslav Kysela) [1917388] - ASoC: codecs: Fix runtime PM imbalance in tas2552_probe (Jaroslav Kysela) [1917388] - ASoC: rt1011: remove pack_id check in rt1011 (Jaroslav Kysela) [1917388] - ASoC: codecs: tlv320aic3x: add SPI support (Jaroslav Kysela) [1917388] - ASoC: codecs: tlv320aic3x: move I2C to separated file (Jaroslav Kysela) [1917388] - ASoC: codecs: tlv320aic3x: rename probe function (Jaroslav Kysela) [1917388] - ASoC: codecs: tlv320aic3x: move model definitions (Jaroslav Kysela) [1917388] - ASoC: max98390: Add support for tx slot configuration. (Jaroslav Kysela) [1917388] - ASoC: ak5558: Fix s/show/slow/ typo (Jaroslav Kysela) [1917388] - ASoC: tlv320aic32x4: Register clocks before registering component (Jaroslav Kysela) [1917388] - ASoC: tlv320aic32x4: Increase maximum register in regmap (Jaroslav Kysela) [1917388] - ASoC: rt5670: Add a rt5670_components() helper (Jaroslav Kysela) [1917388] - ASoC: rt5670: Add a quirk for the Dell Venue 10 Pro 5055 (Jaroslav Kysela) [1917388] - ASoC: da732x: simplify code (Jaroslav Kysela) [1917388] - ASoC: lm49453: fix useless assignment before return (Jaroslav Kysela) [1917388] - ASoC: mediatek: mt6359: Fix spelling mistake "reate" -> "create" (Jaroslav Kysela) [1917388] - ASoC: mediatek: mt6359: add MT6359 accdet jack driver (Jaroslav Kysela) [1917388] - ASoC: max98373: Added 30ms turn on/off time delay (Jaroslav Kysela) [1917388] - ASoC: max98373: Changed amp shutdown register as volatile (Jaroslav Kysela) [1917388] - ASoC: wm8960: Remove bitclk relax condition in wm8960_configure_sysclk (Jaroslav Kysela) [1917388] - ASoC: max98373: Added controls for autorestart config (Jaroslav Kysela) [1917388] - ASoC: rt1015: Add bclk detection and dc detection (Jaroslav Kysela) [1917388] - ASoC: wm8960: Fix wrong bclk and lrclk with pll enabled for some chips (Jaroslav Kysela) [1917388] - ASoC: rt1019: make symbol 'rt1019_i2c_driver' static (Jaroslav Kysela) [1917388] - ASoC: rt1019: add rt1019 amplifier driver (Jaroslav Kysela) [1917388] - ASoC: tscs454: remove useless test on PLL disable (Jaroslav Kysela) [1917388] - ASoC: tlv320dac33: clarify expression (Jaroslav Kysela) [1917388] - ASoC: tas2770: remove useless initialization (Jaroslav Kysela) [1917388] - ASoC: tas2562: remove warning on return value (Jaroslav Kysela) [1917388] - ASoC: tas2562: remove useless assignment (Jaroslav Kysela) [1917388] - ASoC: sti-sas: remove unused struct members (Jaroslav Kysela) [1917388] - ASoC: sigmadsp: align function prototype (Jaroslav Kysela) [1917388] - ASoC: pcm1681: remove useless assignment (Jaroslav Kysela) [1917388] - ASoC: nau8825: remove useless assignment (Jaroslav Kysela) [1917388] - ASoC: mt6359: remove useless assignment (Jaroslav Kysela) [1917388] - ASoC: mt6358: remove useless initializations (Jaroslav Kysela) [1917388] - ASoC: max98090: remove useless assignment (Jaroslav Kysela) [1917388] - ASoC: hdmi-codec: remove unused spk_mask member (Jaroslav Kysela) [1917388] - ASoC: hdmi-codec: remove useless initialization (Jaroslav Kysela) [1917388] - ASoC: hdac_hdmi: align function arguments (Jaroslav Kysela) [1917388] - ASoC: hdac_hdmi: remove useless initializations (Jaroslav Kysela) [1917388] - ASoC: da7219-aad: remove useless initialization (Jaroslav Kysela) [1917388] - ASoC: cx2070x: remove duplicate else branch (Jaroslav Kysela) [1917388] - ASoC: cx2070x: remove useless assignment (Jaroslav Kysela) [1917388] - ASoC: adau1977: remove useless return (Jaroslav Kysela) [1917388] - treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 177 (Jaroslav Kysela) [1917388] - ASoC: ad1836: remove useless return (Jaroslav Kysela) [1917388] - ASoC: ab8500-codec: remove useless structure (Jaroslav Kysela) [1917388] - ASoC: rt711: add snd_soc_component remove callback (Jaroslav Kysela) [1917388] - ASoC: rt5659: Update MCLK rate in set_sysclk() (Jaroslav Kysela) [1917388] - ASoC: rt5640: Rename 'Mono DAC Playback Volume' to 'DAC2 Playback Volume' (Jaroslav Kysela) [1917388] - ASoC: rt1015p: add acpi device id for rt1015p (Jaroslav Kysela) [1917388] - ASoC: wm_hubs: align function prototype (Jaroslav Kysela) [1917388] - ASoC: wm_adsp: simplify return value (Jaroslav Kysela) [1917388] - ASoC: wm8996: clarify expression (Jaroslav Kysela) [1917388] - ASoC: wm8994: align function prototype (Jaroslav Kysela) [1917388] - ASoC: wm8978: clarify expression (Jaroslav Kysela) [1917388] - ASoC: wm8958-dsp2: rename local 'control' arrays (Jaroslav Kysela) [1917388] - ASoC: arizona: fix function argument (Jaroslav Kysela) [1917388] - ASoC: wm2200: remove unused structure (Jaroslav Kysela) [1917388] - ASoC: rt5682: add delay time of workqueue to control next IRQ event (Jaroslav Kysela) [1917388] - ASoC: rt715-sdca: Remove unused including (Jaroslav Kysela) [1917388] - ASoC: rt715-sdca: Fix return value check in rt715_sdca_sdw_probe() (Jaroslav Kysela) [1917388] - ASoC: cs42l42: Set clock source for both ways of stream (Jaroslav Kysela) [1917388] - ASoC: cs42l42: Provide finer control on playback path (Jaroslav Kysela) [1917388] - ASoC: cs42l42: Disable regulators if probe fails (Jaroslav Kysela) [1917388] - ASoC: cs42l42: Remove power if the driver is being removed (Jaroslav Kysela) [1917388] - ASoC: rt711-sdca: Add RT711 SDCA vendor-specific driver (Jaroslav Kysela) [1917388] - ASoC: rt5645: The ALC3270 variant does not have a headset-mic pin (Jaroslav Kysela) [1917388] - ASoC: rt5645: Move rt5645_platform_data to sound/soc/codecs/rt5645.c (Jaroslav Kysela) [1917388] - ASoC: codecs/jz4770: Remove superfluous error message (Jaroslav Kysela) [1917388] - ASoC: rt715-sdca: Add RT715 sdca vendor-specific driver (Jaroslav Kysela) [1917388] - ASoC: wm8962: Relax bit clock divider searching (Jaroslav Kysela) [1917388] - ASoC: rt1316: Fix return value check in rt1316_sdw_probe() (Jaroslav Kysela) [1917388] - ASoC: sgtl5000: Fix identation of .driver elements (Jaroslav Kysela) [1917388] - ASoC: codec: Omit superfluous error message in jz4760_codec_probe() (Jaroslav Kysela) [1917388] - ASoC: sigmadsp-regmap: fix kernel-doc warning (Jaroslav Kysela) [1917388] - ASoC: rt5631: fix kernel-doc warning (Jaroslav Kysela) [1917388] - ASoC: jz4760: fix set but not used warning (Jaroslav Kysela) [1917388] - ASoC: cs4270: fix kernel-doc (Jaroslav Kysela) [1917388] - ASoC: rt5682: remove useless initialization (Jaroslav Kysela) [1917388] - ASoC: rt5682: remove useless assignments (Jaroslav Kysela) [1917388] - ASoC: rt5682: clarify expression (Jaroslav Kysela) [1917388] - ASoC: rt5677: remove useless assignment (Jaroslav Kysela) [1917388] - ASoC: rt5677: clarify expression (Jaroslav Kysela) [1917388] - ASoC: rt5670: clarify expression (Jaroslav Kysela) [1917388] - ASoC: rt5668: remove useless assignments (Jaroslav Kysela) [1917388] - ASoC: rt5668: clarify expression (Jaroslav Kysela) [1917388] - ASoC: rt5665: clarify expression (Jaroslav Kysela) [1917388] - ASoC: rt5663: clarify expression (Jaroslav Kysela) [1917388] - ASoC: rt5660: clarify expression (Jaroslav Kysela) [1917388] - ASoC: rt5659: clarify expression (Jaroslav Kysela) [1917388] - ASoC: rt5651: remove useless assignment (Jaroslav Kysela) [1917388] - ASoC: rt5651: clarify expression (Jaroslav Kysela) [1917388] - ASoC: rt5645: clarify expression (Jaroslav Kysela) [1917388] - ASoC: rt5645: use logical OR (Jaroslav Kysela) [1917388] - ASoC: rt5640: clarify expression (Jaroslav Kysela) [1917388] - ASoC: rt1308: clarify expression (Jaroslav Kysela) [1917388] - ASoC: rt1305: clarify expression (Jaroslav Kysela) [1917388] - ASoC: rt1016: clarify expression (Jaroslav Kysela) [1917388] - ASoC: rt1015: clarify expression (Jaroslav Kysela) [1917388] - ASoC: rt1011: clarify expression (Jaroslav Kysela) [1917388] - ASoC: rt1011: remove redundant test (Jaroslav Kysela) [1917388] - ASoC: rt1011: use logical OR (Jaroslav Kysela) [1917388] - ASoC: wm8524: Do not print probe defer error (Jaroslav Kysela) [1917388] - ASoC: codecs: nau8825: fix kernel-doc (Jaroslav Kysela) [1917388] - ASoC: rt1316: Add RT1316 SDCA vendor-specific driver (Jaroslav Kysela) [1917388] - ASoc: rt5631: Constify static struct coeff_clk_div (Jaroslav Kysela) [1917388] - ASoC: rt*: Constify static struct acpi_device_id (Jaroslav Kysela) [1917388] - ASoC: rt*: Constify static struct snd_soc_dai_ops (Jaroslav Kysela) [1917388] - ASoC: rt*: Constify static struct sdw_slave_ops (Jaroslav Kysela) [1917388] - ASoC: wcd934x: remove useless return (Jaroslav Kysela) [1917388] - ASoC: wcd9335: clarify return value (Jaroslav Kysela) [1917388] - ASoC: wcd-clsh-v2: align function prototypes (Jaroslav Kysela) [1917388] - ASoC: codecs: wcd934x: add a sanity check in set channel map (Jaroslav Kysela) [1917388] - ASoC: es8316: Simplify adc_pga_gain_tlv table (Jaroslav Kysela) [1917388] - ASoC: sgtl5000: set DAP_AVC_CTRL register to correct default value on probe (Jaroslav Kysela) [1917388] - ASoC: rt5651: Fix dac- and adc- vol-tlv values being off by a factor of 10 (Jaroslav Kysela) [1917388] - ASoC: rt5640: Fix dac- and adc- vol-tlv values being off by a factor of 10 (Jaroslav Kysela) [1917388] - ASoC: rt5670: Add emulated 'DAC1 Playback Switch' control (Jaroslav Kysela) [1917388] - ASoC: rt5670: Remove ADC vol-ctrl mute bits poking from Sto1 ADC mixer settings (Jaroslav Kysela) [1917388] - ASoC: rt5670: Remove 'HP Playback Switch' control (Jaroslav Kysela) [1917388] - ASoC: rt5670: Remove 'OUT Channel Switch' control (Jaroslav Kysela) [1917388] - ASoC: rt1015: fix i2c communication error (Jaroslav Kysela) [1917388] - ASoC: codec: Add driver for JZ4760 internal codec (Jaroslav Kysela) [1917388] - ASoC: codec/ingenic: Depend on MACH_INGENIC (Jaroslav Kysela) [1917388] - ASoC: codec: hdmi-codec: Support IEC958 encoded PCM format (Jaroslav Kysela) [1917388] - ASoC: rt5682: Fix panic in rt5682_jack_detect_handler happening during system shutdown (Jaroslav Kysela) [1917388] - ASoC: rt5682: do nothing in rt5682_suspend/resume in sdw mode (Jaroslav Kysela) [1917388] - ASoC: rt5682-sdw: cancel_work_sync() in .remove and .suspend (Jaroslav Kysela) [1917388] - ASoC: rt711-sdw: use cancel_work_sync() for .remove (Jaroslav Kysela) [1917388] - ASoC: rt700-sdw: use cancel_work_sync() in .remove as well as .suspend (Jaroslav Kysela) [1917388] - ASoC: mt6359: reduce log verbosity for optional DT properties (Jaroslav Kysela) [1917388] - ASoC: codecs: add missing max_register in regmap config (Jaroslav Kysela) [1917388] - ASoC: cpcap: fix microphone timeslot mask (Jaroslav Kysela) [1917388] - ASoC: rt5659: Add Kconfig prompt (Jaroslav Kysela) [1917388] - ASoC: max98373: Fixes a typo in max98373_feedback_get (Jaroslav Kysela) [1917388] - ASoC: ak4458: correct reset polarity (Jaroslav Kysela) [1917388] - ASoC: rt5682: remove connection with LDO2 in DAPM graph (Jaroslav Kysela) [1917388] - ASoC: ml26124: sync parameter naming (rate/sample_bits) (Jaroslav Kysela) [1917388] - ASoC: lm49453: sync parameter naming (rate/sample_bits) (Jaroslav Kysela) [1917388] - ASoC: inno_rk3036: sync parameter naming (rate/sample_bits) (Jaroslav Kysela) [1917388] - ASoC: cx2072x: sync parameter naming (rate/sample_bits) (Jaroslav Kysela) [1917388] - ASoC: alc5632: sync parameter naming (rate/sample_bits) (Jaroslav Kysela) [1917388] - ASoC: ab8500: sync parameter naming (rate/sample_bits) (Jaroslav Kysela) [1917388] - ASoC: lochnagar-sc: sync parameter naming (rate/sample_bits) (Jaroslav Kysela) [1917388] - ASoC: mt6660: sync parameter naming (rate/sample_bits) (Jaroslav Kysela) [1917388] - ASoC: mc13783: sync parameter naming (rate/sample_bits) (Jaroslav Kysela) [1917388] - ASoC: sgtl5000: sync parameter naming (rate/sample_bits) (Jaroslav Kysela) [1917388] - ASoC: ssm2602: sync parameter naming (rate/sample_bits) (Jaroslav Kysela) [1917388] - ASoC: zl38060: sync parameter naming (rate/sample_bits) (Jaroslav Kysela) [1917388] - ASoC: jz4740: sync parameter naming (rate/sample_bits) (Jaroslav Kysela) [1917388] - ASoC: ak*: sync parameter naming (rate/sample_bits) (Jaroslav Kysela) [1917388] - ASoC: tscs*: sync parameter naming (rate/sample_bits) (Jaroslav Kysela) [1917388] - ASoC: max*: sync parameter naming (rate/sample_bits) (Jaroslav Kysela) [1917388] - ASoC: es*: sync parameter naming (rate/sample_bits) (Jaroslav Kysela) [1917388] - ASoC: da*: sync parameter naming (rate/sample_bits) (Jaroslav Kysela) [1917388] - ASoC: nau*: sync parameter naming (rate/sample_bits) (Jaroslav Kysela) [1917388] - ASoC: rt*: sync parameter naming (rate/sample_bits) (Jaroslav Kysela) [1917388] - ASoC: tlv*: sync parameter naming (rate/sample_bits) (Jaroslav Kysela) [1917388] - ASoC: wm*: sync parameter naming (rate/sample_bits) (Jaroslav Kysela) [1917388] - ASoC: remove sirf prima/atlas drivers (Jaroslav Kysela) [1917388] - ASoC: codecs: soundwire: increase resume timeout (Jaroslav Kysela) [1917388] - ASoC: es8316: Fix possible NULL pointer deref in es8316_disable_jack_detect() (Jaroslav Kysela) [1917388] - ASoC: rt5682: enable fast discharge for headset unplugging (Jaroslav Kysela) [1917388] - ASoC: rt5682: fix getting the wrong device id when the suspend_stress_test (Jaroslav Kysela) [1917388] - ASoC: rt5645: Enable internal microphone and JD on ECS EF20 (Jaroslav Kysela) [1917388] - ASoC: rt5645: add inv_hp_det flag (Jaroslav Kysela) [1917388] - ASoC: rt5645: Add ACPI-defined GPIO for ECS EF20 series (Jaroslav Kysela) [1917388] - ASoC: rt5645: Introduce mapping for ACPI-defined GPIO (Jaroslav Kysela) [1917388] - ASoC: rt1015: re-calibrate again when resuming (Jaroslav Kysela) [1917388] - ASoC: rt5645: Remove the redundant delay time (Jaroslav Kysela) [1917388] - ASoC: rt1015: remove unneeded variables in rt1015_priv (Jaroslav Kysela) [1917388] - ASoC: rt1015: refactor retry loop and rt1015_priv allocation (Jaroslav Kysela) [1917388] - ASoC: rt1015: return error if any when setting bypass_boost (Jaroslav Kysela) [1917388] - ASoC: rt1015: save boost_mode only if valid (Jaroslav Kysela) [1917388] - ASoC: rt1015: sort header inclusions (Jaroslav Kysela) [1917388] - ASoC: Intel: common: Fix some typos (Jaroslav Kysela) [1917388] - ASoC: soc.h: remove for_each_rtd_dais_rollback() (Jaroslav Kysela) [1917388] - ASoC: soc.h: return error if multi platform at snd_soc_fixup_dai_links_platform_name() (Jaroslav Kysela) [1917388] - ASoC: soc.h: fixup return timing for snd_soc_fixup_dai_links_platform_name() (Jaroslav Kysela) [1917388] - ASoC: soc.h: add asoc_link_to_cpu/codec/platform() macro (Jaroslav Kysela) [1917388] - ASoC: add soc-jack.h (Jaroslav Kysela) [1917388] - ASoC: soc-dai.h: Align the word of comment for SND_SOC_DAIFMT_CBC_CFC (Jaroslav Kysela) [1917388] - ASoC: soc-core: fix always-false condition (Jaroslav Kysela) [1917388] - ASoC: soc-core: fix signed/unsigned issue (Jaroslav Kysela) [1917388] - ASoC: soc-acpi: remove useless initialization (Jaroslav Kysela) [1917388] - ASoC: soc-pcm: ignore dummy-DAI at soc_pcm_params_symmetry() (Jaroslav Kysela) [1917388] - ASoC: soc-utils: add snd_soc_component_is_dummy() (Jaroslav Kysela) [1917388] - ASoC: soc-pcm: indicate DAI name if soc_pcm_params_symmetry() failed (Jaroslav Kysela) [1917388] - ASoC: soc-pcm: don't use "name" on __soc_pcm_params_symmetry() macro (Jaroslav Kysela) [1917388] - ASoC: core: Don't set platform name when of_node is set (Jaroslav Kysela) [1917388] - ASoC: soc-compress: lock pcm_mutex to resolve lockdep error (Jaroslav Kysela) [1917388] - ASoC: soc-core: use device_unregister() if rtd allocation failed (Jaroslav Kysela) [1917388] - ASoC: soc-core: add comment for rtd freeing (Jaroslav Kysela) [1917388] - ASoC: soc-component: Add snd_soc_pcm_component_ack (Jaroslav Kysela) [1917388] - ASoC: don't indicate error message for snd_soc_[pcm_]component_xxx() (Jaroslav Kysela) [1917388] - ASoC: don't indicate error message for snd_soc_[pcm_]dai_xxx() (Jaroslav Kysela) [1917388] - ASoC: soc-pcm: don't indicate error message for dpcm_be_dai_hw_free() (Jaroslav Kysela) [1917388] - ASoC: soc-pcm: don't indicate error message for soc_pcm_hw_free() (Jaroslav Kysela) [1917388] - ASoC: soc-pcm: indicate error message at dpcm_fe/be_dai_prepare() (Jaroslav Kysela) [1917388] - ASoC: soc-pcm: indicate error message at dpcm_fe/be_dai_hw_params() (Jaroslav Kysela) [1917388] - ASoC: soc-pcm: indicate error message at dpcm_fe/be_dai_startup() (Jaroslav Kysela) [1917388] - ASoC: soc-pcm: indicate error message at dpcm_run_update_startup/shutdown() (Jaroslav Kysela) [1917388] - ASoC: soc-pcm: indicate error message at dpcm_apply_symmetry() (Jaroslav Kysela) [1917388] - ASoC: soc-pcm: indicate error message at dpcm_be_dai_trigger() (Jaroslav Kysela) [1917388] - ASoC: soc-pcm: indicate error message at dpcm_path_get() (Jaroslav Kysela) [1917388] - ASoC: soc-pcm: indicate error message at soc_pcm_prepare() (Jaroslav Kysela) [1917388] - ASoC: soc-pcm: indicate error message at soc_pcm_hw_params() (Jaroslav Kysela) [1917388] - ASoC: soc-pcm: indicate error message at soc_pcm_open() (Jaroslav Kysela) [1917388] - ASoC: soc-pcm: share DPCM BE DAI stop operation (Jaroslav Kysela) [1917388] - ASoC: soc-pcm: remove unneeded !rtd->dai_link check (Jaroslav Kysela) [1917388] - ASoC: soc-pcm: fixup dpcm_be_dai_startup() user count (Jaroslav Kysela) [1917388] - ASoC: soc-pcm: add soc_hw_sanity_check() (Jaroslav Kysela) [1917388] - ASoC: soc-pcm: add soc_pcm_update_symmetry() (Jaroslav Kysela) [1917388] - ASoC: soc-pcm: direct copy at snd_soc_set_runtime_hwparams() (Jaroslav Kysela) [1917388] - ASoC: soc-pcm: add soc_cpu/codec_dai_name() macro (Jaroslav Kysela) [1917388] - ASoC: soc-pcm: check DAI activity under soc_pcm_apply_symmetry() (Jaroslav Kysela) [1917388] - ASoC: soc-core: fix DMI handling (Jaroslav Kysela) [1917388] - ASoC: soc-dai: fix kernel-doc (Jaroslav Kysela) [1917388] - ASoC: soc-pcm: add error log (Jaroslav Kysela) [1917388] - ASoC: soc-pcm: remove shadowing variable (Jaroslav Kysela) [1917388] - ASoC: soc-pcm: remove redundant assignment (Jaroslav Kysela) [1917388] - ASoC: soc-ops: remove useless assignment (Jaroslav Kysela) [1917388] - ASoC: soc-pcm: unpack dpcm_set_fe_runtime() (Jaroslav Kysela) [1917388] - ASoC: soc-pcm: add dpcm_runtime_setup() (Jaroslav Kysela) [1917388] - ASoC: soc-pcm: add dpcm_runtime_setup_fe() (Jaroslav Kysela) [1917388] - ASoC: soc-pcm: unpack dpcm_init_runtime_hw() (Jaroslav Kysela) [1917388] - ASoC: soc-pcm: remove strange format storing (Jaroslav Kysela) [1917388] - ASoC: soc-core: Prevent warning if no DMI table is present (Jaroslav Kysela) [1917388] - ASoC: soc-pcm: fix hw param limits calculation for multi-DAI (Jaroslav Kysela) [1917388] - ASoC: soc-pcm: fix hwparams min/max init for dpcm (Jaroslav Kysela) [1917388] - ASoC: soc-pcm: add soc_pcm_hw_update_format() (Jaroslav Kysela) [1917388] - ASoC: soc-pcm: add soc_pcm_hw_update_chan() (Jaroslav Kysela) [1917388] - ASoC: soc-pcm: add soc_pcm_hw_update_rate() (Jaroslav Kysela) [1917388] - ASoC: soc-pcm: change error message to debug message (Jaroslav Kysela) [1917388] - ASoC: dapm: use component prefix when checking widget names (Jaroslav Kysela) [1917388] - ASoC: soc-pcm: fixup snd_pcm_limit_hw_rates() timing (Jaroslav Kysela) [1917388] - ASoC: soc-pcm: use snd_pcm_hardware at dpcm_runtime_merge_xxx() (Jaroslav Kysela) [1917388] - ASoC: soc-pcm: add soc_create_pcm() and simplify soc_new_pcm() (Jaroslav Kysela) [1917388] - ASoC: soc-pcm: add soc_get_playback_capture() and simplify soc_new_pcm() (Jaroslav Kysela) [1917388] - ASoC: soc-pcm: tidyup pcm setting (Jaroslav Kysela) [1917388] - ASoC: soc-component: fix undefined reference to __ffssi2 (Jaroslav Kysela) [1917388] - ASoC: soc-component: add snd_soc_component_read/write_field() (Jaroslav Kysela) [1917388] - ASoC: soc-pcm: cleanup soc_pcm_params_symmetry() (Jaroslav Kysela) [1917388] - ASoC: soc-pcm: cleanup soc_pcm_apply_symmetry() (Jaroslav Kysela) [1917388] - ASoC: soc-dai.h: remove symmetric_rates/samplebits (Jaroslav Kysela) [1917388] - ASoC: soc-pcm: add soc_pcm_set_dai_params() (Jaroslav Kysela) [1917388] - ASoC: soc-pcm: add dpcm_set_be_update_state() (Jaroslav Kysela) [1917388] - ASoC: soc-pcm: move dpcm_set_fe_update_state() (Jaroslav Kysela) [1917388] - ASoC: soc-pcm: Fix an uninitialized error code (Jaroslav Kysela) [1917388] - ASoC: soc-pcm: return correct -ERRNO in failure path (Jaroslav Kysela) [1917388] - ASoC: soc-pcm: disconnect BEs if the FE is not ready (Jaroslav Kysela) [1917388] - ASoC: dapm: remove widget from dirty list on free (Jaroslav Kysela) [1917388] - ASoC: soc-pcm: care trigger rollback (Jaroslav Kysela) [1917388] - ASoC: soc-pcm: remove dpcm_do_trigger() (Jaroslav Kysela) [1917388] - ASoC: pcm: send DAPM_STREAM_STOP event in dpcm_fe_dai_shutdown (Jaroslav Kysela) [1917388] - ASoC: soc-core: tidyup jack.h (Jaroslav Kysela) [1917388] - ASoC: soc-core: add soc_dapm_suspend_resume() (Jaroslav Kysela) [1917388] - ASoC: soc-core: add soc_playback_digital_mute() (Jaroslav Kysela) [1917388] - ASoC: soc-compress: add soc_compr_clean() and call it from soc_compr_open/free() (Jaroslav Kysela) [1917388] - ASoC: soc-component: add mark for snd_soc_link_compr_startup/shutdown() (Jaroslav Kysela) [1917388] - ASoC: soc-component: add mark for snd_soc_component_compr_open/free() (Jaroslav Kysela) [1917388] - ASoC: soc-dai: add mark for snd_soc_dai_compr_startup/shutdown() (Jaroslav Kysela) [1917388] - ASoC: soc-compress: move soc_compr_free() next to soc_compr_open() (Jaroslav Kysela) [1917388] - ASoC: pcm: call snd_soc_dapm_stream_stop() in soc_pcm_hw_clean (Jaroslav Kysela) [1917388] - ASoC: soc-component: add snd_soc_component_compr_get_metadata() (Jaroslav Kysela) [1917388] - ASoC: soc-component: add snd_soc_component_compr_set_metadata() (Jaroslav Kysela) [1917388] - ASoC: soc-component: add snd_soc_component_compr_copy() (Jaroslav Kysela) [1917388] - ASoC: soc-component: add snd_soc_component_compr_pointer() (Jaroslav Kysela) [1917388] - ASoC: soc-component: add snd_soc_component_compr_ack() (Jaroslav Kysela) [1917388] - ASoC: soc-component: add snd_soc_component_compr_get_codec_caps() (Jaroslav Kysela) [1917388] - ASoC: soc-component: add snd_soc_component_compr_get_caps() (Jaroslav Kysela) [1917388] - ASoC: soc-component: add snd_soc_component_compr_get_params() (Jaroslav Kysela) [1917388] - ASoC: soc-component: add snd_soc_component_compr_set_params() (Jaroslav Kysela) [1917388] - ASoC: soc-component: add snd_soc_component_compr_trigger() (Jaroslav Kysela) [1917388] - ASoC: soc-component: add snd_soc_component_compr_free() (Jaroslav Kysela) [1917388] - ASoC: soc-component: add snd_soc_component_compr_open() (Jaroslav Kysela) [1917388] - ASoC: soc-pcm: Get all BEs along DAPM path (Jaroslav Kysela) [1917388] - ASoC: soc-core: Fix component name_prefix parsing (Jaroslav Kysela) [1917388] - ASoC: soc-compress: assume SNDRV_PCM_STREAM_xxx and SND_COMPRESS_xxx are same (Jaroslav Kysela) [1917388] - ASoC: soc-compress: tidyup STREAM vs COMPRESS (Jaroslav Kysela) [1917388] - ASoC: soc-topology: clarify expression (Jaroslav Kysela) [1917388] - ASoC: sync parameter naming : rate / sample_bits (Jaroslav Kysela) [1917388] - ASoC: topology: Check if ops is set before dereference (Jaroslav Kysela) [1917388] - ASoC: topology: Ensure that needed parameters are set (Jaroslav Kysela) [1917388] - ASoC: soc-pcm: add soc_pcm_hw_clean() and call it from soc_pcm_hw_params/free() (Jaroslav Kysela) [1917388] - ASoC: soc-dai: add mark for snd_soc_dai_hw_params/free() (Jaroslav Kysela) [1917388] - ASoC: soc-component: add mark for snd_soc_pcm_component_hw_params/free() (Jaroslav Kysela) [1917388] - ASoC: soc-link: add mark for snd_soc_link_hw_params/free() (Jaroslav Kysela) [1917388] - ASoC: soc-pcm: move soc_pcm_hw_free() next to soc_pcm_hw_params() (Jaroslav Kysela) [1917388] - ASoC: dapm: use semicolons rather than commas to separate statements (Jaroslav Kysela) [1917388] - ASoC: dmaengine: Document support for TX only or RX only streams (Jaroslav Kysela) [1917388] - ASoC: soc-core: use devm_snd_soc_register_card() (Jaroslav Kysela) [1917388] - ALSA: usb: Use DIV_ROUND_UP() instead of open-coding it (Jaroslav Kysela) [1917388] - ALSA: usb-audio: Fix control 'access overflow' errors from chmap (Jaroslav Kysela) [1917388] - ALSA: line6: Fix racy initialization of LINE6 MIDI (Jaroslav Kysela) [1917388] - ALSA: usb-audio: Disable sample read check if firmware doesn't give back (Jaroslav Kysela) [1917388] - ALSA: usb-audio: scarlett2: snd_scarlett_gen2_controls_create() can be static (Jaroslav Kysela) [1917388] - ALSA: usb-audio: scarlett2: Improve driver startup messages (Jaroslav Kysela) [1917388] - ALSA: usb-audio: scarlett2: Fix device hang with ehci-pci (Jaroslav Kysela) [1917388] - ALSA: usb-audio: fix control-request direction (Jaroslav Kysela) [1917388] - ALSA: usb-audio: Fix potential out-of-bounce access in MIDI EP parser (Jaroslav Kysela) [1917388] - ALSA: usb-audio: Validate MS endpoint descriptors (Jaroslav Kysela) [1917388] - ALSA: usb-audio: Add dB range mapping for Sennheiser Communications Headset PC 8 (Jaroslav Kysela) [1917388] - ALSA: usb-audio: Remove redundant assignment to len (Jaroslav Kysela) [1917388] - ALSA: usb-audio: Fix implicit sync clearance at stopping stream (Jaroslav Kysela) [1917388] - ALSA: usb-audio: Generic application of implicit fb to Roland/BOSS devices (Jaroslav Kysela) [1917388] - Revert "ALSA: usb-audio: Add support for many Roland devices..." (Jaroslav Kysela) [1917388] - ALSA: usb: midi: don't return -ENOMEM when usb_urb_ep_type_check fails (Jaroslav Kysela) [1917388] - ALSA: usb-audio: Re-apply implicit feedback mode to Pioneer devices (Jaroslav Kysela) [1917388] - ALSA: usb-audio: DJM-750: ensure format is set (Jaroslav Kysela) [1917388] - ALSA: usb-audio: Add support for many Roland devices' implicit feedback quirks (Jaroslav Kysela) [1917388] - ALSA: usb-audio: Apply implicit feedback mode for BOSS devices (Jaroslav Kysela) [1917388] - ALSA: usb-audio: Explicitly set up the clock selector (Jaroslav Kysela) [1917388] - ALSA: usb-audio: Add MIDI quirk for Vox ToneLab EX (Jaroslav Kysela) [1917388] - ALSA: usb-audio: Skip probe of UA-101 devices (Jaroslav Kysela) [1917388] - ALSA: usb-audio: Drop implicit fb quirk entries dubbed for capture (Jaroslav Kysela) [1917388] - ALSA: usb-audio: Add implicit feeback support for the BOSS GT-1 (Jaroslav Kysela) [1917388] - ALSA: usb-audio: Add error checks for usb_driver_claim_interface() calls (Jaroslav Kysela) [1917388] - ALSA: usb-audio: Apply sample rate quirk to Logitech Connect (Jaroslav Kysela) [1917388] - ALSA: usb-audio: Check connector value on resume (Jaroslav Kysela) [1917388] - ALSA: usb-audio: Carve out connector value checking into a helper (Jaroslav Kysela) [1917388] - ALSA: usb-audio: Fix unintentional sign extension issue (Jaroslav Kysela) [1917388] - ALSA: usb-audio: Apply the control quirk to Plantronics headsets (Jaroslav Kysela) [1917388] - ALSA: usb: Add Plantronics C320-M USB ctrl msg delay quirk (Jaroslav Kysela) [1917388] - ALSA: usb-audio: Fix "cannot get freq eq" errors on Dell AE515 sound bar (Jaroslav Kysela) [1917388] - ALSA: usb-audio: fix Pioneer DJM-850 control label info (Jaroslav Kysela) [1917388] - ALSA: usb-audio: Configure Pioneer DJM-850 samplerate (Jaroslav Kysela) [1917388] - ALSA: usb-audio: Declare Pioneer DJM-850 mixer controls (Jaroslav Kysela) [1917388] - ALSA: usb-audio: Add Pioneer DJM-850 to quirks-table (Jaroslav Kysela) [1917388] - ALSA: usb-audio: Fix Pioneer DJM devices URB_CONTROL request direction to set samplerate (Jaroslav Kysela) [1917388] - ALSA: usb-audio: use Corsair Virtuoso mapping for Corsair Virtuoso SE (Jaroslav Kysela) [1917388] - ALSA: usb-audio: generate midi streaming substream names from jack names (Jaroslav Kysela) [1917388] - ALSA: usb-audio: use usb headers rather than define structs locally (Jaroslav Kysela) [1917388] - ALSA: usb-audio: Allow modifying parameters with succeeding hw_params calls (Jaroslav Kysela) [1917388] - ALSA: usb-audio: Drop bogus dB range in too low level (Jaroslav Kysela) [1917388] - ALSA: usb-audio: Don't abort even if the clock rate differs (Jaroslav Kysela) [1917388] - ALSA: usb-audio: Add implicit fb quirk for BOSS GP-10 (Jaroslav Kysela) [1917388] - ALSA: usb-audio: Add quirk for RC-505 (Jaroslav Kysela) [1917388] - ALSA: usb-audio: Don't avoid stopping the stream at disconnection (Jaroslav Kysela) [1917388] - ALSA: usb-audio: More strict state change in EP (Jaroslav Kysela) [1917388] - ALSA: usb-audio: Handle invalid running state at releasing EP (Jaroslav Kysela) [1917388] - ALSA: usb-audio: add mixer quirks for Pioneer DJM-900NXS2 (Jaroslav Kysela) [1917388] - ALSA: usb-audio: Add DJM750 to Pioneer mixer quirk (Jaroslav Kysela) [1917388] - ALSA: Convert strlcpy to strscpy when return value is unused (Jaroslav Kysela) [1917388] - ALSA: usb-audio: Fix PCM buffer allocation in non-vmalloc mode (Jaroslav Kysela) [1917388] - ALSA: usb-audio: Correct document for snd_usb_endpoint_free_all() (Jaroslav Kysela) [1917388] - ALSA: usb-audio: Add DJM-450 to the quirks table (Jaroslav Kysela) [1917388] - ALSA: usb-audio: Add DJM450 to Pioneer format quirk (Jaroslav Kysela) [1917388] - ALSA: usb-audio: workaround for iface reset issue (Jaroslav Kysela) [1917388] - ALSA: usb-audio: Fix "RANGE setting not yet supported" errors (Jaroslav Kysela) [1917388] - ALSA: usb-audio: Skip the clock selector inquiry for single connections (Jaroslav Kysela) [1917388] - ALSA: usb-audio: Fix hw constraints dependencies (Jaroslav Kysela) [1917388] - ALSA: usb-audio: Add support for Pioneer DJM-750 (Jaroslav Kysela) [1917388] - ALSA: usb-audio: Avoid implicit feedback on Pioneer devices (Jaroslav Kysela) [1917388] - ALSA: usb-audio: Set sample rate for all sharing EPs on UAC1 (Jaroslav Kysela) [1917388] - ALSA: usb-audio: Fix UAC1 rate setup for secondary endpoints (Jaroslav Kysela) [1917388] - ALSA: usb-audio: Convert the last strlcpy() usage (Jaroslav Kysela) [1917388] - ALSA: usb-audio: Convert remaining strlcpy() to strscpy() (Jaroslav Kysela) [1917388] - ALSA: usb-audio: Always apply the hw constraints for implicit fb sync (Jaroslav Kysela) [1917388] - ALSA: usb-audio: Fix implicit feedback sync setup for Pioneer devices (Jaroslav Kysela) [1917388] - ALSA: usb-audio: Annotate the endpoint index in audioformat (Jaroslav Kysela) [1917388] - ALSA: usb-audio: Avoid unnecessary interface re-setup (Jaroslav Kysela) [1917388] - ALSA: usb-audio: Choose audioformat of a counter-part substream (Jaroslav Kysela) [1917388] - ALSA: usb-audio: Fix the missing endpoints creations for quirks (Jaroslav Kysela) [1917388] - ALSA: usb-audio: Add quirk for BOSS AD-10 (Jaroslav Kysela) [1917388] - ALSA: usb-audio: Fix UBSAN warnings for MIDI jacks (Jaroslav Kysela) [1917388] - ALSA: usb-audio: Add alias entry for ASUS PRIME TRX40 PRO-S (Jaroslav Kysela) [1917388] - ALSA: usb-audio: Add VID to support native DSD reproduction on FiiO devices (Jaroslav Kysela) [1917388] - ALSA: usb-audio: Fix potential out-of-bounds shift (Jaroslav Kysela) [1917388] - ALSA: usb-audio: Add implicit fb support for Steinberg UR22 (Jaroslav Kysela) [1917388] - ALSA: usb-audio: Add support for Pioneer DJ DDJ-RR controller (Jaroslav Kysela) [1917388] - ALSA: usb-audio: US16x08: fix value count for level meters (Jaroslav Kysela) [1917388] - ALSA: usb-audio: Fix MOTU M-Series quirks (Jaroslav Kysela) [1917388] - ALSA: usb-audio: Fix quirks for other BOSS devices (Jaroslav Kysela) [1917388] - ALSA: usb-audio: Add implicit_fb module option (Jaroslav Kysela) [1917388] - ALSA: usb-audio: Add generic implicit fb parsing (Jaroslav Kysela) [1917388] - ALSA: usb-audio: Factor out the implicit feedback quirk code (Jaroslav Kysela) [1917388] - ALSA: usb-audio: Quirk for BOSS GT-001 (Jaroslav Kysela) [1917388] - ALSA: usb-audio: Show sync endpoint information in proc outputs (Jaroslav Kysela) [1917388] - ALSA: usb-audio: Use unsigned char for iface and altsettings fields (Jaroslav Kysela) [1917388] - ALSA: usb-audio: Replace slave/master terms (Jaroslav Kysela) [1917388] - ALSA: usb-audio: Simplify rate_min/max and rates set up (Jaroslav Kysela) [1917388] - ALSA: usb-audio: Unify the code for the next packet size calculation (Jaroslav Kysela) [1917388] - ALSA: usb-audio: Drop unneeded snd_usb_substream fields (Jaroslav Kysela) [1917388] - ALSA: usb-audio: Refactoring endpoint URB deactivation (Jaroslav Kysela) [1917388] - ALSA: usb-audio: Use atomic_t for endpoint use_count (Jaroslav Kysela) [1917388] - ALSA: usb-audio: Constify audioformat pointer references (Jaroslav Kysela) [1917388] - ALSA: usb-audio: Fix possible stall of implicit fb packet ring-buffer (Jaroslav Kysela) [1917388] - ALSA: usb-audio: Refactor endpoint management (Jaroslav Kysela) [1917388] - ALSA: usb-audio: Fix EP matching for continuous rates (Jaroslav Kysela) [1917388] - ALSA: usb-audio: Always set up the parameters after resume (Jaroslav Kysela) [1917388] - ALSA: usb-audio: Add quirk for Pioneer DJ DDJ-SR2 (Jaroslav Kysela) [1917388] - ALSA: usb-audio: Set callbacks via snd_usb_endpoint_set_callback() (Jaroslav Kysela) [1917388] - ALSA: usb-audio: Stop both endpoints properly at error (Jaroslav Kysela) [1917388] - ALSA: usb-audio: Simplify snd_usb_init_pitch() arguments (Jaroslav Kysela) [1917388] - ALSA: usb-audio: Simplify snd_usb_init_sample_rate() arguments (Jaroslav Kysela) [1917388] - ALSA: usb-audio: Don't set altsetting before initializing sample rate (Jaroslav Kysela) [1917388] - ALSA: usb-audio: Pass snd_usb_audio object to quirk functions (Jaroslav Kysela) [1917388] - ALSA: usb-audio: Add snd_usb_get_host_interface() helper (Jaroslav Kysela) [1917388] - ALSA: usb-audio: Drop keep_interface flag again (Jaroslav Kysela) [1917388] - ALSA: usb-audio: Create endpoint objects at parsing phase (Jaroslav Kysela) [1917388] - ALSA: usb-audio: Avoid doubly initialization for implicit fb (Jaroslav Kysela) [1917388] - ALSA: usb-audio: Drop debug.h (Jaroslav Kysela) [1917388] - ALSA: usb-audio: Simplify hw_params rules (Jaroslav Kysela) [1917388] - ALSA: usb-audio: Add hw constraint for implicit fb sync (Jaroslav Kysela) [1917388] - ALSA: usb-audio: Move snd_usb_autoresume() call out of setup_hw_info() (Jaroslav Kysela) [1917388] - ALSA: usb-audio: Track implicit fb sync endpoint in audioformat list (Jaroslav Kysela) [1917388] - ALSA: usb-audio: Improve some debug prints (Jaroslav Kysela) [1917388] - ALSA: usb-audio: Set and clear sync EP link properly (Jaroslav Kysela) [1917388] - ALSA: usb-audio: Add snd_usb_get_endpoint() helper (Jaroslav Kysela) [1917388] - ALSA: usb-audio: Check implicit feedback EP generically for UAC2 (Jaroslav Kysela) [1917388] - ALSA: usb-audio: Check valid altsetting at parsing rates for UAC2/3 (Jaroslav Kysela) [1917388] - ALSA: usb-audio: Don't call usb_set_interface() at trigger callback (Jaroslav Kysela) [1917388] - ALSA: usb-audio: Handle discrete rates properly in hw constraints (Jaroslav Kysela) [1917388] - ALSA: usb-audio: Add delay quirk for all Logitech USB devices (Jaroslav Kysela) [1917388] - ALSA: usb-audio: Use ALC1220-VB-DT mapping for ASUS ROG Strix TRX40 mobo (Jaroslav Kysela) [1917388] - ALSA: usb-audio: Add implicit feedback quirk for Qu-16 (Jaroslav Kysela) [1917388] - ALSA: usb-audio: Add implicit feedback quirk for MODX (Jaroslav Kysela) [1917388] - ALSA: usb-audio: add usb vendor id as DSD-capable for Khadas devices (Jaroslav Kysela) [1917388] - ALSA: usb-audio: Add implicit feedback quirk for Zoom UAC-2 (Jaroslav Kysela) [1917388] - ALSA: usb-audio: Line6 Pod Go interface requires static clock rate quirk (Jaroslav Kysela) [1917388] - ALSA: usb-audio: Add mixer support for Pioneer DJ DJM-250MK2 (Jaroslav Kysela) [1917388] - ALSA: hda/realtek: reset eapd coeff to default value for alc287 (Jaroslav Kysela) [1917388] - ALSA: hda/hdmi: Cancel pending works before suspend (Jaroslav Kysela) [1917388] - ALSA: hda/ca0132: Fix compile warning without PCI (Jaroslav Kysela) [1917388] - ALSA: hda/ca0132: Move unsol callback setups to parser (Jaroslav Kysela) [1917388] - ALSA: hda/ca0132: make some const arrays static, makes object smaller (Jaroslav Kysela) [1917388] - ALSA: hda/ca0132 - Add ZxR surround DAC setup. (Jaroslav Kysela) [1917388] - ALSA: hda/ca0132 - Add 8051 PLL write helper functions. (Jaroslav Kysela) [1917388] - ALSA: hda/ca0132 - Remove now unnecessary DSP setup functions. (Jaroslav Kysela) [1917388] - ALSA: hda/ca0132 - Ensure DSP is properly setup post-firmware download. (Jaroslav Kysela) [1917388] - ALSA: hda/ca0132 - Add 8051 exram helper functions. (Jaroslav Kysela) [1917388] - ALSA: hda/ca0132 - Add stream port remapping function. (Jaroslav Kysela) [1917388] - ALSA: hda/ca0132 - Reset codec upon initialization. (Jaroslav Kysela) [1917388] - ALSA: hda/ca0132 - Change Input Source enum strings. (Jaroslav Kysela) [1917388] - ALSA: hda/ca0132 - Fix AE-5 rear headphone pincfg. (Jaroslav Kysela) [1917388] - ALSA: hda: Reinstate runtime_allow() for all hda controllers (Jaroslav Kysela) [1917388] - ACPI: Test for ACPI_SUCCESS rather than !ACPI_FAILURE (Jaroslav Kysela) [1917388] - ALSA: hda: Flush pending unsolicited events before suspend (Jaroslav Kysela) [1917388] - ALSA: hda: Re-add dropped snd_poewr_change_state() calls (Jaroslav Kysela) [1917388] - ALSA: hda: Add missing sanity checks in PM prepare/complete callbacks (Jaroslav Kysela) [1917388] - ALSA: hda: Separate runtime and system suspend (Jaroslav Kysela) [1917388] - ALSA: hda: update the power_state during the direct-complete (Jaroslav Kysela) [1917388] - ALSA: hda: Balance runtime/system PM if direct-complete is disabled (Jaroslav Kysela) [1917388] - ALSA: hda: Refactor codec PM to use direct-complete optimization (Jaroslav Kysela) [1917388] - ALSA: hda/cirrus: Set Initial DMIC volume to -26 dB (Jaroslav Kysela) [1917388] - ALSA: hda: Fix a regression in Capture Switch mixer read (Jaroslav Kysela) [1917388] - ALSA: hda: Add AlderLake-M PCI ID (Jaroslav Kysela) [1917388] - ALSA: hda/realtek: fix mute/micmute LEDs and speaker for HP Zbook Fury 17 G8 (Jaroslav Kysela) [1917388] - ALSA: hda/realtek: fix mute/micmute LEDs and speaker for HP Zbook Fury 15 G8 (Jaroslav Kysela) [1917388] - ALSA: hda/realtek: fix mute/micmute LEDs and speaker for HP Zbook G8 (Jaroslav Kysela) [1917388] - ALSA: hda/realtek: fix mute/micmute LEDs for HP 855 G8 (Jaroslav Kysela) [1917388] - ALSA: hda/realtek: Chain in pop reduction fixup for ThinkStation P340 (Jaroslav Kysela) [1917388] - ALSA: hda/realtek: the bass speaker can't output sound on Yoga 9i (Jaroslav Kysela) [1917388] - ALSA: hda/realtek: Headphone volume is controlled by Front mixer (Jaroslav Kysela) [1917388] - ALSA: hda/realtek: Add some CLOVE SSIDs of ALC293 (Jaroslav Kysela) [1917388] - ALSA: hda/realtek: Add fixup for HP Spectre x360 15-df0xxx (Jaroslav Kysela) [1917388] - ALSA: hda: fixup headset for ASUS GU502 laptop (Jaroslav Kysela) [1917388] - ALSA: hda: Fix for mute key LED for HP Pavilion 15-CK0xx (Jaroslav Kysela) [1917388] - ALSA: hda: generic: change the DAC ctl name for LO+SPK or LO+HP (Jaroslav Kysela) [1917388] - ALSA: hda/realtek: Add fixup for HP OMEN laptop (Jaroslav Kysela) [1917388] - ALSA: hda/realtek: Fix speaker amp on HP Envy AiO 32 (Jaroslav Kysela) [1917388] - ALSA: hda/realtek: Fix silent headphone output on ASUS UX430UA (Jaroslav Kysela) [1917388] - ALSA: hda/realtek: ALC285 Thinkpad jack pin quirk is unreachable (Jaroslav Kysela) [1917388] - ALSA: hda/conexant: Re-order CX5066 quirk table entries (Jaroslav Kysela) [1917388] - ALSA: hda/realtek: Remove redundant entry for ALC861 Haier/Uniwill devices (Jaroslav Kysela) [1917388] - ALSA: hda/realtek: Re-order ALC662 quirk table entries (Jaroslav Kysela) [1917388] - ALSA: hda/realtek: Re-order remaining ALC269 quirk table entries (Jaroslav Kysela) [1917388] - ALSA: hda/realtek: Re-order ALC269 Lenovo quirk table entries (Jaroslav Kysela) [1917388] - ALSA: hda/realtek: Re-order ALC269 Sony quirk table entries (Jaroslav Kysela) [1917388] - ALSA: hda/realtek: Re-order ALC269 ASUS quirk table entries (Jaroslav Kysela) [1917388] - ALSA: hda/realtek: Re-order ALC269 Dell quirk table entries (Jaroslav Kysela) [1917388] - ALSA: hda/realtek: Re-order ALC269 Acer quirk table entries (Jaroslav Kysela) [1917388] - ALSA: hda/realtek: Re-order ALC269 HP quirk table entries (Jaroslav Kysela) [1917388] - ALSA: hda/realtek: Re-order ALC882 Clevo quirk table entries (Jaroslav Kysela) [1917388] - ALSA: hda/realtek: Re-order ALC882 Sony quirk table entries (Jaroslav Kysela) [1917388] - ALSA: hda/realtek: Re-order ALC882 Acer quirk table entries (Jaroslav Kysela) [1917388] - ALSA: hda/realtek: Add quirk for Intel Clevo PCx0Dx (Jaroslav Kysela) [1917388] - ALSA: hda/cirrus: Use CS8409 filter to fix abnormal sounds on Bullseye (Jaroslav Kysela) [1917388] - ALSA: hda/cirrus: Set Initial DMIC volume for Bullseye to -26 dB (Jaroslav Kysela) [1917388] - ALSA: hda/realtek: fix static noise on ALC285 Lenovo laptops (Jaroslav Kysela) [1917388] - ALSA: hda/realtek: Enable mute/micmute LEDs and limit mic boost on EliteBook 845 G8 (Jaroslav Kysela) [1917388] - ALSA: hda/realtek - Headset Mic issue on HP platform (Jaroslav Kysela) [1917388] - ALSA: hda/realtek: GA503 use same quirks as GA401 (Jaroslav Kysela) [1917388] - ALSA: hda/hdmi: fix race in handling acomp ELD notification at resume (Jaroslav Kysela) [1917388] - ALSA: hda/realtek: fix mute/micmute LEDs for HP ProBook 445 G7 (Jaroslav Kysela) [1917388] - ALSA: hda/realtek: Add quirk for Lenovo Ideapad S740 (Jaroslav Kysela) [1917388] - ALSA: hda/realtek: fix mic boost on Intel NUC 8 (Jaroslav Kysela) [1917388] - ALSA: HDA: Add access description in __snd_hda_add_vmaster (Jaroslav Kysela) [1917388] - ALSA: hda/realtek: Fix speaker amp setup on Acer Aspire E1 (Jaroslav Kysela) [1917388] - ALSA: hda/conexant: Apply quirk for another HP ZBook G5 model (Jaroslav Kysela) [1917388] - ALSA: HDA - remove the custom implementation for the audio LED trigger (Jaroslav Kysela) [1917388] - ALSA: hda/realtek: fix mute/micmute LEDs for HP 640 G8 (Jaroslav Kysela) [1917388] - ALSA: hda/hdmi: fix max DP-MST dev_num for Intel TGL+ platforms (Jaroslav Kysela) [1917388] - ALSA: hda/realtek: call alc_update_headset_mode() in hp_automute_hook (Jaroslav Kysela) [1917388] - ALSA: hda/realtek: fix a determine_headset_type issue for a Dell AIO (Jaroslav Kysela) [1917388] - ALSA: hda/realtek: fix mute/micmute LEDs for HP 850 G8 (Jaroslav Kysela) [1917388] - ALSA: hda/realtek: fix mute/micmute LEDs for HP 440 G8 (Jaroslav Kysela) [1917388] - ALSA: hda/cirrus: Make CS8409 driver more generic by using fixups. (Jaroslav Kysela) [1917388] - ALSA: hda/cirrus: Fix CS42L42 Headset Mic volume control name (Jaroslav Kysela) [1917388] - ALSA: hda/cirrus: Cleanup patch_cirrus.c code. (Jaroslav Kysela) [1917388] - ALSA: hda/cirrus: Add error handling into CS8409 I2C functions (Jaroslav Kysela) [1917388] - ALSA: hda/realtek: fix mute/micmute LEDs for HP 840 G8 (Jaroslav Kysela) [1917388] - ALSA: hda/realtek: apply pin quirk for XiaomiNotebook Pro (Jaroslav Kysela) [1917388] - ALSA: hda/realtek: Apply headset-mic quirks for Xiaomi Redmibook Air (Jaroslav Kysela) [1917388] - ALSA: hda: generic: Fix the micmute led init state (Jaroslav Kysela) [1917388] - ALSA: hda/ca0132: Add Sound BlasterX AE-5 Plus support (Jaroslav Kysela) [1917388] - ALSA: hda: Drop the BATCH workaround for AMD controllers (Jaroslav Kysela) [1917388] - ALSA: hda/cirrus: Add Headphone and Headset MIC Volume Control (Jaroslav Kysela) [1917388] - ALSA: hda/cirrus: Add jack detect interrupt support from CS42L42 companion codec. (Jaroslav Kysela) [1917388] - ALSA: hda/cirrus: Add support for CS8409 HDA bridge and CS42L42 companion codec. (Jaroslav Kysela) [1917388] - ALSA: hda/cirrus: Increase AUTO_CFG_MAX_INS from 8 to 18 (Jaroslav Kysela) [1917388] - ALSA: hda/conexant: Add quirk for mute LED control on HP ZBook G5 (Jaroslav Kysela) [1917388] - ALSA: hda - bind headset buttons to the headphone jack (Jaroslav Kysela) [1917388] - ALSA: hda/realtek: Apply dual codec quirks for MSI Godlike X570 board (Jaroslav Kysela) [1917388] - ALSA: hda/realtek: Add quirk for Intel NUC 10 (Jaroslav Kysela) [1917388] - ALSA: hda/hdmi: let new platforms assign the pcm slot dynamically (Jaroslav Kysela) [1917388] - ALSA: hda/realtek: Add quirk for Clevo NH55RZQ (Jaroslav Kysela) [1917388] - ALSA: hda/realtek: Enable headset mic of Acer SWIFT with ALC256 (Jaroslav Kysela) [1917388] - ALSA: hda/realtek: Quirk for HP Spectre x360 14 amp setup (Jaroslav Kysela) [1917388] - ALSA: hda: Add another CometLake-H PCI ID (Jaroslav Kysela) [1917388] - ALSA: hda/hdmi: Drop bogus check at closing a stream (Jaroslav Kysela) [1917388] - ALSA: hda: Drop power save deny list entry for Clevo W65_67SB (Jaroslav Kysela) [1917388] - ALSA: hda/realtek: modify EAPD in the ALC886 (Jaroslav Kysela) [1917388] - ALSA: hda/via: Apply the workaround generically for Clevo machines (Jaroslav Kysela) [1917388] - ALSA: hda/tegra: Remove unnecessary null-check from hda_tegra_runtime_resume() (Jaroslav Kysela) [1917388] - ALSA: hda/tegra: Reset hardware (Jaroslav Kysela) [1917388] - ALSA: hda/tegra: Use clk_bulk helpers (Jaroslav Kysela) [1917388] - ALSA: hda: Assign boolean values to a bool variable (Jaroslav Kysela) [1917388] - ALSA: hda: boolean values to a bool variable (Jaroslav Kysela) [1917388] - ALSA: hda/realtek: Enable headset of ASUS B1400CEPE with ALC256 (Jaroslav Kysela) [1917388] - ALSA: pci: Simplify with dma_set_mask_and_coherent() (Jaroslav Kysela) [1917388] - ALSA: hda/via: Add minimum mute flag (Jaroslav Kysela) [1917388] - ALSA: hda/realtek - Limit int mic boost on Acer Aspire E5-575T (Jaroslav Kysela) [1917388] - ALSA: hda: Add AlderLake-P PCI ID and HDMI codec vid (Jaroslav Kysela) [1917388] - ALSA: hda/hdmi - enable runtime pm for CI AMD display audio (Jaroslav Kysela) [1917388] - ALSA: hda/tegra: fix tegra-hda on tegra30 soc (Jaroslav Kysela) [1917388] - ALSA: hda: Revert "ALSA: hda: Allow setting preallocation again for x86" (Jaroslav Kysela) [1917388] - ALSA: hda: Fix spelling mistakes (Jaroslav Kysela) [1917388] - ALSA: hda: ignore invalid NHLT table (Jaroslav Kysela) [1917388] - ALSA: hda: intel-nhlt: verify config type (Jaroslav Kysela) [1917388] - ALSA: hda: fix kernel-doc warnings (Jaroslav Kysela) [1917388] - ALSA: hda: intel-dsp-config: add Alder Lake support (Jaroslav Kysela) [1917388] - ALSA: hda: intel-dsp-config: Add SND_INTEL_BYT_PREFER_SOF Kconfig option (Jaroslav Kysela) [1917388] - ALSA: hda: add link_power op to hdac_bus_ops (Jaroslav Kysela) [1917388] - ALSA: hda: Constify static attribute_group (Jaroslav Kysela) [1917388] - ALSA: hda: Use DIV_ROUND_UP()/roundup() instead of open-coding it (Jaroslav Kysela) [1917388] - ALSA: hda: intel-dsp-config: ignore dsp_driver parameter for PCI legacy devices (Jaroslav Kysela) [1917388] - ALSA: hda: intel-dsp-config: add Broadwell ACPI DSP driver selection (Jaroslav Kysela) [1917388] - ALSA: hda: intel-dsp-config: add helper for ACPI DSP driver selection (Jaroslav Kysela) [1917388] - ALSA: pcm: Fix missing check of the new non-cached buffer type (Jaroslav Kysela) [1917388] - ALSA: pcm: use dma_can_mmap() to check if a device supports dma_mmap_* (Jaroslav Kysela) [1917388] - ALSA: timer: Fix master timer notification (Jaroslav Kysela) [1917388] - ALSA: control led: fix memory leak in snd_ctl_led_register (Jaroslav Kysela) [1917388] - ALSA: control: Fix racy management of user ctl memory size account (Jaroslav Kysela) [1917388] - ALSA: control_led - fix the stack usage (control element ops) (Jaroslav Kysela) [1917388] - ALSA: control - double free in snd_ctl_led_init() (Jaroslav Kysela) [1917388] - ALSA: control: Add memory consumption limit to user controls (Jaroslav Kysela) [1917388] - ALSA: control - off by one in store_mode() (Jaroslav Kysela) [1917388] - ALSA: control led - improve the set_led_id() parser (Jaroslav Kysela) [1917388] - ALSA: control - add the missing prev_lops2 initialization (Jaroslav Kysela) [1917388] - ALSA: led control - add sysfs kcontrol LED marking layer (Jaroslav Kysela) [1917388] - ALSA: control - add sysfs support to the LED trigger module (Jaroslav Kysela) [1917388] - ALSA: control - add generic LED trigger module as the new control layer (Jaroslav Kysela) [1917388] - ALSA: control - add layer registration routines (Jaroslav Kysela) [1917388] - ALSA: control - introduce snd_ctl_notify_one() helper (Jaroslav Kysela) [1917388] - ALSA: core: remove redundant spin_lock pair in snd_card_disconnect (Jaroslav Kysela) [1917388] - ALSA: pcm: Fix couple of typos (Jaroslav Kysela) [1917388] - ALSA: core: avoid -Wempty-body warnings (Jaroslav Kysela) [1917388] - ALSA: pcm: Add debug print on memory allocation failure (Jaroslav Kysela) [1917388] - ALSA: core - add missing compress device type to /proc/asound/devices (Jaroslav Kysela) [1917388] - ALSA: pcm: Use for_each_pcm_substream() macro (Jaroslav Kysela) [1917388] - ALSA: pcm: Don't call sync_stop if it hasn't been stopped (Jaroslav Kysela) [1917388] - ALSA: pcm: Assure sync with the pending stop operation at suspend (Jaroslav Kysela) [1917388] - ALSA: pcm: Call sync_stop at disconnection (Jaroslav Kysela) [1917388] - ASoC: dmaengine_pcm: add peripheral configuration (Jaroslav Kysela) [1917388] - ALSA: core: Fix the debugfs removal at snd_card_free() (Jaroslav Kysela) [1917388] - ALSA: jack: implement software jack injection via debugfs (Jaroslav Kysela) [1917388] - ALSA: pcm: One more dependency for hw constraints (Jaroslav Kysela) [1917388] - ALSA: seq: oss: Fix missing error check in snd_seq_oss_synth_make_info() (Jaroslav Kysela) [1917388] - ALSA: oss: Use DIV_ROUND_CLOSEST() instead of open-coding it (Jaroslav Kysela) [1917388] - ALSA: core: Use DIV_ROUND_UP() instead of open-coding it (Jaroslav Kysela) [1917388] - ALSA: core: Remove redundant comments (Jaroslav Kysela) [1917388] - ALSA: pcm: oss: Fix a few more UBSAN fixes (Jaroslav Kysela) [1917388] - ALSA: pcm: Clear the full allocated memory at hw_params (Jaroslav Kysela) [1917388] - ALSA: memalloc: Align buffer allocations in page size (Jaroslav Kysela) [1917388] - ALSA: pcm: Remove snd_pcm_lib_preallocate_dma_free() (Jaroslav Kysela) [1917388] - ALSA: core: memalloc: add page alignment for iram (Jaroslav Kysela) [1917388] - ALSA: pcm: oss: Fix potential out-of-bounds shift (Jaroslav Kysela) [1917388] - ALSA: rawmidi: Access runtime->avail always in spinlock (Jaroslav Kysela) [1917388] - ALSA: seq: Use bool for snd_seq_queue internal flags (Jaroslav Kysela) [1917388] - ALSA: compress: allow pause and resume during draining (Jaroslav Kysela) [1917388] - ALSA: ctl: fix error path at adding user-defined element set (Jaroslav Kysela) [1917388] - ALSA: seq: remove useless function (Jaroslav Kysela) [1917388] - ALSA: fix kernel-doc markups (Jaroslav Kysela) [1917388] - soundwire: SDCA: add helper macro to access controls (Jaroslav Kysela) [1917388] - soundwire: add static port mapping support (Jaroslav Kysela) [1917388] - soundwire: add definition for DPn BlockPackingMode (Jaroslav Kysela) [1917388] - soundwire: add master quirks for bus clash and parity (Jaroslav Kysela) [1917388] - soundwire: intel: don't return error when clock stop failed (Jaroslav Kysela) [1917388] - soundwire: intel: Use kzalloc for allocating only one thing (Jaroslav Kysela) [1917388] - soundwire: cadence: add status in dev_dbg 'State change' log (Jaroslav Kysela) [1917388] - soundwire: cadence: adjust verbosity in response handling (Jaroslav Kysela) [1917388] - soundwire: cadence: fix ACK/NAK handling (Jaroslav Kysela) [1917388] - soundwire: cadence: reduce timeout on transactions (Jaroslav Kysela) [1917388] - soundwire: bus: use consistent tests for return values (Jaroslav Kysela) [1917388] - soundwire: qcom: fix handling of qcom,ports-block-pack-mode (Jaroslav Kysela) [1917388] - soundwire: intel_init: test link->cdns (Jaroslav Kysela) [1917388] - soundwire: qcom: handle return correctly in qcom_swrm_transport_params (Jaroslav Kysela) [1917388] - soundwire: qcom: cleanup internal port config indexing (Jaroslav Kysela) [1917388] - soundwire: qcom: wait for fifo space to be available before read/write (Jaroslav Kysela) [1917388] - soundwire: qcom: add static port map support (Jaroslav Kysela) [1917388] - soundwire: qcom: update port map allocation bit mask (Jaroslav Kysela) [1917388] - soundwire: stream: fix memory leak in stream config error path (Jaroslav Kysela) [1917388] - soundwire: qcom: use signed variable for error return (Jaroslav Kysela) [1917388] - soundwire: qcom: wait for enumeration to be complete in probe (Jaroslav Kysela) [1917388] - soundwire: qcom: add auto enumeration support (Jaroslav Kysela) [1917388] - soundwire: export sdw_compare_devid, sdw_extract_slave_id and sdw_slave_add (Jaroslav Kysela) [1917388] - soundwire: qcom: add support to new interrupts (Jaroslav Kysela) [1917388] - soundwire: qcom: update register read/write routine (Jaroslav Kysela) [1917388] - soundwire: qcom: start the clock during initialization (Jaroslav Kysela) [1917388] - soundwire: qcom: set continue execution flag for ignored commands (Jaroslav Kysela) [1917388] - soundwire: qcom: add support to missing transport params (Jaroslav Kysela) [1917388] - soundwire: cadence: only prepare attached devices on clock stop (Jaroslav Kysela) [1917388] - soundwire: generic_allocation: fix confusion between group and packing (Jaroslav Kysela) [1917388] - soundwire: bus: Fix device found flag correctly (Jaroslav Kysela) [1917388] - soundwire: cadence_master: fix kernel-doc (Jaroslav Kysela) [1917388] - soundwire: stream: remove useless bus initializations (Jaroslav Kysela) [1917388] - soundwire: stream: remove useless initialization (Jaroslav Kysela) [1917388] - soundwire: qcom: check of_property_read status (Jaroslav Kysela) [1917388] - soundwire: intel: remove useless readl (Jaroslav Kysela) [1917388] - soundwire: generic_bandwidth_allocation: remove useless init (Jaroslav Kysela) [1917388] - soundwire: bus: remove useless initialization (Jaroslav Kysela) [1917388] - soundwire: bus: uniquify dev_err() for SCP_INT access (Jaroslav Kysela) [1917388] - soundwire: bus: demote clock stop prepare log to dev_dbg() (Jaroslav Kysela) [1917388] - soundwire: bus: clarify dev_err/dbg device references (Jaroslav Kysela) [1917388] - soundwire: bus: fix confusion on device used by pm_runtime (Jaroslav Kysela) [1917388] - soundwire: export sdw_write/read_no_pm functions (Jaroslav Kysela) [1917388] - soundwire: bus: use no_pm IO routines for all interrupt handling (Jaroslav Kysela) [1917388] - soundwire: bus: use sdw_write_no_pm when setting the bus scale registers (Jaroslav Kysela) [1917388] - soundwire: bus: use sdw_update_no_pm when initializing a device (Jaroslav Kysela) [1917388] - soundwire: return earlier if no slave is attached (Jaroslav Kysela) [1917388] - soundwire: bus: add better dev_dbg to track complete() calls (Jaroslav Kysela) [1917388] - soundwire: bus: add more details to track failed transfers (Jaroslav Kysela) [1917388] - soundwire: use consistent format for Slave devID logs (Jaroslav Kysela) [1917388] - soundwire: bus: test read status (Jaroslav Kysela) [1917388] - soundwire: bus: use correct driver name in error messages (Jaroslav Kysela) [1917388] - soundwire: qcom: add missing \n in dev_err() (Jaroslav Kysela) [1917388] - soundwire: stream: add missing \n in dev_err() (Jaroslav Kysela) [1917388] - soundwire: cadence: add missing \n in dev_err() (Jaroslav Kysela) [1917388] - soundwire: bandwidth_allocation: add missing \n in dev_err() (Jaroslav Kysela) [1917388] - soundwire: intel: add missing \n in dev_err() (Jaroslav Kysela) [1917388] - soundwire: intel: add master quirks for bus clash and parity (Jaroslav Kysela) [1917388] - soundwire: bus: handle master quirks for bus clash and parity (Jaroslav Kysela) [1917388] - soundwire: Intel: add DMI quirk for Dell SKU 0A3E (Jaroslav Kysela) [1917388] - soundwire: Intel: introduce DMI quirks for HP Spectre x360 Convertible (Jaroslav Kysela) [1917388] - soundwire: add override addr ops (Jaroslav Kysela) [1917388] - regmap/SoundWire: sdw: add support for SoundWire 1.2 MBQ (Jaroslav Kysela) [1917388] - tracing: Fix __print_hex_dump scope (Jaroslav Kysela) [1917388] - tracing: Use seq_buf_hex_dump() to dump buffers (Jaroslav Kysela) [1917388] - seq_buf: Add printing formatted hex dumps (Jaroslav Kysela) [1917388] - powerpc/64: Don't trace code that runs with the soft irq mask unreconciled (Desnes A. Nunes do Rosario) [1921631] - powerpc/64: Disable irq restore warning for now (Desnes A. Nunes do Rosario) [1921631] - powerpc/64s: make PACA_IRQ_HARD_DIS track MSR[EE] closely (Desnes A. Nunes do Rosario) [1921631]- watchdog/hpwdt: New PCI IDs (Joseph Szczypek) [1967765] - watchdog: hpwdt: Assign boolean values to a bool variable (Joseph Szczypek) [1967765] - scsi: libfc: Avoid invoking response handler twice if ep is already completed (Chris Leech) [1867301] - Bluetooth: SMP: Fail if remote and local public keys are identical (Gopal Tiwari) [1965083] - rq-qos: fix missed wake-ups in rq_qos_throttle try two (Ming Lei) [1972111] - mm: memcg/slab: disable cache merging for KMALLOC_NORMAL caches (Waiman Long) [1955561] - mm: memcg/slab: create a new set of kmalloc-cg- caches (Waiman Long) [1955561] - mm: memcg/slab: properly set up gfp flags for objcg pointer array (Waiman Long) [1955561] - mm/vmalloc.c:__vmalloc_area_node(): avoid 32-bit overflow (Rafael Aquini) [1970194] - mm: remove the filename in the top of file comment in vmalloc.c (Rafael Aquini) [1970194] - mm: cleanup the gfp_mask handling in __vmalloc_area_node (Rafael Aquini) [1970194] - mm/vmalloc.c: remove unnecessary highmem_mask from parameter of gfpflags_allow_blocking() (Rafael Aquini) [1970194] - mm/swap: fix pte_same_as_swp() not removing uffd-wp bit when compare (Chris von Recklinghausen) [1945442] - userfaultfd: hugetlbfs: fix new flag usage in error path (Chris von Recklinghausen) [1945442] - mm/hugetlb: fix cow where page writtable in child (Chris von Recklinghausen) [1945442] - ovl: fix reference counting in ovl_mmap error path (Chris von Recklinghausen) [1945442] - hugetlb: do early cow when page pinned on src mm (Chris von Recklinghausen) [1945442] - mm: introduce page_needs_cow_for_dma() for deciding whether cow (Chris von Recklinghausen) [1945442] - hugetlb: convert page_huge_active() HPageMigratable flag (Chris von Recklinghausen) [1945442] - hugetlb: use page.private for hugetlb specific page flags (Chris von Recklinghausen) [1945442] - x86/mm: Remove duplicate definition of _PAGE_PAT_LARGE (Chris von Recklinghausen) [1945442] - mm: hugetlbfs: fix cannot migrate the fallocated HugeTLB page (Chris von Recklinghausen) [1945442] - mm: hugetlb: fix a race between isolating and freeing page (Chris von Recklinghausen) [1945442] - mm: hugetlb: remove VM_BUG_ON_PAGE from page_huge_active (Chris von Recklinghausen) [1945442] - mm: introduce vma_set_file function v5 (Chris von Recklinghausen) [1945442] - mm: mmap: fix fput in error path v2 (Chris von Recklinghausen) [1945442] - mm/gup: prevent gup_fast from racing with COW during fork (Chris von Recklinghausen) [1945442] - mm/gup: reorganize internal_get_user_pages_fast() (Chris von Recklinghausen) [1945442] - mm: remove src/dst mm parameter in copy_page_range() (Chris von Recklinghausen) [1945442] - mm: avoid early COW write protect games during fork() (Chris von Recklinghausen) [1945442] - mm/thp: Split huge pmds/puds if they're pinned when fork() (Chris von Recklinghausen) [1945442] - mm: Do early cow for pinned pages during fork() for ptes (Chris von Recklinghausen) [1945442] - mm/fork: Pass new vma pointer into copy_page_range() (Chris von Recklinghausen) [1945442] - mm: move the copy_one_pte() pte_present check into the caller (Chris von Recklinghausen) [1945442] - mm: split out the non-present case from copy_one_pte() (Chris von Recklinghausen) [1945442] - mm/gup: Remove enfornced COW mechanism (Chris von Recklinghausen) [1945442] - mm/hmm.c: delete duplicated word (Chris von Recklinghausen) [1945442] - mm/hmm: provide the page mapping order in hmm_range_fault() (Chris von Recklinghausen) [1945442] - mmap locking API: add mmap_assert_locked() and mmap_assert_write_locked() (Chris von Recklinghausen) [1945442] - mm/gup: introduce pin_user_pages_locked() (Chris von Recklinghausen) [1945442] - mm/gup: introduce pin_user_pages_unlocked (Chris von Recklinghausen) [1945442] - mm: remove the prot argument from vm_map_ram (Chris von Recklinghausen) [1945442] - mm: remove unmap_vmap_area (Chris von Recklinghausen) [1945442] - mm: don't return the number of pages from map_kernel_range{,_noflush} (Chris von Recklinghausen) [1945442] - x86: fix vmap arguments in map_irq_stack (Chris von Recklinghausen) [1945442] - mm/memory: remove unnecessary pte_devmap case in copy_one_pte() (Chris von Recklinghausen) [1945442] - mm/hmm: remove the customizable pfn format from hmm_range_fault (Chris von Recklinghausen) [1945442] - mm/hmm: remove HMM_PFN_SPECIAL (Chris von Recklinghausen) [1945442] - mm/hmm: make hmm_range_fault return 0 or -1 (Chris von Recklinghausen) [1945442] - mm/hugetlb: fix build failure with HUGETLB_PAGE but not HUGEBTLBFS (Chris von Recklinghausen) [1945442] - mm/hmm: return error for non-vma snapshots (Chris von Recklinghausen) [1945442] - mm/hmm: do not set pfns when returning an error code (Chris von Recklinghausen) [1945442] - mm/hmm: do not unconditionally set pfns when returning EBUSY (Chris von Recklinghausen) [1945442] - mm/hmm: use device_private_entry_to_pfn() (Chris von Recklinghausen) [1945442] - mm/hmm: remove HMM_FAULT_SNAPSHOT (Chris von Recklinghausen) [1945442] - mm/hmm: remove unused code and tidy comments (Chris von Recklinghausen) [1945442] - mm/hmm: return the fault type from hmm_pte_need_fault() (Chris von Recklinghausen) [1945442] - mm/hmm: remove pgmap checking for devmap pages (Chris von Recklinghausen) [1945442] - mm/hmm: check the device private page owner in hmm_range_fault() (Chris von Recklinghausen) [1945442] - mm: simplify device private page handling in hmm_range_fault (Chris von Recklinghausen) [1945442] - mm: merge hmm_vma_do_fault into into hmm_vma_walk_hole_ (Chris von Recklinghausen) [1945442] - mm/hmm: don't handle the non-fault case in hmm_vma_walk_hole_() (Chris von Recklinghausen) [1945442] - mm/hmm: simplify hmm_vma_walk_hugetlb_entry() (Chris von Recklinghausen) [1945442] - mm/hmm: remove the unused HMM_FAULT_ALLOW_RETRY flag (Chris von Recklinghausen) [1945442] - mm/hmm: don't provide a stub for hmm_range_fault() (Chris von Recklinghausen) [1945442] - mm/hmm: do not check pmd_protnone twice in hmm_vma_handle_pmd() (Chris von Recklinghausen) [1945442] - mm/hmm: return -EFAULT when setting HMM_PFN_ERROR on requested valid pages (Chris von Recklinghausen) [1945442] - mm/hmm: reorganize how !pte_present is handled in hmm_vma_handle_pte() (Chris von Recklinghausen) [1945442] - mm/hmm: add missing call to hmm_range_need_fault() before returning EFAULT (Chris von Recklinghausen) [1945442] - mm/hmm: add missing pfns set to hmm_vma_walk_pmd() (Chris von Recklinghausen) [1945442] - mm/hmm: remove hmm_range_dma_map and hmm_range_dma_unmap (Chris von Recklinghausen) [1945442] - mm/hmm: make full use of walk_page_range() (Chris von Recklinghausen) [1945442] - mm/hmm: remove hmm_mirror and related (Chris von Recklinghausen) [1945442] - mm/hmm: define the pre-processor related parts of hmm.h even if disabled (Chris von Recklinghausen) [1945442] - mm/hmm: allow hmm_range to be used with a mmu_interval_notifier or hmm_mirror (Chris von Recklinghausen) [1945442] - mm/hmm: hmm_range_fault() infinite loop (Chris von Recklinghausen) [1945442] - mm/hmm: hmm_range_fault() NULL pointer bug (Chris von Recklinghausen) [1945442] - hmm: use mmu_notifier_get/put for 'struct hmm' (Chris von Recklinghausen) [1945442] - mm/hmm: cleanup the hmm_vma_handle_pmd stub (Chris von Recklinghausen) [1945442] - mm/hmm: only define hmm_vma_walk_pud if needed (Chris von Recklinghausen) [1945442] - mm/hmm: cleanup the hmm_vma_walk_hugetlb_entry stub (Chris von Recklinghausen) [1945442] - mm/hmm: don't abuse pte_index() in hmm_vma_handle_pmd (Chris von Recklinghausen) [1945442] - mm/hmm: comment on VM_FAULT_RETRY semantics in handle_mm_fault (Chris von Recklinghausen) [1945442] - mm/hmm: remove the legacy hmm_pfn_* APIs (Chris von Recklinghausen) [1945442] - mm/hmm: remove the mask variable in hmm_vma_walk_hugetlb_entry (Chris von Recklinghausen) [1945442] - mm/hmm: remove the page_shift member from struct hmm_range (Chris von Recklinghausen) [1945442] - mm/hmm: remove superfluous arguments from hmm_range_register (Chris von Recklinghausen) [1945442] - mm/hmm: remove the unused vma argument to hmm_range_dma_unmap (Chris von Recklinghausen) [1945442] - mm/hmm: remove hmm_range vma (Chris von Recklinghausen) [1945442] - mm/hmm: remove hugetlbfs check in hmm_vma_walk_pmd (Chris von Recklinghausen) [1945442] - mm/hmm: merge hmm_range_snapshot into hmm_range_fault (Chris von Recklinghausen) [1945442] - mm/hmm: replace the block argument to hmm_range_fault with a flags value (Chris von Recklinghausen) [1945442] - mm/large system hash: use vmalloc for size > MAX_ORDER when !hashdist (Chris von Recklinghausen) [1945442] - mm/hmm: update HMM documentation (Chris von Recklinghausen) [1945442] - mm: remove the HMM config option (Chris von Recklinghausen) [1945442] - hugetlbfs: on restore reserve error path retain subpool reservation (Chris von Recklinghausen) [1945442] - mm/vmalloc.c: fix potential memory leak (Chris von Recklinghausen) [1945442] - mm/vmalloc: separate put pages and flush VM flags (Chris von Recklinghausen) [1945442] - zsmalloc: switch from alloc_vm_area to get_vm_area (Chris von Recklinghausen) [1945442] - mm: allow a NULL fn callback in apply_to_page_range (Chris von Recklinghausen) [1945442] - mm: add a vmap_pfn function (Chris von Recklinghausen) [1945442] - mm: add a VM_MAP_PUT_PAGES flag for vmap (Chris von Recklinghausen) [1945442] - mm: update the documentation for vfree (Chris von Recklinghausen) [1945442] - mm, slub: use kmem_cache_debug_flags() in deactivate_slab() (Chris von Recklinghausen) [1945442] - mm, slab, slub: clear the slab_cache field when freeing page (Chris von Recklinghausen) [1945442] - mm: slab: provide krealloc_array() (Chris von Recklinghausen) [1945442] - mm: slab: clarify krealloc()'s behavior with __GFP_ZERO (Chris von Recklinghausen) [1945442] - mm/slab_common.c: use list_for_each_entry in dump_unreclaimable_slab() (Chris von Recklinghausen) [1945442] - mm/slub: make add_full() condition more explicit (Chris von Recklinghausen) [1945442] - mm/slub: fix missing ALLOC_SLOWPATH stat when bulk alloc (Chris von Recklinghausen) [1945442] - mm/slub.c: branch optimization in free slowpath (Chris von Recklinghausen) [1945442] - include/linux/slab.h: fix a typo error in comment (Chris von Recklinghausen) [1945442] - mm/vmalloc.c: fix a warning while make xmldocs (Chris von Recklinghausen) [1945442] - mm/userfaultfd: fix memory corruption due to writeprotect (Chris von Recklinghausen) [1945442] - mm/migrate: fixup setting UFFD_WP flag (Chris von Recklinghausen) [1945442] - mm/rmap: fixup copying of soft dirty and uffd ptes (Chris von Recklinghausen) [1945442] - mm/userfaultfd: disable userfaultfd-wp on x86_32 (Chris von Recklinghausen) [1945442] - userfaultfd: selftests: fix SIGSEGV if huge mmap fails (Chris von Recklinghausen) [1945442] - mm: do not rely on mm == current->mm in __get_user_pages_locked (Chris von Recklinghausen) [1945442] - mm: Introduce mm_struct.has_pinned (Chris von Recklinghausen) [1945442] - mm/gup: might_lock_read(mmap_sem) in get_user_pages_fast() (Chris von Recklinghausen) [1945442] - mm: enforce that vmap can't map pages executable (Chris von Recklinghausen) [1945442] - mm: remove map_vm_range (Chris von Recklinghausen) [1945442] - mm: rename vmap_page_range to map_kernel_range (Chris von Recklinghausen) [1945442] - mm: remove vmap_page_range_noflush and vunmap_page_range (Chris von Recklinghausen) [1945442] - mm: only allow page table mappings for built-in zsmalloc (Chris von Recklinghausen) [1945442] - mm: unexport unmap_kernel_range_noflush (Chris von Recklinghausen) [1945442] - userfaultfd: selftests: add write-protect test (Chris von Recklinghausen) [1945442] - userfaultfd: selftests: refactor statistics (Chris von Recklinghausen) [1945442] - userfaultfd: selftest: fix compiler warning (Chris von Recklinghausen) [1945442] - hugetlbfs: call VM_BUG_ON_PAGE earlier in free_huge_page() (Chris von Recklinghausen) [1945442] - userfaultfd: selftest: recycle lock threads first (Chris von Recklinghausen) [1945442] - userfaultfd: selftest: generalize read and poll (Chris von Recklinghausen) [1945442] - userfaultfd: selftest: cleanup help messages (Chris von Recklinghausen) [1945442] - userfaultfd: wp: declare _UFFDIO_WRITEPROTECT conditionally (Chris von Recklinghausen) [1945442] - userfaultfd: wp: UFFDIO_REGISTER_MODE_WP documentation update (Chris von Recklinghausen) [1945442] - userfaultfd: wp: don't wake up when doing write protect (Chris von Recklinghausen) [1945442] - userfaultfd: wp: enabled write protection in userfaultfd API (Chris von Recklinghausen) [1945442] - userfaultfd: wp: add the writeprotect API to userfaultfd ioctl (Chris von Recklinghausen) [1945442] - userfaultfd: wp: support write protection for userfault vma range (Chris von Recklinghausen) [1945442] - khugepaged: skip collapse if uffd-wp detected (Chris von Recklinghausen) [1945442] - userfaultfd: wp: support swap and page migration (Chris von Recklinghausen) [1945442] - mm/mprotect.c: fix compilation warning because of unused 'mm' variable (Chris von Recklinghausen) [1945442] - userfaultfd: wp: add pmd_swp_*uffd_wp() helpers (Chris von Recklinghausen) [1945442] - userfaultfd: wp: drop _PAGE_UFFD_WP properly when fork (Chris von Recklinghausen) [1945442] - userfaultfd: wp: apply _PAGE_UFFD_WP bit (Chris von Recklinghausen) [1945442] - mm: merge parameters for change_protection() (Chris von Recklinghausen) [1945442] - userfaultfd: wp: add UFFDIO_COPY_MODE_WP (Chris von Recklinghausen) [1945442] - userfaultfd: wp: userfaultfd_pte/huge_pmd_wp() helpers (Chris von Recklinghausen) [1945442] - userfaultfd: wp: add WP pagetable tracking to x86 (Chris von Recklinghausen) [1945442] - userfaultfd: wp: hook userfault handler to write protection fault (Chris von Recklinghausen) [1945442] - userfaultfd: wp: add helper for writeprotect check (Chris von Recklinghausen) [1945442] - userfaultfd: untag user pointers (Chris von Recklinghausen) [1945442] - x86/mm/pat: Fix typo in the Kconfig help text (Chris von Recklinghausen) [1945442] - x86/mm/pat: Clean up externs (Chris von Recklinghausen) [1945442] - x86/mm/pat: Rename => (Chris von Recklinghausen) [1945442] - x86/mm/pat: Standardize on memtype_*() prefix for APIs (Chris von Recklinghausen) [1945442] - x86/mm/pat: Move the memtype related files to arch/x86/mm/pat/ (Chris von Recklinghausen) [1945442] - x86/mm/pat: Clean up PAT initialization flags (Chris von Recklinghausen) [1945442] - x86/mm/pat: Harmonize 'struct memtype *' local variable and function parameter use (Chris von Recklinghausen) [1945442] - x86/mm/pat: Simplify the free_memtype() control flow (Chris von Recklinghausen) [1945442] - x86/mm/pat: Create fixed width output in /sys/kernel/debug/x86/pat_memtype_list, similar to the E820 debug printouts (Chris von Recklinghausen) [1945442] - x86/mm/pat: Disambiguate PAT-disabled boot messages (Chris von Recklinghausen) [1945442] - x86/mm/pat: Update the comments in pat.c and pat_interval.c and refresh the code a bit (Chris von Recklinghausen) [1945442] - x86/mm/pat: Fix off-by-one bugs in interval tree search (Chris von Recklinghausen) [1945442] - x86/mm/pat: Rename pat_rbtree.c to pat_interval.c (Chris von Recklinghausen) [1945442] - x86/mm/pat: Drop the rbt_ prefix from external memtype calls (Chris von Recklinghausen) [1945442] - x86/mm/pat: Do not pass 'rb_root' down the memtype tree helper functions (Chris von Recklinghausen) [1945442] - x86/mm/pat: Convert the PAT tree to a generic interval tree (Chris von Recklinghausen) [1945442] - x86/mm: Tabulate the page table encoding definitions (Chris von Recklinghausen) [1945442] - x86/mm: Remove the unused set_memory_wt() function (Chris von Recklinghausen) [1945442] - x86/mm: Remove set_pages_x() and set_pages_nx() (Chris von Recklinghausen) [1945442] - x86/mm: Remove the unused set_memory_array_*() functions (Chris von Recklinghausen) [1945442] - x86/mm: Unexport set_memory_x() and set_memory_nx() (Chris von Recklinghausen) [1945442] - x86/Kconfig: Fix spelling mistake "effectivness" -> "effectiveness" (Chris von Recklinghausen) [1945442] - x86/mm: Remove unused variable 'old_pte' (Chris von Recklinghausen) [1945442] - Revert "x86/mm/pat: Rename pat_rbtree.c to pat_interval.c" (Chris von Recklinghausen) [1945442] - Revert "x86/mm/pat: Move the memtype related files to arch/x86/mm/pat/" (Chris von Recklinghausen) [1945442] - ipv6: Allow the l3mdev to be a loopback (Antoine Tenart) [1973229] - vrf: do not push non-ND strict packets with a source LLA through packet taps again (Antoine Tenart) [1965600] - vrf: packets with lladdr src needs dst at input with orig_iif when needs strict (Antoine Tenart) [1965600] - ipv6: Fix handling of LLA with VRF and sockets bound to VRF (Antoine Tenart) [1965600] - ipv6: allow ping to link-local address in VRF (Antoine Tenart) [1965600] - vrf: mark skb for multicast or link-local as enslaved to VRF (Antoine Tenart) [1965600] - net: allow traceroute with a specified interface in a vrf (Antoine Tenart) [1965600] - virtchnl: Enable RSS configure for AVF (Ivan Vecera) [1966954] - virtchnl: Advertise virtchnl UDP segmentation offload capability (Ivan Vecera) [1966954] - virtchnl: Allow ignoring opcodes on specific VF (Ivan Vecera) [1966954] - virtchnl: Fix layout of RSS structures (Ivan Vecera) [1966954] - virtchnl: Enable FDIR Configure for AVF (Ivan Vecera) [1966954] - virtchnl: Add missing explicit padding to structures (Ivan Vecera) [1966954] - virtchnl: use u8 type for a field in the virtchnl_filter struct (Ivan Vecera) [1966954] - tools headers uapi: Sync tools/include/uapi/linux/perf_event.h (Michael Petlan) [1944685] - tools headers uapi: Update tools's copy of linux/perf_event.h (Michael Petlan) [1944685] - bpf: Add size arg to build_id_parse function (Michael Petlan) [1944685] - bpf: Move stack_map_get_build_id into lib (Michael Petlan) [1944685] - perf map: Fix error return code in maps__clone() (Michael Petlan) [1944685] - perf ftrace: Fix access to pid in array when setting a pid filter (Michael Petlan) [1944685] - perf auxtrace: Fix potential NULL pointer dereference (Michael Petlan) [1944685] - perf data: Fix error return code in perf_data__create_dir() (Michael Petlan) [1944685] - perf arm-spe: Avoid potential buffer overrun (Michael Petlan) [1944685] - perf report: Fix wrong LBR block sorting (Michael Petlan) [1944685] - perf inject: Fix repipe usage (Michael Petlan) [1944685] - perf test: Change to use bash for daemon test (Michael Petlan) [1944685] - perf record: Fix memory leak in vDSO found using ASAN (Michael Petlan) [1944685] - perf test: Remove now useless failing sub test "BPF relocation checker" (Michael Petlan) [1944685] - perf daemon: Return from kill functions (Michael Petlan) [1944685] - perf daemon: Force waipid for all session on SIGCHLD delivery (Michael Petlan) [1944685] - perf top: Fix BPF support related crash with perf_event_paranoid=3 + kptr_restrict (Michael Petlan) [1944685] - perf pmu: Validate raw event with sysfs exported format bits (Michael Petlan) [1944685] - perf synthetic events: Avoid write of uninitialized memory when generating PERF_RECORD_MMAP* records (Michael Petlan) [1944685] - perf synthetic-events: Fix uninitialized 'kernel_thread' variable (Michael Petlan) [1944685] - perf auxtrace: Fix auxtrace queue conflict (Michael Petlan) [1944685] - perf cs-etm: Fix bitmap for option (Michael Petlan) [1944685] - perf map: Tighten snprintf() string precision to pass gcc check on some 32-bit arches (Michael Petlan) [1944685] - perf report: Fix -F for branch & mem modes (Michael Petlan) [1944685] - perf tests x86: Move insn.h include to make sure it finds stddef.h (Michael Petlan) [1944685] - perf test: Support the ins_lat check in the X86 specific test (Michael Petlan) [1944685] - perf test: Fix sample-parsing failure on non-x86 platforms (Michael Petlan) [1944685] - perf archive: Fix filtering of empty build-ids (Michael Petlan) [1944685] - perf daemon: Fix compile error with Asan (Michael Petlan) [1944685] - perf stat: Fix use-after-free when -r option is used (Michael Petlan) [1944685] - libperf: Add perf_evlist__reset_id_hash() (Michael Petlan) [1944685] - perf stat: Fix wrong skipping for per-die aggregation (Michael Petlan) [1944685] - tools headers UAPI: Update tools' copy of linux/coresight-pmu.h (Michael Petlan) [1944685] - perf test: Fix cpu and thread map leaks in perf_time_to_tsc test (Michael Petlan) [1944685] - perf test: Fix cpu map leaks in cpu_map_print test (Michael Petlan) [1944685] - perf test: Fix a memory leak in thread_map_remove test (Michael Petlan) [1944685] - perf test: Fix a thread map leak in thread_map_synthesize test (Michael Petlan) [1944685] - perf test: Fix cpu and thread map leaks in switch_tracking test (Michael Petlan) [1944685] - perf test: Fix cpu and thread map leaks in keep_tracking test (Michael Petlan) [1944685] - perf test: Fix cpu and thread map leaks in code_reading test (Michael Petlan) [1944685] - perf test: Fix cpu and thread map leaks in sw_clock_freq test (Michael Petlan) [1944685] - perf test: Fix cpu and thread map leaks in task_exit test (Michael Petlan) [1944685] - perf test: Fix a memory leak in attr test (Michael Petlan) [1944685] - perf test: Fix cpu and thread map leaks in basic mmap test (Michael Petlan) [1944685] - perf tools: Fix event's PMU name parsing (Michael Petlan) [1944685] - perf daemon: Fix running test for non root user (Michael Petlan) [1944685] - perf daemon: Fix control fifo permissions (Michael Petlan) [1944685] - perf build: Fix ccache usage in $(CC) when generating arch errno table (Michael Petlan) [1944685] - perf tools: Fix documentation of verbose options (Michael Petlan) [1944685] - perf traceevent: Ensure read cmdlines are null terminated. (Michael Petlan) [1944685] - perf diff: Don't crash on freeing errno-session on the error path (Michael Petlan) [1944685] - perf tools: Clean 'generated' directory used for creating the syscall table on x86 (Michael Petlan) [1944685] - perf build: Move feature cleanup under tools/build (Michael Petlan) [1944685] - perf tools: Cast (struct timeval).tv_sec when printing (Michael Petlan) [1944685] - perf buildid-cache: Don't skip 16-byte build-ids (Michael Petlan) [1944685] - perf buildid-cache: Add test for 16-byte build-id (Michael Petlan) [1944685] - perf symbol: Remove redundant libbfd checks (Michael Petlan) [1944685] - perf test: Output the sub testing result in cs-etm (Michael Petlan) [1944685] - perf test: Suppress logs in cs-etm testing (Michael Petlan) [1944685] - perf tools: Fix arm64 build error with gcc-11 (Michael Petlan) [1944685] - perf intel-pt: Add documentation for tracing virtual machines (Michael Petlan) [1944685] - perf intel-pt: Split VM-Entry and VM-Exit branches (Michael Petlan) [1944685] - perf intel-pt: Adjust sample flags for VM-Exit (Michael Petlan) [1944685] - perf intel-pt: Allow for a guest kernel address filter (Michael Petlan) [1944685] - perf intel-pt: Support decoding of guest kernel (Michael Petlan) [1944685] - perf machine: Factor out machine__idle_thread() (Michael Petlan) [1944685] - perf machine: Factor out machines__find_guest() (Michael Petlan) [1944685] - perf intel-pt: Amend decoder to track the NR flag (Michael Petlan) [1944685] - perf intel-pt: Retain the last PIP packet payload as is (Michael Petlan) [1944685] - perf intel_pt: Add vmlaunch and vmresume as branches (Michael Petlan) [1944685] - perf script: Add branch types for VM-Entry and VM-Exit (Michael Petlan) [1944685] - perf auxtrace: Automatically group aux-output events (Michael Petlan) [1944685] - perf test: Fix unaligned access in sample parsing test (Michael Petlan) [1944685] - perf tools: Support arch specific PERF_SAMPLE_WEIGHT_STRUCT processing (Michael Petlan) [1944685] - perf intel-pt: Add PSB events (Michael Petlan) [1944685] - perf intel-pt: Fix IPC with CYC threshold (Michael Petlan) [1944685] - perf intel-pt: Fix premature IPC (Michael Petlan) [1944685] - perf intel-pt: Fix missing CYC processing in PSB (Michael Petlan) [1944685] - perf record: Fix continue profiling after draining the buffer (Michael Petlan) [1944685] - perf tools: Simplify the calculation of variables (Michael Petlan) [1944685] - perf vendor events arm64: Add JSON metrics for imx8mp DDR Perf (Michael Petlan) [1944685] - perf vendor events arm64: Add JSON metrics for imx8mq DDR Perf (Michael Petlan) [1944685] - perf vendor events arm64: Add JSON metrics for imx8mn DDR Perf (Michael Petlan) [1944685] - perf vendor events arm64: Fix indentation of brackets in imx8mm metrics (Michael Petlan) [1944685] - perf annotate: Do not jump after 'k' is pressed (Michael Petlan) [1944685] - perf metricgroup: Remove unneeded semicolon (Michael Petlan) [1944685] - perf tools: Add OCaml demangling (Michael Petlan) [1944685] - tools api fs: Cache cgroupfs mount point (Michael Petlan) [1944685] - tools api fs: Diet cgroupfs_find_mountpoint() (Michael Petlan) [1944685] - tools api fs: Prefer cgroup v1 path in cgroupfs_find_mountpoint() (Michael Petlan) [1944685] - perf symbols: Resolve symbols against debug file first (Michael Petlan) [1944685] - perf probe: Fix kretprobe issue caused by GCC bug (Michael Petlan) [1944685] - perf symbols: Fix return value when loading PE DSO (Michael Petlan) [1944685] - perf symbols: Make dso__load_bfd_symbols() load PE files from debug cache only (Michael Petlan) [1944685] - perf symbols: Use (long) for iterator for bfd symbols (Michael Petlan) [1944685] - perf annotate: Fix jump parsing for C++ code. (Michael Petlan) [1944685] - perf arm-spe: Set sample's data source field (Michael Petlan) [1944685] - perf arm-spe: Synthesize memory event (Michael Petlan) [1944685] - perf arm-spe: Fill address info for samples (Michael Petlan) [1944685] - perf arm-spe: Store operation type in packet (Michael Petlan) [1944685] - perf arm-spe: Store memory address in packet (Michael Petlan) [1944685] - perf arm-spe: Enable sample type PERF_SAMPLE_DATA_SRC (Michael Petlan) [1944685] - perf env: Remove unneeded internal/cpumap inclusions (Michael Petlan) [1944685] - perf tools: Remove unused xyarray.c as it was moved to tools/lib/perf (Michael Petlan) [1944685] - perf tools: Replace lkml.org links with lore (Michael Petlan) [1944685] - perf tests: Add daemon 'lock' test (Michael Petlan) [1944685] - perf tests: Add daemon 'ping' command test (Michael Petlan) [1944685] - perf tests: Add daemon 'signal' command test (Michael Petlan) [1944685] - perf tests: Add daemon 'stop' command test (Michael Petlan) [1944685] - perf tests: Add daemon reconfig test (Michael Petlan) [1944685] - perf tests: Add daemon 'list' command test (Michael Petlan) [1944685] - perf daemon: Add examples to man page (Michael Petlan) [1944685] - perf daemon: Add up time for daemon/session list (Michael Petlan) [1944685] - perf daemon: Use control to stop session (Michael Petlan) [1944685] - perf daemon: Add 'ping' command (Michael Petlan) [1944685] - perf daemon: Set control fifo for session (Michael Petlan) [1944685] - perf daemon: Allow only one daemon over base directory (Michael Petlan) [1944685] - perf daemon: Add 'stop' command (Michael Petlan) [1944685] - perf daemon: Add 'signal' command (Michael Petlan) [1944685] - perf daemon: Add 'list' command (Michael Petlan) [1944685] - perf daemon: Add signalfd support (Michael Petlan) [1944685] - perf daemon: Add background support (Michael Petlan) [1944685] - perf daemon: Add config file change check (Michael Petlan) [1944685] - perf daemon: Add config file support (Michael Petlan) [1944685] - perf daemon: Add client socket support (Michael Petlan) [1944685] - perf daemon: Add server socket support (Michael Petlan) [1944685] - perf daemon: Add base option (Michael Petlan) [1944685] - perf daemon: Add config option (Michael Petlan) [1944685] - perf daemon: Add daemon command (Michael Petlan) [1944685] - perf script: Simplify bool conversion (Michael Petlan) [1944685] - perf arm64/s390: Fix printf conversion specifier for IP addresses (Michael Petlan) [1944685] - perf script: Support filtering by hex address (Michael Petlan) [1944685] - perf intlist: Change 'struct intlist' int member to 'unsigned long' (Michael Petlan) [1944685] - perf tools: Update topdown documentation for Sapphire Rapids (Michael Petlan) [1944685] - perf stat: Support L2 Topdown events (Michael Petlan) [1944685] - perf test: Support PERF_SAMPLE_WEIGHT_STRUCT (Michael Petlan) [1944685] - perf report: Support instruction latency (Michael Petlan) [1944685] - perf tools: Support PERF_SAMPLE_WEIGHT_STRUCT (Michael Petlan) [1944685] - perf c2c: Support data block and addr block (Michael Petlan) [1944685] - perf tools: Support data block and addr block (Michael Petlan) [1944685] - perf tools: Support the auxiliary event (Michael Petlan) [1944685] - perf probe: Add protection to avoid endless loop (Michael Petlan) [1944685] - perf trace-event-info: Rename for_each_event. (Michael Petlan) [1944685] - perf inject jit: Add namespaces support (Michael Petlan) [1944685] - perf namespaces: Add 'in_pidns' to nsinfo struct (Michael Petlan) [1944685] - perf tools: Use scandir() to iterate threads when synthesizing PERF_RECORD_ events (Michael Petlan) [1944685] - perf tools: Skip PERF_RECORD_MMAP event synthesis for kernel threads (Michael Petlan) [1944685] - perf tools: Use /proc//task//status for PERF_RECORD_ event synthesis (Michael Petlan) [1944685] - perf vendor events arm64: Reference common and uarch events for A76 (Michael Petlan) [1944685] - perf vendor events arm64: Reference common and uarch events for Ampere eMag (Michael Petlan) [1944685] - perf vendor events arm64: Add common and uarch event JSON (Michael Petlan) [1944685] - perf vendor events arm64: Fix Ampere eMag event typo (Michael Petlan) [1944685] - perf script: Support DSO filter like in other perf tools (Michael Petlan) [1944685] - perf tools: Fix DSO filtering when not finding a map for a sampled address (Michael Petlan) [1944685] - perf stat: Add Topdown metrics events as default events (Michael Petlan) [1944685] - perf test: Add parse-metric memory bandwidth testcase (Michael Petlan) [1944685] - perf tools: Add 'ping' control command (Michael Petlan) [1944685] - perf tools: Add 'stop' control command (Michael Petlan) [1944685] - perf config: Make perf_config_global() global (Michael Petlan) [1944685] - perf config: Make perf_config_system() global (Michael Petlan) [1944685] - perf config: Add perf_home_perfconfig function (Michael Petlan) [1944685] - perf debug: Add debug_set_display_time function (Michael Petlan) [1944685] - perf config: Add config set interface (Michael Petlan) [1944685] - perf config: Make perf_config_from_file() static (Michael Petlan) [1944685] - perf test: Add test case for PERF_SAMPLE_CODE_PAGE_SIZE (Michael Petlan) [1944685] - perf report: Add support for PERF_SAMPLE_CODE_PAGE_SIZE (Michael Petlan) [1944685] - perf script: Add support for PERF_SAMPLE_CODE_PAGE_SIZE (Michael Petlan) [1944685] - perf record: Add support for PERF_SAMPLE_CODE_PAGE_SIZE (Michael Petlan) [1944685] - perf mem: Support data page size (Michael Petlan) [1944685] - perf mem: Clean up output format (Michael Petlan) [1944685] - perf cs-etm: Update ARM's CoreSight hardware tracing OpenCSD library to v1.0.0 (Michael Petlan) [1944685] - perf c2c: Add local variables for output metrics (Michael Petlan) [1944685] - perf c2c: Refactor node display (Michael Petlan) [1944685] - perf c2c: Fix argument type for percent() (Michael Petlan) [1944685] - perf c2c: Refactor display filter (Michael Petlan) [1944685] - perf c2c: Refactor hist entry validation (Michael Petlan) [1944685] - perf c2c: Rename for shared cache line stats (Michael Petlan) [1944685] - perf stat: Enable counting events for BPF programs (Michael Petlan) [1944685] - perf build: Support build BPF skeletons with perf (Michael Petlan) [1944685] - perf record: Tweak "Lowering..." warning in record_opts__config_freq (Michael Petlan) [1944685] - perf buildid-list: Add support for mmap2's buildid events (Michael Petlan) [1944685] - perf buildid-cache: Add --debuginfod option to specify a server to fetch debug files (Michael Petlan) [1944685] - perf tools: Add support to display build ids when available in PERF_RECORD_MMAP2 events (Michael Petlan) [1944685] - perf record: Add --buildid-mmap option to enable PERF_RECORD_MMAP2's build id (Michael Petlan) [1944685] - perf tools: Allow synthesizing the build id for kernel/modules/tasks in PERF_RECORD_MMAP2 (Michael Petlan) [1944685] - perf tools: Allow using PERF_RECORD_MMAP2 to synthesize the kernel modules maps (Michael Petlan) [1944685] - perf tools: Allow using PERF_RECORD_MMAP2 to synthesize the kernel map (Michael Petlan) [1944685] - perf tools: Store build id when available in PERF_RECORD_MMAP2 metadata events (Michael Petlan) [1944685] - perf tools: Do not swap mmap2 fields in case it contains build id (Michael Petlan) [1944685] - perf arm64: Add argument support for SDT (Michael Petlan) [1944685] - perf probe: Fixup Arm64 SDT arguments (Michael Petlan) [1944685] - perf/x86/kvm: Fix Broadwell Xeon stepping in isolation_ucodes[] (Michael Petlan) [1944685] - perf/x86/intel: Fix unchecked MSR access error caused by VLBR_EVENT (Michael Petlan) [1944685] - perf/x86/intel: Fix a crash caused by zero PEBS status (Michael Petlan) [1944685] - perf/x86/intel: Set PERF_ATTACH_SCHED_CB for large PEBS and LBR (Michael Petlan) [1944685] - perf/core: Flush PMU internal buffers for per-CPU events (Michael Petlan) [1944685] - perf/x86/rapl: Fix psys-energy event on Intel SPR platform (Michael Petlan) [1944685] - perf/x86/rapl: Only check lower 32bits for RAPL energy counters (Michael Petlan) [1944685] - perf/x86/rapl: Add msr mask support (Michael Petlan) [1944685] - perf/x86/kvm: Add Cascade Lake Xeon steppings to isolation_ucodes[] (Michael Petlan) [1944685] - perf/x86/intel: Support CPUID 10.ECX to disable fixed counters (Michael Petlan) [1944685] - perf/x86/intel: Add perf core PMU support for Sapphire Rapids (Michael Petlan) [1944685] - perf/x86/intel: Filter unsupported Topdown metrics event (Michael Petlan) [1944685] - perf/x86/intel: Factor out intel_update_topdown_event() (Michael Petlan) [1944685] - perf/core: Add PERF_SAMPLE_WEIGHT_STRUCT (Michael Petlan) [1944685] - perf/intel: Remove Perfmon-v4 counter_freezing support (Michael Petlan) [1944685] - perf: Add build id data in mmap2 event (Michael Petlan) [1944685] - bpf: Remove atomics tests from test_progs (Jiri Olsa) [1874007] - libbpf: Fixes incorrect rx_ring_setup_done (Jiri Olsa) [1874007] - error-injection: Consolidate override function definition (Jiri Olsa) [1874007] - selftests/bpf: Fix endianness issues in atomic tests (Jiri Olsa) [1874007] - bpf: Fix a spelling typo in bpf_atomic_alu_string disasm (Jiri Olsa) [1874007] - bpf, x86: Fix BPF_FETCH atomic and/or/xor with r0 as src (Jiri Olsa) [1874007] - bpf: Explicitly zero-extend R0 after 32-bit cmpxchg (Jiri Olsa) [1874007] - bpf: Account for BPF_FETCH in insn_has_def32() (Jiri Olsa) [1874007] - bpf: Fix subreg optimization for BPF_FETCH (Jiri Olsa) [1874007] - bpf: Fix the irq and nmi check in bpf_sk_storage for tracing usage (Jiri Olsa) [1874007] - selftests/bpf: Fix a compiler warning in local_storage test (Jiri Olsa) [1874007] - bpf: Change 'BPF_ADD' to 'BPF_AND' in print_bpf_insn() (Jiri Olsa) [1874007] - selftests/bpf: Don't exit on failed bpf_testmod unload (Jiri Olsa) [1874007] - bpf: Avoid old-style declaration warnings (Jiri Olsa) [1874007] - bpf: Dont allow vmlinux BTF to be used in map_create and prog_load. (Jiri Olsa) [1874007] - tools: Factor Clang, LLC and LLVM utils definitions (Jiri Olsa) [1874007] - tools/runqslower: Build bpftool using HOSTCC (Jiri Olsa) [1874007] - tools/runqslower: Enable out-of-tree build (Jiri Olsa) [1874007] - tools/runqslower: Use Makefile.include (Jiri Olsa) [1874007] - bpf: Expose bpf_sk_storage_* to iterator programs (Jiri Olsa) [1874007] - tools/resolve_btfids: Warn when having multiple IDs for single type (Jiri Olsa) [1874007] - tools/resolve_btfids: Fix some error messages (Jiri Olsa) [1874007] - samples/bpf: Add BPF_ATOMIC_OP macro for BPF samples (Jiri Olsa) [1874007] - samples/bpf: Fix possible hang in xdpsock with multiple threads (Jiri Olsa) [1874007] - bpf: samples: Do not touch RLIMIT_MEMLOCK (Jiri Olsa) [1874007] - samples/bpf: Use recvfrom() in xdpsock/l2fwd (Jiri Olsa) [1874007] - samples/bpf: Use recvfrom() in xdpsock/rxdrop (Jiri Olsa) [1874007] - samples: bpf: Remove bpf_load loader completely (Jiri Olsa) [1874007] - samples: bpf: Fix lwt_len_hist reusing previous BPF map (Jiri Olsa) [1874007] - samples: bpf: Refactor test_overhead program with libbpf (Jiri Olsa) [1874007] - samples: bpf: Refactor task_fd_query program with libbpf (Jiri Olsa) [1874007] - samples: bpf: Refactor test_cgrp2_sock2 program with libbpf (Jiri Olsa) [1874007] - samples: bpf: Refactor hbm program with libbpf (Jiri Olsa) [1874007] - samples/bpf: Increment Tx stats at sending (Jiri Olsa) [1874007] - samples/bpf: Remove unused test_ipip.sh (Jiri Olsa) [1874007] - samples/bpf: Remove duplicate include in hbm (Jiri Olsa) [1874007] - bpftool: Fix compilation failure for net.o with older glibc (Jiri Olsa) [1874007] - tools/bpftool: Auto-detect split BTFs in common cases (Jiri Olsa) [1874007] - tools/bpftool: Emit name for anonymous BTFs (Jiri Olsa) [1874007] - bpftool: Add {i,d}tlb_misses support for bpftool profile (Jiri Olsa) [1874007] - tools/bpf: Always run the *-clean recipes (Jiri Olsa) [1874007] - tools/bpf: Add bootstrap/ to .gitignore (Jiri Olsa) [1874007] - tools/bpftool: Fix cross-build (Jiri Olsa) [1874007] - tools/bpftool: Force clean of out-of-tree build (Jiri Olsa) [1874007] - tools/bpftool: Add support for in-kernel and named BTF in `btf show` (Jiri Olsa) [1874007] - bpftool: Add support for task local storage (Jiri Olsa) [1874007] - tools/bpftool: Add bpftool support for split BTF (Jiri Olsa) [1874007] - bpf: Unbreak BPF_PROG_TYPE_KPROBE when kprobe is called via do_int3 (Jiri Olsa) [1874007] - bpf: Fix bpf_put_raw_tracepoint()'s use of __module_address() (Jiri Olsa) [1874007] - bpf: Expose bpf_d_path helper to sleepable LSM hooks (Jiri Olsa) [1874007] - bpf: Allow using bpf_sk_storage in FENTRY/FEXIT/RAW_TP (Jiri Olsa) [1874007] - selftests/bpf: Add remaining ASSERT_xxx() variants (Jiri Olsa) [1874007] - libbpf: Fix potential NULL pointer dereference (Jiri Olsa) [1874007] - libbpf: Only create rx and tx XDP rings when necessary (Jiri Olsa) [1874007] - libbpf: Ensure umem pointer is non-NULL before dereferencing (Jiri Olsa) [1874007] - libbpf: Restore umem state after socket create failure (Jiri Olsa) [1874007] - selftests/bpf: Fix core_reloc test runner (Jiri Olsa) [1874007] - bpf: Fix umd memory leak in copy_process() (Jiri Olsa) [1874007] - libbpf: Fix error path in bpf_object__elf_init() (Jiri Olsa) [1874007] - bpf: Change inode_storage's lookup_elem return value from NULL to -EBADF (Jiri Olsa) [1874007] - bpf: Prohibit alu ops for pointer types not defining ptr_limit (Jiri Olsa) [1874007] - selftests/bpf: Use the last page in test_snprintf_btf on s390 (Jiri Olsa) [1874007] - bpf: Be less specific about socket cookies guarantees (Jiri Olsa) [1874007] - bpf: Fix 32 bit src register truncation on div/mod (Jiri Olsa) [1874007] - bpf: Fix verifier jmp32 pruning decision logic (Jiri Olsa) [1874007] - bpf: Fix verifier jsgt branch analysis on max bound (Jiri Olsa) [1874007] - bpf: Check for integer overflow when using roundup_pow_of_two() (Jiri Olsa) [1874007] - bpf, preload: Fix build when $(O) points to a relative path (Jiri Olsa) [1874007] - bpf: Drop disabled LSM hooks from the sleepable set (Jiri Olsa) [1874007] - bpf, cgroup: Fix problematic bounds check (Jiri Olsa) [1874007] - bpf, cgroup: Fix optlen WARN_ON_ONCE toctou (Jiri Olsa) [1874007] - bpf: Fix signed_{sub,add32}_overflows type handling (Jiri Olsa) [1874007] - bpf: Fix helper bpf_map_peek_elem_proto pointing to wrong callback (Jiri Olsa) [1874007] - selftests/bpf: Add verifier test for PTR_TO_MEM spill (Jiri Olsa) [1874007] - bpf: Support PTR_TO_MEM{,_OR_NULL} register spilling (Jiri Olsa) [1874007] - libbpf: Allow loading empty BTFs (Jiri Olsa) [1874007] - bpf: Allow empty module BTFs (Jiri Olsa) [1874007] - bpf: Don't leak memory in bpf getsockopt when optlen == 0 (Jiri Olsa) [1874007] - bpf: Update local storage test to check handling of null ptrs (Jiri Olsa) [1874007] - bpf: Fix typo in bpf_inode_storage.c (Jiri Olsa) [1874007] - bpf: Add size arg to build_id_parse function (Jiri Olsa) [1874007] - bpf: Move stack_map_get_build_id into lib (Jiri Olsa) [1874007] - bpf: Add tests for new BPF atomic operations (Jiri Olsa) [1874007] - bpf: Add bitwise atomic instructions (Jiri Olsa) [1874007] - bpf: Pull out a macro for interpreting atomic ALU operations (Jiri Olsa) [1874007] - bpf: Add instructions for atomic_[cmp]xchg (Jiri Olsa) [1874007] - bpf: Add BPF_FETCH field / create atomic_fetch_add instruction (Jiri Olsa) [1874007] - bpf: Move BPF_STX reserved field check into BPF_STX verifier code (Jiri Olsa) [1874007] - bpf: Rename BPF_XADD and prepare to encode other atomics in .imm (Jiri Olsa) [1874007] - bpf: x86: Factor out a lookup table for some ALU opcodes (Jiri Olsa) [1874007] - bpf: x86: Factor out emission of REX byte (Jiri Olsa) [1874007] - bpf: x86: Factor out emission of ModR/M for *(reg + off) (Jiri Olsa) [1874007] - bpf, libbpf: Avoid unused function warning on bpf_tail_call_static (Jiri Olsa) [1874007] - selftests/bpf: Install btf_dump test cases (Jiri Olsa) [1874007] - selftests/bpf: Fix installation of urandom_read (Jiri Olsa) [1874007] - selftests/bpf: Move generated test files to $(TEST_GEN_FILES) (Jiri Olsa) [1874007] - selftests/bpf: Fix out-of-tree build (Jiri Olsa) [1874007] - selftests/bpf: Enable cross-building (Jiri Olsa) [1874007] - selftests/bpf: Test kernel module ksym externs (Jiri Olsa) [1874007] - libbpf: Support kernel module ksym externs (Jiri Olsa) [1874007] - bpf: Support BPF ksym variables in kernel modules (Jiri Olsa) [1874007] - selftests/bpf: Sync RCU before unloading bpf_testmod (Jiri Olsa) [1874007] - bpf: Fix a verifier message for alloc size helper arg (Jiri Olsa) [1874007] - bpf: Clarify return value of probe str helpers (Jiri Olsa) [1874007] - libbpf: Clarify kernel type use with USER variants of CORE reading macros (Jiri Olsa) [1874007] - selftests/bpf: Remove duplicate include in test_lsm (Jiri Olsa) [1874007] - bpf: Remove unnecessary include from preload/iterators (Jiri Olsa) [1874007] - selftests/bpf: Add tests for user- and non-CO-RE BPF_CORE_READ() variants (Jiri Olsa) [1874007] - libbpf: Add non-CO-RE variants of BPF_CORE_READ() macro family (Jiri Olsa) [1874007] - selftests/bpf: Fix a compile error for BPF_F_BPRM_SECUREEXEC (Jiri Olsa) [1874007] - bpf: Use thread_group_leader() (Jiri Olsa) [1874007] - bpf: Save correct stopping point in file seq iteration (Jiri Olsa) [1874007] - selftests/bpf: Work-around EBUSY errors from hashmap update/delete (Jiri Olsa) [1874007] - bpf: Add schedule point in htab_init_buckets() (Jiri Olsa) [1874007] - bpf: Remove unused including (Jiri Olsa) [1874007] - selftests/bpf: Fix spelling mistake "tranmission" -> "transmission" (Jiri Olsa) [1874007] - selftests/bpf: Clarify build error if no vmlinux (Jiri Olsa) [1874007] - tweewide: Fix most Shebang lines (Jiri Olsa) [1874007] - bpf: In bpf_task_fd_query use fget_task (Jiri Olsa) [1874007] - selftests/bpf: Add a test for ptr_to_map_value on stack for helper access (Jiri Olsa) [1874007] - bpf: Permits pointers on stack for helper calls (Jiri Olsa) [1874007] - libbpf: Expose libbpf ring_buffer epoll_fd (Jiri Olsa) [1874007] - selftests/bpf: Add set_attach_target() API selftest for module target (Jiri Olsa) [1874007] - libbpf: Support modules in bpf_program__set_attach_target() API (Jiri Olsa) [1874007] - selftests/bpf: Silence ima_setup.sh when not running in verbose mode. (Jiri Olsa) [1874007] - selftests/bpf: Drop the need for LLVM's llc (Jiri Olsa) [1874007] - selftests/bpf: fix bpf_testmod.ko recompilation logic (Jiri Olsa) [1874007] - selftests/bpf: Make selftest compilation work on clang 11 (Jiri Olsa) [1874007] - selftests/bpf: Xsk selftests - adding xdpxceiver to .gitignore (Jiri Olsa) [1874007] - selftests/bpf: Drop tcp-{client,server}.py from Makefile (Jiri Olsa) [1874007] - selftests/bpf: Xsk selftests - Bi-directional Sockets - SKB, DRV (Jiri Olsa) [1874007] - selftests/bpf: Xsk selftests - Socket Teardown - SKB, DRV (Jiri Olsa) [1874007] - selftests/bpf: Xsk selftests - DRV POLL, NOPOLL (Jiri Olsa) [1874007] - selftests/bpf: Xsk selftests - SKB POLL, NOPOLL (Jiri Olsa) [1874007] - selftests/bpf: Xsk selftests framework (Jiri Olsa) [1874007] - bpf: Return -ENOTSUPP when attaching to non-kernel BTF (Jiri Olsa) [1874007] - bpf: Propagate __user annotations properly (Jiri Olsa) [1874007] - bpf: Avoid overflows involving hash elem_size (Jiri Olsa) [1874007] - selftests/bpf: Test bpf_sk_storage_get in tcp iterators (Jiri Olsa) [1874007] - selftests/bpf: Add an iterator selftest for bpf_sk_storage_get (Jiri Olsa) [1874007] - selftests/bpf: Add an iterator selftest for bpf_sk_storage_delete (Jiri Olsa) [1874007] - bpf: Add a bpf_sock_from_file helper (Jiri Olsa) [1874007] - selftests/bpf: Avoid errno clobbering (Jiri Olsa) [1874007] - selftests/bpf: Print reason when a tester could not run a program (Jiri Olsa) [1874007] - selftests/bpf: Fix invalid use of strncat in test_sockmap (Jiri Olsa) [1874007] - libbpf: Use memcpy instead of strncpy to please GCC (Jiri Olsa) [1874007] - selftests/bpf: Add fentry/fexit/fmod_ret selftest for kernel module (Jiri Olsa) [1874007] - selftests/bpf: Add tp_btf CO-RE reloc test for modules (Jiri Olsa) [1874007] - libbpf: Support attachment of BPF tracing programs to kernel modules (Jiri Olsa) [1874007] - libbpf: Factor out low-level BPF program loading helper (Jiri Olsa) [1874007] - bpf: Allow to specify kernel module BTFs when attaching BPF programs (Jiri Olsa) [1874007] - bpf: Remove hard-coded btf_vmlinux assumption from BPF verifier (Jiri Olsa) [1874007] - selftests/bpf: Add CO-RE relocs selftest relying on kernel module BTF (Jiri Olsa) [1874007] - selftests/bpf: Add support for marking sub-tests as skipped (Jiri Olsa) [1874007] - selftests/bpf: Add bpf_testmod kernel module for testing (Jiri Olsa) [1874007] - libbpf: Add kernel module BTF support for CO-RE relocations (Jiri Olsa) [1874007] - libbpf: Refactor CO-RE relocs to not assume a single BTF object (Jiri Olsa) [1874007] - libbpf: Add internal helper to load BTF data by FD (Jiri Olsa) [1874007] - selftests/bpf: Add Userspace tests for TCP_WINDOW_CLAMP (Jiri Olsa) [1874007] - bpf: Fix cold build of test_progs-no_alu32 (Jiri Olsa) [1874007] - libbpf: Cap retries in sys_bpf_prog_load (Jiri Olsa) [1874007] - libbpf: Sanitise map names before pinning (Jiri Olsa) [1874007] - libbpf: Fail early when loading programs with unspecified type (Jiri Olsa) [1874007] - selftests/bpf: Indent ima_setup.sh with tabs. (Jiri Olsa) [1874007] - selftests/bpf: Add config dependency on BLK_DEV_LOOP (Jiri Olsa) [1874007] - selftests/bpf: Ensure securityfs mount before writing ima policy (Jiri Olsa) [1874007] - selftests/bpf: Update ima_setup.sh for busybox (Jiri Olsa) [1874007] - libbpf: Separate XDP program load with xsk socket creation (Jiri Olsa) [1874007] - selftests/bpf: Copy file using read/write in local storage test (Jiri Olsa) [1874007] - libbpf: Add base BTF accessor (Jiri Olsa) [1874007] - bpf: Eliminate rlimit-based memory accounting for bpf progs (Jiri Olsa) [1874007] - bpf: Eliminate rlimit-based memory accounting for bpf local storage maps (Jiri Olsa) [1874007] - bpf: Eliminate rlimit-based memory accounting for stackmap maps (Jiri Olsa) [1874007] - bpf: Eliminate rlimit-based memory accounting for bpf ringbuffer (Jiri Olsa) [1874007] - bpf: Eliminate rlimit-based memory accounting for reuseport_array maps (Jiri Olsa) [1874007] - bpf: Eliminate rlimit-based memory accounting for queue_stack_maps maps (Jiri Olsa) [1874007] - bpf: Eliminate rlimit-based memory accounting for lpm_trie maps (Jiri Olsa) [1874007] - bpf: Eliminate rlimit-based memory accounting for hashtab maps (Jiri Olsa) [1874007] - bpf: Eliminate rlimit-based memory accounting for devmap maps (Jiri Olsa) [1874007] - bpf: Eliminate rlimit-based memory accounting for cgroup storage maps (Jiri Olsa) [1874007] - bpf: Eliminate rlimit-based memory accounting for cpumap maps (Jiri Olsa) [1874007] - bpf: Eliminate rlimit-based memory accounting for bpf_struct_ops maps (Jiri Olsa) [1874007] - bpf: Eliminate rlimit-based memory accounting for arraymap maps (Jiri Olsa) [1874007] - bpf: Memcg-based memory accounting for bpf local storage maps (Jiri Olsa) [1874007] - bpf: Memcg-based memory accounting for bpf ringbuffer (Jiri Olsa) [1874007] - bpf: Memcg-based memory accounting for lpm_trie maps (Jiri Olsa) [1874007] - bpf: Refine memcg-based memory accounting for hashtab maps (Jiri Olsa) [1874007] - bpf: Refine memcg-based memory accounting for devmap maps (Jiri Olsa) [1874007] - bpf: Memcg-based memory accounting for cgroup storage maps (Jiri Olsa) [1874007] - bpf: Refine memcg-based memory accounting for cpumap maps (Jiri Olsa) [1874007] - bpf: Refine memcg-based memory accounting for arraymap maps (Jiri Olsa) [1874007] - bpf: Memcg-based memory accounting for bpf maps (Jiri Olsa) [1874007] - bpf: Prepare for memcg-based memory accounting for bpf maps (Jiri Olsa) [1874007] - bpf: Memcg-based memory accounting for bpf progs (Jiri Olsa) [1874007] - selftests/bpf: Extend bind{4,6} programs with a call to bpf_setsockopt (Jiri Olsa) [1874007] - selftests/bpf: Rewrite test_sock_addr bind bpf into C (Jiri Olsa) [1874007] - selftests/bpf: Fix flavored variants of test_ima (Jiri Olsa) [1874007] - libbpf: Replace size_t with __u32 in xsk interfaces (Jiri Olsa) [1874007] - bpf: Add a selftest for bpf_ima_inode_hash (Jiri Olsa) [1874007] - bpf: Add a BPF helper for getting the IMA hash of an inode (Jiri Olsa) [1874007] - libbpf: Add support for canceling cached_cons advance (Jiri Olsa) [1874007] - bpf: Refactor check_cfg to use a structured loop. (Jiri Olsa) [1874007] - selftest/bpf: Fix rst formatting in readme (Jiri Olsa) [1874007] - selftest/bpf: Fix link in readme (Jiri Olsa) [1874007] - bpf: Simplify task_file_seq_get_next() (Jiri Olsa) [1874007] - selftests/bpf: Mark tests that require unaligned memory access (Jiri Olsa) [1874007] - selftests/bpf: Avoid running unprivileged tests with alignment requirements (Jiri Olsa) [1874007] - selftests/bpf: Fix broken riscv build (Jiri Olsa) [1874007] - bpf: Add bpf_ktime_get_coarse_ns helper (Jiri Olsa) [1874007] - bpf: Add tests for bpf_bprm_opts_set helper (Jiri Olsa) [1874007] - bpf: Add bpf_bprm_opts_set helper (Jiri Olsa) [1874007] - libbpf: bpf__find_by_name[_kind] should use btf__get_nr_types() (Jiri Olsa) [1874007] - selftest/bpf: Fix IPV6FR handling in flow dissector (Jiri Olsa) [1874007] - bpf: Augment the set of sleepable LSM hooks (Jiri Olsa) [1874007] - bpf: selftest: Use bpf_sk_storage in FENTRY/FEXIT/RAW_TP (Jiri Olsa) [1874007] - selftests/bpf: Add asm tests for pkt vs pkt_end comparison. (Jiri Olsa) [1874007] - selftests/bpf: Add skb_pkt_end test (Jiri Olsa) [1874007] - bpf: Support for pointers beyond pkt_end. (Jiri Olsa) [1874007] - bpf: Compile out btf_parse_module() if module BTF is not enabled (Jiri Olsa) [1874007] - selftest/bpf: Add missed ip6ip6 test back (Jiri Olsa) [1874007] - bpf: Keep module's btf_data_size intact after load (Jiri Olsa) [1874007] - bpf: Sanitize BTF data pointer after module is loaded (Jiri Olsa) [1874007] - bpf: Load and verify kernel module BTFs (Jiri Olsa) [1874007] - bpf: Assign ID to vmlinux BTF and return extra info for BTF in GET_OBJ_INFO (Jiri Olsa) [1874007] - bpf: Add in-kernel split BTF support (Jiri Olsa) [1874007] - bpf, btf: Remove the duplicate btf_ids.h include (Jiri Olsa) [1874007] - selftests/bpf: Fix selftest build with old libc (Jiri Olsa) [1874007] - bpf: Exercise syscall operations for inode and sk storage (Jiri Olsa) [1874007] - bpf: Add tests for task_local_storage (Jiri Olsa) [1874007] - bpf: Update selftests for local_storage to use vmlinux.h (Jiri Olsa) [1874007] - bpf: Implement get_current_task_btf and RET_PTR_TO_BTF_ID (Jiri Olsa) [1874007] - libbpf: Add support for task local storage (Jiri Olsa) [1874007] - bpf: Implement task local storage (Jiri Olsa) [1874007] - bpf: Allow LSM programs to use bpf spin locks (Jiri Olsa) [1874007] - bpf: Lift hashtab key_size limit (Jiri Olsa) [1874007] - selftests/bpf: Add split BTF dedup selftests (Jiri Olsa) [1874007] - libbpf: Accomodate DWARF/compiler bug with duplicated identical arrays (Jiri Olsa) [1874007] - libbpf: Support BTF dedup of split BTFs (Jiri Olsa) [1874007] - libbpf: Fix BTF data layout checks and allow empty BTF (Jiri Olsa) [1874007] - selftests/bpf: Add checking of raw type dump in BTF writer APIs selftests (Jiri Olsa) [1874007] - selftests/bpf: Add split BTF basic test (Jiri Olsa) [1874007] - libbpf: Implement basic split BTF support (Jiri Olsa) [1874007] - libbpf: Unify and speed up BTF string deduplication (Jiri Olsa) [1874007] - selftest/bpf: Relax btf_dedup test checks (Jiri Olsa) [1874007] - libbpf: Factor out common operations in BTF writing APIs (Jiri Olsa) [1874007] - selftest/bpf: Use global variables instead of maps for test_tcpbpf_kern (Jiri Olsa) [1874007] - selftests/bpf: Migrate tcpbpf_user.c to use BPF skeleton (Jiri Olsa) [1874007] - selftests/bpf: Replace EXPECT_EQ with ASSERT_EQ and refactor verify_results (Jiri Olsa) [1874007] - selftests/bpf: Drop python client/server in favor of threads (Jiri Olsa) [1874007] - selftests/bpf: Move test_tcppbf_user into test_progs (Jiri Olsa) [1874007] - bpf: Fix error path in htab_map_alloc() (Jiri Olsa) [1874007] - bpf: Avoid hashtab deadlock with map_locked (Jiri Olsa) [1874007] - bpf: Use separate lockdep class for each hashtab (Jiri Olsa) [1874007] - fault-injection: handle EI_ETYPE_TRUE (Jiri Olsa) [1874007] - vfs, fdtable: Add fget_task helper (Jiri Olsa) [1874007] - [s390] vfio-pci/zdev: Add zPCI capabilities to VFIO_DEVICE_GET_INFO (Claudio Imbrenda) [1858844] - [s390] vfio: Introduce capability definitions for VFIO_DEVICE_GET_INFO (Claudio Imbrenda) [1858844] - [s390] s390/pci: track whether util_str is valid in the zpci_dev (Claudio Imbrenda) [1858844] - [s390] s390/pci: stash version in the zpci_dev (Claudio Imbrenda) [1858844]- Enable CRYPTO_SHA512 and _SSSE3 so these are available in FIPS mode (Vladis Dronov) [1973106] - crypto: drbg - self test for HMAC(SHA-512) (Vladis Dronov) [1973106] - xfrm: xfrm_state_mtu should return at least 1280 for ipv6 (Sabrina Dubroca) [1919786] - xfrm: remove get_mtu indirection from xfrm_type (Sabrina Dubroca) [1919786] - netfilter: move endif to correct location (Florian Westphal) [1971991] - netfilter: nft_compat: remove flush counter optimization (Florian Westphal) [1974323] - mptcp: fix soft lookup in subflow_error_report() (Florian Westphal) [1936368] - selftests: mptcp: enable syncookie only in absence of reorders (Florian Westphal) [1936368] - mptcp: do not warn on bad input from the network (Florian Westphal) [1936368] - mptcp: wake-up readers only for in sequence data (Florian Westphal) [1936368] - mptcp: try harder to borrow memory from subflow under pressure (Florian Westphal) [1936368] - mptcp: Fix out of bounds when parsing TCP options (Florian Westphal) [1936368] - selftests: mptcp_connect: add SO_TIMESTAMPNS cmsg support (Florian Westphal) [1936368] - mptcp: receive path cmsg support (Florian Westphal) [1936368] - tcp: export timestamp helpers for mptcp (Florian Westphal) [1936368] - mptcp: setsockopt: handle SOL_SOCKET in one place only (Florian Westphal) [1936368] - mptcp: sockopt: propagate timestamp request to subflows (Florian Westphal) [1936368] - sock: expose so_timestamping options for mptcp (Florian Westphal) [1936368] - mptcp: restrict values of 'enabled' sysctl (Florian Westphal) [1936368] - mptcp: support SYSCTL only if enabled (Florian Westphal) [1936368] - mptcp: make sure flag signal is set when add addr with port (Florian Westphal) [1936368] - mptcp: remove redundant initialization in pm_nl_init_net() (Florian Westphal) [1936368] - mptcp: generate subflow hmac after mptcp_finish_join() (Florian Westphal) [1936368] - mptcp: using TOKEN_MAX_RETRIES instead of magic number (Florian Westphal) [1936368] - mptcp: fix pr_debug in mptcp_token_new_connect (Florian Westphal) [1936368] - mptcp: update selftest for fallback due to OoO (Florian Westphal) [1936368] - mptcp: do not reset MP_CAPABLE subflow on mapping errors (Florian Westphal) [1936368] - mptcp: always parse mptcp options for MPC reqsk (Florian Westphal) [1936368] - mptcp: fix sk_forward_memory corruption on retransmission (Florian Westphal) [1936368] - mptcp: validate 'id' when stopping the ADD_ADDR retransmit timer (Florian Westphal) [1936368] - mptcp: avoid error message on infinite mapping (Florian Westphal) [1936368] - mptcp: drop unconditional pr_warn on bad opt (Florian Westphal) [1936368] - mptcp: avoid OOB access in setsockopt() (Florian Westphal) [1936368] - mptcp: fix data stream corruption (Florian Westphal) [1936368] - mptcp: fix splat when closing unaccepted socket (Florian Westphal) [1936368] - selftests: mptcp: add a test case for MSG_PEEK (Florian Westphal) [1936368] - mptcp: add MSG_PEEK support (Florian Westphal) [1936368] - mptcp: ignore unsupported msg flags (Florian Westphal) [1936368] - mptcp: implement MSG_TRUNC support (Florian Westphal) [1936368] - mptcp: implement dummy MSG_ERRQUEUE support (Florian Westphal) [1936368] - mptcp: Retransmit DATA_FIN (Florian Westphal) [1936368] - selftests: mptcp: add packet mark test case (Florian Westphal) [1936368] - selftests: mptcp: add the net device name testcase (Florian Westphal) [1936368] - selftests: mptcp: dump more info on mpjoin errors (Florian Westphal) [1936368] - selftests: mptcp: init nstat history (Florian Westphal) [1936368] - selftests: mptcp: launch mptcp_connect with timeout (Florian Westphal) [1936368] - selftests: mptcp: remove id 0 address testcases (Florian Westphal) [1936368] - selftests: mptcp: add addr argument for del_addr (Florian Westphal) [1936368] - selftests: mptcp: avoid calling pm_nl_ctl with bad IDs (Florian Westphal) [1936368] - selftests: mptcp: signal addresses testcases (Florian Westphal) [1936368] - selftests: mptcp: timeout testcases for multi addresses (Florian Westphal) [1936368] - selftests: mptcp: add cfg_do_w for cfg_remove (Florian Westphal) [1936368] - selftests: mptcp: Restore packet capture option in join tests (Florian Westphal) [1936368] - selftests: mptcp: add testcases for removing addrs (Florian Westphal) [1936368] - selftests: mptcp: set addr id for removing testcases (Florian Westphal) [1936368] - selftests: mptcp: add invert argument for chk_rm_nr (Florian Westphal) [1936368] - selftests: mptcp: fail if not enough SYN/3rd ACK (Florian Westphal) [1936368] - selftests: mptcp: display warnings on one line (Florian Westphal) [1936368] - selftests: mptcp: fix ACKRX debug message (Florian Westphal) [1936368] - selftests: mptcp: dump more info on errors (Florian Westphal) [1936368] - selftests: mptcp: add command line arguments for mptcp_join.sh (Florian Westphal) [1936368] - selftests: mptcp: add testcases for ADD_ADDR with port (Florian Westphal) [1936368] - selftests: mptcp: add port argument for pm_nl_ctl (Florian Westphal) [1936368] - selftests: mptcp: add testcases for newly added addresses (Florian Westphal) [1936368] - selftests: mptcp: use minus values for removing address numbers (Florian Westphal) [1936368] - selftests: increase timeout to 10 min (Florian Westphal) [1936368] - selftests: mptcp: add IPv4-mapped IPv6 testcases (Florian Westphal) [1936368] - mptcp: use mptcp_for_each_subflow in mptcp_close (Florian Westphal) [1936368] - mptcp: add tracepoint in subflow_check_data_avail (Florian Westphal) [1936368] - mptcp: add tracepoint in ack_update_msk (Florian Westphal) [1936368] - mptcp: add tracepoint in get_mapping_status (Florian Westphal) [1936368] - mptcp: add tracepoint in mptcp_subflow_get_send (Florian Westphal) [1936368] - mptcp: export mptcp_subflow_active (Florian Westphal) [1936368] - mptcp: fix format specifiers for unsigned int (Florian Westphal) [1936368] - mptcp: sockopt: add TCP_CONGESTION and TCP_INFO (Florian Westphal) [1936368] - mptcp: setsockopt: SO_DEBUG and no-op options (Florian Westphal) [1936368] - mptcp: setsockopt: add SO_INCOMING_CPU (Florian Westphal) [1936368] - mptcp: setsockopt: add SO_MARK support (Florian Westphal) [1936368] - mptcp: setsockopt: support SO_LINGER (Florian Westphal) [1936368] - mptcp: setsockopt: handle receive/send buffer and device bind (Florian Westphal) [1936368] - mptcp: setsockopt: handle SO_KEEPALIVE and SO_PRIORITY (Florian Westphal) [1936368] - mptcp: tag sequence_seq with socket state (Florian Westphal) [1936368] - mptcp: add skeleton to sync msk socket options to subflows (Florian Westphal) [1936368] - mptcp: only admit explicitly supported sockopt (Florian Westphal) [1936368] - mptcp: move sockopt function into a new file (Florian Westphal) [1936368] - mptcp: drop all sub-options except ADD_ADDR when the echo bit is set (Florian Westphal) [1936368] - mptcp: unify add_addr(6)_generate_hmac (Florian Westphal) [1936368] - mptcp: drop MPTCP_ADDR_IPVERSION_4/6 (Florian Westphal) [1936368] - mptcp: use mptcp_addr_info in mptcp_options_received (Florian Westphal) [1936368] - mptcp: drop OPTION_MPTCP_ADD_ADDR6 (Florian Westphal) [1936368] - mptcp: use mptcp_addr_info in mptcp_out_options (Florian Westphal) [1936368] - mptcp: move flags and ifindex out of mptcp_addr_info (Florian Westphal) [1936368] - mptcp: add mptcp reset option support (Florian Westphal) [1936368] - mptcp: remove unneeded check on first subflow (Florian Westphal) [1936368] - mptcp: add active MPC mibs (Florian Westphal) [1936368] - mptcp: add mib for token creation fallback (Florian Westphal) [1936368] - mptcp: remove id 0 address (Florian Westphal) [1936368] - mptcp: unify RM_ADDR and RM_SUBFLOW receiving (Florian Westphal) [1936368] - mptcp: remove all subflows involving id 0 address (Florian Westphal) [1936368] - mptcp: subflow.c: Fix a typo (Florian Westphal) [1936368] - mptcp: rename mptcp_pm_nl_add_addr_send_ack (Florian Westphal) [1936368] - mptcp: send ack for rm_addr (Florian Westphal) [1936368] - mptcp: drop useless addr_signal clear (Florian Westphal) [1936368] - mptcp: move to next addr when subflow creation fail (Florian Westphal) [1936368] - mptcp: export lookup_anno_list_by_saddr (Florian Westphal) [1936368] - mptcp: move to next addr when timeout (Florian Westphal) [1936368] - mptcp: drop unused subflow in mptcp_pm_subflow_established (Florian Westphal) [1936368] - mptcp: skip connecting the connected address (Florian Westphal) [1936368] - mptcp: drop argument port from mptcp_pm_announce_addr (Florian Westphal) [1936368] - mptcp: clean-up the rtx path (Florian Westphal) [1936368] - mptcp: fix ADD_ADDR HMAC in case port is specified (Florian Westphal) [1936368] - mptcp: remove a list of addrs when flushing (Florian Westphal) [1936368] - mptcp: remove multi addresses and subflows in PM (Florian Westphal) [1936368] - mptcp: remove multi subflows in PM (Florian Westphal) [1936368] - mptcp: remove multi addresses in PM (Florian Westphal) [1936368] - mptcp: add rm_list_rx in mptcp_pm_data (Florian Westphal) [1936368] - mptcp: add rm_list in mptcp_options_received (Florian Westphal) [1936368] - mptcp: add rm_list_tx in mptcp_pm_data (Florian Westphal) [1936368] - mptcp: add rm_list in mptcp_out_options (Florian Westphal) [1936368] - mptcp: fix bit MPTCP_PUSH_PENDING tests (Florian Westphal) [1936368] - mptcp: fix length of ADD_ADDR with port sub-option (Florian Westphal) [1936368] - mptcp: free resources when the port number is mismatched (Florian Westphal) [1936368] - mptcp: fix missing wakeup (Florian Westphal) [1936368] - mptcp: fix race in release_cb (Florian Westphal) [1936368] - mptcp: factor out __mptcp_retrans helper() (Florian Westphal) [1936368] - mptcp: reset 'first' and ack_hint on subflow close (Florian Westphal) [1936368] - mptcp: dispose initial struct socket when its subflow is closed (Florian Westphal) [1936368] - mptcp: fix memory accounting on allocation error (Florian Westphal) [1936368] - mptcp: put subflow sock on connect error (Florian Westphal) [1936368] - mptcp: reset last_snd on subflow close (Florian Westphal) [1936368] - mptcp: do not wakeup listener for MPJ subflows (Florian Westphal) [1936368] - mptcp: fix DATA_FIN generation on early shutdown (Florian Westphal) [1936368] - mptcp: fix DATA_FIN processing for orphaned sockets (Florian Westphal) [1936368] - mptcp: add local addr info in mptcp_info (Florian Westphal) [1936368] - mptcp: add netlink event support (Florian Westphal) [1936368] - mptcp: avoid lock_fast usage in accept path (Florian Westphal) [1936368] - netlink: don't call ->netlink_bind with table lock held (Florian Westphal) [1936368] - genetlink: restrict upcoming mptcp netlink events to CAP_NET_ADMIN (Florian Westphal) [1936368] - mptcp: pass subflow socket to a few helpers (Florian Westphal) [1936368] - mptcp: move subflow close loop after sk close check (Florian Westphal) [1936368] - mptcp: schedule worker when subflow is closed (Florian Westphal) [1936368] - mptcp: split __mptcp_close_ssk helper (Florian Westphal) [1936368] - mptcp: move pm netlink work into pm_netlink (Florian Westphal) [1936368] - mptcp: add a missing retransmission timer scheduling (Florian Westphal) [1936368] - mptcp: better msk receive window updates (Florian Westphal) [1936368] - mptcp: init mptcp request socket earlier (Florian Westphal) [1936368] - mptcp: fix spurious retransmissions (Florian Westphal) [1936368] - mptcp: fix poll after shutdown (Florian Westphal) [1936368] - mptcp: deliver ssk errors to msk (Florian Westphal) [1936368] - mptcp: pm: add lockdep assertions (Florian Westphal) [1936368] - mptcp: add the mibs for ADD_ADDR with port (Florian Westphal) [1936368] - mptcp: deal with MPTCP_PM_ADDR_ATTR_PORT in PM netlink (Florian Westphal) [1936368] - mptcp: enable use_port when invoke addresses_equal (Florian Westphal) [1936368] - mptcp: add port number check for MP_JOIN (Florian Westphal) [1936368] - mptcp: add a new helper subflow_req_create_thmac (Florian Westphal) [1936368] - mptcp: drop unused skb in subflow_token_join_request (Florian Westphal) [1936368] - mptcp: create the listening socket for new port (Florian Westphal) [1936368] - mptcp: create subflow or signal addr for newly added address (Florian Westphal) [1936368] - mptcp: drop *_max fields in mptcp_pm_data (Florian Westphal) [1936368] - mptcp: use WRITE_ONCE for the pernet *_max (Florian Westphal) [1936368] - mptcp: pm nl: reduce variable scope (Florian Westphal) [1936368] - mptcp: pm nl: support IPv4 mapped in v6 addresses (Florian Westphal) [1936368] - mptcp: support MPJoin with IPv4 mapped in v6 sk (Florian Westphal) [1936368] - mptcp: use sha256() instead of open coding (Florian Westphal) [1936368] - crypto: lib/sha256 - add sha256() function (Florian Westphal) [1936368] - mptcp: use SHA256_BLOCK_SIZE, not SHA_MESSAGE_BYTES (Florian Westphal) [1936368] - xprtrdma: Pad optimization, revisited (Steve Dickson) [1926957] - ibmvnic: remove set but not used variable 'netdev' (Diego Domingos) [1922193] - net/ibmvnic: Remove tests of member address (Diego Domingos) [1922193] - ibmvnic: remove duplicate napi_schedule call in do_reset function (Diego Domingos) [1922193] - ibmvnic: avoid calling napi_disable() twice (Diego Domingos) [1922193] - ibmvnic: queue reset work in system_long_wq (Diego Domingos) [1922193] - ibmvnic: correctly use dev_consume/free_skb_irq (Diego Domingos) [1922193] - ibmvnic: improve failover sysfs entry (Diego Domingos) [1922193] - ibmvnic: print adapter state as a string (Diego Domingos) [1922193] - ibmvnic: print reset reason as a string (Diego Domingos) [1922193] - ibmvnic: clean up the remaining debugfs data structures (Diego Domingos) [1922193] - ibmvnic: Use 'skb_frag_address()' instead of hand coding it (Diego Domingos) [1922193] - ibmvnic: remove excessive irqsave (Diego Domingos) [1922193] - ibmvnic: always store valid MAC address (Diego Domingos) [1922193] - ibmvnic: Fix possibly uninitialized old_num_tx_queues variable warning. (Diego Domingos) [1922193] - vio: make remove callback return void (Diego Domingos) [1922193] - tty: hvcs: Drop unnecessary if block (Diego Domingos) [1922193] - ibmvnic: serialize access to work queue on remove (Diego Domingos) [1922193] - ibmvnic: skip send_request_unmap for timeout reset (Diego Domingos) [1922193] - ibmvnic: add memory barrier to protect long term buffer (Diego Domingos) [1922193] - ibmvnic: substitute mb() with dma_wmb() for send_*crq* functions (Diego Domingos) [1922193] - ibmvnic: prefer strscpy over strlcpy (Diego Domingos) [1922193] - ibmvnic: remove unused spinlock_t stats_lock definition (Diego Domingos) [1922193] - ibmvnic: add comments for spinlock_t definitions (Diego Domingos) [1922193] - ibmvnic: fix miscellaneous checks (Diego Domingos) [1922193] - ibmvnic: avoid multiple line dereference (Diego Domingos) [1922193] - ibmvnic: fix braces (Diego Domingos) [1922193] - ibmvnic: fix block comments (Diego Domingos) [1922193] - ibmvnic: prefer 'unsigned long' over 'unsigned long int' (Diego Domingos) [1922193] - ibmvnic: remove unnecessary rmb() inside ibmvnic_poll (Diego Domingos) [1922193] - ibmvnic: rework to ensure SCRQ entry reads are properly ordered (Diego Domingos) [1922193] - ibmvnic: Ensure that CRQ entry read are correctly ordered (Diego Domingos) [1922193] - net: ethernet: ibm: ibmvnic: Fix some kernel-doc misdemeanours (Diego Domingos) [1922193] - powerpc/hmi: Fix kernel hang when TB is in error state. (Gustavo Walbon) [1924091] - powerpc/eeh: Fix EEH handling for hugepages in ioremap space. (Gustavo Walbon) [1924090] - powerpc/pseries: Only register vio drivers if vio bus exists (Gustavo Walbon) [1924090] - powerpc/pci: Remove unimplemented prototypes (Gustavo Walbon) [1924090] - powerpc/powernv/pci: Use kzalloc() for phb related allocations (Gustavo Walbon) [1924090] - powerpc/pasemi: Move PHB discovery (Gustavo Walbon) [1924090] - powerpc/embedded6xx/mve5100: Move PHB discovery (Gustavo Walbon) [1924090] - powerpc/embedded6xx/mpc7448: Move PHB discovery (Gustavo Walbon) [1924090] - powerpc/embedded6xx/linkstation: Move PHB discovery (Gustavo Walbon) [1924090] - powerpc/embedded6xx/holly: Move PHB discovery (Gustavo Walbon) [1924090] - powerpc/chrp: Move PHB discovery (Gustavo Walbon) [1924090] - powerpc/amigaone: Move PHB discovery (Gustavo Walbon) [1924090] - powerpc/83xx: Move PHB discovery (Gustavo Walbon) [1924090] - powerpc/82xx/*: Move PHB discovery (Gustavo Walbon) [1924090] - powerpc/52xx/mpc5200_simple: Move PHB discovery (Gustavo Walbon) [1924090] - powerpc/52xx/media5200: Move PHB discovery (Gustavo Walbon) [1924090] - powerpc/52xx/lite5200: Move PHB discovery (Gustavo Walbon) [1924090] - powerpc/52xx/efika: Move PHB discovery (Gustavo Walbon) [1924090] - powerpc/512x: Move PHB discovery (Gustavo Walbon) [1924090] - powerpc/pci: Move PHB discovery for PCI_DN using platforms (Gustavo Walbon) [1924090] - powerpc/maple: Fix declaration made after definition (Gustavo Walbon) [1924090] - powerpc/pci: Add ppc_md.discover_phbs() (Gustavo Walbon) [1924090] - powerpc/pci: Delete traverse_pci_dn() (Gustavo Walbon) [1924090] - powerpc/eeh: Rework pci_dev lookup in debugfs attributes (Gustavo Walbon) [1924090] - selftests/powerpc: Add VF recovery tests (Gustavo Walbon) [1924090] - powerpc/pseries/eeh: Make pseries_send_allow_unfreeze() static (Gustavo Walbon) [1924090] - powerpc/pseries/eeh: Make pseries_pcibios_bus_add_device() static (Gustavo Walbon) [1924090] - selftests/powerpc: Make the test check in eeh-basic.sh posix compliant (Gustavo Walbon) [1924090] - powernv/pci: Print an error when device enable is blocked (Gustavo Walbon) [1924090] - selftests/powerpc/eeh: disable kselftest timeout setting for eeh-basic (Gustavo Walbon) [1924090] - powerpc/eeh_cache: Fix a possible debugfs deadlock (Gustavo Walbon) [1924090] - powerpc/eeh: Fix eeh_dev_check_failure() for PE#0 (Gustavo Walbon) [1924090] - selftests/powerpc: Fix eeh-basic.sh exit codes (Gustavo Walbon) [1924090] - powerpc/pseries/eeh: Fix use of uninitialised variable (Gustavo Walbon) [1924090] - powerpc/eeh: Delete eeh_pe->config_addr (Gustavo Walbon) [1924090] - powerpc/eeh: Clean up PE addressing (Gustavo Walbon) [1924090] - powerpc/pseries/eeh: Allow zero to be a valid PE configuration address (Gustavo Walbon) [1924090] - powerpc/pseries/eeh: Rework device EEH PE determination (Gustavo Walbon) [1924090] - powerpc/pseries/eeh: Clean up pe_config_addr lookups (Gustavo Walbon) [1924090] - powerpc/eeh: Move EEH initialisation to an arch initcall (Gustavo Walbon) [1924090] - powerpc/eeh: Delete eeh_ops->init (Gustavo Walbon) [1924090] - powerpc/pseries: Stop using eeh_ops->init() (Gustavo Walbon) [1924090] - powerpc/powernv: Stop using eeh_ops->init() (Gustavo Walbon) [1924090] - powerpc/eeh: Rework EEH initialisation (Gustavo Walbon) [1924090] - powerpc/pseries/eeh: Fix dumb linebreaks (Gustavo Walbon) [1924090] - selftests/powerpc: Squash spurious errors due to device removal (Gustavo Walbon) [1924090] - powerpc/eeh: Move PE tree setup into the platform (Gustavo Walbon) [1924090] - powerpc/eeh: Drop pdn use in eeh_pe_tree_insert() (Gustavo Walbon) [1924090] - powerpc/eeh: Rename eeh_{add_to|remove_from}_parent_pe() (Gustavo Walbon) [1924090] - powerpc/eeh: Remove class code field from edev (Gustavo Walbon) [1924090] - powerpc/eeh: Remove spurious use of pci_dn in eeh_dump_dev_log (Gustavo Walbon) [1924090] - powerpc/eeh: Pass eeh_dev to eeh_ops->{read|write}_config() (Gustavo Walbon) [1924090] - powerpc/eeh: Pass eeh_dev to eeh_ops->resume_notify() (Gustavo Walbon) [1924090] - powerpc/eeh: Pass eeh_dev to eeh_ops->restore_config() (Gustavo Walbon) [1924090] - powerpc/eeh: Remove VF config space restoration (Gustavo Walbon) [1924090] - powerpc/eeh: Kill off eeh_ops->get_pe_addr() (Gustavo Walbon) [1924090] - powerpc/pseries: Stop using pdn->pe_number (Gustavo Walbon) [1924090] - powerpc/eeh: Move vf_index out of pci_dn and into eeh_dev (Gustavo Walbon) [1924090] - powerpc/eeh: Remove eeh_dev.c (Gustavo Walbon) [1924090] - powerpc/eeh: Remove eeh_dev_phb_init_dynamic() (Gustavo Walbon) [1924090] - powerpc/powernv: Make pnv_pci_sriov_enable() and friends static (Gustavo Walbon) [1924090] - powerpc/pseries: Make vio and ibmebus initcalls pseries specific (Gustavo Walbon) [1924090] - powerpc/eeh: Release EEH device state synchronously (Gustavo Walbon) [1924090] - powerpc/eeh: Rework eeh_ops->probe() (Gustavo Walbon) [1924090] - powerpc/eeh: Make early EEH init pseries specific (Gustavo Walbon) [1924090] - powerpc/eeh: Remove PHB check in probe (Gustavo Walbon) [1924090] - powerpc/eeh: Do early EEH init only when required (Gustavo Walbon) [1924090] - powerpc/eeh: Only dump stack once if an MMIO loop is detected (Gustavo Walbon) [1924090] - powernv/pci: Add a debugfs entry to dump PHB's IODA PE state (Gustavo Walbon) [1924090] - powernv/pci: Allow any write trigger the diag dump (Gustavo Walbon) [1924090] - powernv/pci: Use pnv_phb as the private data for debugfs entries (Gustavo Walbon) [1924090] - powerpc/powernv/npu: Fix debugfs_simple_attr.cocci warnings (Gustavo Walbon) [1924090] - powerpc/pcidn: Warn when sriov pci_dn management is used incorrectly (Gustavo Walbon) [1924090] - powerpc/pcidn: Make VF pci_dn management CONFIG_PCI_IOV specific (Gustavo Walbon) [1924090] - powerpc/sriov: Remove VF eeh_dev state when disabling SR-IOV (Gustavo Walbon) [1924090] - powerpc/eeh_sysfs: Make clearing EEH_DEV_SYSFS saner (Gustavo Walbon) [1924090] - powerpc/eeh_sysfs: Remove double pci_dn lookup. (Gustavo Walbon) [1924090] - powerpc/eeh_sysfs: ifdef pseries sr-iov sysfs properties (Gustavo Walbon) [1924090] - powerpc/eeh_cache: Don't use pci_dn when inserting new ranges (Gustavo Walbon) [1924090] - powerpc/eeh: differentiate duplicate detection message (Gustavo Walbon) [1924090] - powerpc/eeh: Handle hugepages in ioremap space (Gustavo Walbon) [1924090] - powerpc/powernv-eeh: Consisely desribe what this file does (Gustavo Walbon) [1924090] - powerpc/eeh_cache: fix a W=1 kernel-doc warning (Gustavo Walbon) [1924090] - powerpc/eeh_cache: Add a way to dump the EEH address cache (Gustavo Walbon) [1924090] - powerpc/powernv: Escalate reset when IODA reset fails (Gustavo Walbon) [1924090] - powerpc/powernv/eeh/npu: Fix uninitialized variables in opal_pci_eeh_freeze_status (Gustavo Walbon) [1924090] - powerpc: eeh_event: convert semaphore to completion (Gustavo Walbon) [1924090] - powerpc/eeh: Declare pci_ers_result_name() as static (Gustavo Walbon) [1924090] - Bluetooth: verify AMP hci_chan before amp_destroy (Gopal Tiwari) [1962546] {CVE-2021-33034} - NFSv4.2 fix handling of sr_eof in SEEK's reply (Steve Dickson) [1948015] - SUNRPC: Fix null pointer dereference in svc_rqst_free() (Benjamin Coddington) [1952008] - NFSv4: Use sequence counter with associated spinlock (Benjamin Coddington) [1952008] - NFSv4.2: fix return value of _nfs4_get_security_label() (Benjamin Coddington) [1952008] - NFSD: fix error handling in NFSv4.0 callbacks (Benjamin Coddington) [1952008] - NFS: Don't gratuitously clear the inode cache when lookup failed (Benjamin Coddington) [1952008] - NFS: Don't revalidate the directory permissions on a lookup failure (Benjamin Coddington) [1952008] - nfsd: register pernet ops last, unregister first (Benjamin Coddington) [1952008] - SUNRPC: Fix general protection fault in trace_rpc_xdr_overflow() (Benjamin Coddington) [1952008] - lockd: fix access beyond unterminated strings in prints (Benjamin Coddington) [1952008] - tty: Protect disc_data in n_tty_close and n_tty_flush_buffer (Rafael Aquini) [1879861] - hwmon: (amd_energy) Add AMD family 19h model 30h x86 match (Terry Bowman) [1949280]- redhat/configs: Re-enable dptf_power module (Prarit Bhargava) [1962349] - net/sched: act_ct: Offload connections with commit action (Marcelo Ricardo Leitner) [1965817] - netfilter: flowtable: Remove redundant hw refresh bit (Marcelo Ricardo Leitner) [1965817] - inet_diag: add support for tw_mark (Xin Long) [1972967] - mm: thp: fix MADV_REMOVE deadlock on shmem THP (Waiman Long) [1974659] {CVE-2020-29368} - mm: thp: make the THP mapcount atomic against __split_huge_pmd_locked() (Waiman Long) [1974659] {CVE-2020-29368} - mmap locking API: add mmap_lock_is_contended() (Waiman Long) [1970177] - mm: madvise: fix vma user-after-free (Waiman Long) [1970177] - khugepaged: collapse_pte_mapped_thp() protect the pmd lock (Waiman Long) [1970177] - khugepaged: collapse_pte_mapped_thp() flush the right range (Waiman Long) [1970177] - mm/mmap.c: close race between munmap() and expand_upwards()/downwards() (Waiman Long) [1970177] - mm: document warning in move_normal_pmd() and make it warn only once (Waiman Long) [1970177] - mmap locking API: convert mmap_sem comments (Waiman Long) [1970177] - mmap locking API: convert mmap_sem API comments (Waiman Long) [1970177] - mmap locking API: rename mmap_sem to mmap_lock (Waiman Long) [1970177] - mmap locking API: add mmap_assert_locked() and mmap_assert_write_locked() (Waiman Long) [1970177] - mmap locking API: add MMAP_LOCK_INITIALIZER (Waiman Long) [1970177] - mmap locking API: convert nested write lock sites (Waiman Long) [1970177] - mmap locking API: convert mmap_sem call sites missed by coccinelle (Waiman Long) [1970177] - mmap locking API: use coccinelle to convert mmap_sem rwsem call sites (Waiman Long) [1970177] - MMU notifier: use the new mmap locking API (Waiman Long) [1970177] - mm/gup.c: further document vma_permits_fault() (Waiman Long) [1970177] - mm/gup.c: update the documentation (Waiman Long) [1970177] - mm/ksm: fix NULL pointer dereference when KSM zero page is enabled (Waiman Long) [1970177] - proc: inline vma_stop into m_stop (Waiman Long) [1970177] - mm: remove CONFIG_TRANSPARENT_HUGE_PAGECACHE (Waiman Long) [1970177] - fs/io_uring: set FOLL_PIN via pin_user_pages() (Waiman Long) [1970177] - shmem: pin the file in shmem_fault() if mmap_sem is dropped (Waiman Long) [1970177] - mm/gup.c: fix comments of __get_user_pages() and get_user_pages_remote() (Waiman Long) [1970177] - mm/init-mm.c: include for vm_committed_as_batch (Waiman Long) [1970177] - lib/generic-radix-tree.c: add kmemleak annotations (Waiman Long) [1970177] - mm: Remove BUG_ON mmap_sem not held from xxx_trans_huge_lock() (Waiman Long) [1970177] - lib/generic-radix-tree.c: make 2 functions static inline (Waiman Long) [1970177] - x86/mm: Clean up the pmd_read_atomic() comments (Waiman Long) [1970177] - x86/mm: Fix function name typo in pmd_read_atomic() comment (Waiman Long) [1970177] - khugepaged: enable collapse pmd for pte-mapped THP (Waiman Long) [1970177] - mm: Handle MADV_WILLNEED through vfs_fadvise() (Waiman Long) [1970177] - pagewalk: use lockdep_assert_held for locking validation (Waiman Long) [1970177] - mm: use down_read_killable for locking mmap_sem in access_remote_vm (Waiman Long) [1970177] - proc: use down_read_killable mmap_sem for /proc/pid/map_files (Waiman Long) [1970177] - proc: use down_read_killable mmap_sem for /proc/pid/clear_refs (Waiman Long) [1970177] - proc: use down_read_killable mmap_sem for /proc/pid/pagemap (Waiman Long) [1970177] - proc: use down_read_killable mmap_sem for /proc/pid/smaps_rollup (Waiman Long) [1970177] - proc: use down_read_killable mmap_sem for /proc/pid/maps (Waiman Long) [1970177] - mm/filemap.c: correct the comment about VM_FAULT_RETRY (Waiman Long) [1970177] - mm: mmu_gather: remove __tlb_reset_range() for force flush (Waiman Long) [1970177] - arm64/mm: Drop mmap_sem before calling __do_kernel_fault() (Waiman Long) [1970177] - docs/vm: Minor editorial changes in the THP and hugetlbfs (Waiman Long) [1970177] - x86/mpx, mm/core: Fix recursive munmap() corruption (Waiman Long) [1970177] - doc: mm: migration doesn't use FOLL_SPLIT anymore (Waiman Long) [1970177] - filemap: add a comment about FAULT_FLAG_RETRY_NOWAIT behavior (Waiman Long) [1970177] - proc: commit to genradix (Waiman Long) [1970177] - generic radix trees (Waiman Long) [1970177] - mm: swap: add comment for swap_vma_readahead (Waiman Long) [1970177] - x86/mm: Make set_pmd_at() paravirt aware (Waiman Long) [1970177] - mm: select HAVE_MOVE_PMD on x86 for faster mremap (Waiman Long) [1970177] - mm: speed up mremap by 20x on large regions (Waiman Long) [1970177] - mm/mmap.c: remove verify_mm_writelocked() (Waiman Long) [1970177] - x86/fault: Check user_mode(regs) when avoiding an mmap_sem deadlock (Waiman Long) [1970177] - mm: brk: downgrade mmap_sem to read when shrinking (Waiman Long) [1970177] - mm: mremap: downgrade mmap_sem to read when shrinking (Waiman Long) [1970177] - mm: unmap VM_PFNMAP mappings with optimized path (Waiman Long) [1970177] - mm: unmap VM_HUGETLB mappings with optimized path (Waiman Long) [1970177] - mm: mmap: zap pages with read mmap_sem in munmap (Waiman Long) [1970177] - x86/mm: Fix exception table comments (Waiman Long) [1970177] - ACPI: x86: Call acpi_boot_table_init() after acpi_table_upgrade() (Mark Langsdorf) [1946282] - acpi/drivers/thermal: Remove TRIPS_NONE cooling device binding (Mark Langsdorf) [1946282] - thermal/drivers/acpi: Use hot and critical ops (Mark Langsdorf) [1946282] - thermal/core: Add critical and hot ops (Mark Langsdorf) [1946282] - thermal/core: Emit a warning if the thermal zone is updated without ops (Mark Langsdorf) [1946282] - ACPI: scan: Fix _STA getting called on devices with unmet dependencies (Mark Langsdorf) [1946282] - ACPI: tables: x86: Reserve memory occupied by ACPI tables (Mark Langsdorf) [1946282] - ACPICA: Always create namespace nodes using acpi_ns_create_node() (Mark Langsdorf) [1946282] - ACPI: platform: Add balanced-performance platform profile (Mark Langsdorf) [1946282] - ACPI: platform: Hide ACPI_PLATFORM_PROFILE option (Mark Langsdorf) [1946282] - ACPICA: Remove some code duplication from acpi_ev_address_space_dispatch (Mark Langsdorf) [1946282] - ACPICA: Fix race in generic_serial_bus (I2C) and GPIO op_region parameter handling (Mark Langsdorf) [1946282] - ACPI: property: Satisfy kernel doc validator (part 2) (Mark Langsdorf) [1946282] - ACPI: property: Satisfy kernel doc validator (part 1) (Mark Langsdorf) [1946282] - ACPI: property: Make acpi_node_prop_read() static (Mark Langsdorf) [1946282] - ACPI: property: Remove dead code (Mark Langsdorf) [1946282] - iommu/amd: Fix performance counter initialization (Mark Langsdorf) [1946282] - ACPI: property: Fix fwnode string properties matching (Mark Langsdorf) [1946282] - ACPI / NUMA: add a stub function for node_to_pxm() (Mark Langsdorf) [1946282] - ACPI: OSL: Rework acpi_check_resource_conflict() (Mark Langsdorf) [1946282] - ACPI: APEI: ERST: remove unneeded semicolon (Mark Langsdorf) [1946282] - iommu/vt-d: Add new enum value and structure for SATC (Mark Langsdorf) [1946282] - ACPI: Add support for native USB4 control _OSC (Mark Langsdorf) [1946282] - ACPI: Execute platform _OSC also with query bit clear (Mark Langsdorf) [1946282] - redhat/configs: Add CONFIG_ACPI_FPDT (Mark Langsdorf) [1946282] - ACPI: tables: introduce support for FPDT table (Mark Langsdorf) [1946282] - ACPI: APEI: Add is_generic_error() to identify GHES sources (Mark Langsdorf) [1946282] - ACPI: platform-profile: Fix possible deadlock in platform_profile_remove() (Mark Langsdorf) [1946282] - ACPI: platform-profile: Introduce object pointers to callbacks (Mark Langsdorf) [1946282] - PCI/ACPI: Clarify message about _OSC failure (Mark Langsdorf) [1946282] - PCI/ACPI: Remove unnecessary osc_lock (Mark Langsdorf) [1946282] - PCI/ACPI: Make acpi_pci_osc_control_set() static (Mark Langsdorf) [1946282] - media: ACPI / bus: Add acpi_dev_get_next_match_dev() and helper macro (Mark Langsdorf) [1946282] - ACPI: scan: Adjust white space in acpi_device_add() (Mark Langsdorf) [1946282] - ACPI: scan: Rearrange memory allocation in acpi_device_add() (Mark Langsdorf) [1946282] - ACPI: platform-profile: Drop const qualifier for cur_profile (Mark Langsdorf) [1946282] - ACPI: configfs: add missing check after configfs_register_default_group() (Mark Langsdorf) [1946282] - ACPI: CPPC: initialise vaddr pointers to NULL (Mark Langsdorf) [1946282] - ACPI: CPPC: add __iomem annotation to generic_comm_base pointer (Mark Langsdorf) [1946282] - ACPI: CPPC: remove __iomem annotation for cpc_reg's address (Mark Langsdorf) [1946282] - ACPI: Use DEVICE_ATTR_ macros (Mark Langsdorf) [1946282] - ACPICA: Update version to 20210105 (Mark Langsdorf) [1946282] - ACPICA: Updated all copyrights to 2021 (Mark Langsdorf) [1946282] - ACPICA: Remove the VRTC table (Mark Langsdorf) [1946282] - ACPICA: Remove the MTMR (Mid-Timer) table (Mark Langsdorf) [1946282] - ACPICA: Update version to 20201217 (Mark Langsdorf) [1946282] - ACPICA: add type casts for string functions (Mark Langsdorf) [1946282] - ACPICA: fix -Wfallthrough (Mark Langsdorf) [1946282] - ACPICA: Clean up exception code class checks (Mark Langsdorf) [1946282] - ACPICA: Fix exception code class checks (Mark Langsdorf) [1946282] - redhat/configs: Add CONFIG_ACPI_PLATFORM_PROFILE (Mark Langsdorf) [1946282] - ACPI: platform: Add platform profile support (Mark Langsdorf) [1946282] - NTB/msi: Use irq_has_action() (Myron Stowe) [1933153] - NTB: Use struct_size() helper in devm_kzalloc() (Myron Stowe) [1933153] - ntb: intel: Fix memleak in intel_ntb_pci_probe (Myron Stowe) [1933153] - NTB: hw: amd: fix an issue about leak system resources (Myron Stowe) [1933153] - ntb: hw: remove the code that sets the DMA mask (Myron Stowe) [1933153] - [s390] s390/qdio: remove 'merge_pending' mechanism (Claudio Imbrenda) [1919251] - [s390] s390/qdio: improve handling of PENDING buffers for QEBSM devices (Claudio Imbrenda) [1919251] - [s390] s390/qdio: rework q->qdio_error indication (Claudio Imbrenda) [1919251] - [s390] s390/qdio: inline qdio_kick_handler() (Claudio Imbrenda) [1919251] - [s390] s390/qdio: track time of last data IRQ for each device (Claudio Imbrenda) [1919251] - [s390] s390/qdio: make thinint registration symmetric (Claudio Imbrenda) [1919251] - [s390] s390/qdio: adopt new tasklet API (Claudio Imbrenda) [1919251] - [s390] s390/qdio: remove qdio_inbound_q_moved() wrapper (Claudio Imbrenda) [1919251] - [s390] s390/qdio: remove Input tasklet code (Claudio Imbrenda) [1919251] - [s390] scsi: zfcp: Do not set COMMAND_COMPLETE (Claudio Imbrenda) [1919251] - [s390] scsi: zfcp: Handle event-lost notification for Version Change events (Claudio Imbrenda) [1919251] - [s390] scsi: zfcp: Process Version Change events (Claudio Imbrenda) [1919251] - [s390] scsi: zfcp: Clarify & assert the stat_lock locking in zfcp_qdio_send() (Claudio Imbrenda) [1919251] - [s390] scsi: zfcp: Remove orphaned function declarations (Claudio Imbrenda) [1919251] - [s390] scsi: zfcp: Lift Input Queue tasklet from qdio (Claudio Imbrenda) [1919251] - [s390] scsi: zfcp: Clarify access to erp_action in zfcp_fsf_req_complete() (Claudio Imbrenda) [1919251] - [s390] scsi: zfcp: Use list_first_entry_or_null() in zfcp_erp_thread() (Claudio Imbrenda) [1919251] - [s390] s390/qdio: always use dev_name() for device name in QIB (Claudio Imbrenda) [1919251] - [s390] s390/qdio: clean up QDR setup (Claudio Imbrenda) [1919251] - [s390] s390/qdio: make qdio_handle_aobs() more robust (Claudio Imbrenda) [1919251] - [s390] s390/cpumf: disable preemption when accessing per-cpu variable (Claudio Imbrenda) [1925527] - [s390] s390/cpumf: rename header file to hwctrset.h (Claudio Imbrenda) [1925527] - [s390] s390/cpumf: remove 60 seconds read limit (Claudio Imbrenda) [1925527] - [s390] s390/cpumf: Add support for complete counter set extraction (Claudio Imbrenda) [1925527]- KVM: X86: hyper-v: Task srcu lock when accessing kvm_memslots() (Vitaly Kuznetsov) [1904570] - KVM: nSVM: remove a warning about vmcb01 VM exit reason (Vitaly Kuznetsov) [1904570] - KVM: x86: Consolidate guest enter/exit logic to common helpers (Vitaly Kuznetsov) [1904570] - KVM: x86: Defer vtime accounting 'til after IRQ handling (Vitaly Kuznetsov) [1904570] - context_tracking: Move guest exit vtime accounting to separate helpers (Vitaly Kuznetsov) [1904570] - context_tracking: Move guest exit context tracking to separate helpers (Vitaly Kuznetsov) [1904570] - context_tracking: Make guest_enter/exit() .noinstr ready (Vitaly Kuznetsov) [1904570] - sched/cputime: Rename vtime_account_system() to vtime_account_kernel() (Vitaly Kuznetsov) [1904570] - x86/kvm/svm: Move guest enter/exit into .noinstr.text (Vitaly Kuznetsov) [1904570] - x86/kvm/vmx: Move guest enter/exit into .noinstr.text (Vitaly Kuznetsov) [1904570] - x86/kvm/svm: Add hardirq tracing on guest enter/exit (Vitaly Kuznetsov) [1904570] - x86/kvm/vmx: Add hardirq tracing to guest enter/exit (Vitaly Kuznetsov) [1904570] - x86/kvm: Move context tracking where it belongs (Vitaly Kuznetsov) [1904570] - Move some more variables to kernel job templates (Michael Hofmann) - Use a different branch name for realtime pipelines (Michael Hofmann) - block: mark queue init done at the end of blk_register_queue (Ming Lei) [1963766] - block: fix race between adding/removing rq qos and normal IO (Ming Lei) [1963766] - netfilter: x_tables: Use correct memory barriers. (Phil Sutter) [1949090] - Revert "netfilter: x_tables: Switch synchronization to RCU" (Phil Sutter) [1949090] - vfio/pci/nvlink2: Do not attempt NPU2 setup on POWER8NVL NPU (Gustavo Walbon) [1891589] - powerpc/powernv/npu: Do not attempt NPU2 setup on POWER8NVL NPU (Gustavo Walbon) [1891589] - cpupower: Add cpuid cap flag for MSR_AMD_HWCR support (Steve Best) [1949161] - cpupower: Remove family arg to decode_pstates() (Steve Best) [1949161] - cpupower: Condense pstate enabled bit checks in decode_pstates() (Steve Best) [1949161] - cpupower: Update family checks when decoding HW pstates (Steve Best) [1949161] - cpupower: Remove unused pscur variable. (Steve Best) [1949161] - cpupower: Add CPUPOWER_CAP_AMD_HW_PSTATE cpuid caps flag (Steve Best) [1949161] - cpupower: Correct macro name for CPB caps flag (Steve Best) [1949161] - cpupower: Update msr_pstate union struct naming (Steve Best) [1949161] - cpupower: add Makefile dependencies for install targets (Steve Best) [1949161] - tools/power/cpupower: Read energy_perf_bias from sysfs (Steve Best) [1949161] - tools: Avoid comma separated statements (Steve Best) [1949161] - cpupower: speed up generating git version string (Steve Best) [1949161] - cpupowerutils: fix spelling mistake "dependant" -> "dependent" (Steve Best) [1949161] - ext4: fix ext4_error_err save negative errno into superblock (Lukas Czerner) [1964928] - ext4: do not set SB_ACTIVE in ext4_orphan_cleanup() (Lukas Czerner) [1964928] - ext4: fix check to prevent false positive report of incorrect used inodes (Lukas Czerner) [1964928] - ext4: fix potential error in ext4_do_update_inode (Lukas Czerner) [1964928] - ext4: do not try to set xattr into ea_inode if value is empty (Lukas Czerner) [1964928] - ext4: fix potential htree index checksum corruption (Lukas Czerner) [1964928] - ext4: don't leak old mountpoint samples (Lukas Czerner) [1964928] - ext4: don't remount read-only with errors=continue on reboot (Lukas Czerner) [1964928] - ext4: fix deadlock with fs freezing and EA inodes (Lukas Czerner) [1964928] - ext4: fix a memory leak of ext4_free_data (Lukas Czerner) [1964928] - ext4: find old entry again if failed to rename whiteout (Lukas Czerner) [1945503] - ext4: fix bug for rename with RENAME_WHITEOUT (Lukas Czerner) [1945503] - mount: fix mounting of detached mounts onto targets that reside on shared mounts (Carlos Maiolino) [1959172] - fs: fix lazytime expiration handling in __writeback_single_inode() (Carlos Maiolino) [1936260] - tty: Don't hold ldisc lock in tty_reopen() if ldisc present (Waiman Long) [1968271] - tty/ldsem: Add lockdep asserts for ldisc_sem (Waiman Long) [1968271] - tty: Simplify tty->count math in tty_reopen() (Waiman Long) [1968271] - tty: Don't block on IO when ldisc change is pending (Waiman Long) [1968271] - tty: Hold tty_ldisc_lock() during tty_reopen() (Waiman Long) [1968271] - tty: Drop tty->count on tty_reopen() failure (Waiman Long) [1968271] - net: udp: Add support for getsockopt(..., ..., UDP_GRO, ..., ...); (Xin Long) [1951679] - net: Fix gro aggregation for udp encaps with zero csum (Xin Long) [1951679] - udp: ipv4: manipulate network header of NATed UDP GRO fraglist (Xin Long) [1951679] - udp: not remove the CRC flag from dev features when need_csum is false (Xin Long) [1951679] - udp: mask TOS bits in udp_v4_early_demux() (Xin Long) [1951679] - net: fix use-after-free when UDP GRO with shared fraglist (Xin Long) [1951679] - x86, sched: Treat Intel SNC topology as default, COD as exception (David Arcari) [1920040] - dmaengine: idxd: iax bus removal (Jerry Snitselaar) [1955744] - dmaengine: idxd: fix cdev setup and free device lifetime issues (Jerry Snitselaar) [1955744] - dmaengine: idxd: fix group conf_dev lifetime (Jerry Snitselaar) [1955744] - dmaengine: idxd: fix engine conf_dev lifetime (Jerry Snitselaar) [1955744] - dmaengine: idxd: fix wq conf_dev 'struct device' lifetime (Jerry Snitselaar) [1955744] - dmaengine: idxd: fix idxd conf_dev 'struct device' lifetime (Jerry Snitselaar) [1955744] - dmaengine: idxd: use ida for device instance enumeration (Jerry Snitselaar) [1955744] - dmaengine: idxd: removal of pcim managed mmio mapping (Jerry Snitselaar) [1955744] - dmaengine: idxd: cleanup pci interrupt vector allocation management (Jerry Snitselaar) [1955744] - dmaengine: idxd: fix dma device lifetime (Jerry Snitselaar) [1955744] - dmaengine: idxd: Fix potential null dereference on pointer status (Jerry Snitselaar) [1927070] - dmaengine: idxd: fix wq cleanup of WQCFG registers (Jerry Snitselaar) [1955744] - dmaengine: idxd: clear MSIX permission entry on shutdown (Jerry Snitselaar) [1955744] - dmaengine: idxd: fix wq size store permission state (Jerry Snitselaar) [1955744] - dmaengine: idxd: fix opcap sysfs attribute output (Jerry Snitselaar) [1955744] - dmaengine: idxd: Fix clobbering of SWERR overflow bit on writeback (Jerry Snitselaar) [1955744] - dmaengine: idxd: add module parameter to force disable of SVA (Jerry Snitselaar) [1920734] - dmaengine: idxd: set DMA channel to be private (Jerry Snitselaar) [1920759] - dma: idxd: use DEFINE_MUTEX() for mutex lock (Jerry Snitselaar) [1955744] - dmaengine: idxd: check device state before issue command (Jerry Snitselaar) [1927070] - dmaengine: move channel device_node deletion to driver (Jerry Snitselaar) [1920721] - dmaengine: idxd: fix misc interrupt completion (Jerry Snitselaar) [1920757] - dmaengine: idxd: Fix list corruption in description completion (Jerry Snitselaar) [1920746] - dmaengine: idxd: add IAX configuration support in the IDXD driver (Jerry Snitselaar) [1837233] - dmaengine: idxd: add ATS disable knob for work queues (Jerry Snitselaar) [1921291] - dmaengine: idxd: define table offset multiplier (Jerry Snitselaar) [1921290] - dmaengine: idxd: Update calculation of group offset to be more readable (Jerry Snitselaar) [1955744]- redhat/config: Double MAX_LOCKDEP_ENTRIES (Waiman Long) [1945937] - dm writecache: flush origin device when writing and cache is full (Mike Snitzer) [1970513] - dm snapshot: properly fix a crash when an origin has no snapshots (Mike Snitzer) [1970513] - dm verity: fix require_signatures module_param permissions (Mike Snitzer) [1970513] - dm snapshot: fix crash with transient storage and zero chunk size (Mike Snitzer) [1970513] - dm rq: fix double free of blk_mq_tag_set in dev remove after table load fails (Mike Snitzer) [1970513] - dm integrity: increase RECALC_SECTORS to improve recalculate speed (Mike Snitzer) [1970513] - dm integrity: don't re-write metadata if discarding same blocks (Mike Snitzer) [1970513] - dm raid: fix inconclusive reshape layout on fast raid4/5/6 table reload sequences (Mike Snitzer) [1970513] - dm raid: fix fall-through warning in rs_check_takeover() for Clang (Mike Snitzer) [1970513] - dm integrity: fix missing goto in bitmap_flush_interval error handling (Mike Snitzer) [1970513] - dm space map common: fix division bug in sm_ll_find_free_block() (Mike Snitzer) [1970513] - dm persistent data: packed struct should have an aligned() attribute too (Mike Snitzer) [1970513] - dm btree spine: remove paranoid node_check call in node_prep_for_write() (Mike Snitzer) [1970513] - dm space map disk: remove redundant calls to sm_disk_get_nr_free() (Mike Snitzer) [1970513] - dm persistent data: remove unused return from exit_shadow_spine() (Mike Snitzer) [1970513] - dm verity: allow only one error handling mode (Mike Snitzer) [1970513] - dm: remove useless loop in __split_and_process_bio (Mike Snitzer) [1970513] - redhat/configs: Update CONFIG_PINCTRL_AMD (David Arcari) [1964588] - ionic: fix ptp support config breakage (Jonathan Toppins) [1951826] - ionic: return -EFAULT if copy_to_user() fails (Jonathan Toppins) [1951826] - ionic: git_ts_info bit shifters (Jonathan Toppins) [1951826] - ionic: extend ts_config set locking (Jonathan Toppins) [1951826] - ionic: add ts_config replay (Jonathan Toppins) [1951826] - ionic: ignore EBUSY on queue start (Jonathan Toppins) [1951826] - ionic: re-start ptp after queues up (Jonathan Toppins) [1951826] - ionic: add SKBTX_IN_PROGRESS (Jonathan Toppins) [1951826] - ionic: check for valid tx_mode on SKBTX_HW_TSTAMP xmit (Jonathan Toppins) [1951826] - ionic: remove unnecessary compat ifdef (Jonathan Toppins) [1951826] - ionic: fix up a couple of code style nits (Jonathan Toppins) [1951826] - ionic: advertise support for hardware timestamps (Jonathan Toppins) [1951826] - ionic: ethtool ptp stats (Jonathan Toppins) [1951826] - ionic: add ethtool support for PTP (Jonathan Toppins) [1951826] - ionic: add and enable tx and rx timestamp handling (Jonathan Toppins) [1951826] - ethtool: add timestamping related string sets (Jonathan Toppins) [1951826] - net: Introduce peer to peer one step PTP time stamping. (Jonathan Toppins) [1951826] - ionic: set up hw timestamp queues (Jonathan Toppins) [1951826] - ionic: add rx filtering for hw timestamp steering (Jonathan Toppins) [1951826] - ionic: link in the new hw timestamp code (Jonathan Toppins) [1951826] - ionic: add hw timestamp support files (Jonathan Toppins) [1951826] - ionic: split adminq post and wait calls (Jonathan Toppins) [1951826] - ionic: add hw timestamp structs to interface (Jonathan Toppins) [1951826] - ionic: add handling of larger descriptors (Jonathan Toppins) [1951826] - ionic: add new queue features to interface (Jonathan Toppins) [1951826] - ionic: pull per-q stats work out of queue loops (Jonathan Toppins) [1951826] - ionic: avoid races in ionic_heartbeat_check (Jonathan Toppins) [1951826] - ionic: fix sizeof usage (Jonathan Toppins) [1951826] - ionic: count dma errors (Jonathan Toppins) [1951826] - ionic: protect adminq from early destroy (Jonathan Toppins) [1951826] - ionic: stop watchdog when in broken state (Jonathan Toppins) [1951826] - ionic: block actions during fw reset (Jonathan Toppins) [1951826] - ionic: update ethtool support bits for BASET (Jonathan Toppins) [1951826] - ionic: fix unchecked reference (Jonathan Toppins) [1951826] - ionic: simplify the intr_index use in txq_init (Jonathan Toppins) [1951826] - ionic: code cleanup details (Jonathan Toppins) [1951826] - ionic: Update driver to use ethtool_sprintf (Jonathan Toppins) [1951826] - ionic: aggregate Tx byte counting calls (Jonathan Toppins) [1951826] - ionic: simplify tx clean (Jonathan Toppins) [1951826] - ionic: generic tx skb mapping (Jonathan Toppins) [1951826] - ionic: simplify TSO descriptor mapping (Jonathan Toppins) [1951826] - ionic: simplify use of completion types (Jonathan Toppins) [1951826] - ionic: rebuild debugfs on qcq swap (Jonathan Toppins) [1951826] - ionic: simplify rx skb alloc (Jonathan Toppins) [1951826] - ionic: optimize fastpath struct usage (Jonathan Toppins) [1951826] - ionic: implement Rx page reuse (Jonathan Toppins) [1951826] - ionic: move rx_page_alloc and free (Jonathan Toppins) [1951826] - drivers: net: ionic: simplify the return expression of ionic_set_rxfh() (Jonathan Toppins) [1951826] - ionic: change mtu after queues are stopped (Jonathan Toppins) [1951826] - ionic: remove some unnecessary oom messages (Jonathan Toppins) [1951826] - ionic: useful names for booleans (Jonathan Toppins) [1951826] - ionic: change set_rx_mode from_ndo to can_sleep (Jonathan Toppins) [1951826] - ionic: flatten calls to ionic_lif_rx_mode (Jonathan Toppins) [1951826] - ionic: batch rx buffer refilling (Jonathan Toppins) [1951826] - ionic: add lif quiesce (Jonathan Toppins) [1951826] - ionic: check for link after netdev registration (Jonathan Toppins) [1951826] - ionic: check port ptr before use (Jonathan Toppins) [1951826] - platform/x86: hp-wireless: add AMD's hardware id to the supported list (David Arcari) [1960472] - treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 1 (David Arcari) [1960472] - net/bond: revert deletion of driver and module versions (Jarod Wilson) [1955702] - net:sfc: fix non-freed irq in legacy irq mode (Íñigo Huguet) [1906728] - devlink: Extend SF port attributes to have external attribute (Petr Oros) [1959002] - netfilter: xt_SECMARK: add new revision to fix structure layout (Phil Sutter) [1961714] - xfrm: ipcomp: remove unnecessary get_cpu() (Sabrina Dubroca) [1946885] - platform/x86: intel_pmc_core: Add support for Alder Lake PCH-P (David Arcari) [1838624] - scsi: qedf: Update the max_id value in host structure (Nilesh Javali) [1954876] - scsi: qedf: Add pointer checks in qedf_update_link_speed() (Nilesh Javali) [1871687] - [s390] s390/nvme: support firmware-assisted dump to NVMe disks (Claudio Imbrenda) [1847447] - [s390] s390: nvme dump support (Claudio Imbrenda) [1847447] - [s390] s390/boot: add build-id to decompressor (Philipp Rudo) [1897093] - genirq: Reduce irqdebug cacheline bouncing (Gustavo Walbon) [1957729]- CI: Merge MR, baseline and private configs (Michael Hofmann) - RDMA/rxe: Fix failure during driver load (Kamal Heib) [1930263] - xfrm: remove the fragment check for ipv6 beet mode (Xin Long) [1965185] - SUNRPC: Fix NFS READs that start at non-page-aligned offsets (Benjamin Coddington) [1950303] - pNFS/NFSv4: Improve rejection of out-of-order layouts (Benjamin Coddington) [1950303] - pNFS/NFSv4: Update the layout barrier when we schedule a layoutreturn (Benjamin Coddington) [1950303] - pNFS/NFSv4: Try to return invalid layout in pnfs_layout_process() (Benjamin Coddington) [1950303] - SUNRPC: Move the svc_xdr_recvfrom tracepoint again (Benjamin Coddington) [1950303] - nfsd4: readdirplus shouldn't return parent of export (Benjamin Coddington) [1950303] - NFS: nfs_igrab_and_active must first reference the superblock (Benjamin Coddington) [1950303] - NFS: nfs_delegation_find_inode_server must first reference the superblock (Benjamin Coddington) [1950303] - NFS/pNFS: Fix a leak of the layout 'plh_outstanding' counter (Benjamin Coddington) [1950303] - NFS/pNFS: Don't leak DS commits in pnfs_generic_retry_commit() (Benjamin Coddington) [1950303] - NFS/pNFS: Don't call pnfs_free_bucket_lseg() before removing the request (Benjamin Coddington) [1950303] - pNFS: Stricter ordering of layoutget and layoutreturn (Benjamin Coddington) [1950303] - pNFS: Clean up pnfs_layoutreturn_free_lsegs() (Benjamin Coddington) [1950303] - pNFS: We want return-on-close to complete when evicting the inode (Benjamin Coddington) [1950303] - pNFS: Mark layout for return if return-on-close was not sent (Benjamin Coddington) [1950303] - net: sunrpc: interpret the return value of kstrtou32 correctly (Benjamin Coddington) [1950303] - SUNRPC: Handle TCP socket sends with kernel_sendpage() again (Benjamin Coddington) [1950303] - NFS/pNFS: Fix a typo in ff_layout_resend_pnfs_read() (Benjamin Coddington) [1950303] - pNFS/flexfiles: Avoid spurious layout returns in ff_layout_choose_ds_for_read (Benjamin Coddington) [1950303] - NFSv4/pnfs: Add tracing for the deviceid cache (Benjamin Coddington) [1950303] - fs/lockd: convert comma to semicolon (Benjamin Coddington) [1950303] - SUNRPC: When expanding the buffer, we may need grow the sparse pages (Benjamin Coddington) [1950303] - SUNRPC: Cleanup - constify a number of xdr_buf helpers (Benjamin Coddington) [1950303] - SUNRPC: Clean up open coded setting of the xdr_stream 'nwords' field (Benjamin Coddington) [1950303] - SUNRPC: _copy_to/from_pages() now check for zero length (Benjamin Coddington) [1950303] - SUNRPC: Cleanup xdr_shrink_bufhead() (Benjamin Coddington) [1950303] - SUNRPC: Fix xdr_expand_hole() (Benjamin Coddington) [1950303] - SUNRPC: Fixes for xdr_align_data() (Benjamin Coddington) [1950303] - SUNRPC: _shift_data_left/right_pages should check the shift length (Benjamin Coddington) [1950303] - NFSv4.1: use BITS_PER_LONG macro in nfs4session.h (Benjamin Coddington) [1950303] - xprtrdma: Fix XDRBUF_SPARSE_PAGES support (Benjamin Coddington) [1950303] - sunrpc: fix xs_read_xdr_buf for partial pages receive (Benjamin Coddington) [1950303] - Revert "nfsd4: support change_attr_type attribute" (Benjamin Coddington) [1950303] - nfsd4: don't query change attribute in v2/v3 case (Benjamin Coddington) [1950303] - nfsd: minor nfsd4_change_attribute cleanup (Benjamin Coddington) [1950303] - nfsd: simplify nfsd4_change_info (Benjamin Coddington) [1950303] - nfsd: only call inode_query_iversion in the I_VERSION case (Benjamin Coddington) [1950303] - nfs_common: need lock during iterate through the list (Benjamin Coddington) [1950303] - nfsd: Fix message level for normal termination (Benjamin Coddington) [1950303] - NFS: switch nfsiod to be an UNBOUND workqueue. (Benjamin Coddington) [1950303] - lockd: don't use interval-based rebinding over TCP (Benjamin Coddington) [1950303] - net: sunrpc: Fix 'snprintf' return value check in 'do_xprt_debugfs' (Benjamin Coddington) [1950303] - NFSv4: Refactor to use user namespaces for nfs4idmap (Benjamin Coddington) [1950303] - NFS: NFSv2/NFSv3: Use cred from fs_context during mount (Benjamin Coddington) [1950303] - NFSv4: Fix a pNFS layout related use-after-free race when freeing the inode (Benjamin Coddington) [1950303] - SUNRPC: Fix up xdr_set_page() (Benjamin Coddington) [1950303] - SUNRPC: Fix open coded xdr_stream_remaining() (Benjamin Coddington) [1950303] - pNFS: Clean up open coded xdr string decoding (Benjamin Coddington) [1950303] - SUNRPC: Fix up open coded kmemdup_nul() (Benjamin Coddington) [1950303] - pNFS/flexfiles: Fix up layoutstats reporting for non-TCP transports (Benjamin Coddington) [1950303] - NFSv4/pNFS: Store the transport type in struct nfs4_pnfs_ds_addr (Benjamin Coddington) [1950303] - pNFS: Add helpers for allocation/free of struct nfs4_pnfs_ds_addr (Benjamin Coddington) [1950303] - NFSv4/pNFS: Use connections to a DS that are all of the same protocol family (Benjamin Coddington) [1950303] - SUNRPC: Remove unused function xprt_load_transport() (Benjamin Coddington) [1950303] - NFS: Switch mount code to use xprt_find_transport_ident() (Benjamin Coddington) [1950303] - SUNRPC: Add a helper to return the transport identifier given a netid (Benjamin Coddington) [1950303] - SUNRPC: Close a race with transport setup and module put (Benjamin Coddington) [1950303] - SUNRPC: xprt_load_transport() needs to support the netid "rdma6" (Benjamin Coddington) [1950303] - SUNRPC: rpc_wake_up() should wake up tasks in the correct order (Benjamin Coddington) [1950303] - NFSv4: Observe the NFS_MOUNT_SOFTREVAL flag in _nfs4_proc_lookupp (Benjamin Coddington) [1950303] - NFSv3: Add emulation of the lookupp() operation (Benjamin Coddington) [1950303] - NFSv3: Refactor nfs3_proc_lookup() to split out the dentry (Benjamin Coddington) [1950303] - SUNRPC: Remove XDRBUF_SPARSE_PAGES flag in gss_proxy upcall (Benjamin Coddington) [1950303] - NFSD: Add tracepoints in nfsd4_decode/encode_compound() (Benjamin Coddington) [1950303] - NFSD: Add tracepoints in nfsd_dispatch() (Benjamin Coddington) [1950303] - NFSD: Add common helpers to decode void args and encode void results (Benjamin Coddington) [1950303] - SUNRPC: Prepare for xdr_stream-style decoding on the server-side (Benjamin Coddington) [1950303] - SUNRPC: Add xdr_set_scratch_page() and xdr_reset_scratch_buffer() (Benjamin Coddington) [1950303] - NFSD: Add SPDX header for fs/nfsd/trace.c (Benjamin Coddington) [1950303] - SUNRPC: Move the svc_xdr_recvfrom() tracepoint (Benjamin Coddington) [1950303] - NFSD: Add SPDX header for fs/nfsd/trace.c (Benjamin Coddington) [1950303] - NFSD: A semicolon is not needed after a switch statement. (Benjamin Coddington) [1950303] - svcrdma: support multiple Read chunks per RPC (Benjamin Coddington) [1950303] - svcrdma: Use the new parsed chunk list when pulling Read chunks (Benjamin Coddington) [1950303] - svcrdma: Rename info::ri_chunklen (Benjamin Coddington) [1950303] - svcrdma: Clean up chunk tracepoints (Benjamin Coddington) [1950303] - svcrdma: Remove chunk list pointers (Benjamin Coddington) [1950303] - svcrdma: Support multiple Write chunks in svc_rdma_send_reply_chunk (Benjamin Coddington) [1950303] - svcrdma: Support multiple Write chunks in svc_rdma_map_reply_msg() (Benjamin Coddington) [1950303] - svcrdma: Support multiple write chunks when pulling up (Benjamin Coddington) [1950303] - svcrdma: Use parsed chunk lists to encode Reply transport headers (Benjamin Coddington) [1950303] - svcrdma: Use parsed chunk lists to construct RDMA Writes (Benjamin Coddington) [1950303] - svcrdma: Use parsed chunk lists to detect reverse direction replies (Benjamin Coddington) [1950303] - svcrdma: Use parsed chunk lists to derive the inv_rkey (Benjamin Coddington) [1950303] - svcrdma: Add a "parsed chunk list" data structure (Benjamin Coddington) [1950303] - svcrdma: Clean up svc_rdma_encode_reply_chunk() (Benjamin Coddington) [1950303] - svcrdma: Post RDMA Writes while XDR encoding replies (Benjamin Coddington) [1950303] - NFSD: Invoke svc_encode_result_payload() in "read" NFSD encoders (Benjamin Coddington) [1950303] - SUNRPC: Rename svc_encode_read_payload() (Benjamin Coddington) [1950303] - svcrdma: Refactor the RDMA Write path (Benjamin Coddington) [1950303] - svcrdma: Const-ify the xdr_buf arguments (Benjamin Coddington) [1950303] - SUNRPC: Adjust synopsis of xdr_buf_subsegment() (Benjamin Coddington) [1950303] - svcrdma: Catch another Reply chunk overflow case (Benjamin Coddington) [1950303] - xprtrdma: Micro-optimize MR DMA-unmapping (Benjamin Coddington) [1950303] - xprtrdma: Move rpcrdma_mr_put() (Benjamin Coddington) [1950303] - xprtrdma: Trace unmap_sync calls (Benjamin Coddington) [1950303] - xprtrdma: Display the task ID when reporting MR events (Benjamin Coddington) [1950303] - xprtrdma: Clean up trace_xprtrdma_nomrs() (Benjamin Coddington) [1950303] - xprtrdma: Clean up xprtrdma callback tracepoints (Benjamin Coddington) [1950303] - xprtrdma: Clean up tracepoints in the reply path (Benjamin Coddington) [1950303] - xprtrdma: Clean up reply parsing error tracepoints (Benjamin Coddington) [1950303] - xprtrdma: Clean up trace_xprtrdma_post_linv (Benjamin Coddington) [1950303] - xprtrdma: Introduce FRWR completion IDs (Benjamin Coddington) [1950303] - xprtrdma: Introduce Send completion IDs (Benjamin Coddington) [1950303] - xprtrdma: Introduce Receive completion IDs (Benjamin Coddington) [1950303] - xprtrdma: Replace dprintk call sites in ERR_CHUNK path (Benjamin Coddington) [1950303] - xprtrdma: Fix a BUG when tracing is enabled with NFSv4.1 on RDMA (Benjamin Coddington) [1950303] - drm: virtio: fix common struct sg_table related issues (Eric Auger) [1971821] - net/mlx5e: Release skb in case of failure in tc update skb (Alaa Hleihel) [1915307] - net/mlx5: Release devlink object if adev fails (Alaa Hleihel) [1915307] - net/mlx5: Fix compilation warning for 32-bit platform (Alaa Hleihel) [1915307] - net/mlx5: Use effective interrupt affinity (Alaa Hleihel) [1915307] - net/mlx5: Replace irq_to_desc() abuse (Alaa Hleihel) [1915307] - RDMA/mlx5: Remove unneeded semicolon (Alaa Hleihel) [1915307] - net: mlx5: convert comma to semicolon (Alaa Hleihel) [1915307] - net/mlx5e: Fill mlx5e_create_cq_param in a function (Alaa Hleihel) [1915307] - net/mlx5e: Split between RX/TX tunnel FW support indication (Alaa Hleihel) [1915307] - net/mlx5: Arm only EQs with EQEs (Alaa Hleihel) [1915307] - net/mlx5e: Remove duplicated include (Alaa Hleihel) [1915307] - net/mlx5e: Add TX port timestamp support (Alaa Hleihel) [1915307 1919646] - net/mlx5e: Add TX PTP port object support (Alaa Hleihel) [1915307 1919646] - net/mlx5e: Move MLX5E_RX_ERR_CQE macro (Alaa Hleihel) [1915307 1919646] - net/mlx5e: Split SW group counters update function (Alaa Hleihel) [1915307 1919646] - net/mlx5e: Change skb fifo push/pop API to be used without SQ (Alaa Hleihel) [1915307 1919646] - net/mlx5e: Allow SQ outside of channel context (Alaa Hleihel) [1915307 1919646] - net/mlx5e: Allow RQ outside of channel context (Alaa Hleihel) [1915307 1919646] - net/mlx5e: Allow CQ outside of channel context (Alaa Hleihel) [1915307 1919646] - net/mlx5e: Free drop RQ in a dedicated function (Alaa Hleihel) [1915307] - RDMA/mlx5: Remove IB representors dead code (Alaa Hleihel) [1915307] - net/mlx5: Simplify eswitch mode check (Alaa Hleihel) [1915307] - net/mlx5: Delete custom device management logic (Alaa Hleihel) [1915307] - RDMA/mlx5: Convert mlx5_ib to use auxiliary bus (Alaa Hleihel) [1915307] - net/mlx5e: Connect ethernet part to auxiliary bus (Alaa Hleihel) [1915307] - vdpa/mlx5: Connect mlx5_vdpa to auxiliary bus (Alaa Hleihel) [1915307] - net/mlx5: Register mlx5 devices to auxiliary virtual bus (Alaa Hleihel) [1915307] - vdpa/mlx5: Make hardware definitions visible to all mlx5 devices (Alaa Hleihel) [1915307] - net/mlx5_core: Clean driver version and name (Alaa Hleihel) [1915307] - net/mlx5: Treat host PF vport as other (non eswitch manager) vport (Alaa Hleihel) [1915307] - net/mlx5: Export steering related functions (Alaa Hleihel) [1915307] - net/mlx5: Expose other function ifc bits (Alaa Hleihel) [1915307] - net/mlx5: Expose IP-in-IP TX and RX capability bits (Alaa Hleihel) [1915307] - net/mlx5: Update the hardware interface definition for vhca state (Alaa Hleihel) [1915307] - net/mlx5: Avoid exposing driver internal command helpers (Alaa Hleihel) [1915307] - net/mlx5: Add ts_cqe_to_dest_cqn related bits (Alaa Hleihel) [1915307] - net/mlx5: Add misc4 to mlx5_ifc_fte_match_param_bits (Alaa Hleihel) [1915307] - net/mlx5: Check dr mask size against mlx5_match_param size (Alaa Hleihel) [1915307] - net/mlx5: Add sampler destination type (Alaa Hleihel) [1915307] - net/mlx5: Add sample offload hardware bits and structures (Alaa Hleihel) [1915307] - RDMA/mlx5: Use PCI device for dma mappings (Alaa Hleihel) [1915307] - RDMA/mlx5: Silence the overflow warning while building offset mask (Alaa Hleihel) [1915307] - RDMA/mlx5: Check for ERR_PTR from uverbs_zalloc() (Alaa Hleihel) [1915307] - RDMA/mlx5: Enable querying AH for XRC QP types (Alaa Hleihel) [1915307] - RDMA/mlx5: Lower setting the umem's PAS for SRQ (Alaa Hleihel) [1915307] - RDMA/mlx5: Use ib_umem_find_best_pgsz() for devx (Alaa Hleihel) [1915307] - RDMA/mlx5: mlx5_umem_find_best_quantized_pgoff() for CQ (Alaa Hleihel) [1915307] - RDMA/mlx5: Use mlx5_umem_find_best_quantized_pgoff() for QP (Alaa Hleihel) [1915307] - RDMA/mlx5: Directly compute the PAS list for raw QP RQ's (Alaa Hleihel) [1915307] - RDMA/mlx5: Use mlx5_umem_find_best_quantized_pgoff() for WQ (Alaa Hleihel) [1915307] - RDMA/mlx5: Use ib_umem_find_best_pgoff() for SRQ (Alaa Hleihel) [1915307] - net: mlx5: Replace in_irq() usage (Alaa Hleihel) [1915307] - net/mlx5: Cleanup kernel-doc warnings (Alaa Hleihel) [1915307] - net/mlx5e: Validate stop_room size upon user input (Alaa Hleihel) [1915307] - net/mlx5: DR, Free unused buddy ICM memory (Alaa Hleihel) [1915307] - net/mlx5: DR, ICM memory pools sync optimization (Alaa Hleihel) [1915307] - net/mlx5: DR, Sync chunks only during free (Alaa Hleihel) [1915307] - net/mlx5: DR, Handle ICM memory via buddy allocation instead of buckets (Alaa Hleihel) [1915307] - net/mlx5: DR, Add buddy allocator utilities (Alaa Hleihel) [1915307] - net/mlx5: DR, Rename matcher functions to be more HW agnostic (Alaa Hleihel) [1915307] - net/mlx5: DR, Rename builders HW specific names (Alaa Hleihel) [1915307] - net/mlx5: DR, Remove unused member of action struct (Alaa Hleihel) [1915307] - IB/mlx5: Add support for NDR link speed (Alaa Hleihel) [1915307 1926596] - RDMA/mlx5: Use ib_umem_find_best_pgsz() for mkc's (Alaa Hleihel) [1915307] - RDMA/mlx5: Split the WR setup out of mlx5_ib_update_xlt() (Alaa Hleihel) [1915307] - RDMA/mlx5: Move xlt_emergency_page_mutex into mr.c (Alaa Hleihel) [1915307] - RDMA/mlx5: Change mlx5_ib_populate_pas() to use rdma_for_each_block() (Alaa Hleihel) [1915307] - RDMA/mlx5: Remove npages from mlx5_ib_cont_pages() (Alaa Hleihel) [1915307] - RDMA/mlx5: Remove ncont from mlx5_ib_cont_pages() (Alaa Hleihel) [1915307] - RDMA/mlx5: Remove order from mlx5_ib_cont_pages() (Alaa Hleihel) [1915307] - RDMA/mlx5: Move mlx5_ib_cont_pages() to the creation of the mlx5_ib_mr (Alaa Hleihel) [1915307] - RDMA/mlx5: Remove mlx5_ib_mr->order (Alaa Hleihel) [1915307] - net/mlx5: fix error return code in mlx5e_tc_nic_init() (Alaa Hleihel) [1915306 1915307 1919642] - net/mlx5e: Fix IPsec packet drop by mlx5e_tc_update_skb (Alaa Hleihel) [1915306 1915307] - net/mlx5e: Use spin_lock_bh for async_icosq_lock (Alaa Hleihel) [1915306 1915307] - net/mlx5: Replace zero-length array with flexible-array member (Alaa Hleihel) [1915306 1915307] - net/mlx5: Fix uininitialized pointer read on pointer attr (Alaa Hleihel) [1915306 1915307] - net/mlx5: Add support for devlink reload limit no reset (Alaa Hleihel) [1915306 1915307] - net/mlx5: Add support for fw live patch event (Alaa Hleihel) [1915306 1915307] - net/mlx5: Add devlink param enable_remote_dev_reset support (Alaa Hleihel) [1915306 1915307] - net/mlx5: Add support for devlink reload action fw activate (Alaa Hleihel) [1915306 1915307] - net/mlx5: Handle sync reset abort event (Alaa Hleihel) [1915306 1915307] - net/mlx5: Handle sync reset now event (Alaa Hleihel) [1915306 1915307] - net/mlx5: Handle sync reset request event (Alaa Hleihel) [1915306 1915307] - net/mlx5: Set cap for pci sync for fw update event (Alaa Hleihel) [1915306 1915307] - net/mlx5: Add functions to set/query MFRL register (Alaa Hleihel) [1915306 1915307] - net/mlx5e: Fix potential null pointer dereference (Alaa Hleihel) [1915306 1915307 1919642] - net/mlx5: Fix dereference on pointer attr after null check (Alaa Hleihel) [1915306 1915307 1919642] - net/mlx5: Use dma device access helper (Alaa Hleihel) [1915306 1915307] - mlx5: cross-tree: phase out dma_zalloc_coherent() (Alaa Hleihel) [1915306 1915307] - net/mlx5: E-Switch, Support flow source for local vport (Alaa Hleihel) [1915306 1915307] - net/mlx5: E-switch, Move devlink eswitch ports closer to eswitch (Alaa Hleihel) [1915306 1915307] - net/mlx5: E-switch, Use helper function to load unload representor (Alaa Hleihel) [1915306 1915307] - net/mlx5: E-switch, Add helper to check egress ACL need (Alaa Hleihel) [1915306 1915307] - net/mlx5: E-switch, Use PF num in metadata reg c0 (Alaa Hleihel) [1915306 1915307] - net/mlx5: DR, Add support for rule creation with flow source hint (Alaa Hleihel) [1915306 1915307] - net/mlx5: DR, Call ste_builder directly with tag pointer (Alaa Hleihel) [1915306 1915307] - net/mlx5: DR, Remove unneeded local variable (Alaa Hleihel) [1915306 1915307] - net/mlx5: DR, Remove unneeded vlan check from L2 builder (Alaa Hleihel) [1915306 1915307] - net/mlx5: DR, Remove unneeded check from source port builder (Alaa Hleihel) [1915306 1915307] - net/mlx5: DR, Replace the check for valid STE entry (Alaa Hleihel) [1915306 1915307] - RDMA/mlx5: Delete not needed GSI QP signal QP type (Alaa Hleihel) [1915306 1915307] - RDMA/mlx5: Change GSI QP to have same creation flow like other QPs (Alaa Hleihel) [1915306 1915307] - RDMA/mlx5: Reuse existing fields in parent QP storage object (Alaa Hleihel) [1915306 1915307] - RDMA/mlx5: Embed GSI QP into general mlx5_ib QP (Alaa Hleihel) [1915306 1915307] - net/mlx5: remove unreachable return (Alaa Hleihel) [1915306 1915307 1919642] - net/mlx5e: Use kfree() to free fd->g in accel_fs_tcp_create_groups() (Alaa Hleihel) [1915306 1915307 1919642] - net/mlx5e: Keep direct reference to mlx5_core_dev in tc ct (Alaa Hleihel) [1915306 1915307 1919642] - net/mlx5e: Support CT offload for tc nic flows (Alaa Hleihel) [1915306 1915307 1919642] - net/mlx5e: rework ct offload init messages (Alaa Hleihel) [1915306 1915307 1919642] - net/mlx5e: Add tc chains offload support for nic flows (Alaa Hleihel) [1915306 1915307 1919642] - net/mlx5: Refactor tc flow attributes structure (Alaa Hleihel) [1915306 1915307 1919642] - net/mlx5e: Split nic tc flow allocation and creation (Alaa Hleihel) [1915306 1915307 1919642] - net/mlx5e: Tc nic flows to use mlx5_chains flow tables (Alaa Hleihel) [1915306 1915307 1919642] - net/mlx5: Allow ft level ignore for nic rx tables (Alaa Hleihel) [1915306 1915307 1919642] - net/mlx5: Refactor multi chains and prios support (Alaa Hleihel) [1915306 1915307 1919642] - RDMA/mlx5: Don't call to restrack recursively (Alaa Hleihel) [1915306 1915307] - RDMA/mlx5: Expose TIR and QP ICM address for sw_owner_v2 devices (Alaa Hleihel) [1915306 1915307] - RDMA/mlx5: Allow DM allocation for sw_owner_v2 enabled devices (Alaa Hleihel) [1915306 1915307] - RDMA/mlx5: Add sw_owner_v2 bit capability (Alaa Hleihel) [1915306 1915307] - RDMA/mlx5: Delete duplicated mlx5_ptys_width enum (Alaa Hleihel) [1915306 1915307] - net/mlx5: IPsec: make spdxcheck.py happy (Alaa Hleihel) [1915306 1915307] - mlx5: add pause frame stats (Alaa Hleihel) [1915306 1915307] - net/mlx5e: Add CQE compression support for multi-strides packets (Alaa Hleihel) [1915306 1915307] - net/mlx5e: Add support for tc trap (Alaa Hleihel) [1915306 1915307 1919643] - net/mlx5: E-Switch, Use vport metadata matching by default (Alaa Hleihel) [1915306 1915307] - net/mlx5: remove erroneous fallthrough (Alaa Hleihel) [1915306 1915307] - IB/mlx5: Add DCT RoCE LAG support (Alaa Hleihel) [1915306 1915307] - IB/mlx5: Add tx_affinity support for DCI QP (Alaa Hleihel) [1915306 1915307] - net/mlx5e: RX, Add a prefetch command for small L1_CACHE_BYTES (Alaa Hleihel) [1915306 1915307] - RDMA/mlx5: Enable sniffer when device is in switchdev mode (Alaa Hleihel) [1915306 1915307] - RDMA/mlx5: Add new IB rates support (Alaa Hleihel) [1915306 1915307] - RDMA/mlx5: Replace open-coded offsetofend() macro (Alaa Hleihel) [1915306 1915307] - RDMA/mlx5: Simplify multiple else-if cases with switch keyword (Alaa Hleihel) [1915306 1915307] - net/mlx5e: Link non uplink representors to PCI device (Alaa Hleihel) [1915306 1915307 1959367] - perf stat: Use nftw() instead of ftw() (Michael Petlan) [1944684] - perf unwind: Set userdata for all __report_module() paths (Michael Petlan) [1944684] - perf debug: Move debug initialization earlier (Michael Petlan) [1944684] - perf script: Fix overrun issue for dynamically-allocated PMU type number (Michael Petlan) [1944684] - perf metricgroup: Fix system PMU metrics (Michael Petlan) [1944684] - perf metricgroup: Fix for metrics containing duration_time (Michael Petlan) [1944684] - perf evlist: Fix id index for heterogeneous systems (Michael Petlan) [1944684] - perf inject: Correct event attribute sizes (Michael Petlan) [1944684] - perf intel-pt: Fix 'CPU too large' error (Michael Petlan) [1944684] - perf stat: Take cgroups into account for shadow stats (Michael Petlan) [1944684] - perf stat: Introduce struct runtime_stat_data (Michael Petlan) [1944684] - libperf tests: Fail when failing to get a tracepoint id (Michael Petlan) [1944684] - libperf tests: If a test fails return non-zero (Michael Petlan) [1944684] - libperf tests: Avoid uninitialized variable warning (Michael Petlan) [1944684] - perf test: Fix shadow stat test for non-bash shells (Michael Petlan) [1944684] - perf bpf examples: Fix bpf.h header include directive in 5sec.c example (Michael Petlan) [1944684] - perf probe: Fix memory leak when synthesizing SDT probes (Michael Petlan) [1944684] - perf stat aggregation: Add separate thread member (Michael Petlan) [1944684] - perf stat aggregation: Add separate core member (Michael Petlan) [1944684] - perf stat aggregation: Add separate die member (Michael Petlan) [1944684] - perf stat aggregation: Add separate socket member (Michael Petlan) [1944684] - perf stat aggregation: Add separate node member (Michael Petlan) [1944684] - perf stat aggregation: Start using cpu_aggr_id in map (Michael Petlan) [1944684] - perf cpumap: Drop in cpu_aggr_map struct (Michael Petlan) [1944684] - perf cpumap: Add new map type for aggregation (Michael Petlan) [1944684] - perf stat: Replace aggregation ID with a struct (Michael Petlan) [1944684] - perf cpumap: Add new struct for cpu aggregation (Michael Petlan) [1944684] - perf cpumap: Use existing allocator to avoid using malloc (Michael Petlan) [1944684] - perf tests: Improve topology test to check all aggregation types (Michael Petlan) [1944684] - perf powerpc: Move syscall.tbl check to check-headers.sh (Michael Petlan) [1944684] - tools arch x86: Sync the msr-index.h copy with the kernel sources (Michael Petlan) [1944684] - perf mem: Factor out a function to generate sort order (Michael Petlan) [1944684] - perf sort: Add sort option for data page size (Michael Petlan) [1944684] - perf script: Support data page size (Michael Petlan) [1944684] - tools headers UAPI: Sync linux/stat.h with the kernel sources (Michael Petlan) [1944684] - tools: Factor HOSTCC, HOSTLD, HOSTAR definitions (Michael Petlan) [1944684] - perf config: Fix example command in manpage to conform to syntax specified in the SYNOPSIS section. (Michael Petlan) [1944684] - perf test: Make sample-parsing test aware of PERF_SAMPLE_{CODE,DATA}_PAGE_SIZE (Michael Petlan) [1944684] - perf tools: Add support to read build id from compressed elf (Michael Petlan) [1944684] - perf debug: Add debug_set_file function (Michael Petlan) [1944684] - perf evlist: Support pipe mode display (Michael Petlan) [1944684] - perf report: Support --header-only for pipe mode (Michael Petlan) [1944684] - perf vendor events: Add JSON metrics for imx8mm DDR Perf (Michael Petlan) [1944684] - perf metricgroup: Support adding metrics for system PMUs (Michael Petlan) [1944684] - perf metricgroup: Support printing metric groups for system PMUs (Michael Petlan) [1944684] - perf metricgroup: Split up metricgroup__print() (Michael Petlan) [1944684] - perf metricgroup: Fix metrics using aliases covering multiple PMUs (Michael Petlan) [1944684] - perf evlist: Change evlist__splice_list_tail() ordering (Michael Petlan) [1944684] - perf pmu: Add pmu_add_sys_aliases() (Michael Petlan) [1944684] - perf pmu: Add pmu_id() (Michael Petlan) [1944684] - perf jevents: Add support for system events tables (Michael Petlan) [1944684] - perf jevents: Add support for an extra directory level (Michael Petlan) [1944684] - perf evsel: Emit warning about kernel not supporting the data page size sample_type bit (Michael Petlan) [1944684] - perf record: Support new sample type for data page size (Michael Petlan) [1944684] - perf unwind: Fix separate debug info files when using elfutils' libdw's unwinder (Michael Petlan) [1944684] - perf record: Fix memory leak when using '--user-regs=?' to list registers (Michael Petlan) [1944684] - tools headers UAPI: Update tools's copy of linux/perf_event.h (Michael Petlan) [1944684] - tools build: Add missing libcap to test-all.bin target (Michael Petlan) [1944684] - perf test: Fix metric parsing test (Michael Petlan) [1944684] - perf evlist: Use the right prefix for 'struct evlist' record methods (Michael Petlan) [1944684] - perf evlist: Use the right prefix for 'struct evlist' diff methods (Michael Petlan) [1944684] - perf evlist: Use the right prefix for 'struct evlist' nr_threads method (Michael Petlan) [1944684] - perf evlist: Use the right prefix for 'struct evlist' deliver event method (Michael Petlan) [1944684] - perf evlist: Use the right prefix for 'struct evlist' header methods (Michael Petlan) [1944684] - perf evlist: Use the right prefix for 'struct evlist' raw samples methods (Michael Petlan) [1944684] - perf evlist: Use the right prefix for 'struct evlist' mmap pages parsing method (Michael Petlan) [1944684] - perf evlist: Use the right prefix for 'struct evlist' event attribute config methods (Michael Petlan) [1944684] - perf evlist: Use the right prefix for alternative 'struct evlist' constructors (Michael Petlan) [1944684] - perf evlist: Use the right prefix for 'struct evlist' event selection methods (Michael Petlan) [1944684] - perf evlist: Use the right prefix for 'struct evlist' event group methods (Michael Petlan) [1944684] - perf evlist: Use the right prefix for 'struct evlist' create maps methods (Michael Petlan) [1944684] - perf evlist: Use the right prefix for 'struct evlist' print methods (Michael Petlan) [1944684] - perf evlist: Use the right prefix for 'struct evlist' evsel list methods (Michael Petlan) [1944684] - perf evlist: Use the right prefix for 'struct evlist' pause/resume methods (Michael Petlan) [1944684] - perf evlist: Use the right prefix for 'struct evlist' id_pos methods (Michael Petlan) [1944684] - perf tools: Add aarch64 registers to --user-regs (Michael Petlan) [1944684] - perf evlist: Use the right prefix for 'struct evlist' tracking event methods (Michael Petlan) [1944684] - perf evlist: Use the right prefix for 'struct evlist' browser methods (Michael Petlan) [1944684] - perf evlist: Use the right prefix for 'struct evlist' sample id lookup methods (Michael Petlan) [1944684] - perf evlist: Ditch unused set/reset sample_bit methods (Michael Petlan) [1944684] - perf evlist: Use the right prefix for 'struct evlist' sample parsing methods (Michael Petlan) [1944684] - perf evlist: Use the right prefix for 'struct evlist' sideband thread methods (Michael Petlan) [1944684] - perf evlist: Use the right prefix for 'struct evlist' 'filter' methods (Michael Petlan) [1944684] - perf evlist: Use the right prefix for 'struct evlist' stats methods (Michael Petlan) [1944684] - perf evlist: Use the right prefix for 'struct evlist' 'workload' methods (Michael Petlan) [1944684] - perf evlist: Use the right prefix for 'struct evlist' methods: evlist__set_leader() (Michael Petlan) [1944684] - perf evsel: Convert last 'struct evsel' methods to the right evsel__ prefix (Michael Petlan) [1944684] - perf test: Add shadow stat test (Michael Petlan) [1944684] - perf build-id: Add build_id_cache__add function (Michael Petlan) [1944684] - perf build-id: Add __perf_session__cache_build_ids function (Michael Petlan) [1944684] - perf build-id: Use machine__for_each_dso in perf_session__cache_build_ids (Michael Petlan) [1944684] - perf data: Add is_perf_data function (Michael Petlan) [1944684] - perf symbols: Try to load vmlinux from buildid database (Michael Petlan) [1944684] - perf tools: Use struct extra_kernel_map in machine__process_kernel_mmap_event (Michael Petlan) [1944684] - perf build-id: Add check for existing link in buildid dir (Michael Petlan) [1944684] - perf tools: Add filename__decompress function (Michael Petlan) [1944684] - perf tools: Add build_id__is_defined function (Michael Petlan) [1944684] - tools lib: Adopt memchr_inv() from kernel (Michael Petlan) [1944684] - perf arm-spe: Add support for ARMv8.3-SPE (Michael Petlan) [1944684] - perf arm_spe: Decode memory tagging properties (Michael Petlan) [1944684] - perf arm-spe: Add more sub classes for operation packet (Michael Petlan) [1944684] - perf arm-spe: Refactor operation packet handling (Michael Petlan) [1944684] - perf arm-spe: Add new function arm_spe_pkt_desc_op_type() (Michael Petlan) [1944684] - perf arm-spe: Remove size condition checking for events (Michael Petlan) [1944684] - perf arm-spe: Refactor event type handling (Michael Petlan) [1944684] - perf arm-spe: Add new function arm_spe_pkt_desc_event() (Michael Petlan) [1944684] - perf arm-spe: Refactor counter packet handling (Michael Petlan) [1944684] - perf arm-spe: Add new function arm_spe_pkt_desc_counter() (Michael Petlan) [1944684] - perf arm-spe: Refactor context packet handling (Michael Petlan) [1944684] - perf arm_spe: Fixup top byte for data virtual address (Michael Petlan) [1944684] - perf arm-spe: Refactor address packet handling (Michael Petlan) [1944684] - perf arm-spe: Add new function arm_spe_pkt_desc_addr() (Michael Petlan) [1944684] - perf arm-spe: Refactor packet header parsing (Michael Petlan) [1944684] - perf arm-spe: Refactor printing string to buffer (Michael Petlan) [1944684] - perf expr: Force encapsulation on expr_id_data (Michael Petlan) [1944684] - perf vendor events: Update Skylake client events to v50 (Michael Petlan) [1944684] - perf data: Allow to use stdio functions for pipe mode (Michael Petlan) [1944684] - perf arm-spe: Fix packet length handling (Michael Petlan) [1944684] - perf arm-spe: Refactor arm_spe_get_events() (Michael Petlan) [1944684] - perf arm-spe: Refactor payload size calculation (Michael Petlan) [1944684] - perf arm-spe: Fix a typo in comment (Michael Petlan) [1944684] - perf arm-spe: Include bitops.h for BIT() macro (Michael Petlan) [1944684] - perf mem: Support ARM SPE events (Michael Petlan) [1944684] - perf c2c: Support AUX trace (Michael Petlan) [1944684] - perf mem: Support AUX trace (Michael Petlan) [1944684] - perf auxtrace: Add itrace option '-M' for memory events (Michael Petlan) [1944684] - perf mem: Only initialize memory event for recording (Michael Petlan) [1944684] - perf c2c: Support memory event PERF_MEM_EVENTS__LOAD_STORE (Michael Petlan) [1944684] - perf mem: Support new memory event PERF_MEM_EVENTS__LOAD_STORE (Michael Petlan) [1944684] - perf mem: Introduce weak function perf_mem_events__ptr() (Michael Petlan) [1944684] - perf mem: Search event name with more flexible path (Michael Petlan) [1944684] - perf jevents: Add test for arch std events (Michael Petlan) [1944684] - perf jevents: Tidy error handling (Michael Petlan) [1944684] - perf trace beauty: Allow header files in a different path (Michael Petlan) [1944684] - perf stat: Add --quiet option (Michael Petlan) [1944684] - perf stat: Support regex pattern in --for-each-cgroup (Michael Petlan) [1944684] - perf kvm: Add kvm-stat for arm64 (Michael Petlan) [1944684] - perf env: Conditionally compile BPF support code on having HAVE_LIBBPF_SUPPORT (Michael Petlan) [1944684] - perf annotate: Move bpf header inclusion to inside HAVE_LIBBPF_SUPPORT (Michael Petlan) [1944684] - perf tests: Skip the llvm and bpf tests if HAVE_LIBBPF_SUPPORT isn't defined (Michael Petlan) [1944684] - perf bpf: Enclose libbpf.h include within HAVE_LIBBPF_SUPPORT (Michael Petlan) [1944684] - perf test: Implement skip_reason callback for watchpoint tests (Michael Petlan) [1944684] - perf tests tsc: Add checking helper is_supported() (Michael Petlan) [1944684] - perf tests tsc: Make tsc testing as a common testing (Michael Petlan) [1944684] - perf mem2node: Improve warning if detected no memory nodes (Michael Petlan) [1944684] - perf version: Add a feature for libpfm4 (Michael Petlan) [1944684] - perf annotate mips: Add perf arch instructions annotate handlers (Michael Petlan) [1944684] - perf/x86/intel: Add Tremont Topdown support (Michael Petlan) [1944684] - perf/x86: Fix fall-through warnings for Clang (Michael Petlan) [1944684] - perf/x86/intel/lbr: Fix the return type of get_lbr_cycles() (Michael Petlan) [1944684] - perf/x86/intel: Fix rtm_abort_event encoding on Ice Lake (Michael Petlan) [1944684] - perf: Break deadlock involving exec_update_mutex (Michael Petlan) [1944684] - perf/x86/intel: Add event constraint for CYCLE_ACTIVITY.STALLS_MEM_ANY (Michael Petlan) [1944684] - perf/x86: Avoid TIF_IA32 when checking 64bit mode (Michael Petlan) [1944684] - bpf, ringbuf: Deny reserve of buffers larger than ringbuf (Wander Lairson Costa) [1968591] - bpf: Fix propagation of 32 bit unsigned bounds from 64 bit bounds (Wander Lairson Costa) [1965938] - tools/power turbostat: Support Alder Lake Mobile (Steve Best) [1962291] - ACPI: PM: Add ACPI ID of Alder Lake Fan (Steve Best) [1961617] - powercap/intel_rapl: add support for AlderLake Mobile (Steve Best) [1961816] - platform/x86: intel_pmc_core: Uninitialized data in pmc_core_lpm_latch_mode_write() (David Arcari) [1783557] - platform/x86: intel_pmc_core: add ACPI dependency (David Arcari) [1783557] - platform/x86: intel_pmc_core: Fix "unsigned 'ret' is never less than zero" smatch warning (David Arcari) [1783557] - platform/x86: intel_pmc_core: Add LTR registers for Tiger Lake (David Arcari) [1783557] - platform/x86: intel_pmc_core: Add option to set/clear LPM mode (David Arcari) [1783557] - platform/x86: intel_pmc_core: Add requirements file to debugfs (David Arcari) [1783557] - platform/x86: intel_pmc_core: Get LPM requirements for Tiger Lake (David Arcari) [1783557] - platform/x86: intel_pmc_core: Show LPM residency in microseconds (David Arcari) [1783557] - platform/x86: intel_pmc_core: Handle sub-states generically (David Arcari) [1783557] - platform/x86: intel_pmc_core: Remove global struct pmc_dev (David Arcari) [1783557] - platform/x86: intel_pmc_core: Don't use global pmcdev in quirks (David Arcari) [1783557] - platform/x86: intel_pmc_core: export platform global reset bits via etr3 sysfs file (David Arcari) [1783557] - MAINTAINERS: Update maintainers for pmc_core driver (David Arcari) [1783557] - MAINTAINERS: intel_pmc_core: Update MAINTAINERS (David Arcari) [1783557] - platform/x86: intel_pmc_core: Ignore GBE LTR on Tiger Lake platforms (David Arcari) [1783557] - platform/x86: intel_pmc_core: Assign boolean values to a bool variable (David Arcari) [1783557] - platform/x86: intel_pmc_core: fix: Replace dev_dbg macro with dev_info() (David Arcari) [1783557] - platform/x86: intel_pmc_core: Clean up: Remove the duplicate comments and reorganize (David Arcari) [1783557] - platform/x86: intel_pmc_core: Fix the slp_s0 counter displayed value (David Arcari) [1783557] - platform/x86: intel_pmc_core: Fix TigerLake power gating status map (David Arcari) [1783557] - platform/x86: pmc_core: Use descriptive names for LPM registers (David Arcari) [1783557] - platform/x86: intel_pmc_core: Change Jasper Lake S0ix debug reg map back to ICL (David Arcari) [1783557] - platform/x86: intel_pmc_core: Add Atom based Jasper Lake (JSL) platform support (David Arcari) [1783557] - platform/x86: intel_pmc_core: Add Intel Elkhart Lake support (David Arcari) [1783557] - [s390] s390/ipl: support NVMe IPL kernel parameters (Claudio Imbrenda) [1963120] - [s390] net/smc: use memcpy instead of snprintf to avoid out of bounds read (Claudio Imbrenda) [1919249] - [s390] smc: fix out of bound access in smc_nl_get_sys_info() (Claudio Imbrenda) [1919249] - [s390] net/smc: fix access to parent of an ib device (Claudio Imbrenda) [1919249] - [s390] s390/vtime: fix increased steal time accounting (Claudio Imbrenda) [1963075] - [s390] tools/kvm_stat: Add restart delay (Claudio Imbrenda) [1963082] - [s390] s390/dasd: fix hanging IO request during DASD driver unbind (Claudio Imbrenda) [1963077] - [s390] s390/dasd: fix hanging DASD driver unbind (Claudio Imbrenda) [1963077]- Add New KUNIT Tests to Redhat kernel-modules-internal (Nico Pache) [1939309] - kunit: lib: adhear to KUNIT formatting standard (Nico Pache) [1939309] - kunit: mptcp: adhere to KUNIT formatting standard (Nico Pache) [1939309] - ASoC: topology: adhere to KUNIT formatting standard (Nico Pache) [1939309] - kunit: software node: adhear to KUNIT formatting standard (Nico Pache) [1939309] - resource: provide meaningful MODULE_LICENSE() in test suite (Nico Pache) [1939309] - resource: Add test cases for new resource API (Nico Pache) [1939309] - resource: Introduce resource_intersection() for overlapping resources (Nico Pache) [1939309] - resource: Introduce resource_union() for overlapping resources (Nico Pache) [1939309] - mm/resource: Use resource_overlaps() to simplify region_intersects() (Nico Pache) [1939309] - kernel.h: split out min()/max() et al. helpers (Nico Pache) [1939309] - lib/math/rational.c: fix possible incorrect result from rational fractions helper (Nico Pache) [1939309] - lib: Move mathematic helpers to separate folder (Nico Pache) [1939309] - lib/cmdline: remove an unneeded local variable in next_arg() (Nico Pache) [1939309] - lib/cmdline: Allow get_options() to take 0 to validate the input (Nico Pache) [1939309] - lib/cmdline: Update documentation to reflect behaviour (Nico Pache) [1939309] - lib/cmdline_kunit: add a new test case for get_options() (Nico Pache) [1939309] - ext4: add .kunitconfig fragment to enable ext4-specific tests (Nico Pache) [1939309] - ext: EXT4_KUNIT_TESTS should depend on EXT4_FS instead of selecting it (Nico Pache) [1939309] - kunit: tool: fix unintentional statefulness in run_kernel() (Nico Pache) [1939309] - kunit: tool: add support for filtering suites by glob (Nico Pache) [1939309] - kunit: add kunit.filter_glob cmdline option to filter suites (Nico Pache) [1939309] - kunit: don't show `1 == 1` in failed assertion messages (Nico Pache) [1939309] - kunit: make kunit_tool accept optional path to .kunitconfig fragment (Nico Pache) [1939309] - Documentation: kunit: add tips.rst for small examples (Nico Pache) [1939309] - KUnit: Docs: make start.rst example Kconfig follow style.rst (Nico Pache) [1939309] - kunit: tool: simplify kconfig is_subset_of() logic (Nico Pache) [1939309] - minor: kunit: tool: fix unit test so it can run from non-root dir (Nico Pache) [1939309] - kunit: tool: use `with open()` in unit test (Nico Pache) [1939309] - kunit: tool: stop using bare asserts in unit test (Nico Pache) [1939309] - kunit: tool: fix unit test cleanup handling (Nico Pache) [1939309] - ASoC: topology: KUnit: Convert from cpu to data format (Nico Pache) [1939309] - drivers/base: build kunit tests without structleak plugin (Nico Pache) [1939309] - ASoC: topology: KUnit: Add KUnit tests passing topology with PCM to snd_soc_tplg_component_load (Nico Pache) [1939309] - ASoC: topology: KUnit: Add KUnit tests passing empty topology with variants to snd_soc_tplg_component_load (Nico Pache) [1939309] - ASoC: topology: KUnit: Add KUnit tests passing various arguments to snd_soc_tplg_component_load (Nico Pache) [1939309] - ASoC: topology: Check if ops is set before dereference (Nico Pache) [1939309] - ASoC: topology: Ensure that needed parameters are set (Nico Pache) [1939309] - kunit: tool: move kunitconfig parsing into __init__, make it optional (Nico Pache) [1939309] - kunit: tool: fix minor typing issue with None status (Nico Pache) [1939309] - kunit: tool: surface and address more typing issues (Nico Pache) [1939309] - Documentation: kunit: include example of a parameterized test (Nico Pache) [1939309] - kunit: tool: Fix spelling of "diagnostic" in kunit_parser (Nico Pache) [1939309] - kunit: tool: Force the use of the 'tty' console for UML (Nico Pache) [1939309] - lib/cmdline_kunit: add a new test suite for cmdline API (Nico Pache) [1939309] - lib/cmdline: allow NULL to be an output for get_option() (Nico Pache) [1939309] - lib/cmdline: fix get_option() for strings starting with hyphen (Nico Pache) [1939309] - lib/cmdline.c: mark expected switch fall-throughs (Nico Pache) [1939309] - lib/test_bits.c: add tests of GENMASK (Nico Pache) [1939309] - linux/bits.h: add compile time sanity check of GENMASK inputs (Nico Pache) [1939309] - linux/build_bug.h: change type to int (Nico Pache) [1939309] - fs: ext4: Modify inode-test.c to use KUnit parameterized testing feature (Nico Pache) [1939309] - kunit: Support for Parameterized Testing (Nico Pache) [1939309] - kunit: kunit_tool: Correctly parse diagnostic messages (Nico Pache) [1939309] - Documentation: kunit: provide guidance for testing many inputs (Nico Pache) [1939309] - kunit: Introduce get_file_path() helper (Nico Pache) [1939309] - kunit: fix display of failed expectations for strings (Nico Pache) [1939309] - kunit: tool: fix extra trailing \n in raw + parsed test output (Nico Pache) [1939309] - kunit: tool: print out stderr from make (like build warnings) (Nico Pache) [1939309] - KUnit: Docs: usage: wording fixes (Nico Pache) [1939309] - KUnit: Docs: style: fix some Kconfig example issues (Nico Pache) [1939309] - KUnit: Docs: fix a wording typo (Nico Pache) [1939309] - kunit: Do not pollute source directory with generated files (test.log) (Nico Pache) [1939309] - kunit: Do not pollute source directory with generated files (.kunitconfig) (Nico Pache) [1939309] - kunit: tool: fix pre-existing python type annotation errors (Nico Pache) [1939309] - kunit: Fix kunit.py parse subcommand (use null build_dir) (Nico Pache) [1939309] - kunit: test: fix remaining kernel-doc warnings (Nico Pache) [1939309] - lib: kunit: Fix compilation test when using TEST_BIT_FIELD_COMPILE (Nico Pache) [1939309] - kunit: test.h: fix a bad kernel-doc markup (Nico Pache) [1939309] - kunit: test.h: solve kernel-doc warnings (Nico Pache) [1939309] - lib: kunit: add bitfield test conversion to KUnit (Nico Pache) [1939309] - Documentation: kunit: add a brief blurb about kunit_test_suite (Nico Pache) [1939309] - kunit: test: add test plan to KUnit TAP format (Nico Pache) [1939309] - init: main: add KUnit to kernel init (Nico Pache) [1939309] - init: unify opening /dev/console as stdin/stdout/stderr (Nico Pache) [1939309] - kunit: test: create a single centralized executor for all tests (Nico Pache) [1939309] - Documentation: test.h - fix warnings (Nico Pache) [1939309] - vmlinux.lds.h: add linker section for KUnit test suites (Nico Pache) [1939309] - Documentation: kunit: Add naming guidelines (Nico Pache) [1939309] - kunit: tool: fix display of make errors (Nico Pache) [1939309] - kunit: tool: handle when .kunit exists but .kunitconfig does not (Nico Pache) [1939309] - kunit: tool: fix --alltests flag (Nico Pache) [1939309] - kunit: tool: allow generating test results in JSON (Nico Pache) [1939309] - kunit: tool: fix running kunit_tool from outside kernel tree (Nico Pache) [1939309] - lib: add linear ranges helpers (Nico Pache) [1939309] - PCI/RCEC: Fix RCiEP device to RCEC association (Myron Stowe) [1895942] - PCI/portdrv: Report reset for frozen channel (Myron Stowe) [1895942] - PCI/AER: Specify the type of Port that was reset (Myron Stowe) [1895942] - PCI/ERR: Retain status from error notification (Myron Stowe) [1895942] - PCI/AER: Clear AER status from Root Port when resetting Downstream Port (Myron Stowe) [1895942] - PCI/ERR: Clear status of the reporting device (Myron Stowe) [1895942] - PCI/AER: Add RCEC AER error injection support (Myron Stowe) [1895942] - PCI/PME: Add pcie_walk_rcec() to RCEC PME handling (Myron Stowe) [1895942] - PCI/AER: Add pcie_walk_rcec() to RCEC AER handling (Myron Stowe) [1895942] - PCI/ERR: Recover from RCiEP AER errors (Myron Stowe) [1895942] - PCI/ERR: Add pcie_link_rcec() to associate RCiEPs (Myron Stowe) [1895942] - PCI/ERR: Recover from RCEC AER errors (Myron Stowe) [1895942] - PCI/ERR: Clear AER status only when we control AER (Myron Stowe) [1895942] - PCI/ERR: Add pci_walk_bridge() to pcie_do_recovery() (Myron Stowe) [1895942] - PCI/ERR: Avoid negated conditional for clarity (Myron Stowe) [1895942] - PCI/ERR: Use "bridge" for clarity in pcie_do_recovery() (Myron Stowe) [1895942] - PCI/ERR: Simplify by computing pci_pcie_type() once (Myron Stowe) [1895942] - PCI/ERR: Simplify by using pci_upstream_bridge() (Myron Stowe) [1895942] - PCI/ERR: Rename reset_link() to reset_subordinates() (Myron Stowe) [1895942] - PCI/ERR: Cache RCEC EA Capability offset in pci_init_capabilities() (Myron Stowe) [1895942] - PCI/ERR: Bind RCEC devices to the Root Port driver (Myron Stowe) [1895942] - PCI/AER: Write AER Capability only when we control it (Myron Stowe) [1895942] - PCI: Export pcie_has_flr() (Myron Stowe) [1895942] - xfs: don't reuse busy extents on extent trim (Brian Foster) [1960380] - nvme: add 'kato' sysfs attribute (Gopal Tiwari) [1970260] - scsi: qla2xxx: Update version to 10.02.00.106-k (Nilesh Javali) [1925465] - scsi: qla2xxx: Add marginal path handling support (Nilesh Javali) [1925465] - scsi: qla2xxx: Do logout even if fabric scan retries got exhausted (Nilesh Javali) [1925465] - scsi: qla2xxx: Update default AER debug mask (Nilesh Javali) [1925465] - scsi: qla2xxx: Fix mailbox recovery during PCIe error (Nilesh Javali) [1925465] - scsi: qla2xxx: Fix crash in PCIe error handling (Nilesh Javali) [1925465] - scsi: qla2xxx: Fix RISC RESET completion polling (Nilesh Javali) [1925465] - scsi: qla2xxx: Fix crash in qla2xxx_mqueuecommand() (Nilesh Javali) [1925465] - scsi: qla2xxx: Fix use after free in bsg (Nilesh Javali) [1925465] - scsi: qla2xxx: Consolidate zio threshold setting for both FCP & NVMe (Nilesh Javali) [1925465] - scsi: qla2xxx: Fix stuck session (Nilesh Javali) [1925465] - scsi: qla2xxx: Add H:C:T info in the log message for fc ports (Nilesh Javali) [1925465] - scsi: qla2xxx: Fix IOPS drop seen in some adapters (Nilesh Javali) [1925465] - scsi: qla2xxx: Check kzalloc() return value (Nilesh Javali) [1925465] - scsi: qla2xxx: Always check the return value of qla24xx_get_isp_stats() (Nilesh Javali) [1925465] - scsi: qla2xxx: Simplify qla8044_minidump_process_control() (Nilesh Javali) [1925465] - scsi: qla2xxx: Suppress Coverity complaints about dseg_r* (Nilesh Javali) [1925465] - scsi: qla2xxx: Fix endianness annotations (Nilesh Javali) [1925465] - scsi: qla2xxx: Constify struct qla_tgt_func_tmpl (Nilesh Javali) [1925465] - scsi: qla2xxx: Use dma_pool_zalloc() (Nilesh Javali) [1925465] - scsi: qla2xxx: Fix a couple of misdocumented functions (Nilesh Javali) [1925465] - scsi: qla2xxx: Fix incorrectly named function qla8044_check_temp() (Nilesh Javali) [1925465] - scsi: qla2xxx: Fix a couple of misnamed functions (Nilesh Javali) [1925465] - scsi: qla2xxx: Fix some incorrect formatting/spelling issues (Nilesh Javali) [1925465] - scsi: qla2xxx: Replace __qla2x00_marker()'s missing underscores (Nilesh Javali) [1925465] - scsi: Revert "qla2xxx: Make sure that aborted commands are freed" (Nilesh Javali) [1925465] - scsi: qla2xxx: Fix broken #endif placement (Nilesh Javali) [1925465] - scsi: qla2xxx: Simplify if statement (Nilesh Javali) [1925465] - scsi: qla2xxx: Simplify the calculation of variables (Nilesh Javali) [1925465] - scsi: qla2xxx: Fix some memory corruption (Nilesh Javali) [1925465] - scsi: qla2xxx: Remove redundant NULL check (Nilesh Javali) [1925465] - scsi: qla2xxx: Remove unnecessary NULL check (Nilesh Javali) [1925465] - scsi: qla2xxx: Assign boolean values to a bool variable (Nilesh Javali) [1925465] - scsi: qla2xxx: fc_remote_port_chkready() returns a SCSI result value (Nilesh Javali) [1925465] - scsi: qla2xxx: Fix description for parameter ql2xenforce_iocb_limit (Nilesh Javali) [1925465] - scsi: qla2xxx: Update version to 10.02.00.105-k (Nilesh Javali) [1925465] - scsi: qla2xxx: Enable NVMe CONF (BIT_7) when enabling SLER (Nilesh Javali) [1925465] - scsi: qla2xxx: Wait for ABTS response on I/O timeouts for NVMe (Nilesh Javali) [1925465] - scsi: qla2xxx: Move some messages from debug to normal log level (Nilesh Javali) [1925465] - scsi: qla2xxx: Add error counters to debugfs node (Nilesh Javali) [1925465] - scsi: qla2xxx: Implementation to get and manage host, target stats and initiator port (Nilesh Javali) [1925465] - scsi: ibmvfc: Reinit target retries (Steve Best) [1965010] - scsi: ibmvfc: Avoid move login if fast fail is enabled (Steve Best) [1965010] - scsi: ibmvfc: Handle move login failure (Steve Best) [1965010] - scsi: ibmvfc: Fix invalid state machine BUG_ON() (Steve Best) [1965010] - scsi: qedf: Do not put host in qedf_vport_create() unconditionally (Nilesh Javali) [1899384] - scsi: storvsc: Enable scatterlist entry lengths > 4Kbytes (Cathy Avery) [1941664] - scsi: storvsc: Parameterize number hardware queues (Cathy Avery) [1941664] - scsi: storvsc: Return DID_ERROR for invalid commands (Cathy Avery) [1941664] - scsi: storvsc: Validate length of incoming packet in storvsc_on_channel_callback() (Cathy Avery) [1941664] - scsi: storvsc: Resolve data race in storvsc_probe() (Cathy Avery) [1941664] - scsi: storvsc: Fix max_outstanding_req_per_channel for Win8 and newer (Cathy Avery) [1941664] - scsi: storvsc: Use vmbus_requestor to generate transaction IDs for VMBus hardening (Cathy Avery) [1941664] - RDMA/ipoib: Fix warning caused by destroying non-initial netns (Kamal Heib) [1961815] - can: dev: Move device back to init netns on owning netns delete (Kamal Heib) [1961815] - net: ena: remove extra words from comments (Petr Oros) [1955155] - net: ena: fix inaccurate print type (Petr Oros) [1955155] - ena: Update driver to use ethtool_sprintf (Petr Oros) [1955155] - docs: net: ena: Fix ena_start_xmit() function name typo (Petr Oros) [1955155] - ethernet: amazon: ena: A typo fix in the file ena_com.h (Petr Oros) [1955155] - net: ena: Update XDP verdict upon failure (Petr Oros) [1955155] - net: ena: introduce ndo_xdp_xmit() function for XDP_REDIRECT (Petr Oros) [1955155] - net: ena: use xdp_return_frame() to free xdp frames (Petr Oros) [1955155] - net: ena: introduce XDP redirect implementation (Petr Oros) [1955155] - net: ena: use xdp_frame in XDP TX flow (Petr Oros) [1955155] - net: ena: aggregate stats increase into a function (Petr Oros) [1955155] - net: ena: fix coding style nits (Petr Oros) [1955155] - net: ena: store values in their appropriate variables types (Petr Oros) [1955155] - net: ena: add device distinct log prefix to files (Petr Oros) [1955155] - net: ena: use constant value for net_device allocation (Petr Oros) [1955155] - net: ena: set initial DMA width to avoid intel iommu issue (Petr Oros) [1955155] - net: ena: update ena documentation (Petr Oros) [1955155] - net: ena: Fix all static chekers' warnings (Petr Oros) [1955155] - net: ena: Change RSS related macros and variables names (Petr Oros) [1955155] - net: ena: Remove redundant print of placement policy (Petr Oros) [1955155] - net: ena: Capitalize all log strings and improve code readability (Petr Oros) [1955155] - net: ena: Change log message to netif/dev function (Petr Oros) [1955155] - net: ena: Change license into format to SPDX in all files (Petr Oros) [1955155] - net: ena: xdp: add queue counters for xdp actions (Petr Oros) [1955155] - net: ena: ethtool: add stats printing to XDP queues (Petr Oros) [1955155] - net: ena: ethtool: Add new device statistics (Petr Oros) [1955155] - net: ena: ethtool: convert stat_offset to 64 bit resolution (Petr Oros) [1955155] - net: ena: Make missed_tx stat incremental (Petr Oros) [1955155] - net: ena: Prevent reset after device destruction (Petr Oros) [1955155] - treewide: replace '---help---' in Kconfig files with 'help' (Petr Oros) [1955155] - treewide: Add SPDX license identifier - Makefile/Kconfig (Petr Oros) [1955155] - cross-tree: phase out dma_zalloc_coherent() (Petr Oros) [1955155] - net: ena: fix compilation error in xtensa architecture (Petr Oros) [1955155] - docs: networking: reorganize driver documentation again (Petr Oros) [1955155] - docs: networking: device drivers: convert amazon/ena.txt to ReST (Petr Oros) [1955155] - net: ena: documentation: update ena.txt (Petr Oros) [1955155] - net: documentation: build a directory structure for drivers (Petr Oros) [1955155] - xfrm: interface: fix ipv4 pmtu check to honor ip header df (Sabrina Dubroca) [1931942] - vti: fix ipv4 pmtu check to honor ip header df (Sabrina Dubroca) [1931942] - vti6: fix ipv4 pmtu check to honor ip header df (Sabrina Dubroca) [1931942] - net/sched: act_ct: Fix ct template allocation for zone 0 (Marcelo Ricardo Leitner) [1881824] - uio: Fix use-after-free in uio_unregister_device() (Myron Stowe) [1897285] - uio: free uio id after uio file node is freed (Myron Stowe) [1897285] - drivers: uio: remove redundant assignment to variable retval (Myron Stowe) [1897285] - driver: uio: fix possible use-after-free in __uio_register_device (Myron Stowe) [1897285] - driver: uio: fix possible memory leak in __uio_register_device (Myron Stowe) [1897285] - uio: remove redundant check (Myron Stowe) [1897285] - uio: fix potential memory leak in error case (Myron Stowe) [1897285] - uio: dismiss waiters on device unregistration (Myron Stowe) [1897285] - uio: Fix an Oops on load (Myron Stowe) [1897285] - uio: make symbol 'uio_class_registered' static (Myron Stowe) [1897285] - uio: convert to vm_fault_t (Myron Stowe) [1897285] - uio: ensure class is registered before devices (Myron Stowe) [1897285] - uio: potential double frees if __uio_register_device() fails (Myron Stowe) [1897285] - uio: fix possible circular locking dependency (Myron Stowe) [1897285] - uio: fix wrong return value from uio_mmap() (Myron Stowe) [1897285] - uio: add SPDX license tag (Myron Stowe) [1897285] - net: zero-initialize tc skb extension on allocation (Ivan Vecera) [1946986] - net: sched: fix tx action reschedule issue with stopped queue (Ivan Vecera) [1946986] - net: sched: fix tx action rescheduling issue during deactivation (Ivan Vecera) [1946986] - net: sched: fix packet stuck problem for lockless qdisc (Ivan Vecera) [1946986] - net/sched: act_ct: Remove redundant ct get and check (Ivan Vecera) [1946986] - net: sched: tapr: prevent cycle_time == 0 in parse_taprio_schedule (Ivan Vecera) [1946986] - tc-testing: add simple action test to verify batch change cleanup (Ivan Vecera) [1946986] - tc-testing: add simple action test to verify batch add cleanup (Ivan Vecera) [1946986] - tc-testing: add simple action change test (Ivan Vecera) [1946986] - selftests: forwarding: Add tc-police tests for packets per second (Ivan Vecera) [1946986] - selftests: tc-testing: add action police selftest for packets per second (Ivan Vecera) [1946986] - net: sched: Mundane typo fixes (Ivan Vecera) [1946986] - net/sched: cls_flower: use nla_get_be32 for TCA_FLOWER_KEY_FLAGS (Ivan Vecera) [1946986] - net/sched: cls_flower: use ntohs for struct flow_dissector_key_ports (Ivan Vecera) [1946986] - taprio: Handle short intervals and large packets (Ivan Vecera) [1946986] - net/sched: cls_flower: fix only mask bit check in the validate_ct_state (Ivan Vecera) [1946986] - treewide: Remove uninitialized_var() usage (Ivan Vecera) [1946986] - lockdep: Provide dummy forward declaration of *_is_held() helpers (Ivan Vecera) [1946986] - net: sched: Remove broken definitions and un-hide for !LOCKDEP (Ivan Vecera) [1946986] - net: sched: sch_teql: fix null-pointer dereference (Ivan Vecera) [1946986] - net: sched: fix err handler in tcf_action_init() (Ivan Vecera) [1946986] - net: sched: fix action overwrite reference counting (Ivan Vecera) [1946986] - Revert "net: sched: bump refcount for new action in ACT replace mode" (Ivan Vecera) [1946986] - net: cls_api: Fix uninitialised struct field bo->unlocked_driver_cb (Ivan Vecera) [1946986] - net: sched: bump refcount for new action in ACT replace mode (Ivan Vecera) [1946986] - net/sched: act_api: fix miss set post_ct for ovs after do conntrack in act_ct (Ivan Vecera) [1946986] - net/sched: act_police: add support for packet-per-second policing (Ivan Vecera) [1946986] - flow_offload: reject configuration of packet-per-second policing in offload drivers (Ivan Vecera) [1946986] - flow_offload: add support for packet-per-second policing (Ivan Vecera) [1946986] - net: sched: validate stab values (Ivan Vecera) [1946986] - net: add a helper to avoid issues with HW TX timestamping and SO_TXTIME (Ivan Vecera) [1946986] - sched: act_sample: Implement stats_update callback (Ivan Vecera) [1946986] - net: sched: avoid duplicates in classes dump (Ivan Vecera) [1946986] - net/sched: cls_flower: validate ct_state for invalid and reply flags (Ivan Vecera) [1946986] - net: sched: fix police ext initialization (Ivan Vecera) [1946986] - selftests: tc: Add generic mpls matching support for tc-flower (Ivan Vecera) [1946986] - selftests: tc: Add basic mpls_* matching support for tc-flower (Ivan Vecera) [1946986] - selftests: tc-testing: u32: Add tests covering sample option (Ivan Vecera) [1946986] - net: sched: Return the correct errno code (Ivan Vecera) [1946986] - net: sched: replaced invalid qdisc tree flush helper in qdisc_replace (Ivan Vecera) [1946986] - selftests: forwarding: Fix spelling mistake "succeded" -> "succeeded" (Ivan Vecera) [1946986] - taprio: boolean values to a bool variable (Ivan Vecera) [1946986] - net_sched: fix RTNL deadlock again caused by request_module() (Ivan Vecera) [1946986] - cls_flower: call nla_ok() before nla_next() (Ivan Vecera) [1946986] - net/sched: sch_taprio: ensure to reset/destroy all child qdiscs (Ivan Vecera) [1946986] - net/sched: sch_taprio: reset child qdiscs before freeing them (Ivan Vecera) [1946986] - net: sched: incorrect Kconfig dependencies on Netfilter modules (Ivan Vecera) [1946986] - treewide: replace '---help---' in Kconfig files with 'help' (Ivan Vecera) [1946986] - net/sched: cls_u32: simplify the return expression of u32_reoffload_knode() (Ivan Vecera) [1946986] - net: sched: fix spelling mistake in Kconfig "trys" -> "tries" (Ivan Vecera) [1946986] - net/sched: fq_pie: initialize timer earlier in fq_pie_init() (Ivan Vecera) [1946986] - net: sched: remove redundant 'rtnl_held' argument (Ivan Vecera) [1946986] - selftests: tc-testing: enable CONFIG_NET_SCH_RED as a module (Ivan Vecera) [1946986] - net: sched: alias action flags with TCA_ACT_ prefix (Ivan Vecera) [1946986] - treewide: rename nla_strlcpy to nla_strscpy. (Ivan Vecera) [1946986] - Modify return value of nla_strlcpy to match that of strscpy. (Ivan Vecera) [1946986] - Fix unefficient call to memset before memcpu in nla_strlcpy. (Ivan Vecera) [1946986] - net: sched: fix misspellings using misspell-fixer tool (Ivan Vecera) [1946986] - selftest: fix flower terse dump tests (Ivan Vecera) [1946986] - net: sched: implement action-specific terse dump (Ivan Vecera) [1946986] - net: cls_api: remove unneeded local variable in tc_dump_chain() (Ivan Vecera) [1946986] - openvswitch: fix send of uninitialized stack memory in ct limit reply (Antoine Tenart) [1950022] - net/sched: act_api: fix miss set post_ct for ovs after do conntrack in act_ct (Antoine Tenart) [1950022] - xsk: Clear pool even for inactive queues (Jiri Benc) [1882710] - xsk: Fix memory leak for failed bind (Jiri Benc) [1882710] - xsk: Return error code if force_zc is set (Jiri Benc) [1882710] - xsk: Change the tx writeable condition (Jiri Benc) [1882710] - xsk: Replace datagram_poll by sock_poll_wait (Jiri Benc) [1882710] - xdp: Handle MEM_TYPE_XSK_BUFF_POOL correctly in xdp_return_buff() (Jiri Benc) [1882710] - xsk: Fix incorrect netdev reference count (Jiri Benc) [1882710] - xsk: Fix umem cleanup bug at socket destruct (Jiri Benc) [1882710] - netdevsim: set .owner to THIS_MODULE (Jiri Benc) [1882710] - bpf: selftest: Use static globals in tcp_hdr_options and btf_skc_cls_ingress (Jiri Benc) [1882710] - xsk: Fix possible memory leak at socket close (Jiri Benc) [1882710] - samples/bpf: Set rlimit for memlock to infinity in all samples (Jiri Benc) [1882710] - bpf, selftests: Extend test_tc_redirect to use modified bpf_redirect_neigh() (Jiri Benc) [1882710] - bpf: Fix bpf_redirect_neigh helper api to support supplying nexthop (Jiri Benc) [1882710] - bpf, selftest: Fix flaky tcp_hdr_options test when adding addr to lo (Jiri Benc) [1882710] - bpf, selftests: Add redirect_peer selftest (Jiri Benc) [1882710] - bpf, selftests: Make redirect_neigh test more extensible (Jiri Benc) [1882710] - bpf: Add redirect_peer helper (Jiri Benc) [1882710] - bpf: Improve bpf_redirect_neigh helper description (Jiri Benc) [1882710] - bpf: Always return target ifindex in bpf_fib_lookup (Jiri Benc) [1882710] - xsk: Introduce padding between ring pointers (Jiri Benc) [1882710] - xsk: Remove internal DMA headers (Jiri Benc) [1882710] - bpf: selftest: Ensure the child sk inherited all bpf_sock_ops_cb_flags (Jiri Benc) [1882710] - bpf: tcp: Do not limit cb_flags when creating child sk from listen sk (Jiri Benc) [1882710] - bpf, selftests: Add redirect_neigh selftest (Jiri Benc) [1882710] - bpf: Add redirect_neigh helper as redirect drop-in (Jiri Benc) [1882710] - tools, bpf: Synchronise BPF UAPI header with tools (Jiri Benc) [1882710] - bpf: Fix formatting in documentation for BPF helpers (Jiri Benc) [1882710] - xsk: Fix a documentation mistake in xsk_queue.h (Jiri Benc) [1882710] - xsk: Fix possible crash in socket_release when out-of-memory (Jiri Benc) [1882710] - xsk: Fix refcount warning in xp_dma_map (Jiri Benc) [1882710] - tcp: Only init congestion control if not initialized already (Jiri Benc) [1882710] - xsk: Fix null check on error return path (Jiri Benc) [1882710] - xsk: Fix possible segfault at xskmap entry insertion (Jiri Benc) [1882710] - xsk: Fix possible segfault in xsk umem diagnostics (Jiri Benc) [1882710] - xsk: Fix use-after-free in failed shared_umem bind (Jiri Benc) [1882710] - xsk: Documentation for XDP_SHARED_UMEM between queues and netdevs (Jiri Benc) [1882710] - xsk: Add shared umem support between devices (Jiri Benc) [1882710] - xsk: Add shared umem support between queue ids (Jiri Benc) [1882710] - xsk: i40e: ice: ixgbe: mlx5: Test for dma_need_sync earlier for better performance (Jiri Benc) [1882710] - xsk: Rearrange internal structs for better performance (Jiri Benc) [1882710] - xsk: Enable sharing of dma mappings (Jiri Benc) [1882710] - xsk: Move addrs from buffer pool to umem (Jiri Benc) [1882710] - xsk: Move xsk_tx_list and its lock to buffer pool (Jiri Benc) [1882710] - xsk: Move queue_id, dev and need_wakeup to buffer pool (Jiri Benc) [1882710] - xsk: Move fill and completion rings to buffer pool (Jiri Benc) [1882710] - xsk: Create and free buffer pool independently from umem (Jiri Benc) [1882710] - xsk: i40e: ice: ixgbe: mlx5: Rename xsk zero-copy driver interfaces (Jiri Benc) [1882710] - xsk: i40e: ice: ixgbe: mlx5: Pass buffer pool to driver instead of umem (Jiri Benc) [1882710] - tcp: bpf: Optionally store mac header in TCP_SAVE_SYN (Jiri Benc) [1882710] - bpf: selftests: Tcp header options (Jiri Benc) [1882710] - bpf: selftests: Add fastopen_connect to network_helpers (Jiri Benc) [1882710] - bpf: tcp: Allow bpf prog to write and parse TCP header option (Jiri Benc) [1882710] - bpf: sock_ops: Change some members of sock_ops_kern from u32 to u8 (Jiri Benc) [1882710] - bpf: tcp: Add bpf_skops_hdr_opt_len() and bpf_skops_write_hdr_opt() (Jiri Benc) [1882710] - bpf: tcp: Add bpf_skops_parse_hdr() (Jiri Benc) [1882710] - bpf: tcp: Add bpf_skops_established() (Jiri Benc) [1882710] - tcp: Add saw_unknown to struct tcp_options_received (Jiri Benc) [1882710] - tcp: bpf: Add TCP_BPF_RTO_MIN for bpf_setsockopt (Jiri Benc) [1882710] - tcp: bpf: Add TCP_BPF_DELACK_MAX setsockopt (Jiri Benc) [1882710] - tcp: Use a struct to represent a saved_syn (Jiri Benc) [1882710] - tcp: tcp_init_buffer_space can be static (Jiri Benc) [1882710] - tcp: refactor setting the initial congestion window (Jiri Benc) [1882710] - tcp: fix code style in tcp_recvmsg() (Jiri Benc) [1882710] - tcp: duplicate clear of icsk_backoff (Jiri Benc) [1882710] - tcp: move rx_opt & syn_data_acked init to tcp_disconnect() (Jiri Benc) [1882710] - tcp: move tp->rack init to tcp_disconnect() (Jiri Benc) [1882710] - tcp: move app_limited init to tcp_disconnect() (Jiri Benc) [1882710] - tcp: move retrans_out, sacked_out, tlp_high_seq, last_oow_ack_time init to tcp_disconnect() (Jiri Benc) [1882710] - tcp: do not clear urg_data in tcp_create_openreq_child (Jiri Benc) [1882710] - tcp: move snd_cwnd & snd_cwnd_cnt init to tcp_disconnect() (Jiri Benc) [1882710] - tcp: move mdev_us init to tcp_disconnect() (Jiri Benc) [1882710] - tcp: do not clear srtt_us in tcp_create_openreq_child (Jiri Benc) [1882710] - tcp: do not clear packets_out in tcp_create_openreq_child() (Jiri Benc) [1882710] - tcp: move icsk_rto init to tcp_disconnect() (Jiri Benc) [1882710] - tcp: do not set snd_ssthresh in tcp_create_openreq_child() (Jiri Benc) [1882710] - net-veth: Add type safety to veth_xdp_to_ptr() and veth_ptr_to_xdp() (Jiri Benc) [1882710] - net-tun: Eliminate two tun/xdp related function calls from vhost-net (Jiri Benc) [1882710] - net-tun: Add type safety to tun_xdp_to_ptr() and tun_ptr_to_xdp() (Jiri Benc) [1882710] - ipv4: Add helpers for neigh lookup for nexthop (Jiri Benc) [1882710] - net: bpf: remove XDP_QUERY_XSK_UMEM enumerator (Jiri Benc) [1882710] - tipc: better validate user input in tipc_nl_retrieve_key() (Xin Long) [1950093] - tipc: simplify the finalize work queue (Xin Long) [1958456] - tipc: wait and exit until all work queues are done (Xin Long) [1958456] - [s390] KVM: s390: diag9c (directed yield) forwarding (Claudio Imbrenda) [1874105] - kvm/svm: Reenable nesting (Dr. David Alan Gilbert) [1790949] - powerpc/papr_scm: Reduce error severity if nvdimm stats inaccessible (Steve Best) [1965193] - Revert "[redhat] redhat/configs: Update CONFIG_ARM64_CNP" (Mark Salter) [1949533] - arm64: kernel: disable CNP on Carmel (Mark Salter) [1949533]- redhat/configs: Enable CONFIG_MICROSOFT_MANA=m (Vitaly Kuznetsov) [1957820] - net: mana: Use int to check the return value of mana_gd_poll_cq() (Vitaly Kuznetsov) [1957820] - net: mana: fix PCI_HYPERV dependency (Vitaly Kuznetsov) [1957820] - net: mana: remove redundant initialization of variable err (Vitaly Kuznetsov) [1957820] - net: mana: Add a driver for Microsoft Azure Network Adapter (MANA) (Vitaly Kuznetsov) [1957820] - hv_netvsc: Make netvsc/VF binding check both MAC and serial number (Vitaly Kuznetsov) [1957820] - net: evaluate net.ipvX.conf.all.ignore_routes_with_linkdown (Balazs Nemeth) [1957223] - net: evaluate net.ipv4.conf.all.proxy_arp_pvlan (Balazs Nemeth) [1957223] - netfilter: nf_log_syslog: Unset bridge logger in pernet exit (Phil Sutter) [1938214] - netfilter: nft_log: perform module load from nf_tables (Phil Sutter) [1938214] - netfilter: nft_dynset: fix timeouts later than 23 days (Phil Sutter) [1938214] - netfilter: nft_compat: make sure xtables destructors have run (Phil Sutter) [1938214] - netfilter: nftables: Add __printf() attribute (Phil Sutter) [1938214] - netfilter: nf_log: add module softdeps (Phil Sutter) [1938214] - netfilter: nf_log_common: merge with nf_log_syslog (Phil Sutter) [1938214] - netfilter: nf_log_bridge: merge with nf_log_syslog (Phil Sutter) [1938214] - netfilter: nf_log_netdev: merge with nf_log_syslog (Phil Sutter) [1938214] - netfilter: nf_log_ipv6: merge with nf_log_syslog (Phil Sutter) [1938214] - netfilter: move inline nf_ip6_ext_hdr() function to a more appropriate header. (Phil Sutter) [1938214] - ipv6: Use ipv6_authlen for len (Phil Sutter) [1938214] - netfilter: nf_log_arp: merge with nf_log_syslog (Phil Sutter) [1938214] - netfilter: nf_log_ipv4: rename to nf_log_syslog (Phil Sutter) [1938214] - net/sched: cls_api: increase max_reclassify_loop (Davide Caratti) [1955136] - vsock/vmci: Remove redundant assignment to err (Stefano Garzarella) [1956861] - vsock/virtio: free queued packets when closing socket (Stefano Garzarella) [1956861] - net: vsock: Fix a typo (Stefano Garzarella) [1956861] - selinux: vsock: Set SID for socket returned by accept() (Stefano Garzarella) [1956861] - af_vsock: Assign the vsock transport considering the vsock address flags (Stefano Garzarella) [1956861] - af_vsock: Set VMADDR_FLAG_TO_HOST flag on the receive path (Stefano Garzarella) [1956861] - vsock_addr: Check for supported flag values (Stefano Garzarella) [1956861] - vm_sockets: Add VMADDR_FLAG_TO_HOST vsock flag (Stefano Garzarella) [1956861] - vm_sockets: Add flags field in the vsock address data structure (Stefano Garzarella) [1956861] - hv_sock: Remove the accept port restriction (Stefano Garzarella) [1956861] - hv_sock: use HV_HYP_PAGE_SIZE for Hyper-V communication (Stefano Garzarella) [1956861] - net: add a helper to avoid issues with HW TX timestamping and SO_TXTIME (Corinna Vinschen) [1958988] - net: ensure mac header is set in virtio_net_hdr_to_skb() (Balazs Nemeth) [1955441] - devlink: Fix dmac_filter trap name, align to its documentation (Petr Oros) [1935701] - devlink: Add DMAC filter generic packet trap (Petr Oros) [1935701] - devlink: Add blackhole_nexthop trap (Petr Oros) [1935701] - stm class: Fix module init return on allocation failure (Jiri Olsa) [1907791] - stm class: ftrace: Use different channel accroding to CPU (Jiri Olsa) [1907791] - stm class: ftrace: Enable supported trace export flag (Jiri Olsa) [1907791] - stm class: ftrace: Change dependency to TRACING (Jiri Olsa) [1907791] - stm class: Replace zero-length array with flexible-array (Jiri Olsa) [1907791] - stm class: sys-t: Fix the use of time_after() (Jiri Olsa) [1907791] - stm class: Lose the protocol driver when dropping its reference (Jiri Olsa) [1907791] - stm class: Fix a double free of stm_source_device (Jiri Olsa) [1907791] - stm class: Fix channel bitmap on 32-bit systems (Jiri Olsa) [1907791] - stm class: Fix channel free in stm output free path (Jiri Olsa) [1907791] - stm class: Prevent division by zero (Jiri Olsa) [1907791] - stm class: Fix an endless loop in channel allocation (Jiri Olsa) [1907791] - stm class: Fix a module refcount leak in policy creation error path (Jiri Olsa) [1907791] - stm class: Use memcat_p() (Jiri Olsa) [1907791] - stm class: heartbeat: Fix whitespace (Jiri Olsa) [1907791] - stm class: p_sys-t: Add support for CLOCKSYNC packets (Jiri Olsa) [1907791] - stm class: Add MIPI SyS-T protocol support (Jiri Olsa) [1907791] - stm class: Switch over to the protocol driver (Jiri Olsa) [1907791] - stm class: Factor out default framing protocol (Jiri Olsa) [1907791] - stm class: Add a helper for writing data packets (Jiri Olsa) [1907791] - stm class: Introduce framing protocol drivers (Jiri Olsa) [1907791] - stm class: Clean up stp_configfs_init (Jiri Olsa) [1907791] - stm class: Clarify configfs root type/operations names (Jiri Olsa) [1907791] - stm class: Rework policy node fallback (Jiri Olsa) [1907791] - lib: Add memcat_p(): paste 2 pointer arrays together (Jiri Olsa) [1907791] - tracing: Add trace_export support for trace_marker (Jiri Olsa) [1907791] - tracing: Add trace_export support for event trace (Jiri Olsa) [1907791] - tracing: Add flag to control different traces (Jiri Olsa) [1907791] - tracing: Make function ‘ftrace_exports’ static (Jiri Olsa) [1907791] - tipc: increment the tmp aead refcnt before attaching it (Xin Long) [1931312] - tipc: skb_linearize the head skb when reassembling msgs (Xin Long) [1912376] - scsi: target: core: Fix warning on realtime kernels (Maurizio Lombardi) [1956416] - scsi: bnx2fc: Fix a typo (Nilesh Javali) [1921617] - scsi: bnx2fc: Fix misnaming of bnx2fc_free_session_resc() (Nilesh Javali) [1921617] - scsi: bnx2fc: Fix typo in bnx2fc_indicate_kcqe() (Nilesh Javali) [1921617] - scsi: bnx2fc: Fix Kconfig warning & CNIC build errors (Nilesh Javali) [1921617] - scsi: bnx2fc: Fix comparison to bool warning (Nilesh Javali) [1921617] - scsi: bnx2fc: Remove unneeded semicolon (Nilesh Javali) [1921617] - scsi: bnx2fc: Make a bunch of symbols static in bnx2fc_fcoe.c (Nilesh Javali) [1921617] - scsi: bnx2fc: Fix spelling mistake "couldnt" -> "couldn't" (Nilesh Javali) [1921617] - scsi: bnx2fc: Demote obvious misuse of kerneldoc to standard comment blocks (Nilesh Javali) [1921617] - scsi: bnx2fc: Fix a couple of bitrotted function documentation headers (Nilesh Javali) [1921617] - scsi: bnx2fc: Repair a range of kerneldoc issues (Nilesh Javali) [1921617] - scsi: bnx2fc: Removal of unused variables (Nilesh Javali) [1921617] - scsi: bnx2fc: Remove unneeded semicolon in bnx2fc_fcoe.c (Nilesh Javali) [1921617] - scsi: bnx2fc: Add missing annotation for bnx2fc_abts_cleanup() (Nilesh Javali) [1921617] - tools/power turbostat: Enable tsc_tweak for Elkhart Lake and Jasper Lake (Puneet Sethi) [1920704] - selinux: Allow context mounts for unpriviliged overlayfs (Miklos Szeredi) [1956486] - md-cluster: fix use-after-free issue when removing rdev (Nigel Croxon) [1956355] - md/bitmap: wait for external bitmap writes to complete during tear down (Nigel Croxon) [1956355] - md: do not return existing mddevs from mddev_find_or_alloc (Nigel Croxon) [1956355] - md: refactor mddev_find_or_alloc (Nigel Croxon) [1956355] - md: factor out a mddev_alloc_unit helper from mddev_find (Nigel Croxon) [1956355] - md: split mddev_find (Nigel Croxon) [1956355] - md: factor out a mddev_find_locked helper from mddev_find (Nigel Croxon) [1956355] - md: md_open returns -EBUSY when entering racing area (Nigel Croxon) [1956355] - md: Fix missing unused status line of /proc/mdstat (Nigel Croxon) [1956355] - md/raid10: improve discard request for far layout (Xiao Ni) [1956355] - md/raid10: improve raid10 discard request (Nigel Croxon) [1956355] - md/raid10: pull the code that wait for blocked dev into one function (Xiao Ni) [1956355] - md/raid10: extend r10bio devs to raid disks (Xiao Ni) [1956355] - md: add md_submit_discard_bio() for submitting discard bio (Nigel Croxon) [1956355] - leds: trigger: fix potential deadlock with libata (Waiman Long) [1963373] - x86/kvm: Unify kvm_pv_guest_cpu_reboot() with kvm_guest_cpu_offline() (Lenny Szubowicz) [1934273] - x86/kvm: Disable all PV features on crash (Lenny Szubowicz) [1934273] - x86/kvm: Disable kvmclock on all CPUs on shutdown (Lenny Szubowicz) [1934273] - x86/kvm: Teardown PV features on boot CPU as well (Lenny Szubowicz) [1934273] - x86/kvm: Fix pr_info() for async PF setup/teardown (Lenny Szubowicz) [1934273] - RDMA/qedr: Fix error return code in qedr_iw_connect() (Manish Chopra) [1914922] - qede: Use 'skb_add_rx_frag()' instead of hand coding it (Manish Chopra) [1914922] - qede: Remove a erroneous ++ in 'qede_rx_build_jumbo()' (Manish Chopra) [1914922] - qede: fix offload for IPIP tunnel packets (Manish Chopra) [1914922] - RDMA/qedr: iWARP invalid(zero) doorbell address fix (Manish Chopra) [1914922] - qed: fix ILT configuration of SRC block (Manish Chopra) [1914922] - qed: fix error return code in qed_iwarp_ll2_start() (Manish Chopra) [1914922] - RDMA/qedr: Fix resource leak in qedr_create_qp (Manish Chopra) [1914922] - qede: make driver reliable on unload after failures (Manish Chopra) [1914922] - net: qed: Remove unnecessary cast (Manish Chopra) [1914922] - nvme: fix NULL derefence in nvme_ctrl_fast_io_fail_tmo_show/store (Gopal Tiwari) [1935135] - nvme: export fast_io_fail_tmo to sysfs (Gopal Tiwari) [1935135] - EDAC: enable CONFIG_EDAC_IGEN6 (Aristeu Rozanski) [1837389 1783539 1861479] - EDAC/igen6: ecclog_llist can be static (Aristeu Rozanski) [1837389 1783539 1861479] - EDAC/i10nm: Add Intel Sapphire Rapids server support (Aristeu Rozanski) [1837389 1783539 1861479] - EDAC: Add DDR5 new memory type (Aristeu Rozanski) [1837389 1783539 1861479] - EDAC/i10nm: Use readl() to access MMIO registers (Aristeu Rozanski) [1837389 1783539 1861479] - EDAC/igen6: Add debugfs interface for Intel client SoC EDAC driver (Aristeu Rozanski) [1837389 1783539 1861479] - EDAC/igen6: Add EDAC driver for Intel client SoCs using IBECC (Aristeu Rozanski) [1837389 1783539 1861479] - EDAC: Add three new memory types (Aristeu Rozanski) [1837389 1783539 1861479] - EDAC, {skx,i10nm}: Use CPU stepping macro to pass configurations (Aristeu Rozanski) [1837389 1783539 1861479] - EDAC/skx: Use the mcmtr register to retrieve close_pg/bank_xor_enable (Aristeu Rozanski) [1837389 1783539 1861479] - x86/cpu: Add a X86_MATCH_INTEL_FAM6_MODEL_STEPPINGS() macro (Aristeu Rozanski) [1837389 1783539 1861479] - EDAC: Add missing MEM_LRDDR4 entry in edac_mem_types[] (Aristeu Rozanski) [1837389 1783539 1861479] - x86: export x86_match_cpu_v2 (Aristeu Rozanski) [1837389 1783539 1861479] - EDAC/amd64: Fix PCI component registration (Aristeu Rozanski) [1918583] - EDAC/mce_amd: Use struct cpuinfo_x86.cpu_die_id for AMD NodeId (Aristeu Rozanski) [1918583] - x86/CPU/AMD: Remove amd_get_nb_id() (Aristeu Rozanski) [1918583] - EDAC/mce_amd: Make fam_ops static global (Aristeu Rozanski) [1918583] - x86/MCE/AMD: Allow Reserved types to be overwritten in smca_banks[] (Aristeu Rozanski) [1918583] - x86/MCE/AMD: Do not use rdmsr_safe_on_cpu() in smca_configure() (Aristeu Rozanski) [1918583] - EDAC/amd64: Get rid of the ECC disabled long message (Aristeu Rozanski) [1918583] - EDAC/amd64: Check for memory before fully initializing an instance (Aristeu Rozanski) [1918583] - EDAC/amd64: Use cached data when checking for ECC (Aristeu Rozanski) [1918583] - x86/MCE: Make the number of MCA banks a per-CPU variable (Aristeu Rozanski) [1918583] - x86/MCE/AMD: Don't cache block addresses on SMCA systems (Aristeu Rozanski) [1918583] - x86/MCE: Make mce_banks a per-CPU array (Aristeu Rozanski) [1918583] - x86/MCE: Make struct mce_banks[] static (Aristeu Rozanski) [1918583] - x86/MCE/AMD: Don't report L1 BTB MCA errors on some family 17h models (Aristeu Rozanski) [1918583] - EDAC/mce_amd: Decode MCA_STATUS in bit definition order (Aristeu Rozanski) [1918583] - EDAC/mce_amd: Decode MCA_STATUS[Scrub] bit (Aristeu Rozanski) [1918583] - EDAC, mce_amd: Match error descriptions to latest documentation (Aristeu Rozanski) [1918583] - x86/MCE/AMD: Carve out the MC4_MISC thresholding quirk (Aristeu Rozanski) [1918583] - x86/MCE/AMD: Turn off MC4_MISC thresholding on all family 0x15 models (Aristeu Rozanski) [1918583] - powerpc/64s: Fix unrelocated interrupt trampoline address test (Waiman Long) [1966462] - intel_th: pci: Add Alder Lake CPU support (Jiri Olsa) [1840246] - intel_th: pci: Add Alder Lake-S support (Jiri Olsa) [1840246] - mfd: intel_pmt: Add support for DG1 (David Arcari) [1783144] - mfd: intel_pmt: Fix nuisance messages and handling of disabled capabilities (David Arcari) [1783144] - redhat/configs: Add CONFIG_INTEL_PMT_CRASHLOG (David Arcari) [1783144] - redhat/configs: Add CONFIG_INTEL_PMT_TELEMETRY (David Arcari) [1783144] - redhat/configs: Add CONFIG_MFD_INTEL_PMT (David Arcari) [1783144] - platform/x86: intel_pmt_crashlog: Add dependency on MFD_INTEL_PMT (David Arcari) [1783144] - platform/x86: intel_pmt_telemetry: Add dependency on MFD_INTEL_PMT (David Arcari) [1783144] - platform/x86: intel_pmt: Make INTEL_PMT_CLASS non-user-selectable (David Arcari) [1783144] - platform/x86: intel_pmt_crashlog: Fix incorrect macros (David Arcari) [1783144] - platform/x86: intel_pmt_class: Initial resource to 0 (David Arcari) [1783144] - mfd: Standardise MFD_CELL_* helper names (David Arcari) [1783144] - platform/x86: pmt: Fix a potential Oops on error in probe (David Arcari) [1783144] - platform/x86: Intel PMT Crashlog capability driver (David Arcari) [1783144] - platform/x86: Intel PMT Telemetry capability driver (David Arcari) [1783144] - platform/x86: Intel PMT class driver (David Arcari) [1783144] - mfd: Intel Platform Monitoring Technology support (David Arcari) [1783144] - mfd: mfd-core: Ensure disabled devices are ignored without error (David Arcari) [1783144] - mfd: core: Fix double-free in mfd_remove_devices_fn() (David Arcari) [1783144] - mfd: mfd-core: Add mechanism for removal of a subset of children (David Arcari) [1783144] - mfd: core: Add OF_MFD_CELL_REG() helper (David Arcari) [1783144] - mfd: core: Fix formatting of MFD helpers (David Arcari) [1783144] - mfd: core: Make a best effort attempt to match devices with the correct of_nodes (David Arcari) [1783144] - mfd: mfd-core: Complete kerneldoc header for devm_mfd_add_devices() (David Arcari) [1783144] - mfd: Constify properties in mfd_cell (David Arcari) [1783144] - mfd: mfd-core: Honour Device Tree's request to disable a child-device (David Arcari) [1783144] - mfd: mfd-core: Move pdev->mfd_cell creation back into mfd_add_device() (David Arcari) [1783144] - mfd: mfd-core: Remove usage counting for .{en,dis}able() call-backs (David Arcari) [1783144] - mfd: mfd-core: Protect against NULL call-back function pointer (David Arcari) [1783144] - mfd: mfd-core: Remove mfd_clone_cell() (David Arcari) [1783144] - mfd: Provide MACRO to declare commonly defined MFD cell attributes (David Arcari) [1783144] - mfd: core: Set fwnode for created devices (David Arcari) [1783144] - treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 (David Arcari) [1783144] - mfd: mfd-core: Document mfd_add_devices() (David Arcari) [1783144] - PCI: Add defines for Designated Vendor-Specific Extended Capability (David Arcari) [1783144] - tick/nohz: Update idle_exittime on actual idle exit (Phil Auld) [1962632] - tick/nohz: Remove superflous check for CONFIG_VIRT_CPU_ACCOUNTING_NATIVE (Phil Auld) [1962632] - tick/nohz: Conditionally restart tick on idle exit (Phil Auld) [1962632] - x86, sched: Fix the AMD CPPC maximum performance value on certain AMD Ryzen generations (Phil Auld) [1960687] - pinctrl: devicetree: Avoid taking direct reference to device name string (Aristeu Rozanski) [1922904] {CVE-2020-0427} - redhat: ppc64: enable CONFIG_PPC_RTAS_FILTER (Aristeu Rozanski) [1906444] {CVE-2020-27777} - powerpc/rtas: Fix typo of ibm,open-errinjct in RTAS filter (Aristeu Rozanski) [1906444] {CVE-2020-27777} - powerpc/rtas: Restrict RTAS requests from userspace (Aristeu Rozanski) [1906444] {CVE-2020-27777}- docs: vxlan: add info about device features (Petr Oros) [1941739] - selftests: net: add a test for static UDP tunnel ports (Petr Oros) [1941739] - netdevsim: support the static IANA VXLAN port flag (Petr Oros) [1941739] - selftests: net: add a test for shared UDP tunnel info tables (Petr Oros) [1941739] - netdevsim: shared UDP tunnel port table support (Petr Oros) [1941739] - netdevsim: add warnings on unexpected UDP tunnel port errors (Petr Oros) [1941739] - udp_tunnel: add the ability to share port tables (Petr Oros) [1941739] - docs: networking: convert vxlan.txt to ReST (Petr Oros) [1941739] - net: Treat __napi_schedule_irqoff() as __napi_schedule() on PREEMPT_RT (Ivan Vecera) [1960528] - ethtool: fix incorrect datatype in set_eee ops (Balazs Nemeth) [1956698] - ethtool: fix missing NLM_F_MULTI flag when dumping (Antoine Tenart) [1953847] - y2038: remove CONFIG_64BIT_TIME (Waiman Long) [1965360] - net/mlx4: Fix EEPROM dump support (Alaa Hleihel) [1915305] - net/mlx4_en: update moderation when config reset (Alaa Hleihel) [1915305] - net/mlx4_core: Add missed mlx4_free_cmd_mailbox() (Alaa Hleihel) [1915305] - IB/mlx4: Use port iterator and validation APIs (Alaa Hleihel) [1915305] - net/mlx4: Use effective interrupt affinity (Alaa Hleihel) [1915302 1915305] - net/mlx4: Replace irq_to_desc() abuse (Alaa Hleihel) [1915302 1915305] - net/mlx4: simplify the return expression of mlx4_init_srq_table() (Alaa Hleihel) [1915302 1915305] - RDMA/mlx4: Remove bogus dev_base_lock usage (Alaa Hleihel) [1915302 1915305] - net/mlx4: simplify the return expression of mlx4_init_cq_table() (Alaa Hleihel) [1915302 1915305] - net/mlx4: Remove unused #define MAX_MSIX_P_PORT (Alaa Hleihel) [1915302 1915305] - RDMA/mlx4: Enable querying AH for XRC QP types (Alaa Hleihel) [1915302 1915305] - IB/mlx4: Fix fall-through warnings for Clang (Alaa Hleihel) [1915302 1915305] - net/mlx4_en: Remove unused performance counters (Alaa Hleihel) [1915302 1915305] - net/mlx4: Assign boolean values to a bool variable (Alaa Hleihel) [1915302 1915305] - net/mlx4: Cleanup kernel-doc warnings (Alaa Hleihel) [1915302 1915305] - net/mlx4_core : remove unneeded semicolon (Alaa Hleihel) [1915302 1915305] - net/mlx4_core: Fix init_hca fields offset (Alaa Hleihel) [1915301 1915305] - mlx4: handle non-napi callers to napi_poll (Alaa Hleihel) [1915301 1915305] - mlx4: drivers/net/ethernet: clean up unused assignments (Alaa Hleihel) [1915301 1915305] - mlx4: add pause frame stats (Alaa Hleihel) [1915301 1915305] - mlx4: make sure to always set the port type (Alaa Hleihel) [1915301 1915305] - net/mlx4_en: RX, Add a prefetch command for small L1_CACHE_BYTES (Alaa Hleihel) [1915301 1915305] - cnic: remove redundant assignment to variable ret (Nilesh Javali) [1921619] - net: cnic: fix spelling mistake "reserverd" -> "reserved" (Nilesh Javali) [1921619] - cnic: Explicitly initialize all reference counts to 0. (Nilesh Javali) [1921619] - cfg80211: fix locking in netlink owner interface destruction (Jarod Wilson) [1937053] - brcmfmac: Avoid GFP_ATOMIC when GFP_KERNEL is enough (Jarod Wilson) [1937053] - ath11k: fix warning in ath11k_mhi_config (Jarod Wilson) [1937053] - ath11k: qmi: Fix spelling mistake "requeqst" -> "request" (Jarod Wilson) [1937053] - ath10k: Fix ath10k_wmi_tlv_op_pull_peer_stats_info() unlock without lock (Jarod Wilson) [1937053] - ath10k: Fix a use after free in ath10k_htc_send_bundle (Jarod Wilson) [1937053] - ath9k: Fix error check in ath9k_hw_read_revisions() for PCI devices (Jarod Wilson) [1937053] - mt76: mt7921: reinit wpdma during drv_own if necessary (Jarod Wilson) [1937053] - mt76: move mt76_token_init in mt76_alloc_device (Jarod Wilson) [1937053] - mt76: mt7921: fix a precision vs width bug in printk (Jarod Wilson) [1937053] - mt76: mt7915: fix a precision vs width bug in printk (Jarod Wilson) [1937053] - mt76: mt7615: fix a precision vs width bug in printk (Jarod Wilson) [1937053] - mt76: mt7921: introduce mt7921_mcu_sta_add routine (Jarod Wilson) [1937053] - mt76: mt7921: mt7921_stop should put device in fw_own state (Jarod Wilson) [1937053] - mt76: connac: unschedule mac_work before going to sleep (Jarod Wilson) [1937053] - mt76: mt7663: add awake and doze time accounting (Jarod Wilson) [1937053] - mt76: mt7921: improve doze opportunity (Jarod Wilson) [1937053] - mt76: mt7921: get rid of mcu_reset function pointer (Jarod Wilson) [1937053] - mt76: mt7915: do not read rf value from efuse in flash mode (Jarod Wilson) [1937053] - mt76: move token utilities in mt76 common module (Jarod Wilson) [1937053] - mt76: move token_lock, token and token_count in mt76_dev (Jarod Wilson) [1937053] - mt76: mt7921: fix possible invalid register access (Jarod Wilson) [1937053] - mt76: mt7921: enable deep sleep when the device suspends (Jarod Wilson) [1937053] - mt76: connac: introduce mt76_connac_mcu_set_deep_sleep utility (Jarod Wilson) [1937053] - mt76: mt7921: introduce mt7921_wpdma_reinit_cond utility routine (Jarod Wilson) [1937053] - mt76: mt7921: introduce mt7921_dma_{enable,disable} utilities (Jarod Wilson) [1937053] - mt76: mt7921: introduce mt7921_wpdma_reset utility routine (Jarod Wilson) [1937053] - mt76: mt7921: move mt7921_dma_reset in dma.c (Jarod Wilson) [1937053] - mt76: mt7615: Fix a dereference of pointer sta before it is null checked (Jarod Wilson) [1937053] - mt76: mt7921: enable sw interrupts (Jarod Wilson) [1937053] - mt76: mt7921: add awake and doze time accounting (Jarod Wilson) [1937053] - mt76: remove MT76_STATE_PM in tx path (Jarod Wilson) [1937053] - mt76: connac: use waitqueue for runtime-pm (Jarod Wilson) [1937053] - mt76: connac: do not run mt76_txq_schedule_all directly (Jarod Wilson) [1937053] - mt76: mt7615: rely on pm refcounting in mt7615_led_set_config (Jarod Wilson) [1937053] - mt76: connac: alaways wake the device before scanning (Jarod Wilson) [1937053] - mt76: mt7921: get rid of useless MT76_STATE_PM in mt7921_mac_work (Jarod Wilson) [1937053] - mt76: connac: remove MT76_STATE_PM in mac_tx_free (Jarod Wilson) [1937053] - mt76: connac: check wake refcount in mcu_fw_pmctrl (Jarod Wilson) [1937053] - mt76: connac: unschedule ps_work in mt76_connac_pm_wake (Jarod Wilson) [1937053] - mt76: mt7663: rely on mt76_connac_pm_ref/mt76_connac_pm_unref in tx/rx napi (Jarod Wilson) [1937053] - mt76: mt7921: rely on mt76_connac_pm_ref/mt76_connac_pm_unref in tx/rx napi (Jarod Wilson) [1937053] - mt76: dma: add the capability to define a custom rx napi poll routine (Jarod Wilson) [1937053] - mt76: mt7663: rely on mt76_connac_pm_ref/mt76_connac_pm_unref in tx path (Jarod Wilson) [1937053] - mt76: mt7921: rely on mt76_connac_pm_ref/mt76_connac_pm_unref in tx path (Jarod Wilson) [1937053] - mt76: connac: introduce wake counter for fw_pmctrl synchronization (Jarod Wilson) [1937053] - mt76: mt7663: fix a race between mt7615_mcu_drv_pmctrl and mt7615_mcu_fw_pmctrl (Jarod Wilson) [1937053] - mt76: mt7921: fix a race between mt7921_mcu_drv_pmctrl and mt7921_mcu_fw_pmctrl (Jarod Wilson) [1937053] - mt76: mt7921: remove leftover function declaration (Jarod Wilson) [1937053] - mt76: connac: move mcu_update_arp_filter in mt76_connac module (Jarod Wilson) [1937053] - mt76: mt7921: do not use 0 as NULL pointer (Jarod Wilson) [1937053] - mt76: mt7915: directly read per-rate tx power from registers (Jarod Wilson) [1937053] - mt76: mt7915: rework the flow of txpower setting (Jarod Wilson) [1937053] - mt76: mt7915: add support for DT rate power limits (Jarod Wilson) [1937053] - mt76: mt7921: abort uncompleted scan by wifi reset (Jarod Wilson) [1937053] - mt76: mt7921: add wifisys reset support in debugfs (Jarod Wilson) [1937053] - mt76: mt7921: run mt7921_mcu_fw_log_2_host holding mt76 mutex (Jarod Wilson) [1937053] - mt76: improve mcu error logging (Jarod Wilson) [1937053] - mt76: mt7921: move hw configuration in mt7921_register_device (Jarod Wilson) [1937053] - mt76: mt7915: add support for applying pre-calibration data (Jarod Wilson) [1937053] - mt76: mt7615: load ROM patch before checking patch semaphore status (Jarod Wilson) [1937053] - mt76: mt7615: fix entering driver-own state on mt7663 (Jarod Wilson) [1937053] - mt76: mt7615: fix hardware error recovery for mt7663 (Jarod Wilson) [1937053] - mt76: mt7921: add dumping Tx power table (Jarod Wilson) [1937053] - mt76: introduce single-sku support for mt7663/mt7921 (Jarod Wilson) [1937053] - mt76: mt7615: do not use mt7615 single-sku values for mt7663 (Jarod Wilson) [1937053] - mt76: mt7615: implement support for using DT rate power limits (Jarod Wilson) [1937053] - mt76: extend DT rate power limits to support 11ax devices (Jarod Wilson) [1937053] - mt76: add functions for parsing rate power limits from DT (Jarod Wilson) [1937053] - mt76: flush tx status queue on DMA reset (Jarod Wilson) [1937053] - mt76: mt7921: add mt7921_dma_cleanup in mt7921_unregister_device (Jarod Wilson) [1937053] - mt76: mt7615: use ieee80211_free_txskb() in mt7615_tx_token_put() (Jarod Wilson) [1937053] - mt76: mt7615: only free skbs after mt7615_dma_reset() when reset happens (Jarod Wilson) [1937053] - mt76: mt7915: only free skbs after mt7915_dma_reset() when reset happens (Jarod Wilson) [1937053] - mt76: mt7915: fix memleak when mt7915_unregister_device() (Jarod Wilson) [1937053] - mt76: mt7615: fix memleak when mt7615_unregister_device() (Jarod Wilson) [1937053] - mt76: mt7915: fix rate setting of tx descriptor in testmode (Jarod Wilson) [1937053] - mt76: mt7915: rework mt7915_tm_set_tx_len() (Jarod Wilson) [1937053] - mt76: testmode: add support to send larger packet (Jarod Wilson) [1937053] - rtlwifi: implement set_tim by update beacon content (Jarod Wilson) [1937053] - rtw88: refine napi deinit flow (Jarod Wilson) [1937053] - rtw88: Fix potential unrecoverable tx queue stop (Jarod Wilson) [1937053] - rtw88: 8821c: Don't set RX_FLAG_DECRYPTED if packet has no encryption (Jarod Wilson) [1937053] - rtw88: 8822c: debug: allow debugfs to enable/disable TXGAPK (Jarod Wilson) [1937053] - rtw88: 8822c: Add gap-k calibration to improve long range performance (Jarod Wilson) [1937053] - rtw88: 8822c: reorder macro position according to the register number (Jarod Wilson) [1937053] - iwlwifi: Fix softirq/hardirq disabling in iwl_pcie_gen2_enqueue_hcmd() (Jarod Wilson) [1937053] - cfg80211: scan: drop entry from hidden_list on overflow (Jarod Wilson) [1937053] - wireless: fix spelling of A-MSDU in HE capabilities (Jarod Wilson) [1937053] - wireless: align HE capabilities A-MPDU Length Exponent Extension (Jarod Wilson) [1937053] - wireless: align some HE capabilities with the spec (Jarod Wilson) [1937053] - mac80211: drop the connection if firmware crashed while in CSA (Jarod Wilson) [1937053] - nl80211: Add new RSNXE related nl80211 extended features (Jarod Wilson) [1937053] - mac80211: properly drop the connection in case of invalid CSA IE (Jarod Wilson) [1937053] - mac80211: make ieee80211_vif_to_wdev work when the vif isn't in the driver (Jarod Wilson) [1937053] - nl80211/cfg80211: add a flag to negotiate for LMR feedback in NDP ranging (Jarod Wilson) [1937053] - ieee80211: add the values of ranging parameters max LTF total field (Jarod Wilson) [1937053] - mac80211: aes_cmac: check crypto_shash_setkey() return value (Jarod Wilson) [1937053] - mac80211: minstrel_ht: remove extraneous indentation on if statement (Jarod Wilson) [1937053] - mac80211: properly process TXQ management frames (Jarod Wilson) [1937053] - cfg80211: constify ieee80211_get_response_rate return (Jarod Wilson) [1937053] - cfg80211: fix a few kernel-doc warnings (Jarod Wilson) [1937053] - cfg80211: fix an htmldoc warning (Jarod Wilson) [1937053] - rtw88: 8822c: add CFO tracking (Jarod Wilson) [1937053] - iwlwifi: pcie: don't enable BHs with IRQs disabled (Jarod Wilson) [1937053] - rtw88: Fix array overrun in rtw_get_tx_power_params() (Jarod Wilson) [1937053] - brcmfmac: Remove duplicate struct declaration (Jarod Wilson) [1937053] - rtw88: update statistics to fw for fine-tuning performance (Jarod Wilson) [1937053] - brcmfmac: A typo fix (Jarod Wilson) [1937053] - rtl8xxxu: Simplify locking of a skb list accesses (Jarod Wilson) [1937053] - mwifiex: Remove unneeded variable: "ret" (Jarod Wilson) [1937053] - rtl8xxxu: Fix fall-through warnings for Clang (Jarod Wilson) [1937053] - mwifiex: don't print SSID to logs (Jarod Wilson) [1937053] - rtlwifi: rtl8192de: Use DEFINE_SPINLOCK() for spinlock (Jarod Wilson) [1937053] - rtlwifi: Simplify locking of a skb list accesses (Jarod Wilson) [1937053] - rtlwifi: remove rtl_get_tid_h (Jarod Wilson) [1937053] - rtlwifi: rtl8188ee: remove redundant assignment of variable rtlpriv->btcoexist.reg_bt_sco (Jarod Wilson) [1937053] - rtlwifi: remove redundant assignment to variable err (Jarod Wilson) [1937053] - rtlwifi: Few mundane typo fixes (Jarod Wilson) [1937053] - rtlwifi: 8821ae: upgrade PHY and RF parameters (Jarod Wilson) [1937053] - iwlwifi: dbg: disable ini debug in 9000 family and below (Jarod Wilson) [1937053] - iwlwifi: pcie: Change ma product string name (Jarod Wilson) [1937053] - iwlwifi: fw: print out trigger delay when collecting data (Jarod Wilson) [1937053] - iwlwifi: trans/pcie: defer transport initialisation (Jarod Wilson) [1937053] - iwlwifi: bump FW API to 63 for AX devices (Jarod Wilson) [1937053] - iwlwifi: mvm: don't WARN if we can't remove a time event (Jarod Wilson) [1937053] - iwlwifi: mvm: don't disconnect immediately if we don't hear beacons after CSA (Jarod Wilson) [1937053] - iwlwifi: rs-fw: don't support stbc for HE 160 (Jarod Wilson) [1937053] - iwlwifi: warn on SKB free w/o op-mode (Jarod Wilson) [1937053] - iwlwifi: mvm: add support for version 3 of LARI_CONFIG_CHANGE command. (Jarod Wilson) [1937053] - iwlwifi: pcie: add ISR debug info for msix debug (Jarod Wilson) [1937053] - iwlwifi: pcie: merge napi_poll_msix functions (Jarod Wilson) [1937053] - iwlwifi: mvm: don't lock mutex in RCU critical section (Jarod Wilson) [1937053] - iwlwifi: mvm: remove PS from lower rates. (Jarod Wilson) [1937053] - iwlwifi: mvm: umac error table mismatch (Jarod Wilson) [1937053] - iwlwifi: queue: avoid memory leak in reset flow (Jarod Wilson) [1937053] - iwlwifi: don't warn if we can't wait for empty tx queues (Jarod Wilson) [1937053] - iwlwifi: remove remaining software checksum code (Jarod Wilson) [1937053] - iwlwifi: remove TCM events (Jarod Wilson) [1937053] - iwlwifi: mvm: Use IWL_INFO in fw_reset_handshake() (Jarod Wilson) [1937053] - iwlwifi: mvm: refactor ACPI DSM evaluation function (Jarod Wilson) [1937053] - iwlwifi: mvm: support BIOS enable/disable for 11ax in Ukraine (Jarod Wilson) [1937053] - iwlwifi: move iwl_configure_rxq to be used by other op_modes (Jarod Wilson) [1937053] - iwlwifi: add new so-gf device (Jarod Wilson) [1937053] - iwlwifi: mvm: enable PPAG in China (Jarod Wilson) [1937053] - iwlwifi: mvm: Add support for 6GHz passive scan (Jarod Wilson) [1937053] - iwlwifi: add ax201 killer device (Jarod Wilson) [1937053] - iwlwifi: mvm: when associated with PMF, use protected NDP ranging negotiation (Jarod Wilson) [1937053] - iwlwifi: mvm: clean up queue sync implementation (Jarod Wilson) [1937053] - iwlwifi: mvm: write queue_sync_state only for sync (Jarod Wilson) [1937053] - iwlwifi: mvm: responder: support responder config command version 8 (Jarod Wilson) [1937053] - iwlwifi: mvm: support range request command version 12 (Jarod Wilson) [1937053] - iwlwifi: pcie: make cfg vs. trans_cfg more robust (Jarod Wilson) [1937053] - iwlwifi: pcie: clear only FH bits handle in the interrupt (Jarod Wilson) [1937053] - iwlwifi: add 160Mhz to killer 1550 name (Jarod Wilson) [1937053] - iwlwifi: change name to AX 211 and 411 family (Jarod Wilson) [1937053] - iwlwifi: change step in so-gf struct (Jarod Wilson) [1937053] - iwlwifi: pcie: Add support for Bz Family (Jarod Wilson) [1937053] - iwlwifi: mvm: don't allow CSA if we haven't been fully associated (Jarod Wilson) [1937053] - iwlwifi: pcie: normally grab NIC access for inflight-hcmd (Jarod Wilson) [1937053] - iwlwifi: pcie: avoid unnecessarily taking spinlock (Jarod Wilson) [1937053] - iwlwifi: mvm: enable TX on new CSA channel before disconnecting (Jarod Wilson) [1937053] - mt76: mt7921: add rcu section in mt7921_mcu_tx_rate_report (Jarod Wilson) [1937053] - mt76: mt7921: introduce MCU_EVENT_LP_INFO event parsing (Jarod Wilson) [1937053] - mt76: mt7615: always add rx header translation tlv when adding stations (Jarod Wilson) [1937053] - mt76: mt7615: add missing SPDX tag in mmio.c (Jarod Wilson) [1937053] - mt76: mt7915: add mmio.c (Jarod Wilson) [1937053] - mt76: report Rx timestamp (Jarod Wilson) [1937053] - mt76: mt7921: remove 80+80 MHz support capabilities (Jarod Wilson) [1937053] - mt76: fix potential DMA mapping leak (Jarod Wilson) [1937053] - mt76: mt7921: reduce the data latency during hw scan (Jarod Wilson) [1937053] - mt76: mt7921: fix the insmod hangs (Jarod Wilson) [1937053] - mt76: mt7921: fix kernel crash when the firmware fails to download (Jarod Wilson) [1937053] - mt76: mt7921: fix the dwell time control (Jarod Wilson) [1937053] - mt76: mt7921: fix inappropriate WoW setup with the missing ARP informaiton (Jarod Wilson) [1937053] - mt76: mt7921: introduce MT_WFDMA_DUMMY_CR definition (Jarod Wilson) [1937053] - mt76: mt7915: add wifi subsystem reset (Jarod Wilson) [1937053] - mt76: mt7915: fix mt7915_mcu_add_beacon (Jarod Wilson) [1937053] - mt76: mt7615: fix .add_beacon_offload() (Jarod Wilson) [1937053] - mt76: mt7921: rework mt7921_mcu_debug_msg_event routine (Jarod Wilson) [1937053] - mt76: mt7921: always wake the device in mt7921_remove_interface (Jarod Wilson) [1937053] - mt76: mt7921: fix key set/delete issue (Jarod Wilson) [1937053] - mt76: mt7915: fix txpower init for TSSI off chips (Jarod Wilson) [1937053] - mt76: mt7915: limit firmware log message printk to buffer length (Jarod Wilson) [1937053] - mt76: mt7615: limit firmware log message printk to buffer length (Jarod Wilson) [1937053] - mt76: mt7615: fix chip reset on MT7622 and MT7663e (Jarod Wilson) [1937053] - mt76: mt7915: cleanup mcu tx queue in mt7915_dma_reset() (Jarod Wilson) [1937053] - mt76: mt7915: keep mcu_add_bss_info enabled till interface removal (Jarod Wilson) [1937053] - mt76: mt7615: keep mcu_add_bss_info enabled till interface removal (Jarod Wilson) [1937053] - mt76: mt7622: trigger hif interrupt for system reset (Jarod Wilson) [1937053] - mt76: mt7615: cleanup mcu tx queue in mt7615_dma_reset() (Jarod Wilson) [1937053] - mt76: mt7615: only enable DFS test knobs for mt7615 (Jarod Wilson) [1937053] - mt76: mt7921: properly configure rcpi adding a sta to the fw (Jarod Wilson) [1937053] - mt76: connac: introduce mt76_sta_cmd_info data structure (Jarod Wilson) [1937053] - mt76: mt7921: get rid of mt7921_mac_wtbl_lmac_addr (Jarod Wilson) [1937053] - mt76: mt7915: refresh repeater entry MAC address when setting BSSID (Jarod Wilson) [1937053] - mt76: mt7915: fix key set/delete issue (Jarod Wilson) [1937053] - mt76: mt7921: remove duplicated macros in mcu.h (Jarod Wilson) [1937053] - mt76: mt7921: remove redundant check on type (Jarod Wilson) [1937053] - mt76: mt7921: remove leftovers from dbdc configuration (Jarod Wilson) [1937053] - mt76: mt7921: add wifi reset support (Jarod Wilson) [1937053] - mt76: dma: export mt76_dma_rx_cleanup routine (Jarod Wilson) [1937053] - mt76: dma: introduce mt76_dma_queue_reset routine (Jarod Wilson) [1937053] - mt76: mt7921: introduce __mt7921_start utility routine (Jarod Wilson) [1937053] - mt76: mt7921: introduce mt7921_run_firmware utility routine. (Jarod Wilson) [1937053] - mt76: introduce mcu_reset function pointer in mt76_mcu_ops structure (Jarod Wilson) [1937053] - mt76: mt7921: reduce mcu timeouts for suspend, offload and hif_ctrl msg (Jarod Wilson) [1937053] - mt76: mt7915: fix possible deadlock while mt7915_register_ext_phy() (Jarod Wilson) [1937053] - mt76: mt7615: add missing capabilities for DBDC (Jarod Wilson) [1937053] - mt76: mt7663s: fix the possible device hang in high traffic (Jarod Wilson) [1937053] - mt76: mt7663s: make all of packets 4-bytes aligned in sdio tx aggregation (Jarod Wilson) [1937053] - mt76: mt7663: fix when beacon filter is being applied (Jarod Wilson) [1937053] - mt76: mt7615: check mcu returned values in mt7615_ops (Jarod Wilson) [1937053] - mt76: mt7915: check mcu returned values in mt7915_ops (Jarod Wilson) [1937053] - mt76: mt7915: fix txrate reporting (Jarod Wilson) [1937053] - mt76: mt7915: fix rxrate reporting (Jarod Wilson) [1937053] - mt76: mt76x0u: Add support for TP-Link T2UHP(UN) v1 (Jarod Wilson) [1937053] - mt76: mt7915: fix PHY mode for DBDC (Jarod Wilson) [1937053] - mt76: mt7915: stop ext_phy queue when mac reset happens (Jarod Wilson) [1937053] - mt76: mt7915: fix CSA notification for DBDC (Jarod Wilson) [1937053] - mt76: mt7615: stop ext_phy queue when mac reset happens (Jarod Wilson) [1937053] - mt76: mt7615: fix CSA notification for DBDC (Jarod Wilson) [1937053] - mt76: mt7915: add missing capabilities for DBDC (Jarod Wilson) [1937053] - mt76: mt7921: check mcu returned values in mt7921_start (Jarod Wilson) [1937053] - mt76: mt7921: fix the base of the dynamic remap (Jarod Wilson) [1937053] - mt76: mt7921: fix the base of PCIe interrupt (Jarod Wilson) [1937053] - mt76: mt7921: get rid of mt7921_sta_rc_update routine (Jarod Wilson) [1937053] - mt76: check return value of mt76_txq_send_burst in mt76_txq_schedule_list (Jarod Wilson) [1937053] - mt76: connac: fix kernel warning adding monitor interface (Jarod Wilson) [1937053] - mt76: mt7915: fix mib stats counter reporting to mac80211 (Jarod Wilson) [1937053] - mt76: mt7615: fix mib stats counter reporting to mac80211 (Jarod Wilson) [1937053] - mt76: mt7615: remove hdr->fw_ver check (Jarod Wilson) [1937053] - mt76: mt7615: fix TSF configuration (Jarod Wilson) [1937053] - mt76: mt7921: fix stats register definitions (Jarod Wilson) [1937053] - mt76: mt7921: remove unneeded semicolon (Jarod Wilson) [1937053] - mt76: mt7915: fix aggr len debugfs node (Jarod Wilson) [1937053] - mt76: mt7921: fix aggr length histogram (Jarod Wilson) [1937053] - mt76: mt7615: fix memory leak in mt7615_coredump_work (Jarod Wilson) [1937053] - mt76: mt7615: add support for rx decapsulation offload (Jarod Wilson) [1937053] - mt76: mt7615: add rx checksum offload support (Jarod Wilson) [1937053] - mt76: mt7615: enable hw rx-amsdu de-aggregation (Jarod Wilson) [1937053] - mt76: connac: update sched_scan cmd usage (Jarod Wilson) [1937053] - mt76: mt7921: add flush operation (Jarod Wilson) [1937053] - mt76: mt7921: fixup rx bitrate statistics (Jarod Wilson) [1937053] - mt76: connac: fix up the setting for ht40 mode in mt76_connac_mcu_uni_add_bss (Jarod Wilson) [1937053] - mt76: mt7921: switch to new api for hardware beacon filter (Jarod Wilson) [1937053] - mt76: mt7921: fix memory leak in mt7921_coredump_work (Jarod Wilson) [1937053] - mt76: mt7921: fix suspend/resume sequence (Jarod Wilson) [1937053] - mt76: use PCI_VENDOR_ID_MEDIATEK to avoid open coded (Jarod Wilson) [1937053] - mt76: mt7915: always check return value from mt7915_mcu_alloc_wtbl_req (Jarod Wilson) [1937053] - mt76: connac: always check return value from mt76_connac_mcu_alloc_wtbl_req (Jarod Wilson) [1937053] - mt76: mt76x0: disable GTK offloading (Jarod Wilson) [1937053] - mt76: always use WTBL_MAX_SIZE for tlv allocation (Jarod Wilson) [1937053] - mt76: mt7921: removed unused definitions in mcu.h (Jarod Wilson) [1937053] - mt76: mt7921: remove unnecessary variable (Jarod Wilson) [1937053] - mt76: mt7921: enable random mac addr during scanning (Jarod Wilson) [1937053] - mt76: mt7615: support loading EEPROM for MT7613BE (Jarod Wilson) [1937053] - mt76: mt7915: fix tx skb dma unmap (Jarod Wilson) [1937053] - mt76: mt7615: fix tx skb dma unmap (Jarod Wilson) [1937053] - mt76: mt7615: fix key set/delete issues (Jarod Wilson) [1937053] - mt76: mt7915: add support for rx decapsulation offload (Jarod Wilson) [1937053] - mt76: mt7915: add rx checksum offload support (Jarod Wilson) [1937053] - mt76: mt7915: enable hw rx-amsdu de-aggregation (Jarod Wilson) [1937053] - mt76: add support for 802.3 rx frames (Jarod Wilson) [1937053] - cfg80211: Remove wrong RNR IE validation check (Jarod Wilson) [1937053] - mac80211: bail out if cipher schemes are invalid (Jarod Wilson) [1937053] - mac80211: clear the beacon's CRC after channel switch (Jarod Wilson) [1937053] - mac80211: Set priority and queue mapping for injected frames (Jarod Wilson) [1937053] - mac80211: Allow concurrent monitor iface and ethernet rx decap (Jarod Wilson) [1937053] - nl80211: Add interface to indicate TDLS peer's HE capability (Jarod Wilson) [1937053] - cfg80211: allow specifying a reason for hw_rfkill (Jarod Wilson) [1937053] - nl80211: better document CMD_ROAM behavior (Jarod Wilson) [1937053] - mac80211: set sk_pacing_shift for 802.3 txpath (Jarod Wilson) [1937053] - mac80211: don't apply flow control on management frames (Jarod Wilson) [1937053] - nl80211: Add missing line in nl80211_fils_discovery_policy (Jarod Wilson) [1937053] - mac80211: remove redundant assignment of variable result (Jarod Wilson) [1937053] - mac80211: minstrel_ht: remove unused variable 'mg' in minstrel_ht_next_jump_rate() (Jarod Wilson) [1937053] - cfg80211: regulatory: use DEFINE_SPINLOCK() for spinlock (Jarod Wilson) [1937053] - mac80211_hwsim: use DEFINE_SPINLOCK() for spinlock (Jarod Wilson) [1937053] - rfkill: use DEFINE_SPINLOCK() for spinlock (Jarod Wilson) [1937053] - mt7601u: enable TDLS support (Jarod Wilson) [1937053] - mt7601u: fix always true expression (Jarod Wilson) [1937053] - rtw88: Fix an error code in rtw_debugfs_set_rsvd_page() (Jarod Wilson) [1937053] - rtw88: coex: fix A2DP stutters while WL busy + WL scan (Jarod Wilson) [1937053] - rtw88: 8822c: add LC calibration for RTL8822C (Jarod Wilson) [1937053] - rtw88: 8822c: update tx power limit table to RF v40.1 (Jarod Wilson) [1937053] - rtw88: fix DIG min setting (Jarod Wilson) [1937053] - rtw88: add flush hci support (Jarod Wilson) [1937053] - rtw88: 8822c: support FW crash dump when FW crash (Jarod Wilson) [1937053] - rtw88: remove unnecessary variable (Jarod Wilson) [1937053] - rtw88: coex: add power off setting (Jarod Wilson) [1937053] - ath11k: Add support for STA to handle beacon miss (Jarod Wilson) [1937053] - ath11k: Update signal filled flag during sta_statistics drv op (Jarod Wilson) [1937053] - ath10k: skip the wait for completion to recovery in shutdown path (Jarod Wilson) [1937053] - ath11k: fix thermal temperature read (Jarod Wilson) [1937053] - ath11k: fix potential wmi_mgmt_tx_queue race condition (Jarod Wilson) [1937053] - ath11k: qmi: cosmetic changes to error messages (Jarod Wilson) [1937053] - ath11k: qmi: add more debug messages (Jarod Wilson) [1937053] - Revert "ath9k: fix ath_tx_process_buffer() potential null ptr dereference" (Jarod Wilson) [1937053] - ath11k: print hardware name and version during initialisation (Jarod Wilson) [1937053] - ath11k: Enable radar detection for 160MHz secondary segment (Jarod Wilson) [1937053] - ath11k: Fix sounding dimension config in HE cap (Jarod Wilson) [1937053] - ath11k: add qcn9074 pci device support (Jarod Wilson) [1937053] - ath11k: add extended interrupt support for QCN9074 (Jarod Wilson) [1937053] - ath11k: add CE interrupt support for QCN9074 (Jarod Wilson) [1937053] - ath11k: add data path support for QCN9074 (Jarod Wilson) [1937053] - ath11k: add hal support for QCN9074 (Jarod Wilson) [1937053] - ath11k: add static window support for register access (Jarod Wilson) [1937053] - ath11k: Add qcn9074 mhi controller config (Jarod Wilson) [1937053] - ath11k: Update memory segment count for qcn9074 (Jarod Wilson) [1937053] - ath11k: qmi: increase the number of fw segments (Jarod Wilson) [1937053] - ath11k: Move qmi service_ins_id to hw_params (Jarod Wilson) [1937053] - ath11k: Refactor ath11k_msi_config (Jarod Wilson) [1937053] - ath11k: debugfs: Fix spelling mistake "Opportunies" -> "Opportunities" (Jarod Wilson) [1937053] - ath9k: fix ath_tx_process_buffer() potential null ptr dereference (Jarod Wilson) [1937053] - nl80211: fix beacon head validation (Jarod Wilson) [1937053] - nl80211: fix potential leak of ACL params (Jarod Wilson) [1937053] - cfg80211: check S1G beacon compat element length (Jarod Wilson) [1937053] - cfg80211: remove WARN_ON() in cfg80211_sme_connect (Jarod Wilson) [1937053] - mac80211: fix time-is-after bug in mlme (Jarod Wilson) [1937053] - mac80211: fix TXQ AC confusion (Jarod Wilson) [1937053] - rfkill: revert back to old userspace API by default (Jarod Wilson) [1937053] - mac80211: clear sta->fast_rx when STA removed from 4-addr VLAN (Jarod Wilson) [1937053] - iwlwifi: mvm: fix beacon protection checks (Jarod Wilson) [1937053] - iwlwifi: mvm: rfi: don't lock mvm->mutex when sending config command (Jarod Wilson) [1937053] - iwlwifi: pcie: add support for So-F devices (Jarod Wilson) [1937053] - iwlwifi: fw: fix notification wait locking (Jarod Wilson) [1937053] - iwlwifi: add support for Qu with AX201 device (Jarod Wilson) [1937053] - iwlwifi: pcie: properly set LTR workarounds on 22000 devices (Jarod Wilson) [1937053] - iwlwifi: fix 11ax disabled bit in the regulatory capability flags (Jarod Wilson) [1937053] - brcmfmac: p2p: Fix recently introduced deadlock issue (Jarod Wilson) [1937053] - mt76: mt7921: fix airtime reporting (Jarod Wilson) [1937053] - iwlwifi: Fix softirq/hardirq disabling in iwl_pcie_enqueue_hcmd() (Jarod Wilson) [1937053] - mt76: mt7615: remove redundant dev_err call in mt7622_wmac_probe() (Jarod Wilson) [1937053] - mt76: Convert to DEFINE_SHOW_ATTRIBUTE (Jarod Wilson) [1937053] - reg.c: Fix a spello (Jarod Wilson) [1937053] - mac80211: cfg.c: A typo fix (Jarod Wilson) [1937053] - wireless: remove never implemented MODULE_SUPPORTED_DEVICE (Jarod Wilson) [1937053] - wireless/nl80211: fix wdev_id may be used uninitialized (Jarod Wilson) [1937053] - nl80211: fix locking for wireless device netns change (Jarod Wilson) [1937053] - iwlwifi: don't call netif_napi_add() with rxq->lock held (was Re: Lockdep warning in iwl_pcie_rx_handle()) (Jarod Wilson) [1937053] - iwlwifi: fix ARCH=i386 compilation warnings (Jarod Wilson) [1937053] - iwlwifi: mvm: add terminate entry for dmi_system_id tables (Jarod Wilson) [1937053] - mt76: mt7915: fix unused 'mode' variable (Jarod Wilson) [1937053] - mt76: dma: do not report truncated frames to mac80211 (Jarod Wilson) [1937053] - mt76: mt7921: remove incorrect error handling (Jarod Wilson) [1937053] - iwlwifi: pcie: fix iwl_so_trans_cfg link error when CONFIG_IWLMVM is disabled (Jarod Wilson) [1937053] - ath11k: fix AP mode for QCA6390 (Jarod Wilson) [1937053] - ath11k: qmi: use pad to format dma_addr_t (Jarod Wilson) [1937053] - iwlwifi: avoid crash on unsupported debug collection (Jarod Wilson) [1937053] - mt76: mt7915: only modify tx buffer list after allocating tx token id (Jarod Wilson) [1937053] - mt76: fix tx skb error handling in mt76_dma_tx_queue_skb (Jarod Wilson) [1937053] - ath9k: fix transmitting to stations in dynamic SMPS mode (Jarod Wilson) [1937053] - redhat: Enable ath11k PCI device support (Jarod Wilson) [1937053] - soc: qcom: Do not depend on ARCH_QCOM for QMI helpers (Jarod Wilson) [1937053] - net: qrtr: Do not depend on ARCH_QCOM (Jarod Wilson) [1937053] - b43: N-PHY: Fix the update of coef for the PHY revision >= 3case (Jarod Wilson) [1937053] - nl80211: add documentation for HT/VHT/HE disable attributes (Jarod Wilson) [1937053] - cfg80211/mac80211: Support disabling HE mode (Jarod Wilson) [1937053] - mac80211: add STBC encoding to ieee80211_parse_tx_radiotap (Jarod Wilson) [1937053] - mac80211: minstrel_ht: remove sample rate switching code for constrained devices (Jarod Wilson) [1937053] - mac80211: minstrel_ht: show sampling rates in debugfs (Jarod Wilson) [1937053] - mac80211: minstrel_ht: significantly redesign the rate probing strategy (Jarod Wilson) [1937053] - mac80211: minstrel_ht: reduce the need to sample slower rates (Jarod Wilson) [1937053] - mac80211: minstrel_ht: update total packets counter in tx status path (Jarod Wilson) [1937053] - mac80211: minstrel_ht: use bitfields to encode rate indexes (Jarod Wilson) [1937053] - cfg80211: initialize reg_rule in __freq_reg_info() (Jarod Wilson) [1937053] - mac80211: fix potential overflow when multiplying to u32 integers (Jarod Wilson) [1937053] - mac80211: enable QoS support for nl80211 ctrl port (Jarod Wilson) [1937053] - cfg80211: remove unused callback (Jarod Wilson) [1937053] - rtw88: 8822c: update RF_B (2/2) parameter tables to v60 (Jarod Wilson) [1937053] - rtw88: 8822c: update RF_B (1/2) parameter tables to v60 (Jarod Wilson) [1937053] - rtw88: 8822c: update RF_A parameter tables to v60 (Jarod Wilson) [1937053] - rtw88: 8822c: update MAC/BB parameter tables to v60 (Jarod Wilson) [1937053] - rtw88: replace tx tasklet with work queue (Jarod Wilson) [1937053] - rtw88: add napi support (Jarod Wilson) [1937053] - rtw88: add rts condition (Jarod Wilson) [1937053] - rtw88: add dynamic rrsr configuration (Jarod Wilson) [1937053] - iwlwifi: remove incorrect comment in pnvm (Jarod Wilson) [1937053] - ath11k: qmi: add debug message for allocated memory segment addresses and sizes (Jarod Wilson) [1937053] - ath11k: pci: remove experimental warning (Jarod Wilson) [1937053] - ath10k: hold RCU lock when calling ieee80211_find_sta_by_ifaddr() (Jarod Wilson) [1937053] - ath10k: change ath10k_offchan_tx_work() peer present msg to a warn (Jarod Wilson) [1937053] - ath9k: fix data bus crash when setting nf_override via debugfs (Jarod Wilson) [1937053] - ath11k: add support to configure spatial reuse parameter set (Jarod Wilson) [1937053] - ath10k: restore tx sk_buff of htt header for SDIO (Jarod Wilson) [1937053] - brcmsmac: Fix the spelling configation to configuration in the file d11.h (Jarod Wilson) [1937053] - iwlwifi: bump FW API to 62 for AX devices (Jarod Wilson) [1937053] - iwlwifi: pnvm: implement reading PNVM from UEFI (Jarod Wilson) [1937053] - iwlwifi: pnvm: move file loading code to a separate function (Jarod Wilson) [1937053] - iwlwifi: pnvm: increment the pointer before checking the TLV (Jarod Wilson) [1937053] - iwlwifi: pcie: define FW_RESET_TIMEOUT for clarity (Jarod Wilson) [1937053] - iwlwifi: pnvm: set the PNVM again if it was already loaded (Jarod Wilson) [1937053] - iwlwifi: mvm: global PM mode does not reset after FW crash (Jarod Wilson) [1937053] - iwlwifi: mvm: reduce the print severity of failing getting NIC temp (Jarod Wilson) [1937053] - iwlwifi: mvm: get NVM later in the mvm_start flow (Jarod Wilson) [1937053] - iwlmvm: set properly NIC_NOT_ACK_ENABLED flag (Jarod Wilson) [1937053] - iwlwifi: remove max_ht_ampdu_exponent config parameter (Jarod Wilson) [1937053] - iwlwifi: remove max_vht_ampdu_exponent config parameter (Jarod Wilson) [1937053] - iwlwifi: mvm: Check ret code for iwl_mvm_load_nvm_to_nic (Jarod Wilson) [1937053] - iwlwifi: mvm: don't check if CSA event is running before removing (Jarod Wilson) [1937053] - iwlwifi: mvm: Support SCAN_CFG_CMD version 5 (Jarod Wilson) [1937053] - iwlwifi: mvm: isolate the get nvm flow (Jarod Wilson) [1937053] - iwlwifi: mvm: simplify iwl_mvm_dbgfs_register (Jarod Wilson) [1937053] - iwlwifi: mvm: register to mac80211 last (Jarod Wilson) [1937053] - iwlwifi: acpi: add support for DSM RFI (Jarod Wilson) [1937053] - iwlwifi: mvm: add RFI-M support (Jarod Wilson) [1937053] - iwlwifi:mvm: Add support for version 2 of the LARI_CONFIG_CHANGE command. (Jarod Wilson) [1937053] - iwlwifi: pcie: don't crash when rx queues aren't allocated in interrupt (Jarod Wilson) [1937053] - iwlwifi: correction of group-id once sending REPLY_ERROR (Jarod Wilson) [1937053] - iwlwifi: pcie: add AX201 and AX211 radio modules for Ma devices (Jarod Wilson) [1937053] - iwlwifi: pcie: add CDB bit to the device configuration parsing (Jarod Wilson) [1937053] - iwlwifi: acpi: don't return valid pointer as an ERR_PTR (Jarod Wilson) [1937053] - iwlwifi: queue: add fake tx time point (Jarod Wilson) [1937053] - iwlwifi: remove flags argument for nic_access (Jarod Wilson) [1937053] - iwlwifi: declare support for triggered SU/MU beamforming feedback (Jarod Wilson) [1937053] - iwlwifi: dbg: add op_mode callback for collecting debug data. (Jarod Wilson) [1937053] - iwlwifi: api: clean up some documentation/bits (Jarod Wilson) [1937053] - iwlwifi: dbg: remove unsupported regions (Jarod Wilson) [1937053] - iwlwifi: pcie: Change Ma device ID (Jarod Wilson) [1937053] - iwlwifi: when HW has rate offload don't look at control field (Jarod Wilson) [1937053] - iwlwifi: pcie: NULLify pointers after free (Jarod Wilson) [1937053] - iwlwifi: mvm: assign SAR table revision to the command later (Jarod Wilson) [1937053] - iwlwifi: mvm: remove useless iwl_mvm_resume_d3() function (Jarod Wilson) [1937053] - iwlwifi: mvm: enhance a print in CSA flows (Jarod Wilson) [1937053] - iwlwifi: mvm: send stored PPAG command instead of local (Jarod Wilson) [1937053] - iwlwifi: mvm: store PPAG enabled/disabled flag properly (Jarod Wilson) [1937053] - iwlwifi: mvm: fix the type we use in the PPAG table validity checks (Jarod Wilson) [1937053] - iwlwifi: acpi: fix PPAG table sizes (Jarod Wilson) [1937053] - iwlwifi: pcie: don't disable interrupts for reg_lock (Jarod Wilson) [1937053] - iwlwifi: pcie: add a few missing entries for So with Hr (Jarod Wilson) [1937053] - iwlwifi: dbg: Mark ucode tlv data as const (Jarod Wilson) [1937053] - iwlwifi: add new cards for So and Qu family (Jarod Wilson) [1937053] - ath11k: fix a locking bug in ath11k_mac_op_start() (Jarod Wilson) [1937053] - rtlwifi: rtl8821ae: phy: Simplify bool comparison (Jarod Wilson) [1937053] - rtlwifi: rtl8192se: Simplify bool comparison (Jarod Wilson) [1937053] - brcmfmac: add support for CQM RSSI notifications (Jarod Wilson) [1937053] - ath10k: Add new debug level for sta related logs (Jarod Wilson) [1937053] - ath11k: Update tx descriptor search index properly (Jarod Wilson) [1937053] - ath10k: Fix lockdep assertion warning in ath10k_sta_statistics (Jarod Wilson) [1937053] - ath10k: Fix suspicious RCU usage warning in ath10k_wmi_tlv_parse_peer_stats_info() (Jarod Wilson) [1937053] - wl3501: fix alignment constraints (Jarod Wilson) [1937053] - rt2800usb: add Sweex LW163V2 id's (Jarod Wilson) [1937053] - rt2x00: remove duplicate word and fix typo in comment (Jarod Wilson) [1937053] - mwifiex: Report connected BSS with cfg80211_connect_bss() (Jarod Wilson) [1937053] - rtl8xxxu: remove unused assignment value (Jarod Wilson) [1937053] - atmel: at76c50x: use DEFINE_MUTEX() for mutex lock (Jarod Wilson) [1937053] - brcmsmac: fix alignment constraints (Jarod Wilson) [1937053] - brcmfmac: Add DMI nvram filename quirk for Voyo winpad A15 tablet (Jarod Wilson) [1937053] - brcmfmac: Add DMI nvram filename quirk for Predia Basic tablet (Jarod Wilson) [1937053] - rtw88: 8821c: support RFE type2 wifi NIC (Jarod Wilson) [1937053] - rtw88: 8821c: Correct CCK RSSI (Jarod Wilson) [1937053] - rtw88: coex: 8821c: correct antenna switch function (Jarod Wilson) [1937053] - rtlwifi: rtl8192se: remove redundant initialization of variable rtstatus (Jarod Wilson) [1937053] - iwlwifi: pcie: Disable softirqs during Rx queue init (Jarod Wilson) [1937053] - iwlwifi: bump FW API to 61 for AX devices (Jarod Wilson) [1937053] - iwlwifi: mvm: add Asus to the PPAG approved list (Jarod Wilson) [1937053] - iwlwifi: mvm: add Microsoft to the PPAG approved list (Jarod Wilson) [1937053] - iwlwifi: mvm: add Samsung to the PPAG approved list (Jarod Wilson) [1937053] - iwlwifi: mvm: add HP to the PPAG approved list (Jarod Wilson) [1937053] - iwlwifi: mvm: implement approved list for the PPAG feature (Jarod Wilson) [1937053] - iwlwifi: mvm: set enabled in the PPAG command properly (Jarod Wilson) [1937053] - iwlwifi: mvm: add debugfs entry to trigger a dump as any time-point (Jarod Wilson) [1937053] - iwlwifi: mvm: add tx fail time point (Jarod Wilson) [1937053] - iwlwifi: fwrt: add suspend/resume time point (Jarod Wilson) [1937053] - iwlwifi: mvm: add triggers for MLME events (Jarod Wilson) [1937053] - iwlwifi: mvm: add IML/ROM information for other HW families (Jarod Wilson) [1937053] - iwlwifi: mvm: fix CSA AP side (Jarod Wilson) [1937053] - iwlwifi: mvm: make iwl_mvm_tt_temp_changed() static (Jarod Wilson) [1937053] - iwlwifi: mvm: cancel the scan delayed work when scan is aborted (Jarod Wilson) [1937053] - iwlwifi: pcie: add support for SnJ with Hr1 (Jarod Wilson) [1937053] - iwlwifi: mvm: move early time-point before nvm_init in non-unified (Jarod Wilson) [1937053] - iwlwifi: add support for SnJ with Jf devices (Jarod Wilson) [1937053] - iwlwifi: move SnJ and So rules to the new tables (Jarod Wilson) [1937053] - iwlwifi: mvm: slightly clean up rs_fw_set_supp_rates() (Jarod Wilson) [1937053] - iwlwifi: fw api: make hdr a zero-size array again (Jarod Wilson) [1937053] - iwlwifi: bump FW API to 60 for AX devices (Jarod Wilson) [1937053] - iwlwifi: mvm: advertise BIGTK client support if available (Jarod Wilson) [1937053] - iwlwifi: always allow maximum A-MSDU on newer devices (Jarod Wilson) [1937053] - iwlwifi: mvm: debugfs: check length precisely in inject_packet (Jarod Wilson) [1937053] - iwlwifi: mvm: simplify TX power setting (Jarod Wilson) [1937053] - iwlwifi: tx: move handing sync/async host command to trans (Jarod Wilson) [1937053] - iwlwifi: mvm: add explicit check for non-data frames in get Tx rate (Jarod Wilson) [1937053] - iwlwifi: mvm: debugfs for phy-integration-ver (Jarod Wilson) [1937053] - iwlwifi: parse phy integration string from FW TLV (Jarod Wilson) [1937053] - iwlwifi: mvm: csa: do not abort CSA before disconnect (Jarod Wilson) [1937053] - iwlwifi: mvm: don't send commands during suspend\resume transition (Jarod Wilson) [1937053] - iwlwifi: mvm: don't check system_pm_mode without mutex held (Jarod Wilson) [1937053] - iwlwifi: remove TRANS_PM_OPS (Jarod Wilson) [1937053] - iwlwifi: dbg: dump paged memory from index 1 (Jarod Wilson) [1937053] - iwl-trans: iwlwifi: move sync NMI logic to trans (Jarod Wilson) [1937053] - iwlwifi: pcie: properly implement NAPI (Jarod Wilson) [1937053] - iwlwifi: mvm: add support for new flush queue response (Jarod Wilson) [1937053] - iwlwifi: mvm: handle CCA-EXT delay firmware notification (Jarod Wilson) [1937053] - iwlwifi: mvm: scan: fix scheduled scan restart handling (Jarod Wilson) [1937053] - iwlwifi: mvm: remove debugfs injection limitations (Jarod Wilson) [1937053] - iwlwifi: mvm: check more notification sizes (Jarod Wilson) [1937053] - iwlwifi: mvm: add notification size checks (Jarod Wilson) [1937053] - ath11k: remove h from printk format specifier (Jarod Wilson) [1937053] - ath10k: remove h from printk format specifier (Jarod Wilson) [1937053] - cfg80211: fix netdev registration deadlock (Jarod Wilson) [1937053] - mac80211: fix station rate table updates on assoc (Jarod Wilson) [1937053] - mt76: mt7663: introduce coredump support (Jarod Wilson) [1937053] - mt76: mt7921: add coredump support (Jarod Wilson) [1937053] - mt76: mt7921: enable MSI interrupts (Jarod Wilson) [1937053] - mt76: mt7921: introduce regdomain notifier support (Jarod Wilson) [1937053] - mt76: mt7921: introduce Runtime PM support (Jarod Wilson) [1937053] - mt76: mt7921: rely on mt76_connac_mcu module for suspend and WoW support (Jarod Wilson) [1937053] - mt76: mt7921: rely on mt76_connac_mcu module for sched_scan and hw_scan (Jarod Wilson) [1937053] - mt76: mt7921: rely on mt76_connac_mcu common library (Jarod Wilson) [1937053] - mt76: mt7921: introduce PM support (Jarod Wilson) [1937053] - mt76: mt7921: introduce beacon_loss mcu event (Jarod Wilson) [1937053] - mt76: mt7921: introduce support for hardware beacon filter (Jarod Wilson) [1937053] - mt76: mt7921: introduce 802.11 PS support in sta mode (Jarod Wilson) [1937053] - mt76: mt7921: introduce schedule scan support (Jarod Wilson) [1937053] - mt76: mt7921: add debugfs support (Jarod Wilson) [1937053] - mt76: mt7921: introduce mt7921e support (Jarod Wilson) [1937053] - mt76: mt7921: add ieee80211_ops (Jarod Wilson) [1937053] - mt76: mt7921: add EEPROM support (Jarod Wilson) [1937053] - mt76: mt7921: add DMA support (Jarod Wilson) [1937053] - mt76: mt7921: add MCU support (Jarod Wilson) [1937053] - mt76: mt7921: add MAC support (Jarod Wilson) [1937053] - wireless: Fix "ordering" comment typos (Jarod Wilson) [1937053] - mt76: mt76_connac: move pm utility routines in mt76_connac_lib module (Jarod Wilson) [1937053] - mt76: mt76_connac: move pm data struct in mt76_connac.h (Jarod Wilson) [1937053] - mt76: mt76_connac: move WoW and suspend code in mt76_connac_mcu module (Jarod Wilson) [1937053] - mt76: mt76_connac: move hw_scan and sched_scan routine in mt76_connac_mcu module (Jarod Wilson) [1937053] - mt76: mt76_connac: create mcu library (Jarod Wilson) [1937053] - mt76: introduce mt76_vif data structure (Jarod Wilson) [1937053] - cfg80211: call cfg80211_destroy_ifaces() with wiphy lock held (Jarod Wilson) [1937053] - wext: call cfg80211_set_encryption() with wiphy lock held (Jarod Wilson) [1937053] - wext: call cfg80211_change_iface() with wiphy lock held (Jarod Wilson) [1937053] - nl80211: call cfg80211_dev_rename() under RTNL (Jarod Wilson) [1937053] - mt76: dma: fix a possible memory leak in mt76_add_fragment() (Jarod Wilson) [1937053] - ath9k: fix build error with LEDS_CLASS=m (Jarod Wilson) [1937053] - ath10k: fix wmi mgmt tx queue full due to race condition (Jarod Wilson) [1937053] - ath10k: pass the ssid info to get the correct bss entity (Jarod Wilson) [1937053] - ath10k: allow dynamic SAR power limits via common API (Jarod Wilson) [1937053] - mac80211: minstrel_ht: fix regression in the max_prob_rate fix (Jarod Wilson) [1937053] - mt76: mt7615: reduce VHT maximum MPDU length (Jarod Wilson) [1937053] - mt76: reduce q->lock hold time (Jarod Wilson) [1937053] - mt76: usb: process URBs with status EPROTO properly (Jarod Wilson) [1937053] - mt76: move vif_mask back from mt76_phy to mt76_dev (Jarod Wilson) [1937053] - mt76: mt7915: make vif index per adapter instead of per band (Jarod Wilson) [1937053] - mt76: mt7915: add support for using a secondary PCIe link for gen1 (Jarod Wilson) [1937053] - mt76: fix crash on tearing down ext phy (Jarod Wilson) [1937053] - mt76: mt7915: bring up the WA event rx queue for band1 (Jarod Wilson) [1937053] - mt76: mt7615: unify init work (Jarod Wilson) [1937053] - mt76: mt7915: support TxBF for DBDC (Jarod Wilson) [1937053] - mt76: mt7915: Remove unneeded semicolon (Jarod Wilson) [1937053] - mt76: mt7615: set mcu country code in mt7615_mcu_set_channel_domain() (Jarod Wilson) [1937053] - mt76: mt7915: fix eeprom DBDC band selection (Jarod Wilson) [1937053] - mt76: mt7915: fix eeprom parsing for DBDC (Jarod Wilson) [1937053] - iwlwifi: provide gso_type to GSO packets (Jarod Wilson) [1937053] - mt76: mt7915: disable RED support in the WA firmware (Jarod Wilson) [1937053] - mt76: mt7915: rework mcu API (Jarod Wilson) [1937053] - mt76: mt7915: do not set DRR group for stations (Jarod Wilson) [1937053] - mt76: mt7915: ensure that init work completes before starting the device (Jarod Wilson) [1937053] - mt76: mt7603: fix ED/CCA monitoring with single-stream devices (Jarod Wilson) [1937053] - mt76: mt7915: add implicit Tx beamforming support (Jarod Wilson) [1937053] - mt76: mt7915: simplify peer's TxBF capability check (Jarod Wilson) [1937053] - mt76: mt7615: mt7915: disable txpower sku when testmode enabled (Jarod Wilson) [1937053] - mt76: mt7915: add support for continuous tx in testmode (Jarod Wilson) [1937053] - mt76: mt7915: rework set state part in testmode (Jarod Wilson) [1937053] - mt76: testmode: add a new state for continuous tx (Jarod Wilson) [1937053] - mt76: mt7915: clean hw queue before starting new testmode tx (Jarod Wilson) [1937053] - mt76: mt7915: calculate new packet length when tx_time is set in testmode (Jarod Wilson) [1937053] - mt76: mt7915: add support for ipg in testmode (Jarod Wilson) [1937053] - mt76: mt7915: split edca update function (Jarod Wilson) [1937053] - mt76: testmode: make tx queued limit adjustable (Jarod Wilson) [1937053] - mt76: testmode: add attributes for ipg related parameters (Jarod Wilson) [1937053] - mt76: testmode: add support to set user-defined spe index (Jarod Wilson) [1937053] - mt76: mt7915: force ldpc for bw larger than 20MHz in testmode (Jarod Wilson) [1937053] - mt76: move chainmask in mt76_phy (Jarod Wilson) [1937053] - mt76: move mac_work in mt76_core module (Jarod Wilson) [1937053] - mt76: mt7615: move testmode data from dev to phy (Jarod Wilson) [1937053] - mt76: mt7915: move testmode data from dev to phy (Jarod Wilson) [1937053] - mt76: testmode: move mtd part to mt76_dev (Jarod Wilson) [1937053] - mt76: testmode: introduce dbdc support (Jarod Wilson) [1937053] - mt76: mt7915: add partial add_bss_info command on testmode init (Jarod Wilson) [1937053] - mt76: mt7915: drop zero-length packet to avoid Tx hang (Jarod Wilson) [1937053] - mt76: mt7915: simplify mt7915_mcu_send_message routine (Jarod Wilson) [1937053] - mt76: mt7915: fix endianness warning in mt7915_mcu_set_radar_th (Jarod Wilson) [1937053] - mt76: mt7915: add support for flash mode (Jarod Wilson) [1937053] - mt76: mt7915: run mt7915_configure_filter holding mt76 mutex (Jarod Wilson) [1937053] - mt76: mt7915: convert comma to semicolon (Jarod Wilson) [1937053] - mt76: mt7615: convert comma to semicolon (Jarod Wilson) [1937053] - mt76: mt7615: reset token when mac_reset happens (Jarod Wilson) [1937053] - mt76: mt7915: reset token when mac_reset happens (Jarod Wilson) [1937053] - mt76: mt7915: fix MT_CIPHER_BIP_CMAC_128 setkey (Jarod Wilson) [1937053] - mt76: mt7615: add vif check in mt7615_update_vif_beacon() (Jarod Wilson) [1937053] - mt76: mt7915: add vif check in mt7915_update_vif_beacon() (Jarod Wilson) [1937053] - ath11k: add ieee80211_unregister_hw to avoid kernel crash caused by NULL pointer (Jarod Wilson) [1937053] - mac80211: pause TX while changing interface type (Jarod Wilson) [1937053] - wext: fix NULL-ptr-dereference with cfg80211's lack of commit() (Jarod Wilson) [1937053] - cfg80211: avoid holding the RTNL when calling the driver (Jarod Wilson) [1937053] - iwl4965: do not process non-QOS frames on txq->sched_retry path (Jarod Wilson) [1937053] - mt7601u: process tx URBs with status EPROTO properly (Jarod Wilson) [1937053] - mt7601u: use ieee80211_rx_list to pass frames to the network stack as a batch (Jarod Wilson) [1937053] - rtw88: 8723de: adjust the LTR setting (Jarod Wilson) [1937053] - rtlwifi: rtl8821ae: fix bool comparison in expressions (Jarod Wilson) [1937053] - rtlwifi: rtl8192se: fix bool comparison in expressions (Jarod Wilson) [1937053] - rtlwifi: rtl8188ee: fix bool comparison in expressions (Jarod Wilson) [1937053] - rtlwifi: rtl8192c-common: fix bool comparison in expressions (Jarod Wilson) [1937053] - rtlwifi: rtl_pci: fix bool comparison in expressions (Jarod Wilson) [1937053] - mt7601u: fix kernel crash unplugging the device (Jarod Wilson) [1937053] - iwlwifi: queue: bail out on invalid freeing (Jarod Wilson) [1937053] - iwlwifi: mvm: guard against device removal in reprobe (Jarod Wilson) [1937053] - iwlwifi: Fix IWL_SUBDEVICE_NO_160 macro to use the correct bit. (Jarod Wilson) [1937053] - iwlwifi: mvm: clear IN_D3 after wowlan status cmd (Jarod Wilson) [1937053] - iwlwifi: pcie: add rules to match Qu with Hr2 (Jarod Wilson) [1937053] - iwlwifi: mvm: invalidate IDs of internal stations at mvm start (Jarod Wilson) [1937053] - iwlwifi: mvm: fix the return type for DSM functions 1 and 2 (Jarod Wilson) [1937053] - iwlwifi: pcie: reschedule in long-running memory reads (Jarod Wilson) [1937053] - iwlwifi: pcie: use jiffies for memory read spin time limit (Jarod Wilson) [1937053] - iwlwifi: pcie: fix context info memory leak (Jarod Wilson) [1937053] - iwlwifi: pcie: add a NULL check in iwl_pcie_txq_unmap (Jarod Wilson) [1937053] - iwlwifi: pcie: set LTR on more devices (Jarod Wilson) [1937053] - iwlwifi: queue: don't crash if txq->entries is NULL (Jarod Wilson) [1937053] - iwlwifi: fix the NMI flow for old devices (Jarod Wilson) [1937053] - iwlwifi: pnvm: don't try to load after failures (Jarod Wilson) [1937053] - iwlwifi: pnvm: don't skip everything when not reloading (Jarod Wilson) [1937053] - iwlwifi: pcie: avoid potential PNVM leaks (Jarod Wilson) [1937053] - iwlwifi: mvm: take mutex for calling iwl_mvm_get_sync_time() (Jarod Wilson) [1937053] - iwlwifi: mvm: skip power command when unbinding vif during CSA (Jarod Wilson) [1937053] - cfg80211: change netdev registration/unregistration semantics (Jarod Wilson) [1937053] - mac80211: minstrel_ht: fix rounding error in throughput calculation (Jarod Wilson) [1937053] - mac80211: minstrel_ht: increase stats update interval (Jarod Wilson) [1937053] - mac80211: minstrel_ht: fix max probability rate selection (Jarod Wilson) [1937053] - mac80211: minstrel_ht: improve sample rate selection (Jarod Wilson) [1937053] - mac80211: minstrel_ht: improve ampdu length estimation (Jarod Wilson) [1937053] - mac80211: minstrel_ht: remove old ewma based rate average code (Jarod Wilson) [1937053] - mac80211: remove legacy minstrel rate control (Jarod Wilson) [1937053] - mac80211: minstrel_ht: add support for OFDM rates on non-HT clients (Jarod Wilson) [1937053] - mac80211: minstrel_ht: clean up CCK code (Jarod Wilson) [1937053] - mac80211: introduce aql_enable node in debugfs (Jarod Wilson) [1937053] - cfg80211: Add phyrate conversion support for extended MCS in 60GHz band (Jarod Wilson) [1937053] - cfg80211: add VHT rate entries for MCS-10 and MCS-11 (Jarod Wilson) [1937053] - mac80211: reduce peer HE MCS/NSS to own capabilities (Jarod Wilson) [1937053] - mac80211: remove NSS number of 160MHz if not support 160MHz for HE (Jarod Wilson) [1937053] - mac80211: 160MHz with extended NSS BW in CSA (Jarod Wilson) [1937053] - mac80211: add LDPC encoding to ieee80211_parse_tx_radiotap (Jarod Wilson) [1937053] - mac80211: add rx decapsulation offload support (Jarod Wilson) [1937053] - ath10k: remove unused struct ath10k::dev_type (Jarod Wilson) [1937053] - ath11k: remove duplicate function declaration (Jarod Wilson) [1937053] - ath10k: increase rx buffer size to 2048 (Jarod Wilson) [1937053] - ath10k: sanitity check for ep connectivity (Jarod Wilson) [1937053] - mt76: mt7663s: fix rx buffer refcounting (Jarod Wilson) [1937053] - mt7601u: fix rx buffer refcounting (Jarod Wilson) [1937053] - mac80211: check if atf has been disabled in __ieee80211_schedule_txq (Jarod Wilson) [1937053] - mac80211: do not drop tx nulldata packets on encrypted links (Jarod Wilson) [1937053] - mac80211: fix encryption key selection for 802.3 xmit (Jarod Wilson) [1937053] - mac80211: fix fast-rx encryption check (Jarod Wilson) [1937053] - mac80211: fix incorrect strlen of .write in debugfs (Jarod Wilson) [1937053] - cfg80211: fix a kerneldoc markup (Jarod Wilson) [1937053] - brcmfmac: clear EAP/association status bits on linkdown events (Jarod Wilson) [1937053] - brcmfmac: Delete useless kfree code (Jarod Wilson) [1937053] - mt7601u: check the status of device in calibration (Jarod Wilson) [1937053] - mt7601u: process URBs in status EPROTO properly (Jarod Wilson) [1937053] - brcmfmac: support BCM4365E with 43666 ChipCommon chip ID (Jarod Wilson) [1937053] - mwifiex: pcie: Drop bogus __refdata annotation (Jarod Wilson) [1937053] - rtw88: Simplify bool comparison (Jarod Wilson) [1937053] - rtw88: coex: set 4 slot TDMA for BT link and WL busy (Jarod Wilson) [1937053] - rtw88: 8821c: apply CCK PD level which calculates from dynamic mechanism (Jarod Wilson) [1937053] - rtw88: reduce the log level for failure of tx report (Jarod Wilson) [1937053] - rtw88: Delete useless kfree code (Jarod Wilson) [1937053] - iwlwifi: dbg: Don't touch the tlv data (Jarod Wilson) [1937053] - mt76: Fix queue ID variable types after mcu queue split (Jarod Wilson) [1937053] - cfg80211: Save the regulatory domain with a lock (Jarod Wilson) [1937053] - cfg80211/mac80211: fix kernel-doc for SAR APIs (Jarod Wilson) [1937053] - mt76: mt7915: fix MESH ifdef block (Jarod Wilson) [1937053] - mt76: mt76s: fix NULL pointer dereference in mt76s_process_tx_queue (Jarod Wilson) [1937053] - mt76: sdio: remove wake logic in mt76s_process_tx_queue (Jarod Wilson) [1937053] - mt76: usb: remove wake logic in mt76u_status_worker (Jarod Wilson) [1937053] - ath11k: dp: clean up a variable name (Jarod Wilson) [1937053] - ath11k: pci: remove unnecessary mask in ath11k_pci_enable_ltssm() (Jarod Wilson) [1937053] - ath11k: pci: disable ASPM L0sLs before downloading firmware (Jarod Wilson) [1937053] - ath11k: qmi: try to allocate a big block of DMA memory first (Jarod Wilson) [1937053] - rtlwifi: rise completion at the last step of firmware callback (Jarod Wilson) [1937053] - mt76: mt76u: fix NULL pointer dereference in mt76u_status_worker (Jarod Wilson) [1937053] - ath10k: prevent deinitializing NAPI twice (Jarod Wilson) [1937053] - ath9k: Postpone key cache entry deletion for TXQ frames reference it (Jarod Wilson) [1937053] - ath: Modify ath_key_delete() to not need full key entry (Jarod Wilson) [1937053] - ath: Export ath_hw_keysetmac() (Jarod Wilson) [1937053] - ath9k: Clear key cache explicitly on disabling hardware (Jarod Wilson) [1937053] - ath: Use safer key clearing with key cache entries (Jarod Wilson) [1937053] - ath10k: Remove voltage regulator votes during wifi disable (Jarod Wilson) [1937053] - ath10k: Fix error handling in case of CE pipe init failure (Jarod Wilson) [1937053] - ath11k: Fix ath11k_pci_fix_l1ss() (Jarod Wilson) [1937053] - ath11k: Fix error code in ath11k_core_suspend() (Jarod Wilson) [1937053] - ath11k: start vdev if a bss peer is already created (Jarod Wilson) [1937053] - ath11k: fix crash caused by NULL rx_channel (Jarod Wilson) [1937053] - ath11k: add missing null check on allocated skb (Jarod Wilson) [1937053] - ath9k: make relay callbacks const (Jarod Wilson) [1937053] - ath11k: make relay callbacks const (Jarod Wilson) [1937053] - ath10k: make relay callbacks const (Jarod Wilson) [1937053] - ath11k: implement suspend for QCA6390 PCI devices (Jarod Wilson) [1937053] - ath11k: hif: add ce irq enable and disable functions (Jarod Wilson) [1937053] - ath11k: implement WoW enable and wakeup commands (Jarod Wilson) [1937053] - ath11k: set credit_update flag for flow controlled ep only (Jarod Wilson) [1937053] - ath11k: dp: stop rx pktlog before suspend (Jarod Wilson) [1937053] - ath11k: htc: implement suspend handling (Jarod Wilson) [1937053] - ath11k: htc: remove unused struct ath11k_htc_ops (Jarod Wilson) [1937053] - ath11k: pci: read select_window register to ensure write is finished (Jarod Wilson) [1937053] - ath11k: hif: implement suspend and resume functions (Jarod Wilson) [1937053] - ath11k: mhi: hook suspend and resume (Jarod Wilson) [1937053] - ath11k: Fix incorrect tlvs in scan start command (Jarod Wilson) [1937053] - ath11k: pci: disable VDD4BLOW (Jarod Wilson) [1937053] - ath11k: pci: fix L1ss clock unstable problem (Jarod Wilson) [1937053] - ath11k: pci: fix hot reset stability issues (Jarod Wilson) [1937053] - ath11k: put hw to DBS using WMI_PDEV_SET_HW_MODE_CMDID (Jarod Wilson) [1937053] - ath11k: mhi: print a warning if firmware crashed (Jarod Wilson) [1937053] - ath11k: use MHI provided APIs to allocate and free MHI controller (Jarod Wilson) [1937053] - ath10k: add atomic protection for device recovery (Jarod Wilson) [1937053] - ath10k: add option for chip-id based BDF selection (Jarod Wilson) [1937053] - mt76: remove unused variable q (Jarod Wilson) [1937053] - mac80211: add ieee80211_set_sar_specs (Jarod Wilson) [1937053] - nl80211: add common API to configure SAR power limitations (Jarod Wilson) [1937053] - mac80211: fix a mistake check for rx_stats update (Jarod Wilson) [1937053] - mac80211: mlme: save ssid info to ieee80211_bss_conf while assoc (Jarod Wilson) [1937053] - mac80211: Update rate control on channel change (Jarod Wilson) [1937053] - mac80211: don't filter out beacons once we start CSA (Jarod Wilson) [1937053] - mac80211: Fix calculation of minimal channel width (Jarod Wilson) [1937053] - mac80211: ignore country element TX power on 6 GHz (Jarod Wilson) [1937053] - mac80211: use bitfield helpers for BA session action frames (Jarod Wilson) [1937053] - mac80211: support Rx timestamp calculation for all preamble types (Jarod Wilson) [1937053] - mac80211: don't set set TDLS STA bandwidth wider than possible (Jarod Wilson) [1937053] - mac80211: support driver-based disconnect with reconnect hint (Jarod Wilson) [1937053] - cfg80211: support immediate reconnect request hint (Jarod Wilson) [1937053] - mac80211: use struct assignment for he_obss_pd (Jarod Wilson) [1937053] - cfg80211: remove struct ieee80211_he_bss_color (Jarod Wilson) [1937053] - nl80211: validate key indexes for cfg80211_registered_device (Jarod Wilson) [1937053] - cfg80211: include block-tx flag in channel switch started event (Jarod Wilson) [1937053] - mac80211: disallow band-switch during CSA (Jarod Wilson) [1937053] - ieee80211: update reduced neighbor report TBTT info length (Jarod Wilson) [1937053] - cfg80211: Save the regulatory domain when setting custom regulatory (Jarod Wilson) [1937053] - nl80211: always accept scan request with the duration set (Jarod Wilson) [1937053] - cfg80211: Update TSF and TSF BSSID for multi BSS (Jarod Wilson) [1937053] - cfg80211: scan PSC channels in case of scan with wildcard SSID (Jarod Wilson) [1937053] - mac80211: Skip entries with SAE H2E only membership selector (Jarod Wilson) [1937053] - cfg80211: Parse SAE H2E only membership selector (Jarod Wilson) [1937053] - mac80211: support MIC error/replay detected counters driver update (Jarod Wilson) [1937053] - mac80211: he: remove non-bss-conf fields from bss_conf (Jarod Wilson) [1937053] - mac80211: remove trailing semicolon in macro definitions (Jarod Wilson) [1937053] - nl80211: Fix fall-through warnings for Clang (Jarod Wilson) [1937053] - mac80211: Fix fall-through warnings for Clang (Jarod Wilson) [1937053] - cfg80211: Fix fall-through warnings for Clang (Jarod Wilson) [1937053] - cfg80211: fix callback type mismatches in wext-compat (Jarod Wilson) [1937053] - net: wireless: make a const array static, makes object smaller (Jarod Wilson) [1937053] - net: mac80211: use core API for updating TX/RX stats (Jarod Wilson) [1937053] - rfkill: add a reason to the HW rfkill state (Jarod Wilson) [1937053] - rtlwifi: rtl8192de: fix ofdm power compensation (Jarod Wilson) [1937053] - ath9k_htc: adhere to the DONT_REORDER transmit flag (Jarod Wilson) [1937053] - ath11k: mesh: add support for 256 bitmap in blockack frames in 11ax (Jarod Wilson) [1937053] - ath11k: support TXOP duration based RTS threshold (Jarod Wilson) [1937053] - ath11k: fix incorrect wmi param for configuring HE operation (Jarod Wilson) [1937053] - ath11k: unlock on error path in ath11k_mac_op_add_interface() (Jarod Wilson) [1937053] - ath11k: fix rmmod failure if qmi sequence fails (Jarod Wilson) [1937053] - rtw88: Fix fall-through warnings for Clang (Jarod Wilson) [1937053] - rt2x00: Fix fall-through warnings for Clang (Jarod Wilson) [1937053] - ath11k: pci: add MODULE_FIRMWARE macros (Jarod Wilson) [1937053] - rtw88: reduce polling time of IQ calibration (Jarod Wilson) [1937053] - rtw88: fix multiple definition of rtw_pm_ops (Jarod Wilson) [1937053] - brcmfmac: remove redundant assignment to pointer 'entry' (Jarod Wilson) [1937053] - rtw88: declare hw supports ch 144 (Jarod Wilson) [1937053] - rtw88: coex: fix missing unitialization of variable 'interval' (Jarod Wilson) [1937053] - mwifiex: change license text of Makefile and README from MARVELL to NXP (Jarod Wilson) [1937053] - rtw88: pci: Add prototypes for .probe, .remove and .shutdown (Jarod Wilson) [1937053] - ath9k: remove trailing semicolon in macro definition (Jarod Wilson) [1937053] - ath11k: Ignore resetting peer auth flag in peer assoc cmd (Jarod Wilson) [1937053] - ath11k: add 64bit check before reading msi high addr (Jarod Wilson) [1937053] - ath10k: fix a check patch warning returnNonBoolInBooleanFunction of sdio.c (Jarod Wilson) [1937053] - mac80211: mesh: fix mesh_pathtbl_init() error path (Jarod Wilson) [1937053] - mt76: mt7615: Fix fall-through warnings for Clang (Jarod Wilson) [1937053] - mt76: mt7915: fix ht mcs in mt7915_mcu_get_rx_rate() (Jarod Wilson) [1937053] - mt76: attempt to free up more room when filling the tx queue (Jarod Wilson) [1937053] - mt76: mt7915: stop queues when running out of tx tokens (Jarod Wilson) [1937053] - mt76: improve tx queue stop/wake (Jarod Wilson) [1937053] - mt76: mt7915: fix memory leak in mt7915_mcu_get_rx_rate() (Jarod Wilson) [1937053] - mt76: mt7615: fix rdd mcu cmd endianness (Jarod Wilson) [1937053] - mt76: mt7915: fix endian issues (Jarod Wilson) [1937053] - mt76: mt7915: get rid of dbdc debugfs knob (Jarod Wilson) [1937053] - mt76: mt7915: introduce dbdc support (Jarod Wilson) [1937053] - mt76: move hw mac_addr in mt76_phy (Jarod Wilson) [1937053] - mt76: move band allocation in mt76_register_phy (Jarod Wilson) [1937053] - mt76: rely on mt76_phy in mt76_init_sband_2g and mt76_init_sband_5g (Jarod Wilson) [1937053] - mt76: move band capabilities in mt76_phy (Jarod Wilson) [1937053] - mt76: move tx hw data queues in mt76_phy (Jarod Wilson) [1937053] - mt76: move mcu queues to mt76_dev q_mcu array (Jarod Wilson) [1937053] - mt76: rely on mt76_queue in tx_queue_skb_raw signature (Jarod Wilson) [1937053] - mt76: introduce mt76_init_mcu_queue utility routine (Jarod Wilson) [1937053] - mt76: rely on mt76_queue in tx_queue_skb signature (Jarod Wilson) [1937053] - mt76: dma: rely on mt76_queue in mt76_dma_tx_cleanup signature (Jarod Wilson) [1937053] - mt76: mt7663s: rely on mt76_queue in mt7663s_tx_run_queue signature (Jarod Wilson) [1937053] - mt76: sdio: rely on mt76_queue in mt76s_process_tx_queue signature (Jarod Wilson) [1937053] - mt76: sdio: introduce mt76s_alloc_tx_queue (Jarod Wilson) [1937053] - mt76: move mt76_init_tx_queue in common code (Jarod Wilson) [1937053] - mt76: mt7915: rely on eeprom definitions (Jarod Wilson) [1937053] - mt76: mt7615: refactor usb/sdio rate code (Jarod Wilson) [1937053] - mt76: mt7615: support 16 interfaces (Jarod Wilson) [1937053] - mt76: mt7915: remove unused mt7915_mcu_bss_sync_tlv() (Jarod Wilson) [1937053] - mt76: mt7915: use BIT_ULL for omac_idx (Jarod Wilson) [1937053] - mt76: mt7915: make mt7915_eeprom_read static (Jarod Wilson) [1937053] - mt76: mt7915: add support to set tx frequency offset in testmode (Jarod Wilson) [1937053] - mt76: mt7915: add support to set txpower in testmode (Jarod Wilson) [1937053] - mt76: mt7915: implement testmode rx support (Jarod Wilson) [1937053] - mt76: mt7915: implement testmode tx support (Jarod Wilson) [1937053] - mt76: testmode: add support for HE rate modes (Jarod Wilson) [1937053] - mt76: mt7915: fix tx rate related fields in tx descriptor (Jarod Wilson) [1937053] - mt76: testmode: add support for LTF and GI combinations for HE mode (Jarod Wilson) [1937053] - mt76: testmode: add tx_rate_stbc parameter (Jarod Wilson) [1937053] - mt76: testmode: add snr attribute in rx statistics (Jarod Wilson) [1937053] - mt76: testmode: switch ib and wb rssi to array type for per-antenna report (Jarod Wilson) [1937053] - mt76: mt76u: use dedicated thread for status work (Jarod Wilson) [1937053] - mt76: mt76u: rely on woker APIs for rx work (Jarod Wilson) [1937053] - mt76: mt7615: run key configuration in mt7615_set_key for usb/sdio devices (Jarod Wilson) [1937053] - mt76: fix tkip configuration for mt7615/7663 devices (Jarod Wilson) [1937053] - mt76: switch to wep sw crypto for mt7615/mt7915 (Jarod Wilson) [1937053] - mt76: mt7663s: introduce WoW support via GPIO (Jarod Wilson) [1937053] - mt76: move mt76_mcu_send_firmware in common module (Jarod Wilson) [1937053] - mt76: mt7603: add additional EEPROM chip ID (Jarod Wilson) [1937053] - mt76: fix memory leak if device probing fails (Jarod Wilson) [1937053] - mt76: mt7915: fix sparse warning cast from restricted __le16 (Jarod Wilson) [1937053] - mt76: dma: fix possible deadlock running mt76_dma_cleanup (Jarod Wilson) [1937053] - mt76: set fops_tx_stats.owner to THIS_MODULE (Jarod Wilson) [1937053] - mt76: mt7915: rename mt7915_mcu_get_rate_info to mt7915_mcu_get_tx_rate (Jarod Wilson) [1937053] - mt76: mt7915: update ppe threshold (Jarod Wilson) [1937053] - mt76: mt7915: set fops_sta_stats.owner to THIS_MODULE (Jarod Wilson) [1937053] - mt76: sdio: get rid of sched.lock (Jarod Wilson) [1937053] - mt76: mt7663s: fix a possible ple quota underflow (Jarod Wilson) [1937053] - mt76: mt7663s: get rid of mt7663s_sta_add (Jarod Wilson) [1937053] - mt76: mt7615: introduce quota debugfs node for mt7663s (Jarod Wilson) [1937053] - mt76: mt7615: enable beacon filtering by default for offload fw (Jarod Wilson) [1937053] - mt76: add back the SUPPORTS_REORDERING_BUFFER flag (Jarod Wilson) [1937053] - mt76: mt7915: query station rx rate from firmware (Jarod Wilson) [1937053] - mt76: mt7915: move eeprom parsing out of mt7915_mcu_parse_response (Jarod Wilson) [1937053] - mt76: implement functions to get the response skb for MCU calls (Jarod Wilson) [1937053] - mt76: mt7603: switch to .mcu_skb_send_msg (Jarod Wilson) [1937053] - mt76: make mcu_ops->mcu_send_msg optional (Jarod Wilson) [1937053] - mt76: move waiting and locking out of mcu_ops->mcu_skb_send_msg (Jarod Wilson) [1937053] - mt76: move mcu timeout handling to .mcu_parse_response (Jarod Wilson) [1937053] - mt76: implement .mcu_parse_response in struct mt76_mcu_ops (Jarod Wilson) [1937053] - mt76: rename __mt76_mcu_skb_send_msg to mt76_mcu_skb_send_msg (Jarod Wilson) [1937053] - mt76: rename __mt76_mcu_send_msg to mt76_mcu_send_msg (Jarod Wilson) [1937053] - mt76: mt7915: disable OFDMA/MU-MIMO UL (Jarod Wilson) [1937053] - mt76: mt7915: fix DRR sta bss group index (Jarod Wilson) [1937053] - mt76: mt7915: use napi_consume_skb to bulk-free tx skbs (Jarod Wilson) [1937053] - mt76: mt7915: fix processing txfree events (Jarod Wilson) [1937053] - mt76: mt7915: support 32 station interfaces (Jarod Wilson) [1937053] - mt76: do not set NEEDS_UNIQUE_STA_ADDR for 7615 and 7915 (Jarod Wilson) [1937053] - mt76: mt7615: add debugfs knob for setting extended local mac addresses (Jarod Wilson) [1937053] - mt76: use ieee80211_rx_list to pass frames to the network stack as a batch (Jarod Wilson) [1937053] - mt76: mt7915: add encap offload for 4-address mode stations (Jarod Wilson) [1937053] - mt76: mt7915: add 802.11 encap offload support (Jarod Wilson) [1937053] - mt76: sdio: convert {status/net}_work to mt76_worker (Jarod Wilson) [1937053] - mt76: mt7663s: disable interrupt during txrx_worker processing (Jarod Wilson) [1937053] - mt76: mt7663s: convert txrx_work to mt76_worker (Jarod Wilson) [1937053] - mt76: mt7663s: move tx/rx processing in the same txrx workqueue (Jarod Wilson) [1937053] - mt76: mt7615: retry if mt7615_mcu_init returns -EAGAIN (Jarod Wilson) [1937053] - mt76: mt7915: fix VHT LDPC capability (Jarod Wilson) [1937053] - mt76: mt7915: measure channel noise and report it via survey (Jarod Wilson) [1937053] - mac80211: set SDATA_STATE_RUNNING for monitor interfaces (Jarod Wilson) [1937053] - cfg80211: initialize rekey_data (Jarod Wilson) [1937053] - mac80211: fix return value of ieee80211_chandef_he_6ghz_oper (Jarod Wilson) [1937053] - rtw88: debug: Fix uninitialized memory in debugfs code (Jarod Wilson) [1937053] - brcmfmac: expose firmware config files through modinfo (Jarod Wilson) [1937053] - rtw88: coex: add feature to enhance HID coexistence performance (Jarod Wilson) [1937053] - rtw88: coex: upgrade coexistence A2DP mechanism (Jarod Wilson) [1937053] - rtw88: coex: add action for coexistence in hardware initial (Jarod Wilson) [1937053] - rtw88: coex: add function to avoid cck lock (Jarod Wilson) [1937053] - rtw88: coex: change the coexistence mechanism for WLAN connected (Jarod Wilson) [1937053] - rtw88: coex: change the coexistence mechanism for HID (Jarod Wilson) [1937053] - rtw88: coex: update AFH information while in free-run mode (Jarod Wilson) [1937053] - rtw88: coex: update the mechanism for A2DP + PAN (Jarod Wilson) [1937053] - rtw88: coex: add debug message (Jarod Wilson) [1937053] - rtw88: coex: run coexistence when WLAN entering/leaving LPS (Jarod Wilson) [1937053] - Revert "rtl8xxxu: Add Buffalo WI-U3-866D to list of supported devices" (Jarod Wilson) [1937053] - mt76: usb: fix crash on device removal (Jarod Wilson) [1937053] - ath11k: dp_rx: fix monitor status dma unmap direction (Jarod Wilson) [1937053] - ath10k: Constify static qmi structs (Jarod Wilson) [1937053] - ath10k: Release some resources in an error handling path (Jarod Wilson) [1937053] - ath10k: Fix an error handling path (Jarod Wilson) [1937053] - ath10k: Fix the parsing error in service available event (Jarod Wilson) [1937053] - ath11k: Fix an error handling path (Jarod Wilson) [1937053] - ath11k: Build check size of ath11k_skb_cb (Jarod Wilson) [1937053] - ath11k: Reset ath11k_skb_cb before setting new flags (Jarod Wilson) [1937053] - ath11k: Don't cast ath11k_skb_cb to ieee80211_tx_info.control (Jarod Wilson) [1937053] - ath11k: remove "ath11k_mac_get_ar_vdev_stop_status" references (Jarod Wilson) [1937053] - ath11k: peer delete synchronization with firmware (Jarod Wilson) [1937053] - ath11k: vdev delete synchronization with firmware (Jarod Wilson) [1937053] - mwifiex: Remove duplicated REG_PORT definition (Jarod Wilson) [1937053] - rtlwifi: rtl8723ae: avoid accessing the data mapped to streaming DMA (Jarod Wilson) [1937053] - rtlwifi: rtl8192de: avoid accessing the data mapped to streaming DMA (Jarod Wilson) [1937053] - rtlwifi: rtl8192ce: avoid accessing the data mapped to streaming DMA (Jarod Wilson) [1937053] - rtlwifi: rtl8188ee: avoid accessing the data mapped to streaming DMA (Jarod Wilson) [1937053] - mwifiex: Fix fall-through warnings for Clang (Jarod Wilson) [1937053] - brcmsmac: ampdu: Check BA window size before checking block ack (Jarod Wilson) [1937053] - brcmfmac: Fix incorrect type in assignment (Jarod Wilson) [1937053] - rtlwifi: rtl8192de: remove the useless value assignment (Jarod Wilson) [1937053] - brcmfmac: fix error return code in brcmf_cfg80211_connect() (Jarod Wilson) [1937053] - rtw88: wow: print key type when failing (Jarod Wilson) [1937053] - rtw88: coex: change the decode method from firmware (Jarod Wilson) [1937053] - rtw88: coex: remove unnecessary WLAN slot extend (Jarod Wilson) [1937053] - rtw88: coex: remove write scan bit to scoreboard in scan and connect notify (Jarod Wilson) [1937053] - rtw88: coex: fix BT performance drop during initial/power-on step (Jarod Wilson) [1937053] - rtw88: coex: Change antenna setting to enhance free-run performance (Jarod Wilson) [1937053] - rtw88: coex: update the TDMA parameter when leave LPS (Jarod Wilson) [1937053] - rtw88: coex: add the mechanism for RF4CE (Jarod Wilson) [1937053] - rtw88: coex: Add force flag for coexistence table function (Jarod Wilson) [1937053] - rtw88: coex: add write scoreboard action when WLAN in critical procedure (Jarod Wilson) [1937053] - rtw88: coex: remove unnecessary feature/function (Jarod Wilson) [1937053] - rtw88: coex: update TDMA settings for different beacon interval (Jarod Wilson) [1937053] - rtw88: add CCK_PD debug log (Jarod Wilson) [1937053] - rtw88: 8723d: add cck pd seetings (Jarod Wilson) [1937053] - ath11k: Fix the rx_filter flag setting for peer rssi stats (Jarod Wilson) [1937053] - ath10k: add target IRAM recovery feature support (Jarod Wilson) [1937053] - ath11k: Fix beamformee STS in HE cap (Jarod Wilson) [1937053] - ath11k: add processor_id based ring_selector logic (Jarod Wilson) [1937053] - mac80211: free sta in sta_info_insert_finish() on errors (Jarod Wilson) [1937053] - mac80211: minstrel: fix tx status processing corner case (Jarod Wilson) [1937053] - mac80211: minstrel: remove deferred sampling code (Jarod Wilson) [1937053] - mac80211: fix memory leak on filtered powersave frames (Jarod Wilson) [1937053] - rfkill: Fix use-after-free in rfkill_resume() (Jarod Wilson) [1937053] - nl80211: fix kernel-doc warning in the new SAE attribute (Jarod Wilson) [1937053] - cfg80211: remove WDS code (Jarod Wilson) [1937053] - mac80211: remove WDS-related code (Jarod Wilson) [1937053] - rt2x00: remove WDS code (Jarod Wilson) [1937053] - b43: remove WDS code (Jarod Wilson) [1937053] - ath9k: remove WDS code (Jarod Wilson) [1937053] - rtw88: coex: simplify the setting and condition about WLAN TX limitation (Jarod Wilson) [1937053] - rtw88: coex: add debug message (Jarod Wilson) [1937053] - rtw88: coex: update WLAN 5G AFH parameter for 8822b (Jarod Wilson) [1937053] - rtw88: coex: change the parameter for A2DP when WLAN connecting (Jarod Wilson) [1937053] - rtw88: coex: modified for BT info notify (Jarod Wilson) [1937053] - rtw88: coex: add separate flag for manual control (Jarod Wilson) [1937053] - rtw88: coex: Modify the timing of set_ant_path/set_rf_para (Jarod Wilson) [1937053] - rtw88: coex: coding style adjustment (Jarod Wilson) [1937053] - rtw88: coex: reduce magic number (Jarod Wilson) [1937053] - rtw88: coex: update coex parameter to improve A2DP quality (Jarod Wilson) [1937053] - rtw88: coex: fixed some wrong register definition and setting (Jarod Wilson) [1937053] - rtlwifi: fix spelling typo of workaround (Jarod Wilson) [1937053] - mwifiex: pcie: skip cancel_work_sync() on reset failure path (Jarod Wilson) [1937053] - mwifiex: update comment for shutdown_sw()/reinit_sw() to reflect current state (Jarod Wilson) [1937053] - mwifiex: fix mwifiex_shutdown_sw() causing sw reset failure (Jarod Wilson) [1937053] - ath11k: Handle errors if peer creation fails (Jarod Wilson) [1937053] - ath9k: work around false-positive gcc warning (Jarod Wilson) [1937053] - wireless: remove CONFIG_WIRELESS_WDS (Jarod Wilson) [1937053] - brcmfmac: Fix memory leak for unpaired brcmf_{alloc/free} (Jarod Wilson) [1937053] - rtlwifi: rtl8821ae: Place braces around empty if() body (Jarod Wilson) [1937053] - rtlwifi: rtl8821ae: phy: Remove a couple of unused variables (Jarod Wilson) [1937053] - rtlwifi: rtl8723be: Remove set but unused variable 'cck_highpwr' (Jarod Wilson) [1937053] - rtlwifi: halbtc8821a2ant: Remove a bunch of unused variables (Jarod Wilson) [1937053] - rtlwifi: rtl8188ee: Remove set but unused variable 'reg_ea4' (Jarod Wilson) [1937053] - rtlwifi: rtl8723be: Remove set but unused variable 'lc_cal' (Jarod Wilson) [1937053] - rtlwifi: halbtc8821a1ant: Remove set but unused variable 'wifi_rssi_state' (Jarod Wilson) [1937053] - rtlwifi: phy: Remove set but unused variable 'bbvalue' (Jarod Wilson) [1937053] - rtlwifi: halbtc8723b2ant: Remove a bunch of set but unused variables (Jarod Wilson) [1937053] - rtlwifi: rtl8192cu: trx: Demote clear abuse of kernel-doc format (Jarod Wilson) [1937053] - rtlwifi: rtl8192cu: mac: Fix some missing/ill-documented function parameters (Jarod Wilson) [1937053] - rtw88: rtw8822c: Remove unused variable 'corr_val' (Jarod Wilson) [1937053] - mwifiex: pcie: Remove a couple of unchecked 'ret's (Jarod Wilson) [1937053] - wl1251: cmd: Rename 'len' to 'buf_len' in the documentation (Jarod Wilson) [1937053] - brcmfmac: fweh: Add missing description for 'gfp' (Jarod Wilson) [1937053] - brcmfmac: pcie: Provide description for missing function parameter 'devinfo' (Jarod Wilson) [1937053] - brcmfmac: bcmsdh: Fix description for function parameter 'pktlist' (Jarod Wilson) [1937053] - rt2x00: save survey for every channel visited (Jarod Wilson) [1937053] - rtlwifi: Remove in_interrupt() usage in halbtc_send_bt_mp_operation() (Jarod Wilson) [1937053] - rtlwifi: Remove in_interrupt() usage in is_any_client_connect_to_ap(). (Jarod Wilson) [1937053] - rtl8xxxu: Add Buffalo WI-U3-866D to list of supported devices (Jarod Wilson) [1937053] - rtw88: decide lps deep mode from firmware feature. (Jarod Wilson) [1937053] - rtw88: add C2H response for checking firmware leave lps (Jarod Wilson) [1937053] - rtw88: store firmware feature in firmware header (Jarod Wilson) [1937053] - rtw88: sync the power state between driver and firmware (Jarod Wilson) [1937053] - rtw88: coex: separate BLE HID profile from BLE profile (Jarod Wilson) [1937053] - rtlwifi: Fix non-canonical address access issues (Jarod Wilson) [1937053] - brcmfmac: fix SDIO access for big-endian host (Jarod Wilson) [1937053] - rtw88: remove extraneous 'const' qualifier (Jarod Wilson) [1937053] - rtlwifi: fix -Wpointer-sign warning (Jarod Wilson) [1937053] - ath11k: fix ZERO address in probe request (Jarod Wilson) [1937053] - ath9k: dynack: Demote non-compliant function header (Jarod Wilson) [1937053] - ath9k: ar5008_phy: Demote half completed function headers (Jarod Wilson) [1937053] - ath9k: ar9003_2p2_initvals: Remove unused const variables (Jarod Wilson) [1937053] - ath9k: ar9485_initvals: Remove unused const variable 'ar9485_fast_clock_1_1_baseband_postamble' (Jarod Wilson) [1937053] - ath9k: ar9340_initvals: Remove unused const variable 'ar9340Modes_ub124_tx_gain_table_1p0' (Jarod Wilson) [1937053] - ath9k: ar9330_1p1_initvals: Remove unused const variable 'ar9331_common_tx_gain_offset1_1' (Jarod Wilson) [1937053] - ath: dfs_pri_detector: Demote zero/half completed kernel-doc headers (Jarod Wilson) [1937053] - ath: dfs_pattern_detector: Fix some function kernel-doc headers (Jarod Wilson) [1937053] - ath: regd: Provide description for ath_reg_apply_ir_flags's 'reg' param (Jarod Wilson) [1937053] - ath11k: Add new dfs region name for JP (Jarod Wilson) [1937053] - ath11k: fix wmi init configuration (Jarod Wilson) [1937053] - ath11k: Fix the hal descriptor mask (Jarod Wilson) [1937053] - ath11k: Fix single phy hw mode (Jarod Wilson) [1937053] - ath11k: Fix number of rules in filtered ETSI regdomain (Jarod Wilson) [1937053] - ath11k: Remove unused param from wmi_mgmt_params (Jarod Wilson) [1937053] - ath11k: Initialize complete alpha2 for regulatory change (Jarod Wilson) [1937053] - ath11k: cold boot calibration support (Jarod Wilson) [1937053] - ath11k: search DT for qcom,ath11k-calibration-variant (Jarod Wilson) [1937053] - ath11k: Remove unnecessary data sync to cpu on monitor buffer (Jarod Wilson) [1937053] - ath10k: cancel rx worker in hif_stop for SDIO (Jarod Wilson) [1937053] - ath10k: Don't iterate over not-sdata-in-driver interfaces. (Jarod Wilson) [1937053] - ath10k: fix compilation warning (Jarod Wilson) [1937053] - mac80211: assure that certain drivers adhere to DONT_REORDER flag (Jarod Wilson) [1937053] - mac80211: don't overwrite QoS TID of injected frames (Jarod Wilson) [1937053] - mac80211: adhere to Tx control flag that prevents frame reordering (Jarod Wilson) [1937053] - mac80211: add radiotap flag to assure frames are not reordered (Jarod Wilson) [1937053] - mac80211: save HE oper info in BSS config for mesh (Jarod Wilson) [1937053] - cfg80211: add support to configure HE MCS for beacon rate (Jarod Wilson) [1937053] - nl80211: fix beacon tx rate mask validation (Jarod Wilson) [1937053] - cfg80211: Add support to calculate and report 4096-QAM HE rates (Jarod Wilson) [1937053] - cfg80211: Add support to configure SAE PWE value to drivers (Jarod Wilson) [1937053] - ieee80211: Add definition for WFA DPP (Jarod Wilson) [1937053] - mac80211: use semicolons rather than commas to separate statements (Jarod Wilson) [1937053] - ath11k: FILS discovery and unsolicited broadcast probe response support (Jarod Wilson) [1937053] - ath10k: sdio: remove redundant check in for loop (Jarod Wilson) [1937053] - mac80211: add KCOV remote annotations to incoming frame processing (Jarod Wilson) [1937053] - rtw88: fix fw_fifo_addr check (Jarod Wilson) [1937053] - mac80211: don't require VHT elements for HE on 2.4 GHz (Jarod Wilson) [1937053] - cfg80211: regulatory: Fix inconsistent format argument (Jarod Wilson) [1937053] - mac80211: fix kernel-doc markups (Jarod Wilson) [1937053] - mac80211: always wind down STA state (Jarod Wilson) [1937053] - cfg80211: initialize wdev data earlier (Jarod Wilson) [1937053] - mac80211: fix use of skb payload instead of header (Jarod Wilson) [1937053] - mac80211: fix regression where EAPOL frames were sent in plaintext (Jarod Wilson) [1937053] - ath11k: remove repeated words in comments and warnings (Jarod Wilson) [1937053] - ath10k: ath10k_pci_init_irq(): workaround for checkpatch fallthrough warning (Jarod Wilson) [1937053] - ath10k: remove repeated words in comments (Jarod Wilson) [1937053] - nl80211: docs: add a description for s1g_cap parameter (Jarod Wilson) [1937053] - mac80211: use new function dev_fetch_sw_netstats (Jarod Wilson) [1937053] - rtlwifi: rtl8192se: remove duplicated legacy_httxpowerdiff (Jarod Wilson) [1937053] - ath11k: Fix memory leak on error path (Jarod Wilson) [1937053] - mac80211: copy configured beacon tx rate to driver (Jarod Wilson) [1937053] - cfg80211: only allow S1G channels on S1G band (Jarod Wilson) [1937053] - mac80211: initialize last_rate for S1G STAs (Jarod Wilson) [1937053] - mac80211: handle lack of sband->bitrates in rates (Jarod Wilson) [1937053] - mac80211: avoid processing non-S1G elements on S1G band (Jarod Wilson) [1937053] - nl80211: fix non-split wiphy information (Jarod Wilson) [1937053] - nl80211: reduce non-split wiphy dump size (Jarod Wilson) [1937053] - ath11k: remove unnecessary casts to u32 (Jarod Wilson) [1937053] - ath11k: enable idle power save mode (Jarod Wilson) [1937053] - ath11k: start a timer to update HP for CE pipe 4 (Jarod Wilson) [1937053] - ath11k: start a timer to update REO cmd ring (Jarod Wilson) [1937053] - ath11k: start a timer to update TCL HP (Jarod Wilson) [1937053] - ath11k: set WMI pipe credit to 1 for QCA6390 (Jarod Wilson) [1937053] - ath11k: enable shadow register configuration and access (Jarod Wilson) [1937053] - ath11k: read and write registers below unwindowed address (Jarod Wilson) [1937053] - ath11k: debugfs: fix crash during rmmod (Jarod Wilson) [1937053] - ath11k: fix warning caused by lockdep_assert_held (Jarod Wilson) [1937053] - ath11k: mac: remove unused conf_mutex to solve a deadlock (Jarod Wilson) [1937053] - ath11k: pci: fix rmmod crash (Jarod Wilson) [1937053] - ath11k: add packet log support for QCA6390 (Jarod Wilson) [1937053] - ath11k: Use GFP_ATOMIC instead of GFP_KERNEL in idr_alloc (Jarod Wilson) [1937053] - ath11k: Use GFP_ATOMIC instead of GFP_KERNEL in ath11k_dp_htt_get_ppdu_desc (Jarod Wilson) [1937053] - ath11k: change to disable softirqs for ath11k_regd_update to solve deadlock (Jarod Wilson) [1937053] - ath11k: disable monitor mode on QCA6390 (Jarod Wilson) [1937053] - ath11k: pci: check TCSR_SOC_HW_VERSION (Jarod Wilson) [1937053] - ath11k: add interface_modes to hw_params (Jarod Wilson) [1937053] - ath11k: fix AP mode for QCA6390 (Jarod Wilson) [1937053] - ath11k: support loading ELF board files (Jarod Wilson) [1937053] - ath11k: Correctly check errors for calls to debugfs_create_dir() (Jarod Wilson) [1937053] - ath11k: mac: fix parenthesis alignment (Jarod Wilson) [1937053] - rtw88: pci: Power cycle device during shutdown (Jarod Wilson) [1937053] - brcmfmac: Fix warning message after dongle setup failed (Jarod Wilson) [1937053] - brcmfmac: Fix warning when hitting FW crash with flow control feature (Jarod Wilson) [1937053] - net: rtlwifi: Replace in_interrupt() for context detection (Jarod Wilson) [1937053] - net: rtlwifi: Remove in_interrupt() from debug macro (Jarod Wilson) [1937053] - net: rtlwifi: Remove void* casts related to delayed work (Jarod Wilson) [1937053] - net: mwifiex: Use netif_rx_any_context(). (Jarod Wilson) [1937053] - net: iwlwifi: Remove in_interrupt() from tracing macro. (Jarod Wilson) [1937053] - net: ipw2x00,iwlegacy,iwlwifi: Remove in_interrupt() from debug macros (Jarod Wilson) [1937053] - net: brcmfmac: Convey allocation mode as argument (Jarod Wilson) [1937053] - net: brcmfmac: Convey execution context via argument to brcmf_netif_rx() (Jarod Wilson) [1937053] - net: brcmfmac: Replace in_interrupt() (Jarod Wilson) [1937053] - ath11k: Move non-fatal warn logs to dbg level (Jarod Wilson) [1937053] - ath9k: Remove set but not used variable (Jarod Wilson) [1937053] - rtw88: show current regulatory in tx power table (Jarod Wilson) [1937053] - rtw88: add dump fw crash log (Jarod Wilson) [1937053] - rtw88: add dump firmware fifo support (Jarod Wilson) [1937053] - rtw88: handle and recover when firmware crash (Jarod Wilson) [1937053] - rtw88: increse the size of rx buffer size (Jarod Wilson) [1937053] - nl80211: extend support to config spatial reuse parameter set (Jarod Wilson) [1937053] - mac80211: Support not iterating over not-sdata-in-driver ifaces (Jarod Wilson) [1937053] - mac80211: fix some more kernel-doc in mesh (Jarod Wilson) [1937053] - cfg80211: regulatory: remove a bogus initialization (Jarod Wilson) [1937053] - mac80211: fix regression in sta connection monitor (Jarod Wilson) [1937053] - nl80211: include frequency offset in survey info (Jarod Wilson) [1937053] - mac80211: support S1G association (Jarod Wilson) [1937053] - mac80211: receive and process S1G beacons (Jarod Wilson) [1937053] - mac80211: avoid rate init for S1G band (Jarod Wilson) [1937053] - mac80211: handle S1G low rates (Jarod Wilson) [1937053] - mac80211: don't calculate duration for S1G (Jarod Wilson) [1937053] - mac80211: encode listen interval for S1G (Jarod Wilson) [1937053] - cfg80211: handle Association Response from S1G STA (Jarod Wilson) [1937053] - mac80211: convert S1G beacon to scan results (Jarod Wilson) [1937053] - cfg80211: parse S1G Operation element for BSS channel (Jarod Wilson) [1937053] - cfg80211: convert S1G beacon to scan results (Jarod Wilson) [1937053] - mac80211: support S1G STA capabilities (Jarod Wilson) [1937053] - nl80211: support S1G capability overrides in assoc (Jarod Wilson) [1937053] - mac80211: s1g: choose scanning width based on frequency (Jarod Wilson) [1937053] - mac80211: get correct default channel width for S1G (Jarod Wilson) [1937053] - wireless: radiotap: fix some kernel-doc (Jarod Wilson) [1937053] - mac80211: fix some missing kernel-doc (Jarod Wilson) [1937053] - mac80211: Inform AP when returning operating channel (Jarod Wilson) [1937053] - ath11k: fix undefined reference to 'ath11k_debugfs_htt_ext_stats_handler' (Jarod Wilson) [1937053] - mt76: mt7663s: remove max_tx_fragments limitation (Jarod Wilson) [1937053] - mt76: Convert to DEFINE_SHOW_ATTRIBUTE (Jarod Wilson) [1937053] - mt76: mt7915: add offchannel condition in switch channel command (Jarod Wilson) [1937053] - mt76: mt7915: convert to use le16_add_cpu() (Jarod Wilson) [1937053] - mt76: Fix unsigned expressions compared with zero (Jarod Wilson) [1937053] - mt76: mt7915: fix possible memory leak in mt7915_mcu_add_beacon (Jarod Wilson) [1937053] - mt76: mt76x0: Move tables used only by init.c to their own header file (Jarod Wilson) [1937053] - mt76: Use fallthrough pseudo-keyword (Jarod Wilson) [1937053] - mt76: mt7615: unlock dfs bands (Jarod Wilson) [1937053] - mt76: mt7663: check isr read return value in mt7663s_rx_work (Jarod Wilson) [1937053] - mt76: mt7663s: introduce sdio tx aggregation (Jarod Wilson) [1937053] - mt76: mt7663s: fix possible quota leak in mt7663s_refill_sched_quota (Jarod Wilson) [1937053] - mt76: move pad estimation out of mt76_skb_adjust_pad (Jarod Wilson) [1937053] - mt76: mt7663s: introduce __mt7663s_xmit_queue routine (Jarod Wilson) [1937053] - mt76: mt7663s: split mt7663s_tx_update_sched in mt7663s_tx_{pick,update}_quota (Jarod Wilson) [1937053] - mt76: mt7663s: do not use altx for ctl/mgmt traffic (Jarod Wilson) [1937053] - mt76: mt7622: fix fw hang on mt7622 (Jarod Wilson) [1937053] - mt76: mt7615: fix VHT LDPC capability (Jarod Wilson) [1937053] - mt76: mt7615: Remove set but unused variable 'index' (Jarod Wilson) [1937053] - mt76: remove retry_q from struct mt76_txq and related code (Jarod Wilson) [1937053] - mt76: move txwi handling code to dma.c, since it is mmio specific (Jarod Wilson) [1937053] - mt76: mt7915: fix queue/tid mapping for airtime reporting (Jarod Wilson) [1937053] - mt76: mt7915: simplify mt7915_lmac_mapping (Jarod Wilson) [1937053] - mt76: dma: cache dma map address/len in struct mt76_queue_entry (Jarod Wilson) [1937053] - mt76: mt7915: fix HE BSS info (Jarod Wilson) [1937053] - mt76: convert from tx tasklet to tx worker thread (Jarod Wilson) [1937053] - mt76: add utility functions for deferring work to a kernel thread (Jarod Wilson) [1937053] - mt76: testmode: add a limit for queued tx_frames packets (Jarod Wilson) [1937053] - mt76: mt7615: fix antenna selection for testmode tx_frames (Jarod Wilson) [1937053] - mt76: mt7615: fix MT_ANT_SWITCH_CON register definition (Jarod Wilson) [1937053] - mt76: mt7915: fix unexpected firmware mode (Jarod Wilson) [1937053] - mt76: mt76x02: tune tx ring size (Jarod Wilson) [1937053] - mt76: mt7603: tune tx ring size (Jarod Wilson) [1937053] - mt76: remove struct mt76_sw_queue (Jarod Wilson) [1937053] - mt76: rely on AQL for burst size limits on tx queueing (Jarod Wilson) [1937053] - mt76: remove swq from struct mt76_sw_queue (Jarod Wilson) [1937053] - mt76: remove qid argument to drv->tx_complete_skb (Jarod Wilson) [1937053] - mt76: unify queue tx cleanup code (Jarod Wilson) [1937053] - mt76: sdio: fix use of q->head and q->tail (Jarod Wilson) [1937053] - mt76: usb: fix use of q->head and q->tail (Jarod Wilson) [1937053] - mt76: mt7603: check for single-stream EEPROM configuration (Jarod Wilson) [1937053] - mt76: add memory barrier to DMA queue kick (Jarod Wilson) [1937053] - mt76: mt7915: add support for accessing mapped registers via bus ops (Jarod Wilson) [1937053] - mt76: mt7615: significantly reduce interrupt load (Jarod Wilson) [1937053] - mt76: mt7915: significantly reduce interrupt load (Jarod Wilson) [1937053] - mt76: mt7915: schedule tx tasklet in mt7915_mac_tx_free (Jarod Wilson) [1937053] - mt76: dma: update q->queued immediately on cleanup (Jarod Wilson) [1937053] - mt76: mt7915: optimize mt7915_mac_sta_poll (Jarod Wilson) [1937053] - mt76: mt7615: fix reading airtime statistics (Jarod Wilson) [1937053] - mt76: mt7663u: fix dma header initialization (Jarod Wilson) [1937053] - mt76: fix a possible NULL pointer dereference in mt76_testmode_dump (Jarod Wilson) [1937053] - mt76: mt7615: fix a possible NULL pointer dereference in mt7615_pm_wake_work (Jarod Wilson) [1937053] - mt76: mt7615: fix possible memory leak in mt7615_tm_set_tx_power (Jarod Wilson) [1937053] - mt76: mt7663s: fix unable to handle kernel paging request (Jarod Wilson) [1937053] - mt76: mt7663s: fix resume failure (Jarod Wilson) [1937053] - mt76: mt7663s: use NULL instead of 0 in sdio code (Jarod Wilson) [1937053] - mt76: mt7615: release mutex in mt7615_reset_test_set (Jarod Wilson) [1937053] - mt76: mt7915: add Tx A-MSDU offloading support (Jarod Wilson) [1937053] - mt76: mt7915: add missing flags in WMM parameter settings (Jarod Wilson) [1937053] - mt76: mt7915: simplify aggregation session check (Jarod Wilson) [1937053] - mt76: mt7615: remove mtxq->agg_ssn assignment (Jarod Wilson) [1937053] - mt76: move mt76_check_agg_ssn to driver tx_prepare calls (Jarod Wilson) [1937053] - mt76: mt7915: enable offloading of sequence number assignment (Jarod Wilson) [1937053] - mt76: mt7915: increase tx retry count (Jarod Wilson) [1937053] - mt76: mt7915: clean up station stats polling and rate control update (Jarod Wilson) [1937053] - mt76: mt7915: do not do any work in napi poll after calling napi_complete_done() (Jarod Wilson) [1937053] - mt76: mt7615: do not do any work in napi poll after calling napi_complete_done() (Jarod Wilson) [1937053] - mt76: mt76x02: clean up and fix interrupt masking in the irq handler (Jarod Wilson) [1937053] - mt76: mt7615: only clear unmasked interrupts in irq tasklet (Jarod Wilson) [1937053] - mt76: mt7915: clean up and fix interrupt masking in the irq handler (Jarod Wilson) [1937053] - mt76: set interrupt mask register to 0 before requesting irq (Jarod Wilson) [1937053] - mt76: fix double DMA unmap of the first buffer on 7615/7915 (Jarod Wilson) [1937053] - mt76: mt7915: fix crash on tx rate report for invalid stations (Jarod Wilson) [1937053] - mt76: mt7915: enable U-APSD on AP side (Jarod Wilson) [1937053] - mt76: mt76s: get rid of unused variable (Jarod Wilson) [1937053] - mt76: mt76s: move tx/rx processing in 2 separate works (Jarod Wilson) [1937053] - mt76: mt76s: move status processing in txrx wq (Jarod Wilson) [1937053] - mt76: mt7663s: move rx processing in txrx wq (Jarod Wilson) [1937053] - mt76: mt76s: move tx processing in a dedicated wq (Jarod Wilson) [1937053] - mt76: mt76s: fix oom in mt76s_tx_queue_skb_raw (Jarod Wilson) [1937053] - mt76: mt7615: reschedule runtime-pm receiving a tx interrupt (Jarod Wilson) [1937053] - mt76: do not inject packets if MT76_STATE_PM is set (Jarod Wilson) [1937053] - mt76: mt7615: hold mt76 lock queueing wd in mt7615_queue_key_update (Jarod Wilson) [1937053] - mt76: mt7663s: move drv_own/fw_own in mt7615_mcu_ops (Jarod Wilson) [1937053] - mt76: mt7615: move drv_own/fw_own in mt7615_mcu_ops (Jarod Wilson) [1937053] - mt76: mt7615: register ext_phy if DBDC is detected (Jarod Wilson) [1937053] - brcmfmac: check return value of driver_for_each_device() (Jarod Wilson) [1937053] - ath11k: Remove unused function ath11k_htc_restore_tx_skb() (Jarod Wilson) [1937053] - ath11k: remove redundant num_keep_alive_pattern assignment (Jarod Wilson) [1937053] - ath11k: wmi: remove redundant configuration values from init (Jarod Wilson) [1937053] - ath11k: Add support spectral scan for IPQ6018 (Jarod Wilson) [1937053] - ath11k: debugfs: move some function declarations to correct header files (Jarod Wilson) [1937053] - ath11k: rename debug_htt_stats.[c|h] to debugfs_htt_stats.[c|h] (Jarod Wilson) [1937053] - ath11k: debugfs: use ath11k_debugfs_ prefix (Jarod Wilson) [1937053] - ath11k: refactor debugfs code into debugfs.c (Jarod Wilson) [1937053] - ath10k: Use bdf calibration variant for snoc targets (Jarod Wilson) [1937053] - rtlwifi: rtl8723be: use true,false for bool variable large_cfo_hit (Jarod Wilson) [1937053] - rtlwifi: rtl8821ae: use true,false for bool variable large_cfo_hit (Jarod Wilson) [1937053] - rtlwifi: rtl8192ee: use true,false for bool variable large_cfo_hit (Jarod Wilson) [1937053] - rtlwifi: Use ffs in _phy_calculate_bit_shift (Jarod Wilson) [1937053] - mt7601u: Convert to DEFINE_SHOW_ATTRIBUTE (Jarod Wilson) [1937053] - ath11k: Remove rproc references from common core layer (Jarod Wilson) [1937053] - ath9k: hif_usb: fix race condition between usb_get_urb() and usb_kill_anchored_urbs() (Jarod Wilson) [1937053] - rtlwifi: rtl8723be: fix comparison to bool warning in hw.c (Jarod Wilson) [1937053] - rtlwifi: rtl8192de: fix comparison to bool warning in hw.c (Jarod Wilson) [1937053] - rtlwifi: rtl8192ce: fix comparison to bool warning in hw.c (Jarod Wilson) [1937053] - rtlwifi: rtl8192cu: fix comparison to bool warning in hw.c (Jarod Wilson) [1937053] - rtlwifi: rtl8821ae: fix comparison to bool warning in phy.c (Jarod Wilson) [1937053] - rtlwifi: rtl8821ae: fix comparison to bool warning in hw.c (Jarod Wilson) [1937053] - rtlwifi: rtl8192cu: fix comparison to bool warning in mac.c (Jarod Wilson) [1937053] - rtlwifi: rtl8192c: fix comparison to bool warning in phy_common.c (Jarod Wilson) [1937053] - rtlwifi: rtl8192ee: fix comparison to bool warning in hw.c (Jarod Wilson) [1937053] - mac80211: fix some encapsulation offload kernel-doc (Jarod Wilson) [1937053] - cfg80211: add missing kernel-doc for S1G band capabilities (Jarod Wilson) [1937053] - mac80211: Unsolicited broadcast probe response support (Jarod Wilson) [1937053] - nl80211: Unsolicited broadcast probe response support (Jarod Wilson) [1937053] - mac80211: Add FILS discovery support (Jarod Wilson) [1937053] - nl80211: Add FILS discovery support (Jarod Wilson) [1937053] - mac80211: allow bigger A-MSDU sizes in VHT, even if HT is limited (Jarod Wilson) [1937053] - nl80211: support setting S1G channels (Jarod Wilson) [1937053] - nl80211: correctly validate S1G beacon head (Jarod Wilson) [1937053] - cfg80211: regulatory: handle S1G channels (Jarod Wilson) [1937053] - nl80211: advertise supported channel width in S1G (Jarod Wilson) [1937053] - ieee80211: redefine S1G bits with GENMASK (Jarod Wilson) [1937053] - mac80211: reorganize code to remove a forward declaration (Jarod Wilson) [1937053] - mac80211: extend ieee80211_tx_status_ext to support bulk free (Jarod Wilson) [1937053] - mac80211: support using ieee80211_tx_status_ext to free skbs without status info (Jarod Wilson) [1937053] - mac80211: unify 802.3 (offload) and 802.11 tx status codepath (Jarod Wilson) [1937053] - mac80211: optimize station connection monitor (Jarod Wilson) [1937053] - mac80211: notify the driver when a sta uses 4-address mode (Jarod Wilson) [1937053] - mac80211: swap NEED_TXPROCESSING and HW_80211_ENCAP tx flags (Jarod Wilson) [1937053] - mac80211: remove tx status call to ieee80211_sta_register_airtime (Jarod Wilson) [1937053] - mac80211: reduce duplication in tx status functions (Jarod Wilson) [1937053] - mac80211: rework tx encapsulation offload API (Jarod Wilson) [1937053] - mac80211: set info->control.hw_key for encap offload packets (Jarod Wilson) [1937053] - mac80211: skip encap offload for tx multicast/control packets (Jarod Wilson) [1937053] - mac80211: check and refresh aggregation session in encap offload tx (Jarod Wilson) [1937053] - mac80211: add missing queue/hash initialization to 802.3 xmit (Jarod Wilson) [1937053] - cfg80211: add more comments for ap_isolate in bss_parameters (Jarod Wilson) [1937053] - lib80211: Remove unused macro DRV_NAME (Jarod Wilson) [1937053] - rtlwifi: rtl8723ae: fix comparison pointer to bool warning in phy.c (Jarod Wilson) [1937053] - rtlwifi: rtl8723ae: fix comparison pointer to bool warning in trx.c (Jarod Wilson) [1937053] - rtlwifi: rtl8723ae: fix comparison pointer to bool warning in rf.c (Jarod Wilson) [1937053] - rtlwifi: rtl8188ee: fix comparison pointer to bool warning in hw.c (Jarod Wilson) [1937053] - rtlwifi: rtl8188ee: fix comparison pointer to bool warning in trx.c (Jarod Wilson) [1937053] - rtlwifi: rtl8188ee: fix comparison pointer to bool warning in phy.c (Jarod Wilson) [1937053] - rtw88: rtw8822c: eliminate code duplication, use native swap() function (Jarod Wilson) [1937053] - brcmsmac: main: Eliminate empty brcms_c_down_del_timer() (Jarod Wilson) [1937053] - brcmsmac: phy_lcn: Remove unused variable 'lcnphy_rx_iqcomp_table_rev0' (Jarod Wilson) [1937053] - brcmsmac: phytbl_lcn: Remove unused array 'dot11lcn_gain_tbl_rev1' (Jarod Wilson) [1937053] - brcmfmac: support SAE authentication offload in AP mode (Jarod Wilson) [1937053] - brcmfmac: support 4-way handshake offloading for WPA/WPA2-PSK in AP mode (Jarod Wilson) [1937053] - ath10k: Remove unused macro ATH10K_ROC_TIMEOUT_HZ (Jarod Wilson) [1937053] - ath11k: Remove unused inline function htt_htt_stats_debug_dump() (Jarod Wilson) [1937053] - ath11k: fix link error when CONFIG_REMOTEPROC is disabled (Jarod Wilson) [1937053] - ath11k: remove calling ath11k_init_hw_params() second time (Jarod Wilson) [1937053] - ath11k: add raw mode and software crypto support (Jarod Wilson) [1937053] - ath11k: add ipq6018 support (Jarod Wilson) [1937053] - ath11k: move target ce configs to hw_params (Jarod Wilson) [1937053] - net: wireless: drop bogus CRYPTO_xxx Kconfig selects (Jarod Wilson) [1937053] - rtlwifi: switch from 'pci_' to 'dma_' API (Jarod Wilson) [1937053] - brcmsmac: fix memory leak in wlc_phy_attach_lcnphy (Jarod Wilson) [1937053] - rtl8xxxu: prevent potential memory leak (Jarod Wilson) [1937053] - rtlwifi: rtl8723ae: Delete a stray tab (Jarod Wilson) [1937053] - ath11k: Add peer max mpdu parameter in peer assoc command (Jarod Wilson) [1937053] - ath10k: Add support for chain1 regulator supply voting (Jarod Wilson) [1937053] - brcmfmac: set F2 SDIO block size to 128 bytes for BCM4329 (Jarod Wilson) [1937053] - brcmfmac: drop chip id from debug messages (Jarod Wilson) [1937053] - brcmfmac: increase F2 watermark for BCM4329 (Jarod Wilson) [1937053] - mwifiex: sdio: Fix -Wunused-const-variable warnings (Jarod Wilson) [1937053] - mwifiex: wmm: Fix -Wunused-const-variable warnings (Jarod Wilson) [1937053] - mt7601u: Use fallthrough pseudo-keyword (Jarod Wilson) [1937053] - rtlwifi: Remove temporary definition of RT_TRACE (Jarod Wilson) [1937053] - rtlwifi: rtl8821ae: Rename RT_TRACE to rtl_dbg (Jarod Wilson) [1937053] - brcmsmac: phytbl_n: Remove a few unused arrays (Jarod Wilson) [1937053] - brcmsmac: phytbl_lcn: Remove unused array 'dot11lcnphytbl_rx_gain_info_rev1' (Jarod Wilson) [1937053] - brcmsmac: phy_n: Remove a bunch of unused variables (Jarod Wilson) [1937053] - brcmsmac: phy_lcn: Remove a bunch of unused variables (Jarod Wilson) [1937053] - prism54: isl_ioctl: Remove unused variable 'j' (Jarod Wilson) [1937053] - rtw88: debug: Remove unused variables 'val' (Jarod Wilson) [1937053] - brcmfmac: fwsignal: Finish documenting 'brcmf_fws_mac_descriptor' (Jarod Wilson) [1937053] - brcmsmac: phy_cmn: Remove a unused variables 'vbat' and 'temp' (Jarod Wilson) [1937053] - brcmfmac: p2p: Fix a couple of function headers (Jarod Wilson) [1937053] - brcmsmac: ampdu: Remove a couple set but unused variables (Jarod Wilson) [1937053] - mwifiex: pcie: Move tables to the only place they're used (Jarod Wilson) [1937053] - ath10k: Get rid of "per_ce_irq" hw param (Jarod Wilson) [1937053] - ath10k: Keep track of which interrupts fired, don't poll them (Jarod Wilson) [1937053] - ath10k: Add interrupt summary based CE processing (Jarod Wilson) [1937053] - rtlwifi: Use fallthrough pseudo-keyword (Jarod Wilson) [1937053] - rtl818x_pci: switch from 'pci_' to 'dma_' API (Jarod Wilson) [1937053] - p54: avoid accessing the data mapped to streaming DMA (Jarod Wilson) [1937053] - rtlwifi: rtl8192c: phy_common: Remove unused variable 'bbvalue' (Jarod Wilson) [1937053] - brcmfmac: fwsignal: Remove unused variable 'brcmf_fws_prio2fifo' (Jarod Wilson) [1937053] - b43: phy_ht: Remove 9 year old TODO (Jarod Wilson) [1937053] - brcmfmac: btcoex: Update 'brcmf_btcoex_state' and demote others (Jarod Wilson) [1937053] - brcmfmac: firmware: Demote seemingly unintentional kernel-doc header (Jarod Wilson) [1937053] - brcmsmac: main: Remove a bunch of unused variables (Jarod Wilson) [1937053] - brcmfmac: p2p: Fix a bunch of function docs (Jarod Wilson) [1937053] - brcmsmac: ampdu: Remove a bunch of unused variables (Jarod Wilson) [1937053] - brcmfmac: p2p: Deal with set but unused variables (Jarod Wilson) [1937053] - mt7601u: phy: Fix misnaming when documented function parameter 'dac' (Jarod Wilson) [1937053] - rtlwifi: rtl8723-common: Rename RT_TRACE to rtl_dbg (Jarod Wilson) [1937053] - rtlwifi: rtl8723be Rename RT_TRACE to rtl_dbg (Jarod Wilson) [1937053] - rtlwifi: rtl8723ae Rename RT_TRACE to rtl_dbg (Jarod Wilson) [1937053] - rtlwifi: rtl8192se Rename RT_TRACE to rtl_dbg (Jarod Wilson) [1937053] - rtlwifi: rtl8192ee: Rename RT_TRACE to rtl_dbg (Jarod Wilson) [1937053] - rtlwifi: rtl8192de: Rename RT_TRACE to rtl_dbg (Jarod Wilson) [1937053] - rtlwifi: rtl8192cu: Rename RT_TRACE to rtl_dbg (Jarod Wilson) [1937053] - rtlwifi: rtl8192ce: Rename RT_TRACE to rtl_dbg (Jarod Wilson) [1937053] - rtlwifi: rtl8192-common: Rename RT_TRACE to rtl_dbg (Jarod Wilson) [1937053] - rtlwifi: rtl8188ee: Rename RT_TRACE to rtl_dbg (Jarod Wilson) [1937053] - rtlwifi: btcoexist: Replace RT_TRACE with rtl_dbg (Jarod Wilson) [1937053] - rtlwifi: Replace RT_TRACE with rtl_dbg (Jarod Wilson) [1937053] - rtlwifi: Start changing RT_TRACE into rtl_dbg (Jarod Wilson) [1937053] - ath10k: wmi: Use struct_size() helper in ath10k_wmi_alloc_skb() (Jarod Wilson) [1937053] - ath11k: fix missing error check on call to ath11k_pci_get_user_msi_assignment (Jarod Wilson) [1937053] - ath11k: fix spelling mistake "moniter" -> "monitor" (Jarod Wilson) [1937053] - nl80211: support SAE authentication offload in AP mode (Jarod Wilson) [1937053] - atmel: Use fallthrough pseudo-keyword (Jarod Wilson) [1937053] - b43: Use fallthrough pseudo-keyword (Jarod Wilson) [1937053] - brcmfmac: Use fallthrough pseudo-keyword (Jarod Wilson) [1937053] - rt2x00: Use fallthrough pseudo-keyword (Jarod Wilson) [1937053] - b43: phy_n: Add empty braces around empty statements (Jarod Wilson) [1937053] - b43: phy_common: Demote non-conformant kerneldoc header (Jarod Wilson) [1937053] - brcmsmac: mac80211_if: Demote a few non-conformant kerneldoc headers (Jarod Wilson) [1937053] - brcmfmac: fweh: Fix docrot related function documentation issues (Jarod Wilson) [1937053] - brcmfmac: fweh: Remove set but unused variable 'err' (Jarod Wilson) [1937053] - b43: main: Add braces around empty statements (Jarod Wilson) [1937053] - atmel: Demote non-kerneldoc header to standard comment block (Jarod Wilson) [1937053] - nl80211: rename csa counter attributes countdown counters (Jarod Wilson) [1937053] - nl80211: add support for setting fixed HE rate/gi/ltf (Jarod Wilson) [1937053] - ath11k: return -ENOMEM on allocation failure (Jarod Wilson) [1937053] - ath11k: return error if firmware request fails (Jarod Wilson) [1937053] - ath9k: Do not select MAC80211_LEDS by default (Jarod Wilson) [1937053] - ath9k: ar5008_initvals: Move ar5416Bank{0,1,2,3,7} to where they are used (Jarod Wilson) [1937053] - ath9k: ar5008_initvals: Remove unused table entirely (Jarod Wilson) [1937053] - ath9k: ar9001_initvals: Remove unused array 'ar5416Bank6_9100' (Jarod Wilson) [1937053] - ath9k: ar9002_initvals: Remove unused array 'ar9280PciePhy_clkreq_off_L1_9280' (Jarod Wilson) [1937053] - ath9k_htc: Do not select MAC80211_LEDS by default (Jarod Wilson) [1937053] - rtw88: 8822c: update tx power limit tables to RF v20.1 (Jarod Wilson) [1937053] - rtw88: use read_poll_timeout_atomic() for poll loop (Jarod Wilson) [1937053] - rtw88: Use fallthrough pseudo-keyword (Jarod Wilson) [1937053] - rtw88: switch from 'pci_' to 'dma_' API (Jarod Wilson) [1937053] - mwifiex: don't call del_timer_sync() on uninitialized timer (Jarod Wilson) [1937053] - mwifiex: Use fallthrough pseudo-keyword (Jarod Wilson) [1937053] - mwifiex: Clean up some err and dbg messages (Jarod Wilson) [1937053] - mwifiex: switch from 'pci_' to 'dma_' API (Jarod Wilson) [1937053] - nl80211: fix PORT_AUTHORIZED wording to reflect behavior (Jarod Wilson) [1937053] - cfg80211: add helper fn for adjacent rule channels (Jarod Wilson) [1937053] - cfg80211: add helper fn for single rule channels (Jarod Wilson) [1937053] - nl80211: use NLA_POLICY_RANGE(NLA_BINARY, ...) for a few attributes (Jarod Wilson) [1937053] - nl80211: clean up code/policy a bit (Jarod Wilson) [1937053] - net: wireless: wext_compat.c: delete duplicated word (Jarod Wilson) [1937053] - net: wireless: sme.c: delete duplicated word (Jarod Wilson) [1937053] - net: wireless: scan.c: delete or fix duplicated words (Jarod Wilson) [1937053] - net: wireless: reg.c: delete duplicated words + fix punctuation (Jarod Wilson) [1937053] - net: wireless: delete duplicated word + fix grammar (Jarod Wilson) [1937053] - net: mac80211: mesh.h: delete duplicated word (Jarod Wilson) [1937053] - net: mac80211: agg-rx.c: fix duplicated words (Jarod Wilson) [1937053] - net: ath11k: constify ath11k_thermal_ops (Jarod Wilson) [1937053] - ath10k: Add new api to support reset TID config (Jarod Wilson) [1937053] - ath10k: Add new api to support TID specific configuration (Jarod Wilson) [1937053] - ath10k: Move rate mask validation function up in the file (Jarod Wilson) [1937053] - ath10k: Add wmi command support for station specific TID config (Jarod Wilson) [1937053] - ath10k: sdio: add firmware coredump support (Jarod Wilson) [1937053] - ath10k: add bus type for each layout of coredump (Jarod Wilson) [1937053] - netlink/wireless: consistently use NLA_POLICY_MIN_LEN() (Jarod Wilson) [1937053] - netlink/wireless: consistently use NLA_POLICY_EXACT_LEN() (Jarod Wilson) [1937053] - rndis_wlan: tighten check of rndis_query_oid return (Jarod Wilson) [1937053] - rtw88: fix spelling mistake: "unsupport" -> "unsupported" (Jarod Wilson) [1937053] - brcmfmac: use *ph to print small buffer (Jarod Wilson) [1937053] - brcm80211: fix possible memleak in brcmf_proto_msgbuf_attach (Jarod Wilson) [1937053] - ath11k: Use fallthrough pseudo-keyword (Jarod Wilson) [1937053] - ath10k: fix VHT NSS calculation when STBC is enabled (Jarod Wilson) [1937053] - ath10k: Register shutdown handler (Jarod Wilson) [1937053] - ath11k: reset MHI during power down and power up (Jarod Wilson) [1937053] - ath11k: use TCL_DATA_RING_0 for QCA6390 (Jarod Wilson) [1937053] - ath11k: process both lmac rings for QCA6390 (Jarod Wilson) [1937053] - ath11k: assign correct search flag and type for QCA6390 (Jarod Wilson) [1937053] - ath11k: delay vdev_start for QCA6390 (Jarod Wilson) [1937053] - ath11k: refine the phy_id check in ath11k_reg_chan_list_event (Jarod Wilson) [1937053] - ath11k: setup QCA6390 rings for both rxdmas (Jarod Wilson) [1937053] - ath11k: don't initialize rxdma1 related ring (Jarod Wilson) [1937053] - ath11k: enable DP interrupt setup for QCA6390 (Jarod Wilson) [1937053] - ath11k: dp: redefine peer_map and peer_unmap (Jarod Wilson) [1937053] - ath11k: wmi: put hardware to DBS mode (Jarod Wilson) [1937053] - ath11k: initialize wmi config based on hw_params (Jarod Wilson) [1937053] - ath11k: force single pdev only for QCA6390 (Jarod Wilson) [1937053] - ath11k: disable CE interrupt before hif start (Jarod Wilson) [1937053] - ath11k: ce: get msi_addr and msi_data before srng setup (Jarod Wilson) [1937053] - ath11k: hal: assign msi_addr and msi_data to srng (Jarod Wilson) [1937053] - ath11k: ce: remove CE_COUNT() macro (Jarod Wilson) [1937053] - ath11k: ce: remove host_ce_config_wlan macro (Jarod Wilson) [1937053] - ath11k: ce: support different CE configurations (Jarod Wilson) [1937053] - ath11k: hal: cleanup dynamic register macros (Jarod Wilson) [1937053] - ath11k: hal: create register values dynamically (Jarod Wilson) [1937053] - ath10k: move enable_pll_clk call to ath10k_core_start() (Jarod Wilson) [1937053] - ath10k: Fix the size used in a 'dma_free_coherent()' call in an error handling path (Jarod Wilson) [1937053] - ath10k: Use fallthrough pseudo-keyword (Jarod Wilson) [1937053] - ath9k: add NL80211_EXT_FEATURE_CAN_REPLACE_PTK0 support (Jarod Wilson) [1937053] - ath11k: hal: create hw_srng_config dynamically (Jarod Wilson) [1937053] - ath11k: enable internal sleep clock (Jarod Wilson) [1937053] - ath11k: fix KASAN warning of ath11k_qmi_wlanfw_wlan_cfg_send (Jarod Wilson) [1937053] - ath11k: fix memory OOB access in qmi_decode (Jarod Wilson) [1937053] - ath11k: allocate smaller chunks of memory for firmware (Jarod Wilson) [1937053] - ath11k: setup ce tasklet for control path (Jarod Wilson) [1937053] - ath11k: configure copy engine msi address in CE srng (Jarod Wilson) [1937053] - ath11k: pci: add read32() and write32() hif operations (Jarod Wilson) [1937053] - ath11k: fill appropriate QMI service instance id for QCA6390 (Jarod Wilson) [1937053] - ath11k: add board file support for PCI devices (Jarod Wilson) [1937053] - ath11k: add support for m3 firmware (Jarod Wilson) [1937053] - ath11k: use remoteproc only with AHB devices (Jarod Wilson) [1937053] - ath11k: pci: add HAL, CE and core initialisation (Jarod Wilson) [1937053] - ath11k: register MHI controller device for QCA6390 (Jarod Wilson) [1937053] - ath11k: implement ath11k_core_pre_init() (Jarod Wilson) [1937053] - ath11k: pci: add MSI config initialisation (Jarod Wilson) [1937053] - ath11k: pci: setup resources (Jarod Wilson) [1937053] - ath11k: add simple PCI client driver for QCA6390 chipset (Jarod Wilson) [1937053] - ath11k: move ring mask definitions to hw_params (Jarod Wilson) [1937053] - ath11k: add hw_params entry for QCA6390 (Jarod Wilson) [1937053] - ath11k: do not depend on ARCH_QCOM for ath11k (Jarod Wilson) [1937053] - ath10k: correct the array index from mcs index for HT mode for QCA6174 (Jarod Wilson) [1937053] - ath10k: enable supports_peer_stats_info for QCA6174 PCI devices (Jarod Wilson) [1937053] - ath10k: remove return for NL80211_STA_INFO_TX_BITRATE (Jarod Wilson) [1937053] - ath10k: add wmi service peer stat info for wmi tlv (Jarod Wilson) [1937053] - ath10k: start recovery process when payload length exceeds max htc length for sdio (Jarod Wilson) [1937053] - ath: drop unnecessary list_empty (Jarod Wilson) [1937053] - ath9k: Use fallthrough pseudo-keyword (Jarod Wilson) [1937053] - ath9k: Fix typo in function name (Jarod Wilson) [1937053] - ath9k: Replace HTTP links with HTTPS ones (Jarod Wilson) [1937053] - ath10k: check idx validity in __ath10k_htt_rx_ring_fill_n() (Jarod Wilson) [1937053] - ath9k: Check the return value of pcie_capability_read_*() (Jarod Wilson) [1937053] - ath11k: remove define ATH11K_QMI_DEFAULT_CAL_FILE_NAME (Jarod Wilson) [1937053] - ath11k: don't use defines in hw_params (Jarod Wilson) [1937053] - ath11k: qmi: cleanup info messages (Jarod Wilson) [1937053] - ath11k: remove useless info messages (Jarod Wilson) [1937053] - ath11k: change ath11k_core_fetch_board_data_api_n() to use ath11k_core_create_firmware_path() (Jarod Wilson) [1937053] - ath11k: don't use defines for hw specific firmware directories (Jarod Wilson) [1937053] - ath11k: create a common function to request all firmware files (Jarod Wilson) [1937053] - ath11k: Add bdf-addr in hw_params (Jarod Wilson) [1937053] - ath11k: add hw_ops for pdev id to hw_mac mapping (Jarod Wilson) [1937053] - ath11k: define max_radios in hw_params (Jarod Wilson) [1937053] - ath11k: convert ath11k_hw_params to an array (Jarod Wilson) [1937053] - ath11k: ahb: call ath11k_core_init() before irq configuration (Jarod Wilson) [1937053] - ath10k: pci: fix memcpy size of bmi response (Jarod Wilson) [1937053] - ath11k: rename default board file (Jarod Wilson) [1937053] - ath11k: update firmware files read path (Jarod Wilson) [1937053] - ath10k: provide survey info as accumulated data (Jarod Wilson) [1937053] - ath10k: fix retry packets update in station dump (Jarod Wilson) [1937053] - ath10k: Wait until copy complete is actually done before completing (Jarod Wilson) [1937053] - mac80211_hwsim: add 6GHz channels (Jarod Wilson) [1937053] - mac80211_hwsim: indicate support for S1G (Jarod Wilson) [1937053] - mac80211_hwsim: write TSF timestamp correctly to S1G beacon (Jarod Wilson) [1937053] - mac80211_hwsim: fix typo in kernel-doc (Jarod Wilson) [1937053] - mac80211: rename csa counters to countdown counters (Jarod Wilson) [1937053] - mac80211_hwsim: report the WIPHY_FLAG_SUPPORTS_5_10_MHZ capability (Jarod Wilson) [1937053] - mac80211_hwsim: Claim support for setting Beacon frame TX legacy rate (Jarod Wilson) [1937053] - mac80211_hwsim: Advertise support for multicast RX registration (Jarod Wilson) [1937053] - mac80211_hwsim: indicate in IBSS that we have transmitted beacons (Jarod Wilson) [1937053] - mac80211_hwsim: notify wmediumd of used MAC addresses (Jarod Wilson) [1937053] - mac80211_hwsim: use GFP_ATOMIC under spin lock (Jarod Wilson) [1937053] - mac80211_hwsim: Use kstrndup() in place of kasprintf() (Jarod Wilson) [1937053] - mac80211_hwsim: add frame transmission support over virtio (Jarod Wilson) [1937053] - mac80211_hwsim: enable Beacon protection (Jarod Wilson) [1937053] - mac80211_hwsim: add power save support (Jarod Wilson) [1937053] - mac80211_hwsim: remove maximum TX power (Jarod Wilson) [1937053] - mac80211_hwsim: use DEFINE_DEBUGFS_ATTRIBUTE to define debugfs fops (Jarod Wilson) [1937053] - mac80211_hwsim: add support for OCB (Jarod Wilson) [1937053] - mac80211_hwsim: add more 5GHz channels, 5/10 MHz support (Jarod Wilson) [1937053] - mac80211_hwsim: fix incorrect dev_alloc_name failure goto (Jarod Wilson) [1937053] - mac80211_hwsim: Register support for HE meshpoint (Jarod Wilson) [1937053] - mac80211_hwsim: fill boottime_ns in netlink RX path (Jarod Wilson) [1937053] - mac80211_hwsim: Fix possible null-pointer dereferences in hwsim_dump_radio_nl() (Jarod Wilson) [1937053] - mac80211_hwsim: Extended Key ID API update (Jarod Wilson) [1937053] - mac80211_hwsim: Fix a typo in the name of function 'mac80211_hswim_he_capab()' (Jarod Wilson) [1937053] - mac80211_hwsim: Extended Key ID support (Jarod Wilson) [1937053] - mac80211_hwsim: set p2p device interface support indication (Jarod Wilson) [1937053] - mac80211_hwsim: calculate if_combination.max_interfaces (Jarod Wilson) [1937053] - mac80211_hwsim: propagate genlmsg_reply return code (Jarod Wilson) [1937053] - mac80211_hwsim: Declare support for Multi-BSSID (Jarod Wilson) [1937053] - mac80211_hwsim: Support boottime in scan results (Jarod Wilson) [1937053] - mac80211_hwsim: check that n_limits makes sense (Jarod Wilson) [1937053] - mac80211_hwsim: fix overwriting of if_combination (Jarod Wilson) [1937053] - mac80211_hwsim: fixes kernel crash during mac80211_hwsim init (Jarod Wilson) [1937053] - mac80211_hwsim: allow configurable cipher types (Jarod Wilson) [1937053] - mac80211_hwsim: allow setting iftype support (Jarod Wilson) [1937053] - mac80211_hwsim: move HWSIM_ATTR_RADIO_NAME parsing last (Jarod Wilson) [1937053] - mac80211_hwsim: fix module init error paths for netlink (Jarod Wilson) [1937053] - mac80211_hwsim: drop now unused work-queue from hwsim (Jarod Wilson) [1937053] - mac80211_hwsim: do not omit multicast announce of first added radio (Jarod Wilson) [1937053] - mac80211_hwsim: fix race in radio destruction from netlink notifier (Jarod Wilson) [1937053] - mac80211_hwsim: fix locking when iterating radios during ns exit (Jarod Wilson) [1937053] - wireless: align to draft 11ax D3.0 (Jarod Wilson) [1937053] - mac80211_hwsim: correct use of IEEE80211_VHT_CAP_RXSTBC_X (Jarod Wilson) [1937053] - mac80211_hwsim: require at least one channel (Jarod Wilson) [1937053] - mac80211_hwsim: Add support for HE (Jarod Wilson) [1937053] - net/fq_impl: do not maintain a backlog-sorted list of flows (Jarod Wilson) [1937053] - net/fq_impl: drop get_default_func, move default flow to fq_tin (Jarod Wilson) [1937053] - net/fq_impl: bulk-free packets from a flow on overmemory (Jarod Wilson) [1937053] - net/fq_impl: use skb_get_hash instead of skb_get_hash_perturb (Jarod Wilson) [1937053] - net/fq_impl: Switch to kvmalloc() for memory allocation (Jarod Wilson) [1937053] - mac80211: set NETIF_F_LLTX when using intermediate tx queues (Jarod Wilson) [1937053] - mac80211: calculate hash for fq without holding fq->lock in itxq enqueue (Jarod Wilson) [1937053] - nvme-tcp: fix misuse of __smp_processor_id with preemption enabled (Gopal Tiwari) [1964227] - powerpc/smp: Cache CPU to chip lookup (Daniel Henrique Barboza) [1934421] - Revert "powerpc/topology: Update topology_core_cpumask" (Daniel Henrique Barboza) [1934421] - powerpc/smp: Reintroduce cpu_core_mask (Daniel Henrique Barboza) [1934421] - scsi: smartpqi: Remove unused functions (Don Brace) [1952154] - scsi: smartpqi: Fix device pointer variable reference static checker issue (Don Brace) [1952154] - scsi: smartpqi: Fix blocks_per_row static checker issue (Don Brace) [1952154] - scsi: smartpqi: Update version to 2.1.8-045 (Don Brace) [1952154] - scsi: smartpqi: Add new PCI IDs (Don Brace) [1952154] - scsi: smartpqi: Correct system hangs when resuming from hibernation (Don Brace) [1952154] - scsi: smartpqi: Update enclosure identifier in sysfs (Don Brace) [1952154] - scsi: smartpqi: Add additional logging for LUN resets (Don Brace) [1952154] - scsi: smartpqi: Update SAS initiator_port_protocols and target_port_protocols (Don Brace) [1952154] - scsi: smartpqi: Add phy ID support for the physical drives (Don Brace) [1952154] - scsi: smartpqi: Convert snprintf() to scnprintf() (Don Brace) [1952154] - scsi: smartpqi: Fix driver synchronization issues (Don Brace) [1952154] - scsi: smartpqi: Update device scan operations (Don Brace) [1952154] - scsi: smartpqi: Update OFA management (Don Brace) [1952154] - scsi: smartpqi: Update RAID bypass handling (Don Brace) [1952154] - scsi: smartpqi: Update suspend/resume and shutdown (Don Brace) [1952154] - scsi: smartpqi: Synchronize device resets with mutex (Don Brace) [1952154] - scsi: smartpqi: Update soft reset management for OFA (Don Brace) [1952154] - scsi: smartpqi: Update event handler (Don Brace) [1952154] - scsi: smartpqi: Add support for wwid (Don Brace) [1952154] - scsi: smartpqi: Remove timeouts from internal cmds (Don Brace) [1952154] - scsi: smartpqi: Disable WRITE SAME for HBA NVMe disks (Don Brace) [1952154] - scsi: smartpqi: Add host level stream detection enable (Don Brace) [1952154] - scsi: smartpqi: Add stream detection (Don Brace) [1952154] - scsi: smartpqi: Align code with oob driver (Don Brace) [1952154] - scsi: smartpqi: Add support for long firmware version (Don Brace) [1952154] - scsi: smartpqi: Add support for BMIC sense feature cmd and feature bits (Don Brace) [1952154] - scsi: smartpqi: Add support for RAID1 writes (Don Brace) [1952154] - scsi: smartpqi: Add support for RAID5 and RAID6 writes (Don Brace) [1952154] - scsi: smartpqi: Refactor scatterlist code (Don Brace) [1952154] - scsi: smartpqi: Refactor aio submission code (Don Brace) [1952154] - scsi: smartpqi: Add support for new product ids (Don Brace) [1952154] - scsi: smartpqi: Correct request leakage during reset operations (Don Brace) [1952154] - scsi: smartpqi: Use host-wide tag space (Don Brace) [1952154] - smartpqi: Use fallthrough pseudo-keyword (Don Brace) [1952154] - scsi: smartpqi: Support device deletion via sysfs (Don Brace) [1952154] - scsi: smartpqi: Use scnprintf() for avoiding potential buffer overflow (Don Brace) [1952154] - smartpqi: remove ioremap_nocache and devm_ioremap_nocache (Don Brace) [1952154] - smartpqi: Use sizeof_field() macro (Don Brace) [1952154] - smartpqi: phase out dma_zalloc_coherent() (Don Brace) [1952154] - scsi: smartpqi: add support for huawei controllers (Don Brace) [1952154] - block: only update parent bi_status when bio fail (Ming Lei) [1945457] - kbuild: trace functions in subdirectories of lib/ (Joe Lawrence) [1942601] - kbuild: introduce ccflags-remove-y and asflags-remove-y (Joe Lawrence) [1942601] - redhat/configs: Add CONFIG_AMD_PMC (David Arcari) [1961755] - platform/x86: amd-pmc: put device on error paths (David Arcari) [1961755] - platform/x86: amd-pmc: Fix CONFIG_DEBUG_FS check (David Arcari) [1961755] - platform/x86: amd-pmc: Add AMD platform support for S2Idle (David Arcari) [1961755] - crypto: DRBG - switch to HMAC SHA512 DRBG as default DRBG (Vladis Dronov) [1956808] - x86/asm: Annotate movdir64b()'s dst argument with __iomem (Jerry Snitselaar) [1920747] - x86/asm: Add a missing __iomem annotation in enqcmds() (Jerry Snitselaar) [1920747]- fm10k: amend removal of MODULE_VERSION (Vladis Dronov) [1955730] - hv_netvsc: Make netvsc/VF binding check both MAC and serial number (Mohammed Gamal) [1940927] - hv_netvsc: Add error handling while switching data path (Mohammed Gamal) [1940927] - netvsc: Update driver to use ethtool_sprintf (Mohammed Gamal) [1940927] - hv_netvsc: Add a comment clarifying batching logic (Mohammed Gamal) [1940927] - hv_netvsc: Fix validation in netvsc_linkstatus_callback() (Mohammed Gamal) [1940927] - hv_netvsc: Restrict configurations on isolated guests (Mohammed Gamal) [1940927] - hv_netvsc: Load and store the proper (NBL_HASH_INFO) per-packet info (Mohammed Gamal) [1940927] - hv_netvsc: Allocate the recv_buf buffers after NVSP_MSG1_TYPE_SEND_RECV_BUF (Mohammed Gamal) [1940927] - hv_netvsc: Reset the RSC count if NVSP_STAT_FAIL in netvsc_receive() (Mohammed Gamal) [1940927] - hv_netvsc: Copy packets sent by Hyper-V out of the receive buffer (Mohammed Gamal) [1940927] - net/hyperv: use skb_vlan_tag_*() helpers (Mohammed Gamal) [1940927] - net/vlan: introduce skb_vlan_tag_get_cfi() helper (Mohammed Gamal) [1940927] - hv_netvsc: Add (more) validation for untrusted Hyper-V values (Mohammed Gamal) [1940927] - hv_netvsc: Process NETDEV_GOING_DOWN on VF hot remove (Mohammed Gamal) [1940927] - hv_netvsc: Wait for completion on request SWITCH_DATA_PATH (Mohammed Gamal) [1940927] - hv_netvsc: Check VF datapath when sending traffic to VF (Mohammed Gamal) [1940927] - hv_netvsc: Validate number of allocated sub-channels (Mohammed Gamal) [1940927] - hv_netvsc: Use vmbus_requestor to generate transaction IDs for VMBus hardening (Mohammed Gamal) [1940927] - hv_netvsc: Use HV_HYP_PAGE_SIZE for Hyper-V communication (Mohammed Gamal) [1940927] - scsi: fnic: Use scsi_host_busy_iter() to traverse commands (Ewan D. Milne) [1949250] - scsi: fnic: Kill 'exclude_id' argument to fnic_cleanup_io() (Ewan D. Milne) [1949250] - net: vlan: Avoid using BUG() in vlan_proto_idx() (Davide Caratti) [1964456] - sch_htb: fix null pointer dereference on a null new_q (Ivan Vecera) [1935703] - sch_htb: Fix offload cleanup in htb_destroy on htb_init failure (Ivan Vecera) [1935703] - sch_htb: Fix select_queue for non-offload mode (Ivan Vecera) [1935703] - sch_htb: Stats for offloaded HTB (Ivan Vecera) [1935703] - sch_htb: Hierarchical QoS hardware offload (Ivan Vecera) [1935703] - net: sched: Add extack to Qdisc_class_ops.delete (Ivan Vecera) [1935703] - net: sched: Add multi-queue support to sch_tree_lock (Ivan Vecera) [1935703] - capabilities: require CAP_SETFCAP to map uid 0 (Alexey Gladkov) [1961202] - locking/qrwlock: Cleanup queued_write_lock_slowpath() (Waiman Long) [1954361] - locking/rtmutex: Clean up signal handling in __rt_mutex_slowlock() (Waiman Long) [1954361] - locking/rtmutex: Restrict the trylock WARN_ON() to debug (Waiman Long) [1954361] - locking/rtmutex: Fix misleading comment in rt_mutex_postunlock() (Waiman Long) [1954361] - locking/rtmutex: Consolidate the fast/slowpath invocation (Waiman Long) [1954361] - locking/rtmutex: Make text section and inlining consistent (Waiman Long) [1954361] - locking/rtmutex: Move debug functions as inlines into common header (Waiman Long) [1954361] - locking/rtmutex: Decrapify __rt_mutex_init() (Waiman Long) [1954361] - locking/rtmutex: Remove pointless CONFIG_RT_MUTEXES=n stubs (Waiman Long) [1954361] - locking/rtmutex: Inline chainwalk depth check (Waiman Long) [1954361] - locking/rtmutex: Move rt_mutex_debug_task_free() to rtmutex.c (Waiman Long) [1954361] - locking/rtmutex: Remove empty and unused debug stubs (Waiman Long) [1954361] - locking/rtmutex: Consolidate rt_mutex_init() (Waiman Long) [1954361] - locking/rtmutex: Remove output from deadlock detector (Waiman Long) [1954361] - locking/rtmutex: Remove rtmutex deadlock tester leftovers (Waiman Long) [1954361] - locking/rtmutex: Remove rt_mutex_timed_lock() (Waiman Long) [1954361] - kernel: delete repeated words in comments (Waiman Long) [1954361] - rbtree, rtmutex: Use rb_add_cached() (Waiman Long) [1954361] - rbtree: Add generic add and find helpers (Waiman Long) [1954361] - locking/rtmutex: Remove unused rt_mutex_cmpxchg_relaxed() (Waiman Long) [1954361] - lib/rbtree: avoid generating code twice for the cached versions (Waiman Long) [1954361] - locking/rtmutex: Fix the preprocessor logic with normal #ifdef #else #endif (Waiman Long) [1954361] - kernel/futex: Explicitly document pi_lock for pi_state owner fixup (Waiman Long) [1954361] - kernel/futex: Move hb unlock out of unqueue_me_pi() (Waiman Long) [1954361] - kernel/futex: Make futex_wait_requeue_pi() only call fixup_owner() (Waiman Long) [1954361] - kernel/futex: Kill rt_mutex_next_owner() (Waiman Long) [1954361] - futex: Remove unused empty compat_exit_robust_list() (Waiman Long) [1954361] - futex: Handle transient "ownerless" rtmutex state correctly (Waiman Long) [1954361] - futex: Convert to use the preferred 'fallthrough' macro (Waiman Long) [1954361] - futex: get rid of a kernel-docs build warning (Waiman Long) [1954361] - futex: arch_futex_atomic_op_inuser() calling conventions change (Waiman Long) [1954361] - s390: Use arch_local_irq_{save,restore}() in early boot code (Waiman Long) [1954361] - lockdep: Add a missing initialization hint to the "INFO: Trying to register non-static key" message (Waiman Long) [1954361] - locking: Fix typos in comments (Waiman Long) [1954361] - locking/lockdep: Update the comment for __lock_release() (Waiman Long) [1954361] - lockdep: Allow tuning tracing capacity constants. (Waiman Long) [1954361] - lockdep: Address clang -Wformat warning printing for hd (Waiman Long) [1954361] - lockdep: Add lockdep lock state defines (Waiman Long) [1954361] - lockdep: Add lockdep_assert_not_held() (Waiman Long) [1954361] - lockdep: Noinstr annotate warn_bogus_irq_restore() (Waiman Long) [1954361] - locking/lockdep: Avoid unmatched unlock (Waiman Long) [1954361] - locking/rwsem: Remove empty rwsem.h (Waiman Long) [1954361] - lockdep: report broken irq restoration (Waiman Long) [1954361] - locking/lockdep: Avoid noinstr warning for DEBUG_LOCKDEP (Waiman Long) [1954361] - locking/lockdep: Exclude local_lock_t from IRQ inversions (Waiman Long) [1954361] - locking/lockdep: Clean up check_redundant() a bit (Waiman Long) [1954361] - locking/lockdep: Add a skip() function to __bfs() (Waiman Long) [1954361] - locking/lockdep: Mark local_lock_t (Waiman Long) [1954361] - lockdep: Put graph lock/unlock under lock_recursion protection (Waiman Long) [1954361] - locking/rtmutex: Add missing kernel-doc markup (Waiman Long) [1954361] - lockdep: Avoid to modify chain keys in validate_chain() (Waiman Long) [1954361] - lockdep: Fix nr_unused_locks accounting (Waiman Long) [1954361] - lockdep: Optimize the memory usage of circular queue (Waiman Long) [1954361] - lockdep: Take read/write status in consideration when generate chainkey (Waiman Long) [1954361] - lockdep/selftest: Add a R-L/L-W test case specific to chain cache behavior (Waiman Long) [1954361] - lockdep: Add recursive read locks into dependency graph (Waiman Long) [1954361] - lockdep: Fix recursive read lock related safe->unsafe detection (Waiman Long) [1954361] - lockdep: Adjust check_redundant() for recursive read change (Waiman Long) [1954361] - lockdep: Support deadlock detection for recursive read locks in check_noncircular() (Waiman Long) [1954361] - lockdep: Make __bfs(.match) return bool (Waiman Long) [1954361] - lockdep: Extend __bfs() to work with multiple types of dependencies (Waiman Long) [1954361] - lockdep: Introduce lock_list::dep (Waiman Long) [1954361] - lockdep: Reduce the size of lock_list::distance (Waiman Long) [1954361] - lockdep: Make __bfs() visit every dependency until a match (Waiman Long) [1954361] - lockdep: Demagic the return value of BFS (Waiman Long) [1954361] - lockdep/Documention: Recursive read lock detection reasoning (Waiman Long) [1954361] - locking: More accurate annotations for read_lock() (Waiman Long) [1954361] - Documentation/locking/locktypes: Fix local_locks documentation (Waiman Long) [1954361] - treewide: Remove uninitialized_var() usage (Waiman Long) [1954361] - lockdep: Use this_cpu_ptr instead of get_cpu_var stats (Waiman Long) [1954361] - KVM: arm/arm64: Fix KVM_VGIC_V3_ADDR_TYPE_REDIST read (Gavin Shan) [1939323] - KVM: arm64: Don't advertise FEAT_SPE to guests (Gavin Shan) [1939323] - KVM: arm64: Don't print warning when trapping SPE registers (Gavin Shan) [1939323] - KVM: arm64: Fully zero the vcpu state on reset (Gavin Shan) [1939323] - KVM: arm64: Clarify vcpu reset behaviour (Gavin Shan) [1939323] - Documentation: KVM: Document KVM_GUESTDBG_USE_HW control flag for arm64 (Gavin Shan) [1939323] - KVM: arm64: Initialize VCPU mdcr_el2 before loading it (Gavin Shan) [1939323] - KVM: arm64: Handle access to TRFCR_EL1 (Gavin Shan) [1939323] - arm64: Add TRFCR_ELx definitions (Gavin Shan) [1939323] - KVM: arm64: Unify trap handlers injecting an UNDEF (Gavin Shan) [1939323] - KVM: arm64: Use find_vma_intersection() (Gavin Shan) [1939323] - KVM: arm64: Hide kvm_mmu_wp_memory_region() (Gavin Shan) [1939323] - KVM: selftests: vgic_init kvm selftests fixup (Gavin Shan) [1939323] - KVM: selftests: aarch64/vgic-v3 init sequence tests (Gavin Shan) [1939323] - KVM: arm64: vgic-v3: Expose GICR_TYPER.Last for userspace (Gavin Shan) [1939323] - kvm: arm64: vgic-v3: Introduce vgic_v3_free_redist_region() (Gavin Shan) [1939323] - KVM: arm64: Simplify argument passing to vgic_uaccess_[read|write] (Gavin Shan) [1939323] - docs: kvm: devices/arm-vgic-v3: enhance KVM_DEV_ARM_VGIC_CTRL_INIT doc (Gavin Shan) [1939323] - KVM: arm/arm64: vgic: Reset base address on kvm_vgic_dist_destroy() (Gavin Shan) [1939323] - KVM: arm64: vgic-v3: Fix error handling in vgic_v3_set_redist_base() (Gavin Shan) [1939323] - KVM: arm64: Fix KVM_VGIC_V3_ADDR_TYPE_REDIST_REGION read (Gavin Shan) [1939323] - KVM: arm64: vgic-v3: Fix some error codes when setting RDIST base (Gavin Shan) [1939323] - KVM: arm64: Disable guest access to trace filter controls (Gavin Shan) [1939323] - KVM: arm64: Fix CPU interface MMIO compatibility detection (Gavin Shan) [1939323] - KVM: arm64: Hide system instruction access to Trace registers (Gavin Shan) [1939323] - KVM: arm64: Fix exclusive limit for IPA size (Gavin Shan) [1939323] - KVM: arm64: Ensure I-cache isolation between vcpus of a same VM (Gavin Shan) [1939323] - KVM: arm64: nvhe: Save the SPE context early (Gavin Shan) [1939323] - KVM: arm64: Correct spelling of DBGDIDR register (Gavin Shan) [1939323] - KVM: arm64: Fix AArch32 PMUv3 capping (Gavin Shan) [1939323] - KVM: arm64: Fix missing RES1 in emulation of DBGBIDR (Gavin Shan) [1939323] - KVM: arm64: Remove spurious semicolon in reg_to_encoding() (Gavin Shan) [1939323] - KVM: arm64: Fix hyp_cpu_pm_{init,exit} __init annotation (Gavin Shan) [1939323] - KVM: arm64: Workaround firmware wrongly advertising GICv2-on-v3 compatibility (Gavin Shan) [1939323] - KVM: arm64: Rename __vgic_v3_get_ich_vtr_el2() to __vgic_v3_get_gic_config() (Gavin Shan) [1939323] - KVM: arm64: Some fixes of PV-time interface document (Gavin Shan) [1939323] - KVM: arm64: CSSELR_EL1 max is 13 (Gavin Shan) [1939323] - idr test suite: Improve reporting from idr_find_test_1 (Chris von Recklinghausen) [1946304] - idr test suite: Create anchor before launching throbber (Chris von Recklinghausen) [1946304] - idr test suite: Take RCU read lock in idr_find_test_1 (Chris von Recklinghausen) [1946304] - radix tree test suite: Register the main thread with the RCU library (Chris von Recklinghausen) [1946304] - radix tree test suite: Fix compilation (Chris von Recklinghausen) [1946304] - XArray: Add xa_limit_16b (Chris von Recklinghausen) [1946304] - XArray: Fix splitting to non-zero orders (Chris von Recklinghausen) [1946304] - XArray: Fix split documentation (Chris von Recklinghausen) [1946304] - PCI/P2PDMA: Drop double zeroing for sg_init_table() (Myron Stowe) [1955693] - PCI: Simplify bool comparisons (Myron Stowe) [1955693] - PCI: endpoint: Use "NULL" instead of "0" as a NULL pointer (Myron Stowe) [1955693] - PCI: Simplify pci_dev_reset_slot_function() (Myron Stowe) [1955693] - PCI: Update mmap-related #ifdef comments (Myron Stowe) [1955693] - PCI/LINK: Print IRQ number used by port (Myron Stowe) [1955693] - PCI/IOV: Simplify pci-pf-stub with module_pci_driver() (Myron Stowe) [1955693] - PCI: Use scnprintf(), not snprintf(), in sysfs "show" functions (Myron Stowe) [1955693] - x86/PCI: Fix intel_mid_pci.c build error when ACPI is not enabled (Myron Stowe) [1955693] - PCI: Remove unnecessary header includes (Myron Stowe) [1955693] - PCI/PM: Revert "PCI/PM: Apply D2 delay as milliseconds, not microseconds" (Myron Stowe) [1955693] - PCI/PM: Remove unused PCI_PM_BUS_WAIT (Myron Stowe) [1955693] - PCI: shpchp: Remove unused 'rc' assignment (Myron Stowe) [1955693] - PCI: pciehp: Reduce noisiness on hot removal (Myron Stowe) [1955693 1812902] - PCI: rpadlpar: Use for_each_child_of_node() and for_each_node_by_name() (Myron Stowe) [1955693] - PCI: Add Kconfig options for MPS/MRRS strategy (Myron Stowe) [1955693] - PCI: Add schedule point in pci_read_config() (Myron Stowe) [1955693] - PCI/ASPM: Remove struct pcie_link_state.l1ss (Myron Stowe) [1955693] - PCI/ASPM: Remove struct aspm_register_info.l1ss_cap (Myron Stowe) [1955693] - PCI/ASPM: Pass L1SS Capabilities value, not struct aspm_register_info (Myron Stowe) [1955693] - PCI/ASPM: Remove struct aspm_register_info.l1ss_ctl1 (Myron Stowe) [1955693] - PCI/ASPM: Remove struct aspm_register_info.l1ss_ctl2 (unused) (Myron Stowe) [1955693] - PCI/ASPM: Remove struct aspm_register_info.l1ss_cap_ptr (Myron Stowe) [1955693] - PCI/ASPM: Remove struct aspm_register_info.latency_encoding (Myron Stowe) [1955693] - PCI/ASPM: Remove struct aspm_register_info.enabled (Myron Stowe) [1955693] - PCI/ASPM: Remove struct aspm_register_info.support (Myron Stowe) [1955693] - PCI/ASPM: Use 'parent' and 'child' for readability (Myron Stowe) [1955693] - PCI/ASPM: Move LTR path check to where it's used (Myron Stowe) [1955693] - PCI/ASPM: Move pci_clear_and_set_dword() earlier (Myron Stowe) [1955693] - PCI/ACS: Enable Translation Blocking for external devices (Myron Stowe) [1955693] - scsi: qedi: Remove redundant assignment to variable err (Nilesh Javali) [1920855] - scsi: qedi: Fix error return code of qedi_alloc_global_queues() (Nilesh Javali) [1920855] - scsi: qedi: Fix missing destroy_workqueue() on error in __qedi_probe (Nilesh Javali) [1920855] - scsi: qedf: Simplify bool comparison (Nilesh Javali) [1921608] - bpf, sockmap: Fix incorrect fwd_alloc accounting (Yauheni Kaliuta) [1874006] - bpf: Local storage helpers should check nullness of owner ptr passed (Yauheni Kaliuta) [1874006] - bpf, inode_storage: Put file handler if no storage was found (Yauheni Kaliuta) [1874006] - kbuild: explicitly specify the build id style (Yauheni Kaliuta) [1874006] - bpf: Reject too big ctx_size_in for raw_tp test run (Yauheni Kaliuta) [1874006] - bpf: Fix enum names for bpf_this_cpu_ptr() and bpf_per_cpu_ptr() helpers (Yauheni Kaliuta) [1874006] - bpf: Don't rely on GCC __attribute__((optimize)) to disable GCSE (Jiri Benc) [1874006] - bpf: Fix tests for local_storage (Yauheni Kaliuta) [1874006] - selftests/bpf: Fix "dubious pointer arithmetic" test (Yauheni Kaliuta) [1874006] - selftests/bpf: Fix array access with signed variable test (Yauheni Kaliuta) [1874006] - selftests/bpf: Add test for signed 32-bit bound check bug (Yauheni Kaliuta) [1874006] - bpf: Fix propagation of 32-bit signed bounds from 64-bit bounds. (Yauheni Kaliuta) [1874006] - lwt_bpf: Replace preempt_disable() with migrate_disable() (Yauheni Kaliuta) [1874006] - lwt: Disable BH too in run_lwt_bpf() (Yauheni Kaliuta) [1874006] - selftests/bpf: Drain ringbuf samples at the end of test (Yauheni Kaliuta) [1874006] - libbpf: Fix ring_buffer__poll() to return number of consumed samples (Yauheni Kaliuta) [1874006] - bpf: Add MAINTAINERS entry for BPF LSM (Yauheni Kaliuta) [1874006] - bpftool: Fix error return value in build_btf_type_table (Yauheni Kaliuta) [1874006] - fail_function: Remove a redundant mutex unlock (Yauheni Kaliuta) [1874006] - selftest/bpf: Test bpf_probe_read_user_str() strips trailing bytes after NUL (Yauheni Kaliuta) [1874006] - lib/strncpy_from_user.c: Mask out bytes after NUL terminator. (Yauheni Kaliuta) [1874006] - bpf, sockmap: Avoid failures from skb_to_sgvec when skb has frag_list (Yauheni Kaliuta) [1874006] - bpf, sockmap: Handle memory acct if skb_verdict prog redirects to self (Yauheni Kaliuta) [1874006] - bpf, sockmap: Avoid returning unneeded EAGAIN when redirecting to self (Yauheni Kaliuta) [1874006] - bpf, sockmap: Use truesize with sk_rmem_schedule() (Yauheni Kaliuta) [1874006] - bpf, sockmap: Ensure SO_RCVBUF memory is observed on ingress redirect (Yauheni Kaliuta) [1874006] - bpf, sockmap: Fix partial copy_page_to_iter so progress can still be made (Yauheni Kaliuta) [1874006] - selftests/bpf: Fix error return code in run_getsockopt_test() (Yauheni Kaliuta) [1874006] - bpf: Relax return code check for subprograms (Yauheni Kaliuta) [1874006] - tools, bpftool: Add missing close before bpftool net attach exit (Yauheni Kaliuta) [1874006] - selftests/bpf: Fix unused attribute usage in subprogs_unused test (Yauheni Kaliuta) [1874006] - bpf: Fix unsigned 'datasec_id' compared with zero in check_pseudo_btf_id (Yauheni Kaliuta) [1874006] - bpf: Fix passing zero to PTR_ERR() in bpf_btf_printf_prepare (Yauheni Kaliuta) [1874006] - libbpf: Don't attempt to load unused subprog as an entry-point BPF program (Yauheni Kaliuta) [1874006] - bpf: Update verification logic for LSM programs (Yauheni Kaliuta) [1874006] - bpf: Zero-fill re-used per-cpu map element (Yauheni Kaliuta) [1874006] - bpf: BPF_PRELOAD depends on BPF_SYSCALL (Yauheni Kaliuta) [1874006] - libbpf: Fix possible use after free in xsk_socket__delete (Yauheni Kaliuta) [1874006] - libbpf: Fix null dereference in xsk_socket__delete (Yauheni Kaliuta) [1874006] - libbpf, hashmap: Fix undefined behavior in hash_bits (Yauheni Kaliuta) [1874006] - tools, bpftool: Remove two unused variables. (Yauheni Kaliuta) [1874006] - tools, bpftool: Avoid array index warnings. (Yauheni Kaliuta) [1874006] - bpf: Add struct bpf_redir_neigh forward declaration to BPF helper defs (Yauheni Kaliuta) [1874006] - bpf: Fix -Wshadow warnings (Yauheni Kaliuta) [1874006] - bpf, libbpf: Guard bpf inline asm from bpf_tail_call_static (Yauheni Kaliuta) [1874006] - bpf: selftest: Ensure the return value of the bpf_per_cpu_ptr() must be checked (Yauheni Kaliuta) [1874006] - bpf: selftest: Ensure the return value of bpf_skc_to helpers must be checked (Yauheni Kaliuta) [1874006] - bpf: Remove unneeded break (Yauheni Kaliuta) [1874006] - net, sockmap: Don't call bpf_prog_put() on NULL pointer (Yauheni Kaliuta) [1874006] - bpf, sockmap: Add locking annotations to iterator (Yauheni Kaliuta) [1874006] - bpf: Fix register equivalence tracking. (Yauheni Kaliuta) [1874006] - bpf, selftests: Add three new sockmap tests for verdict only programs (Yauheni Kaliuta) [1874006] - bpf, selftests: Add option to test_sockmap to omit adding parser program (Yauheni Kaliuta) [1874006] - bpf, sockmap: Allow skipping sk_skb parser program (Yauheni Kaliuta) [1874006] - bpf, sockmap: Check skb_verdict and skb_parser programs explicitly (Yauheni Kaliuta) [1874006] - bpf, sockmap: Add memory accounting so skbs on ingress lists are visible (Yauheni Kaliuta) [1874006] - bpf, sockmap: Remove skb_orphan and let normal skb_kfree do cleanup (Yauheni Kaliuta) [1874006] - bpf, sockmap: Remove dropped data on errors in redirect case (Yauheni Kaliuta) [1874006] - bpf, sockmap: Remove skb_set_owner_w wmem will be taken later from sendpage (Yauheni Kaliuta) [1874006] - bpf, sockmap: On receive programs try to fast track SK_PASS ingress (Yauheni Kaliuta) [1874006] - bpf, sockmap: Skb verdict SK_PASS to self already checked rmem limits (Yauheni Kaliuta) [1874006] - bpf: Migrate from patchwork.ozlabs.org to patchwork.kernel.org. (Yauheni Kaliuta) [1874006] - samples: bpf: Refactor XDP kern program maps with BTF-defined map (Yauheni Kaliuta) [1874006] - samples: bpf: Replace attach_tracepoint() to attach() in xdp_redirect_cpu (Yauheni Kaliuta) [1874006] - samples: bpf: Refactor xdp_monitor with libbpf (Yauheni Kaliuta) [1874006] - bpf, selftests: Add test for different array inner map size (Yauheni Kaliuta) [1874006] - bpf: Allow for map-in-map with dynamic inner array map entries (Yauheni Kaliuta) [1874006] - selftests/bpf: Asm tests for the verifier regalloc tracking. (Yauheni Kaliuta) [1874006] - bpf: Fix selftest compilation on clang 11 (Yauheni Kaliuta) [1874006] - selftest/bpf: Fix profiler test using CO-RE relocation for enums (Yauheni Kaliuta) [1874006] - selftests/bpf: Add profiler test (Yauheni Kaliuta) [1874006] - bpf: Track spill/fill of bounded scalars. (Yauheni Kaliuta) [1874006] - bpf: Propagate scalar ranges through register assignments. (Yauheni Kaliuta) [1874006] - bpf: Add tcp_notsent_lowat bpf setsockopt (Yauheni Kaliuta) [1874006] - selftests/bpf: Validate libbpf's auto-sizing of LD/ST/STX instructions (Yauheni Kaliuta) [1874006] - libbpf: Allow specifying both ELF and raw BTF for CO-RE BTF override (Yauheni Kaliuta) [1874006] - libbpf: Support safe subset of load/store instruction resizing with CO-RE (Yauheni Kaliuta) [1874006] - libbpf: Skip CO-RE relocations for not loaded BPF programs (Yauheni Kaliuta) [1874006] - libbpf: Fix compatibility problem in xsk_socket__create (Yauheni Kaliuta) [1874006] - bpf: Fix typo in uapi/linux/bpf.h (Yauheni Kaliuta) [1874006] - bpf: Fix build failure for kernel/trace/bpf_trace.c with CONFIG_NET=n (Yauheni Kaliuta) [1874006] - kernel/bpf/verifier: Fix build when NET is not enabled (Yauheni Kaliuta) [1874006] - selftests/bpf: Fix test_verifier after introducing resolve_pseudo_ldimm64 (Yauheni Kaliuta) [1874006] - samples: bpf: Driver interrupt statistics in xdpsock (Yauheni Kaliuta) [1874006] - samples: bpf: Count syscalls in xdpsock (Yauheni Kaliuta) [1874006] - samples: bpf: Split xdpsock stats into new struct (Yauheni Kaliuta) [1874006] - samples/bpf: Fix a compilation error with fallthrough marking (Yauheni Kaliuta) [1874006] - samples/bpf: Change Makefile to cope with latest llvm (Yauheni Kaliuta) [1874006] - bpf, libbpf: Use valid btf in bpf_program__set_attach_target (Yauheni Kaliuta) [1874006] - selftest/bpf: Test pinning map with reused map fd (Yauheni Kaliuta) [1874006] - libbpf: Check if pin_path was set even map fd exist (Yauheni Kaliuta) [1874006] - libbpf: Close map fd if init map slots failed (Yauheni Kaliuta) [1874006] - bpf: Use raw_spin_trylock() for pcpu_freelist_push/pop in NMI (Yauheni Kaliuta) [1874006] - bpf, verifier: Use fallthrough pseudo-keyword (Yauheni Kaliuta) [1874006] - bpf: Deref map in BPF_PROG_BIND_MAP when it's already used (Yauheni Kaliuta) [1874006] - bpf, sockmap: Update selftests to use skb_adjust_room (Yauheni Kaliuta) [1874006] - bpf, sockmap: Add skb_adjust_room to pop bytes off ingress payload (Yauheni Kaliuta) [1874006] - bpf/selftests: Test for bpf_per_cpu_ptr() and bpf_this_cpu_ptr() (Yauheni Kaliuta) [1874006] - bpf: Introducte bpf_this_cpu_ptr() (Yauheni Kaliuta) [1874006] - bpf: Introduce bpf_per_cpu_ptr() (Yauheni Kaliuta) [1874006] - selftests/bpf: Ksyms_btf to test typed ksyms (Yauheni Kaliuta) [1874006] - bpf/libbpf: BTF support for typed ksyms (Yauheni Kaliuta) [1874006] - bpf: Introduce pseudo_btf_id (Yauheni Kaliuta) [1874006] - selftests/bpf: Properly initialize linfo in sockmap_basic (Yauheni Kaliuta) [1874006] - selftests/bpf: Initialize duration in xdp_noinline.c (Yauheni Kaliuta) [1874006] - selftests/bpf: Add tests for BPF_F_PRESERVE_ELEMS (Yauheni Kaliuta) [1874006] - bpf: Introduce BPF_F_PRESERVE_ELEMS for perf event array (Yauheni Kaliuta) [1874006] - selftests/bpf: Fix alignment of .BTF_ids (Yauheni Kaliuta) [1874006] - selftests/bpf: Test "incremental" btf_dump in C format (Yauheni Kaliuta) [1874006] - libbpf: Make btf_dump work with modifiable BTF (Yauheni Kaliuta) [1874006] - bpf, selftests: Use bpf_tail_call_static where appropriate (Yauheni Kaliuta) [1874006] - bpf, libbpf: Add bpf_tail_call_static helper for bpf programs (Yauheni Kaliuta) [1874006] - bpf, net: Rework cookie generator as per-cpu one (Yauheni Kaliuta) [1874006] - bpf: Add classid helper only based on skb->sk (Yauheni Kaliuta) [1874006] - bpf: fix raw_tp test run in preempt kernel (Yauheni Kaliuta) [1874006] - libbpf: Compile in PIC mode only for shared library case (Yauheni Kaliuta) [1874006] - libbpf: Compile libbpf under -O2 level by default and catch extra warnings (Yauheni Kaliuta) [1874006] - bpf: x64: Do not emit sub/add 0, rsp when !stack_depth (Yauheni Kaliuta) [1874006] - bpf, x64: Drop "pop rcx" instruction on BPF JIT epilogue (Yauheni Kaliuta) [1874006] - bpf, selftests: Fix warning in snprintf_btf where system() call unchecked (Yauheni Kaliuta) [1874006] - selftests/bpf: Test BTF's handling of endianness (Yauheni Kaliuta) [1874006] - selftests/bpf: Move and extend ASSERT_xxx() testing macros (Yauheni Kaliuta) [1874006] - selftests: Make sure all 'skel' variables are declared static (Yauheni Kaliuta) [1874006] - selftests/bpf_iter: Don't fail test due to missing __builtin_btf_type_id (Yauheni Kaliuta) [1874006] - bpf/preload: Make sure Makefile cleans up after itself, and add .gitignore (Yauheni Kaliuta) [1874006] - selftests/bpf: Ensure snprintf_btf/bpf_iter tests compatibility with old vmlinux.h (Yauheni Kaliuta) [1874006] - selftests/bpf: Fix unused-result warning in snprintf_btf.c (Yauheni Kaliuta) [1874006] - bpf, selftests: Fix cast to smaller integer type 'int' warning in raw_tp (Yauheni Kaliuta) [1874006] - selftests/bpf: Add test for bpf_seq_printf_btf helper (Yauheni Kaliuta) [1874006] - bpf: Add bpf_seq_printf_btf helper (Yauheni Kaliuta) [1874006] - selftests/bpf: Fix overflow tests to reflect iter size increase (Yauheni Kaliuta) [1874006] - bpf: Bump iter seq size to support BTF representation of large data structures (Yauheni Kaliuta) [1874006] - selftests/bpf: Add bpf_snprintf_btf helper tests (Yauheni Kaliuta) [1874006] - bpf: Add bpf_snprintf_btf helper (Yauheni Kaliuta) [1874006] - bpf: Move to generic BTF show support, apply it to seq files/strings (Yauheni Kaliuta) [1874006] - bpf: Provide function to get vmlinux BTF information (Yauheni Kaliuta) [1874006] - selftest: bpf: Test copying a sockmap and sockhash (Yauheni Kaliuta) [1874006] - selftests: bpf: Remove shared header from sockmap iter test (Yauheni Kaliuta) [1874006] - selftests: bpf: Add helper to compare socket cookies (Yauheni Kaliuta) [1874006] - bpf: sockmap: Enable map_update_elem from bpf_iter (Yauheni Kaliuta) [1874006] - bpf, cpumap: Remove rcpu pointer from cpu_map_build_skb signature (Yauheni Kaliuta) [1874006] - selftests/bpf: Add raw_tp_test_run (Yauheni Kaliuta) [1874006] - libbpf: Support test run of raw tracepoint programs (Yauheni Kaliuta) [1874006] - bpf: Enable BPF_PROG_TEST_RUN for raw_tracepoint (Yauheni Kaliuta) [1874006] - bpf: Add comment to document BTF type PTR_TO_BTF_ID_OR_NULL (Yauheni Kaliuta) [1874006] - bpf: Add AND verifier test case where 32bit and 64bit bounds differ (Yauheni Kaliuta) [1874006] - bpf, verifier: Remove redundant var_off.value ops in scalar known reg cases (Yauheni Kaliuta) [1874006] - bpf: selftest: Add test_btf_skc_cls_ingress (Yauheni Kaliuta) [1874006] - bpf: selftest: Remove enum tcp_ca_state from bpf_tcp_helpers.h (Yauheni Kaliuta) [1874006] - bpf: selftest: Use bpf_skc_to_tcp_sock() in the sock_fields test (Yauheni Kaliuta) [1874006] - bpf: selftest: Use network_helpers in the sock_fields test (Yauheni Kaliuta) [1874006] - bpf: selftest: Adapt sock_fields test to use skel and global variables (Yauheni Kaliuta) [1874006] - bpf: selftest: Move sock_fields test into test_progs (Yauheni Kaliuta) [1874006] - bpf: selftest: Add ref_tracking verifier test for bpf_skc casting (Yauheni Kaliuta) [1874006] - bpf: Change bpf_sk_assign to accept ARG_PTR_TO_BTF_ID_SOCK_COMMON (Yauheni Kaliuta) [1874006] - bpf: Change bpf_tcp_*_syncookie to accept ARG_PTR_TO_BTF_ID_SOCK_COMMON (Yauheni Kaliuta) [1874006] - bpf: Change bpf_sk_storage_*() to accept ARG_PTR_TO_BTF_ID_SOCK_COMMON (Yauheni Kaliuta) [1874006] - bpf: Change bpf_sk_release and bpf_sk_*cgroup_id to accept ARG_PTR_TO_BTF_ID_SOCK_COMMON (Yauheni Kaliuta) [1874006] - bpf: Enable bpf_skc_to_* sock casting helper to networking prog type (Yauheni Kaliuta) [1874006] - bpf: Move the PTR_TO_BTF_ID check to check_reg_type() (Yauheni Kaliuta) [1874006] - Revert "bpf: Fix potential call bpf_link_free() in atomic context" (Yauheni Kaliuta) [1874006] - tools resolve_btfids: Always force HOSTARCH (Yauheni Kaliuta) [1874006] - bpf: Check CONFIG_BPF option for resolve_btfids (Yauheni Kaliuta) [1874006] - bpf: Explicitly size compatible_reg_types (Yauheni Kaliuta) [1874006] - selftests/bpf: Fix stat probe in d_path test (Yauheni Kaliuta) [1874006] - bpf: Using rcu_read_lock for bpf_sk_storage_map iterator (Yauheni Kaliuta) [1874006] - bpf: Use a table to drive helper arg type checks (Yauheni Kaliuta) [1874006] - bpf: Hoist type checking for nullable arg types (Yauheni Kaliuta) [1874006] - bpf: Check ARG_PTR_TO_SPINLOCK register type in check_func_arg (Yauheni Kaliuta) [1874006] - bpf: Set meta->raw_mode for pointers close to use (Yauheni Kaliuta) [1874006] - bpf: Make context access check generic (Yauheni Kaliuta) [1874006] - bpf: Make reference tracking generic (Yauheni Kaliuta) [1874006] - bpf: Make BTF pointer type checking generic (Yauheni Kaliuta) [1874006] - bpf: Allow specifying a BTF ID per argument in function protos (Yauheni Kaliuta) [1874006] - btf: Add BTF_ID_LIST_SINGLE macro (Yauheni Kaliuta) [1874006] - bpf: Check scalar or invalid register in check_helper_mem_access (Yauheni Kaliuta) [1874006] - btf: Make btf_set_contains take a const pointer (Yauheni Kaliuta) [1874006] - bpf: Fix potential call bpf_link_free() in atomic context (Yauheni Kaliuta) [1874006] - bpf: Use hlist_add_head_rcu when linking to local_storage (Yauheni Kaliuta) [1874006] - samples/bpf: Fix test_map_in_map on s390 (Yauheni Kaliuta) [1874006] - selftests/bpf: Fix endianness issue in test_sockopt_sk (Yauheni Kaliuta) [1874006] - selftests/bpf: Fix endianness issue in sk_assign (Yauheni Kaliuta) [1874006] - selftests/bpf: Add tailcall_bpf2bpf tests (Yauheni Kaliuta) [1874006] - bpf: Add abnormal return checks. (Yauheni Kaliuta) [1874006] - bpf: allow for tailcalls in BPF subprograms for x64 JIT (Yauheni Kaliuta) [1874006] - bpf, x64: rework pro/epilogue and tailcall handling in JIT (Yauheni Kaliuta) [1874006] - bpf: Limit caller's stack depth 256 for subprogs with tailcalls (Yauheni Kaliuta) [1874006] - bpf: rename poke descriptor's 'ip' member to 'tailcall_target' (Yauheni Kaliuta) [1874006] - bpf: propagate poke descriptors to subprograms (Yauheni Kaliuta) [1874006] - bpf, x64: use rcx instead of rax for tail call retpolines (Yauheni Kaliuta) [1874006] - selftests/bpf: Merge most of test_btf into test_progs (Yauheni Kaliuta) [1874006] - selftests/bpf: Test load and dump metadata with btftool and skel (Yauheni Kaliuta) [1874006] - bpftool: Support dumping metadata (Yauheni Kaliuta) [1874006] - libbpf: Add BPF_PROG_BIND_MAP syscall and use it on .rodata section (Yauheni Kaliuta) [1874006] - bpf: Add BPF_PROG_BIND_MAP syscall (Yauheni Kaliuta) [1874006] - bpf: Mutex protect used_maps array and count (Yauheni Kaliuta) [1874006] - libbpf: Fix a compilation error with xsk.c for ubuntu 16.04 (Yauheni Kaliuta) [1874006] - samples/bpf: Add quiet option to xdpsock (Yauheni Kaliuta) [1874006] - samples: bpf: Add an option for printing extra statistics in xdpsock (Yauheni Kaliuta) [1874006] - samples/bpf: Fix possible deadlock in xdpsock (Yauheni Kaliuta) [1874006] - samples/bpf: Fix one packet sending in xdpsock (Yauheni Kaliuta) [1874006] - s390/bpf: Fix multiple tail calls (Yauheni Kaliuta) [1874006] - tcp: Simplify tcp_set_congestion_control() load=false case (Yauheni Kaliuta) [1874006] - tcp: simplify _bpf_setsockopt(): Remove flags argument (Yauheni Kaliuta) [1874006] - tcp: simplify tcp_set_congestion_control(): Always reinitialize (Yauheni Kaliuta) [1874006] - tcp: Simplify EBPF TCP_CONGESTION to always init CC (Yauheni Kaliuta) [1874006] - bpftool: Fix build failure (Yauheni Kaliuta) [1874006] - tools: bpftool: Automate generation for "SEE ALSO" sections in man pages (Yauheni Kaliuta) [1874006] - bpf: Fix comment for helper bpf_current_task_under_cgroup() (Yauheni Kaliuta) [1874006] - selftests/bpf: Define string const as global for test_sysctl_prog.c (Yauheni Kaliuta) [1874006] - selftests/bpf: Fix test_ksyms on non-SMP kernels (Yauheni Kaliuta) [1874006] - tools: bpftool: Add "inner_map" to "bpftool map create" outer maps (Yauheni Kaliuta) [1874006] - tools: bpftool: Keep errors for map-of-map dumps if distinct from ENOENT (Yauheni Kaliuta) [1874006] - tools: bpftool: Clean up function to dump map entry (Yauheni Kaliuta) [1874006] - selftests: bpf: Test iterating a sockmap (Yauheni Kaliuta) [1874006] - net: Allow iterating sockmap and sockhash (Yauheni Kaliuta) [1874006] - net: sockmap: Remove unnecessary sk_fullsock checks (Yauheni Kaliuta) [1874006] - tools: bpftool: Include common options from separate file (Yauheni Kaliuta) [1874006] - tools: bpftool: Print optional built-in features along with version (Yauheni Kaliuta) [1874006] - selftests, bpftool: Add bpftool (and eBPF helpers) documentation build (Yauheni Kaliuta) [1874006] - tools: bpftool: Log info-level messages when building bpftool man pages (Yauheni Kaliuta) [1874006] - bpf: Remove duplicate headers (Yauheni Kaliuta) [1874006] - selftests/bpf: Fix test_sysctl_loop{1, 2} failure due to clang change (Yauheni Kaliuta) [1874006] - selftests/bpf: Add test for map_ptr arithmetic (Yauheni Kaliuta) [1874006] - bpf: Permit map_ptr arithmetic with opcode add and offset 0 (Yauheni Kaliuta) [1874006] - tools, bpf: Synchronise BPF UAPI header with tools (Yauheni Kaliuta) [1874006] - bpf: Fix formatting in documentation for BPF helpers (Yauheni Kaliuta) [1874006] - tools: bpftool: Fix formatting in bpftool-link documentation (Yauheni Kaliuta) [1874006] - samples, bpf: Add xsk_fwd test file to .gitignore (Yauheni Kaliuta) [1874006] - samples, bpf: Replace bpf_program__title() with bpf_program__section_name() (Yauheni Kaliuta) [1874006] - libbpf: Fix potential multiplication overflow (Yauheni Kaliuta) [1874006] - libbpf: Fix another __u64 cast in printf (Yauheni Kaliuta) [1874006] - selftests/bpf: Fix check in global_data_init. (Yauheni Kaliuta) [1874006] - selftests/bpf: Add __noinline variant of cls_redirect selftest (Yauheni Kaliuta) [1874006] - selftests/bpf: Modernize xdp_noinline test w/ skeleton and __noinline (Yauheni Kaliuta) [1874006] - selftests/bpf: Add subprogs to pyperf, strobemeta, and l4lb_noinline tests (Yauheni Kaliuta) [1874006] - tools/bpftool: Replace bpf_program__title() with bpf_program__section_name() (Yauheni Kaliuta) [1874006] - selftests/bpf: Don't use deprecated libbpf APIs (Yauheni Kaliuta) [1874006] - libbpf: Deprecate notion of BPF program "title" in favor of "section name" (Yauheni Kaliuta) [1874006] - selftests/bpf: Add selftest for multi-prog sections and bpf-to-bpf calls (Yauheni Kaliuta) [1874006] - libbpf: Add multi-prog section support for struct_ops (Yauheni Kaliuta) [1874006] - libbpf: Implement generalized .BTF.ext func/line info adjustment (Yauheni Kaliuta) [1874006] - libbpf: Make RELO_CALL work for multi-prog sections and sub-program calls (Yauheni Kaliuta) [1874006] - libbpf: Support CO-RE relocations for multi-prog sections (Yauheni Kaliuta) [1874006] - libbpf: Parse multi-function sections into multiple BPF programs (Yauheni Kaliuta) [1874006] - libbpf: Ensure ELF symbols table is found before further ELF processing (Yauheni Kaliuta) [1874006] - selftests/bpf: Test task_file iterator without visiting pthreads (Yauheni Kaliuta) [1874006] - bpf: Avoid iterating duplicated files for task_file iterator (Yauheni Kaliuta) [1874006] - bpf: {cpu,dev}map: Change various functions return type from int to void (Yauheni Kaliuta) [1874006] - module: Fix up module_notifier return values (Yauheni Kaliuta) [1874006] - bpf: Remove bpf_lsm_file_mprotect from sleepable list. (Yauheni Kaliuta) [1874006] - samples/bpf: Fix to xdpsock to avoid recycling frames (Yauheni Kaliuta) [1874006] - samples/bpf: Optimize l2fwd performance in xdpsock (Yauheni Kaliuta) [1874006] - samples/bpf: Add new sample xsk_fwd.c (Yauheni Kaliuta) [1874006] - libbpf: Support shared umems between queues and devices (Yauheni Kaliuta) [1874006] - selftests/bpf: Add sleepable tests (Yauheni Kaliuta) [1874006] - libbpf: Support sleepable progs (Yauheni Kaliuta) [1874006] - bpf: Add bpf_copy_from_user() helper. (Yauheni Kaliuta) [1874006] - bpf: Fix build without BPF_LSM. (Yauheni Kaliuta) [1874006] - bpf: Introduce sleepable BPF programs (Yauheni Kaliuta) [1874006] - mm/error_inject: Fix allow_error_inject function signatures. (Yauheni Kaliuta) [1874006] - mm/filemap.c: enable error injection at add_to_page_cache() (Yauheni Kaliuta) [1874006] - mm/page_alloc.c: allow error injection (Yauheni Kaliuta) [1874006] - bpf: selftests: Add test for different inner map size (Yauheni Kaliuta) [1874006] - bpf: Relax max_entries check for most of the inner map types (Yauheni Kaliuta) [1874006] - bpf: Add map_meta_equal map ops (Yauheni Kaliuta) [1874006] - bpf: Make bpf_link_info.iter similar to bpf_iter_link_info (Yauheni Kaliuta) [1874006] - tools, bpf/build: Cleanup feature files on make clean (Yauheni Kaliuta) [1874006] - libbpf: Fix compilation warnings for 64-bit printf args (Yauheni Kaliuta) [1874006] - selftests/bpf: Add verifier tests for xor operation (Yauheni Kaliuta) [1874006] - libbpf: Fix unintentional success return code in bpf_object__load (Yauheni Kaliuta) [1874006] - selftests/bpf: Fix spelling mistake "scoket" -> "socket" (Yauheni Kaliuta) [1874006] - selftests/bpf: Fix open call in trigger_fstat_events (Yauheni Kaliuta) [1874006] - selftests/bpf: Add set test to resolve_btfids (Yauheni Kaliuta) [1874006] - selftests/bpf: Add test for d_path helper (Yauheni Kaliuta) [1874006] - selftests/bpf: Add verifier test for d_path helper (Yauheni Kaliuta) [1874006] - bpf: Update .BTF_ids section in btf.rst with sets info (Yauheni Kaliuta) [1874006] - bpf: Add d_path helper (Yauheni Kaliuta) [1874006] - bpf: Add BTF_SET_START/END macros (Yauheni Kaliuta) [1874006] - bpf: Add btf_struct_ids_match function (Yauheni Kaliuta) [1874006] - bpf: Factor btf_struct_access function (Yauheni Kaliuta) [1874006] - bpf: Remove recursion call in btf_struct_access (Yauheni Kaliuta) [1874006] - bpf: Add type_id pointer as argument to __btf_resolve_size (Yauheni Kaliuta) [1874006] - bpf: Add elem_id pointer as argument to __btf_resolve_size (Yauheni Kaliuta) [1874006] - bpf: Move btf_resolve_size into __btf_resolve_size (Yauheni Kaliuta) [1874006] - tools resolve_btfids: Add support for set symbols (Yauheni Kaliuta) [1874006] - tools resolve_btfids: Add size check to get_id function (Yauheni Kaliuta) [1874006] - bpf: Disallow BPF_PRELOAD in allmodconfig builds (Yauheni Kaliuta) [1874006] - bpf: Add selftests for local_storage (Yauheni Kaliuta) [1874006] - bpf: Allow local storage to be used from LSM programs (Yauheni Kaliuta) [1874006] - bpf: Implement bpf_local_storage for inodes (Yauheni Kaliuta) [1874006] - bpf: Split bpf_local_storage to bpf_sk_storage (Yauheni Kaliuta) [1874006] - bpf: Generalize bpf_sk_storage (Yauheni Kaliuta) [1874006] - bpf: Generalize caching for sk_storage. (Yauheni Kaliuta) [1874006] - bpf: Renames in preparation for bpf_local_storage (Yauheni Kaliuta) [1874006] - selftests/bpf: Enable tc verbose mode for test_sk_assign (Yauheni Kaliuta) [1874006] - samples: bpf: Refactor tracepoint tracing programs with libbpf (Yauheni Kaliuta) [1874006] - samples: bpf: Refactor kprobe tracing programs with libbpf (Yauheni Kaliuta) [1874006] - selftests: bpf: Fix sockmap update nits (Yauheni Kaliuta) [1874006] - libbpf: Fix type compatibility check copy-paste error (Yauheni Kaliuta) [1874006] - libbpf: Avoid false unuinitialized variable warning in bpf_core_apply_relo (Yauheni Kaliuta) [1874006] - bpf: sk_lookup: Add user documentation (Yauheni Kaliuta) [1874006] - docs: Correct subject prefix and update LLVM info (Yauheni Kaliuta) [1874006] - libbpf: Normalize and improve logging across few functions (Yauheni Kaliuta) [1874006] - libbpf: Skip well-known ELF sections when iterating ELF (Yauheni Kaliuta) [1874006] - libbpf: Add __noinline macro to bpf_helpers.h (Yauheni Kaliuta) [1874006] - libbpf: Factor out common ELF operations and improve logging (Yauheni Kaliuta) [1874006] - libbpf: Add perf_buffer APIs for better integration with outside epoll loop (Yauheni Kaliuta) [1874006] - bpftool: Implement link_query for bpf iterators (Yauheni Kaliuta) [1874006] - bpf: Implement link_query callbacks in map element iterators (Yauheni Kaliuta) [1874006] - bpf: Implement link_query for bpf iterators (Yauheni Kaliuta) [1874006] - selftests/bpf: List newest Clang built-ins needed for some CO-RE selftests (Yauheni Kaliuta) [1874006] - selftests/bpf: Fix two minor compilation warnings reported by GCC 4.9 (Yauheni Kaliuta) [1874006] - libbpf: Fix libbpf build on compilers missing __builtin_mul_overflow (Yauheni Kaliuta) [1874006] - libbpf: Fix detection of BPF helper call instruction (Yauheni Kaliuta) [1874006] - selftests/bpf: Add bpffs preload test. (Yauheni Kaliuta) [1874006] - bpf: Add kernel module with user mode driver that populates bpffs. (Yauheni Kaliuta) [1874006] - bpf: Add BPF program and map iterators as built-in BPF programs. (Yauheni Kaliuta) [1874006] - bpf: Factor out bpf_link_by_id() helper. (Yauheni Kaliuta) [1874006] - libbpf: Simplify the return expression of build_map_pin_path() (Yauheni Kaliuta) [1874006] - selftests/bpf: Add tests for ENUMVAL_EXISTS/ENUMVAL_VALUE relocations (Yauheni Kaliuta) [1874006] - libbpf: Implement enum value-based CO-RE relocations (Yauheni Kaliuta) [1874006] - selftests/bpf: Add CO-RE relo test for TYPE_ID_LOCAL/TYPE_ID_TARGET (Yauheni Kaliuta) [1874006] - selftests/bpf: Test TYPE_EXISTS and TYPE_SIZE CO-RE relocations (Yauheni Kaliuta) [1874006] - libbpf: Implement type-based CO-RE relocations support (Yauheni Kaliuta) [1874006] - libbpf: Centralize poisoning and poison reallocarray() (Yauheni Kaliuta) [1874006] - tools/bpftool: Remove libbpf_internal.h usage in bpftool (Yauheni Kaliuta) [1874006] - selftests/bpf: Add test validating failure on ambiguous relocation value (Yauheni Kaliuta) [1874006] - libbpf: Improve relocation ambiguity detection (Yauheni Kaliuta) [1874006] - libbpf: Detect minimal BTF support and skip BTF loading, if missing (Yauheni Kaliuta) [1874006] - libbpf: Sanitize BPF program code for bpf_probe_read_{kernel, user}[_str] (Yauheni Kaliuta) [1874006] - libbpf: Factor out common logic of testing and closing FD (Yauheni Kaliuta) [1874006] - libbpf: Make kernel feature probing lazy (Yauheni Kaliuta) [1874006] - libbpf: Disable -Wswitch-enum compiler warning (Yauheni Kaliuta) [1874006] - libbpf: Convert comma to semicolon (Yauheni Kaliuta) [1874006] - samples: bpf: Fix broken bpf programs due to removed symbol (Yauheni Kaliuta) [1874006] - bpf: Replace GPLv2 boilerplate/reference with SPDX - rule 206 (Jiri Benc) [1874006] - LSM: Make some functions static (Yauheni Kaliuta) [1874006] - LSM: Make lsm_early_cred() and lsm_early_task() local functions. (Yauheni Kaliuta) [1874006] - LSM: Infrastructure management of the ipc security blob (Yauheni Kaliuta) [1874006] - LSM: Infrastructure management of the task security (Yauheni Kaliuta) [1874006] - LSM: Infrastructure management of the inode security (Yauheni Kaliuta) [1874006] - LSM: Infrastructure management of the file security (Yauheni Kaliuta) [1874006] - Infrastructure management of the cred security blob (Yauheni Kaliuta) [1874006] - kernel: move CONFIG_TASKS_TRACE_RCU fields to task_struct_rh (Jiri Benc) [1874006] - kernel: store pointer to task_struct in task_struct_rh (Jiri Benc) [1874006]- igb: Add double-check MTA_REGISTER for i210 and i211 (Corinna Vinschen) [1920286] - igb: Redistribute memory for transmit packet buffers when in Qav mode (Corinna Vinschen) [1920286] - igb: Fix fall-through warnings for Clang (Corinna Vinschen) [1920286] - intel: clean up mismatched header comments (Corinna Vinschen) [1920286] - igb: check timestamp validity (Corinna Vinschen) [1920286] - igb: Fix duplicate include guard (Corinna Vinschen) [1920286] - intel: Update drivers to use ethtool_sprintf (Corinna Vinschen) [1920286] - net: ethernet: intel: igb: Typo fix in the file igb_main.c (Corinna Vinschen) [1920286] - igb: avoid premature Rx buffer reuse (Corinna Vinschen) [1920286] - igb: remove h from printk format specifier (Corinna Vinschen) [1920286] - igb: Enable RSS for Intel I211 Ethernet Controller (Corinna Vinschen) [1920286] - igb: fix TDBAL register show incorrect value (Corinna Vinschen) [1920286] - net: igb: use skb_csum_is_sctp instead of protocol check (Corinna Vinschen) [1920286] - igb: avoid transmit queue timeout in xdp path (Corinna Vinschen) [1920286] - igb: use xdp_do_flush (Corinna Vinschen) [1920286] - igb: skb add metasize for xdp (Corinna Vinschen) [1920286] - igb: XDP extack message on error (Corinna Vinschen) [1920286] - igb: take VLAN double header into account (Corinna Vinschen) [1920286] - igb: XDP xmit back fix error code (Corinna Vinschen) [1920286] - igb: add XDP support (Corinna Vinschen) [1920286] - r8169: don't advertise pause in jumbo mode (Josef Oskera) [1935346] - r8169: fix DMA being used after buffer free if WoL is enabled (Josef Oskera) [1935346] - r8169: fix r8168fp_adjust_ocp_cmd function (Josef Oskera) [1935346] - r8169: use macro pm_ptr (Josef Oskera) [1935346] - r8169: fix resuming from suspend on RTL8105e if machine runs on battery (Josef Oskera) [1935346] - r8169: handle tx before rx in napi poll (Josef Oskera) [1935346] - r8169: disable detection of bogus xid's 308/388 (Josef Oskera) [1935346] - r8169: re-configure WOL settings on resume from hibernation (Josef Oskera) [1935346] - r8169: don't try to disable interrupts if NAPI is scheduled already (Josef Oskera) [1935346] - r8169: Add support for another RTL8168FP (Josef Oskera) [1935346] - r8169: fix WoL on shutdown if CONFIG_DEBUG_SHIRQ is set (Josef Oskera) [1935346] - r8169: work around RTL8125 UDP hw bug (Josef Oskera) [1935346] - r8169: remove not needed call to rtl_wol_enable_rx from rtl_shutdown (Josef Oskera) [1935346] - r8169: improve DASH support (Josef Oskera) [1935346] - r8169: improve rtl8169_rx_csum (Josef Oskera) [1935346] - r8169: align rtl_wol_suspend_quirk with vendor driver and rename it (Josef Oskera) [1935346] - r8169: clean up rtl_pll_power_down/up functions (Josef Oskera) [1935346] - r8169: improve handling D3 PLL power-down (Josef Oskera) [1935346] - r8169: enable PLL power-down for chip versions 34, 35, 36, 42 (Josef Oskera) [1935346] - r8169: make use of the unaligned access helpers (Josef Oskera) [1935346] - r8169: tweak max read request size for newer chips also in jumbo mtu mode (Josef Oskera) [1935346] - r8169: align RTL8168e jumbo pcie read request size with vendor driver (Josef Oskera) [1935346] - r8169: don't wakeup-enable device on shutdown if WOL is disabled (Josef Oskera) [1935346] - r8169: improve rtl_ocp_reg_failure (Josef Oskera) [1935346] - r8169: replace BUG_ON with WARN in _rtl_eri_write (Josef Oskera) [1935346] - r8169: improve RTL8168g PHY suspend quirk (Josef Oskera) [1935346] - r8169: move ERI access functions to avoid forward declaration (Josef Oskera) [1935346] - r8169: work around power-saving bug on some chip versions (Josef Oskera) [1935346] - r8169: make NUM_RX_DESC a signed int (Josef Oskera) [1935346] - r8169: improve rtl_rx (Josef Oskera) [1935346] - r8169: set tc_offset only if tally counter reset isn't supported (Josef Oskera) [1935346] - net: phy: realtek: read actual speed on rtl8211f to detect downshift (Josef Oskera) [1935346] - r8169: use dev_err_probe in rtl_get_ether_clk (Josef Oskera) [1935346] - r8169: reduce number of workaround doorbell rings (Josef Oskera) [1935346] - r8169: remove not needed check in rtl8169_start_xmit (Josef Oskera) [1935346] - r8169: remove nr_frags argument from rtl_tx_slots_avail (Josef Oskera) [1935346] - r8169: improve rtl8169_start_xmit (Josef Oskera) [1935346] - r8169: improve rtl_tx (Josef Oskera) [1935346] - r8169: use READ_ONCE in rtl_tx_slots_avail (Josef Oskera) [1935346] - net: phy: realtek: support paged operations on RTL8201CP (Josef Oskera) [1935346] - r8169: disable hw csum for short packets on all chip versions (Josef Oskera) [1935346] - r8169: fix potential skb double free in an error path (Josef Oskera) [1935346] - r8169: work around short packet hw bug on RTL8125 (Josef Oskera) [1935346] - net: phy: realtek: Add support for RTL8221B-CG series (Josef Oskera) [1935346] - r8169: set IRQF_NO_THREAD if MSI(X) is enabled (Josef Oskera) [1935346] - r8169: align number of tx descriptors with vendor driver (Josef Oskera) [1935346] - r8169: use pm_runtime_put_sync in rtl_open error path (Josef Oskera) [1935346] - r8169: remove unneeded memory barrier in rtl_tx (Josef Oskera) [1935346] - r8169: remove no longer needed private rx/tx packet/byte counters (Josef Oskera) [1935346] - r8169: use struct pcpu_sw_netstats for rx/tx packet/byte counters (Josef Oskera) [1935346] - treewide: Use fallthrough pseudo-keyword (Josef Oskera) [1935346] - r8169: fix jumbo packet handling on RTL8168e (Josef Oskera) [1915314] - sctp: delay auto_asconf init until binding the first addr (Xin Long) [1952020] - netfilter: x_tables: fix compat match/target pad out-of-bound write (Florian Westphal) [1950014] - netfilter: arp_tables: add pre_exit hook for table unregister (Florian Westphal) [1950014] - netfilter: bridge: add pre_exit hooks for ebtable unregistration (Florian Westphal) [1950014] - netfilter: nft_limit: avoid possible divide error in nft_limit_init (Florian Westphal) [1950014] - netfilter: conntrack: do not print icmpv6 as unknown via /proc (Florian Westphal) [1950014] - netfilter: flowtable: fix NAT IPv6 offload mangling (Florian Westphal) [1950014] - netfilter: flowtable: Make sure GC works periodically in idle system (Florian Westphal) [1950014] - netfilter: nftables: report EOPNOTSUPP on unsupported flowtable flags (Florian Westphal) [1950014] - netfilter: ctnetlink: fix dump of the expect mask attribute (Florian Westphal) [1950014] - netfilter: x_tables: gpf inside xt_find_revision() (Florian Westphal) [1950014] - netfilter: conntrack: skip identical origin tuple in same zone only (Florian Westphal) [1950014] - flow_dissector: fix byteorder of dissected ICMP ID (Paolo Abeni) [1950288] - flow_dissector: fix TTL and TOS dissection on IPv4 fragments (Paolo Abeni) [1950288] - net: Disable NETIF_F_HW_TLS_RX when RXCSUM is disabled (Paolo Abeni) [1950288] - net: core: devlink: use right genl user_ptr when handling port param get/set (Paolo Abeni) [1950288] - net_sched: gen_estimator: support large ewma log (Paolo Abeni) [1950288] - net: Allow NETIF_F_HW_TLS_TX if IP_CSUM && IPV6_CSUM (Paolo Abeni) [1950288] - net: Disable NETIF_F_HW_TLS_TX when HW_CSUM is disabled (Paolo Abeni) [1950288] - devlink: Add devlink port documentation (Petr Oros) [1935708] - devlink: Support get and set state of port function (Petr Oros) [1935708] - devlink: Support add and delete devlink port (Petr Oros) [1935708] - devlink: Introduce PCI SF port flavour and port attribute (Petr Oros) [1935708] - devlink: Prepare code to fill multiple port function attributes (Petr Oros) [1935708] - net: core: devlink: simplify the return expression of devlink_nl_cmd_trap_set_doit() (Petr Oros) [1935708] - video: hyperv_fb: Add ratelimit on error message (Mohammed Gamal) [1957804] - ovl: allow upperdir inside lowerdir (Miklos Szeredi) [1903647] - i2c: i801: Add support for Intel Alder Lake PCH-P (Steve Best) [1929488] - pinctrl: tigerlake: Add Alder Lake-P ACPI ID (Steve Best) [1929492] - xfs: set aside allocation btree blocks from block reservation (Brian Foster) [1911738] - xfs: introduce in-core global counter of allocbt blocks (Brian Foster) [1911738] - xfs: unconditionally read all AGFs on mounts with perag reservation (Brian Foster) [1911738] - xfs: drop unnecessary setfilesize helper (Brian Foster) [1942348] - xfs: drop unused ioend private merge and setfilesize code (Brian Foster) [1942348] - xfs: open code ioend needs workqueue helper (Brian Foster) [1942348] - xfs: drop submit side trans alloc for append ioends (Brian Foster) [1942348] - blk-mq: Use request queue-wide tags for tagset-wide sbitmap (Ming Lei) [1932145] - blk-mq: Some tag allocation code refactoring (Ming Lei) [1932145] - blk-mq: Swap two calls in blk_mq_exit_queue() (Ming Lei) [1932145] - blk-mq: plug request for shared sbitmap (Ming Lei) [1932145] - blk-mq: set default elevator as deadline in case of hctx shared tagset (Ming Lei) [1932145] - powerpc/perf: Fix PMU constraint check for EBB events (Diego Domingos) [1926573] - s390/idle: fix suspicious RCU usage (Waiman Long) [1963142] - x86/cpu: Add another Alder Lake CPU to the Intel family (Steve Best) [1962033] - x86/split_lock: Don't write MSR_TEST_CTRL on CPUs that aren't whitelisted (Prarit Bhargava) [1837350] - Documentation/admin-guide: Change doc for split_lock_detect parameter (Prarit Bhargava) [1837350] - x86/traps: Handle #DB for bus lock (Prarit Bhargava) [1837350] - x86/cpufeatures: Enumerate #DB for bus lock detection (Prarit Bhargava) [1837350] - x86/split_lock: Enable the split lock feature on another Alder Lake CPU (Prarit Bhargava) [1925373] - x86/cpu: Add another Alder Lake CPU to the Intel family (Prarit Bhargava) [1925373] - x86/split_lock: Enable the split lock feature on Sapphire Rapids and Alder Lake CPUs (Prarit Bhargava) [1925373]- libbpf: Add user-space variants of BPF_CORE_READ() family of macros (Jiri Olsa) [1896362] - libbpf: Switch tracing and CO-RE helper macros to bpf_probe_read_kernel() (Jiri Olsa) [1896362] - selftests/bpf: Fix test_vmlinux test to use bpf_probe_read_user() (Jiri Olsa) [1896362] - samples/bpf, selftests/bpf: Use bpf_probe_read_kernel (Jiri Olsa) [1896362] - bpf: Restrict bpf_probe_read{, str}() only to archs where they work (Jiri Olsa) [1896362] - perf/x86/intel/uncore: Add Rocket Lake support (Michael Petlan) [1837502] - perf/x86/cstate: Add Rocket Lake CPU support (Michael Petlan) [1837497] - perf/x86/intel: Add Rocket Lake CPU support (Michael Petlan) [1837497] - perf/x86/msr: Add Rocket Lake CPU support (Michael Petlan) [1837497] - tick/nohz: Kick only _queued_ task whose tick dependency is updated (Waiman Long) [1922901] - tick/nohz: Change signal tick dependency to wake up CPUs of member tasks (Waiman Long) [1922901] - tick/nohz: Only wake up a single target cpu when kicking a task (Waiman Long) [1922901] - tick/nohz: Narrow down noise while setting current task's tick dependency (Waiman Long) [1922901] - sched/fair: Fix shift-out-of-bounds in load_balance() (Phil Auld) [1958730] - redhat/configs: Update torture test configs (Waiman Long) [1941211] - rcu: Do not report strict GPs for outgoing CPUs (Waiman Long) [1941211] - rcu,ftrace: Fix ftrace recursion (Waiman Long) [1941211] - arm64: smp: Tell RCU about CPUs that fail to come online (Waiman Long) [1941211] - rcu: Don't invoke try_invoke_on_locked_down_task() with irqs disabled (Waiman Long) [1941211] - rcu-tasks: Enclose task-list scan in rcu_read_lock() (Waiman Long) [1941211] - rcu-tasks: Fix low-probability task_struct leak (Waiman Long) [1941211] - rcu-tasks: Fix grace-period/unlock race in RCU Tasks Trace (Waiman Long) [1941211] - rcu-tasks: Shorten per-grace-period sleep for RCU Tasks Trace (Waiman Long) [1941211] - rcu-tasks: Selectively enable more RCU Tasks Trace IPIs (Waiman Long) [1941211] - rcu-tasks: Use more aggressive polling for RCU Tasks Trace (Waiman Long) [1941211] - rcu-tasks: Mark variables static (Waiman Long) [1941211] - rcu-tasks: Prevent complaints of unused show_rcu_tasks_classic_gp_kthread() (Waiman Long) [1941211] - rcu: Remove unused "cpu" parameter from rcu_report_qs_rdp() (Waiman Long) [1941211] - torture: Add gdb support (Waiman Long) [1941211] - rcuperf: Change rcuperf to rcuscale (Waiman Long) [1941211] - sched,rcuperf: Convert to sched_set_fifo_low() (Waiman Long) [1941211] - rcu/rcuperf: Convert to SPDX license identifier (Waiman Long) [1941211] - rcutorture: Allow pointer leaks to test diagnostic code (Waiman Long) [1941211] - rcu: Report QS for outermost PREEMPT=n rcu_read_unlock() for strict GPs (Waiman Long) [1941211] - rcu: locking and unlocking need to always be at least barriers (Waiman Long) [1941211] - rcu: Execute RCU reader shortly after rcu_core for strict GPs (Waiman Long) [1941211] - rcu: Provide optional RCU-reader exit delay for strict GPs (Waiman Long) [1941211] - rcu: Make FQS more aggressive in complaining about offline CPUs (Waiman Long) [1941211] - rcu: Clarify comments about FQS loop reporting quiescent states (Waiman Long) [1941211] - rcu: IPI all CPUs at GP end for strict GPs (Waiman Long) [1941211] - rcu: IPI all CPUs at GP start for strict GPs (Waiman Long) [1941211] - rcu: Attempt QS when CPU discovers GP for strict GPs (Waiman Long) [1941211] - rcu: Do full report for .need_qs for strict GPs (Waiman Long) [1941211] - rcu: Always set .need_qs from __rcu_read_lock() for strict GPs (Waiman Long) [1941211] - rcu: Force DEFAULT_RCU_BLIMIT to 1000 for strict RCU GPs (Waiman Long) [1941211] - rcu: Restrict default jiffies_till_first_fqs for strict RCU GPs (Waiman Long) [1941211] - rcu: Reduce leaf fanout for strict RCU grace periods (Waiman Long) [1941211] - rcu: Add Kconfig option for strict RCU grace periods (Waiman Long) [1941211] - rcu/nocb: Add a warning for non-GP kthread running GP code (Waiman Long) [1941211] - rcu: Move rcu_cpu_started per-CPU variable to rcu_data (Waiman Long) [1941211] - scftorture: Add cond_resched() to test loop (Waiman Long) [1941211] - rcutorture: Hoist OOM registry up one level (Waiman Long) [1941211] - rcutorture: Properly synchronize with OOM notifier (Waiman Long) [1941211] - rcutorture: Properly set rcu_fwds for OOM handling (Waiman Long) [1941211] - torture: Add kvm.sh --help and update help message (Waiman Long) [1941211] - refperf: Avoid null pointer dereference when buf fails to allocate (Waiman Long) [1941211] - rcutorture: Add CONFIG_PROVE_RCU_LIST to TREE05 (Waiman Long) [1941211] - torture: Update initrd documentation (Waiman Long) [1941211] - rcutorture: Replace HTTP links with HTTPS ones (Waiman Long) [1941211] - rcu: Fix kerneldoc comments in rcupdate.h (Waiman Long) [1941211] - scftorture: Adapt memory-ordering test to UP operation (Waiman Long) [1941211] - torture: document --allcpus argument added to the kvm.sh script (Waiman Long) [1941211] - scftorture: Block scftorture_invoker() kthreads for offline CPUs (Waiman Long) [1941211] - scftorture: Check unexpected "switch" statement value (Waiman Long) [1941211] - scftorture: Make symbol 'scf_torture_rand' static (Waiman Long) [1941211] - scftorture: Prevent compiler from reducing race probabilities (Waiman Long) [1941211] - scftorture: Flag errors in torture-compatible manner (Waiman Long) [1941211] - scftorture: Consolidate scftorture_invoke_one() scf_check initialization (Waiman Long) [1941211] - scftorture: Consolidate scftorture_invoke_one() check and kfree() (Waiman Long) [1941211] - scftorture: Add smp_call_function() memory-ordering checks (Waiman Long) [1941211] - scftorture: Add smp_call_function_many() memory-ordering checks (Waiman Long) [1941211] - scftorture: Add smp_call_function_single() memory-ordering checks (Waiman Long) [1941211] - scftorture: Summarize per-thread statistics (Waiman Long) [1941211] - torture: Declare parse-console.sh independence from rcutorture (Waiman Long) [1941211] - tick-sched: Clarify "NOHZ: local_softirq_pending" warning (Waiman Long) [1941211] - scftorture: Implement weighted primitive selection (Waiman Long) [1941211] - torture: Add scftorture to the rcutorture scripting (Waiman Long) [1941211] - scftorture: Add smp_call_function() torture test (Waiman Long) [1941211] - rcu: Add READ_ONCE() to rcu_do_batch() access to rcu_cpu_stall_ftrace_dump (Waiman Long) [1941211] - rcu: Add READ_ONCE() to rcu_do_batch() access to rcu_kick_kthreads (Waiman Long) [1941211] - rcu: Add READ_ONCE() to rcu_do_batch() access to rcu_resched_ns (Waiman Long) [1941211] - rcu: Add READ_ONCE() to rcu_do_batch() access to rcu_divisor (Waiman Long) [1941211] - nocb: Remove show_rcu_nocb_state() false positive printout (Waiman Long) [1941211] - rcu/tree: Remove CONFIG_PREMPT_RCU check in force_qs_rnp() (Waiman Long) [1941211] - nocb: Clarify RCU nocb CPU error message (Waiman Long) [1941211] - rcu/tree: Force quiescent state on callback overload (Waiman Long) [1941211] - rcu/trace: Use gp_seq_req in acceleration's rcu_grace_period tracepoint (Waiman Long) [1941211] - rcu/trace: Print negative GP numbers correctly (Waiman Long) [1941211] - rcutorture: Output number of elapsed grace periods (Waiman Long) [1941211] - rcu: Initialize at declaration time in rcu_exp_handler() (Waiman Long) [1941211] - rcu: Remove KCSAN stubs from update.c (Waiman Long) [1941211] - rcu: Remove KCSAN stubs (Waiman Long) [1941211] - srcu: Remove KCSAN stubs (Waiman Long) [1941211] - rcutorture: Remove KCSAN stubs (Waiman Long) [1941211] - refscale: Change --torture type from refperf to refscale (Waiman Long) [1941211] - refperf: Rename refperf.c to refscale.c and change internal names (Waiman Long) [1941211] - refperf: Rename RCU_REF_PERF_TEST to RCU_REF_SCALE_TEST (Waiman Long) [1941211] - torture: Remove obsolete "cd $KVM" (Waiman Long) [1941211] - torture: Avoid duplicate specification of qemu command (Waiman Long) [1941211] - torture: Dump ftrace at shutdown only if requested (Waiman Long) [1941211] - torture: Add kvm-tranform.sh script for qemu-cmd files (Waiman Long) [1941211] - torture: Add more tracing crib notes to kvm.sh (Waiman Long) [1941211] - torture: Improve diagnostic for KCSAN-incapable compilers (Waiman Long) [1941211] - torture: Correctly summarize build-only runs (Waiman Long) [1941211] - torture: Pass --kmake-arg to all make invocations (Waiman Long) [1941211] - kernel/rcu/tree.c: Fix kernel-doc warnings (Waiman Long) [1941211] - rcu-tasks: Fix synchronize_rcu_tasks_trace() header comment (Waiman Long) [1941211] - rcu: grpnum just records group number (Waiman Long) [1941211] - rcu: grplo/grphi just records CPU number (Waiman Long) [1941211] - rcu: gp_max is protected by root rcu_node's lock (Waiman Long) [1941211] - rcutorture: Check for unwatched readers (Waiman Long) [1941211] - torture: Abstract out console-log error detection (Waiman Long) [1941211] - torture: Add a stop-run capability (Waiman Long) [1941211] - rcu-tasks: Fix code-style issues (Waiman Long) [1941211] - torture: Create qemu-cmd in --buildonly runs (Waiman Long) [1941211] - rcu: Stop shrinker loop (Waiman Long) [1941211] - refperf: Add test for RCU Tasks readers (Waiman Long) [1941211] - refperf: Add test for RCU Tasks Trace readers. (Waiman Long) [1941211] - rcu: Replace 1 with true (Waiman Long) [1941211] - rcu/rcutorture: Replace 0 with false (Waiman Long) [1941211] - refperf: Change readdelay module parameter to nanoseconds (Waiman Long) [1941211] - refperf: Work around 64-bit division (Waiman Long) [1941211] - doc: Document rcuperf's module parameters (Waiman Long) [1941211] - refperf: Adjust refperf.loop default value (Waiman Long) [1941211] - rcu-tasks: Conditionally compile show_rcu_tasks_gp_kthreads() (Waiman Long) [1941211] - rcu-tasks: Add #include of rcupdate_trace.h to update.c (Waiman Long) [1941211] - rcu-tasks: Make rcu_tasks_postscan() be static (Waiman Long) [1941211] - refperf: Add read-side delay module parameter (Waiman Long) [1941211] - lockdep: Complain only once about RCU in extended quiescent state (Waiman Long) [1941211] - refperf: Simplify initialization-time wakeup protocol (Waiman Long) [1941211] - rcu: Allow for smp_call_function() running callbacks from idle (Waiman Long) [1941211] - refperf: Output per-experiment data points (Waiman Long) [1941211] - refperf: Label experiment-number column "Runs" (Waiman Long) [1941211] - refperf: Add warmup and cooldown processing phases (Waiman Long) [1941211] - refperf: More closely synchronize reader start times (Waiman Long) [1941211] - refperf: Convert reader_task structure's "start" field to int (Waiman Long) [1941211] - refperf: Tune reader measurement interval (Waiman Long) [1941211] - refperf: Make functions static (Waiman Long) [1941211] - srcu: Avoid local_irq_save() before acquiring spinlock_t (Waiman Long) [1941211] - refperf: Dynamically allocate thread-summary output buffer (Waiman Long) [1941211] - refperf: Dynamically allocate experiment-summary output buffer (Waiman Long) [1941211] - refperf: Provide module parameter to specify number of experiments (Waiman Long) [1941211] - refperf: Convert nreaders to a module parameter (Waiman Long) [1941211] - refperf: Allow decimal nanoseconds (Waiman Long) [1941211] - refperf: Hoist function-pointer calls out of the loop (Waiman Long) [1941211] - rcu: Introduce single argument kvfree_rcu() interface (Waiman Long) [1941211] - refperf: Add holdoff parameter to allow CPUs to come online (Waiman Long) [1941211] - torture: Add refperf to the rcutorture scripting (Waiman Long) [1941211] - rcuperf: Add comments explaining the high reader overhead (Waiman Long) [1941211] - refperf: Add a test to measure performance of read-side synchronization (Waiman Long) [1941211] - rcuperf: Remove useless while loops around wait_event (Waiman Long) [1941211] - rcu: Provide rcu_irq_exit_check_preempt() (Waiman Long) [1941211] - sched,rcu,tracing: Avoid tracing before in_nmi() is correct (Waiman Long) [1941211] - hardirq/nmi: Allow nested nmi_enter() (Waiman Long) [1941211] - powerpc/64s: Include header file to fix a warning (Waiman Long) [1941211] - powerpc/64s: system reset interrupt preserve HSRRs (Waiman Long) [1941211] - powerpc/64s: Fix HV NMI vs HV interrupt recoverability test (Waiman Long) [1941211] - powerpc/traps: fix recoverability of machine check handling on book3s/32 (Waiman Long) [1941211] - powerpc/traps: restore recoverability of machine_check interrupts (Waiman Long) [1941211] - rcu: Mark rcu_nmi_enter() call to rcu_cleanup_after_idle() noinstr (Waiman Long) [1941211] - rcu: Remove initialized but unused rnp from check_slow_task() (Waiman Long) [1941211] - rcu: Update comment from rsp->rcu_gp_seq to rsp->gp_seq (Waiman Long) [1941211] - rcu: Provide __rcu_is_watching() (Waiman Long) [1941211] - doc: Tasks RCU must protect instructions before trampoline (Waiman Long) [1941211] - fs/btrfs: Add cond_resched() for try_release_extent_mapping() stalls (Waiman Long) [1941211] - rcu-tasks: Convert sleeps to idle priority (Waiman Long) [1941211] - rcu: Expedited grace-period sleeps to idle priority (Waiman Long) [1941211] - rcu: No-CBs-related sleeps to idle priority (Waiman Long) [1941211] - rcu: Priority-boost-related sleeps to idle priority (Waiman Long) [1941211] - rcu: Grace-period-kthread related sleeps to idle priority (Waiman Long) [1941211] - torture: Add --allcpus argument to the kvm.sh script (Waiman Long) [1941211] - torture: Remove whitespace from identify_qemu_vcpus output (Waiman Long) [1941211] - torture: Add script to smoke-test commits in a branch (Waiman Long) [1941211] - trace: events: rcu: Change description of rcu_dyntick trace event (Waiman Long) [1941211] - rcu: Add comment documenting rcu_callback_map's purpose (Waiman Long) [1941211] - rcu: Provide rcu_irq_exit_preempt() (Waiman Long) [1941211] - rcu: Add callbacks-invoked counters (Waiman Long) [1941211] - doc: Timer problems can cause RCU CPU stall warnings (Waiman Long) [1941211] - torture: Remove qemu dependency on EFI firmware (Waiman Long) [1941211] - rcutorture: NULL rcu_torture_current earlier in cleanup code (Waiman Long) [1941211] - rcutorture: Handle non-statistic bang-string error messages (Waiman Long) [1941211] - torture: Set configfile variable to current scenario (Waiman Long) [1941211] - rcutorture: Add races with task-exit processing (Waiman Long) [1941211] - docs: RCU: Don't duplicate chapter names in rculist_nulls.rst (Waiman Long) [1941211] - docs: RCU: Convert stallwarn.txt to ReST (Waiman Long) [1941211] - docs: RCU: Convert rcuref.txt to ReST (Waiman Long) [1941211] - docs: RCU: Convert torture.txt to ReST (Waiman Long) [1941211] - docs: RCU: Convert rculist_nulls.txt to ReST (Waiman Long) [1941211] - docs: RCU: Convert lockdep.txt to ReST (Waiman Long) [1941211] - docs: RCU: Convert lockdep-splat.txt to ReST (Waiman Long) [1941211] - docs: RCU: Convert checklist.txt to ReST (Waiman Long) [1941211] - doc: Add rcutorture scripting to torture.txt (Waiman Long) [1941211] - doc: Fix typo "deference" to "dereference" (Waiman Long) [1941211] - docs: locking: convert docs to ReST and rename to *.rst (Waiman Long) [1941211] - doc/rcuref: Document real world examples in kernel (Waiman Long) [1941211] - Documentation/locking/lockdep: Drop last two chars of sample states (Waiman Long) [1941211] - doc: rcu: Suspicious RCU usage is a warning (Waiman Long) [1941211] - RCU/torture.txt: Remove section MODULE PARAMETERS (Waiman Long) [1941211] - Documentation/lockstat: Fix trivial typo (Waiman Long) [1941211] - rcu: Simplify the calculation of rcu_state.ncpus (Waiman Long) [1941211] - srcu: Fix a typo in comment "amoritized"->"amortized" (Waiman Long) [1941211] - rcuperf: Fix printk format warning (Waiman Long) [1941211] - mm/mmap.c: Add cond_resched() for exit_mmap() CPU stalls (Waiman Long) [1941211] - rcu: Initialize and destroy rcu_synchronize only when necessary (Waiman Long) [1941211] - rcu: Add KCSAN stubs to update.c (Waiman Long) [1941211] - rcu: Add KCSAN stubs (Waiman Long) [1941211] - srcu: Add KCSAN stubs (Waiman Long) [1941211] - rcutorture: Add KCSAN stubs (Waiman Long) [1941211] - rcu/rcutorture: Convert to SPDX license identifier (Waiman Long) [1941211] - rcu: Convert rcu_nohz_full_cpu() ULONG_CMP_LT() to time_before() (Waiman Long) [1941211] - rcu: Convert rcu_initiate_boost() ULONG_CMP_GE() to time_after() (Waiman Long) [1941211] - rcutorture: Convert ULONG_CMP_LT() to time_before() (Waiman Long) [1941211] - rcu: Convert ULONG_CMP_GE() to time_after() for jiffy comparison (Waiman Long) [1941211] - rcu: Add rcu_gp_might_be_stalled() (Waiman Long) [1941211] - torture: Add a --kasan argument (Waiman Long) [1941211] - torture: Save a few lines by using config_override_param initially (Waiman Long) [1941211] - torture: Allow scenario-specific Kconfig options to override CFcommon (Waiman Long) [1941211] - torture: Allow --kconfig options to override --kcsan defaults (Waiman Long) [1941211] - torture: Abstract application of additional Kconfig options (Waiman Long) [1941211] - torture: Eliminate duplicate #CHECK# from ConfigFragment (Waiman Long) [1941211] - torture: Make --kcsan argument also create a summary (Waiman Long) [1941211] - rcutorture: Make rcu_fwds and rcu_fwd_emergency_stop static (Waiman Long) [1941211] - torture: Add --kcsan argument to top-level kvm.sh script (Waiman Long) [1941211] - rcu-tasks: Allow standalone use of TASKS_{TRACE_,}RCU (Waiman Long) [1941211] - rcu: Remove self-stack-trace when all quiescent states seen (Waiman Long) [1941211] - ftrace: Use synchronize_rcu_tasks_rude() instead of ftrace_sync() (Waiman Long) [1941211] - ftrace: Protect ftrace_graph_hash with ftrace_sync (Waiman Long) [1941211] - ftrace: Add comment to why rcu_dereference_sched() is open coded (Waiman Long) [1941211] - tracing: Annotate ftrace_graph_notrace_hash pointer with __rcu (Waiman Long) [1941211] - tracing: Annotate ftrace_graph_hash pointer with __rcu (Waiman Long) [1941211] - tracing/fgraph: Fix set_graph_function from showing interrupts (Waiman Long) [1941211] - rcu: Allow rcutorture to starve grace-period kthread (Waiman Long) [1941211] - rcu: When GP kthread is starved, tag idle threads as false positives (Waiman Long) [1941211] - rcutorture: Right-size TREE10 CPU consumption (Waiman Long) [1941211] - rcu: Replace 1 by true (Waiman Long) [1941211] - rcutorture: Add test of holding scheduler locks across rcu_read_unlock() (Waiman Long) [1941211] - rcu: Replace assigned pointer ret value by corresponding boolean value (Waiman Long) [1941211] - rcu-tasks: Add IPI failure count to statistics (Waiman Long) [1941211] - rcutorture: Add TRACE02 scenario enabling RCU Tasks Trace IPIs (Waiman Long) [1941211] - rcu-tasks: Add count for idle tasks on offline CPUs (Waiman Long) [1941211] - rcu-tasks: Add rcu_dynticks_zero_in_eqs() effectiveness statistics (Waiman Long) [1941211] - rcu-tasks: Make RCU tasks trace also wait for idle tasks (Waiman Long) [1941211] - rcu-tasks: Handle the running-offline idle-task special case (Waiman Long) [1941211] - rcu-tasks: Disable CPU hotplug across RCU tasks trace scans (Waiman Long) [1941211] - rcu: Mark rcu_state.gp_seq to detect more concurrent writes (Waiman Long) [1941211] - rcu-tasks: Allow rcu_read_unlock_trace() under scheduler locks (Waiman Long) [1941211] - rcu-tasks: Avoid IPIing userspace/idle tasks if kernel is so built (Waiman Long) [1941211] - rcu-tasks: Add Kconfig option to mediate smp_mb() vs. IPI (Waiman Long) [1941211] - rcu-tasks: Add grace-period and IPI counts to statistics (Waiman Long) [1941211] - rcu-tasks: Split ->trc_reader_need_end (Waiman Long) [1941211] - rcu-tasks: Provide boot parameter to delay IPIs until late in grace period (Waiman Long) [1941211] - rcu-tasks: Add a grace-period start time for throttling and debug (Waiman Long) [1941211] - rcu: Get rid of some doc warnings in update.c (Waiman Long) [1941211] - rcu-tasks: Make RCU Tasks Trace make use of RCU scheduler hooks (Waiman Long) [1941211] - rcu-tasks: Use context-switch hook for PREEMPT=y kernels (Waiman Long) [1941211] - rcu-tasks: Make rcutorture writer stall output include GP state (Waiman Long) [1941211] - rcu-tasks: Add RCU tasks to rcutorture writer stall output (Waiman Long) [1941211] - rcuperf: Add ability to increase object allocation size (Waiman Long) [1941211] - rcu-tasks: Move #ifdef into tasks.h (Waiman Long) [1941211] - rcutorture: Add flag to produce non-busy-wait task stalls (Waiman Long) [1941211] - rcu: Add per-task state to RCU CPU stall warnings (Waiman Long) [1941211] - sched/core: Add function to sample state of locked-down task (Waiman Long) [1941211] - rcu-tasks: Add stall warnings for RCU Tasks Trace (Waiman Long) [1941211] - rcutorture: Add torture tests for RCU Tasks Trace (Waiman Long) [1941211] - rcu-tasks: Add an RCU Tasks Trace to simplify protection of tracing hooks (Waiman Long) [1941211] - rcutorture: Add a test for synchronize_rcu_mult() (Waiman Long) [1941211] - rcu: Reinstate synchronize_rcu_mult() (Waiman Long) [1941211] - rcu-tasks: Code movement to allow more Tasks RCU variants (Waiman Long) [1941211] - rcu: Fix the (t=0 jiffies) false positive (Waiman Long) [1941211] - rcu-tasks: Further refactor RCU-tasks to allow adding more variants (Waiman Long) [1941211] - rcu-tasks: Use unique names for RCU-Tasks kthreads and messages (Waiman Long) [1941211] - rcutorture: Add torture tests for RCU Tasks Rude (Waiman Long) [1941211] - rcu-tasks: Add an RCU-tasks rude variant (Waiman Long) [1941211] - rcu-tasks: Refactor RCU-tasks to allow variants to be added (Waiman Long) [1941211] - rcu-tasks: Create struct to hold state information (Waiman Long) [1941211] - rcu-tasks: Move Tasks RCU to its own file (Waiman Long) [1941211] - locktorture.c: Fix if-statement empty body warnings (Waiman Long) [1941211] - rcu: Expedite first two FQS scans under callback-overload conditions (Waiman Long) [1941211] - rcu: Mark rcu_state.gp_seq to detect concurrent writes (Waiman Long) [1941211] - rcutorture: Mark data-race potential for rcu_barrier() test statistics (Waiman Long) [1941211] - rcu: Don't use negative nesting depth in __rcu_read_unlock() (Waiman Long) [1941211] - rcu: Remove unused ->rcu_read_unlock_special.b.deferred_qs field (Waiman Long) [1941211] - rcu: Don't set nesting depth negative in rcu_preempt_deferred_qs() (Waiman Long) [1941211] - rcu: Make rcu_read_unlock_special() safe for rq/pi locks (Waiman Long) [1941211] - rcutorture: Make kvm-recheck-rcu.sh handle truncated lines (Waiman Long) [1941211] - rcu: Make RCU IRQ enter/exit functions rely on in_nmi() (Waiman Long) [1941211] - rcu/tree: Mark the idle relevant functions noinstr (Waiman Long) [1941211] - rcu: Add comments marking transitions between RCU watching and not (Waiman Long) [1941211] - rcu: Update __call_rcu() comments (Waiman Long) [1941211] - rcu: Mark rcu_state.ncpus to detect concurrent writes (Waiman Long) [1941211] - rcu: Use data_race() for RCU CPU stall-warning prints (Waiman Long) [1941211] - rcutorture: Manually clean up after rcu_barrier() failure (Waiman Long) [1941211] - rcutorture: Make rcu_torture_barrier_cbs() post from corresponding CPU (Waiman Long) [1941211] - rcu: Make nocb_gp_wait() double-check unexpected-callback warning (Waiman Long) [1941211] - rcu: Tighten rcu_lockdep_assert_cblist_protected() check (Waiman Long) [1941211] - rcu: Optimize and protect atomic_cmpxchg() loop (Waiman Long) [1941211] - rcu/nocb: Add missing annotation for rcu_nocb_bypass_unlock() (Waiman Long) [1941211] - rcu: Don't flag non-starting GPs before GP kthread is running (Waiman Long) [1941211] - rcu: Fix rcu_barrier_callback() race condition (Waiman Long) [1941211] - rcu: Add WRITE_ONCE() to rcu_state ->gp_start (Waiman Long) [1941211] - rcu: Add missing annotation for rcu_nocb_bypass_lock() (Waiman Long) [1941211] - rcu: Add missing annotation for exit_tasks_rcu_finish() (Waiman Long) [1941211] - rcu: Add missing annotation for exit_tasks_rcu_start() (Waiman Long) [1941211] - rculist: Add brackets around cond argument in __list_check_rcu macro (Waiman Long) [1941211] - rcu: Remove dead code from rcu_segcblist_insert_pend_cbs() (Waiman Long) [1941211] - rcutorture: Annotation lockless accesses to rcu_torture_current (Waiman Long) [1941211] - rcu: Add READ_ONCE() to rcu_data ->gpwrap (Waiman Long) [1941211] - rcu-tasks: *_ONCE() for rcu_tasks_cbs_head (Waiman Long) [1941211] - rcu: Add *_ONCE() for grace-period progress indicators (Waiman Long) [1941211] - rcu: Add WRITE_ONCE() to rcu_node ->boost_tasks (Waiman Long) [1941211] - srcu: Add data_race() to ->srcu_lock_count and ->srcu_unlock_count arrays (Waiman Long) [1941211] - rcutorture: Add READ_ONCE() to rcu_torture_count and rcu_torture_batch (Waiman Long) [1941211] - rcu: Add READ_ONCE() to rcu_segcblist ->tails[] (Waiman Long) [1941211] - rcu: Add WRITE_ONCE() to rcu_node ->qsmaskinitnext (Waiman Long) [1941211] - rcu: Add READ_ONCE and data_race() to rcu_node ->boost_tasks (Waiman Long) [1941211] - rcu: Add WRITE_ONCE() to rcu_state ->gp_req_activity (Waiman Long) [1941211] - rcu: Add READ_ONCE() to rcu_node ->gp_seq (Waiman Long) [1941211] - rcu: Add *_ONCE() and data_race() to rcu_node ->exp_tasks plus locking (Waiman Long) [1941211] - rcu: Add *_ONCE() to rcu_node ->boost_kthread_status (Waiman Long) [1941211] - rcu: Add WRITE_ONCE to rcu_node ->exp_seq_rq store (Waiman Long) [1941211] - srcu: Hold srcu_struct ->lock when updating ->srcu_gp_seq (Waiman Long) [1941211] - rcu: Add WRITE_ONCE() to rcu_node ->qsmask update (Waiman Long) [1941211] - rcu: Provide debug symbols and line numbers in KCSAN runs (Waiman Long) [1941211] - rcu: Fix exp_funnel_lock()/rcu_exp_wait_wake() datarace (Waiman Long) [1941211] - srcu: Fix process_srcu()/srcu_batches_completed() datarace (Waiman Long) [1941211] - srcu: Fix __call_srcu()/srcu_get_delay() datarace (Waiman Long) [1941211] - srcu: Fix __call_srcu()/process_srcu() datarace (Waiman Long) [1941211] - rcutorture: Fix stray access to rcu_fwd_cb_nodelay (Waiman Long) [1941211] - rcutorture: Fix rcu_torture_one_read()/rcu_torture_writer() data race (Waiman Long) [1941211] - rcutorture: Make kvm-find-errors.sh abort on bad directory (Waiman Long) [1941211] - rcutorture: Summarize summary of build and run results (Waiman Long) [1941211] - rcutorture: Add 100-CPU configuration (Waiman Long) [1941211] - rcu: Warn on for_each_leaf_node_cpu_mask() from non-leaf (Waiman Long) [1941211] - rcu: Fix spelling mistake "leval" -> "level" (Waiman Long) [1941211] - torture: Allow disabling of boottime CPU-hotplug torture operations (Waiman Long) [1941211] - rcutorture: Suppress boottime bad-sequence warnings (Waiman Long) [1941211] - rcutorture: Allow boottime stall warnings to be suppressed (Waiman Long) [1941211] - torture: Forgive -EBUSY from boottime CPU-hotplug operations (Waiman Long) [1941211] - rcutorture: Refrain from callback flooding during boot (Waiman Long) [1941211] - torture: Make results-directory date format completion-friendly (Waiman Long) [1941211] - rcutorture: Suppress forward-progress complaints during early boot (Waiman Long) [1941211] - timer: Use hlist_unhashed_lockless() in timer_pending() (Waiman Long) [1941211] - rcu: React to callback overload by boosting RCU readers (Waiman Long) [1941211] - rcu: React to callback overload by aggressively seeking quiescent states (Waiman Long) [1941211] - rcu: Add and update docbook header comments in list.h (Waiman Long) [1941211] - list: Add hlist_unhashed_lockless() (Waiman Long) [1941211] - list: Don't use WRITE_ONCE() in hlist_add_behind() (Waiman Long) [1941211] - kcsan: Introduce ASSERT_EXCLUSIVE_BITS(var, mask) (Waiman Long) [1941211] - kcsan: Add kcsan_set_access_mask() support (Waiman Long) [1941211] - kcsan: Introduce kcsan_value_change type (Waiman Long) [1941211] - kcsan: Move interfaces that affects checks to kcsan-checks.h (Waiman Long) [1941211] - kcsan: Fix misreporting if concurrent races on same address (Waiman Long) [1941211] - kcsan: Expose core configuration parameters as module params (Waiman Long) [1941211] - kcsan: Add test to generate conflicts via debugfs (Waiman Long) [1941211] - kcsan: Introduce ASSERT_EXCLUSIVE_*() macros (Waiman Long) [1941211] - kcsan: Introduce KCSAN_ACCESS_ASSERT access type (Waiman Long) [1941211] - kcsan: Fix 0-sized checks (Waiman Long) [1941211] - kcsan: Clean up the main KCSAN Kconfig option (Waiman Long) [1941211] - kcsan: Clarify Kconfig option KCSAN_IGNORE_ATOMICS (Waiman Long) [1941211] - kcsan: Add option to assume plain aligned writes up to word size are atomic (Waiman Long) [1941211] - kcsan: Add docbook header for data_race() (Waiman Long) [1941211] - kcsan: Address missing case with KCSAN_REPORT_VALUE_CHANGE_ONLY (Waiman Long) [1941211] - include/linux: Add instrumented.h infrastructure (Waiman Long) [1941211] - kcsan: Make KCSAN compatible with lockdep (Waiman Long) [1941211] - kcsan: Rate-limit reporting per data races (Waiman Long) [1941211] - kcsan: Show full access type in report (Waiman Long) [1941211] - kcsan: Prefer __always_inline for fast-path (Waiman Long) [1941211] - kcsan: Improve various small stylistic details (Waiman Long) [1941211] - x86, kcsan: Enable KCSAN for x86 (Waiman Long) [1941211] - build, kcsan: Add KCSAN build exceptions (Waiman Long) [1941211] - x86/uaccess, kcov: Disable stack protector (Waiman Long) [1941211] - doc: Convert to rcubarrier.txt to ReST (Waiman Long) [1941211] - doc: Convert to rcu_dereference.txt to rcu_dereference.rst (Waiman Long) [1941211] - doc: Convert whatisRCU.txt to .rst (Waiman Long) [1941211] - doc: Converted NMI-RCU.txt to NMI-RCU.rst. (Waiman Long) [1941211] - doc: Convert arrayRCU.txt to arrayRCU.rst (Waiman Long) [1941211] - doc: Update list_for_each_entry_rcu() documentation (Waiman Long) [1941211] - Restore docs "rcu: Restore barrier() to rcu_read_lock() and rcu_read_unlock()" (Waiman Long) [1941211] - Restore docs "treewide: Rename rcu_dereference_raw_notrace() to _check()" (Waiman Long) [1941211] - docs: rcu: Increase toctree to 3 (Waiman Long) [1941211] - docs: rcu: Correct links referring to titles (Waiman Long) [1941211] - docs: rcu: convert some articles from html to ReST (Waiman Long) [1941211] - Revert docs from "rcu: Restore barrier() to rcu_read_lock() and rcu_read_unlock()" (Waiman Long) [1941211] - Documentation: RCU: Add TOC tree hooks (Waiman Long) [1941211] - doc: Describe choice of rcu_dereference() APIs and __rcu usage (Waiman Long) [1941211] - doc: Remove obsolete RCU update functions from RCU documentation (Waiman Long) [1941211] - scsi: ibmvfc: Free channel_setup_buf during device tear down (Steve Best) [1938102] - blk-mq: clearing flush request reference in tags->rqs[] (Ming Lei) [1811030] - blk-mq: clear stale request in tags->rq[] before freeing one request pool (Ming Lei) [1811030] - blk-mq: grab rq->refcount before calling ->fn in blk_mq_tagset_busy_iter (Ming Lei) [1811030] - vsock/vmci: log once the failed queue pair allocation (Stefano Garzarella) [1958248] - VMCI: Stop log spew when qp allocation isn't possible (Stefano Garzarella) [1958248] - vsock/virtio: update credit only if socket is not closed (Stefano Garzarella) [1921694] - powerpc/security: Fix debugfs data leak on 32-bit (Steve Best) [1935661] - powerpc/security: Show powerpc_security_features in debugfs (Steve Best) [1935661] - redhat/configs: Add CONFIG_SYSTEM_REVOCATION_KEYS and CONFIG_SYSTEM_REVOCATION_LIST (Vladis Dronov) [1893793] {CVE-2020-26541} - certs: add 'x509_revocation_list' to gitignore (Vladis Dronov) [1893793] {CVE-2020-26541} - integrity: Load mokx variables into the blacklist keyring (Vladis Dronov) [1893793] {CVE-2020-26541} - certs: Add ability to preload revocation certs (Vladis Dronov) [1893793] {CVE-2020-26541} - certs: Move load_system_certificate_list to a common function (Vladis Dronov) [1893793] {CVE-2020-26541} - certs: Add EFI_CERT_X509_GUID support for dbx entries (Vladis Dronov) [1893793] {CVE-2020-26541} - pNFS/flexfiles: Fix array overflow when flexfiles mirroring is enabled (Benjamin Coddington) [1949575] - net/sunrpc: fix useless comparison in proc_do_xprt() (Benjamin Coddington) [1949575] - net/sunrpc: return 0 on attempt to write to "transports" (Benjamin Coddington) [1949575] - NFSD: MKNOD should return NFSERR_BADTYPE instead of NFSERR_INVAL (Benjamin Coddington) [1949575] - NFSD: NFSv3 PATHCONF Reply is improperly formed (Benjamin Coddington) [1949575] - nfsroot: Default mount option should ask for built-in NFS version (Benjamin Coddington) [1949575] - nfsd: remove unneeded break (Benjamin Coddington) [1949575] - net/sunrpc: Fix return value for sysctl sunrpc.transports (Benjamin Coddington) [1949575] - NFSv4.2: support EXCHGID4_FLAG_SUPP_FENCE_OPS 4.2 EXCHANGE_ID flag (Benjamin Coddington) [1949575] - NFSv4: Fix up RCU annotations for struct nfs_netns_client (Benjamin Coddington) [1949575] - NFS: Only reference user namespace from nfs4idmap struct instead of cred (Benjamin Coddington) [1949575] - NFSD: Hoist status code encoding into XDR encoder functions (Benjamin Coddington) [1949575] - NFSv4: Use the net namespace uniquifier if it is set (Benjamin Coddington) [1949575] - NFSv4: Clean up initialisation of uniquified client id strings (Benjamin Coddington) [1949575] - SUNRPC: Add an xdr_align_data() function (Benjamin Coddington) [1949575] - SUNRPC: Add the ability to expand holes in data pages (Benjamin Coddington) [1949575] - SUNRPC: Split out _shift_data_right_tail() (Benjamin Coddington) [1949575] - SUNRPC: Split out xdr_realign_pages() from xdr_align_pages() (Benjamin Coddington) [1949575] - NFS: Use xdr_page_pos() in NFSv4 decode_getacl() (Benjamin Coddington) [1949575] - SUNRPC: Implement a xdr_page_pos() function (Benjamin Coddington) [1949575] - NFS: fix nfs_path in case of a rename retry (Benjamin Coddington) [1949575] - NFSD: Map nfserr_wrongsec outside of nfsd_dispatch (Benjamin Coddington) [1949575] - NFSD: Remove the RETURN_STATUS() macro (Benjamin Coddington) [1949575] - NFSD: Call NFSv2 encoders on error returns (Benjamin Coddington) [1949575] - NFSD: Fix .pc_release method for NFSv2 (Benjamin Coddington) [1949575] - NFSD: Remove vestigial typedefs (Benjamin Coddington) [1949575] - NFSD: Refactor nfsd_dispatch() error paths (Benjamin Coddington) [1949575] - NFSD: Clean up nfsd_dispatch() variables (Benjamin Coddington) [1949575] - NFSD: Clean up stale comments in nfsd_dispatch() (Benjamin Coddington) [1949575] - NFSD: Clean up switch statement in nfsd_dispatch() (Benjamin Coddington) [1949575] - NFSD: Encoder and decoder functions are always present (Benjamin Coddington) [1949575] - NFSACL: Replace PROC() macro with open code (Benjamin Coddington) [1949575] - lockd: Replace PROC() macro with open code (Benjamin Coddington) [1949575] - NFSD: Add missing NFSv2 .pc_func methods (Benjamin Coddington) [1949575] - fs: nfs: return per memcg count for xattr shrinkers (Benjamin Coddington) [1949575] - nfs: remove incorrect fallthrough label (Benjamin Coddington) [1949575] - nfsd: rq_lease_breaker cleanup (Benjamin Coddington) [1949575] - sunrpc: simplify do_cache_clean (Benjamin Coddington) [1949575] - sunrpc: cache : Replace seq_printf with seq_puts (Benjamin Coddington) [1949575] - silence nfscache allocation warnings with kvzalloc (Benjamin Coddington) [1949575] - nfsd: fix comparison to bool warning (Benjamin Coddington) [1949575] - NFSD: Correct type annotations in user xattr XDR functions (Benjamin Coddington) [1949575] - NFSD: Correct type annotations in user xattr helpers (Benjamin Coddington) [1949575] - SUNRPC/NFSD: Implement xdr_reserve_space_vec() (Benjamin Coddington) [1949575] - nfsd: rename delegation related tracepoints to make them less confusing (Benjamin Coddington) [1949575] - nfsd: Remove unnecessary assignment in nfs4xdr.c (Benjamin Coddington) [1949575] - net: sunrpc: delete repeated words (Benjamin Coddington) [1949575] - nfsd: Fix typo in comment (Benjamin Coddington) [1949575] - nfsd: give up callbacks on revoked delegations (Benjamin Coddington) [1949575] - nfs: fix spellint typo in pnfs.c (Benjamin Coddington) [1949575] - fs,nfs: lift compat nfs4 mount data handling into the nfs code (Benjamin Coddington) [1949575] - nfs: simplify nfs4_parse_monolithic (Benjamin Coddington) [1949575] - xprtrdma: drop double zeroing (Benjamin Coddington) [1949575] - NFSv4.2: xattr cache: remove unused cache struct field (Benjamin Coddington) [1949575] - nfs: Convert to use the preferred fallthrough macro (Benjamin Coddington) [1949575] - NFS4: Fix oops when copy_file_range is attempted with NFS4.0 source (Benjamin Coddington) [1949575] - Replace HTTP links with HTTPS ones: NFS, SUNRPC, and LOCKD clients (Benjamin Coddington) [1949575] - sunrpc: fix duplicated word in (Benjamin Coddington) [1949575] - SUNRPC: Remove remaining dprintks from sched.c (Benjamin Coddington) [1949575] - SUNRPC: Remove dprintk call sites in RPC queuing functions (Benjamin Coddington) [1949575] - SUNRPC: Clean up RPC scheduler tracepoints (Benjamin Coddington) [1949575] - SUNRPC: Replace rpcbind dprintk call sites with tracepoints (Benjamin Coddington) [1949575] - SUNRPC: Remove more dprintks in rpcb_clnt.c (Benjamin Coddington) [1949575] - SUNRPC: Remove dprintk call sites in rpcbind XDR functions (Benjamin Coddington) [1949575] - SUNRPC: Hoist trace_xprtrdma_op_setport into generic code (Benjamin Coddington) [1949575] - SUNRPC: Remove rpcb_getport_async dprintk call sites (Benjamin Coddington) [1949575] - SUNRPC: Clean up call_bind_status() observability (Benjamin Coddington) [1949575] - SUNRPC: Remove dprintk call site in call_decode (Benjamin Coddington) [1949575] - SUNRPC: Trace call_refresh events (Benjamin Coddington) [1949575] - SUNRPC: Add trace_rpc_timeout_status() (Benjamin Coddington) [1949575] - SUNRPC: Mitigate cond_resched() in xprt_transmit() (Benjamin Coddington) [1949575] - SUNRPC: Replace connect dprintk call sites with a tracepoint (Benjamin Coddington) [1949575] - SUNRPC: Remove dprintk call site in call_start() (Benjamin Coddington) [1949575] - SUNRPC: Remove the dprint_status() macro (Benjamin Coddington) [1949575] - SUNRPC: Replace dprintk() call site in xs_nospace() (Benjamin Coddington) [1949575] - SUNRPC: Replace dprintk() call site in xprt_prepare_transmit (Benjamin Coddington) [1949575] - SUNRPC: Update debugging instrumentation in xprt_do_reserve() (Benjamin Coddington) [1949575] - SUNRPC: Remove debugging instrumentation from xprt_release (Benjamin Coddington) [1949575] - SUNRPC: Hoist trace_xprtrdma_op_allocate into generic code (Benjamin Coddington) [1949575] - SUNRPC: Remove trace_xprt_complete_rqst() (Benjamin Coddington) [1949575] - SUNRPC dont update timeout value on connection reset (Benjamin Coddington) [1949575] - nfs4: strengthen error check to avoid unexpected result (Benjamin Coddington) [1949575] - NFS: remove redundant pointer clnt (Benjamin Coddington) [1949575] - sunrpc: Avoid comma separated statements (Benjamin Coddington) [1949575]- Revert "sctp: Fix SHUTDOWN CTSN Ack in the peer restart case" (Xin Long) [1953839] - sctp: do asoc update earlier in sctp_sf_do_dupcook_b (Xin Long) [1953839] - sctp: do asoc update earlier in sctp_sf_do_dupcook_a (Xin Long) [1953839] - NFSv4: Fixes for nfs4_bitmask_adjust() (Steve Dickson) [1926961] - powerpc/paravirt: Use is_kvm_guest() in vcpu_is_preempted() (Desnes A. Nunes do Rosario) [1918720] - powerpc: Reintroduce is_kvm_guest() as a fast-path check (Desnes A. Nunes do Rosario) [1918720] - powerpc: Rename is_kvm_guest() to check_kvm_guest() (Desnes A. Nunes do Rosario) [1918720] - powerpc: Refactor is_kvm_guest() declaration to new header (Desnes A. Nunes do Rosario) [1918720] - powerpc/pseries: Move some PAPR paravirt functions to their own file (Desnes A. Nunes do Rosario) [1918720] - powerpc/shared: Use static key to detect shared processor (Desnes A. Nunes do Rosario) [1918720] - powerpc/spinlocks: Fix oops in __spin_yield() on bare metal (Desnes A. Nunes do Rosario) [1918720] - powerpc/spinlocks: Rename SPLPAR-only spinlocks (Desnes A. Nunes do Rosario) [1918720] - powerpc/spinlocks: Refactor SHARED_PROCESSOR (Desnes A. Nunes do Rosario) [1918720] - Revert "ACPICA: Interpreter: fix memory leak by using existing buffer" (Mark Langsdorf) [1935928] - x86/efi: Remove EFI PGD build time checks (Mark Langsdorf) [1935928] - ACPI: scan: Fix battery devices sometimes never binding (Mark Langsdorf) [1935928] - ACPI/IORT: Do not blindly trust DMA masks from firmware (Mark Langsdorf) [1935928] - ACPI: thermal: Do not call acpi_thermal_check() directly (Mark Langsdorf) [1935928] - ACPI: sysfs: Prefer "compatible" modalias (Mark Langsdorf) [1935928] - ACPI: scan: Make acpi_bus_get_device() clear return pointer on error (Mark Langsdorf) [1935928] - ACPI: scan: Harden acpi_device_add() against device ID overflows (Mark Langsdorf) [1935928] - ACPI: Update Kconfig help text for items that are no longer modular (Mark Langsdorf) [1935928] - ACPI: PM: s2idle: Drop unused local variables and related code (Mark Langsdorf) [1935928] - ACPI: PM: s2idle: Move x86-specific code to the x86 directory (Mark Langsdorf) [1935928] - ACPI: scan: Add Intel Baytrail Mailbox Device to acpi_ignore_dep_ids (Mark Langsdorf) [1935928] - ACPI: scan: Avoid unnecessary second pass in acpi_bus_scan() (Mark Langsdorf) [1935928] - ACPI: scan: Defer enumeration of devices with _DEP lists (Mark Langsdorf) [1935928] - ACPI: scan: Evaluate _DEP before adding the device (Mark Langsdorf) [1935928] - ACPI: PM: s2idle: Add AMD support to handle _DSM (Mark Langsdorf) [1935928] - ACPI: processor: fix NONE coordination for domain mapping failure (Mark Langsdorf) [1935928] - cpufreq: Fix cpufreq_online() return value on errors (Mark Langsdorf) [1935928] - opp: of: Allow empty opp-table with opp-shared (Mark Langsdorf) [1935928] - dt-bindings: opp: Allow empty OPP tables (Mark Langsdorf) [1935928] - ACPI: Drop acpi_dev_irqresource_disabled() (Mark Langsdorf) [1935928] - resource: Add irqresource_disabled() (Mark Langsdorf) [1935928] - genirq/affinity: Add irq_update_affinity_desc() (Mark Langsdorf) [1935928] - driver core: Add fwnode_init() (Mark Langsdorf) [1935928] - ACPI: scan: Fix up _DEP-related terminology with supplier/consumer (Mark Langsdorf) [1935928] - ACPI: scan: Drop INT3396 from acpi_ignore_dep_ids[] (Mark Langsdorf) [1935928] - Revert "ACPI / resources: Use AE_CTRL_TERMINATE to terminate resources walks" (Mark Langsdorf) [1935928] - ACPI: scan: Add PNP0D80 to the _DEP exceptions list (Mark Langsdorf) [1935928] - PM: ACPI: Refresh wakeup device power configuration every time (Mark Langsdorf) [1935928] - PM: ACPI: PCI: Drop acpi_pm_set_bridge_wakeup() (Mark Langsdorf) [1935928] - ACPI: scan: Call acpi_get_object_info() from acpi_add_single_object() (Mark Langsdorf) [1935928] - ACPI: scan: Add acpi_info_matches_hids() helper (Mark Langsdorf) [1935928] - ACPICA: Update version to 20201113 (Mark Langsdorf) [1935928] - ACPICA: Interpreter: fix memory leak by using existing buffer (Mark Langsdorf) [1935928] - ACPICA: Add function trace macros to improve debugging (Mark Langsdorf) [1935928] - ACPICA: Also handle "orphan" _REG methods for GPIO OpRegions (Mark Langsdorf) [1935928] - ACPICA: Remove extreaneous "the" in comments (Mark Langsdorf) [1935928] - ACPICA: Add 5 new UUIDs to the known UUID table (Mark Langsdorf) [1935928] - ACPI: processor: Drop duplicate setting of shared_cpu_map (Mark Langsdorf) [1935928] - ACPI: EC: Clean up status flags checks in advance_transaction() (Mark Langsdorf) [1935928] - ACPI: EC: Untangle error handling in advance_transaction() (Mark Langsdorf) [1935928] - ACPI: EC: Simplify error handling in advance_transaction() (Mark Langsdorf) [1935928] - ACPI: EC: Rename acpi_ec_is_gpe_raised() (Mark Langsdorf) [1935928] - ACPI: EC: Fold acpi_ec_clear_gpe() into its caller (Mark Langsdorf) [1935928] - ACPI: EC: Eliminate in_interrupt() usage (Mark Langsdorf) [1935928] - ACPI: acpi_drivers.h: Update the kernel doc (Mark Langsdorf) [1935928] - ACPI: acpi_drivers.h: Remove the leftover dead code (Mark Langsdorf) [1935928] - ACPI: tiny-power-button: Simplify the code using module_acpi_driver() (Mark Langsdorf) [1935928] - ACPI: SBS: Simplify the code using module_acpi_driver() (Mark Langsdorf) [1935928] - ACPI: SBS: Simplify the driver init code (Mark Langsdorf) [1935928] - ACPI: debug: Remove the not used function (Mark Langsdorf) [1935928] - ACPI: processor: Remove the duplicated ACPI_PROCESSOR_CLASS macro (Mark Langsdorf) [1935928] - ACPI: watchdog: Replace open coded variant of resource_union() (Mark Langsdorf) [1935928] - PCI/ACPI: Replace open coded variant of resource_union() (Mark Langsdorf) [1935928] - resource: Introduce resource_union() for overlapping resources (Mark Langsdorf) [1935928] - resource: Group resource_overlaps() with other inline helpers (Mark Langsdorf) [1935928] - resource: Simplify region_intersects() by reducing conditionals (Mark Langsdorf) [1935928] - ACPI, APEI: make apei_resources_all static (Mark Langsdorf) [1935928] - mm/mmu_notifier: allocate mmu_notifier_rh in __mmu_notifier_register() (Jeremy Cline) [1909072]- Amends commit ea6244cc248b to include a version string in module info. (Ken Cox) [1955726] - i40e: use minimal admin queue for kdump (Stefan Assmann) [1834962] - i40e: use minimal Rx and Tx ring buffers for kdump (Stefan Assmann) [1834962] - i40e: use minimal Tx and Rx pairs for kdump (Stefan Assmann) [1834962] - net/sched: sch_frag: fix stack OOB read while fragmenting IPv4 packets (Davide Caratti) [1924608] - openvswitch: fix stack OOB read while fragmenting IPv4 packets (Davide Caratti) [1924608] - net/sched: act_ct: fix wild memory access when clearing fragments (Davide Caratti) [1924608] - selinux: fall back to SECURITY_FS_USE_GENFS if no xattr support (Ondrej Mosnacek) [1934093 1915825] - selinux: mark some global variables __ro_after_init (Ondrej Mosnacek) [1934093] - selinux: make selinuxfs_mount static (Ondrej Mosnacek) [1934093] - selinux: drop the unnecessary aurule_callback variable (Ondrej Mosnacek) [1934093] - selinux: remove unused global variables (Ondrej Mosnacek) [1934093] - selinux: fix inconsistency between inode_getxattr and inode_listsecurity (Ondrej Mosnacek) [1934093] - selinux: Fix fall-through warnings for Clang (Ondrej Mosnacek) [1934093] - selinux: fix inode_doinit_with_dentry() LABEL_INVALID error handling (Ondrej Mosnacek) [1934093] - selinux: allow dontauditx and auditallowx rules to take effect without allowx (Ondrej Mosnacek) [1934093] - selinux: fix error initialization in inode_doinit_with_dentry() (Ondrej Mosnacek) [1934093] - selinux: Fix error return code in sel_ib_pkey_sid_slow() (Ondrej Mosnacek) [1934093] - selinux: access policycaps with READ_ONCE/WRITE_ONCE (Ondrej Mosnacek) [1934093] - selinux: delete repeated words in comments (Ondrej Mosnacek) [1934093] - selinux: add basic filtering for audit trace events (Ondrej Mosnacek) [1934093 1954024] - selinux: add tracepoint on audited events (Ondrej Mosnacek) [1934093 1954024] - selinux: permit removing security.selinux xattr before policy load (Ondrej Mosnacek) [1934093] - exec: Always set cap_ambient in cap_bprm_set_creds (Ondrej Mosnacek) [1934093] - security: remove duplicated include from security.h (Ondrej Mosnacek) [1934093] - security/commoncap: Use xattr security prefix len (Ondrej Mosnacek) [1934093] - LSM: switch to blocking policy update notifiers (Ondrej Mosnacek) [1934093] - security: Make capability_hooks static (Ondrej Mosnacek) [1934093] - securityfs: fix use-after-free on symlink traversal (Ondrej Mosnacek) [1934093] - LSM: Check for NULL cred-security on free (Ondrej Mosnacek) [1934093] - security: check for kstrdup() failure in lsm_append() (Ondrej Mosnacek) [1934093] - scsi: mpt3sas: Block PCI config access from userspace during reset (Tomas Henzl) [1954555] - scsi: mpt3sas: Fix endianness for ActiveCablePowerRequirement (Tomas Henzl) [1954555] - scsi: mpt3sas: Fix error return code of mpt3sas_base_attach() (Tomas Henzl) [1954555] - scsi: mpt3sas: Do not use GFP_KERNEL in atomic context (Tomas Henzl) [1954555] - scsi: mpt3sas: Only one vSES is present even when IOC has multi vSES (Tomas Henzl) [1953421] - scsi: bnx2i: Make bnx2i_process_iscsi_error() simpler and more robust (Nilesh Javali) [1921612] - scsi: bnx2i: Fix bnx2i_set_ccell_info()'s name in description (Nilesh Javali) [1921612] - scsi: bnx2i: Requires MMU (Nilesh Javali) [1921612] - scsi: bnx2i: Remove unnecessary mutex_init() (Nilesh Javali) [1921612] - scsi: bnx2i: Add parameter description and rename another (Nilesh Javali) [1921612] - scsi: bnx2i: Add, remove and edit some function parameter descriptions (Nilesh Javali) [1921612] - scsi: bnx2i: Fix a whole host of kerneldoc issues (Nilesh Javali) [1921612] - scsi: bnx2i: Add missing descriptions for 'attr' parameter (Nilesh Javali) [1921612] - scsi: bnx2i: Fix parameter misnaming in function header (Nilesh Javali) [1921612] - mfd: intel-lpss: Add Intel Alder Lake PCH-P PCI IDs (Steve Best) [1929489] - lib: list_sort.c: add a blank line to avoid kernel-doc warnings (Rafael Aquini) [1900774] - lib/list_sort: fix kerneldoc build error (Rafael Aquini) [1900774] - lib/list_sort: optimize number of calls to comparison function (Rafael Aquini) [1900774] - lib/list_sort: simplify and remove MAX_LIST_LENGTH_BITS (Rafael Aquini) [1900774] - perf bench numa: Fix the condition checks for max number of NUMA nodes (Steve Best) [1936333] - powerpc/perf: Record counter overflow always if SAMPLE_IP is unset (Gustavo Walbon) [1921684] - perf powerpc: Support exposing Performance Monitor Counter SPRs as part of extended regs (Gustavo Walbon) [1921684] - powerpc/perf: Expose Performance Monitor Counter SPR's as part of extended regs (Gustavo Walbon) [1921684] - powerpc/perf: Include PMCs as part of per-cpu cpuhw_events struct (Gustavo Walbon) [1921684] - powerpc/perf: Adds support for programming of Thresholding in P10 (Gustavo Walbon) [1921684] - x86/entry/64: Deduplicate multiple IBRS macros in paranoid_entry (Waiman Long) [1924364] - x86/speculation: Fix prctl() when spectre_v2_user={seccomp,prctl},ibpb (Waiman Long) [1924364] - x86/speculation: Allow IBPB to be conditionally enabled on CPUs with always-on STIBP (Waiman Long) [1924364] - x86/bugs/multihit: Fix mitigation reporting when VMX is not in use (Waiman Long) [1924364] - x86/speculation: Merge one test in spectre_v2_user_select_mitigation() (Waiman Long) [1924364] - x86/bugs: Move enum taa_mitigations to bugs.c (Waiman Long) [1924364] - mm/memcg: set memcg when splitting page (Waiman Long) [1937825] - mm/memcg: rename mem_cgroup_split_huge_fixup to split_page_memcg and add nr_pages argument (Waiman Long) [1937825] - mm, tracing: Fix kmem_cache_free trace event to not print stale pointers (Waiman Long) [1937825] - mm: memcontrol: fix get_active_memcg return value (Waiman Long) [1937825] - fs: buffer: use raw page_memcg() on locked page (Waiman Long) [1937825] - mm/list_lru.c: remove kvfree_rcu_local() (Waiman Long) [1937825] - mm: memcontrol: replace the loop with a list_for_each_entry() (Waiman Long) [1937825] - mm/memcontrol: remove redundant NULL check (Waiman Long) [1937825] - mm: page_counter: re-layout structure to reduce false sharing (Waiman Long) [1937825] - mm: kmem: make __memcg_kmem_(un)charge static (Waiman Long) [1937825] - mm: memcg: add swapcache stat for memcg v2 (Waiman Long) [1937825] - mm/memcg: remove rcu locking for lock_page_lruvec function series (Waiman Long) [1937825] - mm/memcg: revise the using condition of lock_page_lruvec function series (Waiman Long) [1937825] - mm: memcontrol: make the slab calculation consistent (Waiman Long) [1937825] - mm: memcontrol: convert NR_FILE_PMDMAPPED account to pages (Waiman Long) [1937825] - mm: memcontrol: convert NR_SHMEM_PMDMAPPED account to pages (Waiman Long) [1937825] - mm: memcontrol: convert NR_SHMEM_THPS account to pages (Waiman Long) [1937825] - mm: memcontrol: convert NR_FILE_THPS account to pages (Waiman Long) [1937825] - mm: memcontrol: convert NR_ANON_THPS account to pages (Waiman Long) [1937825] - mm: memcontrol: optimize per-lruvec stats counter memory usage (Waiman Long) [1937825] - mm: memcg/slab: pre-allocate obj_cgroups for slab caches with SLAB_ACCOUNT (Waiman Long) [1937825] - mm/slub: minor coding style tweaks (Waiman Long) [1937825] - mm, slub: remove slub_memcg_sysfs boot param and CONFIG_SLUB_MEMCG_SYSFS_ON (Waiman Long) [1937825] - mm, slub: splice cpu and page freelists in deactivate_slab() (Waiman Long) [1937825] - mm, slab, slub: stop taking cpu hotplug lock (Waiman Long) [1937825] - mm, slab, slub: stop taking memory hotplug lock (Waiman Long) [1937825] - mm, slub: stop freeing kmem_cache_node structures on node offline (Waiman Long) [1937825] - mm/slub: disable user tracing for kmemleak caches by default (Waiman Long) [1937825] - mm/slab: minor coding style tweaks (Waiman Long) [1937825] - mm/sl?b.c: remove ctor argument from kmem_cache_flags (Waiman Long) [1937825] - mm, tracing: record slab name for kmem_cache_free() (Waiman Long) [1937825] - mm: fix numa stats for thp migration (Waiman Long) [1937825] - mm: memcg: fix memcg file_dirty numa stat (Waiman Long) [1937825] - mm/memcontrol: fix warning in mem_cgroup_page_lruvec() (Waiman Long) [1937825] - mm: slub: call account_slab_page() after slab page initialization (Waiman Long) [1937825] - mm/hugetlb: fix deadlock in hugetlb_cow error path (Waiman Long) [1937825] - mm/memcontrol:rewrite mem_cgroup_page_lruvec() (Waiman Long) [1937825] - mm/memcg: remove unused definitions (Waiman Long) [1937825] - mm/memcg: warning on !memcg after readahead page charged (Waiman Long) [1937825] - mm/memcg: bail early from swap accounting if memcg disabled (Waiman Long) [1937825] - mm/lru: revise the comments of lru_lock (Waiman Long) [1937825] - mm/lru: introduce relock_page_lruvec() (Waiman Long) [1937825] - mm/lru: replace pgdat lru_lock with lruvec lock (Waiman Long) [1937825] - mm/lru: move lock into lru_note_cost (Waiman Long) [1937825] - mm/swap.c: serialize memcg changes in pagevec_lru_move_fn (Waiman Long) [1937825] - mm/compaction: do page isolation first in compaction (Waiman Long) [1937825] - mm/lru: introduce TestClearPageLRU() (Waiman Long) [1937825] - mm/mlock: remove __munlock_isolate_lru_page() (Waiman Long) [1937825] - mm/mlock: remove lru_lock on TestClearPageMlocked (Waiman Long) [1937825] - mm/vmscan: remove lruvec reget in move_pages_to_lru (Waiman Long) [1937825] - mm/swap.c: fold vm event PGROTATED into pagevec_move_tail_fn (Waiman Long) [1937825] - mm/memcg: add debug checking in lock_page_memcg (Waiman Long) [1937825] - mm: page_idle_get_page() does not need lru_lock (Waiman Long) [1937825] - mm/rmap: stop store reordering issue on page->mapping (Waiman Long) [1937825] - mm/vmscan: remove unnecessary lruvec adding (Waiman Long) [1937825] - mm/thp: narrow lru locking (Waiman Long) [1937825] - mm/thp: simplify lru_add_page_tail() (Waiman Long) [1937825] - mm/thp: use head for head page in lru_add_page_tail() (Waiman Long) [1937825] - mm/thp: move lru_add_page_tail() to huge_memory.c (Waiman Long) [1937825] - mm: slub: convert sysfs sprintf family to sysfs_emit/sysfs_emit_at (Waiman Long) [1937825] - mm: truncate_complete_page() does not exist any more (Waiman Long) [1937825] - mm/vmscan: drop unneeded assignment in kswapd() (Waiman Long) [1937825] - mm: memcontrol: account pagetables per node (Waiman Long) [1937825] - mm: move lruvec stats update functions to vmstat.h (Waiman Long) [1937825] - mm/memcg: remove incorrect comment (Waiman Long) [1937825] - mm: memcontrol: sssign boolean values to a bool variable (Waiman Long) [1937825] - mm: memcg/slab: rename *_lruvec_slab_state to *_lruvec_kmem_state (Waiman Long) [1937825] - mm: memcg: remove obsolete memcg_has_children() (Waiman Long) [1937825] - mm/page_counter: use page_counter_read in page_counter_set_max (Waiman Long) [1937825] - cgroup: remove obsoleted broken_hierarchy and warned_broken_hierarchy (Waiman Long) [1937825] - docs: cgroup-v1: reflect the deprecation of the non-hierarchical mode (Waiman Long) [1937825] - mm: memcg: deprecate the non-hierarchical mode (Waiman Long) [1937825] - mm: memcg: fix obsolete code comments (Waiman Long) [1937825] - mm/memcg: update page struct member in comments (Waiman Long) [1937825] - mm/rmap: always do TTU_IGNORE_ACCESS (Waiman Long) [1937825] - mm: memcontrol: eliminate redundant check in __mem_cgroup_insert_exceeded() (Waiman Long) [1937825] - mm: memcontrol: remove unused mod_memcg_obj_state() (Waiman Long) [1937825] - mm: memcontrol: add file_thp, shmem_thp to memory.stat (Waiman Long) [1937825] - mm/gup: combine put_compound_head() and unpin_user_page() (Waiman Long) [1937825] - mm: Convert page kmemcg type to a page memcg flag (Waiman Long) [1937825] - mm: Introduce page memcg flags (Waiman Long) [1937825] - mm: memcontrol/slab: Use helpers to access slab page's memcg_data (Waiman Long) [1937825] - mm: memcontrol: Use helpers to read page's memcg data (Waiman Long) [1937825] - hugetlbfs: fix anon huge page migration race (Waiman Long) [1937825] - mm: memcontrol: fix missing wakeup polling thread (Waiman Long) [1937825] - mm/gup: use unpin_user_pages() in __gup_longterm_locked() (Waiman Long) [1937825] - mm/vmscan: fix NR_ISOLATED_FILE corruption on 64-bit (Waiman Long) [1937825] - mm/compaction: stop isolation if too many pages are isolated and we have pages to migrate (Waiman Long) [1937825] - mm/compaction: count pages and stop correctly during page isolation (Waiman Long) [1937825] - mm: kmem: enable kernel memcg accounting from interrupt contexts (Waiman Long) [1937825] - mm: kmem: prepare remote memcg charging infra for interrupt contexts (Waiman Long) [1937825] - mm: kmem: remove redundant checks from get_obj_cgroup_from_current() (Waiman Long) [1937825] - mm, memcg: rework remote charging API to support nesting (Waiman Long) [1937825] - mm: use self-explanatory macros rather than "2" (Waiman Long) [1937825] - mm/vmscan: allow arbitrary sized pages to be paged out (Waiman Long) [1937825] - mm/rmap: fix assumptions of THP size (Waiman Long) [1937825] - mm/huge_memory: fix can_split_huge_page assumption of THP size (Waiman Long) [1937825] - mm/huge_memory: fix page_trans_huge_mapcount assumption of THP size (Waiman Long) [1937825] - mm/huge_memory: fix split assumption of page size (Waiman Long) [1937825] - mm/huge_memory: fix total_mapcount assumption of page size (Waiman Long) [1937825] - mm/page_owner: change split_page_owner to take a count (Waiman Long) [1937825] - mm/memory: remove page fault assumption of compound page size (Waiman Long) [1937825] - mm/filemap: fix page cache removal for arbitrary sized THPs (Waiman Long) [1937825] - mm/vmscan: fix comments for isolate_lru_page() (Waiman Long) [1937825] - mm/vmscan: fix infinite loop in drop_slab_node (Waiman Long) [1937825] - mm: move call to compound_head() in release_pages() (Waiman Long) [1937825] - mm: account PMD tables like PTE tables (Waiman Long) [1937825] - mm/memcg: fix device private memcg accounting (Waiman Long) [1937825] - mm: memcontrol: add the missing numa_stat interface for cgroup v2 (Waiman Long) [1937825] - mm: remove activate_page() from unuse_pte() (Waiman Long) [1937825] - bdi: replace BDI_CAP_NO_{WRITEBACK,ACCT_DIRTY} with a single flag (Waiman Long) [1937825] - mm/thp: fix __split_huge_pmd_locked() for migration PMD (Waiman Long) [1937825] - mm: fix check_move_unevictable_pages() on THP (Waiman Long) [1937825] - mm: migration of hugetlbfs page skip memcg (Waiman Long) [1937825] - mm: and drivers core: Convert hugetlb_report_node_meminfo to sysfs_emit (Waiman Long) [1937825] - drivers core: Miscellaneous changes for sysfs_emit (Waiman Long) [1937825] - drivers core: Reindent a couple uses around sysfs_emit (Waiman Long) [1937825] - drivers core: Remove strcat uses around sysfs_emit and neaten (Waiman Long) [1937825] - drivers core: Use sysfs_emit and sysfs_emit_at for show(device *...) functions (Waiman Long) [1937825] - sysfs: Add sysfs_emit and sysfs_emit_at to format sysfs output (Waiman Long) [1937825] - mm: fix pin vs. gup mismatch with gate pages (Waiman Long) [1937825] - mm/gup: use a standard migration target allocation callback (Waiman Long) [1937825] - mm/hugetlb: make hugetlb migration callback CMA aware (Waiman Long) [1937825] - mm/gup: restrict CMA region by using allocation scope API (Waiman Long) [1937825] - mm/page_alloc: remove a wrapper for alloc_migration_target() (Waiman Long) [1937825] - mm/mempolicy: use a standard migration target allocation callback (Waiman Long) [1937825] - mm/migrate: introduce a standard migration target allocation function (Waiman Long) [1937825] - mm/migrate: clear __GFP_RECLAIM to make the migration callback consistent with regular THP allocations (Waiman Long) [1937825] - mm/hugetlb: unify migration callbacks (Waiman Long) [1937825] - mm/migrate: move migration helper from .h to .c (Waiman Long) [1937825] - mm/page_isolation: prefer the node of the source page (Waiman Long) [1937825] - hugetlbfs: remove call to huge_pte_alloc without i_mmap_rwsem (Waiman Long) [1937825] - mm, oom: show process exiting information in __oom_kill_process() (Waiman Long) [1937825] - doc, mm: clarify /proc//oom_score value range (Waiman Long) [1937825] - doc, mm: sync up oom_score_adj documentation (Waiman Long) [1937825] - mm, oom: make the calculation of oom badness more accurate (Waiman Long) [1937825] - mm: vmscan: consistent update to pgrefill (Waiman Long) [1937825] - mm/vmscan.c: fix typo (Waiman Long) [1937825] - mm: memcontrol: account kernel stack per node (Waiman Long) [1937825] - mm/hugetlb.c: fix pages per hugetlb calculation (Waiman Long) [1937825] - doc: THP CoW fault no longer allocate THP (Waiman Long) [1937825] - driver core: platform: expose numa_node to users in sysfs (Waiman Long) [1937825] - nilfs2: fix null pointer dereference at nilfs_segctor_do_construct() (Waiman Long) [1937825] - mm, memcg: fix some typos in memcontrol.c (Waiman Long) [1937825] - mm/vmsan: fix some typos in comment (Waiman Long) [1937825] - mm: thp: don't need to drain lru cache when splitting and mlocking THP (Waiman Long) [1937825] - mm/vmscan: update the comment of should_continue_reclaim() (Waiman Long) [1937825] - mm/vmscan.c: change prototype for shrink_page_list (Waiman Long) [1937825] - mm/vmscan: count layzfree pages and fix nr_isolated_* mismatch (Waiman Long) [1937825] - mm/vmscan.c: use update_lru_size() in update_lru_sizes() (Waiman Long) [1937825] - mm: simplify calling a compound page destructor (Waiman Long) [1937825] - mm/page_alloc: integrate classzone_idx and high_zoneidx (Waiman Long) [1937825] - mm/page_alloc: use ac->high_zoneidx for classzone_idx (Waiman Long) [1937825] - mm/page_alloc.c: extract check_[new|free]_page_bad() common part to page_bad_reason() (Waiman Long) [1937825] - mm/page_alloc.c: rename free_pages_check() to check_free_page() (Waiman Long) [1937825] - mm/page_alloc.c: rename free_pages_check_bad() to check_free_page_bad() (Waiman Long) [1937825] - mm/page_alloc.c: bad_flags is not necessary for bad_page() (Waiman Long) [1937825] - mm/page_alloc.c: bad_[reason|flags] is not necessary when PageHWPoison (Waiman Long) [1937825] - scs: Report SCS usage in bytes rather than number of entries (Waiman Long) [1937825] - scs: Move accounting into alloc/free functions (Waiman Long) [1937825] - mm/vmscan: remove unnecessary argument description of isolate_lru_pages() (Waiman Long) [1937825] - scs: Add support for stack usage debugging (Waiman Long) [1937825] - scs: Add page accounting for shadow call stack allocations (Waiman Long) [1937825] - scs: Add support for Clang's Shadow Call Stack (SCS) (Waiman Long) [1937825] - mm/migrate.c: unify "not queued for migration" handling in do_pages_move() (Waiman Long) [1937825] - mm/migrate.c: check pagelist in move_pages_and_store_status() (Waiman Long) [1937825] - mm/migrate.c: wrap do_move_pages_to_node() and store_status() (Waiman Long) [1937825] - mm/migrate.c: no need to check for i > start in do_pages_move() (Waiman Long) [1937825] - mm/hugetlb: remove unnecessary memory fetch in PageHeadHuge() (Waiman Long) [1937825] - hugetlbfs: Use i_mmap_rwsem to address page fault/truncate race (Waiman Long) [1937825] - hugetlbfs: use i_mmap_rwsem for more pmd sharing synchronization (Waiman Long) [1937825] - mm,thp,compaction,cma: allow THP migration for CMA allocations (Waiman Long) [1937825] - mm,compaction,cma: add alloc_contig flag to compact_control (Waiman Long) [1937825] - mm/vmscan.c: do_try_to_free_pages(): clean code by removing unnecessary assignment (Waiman Long) [1937825] - mm/vmscan.c: make may_enter_fs bool in shrink_page_list() (Waiman Long) [1937825] - mm/vmscan.c: fix data races using kswapd_classzone_idx (Waiman Long) [1937825] - mm/vmscan.c: remove cpu online notification for now (Waiman Long) [1937825] - mm: vmscan: replace open codings to NUMA_NO_NODE (Waiman Long) [1937825] - mm: swap: make page_evictable() inline (Waiman Long) [1937825] - mm/swap.c: not necessary to export __pagevec_lru_add() (Waiman Long) [1937825] - mm/gup: fix omission of check on FOLL_LONGTERM in gup fast path (Waiman Long) [1937825] - mm: dump_page(): additional diagnostics for huge pinned pages (Waiman Long) [1937825] - mm: improve dump_page() for compound pages (Waiman Long) [1937825] - selftests/vm: run_vmtests: invoke gup_benchmark with basic FOLL_PIN coverage (Waiman Long) [1937825] - mm/gup_benchmark: support pin_user_pages() and related calls (Waiman Long) [1937825] - mm/gup: /proc/vmstat: pin_user_pages (FOLL_PIN) reporting (Waiman Long) [1937825] - mm/gup: page->hpage_pinned_refcount: exact pin counts for huge pages (Waiman Long) [1937825] - mm/gup: track FOLL_PIN pages (Waiman Long) [1937825] - mm/gup: pass gup flags to two more routines (Waiman Long) [1937825] - mm: introduce page_ref_sub_return() (Waiman Long) [1937825] - mm/gup: pass a flags arg to __gup_device_* functions (Waiman Long) [1937825] - mm/gup: split get_user_pages_remote() into two routines (Waiman Long) [1937825] - sysfs: fix static inline declaration of sysfs_groups_change_owner() (Waiman Long) [1937825] - drivers/base/cpu: Simplify s*nprintf() usages (Waiman Long) [1937825] - drivers/base/cpu: Use scnprintf() for avoiding potential buffer overflow (Waiman Long) [1937825] - sysfs: add sysfs_change_owner() (Waiman Long) [1937825] - sysfs: add sysfs_group{s}_change_owner() (Waiman Long) [1937825] - sysfs: add sysfs_link_change_owner() (Waiman Long) [1937825] - sysfs: add sysfs_file_change_owner() (Waiman Long) [1937825] - mm/huge_memory.c: reduce critical section protected by split_queue_lock (Waiman Long) [1937825] - mm/huge_memory.c: use head to emphasize the purpose of page (Waiman Long) [1937825] - mm/huge_memory.c: use head to check huge zero page (Waiman Long) [1937825] - mm/gup: move try_get_compound_head() to top, fix minor issues (Waiman Long) [1937825] - userfaultfd: wrap the common dst_vma check into an inlined function (Waiman Long) [1937825] - userfaultfd: remove unnecessary WARN_ON() in __mcopy_atomic_hugetlb() (Waiman Long) [1937825] - userfaultfd: use vma_pagesize for all huge page size calculation (Waiman Long) [1937825] - mm/hugetlb: avoid looping to the same hugepage if !pages and !vmas (Waiman Long) [1937825] - hugetlb: remove unused hstate in hugetlb_fault_mutex_hash() (Waiman Long) [1937825] - hugetlbfs: convert macros to static inline, fix sparse warning (Waiman Long) [1937825] - hugetlbfs: hugetlb_fault_mutex_hash() cleanup (Waiman Long) [1937825] - mm/gup.c: allow CMA migration to propagate errors back to caller (Waiman Long) [1937825] - mm/gup_benchmark: fix MAP_HUGETLB case (Waiman Long) [1937825] - mm/gup_benchmark: add a missing "w" to getopt string (Waiman Long) [1937825] - mm, page_owner: rename flag indicating that page is allocated (Waiman Long) [1937825] - mm, page_owner: decouple freeing stack trace from debug_pagealloc (Waiman Long) [1937825] - mm, page_owner: fix off-by-one error in __set_page_owner_handle() (Waiman Long) [1937825] - mm/filemap.c: don't initiate writeback if mapping has no dirty pages (Waiman Long) [1937825] - mm, page_owner, debug_pagealloc: save and dump freeing stack trace (Waiman Long) [1937825] - mm, page_owner: keep owner info when freeing the page (Waiman Long) [1937825] - mm, page_owner: record page owner for each subpage (Waiman Long) [1937825] - mm: introduce page_size() (Waiman Long) [1937825] - mm, tracing: Print symbol name for call_site in trace events (Waiman Long) [1937825] - mm/gup.c: mark undo_dev_pagemap as __maybe_unused (Waiman Long) [1937825] - mm, memcg: introduce memory.events.local (Waiman Long) [1937825] - memcg, fsnotify: no oom-kill for remote memcg charging (Waiman Long) [1937825] - mm/swap_state.c: simplify total_swapcache_pages() with get_swap_device() (Waiman Long) [1937825] - mm: make !CONFIG_HUGE_PAGE wrappers into static inlines (Waiman Long) [1937825] - include/linux/hugetlb.h: convert to use vm_fault_t (Waiman Long) [1937825] - mm/page_ext.c: fix an imbalance with kmemleak (Waiman Long) [1937825] - mm/hugetlb: add prot_modify_start/commit sequence for hugetlb update (Waiman Long) [1937825] - iov_iter: optimize page_copy_sane() (Waiman Long) [1937825] - mm: remove __hugepage_set_anon_rmap() (Waiman Long) [1937825] - mm: remove pte_lock_deinit() (Waiman Long) [1937825] - mm/debug.c: make "migrate_reason_names[]" const char * (Waiman Long) [1937825] - vmscan: return NODE_RECLAIM_NOSCAN in node_reclaim() when CONFIG_NUMA is n (Waiman Long) [1937825] - tools/testing/selftests/vm/gup_benchmark.c: add MAP_HUGETLB option (Waiman Long) [1937825] - tools/testing/selftests/vm/gup_benchmark.c: add MAP_SHARED option (Waiman Long) [1937825] - tools/testing/selftests/vm/gup_benchmark.c: allow user specified file (Waiman Long) [1937825] - tools/testing/selftests/vm/gup_benchmark.c: fix 'write' flag usage (Waiman Long) [1937825] - mm/page_ext.c: constify lookup_page_ext() argument (Waiman Long) [1937825] - mm, page_alloc: actually ignore mempolicies for high priority allocations (Waiman Long) [1937825] - thp: use mm_file_counter to determine update which rss counter (Waiman Long) [1937825]- RDMA/cxgb4: Fix the reported max_recv_sge value (Kamal Heib) [1931850 1918264] - RDMA/qedr: Fix kernel panic when trying to access recv_cq (Kamal Heib) [1931850] - RDMA/addr: Be strict with gid size (Kamal Heib) [1931850] - IB/hfi1: Fix probe time panic when AIP is enabled with a buggy BIOS (Kamal Heib) [1931850 1921704 1953593] - RDMA/rxe: Fix errant WARN_ONCE in rxe_completer() (Kamal Heib) [1931850] - RDMA/rxe: Fix extra deref in rxe_rcv_mcast_pkt() (Kamal Heib) [1931850] - RDMA/rxe: Fix FIXME in rxe_udp_encap_recv() (Kamal Heib) [1931850] - RDMA/rxe: Fix missed IB reference counting in loopback (Kamal Heib) [1931850] - RDMA/uverbs: Fix kernel-doc warning of _uverbs_alloc (Kamal Heib) [1931850] - RDMA/rxe: Fix missing kconfig dependency on CRYPTO (Kamal Heib) [1931850] - RDMA/cm: Fix IRQ restore in ib_send_cm_sidr_rep (Kamal Heib) [1931850] - RDMA/rxe: Remove unused pkt->offset (Kamal Heib) [1931850] - RDMA/ucma: Fix use-after-free bug in ucma_create_uevent (Kamal Heib) [1931850] - RDMA/core: Fix kernel doc warnings for ib_port_immutable_read() (Kamal Heib) [1931850] - RDMA/ipoib: Remove racy Subnet Manager sendonly join checks (Kamal Heib) [1931850] - RDMA/rxe: Cleanup init_send_wqe (Kamal Heib) [1931850] - RDMA/rxe: Fix minor coding style issues (Kamal Heib) [1931850] - RDMA/rxe: Correct skb on loopback path (Kamal Heib) [1931850] - RDMA/rxe: Fix coding error in rxe_rcv_mcast_pkt (Kamal Heib) [1931850] - RDMA/rxe: Remove useless code in rxe_recv.c (Kamal Heib) [1931850] - RDMA/rxe: Fix coding error in rxe_recv.c (Kamal Heib) [1931850] - RDMA/core: Introduce and use API to read port immutable data (Kamal Heib) [1931850] - RDMA/pvrdma: Replace spin_lock_irqsave with spin_lock in hard IRQ (Kamal Heib) [1931850] - IB/core: Use valid port number to check link layer (Kamal Heib) [1931850] - IB/cm: Avoid a loop when device has 255 ports (Kamal Heib) [1931850] - RDMA/efa: Remove unused syndrome enum values (Kamal Heib) [1931850] - RDMA/efa: Remove unused 'select' field from get/set feature command descriptor (Kamal Heib) [1931850] - RDMA/efa: Remove unnecessary indentation in defs comments (Kamal Heib) [1931850] - RDMA/efa: Remove duplication of upper/lower_32_bits (Kamal Heib) [1931850] - RDMA/efa: Remove redundant NULL pointer check of CQE (Kamal Heib) [1931850] - RDMA/hw/hfi1/rc: Demote incorrectly populated kernel-doc header (Kamal Heib) [1931850 1921704] - RDMA/hw/hfi1/verbs: Demote non-conforming doc header and fix a misspelling (Kamal Heib) [1931850 1921704] - RDMA/hw/hfi1/user_exp_rcv: Demote half-documented and kernel-doc abuses (Kamal Heib) [1931850 1921704] - RDMA/hw/hfi1/ud: Fix a little more doc-rot (Kamal Heib) [1931850 1921704] - RDMA/hw/hfi1/uc: Fix a little doc-rot (Kamal Heib) [1931850 1921704] - RDMA/hw/hfi1/tid_rdma: Fix a plethora of kernel-doc issues (Kamal Heib) [1931850 1921704] - RDMA/hw/hfi1/sdma: Fix misnaming of 'sdma_send_txlist()'s 'count_out' param (Kamal Heib) [1931850 1921704] - RDMA/hw/hfi1/ruc: Fix a small formatting and description issues (Kamal Heib) [1931850 1921704] - RDMA/hw/hfi1/qp: Fix some formatting issues and demote kernel-doc abuse (Kamal Heib) [1931850 1921704] - RDMA/hw/hfi1/rc: Fix a few function documentation issues (Kamal Heib) [1931850 1921704] - RDMA/hw/hfi1/pio_copy: Provide entry for 'pio_copy()'s 'dd' param (Kamal Heib) [1931850 1921704] - RDMA/hw/hfi1/pcie: Demote kernel-doc abuses (Kamal Heib) [1931850 1921704] - RDMA/hw/hfi1/netdev_rx: Fix misdocumentation of the 'start_id' param (Kamal Heib) [1931850 1921704] - RDMA/sw/rdmavt/qp: Fix kernel-doc formatting problem (Kamal Heib) [1931850 1921704] - RDMA/sw/rdmavt/mad: Fix misspelling of 'rvt_process_mad()'s 'in_mad_size' param (Kamal Heib) [1931850 1921704] - RDMA/hw/hfi1/msix: Add description for 'name' and remove superfluous param 'idx' (Kamal Heib) [1931850 1921704] - RDMA/hw/hfi1/mad: Demote half-completed kernel-doc header fix another (Kamal Heib) [1931850 1921704] - RDMA/hw/hfi1/iowait: Demote half-completed kernel-doc and fix formatting issue in another (Kamal Heib) [1931850 1921704] - RDMA/sw/rdmavt/srq: Fix a couple of kernel-doc issues (Kamal Heib) [1931850 1921704] - RDMA/hw/hfi1/intr: Fix some kernel-doc formatting issues (Kamal Heib) [1931850 1921704] - RDMA/rxe: Replace missing rxe_pool_get_index_locked (Kamal Heib) [1931850] - RDMA/rxe: Remove unneeded pool->state (Kamal Heib) [1931850] - RDMA/rxe: Remove references to ib_device and pool (Kamal Heib) [1931850] - RDMA/rxe: Remove RXE_POOL_ATOMIC (Kamal Heib) [1931850] - RDMA/rxe: Fix misleading comments and names (Kamal Heib) [1931850] - RDMA/rxe: Fix bug in rxe_alloc() (Kamal Heib) [1931850] - IB/umad: Return EPOLLERR in case of when device disassociated (Kamal Heib) [1931850] - IB/umad: Return EIO in case of when device disassociated (Kamal Heib) [1931850] - RDMA/sw/rdmavt/qp: Fix a bunch of kernel-doc misdemeanours (Kamal Heib) [1931850 1921704] - RDMA/sw/rdmavt/mr: Fix some issues related to formatting and missing descriptions (Kamal Heib) [1931850 1921704] - RDMA/hw/hfi1/file_ops: Fix' manage_rcvq()'s 'arg' param (Kamal Heib) [1931850 1921704] - RDMA/hw/hfi1/exp_rcv: Fix some kernel-doc formatting issues (Kamal Heib) [1931850 1921704] - RDMA/sw/rdmavt/mcast: Demote incomplete kernel-doc header (Kamal Heib) [1931850 1921704] - RDMA/sw/rdmavt/mad: Fix 'rvt_process_mad()'s documentation header (Kamal Heib) [1931850 1921704] - RDMA/hw/hfi1/chip: Fix a bunch of kernel-doc formatting and spelling issues (Kamal Heib) [1931850 1921704] - RDMA/sw/rdmavt/cq: Demote hardly complete kernel-doc header (Kamal Heib) [1931850 1921704] - RDMA/sw/rdmavt/vt: Fix formatting issue and update description for 'context' (Kamal Heib) [1931850 1921704] - RDMA/hw/efa/efa_com: Stop using param description notation for non-params (Kamal Heib) [1931850] - RDMA/uverbs: Don't set rcq for a QP if qp_type is IB_QPT_XRC_INI (Kamal Heib) [1931850] - RDMA/core/iwpm_msg: Add proper descriptions for 'skb' param (Kamal Heib) [1931850] - RDMA/core/iwpm_util: Fix some param description misspellings (Kamal Heib) [1931850] - RDMA/core/counters: Demote non-conformant kernel-doc headers (Kamal Heib) [1931850] - RDMA/core/restrack: Fix kernel-doc formatting issue (Kamal Heib) [1931850] - RDMA/core/sa_query: Demote non-conformant kernel-doc header (Kamal Heib) [1931850] - RDMA/core/multicast: Provide description for 'ib_init_ah_from_mcmember()'s 'rec' param (Kamal Heib) [1931850] - RDMA/core/roce_gid_mgmt: Fix misnaming of 'rdma_roce_rescan_device()'s param 'ib_dev' (Kamal Heib) [1931850] - RDMA/core/cache: Fix some misspellings, missing and superfluous param descriptions (Kamal Heib) [1931850] - RDMA/core: device: Fix formatting in worthy kernel-doc header and demote another (Kamal Heib) [1931850] - IB/iser: Simplify prot_caps setting (Kamal Heib) [1931850] - IB/iser: Enforce iser_max_sectors to be greater than 0 (Kamal Heib) [1931850] - IB/iser: Protect iscsi_max_lun module param using callback (Kamal Heib) [1931850] - IB/iser: Remove unneeded semicolons (Kamal Heib) [1931850] - IB/isert: Simplify signature cap check (Kamal Heib) [1931850] - IB/isert: Remove unneeded semicolon (Kamal Heib) [1931850] - IB/isert: Remove unneeded new lines (Kamal Heib) [1931850] - RDMA/nldev: Return an error message on failure to turn auto mode (Kamal Heib) [1931850] - RDMA/rxe: Fix race in rxe_mcast.c (Kamal Heib) [1931850] - RDMA/rxe: Add unlocked versions of pool APIs (Kamal Heib) [1931850] - RDMA/rxe: Make add/drop key/index APIs type safe (Kamal Heib) [1931850] - RDMA/rxe: Make pool lookup and alloc APIs type safe (Kamal Heib) [1931850] - RDMA/rxe: Add elem_offset field to rxe_type_info (Kamal Heib) [1931850] - RDMA/rxe: Let pools support both keys and indices (Kamal Heib) [1931850] - RDMA/rxe: Remove unneeded RXE_POOL_ATOMIC flag (Kamal Heib) [1931850] - RDMA/rxe: Add check for supported QP types (Kamal Heib) [1931850] - RDMA: Use kzalloc for allocating only one thing (Kamal Heib) [1931850] - RDMA/cma: Delete useless kfree code (Kamal Heib) [1931850] - RDMA/hfi1: remove h from printk format specifier (Kamal Heib) [1931850 1921704] - RDMA: Convert comma to semicolon (Kamal Heib) [1931850] - net: devlink: Add unused port flavour (Petr Oros) [1943273] - devlink: add .trap_group_action_set() callback (Petr Oros) [1943273] - devlink: add parser error drop packet traps (Petr Oros) [1943273] - drop_monitor: Perform cleanup upon probe registration failure (Petr Oros) [1943273] - selftests: net: Add drop monitor test (Petr Oros) [1943273] - drop_monitor: Filter control packets in drop monitor (Petr Oros) [1943273] - drop_monitor: Remove duplicate struct (Petr Oros) [1943273] - drop_monitor: Remove no longer used functions (Petr Oros) [1943273] - drop_monitor: Convert to using devlink tracepoint (Petr Oros) [1943273] - drop_monitor: Prepare probe functions for devlink tracepoint (Petr Oros) [1943273] - devlink: Add a tracepoint for trap reports (Petr Oros) [1943273] - net: devlink: fix reporter dump dumpit (Petr Oros) [1943273] - devlink: have genetlink code to parse the attrs during dumpit (Petr Oros) [1943273] - netfilter: nf_tables: add direct calls for all builtin expressions (Florian Westphal) [1953320] - netfilter: nf_tables: handle meta/lookup with direct call (Florian Westphal) [1953320] - ionic: linearize tso skb with too many frags (Jonathan Toppins) [1940696] - i40e: fix the restart auto-negotiation after FEC modified (Stefan Assmann) [1725560] - ovl: skip getxattr of security labels (Miklos Szeredi) [1956340] - ovl: fix dentry leak in ovl_get_redirect (Miklos Szeredi) [1956340] - ovl: avoid deadlock on directory ioctl (Miklos Szeredi) [1956340] - cap: fix conversions on getxattr (Miklos Szeredi) [1956340] - ovl: perform vfs_getxattr() with mounter creds (Miklos Szeredi) [1956340] - ovl: add warning on user_ns mismatch (Miklos Szeredi) [1956340] - ovl: unprivieged mounts (Miklos Szeredi) [1956340] - ovl: do not get metacopy for userxattr (Miklos Szeredi) [1956340] - ovl: do not fail because of O_NOATIME (Miklos Szeredi) [1956340] - ovl: do not fail when setting origin xattr (Miklos Szeredi) [1956340] - ovl: user xattr (Miklos Szeredi) [1956340] - ovl: simplify file splice (Miklos Szeredi) [1956340] - ovl: make ioctl() safe (Miklos Szeredi) [1956340] - ovl: check privs before decoding file handle (Miklos Szeredi) [1956340] - vfs: verify source area in vfs_dedupe_file_range_one() (Miklos Szeredi) [1956340] - vfs: move cap_convert_nscap() call into vfs_setxattr() (Miklos Szeredi) [1956340] - ovl: fix incorrect extent info in metacopy case (Miklos Szeredi) [1956340] - ovl: expand warning in ovl_d_real() (Miklos Szeredi) [1956340] - ovl: document lower modification caveats (Miklos Szeredi) [1956340] - ovl: warn about orphan metacopy (Miklos Szeredi) [1956340] - ovl: doc clarification (Miklos Szeredi) [1956340] - ovl: introduce new "uuid=off" option for inodes index feature (Miklos Szeredi) [1956340] - ovl: propagate ovl_fs to ovl_decode_real_fh and ovl_encode_real_fh (Miklos Szeredi) [1956340] - ovl: use generic vfs_ioc_setflags_prepare() helper (Miklos Szeredi) [1956340] - ovl: support [S|G]ETFLAGS and FS[S|G]ETXATTR ioctls for directories (Miklos Szeredi) [1956340] - ovl: rearrange ovl_can_list() (Miklos Szeredi) [1956340] - ovl: enumerate private xattrs (Miklos Szeredi) [1956340] - ovl: pass ovl_fs down to functions accessing private xattrs (Miklos Szeredi) [1956340] - ovl: drop flags argument from ovl_do_setxattr() (Miklos Szeredi) [1956340] - ovl: adhere to the vfs_ vs. ovl_do_ conventions for xattrs (Miklos Szeredi) [1956340] - ovl: use ovl_do_getxattr() for private xattr (Miklos Szeredi) [1956340] - ovl: fold ovl_getxattr() into ovl_get_redirect_xattr() (Miklos Szeredi) [1956340] - ovl: clean up ovl_getxattr() in copy_up.c (Miklos Szeredi) [1956340] - duplicate ovl_getxattr() (Miklos Szeredi) [1956340] - ovl: provide a mount option "volatile" (Miklos Szeredi) [1956340 1928211] - ovl: check for incompatible features in work dir (Miklos Szeredi) [1956340 1928211] - ovl: fix lookup of indexed hardlinks with metacopy (Miklos Szeredi) [1956340] - ovl: fix unneeded call to ovl_change_flags() (Miklos Szeredi) [1956340] - ovl: fix mount option checks for nfs_export with no upperdir (Miklos Szeredi) [1956340] - ovl: force read-only sb on failure to create index dir (Miklos Szeredi) [1956340] - ovl: fix regression with re-formatted lower squashfs (Miklos Szeredi) [1956340] - ovl: fix oops in ovl_indexdir_cleanup() with nfs_export=on (Miklos Szeredi) [1956340] - ovl: relax WARN_ON() when decoding lower directory file handle (Miklos Szeredi) [1956340] - ovl: remove not used argument in ovl_check_origin (Miklos Szeredi) [1956340] - ovl: change ovl_copy_up_flags static (Miklos Szeredi) [1956340] - ovl: inode reference leak in ovl_is_inuse true case. (Miklos Szeredi) [1956340] - ovl: remove unnecessary lock check (Miklos Szeredi) [1956340] - ovl: make oip->index bool (Miklos Szeredi) [1956340] - ovl: only pass ->ki_flags to ovl_iocb_to_rwf() (Miklos Szeredi) [1956340] - ovl: make private mounts longterm (Miklos Szeredi) [1956340] - ovl: get rid of redundant members in struct ovl_fs (Miklos Szeredi) [1956340] - ovl: add accessor for ofs->upper_mnt (Miklos Szeredi) [1956340] - ovl: drop negative dentry in upper layer (Miklos Szeredi) [1956340] - ovl: check permission to open real file (Miklos Szeredi) [1956340] - ovl: call secutiry hook in ovl_real_ioctl() (Miklos Szeredi) [1956340] - ovl: verify permissions in ovl_path_open() (Miklos Szeredi) [1956340] - ovl: switch to mounter creds in readdir (Miklos Szeredi) [1956340] - ovl: pass correct flags for opening real directory (Miklos Szeredi) [1956340] - ovl: whiteout inode sharing (Miklos Szeredi) [1956340] - ovl: inherit SB_NOSEC flag from upperdir (Miklos Szeredi) [1956340] - ovl: skip overlayfs superblocks at global sync (Miklos Szeredi) [1956340] - ovl: index dir act as work dir (Miklos Szeredi) [1956340] - ovl: prepare to copy up without workdir (Miklos Szeredi) [1956340] - ovl: cleanup non-empty directories in ovl_indexdir_cleanup() (Miklos Szeredi) [1956340] - ocxl: Add new kernel traces (Steve Best) [1907530] - ocxl: Add mmu notifier (Steve Best) [1907530] - ocxl: Update the Process Element Entry (Steve Best) [1907530] - ocxl: Initiate a TLB invalidate command (Steve Best) [1907530] - ocxl: Assign a register set to a Logical Partition (Steve Best) [1907530] - powerpc/mce: Remove per cpu variables from MCE handlers (Gustavo Walbon) [1921683] - powerpc/mce: Reduce the size of event arrays (Gustavo Walbon) [1921683] - tools/power turbostat: Support Ice Lake D (Prarit Bhargava) [1943439] - PM: hibernate: x86: Use crc32 instead of md5 for hibernation e820 integrity check (Chris von Recklinghausen) [1944636] - vhost/vsock: add IOTLB API support (Stefano Garzarella) [1894101] - vhost: Fix vhost_vq_reset() (Laurent Vivier) [1919126] - perf trace: Fix race in signal handling (Michael Petlan) [1928380] - scsi: sd: sd_zbc: Don't pass GFP_NOIO to kvcalloc (Ewan D. Milne) [1953699] - sd_zbc: clear zone resources for non-zoned case (Ewan D. Milne) [1953699] - scsi: scsi_debug: Fix a memory leak (Ewan D. Milne) [1953699] - scsi: sd: Warn if unsupported ZBC device is probed (Ewan D. Milne) [1953699] - scsi: core: Add 'set_status_byte()' accessor (Ewan D. Milne) [1953699] - scsi: scsi_debug: Do not set COMMAND_COMPLETE (Ewan D. Milne) [1953699] - scsi: scsi_transport_srp: Don't block target in failfast state (Ewan D. Milne) [1953699] - scsi: scsi_debug: Fix memleak in scsi_debug_init() (Ewan D. Milne) [1953699] - scsi: core: Fix -Wformat for scsi_host (Ewan D. Milne) [1953699] - scsi: doc: Fix some kernel-doc markups (Ewan D. Milne) [1953699] - scsi: sr: Initialize ->cmd_len (Ewan D. Milne) [1953699] - scsi: core: Set sc_data_direction to DMA_NONE for no-transfer commands (Ewan D. Milne) [1953699] - scsi: core: Remove scsi_setup_cmnd() and scsi_setup_fs_cmnd() (Ewan D. Milne) [1953699] - scsi: core: Clean up allocation and freeing of sgtables (Ewan D. Milne) [1953699] - scsi: core: Rename scsi_mq_prep_fn() to scsi_prepare_cmd() (Ewan D. Milne) [1953699] - scsi: core: Rename scsi_prep_state_check() to scsi_device_state_check() (Ewan D. Milne) [1953699] - scsi: core: Use rq_dma_dir in scsi_setup_cmnd() (Ewan D. Milne) [1953699] - scsi: core: Remove scsi_init_cmd_errh (Ewan D. Milne) [1953699] - scsi: sd: Allow user to configure command retries (Ewan D. Milne) [1953699] - scsi: sd: sd_zbc: Fix handling of host-aware ZBC disks (Ewan D. Milne) [1953699] - scsi: sd_zbc: Improve zone revalidation (Ewan D. Milne) [1953699] - scsi: sd_zbc: Don't limit max_zone_append sectors to max_hw_sectors (Ewan D. Milne) [1953699] - scsi: sd_zbc: Remove unused inline functions (Ewan D. Milne) [1953699] - nvme: fix the nsid value to print in nvme_validate_or_alloc_ns (Gopal Tiwari) [1921591] - nvme-pci: add the DISABLE_WRITE_ZEROES quirk for a Samsung PM1725a (Gopal Tiwari) [1921591] - nvme-rdma: Fix a use after free in nvmet_rdma_write_data_done (Gopal Tiwari) [1921591] - nvme-core: check ctrl css before setting up zns (Gopal Tiwari) [1921591] - nvme-fc: fix racing controller reset and create association (Gopal Tiwari) [1921591] - nvme-fc: return NVME_SC_HOST_ABORTED_CMD when a command has been aborted (Gopal Tiwari) [1921591] - nvme-fc: set NVME_REQ_CANCELLED in nvme_fc_terminate_exchange() (Gopal Tiwari) [1921591] - nvme: add NVME_REQ_CANCELLED flag in nvme_cancel_request() (Gopal Tiwari) [1921591] - nvme: simplify error logic in nvme_validate_ns() (Gopal Tiwari) [1921591] - nvme: set max_zone_append_sectors nvme_revalidate_zones (Gopal Tiwari) [1921591] - nvmet: model_number must be immutable once set (Gopal Tiwari) [1921591] - nvme-fabrics: fix kato initialization (Gopal Tiwari) [1921591] - nvme-hwmon: Return error code when registration fails (Gopal Tiwari) [1921591] - nvme-pci: add quirks for Lexar 256GB SSD (Gopal Tiwari) [1921591] - nvme-pci: mark Kingston SKC2000 as not supporting the deepest power state (Gopal Tiwari) [1921591] - nvme-pci: mark Seagate Nytro XM1440 as QUIRK_NO_NS_DESC_LIST. (Gopal Tiwari) [1921591] - nvme-tcp: fix crash triggered with a dataless request submission (Gopal Tiwari) [1921591] - nvme-hwmon: rework to avoid devm allocation (Gopal Tiwari) [1921591] - nvme: add 48-bit DMA address quirk for Amazon NVMe controllers (Gopal Tiwari) [1921591] - nvmet: remove else at the end of the function (Gopal Tiwari) [1921591] - nvmet: add helper to report invalid opcode (Gopal Tiwari) [1921591] - nvmet: add nvmet_req_subsys() helper (Gopal Tiwari) [1921591] - nvmet: use invalid cmd opcode helper (Gopal Tiwari) [1921591] - nvmet: use invalid cmd opcode helper (Gopal Tiwari) [1921591] - nvmet-fc: add a missing __rcu annotation to nvmet_fc_tgt_assoc.queues (Gopal Tiwari) [1921591] - nvme-multipath: set nr_zones for zoned namespaces (Gopal Tiwari) [1921591] - nvmet: make nvmet_find_namespace() req based (Gopal Tiwari) [1921591] - nvmet: set status to 0 in case for invalid nsid (Gopal Tiwari) [1921591] - nvmet: return uniform error for invalid ns (Gopal Tiwari) [1921591] - nvmet: remove extra variable in id-ns handler (Gopal Tiwari) [1921591] - nvmet-tcp: fix receive data digest calculation for multiple h2cdata PDUs (Gopal Tiwari) [1921591] - nvme-fabrics: avoid double completions in nvmf_fail_nonready_command (Gopal Tiwari) [1921591] - nvme: introduce a nvme_host_path_error helper (Gopal Tiwari) [1921591] - blk-mq: introduce blk_mq_set_request_complete (Gopal Tiwari) [1921591] - nvme-rdma: handle nvme_rdma_post_send failures better (Gopal Tiwari) [1921591] - nvmet-tcp: fix potential race of tcp socket closing accept_work (Gopal Tiwari) [1921591] - nvme: cleanup zone information initialization (Gopal Tiwari) [1921591] - nvmet-tcp: fix out-of-bounds access when receiving multiple h2cdata PDUs (Gopal Tiwari) [1921591] - nvme-pci: ignore the subsysem NQN on Phison E16 (Gopal Tiwari) [1921591] - nvme-pci: avoid the deepest sleep state on Kingston A2000 SSDs (Gopal Tiwari) [1921591] - nvme-tcp: use cancel tagset helper for tear down (Gopal Tiwari) [1921591] - nvme-rdma: use cancel tagset helper for tear down (Gopal Tiwari) [1921591] - nvme-rdma: add clean action for failed reconnection (Gopal Tiwari) [1921591] - nvme-core: get rid of the extra space (Gopal Tiwari) [1921591] - nvme-tcp: add clean action for failed reconnection (Gopal Tiwari) [1921591] - nvme: add tracing of zns commands (Gopal Tiwari) [1921591] - nvme: parse format nvm command details when tracing (Gopal Tiwari) [1921591] - nvme-core: add cancel tagset helpers (Gopal Tiwari) [1921591] - nvme: refactor ns->ctrl by request (Gopal Tiwari) [1921591] - nvme-tcp: fix wrong setting of request iov_iter (Gopal Tiwari) [1921591] - nvmet: remove extra variable in smart log nsid (Gopal Tiwari) [1921591] - nvme-tcp: get rid of unused helper function (Gopal Tiwari) [1921591] - nvmet: remove extra variable in identify ns (Gopal Tiwari) [1921591] - nvmet: remove extra variable in id-desclist (Gopal Tiwari) [1921591] - nvmet: add lba to sect conversion helpers (Gopal Tiwari) [1921591] - nvme: support command retry delay for admin command (Gopal Tiwari) [1921591] - nvmet: Use nvmet_is_port_enabled helper for pi_enable (Gopal Tiwari) [1921591] - nvme: constify static attribute_group structs (Gopal Tiwari) [1921591] - nvmet-fc: use RCU proctection for assoc_list (Gopal Tiwari) [1921591] - nvmet: Fix nvmet_is_port_enabled indentation (Gopal Tiwari) [1921591] - nvme-pci: add the DISABLE_WRITE_ZEROES quirk for a SPCC device (Gopal Tiwari) [1921591] - nvme-core: use list_add_tail_rcu instead of list_add_tail for nvme_init_ns_head (Gopal Tiwari) [1921591] - nvme: allow revalidate to set a namespace read-only (Gopal Tiwari) [1921591] - nvmet: set right status on error in id-ns handler (Gopal Tiwari) [1921591] - nvme-tcp: avoid request double completion for concurrent nvme_tcp_timeout (Gopal Tiwari) [1921591] - nvme-rdma: avoid request double completion for concurrent nvme_rdma_timeout (Gopal Tiwari) [1921591] - nvme-pci: allow use of cmb on v1.4 controllers (Gopal Tiwari) [1921591] - nvme: check the PRINFO bit before deciding the host buffer length (Gopal Tiwari) [1921591] - nvme-tcp: fix possible data corruption with bio merges (Gopal Tiwari) [1921591] - nvme-tcp: Fix warning with CONFIG_DEBUG_PREEMPT (Gopal Tiwari) [1921591] - nvme: don't intialize hwmon for discovery controllers (Gopal Tiwari) [1921591] - nvmet-rdma: Fix NULL deref when setting pi_enable and traddr INADDR_ANY (Gopal Tiwari) [1921591] - nvmet-rdma: Fix list_del corruption on queue establishment failure (Gopal Tiwari) [1921591] - nvme: unexport functions with no external caller (Gopal Tiwari) [1921591] - nvme: avoid possible double fetch in handling CQE (Gopal Tiwari) [1921591] - nvme: remove the unused status argument from nvme_trace_bio_complete (Gopal Tiwari) [1921591] - nvme-tcp: Fix possible race of io_work and direct send (Gopal Tiwari) [1921591] - nvme-fcloop: Fix sscanf type and list_first_entry_or_null warnings (Gopal Tiwari) [1921591] - nvme-fc: avoid calling _nvme_fc_abort_outstanding_ios from interrupt context (Gopal Tiwari) [1921591] - nvme-loop: use blk_mq_hctx_set_fq_lock_class to set loop's lock class (Gopal Tiwari) [1921591] - nvme: rename controller base dev_t char device (Gopal Tiwari) [1921591] - nvme: remove unnecessary return values (Gopal Tiwari) [1921591] - nvme: rename bdev operations (Gopal Tiwari) [1921591] - nvme: export zoned namespaces without Zone Append support read-only (Gopal Tiwari) [1921591] - nvme: print a warning for when listing active namespaces fails (Gopal Tiwari) [1921591] - nvme: improve an error message on Identify failure (Gopal Tiwari) [1921591] - nvmet: fix a spelling mistake "incuding" -> "including" in Kconfig (Gopal Tiwari) [1921591] - nvme-fabrics: reject I/O to offline device (Gopal Tiwari) [1921591] - nvmet: make sure discovery change log event is protected (Gopal Tiwari) [1921591] - nvme-pci: don't allocate unused I/O queues (Gopal Tiwari) [1921591] - nvme-pci: drop min() from nr_io_queues assignment (Gopal Tiwari) [1921591] - nvmet: use inline bio for passthru fast path (Gopal Tiwari) [1921591] - nvmet: use blk_rq_bio_prep instead of blk_rq_append_bio (Gopal Tiwari) [1921591] - nvmet: remove unused ctrl->cqs (Gopal Tiwari) [1921591] - nvmet: remove op_flags for passthru commands (Gopal Tiwari) [1921591] - nvme: use consistent macro name for timeout (Gopal Tiwari) [1921591] - nvmet: add passthru io timeout value attr (Gopal Tiwari) [1921591] - nvmet: add passthru admin timeout value attr (Gopal Tiwari) [1921591] - nvme: split nvme_alloc_request() (Gopal Tiwari) [1921591] - nvme: centralize setting the timeout in nvme_alloc_request (Gopal Tiwari) [1921591] - nvme: simplify nvme_req_qid() (Gopal Tiwari) [1921591] - nvme-fcloop: add sysfs attribute to inject command drop (Gopal Tiwari) [1921591] - nvme: let set_capacity_revalidate_and_notify update the bdev size (Gopal Tiwari) [1921591] - nvme: directly cache command effects log (Gopal Tiwari) [1921591] - nvme: fix memory leak freeing command effects (Gopal Tiwari) [1921591] - nvme: free sq/cq dbbuf pointers when dbbuf set fails (Gopal Tiwari) [1921591] - nvme-rdma: Use ibdev_to_node instead of dereferencing ->dma_device (Gopal Tiwari) [1921591] - RDMA: Lift ibdev_to_node from rds to common code (Gopal Tiwari) [1921591] - nvme: fix incorrect behavior when BLKROSET is called by the user (Gopal Tiwari) [1921591] - Revert "nvme-pci: remove last_sq_tail" (Gopal Tiwari) [1921591] - nvmet: fix a NULL pointer dereference when tracing the flush command (Gopal Tiwari) [1921591] - nvme-fc: remove nvme_fc_terminate_io() (Gopal Tiwari) [1921591] - nvme-fc: eliminate terminate_io use by nvme_fc_error_recovery (Gopal Tiwari) [1921591] - nvme-fc: remove err_work work item (Gopal Tiwari) [1921591] - nvme-fc: track error_recovery while connecting (Gopal Tiwari) [1921591] - nvme-rdma: handle unexpected nvme completion data length (Gopal Tiwari) [1921591] - nvme: ignore zone validate errors on subsequent scans (Gopal Tiwari) [1921591] - nvme-fc: shorten reconnect delay if possible for FC (Gopal Tiwari) [1921591] - nvme-fc: wait for queues to freeze before calling update_hr_hw_queues (Gopal Tiwari) [1921591] - nvme-fc: fix error loop in create_hw_io_queues (Gopal Tiwari) [1921591] - nvme-fc: fix io timeout to abort I/O (Gopal Tiwari) [1921591] - nvmet: cleanup nvmet_passthru_map_sg() (Gopal Tiwari) [1921591] - nvmet: don't use BLK_MQ_REQ_NOWAIT for passthru (Gopal Tiwari) [1921591] - nvmet: limit passthru MTDS by BIO_MAX_PAGES (Gopal Tiwari) [1921591] - nvme-rdma: fix crash due to incorrect cqe (Gopal Tiwari) [1921591] - nvmet: fix uninitialized work for zero kato (Gopal Tiwari) [1921591] - nvme: use queuedata for nvme_req_qid (Gopal Tiwari) [1921591] - nvme-pci: disable Write Zeroes on Sandisk Skyhawk (Gopal Tiwari) [1921591] - nvme-rdma: fix crash when connect rejected (Gopal Tiwari) [1921591] - nvme: translate zone resource errors (Gopal Tiwari) [1921591] - block: add zone specific block statuses (Gopal Tiwari) [1921591] - nvme-core: remove extra condition for vwc (Gopal Tiwari) [1921591] - nvme-core: remove extra variable (Gopal Tiwari) [1921591] - nvme: remove nvme_identify_ns_list (Gopal Tiwari) [1921591] - nvme: refactor nvme_validate_ns (Gopal Tiwari) [1921591] - nvme: move nvme_validate_ns (Gopal Tiwari) [1921591] - nvme: remove nvme_update_formats (Gopal Tiwari) [1921591] - nvme: update the known admin effects (Gopal Tiwari) [1921591] - nvme: query namespace identifiers before adding the namespace (Gopal Tiwari) [1921591] - nvme: revalidate zone bitmaps in nvme_update_ns_info (Gopal Tiwari) [1921591] - nvme: call nvme_identify_ns as the first thing in nvme_alloc_ns_block (Gopal Tiwari) [1921591] - nvme: set the queue limits in nvme_update_ns_info (Gopal Tiwari) [1921591] - nvme: remove the 0 lba_shift check in nvme_update_ns_info (Gopal Tiwari) [1921591] - nvme: freeze the queue over ->lba_shift updates (Gopal Tiwari) [1921591] - nvme: factor out a nvme_configure_metadata helper (Gopal Tiwari) [1921591] - nvme: lift the check for an unallocated namespace into nvme_identify_ns (Gopal Tiwari) [1921591] - nvme: clean up the check for too large logic block sizes (Gopal Tiwari) [1921591] - nvme: remove the disk argument to nvme_update_zone_info (Gopal Tiwari) [1921591] - nvme: rename __nvme_revalidate_disk (Gopal Tiwari) [1921591] - nvme: rename _nvme_revalidate_disk (Gopal Tiwari) [1921591] - nvme: rename nvme_validate_ns to nvme_validate_or_alloc_ns (Gopal Tiwari) [1921591] - nvme: fix initialization of the zone bitmaps (Gopal Tiwari) [1921591] - nvme-loop: don't put ctrl on nvme_init_ctrl error (Gopal Tiwari) [1921591] - nvme-core: put ctrl ref when module ref get fail (Gopal Tiwari) [1921591] - nvme-tcp: check page by sendpage_ok() before calling kernel_sendpage() (Gopal Tiwari) [1921591] - nvmet-fc: fix missing check for no hostport struct (Gopal Tiwari) [1921591] - nvme: fix error handling in nvme_ns_report_zones (Gopal Tiwari) [1921591] - nvmet: add passthru ZNS support (Gopal Tiwari) [1921591] - nvmet: handle keep-alive timer when kato is modified by a set features cmd (Gopal Tiwari) [1921591] - nvme-pci: allocate separate interrupt for the reserved non-polled I/O queue (Gopal Tiwari) [1921591] - nvmet-tcp: have queue io_work context run on sock incoming cpu (Gopal Tiwari) [1921591] - nvme: lift the file open code from nvme_ctrl_get_by_path (Gopal Tiwari) [1921591] - nvme: use an xarray to lookup the Commands Supported and Effects log (Gopal Tiwari) [1921591] - nvme-pci: Move enumeration by class to be last in the table (Gopal Tiwari) [1921591] - nvme-core: don't use NVME_NSID_ALL for command effects and supported log (Gopal Tiwari) [1921591] - nvme-fc: fail new connections to a deleted host or remote port (Gopal Tiwari) [1921591] - nvme: return errors for hwmon init (Gopal Tiwari) [1921591] - nvme-pci: fix NULL req in completion handler (Gopal Tiwari) [1921591] - nvmet: get transport reference for passthru ctrl (Gopal Tiwari) [1921591] - nvme-core: get/put ctrl and transport module in nvme_dev_open/release() (Gopal Tiwari) [1921591] - nvme-tcp: fix kconfig dependency warning when !CRYPTO (Gopal Tiwari) [1921591] - nvme: use blk_mq_complete_request_remote to avoid an indirect function call (Gopal Tiwari) [1921591] - nvme-core: replace ctrl page size with a macro (Gopal Tiwari) [1921591] - nvme-pci: remove the inline scatterlist optimization (Gopal Tiwari) [1921591] - block: optimize blk_queue_zoned_model for !CONFIG_BLK_DEV_ZONED (Gopal Tiwari) [1921591] - nvme: support for zoned namespaces (Gopal Tiwari) [1921591] - null_blk: introduce zone capacity for zoned device (Gopal Tiwari) [1921591] - block: add capacity field to zone descriptors (Gopal Tiwari) [1921591]- vmxnet3: Set the default of vxlan overlay offload to disabled (Cathy Avery) [1941714] - vmxnet3: Update driver to use ethtool_sprintf (Cathy Avery) [1923796] - vmxnet3: Remove buf_info from device accessible structures (Cathy Avery) [1923796] - igc: Fix overwrites return value (Corinna Vinschen) [1920285] - igc: Add set/clear large buffer helpers (Corinna Vinschen) [1920285] - igc: Refactor Rx timestamp handling (Corinna Vinschen) [1920285] - igc: Introduce igc_get_rx_frame_truesize() helper (Corinna Vinschen) [1920285] - igc: Introduce igc_rx_buffer_flip() helper (Corinna Vinschen) [1920285] - igc: Remove unused argument from igc_tx_cmd_type() (Corinna Vinschen) [1920285] - igc: Fix prototype warning (Corinna Vinschen) [1920285] - igc: Assign boolean values to a bool variable (Corinna Vinschen) [1920285] - igc: Remove unused MII_CR_LOOPBACK (Corinna Vinschen) [1920285] - igc: Remove unused MII_CR_SPEED (Corinna Vinschen) [1920285] - igc: Remove unused MII_CR_RESET (Corinna Vinschen) [1920285] - igc: Fix igc_ptp_rx_pktstamp() (Corinna Vinschen) [1920285] - igc: Fix Supported Pause Frame Link Setting (Corinna Vinschen) [1920285] - igc: Fix Pause Frame Advertising (Corinna Vinschen) [1920285] - igc: reinit_locked() should be called with rtnl_lock (Corinna Vinschen) [1920285] - igc: Fix TDBAL register show incorrect value (Corinna Vinschen) [1920285] - igc: Remove unused FUNC_1 mask (Corinna Vinschen) [1920285] - igc: Remove unused local receiver mask (Corinna Vinschen) [1920285] - igc: Prefer strscpy over strlcpy (Corinna Vinschen) [1920285] - igc: Expose the gPHY firmware version (Corinna Vinschen) [1920285] - igc: Expose the NVM version (Corinna Vinschen) [1920285] - igc: Add Host Good Packets Transmitted Count (Corinna Vinschen) [1920285] - igc: Remove MULR mask define (Corinna Vinschen) [1920285] - igc: Remove igc_set_fw_version comment (Corinna Vinschen) [1920285] - igc: Clean up nvm_operations structure (Corinna Vinschen) [1920285] - igc: check return value of ret_val in igc_config_fc_after_link_up (Corinna Vinschen) [1920285] - igc: set the default return value to -IGC_ERR_NVM in igc_write_nvm_srwr (Corinna Vinschen) [1920285] - igc: Report speed and duplex as unknown when device is runtime suspended (Corinna Vinschen) [1920285] - net: igc: use skb_csum_is_sctp instead of protocol check (Corinna Vinschen) [1920285] - igc: Add new device ID (Corinna Vinschen) [1920285] - net: igbvf: use skb_csum_is_sctp instead of protocol check (Corinna Vinschen) [1920287] - igbvf: Refactor traces (Corinna Vinschen) [1920287] - igbvf: amend removal of MODULE_VERSION (Corinna Vinschen) [1955752] - netlink: add tracepoint at NL_SET_ERR_MSG (Marcelo Ricardo Leitner) [1956983] - xfrm: Provide private skb extensions for segmented and hw offloaded ESP packets (Sabrina Dubroca) [1935575] - xfrm: BEET mode doesn't support fragments for inner packets (Xin Long) [1870900] - xfrm: Fix NULL pointer dereference on policy lookup (Sabrina Dubroca) [1951965] - xfrm: use secpath_exist where applicable (Sabrina Dubroca) [1951965] - net: xfrm: Use sequence counter with associated spinlock (Sabrina Dubroca) [1951965] - net: xfrm: Localize sequence counter per network namespace (Sabrina Dubroca) [1951965] - xfrm: Return the correct errno code (Sabrina Dubroca) [1951965] - xfrm: Fix wraparound in xfrm_policy_addr_delta() (Sabrina Dubroca) [1951965] - xfrm: fix disable_xfrm sysctl when used on xfrm interfaces (Sabrina Dubroca) [1951965] - xfrm: Fix oops in xfrm_replay_advance_bmp (Sabrina Dubroca) [1951965] - ah6: fix error return code in ah6_input() (Sabrina Dubroca) [1951965] - net: xfrm: fix a race condition during allocing spi (Sabrina Dubroca) [1951965] - xfrm: policy: Use sequence counters with associated lock (Sabrina Dubroca) [1951965] - selftests: net: mirror_gre_vlan_bridge_1q: Make an FDB entry static (Ivan Vecera) [1952586] - net: bridge: switchdev: include local flag in FDB notifications (Ivan Vecera) [1952586] - net: bridge: switchdev: refactor br_switchdev_fdb_notify (Ivan Vecera) [1952586] - net: bridge: don't notify switchdev for local FDB addresses (Ivan Vecera) [1952586] - net: bridge: use switchdev for port flags set through sysfs too (Ivan Vecera) [1952586] - net: bridge: vlan: fix error return code in __vlan_add() (Ivan Vecera) [1952586] - net: bridge: add missing counters to ndo_get_stats64 callback (Ivan Vecera) [1952586] - net: bridge: use new function dev_fetch_sw_netstats (Ivan Vecera) [1952586] - net: bridge: fdb: don't flush ext_learn entries (Ivan Vecera) [1952586] - net: bridge: clear bridge's private skb space on xmit (Ivan Vecera) [1952586] - bridge: mcast: Fix MLD2 Report IPv6 payload length check (Ivan Vecera) [1952586] - net: bridge: enfore alignment for ethernet address (Ivan Vecera) [1952586] - netfilter: nft_reject_bridge: enable reject with bridge vlan (Ivan Vecera) [1952586] - net: bridge: vlan: Add a schedule point during VLAN processing (Ivan Vecera) [1952586] - netfilter: ebtables: compat: reject all padding in matches/watchers (Ivan Vecera) [1952586] - net: bridge: deny dev_set_mac_address() when unregistering (Ivan Vecera) [1952586] - net: bridge: fdb: set flags directly in fdb_create (Ivan Vecera) [1952586] - net: bridge: fdb: convert offloaded to use bitops (Ivan Vecera) [1952586] - net: bridge: fdb: convert added_by_external_learn to use bitops (Ivan Vecera) [1952586] - net: bridge: fdb: convert added_by_user to bitops (Ivan Vecera) [1952586] - net: bridge: fdb: convert is_sticky to bitops (Ivan Vecera) [1952586] - net: bridge: fdb: convert is_static to bitops (Ivan Vecera) [1952586] - net: bridge: fdb: convert is_local to bitops (Ivan Vecera) [1952586] - net: bridge: move default pvid init/deinit to NETDEV_REGISTER/UNREGISTER (Ivan Vecera) [1952586] - bridge: Fix possible use-after-free when deleting bridge port (Ivan Vecera) [1952586] - bridge: update vlan dev link state for bridge netdev changes (Ivan Vecera) [1952586] - bridge: update vlan dev state when port added to or deleted from vlan (Ivan Vecera) [1952586] - bridge: support binding vlan dev link state to vlan member bridge ports (Ivan Vecera) [1952586] - vlan: do not transfer link state in vlan bridge binding mode (Ivan Vecera) [1952586] - vlan: support binding link state to vlan member bridge ports (Ivan Vecera) [1952586] - ipv6: weaken the v4mapped source check (Paolo Abeni) [1950298] - tcp: relookup sock for RST+ACK packets handled by obsolete req sock (Paolo Abeni) [1950298] - inet_connection_sock: remove unused parameter of reqsk_queue_unlink func (Paolo Abeni) [1950298] - tcp: add sanity tests to TCP_QUEUE_SEQ (Paolo Abeni) [1950298] - tcp: fix SO_RCVLOWAT related hangs under mem pressure (Paolo Abeni) [1950298] - tcp: do not mess with cloned skbs in tcp_add_backlog() (Paolo Abeni) [1950298] - tcp: fix cwnd-limited bug for TSO deferral where we send nothing (Paolo Abeni) [1950298] - vfio-ccw: Wire in the request callback (Thomas Huth) [1940451] - vfio-mdev: Wire in a request handler for mdev parent (Thomas Huth) [1940451] - intel_idle: add Iclelake-D support (David Arcari) [1960287] - scsi: ibmvfc: Fix potential race in ibmvfc_wait_for_ops() (Steve Best) [1941180] - powerpc/sstep: Fix VSX instruction emulation (Steve Best) [1934187] - powerpc/pseries/hibernation: remove pseries_suspend_cpu() (Steve Best) [1932970] - powerpc/pseries: remove cede offline state for CPUs (Steve Best) [1932970] - powerpc/pseries: export LPAR security flavor in lparcfg (Steve Best) [1935660] - Makefile: update early devel phase flag (Bruno Meneguele) [1930504]- configs: Enable CONFIG_BPF_KPROBE_OVERRIDE (Jiri Olsa) [1920439] - powerpc/kvm: Fix build error when PPC_MEM_KEYS/PPC_PSERIES=n (Greg Kurz) [1945745] - powerpc/kvm: Fix PR KVM with KUAP/MEM_KEYS enabled (Greg Kurz) [1945745] - KVM: PPC: Book3S HV: Ensure MSR[HV] is always clear in guest MSR (Greg Kurz) [1945745] - KVM: PPC: Book3S HV: Ensure MSR[ME] is always set in guest MSR (Greg Kurz) [1945745] - KVM: PPC: Book3S HV: Fix CONFIG_SPAPR_TCE_IOMMU=n default hcalls (Greg Kurz) [1945745] - KVM: PPC: Book3S HV: remove unused kvmppc_h_protect argument (Greg Kurz) [1945745] - KVM: PPC: Book3S HV: Remove redundant mtspr PSPB (Greg Kurz) [1945745] - KVM: PPC: Book3S HV: Prevent radix guests setting LPCR[TC] (Greg Kurz) [1945745] - KVM: PPC: Book3S HV: Disallow LPCR[AIL] to be set to 1 or 2 (Greg Kurz) [1945745] - KVM: PPC: Book3S HV: Add a function to filter guest LPCR bits (Greg Kurz) [1945745] - KVM: PPC: Book3S HV: Nested move LPCR sanitising to sanitise_hv_regs (Greg Kurz) [1945745] - KVM: PPC: Book3S HV P9: Restore host CTRL SPR after guest exit (Greg Kurz) [1945745] - KVM: PPC: Don't always report hash MMU capability for P9 < DD2.2 (Greg Kurz) [1945745] - powerpc/xive: Assign boolean values to a bool variable (Greg Kurz) [1945745] - KVM: PPC: Book3S HV: Fix host radix SLB optimisation with hash guests (Greg Kurz) [1945745] - KVM: PPC: Book3S HV: Ensure radix guest has no SLB entries (Greg Kurz) [1945745] - KVM: PPC: Book3S HV: Save and restore FSCR in the P9 path (Greg Kurz) [1945745] - KVM: PPC: remove unneeded semicolon (Greg Kurz) [1945745] - KVM: PPC: Book3S HV: Use POWER9 SLBIA IH=6 variant to clear SLB (Greg Kurz) [1945745] - KVM: PPC: Book3S HV: No need to clear radix host SLB before loading HPT guest (Greg Kurz) [1945745] - KVM: PPC: Book3S HV: Fix radix guest SLB side channel (Greg Kurz) [1945745] - KVM: PPC: Book3S HV: Remove support for running HPT guest on RPT host without mixed mode support (Greg Kurz) [1945745] - powerpc/mm: Update tlbiel loop on POWER10 (Greg Kurz) [1945745] - KVM: PPC: Book3S HV: Allow nested guest creation when L0 hv_guest_state > L1 (Greg Kurz) [1945745] - KVM: PPC: Book3S HV: Context tracking exit guest context before enabling irqs (Greg Kurz) [1945745] - KVM: PPC: Book3S HV: Include prototypes (Greg Kurz) [1945745] - KVM: PPC: Make the VMX instruction emulation routines static (Greg Kurz) [1945745] - KVM: PPC: Book3S HV: Fix mask size for emulated msgsndp (Greg Kurz) [1945745] - KVM: PPC: fix comparison to bool warning (Greg Kurz) [1945745] - KVM: PPC: Book3S: Assign boolean values to a bool variable (Greg Kurz) [1945745] - KVM: PPC: Book3S HV: XIVE: Add a comment regarding VP numbering (Greg Kurz) [1945745] - powerpc/xive: Remove P9 DD1 flag XIVE_IRQ_FLAG_EOI_FW (Greg Kurz) [1945745] - powerpc/xive: Remove P9 DD1 flag XIVE_IRQ_FLAG_MASK_FW (Greg Kurz) [1945745] - powerpc/xive: Remove P9 DD1 flag XIVE_IRQ_FLAG_SHIFT_BUG (Greg Kurz) [1945745] - powerpc/xive: Add a debug_show handler to the XIVE irq_domain (Greg Kurz) [1945745] - powerpc/xive: Rename XIVE_IRQ_NO_EOI to show its a flag (Greg Kurz) [1945745] - KVM: PPC: Book3S HV: XIVE: Show detailed configuration in debug output (Greg Kurz) [1945745] - powerpc/64s: Remove MSR[ISF] bit (Greg Kurz) [1945745] - KVM: PPC: Book3S HV: Ratelimit machine check messages coming from guests (Greg Kurz) [1945745] - KVM: PPC: Book3S HV: Don't attempt to recover machine checks for FWNMI enabled guests (Greg Kurz) [1945745] - KVM: PPC: Book3S HV: XIVE: Fix possible oops when accessing ESB page (Greg Kurz) [1945745] - clocksource/drivers/hyper-v: Move handling of STIMER0 interrupts (Mohammed Gamal) [1940901] - clocksource/drivers/hyper-v: Set clocksource rating based on Hyper-V feature (Mohammed Gamal) [1940901] - clocksource/drivers/hyper-v: Handle sched_clock differences inline (Mohammed Gamal) [1940901] - clocksource/hyperv: use MSR-based access if running as root (Mohammed Gamal) [1940901] - cifs: fix interrupted close commands (Ronnie Sahlberg) [1952263] - cifs: add NULL check for ses->tcon_ipc (Ronnie Sahlberg) [1952263] - smb3: set COMPOUND_FID to FileID field of subsequent compound request (Ronnie Sahlberg) [1952263] - cifs: fix potential use-after-free in cifs_echo_request() (Ronnie Sahlberg) [1952263] - cifs: allow syscalls to be restarted in __smb_send_rqst() (Ronnie Sahlberg) [1952263] - smb3: Handle error case during offload read path (Ronnie Sahlberg) [1952263] - smb3: Avoid Mid pending list corruption (Ronnie Sahlberg) [1952263] - smb3: Call cifs reconnect from demultiplex thread (Ronnie Sahlberg) [1952263] - cifs: fix a memleak with modefromsid (Ronnie Sahlberg) [1952263] - cifs: update internal module version number (Ronnie Sahlberg) [1952263] - smb3: add some missing definitions from MS-FSCC (Ronnie Sahlberg) [1952263] - smb3: remove two unused variables (Ronnie Sahlberg) [1952263] - smb3: add support for stat of WSL reparse points for special file types (Ronnie Sahlberg) [1952263] - SMB3: add support for recognizing WSL reparse tags (Ronnie Sahlberg) [1952263] - cifs: remove bogus debug code (Ronnie Sahlberg) [1952263] - smb3.1.1: fix typo in compression flag (Ronnie Sahlberg) [1952263] - cifs: move smb version mount options into fs_context.c (Ronnie Sahlberg) [1952263] - cifs: move cache mount options to fs_context.ch (Ronnie Sahlberg) [1952263] - cifs: move security mount options into fs_context.ch (Ronnie Sahlberg) [1952263] - cifs: add files to host new mount api (Ronnie Sahlberg) [1952263] - smb3: do not try to cache root directory if dir leases not supported (Ronnie Sahlberg) [1952263] - smb3: fix stat when special device file and mounted with modefromsid (Ronnie Sahlberg) [1952263] - cifs: Print the address and port we are connecting to in generic_ip_connect() (Ronnie Sahlberg) [1952263] - SMB3: Resolve data corruption of TCP server info fields (Ronnie Sahlberg) [1952263] - cifs: make const array static, makes object smaller (Ronnie Sahlberg) [1952263] - SMB3.1.1: Fix ids returned in POSIX query dir (Ronnie Sahlberg) [1952263] - smb3: add dynamic trace point to trace when credits obtained (Ronnie Sahlberg) [1952263] - smb3.1.1: do not fail if no encryption required but server doesn't support it (Ronnie Sahlberg) [1952263] - cifs: Return the error from crypt_message when enc/dec key not found. (Ronnie Sahlberg) [1952263] - smb3.1.1: set gcm256 when requested (Ronnie Sahlberg) [1952263] - smb3.1.1: rename nonces used for GCM and CCM encryption (Ronnie Sahlberg) [1952263] - smb3.1.1: print warning if server does not support requested encryption type (Ronnie Sahlberg) [1952263] - smb3.1.1: add new module load parm enable_gcm_256 (Ronnie Sahlberg) [1952263] - smb3.1.1: add new module load parm require_gcm_256 (Ronnie Sahlberg) [1952263] - cifs: map STATUS_ACCOUNT_LOCKED_OUT to -EACCES (Ronnie Sahlberg) [1952263] - SMB3.1.1: add defines for new signing negotiate context (Ronnie Sahlberg) [1952263] - Handle STATUS_IO_TIMEOUT gracefully (Ronnie Sahlberg) [1952263] - cifs: compute full_path already in cifs_readdir() (Ronnie Sahlberg) [1952263] - cifs: return cached_fid from open_shroot (Ronnie Sahlberg) [1952263] - update structure definitions from updated protocol documentation (Ronnie Sahlberg) [1952263] - smb3: add defines for new crypto algorithms (Ronnie Sahlberg) [1952263] - cifs: fix check of tcon dfs in smb1 (Ronnie Sahlberg) [1952263] - SMB3: Fix mkdir when idsfromsid configured on mount (Ronnie Sahlberg) [1952263] - cifs: Convert to use the fallthrough macro (Ronnie Sahlberg) [1952263] - cifs: Fix an error pointer dereference in cifs_mount() (Ronnie Sahlberg) [1952263] - cifs: document and cleanup dfs mount (Ronnie Sahlberg) [1952263] - cifs: only update prefix path of DFS links in cifs_tree_connect() (Ronnie Sahlberg) [1952263] - cifs: fix double free error on share and prefix (Ronnie Sahlberg) [1952263] - cifs: handle RESP_GET_DFS_REFERRAL.PathConsumed in reconnect (Ronnie Sahlberg) [1952263] - cifs: handle empty list of targets in cifs_reconnect() (Ronnie Sahlberg) [1952263] - cifs: rename reconn_inval_dfs_target() (Ronnie Sahlberg) [1952263] - cifs: reduce number of referral requests in DFS link lookups (Ronnie Sahlberg) [1952263] - cifs: merge __{cifs,smb2}_reconnect[_tcon]() into cifs_tree_connect() (Ronnie Sahlberg) [1952263] - cifs: convert to use be32_add_cpu() (Ronnie Sahlberg) [1952263] - cifs: delete duplicated words in header files (Ronnie Sahlberg) [1952263] - cifs: Remove the superfluous break (Ronnie Sahlberg) [1952263] - cifs: remove unused variable 'server' (Ronnie Sahlberg) [1952263] - smb3: warn on confusing error scenario with sec=krb5 (Ronnie Sahlberg) [1952263] - fuse: 32-bit user space ioctl compat for fuse device (Miklos Szeredi) [1949873] - virtiofs: Fail dax mount if device does not support it (Miklos Szeredi) [1949873] - fuse: fix live lock in fuse_iget() (Miklos Szeredi) [1949873] - mm/filemap: remove unused parameter and change to void type for replace_page_cache_page() (Miklos Szeredi) [1949873] - fuse: support SB_NOSEC flag to improve write performance (Miklos Szeredi) [1949873] - fuse: add a flag FUSE_OPEN_KILL_SUIDGID for open() request (Miklos Szeredi) [1949873] - fuse: don't send ATTR_MODE to kill suid/sgid for handle_killpriv_v2 (Miklos Szeredi) [1949873] - fuse: setattr should set FATTR_KILL_SUIDGID (Miklos Szeredi) [1949873] - fuse: set FUSE_WRITE_KILL_SUIDGID in cached write path (Miklos Szeredi) [1949873] - fuse: rename FUSE_WRITE_KILL_PRIV to FUSE_WRITE_KILL_SUIDGID (Miklos Szeredi) [1949873] - fuse: introduce the notion of FUSE_HANDLE_KILLPRIV_V2 (Miklos Szeredi) [1949873] - fuse: always revalidate if exclusive create (Miklos Szeredi) [1949873] - virtiofs: clean up error handling in virtio_fs_get_tree() (Miklos Szeredi) [1949873] - fuse: add fuse_sb_destroy() helper (Miklos Szeredi) [1949873] - fuse: simplify get_fuse_conn*() (Miklos Szeredi) [1949873] - fuse: get rid of fuse_mount refcount (Miklos Szeredi) [1949873] - virtiofs: simplify sb setup (Miklos Szeredi) [1949873] - virtiofs fix leak in setup (Miklos Szeredi) [1949873] - fuse: launder page should wait for page writeback (Miklos Szeredi) [1949873] - fuse: connection remove fix (Miklos Szeredi) [1949873] - fuse: implement crossmounts (Miklos Szeredi) [1949873] - fuse: Allow fuse_fill_super_common() for submounts (Miklos Szeredi) [1949873] - fuse: split fuse_mount off of fuse_conn (Miklos Szeredi) [1949873] - fuse: drop fuse_conn parameter where possible (Miklos Szeredi) [1949873] - fuse: store fuse_conn in fuse_req (Miklos Szeredi) [1949873] - fuse: add submount support to (Miklos Szeredi) [1949873] - fuse: fix page dereference after free (Miklos Szeredi) [1949873] - fuse: update project homepage (Miklos Szeredi) [1949873] - fuse: Fix parameter for FS_IOC_{GET,SET}FLAGS (Miklos Szeredi) [1949873] - fuse: don't ignore errors from fuse_writepages_fill() (Miklos Szeredi) [1949873] - fuse: clean up condition for writepage sending (Miklos Szeredi) [1949873] - fuse: fix warning in tree_insert() and clean up writepage insertion (Miklos Szeredi) [1949873] - fuse: move rb_erase() before tree_insert() (Miklos Szeredi) [1949873] - fuse: optimize writepages search (Miklos Szeredi) [1949873] - fuse: Update stale comment in queue_interrupt() (Miklos Szeredi) [1949873] - fuse: use true,false for bool variable (Miklos Szeredi) [1949873] - fuse: Add changelog entries for protocols 7.1 - 7.8 (Miklos Szeredi) [1949873] - fuse: reserve byteswapped init opcodes (Miklos Szeredi) [1949873] - convenience helper: get_tree_single() (finish backport) (Miklos Szeredi) [1949873] - fuse: Convert fusectl to use the new mount API (Miklos Szeredi) [1949873] - fuse: fix changelog entry for protocol 7.9 (Miklos Szeredi) [1949873] - fuse: fix changelog entry for protocol 7.12 (Miklos Szeredi) [1949873] - sfc: adjust efx->xdp_tx_queue_count with the real number of initialized queues (Íñigo Huguet) [1934254] - sfc: Remove duplicate argument (Íñigo Huguet) [1934254] - sfc: Use 'skb_add_rx_frag()' instead of hand coding it (Íñigo Huguet) [1934254] - sfc-falcon: Fix a typo (Íñigo Huguet) [1934254] - sfc: ef10: fix TX queue lookup in TX event handling (Íñigo Huguet) [1934254] - sfc: farch: fix TX queue lookup in TX event handling (Íñigo Huguet) [1934254] - sfc: farch: fix TX queue lookup in TX flush done handling (Íñigo Huguet) [1934254] - sfc: reduce the number of requested xdp ev queues (Íñigo Huguet) [1934254] - sfc: support GRE TSO on EF100 (Íñigo Huguet) [1934254] - sfc: correctly support non-partial GSO_UDP_TUNNEL_CSUM on EF100 (Íñigo Huguet) [1934254] - sfc: extend bitfield macros to 19 fields (Íñigo Huguet) [1934254] - sfc: advertise our vlan features (Íñigo Huguet) [1934254] - sfc: only use fixed-id if the skb asks for it (Íñigo Huguet) [1934254] - sfc: implement encap TSO on EF100 (Íñigo Huguet) [1934254] - sfc: extend bitfield macros to 17 fields (Íñigo Huguet) [1934254] - sfc: move initialisation of efx->filter_sem to efx_init_struct() (Íñigo Huguet) [1934254] - net: sfc: Use GFP_KERNEL in efx_ef10_try_update_nic_stats() (Íñigo Huguet) [1934254] - net: sfc: Replace in_interrupt() usage (Íñigo Huguet) [1934254] - sfc: clean up mis-targeted comments (Íñigo Huguet) [1934254] - sfc: fix kdoc warning (Íñigo Huguet) [1934254] - sfc: clean up unused assignments (Íñigo Huguet) [1934254] - sfc: advertise encapsulated offloads on EF10 (Íñigo Huguet) [1934254] - sfc: implement encapsulated TSO on EF10 (Íñigo Huguet) [1934254] - sfc: de-indirect TSO handling (Íñigo Huguet) [1934254] - sfc: select inner-csum-offload TX queues for skbs that need it (Íñigo Huguet) [1934254] - sfc: create inner-csum queues on EF10 if supported (Íñigo Huguet) [1934254] - sfc: define inner/outer csum offload TXQ types (Íñigo Huguet) [1934254] - sfc: decouple TXQ type from label (Íñigo Huguet) [1934254] - sfc: cleanups around efx_alloc_channel (Íñigo Huguet) [1934254] - sfc: remove spurious unreachable return statement (Íñigo Huguet) [1934254] - sfc: remove duplicate call to efx_init_channels from EF100 probe (Íñigo Huguet) [1934254] - sfc: coding style cleanups in mcdi_port_common.c (Íñigo Huguet) [1934254] - sfc: simplify DMA mask setting (Íñigo Huguet) [1934254] - sfc: remove EFX_DRIVER_VERSION (Íñigo Huguet) [1934254] - sfc: handle limited FEC support (Íñigo Huguet) [1934254] - sfc: add ethtool ops and miscellaneous ndos to EF100 (Íñigo Huguet) [1934254] - sfc: remove phy_op indirection (Íñigo Huguet) [1934254] - sfc: remove efx_tx_queue_partner (Íñigo Huguet) [1934254] - sfc: rewrite efx_tx_may_pio (Íñigo Huguet) [1934254] - sfc: use efx_channel_tx_[old_]fill_level() in Siena/EF10 TX datapath (Íñigo Huguet) [1934254] - sfc: use tx_queue->old_read_count in EF100 TX path (Íñigo Huguet) [1934254] - sfc: make ef100 xmit_more handling look more like ef10's (Íñigo Huguet) [1934254] - sfc: add and use efx_tx_send_pending in tx.c (Íñigo Huguet) [1934254] - sfc: return errors from efx_mcdi_set_id_led, and de-indirect (Íñigo Huguet) [1934254] - sfc: fix kernel-doc on struct efx_loopback_state (Íñigo Huguet) [1934254] - sfc: fix unused-but-set-variable warning in efx_farch_filter_remove_safe (Íñigo Huguet) [1934254] - sfc: fix W=1 warnings in efx_farch_handle_rx_not_ok (Íñigo Huguet) [1934254] - sfc: convert to new udp_tunnel infrastructure (Íñigo Huguet) [1934254] - net: don't warn in inet diag when IPV6 is disabled (Hangbin Liu) [1938639] - tcp: do not mess with cloned skbs in tcp_add_backlog() (Hangbin Liu) [1880432] - redhat: enable MHI bus driver support (Jarod Wilson) [1938030] - bus: mhi: core: Fix invalid error returning in mhi_queue (Jarod Wilson) [1938030] - bus: mhi: pci_generic: Remove WQ_MEM_RECLAIM flag from state workqueue (Jarod Wilson) [1938030] - bus: mhi: core: Fix check for syserr at power_up (Jarod Wilson) [1938030] - mhi: Fix double dma free (Jarod Wilson) [1938030] - bus: mhi: pci_generic: Increase num of elements in hw event ring (Jarod Wilson) [1938030] - mhi: pci_generic: Print warning in case of firmware crash (Jarod Wilson) [1938030] - bus: mhi: core: Add helper API to return number of free TREs (Jarod Wilson) [1938030] - mhi: core: Factorize mhi queuing (Jarod Wilson) [1938030] - mhi: use irq_flags if controller driver configures it (Jarod Wilson) [1938030] - mhi: pci_generic: Fix shared MSI vector support (Jarod Wilson) [1938030] - mhi: unconstify mhi_event_config (Jarod Wilson) [1938030] - bus: mhi: Ensure correct ring update ordering with memory barrier (Jarod Wilson) [1938030] - mhi: pci_generic: Set irq moderation value to 1ms for hw channels (Jarod Wilson) [1938030] - mhi: pci_generic: Add diag channels (Jarod Wilson) [1938030] - mhi: pci_generic: Increase controller timeout value (Jarod Wilson) [1938030] - mhi: pci_generic: Add health-check (Jarod Wilson) [1938030] - mhi: pci_generic: Add PCI error handlers (Jarod Wilson) [1938030] - mhi: pci_generic: Add suspend/resume/recovery procedure (Jarod Wilson) [1938030] - mhi: pci_generic: Add support for reset (Jarod Wilson) [1938030] - mhi: pci_generic: Enable burst mode for hardware channels (Jarod Wilson) [1938030] - mhi: pci-generic: Increase number of hardware events (Jarod Wilson) [1938030] - bus: mhi: core: Add device hardware reset support (Jarod Wilson) [1938030] - mhi: pci_generic: Fix implicit conversion warning (Jarod Wilson) [1938030] - bus: mhi: core: Fix error handling in mhi_register_controller() (Jarod Wilson) [1938030] - bus: mhi: core: Fix device hierarchy (Jarod Wilson) [1938030] - bus: mhi: core: Indexed MHI controller name (Jarod Wilson) [1938030] - bus: mhi: core: Remove MHI event ring IRQ handlers when powering down (Jarod Wilson) [1938030] - bus: mhi: core: Mark and maintain device states early on after power down (Jarod Wilson) [1938030] - bus: mhi: core: Separate system error and power down handling (Jarod Wilson) [1938030] - bus: mhi: core: Check for IRQ availability during registration (Jarod Wilson) [1938030] - bus: mhi: core: Move to an error state on mission mode failure (Jarod Wilson) [1938030] - bus: mhi: core: Use appropriate label in firmware load handler API (Jarod Wilson) [1938030] - bus: mhi: core: Move to an error state on any firmware load failure (Jarod Wilson) [1938030] - bus: mhi: core: Prevent sending multiple RDDM entry callbacks (Jarod Wilson) [1938030] - bus: mhi: core: Move to SYS_ERROR regardless of RDDM capability (Jarod Wilson) [1938030] - bus: mhi: core: Skip device wake in error or shutdown states (Jarod Wilson) [1938030] - bus: mhi: core: Move to using high priority workqueue (Jarod Wilson) [1938030] - bus: mhi: core: Use appropriate names for firmware load functions (Jarod Wilson) [1938030] - bus: mhi: core: Skip RDDM download for unknown execution environment (Jarod Wilson) [1938030] - bus: mhi: core: Rename RDDM download function to use proper words (Jarod Wilson) [1938030] - bus: mhi: core: Remove unused mhi_fw_load_worker() declaration (Jarod Wilson) [1938030] - bus: mhi: core: Expose mhi_get_exec_env() API for controllers (Jarod Wilson) [1938030] - bus: mhi: core: Add missing EXPORT_SYMBOL for mhi_get_mhi_state() (Jarod Wilson) [1938030] - bus: mhi: core: Remove unnecessary counter from mhi_firmware_copy() (Jarod Wilson) [1938030] - bus: mhi: Fix channel close issue on driver remove (Jarod Wilson) [1938030] - bus: mhi: core: Fix null pointer access when parsing MHI configuration (Jarod Wilson) [1938030] - bus: mhi: Add MHI PCI support for WWAN modems (Jarod Wilson) [1938030] - bus: mhi: core: fix potential operator-precedence with BHI macros (Jarod Wilson) [1938030] - bus: mhi: core: Remove double locking from mhi_driver_remove() (Jarod Wilson) [1938030] - bus: mhi: Remove auto-start option (Jarod Wilson) [1938030] - bus: mhi: Add mhi_queue_is_full function (Jarod Wilson) [1938030] - bus: mhi: debugfs: Print channel context read-pointer (Jarod Wilson) [1938030] - bus: mhi: core: Fix the building of MHI module (Jarod Wilson) [1938030] - bus: mhi: Remove unused nr_irqs_req variable (Jarod Wilson) [1938030] - bus: mhi: core: Allow shared IRQ for event rings (Jarod Wilson) [1938030] - bus: mhi: core: Introduce sysfs entries for MHI (Jarod Wilson) [1938030] - bus: mhi: core: Introduce debugfs entries for MHI (Jarod Wilson) [1938030] - bus: mhi: Fix entries based on Kconfig coding style (Jarod Wilson) [1938030] - bus: mhi: Remove include of rwlock_types.h (Jarod Wilson) [1938030] - bus: mhi: core: Add const qualifier to MHI config information (Jarod Wilson) [1938030] - bus: mhi: core: Introduce APIs to allocate and free the MHI controller (Jarod Wilson) [1938030] - bus: mhi: core: Read and save device hardware information from BHI (Jarod Wilson) [1938030] - bus: mhi: core: Introduce counters to track MHI device state transitions (Jarod Wilson) [1938030] - bus: mhi: core: Introduce helper function to check device state (Jarod Wilson) [1938030] - bus: mhi: core: Use generic name field for an MHI device (Jarod Wilson) [1938030] - bus: mhi: core: Trigger host resume if suspended during mhi_device_get() (Jarod Wilson) [1938030] - bus: mhi: core: Use helper API to trigger a non-blocking host resume (Jarod Wilson) [1938030] - bus: mhi: core: Abort suspends due to outgoing pending packets (Jarod Wilson) [1938030] - bus: mhi: core: Remove double occurrence for mhi_ctrl_ev_task() declaration (Jarod Wilson) [1938030] - bus: mhi: fix doubled words and struct image_info kernel-doc (Jarod Wilson) [1938030] - bus: mhi: core: Handle syserr during power_up (Jarod Wilson) [1938030] - bus: mhi: core: Handle write lock properly in mhi_pm_m0_transition (Jarod Wilson) [1938030] - bus: mhi: core: Do not process SYS_ERROR if RDDM is supported (Jarod Wilson) [1938030] - bus: mhi: core: Skip handling BHI irq if MHI reg access is not allowed (Jarod Wilson) [1938030] - bus: mhi: core: Handle disable transitions in state worker (Jarod Wilson) [1938030] - bus: mhi: core: Remove the system error worker thread (Jarod Wilson) [1938030] - bus: mhi: core: Ensure non-zero session or sequence ID values are used (Jarod Wilson) [1938030] - bus: mhi: core: Improve debug logs for loading firmware (Jarod Wilson) [1938030] - bus: mhi: core: Return appropriate error codes for AMSS load failure (Jarod Wilson) [1938030] - bus: mhi: core: Handle firmware load using state worker (Jarod Wilson) [1938030] - bus: mhi: core: Read transfer length from an event properly (Jarod Wilson) [1938030] - bus: mhi: core: Add range check for channel id received in event ring (Jarod Wilson) [1938030] - bus: mhi: core: Cache intmod from mhi event to mhi channel (Jarod Wilson) [1938030] - bus: mhi: core: Refactor mhi queue APIs (Jarod Wilson) [1938030] - bus: mhi: core: Fix some error return code (Jarod Wilson) [1938030] - bus: mhi: core: Fix channel device name conflict (Jarod Wilson) [1938030] - bus: mhi: core: Fix typo in comment (Jarod Wilson) [1938030] - bus: mhi: core: Offload register accesses to the controller (Jarod Wilson) [1938030] - bus: mhi: core: Remove link_status() callback (Jarod Wilson) [1938030] - bus: mhi: core: Make sure to powerdown if mhi_sync_power_up fails (Jarod Wilson) [1938030] - bus: mhi: Fix parsing of mhi_flags (Jarod Wilson) [1938030] - bus: mhi: core: Fix a NULL vs IS_ERR check in mhi_create_devices() (Jarod Wilson) [1938030] - bus: mhi: core: Add support for MHI suspend and resume (Jarod Wilson) [1938030] - bus: mhi: core: Drop the references to mhi_dev in mhi_destroy_device() (Jarod Wilson) [1938030] - bus: mhi: core: Initialize bhie field in mhi_cntrl for RDDM capture (Jarod Wilson) [1938030] - bus: mhi: core: Add support for reading MHI info from device (Jarod Wilson) [1938030] - bus: mhi: core: Pass module owner during client driver registration (Jarod Wilson) [1938030] - bus/mhi: fix printk format for size_t (Jarod Wilson) [1938030] - bus: mhi: core: Add uevent support for module autoloading (Jarod Wilson) [1938030] - bus: mhi: core: Add support for data transfer (Jarod Wilson) [1938030] - bus: mhi: core: Add support for processing events from client device (Jarod Wilson) [1938030] - bus: mhi: core: Add support for downloading RDDM image during panic (Jarod Wilson) [1938030] - bus: mhi: core: Add support for downloading firmware over BHIe (Jarod Wilson) [1938030] - bus: mhi: core: Add support for basic PM operations (Jarod Wilson) [1938030] - bus: mhi: core: Add support for PM state transitions (Jarod Wilson) [1938030] - bus: mhi: core: Add support for ringing channel/event ring doorbells (Jarod Wilson) [1938030] - bus: mhi: core: Add support for creating and destroying MHI devices (Jarod Wilson) [1938030] - bus: mhi: core: Add support for registering MHI client drivers (Jarod Wilson) [1938030] - bus: mhi: core: Add support for registering MHI controllers (Jarod Wilson) [1938030]- ipmi: remove open coded version of SMBus block write (Tony Camuso) [1947126] - char: ipmi: convert comma to semicolon (Tony Camuso) [1947126] - ipmi: msghandler: Suppress suspicious RCU usage warning (Tony Camuso) [1947126] - ipmi/watchdog: replace atomic_add() and atomic_sub() (Tony Camuso) [1947126] - char: ipmi: remove unneeded break (Tony Camuso) [1947126] - ipmi_si: Fix wrong return value in try_smi_init() (Tony Camuso) [1947126] - ipmi: msghandler: Fix a signedness bug (Tony Camuso) [1947126] - ipmi: add retry in try_get_dev_id() (Tony Camuso) [1947126] - ipmi: Clean up some printks (Tony Camuso) [1947126] - ipmi:msghandler: retry to get device id on an error (Tony Camuso) [1947126] - ipmi:sm: Print current state when the state is invalid (Tony Camuso) [1947126] - ipmi: Reset response handler when failing to send the command (Tony Camuso) [1947126] - ipmi: add a newline when printing parameter 'panic_op' by sysfs (Tony Camuso) [1947126] - cpuidle: Select polling interval based on a c-state with a longer target residency (Mark Langsdorf) [1922024] - cpuidle: big.LITTLE: enable driver only on Peach-Pit/Pi Chromebooks (Mark Langsdorf) [1922024] - cpuidle: record state entry rejection statistics (Mark Langsdorf) [1922024] - nitro_enclaves: Fix stale file descriptors on failed usercopy (Vitaly Kuznetsov) [1953717] - iavf: amend removal of MODULE_VERSION (Stefan Assmann) [1955738] - ixgbevf: Amend commit acf03026ec5a to include a version in module info. (Ken Cox) [1955764] - devlink: move flash end and begin to core devlink (Petr Oros) [1935671] - devlink: move request_firmware out of driver (Petr Oros) [1935671] - ice: add additional debug logging for firmware update (Petr Oros) [1935671] - ice: add support for flash update overwrite mask (Petr Oros) [1935671] - driver core: auxiliary bus: Fix calling stage for auxiliary bus init (Ivan Vecera) [1933820] - driver core: auxiliary bus: Fix auxiliary bus shutdown null auxdrv ptr (Ivan Vecera) [1933820] - driver core: auxiliary bus: minor coding style tweaks (Ivan Vecera) [1933820] - driver core: auxiliary bus: make remove function return void (Ivan Vecera) [1933820] - driver core: auxiliary bus: move slab.h from include file (Ivan Vecera) [1933820] - Add auxiliary bus support (Ivan Vecera) [1933820] - modpost: file2alias: go back to simple devtable lookup (Ivan Vecera) [1933820] - scsi: lpfc: Fix bad memory access during VPD DUMP mailbox command (Dick Kennedy) [1923762] - scsi: lpfc: Fix DMA virtual address ptr assignment in bsg (Dick Kennedy) [1923762] - scsi: lpfc: Fix illegal memory access on Abort IOCBs (Dick Kennedy) [1923762] - scsi: lpfc: Copyright updates for 12.8.0.9 patches (Dick Kennedy) [1923762] - scsi: lpfc: Update lpfc version to 12.8.0.9 (Dick Kennedy) [1923762] - scsi: lpfc: Eliminate use of LPFC_DRIVER_NAME in lpfc_attr.c (Dick Kennedy) [1923762] - scsi: lpfc: Standardize discovery object logging format (Dick Kennedy) [1923762] - scsi: lpfc: Fix various trivial errors in comments and log messages (Dick Kennedy) [1923762] - scsi: lpfc: Remove unsupported mbox PORT_CAPABILITIES logic (Dick Kennedy) [1923762] - scsi: lpfc: Fix lpfc_hdw_queue attribute being ignored (Dick Kennedy) [1923762] - scsi: lpfc: Fix missing FDMI registrations after Mgmt Svc login (Dick Kennedy) [1923762] - scsi: lpfc: Fix silent memory allocation failure in lpfc_sli4_bsg_link_diag_test() (Dick Kennedy) [1923762] - scsi: lpfc: Fix use-after-free on unused nodes after port swap (Dick Kennedy) [1923762] - scsi: lpfc: Fix error handling for mailboxes completed in MBX_POLL mode (Dick Kennedy) [1923762] - scsi: lpfc: Fix lack of device removal on port swaps with PRLIs (Dick Kennedy) [1923762] - scsi: lpfc: Fix NMI crash during rmmod due to circular hbalock dependency (Dick Kennedy) [1923762] - scsi: lpfc: Fix reference counting errors in lpfc_cmpl_els_rsp() (Dick Kennedy) [1923762] - scsi: lpfc: Fix crash when a REG_RPI mailbox fails triggering a LOGO response (Dick Kennedy) [1923762] - scsi: lpfc: Fix rmmod crash due to bad ring pointers to abort_iotag (Dick Kennedy) [1923762] - scsi: lpfc: Fix gcc -Wstringop-overread warning (Dick Kennedy) [1923762] - scsi: lpfc: Fix a typo (Dick Kennedy) [1923762] - scsi: lpfc: Fix a typo (Dick Kennedy) [1923762] - scsi: lpfc: Fix kernel-doc formatting issue (Dick Kennedy) [1923762] - scsi: lpfc: Fix a few incorrectly named functions (Dick Kennedy) [1923762] - scsi: lpfc: Fix incorrectly documented function lpfc_debugfs_commonxripools_data() (Dick Kennedy) [1923762] - scsi: lpfc: Fix a bunch of misnamed functions (Dick Kennedy) [1923762] - scsi: lpfc: Fix a bunch of kernel-doc misdemeanours (Dick Kennedy) [1923762] - scsi: lpfc: Fix incorrect naming of __lpfc_update_fcf_record() (Dick Kennedy) [1923762] - scsi: lpfc: Fix formatting and misspelling issues (Dick Kennedy) [1923762] - scsi: lpfc: Fix a bunch of kernel-doc issues (Dick Kennedy) [1923762] - scsi: lpfc: Update copyrights for 12.8.0.7 and 12.8.0.8 changes (Dick Kennedy) [1923762] - scsi: lpfc: Update lpfc version to 12.8.0.8 (Dick Kennedy) [1923762] - scsi: lpfc: Correct function header comments related to ndlp reference counting (Dick Kennedy) [1923762] - scsi: lpfc: Reduce LOG_TRACE_EVENT logging for vports (Dick Kennedy) [1923762] - scsi: lpfc: Change wording of invalid pci reset log message (Dick Kennedy) [1923762] - scsi: lpfc: Fix crash caused by switch reboot (Dick Kennedy) [1923762] - scsi: lpfc: Fix pt2pt state transition causing rmmod hang (Dick Kennedy) [1923762] - scsi: lpfc: Fix nodeinfo debugfs output (Dick Kennedy) [1923762] - scsi: lpfc: Fix ADISC handling that never frees nodes (Dick Kennedy) [1923762] - scsi: lpfc: Fix PLOGI ACC to be transmit after REG_LOGIN (Dick Kennedy) [1923762] - scsi: lpfc: Fix dropped FLOGI during pt2pt discovery recovery (Dick Kennedy) [1923762] - scsi: lpfc: Fix status returned in lpfc_els_retry() error exit path (Dick Kennedy) [1923762] - scsi: lpfc: Fix use after free in lpfc_els_free_iocb (Dick Kennedy) [1923762] - scsi: lpfc: Fix null pointer dereference in lpfc_prep_els_iocb() (Dick Kennedy) [1923762] - scsi: lpfc: Fix unnecessary null check in lpfc_release_scsi_buf (Dick Kennedy) [1923762] - scsi: lpfc: Fix pt2pt connection does not recover after LOGO (Dick Kennedy) [1923762] - scsi: lpfc: Fix lpfc_els_retry() possible null pointer dereference (Dick Kennedy) [1923762] - scsi: lpfc: Fix FLOGI failure due to accessing a freed node (Dick Kennedy) [1923762] - scsi: lpfc: Fix stale node accesses on stale RRQ request (Dick Kennedy) [1923762] - scsi: lpfc: Fix reftag generation sizing errors (Dick Kennedy) [1923762] - scsi: lpfc: Fix vport indices in lpfc_find_vport_by_vpid() (Dick Kennedy) [1923762] - scsi: lpfc: Fix incorrect dbde assignment when building target abts wqe (Dick Kennedy) [1923762] - scsi: lpfc: Fix 'physical' typos (Dick Kennedy) [1923762] - scsi: lpfc: Fix ancient double free (Dick Kennedy) [1923762] - scsi: lpfc: Fix kerneldoc inconsistency in lpfc_sli4_dump_page_a0() (Dick Kennedy) [1923762] - scsi: lpfc: Add support for eh_should_retry_cmd() (Dick Kennedy) [1923762] - scsi: lpfc: Simplify bool comparison (Dick Kennedy) [1923762] - scsi: lpfc: Update lpfc version to 12.8.0.7 (Dick Kennedy) [1923762] - scsi: lpfc: Enhancements to LOG_TRACE_EVENT for better readability (Dick Kennedy) [1923762] - scsi: lpfc: Implement health checking when aborting I/O (Dick Kennedy) [1923762] - scsi: lpfc: Fix crash when nvmet transport calls host_release (Dick Kennedy) [1923762] - scsi: lpfc: Fix vport create logging (Dick Kennedy) [1923762] - scsi: lpfc: Fix NVMe recovery after mailbox timeout (Dick Kennedy) [1923762] - scsi: lpfc: Fix target reset failing (Dick Kennedy) [1923762] - scsi: lpfc: Fix error log messages being logged following SCSI task mgnt (Dick Kennedy) [1923762] - scsi: lpfc: Fix FW reset action if I/Os are outstanding (Dick Kennedy) [1923762] - scsi: lpfc: Use the nvme-fc transport supplied timeout for LS requests (Dick Kennedy) [1923762] - scsi: lpfc: Fix crash when a fabric node is released prematurely (Dick Kennedy) [1923762] - scsi: lpfc: Refresh ndlp when a new PRLI is received in the PRLI issue state (Dick Kennedy) [1923762] - scsi: lpfc: Fix auto sli_mode and its effect on CONFIG_PORT for SLI3 (Dick Kennedy) [1923762] - scsi: lpfc: Fix PLOGI S_ID of 0 on pt2pt config (Dick Kennedy) [1923762] - scsi: lpfc: Fix fall-through warnings for Clang (Dick Kennedy) [1923762] - scsi: lpfc: Correct null ndlp reference on routine exit (Dick Kennedy) [1923762] - scsi: lpfc: Use generic power management (Dick Kennedy) [1923762] - scsi: lpfc: Fix variable 'vport' set but not used in lpfc_sli4_abts_err_handler() (Dick Kennedy) [1923762] - scsi: lpfc: Fix missing prototype for lpfc_nvmet_prep_abort_wqe() (Dick Kennedy) [1923762] - scsi: lpfc: Fix set but unused variables in lpfc_dev_loss_tmo_handler() (Dick Kennedy) [1923762] - scsi: lpfc: Fix set but not used warnings from Rework remote port lock handling (Dick Kennedy) [1923762] - scsi: lpfc: Fix missing prototype warning for lpfc_fdmi_vendor_attr_mi() (Dick Kennedy) [1923762] - scsi: lpfc: Fix memory leak on lcb_context (Dick Kennedy) [1923762] - scsi: lpfc: Remove dead code on second !ndlp check (Dick Kennedy) [1923762] - scsi: lpfc: Fix pointer defereference before it is null checked issue (Dick Kennedy) [1923762] - scsi: lpfc: Update changed file copyrights for 2020 (Dick Kennedy) [1923762] - scsi: lpfc: Update lpfc version to 12.8.0.6 (Dick Kennedy) [1923762] - scsi: lpfc: Convert abort handling to SLI-3 and SLI-4 handlers (Dick Kennedy) [1923762] - scsi: lpfc: Convert SCSI I/O completions to SLI-3 and SLI-4 handlers (Dick Kennedy) [1923762] - scsi: lpfc: Convert SCSI path to use common I/O submission path (Dick Kennedy) [1923762] - scsi: lpfc: Enable common send_io interface for SCSI and NVMe (Dick Kennedy) [1923762] - scsi: lpfc: Enable common wqe_template support for both SCSI and NVMe (Dick Kennedy) [1923762] - scsi: lpfc: Refactor WQE structure definitions for common use (Dick Kennedy) [1923762] - scsi: lpfc: Fix NPIV Fabric Node reference counting (Dick Kennedy) [1923762] - scsi: lpfc: Fix NPIV discovery and Fabric Node detection (Dick Kennedy) [1923762] - scsi: lpfc: Unsolicited ELS leaves node in incorrect state while dropping it (Dick Kennedy) [1923762] - scsi: lpfc: Remove ndlp when a PLOGI/ADISC/PRLI/REG_RPI ultimately fails (Dick Kennedy) [1923762] - scsi: lpfc: Rework remote port lock handling (Dick Kennedy) [1923762] - scsi: lpfc: Honor module parameter lpfc_use_adisc (Dick Kennedy) [1923762] - scsi: lpfc: Fix refcounting around SCSI and NVMe transport APIs (Dick Kennedy) [1923762] - scsi: lpfc: Fix removal of SCSI transport device get and put on dev structure (Dick Kennedy) [1923762] - scsi: lpfc: Rework locations of ndlp reference taking (Dick Kennedy) [1923762] - scsi: lpfc: Rework remote port ref counting and node freeing (Dick Kennedy) [1923762] - scsi: lpfc: remove ScsiResult macro (Dick Kennedy) [1923762] - scsi: lpfc: lpfc_nvmet: Fix-up some formatting and doc-rot issues (Dick Kennedy) [1923762] - scsi: lpfc: lpfc_nvme: Fix some kernel-doc related issues (Dick Kennedy) [1923762] - scsi: lpfc: lpfc_nvme: Remove unused variable 'phba' (Dick Kennedy) [1923762] - scsi: lpfc: lpfc_bsg: Provide correct documentation for a bunch of functions (Dick Kennedy) [1923762] - scsi: lpfc: lpfc_debugfs: Fix a couple of function documentation issues (Dick Kennedy) [1923762] - scsi: lpfc: lpfc_attr: Fix-up a bunch of kernel-doc misdemeanours (Dick Kennedy) [1923762] - scsi: lpfc: lpfc_attr: Demote kernel-doc format for redefined functions (Dick Kennedy) [1923762] - scsi: lpfc: lpfc_scsi: Fix a whole host of kernel-doc issues (Dick Kennedy) [1923762] - block: return -EBUSY when there are open partitions in blkdev_reread_part (Ming Lei) [1936800] - block: Try to handle busy underlying device on discard (Ming Lei) [1936800] - md: check for NULL ->meta_bdev before calling bdev_read_only (Ming Lei) [1936800] - blk-settings: align max_sectors on "logical_block_size" boundary (Ming Lei) [1936800] - nbd: handle device refs for DESTROY_ON_DISCONNECT properly (Ming Lei) [1936800] - kyber: introduce kyber_depth_updated() (Ming Lei) [1936800] - loop: fix I/O error on fsync() in detached loop devices (Ming Lei) [1936800] - block: fix potential IO hang when turning off io_poll (Ming Lei) [1936800] - bfq: Use only idle IO periods for think time calculations (Ming Lei) [1936800] - bfq: Use 'ttime' local variable (Ming Lei) [1936800] - bfq: Avoid false bfq queue merging (Ming Lei) [1936800] - bfq: bfq_check_waker() should be static (Ming Lei) [1936800] - block, bfq: make waker-queue detection more robust (Ming Lei) [1936800] - block, bfq: save also injection state on queue merging (Ming Lei) [1936800] - block, bfq: save also weight-raised service on queue merging (Ming Lei) [1936800] - block, bfq: fix switch back from soft-rt weitgh-raising (Ming Lei) [1936800] - block, bfq: re-evaluate convenience of I/O plugging on rq arrivals (Ming Lei) [1936800] - block, bfq: replace mechanism for evaluating I/O intensity (Ming Lei) [1936800] - block: set .bi_max_vecs as actual allocated vector number (Ming Lei) [1936800] - block: don't allocate inline bvecs if this bioset needn't bvecs (Ming Lei) [1936800] - block: don't pass BIOSET_NEED_BVECS for q->bio_split (Ming Lei) [1936800] - block: manage bio slab cache by xarray (Ming Lei) [1936800] - block, bfq: do not expire a queue when it is the only busy one (Ming Lei) [1936800] - block, bfq: avoid spurious switches to soft_rt of interactive queues (Ming Lei) [1936800] - block, bfq: do not raise non-default weights (Ming Lei) [1936800] - block, bfq: increase time window for waker detection (Ming Lei) [1936800] - block, bfq: use half slice_idle as a threshold to check short ttime (Ming Lei) [1936800] - brd: remove the end of device check in brd_do_bvec (Ming Lei) [1936800] - block: propagate BLKROSET on the whole device to all partitions (Ming Lei) [1936800] - block: add a hard-readonly flag to struct gendisk (Ming Lei) [1936800] - block: remove the NULL bdev check in bdev_read_only (Ming Lei) [1936800] - dm: use bdev_read_only to check if a device is read-only (Ming Lei) [1936800] - block: reopen the device in blkdev_reread_part (Ming Lei) [1936800] - block, bfq: set next_rq to waker_bfqq->next_rq in waker injection (Ming Lei) [1936800] - Revert "block: simplify set_init_blocksize" to regain lost performance (Ming Lei) [1936800] - bfq-iosched: Revert "bfq: Fix computation of shallow depth" (Ming Lei) [1936800] - blk-mq-debugfs: Add decode for BLK_MQ_F_TAG_HCTX_SHARED (Ming Lei) [1936800] - bfq: Fix computation of shallow depth (Ming Lei) [1936800] - block: rsxx: select CONFIG_CRC32 (Ming Lei) [1936800] - block: add debugfs stanza for QUEUE_FLAG_NOWAIT (Ming Lei) [1936800] - blk-mq: Don't complete on a remote CPU in force threaded mode (Ming Lei) [1936800] - blk-mq: Remove 'running from the wrong CPU' warning (Ming Lei) [1936800] - block: disable iopoll for split bio (Ming Lei) [1936800] - block: Improve blk_revalidate_disk_zones() checks (Ming Lei) [1936800] - sbitmap: replace CAS with atomic and (Ming Lei) [1936800] - sbitmap: remove swap_lock (Ming Lei) [1936800] - sbitmap: optimise sbitmap_deferred_clear() (Ming Lei) [1936800] - blk-mq: skip hybrid polling if iopoll doesn't spin (Ming Lei) [1936800] - blktrace: fix up a kerneldoc comment (Ming Lei) [1936800] - block: remove the unused block_sleeprq tracepoint (Ming Lei) [1936800] - blk-throttle: don't check whether or not lower limit is valid if CONFIG_BLK_DEV_THROTTLING_LOW is off (Ming Lei) [1936800] - block: fix inflight statistics of part0 (Ming Lei) [1936800] - block: optimise for_each_bvec() advance (Ming Lei) [1936800] - block: opencode devcgroup_inode_permission (Ming Lei) [1936800] - block: move bdput() to the callers of __blkdev_get (Ming Lei) [1936800] - block: refactor blkdev_get (Ming Lei) [1936800] - block: refactor __blkdev_put (Ming Lei) [1936800] - block: switch bdgrab to use igrab (Ming Lei) [1936800] - block: change the hash used for looking up block devices (Ming Lei) [1936800] - block: use put_device in put_disk (Ming Lei) [1936800] - block: use disk_part_iter_exit in disk_part_iter_next (Ming Lei) [1936800] - block: add a bdev_kobj helper (Ming Lei) [1936800] - block: remove a superflous check in blkpg_do_ioctl (Ming Lei) [1936800] - block: remove a duplicate __disk_get_part prototype (Ming Lei) [1936800] - loop: do not call set_blocksize (Ming Lei) [1936800] - zram: do not call set_blocksize (Ming Lei) [1936800] - block: wbt: Remove unnecessary invoking of wbt_update_limits in wbt_init (Ming Lei) [1936800] - virtio-blk: remove a spurious call to revalidate_disk_size (Ming Lei) [1936800] - md: remove a spurious call to revalidate_disk_size in update_size (Ming Lei) [1936800] - aoe: don't call set_capacity from irq context (Ming Lei) [1936800] - nbd: validate the block size in nbd_set_size (Ming Lei) [1936800] - nbd: refactor size updates (Ming Lei) [1936800] - nbd: move the task_recv check into nbd_size_update (Ming Lei) [1936800] - nbd: remove the call to set_blocksize (Ming Lei) [1936800] - loop: let set_capacity_revalidate_and_notify update the bdev size (Ming Lei) [1936800] - block: remove the call to __invalidate_device in check_disk_size_change (Ming Lei) [1936800] - block: fix the kerneldoc comment for __register_blkdev (Ming Lei) [1936800] - block: switch gendisk lookup to a simple xarray (Ming Lei) [1936800] - ide: switch to __register_blkdev for command set probing (Ming Lei) [1936800] - md: use __register_blkdev to allocate devices on demand (Ming Lei) [1936800] - loop: use __register_blkdev to allocate devices on demand (Ming Lei) [1936800] - brd: use __register_blkdev to allocate devices on demand (Ming Lei) [1936800] - sd: use __register_blkdev to avoid a modprobe for an unregistered dev_t (Ming Lei) [1936800] - swim: don't call blk_register_region (Ming Lei) [1936800] - ide: remove ide_{,un}register_region (Ming Lei) [1936800] - block: add an optional probe callback to major_names (Ming Lei) [1936800] - block: rework requesting modules for unclaimed devices (Ming Lei) [1936800] - block: split block_class_lock (Ming Lei) [1936800] - block: open code kobj_map into in block/genhd.c (Ming Lei) [1936800] - block: cleanup del_gendisk a bit (Ming Lei) [1936800] - loop: use set_disk_ro (Ming Lei) [1936800] - dasd: implement ->set_read_only to hook into BLKROSET processing (Ming Lei) [1936800] - md: implement ->set_read_only to hook into BLKROSET processing (Ming Lei) [1936800] - rbd: implement ->set_read_only to hook into BLKROSET processing (Ming Lei) [1936800] - block: add a new set_read_only method (Ming Lei) [1936800] - blk-cgroup: fix a hd_struct leak in blkcg_fill_root_iostats (Ming Lei) [1936800] - blk-cgroup: Pre-allocate tree node on blkg_conf_prep (Ming Lei) [1936800] - blk-cgroup: Fix memleak on error path (Ming Lei) [1936800] - blk-mq: remove the calling of local_memory_node() (Ming Lei) [1936800] - zram: Fix __zram_bvec_{read,write}() locking order (Ming Lei) [1936800] - skd_main: remove unused including (Ming Lei) [1936800] - sgl_alloc_order: fix memory leak (Ming Lei) [1936800] - block: fix uapi blkzoned.h comments (Ming Lei) [1936800] - blk-mq: move cancel of hctx->run_work to the front of blk_exit_queue (Ming Lei) [1936800] - blk-mq: get rid of the dead flush handle code path (Ming Lei) [1936800] - block: get rid of unnecessary local variable (Ming Lei) [1936800] - block: fix comment and add lockdep assert (Ming Lei) [1936800] - blk-mq: use helper function to test hw stopped (Ming Lei) [1936800] - block: use helper function to test queue register (Ming Lei) [1936800] - block: remove redundant mq check (Ming Lei) [1936800] - block: invoke blk_mq_exit_sched no matter whether have .exit_sched (Ming Lei) [1936800] - block: ratelimit handle_bad_sector() message (Ming Lei) [1936800] - blk-throttle: Re-use the throtl_set_slice_end() (Ming Lei) [1936800] - blk-throttle: Open code __throtl_de/enqueue_tg() (Ming Lei) [1936800] - blk-throttle: Move service tree validation out of the throtl_rb_first() (Ming Lei) [1936800] - blk-throttle: Move the list operation after list validation (Ming Lei) [1936800] - blk-throttle: Fix IO hang for a corner case (Ming Lei) [1936800] - blk-throttle: Avoid tracking latency if low limit is invalid (Ming Lei) [1936800] - blk-throttle: Avoid getting the current time if tg->last_finish_time is 0 (Ming Lei) [1936800] - blk-throttle: Remove a meaningless parameter for throtl_downgrade_state() (Ming Lei) [1936800] - block: Remove redundant 'return' statement (Ming Lei) [1936800] - block: Consider only dispatched requests for inflight statistic (Ming Lei) [1936800] - block: remove the unused blk_integrity_merge_bio export (Ming Lei) [1936800] - block: remove the unused blk_integrity_merge_rq export (Ming Lei) [1936800] - blk-mq: add cond_resched() in __blk_mq_alloc_rq_maps() (Ming Lei) [1936800] - vsprintf: use bd_partno in bdev_name (Ming Lei) [1936800] - block: use bd_partno in bdevname (Ming Lei) [1936800] - target/iblock: fix holder printing in iblock_show_configfs_dev_params (Ming Lei) [1936800] - drbd: don't set ->bd_contains (Ming Lei) [1936800] - drbd: don't detour through bd_contains for the gendisk (Ming Lei) [1936800] - block: add a bdev_is_partition helper (Ming Lei) [1936800] - bdi: remove BDI_CAP_CGROUP_WRITEBACK (Ming Lei) [1936800] - block: lift setting the readahead size into the block layer (Ming Lei) [1936800] - bdi: initialize ->ra_pages and ->io_pages in bdi_init (Ming Lei) [1936800] - block: ensure bdi->io_pages is always initialized (Ming Lei) [1936800] - aoe: set an optimal I/O size (Ming Lei) [1936800] - drbd: remove dead code in device_to_statistics (Ming Lei) [1936800] - raw: don't keep unopened block device around (Ming Lei) [1936800] - zram: cleanup backing_dev_store (Ming Lei) [1936800] - zram: fix double free backing device (Ming Lei) [1936800] - pktcdvd: use blkdev_get_by_dev instead of open coding it (Ming Lei) [1936800] - pktcdvd: remove the if 0'ed pkt_start_recovery function (Ming Lei) [1936800] - block: cleanup blkdev_bszset (Ming Lei) [1936800] - block: move the NEED_PART_SCAN flag to struct gendisk (Ming Lei) [1936800] - block: drop double zeroing (Ming Lei) [1936800] - blk-throttle: Avoid checking bps/iops limitation if bps or iops is unlimited (Ming Lei) [1936800] - blk-throttle: Avoid calculating bps/iops limitation repeatedly (Ming Lei) [1936800] - blk-throttle: Define readable macros instead of static variables (Ming Lei) [1936800] - blk-throttle: Use readable READ/WRITE macros (Ming Lei) [1936800] - blk-throttle: Fix some comments' typos (Ming Lei) [1936800] - block: introduce part_[begin|end]_io_acct (Ming Lei) [1936800] - blkcg: add plugging support for punt bio (Ming Lei) [1936800] - block: remove check_disk_change (Ming Lei) [1936800] - sr: simplify sr_block_revalidate_disk (Ming Lei) [1936800] - sr: use bdev_check_media_change (Ming Lei) [1936800] - sd: use bdev_check_media_change (Ming Lei) [1936800] - md: use bdev_check_media_change (Ming Lei) [1936800] - gdrom: use bdev_check_media_change (Ming Lei) [1936800] - paride/pcd: use bdev_check_media_change (Ming Lei) [1936800] - xsysace: simplify media change handling (Ming Lei) [1936800] - xsysace: use bdev_check_media_change (Ming Lei) [1936800] - swim3: use bdev_check_media_changed (Ming Lei) [1936800] - swim: simplify media change handling (Ming Lei) [1936800] - swim: use bdev_check_media_change (Ming Lei) [1936800] - ataflop: use bdev_check_media_change (Ming Lei) [1936800] - amiflop: use bdev_check_media_change (Ming Lei) [1936800] - block: add a bdev_check_media_change helper (Ming Lei) [1936800] - block: Remove unused blk_mq_sched_free_hctx_data() (Ming Lei) [1936800] - block: Do not discard buffers under a mounted filesystem (Ming Lei) [1936800] - fs: Don't invalidate page buffers in block_write_full_page() (Ming Lei) [1936800] - block: remove revalidate_disk() (Ming Lei) [1936800] - nvdimm: simplify revalidate_disk handling (Ming Lei) [1936800] - sd: open code revalidate_disk (Ming Lei) [1936800] - nvme: opencode revalidate_disk in nvme_validate_ns (Ming Lei) [1936800] - block: use revalidate_disk_size in set_capacity_revalidate_and_notify (Ming Lei) [1936800] - block: add a new revalidate_disk_size helper (Ming Lei) [1936800] - block: rename bd_invalidated (Ming Lei) [1936800] - block: don't clear bd_invalidated in check_disk_size_change (Ming Lei) [1936800] - block: better deal with the delayed not supported case in blk_cloned_rq_check_limits (Ming Lei) [1936800] - block: Return blk_status_t instead of errno codes (Ming Lei) [1936800] - block: grant IOPRIO_CLASS_RT to CAP_SYS_NICE (Ming Lei) [1936800] - block: remove the unused q argument to part_in_flight and part_in_flight_rw (Ming Lei) [1936800] - block: remove the disk argument to delete_partition (Ming Lei) [1936800] - block: move the devcgroup_inode_permission call to blkdev_get (Ming Lei) [1936800] - blk-mq: use BLK_MQ_NO_TAG for no tag (Ming Lei) [1936800] - block: Move blk_mq_bio_list_merge() into blk-merge.c (Ming Lei) [1936800] - block: Move bio merge related functions into blk-merge.c (Ming Lei) [1936800] - blk-wbt: Remove obsolete multiqueue I/O scheduling comment (Ming Lei) [1936800] - raw: deprecate the raw driver (Ming Lei) [1936800] - nvme: don't call revalidate_disk from nvme_set_queue_dying (Ming Lei) [1936800] - block: fix locking for struct block_device size updates (Ming Lei) [1936800] - block: replace bd_set_size with bd_set_nr_sectors (Ming Lei) [1936800] - block: Make request_queue.rpm_status an enum (Ming Lei) [1936800] - mmc: remove the call to check_disk_change (Ming Lei) [1936800] - block: integrate bd_start_claiming into __blkdev_get (Ming Lei) [1936800] - block: use bd_prepare_to_claim directly in the loop driver (Ming Lei) [1936800] - block: refactor bd_start_claiming (Ming Lei) [1936800] - block: simplify the restart case in __blkdev_get (Ming Lei) [1936800] - block: simplify set_init_blocksize (Ming Lei) [1936800] - block: remove flush_disk (Ming Lei) [1936800] - block: move block-related definitions out of fs.h (Ming Lei) [1936800] - xen-blkfront.c: Convert to use set_capacity_revalidate_and_notify (Ming Lei) [1936800]- redhat/configs: Add CONFIG_PINCTRL_EMMITSBURG (David Arcari) [1959506] - redhat/configs: Remove CONFIG_EMMITSBURG (David Arcari) [1959506] - fuse: fix write deadlock (Miklos Szeredi) [1904597] - sched/debug: Fix cgroup_path[] serialization (Waiman Long) [1954363] - KVM: x86/xen: Take srcu lock when accessing kvm_memslots() (Paolo Bonzini) [1945742] - KVM: SVM: Allocate SEV command structures on local stack (Paolo Bonzini) [1945742] - crypto: ccp: Use the stack and common buffer for INIT command (Paolo Bonzini) [1945742] - crypto: ccp: Use the stack and common buffer for status commands (Paolo Bonzini) [1945742] - crypto: ccp: Use the stack for small SEV command buffers (Paolo Bonzini) [1945742] - crypto: ccp: Play nice with vmalloc'd memory for SEV command structs (Paolo Bonzini) [1945742] - crypto: ccp: Reject SEV commands with mismatching command buffer (Paolo Bonzini) [1945742] - crypto: ccp: Detect and reject "invalid" addresses destined for PSP (Paolo Bonzini) [1945742] - crypto: ccp: Free SEV device if SEV init fails (Paolo Bonzini) [1945742] - crypto: ccp - Fix sparse warnings in sev-dev (Paolo Bonzini) [1945742] - drivers/crypto/ccp/sev-dev.c: get rid of pointless access_ok() (Paolo Bonzini) [1945742] - crypto: ccp - Add support for SEV-ES to the PSP driver (Paolo Bonzini) [1945742] - KVM: SVM: Add KVM_SEV_RECEIVE_FINISH command (Paolo Bonzini) [1945742] - KVM: SVM: Add KVM_SEV_RECEIVE_UPDATE_DATA command (Paolo Bonzini) [1945742] - KVM: SVM: Add support for KVM_SEV_RECEIVE_START command (Paolo Bonzini) [1945742] - KVM: SVM: Add support for KVM_SEV_SEND_CANCEL command (Paolo Bonzini) [1945742] - KVM: SVM: Add KVM_SEV_SEND_FINISH command (Paolo Bonzini) [1945742] - KVM: SVM: Add KVM_SEND_UPDATE_DATA command (Paolo Bonzini) [1945742] - KVM: SVM: Add KVM_SEV SEND_START command (Paolo Bonzini) [1945742] - KVM: Boost vCPU candidate in user mode which is delivering interrupt (Paolo Bonzini) [1945742] - nSVM: Check addresses of MSR and IO permission maps (Paolo Bonzini) [1945742] - KVM: SVM: Define actual size of IOPM and MSRPM tables (Paolo Bonzini) [1945742] - KVM: vmx: add mismatched size assertions in vmcs_check32() (Paolo Bonzini) [1945742] - KVM: Add proper lockdep assertion in I/O bus unregister (Paolo Bonzini) [1945742] - KVM: Stop looking for coalesced MMIO zones if the bus is destroyed (Paolo Bonzini) [1945742] - KVM: Destroy I/O bus devices on unregister failure _after_ sync'ing SRCU (Paolo Bonzini) [1945742] - KVM: SVM: Enhance and clean up the vmcb tracking comment in pre_svm_run() (Paolo Bonzini) [1945742] - KVM: SVM: Add a comment to clarify what vcpu_svm.vmcb points at (Paolo Bonzini) [1945742] - KVM: SVM: Drop vcpu_svm.vmcb_pa (Paolo Bonzini) [1945742] - KVM: SVM: Don't set current_vmcb->cpu when switching vmcb (Paolo Bonzini) [1945742] - KVM: SVM: Make sure GHCB is mapped before updating (Paolo Bonzini) [1945742] - KVM: X86: Do not yield to self (Paolo Bonzini) [1945742] - KVM: X86: Count attempted/successful directed yield (Paolo Bonzini) [1945742] - KVM: x86/mmu: Protect the tdp_mmu_roots list with RCU (Paolo Bonzini) [1945742] - KVM: x86/mmu: handle cmpxchg failure in kvm_tdp_mmu_get_root (Paolo Bonzini) [1945742] - KVM: x86/mmu: Make TDP MMU root refcount atomic (Paolo Bonzini) [1945742] - KVM: x86: implement KVM_CAP_SET_GUEST_DEBUG2 (Paolo Bonzini) [1945742] - KVM: x86/mmu: Refactor yield safe root iterator (Paolo Bonzini) [1945742] - KVM: x86/mmu: Merge TDP MMU put and free root (Paolo Bonzini) [1945742] - KVM: x86/mmu: use tdp_mmu_free_sp to free roots (Paolo Bonzini) [1945742] - KVM: x86/mmu: Move kvm_mmu_(get|put)_root to TDP MMU (Paolo Bonzini) [1945742] - KVM: x86/mmu: Re-add const qualifier in kvm_tdp_mmu_zap_collapsible_sptes (Paolo Bonzini) [1945742] - KVM: constify kvm_arch_flush_remote_tlbs_memslot (Paolo Bonzini) [1945742] - KVM: Explicitly use GFP_KERNEL_ACCOUNT for 'struct kvm_vcpu' allocations (Paolo Bonzini) [1945742] - KVM: MMU: protect TDP MMU pages only down to required level (Paolo Bonzini) [1945742] - KVM: introduce KVM_CAP_SET_GUEST_DEBUG2 (Paolo Bonzini) [1945742] - KVM: x86: pending exceptions must not be blocked by an injected event (Paolo Bonzini) [1945742] - KVM: nSVM: call nested_svm_load_cr3 on nested state load (Paolo Bonzini) [1945742] - KVM: x86: dump_vmcs should include the autoload/autostore MSR lists (Paolo Bonzini) [1945742] - KVM: x86: dump_vmcs should show the effective EFER (Paolo Bonzini) [1945742] - KVM: x86: dump_vmcs should consider only the load controls of EFER/PAT (Paolo Bonzini) [1945742] - KVM: x86: dump_vmcs should not conflate EFER and PAT presence in VMCS (Paolo Bonzini) [1945742] - KVM: x86: dump_vmcs should not assume GUEST_IA32_EFER is valid (Paolo Bonzini) [1945742] - KVM: nSVM: improve SYSENTER emulation on AMD (Paolo Bonzini) [1945742] - KVM: x86: add guest_cpuid_is_intel (Paolo Bonzini) [1945742] - KVM: x86: Account a variety of miscellaneous allocations (Paolo Bonzini) [1945742] - KVM: SVM: Do not allow SEV/SEV-ES initialization after vCPUs are created (Paolo Bonzini) [1945742] - KVM: SVM: Do not set sev->es_active until KVM_SEV_ES_INIT completes (Paolo Bonzini) [1945742] - KVM: SVM: Use online_vcpus, not created_vcpus, to iterate over vCPUs (Paolo Bonzini) [1945742] - KVM: x86/mmu: Simplify code for aging SPTEs in TDP MMU (Paolo Bonzini) [1945742] - KVM: x86/mmu: Remove spurious clearing of dirty bit from TDP MMU SPTE (Paolo Bonzini) [1945742] - KVM: x86/mmu: Use leaf-only loop for walking TDP SPTEs when changing SPTE (Paolo Bonzini) [1945742] - KVM: x86/mmu: Pass address space ID to TDP MMU root walkers (Paolo Bonzini) [1945742] - KVM: x86/mmu: Pass address space ID to __kvm_tdp_mmu_zap_gfn_range() (Paolo Bonzini) [1945742] - KVM: x86/mmu: Coalesce TLB flushes across address spaces for gfn range zap (Paolo Bonzini) [1945742] - KVM: x86/mmu: Coalesce TLB flushes when zapping collapsible SPTEs (Paolo Bonzini) [1945742] - KVM: x86/mmu: Move flushing for "slot" handlers to caller for legacy MMU (Paolo Bonzini) [1945742] - KVM: x86/mmu: Coalesce TDP MMU TLB flushes when zapping collapsible SPTEs (Paolo Bonzini) [1945742] - KVM: x86/vPMU: Forbid reading from MSR_F15H_PERF MSRs when guest doesn't have X86_FEATURE_PERFCTR_CORE (Paolo Bonzini) [1945742] - KVM: nSVM: If VMRUN is single-stepped, queue the #DB intercept in nested_svm_vmexit() (Paolo Bonzini) [1945742] - KVM: MMU: load PDPTRs outside mmu_lock (Paolo Bonzini) [1945742] - KVM: SVM: ensure that EFER.SVME is set when running nested guest or on nested vmexit (Paolo Bonzini) [1945742] - KVM: SVM: load control fields from VMCB12 before checking them (Paolo Bonzini) [1945742] - KVM: x86/mmu: Don't allow TDP MMU to yield when recovering NX pages (Paolo Bonzini) [1945742] - KVM: x86/mmu: Ensure TLBs are flushed for TDP MMU during NX zapping (Paolo Bonzini) [1945742] - KVM: x86/mmu: Ensure TLBs are flushed when yielding during GFN range zap (Paolo Bonzini) [1945742] - KVM: make: Fix out-of-source module builds (Paolo Bonzini) [1945742] - KVM: x86/vPMU: Forbid writing to MSR_F15H_PERF MSRs when guest doesn't have X86_FEATURE_PERFCTR_CORE (Paolo Bonzini) [1945742] - KVM: x86: remove unused declaration of kvm_write_tsc() (Paolo Bonzini) [1945742] - KVM: clean up the unused argument (Paolo Bonzini) [1945742] - x86/kvm: Fix broken irq restoration in kvm_wait (Paolo Bonzini) [1945742] - KVM: X86: Fix missing local pCPU when executing wbinvd on all dirty pCPUs (Paolo Bonzini) [1945742] - KVM: x86: Protect userspace MSR filter with SRCU, and set atomically-ish (Paolo Bonzini) [1945742] - KVM: x86/mmu: Store the address space ID in the TDP iterator (Paolo Bonzini) [1945742] - KVM: x86/mmu: Factor out tdp_iter_return_to_root (Paolo Bonzini) [1945742] - KVM: x86/mmu: Fix RCU usage when atomically zapping SPTEs (Paolo Bonzini) [1945742] - KVM: x86/mmu: Fix RCU usage in handle_removed_tdp_mmu_page (Paolo Bonzini) [1945742] - KVM: x86/mmu: Mark the PAE roots as decrypted for shadow paging (Paolo Bonzini) [1945742] - KVM: x86/mmu: Use '0' as the one and only value for an invalid PAE root (Paolo Bonzini) [1945742] - KVM: VMX: Track root HPA instead of EPTP for paravirt Hyper-V TLB flush (Paolo Bonzini) [1945742] - KVM: VMX: Skip additional Hyper-V TLB EPTP flushes if one fails (Paolo Bonzini) [1945742] - KVM: VMX: Define Hyper-V paravirt TLB flush fields iff Hyper-V is enabled (Paolo Bonzini) [1945742] - KVM: VMX: Explicitly check for hv_remote_flush_tlb when loading pgd (Paolo Bonzini) [1945742] - KVM: VMX: Don't invalidate hv_tlb_eptp if the new EPTP matches (Paolo Bonzini) [1945742] - KVM: VMX: Invalidate hv_tlb_eptp to denote an EPTP mismatch (Paolo Bonzini) [1945742] - KVM: VMX: Do Hyper-V TLB flush iff vCPU's EPTP hasn't been flushed (Paolo Bonzini) [1945742] - KVM: VMX: Fold Hyper-V EPTP checking into it's only caller (Paolo Bonzini) [1945742] - KVM: VMX: Stash kvm_vmx in a local variable for Hyper-V paravirt TLB flush (Paolo Bonzini) [1945742] - KVM: VMX: Track common EPTP for Hyper-V's paravirt TLB flush (Paolo Bonzini) [1945742] - KVM: x86: Get active PCID only when writing a CR3 value (Paolo Bonzini) [1945742] - KVM/SVM: Move vmenter.S exception fixups out of line (Paolo Bonzini) [1945742] - KVM: x86/mmu: Dump reserved bits if they're detected on non-MMIO SPTE (Paolo Bonzini) [1945742] - KVM: x86/mmu: Use low available bits for removed SPTEs (Paolo Bonzini) [1945742] - KVM: x86/mmu: Use is_removed_spte() instead of open coded equivalents (Paolo Bonzini) [1945742] - KVM: x86/mmu: Tweak auditing WARN for A/D bits to !PRESENT (was MMIO) (Paolo Bonzini) [1945742] - KVM: x86/mmu: Use a dedicated bit to track shadow/MMU-present SPTEs (Paolo Bonzini) [1945742] - KVM: x86/mmu: Use high bits for host/mmu writable masks for EPT SPTEs (Paolo Bonzini) [1945742] - KVM: x86/mmu: Make Host-writable and MMU-writable bit locations dynamic (Paolo Bonzini) [1945742] - KVM: x86/mmu: Move logic for setting SPTE masks for EPT into the MMU proper (Paolo Bonzini) [1945742] - KVM: x86/mmu: Co-locate code for setting various SPTE masks (Paolo Bonzini) [1945742] - KVM: x86/mmu: Move initial kvm_mmu_set_mask_ptes() call into MMU proper (Paolo Bonzini) [1945742] - KVM: x86/mmu: Document dependency bewteen TDP A/D type and saved bits (Paolo Bonzini) [1945742] - KVM: x86/mmu: Use MMIO SPTE bits 53 and 52 for the MMIO generation (Paolo Bonzini) [1945742] - KVM: x86/mmu: Rename and document A/D scheme for TDP SPTEs (Paolo Bonzini) [1945742] - KVM: x86/mmu: Add module param to disable MMIO caching (for testing) (Paolo Bonzini) [1945742] - KVM: x86/mmu: Stop using software available bits to denote MMIO SPTEs (Paolo Bonzini) [1945742] - KVM: x86/mmu: Rename 'mask' to 'spte' in MMIO SPTE helpers (Paolo Bonzini) [1945742] - KVM: x86/mmu: Drop redundant trace_kvm_mmu_set_spte() in the TDP MMU (Paolo Bonzini) [1945742] - KVM: x86/mmu: Handle MMIO SPTEs directly in mmu_set_spte() (Paolo Bonzini) [1945742] - KVM: x86/mmu: Don't install bogus MMIO SPTEs if MMIO caching is disabled (Paolo Bonzini) [1945742] - KVM: x86/mmu: Retry page faults that hit an invalid memslot (Paolo Bonzini) [1945742] - KVM: x86/mmu: Disable MMIO caching if MMIO value collides with L1TF (Paolo Bonzini) [1945742] - KVM: x86/mmu: Bail from fast_page_fault() if SPTE is not shadow-present (Paolo Bonzini) [1945742] - KVM: x86/mmu: Check for shadow-present SPTE before querying A/D status (Paolo Bonzini) [1945742] - KVM: x86/mmu: Add convenience wrapper for acting on single hva in TDP MMU (Paolo Bonzini) [1945742] - KVM: x86/mmu: Add typedefs for rmap/iter handlers (Paolo Bonzini) [1945742] - KVM: x86/mmu: Use 'end' param in TDP MMU's test_age_gfn() (Paolo Bonzini) [1945742] - KVM: x86/mmu: WARN if TDP MMU's set_tdp_spte() sees multiple GFNs (Paolo Bonzini) [1945742] - KVM: x86/mmu: Remove spurious TLB flush from TDP MMU's change_pte() hook (Paolo Bonzini) [1945742] - KVM: x86: mmu: initialize fault.async_page_fault in walk_addr_generic (Paolo Bonzini) [1945742] - KVM: x86: determine if an exception has an error code only when injecting it. (Paolo Bonzini) [1945742] - KVM: nSVM: Optimize vmcb12 to vmcb02 save area copies (Paolo Bonzini) [1945742] - KVM: SVM: Add support for Virtual SPEC_CTRL (Paolo Bonzini) [1945742] - x86/cpufeatures: Add the Virtual SPEC_CTRL feature (Paolo Bonzini) [1945742] - KVM: nSVM: always use vmcb01 to for vmsave/vmload of guest state (Paolo Bonzini) [1945742] - KVM: SVM: move VMLOAD/VMSAVE to C code (Paolo Bonzini) [1945742] - KVM: SVM: Skip intercepted PAUSE instructions after emulation (Paolo Bonzini) [1945742] - KVM: SVM: Don't manually emulate RDPMC if nrips=0 (Paolo Bonzini) [1945742] - KVM: x86: Move RDPMC emulation to common code (Paolo Bonzini) [1945742] - KVM: x86: Move trivial instruction-based exit handlers to common code (Paolo Bonzini) [1945742] - KVM: x86: Move XSETBV emulation to common code (Paolo Bonzini) [1945742] - KVM: nSVM: Add VMLOAD/VMSAVE helper to deduplicate code (Paolo Bonzini) [1945742] - KVM: nSVM: Add helper to synthesize nested VM-Exit without collateral (Paolo Bonzini) [1945742] - KVM: x86: Handle triple fault in L2 without killing L1 (Paolo Bonzini) [1945742] - KVM: SVM: Pass struct kvm_vcpu to exit handlers (and many, many other places) (Paolo Bonzini) [1945742] - KVM: SVM: merge update_cr0_intercept into svm_set_cr0 (Paolo Bonzini) [1945742] - KVM: nSVM: Trace VM-Enter consistency check failures (Paolo Bonzini) [1945742] - KVM: x86: Move nVMX's consistency check macro to common code (Paolo Bonzini) [1945742] - KVM: nSVM: Add missing checks for reserved bits to svm_set_nested_state() (Paolo Bonzini) [1945742] - KVM: nSVM: only copy L1 non-VMLOAD/VMSAVE data in svm_set_nested_state() (Paolo Bonzini) [1945742] - KVM: nSVM: do not mark all VMCB02 fields dirty on nested vmexit (Paolo Bonzini) [1945742] - KVM: nSVM: do not mark all VMCB01 fields dirty on nested vmexit (Paolo Bonzini) [1945742] - KVM: nSVM: do not copy vmcb01->control blindly to vmcb02->control (Paolo Bonzini) [1945742] - KVM: nSVM: rename functions and variables according to vmcbXY nomenclature (Paolo Bonzini) [1945742] - KVM: nSVM: Track the ASID generation of the vmcb vmrun through the vmcb (Paolo Bonzini) [1945742] - KVM: nSVM: Track the physical cpu of the vmcb vmrun through the vmcb (Paolo Bonzini) [1945742] - KVM: SVM: Use a separate vmcb for the nested L2 guest (Paolo Bonzini) [1945742] - KVM: nSVM: Set the shadow root level to the TDP level for nested NPT (Paolo Bonzini) [1945742] - KVM: SVM: Don't strip the C-bit from CR2 on #PF interception (Paolo Bonzini) [1945742] - KVM: x86/mmu: WARN on NULL pae_root or lm_root, or bad shadow root level (Paolo Bonzini) [1945742] - KVM: x86/mmu: Sync roots after MMU load iff load as successful (Paolo Bonzini) [1945742] - KVM: x86/mmu: Unexport MMU load/unload functions (Paolo Bonzini) [1945742] - KVM: x86: Defer the MMU unload to the normal path on an global INVPCID (Paolo Bonzini) [1945742] - KVM: nVMX: Defer the MMU reload to the normal path on an EPTP switch (Paolo Bonzini) [1945742] - KVM: x86/mmu: Set the C-bit in the PDPTRs and LM pseudo-PDPTRs (Paolo Bonzini) [1945742] - KVM: x86/mmu: Fix and unconditionally enable WARNs to detect PAE leaks (Paolo Bonzini) [1945742] - KVM: x86/mmu: Check PDPTRs before allocating PAE roots (Paolo Bonzini) [1945742] - KVM: x86/mmu: Ensure MMU pages are available when allocating roots (Paolo Bonzini) [1945742] - KVM: x86/mmu: Allocate pae_root and lm_root pages in dedicated helper (Paolo Bonzini) [1945742] - KVM: x86/mmu: Allocate the lm_root before allocating PAE roots (Paolo Bonzini) [1945742] - KVM: x86/mmu: Capture 'mmu' in a local variable when allocating roots (Paolo Bonzini) [1945742] - KVM: x86/mmu: Alloc page for PDPTEs when shadowing 32-bit NPT with 64-bit (Paolo Bonzini) [1945742] - KVM: x86: to track if L1 is running L2 VM (Paolo Bonzini) [1945742] - KVM: LAPIC: Advancing the timer expiration on guest initiated write (Paolo Bonzini) [1945742] - KVM: x86/mmu: Skip !MMU-present SPTEs when removing SP in exclusive mode (Paolo Bonzini) [1945742] - KVM: kvmclock: Fix vCPUs > 64 can't be online/hotpluged (Paolo Bonzini) [1945742] - kvm: x86: use NULL instead of using plain integer as pointer (Paolo Bonzini) [1945742] - KVM: SVM: Connect 'npt' module param to KVM's internal 'npt_enabled' (Paolo Bonzini) [1945742] - KVM: x86: Ensure deadline timer has truly expired before posting its IRQ (Paolo Bonzini) [1945742] - KVM: x86/xen: Fix return code when clearing vcpu_info and vcpu_time_info (Paolo Bonzini) [1945742] - KVM: x86/mmu: Set SPTE_AD_WRPROT_ONLY_MASK if and only if PML is enabled (Paolo Bonzini) [1945742] - KVM: x86: hyper-v: Fix Hyper-V context null-ptr-deref (Paolo Bonzini) [1945742] - KVM: SVM: Fix nested VM-Exit on #GP interception handling (Paolo Bonzini) [1945742] - KVM: vmx/pmu: Fix dummy check if lbr_desc->event is created (Paolo Bonzini) [1945742] - KVM: x86/mmu: Consider the hva in mmu_notifier retry (Paolo Bonzini) [1945742] - kernel.h: split out min()/max() et al. helpers (Paolo Bonzini) [1945742] - KVM: x86/mmu: Skip mmu_notifier check when handling MMIO page fault (Paolo Bonzini) [1945742] - KVM: x86/mmu: Remove a variety of unnecessary exports (Paolo Bonzini) [1945742] - KVM: x86: Fold "write-protect large" use case into generic write-protect (Paolo Bonzini) [1945742] - KVM: x86/mmu: Don't set dirty bits when disabling dirty logging w/ PML (Paolo Bonzini) [1945742] - KVM: VMX: Dynamically enable/disable PML based on memslot dirty logging (Paolo Bonzini) [1945742] - KVM: x86: Further clarify the logic and comments for toggling log dirty (Paolo Bonzini) [1945742] - KVM: x86: Move MMU's PML logic to common code (Paolo Bonzini) [1945742] - KVM: x86/mmu: Make dirty log size hook (PML) a value, not a function (Paolo Bonzini) [1945742] - KVM: x86/mmu: Expand on the comment in kvm_vcpu_ad_need_write_protect() (Paolo Bonzini) [1945742] - KVM: nVMX: Disable PML in hardware when running L2 (Paolo Bonzini) [1945742] - KVM: x86/mmu: Consult max mapping level when zapping collapsible SPTEs (Paolo Bonzini) [1945742] - KVM: x86/mmu: Pass the memslot to the rmap callbacks (Paolo Bonzini) [1945742] - KVM: x86/mmu: Split out max mapping level calculation to helper (Paolo Bonzini) [1945742] - KVM: nVMX: no need to undo inject_page_fault change on nested vmexit (Paolo Bonzini) [1945742] - KVM: nSVM: move nested vmrun tracepoint to enter_svm_guest_mode (Paolo Bonzini) [1945742] - KVM: VMX: read idt_vectoring_info a bit earlier (Paolo Bonzini) [1945742] - KVM: VMX: Allow INVPCID in guest without PCID (Paolo Bonzini) [1945742] - KVM: x86: Advertise INVPCID by default (Paolo Bonzini) [1945742] - KVM: SVM: Intercept INVPCID when it's disabled to inject #UD (Paolo Bonzini) [1945742] - KVM: x86/mmu: Make HVA handler retpoline-friendly (Paolo Bonzini) [1945742] - KVM: x86: move kvm_inject_gp up from kvm_set_dr to callers (Paolo Bonzini) [1945742] - KVM: x86: reading DR cannot fail (Paolo Bonzini) [1945742] - KVM: SVM: Remove an unnecessary forward declaration (Paolo Bonzini) [1945742] - KVM: SVM: Move AVIC vCPU kicking snippet to helper function (Paolo Bonzini) [1945742] - KVM: x86: Restore all 64 bits of DR6 and DR7 during RSM on x86-64 (Paolo Bonzini) [1945742] - KVM: x86: Remove misleading DR6/DR7 adjustments from RSM emulation (Paolo Bonzini) [1945742] - KVM: x86/xen: Use hva_t for holding hypercall page address (Paolo Bonzini) [1945742] - KVM: x86/xen: Remove extra unlock in kvm_xen_hvm_set_attr() (Paolo Bonzini) [1945742] - KVM: Use kvm_pfn_t for local PFN variable in hva_to_pfn_remapped() (Paolo Bonzini) [1945742] - KVM: x86: Add helper to consolidate "raw" reserved GPA mask calculations (Paolo Bonzini) [1945742] - KVM: selftests: Always run vCPU thread with blocked SIG_IPI (Paolo Bonzini) [1945742] - KVM: selftests: Sync data verify of dirty logging with guest sync (Paolo Bonzini) [1945742] - KVM: selftests: Add a test for kvm page table code (Paolo Bonzini) [1945742] - KVM: selftests: Adapt vm_userspace_mem_region_add to new helpers (Paolo Bonzini) [1945742] - KVM: selftests: List all hugetlb src types specified with page sizes (Paolo Bonzini) [1945742] - tools/headers: sync headers of asm-generic/hugetlb_encode.h (Paolo Bonzini) [1945742] - tools include uapi: Update linux/mmap.h copy (Paolo Bonzini) [1945742] - tools UAPI: Update copy of linux/mman.h from the kernel sources (Paolo Bonzini) [1945742] - mm/hugetlb: add mmap() encodings for 32MB and 512MB page sizes (Paolo Bonzini) [1945742] - RHEL: Add #defines for 16k hugepages (Paolo Bonzini) [1945742] - KVM: selftests: Add a helper to get system default hugetlb page size (Paolo Bonzini) [1945742] - KVM: selftests: Add a helper to get system configured THP page size (Paolo Bonzini) [1945742] - KVM: selftests: Make a generic helper to get vm guest mode strings (Paolo Bonzini) [1945742] - KVM: selftests: Print the errno besides error-string in TEST_ASSERT (Paolo Bonzini) [1945742] - KVM: selftests: remove redundant semi-colon (Paolo Bonzini) [1945742] - selftests: kvm: Check that TSC page value is small after KVM_SET_CLOCK(0) (Paolo Bonzini) [1945742] - KVM: x86: Prevent 'hv_clock->system_time' from going negative in kvm_guest_time_update() (Paolo Bonzini) [1945742] - selftests: kvm: make hardware_disable_test less verbose (Paolo Bonzini) [1945742] - selftests: kvm: add set_boot_cpu_id test (Paolo Bonzini) [1945742] - selftests: kvm: add _vm_ioctl (Paolo Bonzini) [1945742] - selftests: kvm: add get_msr_index_features (Paolo Bonzini) [1945742] - KVM: x86/xen: Add support for vCPU runstate information (Paolo Bonzini) [1945742] - RHEL: configs: do not enable CONFIG_KVM_XEN (Paolo Bonzini) [1945742] - KVM: x86: allow compiling out the Xen hypercall interface (Paolo Bonzini) [1945742] - KVM: x86: compile out TDP MMU on 32-bit systems (Paolo Bonzini) [1945742] - KVM: xen: flush deferred static key before checking it (Paolo Bonzini) [1945742] - KVM: x86/xen: Explicitly pad struct compat_vcpu_info to 64 bytes (Paolo Bonzini) [1945742] - KVM: x86/xen: Allow reset of Xen attributes (Paolo Bonzini) [1945742] - KVM: Documentation: rectify rst markup in kvm_run->flags (Paolo Bonzini) [1945742] - Documentation: kvm: fix messy conversion from .txt to .rst (Paolo Bonzini) [1945742] - KVM: Documentation: rectify rst markup in KVM_GET_SUPPORTED_HV_CPUID (Paolo Bonzini) [1945742] - Documentation: kvm: fix warning (Paolo Bonzini) [1945742] - KVM: Add documentation for Xen hypercall and shared_info updates (Paolo Bonzini) [1945742] - KVM: X86: Add the Document for KVM_CAP_X86_BUS_LOCK_EXIT (Paolo Bonzini) [1945742] - KVM: Documentation: Fix documentation for nested. (Paolo Bonzini) [1945742] - KVM: Documentation: Add arm64 KVM_RUN error codes (Paolo Bonzini) [1945742] - KVM: Documentation: Update entry for KVM_CAP_ENFORCE_PV_CPUID (Paolo Bonzini) [1945742] - KVM: Documentation: Update entry for KVM_X86_SET_MSR_FILTER (Paolo Bonzini) [1945742] - docs: kvm: add documentation for KVM_CAP_S390_DIAG318 (Paolo Bonzini) [1945742] - selftests: kvm: Mmap the entire vcpu mmap area (Paolo Bonzini) [1945742] - selftests: kvm: avoid uninitialized variable warning (Paolo Bonzini) [1945742] - selftests: kvm: add hardware_disable test (Paolo Bonzini) [1945742] - KVM: selftests: Don't bother mapping GVA for Xen shinfo test (Paolo Bonzini) [1945742] - KVM: selftests: Fix hex vs. decimal snafu in Xen test (Paolo Bonzini) [1945742] - KVM: selftests: Fix size of memslots created by Xen tests (Paolo Bonzini) [1945742] - KVM: selftests: Ignore recently added Xen tests' build output (Paolo Bonzini) [1945742] - KVM: x86: declare Xen HVM shared info capability and add test case (Paolo Bonzini) [1945742] - KVM: x86: hyper-v: Drop hv_vcpu_to_vcpu() helper (Paolo Bonzini) [1945742] - KVM: x86: hyper-v: Allocate Hyper-V context lazily (Paolo Bonzini) [1945742] - KVM: x86: hyper-v: Make Hyper-V emulation enablement conditional (Paolo Bonzini) [1945742] - KVM: x86: hyper-v: Allocate 'struct kvm_vcpu_hv' dynamically (Paolo Bonzini) [1945742] - KVM: x86: hyper-v: Prepare to meet unallocated Hyper-V context (Paolo Bonzini) [1945742] - KVM: x86: hyper-v: Always use to_hv_vcpu() accessor to get to 'struct kvm_vcpu_hv' (Paolo Bonzini) [1945742] - KVM: x86: hyper-v: Stop shadowing global 'current_vcpu' variable (Paolo Bonzini) [1945742] - KVM: x86: hyper-v: Introduce to_kvm_hv() helper (Paolo Bonzini) [1945742] - KVM: x86: hyper-v: Rename vcpu_to_hv_syndbg() to to_hv_syndbg() (Paolo Bonzini) [1945742] - KVM: x86: hyper-v: Rename vcpu_to_stimer()/stimer_to_vcpu() (Paolo Bonzini) [1945742] - KVM: x86: hyper-v: Rename vcpu_to_synic()/synic_to_vcpu() (Paolo Bonzini) [1945742] - KVM: x86: hyper-v: Rename vcpu_to_hv_vcpu() to to_hv_vcpu() (Paolo Bonzini) [1945742] - KVM: x86: hyper-v: Drop unused kvm_hv_vapic_assist_page_enabled() (Paolo Bonzini) [1945742] - KVM: x86/xen: Add event channel interrupt vector upcall (Paolo Bonzini) [1945742] - KVM: x86/xen: register vcpu time info region (Paolo Bonzini) [1945742] - KVM: x86/xen: setup pvclock updates (Paolo Bonzini) [1945742] - KVM: x86/xen: register vcpu info (Paolo Bonzini) [1945742] - KVM: x86/xen: Add KVM_XEN_VCPU_SET_ATTR/KVM_XEN_VCPU_GET_ATTR (Paolo Bonzini) [1945742] - KVM: x86/xen: update wallclock region (Paolo Bonzini) [1945742] - xen: add wc_sec_hi to struct shared_info (Paolo Bonzini) [1945742] - KVM: x86/xen: register shared_info page (Paolo Bonzini) [1945742] - KVM: x86/xen: add definitions of compat_shared_info, compat_vcpu_info (Paolo Bonzini) [1945742] - KVM: x86/xen: latch long_mode when hypercall page is set up (Paolo Bonzini) [1945742] - KVM: x86/xen: add KVM_XEN_HVM_SET_ATTR/KVM_XEN_HVM_GET_ATTR (Paolo Bonzini) [1945742] - KVM: x86/xen: Add kvm_xen_enabled static key (Paolo Bonzini) [1945742] - KVM: x86/xen: Move KVM_XEN_HVM_CONFIG handling to xen.c (Paolo Bonzini) [1945742] - KVM: x86/xen: Fix coexistence of Xen and Hyper-V hypercalls (Paolo Bonzini) [1945742] - KVM: x86/mmu: Add helper to generate mask of reserved HPA bits (Paolo Bonzini) [1945742] - KVM: x86: Use reserved_gpa_bits to calculate reserved PxE bits (Paolo Bonzini) [1945742] - KVM: x86: SEV: Treat C-bit as legal GPA bit regardless of vCPU mode (Paolo Bonzini) [1945742] - KVM: nSVM: Use common GPA helper to check for illegal CR3 (Paolo Bonzini) [1945742] - KVM: VMX: Use GPA legality helpers to replace open coded equivalents (Paolo Bonzini) [1945742] - KVM: x86: Add a helper to handle legal GPA with an alignment requirement (Paolo Bonzini) [1945742] - KVM: x86: Add a helper to check for a legal GPA (Paolo Bonzini) [1945742] - KVM: nSVM: Don't strip host's C-bit from guest's CR3 when reading PDPTRs (Paolo Bonzini) [1945742] - KVM: x86: Set so called 'reserved CR3 bits in LM mask' at vCPU reset (Paolo Bonzini) [1945742] - KVM: x86/xen: intercept xen hypercalls if enabled (Paolo Bonzini) [1945742] - KVM: selftests: Add missing header file needed by xAPIC IPI tests (Paolo Bonzini) [1945742] - KVM: selftests: Add operand to vmsave/vmload/vmrun in svm.c (Paolo Bonzini) [1945742] - selftests: kvm: Properly set Hyper-V CPUIDs in evmcs_test (Paolo Bonzini) [1945742] - selftests: kvm: Move kvm_get_supported_hv_cpuid() to common code (Paolo Bonzini) [1945742] - selftest: kvm: x86: test KVM_GET_CPUID2 and guest visible CPUIDs against KVM_GET_SUPPORTED_CPUID (Paolo Bonzini) [1945742] - selftests: kvm/x86: add test for pmu msr MSR_IA32_PERF_CAPABILITIES (Paolo Bonzini) [1945742] - KVM: selftests: Disable dirty logging with vCPUs running (Paolo Bonzini) [1945742] - KVM: selftests: Add backing src parameter to dirty_log_perf_test (Paolo Bonzini) [1945742] - KVM: selftests: Add memslot modification stress test (Paolo Bonzini) [1945742] - KVM: selftests: Add option to overlap vCPU memory access (Paolo Bonzini) [1945742] - KVM: selftests: Fix population stage in dirty_log_perf_test (Paolo Bonzini) [1945742] - KVM: selftests: Convert iterations to int in dirty_log_perf_test (Paolo Bonzini) [1945742] - KVM: selftests: Avoid flooding debug log while populating memory (Paolo Bonzini) [1945742] - KVM: selftests: Rename timespec_diff_now to timespec_elapsed (Paolo Bonzini) [1945742] - KVM: selftests: Test IPI to halted vCPU in xAPIC while backing page moves (Paolo Bonzini) [1945742] - KVM: selftests: Implement perf_test_util more conventionally (Paolo Bonzini) [1945742] - KVM: selftests: Use vm_create_with_vcpus in create_vm (Paolo Bonzini) [1945742] - KVM: selftests: Factor out guest mode code (Paolo Bonzini) [1945742] - selftests: kvm: Merge user_msr_test into userspace_msr_exit_test (Paolo Bonzini) [1945742] - selftests: kvm: Test MSR exiting to userspace (Paolo Bonzini) [1945742] - KVM: selftests: sync_regs test for diag318 (Paolo Bonzini) [1945742] - KVM: selftests: x86: Set supported CPUIDs on default VM (Paolo Bonzini) [1945742] - KVM: selftests: Make test skipping consistent (Paolo Bonzini) [1945742] - KVM: selftests: Introduce vm_create_[default_]_with_vcpus (Paolo Bonzini) [1945742] - KVM: selftests: Make vm_create_default common (Paolo Bonzini) [1945742] - KVM: selftests: always use manual clear in dirty_log_perf_test (Paolo Bonzini) [1945742] - selftests: kvm: keep .gitignore add to date (Paolo Bonzini) [1945742] - KVM: selftests: Add "-c" parameter to dirty log test (Paolo Bonzini) [1945742] - KVM: selftests: Run dirty ring test asynchronously (Paolo Bonzini) [1945742] - KVM: selftests: Add dirty ring buffer test (Paolo Bonzini) [1945742] - KVM: selftests: Introduce after_vcpu_run hook for dirty log test (Paolo Bonzini) [1945742] - KVM: selftests: Verify supported CR4 bits can be set before KVM_SET_CPUID2 (Paolo Bonzini) [1945742] - KVM: selftests: allow two iterations of dirty_log_perf_test (Paolo Bonzini) [1945742] - KVM: selftests: Introduce the dirty log perf test (Paolo Bonzini) [1945742] - KVM: selftests: Make the number of vcpus global (Paolo Bonzini) [1945742] - KVM: selftests: Make the per vcpu memory size global (Paolo Bonzini) [1945742] - KVM: selftests: Drop pointless vm_create wrapper (Paolo Bonzini) [1945742] - KVM: selftests: Add wrfract to common guest code (Paolo Bonzini) [1945742] - KVM: selftests: Simplify demand_paging_test with timespec_diff_now (Paolo Bonzini) [1945742] - KVM: selftests: Remove address rounding in guest code (Paolo Bonzini) [1945742] - KVM: selftests: Factor code out of demand_paging_test (Paolo Bonzini) [1945742] - KVM: selftests: Use a single binary for dirty/clear log test (Paolo Bonzini) [1945742] - KVM: selftests: Always clear dirty bitmap after iteration (Paolo Bonzini) [1945742] - selftests: kvm: test enforcement of paravirtual cpuid features (Paolo Bonzini) [1945742] - selftests: kvm: Add exception handling to selftests (Paolo Bonzini) [1945742] - selftests: kvm: Clear uc so UCALL_NONE is being properly reported (Paolo Bonzini) [1945742] - selftests: kvm: Fix the segment descriptor layout to match the actual layout (Paolo Bonzini) [1945742] - KVM: x86/xen: Fix __user pointer handling for hypercall page installation (Paolo Bonzini) [1945742] - KVM: x86/xen: fix Xen hypercall page msr handling (Paolo Bonzini) [1945742] - KVM: x86: move kvm_inject_gp up from kvm_set_xcr to callers (Paolo Bonzini) [1945742] - KVM: cleanup DR6/DR7 reserved bits checks (Paolo Bonzini) [1945742] - KVM: x86/mmu: Add '__func__' in rmap_printk() (Paolo Bonzini) [1945742] - KVM: SVM: Replace hard-coded value with #define (Paolo Bonzini) [1945742] - KVM: SVM: use .prepare_guest_switch() to handle CPU register save/setup (Paolo Bonzini) [1945742] - KVM: SVM: remove uneeded fields from host_save_users_msrs (Paolo Bonzini) [1945742] - KVM: SVM: use vmsave/vmload for saving/restoring additional host state (Paolo Bonzini) [1945742] - KVM: SVM: Use asm goto to handle unexpected #UD on SVM instructions (Paolo Bonzini) [1945742] - KVM: VMX: Use the kernel's version of VMXOFF (Paolo Bonzini) [1945742] - KVM: VMX: Move Intel PT shenanigans out of VMXON/VMXOFF flows (Paolo Bonzini) [1945742] - KVM/nVMX: Use __vmx_vcpu_run in nested_vmx_check_vmentry_hw (Paolo Bonzini) [1945742] - x86/virt: Mark flags and memory as clobbered by VMXOFF (Paolo Bonzini) [1945742] - x86/reboot: Force all cpus to exit VMX root if VMX is supported (Paolo Bonzini) [1945742] - x86/virt: Eat faults on VMXOFF in reboot flows (Paolo Bonzini) [1945742] - KVM: x86: use static calls to reduce kvm_x86_ops overhead (Paolo Bonzini) [1945742] - KVM: x86: introduce definitions to support static calls for kvm_x86_ops (Paolo Bonzini) [1945742] - KVM: RHEL: include linux/static_call.h (Paolo Bonzini) [1945742] - KVM: X86: prepend vmx/svm prefix to additional kvm_x86_ops functions (Paolo Bonzini) [1945742] - KVM: Stop using deprecated jump label APIs (Paolo Bonzini) [1945742] - locking/static_key: Add support for deferred static branches (Paolo Bonzini) [1945742] - KVM: X86: Rename DR6_INIT to DR6_ACTIVE_LOW (Paolo Bonzini) [1945742] - KVM: vmx/pmu: Expose LBR_FMT in the MSR_IA32_PERF_CAPABILITIES (Paolo Bonzini) [1945742] - KVM: vmx/pmu: Release guest LBR event via lazy release mechanism (Paolo Bonzini) [1945742] - KVM: vmx/pmu: Emulate legacy freezing LBRs on virtual PMI (Paolo Bonzini) [1945742] - KVM: vmx/pmu: Reduce the overhead of LBR pass-through or cancellation (Paolo Bonzini) [1945742] - KVM: vmx/pmu: Pass-through LBR msrs when the guest LBR event is ACTIVE (Paolo Bonzini) [1945742] - KVM: vmx/pmu: Create a guest LBR event when vcpu sets DEBUGCTLMSR_LBR (Paolo Bonzini) [1945742] - KVM: vmx/pmu: Add PMU_CAP_LBR_FMT check when guest LBR is enabled (Paolo Bonzini) [1945742] - KVM: vmx/pmu: Add PMU_CAP_LBR_FMT check when guest LBR is enabled (Paolo Bonzini) [1945742] - KVM: x86/pmu: preserve IA32_PERF_CAPABILITIES across CPUID refresh (Paolo Bonzini) [1945742] - KVM: x86/vmx: Make vmx_set_intercept_for_msr() non-static (Paolo Bonzini) [1945742] - KVM: VMX: read/write MSR_IA32_DEBUGCTLMSR from GUEST_IA32_DEBUGCTL (Paolo Bonzini) [1945742] - KVM: VMX: Use x2apic_mode to avoid RDMSR when querying PI state (Paolo Bonzini) [1945742] - x86/apic: Export x2apic_mode for use by KVM in "warm" path (Paolo Bonzini) [1945742] - KVM: VMX: Enable bus lock VM exit (Paolo Bonzini) [1945742] - KVM: X86: Reset the vcpu->run->flags at the beginning of vcpu_run (Paolo Bonzini) [1945742] - KVM: VMX: Convert vcpu_vmx.exit_reason to a union (Paolo Bonzini) [1945742] - KVM/SVM: add support for SEV attestation command (Paolo Bonzini) [1945742] - KVM: x86/mmu: Remove the defunct update_pte() paging hook (Paolo Bonzini) [1945742] - KVM: Expose AVX_VNNI instruction to guset (Paolo Bonzini) [1945742] - Enumerate AVX Vector Neural Network instructions (Paolo Bonzini) [1945742] - x86: kvm: style: Simplify bool comparison (Paolo Bonzini) [1945742] - KVM: x86: Zap the oldest MMU pages, not the newest (Paolo Bonzini) [1945742] - KVM: x86/mmu: Use boolean returns for (S)PTE accessors (Paolo Bonzini) [1945742] - KVM: X86: use vzalloc() instead of vmalloc/memset (Paolo Bonzini) [1945742] - KVM: x86: Take KVM's SRCU lock only if steal time update is needed (Paolo Bonzini) [1945742] - KVM: x86: Remove obsolete disabling of page faults in kvm_arch_vcpu_put() (Paolo Bonzini) [1945742] - KVM: do not assume PTE is writable after follow_pfn (Paolo Bonzini) [1945742] - KVM: x86/mmu: Fix TDP MMU zap collapsible SPTEs (Paolo Bonzini) [1945742] - KVM: x86: cleanup CR3 reserved bits checks (Paolo Bonzini) [1945742] - KVM: SVM: Treat SVM as unsupported when running as an SEV guest (Paolo Bonzini) [1945742] - KVM: x86: Update emulator context mode if SYSENTER xfers to 64-bit mode (Paolo Bonzini) [1945742] - KVM: x86: Supplement __cr4_reserved_bits() with X86_FEATURE_PCID check (Paolo Bonzini) [1945742] - KVM/x86: assign hva with the right value to vm_munmap the pages (Paolo Bonzini) [1945742] - Fix unsynchronized access to sev members through svm_register_enc_region (Paolo Bonzini) [1945742] - KVM: x86: Revert "KVM: x86: Mark GPRs dirty when written" (Paolo Bonzini) [1945742] - KVM: SVM: Unconditionally sync GPRs to GHCB on VMRUN of SEV-ES guest (Paolo Bonzini) [1945742] - KVM: x86: __kvm_vcpu_halt can be static (Paolo Bonzini) [1945742] - KVM: SVM: Add support for booting APs in an SEV-ES guest (Paolo Bonzini) [1945742] - KVM/SVM: Remove leftover __svm_vcpu_run prototype from svm.c (Paolo Bonzini) [1945742] - KVM: SVM: Add register operand to vmsave call in sev_es_vcpu_load (Paolo Bonzini) [1945742] - KVM: SVM: fix 32-bit compilation (Paolo Bonzini) [1945742] - KVM: SVM: Add AP_JUMP_TABLE support in prep for AP booting (Paolo Bonzini) [1945742] - KVM: SVM: Provide support to launch and run an SEV-ES guest (Paolo Bonzini) [1945742] - KVM: SVM: Provide an updated VMRUN invocation for SEV-ES guests (Paolo Bonzini) [1945742] - x86/kvm/svm: Use uninstrumented wrmsrl() to restore GS (Paolo Bonzini) [1945742] - KVM: SVM: Provide support for SEV-ES vCPU loading (Paolo Bonzini) [1945742] - KVM: SVM: Provide support for SEV-ES vCPU creation/loading (Paolo Bonzini) [1945742] - KVM: SVM: Update ASID allocation to support SEV-ES guests (Paolo Bonzini) [1945742] - KVM: SVM: Set the encryption mask for the SVM host save area (Paolo Bonzini) [1945742] - KVM: SVM: Add NMI support for an SEV-ES guest (Paolo Bonzini) [1945742] - KVM: SVM: Guest FPU state save/restore not needed for SEV-ES guest (Paolo Bonzini) [1945742] - KVM: SVM: Do not report support for SMM for an SEV-ES guest (Paolo Bonzini) [1945742] - KVM: x86: Update __get_sregs() / __set_sregs() to support SEV-ES (Paolo Bonzini) [1945742] - KVM: SVM: Add support for CR8 write traps for an SEV-ES guest (Paolo Bonzini) [1945742] - KVM: SVM: Add support for CR4 write traps for an SEV-ES guest (Paolo Bonzini) [1945742] - KVM: SVM: Add support for CR0 write traps for an SEV-ES guest (Paolo Bonzini) [1945742] - KVM: SVM: Add support for EFER write traps for an SEV-ES guest (Paolo Bonzini) [1945742] - KVM: SVM: Support string IO operations for an SEV-ES guest (Paolo Bonzini) [1945742] - KVM: SVM: Support MMIO for an SEV-ES guest (Paolo Bonzini) [1945742] - KVM: SVM: Create trace events for VMGEXIT MSR protocol processing (Paolo Bonzini) [1945742] - KVM: SVM: Create trace events for VMGEXIT processing (Paolo Bonzini) [1945742] - KVM: SVM: Add support for SEV-ES GHCB MSR protocol function 0x100 (Paolo Bonzini) [1945742] - KVM: SVM: Add support for SEV-ES GHCB MSR protocol function 0x004 (Paolo Bonzini) [1945742] - KVM: SVM: Add support for SEV-ES GHCB MSR protocol function 0x002 (Paolo Bonzini) [1945742] - KVM: SVM: Add initial support for a VMGEXIT VMEXIT (Paolo Bonzini) [1945742] - KVM: SVM: Add GHCB accessor functions for retrieving fields (Paolo Bonzini) [1945742] - KVM: SVM: Prepare for SEV-ES exit handling in the sev.c file (Paolo Bonzini) [1945742] - KVM: SVM: Cannot re-initialize the VMCB after shutdown with SEV-ES (Paolo Bonzini) [1945742] - KVM: SVM: Do not allow instruction emulation under SEV-ES (Paolo Bonzini) [1945742] - KVM: SVM: Prevent debugging under SEV-ES (Paolo Bonzini) [1945742] - KVM: SVM: Add required changes to support intercepts under SEV-ES (Paolo Bonzini) [1945742] - KVM: x86: introduce complete_emulated_msr callback (Paolo Bonzini) [1945742] - KVM: x86: Mark GPRs dirty when written (Paolo Bonzini) [1945742] - KVM: SVM: Add support for the SEV-ES VMSA (Paolo Bonzini) [1945742] - x86/cpu: Add VM page flush MSR availablility as a CPUID feature (Paolo Bonzini) [1945742] - KVM: SVM: Add support for SEV-ES capability in KVM (Paolo Bonzini) [1945742] - KVM/VMX/SVM: Move kvm_machine_check function to x86.h (Paolo Bonzini) [1945742] - KVM: Don't allocate dirty bitmap if dirty ring is enabled (Paolo Bonzini) [1945742] - KVM: Make dirty ring exclusive to dirty bitmap log (Paolo Bonzini) [1945742] - KVM: X86: Implement ring-based dirty memory tracking (Paolo Bonzini) [1945742] - KVM: Pass in kvm pointer into mark_page_dirty_in_slot() (Paolo Bonzini) [1945742] - kvm/eventfd: Drain events from eventfd in irqfd_wakeup() (Paolo Bonzini) [1945742] - eventfd: Export eventfd_ctx_do_read() (Paolo Bonzini) [1945742] - kvm/eventfd: Use priority waitqueue to catch events before userspace (Paolo Bonzini) [1945742] - sched/wait: Add add_wait_queue_priority() (Paolo Bonzini) [1945742] - cpuidle-haltpoll: fix error comments in arch_haltpoll_disable (Paolo Bonzini) [1945742] - kvm/eventfd: Use sequence counter with associated spinlock (Paolo Bonzini) [1945742] - x86/kvm/vmx: Use native read/write_cr2() (Paolo Bonzini) [1945742] - KVM: SVM: convert get_user_pages() --> pin_user_pages() (Paolo Bonzini) [1945742] - x86/asm: Change all ENTRY+ENDPROC to SYM_FUNC_* (Paolo Bonzini) [1945742] - x86/entry/64: Fix unwind hints in __switch_to_asm() (Paolo Bonzini) [1945742] - x86/asm/64: Change all ENTRY+END to SYM_CODE_* (Paolo Bonzini) [1945742] - x86/head/64: Annotate start_cpu0() as non-callable (Paolo Bonzini) [1945742] - x86/asm: Do not annotate functions with GLOBAL (Paolo Bonzini) [1945742] - kprobes/x86/xen: blacklist non-attachable xen interrupt functions (Paolo Bonzini) [1945742] - x86/asm/64: Add ENDs to some functions and relabel with SYM_CODE_* (Paolo Bonzini) [1945742] - x86/asm: Use SYM_INNER_LABEL instead of GLOBAL (Paolo Bonzini) [1945742] - x86/asm: Annotate aliases (Paolo Bonzini) [1945742] - x86/asm/crypto: Annotate local functions (Paolo Bonzini) [1945742] - static_call: Add static_call_cond() (Paolo Bonzini) [1945742] - static_call: Add basic static call infrastructure (Paolo Bonzini) [1945742] - devlink: use _BITUL() macro instead of BIT() in the UAPI header (Petr Oros) [1935646] - devlink: Fix reload stats structure (Petr Oros) [1935646] - devlink: Avoid overwriting port attributes of registered port (Petr Oros) [1935646] - devlink: Add Documentation/networking/devlink/devlink-reload.rst (Petr Oros) [1935646] - devlink: Add enable_remote_dev_reset generic parameter (Petr Oros) [1935646] - devlink: Add remote reload stats (Petr Oros) [1935646] - devlink: Add reload stats (Petr Oros) [1935646] - devlink: Add devlink reload limit option (Petr Oros) [1935646] - devlink: Add reload action option to devlink reload command (Petr Oros) [1935646] - devlink: Change devlink_reload_supported() param type (Petr Oros) [1935646]- CI: Rename KABI option (Veronika Kabatova) - CI: Disable result checking for realtime checks (Veronika Kabatova) - Revert "GFS2: Re-add a call to log_flush_wait when flushing the journal" (Bob Peterson) [1917930] - md/raid1: properly indicate failure when ending a failed write request (Nigel Croxon) [1954588] - Revert "uio: use request_threaded_irq instead" (Vitaly Kuznetsov) [1946644] - drm/ast: Set format registers in primary plane's update (Lyude Paul) [1923857] - drivers: hv: Create a consistent pattern for checking Hyper-V hypercall status (Mohammed Gamal) [1940926] - x86/hyperv: Move hv_do_rep_hypercall to asm-generic (Mohammed Gamal) [1940926] - Drivers: hv: vmbus: Increase wait time for VMbus unload (Mohammed Gamal) [1940926] - Drivers: hv: vmbus: Initialize unload_event statically (Mohammed Gamal) [1940926] - Drivers: hv: vmbus: Check for pending channel interrupts before taking a CPU offline (Mohammed Gamal) [1940926] - Drivers: hv: vmbus: Drivers: hv: vmbus: Introduce CHANNELMSG_MODIFYCHANNEL_RESPONSE (Mohammed Gamal) [1940926] - Drivers: hv: vmbus: Introduce and negotiate VMBus protocol version 5.3 (Mohammed Gamal) [1940926] - Drivers: hv: vmbus: Use after free in __vmbus_open() (Mohammed Gamal) [1940926] - Drivers: hv: vmbus: remove unused function (Mohammed Gamal) [1940926] - Drivers: hv: vmbus: Remove unused linux/version.h header (Mohammed Gamal) [1940926] - x86/Hyper-V: Support for free page reporting (Mohammed Gamal) [1940926] - x86/hyper-v: Move hv_message_type to architecture neutral module (Mohammed Gamal) [1940926] - asm-generic/hyperv: import data structures for mapping device interrupts (Mohammed Gamal) [1940926] - asm-generic/hyperv: introduce hv_device_id and auxiliary structures (Mohammed Gamal) [1940926] - asm-generic/hyperv: update hv_interrupt_entry (Mohammed Gamal) [1940926] - asm-generic/hyperv: update hv_msi_entry (Mohammed Gamal) [1940926] - x86/hyperv: provide a bunch of helper functions (Mohammed Gamal) [1940926] - x86/hyperv: extract partition ID from Microsoft Hypervisor if necessary (Mohammed Gamal) [1940926] - asm-generic/hyperv: Add definitions for Get/SetVpRegister hypercalls (Mohammed Gamal) [1940926] - drivers: hv: Fix EXPORT_SYMBOL and tab spaces issue (Mohammed Gamal) [1940926] - Drivers: hv: vmbus: Drop error message when 'No request id available' (Mohammed Gamal) [1940926] - Drivers: hv: vmbus: Move handling of VMbus interrupts (Mohammed Gamal) [1940926] - Drivers: hv: vmbus: Handle auto EOI quirk inline (Mohammed Gamal) [1940926] - Drivers: hv: vmbus: Move hyperv_report_panic_msg to arch neutral code (Mohammed Gamal) [1940926] - Drivers: hv: Redo Hyper-V synthetic MSR get/set functions (Mohammed Gamal) [1940926] - Drivers: hv: vmbus: Move Hyper-V page allocator to arch neutral code (Mohammed Gamal) [1940926] - x86/hyperv: allocate output arg pages if required (Mohammed Gamal) [1940926] - drivers: hv: Fix whitespace errors (Mohammed Gamal) [1940926] - Drivers: hv: vmbus: skip VMBus initialization if Linux is root (Mohammed Gamal) [1940926] - Drivers: hv: vmbus: Enforce 'VMBus version >= 5.2' on isolated guests (Mohammed Gamal) [1940926] - Drivers: hv: vmbus: Restrict vmbus_devices on isolated guests (Mohammed Gamal) [1940926] - hv_utils: Fix spelling mistake "Hearbeat" -> "Heartbeat" (Mohammed Gamal) [1940926] - Drivers: hv: vmbus: Add /sys/bus/vmbus/hibernation (Mohammed Gamal) [1940926] - Drivers: hv: vmbus: Resolve race condition in vmbus_onoffer_rescind() (Mohammed Gamal) [1940926] - Drivers: hv: vmbus: Avoid use-after-free in vmbus_onoffer_rescind() (Mohammed Gamal) [1940926] - Drivers: hv: vmbus: Copy the hv_message in vmbus_on_msg_dpc() (Mohammed Gamal) [1940926] - Drivers: hv: vmbus: Reduce number of references to message in vmbus_on_msg_dpc() (Mohammed Gamal) [1940926] - Drivers: hv: vmbus: Initialize memory to be sent to the host (Mohammed Gamal) [1940926] - hv_utils: Add validation for untrusted Hyper-V values (Mohammed Gamal) [1940926] - drivers/hv: remove obsolete TODO and fix misleading typo in comment (Mohammed Gamal) [1940926] - drivers: hv: vmbus: Fix checkpatch SPLIT_STRING (Mohammed Gamal) [1940926] - drivers: hv: vmbus: Fix call msleep using < 20ms (Mohammed Gamal) [1940926] - drivers: hv: vmbus: Fix checkpatch LINE_SPACING (Mohammed Gamal) [1940926] - drivers: hv: vmbus: Replace symbolic permissions by octal permissions (Mohammed Gamal) [1940926] - drivers: hv: Fix hyperv_record_panic_msg path on comment (Mohammed Gamal) [1940926] - Drivers: hv: vmbus: Add vmbus_requestor data structure for VMBus hardening (Mohammed Gamal) [1940926] - ena: revert removal of MODULE_VERSION from ena (Petr Oros) [1955712] - Revert "[netdrv] net/intel: remove driver versions from Intel drivers" (Jonathan Toppins) [1955745] - Revert "[netdrv] net/broadcom: Clean broadcom code from driver versions" (Jonathan Toppins) [1955721] - net: core: add dev_get_tstats64 as a ndo_get_stats64 implementation (Josef Oskera) [1939453]- igb: amend removal of MODULE_VERSION (Corinna Vinschen) [1955748] - igc: amend removal of MODULE_VERSION (Corinna Vinschen) [1955755] - i40e: amend removal of MODULE_VERSION (Stefan Assmann) [1955736] - ixgbe: Amend commit acf03026ec5a to include a version string in module info. (Ken Cox) [1955759] - i40e: Fix parameters in aq_get_phy_register() (Stefan Assmann) [1907852] - initramfs: panic with memory information (Coiby Xu) [1936031] - powercap/intel_rapl: add support for AlderLake (David Arcari) [1838605] - xfs: restore shutdown check in mapped write fault path (Brian Foster) [1926089] - xfs: consider shutdown in bmapbt cursor delete assert (Brian Foster) [1926077] - iomap: Fix negative assignment to unsigned sis->pages in iomap_swapfile_activate (Carlos Maiolino) [1938210] - scsi: scsi_dh_alua: Remove check for ASC 24h in alua_rtpg() (Ewan D. Milne) [1929878] - perf/arm-cmn: Move IRQs when migrating context (Jeremy Linton) [1816850] - perf/arm-cmn: Fix PMU instance naming (Jeremy Linton) [1816850] - perf: arm-cmn: Fix conversion specifiers for node type (Jeremy Linton) [1816850] - perf: arm-cmn: Fix unsigned comparison to less than zero (Jeremy Linton) [1816850] - perf: Add Arm CMN-600 PMU driver (Jeremy Linton) [1816850] - redhat/configs: Use CONFIG_VIRTIO_CONSOLE=m on s390x, too (Thomas Huth) [1954119] - s390/config: do not select VIRTIO_CONSOLE via Kconfig (Thomas Huth) [1954119] - x86/platform/uv: Fix an error code in uv_hubs_init() (Frank Ramsay) [1936605] - x86/platform/uv: Add more to secondary CPU kdump info (Frank Ramsay) [1936605] - x86/platform/uv: Use x2apic enabled bit as set by BIOS to indicate APIC mode (Frank Ramsay) [1936605] - redhat/configs: Add CONFIG_UV_SYSFS (Frank Ramsay) [1936605] - x86/platform/uv: Fix indentation warning in Documentation/ABI/testing/sysfs-firmware-sgi_uv (Frank Ramsay) [1936605] - x86/platform/uv: Set section block size for hubless architectures (Frank Ramsay) [1936605] - x86/platform/uv: Update sysfs documentation (Frank Ramsay) [1936605] - x86/platform/uv: Add deprecated messages to /proc info leaves (Frank Ramsay) [1936605] - x86/platform/uv: Add sysfs hubless leaves (Frank Ramsay) [1936605] - x86/platform/uv: Add sysfs leaves to replace those in procfs (Frank Ramsay) [1936605] - x86/platform/uv: Add kernel interfaces for obtaining system info (Frank Ramsay) [1936605] - x86/platform/uv: Update MAINTAINERS for uv_sysfs driver (Frank Ramsay) [1936605] - x86/platform/uv: Update ABI documentation of /sys/firmware/sgi_uv/ (Frank Ramsay) [1936605] - x86/platform/uv: Add new uv_sysfs platform driver (Frank Ramsay) [1936605] - x86/platform/uv: Add and export uv_bios_* functions (Frank Ramsay) [1936605] - x86/platform/uv: Remove existing /sys/firmware/sgi_uv/interface (Frank Ramsay) [1936605] - x86/platform/uv: Unexport symbols only used by x2apic_uv_x.c (Frank Ramsay) [1936605] - x86/platform/uv: Unexport sn_coherency_id (Frank Ramsay) [1936605] - x86/platform/uv: Mark uv_bios_call() and uv_bios_call_irqsave() static (Frank Ramsay) [1936605] - UV: Add SPDX license identifier - Makefile/Kconfig (Frank Ramsay) [1936605] - netdevsim: Only use sampling truncation length when valid (Ivan Vecera) [1955163] - selftests: netdevsim: Test psample functionality (Ivan Vecera) [1955163] - netdevsim: Add dummy psample implementation (Ivan Vecera) [1955163] - psample: Add additional metadata attributes (Ivan Vecera) [1955163] - psample: Encapsulate packet metadata in a struct (Ivan Vecera) [1955163] - net: psample: fix build error when CONFIG_INET is not enabled (Ivan Vecera) [1955163] - devlink: include for _BITUL (Petr Oros) [1935630] - netdevsim: add support for flash_update overwrite mask (Petr Oros) [1935630] - devlink: introduce flash update overwrite mask (Petr Oros) [1935630] - devlink: convert flash_update to use params structure (Petr Oros) [1935630] - devlink: check flash_update parameter support in net core (Petr Oros) [1935630] - devlink: Enhance policy to validate port type input value (Petr Oros) [1935630] - devlink: Enhance policy to validate eswitch mode value (Petr Oros) [1935630] - net: devlink: region: Pass the region ops to the snapshot function (Petr Oros) [1935630] - net: devlink: regions: Add a priv member to the regions ops struct (Petr Oros) [1935630]- Enumerate AVX Vector Neural Network instructions (Steve Best) [1838616] - net: fix skb use after free in netpoll (Ivan Vecera) [1913481] - cipso,calipso: resolve a number of problems with the DOI refcounts (Guillaume Nault) [1950996] - netfilter: rpfilter: mask ecn bits before fib lookup (Guillaume Nault) [1950996] - netfilter: Fix rpfilter dropping vrf packets by mistake (Guillaume Nault) [1950996] - redhat: enable CONFIG_DM_MULTIPATH_HST and CONFIG_DM_MULTIPATH_IOA (Mike Snitzer) [1949682] - dm ioctl: fix out of bounds array access when no devices (Mike Snitzer) [1949682] - dm table: Fix zoned model check and zone sectors check (Mike Snitzer) [1949682] - dm: simplify target code conditional on CONFIG_BLK_DEV_ZONED (Mike Snitzer) [1949682] - dm verity: fix DM_VERITY_OPTS_MAX value (Mike Snitzer) [1949682] - dm verity fec: fix misaligned RS roots IO (Mike Snitzer) [1949682] - dm verity: fix FEC for RS roots unaligned to block size (Mike Snitzer) [1949682] - dm bufio: subtract the number of initial sectors in dm_bufio_get_device_size (Mike Snitzer) [1949682] - dm: fix deadlock when swapping to encrypted device (Mike Snitzer) [1949682] - dm era: only resize metadata in preresume (Mike Snitzer) [1949682] - dm era: Use correct value size in equality function of writeset tree (Mike Snitzer) [1949682] - dm era: Fix bitset memory leaks (Mike Snitzer) [1949682] - dm era: Verify the data block size hasn't changed (Mike Snitzer) [1949682] - dm era: Reinitialize bitset cache before digesting a new writeset (Mike Snitzer) [1949682] - dm era: Update in-core bitset after committing the metadata (Mike Snitzer) [1949682] - dm era: Recover committed writeset after crash (Mike Snitzer) [1949682] - dm writecache: fix writing beyond end of underlying device when shrinking (Mike Snitzer) [1949682] - dm table: remove needless request_queue NULL pointer checks (Mike Snitzer) [1949682] - dm table: fix zoned iterate_devices based device capability checks (Mike Snitzer) [1949682] - dm writecache: return the exact table values that were set (Mike Snitzer) [1949682] - dm writecache: fix unnecessary NULL check warnings (Mike Snitzer) [1949682] - dm writecache: fix performance degradation in ssd mode (Mike Snitzer) [1949682] - dm integrity: introduce the "fix_hmac" argument (Mike Snitzer) [1949682] - dm persistent data: fix return type of shadow_root() (Mike Snitzer) [1949682] - dm: cleanup of front padding calculation (Mike Snitzer) [1949682] - dm integrity: fix spelling mistake "flusing" -> "flushing" (Mike Snitzer) [1949682] - dm crypt: Spelling s_cihper_cipher_ (Mike Snitzer) [1949682] - dm: avoid filesystem lookup in dm_get_dev_t() (Mike Snitzer) [1949682] - dm integrity: conditionally disable "recalculate" feature (Mike Snitzer) [1949682] - dm integrity: fix a crash if "recalculate" used without "internal_hash" (Mike Snitzer) [1949682] - dm integrity: fix the maximum number of arguments (Mike Snitzer) [1949682] - dm integrity: fix flush with external metadata device (Mike Snitzer) [1949682] - dm snapshot: flush merged data before committing metadata (Mike Snitzer) [1949682] - dm zoned: select CONFIG_CRC32 (Mike Snitzer) [1949682] - dm integrity: select CRYPTO_SKCIPHER (Mike Snitzer) [1949682] - dm cache: simplify the return expression of load_mapping() (Mike Snitzer) [1949682] - dm verity: skip verity work if I_O error when system is shutting down (Mike Snitzer) [1949682] - dm ioctl: fix error return code in target_message (Mike Snitzer) [1949682] - dm crypt: Constify static crypt_iv_operations (Mike Snitzer) [1949682] - dm: add support for REQ_NOWAIT to various targets (Mike Snitzer) [1949682] - dm: rename multipath path selector source files to have "dm-ps" prefix (Mike Snitzer) [1949682] - dm mpath: add IO affinity path selector (Mike Snitzer) [1949682] - dm verity: Add support for signature verification with 2nd keyring (Mike Snitzer) [1949682] - dm: remove unnecessary current->bio_list check when submitting split bio (Mike Snitzer) [1949682] - dm: remove invalid sparse __acquires and __releases annotations (Mike Snitzer) [1949682] - dm: fix double RCU unlock in dm_dax_zero_page_range() error path (Mike Snitzer) [1949682] - dm writecache: remove BUG() and fail gracefully instead (Mike Snitzer) [1949682] - dm table: Remove BUG_ON(in_interrupt()) (Mike Snitzer) [1949682] - dm: fix bug with RCU locking in dm_blk_report_zones (Mike Snitzer) [1949682] - Revert "dm cache: fix arm link errors with inline" (Mike Snitzer) [1949682] - vfs: remove lockdep bogosity in __sb_start_write (Brian Foster) [1926097] - nbd: freeze the queue while we're adding connections (Ming Lei) [1927246] - selftests/livepatch: Do not check order when using "comm" for dmesg checking (Joel Savitz) [1942056] - RDMA/siw,rxe: Make emulated devices virtual in the device tree (Kamal Heib) [1931849] - RDMA/core: remove use of dma_virt_ops (Kamal Heib) [1931849] - RDMA/umem: Use ib_dma_max_seg_size instead of dma_get_max_seg_size (Kamal Heib) [1931849] - RDMA/core: Fix ib_dma_max_seg_size() (Kamal Heib) [1931849] - RDMA/umem: Move to allocate SG table from pages (Kamal Heib) [1931849] - lib/scatterlist: Do not limit max_segment to PAGE_ALIGNED values (Kamal Heib) [1931849] - lib/scatterlist: Add support in dynamic allocation of SG table from pages (Kamal Heib) [1931846] - RDMA/srp: Increase max_segment_size (Kamal Heib) [1931849] - RDMA/uverbs: Allow drivers to create a new HW object during rereg_mr (Kamal Heib) [1931849] - RDMA/mlx5: Use ib_umem_find_best_pgoff() for SRQ (Kamal Heib) [1931849] - RDMA/vmw_pvrdma: Fix network_hdr_type reported in WC (Kamal Heib) [1931849] - RDMA/cma: Fix error flow in default_roce_mode_store (Kamal Heib) [1931849] - RDMA/umem: Avoid undefined behavior of rounddown_pow_of_two() (Kamal Heib) [1931849] - RDMA/restrack: Don't treat as an error allocation ID wrapping (Kamal Heib) [1931849] - RDMA/ucma: Do not miss ctx destruction steps in some cases (Kamal Heib) [1931849] - RDMA/cma: Don't overwrite sgid_attr after device is released (Kamal Heib) [1931849] - RDMA/rxe: Use acquire/release for memory ordering (Kamal Heib) [1931849] - RDMA/uverbs: Fix incorrect variable type (Kamal Heib) [1931849] - RDMA/core: Update kernel documentation for ib_create_named_qp() (Kamal Heib) [1931849] - RDMA/iser: Remove in_interrupt() usage (Kamal Heib) [1931849] - IB: Fix kernel-doc markups (Kamal Heib) [1931849] - RDMA/uverbs: Check ODP in ib_check_mr_access() as well (Kamal Heib) [1931849] - RDMA/uverbs: Tidy input validation of ib_uverbs_rereg_mr() (Kamal Heib) [1931849] - RDMA/efa: Use dma_set_mask_and_coherent() to simplify code (Kamal Heib) [1931849] - RDMA/restrack: Support all QP types (Kamal Heib) [1931849] - RDMA/core: Allow drivers to disable restrack DB (Kamal Heib) [1931849] - RDMA/core: Track device memory MRs (Kamal Heib) [1931849] - RDMA/cma: Fix deadlock on &lock in rdma_cma_listen_on_all() error unwind (Kamal Heib) [1931849] - IB/hfi1: Fix fall-through warnings for Clang (Kamal Heib) [1931849] - RDMA/ipoib: Distribute cq completion vector better (Kamal Heib) [1931849] - RDMA/efa: Remove .create_ah callback assignment (Kamal Heib) [1931849] - RDMA/cma: Add missing error handling of listen_id (Kamal Heib) [1931849] - RDMA/restrack: Store all special QPs in restrack DB (Kamal Heib) [1931849] - RDMA/counter: Combine allocation and bind logic (Kamal Heib) [1931849] - RDMA/core: Remove ib_dma_{alloc,free}_coherent (Kamal Heib) [1931849] - RDMA/core: Make FD destroy callback void (Kamal Heib) [1931849] - RDMA/core: Postpone uobject cleanup on failure till FD close (Kamal Heib) [1931849] - IB/isert: Do not excplicitly check == false for bool (Kamal Heib) [1931849] - IB/core: Add support for NDR link speed (Kamal Heib) [1931849] - RDMA/ipoib: Add 50Gb and 100Gb link speeds to ethtool (Kamal Heib) [1931849] - RDMA/rxe,siw: Restore uverbs_cmd_mask IB_USER_VERBS_CMD_POST_SEND (Kamal Heib) [1931849] - RDMA/siw: Fix typo of EAGAIN not -EAGAIN in siw_cm_work_handler() (Kamal Heib) [1931849] - RDMA/rxe: Compute PSN windows correctly (Kamal Heib) [1931849] - RDMA/core: Fix error return in _ib_modify_qp() (Kamal Heib) [1931849] - IB/verbs: avoid nested container_of() (Kamal Heib) [1931849] - RDMA/rxe: Remove unused RXE_MR_TYPE_FMR (Kamal Heib) [1931849] - RDMA: Remove AH from uverbs_cmd_mask (Kamal Heib) [1931849] - RDMA: Remove uverbs cmds from drivers that don't use them (Kamal Heib) [1931849] - RDMA/core Remove uverbs_ex_cmd_mask (Kamal Heib) [1931849] - RDMA: Check create_flags during create_qp (Kamal Heib) [1931849] - RDMA: Check flags during create_cq (Kamal Heib) [1931849] - RDMA: Check attr_mask during modify_qp (Kamal Heib) [1931849] - RDMA: Check srq_type during create_srq (Kamal Heib) [1931849] - RDMA: Move more uverbs_cmd_mask settings to the core (Kamal Heib) [1931849] - RDMA: Remove elements in uverbs_cmd_mask that all drivers set (Kamal Heib) [1931849] - RDMA: Remove uverbs_ex_cmd_mask values that are linked to functions (Kamal Heib) [1931849] - RDMA/cm: Fix an attempt to use non-valid pointer when cleaning timewait (Kamal Heib) [1931846] - RDMA/core: Fix empty gid table for non IB/RoCE devices (Kamal Heib) [1931846] - RDMA/efa: Use the correct current and new states in modify QP (Kamal Heib) [1931846] - RMDA/sw: Don't allow drivers using dma_virt_ops on highmem configs (Kamal Heib) [1931846] - RDMA/srpt: Fix typo in srpt_unregister_mad_agent docstring (Kamal Heib) [1931846] - RDMA/vmw_pvrdma: Fix the active_speed and phys_state value (Kamal Heib) [1931846] - RDMA: Fix software RDMA drivers for dma mapping error (Kamal Heib) [1931846] - IB/srpt: docs: add a description for cq_size member (Kamal Heib) [1931846] - RDMA: Add rdma_connect_locked() (Kamal Heib) [1931846] - RDMA/uverbs: Fix false error in query gid IOCTL (Kamal Heib) [1931846] - RDMA/rxe: Fix small problem in network_type patch (Kamal Heib) [1931846] - RDMA/ucma: Fix use after free in destroy id flow (Kamal Heib) [1931846] - RDMA/rxe: Move the definitions for rxe_av.network_type to uAPI (Kamal Heib) [1931846] - RDMA: Explicitly pass in the dma_device to ib_register_device (Kamal Heib) [1931846] - RDMA/usnic: Remove the query_pkey callback (Kamal Heib) [1931846] - RDMA/usnic: Fix spelling mistake "transistion" -> "transition" (Kamal Heib) [1931846] - RDMA/usnic: switch from 'pci_' to 'dma_' API (Kamal Heib) [1931846] - RDMA/usnic: Avoid overly large buffers on stack (Kamal Heib) [1931846] - IB/usnic: Use dev_get_drvdata (Kamal Heib) [1931846] - IB/usnic: Fix deadlock (Kamal Heib) [1931846] - Revert "[infiniband] usnic_verbs: fix deadlock" (Kamal Heib) [1931846] - RDMA/rxe: Remove duplicate entries in struct rxe_mr (Kamal Heib) [1931846] - RDMA/uverbs: Expose the new GID query API to user space (Kamal Heib) [1931846] - RDMA/core: Introduce new GID table query API (Kamal Heib) [1931846] - RDMA/core: Modify enum ib_gid_type and enum rdma_network_type (Kamal Heib) [1931846] - RDMA/core: Change rdma_get_gid_attr returned error code (Kamal Heib) [1931846] - RDMA/core: Constify struct attribute_group (Kamal Heib) [1931846] - RDMA/core: Remove ucontext->closing (Kamal Heib) [1931846] - RDMA/drivers: Remove udata check from special QP (Kamal Heib) [1931846] - RDMA/qedr: Add support for user mode XRC-SRQ's (Kamal Heib) [1931846] - RDMA/mlx4: Prepare QP allocation to remove from the driver (Kamal Heib) [1931846] - RDMA/mlx4: Embed GSI QP into general mlx4_ib QP (Kamal Heib) [1931846] - RDMA/core: Align write and ioctl checks of QP types (Kamal Heib) [1931846] - RDMA/efa: Drop double zeroing for sg_init_table() (Kamal Heib) [1931846] - RDMA/efa: Add messages and RDMA read work requests HW stats (Kamal Heib) [1931846] - RDMA/efa: Group keep alive received counter with other SW stats (Kamal Heib) [1931846] - RDMA/restrack: Improve readability in task name management (Kamal Heib) [1931846] - RDMA/restrack: Simplify restrack tracking in kernel flows (Kamal Heib) [1931846] - RDMA/restrack: Count references to the verbs objects (Kamal Heib) [1931846] - RDMA/cma: Delete from restrack DB after successful destroy (Kamal Heib) [1931846] - RDMA/ucma: Rework ucma_migrate_id() to avoid races with destroy (Kamal Heib) [1931846] - RDMA: Fix link active_speed size (Kamal Heib) [1931846] - net/mlx5: Refactor query port speed functions (Kamal Heib) [1931846] - RDMA: Convert RWQ table logic to ib_core allocation scheme (Kamal Heib) [1931846] - RDMA: Clean MW allocation and free flows (Kamal Heib) [1931846] - RDMA/cma: Fix use after free race in roce multicast join (Kamal Heib) [1931846] - RDMA/cma: Consolidate the destruction of a cma_multicast in one place (Kamal Heib) [1931846] - RDMA/cma: Remove dead code for kernel rdmacm multicast (Kamal Heib) [1931846] - RDMA/cma: Combine cma_ndev_work with cma_work (Kamal Heib) [1931846] - RDMA/cma: Remove cma_comp() (Kamal Heib) [1931846] - RDMA/cma: Fix locking for the RDMA_CM_LISTEN state (Kamal Heib) [1931846] - RDMA/cma: Make the locking for automatic state transition more clear (Kamal Heib) [1931846] - RDMA/cma: Fix locking for the RDMA_CM_CONNECT state (Kamal Heib) [1931846] - RDMA/core: Added missing WR and WC opcodes (Kamal Heib) [1931846] - RDMA/qedr: Remove fbo and zbva from the MR (Kamal Heib) [1931846] - RDMA/mlx4: Use ib_umem_num_dma_blocks() (Kamal Heib) [1931846] - RDMA/pvrdma: Use ib_umem_num_dma_blocks() instead of ib_umem_page_count() (Kamal Heib) [1931846] - RDMA/bnxt: Do not use ib_umem_page_count() or ib_umem_num_pages() (Kamal Heib) [1931846] - RDMA/qedr: Use ib_umem_num_dma_blocks() instead of ib_umem_page_count() (Kamal Heib) [1931846] - RDMA/qedr: Use rdma_umem_for_each_dma_block() instead of open-coding (Kamal Heib) [1931846] - RDMA/i40iw: Use ib_umem_num_dma_pages() (Kamal Heib) [1931846] - RDMA/efa: Use ib_umem_num_dma_pages() (Kamal Heib) [1931846] - RDMA/umem: Split ib_umem_num_pages() into ib_umem_num_dma_blocks() (Kamal Heib) [1931846] - RDMA/umem: Replace for_each_sg_dma_page with rdma_umem_for_each_dma_block (Kamal Heib) [1931846] - RDMA/umem: Add rdma_umem_for_each_dma_block() (Kamal Heib) [1931846] - RDMA/umem: Use simpler logic for ib_umem_find_best_pgsz() (Kamal Heib) [1931846] - RDMA/umem: Fix ib_umem_find_best_pgsz() for mappings that cross a page boundary (Kamal Heib) [1931846] - RDMA: Make counters destroy symmetrical (Kamal Heib) [1931846] - RDMA: Restore ability to return error for destroy WQ (Kamal Heib) [1931846] - RDMA: Change XRCD destroy return value (Kamal Heib) [1931846] - RDMA: Allow fail of destroy CQ (Kamal Heib) [1931846] - RDMA/core: Delete function indirection for alloc/free kernel CQ (Kamal Heib) [1931846] - RDMA: Restore ability to fail on SRQ destroy (Kamal Heib) [1931846] - RDMA/mlx5: Issue FW command to destroy SRQ on reentry (Kamal Heib) [1931846] - RDMA: Restore ability to fail on AH destroy (Kamal Heib) [1931846] - RDMA: Restore ability to fail on PD deallocate (Kamal Heib) [1931846] - RDMA/core: Change how failing destroy is handled during uobj abort (Kamal Heib) [1931846] - RDMA/ucma: Fix resource leak on error path (Kamal Heib) [1931846] - RDMA/rxe: Address an issue with hardened user copy (Kamal Heib) [1931846] - RDMA/rxe: Add SPDX hdrs to rxe source files (Kamal Heib) [1931846] - RDMA/core: Trigger a WARN_ON if the driver causes uobjects to become leaked (Kamal Heib) [1931846] - RDMA/rxe: Fix style warnings (Kamal Heib) [1931846] - RDMA/ucma: Remove closing and the close_wq (Kamal Heib) [1931846] - RDMA/ucma: Rework how new connections are passed through event delivery (Kamal Heib) [1931846] - RDMA/ucma: Narrow file->mut in ucma_event_handler() (Kamal Heib) [1931846] - RDMA/ucma: Change backlog into an atomic (Kamal Heib) [1931846] - RDMA/ucma: Add missing locking around rdma_leave_multicast() (Kamal Heib) [1931846] - RDMA/ucma: Fix locking for ctx->events_reported (Kamal Heib) [1931846] - RDMA/ucma: Fix the locking of ctx->file (Kamal Heib) [1931846] - RDMA/ucma: Do not use file->mut to lock destroying (Kamal Heib) [1931846] - RDMA/cma: Add missing locking to rdma_accept() (Kamal Heib) [1931846] - RDMA/ucma: Remove mc_list and rely on xarray (Kamal Heib) [1931846] - RDMA/ucma: Fix error cases around ucma_alloc_ctx() (Kamal Heib) [1931846] - RDMA/ucma: Consolidate the two destroy flows (Kamal Heib) [1931846] - RDMA/ucma: Remove unnecessary locking of file->ctx_list in close (Kamal Heib) [1931846] - RDMA/ucma: Fix refcount 0 incr in ucma_get_ctx() (Kamal Heib) [1931846] - RDMA/cm: Add tracepoints to track MAD send operations (Kamal Heib) [1931846] - RDMA/cm: Replace pr_debug() call sites with tracepoints (Kamal Heib) [1931846] - RDMA/core: Move the rdma_show_ib_cm_event() macro (Kamal Heib) [1931846] - RDMA/efa: Remove redundant udata check from alloc ucontext response (Kamal Heib) [1931846] - RDMA/vmw_pvrdma: Fix kernel-doc documentation (Kamal Heib) [1931846] - RDMA/rxe: prevent rxe creation on top of vlan interface (Kamal Heib) [1931846] - RDMA/cm: Remove unused cm_class (Kamal Heib) [1931846] - IB/isert: remove duplicated error prints (Kamal Heib) [1931846] - RDMA/efa: Introduce SRD RNR retry (Kamal Heib) [1931846] - RDMA/efa: Introduce SRD QP state machine (Kamal Heib) [1931846] - RDMA/efa: Be consistent with modify QP bitmask (Kamal Heib) [1931846] - RDMA/efa: Add a generic capability check helper (Kamal Heib) [1931846] - RDMA: Remove constant domain argument from flow creation call (Kamal Heib) [1931846] - RDMA/i40iw: Avoid typecast from void to pci_dev (Kamal Heib) [1931846] - sched/uclamp: Add CPU's clamp buckets refcounting (Kamal Heib) [1931846] - overflow: Include header file with SIZE_MAX declaration (Kamal Heib) [1931846] - treewide: Use fallthrough pseudo-keyword (Kamal Heib) [1931846] - IB/hfi1: Use fallthrough pseudo-keyword (Kamal Heib) [1931846] - treewide: replace '---help---' in Kconfig files with 'help' (Kamal Heib) [1931846] - remove ioremap_nocache and devm_ioremap_nocache (Kamal Heib) [1931846]- ethtool: pause: make sure we init driver stats (Ivan Vecera) [1935611] - ethtool: correct policy for ETHTOOL_MSG_CHANNELS_SET (Ivan Vecera) [1935611] - ethtool: strset: allow ETHTOOL_A_STRSET_COUNTS_ONLY attr (Ivan Vecera) [1935611] - ethtool: specify which header flags are supported per command (Ivan Vecera) [1935611] - ethtool: link up ethnl_header_policy as a nested policy (Ivan Vecera) [1935611] - ethtool: trim policy tables (Ivan Vecera) [1935611] - ethtool: wire up set policies to ops (Ivan Vecera) [1935611] - ethtool: wire up get policies to ops (Ivan Vecera) [1935611] - netdevsim: fix duplicated debugfs directory (Ivan Vecera) [1935611] - selftests: add a test for ethtool pause stats (Ivan Vecera) [1935611] - netdevsim: add pause frame stats (Ivan Vecera) [1935611] - docs: net: include the new ethtool pause stats in the stats doc (Ivan Vecera) [1935611] - ethtool: add standard pause stats (Ivan Vecera) [1935611] - net: tighten the definition of interface statistics (Ivan Vecera) [1935611]- PCI: hv: Fix typo (Mohammed Gamal) [1940924] - asm-generic/hyperv: change HV_CPU_POWER_MANAGEMENT to HV_CPU_MANAGEMENT (Mohammed Gamal) [1940925] - x86/hyperv: detect if Linux is the root partition (Mohammed Gamal) [1940925] - hyperv: hyperv.h: drop a duplicated word (Mohammed Gamal) [1940925] - hyper-v: Remove internal types from UAPI header (Mohammed Gamal) [1940925] - x86/hyperv: Load/save the Isolation Configuration leaf (Mohammed Gamal) [1940925] - x86/hyperv: Initialize clockevents after LAPIC is initialized (Mohammed Gamal) [1940925] - x86/hyperv: check cpu mask after interrupt has been disabled (Mohammed Gamal) [1940925] - x86/hyperv: Fix kexec panic/hang issues (Mohammed Gamal) [1940925] - video: hyperv_fb: Fix a double free in hvfb_probe (Mohammed Gamal) [1940922] - uio: uio_hv_generic: use devm_kzalloc() for private data alloc (Mohammed Gamal) [1940922] - Avoid macro redefinition in compiler-{clang,gcc}.h (Jerome Marchand) [1907271] - x86/split_lock: Add Icelake microserver and Tigerlake CPU models (Prarit Bhargava) [1847576] - tools/power/x86/intel-speed-select: Update version to 1.8 (Prarit Bhargava) [1921801] - tools/power/x86/intel-speed-select: Add new command to get/set TRL (Prarit Bhargava) [1921801] - tools/power/x86/intel-speed-select: Add new command turbo-mode (Prarit Bhargava) [1921801] - tools/power/x86/intel-speed-select: Set higher of cpuinfo_max_freq or base_frequency (Prarit Bhargava) [1921801] - tools/power/x86/intel-speed-select: Set scaling_max_freq to base_frequency (Prarit Bhargava) [1921801] - platform/x86: ISST: Mark mmio_range_devid_0 and mmio_range_devid_1 with static keyword (Prarit Bhargava) [1921801] - tools/power/x86/intel-speed-select: Update version for v5.11 (Prarit Bhargava) [1921801] - tools/power/x86/intel-speed-select: Account for missing sysfs for die_id (Prarit Bhargava) [1921801] - tools/power/x86/intel-speed-select: Read TRL from mailbox (Prarit Bhargava) [1921801] - platform/x86: ISST: Change PCI device macros (Prarit Bhargava) [1921801] - platform/x86: ISST: Allow configurable offset range (Prarit Bhargava) [1921801] - platform/x86: ISST: Check for unaligned mmio address (Prarit Bhargava) [1921801] - tools/power/turbostat: Fallback to an MSR read for EPB (Prarit Bhargava) [1926913] - tools/power/turbostat: Read energy_perf_bias from sysfs (Prarit Bhargava) [1926913] - Bluetooth: btusb: Add workaround for remote-wakeup issues with Barrot 8041a02 fake CSR controllers (Gopal Tiwari) [1946951] - Bluetooth: btusb: Fix detection of some fake CSR controllers with a bcdDevice val of 0x0134 (Gopal Tiwari) [1946951] - Bluetooth: btusb: support download nvm with different board id for wcn6855 (Gopal Tiwari) [1946951] - Bluetooth: btmtksdio: Add the missed release_firmware() in mtk_setup_firmware() (Gopal Tiwari) [1946951] - Bluetooth: btusb: Add the missed release_firmware() in btusb_mtk_setup_firmware() (Gopal Tiwari) [1946951] - Bluetooth: btusb: Support 0bda:c123 Realtek 8822CE device (Gopal Tiwari) [1946951] - Bluetooth: hci_h5: Add OBDA0623 ACPI HID (Gopal Tiwari) [1946951] - Bluetooth: revert: hci_h5: close serdev device and free hu in h5_close (Gopal Tiwari) [1946951] - Bluetooth: hci_qca: Wait for timeout during suspend (Gopal Tiwari) [1946951] - Bluetooth: btrtl: fix incorrect skb allocation failure check (Gopal Tiwari) [1946951] - Bluetooth: hci_ll: add a small delay for wl1271 enable bt_en (Gopal Tiwari) [1946951] - Bluetooth: btusb: Add support for 1358:c123 Realtek 8822CE device (Gopal Tiwari) [1946951] - Bluetooth: hci_qca: resolve various warnings (Gopal Tiwari) [1946951] - Bluetooth: hci_qca: Enhance retry logic in qca_setup (Gopal Tiwari) [1946951] - Bluetooth: btusb: btrtl: Add support for RTL8852A (Gopal Tiwari) [1946951] - Bluetooth: btusb: Add support for 13d3:3560 MediaTek MT7615E device (Gopal Tiwari) [1946951] - Bluetooth: hci_h5: fix memory leak in h5_close (Gopal Tiwari) [1946951] - Bluetooth: btrtl: Ask 8821C to drop old firmware (Gopal Tiwari) [1946951] - Bluetooth: btrtl: Refine the ic_id_table for clearer and more regular (Gopal Tiwari) [1946951] - Bluetooth: btusb: Add the more support IDs for Realtek RTL8822CE (Gopal Tiwari) [1946951] - Bluetooth: hci_h5: close serdev device and free hu in h5_close (Gopal Tiwari) [1946951] - Bluetooth: btintel: Replace zero-length array with flexible-array member (Gopal Tiwari) [1946951] - Bluetooth: btusb: Add Qualcomm Bluetooth SoC WCN6855 support (Gopal Tiwari) [1946951] - Bluetooth: btusb: Enable wide band speech support for BTUSB_QCA_ROME (Gopal Tiwari) [1946951] - Bluetooth: hci_serdev: Close UART port if NON_PERSISTENT_SETUP is set (Gopal Tiwari) [1946951] - Bluetooth: hci_qca: Remove duplicate power off in proto close (Gopal Tiwari) [1946951] - Bluetooth: hci_intel: enable on new platform (Gopal Tiwari) [1946951] - Bluetooth: btmtksdio: use NULL instead of zero (Gopal Tiwari) [1946951] - Bluetooth: hci_intel: switch to list_for_each_entry() (Gopal Tiwari) [1946951] - Bluetooth: hci_intel: drop strange le16_to_cpu() against u8 values (Gopal Tiwari) [1946951] - Bluetooth: hci_qca: remove redundant null check (Gopal Tiwari) [1946951] - Bluetooth: btusb: Fix memleak in btusb_mtk_submit_wmt_recv_urb (Gopal Tiwari) [1946951] - Bluetooth: hci_uart: Cancel init work before unregistering (Gopal Tiwari) [1946951] - Bluetooth: hci_h5: Remove ignored flag HCI_UART_RESET_ON_INIT (Gopal Tiwari) [1946951] - Bluetooth: btmrvl: eliminate duplicates introducing btmrvl_reg_89xx (Gopal Tiwari) [1946951] - Revert "Bluetooth: btusb: Disable runtime suspend on Realtek devices" (Gopal Tiwari) [1946951] - Bluetooth: hci_qca: Stop collecting memdump again for command timeout during SSR (Gopal Tiwari) [1946951] - Bluetooth: hci_serdev: Only unregister device if it was registered (Gopal Tiwari) [1946951] - Bluetooth: hci_h5: Set HCI_UART_RESET_ON_INIT to correct flags (Gopal Tiwari) [1946951] - Bluetooth: btusb: Fix and detect most of the Chinese Bluetooth controllers (Gopal Tiwari) [1946951] - Bluetooth: hci_qca: Bug fixes for SSR (Gopal Tiwari) [1946951] - Bluetooth: btusb: add Realtek 8822CE to usb_device_id table (Gopal Tiwari) [1946951] - Bluetooth: btusb: USB alternate setting 1 for WBS (Gopal Tiwari) [1946951] - Bluetooth: btusb: Comment on unbalanced pm reference (Gopal Tiwari) [1946951] - Bluetooth: btusb: BTUSB_WAKEUP_DISABLE prevents wake (Gopal Tiwari) [1946951] - Bluetooth: btusb: Reset port on cmd timeout (Gopal Tiwari) [1946951] - Bluetooth: btmtksdio: fix up firmware download sequence (Gopal Tiwari) [1946951] - Bluetooth: btusb: fix up firmware download sequence (Gopal Tiwari) [1946951] - Bluetooth: hci_qca: Disable SoC debug logging for WCN3991 (Gopal Tiwari) [1946951] - Bluetooth: hci_qca: Increase SoC idle timeout to 200ms (Gopal Tiwari) [1946951] - Bluetooth: hci_qca: Request Tx clock vote off only when Tx is pending (Gopal Tiwari) [1946951] - Bluetooth: btmrvl_sdio: Refactor irq wakeup (Gopal Tiwari) [1946951] - Bluetooth: btmrvl_sdio: Implement prevent_wake (Gopal Tiwari) [1946951] - Bluetooth: btmrvl_sdio: Set parent dev to hdev (Gopal Tiwari) [1946951] - Bluetooth: hci_qca: Bug fix during SSR timeout (Gopal Tiwari) [1946951] - Bluetooth: hci_qca: Refactor error handling in qca_suspend() (Gopal Tiwari) [1946951] - Bluetooth: hci_qca: Skip serdev wait when no transfer is pending (Gopal Tiwari) [1946951] - Bluetooth: hci_qca: Only remove TX clock vote after TX is completed (Gopal Tiwari) [1946951] - Bluetooth: hci_qca: Simplify determination of serial clock on/off state from votes (Gopal Tiwari) [1946951] - Bluetooth: hci_qca: Fix an error pointer dereference (Gopal Tiwari) [1946951] - btmrvl: Fix firmware filename for sd8977 chipset (Gopal Tiwari) [1946951] - btmrvl: Fix firmware filename for sd8997 chipset (Gopal Tiwari) [1946951] - Bluetooth: hci_qca: Fix QCA6390 memdump failure (Gopal Tiwari) [1946951] - Bluetooth: btmtkuart: Use serdev_device_write_buf() instead of serdev_device_write() (Gopal Tiwari) [1946951] - Bluetooth: hci_qca: Improve controller ID info log level (Gopal Tiwari) [1946951] - Bluetooth: hci_qca: Fix qca6390 enable failure after warm reboot (Gopal Tiwari) [1946951] - Bluetooth: btmtkuart: Improve exception handling in btmtuart_probe() (Gopal Tiwari) [1946951] - Bluetooth: hci_qca: Fix suspend/resume functionality failure (Gopal Tiwari) [1946951] - Bluetooth: btbcm: Added 003.006.007, changed 001.003.015 (Gopal Tiwari) [1946951] - Bluetooth: hci_qca: Fix uninitialized access to hdev (Gopal Tiwari) [1946951] - Bluetooth: serdev: Constify serdev_device_ops (Gopal Tiwari) [1946951] - Bluetooth: Add hook for driver to prevent wake from suspend (Gopal Tiwari) [1946951] - Bluetooth: btusb: Implement hdev->prevent_wake (Gopal Tiwari) [1946951] - Bluetooth: hci_h5: Add support for binding RTL8723BS with device tree (Gopal Tiwari) [1946951] - Bluetooth: hci_qca: allow max-speed to be set for QCA9377 devices (Gopal Tiwari) [1946951] - Bluetooth: hci_qca: add compatible for QCA9377 (Gopal Tiwari) [1946951] - Bluetooth: btusb: Adding support for LE scatternet to Jfp and ThP (Gopal Tiwari) [1946951] - Bluetooth: Adding driver and quirk defs for multi-role LE (Gopal Tiwari) [1946951] - Bluetooth: btbcm: Add 2 missing models to subver tables (Gopal Tiwari) [1946951] - Bluetooth: btbcm: Move setting of USE_BDADDR_PROPERTY quirk to hci_bcm.c (Gopal Tiwari) [1946951] - Bluetooth: btbcm: Try multiple Patch filenames when loading the Patch firmware (Gopal Tiwari) [1946951] - Bluetooth: btbcm: Bail sooner from btbcm_initialize() when not loading fw (Gopal Tiwari) [1946951] - Bluetooth: btbcm: Drop upper nibble version check from btbcm_initialize() (Gopal Tiwari) [1946951] - Bluetooth: btbcm: Make btbcm_setup_patchram use btbcm_finalize (Gopal Tiwari) [1946951] - Bluetooth: btbcm: Make btbcm_initialize() print local-name on re-init too (Gopal Tiwari) [1946951] - Bluetooth: btbcm: Fold Patch loading + applying into btbcm_initialize() (Gopal Tiwari) [1946951] - Bluetooth: btrtl: Add support for RTL8761B (Gopal Tiwari) [1946951] - Bluetooth: btusb: check for NULL in btusb_find_altsetting() (Gopal Tiwari) [1946951] - Bluetooth: btusb: handle mSBC audio over USB Endpoints (Gopal Tiwari) [1946951] - Bluetooth: add support to notify using SCO air mode (Gopal Tiwari) [1946951] - Bluetooth: hci_bcm: respect IRQ polarity from DT (Gopal Tiwari) [1946951] - Bluetooth: hci_bcm: fix freeing not-requested IRQ (Gopal Tiwari) [1946951] - intel_idle: remove definition of DEBUG (David Arcari) [1926917] - intel_idle: Build fix (David Arcari) [1926917] - cpufreq: ACPI: Set cpuinfo.max_freq directly if max boost is known (Phil Auld) [1937103] - cpufreq: ACPI: Update arch scale-invariance max perf ratio if CPPC is not there (Phil Auld) [1937103] - cpufreq: ACPI: Extend frequency tables to cover boost frequencies (Phil Auld) [1937103] - sched/uclamp: Add CPU's clamp buckets refcounting (Phil Auld) [1937103] - x86: PM: Register syscore_ops for scale invariance (Phil Auld) [1937103] - sched/fair: Reduce cases for active balance (Phil Auld) [1937103] - sched/fair: Don't set LBF_ALL_PINNED unnecessarily (Phil Auld) [1937103] - sched/fair: Skip idle cfs_rq (Phil Auld) [1937103] - tick/sched: Make jiffies update quick check more robust (Phil Auld) [1937103] - sched/fair: Trivial correction of the newidle_balance() comment (Phil Auld) [1937103] - sched/fair: Clear SMT siblings after determining the core is not idle (Phil Auld) [1937103] - sched: Fix kernel-doc markup (Phil Auld) [1937103] - x86: Print ratio freq_max/freq_base used in frequency invariance calculations (Phil Auld) [1937103] - x86, sched: Use midpoint of max_boost and max_P for frequency invariance on AMD EPYC (Phil Auld) [1937103] - x86, sched: Calculate frequency invariance for AMD systems (Phil Auld) [1937103] - sched: Limit the amount of NUMA imbalance that can exist at fork time (Phil Auld) [1937103] - sched/numa: Allow a floating imbalance between NUMA nodes (Phil Auld) [1937103] - sched: Avoid unnecessary calculation of load imbalance at clone time (Phil Auld) [1937103] - sched/numa: Rename nr_running and break out the magic number (Phil Auld) [1937103] - sched/topology: Condition EAS enablement on FIE support (Phil Auld) [1937103] - sched/topology: Don't enable EAS on SMT systems (Phil Auld) [1937103] - sched/topology,schedutil: Wrap sched domains rebuild (Phil Auld) [1937103] - sched/core: Fix typos in comments (Phil Auld) [1937103] - sched: Fix rq->nr_iowait ordering (Phil Auld) [1937103] - sched: Fix data-race in wakeup (Phil Auld) [1937103] - sched/fair: Fix overutilized update in enqueue_task_fair() (Phil Auld) [1937103] - sched/fair: Dissociate wakeup decisions from SD flag value (Phil Auld) [1937103] - sched: Remove select_task_rq()'s sd_flag parameter (Phil Auld) [1937103] - sched: Add WF_TTWU, WF_EXEC wakeup flags (Phil Auld) [1937103] - sched/fair: Remove superfluous lock section in do_sched_cfs_slack_timer() (Phil Auld) [1937103] - sched/fair: Ensure tasks spreading in LLC during LB (Phil Auld) [1937103] - sched/fair: Reorder throttle_cfs_rq() path (Phil Auld) [1937103] - sched/fair: Check for idle core in wake_affine (Phil Auld) [1937103] - sched: Reenable interrupts in do_sched_yield() (Phil Auld) [1937103] - sched/fair: Improve the accuracy of sched_stat_wait statistics (Phil Auld) [1937103] - sched/fair: Tweak pick_next_entity() (Phil Auld) [1937103] - sched/debug: Add new tracepoint to track cpu_capacity (Phil Auld) [1937103] - sched/fair: Remove the force parameter of update_tg_load_avg() (Phil Auld) [1937103] - sched/rt: Disable RT_RUNTIME_SHARE by default (Phil Auld) [1937103] - sched: Cache task_struct::flags in sched_submit_work() (Phil Auld) [1937103] - sched/fair: Simplify the work when reweighting entity (Phil Auld) [1937103] - sched/fair: Fix wrong negative conversion in find_energy_efficient_cpu() (Phil Auld) [1937103] - sched/fair: Ignore cache hotness for SMT migration (Phil Auld) [1937103] - sched: Use __always_inline on is_idle_task() (Phil Auld) [1937103] - treewide: Use fallthrough pseudo-keyword (Phil Auld) [1937103] - sched/debug: Fix the alignment of the show-state debug output (Phil Auld) [1937103] - x86, sched: Bail out of frequency invariance if turbo_freq/base_freq gives 0 (Phil Auld) [1937103] - x86, sched: Bail out of frequency invariance if turbo frequency is unknown (Phil Auld) [1937103] - x86, sched: check for counters overflow in frequency invariant accounting (Phil Auld) [1937103] - exit: Move preemption fixup up, move blocking operations down (Phil Auld) [1937103] - net: bonding: remove repeated word (Jarod Wilson) [1936982] - net: bonding: Correct function name bond_change_active_slave() in comment (Jarod Wilson) [1936982] - bonding: Added -ENODEV interpret for slaves option (Jarod Wilson) [1936982] - bonding: 3ad: Print an error for unknown speeds (Jarod Wilson) [1936982] - bonding: 3ad: add support for 400G speed (Jarod Wilson) [1936982] - bonding: 3ad: add support for 200G speed (Jarod Wilson) [1936982] - net/bonding: Declare TLS RX device offload support (Jarod Wilson) [1936982] - net/bonding: Implement TLS TX device offload (Jarod Wilson) [1936982] - net/bonding: Take update_features call out of XFRM funciton (Jarod Wilson) [1936982] - net/bonding: Implement ndo_sk_get_lower_dev (Jarod Wilson) [1936982] - net/bonding: Take IP hash logic into a helper (Jarod Wilson) [1936982] - net: bonding: Notify ports about their initial state (Jarod Wilson) [1936982] - bonding: wait for sysfs kobject destruction before freeing struct slave (Jarod Wilson) [1936982] - bonding: advertise NETIF_F_GSO_SOFTWARE (Jarod Wilson) [1936982] - net/tls: Except bond interface from some TLS checks (Jarod Wilson) [1936982] - net/tls: Device offload to use lowest netdevice in chain (Jarod Wilson) [1936982] - ethtool: Add common function for filling out strings (Ivan Vecera) [1950987] - selftests: forwarding: vxlan_bridge_1d: Fix vxlan ecn decapsulate value (Hangbin Liu) [1949349] - selftests: forwarding: Fix race condition in mirror installation (Hangbin Liu) [1949349] - selftests: txtimestamp: fix compilation issue (Hangbin Liu) [1949349] - selftests: net: fib_tests: remove duplicate log test (Hangbin Liu) [1949349] - selftests: xfrm: fix test return value override issue in xfrm_policy.sh (Hangbin Liu) [1949349] - selftests: rtnetlink: load fou module for kci_test_encap_fou() test (Hangbin Liu) [1949349] - vxlan: move debug check after netdev unregister (Guillaume Nault) [1949167] - net: ip: always refragment ip defragmented packets (Guillaume Nault) [1949167] - net: fix pmtu check in nopmtudisc mode (Guillaume Nault) [1949167] - net: udp: make udp_tunnel_nic_info structure extensible (Ivan Vecera) [1948450] - macvlan: macvlan_count_rx() needs to be aware of preemption (Antoine Tenart) [1950012] - macvlan: remove redundant null check on data (Antoine Tenart) [1950012] - net: fix dev_ifsioc_locked() race condition (Antoine Tenart) [1950234] - ipv6: weaken the v4mapped source check (Hangbin Liu) [1949499] - ipv6: set multicast flag on the multicast route (Hangbin Liu) [1949499] - ipv6: create multicast route with RTPROT_KERNEL (Hangbin Liu) [1949499] - net: ipv6: Validate GSO SKB before finish IPv6 processing (Hangbin Liu) [1949499] - net: sit: unregister_netdevice on newlink's error path (Hangbin Liu) [1949499] - net: ip6_gre: fix moving ip6gre between namespaces (Hangbin Liu) [1949499] - gso: validate gso_type on ipip style tunnels (Hangbin Liu) [1949499] - net: page_pool: simplify page recycling condition tests (Ivan Vecera) [1935698] - net: use the new dev_page_is_reusable() instead of private versions (Ivan Vecera) [1935698] - net: introduce common dev_page_is_reusable() (Ivan Vecera) [1935698] - skbuff: constify skb_propagate_pfmemalloc() "page" argument (Ivan Vecera) [1935698] - mm: constify page_is_pfmemalloc() argument (Ivan Vecera) [1935698] - genetlink: allow dumping command-specific policy (Ivan Vecera) [1938919] - genetlink: properly support per-op policy dumping (Ivan Vecera) [1938919] - genetlink: factor skb preparation out of ctrl_dumppolicy() (Ivan Vecera) [1938919] - netlink: rework policy dump to support multiple policies (Ivan Vecera) [1938919] - netlink: compare policy more accurately (Ivan Vecera) [1938919] - genetlink: switch control commands to per-op policies (Ivan Vecera) [1938919] - genetlink: use parsed attrs in dumppolicy (Ivan Vecera) [1938919] - taskstats: move specifying netlink policy back to ops (Ivan Vecera) [1938919] - genetlink: bring back per op policy (Ivan Vecera) [1938919] - genetlink: use .start callback for dumppolicy (Ivan Vecera) [1938919] - genetlink: add a structure for dump state (Ivan Vecera) [1938919] - genetlink: move to smaller ops wherever possible (Ivan Vecera) [1938919] - genetlink: add small version of ops (Ivan Vecera) [1938919] - netlink: fix policy dump leak (Ivan Vecera) [1938919] - genetlink: get rid of family->attrbuf (Ivan Vecera) [1938919] - genetlink: clean up family attributes allocations (Ivan Vecera) [1938919] - genetlink: fix memory leaks in genl_family_rcv_msg_dumpit() (Ivan Vecera) [1938919] - net: genetlink: return the error code when attribute parsing fails. (Ivan Vecera) [1938919] - genetlink: do not parse attributes for families with zero maxattr (Ivan Vecera) [1938919] - net: tipc: prepare attrs in __tipc_nl_compat_dumpit() (Ivan Vecera) [1938919] - net: genetlink: always allocate separate attrs for dumpit ops (Ivan Vecera) [1938919] - net: genetlink: remove unused genl_family_attrbuf() (Ivan Vecera) [1938919] - net: tipc: allocate attrs locally instead of using genl_family_attrbuf in compat_dumpit() (Ivan Vecera) [1938919] - net: tipc: have genetlink code to parse the attrs during dumpit (Ivan Vecera) [1938919] - net: nfc: have genetlink code to parse the attrs during dumpit (Ivan Vecera) [1938919] - net: ieee802154: have genetlink code to parse the attrs during dumpit (Ivan Vecera) [1938919] - net: genetlink: parse attrs and store in contect info struct during dumpit (Ivan Vecera) [1938919] - net: genetlink: push attrbuf allocation and parsing to a separate function (Ivan Vecera) [1938919] - net: genetlink: introduce dump info struct to be available during dumpit op (Ivan Vecera) [1938919] - net: genetlink: push doit/dumpit code from genl_family_rcv_msg (Ivan Vecera) [1938919] - devlink: Use controller while building phys_port_name (Petr Oros) [1935615] - devlink: Introduce controller number (Petr Oros) [1935615] - devlink: Introduce external controller flag (Petr Oros) [1935615] - devlink: Move structure comments outside of structure (Petr Oros) [1935615] - devlink: Add comment block for missing port attributes (Petr Oros) [1935615] - net/mlx5: E-switch, Read controller number from device (Petr Oros) [1935615] - devlink: don't crash if netdev is NULL (Petr Oros) [1935615] - vdpa/mlx5: Use write memory barrier after updating CQ index (Jason Wang) [1877270] - vhost_vdpa: return -EFAULT if copy_to_user() fails (Jason Wang) [1877270] - vdpa: mlx5: fix vdpa/vhost dependencies (Jason Wang) [1877270] - vhost-vdpa: fix page pinning leakage in error path (rework) (Jason Wang) [1877270] - vdpasim: fix "mac_pton" undefined error (Jason Wang) [1877270] - vdpasim: allow to assign a MAC address (Jason Wang) [1877270] - vdpasim: fix MAC address configuration (Jason Wang) [1877270] - vdpa: handle irq bypass register failure case (Jason Wang) [1877270] - vdpa_sim: Fix DMA mask (Jason Wang) [1877270] - Revert "vhost-vdpa: fix page pinning leakage in error path" (Jason Wang) [1877270] - vdpa/mlx5: Fix error return in map_direct_mr() (Jason Wang) [1877270] - vhost_vdpa: Return -EFAULT if copy_from_user() fails (Jason Wang) [1877270] - vdpa_sim: implement get_iova_range() (Jason Wang) [1877270] - vhost: vdpa: report iova range (Jason Wang) [1877270] - vdpa: introduce config op to get valid iova range (Jason Wang) [1877270] - vhost_vdpa: remove unnecessary spin_lock in vhost_vring_call (Jason Wang) [1877270] - vdpa/mlx5: Setup driver only if VIRTIO_CONFIG_S_DRIVER_OK (Jason Wang) [1877270] - vhost_vdpa: Fix duplicate included kernel.h (Jason Wang) [1877270] - vdpa/mlx5: Fix failure to bring link up (Jason Wang) [1877270] - vdpa/mlx5: Make use of a specific 16 bit endianness API (Jason Wang) [1877270] - vdpa/mlx5: Fix dependency on MLX5_CORE (Jason Wang) [1877270] - vdpa/mlx5: should keep avail_index despite device status (Jason Wang) [1877270] - vhost-vdpa: fix page pinning leakage in error path (Jason Wang) [1877270] - vhost-vdpa: fix vhost_vdpa_map() on error condition (Jason Wang) [1877270] - vhost vdpa: fix vhost_vdpa_open error handling (Jason Wang) [1877270] - vhost-vdpa: fix backend feature ioctls (Jason Wang) [1877270] - vdpa/mlx5: Avoid warnings about shifts on 32-bit platforms (Jason Wang) [1877270] - vdpa: ifcvf: free config irq in ifcvf_free_irq() (Jason Wang) [1877270] - vdpa: ifcvf: return err when fail to request config irq (Jason Wang) [1877270] - vdpa/mlx5: fix up endian-ness for mtu (Jason Wang) [1877270] - vdpa: Fix pointer math bug in vdpasim_get_config() (Jason Wang) [1877270] - vdpa/mlx5: Fix pointer math in mlx5_vdpa_get_config() (Jason Wang) [1877270] - mlx5: vdpa: fix possible uninitialized var (Jason Wang) [1877270] - vdpa/mlx5: fix memory allocation failure checks (Jason Wang) [1877270] - vdpa/mlx5: Fix uninitialised variable in core/mr.c (Jason Wang) [1877270] - vdpa_sim: init iommu lock (Jason Wang) [1877270] - redhat: enable mlx5e vDPA driver (Jason Wang) [1877270] - vdpa/mlx5: Add VDPA driver for supported mlx5 devices (Jason Wang) [1877270] - vdpa/mlx5: Add shared memory registration code (Jason Wang) [1877270] - vdpa/mlx5: Add support library for mlx5 VDPA implementation (Jason Wang) [1877270] - vdpa/mlx5: Add hardware descriptive header file (Jason Wang) [1877270] - vdpa: Modify get_vq_state() to return error code (Jason Wang) [1877270] - net/vdpa: Use struct for set/get vq state (Jason Wang) [1877270] - vdpa: remove hard coded virtq num (Jason Wang) [1877270] - vdpasim: support batch updating (Jason Wang) [1877270] - vhost-vdpa: support IOTLB batching hints (Jason Wang) [1877270] - vhost-vdpa: support get/set backend features (Jason Wang) [1877270] - vhost: generialize backend features setting/getting (Jason Wang) [1877270] - vhost-vdpa: refine ioctl pre-processing (Jason Wang) [1877270] - vDPA: dont change vq irq after DRIVER_OK (Jason Wang) [1877270] - ifcvf: implement vdpa_config_ops.get_vq_irq() (Jason Wang) [1877270] - vhost_vdpa: implement IRQ offloading in vhost_vdpa (Jason Wang) [1877270] - vDPA: add get_vq_irq() in vdpa_config_ops (Jason Wang) [1877270] - vhost: introduce vhost_vring_call (Jason Wang) [1877270] - vdpasim: protect concurrent access to iommu iotlb (Jason Wang) [1877270] - vhost: vdpa: remove per device feature whitelist (Jason Wang) [1877270] - vdpa_sim: fix endian-ness of config space (Jason Wang) [1877270] - virtio_vdpa: legacy features handling (Jason Wang) [1877270] - vhost/vdpa: switch to new helpers (Jason Wang) [1877270] - vdpa: make sure set_features is invoked for legacy (Jason Wang) [1877270] - vhost_vdpa: Fix potential underflow in vhost_vdpa_mmap() (Jason Wang) [1877270] - vdpa: fix typos in the comments for __vdpa_alloc_device() (Jason Wang) [1877270] - ifcvf: implement config interrupt in IFCVF (Jason Wang) [1877270] - vhost: replace -1 with VHOST_FILE_UNBIND in ioctls (Jason Wang) [1877270] - vhost_vdpa: Support config interrupt in vdpa (Jason Wang) [1877270] - ifcvf: ignore continuous setting same status value (Jason Wang) [1877270] - vdpasim: Fix some coccinelle warnings (Jason Wang) [1877270] - ifcvf: move IRQ request/free to status change handlers (Jason Wang) [1877270] - vhost_vdpa: disable doorbell mapping for !MMU (Jason Wang) [1877270] - vhost_vdpa: support doorbell mapping via mmap (Jason Wang) [1877270] - vdpa: introduce get_vq_notification method (Jason Wang) [1877270] - vhost: use mmgrab() instead of mmget() for non worker device (Jason Wang) [1877270] - vhost: allow device that does not depend on vhost worker (Jason Wang) [1877270] - vhost: revert "vhost: disable for OABI" (Jason Wang) [1877270] - vdpasim: remove unused variable 'ret' (Jason Wang) [1877270] - vhost: remove set but not used variable 'status' (Jason Wang) [1877270] - vhost: vdpa: remove unnecessary null check (Jason Wang) [1877270] - virtio/test: fix up after IOTLB changes (Jason Wang) [1877270] - vhost/test: fix build for vhost test (Jason Wang) [1877270] - tools/virtio: option to build an out of tree module (Jason Wang) [1877270] - vhost/test: fix build for vhost test (Jason Wang) [1877270] - vhost: fix VHOST_GET_BACKEND_FEATURES ioctl request definition (Jason Wang) [1877270] - perf/x86/intel/uncore: Remove uncore extra PCI dev HSWEP_PCI_PCU_3 (Michael Petlan) [1950388]- redhat/configs/editconfig: Add support for a bugzilla entry (David Arcari) - tools/power turbostat: Revert "[tools] tools/power turbostat: Enable accumulate RAPL display" (Prarit Bhargava) [1944699] - mwifiex: Fix possible buffer overflows in mwifiex_cmd_802_11_ad_hoc_start (Jarod Wilson) [1914996] {CVE-2020-36158} - net/mlx5e: Allow to match on MPLS parameters only for MPLS over UDP (Alaa Hleihel) [1932839 1936742] - net/mlx5e: Reject tc rules which redirect from a VF to itself (Alaa Hleihel) [1932839] - net/mlx5: CT: Add support for matching on ct_state inv and rel flags (Alaa Hleihel) [1932839 1942681] - net: openvswitch: add log message for error case (Eelco Chaudron) [1937697] - net: openvswitch: conntrack: simplify the return expression of ovs_ct_limit_get_default_limit() (Eelco Chaudron) [1937697] - net: openvswitch: Be liberal in tcp conntrack. (Eelco Chaudron) [1937697] - netfilter: conntrack: tcp: only close if RST matches exact sequence (Eelco Chaudron) [1937697] - openvswitch: Use IS_ERR instead of IS_ERR_OR_NULL (Eelco Chaudron) [1937697] - net: openvswitch: Fix kerneldoc warnings (Eelco Chaudron) [1937697] - net: openvswitch: remove unnecessary ASSERT_OVSL in ovs_vport_del() (Eelco Chaudron) [1937697] - cifs: revalidate mapping when we open files for SMB1 POSIX (Ronnie Sahlberg) [1933527] - Revert "vfs: Allow userns root to call mknod on owned filesystems." (Alexey Gladkov) [1902543] - mfd: intel-lpss: Add Intel Alder Lake PCH-S PCI IDs (David Arcari) [1840244] - nvme: retrigger ANA log update if group descriptor isn't found (Gopal Tiwari) [1910493] - locking/qrwlock: Fix ordering in queued_write_lock_slowpath() (Waiman Long) [1950110] - PCI: switchtec: Add missing __iomem tag to fix sparse warnings (Myron Stowe) [1946645] - PCI: switchtec: Add missing __iomem and __user tags to fix sparse warnings (Myron Stowe) [1946645] - PCI: Release IVRS table in AMD ACS quirk (Myron Stowe) [1946645] - PCI/MSI: Forward MSI-X error code in pci_alloc_irq_vectors_affinity() (Myron Stowe) [1946645] - PCI: Remove unused pci_lost_interrupt() (Myron Stowe) [1946645] - PCI: Move PCI_VENDOR_ID_REDHAT definition to pci_ids.h (Myron Stowe) [1946645] - PCI: Fix error in panic message (Myron Stowe) [1946645] - PCI: Replace lkml.org, spinics, gmane with lore.kernel.org (Myron Stowe) [1946645] - PCI: Replace http:// links with https:// (Myron Stowe) [1946645] - PCI: exynos: Rename Exynos to lowercase (Myron Stowe) [1946645] - PCI: Align PCIe capability and PCI accessor return values (Myron Stowe) [1946645] - PCI: Convert PCIe capability PCIBIOS errors to errno (Myron Stowe) [1946645] - PCI: rpadlpar: Make functions static (Myron Stowe) [1946645] - PCI: Fix pci_slot_release() NULL pointer dereference (Myron Stowe) [1946645] - PCI: Fix pci_create_slot() reference count leak (Myron Stowe) [1946645] - PCI: Announce device after early fixups (Myron Stowe) [1946645] - PCI: Always enable ACS even if no ACS Capability (Myron Stowe) [1946645] - PCI: Cache ACS capability offset in device (Myron Stowe) [1946645] - PCI: Reorder pci_enable_acs() and dependencies (Myron Stowe) [1946645] - PCI: Add device even if driver attach failed (Myron Stowe) [1946645] - PCI: Fix pci_cfg_wait queue locking problem (Myron Stowe) [1946645] - PCI/ASPM: Add missing newline in sysfs 'policy' (Myron Stowe) [1946645]- gfs2: report "already frozen/thawed" errors (Bob Peterson) [1932236] - gfs2: move freeze glock outside the make_fs_rw and _ro functions (Bob Peterson) [1932236] - gfs2: Add common helper for holding and releasing the freeze glock (Bob Peterson) [1932236] - gfs2: in signal_our_withdraw wait for unfreeze of _this_ fs only (Bob Peterson) [1932236] - gfs2: Don't freeze the file system during unmount (Bob Peterson) [1932236] - gfs2: Fix regression in freeze_go_sync (Bob Peterson) [1932236] - gfs2: The freeze glock should never be frozen (Bob Peterson) [1932236] - gfs2: When freezing gfs2, use GL_EXACT and not GL_NOCACHE (Bob Peterson) [1932236] - gfs2: Abort gfs2_freeze if io error is seen (Bob Peterson) [1932236] - gfs2: read-only mounts should grab the sd_freeze_gl glock (Bob Peterson) [1932236] - gfs2: freeze should work on read-only mounts (Bob Peterson) [1932236] - bpf: Mark LSM link with rh_mark_used_feature call (Jiri Olsa) [1901039] - Revert "[tools] bpf: selftests: remove test_progs LSM test" (Ondrej Mosnacek) [1901039] - configs: enable BPF LSM (Ondrej Mosnacek) [1901039] - security: Fix hook iteration and default value for inode_copy_up_xattr (Ondrej Mosnacek) [1901039] - security: Fix hook iteration for secid_to_secctx (Ondrej Mosnacek) [1901039] - security: Fix the default value of secid_to_secctx hook (Ondrej Mosnacek) [1901039] - security: Fix the default value of fs_context_parse_param hook (Ondrej Mosnacek) [1901039] - bpf: lsm: Initialize the BPF LSM hooks (Ondrej Mosnacek) [1901039] - security: Refactor declaration of LSM hooks (Ondrej Mosnacek) [1901039] - LSM: fix documentation for the shm_* hooks (Ondrej Mosnacek) [1901039] - LSM: fix documentation for the sem_* hooks (Ondrej Mosnacek) [1901039] - LSM: fix documentation for the msg_queue_* hooks (Ondrej Mosnacek) [1901039] - LSM: Revive CONFIG_DEFAULT_SECURITY_* for "make oldconfig" (Ondrej Mosnacek) [1901039] - LSM: Ignore "security=" when "lsm=" is specified (Ondrej Mosnacek) [1901039] - LSM: Update function documentation for cap_capable (Ondrej Mosnacek) [1901039] - procfs: add smack subdir to attrs (Ondrej Mosnacek) [1901039] - capability: Initialize as LSM_ORDER_FIRST (Ondrej Mosnacek) [1901039] - LSM: Introduce enum lsm_order (Ondrej Mosnacek) [1901039] - Yama: Initialize as ordered LSM (Ondrej Mosnacek) [1901039] - LoadPin: Initialize as ordered LSM (Ondrej Mosnacek) [1901039] - LSM: Split LSM preparation from initialization (Ondrej Mosnacek) [1901039] - LSM: Add all exclusive LSMs to ordered initialization (Ondrej Mosnacek) [1901039] - LSM: Separate idea of "major" LSM from "exclusive" LSM (Ondrej Mosnacek) [1901039] - LSM: Refactor "security=" in terms of enable/disable (Ondrej Mosnacek) [1901039] - LSM: Prepare for reorganizing "security=" logic (Ondrej Mosnacek) [1901039] - LSM: Tie enabling logic to presence in ordered list (Ondrej Mosnacek) [1901039] - LSM: Introduce "lsm=" for boottime LSM selection (Ondrej Mosnacek) [1901039] - LSM: Introduce CONFIG_LSM (Ondrej Mosnacek) [1901039] - LSM: Build ordered list of LSMs to initialize (Ondrej Mosnacek) [1901039] - LSM: Lift LSM selection out of individual LSMs (Ondrej Mosnacek) [1901039] - LSM: Plumb visibility into optional "enabled" state (Ondrej Mosnacek) [1901039] - LSM: Provide separate ordered initialization (Ondrej Mosnacek) [1901039] - LSM: Introduce LSM_FLAG_LEGACY_MAJOR (Ondrej Mosnacek) [1901039] - LSM: Don't ignore initialization failures (Ondrej Mosnacek) [1901039] - LSM: Provide init debugging infrastructure (Ondrej Mosnacek) [1901039] - LSM: Record LSM name in struct lsm_info (Ondrej Mosnacek) [1901039] - LSM: Convert security_initcall() into DEFINE_LSM() (Ondrej Mosnacek) [1901039] - vmlinux.lds.h: Move LSM_TABLE into INIT_DATA (Ondrej Mosnacek) [1901039] - LSM: Convert from initcall to struct lsm_info (Ondrej Mosnacek) [1901039] - LSM: Remove initcall tracing (Ondrej Mosnacek) [1901039] - LSM: Rename .security_initcall section to .lsm_info (Ondrej Mosnacek) [1901039] - vmlinux.lds.h: Avoid copy/paste of security_init section (Ondrej Mosnacek) [1901039] - LSM: Correctly announce start of LSM initialization (Ondrej Mosnacek) [1901039] - proc: save 2 atomic ops on write to "/proc/*/attr/*" (Ondrej Mosnacek) [1901039] - ALSA: usb-audio: fix NULL ptr dereference in usb_audio_probe (Jaroslav Kysela) [1870724] - ALSA: usb-audio: fix use after free in usb_audio_disconnect (Jaroslav Kysela) [1870724] - ALSA: usb-audio: Disable USB autosuspend properly in setup_disable_autosuspend() (Jaroslav Kysela) [1870724] - Bluetooth: btusb: Fix the autosuspend enable and disable (Gopal Tiwari) [1927375] - flow_dissector: fix TTL and TOS dissection on IPv4 fragments (Davide Caratti) [1882607] - net: avoid infinite loop in mpls_gso_segment when mpls_hlen == 0 (Balazs Nemeth) [1922898] - net: check if protocol extracted by virtio_net_hdr_set_proto is correct (Balazs Nemeth) [1922898] - redhat/configs: Add CONFIG_PINCTRL_ALDERLAKE (David Arcari) [1840250] - pinctrl: intel: Add Intel Alder Lake-S pin controller support (David Arcari) [1840250] - cpufreq: intel_pstate: Remove repeated word (Puneet Sethi) [1926919] - cpufreq: intel_pstate: Get per-CPU max freq via MSR_HWP_CAPABILITIES if available (Puneet Sethi) [1926919] - cpufreq: intel_pstate: Rename two functions (Puneet Sethi) [1926919] - cpufreq: intel_pstate: Change intel_pstate_get_hwp_max() argument (Puneet Sethi) [1926919] - cpufreq: intel_pstate: Always read hwp_cap_cached with READ_ONCE() (Puneet Sethi) [1926919] - cpufreq: intel_pstate: remove obsolete functions (Puneet Sethi) [1926919] - cpufreq: intel_pstate: Use HWP capabilities in intel_cpufreq_adjust_perf() (Puneet Sethi) [1926919] - cpufreq: intel_pstate: Fix fast-switch fallback path (Puneet Sethi) [1926919] - cpufreq: intel_pstate: Use most recent guaranteed performance values (Puneet Sethi) [1926919] - cpufreq: intel_pstate: Implement the ->adjust_perf() callback (Puneet Sethi) [1926919] - cpufreq: Add special-purpose fast-switching callback for drivers (Puneet Sethi) [1926919] - cpufreq: schedutil: Add util to struct sg_cpu (Puneet Sethi) [1926919] - cpufreq: intel_pstate: Simplify intel_cpufreq_update_pstate() (Puneet Sethi) [1926919] - cpufreq: intel_pstate: Take CPUFREQ_GOV_STRICT_TARGET into account (Puneet Sethi) [1926919] - cpufreq: Add strict_target to struct cpufreq_policy (Puneet Sethi) [1926919] - cpufreq: Introduce CPUFREQ_GOV_STRICT_TARGET (Puneet Sethi) [1926919] - cpufreq: Introduce governor flags (Puneet Sethi) [1926919] - cpufreq: schedutil: Don't skip freq update if need_freq_update is set (Puneet Sethi) [1926919] - cpufreq: schedutil: Always call driver if CPUFREQ_NEED_UPDATE_LIMITS is set (Puneet Sethi) [1926919] - cpufreq: Introduce cpufreq_driver_test_flags() (Puneet Sethi) [1926919] - cpufreq: intel_pstate: Avoid missing HWP max updates in passive mode (Puneet Sethi) [1926919] - cpufreq: schedutil: restore cached freq when next_f is not changed (Puneet Sethi) [1926919] - cpufreq: intel_pstate: Delete intel_pstate sysfs if failed to register the driver (Puneet Sethi) [1926919] - cpufreq: intel_pstate: Fix missing return statement (Puneet Sethi) [1926919] - cpufreq: Introduce CPUFREQ_NEED_UPDATE_LIMITS driver flag (Puneet Sethi) [1926919] - ACPI: processor: Fix build when CONFIG_ACPI_PROCESSOR=m (Vitaly Kuznetsov) [1929266] - ACPI: processor: Fix CPU0 wakeup in acpi_idle_play_dead() (Vitaly Kuznetsov) [1929266] - x86/ioapic: Ignore IRQ2 again (Vitaly Kuznetsov) [1929266]- selinux: fix deadlock in security_set_bools() (Ondrej Mosnacek) [1924230] - sctp: move sk_route_caps check and set into sctp_outq_flush_transports (Xin Long) [1946733] - sctp: bring inet(6)_skb_parm back to sctp_input_cb (Xin Long) [1946733] - sctp: enable udp tunneling socks (Xin Long) [1946733] - sctp: handle the init chunk matching an existing asoc (Xin Long) [1946733] - sctp: add the error cause for new encapsulation port restart (Xin Long) [1946733] - sctp: support for sending packet over udp6 sock (Xin Long) [1946733] - sctp: support for sending packet over udp4 sock (Xin Long) [1946733] - sctp: call sk_setup_caps in sctp_packet_transmit instead (Xin Long) [1946733] - sctp: add udphdr to overhead when udp_port is set (Xin Long) [1946733] - sctp: allow changing transport encap_port by peer packets (Xin Long) [1946733] - sctp: add SCTP_REMOTE_UDP_ENCAPS_PORT sockopt (Xin Long) [1946733] - sctp: add encap_port for netns sock asoc and transport (Xin Long) [1946733] - sctp: add encap_err_lookup for udp encap socks (Xin Long) [1946733] - sctp: create udp6 sock and set its encap_rcv (Xin Long) [1946733] - sctp: create udp4 sock and add its encap_rcv (Xin Long) [1946733] - udp: support sctp over udp in skb_udp_tunnel_segment (Xin Long) [1946733] - udp6: move the mss check after udp gso tunnel processing (Xin Long) [1946733] - udp: check udp sock encap_type in __udp_lib_err (Xin Long) [1946733] - sctp: copy the optval from user space in sctp_setsockopt (Xin Long) [1946733] - net: Convert protocol error handlers from void to int (Xin Long) [1946733] - Enable CONFIG_ENERGY_MODEL (Phil Auld) [1938339] - proc/sysctl: add shared variables for range check (Phil Auld) [1938339] - Enable CONFIG_CPU_FREQ_GOV_SCHEDUTIL for all architectures (Phil Auld) [1938339] - PM / hibernate: cast PAGE_SIZE to int when comparing with error code (Chris von Recklinghausen) [1934033] - mm: revert fix false-positive OVERCOMMIT_GUESS failures (Rafael Aquini) [1913045 1908668] - redhat/config: Enable CONFIG_PAGE_POISONING (Waiman Long) [1942149] - mm, page_poison: remove CONFIG_PAGE_POISONING_ZERO (Waiman Long) [1942149] - mm, page_poison: remove CONFIG_PAGE_POISONING_NO_SANITY (Waiman Long) [1942149] - kernel/power: allow hibernation with page_poison sanity checking (Waiman Long) [1942149] - mm, page_poison: use static key more efficiently (Waiman Long) [1942149] - mm, page_alloc: do not rely on the order of page_poison and init_on_alloc/free parameters (Waiman Long) [1942149] - mm/page_alloc: clear all pages in post_alloc_hook() with init_on_alloc=1 (Waiman Long) [1942149] - arch, mm: make kernel_page_present() always available (Waiman Long) [1942149] - arch, mm: restore dependency of __kernel_map_pages() on DEBUG_PAGEALLOC (Waiman Long) [1942149] - PM: hibernate: make direct map manipulations more explicit (Waiman Long) [1942149] - mm: introduce debug_pagealloc_{map,unmap}_pages() helpers (Waiman Long) [1942149] - mm: rename page_order() to buddy_order() (Waiman Long) [1942149] - mm/page_alloc: place pages to tail in __free_pages_core() (Waiman Long) [1942149] - mm/page_alloc: move pages to tail in move_to_free_list() (Waiman Long) [1942149] - mm/page_alloc: place pages to tail in __putback_isolated_page() (Waiman Long) [1942149] - mm/page_alloc: convert "report" flag of __free_one_page() to a proper flag (Waiman Long) [1942149] - mm/page_alloc: drop stale pageblock comment in memmap_init_zone*() (Waiman Long) [1942149] - mm/memory_hotplug: simplify page onlining (Waiman Long) [1942149] - mm/page_isolation: simplify return value of start_isolate_page_range() (Waiman Long) [1942149] - mm/memory_hotplug: drop nr_isolate_pageblock in offline_pages() (Waiman Long) [1942149] - mm/page_alloc: simplify __offline_isolated_pages() (Waiman Long) [1942149] - mm/memory_hotplug: simplify page offlining (Waiman Long) [1942149] - mm/memory_hotplug: enforce section granularity when onlining/offlining (Waiman Long) [1942149] - mm/memory_hotplug: inline __offline_pages() into offline_pages() (Waiman Long) [1942149] - mm/page_poison.c: replace bool variable with static key (Waiman Long) [1942149] - mm/page_alloc.c: fix early params garbage value accesses (Waiman Long) [1942149] - mm/memory_hotplug: document why shuffle_zone() is relevant (Waiman Long) [1942149] - mm: replace '---help---' in Kconfig files with 'help' (Waiman Long) [1942149] - mm/memory_hotplug: fix a typo in comment "recoreded"->"recorded" (Waiman Long) [1942149] - mm: Allow to offline unmovable PageOffline() pages via MEM_GOING_OFFLINE (Waiman Long) [1942149] - x86/mm/cpa: Flush direct map alias during cpa (Waiman Long) [1942149] - mm/page_alloc: simplify page_is_buddy() for better code readability (Waiman Long) [1942149] - mm/memory.c: add apply_to_existing_page_range() helper (Waiman Long) [1942149] - x86/mm/pat: Move the memtype related files to arch/x86/mm/pat/ (Waiman Long) [1942149] - x86/mm/pat: Rename pat_rbtree.c to pat_interval.c (Waiman Long) [1942149] - mm/memory_hotplug: online_pages cannot be 0 in online_pages() (Waiman Long) [1942149] - mm/memory_hotplug: make sure the pfn is aligned to the order when onlining (Waiman Long) [1942149] - mm/memory_hotplug: simplify online_pages_range() (Waiman Long) [1942149] - mm/memory_hotplug: drop PageReserved() check in online_pages_range() (Waiman Long) [1942149] - mm/memory_hotplug.c: use PFN_UP / PFN_DOWN in walk_system_ram_range() (Waiman Long) [1942149] - mm/page_poison.c: fix a typo in a comment (Waiman Long) [1942149] - mm/slab: Remove store_stackinfo() (Waiman Long) [1942149] - mm/resource: Let walk_system_ram_range() search child resources (Waiman Long) [1942149] - mm/page_alloc.c: use a single function to free page (Waiman Long) [1942149] - mm/page_alloc.c: free order-0 pages through PCP in page_frag_free() (Waiman Long) [1942149] - x86/mm/cpa: Fix set_mce_nospec() (Waiman Long) [1942149] - x86/mm/cpa: Rename @addrinarray to @numpages (Waiman Long) [1942149] - x86/mm/cpa: Better use CLFLUSHOPT (Waiman Long) [1942149] - x86/mm/cpa: Fold cpa_flush_range() and cpa_flush_array() into a single cpa_flush() function (Waiman Long) [1942149] - x86/mm/cpa: Make cpa_data::numpages invariant (Waiman Long) [1942149] - x86/mm/cpa: Optimize cpa_flush_array() TLB invalidation (Waiman Long) [1942149] - x86/mm/cpa: Simplify the code after making cpa->vaddr invariant (Waiman Long) [1942149] - x86/mm/cpa: Make cpa_data::vaddr invariant (Waiman Long) [1942149] - x86/mm/cpa: Add __cpa_addr() helper (Waiman Long) [1942149] - x86/mm/cpa: Add ARRAY and PAGES_ARRAY selftests (Waiman Long) [1942149] - resource/docs: Complete kernel-doc style function documentation (Waiman Long) [1942149] - resource/docs: Fix new kernel-doc warnings (Waiman Long) [1942149] - resource: Clean it up a bit (Waiman Long) [1942149] - mm: clarify CONFIG_PAGE_POISONING and usage (Waiman Long) [1942149] - selftests: kvm: Raise the default timeout to 120 seconds (Emanuele Giuseppe Esposito) [1894828] - KVM: Raise the maximum number of user memslots (Emanuele Giuseppe Esposito) [1894828] - block: recalculate segment count for multi-segment discards correctly (Ming Lei) [1922370] - i40e: Fix VFs not created (Stefan Assmann) [1875338] - vfs: fix page locking deadlocks when deduping files (Gao Xiang) [1916242]- tg3: improve PCI VPD access (Jonathan Toppins) [1921456] - scsi: target: pscsi: Clean up after failure in pscsi_map_sg() (Maurizio Lombardi) [1939458] - scsi: target: pscsi: Avoid OOM in pscsi_map_sg() (Maurizio Lombardi) [1939458] - scsi: target: tcmu: Fix memory leak caused by wrong uio usage (Maurizio Lombardi) [1939458] - scsi: target: tcmu: Move some functions without code change (Maurizio Lombardi) [1939458] - scsi: target: core: Prevent underflow for service actions (Maurizio Lombardi) [1939458] - scsi: target: core: Add cmd length set before cmd complete (Maurizio Lombardi) [1939458] - scsi: target: sbp: Remove unneeded semicolon (Maurizio Lombardi) [1939458] - scsi: target: core: Change ASCQ for residual write (Maurizio Lombardi) [1939458] - scsi: target: core: Signal WRITE residuals (Maurizio Lombardi) [1939458] - scsi: target: core: Set residuals for 4Kn devices (Maurizio Lombardi) [1939458] - scsi: target: core: Remove in_interrupt() check in transport_handle_cdb_direct() (Maurizio Lombardi) [1939458] - scsi: target: core: Replace in_interrupt() usage in target_submit_cmd_map_sgls() (Maurizio Lombardi) [1939458] - scsi: target: alua: Remove in_interrupt() usage in core_alua_check_nonop_delay() (Maurizio Lombardi) [1939458] - scsi: target: iscsi: Redo iscsit_check_session_usage_count() return code (Maurizio Lombardi) [1939458] - scsi: target: iscsi: Avoid in_interrupt() usage in iscsit_check_session_usage_count() (Maurizio Lombardi) [1939458] - scsi: target: iscsi: Avoid in_interrupt() usage in iscsit_close_session() (Maurizio Lombardi) [1939458] - scsi: target: iscsi: Fix typo in comment (Maurizio Lombardi) [1939458] - scsi: target: tcmu: Fix use-after-free of se_cmd->priv (Maurizio Lombardi) [1939458] - scsi: target: core: Fix fall-through warnings for Clang (Maurizio Lombardi) [1939458] - scsi: tcm_loop: Allow queues, can_queue and cmd_per_lun to be settable (Maurizio Lombardi) [1939458] - scsi: target: Make state_list per CPU (Maurizio Lombardi) [1939458] - scsi: target: Drop sess_cmd_lock from I/O path (Maurizio Lombardi) [1939458] - scsi: target: Remove TARGET_SCF_LOOKUP_LUN_FROM_TAG (Maurizio Lombardi) [1939458] - scsi: target: Fix cmd_count ref leak (Maurizio Lombardi) [1939458] - scsi: target: Fix LUN ref count handling (Maurizio Lombardi) [1939458] - scsi: target: Return COMPARE AND WRITE miscompare offsets (Maurizio Lombardi) [1939458] - scsi: target: Split out COMPARE AND WRITE memcmp into helper (Maurizio Lombardi) [1939458] - scsi: target: Rename cmd.bad_sector to cmd.sense_info (Maurizio Lombardi) [1939458] - scsi: target: Rename struct sense_info to sense_detail (Maurizio Lombardi) [1939458] - scsi: target: tcmu: scatter_/gather_data_area() rework (Maurizio Lombardi) [1939458] - scsi: target: tcmu: Replace zero-length array with flexible-array member (Maurizio Lombardi) [1939458] - scsi: target: rd: Drop double zeroing (Maurizio Lombardi) [1939458] - scsi: target: tcmu: Fix warning: 'page' may be used uninitialized (Maurizio Lombardi) [1939458] - scsi: target: tcmu: Optimize scatter_data_area() (Maurizio Lombardi) [1939458] - scsi: target: tcmu: Optimize queue_cmd_ring() (Maurizio Lombardi) [1939458] - scsi: target: tcmu: Join tcmu_cmd_get_data_length() and tcmu_cmd_get_block_cnt() (Maurizio Lombardi) [1939458] - scsi: target: tcmu: Add missing newline when printing parameters (Maurizio Lombardi) [1939458] - scsi: target: Remove redundant assignment to variable 'ret' (Maurizio Lombardi) [1939458] - x86/resctrl: Fix AMD L3 QOS CDP enable/disable (Wei Huang) [1868984] - i2c: i801: Add support for Intel Alder Lake PCH-S (David Arcari) [1840242] - esp: delete NETIF_F_SCTP_CRC bit from features for esp offload (Xin Long) [1815560] - net/sched: act_ct: clear post_ct if doing ct_clear (Marcelo Ricardo Leitner) [1941889] - net: Change dev parameter to const in netif_device_present() (Josef Oskera) [1941728] - [x86] x86/mce: Increase maximum number of banks to 64 (Terry Bowman) [1931679]- scsi: megaraid_sas: Fix a bunch of misnamed functions in their headers (Tomas Henzl) [1924687] - scsi: megaraid_sas: Replace sdev_busy with local counter (Tomas Henzl) [1924687] - scsi: megaraid: Fix ifnullfree.cocci warnings (Tomas Henzl) [1924687] - scsi: megaraid_sas: Fix MEGASAS_IOC_FIRMWARE regression (Tomas Henzl) [1924687] - Revert "Revert "scsi: megaraid_sas: Added support for shared host tagset for cpuhotplug"" (Tomas Henzl) [1924687] - Revert "scsi: megaraid_sas: Added support for shared host tagset for cpuhotplug" (Tomas Henzl) [1924687] - scsi: megaraid_sas: Update function description (Tomas Henzl) [1924687] - scsi: megaraid_sas: Use generic power management (Tomas Henzl) [1924687] - megaraid_sas(treewide): Use fallthrough pseudo-keyword (Tomas Henzl) [1924687] - scsi: megaraid_sas: Drop PCI wakeup calls from .resume (Tomas Henzl) [1924687] - scsi: megaraid_sas: Check user-provided offsets (Tomas Henzl) [1924687] - scsi: mpt3sas: Update driver version to 37.101.00.00 (Tomas Henzl) [1922058] - scsi: mpt3sas: Force reply post array allocations to be within same 4 GB region (Tomas Henzl) [1922058] - scsi: mpt3sas: Force reply post buffer allocations to be within same 4 GB region (Tomas Henzl) [1922058] - scsi: mpt3sas: Force reply buffer allocations to be within same 4 GB region (Tomas Henzl) [1922058] - scsi: mpt3sas: Force sense buffer allocations to be within same 4 GB region (Tomas Henzl) [1922058] - scsi: mpt3sas: Force chain buffer allocations to be within same 4 GB region (Tomas Henzl) [1922058] - scsi: mpt3sas: Force PCIe scatterlist allocations to be within same 4 GB region (Tomas Henzl) [1922058] - scsi: mpt3sas: Replace unnecessary dynamic allocation with a static one (Tomas Henzl) [1922058] - scsi: mpt3sas: Fix some kernel-doc misnaming issues (Tomas Henzl) [1922058] - scsi: mpt3sas: Fix a couple of misdocumented functions/params (Tomas Henzl) [1922058] - scsi: mpt3sas: Fix a bunch of potential naming doc-rot (Tomas Henzl) [1922058] - scsi: mpt3sas: Move a little data from the stack onto the heap (Tomas Henzl) [1922058] - scsi: mpt3sas: Fix misspelling of _base_put_smid_default_atomic() (Tomas Henzl) [1922058] - scsi: mpt3sas: Update driver version to 37.100.00.00 (Tomas Henzl) [1922058] - scsi: mpt3sas: Additional diagnostic buffer query interface (Tomas Henzl) [1922058] - scsi: mpt3sas: Add support for shared host tagset for CPU hotplug (Tomas Henzl) [1922058] - scsi: mpt3sas: Fix ReplyPostFree pool allocation (Tomas Henzl) [1922058] - scsi: mpt3sas: Simplify bool comparison (Tomas Henzl) [1922058] - scsi: mpt3sas: Signedness bug in _base_get_diag_triggers() (Tomas Henzl) [1922058] - scsi: mpt3sas: Update driver version to 36.100.00.00 (Tomas Henzl) [1922058] - scsi: mpt3sas: Handle trigger page after firmware update (Tomas Henzl) [1922058] - scsi: mpt3sas: Add persistent MPI trigger page (Tomas Henzl) [1922058] - scsi: mpt3sas: Add persistent SCSI sense trigger page (Tomas Henzl) [1922058] - scsi: mpt3sas: Add persistent Event trigger page (Tomas Henzl) [1922058] - scsi: mpt3sas: Add persistent Master trigger page (Tomas Henzl) [1922058] - scsi: mpt3sas: Add persistent trigger pages support (Tomas Henzl) [1922058] - scsi: mpt3sas: Sync time periodically between driver and firmware (Tomas Henzl) [1922058] - scsi: mpt3sas: Increase IOCInit request timeout to 30s (Tomas Henzl) [1922058] - scsi: mpt3sas: Fix ioctl timeout (Tomas Henzl) [1922058] - scsi: mpt3sas: Remove in_interrupt() (Tomas Henzl) [1922058] - scsi: mpt3sas_scsih: Use generic power management (Tomas Henzl) [1922058] - scsi: mpt3sas_scsih: Drop PCI Wakeup calls from .resume (Tomas Henzl) [1922058] - scsi: mpt3sas: mpt3sas_scsih: Fix function documentation formatting (Tomas Henzl) [1922058] - mpt3sas: Use fallthrough pseudo-keyword (Tomas Henzl) [1922058] - net: add inline function skb_csum_is_sctp (Josef Oskera) [1939341] - psample: Fix user API breakage (Ivan Vecera) [1939499] - net: psample: Fix netlink skb length with tunnel info (Ivan Vecera) [1939499] - net: psample: Add tunnel support (Ivan Vecera) [1939499] - net: core: introduce struct netdev_nested_priv for nested interface infrastructure (Ivan Vecera) [1939402] - net: add function dev_fetch_sw_netstats for fetching pcpu_sw_netstats (Josef Oskera) [1935717] - net: core: add devm_netdev_alloc_pcpu_stats (Josef Oskera) [1935717] - net: core: add dev_sw_netstats_tx_add (Josef Oskera) [1935717] - net: netdevice.h: sw_netstats_rx_add helper (Josef Oskera) [1935717] - net: netdevice: Add operation ndo_sk_get_lower_dev (Josef Oskera) [1935709] - genirq: Provide irq_get_effective_affinity() (Josef Oskera) [1935670]- locking/locktorture: Fix incorrect use of ww_acquire_ctx in ww_mutex test (Waiman Long) [1871851] - locking/locktorture: Pass thread id to lock/unlock functions (Waiman Long) [1871851] - locking/ww_mutex: Remove DEFINE_WW_MUTEX() macro (Waiman Long) [1871851] - locking/locktorture: Fix false positive circular locking splat in ww_mutex test (Waiman Long) [1871851] - locking/ww_mutex: Fix acquire/release imbalance in ww_acquire_init()/ww_acquire_fini() (Waiman Long) [1871851] - locking/ww_mutex: Simplify use_ww_ctx & ww_ctx handling (Waiman Long) [1871851] - locking: Remove duplicate include of percpu-rwsem.h (Waiman Long) [1871851] - locktorture: Invoke percpu_free_rwsem() to do percpu-rwsem cleanup (Waiman Long) [1871851] - locktorture: Prevent hangs for invalid arguments (Waiman Long) [1871851] - locktorture: Ignore nreaders_stress if no readlock support (Waiman Long) [1871851] - locktorture: Track time of last ->writeunlock() (Waiman Long) [1871851] - locktorture: Make function torture_percpu_rwsem_init() static (Waiman Long) [1871851] - sched,locktorture: Convert to sched_set_fifo() (Waiman Long) [1871851] - locktorture: Use true and false to assign to bool variables (Waiman Long) [1871851] - locktorture: Print ratio of acquisitions, not failures (Waiman Long) [1871851] - locktorture: NULL cxt.lwsa and cxt.lrsa to allow bad-arg detection (Waiman Long) [1871851] - locking/locktorture: Convert to SPDX license identifier (Waiman Long) [1871851] - tty: Fix ->session locking (Chris von Recklinghausen) [1908059] {CVE-2020-29660} - net: skbext: fix secpath use-after-free with ip fragmentation (Sabrina Dubroca) [1901454]- nfs: we don't support removing system.nfs4_acl (Scott Mayhew) [1944659] - redhat/configs: Disable CONFIG_INFINIBAND_HNS* (Kamal Heib) [1941259] - mm: Revert "remove the account_page_dirtied export" (Waiman Long) [1941257] - Revert "[netdrv] net/broadcom: Clean broadcom code from driver versions" (Jonathan Toppins) [1940842]- geneve: do not modify the shared tunnel info when PMTU triggers an ICMP reply (Antoine Tenart) [1941753] - vxlan: do not modify the shared tunnel info when PMTU triggers an ICMP reply (Antoine Tenart) [1941753] - net: Add netif_rx_any_context() (Josef Oskera) [1939466] - bitfield.h: add FIELD_MAX() and field_max() (Ivan Vecera) [1939478] - md/raid5: cast chunk_sectors to sector_t value (Nigel Croxon) [1921468] - md: Set prev_flush_start and flush_bio in an atomic way (Nigel Croxon) [1921468] - md/cluster: fix deadlock when node is doing resync job (Nigel Croxon) [1921468] - md/cluster: block reshape with remote resync job (Nigel Croxon) [1921468] - md: use current request time as base for ktime comparisons (Nigel Croxon) [1921468] - md: add comments in md_flush_request() (Nigel Croxon) [1921468] - md: improve variable names in md_flush_request() (Nigel Croxon) [1921468] - md/raid10: initialize r10_bio->read_slot before use. (Nigel Croxon) [1921468] - md: fix a warning caused by a race between concurrent md_ioctl()s (Nigel Croxon) [1921468] - Revert "md: improve variable names in md_flush_request()" (Nigel Croxon) [1921468] - Revert "md: Set prev_flush_start and flush_bio in an atomic way" (Nigel Croxon) [1921468] - KVM: nSVM: fix running nested guests when npt=0 (Emanuele Giuseppe Esposito) [1799073] - fork: fix copy_process(CLONE_PARENT) race with the exiting ->real_parent (Julia Denham) [1908311] {CVE-2020-35508} - Revert "redhat: switch secureboot kernel image signing to release keys" (Bruno Meneguele) - redhat: switch secureboot kernel image signing to release keys (Jan Stancek) - Revert "[md] md/raid5: add a new member of offset into r5dev" (Nigel Croxon) [1936903] - Revert "[md] md/raid5: make async_copy_data() to support different page offset" (Nigel Croxon) [1936903] - Revert "[crypto] md/raid5: add new xor function to support different page offset" (Nigel Croxon) [1936903] - Revert "[md] md/raid5: convert to new xor compution interface" (Nigel Croxon) [1936903] - Revert "[crypto] md/raid6: let syndrome computor support different page offset" (Nigel Croxon) [1936903] - Revert "[crypto] md/raid6: let async recovery function support different page offset" (Nigel Croxon) [1936903] - Revert "[md] md/raid5: let multiple devices of stripe_head share page" (Nigel Croxon) [1936903] - Revert "[md] md/raid5: resize stripe_head when reshape array" (Nigel Croxon) [1936903] - Revert "[md] md/raid5: reallocate page array after setting new stripe_size" (Nigel Croxon) [1936903] - ACPI: PNP: compare the string length in the matching_id() (Mark Langsdorf) [1933702] - ceph: add missing break when parsing "nowsync" mount option (Jeff Layton) [1932753] - get_maintainer.conf: Update with new location of RHMAINTAINERS (Prarit Bhargava) - redhat: make pathspec exclusion compatible with old git versions (Herton R. Krzesinski) - redhat/scripts: Update merge-subtrees.sh with new subtree location (Prarit Bhargava) - tree: Add RHMAINTAINERS soft link in 8.4 (Prarit Bhargava) - tree: remove existing redhat/rhdocs subtree in 8.4 (Prarit Bhargava)- ntp: Use freezable workqueue for RTC synchronization (Phil Auld) [1793880] - ntp: Fix RTC synchronization on 32-bit platforms (Phil Auld) [1793880] - ntp: Make the RTC synchronization more reliable (Phil Auld) [1793880] - PCI: rpadlpar: Fix potential drc_name corruption in store functions (Gustavo Luiz Duarte) [1938116] - selftests: kvm: Add basic Hyper-V clocksources tests (Vitaly Kuznetsov) [1931782] - KVM: x86: hyper-v: Don't touch TSC page values when guest opted for re-enlightenment (Vitaly Kuznetsov) [1931782] - KVM: x86: hyper-v: Track Hyper-V TSC page status (Vitaly Kuznetsov) [1931782] - KVM: x86: hyper-v: Prevent using not-yet-updated TSC page by secondary CPUs (Vitaly Kuznetsov) [1931782] - KVM: x86: hyper-v: Limit guest to writing zero to HV_X64_MSR_TSC_EMULATION_STATUS (Vitaly Kuznetsov) [1931782] - drm/i915/guc: Update to use firmware v49.0.1 (Dave Airlie) [1935281] {CVE-2020-12362} - time: Enable __kernel_timespec for 32-bit vdso build (Waiman Long) [1936282] - lib/idr.c: document calling context for IDA APIs mustn't use locks (Chris von Recklinghausen) [1917764] - ida: Free allocated bitmap in error path (Chris von Recklinghausen) [1917764] - radix tree test suite: Fix compilation (Chris von Recklinghausen) [1917764] - vmalloc: convert to XArray (Chris von Recklinghausen) [1917764] - mm: pass addr as unsigned long to vb_free (Chris von Recklinghausen) [1917764] - radix tree: Remove multiorder support (Chris von Recklinghausen) [1917764] - radix tree test: Convert multiorder tests to XArray (Chris von Recklinghausen) [1917764] - radix tree tests: Convert item_delete_rcu to XArray (Chris von Recklinghausen) [1917764] - radix tree tests: Convert item_kill_tree to XArray (Chris von Recklinghausen) [1917764] - radix tree tests: Move item_insert_order (Chris von Recklinghausen) [1917764] - radix tree test suite: Remove multiorder benchmarking (Chris von Recklinghausen) [1917764] - radix tree test suite: Remove __item_insert (Chris von Recklinghausen) [1917764] - radix tree: Remove radix_tree_clear_tags (Chris von Recklinghausen) [1917764] - radix tree: Remove split/join code (Chris von Recklinghausen) [1917764] - radix tree: Remove radix_tree_update_node_t (Chris von Recklinghausen) [1917764] - mm: Convert truncate to XArray (Chris von Recklinghausen) [1917764] - copy rh_kabi.h to tools/testing/radix-tree/linux (Chris von Recklinghausen) [1917764]- tick: Get rid of tick_period (Phil Auld) [1936504] - tick/sched: Release seqcount before invoking calc_load_global() (Phil Auld) [1936504] - tick/sched: Optimize tick_do_update_jiffies64() further (Phil Auld) [1936504] - tick/sched: Reduce seqcount held scope in tick_do_update_jiffies64() (Phil Auld) [1936504] - tick/sched: Use tick_next_period for lockless quick check (Phil Auld) [1936504] - tick: Document protections for tick related data (Phil Auld) [1936504] - tick/broadcast: Serialize access to tick_next_period (Phil Auld) [1936504] - timekeeping: Split jiffies seqlock (Phil Auld) [1936504] - tick/sched: Annotate lockless access to last_jiffies_update (Phil Auld) [1936504] - net, sctp, filter: remap copy_from_user failure error (Hangbin Liu) [1929476] {CVE-2021-20239} - tty: serial_core: Set port active bit in uart_port_activate (Artem Savkov) [1915177] - cgroup: fix psi monitor for root cgroup (Waiman Long) [1936868] - cgroup-v1: add disabled controller check in cgroup1_parse_param() (Waiman Long) [1936868] - cgroup: cgroup.{procs,threads} factor out common parts (Waiman Long) [1936868] - cpuset: fix typos in comments (Waiman Long) [1936868] - kernel: cgroup: Mundane spelling fixes throughout the file (Waiman Long) [1936868] - cgroup/cgroup.c: replace 'of->kn->priv' with of_cft() (Waiman Long) [1936868] - cgroup: Zero sized write should be no-op (Waiman Long) [1936868] - cgroup: remove redundant kernfs_activate in cgroup_setup_root() (Waiman Long) [1936868] - cgroup: Use generic ns_common::count (Waiman Long) [1936868] - ns: Add a common refcount into ns_common (Waiman Long) [1936868] - cgroup: add cpu.stat file to root cgroup (Waiman Long) [1936868] - cgroup: Remove stale comments (Waiman Long) [1936868] - cgroup: Restructure release_agent_path handling (Waiman Long) [1936868] - cgroup: add cgroup_may_write() helper (Waiman Long) [1936868] - cgroup: refactor fork helpers (Waiman Long) [1936868] - cgroup: add cgroup_get_from_file() helper (Waiman Long) [1936868] - cgroup: unify attach permission checking (Waiman Long) [1936868] - cpuset: Make cpuset hotplug synchronous (Waiman Long) [1936868] - cgroup: Clean up css_set task traversal (Waiman Long) [1936868] - cgroup.c: Use built-in RCU list checking (Waiman Long) [1936868] - fork: record start_time late (Waiman Long) [1936868] - sched/deadline: Reduce rq lock contention in dl_add_task_root_domain() (Phil Auld) [1936501] - sched/deadline: Fix sched_dl_global_validate() (Phil Auld) [1936501] - sched/deadline: Optimize sched_dl_global_validate() (Phil Auld) [1936501] - sched/deadline: Fix a typo in a comment (Phil Auld) [1936501] - sched/deadline: Implement fallback mechanism for !fit case (Phil Auld) [1936501] - sched/deadline: Make DL capacity-aware (Phil Auld) [1936501] - sched/deadline: Improve admission control for asymmetric CPU capacities (Phil Auld) [1936501] - sched/deadline: Add dl_bw_capacity() (Phil Auld) [1936501] - sched/deadline: Optimize dl_bw_cpus() (Phil Auld) [1936501] - sched/deadline: Impose global limits on sched_attr::sched_period (Phil Auld) [1936501] - ibmvnic: fix a race between open and reset (Diego Domingos) [1940042] - ibmvnic: Set to CLOSED state even on error (Diego Domingos) [1940042] - ibmvnic: device remove has higher precedence over reset (Diego Domingos) [1940042] - ibmvnic: merge do_change_param_reset into do_reset (Diego Domingos) [1940042] - ibmvfc: disable MQ channelization by default (Gustavo Luiz Duarte) [1939359] - pNFS/NFSv4: Fix a layout segment leak in pnfs_layout_process() (Steve Dickson) [1926945] - scsi: iscsi: Verify lengths on passthrough PDUs (Chris Leech) [1930833] {CVE-2021-27365} - scsi: iscsi: Ensure sysfs attributes are limited to PAGE_SIZE (Chris Leech) [1930856] {CVE-2021-27363} - scsi: iscsi: Restrict sessions and handles to admin capabilities (Chris Leech) [1930809] {CVE-2021-27364} - futex: Handle faults correctly for PI futexes (Waiman Long) [1924635] - futex: Simplify fixup_pi_state_owner() (Waiman Long) [1924635] - futex: Use pi_state_update_owner() in put_pi_state() (Waiman Long) [1924635] - rtmutex: Remove unused argument from rt_mutex_proxy_unlock() (Waiman Long) [1924635] - futex: Provide and use pi_state_update_owner() (Waiman Long) [1924635] - futex: Replace pointless printk in fixup_owner() (Waiman Long) [1924635] - futex: Ensure the correct return value from futex_lock_pi() (Waiman Long) [1924635] - futex: Don't enable IRQs unconditionally in put_pi_state() (Waiman Long) [1924635] - futex: Fix incorrect should_fail_futex() handling (Waiman Long) [1924635] - futex: Consistently use fshared as boolean (Waiman Long) [1924635] - futex: Remove needless goto's (Waiman Long) [1924635] - futex: Remove put_futex_key() (Waiman Long) [1924635] - NFS: Correct size calculation for create reply length (Benjamin Coddington) [1934903] - SUNRPC: Set memalloc_nofs_save() for sync tasks (Benjamin Coddington) [1934098] - net/mlx5: CT: Add support for matching on ct_state reply flag (Alaa Hleihel) [1919651] - net/mlx5e: CT: manage the lifetime of the ct entry object (Alaa Hleihel) [1919651] - net/mlx5e: CT: Use per flow counter when CT flow accounting is enabled (Alaa Hleihel) [1919651] - net/mlx5e: Fix a use after free on error in mlx5_tc_ct_shared_counter_get() (Alaa Hleihel) [1919651] - net/mlx5e: CT: Use the same counter for both directions (Alaa Hleihel) [1919651] - ethtool: fix the check logic of at least one channel for RX/TX (Ivan Vecera) [1907406]- [scsi] scsi: qedi: Correct max length of CHAP secret (Nilesh Javali) [1909180] - redhat: use tags from git notes for zstream to generate changelog (Frantisek Hrbata) - redhat: add CI file for kernel-private (Bruno Meneguele) - CI: Drop unused variable (Bruno Meneguele) - CI: Enable RT verification (Bruno Meneguele) - KVM: SVM: Clear the CR4 register on reset (Vitaly Kuznetsov) [1920788] - net: flow_offload: Add original direction flag to ct_metadata (Marcelo Ricardo Leitner) [1921946] - net/sched: cls_flower: Add match on the ct_state reply flag (Marcelo Ricardo Leitner) [1921946] - net/sched: cls_flower add CT_FLAGS_INVALID flag support (Marcelo Ricardo Leitner) [1921946] - net/sched: cls_flower: Reject invalid ct_state flags rules (Marcelo Ricardo Leitner) [1921946] - netlink: add mask validation (Marcelo Ricardo Leitner) [1921946] - netlink: create helpers for checking type is an int (Marcelo Ricardo Leitner) [1921946] - netlink: policy: correct validation type check (Marcelo Ricardo Leitner) [1921946] - netlink: make NLA_BINARY validation more flexible (Marcelo Ricardo Leitner) [1921946]- md: Set prev_flush_start and flush_bio in an atomic way (Xiao Ni) [1901598] - md: improve variable names in md_flush_request() (Xiao Ni) [1901598] - hpsa: fix regression issue for old controllers (Joseph Szczypek) [1925711] - scsi: hpsa: Correct dev cmds outstanding for retried cmds (Joseph Szczypek) [1925711] - vt: Disable KD_FONT_OP_COPY (Dave Airlie) [1903937] {CVE-2020-28974} - drm/i915/rkl: Remove require_force_probe protection (Lyude Paul) [1937558] - drm/i915/tgl/psr: Disable PSR on Tigerlake for now (Lyude Paul) [1924702] - dm raid: fix discard limits for raid0 and raid10 (Mike Snitzer) [1934274] - dm: fix __send_changing_extent_only to avoid duplicate dm_target_offset() (Mike Snitzer) [1934274] - mm/hugetlb.c: fix unnecessary address expansion of pmd sharing (Waiman Long) [1934212] - mm: memcontrol: fix slub memory accounting (Waiman Long) [1934212] - mm: memcontrol: fix swap undercounting in cgroup2 (Waiman Long) [1934212] - mm: memcontrol: fix NR_ANON_THPS accounting in charge moving (Waiman Long) [1934212] - mm, slub: better heuristic for number of cpus when calculating slab order (Waiman Long) [1934212] - Revert "mm: memcontrol: avoid workload stalls when lowering memory.high" (Waiman Long) [1934212] - selftests/bpf: Set gopt opt_class to 0 if get tunnel opt failed (Hangbin Liu) [1931732] - selftests/bpf: No need to drop the packet when there is no geneve opt (Hangbin Liu) [1931732]- drm/i915/gen11+: Only load DRAM information from pcode (Lyude Paul) [1934537] - drm/i915/dg1: Wait for pcode/uncore handshake at startup (Lyude Paul) [1934537] - powercap/intel_rapl: add support for TigerLake Desktop (David Arcari) [1932457] - powerpc/perf: Fix handling of privilege level checks in perf interrupt context (Gustavo Luiz Duarte) [1918411] - NFSv4.2: fix error return on memory allocation failure (Scott Mayhew) [1917689] - NFSv4.2: improve page handling for GETXATTR (Scott Mayhew) [1917689] - NFSv4.2: Fix up the get/listxattr calls to rpc_prepare_reply_pages() (Scott Mayhew) [1917689] - NFS: Fix rpcrdma_inline_fixup() crash with new LISTXATTRS operation (Scott Mayhew) [1917689] - SUNRPC: Fix up xdr_set_page() (Benjamin Coddington) [1917689] - NFSv4: Fix open coded xdr_stream_remaining() (Benjamin Coddington) [1917689] - SUNRPC: Clean up the handling of page padding in rpc_prepare_reply_pages() (Benjamin Coddington) [1917689] - SUNRPC: Fix up xdr_read_pages() to take arbitrary object lengths (Benjamin Coddington) [1917689] - SUNRPC: Clean up helpers xdr_set_iov() and xdr_set_page_base() (Benjamin Coddington) [1917689] - SUNRPC: Split out a function for setting current page (Benjamin Coddington) [1917689] - SUNRPC: Fix up typo in xdr_init_decode() (Benjamin Coddington) [1917689] - NFSv4: Fix the alignment of page data in the getdeviceinfo reply (Benjamin Coddington) [1917689] - net: fix pos incrementment in ipv6_route_seq_next (Lorenzo Bianconi) [1926608] - ipv6_route_seq_next should increase position index (Lorenzo Bianconi) [1926608] - bpf: Clear subreg_def for global function return values (Yauheni Kaliuta) [1934062] - igc: Fix returning wrong statistics (Corinna Vinschen) [1910873]- KVM: nSVM: prepare guest save area while is_guest_mode is true (Vitaly Kuznetsov) [1860223] - redhat: add CI file for kernel-private (Bruno Meneguele) - CI: Drop unused variable (Veronika Kabatova) - CI: Enable RT verification (Veronika Kabatova) - redhat: use tags from git notes for zstream to generate changelog (Frantisek Hrbata) - redhat: open the RHEL-8.5 development (Bruno Meneguele) [1930504]- KVM: SVM: Make symbol 'svm_gp_erratum_intercept' static (Paolo Bonzini) [1769283] - KVM: SVM: Fix #GP handling for doubly-nested virtualization (Paolo Bonzini) [1769283] - KVM: SVM: Add support for SVM instruction address check change (Paolo Bonzini) [1769283] - KVM: SVM: Add emulation support for #GP triggered by SVM instructions (Paolo Bonzini) [1769283] - KVM: x86: Factor out x86 instruction emulation with decoding (Paolo Bonzini) [1769283] - gfs2: In gfs2_ail1_start_one unplug the IO when needed (Bob Peterson) [1648446] - gfs2: Free rd_bits later in gfs2_clear-rgrpd to fix use-after-free (Bob Peterson) [1648446] - gfs2: Only access gl_delete for iopen glocks (Bob Peterson) [1648446] - gfs2: Fix case in which ail writes are done to jdata holes (Bob Peterson) [1648446] - gfs2: simplify gfs2_block_map (Bob Peterson) [1648446] - gfs2: Only set PageChecked if we have a transaction (Bob Peterson) [1648446] - gfs2: don't lock sd_ail_lock in gfs2_releasepage (Bob Peterson) [1648446] - gfs2: make gfs2_ail1_empty_one return the count of active items (Bob Peterson) [1648446] - gfs2: Wipe jdata and ail1 in gfs2_journal_wipe, formerly gfs2_meta_wipe (Bob Peterson) [1648446] - gfs2: enhance log_blocks trace point to show log blocks free (Bob Peterson) [1648446] - gfs2: rename gfs2_write_full_page to gfs2_write_jdata_page, remove parm (Bob Peterson) [1648446] - PM: hibernate: flush swap writer after marking (Lenny Szubowicz) [1898677] - cpufreq: Avoid cpufreq_suspend() deadlock on system shutdown (Lenny Szubowicz) [1898677] - PM / hibernate: memory_bm_find_bit(): Tighten node optimisation (Lenny Szubowicz) [1898677] - bpf, devmap: Use GFP_KERNEL for xdp bulk queue allocation (Jiri Benc) [1882215] - ice, xsk: clear the status bits for the next_to_use descriptor (Jiri Benc) [1906820] - net/mlx4_en: Handle TX error CQE (Alaa Hleihel) [1925690] - net/mlx4_en: Avoid scheduling restart task if it is already running (Alaa Hleihel) [1925690] - blk-mq: test QUEUE_FLAG_HCTX_ACTIVE for sbitmap_shared in hctx_may_queue (Ming Lei) [1922013] - blk-mq: Improve performance of non-mq IO schedulers with multiple HW queues (Ming Lei) [1922013] - Revert "blk-mq, elevator: Count requests per hctx to improve performance" (Ming Lei) [1922013] - bpftool: Disable CAP_BPF check for feature command (Jiri Olsa) [1921542] - RDMA/siw: Fix calculation of tx_valid_cpus size (Kamal Heib) [1919502] - net/mlx5e: Disable performance optimization for IPv4/IPv6 ethertype (Alaa Hleihel) [1928671 1919807] - IB/mlx5: Return appropriate error code instead of ENOMEM (Alaa Hleihel) [1928671] - net/mlx5: Disable devlink reload for lag devices (Alaa Hleihel) [1928671 1929166] - net/mlx5: Disable devlink reload for multi port slave device (Alaa Hleihel) [1928671 1929166] - net/mlx5: Disallow RoCE on lag device (Alaa Hleihel) [1928671 1929166] - net/mlx5: Disallow RoCE on multi port slave device (Alaa Hleihel) [1928671 1929166] - net/mlx5: Fix health error state handling (Alaa Hleihel) [1928671] - net/mlx5e: Change interrupt moderation channel params also when channels are closed (Alaa Hleihel) [1928671] - net/mlx5e: Don't change interrupt moderation params when DIM is enabled (Alaa Hleihel) [1928671] - net/mlx5e: E-switch, Fix rate calculation for overflow (Alaa Hleihel) [1928671] - net/mlx5e: Release skb in case of failure in tc update skb (Alaa Hleihel) [1928671 1929119] - net/mlx5e: Check tunnel offload is required before setting SWP (Alaa Hleihel) [1928671 1925439] - net/mlx5e: kTLS, Use refcounts to free kTLS RX priv context (Alaa Hleihel) [1928671 1928706] - net/mlx5e: Fix CQ params of ICOSQ and async ICOSQ (Alaa Hleihel) [1928671 1928706] - net/mlx5e: Replace synchronize_rcu with synchronize_net (Alaa Hleihel) [1928671 1913616] - net/mlx5e: Enable XDP for Connect-X IPsec capable devices (Alaa Hleihel) [1928671 1856795] - net/mlx5e: Enable striding RQ for Connect-X IPsec capable devices (Alaa Hleihel) [1928671 1926120] - fix regression in "epoll: Keep a reference on files added to the check list" (Carlos Maiolino) [1920776] {CVE-2020-0466} - do_epoll_ctl(): clean the failure exits up a bit (Carlos Maiolino) [1920776] {CVE-2020-0466} - epoll: Keep a reference on files added to the check list (Carlos Maiolino) [1920776] {CVE-2020-0466}- perf/x86/intel/uncore: With > 8 nodes, get pci bus die id from NUMA info (Prarit Bhargava) [1766743] - perf/x86/intel/uncore: Store the logical die id instead of the physical die id. (Prarit Bhargava) [1766743] - mm: fix page reference leak in soft_offline_page() (Aristeu Rozanski) [1768372] - mm,hwpoison: try to narrow window race for free pages (Aristeu Rozanski) [1768372] - mm,hwpoison: double-check page count in __get_any_page() (Aristeu Rozanski) [1768372] - mm,hwpoison: introduce MF_MSG_UNSPLIT_THP (Aristeu Rozanski) [1768372] - mm,hwpoison: return 0 if the page is already poisoned in soft-offline (Aristeu Rozanski) [1768372] - mm,hwpoison: refactor soft_offline_huge_page and __soft_offline_page (Aristeu Rozanski) [1768372] - mm,hwpoison: rework soft offline for in-use pages (Aristeu Rozanski) [1768372] - mm,hwpoison: rework soft offline for free pages (Aristeu Rozanski) [1768372] - mm,hwpoison: unify THP handling for hard and soft offline (Aristeu Rozanski) [1768372] - mm,hwpoison: kill put_hwpoison_page (Aristeu Rozanski) [1768372] - mm,hwpoison: refactor madvise_inject_error (Aristeu Rozanski) [1768372] - mm,hwpoison: unexport get_hwpoison_page and make it static (Aristeu Rozanski) [1768372] - mm,hwpoison-inject: don't pin for hwpoison_filter (Aristeu Rozanski) [1768372] - mm, hwpoison: remove recalculating hpage (Aristeu Rozanski) [1768372] - mm,hwpoison: cleanup unused PageHuge() check (Aristeu Rozanski) [1768372] - mm/madvise.c: replace with page_size() in madvise_inject_error() (Aristeu Rozanski) [1768372] - mm, soft-offline: convert parameter to pfn (Aristeu Rozanski) [1768372] - tick/nohz: Revert "Narrow down noise while setting current task's tick dependency" (Waiman Long) [1931004] - kvm: Add kvm_stat.service file and kvm_stat logrotate config to the tools (Thomas Huth) [1919930] - igc: fix link speed advertising (Corinna Vinschen) [1769701] - [crypto] crypto: qat - add capability detection logic in qat_4xxx (Vladis Dronov) [1833004] - [crypto] crypto: qat - add AES-XTS support for QAT GEN4 devices (Vladis Dronov) [1833004] - [crypto] crypto: qat - add AES-CTR support for QAT GEN4 devices (Vladis Dronov) [1833004] - [crypto] crypto: qat - fix excluded_middle.cocci warnings (Vladis Dronov) [1833004] - [crypto] crypto: qat - add qat_4xxx driver (Vladis Dronov) [1833004] - [crypto] crypto: qat - add hook to initialize vector routing table (Vladis Dronov) [1833004] - [crypto] crypto: qat - target fw images to specific AEs (Vladis Dronov) [1833004] - [crypto] crypto: qat - add gen4 firmware loader (Vladis Dronov) [1833004] - [crypto] crypto: qat - add support for broadcasting mode (Vladis Dronov) [1833004] - [crypto] crypto: qat - add support for shared ustore (Vladis Dronov) [1833004] - [crypto] crypto: qat - allow to target specific AEs (Vladis Dronov) [1833004] - [crypto] crypto: qat - add FCU CSRs to chip info (Vladis Dronov) [1833004] - [crypto] crypto: qat - add CSS3K support (Vladis Dronov) [1833004] - [crypto] crypto: qat - use ae_mask (Vladis Dronov) [1833004] - [crypto] crypto: qat - add check for null pointer (Vladis Dronov) [1833004] - [crypto] crypto: qat - add misc control CSR to chip info (Vladis Dronov) [1833004] - [crypto] crypto: qat - add wake up event to chip info (Vladis Dronov) [1833004] - [crypto] crypto: qat - add clock enable CSR to chip info (Vladis Dronov) [1833004] - [crypto] crypto: qat - add reset CSR and mask to chip info (Vladis Dronov) [1833004] - [crypto] crypto: qat - add local memory size to chip info (Vladis Dronov) [1833004] - [crypto] crypto: qat - add support for lm2 and lm3 (Vladis Dronov) [1833004] - [crypto] crypto: qat - add next neighbor to chip_info (Vladis Dronov) [1833004] - [crypto] crypto: qat - replace check based on DID (Vladis Dronov) [1833004] - [crypto] crypto: qat - introduce chip info structure (Vladis Dronov) [1833004] - [crypto] crypto: qat - refactor long expressions (Vladis Dronov) [1833004] - [crypto] crypto: qat - refactor qat_uclo_set_ae_mode() (Vladis Dronov) [1833004] - [crypto] crypto: qat - move defines to header files (Vladis Dronov) [1833004] - [crypto] crypto: qat - remove global CSRs helpers (Vladis Dronov) [1833004] - [crypto] crypto: qat - refactor AE start (Vladis Dronov) [1833004] - [crypto] crypto: qat - change micro word data mask (Vladis Dronov) [1833004] - [crypto] crypto: qat - change type for ctx_mask (Vladis Dronov) [1833004] - [crypto] crypto: qat - add support for relative FW ucode loading (Vladis Dronov) [1833004] - [crypto] crypto: qat - rename qat_uclo_del_uof_obj() (Vladis Dronov) [1833004] - [crypto] crypto: qat - introduce additional parenthesis (Vladis Dronov) [1833004] - [crypto] crypto: qat - remove unnecessary parenthesis (Vladis Dronov) [1833004] - [crypto] crypto: qat - fix error message (Vladis Dronov) [1833004] - [crypto] crypto: qat - fix CSR access (Vladis Dronov) [1833004] - [crypto] crypto: qat - fix status check in qat_hal_put_rel_rd_xfer() (Vladis Dronov) [1833004] - [crypto] crypto: qat - support for mof format in fw loader (Vladis Dronov) [1833004] - [crypto] crypto: qat - replace pci with PCI in comments (Vladis Dronov) [1833004] - [crypto] crypto: qat - remove cast for mailbox CSR (Vladis Dronov) [1833004] - [crypto] crypto: qat - remove unneeded semicolon (Vladis Dronov) [1833004] - [crypto] crypto: qat - extend ae_mask (Vladis Dronov) [1833004] - [crypto] crypto: qat - allow for instances in different banks (Vladis Dronov) [1833004] - [crypto] crypto: qat - refactor qat_crypto_dev_config() (Vladis Dronov) [1833004] - [crypto] crypto: qat - refactor qat_crypto_create_instances() (Vladis Dronov) [1833004] - [crypto] crypto: qat - change return value in adf_cfg_key_val_get() (Vladis Dronov) [1833004] - [crypto] crypto: qat - change return value in adf_cfg_add_key_value_param() (Vladis Dronov) [1833004] - [crypto] crypto: qat - remove unnecessary void* casts (Vladis Dronov) [1833004] - [crypto] crypto: qat - call functions in adf_sriov if available (Vladis Dronov) [1833004] - [crypto] crypto: qat - remove hardcoded bank irq clear flag mask (Vladis Dronov) [1833004] - [crypto] crypto: qat - abstract writes to arbiter enable (Vladis Dronov) [1833004] - [crypto] crypto: qat - use BIT_ULL() - 1 pattern for masks (Vladis Dronov) [1833004] - [crypto] crypto: qat - replace constant masks with GENMASK (Vladis Dronov) [1833004] - [crypto] crypto: qat - abstract build ring base (Vladis Dronov) [1833004] - [crypto] crypto: qat - enable ring after pair is programmed (Vladis Dronov) [1833004] - [crypto] crypto: qat - register crypto instances based on capability (Vladis Dronov) [1833004] - [crypto] crypto: qat - add support for capability detection (Vladis Dronov) [1833004] - [crypto] crypto: qat - abstract arbiter access (Vladis Dronov) [1833004] - [crypto] crypto: qat - remove unused macros in arbiter module (Vladis Dronov) [1833004] - [crypto] crypto: qat - remove writes into WQCFG (Vladis Dronov) [1833004] - [crypto] crypto: qat - update constants table (Vladis Dronov) [1833004] - [crypto] crypto: qat - use admin mask to send fw constants (Vladis Dronov) [1833004] - [crypto] crypto: qat - change admin sequence (Vladis Dronov) [1833004] - [crypto] crypto: qat - rename ME in AE (Vladis Dronov) [1833004] - [crypto] crypto: qat - add packed to init admin structures (Vladis Dronov) [1833004] - [crypto] crypto: qat - abstract admin interface (Vladis Dronov) [1833004] - [crypto] crypto: qat - relocate GEN2 CSR access code (Vladis Dronov) [1833004] - [crypto] crypto: qat - split transport CSR access logic (Vladis Dronov) [1833004] - [crypto] crypto: qat - fix configuration of iov threads (Vladis Dronov) [1833004] - [crypto] crypto: qat - num_rings_per_bank is device dependent (Vladis Dronov) [1833004] - [crypto] crypto: qat - mask device capabilities with soft straps (Vladis Dronov) [1833004] - [crypto] crypto: qat - update IV in software (Vladis Dronov) [1833004] - [crypto] crypto: qat - remove unused function (Vladis Dronov) [1833004]- mptcp: send ack for every add_addr (Davide Caratti) [1929280] - Revert "[net] tcp: change pingpong threshold to 3" (Davide Caratti) [1929280] - powerpc/pseries: Don't enforce MSI affinity with kdump (Greg Kurz) [1919427] - rtc: disallow update interrupts when time is invalid (Waiman Long) [1918288] - rtc: disable uie before setting time and enable after (Waiman Long) [1918288] - rtc: don't reference bogus function pointer in kdoc (Waiman Long) [1918288] - KVM: x86/mmu: Expand collapsible SPTE zap for TDP MMU to ZONE_DEVICE and HugeTLB pages (Paolo Bonzini) [1897366] - KVM: x86/mmu: Allow parallel page faults for the TDP MMU (Paolo Bonzini) [1897366] - KVM: x86/mmu: Mark SPTEs in disconnected pages as removed (Paolo Bonzini) [1897366] - KVM: x86/mmu: Flush TLBs after zap in TDP MMU PF handler (Paolo Bonzini) [1897366] - KVM: x86/mmu: Use atomic ops to set SPTEs in TDP MMU map (Paolo Bonzini) [1897366] - KVM: x86/mmu: Factor out functions to add/remove TDP MMU pages (Paolo Bonzini) [1897366] - i915: kvmgt: the KVM mmu_lock is now an rwlock (Paolo Bonzini) [1897366] - KVM: x86/mmu: Use an rwlock for the x86 MMU (Paolo Bonzini) [1897366] - KVM: x86/mmu: Protect TDP MMU page table memory with RCU (Paolo Bonzini) [1897366] - KVM: x86/mmu: Clear dirtied pages mask bit before early break (Paolo Bonzini) [1897366] - KVM: x86/mmu: Skip no-op changes in TDP MMU functions (Paolo Bonzini) [1897366] - KVM: x86/mmu: Yield in TDU MMU iter even if no SPTES changed (Paolo Bonzini) [1897366] - KVM: x86/mmu: Ensure forward progress when yielding in TDP MMU iter (Paolo Bonzini) [1897366] - KVM: x86/mmu: Rename goal_gfn to next_last_level_gfn (Paolo Bonzini) [1897366] - KVM: x86/mmu: Merge flush and non-flush tdp_mmu_iter_cond_resched (Paolo Bonzini) [1897366] - KVM: x86/mmu: Fix braces in kvm_recover_nx_lpages (Paolo Bonzini) [1897366] - KVM: x86/mmu: Factor out handling of removed page tables (Paolo Bonzini) [1897366] - KVM: x86/mmu: Don't redundantly clear TDP MMU pt memory (Paolo Bonzini) [1897366] - KVM: x86/mmu: Add lockdep when setting a TDP MMU SPTE (Paolo Bonzini) [1897366] - KVM: x86/mmu: Add comment on __tdp_mmu_set_spte (Paolo Bonzini) [1897366] - KVM: x86/mmu: change TDP MMU yield function returns to match cond_resched (Paolo Bonzini) [1897366] - locking/arch: Move qrwlock.h include after qspinlock.h (Paolo Bonzini) [1897366] - sched: Add cond_resched_rwlock (Paolo Bonzini) [1897366] - sched: Add needbreak for rwlocks (Paolo Bonzini) [1897366] - locking/rwlocks: Add contention detection for rwlocks (Paolo Bonzini) [1897366] - RDMA/srp: Fix support for unpopulated and unbalanced NUMA nodes (Kamal Heib) [1919395] - net/vmw_vsock: fix NULL pointer dereference (Jon Maloy) [1925600] {CVE-2021-26708} - net/vmw_vsock: improve locking in vsock_connect_timeout() (Jon Maloy) [1925600] {CVE-2021-26708} - vsock: fix locking in vsock_shutdown() (Jon Maloy) [1925600] {CVE-2021-26708} - vsock: fix the race conditions in multi-transport support (Jon Maloy) [1925600] {CVE-2021-26708} - ahci: Add missing Intel Emmitsburg PCH RAID PCI IDs (David Arcari) [1928789] - KVM: x86: Allow guests to see MSR_IA32_TSX_CTRL even if tsx=off (Paolo Bonzini) [1912448] - [sound] ALSA: hda/via: Fix runtime PM for Clevo W35xSS (Jaroslav Kysela) [1916102] - [sound] ALSA: hda/realtek: fix right sounds and mute/micmute LEDs for HP machines (Jaroslav Kysela) [1916102] - [sound] ALSA: hda/realtek: Enable mute and micmute LED on HP EliteBook 850 G7 (Jaroslav Kysela) [1916102] - [sound] ALSA: hda/realtek: Add two "Intel Reference board" SSID in the ALC256 (Jaroslav Kysela) [1916102] - [sound] ALSA: hda/realtek: Add mute LED quirk for more HP laptops (Jaroslav Kysela) [1916102] - [sound] ALSA: hda/realtek - Modify Dell platform name (Jaroslav Kysela) [1916102] - [sound] ALSA: hda/realtek - Fix speaker volume control on Lenovo C940 (Jaroslav Kysela) [1916102] - [sound] ALSA: ALSA/hda: apply jack fixup for the Acer Veriton N4640G/N6640G/N2510G (Jaroslav Kysela) [1916102] - [sound] ALSA: hda/realtek: Apply jack fixup for Quanta NL3 (Jaroslav Kysela) [1916102] - [sound] ALSA: hda/realtek: Add quirk for MSI-GP73 (Jaroslav Kysela) [1916102] - [sound] ALSA: hda/realtek - Supported Dell fixed type headset (Jaroslav Kysela) [1916102] - [sound] ALSA: hda/realtek: Remove dummy lineout on Acer TravelMate P648/P658 (Jaroslav Kysela) [1916102] - [sound] ALSA: hda/realtek - Add supported for more Lenovo ALC285 Headset Button (Jaroslav Kysela) [1916102] - [sound] ALSA: hda/realtek - Enable headset mic of ASUS Q524UQK with ALC255 (Jaroslav Kysela) [1916102] - [sound] ALSA: hda/realtek - Enable headset mic of ASUS X430UN with ALC256 (Jaroslav Kysela) [1916102] - [sound] ALSA: hda/realtek: make bass spk volume adjustable on a yoga laptop (Jaroslav Kysela) [1916102] - [sound] ALSA: hda/hdmi: Fix incorrect mutex unlock in silent_stream_disable() (Jaroslav Kysela) [1916102] - [sound] ALSA: hda/hdmi: packet buffer index must be set before reading value (Jaroslav Kysela) [1916102] - [sound] ALSA: hda/hdmi: always print pin NIDs as hexadecimal (Jaroslav Kysela) [1916102] - [sound] ALSA: hda/hdmi: fix silent stream for first playback to DP (Jaroslav Kysela) [1916102] - [sound] ALSA: hda/conexant: add a new hda codec CX11970 (Jaroslav Kysela) [1916102] - [sound] ALSA: hda: Fix regressions on clear and reconfig sysfs (Jaroslav Kysela) [1916102] - [sound] ALSA: hda/proc - print DP-MST connections (Jaroslav Kysela) [1916102] - [sound] ALSA: hda - Fix the return value if cb func is already registered (Jaroslav Kysela) [1916102] - [sound] ALSA: mixart: Fix mutex deadlock (Jaroslav Kysela) [1916102] - [sound] ALSA: hda/realtek: Add mute LED quirk to yet another HP x360 model (Jaroslav Kysela) [1916102] - [sound] ALSA: hda/realtek: Fix bass speaker DAC assignment on Asus Zephyrus G14 (Jaroslav Kysela) [1916102] - [sound] ALSA: hda/realtek - Add new codec supported for ALC897 (Jaroslav Kysela) [1916102] - [sound] ALSA: hda/realtek: Enable headset of ASUS UX482EG & B9400CEA with ALC294 (Jaroslav Kysela) [1916102] - [sound] ALSA: hda/realtek - Fixed Dell AIO wrong sound tone (Jaroslav Kysela) [1916102] - [sound] ALSA: hda/realtek - HP Headset Mic can't detect after boot (Jaroslav Kysela) [1916102] - [sound] ALSA: hda/realtek - Add supported mute Led for HP (Jaroslav Kysela) [1916102] - [sound] ALSA: hda/realtek: Add some Clove SSID in the ALC293(ALC1220) (Jaroslav Kysela) [1916102] - [sound] ALSA: hda/realtek - Add supported for Lenovo ThinkPad Headset Button (Jaroslav Kysela) [1916102] - [sound] ALSA: hda/realtek - Enable headphone for ASUS TM420 (Jaroslav Kysela) [1916102] - [sound] ALSA: hda/realtek - Fixed HP headset Mic can't be detected (Jaroslav Kysela) [1916102] - [sound] ALSA: hda: Add Alderlake-S PCI ID and HDMI codec vid (Jaroslav Kysela) [1916102] - [sound] ALSA: hda/generic: Add option to enforce preferred_dacs pairs (Jaroslav Kysela) [1916102] - [sound] ALSA: hda: prevent undefined shift in snd_hdac_ext_bus_get_link() (Jaroslav Kysela) [1916102] - [sound] ALSA: seq: oss: Avoid mutex lock for a long-time ioctl (Jaroslav Kysela) [1916102] - [fs] gfs2: Recursive gfs2_quota_hold in gfs2_iomap_end (Andreas Grunbacher) [1926852] - [net] netfilter: nf_tables: coalesce multiple notifications into one skbuff (Phil Sutter) [1855207] - [drm] drm/i915/rkl: new rkl ddc map for different PCH (Lyude Paul) [1910761] - [drm] drm/nouveau: fix dma syncing warning with debugging on (Lyude Paul) [1915548] - [drm] drm/i915: Update TGL and RKL HuC firmware versions (Lyude Paul) [1924209] - [drm] drm/i915/tgl, rkl: Make Wa_1606700617/22010271021 permanent (Lyude Paul) [1924209] - [drm] drm/i915: Update gen12 forcewake table (Lyude Paul) [1924209] - [drm] drm/i915: Rename FORCEWAKE_BLITTER to FORCEWAKE_GT (Lyude Paul) [1924209] - [drm] drm/i915/display/fbc: Implement WA 22010751166 (Lyude Paul) [1924209] - [drm] drm/i915: Tweaked Wa_14010685332 for PCHs used on gen11 platforms (Lyude Paul) [1924209] - [drm] drm/i915: Reorder hpd init vs. display resume (Lyude Paul) [1921868] - [drm] drm/i915/dp: Don't use DPCD backlights that need PWM enable/disable (Lyude Paul) [1885406] - [drm] drm/dp: Revert "drm/dp: Introduce EDID-based quirks" (Lyude Paul) [1885406] - [drm] drm/i915/dp: Allow forcing specific interfaces through enable_dpcd_backlight (Lyude Paul) [1885406] - [drm] drm/i915/dp: Enable Intel's HDR backlight interface (only SDR for now) (Lyude Paul) [1885406] - [drm] drm/i915: Keep track of pwm-related backlight hooks separately (Lyude Paul) [1885406] - [drm] drm/i915: Pass port to intel_panel_bl_funcs.get() (Lyude Paul) [1885406] - [drm] drm/i915/dp: Add register definitions for Intel HDR backlight interface (Lyude Paul) [1885406] - [drm] drm/i915/dp: Rename eDP VESA backlight interface functions (Lyude Paul) [1885406] - [drm] drm/i915: Pass down brightness values to enable/disable backlight callbacks (Lyude Paul) [1885406] - [drm] drm/i915: Rename pwm_* backlight callbacks to ext_pwm_* (Lyude Paul) [1885406] - [drm] drm/i915/dp: Program source OUI on eDP panels (Lyude Paul) [1885406] - [drm] drm/i915: refactor panel backlight control functions. (v2) (Lyude Paul) [1885406] - [drm] drm/i915/backlight: fix CPU mode backlight takeover on LPT (Lyude Paul) [1885406] - [drm] drm/i915/dpcd_bl: uncheck PWM_PIN_CAP when detect eDP backlight capabilities (Lyude Paul) [1885406] - [drm] drm/i915: panel: Add get_vbt_pwm_freq() helper (Lyude Paul) [1885406] - [drm] drm/i915/dp: Tweak initial dpcd backlight.enabled value (Lyude Paul) [1885406] - [drm] kms: handle mDP connectors (Lyude Paul) [1876992] - [drm] drm/i915/tgl: Fix Combo PHY DPLL fractional divider for 38.4MHz ref clock (Lyude Paul) [1876992] - [drm] drm/i915/rkl: Add new cdclk table (Lyude Paul) [1876992] - [drm] drm/i915/rkl: Handle HTI (Lyude Paul) [1876992] - [drm] drm/i915/rkl: Add DPLL4 support (Lyude Paul) [1876992] - [drm] drm/i915/rkl: Add initial workarounds (Lyude Paul) [1876992] - [drm] drm/i915/rkl: Handle new DPCLKA_CFGCR0 layout (Lyude Paul) [1876992] - [drm] drm/i915: Update TGL and RKL DMC firmware versions (Lyude Paul) [1876992] - [drm] drm/i915/gt: Program mocs:63 for cache eviction on gen9 (Lyude Paul) [1876992] - [drm] drm/i915/gt: Limit frequency drop to RPe on parking (Lyude Paul) [1876992] - [drm] drm/i915/gt: Retain default context state across shrinking (Lyude Paul) [1876992] - [drm] drm/amdgpu/vcn3.0: remove old DPG workaround (Lyude Paul) [1876992] - [drm] drm/amdgpu/vcn3.0: stall DPG when WPTR/RPTR reset (Lyude Paul) [1876992] - [drm] drm/i915/gt: Fixup tgl mocs for PTE tracking (Lyude Paul) [1876992] - [drm] drm/amdgpu: add rlc iram and dram firmware support (Lyude Paul) [1876992] - [drm] drm/nouveau: fix relocations applying logic and a double-free (Lyude Paul) [1876992] - [drm] drm/amd/display: Avoid HDCP initialization in devices without output (Lyude Paul) [1876992] - [drm] drm/amd/amdgpu: fix null pointer in runtime pm (Lyude Paul) [1876992] - [drm] drm/amdgpu: update golden setting for sienna_cichlid (Lyude Paul) [1876992] - [drm] drm/amdgpu: fix a page fault (Lyude Paul) [1876992] - [drm] drm/amdgpu: fix SI UVD firmware validate resume fail (Lyude Paul) [1876992] - [drm] drm/i915/tgl: Fix Media power gate sequence (Lyude Paul) [1876992] - [drm] drm/i915: Handle max_bpc==16 (Lyude Paul) [1876992] - [drm] drm/amd/display: Add missing pflip irq for dcn2.0 (Lyude Paul) [1876992] - [drm] drm/gma500: Fix out-of-bounds access to struct drm_device.vblank (Lyude Paul) [1876992] - [drm] drm/i915: Correctly set SFC capability for video engines (Lyude Paul) [1876992] - [drm] drm/amd/display: Add missing pflip irq (Lyude Paul) [1876992] - [drm] drm/amd/pm: do not use ixFEATURE_STATUS for checking smc running (Lyude Paul) [1876992] - [drm] drm/amd/pm: perform SMC reset on suspend/hibernation (Lyude Paul) [1876992] - [drm] drm/amd/pm: correct the baco reset sequence for CI ASICs (Lyude Paul) [1876992] - [drm] drm/amdgpu: perform srbm soft reset always on SDMA resume (Lyude Paul) [1876992] - [drm] drm/i915/gem: Flush coherency domains on first set-domain-ioctl (Lyude Paul) [1876992] - [drm] drm/i915: Hold onto an explicit ref to i915_vma_work.pinned (Lyude Paul) [1876992] - [drm] drm/i915/gt: Use the local HWSP offset during submission (Lyude Paul) [1876992] - [drm] drm/i915: Fix encoder lookup during PSR atomic check (Lyude Paul) [1876992] - [drm] drm/nouveau/gem: fix "refcount_t: underflow; use-after-free" (Lyude Paul) [1876992] - [drm] drm/nouveau/nouveau: fix the start/end range for migration (Lyude Paul) [1876992] - [drm] drm/amd/display: adding ddc_gpio_vga_reg_list to ddc reg def'ns (Lyude Paul) [1876992] - [drm] drm/amd/display: Fixed panic during seamless boot (Lyude Paul) [1876992] - [drm] drm/amdgpu: add DID for navi10 blockchain SKU (Lyude Paul) [1876992] - [drm] drm/amdgpu: disable DCN and VCN for navi10 blockchain SKU(v3) (Lyude Paul) [1876992] - [drm] drm/amdgpu: resolved ASD loading issue on sienna (Lyude Paul) [1876992] - [drm] drm/amdgpu: update golden setting for sienna_cichlid (Lyude Paul) [1876992] - [drm] drm/nouveau/device: fix changing endianess code to work on older GPUs (Lyude Paul) [1876992] - [drm] drm/nouveau/kms/nv50-: Program notifier offset before requesting disp caps (Lyude Paul) [1876992] - [drm] drm/i915: Restore ILK-M RPS support (Lyude Paul) [1876992] - [drm] drm/i915: Reject 90/270 degree rotated initial fbs (Lyude Paul) [1876992] - [drm] drm/i915: Use the active reference on the vma while capturing (Lyude Paul) [1876992] - [drm] drm/i915: Mark ininitial fb obj as WT on eLLC machines to avoid rcu lockup during fbdev init (Lyude Paul) [1876992] - [drm] drm/i915: Exclude low pages (128KiB) of stolen from use (Lyude Paul) [1876992] - [drm] drm/i915: Drop runtime-pm assert from vgpu io accessors (Lyude Paul) [1876992] - [drm] drm/i915/gt: Delay execlist processing for tgl (Lyude Paul) [1876992] - [drm] drm/i915/gt: Undo forced context restores after trivial preemptions (Lyude Paul) [1876992] - [drm] drm/i915/gt: Initialize reserved and unspecified MOCS indices (Lyude Paul) [1876992] - [drm] drm/i915: Fix TGL DKL PHY DP vswing handling (Lyude Paul) [1876992] - [drm] drm/i915: Avoid mixing integer types during batch copies (Lyude Paul) [1876992] - [drm] drm/i915: Cancel outstanding work after disabling heartbeats on an engine (Lyude Paul) [1876992] - [drm] drm/i915: Break up error capture compression loops with cond_resched() (Lyude Paul) [1876992] - [drm] drm/i915/gt: Always send a pulse down the engine after disabling heartbeat (Lyude Paul) [1876992] - [drm] drm/i915/gem: Always test execution status on closing the context (Lyude Paul) [1876992] - [drm] drm/i915/gem: Prevent using pgprot_writecombine() if PAT is not supported (Lyude Paul) [1876992] - [drm] drm/i915/gem: Avoid implicit vmap for highmem on x86-32 (Lyude Paul) [1876992] - [drm] drm/amdgpu: correct the cu and rb info for sienna cichlid (Lyude Paul) [1876992] - [drm] drm/amd/psp: Fix sysfs: cannot create duplicate filename (Lyude Paul) [1876992] - [drm] drm/amd/swsmu: add missing feature map for sienna_cichlid (Lyude Paul) [1876992] - [drm] drm/amd/pm: fix pp_dpm_fclk (Lyude Paul) [1876992] - [drm] drm/amd/pm: increase mclk switch threshold to 200 us (Lyude Paul) [1876992] - [drm] drm/amdgpu/swsmu: drop smu i2c bus on navi1x (Lyude Paul) [1876992] - [drm] drm/ttm: fix eviction valuable range check (Lyude Paul) [1876992] - [drm] drm/amd/display: Fix kernel panic by dal_gpio_open() error (Lyude Paul) [1876992] - [drm] drm/amd/display: Don't invoke kgdb_breakpoint() unconditionally (Lyude Paul) [1876992] - [drm] drm/amdgpu: increase the reserved VM size to 2MB (Lyude Paul) [1876992] - [drm] drm/amdgpu: add function to program pbb mode for sienna cichlid (Lyude Paul) [1876992] - [drm] drm/amd/display: Avoid MST manager resource leak (Lyude Paul) [1876992] - [drm] drm/amdkfd: Use same SQ prefetch setting as amdgpu (Lyude Paul) [1876992] - [drm] drm/amdgpu: correct the gpu reset handling for job != NULL case (Lyude Paul) [1876992] - [drm] drm/amdgpu: update golden setting for sienna_cichlid (Lyude Paul) [1876992] - [drm] drm/amdgpu: vcn and jpeg ring synchronization (Lyude Paul) [1876992] - [drm] drm/amd/display: Increase timeout for DP Disable (Lyude Paul) [1876992] - [drm] drm/amd/display: Fix incorrect backlight register offset for DCN (Lyude Paul) [1876992] - [drm] drm/amdgpu: don't map BO in reserved region (Lyude Paul) [1876992] - [drm] drm/shme-helpers: Fix dma_buf_mmap forwarding bug (Lyude Paul) [1876992] - [drm] drm/i915: Force VT'd workarounds when running as a guest OS (Lyude Paul) [1876992] - [drm] drm/amd/display: Avoid set zero in the requested clk (Lyude Paul) [1876992] - [drm] drm/amd/display: HDMI remote sink need mode validation for Linux (Lyude Paul) [1876992] - [drm] drm/amdgpu: No sysfs, not an error condition (Lyude Paul) [1876992] - [drm] drm/amd/display: Check clock table return (Lyude Paul) [1876992] - [drm] drm/bridge/synopsys: dsi: add support for non-continuous HS clock (Lyude Paul) [1876992] - [drm] drm/vkms: avoid warning in vkms_get_vblank_timestamp (Lyude Paul) [1876992] - [drm] drm/bridge_connector: Set default status connected for eDP connectors (Lyude Paul) [1876992] - [drm] drm/scheduler: Scheduler priority fixes (v2) (Lyude Paul) [1876992] - [drm] drm/amdgpu: restore ras flags when user resets eeprom(v2) (Lyude Paul) [1876992] - [drm] drm/i915/gem: Serialise debugfs i915_gem_objects with ctx->mutex (Lyude Paul) [1876992] - [drm] drm/amd/display: Disconnect pipe separetely when disable pipe split (Lyude Paul) [1876992] - [drm] drm/hisilicon: Code refactoring for hibmc_drv_de (Lyude Paul) [1876992] - [drm] drm/amd/display: Screen corruption on dual displays (DP+USB-C) (Lyude Paul) [1876992] - [drm] drm: fix double free for gbo in drm_gem_vram_init and drm_gem_vram_create (Lyude Paul) [1876992] - [drm] drm/amdgpu: Fix invalid number of character '{' in amdgpu_acpi_init (Lyude Paul) [1876992] - [drm] drm/amdgpu: fix max_entries calculation v4 (Lyude Paul) [1876992] - [drm] drm/crc-debugfs: Fix memleak in crc_control_write (Lyude Paul) [1876992] - [drm] drm/gma500: fix error check (Lyude Paul) [1876992] - [drm] drm/amd/display: fix potential integer overflow when shifting 32 bit variable bl_pwm (Lyude Paul) [1876992] - [drm] drm/vkms: add missing platform_device_unregister() in vkms_init() (Lyude Paul) [1876992] - [drm] drm/vgem: add missing platform_device_unregister() in vgem_init() (Lyude Paul) [1876992] - [drm] drm/amd/display: Fix wrong return value in dm_update_plane_state() (Lyude Paul) [1876992] - [drm] drm/vkms: fix xrgb on compute crc (Lyude Paul) [1876992] - [iommu] iommu/amd: Set iommu->int_enabled consistently when interrupts are set up (Vitaly Kuznetsov) [1915038] - [iommu] iommu/amd: Fix IOMMU interrupt generation in X2APIC mode (Vitaly Kuznetsov) [1915038] - [iommu] iommu/amd: Fix union of bitfields in intcapxt support (Vitaly Kuznetsov) [1915038] - [iommu] iommu/amd: Fix kerneldoc comments (Vitaly Kuznetsov) [1915038] - [x86] x86/irq: Prepare consolidation of irq_alloc_info (Vitaly Kuznetsov) [1915038] - [iommu] iommu/amd: Use msi_msg shadow structs (Vitaly Kuznetsov) [1915038] - [iommu] x86_irq_Rename_X86_IRQ_ALLOC_TYPE_MSI_to_reflect_PCI_dependency (Vitaly Kuznetsov) [1915038] - [netdrv] Revert "e1000e: disable s0ix entry and exit flows for ME systems" (Ken Cox) [1872412] - [netdrv] e1000e: fix S0ix flow to allow S0i3.2 subset entry (Ken Cox) [1872412]- dm table: fix DAX iterate_devices based device capability checks (Mike Snitzer) [1905679] - dm table: fix various whitespace issues with recent DAX code (Mike Snitzer) [1905679] - dm table: fix dax_dev NULL dereference in device_synchronous() (Mike Snitzer) [1905679] - dm: enable synchronous dax (Mike Snitzer) [1905679] - dm table: fix iterate_devices based device capability checks (Mike Snitzer) [1905679] - dm: remove special-casing of bio-based immutable singleton target on NVMe (Mike Snitzer) [1905679] - [s390] s390/dasd: Fix inconsistent kobject removal (Philipp Rudo) [1928106] - [powerpc] powerpc/perf/hv-24x7: Dont create sysfs event files for dummy events (Steve Best) [1927730] - [powerpc] powerpc/pseries/dlpar: handle ibm, configure-connector delay status (Steve Best) [1927371] - [x86] x86/kvm: Increase KVM_MAX_VCPUS to 2048 (Eduardo Habkost) [1840923]- Unbreak mount_capable() (Scott Mayhew) [1903983]- [powerpc] powerpc: fix wrong backport on Kernel lockdown for power (Diego Domingos) [1928778] - [powerpc] powerpc/kexec_file: fix FDT size estimation for kdump kernel (Steve Best) [1928105] - [kernel] sched/features: Distinguish between NORMAL and DEADLINE hrtick (Juri Lelli) [1912118] - [kernel] sched/features: Fix hrtick reprogramming (Juri Lelli) [1912118] - [scsi] scsi: lpfc: Fix EEH encountering oops with NVMe traffic (Dick Kennedy) [1854776] - [scsi] scsi: lpfc: Prevent duplicate requests to unregister with cpuhp framework (Dick Kennedy) [1894960] - [target] scsi: target: iscsi: Fix cmd abort fabric stop race (Maurizio Lombardi) [1908215]- [net] netfilter: nft_dynset: add timeout extension to template (Florian Westphal) [1906915] - [net] netfilter: nftables: fix possible UAF over chains from packet path in netns (Florian Westphal) [1906915] - [net] netfilter: flowtable: fix tcp and udp header checksum update (Florian Westphal) [1906915] - [net] netfilter: xt_recent: Fix attempt to update deleted entry (Florian Westphal) [1906915] - [net] netfilter: conntrack: connection timeout after re-register (Florian Westphal) [1906915] - [netdrv] ice: Fix MSI-X vector fallback logic (Jonathan Toppins) [1896639 1877645] - [netdrv] ice: Don't allow more channels than LAN MSI-X available (Jonathan Toppins) [1896639 1877645] - [net] netfilter: nf_nat: Fix memleak in nf_nat_init (Florian Westphal) [1906915] - [net] netfilter: xt_RATEEST: reject non-null terminated string from userspace (Florian Westphal) [1906915] - [include] net: flow_dissector: Wrap unionized VLAN fields in a struct (Florian Westphal) [1906915] - [net] netfilter: x_tables: Switch synchronization to RCU (Florian Westphal) [1906915] - [net] netfilter: nftables_offload: build mask based from the matching bytes (Florian Westphal) [1906915] - [net] netfilter: nft_payload: add C-VLAN offload support (Florian Westphal) [1906915] - [net] netfilter: nft_payload: add VLAN offload support (Florian Westphal) [1906915] - [net] netfilter: nf_tables_offload: allow ethernet interface type only (Florian Westphal) [1906915] - [net] netfilter: nftables_offload: set address type in control dissector (Florian Westphal) [1906915] - [net] netfilter: nf_tables: avoid false-postive lockdep splat (Florian Westphal) [1906915] - [net] netfilter: nf_tables: missing validation from the abort path (Florian Westphal) [1906915] - [net] netfilter: nftables: fix netlink report logic in flowtable and genid (Florian Westphal) [1906915] - [include] netfilter: nf_tables: constify nft_reg_load{8, 16, 64}() (Florian Westphal) [1906915] - [net] netfilter: nf_tables: Introduce new 64-bit helper register functions (Florian Westphal) [1906915] - [include] netfilter: nf_tables: drop include of module.h from nf_tables.h (Florian Westphal) [1906915] - [net] netfilter: nf_fwd_netdev: clear timestamp in forwarding path (Florian Westphal) [1906915] - [net] netfilter: ipset: prevent uninit-value in hash_ip6_add (Florian Westphal) [1906915] - [net] netfilter: use actual socket sk rather than skb sk when routing harder (Florian Westphal) [1906915] - [net] netfilter: ipv4: remove useless export_symbol (Florian Westphal) [1906915] - [net] netfilter: conntrack: don't set related state for different outer address (Florian Westphal) [1906915] - [fs] xfs: don't catch dax+reflink inodes as corruption in verifier (Bill O'Donnell) [1915510]- [powerpc] powerpc: Don't enable FSCR_SCV in init_FSCR_power9() (Gustavo Duarte) [1928399] - [netdrv] ibmvnic: Clear failover_pending if unable to schedule (Steve Best) [1926365] - [netdrv] ibmvnic: change IBMVNIC_MAX_IND_DESCS to 16 (Steve Best) [1928243] - [tools] perf powerpc: Fix printf conversion specifier for IP addresses (Steve Best) [1928209] - [tools] perf powerpc: Fix gap between kernel end and module start (Steve Best) [1928209] - [netdrv] i40e: Revert "i40e: don't report link up for a VF who hasn't enabled queues" (Stefan Assmann) [1838733] - [netdrv] i40e: acquire VSI pointer only after VF is initialized (Stefan Assmann) [1838733] - [netdrv] i40e: fix potential NULL pointer dereferencing (Stefan Assmann) [1838733] - [netdrv] i40e: Fix Error I40E_AQ_RC_EINVAL when removing VFs (Stefan Assmann) [1838733] - [netdrv] i40e, xsk: clear the status bits for the next_to_use descriptor (Stefan Assmann) [1838733] - [netdrv] i40e: avoid premature Rx buffer reuse (Stefan Assmann) [1838733] - [netdrv] i40e: Remove unnecessary sw_ring access from xsk Tx (Stefan Assmann) [1838733] - [netdrv] i40e: Fix removing driver while bare-metal VFs pass traffic (Stefan Assmann) [1838733] - [netdrv] i40e: report correct VF link speed when link state is set to enable (Stefan Assmann) [1838733] - [netdrv] i40e: remove redundant assignment (Stefan Assmann) [1838733] - [netdrv] i40e: Fix MAC address setting for a VF via Host/VM (Stefan Assmann) [1838733] - [netdrv] i40e: Allow changing FEC settings on X722 if supported by FW (Stefan Assmann) [1838733] - [netdrv] net: intel: Remove in_interrupt() warnings (Stefan Assmann) [1838733] - [netdrv] intel-ethernet: clean up W=1 warnings in kdoc (Stefan Assmann) [1838733] - [netdrv] i40e, xsk: uninitialized variable in i40e_clean_rx_irq_zc() (Stefan Assmann) [1838733] - [netdrv] i40e, xsk: move buffer allocation out of the Rx processing loop (Stefan Assmann) [1838733] - [netdrv] i40e: use 16B HW descriptors instead of 32B (Stefan Assmann) [1838733] - [netdrv] i40e, xsk: remove HW descriptor prefetch in AF_XDP path (Stefan Assmann) [1838733] - [netdrv] i40e: optimise prefetch page refcount (Stefan Assmann) [1838733] - [netdrv] i40e: not compute affinity_mask for IRQ (Stefan Assmann) [1838733] - [netdrv] i40e: Fix crash during removing i40e driver (Stefan Assmann) [1838733] - [netdrv] i40e: Set RX_ONLY mode for unicast promiscuous on VLAN (Stefan Assmann) [1838733] - [netdrv] PCI: Use 'pci_channel_state_t' instead of 'enum pci_channel_state' (Stefan Assmann) [1838733] - [netdrv] i40e: introduce new dump desc XDP command (Stefan Assmann) [1838733] - [netdrv] i40e: add XDP ring statistics to dump VSI debug output (Stefan Assmann) [1838733] - [netdrv] i40e: add XDP ring statistics to VSI stats (Stefan Assmann) [1838733] - [netdrv] i40e: move check of full Tx ring to outside of send loop (Stefan Assmann) [1838733] - [netdrv] i40e: eliminate division in napi_poll data path (Stefan Assmann) [1838733] - [netdrv] i40e: optimize AF_XDP Tx completion path (Stefan Assmann) [1838733] - [netdrv] i40e: Add support for a new feature Total Port Shutdown (Stefan Assmann) [1838733] - [netdrv] ethernet/intel: Convert fallthrough code comments (Stefan Assmann) [1838733] - [netdrv] i40e: Add support for 5Gbps cards (Stefan Assmann) [1838733] - [netdrv] net/intel: remove driver versions from Intel drivers (Stefan Assmann) [1838733] - [netdrv] i40e: Add a check to see if MFS is set (Stefan Assmann) [1838733] - [netdrv] i40e: detect and log info about pre-recovery mode (Stefan Assmann) [1838733] - [netdrv] i40e: make PF wait reset loop reliable (Stefan Assmann) [1838733] - [netdrv] i40e: remove unused defines (Stefan Assmann) [1838733] - [netdrv] i40e: Move client header location (Stefan Assmann) [1838733] - [netdrv] i40e: protect ring accesses with READ- and WRITE_ONCE (Stefan Assmann) [1838733] - [netdrv] i40e: Make i40e_shutdown_adminq() return void (Stefan Assmann) [1838733] - [netdrv] i40e: trivial fixup of comments in i40e_xsk.c (Stefan Assmann) [1838733] - [netdrv] i40e: Use scnprintf() for avoiding potential buffer overflow (Stefan Assmann) [1838733] - [netdrv] team: protect features update by RCU to avoid deadlock (Josef Oskera) [1909593] - [tools] bpf: selftests: remove test_progs LSM test (Yauheni Kaliuta) [1925911] - [net] bpf: Fix a verifier failure with xor (Yauheni Kaliuta) [1925911] - [tools] selftests: Remove fmod_ret from test_overhead (Jiri Olsa) [1925911] - [s390] s390/kdump: fix out-of-memory with PCI (Philipp Rudo) [1927744] - [x86] x86/intel_split_lock: Really Disable split lock detector by default in RHEL8 (Prarit Bhargava) [1924578] - [scsi] megaraid_sas: re-add certain pci-ids as unsupported (Tomas Henzl) [1761485] - [scsi] megaraid_sas: mark unsupported devices (Tomas Henzl) [1761485] - [pci] rh_taint: add support function (Tomas Henzl) [1761485] - [powerpc] powerpc/xmon: Restrict when kernel is locked down (Diego Domingos) [1853307] - [powerpc] powerpc/xmon: add read-only mode (Diego Domingos) [1853307] - [powerpc] powerpc: lock down kernel in secure boot mode (Diego Domingos) [1853307] - [net] fix iteration for sctp transport seq_files (Xin Long) [1916824] - [tools] x86: xen: insn: Decode Xen and KVM emulate-prefix signature (Michael Petlan) [1867733] - [tools] objtool: Ignore intentional differences for the x86 insn decoder (Michael Petlan) [1867733] - [x86] x86/insn: Add Control-flow Enforcement (CET) instructions to the opcode map (Michael Petlan) [1867733] - [x86] x86/decoder: Add TEST opcode to Group3-2 (Michael Petlan) [1867733] - [x86] x86/insn: Add some more Intel instructions to the opcode map (Michael Petlan) [1867733] - [x86] x86/insn: Add some Intel instructions to the opcode map (Michael Petlan) [1867733] - [net] udp: call udp_encap_enable for v6 sockets when enabling encap (Xin Long) [1907754] - [fs] close_range: unshare all fds for CLOSE_RANGE_UNSHARE | CLOSE_RANGE_CLOEXEC (Pavel Reichl) [1900674] - [fs] fs, close_range: add flag CLOSE_RANGE_CLOEXEC (Pavel Reichl) [1900674] - [tools] tests: close_range - Replace clone3 with clone (Pavel Reichl) [1900674] - [tools] selftests: core: use SKIP instead of XFAIL in close_range_test.c (Pavel Reichl) [1900674] - [tools] tools headers API: Update close_range affected files (Pavel Reichl) [1900674] - [tools] tests: add CLOSE_RANGE_UNSHARE tests (Pavel Reichl) [1900674] - [fs] close_range: add CLOSE_RANGE_UNSHARE (Pavel Reichl) [1900674] - [tools] tests: add close_range() tests (Pavel Reichl) [1900674] - [powerpc] arch: wire-up close_range() (Pavel Reichl) [1900674] - [fs] open: add close_range() (Pavel Reichl) [1900674] - [x86] x86/sgx: mark tech preview (Vladis Dronov) [1660337] - [tools] tools headers cpufeatures: Sync with the kernel sources (Vladis Dronov) [1660337] - [tools] tools arch x86: Sync the msr-index.h copy with the kernel sources (Vladis Dronov) [1660337] - [tools] tools arch x86: Sync the msr-index.h copy with the kernel sources (Vladis Dronov) [1660337] - [x86] x86/sgx: Drop racy follow_pfn() check (Vladis Dronov) [1660337] - [x86] x86/sgx: Fix the return type of sgx_init() (Vladis Dronov) [1660337] - [x86] x86/sgx: Return -EINVAL on a zero length buffer in sgx_ioc_enclave_add_pages() (Vladis Dronov) [1660337] - [x86] x86/sgx: Fix a typo in kernel-doc markup (Vladis Dronov) [1660337] - [x86] x86/sgx: Fix sgx_ioc_enclave_provision() kernel-doc comment (Vladis Dronov) [1660337] - [x86] x86/sgx: Return -ERESTARTSYS in sgx_ioc_enclave_add_pages() (Vladis Dronov) [1660337] - [tools] selftests/sgx: Use a statically generated 3072-bit RSA key (Vladis Dronov) [1660337] - [x86] x86/sgx: Clarify 'laundry_list' locking (Vladis Dronov) [1660337] - [documentation] Documentation/x86: Document SGX kernel architecture (Vladis Dronov) [1660337] - [x86] x86/sgx: Add ptrace() support for the SGX driver (Vladis Dronov) [1660337] - [x86] x86/sgx: Add a page reclaimer (Vladis Dronov) [1660337] - [tools] selftests/x86: Add a selftest for SGX (Vladis Dronov) [1660337] - [x86] x86/vdso: Implement a vDSO for Intel SGX enclave call (Vladis Dronov) [1660337] - [mm] x86/traps: Attempt to fixup exceptions in vDSO before signaling (Vladis Dronov) [1660337] - [mm] x86/fault: Add a helper function to sanitize error code (Vladis Dronov) [1660337] - [x86] x86/vdso: Add support for exception fixup in vDSO functions (Vladis Dronov) [1660337] - [x86] x86/sgx: Add SGX_IOC_ENCLAVE_PROVISION (Vladis Dronov) [1660337] - [x86] x86/sgx: Add SGX_IOC_ENCLAVE_INIT (Vladis Dronov) [1660337] - [x86] x86/sgx: Add SGX_IOC_ENCLAVE_ADD_PAGES (Vladis Dronov) [1660337] - [x86] x86/sgx: Add SGX_IOC_ENCLAVE_CREATE (Vladis Dronov) [1660337] - [x86] x86/sgx: Add an SGX misc driver interface (Vladis Dronov) [1660337] - [mm] mm: Add 'mprotect' hook to struct vm_operations_struct (Vladis Dronov) [1660337] - [x86] x86/sgx: Add SGX page allocator functions (Vladis Dronov) [1660337] - [x86] x86/cpu/intel: Add a nosgx kernel parameter (Vladis Dronov) [1660337] - [x86] x86/cpu/intel: Detect SGX support (Vladis Dronov) [1660337] - [mm] x86/mm: Signal SIGSEGV with PF_SGX (Vladis Dronov) [1660337] - [x86] x86/sgx: Initialize metadata for Enclave Page Cache (EPC) sections (Vladis Dronov) [1660337] - [x86] x86/{cpufeatures, msr}: Add Intel SGX Launch Control hardware bits (Vladis Dronov) [1660337] - [x86] x86/cpufeatures: Add Intel SGX hardware bits (Vladis Dronov) [1660337] - [x86] x86/sgx: Add wrappers for ENCLS functions (Vladis Dronov) [1660337] - [x86] x86/sgx: Add SGX architectural data structures (Vladis Dronov) [1660337] - [mm] x86/fault: Make error_code sanitization more robust (Vladis Dronov) [1660337] - [video] vgacon: remove software scrollback support (Chris von Recklinghausen) [1883596] - [tools] libbpf: fix backport of "libbpf: Remove any use of reallocarray() in libbpf" (Jiri Benc) [1924711] - [net] bpf: Prevent double bpf_prog_put call from bpf_tracing_prog_attach (Jiri Benc) [1924711] - [tools] selftests/bpf: Adding test for arg dereference in extension trace (Jiri Benc) [1924711] - [tools] selftests: Add selftest for disallowing modify_return attachment to freplace (Jiri Benc) [1924711] - [tools] selftests: Add test for multiple attachments of freplace program (Jiri Benc) [1924711] - [tools] selftests/bpf: Turn fexit_bpf2bpf into test with subtests (Jiri Benc) [1924711] - [tools] libbpf: Add support for freplace attachment in bpf_link_create (Jiri Benc) [1924711] - [net] bpf: Fix context type resolving for extension programs (Jiri Benc) [1924711] - [net] bpf: Support attaching freplace programs to multiple attach points (Jiri Benc) [1924711] - [net] bpf: Move prog->aux->linked_prog and trampoline into bpf_link on attach (Jiri Benc) [1924711] - [net] bpf: verifier: refactor check_attach_btf_id() (Jiri Benc) [1924711] - [net] bpf: change logging calls from verbose() to bpf_log() and use log pointer (Jiri Benc) [1924711] - [net] bpf: disallow attaching modify_return tracing functions to other BPF programs (Jiri Benc) [1924711] - [mm] kasan: fix incorrect arguments passing in kasan_add_zero_shadow (Waiman Long) [1921394] - [mm] kasan: fix unaligned address is unhandled in kasan_remove_zero_shadow (Waiman Long) [1921394] - [mm] mm: memcg/slab: optimize objcg stock draining (Waiman Long) [1921394] - [mm] mm: don't wake kswapd prematurely when watermark boosting is disabled (Waiman Long) [1921394] - [mm] mm/vmalloc.c: fix kasan shadow poisoning size (Waiman Long) [1921394] - [mm] mm/vmalloc: Fix unlock order in s_stop() (Waiman Long) [1921394] - [mm] mm/swapfile: do not sleep with a spin lock held (Waiman Long) [1921394] - [mm] mm: list_lru: set shrinker map bit when child nr_items is not zero (Waiman Long) [1921394] - [mm] mm: mempolicy: fix potential pte_unmap_unlock pte error (Waiman Long) [1921394] - [mm] mm/mmu_notifier: fix mmget() assert in __mmu_interval_notifier_insert (Waiman Long) [1921394] - [mm] mm/swapfile.c: fix potential memory leak in sys_swapon (Waiman Long) [1921394] - [mm] mm: validate pmd after splitting (Waiman Long) [1921394] - [mm] hugetlb_cgroup: convert comma to semicolon (Waiman Long) [1921394] - [mm] mm/memory_hotplug: fix unpaired mem_hotplug_begin/done (Waiman Long) [1921394] - [mm] khugepaged: adjust VM_BUG_ON_MM() in __khugepaged_enter() (Waiman Long) [1921394] - [mm] khugepaged: khugepaged_test_exit() check mmget_still_valid() (Waiman Long) [1921394] - [mm] mm/hugetlb: fix calculation of adjust_range_if_pmd_sharing_possible (Waiman Long) [1921394] - [mm] mm/hugetlb.c: clean code by removing unnecessary initialization (Waiman Long) [1921394] - [mm] mm/sparse: never partially remove memmap for early section (Waiman Long) [1921394] - [mm] mm/sparse: fix kernel crash with pfn_section_valid check (Waiman Long) [1921394] - [mm] mm/shuffle: don't move pages between zones and don't read garbage memmaps (Waiman Long) [1921394] - [mm] mm/sparse: rename pfn_present() to pfn_in_present_section() (Waiman Long) [1921394] - [powerpc] powerpc/pseries: Advance pfn if section is not present in lmb_is_removable() (Waiman Long) [1921394] - [powerpc] powerpc/pseries/hotplug-memory: Change rc variable to bool (Waiman Long) [1921394] - [mm] mm/gup: fix fixup_user_fault() on multiple retries (Waiman Long) [1921394] - [mm] mm/gup: Let __get_user_pages_locked() return -EINTR for fatal signal (Waiman Long) [1921394] - [mm] mm/mempolicy: Allow lookup_node() to handle fatal signal (Waiman Long) [1921394] - [include] include/linux/memremap.h: remove stale comments (Waiman Long) [1921394] - [mm] mm/sparsemem: get address to page struct instead of address to pfn (Waiman Long) [1921394] - [fs] hibernate: Allow uswsusp to write to swap (Waiman Long) [1921394] - [mm] mm/hotplug: fix hot remove failure in SPARSEMEM|!VMEMMAP case (Waiman Long) [1921394] - [mm] mm/hmm: add missing call to hmm_pte_need_fault in HMM_PFN_SPECIAL handling (Waiman Long) [1921394] - [mm] mm/hmm: add missing unmaps of the ptep during hmm_vma_handle_pte() (Waiman Long) [1921394] - [mm] mm/hmm: allow snapshot of the special zero page (Waiman Long) [1921394] - [mm] mm/hmm: a few more C style and comment clean ups (Waiman Long) [1921394] - [mm] mm/sparse.c: do not waste pre allocated memmap space (Waiman Long) [1921394] - [mm] mm/sparse: consistently do not zero memmap (Waiman Long) [1921394] - [mm] mm/gup: fix a misnamed "write" argument, and a related bug (Waiman Long) [1921394] - [powerpc] treewide: add checks for the return value of memblock_alloc*() (Waiman Long) [1921394] - [kvm] KVM: x86: Expose AVX512_FP16 for supported CPUID (Paul Lai) [1838734] - [x86] x86: Enumerate AVX512 FP16 CPUID feature flag (Paul Lai) [1838734] - [kvm] x86/kvm: Expose TSX Suspend Load Tracking feature (Paul Lai) [1838734] - [net] sched: act_ct: enable stats for HW offloaded entries (Marcelo Leitner) [1909257] - [scsi] scsi: fnic: Validate io_req before others (Govindarajulu Varadarajan) [1845720] - [scsi] scsi: fnic: Set scsi_set_resid() only for underflow (Govindarajulu Varadarajan) [1845720] - [scsi] scsi: fnic: Change shost_printk() to FNIC_MAIN_DBG() (Govindarajulu Varadarajan) [1845720] - [scsi] scsi: fnic: Avoid looping in TRANS ETH on unload (Govindarajulu Varadarajan) [1845720] - [scsi] scsi: fnic: Change shost_printk() to FNIC_FCS_DBG() (Govindarajulu Varadarajan) [1845720] - [scsi] scsi: fnic: Simplify the return expression of vnic_wq_copy_alloc() (Govindarajulu Varadarajan) [1845720] - [scsi] scsi: fnic: Fix inconsistent format argument type in fnic_debugfs.c (Govindarajulu Varadarajan) [1845720] - [x86] perf/x86/intel/uncore: Fix the scale of the IMC free-running events (Michael Petlan) [1884818 1908305] - [x86] perf/x86/intel/uncore: Reduce the number of CBOX counters (Michael Petlan) [1884818 1908305] - [x86] perf/x86/intel/uncore: Update Ice Lake uncore units (Michael Petlan) [1884818 1908305] - [x86] perf/x86/intel/uncore: Split the Ice Lake and Tiger Lake MSR uncore support (Michael Petlan) [1884818 1908305] - [x86] perf/x86/intel/uncore: Support PCIe3 unit on Snow Ridge (Michael Petlan) [1884818 1908305] - [x86] perf/x86/intel/uncore: Generic support for the PCI sub driver (Michael Petlan) [1884818 1908305] - [x86] perf/x86/intel/uncore: Factor out uncore_pci_pmu_unregister() (Michael Petlan) [1884818 1908305] - [x86] perf/x86/intel/uncore: Factor out uncore_pci_pmu_register() (Michael Petlan) [1884818 1908305] - [x86] perf/x86/intel/uncore: Factor out uncore_pci_find_dev_pmu() (Michael Petlan) [1884818 1908305] - [x86] perf/x86/intel/uncore: Factor out uncore_pci_get_dev_die_info() (Michael Petlan) [1884818 1908305]- [mmc] mmc: sdhci-acpi: For amd device set driver type as MMC_SET_DRIVER_TYPE_A (David Arcari) [1906067] - [pinctrl] pinctrl: Added IRQF_SHARED flag for amd-pinctrl driver (David Arcari) [1906067] - [block] block: export blk_mq_make_request (Ming Lei) [1917913] - [platform] platform/x86: dell-wmi-sysman: fix a NULL pointer dereference (Perry Yuan) [1922587] - [platform] platform/x86: dell-wmi-sysman: work around for BIOS bug (Juan Martinez) [1504859] - [platform] platform/x86: dell-wmi-sysman: fix init_bios_attributes() error handling (Juan Martinez) [1504859] - [platform] platform/x86/dell-wmi-sysman: Make some symbols static (Juan Martinez) [1504859] - [platform] platform/x86/dell-wmi-sysman: Make wmi_sysman_kobj_sysfs_ops static (Juan Martinez) [1504859] - [documentation] docs: ABI: sysfs-class-firmware-attributes: solve some warnings (Juan Martinez) [1504859] - [platform] platform/x86: Use appropriate module alias macro for this kernel (Juan Martinez) [1504859] - [platform] platform/x86: Introduce support for Systems Management Driver over WMI for Dell Systems (Juan Martinez) [1504859] - [md] dm: eliminate potential source of excessive kernel log noise (Mike Snitzer) [1876840] - [scsi] scsi: sd: Suppress spurious errors when WRITE SAME is being disabled (Ewan Milne) [1871060] - [net] libceph, ceph: disambiguate ceph_connection_operations handlers (Jeff Layton) [1893177] - [net] libceph: zero out session key and connection secret (Jeff Layton) [1893177] - [include] libceph: add __maybe_unused to DEFINE_MSGR2_FEATURE (Jeff Layton) [1893177] - [net] libceph: align session_key and con_secret to 16 bytes (Jeff Layton) [1893177] - [net] libceph: fix auth_signature buffer allocation in secure mode (Jeff Layton) [1893177] - [fs] ceph: reencode gid_list when reconnecting (Jeff Layton) [1893177] - [net] libceph: drop ceph_auth_{create, update}_authorizer() (Jeff Layton) [1893177] - [fs] libceph, ceph: make use of __ceph_auth_get_authorizer() in msgr1 (Jeff Layton) [1893177] - [net] libceph, ceph: implement msgr2.1 protocol (crc and secure modes) (Jeff Layton) [1893177] - [net] libceph: introduce connection modes and ms_mode option (Jeff Layton) [1893177] - [block] libceph, rbd: ignore addr->type while comparing in some cases (Jeff Layton) [1893177] - [net] libceph, ceph: get and handle cluster maps with addrvecs (Jeff Layton) [1893177] - [net] libceph: factor out finish_auth() (Jeff Layton) [1893177] - [net] libceph: drop ac->ops->name field (Jeff Layton) [1893177] - [net] libceph: amend cephx init_protocol() and build_request() (Jeff Layton) [1893177] - [net] libceph, ceph: incorporate nautilus cephx changes (Jeff Layton) [1893177] - [net] libceph: safer en/decoding of cephx requests and replies (Jeff Layton) [1893177] - [net] libceph: more insight into ticket expiry and invalidation (Jeff Layton) [1893177] - [net] libceph: move msgr1 protocol specific fields to its own struct (Jeff Layton) [1893177] - [net] libceph: move msgr1 protocol implementation to its own file (Jeff Layton) [1893177] - [net] libceph: use sendpage_ok() in ceph_tcp_sendpage() (Jeff Layton) [1893177] - [net] net: introduce helper sendpage_ok() in include/linux/net.h (Jeff Layton) [1893177] - [net] libceph: separate msgr1 protocol implementation (Jeff Layton) [1893177] - [net] libceph: export remaining protocol independent infrastructure (Jeff Layton) [1893177] - [net] libceph: export zero_page (Jeff Layton) [1893177] - [net] libceph: rename and export con->flags bits (Jeff Layton) [1893177] - [net] libceph: rename and export con->state states (Jeff Layton) [1893177] - [net] libceph: make con->state an int (Jeff Layton) [1893177] - [net] libceph: don't export ceph_messenger_{init_fini}() to modules (Jeff Layton) [1893177] - [net] libceph: make sure our addr->port is zero and addr->nonce is non-zero (Jeff Layton) [1893177] - [net] libceph: factor out ceph_con_get_out_msg() (Jeff Layton) [1893177] - [net] libceph: change ceph_con_in_msg_alloc() to take hdr (Jeff Layton) [1893177] - [net] libceph: change ceph_msg_data_cursor_init() to take cursor (Jeff Layton) [1893177] - [net] libceph: handle discarding acked and requeued messages separately (Jeff Layton) [1893177] - [net] libceph: drop msg->ack_stamp field (Jeff Layton) [1893177] - [net] libceph: remove redundant session reset log message (Jeff Layton) [1893177] - [net] libceph: clear con->peer_global_seq on RESETSESSION (Jeff Layton) [1893177] - [net] libceph: rename reset_connection() to ceph_con_reset_session() (Jeff Layton) [1893177] - [net] libceph: split protocol reset bits out of reset_connection() (Jeff Layton) [1893177] - [net] libceph: don't call reset_connection() on version/feature mismatches (Jeff Layton) [1893177] - [net] libceph: lower exponential backoff delay (Jeff Layton) [1893177] - [net] libceph: include middle_len in process_message() dout (Jeff Layton) [1893177] - [fs] ceph: implement updated ceph_mds_request_head structure (Jeff Layton) [1893177] - [fs] ceph: clean up argument lists to __prepare_send_request and __send_request (Jeff Layton) [1893177] - [fs] ceph: take a cred reference instead of tracking individual uid/gid (Jeff Layton) [1893177] - [fs] ceph: don't reach into request header for readdir info (Jeff Layton) [1893177] - [fs] ceph: set osdmap epoch for setxattr (Jeff Layton) [1893177] - [fs] ceph: remove redundant assignment to variable i (Jeff Layton) [1893177] - [fs] ceph: add ceph.caps vxattr (Jeff Layton) [1893177] - [fs] ceph: when filling trace, call ceph_get_inode outside of mutexes (Jeff Layton) [1893177] - [fs] Revert "ceph: allow rename operation under different quota realms" (Jeff Layton) [1893177] - [fs] ceph: fix inode refcount leak when ceph_fill_inode on non-I_NEW inode fails (Jeff Layton) [1893177] - [fs] ceph: downgrade warning from mdsmap decode to debug (Jeff Layton) [1893177] - [fs] ceph: fix race in concurrent __ceph_remove_cap invocations (Jeff Layton) [1893177] - [fs] ceph: pass down the flags to grab_cache_page_write_begin (Jeff Layton) [1893177] - [fs] ceph: add ceph.{cluster_fsid/client_id} vxattrs (Jeff Layton) [1893177] - [fs] ceph: add status debugfs file (Jeff Layton) [1893177] - [include] libceph: remove unused port macros (Jeff Layton) [1893177] - [fs] ceph: ensure we have Fs caps when fetching dir link count (Jeff Layton) [1893177] - [fs] ceph: send dentry lease metrics to MDS daemon (Jeff Layton) [1893177] - [fs] ceph: acquire Fs caps when getting dir stats (Jeff Layton) [1893177] - [fs] ceph: fix up some warnings on W=1 builds (Jeff Layton) [1893177] - [fs] ceph: queue MDS requests to REJECTED sessions when CLEANRECOVER is set (Jeff Layton) [1893177] - [fs] ceph: remove timeout on allowing reconnect after blocklisting (Jeff Layton) [1893177] - [fs] ceph: add new RECOVER mount_state when recovering session (Jeff Layton) [1893177] - [fs] ceph: make fsc->mount_state an int (Jeff Layton) [1893177] - [fs] ceph: don't WARN when removing caps due to blocklisting (Jeff Layton) [1893177] - [fs] ceph: check session state after bumping session->s_seq (Jeff Layton) [1893177] - [net] libceph: clear con->out_msg on Policy::stateful_server faults (Jeff Layton) [1893177] - [net] libceph: format ceph_entity_addr nonces as unsigned (Jeff Layton) [1893177] - [include] libceph: fix ENTITY_NAME format suggestion (Jeff Layton) [1893177] - [net] libceph: move a dout in queue_con_delay() (Jeff Layton) [1893177] - [fs] ceph: comment cleanups and clarifications (Jeff Layton) [1893177] - [fs] ceph: break up send_cap_msg (Jeff Layton) [1893177] - [fs] ceph: drop separate mdsc argument from __send_cap (Jeff Layton) [1893177] - [fs] ceph: promote to unsigned long long before shifting (Jeff Layton) [1893177] - [fs] ceph: don't SetPageError on readpage errors (Jeff Layton) [1893177] - [fs] ceph: mark ceph_fmt_xattr() as printf-like for better type checking (Jeff Layton) [1893177] - [fs] ceph: fold ceph_update_writeable_page into ceph_write_begin (Jeff Layton) [1893177] - [fs] ceph: fold ceph_sync_writepages into writepage_nounlock (Jeff Layton) [1893177] - [fs] ceph: fold ceph_sync_readpages into ceph_readpage (Jeff Layton) [1893177] - [fs] ceph: don't call ceph_update_writeable_page from page_mkwrite (Jeff Layton) [1893177] - [fs] ceph: break out writeback of incompatible snap context to separate function (Jeff Layton) [1893177] - [fs] ceph: add a note explaining session reject error string (Jeff Layton) [1893177] - [net] libceph: switch to the new "osd blocklist add" command (Jeff Layton) [1893177] - [fs] libceph, rbd, ceph: "blacklist" -> "blocklist" (Jeff Layton) [1893177] - [fs] ceph: have ceph_writepages_start call pagevec_lookup_range_tag (Jeff Layton) [1893177] - [fs] ceph: use kill_anon_super helper (Jeff Layton) [1893177] - [fs] ceph: metrics for opened files, pinned caps and opened inodes (Jeff Layton) [1893177] - [fs] ceph: add ceph_sb_to_mdsc helper support to parse the mdsc (Jeff Layton) [1893177] - [fs] ceph: drop special-casing for ITER_PIPE in ceph_sync_read (Jeff Layton) [1893177] - [fs] ceph: add column 'mds' to show caps in more user friendly (Jeff Layton) [1893177] - [include] libceph: multiple workspaces for CRUSH computations (Jeff Layton) [1893177] - [fs] ceph: remove unnecessary return in switch statement (Jeff Layton) [1893177] - [fs] ceph: encode inodes' parent/d_name in cap reconnect message (Jeff Layton) [1893177] - [include] libceph: add __maybe_unused to DEFINE_CEPH_FEATURE (Jeff Layton) [1893177] - [fs] ceph: use frag's MDS in either mode (Jeff Layton) [1893177] - [fs] ceph: move sb->wb_pagevec_pool to be a global mempool (Jeff Layton) [1893177] - [fs] ceph: remove redundant initialization of variable mds (Jeff Layton) [1893177] - [fs] ceph: fix use-after-free for fsc->mdsc (Jeff Layton) [1893177] - [fs] ceph: remove unused variables in ceph_mdsmap_decode() (Jeff Layton) [1893177] - [fs] ceph: delete repeated words in fs/ceph/ (Jeff Layton) [1893177] - [fs] ceph: send client provided metric flags in client metadata (Jeff Layton) [1893177] - [fs] ceph: periodically send perf metrics to MDSes (Jeff Layton) [1893177] - [fs] ceph: check the sesion state and return false in case it is closed (Jeff Layton) [1893177] - [net] libceph: replace HTTP links with HTTPS ones (Jeff Layton) [1893177] - [fs] ceph: remove unnecessary cast in kfree() (Jeff Layton) [1893177] - [net] libceph: just have osd_req_op_init() return a pointer (Jeff Layton) [1893177] - [fs] ceph: do not access the kiocb after aio requests (Jeff Layton) [1893177] - [fs] ceph: clean up and optimize ceph_check_delayed_caps() (Jeff Layton) [1893177] - [fs] ceph: fix potential mdsc use-after-free crash (Jeff Layton) [1893177] - [fs] ceph: switch to WARN_ON_ONCE in encode_supported_features() (Jeff Layton) [1893177] - [fs] ceph: add global total_caps to count the mdsc's total caps number (Jeff Layton) [1893177] - [fs] ceph: add check_session_state() helper and make it global (Jeff Layton) [1893177] - [net] libceph: dump class and method names on method calls (Jeff Layton) [1893177] - [net] libceph: use target_copy() in send_linger() (Jeff Layton) [1893177] - [fs] ceph: add metadata perf metric support (Jeff Layton) [1893177] - [fs] ceph: add read/write latency metric support (Jeff Layton) [1893177] - [fs] ceph: add caps perf metric for each superblock (Jeff Layton) [1893177] - [fs] ceph: add dentry lease metric support (Jeff Layton) [1893177] - [include] math64: New DIV64_U64_ROUND_CLOSEST helper (Jeff Layton) [1893177] - [tty] tty: Fix ->pgrp locking in tiocspgrp() (Waiman Long) [1908197] {CVE-2020-29661}- [mm] Revert "powerpc: Ensure that swiotlb buffer is allocated from low memory" (Diego Domingos) [1907131] - [fs] xfs: use ENOTBLK for direct I/O to buffered I/O fallback (Carlos Maiolino) [1922953] - [nvme] nvme-multipath: Early exit if no path is available (Gopal Tiwari) [1880508] - [scsi] scsi: lpfc: Add support for eh_should_retry_cmd() (Ewan Milne) [1801585] - [scsi] scsi: scsi_transport_fc: Add store capability to rport port_state in sysfs (Ewan Milne) [1801585] - [scsi] scsi: scsi_transport_fc: Add a new rport state FC_PORTSTATE_MARGINAL (Ewan Milne) [1801585] - [scsi] scsi: core: No retries on abort success (Ewan Milne) [1801585] - [scsi] scsi: core: Add a new error code DID_TRANSPORT_MARGINAL in scsi.h (Ewan Milne) [1801585] - [scsi] scsi: core: Add limitless cmd retry support (Ewan Milne) [1801585] - [fs] gfs2: Fix deadlock between gfs2_{create_inode, inode_lookup} and delete_work_func (Andreas Grunbacher) [1903190] - [fs] gfs2: Don't call cancel_delayed_work_sync from within delete work function (Andreas Grunbacher) [1903190] - [cpufreq] acpi-cpufreq: Honor _PSD table setting on new AMD CPUs (Terry Bowman) [1886943] - [x86] x86/cpufeatures: Enumerate TSX suspend load address tracking instructions (Josh Poimboeuf) [1836980] - [powerpc] powerpc/pseries/svm: Allocate SWIOTLB buffer anywhere in memory (Diego Domingos) [1869184] - [mm] powerpc: Ensure that swiotlb buffer is allocated from low memory (Diego Domingos) [1869184] - [fs] debugfs: Fix module state check condition (Vladis Dronov) [1866285] - [fs] debugfs: Check module state before warning in {full/open}_proxy_open() (Vladis Dronov) [1866285]- [firmware] efi: Don't attempt to map RCI2 config table if it doesn't exist (Lenny Szubowicz) [1779590] - [firmware] efi: Make CONFIG_EFI_RCI2_TABLE selectable on x86 only (Lenny Szubowicz) [1779590] - [firmware] efi: Make unexported efi_rci2_sysfs_init() static (Lenny Szubowicz) [1779590] - [iommu] iommu: use the __iommu_attach_device() directly for deferred attach (Lianbo Jiang) [1904658] - [iommu] dma-iommu: use static-key to minimize the impact in the fast-path (Lianbo Jiang) [1904658] - [x86] x86/PCI: sta2x11: use default DMA address translation (Jerry Snitselaar) [1887546] - [powerpc] powerpc: use the generic dma_ops_bypass mode (Jerry Snitselaar) [1887546] - [dma] dmaengine: fix error codes in channel_register() (Jerry Snitselaar) [1837187] - [dma] dmaengine: idxd: off by one in cleanup code (Jerry Snitselaar) [1837187] - [documentation] dmaengine: idxd: Add ABI documentation for shared wq (Jerry Snitselaar) [1837187] - [dma] dmaengine: idxd: Clean up descriptors with fault error (Jerry Snitselaar) [1837187] - [dma] dmaengine: idxd: Add shared workqueue support (Jerry Snitselaar) [1837187] - [dma] dmaengine: idxd: fix mapping of portal size (Jerry Snitselaar) [1837187] - [dma] dmaengine: idxd: fix wq config registers offset programming (Jerry Snitselaar) [1837187] - [dma] dmaengine: ioat: Allocate correct size for descriptor chunk (Jerry Snitselaar) [1837187] - [uapi] dmaengine: idxd: add missing invalid flags field to completion (Jerry Snitselaar) [1837187] - [uapi] dmaengine: idxd: fix hw descriptor fields for delta record (Jerry Snitselaar) [1837187] - [uapi] dmaengine: idxd: Merge definition of dsa_batch_desc into dsa_hw_desc (Jerry Snitselaar) [1838386 1837187] - [dma] dmaengine: dmatest: Return boolean result directly in filter() (Jerry Snitselaar) [1837187] - [dma] dmaengine: dmatest: Check list for emptiness before access its last entry (Jerry Snitselaar) [1837187] - [dma] dmaengine: ioat: Make two symbols static (Jerry Snitselaar) [1837187] - [dma] dmaengine: dmatest: Print error codes as signed value (Jerry Snitselaar) [1837187] - [dma] dmaengine: idxd: add command status to idxd sysfs attribute (Jerry Snitselaar) [1893465 1837187] - [dma] dmaengine: idxd: add support for configurable max wq batch size (Jerry Snitselaar) [1893468 1837187] - [dma] dmaengine: idxd: add support for configurable max wq xfer size (Jerry Snitselaar) [1893468 1837187] - [documentation] dmaengine: idxd: add leading / for sysfspath in ABI documentation (Jerry Snitselaar) [1837187] - [dma] dmaengine: idxd: clear misc interrupt cause after read (Jerry Snitselaar) [1837187] - [dma] dmaengine: dmatest: Prevent to run on misconfigured channel (Jerry Snitselaar) [1837187] - [dma] dmaengine: acpi: Put the CSRT table after using it (Jerry Snitselaar) [1837187] - [dma] dmaengine: idxd: reset states after device disable or reset (Jerry Snitselaar) [1837187] - [dma] dmaengine: idxd: move idxd interrupt handling to mask instead of ignore (Jerry Snitselaar) [1872374 1837187] - [dma] dmaengine: idxd: add work queue drain support (Jerry Snitselaar) [1837187] - [dma] dmaengine: idxd: move submission to sbitmap_queue (Jerry Snitselaar) [1837187] - [dma] dmaengine: cookie bypass for out of order completion (Jerry Snitselaar) [1838893 1837187] - [dma] dmaengine: ioat setting ioat timeout as module parameter (Jerry Snitselaar) [1837187] - [dma] dmaengine: dmatest: stop completed threads when running without set channel (Jerry Snitselaar) [1837187] - [dma] dmaengine: idxd: fix misc interrupt handler thread unmasking (Jerry Snitselaar) [1877126 1837187] - [dma] dmaengine: idxd: cleanup workqueue config after disabling (Jerry Snitselaar) [1837187] - [dma] dmaengine: idxd: fix cdev locking for open and release (Jerry Snitselaar) [1837187] - [dma] dmaengine: Replace zero-length array with flexible-array (Jerry Snitselaar) [1837187] - [dma] dmaengine: Fix doc strings to satisfy validation script (Jerry Snitselaar) [1837187] - [dma] dmaengine: Include dmaengine.h into dmaengine.c (Jerry Snitselaar) [1837187] - [dma] dmaengine: dmatest: Describe members of struct dmatest_info (Jerry Snitselaar) [1837187] - [dma] dmaengine: dmatest: Describe members of struct dmatest_params (Jerry Snitselaar) [1837187] - [dma] dmaengine: dmatest: Allow negative timeout value to specify infinite wait (Jerry Snitselaar) [1837187] - [dma] Revert "dmaengine: dmatest: timeout value of -1 should specify infinite wait" (Jerry Snitselaar) [1837187] - [dma] dmaengine: ioat: adding missed issue_pending to timeout handler (Jerry Snitselaar) [1837187] - [dma] dmaengine: ioat: remove unnesesery double complition timer modification (Jerry Snitselaar) [1837187] - [dma] dmaengine: ioat: removing duplicate code from timeout handler (Jerry Snitselaar) [1837187] - [dma] dmaengine: ioat: Decreasing allocation chunk size 2M->512K (Jerry Snitselaar) [1837187] - [dma] dmaengine: ioat: fixing chunk sizing macros dependency (Jerry Snitselaar) [1837187] - [dma] dmaengine: idxd: export hw version through sysfs (Jerry Snitselaar) [1838888 1837187] - [dma] dmaengine: dmatest: Restore default for channel (Jerry Snitselaar) [1837187] - [dma] dmaengine: idxd: fix interrupt completion after unmasking (Jerry Snitselaar) [1838895 1837187] - [dma] dmaengine: dmatest: Fix process hang when reading 'wait' parameter (Jerry Snitselaar) [1837187] - [dma] dmaengine: dmatest: Fix iteration non-stop logic (Jerry Snitselaar) [1837187] - [dma] dmaengine: fix channel index enumeration (Jerry Snitselaar) [1838390 1837187] - [include] include/linux/dmaengine: Typos fixes in API documentation (Jerry Snitselaar) [1837187] - [dma] dmaengine: idxd: remove global token limit check (Jerry Snitselaar) [1838385 1837187] - [dma] dmaengine: idxd: reflect shadow copy of traffic class programming (Jerry Snitselaar) [1838381 1837187] - [dma] dmaengine: Create debug directories for DMA devices (Jerry Snitselaar) [1837187] - [dma] dmaengine: Add basic debugfs support (Jerry Snitselaar) [1837187] - [include] dmaengine: consistently return string literal from switch-case (Jerry Snitselaar) [1837187] - [include] dmaengine: Drop redundant 'else' keyword (Jerry Snitselaar) [1837187] - [include] dmaengine: Use negative condition for better readability (Jerry Snitselaar) [1837187] - [include] dmaengine: Refactor dmaengine_check_align() to be bit operations only (Jerry Snitselaar) [1837187] - [dma] dmaengine: idxd: expose general capabilities register in sysfs (Jerry Snitselaar) [1837187 1836532] - [dma] dmaengine: idxd: check return result from check_vma() in cdev (Jerry Snitselaar) [1837187 1836530] - [dma] dmanegine: ioat/dca: Replace zero-length array with flexible-array member (Jerry Snitselaar) [1837187] - [dma] dmaengine: idxd: remove set but not used variable 'idxd_cdev' (Jerry Snitselaar) [1837187] - [dma] dmaengine: idxd: remove set but not used variable 'group' (Jerry Snitselaar) [1837187] - [documentation] dmaengine: idxd: add sysfs ABI for idxd driver (Jerry Snitselaar) [1837187] - [dma] dmaengine: idxd: fix off by one on cdev dwq refcount (Jerry Snitselaar) [1838366 1837187] - [dma] dmaengine: idxd: wq size configuration needs to check global max size (Jerry Snitselaar) [1837187 1836579] - [dma] dmaengine: idxd: sysfs input of wq incorrect wq type should return error (Jerry Snitselaar) [1837187 1836585] - [dma] dmaengine: idxd: correct reserved token calculation (Jerry Snitselaar) [1837187 1836647] - [dma] dmaengine: idxd: Fix error handling in idxd_wq_cdev_dev_setup() (Jerry Snitselaar) [1838354 1837187] - [dma] dmaengine: idxd: fix runaway module ref count on device driver bind (Jerry Snitselaar) [1837187 1836649] - [dma] dmaengine: idxd: fix boolconv.cocci warnings (Jerry Snitselaar) [1837187] - [dma] dmaengine: idxd: add char driver to expose submission portal to userland (Jerry Snitselaar) [1837187] - [dma] dmaengine: idxd: connect idxd to dmaengine subsystem (Jerry Snitselaar) [1837187] - [dma] dmaengine: idxd: add descriptor manipulation routines (Jerry Snitselaar) [1837187] - [dma] dmaengine: idxd: add configuration component of driver (Jerry Snitselaar) [1837187] - [dma] dmaengine: idxd: Init and probe for Intel data accelerators (Jerry Snitselaar) [1837187] - [include] io-64-nonatomic: add io{read|write}64{_lo_hi|_hi_lo} macros (Jerry Snitselaar) [1837187] - [powerpc] iomap: introduce io{read|write}64_{lo_hi|hi_lo} (Jerry Snitselaar) [1837187] - [lib] iomap: Use non-raw io functions for io{read|write}XXbe (Jerry Snitselaar) [1837187] - [dma] dmaengine: virt-dma: use vchan_vdesc_fini() to free descriptors (Jerry Snitselaar) [1837187] - [dma] dmaengine: virt-dma: Add missing locking around list operations (Jerry Snitselaar) [1837187] - [dma] dmaengine: virt-dma: Do not call desc_free() under a spin_lock (Jerry Snitselaar) [1837187] - [dma] dmaengine: virt-dma: remove debug message (Jerry Snitselaar) [1837187] - [dma] dmaengine: virt-dma: Add missing locking (Jerry Snitselaar) [1837187] - [dma] dmaengine: ioat: Support in-use unbind (Jerry Snitselaar) [1837187] - [dma] dmaengine: move .device_release missing log warning to debug level (Jerry Snitselaar) [1837187] - [dma] dmaengine: Cleanups for the slave <-> channel symlink support (Jerry Snitselaar) [1837187] - [dma] dmaengine: fix null ptr check for __dma_async_device_channel_register() (Jerry Snitselaar) [1837187] - [dma] dmaengine: Fix return value for dma_request_chan() in case of failure (Jerry Snitselaar) [1837187] - [dma] dmaengine: Create symlinks between DMA channels and slaves (Jerry Snitselaar) [1837187] - [dma] dmaengine: add support to dynamic register/unregister of channels (Jerry Snitselaar) [1837187] - [dma] dmaengine: break out channel registration (Jerry Snitselaar) [1837187] - [x86] x86/asm: Carve out a generic movdir64b() helper for general usage (Jerry Snitselaar) [1837187] - [x86] x86/asm: add iosubmit_cmds512() based on MOVDIR64B CPU instruction (Jerry Snitselaar) [1837187] - [dma] dmaengine: Move dma_get_{, any_}slave_channel() to private dmaengine.h (Jerry Snitselaar) [1837187] - [include] dmaengine: Remove dma_request_slave_channel_compat() wrapper (Jerry Snitselaar) [1837187] - [dma] dmaengine: Remove dma_device_satisfies_mask() wrapper (Jerry Snitselaar) [1837187] - [include] dmaengine: Add helper function to convert direction value to text (Jerry Snitselaar) [1837187] - [dma] dmaengine: Add support for reporting DMA cached data amount (Jerry Snitselaar) [1837187] - [dma] dmaengine: Add metadata_ops for dma_async_tx_descriptor (Jerry Snitselaar) [1837187] - [dma] dmaengine: print more meaningful error message (Jerry Snitselaar) [1837187] - [dma] dmaengine: move module_/dma_device_put() after route free (Jerry Snitselaar) [1837187] - [dma] dmaengine: Add reference counting to dma_device struct (Jerry Snitselaar) [1837187] - [dma] dmaengine: Move dma_channel_rebalance() infrastructure up in code (Jerry Snitselaar) [1837187] - [dma] dmaengine: Call module_put() after device_free_chan_resources() (Jerry Snitselaar) [1837187] - [dma] dmaengine: Store module owner in dma_device struct (Jerry Snitselaar) [1837187] - [include] dmaengine: Remove spaces before TABs (Jerry Snitselaar) [1837187] - [dma] ioat: ioat_alloc_ring() failure handling (Jerry Snitselaar) [1837187] - [dma] dmaengine: virt-dma: Fix access after free in vchan_complete() (Jerry Snitselaar) [1837187] - [include] dmaengine: Fix access to uninitialized dma_slave_caps (Jerry Snitselaar) [1837187] - [dma] dmanegine: ioat/dca: Use struct_size() helper (Jerry Snitselaar) [1837187] - [dma] dmaengine: acpi: Add kernel doc parameter descriptions (Jerry Snitselaar) [1837187] - [dma] dmaengine: acpi: Set up DMA mask based on CSRT (Jerry Snitselaar) [1837187] - [dma] dmaengine: dmatest: Add support for completion polling (Jerry Snitselaar) [1837187] - [dma] dmaengine: virt-dma: store result on dma descriptor (Jerry Snitselaar) [1837187] - [dma] dmaengine: dmatest: timeout value of -1 should specify infinite wait (Jerry Snitselaar) [1837187] - [dma] dmaengine: Grammar s/the its/its/, s/need/needs/ (Jerry Snitselaar) [1837187] - [dma] treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 284 (Jerry Snitselaar) [1837187] - [dma] treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 291 (Jerry Snitselaar) [1837187] - [dma] treewide: Add SPDX license identifier - Makefile/Kconfig (Jerry Snitselaar) [1837187] - [dma] treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 (Jerry Snitselaar) [1837187] - [dma] treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 7 (Jerry Snitselaar) [1837187] - [dma] dmaengine: dmatest: move test data alloc & free into functions (Jerry Snitselaar) [1837187] - [dma] dmaengine: dmatest: add short-hand `buf_size` var in dmatest_func() (Jerry Snitselaar) [1837187] - [dma] dmaengine: dmatest: wrap src & dst data into a struct (Jerry Snitselaar) [1837187] - [dma] dmaengine: dmatest: Abort test in case of mapping error (Jerry Snitselaar) [1837187] - [dma] dmaengine: dmatest: Add transfer_size parameter (Jerry Snitselaar) [1837187] - [dma] dmaengine: dmatest: Add alignment parameter (Jerry Snitselaar) [1837187] - [dma] dmaengine: dmatest: Use fixed point div to calculate iops (Jerry Snitselaar) [1837187] - [dma] dmaengine: dmatest: Add support for multi channel testing (Jerry Snitselaar) [1837187] - [dma] dmaengine: dmatest: fix a small memory leak in dmatest_func() (Jerry Snitselaar) [1837187] - [dma] dmaengine: dmatest: move size checks earlier in function (Jerry Snitselaar) [1837187] - [dma] dmaengine: dmatest: use dmaengine_terminate_sync() instead (Jerry Snitselaar) [1837187] - [dma] dmaengine: dmatest: unmap data on a single code-path when xfer done (Jerry Snitselaar) [1837187] - [dma] dmaengine: idma64: replace spin_lock_irqsave with spin_lock (Jerry Snitselaar) [1837187] - [dma] dmaengine: idma: remove dma_slave_config direction usage (Jerry Snitselaar) [1837187] - [dma] dmaengine: ioat: fix prototype of ioat_enumerate_channels (Jerry Snitselaar) [1837187] - [dma] dmaengine: ioatdma: set the completion address register after channel reset (Jerry Snitselaar) [1837187] - [dma] dmaengine: idma64: Support dmaengine_terminate_sync() (Jerry Snitselaar) [1837187] - [dma] dmaengine: add a new helper dmaenginem_async_device_register (Jerry Snitselaar) [1837187] - [documentation] Documentation/x86: Add documentation for SVA (Shared Virtual Addressing) (Jerry Snitselaar) [1836777] - [iommu] iommu/vt-d: Change flags type to unsigned int in binding mm (Jerry Snitselaar) [1836777] - [drm] drm, iommu: Change type of pasid to u32 (Jerry Snitselaar) [1836777] - [x86] x86/asm: Add an enqcmds() wrapper for the ENQCMDS instruction (Jerry Snitselaar) [1837187] - [x86] x86/mmu: Allocate/free a PASID (Jerry Snitselaar) [1836777] - [x86] x86/cpufeatures: Mark ENQCMD as disabled when configured out (Jerry Snitselaar) [1836777] - [mm] mm: Add a pasid member to struct mm_struct (Jerry Snitselaar) [1836777] - [x86] x86/msr-index: Define an IA32_PASID MSR (Jerry Snitselaar) [1836777] - [x86] x86/fpu/xstate: Add supervisor PASID state for ENQCMD (Jerry Snitselaar) [1836777] - [x86] x86/cpufeatures: Enumerate ENQCMD and ENQCMDS instructions (Jerry Snitselaar) [1836777] - [x86] x86/fpu/xstate: Restore supervisor states for signal return (Jerry Snitselaar) [1837178] - [x86] x86/fpu/xstate: Preserve supervisor states for the slow path in __fpu__restore_sig() (Jerry Snitselaar) [1837178] - [x86] x86/fpu: Introduce copy_supervisor_to_kernel() (Jerry Snitselaar) [1837178] - [x86] x86/fpu/xstate: Update copy_kernel_to_xregs_err() for supervisor states (Jerry Snitselaar) [1837178] - [x86] x86/fpu/xstate: Update sanitize_restored_xstate() for supervisor xstates (Jerry Snitselaar) [1837178] - [x86] x86/fpu/xstate: Define new functions for clearing fpregs and xstates (Jerry Snitselaar) [1837178] - [x86] x86/fpu/xstate: Introduce XSAVES supervisor states (Jerry Snitselaar) [1837178] - [x86] x86/fpu/xstate: Separate user and supervisor xfeatures mask (Jerry Snitselaar) [1837178] - [x86] x86/fpu/xstate: Define new macros for supervisor and user xstates (Jerry Snitselaar) [1837178] - [x86] x86/fpu/xstate: Rename validate_xstate_header() to validate_user_xstate_header() (Jerry Snitselaar) [1837178] - [x86] copy_xstate_to_kernel: Fix typo which caused GDB regression (Jerry Snitselaar) [1837178] - [x86] copy_xstate_to_kernel(): don't leave parts of destination uninitialized (Jerry Snitselaar) [1837178] - [x86] x86/fpu/xstate: Warn when checking alignment of disabled xfeatures (Jerry Snitselaar) [1837178] - [x86] x86/fpu/xstate: Fix XSAVES offsets in setup_xstate_comp() (Jerry Snitselaar) [1837178] - [x86] x86/fpu/xstate: Fix last_good_offset in setup_xstate_features() (Jerry Snitselaar) [1837178] - [x86] x86/fpu: Shrink space allocated for xstate_comp_offsets (Jerry Snitselaar) [1837178] - [x86] x86/fpu/xstate: Make xfeature_is_supervisor()/xfeature_is_user() return bool (Jerry Snitselaar) [1837178] - [x86] x86/fpu/xstate: Fix small issues (Jerry Snitselaar) [1837178] - [x86] x86/fpu: Use XFEATURE_FP/SSE enum values instead of hardcoded numbers (Jerry Snitselaar) [1837178] - [x86] x86/fpu: Use unsigned long long shift in xfeature_uncompacted_offset() (Jerry Snitselaar) [1837178] - [iommu] iommu/vt-d: Fix sid not set issue in intel_svm_bind_gpasid() (Jerry Snitselaar) [1887546] - [iommu] iommu/vt-d: Fix kernel NULL pointer dereference in find_domain() (Jerry Snitselaar) [1887546] - [iommu] iommu/vt-d: include conditionally on CONFIG_INTEL_IOMMU_SVM (Jerry Snitselaar) [1887546] - [iommu] iommu/vt-d: Fix misuse of ALIGN in qi_flush_piotlb() (Jerry Snitselaar) [1887546] - [iommu] iommu/vt-d: Don't read VCCAP register unless it exists (Jerry Snitselaar) [1887546] - [iommu] iommu/arm-smmu-v3: Add SMMUv3.2 range invalidation support (Jerry Snitselaar) [1887546] - [iommu] iommu/arm-smmu-v3: Batch ATC invalidation commands (Jerry Snitselaar) [1887546] - [iommu] iommu/arm-smmu-v3: Add command queue batching helpers (Jerry Snitselaar) [1887546] - [iommu] iommu/amd: Add sanity check for interrupt remapping table length macros (Jerry Snitselaar) [1887546] - [iommu] iommu/vt-d: Fix lockdep splat in iommu_flush_dev_iotlb() (Jerry Snitselaar) [1887546] - [iommu] iommu/amd: Restore IRTE.RemapEn bit for amd_iommu_activate_guest_mode (Jerry Snitselaar) [1887546] - [iommu] iommu/amd: Fix potential @entry null deref (Jerry Snitselaar) [1887546] - [iommu] iommu/vt-d: Handle 36bit addressing for x86-32 (Jerry Snitselaar) [1887546] - [iommu] iommu/amd: Do not use IOMMUv2 functionality when SME is active (Jerry Snitselaar) [1887546] - [iommu] iommu/amd: Do not force direct mapping when SME is active (Jerry Snitselaar) [1887546] - [iommu] iommu/amd: Use cmpxchg_double() when updating 128-bit IRTE (Jerry Snitselaar) [1887546] - [iommu] iommu/amd: Restore IRTE.RemapEn bit after programming IRTE (Jerry Snitselaar) [1887546] - [iommu] iommu/vt-d: Fix NULL pointer dereference in dev_iommu_priv_set() (Jerry Snitselaar) [1887546] - [iommu] iommu/vt-d: Serialize IOMMU GCMD register modifications (Jerry Snitselaar) [1887546] - [dma] dma-pool: Fix an uninitialized variable bug in atomic_pool_expand() (Jerry Snitselaar) [1887546] - [dma] dma-pool: Only allocate from CMA when in same memory zone (Jerry Snitselaar) [1887546] - [dma] dma-pool: fix coherent pool allocations for IOMMU mappings (Jerry Snitselaar) [1887546] - [iommu] iommu/amd: Move Kconfig and Makefile bits down into amd directory (Jerry Snitselaar) [1887546] - [iommu] iommu/vt-d: Move Kconfig and Makefile bits down into intel directory (Jerry Snitselaar) [1887546] - [iommu] iommu: Add gfp parameter to io_pgtable_ops->map() (Jerry Snitselaar) [1887546] - [iommu] iommu: Mark __iommu_map_sg() as static (Jerry Snitselaar) [1887546] - [iommu] iommu: Tidy up Kconfig for SoC IOMMUs (Jerry Snitselaar) [1887546] - [iommu] iommu: Make some functions static (Jerry Snitselaar) [1887546] - [include] iommu: Move sg_table wrapper out of CONFIG_IOMMU_SUPPORT (Jerry Snitselaar) [1887546] - [powerpc] powerpc/dma: Remove dev->archdata.iommu_domain (Jerry Snitselaar) [1887546] - [iommu] iommu/amd: Remove double zero check (Jerry Snitselaar) [1887546] - [iommu] iommu/vt-d: Rename intel-pasid.h to pasid.h (Jerry Snitselaar) [1887546] - [iommu] iommu/vt-d: Add page response ops support (Jerry Snitselaar) [1887546] - [iommu] iommu/vt-d: Report page request faults for guest SVA (Jerry Snitselaar) [1887546] - [iommu] iommu/vt-d: Add a helper to get svm and sdev for pasid (Jerry Snitselaar) [1887546] - [iommu] iommu/vt-d: Refactor device_to_iommu() helper (Jerry Snitselaar) [1887546] - [iommu] iommu/vt-d: Disable multiple GPASID-dev bind (Jerry Snitselaar) [1887546] - [iommu] iommu/vt-d: Warn on out-of-range invalidation address (Jerry Snitselaar) [1887546] - [iommu] iommu/vt-d: Fix devTLB flush for vSVA (Jerry Snitselaar) [1887546] - [iommu] iommu/vt-d: Handle non-page aligned address (Jerry Snitselaar) [1887546] - [iommu] iommu/vt-d: Fix PASID devTLB invalidation (Jerry Snitselaar) [1887546] - [iommu] iommu/vt-d: Remove global page support in devTLB flush (Jerry Snitselaar) [1887546] - [include] iommu/vt-d: Enforce PASID devTLB field mask (Jerry Snitselaar) [1887546] - [iommu] iommu: Remove unused IOMMU_SYS_CACHE_ONLY flag (Jerry Snitselaar) [1887546] - [iommu] PCI/ATS: Add pci_pri_supported() to check device or associated PF (Jerry Snitselaar) [1887546] - [pci] PCI: Treat "external-facing" devices themselves as internal (Jerry Snitselaar) [1887546] - [documentation] docs: fix references for DMA*.txt files (Jerry Snitselaar) [1887546] - [dma] dma-contiguous: cleanup dma_alloc_contiguous (Jerry Snitselaar) [1887546] - [dma] dma-debug: use named initializers for dir2name (Jerry Snitselaar) [1887546] - [dma] dma-mapping: add a dma_ops_bypass flag to struct device (Jerry Snitselaar) [1887546] - [dma] dma-mapping: inline the fast path dma-direct calls (Jerry Snitselaar) [1887546] - [dma] dma-mapping: move the remaining DMA API calls out of line (Jerry Snitselaar) [1887546] - [dma] dma-mapping: don't BUG when calling dma_map_resource on RAM (Jerry Snitselaar) [1887546] - [of] of: Allow the iommu-map property to omit untranslated devices (Jerry Snitselaar) [1887546] - [iommu] treewide: Remove uninitialized_var() usage (Jerry Snitselaar) [1887546] - [dma] dma-pool: do not allocate pool memory from CMA (Jerry Snitselaar) [1887546] - [dma] dma-pool: make sure atomic pool suits device (Jerry Snitselaar) [1887546] - [dma] dma-pool: introduce dma_guess_pool() (Jerry Snitselaar) [1887546] - [dma] dma-pool: get rid of dma_in_atomic_pool() (Jerry Snitselaar) [1887546] - [dma] dma-direct: provide function to check physical memory area validity (Jerry Snitselaar) [1887546] - [documentation] docs: move DMA kAPI to Documentation/core-api (Jerry Snitselaar) [1887546] - [dma] dma-mapping: remove dma_mark_declared_memory_occupied (Jerry Snitselaar) [1887546] - [documentation] docs: DMA-API-HOWTO.txt: fix an unmarked code block (Jerry Snitselaar) [1887546] - [documentation] Documentation: DMA-API: fix a function name of max_mapping_size (Jerry Snitselaar) [1887546] - [documentation] docs: DMA-API-HOWTO: add a missing "=" (Jerry Snitselaar) [1887546] - [documentation] Documentation/DMA-API-HOWTO: update dma_mask sections (Jerry Snitselaar) [1887546] - [documentation] Documentation/DMA-ISA-LPC: fix an incorrect reference (Jerry Snitselaar) [1887546] - [documentation] Documentation: DMA-API: fix two typos (Jerry Snitselaar) [1887546] - [dma] dma-mapping: warn when coherent pool is depleted (Jerry Snitselaar) [1887546] - [dma] dma-remap: align the size in dma_common_*_remap() (Jerry Snitselaar) [1887546] - [dma] dma-mapping: DMA_COHERENT_POOL should select GENERIC_ALLOCATOR (Jerry Snitselaar) [1887546] - [dma] dma-direct: add missing set_memory_decrypted() for coherent mapping (Jerry Snitselaar) [1887546] - [dma] dma-direct: check return value when encrypting or decrypting memory (Jerry Snitselaar) [1887546] - [dma] dma-direct: re-encrypt memory if dma_direct_alloc_pages() fails (Jerry Snitselaar) [1887546] - [dma] dma-direct: always align allocation size in dma_direct_alloc_pages() (Jerry Snitselaar) [1887546] - [dma] dma-direct: mark __dma_direct_alloc_pages static (Jerry Snitselaar) [1887546] - [dma] dma-direct: re-enable mmap for !CONFIG_MMU (Jerry Snitselaar) [1887546] - [dma] dma-pool: decouple DMA_REMAP from DMA_COHERENT_POOL (Jerry Snitselaar) [1887546] - [message] scsi: mptfusion: Don't use GFP_ATOMIC for larger DMA allocations (Jerry Snitselaar) [1887546] - [dma] dma-pool: fix too large DMA pools on medium memory size systems (Jerry Snitselaar) [1887546] - [iommu] treewide: replace '---help---' in Kconfig files with 'help' (Jerry Snitselaar) [1887546] - [iommu] iommu/arm-smmu: Make remove callback message more informative (Jerry Snitselaar) [1887546] - [include] iommu: add generic helper for mapping sgtable objects (Jerry Snitselaar) [1887546] - [dma] dma-contiguous: fix comment for dma_release_from_contiguous (Jerry Snitselaar) [1887546] - [dma] dma-pool: scale the default DMA coherent pool size with memory capacity (Jerry Snitselaar) [1887546] - [x86] x86/mm: unencrypted non-blocking DMA allocations use coherent pools (Jerry Snitselaar) [1887546] - [dma] dma-pool: add pool sizes to debugfs (Jerry Snitselaar) [1887546] - [dma] dma-direct: atomic allocations must come from atomic coherent pools (Jerry Snitselaar) [1887546] - [dma] dma-pool: dynamically expanding atomic pools (Jerry Snitselaar) [1887546] - [dma] dma-pool: add additional coherent pools to map to gfp mask (Jerry Snitselaar) [1887546] - [dma] dma-remap: separate DMA atomic pools from direct remap code (Jerry Snitselaar) [1887546] - [dma] dma-mapping: use vmap insted of reimplementing it (Jerry Snitselaar) [1887546] - [dma] dma-debug: make __dma_entry_alloc_check_leak() static (Jerry Snitselaar) [1887546] - [dma] dma: debug: no need to check return value of debugfs_create functions (Jerry Snitselaar) [1887546] - [dma] dma-debug: Batch dma_debug_entry allocation (Jerry Snitselaar) [1887546] - [dma] dma/debug: Remove dma_debug_resize_entries() (Jerry Snitselaar) [1887546] - [dma] dma-debug: Make leak-like behaviour apparent (Jerry Snitselaar) [1887546] - [dma] dma-debug: Dynamically expand the dma_debug_entry pool (Jerry Snitselaar) [1887546] - [dma] dma-debug: Use pr_fmt() (Jerry Snitselaar) [1887546] - [dma] dma-debug: Expose nr_total_entries in debugfs (Jerry Snitselaar) [1887546] - [dma] dma-debug: fix displaying of dma allocation type (Jerry Snitselaar) [1887546] - [dma] dma-direct: fix data truncation in dma_direct_get_required_mask() (Jerry Snitselaar) [1887546] - [dma] dma-direct: provide a arch_dma_clear_uncached hook (Jerry Snitselaar) [1887546] - [dma] dma-direct: make uncached_kernel_address more general (Jerry Snitselaar) [1887546] - [include] dma-direct: remove the cached_kernel_address hook (Jerry Snitselaar) [1887546] - [dma] dma-direct: consolidate the error handling in dma_direct_alloc_pages (Jerry Snitselaar) [1887546] - [dma] dma-coherent: fix integer overflow in the reserved-memory dma allocation (Jerry Snitselaar) [1887546] - [iommu] iommu/vt-d: Fix misuse of iommu_domain_identity_map() (Jerry Snitselaar) [1887546] - [iommu] iommu/vt-d: Update scalable mode paging structure coherency (Jerry Snitselaar) [1887546] - [iommu] iommu/vt-d: Enable PCI ACS for platform opt in hint (Jerry Snitselaar) [1887546] - [iommu] iommu/vt-d: Set U/S bit in first level page table by default (Jerry Snitselaar) [1887546] - [iommu] iommu/vt-d: Make Intel SVM code 64-bit only (Jerry Snitselaar) [1887546] - [arm64] arm64: Remove dev->archdata.iommu pointer (Jerry Snitselaar) [1887546] - [x86] x86: Remove dev->archdata.iommu pointer (Jerry Snitselaar) [1887546] - [iommu] iommu/vt-d: Use dev_iommu_priv_get/set() (Jerry Snitselaar) [1887546] - [iommu] iommu: Allow page responses without PASID (Jerry Snitselaar) [1887546] - [iommu] iommu/iova: Don't BUG on invalid PFNs (Jerry Snitselaar) [1887546] - [iommu] iommu/amd: Add helper functions to update domain->pt_root (Jerry Snitselaar) [1887546] - [iommu] iommu/amd: Print extended features in one line to fix divergent log levels (Jerry Snitselaar) [1887546] - [iommu] iommu/amd: Make amd_iommu_apply_ivrs_quirks() static inline (Jerry Snitselaar) [1887546] - [iommu] iommu/vt-d: Move Intel IOMMU driver into subdirectory (Jerry Snitselaar) [1887546] - [iommu] iommu/amd: Move AMD IOMMU driver into subdirectory (Jerry Snitselaar) [1887546] - [iommu] iommu/amd: Remove redundant devid checks (Jerry Snitselaar) [1887546] - [iommu] iommu/amd: Store dev_data as device iommu private data (Jerry Snitselaar) [1887546] - [iommu] iommu/amd: Merge private header files (Jerry Snitselaar) [1887546] - [iommu] iommu/amd: Remove PD_DMA_OPS_MASK (Jerry Snitselaar) [1887546] - [iommu] iommu/amd: Consolidate domain allocation/freeing (Jerry Snitselaar) [1887546] - [iommu] iommu/amd: Free page-table in protection_domain_free() (Jerry Snitselaar) [1887546] - [iommu] iommu/amd: Allocate page-table in protection_domain_init() (Jerry Snitselaar) [1887546] - [iommu] iommu/amd: Let free_pagetable() not rely on domain->pt_root (Jerry Snitselaar) [1887546] - [iommu] iommu/amd: Unexport get_dev_data() (Jerry Snitselaar) [1887546] - [iommu] iommu/amd: Unify format of the printed messages (Jerry Snitselaar) [1887546] - [iommu] iommu: Remove iommu_sva_ops::mm_exit() (Jerry Snitselaar) [1887546] - [iommu] iommu/vt-d: Use pci_ats_supported() (Jerry Snitselaar) [1887546] - [iommu] iommu/arm-smmu-v3: Use pci_ats_supported() (Jerry Snitselaar) [1887546] - [iommu] iommu/amd: Use pci_ats_supported() (Jerry Snitselaar) [1887546] - [pci] PCI/ATS: Only enable ATS for trusted devices (Jerry Snitselaar) [1887546] - [iommu] iommu/arm-smmu: Implement iommu_ops->def_domain_type call-back (Jerry Snitselaar) [1887546] - [iommu] iommu/arm-smmu-v3: Don't reserve implementation defined register space (Jerry Snitselaar) [1887546] - [iommu] iommu/arm-smmu-v3: remove set but not used variable 'smmu' (Jerry Snitselaar) [1887546] - [uapi] iommu/virtio: Fix sparse warning (Jerry Snitselaar) [1887546] - [pci] PCI/ATS: Export symbols of PASID functions (Jerry Snitselaar) [1887546] - [iommu] iommu/mediatek: Fix MTK_IOMMU dependencies (Jerry Snitselaar) [1887546] - [iommu] iommu: spapr_tce: Disable compile testing to fix build on book3s_32 config (Jerry Snitselaar) [1887546] - [iommu] iommu: Enable compile testing for some of drivers (Jerry Snitselaar) [1887546] - [x86] x86: Hide the archdata.iommu field behind generic IOMMU_API (Jerry Snitselaar) [1887546] - [iommu] iommu/hyper-v: Constify hyperv_ir_domain_ops (Jerry Snitselaar) [1887546] - [iommu] iommu/vt-d: Fix compile warning (Jerry Snitselaar) [1887546] - [iommu] iommu/vt-d: fix a GCC warning (Jerry Snitselaar) [1887546] - [iommu] iommu/vt-d: Fix pointer cast warnings on 32 bit (Jerry Snitselaar) [1887546] - [iommu] iommu/vt-d: Remove IOVA handling code from the non-dma_ops path (Jerry Snitselaar) [1887546] - [iommu] iommu/vt-d: Remove duplicated check in intel_svm_bind_mm() (Jerry Snitselaar) [1887546] - [iommu] iommu/vt-d: Remove redundant IOTLB flush (Jerry Snitselaar) [1887546] - [iommu] iommu/vt-d: Add page request draining support (Jerry Snitselaar) [1887546 1847060] - [iommu] iommu/vt-d: Disable non-recoverable fault processing before unbind (Jerry Snitselaar) [1887546] - [iommu] iommu/vt-d: debugfs: Add support to show inv queue internals (Jerry Snitselaar) [1887546] - [iommu] iommu/vt-d: Multiple descriptors per qi_submit_sync() (Jerry Snitselaar) [1887546] - [iommu] iommu/vt-d: Replace intel SVM APIs with generic SVA APIs (Jerry Snitselaar) [1887546 1836578] - [include] iommu/vt-d: Fix compile warning from intel-svm.h (Jerry Snitselaar) [1887546] - [iommu] iommu/vt-d: Report SVA feature with generic flag (Jerry Snitselaar) [1887546 1836578] - [iommu] iommu/vt-d: Add custom allocator for IOASID (Jerry Snitselaar) [1887546] - [iommu] iommu/vt-d: Enlightened PASID allocation (Jerry Snitselaar) [1887546 1837167] - [iommu] iommu/vt-d: Add svm/sva invalidate function (Jerry Snitselaar) [1887546] - [iommu] iommu/vt-d: Support flushing more translation cache types (Jerry Snitselaar) [1887546] - [iommu] iommu/vt-d: Add bind guest PASID support (Jerry Snitselaar) [1887546] - [iommu] iommu/vt-d: Add nested translation helper function (Jerry Snitselaar) [1887546] - [iommu] iommu/vt-d: Use a helper function to skip agaw for SL (Jerry Snitselaar) [1887546] - [iommu] iommu/vt-d: Move domain helper to header (Jerry Snitselaar) [1887546] - [iommu] iommu: Remove functions that support private domain (Jerry Snitselaar) [1887546] - [iommu] iommu/vt-d: Unify format of the printed messages (Jerry Snitselaar) [1887546] - [iommu] iommu: Introduce guest PASID bind function (Jerry Snitselaar) [1887546] - [iommu] iommu: Introduce cache_invalidate API (Jerry Snitselaar) [1887546] - [iommu] iommu/vt-d: debugfs: Add support to show page table internals (Jerry Snitselaar) [1887546 1835059] - [iommu] iommu/vt-d: Use iova over first level (Jerry Snitselaar) [1887546 1837160] - [iommu] iommu/vt-d: Update first level super page capability (Jerry Snitselaar) [1887546] - [iommu] iommu/vt-d: Make first level IOVA canonical (Jerry Snitselaar) [1887546] - [iommu] iommu/vt-d: Flush PASID-based iotlb for iova over first level (Jerry Snitselaar) [1887546] - [iommu] iommu/vt-d: Setup pasid entries for iova over first level (Jerry Snitselaar) [1887546] - [iommu] iommu/vt-d: Add PASID_FLAG_FL5LP for first-level pasid setup (Jerry Snitselaar) [1887546] - [iommu] iommu/vt-d: Add set domain DOMAIN_ATTR_NESTING attr (Jerry Snitselaar) [1887546] - [iommu] iommu/vt-d: Identify domains using first level page table (Jerry Snitselaar) [1887546] - [iommu] iommu/vt-d: Misc macro clean up for SVM (Jerry Snitselaar) [1887546] - [iommu] iommu/vt-d: Add build dependency on IOASID (Jerry Snitselaar) [1887546] - [iommu] iommu/vt-d: Replace Intel specific PASID allocator with IOASID (Jerry Snitselaar) [1887546] - [iommu] iommu/ioasid: Add custom allocators (Jerry Snitselaar) [1887546] - [iommu] iommu: Add I/O ASID allocator (Jerry Snitselaar) [1887546] - [iommu] iommu/vt-d: Use right Kconfig option name (Jerry Snitselaar) [1887546] - [iommu] iommu/vt-d: Add Kconfig option to enable/disable scalable mode (Jerry Snitselaar) [1887546] - [iommu] iommu/virtio: Convert to probe/release_device() call-backs (Jerry Snitselaar) [1887546] - [iommu] iommu/virtio: Reverse arguments to list_add (Jerry Snitselaar) [1887546] - [iommu] iommu/virtio: Use accessor functions for iommu private data (Jerry Snitselaar) [1887546] - [iommu] iommu/virtio: Reject IOMMU page granule larger than PAGE_SIZE (Jerry Snitselaar) [1887546] - [iommu] iommu/virtio: Fix freeing of incomplete domains (Jerry Snitselaar) [1887546] - [iommu] iommu/virtio: Build virtio-iommu as module (Jerry Snitselaar) [1887546] - [iommu] iommu: virtio: Use generic_iommu_put_resv_regions() (Jerry Snitselaar) [1887546] - [iommu] iommu/virtio: Remove unused variable (Jerry Snitselaar) [1887546] - [iommu] iommu/virtio: Update to most recent specification (Jerry Snitselaar) [1887546] - [iommu] iommu/virtio: Add event queue (Jerry Snitselaar) [1887546] - [iommu] iommu/virtio: Add probe request (Jerry Snitselaar) [1887546] - [iommu] iommu: Add virtio-iommu driver (Jerry Snitselaar) [1887546] - [iommu] iommu/arm-smmu: Remove duplicate error message (Jerry Snitselaar) [1887546] - [iommu] iommu/arm-smmu: Fix uninitilized variable warning (Jerry Snitselaar) [1887546] - [iommu] iommu/io-pgtable-arm: Rename IOMMU_QCOM_SYS_CACHE and improve doc (Jerry Snitselaar) [1887546] - [iommu] iommu/arm-smmu: Restore naming of driver parameter prefix (Jerry Snitselaar) [1887546] - [iommu] iommu/arm-smmu-v3: Use WRITE_ONCE() when changing validity of an STE (Jerry Snitselaar) [1887546] - [iommu] iommu/arm-smmu: Improve SMR mask test (Jerry Snitselaar) [1887546] - [iommu] iommu/io-pgtable-arm: Fix IOVA validation for 32-bit (Jerry Snitselaar) [1887546] - [iommu] iommu/io-pgtable-arm: Prepare for TTBR1 usage (Jerry Snitselaar) [1887546] - [iommu] iommu/io-pgtable-arm: Rationalise VTCR handling (Jerry Snitselaar) [1887546] - [iommu] iommu/arm-smmu: Rename public #defines under ARM_SMMU_ namespace (Jerry Snitselaar) [1887546] - [iommu] iommu/io-pgtable-arm: Rationalise TCR handling (Jerry Snitselaar) [1887546] - [iommu] iommu/io-pgtable-arm: Ensure ARM_64_LPAE_S2_TCR_RES1 is unsigned (Jerry Snitselaar) [1887546] - [iommu] iommu/io-pgtable-arm: Improve attribute handling (Jerry Snitselaar) [1887546] - [iommu] iommu/io-pgtable-arm: Support non-coherent stage-2 page tables (Jerry Snitselaar) [1887546] - [iommu] iommu/arm-smmu: Fix -Wunused-const-variable warning (Jerry Snitselaar) [1887546] - [iommu] iommu/arm-smmu-v3: Remove useless of_match_ptr() (Jerry Snitselaar) [1887546] - [iommu] drivers/iommu: Initialise module 'owner' field in iommu_device_set_ops() (Jerry Snitselaar) [1887546] - [iommu] iommu/arm-smmu: Update my email address in MODULE_AUTHOR() (Jerry Snitselaar) [1887546] - [iommu] iommu/arm-smmu: Allow building as a module (Jerry Snitselaar) [1887546] - [iommu] iommu/arm-smmu: Unregister IOMMU and bus ops on device removal (Jerry Snitselaar) [1887546] - [iommu] iommu/arm-smmu-v3: Allow building as a module (Jerry Snitselaar) [1887546] - [iommu] iommu/arm-smmu: Support SMMU module probing from the IORT (Jerry Snitselaar) [1887546] - [iommu] iommu/arm-smmu-v3: Unregister IOMMU and bus ops on device removal (Jerry Snitselaar) [1887546] - [iommu] iommu/arm-smmu: Prevent forced unbinding of Arm SMMU drivers (Jerry Snitselaar) [1887546] - [iommu] Revert "iommu/arm-smmu: Make arm-smmu explicitly non-modular" (Jerry Snitselaar) [1887546] - [iommu] Revert "iommu/arm-smmu: Make arm-smmu-v3 explicitly non-modular" (Jerry Snitselaar) [1887546] - [iommu] iommu/io-pgtable-arm: Rationalise TTBRn handling (Jerry Snitselaar) [1887546] - [iommu] iommu/io-pgtable-arm: Rationalise MAIR handling (Jerry Snitselaar) [1887546] - [iommu] iommu/io-pgtable-arm: Simplify level indexing (Jerry Snitselaar) [1887546] - [iommu] iommu/io-pgtable-arm: Simplify PGD size handling (Jerry Snitselaar) [1887546] - [iommu] iommu/io-pgtable-arm: Simplify start level lookup (Jerry Snitselaar) [1887546] - [iommu] iommu/io-pgtable-arm: Simplify bounds checks (Jerry Snitselaar) [1887546] - [iommu] iommu/io-pgtable-arm: Rationalise size check (Jerry Snitselaar) [1887546] - [iommu] iommu/io-pgtable: Make selftest gubbins consistently __init (Jerry Snitselaar) [1887546] - [iommu] iommu/arm-smmu: Avoid pathological RPM behaviour for unmaps (Jerry Snitselaar) [1887546] - [iommu] iommu/io-pgtable: Move some initialization data to .init.rodata (Jerry Snitselaar) [1887546] - [iommu] iommu/arm-smmu: Report USF more clearly (Jerry Snitselaar) [1887546] - [iommu] iommu/arm-smmu: Remove arm_smmu_flush_ops (Jerry Snitselaar) [1887546] - [iommu] iommu/arm-smmu: Move .tlb_sync method to implementation (Jerry Snitselaar) [1887546] - [iommu] iommu/arm-smmu: Remove "leaf" indirection (Jerry Snitselaar) [1887546] - [iommu] iommu/arm-smmu: Remove .tlb_inv_range indirection (Jerry Snitselaar) [1887546] - [iommu] iommu/io-pgtable-arm-v7s: Use ias/oas to check the valid iova/pa (Jerry Snitselaar) [1887546] - [iommu] iommu/io-pgtable-arm-v7s: Add paddr_to_iopte and iopte_to_paddr helpers (Jerry Snitselaar) [1887546] - [iommu] iommu/arm-smmu: Ensure 64-bit I/O accessors are available on 32-bit CPU (Jerry Snitselaar) [1887546] - [iommu] iommu/arm-smmu: Make private implementation details static (Jerry Snitselaar) [1887546] - [iommu] iommu/arm-smmu: Add context init implementation hook (Jerry Snitselaar) [1887546] - [iommu] iommu/arm-smmu: Add reset implementation hook (Jerry Snitselaar) [1887546] - [iommu] iommu/arm-smmu: Add configuration implementation hook (Jerry Snitselaar) [1887546] - [iommu] iommu/arm-smmu: Move Secure access quirk to implementation (Jerry Snitselaar) [1887546] - [iommu] iommu/arm-smmu: ioremap smmu mmio region before implementation init (Jerry Snitselaar) [1887546] - [iommu] iommu/arm-smmu: Add implementation infrastructure (Jerry Snitselaar) [1887546] - [iommu] iommu/arm-smmu: Rename arm-smmu-regs.h (Jerry Snitselaar) [1887546] - [iommu] iommu/arm-smmu: Abstract GR0 accesses (Jerry Snitselaar) [1887546] - [iommu] iommu/arm-smmu: Abstract context bank accesses (Jerry Snitselaar) [1887546] - [iommu] iommu/arm-smmu: Abstract GR1 accesses (Jerry Snitselaar) [1887546] - [iommu] iommu/arm-smmu: Get rid of weird "atomic" write (Jerry Snitselaar) [1887546] - [iommu] iommu/arm-smmu: Split arm_smmu_tlb_inv_range_nosync() (Jerry Snitselaar) [1887546] - [iommu] iommu/arm-smmu: Rework cb_base handling (Jerry Snitselaar) [1887546] - [iommu] iommu/arm-smmu: Convert context bank registers to bitfields (Jerry Snitselaar) [1887546] - [iommu] iommu/arm-smmu: Convert GR1 registers to bitfields (Jerry Snitselaar) [1887546] - [iommu] iommu/arm-smmu: Convert GR0 registers to bitfields (Jerry Snitselaar) [1887546] - [iommu] iommu: Remove IOMMU_OF_DECLARE (Jerry Snitselaar) [1887546] - [iommu] iommu: Stop deferring probe at end of initcalls (Jerry Snitselaar) [1887546] - [iommu] iommu: Fix use-after-free in iommu_release_device (Jerry Snitselaar) [1887546] - [dma] dma-mapping: Fix dma_pgprot() for unencrypted coherent pages (Jerry Snitselaar) [1887546] - [x86] x86: Don't let pgprot_modify() change the page encryption bit (Jerry Snitselaar) [1887546] - [x86] x86/PCI: Remove X86_DEV_DMA_OPS (Jerry Snitselaar) [1887546] - [pci] PCI: vmd: Remove dma_map_ops overrides (Jerry Snitselaar) [1887546] - [pci] x86/pci: Clean up usage of X86_DEV_DMA_OPS (Jerry Snitselaar) [1887546] - [x86] x86/Kconfig: Remove the unused X86_DMA_REMAP KConfig symbol (Jerry Snitselaar) [1887546] - [dma] dma-direct: avoid a forward declaration for phys_to_dma (Jerry Snitselaar) [1887546] - [dma] dma-mapping: Add vmap checks to dma_map_single() (Jerry Snitselaar) [1887546] - [x86] x86/platform/uv: Fix UV4 hub revision adjustment (Frank Ramsay) [1908507] - [ata] ahci: Add Intel Rocket Lake PCH-H RAID PCI IDs (Steve Best) [1868308]- [mfd] mfd: intel-lpss: Fix Intel Elkhart Lake LPSS I2C input clock (Steve Best) [1783586] - [mfd] mfd: intel-lpss: Add Intel Elkhart Lake PCH PCI IDs (Steve Best) [1783586] - [i2c] i2c: i801: Add support for Intel Elkhart Lake (Steve Best) [1783586] - [fs] fuse: fix bad inode (Miklos Szeredi) [1906908] - [fs] virtiofs: calculate number of scatter-gather elements accurately (Vivek Goyal) [1783467] - [fs] virtiofs: add logic to free up a memory range (Vivek Goyal) [1783467] - [fs] virtiofs: maintain a list of busy elements (Vivek Goyal) [1783467] - [fs] virtiofs: serialize truncate/punch_hole and dax fault path (Vivek Goyal) [1783467] - [fs] virtiofs: define dax address space operations (Vivek Goyal) [1783467] - [fs] virtiofs: add DAX mmap support (Vivek Goyal) [1783467] - [fs] virtiofs: implement dax read/write operations (Vivek Goyal) [1783467] - [uapi] virtiofs: introduce setupmapping/removemapping commands (Vivek Goyal) [1783467] - [fs] virtiofs: implement FUSE_INIT map_alignment field (Vivek Goyal) [1783467] - [fs] virtiofs: keep a list of free dax memory ranges (Vivek Goyal) [1783467] - [fs] virtiofs: add a mount option to enable dax (Vivek Goyal) [1783467] - [fs] virtiofs: set up virtio_fs dax_device (Vivek Goyal) [1783467] - [fs] virtiofs: get rid of no_mount_options (Vivek Goyal) [1783467] - [fs] virtiofs: provide a helper function for virtqueue initialization (Vivek Goyal) [1783467] - [fs] dax: Create a range version of dax_layout_busy_page() (Vivek Goyal) [1783467] - [dax] dax: Modify bdev_dax_pgoff() to handle NULL bdev (Vivek Goyal) [1783467] - [virtio] virtio: Implement get_shm_region for MMIO transport (Vivek Goyal) [1783467] - [virtio] virtio: Implement get_shm_region for PCI transport (Vivek Goyal) [1783467] - [include] virtio: Add get_shm_region method (Vivek Goyal) [1783467] - [fs] virtiofs: do not use fuse_fill_super_common() for device installation (Vivek Goyal) [1783467] - [uapi] fuse: reserve values for mapping protocol (Vivek Goyal) [1783467] - [fs] virtiofs: Convert virtiofs to use new mount API (Vivek Goyal) [1783467] - [fs] fuse: reject options on reconfigure via fsconfig(2) (Vivek Goyal) [1783467] - [fs] fuse: ignore 'data' argument of mount(..., MS_REMOUNT) (Vivek Goyal) [1783467] - [fs] fuse: use ->reconfigure() instead of ->remount_fs() (Vivek Goyal) [1783467] - [fs] fuse: switch to use errorfc() et.al (Vivek Goyal) [1783467] - [fs] fs_parse: fold fs_parameter_desc/fs_parameter_spec (Vivek Goyal) [1783467] - [fs] fs_parser: remove fs_parameter_description name field (Vivek Goyal) [1783467] - [fs] vfs: subtype handling moved to fuse (Vivek Goyal) [1783467] - [fs] fuse: convert to use the new mount API (Vivek Goyal) [1783467] - [lib] lib/zlib: fix inflating zlib streams on s390 (Philipp Rudo) [1908011] - [scsi] scsi: ibmvfc: Set default timeout to avoid crash during migration (Diego Domingos) [1890710] - [net] Bluetooth: Fix null pointer dereference in hci_event_packet() (Gopal Tiwari) [1921475] - [tools] selftests: fix poll error in udpgro.sh (Hangbin Liu) [1922213] - [net] mptcp: fix length of MP_PRIO suboption (Davide Caratti) [1923156] - [powerpc] powerpc/sstep: Fix array out of bound warning (Desnes Augusto Nunes do Rosario) [1908739] - [powerpc] powerpc/watchpoint: Workaround P10 DD1 issue with VSX-32 byte instructions (Desnes Augusto Nunes do Rosario) [1908739] - [powerpc] powerpc/sstep: Add testcases for VSX vector paired load/store instructions (Desnes Augusto Nunes do Rosario) [1908739] - [powerpc] powerpc/ppc-opcode: Add encoding macros for VSX vector paired instructions (Desnes Augusto Nunes do Rosario) [1908739] - [powerpc] powerpc/sstep: Support VSX vector paired storage access instructions (Desnes Augusto Nunes do Rosario) [1908739] - [powerpc] powerpc/sstep: Cover new VSX instructions under CONFIG_VSX (Desnes Augusto Nunes do Rosario) [1908739] - [powerpc] powerpc/sstep: Emulate prefixed instructions only when CPU_FTR_ARCH_31 is set (Desnes Augusto Nunes do Rosario) [1908739] - [net] fix setsockopt(SO_REUSEADDR) for MPTCP sockets (Paolo Abeni) [1922500] - [net] net_sched: avoid shift-out-of-bounds in tcindex_set_parms() (Davide Caratti) [1917366] - [net] net_sched: reject silly cell_log in qdisc_get_rtab() (Davide Caratti) [1917366] - [net] sched: prevent invalid Scell_log shift count (Davide Caratti) [1917366] - [net] netem: fix zero division in tabledist (Davide Caratti) [1917366] - [net] protect tcf_block_unbind with block lock (Davide Caratti) [1917366] - [pinctrl] pinctrl: intel: Add Intel Elkhart Lake pin controller support (Steve Best) [1783600] - [fs] dlm: fix invalid cluster name warning (Alexander Aring) [1655771] - [mm] arm64: acpi: Make apei_claim_sea() synchronise with APEI's irq work (Al Stone) [1865698 1851555] - [acpi] ACPI/IORT: Fix doc warnings in iort.c (Al Stone) [1865698 1851555] - [acpi] ACPI, APEI, Fix error return value in apei_map_generic_address() (Al Stone) [1865698 1851555] - [acpi] ACPI: fan: Initialize performance state sysfs attribute (Al Stone) [1865698 1851555] - [acpi] ACPI: DPTF: Support Alder Lake (Al Stone) [1865698 1851555] - [acpi] ACPI: button: Add DMI quirk for Medion Akoya E2228T (Al Stone) [1865698 1851555] - [acpi] ACPI: Fix whitespace inconsistencies (Al Stone) [1865698 1851555] - [acpi] ACPI: button: Drop no longer necessary Acer SW5-012 lid_init_state quirk (Al Stone) [1865698 1851555] - [acpi] ACPI: dock: fix enum-conversion warning (Al Stone) [1865698 1851555] - [acpi] ACPI: utils: remove unreachable breaks (Al Stone) [1865698 1851555] - [acpi] ACPICA: Add missing type casts in GPE register access code (Al Stone) [1865698 1851555] - [acpi] ACPI: DPTF: Add ACPI_DPTF Kconfig menu (Al Stone) [1865698 1851555] - [acpi] ACPI: DPTF: Fix participant driver names (Al Stone) [1865698 1851555] - [acpi] ACPI: processor: remove comment regarding string _UID support (Al Stone) [1865698 1851555] - [acpi] ACPI: reboot: Avoid racing after writing to ACPI RESET_REG (Al Stone) [1865698 1851555] - [acpi] ACPI: debug: don't allow debugging when ACPI is disabled (Al Stone) [1865698 1851555] - [dax] ACPI: HMAT: refactor hmat_register_target_device to hmem_register_device (Al Stone) [1865698 1851555] - [acpi] x86/numa: add 'nohmat' option (Al Stone) [1865698 1851555] - [acpi] ACPICA: Update version to 20200925 Version 20200925 (Al Stone) [1865698 1851555] - [acpi] ACPICA: Remove unnecessary semicolon (Al Stone) [1865698 1851555] - [acpi] ACPICA: Debugger: Add a new command: "ALL " (Al Stone) [1865698 1851555] - [acpi] ACPICA: iASL: Return exceptions for string-to-integer conversions (Al Stone) [1865698 1851555] - [acpi] ACPICA: acpi_help: Update UUID list (Al Stone) [1865698 1851555] - [acpi] ACPICA: Add predefined names found in the SMBus sepcification (Al Stone) [1865698 1851555] - [acpi] ACPICA: Tree-wide: fix various typos and spelling mistakes (Al Stone) [1865698 1851555] - [acpi] ACPICA: Drop the repeated word "an" in a comment (Al Stone) [1865698 1851555] - [acpi] ACPICA: Add support for 64 bit risc-v compilation (Al Stone) [1865698 1851555] - [acpi] ACPI: EC: PM: Drop ec_no_wakeup check from acpi_ec_dispatch_gpe() (Al Stone) [1865698 1851555] - [acpi] ACPI: EC: PM: Flush EC work unconditionally after wakeup (Al Stone) [1865698 1851555] - [acpi] ACPI: button: fix handling lid state changes when input device closed (Al Stone) [1865698 1851555] - [acpi] ACPI: scan: Replace ACPI_DEBUG_PRINT() with pr_debug() (Al Stone) [1865698 1851555] - [acpi] ACPI: memhotplug: Remove 'state' from struct acpi_memory_device (Al Stone) [1865698 1851555] - [acpi] ACPI / extlog: Check for RDMSR failure (Al Stone) [1865698 1851555] - [acpi] node: Add access1 class to represent CPU to memory characteristics (Al Stone) [1865698 1851555] - [acpi] ACPI: HMAT: Fix handling of changes from ACPI 6.2 to ACPI 6.3 (Al Stone) [1865698 1851555] - [acpi] ACPI: Let ACPI know we support Generic Initiator Affinity Structures (Al Stone) [1865698 1851555] - [acpi] ACPI: Support Generic Initiator only domains (Al Stone) [1865698 1851555] - [acpi] ACPI / NUMA: Add stub function for pxm_to_node() (Al Stone) [1865698 1851555] - [acpi] virtio-mem: Allow to specify an ACPI PXM as nid (Al Stone) [1865698 1851555] - [acpi] ACPI: battery: include linux/power_supply.h (Al Stone) [1865698 1851555] - [acpi] ACPI: wakeup: Remove dead ACPICA debug code (Al Stone) [1865698 1851555] - [acpi] ACPI: video: Remove leftover ACPICA debug code (Al Stone) [1865698 1851555] - [acpi] ACPI: tiny-power-button: Remove dead ACPICA debug code (Al Stone) [1865698 1851555] - [acpi] ACPI: processor: Remove dead ACPICA debug code (Al Stone) [1865698 1851555] - [acpi] ACPI: proc: Remove dead ACPICA debug code (Al Stone) [1865698 1851555] - [acpi] ACPI: PCI: Remove unused ACPICA debug code (Al Stone) [1865698 1851555] - [acpi] ACPI: event: Remove leftover ACPICA debug code (Al Stone) [1865698 1851555] - [acpi] ACPI: dock: Remove dead ACPICA debug code (Al Stone) [1865698 1851555] - [acpi] ACPI: debugfs: Remove dead ACPICA debug code (Al Stone) [1865698 1851555] - [acpi] ACPI: custom_method: Remove dead ACPICA debug code (Al Stone) [1865698 1851555] - [acpi] ACPI: container: Remove leftover ACPICA debug functionality (Al Stone) [1865698 1851555] - [acpi] ACPI: platform: Remove ACPI_MODULE_NAME() (Al Stone) [1865698 1851555] - [acpi] ACPI: memhotplug: Remove leftover ACPICA debug functionality (Al Stone) [1865698 1851555] - [acpi] ACPI: LPSS: Remove ACPI_MODULE_NAME() (Al Stone) [1865698 1851555] - [acpi] ACPI: cmos_rtc: Remove leftover ACPI_MODULE_NAME() (Al Stone) [1865698 1851555] - [acpi] ACPI: PCI: update kernel-doc line comments (Al Stone) [1865698 1851555] - [acpi] PNP: ACPI: Fix missing-prototypes in acpi_pnp.c (Al Stone) [1865698 1851555] - [acpi] ACPI: configfs: Add missing config_item_put() to fix refcount leak (Al Stone) [1865698 1851555] - [acpi] ACPI: video: use ACPI backlight for HP 635 Notebook (Al Stone) [1865698 1851555] - [acpi] ACPI: APD: Clean up header file include statements (Al Stone) [1865698 1851555] - [acpi] ACPI: APD: Remove unnecessary APD_ADDR() macro stub (Al Stone) [1865698 1851555] - [acpi] ACPI: APD: Remove ACPI_MODULE_NAME() (Al Stone) [1865698 1851555] - [acpi] ACPI: APD: Remove flags from struct apd_device_desc (Al Stone) [1865698 1851555] - [acpi] ACPI: APD: Add kerneldoc for properties in struct apd_device_desc (Al Stone) [1865698 1851555] - [acpi] ACPI: Remove side effect of partly creating a node in acpi_get_node() (Al Stone) [1865698 1851555] - [acpi] ACPI: Rename acpi_map_pxm_to_online_node() to pxm_to_online_node() (Al Stone) [1865698 1851555] - [acpi] ACPI: Do not create new NUMA domains from ACPI static tables that are not SRAT (Al Stone) [1865698 1851555] - [acpi] ACPI: Add out of bounds and numa_off protections to pxm_to_node() (Al Stone) [1865698 1851555] - [acpi] ACPI: processor: Print more information when acpi_processor_evaluate_cst() fails (Al Stone) [1865698 1851555] - [acpi] ACPI: DPTF: Add PCH FIVR participant driver (Al Stone) [1865698 1851555] - [acpi] PCI/ACPI: Add Ampere Altra SOC MCFG quirk (Al Stone) [1865698 1851555] - [acpi] ACPI / APEI: Add a notifier chain for unknown (vendor) CPER records (Al Stone) [1865698 1851555] - [acpi] ACPI / PMIC: Move TPS68470 OpRegion driver to drivers/acpi/pmic/ (Al Stone) [1865698 1851555] - [acpi] ACPI / PMIC: Split out Kconfig and Makefile specific for ACPI PMIC (Al Stone) [1865698 1851555] - [acpi] PCI/ACPI: Tone down missing MCFG message (Al Stone) [1865698 1851555] - [acpi] ACPI: OSL: Make ACPICA use logical addresses of GPE blocks (Al Stone) [1865698 1851555] - [acpi] ACPI: OSL: Change the type of acpi_os_map_generic_address() return value (Al Stone) [1865698 1851555] - [acpi] ACPICA: Add support for using logical addresses of GPE blocks (Al Stone) [1865698 1851555] - [acpi] ACPI/IORT: Remove the unused inline functions (Al Stone) [1865698 1851555] - [acpi] ACPI/IORT: Drop the unused @ops of iort_add_device_replay() (Al Stone) [1865698 1851555] - [acpi] ACPI / LPSS: Save Cherry Trail PWM ctx registers only once (at activation) (Al Stone) [1865698 1851555] - [acpi] ACPI / LPSS: Resume Cherry Trail PWM controller in no-irq phase (Al Stone) [1865698 1851555] - [acpi] ACPICA: Introduce special struct type for GPE register addresses (Al Stone) [1865698 1851555] - [acpi] ACPICA: Introduce acpi_hw_gpe_read() and acpi_hw_gpe_write() (Al Stone) [1865698 1851555] - [acpi] ACPICA: Validate GPE blocks at init time (Al Stone) [1865698 1851555] - [acpi] ACPI: Export acpi_get_first_physical_node() to modules (Al Stone) [1865698 1851555] - [kernel] rcu/tree: Export rcu_idle_{enter, exit} to modules (Al Stone) [1865698 1851555] - [acpi] ACPI: GED: fix -Wformat (Al Stone) [1865698 1851555] - [acpi] ACPI: processor: Fix build for ARCH_APICTIMER_STOPS_ON_C3 unset (Al Stone) [1865698 1851555] - [acpi] ACPI: processor: Take over RCU-idle for C3-BM idle (Al Stone) [1865698 1851555] - [acpi] ACPI: processor: Use CPUIDLE_FLAG_TLB_FLUSHED (Al Stone) [1865698 1851555] - [acpi] ACPI: processor: Use CPUIDLE_FLAG_TIMER_STOP (Al Stone) [1865698 1851555] - [acpi] ACPI: OSL: Prevent acpi_release_memory() from returning too early (Al Stone) [1865698 1851555] - [acpi] ACPI: ioremap: avoid redundant rounding to OS page size (Al Stone) [1865698 1851555] - [acpi] ACPI: SoC: APD: Check return value of acpi_dev_get_property() (Al Stone) [1865698 1851555] - [acpi] ACPI: APD: Add a fmw property is_raven (Al Stone) [1865698 1851555] - [include] ACPI: APD: Change name from ST to FCH (Al Stone) [1865698 1851555] - [acpi] i2c: designware: Add device HID for Hygon I2C controller (Al Stone) [1865698 1851555] - [acpi] ACPI/IORT: Add an input ID to acpi_dma_configure() (Al Stone) [1865698 1851555] - [acpi] ACPI/IORT: Remove useless PCI bus walk (Al Stone) [1865698 1851555] - [acpi] ACPI/IORT: Make iort_msi_map_rid() PCI agnostic (Al Stone) [1865698 1851555] - [acpi] ACPI/IORT: Make iort_get_device_domain IRQ domain agnostic (Al Stone) [1865698 1851555] - [acpi] ACPI/IORT: Make iort_match_node_callback walk the ACPI namespace for NC (Al Stone) [1865698 1851555] - [acpi] ACPI: APEI: remove redundant assignment to variable rc (Al Stone) [1865698 1851555] - [acpi] ACPI: NUMA: Remove the useless 'node >= MAX_NUMNODES' check (Al Stone) [1865698 1851555] - [acpi] ACPI: NUMA: Remove the useless sub table pointer check (Al Stone) [1865698 1851555] - [acpi] ACPI: tables: Remove the duplicated checks for acpi_parse_entries_array() (Al Stone) [1865698 1851555] - [acpi] ACPICA: Update version to 20200717 (Al Stone) [1865698 1851555] - [acpi] ACPICA: Do not increment operation_region reference counts for field units (Al Stone) [1865698 1851555] - [acpi] ACPICA: Replace one-element array with flexible-array (Al Stone) [1865698 1851555] - [acpi] ACPI: acpi_pad: initialize preferred_cpu (Al Stone) [1865698 1851555] - [acpi] ACPI: OSL: Clean up the removal of unused memory mappings (Al Stone) [1865698 1851555] - [acpi] ACPI: OSL: Use deferred unmapping in acpi_os_unmap_iomem() (Al Stone) [1865698 1851555] - [acpi] ACPI: OSL: Use deferred unmapping in acpi_os_unmap_generic_address() (Al Stone) [1865698 1851555] - [acpi] ACPICA: Preserve memory opregion mappings (Al Stone) [1865698 1851555] - [acpi] ACPI: OSL: Implement deferred unmapping of ACPI memory (Al Stone) [1865698 1851555] - [acpi] ACPI: Use fallthrough pseudo-keyword (Al Stone) [1865698 1851555] - [acpi] acpi: thermal: Don't call thermal_zone_device_is_enabled() (Al Stone) [1865698 1851555] - [acpi] ACPI: fan: Fix Tiger Lake ACPI device ID (Al Stone) [1865698 1851555] - [acpi] ACPI: DPTF: Add battery participant for TigerLake (Al Stone) [1865698 1851555] - [acpi] ACPI: tables: avoid relocations for table signature array (Al Stone) [1865698 1851555] - [acpi] ACPI: PAD: Eliminate usage of uninitialized_var() macro (Al Stone) [1865698 1851555] - [acpi] ACPI: sysfs: add newlines when printing module parameters (Al Stone) [1865698 1851555] - [acpi] ACPI: EC: add newline when printing 'ec_event_clearing' module parameter (Al Stone) [1865698 1851555] - [acpi] ACPI: sysfs: Fix pm_profile_attr type (Al Stone) [1865698 1851555] - [acpi] ACPI: property: use cached name in acpi_fwnode_get_named_child_node() (Al Stone) [1865698 1851555] - [acpi] sched,acpi_pad: Convert to sched_set_fifo*() (Al Stone) [1865698 1851555] - [acpi] ACPI: PM: Avoid using power resources if there are none for D0 (Al Stone) [1865698 1851555] - [acpi] ACPICA: Update version to 20200528 (Al Stone) [1865698 1851555] - [acpi] ACPICA: iASL: add new OperationRegion subtype keyword PlatformRtMechanism (Al Stone) [1865698 1851555] - [acpi] ACPI: CPPC: Fix reference count leak in acpi_cppc_processor_probe() (Al Stone) [1865698 1851555] - [acpi] ACPI: sysfs: Fix reference count leak in acpi_sysfs_add_hotplug_profile() (Al Stone) [1865698 1851555] - [acpi] ACPI: GED: use correct trigger type field in _Exx / _Lxx handling (Al Stone) [1865698 1851555] - [acpi] ACPI/IORT: Remove the unused __get_pci_rid() (Al Stone) [1865698 1851555] - [acpi] ACPI: EC: PM: s2idle: Extend GPE dispatching debug message (Al Stone) [1865698 1851555] - [acpi] ACPI: PM: s2idle: Print type of wakeup debug messages (Al Stone) [1865698 1851555] - [acpi] ACPI: DPTF: Add battery participant driver (Al Stone) [1865698 1851555] - [acpi] ACPI: DPTF: Additional sysfs attributes for power participant driver (Al Stone) [1865698 1851555] - [acpi] ACPI: video: Use native backlight on Acer TravelMate 5735Z (Al Stone) [1865698 1851555] - [acpi] ACPI/IORT: Fix PMCG node single ID mapping handling (Al Stone) [1865698 1851555] - [acpi] ACPI: APEI: Kick the memory_failure() queue for synchronous errors (Al Stone) [1865698 1851555] - [mm] mm/memory-failure: Add memory_failure_queue_kick() (Al Stone) [1865698 1851555] - [acpi] ACPI: IORT: Add comments for not calling acpi_put_table() (Al Stone) [1865698 1851555] - [acpi] ACPI: GTDT: Put GTDT table after parsing (Al Stone) [1865698 1851555] - [acpi] ACPI / PMIC: Add i2c address for thermal control (Al Stone) [1865698 1851555] - [acpi] ACPI: GED: add support for _Exx / _Lxx handler methods (Al Stone) [1865698 1851555] - [acpi] ACPI: Delete unused proc filename macros (Al Stone) [1865698 1851555] - [acpi] ACPI: IORT: Add extra message "applying workaround" for off-by-1 issue (Al Stone) [1865698 1851555] - [acpi] ACPI: utils: Add acpi_evaluate_reg() helper (Al Stone) [1865698 1851555] - [acpi] ACPI: debug: Make two functions static (Al Stone) [1865698 1851555] - [acpi] ACPI: sleep: Put the FACS table after using it (Al Stone) [1865698 1851555] - [acpi] ACPI: scan: Put SPCR and STAO table after using it (Al Stone) [1865698 1851555] - [acpi] ACPI: EC: Put the ACPI table after using it (Al Stone) [1865698 1851555] - [acpi] ACPI: APEI: Put the HEST table for error path (Al Stone) [1865698 1851555] - [acpi] ACPI: APEI: Put the error record serialization table for error path (Al Stone) [1865698 1851555] - [acpi] ACPI: APEI: Put the error injection table for error path and module exit (Al Stone) [1865698 1851555] - [acpi] ACPI: APEI: Put the boot error record table after parsing (Al Stone) [1865698 1851555] - [acpi] ACPI: watchdog: Put the watchdog action table after parsing (Al Stone) [1865698 1851555] - [acpi] ACPI: LPIT: Put the low power idle table after using it (Al Stone) [1865698 1851555] - [acpi] ACPICA: Update version to 20200430 (Al Stone) [1865698 1851555] - [acpi] ACPICA: Fix required parameters for _NIG and _NIH (Al Stone) [1865698 1851555] - [acpi] ACPICA: Dispatcher: add status checks (Al Stone) [1865698 1851555] - [acpi] ACPICA: Disassembler: ignore AE_ALREADY_EXISTS status when parsing create operators (Al Stone) [1865698 1851555] - [acpi] ACPICA: Move acpi_gbl_next_cmd_num definition to acglobal.h (Al Stone) [1865698 1851555] - [acpi] ACPICA: Make acpi_protocol_lengths static (Al Stone) [1865698 1851555] - [acpi] ACPI/IORT: work around num_ids ambiguity (Al Stone) [1865698 1851555] - [acpi] Revert "ACPI/IORT: Fix 'Number of IDs' handling in iort_id_map()" (Al Stone) [1865698 1851555] - [pci] PCI: Constify struct pci_ecam_ops (Al Stone) [1865698 1851555] - [acpi] PM: ACPI: Output correct message on target power state (Al Stone) [1865698 1851555] - [acpi] ACPI: CPPC: Make some symbols static (Al Stone) [1865698 1851555] - [acpi] ACPI: processor: idle: Allow probing on platforms with one ACPI C-state (Al Stone) [1865698 1851555] - [documentation] PM: sleep: core: Rename DPM_FLAG_LEAVE_SUSPENDED (Al Stone) [1865698 1851555] - [acpi] PM: sleep: core: Rename dev_pm_smart_suspend_and_suspended() (Al Stone) [1865698 1851555] - [acpi] PM: sleep: core: Rename dev_pm_may_skip_resume() (Al Stone) [1865698 1851555] - [acpi] PM: sleep: core: Rework the power.may_skip_resume handling (Al Stone) [1865698 1851555] - [acpi] PM: sleep: core: Do not skip callbacks in the resume phase (Al Stone) [1865698 1851555] - [base] PM: sleep: core: Switch back to async_schedule_dev() (Al Stone) [1865698 1851555] - [base] PM: sleep: core: Fold functions into their callers (Al Stone) [1865698 1851555] - [base] PM: sleep: core: Simplify the SMART_SUSPEND flag handling (Al Stone) [1865698 1851555] - [base] PM: sleep: core: Use built-in RCU list checking (Al Stone) [1865698 1851555] - [base] PM: core: Fix handling of devices deleted during system-wide resume (Al Stone) [1865698 1851555] - [base] PM: sleep: Drop dpm_noirq_begin() and dpm_noirq_end() (Al Stone) [1865698 1851555] - [kernel] PM: sleep: Integrate suspend-to-idle with generig suspend flow (Al Stone) [1865698 1851555] - [base] PM: sleep: Drop dev_pm_skip_next_resume_phases() (Al Stone) [1865698 1851555] - [acpi] ACPI: button: Drop no longer necessary Asus T200TA lid_init_state quirk (Al Stone) [1865698 1851555] - [acpi] ACPI/PCI: pci_link: use extended_irq union member when setting ext-irq shareable (Al Stone) [1865698 1851555] - [acpi] ACPI: EC: Fix up fast path check in acpi_ec_add() (Al Stone) [1865698 1851555] - [x86] ACPI, x86/boot: make acpi_nobgrt static (Al Stone) [1865698 1851555] - [x86] acpi/x86: add a kernel parameter to disable ACPI BGRT (Al Stone) [1865698 1851555] - [acpi] x86: ACPI: fix CPU hotplug deadlock (Al Stone) [1865698 1851555] - [x86] acpi/x86: ignore unspecified bit positions in the ACPI global lock field (Al Stone) [1865698 1851555] - [x86] x86/acpi: make "asmlinkage" part first thing in the function definition (Al Stone) [1865698 1851555] - [x86] x86/ACPI/sleep: Move acpi_get_wakeup_address() into sleep.c, remove from (Al Stone) [1865698 1851555] - [x86] x86/ACPI/sleep: Remove an unnecessary include of asm/realmode.h (Al Stone) [1865698 1851555] - [x86] x86/efi: Explicitly include realmode.h to handle RM trampoline quirk (Al Stone) [1865698 1851555] - [acpi] ACPI: video: Use native backlight on Acer Aspire 5783z (Al Stone) [1865698 1851555] - [acpi] ACPICA: Update version 20200326 (Al Stone) [1865698 1851555] - [acpi] ACPICA: Fixes for acpiExec namespace init file (Al Stone) [1865698 1851555] - [acpi] ACPICA: WSMT: Fix typo, no functional change (Al Stone) [1865698 1851555] - [acpi] ACPICA: utilities: fix sprintf() (Al Stone) [1865698 1851555] - [acpi] ACPICA: acpiexec: remove redeclaration of acpi_gbl_db_opt_no_region_support (Al Stone) [1865698 1851555] - [acpi] ACPICA: Change PlatformCommChannel ASL keyword to PCC (Al Stone) [1865698 1851555] - [acpi] ACPICA: Fix IVRS IVHD type 10h reserved field name (Al Stone) [1865698 1851555] - [acpi] ACPICA: Implement IVRS IVHD type 11h parsing (Al Stone) [1865698 1851555] - [acpi] ACPICA: Fix a typo in a comment field (Al Stone) [1865698 1851555] - [acpi] ACPICA: Update version to 20200214 (Al Stone) [1865698 1851555] - [acpi] ACPI: CPPC: clean up acpi_get_psd_map() (Al Stone) [1865698 1851555] - [acpi] ACPI: PCI: Use scnprintf() for avoiding potential buffer overflow (Al Stone) [1865698 1851555] - [acpi] ACPI: fan: Use scnprintf() for avoiding potential buffer overflow (Al Stone) [1865698 1851555] - [acpi] ACPI: EC: Eliminate EC_FLAGS_QUERY_HANDSHAKE (Al Stone) [1865698 1851555] - [acpi] ACPI: EC: Do not clear boot_ec_is_ecdt in acpi_ec_add() (Al Stone) [1865698 1851555] - [acpi] ACPI: EC: Simplify acpi_ec_ecdt_start() and acpi_ec_init() (Al Stone) [1865698 1851555] - [acpi] ACPI: EC: Consolidate event handler installation code (Al Stone) [1865698 1851555] - [acpi] ACPI: list_for_each_safe() -> list_for_each_entry_safe() (Al Stone) [1865698 1851555] - [acpi] ACPI: video: remove redundant assignments to variable result (Al Stone) [1865698 1851555] - [acpi] ACPI: OSL: Add missing __acquires/__releases annotations (Al Stone) [1865698 1851555] - [acpi] ACPI / battery: Cleanup Lenovo Ideapad Miix 320 DMI table entry (Al Stone) [1865698 1851555] - [acpi] ACPI / AC: Cleanup DMI quirk table (Al Stone) [1865698 1851555] - [acpi] ACPI: EC: Use fast path in acpi_ec_add() for DSDT boot EC (Al Stone) [1865698 1851555] - [acpi] ACPI: EC: Simplify acpi_ec_add() (Al Stone) [1865698 1851555] - [acpi] ACPI: EC: Drop AE_NOT_FOUND special case from ec_install_handlers() (Al Stone) [1865698 1851555] - [acpi] ACPI: EC: Avoid passing redundant argument to functions (Al Stone) [1865698 1851555] - [include] ACPI: NUMA: Up-level "map to online node" functionality (Al Stone) [1865698 1851555] - [acpi] ACPICA: Fix a couple of typos (Al Stone) [1865698 1851555] - [acpi] ACPICA: use acpi_size instead of u32 for prefix_path_length (Al Stone) [1865698 1851555] - [acpi] ACPICA: cast length arguement to acpi_ns_build_normalized_path() as u32 (Al Stone) [1865698 1851555] - [acpi] ACPICA: cast the result of the pointer difference to u32 (Al Stone) [1865698 1851555] - [acpi] ACPICA: Table Manager: Update comments in a function header (Al Stone) [1865698 1851555] - [acpi] ACPICA: Enable sleep button on ACPI legacy wake (Al Stone) [1865698 1851555] - [acpi] ACPICA: Fix a comment "enable" fixed events -> "disable" all fixed events (Al Stone) [1865698 1851555] - [acpi] ACPICA: ASL-ASL+ converter: make root file a parameter for cv_init_file_tree (Al Stone) [1865698 1851555] - [acpi] ACPICA: ASL-ASL+ converter: remove function parameters from cv_init_file_tree() (Al Stone) [1865698 1851555] - [acpi] ACPI: Add new tiny-power-button driver to directly signal init (Al Stone) [1865698 1851555] - [acpi] ACPI: button: move HIDs to acpi/button.h (Al Stone) [1865698 1851555] - [acpi] ACPI: treewide: remove redundant IS_ERR() before error code check (Al Stone) [1865698 1851555] - [dma] dmaengine: idma64: Use actual device for DMA transfers (Steve Best) [1784118] - [platform] platform/x86: dell-smbios-wmi: Correct a memory leak (David Arcari) [1898516] - [x86] x86/{mce,mm}: Unmap the entire page if the whole page is affected and poisoned (Aristeu Rozanski) [1850800]- [x86] kvm: x86: fix CPUID entries returned by KVM_GET_CPUID2 ioctl (Paolo Bonzini) [1904054 1906893 1904128] - [x86] kvm: x86: use kvm_complete_insn_gp in emulating RDMSR/WRMSR (Paolo Bonzini) [1904054 1906893 1904128] - [x86] kvm: x86: remove bogus #GP injection (Paolo Bonzini) [1904054 1906893 1904128] - [x86] kvm: svm: de-allocate svm_cpu_data for all cpus in svm_cpu_uninit() (Paolo Bonzini) [1904054 1906893 1904128] - [x86] kvm: x86: Fix split-irqchip vs interrupt injection window request (Paolo Bonzini) [1904054 1906893 1904128] - [x86] kvm: x86: handle !lapic_in_kernel case in kvm_cpu_*_extint (Paolo Bonzini) [1904054 1906893 1904128] - [x86] kvm: svm: fix error return code in svm_create_vcpu() (Paolo Bonzini) [1904054 1906893 1904128] - [x86] kvm: svm: Fix offset computation bug in __sev_dbg_decrypt() (Paolo Bonzini) [1904054 1906893 1904128] - [x86] kvm: x86/mmu: Use cpuid to determine max gfn (Paolo Bonzini) [1904054 1906893 1904128] - [x86] kvm: mmu: Fix SPTE encoding of MMIO generation upper half (Paolo Bonzini) [1904054 1906893 1904128] - [x86] kvm: nvmx: Sync unsync'd vmcs02 state to vmcs12 on migration (Paolo Bonzini) [1904054 1906893 1904128] - [x86] kvm: tracing: Fix unmatched kvm_entry and kvm_exit events (Paolo Bonzini) [1904054 1906893 1904128] - [documentation] kvm: documentation: Update description of KVM_{GET, CLEAR}_DIRTY_LOG (Paolo Bonzini) [1904054 1906893 1904128] - [x86] kvm: x86: get smi pending status correctly (Paolo Bonzini) [1904054 1906893 1904128] - [x86] kvm: x86/pmu: Fix HW_REF_CPU_CYCLES event pseudo-encoding in intel_arch_events[] (Paolo Bonzini) [1904054 1906893 1904128] - [x86] kvm: x86/pmu: Fix UBSAN shift-out-of-bounds warning in intel_pmu_refresh() (Paolo Bonzini) [1904054 1906893 1904128] - [x86] kvm: x86: Add more protection against undefined behavior in rsvd_bits() (Paolo Bonzini) [1904054 1906893 1904128] - [documentation] kvm: documentation: Fix spec for KVM_CAP_ENABLE_CAP_VM (Paolo Bonzini) [1904054 1906893 1904128] - [documentation] kvm: Forbid the use of tagged userspace addresses for memslots (Paolo Bonzini) [1904054 1906893 1904128] - [x86] kvm: x86: allow KVM_REQ_GET_NESTED_STATE_PAGES outside guest mode for VMX (Paolo Bonzini) [1904054 1906893 1904128] - [x86] kvm: nsvm: cancel KVM_REQ_GET_NESTED_STATE_PAGES on nested vmexit (Paolo Bonzini) [1904054 1906893 1904128] - [x86] kvm: nsvm: mark vmcb as dirty when forcingly leaving the guest mode (Paolo Bonzini) [1904054 1906893 1904128] - [x86] kvm: nsvm: correctly restore nested_run_pending on migration (Paolo Bonzini) [1904054 1906893 1904128] - [x86] kvm: x86/mmu: Clarify TDP MMU page list invariants (Paolo Bonzini) [1904054 1906893 1904128] - [x86] kvm: x86/mmu: Ensure TDP MMU roots are freed after yield (Paolo Bonzini) [1904054 1906893 1904128] - [security] apparmor: remove duplicate macro list_entry_is_head() (Paolo Bonzini) [1904054 1906893 1904128] - [kernel] linux/list.h: add a macro to test if entry is pointing to the head (Paolo Bonzini) [1904054 1906893 1904128] - [virt] kvm: check tlbs_dirty directly (Paolo Bonzini) [1904054 1906893 1904128] - [x86] kvm: x86: change in pv_eoi_get_pending() to make code more readable (Paolo Bonzini) [1904054 1906893 1904128] - [x86] kvm: x86: fix shift out of bounds reported by UBSAN (Paolo Bonzini) [1904054 1906893 1904128] - [x86] kvm: x86/mmu: Optimize not-present/MMIO SPTE check in get_mmio_spte() (Paolo Bonzini) [1904054 1906893 1904128] - [x86] kvm: x86/mmu: Use raw level to index into MMIO walks' sptes array (Paolo Bonzini) [1904054 1906893 1904128] - [x86] kvm: x86/mmu: Get root level from walkers when retrieving MMIO SPTE (Paolo Bonzini) [1904054 1906893 1904128] - [x86] kvm: x86/mmu: Use -1 to flag an undefined spte in get_mmio_spte() (Paolo Bonzini) [1904054 1906893 1904128] - [x86] kvm: svm: Remove the call to sev_platform_status() during setup (Paolo Bonzini) [1904054 1906893 1904128] - [x86] kvm: svm: Don't flush cache if hardware enforces cache coherency across encryption domains (Paolo Bonzini) [1904054 1906893 1904128] - [x86] cpu: Add hardware-enforced cache coherency as a CPUID feature (Paolo Bonzini) [1904054 1906893 1904128] - [x86] Remove X86_FEATURE_MFENCE_RDTSC (Paolo Bonzini) [1904054 1906893 1904128] - [x86] kvm: x86: reinstate vendor-agnostic check on SPEC_CTRL cpuid bits (Paolo Bonzini) [1904054 1906893 1904128] - [x86] kvm/vmx: Use TEST REG, REG instead of CMP $0, REG in vmenter.S (Paolo Bonzini) [1904054 1906893 1904128] - [x86] kvm: x86: ignore SIPIs that are received while not in wait-for-sipi state (Paolo Bonzini) [1904054 1906893 1904128] - [x86] kvm: nsvm: set fixed bits by hand (Paolo Bonzini) [1904054 1906893 1904128] - [x86] kvm: x86/mmu: Add TDP MMU SPTE changed trace point (Paolo Bonzini) [1904054 1906893 1904128] - [x86] kvm: x86/mmu: Add existing trace points to TDP MMU (Paolo Bonzini) [1904054 1906893 1904128] - [x86] kvm: svm: check CR4 changes against vcpu->arch (Paolo Bonzini) [1904054 1906893 1904128] - [x86] kvm: x86: adjust SEV for commit 7e8e6eed75e (Paolo Bonzini) [1904054 1906893 1904128] - [x86] kvm: svm: Move asid to vcpu_svm (Paolo Bonzini) [1904054 1906893 1904128] - [x86] kvm: remove unused macro HV_CLOCK_SIZE (Paolo Bonzini) [1904054 1906893 1904128] - [x86] kvm: x86: Sink cpuid update into vendor-specific set_cr4 functions (Paolo Bonzini) [1904054 1906893 1904128] - [virt] kvm: remove kvm_clear_guest_page (Paolo Bonzini) [1904054 1906893 1904128] - [x86] kvm: x86: Don't track dirty for KVM_SET_[TSS_ADDR|IDENTITY_MAP_ADDR] (Paolo Bonzini) [1904054 1906893 1904128] - [tools] kvm: selftests: test KVM_GET_SUPPORTED_HV_CPUID as a system ioctl (Paolo Bonzini) [1904054 1906893 1904128] - [x86] kvm: x86: hyper-v: allow KVM_GET_SUPPORTED_HV_CPUID as a system ioctl (Paolo Bonzini) [1904054 1906893 1904128] - [x86] kvm: x86: emulate wait-for-SIPI and SIPI-VMExit (Paolo Bonzini) [1904054 1906893 1904128] - [x86] kvm: x86: fix apic_accept_events vs check_nested_events (Paolo Bonzini) [1904054 1906893 1904128] - [x86] kvm: x86: Return bool instead of int for CR4 and SREGS validity checks (Paolo Bonzini) [1904054 1906893 1904128] - [x86] kvm: x86: Move vendor CR4 validity check to dedicated kvm_x86_ops hook (Paolo Bonzini) [1904054 1906893 1904128] - [x86] kvm: svm: Drop VMXE check from svm_set_cr4() (Paolo Bonzini) [1904054 1906893 1904128] - [x86] kvm: vmx: Drop explicit 'nested' check from vmx_set_cr4() (Paolo Bonzini) [1904054 1906893 1904128] - [x86] kvm: vmx: Drop guest CPUID check for VMXE in vmx_set_cr4() (Paolo Bonzini) [1904054 1906893 1904128] - [netdrv] net/mlx5e: Update max_opened_tc also when channels are closed (Alaa Hleihel) [1918379] - [netdrv] net/mlx5: Fix leak upon failure of rule creation (Alaa Hleihel) [1918379 1914766] - [netdrv] net/mlx5: Fix function calculation for page trees (Alaa Hleihel) [1918379] - [infiniband] RDMA/mlx5: Allow creating all QPs even when non RDMA profile is used (Alaa Hleihel) [1918379] - [netdrv] mlx5: Mark BlueField-3 as unsupported device (Alaa Hleihel) [1918379] - [netdrv] net/mlx5: Update the list of the PCI supported devices (Alaa Hleihel) [1918379] - [netdrv] net/mlx5: Enable host PF HCA after eswitch is initialized (Alaa Hleihel) [1923760 1918379] - [netdrv] net/mlx5: Rename peer_pf to host_pf (Alaa Hleihel) [1923760 1918379] - [netdrv] net/mlx5: Make API mlx5_core_is_ecpf accept const pointer (Alaa Hleihel) [1923760 1918379] - [netdrv] net/mlx5: simplify the return expression of mlx5_ec_init() (Alaa Hleihel) [1918379] - [infiniband] IB/mlx5: Add mutex destroy call to cap_mask_mutex mutex (Alaa Hleihel) [1918379] - [infiniband] RDMA/mlx5: Use strict get/set operations for obj_id (Alaa Hleihel) [1918379] - [infiniband] RDMA/mlx5: Use the correct obj_id upon DEVX TIR creation (Alaa Hleihel) [1918379] - [include] net/mlx5: Expose ifc bits for query modify header (Alaa Hleihel) [1918379] - [netdrv] net/mlx5: CT: Fix incorrect removal of tuple_nat_node from nat rhashtable (Alaa Hleihel) [1918379] - [netdrv] net/mlx5e: Revert parameters on errors when changing MTU and LRO state without reset (Alaa Hleihel) [1918379] - [netdrv] net/mlx5e: Revert parameters on errors when changing trust state without reset (Alaa Hleihel) [1918379] - [netdrv] net/mlx5e: Correctly handle changing the number of queues when the interface is down (Alaa Hleihel) [1918379] - [netdrv] net/mlx5e: Fix CT rule + encap slow path offload and deletion (Alaa Hleihel) [1918379] - [netdrv] net/mlx5e: Disable hw-tc-offload when MLX5_CLS_ACT config is disabled (Alaa Hleihel) [1918379] - [netdrv] net/mlx5: Maintain separate page trees for ECPF and PF functions (Alaa Hleihel) [1918379] - [netdrv] net/mlx5e: Fix IPSEC stats (Alaa Hleihel) [1918379] - [netdrv] net/mlx5e: Reduce tc unsupported key print level (Alaa Hleihel) [1918379] - [netdrv] net/mlx5e: free page before return (Alaa Hleihel) [1918379] - [netdrv] net/mlx5e: E-switch, Fix rate calculation for overflow (Alaa Hleihel) [1918379] - [netdrv] net/mlx5: Fix memory leak on flow table creation error flow (Alaa Hleihel) [1918379] - [infiniband] Revert "RDMA/mlx5: Fix devlink deadlock on net namespace deletion" (Alaa Hleihel) [1918379] - [infiniband] RDMA/mlx5: Fix wrong free of blue flame register on error (Alaa Hleihel) [1918379] - [infiniband] IB/mlx5: Fix error unwinding when set_has_smi_cap fails (Alaa Hleihel) [1918379] - [netdrv] net/mlx5e: Add missing capability check for uplink follow (Alaa Hleihel) [1918379] - [netdrv] iavf: Use kzalloc for allocating only one thing (Stefan Assmann) [1838735] - [netdrv] iavf: fix double-release of rtnl_lock (Stefan Assmann) [1838735] - [netdrv] intel-ethernet: clean up W=1 warnings in kdoc (Stefan Assmann) [1838735] - [netdrv] iavf: Fix updating statistics (Stefan Assmann) [1838735] - [netdrv] iavf: fix error return code in iavf_init_get_resources() (Stefan Assmann) [1838735] - [netdrv] ethernet/intel: Convert fallthrough code comments (Stefan Assmann) [1838735] - [netdrv] net/intel: remove driver versions from Intel drivers (Stefan Assmann) [1838735] - [net] Bluetooth: Fix null pointer dereference in amp_read_loc_assoc_final_data (Gopal Tiwari) [1916057] - [fs] fs/fs-writeback.c: fix kernel-doc warning (Waiman Long) [1918047] - [include] memcg: only record foreign writebacks with dirty pages when memcg is not disabled (Waiman Long) [1918047] - [trace] writeback: don't access page->mapping directly in track_foreign_dirty TP (Waiman Long) [1918047] - [fs] writeback: add tracepoints for cgroup foreign writebacks (Waiman Long) [1918047] - [mm] writeback, memcg: Implement foreign dirty flushing (Waiman Long) [1918047] - [mm] mm: remove the account_page_dirtied export (Waiman Long) [1918047] - [fs] writeback, memcg: Implement cgroup_writeback_by_id() (Waiman Long) [1918047] - [mm] writeback: Separate out wb_get_lookup() from wb_get_create() (Waiman Long) [1918047] - [include] bdi: Add bdi->id (Waiman Long) [1918047] - [mm] mm/page-writeback: introduce tracepoint for wait_on_page_writeback() (Waiman Long) [1918047] - [fs] kernfs: fix barrier usage in __kernfs_new_node() (Waiman Long) [1918047] - [fs] kernfs: Allocating memory for kernfs_iattrs with kmem_cache (Waiman Long) [1918047] - [fs] fs: Convert writeback to XArray (Waiman Long) [1918047] - [mm] mm: Convert page-writeback to XArray (Waiman Long) [1918047] - [mm] mm/filemap: add missing mem_cgroup_uncharge() to __add_to_page_cache_locked() (Waiman Long) [1917681] - [mm] mm/slub: fix panic in slab_alloc_node() (Oleksandr Natalenko) [1921056] - [net] xfrm: interface: fix the priorities for ipip and ipv6 tunnels (Sabrina Dubroca) [1923269] - [net] netfilter: ipset: fix shift-out-of-bounds in htable_bits() (Antoine Tenart) [1918684] - [net] tcp: refine tcp_pacing_delay() for very low pacing rates (Antoine Tenart) [1905897] - [net] ensure correct skb->tstamp in various fragmenters (Antoine Tenart) [1905897] - [net] tcp: repaired skbs must init their tso_segs (Antoine Tenart) [1905897] - [net] tcp: address problems caused by EDT misshaps (Antoine Tenart) [1905897] - [net] net_sched: sch_fq: ensure maxrate fq parameter applies to EDT flows (Antoine Tenart) [1905897] - [net] tcp: refine tcp_tso_should_defer() after EDT adoption (Antoine Tenart) [1905897] - [net] tcp_bbr: update comments to reflect pacing_margin_percent (Antoine Tenart) [1905897] - [net] tcp: add tcp_reset_xmit_timer() helper (Antoine Tenart) [1905897] - [net] tcp: fix TCP_REPAIR xmit queue setup (Antoine Tenart) [1905897] - [net] tcp_bbr: adjust TCP BBR for departure time pacing (Antoine Tenart) [1905897] - [net] tcp_bbr: fix typo in bbr_pacing_margin_percent (Antoine Tenart) [1905897] - [net] tcp: optimize tcp internal pacing (Antoine Tenart) [1905897] - [net] net_sched: sch_fq: no longer use skb_is_tcp_pure_ack() (Antoine Tenart) [1905897] - [net] tcp: mitigate scheduling jitter in EDT pacing model (Antoine Tenart) [1905897] - [net] tcp: do not change tcp_wstamp_ns in tcp_mstamp_refresh (Antoine Tenart) [1905897] - [net] tcp/fq: move back to CLOCK_MONOTONIC (Antoine Tenart) [1905897] - [net] tcp: switch tcp_internal_pacing() to tcp_wstamp_ns (Antoine Tenart) [1905897] - [net] tcp: switch tcp and sch_fq to new earliest departure time model (Antoine Tenart) [1905897] - [net] tcp: switch internal pacing timer to CLOCK_TAI (Antoine Tenart) [1905897] - [net] tcp: provide earliest departure time in skb->tstamp (Antoine Tenart) [1905897] - [net] tcp: add tcp_wstamp_ns socket field (Antoine Tenart) [1905897] - [net] net_sched: sch_fq: switch to CLOCK_TAI (Antoine Tenart) [1905897] - [net] tcp: introduce tcp_skb_timestamp_us() helper (Antoine Tenart) [1905897] - [net] tcp: switch tcp_clock_ns() to CLOCK_TAI base (Antoine Tenart) [1905897] - [drm] drm/nouveau/disp/ga10: initial support (Ben Skeggs) [1916583] - [drm] drm/nouveau/dmaobj/ga10: initial support (Ben Skeggs) [1916583] - [drm] drm/nouveau/i2c/ga10: initial support (Ben Skeggs) [1916583] - [drm] drm/nouveau/gpio/ga10: initial support (Ben Skeggs) [1916583] - [drm] drm/nouveau/bar/ga10: initial support (Ben Skeggs) [1916583] - [drm] drm/nouveau/mmu/ga10: initial support (Ben Skeggs) [1916583] - [drm] drm/nouveau/timer/ga10: initial support (Ben Skeggs) [1916583] - [drm] drm/nouveau/fb/ga10: initial support (Ben Skeggs) [1916583] - [drm] drm/nouveau/imem/ga10: initial support (Ben Skeggs) [1916583] - [drm] drm/nouveau/privring/ga10: initial support (Ben Skeggs) [1916583] - [drm] drm/nouveau/mc/ga10: initial support (Ben Skeggs) [1916583] - [drm] drm/nouveau/devinit/ga10: initial support (Ben Skeggs) [1916583] - [drm] drm/nouveau/bios/ga10: initial support (Ben Skeggs) [1916583] - [drm] drm/nouveau/pci/ga10: initial support (Ben Skeggs) [1916583] - [drm] drm/nouveau/core: recognise GA10 (Ben Skeggs) [1916583] - [drm] drm/nouveau/kms/nv50-: fix case where notifier buffer is at offset 0 (Ben Skeggs) [1916583] - [drm] drm/nouveau/mmu: fix vram heap sizing (Ben Skeggs) [1916583] - [drm] drm/nouveau/i2c/gm200: increase width of aux semaphore owner fields (Ben Skeggs) [1916583] - [drm] drm/nouveau/i2c/gk110-: disable hw-initiated dpcd reads (Ben Skeggs) [1916583] - [drm] drm/nouveau/i2c/gk110: split out from i2c/gk104 (Ben Skeggs) [1916583] - [drm] drm/nouveau/privring: ack interrupts the same way as RM (Ben Skeggs) [1916583] - [drm] drm/nouveau/bios: fix issue shadowing expansion ROMs (Ben Skeggs) [1916583] - [netdrv] net/mlx5e: Fix memleak in mlx5e_create_l2_table_groups (Alaa Hleihel) [1899457] - [netdrv] net/mlx5e: Fix two double free cases (Alaa Hleihel) [1899457] - [netdrv] net/mlx5e: ethtool, Fix restriction of autoneg with 56G (Alaa Hleihel) [1899457] - [netdrv] net/mlx5e: In skb build skip setting mark in switchdev mode (Alaa Hleihel) [1899457] - [netdrv] net/mlx5: E-Switch, fix changing vf VLANID (Alaa Hleihel) [1899457] - [netdrv] net/mlx5e: Fix SWP offsets when vlan inserted by driver (Alaa Hleihel) [1899457 1819580] - [netdrv] net/mlx5: Use port_num 1 instead of 0 when delete a RoCE address (Alaa Hleihel) [1899457] - [netdrv] net/mlx5: Check if lag is supported before creating one (Alaa Hleihel) [1899457] - [infiniband] RDMA/mlx5: Fix MR cache memory leak (Alaa Hleihel) [1899457] - [netdrv] net/mlx5: Fix passing zero to 'PTR_ERR' (Alaa Hleihel) [1899457] - [netdrv] net/mlx5e: remove unnecessary memset (Alaa Hleihel) [1899457] - [infiniband] RDMA/mlx5: Assign dev to DM MR (Alaa Hleihel) [1899457] - [infiniband] RDMA/mlx5: Remove mlx5_ib_mr->npages (Alaa Hleihel) [1899457] - [documentation] scsi: fc: Update documentation of sysfs nodes for FPIN stats (Ewan Milne) [1859967] - [scsi] scsi: fc: Add mechanism to update FPIN signal statistics (Ewan Milne) [1859967] - [scsi] scsi: fc: Parse FPIN packets and update statistics (Ewan Milne) [1859967] - [scsi] scsi: fc: Add FPIN statistics to fc_host and fc_rport objects (Ewan Milne) [1859967] - [uapi] scsi: fc: Update formal FPIN descriptor definitions (Ewan Milne) [1859967] - [scsi] scsi: smartpqi: Update version to 1.2.16-012 (Don Brace) [1890727 1889844] - [scsi] scsi: smartpqi: Correct pqi_sas_smp_handler busy condition (Don Brace) [1890727 1889844] - [scsi] scsi: smartpqi: Correct driver removal with HBA disks (Don Brace) [1890727 1889844] - [target] scsi: target: Fix XCOPY NAA identifier lookup (Maurizio Lombardi) [1900463] {CVE-2020-28374} - [x86] perf/x86/intel/uncore: Add Comet Lake support (Michael Petlan) [1873271]- [net] bridge: Fix a warning when del bridge sysfs (Davide Caratti) [1917518] - [net] bridge: Avoid infinite loop when suppressing NS messages with invalid options (Davide Caratti) [1917518] - [net] bridge: fix stale eth hdr pointer in br_dev_xmit (Davide Caratti) [1917518] - [net] SUNRPC: Handle 0 length opaque XDR object data properly (Dave Wysochanski) [1906400] - [net] SUNRPC: Move simple_get_bytes and simple_get_netobj into private header (Dave Wysochanski) [1906400] - [block] nbd: make the config put is called before the notifying the waiter (Ming Lei) [1743857] - [block] nbd: restore default timeout when setting it to zero (Ming Lei) [1743857] - [kernel] rcu/tree: Defer kvfree_rcu() allocation to a clean context (Waiman Long) [1922453] - [kernel] cgroup: Fix memory leak when parsing multiple source parameters (Waiman Long) [1922453] - [kernel] cpuset: fix race between hotplug work and later CPU offline (Waiman Long) [1922453] - [kernel] cgroup: freezer: call cgroup_enter_frozen() with preemption disabled in ptrace_stop() (Waiman Long) [1922453] - [kernel] cgroup: freezer: fix frozen state inheritance (Waiman Long) [1922453] - [kernel] locking/lockdep: Cure noinstr fail (Waiman Long) [1922453] - [kernel] tick/nohz: Narrow down noise while setting current task's tick dependency (Waiman Long) [1922453] - [fs] fs: Kill DCACHE_DONTCACHE dentry even if DCACHE_REFERENCED is set (Eric Sandeen) [1921903] - [fs] fs: Handle I_DONTCACHE in iput_final() instead of generic_drop_inode() (Eric Sandeen) [1921903] - [netdrv] ice: update dev_addr in ice_set_mac_address even if HW filter exists (Jonathan Toppins) [1879318] - [tools] libbpf: Fix uninitialized variable in btf_parse_type_sec (Jiri Olsa) [1922197] - [tools] libbpf: Support BTF loading and raw data output in both endianness (Jiri Olsa) [1922197] - [tools] selftests/bpf: Test BTF writing APIs (Jiri Olsa) [1922197] - [tools] libbpf: Add btf__str_by_offset() as a more generic variant of name_by_offset (Jiri Olsa) [1922197] - [tools] libbpf: Add BTF writing APIs (Jiri Olsa) [1922197] - [tools] libbpf: Add btf__new_empty() to create an empty BTF object (Jiri Olsa) [1922197] - [tools] libbpf: Allow modification of BTF and add btf__add_str API (Jiri Olsa) [1922197] - [tools] libbpf: Extract generic string hashing function for reuse (Jiri Olsa) [1922197] - [tools] libbpf: Generalize common logic for managing dynamically-sized arrays (Jiri Olsa) [1922197] - [tools] libbpf: Remove assumption of single contiguous memory for BTF data (Jiri Olsa) [1922197] - [tools] libbpf: Refactor internals of BTF type index (Jiri Olsa) [1922197] - [tools] libbpf: Remove any use of reallocarray() in libbpf (Jiri Olsa) [1922197] - [tools] libbpf: Clean up and improve CO-RE reloc logging (Jiri Olsa) [1922197] - [tools] libbpf: Improve error logging for mismatched BTF kind cases (Jiri Olsa) [1922197] - [scsi] scsi: qla2xxx: Fix mailbox Ch erroneous error (Nilesh Javali) [1894578] - [sound] ALSA: ASoC: Intel: tgl: remove sof_fw_filename set for tgl_3_in_1_default (Jaroslav Kysela) [1783462] - [sound] ALSA: ASoC: SOF: allow soundwire use desc->default_fw_filename (Jaroslav Kysela) [1783462] - [sound] ALSA: ASoC: Intel: sof_sdw: set proper flags for Dell TGL-H SKU 0A5E (Jaroslav Kysela) [1783462] - [sound] ALSA: hda: intel-dsp-config: add PCI id for TGL-H (Jaroslav Kysela) [1783462] - [sound] ALSA: ASoC: topology: Properly unregister DAI on removal (Jaroslav Kysela) [1783462] - [sound] ALSA: ASoC: topology: Fix memory corruption in soc_tplg_denum_create_values() (Jaroslav Kysela) [1783462] - [sound] ALSA: ASoC: topology: Add missing size check (Jaroslav Kysela) [1783462] - [sound] ALSA: ASoC: topology: Fix wrong size check (Jaroslav Kysela) [1783462] - [sound] ALSA: ASoC: topology: Simplify remove_widget function (Jaroslav Kysela) [1783462] - [sound] ALSA: ASoC: topology: Remove empty functions (Jaroslav Kysela) [1783462] - [sound] ALSA: ASoC: topology: Change allocations to resource managed (Jaroslav Kysela) [1783462] - [sound] ALSA: ASoC: topology: Unify all device references (Jaroslav Kysela) [1783462] - [sound] ALSA: ASoC: topology: Remove unused functions from topology API (Jaroslav Kysela) [1783462] - [sound] ALSA: ASoC: max98926: drop driver pm=NULL assignment (Jaroslav Kysela) [1783462] - [sound] ALSA: ASoC: max98925: drop driver pm=NULL assignment (Jaroslav Kysela) [1783462] - [sound] ALSA: ASoC: max98926: skip of_device_id table when !CONFIG_OF (Jaroslav Kysela) [1783462] - [sound] ALSA: ASoC: max98925: skip of_device_id table when !CONFIG_OF (Jaroslav Kysela) [1783462] - [sound] ALSA: ASoC: max9867: skip of_device_id table when !CONFIG_OF (Jaroslav Kysela) [1783462] - [sound] ALSA: ASoC: codecs: max98373-sdw: align regmap use with other codecs (Jaroslav Kysela) [1783462] - [sound] ALSA: ASoC: max98371: skip of_device_id table when !CONFIG_OF (Jaroslav Kysela) [1783462] - [sound] ALSA: ASoC: max98390: Fix error codes in max98390_dsm_init() (Jaroslav Kysela) [1783462] - [sound] ALSA: ASoC: max98371: drop driver pm=NULL assignment (Jaroslav Kysela) [1783462] - [sound] ALSA: ASoC: max98095: skip of_device_id table when !CONFIG_OF (Jaroslav Kysela) [1783462] - [sound] ALSA: ASoC: max98373: don't access volatile registers in bias level off (Jaroslav Kysela) [1783462] - [sound] ALSA: ASoC: max98090: skip of_device_id table when !CONFIG_OF (Jaroslav Kysela) [1783462] - [sound] ALSA: ASoC: pcm: DRAIN support reactivation (Jaroslav Kysela) [1783462] - [sound] ALSA: ASoC: rt711: mutex between calibration and power state changes (Jaroslav Kysela) [1783462] - [sound] ALSA: ASoC: rt711: remove warnings (Jaroslav Kysela) [1783462] - [sound] ALSA: ASoC: rt5660: skip of_device_id table when !CONFIG_OF (Jaroslav Kysela) [1783462] - [sound] ALSA: ASoC: codecs: rt*.c: remove useless pointer cast (Jaroslav Kysela) [1783462] - [sound] ALSA: ASoC: rt1015p: delay 300ms after SDB pulling high for calibration (Jaroslav Kysela) [1783462] - [sound] ALSA: ASoC: rt1015p: move SDB control from trigger to DAPM (Jaroslav Kysela) [1783462] - [sound] ALSA: ASoC: rt1015: check the return value of regmap_read during i2c probe (Jaroslav Kysela) [1783462] - [sound] ALSA: ASoC: rt1015: modification for calibration to get better performance (Jaroslav Kysela) [1783462] - [sound] ALSA: ASoC: rt1015: support TDM slot configuration (Jaroslav Kysela) [1783462] - [sound] ALSA: soundwire: qcom: Fix build failure when slimbus is module (Jaroslav Kysela) [1783462] - [sound] ALSA: soundwire: Fix DEBUG_LOCKS_WARN_ON for uninitialized attribute (Jaroslav Kysela) [1783462] - [sound] ALSA: soundwire: master: use pm_runtime_set_active() on add (Jaroslav Kysela) [1783462] - [sound] ALSA: soundwire: intel: fix another unused-function warning (Jaroslav Kysela) [1783462] - [sound] ALSA: soundwire: bus: only clear valid DPN interrupts (Jaroslav Kysela) [1783462] - [sound] ALSA: soundwire: bus: only clear valid DP0 interrupts (Jaroslav Kysela) [1783462] - [sound] ALSA: soundwire: registers: add definitions for clearable interrupt fields (Jaroslav Kysela) [1783462] - [sound] ALSA: soundwire: bus: reset slave_notify status at each loop (Jaroslav Kysela) [1783462] - [sound] ALSA: soundwire: bus: add comments to explain interrupt loop filter (Jaroslav Kysela) [1783462] - [sound] ALSA: soundwire: SDCA: detect sdca_cascade interrupt (Jaroslav Kysela) [1783462] - [sound] ALSA: ASoC: Intel: kbl_rt5663_max98927: Fix kabylake_ssp_fixup function (Jaroslav Kysela) [1783462] - [sound] ALSA: ASoC: Intel: Boards: tgl_max98373: update TDM slot_width (Jaroslav Kysela) [1783462] - [sound] ALSA: ASoC: intel: sof_rt5682: Add support for tgl_rt1011_rt5682 (Jaroslav Kysela) [1783462] - [sound] ALSA: ASoC: Intel: Boards: tgl_max98373: add dpcm_capture flag for speaker_smart_amp (Jaroslav Kysela) [1783462] - [sound] ALSA: ASoC: intel: sof_rt5682: Add quirk for Dooly (Jaroslav Kysela) [1783462] - [sound] ALSA: ASoC: intel: sof_rt5682: Add support for cml_rt1015_rt5682 (Jaroslav Kysela) [1783462] - [sound] ALSA: ASoC: Intel: sof_sdw: add quirk for new TigerLake-SDCA device (Jaroslav Kysela) [1783462] - [sound] ALSA: ASoC: SOF: Intel: add hw specific PCM constraints (Jaroslav Kysela) [1783462] - [sound] ALSA: ASoC: SOF: loader: do not warn about unknown firmware headers (Jaroslav Kysela) [1783462] - [sound] ALSA: ASoC: topology: Remove multistep topology loading (Jaroslav Kysela) [1783462] - [sound] ALSA: ASoC: SOF: sof-audio: remove goto used for force-nocodec support (Jaroslav Kysela) [1783462] - [sound] ALSA: ASoC: SOF: ops: modify the signature of stall op (Jaroslav Kysela) [1783462] - [sound] ALSA: ASoC: SOF: topology: remove const in sizeof() (Jaroslav Kysela) [1783462] - [sound] ALSA: ASoC: SOF: use inclusive language for bclk and fsync (Jaroslav Kysela) [1783462] - [sound] ALSA: ASoC: topology: use inclusive language for bclk and fsync (Jaroslav Kysela) [1783462] - [sound] ALSA: ASoC: SOF: ops: add parse_platform_ext_manifest() op (Jaroslav Kysela) [1783462] - [sound] ALSA: ASoC: SOF: relax PCM period and buffer size constraints (Jaroslav Kysela) [1783462] - [sound] ALSA: ASoC: SOF: nocodec: modify DAI link definitions (Jaroslav Kysela) [1783462] - [sound] ALSA: ASoC: SOF: trace: Add runtime trace filtering mechanism (Jaroslav Kysela) [1783462] - [sound] ALSA: ASoC: SOF: Add `memory_info` file to debugfs (Jaroslav Kysela) [1783462] - [sound] ALSA: ASoC: SOF: Change section comment for SOF_IPC_TEST_ (Jaroslav Kysela) [1783462] - [sound] ALSA: ASoC: SOF: Improve code alignment in header.h (Jaroslav Kysela) [1783462] - [sound] ALSA: ASoC: SOF: IPC: fix implicit type overflow (Jaroslav Kysela) [1783462] - [sound] ALSA: ASoC: SOF: ext_manifest: Parse firmware config dictionary (Jaroslav Kysela) [1783462] - [sound] ALSA: ASoC: SOF: Intel: hda: fix the condition passed to sof_dev_dbg_or_err (Jaroslav Kysela) [1783462] - [sound] ALSA: ASoC: SOF: modify the SOF_DBG flags (Jaroslav Kysela) [1783462] - [sound] ALSA: ASoC: SOF: Intel: hda: remove duplicated status dump (Jaroslav Kysela) [1783462] - [sound] ALSA: ASoC: SOF: ext_manifest: parse cavs extra config data elem (Jaroslav Kysela) [1783462] - [sound] ALSA: ASoC: SOF: Intel: hda: define parse_platform_ext_manifest op (Jaroslav Kysela) [1783462] - [sound] ALSA: ASoC: SOF: control: override volume info callback (Jaroslav Kysela) [1783462] - [sound] ALSA: ASoC: SOF: control: remove const in sizeof() (Jaroslav Kysela) [1783462] - [sound] ALSA: ASoC: SOF: Add .prepare/.complete callbacks (Jaroslav Kysela) [1783462] - [sound] ALSA: ASoC: SOF: Activate runtime PM with SOF OF device (Jaroslav Kysela) [1783462] - [sound] ALSA: ASoC: soc-pcm: add missing ret=0 at soc_pcm_open() (Jaroslav Kysela) [1783462] - [sound] ALSA: ASoC: soc-pcm: ignore un-needed mutex_unlock() case on soc_pcm_open() (Jaroslav Kysela) [1783462] - [sound] ALSA: ASoC: soc-pcm: remove unneeded dev_err() for snd_soc_component_module/open() (Jaroslav Kysela) [1783462] - [sound] ALSA: ASoC: soc-pcm: remove unneeded dev_err() for snd_soc_dai_startup() (Jaroslav Kysela) [1783462] - [sound] ALSA: ASoC: soc-pcm: add soc_pcm_clean() and call it from soc_pcm_open/close() (Jaroslav Kysela) [1783462] - [sound] ALSA: ASoC: soc-link: add mark for snd_soc_link_startup/shutdown() (Jaroslav Kysela) [1783462] - [sound] ALSA: ASoC: soc-dai: add mark for snd_soc_dai_startup/shutdown() (Jaroslav Kysela) [1783462] - [sound] ALSA: ASoC: soc-component: add mark for snd_soc_pcm_component_pm_runtime_get/put() (Jaroslav Kysela) [1783462] - [sound] ALSA: ASoC: soc-component: add mark for soc_pcm_components_open/close() (Jaroslav Kysela) [1783462] - [sound] ALSA: ASoC: Intel: KMB: Fix S24_LE configuration (Jaroslav Kysela) [1783462] - [sound] ALSA: ASOC: Intel: kbl_rt5663_rt5514_max98927: Do not try to disable disabled clock (Jaroslav Kysela) [1783462] - [sound] ALSA: ASoC: Intel: bytcr_rt5640: Fix HP Pavilion x2 Detachable quirks (Jaroslav Kysela) [1783462] - [sound] ALSA: ASoC: rt5682: change SAR voltage threshold (Jaroslav Kysela) [1783462] - [sound] ALSA: ASoC: rt1015: increase the time to detect BCLK (Jaroslav Kysela) [1783462] - [sound] ALSA: ASoC: rt1015: add delay to fix pop noise from speaker (Jaroslav Kysela) [1783462] - [powerpc] powerpc/tm: Avoid machine crash on rt_sigreturn() (Gustavo Duarte) [1860550] - [net] udp: Prevent reuseport_select_sock from reading uninitialized socks (Guillaume Nault) [1917953] - [net] flow_offload: Fix memory leak for indirect flow block (Guillaume Nault) [1917953] - [net] sock: set sk_err to ee_errno on dequeue from errq (Guillaume Nault) [1917953] - [net] devlink: Make sure devlink instance and port are in same net namespace (Guillaume Nault) [1917953] - [net] devlink: Hold rtnl lock while reading netdev attributes (Guillaume Nault) [1917953] - [net] devlink: Add missing genlmsg_cancel() in devlink_nl_sb_port_pool_fill() (Guillaume Nault) [1917953] - [net] tipc: fix NULL deref in tipc_link_xmit() (Xin Long) [1918657] - [net] tipc: prevent possible null deref of link (Xin Long) [1918657] - [net] tipc: fix incompatible mtu of transmission (Xin Long) [1918657] - [net] tipc: fix memory leak in tipc_topsrv_start() (Xin Long) [1918657] - [net] tipc: add stricter control of reserved service types (Xin Long) [1918657] - [tools] selftests/bpf/test_offload.py: Filter bpftool internal map when counting maps (Jiri Benc) [1882709] - [tools] selftests/bpf/test_offload.py: Reset ethtool features after failed setting (Jiri Benc) [1882709] - [tools] selftests/bpf/test_offload.py: Fix expected case of extack messages (Jiri Benc) [1882709] - [tools] selftests/bpf/test_offload.py: Only check verifier log on verification fails (Jiri Benc) [1882709] - [netdrv] netdevsim: Add debugfs toggle to reject BPF programs in verifier (Jiri Benc) [1882709] - [tools] selftests/bpf/test_offload.py: Remove check for program load flags match (Jiri Benc) [1882709] - [net] xdp: Remove the xdp_attachment_flags_ok() callback (Jiri Benc) [1882709] - [net] net, xsk: Avoid taking multiple skbuff references (Jiri Benc) [1882709] - [net] increment xmit_recursion level in dev_direct_xmit() (Jiri Benc) [1882709] - [kernel] usermodehelper: reset umask to default before executing user process (Jiri Benc) [1882709] - [net] xsk: Do not discard packet when NETDEV_TX_BUSY (Jiri Benc) [1882709] - [net] xsk: Fix number of pinned pages/umem size discrepancy (Jiri Benc) [1882709] - [include] netdevice.h: fix xdp_state kernel-doc warning (Jiri Benc) [1882709] - [net] bpf: xdp: Fix XDP mode when no mode flags specified (Jiri Benc) [1882709] - [net] bpf: Fix XDP FD-based attach/detach logic around XDP_FLAGS_UPDATE_IF_NOEXIST (Jiri Benc) [1882709] - [kernel] add a kernel_wait helper (Jiri Benc) [1882709] - [tools] selftests/bpf: Add link detach tests for cgroup, netns, and xdp bpf_links (Jiri Benc) [1882709] - [net] bpf: Add support for forced LINK_DETACH command (Jiri Benc) [1882709] - [kernel] bpf: Fix build without CONFIG_NET when using BPF XDP link (Jiri Benc) [1882709] - [net] xdp: Prevent kernel-infoleak in xsk_getsockopt() (Jiri Benc) [1882709] - [net] udp, bpf: Ignore connections in reuseport group after BPF sk lookup (Jiri Benc) [1882709] - [net] Revert "net: optimize the sockptr_t for unified kernel/user address spaces" (Jiri Benc) [1882709] - [net] improve the user pointer check in init_user_sockptr (Jiri Benc) [1882709] - [include] net: remove sockptr_advance (Jiri Benc) [1882709] - [include] net: make sockptr_is_null strict aliasing safe (Jiri Benc) [1882709] - [net] optimize the sockptr_t for unified kernel/user address spaces (Jiri Benc) [1882709] - [net] bpfilter: switch bpfilter_ip_set_sockopt to sockptr_t (Jiri Benc) [1882709] - [net] switch copy_bpf_fprog_from_user to sockptr_t (Jiri Benc) [1882709] - [include] net: add a new sockptr_t type (Jiri Benc) [1882709] - [net] bpfilter: reject kernel addresses (Jiri Benc) [1882709] - [net] bpfilter: split __bpfilter_process_sockopt (Jiri Benc) [1882709] - [net] bpfilter: fix up a sparse annotation (Jiri Benc) [1882709] - [net] udp: Don't discard reuseport selection when group has connections (Jiri Benc) [1882709] - [net] bpf, xdp: Remove XDP_QUERY_PROG and XDP_QUERY_PROG_HW XDP commands (Jiri Benc) [1882709] - [tools] selftests/bpf: Add BPF XDP link selftests (Jiri Benc) [1882709] - [net] bpf: Implement BPF XDP link-specific introspection APIs (Jiri Benc) [1882709] - [net] bpf, xdp: Implement LINK_UPDATE for BPF XDP link (Jiri Benc) [1882709] - [net] bpf, xdp: Add bpf_link-based XDP attachment API (Jiri Benc) [1882709] - [net] bpf, xdp: Extract common XDP program attachment logic (Jiri Benc) [1882709] - [net] bpf, xdp: Maintain info on attached XDP BPF programs in net_device (Jiri Benc) [1882709] - [kernel] bpf, netns: Fix build without CONFIG_INET (Jiri Benc) [1882709] - [net] udp6: Run SK_LOOKUP BPF program on socket lookup (Jiri Benc) [1882709] - [net] udp6: Extract helper for selecting socket from reuseport group (Jiri Benc) [1882709] - [net] udp: Run SK_LOOKUP BPF program on socket lookup (Jiri Benc) [1882709] - [net] udp: Extract helper for selecting socket from reuseport group (Jiri Benc) [1882709] - [net] ipv6: remove unused arg exact_dif in compute_score (Jiri Benc) [1882709] - [net] ipv4: remove unused arg exact_dif in compute_score (Jiri Benc) [1882709] - [net] udp: Remove unused variable/function (exact_dif) (Jiri Benc) [1882709] - [net] udp: Remove unused parameter (exact_dif) (Jiri Benc) [1882709] - [net] udp: only choose unbound UDP socket for multicast when not in a VRF (Jiri Benc) [1882709] - [net] ensure unbound datagram socket to be chosen when not in a VRF (Jiri Benc) [1882709] - [net] ensure unbound stream socket to be chosen when not in a VRF (Jiri Benc) [1882709] - [net] allow binding socket in a VRF when there's an unbound socket (Jiri Benc) [1882709] - [net] udp6: drop unneeded likely() call around IS_ERR() (Jiri Benc) [1882709] - [net] udp: drop unneeded likely() call around IS_ERR() (Jiri Benc) [1882709] - [net] inet6: Run SK_LOOKUP BPF program on socket lookup (Jiri Benc) [1882709] - [net] inet6: Extract helper for selecting socket from reuseport group (Jiri Benc) [1882709] - [net] inet: Run SK_LOOKUP BPF program on socket lookup (Jiri Benc) [1882709] - [net] inet: Extract helper for selecting socket from reuseport group (Jiri Benc) [1882709] - [net] simplify cBPF setsockopt compat handling (Jiri Benc) [1882709] - [net] explicitly include in net/core/sock.c (Jiri Benc) [1882709] - [include] compat: provide compat_ptr() on all architectures (Jiri Benc) [1882709] - [net] socket: move compat timeout handling into sock.c (Jiri Benc) [1882709] - [include] xdp: introduce xdp_get_shared_info_from_{buff, frame} utility routines (Jiri Benc) [1882709] - [net] xsk: Add xdp statistics to xsk_diag (Jiri Benc) [1882709] - [net] xsk: Add new statistics (Jiri Benc) [1882709] - [net] bpfilter: Initialize pos variable (Jiri Benc) [1882709] - [kernel] umd: Stop using split_argv (Jiri Benc) [1882709] - [kernel] umd: Remove exit_umh (Jiri Benc) [1882709] - [net] bpfilter: Take advantage of the facilities of struct pid (Jiri Benc) [1882709] - [kernel] exit: Factor thread_group_exited out of pidfd_poll (Jiri Benc) [1882709] - [kernel] umd: Track user space drivers with struct pid (Jiri Benc) [1882709] - [net] bpfilter: Move bpfilter_umh back into init data (Jiri Benc) [1882709] - [fs] exec: Remove do_execve_file (Jiri Benc) [1882709] - [kernel] umh: Stop calling do_execve_file (Jiri Benc) [1882709] - [kernel] umd: Transform fork_usermode_blob into fork_usermode_driver (Jiri Benc) [1882709] - [kernel] umd: Rename umd_info.cmdline umd_info.driver_name (Jiri Benc) [1882709] - [kernel] umd: For clarity rename umh_info umd_info (Jiri Benc) [1882709] - [kernel] umh: Separate the user mode driver and the user mode helper support (Jiri Benc) [1882709] - [kernel] umh: Move setting PF_UMH into umh_pipe_setup (Jiri Benc) [1882709] - [kernel] umh: Remove call_usermodehelper_setup_file. (Jiri Benc) [1882709] - [kernel] umh: Rename the user mode driver helpers for clarity (Jiri Benc) [1882709] - [kernel] umh: Capture the pid in umh_pipe_setup (Jiri Benc) [1882709] - [net] bpf: Add SO_KEEPALIVE and related options to bpf_setsockopt (Jiri Benc) [1882709] - [net] tcp: Expose tcp_sock_set_keepidle_locked (Jiri Benc) [1882709] - [net] tcp: add tcp_sock_set_keepidle (Jiri Benc) [1882709] - [net] sock: Move sock_valbool_flag to header (Jiri Benc) [1882709] - [net] spread "enum sock_flags" (Jiri Benc) [1882709] - [tools] bpf: Use local copy of headers including uapi/linux/filter.h (Jiri Benc) [1882709] - [net] bpfilter: fix iptables failure if bpfilter_umh is disabled (Jiri Benc) [1882709] - [s390] s390/crypto: add arch_get_random_long() support (Vladis Dronov) [1904274] - [net] net/smc: Add support for obtaining SMCR device list (Philipp Rudo) [1868684] - [net] net/smc: Add support for obtaining SMCD device list (Philipp Rudo) [1868684] - [net] net/smc: Add SMC-D Linkgroup diagnostic support (Philipp Rudo) [1868684] - [net] net/smc: Introduce SMCR get link command (Philipp Rudo) [1868684] - [net] net/smc: Introduce SMCR get linkgroup command (Philipp Rudo) [1868684] - [net] net/smc: Add support for obtaining system information (Philipp Rudo) [1868684] - [net] net/smc: Introduce generic netlink interface for diagnostic purposes (Philipp Rudo) [1868684] - [net] net/smc: Refactor smc ism v2 capability handling (Philipp Rudo) [1868684] - [net] net/smc: Add diagnostic information to link structure (Philipp Rudo) [1868684] - [net] net/smc: Add diagnostic information to smc ib-device (Philipp Rudo) [1868684] - [net] net/smc: Add link counters for IB device ports (Philipp Rudo) [1868684] - [net] net/smc: Add connection counters for links (Philipp Rudo) [1868684] - [net] net/smc: Use active link of the connection (Philipp Rudo) [1868684] - [net] net/smc: use helper smc_conn_abort() in listen processing (Philipp Rudo) [1868684] - [net] sched: sch_frag: add generic packet fragment support. (Marcelo Leitner) [1909262] - [net] sched: act_mirred: refactor the handle of xmit (Marcelo Leitner) [1909262] - [net] sched: fix miss init the mru in qdisc_skb_cb (Marcelo Leitner) [1909262] - [net] openvswitch: using ip6_fragment in ipv6_stub (Marcelo Leitner) [1909262] - [net] ipv6: add ipv6_fragment hook in ipv6_stub (Marcelo Leitner) [1909262] - [x86] x86/resctrl: Fix spelling in user-visible warning messages (Puneet Sethi) [1717078] - [x86] x86/resctrl: Enable user to view thread or core throttling mode (Puneet Sethi) [1717078] - [x86] x86/resctrl: Enumerate per-thread MBA controls (Puneet Sethi) [1717078] - [x86] cacheinfo: Move resctrl's get_cache_id() to the cacheinfo header file (Puneet Sethi) [1717078] - [x86] x86/resctrl: Add struct rdt_cache::arch_has_{sparse, empty}_bitmaps (Puneet Sethi) [1717078] - [x86] x86/resctrl: Merge AMD/Intel parse_bw() calls (Puneet Sethi) [1717078] - [x86] x86/resctrl: Add struct rdt_membw::arch_needs_linear to explain AMD/Intel MBA difference (Puneet Sethi) [1717078] - [x86] x86/resctrl: Use is_closid_match() in more places (Puneet Sethi) [1717078] - [x86] x86/resctrl: Use container_of() in delayed_work handlers (Puneet Sethi) [1717078] - [x86] x86/resctrl: Fix stale comment (Puneet Sethi) [1717078] - [x86] x86/resctrl: Remove struct rdt_membw::max_delay (Puneet Sethi) [1717078] - [x86] x86/resctrl: Remove unused struct mbm_state::chunks_bw (Puneet Sethi) [1717078] - [x86] x86/resctrl: Fix memory bandwidth counter width for AMD (Puneet Sethi) [1845633 1717078] - [documentation] Documentation: x86: fix some typos (Puneet Sethi) [1717078] - [documentation] Documentation: x86: Clarify MBA takes MB as referring to mba_sc (Puneet Sethi) [1717078] - [documentation] Documentation: x86: Remove cdpl2 unspported statement and fix capitalisation (Puneet Sethi) [1717078] - [documentation] Documentation: x86: Contiguous cbm isn't all X86 (Puneet Sethi) [1717078] - [documentation] Documentation: x86: convert resctrl_ui.txt to reST (Puneet Sethi) [1717078] - [kernel] livepatch: Make klp_apply_object_relocs static (Yannick Cote) [1866433] - [kernel] livepatch: Prevent module-specific KLP rela sections from referencing vmlinux symbols (Yannick Cote) [1866433] - [x86] livepatch: Remove .klp.arch (Yannick Cote) [1866433] - [kernel] livepatch: Apply vmlinux-specific KLP relocations early (Yannick Cote) [1866433] - [kernel] livepatch: Disallow vmlinux.ko (Yannick Cote) [1866433]- [sound] ALSA: hda: Add Cometlake-R PCI ID (Jaroslav Kysela) [1915650] - [fs] xfs: don't drain buffer lru on freeze and read-only remount (Brian Foster) [1903387] - [fs] xfs: rename xfs_wait_buftarg() to xfs_buftarg_drain() (Brian Foster) [1903387] - [net] mptcp: implement delegated actions (Paolo Abeni) [1892375] - [net] mptcp: schedule work for better snd subflow selection (Paolo Abeni) [1892375] - [net] mptcp: do not queue excessive data on subflows (Paolo Abeni) [1892375] - [net] mptcp: re-enable sndbuf autotune (Paolo Abeni) [1892375] - [net] mptcp: always graft subflow socket to parent (Paolo Abeni) [1892375] - [include] lockdep: Introduce in_softirq lockdep assert (Paolo Abeni) [1892375] - [net] selinux: handle MPTCP consistently with TCP (Paolo Abeni) [1892375] - [net] mptcp: fix locking in mptcp_disconnect() (Paolo Abeni) [1892375] - [net] mptcp: better msk-level shutdown. (Paolo Abeni) [1892375] - [net] mptcp: more strict state checking for acks (Paolo Abeni) [1892375] - [tools] selftests: mptcp: add the MP_PRIO testcases (Paolo Abeni) [1892375] - [net] mptcp: add the mibs for MP_PRIO (Paolo Abeni) [1892375] - [tools] selftests: mptcp: add set_flags command in pm_nl_ctl (Paolo Abeni) [1892375] - [net] mptcp: add set_flags command in PM netlink (Paolo Abeni) [1892375] - [net] mptcp: add the incoming MP_PRIO support (Paolo Abeni) [1892375] - [net] mptcp: add the outgoing MP_PRIO support (Paolo Abeni) [1892375] - [tools] selftests: mptcp: add testcases for setting the address ID (Paolo Abeni) [1892375] - [net] mptcp: add the address ID assignment bitmap (Paolo Abeni) [1892375] - [net] mptcp: cap forward allocation to 1M (Paolo Abeni) [1892375] - [net] mptcp: fix pending data accounting (Paolo Abeni) [1892375] - [net] mptcp: push pending frames when subflow has free space (Paolo Abeni) [1892375] - [net] mptcp: properly annotate nested lock (Paolo Abeni) [1892375] - [net] mptcp: fix security context on server socket (Paolo Abeni) [1892375] - [net] mptcp: clear use_ack and use_map when dropping other suboptions (Paolo Abeni) [1892375] - [net] mptcp: let MPTCP create max size skbs (Paolo Abeni) [1892375] - [net] mptcp: pm: simplify select_local_address() (Paolo Abeni) [1892375] - [net] mptcp: parse and act on incoming FASTCLOSE option (Paolo Abeni) [1892375] - [net] mptcp: hold mptcp socket before calling tcp_done (Paolo Abeni) [1892375] - [net] mptcp: use MPTCPOPT_HMAC_LEN macro (Paolo Abeni) [1892375] - [tools] selftests: mptcp: add the flush addrs testcase (Paolo Abeni) [1892375] - [net] mptcp: remove address when netlink flushes addrs (Paolo Abeni) [1892375] - [net] mptcp: attach subflow socket to parent cgroup (Paolo Abeni) [1892375] - [net] mptcp: be careful on subflows shutdown (Paolo Abeni) [1892375] - [net] mptcp: plug subflow context memory leak (Paolo Abeni) [1892375] - [net] mptcp: link MPC subflow into msk only after accept (Paolo Abeni) [1892375] - [net] mptcp: use the variable sk instead of open-coding (Paolo Abeni) [1892375] - [net] mptcp: rename add_addr_signal and mptcp_add_addr_status (Paolo Abeni) [1892375] - [net] mptcp: drop rm_addr_signal flag (Paolo Abeni) [1892375] - [net] mptcp: print out port and ahmac when receiving ADD_ADDR (Paolo Abeni) [1892375] - [net] mptcp: add port parameter for mptcp_pm_announce_addr (Paolo Abeni) [1892375] - [net] mptcp: send out dedicated packet for ADD_ADDR using port (Paolo Abeni) [1892375] - [net] mptcp: add the outgoing ADD_ADDR port support (Paolo Abeni) [1892375] - [net] mptcp: use adding up size to get ADD_ADDR length (Paolo Abeni) [1892375] - [net] mptcp: add port support for ADD_ADDR suboption writing (Paolo Abeni) [1892375] - [net] mptcp: unify ADD_ADDR and ADD_ADDR6 suboptions writing (Paolo Abeni) [1892375] - [net] mptcp: unify ADD_ADDR and echo suboptions writing (Paolo Abeni) [1892375] - [net] mptcp: print new line in mptcp_seq_show() if mptcp isn't in use (Paolo Abeni) [1892375] - [net] mptcp: emit tcp reset when a join request fails (Paolo Abeni) [1892375] - [net] tcp: merge 'init_req' and 'route_req' functions (Paolo Abeni) [1892375] - [net] security: add const qualifier to struct sock in various places (Paolo Abeni) [1892375] - [net] mptcp: avoid potential infinite loop in mptcp_recvmsg() (Paolo Abeni) [1892375] - [net] mptcp: use mptcp release_cb for delayed tasks (Paolo Abeni) [1892375] - [net] mptcp: avoid a few atomic ops in the rx path (Paolo Abeni) [1892375] - [net] mptcp: allocate TX skbs in msk context (Paolo Abeni) [1892375] - [net] mptcp: protect the rx path with the msk socket spinlock (Paolo Abeni) [1892375] - [net] mptcp: implement wmem reservation (Paolo Abeni) [1892375] - [net] mptcp: open code mptcp variant for lock_sock (Paolo Abeni) [1892375] - [net] mptcp: fix NULL ptr dereference on bad MPJ (Paolo Abeni) [1892375] - [net] mptcp: be careful on MPTCP-level ack. (Paolo Abeni) [1892375] - [net] mptcp: put reference in mptcp timeout timer (Paolo Abeni) [1892375] - [net] mptcp: refine MPTCP-level ack scheduling (Paolo Abeni) [1892375] - [net] mptcp: track window announced to peer (Paolo Abeni) [1892375] - [tools] selftests: mptcp: add ADD_ADDR IPv6 test cases (Paolo Abeni) [1892375] - [net] mptcp: send out dedicated ADD_ADDR packet (Paolo Abeni) [1892375] - [net] mptcp: change add_addr_signal type (Paolo Abeni) [1892375] - [net] mptcp: keep unaccepted MPC subflow into join list (Paolo Abeni) [1892375] - [tools] selftests: mptcp: add link failure test case (Paolo Abeni) [1892375] - [net] mptcp: skip to next candidate if subflow has unacked data (Paolo Abeni) [1892375] - [net] mptcp: fix state tracking for fallback socket (Paolo Abeni) [1892375] - [net] mptcp: drop WORKER_RUNNING status bit (Paolo Abeni) [1892375] - [net] mptcp: update rtx timeout only if required. (Paolo Abeni) [1892375] - [net] mptcp: send explicit ack on delayed ack_seq incr (Paolo Abeni) [1892375] - [net] mptcp: keep track of advertised windows right edge (Paolo Abeni) [1892375] - [net] mptcp: rework poll+nospace handling (Paolo Abeni) [1892375] - [net] mptcp: try to push pending data on snd una updates (Paolo Abeni) [1892375] - [net] mptcp: move page frag allocation in mptcp_sendmsg() (Paolo Abeni) [1892375] - [net] mptcp: refactor shutdown and close (Paolo Abeni) [1892375] - [net] mptcp: introduce MPTCP snd_nxt (Paolo Abeni) [1892375] - [net] mptcp: add accounting for pending data (Paolo Abeni) [1892375] - [net] mptcp: reduce the arguments of mptcp_sendmsg_frag (Paolo Abeni) [1892375] - [net] mptcp: introduce mptcp_schedule_work (Paolo Abeni) [1892375] - [net] tcp: factor out __tcp_close() helper (Paolo Abeni) [1892375] - [net] mptcp: use tcp_build_frag() (Paolo Abeni) [1892375] - [net] tcp: factor out tcp_build_frag() (Paolo Abeni) [1892375] - [net] tcp: schedule EPOLLOUT after a partial sendmsg (Paolo Abeni) [1892375] - [net] tcp: annotate tp->write_seq lockless reads (Paolo Abeni) [1892375] - [net] mptcp: fix static checker warnings in mptcp_pm_add_timer (Paolo Abeni) [1892375] - [tools] selftests: mptcp: add ADD_ADDR timeout test case (Paolo Abeni) [1892375] - [documentation] networking: mptcp: Add MPTCP sysctl entries (Paolo Abeni) [1892375] - [net] mptcp: add a new sysctl add_addr_timeout (Paolo Abeni) [1892375] - [net] mptcp: split mptcp_clean_una function (Paolo Abeni) [1892375] - [net] tcp: propagate MPTCP skb extensions on xmit splits (Paolo Abeni) [1892375] - [net] mptcp: use _fast lock version in __mptcp_move_skbs (Paolo Abeni) [1892375] - [net] mptcp: adjust mptcp receive buffer limit if subflow has larger one (Paolo Abeni) [1892375] - [net] tcp: fix compile error if !CONFIG_SYSCTL (Paolo Abeni) [1892375] - [net] tcp: add tcp_tx_skb_cache sysctl (Paolo Abeni) [1892375] - [net] tcp: do not recycle cloned skbs (Paolo Abeni) [1892375] - [net] tcp: properly reset skb->truesize for tx recycling (Paolo Abeni) [1892375] - [net] tcp: cleanup sk_tx_skb_cache before reuse (Paolo Abeni) [1892375] - [net] tcp: fix zerocopy and notsent_lowat issues (Paolo Abeni) [1892375] - [net] tcp: add one skb cache for tx (Paolo Abeni) [1892375] - [include] include: fpga: adi-axi-common.h: fixup whitespace tab -> space (Luis Goncalves) [1494702] - [include] include: fpga: adi-axi-common.h: add version helper macros (Luis Goncalves) [1494702] - [fpga] fpga: dfl: afu: convert get_user_pages() --> pin_user_pages() (Luis Goncalves) [1494702] - [fpga] fpga: dfl: fix bug in port reset handshake (Luis Goncalves) [1494702] - [fpga] fpga: dfl: pci: reduce the scope of variable 'ret' (Luis Goncalves) [1494702] - [fpga] fpga: dfl: pci: add device id for Intel FPGA PAC N3000 (Luis Goncalves) [1494702] - [fpga] fpga: dfl: afu: add AFU interrupt support (Luis Goncalves) [1494702] - [fpga] fpga: dfl: fme: add interrupt support for global error reporting (Luis Goncalves) [1494702] - [fpga] fpga: dfl: afu: add interrupt support for port error reporting (Luis Goncalves) [1494702] - [fpga] fpga: dfl: introduce interrupt trigger setting API (Luis Goncalves) [1494702] - [fpga] fpga: dfl: pci: add irq info for feature devices enumeration (Luis Goncalves) [1494702] - [fpga] fpga: dfl: parse interrupt info for feature devices on enumeration (Luis Goncalves) [1494702] - [fpga] fpga manager: xilinx-spi: check INIT_B pin during write_init (Luis Goncalves) [1494702] - [fpga] fpga: Fix dead store in fpga-bridge.c (Luis Goncalves) [1494702] - [fpga] fpga: Fix dead store fpga-mgr.c (Luis Goncalves) [1494702] - [fpga] fpga: dfl: Use struct_size() in kzalloc() (Luis Goncalves) [1494702] - [fpga] fpga manager: xilinx-spi: remove unneeded, mistyped variables (Luis Goncalves) [1494702] - [fpga] fpga manager: xilinx-spi: valid for the 7 Series too (Luis Goncalves) [1494702] - [fpga] fpga: zynqmp: fix modular build (Luis Goncalves) [1494702] - [fpga] drivers/fpga/dfl-afu-dma-region.c: get rid of pointless access_ok() (Luis Goncalves) [1494702] - [fpga] drivers/fpga/dfl-fme-pr.c: get rid of pointless access_ok() (Luis Goncalves) [1494702] - [fpga] fpga: dfl: afu: Corrected error handling levels (Luis Goncalves) [1494702] - [fpga] fpga: dfl: afu: support debug access to memory-mapped afu regions (Luis Goncalves) [1494702] - [fpga] fpga: dfl.h: Replace zero-length array with flexible-array member (Luis Goncalves) [1494702] - [fpga] fpga: stratix10-soc: add compatible property value for intel agilex (Luis Goncalves) [1494702] - [fpga] fpga: machxo2-spi: Use new structure for SPI transfer delays (Luis Goncalves) [1494702] - [fpga] fpga: ice40-spi: Use new structure for SPI transfer delays (Luis Goncalves) [1494702] - [fpga] fpga: dfl: support multiple opens on feature device node (Luis Goncalves) [1494702] - [fpga] fpga: dfl: fme: add performance reporting support (Luis Goncalves) [1494702] - [firmware] firmware: fpga: replace the error codes with the standard ones (Luis Goncalves) [1494702] - [net] sched: act_mpls: ensure LSE is pullable before reading it (Guillaume Nault) [1917918] - [net] openvswitch: ensure LSE is pullable before reading it (Guillaume Nault) [1917918] - [net] skbuff: ensure LSE is pullable before decrementing the MPLS ttl (Guillaume Nault) [1917918] - [net] sched: act_mpls: Add softdep on mpls_gso.ko (Guillaume Nault) [1917918] - [net] mpls: load mpls_gso after mpls_iptunnel (Guillaume Nault) [1917918] - [net] netfilter: nf_tables: handle nft_object lookups via rhltable (Phil Sutter) [1848816] - [arm64] kvm: arm64: Remove PMU RAZ/WI handling (Auger Eric) [1890373 1907826] - [arm64] kvm: arm64: Inject UNDEF on PMU access when no PMU configured (Auger Eric) [1890373 1907826] - [arm64] kvm: arm64: Set ID_AA64DFR0_EL1.PMUVer to 0 when no PMU support (Auger Eric) [1890373 1907826] - [arm64] kvm: arm64: Add kvm_vcpu_has_pmu() helper (Auger Eric) [1890373 1907826] - [arm64] kvm: arm64: Refactor PMU attribute error handling (Auger Eric) [1890373 1907826] - [arm64] kvm: arm64: Introduce handling of AArch32 TTBCR2 traps (Auger Eric) [1890373 1907826] - [arm64] kvm: arm64: pmu: Make overflow handler NMI safe (Auger Eric) [1890373 1907826] - [tools] kvm: selftests: Also build dirty_log_perf_test on AArch64 (Auger Eric) [1890373 1907826] - [tools] selftests: kvm/set_memory_region_test: Fix race in move region test (Auger Eric) [1890373 1907826] - [tools] kvm: arm64: selftests: Filter out DEMUX registers (Auger Eric) [1890373 1907826] - [tools] kvm: selftests: Add blessed SVE registers to get-reg-list (Auger Eric) [1890373 1907826] - [tools] kvm: selftests: Add aarch64 get-reg-list test (Auger Eric) [1890373 1907826] - [arm64] kvm: arm64: Don't access PMCR_EL0 when no PMU is available (Auger Eric) [1890373 1907826] - [arm64] kvm: arm64: vgic-v3: Drop the reporting of GICR_TYPER.Last for userspace (Auger Eric) [1890373 1907826] - [arm64] kvm: arm64: Don't hide ID registers from userspace (Auger Eric) [1890373 1907826] - [arm64] kvm: arm64: Force PTE mapping on fault resulting in a device mapping (Auger Eric) [1890373 1907826] - [arm64] kvm: arm64: Fix AArch32 handling of DBGD{CCINT, SCRext} and DBGVCR (Auger Eric) [1890373 1907826] - [kernel] kvm: arm64: ARM_SMCCC_ARCH_WORKAROUND_1 doesn't return SMCCC_RET_NOT_REQUIRED (Auger Eric) [1890373 1907826] - [kernel] smccc: Make constants available to assembly (Auger Eric) [1890373 1907826] - [kernel] firmware: smccc: Add the definition for SMCCCv1.2 version/error codes (Auger Eric) [1890373 1907826] - [arm64] kvm: arm64: Ensure user_mem_abort() return value is initialised (Auger Eric) [1890373 1907826] - [] ASoC: SOF: Intel: fix page fault at probe if i915 init fails (Jaroslav Kysela) [1906665] - [include] powerpc: fix the backport macros of hv_24x7 and hv_gpci (Diego Domingos) [1915159] - [net] tcp: Prevent low rmem stalls with SO_RCVLOWAT. (Davide Caratti) [1917976] - [net] tcp: fix to update snd_wl1 in bulk receiver fast path (Davide Caratti) [1917976] - [net] tcp: md5: refine tcp_md5_do_add()/tcp_md5_hash_key() barriers (Davide Caratti) [1917976] - [net] tcp: md5: add missing memory barriers in tcp_md5_do_add()/tcp_md5_hash_key() (Davide Caratti) [1917976] - [net] sunrpc: clean-up cache downcall (J. Bruce Fields) [1887178] - [net] sunrpc: raise kernel RPC channel buffer size (J. Bruce Fields) [1887178] - [netdrv] mlx5: Remove the unsupported mark from ConnectX-6 Lx and BlueField-2 (Alaa Hleihel) [1802118 1790541] - [s390] s390/qeth: make af_iucv TX notification call more robust (Philipp Rudo) [1915919] - [s390] s390/dasd: fix list corruption of lcu list (Philipp Rudo) [1915918] - [s390] s390/dasd: fix list corruption of pavgroup group list (Philipp Rudo) [1915918] - [s390] s390/dasd: prevent inconsistent LCU device data (Philipp Rudo) [1915918] - [s390] s390/dasd: fix hanging device offline processing (Philipp Rudo) [1915918] - [block] Revert "block: Fix a lockdep complaint triggered by request queue flushing" (Ming Lei) [1897404] - [nvme] nvme-loop: use blk_mq_hctx_set_fq_lock_class to set loop's lock class (Ming Lei) [1897404] - [block] blk-mq: add new API of blk_mq_hctx_set_fq_lock_class (Ming Lei) [1897404] - [scsi] scsi: core: Fix race between handling STS_RESOURCE and completion (Ming Lei) [1897404]- [fs] inotify: Increase default inotify.max_user_watches limit to 1048576 (Waiman Long) [1888617] - [kernel] cgroup: fix psi_show() crash on 32bit ino archs (Waiman Long) [1920288] - [kernel] cgroup: fix incorrect WARN_ON_ONCE() in cgroup_setup_root() (Waiman Long) [1920288] - [netdrv] net: bareudp: add missing error handling for bareudp_link_config() (Guillaume Nault) [1920194] - [netdrv] bareudp: Fix use of incorrect min_headroom size (Guillaume Nault) [1920194] - [netdrv] bareudp: set NETIF_F_LLTX flag (Guillaume Nault) [1920194] - [netdrv] vxlan: fix error return code in __vxlan_dev_create() (Guillaume Nault) [1920194] - [netdrv] ip_tunnels: Set tunnel option flag when tunnel metadata is present (Guillaume Nault) [1920194] - [net] vsock/virtio: discard packets only when socket is really closed (Stefano Garzarella) [1920004] - [net] vsock: fix the error return when an invalid ioctl command is used (Stefano Garzarella) [1920004] - [net] vsock: remove ratelimit unknown ioctl message (Stefano Garzarella) [1920004] - [net] vsock: use ns_capable_noaudit() on socket create (Stefano Garzarella) [1920004] - [net] vsock: fix potential null pointer dereference in vsock_poll() (Stefano Garzarella) [1920004] - [net] vsock/vmci: make vmci_vsock_transport_cb() static (Stefano Garzarella) [1920004] - [block] block: add blk_queue_make_request declaration back (Ming Lei) [1919764] - [net] erspan: fix version 1 check in gre_parse_header() (Guillaume Nault) [1919388] - [net] ipv4: Ignore ECN bits for fib lookups in fib_compute_spec_dst() (Guillaume Nault) [1919388] - [net] ipv4: Fix tos mask in inet_rtm_getroute() (Guillaume Nault) [1919388] - [net] inet_diag: Fix error path to cancel the meseage in inet_req_diag_fill() (Guillaume Nault) [1919388] - [mm] usercopy: mark dma-kmalloc caches as usercopy caches (Waiman Long) [1660290] - [mm] mm, slab_common: use enum kmalloc_cache_type to iterate over kmalloc caches (Waiman Long) [1660290] - [mm] mm, slab: remove unused kmalloc_size() (Waiman Long) [1660290] - [mm] mm, slab: make kmalloc_infocontain all types of names (Waiman Long) [1660290] - [netdrv] net: stmmac: fix taprio configuration when base_time is in the past (Mark Salter) [1870102] - [netdrv] net: stmmac: dwmac-sunxi: Provide TX and RX fifo sizes (Mark Salter) [1870102] - [netdrv] net: stmmac: delete the eee_ctrl_timer after napi disabled (Mark Salter) [1870102] - [netdrv] net: stmmac: free tx skb buffer in stmmac_resume() (Mark Salter) [1870102] - [netdrv] net: stmmac: start phylink instance before stmmac_hw_setup() (Mark Salter) [1870102] - [netdrv] net: stmmac: increase the timeout for dma reset (Mark Salter) [1870102] - [netdrv] net: stmmac: fix incorrect merge of patch upstream (Mark Salter) [1870102] - [netdrv] net: stmmac: Use rtnl_lock/unlock on netif_set_real_num_rx_queues() call (Mark Salter) [1870102] - [netdrv] net: stmmac: dwmac_lib: enlarge dma reset timeout (Mark Salter) [1870102] - [netdrv] net: stmmac: Fix channel lock initialization (Mark Salter) [1870102] - [netdrv] net: stmmac: Add option for VLAN filter fail queue enable (Mark Salter) [1870102] - [netdrv] net: stmmac: Add support to Ethtool get/set ring parameters (Mark Salter) [1870102] - [netdrv] net: stmmac: use netif_tx_start|stop_all_queues() function (Mark Salter) [1870102] - [netdrv] net: stmmac: Fix incorrect location to set real_num_rx|tx_queues (Mark Salter) [1870102] - [netdrv] net: stmmac: add ethtool support for get/set channels (Mark Salter) [1870102] - [netdrv] net: stmmac: set get_rx_header_len() as void for it didn't have any error code to return (Mark Salter) [1870102] - [netdrv] net: stmmac: remove redundant null check before clk_disable_unprepare() (Mark Salter) [1870102] - [netdrv] net: phylink: avoid oops during initialisation (Mark Salter) [1870102] - [netdrv] net: stmmac: Modify configuration method of EEE timers (Mark Salter) [1870102] - [netdrv] net: stmmac: dwmac1000: provide multicast filter fallback (Mark Salter) [1870102] - [netdrv] net: stmmac: fix failed to suspend if phy based WOL is enabled (Mark Salter) [1870102] - [netdrv] net: stmmac: Speed down the PHY if WoL to save energy (Mark Salter) [1870102] - [netdrv] net: stmmac: Support WOL with phy (Mark Salter) [1870102] - [netdrv] net: stmmac: only call pmt() during suspend/resume if HW enables PMT (Mark Salter) [1870102] - [netdrv] net: stmmac: Move device_can_wakeup() check earlier in set_wol (Mark Salter) [1870102] - [netdrv] net: stmmac: Remove WAKE_MAGIC if HW shows no pmt_magic_frame (Mark Salter) [1870102] - [netdrv] net: stmmac: Remove unused inline function stmmac_rx_threshold_count (Mark Salter) [1870102] - [include] net: pylink.h: add kernel-doc descriptions for new fields at phylink_config (Mark Salter) [1870102] - [netdrv] net: stmmac: Add support for VLAN promiscuous mode (Mark Salter) [1870102] - [netdrv] net: stmmac: removed enabling eee in EEE set callback (Mark Salter) [1870102] - [documentation] net: phy: add PHY_INTERFACE_MODE_10GBASER (Mark Salter) [1870102] - [include] net: mii: convert mii_lpa_to_ethtool_lpa_x() to linkmode variant (Mark Salter) [1870102] - [base] driver core: platform: Add platform_get_irq_byname_optional() (Mark Salter) [1870102] - [netdrv] net: stmmac: enable timestamp snapshot for required PTP packets in dwmac v5.10a (Mark Salter) [1870102] - [netdrv] net: stmmac: don't attach interface until resume finishes (Mark Salter) [1870102] - [netdrv] net: stmmac: gmac5+: fix potential integer overflow on 32 bit multiply (Mark Salter) [1870102] - [netdrv] stmmac: fix pointer check after utilization in stmmac_interrupt (Mark Salter) [1870102] - [netdrv] stmmac: intel: Fix kernel crash due to wrong error path (Mark Salter) [1870102] - [netdrv] net: stmmac: Enable SERDES power up/down sequence (Mark Salter) [1870102] - [netdrv] net: stmmac: Fix sub-second increment (Mark Salter) [1870102] - [netdrv] net: stmmac: dwmac1000: fix out-of-bounds mac address reg setting (Mark Salter) [1870102] - [netdrv] net: stmmac: xgmac: Fix VLAN register handling (Mark Salter) [1870102] - [netdrv] net: stmmac: Fix VLAN filtering when HW does not support it (Mark Salter) [1870102] - [netdrv] net: stmmac: Add support for VLAN Rx filtering (Mark Salter) [1870102] - [netdrv] net: stmmac: dwmac_lib: remove unnecessary checks in dwmac_dma_reset() (Mark Salter) [1870102] - [netdrv] net: rename flow_action_hw_stats_types* -> flow_action_hw_stats* (Mark Salter) [1870102] - [netdrv] net: stmmac: use readl_poll_timeout() function in dwmac4_dma_reset() (Mark Salter) [1870102] - [netdrv] net: stmmac: use readl_poll_timeout() function in init_systime() (Mark Salter) [1870102] - [netdrv] net: stmmac: platform: convert to devm_platform_ioremap_resource (Mark Salter) [1870102] - [netdrv] net: stmmac: Integrate it with DesignWare XPCS (Mark Salter) [1870102] - [netdrv] net: phy: Add Synopsys DesignWare XPCS MDIO module (Mark Salter) [1870102] - [netdrv] net: stmmac: Use resolved link config in mac_link_up() (Mark Salter) [1870102] - [netdrv] net: stmmac: Fallback to dev_fwnode() if needed (Mark Salter) [1870102] - [netdrv] net: stmmac: Switch to linkmode_and()/linkmode_andnot() (Mark Salter) [1870102] - [netdrv] flow_offload: check for basic action hw stats type (Mark Salter) [1870102] - [netdrv] stmmac: let core reject the unsupported coalescing parameters (Mark Salter) [1870102] - [netdrv] net: phylink: propagate resolved link config via mac_link_up() (Mark Salter) [1870102] - [netdrv] net: ethernet: stmmac: demote warnings about missing optional clocks (Mark Salter) [1870102] - [netdrv] net: stmmac: platform: Fix misleading interrupt error msg (Mark Salter) [1870102] - [netdrv] net: stmmac: dwmac1000: Disable ACS if enhanced descs are not used (Mark Salter) [1870102] - [netdrv] net: stmmac: fix notifier registration (Mark Salter) [1870102] - [netdrv] net: stmmac: xgmac: fix missing IFF_MULTICAST checki in dwxgmac2_set_filter (Mark Salter) [1870102] - [netdrv] net: stmmac: fix missing IFF_MULTICAST check in dwmac4_set_filter (Mark Salter) [1870102] - [netdrv] net: stmmac: xgmac: fix incorrect XGMAC_VLAN_TAG register writting (Mark Salter) [1870102] - [netdrv] net: stmmac: fix incorrect GMAC_VLAN_TAG register writting in GMAC4+ (Mark Salter) [1870102] - [netdrv] net: stmmac: Delete txtimer in suspend() (Mark Salter) [1870102] - [netdrv] net: stmmac: modified pcs mode support for RGMII (Mark Salter) [1870102] - [netdrv] net: stmmac: Add missing information in DebugFS capabilities file (Mark Salter) [1870102] - [netdrv] net: stmmac: gmac4+: Add TBS support (Mark Salter) [1870102] - [netdrv] net: stmmac: xgmac: Add TBS support (Mark Salter) [1870102] - [netdrv] net: stmmac: tc: Add support for ETF Scheduler using TBS (Mark Salter) [1870102] - [netdrv] net: stmmac: Initial support for TBS (Mark Salter) [1870102] - [netdrv] net: stmmac: gmac5+: Fix missing return (Mark Salter) [1870102] - [netdrv] net: stmmac: xgmac: Fix missing return (Mark Salter) [1870102] - [netdrv] net: stmmac: tc: Fix TAPRIO division operation (Mark Salter) [1870102] - [netdrv] net: stmmac: mmc: Add Frame Preemption counters on GMAC5+ cores (Mark Salter) [1870102] - [netdrv] net: stmmac: xgmac3+: Add support for Frame Preemption (Mark Salter) [1870102] - [netdrv] net: stmmac: gmac5+: Add support for Frame Preemption (Mark Salter) [1870102] - [netdrv] net: stmmac: Add Frame Preemption support using TAPRIO API (Mark Salter) [1870102] - [netdrv] net: stmmac: Integrate EST with TAPRIO scheduler API (Mark Salter) [1870102] - [netdrv] net: stmmac: Add basic EST support for XGMAC (Mark Salter) [1870102] - [netdrv] net: stmmac: Add basic EST support for GMAC5+ (Mark Salter) [1870102] - [netdrv] net: stmmac: Always use TX coalesce timer value when rescheduling (Mark Salter) [1870102] - [netdrv] net: stmmac: Let TX and RX interrupts be independently enabled/disabled (Mark Salter) [1870102] - [netdrv] net: stmmac: Print more information in DebugFS DMA Capabilities file (Mark Salter) [1870102] - [netdrv] net: stmmac: dwc-qos: avoid clk and reset for acpi device (Mark Salter) [1870102] - [netdrv] net: stmmac: dwc-qos: use generic device api (Mark Salter) [1870102] - [netdrv] net: stmmac: platform: fix probe for ACPI devices (Mark Salter) [1870102] - [netdrv] net: stmmac: tc: Do not setup flower filtering if RSS is enabled (Mark Salter) [1870102] - [netdrv] net: stmmac: Fixed link does not need MDIO Bus (Mark Salter) [1870102] - [netdrv] stmmac: debugfs entry name is not be changed when udev rename device name (Mark Salter) [1870102] - [netdrv] net: stmmac: platform: Fix MDIO init for platforms without PHY (Mark Salter) [1870102] - [netdrv] net: stmmac: Always arm TX Timer at end of transmission start (Mark Salter) [1870102] - [netdrv] net: stmmac: Enable 16KB buffer size (Mark Salter) [1870102] - [netdrv] net: stmmac: 16KB buffer must be 16 byte aligned (Mark Salter) [1870102] - [netdrv] net: stmmac: RX buffer size must be 16 byte aligned (Mark Salter) [1870102] - [netdrv] net: stmmac: xgmac: Clear previous RX buffer size (Mark Salter) [1870102] - [netdrv] net: stmmac: Only the last buffer has the FCS field (Mark Salter) [1870102] - [netdrv] net: stmmac: Do not accept invalid MTU values (Mark Salter) [1870102] - [netdrv] net: stmmac: Determine earlier the size of RX buffer (Mark Salter) [1870102] - [netdrv] treewide: Use sizeof_field() macro (Mark Salter) [1870102] - [netdrv] net: stmmac: reset Tx desc base address before restarting Tx (Mark Salter) [1870102] - [netdrv] net: phylink: rename mac_link_state() op to mac_pcs_get_state() (Mark Salter) [1870102] - [netdrv] page_pool: do not release pool until inflight == 0 (Mark Salter) [1870102] - [netdrv] net: stmmac: xgmac: Do not enable TBU interrupt (Mark Salter) [1870102] - [netdrv] net: stmmac: Rework TX Coalesce logic (Mark Salter) [1870102] - [netdrv] net: stmmac: Tune-up default coalesce settings (Mark Salter) [1870102] - [netdrv] net: stmmac: xgmac: Remove uneeded computation for RFA/RFD (Mark Salter) [1870102] - [netdrv] net: stmmac: gmac4+: Remove uneeded computation for RFA/RFD (Mark Salter) [1870102] - [netdrv] net: stmmac: Setup a default RX Coalesce value instead of the minimum (Mark Salter) [1870102] - [netdrv] net: stmmac: Do not set RX IC bit if RX Coalesce is zero (Mark Salter) [1870102] - [netdrv] net: stmmac: Implement UDP Segmentation Offload (Mark Salter) [1870102] - [netdrv] net: stmmac: Rework stmmac_rx() (Mark Salter) [1870102] - [netdrv] net: stmmac: tc: Remove the speed dependency (Mark Salter) [1870102] - [netdrv] net: stmmac: xgmac: Add C45 PHY support in the MDIO callbacks (Mark Salter) [1870102] - [netdrv] net: stmmac: gmac4+: Add Split Header support (Mark Salter) [1870102] - [netdrv] net: stmmac: Fix sparse warning (Mark Salter) [1870102] - [netdrv] net: stmmac: Remove break after a return (Mark Salter) [1870102] - [netdrv] net: stmmac: add flexible PPS to dwmac 4.10a (Mark Salter) [1870102] - [netdrv] net: stmmac: Implement L3/L4 Filters in GMAC4+ (Mark Salter) [1870102] - [netdrv] net: stmmac: Fallback to VLAN Perfect filtering if HASH is not available (Mark Salter) [1870102] - [netdrv] net: stmmac: Support enhanced addressing mode for DWMAC 4.10 (Mark Salter) [1870102] - [netdrv] net: stmmac: Only enable enhanced addressing mode when needed (Mark Salter) [1870102] - [netdrv] net: stmmac: Fix the TX IOC in xmit path (Mark Salter) [1870102] - [netdrv] net: stmmac: Fix TSO descriptor with Enhanced Addressing (Mark Salter) [1870102] - [netdrv] net: stmmac: Fix the packet count in stmmac_rx() (Mark Salter) [1870102] - ethernet: Delete unnecessary checks before the macro call “dev_kfree_skb” (Mark Salter) [1870102] - [netdrv] net: stmmac: xgmac: Disable MMC interrupts by default (Mark Salter) [1870102] - [netdrv] net: stmmac: xgmac: Disable Flow Control when 1 or more queues are in AV (Mark Salter) [1870102] - [netdrv] net: stmmac: xgmac: Fix AV Feature detection (Mark Salter) [1870102] - [netdrv] net: stmmac: xgmac: Fix TSA selection (Mark Salter) [1870102] - [netdrv] net: stmmac: xgmac: Only get SPH header len if available (Mark Salter) [1870102] - [netdrv] net: stmmac: xgmac: bitrev32 returns u32 (Mark Salter) [1870102] - [netdrv] net: stmmac: gmac4: bitrev32 returns u32 (Mark Salter) [1870102] - [netdrv] net: stmmac: Fix the problem of tso_xmit (Mark Salter) [1870102] - [netdrv] net: stmmac: fix argument to stmmac_pcs_ctrl_ane() (Mark Salter) [1870102] - [netdrv] net: stmmac: disable/enable ptp_ref_clk in suspend/resume flow (Mark Salter) [1870102] - [netdrv] net: stmmac: make tc_flow_parsers static (Mark Salter) [1870102] - [netdrv] net: stmmac: fix disabling flexible PPS output (Mark Salter) [1870102] - [netdrv] net: stmmac: fix length of PTP clock's name string (Mark Salter) [1870102] - [netdrv] net: stmmac: gmac4+: Not all Unicast addresses may be available (Mark Salter) [1870102] - [netdrv] net: stmmac: Avoid deadlock on suspend/resume (Mark Salter) [1870102] - [netdrv] net: stmmac: xgmac: Fix RSS writing wrong keys (Mark Salter) [1870102] - [netdrv] net: stmmac: xgmac: Fix RSS not writing all Keys to HW (Mark Salter) [1870102] - [netdrv] net: stmmac: xgmac: Disable the Timestamp interrupt by default (Mark Salter) [1870102] - [netdrv] net: stmmac: Do not stop PHY if WoL is enabled (Mark Salter) [1870102] - [netdrv] net: stmmac: Correctly take timestamp for PTPv2 (Mark Salter) [1870102] - [netdrv] net: stmmac: dwmac4: Always update the MAC Hash Filter (Mark Salter) [1870102] - [netdrv] net: stmmac: xgmac: Detect Hash Table size dinamically (Mark Salter) [1870102] - [netdrv] net: stmmac: xgmac: Not all Unicast addresses may be available (Mark Salter) [1870102] - [netdrv] net: stmmac: Fix page pool size (Mark Salter) [1870102] - [netdrv] net: stmmac: selftest: avoid large stack usage (Mark Salter) [1870102] - [netdrv] net: stmmac: Hold rtnl lock in suspend/resume callbacks (Mark Salter) [1870102] - [netdrv] net: stmmac: implement support for passive mode converters via dt (Mark Salter) [1870102] - [netdrv] net: stmmac: ARP Offload for GMAC4+ Cores (Mark Salter) [1870102] - [netdrv] net: stmmac: Add support for VLAN Insertion Offload in GMAC4+ (Mark Salter) [1870102] - [netdrv] net: stmmac: Add support for SA Insertion/Replacement in GMAC4+ (Mark Salter) [1870102] - [netdrv] net: stmmac: xgmac: Reinitialize correctly a variable (Mark Salter) [1870102] - [netdrv] net: stmmac: Add VLAN HASH filtering support in GMAC4+ (Mark Salter) [1870102] - [netdrv] net: stmmac: Prevent divide-by-zero (Mark Salter) [1870102] - [netdrv] net: stmmac: Limit max speeds of XGMAC if asked to (Mark Salter) [1870102] - [netdrv] net: stmmac: dwmac4: Enable RX Jumbo frame support (Mark Salter) [1870102] - [netdrv] stmmac: platform: adjust messages and move to dev level (Mark Salter) [1870102] - [netdrv] net: stmmac: xgmac: Enable RX Jumbo frame support (Mark Salter) [1870102] - [netdrv] net: stmmac: Correctly assing MAX MTU in XGMAC cores case (Mark Salter) [1870102] - [netdrv] net: stmmac: xgmac: Correct RAVSEL field interpretation (Mark Salter) [1870102] - [netdrv] net: stmmac: ethtool: Let user configure TX coalesce without RIWT (Mark Salter) [1870102] - [netdrv] net: stmmac: Only consider RX error when HW Timestamping is not enabled (Mark Salter) [1870102] - [netdrv] net: stmmac: xgmac: Implement ARP Offload (Mark Salter) [1870102] - [netdrv] net: stmmac: Implement L3/L4 Filters using TC Flower (Mark Salter) [1870102] - [netdrv] net: stmmac: Do not return error code in TC Initialization (Mark Salter) [1870102] - [netdrv] net: stmmac: xgmac: Add RBU handling in DMA interrupt (Mark Salter) [1870102] - [netdrv] net: stmmac: depend on COMMON_CLK (Mark Salter) [1870102] - [netdrv] net: stmmac: dwc-qos: use devm_platform_ioremap_resource() to simplify code (Mark Salter) [1870102] - [netdrv] net: stmmac: Add support for VLAN Insertion Offload (Mark Salter) [1870102] - [netdrv] net: stmmac: xgmac: Add EEE support (Mark Salter) [1870102] - [netdrv] net: stmmac: Add support for SA Insertion/Replacement in XGMAC cores (Mark Salter) [1870102] - [netdrv] net: stmmac: Add ethtool register dump for XGMAC cores (Mark Salter) [1870102] - [netdrv] net: stmmac: dwxgmac: Add Flexible PPS support (Mark Salter) [1870102] - [netdrv] net: stmmac: Add a counter for Split Header packets (Mark Salter) [1870102] - [netdrv] net: page_pool: API cleanup and comments (Mark Salter) [1870102] - [netdrv] net: stmmac: Add Split Header support and enable it in XGMAC cores (Mark Salter) [1870102] - [netdrv] net: stmmac: xgmac: Correctly return that RX descriptor is not last one (Mark Salter) [1870102] - [netdrv] net: stmmac: Prepare to add Split Header support (Mark Salter) [1870102] - [netdrv] net: stmmac: Get correct timestamp values from XGMAC (Mark Salter) [1870102] - [netdrv] stmmac: no need to check return value of debugfs_create functions (Mark Salter) [1870102] - [netdrv] net: stmmac: Add Flexible RX Parser support in XGMAC (Mark Salter) [1870102] - [netdrv] net: stmmac: Implement Safety Features in XGMAC core (Mark Salter) [1870102] - [netdrv] net: stmmac: Implement VLAN Hash Filtering in XGMAC (Mark Salter) [1870102] - [netdrv] net: stmmac: Implement RSS and enable it in XGMAC core (Mark Salter) [1870102] - [netdrv] net: stmmac: xgmac: Implement tx_queue_prio() (Mark Salter) [1870102] - [netdrv] net: stmmac: xgmac: Implement set_mtl_tx_queue_weight() (Mark Salter) [1870102] - [netdrv] net: stmmac: xgmac: Implement MMC counters (Mark Salter) [1870102] - [netdrv] net: Remove dev_err() usage after platform_get_irq() (Mark Salter) [1870102] - [netdrv] net: stmmac: Do not request stmmaceth clock (Mark Salter) [1870102] - [netdrv] net: stmmac: Make MDIO bus reset optional (Mark Salter) [1870102] - [netdrv] net: stmmac: tc: Do not return a fragment entry (Mark Salter) [1870102] - [netdrv] net: stmmac: Fix issues when number of Queues >= 4 (Mark Salter) [1870102] - [netdrv] net: stmmac: xgmac: Fix XGMAC selftests (Mark Salter) [1870102] - [netdrv] net: stmmac: manage errors returned by of_get_mac_address() (Mark Salter) [1870102] - [netdrv] net: stmmac: Use netif_tx_napi_add() for TX polling function (Mark Salter) [1870102] - [netdrv] net: stmmac: Sync RX Buffer upon allocation (Mark Salter) [1870102] - [netdrv] net: stmmac: Do not cut down 1G modes (Mark Salter) [1870102] - [netdrv] net: stmmac: Use kcalloc() instead of kmalloc_array() (Mark Salter) [1870102] - [netdrv] net: stmmac: RX Descriptors need to be clean before setting buffers (Mark Salter) [1870102] - [netdrv] net: stmmac: Fix misuses of GENMASK macro (Mark Salter) [1870102] - [netdrv] net: stmmac: add support for hash table size 128/256 in dwmac4 (Mark Salter) [1870102] - [netdrv] net: stmmac: dwmac4: mac address array boudary violation issue (Mark Salter) [1870102] - [netdrv] net: stmmac: Introducing support for Page Pool (Mark Salter) [1870102] - [netdrv] net: stmmac: Fix descriptors address being in > 32 bits address space (Mark Salter) [1870102] - [netdrv] net: stmmac: Implement RX Coalesce Frames setting (Mark Salter) [1870102] - [netdrv] net: stmmac: Re-work the queue selection for TSO packets (Mark Salter) [1870102] - [netdrv] net: stmmac: Enable dwmac4 jumbo frame more than 8KiB (Mark Salter) [1870102] - [netdrv] net: stmmac: make "snps, reset-delays-us" optional again (Mark Salter) [1870102] - [netdrv] net: stmmac: Re-word Kconfig entry (Mark Salter) [1870102] - [netdrv] net: stmmac: Update Kconfig entry (Mark Salter) [1870102] - [netdrv] net: stmmac: Only disable interrupts if NAPI is scheduled (Mark Salter) [1870102] - [netdrv] net: stmmac: Update RX Tail Pointer to last free entry (Mark Salter) [1870102] - [netdrv] net: stmmac: Enable support for > 32 Bits addressing in XGMAC (Mark Salter) [1870102] - [netdrv] net: stmmac: Do not disable interrupts when cleaning TX (Mark Salter) [1870102] - [netdrv] net: stmmac: Add the missing speeds that XGMAC supports (Mark Salter) [1870102] - [netdrv] net: stmmac: dwxgmac: Fix the undefined burst setting (Mark Salter) [1870102] - [netdrv] net: stmmac: Decrease default RX Watchdog value (Mark Salter) [1870102] - [netdrv] net: stmmac: Do not try to enable PHY EEE if MAC does not support it (Mark Salter) [1870102] - [netdrv] net: stmmac: dwxgmac: Enable EDMA by default (Mark Salter) [1870102] - [netdrv] net: stmmac: Fix case when PHY handle is not present (Mark Salter) [1870102] - [netdrv] net: stmmac: Fix crash observed if PHY does not support EEE (Mark Salter) [1870102] - [netdrv] net: stmmac: Fix possible deadlock when disabling EEE support (Mark Salter) [1870102] - [netdrv] net: stmmac: initialize the reset delay array (Mark Salter) [1870102] - [netdrv] net: stmmac: add sanity check to device_property_read_u32_array call (Mark Salter) [1870102] - [netdrv] net: stmmac: fix unused-variable warning (Mark Salter) [1870102] - [netdrv] net: stmmac: drop the phy_reset hook from struct stmmac_mdio_bus_data (Mark Salter) [1870102] - [netdrv] net: stmmac: drop the reset delays from struct stmmac_mdio_bus_data (Mark Salter) [1870102] - [netdrv] net: stmmac: drop the reset GPIO from struct stmmac_mdio_bus_data (Mark Salter) [1870102] - [netdrv] net: stmmac: use device_property_read_u32_array to read the reset delays (Mark Salter) [1870102] - [netdrv] net: stmmac: drop redundant check in stmmac_mdio_reset (Mark Salter) [1870102] - [netdrv] net: stmmac: Fix wrapper drivers not detecting PHY (Mark Salter) [1870102] - [netdrv] net: stmmac: use GPIO descriptors in stmmac_mdio_reset (Mark Salter) [1870102] - [netdrv] net: stmmac: Convert to phylink and remove phylib logic (Mark Salter) [1870102] - [netdrv] net: stmmac: Start adding phylink support (Mark Salter) [1870102] - [netdrv] net: stmmac: Prepare to convert to phylink (Mark Salter) [1870102] - [netdrv] net: stmmac: dwmac4: fix flow control issue (Mark Salter) [1870102] - [netdrv] net: stmmac: modify default value of tx-frames (Mark Salter) [1870102] - [netdrv] net: stmmac: Switch to devm_alloc_etherdev_mqs (Mark Salter) [1870102] - [netdrv] net: stmmac: use dev_info() before netdev is registered (Mark Salter) [1870102] - [netdrv] net: stmmac: Prevent missing interrupts when running NAPI (Mark Salter) [1870102] - [netdrv] net: stmmac: dwmac4/5: Clear unused address entries (Mark Salter) [1870102] - [netdrv] net: stmmac: dwxgmac2: Do not disable whole RX in dma_stop_rx() (Mark Salter) [1870102] - [netdrv] net: stmmac: dwmac4/5: Do not disable whole RX in dma_stop_rx() (Mark Salter) [1870102] - [netdrv] net: stmmac: dwmac4/5: Fix Hash Filter (Mark Salter) [1870102] - [netdrv] net: stmmac: dwmac1000: Clear unused address entries (Mark Salter) [1870102] - [netdrv] net: stmmac: dwmac1000: Fix Hash Filter (Mark Salter) [1870102] - [netdrv] net: stmmac: dwxgmac2: Also pass control frames while in promisc mode (Mark Salter) [1870102] - [netdrv] net: stmmac: dwmac4/5: Also pass control frames while in promisc mode (Mark Salter) [1870102] - [netdrv] net: stmmac: dwmac1000: Also pass control frames while in promisc mode (Mark Salter) [1870102] - [netdrv] net: stmmac: Switch MMC functions to HWIF callbacks (Mark Salter) [1870102] - [netdrv] net: stmmac: dwxgmac2: Add MAC loopback support (Mark Salter) [1870102] - [netdrv] net: stmmac: dwmac4/5: Add MAC loopback support (Mark Salter) [1870102] - [netdrv] net: stmmac: dwmac1000: Add MAC loopback support (Mark Salter) [1870102] - [netdrv] net: stmmac: dwmac100: Add MAC loopback support (Mark Salter) [1870102] - [netdrv] net: stmmac: Add MAC loopback callback to HWIF (Mark Salter) [1870102] - [netdrv] net: stmmac: set IC bit when transmitting frames with HW timestamp (Mark Salter) [1870102] - [netdrv] net: stmmac: fixed new system time seconds value calculation (Mark Salter) [1870102] - [netdrv] net: stmmac: Do not output error on deferred probe (Mark Salter) [1870102] - [netdrv] net: stmmac: fix csr_clk can't be zero issue (Mark Salter) [1870102] - [netdrv] net: stmmac: update rx tail pointer register to fix rx dma hang issue (Mark Salter) [1870102] - [netdrv] net: stmmac: fix reset gpio free missing (Mark Salter) [1870102] - [netdrv] net: stmmac: dma channel control register need to be init first (Mark Salter) [1870102] - [netdrv] net: stmmac: fix ethtool flow control not able to get/set (Mark Salter) [1870102] - [netdrv] dwmac4_prog_mtl_tx_algorithms() missing write operation (Mark Salter) [1870102] - [netdrv] net: stmmac: Set Flow Control to automatic mode in the driver (Mark Salter) [1870102] - [netdrv] net: stmmac: dwxgmac: Finish the Flow Control implementation (Mark Salter) [1870102] - [netdrv] net: stmmac: move stmmac_check_ether_addr() to driver probe (Mark Salter) [1870102] - [netdrv] net: stmmac: Use bfsize1 in ndesc_init_rx_desc (Mark Salter) [1870102] - [netdrv] net: stmmac: don't log oversized frames (Mark Salter) [1870102] - [netdrv] net: stmmac: fix dropping of multi-descriptor RX frames (Mark Salter) [1870102] - [netdrv] net: stmmac: don't overwrite discard_frame status (Mark Salter) [1870102] - [netdrv] net: stmmac: don't stop NAPI processing when dropping a packet (Mark Salter) [1870102] - [netdrv] net: stmmac: ratelimit RX error logs (Mark Salter) [1870102] - [netdrv] net: stmmac: use correct DMA buffer size in the RX descriptor (Mark Salter) [1870102] - [netdrv] net: stmmac: fix memory corruption with large MTUs (Mark Salter) [1870102] - [netdrv] net: stmmac: fix jumbo frame sending with non-linear skbs (Mark Salter) [1870102] - [netdrv] net: stmmac: don't set own bit too early for jumbo frames (Mark Salter) [1870102] - [netdrv] net: stmmac: Avoid one more sometimes uninitialized Clang warning (Mark Salter) [1870102] - [netdrv] net: ethernet: stmmac: add management of clk_csr property (Mark Salter) [1870102] - [netdrv] net: stmmac: Avoid sometimes uninitialized Clang warnings (Mark Salter) [1870102] - [netdrv] net: stmmac: dwxgmac2: Also use TBU interrupt to clean TX path (Mark Salter) [1870102] - [netdrv] net: stmmac: dwmac4: Also use TBU interrupt to clean TX path (Mark Salter) [1870102] - [netdrv] net: stmmac: Fix NAPI poll in TX path when in multi-queue (Mark Salter) [1870102] - [netdrv] net: stmmac: use correct define to get rx timestamp on GMAC4 (Mark Salter) [1870102] - [netdrv] net: stmmac: fix ptp timestamping on Rx on gmac4 (Mark Salter) [1870102] - [netdrv] net: stmmac: implement the SIOCGHWTSTAMP ioctl (Mark Salter) [1870102] - [netdrv] net: stmmac: Fix a race in EEE enable callback (Mark Salter) [1870102] - [netdrv] net: stmmac: handle endianness in dwmac4_get_timestamp (Mark Salter) [1870102] - [netdrv] net: stmmac: Disable EEE mode earlier in XMIT callback (Mark Salter) [1870102] - [netdrv] net: stmmac: Send TSO packets always from Queue 0 (Mark Salter) [1870102] - [netdrv] net: stmmac: Fallback to Platform Data clock in Watchdog conversion (Mark Salter) [1870102] - [netdrv] net: stmmac: Prevent RX starvation in stmmac_napi_poll() (Mark Salter) [1870102] - [netdrv] net: stmmac: Fix the logic of checking if RX Watchdog must be enabled (Mark Salter) [1870102] - [netdrv] net: stmmac: Check if CBS is supported before configuring (Mark Salter) [1870102] - [netdrv] net: stmmac: dwxgmac2: Only clear interrupts that are active (Mark Salter) [1870102] - [netdrv] cross-tree: phase out dma_zalloc_coherent() (Mark Salter) [1870102] - [netdrv] net: stmmac: convert to DEFINE_SHOW_ATTRIBUTE (Mark Salter) [1870102] - [netdrv] net: stmmac: Fix an error code in probe() (Mark Salter) [1870102] - [netdrv] net: stmmac: Move debugfs init/exit to ->probe()/->remove() (Mark Salter) [1870102] - [netdrv] net: stmmac: Fix RX packet size > 8191 (Mark Salter) [1870102] - [netdrv] net: stmmac: Fix stmmac_mdio_reset() when building stmmac as modules (Mark Salter) [1870102] - [netdrv] net: stmmac: Set OWN bit for jumbo frames (Mark Salter) [1870102] - [netdrv] net: stmmac: Enable TC Ops for GMAC >= 4 (Mark Salter) [1870102] - [netdrv] net: stmmac: Add CBS support in XGMAC2 (Mark Salter) [1870102] - [netdrv] net: stmmac: Fixup the tail addr setting in xmit path (Mark Salter) [1870102] - [netdrv] stmmac: fix valid numbers of unicast filter entries (Mark Salter) [1870102] - [netdrv] net: stmmac: Rework coalesce timer and fix multi-queue races (Mark Salter) [1870102] - [netdrv] Revert "net: stmmac: Do not keep rearming the coalesce timer in stmmac_xmit" (Mark Salter) [1870102] - [netdrv] Revert "net: stmmac: fix build failure due to missing COMMON_CLK dependency" (Mark Salter) [1870102] - [netdrv] net: stmmac: Integrate XGMAC into main driver flow (Mark Salter) [1870102] - [netdrv] net: stmmac: Add PTP support for XGMAC2 (Mark Salter) [1870102] - [netdrv] net: stmmac: Add MDIO related functions for XGMAC2 (Mark Salter) [1870102] - [netdrv] net: stmmac: Add descriptor related callbacks for XGMAC2 (Mark Salter) [1870102] - [netdrv] net: stmmac: Add DMA related callbacks for XGMAC2 (Mark Salter) [1870102] - [netdrv] net: stmmac: Add MAC related callbacks for XGMAC2 (Mark Salter) [1870102] - [netdrv] net: stmmac: Add XGMAC 2.10 HWIF entry (Mark Salter) [1870102] - [netdrv] stmmac: fix signed 64-bit division (Mark Salter) [1870102] - [netdrv] net: stmmac_tc: use 64-bit arithmetic instead of 32-bit (Mark Salter) [1870102] - [netdrv] net: stmmac: Add support for CBS QDISC (Mark Salter) [1870102] - [tty] serial: 8250_tegra: Create Tegra specific 8250 driver (Mark Salter) [1870103] - [pci] PCI: Disable MSI for Tegra root ports (Mark Salter) [1870101] - [pci] PCI: Add MCFG quirks for Tegra194 host controllers (Mark Salter) [1870101] - [netdrv] tun: fix return value when the number of iovs exceeds MAX_SKB_FRAGS (Antoine Tenart) [1919364 1917563] {CVE-2021-0342} - [netdrv] tun: correct header offsets in napi frags mode (Antoine Tenart) [1919364 1917563] {CVE-2021-0342} - [netdrv] tun: Don't put_page() for all negative return values from XDP program (Antoine Tenart) [1919364] - [netdrv] tun: add mutex_unlock() call and napi.skb clearing in tun_get_user() (Antoine Tenart) [1919364] - [netdrv] tun: fix data-race in gro_normal_list() (Antoine Tenart) [1919364] - [netdrv] tun: fix use-after-free when register netdev failed (Antoine Tenart) [1919364] - [netdrv] tun: mark small packets as owned by the tap sock (Antoine Tenart) [1919364] - [netdrv] tun: use netdev_alloc_frag() in tun_napi_alloc_frags() (Antoine Tenart) [1919364] - [scsi] scsi: ibmvfc: Fix error return in ibmvfc_probe() (Desnes Augusto Nunes do Rosario) [1868055] - [scsi] scsi: ibmvfc: Provide modules parameters for MQ settings (Desnes Augusto Nunes do Rosario) [1868055] - [scsi] scsi: ibmvfc: Enable MQ and set reasonable defaults (Desnes Augusto Nunes do Rosario) [1868055] - [scsi] scsi: ibmvfc: Purge SCSI channels after transport loss/reset (Desnes Augusto Nunes do Rosario) [1868055] - [scsi] scsi: ibmvfc: Send Cancel MAD down each hw SCSI channel (Desnes Augusto Nunes do Rosario) [1868055] - [scsi] scsi: ibmvfc: Add cancel mad initialization helper (Desnes Augusto Nunes do Rosario) [1868055] - [scsi] scsi: ibmvfc: Register Sub-CRQ handles with VIOS during channel setup (Desnes Augusto Nunes do Rosario) [1868055] - [scsi] scsi: ibmvfc: Send commands down HW Sub-CRQ when channelized (Desnes Augusto Nunes do Rosario) [1868055] - [scsi] scsi: ibmvfc: Set and track hw queue in ibmvfc_event struct (Desnes Augusto Nunes do Rosario) [1868055] - [scsi] scsi: ibmvfc: Advertise client support for using hardware channels (Desnes Augusto Nunes do Rosario) [1868055] - [scsi] scsi: ibmvfc: Implement channel enquiry and setup commands (Desnes Augusto Nunes do Rosario) [1868055] - [scsi] scsi: ibmvfc: Map/request irq and register Sub-CRQ interrupt handler (Desnes Augusto Nunes do Rosario) [1868055] - [scsi] scsi: ibmvfc: Define Sub-CRQ interrupt handler routine (Desnes Augusto Nunes do Rosario) [1868055] - [scsi] scsi: ibmvfc: Add handlers to drain and complete Sub-CRQ responses (Desnes Augusto Nunes do Rosario) [1868055] - [scsi] scsi: ibmvfc: Add Sub-CRQ IRQ enable/disable routine (Desnes Augusto Nunes do Rosario) [1868055] - [scsi] scsi: ibmvfc: Add alloc/dealloc routines for SCSI Sub-CRQ Channels (Desnes Augusto Nunes do Rosario) [1868055] - [scsi] scsi: ibmvfc: Add Subordinate CRQ definitions (Desnes Augusto Nunes do Rosario) [1868055] - [scsi] scsi: ibmvfc: Define hcall wrapper for registering a Sub-CRQ (Desnes Augusto Nunes do Rosario) [1868055] - [scsi] scsi: ibmvfc: Add size parameter to ibmvfc_init_event_pool() (Desnes Augusto Nunes do Rosario) [1868055] - [scsi] scsi: ibmvfc: Init/free event pool during queue allocation/free (Desnes Augusto Nunes do Rosario) [1868055] - [scsi] scsi: ibmvfc: Move event pool init/free routines (Desnes Augusto Nunes do Rosario) [1868055] - [scsi] scsi: ibmvfc: Add vhost fields and defaults for MQ enablement (Desnes Augusto Nunes do Rosario) [1868055] - [scsi] scsi: ibmvfc: Fix missing cast of ibmvfc_event pointer to u64 handle (Desnes Augusto Nunes do Rosario) [1868055] - [scsi] scsi: ibmvfc: Relax locking around ibmvfc_queuecommand() (Desnes Augusto Nunes do Rosario) [1868055] - [scsi] scsi: ibmvfc: Complete commands outside the host/queue lock (Desnes Augusto Nunes do Rosario) [1868055] - [scsi] scsi: ibmvfc: Define per-queue state/list locks (Desnes Augusto Nunes do Rosario) [1868055] - [scsi] scsi: ibmvfc: Make command event pool queue specific (Desnes Augusto Nunes do Rosario) [1868055] - [scsi] scsi: ibmvfc: Define generic queue structure for CRQs (Desnes Augusto Nunes do Rosario) [1868055] - [scsi] scsi: ibmvfc: Advertise client support for targetWWPN using v2 commands (Desnes Augusto Nunes do Rosario) [1868055] - [scsi] scsi: ibmvfc: Add support for target_wwpn field in v2 MADs and vfcFrame (Desnes Augusto Nunes do Rosario) [1868055] - [scsi] scsi: ibmvfc: Add FC payload retrieval routines for versioned vfcFrames (Desnes Augusto Nunes do Rosario) [1868055] - [scsi] scsi: ibmvfc: Add helper for testing capability flags (Desnes Augusto Nunes do Rosario) [1868055] - [scsi] scsi: ibmvfc: Add new fields for version 2 of several MADs (Desnes Augusto Nunes do Rosario) [1868055] - [scsi] scsi: ibmvfc: Deduplicate common ibmvfc_cmd init code (Desnes Augusto Nunes do Rosario) [1868055] - [scsi] scsi: ibmvfc: Use correlation token to tag commands (Desnes Augusto Nunes do Rosario) [1868055] - [scsi] scsi: ibmvfc: Remove trailing semicolon (Desnes Augusto Nunes do Rosario) [1868055] - [scsi] scsi: ibmvfc: Byte swap login_buf.resp values in attribute show functions (Desnes Augusto Nunes do Rosario) [1868055] - [scsi] scsi: ibmvfc: Interface updates for future FPIN and MQ support (Desnes Augusto Nunes do Rosario) [1868055] - [scsi] scsi: ibmvfc: Protect vhost->task_set increment by the host lock (Desnes Augusto Nunes do Rosario) [1868055] - [net] tcp: Fix potential use-after-free due to double kfree() (Florian Westphal) [1915164] - [nvdimm] libnvdimm/region: Enable MAP_SYNC for volatile regions (Steve Best) [1916650] - [net] bpf: Permit cond_resched for some iterators (Yauheni Kaliuta) [1874005] - [tools] tools/bpftool: Fix PID fetching with a lot of results (Yauheni Kaliuta) [1874005] - [net] bpf: verifier: Use target program's type for access verifications (Yauheni Kaliuta) [1874005] - [tools] selftests: bpf: Test sockmap update from BPF (Yauheni Kaliuta) [1874005] - [net] bpf: sockmap: Allow update from BPF (Yauheni Kaliuta) [1874005] - [net] bpf: Override the meaning of ARG_PTR_TO_MAP_VALUE for sockmap and sockhash (Yauheni Kaliuta) [1874005] - [net] bpf: sockmap: Call sock_map_update_elem directly (Yauheni Kaliuta) [1874005] - [net] bpf: sockmap: Merge sockmap and sockhash update functions (Yauheni Kaliuta) [1874005] - [net] net: sk_msg: Simplify sk_psock initialization (Yauheni Kaliuta) [1874005] - [net] bpf: Enforce id generation for all may-be-null register type (Yauheni Kaliuta) [1874005] - [samples] samples: bpf: Cleanup bpf_load.o from Makefile (Yauheni Kaliuta) [1874005] - [include] bpf: Plug hole in struct bpf_sk_lookup_kern (Yauheni Kaliuta) [1874005] - [tools] selftests/bpf: Fix endianness issues in sk_lookup/ctx_narrow_access (Yauheni Kaliuta) [1874005] - [tools] tools/bpftool: Fix build slowdown (Yauheni Kaliuta) [1874005] - [net] bpf: Fix scalar32_min_max_or bounds tracking (Yauheni Kaliuta) [1874005] - [net] bpf: Fix "unresolved symbol" build error with resolve_btfids (Yauheni Kaliuta) [1874005] - [powerpc] bpf, powerpc: Fix misuse of fallthrough in bpf_jit_comp() (Yauheni Kaliuta) [1874005] - [tools] libbpf: Fix XDP program load regression for old kernels (Yauheni Kaliuta) [1874005] - [tools] libbpf: Fix native endian assumption when parsing BTF (Yauheni Kaliuta) [1874005] - [include] bpf: Prevent .BTF section elimination (Yauheni Kaliuta) [1874005] - [net] bpf: Fix sysfs export of empty BTF section (Yauheni Kaliuta) [1874005] - [tools] tools/bpftool: Support passing BPFTOOL_VERSION to make (Yauheni Kaliuta) [1874005] - [net] bpf: Fix a rcu warning for bpffs map pretty-print (Yauheni Kaliuta) [1874005] - [net] bpf: Bpf_skc_to_* casting helpers require a NULL check on sk (Yauheni Kaliuta) [1874005] - [documentation] docs/bpf: Remove source code links (Yauheni Kaliuta) [1874005] - [documentation] docs/bpf: Fix ringbuf documentation (Yauheni Kaliuta) [1874005] - [tools] libbpf: Fix VERSIONED_SYM_COUNT number parsing (Yauheni Kaliuta) [1874005] - [tools] tools/libbpf: Avoid counting local symbols in ABI check (Yauheni Kaliuta) [1874005] - [net] bpf: Fix clobbering of r2 in bpf_gen_ld_abs (Yauheni Kaliuta) [1874005] - [tools] selftests/bpf: Add bpf_{update, delete}_map_elem in hashmap iter program (Yauheni Kaliuta) [1874005] - [net] bpf: Do not use bucket_lock for hashmap iterator (Yauheni Kaliuta) [1874005] - [tools] libbpf: Remove arch-specific include path in Makefile (Yauheni Kaliuta) [1874005] - [tools] tools/bpf: build: Make sure resolve_btfids cleans up after itself (Yauheni Kaliuta) [1874005] - [tools] libbpf: Fix build failure from uninitialized variable warning (Yauheni Kaliuta) [1874005] - [tools] selftests/bpf: Fix massive output from test_maps (Yauheni Kaliuta) [1874005] - [tools] selftests/bpf: Fix test_progs-flavor run getting number of tests (Yauheni Kaliuta) [1874005] - [net] bpf: Fix a buffer out-of-bound access when filling raw_tp link_info (Yauheni Kaliuta) [1874005] - [tools] bpf: Fix two typos in uapi/linux/bpf.h (Yauheni Kaliuta) [1874005] - [tools] tools/resolve_btfids: Fix sections with wrong alignment (Yauheni Kaliuta) [1874005] - [tools] libbpf: Fix map index used in error message (Yauheni Kaliuta) [1874005] - [tools] bpftool: Handle EAGAIN error code properly in pids collection (Yauheni Kaliuta) [1874005] - [net] bpf: Avoid visit same object multiple times (Yauheni Kaliuta) [1874005] - [net] bpf: Fix a rcu_sched stall issue with bpf task/task_file iterator (Yauheni Kaliuta) [1874005] - [tools] libbpf: Fix build on ppc64le architecture (Yauheni Kaliuta) [1874005] - [net] bpf: Use get_file_rcu() instead of get_file() for task_file iterator (Yauheni Kaliuta) [1874005] - [tools] selftests/bpf: Make test_varlen work with 32-bit user-space arch (Yauheni Kaliuta) [1874005] - [tools] tools/bpftool: Generate data section struct with conservative alignment (Yauheni Kaliuta) [1874005] - [tools] selftests/bpf: Correct various core_reloc 64-bit assumptions (Yauheni Kaliuta) [1874005] - [tools] libbpf: Enforce 64-bitness of BTF for BPF object files (Yauheni Kaliuta) [1874005] - [tools] selftests/bpf: Fix btf_dump test cases on 32-bit arches (Yauheni Kaliuta) [1874005] - [tools] libbpf: Handle BTF pointer sizes more carefully (Yauheni Kaliuta) [1874005] - [tools] libbpf: Fix BTF-defined map-in-map initialization on 32-bit host arches (Yauheni Kaliuta) [1874005] - [tools] selftest/bpf: Fix compilation warnings in 32-bit mode (Yauheni Kaliuta) [1874005] - [tools] tools/bpftool: Fix compilation warnings in 32-bit mode (Yauheni Kaliuta) [1874005] - [documentation] doc: Add link to bpf helpers man page (Yauheni Kaliuta) [1874005] - [tools] bpf, selftests: Add tests to sock_ops for loading sk (Yauheni Kaliuta) [1874005] - [tools] bpf, selftests: Add tests for sock_ops load with r9, r8.r7 registers (Yauheni Kaliuta) [1874005] - [tools] bpf, selftests: Add tests for ctx access in sock_ops with single register (Yauheni Kaliuta) [1874005] - [net] bpf: sock_ops sk access may stomp registers when dst_reg = src_reg (Yauheni Kaliuta) [1874005] - [net] bpf: sock_ops ctx access may stomp registers in corner case (Yauheni Kaliuta) [1874005] - [net] net/core/filter.c: Use sizeof_field() macro (Yauheni Kaliuta) [1874005] - [tools] libbpf: Prevent overriding errno when logging errors (Yauheni Kaliuta) [1874005] - [net] bpf: Iterate through all PT_NOTE sections when looking for build id (Yauheni Kaliuta) [1874005] - [tools] libbpf: Handle GCC built-in types for Arm NEON (Yauheni Kaliuta) [1874005] - [tools] tools/bpftool: Make skeleton code C++17-friendly by dropping typeof() (Yauheni Kaliuta) [1874005] - [tools] selftests/bpf: Fix v4_to_v6 in sk_lookup (Yauheni Kaliuta) [1874005] - [tools] libbpf: Do not use __builtin_offsetof for offsetof (Yauheni Kaliuta) [1874005] - [net] bpf: Delete repeated words in comments (Yauheni Kaliuta) [1874005] - [tools] selftests/bpf: Fix silent Makefile output (Yauheni Kaliuta) [1874005] - [documentation] bpf, doc: Remove references to warning message when using bpf_trace_printk() (Yauheni Kaliuta) [1874005] - [tools] bpf: Fix compilation warning of selftests (Yauheni Kaliuta) [1874005] - [kernel] bpf: Remove inline from bpf_do_trace_printk (Yauheni Kaliuta) [1874005] - [tools] bpf: Add missing return to resolve_btfids (Yauheni Kaliuta) [1874005] - [tools] tools/bpf: Support new uapi for map element bpf iterator (Yauheni Kaliuta) [1874005] - [net] bpf: Change uapi for bpf iterator map elements (Yauheni Kaliuta) [1874005] - [tools] selftests/bpf: Prevent runqslower from racing on building bpftool (Yauheni Kaliuta) [1874005] - [net] bpf: Allow to specify ifindex for skb in bpf_prog_test_run_skb (Yauheni Kaliuta) [1874005] - [net] bpf: Setup socket family and addresses in bpf_prog_test_run_skb (Yauheni Kaliuta) [1874005] - [tools] tools/resolve_btfids: Use libbpf's btf__parse() API (Yauheni Kaliuta) [1874005] - [tools] tools/bpftool: Use libbpf's btf__parse() API for parsing BTF from file (Yauheni Kaliuta) [1874005] - [tools] libbf: Fix uninitialized pointer at btf__parse_raw() (Yauheni Kaliuta) [1874005] - [tools] libbpf: Add btf__parse_raw() and generic btf__parse() APIs (Yauheni Kaliuta) [1874005] - [tools] tools, bpftool: Fix wrong return value in do_dump() (Yauheni Kaliuta) [1874005] - [tools] selftests/bpf: Fix spurious test failures in core_retro selftest (Yauheni Kaliuta) [1874005] - [tools] tools/bpftool: Add documentation and bash-completion for `link detach` (Yauheni Kaliuta) [1874005] - [tools] tools/bpftool: Add `link detach` subcommand (Yauheni Kaliuta) [1874005] - [tools] libbpf: Add bpf_link detach APIs (Yauheni Kaliuta) [1874005] - [tools] bpf, selftests: Use single cgroup helpers for both test_sockmap/progs (Yauheni Kaliuta) [1874005] - [tools] libbpf: Fix register in PT_REGS MIPS macros (Yauheni Kaliuta) [1874005] - [tools] libbpf: Make destructors more robust by handling ERR_PTR(err) cases (Yauheni Kaliuta) [1874005] - [tools] selftests/bpf: Omit nodad flag when adding addresses to loopback (Yauheni Kaliuta) [1874005] - [tools] selftests/bpf: Don't destroy failed link (Yauheni Kaliuta) [1874005] - [tools] selftests/bpf: Add xdpdrv mode for test_xdp_redirect (Yauheni Kaliuta) [1874005] - [tools] selftests/bpf: Verify socket storage in cgroup/sock_{create, release} (Yauheni Kaliuta) [1874005] - [net] bpf: Expose socket storage to BPF_PROG_TYPE_CGROUP_SOCK (Yauheni Kaliuta) [1874005] - [tools] selftests/bpf: Test bpf_iter buffer access with negative offset (Yauheni Kaliuta) [1874005] - [net] bpf: Add missing newline characters in verifier error messages (Yauheni Kaliuta) [1874005] - [arm64] bpf, arm64: Add BPF exception tables (Yauheni Kaliuta) [1874005] - [tools] bpf, selftests: use :: 1 for localhost in tcp_server.py (Yauheni Kaliuta) [1874005] - [net] bpf: Fix swapped arguments in calls to check_buffer_access (Yauheni Kaliuta) [1874005] - [tools] selftests/bpf: Add new bpf_iter context structs to fix build on old kernels (Yauheni Kaliuta) [1874005] - [tools] bpf: Fix bpf_ringbuf_output() signature to return long (Yauheni Kaliuta) [1874005] - [tools] tools, bpftool: Add LSM type to array of prog names (Yauheni Kaliuta) [1874005] - [tools] tools, bpftool: Skip type probe if name is not found (Yauheni Kaliuta) [1874005] - [tools] libbpf: Add support for BPF XDP link (Yauheni Kaliuta) [1874005] - [include] bpf: Make bpf_link API available indepently of CONFIG_BPF_SYSCALL (Yauheni Kaliuta) [1874005] - [net] bpf: Fix build on architectures with special bpf_user_pt_regs_t (Yauheni Kaliuta) [1874005] - [net] bpf/local_storage: Fix build without CONFIG_CGROUP (Yauheni Kaliuta) [1874005] - [documentation] Documentation/bpf: Document CGROUP_STORAGE map type (Yauheni Kaliuta) [1874005] - [tools] selftests/bpf: Test CGROUP_STORAGE behavior on shared egress + ingress (Yauheni Kaliuta) [1874005] - [net] bpf: Make cgroup storages shared between programs on the same cgroup (Yauheni Kaliuta) [1874005] - [net] cgroup: use cgrp->kn->id as the cgroup ID (Yauheni Kaliuta) [1874005] - [net] netprio: use css ID instead of cgroup ID (Yauheni Kaliuta) [1874005] - [fs] kernfs: convert kernfs_node->id from union kernfs_node_id to u64 (Yauheni Kaliuta) [1874005] - [tools] selftests/bpf: Add get_stackid_cannot_attach (Yauheni Kaliuta) [1874005] - [tools] selftests/bpf: Test CGROUP_STORAGE map can't be used by multiple progs (Yauheni Kaliuta) [1874005] - [tools] selftests/bpf: Add callchain_stackid (Yauheni Kaliuta) [1874005] - [tools] selftests/bpf: Add test for CGROUP_STORAGE map on multiple attaches (Yauheni Kaliuta) [1874005] - [tools] libbpf: Print hint when PERF_EVENT_IOC_SET_BPF returns -EPROTO (Yauheni Kaliuta) [1874005] - [net] bpf: Fail PERF_EVENT_IOC_SET_BPF when bpf_get_cannot work (Yauheni Kaliuta) [1874005] - [tools] selftests/bpf: Add a test for out of bound rdonly buf access (Yauheni Kaliuta) [1874005] - [net] bpf: Separate bpf_get_for perf events BPF (Yauheni Kaliuta) [1874005] - [tools] selftests/bpf: Add a test for bpf sk_storage_map iterator (Yauheni Kaliuta) [1874005] - [tools] selftests/bpf: Add test for bpf array map iterators (Yauheni Kaliuta) [1874005] - [tools] selftests/bpf: Add test for bpf hash map iterators (Yauheni Kaliuta) [1874005] - [tools] tools/bpftool: Add bpftool support for bpf map element iterator (Yauheni Kaliuta) [1874005] - [tools] tools/libbpf: Add support for bpf map element iterator (Yauheni Kaliuta) [1874005] - [net] bpf: Implement bpf iterator for sock local storage map (Yauheni Kaliuta) [1874005] - [net] bpf: Implement bpf iterator for array maps (Yauheni Kaliuta) [1874005] - [net] bpf: Implement bpf iterator for hash maps (Yauheni Kaliuta) [1874005] - [net] bpf: Implement bpf iterator for map elements (Yauheni Kaliuta) [1874005] - [net] bpf: Fix pos computation for bpf_iter seq_ops->start() (Yauheni Kaliuta) [1874005] - [net] bpf: Support readonly/readwrite buffers in verifier (Yauheni Kaliuta) [1874005] - [tools] selftests/bpf: Test BPF socket lookup and reuseport with connections (Yauheni Kaliuta) [1874005] - [net] bpf: Refactor to provide aux info to bpf_iter_init_seq_priv_t (Yauheni Kaliuta) [1874005] - [net] bpf: Refactor bpf_iter_reg to have separate seq_info member (Yauheni Kaliuta) [1874005] - [net] bpf: Add bpf_prog iterator (Yauheni Kaliuta) [1874005] - [tools] tools/bpftool: Strip BPF .o files before skeleton generation (Yauheni Kaliuta) [1874005] - [documentation] docs: bpf/bpf_devel_QA.rst: fix reference to nonexistent document (Yauheni Kaliuta) [1874005] - [documentation] docs: bpf/index.rst: Add ringbuf.rst (Yauheni Kaliuta) [1874005] - [tools] bpftool: Use only nftw for file tree parsing (Yauheni Kaliuta) [1874005] - [net] bpf: net: Use precomputed btf_id for bpf iterators (Yauheni Kaliuta) [1874005] - [tools] selftests/bpf: Fix test_lwt_seg6local.sh hangs (Yauheni Kaliuta) [1874005] - [net] bpf: Make btf_sock_ids global (Yauheni Kaliuta) [1874005] - [tools] bpf: Add BTF_ID_LIST_GLOBAL in btf_ids.h (Yauheni Kaliuta) [1874005] - [tools] tools/bpf: Sync btf_ids.h to tools (Yauheni Kaliuta) [1874005] - [net] bpf: Compute bpf_skc_to_*() helper socket btf ids at build time (Yauheni Kaliuta) [1874005] - [tools] tools/bpftool: Fix error handing in do_skeleton() (Yauheni Kaliuta) [1874005] - [tools] libbpf bpf_helpers: Use __builtin_offsetof for offsetof (Yauheni Kaliuta) [1874005] - [s390] s390/bpf: Use bpf_skip() in bpf_jit_prologue() (Yauheni Kaliuta) [1874005] - [net] bpf: cpumap: Fix possible rcpu kthread hung (Yauheni Kaliuta) [1874005] - [s390] s390/bpf: implement BPF_PROBE_MEM (Yauheni Kaliuta) [1874005 1868273] - [s390] s390/kernel: expand exception table logic to allow new handling options (Yauheni Kaliuta) [1874005 1868273] - [s390] s390: fix __EMIT_BUG() macro (Yauheni Kaliuta) [1874005 1868273] - [s390] s390/bug: add entry size to the __bug_table section (Yauheni Kaliuta) [1874005 1868273] - [s390] s390/kernel: unify EX_TABLE* implementations (Yauheni Kaliuta) [1874005 1868273] - [tools] selftests/bpf: Tests for BPF_SK_LOOKUP attach point (Yauheni Kaliuta) [1874005] - [tools] selftests/bpf: Add verifier tests for bpf_sk_lookup context access (Yauheni Kaliuta) [1874005] - [tools] tools/bpftool: Add name mappings for SK_LOOKUP prog and attach type (Yauheni Kaliuta) [1874005] - [tools] libbpf: Add support for SK_LOOKUP program type (Yauheni Kaliuta) [1874005] - [tools] bpf: Sync linux/bpf.h to tools/ (Yauheni Kaliuta) [1874005] - [include] bpf: Introduce SK_LOOKUP program type with a dedicated attach point (Yauheni Kaliuta) [1874005] - [net] bpf, netns: Handle multiple link attachments (Yauheni Kaliuta) [1874005] - [tools] bpf: Drop duplicated words in uapi helper comments (Yauheni Kaliuta) [1874005] - [tools] selftests/bpf: Fix possible hang in sockopt_inherit (Yauheni Kaliuta) [1874005] - [tools] selftest: Add tests for XDP programs in CPUMAP entries (Yauheni Kaliuta) [1874005] - [samples] samples/bpf: xdp_redirect_cpu: Load a eBPF program on cpumap (Yauheni Kaliuta) [1874005] - [tools] libbpf: Add SEC name for xdp programs attached to CPUMAP (Yauheni Kaliuta) [1874005] - [net] bpf: cpumap: Implement XDP_REDIRECT for eBPF programs attached to map entries (Yauheni Kaliuta) [1874005] - [net] bpf: cpumap: Add the possibility to attach an eBPF program to cpumap (Yauheni Kaliuta) [1874005] - [net] net: Refactor xdp_convert_buff_to_frame (Yauheni Kaliuta) [1874005] - [net] cpumap: Formalize map value as a named struct (Yauheni Kaliuta) [1874005] - [samples] samples/bpf: xdp_redirect_cpu_user: Do not update bpf maps in option loop (Yauheni Kaliuta) [1874005] - [net] cpumap: Use non-locked version __ptr_ring_consume_batched (Yauheni Kaliuta) [1874005] - [powerpc] powerpc/ppc-opcode: Consolidate powerpc instructions from bpf_jit.h (Yauheni Kaliuta) [1874005] - [powerpc] powerpc/bpf_jit: Reuse instruction macros from ppc-opcode.h (Yauheni Kaliuta) [1874005] - [powerpc] powerpc/ppc-opcode: Move ppc instruction encoding from test_emulate_step (Yauheni Kaliuta) [1874005] - [powerpc] powerpc/lib: Fix emulate_step() std test (Yauheni Kaliuta) [1874005] - [powerpc] powerpc/ppc-opcode: Introduce PPC_RAW_* macros for base instruction encoding (Yauheni Kaliuta) [1874005] - [tools] bpf: Fix cross build for CONFIG_DEBUG_INFO_BTF option (Yauheni Kaliuta) [1874005] - [include] bpf: Fix build for disabled CONFIG_DEBUG_INFO_BTF option (Yauheni Kaliuta) [1874005] - [tools] tools/bpftool: Strip away modifiers from global variables (Yauheni Kaliuta) [1874005] - [tools] libbpf: Support stripping modifiers for btf_dump (Yauheni Kaliuta) [1874005] - [tools] selftests/bpf: Add selftests verifying bpf_trace_printk() behaviour (Yauheni Kaliuta) [1874005] - [kernel] bpf: Use dedicated bpf_trace_printk event instead of trace_printk() (Yauheni Kaliuta) [1874005] - [tools] tools/bpftool: Remove warning about PID iterator support (Yauheni Kaliuta) [1874005] - [tools] selftests/bpf: Add test for resolve_btfids (Yauheni Kaliuta) [1874005] - [tools] tools headers: Adopt verbatim copy of btf_ids.h from kernel sources (Yauheni Kaliuta) [1874005] - [documentation] bpf: Add info about .BTF_ids section to btf.rst (Yauheni Kaliuta) [1874005] - [net] bpf: Use BTF_ID to resolve bpf_ctx_convert struct (Yauheni Kaliuta) [1874005] - [net] bpf: Remove btf_id helpers resolving (Yauheni Kaliuta) [1874005] - [net] bpf: Resolve BTF IDs in vmlinux image (Yauheni Kaliuta) [1874005] - [include] bpf: Add BTF_ID_LIST/BTF_ID/BTF_ID_UNUSED macros (Yauheni Kaliuta) [1874005] - [net] bpf: Support llvm-objcopy for vmlinux BTF (Yauheni Kaliuta) [1874005] - [powerpc] powerpc: Include .BTF section (Yauheni Kaliuta) [1874005] - [scripts] kbuild: Remove debug info from kallsyms linking (Yauheni Kaliuta) [1874005] - [scripts] kbuild: Parameterize kallsyms generation and correct reporting (Yauheni Kaliuta) [1874005] - [tools] bpf: Compile resolve_btfids tool at kernel compilation start (Yauheni Kaliuta) [1874005] - [kernel] tracing: Make struct ring_buffer less ambiguous (Yauheni Kaliuta) [1874005] - [kernel] tracing: Rename trace_buffer to array_buffer (Yauheni Kaliuta) [1874005] - [tools] tools headers: Synchronize linux/bits.h with the kernel sources (Yauheni Kaliuta) [1874005] - [tools] tools headers: Update linux/vdso.h and grab a copy of vdso/const.h (Yauheni Kaliuta) [1874005] - [tools] tools headers: Adopt verbatim copy of compiletime_assert() from kernel sources (Yauheni Kaliuta) [1874005] - [tools] objtool: Query pkg-config for libelf location (Yauheni Kaliuta) [1874005] - [tools] bpf: Add resolve_btfids tool to resolve BTF IDs in ELF object (Yauheni Kaliuta) [1874005] - [samples] bpf: Fix fds_example SIGSEGV error (Yauheni Kaliuta) [1874005] - [tools] libbpf: Fix memory leak and optimize BTF sanitization (Yauheni Kaliuta) [1874005] - [tools] selftests/bpf: Switch perf_buffer test to tracepoint and skeleton (Yauheni Kaliuta) [1874005] - [tools] libbpf: Handle missing BPF_OBJ_GET_INFO_BY_FD gracefully in perf_buffer (Yauheni Kaliuta) [1874005] - [tools] selftests/bpf: Add test relying only on CO-RE and no recent kernel features (Yauheni Kaliuta) [1874005] - [tools] libbpf: Improve BTF sanitization handling (Yauheni Kaliuta) [1874005] - [tools] libbpf: Add btf__set_fd() for more control over loaded BTF FD (Yauheni Kaliuta) [1874005] - [tools] libbpf: Make BTF finalization strict (Yauheni Kaliuta) [1874005] - [tools] selftests/bpf: test_progs avoid minus shell exit codes (Yauheni Kaliuta) [1874005] - [tools] selftests/bpf: test_progs use another shell exit on non-actions (Yauheni Kaliuta) [1874005] - [tools] bpf: Fix another bpftool segfault without skeleton code enabled (Yauheni Kaliuta) [1874005] - [tools] selftests: bpf: Remove unused bpf_map_def_legacy struct (Yauheni Kaliuta) [1874005] - [samples] samples: bpf: Refactor BPF map performance test with libbpf (Yauheni Kaliuta) [1874005] - [samples] samples: bpf: Refactor BPF map in map test with libbpf (Yauheni Kaliuta) [1874005] - [samples] samples: bpf: Fix bpf programs with kprobe/sys_connect event (Yauheni Kaliuta) [1874005] - [tools] selftests/bpf: Test BPF_CGROUP_INET_SOCK_RELEASE (Yauheni Kaliuta) [1874005] - [tools] bpftool: Add support for BPF_CGROUP_INET_SOCK_RELEASE (Yauheni Kaliuta) [1874005] - [tools] libbpf: Add support for BPF_CGROUP_INET_SOCK_RELEASE (Yauheni Kaliuta) [1874005] - [net] bpf: Add BPF_CGROUP_INET_SOCK_RELEASE hook (Yauheni Kaliuta) [1874005] - [tools] selftests/bpf: Fix compilation error of bpf_iter_task_stack.c (Yauheni Kaliuta) [1874005] - [tools] bpf: Fix bpftool without skeleton code enabled (Yauheni Kaliuta) [1874005] - [net] bpf: Fix build without CONFIG_STACKTRACE (Yauheni Kaliuta) [1874005] - [tools] bpf: selftests: Restore netns after each test (Yauheni Kaliuta) [1874005] - [tools] bpf: selftests: A few improvements to network_helpers.c (Yauheni Kaliuta) [1874005] - [tools] selftests/bpf: Test_progs option for listing test names (Yauheni Kaliuta) [1874005] - [tools] selftests/bpf: Test_progs option for getting number of tests (Yauheni Kaliuta) [1874005] - [tools] selftests/bpf: Test_progs indicate to shell on non-actions (Yauheni Kaliuta) [1874005] - [tools] tools/bpftool: Turn off -Wnested-externs warning (Yauheni Kaliuta) [1874005] - [tools] selftests/bpf: Switch test_vmlinux to use hrtimer_range_start_ns (Yauheni Kaliuta) [1874005] - [net] bpf: Fix net/core/filter build errors when INET is not enabled (Yauheni Kaliuta) [1874005] - [tools] selftests/bpf: Add bpf_iter test with bpf_get_task_stack() (Yauheni Kaliuta) [1874005] - [kernel] bpf: Allow pB in bpf_seq_printf() and bpf_trace_printk() (Yauheni Kaliuta) [1874005] - [net] bpf: Introduce helper bpf_get_task_stack() (Yauheni Kaliuta) [1874005] - [net] bpf: Remove redundant synchronize_rcu (Yauheni Kaliuta) [1874005] - [tools] selftests/bpf: Add byte swapping selftest (Yauheni Kaliuta) [1874005] - [tools] libbpf: Make bpf_endian co-exist with vmlinux.h (Yauheni Kaliuta) [1874005] - [tools] selftests/bpf: Allow substituting custom vmlinux.h for selftests build (Yauheni Kaliuta) [1874005] - [tools] tools/bpftool: Allow substituting custom vmlinux.h for the build (Yauheni Kaliuta) [1874005] - [tools] selftests/bpf: Test auto-load disabling logic for BPF programs (Yauheni Kaliuta) [1874005] - [tools] libbpf: Support disabling auto-loading BPF programs (Yauheni Kaliuta) [1874005] - [tools] tools, bpftool: Define attach_type_name array only once (Yauheni Kaliuta) [1874005] - [tools] tools, bpftool: Define prog_type_name array only once (Yauheni Kaliuta) [1874005] - [tools] selftests/bpf: Add tcp/udp iterator programs to selftests (Yauheni Kaliuta) [1874005] - [tools] selftests/bpf: Implement sample udp/udp6 bpf_iter programs (Yauheni Kaliuta) [1874005] - [tools] selftests/bpf: Implement sample tcp/tcp6 bpf_iter programs (Yauheni Kaliuta) [1874005] - [tools] selftests/bpf: Add more common macros to bpf_tracing_net.h (Yauheni Kaliuta) [1874005] - [tools] selftests/bpf: Refactor some net macros to bpf_tracing_net.h (Yauheni Kaliuta) [1874005] - [kernel] bpf: Add bpf_skc_to_udp6_sock() helper (Yauheni Kaliuta) [1874005] - [net] net: bpf: Implement bpf iterator for udp (Yauheni Kaliuta) [1874005] - [net] net: bpf: Add bpf_seq_afinfo in udp_iter_state (Yauheni Kaliuta) [1874005] - [kernel] bpf: Add bpf_skc_to_{tcp, tcp_timewait, tcp_request}_sock() helpers (Yauheni Kaliuta) [1874005] - [net] bpf: Add bpf_skc_to_tcp6_sock() helper (Yauheni Kaliuta) [1874005] - [kernel] bpf: Allow tracing programs to use bpf_jiffies64() helper (Yauheni Kaliuta) [1874005] - [kernel] bpf: Support 'X' in bpf_seq_printf() helper (Yauheni Kaliuta) [1874005] - [net] net: bpf: Implement bpf iterator for tcp (Yauheni Kaliuta) [1874005] - [net] net: bpf: Add bpf_seq_afinfo in tcp_iter_state (Yauheni Kaliuta) [1874005] - [tools] selftests/bpf: Workaround for get_stack_rawtp test (Yauheni Kaliuta) [1874005] - [tools] libbpf: Prevent loading vmlinux BTF twice (Yauheni Kaliuta) [1874005] - [tools] libbpf: Fix spelling mistake "kallasyms" -> "kallsyms" (Yauheni Kaliuta) [1874005] - [tools] tools, bpftool: Fix variable shadowing in emit_obj_refs_json() (Yauheni Kaliuta) [1874005] - [tools] tools, bpftool: Correctly evaluate $(BUILD_BPF_SKELS) in Makefile (Yauheni Kaliuta) [1874005] - [tools] selftests/bpf: Add variable-length data concat pattern less than test (Yauheni Kaliuta) [1874005] - [tools] selftests/bpf: Add variable-length data concatenation pattern test (Yauheni Kaliuta) [1874005] - [tools] bpf: Switch most helper return values from 32-bit int to 64-bit long (Yauheni Kaliuta) [1874005] - [tools] tools/bpftool: Add documentation and sample output for process info (Yauheni Kaliuta) [1874005] - [tools] tools/bpftool: Show info for processes holding BPF map/prog/link/btf FDs (Yauheni Kaliuta) [1874005] - [tools] libbpf: Wrap source argument of BPF_CORE_READ macro in parentheses (Yauheni Kaliuta) [1874005] - [tools] tools/bpftool: Generalize BPF skeleton support and generate vmlinux.h (Yauheni Kaliuta) [1874005] - [tools] tools/bpftool: Minimize bootstrap bpftool (Yauheni Kaliuta) [1874005] - [tools] tools/bpftool: Move map/prog parsing logic into common (Yauheni Kaliuta) [1874005] - [tools] selftests/bpf: Add __ksym extern selftest (Yauheni Kaliuta) [1874005] - [tools] libbpf: Add support for extracting kernel symbol addresses (Yauheni Kaliuta) [1874005] - [tools] libbpf: Generalize libbpf externs support (Yauheni Kaliuta) [1874005] - [tools] libbpf: Add a bunch of attribute getters/setters for map definitions (Yauheni Kaliuta) [1874005] - [tools] selftests/bpf: Test access to bpf map pointer (Yauheni Kaliuta) [1874005] - [net] bpf: Set map_btf_{name, id} for all map types (Yauheni Kaliuta) [1874005] - [net] bpf: Support access to bpf map fields (Yauheni Kaliuta) [1874005] - [net] bpf: Rename bpf_htab to bpf_shtab in sock_map (Yauheni Kaliuta) [1874005] - [net] bpf: Switch btf_parse_vmlinux to btf_find_by_name_kind (Yauheni Kaliuta) [1874005] - [tools] tools/bpftool: Relicense bpftool's BPF profiler prog as dual-license GPL/BSD (Yauheni Kaliuta) [1874005] - [tools] tools/bpf: Add verifier tests for 32bit pointer/scalar arithmetic (Yauheni Kaliuta) [1874005] - [net] bpf: Avoid verifier failure for 32bit pointer arithmetic (Yauheni Kaliuta) [1874005] - [net] bpf: sk_storage: Prefer to get a free cache_idx (Yauheni Kaliuta) [1874005] - [tools] libbpf: Bump version to 0.1.0 (Yauheni Kaliuta) [1874005] - [s390] s390/pci: fix hot-plug of PCI function missing bus (Philipp Rudo) [1915916] - [net] tcp: fix race condition when creating child sockets from syncookies (Florian Westphal) [1915164] - [netdrv] bonding: set xfrm feature flags more sanely (Jarod Wilson) [1893979] - [netdrv] bonding: fix feature flag setting at init time (Jarod Wilson) [1893979]- [fs] cifs: handle -EINTR in cifs_setattr (Leif Sahlberg) [1848178] - [tty] serial: 8250: drop the printk from serial8250_interrupt() (Vitaly Kuznetsov) [1919745] - [fs] cifs: do not fail __smb_send_rqst if non-fatal signals are pending (Leif Sahlberg) [1848178] - [netdrv] ibmvnic: continue fatal error reset after passive init (Diego Domingos) [1901513] - [netdrv] ibmvnic: fix: NULL pointer dereference (Diego Domingos) [1901513] - [netdrv] ibmvnic: fix login buffer memory leak (Diego Domingos) [1901513] - [netdrv] ibmvnic: fix rx buffer tracking and index management in replenish_rx_pool partial success (Diego Domingos) [1901513] - [netdrv] ibmvnic: add some debugs (Diego Domingos) [1901513] - [netdrv] ibmvnic: Fix TX completion error handling (Diego Domingos) [1901513] - [netdrv] ibmvnic: Ensure that SCRQ entry reads are correctly ordered (Diego Domingos) [1901513] - [netdrv] ibmvnic: reduce wait for completion time (Diego Domingos) [1901513] - [netdrv] ibmvnic: no reset timeout for 5 seconds after reset (Diego Domingos) [1901513] - [netdrv] ibmvnic: send_login should check for crq errors (Diego Domingos) [1901513] - [netdrv] ibmvnic: track pending login (Diego Domingos) [1901513] - [netdrv] ibmvnic: delay next reset if hard reset fails (Diego Domingos) [1901513] - [netdrv] ibmvnic: restore adapter state on failed reset (Diego Domingos) [1901513] - [netdrv] ibmvnic: avoid memset null scrq msgs (Diego Domingos) [1901513] - [netdrv] ibmvnic: stop free_all_rwi on failed reset (Diego Domingos) [1901513] - [netdrv] ibmvnic: handle inconsistent login with reset (Diego Domingos) [1901513] - [netdrv] ibmvnic: enhance resetting status check during module exit (Diego Domingos) [1901513] - [netdrv] ibmvnic: fix NULL pointer dereference in ibmvic_reset_crq (Diego Domingos) [1901513] - [netdrv] ibmvnic: fix NULL pointer dereference in reset_sub_crq_queues (Diego Domingos) [1901513] - [netdrv] ibmvnic: skip tx timeout reset while in resetting (Diego Domingos) [1901513] - [netdrv] ibmvnic: notify peers when failover and migration happen (Diego Domingos) [1901513] - [netdrv] ibmvnic: fix call_netdevice_notifiers in do_reset (Diego Domingos) [1901513] - [netdrv] ibmvnic: Do not replenish RX buffers after every polling loop (Diego Domingos) [1901513] - [netdrv] ibmvnic: Use netdev_alloc_skb instead of alloc_skb to replenish RX buffers (Diego Domingos) [1901513] - [netdrv] ibmvnic: Correctly re-enable interrupts in NAPI polling routine (Diego Domingos) [1901513] - [netdrv] ibmvnic: Ensure that device queue memory is cache-line aligned (Diego Domingos) [1901513] - [netdrv] ibmvnic: Remove send_subcrq function (Diego Domingos) [1901513] - [netdrv] ibmvnic: Clean up TX code and TX buffer data structure (Diego Domingos) [1901513] - [netdrv] ibmvnic: Introduce xmit_more support using batched subCRQ hcalls (Diego Domingos) [1901513] - [netdrv] ibmvnic: Introduce batched RX buffer descriptor transmission (Diego Domingos) [1901513] - [netdrv] ibmvnic: Introduce indirect subordinate Command Response Queue buffer (Diego Domingos) [1901513] - [netdrv] ibmvnic: fix ibmvnic_set_mac (Diego Domingos) [1901513] - [netdrv] ibmvnic: save changed mac address to adapter->mac_addr (Diego Domingos) [1901513] - [netdrv] ibmvnic: create send_control_ip_offload (Diego Domingos) [1901513] - [netdrv] ibmvnic: create send_query_ip_offload (Diego Domingos) [1901513] - [netdrv] ibmvnic: rename send_map_query to send_query_map (Diego Domingos) [1901513] - [netdrv] ibmvnic: rename ibmvnic_send_req_caps to send_request_cap (Diego Domingos) [1901513] - [netdrv] ibmvnic: rename send_cap_queries to send_query_cap (Diego Domingos) [1901513] - [netdrv] ibmvnic: set up 200GBPS speed (Diego Domingos) [1901513] - [netdrv] Revert "ibmvnic: remove never executed if statement" (Diego Domingos) [1901513] - [netdrv] ibmvnic: Harden device Command Response Queue handshake (Diego Domingos) [1901513] - [netdrv] ibmvnic: Fix use-after-free of VNIC login response buffer (Diego Domingos) [1901513] - [netdrv] ibmvnic: merge ibmvnic_reset_init and ibmvnic_init (Diego Domingos) [1901513] - [netdrv] ibmvnic: remove never executed if statement (Diego Domingos) [1901513] - [netdrv] ibmvnic: improve ibmvnic_init and ibmvnic_reset_init (Diego Domingos) [1901513] - [netdrv] ibmvnic: compare adapter->init_done_rc with more readable ibmvnic_rc_codes (Diego Domingos) [1901513] - [netdrv] ibmvnic: store RX and TX subCRQ handle array in ibmvnic_adapter struct (Diego Domingos) [1901513] - [netdrv] net: ibm: fix return type of ndo_start_xmit function (Diego Domingos) [1901513] - [tools] tools arch x86: Sync asm/cpufeatures.h with the kernel sources (David Arcari) [1916478] - [x86] x86/cpu/amd: Call init_amd_zn() om Family 19h processors too (David Arcari) [1916478] - [ata] ahci: Add Intel Emmitsburg PCH RAID PCI IDs (David Arcari) [1894284] - [vfio] vfio iommu: Add dma available capability (Philipp Rudo) [1903970] - [x86] x86/entry/64: Do not include inst.h in calling.h (Scott Wood) [1490498] - [tools] selftests/x86/fsgsbase: Fix GS == 1, 2, and 3 tests (Scott Wood) [1490498] - [tools] selftests/x86/fsgsbase: Test PTRACE_PEEKUSER for GSBASE with invalid LDT GS (Scott Wood) [1490498] - [tools] selftests/x86/fsgsbase: Reap a forgotten child (Scott Wood) [1490498] - [x86] x86/fsgsbase: Replace static_cpu_has() with boot_cpu_has() (Scott Wood) [1490498] - [x86] x86/entry/64: Correct the comment over SAVE_AND_SET_GSBASE (Scott Wood) [1490498] - [x86] x86/entry/64: Do not use RDPID in paranoid entry to accomodate KVM (Scott Wood) [1490498] - [x86] x86/fsgsbase/64: Fix NULL deref in 86_fsgsbase_read_task (Scott Wood) [1490498] - [x86] x86/fsgsbase: Fix Xen PV support (Scott Wood) [1490498] - [x86] x86/ptrace: Fix 32-bit PTRACE_SETREGS vs fsbase and gsbase (Scott Wood) [1490498] - [tools] selftests/x86/fsgsbase: Add a missing memory constraint (Scott Wood) [1490498] - [tools] selftests/x86/fsgsbase: Fix a comment in the ptrace_write_gsbase test (Scott Wood) [1490498] - [tools] selftests/x86/fsgsbase: Test GS selector on ptracer-induced GS base write (Scott Wood) [1490498] - [documentation] Documentation/x86/64: Add documentation for GS/FS addressing mode (Scott Wood) [1490498] - [x86] x86/elf: Enumerate kernel FSGSBASE capability in AT_HWCAP2 (Scott Wood) [1490498] - [x86] x86/cpu: Enable FSGSBASE on 64bit by default and add a chicken bit (Scott Wood) [1490498] - [x86] x86/entry/64: Handle FSGSBASE enabled paranoid entry/exit (Scott Wood) [1490498] - [x86] x86/entry/64: Remove TRACE_IRQS_*_DEBUG (Scott Wood) [1490498] - [x86] x86/entry/64: Introduce the FIND_PERCPU_BASE macro (Scott Wood) [1490498] - [x86] x86/entry/64: Switch CR3 before SWAPGS in paranoid entry (Scott Wood) [1490498] - [x86] x86/speculation/swapgs: Check FSGSBASE in enabling SWAPGS mitigation (Scott Wood) [1490498] - [x86] x86/process/64: Use FSGSBASE instructions on thread copy and ptrace (Scott Wood) [1490498] - [x86] x86/process: Unify copy_thread_tls() (Scott Wood) [1490498] - [x86] x86/process/64: Use FSBSBASE in switch_to() if available (Scott Wood) [1490498] - [x86] x86/fsgsbase/64: Enable FSGSBASE instructions in helper functions (Scott Wood) [1490498] - [x86] x86/fsgsbase/64: Add intrinsics for FSGSBASE instructions (Scott Wood) [1490498] - [x86] x86/cpu: Add 'unsafe_fsgsbase' to enable CR4.FSGSBASE (Scott Wood) [1490498] - [x86] x86/ptrace: Prevent ptrace from clearing the FS/GS selector (Scott Wood) [1490498] - [x86] x86/ptrace: Document FSBASE and GSBASE ABI oddities (Scott Wood) [1490498] - [x86] Revert "x86/ptrace: Prevent ptrace from clearing the FS/GS selector" and fix the test (Scott Wood) [1490498] - [tools] selftests/x86/fsgsbase: Fix some test case bugs (Scott Wood) [1490498] - [tools] selftests/x86/fsgsbase: Test ptracer-induced GSBASE write with FSGSBASE (Scott Wood) [1490498] - [tools] selftests/x86/fsgsbase: Test RD/WRGSBASE (Scott Wood) [1490498] - [documentation] kbuild: Raise the minimum required binutils version to 2.21 (Scott Wood) [1490498] - [tools] selftests/x86/fsgsbase: Test ptracer-induced GSBASE write (Scott Wood) [1490498] - [x86] x86/ptrace: Prevent ptrace from clearing the FS/GS selector (Scott Wood) [1490498] - [x86] x86/fsgsbase/64: Fix the base write helper functions (Scott Wood) [1490498] - [x86] x86/fsgsbase/64: Clean up various details (Scott Wood) [1490498] - [x86] x86/segments: Introduce the 'CPUNODE' naming to better document the segment limit CPU/node NR trick (Scott Wood) [1490498] - [x86] x86/fsgsbase/64: Factor out FS/GS segment loading from __switch_to() (Scott Wood) [1490498] - [x86] x86/fsgsbase/64: Convert the ELF core dump code to the new FSGSBASE helpers (Scott Wood) [1490498] - [x86] x86/fsgsbase/64: Make ptrace use the new FS/GS base helpers (Scott Wood) [1490498] - [x86] x86/fsgsbase/64: Introduce FS/GS base helper functions (Scott Wood) [1490498] - [x86] x86/fsgsbase/64: Fix ptrace() to read the FS/GS base accurately (Scott Wood) [1490498] - [net] esp: select CRYPTO_SEQIV (Vladis Dronov) [1905088] - [crypto] treewide: Use fallthrough pseudo-keyword (Vladis Dronov) [1905088] - [crypto] crypto: drbg - always try to free Jitter RNG instance (Vladis Dronov) [1905088] - [crypto] crypto: drbg - should select CTR (Vladis Dronov) [1905088] - [crypto] crypto: ctr - no longer needs CRYPTO_SEQIV (Vladis Dronov) [1905088] - [crypto] crypto: drbg - always seeded with SP800-90B compliant noise source (Vladis Dronov) [1905088] - [crypto] crypto: jitter - SP800-90B compliance (Vladis Dronov) [1905088] - [crypto] crypto: jitter - add header to fix buildwarnings (Vladis Dronov) [1905088] - [crypto] crypto: jitter - fix comments (Vladis Dronov) [1905088] - [crypto] crypto: jitter - update implementation to 2.1.2 (Vladis Dronov) [1905088] - [crypto] crypto: drbg - in-place cipher operation for CTR (Vladis Dronov) [1905088] - [crypto] crypto: drbg - eliminate constant reinitialization of SGL (Vladis Dronov) [1905088] - [vfio] vfio/pci: Implement ioeventfd thread handler for contended memory lock (Alex Williamson) [1861560] - [vfio] vfio iommu type1: Fix memory leak in vfio_iommu_type1_pin_pages (Alex Williamson) [1896568] - [vfio] vfio/pci: Clear token on bypass registration failure (Alex Williamson) [1896568] - [vfio] vfio/type1: fix dirty bitmap calculation in vfio_dma_rw (Alex Williamson) [1497898] - [vfio] vfio: fix a missed vfio group put in vfio_pin_pages (Alex Williamson) [1497898] - [vfio] vfio: add a singleton check for vfio_group_pin_pages (Alex Williamson) [1497898] - [vfio] vfio/pci: Don't regenerate vconfig for all BARs if !bardirty (Alex Williamson) [1896568] - [vfio] vfio/pci: Remove redundant declaration of vfio_pci_driver (Alex Williamson) [1896568] - [uapi] vfio: Fix typo of the device_state (Alex Williamson) [1497898] - [vfio] vfio/type1: Add proper error unwind for vfio_iommu_replay() (Alex Williamson) [1866141] - [vfio] vfio-pci: Avoid recursive read-lock usage (Alex Williamson) [1861560] - [vfio] vfio/type1: Refactor vfio_iommu_type1_ioctl() (Alex Williamson) [1896568] - [vfio] vfio/pci: Add QAT devices to denylist (Alex Williamson) [1896565] - [vfio] vfio/pci: Add device denylist (Alex Williamson) [1896565] - [vfio] vfio/pci: Hold igate across releasing eventfd contexts (Alex Williamson) [1896568] - [vfio] vfio/type1: Add conditional rescheduling after iommu map failed (Alex Williamson) [1896568] - [vfio] vfio/pci: Add Intel X550 to hidden INTx devices (Alex Williamson) [1896567] - [vfio] vfio: Cleanup allowed driver naming (Alex Williamson) [1896568] - [uapi] vfio/type1: Fix migration info capability ID (Alex Williamson) [1497898] - [vfio] vfio iommu: typecast corrections (Alex Williamson) [1497898] - [vfio] vfio iommu: Use shift operation for 64-bit integer division (Alex Williamson) [1497898] - [vfio] vfio/mdev: Fix reference count leak in add_mdev_supported_type (Alex Williamson) [1896568] - [vfio] vfio: Selective dirty page tracking if IOMMU backed device pins pages (Alex Williamson) [1497898] - [vfio] vfio iommu: Add migration capability to report supported features (Alex Williamson) [1497898] - [vfio] vfio iommu: Update UNMAP_DMA ioctl to get dirty bitmap before unmap (Alex Williamson) [1497898] - [vfio] vfio iommu: Implementation of ioctl for dirty pages tracking (Alex Williamson) [1497898] - [uapi] vfio iommu: Add ioctl definition for dirty pages tracking (Alex Williamson) [1497898] - [vfio] vfio iommu: Cache pgsize_bitmap in struct vfio_iommu (Alex Williamson) [1497898] - [vfio] vfio iommu: Remove atomicity of ref_count of pinned pages (Alex Williamson) [1497898] - [uapi] vfio: UAPI for migration interface for device state (Alex Williamson) [1497898] - [vfio] vfio/pci: Remove dev_fmt definition (Alex Williamson) [1896568] - [vfio] vfio: Use dev_printk() when possible (Alex Williamson) [1896568] - [drm] drm: allow limiting the scatter list size (Lyude Paul) [1876018 1851790] - [drm] drm/nouveau/kms/nv50-: Fix clock checking algorithm in nv50_dp_mode_valid() (Lyude Paul) [1876018] - [drm] drm/nouveau/kms/nv50-: Get rid of bogus nouveau_conn_mode_valid() (Lyude Paul) [1876018] - [drm] DRM Backport 5.8 -> 5.9 (Lyude Paul) [1876018] - [drm] drm/edid: Fix uninitialized variable in drm_cvt_modes() (Lyude Paul) [1876018] - [of] of_graph: add of_graph_is_present() (Lyude Paul) [1876018] - [drm] virtio: virtio_has_iommu_quirk -> virtio_has_dma_quirk (Lyude Paul) [1876018] - [vhost] virtio: VIRTIO_F_IOMMU_PLATFORM -> VIRTIO_F_ACCESS_PLATFORM (Lyude Paul) [1876018] - [include] virtio_config: LE config space accessors (Lyude Paul) [1876018] - [kernel] sched: Remove sched_set_*() return value (Lyude Paul) [1876018] - [include] scatterlist: protect parameters of the sg_table related macros (Lyude Paul) [1876018] - [include] scatterlist: add generic wrappers for iterating over sgtable objects (Lyude Paul) [1876018] - [dma] dma-mapping: add generic helpers for mapping sgtable objects (Lyude Paul) [1876018] - [drm] DRM Backport 5.7 -> 5.8 (Lyude Paul) [1876018] - [drm] drm/fb-helper: Fix vt restore (Lyude Paul) [1876018] - [tty] tty/sysrq: constify the the sysrq_key_op(s) (Lyude Paul) [1876018] - [tools] augmented rbtree: rework the RB_DECLARE_CALLBACKS macro definition (Lyude Paul) [1876018] - [mm] augmented rbtree: add new RB_DECLARE_CALLBACKS_MAX macro (Lyude Paul) [1876018] - [tools] augmented rbtree: add comments for RB_DECLARE_CALLBACKS macro (Lyude Paul) [1876018] - [tools] rbtree: avoid generating code twice for the cached versions (tools copy) (Lyude Paul) [1876018] - [tty] tty/sysrq: constify the sysrq API (Lyude Paul) [1876018] - [tty] tty/sysrq: alpha: export and use __sysrq_get_key_op() (Lyude Paul) [1876018] - [include] uaccess: Add user_read_access_begin/end and user_write_access_begin/end (Lyude Paul) [1876018] - [PATCH] [drm] DRM Backport 5.6 -> 5.7 (Lyude Paul) [1876018] - [vfio] vfio: avoid inefficient operations on VFIO group in vfio_pin/unpin_pages (Lyude Paul) [1876018] - [vfio] vfio: allow external user to get vfio group from device (Lyude Paul) [1876018] - [drm] drm/fbdev-helper: don't force restores (Lyude Paul) [1876018] - [include] vgaswitcheroo: call fbcon_remap_all directly (Lyude Paul) [1876018] - [video] fbcon: Do not takeover the console from atomic context (Lyude Paul) [1878805 1876018] - [video] fbcon: Only defer console takeover if the current console driver is the dummycon (Lyude Paul) [1878805 1876018] - [video] fbcon: Only allow FRAMEBUFFER_CONSOLE_DEFERRED_TAKEOVER if fbdev is builtin (Lyude Paul) [1878805 1876018] - [video] console/fbcon: Add support for deferred console takeover (Lyude Paul) [1878805 1876018] - [video] fbcon: Call WARN_CONSOLE_UNLOCKED() where applicable (Lyude Paul) [1878805 1876018] - [mm] mm: Split huge pages on write-notify or COW (Chris von Recklinghausen) [1913692] - [mm] mm: Introduce vma_is_special_huge (Chris von Recklinghausen) [1913692]- [tools] kselftests: set rx/txtimestamp.sh to correct permission (Hangbin Liu) [1908269] - [tools] kselftests: set udpgro.sh, udpgro_bench.sh, reuseport_addr_any.sh to correct permission (Hangbin Liu) [1908269] - [net] DCB: Validate DCB_ATTR_DCB_BUFFER argument (Balazs Nemeth) [1891595] - [net] netlabel: remove unused param from audit_log_format() (Balazs Nemeth) [1891595] - [net] netlabel: fix problems with mapping removal (Balazs Nemeth) [1891595] - [net] af_key: pfkey_dump needs parameter validation (Balazs Nemeth) [1891595] - [tools] perf tools: Add 'evlist' control command (Jiri Olsa) [1844111] - [tools] perf tools: Allow to enable/disable events via control file (Jiri Olsa) [1844111] - [tools] perf tools: Add evlist__disable_evsel/evlist__enable_evsel (Jiri Olsa) [1844111] - [tools] perf tools: Reformat record's control fd man text (Jiri Olsa) [1844111] - [tools] perf evlist: Use the right prefix for 'struct evlist' 'find' methods (Jiri Olsa) [1844111] - [tools] perf evlist: Use the right prefix for 'struct evlist' enable event methods (Jiri Olsa) [1844111] - [tools] perf evlist: Use the right prefix for 'struct evlist' 'toggle' methods (Jiri Olsa) [1844111] - [x86] perf/amd/uncore: Inform the user how many counters each uncore PMU has (Michael Petlan) [1884816] - [powercap] powercap: RAPL: Add AMD Fam19h RAPL support (Michael Petlan) [1884816] - [powercap] powercap: Add AMD Fam17h RAPL support (Michael Petlan) [1884816] - [powercap] powercap/intel_rapl_msr: Convert rapl_msr_priv into pointer (Michael Petlan) [1884816] - [x86] x86/msr-index: sort AMD RAPL MSRs by address (Michael Petlan) [1884816] - [thunderbolt] thunderbolt: Add support for Intel Maple Ridge (Torez Smith) [1782721] - [thunderbolt] thunderbolt: Add USB4 router operation proxy for firmware connection manager (Torez Smith) [1782721] - [thunderbolt] thunderbolt: Move constants for USB4 router operations to tb_regs.h (Torez Smith) [1782721] - [thunderbolt] thunderbolt: Add connection manager specific hooks for USB4 router operations (Torez Smith) [1782721] - [thunderbolt] thunderbolt: Pass TX and RX data directly to usb4_switch_op() (Torez Smith) [1782721] - [thunderbolt] thunderbolt: Pass metadata directly to usb4_switch_op() (Torez Smith) [1782721] - [thunderbolt] thunderbolt: Perform USB4 router NVM upgrade in two phases (Torez Smith) [1782721] - [thunderbolt] thunderbolt: Return -ENOTCONN when ERR_CONN is received (Torez Smith) [1782721] - [thunderbolt] thunderbolt: Keep the parent runtime resumed for a while on device disconnect (Torez Smith) [1782721] - [thunderbolt] thunderbolt: Log adapter numbers in decimal in path activation/deactivation (Torez Smith) [1782721] - [thunderbolt] thunderbolt: Log which connection manager implementation is used (Torez Smith) [1782721] - [thunderbolt] thunderbolt: Move max_boot_acl field to correct place in struct icm (Torez Smith) [1782721] - [thunderbolt] thunderbolt: Fix use-after-free in remove_unplugged_switch() (Torez Smith) [1782721] - [thunderbolt] thunderbolt: Add DMA traffic test driver (Torez Smith) [1782721] - [thunderbolt] thunderbolt: Add support for end-to-end flow control (Torez Smith) [1782721] - [thunderbolt] thunderbolt: Make it possible to allocate one directional DMA tunnel (Torez Smith) [1782721] - [thunderbolt] thunderbolt: Create debugfs directory automatically for services (Torez Smith) [1782721] - [thunderbolt] thunderbolt: Add functions for enabling and disabling lane bonding on XDomain (Torez Smith) [1782721] - [thunderbolt] thunderbolt: Add link_speed and link_width to XDomain (Torez Smith) [1782721] - [thunderbolt] thunderbolt: Create XDomain devices for loops back to the host (Torez Smith) [1782721] - [thunderbolt] thunderbolt: Find XDomain by route instead of UUID (Torez Smith) [1782721] - [thunderbolt] thunderbolt: Do not clear USB4 router protocol adapter IFC and ISE bits (Torez Smith) [1782721] - [net] ipv6: fib: flush exceptions when purging route (Hangbin Liu) [1916084] - [net] ipv6: addrlabel: fix possible memory leak in ip6addrlbl_net_init (Hangbin Liu) [1916084] - [net] ipv6: remove unused function ipv6_skb_idev() (Hangbin Liu) [1916084] - [net] ipv6: Fix error path to cancel the meseage (Hangbin Liu) [1916084] - [tools] selftests/net/fib_tests: update addr_metric_test for peer route testing (Hangbin Liu) [1916084] - [net] net/ipv6: remove the old peer route if change it to a new one (Hangbin Liu) [1916084] - [tools] selftests/net: remove not backported tests (Hangbin Liu) [1908340] - [netdrv] bonding: add a vlan+srcmac tx hashing option (Jarod Wilson) [1724795] - [security] selinux: mark selinux_xfrm_refcount as __read_mostly (Ondrej Mosnacek) [1904940] - [net] udp: fix integer overflow while computing available space in sk_rcvbuf (Xin Long) [1916997] - [fs] NFSv4: make cache consistency bitmask dynamic (Steve Dickson) [1881647] - [include] NFSv4: Save a few bytes in the nfs_pgio_args/res (Steve Dickson) [1881647] - [tools] tools headers UAPI: Update tools's copy of linux/perf_event.h (Michael Petlan) [1884818 1908305] - [tools] perf test: Use generic event for expand_libpfm_events() (Michael Petlan) [1884818 1908305] - [tools] perf probe: Change function definition check due to broken DWARF (Michael Petlan) [1884818 1908305] - [tools] perf probe: Fix to die_entrypc() returns error correctly (Michael Petlan) [1884818 1908305] - [tools] perf stat: Use proper cpu for shadow stats (Michael Petlan) [1884818 1908305] - [tools] perf record: Synthesize cgroup events only if needed (Michael Petlan) [1884818 1908305] - [tools] perf diff: Fix error return value in __cmd_diff() (Michael Petlan) [1884818 1908305] - [tools] perf tools: Update copy of libbpf's hashmap.c (Michael Petlan) [1884818 1908305] - [tools] perf test: Avoid an msan warning in a copied stack (Michael Petlan) [1884818 1908305] - [tools] perf inject: Fix file corruption due to event deletion (Michael Petlan) [1884818 1908305] - [tools] perf test: Update branch sample pattern for cs-etm (Michael Petlan) [1884818 1908305] - [tools] perf test: Fix a typo in cs-etm testing (Michael Petlan) [1884818 1908305] - [tools] perf lock: Don't free "lock_seq_stat" if read_count isn't zero (Michael Petlan) [1884818 1908305] - [tools] perf lock: Correct field name "flags" (Michael Petlan) [1884818 1908305] - [tools] tools feature: Fixup fast path feature detection (Michael Petlan) [1884818 1908305] - [tools] perf tools: Add missing swap for cgroup events (Michael Petlan) [1884818 1908305] - [tools] perf tools: Add missing swap for ino_generation (Michael Petlan) [1884818 1908305] - [tools] perf tools: Initialize output buffer in build_id__sprintf (Michael Petlan) [1884818 1908305] - [tools] perf hists browser: Increase size of 'buf' in perf_evsel__hists_browse() (Michael Petlan) [1884818 1908305] - [tools] tools headers UAPI: Update tools's copy of linux/perf_event.h (Michael Petlan) [1884818 1908305] - [tools] perf scripting python: Avoid declaring function pointers with a visibility attribute (Michael Petlan) [1884818 1908305] - [tools] perf tools: Remove broken __no_tail_call attribute (Michael Petlan) [1884818 1908305] - [tools] perf vendor events: Fix DRAM_BW_Use 0 issue for CLX/SKX (Michael Petlan) [1884818 1908305] - [tools] perf trace: Fix segfault when trying to trace events by cgroup (Michael Petlan) [1884818 1908305] - [tools] perf tools: Fix crash with non-jited bpf progs (Michael Petlan) [1884818 1908305] - [tools] perf tools: Update copy of libbpf's hashmap.c (Michael Petlan) [1884818 1908305] - [tools] perf tools: Remove LTO compiler options when building perl support (Michael Petlan) [1884818 1908305] - [tools] perf c2c: Update documentation for metrics reorganization (Michael Petlan) [1884818 1908305] - [tools] perf c2c: Add metrics "RMT Load Hit" (Michael Petlan) [1884818 1908305] - [tools] perf c2c: Correct LLC load hit metrics (Michael Petlan) [1884818 1908305] - [tools] perf c2c: Change header for LLC local hit (Michael Petlan) [1884818 1908305] - [tools] perf c2c: Use more explicit headers for HITM (Michael Petlan) [1884818 1908305] - [tools] perf c2c: Change header from "LLC Load Hitm" to "Load Hitm" (Michael Petlan) [1884818 1908305] - [tools] perf c2c: Organize metrics based on memory hierarchy (Michael Petlan) [1884818 1908305] - [tools] perf c2c: Display "Total Stores" as a standalone metrics (Michael Petlan) [1884818 1908305] - [tools] perf c2c: Display the total numbers continuously (Michael Petlan) [1884818 1908305] - [tools] perf bench: Use condition variables in numa (Michael Petlan) [1884818 1908305] - [tools] perf jevents: Fix event code for events referencing std arch events (Michael Petlan) [1884818 1908305] - [tools] perf diff: Support hot streams comparison (Michael Petlan) [1884818 1908305] - [tools] perf streams: Report hot streams (Michael Petlan) [1884818 1908305] - [tools] perf streams: Calculate the sum of total streams hits (Michael Petlan) [1884818 1908305] - [tools] perf streams: Link stream pair (Michael Petlan) [1884818 1908305] - [tools] perf streams: Compare two streams (Michael Petlan) [1884818 1908305] - [tools] perf streams: Get the evsel_streams by evsel_idx (Michael Petlan) [1884818 1908305] - [tools] perf streams: Introduce branch history "streams" (Michael Petlan) [1884818 1908305] - [tools] perf intel-pt: Improve PT documentation slightly (Michael Petlan) [1884818 1908305] - [tools] perf tools: Add support for exclusive groups/events (Michael Petlan) [1884818 1908305] - [tools] perf test: Add build id shell test (Michael Petlan) [1884818 1908305] - [tools] perf tools: Align buildid list output for short build ids (Michael Petlan) [1884818 1908305] - [tools] perf tools: Add size to 'struct perf_record_header_build_id' (Michael Petlan) [1884818 1908305] - [tools] perf tools: Pass build_id object to dso__build_id_equal() (Michael Petlan) [1884818 1908305] - [tools] perf tools: Pass build_id object to dso__set_build_id() (Michael Petlan) [1884818 1908305] - [tools] perf tools: Pass build_id object to build_id__sprintf() (Michael Petlan) [1884818 1908305] - [tools] perf tools: Pass build id object to sysfs__read_build_id() (Michael Petlan) [1884818 1908305] - [tools] perf tools: Pass build_id object to filename__read_build_id() (Michael Petlan) [1884818 1908305] - [tools] perf tools: Use build_id object in dso (Michael Petlan) [1884818 1908305] - [tools] perf config: Export the perf_config_from_file() function (Michael Petlan) [1884818 1908305] - [tools] perf python: Autodetect python3 binary (Michael Petlan) [1884818 1908305] - [tools] perf tests: Show python test script in verbose mode (Michael Petlan) [1884818 1908305] - [tools] perf c2c: Update usage for showing memory events (Michael Petlan) [1884818 1908305] - [tools] perf stat: Fix out of bounds CPU map access when handling armv8_pmu events (Michael Petlan) [1884818 1908305] - [tools] perf python scripting: Fix printable strings in python3 scripts (Michael Petlan) [1884818 1908305] - [tools] perf metricgroup: Fix uncore metric expressions (Michael Petlan) [1884818 1908305] - [tools] perf parse-event: Release cpu_map refcount if evsel alloc failed (Michael Petlan) [1884818 1908305] - [tools] perf parse-event: Fix cpu map refcounting (Michael Petlan) [1884818 1908305] - [tools] tools lib traceevent: Hide non API functions (Michael Petlan) [1884818 1908305] - [tools] perf sched: Show start of latency as well (Michael Petlan) [1884818 1908305] - [tools] perf vendor events: Fix typos in power8 PMU events (Michael Petlan) [1884818 1908305] - [tools] perf bench: Run inject-build-id with --buildid-all option too (Michael Petlan) [1884818 1908305] - [tools] perf inject: Add --buildid-all option (Michael Petlan) [1884818 1908305] - [tools] perf inject: Do not load map/dso when injecting build-id (Michael Petlan) [1884818 1908305] - [tools] perf inject: Enter namespace when reading build-id (Michael Petlan) [1884818 1908305] - [tools] perf inject: Add missing callbacks in perf_tool (Michael Petlan) [1884818 1908305] - [tools] perf bench: Add build-id injection benchmark (Michael Petlan) [1884818 1908305] - [tools] perf trace: Use the autogenerated mmap 'prot' string/id table (Michael Petlan) [1884818 1908305] - [tools] tools beauty: Add script to generate table of mmap's 'prot' argument (Michael Petlan) [1884818 1908305] - [tools] perf beauty mmap_flags: Conditionaly define the mmap flags (Michael Petlan) [1884818 1908305] - [tools] perf trace beauty: Add script to autogenerate mremap's flags args string/id table (Michael Petlan) [1884818 1908305] - [tools] perf tools: Separate the checking of headers only used to build beautification tables (Michael Petlan) [1884818 1908305] - [tools] perf parse-events: Reduce casts around bp_addr (Michael Petlan) [1884818 1908305] - [tools] perf test: Add expand cgroup event test (Michael Petlan) [1884818 1908305] - [tools] perf tools: Allow creation of cgroup without open (Michael Petlan) [1884818 1908305] - [tools] perf tools: Copy metric events properly when expand cgroups (Michael Petlan) [1884818 1908305] - [tools] perf stat: Add --for-each-cgroup option (Michael Petlan) [1884818 1908305] - [tools] perf evsel: Add evsel__clone() function (Michael Petlan) [1884818 1908305] - [tools] perf vendor events: Update SkylakeX events to v1.21 (Michael Petlan) [1884818 1908305] - [tools] perf vendor events intel: Update CascadelakeX events to v1.08 (Michael Petlan) [1884818 1908305] - [tools] perf script: Add min, max to futex-contention output, in addition to avg (Michael Petlan) [1884818 1908305] - [tools] perf script: Autopep8 futex-contention (Michael Petlan) [1884818 1908305] - [tools] perf stat: Skip duration_time in setup_system_wide (Michael Petlan) [1884818 1908305] - [tools] perf tsc: Support cap_user_time_short for event TIME_CONV (Michael Petlan) [1884818 1908305] - [tools] perf tsc: Calculate timestamp with cap_user_time_short (Michael Petlan) [1884818 1908305] - [tools] perf tsc: Add rdtsc() for Arm64 (Michael Petlan) [1884818 1908305] - [tools] perf tsc: Move out common functions from x86 (Michael Petlan) [1884818 1908305] - [tools] perf probe: Fall back to debuginfod query if debuginfo and source not found locally (Michael Petlan) [1884818 1908305] - [tools] perf probe: Fix to adjust symbol address with correct reloc_sym address (Michael Petlan) [1884818 1908305] - [tools] perf intel-pt: Fix "context_switch event has no tid" error (Michael Petlan) [1884818 1908305] - [tools] perf script: Display negative tid in non-sample events (Michael Petlan) [1884818 1908305] - [tools] perf docs: Improve help information in perf.txt (Michael Petlan) [1884818 1908305] - [tools] perf metric: Remove duplicate include (Michael Petlan) [1884818 1908305] - [tools] perf tools: Add documentation for topdown metrics (Michael Petlan) [1884818 1908305] - [tools] perf stat: Support new per thread TopDown metrics (Michael Petlan) [1884818 1908305] - [tools] perf record: Support sample-read topdown metric group (Michael Petlan) [1884818 1908305] - [tools] perf tools: Rename group to topdown (Michael Petlan) [1884818 1908305] - [tools] perf machine: Add machine__for_each_dso() function (Michael Petlan) [1884818 1908305] - [tools] perf tests: Call test_attr__open() directly (Michael Petlan) [1884818 1908305] - [tools] perf vendor events power9: Add hv_24x7 core level metric events (Michael Petlan) [1884818 1908305] - [tools] perf metricgroup: Pass pmu_event structure as a parameter for arch_get_runtimeparam() (Michael Petlan) [1884818 1908305] - [tools] perf jevents: Add support for parsing perchip/percore events (Michael Petlan) [1884818 1908305] - [tools] perf jevents: Add new structure to pass json fields (Michael Petlan) [1884818 1908305] - [tools] perf jevents: Make json_events() static and ditch jevents.h file (Michael Petlan) [1884818 1908305] - [tools] perf test: Introduce script for Arm CoreSight testing (Michael Petlan) [1884818 1908305] - [tools] perf metricgroup: Fix typo in comment (Michael Petlan) [1884818 1908305] - [tools] perf stat: Remove dead code: no need to set os.evsel twice (Michael Petlan) [1884818 1908305] - [tools] perf list: Do not print 'Metric Groups:' unnecessarily (Michael Petlan) [1884818 1908305] - [tools] perf list: Remove dead code in argument check (Michael Petlan) [1884818 1908305] - [tools] perf tools: Add build test with GTK+ (Michael Petlan) [1884818 1908305] - [tools] tools feature: Add missing -lzstd to the fast path feature detection (Michael Petlan) [1884818 1908305] - [tools] perf tools: Make GTK2 support opt-in (Michael Petlan) [1884818 1908305] - [tools] perf vendor events amd: Enable Family 19h users by matching Zen2 events (Michael Petlan) [1884818 1908305] - [tools] perf vendor events amd: Add recommended events (Michael Petlan) [1884818 1908305] - [tools] perf vendor events amd: Add ITLB Instruction Fetch Hits event for zen1 (Michael Petlan) [1884818 1908305] - [tools] perf vendor events amd: Add L2 Prefetch events for zen1 (Michael Petlan) [1884818 1908305] - [tools] perf: ftrace: Add filter support for option -F/--funcs (Michael Petlan) [1884818 1908305] - [tools] perf tools: Consolidate close_control_option()'s into one function (Michael Petlan) [1884818 1908305] - [tools] perf intel-pt: Document snapshot control command (Michael Petlan) [1884818 1908305] - [tools] perf annotate: Add 'ret' (intel disasm style) as an alias for 'retq' (Michael Petlan) [1884818 1908305] - [tools] perf annotate: Allow configuring the 'disassembler_style' knob via 'perf config' (Michael Petlan) [1884818 1908305] - [tools] perf record: Add 'snapshot' control command (Michael Petlan) [1884818 1908305] - [tools] perf tools: Add FIFO file names as alternative options to --control (Michael Petlan) [1884818 1908305] - [tools] perf tools: Use AsciiDoc formatting for --control option documentation (Michael Petlan) [1884818 1908305] - [tools] perf tools: Handle read errors from ctl_fd (Michael Petlan) [1884818 1908305] - [tools] perf tools: Consolidate --control option parsing into one function (Michael Petlan) [1884818 1908305] - [tools] perf tests: Add test for PE binary format support (Michael Petlan) [1884818 1908305] - [tools] perf symbols: Try reading the symbol table with libbfd (Michael Petlan) [1884818 1908305] - [tools] perf dso: Use libbfd to read build_id and .gnu_debuglink section (Michael Petlan) [1884818 1908305] - [tools] tools features: Add feature test to check if libbfd has buildid support (Michael Petlan) [1884818 1908305] - [tools] tools: Remove feature-libelf-mmap feature detection (Michael Petlan) [1884818 1908305] - [tools] perf build: Allow nested externs to enable BUILD_BUG() usage (Michael Petlan) [1884818 1908305] - [x86] perf/x86/intel: Check PEBS status correctly (Michael Petlan) [1884818 1908305] - [x86] perf/x86/intel: Fix a warning on x86_pmu_stop() with large PEBS (Michael Petlan) [1884818 1908305] - [x86] perf/x86: fix sysfs type mismatches (Michael Petlan) [1884818 1908305] - [x86] perf/x86/intel: Make anythread filter support conditional (Michael Petlan) [1884818 1908305] - [kernel] perf: Tweak perf_event_attr::exclusive semantics (Michael Petlan) [1884818 1908305] - [kernel] perf: Fix event multiplexing for exclusive groups (Michael Petlan) [1884818 1908305] - [kernel] perf: Simplify group_sched_in() (Michael Petlan) [1884818 1908305] - [kernel] perf: Simplify group_sched_out() (Michael Petlan) [1884818 1908305] - [x86] perf/x86: Make dummy_iregs static (Michael Petlan) [1884818 1908305] - [include] perf/arch: Remove perf_sample_data::regs_user_copy (Michael Petlan) [1884818 1908305] - [kernel] perf: Optimize get_recursion_context() (Michael Petlan) [1884818 1908305] - [kernel] perf: Fix get_recursion_context() (Michael Petlan) [1884818 1908305] - [x86] perf/x86: Reduce stack usage for x86_pmu::drain_pebs() (Michael Petlan) [1884818 1908305] - [kernel] perf: Reduce stack usage of perf_output_begin() (Michael Petlan) [1884818 1908305] - [kernel] perf/core: Fix a memory leak in perf_event_parse_addr_filter() (Michael Petlan) [1884818 1908305] - [x86] perf/x86: Fix n_metric for cancelled txn (Michael Petlan) [1884818 1908305] - [x86] perf/x86: Fix n_pair for cancelled txn (Michael Petlan) [1884818 1908305] - [x86] x86/events/amd/iommu: Fix sizeof mismatch (Michael Petlan) [1884818 1908305] - [x86] perf/x86/intel: Check perf metrics feature for each CPU (Michael Petlan) [1884818 1908305] - [x86] perf/x86/intel: Fix Ice Lake event constraint table (Michael Petlan) [1884818 1908305] - [x86] perf/x86/msr: Add Jasper Lake support (Michael Petlan) [1884818 1908305] - [x86] perf/x86/intel: Add Jasper Lake support (Michael Petlan) [1884818 1908305] - [x86] perf/amd/uncore: Allow F19h user coreid, threadmask, and sliceid specification (Michael Petlan) [1884818 1908305] - [x86] perf/amd/uncore: Allow F17h user threadmask and slicemask specification (Michael Petlan) [1884818 1908305] - [x86] perf/amd/uncore: Prepare to scale for more attributes that vary per family (Michael Petlan) [1884818 1908305] - [x86] arch/x86/amd/ibs: Fix re-arming IBS Fetch (Michael Petlan) [1884818 1908305] - [x86] perf/x86/rapl: Add AMD Fam19h RAPL support (Michael Petlan) [1884818 1908305] - [x86] perf/x86/amd/ibs: Support 27-bit extended Op/cycle counter (Michael Petlan) [1884818 1908305] - [x86] perf/x86/amd/ibs: Fix raw sample data accumulation (Michael Petlan) [1884818 1908305] - [x86] perf/x86/amd/ibs: Don't include randomized bits in get_ibs_op_count() (Michael Petlan) [1884818 1908305] - [x86] perf/x86/amd: Fix sampling Large Increment per Cycle events (Michael Petlan) [1884818 1908305] - [x86] perf/amd/uncore: Set all slices and threads to restore perf stat -a behaviour (Michael Petlan) [1884818 1908305] - [kernel] perf/core: Pull pmu::sched_task() into perf_event_context_sched_out() (Michael Petlan) [1884818 1908305] - [kernel] perf/core: Pull pmu::sched_task() into perf_event_context_sched_in() (Michael Petlan) [1884818 1908305] - [x86] perf/x86/intel/ds: Fix x86_pmu_stop warning for large PEBS (Michael Petlan) [1884818 1908305] - [x86] perf/x86/intel: Support per-thread RDPMC TopDown metrics (Michael Petlan) [1884818 1908305] - [x86] perf/x86/intel: Support TopDown metrics on Ice Lake (Michael Petlan) [1884818 1908305] - [x86] perf/x86: Add a macro for RDPMC offset of fixed counters (Michael Petlan) [1884818 1908305] - [x86] perf/x86/intel: Generic support for hardware TopDown metrics (Michael Petlan) [1884818 1908305] - [kernel] perf/core: Add a new PERF_EV_CAP_SIBLING event capability (Michael Petlan) [1884818 1908305] - [x86] perf/x86/intel: Use switch in intel_pmu_disable/enable_event (Michael Petlan) [1884818 1908305] - [x86] perf/x86/intel: Fix the name of perf METRICS (Michael Petlan) [1884818 1908305] - [x86] perf/x86/intel: Move BTS index to 47 (Michael Petlan) [1884818 1908305] - [x86] perf/x86/intel: Introduce the fourth fixed counter (Michael Petlan) [1884818 1908305] - [x86] perf/x86/intel: Name the global status bit in NMI handler (Michael Petlan) [1884818 1908305] - [x86] perf/x86: Use event_base_rdpmc for the RDPMC userspace support (Michael Petlan) [1884818 1908305] - [powerpc] powerpc/cacheinfo: Print correct cache-sibling map/list for L2 cache (Diego Domingos) [1906504] - [powerpc] powerpc/smp: Add support detecting thread-groups sharing L2 cache (Diego Domingos) [1906504] - [powerpc] powerpc/smp: Rename init_thread_group_l1_cache_map() to make it generic (Diego Domingos) [1906504] - [powerpc] powerpc/smp: Rename cpu_l1_cache_map as thread_group_l1_cache_map (Diego Domingos) [1906504] - [powerpc] powerpc/smp: Parse ibm, thread-groups with multiple properties (Diego Domingos) [1906504] - [powerpc] powerpc/smp: Use GFP_ATOMIC while allocating tmp mask (Diego Domingos) [1906504] - [powerpc] powerpc/smp: Remove unnecessary variable (Diego Domingos) [1906504] - [powerpc] powerpc/smp: Optimize update_coregroup_mask (Diego Domingos) [1906504] - [powerpc] powerpc/smp: Move coregroup mask updation to a new function (Diego Domingos) [1906504] - [powerpc] powerpc/smp: Optimize update_mask_by_l2 (Diego Domingos) [1906504] - [powerpc] powerpc/smp: Check for duplicate topologies and consolidate (Diego Domingos) [1906504] - [powerpc] powerpc/smp: Depend on cpu_l1_cache_map when adding CPUs (Diego Domingos) [1906504] - [powerpc] powerpc/smp: Stop passing mask to update_mask_by_l2 (Diego Domingos) [1906504] - [powerpc] powerpc/smp: Limit CPUs traversed to within a node (Diego Domingos) [1906504] - [powerpc] powerpc/smp: Optimize remove_cpu_from_masks (Diego Domingos) [1906504] - [powerpc] powerpc/smp: Remove get_physical_package_id (Diego Domingos) [1906504] - [powerpc] powerpc/smp: Stop updating cpu_core_mask (Diego Domingos) [1906504] - [powerpc] powerpc/topology: Update topology_core_cpumask (Diego Domingos) [1906504] - [powerpc] powerpc/topology: Override cpu_smt_mask (Diego Domingos) [1906504] - [include] sched/topology: Allow archs to override cpu_smt_mask (Diego Domingos) [1906504] - [powerpc] powerpc/cacheinfo: Add per cpu per index shared_cpu_list (Diego Domingos) [1906504] - [powerpc] powerpc/cacheinfo: Make cpumap_show code reusable (Diego Domingos) [1906504] - [powerpc] powerpc/cacheinfo: Use cpumap_print to print cpumap (Diego Domingos) [1906504] - [powerpc] powerpc/smp: Use IS_ENABLED() to avoid #ifdef (Diego Domingos) [1906504] - [powerpc] powerpc/smp: Drop superfluous NULL check (Diego Domingos) [1906504] - [vfio] pci: Cleanup .probe() exit paths (Clark Williams) [1860192] - [vfio] pci: Add sriov_configure support (Clark Williams) [1860192] - [vfio] Introduce VFIO_DEVICE_FEATURE ioctl and first user (Clark Williams) [1860192] - [vfio] pci: Introduce VF token (Clark Williams) [1860192] - [vfio] pci: Implement match ops (Clark Williams) [1860192] - [vfio] Include optional device match in vfio_device_ops callbacks (Clark Williams) [1860192] - [infiniband] IB/hfi1: Ensure correct mm is used at all times (Kamal Heib) [1879586] {CVE-2020-27835} - [block] rbd: require global CAP_SYS_ADMIN for mapping and unmapping (Ming Lei) [1887327] {CVE-2020-25284}- [tools] kunit: tool: unmark test_data as binary blobs (Nico Pache) [1900119] - [tools] kunit: tools: fix kunit_tool tests for parsing test plans (Nico Pache) [1900119] - [documentation] Documentation: kunit: Update Kconfig parts for KUNIT's module support (Nico Pache) [1900119] - [tools] kunit: Don't fail test suites if one of them is empty (Nico Pache) [1900119] - [tools] kunit: Fix kunit.py --raw_output option (Nico Pache) [1900119] - [tools] kunit: tool: fix improper treatment of file location (Nico Pache) [1900119] - [tools] kunit: tool: fix broken default args in unit tests (Nico Pache) [1900119] - [tools] kunit: capture stderr on all make subprocess calls (Nico Pache) [1900119] - [documentation] Documentation: kunit: Remove references to --defconfig (Nico Pache) [1900119] - [kernel] kcsan: Add test suite (Nico Pache) [1900119] - [documentation] Documentation: kunit: Add some troubleshooting tips to the FAQ (Nico Pache) [1900119] - [tools] kunit: kunit_tool: Fix invalid result when build fails (Nico Pache) [1900119] - [tools] kunit: show error if kunit results are not present (Nico Pache) [1900119] - [tools] kunit: kunit_config: Fix parsing of CONFIG options with space (Nico Pache) [1900119] - [lib] kunit: add support for named resources (Nico Pache) [1900119] - [lib] kunit: generalize kunit_resource API beyond allocated resources (Nico Pache) [1900119] - [security] security: apparmor: default KUNIT_* fragments to KUNIT_ALL_TESTS (Nico Pache) [1900119] - [fs] fs: ext4: default KUNIT_* fragments to KUNIT_ALL_TESTS (Nico Pache) [1900119] - [base] drivers: base: default KUNIT_* fragments to KUNIT_ALL_TESTS (Nico Pache) [1900119] - [lib] lib: Kconfig.debug: default KUNIT_* fragments to KUNIT_ALL_TESTS (Nico Pache) [1900119] - [lib] kunit: default KUNIT_* fragments to KUNIT_ALL_TESTS (Nico Pache) [1900119] - [lib] kunit: Kconfig: enable a KUNIT_ALL_TESTS fragment (Nico Pache) [1900119] - [tools] kunit: Fix TabError, remove defconfig code and handle when there is no kunitconfig (Nico Pache) [1900119] - [tools] kunit: use KUnit defconfig by default (Nico Pache) [1900119] - [tools] kunit: use --build_dir=.kunit as default (Nico Pache) [1900119] - [tools] kunit: kunit_tool: Separate out config/build/exec/parse (Nico Pache) [1900119] - [lib] lib/test_linear_ranges: add a test for the 'linear_ranges' (Nico Pache) [1900119] - [lib] kunit: Add missing newline in summary message (Nico Pache) [1900119] - [tools] kunit: tool: add missing test data file content (Nico Pache) [1900119] - [documentation] kunit: update documentation to describe debugfs representation (Nico Pache) [1900119] - [lib] kunit: subtests should be indented 4 spaces according to TAP (Nico Pache) [1900119] - [lib] kunit: add log test (Nico Pache) [1900119] - [lib] kunit: add debugfs /sys/kernel/debug/kunit//results display (Nico Pache) [1900119] - [documentation] Documentation: kunit: Make the KUnit documentation less UML-specific (Nico Pache) [1900119] - [lib] Fix linked-list KUnit test when run multiple times (Nico Pache) [1900119] - [tools] kunit: kunit_tool: Allow .kunitconfig to disable config items (Nico Pache) [1900119] - [lib] kunit: Always print actual pointer values in asserts (Nico Pache) [1900119] - [tools] kunit: add --make_options (Nico Pache) [1900119] - [tools] kunit: Run all KUnit tests through allyesconfig (Nico Pache) [1900119] - [tools] kunit: kunit_parser: make parser more robust (Nico Pache) [1900119] - [of] of: unittest: annotate warnings triggered by unittest (Nico Pache) [1900119] - [of] of: unittest: Disable interrupt node tests for old world MAC systems (Nico Pache) [1900119] - [of] of: unittest: add overlay gpio test to catch gpio hog problem (Nico Pache) [1900119] - [tools] kunit: run kunit_tool from any directory (Nico Pache) [1900119] - [tools] kunit: test: Improve error messages for kunit_tool when kunitconfig is invalid (Nico Pache) [1900119] - [documentation] Documentation: kunit: fixed sphinx error in code block (Nico Pache) [1900119] - [base] software node: introduce CONFIG_KUNIT_DRIVER_PE_TEST (Nico Pache) [1900119] - [base] kunit: building kunit as a module breaks allmodconfig (Nico Pache) [1900119] - [documentation] kunit: update documentation to describe module-based build (Nico Pache) [1900119] - [lib] kunit: allow kunit to be loaded as a module (Nico Pache) [1900119] - [lib] kunit: remove timeout dependence on sysctl_hung_task_timeout_seconds (Nico Pache) [1900119] - [lib] kunit: allow kunit tests to be loaded as a module (Nico Pache) [1900119] - [lib] kunit: hide unexported try-catch interface in try-catch-impl.h (Nico Pache) [1900119] - [lib] kunit: move string-stream.h to lib/kunit (Nico Pache) [1900119] - [security] apparmor: add AppArmor KUnit tests for policy unpack (Nico Pache) [1900119] - [tools] kunit/kunit_tool_test: Test '--build_dir' option run (Nico Pache) [1900119] - [tools] kunit: Rename 'kunitconfig' to '.kunitconfig' (Nico Pache) [1900119] - [tools] kunit: Place 'test.log' under the 'build_dir' (Nico Pache) [1900119] - [tools] kunit: Create default config in '--build_dir' (Nico Pache) [1900119] - [tools] kunit: Remove duplicated defconfig creation (Nico Pache) [1900119] - [documentation] docs/kunit/start: Use in-tree 'kunit_defconfig' (Nico Pache) [1900119] - [documentation] Documentation: kunit: add documentation for kunit_tool (Nico Pache) [1900119] - [documentation] Documentation: kunit: fix typos and gramatical errors (Nico Pache) [1900119] - [tools] kunit: testing kunit: Bug fix in test_run_timeout function (Nico Pache) [1900119] - [base] PM / QoS: Initial kunit test (Nico Pache) [1900119] - [lib] lib/list-test: add a test for the 'list' doubly linked list (Nico Pache) [1900119] - [fs] ext4: add kunit test for decoding extended timestamps (Nico Pache) [1900119] - [documentation] Documentation: kunit: Fix verification command (Nico Pache) [1900119] - [tools] kunit: Fix '--build_dir' option (Nico Pache) [1900119] - [lib] kunit: fix failure to build without printk (Nico Pache) [1900119] - [kernel] kernel/sysctl-test: Add null pointer test for sysctl.c:proc_dointvec() (Nico Pache) [1900119] - [documentation] Documentation: kunit: add documentation for KUnit (Nico Pache) [1900119] - [tools] kunit: defconfig: add defconfigs for building KUnit tests (Nico Pache) [1900119] - [tools] kunit: tool: add Python wrappers for running KUnit tests (Nico Pache) [1900119] - [lib] kunit: test: add tests for KUnit managed resources (Nico Pache) [1900119] - [lib] kunit: test: add the concept of assertions (Nico Pache) [1900119] - [lib] kunit: test: add tests for kunit test abort (Nico Pache) [1900119] - [lib] kunit: test: add support for test abort (Nico Pache) [1900119] - [tools] objtool: add kunit_try_catch_throw to the noreturn list (Nico Pache) [1900119] - [tools] objtool: Add rewind_stack_do_exit() to the noreturn list (Nico Pache) [1900119] - [lib] kunit: test: add initial tests (Nico Pache) [1900119] - [lib] lib: enable building KUnit in lib/ (Nico Pache) [1900119] - [lib] kunit: test: add the concept of expectations (Nico Pache) [1900119] - [lib] kunit: test: add assertion printing library (Nico Pache) [1900119] - [lib] kunit: test: add string_stream a std::stream like string builder (Nico Pache) [1900119] - [lib] kunit: test: add test resource management API (Nico Pache) [1900119] - [lib] kunit: test: add KUnit test runner core (Nico Pache) [1900119] - [watchdog] watchdog/hpwdt: Reflect changes (Joseph Szczypek) [1905293] - [watchdog] watchdog/hpwdt: Disable NMI in Crash Kernel (Joseph Szczypek) [1905293] - [idle] intel_idle: add SnowRidge C-state table (Steve Best) [1838554] - [mm] mm: memcg/slab: fix use after free in obj_cgroup_charge (Waiman Long) [1916962] - [mm] mm: memcg/slab: fix return of child memcg objcg for root memcg (Waiman Long) [1916962] - [mm] mm: memcg/slab: fix obj_cgroup_charge() return value handling (Waiman Long) [1916962] - [mm] mm: kmem: move memcg_kmem_bypass() calls to get_mem/obj_cgroup_from_current() (Waiman Long) [1916962] - [s390] s390/kexec_file: fix diag308 subcode when loading crash kernel (Philipp Rudo) [1897184] - [net] ethtool: fix error paths in ethnl_set_channels() (Ivan Vecera) [1906682] - [powerpc] powerpc/pci: Remove LSI mappings on device teardown (Diego Domingos) [1909722] - [powerpc] Revert "powerpc/pci: unmap legacy INTx interrupts of passthrough IO adapters" (Diego Domingos) [1909722] - [block] block: add blk_alloc_queue declaration back (Ming Lei) [1911343] - [net] tcp: only postpone PROBE_RTT if RTT is < current min_rtt estimate (Antoine Tenart) [1901863] - [net] tcp_bbr: improve arithmetic division in bbr_update_bw() (Antoine Tenart) [1901863] - [net] tcp_bbr: clarify that bbr_bdp() rounds up in comments (Antoine Tenart) [1901863] - [net] tcp_bbr: adapt cwnd based on ack aggregation estimation (Antoine Tenart) [1901863] - [net] tcp_bbr: fix bbr pacing rate for internal pacing (Antoine Tenart) [1901863]- [wireless] iwlwifi: fw: acpi: Demote non-conformant function headers (Jarod Wilson) [1857772] - [wireless] iwlwifi: fw: dbg: Fix misspelling of 'reg_data' in function header (Jarod Wilson) [1857772] - [wireless] iwlwifi: iwl-phy-db: Add missing struct member description for 'trans' (Jarod Wilson) [1857772] - [wireless] iwlwifi: iwl-eeprom-parse: Fix 'struct iwl_eeprom_enhanced_txpwr's header (Jarod Wilson) [1857772] - [wireless] iwlwifi: iwl-eeprom-read: Demote one nonconformant function header (Jarod Wilson) [1857772] - [wireless] iwlwifi: mvm: rs: Demote non-conformant function documentation headers (Jarod Wilson) [1857772] - [wireless] iwlwifi: iwl-drv: Fix fall-through warnings for Clang (Jarod Wilson) [1857772] - [wireless] iwlwifi: dvm: Fix fall-through warnings for Clang (Jarod Wilson) [1857772] - [wireless] iwlwifi: mvm: Fix fall-through warnings for Clang (Jarod Wilson) [1857772] - [wireless] iwlwifi: mvm: validate notification size when waiting (Jarod Wilson) [1857772] - [wireless] iwlwifi: mvm: purge the BSS table upon firmware load (Jarod Wilson) [1857772] - [wireless] iwlwifi: mvm: check that statistics TLV version match struct version (Jarod Wilson) [1857772] - [wireless] iwlwifi: mvm: add size checks for range response notification (Jarod Wilson) [1857772] - [wireless] iwlwifi: mvm: hook up missing RX handlers (Jarod Wilson) [1857772] - [wireless] iwlwifi: tighten RX MPDU bounds checks (Jarod Wilson) [1857772] - [wireless] iwlwifi: Add a new card for MA family (Jarod Wilson) [1857772] - [wireless] iwlwifi: mvm: disconnect if channel switch delay is too long (Jarod Wilson) [1857772] - [wireless] iwlwifi: support firmware reset handshake (Jarod Wilson) [1857772] - [wireless] iwlwifi: add an extra firmware state in the transport (Jarod Wilson) [1857772] - [wireless] iwlwifi: mvm: fix a race in CSA that caused assert 0x3420 (Jarod Wilson) [1857772] - [wireless] iwlwifi: mvm: validate firmware sync response size (Jarod Wilson) [1857772] - [wireless] iwlwifi: pcie: clean up some rx code (Jarod Wilson) [1857772] - [wireless] iwlwifi: use SPDX tags (Jarod Wilson) [1857772] - [wireless] iwlwifi: dbg-tlv: fix old length in is_trig_data_contained() (Jarod Wilson) [1857772] - [wireless] iwlwifi: trans: consider firmware dead after errors (Jarod Wilson) [1857772] - [wireless] iwlwifi: pcie: remove unnecessary setting of inta_mask (Jarod Wilson) [1857772] - [wireless] iwlwifi: fw: file: fix documentation for SAR flag (Jarod Wilson) [1857772] - [wireless] iwlwifi: pcie: remove MSIX_HW_INT_CAUSES_REG_IML handling (Jarod Wilson) [1857772] - [wireless] iwlwifi: mvm: clean up scan state on failure (Jarod Wilson) [1857772] - [wireless] iwlwifi: mvm: do more useful queue sync accounting (Jarod Wilson) [1857772] - [wireless] iwlwifi: mvm: fix 22000 series driver NMI (Jarod Wilson) [1857772] - [wireless] iwlwifi: pcie: change 12k A-MSDU config to use 16k buffers (Jarod Wilson) [1857772] - [wireless] iwlwifi: mvm: move iwl_mvm_stop_device() out of line (Jarod Wilson) [1857772] - [wireless] iwlwifi: mvm: clear up iwl_mvm_notify_rx_queue() argument type (Jarod Wilson) [1857772] - [wireless] iwlwifi: remove sw_csum_tx (Jarod Wilson) [1857772] - [wireless] iwlwifi: pcie: validate RX descriptor length (Jarod Wilson) [1857772] - [wireless] iwlwifi: validate MPDU length against notification length (Jarod Wilson) [1857772] - [wireless] iwlwifi: mvm: iterate active stations when updating statistics (Jarod Wilson) [1857772] - [wireless] iwlwifi: sort out the NVM offsets (Jarod Wilson) [1857772] - [wireless] iwlwifi: fix typo in comment (Jarod Wilson) [1857772] - [wireless] iwlwifi: follow the new inclusive terminology (Jarod Wilson) [1857772] - [wireless] iwlwifi: mvm: remove the read_nvm from iwl_run_unified_mvm_ucode (Jarod Wilson) [1857772] - [wireless] iwlwifi: avoid endless HW errors at assert time (Jarod Wilson) [1857772] - [wireless] iwlwifi: enable sending/setting debug host event (Jarod Wilson) [1857772] - [wireless] iwlwifi: mvm: add support for 6GHz (Jarod Wilson) [1857772] - [wireless] iwlwifi: copy iwl_he_capa for modifications (Jarod Wilson) [1857772] - [wireless] iwlwifi: pcie: remove obsolete pre-release support code (Jarod Wilson) [1857772] - [wireless] iwlwifi: mvm: remove the read_nvm from iwl_run_init_mvm_ucode (Jarod Wilson) [1857772] - [wireless] iwlwifi: mvm: Init error table memory to zero (Jarod Wilson) [1857772] - [wireless] iwlwifi: d3: do not send the WOWLAN_CONFIGURATION command for netdetect (Jarod Wilson) [1857772] - [wireless] iwlwifi: move reclaim flows to the queue file (Jarod Wilson) [1857772] - [wireless] iwlwifi: mvm: fix sar profile printing issue (Jarod Wilson) [1857772] - [wireless] iwlwifi: yoyo: align the write pointer to DWs (Jarod Wilson) [1857772] - [wireless] iwlwifi: yoyo: add the ability to dump phy periphery (Jarod Wilson) [1857772] - [wireless] iwlwifi: remove all queue resources before free (Jarod Wilson) [1857772] - [wireless] wireless: remove unneeded break (Jarod Wilson) [1857772] - [net] nl80211/cfg80211: fix potential infinite loop (Jarod Wilson) [1857772] - [net] cfg80211: select CONFIG_CRC32 (Jarod Wilson) [1857772] - [net] nl80211/cfg80211: support 6 GHz scanning (Jarod Wilson) [1857772] - [wireless] iwlwifi: pcie: add some missing entries for AX210 (Jarod Wilson) [1857772] - [wireless] iwlwifi: pcie: invert values of NO_160 device config entries (Jarod Wilson) [1857772] - [wireless] iwlwifi: pcie: add one missing entry for AX210 (Jarod Wilson) [1857772] - [wireless] iwlwifi: mvm: fix kernel panic in case of assert during CSA (Jarod Wilson) [1857772] - [wireless] iwlwifi: pcie: set LTR to avoid completion timeout (Jarod Wilson) [1857772] - [wireless] iwlwifi: mvm: write queue_sync_state only for sync (Jarod Wilson) [1857772] - [wireless] iwlwifi: mvm: properly cancel a session protection for P2P (Jarod Wilson) [1857772] - [wireless] iwlwifi: mvm: use the HOT_SPOT_CMD to cancel an AUX ROC (Jarod Wilson) [1857772] - [wireless] iwlwifi: sta: set max HE max A-MPDU according to HE capa (Jarod Wilson) [1857772] - [wireless] iwlwifi: pcie: limit memory read spin time (Jarod Wilson) [1857772] - [wireless] Revert "iwlwifi: remove wide_cmd_header field" (Jarod Wilson) [1857772] - [wireless] iwlwifi: bump FW API to 59 for AX devices (Jarod Wilson) [1857772] - [wireless] iwlwifi: read and parse PNVM file (Jarod Wilson) [1857772] - [wireless] iwlwifi: pcie: implement set_pnvm op (Jarod Wilson) [1857772] - [wireless] iwlwifi: add trans op to set PNVM (Jarod Wilson) [1857772] - [wireless] iwlwifi: move PNVM implementation to common code (Jarod Wilson) [1857772] - [wireless] iwlwifi: rs: align to new TLC config command API (Jarod Wilson) [1857772] - [wireless] iwlwifi: fix sar geo table initialization (Jarod Wilson) [1857772] - [wireless] iwlwifi: stats: add new api fields for statistics cmd/ntfy (Jarod Wilson) [1857772] - [wireless] iwlwifi: mvm: fix suspicious rcu usage warnings (Jarod Wilson) [1857772] - [wireless] iwlwifi: mvm: remove memset of kek_kck command (Jarod Wilson) [1857772] - [wireless] iwlwifi: mvm: don't send a CSA command the firmware doesn't know (Jarod Wilson) [1857772] - [wireless] iwlwifi: pcie: fix the xtal latency value for a few qu devices (Jarod Wilson) [1857772] - [wireless] iwlwifi: pcie: fix xtal latency for 9560 devices (Jarod Wilson) [1857772] - [wireless] iwlwifi: pcie: fix 0x271B and 0x271C trans cfg struct (Jarod Wilson) [1857772] - [wireless] iwlwifi: mvm: avoid possible NULL pointer dereference (Jarod Wilson) [1857772] - [wireless] iwlwifi: mvm: support ADD_STA_CMD_API_S ver 12 (Jarod Wilson) [1857772] - [wireless] iwlwifi: mvm: add a get lmac id function (Jarod Wilson) [1857772] - [wireless] iwlwifi: mvm: prepare roc_done_wk to work sync (Jarod Wilson) [1857772] - [wireless] iwlwifi: mvm: re-enable TX after channel switch (Jarod Wilson) [1857772] - [wireless] iwlwifi: mvm: don't send RFH_QUEUE_CONFIG_CMD with no queues (Jarod Wilson) [1857772] - [wireless] iwlwifi: support an additional Qu subsystem id (Jarod Wilson) [1857772] - [wireless] iwlwifi: mvm: stop claiming NL80211_EXT_FEATURE_SET_SCAN_DWELL (Jarod Wilson) [1857772] - [wireless] iwlwifi: mvm: ring the doorbell and wait for PNVM load completion (Jarod Wilson) [1857772] - [wireless] iwlwifi: update prph scratch structure to include PNVM data (Jarod Wilson) [1857772] - [wireless] iwlwifi: mvm: read and parse SKU ID if available (Jarod Wilson) [1857772] - [wireless] iwlwifi: mvm: get number of stations from TLV (Jarod Wilson) [1857772] - [wireless] iwlwifi: iwl-drv: Provide descriptions debugfs dentries (Jarod Wilson) [1857772] - [wireless] iwlwifi: dvm: devices: Fix function documentation formatting issues (Jarod Wilson) [1857772] - [wireless] iwlwifi: mvm: tx: Demote misuse of kernel-doc headers (Jarod Wilson) [1857772] - [wireless] iwlwifi: dvm: rxon: Demote non-conformant kernel-doc headers (Jarod Wilson) [1857772] - [wireless] iwlwifi: dvm: scan: Demote a few nonconformant kernel-doc headers (Jarod Wilson) [1857772] - [wireless] iwlwifi: mvm: utils: Fix some doc-rot (Jarod Wilson) [1857772] - [wireless] iwlwifi: dvm: Demote a couple of nonconformant kernel-doc headers (Jarod Wilson) [1857772] - [wireless] iwlwifi: mvm: ops: Remove unused static struct 'iwl_mvm_debug_names' (Jarod Wilson) [1857772] - [wireless] iwlwifi: dvm: sta: Demote a bunch of nonconformant kernel-doc headers (Jarod Wilson) [1857772] - [wireless] iwlwifi: calib: Demote seemingly unintentional kerneldoc header (Jarod Wilson) [1857772] - [wireless] iwlwifi: dvm: lib: Demote non-compliant kernel-doc headers (Jarod Wilson) [1857772] - [wireless] iwlwifi: dvm: tx: Demote non-compliant kernel-doc headers (Jarod Wilson) [1857772] - [wireless] iwlwifi: rs: Demote non-compliant kernel-doc headers (Jarod Wilson) [1857772] - [wireless] iwlwifi: dvm: Demote non-compliant kernel-doc headers (Jarod Wilson) [1857772] - [wireless] iwlwifi: bump FW API to 57 for AX devices (Jarod Wilson) [1857772] - [wireless] iwlwifi: yoyo: add support for internal buffer allocation in D3 (Jarod Wilson) [1857772] - [wireless] iwlwifi: api: fix u32 -> __le32 (Jarod Wilson) [1857772] - [wireless] iwlwifi: use correct group for alive notification (Jarod Wilson) [1857772] - [wireless] iwlwifi: support version 5 of the alive notification (Jarod Wilson) [1857772] - [wireless] iwlwifi: mvm: ignore the scan duration parameter (Jarod Wilson) [1857772] - [wireless] iwlwifi: dbg: add debug host notification (DHN) time point (Jarod Wilson) [1857772] - [wireless] iwlwifi: pcie: make iwl_pcie_txq_update_byte_cnt_tbl bus independent (Jarod Wilson) [1857772] - [wireless] iwlwifi: mvm: clear all scan UIDs (Jarod Wilson) [1857772] - [wireless] iwlwifi: mvm: d3: parse wowlan status version 11 (Jarod Wilson) [1857772] - [wireless] iwlwifi: align RX status flags with firmware (Jarod Wilson) [1857772] - [wireless] iwlwifi: mvm: remove redundant log in iwl_mvm_tvqm_enable_txq() (Jarod Wilson) [1857772] - [wireless] iwlwifi: phy-ctxt: add new API VER 3 for phy context cmd (Jarod Wilson) [1857772] - [wireless] iwlwifi: thermal: support new temperature measurement API (Jarod Wilson) [1857772] - [wireless] iwlwifi: mvm: add d3 prints (Jarod Wilson) [1857772] - [wireless] iwlwifi: mvm: d3: support GCMP ciphers (Jarod Wilson) [1857772] - [wireless] iwlwifi: mvm: support more GTK rekeying algorithms (Jarod Wilson) [1857772] - [wireless] iwlwifi: move all bus-independent TX functions to common code (Jarod Wilson) [1857772] - [wireless] iwlwifi: mvm: initiator: add option for adding a PASN responder (Jarod Wilson) [1857772] - [wireless] iwlwifi: mvm: responder: allow to set only the HLTK for an associated station (Jarod Wilson) [1857772] - [wireless] iwlwifi: mvm: location: set the HLTK when PASN station is added (Jarod Wilson) [1857772] - [wireless] iwlwifi: mvm: Add FTM initiator RTT smoothing logic (Jarod Wilson) [1857772] - [wireless] iwlwifi: mvm: add support for responder dynamic config command version 3 (Jarod Wilson) [1857772] - [wireless] iwlwifi: mvm: add support for range request command ver 11 (Jarod Wilson) [1857772] - [wireless] iwlwifi: remove wide_cmd_header field (Jarod Wilson) [1857772] - [wireless] iwlwifi: fw: add default value for iwl_fw_lookup_cmd_ver (Jarod Wilson) [1857772] - [wireless] iwlwifi: acpi: in non acpi compilations remove iwl_sar_geo_init (Jarod Wilson) [1857772] - [wireless] iwlwifi: rs: set RTS protection for all non legacy rates (Jarod Wilson) [1857772] - [wireless] iwlwifi: mvm: support new KEK KCK api (Jarod Wilson) [1857772] - [wireless] iwlwifi: support version 3 of GEO_TX_POWER_LIMIT (Jarod Wilson) [1857772] - [wireless] iwlwifi: acpi: rename geo structs to contain versioning (Jarod Wilson) [1857772] - [wireless] iwlwifi: support REDUCE_TX_POWER_CMD version 6 (Jarod Wilson) [1857772] - [wireless] iwlwifi: acpi: prepare SAR profile selection code for multiple sizes (Jarod Wilson) [1857772] - [wireless] iwlwifi: add a common struct for all iwl_tx_power_cmd versions (Jarod Wilson) [1857772] - [wireless] iwlwifi: add new card for MA family (Jarod Wilson) [1857772] - [wireless] iwlwifi: acpi: remove dummy definition of iwl_sar_set_profile() (Jarod Wilson) [1857772] - [wireless] iwlwifi: remove iwl_validate_sar_geo_profile() export (Jarod Wilson) [1857772] - [wireless] iwlwifi: mvm: use CHECKSUM_COMPLETE (Jarod Wilson) [1857772] - [wireless] iwlwifi: mvm: remove redundant support_umac_log field (Jarod Wilson) [1857772] - [wireless] iwlwifi: mvm: add support for new WOWLAN_TSC_RSC_PARAM version (Jarod Wilson) [1857772] - [wireless] iwlwifi: don't export acpi functions unnecessarily (Jarod Wilson) [1857772] - [wireless] iwlwifi: mvm: process ba-notifications also when sta rcu is invalid (Jarod Wilson) [1857772] - [wireless] iwlwifi: mvm: add support for new version of WOWLAN_TKIP_SETTING_API_S (Jarod Wilson) [1857772] - [wireless] iwlwifi: mvm: Don't install CMAC/GMAC key in AP mode (Jarod Wilson) [1857772] - [wireless] iwl-trans: move dev_cmd_offs, page_offs to a common trans header (Jarod Wilson) [1857772] - [wireless] iwlwifi: regulatory: regulatory capabilities api change (Jarod Wilson) [1857772] - [wireless] iwlwifi: dbg: add dumping special device memory (Jarod Wilson) [1857772] - [wireless] iwlwifi: dbg: remove IWL_FW_INI_TIME_POINT_WDG_TIMEOUT (Jarod Wilson) [1857772] - [wireless] iwlwifi: acpi: support ppag table command v2 (Jarod Wilson) [1857772] - [wireless] iwlwifi: add new cards for MA family (Jarod Wilson) [1857772] - [wireless] iwlwifi: move bc_table_dword to a common trans header (Jarod Wilson) [1857772] - [wireless] iwlwifi: iwl-trans: move tfd to trans layer (Jarod Wilson) [1857772] - [wireless] iwlwifi: move bc_pool to a common trans header (Jarod Wilson) [1857772] - [wireless] iwlwifi: iwl-trans: move all txcmd init to trans alloc (Jarod Wilson) [1857772] - [wireless] iwlwifi: enable twt by default (Jarod Wilson) [1857772] - [wireless] iwlwifi: mvm: add an option to add PASN station (Jarod Wilson) [1857772] - [wireless] iwlwifi: add new cards for AX201 family (Jarod Wilson) [1857772] - [wireless] iwlwifi: fw: move assert descriptor parser to common code (Jarod Wilson) [1857772] - [wireless] iwlwifi: wowlan: adapt to wowlan status API version 10 (Jarod Wilson) [1857772] - [wireless] iwlwifi: acpi: evaluate dsm to disable 5.8GHz channels (Jarod Wilson) [1857772] - [wireless] iwlwifi: msix: limit max RX queues for 9000 family (Jarod Wilson) [1857772] - [wireless] iwlwifi: sta: defer ADDBA transmit in case reclaimed SN != next SN (Jarod Wilson) [1857772] - [wireless] iwlwifi: mvm: set PROTECTED_TWT feature if supported by firmware (Jarod Wilson) [1857772] - [wireless] iwlwifi: mvm: set PROTECTED_TWT in MAC data policy (Jarod Wilson) [1857772] - [wireless] iwlwifi: mvm: add PROTECTED_TWT firmware API (Jarod Wilson) [1857772] - [wireless] iwlwifi: mvm: rs-fw: handle VHT extended NSS capability (Jarod Wilson) [1857772] - [x86] sev-es: Use new for_each_insn_prefix() macro to loop over prefixes bytes (Vitaly Kuznetsov) [1915453] - [x86] insn-eval: Use new for_each_insn_prefix() macro to loop over prefixes bytes (Vitaly Kuznetsov) [1915453] - [tools] x86/uprobes: Do not use prefixes.nbytes when looping over prefixes.bytes (Vitaly Kuznetsov) [1915453] - [powercap] powercap/intel_rapl: add support for ElkhartLake (Steve Best) [1847054] - [char] tpm: efi: Don't create binary_bios_measurements file for an empty log (Jerry Snitselaar) [1887536 1855183] - [char] tpm_tis: Add a check for invalid status (Jerry Snitselaar) [1887536 1855183] - [char] tpm: use *ph to print small buffer (Jerry Snitselaar) [1887536 1855183] - [char] tpm: Add support for event log pointer found in TPM2 ACPI table (Jerry Snitselaar) [1887536 1855183] - [acpi] acpi: Extend TPM2 ACPI table with missing log fields (Jerry Snitselaar) [1887536] - [char] tpm: Unify the mismatching TPM space buffer sizes (Jerry Snitselaar) [1887536 1855183] - [include] tpm: Require that all digests are present in TCG_PCR_EVENT2 structures (Jerry Snitselaar) [1887536 1855183] - [char] tpm_tis_spi: Prefer async probe (Jerry Snitselaar) [1887536 1855183] - [char] tpm/st33zp24: fix spelling mistake "drescription" -> "description" (Jerry Snitselaar) [1887536] - [char] tpm_tis: extra chip->ops check on error path in tpm_tis_core_init (Jerry Snitselaar) [1887536 1855183] - [char] tpm_tis_spi: Don't send anything during flow control (Jerry Snitselaar) [1887536 1855183] - [include] efi/tpm: Verify event log header before parsing (Jerry Snitselaar) [1887536 1855183] - [char] tpm: eventlog: Replace zero-length array with flexible-array member (Jerry Snitselaar) [1887536 1855183] - [char] tpm: fix wrong return value in tpm_pcr_extend (Jerry Snitselaar) [1887536 1855183] - [include] tpm_eventlog.h: Replace zero-length array with flexible-array member (Jerry Snitselaar) [1887536 1855183] - [include] phylink: : fix function prototype kernel-doc warning (Petr Oros) [1878147] - [netdrv] net: phy: call phy_disable_interrupts() in phy_attach_direct() instead (Petr Oros) [1878147] - [net] net: ethtool: Handle missing cable test TDR parameters (Petr Oros) [1878147] - [documentation] docs: networking: fix extra spaces in ethtool-netlink (Petr Oros) [1878147] - [documentation] dt-bindings: net: mvusb: Fix example errors (Petr Oros) [1878147] - [netdrv] net: phy: marvell10g: fix null pointer dereference (Petr Oros) [1878147] - [netdrv] net: phy: fix memory leak in device-create error path (Petr Oros) [1878147] - [netdrv] net: mdio device: use flexible sleeping in reset function (Petr Oros) [1878147] - [netdrv] net: mdiobus: add reset-post-delay-us handling (Petr Oros) [1878147] - [netdrv] net: mdiobus: use flexible sleeping for reset-delay-us (Petr Oros) [1878147] - [netdrv] net: phylink: add interface to configure clause 22 PCS PHY (Petr Oros) [1878147] - [netdrv] net: phylink: add struct phylink_pcs (Petr Oros) [1878147] - [netdrv] net: phylink: re-implement interface configuration with PCS (Petr Oros) [1878147] - [netdrv] net: phylink: in-band pause mode advertisement update for PCS (Petr Oros) [1878147] - [netdrv] net: phylink: simplify fixed-link case for ksettings_set method (Petr Oros) [1878147] - [netdrv] net: phylink: use config.an_enabled in ksettings_set method (Petr Oros) [1878147] - [netdrv] net: phylink: simplify phy case for ksettings_set method (Petr Oros) [1878147] - [netdrv] net: phylink: simplify ksettings_set() implementation (Petr Oros) [1878147] - [netdrv] net: phylink: avoid mac_config calls (Petr Oros) [1878147] - [netdrv] net: phylink: update PCS when changing interface during resolution (Petr Oros) [1878147] - [netdrv] net: phylink: ensure link is down when changing interface (Petr Oros) [1878147] - [netdrv] net: phylink: rearrange resolve mac_config() call (Petr Oros) [1878147] - [netdrv] net: phylink: rejig link state tracking (Petr Oros) [1878147] - [netdrv] net: phylink: update ethtool reporting for fixed-link modes (Petr Oros) [1878147] - [netdrv] net: phy: fix check in get_phy_c45_ids (Petr Oros) [1878147] - [netdrv] net: phy: at803x: add mdix configuration support for AR9331 and AR8035 (Petr Oros) [1878147] - [netdrv] net: dp83640: fix SIOCSHWTSTAMP to update the struct with actual configuration (Petr Oros) [1878147] - [netdrv] net: phy: continue searching for C45 MMDs even if first returned ffff:ffff (Petr Oros) [1878147] - [netdrv] net: phy: dp83640: Fixup cast to restricted __be16 warning (Petr Oros) [1878147] - [netdrv] net: phy: Make phy_10gbit_fec_features_array static (Petr Oros) [1878147] - [netdrv] net: phy: Properly define genphy_c45_driver (Petr Oros) [1878147] - [netdrv] net: phy: Fixup parameters in kerneldoc (Petr Oros) [1878147] - [netdrv] net: phy: at803x: Avoid comparison is always false warning (Petr Oros) [1878147] - [netdrv] net: phy: mdio: reset MDIO devices even if probe() is not implemented (Petr Oros) [1878147] - [netdrv] net: phy: reset the PHY even if probe() is not implemented (Petr Oros) [1878147] - [include] net: mdio: add a forward declaration for reset_control to mdio.h (Petr Oros) [1878147] - [netdrv] net: phy: arrange headers in phy_device.c alphabetically (Petr Oros) [1878147] - [netdrv] net: phy: arrange headers in mdio_device.c alphabetically (Petr Oros) [1878147] - [netdrv] net: phy: arrange headers in mdio_bus.c alphabetically (Petr Oros) [1878147] - [netdrv] net: phylink: only restart AN if the link mode is using in-band AN (Petr Oros) [1878147] - [netdrv] net: phylink: add phylink_speed_(up|down) interface (Petr Oros) [1878147] - [netdrv] net: phy: call phy_disable_interrupts() in phy_init_hw() (Petr Oros) [1878147] - [netdrv] net: phy: make phy_disable_interrupts() non-static (Petr Oros) [1878147] - [netdrv] net: phylink: ensure manual pause mode configuration takes effect (Petr Oros) [1878147] - [netdrv] net: phylink: fix ethtool -A with attached PHYs (Petr Oros) [1878147] - [include] net: phy: add support for a common probe between shared PHYs (Petr Oros) [1878147] - [netdrv] net: phy: Allow mdio buses to auto-probe c45 devices (Petr Oros) [1878147] - [netdrv] net: phy: marvell: Add Marvell 88E1548P support (Petr Oros) [1878147] - [netdrv] net: phy: marvell: Add Marvell 88E1340S support (Petr Oros) [1878147] - [netdrv] net: phy: marvell: use a single style for referencing functions (Petr Oros) [1878147] - [netdrv] net: phy: smsc: fix printing too many logs (Petr Oros) [1878147] - [netdrv] net: phy: Check harder for errors in get_phy_id() (Petr Oros) [1878147] - [of] of: of_mdio: Correct loop scanning logic (Petr Oros) [1878147] - [of] of: mdio: preserve phy dev_flags in of_phy_connect() (Petr Oros) [1878147] - [netdrv] net: phy: read MMD ID from all present MMDs (Petr Oros) [1878147] - [netdrv] net: phy: split devices_in_package (Petr Oros) [1878147] - [netdrv] net: phy: set devices_in_package only after validation (Petr Oros) [1878147] - [netdrv] net: phy: add support for probing MMDs >= 8 for devices-in-package (Petr Oros) [1878147] - [netdrv] net: phy: reword get_phy_device() kerneldoc (Petr Oros) [1878147] - [netdrv] net: phy: clean up get_phy_c22_id() invalid ID handling (Petr Oros) [1878147] - [netdrv] net: phy: clean up get_phy_c45_ids() failure handling (Petr Oros) [1878147] - [netdrv] net: phy: clean up PHY ID reading (Petr Oros) [1878147] - [netdrv] net: phy: clean up cortina workaround (Petr Oros) [1878147] - [netdrv] net: dp83869: Reset return variable if PHY strap is read (Petr Oros) [1878147] - [netdrv] net: phy: broadcom: don't export RDB/legacy access methods (Petr Oros) [1878147] - [netdrv] net: phy: marvell: unlock after phy_select_page() failure (Petr Oros) [1878147] - [netdrv] net: phy: at803x: add cable diagnostics support for ATH9331 and ATH8032 (Petr Oros) [1878147] - [netdrv] net: phy: marvell: Configure TDR pulse based on measurement length (Petr Oros) [1878147] - [netdrv] net : phy: marvell: Speedup TDR data retrieval by only changing page once (Petr Oros) [1878147] - [netdrv] net: ethtool: Allow PHY cable test TDR data to configured (Petr Oros) [1878147] - [netdrv] net: phy: marvell: Add support for amplitude graph (Petr Oros) [1878147] - [net] net: ethtool: Add helpers for cable test TDR data (Petr Oros) [1878147] - [net] net: ethtool: Add generic parts of cable test TDR (Petr Oros) [1878147] - [uapi] net: ethtool: Add attributes for cable test TDR data (Petr Oros) [1878147] - [netdrv] net: phy: mscc-miim: read poll when high resolution timers are disabled (Petr Oros) [1878147] - [netdrv] net: phy: mscc-miim: improve waiting logic (Petr Oros) [1878147] - [netdrv] net: phy: mscc-miim: remove redundant timeout check (Petr Oros) [1878147] - [netdrv] net: phy: mscc-miim: use more reasonable delays (Petr Oros) [1878147] - [netdrv] net: mdiobus: add clause 45 mdiobus accessors (Petr Oros) [1878147] - [netdrv] net: phy: at803x: fix PHY ID masks (Petr Oros) [1878147] - [netdrv] net: phy: dp83869: Set opmode from straps (Petr Oros) [1878147] - [netdrv] net: phy: dp83869: Update port-mirroring to read straps (Petr Oros) [1878147] - [netdrv] net: phy: tja11xx: add SQI support (Petr Oros) [1878147] - [netdrv] net: phy: simplify phy_link_change arguments (Petr Oros) [1878147] - [netdrv] net: phy: broadcom: fix checkpatch complains about tabs (Petr Oros) [1878147] - [netdrv] net: phy: broadcom: add support for BCM54811 PHY (Petr Oros) [1878147] - [netdrv] net: phy: tja11xx: execute cable test on link up (Petr Oros) [1878147] - [netdrv] net: phy: mdio-moxart: remove unneeded include (Petr Oros) [1878147] - [netdrv] net: phy: at803x: add cable diagnostics support (Petr Oros) [1878147] - [netdrv] net: phy: bcm54140: add cable diagnostics support (Petr Oros) [1878147] - [netdrv] net: phy: broadcom: add cable test support (Petr Oros) [1878147] - [netdrv] net: phy: broadcom: add bcm_phy_modify_exp() (Petr Oros) [1878147] - [netdrv] net: phy: broadcom: add exp register access methods without buslock (Petr Oros) [1878147] - [netdrv] net: phy: tja11xx: add cable-test support (Petr Oros) [1878147] - [netdrv] net: phy: fix aneg restart in phy_ethtool_set_eee (Petr Oros) [1878147] - [net] net: phy: Send notifier when starting the cable test (Petr Oros) [1878147] - [netdrv] net: phy: Put interface into oper testing during cable test (Petr Oros) [1878147] - [netdrv] net: phy: marvell: Add cable test support (Petr Oros) [1878147] - [include] net: ethtool: Add helpers for reporting test results (Petr Oros) [1878147] - [include] net: ethtool: Add infrastructure for reporting cable test results (Petr Oros) [1878147] - [uapi] net: ethtool: Add attributes for cable test reports (Petr Oros) [1878147] - [net] net: ethtool: netlink: Add support for triggering a cable test (Petr Oros) [1878147] - [netdrv] net: phy: Add support for polling cable test (Petr Oros) [1878147] - [netdrv] net: phy: Add cable test support to state machine (Petr Oros) [1878147] - [net] net: ethtool: self_test: Mark interface in testing operative status (Petr Oros) [1878147] - [net] net: Add testing sysfs attribute (Petr Oros) [1878147] - [net] net: Add IF_OPER_TESTING (Petr Oros) [1878147] - [netdrv] net: phy: fix less than zero comparison with unsigned variable val (Petr Oros) [1878147] - [netdrv] net: phy: Make iproc_mdio_resume static (Petr Oros) [1878147] - [netdrv] net: phy: bcm54140: use phy_package_shared (Petr Oros) [1878147] - [netdrv] net: phy: add concept of shared storage for PHYs (Petr Oros) [1878147] - [netdrv] net: phy: tja11xx: add support for master-slave configuration (Petr Oros) [1878147] - [uapi] ethtool: provide UAPI for PHY master/slave configuration (Petr Oros) [1878147] - [netdrv] dp83640: reverse arguments to list_add_tail (Petr Oros) [1878147] - [documentation] dt-bindings: add Qualcomm IPQ4019 MDIO bindings (Petr Oros) [1878147] - [netdrv] net: phy: mdio: add IPQ4019 MDIO driver (Petr Oros) [1878147] - [netdrv] net: phy: bcm54140: add second PHY ID (Petr Oros) [1878147] - [netdrv] net: phy: bcm54140: apply the workaround on b0 chips (Petr Oros) [1878147] - [netdrv] net: phy: bcm54140: fix phy_id_mask (Petr Oros) [1878147] - [netdrv] net: phy: bcm54140: use genphy_soft_reset() (Petr Oros) [1878147] - [netdrv] net: phy: at803x: add downshift support (Petr Oros) [1878147] - [netdrv] net: phy: DP83TC811: Fix WoL in config init to be disabled (Petr Oros) [1878147] - [netdrv] net: phy: DP83822: Fix WoL in config init to be disabled (Petr Oros) [1878147] - [netdrv] net: phy: bcm54140: Make a bunch of functions static (Petr Oros) [1878147] - [netdrv] net: phy: marvell10g: fix temperature sensor on 2110 (Petr Oros) [1878147] - [gpio] gpiolib: Rename "chip" variables to "gc" in core header file (Petr Oros) [1878147] - [netdrv] net: phy: dp83867: Remove unneeded semicolon (Petr Oros) [1878147] - [netdrv] net: phy: clear phydev->suspended after soft reset (Petr Oros) [1878147] - [netdrv] net: phy: remove genphy_no_soft_reset (Petr Oros) [1878147] - [netdrv] net: phy: make phy_suspend a no-op if PHY is suspended already (Petr Oros) [1878147] - [netdrv] net: phylink, dsa: eliminate phylink_fixed_state_cb() (Petr Oros) [1878147] - [netdrv] net: phy: bcm54140: fix less than zero comparison on an unsigned (Petr Oros) [1878147] - [netdrv] net: phy: bcm84881: clear settings on link down (Petr Oros) [1878147] - [netdrv] net: phy: tja11xx: add delayed registration of TJA1102 PHY1 (Petr Oros) [1878147] - [of] net: mdio: of: export part of of_mdiobus_register_phy() (Petr Oros) [1878147] - [netdrv] net: phy: tja11xx: add initial TJA1102 support (Petr Oros) [1878147] - [documentation] dt-bindings: net: phy: Add support for NXP TJA11xx (Petr Oros) [1878147] - [netdrv] net: phy: Use IS_ERR() to check and simplify code (Petr Oros) [1878147] - [netdrv] net: phy: marvell10g: limit soft reset to 88x3310 (Petr Oros) [1878147] - [netdrv] net: phy: bcm54140: add hwmon support (Petr Oros) [1878147] - [netdrv] net: phy: add Broadcom BCM54140 support (Petr Oros) [1878147] - [netdrv] net: phy: broadcom: add helper to write/read RDB registers (Petr Oros) [1878147] - [netdrv] net: phy: microchip_t1: add lan87xx_phy_init to initialize the lan87xx phy (Petr Oros) [1878147] - [netdrv] net: phy: Propagate error from bus->reset (Petr Oros) [1878147] - [netdrv] net: phy: broadcom: Add support for BCM53125 internal PHYs (Petr Oros) [1878147] - [netdrv] net: phy: mdio-bcm-iproc: Do not show kernel pointer (Petr Oros) [1878147] - [netdrv] net: phy: at803x: add support for AR8032 PHY (Petr Oros) [1878147] - [netdrv] net: marvell10g: soft-reset the PHY when coming out of low power (Petr Oros) [1878147] - [netdrv] net: marvell10g: report firmware version (Petr Oros) [1878147] - [netdrv] net: phy: micrel: use genphy_read_status for KSZ9131 (Petr Oros) [1878147] - [netdrv] net: phy: micrel: kszphy_resume(): add delay after genphy_resume() before accessing PHY registers (Petr Oros) [1878147] - [netdrv] net: phylink: add separate pcs operations structure (Petr Oros) [1878147] - [netdrv] net: phylink: rename 'ops' to 'mac_ops' (Petr Oros) [1878147] - [netdrv] net: phylink: change phylink_mii_c22_pcs_set_advertisement() prototype (Petr Oros) [1878147] - [ptp] ptp: Avoid deadlocks in the programmable pin code (Petr Oros) [1878147] - [netdrv] net: phy: probe PHY drivers synchronously (Petr Oros) [1878147] - [netdrv] net: phy: don't touch suspended flag if there's no suspend/resume callback (Petr Oros) [1878147] - [netdrv] net: phy: micrel.c: add rgmii interface delay possibility to ksz9131 (Petr Oros) [1878147] - [netdrv] net: phy: mdio-mux-bcm-iproc: use readl_poll_timeout() to simplify code (Petr Oros) [1878147] - [netdrv] net: phy: tja11xx: use phy_read_poll_timeout() to simplify the code (Petr Oros) [1878147] - [netdrv] net: phy: smsc: use phy_read_poll_timeout() to simplify the code (Petr Oros) [1878147] - [netdrv] net: phy: use phy_read_poll_timeout() to simplify the code (Petr Oros) [1878147] - [netdrv] net: phy: marvell10g: use phy_read_mmd_poll_timeout() to simplify the code (Petr Oros) [1878147] - [netdrv] net: phy: aquantia: use phy_read_mmd_poll_timeout() to simplify the code (Petr Oros) [1878147] - [netdrv] net: phy: bcm84881: use phy_read_mmd_poll_timeout() to simplify the code (Petr Oros) [1878147] - [netdrv] net: phy: add marvell usb to mdio controller (Petr Oros) [1878147] - [documentation] dt-bindings: net: add marvell usb to mdio bindings (Petr Oros) [1878147] - [netdrv] net: phy: aquantia: remove downshift warning now that phylib takes care (Petr Oros) [1878147] - [netdrv] net: phy: marvell: remove downshift warning now that phylib takes care (Petr Oros) [1878147] - [netdrv] net: phy: add and use phy_check_downshift (Petr Oros) [1878147] - [netdrv] net: phylink: pcs: add 802.3 clause 45 helpers (Petr Oros) [1878147] - [netdrv] net: phylink: pcs: add 802.3 clause 22 helpers (Petr Oros) [1878147] - [netdrv] net: mdiobus: add APIs for modifying a MDIO device register (Petr Oros) [1878147] - [netdrv] net: mdiobus: avoid BUG_ON() in mdiobus accessors (Petr Oros) [1878147] - [netdrv] net: phy: improve phy_driver callback handle_interrupt (Petr Oros) [1878147] - [netdrv] net: phylink: Add XLGMII support (Petr Oros) [1878147] - [include] net: phy: Add XLGMII interface define (Petr Oros) [1878147] - [netdrv] net: phylink: Test if MAC/PCS support Autoneg (Petr Oros) [1878147] - [netdrv] net: phylink: Add missing Backplane speeds (Petr Oros) [1878147] - [netdrv] net: mdio: add ipq8064 mdio driver (Petr Oros) [1878147] - [netdrv] net: phy: marvell10g: place in powersave mode at probe (Petr Oros) [1878147] - [netdrv] net: phy: marvell10g: add energy detect power down tunable (Petr Oros) [1878147] - [netdrv] net: phy: marvell10g: add mdix control (Petr Oros) [1878147] - [netdrv] net: phy: mscc: add constants for used interrupt mask bits (Petr Oros) [1878147] - [netdrv] net: phy: marvell10g: read copper results from CSSR1 (Petr Oros) [1878147] - [netdrv] net: phy: mscc: add missing shift for media operation mode selection (Petr Oros) [1878147] - [netdrv] net: phylink: propagate resolved link config via mac_link_up() (Petr Oros) [1878147] - [netdrv] net: phy: broadcom: Wire suspend/resume for BCM54810 (Petr Oros) [1878147] - [netdrv] net: phy: broadcom: Have bcm54xx_adjust_rxrefclk() check for flags (Petr Oros) [1878147] - [netdrv] net: phy: broadcom: Allow BCM54810 to use bcm54xx_adjust_rxrefclk() (Petr Oros) [1878147] - [netdrv] net: phy: dp83867: Add speed optimization feature (Petr Oros) [1878147] - [netdrv] net: phy: allow bcm84881 to be a module (Petr Oros) [1878147] - [include] net: phylink: clarify flow control settings in documentation (Petr Oros) [1878147] - [netdrv] net: phylink: improve initial mac configuration (Petr Oros) [1878147] - [netdrv] net: phylink: allow ethtool -A to change flow control advertisement (Petr Oros) [1878147] - [netdrv] net: phylink: resolve fixed link flow control (Petr Oros) [1878147] - [netdrv] net: phylink: use phylib resolved flow control modes (Petr Oros) [1878147] - [netdrv] net: phylink: ensure manual flow control is selected appropriately (Petr Oros) [1878147] - [netdrv] net: phylink: remove pause mode ethtool setting for fixed links (Petr Oros) [1878147] - [netdrv] net: add linkmode helper for setting flow control advertisement (Petr Oros) [1878147] - [netdrv] net: add helpers to resolve negotiated flow control (Petr Oros) [1878147] - [include] net: linkmode: make linkmode_test_bit() take const pointer (Petr Oros) [1878147] - [include] net: phylink: further documentation clarifications (Petr Oros) [1878147] - [include] net: phylink: further mac_config documentation improvements (Petr Oros) [1878147] - [netdrv] net: phylink: rename mac_link_state() op to mac_pcs_get_state() (Petr Oros) [1878147] - [md] md/raid5: fix oops during stripe resizing (Nigel Croxon) [1898617] - [md] md/bitmap: fix memory leak of temporary bitmap (Nigel Croxon) [1898617] - [md] md: fix the checking of wrong work queue (Nigel Croxon) [1898617] - [md] md/bitmap: md_bitmap_get_counter returns wrong blocks (Nigel Croxon) [1898617] - [md] md/bitmap: md_bitmap_read_sb uses wrong bitmap blocks (Nigel Croxon) [1898617] - [md] md/raid0: remove unused function is_io_in_chunk_boundary() (Nigel Croxon) [1898617] - [md] md: don't detour through bd_contains for the gendisk (Nigel Croxon) [1898617] - [md] md: compare bd_disk instead of bd_contains (Nigel Croxon) [1898617] - [md] md: Simplify code with existing definition RESYNC_SECTORS in raid10.c (Nigel Croxon) [1898617] - [md] md/raid5: reallocate page array after setting new stripe_size (Nigel Croxon) [1898617] - [md] md/raid5: resize stripe_head when reshape array (Nigel Croxon) [1898617] - [md] md/raid5: let multiple devices of stripe_head share page (Nigel Croxon) [1898617] - [crypto] md/raid6: let async recovery function support different page offset (Nigel Croxon) [1898617] - [crypto] md/raid6: let syndrome computor support different page offset (Nigel Croxon) [1898617] - [md] md/raid5: convert to new xor compution interface (Nigel Croxon) [1898617] - [crypto] md/raid5: add new xor function to support different page offset (Nigel Croxon) [1898617] - [md] md/raid5: make async_copy_data() to support different page offset (Nigel Croxon) [1898617] - [md] md/raid5: add a new member of offset into r5dev (Nigel Croxon) [1898617] - [md] md: only calculate blocksize once and use i_blocksize() (Nigel Croxon) [1898617] - [md] md: update the optimal I/O size on reshape (Nigel Croxon) [1898617] - [md] md/raid5: make sure stripe_size as power of two (Nigel Croxon) [1898617] - [md] md-cluster: Fix potential error pointer dereference in resize_bitmaps() (Nigel Croxon) [1898617] - [md] md: get sysfs entry after redundancy attr group create (Nigel Croxon) [1898617] - [kernel] lockdep: Fix preemption WARN for spurious IRQ-enable (Waiman Long) [1908640] - [powerpc] powerpc/smp: Call rcu_cpu_starting() earlier (Waiman Long) [1908640] - [include] seqlock: Fix multiple kernel-doc warnings (Waiman Long) [1908640] - [kernel] lockdep: Fix usage_traceoverflow (Waiman Long) [1908640] - [kernel] locking/lockdep: Remove more raw_cpu_read() usage (Waiman Long) [1908640] - [include] lockdep: Revert "lockdep: Use raw_cpu_*() for per-cpu variables" (Waiman Long) [1908640] - [kernel] lockdep: Fix lockdep recursion (Waiman Long) [1908640] - [kernel] lockdep,trace: Expose tracepoints (Waiman Long) [1908640] - [x86] locking/lockdep: Fix TRACE_IRQFLAGS vs. NMIs (Waiman Long) [1908640] - [s390] s390: don't trace preemption in percpu macros (Waiman Long) [1908640] - [fs] blkdev: avoid migration stalls for blkdev pages (Chris von Recklinghausen) [1876502] - [netdrv] ionic: account for vlan tag len in rx buffer len (Jonathan Toppins) [1908642] - [netdrv] net/mlx5e: Fix refcount leak on kTLS RX resync (Alaa Hleihel) [1866808] - [netdrv] net/mlx5e: kTLS, Avoid kzalloc(GFP_KERNEL) under spinlock (Alaa Hleihel) [1866808] - [netdrv] net/mlx5e: kTLS, Fix leak on resync error flow (Alaa Hleihel) [1866808] - [netdrv] net/mlx5e: kTLS, Add missing dma_unmap in RX resync (Alaa Hleihel) [1866808] - [netdrv] net/mlx5e: kTLS, Fix napi sync and possible use-after-free (Alaa Hleihel) [1866808] - [netdrv] net/mlx5e: kTLS, Improve rx handler function call (Alaa Hleihel) [1866808] - [netdrv] net/mlx5e: kTLS, Cleanup redundant capability check (Alaa Hleihel) [1866808] - [netdrv] net/mlx5e: Increase Async ICO SQ size (Alaa Hleihel) [1866808] - [netdrv] net/mlx5e: kTLS, Add kTLS RX stats (Alaa Hleihel) [1866808] - [netdrv] net/mlx5e: kTLS, Add kTLS RX resync support (Alaa Hleihel) [1866808] - [infiniband] RDMA/siw: Fix handling of zero-sized Read and Receive Queues (Kamal Heib) [1900985 1875703] - [fs] ext4: fix bogus warning in ext4_update_dx_flag() (Lukas Czerner) [1908714] - [fs] ext4: handle dax mount option collision (Lukas Czerner) [1908714] - [fs] jbd2: fix up sparse warnings in checkpoint code (Lukas Czerner) [1908714] - [fs] ext4: unlock xattr_sem properly in ext4_inline_data_truncate() (Lukas Czerner) [1908714] - [fs] ext4: do not use extent after put_bh (Lukas Czerner) [1908714] - [fs] ext4: fix invalid inode checksum (Lukas Czerner) [1908714] - [fs] ext4: clear buffer verified flag if read meta block from disk (Lukas Czerner) [1908714] - [fs] ext4: treat buffers contining write errors as valid in ext4_sb_bread() (Lukas Czerner) [1908714] - [fs] ext4: treat buffers with write errors as containing valid data (Lukas Czerner) [1908714] - [fs] ext4: limit entries returned when counting fsmap records (Lukas Czerner) [1908714] - [fs] ext4: fix error handling code in add_new_gdb (Lukas Czerner) [1908714] - [fs] ext4: fix leaking sysfs kobject after failed mount (Lukas Czerner) [1908714] - [fs] ext4: fix checking of directory entry validity for inline directories (Lukas Czerner) [1908714] - [fs] ext4: correctly restore system zone info when remount fails (Lukas Czerner) [1908714] - [fs] ext4: handle add_system_zone() failure in ext4_setup_system_zone() (Lukas Czerner) [1908714] - [fs] ext4: fold ext4_data_block_valid_rcu() into the caller (Lukas Czerner) [1908714] - [fs] ext4: check journal inode extents more carefully (Lukas Czerner) [1908714] - [fs] ext4: don't allow overlapping system zones (Lukas Czerner) [1908714] - [fs] ext4: handle error of ext4_setup_system_zone() on remount (Lukas Czerner) [1908714] - [fs] jbd2: add the missing unlock_buffer() in the error path of jbd2_write_superblock() (Lukas Czerner) [1908714] - [fs] ext4: fix mount failure with quota configured as module (Lukas Czerner) [1908714] - [fs] ext4: improve explanation of a mount failure caused by a misconfigured kernel (Lukas Czerner) [1908714] - [include] jbd2: fix kernel-doc notation warning (Lukas Czerner) [1908714] - [base] mm: don't panic when links can't be created in sysfs (Baoquan He) [1890171] - [base] mm: don't rely on system state to detect hot-plug operations (Baoquan He) [1890171] - [mm] mm: replace memmap_context by meminit_context (Baoquan He) [1890171] - [net] Update window_clamp if SOCK_RCVBUF is set (Balazs Nemeth) [1905985] - [cpufreq] cpufreq: acpi-cpufreq: Mark sometimes used ID structs as __maybe_unused (David Arcari) [1857102] - [cpufreq] cpufreq: acpi-cpufreq: Mark 'dummy' variable as __always_unused (David Arcari) [1857102] - [cpufreq] cpufreq: Replace HTTP links with HTTPS ones (David Arcari) [1857102] - [cpufreq] cpufreq: change '.set_boost' to act on one policy (David Arcari) [1857102] - [cpufreq] cpufreq: Fix up cpufreq_boost_set_sw() (David Arcari) [1857102] - [cpufreq] cpufreq: Convert to new X86 CPU match macros (David Arcari) [1857102] - [cpufreq] treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 156 (David Arcari) [1857102]- [platform] platform/x86: ISST: Add new PCI device ids (Prarit Bhargava) [1836722] - [net] net-sysfs: take the rtnl lock when accessing xps_rxqs_map and num_tc (Antoine Tenart) [1912253] - [net] net-sysfs: take the rtnl lock when storing xps_rxqs (Antoine Tenart) [1912253] - [net] net-sysfs: take the rtnl lock when accessing xps_cpus_map and num_tc (Antoine Tenart) [1912253] - [net] net-sysfs: take the rtnl lock when storing xps_cpus (Antoine Tenart) [1912253] - [fs] gfs2: Improve mmap write vs. punch_hole consistency (Andreas Grunbacher) [1872043] - [netdrv] bnx2x: fix spelling mistake "occurd" -> "occurred" (Manish Chopra) [1853224] - [netdrv] bnx2x: Perform Idlechk dump during the debug collection (Manish Chopra) [1853224] - [netdrv] bnx2x: Add support for idlechk tests (Manish Chopra) [1853224] - [netdrv] bnx2x: Add Idlechk related register definitions (Manish Chopra) [1853224] - [netdrv] bnx2x: use generic power management (Manish Chopra) [1853224] - [netdrv] bnx2x: allow bnx2x_bsc_read() to schedule (Manish Chopra) [1853224] - [netdrv] bnx2x: Remove unused inline function bnx2x_vf_vlan_credit (Manish Chopra) [1853224] - [netdrv] bnx2x: Remove Comparison to bool in bnx2x_dcb.c (Manish Chopra) [1853224] - [netdrv] bnx2x: correct a comment mistake in grammar (Manish Chopra) [1853224] - [netdrv] net: bnx2x: reject unsupported coalescing params (Manish Chopra) [1853224] - [net] tls: Implement getsockopt SOL_TLS TLS_RX (Sabrina Dubroca) [1889664] - [net] tls: Protect from calling tls_dev_del for TLS RX twice (Sabrina Dubroca) [1889664] - [net] tls: missing received data after fast remote close (Sabrina Dubroca) [1889664] - [net] tls: Fix wrong record sn in async mode of device resync (Sabrina Dubroca) [1889664] - [net] tls: fix corrupted data in recvmsg (Sabrina Dubroca) [1889664] - [net] tls: sendfile fails with ktls offload (Sabrina Dubroca) [1889664] - [net] tls: race causes kernel panic (Sabrina Dubroca) [1889664] - [net] tls: Fix kmap usage (Sabrina Dubroca) [1889664] - [net] tls: allow MSG_CMSG_COMPAT in sendmsg (Sabrina Dubroca) [1889664] - [net] tls: fix sign extension issue when left shifting u16 value (Sabrina Dubroca) [1889664] - [net] tls: Add asynchronous resync (Sabrina Dubroca) [1889664] - [net] revert "net/tls: Add force_resync for driver resync" (Sabrina Dubroca) [1889664] - [net] net/tls: Add force_resync for driver resync (Sabrina Dubroca) [1889664] - [net] tls: Avoid assigning 'const' pointer to non-const pointer (Sabrina Dubroca) [1889664] - [net] tls: move mark_tech_preview to tls_init (Sabrina Dubroca) [1907477] - [mm] mm/hmm: do not call hmm_vma_walk_hole() while holding a spinlock (Chris von Recklinghausen) [1890943] - [mm] mm: pagewalk: add 'depth' parameter to pte_hole (Chris von Recklinghausen) [1890943] - [mm] mm: pagewalk: don't lock PTEs for walk_page_range_novma() (Chris von Recklinghausen) [1890943] - [mm] mm: pagewalk: allow walking without vma (Chris von Recklinghausen) [1890943] - [mm] mm: pagewalk: add p4d_entry() and pgd_entry() (Chris von Recklinghausen) [1890943] - [x86] x86: mm: add p?d_leaf() definitions (Chris von Recklinghausen) [1890943] - [s390] s390: mm: add p?d_leaf() definitions (Chris von Recklinghausen) [1890943] - [powerpc] powerpc: mm: add p?d_leaf() definitions (Chris von Recklinghausen) [1890943] - [arm64] arm64: mm: add p?d_leaf() definitions (Chris von Recklinghausen) [1890943] - [mm] mm: add generic p?d_leaf() macros (Chris von Recklinghausen) [1890943] - [mm] mm: move_pages: report the number of non-attempted pages (Chris von Recklinghausen) [1890943] - [mm] autonuma: fix watermark checking in migrate_balanced_pgdat() (Chris von Recklinghausen) [1890943] - [mm] mm/migrate.c: handle freed page at the first place (Chris von Recklinghausen) [1890943] - [mm] mm: pagewalk: Take the pagetable lock in walk_pte_range() (Chris von Recklinghausen) [1890943] - [mm] mm: untag user pointers passed to memory syscalls (Chris von Recklinghausen) [1890943] - [mm] mm: page cache: store only head pages in i_pages (Chris von Recklinghausen) [1890943] - [mm] mm: migrate: fix reference check race between __find_get_block() and migration (Chris von Recklinghausen) [1890943] - [fs] mm: migrate: remove unused mode argument (Chris von Recklinghausen) [1890943] - [mm] powerpc/book3s: Use config independent helpers for page table walk (Chris von Recklinghausen) [1890943] - [mm] mm/mmu_notifier: use correct mmu_notifier events for each invalidation (Chris von Recklinghausen) [1890943] - [mm] mm/mmu_notifier: contextual information for event triggering invalidation (Chris von Recklinghausen) [1890943] - [mm] powerpc/mm: move __find_linux_pte() out of hugetlbpage.c (Chris von Recklinghausen) [1890943] - [mm] mm/filemap.c: remove redundant test from find_get_pages_contig (Chris von Recklinghausen) [1890943] - [mm] mm/hugetlb: distinguish between migratability and movability (Chris von Recklinghausen) [1890943] - [mm] numa: change get_mempolicy() to use nr_node_ids instead of MAX_NUMNODES (Chris von Recklinghausen) [1890943] - [mm] mm: migrate: make buffer_migrate_page_norefs() actually succeed (Chris von Recklinghausen) [1890943] - [mm] mm: treewide: remove unused address argument from pte_alloc functions (Chris von Recklinghausen) [1890943] - [fs] mm: migrate: drop unused argument of migrate_page_move_mapping() (Chris von Recklinghausen) [1890943] - [mm] mm: migrate: provide buffer_migrate_page_norefs() (Chris von Recklinghausen) [1890943] - [mm] mm: migrate: move migrate_page_lock_buffers() (Chris von Recklinghausen) [1890943] - [mm] mm: migrate: lock buffers before migrate_page_move_mapping() (Chris von Recklinghausen) [1890943] - [mm] mm: Convert huge_memory to XArray (Chris von Recklinghausen) [1890943] - [mm] mm: Convert page migration to XArray (Chris von Recklinghausen) [1890943] - [mm] powerpc/mm/book3s: Check for pmd_large instead of pmd_trans_huge (Chris von Recklinghausen) [1890943] - [x86] x86/pgtable: Move two more functions from pgtable_64.h to pgtable.h (Chris von Recklinghausen) [1890943] - [x86] x86/pgtable: Move pti_set_user_pgtbl() to pgtable.h (Chris von Recklinghausen) [1890943] - [x86] x86/pgtable: Move pgdp kernel/user conversion functions to pgtable.h (Chris von Recklinghausen) [1890943] - [mm] x86/pgtable: Rename pti_set_user_pgd() to pti_set_user_pgtbl() (Chris von Recklinghausen) [1890943] - [mm] mm: memcg/slab: fix root memcg vmstats (Waiman Long) [1877019] - [mm] mm/slub: let number of online CPUs determine the slub page order (Waiman Long) [1877019] - [mm] mm, debug_pagealloc: don't rely on static keys too early (Waiman Long) [1877019] - [mm] mm: memcg: link page counters to root if use_hierarchy is false (Waiman Long) [1877019] - [mm] mm/memcg: unify swap and memsw page counters (Waiman Long) [1877019] - [mm] mm: memcontrol: correct the NR_ANON_THPS counter of hierarchical memcg (Waiman Long) [1877019] - [mm] mlock: fix unevictable_pgs event counts on THP (Waiman Long) [1877019] - [mm] mm/filemap: fix storing to a THP shadow entry (Waiman Long) [1877019] - [lib] XArray: add xas_split (Waiman Long) [1877019] - [lib] XArray: add xa_get_order (Waiman Long) [1877019] - [lib] XArray: Add private interface for workingset node deletion (Waiman Long) [1877019] - [include] XArray: Fix xas_reload for multi-index entries (Waiman Long) [1877019] - [include] xarray.h: correct return code documentation for xa_store_{bh, irq}() (Waiman Long) [1877019] - [mm] mm: memcg/slab: uncharge during kmem_cache_free_bulk() (Waiman Long) [1877019] - [mm] mm: memcg/slab: fix racy access to page->mem_cgroup in mem_cgroup_from_obj() (Waiman Long) [1877019] - [mm] mm: memcontrol: fix missing suffix of workingset_restore (Waiman Long) [1877019] - [mm] mm: memcontrol: fix warning when allocating the root cgroup (Waiman Long) [1877019] - [mm] mm: replace hpage_nr_pages with thp_nr_pages (Waiman Long) [1877019] - [mm] mm: add thp_size (Waiman Long) [1877019] - [include] mm: add thp_order (Waiman Long) [1877019] - [include] include/linux/huge_mm.h: check PageTail in hpage_nr_pages even when !THP (Waiman Long) [1877019] - [mm] mm/page_vma_mapped.c: explicitly compare pfn for normal, hugetlbfs and THP page (Waiman Long) [1877019] - [mm] mm/vmscan: restore active/inactive ratio for anonymous LRU (Waiman Long) [1877019] - [mm] mm/swap: implement workingset detection for anonymous LRU (Waiman Long) [1877019] - [mm] mm/swapcache: support to handle the shadow entries (Waiman Long) [1877019] - [mm] mm: fix swap cache node allocation mask (Waiman Long) [1877019] - [include] include/linux/swap.h: delete meaningless __add_to_swap_cache() declaration (Waiman Long) [1877019] - [mm] mm/swap_state.c: use the same way to count page in_swap_cache (Waiman Long) [1877019] - [mm] mm: shmem: use proper gfp flags for shmem_writepage() (Waiman Long) [1877019] - [mm] mm/workingset: prepare the workingset detection infrastructure for anon LRU (Waiman Long) [1877019] - [mm] mm/vmscan: protect the workingset on anonymous LRU (Waiman Long) [1877019] - [mm] mm/vmscan: make active/inactive ratio as 1:1 for anon lru (Waiman Long) [1877019] - [tools] kselftests: cgroup: add perpcu memory accounting test (Waiman Long) [1877019] - [mm] mm: memcg: charge memcg percpu memory to the parent cgroup (Waiman Long) [1877019] - [mm] mm: memcg/percpu: per-memcg percpu memory statistics (Waiman Long) [1877019] - [mm] mm: memcg/percpu: account percpu memory to memory cgroups (Waiman Long) [1877019] - [mm] percpu: return number of released bytes from pcpu_free_area() (Waiman Long) [1877019] - [mm] percpu: make pcpu_alloc() aware of current gfp context (Waiman Long) [1877019] - [mm] mm/khugepaged: fix filemap page_to_pgoff(page) != offset (Waiman Long) [1877019] - [mm] mm, slub: restore initial kmem_cache flags (Waiman Long) [1877019] - [include] mm: memcg/slab: fix slab statistics in !SMP configuration (Waiman Long) [1877019] - [mm] mm: slab: fix potential double free in ___cache_free (Waiman Long) [1877019] - [mm] ksm: reinstate memcg charge on copied pages (Waiman Long) [1877019] - [mm] mm: slub: fix conversion of freelist_corrupted() (Waiman Long) [1877019] - [mm] memcg: fix use-after-free in uncharge_batch (Waiman Long) [1877019] - [mm] mm/memory: fix IO cost for anonymous page (Waiman Long) [1877019] - [mm] mm: workingset: age nonresident information alongside anonymous pages (Waiman Long) [1877019] - [mm] slub: cure list_slab_objects() from double fix (Waiman Long) [1877019] - [mm] mm: do_swap_page(): fix up the error code (Waiman Long) [1877019] - [misc] lkdtm/heap: Avoid edge and middle of slabs (Waiman Long) [1877019] - [mm] mm: slub: really fix slab walking for init_on_free (Waiman Long) [1877019] - [mm] mm/slab.c: fix kernel-doc warning for __ksize() (Waiman Long) [1877019] - [mm] mm: memcontrol: restore proper dirty throttling when memory.high changes (Waiman Long) [1877019] - [mm] memcg, oom: check memcg margin for parallel oom (Waiman Long) [1877019] - [mm] mm, memcg: avoid stale protection values when cgroup is above protection (Waiman Long) [1877019] - [mm] mm, memcg: unify reclaim retry limits with page allocator (Waiman Long) [1877019] - [mm] mm, memcg: reclaim more aggressively before high allocator throttling (Waiman Long) [1877019] - [mm] mm: memcontrol: avoid workload stalls when lowering memory.high (Waiman Long) [1877019] - [include] mm: kmem: switch to static_branch_likely() in memcg_kmem_enabled() (Waiman Long) [1877019] - [mm] mm: slab: rename (un)charge_slab_page() to (un)account_slab_page() (Waiman Long) [1877019] - [mm] mm: memcg/slab: remove unused argument by charge_slab_page() (Waiman Long) [1877019] - [tools] tools/cgroup: add memcg_slabinfo.py tool (Waiman Long) [1877019] - [tools] kselftests: cgroup: add kernel memory accounting tests (Waiman Long) [1877019] - [mm] mm: memcg/slab: use a single set of kmem_caches for all allocations (Waiman Long) [1877019] - [mm] mm: memcg/slab: remove redundant check in memcg_accumulate_slabinfo() (Waiman Long) [1877019] - [mm] mm: memcg/slab: deprecate slab_root_caches (Waiman Long) [1877019] - [mm] mm: memcg/slab: remove memcg_kmem_get_cache() (Waiman Long) [1877019] - [mm] mm: memcg/slab: simplify memcg cache creation (Waiman Long) [1877019] - [mm] mm: memcg/slab: use a single set of kmem_caches for all accounted allocations (Waiman Long) [1877019] - [mm] mm, slab_common: fix a typo in comment "eariler"->"earlier" (Waiman Long) [1877019] - [mm] mm: memcg/slab: fix memory leak at non-root kmem_cache destroy (Waiman Long) [1877019] - [mm] mm: memcg/slab: fix panic in __free_slab() caused by premature memcg pointer release (Waiman Long) [1877019] - [mm] mm: memcg/slab: move memcg_kmem_bypass() to memcontrol.h (Waiman Long) [1877019] - [mm] mm: memcg/slab: deprecate memory.kmem.slabinfo (Waiman Long) [1877019] - [mm] mm, memcg: fix build error around the usage of kmem_caches (Waiman Long) [1877019] - [mm] mm: memcg/slab: charge individual slab objects instead of pages (Waiman Long) [1877019] - [mm] mm: memcg/slab: save obj_cgroup for non-root slab objects (Waiman Long) [1877019] - [mm] mm: memcg/slab: allocate obj_cgroups for non-root slab pages (Waiman Long) [1877019] - [mm] mm: memcg/slab: obj_cgroup API (Waiman Long) [1877019] - [mm] mm: memcontrol: decouple reference counting from page accounting (Waiman Long) [1877019] - [mm] mm: slub: implement SLUB version of obj_to_index() (Waiman Long) [1877019] - [mm] mm: memcg: convert vmstat slab counters to bytes (Waiman Long) [1877019] - [mm] mm: memcg: prepare for byte-sized vmstat items (Waiman Long) [1877019] - [mm] mm: memcg: factor out memcg- and lruvec-level changes out of __mod_lruvec_state() (Waiman Long) [1877019] - [mm] mm: kmem: make memcg_kmem_enabled() irreversible (Waiman Long) [1877019] - [mm] mm, slab/slub: improve error reporting and overhead of cache_from_obj() (Waiman Long) [1877019] - [mm] mm, slab/slub: move and improve cache_from_obj() (Waiman Long) [1877019] - [mm] mm, slub: extend checks guarded by slub_debug static key (Waiman Long) [1877019] - [mm] mm, slub: introduce kmem_cache_debug_flags() (Waiman Long) [1877019] - [mm] mm, slub: introduce static key for slub_debug() (Waiman Long) [1877019] - [mm] mm, slub: make reclaim_account attribute read-only (Waiman Long) [1877019] - [mm] mm, slub: make remaining slub_debug related attributes read-only (Waiman Long) [1877019] - [mm] mm, slub: remove runtime allocation order changes (Waiman Long) [1877019] - [mm] mm, slub: make some slub_debug related attributes read-only (Waiman Long) [1877019] - [documentation] mm, slub: extend slub_debug syntax for multiple blocks (Waiman Long) [1877019] - [mm] mm/slab.c: update outdated kmem_list3 in a comment (Waiman Long) [1877019] - [mm] mm, slab: check GFP_SLAB_BUG_MASK before alloc_pages in kmalloc_order (Waiman Long) [1877019] - [mm] mm/slab: add naive detection of double free (Waiman Long) [1877019] - [init] mm/slab: expand CONFIG_SLAB_FREELIST_HARDENED to include SLAB (Waiman Long) [1877019] - [mm] mm: ksize() should silently accept a NULL pointer (Waiman Long) [1877019] - [include] include/linux/vmstat.h: remove unused page state adjustment macro (Waiman Long) [1877019] - [include] mm, memcg: fix inconsistent oom event behavior (Waiman Long) [1877019] - [mm] mm/memcg: fix refcount error while moving and swapping (Waiman Long) [1877019] - [mm] mm/memcontrol: fix OOPS inside mem_cgroup_get_nr_swap_pages() (Waiman Long) [1877019] - [mm] mm/memcontrol.c: add missed css_put() (Waiman Long) [1877019] - [mm] mm: memcontrol: handle div0 crash race condition in memory.low (Waiman Long) [1877019] - [kernel] mm: memcontrol: recursive memory.low protection (Waiman Long) [1877019] - [include] mm, memcg: consider subtrees in memory.events (Waiman Long) [1877019] - [net] mm, treewide: rename kzfree() to kfree_sensitive() (Waiman Long) [1877019] - [mm] mm/slab: use memzero_explicit() in kzfree() (Waiman Long) [1877019] - [mm] mm: swap: memcg: fix memcg stats for huge pages (Waiman Long) [1877019] - [mm] mm: swap: fix vmstats for huge pages (Waiman Long) [1877019] - [mm] mm: vmscan: limit the range of LRU type balancing (Waiman Long) [1877019] - [mm] mm: vmscan: reclaim writepage is IO cost (Waiman Long) [1877019] - [mm] mm: vmscan: determine anon/file pressure balance at the reclaim root (Waiman Long) [1877019] - [mm] mm: balance LRU lists based on relative thrashing (Waiman Long) [1877019] - [mm] mm: only count actual rotations as LRU reclaim cost (Waiman Long) [1877019] - [mm] mm: deactivations shouldn't bias the LRU balance (Waiman Long) [1877019] - [mm] mm: base LRU balancing on an explicit cost model (Waiman Long) [1877019] - [mm] mm: vmscan: drop unnecessary div0 avoidance rounding in get_scan_count() (Waiman Long) [1877019] - [mm] mm: remove use-once cache bias from LRU balancing (Waiman Long) [1877019] - [mm] mm: workingset: let cache workingset challenge anon (Waiman Long) [1877019] - [mm] mm: fold and remove lru_cache_add_anon() and lru_cache_add_file() (Waiman Long) [1877019] - [kernel] mm: allow swappiness that prefers reclaiming anon over the file workingset (Waiman Long) [1877019] - [mm] mm: keep separate anon and file statistics on page reclaim activity (Waiman Long) [1877019] - [mm] mm: fix LRU balancing effect of new transparent huge pages (Waiman Long) [1877019] - [mm] mm: replace list_move_tail() with add_page_to_lru_list_tail() (Waiman Long) [1877019] - [mm] mm: memcontrol: update page->mem_cgroup stability rules (Waiman Long) [1877019] - [mm] mm: memcontrol: delete unused lrucare handling (Waiman Long) [1877019] - [documentation] mm: memcontrol: document the new swap control behavior (Waiman Long) [1877019] - [mm] mm: memcontrol: charge swapin pages on instantiation (Waiman Long) [1877019] - [mm] mm: memcontrol: make swap tracking an integral part of memory control (Waiman Long) [1877019] - [mm] mm: memcontrol: prepare swap controller setup for integration (Waiman Long) [1877019] - [mm] mm: memcontrol: drop unused try/commit/cancel charge API (Waiman Long) [1877019] - [mm] mm: memcontrol: convert anon and file-thp to new mem_cgroup_charge() API (Waiman Long) [1877019] - [mm] mm: memcontrol: switch to native NR_ANON_THPS counter (Waiman Long) [1877019] - [mm] mm: memcontrol: switch to native NR_ANON_MAPPED counter (Waiman Long) [1877019] - [mm] mm: memcontrol: switch to native NR_FILE_PAGES and NR_SHMEM counters (Waiman Long) [1877019] - [mm] mm: memcontrol: prepare cgroup vmstat infrastructure for native anon counters (Waiman Long) [1877019] - [mm] mm: memcontrol: prepare move_account for removal of private page type counters (Waiman Long) [1877019] - [mm] mm: memcontrol: prepare uncharging for removal of private page type counters (Waiman Long) [1877019] - [mm] mm: memcontrol: convert page cache to a new mem_cgroup_charge() API (Waiman Long) [1877019] - [mm] mm: memcontrol: move out cgroup swaprate throttling (Waiman Long) [1877019] - [mm] mm: shmem: remove rare optimization when swapin races with hole punching (Waiman Long) [1877019] - [mm] mm: memcontrol: drop @compound parameter from memcg charging API (Waiman Long) [1877019] - [mm] mm: memcontrol: fix stat-corrupting race in charge moving (Waiman Long) [1877019] - [mm] mm: fix NUMA node file count error in replace_page_cache() (Waiman Long) [1877019] - [mm] mm/slub: fix stack overruns with SLUB_STATS (Waiman Long) [1877019] - [mm] slub: remove kmalloc under list_lock from list_slab_objects() V2 (Waiman Long) [1877019] - [mm] slub: Remove userspace notifier for cache add/remove (Waiman Long) [1877019] - [mm] mm/slub.c: fix corrupted freechain in deactivate_slab() (Waiman Long) [1877019] - [mm] mm/slub: fix incorrect interpretation of s->offset (Waiman Long) [1877019] - [mm] slub: avoid redzone when choosing freepointer location (Waiman Long) [1877019] - [mm] slub: relocate freelist pointer to middle of object (Waiman Long) [1877019] - [mm] slub: improve bit diffusion for freelist ptr obfuscation (Waiman Long) [1877019] - [mm] mm, slb: improve memory accounting (Waiman Long) [1877019] - [mm] thp: change CoW semantics for anon-THP (Waiman Long) [1877019] - [mm] khugepaged: allow to collapse PTE-mapped compound pages (Waiman Long) [1877019] - [mm] khugepaged: allow to collapse a page shared across fork (Waiman Long) [1877019] - [mm] khugepaged: drain LRU add pagevec after swapin (Waiman Long) [1877019] - [mm] khugepaged: drain all LRU caches before scanning pages (Waiman Long) [1877019] - [mm] khugepaged: do not stop collapse if less than half PTEs are referenced (Waiman Long) [1877019] - [tools] khugepaged: add self test (Waiman Long) [1877019] - [mm] mm: code cleanup for MADV_FREE (Waiman Long) [1877019] - [mm] mm, thp: track fallbacks due to failed memcg charges separately (Waiman Long) [1877019] - [mm] mm, shmem: add vmstat for hugepage fallback (Waiman Long) [1877019] - [mm] autonuma: reduce cache footprint when scanning page tables (Waiman Long) [1877019] - [trace] mm/vmscan: simplify trace_reclaim_flags and trace_shrink_flags (Waiman Long) [1877019] - [mm] mm/memcg: optimize memory.numa_stat like memory.stat (Waiman Long) [1877019] - [mm] memcg: fix memcg_kmem_bypass() for remote memcg charging (Waiman Long) [1877019] - [mm] mm/memcg: automatically penalize tasks with high swap use (Waiman Long) [1877019] - [include] mm/memcg: move cgroup high memory limit setting into struct page_counter (Waiman Long) [1877019] - [mm] mm/memcg: move penalty delay clamping out of calculate_high_delay() (Waiman Long) [1877019] - [mm] mm/memcg: prepare for swap over-high accounting and penalty calculation (Waiman Long) [1877019] - [mm] memcg: expose root cgroup's memory.stat (Waiman Long) [1877019] - [mm] mm, memcg: add workingset_restore in memory.stat (Waiman Long) [1877019] - [documentation] doc: cgroup: improve formatting of mem stats (Waiman Long) [1877019] - [documentation] docs: cgroup: mm: Fix spelling of "list" (Waiman Long) [1877019] - [mm] mm, memcg: fix error return value of mem_cgroup_css_alloc() (Waiman Long) [1877019] - [include] memcontrol.h: Replace zero-length array with flexible-array member (Waiman Long) [1877019] - [mm] mm, memcg: bypass high reclaim iteration for cgroup hierarchy root (Waiman Long) [1877019] - [mm] mm: memcg: make memory.oom.group tolerable to task migration (Waiman Long) [1877019] - [mm] mm, memcg: prevent memory.swap.max load tearing (Waiman Long) [1877019] - [mm] mm, memcg: prevent memory.low load/store tearing (Waiman Long) [1877019] - [mm] mm, memcg: prevent memory.max load tearing (Waiman Long) [1877019] - [mm] mm, memcg: prevent memory.high load/store tearing (Waiman Long) [1877019] - [mm] mm/memcontrol.c: make mem_cgroup_id_get_many() __maybe_unused (Waiman Long) [1877019] - [mm] memcg: css_tryget_online cleanups (Waiman Long) [1877019] - [mm] mm/memcontrol.c: cleanup some useless code (Waiman Long) [1877019] - [mm] mm/memcontrol.c: fix a -Wunused-function warning (Waiman Long) [1877019] - [mm] mm: memcontrol: switch to rcu protection in drain_all_stock() (Waiman Long) [1877019] - [mm] mm/khugepaged.c: fix khugepaged's request size in collapse_file (Waiman Long) [1877019] - [mm] khugepaged: fix null-pointer dereference due to race (Waiman Long) [1877019] - [mm] mm, thp: stop leaking unreleased file pages (Waiman Long) [1877019] - [trace] mm: khugepaged: add trace status description for SCAN_PAGE_HAS_PRIVATE (Waiman Long) [1877019] - [mm] mm, thp: recheck each page before collapsing file THP (Waiman Long) [1877019] - [mm] mm/thp: allow dropping THP from page cache (Waiman Long) [1877019] - [mm] mm/vmscan.c: support removing arbitrary sized pages from mapping (Waiman Long) [1877019] - [mm] mm/thp: fix node page state in split_huge_page_to_list() (Waiman Long) [1877019] - [fs] proc/meminfo: fix output alignment (Waiman Long) [1877019] - [mm] mm: shmem: disable interrupt when acquiring info->lock in userfaultfd_copy path (Waiman Long) [1877019] - [fs] mm, thp: avoid writes to file with THP in pagecache (Waiman Long) [1877019] - [mm] mm, thp: add read-only THP support for (non-shmem) FS (Waiman Long) [1877019] - [mm] khugepaged: rename collapse_shmem() and khugepaged_scan_shmem() (Waiman Long) [1877019] - [fs] mm,thp: stats for file backed THP (Waiman Long) [1877019] - [mm] filemap: update offset check in filemap_fault() (Waiman Long) [1877019] - [mm] filemap: check compound_head(page)->mapping in pagecache_get_page() (Waiman Long) [1877019] - [mm] filemap: check compound_head(page)->mapping in filemap_fault() (Waiman Long) [1877019] - [mm] mm: mempolicy: fix the wrong return value and potential pages leak of mbind (Waiman Long) [1877019] - [mm] mm: thp: fix false negative of shmem vma's THP eligibility (Waiman Long) [1877019] - [mm] mm: thp: make transhuge_vma_suitable available for anonymous THP (Waiman Long) [1877019] - [mm] mm, thp, proc: report THP eligibility for each vma (Waiman Long) [1877019] - [documentation] mm, proc: be more verbose about unstable VMA flags in /proc//smaps (Waiman Long) [1877019] - [mm] mm: thp: pass correct vm_flags to hugepage_vma_check() (Waiman Long) [1877019] - [fs] mm: /proc/pid/smaps_rollup: convert to single value seq_file (Waiman Long) [1877019] - [fs] mm: /proc/pid/smaps: factor out common stats printing (Waiman Long) [1877019] - [fs] mm: /proc/pid/smaps: factor out mem stats gathering (Waiman Long) [1877019] - [fs] mm: /proc/pid/*maps remove is_pid and related wrappers (Waiman Long) [1877019] - [mm] mm: workingset: fix vmstat counters for shadow nodes (Waiman Long) [1877019] - [mm] mm: workingset: add vmstat counter for shadow nodes (Waiman Long) [1877019] - [include] mm/memcg: Document access rule regarding mem_cgroup structure (Waiman Long) [1877019] - [mm] mm/page_alloc: silence a KASAN false positive (Waiman Long) [1877019] - [s390] s390/setup: init jump labels before command line parsing (Waiman Long) [1877019] - [mm] s390/maccess: add no DAT mode to kernel_write (Waiman Long) [1877019] - [mm] s390: Change s390_kernel_write() return type to match memcpy() (Waiman Long) [1877019] - [kernel] PM: hibernate: fix crashes with init_on_free=1 (Waiman Long) [1877019] - [mm] mm/slub.c: init_on_free=1 should wipe freelist ptr for bulk allocations (Waiman Long) [1877019] - [mm] mm/page_alloc.c: fix a crash in free_pages_prepare() (Waiman Long) [1877019] - [mm] mm: slub: Fix slab walking for init_on_free (Waiman Long) [1877019] - [mm] mm, slab: move memcg_cache_params structure to mm/slab.h (Waiman Long) [1877019] - [mm] mm, slab: extend slab/shrink to shrink all memcg caches (Waiman Long) [1877019] - [mm] mm: mempolicy: handle vma with unmovable pages mapped correctly in mbind (Waiman Long) [1877019] - [mm] mm: mempolicy: make the behavior consistent when MPOL_MF_MOVE* and MPOL_MF_STRICT were specified (Waiman Long) [1877019] - [init] init/Kconfig: fix neighboring typos (Waiman Long) [1877019] - [mm] mm: security: introduce init_on_alloc=1 and init_on_free=1 boot options (Waiman Long) [1877019] - [mm] memcg, oom: no oom-kill for __GFP_RETRY_MAYFAIL (Waiman Long) [1877019] - [mm] mm/kasan: add object validation in ksize() (Waiman Long) [1877019] - [mm] mm/slab: refactor common ksize KASAN logic into slab_common.c (Waiman Long) [1877019] - [mm] mm/slub.c: avoid double string traverse in kmem_cache_flags() (Waiman Long) [1877019] - [mm] mm/slab: sanity-check page type when looking up cache (Waiman Long) [1877019] - [mm] mm/slab: validate cache membership under freelist hardening (Waiman Long) [1877019] - [mm] mm/migrate: add stable check in migrate_vma_insert_page() (Waiman Long) [1877019] - [mm] mm/migrate: clean up some minor coding style (Waiman Long) [1877019] - [mm] mm/migrate: remove useless mask of start address (Waiman Long) [1877019] - [kernel] uprobe: use original page when all uprobes are removed (Waiman Long) [1877019] - [mm] mm: move memcmp_pages() and pages_identical() (Waiman Long) [1877019] - [mm] mm, thp: do not queue fully unmapped pages for deferred split (Waiman Long) [1877019] - [mm] mm/khugepaged: fix the xas_create_range() error path (Waiman Long) [1877019] - [mm] mm/khugepaged: collapse_shmem() do not crash on Compound (Waiman Long) [1877019] - [mm] mm/khugepaged: collapse_shmem() without freezing new_page (Waiman Long) [1877019] - [mm] mm/khugepaged: minor reorderings in collapse_shmem() (Waiman Long) [1877019] - [mm] mm/khugepaged: collapse_shmem() remember to clear holes (Waiman Long) [1877019] - [mm] mm/khugepaged: collapse_shmem() stop if punched or truncated (Waiman Long) [1877019] - [mm] mm: Convert khugepaged_scan_shmem to XArray (Waiman Long) [1877019] - [mm] mm: Convert collapse_shmem to XArray (Waiman Long) [1877019] - [mm] mm: thp: inc counter for collapsed shmem THP (Waiman Long) [1877019] - [mm] mm: thp: register mm for khugepaged when merging vma for shmem (Waiman Long) [1877019] - [mm] mm: swapoff: shmem_unuse() stop eviction without igrab() (Waiman Long) [1877019] - [mm] mm: swapoff: take notice of completion sooner (Waiman Long) [1877019] - [mm] mm: swapoff: remove too limiting SWAP_UNUSE_MAX_TRIES (Waiman Long) [1877019] - [mm] mm: swapoff: shmem_find_swap_entries() filter out other types (Waiman Long) [1877019] - [mm] mm: rid swapoff of quadratic complexity (Waiman Long) [1877019] - [mm] shmem: Comment fixups (Waiman Long) [1877019] - [mm] memfd: Convert memfd_tag_pins to XArray (Waiman Long) [1877019] - [mm] memfd: Convert memfd_wait_for_pins to XArray (Waiman Long) [1877019] - [mm] shmem: Convert shmem_partial_swap_usage to XArray (Waiman Long) [1877019] - [mm] shmem: Convert shmem_free_swap to XArray (Waiman Long) [1877019] - [lib] shmem: Convert shmem_alloc_hugepage to XArray (Waiman Long) [1877019] - [tools] shmem: Convert find_swap_entry to XArray (Waiman Long) [1877019] - [mm] shmem: Convert shmem_confirm_swap to XArray (Waiman Long) [1877019]- [infiniband] RDMA/core: Do not indicate device ready when device enablement fails (Kamal Heib) [1902144] - [infiniband] RDMA/core: Clean up cq pool mechanism (Kamal Heib) [1902144] - [pci] PCI/ASPM: Disable ASPM on ASMedia ASM1083/1085 PCIe-to-PCI bridge (Myron Stowe) [1897927] - [pci] PCI: Make pcie_find_root_port() work for Root Ports (Myron Stowe) [1897927] - [pci] PCI: Add ACS quirk for Intel Root Complex Integrated Endpoints (Myron Stowe) [1897927] - [pci] PCI: Avoid FLR for AMD Starship USB 3.0 (Myron Stowe) [1897927] - [pci] PCI: Avoid FLR for AMD Matisse HD Audio & USB 3.0 (Myron Stowe) [1897927] - [pci] PCI/switchtec: Correct bool variable type assignment (Myron Stowe) [1897927] - [pci] PCI: Allow pci_resize_resource() for devices on root bus (Myron Stowe) [1897927] - [pci] PCI/PM: Adjust pcie_wait_for_link_delay() for caller delay (Myron Stowe) [1897927] - [pci] PCI: Avoid Pericom USB controller OHCI/EHCI PME# defect (Myron Stowe) [1897927] - [tty] serial: 8250_pci: Move Pericom IDs to pci_ids.h (Myron Stowe) [1897927] - [pci] PCI/PM: Call .bridge_d3() hook only if non-NULL (Myron Stowe) [1897927] - [pci] PCI: Rename _DSM constants to align with spec (Myron Stowe) [1897927] - [pci] PCI/PME: Fix kernel-doc of pcie_pme_resume() and pcie_pme_remove() (Myron Stowe) [1897927] - [pci] PCI: Unify pcie_find_root_port() and pci_find_pcie_root_port() (Myron Stowe) [1897927] - [pci] PCI: Replace zero-length array with flexible-array (Myron Stowe) [1897927] - [pci] PCI: shpchp: Make shpchp_unconfigure_device() void (Myron Stowe) [1897927] - [pci] PCI: Use of_node_name_eq() for node name comparisons (Myron Stowe) [1897927] - [pci] PCI: pciehp: Remove unused EMI() and HP_SUPR_RM() macros (Myron Stowe) [1897927] - [pcmcia] pcmcia: Use CardBus window names (PCI_CB_BRIDGE_IO_0_WINDOW etc) when freeing (Myron Stowe) [1897927] - [pci] PCI: Use bridge window names (PCI_BRIDGE_IO_WINDOW etc) (Myron Stowe) [1897927] - [pci] PCI/PTM: Inherit Switch Downstream Port PTM settings from Upstream Port (Myron Stowe) [1897927] - [pci] PCI: Program MPS for RCiEP devices (Myron Stowe) [1897927] - [pci] PCI: Fix pci_host_bridge struct device release/free handling (Myron Stowe) [1897927] - [pci] PCI: Fix pci_register_host_bridge() device_register() error handling (Myron Stowe) [1897927] - [pci] PCI/ASPM: Allow ASPM on links to PCIe-to-PCI/PCI-X Bridges (Myron Stowe) [1897927] - [x86] x86/tboot: Don't disable swiotlb when iommu is forced on (Tony Camuso) [1883395] - [iommu] iommu/vt-d: Avoid panic if iommu init fails in tboot system (Tony Camuso) [1883395] - [pci] PCI/ERR: Clear PCIe Device Status errors only if OS owns AER (Myron Stowe) [1838358] - [pci] PCI/ERR: Rename pci_aer_clear_device_status() to pcie_clear_device_status() (Myron Stowe) [1838358] - [pci] PCI/AER: Log correctable errors as warning, not error (Myron Stowe) [1838358] - [pci] PCI/AER: Simplify __aer_print_error() (Myron Stowe) [1838358] - [misc] mei: hdcp: fix mei_hdcp_verify_mprime() input parameter (Tony Camuso) [1874577] - [misc] mei: add device kind to sysfs (Tony Camuso) [1874577] - [misc] mei: hw: don't use one element arrays (Tony Camuso) [1874577] - [misc] mei: hw: use sizeof of variable instead of struct type (Tony Camuso) [1874577] - [misc] mei: client: use sizeof of variable instead of struct type (Tony Camuso) [1874577] - [misc] mei: bus: use sizeof of variable instead of struct type (Tony Camuso) [1874577] - [misc] mei: ioctl: use sizeof of variable instead of struct type (Tony Camuso) [1874577] - [misc] mei: hbm: use sizeof of variable instead of struct type (Tony Camuso) [1874577] - [misc] Revert "mei: Avoid the use of one-element arrays" (Tony Camuso) [1874577] - [misc] mei: Avoid the use of one-element arrays (Tony Camuso) [1874577] - [misc] mei: Replace HTTP links with HTTPS ones (Tony Camuso) [1874577] - [misc] mei: hdcp: Replace one-element array with flexible-array member (Tony Camuso) [1874577] - [misc] mei: bus: don't clean driver pointer (Tony Camuso) [1874577] - [misc] mei: me: add MEI device for KBP with ITPS capability (Tony Camuso) [1874577] - [misc] mei: me: add MEI device for SPT with ITPS capability (Tony Camuso) [1874577] - [misc] mei: me: add kdoc for mei_me_fw_type_nm() (Tony Camuso) [1874577] - [misc] mei: me: make mei_me_fw_sku_sps_4() less cryptic (Tony Camuso) [1874577] - [misc] mei: me: constify the device parameter to the probe quirk (Tony Camuso) [1874577] - [misc] mei: hdcp: Constify struct mei_cl_device_id (Tony Camuso) [1874577] - [misc] mei: me: add tiger lake point device ids for H platforms (Tony Camuso) [1874577] - [misc] mei: me: disable mei interface on Mehlow server platforms (Tony Camuso) [1874577] - [misc] mei: release me_cl object reference (Tony Camuso) [1874577] - [misc] mei: me: disable mei interface on LBG servers (Tony Camuso) [1874577] - [fs] NFS4: Fix use-after-free in trace_event_raw_event_nfs4_set_lock (Dave Wysochanski) [1906306] - [fs] NFS: Adjust fs_context error logging (Scott Mayhew) [1907711] - [mm] powerpc/book3s64/pkeys: Fix pkey_access_permitted() for execute disable pkey (Steve Best) [1912294] - [infiniband] IB/isert: add module param to set sg_tablesize for IO cmd (Kamal Heib) [1887359] - [infiniband] IB/isert: allocate RW ctxs according to max IO size (Kamal Heib) [1887359] - [net] sched: flower: Mark MPLS multilabel match as Tech Preview (Guillaume Nault) [1814836] - [net] sched: Fix dump of MPLS_OPT_LSE_LABEL attribute in cls_flower (Guillaume Nault) [1814836] - [net] cls_flower: remove mpls_opts_policy (Guillaume Nault) [1814836] - [net] flow_dissector: work around stack frame size warning (Guillaume Nault) [1814836] - [net] cls_flower: Support filtering on multiple MPLS Label Stack Entries (Guillaume Nault) [1814836] - [net] flow_dissector: Parse multiple MPLS Label Stack Entries (Guillaume Nault) [1814836] - [netdrv] net/mlx5e: Use generic API to build MPLS label (Alaa Hleihel) [1790220] - [netdrv] net/mlx5e: Support pedit on mpls over UDP decap (Alaa Hleihel) [1790220] - [netdrv] net/mlx5e: Add support for hw decapsulation of MPLS over UDP (Alaa Hleihel) [1790220] - [netdrv] net/mlx5e: Allow to match on mpls parameters (Alaa Hleihel) [1790220] - [netdrv] net/mlx5e: Add support for hw encapsulation of MPLS over UDP (Alaa Hleihel) [1790220]- [netdrv] net: intel: Remove in_interrupt() warnings (Ken Cox) [1838731] - [netdrv] intel-ethernet: clean up W=1 warnings in kdoc (Ken Cox) [1838731] - [netdrv] ixgbe: use eth_zero_addr() to clear mac address (Ken Cox) [1838731] - [netdrv] ixgbe: Remove unnecessary usages of memset (Ken Cox) [1838731] - [netdrv] ixgbe: use generic power management (Ken Cox) [1838731] - [netdrv] ixgbe: convert to new udp_tunnel_nic infra (Ken Cox) [1838731] - [netdrv] ixgbe: don't clear UDP tunnel ports when RXCSUM is disabled (Ken Cox) [1838731] - [netdrv] ixgbe: Cleanup unneeded delay in ethtool test (Ken Cox) [1838731] - [netdrv] ethernet/intel: Convert fallthrough code comments (Ken Cox) [1838731] - [netdrv] net: ethernet: ixgbe: don't call devm_mdiobus_free() (Ken Cox) [1838731] - [netdrv] net: ethernet: ixgbe: check the return value of ixgbe_mii_bus_init() (Ken Cox) [1838731] - [netdrv] net/intel: remove driver versions from Intel drivers (Ken Cox) [1838731] - [netdrv] ixgbe: protect ring accesses with READ- and WRITE_ONCE (Ken Cox) [1838731] - [netdrv] ixgbe: Remove unused inline function ixgbe_irq_disable_queues (Ken Cox) [1838731] - [netdrv] ixgbe: Use true, false for bool variable in __ixgbe_enable_sriov() (Ken Cox) [1838731] - [netdrv] ixgbe: Remove conversion to bool in ixgbe_device_supports_autoneg_fc() (Ken Cox) [1838731] - [netdrv] ixgbe: fix signed-integer-overflow warning (Ken Cox) [1838731] - [netdrv] ixgbe: Fix XDP redirect on archs with PAGE_SIZE above 4K (Ken Cox) [1838731] - [netdrv] ionic: use mc sync for multicast filters (Jonathan Toppins) [1909329] - [fs] xfs: always return -ENOSPC on project quota reservation failure (Carlos Maiolino) [1908612] - [fs] xfs: group quota should return EDQUOT when prj quota enabled (Carlos Maiolino) [1908612] - [pwm] pwm: Add DesignWare PWM Controller Driver (Steve Best) [1783562] - [pwm] pwm: Ensure pwm_apply_state() doesn't modify the state argument (Steve Best) [1783562] - [net] sched: Mark VLAN_ACT_{POP,PUSH}_ETH as Tech Preview (Guillaume Nault) [1909345] - [vfio] vfio/pci: Decouple PCI_COMMAND_MEMORY bit checks from is_virtfn (Claudio Imbrenda) [1903972] - [s390] s390/pci: Mark all VFs as not implementing PCI_COMMAND_MEMORY (Claudio Imbrenda) [1903972] - [pci] PCI/IOV: Mark VFs as not implementing PCI_COMMAND_MEMORY (Claudio Imbrenda) [1903972] - [iommu] s390/pci: adaptation of iommu to multifunction (Claudio Imbrenda) [1903972] - [s390] s390/pci: fix leak of DMA tables on hard unplug (Claudio Imbrenda) [1853312] - [s390] s390/pci: fix PF/VF linking on hot plug (Claudio Imbrenda) [1853312] - [s390] s390/pci: re-introduce zpci_remove_device() (Claudio Imbrenda) [1853312] - [s390] s390/pci: fix zpci_bus_link_virtfn() (Claudio Imbrenda) [1853312] - [s390] s390/pci: ignore stale configuration request event (Claudio Imbrenda) [1853312] - [s390] s390/pci: fix enabling a reserved PCI function (Claudio Imbrenda) [1853312] - [s390] s390/pci: create links between PFs and VFs (Claudio Imbrenda) [1853312] - [pci] PCI/IOV: Introduce pci_iov_sysfs_link() function (Claudio Imbrenda) [1853312] - [s390] s390/pci: removes wrong PCI multifunction assignment (Claudio Imbrenda) [1853312] - [s390] s390/pci: Handling multifunctions (Claudio Imbrenda) [1853312] - [s390] s390/pci: Adding bus resource (Claudio Imbrenda) [1853312] - [s390] s390/pci: adapt events for zbus (Claudio Imbrenda) [1853312] - [s390] s390/pci: create zPCI bus (Claudio Imbrenda) [1853312] - [s390] s390/pci: define RID and RID available (Claudio Imbrenda) [1853312] - [s390] s390/pci: define kernel parameters for PCI multifunction (Claudio Imbrenda) [1853312] - [pci] s390/pci: embedding hotplug_slot in zdev (Claudio Imbrenda) [1853312] - [s390] s390/pci: Expose new port attribute for PCIe functions (Claudio Imbrenda) [1853312] - [s390] s390/pci: Improve handling of unset UID (Claudio Imbrenda) [1853312] - [s390] s390/pci: Fix zpci_alloc_domain() over allocation (Claudio Imbrenda) [1853312] - [arm64] arm64: insn: Fix two bugs in encoding 32-bit logical immediates (Yauheni Kaliuta) [1900977] - [iommu] iommu/amd: Set DTEto represent 512 IRTEs (Jerry Snitselaar) [1897492 1894769] - [iommu] iommu/amd: Increase interrupt remapping table limit to 512 entries (Jerry Snitselaar) [1897492 1894769] - [tools] selftests: forwarding: Add MPLS L2VPN test (Guillaume Nault) [1861261] - [net] sched: act_mpls: Add action to push MPLS LSE before Ethernet header (Guillaume Nault) [1861261] - [net] sched: act_vlan: Add {POP,PUSH}_ETH actions (Guillaume Nault) [1861261] - [fs] cifs: Fix incomplete memory allocation on setxattr path (Leif Sahlberg) [1903883] - [fs] cifs: Fix leak when handling lease break for cached root fid (Leif Sahlberg) [1903883] - [fs] Revert "cifs: Fix the target file was deleted when rename failed." (Leif Sahlberg) [1903883] - [fs] cifs: update internal module version number (Leif Sahlberg) [1903883] - [fs] cifs: fix reference leak for tlink (Leif Sahlberg) [1903883] - [fs] smb3: fix unneeded error message on change notify (Leif Sahlberg) [1903883] - [fs] cifs: remove the retry in cifs_poxis_lock_set (Leif Sahlberg) [1903883] - [fs] smb3: fix access denied on change notify request to some servers (Leif Sahlberg) [1903883] - [fs] Replace HTTP links with HTTPS ones: CIFS (Leif Sahlberg) [1903883] - [fs] cifs: prevent truncation from long to int in wait_for_free_credits (Leif Sahlberg) [1903883] - [fs] cifs: Fix the target file was deleted when rename failed (Leif Sahlberg) [1903883] - [fs] SMB3: Honor 'posix' flag for multiuser mounts (Leif Sahlberg) [1903883] - [fs] SMB3: Honor 'handletimeout' flag for multiuser mounts (Leif Sahlberg) [1903883] - [fs] SMB3: Honor lease disabling for multiuser mounts (Leif Sahlberg) [1903883] - [fs] SMB3: Honor persistent/resilient handle flags for multiuser mounts (Leif Sahlberg) [1903883] - [fs] SMB3: Honor 'seal' flag for multiuser mounts (Leif Sahlberg) [1903883] - [fs] cifs: Display local UID details for SMB sessions in DebugData (Leif Sahlberg) [1903883] - [fs] cifs: misc: Use array_size() in if-statement controlling expression (Leif Sahlberg) [1903883] - [fs] cifs: update ctime and mtime during truncate (Leif Sahlberg) [1903883] - [fs] cifs/smb3: Fix data inconsistent when punch hole (Leif Sahlberg) [1903883] - [fs] cifs/smb3: Fix data inconsistent when zero file range (Leif Sahlberg) [1903883] - [fs] cifs: Fix double add page to memcg when cifs_readpages (Leif Sahlberg) [1903883] - [fs] cifs: Fix cached_fid refcnt leak in open_shroot (Leif Sahlberg) [1903883] - [fs] smb3: Add debug message for new file creation with idsfromsid mount option (Leif Sahlberg) [1903883] - [fs] cifs: fix chown and chgrp when idsfromsid mount option enabled (Leif Sahlberg) [1903883] - [fs] smb3: allow uid and gid owners to be set on create with idsfromsid mount option (Leif Sahlberg) [1903883] - [fs] smb311: Add tracepoints for new compound posix query info (Leif Sahlberg) [1903883] - [fs] smb311: add support for using info level for posix extensions query (Leif Sahlberg) [1903883] - [fs] smb311: Add support for lookup with posix extensions query info (Leif Sahlberg) [1903883] - [fs] smb311: Add support for SMB311 query info (non-compounded) (Leif Sahlberg) [1903883] - [fs] SMB311: Add support for query info using posix extensions (level 100) (Leif Sahlberg) [1903883] - [fs] smb3: add indatalen that can be a non-zero value to calculation of credit charge in smb2 ioctl (Leif Sahlberg) [1903883] - [fs] smb3: fix typo in mount options displayed in /proc/mounts (Leif Sahlberg) [1903883] - [fs] cifs: Add get_security_type_str function to return sec type (Leif Sahlberg) [1903883] - [fs] smb3: extend fscache mount volume coherency check (Leif Sahlberg) [1903883] - [fs] cifs: update internal module version number (Leif Sahlberg) [1903883] - [fs] smb3: fix incorrect number of credits when ioctl MaxOutputResponse > 64K (Leif Sahlberg) [1903883] - [fs] smb3: remove static checker warning (Leif Sahlberg) [1903883] - [fs] cifs: fix minor typos in comments and log messages (Leif Sahlberg) [1903883] - [fs] smb3: minor update to compression header definitions (Leif Sahlberg) [1903883] - [fs] cifs: minor fix to two debug messages (Leif Sahlberg) [1903883] - [fs] cifs: Standardize logging output (Leif Sahlberg) [1903883] - [fs] smb3: Add new parm "nodelete" (Leif Sahlberg) [1903883] - [fs] cifs: get rid of unused parameter in reconn_setup_dfs_targets() (Leif Sahlberg) [1903883] - [fs] cifs: handle hostnames that resolve to same ip in failover (Leif Sahlberg) [1903883] - [fs] cifs: set up next DFS target before generic_ip_connect() (Leif Sahlberg) [1903883] - [fs] cifs: remove redundant initialization of variable rc (Leif Sahlberg) [1903883] - [fs] cifs: handle "nolease" option for vers=1.0 (Leif Sahlberg) [1903883] - [fs] cifs: fix leaked reference on requeued write (Leif Sahlberg) [1903883] - [fs] cifs: Fix null pointer check in cifs_read (Leif Sahlberg) [1903883] - [fs] CIFS: Spelling s/EACCESS/EACCES/ (Leif Sahlberg) [1903883] - [fs] cifs: fix uninitialised lease_key in open_shroot() (Leif Sahlberg) [1903883] - [fs] cifs: ensure correct super block for DFS reconnect (Leif Sahlberg) [1903883] - [fs] cifs: do not share tcons with DFS (Leif Sahlberg) [1903883] - [fs] cifs: minor update to comments around the cifs_tcp_ses_lock mutex (Leif Sahlberg) [1903883] - [fs] cifs: protect updating server->dstaddr with a spinlock (Leif Sahlberg) [1903883] - [fs] smb3: remove overly noisy debug line in signing errors (Leif Sahlberg) [1903883] - [fs] cifs: improve read performance for page size 64KB & cache=strict & vers=2.1+ (Leif Sahlberg) [1903883] - [fs] cifs: dump the session id and keys also for SMB2 sessions (Leif Sahlberg) [1903883] - [fs] smb3: enable swap on SMB3 mounts (Leif Sahlberg) [1903883] - [fs] smb3: change noisy error message to FYI (Leif Sahlberg) [1903883] - [fs] cifs: update internal module version number (Leif Sahlberg) [1903883] - [fs] smb3: use SMB2_SIGNATURE_SIZE define (Leif Sahlberg) [1903883] - [fs] CIFS: Fix bug which the return value by asynchronous read is error (Leif Sahlberg) [1903883] - [fs] CIFS: check new file size when extending file by fallocate (Leif Sahlberg) [1903883] - [fs] SMB3: Minor cleanup of protocol definitions (Leif Sahlberg) [1903883] - [fs] SMB3: Additional compression structures (Leif Sahlberg) [1903883] - [fs] SMB3: Add new compression flags (Leif Sahlberg) [1903883] - [fs] cifs: smb2pdu.h: Replace zero-length array with flexible-array member (Leif Sahlberg) [1903883] - [fs] cifs: clear PF_MEMALLOC before exiting demultiplex thread (Leif Sahlberg) [1903883] - [fs] cifs: cifspdu.h: Replace zero-length array with flexible-array member (Leif Sahlberg) [1903883] - [fs] CIFS: Warn less noisily on default mount (Leif Sahlberg) [1903883] - [fs] fs/cifs: fix gcc warning in sid_to_id (Leif Sahlberg) [1903883] - [fs] cifs: allow unlock flock and OFD lock across fork (Leif Sahlberg) [1903883] - [fs] cifs: do d_move in rename (Leif Sahlberg) [1903883] - [fs] cifs: add SMB2_open() arg to return POSIX data (Leif Sahlberg) [1903883] - [fs] cifs: plumb smb2 POSIX dir enumeration (Leif Sahlberg) [1903883] - [fs] cifs: add smb2 POSIX info level (Leif Sahlberg) [1903883] - [fs] cifs: rename posix create rsp (Leif Sahlberg) [1903883] - [fs] cifs: print warning mounting with vers=1.0 (Leif Sahlberg) [1903883] - [fs] smb3: fix performance regression with setting mtime (Leif Sahlberg) [1903883] - [fs] cifs: make use of cap_unix(ses) in cifs_reconnect_tcon() (Leif Sahlberg) [1903883] - [fs] cifs: use mod_delayed_work() for &server->reconnect if already queued (Leif Sahlberg) [1903883] - [fs] cifs: call wake_up(&server->response_q) inside of cifs_reconnect() (Leif Sahlberg) [1903883] - [fs] cifs: do not ignore the SYNC flags in getattr (Leif Sahlberg) [1903883] - [tools] tools/power/x86/intel-speed-select: Update version for v5.10 (Prarit Bhargava) [1896211] - [tools] tools/power/x86/intel-speed-select: Fix missing base-freq core IDs (Prarit Bhargava) [1896211] - [tools] tools/power/x86/intel-speed-select: Update version for v5.9 (Prarit Bhargava) [1896211] - [tools] tools/power/x86/intel-speed-select: Add retries for mail box commands (Prarit Bhargava) [1896211] - [tools] tools/power/x86/intel-speed-select: Add option to delay mbox commands (Prarit Bhargava) [1896211] - [tools] tools/power/x86/intel-speed-select: Ignore -o option processing on error (Prarit Bhargava) [1896211] - [tools] tools/power/x86/intel-speed-select: Change path for caching topology info (Prarit Bhargava) [1896211] - [kernel] perf/core: Fix race in the perf_mmap_close() function (Michael Petlan) [1869925] {CVE-2020-14351} - [kernel] perf: Make struct ring_buffer less ambiguous (Michael Petlan) [1869925] {CVE-2020-14351} - [arm64] arm64: bpf: Fix branch offset in JIT (Yauheni Kaliuta) [1875342]- [hwmon] hwmon: (amd_energy) fix allocation of hwmon_channel_info config (David Arcari) [1911220] - [hwmon] hwmon: (amd_energy) Add AMD family 19h model 01h x86 match (David Arcari) [1911220] - [hwmon] hwmon: (amd_energy) modify the visibility of the counters (David Arcari) [1911220] - [hwmon] hwmon: (amd_energy) Improve the accumulation logic (David Arcari) [1911220] - [hwmon] hwmon: (amd_energy) optimize accumulation interval (David Arcari) [1911220] - [hwmon] hwmon: (amd_energy) Move label out of accumulation structure (David Arcari) [1911220] - [powerpc] powerpc/64s: Remove TM from Power10 features (Gustavo Duarte) [1892471] - [netdrv] ionic: start queues before announcing link up (Jonathan Toppins) [1906250] - [fs] NFSD: fix missing refcount in nfsd4_copy by nfsd4_do_async_copy (Benjamin Coddington) [1873897] - [bluetooth] Bluetooth: btusb: Map Typhoon peak controller to BTUSB_INTEL_NEWGEN (Gopal Tiwari) [1900356] - [bluetooth] Bluetooth: btusb: Add support for Intel Bluetooth Device Typhoon Peak (8087:0032) (Gopal Tiwari) [1900356] - [bluetooth] Bluetooth: btusb: Helper function to download firmware to Intel adapters (Gopal Tiwari) [1900356] - [bluetooth] Bluetooth: btusb: Define a function to construct firmware filename (Gopal Tiwari) [1900356] - [bluetooth] Bluetooth: btusb: Add *setup* function for new generation Intel controllers (Gopal Tiwari) [1900356] - [bluetooth] Bluetooth: btintel: Fix endianness issue for TLV version information (Gopal Tiwari) [1900356] - [bluetooth] Bluetooth: btintel: Functions to send firmware header / payload (Gopal Tiwari) [1900356] - [bluetooth] Bluetooth: btintel: Add infrastructure to read controller information (Gopal Tiwari) [1900356] - [bluetooth] Bluetooth: btintel: Refactor firmware download function (Gopal Tiwari) [1900356] - [bluetooth] Bluetooth: btusb: Update boot parameter specific to SKU (Gopal Tiwari) [1900356] - [bluetooth] Bluetooth: btusb: Refactor of firmware download flow for Intel conrollers (Gopal Tiwari) [1900356] - [bluetooth] Bluetooth: btusb: Enable Intel events even if already in operational mode (Gopal Tiwari) [1900356] - [bluetooth] Bluetooth: btusb: Configure Intel debug feature based on available support (Gopal Tiwari) [1900356] - [bluetooth] Bluetooth: btusb: Add support to read Intel debug feature (Gopal Tiwari) [1900356] - [kernel] rcuwait: avoid lockdep splats from rcuwait_active() (Auger Eric) [1903095] - [net] udp: fix the proto value passed to ip_protocol_deliver_rcu for the segments (Xin Long) [1879403] - [net] udp: fix IP header access and skb lookup on Fast/frag0 UDP GRO (Xin Long) [1879403] - [net] udp: fix UDP header access on Fast/frag0 UDP GRO (Xin Long) [1879403] - [net] ethtool: add missing NETIF_F_GSO_FRAGLIST feature string (Xin Long) [1879403] - [net] fix fraglist segmentation reference count leak (Xin Long) [1879403] - [net] udp: initialize is_flist with 0 in udp_gro_receive (Xin Long) [1879403] - [include] udp: segment looped gso packets correctly (Xin Long) [1879403] - [net] udp: Support UDP fraglist GRO/GSO. (Xin Long) [1879403] - [net] Support GRO/GSO fraglist chaining. (Xin Long) [1879403] - [net] Add a netdev software feature set that defaults to off. (Xin Long) [1879403] - [net] Add fraglist GRO/GSO feature flags (Xin Long) [1879403] - [include] udp: Avoid post-GRO UDP checksum recalculation (Xin Long) [1879403] - [net] udp: fix GRO packet of death (Xin Long) [1879403] - [net] udp: fix GRO reception in case of length mismatch (Xin Long) [1879403] - [net] udp: cope with UDP GRO packet misdirection (Xin Long) [1879403] - [net] ipv6: factor out protocol delivery helper (Xin Long) [1879403] - [net] ip: factor out protocol delivery helper (Xin Long) [1879403] - [net] udp: add support for UDP_GRO cmsg (Xin Long) [1879403] - [net] udp: implement GRO for plain UDP sockets. (Xin Long) [1879403]- [powerpc] powerpc/perf: Fix Threshold Event Counter Multiplier width for P10 (Desnes Augusto Nunes do Rosario) [1906084] - [powerpc] powerpc/perf: Exclude kernel samples while counting events in user space (Desnes Augusto Nunes do Rosario) [1906084] - [powerpc] powerpc/perf: Invoke per-CPU variable access with disabled interrupts (Desnes Augusto Nunes do Rosario) [1906084] - [powerpc] powerpc/perf: MMCR0 control for PMU registers under PMCC=00 (Desnes Augusto Nunes do Rosario) [1906084] - [powerpc] powerpc/64s: Convert some cpu_setup() and cpu_restore() functions to C (Desnes Augusto Nunes do Rosario) [1906084] - [powerpc] powerpc/64: Set up a kernel stack for secondaries before cpu_restore() (Desnes Augusto Nunes do Rosario) [1906084] - [powerpc] powerpc: Wire up memtest (Desnes Augusto Nunes do Rosario) [1906084] - [mm] powerpc/mm: Don't report hugepage tables as memory leaks when using kmemleak (Desnes Augusto Nunes do Rosario) [1906084] - [powerpc] powerpc/perf: Fix to update cache events with l2l3 events in power10 (Desnes Augusto Nunes do Rosario) [1906084] - [powerpc] powerpc/perf: Fix to update generic event codes for power10 (Desnes Augusto Nunes do Rosario) [1906084] - [powerpc] powerpc/perf: Add generic and cache event list for power10 DD1 (Desnes Augusto Nunes do Rosario) [1906084] - [powerpc] powerpc/perf: Fix the PMU group constraints for threshold events in power10 (Desnes Augusto Nunes do Rosario) [1906084] - [powerpc] powerpc/perf: Update the PMU group constraints for l2l3 events in power10 (Desnes Augusto Nunes do Rosario) [1906084] - [powerpc] powerpc/perf: Fix to update radix_scope_qual in power10 (Desnes Augusto Nunes do Rosario) [1906084] - [nvme] nvme-pci: mark Samsung PM1725a as IGNORE_DEV_SUBNQN (Gopal Tiwari) [1903513] - [base] driver: core: Fix list corruption after device_del() (Torez Smith) [1900751] - [base] device property: Don't clear secondary pointer for shared primary firmware node (Torez Smith) [1900751] - [base] device property: Keep secondary firmware node secondary by type (Torez Smith) [1900751] - [of] of: property: Fix create device links for all child-supplier dependencies (Torez Smith) [1900751] - [base] drivers/base/test: fix global-out-of-bounds error (Torez Smith) [1900751] - [base] driver core: Fix use-after-free and double free on glue directory (Torez Smith) [1900751] - [thunderbolt] thunderbolt: Add uaccess dependency to debugfs interface (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [thunderbolt] thunderbolt: Use "if USB4" instead of "depends on" in Kconfig (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [thunderbolt] thunderbolt: Allow KUnit tests to be built also when CONFIG_USB4=m (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [thunderbolt] thunderbolt: debugfs: Fix uninitialized return in counters_write() (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [thunderbolt] thunderbolt: Add debugfs interface (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: cdc-acm: Add DISABLE_ECHO for Renesas USB Download mode (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: typec: ucsi: Report power supply changes (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] xhci: hisilicon: fix refercence leak in xhci_histb_probe (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [thunderbolt] thunderbolt: Add support for Intel Tiger Lake-H (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: apple-mfi-fastcharge: fix reference leak in apple_mfi_fc_set_property (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [thunderbolt] thunderbolt: Only configure USB4 wake for lane 0 adapters (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [thunderbolt] thunderbolt: Fix memory leak if ida_simple_get() fails in enumerate_services() (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: serial: option: add Telit FN980 composition 0x1055 (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: serial: option: add LE910Cx compositions 0x1203, 0x1230, 0x1231 (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: serial: cyberjack: fix write-URB completion race (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: Add NO_LPM quirk for Kingston flash drive (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] xhci: Don't create stream debugfs files with spinlock held (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: xhci: Workaround for S3 issue on AMD SNPS 3.0 xHC (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] xhci: Fix sizeof() mismatch (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: typec: stusb160x: fix signedness comparison issue with enum variables (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: typec: add missing MODULE_DEVICE_TABLE() to stusb160x (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usbcore: Check both id_table and match() when both available (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: typec: stusb160x: fix an IS_ERR() vs NULL check in probe (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: typec: tcpm: reset hard_reset_count for any disconnect (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: cdc-acm: fix cooldown mechanism (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: fix kernel-doc markups (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: typec: stusb160x: fix some signedness bugs (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: serial: option: add Quectel EC200T module support (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [thunderbolt] thunderbolt: Add the missed ida_simple_remove() in ring_request_msix() (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [documentation] usb: docs: document altmode register/unregister functions (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: typec: Add QCOM PMIC typec detection driver (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: serial: option: add Cellient MPL200 card (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: typec: tcpci_maxim: Add support for Sink FRS (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: typec: tcpci: Implement callbacks for FRS (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [include] usb: typec: tcpm: Add support for Sink Fast Role SWAP(FRS) (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: typec: tcpci_maxim: Chip level TCPC driver (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: typec: tcpci: Add set_vbus tcpci callback (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: typec: tcpci: Add a getter method to retrieve tcpm_port reference (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: cdc-acm: add quirk to blacklist ETAS ES58X devices (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: serial: ftdi_sio: use cur_altsetting for consistency (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: serial: option: Add Telit FT980-KS composition (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: core: remove polling for /sys/kernel/debug/usb/devices (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: typec: add support for STUSB160x Type-C controller family (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: typec: add typec_find_pwr_opmode (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: typec: hd3ss3220: Use OF graph API to get the connector fwnode (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: cdc-wdm: Make wdm_flush() interruptible and add wdm_fsync() (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: typec: displayport: Reduce noise from the driver (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: hub: Add Kconfig option to reduce number of port initialization retries (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: hub: Clean up use of port initialization schemes and retries (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: serial: qcserial: fix altsetting probing (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: serial: ftdi_sio: clean up jtag quirks (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: serial: pl2303: add device-id for HP GC device (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: serial: ftdi_sio: add support for FreeCalypso JTAG+UART adapters (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: cdc-acm: clean up no-union-descriptor handling (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: cdc-acm: use common data-class define (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: cdc-acm: handle broken union descriptors (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] Revert "cdc-acm: hardening against malicious devices" (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usbcore/driver: Accommodate usbip (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [include] PM: core: introduce pm_ptr() macro (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [kernel] sched: Provide sched_set_fifo() (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usbcore/driver: Fix incorrect downcast (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usbcore/driver: Fix specific driver selection (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [sound] USB: correct API of usb_control_msg_send/recv in sound driver (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: correct API of usb_control_msg_send/recv (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] Revert "USB: legousbtower: use usb_control_msg_recv()" (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] Revert "USB: core: hub.c: use usb_control_msg_send() in a few places" (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: pci-quirks: convert to readl_poll_timeout_atomic() (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: early: ehci-dbgp: convert to readl_poll_timeout_atomic() (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: early: convert to readl_poll_timeout_atomic() (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: appledisplay: use module_usb_driver to simplify the code (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: xhci: add debugfs support for ep with stream (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] xhci: don't create endpoint debugfs entry before ring buffer is set (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] xhci: Tune interrupt blocking for isochronous transfers (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: xhci: omit duplicate actions when suspending a runtime suspended host (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: host: xhci-plat: improve the comments for xhci_plat_suspend (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: host: xhci-plat: add wakeup entry at sysfs (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: host: xhci-plat: add priv quirk for skip PHY initialization (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: host: xhci-plat: delete the unnecessary code (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: host: xhci-plat: add .suspend_quirk for struct xhci_plat_priv (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: host: xhci-plat: add platform data support (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: cdc-acm: cleanup of data structures (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: adutux: fix debugging (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usblp: fix race between disconnect() and read() (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: don't inherity DMA properties for USB devices (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] ehci-hcd: Move include to keep CRC stable (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [thunderbolt] thunderbolt: Only stop control channel when entering freeze (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [thunderbolt] thunderbolt: Capitalize comment on top of QUIRK_FORCE_POWER_LINK_CONTROLLER (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [thunderbolt] thunderbolt: Correct tb_check_quirks() kernel-doc (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [thunderbolt] thunderbolt: Log correct zeroX entries in decode_error() (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [thunderbolt] thunderbolt: Handle ERR_LOCK notification (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: typec: intel_pmc_mux: Handle SCU IPC error conditions (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: quirks: Add USB_QUIRK_IGNORE_REMOTE_WAKEUP quirk for BYD zhaoxin notebook (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: typec: tcpci: update ROLE_CONTROL for DRP (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: typec: tcpci: Add support when hidden tx registers are inaccessible (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: typec: tcpci: Add register definitions to tcpci (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: UAS: use macro for reporting results (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: typec: intel_pmc_mux: Pass correct USB Type-C port number to SoC (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: typec: intel_pmc_mux: Add dependency on ACPI (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: microtek: use set_host_byte() (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: UAS: fix disconnect by unplugging a hub (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: typec: ucsi: Prevent mode overrun (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: typec: ucsi: acpi: Increase command completion timeout value (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: legousbtower: use usb_control_msg_recv() (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: core: hub.c: use usb_control_msg_send() in a few places (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: core: message.c: use usb_control_msg_send() in a few places (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb typec: mt6360: Add support for mt6360 Type-C driver (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: host: ehci-sched: Remove ununsed function tt_start_uframe() (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: ohci: Make distrust_firmware param default to false (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: ohci: Default to per-port over-current protection (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [thunderbolt] thunderbolt: Retry DROM read once if parsing fails (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: typec: intel_pmc_mux: Support for device role (UFP) (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: typec: intel_pmc_mux: Check the port status before connect (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: typec: intel_pmc_mux: Do not configure SBU and HSL Orientation in Alternate modes (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: typec: intel_pmc_mux: Do not configure Altmode HPD High (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] device connection: Remove struct device_connection (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] uas: bump hw_max_sectors to 2048 blocks for SS or faster drives (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] uas: fix sdev->host->dma_dev (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb-storage: fix sdev->host->dma_dev (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb/host: ehci-npcm7xx: Use pm_ptr() macro (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb/misc: usb3503: Use pm_ptr() macro (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb/misc: usb4604: Use pm_ptr() macro (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: core: driver: fix stray tabs in error messages (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: typec: ucsi: acpi: Check the _DEP dependencies (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: core: fix slab-out-of-bounds Read in read_descriptors (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: Fix out of sync data toggle if a configured device is reconfigured (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: typec: intel_pmc_mux: Un-register the USB role switch (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [thunderbolt] thunderbolt: Introduce tb_switch_is_ice_lake() (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [thunderbolt] thunderbolt: Introduce tb_switch_is_tiger_lake() (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [thunderbolt] thunderbolt: Check for Intel vendor ID when identifying controller (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [thunderbolt] thunderbolt: Introduce tb_port_is_nhi() (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [thunderbolt] thunderbolt: Create device links from ACPI description (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [thunderbolt] thunderbolt: No need to warn in TB_CFG_ERROR_INVALID_CONFIG_SPACE (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [thunderbolt] thunderbolt: Introduce tb_switch_next_cap() (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [thunderbolt] thunderbolt: Introduce tb_port_next_cap() (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [thunderbolt] thunderbolt: Move struct tb_cap_any to tb_regs.h (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [thunderbolt] thunderbolt: Add runtime PM for Software CM (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [pci] PCI / thunderbolt: Switch to use device links instead of PCI quirk (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [thunderbolt] thunderbolt: Enable wakes from system suspend (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [thunderbolt] thunderbolt: Tear down DP tunnels when suspending (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [thunderbolt] thunderbolt: Disable lane 1 for XDomain connection (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [thunderbolt] thunderbolt: Configure port for XDomain (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [thunderbolt] thunderbolt: Set port configured for both ends of the link (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [thunderbolt] thunderbolt: Configure link after lane bonding is enabled (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [thunderbolt] thunderbolt: Do not change default USB4 router notification timeout (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [thunderbolt] thunderbolt: Initialize TMU again on resume (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [thunderbolt] thunderbolt: Send reset only to first generation routers (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [thunderbolt] thunderbolt: Do not program NFC buffers for USB4 router protocol adapters (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [thunderbolt] thunderbolt: Optimize NHI LC mailbox command processing (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [thunderbolt] thunderbolt: Optimize Force Power logic (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [thunderbolt] thunderbolt: Software CM only should set force power in Tiger Lake (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [thunderbolt] thunderbolt: Use bit 31 to check if Firmware CM is running in Tiger Lake (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [thunderbolt] thunderbolt: No need to log an error if tb_switch_lane_bonding_enable() fails (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [thunderbolt] thunderbolt: Use kobj_to_dev() instead of container_of() (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: serial: option: support dynamic Quectel USB compositions (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: serial: option: add support for SIM7070/SIM7080/SIM7090 modules (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: typec: tcpm: Migrate workqueue to RT priority for processing events (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [include] usb: typec: pd: Fix formatting in pd.h header (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: typec: tcpm: During PR_SWAP, source caps should be sent only after tSwapSourceStart (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: usblcd: Remove the superfluous break (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: storage: Add unusual_uas entry for Sony PSZ drives (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: Ignore UAS for JMicron JMS567 ATA/ATAPI Bridge (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: quirks: Ignore duplicate endpoint on Sound Devices MixPre-D (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: atm: don't use snprintf() for sysfs attrs (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: typec: tcpm: Fix Fix source hard reset response for TDA 2.3.1.1 and TDA 2.3.1.2 failures (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [thunderbolt] thunderbolt: Use maximum USB3 link rate when reclaiming if link is not up (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [thunderbolt] thunderbolt: Add USB3 bandwidth management (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [thunderbolt] thunderbolt: Disable ports that are not implemented (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: serial: ftdi_sio: add IDs for Xsens Mti USB converter (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] xhci: Always restore EP_SOFT_CLEAR_TOGGLE even if ep reset failed (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] xhci: Do warm-reset when both CAS and XDEV_RESUME are set (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: host: xhci: fix ep context print mismatch in debugfs (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: uas: Add quirk for PNY Pro Elite (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: Better name for __check_usb_generic() (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: Fix device driver race (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: Also match device drivers using the ->match vfunc (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: host: xhci-tegra: fix tegra_xusb_get_phy() (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: host: xhci-tegra: otg usb2/usb3 port init (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: host: pci-quirks: Bypass xHCI quirks for Raspberry Pi 4 (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [firmware] Revert "USB: pci-quirks: Add Raspberry Pi 4 quirk" (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: xhci-pci: Add support for reset controllers (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: core: Solve race condition in anchor cleanup functions (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: common: usb-conn-gpio: Print error on failure to get VBUS (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: common: usb-conn-gpio: Make VBUS supply optional (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: yurex: remove needless check before usb_free_coherent() (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: host: xhci-tegra: remove a duplicated entry (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: storage: isd200: fix spelling mistake "removeable" -> "removable" (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: xhci-mtk: Fix typo (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: hcd: Fix use after free in usb_hcd_pci_remove() (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: typec: ucsi: Hold con->lock for the entire duration of ucsi_register_port() (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: typec: ucsi: Rework ppm_lock handling (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: typec: ucsi: Fix 2 unlocked ucsi_run_command calls (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: typec: ucsi: Fix AB BA lock inversion (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: lvtest: return proper error code in probe (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: cdc-acm: rework notification_buffer resizing (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: quirks: Add no-lpm quirk for another Raydium touchscreen (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: yurex: Fix bad gfp argument (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [thunderbolt] thunderbolt: merge fix for kunix_resource changes (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: common: usb-conn-gpio: Register charger (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: xhci: Fix ASMedia ASM1142 DMA addressing (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: xhci: define IDs for various ASMedia host controllers (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: Simplify USB ID table match (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: typec: tcpm: Add WARN_ON ensure we are not trying to send 2 VDM packets at the same time (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: typec: tcpm: Fix AB BA lock inversion between tcpm code and the alt-mode drivers (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: typec: tcpm: Refactor tcpm_handle_vdm_request (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: typec: tcpm: Refactor tcpm_handle_vdm_request payload handling (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: typec: tcpm: Add tcpm_queue_vdm_unlocked() helper (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: typec: tcpm: Move mod_delayed_work(&port->vdm_state_machine) call into tcpm_queue_vdm() (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] xhci: dbc: Make function xhci_dbc_ring_alloc() static (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] xhci: dbgtty: Make some functions static (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [of] of: property: Add device link support for pinctrl-0 through pinctrl-8 (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [of] of: property: Add device link support for multiple DT bindings (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: iowarrior: fix up report size handling for some devices (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] xhci: dbc: remove tty specific port structure from struct xhci_dbc (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] xhci: dbgcap: remove dbc dependency on dbctty specific flag (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] xhci: dbc: Add a operations structure to access driver functions (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] xhci: dbctty: split dbc tty driver registration and unregistration functions (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] xhci: dbc: remove endpoint pointers from dbc_port structure (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] xhci: dbc: simplify dbc requests allocation and queueing (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] xhci: dbc: Pass dbc pointer to dbc start and stop functions (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] xhci: dbc: Pass dbc pointer to dbc memory init and cleanup functions (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] xhci: dbc: don't use generic xhci ring allocation functions for dbc (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] xhci: dbc: Don't use generic xhci context allocation for dbc (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] xhci: dbc: Use dbc structure in the request completion instead of xhci_hcd (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] xhci: dbc: Pass dbc pointer to get_in/out_ep() helper functions to get endpoints (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] xhci: dbgtty: Pass dbc pointer when registering a dbctty device (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] xhci: dbc: Pass dbc pointer to dbc_handle_xfer_event() instead of xhci_hcd pointer (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] xhci: dbc: Change to pass dbc pointer to xhci_do_dbc_stop() (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] xhci: dbc: Pass dbc pointer to endpoint init and exit functions (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] xhci: dbc: Get the device pointer from dbc structure in dbc_ep_do_queue() (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] xhci: dbc: Don't pass the xhci pointer as a parameter to xhci_dbc_init_context() (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] xhci: dbc: Don't use xhci_write_64() as it takes xhci as a parameter (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] xhci: dbc: Use dev_info() and similar instead of xhci_info() (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] xhci: dbc: Add device pointer to dbc structure (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] xhci: dbc: Remove dbc_dma_free_coherent() wrapper (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] xhci: dbc: Remove dbc_dma_alloc_coherent() wrapper (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] xhci: dbc: Don't use generic xhci erst allocation and free functions (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] xhci: Don't pass struct xhci_hcd pointer to xhci_link_seg() (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] xhci: dbc: Don't use generic xhci inc_deq() function for dbc (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] xhci: Make debug message consistent with bus and port number (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: tegra: Fix allocation for the FPCI context (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: usbfs: stop using compat_alloc_user_space (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: xhci: Fix ASM2142/ASM3142 DMA addressing (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: xhci-mtk: fix the failure of bandwidth allocation (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: appledisplay: remove needless check before usb_free_coherent() (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: usbtest: reduce stack usage in test_queue (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: typec: tcpm: Stay in BIST mode till hardreset or unattached (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: typec: tcpci: Support BIST test data mode for compliance (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: typec: tcpm: Support bist test data mode for compliance (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: typec: tcpm: Error handling for tcpm_register_partner_altmodes (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: typec: Comment correction for typec_partner_register_altmode (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: typec: intel_pmc_mux: Avoid connect request on disconnect (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: core: fix quirks_param_set() writing to a const pointer (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: hcd: Try MSI interrupts on PCI devices (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: serial: qcserial: add EM7305 QDL product ID (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: serial: iuu_phoenix: fix led-activity helpers (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: serial: iuu_phoenix: fix memory corruption (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: misc: sisusbvga: Move static const tables out to different include file (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: misc: sisusbvga: sisusb_init: Remove genunine unused static const arrays (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: class: cdc-wdm: Provide description for usb_cdc_wdm_register()'s manage_power arg (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [include] usb: linux/usb/serial.h: drop duplicated word in comment (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [include] usb: linux/usb/pd_vdo.h: drop duplicated word in comment (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [include] usb: linux/usb.h: drop duplicated word in comment (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: Remove pci-dma-compat wrapper APIs (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: sisusbvga: Fix a potential UB casued by left shifting a negative value (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: ohci: Replace HTTP links with HTTPS ones (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: typec: Replace HTTP links with HTTPS ones (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: host: xhci-plat: Replace HTTP links with HTTPS ones (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: serial: sierra: clean up special-interface handling (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: serial: cp210x: use in-kernel types in port data (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: serial: cp210x: drop unnecessary packed attributes (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: serial: cp210x: add support for TIOCGICOUNT (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: serial: cp210x: add support for line-status events (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: serial: cp210x: disable interface on errors in open (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: OHCI: Use fallthrough pseudo-keyword (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: host: Use fallthrough pseudo-keyword (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: Use fallthrough pseudo-keyword (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: storage: replace HTTP links with HTTPS ones (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: host: xhci-plat: Do not define 'struct acpi_device_id' when !CONFIG_ACPI (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: early: xhci-dbc: File headers are not good candidates for kerneldoc (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: early: xhci-dbc: Supply missing 'xhci-dbgp.h' headerfile (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: early: ehci-dbgp: Remove set but never checked variable 'ret' (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: typec: ucsi: ucsi: Staticify and stop export of ucsi_init() (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: misc: legousbtower: Demote function header which is clearly not kerneldoc (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: misc: legousbtower: Demote obvious misuse of kerneldoc to standard comment blocks (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: misc: ldusb: Demote obvious misuse of kerneldoc to standard comment blocks (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: misc: iowarrior: Demote obvious misuse of kerneldoc to standard comment blocks (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: misc: iowarrior: Fix odd corruption issue in the file header (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: typec: tcpm: fusb302: Use 'gnu_printf' format notation (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: typec: altmodes: displayport: Supply missing displayport.h include file (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: typec: altmodes: displayport: File headers are not good candidates for kerneldoc (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: storage: alauda: Remove set but unchecked variable (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: host: xhci-debugfs: Use 'gnu_printf' format notation (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: host: xhci-dbgtty: File headers are not good candidates for kerneldoc (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: host: xhci-dbgcap: File headers are not good candidates for kerneldoc (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: host: xhci-mem: Demote obvious misuse of kerneldoc to standard comment block (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: host: xhci: Demote obvious misuse of kerneldoc to standard comment block (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: misc: adutux: Demote obvious misuse of kerneldoc to standard comment blocks (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: atm: ueagle-atm: Demote obvious misuse of kerneldoc to standard comment blocks (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: core: ledtrig-usbport: Demote obvious misuse of kerneldoc to standard comment blocks (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: serial: drop redundant transfer-buffer casts (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [include] USB: serial: drop extern keyword from function declarations (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [include] USB: serial: drop unnecessary sysrq include (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: serial: add sysrq break-handler dummy (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: serial: inline sysrq dummy function (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: serial: only process sysrq when enabled (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: serial: only set sysrq timestamp for consoles (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: serial: ftdi_sio: fix break and sysrq handling (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: serial: ftdi_sio: clean up receive processing (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: serial: ftdi_sio: make process-packet buffer unsigned (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: serial: use fallthrough pseudo-keyword (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: serial: option: add Quectel EG95 LTE modem (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: serial: ch341: fix missing simulated-break margin (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: serial: cp210x: re-enable auto-RTS on open (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: serial: cp210x: enable usb generic throttle/unthrottle (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: serial: ch341: simulate break condition if not supported (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: class: usbtmc: File headers are not good candidates for kerneldoc (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: host: ohci: Mark cc_to_error as __maybe_unused (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: common: ulpi: Fix a few kerneldoc related issues (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: common: usb-conn-gpio: Demote comment block which is clearly not kerneldoc (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: common: debug: Demote comment blocks which are obviously not kerneldoc (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: host: pci-quirks: Demote function header from kerneldoc to comment block (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [include] USB: Fix up terminology in include files (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [thunderbolt] thunderbolt: Fix old style declaration warning (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: serial: console: add support for flow control (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: serial: quatech2: drop two stub functions (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: serial: kobil_sct: log failure to update line settings (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: serial: keyspan_pda: drop unused firmware reset status (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: serial: iuu_phoenix: drop unused URB submission results (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: serial: garmin_gps: don't compile unused packet definitions (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: typec: intel_pmc_mux: Add support for USB4 (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: typec: intel_pmc_mux: Definitions for response status bits (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [include] usb: typec: Add data structure for Enter_USB message (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [include] usb: typec: Combine the definitions for Accessory and USB modes (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: Fix up terminology (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [include] usb: fix kernel-doc warnings and formatting in (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [thunderbolt] thunderbolt: Add support for authenticate on disconnect (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [thunderbolt] thunderbolt: Add support for separating the flush to SPI and authenticate (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [thunderbolt] thunderbolt: Ensure left shift of 512 does not overflow a 32 bit int (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: serial: ch341: add min and max line-speed macros (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: serial: ch341: name prescaler, divisor registers (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] xhci: Poll for U0 after disabling USB2 LPM (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] xhci: Return if xHCI doesn't support LPM (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: host: xhci-mtk: avoid runtime suspend when removing hcd (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] xhci: Fix enumeration issue when setting max packet size for FS devices (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] xhci: Fix incorrect EP_STATE_MASK (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: serial: ch341: add new Product ID for CH340 (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: serial: option: add GosunCn GM500 series (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: serial: cypress_m8: enable Simply Automated UPB PIM (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [thunderbolt] thunderbolt: Add support for on-board retimers (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [thunderbolt] thunderbolt: Implement USB4 port sideband operations for retimer access (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [thunderbolt] thunderbolt: Split common NVM functionality into a separate file (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [thunderbolt] thunderbolt: Retry USB4 block read operation (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [thunderbolt] thunderbolt: Generalize usb4_switch_do__data() (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [thunderbolt] thunderbolt: Add Intel USB-IF ID to the NVM upgrade supported list (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [thunderbolt] thunderbolt: Increase DP DPRX wait timeout (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [thunderbolt] thunderbolt: Make tb_port_get_link_speed() available to other files (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [thunderbolt] thunderbolt: Handle incomplete PCIe/USB3 paths correctly in discovery (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [thunderbolt] thunderbolt: Increase path length in discovery (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [thunderbolt] thunderbolt: Add KUnit tests for tunneling (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [thunderbolt] thunderbolt: Add KUnit tests for path walking (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [thunderbolt] thunderbolt: Add DP IN resources for all routers (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [thunderbolt] thunderbolt: Report consumed bandwidth in both directions (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [thunderbolt] thunderbolt: Make usb4_switch_map_pcie_down() also return enabled ports (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [thunderbolt] thunderbolt: Make usb4_switch_map_usb3_down() also return enabled ports (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [thunderbolt] thunderbolt: Do not tunnel USB3 if link is not USB4 (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [thunderbolt] thunderbolt: Implement USB3 bandwidth negotiation routines (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [thunderbolt] thunderbolt: Check that both ports are reachable when allocating path (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [thunderbolt] thunderbolt: Make tb_path_alloc() work with tree topologies (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [thunderbolt] thunderbolt: Make tb_next_port_on_path() work with tree topologies (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [thunderbolt] thunderbolt: Fix path indices used in USB3 tunnel discovery (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [netdrv] thunderbolt: Get rid of E2E workaround (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [thunderbolt] thunderbolt: NHI can use HopIDs 1-7 (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [thunderbolt] thunderbolt: No need to warn if NHI hop_count != 12 or hop_count != 32 (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [thunderbolt] thunderbolt: Build initial XDomain property block upon first connect (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: OTG: rename product list of devices (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: storage: scsi: fix up comment to be more specific (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: storage: fix wording in error message (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: serial: sierra: unify quirk handling logic (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: serial: qcserial: fix up wording in a comment (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: OHCI: remove obsolete FIXME comment (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: rename USB OTG hub configuration option (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: rename USB quirk to USB_QUIRK_ENDPOINT_IGNORE (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [uapi] USB: replace hardcode maximum usb string length by definition (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: typec: tcpci_rt1711h: avoid screaming irq causing boot hangs (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: usbtest: fix missing kfree(dev->buf) in usbtest_disconnect (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: ehci: reopen solution for Synopsys HC bug (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] cdc-acm: Add DISABLE_ECHO quirk for Microchip/SMSC chip (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: add USB_QUIRK_DELAY_INIT for Logitech C922 (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: typec: mux: intel_pmc_mux: Fix DP alternate mode entry (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: sisusbvga: change char to u8 for sisusb_copy_memory (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: sisusb_con: Use array_size() helper in memcpy() (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: xhci: tegra: Remove PLL power supplies (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] drivers: usb: Fix trivial spelling (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: core: additional Device Classes to debug/usb/devices (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [thunderbolt] thunderbolt: Improve USB4 config symbol help text (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: core: kcov: collect coverage from usb complete callback (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: get rid of pointless access_ok() calls (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: serial: ch341: fix lockup of devices with limited prescaler (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: serial: ch341: add basis for quirk detection (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] CDC-ACM: heed quirk also in error handling (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: serial: option: add Telit LE910C1-EUX compositions (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: serial: qcserial: add DW5816e QDL support (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [thunderbolt] thunderbolt: Add trivial .shutdown (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: typec: Ensure USB_ROLE_SWITCH is set as a dependency for tps6598x (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: xhci: make symbols static (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: serial: usb_wwan: do not resubmit rx urb on fatal errors (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb/xhci-plat: Set PM runtime as active on resume (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: xhci: Add support for Renesas controller with memory (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: renesas-xhci: Add the renesas xhci driver (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: hci: add hc_driver as argument for usb_hcd_pci_probe (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: core: hub: limit HUB_QUIRK_DISABLE_AUTOSUSPEND to USB5534B (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: usbfs: fix mmap dma mismatch (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: host: xhci-plat: keep runtime active when removing host (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: xhci: Fix NULL pointer dereference when enqueuing trbs from urb sg list (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [thunderbolt] thunderbolt: Update Kconfig to allow building on other architectures (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: typec: mux: intel: Fix DP_HPD_LVL bit field (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: ehci: Add new EHCI driver for Broadcom STB SoC's (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: xhci: xhci-plat: Add support for Broadcom STB SoC's (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: typec: tps6598x: Add USB role switching logic (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: typec: tps6598x: Add OF probe binding (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: roles: Switch on role-switch uevent reporting (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: typec: mux: intel_pmc_mux: Support for static SBU/HSL orientation (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: typec: Add typec_find_orientation() (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usblp: poison URBs upon disconnect (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] sierra-ms: do not call scsi_get_host_dev() (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [firmware] USB: pci-quirks: Add Raspberry Pi 4 quirk (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [include] thunderbolt: Replace zero-length array with flexible-array (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: usbfs: correct kernel->user page attribute mismatch (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: typec: intel_pmc_mux: Fix the property names (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: typec: mux: intel: Handle alt mode HPD_HIGH (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: core: Fix misleading driver bug report (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: serial: qcserial: Add DW5816e support (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: uas: add quirk for LaCie 2Big Quadra (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [of] of: property: Do not link to disabled devices (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [thunderbolt] thunderbolt: Check return value of tb_sw_read() in usb4_switch_op() (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: core: hub: use true, false for bool variable (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: typec: ucsi: Fix the stub for ucsi_register_port_psy() (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: typec: mux: Convert the Intel PMC Mux driver to use new SCU IPC API (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: typec: ucsi: register with power_supply class (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: typec: ucsi: save power data objects in PD mode (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: typec: ucsi: Correct bit-mask for CCI (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: typec: ucsi: replace magic numbers (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: typec: ucsi: Workaround for missed op_mode change (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: typec: ucsi: set USB data role when partner type is power cable/ufp (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: Storage: Use the correct style for SPDX License Identifier (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: core: Replace an empty statement with a debug message (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb/early: remove unused including (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: pci-quirks: use true, false for bool variables (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: typec: Use the correct style for SPDX License Identifier (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: sisusbvga: Change port variable from signed to unsigned (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb-storage: Add unusual_devs entry for JMicron JMS566 (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: hub: Revert commit bd0e6c9614b9 ("usb: hub: try old enumeration scheme first for high speed devices") (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: hub: Fix handling of connect changes during sleep (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [thunderbolt] thunderbolt: Add support for Intel Tiger Lake (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: typec: altmode: Fix typec_altmode_get_partner sometimes returning an invalid pointer (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: serial: Use the correct style for SPDX License Identifier (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: serial: garmin_gps: add sanity checking for data length (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] xhci: Don't clear hub TT buffer on ep0 protocol stall (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] xhci: prevent bus suspend if a roothub port detected a over-current condition (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] xhci: Fix handling halted endpoint even if endpoint ring appears empty (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [gpio] usb: fusb302: Convert to use GPIO descriptors (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: Add USB_QUIRK_DELAY_CTRL_MSG and USB_QUIRK_DELAY_INIT for Corsair K70 RGB RAPIDFIRE (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: typec: tcpm: Ignore CC and vbus changes in PORT_RESET change (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] cdc-acm: introduce a cool down (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] cdc-acm: close race betrween suspend() and acm_softint (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] UAS: fix deadlock in error handling and PM flushing work (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] UAS: no use logging any details in case of ENODEV (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: typec: pi3usb30532: Set switch_ / mux_desc name field to NULL (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: early: Handle AMD's spec-compliant identifiers, too (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: core: Fix free-while-in-use bug in the USB S-Glibrary (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: misc: Use the correct style for SPDX License Identifier (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: host: Use the correct style for SPDX License Identifier (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: early: Use the correct style for SPDX License Identifier (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: core: Use the correct style for SPDX License Identifier (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [thunderbolt] Revert "thunderbolt: Prevent crash if non-active NVMem file is read" (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [of] of: property: Add device link support for extcon (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: cdc-acm: restore capability check order (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: typec: Correct the documentation for typec_cable_put() (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: serial: io_edgeport: fix slab-out-of-bounds read in edge_interrupt_callback (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: serial: option: add Wistron Neweb D19Q1 (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: serial: option: add BroadMobi BM806U (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: serial: option: add support for ASKEY WWHC050 (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: core: Add ACPI support for USB interface devices (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: xhci-tegra: Add OTG support (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: serial: f81232: add control driver for F81534A (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: cdc-acm: fix rounding error in TIOCSSERIAL (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: cdc-acm: fix close_delay and closing_wait units in TIOCSSERIAL (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: quirks: add NO_LPM quirk for RTL8153 based ethernet adapters (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: atm: Use the correct style for SPDX License Identifier (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] xhci-pci: Allow host runtime PM as default for Intel Tiger Lake xHCI (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] xhci: Finetune host initiated USB3 rootport link suspend and resume (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] xhci: Wait until link state trainsits to U0 after setting USB_SS_PORT_LS_U0 (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] xhci: Ensure link state is U3 after setting USB_SS_PORT_LS_U3 (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: host: xhci-tegra: Tegra186/Tegra194 LPM (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: xhci: Enable LPM for VIA LABS VL805 (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] xhci: Show host status when watchdog triggers and host is assumed dead (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] xhci: Add a separate debug message for split transaction errors (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] xhci: bail out early if driver can't accress host in resume (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: serial: pl2303: add device-id for HP LD381 (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: serial: option: add ME910G1 ECM composition 0x110b (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: mon: Use scnprintf() for avoiding potential buffer overflow (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: typec: ucsi_ccg: workaround for NVIDIA test device (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: host: xhci-plat: add a shutdown (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: typec: ucsi: displayport: Fix a potential race during registration (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: typec: ucsi: displayport: Fix NULL pointer dereference (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: Disable LPM on WD19's Realtek Hub (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [thunderbolt] thunderbolt: Use scnprintf() for avoiding potential buffer overflow (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: serial: fix tty cleanup-op kernel-doc (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: serial: clean up carrier-detect helper (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: xhci: apply XHCI_SUSPEND_DELAY to AMD XHCI controller 1022:145c (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [of] of: property: Delete of_devlink kernel commandline option (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: typec: driver for Intel PMC mux control (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [include] usb: typec: Add definitions for Thunderbolt 3 Alternate Mode (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: roles: Allow the role switches to be named (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: roles: Provide the switch drivers handle to the switch in the API (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: roles: Leave the private driver data pointer to the drivers (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: typec: mux: Allow the mux handles to be requested with fwnode (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: typec: mux: Add helpers for setting the mux state (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: typec: mux: Allow the muxes to be named (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: core: port: do error out if usb_autopm_get_interface() fails (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: core: hub: do error out if usb_autopm_get_interface() fails (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: core: hub: fix unhandled return by employing a void function (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: storage: Add quirk for Samsung Fit flash (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: quirks: add NO_LPM quirk for Logitech Screen Share (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: usb251xb: fix regulator probe and error handling (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: typec: Add sysfs node to show cc orientation (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: typec: tcpm: move to SNK_UNATTACHED if sink removed for DRP (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [of] of: property: Add device link support for power-domains and hwlocks (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: serial: f81232: set F81534A serial port with RS232 mode (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: serial: f81232: add F81534A support (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: serial: f81232: use devm_kzalloc for port data (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: serial: f81232: add tx_empty function (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: serial: f81232: extract LSR handler (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: host: xhci-pci: remove useless cast for driver.name (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: host: uhci-pci: remove useless cast for driver.name (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: host: ohci-pci: remove useless cast for driver.name (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: host: ehci-pci: remove useless cast for driver.name (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: core: Use ACPI_SUCCESS() at appropriate places (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: core: Make use of acpi_evaluate_object() status (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb-storage: Use const to reduce object data size (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: ucsi: ccg: disable runtime pm during fw flashing (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: typec: ucsi: register DP only for NVIDIA DP VDO (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: misc: iowarrior: add support for the 100 device (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] xhci: Add missing annotation for xhci_enter_test_mode (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] xhci: Add missing annotation for xhci_set_port_power() (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] xhci: Do not open code __print_symbolic() in xhci trace events (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: use kobj_to_dev() API (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [thunderbolt] thunderbolt: Add missing kernel-doc parameter descriptions (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: typec: tcpm: set correct data role for non-DRD (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [thunderbolt] thunderbolt: icm: Replace zero-length array with flexible-array member (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [thunderbolt] thunderbolt: eeprom: Replace zero-length array with flexible-array member (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: apple-mfi-fastcharge: don't probe unhandled devices (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: apple-mfi-fastcharge: fix endianess issue in probe (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: Add driver to control USB fast charge for iOS devices (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: Fallback to generic driver when specific driver fails (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: Select better matching USB drivers when available (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: Implement usb_device_match_id() (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: Make it possible to "subclass" usb_device_driver (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: Export generic USB device driver functions (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: atm: Replace zero-length array with flexible-array member (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: typec: mux: Drop support for device name matching (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: typec: altmode: Remove the notification chain (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [include] usb: typec: Fix the description of struct typec_capability (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: typec: Allow power role swapping even without USB PD (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: typec: Hide the port_type attribute when it's not supported (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: typec: Make the attributes read-only when writing is not possible (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: misc: iowarrior: add support for the 28 and 28L devices (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: misc: iowarrior: add support for 2 OEMed devices (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: Fix novation SourceControl XL after suspend (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] xhci: Fix memory leak when caching protocol extended capability PSI tables - take 2 (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] Revert "xhci: Fix memory leak when caching protocol extended capability PSI tables" (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: typec: ucsi: remove redundant assignment to variable num (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [include] usb: host: ehci-platform: add a quirk to avoid stuck (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: core: clean up endpoint-descriptor parsing (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: quirks: blacklist duplicate ep on Sound Devices USBPre2 (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: core: add endpoint-blacklist quirk (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [uapi] usb: charger: assign specific number for enum value (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: hub: Don't record a connect-change event during reset-resume (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: uas: fix a plug & unplug racing (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: hub: Fix the broken detection of USB3 device in SMSC hub (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] xhci: apply XHCI_PME_STUCK_QUIRK to Intel Comet Lake platforms (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] xhci: fix runtime pm enabling for quirky Intel hosts (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] xhci: Fix memory leak when caching protocol extended capability PSI tables (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] xhci: Force Maximum Packet size for Full-speed bulk devices to valid range (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: serial: digi_acceleport: remove redundant assignment to pointer priv (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: serial: relax unthrottle memory barrier (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: serial: ch341: fix receiver regression (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: serial: ir-usb: Silence harmless uninitialized variable warning (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: serial: cyberjack: fix spelling mistake "To" -> "Too" (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: serial: ir-usb: simplify endpoint check (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: serial: ir-usb: make set_termios synchronous (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: serial: ir-usb: fix IrLAP framing (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: serial: ir-usb: fix link-speed handling (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: serial: ir-usb: add missing endpoint sanity check (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: typec: fusb302: fix "op-sink-microwatt" default that was in mW (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: typec: wcove: fix "op-sink-microwatt" default that was in mW (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: typec: tcpci: mask event interrupts when remove driver (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: host: xhci-tegra: set MODULE_FIRMWARE for tegra186 (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: usbfs: Always unlink URBs in reverse order (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: serial: quatech2: handle unbound ports (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: serial: keyspan: handle unbound ports (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: serial: io_edgeport: add missing active-port sanity check (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: serial: io_edgeport: handle unbound ports on URB completion (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: serial: ch341: handle unbound port at reset_resume (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: serial: garmin_gps: Use flexible-array member (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: serial: opticon: stop all I/O on close() (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: serial: opticon: add chars_in_buffer() implementation (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: serial: suppress driver bind attributes (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: serial: option: add support for Quectel RM500Q in QDL mode (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: core: hub: Improved device recognition on remote wakeup (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [include] usb: phy-generic: Delete unused platform data (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: serial: opticon: fix control-message timeouts (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: serial: option: Add support for Quectel RM500Q (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: serial: simple: Add Motorola Solutions TETRA MTP3xxx and MTP85xx (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [include] usb: ulpi: Add resource-managed variant of otg_ulpi_create() (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [include] usb: typec: Provide definitions for the USB modes (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: typec: Give the mux drivers all the details regarding the port state (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [include] usb: typec: Add definitions for the latest specification releases (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [include] usb: typec: Add the Product Type VDOs to struct usb_pd_identity (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [include] usb: pd: Add definition for DFP and UFP1 VDOs (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [include] usb: pd: Add definitions for the Enter_USB message (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: typec: More API for cable handling (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: typec: Add parameter for the VDO to typec_altmode_enter() (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: typec: Block mode entry if the port has the mode disabled (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: typec: ucsi: fix spelling mistake "connetor" -> "connector" (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: missing parentheses in USE_NEW_SCHEME (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: typec: ucsi: Fix the notification bit offsets (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: typec: ucsi: Actually enable all the interface notifications (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: typec: fix non-kernel-doc comments (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: Fix: Don't skip endpoint descriptors with maxpacket=0 (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB-PD tcpm: bad warning+size, PPS adapters (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: usb3503: Convert to use GPIO descriptors (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: typec: ucsi: add support for separate DP altmode devices (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: typec: ucsi: Store the notification mask (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: mtk-xhci: Do not explicitly set the DMA mask (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: core: fix check for duplicate endpoints (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: serial: option: add ZLP support for 0x1bc7/0x9010 (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: xhci: Fix build warning seen with CONFIG_PM=n (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: typec: fusb302: Fix an undefined reference to 'extcon_get_state' (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: EHCI: Do not return -EPIPE when hub is disconnected (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: serial: option: add Telit ME910G1 0x110a composition (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] xhci: make sure interrupts are restored to correct state (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] xhci: handle some XHCI_TRUST_TX_LENGTH quirks cases as default behaviour (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] xhci: Increase STS_HALT timeout in xhci_suspend() (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: xhci: only set D3hot for pci device (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] xhci: fix USB3 device initiated resume race with roothub autosuspend (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] xhci: Fix memory leak in xhci_add_in_port() (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: Fix incorrect DMA allocations for local memory pool drivers (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: idmouse: fix interface sanity checks (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: adutux: fix interface sanity check (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: atm: ueagle-atm: add missing endpoint check (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: serial: io_edgeport: fix epic endpoint lookup (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: mon: Fix a deadlock in usbmon between mmap and read (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: common: usb-conn-gpio: Don't log an error on probe deferral (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: core: urb: fix URB structure initialization function (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: typec: fix use after free in typec_register_port() (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: roles: fix a potential use after free (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: host: xhci-tegra: Implement basic ELPG support (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: host: xhci-tegra: Add XUSB controller context (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: host: xhci-tegra: Add support for XUSB context save/restore (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: host: xhci-tegra: Enable runtime PM as late as possible (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: host: xhci-tegra: Reuse stored register base address (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: host: xhci-tegra: Extract firmware enable helper (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: host: xhci-tegra: Use CNR as firmware ready indicator (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: host: xhci-tegra: Avoid a fixed duration sleep (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: host: xhci-tegra: Separate firmware request and load (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: host: xhci-tegra: Fix "tega" -> "tegra" typo (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: drop comment about 2 uhci drivers (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb, kcov: collect coverage from hub_event (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [of] of: property: Add device link support for interrupt-parent, dmas and -gpio(s) (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: serial: Fix Kconfig indentation (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: misc: Fix Kconfig indentation (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [of] of: property: Add device link support for "iommu-map" (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [of] of: property: Fix the semantics of of_is_ancestor_of() (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb-storage: Disable UAS on JMicron SATA enclosure (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: uas: heed CAPACITY_HEURISTICS (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: uas: honor flag to avoid CAPACITY16 (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: host: xhci-tegra: Correct phy enable sequence (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb-serial: cp201x: support Mark-10 digital force gauge (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: typec: tcpm: Remove tcpc_config configuration mechanism (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] xhci-pci: Allow host runtime PM as default also for Intel Ice Lake xHCI (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: host: xhci: Support running urb giveback in tasklet context (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] xhci: Add tracing for xhci doorbell register writes (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: host: xhci: update event ring dequeue pointer on purpose (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [of] of: property: Fix documentation for out values (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: serial: ftdi_sio: add device IDs for U-Blox C099-F9P (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: serial: option: add support for Foxconn T77W968 LTE modules (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [include] driver core: Clarify documentation for fwnode_operations.add_links() (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: serial: mos7840: drop port open flag (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: serial: mos7840: drop read-urb check (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: serial: mos7840: drop port driver data accessors (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: serial: mos7840: drop serial struct accessor (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: serial: mos7840: drop paranoid serial checks (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: serial: mos7840: drop paranoid port checks (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: serial: mos7840: drop redundant urb context check (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: serial: mos7840: rip out broken interrupt handling (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: serial: mos7840: fix probe error handling (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: serial: mos7840: document MCS7810 detection hack (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: serial: mos7840: clean up device-type handling (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: serial: mos7840: fix remote wakeup (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: serial: mos7720: fix remote wakeup (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: chaoskey: fix error case of a timeout (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: serial: option: add support for DW5821e with eSIM support (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] appledisplay: fix error handling in the scheduled work (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: legousbtower: drop superfluous newlines (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: legousbtower: drop superfluous brackets (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: legousbtower: clean up runaway white space (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: legousbtower: drop redundant endianness comments (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: legousbtower: drop unnecessary packed attributes (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: legousbtower: clean up pointer declarations in driver data (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: legousbtower: remove tower_abort_transfers() (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: legousbtower: stop interrupt-out URB unconditionally (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: legousbtower: drop redundant interrupt-in running flag (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: legousbtower: drop noisy disconnect messages (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: legousbtower: drop redundant open_count check (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: legousbtower: zero driver data at allocation (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: legousbtower: drop redundant NULL check (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: legousbtower: drop redundant MODULE_LICENSE ifdef (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: idmouse: clean up runaway white space (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: idmouse: drop redundant open-count check from release (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: idmouse: simplify disconnect handling (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: Allow USB device to be warm reset in suspended state (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [of] of: property: Add device link support for iommus, mboxes and io-channels (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [of] of: property: Make it easy to add device links from DT properties (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: serial: mos7840: add USB ID to support Moxa UPort 2210 (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: typec: ucsi: Optimise ucsi_unregister() (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: typec: ucsi: New error codes (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: typec: ucsi: Remove all bit-fields (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: typec: ucsi: Remove struct ucsi_control (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: typec: ucsi: Remove the old API (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: typec: ucsi: ccg: Move to the new API (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: typec: ucsi: acpi: Move to the new API (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: typec: ucsi: Simplified registration and I/O API (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: typec: hd3ss3220: Give the connector fwnode to the port device (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [include] usb: typec: Remove unused members from struct typec_capability (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: typec: Remove the callback members from struct typec_capability (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: typec: hd3ss3220: Start using struct typec_operations (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: typec: ucsi: Start using struct typec_operations (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: typec: tps6598x: Start using struct typec_operations (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: typec: tcpm: Start using struct typec_operations (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: typec: Separate the operations vector (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: typec: Introduce typec_get_drvdata() (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: typec: Copy everything from struct typec_capability during registration (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: usb251xb: Add support for USB2422 (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: usb251xb: Drop some unused defines (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: roles: Add usb_role_switch_find_by_fwnode() (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: serial: ch341: reimplement line-speed handling (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: core: Remove redundant vmap checks (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: serial: whiteheat: fix line-speed endianness (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: serial: whiteheat: fix potential slab corruption (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] UAS: Revert commit 3ae62a42090f ("UAS: fix alignment of scatter/gather segments") (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb-storage: Revert commit 747668dbc061 ("usb-storage: Set virt_boundary_mask to avoid SG overflows") (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: xhci: fix __le32/__le64 accessors in debugfs code (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: xhci: fix Immediate Data Transfer endianness (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] xhci: Fix use-after-free regression in xhci clear hub TT implementation (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: ldusb: fix control-message timeout (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: ldusb: use unsigned size format specifiers (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: ldusb: fix ring-buffer locking (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: Skip endpoints with 0 maxpacket length (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: serial: pl2303: add support for PL2303HXN (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: ldusb: fix read info leaks (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [include] driver: core: Improve documentation for fwnode_operations.add_links() (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [of] of: property: Minor code formatting/style clean ups (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: serial: ti_usb_3410_5052: clean up serial data access (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: serial: ti_usb_3410_5052: fix port-close races (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: usbfs: Suppress problematic bind and unbind uevents (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: usblp: fix use-after-free on disconnect (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: legousbtower: fix a signedness bug in tower_probe() (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: legousbtower: fix memleak on disconnect (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: ldusb: fix memleak on disconnect (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: typec: fix an IS_ERR() vs NULL bug in hd3ss3220_probe() (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [include] device property: Fix the description of struct fwnode_operations (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: yurex: fix NULL-derefs on disconnect (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: iowarrior: use pr_err() (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: iowarrior: drop redundant iowarrior mutex (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: iowarrior: drop redundant disconnect mutex (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: iowarrior: fix use-after-free after driver unbind (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: iowarrior: fix use-after-free on release (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: iowarrior: fix use-after-free on disconnect (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: chaoskey: fix use-after-free on release (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: adutux: fix use-after-free on release (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: legousbtower: fix use-after-free on release (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: ldusb: fix NULL-derefs on driver unbind (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: usb-skeleton: drop redundant in-urb check (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: usb-skeleton: fix use-after-free after driver unbind (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: usb-skeleton: fix NULL-deref on disconnect (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: typec: remove duplicated include from hd3ss3220.c (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: core: drop OOM message (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: core: devio.c: Fix assignment of 0/1 to bool variables (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: typec: hd3ss3220: hd3ss3220_probe() warn: passing zero to 'PTR_ERR' (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: hub: Check device descriptor before resusciation (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: typec: add dependency for TYPEC_HD3SS3220 (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: host: xhci-tegra: Add Tegra194 XHCI support (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] xhci: tegra: Parameterize mailbox register addresses (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: image: microtek.c: Remove unused variable (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: typec: hd3ss3220_irq() can be static (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [include] kcov: remote coverage support (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [of] of: property: Create device links for all child-supplier depencencies (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [of] of: property: Add functional dependency link from DT bindings (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: serial: fix runtime PM after driver unbind (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: usblp: fix runtime PM after driver unbind (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: usb-skeleton: fix runtime PM after driver unbind (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] xhci-ext-caps.c: Add missing platform_device_put() on error in xhci_create_intel_xhci_sw_pdev() (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] xhci: Fix NULL pointer dereference in xhci_clear_tt_buffer_complete() (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] xhci: Increase STS_SAVE timeout in xhci_suspend() (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] xhci: Prevent deadlock when xhci adapter breaks during init (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: xhci: wait for CNR controller not ready bit in xhci resume (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] xhci: Fix USB 3.1 capability detection on early xHCI 1.1 spec based hosts (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] xhci: Check all endpoints for LPM timeout (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] xhci: Prevent device initiated U1/U2 link pm if exit latency is too long (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] xhci: Fix false warning message about wrong bounce buffer write length (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: usb251xb: add pm_ops (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: usb251xb: simplify reset helper (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: usb251xb: add vdd supply support (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: typec: driver for TI HD3SS3220 USB Type-C DRP port controller (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: host: xhci-tegra: use regulator_bulk_set_supply_names() (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: ftdi-elan: move a couple of statements to next line (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: Fix Kconfig indentation (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: host: xhci-tegra: use devm_platform_ioremap_resource() to simplify code (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: legousbtower: fix open after failed reset request (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: legousbtower: fix potential NULL-deref on disconnect (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: legousbtower: fix deadlock on disconnect (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: legousbtower: fix slab info leak at probe (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: typec: ucsi: displayport: Fix for the mode entering routine (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: typec: ucsi: ccg: Remove run_isr flag (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: usblcd: use pr_err() (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: usblcd: drop redundant lcd mutex (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: usblcd: drop redundant disconnect mutex (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: usblcd: fix I/O after disconnect (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: typec: tcpm: usb: typec: tcpm: Fix a signedness bug in tcpm_fw_get_caps() (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: adutux: fix NULL-derefs on disconnect (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: adutux: fix use-after-free on disconnect (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: yurex: Don't retry on unexpected errors (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: microtek: fix info-leak at probe (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: serial: keyspan: fix NULL-derefs on open() and write() (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: serial: option: add support for Cinterion CLS8 devices (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb-storage: SCSI glue: use dev_err instead of printk (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: serial: option: add Telit FN980 compositions (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: serial: ftdi_sio: add device IDs for Sienna and Echelon PL-20 (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: usbcore: Fix slab-out-of-bounds bug during device reset (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: rio500: Fix lockdep violation (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: rio500: simplify locking (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: common: add USB GPIO based connection detection driver (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: common: create Kconfig file (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: roles: get usb-role-switch from parent (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: roles: Add fwnode_usb_role_switch_get() function (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [include] usb: roles: Introduce stubs for the exiting functions in role.h (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usbip: Implement SG support to vhci-hcd and stub driver (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: roles: intel: Enable static DRD mode for role switch (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] xhci-ext-caps.c: Add property to disable Intel SW switch (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: core: phy: add support for PHY calibration (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: host: xhci-rcar: Add a helper macro to set xhci_plat_priv (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: host: xhci-plat: add quirks member into struct xhci_plat_priv (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] xhci: fix possible memleak on setup address fails (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] xhci: add TSP bitflag to TRB tracing (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: xhci: dbc: Use GFP_KERNEL instead of GFP_ATOMIC in 'xhci_dbc_alloc_requests()' (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: xhci: dbc: Simplify error handling in 'xhci_dbc_alloc_requests()' (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: typec: tps6598x: Fix build error without CONFIG_REGMAP_I2C (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: remove commented out dma wrappers (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: remove a stale comment in hcd_alloc_coherent (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb-storage: use hcd_uses_dma to check for DMA capabilities (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: common: Simplify usb_decode_get_set_descriptor function (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: common: Patch simplify usb_decode_set_clear_feature function (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: common: Separated decoding functions from dwc3 driver (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: xhci-mtk: add an optional xhci_ck clock (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: serial: ftdi_sio: add support for FT232H CBUS gpios (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [include] device property: Remove duplicate test for NULL (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: roles: intel_xhci: Supplying software node for the role mux (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [phy] phy: core: document phy_calibrate() (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: usb-skeleton: make comment block in line with coding style (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: usbfs: only account once for mmap()'ed usb memory usage (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: typec: fusb302: Call fusb302_debugfs_init earlier (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: typec: fusb302: Use usb_debug_root as root for our debugfs entry (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: typec: tcpm: Use usb_debug_root as root for our debugfs entry (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: ohci-nxp: enable compile-testing (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: storage: isd200: remove redundant assignment to variable sendToTransport (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: typec: fusb302: Always provide fwnode for the port (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: typec: fusb302: Remove unused properties (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: usbfs: Add a capability flag for runtime suspend (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb-storage: remove single-use define for debugging (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [include] usb: Add definitions for the USB2.0 hub TT requests (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: remove ehci-w90x900 driver (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usbfs: Add ioctls for runtime power management (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: usbsevseg: convert to use dev_groups (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: trancevibrator: convert to use dev_groups (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: atm: cxacru: convert to use dev_groups (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: lvstest: convert to use dev_groups (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: cytherm: convert to use dev_groups (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: cypress_cy7c63: convert to use dev_groups (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: usbtmc: convert to use dev_groups (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: usblp: convert to use dev_groups (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: ueagle-atm: convert to use dev_groups (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: typec: ucsi_ccg: convert i2c driver to use dev_groups (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: add support for dev_groups to struct usb_device_driver (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: add support for dev_groups to struct usb_driver (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: usbip: convert platform driver to use dev_groups (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: Disable USB2 LPM at shutdown (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: host: xhci-plat: Prevent an abnormally restrictive PHY init skipping (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: Remove dev_err() usage after platform_get_irq() (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: host: xhci-hub: fix extra endianness conversion (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: host: Remove call to memset after dma_alloc_coherent (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: typec: mux: Switch to use fwnode_property_count_uXX() (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: typec: tcpm: Switch to use fwnode_property_count_uXX() (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [include] usb: host: oxu210hp-hcd: remove include/linux/oxu210hp.h (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: core: hcd-pci: Use dev_get_drvdata where possible (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [i2c] i2c: nvidia-gpu: resume ccgx i2c client (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [i2c] i2c: nvidia-gpu: add runtime pm support (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [i2c] i2c: nvidia-gpu: refactor master_xfer (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: typec: Registering real device entries for the muxes (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: serial: f81232: implement break control (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: serial: f81232: add high baud rate support (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: serial: ark3116: drop redundant init_termios (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [i2c] i2c: nvidia-gpu: Supply CCGx driver the fw build info (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [phy] phy: core: Invoke pm_runtime_get_*/pm_runtime_put_* before invoking reset callback (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [of] of: property: Document that of_graph_get_endpoint_by_regs needs of_node_put (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [phy] phy: make phy-core explicitly non-modular (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [of] OF: properties: add missing of_node_put (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: xhci: fix 'broken_suspend' placement in struct xchi_hcd (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [i2c] i2c: nvidia-gpu: mark resume function as __maybe_unused (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [of] of: Use of_node_name_eq for node name comparisons (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [i2c] i2c: nvidia-gpu: limit reads also for combined messages (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [i2c] i2c: nvidia-gpu: adhere to I2C fault codes (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [i2c] i2c: nvidia-gpu: make pm_ops static (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [i2c] i2c: add i2c bus driver for NVIDIA GPU (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [tty] complete ->et_serial() switchover (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb_wwan: switch to ->et_serial() (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] whiteheat: switch to ->get_serial() (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] ti_usb_3410_5052: switch to ->et_serial() (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] ssu100: switch to ->get_serial() (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] quatech2: switch to ->get_serial() (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] pl2303: switch to ->get_serial() (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] opticon: switch to ->get_serial() (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] mos7840: switch to ->get_serial() (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] mos7720: switch to ->get_serial() (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] io_ti: switch to ->get_serial() (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] io_edgeport: switch to ->get_serial() (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] fdti_sio: switch to ->et_serial() (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] f81232: switch to ->get_serial() (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] ark3116: switch to ->get_serial() (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] cdc-acm: switch to ->et_serial() (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb-serial: begin switching to ->et_serial() (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [tty] tty_ioctl(): start taking TIOCSERIAL into separate methods (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [base] device connection: Remove device_connection_add() (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [base] device connection: Remove device_connection_find() (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [base] driver core: Fix device_pm_lock() locking for device links (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [base] driver code: print symbolic error code (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [base] device property: Fix the secondary firmware node handling in set_primary_fwnode() (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [base] driver core: add device probe log helper (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [base] driver core: Change delimiter in devlink device's name to "--" (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [base] device property: Avoid NULL pointer dereference in device_get_next_child_node() (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [base] driver core: Fix sleeping in invalid context during device link deletion (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [base] driver core: Add waiting_for_supplier sysfs file for devices (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [base] driver core: Add state_synced sysfs file for devices that support it (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [documentation] driver core: Expose device link details in sysfs (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [base] driver core: Avoid deferred probe due to fw_devlink_pause/resume() (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [base] driver core: Rename dev_links_info.defer_sync to defer_hook (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [base] driver core: Don't do deferred probe in parallel with kernel_init thread (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [base] software node: Use software_node_unregister() when unregistering group of nodes (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [base] driver core: Add device_is_dependent() to linux/device.h (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [base] driver core: Update device link status correctly for SYNC_STATE_ONLY links (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [base] software node: implement software_node_unregister() (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [lib] lib/test_printf: Add tests for pfw printk modifier (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [base] driver core: Remove unnecessary is_fwnode_dev variable in device_add() (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [base] drivers property: When no children in primary, try secondary (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [base] driver core: Fix handling of SYNC_STATE_ONLY + STATELESS device links (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [base] driver core: Fix SYNC_STATE_ONLY device link implementation (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [base] driver core: Remove check in driver_deferred_probe_force_trigger() (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [base] driver core: fw_devlink: Add support for batching fwnode parsing (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [base] driver core: Look for waiting consumers only for a fwnode's primary device (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [base] driver core: Move code to the right part of the file (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [base] driver core: Add device links from fwnode only for the primary device (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [base] Revert "Revert "driver core: Set fw_devlink to "permissive" behavior by default"" (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [base] driver core: Fix handling of fw_devlink=permissive (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [base] driver core: fw_devlink_flags can be static (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [base] driver core: Add fw_devlink kernel commandline option (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [base] driver core: Reevaluate dev->links.need_for_probe as suppliers are added (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [base] driver core: Skip unnecessary work when device doesn't have sync_state() (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [include] driver core: Add dev_has_sync_state() (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [base] driver core: Call sync_state() even if supplier has no consumers (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [base] driver core: Allow device link operations inside sync_state() (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [base] driver core: Add sync_state driver/bus callback (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [base] driver core: Add device link support for SYNC_STATE_ONLY flag (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [base] driver core: Fix creation of device links with PM-runtime flags (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [base] driver core: Remove device link creation limitation (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [include] driver core: Add missing description of new struct device_link field (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [base] driver core: Add device link flag DL_FLAG_AUTOPROBE_CONSUMER (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [base] driver core: Make driver core own stateful device links (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [base] driver core: Fix adding device links to probing suppliers (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [base] drivers: core: Remove glue dirs from sysfs earlier (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [base] driver core: Remove the link if there is no driver with AUTO flag (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [base] driver core: silence device link messages unless debugging (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [base] base: core: Remove WARN_ON from link dependencies check (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [base] device property: export set_secondary_fwnode() to modules (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [base] software node: Allow register and unregister software node groups (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [base] device property: Export fwnode_get_name() (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [base] Revert "software node: Simplify software_node_release() function" (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [base] software node: add basic tests for property entries (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [base] software node: remove separate handling of references (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [base] software node: implement reference properties (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [base] software node: allow embedding of small arrays into property_entry (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [base] software node: replace is_array with is_inline (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [include] software node: unify PROPERTY_ENTRY_XXX macros (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [base] software node: simplify property_entry_read_string_array() (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [base] software node: remove property_entry_read_uNN_array functions (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [base] software node: get rid of property_set_pointer() (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [firmware] efi/apple-properties: use PROPERTY_ENTRY_U8_ARRAY_LEN (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [include] software node: mark internal macros with double underscores (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [include] software node: introduce PROPERTY_ENTRY_XXX_ARRAY_LEN() (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [include] software node: remove DEV_PROP_MAX (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [base] software node: clean up property_copy_string_array() (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [base] driver core: Allow fwnode_operations.add_links to differentiate errors (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [base] driver core: Allow a device to wait on optional suppliers (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [base] device property: Add a function to obtain a node's prefix (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [base] device property: Add fwnode_get_name for returning the name of a node (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [base] device property: Add functions for accessing node's parents (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [base] device property: Move fwnode_get_parent() up (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [base] software node: Make argument to to_software_node const (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [base] software node: Get reference to parent swnode in get_parent op (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [include] driver core: Add support for linking devices during device addition (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [base] driver core: Add fwnode_to_dev() to look up device from fwnode (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [base] software node: Initialize the return value in software_node_find_by_name() (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [base] software node: Initialize the return value in software_node_to_swnode() (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [base] device connection: Add fwnode_connection_find_match() (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [base] software node: Add software_node_find_by_name() (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [base] drivers: Introduce device lookup variants by device type (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [base] drivers: Introduce device lookup variants by fwnode (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [base] device connection: Find connections also by checking the references (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [base] device property: Introduce fwnode_find_reference() (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [base] software node: Add software_node_get_reference_args() (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [base] software node: Use kobject name when finding child nodes by name (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [base] software node: Add support for static node descriptors (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [base] software node: Simplify software_node_release() function (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [base] software node: Allow node creation without properties (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [base] device property: Add fwnode_graph_get_endpoint_by_id() (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [base] drivers: base: swnode: Make two functions static (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [base] software node: Implement get_named_child_node fwnode callback (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [base] device connection: Find device connections also from device graphs (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [base] device connection: Prepare support for firmware described connections (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [base] driver core: drop use of BUS_ATTR() (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [base] driver core: bus: convert to use BUS_ATTR_WO and RW (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [base] drivers: base: swnode: check if swnode is NULL before dereferencing it (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [base] drivers: base: swnode: check if pointer p is NULL before dereferencing it (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [base] sysfs: Disable lockdep for driver bind/unbind files (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [base] device property: fix fwnode_graph_get_next_endpoint() documentation (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [base] drivers: base: swnode: remove need for a temporary string for the node name (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [base] kobject: return error code if writing /sys/.../uevent fails (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [base] device property: Remove struct property_set (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [base] device property: Move device_add_properties() to swnode.c (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [base] drivers: base: Introducing software nodes to the firmware node framework (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [mm] powerpc/64s/radix: Fix mm_cpumask trimming race vs kthread_use_mm (Chris von Recklinghausen) [1862347] - [powerpc] powerpc: select ARCH_WANT_IRQS_OFF_ACTIVATE_MM (Chris von Recklinghausen) [1862347] - [fs] mm: fix exec activate_mm vs TLB shootdown and lazy tlb switching race (Chris von Recklinghausen) [1862347] - [arm64] arm64: pgtable: Ensure dirty bit is preserved across pte_wrprotect() (Andrew Jones) [1908439] - [arm64] arm64: pgtable: Fix pte_accessible() (Andrew Jones) [1908439] - [kernel] kernel: fork: properly initialize task_struct->task_struct_rh (Rafael Aquini) [1895892] - [s390] s390/dasd: Process FCES path event notification (Philipp Rudo) [1723823] - [s390] s390/dasd: Prepare for additional path event handling (Philipp Rudo) [1723823] - [s390] s390/dasd: Display FC Endpoint Security information via sysfs (Philipp Rudo) [1723823] - [s390] s390/dasd: Fix operational path inconsistency (Philipp Rudo) [1723823] - [s390] s390/dasd: Store path configuration data during path handling (Philipp Rudo) [1723823] - [s390] s390/dasd: Move duplicate code to separate function (Philipp Rudo) [1723823] - [s390] s390/dasd: Remove unused parameter from dasd_generic_probe() (Philipp Rudo) [1723823] - [s390] s390/cio: Add support for FCES status notification (Philipp Rudo) [1723823] - [s390] s390/cio: Provide Endpoint-Security Mode per CU (Philipp Rudo) [1723823] - [s390] s390/cio: Export information about Endpoint-Security Capability (Philipp Rudo) [1723823] - [net] net/af_iucv: fix null pointer dereference on shutdown (Philipp Rudo) [1903966] - [s390] s390/dasd: fix null pointer dereference for ERP requests (Philipp Rudo) [1903965] - [tools] selftests: netfilter: add command usage (Hangbin Liu) [1899374] - [tools] selftests: netfilter: simplify command testing (Hangbin Liu) [1899374] - [tools] selftests: netfilter: remove unused variable in make_file() (Hangbin Liu) [1899374] - [tools] selftests: netfilter: exit on invalid parameters (Hangbin Liu) [1899374] - [tools] selftests: netfilter: fix header example (Hangbin Liu) [1899374] - [tools] selftests: netfilter: kill running process only (Hangbin Liu) [1899374] - [tools] selftests: netfilter: add MTU arguments to flowtables (Hangbin Liu) [1899374] - [tools] selftests: netfilter: add checktool function (Hangbin Liu) [1899374] - [tools] selftests: netfilter: add test case for conntrack helper assignment (Hangbin Liu) [1899374] - [tools] selftests: netfilter: extend nfqueue test case (Hangbin Liu) [1899374] - [tools] selftests: netfilter: add nfqueue test case (Hangbin Liu) [1899374] - [tools] selftests: netfilter: add ipvs tunnel test case (Hangbin Liu) [1899374] - [tools] selftests: netfilter: add ipvs nat test case (Hangbin Liu) [1899374] - [tools] selftests: netfilter: add ipvs test script (Hangbin Liu) [1899374] - [tools] selftests: netfilter: check icmp pkttoobig errors are set as related (Hangbin Liu) [1899374] - [hwtracing] intel_th: pci: Add Emmitsburg PCH support (Jiri Olsa) [1838703] - [hwtracing] intel_th: pci: Add Tiger Lake PCH-H support (Jiri Olsa) [1783492 1782729] - [hwtracing] intel_th: pci: Add Jasper Lake CPU support (Jiri Olsa) [1783097] - [hwtracing] intel_th: pci: Add Elkhart Lake CPU support (Jiri Olsa) [1783596] - [hwtracing] intel_th: pci: Add Elkhart Lake SOC support (Jiri Olsa) [1783596] - [hwtracing] intel_th: pci: Add Ice Lake CPU support (Jiri Olsa) [1838703 1783596 1783492 1783097 1782729] - [hwtracing] intel_th: Fix a NULL dereference when hub driver is not loaded (Jiri Olsa) [1838703 1783596 1783492 1783097 1782729] - [hwtracing] intel_th: msu: Make stopping the trace optional (Jiri Olsa) [1838703 1783596 1783492 1783097 1782729] - [hwtracing] intel_th: Fix user-visible error codes (Jiri Olsa) [1838703 1783596 1783492 1783097 1782729] - [hwtracing] intel_th: msu: Fix the unexpected state warning (Jiri Olsa) [1838703 1783596 1783492 1783097 1782729] - [hwtracing] intel_th: Disallow multi mode on devices where it's broken (Jiri Olsa) [1838703 1783596 1783492 1783097 1782729] - [hwtracing] intel_th: msu: Fix window switching without windows (Jiri Olsa) [1838703 1783596 1783492 1783097 1782729] - [hwtracing] intel_th: Fix freeing IRQs (Jiri Olsa) [1838703 1783596 1783492 1783097 1782729] - [hwtracing] intel_th: Fix a double put_device() in error path (Jiri Olsa) [1838703 1783596 1783492 1783097 1782729]- [idle] intel_idle: Fix intel_idle() vs tracing (David Arcari) [1903307] - [idle] intel_idle: Fix max_cstate for processor models without C-state tables (David Arcari) [1903307] - [idle] intel_idle: Ignore _CST if control cannot be taken from the platform (David Arcari) [1903307] - [idle] intel_idle: mention assumption that WBINVD is not needed (David Arcari) [1903307] - [idle] intel_idle: Remove uninitialized_var() usage (David Arcari) [1903307] - [idle] intel_idle: cleanup code to address out of order commits (David Arcari) [1903307] - [s390] Revert "s390/qeth: phase out OSN support" (Philipp Rudo) [1903962] - [net] net/smc: fix matching of existing link groups (Philipp Rudo) [1903961] - [netdrv] mlxsw: core: Use variable timeout for EMAD retries (Ivan Vecera) [1857594] - [netdrv] mlxsw: Fix firmware flashing (Ivan Vecera) [1857594] - [netdrv] mlxsw: core: Fix use-after-free in mlxsw_emad_trans_finish() (Ivan Vecera) [1857594] - [netdrv] mlxsw: core: Fix memory leak on module removal (Ivan Vecera) [1857594] - [netdrv] mlxsw: Only advertise link modes supported by both driver and device (Ivan Vecera) [1857594] - [tools] selftests: mlxsw: Add a PFC test (Ivan Vecera) [1857594] - [tools] selftests: mlxsw: Add headroom handling test (Ivan Vecera) [1857594] - [tools] selftests: mlxsw: qos_lib: Add a wrapper for running mlnx_qos (Ivan Vecera) [1857594] - [tools] selftests: forwarding: devlink_lib: Support port-less topologies (Ivan Vecera) [1857594] - [tools] selftests: forwarding: devlink_lib: Add devlink_cell_size_get() (Ivan Vecera) [1857594] - [tools] selftests: forwarding: devlink_lib: Split devlink_..._set() into save & set (Ivan Vecera) [1857594] - [netdrv] mlxsw: spectrum_ethtool: Expose transceiver_overheat counter (Ivan Vecera) [1857594] - [netdrv] mlxsw: Update module's settings when module is plugged in (Ivan Vecera) [1857594] - [netdrv] mlxsw: spectrum: Initialize netdev's module overheat counter (Ivan Vecera) [1857594] - [netdrv] mlxsw: Enable temperature event for all supported port module sensors (Ivan Vecera) [1857594] - [netdrv] mlxsw: Update transceiver_overheat counter according to MTWE (Ivan Vecera) [1857594] - [netdrv] mlxsw: core: Add an infrastructure to track transceiver overheat counter (Ivan Vecera) [1857594] - [netdrv] mlxsw: core_hwmon: Query MTMP before writing to set only relevant fields (Ivan Vecera) [1857594] - [netdrv] mlxsw: reg: Add Ports Module Administrative and Operational Status Register (Ivan Vecera) [1857594] - [netdrv] mlxsw: reg: Add Port Module Plug/Unplug Event Register (Ivan Vecera) [1857594] - [netdrv] mlxsw: reg: Add Management Temperature Warning Event Register (Ivan Vecera) [1857594] - [netdrv] mlxsw: spectrum_acl: Fix mlxsw_sp_acl_tcam_group_add()'s error path (Ivan Vecera) [1857594] - [netdrv] mlxsw: spectrum_router: simplify the return expression of __mlxsw_sp_router_init() (Ivan Vecera) [1857594] - [netdrv] mlxsw: spectrum_qdisc: Disable port buffer autoresize with qdiscs (Ivan Vecera) [1857594] - [netdrv] mlxsw: spectrum_dcb: Implement dcbnl_setbuffer / getbuffer (Ivan Vecera) [1857594] - [netdrv] mlxsw: spectrum_buffers: Support two headroom modes (Ivan Vecera) [1857594] - [netdrv] mlxsw: spectrum_buffers: Manage internal buffer in the hdroom code (Ivan Vecera) [1857594] - [netdrv] mlxsw: spectrum_buffers: Introduce shared buffer ops (Ivan Vecera) [1857594] - [netdrv] mlxsw: spectrum_buffers: Convert mlxsw_sp_port_headroom_init() (Ivan Vecera) [1857594] - [netdrv] mlxsw: spectrum_buffers: Inline mlxsw_sp_sb_max_headroom_cells() (Ivan Vecera) [1857594] - [netdrv] mlxsw: spectrum_buffers: Move here the new headroom code (Ivan Vecera) [1857594] - [netdrv] mlxsw: spectrum: Move here the three-step headroom configuration from DCB (Ivan Vecera) [1857594] - [netdrv] mlxsw: spectrum_dcb: Convert mlxsw_sp_port_pg_prio_map() to hdroom code (Ivan Vecera) [1857594] - [netdrv] mlxsw: spectrum_dcb: Convert ETS handler fully to mlxsw_sp_hdroom_configure() (Ivan Vecera) [1857594] - [netdrv] mlxsw: spectrum: Split headroom autoresize out of buffer configuration (Ivan Vecera) [1857594] - [netdrv] mlxsw: spectrum: Track buffer sizes in struct mlxsw_sp_hdroom (Ivan Vecera) [1857594] - [netdrv] mlxsw: spectrum: Track lossiness in struct mlxsw_sp_hdroom (Ivan Vecera) [1857594] - [netdrv] mlxsw: spectrum: Track priorities in struct mlxsw_sp_hdroom (Ivan Vecera) [1857594] - [netdrv] mlxsw: spectrum: Track MTU in struct mlxsw_sp_hdroom (Ivan Vecera) [1857594] - [netdrv] mlxsw: spectrum: Unify delay handling between PFC and pause (Ivan Vecera) [1857594] - [netdrv] mlxsw: spectrum_buffers: Add struct mlxsw_sp_hdroom (Ivan Vecera) [1857594] - [netdrv] mlxsw: core: Introduce fw_fatal health reporter (Ivan Vecera) [1857594] - [netdrv] mlxsw: reg: Add Monitoring FW General Debug Register (Ivan Vecera) [1857594] - [netdrv] mlxsw: reg: Add Monitoring FW Debug Register (Ivan Vecera) [1857594] - [netdrv] mlxsw: Move fw_load_policy devlink param into core.c (Ivan Vecera) [1857594] - [netdrv] mlxsw: core: Push code doing params register/unregister into separate helpers (Ivan Vecera) [1857594] - [netdrv] mlxsw: Move fw flashing code into core.c (Ivan Vecera) [1857594] - [netdrv] mlxsw: Bump firmware version to XX.2008.1310 (Ivan Vecera) [1857594] - [netdrv] mlxsw: spectrum_span: Derive SBIB from maximum port speed & MTU (Ivan Vecera) [1857594] - [netdrv] mlxsw: spectrum: Keep maximum speed around (Ivan Vecera) [1857594] - [netdrv] mlxsw: spectrum: Keep maximum MTU around (Ivan Vecera) [1857594] - [netdrv] mlxsw: spectrum_ethtool: Introduce ptys_max_speed callback (Ivan Vecera) [1857594] - [netdrv] mlxsw: spectrum_ethtool: Extract a helper to get Ethernet attributes (Ivan Vecera) [1857594] - [netdrv] mlxsw: core_hwmon: Extend hwmon interface with critical and emergency alarms (Ivan Vecera) [1857594] - [netdrv] mlxsw: core_hwmon: Calculate MLXSW_HWMON_ATTR_COUNT more accurately (Ivan Vecera) [1857594] - [netdrv] mlxsw: core_hwmon: Split temperature querying from show functions (Ivan Vecera) [1857594] - [netdrv] treewide: Use fallthrough pseudo-keyword (Ivan Vecera) [1857594] - [netdrv] mlxsw: spectrum_ethtool: Remove internal speeds from PTYS register (Ivan Vecera) [1857594] - [tools] selftests: mlxsw: Reduce runtime of tc-police scale test (Ivan Vecera) [1857594] - [tools] selftests: forwarding: Fix mausezahn delay parameter in mirror_test() (Ivan Vecera) [1857594] - [tools] selftests: mlxsw: Increase burst size for burst test (Ivan Vecera) [1857594] - [tools] selftests: mlxsw: Increase burst size for rate test (Ivan Vecera) [1857594] - [tools] selftests: mlxsw: Decrease required rate accuracy (Ivan Vecera) [1857594] - [netdrv] mlxsw: spectrum_trap: Adjust default policer burst size for Spectrum-{2, 3} (Ivan Vecera) [1857594] - [netdrv] mlxsw: spectrum_ptp: Use generic helper function (Ivan Vecera) [1857594] - [tools] selftests: mlxsw: RED: Test offload of trapping on RED qevents (Ivan Vecera) [1857594] - [netdrv] mlxsw: spectrum_qdisc: Offload action trap for qevents (Ivan Vecera) [1857594] - [netdrv] mlxsw: spectrum_trap: Add early_drop trap (Ivan Vecera) [1857594] - [netdrv] mlxsw: spectrum_trap: Allow for per-ASIC traps initialization (Ivan Vecera) [1857594] - [netdrv] mlxsw: spectrum_trap: Allow for per-ASIC trap groups initialization (Ivan Vecera) [1857594] - [netdrv] mlxsw: spectrum_span: On policer_id_base_ref_count, use dec_and_test (Ivan Vecera) [1857594] - [netdrv] mlxsw: spectrum_trap: Use 'size_t' for array sizes (Ivan Vecera) [1857594] - [netdrv] devlink: Pass extack when setting trap's action and group's parameters (Ivan Vecera) [1857594] - [net] devlink: Add early_drop trap (Ivan Vecera) [1857594] - [netdrv] mlxsw: spectrum_cnt: Use flex_array_size() helper in memcpy() (Ivan Vecera) [1857594] - [netdrv] mlxsw: spectrum_router: Fix use-after-free in router init / de-init (Ivan Vecera) [1857594] - [netdrv] mlxsw: core: Free EMAD transactions using kfree_rcu() (Ivan Vecera) [1857594] - [netdrv] mlxsw: core: Increase scope of RCU read-side critical section (Ivan Vecera) [1857594] - [netdrv] mlxsw: spectrum: Use different trap group for externally routed packets (Ivan Vecera) [1857594] - [netdrv] mlxsw: spectrum_router: Allow programming link-local host routes (Ivan Vecera) [1857594] - [netdrv] mlxsw: core: Add support for temperature thresholds reading for QSFP-DD transceivers (Ivan Vecera) [1857594] - [netdrv] mlxsw: core: Add ethtool support for QSFP-DD transceivers (Ivan Vecera) [1857594] - [netdrv] mlxsw: destroy workqueue when trap_register in mlxsw_emad_init (Ivan Vecera) [1857594] - [netdrv] mlxsw: core: Fix wrong SFP EEPROM reading for upper pages 1-3 (Ivan Vecera) [1857594] - [tools] selftests: mlxsw: Test policers' occupancy (Ivan Vecera) [1857594] - [tools] selftests: mlxsw: Add scale test for tc-police (Ivan Vecera) [1857594] - [tools] selftests: mlxsw: tc_restrictions: Test tc-police restrictions (Ivan Vecera) [1857594] - [tools] selftests: forwarding: Add tc-police tests (Ivan Vecera) [1857594] - [netdrv] mlxsw: spectrum_acl: Offload FLOW_ACTION_POLICE (Ivan Vecera) [1857594] - [netdrv] mlxsw: core_acl_flex_actions: Add police action (Ivan Vecera) [1857594] - [netdrv] mlxsw: core_acl_flex_actions: Work around hardware limitation (Ivan Vecera) [1857594] - [netdrv] mlxsw: spectrum_policer: Add devlink resource support (Ivan Vecera) [1857594] - [netdrv] mlxsw: spectrum_policer: Add policer core (Ivan Vecera) [1857594] - [netdrv] mlxsw: resources: Add resource identifier for global policers (Ivan Vecera) [1857594] - [netdrv] mlxsw: reg: Add policer bandwidth limits (Ivan Vecera) [1857594] - [netdrv] mlxsw: core: Use mirror reason during Rx listener lookup (Ivan Vecera) [1857594] - [netdrv] mlxsw: pci: Retrieve mirror reason from CQE during receive (Ivan Vecera) [1857594] - [netdrv] mlxsw: pci: Add mirror reason field to CQEv2 (Ivan Vecera) [1857594] - [netdrv] mlxsw: trap: Add trap identifiers for mirrored packets (Ivan Vecera) [1857594] - [netdrv] mlxsw: reg: Increase trap identifier to 10 bits (Ivan Vecera) [1857594] - [netdrv] mlxsw: spectrum_span: Allow setting policer on a SPAN agent (Ivan Vecera) [1857594] - [netdrv] mlxsw: spectrum_span: Allow passing parameters to SPAN agents (Ivan Vecera) [1857594] - [netdrv] mlxsw: spectrum_span: Add support for mirroring towards CPU port (Ivan Vecera) [1857594] - [netdrv] mlxsw: spectrum_span: Do not dereference destination netdev (Ivan Vecera) [1857594] - [netdrv] mlxsw: spectrum_span: Add driver private info to parms_set() callback (Ivan Vecera) [1857594] - [netdrv] mlxsw: spectrum_span: Add per-ASIC SPAN agent operations (Ivan Vecera) [1857594] - [netdrv] mlxsw: reg: add mirroring_pid_base to MOGCR register (Ivan Vecera) [1857594] - [netdrv] mlxsw: reg: Add session_id and pid to MPAT register (Ivan Vecera) [1857594] - [tools] selftests: mlxsw: RED: Test offload of mirror on RED early_drop qevent (Ivan Vecera) [1857594] - [netdrv] mlxsw: spectrum_qdisc: Offload mirroring on RED qevent early_drop (Ivan Vecera) [1857594] - [netdrv] mlxsw: spectrum_flow: Promote binder-type dispatch to spectrum.c (Ivan Vecera) [1857594] - [netdrv] mlxsw: spectrum_matchall: Publish matchall data structures (Ivan Vecera) [1857594] - [netdrv] mlxsw: spectrum_flow: Drop an unused field (Ivan Vecera) [1857594] - [netdrv] mlxsw: spectrum_flow: Convert a goto to a return (Ivan Vecera) [1857594] - [netdrv] mlxsw: spectrum_span: Add APIs to enable / disable global mirroring triggers (Ivan Vecera) [1857594] - [netdrv] mlxsw: spectrum_span: Add support for global mirroring triggers (Ivan Vecera) [1857594] - [netdrv] mlxsw: spectrum_span: Prepare for global mirroring triggers (Ivan Vecera) [1857594] - [netdrv] mlxsw: spectrum_span: Move SPAN operations out of global file (Ivan Vecera) [1857594] - [netdrv] mlxsw: reg: Add Monitoring Port Analyzer Global Register (Ivan Vecera) [1857594] - [netdrv] mlxsw: reg: Add Monitoring Mirror Trigger Enable Register (Ivan Vecera) [1857594] - [netdrv] mlxsw: pci: Fix use-after-free in case of failed devlink reload (Ivan Vecera) [1857594] - [netdrv] mlxsw: spectrum_router: Remove inappropriate usage of WARN_ON() (Ivan Vecera) [1857594] - [tools] selftests: forwarding: Add tests for ethtool extended state (Ivan Vecera) [1857594] - [tools] selftests: forwarding: forwarding.config.sample: Add port with no cable connected (Ivan Vecera) [1857594] - [tools] selftests: forwarding: ethtool: Move different_speeds_get() to ethtool_lib (Ivan Vecera) [1857594] - [netdrv] mlxsw: spectrum_ethtool: Add link extended state (Ivan Vecera) [1857594] - [netdrv] mlxsw: reg: Port Diagnostics Database Register (Ivan Vecera) [1857594] - [netdrv] mlxsw: spectrum_ethtool: Move mlxsw_sp_port_type_speed_ops structs (Ivan Vecera) [1857594] - [netdrv] mlxsw: Move ethtool_ops to spectrum_ethtool.c (Ivan Vecera) [1857594] - [netdrv] mlxsw: spectrum_dcb: Rename mlxsw_sp_port_headroom_set() (Ivan Vecera) [1857594] - [netdrv] mlxsw: Enforce firmware version for Spectrum-3 (Ivan Vecera) [1857594] - [netdrv] mlxsw: Bump firmware version to XX.2007.1168 (Ivan Vecera) [1857594] - [netdrv] mlxsw: spectrum_dcb: Fix a spelling typo in spectrum_dcb.c (Ivan Vecera) [1857594] - [tools] selftests: forwarding: Add a test for pedit munge tcp, udp sport, dport (Ivan Vecera) [1857594] - [netdrv] mlxsw: spectrum_acl: Support FLOW_ACTION_MANGLE for TCP, UDP ports (Ivan Vecera) [1857594] - [netdrv] mlxsw: core_acl_flex_actions: Add L4_PORT_ACTION (Ivan Vecera) [1857594] - [netdrv] mlxsw: spectrum: Split handling of pedit mangle by chip type (Ivan Vecera) [1857594] - [netdrv] mlxsw: spectrum: Do not rely on machine endianness (Ivan Vecera) [1857594] - [netdrv] mlxsw: spectrum: Adjust headroom buffers for 8x ports (Ivan Vecera) [1857594] - [netdrv] mlxsw: core: Use different get_trend() callbacks for different thermal zones (Ivan Vecera) [1857594] - [tools] selftests: mlxsw: Add test for control packets (Ivan Vecera) [1857594] - [netdrv] mlxsw: spectrum_trap: Register ACL control traps (Ivan Vecera) [1857594] - [netdrv] mlxsw: spectrum_trap: Register layer 3 control traps (Ivan Vecera) [1857594] - [netdrv] mlxsw: spectrum_trap: Register layer 2 control traps (Ivan Vecera) [1857594] - [netdrv] mlxsw: spectrum_trap: Factor out common Rx listener function (Ivan Vecera) [1857594] - [netdrv] mlxsw: spectrum_trap: Move layer 3 exceptions to exceptions trap group (Ivan Vecera) [1857594] - [netdrv] mlxsw: spectrum_router: remove redundant initialization of pointer br_dev (Ivan Vecera) [1857594] - [netdrv] mlxsw: spectrum_router: Allow programming link-local prefix routes (Ivan Vecera) [1857594] - [netdrv] mlxsw: spectrum: Add packet traps for BFD packets (Ivan Vecera) [1857594] - [netdrv] mlxsw: spectrum: Treat IPv6 link-local SIP as an exception (Ivan Vecera) [1857594] - [netdrv] mlxsw: spectrum: Share one group for all locally delivered packets (Ivan Vecera) [1857594] - [netdrv] mlxsw: reg: Move all trap groups under the same enum (Ivan Vecera) [1857594] - [netdrv] mlxsw: spectrum_trap: Do not hard code "thin" policer identifier (Ivan Vecera) [1857594] - [netdrv] mlxsw: switchx2: Move SwitchX-2 trap groups out of main enum (Ivan Vecera) [1857594] - [netdrv] mlxsw: spectrum: Reduce priority of locally delivered packets (Ivan Vecera) [1857594] - [netdrv] mlxsw: spectrum: Use same trap group for local routes and link-local destination (Ivan Vecera) [1857594] - [netdrv] mlxsw: spectrum: Use separate trap group for FID miss (Ivan Vecera) [1857594] - [netdrv] mlxsw: spectrum: Use same trap group for various IPv6 packets (Ivan Vecera) [1857594] - [netdrv] mlxsw: spectrum: Rename IPv6 ND trap group (Ivan Vecera) [1857594] - [netdrv] mlxsw: spectrum: Use same switch case for identical groups (Ivan Vecera) [1857594] - [netdrv] mlxsw: spectrum: Use dedicated trap group for ACL trap (Ivan Vecera) [1857594] - [netdrv] mlxsw: spectrum: Fix spelling mistake in trap's name (Ivan Vecera) [1857594] - [netdrv] mlxsw: spectrum: Use dedicated trap group for sampled packets (Ivan Vecera) [1857594] - [netdrv] mlxsw: spectrum: Use same trap group for IPv6 ND and ARP packets (Ivan Vecera) [1857594] - [netdrv] mlxsw: spectrum: Rename ARP trap group (Ivan Vecera) [1857594] - [netdrv] mlxsw: spectrum_trap: Remove unnecessary field (Ivan Vecera) [1857594] - [netdrv] mlxsw: spectrum: Align TC and trap priority (Ivan Vecera) [1857594] - [netdrv] mlxsw: spectrum_buffers: Assign non-zero quotas to TC 0 of the CPU port (Ivan Vecera) [1857594] - [netdrv] mlxsw: spectrum: Change default rate and priority of DHCP packets (Ivan Vecera) [1857594] - [netdrv] mlxsw: spectrum: Trap IPv4 DHCP packets in router (Ivan Vecera) [1857594] - [netdrv] mlxsw: spectrum: Use same trap group for MLD and IGMP packets (Ivan Vecera) [1857594] - [netdrv] mlxsw: spectrum: Rename IGMP trap group (Ivan Vecera) [1857594] - [tools] selftests: mlxsw: Do not hard code trap group name (Ivan Vecera) [1857594] - [tools] selftests: devlink_lib: Remove double blank line (Ivan Vecera) [1857594] - [netdrv] mlxsw: spectrum_trap: Store all trap data in one array (Ivan Vecera) [1857594] - [netdrv] mlxsw: spectrum_trap: Store all trap group data in one array (Ivan Vecera) [1857594] - [netdrv] mlxsw: spectrum_trap: Store all trap policer data in one array (Ivan Vecera) [1857594] - [netdrv] mlxsw: spectrum_trap: Move struct definition out of header file (Ivan Vecera) [1857594] - [tools] selftests: mlxsw: tc_restrictions: add couple of test for the correct matchall-flower ordering (Ivan Vecera) [1857594] - [tools] selftests: mlxsw: tc_restrictions: add test to check sample action restrictions (Ivan Vecera) [1857594] - [] selftests: mlxsw: rename tc_flower_restrictions.sh to tc_restrictions.sh (Ivan Vecera) [1857594] - [netdrv] mlxsw: spectrum_flower: Forbid to insert flower rules in collision with matchall rules (Ivan Vecera) [1857594] - [netdrv] mlxsw: spectrum_matchall: Forbid to insert matchall rules in collision with flower rules (Ivan Vecera) [1857594] - [netdrv] mlxsw: spectrum_matchall: Expose a function to get min and max rule priority (Ivan Vecera) [1857594] - [netdrv] mlxsw: spectrum_matchall: Put matchall list into substruct of flow struct (Ivan Vecera) [1857594] - [netdrv] mlxsw: spectrum_flower: Expose a function to get min and max rule priority (Ivan Vecera) [1857594] - [netdrv] mlxsw: spectrum_matchall: Restrict sample action to be allowed only on ingress (Ivan Vecera) [1857594] - [netdrv] mlxsw: spectrum_span: Remove old SPAN API (Ivan Vecera) [1857594] - [netdrv] mlxsw: spectrum_span: Use new analyzed ports list during speed / MTU change (Ivan Vecera) [1857594] - [netdrv] mlxsw: spectrum_acl: Convert flower-based mirroring to new SPAN API (Ivan Vecera) [1857594] - [netdrv] mlxsw: spectrum: Convert matchall-based mirroring to new SPAN API (Ivan Vecera) [1857594] - [netdrv] mlxsw: spectrum_span: Add APIs to bind / unbind a SPAN agent (Ivan Vecera) [1857594] - [netdrv] mlxsw: spectrum_span: Wrap buffer change in a function (Ivan Vecera) [1857594] - [netdrv] mlxsw: spectrum_span: Rename function (Ivan Vecera) [1857594] - [netdrv] mlxsw: spectrum_span: Add APIs to get / put an analyzed port (Ivan Vecera) [1857594] - [netdrv] mlxsw: spectrum_span: Add APIs to get / put a SPAN agent (Ivan Vecera) [1857594] - [netdrv] mlxsw: spectrum: Move flow offload binding into spectrum_flow.c (Ivan Vecera) [1857594] - [netdrv] mlxsw: spectrum_matchall: Process matchall events from the same cb as flower (Ivan Vecera) [1857594] - [netdrv] mlxsw: spectrum: Avoid copying sample values and use RCU pointer direcly instead (Ivan Vecera) [1857594] - [netdrv] mlxsw: spectrum_matchall: Push per-port rule add/del into separate functions (Ivan Vecera) [1857594] - [netdrv] mlxsw: spectrum_matchall: Move ingress indication into mall_entry (Ivan Vecera) [1857594] - [netdrv] mlxsw: spectrum_matchall: Pass mall_entry as arg to mlxsw_sp_mall_port_sample_add() (Ivan Vecera) [1857594] - [netdrv] mlxsw: spectrum_matchall: Pass mall_entry as arg to mlxsw_sp_mall_port_mirror_add() (Ivan Vecera) [1857594] - [netdrv] mlxsw: spectrum_acl: Use block variable in mlxsw_sp_acl_rule_del() (Ivan Vecera) [1857594] - [netdrv] mlxsw: spectrum: Push matchall bits into a separate file (Ivan Vecera) [1857594] - [netdrv] mlxsw: spectrum: Push flow_block related functions into a separate file (Ivan Vecera) [1857594] - [netdrv] mlxsw: spectrum: Rename acl_block to flow_block (Ivan Vecera) [1857594] - [netdrv] mlxsw: spectrum_acl: Move block helpers into inline header functions (Ivan Vecera) [1857594] - [netdrv] mlxsw: spectrum_span: Replace zero-length array with flexible-array member (Ivan Vecera) [1857594] - [netdrv] mlxsw: spectrum_span: Use 'refcount_t' for reference counting (Ivan Vecera) [1857594] - [netdrv] mlxsw: spectrum_span: Remove unnecessary debug prints (Ivan Vecera) [1857594] - [netdrv] mlxsw: spectrum_span: Rename parms() to parms_set() (Ivan Vecera) [1857594] - [netdrv] mlxsw: spectrum_span: Reduce nesting in mlxsw_sp_span_entry_configure() (Ivan Vecera) [1857594] - [netdrv] net/mlxfw: Remove unneeded semicolon (Ivan Vecera) [1857594] - [netdrv] mlxsw: reg: Increase register field length to 13 bits (Ivan Vecera) [1857594] - [netdrv] mlxsw: spectrum_router: Re-increase scale of IPv6 nexthop groups (Ivan Vecera) [1857594] - [net] ipv6: Fix use of anycast address with loopback (Ivan Vecera) [1899591] - [net] ipv6: addrconf_f6i_alloc - fix non-null pointer check to !IS_ERR() (Ivan Vecera) [1899591] - [net] ipv6: fix excessive RTF_ADDRCONF flag on ::1/128 local route (and others) (Ivan Vecera) [1899591] - [net] ipv6: Change addrconf_f6i_alloc to use ip6_route_info_create (Ivan Vecera) [1899591] - [net] ipv6: Move setting default metric for routes (Ivan Vecera) [1899591] - [net] Add extack argument to ip_fib_metrics_init (Ivan Vecera) [1899591] - [net] ipv6: do not leave garbage in rt->fib6_metrics (Ivan Vecera) [1899591] - [net] Move free of dst_metrics to helper (Ivan Vecera) [1899591] - [net] common metrics init helper for dst_entry (Ivan Vecera) [1899591] - [net] Move free of fib_metrics to helper (Ivan Vecera) [1899591] - [net] common metrics init helper for FIB entries (Ivan Vecera) [1899591] - [net] rtmsg_to_fib6_config() - use new style struct initializer instead of memset (Ivan Vecera) [1899591] - [powercap] powercap/intel_rapl: enumerate Psys RAPL domain together with package RAPL domain (Puneet Sethi) [1893463] - [powercap] powercap/intel_rapl: Fix domain detection (Puneet Sethi) [1893463]- [net] openvswitch: fix TTL decrement exception action execution (Eelco Chaudron) [1902610] - [net] openvswitch: fix error return code in validate_and_copy_dec_ttl() (Eelco Chaudron) [1902610] - [net] openvswitch: fix TTL decrement action netlink message format (Eelco Chaudron) [1902610] - [x86] hyperv: Enable 15-bit APIC ID if the hypervisor supports it (Vitaly Kuznetsov) [1903823] - [x86] kvm: Enable 15-bit extension when KVM_FEATURE_MSI_EXT_DEST_ID detected (Vitaly Kuznetsov) [1903823] - [documentation] x86/kvm: Reserve KVM_FEATURE_MSI_EXT_DEST_ID (Vitaly Kuznetsov) [1903823] - [iommu] hyper-v: Disable IRQ pseudo-remapping if 15 bit APIC IDs are available (Vitaly Kuznetsov) [1903823] - [x86] apic: Support 15 bits of APIC ID in MSI where available (Vitaly Kuznetsov) [1903823] - [x86] msi: Provide msi message shadow structs (Vitaly Kuznetsov) [1903823] - [kernel] genirq/msi: allow shadow declarations of msi_msg:: $member (Vitaly Kuznetsov) [1903823] - [x86] ioapic: Handle Extended Destination ID field in RTE (Vitaly Kuznetsov) [1903823] - [x86] apic: Always provide irq_compose_msi_msg() method for vector domain (Vitaly Kuznetsov) [1903823] - [x86] apic: Cleanup delivery mode defines (Vitaly Kuznetsov) [1903823] - [x86] apic/uv: Fix inconsistent destination mode (Vitaly Kuznetsov) [1903823] - [x86] msi: Only use high bits of MSI address for DMAR unit (Vitaly Kuznetsov) [1903823] - [x86] msi: Move compose message callback where it belongs (Vitaly Kuznetsov) [1903823] - [kernel] genirq/chip: Use the first chip in irq_chip_compose_msi_msg() (Vitaly Kuznetsov) [1903823] - [x86] apic: Fix x2apic enablement without interrupt remapping (Vitaly Kuznetsov) [1903823] - [tools] perf test: Fix msan uninitialized use (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] perf stat: Fix the ratio comments of miss-events (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] perf test: Free formats for perf pmu parse test (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] perf metric: Do not free metric when failed to resolve (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] perf metric: Free metric when it failed to resolve (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] perf metric: Release expr_parse_ctx after testing (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] perf test: Fix memory leaks in parse-metric test (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] perf parse-event: Fix memory leak in evsel->unit (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] perf evlist: Fix cpu/thread map leak (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] perf metric: Fix some memory leaks - part 2 (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] perf metric: Fix some memory leaks (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] perf test: Free aliases for PMU event map aliases test (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] perf vendor events amd: Remove trailing commas (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] perf test: Leader sampling shouldn't clear sample period (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] perf record: Prevent override of attr->sample_period for libpfm4 events (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] perf record: Set PERF_RECORD_PERIOD if attr->freq is set (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] perf bench: Fix 2 memory sanitizer warnings (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] perf test: Fix the "signal" test inline assembly (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] perf record/stat: Explicitly call out event modifiers in the documentation (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] libtraceevent: Fix build warning on 32-bit arches (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] perf jevents: Fix suspicious code in fixregex() (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] perf parse-events: Use uintptr_t when casting numbers to pointers (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] perf report: Disable ordered_events for raw dump (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] perf tools: Correct SNOOPX field offset (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] perf intel-pt: Fix corrupt data after perf inject from (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] perf cs-etm: Fix corrupt data after perf inject from (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] perf parse-events: Avoid an uninitialized read when using fake PMUs (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] perf stat: Fix out of bounds array access in the print_counters() evlist method (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] perf test: Set NULL sentinel in pmu_events table in "Parse and process metrics" test (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] perf parse-events: Set exclude_guest=1 for user-space counting (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] perf record: Correct the help info of option "--no-bpf-event" (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] perf tools: Use zd for size_t printf formats on 32-bit (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] perf: arm-spe: Fix check error when synthesizing events (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] perf symbols: Add mwait_idle_with_hints.constprop.0 to the list of idle symbols (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] perf sched timehist: Fix use of CPU list with summary option (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] perf test: Fix basic bpf filtering test (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] perf ftrace: Make option description initials all capital letters (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] perf build-ids: Fall back to debuginfod query if debuginfo not found (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] perf bench numa: Remove dead code in parse_nodes_opt() (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] perf stat: Update POWER9 metrics to utilize other metrics (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] perf ftrace: Add change log (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] perf: ftrace: Add set_tracing_options() to set all trace options (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] perf ftrace: Add option --tid to filter by thread id (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] perf ftrace: Add option -D/--delay to delay tracing (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] perf: ftrace: Allow set graph depth by '--graph-opts' (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] perf ftrace: Add support for trace option tracing_thresh (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] perf ftrace: Add option 'verbose' to show more info for graph tracer (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] perf ftrace: Add support for tracing option 'irq-info' (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] perf ftrace: Add support for trace option funcgraph-irqs (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] perf ftrace: Add support for trace option sleep-time (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] perf ftrace: Add support for tracing option 'func_stack_trace' (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] perf tools: Add general function to parse sublevel options (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] perf ftrace: Add option '--inherit' to trace children processes (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] perf ftrace: Show trace column header (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] perf ftrace: Add option '-m/--buffer-size' to set per-cpu buffer size (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] perf ftrace: Factor out function write_tracing_file_int() (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] perf ftrace: Add option '-F/--funcs' to list available functions (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] perf ftrace: Select function/function_graph tracer automatically (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] perf bench numa: Use numa_node_to_cpus() to bind tasks to nodes (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] perf bench numa: Fix cpumask memory leak in node_has_cpus() (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] tools build feature: Quote CC and CXX for their arguments (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] perf tools: Fix module symbol processing (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] perf tools: Rename 'enum dso_kernel_type' to 'enum dso_space_type' (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] libperf: Fix man page typos (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] perf test: Allow multiple probes in record+script_probe_vfs_getname.sh (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] perf bench mem: Always memset source before memcpy (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] perf sched: Prefer sched_waking event when it exists (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] perf bench: Fix a couple of spelling mistakes in options text (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] perf bench numa: Fix benchmark names (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] perf bench numa: Fix number of processes in "2x3-convergence" test (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] perf trace beauty: Use the autogenerated protocol family table (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] perf trace beauty: Add script to autogenerate socket families table (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] perf script: Add 'tod' field to display time of day (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] perf script: Change the 'enum perf_output_field' enumerators to be 64 bits (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] perf data: Add support to store time of day in CTF data conversion (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] perf tools: Move clockid_res_ns under clock struct (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] perf header: Store clock references for -k/--clockid option (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] perf tools: Add clockid_name function (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] perf clockid: Move parse_clockid() to new clockid object (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] tools lib traceevent: Handle possible strdup() error in tep_add_plugin_path() API (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] libtraceevent: Fixed description of tep_add_plugin_path() API (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] libtraceevent: Fixed type in PRINT_FMT_STING (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] libtraceevent: Fixed broken indentation in parse_ip4_print_args() (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] libtraceevent: Improve error handling of tep_plugin_add_option() API (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] libtraceevent: Fix typo in tep_plugin_add_option() description (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] libtraceevent: Handle strdup() error in parse_option_name() (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] libtraceevent: Document tep_load_plugins_hook() (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] perf evsel: Extend message to mention CAP_SYS_PTRACE and perf security doc link (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] perf intel-pt: Add support for decoding PSB+ only (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] perf intel-pt: Add support for decoding FUP/TIP only (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] perf auxtrace: Add itrace 'q' option for quicker, less detailed decoding (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] perf intel-pt: Time filter logged perf events (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] perf intel-pt: Use itrace debug log flags to suppress some messages (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] perf auxtrace: Add optional log flags to the itrace 'd' option (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] perf intel-pt: Use itrace error flags to suppress some errors (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] perf auxtrace: Add optional error flags to the itrace 'e' option (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] perf auxtrace: Add missing itrace options to help text (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] perf tools: Improve aux_output not supported error (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] perf intel-pt: Fix duplicate branch after CBR (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] perf intel-pt: Fix FUP packet state (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] perf record: Introduce --control fd:ctl-fdoptions (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] perf record: Implement control commands handling (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] perf record: Extend -D, --delay option with -1 value (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] perf stat: Introduce --control fd:ctl-fdoptions (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] perf bench: Add benchmark of find_next_bit (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] tools build feature: Use CC and CXX from parent (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] perf metric: Rename group_list to metric_list (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] perf metric: Rename struct egroup to metric (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] perf metric: Add metric group test (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] perf metric: Make compute_single function more precise (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] perf metric: Add recursion check when processing nested metrics (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] perf metric: Add DCache_L2 to metric parse test (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] perf metric: Add cache_miss_cycles to metric parse test (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] perf metric: Add events for the current list (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] perf metric: Compute referenced metrics (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] perf metric: Add referenced metrics to hash data (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] perf metric: Collect referenced metrics in struct metric_expr (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] perf metric: Collect referenced metrics in struct metric_ref_node (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] perf metric: Rename __metricgroup__add_metric to __add_metric (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] perf metric: Add add_metric function (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] perf metric: Add macros for iterating map events (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] perf metric: Add expr__del_id function (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] perf metric: Change expr__get_id to return struct expr_id_data (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] perf metric: Add expr__add_id function (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] perf metric: Fix memory leak in expr__add_id function (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] perf test: Ensure sample_period is set libpfm4 events (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] perf tools: Fix term parsing for raw syntax (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] perf tools: Allow r0x event syntax (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] perf tools: No need to cache the PMUs in ARM SPE auxtrace init routine (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] perf bench: Add basic syscall benchmark (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] perf stat: Implement control commands handling (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] perf stat: extend -D, --delay option with -1 value (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] perf stat: Factor out event handling loop into dispatch_events() (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] perf stat: Factor out body of event handling loop for fork case (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] perf stat: Move target check to loop control statement (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] perf stat: Factor out body of event handling loop for system wide (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] perf evlist: Implement control command handling functions (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] perf evlist: Introduce control file descriptors (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] libperf: Avoid counting of nonfilterable fdarray fds (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] libperf: Add flags to fdarray fds objects (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] libperf: Avoid internal moving of fdarray fds (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] perf metric: Add 'struct expr_id_data' to keep expr value (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] perf metric: Rename expr__add_id() to expr__add_val() (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] perf probe: Warn if the target function is a GNU indirect function (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] perf probe: Fix memory leakage when the probe point is not found (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] perf probe: Fix wrong variable warning when the probe point is not found (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] perf probe: Avoid setting probes on the same address for the same event (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] perf kmem: Pass additional arguments to 'perf record' (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] perf parse-events: Report BPF errors (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] perf script: Show text poke address symbol (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] perf script: Add option --show-text-poke-events (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] perf intel-pt: Add support for text poke events (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] perf tools: Add support for PERF_RECORD_TEXT_POKE (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] perf annotate: Fix non-null terminated buffer returned by readlink() (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] perf inject jit: Remove //anon mmap events (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] perf symbols: Add s390 idle functions 'psw_idle' and 'psw_idle_exit' to list of idle symbols (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] tools lib traceevent: Fix reporting of unknown SVM exit reasons (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] tools lib traceevent: Change to SPDX License format (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] tools lib traceevent: Add builtin handler for trace_marker_raw (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] tools lib traceevent: Move kernel_stack event handler to "function" plugin (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] tools lib traceevent: Add plugin for decoding syscalls/sys_enter_futex (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] tools lib traceevent: Add offset option for function plugin (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] tools lib traceevent: Add more SVM exit reasons (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] tools lib traceevent: Add plugin for tlb_flush (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] tools lib traceevent: Optimize pretty_print() function (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] tools lib traceevent: Add support for more printk format specifiers (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] tools lib traceevent: Introduced new traceevent API, for adding new plugins directories (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] tools lib traceevent: Add interface for options to plugins (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] tools lib traceevent: Add tep_load_plugins_hook() API (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] perf parse-events: Disable a subset of bison warnings (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] perf parse-events: Disable a subset of flex warnings (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] perf parse-events: Declare bison header file output (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] perf expr: Add missing headers noticed when building with NO_LIBBPF=1 (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] perf parse-events: Declare flex header file output (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] perf pmu: Add flex debug build flag (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] perf pmu: Add bison debug build flag (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] perf parse-events: Use automatic variable for yacc input (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] perf parse-events: Use automatic variable for flex input (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] perf evlist: Fix the class prefix for 'struct evlist' branch_type methods (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] perf evlist: Fix the class prefix for 'struct evlist' sample_id_all methods (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] perf evlist: Fix the class prefix for 'struct evlist' sample_type methods (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] perf evlist: Fix the class prefix for 'struct evlist' strerror methods (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] perf evlist: Fix the class prefix for 'struct evlist' 'add' evsel methods (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] perf pmu: Improve CPU core PMU HW event list ordering (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] perf pmu: List kernel supplied event aliases for arm64 (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] perf cs-etm: Allow no CoreSight sink to be specified on command line (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] perf expr: Add < and > operators (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] perf expr: Add d_ratio operation (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] perf script: Fixup some evsel/evlist method names (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] perf tests: Add parse metric test for frontend metric (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] perf tests: Add parse metric test for ipc metric (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] perf tools: Add test_generic_metric function (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] perf tools: Release metric_events rblist (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] perf tools: Factor out prepare_metric function (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] perf tools: Add metricgroup__parse_groups_test function (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] perf tools: Add map to parse_groups() function (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] perf tools: Add fake_pmu to parse_group() function (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] perf parse: Factor out parse_groups() function (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] perf tests: Add another metric parsing test (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] perf pmu: Add a perf_pmu__fake object to use with __parse_events() (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] perf parse: Provide a way to pass a fake_pmu to parse_events() (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] perf tests: Factor check_parse_id function (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] perf tools: Add fake pmu support (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] perf annotate: Remove unneeded conversion to bool (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] tools/: replace HTTP links with HTTPS ones (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] tools, build: Propagate build failures from tools/build/Makefile.build (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [x86] x86/cpufeatures: Add Architectural LBRs feature bit (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [x86] perf/x86/rapl: Add support for Intel SPR platform (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [x86] perf/x86/rapl: Support multiple RAPL unit quirks (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [x86] perf/x86/rapl: Fix missing psys sysfs attributes (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [kernel] perf/core: Take over CAP_SYS_PTRACE creds to CAP_PERFMON capability (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [kernel] perf: Expose get/put_callchain_entry() (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [include] perf: : drop a duplicated word (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [x86] perf/x86: Remove task_ctx_size (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [x86] perf/x86/intel/lbr: Create kmem_cache for the LBR context data (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [kernel] perf/core: Use kmem_cache to allocate the PMU specific data (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [kernel] perf/core: Factor out functions to allocate/free the task_ctx_data (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [x86] perf/x86/intel/lbr: Support Architectural LBR (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [x86] perf/x86/intel/lbr: Factor out intel_pmu_store_lbr (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [x86] perf/x86/intel/lbr: Factor out rdlbr_all() and wrlbr_all() (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [x86] perf/x86/intel/lbr: Mark the {rd, wr}lbr_{to, from} wrappers __always_inline (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [x86] perf/x86/intel/lbr: Unify the stored format of LBR information (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [x86] perf/x86/intel/lbr: Support LBR_CTL (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [x86] x86/msr-index: Add bunch of MSRs for Arch LBR (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [x86] perf/x86: Expose CPUID enumeration bits for arch LBR (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [x86] perf/x86/intel/lbr: Use dynamic data structure for task_ctx (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [x86] perf/x86/intel/lbr: Factor out a new struct for generic optimization (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [x86] perf/x86/intel/lbr: Add the function pointers for LBR save and restore (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [x86] perf/x86/intel/lbr: Add a function pointer for LBR read (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [x86] perf/x86/intel/lbr: Add a function pointer for LBR reset (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [x86] perf/x86: Keep LBR records unchanged in host context for guest usage (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [x86] perf/x86: Add constraint to create guest LBR event without hw counter (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [x86] perf/x86/lbr: Add interface to get LBR information (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [x86] perf/x86: Provide stubs of KVM helpers for non-Intel CPUs (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [x86] perf/x86/core: Refactor hw->idx checks and cleanup (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [x86] perf/x86: Fix variable types for LBR registers (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [kernel] perf: Add perf text poke event (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [uapi] perf: Add perf_event_mmap_page::cap_user_time_short ABI (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [x86] sev-es: Do not support MMIO to/from encrypted memory (Vitaly Kuznetsov) [1868080] - [x86] head/64: Check SEV encryption before switching to kernel page-table (Vitaly Kuznetsov) [1868080] - [x86] boot/compressed/64: Sanity-check CPUID results in the early #VC handler (Vitaly Kuznetsov) [1868080] - [x86] boot/compressed/64: Check SEV encryption in 64-bit boot-path (Vitaly Kuznetsov) [1868080] - [x86] boot/compressed/64: Introduce sev_status (Vitaly Kuznetsov) [1868080] - [x86] sev-es: Use GHCB accessor for setting the MMIO scratch buffer (Vitaly Kuznetsov) [1868080] - [x86] head/64: Disable stack protection for head$(BITS).o (Vitaly Kuznetsov) [1868080] - [x86] sev-es: Check required CPU features for SEV-ES (Vitaly Kuznetsov) [1868080] - [x86] efi: Add GHCB mappings when SEV-ES is active (Vitaly Kuznetsov) [1868080] - [x86] sev-es: Handle NMI State (Vitaly Kuznetsov) [1868080] - [x86] sev-es: Support CPU offline/online (Vitaly Kuznetsov) [1868080] - [x86] head/64: Don't call verify_cpu() on starting APs (Vitaly Kuznetsov) [1868080] - [x86] smpboot: Load TSS and getcpu GDT entry before loading IDT (Vitaly Kuznetsov) [1868080] - [x86] realmode: Setup AP jump table (Vitaly Kuznetsov) [1868080] - [x86] realmode: Add SEV-ES specific trampoline entry point (Vitaly Kuznetsov) [1868080] - [x86] vmware: Add VMware-specific handling for VMMCALL under SEV-ES (Vitaly Kuznetsov) [1868080] - [x86] kvm: Add KVM-specific VMMCALL handling under SEV-ES (Vitaly Kuznetsov) [1868080] - [x86] paravirt: Allow hypervisor-specific VMMCALL handling under SEV-ES (Vitaly Kuznetsov) [1868080] - [x86] sev-es: Handle #DB Events (Vitaly Kuznetsov) [1868080] - [x86] sev-es: Handle #AC Events (Vitaly Kuznetsov) [1868080] - [x86] sev-es: Handle VMMCALL Events (Vitaly Kuznetsov) [1868080] - [x86] sev-es: Handle MWAIT/MWAITX Events (Vitaly Kuznetsov) [1868080] - [x86] sev-es: Handle MONITOR/MONITORX Events (Vitaly Kuznetsov) [1868080] - [x86] sev-es: Handle INVD Events (Vitaly Kuznetsov) [1868080] - [x86] sev-es: Handle RDPMC Events (Vitaly Kuznetsov) [1868080] - [x86] sev-es: Handle RDTSC(P) Events (Vitaly Kuznetsov) [1868080] - [x86] sev-es: Handle WBINVD Events (Vitaly Kuznetsov) [1868080] - [x86] sev-es: Handle DR7 read/write events (Vitaly Kuznetsov) [1868080] - [x86] sev-es: Handle MSR events (Vitaly Kuznetsov) [1868080] - [x86] sev-es: Handle MMIO String Instructions (Vitaly Kuznetsov) [1868080] - [x86] sev-es: Handle MMIO events (Vitaly Kuznetsov) [1868080] - [x86] sev-es: Handle instruction fetches from user-space (Vitaly Kuznetsov) [1868080] - [x86] sev-es: Wire up existing #VC exit-code handlers (Vitaly Kuznetsov) [1868080] - [x86] sev-es: Add a Runtime #VC Exception Handler (Vitaly Kuznetsov) [1868080] - [x86] entry/64: Add entry code for #VC handler (Vitaly Kuznetsov) [1868080] - [x86] dumpstack/64: Add noinstr version of get_stack_info() (Vitaly Kuznetsov) [1868080] - [x86] sev-es: Adjust #VC IST Stack on entering NMI handler (Vitaly Kuznetsov) [1868080] - [x86] boot/64: Explicitly map boot_params and command line (Vitaly Kuznetsov) [1868080] - [x86] boot/64: Initialize 5-level paging variables earlier (Vitaly Kuznetsov) [1868080] - [x86] sev-es: Allocate and map an IST stack for #VC handler (Vitaly Kuznetsov) [1868080] - [x86] debug: Allow a single level of #DB recursion (Vitaly Kuznetsov) [1868080] - [x86] entry: Remove DBn stacks (Vitaly Kuznetsov) [1868080] - [x86] entry, nmi: Disable #DB (Vitaly Kuznetsov) [1868080] - [x86] nmi: Protect NMI entry against instrumentation (Vitaly Kuznetsov) [1868080] - [x86] entry: Introduce local_db_{save, restore}() (Vitaly Kuznetsov) [1868080] - [x86] db: Split out dr6/7 handling (Vitaly Kuznetsov) [1868080] - [x86] Replace ist_enter() with nmi_enter() (Vitaly Kuznetsov) [1868080] - [x86] traps: Stop using ist_enter/exit() in do_int3() (Vitaly Kuznetsov) [1868080] - [x86] entry: Get rid of ist_begin/end_non_atomic() (Vitaly Kuznetsov) [1868080] - [x86] sev-es: Setup per-CPU GHCBs for the runtime handler (Vitaly Kuznetsov) [1868080] - [x86] sev-es: Setup GHCB-based boot #VC handler (Vitaly Kuznetsov) [1868080] - [x86] sev-es: Setup an early #VC handler (Vitaly Kuznetsov) [1868080] - [x86] sev-es: Compile early handler code into kernel image (Vitaly Kuznetsov) [1868080] - [x86] sev-es: Print SEV-ES info into the kernel log (Vitaly Kuznetsov) [1868080] - [x86] sev-es: Add SEV-ES Feature Detection (Vitaly Kuznetsov) [1868080] - [x86] head/64: Move early exception dispatch to C code (Vitaly Kuznetsov) [1868080] - [x86] idt: Make IDT init functions static inlines (Vitaly Kuznetsov) [1868080] - [x86] head/64: Install a CPU bringup IDT (Vitaly Kuznetsov) [1868080] - [x86] head/64: Switch to initial stack earlier (Vitaly Kuznetsov) [1868080] - [x86] head/64: Load segment registers earlier (Vitaly Kuznetsov) [1868080] - [x86] irq/64: Update stale comment (Vitaly Kuznetsov) [1868080] - [x86] head/64: Load GDT after switch to virtual addresses (Vitaly Kuznetsov) [1868080] - [x86] head/64: Install startup GDT (Vitaly Kuznetsov) [1868080] - [x86] idt: Split idt_data setup out of set_intr_gate() (Vitaly Kuznetsov) [1868080] - [x86] sev-es: Add CPUID handling to #VC handler (Vitaly Kuznetsov) [1868080] - [x86] fpu: Move xgetbv()/xsetbv() into a separate header (Vitaly Kuznetsov) [1868080] - [x86] cpu: Use XGETBV and XSETBV mnemonics in fpu/internal.h (Vitaly Kuznetsov) [1868080] - [x86] fpu: Reset MXCSR to default in kernel_fpu_begin() (Vitaly Kuznetsov) [1868080] - [x86] sev-es: Add support for handling IOIO exceptions (Vitaly Kuznetsov) [1868080] - [x86] boot/compressed/64: Unmap GHCB page before booting the kernel (Vitaly Kuznetsov) [1868080] - [x86] boot/compressed/64: Setup a GHCB-based VC Exception handler (Vitaly Kuznetsov) [1868080] - [x86] boot/compressed/64: Add set_page_en/decrypted() helpers (Vitaly Kuznetsov) [1868080] - [x86] boot/compressed/64: Check return value of kernel_ident_mapping_init() (Vitaly Kuznetsov) [1868080] - [x86] boot/compressed/64: Call set_sev_encryption_mask() earlier (Vitaly Kuznetsov) [1868080] - [x86] boot/compressed/64: Add stage1 #VC handler (Vitaly Kuznetsov) [1868080] - [x86] boot/compressed/64: Change add_identity_map() to take start and end (Vitaly Kuznetsov) [1868080] - [x86] boot/compressed/64: Don't pre-map memory in KASLR code (Vitaly Kuznetsov) [1868080] - [x86] boot/compressed/64: Always switch to own page table (Vitaly Kuznetsov) [1868080] - [x86] boot/compressed/64: Add page-fault handler (Vitaly Kuznetsov) [1868080] - [x86] boot/compressed/64: Rename kaslr_64.c to ident_map_64.c (Vitaly Kuznetsov) [1868080] - [x86] boot/compressed/64: Add IDT Infrastructure (Vitaly Kuznetsov) [1868080] - [x86] traps: Split trap numbers out in a separate header (Vitaly Kuznetsov) [1868080] - [x86] boot/compressed/64: Disable red-zone usage (Vitaly Kuznetsov) [1868080] - [x86] insn: Add insn_has_rep_prefix() helper (Vitaly Kuznetsov) [1868080] - [x86] insn: Add insn_get_modrm_reg_off() (Vitaly Kuznetsov) [1868080] - [x86] umip: Factor out instruction decoding (Vitaly Kuznetsov) [1868080] - [x86] umip: Factor out instruction fetch (Vitaly Kuznetsov) [1868080] - [tools] x86/insn: Make inat-tables.c suitable for pre-decompression code (Vitaly Kuznetsov) [1868080] - [x86] traps: Move pf error codes to (Vitaly Kuznetsov) [1868080] - [x86] cpufeatures: Add SEV-ES CPU feature (Vitaly Kuznetsov) [1868080] - [x86] kvm: svm: Use __packed shorthand (Vitaly Kuznetsov) [1868080] - [x86] kvm: svm: Add GHCB Accessor functions (Vitaly Kuznetsov) [1868080] - [x86] cpu: Unify cpu_init() (Vitaly Kuznetsov) [1868080] - [x86] insn-eval: Add support for 64-bit kernel mode (Vitaly Kuznetsov) [1868080] - [x86] boot/compressed: Get rid of GOT fixup code (Vitaly Kuznetsov) [1868080] - [kernel] x86/boot/compressed: Force hidden visibility for all symbol references (Vitaly Kuznetsov) [1868080] - [x86] boot/compressed: Move .got.plt entries out of the .got section (Vitaly Kuznetsov) [1868080] - [x86] boot: Correct relocation destination on old linkers (Vitaly Kuznetsov) [1868080] - [x86] boot/compressed/64: Switch to __KERNEL_CS after GDT is loaded (Vitaly Kuznetsov) [1868080] - [x86] boot/compressed: Fix reloading of GDTR post-relocation (Vitaly Kuznetsov) [1868080] - [x86] boot: Reload GDTR after copying to the end of the buffer (Vitaly Kuznetsov) [1868080] - [x86] boot/compressed: Don't declare __force_order in kaslr_64.c (Vitaly Kuznetsov) [1868080] - [mm] mm/userfaultfd: do not access vma->vm_mm after calling handle_userfault() (Philipp Rudo) [1903968] - [s390] s390/ap: fix ap devices reference counting (Philipp Rudo) [1903967] - [infiniband] RDMA/cxgb4: Validate the number of CQEs (Kamal Heib) [1894720] - [net] treewide: Use fallthrough pseudo-keyword (Petr Oros) [1892748] - [net] devlink: Remove overzealous WARN_ON with snapshots (Petr Oros) [1892748] - [net] devlink: ignore -EOPNOTSUPP errors on dumpit (Petr Oros) [1892748] - [net] devlink: Always use user_ptr[0] for devlink and simplify post_doit (Petr Oros) [1892748] - [net] devlink: Constify devlink instance pointer (Petr Oros) [1892748] - [net] devlink: Add comment for devlink instance lock (Petr Oros) [1892748] - [net] devlink: Do not hold devlink mutex when initializing devlink fields (Petr Oros) [1892748] - [docs] ice: add documentation for device-caps region (Petr Oros) [1892748] - [net] devlink: remove new uninitialized_var() usage (Petr Oros) [1892748] - [docs] networking: convert sja1105's devlink info to RTS (Petr Oros) [1892748] - [net] devlink: refactor end checks in devlink_nl_cmd_region_read_dumpit (Petr Oros) [1892748] - [docs] ice: cleanup language in ice.rst for fw.app (Petr Oros) [1892748] - [docs] devlink: don't wrap commands in rST shell blocks (Petr Oros) [1892748] - [net] devlink: Protect devlink port list traversal (Petr Oros) [1895042] - [net] devlink: Fix per port reporter fields initialization (Petr Oros) [1895042] - [net] devlink: Fix use-after-free when destroying health reporters (Petr Oros) [1895042] - [net] devlink: introduce the health reporter test command (Petr Oros) [1895042] - [net] devlink: Add devlink health port reporters API (Petr Oros) [1895042] - [net] devlink: Implement devlink health reporters on per-port basis (Petr Oros) [1895042] - [net] devlink: Create generic devlink health reporter search function (Petr Oros) [1895042] - [net] devlink: Rework devlink health reporter destructor (Petr Oros) [1895042] - [net] devlink: Refactor devlink health reporter constructor (Petr Oros) [1895042]- [md] dm writecache: fix the maximum number of arguments (Mike Snitzer) [1895117] - [md] dm writecache: advance the number of arguments when reporting max_age (Mike Snitzer) [1895117] - [x86] x86/cpu/amd: Make erratum #1054 a legacy erratum (Michael Petlan) [1791459] - [x86] x86/cpu/amd: Enable the fixed Instructions Retired counter IRPERF (Michael Petlan) [1791459] - [s390] s390/early: improve machine detection (Claudio Imbrenda) [1896307] - [infiniband] IB/mlx5: Fix fall-through warnings for Clang (Alaa Hleihel) [1858561] - [infiniband] RDMA/mlx5: Fix corruption of reg_pages in mlx5_ib_rereg_user_mr() (Alaa Hleihel) [1858561] - [netdrv] net/mlx5: Properly convey driver version to firmware (Alaa Hleihel) [1858561] - [netdrv] net/mlx5: DR, Proper handling of unsupported Connect-X6DX SW steering (Alaa Hleihel) [1858561] - [netdrv] net/mlx5e: kTLS, Enforce HW TX csum offload with kTLS (Alaa Hleihel) [1858561] - [netdrv] net: mlx5e: fix fs_tcp.c build when IPV6 is not enabled (Alaa Hleihel) [1858561] - [netdrv] net/mlx5: Fix wrong address reclaim when command interface is down (Alaa Hleihel) [1858561] - [netdrv] net/mlx5: E-Switch, Fail mlx5_esw_modify_vport_rate if qos disabled (Alaa Hleihel) [1858561] - [netdrv] net/mlx5: Disable QoS when min_rates on all VFs are zero (Alaa Hleihel) [1858561] - [netdrv] net/mlx5: Clear bw_share upon VF disable (Alaa Hleihel) [1858561] - [netdrv] net/mlx5: Add handling of port type in rule deletion (Alaa Hleihel) [1858561] - [netdrv] net/mlx5e: Fix check if netdev is bond slave (Alaa Hleihel) [1858561] - [netdrv] net/mlx5e: Set IPsec WAs only in IP's non checksum partial case (Alaa Hleihel) [1858561] - [netdrv] net/mlx5e: Fix incorrect access of RCU-protected xdp_prog (Alaa Hleihel) [1858561] - [netdrv] net/mlx5e: Fix VXLAN synchronization after function reload (Alaa Hleihel) [1858561] - [netdrv] net/mlx5: E-switch, Avoid extack error log for disabled vport (Alaa Hleihel) [1858561] - [netdrv] net/mlx5: Fix deletion of duplicate rules (Alaa Hleihel) [1858561] - [netdrv] net/mlx5e: Protect encap route dev from concurrent release (Alaa Hleihel) [1858561] - [netdrv] net/mlx5e: Fix modify header actions memory leak (Alaa Hleihel) [1858561] - [infiniband] RDMA/mlx5: Fix devlink deadlock on net namespace deletion (Alaa Hleihel) [1858561] - [infiniband] RDMA/mlx5: Fix type warning of sizeof in __mlx5_ib_alloc_counters() (Alaa Hleihel) [1858561] - [infiniband] RDMA/mlx5: Clarify what the UMR is for when creating MRs (Alaa Hleihel) [1858561] - [infiniband] RDMA/mlx5: Disable IB_DEVICE_MEM_MGT_EXTENSIONS if IB_WR_REG_MR can't work (Alaa Hleihel) [1858561] - [infiniband] RDMA/mlx5: Make mkeys always owned by the kernel's PD when not enabled (Alaa Hleihel) [1858561] - [infiniband] RDMA/mlx5: Use set_mkc_access_pd_addr_fields() in reg_create() (Alaa Hleihel) [1858561] - [infiniband] RDMA/mlx5: Remove dead check for EAGAIN after alloc_mr_from_cache() (Alaa Hleihel) [1858561] - [infiniband] RDMA/mlx5: Fix potential race between destroy and CQE poll (Alaa Hleihel) [1858561] - [netdrv] net/mlx5e: IPsec: Use kvfree() for memory allocated with kvzalloc() (Alaa Hleihel) [1858561] - [netdrv] net/mlx5e: TC: Remove unused parameter from mlx5_tc_ct_add_no_trk_match() (Alaa Hleihel) [1858561] - [netdrv] net/mlx5: E-Switch, Setup all vports' metadata to support peer miss rule (Alaa Hleihel) [1858561] - [netdrv] net/mlx5: E-Switch, Dedicated metadata for uplink vport (Alaa Hleihel) [1858561] - [netdrv] net/mlx5: E-Switch, Check and enable metadata support flag before using (Alaa Hleihel) [1858561] - [netdrv] net/mlx5: Don't call timecounter cyc2time directly from 1PPS flow (Alaa Hleihel) [1858561] - [netdrv] net/mlx5: Release clock lock before scheduling a PPS work (Alaa Hleihel) [1858561] - [netdrv] net/mlx5: Rename ptp clock info (Alaa Hleihel) [1858561] - [netdrv] net/mlx5: Always use container_of to find mdev pointer from clock struct (Alaa Hleihel) [1858561] - [netdrv] net/mlx5: Fix uninitialized variable warning (Alaa Hleihel) [1858561] - [netdrv] net/mlx5e: IPsec: Add Connect-X IPsec Tx data path offload (Alaa Hleihel) [1858561 1790222] - [netdrv] net/mlx5e: IPsec: Add TX steering rule per IPsec state (Alaa Hleihel) [1858561 1790222] - [netdrv] net/mlx5: Add NIC TX domain namespace (Alaa Hleihel) [1858561 1790222] - [netdrv] net/mlx5e: Enhanced TX MPWQE for SKBs (Alaa Hleihel) [1858561] - [netdrv] net/mlx5e: Move TX code into functions to be used by MPWQE (Alaa Hleihel) [1858561] - [netdrv] net/mlx5e: Rename xmit-related structs to generalize them (Alaa Hleihel) [1858561] - [netdrv] net/mlx5e: Generalize TX MPWQE checks for full session (Alaa Hleihel) [1858561] - [netdrv] net/mlx5e: Support multiple SKBs in a TX WQE (Alaa Hleihel) [1858561] - [netdrv] net/mlx5e: Move the TLS resync check out of the function (Alaa Hleihel) [1858561] - [netdrv] net/mlx5e: Unify constants for WQE_EMPTY_DS_COUNT (Alaa Hleihel) [1858561] - [netdrv] net/mlx5e: Small improvements for XDP TX MPWQE logic (Alaa Hleihel) [1858561] - [netdrv] net/mlx5e: Refactor xmit functions (Alaa Hleihel) [1858561] - [netdrv] net/mlx5e: Move mlx5e_tx_wqe_inline_mode to en_tx.c (Alaa Hleihel) [1858561] - [netdrv] net/mlx5e: Use struct assignment to initialize mlx5e_tx_wqe_info (Alaa Hleihel) [1858561] - [netdrv] net/mlx5e: Refactor inline header size calculation in the TX path (Alaa Hleihel) [1858561] - [netdrv] net/mlx5e: Add IPv6 traffic class (DSCP) header rewrite support (Alaa Hleihel) [1889981 1858561] - [netdrv] net/mlx5e: Add LAG warning if bond slave is not lag master (Alaa Hleihel) [1858561 1851709] - [netdrv] net/mlx5e: Add LAG warning for unsupported tx type (Alaa Hleihel) [1858561 1851709] - [netdrv] net/mlx5e: Return a valid errno if can't get lag device index (Alaa Hleihel) [1858561 1851709] - [netdrv] net/mlx5e: Fix race condition on nhe->n pointer in neigh update (Alaa Hleihel) [1858561] - [netdrv] net/mlx5e: Fix VLAN create flow (Alaa Hleihel) [1858561] - [netdrv] net/mlx5e: Fix VLAN cleanup flow (Alaa Hleihel) [1858561] - [netdrv] net/mlx5e: Fix return status when setting unsupported FEC mode (Alaa Hleihel) [1858561] - [netdrv] net/mlx5e: Fix driver's declaration to support GRE offload (Alaa Hleihel) [1858561 1819619] - [netdrv] net/mlx5e: CT, Fix coverity issue (Alaa Hleihel) [1858561] - [netdrv] net/mlx5e: Add resiliency in Striding RQ mode for packets larger than MTU (Alaa Hleihel) [1858561] - [netdrv] net/mlx5e: Fix error path for RQ alloc (Alaa Hleihel) [1858561] - [netdrv] net/mlx5: Fix request_irqs error flow (Alaa Hleihel) [1858561] - [netdrv] net/mlx5: cmdif, Avoid skipping reclaim pages if FW is not accessible (Alaa Hleihel) [1858561] - [netdrv] net/mlx5: Add retry mechanism to the command entry index allocation (Alaa Hleihel) [1858561] - [netdrv] net/mlx5: poll cmd EQ in case of command timeout (Alaa Hleihel) [1858561] - [netdrv] net/mlx5: Avoid possible free of command entry while timeout comp handler (Alaa Hleihel) [1858561] - [netdrv] net/mlx5: Fix a race when moving command interface to polling mode (Alaa Hleihel) [1858561] - [netdrv] net/mlx5e: mlx5e_fec_in_caps() returns a boolean (Alaa Hleihel) [1858561] - [netdrv] net/mlx5e: TLS, Do not expose FPGA TLS counter if not supported (Alaa Hleihel) [1858561] - [netdrv] net/mlx5e: Fix using wrong stats_grps in mlx5e_update_ndo_stats() (Alaa Hleihel) [1870593 1858561] - [netdrv] net/mlx5e: Fix multicast counter not up-to-date in "ip -s" (Alaa Hleihel) [1858561 1693130] - [netdrv] net/mlx5e: Fix endianness when calculating pedit mask first bit (Alaa Hleihel) [1889981 1858561] - [netdrv] net/mlx5e: Enable adding peer miss rules only if merged eswitch is supported (Alaa Hleihel) [1858561] - [netdrv] net/mlx5e: CT: Fix freeing ct_label mapping (Alaa Hleihel) [1858561] - [netdrv] net/mlx5e: Fix memory leak of tunnel info when rule under multipath not ready (Alaa Hleihel) [1858561] - [netdrv] net/mlx5e: Use synchronize_rcu to sync with NAPI (Alaa Hleihel) [1858561] - [netdrv] net/mlx5e: Use RCU to protect rq->xdp_prog (Alaa Hleihel) [1858561] - [netdrv] net/mlx5: Fix FTE cleanup (Alaa Hleihel) [1858561] - [infiniband] mlx5: Use fallthrough pseudo-keyword (Alaa Hleihel) [1858561] - [infiniband] RDMA/mlx5: Fix flow destination setting for RDMA TX flow table (Alaa Hleihel) [1858561] - [netdrv] net/mlx5: Delete extra dump stack that gives nothing (Alaa Hleihel) [1858561] - [netdrv] net/mlx5: convert to new udp_tunnel infrastructure (Alaa Hleihel) [1858561] - [netdrv] net/mlx5: DR, Change push vlan action sequence (Alaa Hleihel) [1858561] - [netdrv] net/mlx5e: Enable users to change VF/PF representors carrier state (Alaa Hleihel) [1858561] - [infiniband] RDMA/mlx5: Delete unreachable code (Alaa Hleihel) [1858561] - [netdrv] net/mlx5: drop unnecessary list_empty (Alaa Hleihel) [1858561] - [netdrv] net/mlx5: Use fallthrough pseudo-keyword (Alaa Hleihel) [1858583 1858561] - [netdrv] net/mlx5: DR, Reduce print level for matcher print (Alaa Hleihel) [1858561] - [netdrv] net/mlx5e: Add support for PCI relaxed ordering (Alaa Hleihel) [1858561] - [netdrv] net/mlx5e: Use indirect call wrappers for RX post WQEs functions (Alaa Hleihel) [1858561] - [netdrv] net/mlx5e: Move exposure of datapath function to txrx header (Alaa Hleihel) [1858561] - [netdrv] net/mlx5e: RX, Re-work initializaiton of RX function pointers (Alaa Hleihel) [1858561] - [netdrv] net/mlx5: E-switch, Use eswitch total_vports (Alaa Hleihel) [1858583 1858561] - [netdrv] net/mlx5: E-switch, Reuse total_vports and avoid duplicate nvports (Alaa Hleihel) [1858583 1858561] - [netdrv] net/mlx5: E-switch, Consider maximum vf vports for steering init (Alaa Hleihel) [1858583 1858561] - [netdrv] net/mlx5: Add function ID to reclaim pages debug log (Alaa Hleihel) [1858561] - [netdrv] net/mlx5: Hold pages RB tree per VF (Alaa Hleihel) [1858561] - [infiniband] RDMA/mlx5: Set mkey relaxed ordering by UMR with ConnectX-7 (Alaa Hleihel) [1858561] - [infiniband] RDMA/mlx5: Use MLX5_SET macro instead of local structure (Alaa Hleihel) [1858561] - [infiniband] RDMA/mlx5: Add missing srcu_read_lock in ODP implicit flow (Alaa Hleihel) [1858561] - [include] RDMA/mlx5: ConnectX-7 new capabilities to set relaxed ordering by UMR (Alaa Hleihel) [1858561] - [infiniband] RDMA/mlx5: Allow SQ modification (Alaa Hleihel) [1858561] - [netdrv] net/mlx5e: Do not request completion on every single UMR WQE (Alaa Hleihel) [1858561] - [netdrv] net/mlx5e: RX, Avoid indirect call in representor CQE handling (Alaa Hleihel) [1858561] - [netdrv] net/mlx5e: XDP, Avoid indirect call in TX flow (Alaa Hleihel) [1858561] - [netdrv] net/mlx5e: IPsec: Add Connect-X IPsec ESN update offload support (Alaa Hleihel) [1858561 1790222] - [netdrv] net/mlx5e: IPsec: Add Connect-X IPsec Rx data path offload (Alaa Hleihel) [1858561 1790222] - [netdrv] net/mlx5e: IPsec: Add IPsec steering in local NIC RX (Alaa Hleihel) [1858561 1790222] - [include] net/mlx5: Add IPsec related Flow steering entry's fields (Alaa Hleihel) [1858561 1790222] - [netdrv] net/mlx5: IPsec: Add HW crypto offload support (Alaa Hleihel) [1858561 1790222] - [netdrv] net/mlx5: Accel, Add core IPsec support for the Connect-X family (Alaa Hleihel) [1858561 1790222] - [netdrv] net/mlx5: E-switch, Reduce dependency on num_vfs during mode set (Alaa Hleihel) [1858583 1858561] - [netdrv] net/mlx5: E-switch, Avoid function change handler for non ECPF (Alaa Hleihel) [1858561] - [netdrv] net/mlx5: Make MLX5_EN_TLS non-prompt (Alaa Hleihel) [1858561] - [netdrv] net/mlx5: Enable count action for rules with allow action (Alaa Hleihel) [1858561] - [netdrv] net/mlx5: Add interface changes required for VDPA (Alaa Hleihel) [1858561] - [netdrv] net/mlx5: Add VDPA interface type to supported enumerations (Alaa Hleihel) [1858561] - [netdrv] net/mlx5: Support setting access rights of dma addresses (Alaa Hleihel) [1858561] - [netdrv] net/mlx5e: Move devlink port register and unregister calls (Alaa Hleihel) [1858561] - [infiniband] RDMA/mlx5: Remove unused to_mibmr function (Alaa Hleihel) [1858561] - [netdrv] net/mlx5: E-switch, When eswitch is unsupported, return -EOPNOTSUPP (Alaa Hleihel) [1858561] - [netdrv] net/mlx5: Added support for 100Gbps per lane link modes (Alaa Hleihel) [1858561] - [infiniband] RDMA/mlx5: Delete one-time used functions (Alaa Hleihel) [1858561] - [infiniband] RDMA/mlx5: Cleanup DEVX initialization flow (Alaa Hleihel) [1858561] - [infiniband] RDMA/mlx5: Separate flow steering logic from main.c (Alaa Hleihel) [1858561] - [infiniband] RDMA/mlx5: Separate counters from main.c (Alaa Hleihel) [1858561] - [infiniband] RDMA/mlx5: Separate restrack callbacks initialization from main.c (Alaa Hleihel) [1858561] - [infiniband] RDMA/mlx5: Limit the scope of mlx5_ib_enable_driver function (Alaa Hleihel) [1858561] - [infiniband] RDMA: Move XRCD to be under ib_core responsibility (Alaa Hleihel) [1858561] - [infiniband] RDMA/mlx5: Introduce UAPI to query PD attributes (Alaa Hleihel) [1858561] - [infiniband] RDMA/mlx5: Implement the query ucontext functionality (Alaa Hleihel) [1858561] - [infiniband] RDMA/mlx5: Refactor mlx5_ib_alloc_ucontext() response (Alaa Hleihel) [1858561] - [infiniband] RDMA/core: Optimize XRC target lookup (Alaa Hleihel) [1858561] - [infiniband] RDMA/mlx5: Get XRCD number directly for the internal use (Alaa Hleihel) [1858561] - [netdrv] net/mlx5: Enable QP number request when creating IPoIB underlay QP (Alaa Hleihel) [1858561] - [infiniband] RDMA/mlx5: Introduce ODP prefetch counter (Alaa Hleihel) [1858561] - [netdrv] net/mlx5e: Enhance TX timeout recovery (Alaa Hleihel) [1858561] - [netdrv] net/mlx5e: Enhance ICOSQ data on RX reporter's diagnose (Alaa Hleihel) [1858561] - [netdrv] net/mlx5e: Add EQ info to TX/RX reporter's diagnose (Alaa Hleihel) [1858561] - [netdrv] net/mlx5e: Enhance CQ data on diagnose output (Alaa Hleihel) [1858561] - [netdrv] net/mlx5e: Rename reporter's helpers (Alaa Hleihel) [1858561] - [netdrv] net/mlx5e: Add helper to get the RQ WQE counter (Alaa Hleihel) [1858561] - [netdrv] net/mlx5e: Add helper to get RQ WQE's head (Alaa Hleihel) [1858561] - [netdrv] net/mlx5e: Move RQ helpers to txrx.h (Alaa Hleihel) [1858561] - [netdrv] net/mlx5e: Align RX/TX reporters diagnose output format (Alaa Hleihel) [1858561] - [netdrv] net/mlx5e: Remove redundant RQ state query (Alaa Hleihel) [1858561] - [netdrv] net/mlx5e: Add a flush timeout define (Alaa Hleihel) [1858561] - [netdrv] net/mlx5e: Change reporters create functions to return void (Alaa Hleihel) [1858561] - [netdrv] net/mlx5e: fix memory leak of tls (Alaa Hleihel) [1858561] - [netdrv] net/mlx5e: Fix build break when CONFIG_XPS is not set (Alaa Hleihel) [1858561] - [netdrv] net/mlx5e: kTLS, Add kTLS RX HW offload support (Alaa Hleihel) [1858561] - [netdrv] net/mlx5e: kTLS, Use kernel API to extract private offload context (Alaa Hleihel) [1858561] - [netdrv] net/mlx5e: kTLS, Improve TLS feature modularity (Alaa Hleihel) [1858561] - [netdrv] net/mlx5e: Accel, Expose flow steering API for rules add/del (Alaa Hleihel) [1858561] - [netdrv] net/mlx5e: Receive flow steering framework for accelerated TCP flows (Alaa Hleihel) [1858561] - [netdrv] net/mlx5e: API to manipulate TTC rules destinations (Alaa Hleihel) [1858561] - [netdrv] net/mlx5e: Refactor build channel params (Alaa Hleihel) [1858561] - [netdrv] net/mlx5e: Turn XSK ICOSQ into a general asynchronous one (Alaa Hleihel) [1858561] - [netdrv] net/mlx5: kTLS, Improve TLS params layout structures (Alaa Hleihel) [1858561] - [include] net/mlx5: Avoid RDMA file inclusion in core driver (Alaa Hleihel) [1858561] - [netdrv] net/mlx5e: vxlan: Return bool instead of opaque ptr in port_lookup() (Alaa Hleihel) [1858561] - [netdrv] net/mlx5e: Move TC-specific function definitions into MLX5_CLS_ACT (Alaa Hleihel) [1858561] - [netdrv] net/mlx5: Use kfree(ft->g) in arfs_create_groups() (Alaa Hleihel) [1858561] - [netdrv] net/mlx5: FWTrace: Add missing space (Alaa Hleihel) [1858561] - [infiniband] RDMA/mlx5: Add support to get MR resource in RAW format (Alaa Hleihel) [1858561] - [infiniband] RDMA/mlx5: Add support to get CQ resource in RAW format (Alaa Hleihel) [1858561] - [infiniband] RDMA/mlx5: Add support to get QP resource in RAW format (Alaa Hleihel) [1858561] - [netdrv] net/mlx5: Add support in query QP, CQ and MKEY segments (Alaa Hleihel) [1858561] - [netdrv] net/mlx5: Export resource dump interface (Alaa Hleihel) [1858561] - [netdrv] net/mlx5: E-switch, Supporting setting devlink port function mac address (Alaa Hleihel) [1858561] - [netdrv] net/mlx5: Split mac address setting function for using state_lock (Alaa Hleihel) [1858561] - [netdrv] net/mlx5: E-switch, Support querying port function mac address (Alaa Hleihel) [1858561] - [netdrv] net/mlx5: Move helper to eswitch layer (Alaa Hleihel) [1858561] - [netdrv] net/mlx5: E-switch, Introduce and use eswitch support check helper (Alaa Hleihel) [1858583 1858561] - [netdrv] net/mlx5: Constify mac address pointer (Alaa Hleihel) [1858561] - [tty] serial: 8250: export serial8250_do_set_divisor() (Steve Best) [1784119] - [tty] serial: 8250: introduce get_divisor() and set_divisor() hook (Steve Best) [1784119] - [tty] serial: 8250: let serial8250_get_divisor() get uart_port * as param (Steve Best) [1784119] - [tty] serial: 8250_lpss: Add ->setup() for Elkhart Lake ports (Steve Best) [1784119] - [tty] serial: 8250_lpss: Switch over to MSI interrupts (Steve Best) [1784119] - [tty] serial: 8250_lpss: Enable HS UART on Elkhart Lake (Steve Best) [1784119] - [tty] serial: 8250_lpss: Get rid of custom LPSS_DEVICE() macro (Steve Best) [1784119] - [tty] serial: 8250_lpss: register DMA IRQ and pool with instance ID (Steve Best) [1784119] - [tty] serial: 8250_lpss: add fractional divisor support (Steve Best) [1784119] - [tty] serial: 8250_lpss: switch to use 8250_dwlib library (Steve Best) [1784119] - [tty] tty: serial: Use the correct style for SPDX License Identifier (Steve Best) [1784119] - [tty] serial: 8250_dw: split Synopsys DesignWare 8250 common functions (Steve Best) [1784119] - [tty] 8250_lpss: check null return when calling pci_ioremap_bar (Steve Best) [1784119] - [dma] dmaengine: dw: Remove misleading is_private property (Steve Best) [1784119] - [tty] serial: 8250: fix null-ptr-deref in serial8250_start_tx() (John Linville) [1903272] {CVE-2020-15437} - [i2c] i2c: designware-pci: Fix BUG_ON during device removal (Steve Best) [1784122] - [i2c] i2c: designware-pci: Add support for Elkhart Lake PSE I2C (Steve Best) [1784122] - [i2c] i2c: designware-pci: Switch over to MSI interrupts (Steve Best) [1784122] - [mmc] mmc: sdhci: Add LTR support for some Intel BYT based controllers (Steve Best) [1906791] - [mmc] mmc: sdhci-pci: Add max-frequency device property for Intel controllers (Steve Best) [1906791] - [powerpc] powerpc/64s: Trim offlined CPUs from mm_cpumasks (Steve Best) [1905892] - [kernel] kernel/cpu: add arch override for clear_tasks_mm_cpumask() mm handling (Steve Best) [1905892] - [mm] powerpc/64s/pseries: Fix hash tlbiel_all_isa300 for guest kernels (Steve Best) [1905892] - [mm] powerpc/64s: Fix hash ISA v3.0 TLBIEL instruction generation (Steve Best) [1905892] - [mm] powerpc/64s: Add cp_abort after tlbiel to invalidate copy-buffer address (Steve Best) [1905892] - [powerpc] powerpc: untangle cputable mce include (Steve Best) [1905892] - [mmc] mmc: sdhci-pci: Add support for Intel EHL (Steve Best) [1783588] - [scsi] qla2xxx: Update version to 10.02.00.104-k (Nilesh Javali) [1905493] - [scsi] scsi: qla2xxx: Fix device loss on 4G and older HBAs (Nilesh Javali) [1905493] - [scsi] scsi: qla2xxx: If fcport is undergoing deletion complete I/O with retry (Nilesh Javali) [1905493] - [scsi] scsi: qla2xxx: Fix the call trace for flush workqueue (Nilesh Javali) [1905493] - [scsi] scsi: qla2xxx: Fix flash update in 28XX adapters on big endian machines (Nilesh Javali) [1905493] - [scsi] scsi: qla2xxx: Handle aborts correctly for port undergoing deletion (Nilesh Javali) [1905493] - [scsi] scsi: qla2xxx: Fix N2N and NVMe connect retry failure (Nilesh Javali) [1905493] - [scsi] scsi: qla2xxx: Fix FW initialization error on big endian machines (Nilesh Javali) [1905493] - [scsi] scsi: qla2xxx: Fix crash during driver load on big endian machines (Nilesh Javali) [1905493] - [scsi] scsi: qla2xxx: Fix compilation issue in PPC systems (Nilesh Javali) [1905493] - [scsi] scsi: qla2xxx: Don't check for fw_started while posting NVMe command (Nilesh Javali) [1905493] - [scsi] scsi: qla2xxx: Tear down session if FW say it is down (Nilesh Javali) [1905493] - [scsi] scsi: qla2xxx: Limit interrupt vectors to number of CPUs (Nilesh Javali) [1905493] - [scsi] scsi: qla2xxx: Change post del message from debug level to log level (Nilesh Javali) [1905493] - [s390] s390/qeth: Remove pnso workaround (Philipp Rudo) [1903964] - [s390] s390/purgatory: do not build purgatory with kcov, kasan and friends (Philipp Rudo) [1900550] - [fs] iomap: Fix misplaced page flushing (Carlos Maiolino) [1868429] - [fs] iomap: Use round_down/round_up macros in __iomap_write_begin (Carlos Maiolino) [1868429] - [fs] iomap: Mark read blocks uptodate in write_begin (Carlos Maiolino) [1868429] - [fs] iomap: Clear page error before beginning a write (Carlos Maiolino) [1868429] - [fs] iomap: fix WARN_ON_ONCE() from unprivileged users (Carlos Maiolino) [1868429] - [fs] iomap: fall back to buffered writes for invalidation failures (Carlos Maiolino) [1868429] - [fs] iomap: Only invalidate page cache pages on direct IO writes (Carlos Maiolino) [1868429] - [fs] iomap: Make sure iomap_end is called after iomap_begin (Carlos Maiolino) [1868429] - [fs] iomap: Fix unsharing of an extent >2GB on a 32-bit machine (Carlos Maiolino) [1868429] - [fs] iomap: fix the iomap_fiemap prototype (Carlos Maiolino) [1868429] - [fs] iomap: remove lockdep_assert_held() (Carlos Maiolino) [1868429] - [mm] powerpc/numa: Fix a regression on memoryless node 0 (Steve Best) [1903613] - [mm] powerpc/numa: Offline memoryless cpuless node 0 (Steve Best) [1903613] - [mm] powerpc/numa: Prefer node id queried from vphn (Steve Best) [1903613] - [mm] powerpc/numa: Set numa_node for all possible cpus (Steve Best) [1903613] - [powerpc] powerpc/numa: Remove late request for home node associativity (Steve Best) [1903613] - [mm] powerpc/numa: Early request for home node associativity (Steve Best) [1903613] - [mm] powerpc/numa: Use cpu node map of first sibling thread (Steve Best) [1903613] - [x86] xen: don't unbind uninitialized lock_kicker_irq (Brian Masney) [1896786] - [net] Bluetooth: Acquire sk_lock.slock without disabling interrupts (Ivan Vecera) [1889859] - [wireless] mwifiex: fix double free (Jarod Wilson) [1860496] - [wireless] iwlwifi: dbg: run init_cfg function once per driver load (Jarod Wilson) [1860496] - [wireless] iwlwifi: dbg: remove no filter condition (Jarod Wilson) [1860496] - [wireless] iwlwifi: mvm: split a print to avoid a WARNING in ROC (Jarod Wilson) [1860496] - [wireless] qtnfmac: fix resource leaks on unsupported iftype error return path (Jarod Wilson) [1860496] - [net] nl80211: fix OBSS PD min and max offset validation (Jarod Wilson) [1860496] - [wireless] rtw88: Fix potential probe error handling race with wow firmware loading (Jarod Wilson) [1860496] - [wireless] rtw88: Fix probe error handling race with firmware loading (Jarod Wilson) [1860496] - [wireless] ath6kl: wmi: prevent a shift wrapping bug in ath6kl_wmi_delete_pstream_cmd() (Jarod Wilson) [1860496] - [wireless] ath11k: Add checked value for ath11k_ahb_remove (Jarod Wilson) [1860496] - [wireless] mwifiex: remove function pointer check (Jarod Wilson) [1860496] - [wireless] ath11k: fix uninitialized return in ath11k_spectral_process_data() (Jarod Wilson) [1860496] - [wireless] ath11k: fix a double free and a memory leak (Jarod Wilson) [1860496] - [wireless] rtw88: fix compile warning: (Jarod Wilson) [1860496] - [wireless] mwifiex: Remove unnecessary braces from HostCmd_SET_SEQ_NO_BSS_INFO (Jarod Wilson) [1860496] - [wireless] rtw88: don't treat NULL pointer as an array (Jarod Wilson) [1860496] - [wireless] mwifiex: Do not use GFP_KERNEL in atomic context (Jarod Wilson) [1860496] - [wireless] brcmfmac: check ndev pointer (Jarod Wilson) [1860496] - [wireless] ath11k: Fix possible memleak in ath11k_qmi_init_service (Jarod Wilson) [1860496] - [wireless] ath10k: Fix the size used in a 'dma_free_coherent()' call in an error handling path (Jarod Wilson) [1860496] - [wireless] ath9k: Fix potential out of bounds in ath9k_htc_txcompletion_cb() (Jarod Wilson) [1860496] - [wireless] ath9k_htc: Use appropriate rs_datalen type (Jarod Wilson) [1860496] - [wireless] ath6kl: prevent potential array overflow in ath6kl_add_new_sta() (Jarod Wilson) [1860496] - [net] net: wireless: nl80211: fix out-of-bounds access in nl80211_del_key() (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: reduce maximum VHT MPDU length to 7991 (Jarod Wilson) [1860496] - [net] mac80211: fix 80 MHz association to 160/80+80 AP on 6 GHz (Jarod Wilson) [1860496] - [net] mac80211: do not allow bigger VHT MPDUs than the hardware supports (Jarod Wilson) [1860496] - [net] cfg80211: fix 6 GHz channel conversion (Jarod Wilson) [1860496] - [net] mac80211: do not disable HE if HT is missing on 2.4 GHz (Jarod Wilson) [1860496] - [net] mac80211: Fix radiotap header channel flag for 6GHz band (Jarod Wilson) [1860496] - [net] lib80211: fix unmet direct dependendices config warning when !CRYPTO (Jarod Wilson) [1860496] - [net] mac80211: add AQL support for VHT160 tx rates (Jarod Wilson) [1860496] - [net] mac80211: extend AQL aggregation estimation to HE and fix unit mismatch (Jarod Wilson) [1860496] - [wireless] mwifiex: Increase AES key storage size to 256 bits (Jarod Wilson) [1860496] - [wireless] mt76: mt7915: use ieee80211_free_txskb to free tx skbs (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: use v1 MCU API on MT7615 to fix issues with adding/removing stations (Jarod Wilson) [1860496] - [net] cfg80211: Adjust 6 GHz frequency to channel conversion (Jarod Wilson) [1860496] - [net] mac80211: reduce packet loss event false positives (Jarod Wilson) [1860496] - [net] cfg80211: regulatory: reject invalid hints (Jarod Wilson) [1860496] - [net] wireless: fix wrong 160/80+80 MHz setting (Jarod Wilson) [1860496] - [net] mac80211: improve AQL aggregation estimation for low data rates (Jarod Wilson) [1860496] - [net] mac80211: factor out code to look up the average packet length duration for a rate (Jarod Wilson) [1860496] - [net] mac80211: use rate provided via status->rate on ieee80211_tx_status_ext for AQL (Jarod Wilson) [1860496] - [net] nl80211: fix NL80211_ATTR_HE_6GHZ_CAPABILITY usage (Jarod Wilson) [1860496] - [wireless] brcmfmac: reserve tx credit only when txctl is ready to send (Jarod Wilson) [1860496] - [net] wireless: Use fallthrough pseudo-keyword (Jarod Wilson) [1860496] - [wireless] rtl818x: constify ioreadX() iomem argument (as in generic implementation) (Jarod Wilson) [1860496] - [net] mac80211: Do not report beacon loss if beacon filtering enabled (Jarod Wilson) [1860496] - [net] mac80211: fix misplaced while instead of if (Jarod Wilson) [1860496] - [net] nl80211: use eth_zero_addr() to clear mac address (Jarod Wilson) [1860496] - [net] mac80211: use eth_zero_addr() to clear mac address (Jarod Wilson) [1860496] - [net] mac8211: fix struct initialisation (Jarod Wilson) [1860496] - [net] mac80211: Handle special status codes in SAE commit (Jarod Wilson) [1860496] - [wireless] brcmfmac: Set timeout value when configuring power save (Jarod Wilson) [1860496] - [wireless] hostap: use generic power management (Jarod Wilson) [1860496] - [wireless] rt2x00: pci: use generic power management (Jarod Wilson) [1860496] - [wireless] mt7601u: add missing release on skb in mt7601u_mcu_msg_send (Jarod Wilson) [1860496] - [wireless] iwlwifi: yoyo: don't print failure if debug firmware is missing (Jarod Wilson) [1860496] - [wireless] rtw88: 8821c: coex: add functions and parameters (Jarod Wilson) [1860496] - [wireless] rtw88: 8821c: make symbol 'rtw8821c_rtw_pwr_track_tbl' static (Jarod Wilson) [1860496] - [wireless] rtw88: add h2c command in debugfs (Jarod Wilson) [1860496] - [wireless] rtw88: allows driver to enable/disable beacon (Jarod Wilson) [1860496] - [wireless] rtw88: add ieee80211_ops::change_interface (Jarod Wilson) [1860496] - [wireless] rtw88: coex: only skip coex triggered by BT info (Jarod Wilson) [1860496] - [wireless] rtw88: update tx descriptor of mgmt and reserved page packets (Jarod Wilson) [1860496] - [wireless] rtw88: fix short GI capability based on current bandwidth (Jarod Wilson) [1860496] - [wireless] rtw88: fix LDPC field for RA info (Jarod Wilson) [1860496] - [wireless] prism54: switch from 'pci_' to 'dma_' API (Jarod Wilson) [1860496] - [wireless] prism54: islpci_hotplug: use generic power management (Jarod Wilson) [1860496] - [wireless] prism54: Replace HTTP links with HTTPS ones (Jarod Wilson) [1860496] - [wireless] p54: switch from 'pci_' to 'dma_' API (Jarod Wilson) [1860496] - [wireless] mwifiex: 11n_rxreorder: Remove unnecessary cast in kfree() (Jarod Wilson) [1860496] - [wireless] rtlwifi: btcoex: use *ph to print small buffer (Jarod Wilson) [1860496] - [wireless] rtlwifi: btcoex: remove redundant initialization of variables ant_num and single_ant_path (Jarod Wilson) [1860496] - [net] mac80211: warn only once in check_sdata_in_driver() at each caller (Jarod Wilson) [1860496] - [net] nl80211: support 4-way handshake offloading for WPA/WPA2-PSK in AP mode (Jarod Wilson) [1860496] - [net] cfg80211: invert HE BSS color 'disabled' to 'enabled' (Jarod Wilson) [1860496] - [net] mac80211: add a function for running rx without passing skbs to the stack (Jarod Wilson) [1860496] - [net] mac80211: parse radiotap header when selecting Tx queue (Jarod Wilson) [1860496] - [net] mac80211: remove unused flags argument in transmit functions (Jarod Wilson) [1860496] - [net] mac80211: use same flag everywhere to avoid sequence number overwrite (Jarod Wilson) [1860496] - [net] mac80211: do not overwrite the sequence number if requested (Jarod Wilson) [1860496] - [net] mac80211: add radiotap flag to prevent sequence number overwrite (Jarod Wilson) [1860496] - [net] mac80211: never drop injected frames even if normally not allowed (Jarod Wilson) [1860496] - [uapi] cfg80211: Add support to advertize OCV support (Jarod Wilson) [1860496] - [net] cfg80211/mac80211: avoid bss color setting in non-HE modes (Jarod Wilson) [1860496] - [net] mac80211: calculate skb hash early when using itxq (Jarod Wilson) [1860496] - [net] mac80211: improve AQL tx airtime estimation (Jarod Wilson) [1860496] - [net] cfg80211/mac80211: add connected to auth server to station info (Jarod Wilson) [1860496] - [net] cfg80211/mac80211: add connected to auth server to meshconf (Jarod Wilson) [1860496] - [net] cfg80211/mac80211: add mesh_param "mesh_nolearn" to skip path discovery (Jarod Wilson) [1860496] - [net] cfg80211: allow the low level driver to flush the BSS table (Jarod Wilson) [1860496] - [net] mac80211: Use fallthrough pseudo-keyword (Jarod Wilson) [1860496] - [net] nl80211: Simplify error handling path in 'nl80211_trigger_scan()' (Jarod Wilson) [1860496] - [net] nl80211: Remove a misleading label in 'nl80211_trigger_scan()' (Jarod Wilson) [1860496] - [uapi] net/wireless: wireless.h: drop duplicate word in comments (Jarod Wilson) [1860496] - [uapi] net/wireless: nl80211.h: drop duplicate words in comments (Jarod Wilson) [1860496] - [net] cfg80211: allow vendor dumpit to terminate by returning 0 (Jarod Wilson) [1860496] - [net] mac80211: remove the need for variable rates_idx (Jarod Wilson) [1860496] - [net] nl80211: S1G band and channel definitions (Jarod Wilson) [1860496] - [wireless] mt76: mt76u: add missing release on skb in __mt76x02u_mcu_send_msg (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: fix possible memory leak in mt7615_mcu_wtbl_sta_add (Jarod Wilson) [1860496] - [wireless] mt76: mt7915: fix potential memory leak in mcu message handler (Jarod Wilson) [1860496] - [wireless] mt76: mt76s: move queue accounting in mt76s_tx_queue_skb (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: introduce mt7663s support (Jarod Wilson) [1860496] - [wireless] mt76: introduce mt76_sdio module (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: introduce mt7663-usb-sdio-common module (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: sdio code must access rate/key regs in preocess context (Jarod Wilson) [1860496] - [wireless] mt76: mt76u: add mt76_skb_adjust_pad utility routine (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: take into account sdio bus configuring txwi (Jarod Wilson) [1860496] - [wireless] mt76: mt7915: add missing CONFIG_MAC80211_DEBUGFS (Jarod Wilson) [1860496] - [wireless] mt76: mt7915: potential array overflow in mt7915_mcu_tx_rate_report() (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: fix potential memory leak in mcu message handler (Jarod Wilson) [1860496] - [wireless] mt76: mt7663u: fix potential memory leak in mcu message handler (Jarod Wilson) [1860496] - [wireless] mt76: mt7663u: fix memory leak in set key (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: reschedule ps work according to last activity (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: avoid scheduling runtime-pm during hw scan (Jarod Wilson) [1860496] - [wireless] mt76: mt7663u: sync probe sampling with rate configuration (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: improve mt7615_driver_own reliability (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: add idle-timeout knob in mt7615 debugfs (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: enable beacon hw filter for runtime-pm (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: add runtime-pm knob in mt7615 debugfs (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: do not request {driver, fw}_own if already granted (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: check MT76_STATE_PM flag before accessing the device (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: run mt7615_pm_wake in mt7615_mac_sta_{add, remove} (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: wake device before pushing frames in mt7615_tx (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: wake device before pulling packets from mac80211 queues (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: run mt7615_mcu_set_roc holding mt76 mutex (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: run mt7615_mcu_set_wmm holding mt76 mutex (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: add missing lock in mt7615_regd_notifier (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: wake device before performing freq scan (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: acquire driver_own before configuring device for suspend (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: wake device in mt7615_update_channel before access regmap (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: introduce pm_power_save delayed work (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: wake device before configuring hw keys (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: wake device before accessing regmap in debugfs (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: introduce mt7615_mutex_{acquire, release} utilities (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: add mt7615_pm_wake utility routine (Jarod Wilson) [1860496] - [wireless] mt76: move mt76 workqueue in common code (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: avoid polling in fw_own for mt7663 (Jarod Wilson) [1860496] - [wireless] mt76: mt7915: avoid memcpy in rxv operation (Jarod Wilson) [1860496] - [wireless] mt76: mt76x2u: enable HC-M7662BU1 (Jarod Wilson) [1860496] - [wireless] mt76: mt76x2: fix pci suspend/resume on mt7612e (Jarod Wilson) [1860496] - [wireless] mt76: mt7915: update HE capabilities (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: implement testmode support (Jarod Wilson) [1860496] - [wireless] mt76: add API for testmode support (Jarod Wilson) [1860496] - [wireless] mt76: vif_mask to struct mt76_phy (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: use full on-chip memory address for WF_PHY registers (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: add support for accessing RF registers via MCU (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: add support for accessing mapped registers via bus ops (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: schedule tx tasklet and sta poll on mac tx free (Jarod Wilson) [1860496] - [wireless] mt76: mt76x2e: rename routines in pci.c (Jarod Wilson) [1860496] - [wireless] mt76: mt7915: overwrite qid for non-bufferable mgmt frames (Jarod Wilson) [1860496] - [wireless] mt76: mt7915: use ieee80211_tx_queue_params to avoid open coded (Jarod Wilson) [1860496] - [wireless] mt76: mt7915: add MU-MIMO support (Jarod Wilson) [1860496] - [wireless] mt76: mt7915: add a fixed AC queue mapping (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: add .set_tsf callback (Jarod Wilson) [1860496] - [wireless] mt76: add U-APSD support on AP side (Jarod Wilson) [1860496] - [wireless] mt76: rely on register macros (Jarod Wilson) [1860496] - [wireless] mt76: fix include in pci.h (Jarod Wilson) [1860496] - [wireless] mt76: allow more channels, allowed in ETSI domain (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: fix up typo in Kconfig for MT7663U (Jarod Wilson) [1860496] - [wireless] mt76: mt7663: introduce ARP filter offload (Jarod Wilson) [1860496] - [wireless] mt76: usb: rely on mt76_for_each_q_rx (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: re-enable offloading of sequence number assignment (Jarod Wilson) [1860496] - [wireless] wireless: Fix trivial spelling (Jarod Wilson) [1860496] - [wireless] rtlwifi: 8821ae: remove unused path B parameters from swing table (Jarod Wilson) [1860496] - [wireless] rtlwifi: Use const in 8188ee/8723be/8821ae swing_table declarations (Jarod Wilson) [1860496] - [wireless] rtl818x_pci: use generic power management (Jarod Wilson) [1860496] - [wireless] rtlwifi: rtl8192cu: Free ieee80211_hw if probing fails (Jarod Wilson) [1860496] - [wireless] rtlwifi: rtl8192cu: Prevent leaking urb (Jarod Wilson) [1860496] - [wireless] rtlwifi: rtl8192cu: Fix deadlock (Jarod Wilson) [1860496] - [wireless] rtlwifi: rtl8192cu: Remove uninitialized_var() usage (Jarod Wilson) [1860496] - [wireless] orinoco_usb: fix spelling mistake (Jarod Wilson) [1860496] - [wireless] rtlwifi: rtl8188ee: Fix endian issue (Jarod Wilson) [1860496] - [wireless] rtlwifi: Fix endian issue in ps.c (Jarod Wilson) [1860496] - [wireless] broadcom: fix wiki website url (Jarod Wilson) [1860496] - [wireless] wireless: fix wiki website url in main Kconfig (Jarod Wilson) [1860496] - [wireless] rtw88: coex: Fix ACL Tx pause during BT inquiry/page (Jarod Wilson) [1860496] - [wireless] mwifiex: Prevent memory corruption handling keys (Jarod Wilson) [1860496] - [wireless] mwifiex: Fix reporting 'operation not supported' error code (Jarod Wilson) [1860496] - [wireless] mwifiex: Use macro MWIFIEX_MAX_BSS_NUM for specifying limit of interfaces (Jarod Wilson) [1860496] - [wireless] rtw88: 8822c: add new RFE type 6 (Jarod Wilson) [1860496] - [wireless] rtw88: 8822ce: add support for device ID 0xc82f (Jarod Wilson) [1860496] - [wireless] rtw88: pci: disable aspm for platform inter-op with module parameter (Jarod Wilson) [1860496] - [wireless] rtw88: 8821c: Add 8821CE to Kconfig and Makefile (Jarod Wilson) [1860496] - [wireless] rtw88: single rf path chips don't support TX STBC (Jarod Wilson) [1860496] - [wireless] rtw88: 8821c: add beamformee support (Jarod Wilson) [1860496] - [wireless] rtw88: 8821c: add power tracking (Jarod Wilson) [1860496] - [wireless] rtw88: 8821c: add cck pd settings (Jarod Wilson) [1860496] - [wireless] rtw88: 8821c: add phy calibration (Jarod Wilson) [1860496] - [wireless] rtw88: 8821c: add false alarm statistics (Jarod Wilson) [1860496] - [wireless] rtw88: 8821c: add query rx desc support (Jarod Wilson) [1860496] - [wireless] rtw88: 8821c: add set channel support (Jarod Wilson) [1860496] - [wireless] rtw88: 8821c: add dig related settings (Jarod Wilson) [1860496] - [wireless] rtw88: 8821c: add set tx power index (Jarod Wilson) [1860496] - [wireless] rtw88: 8821c: add basic functions (Jarod Wilson) [1860496] - [wireless] brcm80211: brcmsmac: Move LEDs to GPIO descriptors (Jarod Wilson) [1860496] - [wireless] brcmfmac: Transform compatible string for FW loading (Jarod Wilson) [1860496] - [wireless] brcmfmac: set pacing shift before transmitting skb to bus (Jarod Wilson) [1860496] - [wireless] brcmfmac: set state of hanger slot to FREE when flushing PSQ (Jarod Wilson) [1860496] - [wireless] brcmfmac: reset SDIO bus on a firmware crash (Jarod Wilson) [1860496] - [wireless] brcmfmac: do not disconnect for disassoc frame from unconnected AP (Jarod Wilson) [1860496] - [wireless] brcmfmac: Fix for wrong disconnection event source information (Jarod Wilson) [1860496] - [wireless] brcmfmac: Fix for unable to return to visible SSID (Jarod Wilson) [1860496] - [wireless] brcmfmac: initialize the requested dwell time (Jarod Wilson) [1860496] - [wireless] brcmfmac: fix throughput zero stalls on PM 1 mode due to credit map (Jarod Wilson) [1860496] - [wireless] brcmfmac: update tx status flags to sync with firmware (Jarod Wilson) [1860496] - [wireless] brcmfmac: reserve 2 credits for host tx control path (Jarod Wilson) [1860496] - [wireless] brcmfmac: increase message buffer size for control packets (Jarod Wilson) [1860496] - [wireless] brcmfmac: allow credit borrowing for all access categories (Jarod Wilson) [1860496] - [wireless] brcmfmac: To fix Bss Info flag definition Bug (Jarod Wilson) [1860496] - [wireless] brcmfmac: reduce maximum station interface from 2 to 1 in RSDB mode (Jarod Wilson) [1860496] - [wireless] brcmfmac: keep SDIO watchdog running when console_interval is non-zero (Jarod Wilson) [1860496] - [wireless] brcmfmac: fix invalid permanent MAC address in wiphy (Jarod Wilson) [1860496] - [wireless] brcmfmac: To fix kernel crash on out of boundary access (Jarod Wilson) [1860496] - [net] net: wireless: kerneldoc fixes (Jarod Wilson) [1860496] - [net] net: mac80211: kerneldoc fixes (Jarod Wilson) [1860496] - [wireless] ath11k: fix wmi peer flags in peer assoc command (Jarod Wilson) [1860496] - [wireless] ath11k: Add support for ring backpressure stats (Jarod Wilson) [1860496] - [wireless] ath11k: Add dp tx err stats (Jarod Wilson) [1860496] - [wireless] ath11k: removing redundant reo unlock followed by immediate lock (Jarod Wilson) [1860496] - [wireless] ath11k: add support for spectral scan (Jarod Wilson) [1860496] - [wireless] ath11k: Add direct buffer ring support (Jarod Wilson) [1860496] - [wireless] ath11k: build HE 6 GHz capability (Jarod Wilson) [1860496] - [wireless] ath11k: Add support for 6g scan hint (Jarod Wilson) [1860496] - [wireless] ath11k: Send multiple scan_chan_list messages if required (Jarod Wilson) [1860496] - [wireless] ath11k: Add 6G scan dwell time parameter in scan request command (Jarod Wilson) [1860496] - [wireless] ath11k: set psc channel flag when sending channel list to firmware (Jarod Wilson) [1860496] - [wireless] ath11k: extend peer_assoc_cmd for 6GHz band (Jarod Wilson) [1860496] - [wireless] ath11k: Use freq instead of channel number in rx path (Jarod Wilson) [1860496] - [wireless] ath11k: add support for 6GHz radio in driver (Jarod Wilson) [1860496] - [wireless] ath11k: add 6G frequency list supported by driver (Jarod Wilson) [1860496] - [wireless] net: wireless: intel: fix wiki website url (Jarod Wilson) [1860496] - [wireless] iwlwifi: Replace zero-length array with flexible-array (Jarod Wilson) [1860496] - [wireless] iwlwifi: mvm: Remove unused inline function iwl_mvm_tid_to_ac_queue (Jarod Wilson) [1860496] - [wireless] iwlwifi: mvm: fix gcc-10 zero-length-bounds warning (Jarod Wilson) [1860496] - [wireless] ath: fix wiki website url (Jarod Wilson) [1860496] - [wireless] ath10k: Acquire tx_lock in tx error paths (Jarod Wilson) [1860496] - [wireless] iwlwifi: mvm: remove redundant assignment to variable ret (Jarod Wilson) [1860496] - [wireless] iwlwifi: fix config variable name in comment (Jarod Wilson) [1860496] - [wireless] iwlwifi: mvm: Fix avg-power report (Jarod Wilson) [1860496] - [wireless] iwlwifi: Don't IWL_WARN on FW reconfiguration (Jarod Wilson) [1860496] - [wireless] iwlwifi: Extended Key ID support for mvm and dvm (Jarod Wilson) [1860496] - [wireless] mwifiex: Fix firmware filename for sd8997 chipset (Jarod Wilson) [1860496] - [wireless] mwifiex: Fix firmware filename for sd8977 chipset (Jarod Wilson) [1860496] - [net] mac80211: remove STA txq pending airtime underflow warning (Jarod Wilson) [1860496] - [net] mac80211: Fix bug in Tx ack status reporting in 802.3 xmit path (Jarod Wilson) [1860496] - [net] cfg80211: check vendor command doit pointer before use (Jarod Wilson) [1860496] - [net] mac80211: mesh: Free pending skb when destroying a mpath (Jarod Wilson) [1860496] - [net] mac80211: mesh: Free ie data when leaving mesh (Jarod Wilson) [1860496] - [net] mac80211: fix warning in 6 GHz IE addition in mesh mode (Jarod Wilson) [1860496] - [wireless] ath10k: Fix NULL pointer dereference in AHB device probe (Jarod Wilson) [1860496] - [wireless] iwlwifi: Make some Killer Wireless-AC 1550 cards work again (Jarod Wilson) [1860496] - [wireless] ath9k: Fix regression with Atheros 9271 (Jarod Wilson) [1860496] - [net] nl80211: fix memory leak when parsing NL80211_ATTR_HE_BSS_COLOR (Jarod Wilson) [1860496] - [net] nl80211: don't return err unconditionally in nl80211_start_ap() (Jarod Wilson) [1860496] - [net] mac80211: allow rx of mesh eapol frames with default rx key (Jarod Wilson) [1860496] - [net] mac80211: skip mpath lookup also for control port tx (Jarod Wilson) [1860496] - [net] mac80211: Fix dropping broadcast packets in 802.11 encap (Jarod Wilson) [1860496] - [net] mac80211: simplify mesh code (Jarod Wilson) [1860496] - [net] mac80211: fix control port tx status check (Jarod Wilson) [1860496] - [include] ieee80211: Add missing and new AKM suite selector definitions (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: fix EEPROM buffer size (Jarod Wilson) [1860496] - [wireless] mt76: mt7663u: fix memory leaks in mt7663u_probe (Jarod Wilson) [1860496] - [wireless] mt76: mt76x02: do not access uninitialized NAPI structs (Jarod Wilson) [1860496] - [wireless] iwlwifi: fix crash in iwl_dbg_tlv_alloc_trigger (Jarod Wilson) [1860496] - [wireless] iwlwifi: mvm: don't call iwl_mvm_free_inactive_queue() under RCU (Jarod Wilson) [1860496] - [wireless] wireless: replace '---help---' in Kconfig files with 'help' (Jarod Wilson) [1860496] - [net] net: fix wiki website url mac80211 and wireless files (Jarod Wilson) [1860496] - [uapi] include: fix wiki website url in netlink interface header (Jarod Wilson) [1860496] - [wireless] mt76: overwrite qid for non-bufferable mgmt frames (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: fix hw queue mapping (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: fix lmac queue debugsfs entry (Jarod Wilson) [1860496] - [wireless] mt76: add missing lock configuring coverage class (Jarod Wilson) [1860496] - [net] mac80211: initialize return flags in HE 6 GHz operation parsing (Jarod Wilson) [1860496] - [net] cfg80211: fix management registrations deadlock (Jarod Wilson) [1860496] - [net] cfg80211: support bigger kek/kck key length (Jarod Wilson) [1860496] - [net] mac80211: set short_slot for 6 GHz band (Jarod Wilson) [1860496] - [net] mac80211: Consider 6 GHz band when handling power constraint (Jarod Wilson) [1860496] - [net] mac80211: accept aggregation sessions on 6 GHz (Jarod Wilson) [1860496] - [net] cfg80211: require HE capabilities for 6 GHz band (Jarod Wilson) [1860496] - [net] cfg80211: reject HT/VHT capabilities on 6 GHz band (Jarod Wilson) [1860496] - [net] cfg80211: treat 6 GHz channels as valid regardless of capability (Jarod Wilson) [1860496] - [net] mac80211: Add HE 6GHz capabilities element to probe request (Jarod Wilson) [1860496] - [net] mac80211: use HE 6 GHz band capability and pass it to the driver (Jarod Wilson) [1860496] - [net] mac80211: check the correct bit for EMA AP (Jarod Wilson) [1860496] - [net] mac80211: determine chandef from HE 6 GHz operation (Jarod Wilson) [1860496] - [net] mac80211: avoid using ext NSS high BW if not supported (Jarod Wilson) [1860496] - [net] mac80211: do not allow HT/VHT IEs in 6 GHz mesh mode (Jarod Wilson) [1860496] - [net] mac80211: build HE operation with 6 GHz oper information (Jarod Wilson) [1860496] - [net] mac80211: add HE 6 GHz Band Capability element (Jarod Wilson) [1860496] - [net] cfg80211: add and expose HE 6 GHz band capabilities (Jarod Wilson) [1860496] - [net] mac80211: add HE 6 GHz Band Capabilities into parse extension (Jarod Wilson) [1860496] - [net] cfg80211: handle 6 GHz capability of new station (Jarod Wilson) [1860496] - [include] ieee80211: add HE ext EIDs and 6 GHz capability defines (Jarod Wilson) [1860496] - [include] ieee80211: add code to obtain and parse 6 GHz operation field (Jarod Wilson) [1860496] - [include] ieee80211: definitions for reduced neighbor reports (Jarod Wilson) [1860496] - [net] cfg80211: add a helper to identify 6 GHz PSCs (Jarod Wilson) [1860496] - [net] nl80211: really allow client-only BIGTK support (Jarod Wilson) [1860496] - [net] cfg80211: adapt to new channelization of the 6GHz band (Jarod Wilson) [1860496] - [net] cfg80211: fix 6 GHz frequencies to kHz (Jarod Wilson) [1860496] - [wireless] ath11k: clear DCM max constellation tx value (Jarod Wilson) [1860496] - [wireless] ath11k: reset trigger frame MAC padding duration (Jarod Wilson) [1860496] - [wireless] ath10k: Remove ath10k_qmi_register_service_notifier() declaration (Jarod Wilson) [1860496] - [wireless] ath9k_htc: Set RX filter based to allow broadcast Action frame RX (Jarod Wilson) [1860496] - [wireless] ath9k: Set RX filter based to allow broadcast Action frame RX (Jarod Wilson) [1860496] - [wireless] mwifiex: Add support for NL80211_ATTR_MAX_AP_ASSOC_STA (Jarod Wilson) [1860496] - [wireless] mwifiex: Parse all API_VER_ID properties (Jarod Wilson) [1860496] - [wireless] brcmfmac: 43012 Update MES Watermark (Jarod Wilson) [1860496] - [wireless] brcmfmac: fix 43455 CRC error under SDIO 3.0 SDR104 mode (Jarod Wilson) [1860496] - [wireless] brcmfmac: set F2 blocksize and watermark for 4354/4356 SDIO (Jarod Wilson) [1860496] - [wireless] brcmfmac: fix 4339 CRC error under SDIO 3.0 SDR104 mode (Jarod Wilson) [1860496] - [wireless] brcmfmac: set F2 blocksize for 4373 (Jarod Wilson) [1860496] - [wireless] rtw88: 8822c: remove CCK TX setting when switch channel (Jarod Wilson) [1860496] - [wireless] rtw88: 8822c: fix missing brace warning for old compilers (Jarod Wilson) [1860496] - [wireless] rtw88: fix EAPOL 4-way failure by finish IQK earlier (Jarod Wilson) [1860496] - [wireless] rtw88: coex: 8723d: handle BT inquiry cases (Jarod Wilson) [1860496] - [wireless] rtw88: coex: 8723d: set antanna control owner (Jarod Wilson) [1860496] - [wireless] Revert "rtw88: no need to set registers for SDIO" (Jarod Wilson) [1860496] - [wireless] rt2800: enable MFP support unconditionally (Jarod Wilson) [1860496] - [wireless] mmc: sdio: Fix Cypress SDIO IDs macros in common include file (Jarod Wilson) [1860496] - [wireless] mmc: sdio: Move SDIO IDs from b43-sdio driver to common include file (Jarod Wilson) [1860496] - [wireless] mmc: sdio: Move SDIO IDs from ath10k driver to common include file (Jarod Wilson) [1860496] - [wireless] mmc: sdio: Move SDIO IDs from mwifiex driver to common include file (Jarod Wilson) [1860496] - [wireless] mmc: sdio: Change macro names for Marvell 8688 modules (Jarod Wilson) [1860496] - [mmc] mmc: sdio: Fix macro name for Marvell device with ID 0x9134 (Jarod Wilson) [1860496] - [wireless] iwlwifi: bump FW API to 56 for AX devices (Jarod Wilson) [1860496] - [wireless] iwlwifi: mvm: add support for range request version 10 (Jarod Wilson) [1860496] - [wireless] iwlwifi: mvm: fix aux station leak (Jarod Wilson) [1860496] - [wireless] iwlwifi: move txq-specific from trans_pcie to common trans (Jarod Wilson) [1860496] - [wireless] iwlwifi: move iwl_txq and substructures to a common trans header (Jarod Wilson) [1860496] - [wireless] iwlwifi: pcie: gen3: indicate 8k/12k RB size to device (Jarod Wilson) [1860496] - [wireless] iwlwifi: acpi: evaluate dsm to enable 5.2 bands in Indonesia (Jarod Wilson) [1860496] - [wireless] iwlwifi: acpi: support device specific method (DSM) (Jarod Wilson) [1860496] - [wireless] iwlwifi: pcie: keep trans instead of trans_pcie in iwl_txq (Jarod Wilson) [1860496] - [wireless] iwlwifi: pcie: don't count on the FW to set persistence mode (Jarod Wilson) [1860496] - [wireless] iwlwifi: set NO_HE if the regulatory domain forbids it (Jarod Wilson) [1860496] - [wireless] mt76: mt7915: remove set but not used variable 'msta' (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: Use kmemdup in mt7615_queue_key_update() (Jarod Wilson) [1860496] - [wireless] mt76: only iterate over initialized rx queues (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: add support for MT7611N (Jarod Wilson) [1860496] - [wireless] mt76: fix wcid allocation issues (Jarod Wilson) [1860496] - [wireless] mt76: mt7915: fix possible NULL pointer dereference in mt7915_register_ext_phy (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: fix hw_scan with ssid_type for specified SSID only (Jarod Wilson) [1860496] - [wireless] mt76: mt7915: fix a handful of spelling mistakes (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: switch to per-vif power_save support (Jarod Wilson) [1860496] - [wireless] mt76: mt7915: fix some sparse warnings (Jarod Wilson) [1860496] - [wireless] mt76: fix per-driver wcid range checks after wcid array size bump (Jarod Wilson) [1860496] - [wireless] mt76: mt7915: fix decoded radiotap HE flags (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: fix NULL pointer deref in mt7615_register_ext_phy (Jarod Wilson) [1860496] - [wireless] mt76: mt7915: fix sparse warnings: incorrect type initializer (Jarod Wilson) [1860496] - [wireless] mt76: mt7915: fix some sparse warnings (Jarod Wilson) [1860496] - [wireless] mt76: mt7915: add spatial reuse support (Jarod Wilson) [1860496] - [wireless] mt76: mt76x02: remove check in mt76x02_mcu_msg_send (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: introduce remain_on_channel support (Jarod Wilson) [1860496] - [net] mac80211: support control port TX status reporting (Jarod Wilson) [1860496] - [net] mac80211: fix HT-Control field reception for management frames (Jarod Wilson) [1860496] - [net] cfg80211: fix CFG82011_CRDA_SUPPORT still mentioning internal regdb (Jarod Wilson) [1860496] - [net] nl80211: Add support to configure TID specific Tx rate configuration (Jarod Wilson) [1860496] - [net] mac80211: allow SA-QUERY processing in userspace (Jarod Wilson) [1860496] - [net] nl80211: add ability to report TX status for control port TX (Jarod Wilson) [1860496] - [net] mac80211: Replace zero-length array with flexible-array (Jarod Wilson) [1860496] - [net] cfg80211: Replace zero-length array with flexible-array (Jarod Wilson) [1860496] - [include] mac80211: Add new AMPDU factor macro for HE peer caps (Jarod Wilson) [1860496] - [include] ieee80211: S1G defines (Jarod Wilson) [1860496] - [net] nl80211: support scan frequencies in KHz (Jarod Wilson) [1860496] - [net] nl80211: add KHz frequency offset for most wifi commands (Jarod Wilson) [1860496] - [net] cfg80211: add KHz variants of frame RX API (Jarod Wilson) [1860496] - [net] nl80211: simplify peer specific TID configuration (Jarod Wilson) [1860496] - [net] cfg80211: add support for TID specific AMSDU configuration (Jarod Wilson) [1860496] - [net] mac80211: fix variable names in TID config methods (Jarod Wilson) [1860496] - [net] cfg80211: fix mask type in cfg80211_tid_cfg structure (Jarod Wilson) [1860496] - [net] cfg80211: fix debugfs rename crash (Jarod Wilson) [1860496] - [include] ieee80211: Fix incorrect mask for default PE duration (Jarod Wilson) [1860496] - [net] mac80211: mesh: fix discovery timer re-arming issue / crash (Jarod Wilson) [1860496] - [wireless] mt76: mt7915: Fix build error (Jarod Wilson) [1860496] - [wireless] ath11k: Fix some resource leaks in error path in 'ath11k_thermal_register()' (Jarod Wilson) [1860496] - [wireless] rtlwifi: rtl8192ee: remove redundant for-loop (Jarod Wilson) [1860496] - [wireless] mwifiex: Fix memory corruption in dump_station (Jarod Wilson) [1860496] - [wireless] rtw88: no need to set registers for SDIO (Jarod Wilson) [1860496] - [wireless] rtw88: 8723d: fix incorrect setting of ldo_pwr (Jarod Wilson) [1860496] - [wireless] rtw88: rename rtw88.ko/rtwpci.ko to rtw88_core.ko/rtw88_pci.ko (Jarod Wilson) [1860496] - [wireless] rtw88: extract: remove the unused after extracting (Jarod Wilson) [1860496] - [wireless] rtw88: extract: make 8723d an individual kernel module (Jarod Wilson) [1860496] - [wireless] rtw88: extract: make 8822b an individual kernel module (Jarod Wilson) [1860496] - [wireless] rtw88: extract: make 8822c an individual kernel module (Jarod Wilson) [1860496] - [wireless] rtw88: extract: export symbols about pci interface (Jarod Wilson) [1860496] - [wireless] rtw88: extract: export symbols used in chip functionalities (Jarod Wilson) [1860496] - [wireless] rtlwifi: Fix a double free in _rtl_usb_tx_urb_setup() (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: fix typo defining ps work (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: configure bss info adding the interface (Jarod Wilson) [1860496] - [wireless] mt76: enable p2p support (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: reduce hw scan timeout (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: do not report scan_complete twice to mac80211 (Jarod Wilson) [1860496] - [wireless] mt76: mt7663: fix the usage WoW with net detect support (Jarod Wilson) [1860496] - [wireless] ath11k: fix htt stats module not handle multiple skbs (Jarod Wilson) [1860496] - [wireless] rtl8187: Remove unused variable rtl8225z2_tx_power_ofdm (Jarod Wilson) [1860496] - [wireless] rtw88: 8723d: fix sparse warnings for power tracking (Jarod Wilson) [1860496] - [wireless] rtw88: 8723d: Add 8723DE to Kconfig and Makefile (Jarod Wilson) [1860496] - [wireless] rtw88: fill zeros to words 0x06 and 0x07 of security cam entry (Jarod Wilson) [1860496] - [wireless] rtw88: 8723d: Add coex support (Jarod Wilson) [1860496] - [wireless] rtw88: 8723d: set ltecoex register address in chip_info (Jarod Wilson) [1860496] - [wireless] rtw88: 8723d: implement flush queue (Jarod Wilson) [1860496] - [wireless] rtw88: 8723d: Add shutdown callback to disable BT USB suspend (Jarod Wilson) [1860496] - [wireless] rtw88: 8723d: Add power tracking (Jarod Wilson) [1860496] - [wireless] rtw88: 8723d: add IQ calibration (Jarod Wilson) [1860496] - [wireless] rtw88: 8723d: Add LC calibration (Jarod Wilson) [1860496] - [wireless] brcmfmac: fix WPA/WPA2-PSK 4-way handshake offload and SAE offload failures (Jarod Wilson) [1860496] - [wireless] mt76: mt7915: fix possible deadlock in mt7915_stop (Jarod Wilson) [1860496] - [wireless] mt76: mt7915: allocate proper size for tlv tags (Jarod Wilson) [1860496] - [wireless] mt76: mt7915: add debugfs to track TxBF status (Jarod Wilson) [1860496] - [wireless] mt76: mt7915: add TxBF capabilities (Jarod Wilson) [1860496] - [wireless] mt76: mt7915: add Tx beamformee support (Jarod Wilson) [1860496] - [wireless] mt76: mt7915: add Tx beamformer support (Jarod Wilson) [1860496] - [wireless] mt76: mt7915: introduce mt7915_get_he_phy_cap (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: usb: cancel ps work stopping the vif (Jarod Wilson) [1860496] - [wireless] mt76: mt7663u: add missing register definitions (Jarod Wilson) [1860496] - [wireless] mt76: mt7663u: copy key pointer in mt7663u_mac_write_txwi (Jarod Wilson) [1860496] - [wireless] mt76: set runtime stream caps by mt76_phy (Jarod Wilson) [1860496] - [wireless] mt76: mt7915: enable firmware module debug support (Jarod Wilson) [1860496] - [wireless] mt76: mt7915: add tsf related callbacks (Jarod Wilson) [1860496] - [wireless] mt76: mt7915: set peer Tx fixed rate through debugfs (Jarod Wilson) [1860496] - [wireless] mt76: mt7915: add .sta_statistics support (Jarod Wilson) [1860496] - [wireless] mt76: mt7915: add .sta_add_debugfs support (Jarod Wilson) [1860496] - [wireless] mt76: mt7915: add Rx radiotap header support (Jarod Wilson) [1860496] - [wireless] mt76: mt7915: add HE capabilities support for peers (Jarod Wilson) [1860496] - [wireless] mt76: mt7915: add HE bss_conf support for interfaces (Jarod Wilson) [1860496] - [wireless] mt76: mt7915: register per-phy HE capabilities for each interface (Jarod Wilson) [1860496] - [wireless] mt76: mt7915: implement HE per-rate tx power support (Jarod Wilson) [1860496] - [wireless] mt76: mt7915: enable Rx HE rate reporting (Jarod Wilson) [1860496] - [wireless] mt76: add mac80211 driver for MT7915 PCIe-based chipsets (Jarod Wilson) [1860496] - [wireless] mt76: add HE phy modes and hardware queue (Jarod Wilson) [1860496] - [wireless] mt76: adjust wcid size to support new 802.11ax generation (Jarod Wilson) [1860496] - [wireless] mt76: add Rx stats support for radiotap (Jarod Wilson) [1860496] - [wireless] mt76: add support for HE RX rate reporting (Jarod Wilson) [1860496] - [wireless] mt76: avoid rx reorder buffer overflow (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: scan all channels if not specified (Jarod Wilson) [1860496] - [wireless] mt76: mt7663: add support to sched scan with randomise addr (Jarod Wilson) [1860496] - [wireless] mt76: mt7663: introduce WoW with net detect support (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: fix delta tx power for mt7663 (Jarod Wilson) [1860496] - [wireless] mt76: mt7663: fix target power parsing (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: fix ibss mode for mt7663 (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: check return value of mt7615_eeprom_get_power_index (Jarod Wilson) [1860496] - [wireless] mt76: mt7663: read tx streams from eeprom (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: introduce beacon_loss mcu event (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: add gtk rekey offload support (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: introduce PM support (Jarod Wilson) [1860496] - [wireless] mt76: mt7663u: introduce suspend/resume to mt7663u (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: add WoW support (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: introduce mt7615_mcu_set_hif_suspend mcu command (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: introduce support for hardware beacon filter (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: free pci_vector if mt7615_pci_probe fails (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: add passive mode for hw scan (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: do not mark sched_scan disabled in mt7615_scan_work (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: introduce mt7615_check_offload_capability routine (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: fix ssid configuration in mt7615_mcu_hw_scan (Jarod Wilson) [1860496] - [wireless] mt76: mt7603: remove duplicate error message (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: fix getting maximum tx power from eeprom (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: set spatial extension index (Jarod Wilson) [1860496] - [wireless] mt76: mt7663: remove check in mt7663_load_n9 (Jarod Wilson) [1860496] - [wireless] mt76: mt7663: add the possibility to load firmware v2 (Jarod Wilson) [1860496] - [wireless] mt76: mt76x0: enable MCS 8 and MCS9 (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: fix event report in mt7615_mcu_bss_event (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: add sta pointer to mt7615_mcu_add_bss_info signature (Jarod Wilson) [1860496] - [wireless] mt76: mt7663: fix up BMC entry indicated to unicmd firmware (Jarod Wilson) [1860496] - [wireless] mt76: enable TDLS support (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: move mcu bss upload before creating the sta (Jarod Wilson) [1860496] - [wireless] mt76: mt7603: fix tx status rate index calculation (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: fix tx status rate index calculation (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: do not adjust MAC timings if the device is not running (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: adjust timing in mt7615_mac_set_timing to match fw/hw values (Jarod Wilson) [1860496] - [wireless] mt76: mt7603: never use an 802.11b CF-End rate on 5GHz (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: never use an 802.11b CF-End rate on 5GHz (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: use larger rx buffers if VHT is supported (Jarod Wilson) [1860496] - [wireless] mt76: fix A-MPDU density handling (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: fix sta ampdu factor for VHT (Jarod Wilson) [1860496] - [wireless] mt76: mt7663u: enable AirTimeFairness (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: rework mt7615_mac_sta_poll for usb code (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: fix aid configuration in mt7615_mcu_wtbl_generic_tlv (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: fix mt7615_driver_own routine (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: fix max wtbl size for 7663 (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: fix mt7615_firmware_own for mt7663e (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: parse mcu return code for unified commands (Jarod Wilson) [1860496] - [wireless] mt76: add rx queues info to mt76 debugfs (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: make Kconfig entry obvious for MT7663E (Jarod Wilson) [1860496] - [wireless] mt76: mt7663: introduce 802.11 PS support in sta mode (Jarod Wilson) [1860496] - [wireless] mt76: remove PS_NULLFUNC_STACK capability (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: provide aid info to the mcu (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: disable aspm by default (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: enable scs for mt7663 driver (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: introduce mt7663u support (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: move core shared code in mt7615-common module (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: fix possible deadlock in mt7615_stop (Jarod Wilson) [1860496] - [wireless] mt76: remove unnecessary annotations (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: enable MSI by default (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: rework IRQ handling to prepare for MSI support (Jarod Wilson) [1860496] - [wireless] mt76: mt7663: fix DMA unmap length (Jarod Wilson) [1860496] - [wireless] mt76: mt7622: fix DMA unmap length (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: set hw scan limits only for firmware with offload support (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: disable hw/sched scan ops for non-offload firmware (Jarod Wilson) [1860496] - [wireless] mt76: mt7663: fix aggr range entry in debugfs (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: fix possible division by 0 in mt7615_mac_update_mib_stats (Jarod Wilson) [1860496] - [wireless] mt76: mt76x2: disable merge of OTP ROM data by default (Jarod Wilson) [1860496] - [wireless] mt76: mt7603: disable merge of OTP ROM data by default (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: add support for applying tx DPD calibration from EEPROM (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: add support for applying DC offset calibration from EEPROM (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: disable merge of OTP ROM data by default (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: Delete an error message in mt7622_wmac_probe() (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: do not always reset the dfs state setting the channel (Jarod Wilson) [1860496] - [wireless] mt76: mt7663: correct the name of the rom patch (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: add address parameter to mt7615_eeprom_init (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: introduce mt7615_wtbl_desc data structure (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: rework wtbl key configuration (Jarod Wilson) [1860496] - [wireless] mt76: mt76u: rely on mt7622 queue scheme for mt7663u (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: move mt7615_mac_wtbl_addr in mac.h (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: introduce __mt7663_load_firmware routine (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: introduce mt7615_mac_update_rate_desc routine (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: introduce mt7663u support to mt7615_write_txwi (Jarod Wilson) [1860496] - [wireless] mt76: add headroom and tailroom to mt76_mcu_ops data structure (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: remove unnecessary register operations (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: introduce rlm tlv in bss_info mcu command (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: introduce BSS absence event (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: introduce scheduled scan support (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: introduce hw scan support (Jarod Wilson) [1860496] - [wireless] mt76: mt7663: keep Rx filters as the default (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: introduce mt7615_mcu_set_channel_domain mcu command (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: add ethool support to mt7663 driver (Jarod Wilson) [1860496] - [wireless] mt76: mt7663: disable RDD commands (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: make scs configurable per phy (Jarod Wilson) [1860496] - [wireless] mt76: mt7663: enable nf estimation (Jarod Wilson) [1860496] - [wireless] mt76: mt7663: fix mt7615_mac_cca_stats_reset routine (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: add more useful Tx mib counters (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: cleanup mib related defines and structs (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: enable aggr_stats for both phy (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: modify mt7615_ampdu_stat_read for each phy (Jarod Wilson) [1860496] - [wireless] mt76: mt76x0: pci: add mt7610 PCI ID (Jarod Wilson) [1860496] - [wireless] mt76: mt76x2u: introduce Mercury UD13 support (Jarod Wilson) [1860496] - [wireless] mt76: mt76x02u: Add support for newer versions of the XBox One wifi adapter (Jarod Wilson) [1860496] - [wireless] mt76: mt76x02: fix handling MCU timeouts during hw restart (Jarod Wilson) [1860496] - [wireless] rndis_wlan: Replace zero-length array with flexible-array (Jarod Wilson) [1860496] - [wireless] mwl8k: Replace zero-length array with flexible-array (Jarod Wilson) [1860496] - [wireless] rndis_wlan: Remove logically dead code (Jarod Wilson) [1860496] - [wireless] brcmfmac: remove Comparison to bool in brcmf_p2p_send_action_frame() (Jarod Wilson) [1860496] - [wireless] brcmfmac: make non-global functions static (Jarod Wilson) [1860496] - [wireless] brcmfmac: Use seq/seq_len and set iv_initialize when plumbing of rxiv in (GTK) keys (Jarod Wilson) [1860496] - [wireless] brcmfmac: use actframe_abort to cancel ongoing action frame (Jarod Wilson) [1860496] - [wireless] brcmfmac: set security after reiniting interface (Jarod Wilson) [1860496] - [wireless] brcmfmac: fix 802.1d priority to ac mapping for pcie dongles (Jarod Wilson) [1860496] - [wireless] brcmfmac: map 802.1d priority to precedence level based on AP WMM params (Jarod Wilson) [1860496] - [wireless] ath11k: convert to devm_platform_get_and_ioremap_resource (Jarod Wilson) [1860496] - [wireless] ath11k: remove redundant initialization of pointer info (Jarod Wilson) [1860496] - [wireless] ath10k: fix ath10k_pci struct layout (Jarod Wilson) [1860496] - [wireless] ath10k: fix gcc-10 zero-length-bounds warnings (Jarod Wilson) [1860496] - [wireless] ath10k: remove experimental tag from SDIO and SNOC busses in Kconfig (Jarod Wilson) [1860496] - [wireless] ath10k: Replace zero-length array with flexible-array (Jarod Wilson) [1860496] - [wireless] ath11k: Remove bus layer includes from upper layer (Jarod Wilson) [1860496] - [wireless] ath11k: Add drv private for bus opaque struct (Jarod Wilson) [1860496] - [wireless] ath11k: Add support for multibus support (Jarod Wilson) [1860496] - [wireless] ath10k: fix __le32 warning in ath10k_wmi_tlv_op_gen_request_peer_stats_info() (Jarod Wilson) [1860496] - [wireless] ath10k: Remove msdu from idr when management pkt send fails (Jarod Wilson) [1860496] - [wireless] ath10k: Skip handling del_server during driver exit (Jarod Wilson) [1860496] - [wireless] ath11k: remove stale monitor status descriptor (Jarod Wilson) [1860496] - [wireless] iwlwifi: dbg_ini: differentiate ax210 hw with same hw type (Jarod Wilson) [1860496] - [wireless] iwlwifi: pcie: skip fragmented receive buffers (Jarod Wilson) [1860496] - [wireless] iwlwifi: remove outdated copyright print/module statement (Jarod Wilson) [1860496] - [wireless] iwlwifi: mvm: don't transmit on unallocated queue (Jarod Wilson) [1860496] - [wireless] iwlwifi: tx: enable A-MSDU in low latency mode (Jarod Wilson) [1860496] - [wireless] iwlwifi: use longer queues for 256-BA (Jarod Wilson) [1860496] - [wireless] iwlwifi: pcie: gen2: use DMA pool for byte-count tables (Jarod Wilson) [1860496] - [wireless] iwlwifi: pcie: remove some dead code (Jarod Wilson) [1860496] - [wireless] iwlwifi: dbg: mark a variable __maybe_unused (Jarod Wilson) [1860496] - [wireless] iwlwifi: mvm: attempt to allocate smaller queues (Jarod Wilson) [1860496] - [wireless] iwlwifi: pcie: allocate much smaller byte-count table (Jarod Wilson) [1860496] - [wireless] iwlwifi: dump api version in yaml format (Jarod Wilson) [1860496] - [wireless] iwlwifi: pcie: convert all AX101 devices to the device tables (Jarod Wilson) [1860496] - [wireless] iwlwifi: pcie: remove occurrences of 22000 in the FW name defines (Jarod Wilson) [1860496] - [wireless] iwlwifi: pcie: convert QnJ with Hr to the device table (Jarod Wilson) [1860496] - [wireless] iwlwifi: pcie: remove mangling for iwl_ax101_cfg_qu_hr (Jarod Wilson) [1860496] - [wireless] iwlwifi: pcie: remove outdated comment about PCI RTPM reference (Jarod Wilson) [1860496] - [wireless] iwlwifi: mvm: add IML/ROM information to the assertion dumps (Jarod Wilson) [1860496] - [wireless] iwlwifi: move iwl_set_soc_latency to iwl-drv to be used by other op_modes (Jarod Wilson) [1860496] - [wireless] iwlwifi: yoyo: remove magic number (Jarod Wilson) [1860496] - [wireless] iwlwifi: mvm: initialize iwl_dev_tx_power_cmd to zero (Jarod Wilson) [1860496] - [wireless] iwlwifi: dbg: set debug descriptor to NULL outside of iwl_fw_free_dump_desc (Jarod Wilson) [1860496] - [wireless] iwlwifi: bump FW API to 55 for AX devices (Jarod Wilson) [1860496] - [wireless] iwlwifi: yoyo: add D3 resume timepoint (Jarod Wilson) [1860496] - [wireless] iwlwifi: mvm: set properly station flags in STA_HE_CTXT_CMD (Jarod Wilson) [1860496] - [wireless] iwlwifi: avoid debug max amsdu config overwriting itself (Jarod Wilson) [1860496] - [wireless] iwlwifi: mvm: remove iwlmvm's tfd_q_hang_detect module parameter (Jarod Wilson) [1860496] - [wireless] iwlwifi: mvm: stop supporting swcrypto and bt_coex_active module parameters (Jarod Wilson) [1860496] - [wireless] iwlwifi: mvm: add support for range request command version 9 (Jarod Wilson) [1860496] - [wireless] iwlwifi: yoyo: don't access TLV before verifying len (Jarod Wilson) [1860496] - [wireless] iwlwifi: remove antenna_coupling module parameter (Jarod Wilson) [1860496] - [wireless] iwlwifi: yoyo: use hweight_long instead of bit manipulating (Jarod Wilson) [1860496] - [wireless] iwlwifi: yoyo: add support for parsing SHARED_MEM_ALLOC version 4 (Jarod Wilson) [1860496] - [wireless] iwlwifi: fw api: fix PHY data 2/3 position (Jarod Wilson) [1860496] - [wireless] rtlwifi: rtl8188ee: remove Comparison to bool in rf.c (Jarod Wilson) [1860496] - [wireless] mwifiex: avoid -Wstringop-overflow warning (Jarod Wilson) [1860496] - [wireless] rtlwifi: remove comparison of 0/1 to bool variable (Jarod Wilson) [1860496] - [wireless] brcmsmac: remove Comparison to bool in brcms_b_txstatus() (Jarod Wilson) [1860496] - [wireless] brcmfmac: Add P2P Action Frame retry delay to fix GAS Comeback Response failure issue (Jarod Wilson) [1860496] - [wireless] brcmfmac: Fix P2P Group Formation failure via Go-neg method (Jarod Wilson) [1860496] - [wireless] brcmfmac: support the second p2p connection (Jarod Wilson) [1860496] - [wireless] rtw88: fix an issue about leak system resources (Jarod Wilson) [1860496] - [wireless] rtw88: 8723d: add interface configurations table (Jarod Wilson) [1860496] - [wireless] rtw88: 8723d: Set IG register for CCK rate (Jarod Wilson) [1860496] - [wireless] rtw88: 8723d: Add chip_ops::false_alarm_statistics (Jarod Wilson) [1860496] - [wireless] rtw88: 8723d: some chips don't support LDPC (Jarod Wilson) [1860496] - [wireless] rtw88: handle C2H_CCX_TX_RPT to know if packet TX'ed successfully (Jarod Wilson) [1860496] - [wireless] rtw88: 8723d: Add set_channel (Jarod Wilson) [1860496] - [wireless] rtw88: 8723d: Add query_rx_desc (Jarod Wilson) [1860496] - [wireless] rtw88: 8723d: Add DIG parameter (Jarod Wilson) [1860496] - [wireless] rtlwifi: use true, false for bool variable in rtl_init_rfkill() (Jarod Wilson) [1860496] - [wireless] rtw88: Use udelay instead of usleep in atomic context (Jarod Wilson) [1860496] - [wireless] ath11k: Replace zero-length array with flexible-array (Jarod Wilson) [1860496] - [wireless] ath9k_htc: Silence undersized packet warnings (Jarod Wilson) [1860496] - [wireless] ath6kl: Replace zero-length array with flexible-array (Jarod Wilson) [1860496] - [wireless] ath11k: fix kernel panic by freeing the msdu received with invalid length (Jarod Wilson) [1860496] - [wireless] ath11k: Add support to reset htt peer stats (Jarod Wilson) [1860496] - [wireless] ath11k: add tx hw 802.11 encapsulation offloading support (Jarod Wilson) [1860496] - [wireless] ath11k: fix resource unavailability for htt stats after peer stats display (Jarod Wilson) [1860496] - [wireless] ath11k: use true,false for bool variables (Jarod Wilson) [1860496] - [wireless] ath10k: Add support for targets without trustzone (Jarod Wilson) [1860496] - [wireless] ath10k: Setup the msa resources before qmi init (Jarod Wilson) [1860496] - [wireless] ath10k: remove the max_sched_scan_reqs value (Jarod Wilson) [1860496] - [wireless] ath10k: Avoid override CE5 configuration for QCA99X0 chipsets (Jarod Wilson) [1860496] - [wireless] brcmfmac: no need to check return value of debugfs_create functions (Jarod Wilson) [1860496] - [wireless] brcmfmac: remove comparison to bool in brcmf_fws_attach() (Jarod Wilson) [1860496] - [wireless] brcmfmac: add vendor ie for association responses (Jarod Wilson) [1860496] - [wireless] brcmfmac: only generate random p2p address when needed (Jarod Wilson) [1860496] - [wireless] brcmfmac: p2p cert 6.1.9-support GOUT handling p2p presence request (Jarod Wilson) [1860496] - [wireless] brcmfmac: remove arp_hostip_clear from brcmf_netdev_stop (Jarod Wilson) [1860496] - [wireless] brcmfmac: keep apsta enabled when AP starts with MCHAN feature (Jarod Wilson) [1860496] - [wireless] rtw88: fix spelling mistake "fimrware" -> "firmware" (Jarod Wilson) [1860496] - [wireless] rtw88: 8822c: update phy parameter tables to v50 (Jarod Wilson) [1860496] - [wireless] ath11k: add DBG_MAC prints to track vdev events (Jarod Wilson) [1860496] - [wireless] ath11k: fix mgmt_tx_wmi cmd sent to FW for deleted vdev (Jarod Wilson) [1860496] - [wireless] ath11k: fix error return code in ath11k_dp_alloc() (Jarod Wilson) [1860496] - [wireless] ath10k: fix possible memory leak in ath10k_bmi_lz_data_large() (Jarod Wilson) [1860496] - [wireless] mac80211: fix memory overlap due to variable length param (Jarod Wilson) [1860496] - [net] mac80211: TX legacy rate control for Beacon frames (Jarod Wilson) [1860496] - [wireless] ath11k: use GFP_ATOMIC under spin lock (Jarod Wilson) [1860496] - [wireless] ath10k: correct tx bitrate of iw for SDIO (Jarod Wilson) [1860496] - [wireless] ath10k: add bitrate parse for peer stats info (Jarod Wilson) [1860496] - [wireless] ath10k: add rx bitrate report for SDIO (Jarod Wilson) [1860496] - [wireless] ath10k: enable firmware peer stats info for wmi tlv (Jarod Wilson) [1860496] - [wireless] ath5k: remove conversion to bool in ath5k_ani_calibration() (Jarod Wilson) [1860496] - [wireless] ath9k: add calibration timeout for AR9002 (Jarod Wilson) [1860496] - [wireless] ath9k: invalidate all calibrations at once (Jarod Wilson) [1860496] - [wireless] ath9k: interleaved NF calibration on AR9002 (Jarod Wilson) [1860496] - [wireless] ath9k: do not miss longcal on AR9002 (Jarod Wilson) [1860496] - [wireless] ath9k: remove needless NFCAL_PENDING flag setting (Jarod Wilson) [1860496] - [wireless] ath9k: fix AR9002 ADC and NF calibrations (Jarod Wilson) [1860496] - [wireless] rtw88: fix sparse warnings for download firmware routine (Jarod Wilson) [1860496] - [wireless] ath10k: add statistics of tx retries and tx failed when tx complete disable (Jarod Wilson) [1860496] - [wireless] ath10k: enable rx duration report default for wmi tlv (Jarod Wilson) [1860496] - [wireless] ath11k: fix reo flush send (Jarod Wilson) [1860496] - [wireless] iwlwifi: debug: set NPK buffer in context info (Jarod Wilson) [1860496] - [wireless] iwlwifi: pcie: add new structs for So devices with long latency (Jarod Wilson) [1860496] - [wireless] iwlwifi: pcie: add new structure for Qu devices with medium latency (Jarod Wilson) [1860496] - [wireless] iwlwifi: mvm: tell firmware about required LTR delay (Jarod Wilson) [1860496] - [wireless] iwlwifi: update few product names in AX family (Jarod Wilson) [1860496] - [wireless] iwlwifi: pcie: add cfgs for SoCs with device ID 0x4FD0 (Jarod Wilson) [1860496] - [wireless] iwlwifi: add new cards for AX family (Jarod Wilson) [1860496] - [wireless] iwlwifi: acpi: read TAS table from ACPI and send it to the FW (Jarod Wilson) [1860496] - [wireless] iwlwifi: remove fw_monitor module parameter (Jarod Wilson) [1860496] - [wireless] iwlwifi: remove deprecated and unused iwl_mvm_keyinfo struct (Jarod Wilson) [1860496] - [wireless] iwlwifi: mvm: add framework for specific phy configuration (Jarod Wilson) [1860496] - [wireless] iwlwifi: pcie: move iwl_pcie_ctxt_info_alloc_dma() to user (Jarod Wilson) [1860496] - [wireless] iwlwifi: yoyo: support IWL_FW_INI_TIME_POINT_HOST_ALIVE_TIMEOUT time point (Jarod Wilson) [1860496] - [wireless] iwlwifi: mvm: add DCM flag to rate pretty-print (Jarod Wilson) [1860496] - [wireless] iwlwifi: pcie: gen2: minor code cleanups in byte table update (Jarod Wilson) [1860496] - [wireless] iwlwifi: pcie: add n_window/ampdu to tx_queue debugfs (Jarod Wilson) [1860496] - [wireless] iwlwifi: pcie: use seq_file for tx_queue debugfs file (Jarod Wilson) [1860496] - [wireless] iwlwifi: support version 9 of WOWLAN_GET_STATUS notification (Jarod Wilson) [1860496] - [wireless] iwlwifi: dbg: support multiple dumps in legacy dump flow (Jarod Wilson) [1860496] - [wireless] iwlwifi: move API version lookup to common code (Jarod Wilson) [1860496] - [wireless] iwlwifi: nvm: use iwl_nl80211_band_from_channel_idx (Jarod Wilson) [1860496] - [net] mac80211: fix two missing documentation entries (Jarod Wilson) [1860496] - [net] cfg80211: reject channels/chandefs with KHz offset >= 1000 (Jarod Wilson) [1860496] - [net] mac80211: add freq_offset to RX status (Jarod Wilson) [1860496] - [net] mac80211: handle channel frequency offset (Jarod Wilson) [1860496] - [net] cfg80211: express channels with a KHz component (Jarod Wilson) [1860496] - [net] ieee80211: share 802.11 unit conversion helpers (Jarod Wilson) [1860496] - [net] mac80211: minstrel_ht_assign_best_tp_rates: remove redundant test (Jarod Wilson) [1860496] - [net] mac80211: Fail association when AP has no legacy rates (Jarod Wilson) [1860496] - [net] mac80211: agg-tx: add an option to defer ADDBA transmit (Jarod Wilson) [1860496] - [net] mac80211: agg-tx: refactor sending addba (Jarod Wilson) [1860496] - [net] mac80211: Skip entries with HE membership selector (Jarod Wilson) [1860496] - [net] cfg80211: Parse HE membership selector (Jarod Wilson) [1860496] - [net] mac80211: Don't destroy auth data in case of anti-clogging (Jarod Wilson) [1860496] - [net] mac80211: add twt_protected flag to the bss_conf structure (Jarod Wilson) [1860496] - [net] mac80211: implement Operating Mode Notification extended NSS support (Jarod Wilson) [1860496] - [net] mac80211: Process multicast RX registration for Action frames (Jarod Wilson) [1860496] - [net] nl80211: allow client-only BIGTK support (Jarod Wilson) [1860496] - [net] cfg80211: support multicast RX registration (Jarod Wilson) [1860496] - [net] cfg80211: change internal management frame registration API (Jarod Wilson) [1860496] - [net] mac80211: Report beacon protection failures to user space (Jarod Wilson) [1860496] - [net] cfg80211: Unprotected Beacon frame RX indication (Jarod Wilson) [1860496] - [wireless] iwlwifi: scan: remove support for fw scan api v13 (Jarod Wilson) [1860496] - [net] mac80211: fix drv_config_iface_filter() behaviour (Jarod Wilson) [1860496] - [net] mac80211: mlme: remove duplicate AID bookkeeping (Jarod Wilson) [1860496] - [wireless] ath10k: drop the TX packet which size exceed credit size for sdio (Jarod Wilson) [1860496] - [wireless] ath10k: Fix the invalid tx/rx chainmask configuration (Jarod Wilson) [1860496] - [wireless] rtw88: 8723d: initialize mac/bb/rf basic functions (Jarod Wilson) [1860496] - [wireless] rtw88: 8723d: Organize chip TX/RX FIFO (Jarod Wilson) [1860496] - [wireless] rtw88: 8723d: implement set_tx_power_index ops (Jarod Wilson) [1860496] - [wireless] rtw88: 8723d: 11N chips don't support H2C queue (Jarod Wilson) [1860496] - [wireless] rtw88: decompose while(1) loop of power sequence polling command (Jarod Wilson) [1860496] - [wireless] rtw88: 8723d: Add mac power-on/-off function (Jarod Wilson) [1860496] - [wireless] rtw88: no need to send additional information to legacy firmware (Jarod Wilson) [1860496] - [wireless] rtw88: add legacy firmware download for 8723D devices (Jarod Wilson) [1860496] - [wireless] ath10k: add flush tx packets for SDIO chip (Jarod Wilson) [1860496] - [wireless] ath10k: enable alt data of TX path for sdio (Jarod Wilson) [1860496] - [wireless] ath10k: add htt TX bundle for sdio (Jarod Wilson) [1860496] - [wireless] ath11k: remove conversion to bool in ath11k_debug_fw_stats_process() (Jarod Wilson) [1860496] - [wireless] ath11k: remove conversion to bool in ath11k_dp_rxdesc_mpdu_valid() (Jarod Wilson) [1860496] - [wireless] rtw88: set power trim according to efuse PG values (Jarod Wilson) [1860496] - [wireless] rtw88: 8723d: Add read_efuse to recognize efuse info from map (Jarod Wilson) [1860496] - [wireless] rtw88: 8723d: Add new chip op efuse_grant() to control efuse access (Jarod Wilson) [1860496] - [wireless] rtw88: 8723d: Add cfg_ldo25 to control LDO25 (Jarod Wilson) [1860496] - [wireless] rtw88: 8723d: Add mac/bb/rf/agc/power_limit tables (Jarod Wilson) [1860496] - [wireless] rtw88: 8723d: Add RF read/write ops (Jarod Wilson) [1860496] - [wireless] rtw88: 8723d: Add power sequence (Jarod Wilson) [1860496] - [wireless] rtw88: 8723d: add beamform wrapper functions (Jarod Wilson) [1860496] - [wireless] rtw88: 8723d: Add basic chip capabilities (Jarod Wilson) [1860496] - [wireless] rtlwifi: rtl8723ae: fix warning comparison to bool (Jarod Wilson) [1860496] - [wireless] rtlwifi: rtl8821ae: use true, false for bool variables (Jarod Wilson) [1860496] - [wireless] rtlwifi: rtl8723be: use true, false for bool variables (Jarod Wilson) [1860496] - [wireless] rtlwifi: rtl8192ee: use true, false for bool variables (Jarod Wilson) [1860496] - [wireless] rtlwifi: rtl8723ae: use true, false for bool variables (Jarod Wilson) [1860496] - [wireless] rtlwifi: rtl8188ee: use true, false for bool variables (Jarod Wilson) [1860496] - [wireless] ath10k: hif: make send_complete_check op optional (Jarod Wilson) [1860496] - [wireless] ath10k: sdio: remove _hif_ prefix from functions not part of hif interface (Jarod Wilson) [1860496] - [wireless] ath10k: improve power save performance for sdio (Jarod Wilson) [1860496] - [wireless] ath10k: rename ath10k_hif_swap_mailbox() to ath10k_hif_start_post() (Jarod Wilson) [1860496] - [wireless] brcmfmac: remove leading space (Jarod Wilson) [1860496] - [wireless] brcmsmac: make brcms_c_stf_ss_update() void (Jarod Wilson) [1860496] - [wireless] brcmsmac: Add missing annotation for brcms_down() (Jarod Wilson) [1860496] - [wireless] brcmsmac: Add missing annotation for brcms_rfkill_set_hw_state() (Jarod Wilson) [1860496] - [wireless] hostap: Add missing annotations for prism2_bss_list_proc_start() and prism2_bss_list_proc_stop (Jarod Wilson) [1860496] - [wireless] rtw88: add support for set/get antennas (Jarod Wilson) [1860496] - [wireless] rtw88: make rtw_chip_ops::set_antenna return int (Jarod Wilson) [1860496] - [wireless] ath11k: Add dynamic tcl ring selection logic with retry mechanism (Jarod Wilson) [1860496] - [wireless] ath11k: cleanup reo command error code overwritten (Jarod Wilson) [1860496] - [wireless] ath10k: Fix typo in warning messages (Jarod Wilson) [1860496] - [wireless] ath11k: Fix rx_filter flags setting for per peer rx_stats (Jarod Wilson) [1860496] - [wireless] ath11k: Fix fw assert by setting proper vht cap (Jarod Wilson) [1860496] - [wireless] ath11k: Cleanup in pdev destroy and mac register during crash on recovery (Jarod Wilson) [1860496] - [wireless] brcmsmac: make brcms_c_set_mac() void (Jarod Wilson) [1860496] - [wireless] rtw88: Add delay on polling h2c command status bit (Jarod Wilson) [1860496] - [wireless] brcm80211: remove redundant pointer 'address' (Jarod Wilson) [1860496] - [wireless] rtlwifi: rtl8723ae: fix spelling mistake "chang" -> "change" (Jarod Wilson) [1860496] - [wireless] brcmfmac: fix wrong location to get firmware feature (Jarod Wilson) [1860496] - [wireless] rtw88: Make two functions static (Jarod Wilson) [1860496] - [net] cfg80211: fix kernel-doc notation (Jarod Wilson) [1860496] - [wireless] ath11k: rx path optimizations (Jarod Wilson) [1860496] - [wireless] ath11k: set IRQ_DISABLE_UNLAZY flag for DP interrupts (Jarod Wilson) [1860496] - [wireless] ath11k: Fix TWT radio count (Jarod Wilson) [1860496] - [wireless] ath11k: Modify the interrupt timer threshold (Jarod Wilson) [1860496] - [wireless] ath11k: fix duplication peer create on same radio (Jarod Wilson) [1860496] - [wireless] ath10k: change ATH10K_SDIO_BUS_REQUEST_MAX_NUM from 64 to 1024 (Jarod Wilson) [1860496] - [wireless] ath10k: disable TX complete indication of htt for sdio (Jarod Wilson) [1860496] - [wireless] ath9k: Fix general protection fault in ath9k_hif_usb_rx_cb (Jarod Wilson) [1860496] - [wireless] ath9x: Fix stack-out-of-bounds Write in ath9k_hif_usb_rx_cb (Jarod Wilson) [1860496] - [wireless] ath9k: Fix use-after-free Write in ath9k_htc_rx_msg (Jarod Wilson) [1860496] - [wireless] ath9k: Fix use-after-free Read in ath9k_wmi_ctrl_rx (Jarod Wilson) [1860496] - [wireless] ath9k: Fix use-after-free Read in htc_connect_service (Jarod Wilson) [1860496] - [wireless] ath10k: fix kernel null pointer dereference (Jarod Wilson) [1860496] - [wireless] ath10k: enable radar detection in secondary segment (Jarod Wilson) [1860496] - [wireless] ath10k: enable VHT160 and VHT80+80 modes (Jarod Wilson) [1860496] - [wireless] ath11k: Avoid mgmt tx count underflow (Jarod Wilson) [1860496] - [wireless] ath11k: Increase the tx completion ring size (Jarod Wilson) [1860496] - [wireless] ath11k: fix error message to correctly report the command that failed (Jarod Wilson) [1860496] - [wireless] ath11k: add pktlog checksum in trace events to support pktlog (Jarod Wilson) [1860496] - [wireless] ath10k: Fix the race condition in firmware dump work queue (Jarod Wilson) [1860496] - [wireless] ath11k: Add sta debugfs support to configure ADDBA and DELBA (Jarod Wilson) [1860496] - [wireless] ath11k: fix compiler warnings without CONFIG_THERMAL (Jarod Wilson) [1860496] - [wireless] iwlwifi: mvm: remove newline from rs_pretty_print_rate() (Jarod Wilson) [1860496] - [wireless] iwlwifi: pcie: make iwl_pcie_cmdq_reclaim static (Jarod Wilson) [1860496] - [wireless] iwlwifi: bump FW API to 53 for 22000 series (Jarod Wilson) [1860496] - [wireless] iwlwifi: remove IWL_FW_DBG_DOMAIN macro (Jarod Wilson) [1860496] - [wireless] iwlwifi: yoyo: enable yoyo by default (Jarod Wilson) [1860496] - [wireless] iwlwifi: scan: support FW APIs with variable number of profiles (Jarod Wilson) [1860496] - [wireless] iwlwifi: yoyo: don't block dumping internal memory when not in SRAM mode (Jarod Wilson) [1860496] - [wireless] iwlwifi: remove support for QnJ HR FPGA (Jarod Wilson) [1860496] - [wireless] iwlwifi: remove support for QnJ Hr STEP A (Jarod Wilson) [1860496] - [wireless] iwlwifi: add trans_cfg for devices with long latency (Jarod Wilson) [1860496] - [wireless] iwlwifi: add support for version 2 of SOC_CONFIGURATION_CMD (Jarod Wilson) [1860496] - [wireless] iwlwifi: mvm: add support for non EDCA based measurements (Jarod Wilson) [1860496] - [wireless] iwlwifi: remove unnecessary cfg mangling for Qu C and QuZ with Jf (Jarod Wilson) [1860496] - [wireless] iwlwifi: convert QnJ with Jf devices to new config table (Jarod Wilson) [1860496] - [wireless] iwlwifi: convert all Qu with Jf devices to the new config table (Jarod Wilson) [1860496] - [wireless] iwlwifi: add HW step to new cfg device table (Jarod Wilson) [1860496] - [wireless] iwlwifi: remove some unused extern declarations from iwl-config.h (Jarod Wilson) [1860496] - [wireless] iwlwifi: move integrated, extra_phy and soc_latency to trans_cfg (Jarod Wilson) [1860496] - [wireless] iwlwifi: mvm: enable SF also when we have HE (Jarod Wilson) [1860496] - [wireless] iwlwifi: remove redundant iwl9560_2ac_cfg struct (Jarod Wilson) [1860496] - [wireless] iwlwifi: mvm: rs-fw: fix some indentation (Jarod Wilson) [1860496] - [wireless] iwlwifi: scan: support scan req cmd ver 14 (Jarod Wilson) [1860496] - [wireless] iwlwifi: pass trans and NVM data to HE capability parsing (Jarod Wilson) [1860496] - [wireless] iwlwifi: pcie: implement read_config32 (Jarod Wilson) [1860496] - [wireless] iwlwifi: yoyo: add PCI config space region type (Jarod Wilson) [1860496] - [wireless] iwlwifi: mvm: add soc latency support (Jarod Wilson) [1860496] - [wireless] hostap: convert to struct proc_ops (Jarod Wilson) [1860496] - [wireless] rtw88: fix non-increase management packet sequence number (Jarod Wilson) [1860496] - [wireless] brcmfmac: add USB autosuspend feature support (Jarod Wilson) [1860496] - [wireless] brcmfmac: increase max hanger slots from 1K to 3K in fws layer (Jarod Wilson) [1860496] - [wireless] brcmfmac: fix the incorrect return value in brcmf_inform_single_bss() (Jarod Wilson) [1860496] - [wireless] brcmfmac: Fix double freeing in the fmac usb data path (Jarod Wilson) [1860496] - [wireless] brcmfmac: Fix driver crash on USB control transfer timeout (Jarod Wilson) [1860496] - [wireless] rtl8xxxu: Feed current txrate information for mac80211 (Jarod Wilson) [1860496] - [wireless] rtl8xxxu: add enumeration for channel bandwidth (Jarod Wilson) [1860496] - [wireless] rtw88: add a debugfs entry to enable/disable coex mechanism (Jarod Wilson) [1860496] - [wireless] rtw88: add a debugfs entry to dump coex's info (Jarod Wilson) [1860496] - [wireless] rtl8xxxu: Fix sparse warning: cast from restricted __le16 (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: add missing declaration in mt7615.h (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: fix endianness in unified command (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: fix mt7663e firmware struct endianness (Jarod Wilson) [1860496] - [wireless] rtw88: 8822c: config RF table path B before path A (Jarod Wilson) [1860496] - [wireless] rtw88: kick off TX packets once for higher efficiency (Jarod Wilson) [1860496] - [wireless] rtw88: pci: define a mask for TX/RX BD indexes (Jarod Wilson) [1860496] - [wireless] rtw88: associate reserved pages with each vif (Jarod Wilson) [1860496] - [wireless] rtw88: extract alloc rsvd_page and h2c skb routines (Jarod Wilson) [1860496] - [wireless] brcmfmac: Replace zero-length array with flexible-array member (Jarod Wilson) [1860496] - [wireless] wireless: marvell: Replace zero-length array with flexible-array member (Jarod Wilson) [1860496] - [wireless] hostap: Replace zero-length array with flexible-array member (Jarod Wilson) [1860496] - [wireless] wireless: ti: Replace zero-length array with flexible-array member (Jarod Wilson) [1860496] - [wireless] wireless: realtek: Replace zero-length array with flexible-array member (Jarod Wilson) [1860496] - [wireless] ath10k: Fill GCMP MIC length for PMF (Jarod Wilson) [1860496] - [net] mac80211: driver can remain on channel if not using chan_ctx (Jarod Wilson) [1860496] - [net] nl80211: clarify code in nl80211_del_station() (Jarod Wilson) [1860496] - [net] cfg80211: Configure PMK lifetime and reauth threshold for PMKSA entries (Jarod Wilson) [1860496] - [net] mac80211: Read rx_stats with perCPU pointers (Jarod Wilson) [1860496] - [net] mac80211: Allow deleting stations in ibss mode to reset their state (Jarod Wilson) [1860496] - [net] cfg80211: Add support for userspace to reset stations in IBSS mode (Jarod Wilson) [1860496] - [net] mac80211: consider WLAN_EID_EXT_HE_OPERATION for parsing CRC (Jarod Wilson) [1860496] - [uapi] nl80211: add PROTECTED_TWT nl80211 extended feature (Jarod Wilson) [1860496] - [net] mac80211: HE: set missing bss_conf fields in AP mode (Jarod Wilson) [1860496] - [net] nl80211: pass HE operation element to the driver (Jarod Wilson) [1860496] - [net] nl80211/cfg80211: add support for non EDCA based ranging measurement (Jarod Wilson) [1860496] - [net] mac80211: don't leave skb->next/prev pointing to stack (Jarod Wilson) [1860496] - [net] mac80211: update documentation about tx power (Jarod Wilson) [1860496] - [net] mac80211: handle no-preauth flag for control port (Jarod Wilson) [1860496] - [net] nl80211: add no pre-auth attribute and ext. feature flag for ctrl. port (Jarod Wilson) [1860496] - [net] cfg80211: fix documentation format (Jarod Wilson) [1860496] - [wireless] ath11k: Perform per-msdu rx processing (Jarod Wilson) [1860496] - [wireless] ath11k: Configure hash based reo destination ring selection (Jarod Wilson) [1860496] - [wireless] ath11k: Adding proper validation before accessing tx_stats (Jarod Wilson) [1860496] - [wireless] ath11k: dump SRNG stats during FW assert (Jarod Wilson) [1860496] - [wireless] ath11k: fill channel info from rx channel (Jarod Wilson) [1860496] - [wireless] ath11k: Supporting RX ring backpressure HTT event and stats handling (Jarod Wilson) [1860496] - [wireless] iwlwifi: move AX200 devices to the new table (Jarod Wilson) [1860496] - [wireless] iwlwifi: remove trans entries from COMMON 9260 macro (Jarod Wilson) [1860496] - [wireless] iwlwifi: move shared clock entries to new table (Jarod Wilson) [1860496] - [wireless] iwlwifi: move pu devices to new table (Jarod Wilson) [1860496] - [wireless] iwlwifi: remove 9260 devices with 0x1010 and 0x1210 subsytem IDs (Jarod Wilson) [1860496] - [wireless] iwlwifi: convert the 9260-1x1 device to use the new parameters (Jarod Wilson) [1860496] - [wireless] iwlwifi: move TH1 devices to the new table (Jarod Wilson) [1860496] - [wireless] iwlwifi: map 9461 and 9462 using RF type and RF ID (Jarod Wilson) [1860496] - [wireless] iwlwifi: add Pu/PnJ/Th device values to differentiate them (Jarod Wilson) [1860496] - [wireless] iwlwifi: add GNSS differentiation to the device tables (Jarod Wilson) [1860496] - [wireless] iwlwifi: add mac/rf types and 160MHz to the device tables (Jarod Wilson) [1860496] - [wireless] iwlwifi: combine 9260 cfgs that only change names (Jarod Wilson) [1860496] - [wireless] iwlwifi: move the remaining 0x2526 configs to the new table (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: introduce mt7663e support (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: get rid of sta_rec_wtbl data structure (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: introduce set_ba uni command (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: add more uni mcu commands (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: introduce set_bmc and st_sta for uni commands (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: introduce uni cmd command types (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: introduce mt7615_init_mac_chain routine (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: introduce mt7615_eeprom_parse_hw_band_cap routine (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: add mt7663e support to mt7615_mcu_set_eeprom (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: add mt7663e support to mt7615_{driver, firmware}_own (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: add mt7663e support to mt7615_reg_map (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: introduce mt7615_register_map (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: introduce MCU_FW_PREFIX for fw mcu commands (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: move more mcu commands in mt7615_mcu_ops data structure (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: rework mt7615_mcu_set_bss_info using skb APIs (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: rely on skb API for mt7615_mcu_set_eeprom (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: move mt7615_mcu_set_sta in mt7615_mcu_ops (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: move mt7615_mcu_set_bmc to mt7615_mcu_ops (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: add mt7615_mcu_ops data structure (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: introduce mt7615_mcu_send_message routine (Jarod Wilson) [1860496] - [wireless] mt76: always init to 0 mcu messages (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: introduce mt7615_init_device routine (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: cleanup fw queue just for mmio devices (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: introduce mt7615_mcu_wait_response (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: introduce mt7615_mcu_fill_msg (Jarod Wilson) [1860496] - [wireless] mt76: remove variable 'val' set but not used (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: remove a stray if statement (Jarod Wilson) [1860496] - [wireless] mt76: mt76x02: reset MCU timeout counter earlier in watchdog reset (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: fix monitor injection of beacon frames (Jarod Wilson) [1860496] - [wireless] mt76: mt7603: make dynamic sensitivity adjustment configurable via debugfs (Jarod Wilson) [1860496] - [wireless] mt76: mt7603: add upper limit for dynamic sensitivity minimum receive power (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: fix antenna mask initialization in DBDC mode (Jarod Wilson) [1860496] - [wireless] mt76: mt76u: rely only on data buffer for usb control messagges (Jarod Wilson) [1860496] - [wireless] mt76: mt76u: fix a possible memory leak in mt76u_init (Jarod Wilson) [1860496] - [wireless] mt76: mt76u: loop over all possible rx queues in mt76u_rx_tasklet (Jarod Wilson) [1860496] - [wireless] ath11k: add handling for BSS color (Jarod Wilson) [1860496] - [wireless] ath11k: add WMI calls required for handling BSS color (Jarod Wilson) [1860496] - [wireless] ath11k: set queue_len to 4096 (Jarod Wilson) [1860496] - [wireless] ath11k: enable PN offload (Jarod Wilson) [1860496] - [wireless] ath11k: handle RX fragments (Jarod Wilson) [1860496] - [wireless] rtw88: remove unused member of struct rtw_hal (Jarod Wilson) [1860496] - [wireless] ath5k: Use scnprintf() for avoiding potential buffer overflow (Jarod Wilson) [1860496] - [wireless] ath11k: Use scnprintf() for avoiding potential buffer overflow (Jarod Wilson) [1860496] - [wireless] ath10k: allow qca988x family to support ack rssi of tx data packets (Jarod Wilson) [1860496] - [wireless] ath5k: Add proper dependency for ATH5K_AHB (Jarod Wilson) [1860496] - [wireless] ath11k: add thermal sensor device support (Jarod Wilson) [1860496] - [wireless] ath11k: add thermal cooling device support (Jarod Wilson) [1860496] - [wireless] ath10k: fix not registering airtime of 11a station with WMM disable (Jarod Wilson) [1860496] - [wireless] ath11k: config reorder queue for all tids during peer setup (Jarod Wilson) [1860496] - [wireless] ath10k: fix unsupported chip reset debugs file write (Jarod Wilson) [1860496] - [wireless] ath10k: use kzalloc to read for ath10k_sdio_hif_diag_read (Jarod Wilson) [1860496] - [wireless] ath10k: start recovery process when read int status fail for sdio (Jarod Wilson) [1860496] - [wireless] ath10k: add QCA9377 sdio hw_param item (Jarod Wilson) [1860496] - [wireless] ath10k: avoid consecutive OTP download to reduce boot time (Jarod Wilson) [1860496] - [net] mac80211: Add api to support configuring TID specific configuration (Jarod Wilson) [1860496] - [net] nl80211: Add support to configure TID specific RTSCTS configuration (Jarod Wilson) [1860496] - [net] nl80211: Add support to configure TID specific AMPDU configuration (Jarod Wilson) [1860496] - [net] nl80211: Add support to configure TID specific retry configuration (Jarod Wilson) [1860496] - [net] nl80211: modify TID-config API (Jarod Wilson) [1860496] - [net] nl80211: Add NL command to support TID speicific configurations (Jarod Wilson) [1860496] - [net] mac80211: Beacon protection using the new BIGTK (STA) (Jarod Wilson) [1860496] - [net] mac80211: Beacon protection using the new BIGTK (AP) (Jarod Wilson) [1860496] - [net] mac80211: Update BIP to support Beacon frames (Jarod Wilson) [1860496] - [net] mac80211: Support BIGTK configuration for Beacon protection (Jarod Wilson) [1860496] - [net] cfg80211: Support key configuration for Beacon protection (BIGTK) (Jarod Wilson) [1860496] - [net] cfg80211: More error messages for key addition failures (Jarod Wilson) [1860496] - [net] cfg80211: fix indentation errors (Jarod Wilson) [1860496] - [net] cfg80211: merge documentations of field "dev" (Jarod Wilson) [1860496] - [net] cfg80211: merge documentations of field "debugfsdir" (Jarod Wilson) [1860496] - [net] cfg80211: drop duplicated documentation of field "reg_notifier" (Jarod Wilson) [1860496] - [net] cfg80211: drop duplicated documentation of field "perm_addr" (Jarod Wilson) [1860496] - [net] cfg80211: drop duplicated documentation of field "_net" (Jarod Wilson) [1860496] - [net] cfg80211: drop duplicated documentation of field "registered" (Jarod Wilson) [1860496] - [net] cfg80211: drop duplicated documentation of field "privid" (Jarod Wilson) [1860496] - [net] cfg80211: drop duplicated documentation of field "probe_resp_offload" (Jarod Wilson) [1860496] - [net] Revert "nl80211: add src and dst addr attributes for control port tx/rx" (Jarod Wilson) [1860496] - [net] Revert "mac80211: support NL80211_EXT_FEATURE_CONTROL_PORT_OVER_NL80211_MAC_ADDRS" (Jarod Wilson) [1860496] - [net] cfg80211: remove support for adjacent channel compensation (Jarod Wilson) [1860496] - [net] mac80211: check vif pointer before airtime calculation (Jarod Wilson) [1860496] - [net] cfg80211: Pass lockdep expression to RCU lists (Jarod Wilson) [1860496] - [wireless] mwifiex: change license text from MARVELL to NXP (Jarod Wilson) [1860496] - [wireless] mt76: Introduce mt76_mcu data structure (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: remove rx_mask in mt7615_eeprom_parse_hw_cap (Jarod Wilson) [1860496] - [wireless] mt76: mt76u: rename stat_wq in wq (Jarod Wilson) [1860496] - [wireless] mt76: mt76u: extend RX scatter gather number (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: rely on mt76_queues_read for mt7622 (Jarod Wilson) [1860496] - [wireless] mt76: do not set HOST_BROADCAST_PS_BUFFERING for mt7615 (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: rework rx phy index handling (Jarod Wilson) [1860496] - [wireless] mt76: fix rounding issues on converting per-chain and combined txpower (Jarod Wilson) [1860496] - [wireless] mt76: mt76x2: avoid starting the MAC too early (Jarod Wilson) [1860496] - [wireless] mt76: avoid extra RCU synchronization on station removal (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: fix monitor mode on second PHY (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: fix adding active monitor interfaces (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: switch mt7615_mcu_set_rx_ba to v2 format (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: switch mt7615_mcu_set_tx_ba to v2 format (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: use new tag sta_rec_wtbl (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: add starec operating flow for firmware v2 (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: add a helper to encapsulate sta_rec operation (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: simplify mcu_set_sta flow (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: simplify mcu_set_bmc flow (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: add support for testing hardware reset (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: implement hardware reset support (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: report firmware log event messages (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: fix and rework tx power handling (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: add Kconfig entry for MT7622 (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: disable DBDC on MT7622 (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: decrease rx ring size for MT7622 (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: implement DMA support for MT7622 (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: implement probing and firmware loading on MT7622 (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: disable 5 GHz on MT7622 (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: add calibration free support for MT7622 (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: add eeprom support for MT7622 (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: add dma and tx queue initialization for MT7622 (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: fix MT_INT_TX_DONE_ALL definition for MT7622 (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: store N9 firmware version instead of CR4 (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: split up firmware loading functions (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: move mmio related code from pci.c to mmio.c (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: add __aligned(4) to txp structs (Jarod Wilson) [1860496] - [wireless] mt76: enable Airtime Queue Limit support (Jarod Wilson) [1860496] - [wireless] mt76: mt7603: increase dma mcu rx ring size (Jarod Wilson) [1860496] - [wireless] mt76: dma: do not write cpu_idx on rx queue reset until after refill (Jarod Wilson) [1860496] - [wireless] mt76: fix handling full tx queues in mt76_dma_tx_queue_skb_raw (Jarod Wilson) [1860496] - [wireless] mt76: set dma-done flag for flushed descriptors (Jarod Wilson) [1860496] - [wireless] mt76: mt76u: introduce MT_DRV_RX_DMA_HDR flag (Jarod Wilson) [1860496] - [wireless] mt76: mt76u: add endpoint to mt76u_bulk_msg signature (Jarod Wilson) [1860496] - [wireless] mt76: mt76u: introduce mt76u_skb_dma_info routine (Jarod Wilson) [1860496] - [wireless] mt76: mt76u: take into account different queue mapping for 7663 (Jarod Wilson) [1860496] - [wireless] mt76: mt76u: add {read/write}_extended utility routines (Jarod Wilson) [1860496] - [wireless] mt76: mt76u: introduce mt76u_alloc_mcu_queue utility routine (Jarod Wilson) [1860496] - [wireless] mt76: mt76u: resume all rx queue in mt76u_resume_rx (Jarod Wilson) [1860496] - [wireless] mt76: mt76u: add queue parameter to mt76u_rx_urb_alloc (Jarod Wilson) [1860496] - [wireless] mt76: mt76u: add mt76u_alloc_rx_queue utility routine (Jarod Wilson) [1860496] - [wireless] mt76: mt76u: stop/free all possible rx queues (Jarod Wilson) [1860496] - [wireless] mt76: mt76u: introduce mt76u_free_rx_queue utility routine (Jarod Wilson) [1860496] - [wireless] mt76: mt76u: move mcu buffer allocation in mt76x02u drivers (Jarod Wilson) [1860496] - [wireless] mt76: mt76u: add queue id parameter to mt76u_submit_rx_buffers (Jarod Wilson) [1860496] - [wireless] mt76: mt76u: use mt76_queue as mt76u_complete_rx context (Jarod Wilson) [1860496] - [wireless] mt76: mt76u: add mt76_queue to mt76u_refill_rx signature (Jarod Wilson) [1860496] - [wireless] mt76: mt76u: add mt76_queue to mt76u_get_next_rx_entry signature (Jarod Wilson) [1860496] - [wireless] mt76: mt76u: add mt76u_process_rx_queue utility routine (Jarod Wilson) [1860496] - [wireless] mt76: mt76u: check tx_status_data pointer in mt76u_tx_tasklet (Jarod Wilson) [1860496] - [wireless] mt76: mt76x02u: avoid overwrite max_tx_fragments (Jarod Wilson) [1860496] - [wireless] mt76: rely on mac80211 utility routines to compute airtime (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: remove leftover routine declaration (Jarod Wilson) [1860496] - [wireless] mt76: move WIPHY_FLAG_HAS_CHANNEL_SWITCH in mt76_phy_init (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: fix endianness in mt7615_mcu_set_eeprom (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: initialize radar specs from host driver (Jarod Wilson) [1860496] - [wireless] mt76: mt76x2: get rid of leftover target (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: add tracing support (Jarod Wilson) [1860496] - [wireless] mt76: move mac_txdone tracepoint in mt76 module (Jarod Wilson) [1860496] - [wireless] mt76: move dev_irq tracepoint in mt76 module (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: add a get_stats() callback (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: add per-phy mib statistics (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: report TSF information (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: add set_antenna callback (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: rework set_channel function (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: add missing settings for simultaneous dual-band support (Jarod Wilson) [1860496] - [wireless] mt76: fix compilation warning in mt76_eeprom_override() (Jarod Wilson) [1860496] - [wireless] mt76: mt7603: simplify led reg definitions (Jarod Wilson) [1860496] - [wireless] mt76: mt76x02: simplify led reg definitions (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: introduce LED support (Jarod Wilson) [1860496] - [wireless] mt76: clear skb pointers from rx aggregation reorder buffer during cleanup (Jarod Wilson) [1860496] - [wireless] mt76: mt7603: fix input validation issues for powersave-filtered frames (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: increase MCU command timeout (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: measure channel noise and report it via survey (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: fix MT7615_CFEND_RATE_DEFAULT value (Jarod Wilson) [1860496] - [wireless] mt76: mt76x02: minor mt76x02_mac_set_beacon optimization (Jarod Wilson) [1860496] - [wireless] mt76: mt76x02u: do not set NULL beacons (Jarod Wilson) [1860496] - [wireless] mt76: usb: use max packet length for m76u_copy (Jarod Wilson) [1860496] - [wireless] mt76: mt76x02: add channel switch support for usb interfaces (Jarod Wilson) [1860496] - [wireless] mt76: speed up usb bulk copy (Jarod Wilson) [1860496] - [wireless] mt76: mt76x02: remove a copy call for usb speedup (Jarod Wilson) [1860496] - [wireless] mt76: mt76x02: add check for invalid vif idx (Jarod Wilson) [1860496] - [wireless] mt76: mt76x02: split beaconing (Jarod Wilson) [1860496] - [wireless] mt76: mt76x02: omit beacon slot clearing (Jarod Wilson) [1860496] - [wireless] mt76: use AC specific reorder timeout (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: add set_coverage class support (Jarod Wilson) [1860496] - [wireless] mt76: mt7603: set 0 as min coverage_class value (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: report firmware version using ethtool (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: Fix build with older compilers (Jarod Wilson) [1860496] - [wireless] mt76: eeprom: add support for big endian eeprom partition (Jarod Wilson) [1860496] - [wireless] mt76: mt7603: reset STA_CCA counter setting the channel (Jarod Wilson) [1860496] - [wireless] mt76: fix possible undetected invalid MAC address (Jarod Wilson) [1860496] - [wireless] mt76: disable bh in mt76_dma_rx_poll (Jarod Wilson) [1860496] - [wireless] mt76: fix rx dma ring descriptor state on reset (Jarod Wilson) [1860496] - [wireless] mt7615: replace sta_state callback with sta_add/sta_remove (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: defer mcu initialization via workqueue (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: update beacon contents on BSS_CHANGED_BEACON (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: add support for registering a second wiphy via debugfs (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: select the correct tx queue for frames sent to the second phy (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: move radio/mac initialization to .start/stop callbacks (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: initialize dbdc settings on interface add (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: add multiple wiphy support to the rx path (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: rework chainmask handling (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: add multiple wiphy support to the dfs support code (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: remove useless MT_HW_RDD0/1 enum (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: add missing register init for dual-wiphy support (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: add multiple wiphy support for smart carrier sense (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: add dual-phy support for mac80211 ops (Jarod Wilson) [1860496] - [wireless] mt76: do not overwrite max_tx_fragments if it has been set (Jarod Wilson) [1860496] - [wireless] mt76: move ampdu_ref from mt76_dev to driver struct (Jarod Wilson) [1860496] - [wireless] mt76: add ext_phy field to struct mt76_wcid (Jarod Wilson) [1860496] - [wireless] mt76: add function for allocating an extra wiphy (Jarod Wilson) [1860496] - [wireless] mt76: add priv pointer to struct mt76_phy (Jarod Wilson) [1860496] - [wireless] mt76: add multiple wiphy support to mt76_get_min_avg_rssi (Jarod Wilson) [1860496] - [wireless] mt76: move txpower and antenna mask to struct mt76_phy (Jarod Wilson) [1860496] - [wireless] mt76: move txpower_conf back to driver specific structs (Jarod Wilson) [1860496] - [wireless] mt76: move chainmask back to driver specific structs (Jarod Wilson) [1860496] - [wireless] mt76: move state from struct mt76_dev to mt76_phy (Jarod Wilson) [1860496] - [wireless] mt76: keep a set of software tx queues per phy (Jarod Wilson) [1860496] - [wireless] mt76: move channel state to struct mt76_phy (Jarod Wilson) [1860496] - [wireless] mt76: add support for an extra wiphy in mt76_sta_state() (Jarod Wilson) [1860496] - [wireless] mt76: add support for an extra wiphy in the tx status path (Jarod Wilson) [1860496] - [net] mac80211: allow setting queue_len for drivers not using wake_tx_queue (Jarod Wilson) [1860496] - [include] ieee80211: add WPA3 OWE AKM suite selector (Jarod Wilson) [1860496] - [wireless] mac80211: Fix setting txpower to zero (Jarod Wilson) [1860496] - [wireless] mt76: add support for an extra wiphy in the main tx path (Jarod Wilson) [1860496] - [wireless] mt76: add support for an extra wiphy in the rx path (Jarod Wilson) [1860496] - [wireless] mt76: introduce struct mt76_phy (Jarod Wilson) [1860496] - [wireless] mt76: move initialization of some struct members to mt76_alloc_device (Jarod Wilson) [1860496] - [wireless] rtw88: Fix incorrect beamformee role setting (Jarod Wilson) [1860496] - [wireless] rtw88: 8822: Make tables const, reduce data object size (Jarod Wilson) [1860496] - [wireless] rtw88: disable TX-AMSDU on 2.4G band (Jarod Wilson) [1860496] - [wireless] rtw88: 8822c: modify rf protection setting (Jarod Wilson) [1860496] - [wireless] rtw88: Use secondary channel offset enumeration (Jarod Wilson) [1860496] - [wireless] rtw88: 8822c: update power sequence to v16 (Jarod Wilson) [1860496] - [wireless] rtw88: add ciphers to suppress error message (Jarod Wilson) [1860496] - [wireless] rtw88: avoid holding mutex for cancel_delayed_work_sync() (Jarod Wilson) [1860496] - [wireless] rtw88: move rtw_enter_ips() to the last when config (Jarod Wilson) [1860496] - [wireless] rtw88: pci: 8822c should set clock delay to zero (Jarod Wilson) [1860496] - [wireless] rtw88: add rtw_read8_mask and rtw_read16_mask (Jarod Wilson) [1860496] - [wireless] rtw88: remove unused parameter vif in rtw_lps_pg_info_get() (Jarod Wilson) [1860496] - [wireless] brcmfmac: add the BRCM 4364 found in MacBook Pro 15, 2 (Jarod Wilson) [1860496] - [wireless] ath11k: fix incorrect peer stats counters update (Jarod Wilson) [1860496] - [wireless] ath11k: Fixing dangling pointer issue upon peer delete failure (Jarod Wilson) [1860496] - [wireless] ath11k: fix parsing PPDU_CTRL type in pktlog (Jarod Wilson) [1860496] - [wireless] ath11k: fix warn-on in disassociation (Jarod Wilson) [1860496] - [wireless] ath11k: fix rcu lock protect in peer assoc confirmation (Jarod Wilson) [1860496] - [wireless] ath11k: add HE rate accounting to driver (Jarod Wilson) [1860496] - [wireless] ath11k: drop tx_info from ath11k_sta (Jarod Wilson) [1860496] - [wireless] ath10k: Add support to read btcoex related data from DT (Jarod Wilson) [1860496] - [wireless] ath10k: fix few checkpatch warnings (Jarod Wilson) [1860496] - [net] mac80211: support NL80211_EXT_FEATURE_CONTROL_PORT_OVER_NL80211_MAC_ADDRS (Jarod Wilson) [1860496] - [net] nl80211: add src and dst addr attributes for control port tx/rx (Jarod Wilson) [1860496] - [net] mac80211: parse also the RSNXE IE (Jarod Wilson) [1860496] - [net] cfg80211/mac80211: Allow user space to register for station Rx authentication (Jarod Wilson) [1860496] - [include] ieee80211: fix 'the' doubling in comments (Jarod Wilson) [1860496] - [net] mac80211: Remove support for changing AP SMPS mode (Jarod Wilson) [1860496] - [net] mac80211: Handle SMPS mode changes only in AP mode (Jarod Wilson) [1860496] - [net] mac80211: Accept broadcast probe responses on 6GHz band (Jarod Wilson) [1860496] - [net] mac80211: HE: set RX NSS (Jarod Wilson) [1860496] - [net] mac80211: set station bandwidth from HE capability (Jarod Wilson) [1860496] - [net] mac80211: remove supported channels element in 6 GHz if ECSA support (Jarod Wilson) [1860496] - [net] mac80211: update condition for HE disablement (Jarod Wilson) [1860496] - [net] mac80211: make ieee80211_wep_init() return void (Jarod Wilson) [1860496] - [net] mac80211: allow changing TX-related netdev features (Jarod Wilson) [1860496] - [net] mac80211: check whether HE connection is allowed by the reg domain (Jarod Wilson) [1860496] - [net] mac80211: refactor extended element parsing (Jarod Wilson) [1860496] - [net] mac80211: simplify and improve HT/VHT/HE disable code (Jarod Wilson) [1860496] - [net] cfg80211: Enhance the AKM advertizement to support per interface (Jarod Wilson) [1860496] - [net] cfg80211: add no HE indication to the channel flag (Jarod Wilson) [1860496] - [net] mac80211: fix 11w when using encapsulation offloading (Jarod Wilson) [1860496] - [net] mac80211: fix tx status for no ack cases (Jarod Wilson) [1860496] - [net] mac80211: add handling for BSS color (Jarod Wilson) [1860496] - [net] nl80211: add handling for BSS color (Jarod Wilson) [1860496] - [net] mac80211: debugfs: improve airtime_flags handler readability (Jarod Wilson) [1860496] - [net] mac80211: Remove redundant assertion (Jarod Wilson) [1860496] - [net] mac80211: add 802.11 encapsulation offloading support (Jarod Wilson) [1860496] - [net] mac80211: Always show airtime debugfs file when TXQs are enabled (Jarod Wilson) [1860496] - [include] trivial: mac80211: fix indentation (Jarod Wilson) [1860496]- [fs] xfs: force writes to delalloc regions to unwritten (Carlos Maiolino) [1696580] - [fs] xfs: refactor xfs_iomap_prealloc_size (Carlos Maiolino) [1696580] - [fs] xfs: measure all contiguous previous extents for prealloc size (Carlos Maiolino) [1696580] - [fs] xfs: don't fail unwritten extent conversion on writeback due to edquot (Carlos Maiolino) [1696580] - [trace] SUNRPC: Fix general protection fault in trace_rpc_xdr_overflow() (Dave Wysochanski) [1906309] - [trace] Revert "SUNRPC: Fix general protection fault in trace_rpc_xdr_overflow()" (Dave Wysochanski) [1906309] - [uapi] uapi: fix statx attribute value overlap for DAX & MOUNT_ROOT (Eric Sandeen) [1905205] - [trace] SUNRPC: Fix oops in the rpc_xdr_buf event class (Scott Mayhew) [1900157] - [fs] NFS: Fix listxattr receive buffer size (Scott Mayhew) [1900157] - [trace] SUNRPC: Fix general protection fault in trace_rpc_xdr_overflow() (Scott Mayhew) [1900157] - [net] SUNRPC: fix copying of multiple pages in gss_read_proxy_verf() (Scott Mayhew) [1900157] - [net] svcrdma: fix bounce buffers for unaligned offsets and multiple pages (Scott Mayhew) [1900157] - [pci] hv: Document missing hv_pci_protocol_negotiation() parameter (Mohammed Gamal) [1886102] - [pci] hv: Make some functions static (Mohammed Gamal) [1886102] - [pci] hv: Use struct_size() helper (Mohammed Gamal) [1886102] - [pci] hv: Prepare hv_compose_msi_msg() for the VMBus-channel-interrupt-to-vCPU reassignment functionality (Mohammed Gamal) [1886102] - [fs] xfs: allow individual quota grace period extension (Bill O'Donnell) [1827913] - [fs] xfs: per-type quota timers and warn limits (Bill O'Donnell) [1827913] - [fs] xfs: switch xfs_get_defquota to take explicit type (Bill O'Donnell) [1827913] - [fs] xfs: pass xfs_dquot to xfs_qm_adjust_dqtimers (Bill O'Donnell) [1827913] - [fs] xfs: fix up some whitespace in quota code (Bill O'Donnell) [1827913] - [fs] xfs: preserve default grace interval during quotacheck (Bill O'Donnell) [1827913] - [fs] quota: honor quota type in Q_XGETQSTATcalls (Bill O'Donnell) [1827913]- [fs] NFS: Do uncached readdir when we're seeking a cookie in an empty page cache (Dave Wysochanski) [1893882] - [fs] NFS: Reduce number of RPC calls when doing uncached readdir (Dave Wysochanski) [1893882] - [fs] NFS: Optimisations for monotonically increasing readdir cookies (Dave Wysochanski) [1893882] - [fs] NFS: Improve handling of directory verifiers (Dave Wysochanski) [1893882] - [fs] NFS: Handle NFS4ERR_NOT_SAME and NFSERR_BADCOOKIE from readdir calls (Dave Wysochanski) [1893882] - [fs] NFS: Allow the NFS generic code to pass in a verifier to readdir (Dave Wysochanski) [1893882] - [fs] NFS: Cleanup to remove nfs_readdir_descriptor_t typedef (Dave Wysochanski) [1893882] - [fs] NFS: Reduce readdir stack usage (Dave Wysochanski) [1893882] - [fs] NFS: nfs_do_filldir() does not return a value (Dave Wysochanski) [1893882] - [fs] NFS: More readdir cleanups (Dave Wysochanski) [1893882] - [fs] NFS: Support larger readdir buffers (Dave Wysochanski) [1893882] - [fs] NFS: Simplify struct nfs_cache_array_entry (Dave Wysochanski) [1893882] - [fs] NFS: Replace kmap() with kmap_atomic() in nfs_readdir_search_array() (Dave Wysochanski) [1893882] - [fs] NFS: Remove unnecessary kmap in nfs_readdir_xdr_to_array() (Dave Wysochanski) [1893882] - [fs] NFS: Don't discard readdir results (Dave Wysochanski) [1893882] - [fs] NFS: Clean up directory array handling (Dave Wysochanski) [1893882] - [fs] NFS: Clean up nfs_readdir_page_filler() (Dave Wysochanski) [1893882] - [fs] NFS: Clean up readdir struct nfs_cache_array (Dave Wysochanski) [1893882] - [fs] NFS: Ensure contents of struct nfs_open_dir_context are consistent (Dave Wysochanski) [1893882] - [fs] NFSv4.2: condition READDIR's mask for security label based on LSM state (Dave Wysochanski) [1893882] - [fs] NFS: Remove unnecessary inode lock in nfs_fsync_dir() (Dave Wysochanski) [1893882] - [fs] NFS: Remove unnecessary inode locking in nfs_llseek_dir() (Dave Wysochanski) [1893882] - [netdrv] net: intel: Remove in_interrupt() warnings (Ken Cox) [1838732] - [netdrv] intel-ethernet: clean up W=1 warnings in kdoc (Ken Cox) [1838732] - [netdrv] ixgbevf: use generic power management (Ken Cox) [1838732] - [netdrv] ethernet/intel: Convert fallthrough code comments (Ken Cox) [1838732] - [netdrv] net/intel: remove driver versions from Intel drivers (Ken Cox) [1838732] - [iommu] vt-d: Don't dereference iommu_device if IOMMU_API is not built (Vitaly Kuznetsov) [1887216] - [iommu] vt-d: Gracefully handle DMAR units with no supported address widths (Vitaly Kuznetsov) [1887216] - [iommu] vt-d: Skip TE disabling on quirky gfx dedicated iommu (Vitaly Kuznetsov) [1887216] - [netdrv] Revert "mark the intel igc driver as tech preview" (Corinna Vinschen) [1838742] - [netdrv] net: intel: Remove in_interrupt() warnings (Corinna Vinschen) [1838742] - [netdrv] igc: Clean up nvm_info structure (Corinna Vinschen) [1838742] - [netdrv] igc: Reject schedules with a base_time in the future (Corinna Vinschen) [1838742] - [netdrv] igc: Export a way to read the PTP timer (Corinna Vinschen) [1838742] - [netdrv] igc: Remove reset disable flag (Corinna Vinschen) [1838742] - [netdrv] igc: Save PTP time before a reset (Corinna Vinschen) [1838742] - [netdrv] igc: Remove references to SYSTIMR register (Corinna Vinschen) [1838742] - [netdrv] igc: Expose LPI counters (Corinna Vinschen) [1838742] - [netdrv] igc: Clean RX descriptor error flags (Corinna Vinschen) [1838742] - [netdrv] igc: Remove timeout check from ptp_tx work (Corinna Vinschen) [1838742] - [netdrv] igc: Don't reschedule ptp_tx work (Corinna Vinschen) [1838742] - [netdrv] igc: Rename IGC_TSYNCTXCTL_VALID macro (Corinna Vinschen) [1838742] - [netdrv] igc: Add new device ID's (Corinna Vinschen) [1838742] - [netdrv] intel-ethernet: clean up W=1 warnings in kdoc (Corinna Vinschen) [1838742] - [netdrv] igc: Fix not considering the TX delay for timestamps (Corinna Vinschen) [1838742] - [netdrv] igc: Fix wrong timestamp latency numbers (Corinna Vinschen) [1838742] - [netdrv] igc: Fix PTP initialization (Corinna Vinschen) [1838742] - [netdrv] igc: Fix static checker warning (Corinna Vinschen) [1838742] - [netdrv] igc: Clean up the hw_stats structure (Corinna Vinschen) [1838742] - [netdrv] igc: Clean up the mac_info structure (Corinna Vinschen) [1838742] - [netdrv] igc: Remove ledctl_ fields from the mac_info structure (Corinna Vinschen) [1838742] - [netdrv] igc: Fix registers definition (Corinna Vinschen) [1838742] - [netdrv] igc: Remove unneeded ICTXQMTC register (Corinna Vinschen) [1838742] - [netdrv] igc: Add Receive Descriptor Minimum Threshold Count to clear HW counters (Corinna Vinschen) [1838742] - [netdrv] igc: Remove unneeded variable (Corinna Vinschen) [1838742] - [netdrv] ethernet/intel: Convert fallthrough code comments (Corinna Vinschen) [1838742] - [netdrv] igc: Remove checking media type during MAC initialization (Corinna Vinschen) [1838742] - [netdrv] igc: Remove unneeded check for copper media type (Corinna Vinschen) [1838742] - [netdrv] igc: Refactor the igc_power_down_link() (Corinna Vinschen) [1838742] - [netdrv] igc: Remove TCP segmentation TX fail counter (Corinna Vinschen) [1838742] - [netdrv] igc: Add LPI counters (Corinna Vinschen) [1838742] - [netdrv] igc: Fix Rx timestamp disabling (Corinna Vinschen) [1838742] - [netdrv] igc: Refactor igc_ptp_set_timestamp_mode() (Corinna Vinschen) [1838742] - [netdrv] igc: Remove UDP filter setup in PTP code (Corinna Vinschen) [1838742] - [netdrv] igc: Check __IGC_PTP_TX_IN_PROGRESS instead of ptp_tx_skb (Corinna Vinschen) [1838742] - [netdrv] igc: Remove duplicate code in Tx timestamp handling (Corinna Vinschen) [1838742] - [netdrv] igc: Clean up Rx timestamping logic (Corinna Vinschen) [1838742] - [netdrv] igc: Add initial LTR support (Corinna Vinschen) [1838742] - [netdrv] igc: Add initial EEE support (Corinna Vinschen) [1838742] - [netdrv] net/intel: remove driver versions from Intel drivers (Corinna Vinschen) [1838742] - [netdrv] igc: Fix wrong register name (Corinna Vinschen) [1838742] - [netdrv] igc: Remove Sequence Error Counter (Corinna Vinschen) [1838742] - [netdrv] igc: Add Receive Error Counter (Corinna Vinschen) [1838742] - [netdrv] igc: Remove symbol error counter (Corinna Vinschen) [1838742] - [netdrv] igc: Fix IGC_MAX_RXNFC_RULES (Corinna Vinschen) [1838742] - [netdrv] igc: Reject NFC rules with multiple matches (Corinna Vinschen) [1838742] - [netdrv] igc: Remove unused flags (Corinna Vinschen) [1838742] - [netdrv] igc: Remove unused descriptor's flags (Corinna Vinschen) [1838742] - [netdrv] igc: Remove igc_nfc_rule_exit() (Corinna Vinschen) [1838742] - [netdrv] igc: Change adapter->nfc_rule_lock to mutex (Corinna Vinschen) [1838742] - [netdrv] igc: Change return type from igc_disable_nfc_rule() (Corinna Vinschen) [1838742] - [netdrv] igc: Fix NFC rule validation (Corinna Vinschen) [1838742] - [netdrv] igc: Fix NFC rules leak when driver is unloaded (Corinna Vinschen) [1838742] - [netdrv] igc: Refactor igc_ethtool_update_nfc_rule() (Corinna Vinschen) [1838742] - [netdrv] igc: Fix NFC rules restoration (Corinna Vinschen) [1838742] - [netdrv] igc: Fix NFC rules with multicast addresses (Corinna Vinschen) [1838742] - [netdrv] igc: Fix NFC rule overwrite cases (Corinna Vinschen) [1838742] - [netdrv] igc: Fix locking issue when retrieving NFC rules (Corinna Vinschen) [1838742] - [netdrv] igc: Fix 'sw_idx' type in struct igc_nfc_rule (Corinna Vinschen) [1838742] - [netdrv] igc: Refactor igc_ethtool_add_nfc_rule() (Corinna Vinschen) [1838742] - [netdrv] igc: Change byte order in struct igc_nfc_filter (Corinna Vinschen) [1838742] - [netdrv] igc: Align terms used in NFC support code (Corinna Vinschen) [1838742] - [netdrv] igc: Add 'igc_ethtool_' prefix to functions in igc_ethtool.c (Corinna Vinschen) [1838742] - [netdrv] igc: Early return in igc_get_ethtool_nfc_entry() (Corinna Vinschen) [1838742] - [netdrv] igc: Cleanup _get|set_rxnfc ethtool ops (Corinna Vinschen) [1838742] - [netdrv] igc: Get rid of igc_max_channels() (Corinna Vinschen) [1838742] - [netdrv] igc: Remove unused field from igc_nfc_filter (Corinna Vinschen) [1838742] - [netdrv] igc: Remove per queue good transmited counter register (Corinna Vinschen) [1838742] - [netdrv] igc: Remove header redirection register (Corinna Vinschen) [1838742] - [netdrv] igc: Remove obsolete circuit breaker registers (Corinna Vinschen) [1838742] - [netdrv] igc: Enable NFC rules based source MAC address (Corinna Vinschen) [1838742] - [netdrv] igc: Add support for source address filters in core (Corinna Vinschen) [1838742] - [netdrv] igc: Remove mac_table from igc_adapter (Corinna Vinschen) [1838742] - [netdrv] igc: Remove IGC_MAC_STATE_SRC_ADDR flag (Corinna Vinschen) [1838742] - [netdrv] igc: Remove unused registers (Corinna Vinschen) [1838742] - [netdrv] igc: Remove unused IGC_ICS_DRSTA define (Corinna Vinschen) [1838742] - [netdrv] igc: Dump ETQF registers (Corinna Vinschen) [1838742] - [netdrv] igc: Refactor ethertype filtering code (Corinna Vinschen) [1838742] - [netdrv] igc: Fix MAX_ETYPE_FILTER value (Corinna Vinschen) [1838742] - [netdrv] igc: Remove ethertype filter in PTP code (Corinna Vinschen) [1838742] - [netdrv] igc: Remove duplicated IGC_RXPBS macro (Corinna Vinschen) [1838742] - [netdrv] igc: Refactor VLAN priority filtering code (Corinna Vinschen) [1838742] - [netdrv] igc: Return -EOPNOTSUPP when VLAN mask doesn't match (Corinna Vinschen) [1838742] - [netdrv] igc: Dump VLANPQF register (Corinna Vinschen) [1838742] - [netdrv] igc: Rename IGC_VLAPQF macro (Corinna Vinschen) [1838742] - [netdrv] igc: Clean up obsolete NVM defines (Corinna Vinschen) [1838742] - [netdrv] igc: remove IGC_REMOVED function (Corinna Vinschen) [1838742] - [netdrv] igc: Remove PCIe Control register (Corinna Vinschen) [1838742] - [netdrv] igc: Remove unneeded register (Corinna Vinschen) [1838742] - [netdrv] igc: Remove unneeded definition (Corinna Vinschen) [1838742] - [netdrv] igc: Use netdev log helpers in igc_base.c (Corinna Vinschen) [1838742] - [netdrv] igc: Use netdev log helpers in igc_dump.c (Corinna Vinschen) [1838742] - [netdrv] igc: Use netdev log helpers in igc_ptp.c (Corinna Vinschen) [1838742] - [netdrv] igc: Use netdev log helpers in igc_ethtool.c (Corinna Vinschen) [1838742] - [netdrv] igc: add support to eeprom, registers and link self-tests (Corinna Vinschen) [1838742] - [netdrv] igc: Use netdev log helpers in igc_main.c (Corinna Vinschen) [1838742] - [netdrv] igc: Add ECN support for TSO (Corinna Vinschen) [1838742] - [netdrv] ionic: fix mem leak in rx_empty (Jonathan Toppins) [1892492 1887516] - [netdrv] ionic: no rx flush in deinit (Jonathan Toppins) [1892492 1887516] - [netdrv] ionic: clean up sparse complaints (Jonathan Toppins) [1892492 1887516] - [netdrv] ionic: add new bad firmware error code (Jonathan Toppins) [1887516] - [netdrv] ionic: use lif ident for filter count (Jonathan Toppins) [1887516] - [netdrv] ionic: refill lif identity after fw_up (Jonathan Toppins) [1887516] - [netdrv] ionic: disable all queue napi contexts on timeout (Jonathan Toppins) [1887516] - [netdrv] ionic: check qcq ptr in ionic_qcq_disable (Jonathan Toppins) [1887516] - [netdrv] ionic: clear linkcheck bit on alloc fail (Jonathan Toppins) [1887516] - [netdrv] ionic: drain the work queue (Jonathan Toppins) [1887516] - [netdrv] ionic: contiguous memory for notifyq (Jonathan Toppins) [1887516] - [netdrv] ionic: prevent early watchdog check (Jonathan Toppins) [1887516] - [netdrv] ionic: stop watchdog timer earlier on remove (Jonathan Toppins) [1887516 1887263] - [netdrv] net: ionic: Remove WARN_ON(in_interrupt()) (Jonathan Toppins) [1887516] - [netdrv] net: ionic: Replace in_interrupt() usage (Jonathan Toppins) [1887516] - [netdrv] ionic: add DIMLIB to Kconfig (Jonathan Toppins) [1861520] - [netdrv] ionic: add devlink firmware update (Jonathan Toppins) [1861520] - [netdrv] ionic: update the fw update api (Jonathan Toppins) [1861520] - [netdrv] ionic: dynamic interrupt moderation (Jonathan Toppins) [1861520] - [netdrv] ionic: fix up debugfs after queue swap (Jonathan Toppins) [1861520] - [netdrv] ionic: clarify boolean precedence (Jonathan Toppins) [1861520] - [netdrv] ionic: remove unused variable (Jonathan Toppins) [1861520] - [netdrv] ionic: clean adminq service routine (Jonathan Toppins) [1861520] - [netdrv] ionic: clean up desc_info and cq_info structs (Jonathan Toppins) [1861520] - [netdrv] ionic: struct reorder for faster access (Jonathan Toppins) [1861520] - [netdrv] ionic: clean up page handling code (Jonathan Toppins) [1861520] - [netdrv] ionic: fix txrx work accounting (Jonathan Toppins) [1861520] - [netdrv] ionic: pull reset_queues into tx_timeout handler (Jonathan Toppins) [1861520] - [netdrv] ionic: change queue count with no reset (Jonathan Toppins) [1861520] - [netdrv] ionic: change the descriptor ring length without full reset (Jonathan Toppins) [1861520] - [netdrv] ionic: change mtu without full queue rebuild (Jonathan Toppins) [1861520] - [netdrv] ionic: use index not pointer for queue tracking (Jonathan Toppins) [1861520] - [netdrv] ionic: reduce contiguous memory allocation requirement (Jonathan Toppins) [1861520] - [netdrv] ionic: clean up unnecessary non-static functions (Jonathan Toppins) [1861520] - [netdrv] ionic: rework and simplify handling of the queue stats block (Jonathan Toppins) [1861520] - [netdrv] ionic: remove lif list concept (Jonathan Toppins) [1861520] - [netdrv] ionic: use kcalloc for new arrays (Jonathan Toppins) [1861520] - [netdrv] ionic: fix up a couple of debug strings (Jonathan Toppins) [1861520] - [netdrv] ionic: set MTU floor at ETH_MIN_MTU (Jonathan Toppins) [1861520] - [netdrv] ionic_lif: Use devm_kcalloc() in ionic_qcq_alloc() (Jonathan Toppins) [1861520] - [netdrv] ionic: separate interrupt for Tx and Rx (Jonathan Toppins) [1861520] - [netdrv] ionic: tx separate servicing (Jonathan Toppins) [1861520] - [netdrv] ionic: use fewer firmware doorbells on rx fill (Jonathan Toppins) [1861520] - [netdrv] ionic: fix memory leak of object 'lid' (Jonathan Toppins) [1861520] - [netdrv] ionic: interface file updates (Jonathan Toppins) [1861520] - [netdrv] ionic: rearrange reset and bus-master control (Jonathan Toppins) [1861520] - [netdrv] ionic: update eid test for overflow (Jonathan Toppins) [1861520] - [netdrv] ionic: remove unused ionic_coal_hw_to_usec (Jonathan Toppins) [1861520] - [netdrv] ionic: set netdev default name (Jonathan Toppins) [1861520] - [netdrv] ionic: get MTU from lif identity (Jonathan Toppins) [1861520] - [netdrv] ionic: keep rss hash after fw update (Jonathan Toppins) [1861520] - [netdrv] ionic: update filter id after replay (Jonathan Toppins) [1861520] - [netdrv] ionic: fix up filter locks and debug msgs (Jonathan Toppins) [1861520] - [netdrv] ionic: use offset for ethtool regs data (Jonathan Toppins) [1861520] - [md] md/raid5: Allow degraded raid6 to do rmw (Nigel Croxon) [1856838] - [md] md/raid5: Fix Force reconstruct-write io stuck in degraded raid5 (Nigel Croxon) [1856838] - [md] raid5: don't duplicate code for different paths in handle_stripe (Nigel Croxon) [1856838] - [md] raid5-cache: hold spinlock instead of mutex in r5c_journal_mode_show (Nigel Croxon) [1856838] - [md] md: print errno in super_written (Nigel Croxon) [1856838] - [md] md/raid5: remove the redundant setting of STRIPE_HANDLE (Nigel Croxon) [1856838] - [md] md: register new md sysfs file 'uuid' read-only (Nigel Croxon) [1856838] - [md] md: fix max sectors calculation for super 1.0 (Nigel Croxon) [1856838] - [md] md/raid5: use do_div() for 64 bit divisions in raid5_sync_request (Nigel Croxon) [1856838] - [md] md/raid10: avoid deadlock on recovery (Nigel Croxon) [1856838] - [md] md-cluster: fix rmmod issue when md_cluster convert bitmap to none (Nigel Croxon) [1856838] - [md] md-cluster: fix safemode_delay value when converting to clustered bitmap (Nigel Croxon) [1856838] - [md] md/raid5: support config stripe_size by sysfs entry (Nigel Croxon) [1856838] - [md] md/raid5: set default stripe_size as 4096 (Nigel Croxon) [1856838] - [md] md/raid456: convert macro STRIPE_* to RAID5_STRIPE_* (Nigel Croxon) [1856838] - [md] raid5: remove the meaningless check in raid5_make_request (Nigel Croxon) [1856838] - [md] raid5: put the comment of clear_batch_ready to the right place (Nigel Croxon) [1856838] - [md] raid5: call clear_batch_ready before set STRIPE_ACTIVE (Nigel Croxon) [1856838] - [md] md: raid10: Fix compilation warning (Nigel Croxon) [1856838] - [md] md: raid5: Fix compilation warning (Nigel Croxon) [1856838] - [md] md: raid5-cache: Remove set but unused variable (Nigel Croxon) [1856838] - [md] md: Fix compilation warning (Nigel Croxon) [1856838] - [md] md-cluster: fix wild pointer of unlock_all_bitmaps() (Nigel Croxon) [1856838] - [md] md/raid5-cache: clear MD_SB_CHANGE_PENDING before flushing stripes (Nigel Croxon) [1856838] - [md] md: fix deadlock causing by sysfs_notify (Nigel Croxon) [1856838] - [md] md: raid0/linear: fix dereference before null check on pointer mddev (Nigel Croxon) [1856838] - [md] md/raid1: Replace zero-length array with flexible-array (Nigel Croxon) [1856838] - [md] md: add a newline when printing parameter 'start_ro' by sysfs (Nigel Croxon) [1856838] - [md] md: stop using ->queuedata (Nigel Croxon) [1856838] - [md] md/raid1: release pending accounting for an I/O only after write-behind is also finished (Nigel Croxon) [1856838] - [md] md: remove redundant memalloc scope API usage (Nigel Croxon) [1856838] - [md] raid5: update code comment of scribble_alloc() (Nigel Croxon) [1856838] - [md] raid5: remove gfp flags from scribble_alloc() (Nigel Croxon) [1856838] - [md] md: use memalloc scope APIs in mddev_suspend()/mddev_resume() (Nigel Croxon) [1856838] - [md] md: remove the extra line for ->hot_add_disk (Nigel Croxon) [1856838] - [md] md: flush md_rdev_misc_wq for HOT_ADD_DISK case (Nigel Croxon) [1856838] - [md] md: don't flush workqueue unconditionally in md_open (Nigel Croxon) [1856838] - [md] md: add new workqueue for delete rdev (Nigel Croxon) [1856838] - [md] md: add checkings before flush md_misc_wq (Nigel Croxon) [1856838] - [md] md: check arrays is suspended in mddev_detach before call quiesce operations (Nigel Croxon) [1856838]- [scsi] storvsc: Fix error return in storvsc_probe() (Cathy Avery) [1895026] - [scsi] storvsc: Support PAGE_SIZE larger than 4K (Cathy Avery) [1895026] - [kernel] hv: hyperv.h: Introduce some hvpfn helper functions (Cathy Avery) [1895026] - [scsi] storvsc: Add validation for untrusted Hyper-V values (Cathy Avery) [1895026] - [scsi] storvsc: Fix spelling mistake (Cathy Avery) [1895026] - [scsi] storvsc: Remove memset before memory freeing in storvsc_suspend() (Cathy Avery) [1895026] - [net] tipc: fix incorrect setting window for bcast link (Xin Long) [1893085] - [net] tipc: re-configure queue limit for broadcast link (Xin Long) [1893085] - [net] tipc: fix NULL pointer dereference in tipc_named_rcv (Xin Long) [1893085] - [net] tipc: Supply missing udp_media.h include file (Xin Long) [1893085] - [net] tipc: add automatic rekeying for encryption key (Xin Long) [1893085] - [net] tipc: add automatic session key exchange (Xin Long) [1893085] - [net] tipc: introduce encryption master key (Xin Long) [1893085] - [net] tipc: optimize key switching time and logic (Xin Long) [1893085] - [net] tipc: Fix memory leak in tipc_group_create_member() (Xin Long) [1893085] - [net] tipc: fix shutdown() of connection oriented socket (Xin Long) [1893085] - [net] tipc: fix a deadlock when flushing scheduled work (Xin Long) [1893085] - [net] tipc: fix shutdown() of connectionless socket (Xin Long) [1893085] - [net] tipc: fix using smp_processor_id() in preemptible (Xin Long) [1893085] - [net] tipc: fix use-after-free in tipc_bcast_get_mode (Xin Long) [1893085] - [net] tipc: call rcu_read_lock() in tipc_aead_encrypt_done() (Xin Long) [1893085] - [net] tipc: fix uninit skb->data in tipc_nl_compat_dumpit() (Xin Long) [1893085] - [net] tipc: update a binding service via broadcast (Xin Long) [1893085] - [hv] hv_balloon: do adjust_managed_page_count() when ballooning/un-ballooning (Vitaly Kuznetsov) [1894717] - [hv] hv_balloon: simplify math in alloc_balloon_pages() (Vitaly Kuznetsov) [1894717] - [md] dm integrity: don't use drivers that have CRYPTO_ALG_ALLOCATES_MEMORY (Vladis Dronov) [1903849] - [md] dm crypt: don't use drivers that have CRYPTO_ALG_ALLOCATES_MEMORY (Vladis Dronov) [1903849] - [crypto] crypto: drivers - set the flag CRYPTO_ALG_ALLOCATES_MEMORY (Vladis Dronov) [1903849] - [include] crypto: algapi - introduce the flag CRYPTO_ALG_ALLOCATES_MEMORY (Vladis Dronov) [1903849] - [fs] iomap: Set all uptodate bits for an Uptodate page (Brian Foster) [1654127] - [scsi] scsi: ibmvfc: Avoid link down on FS9100 canister reboot (Desnes Augusto Nunes do Rosario) [1882613] - [scsi] scsi: ibmvfc: Use compiler attribute defines instead of __attribute__() (Desnes Augusto Nunes do Rosario) [1882613] - [arm64] arm64: Enable PCI write-combine resources under sysfs (Petr Oros) [1872943] - [scsi] scsi: mpt3sas: Bump driver version to 35.101.00.00 (Tomas Henzl) [1888543] - [scsi] scsi: mpt3sas: Add module parameter multipath_on_hba (Tomas Henzl) [1888543] - [scsi] scsi: mpt3sas: Handle vSES vphy object during HBA reset (Tomas Henzl) [1888543] - [scsi] scsi: mpt3sas: Add bypass_dirty_port_flag parameter (Tomas Henzl) [1888543] - [scsi] scsi: mpt3sas: Handling HBA vSES device (Tomas Henzl) [1888543] - [scsi] scsi: mpt3sas: Set valid PhysicalPort in SMPPassThrough (Tomas Henzl) [1888543] - [scsi] scsi: mpt3sas: Update hba_port objects after host reset (Tomas Henzl) [1888543] - [scsi] scsi: mpt3sas: Get sas_device objects using device's rphy (Tomas Henzl) [1888543] - [scsi] scsi: mpt3sas: Rename transport_del_phy_from_an_existing_port() (Tomas Henzl) [1888543] - [scsi] scsi: mpt3sas: Get device objects using sas_address & portID (Tomas Henzl) [1888543] - [scsi] scsi: mpt3sas: Update hba_port's sas_address & phy_mask (Tomas Henzl) [1888543] - [scsi] scsi: mpt3sas: Rearrange _scsih_mark_responding_sas_device() (Tomas Henzl) [1888543] - [scsi] scsi: mpt3sas: Allocate memory for hba_port objects (Tomas Henzl) [1888543] - [scsi] scsi: mpt3sas: Define hba_port structure (Tomas Henzl) [1888543]- [netdrv] net: phy: realtek: Modify 2.5G PHY name to RTL8226 (Josef Oskera) [1889854] - [netdrv] net: phy: realtek: enable ALDPS to save power for RTL8211F (Josef Oskera) [1889854] - [netdrv] net: phy: realtek: fix rtl8211e rx/tx delay config (Josef Oskera) [1889854] - [netdrv] net: phy: realtek: add support for RTL8125B-internal PHY (Josef Oskera) [1889854] - [netdrv] net: phy: realtek: add delay to resume path of certain internal PHY's (Josef Oskera) [1889854] - [netdrv] net: phy: realtek: read actual speed to detect downshift (Josef Oskera) [1889854] - [netdrv] r8169: fix issue with forced threading in combination with shared interrupts (Josef Oskera) [1889854] - [netdrv] r8169: fix operation under forced interrupt threading (Josef Oskera) [1889854] - [netdrv] r8169: factor out handling rtl8169_stats (Josef Oskera) [1889854] - [netdrv] r8169: consider that PHY reset may still be in progress after applying firmware (Josef Oskera) [1889854] - [netdrv] r8169: fix data corruption issue on RTL8402 (Josef Oskera) [1889854] - [netdrv] r8169: fix handling ether_clk (Josef Oskera) [1889854] - [netdrv] r8169: fix RTL8168f/RTL8411 EPHY config (Josef Oskera) [1889854] - [netdrv] r8169: remove member irq_enabled from struct rtl8169_private (Josef Oskera) [1889854] - [netdrv] r8169: use napi_complete_done return value (Josef Oskera) [1889854] - [netdrv] r8169: allow to enable ASPM on RTL8125A (Josef Oskera) [1889854] - [netdrv] r8169: add support for RTL8125B (Josef Oskera) [1889854] - [netdrv] r8169: sync support for RTL8401 with vendor driver (Josef Oskera) [1889854] - [netdrv] r8169: merge handling of RTL8101e and RTL8100e (Josef Oskera) [1889854] - [netdrv] r8169: rename RTL8125 to RTL8125A (Josef Oskera) [1889854] - [netdrv] r8169: improve rtl8169_runtime_resume (Josef Oskera) [1889854] - [netdrv] r8169: remove driver-specific mutex (Josef Oskera) [1889854] - [netdrv] r8169: use RTNL to protect critical sections (Josef Oskera) [1889854] - [netdrv] r8169: add rtl8169_up (Josef Oskera) [1889854] - [netdrv] r8169: remove no longer needed checks for device being runtime-active (Josef Oskera) [1889854] - [netdrv] r8169: mark device as not present when in PCI D3 (Josef Oskera) [1889854] - [netdrv] r8169: allow setting irq coalescing if link is down (Josef Oskera) [1889854] - [netdrv] r8169: move switching optional clock on/off to pll power functions (Josef Oskera) [1889854] - [netdrv] r8169: move updating counters to rtl8169_down (Josef Oskera) [1889854] - [netdrv] r8169: move napi_disable call and rename rtl8169_hw_reset (Josef Oskera) [1889854] - [netdrv] r8169: replace synchronize_rcu with synchronize_net (Josef Oskera) [1889854] - [netdrv] r8169: improve setting WoL on runtime-resume (Josef Oskera) [1889854] - [netdrv] r8169: remove unused constant RsvdMask (Josef Oskera) [1889854] - [netdrv] r8169: add info for DASH being enabled (Josef Oskera) [1889854] - [netdrv] r8169: fix failing WoL (Josef Oskera) [1889854] - [netdrv] r8169: improve handling power management ops (Josef Oskera) [1889854] - [netdrv] r8169: make rtl8169_down central chip quiesce function (Josef Oskera) [1889854] - [netdrv] r8169: move some calls to rtl8169_hw_reset (Josef Oskera) [1889854] - [netdrv] r8169: don't reset tx ring indexes in rtl8169_tx_clear (Josef Oskera) [1889854] - [netdrv] r8169: enable WAKE_PHY as only WoL source when runtime-suspending (Josef Oskera) [1889854] - [netdrv] r8169: change driver data type (Josef Oskera) [1889854] - [netdrv] r8169: improve rtl_remove_one (Josef Oskera) [1889854] - [netdrv] r8169: sync RTL8168f/RTL8411 hw config with vendor driver (Josef Oskera) [1889854] - [netdrv] r8169: sync RTL8168evl hw config with vendor driver (Josef Oskera) [1889854] - [netdrv] r8169: sync RTL8168h hw config with vendor driver (Josef Oskera) [1889854] - [netdrv] r8169: sync RTL8168g hw config with vendor driver (Josef Oskera) [1889854] - [netdrv] r8169: remove mask argument from r8168ep_ocp_read (Josef Oskera) [1889854] - [netdrv] r8169: remove mask argument from r8168dp_ocp_read (Josef Oskera) [1889854] - [netdrv] r8169: remove mask argument from rtl_w0w1_eri (Josef Oskera) [1889854] - [netdrv] r8169: work around an irq coalescing related tx timeout (Josef Oskera) [1889854] - [netdrv] r8169: improve rtl8169_mark_to_asic (Josef Oskera) [1889854] - [netdrv] r8169: make rtl_rx better readable (Josef Oskera) [1889854] - [netdrv] r8169: remove remaining call to mdiobus_unregister (Josef Oskera) [1889854] - [netdrv] r8169: don't include linux/moduleparam.h (Josef Oskera) [1889854] - [netdrv] r8169: remove not needed checks in rtl8169_set_eee (Josef Oskera) [1889854] - [netdrv] r8169: improve reset handling for chips from RTL8168g (Josef Oskera) [1889854] - [netdrv] r8169: add helper rtl_wait_txrx_fifo_empty (Josef Oskera) [1889854] - [netdrv] r8169: add helper rtl_enable_rxdvgate (Josef Oskera) [1889854] - [netdrv] r8169: add helper r8168g_wait_ll_share_fifo_ready (Josef Oskera) [1889854] - [netdrv] r8169: use fsleep in polling functions (Josef Oskera) [1889854] - [netdrv] r8169: use new helper eth_hw_addr_crc (Josef Oskera) [1889854] - [netdrv] r8169: switch from netif_xxx message functions to netdev_xxx (Josef Oskera) [1889854] - [netdrv] r8169: remove "out of memory" error message from rtl_request_firmware (Josef Oskera) [1889854] - [netdrv] r8169: simplify counter handling (Josef Oskera) [1889854] - [netdrv] r8169: remove redundant driver message when entering promiscuous mode (Josef Oskera) [1889854] - [netdrv] r8169: remove not needed parameter in rtl8169_set_magic_reg (Josef Oskera) [1889854] - [netdrv] r8169: configure PME_SIGNAL for RTL8125 too (Josef Oskera) [1889854] - [netdrv] r8169: improve max jumbo packet size definition (Josef Oskera) [1889854] - [netdrv] r8169: add check for invalid parameter combination in rtl_set_coalesce (Josef Oskera) [1889854] - [netdrv] r8169: improve rtl_set_coalesce (Josef Oskera) [1889854] - [netdrv] r8169: improve interrupt coalescing parameter handling (Josef Oskera) [1889854] - [netdrv] r8169: improve rtl_coalesce_choose_scale (Josef Oskera) [1889854] - [netdrv] r8169: improve rtl_get_coalesce (Josef Oskera) [1889854] - [netdrv] r8169: merge scale for tx and rx irq coalescing (Josef Oskera) [1889854] - [netdrv] r8169: don't pass net_device to irq coalescing sub-functions (Josef Oskera) [1889854] - [netdrv] r8169: improve error message if no dedicated PHY driver is found (Josef Oskera) [1889854] - [netdrv] r8169: improve configuring RxConfig register (Josef Oskera) [1889854] - [netdrv] r8169: improve handling CPCMD_MASK (Josef Oskera) [1889854] - [netdrv] r8169: use devm_mdiobus_register (Josef Oskera) [1889854] - [netdrv] r8169: change wmb to smb_wmb in rtl8169_start_xmit (Josef Oskera) [1889854] - [netdrv] r8169: inline rtl8169_make_unusable_by_asic (Josef Oskera) [1889854] - [netdrv] r8169: inline rtl8169_mark_as_last_descriptor (Josef Oskera) [1889854] - [netdrv] r8169: remove PHY resume delay that is handled in the PHY driver now (Josef Oskera) [1889854] - [netdrv] r8169: add workaround for RTL8168evl TSO hw issues (Josef Oskera) [1889854] - [netdrv] r8169: improve rtl8169_tso_csum_v2 (Josef Oskera) [1889854] - [netdrv] r8169: use rtl8169_set_features in rtl8169_init_one (Josef Oskera) [1889854] - [netdrv] r8169: preserve VLAN setting on RTL8125 in rtl_init_rxcfg (Josef Oskera) [1889854] - [netdrv] r8169: remove NETIF_F_HIGHDMA from vlan_features (Josef Oskera) [1889854] - [netdrv] r8169: move setting OCP base to generic init code (Josef Oskera) [1889854] - [s390] sclp: provide extended sccb support (Thomas Huth) [1798484] - [s390] sclp: avoid copy of sclp_info_sccb (Thomas Huth) [1798484] - [s390] sclp: use memblock for early read cpu info (Thomas Huth) [1798484] - [include] ptp: add stub function for ptp_get_msgtype() (Ivan Vecera) [1899217] - [include] ptp: Add generic ptp message type function (Ivan Vecera) [1899217] - [net] ptp: Add generic ptp v2 header parsing function (Ivan Vecera) [1899217] - [video] hyperv_fb: Fix the cache type when mapping the VRAM (Mohammed Gamal) [1886106] - [video] hyperv_fb: include vmalloc.h (Mohammed Gamal) [1886106] - [video] hyperv: hyperv_fb: Use physical memory for fb on HyperV Gen 1 VMs (Mohammed Gamal) [1886106] - [video] hyperv_fb: Fix hibernation for the deferred IO feature (Mohammed Gamal) [1886106] - [video] hyperv: hyperv_fb: Support deferred IO for Hyper-V frame buffer driver (Mohammed Gamal) [1886106] - [uio] uio_hv_generic: add missed sysfs_remove_bin_file (Mohammed Gamal) [1886106] - [input] hyperv-keyboard: Use VMBUS_RING_SIZE() for ringbuffer sizes (Mohammed Gamal) [1886106] - [hid] hyperv: Use VMBUS_RING_SIZE() for ringbuffer sizes (Mohammed Gamal) [1886106] - [netdrv] hv_netvsc: Add validation for untrusted Hyper-V values (Mohammed Gamal) [1886097] - [netdrv] hv_netvsc: Fix the queue_mapping in netvsc_vf_xmit() (Mohammed Gamal) [1886097] - [netdrv] hv_netvsc: Remove "unlikely" from netvsc_select_queue (Mohammed Gamal) [1886097] - [netdrv] hv_netvsc: do not use VF device if link is down (Mohammed Gamal) [1886097] - [netdrv] hyperv: dump TX indirection table to ethtool regs (Mohammed Gamal) [1886097] - [netdrv] hv_netvsc: add support for vlans in AF_PACKET mode (Mohammed Gamal) [1886097] - [netdrv] hv_netvsc: Fix netvsc_start_xmit's return type (Mohammed Gamal) [1886097] - [netdrv] hv_netvsc: Remove unnecessary round_up for recv_completion_cnt (Mohammed Gamal) [1886097] - [netdrv] hv_netvsc: use new helper tcp_v6_gso_csum_prep (Mohammed Gamal) [1886097] - [tools] kvm_stat: add sample systemd unit file (Thomas Huth) [1851123] - [tools] kvm_stat: Add command line switch '-L' to log to file (Thomas Huth) [1851123] - [tools] kvm_stat: add command line switch '-z' to skip zero records (Thomas Huth) [1851123] - [mm] mm/gup: Mark lock taken only after a successful retake (Chris von Recklinghausen) [1885412] - [mm] mm/filemap.c: fix a data race in filemap_fault() (Chris von Recklinghausen) [1885412] - [mm] mm: fix kthread_use_mm() vs TLB invalidate (Chris von Recklinghausen) [1885412] - [fs] kernel: set USER_DS in kthread_use_mm (Chris von Recklinghausen) [1885412] - [drm] kernel: better document the use_mm/unuse_mm API contract (Chris von Recklinghausen) [1885412] - [kernel] kernel: move use_mm/unuse_mm to kthread.c (Chris von Recklinghausen) [1885412] - [drm] drm/i915: convert get_user_pages() --> pin_user_pages() (Chris von Recklinghausen) [1885412] - [mm] mm/gup: introduce pin_user_pages_fast_only() (Chris von Recklinghausen) [1885412] - [mm] mm/gup: refactor and de-duplicate gup_fast() code (Chris von Recklinghausen) [1885412] - [mm] mm/gup: move __get_user_pages_fast() down a few lines in gup.c (Chris von Recklinghausen) [1885412] - [mm] gup: document and work around "COW can break either way" issue (Chris von Recklinghausen) [1885412] - [vfio] vfio: checking of validity of user vaddr in vfio_dma_rw (Chris von Recklinghausen) [1885412] - [fs] mm/userfaultfd: honor FAULT_FLAG_KILLABLE in fault path (Chris von Recklinghausen) [1885412] - [mm] mm/gup: allow to react to fatal signals (Chris von Recklinghausen) [1885412] - [mm] mm/gup: allow VM_FAULT_RETRY for multiple times (Chris von Recklinghausen) [1885412] - [mm] mm: allow VM_FAULT_RETRY for multiple times (Chris von Recklinghausen) [1885412] - [fs] mm: introduce FAULT_FLAG_INTERRUPTIBLE (Chris von Recklinghausen) [1885412] - [mm] mm: introduce FAULT_FLAG_DEFAULT (Chris von Recklinghausen) [1885412] - [fs] userfaultfd: don't retake mmap_sem to emulate NOPAGE (Chris von Recklinghausen) [1885412] - [include] mm: return faster for non-fatal signals in user mode faults (Chris von Recklinghausen) [1885412] - [mm] powerpc/mm: use helper fault_signal_pending() (Chris von Recklinghausen) [1885412] - [mm] arm64/mm: use helper fault_signal_pending() (Chris von Recklinghausen) [1885412] - [mm] x86/mm: use helper fault_signal_pending() (Chris von Recklinghausen) [1885412] - [mm] mm: introduce fault_signal_pending() (Chris von Recklinghausen) [1885412] - [mm] mm/gup: fix __get_user_pages() on fault retry of hugetlb (Chris von Recklinghausen) [1885412] - [mm] mm/gup: rename "nonblocking" to "locked" where proper (Chris von Recklinghausen) [1885412] - [mm] mm/gup: rename nr as nr_pinned in get_user_pages_fast() (Chris von Recklinghausen) [1885412] - [mm] mm/gup: require FOLL_GET for get_user_pages_fast() (Chris von Recklinghausen) [1885412] - [mm] mm/filemap.c: don't bother dropping mmap_sem for zero size readahead (Chris von Recklinghausen) [1885412] - [mm] mm/slb: export __kmalloc_track(_node)_caller (Chris von Recklinghausen) [1885412] - [mm] mm: Add vmf_insert_pfn_xxx_prot() for huge page-table entries (Chris von Recklinghausen) [1885412] - [vfio] vfio: introduce vfio_dma_rw to read/write a range of IOVAs (Chris von Recklinghausen) [1885412] - [infiniband] mm, tree-wide: rename put_user_page*() to unpin_user_page*() (Chris von Recklinghausen) [1885412] - [mm] mm/gup_benchmark: use proper FOLL_WRITE flags instead of hard-coding "1" (Chris von Recklinghausen) [1885412] - [mm] powerpc: book3s64: convert to pin_user_pages() and put_user_page() (Chris von Recklinghausen) [1885412] - [vfio] vfio, mm: pin_user_pages (FOLL_PIN) and put_user_page() conversion (Chris von Recklinghausen) [1885412] - [media] media/v4l2-core: pin_user_pages (FOLL_PIN) and put_user_page() conversion (Chris von Recklinghausen) [1885412] - [net] net/xdp: set FOLL_PIN via pin_user_pages() (Chris von Recklinghausen) [1885412] - [drm] drm/via: set FOLL_PIN via pin_user_pages_fast() (Chris von Recklinghausen) [1885412] - [mm] mm/process_vm_access: set FOLL_PIN via pin_user_pages_remote() (Chris von Recklinghausen) [1885412] - [infiniband] IB/{core, hw, umem}: set FOLL_PIN via pin_user_pages*(), fix up ODP (Chris von Recklinghausen) [1885412] - [documentation] mm/gup: introduce pin_user_pages*() and FOLL_PIN (Chris von Recklinghausen) [1885412] - [media] media/v4l2-core: set pages dirty upon releasing DMA buffers (Chris von Recklinghausen) [1885412] - [mm] mm/gup: allow FOLL_FORCE for get_user_pages_fast() (Chris von Recklinghausen) [1885412] - [vfio] vfio: fix FOLL_LONGTERM use, simplify get_user_pages_remote() call (Chris von Recklinghausen) [1885412] - [mm] mm: fix get_user_pages_remote()'s handling of FOLL_LONGTERM (Chris von Recklinghausen) [1885412] - [mm] mm/gup: factor out duplicate code from four routines (Chris von Recklinghausen) [1885412] - [mm] mm: drop mmap_sem before calling balance_dirty_pages() in write fault (Chris von Recklinghausen) [1885412] - [vfio] vfio/type1: untag user pointers in vaddr_get_pfn (Chris von Recklinghausen) [1885412] - [mm] mm: untag user pointers in mm/gup.c (Chris von Recklinghausen) [1885412] - [drm] drivers/gpu/drm/via: convert put_page() to put_user_page*() (Chris von Recklinghausen) [1885412] - [fs] fs/io_uring.c: convert put_page() to put_user_page*() (Chris von Recklinghausen) [1885412] - [mm] mm: mark the page referenced in gup_hugepte (Chris von Recklinghausen) [1885412] - [mm] mm: switch gup_hugepte to use try_get_compound_head (Chris von Recklinghausen) [1885412] - [mm] mm: move the powerpc hugepd code to mm/gup.c (Chris von Recklinghausen) [1885412] - [mm] mm: validate get_user_pages_fast flags (Chris von Recklinghausen) [1885412] - [mm] mm: consolidate the get_user_pages* implementations (Chris von Recklinghausen) [1885412] - [mm] mm: reorder code blocks in gup.c (Chris von Recklinghausen) [1885412] - [mm] mm: rename CONFIG_HAVE_GENERIC_GUP to CONFIG_HAVE_FAST_GUP (Chris von Recklinghausen) [1885412] - [x86] mm: lift the x86_32 PAE version of gup_get_pte to common code (Chris von Recklinghausen) [1885412] - [s390] mm: simplify gup_fast_permitted (Chris von Recklinghausen) [1885412] - [mm] mm: use untagged_addr() for get_user_pages_fast addresses (Chris von Recklinghausen) [1885412] - [mm] powerpc/mm: make gup_hugepte() static (Chris von Recklinghausen) [1885412] - [mm] filemap: drop the mmap_sem for all blocking operations (Chris von Recklinghausen) [1885412] - [mm] filemap: kill page_cache_read usage in filemap_fault (Chris von Recklinghausen) [1885412] - [mm] filemap: pass vm_fault to the mmap ra helpers (Chris von Recklinghausen) [1885412] - [mm] docs/core-api/mm: fix return value descriptions in mm/ (Chris von Recklinghausen) [1885412] - [mm] docs/mm: vmalloc: re-indent kernel-doc comemnts (Chris von Recklinghausen) [1885412] - [drm] drm/via: mark expected switch fall-throughs (Chris von Recklinghausen) [1885412] - [mm] x86/mm: Break out kernel address space handling (Chris von Recklinghausen) [1885412] - [kernel] locking/rwsem: Remove reader optimistic spinning (Waiman Long) [1895046] - [kernel] locking/rwsem: Enable reader optimistic lock stealing (Waiman Long) [1895046] - [kernel] locking/rwsem: Prevent potential lock starvation (Waiman Long) [1895046] - [kernel] locking/rwsem: Pass the current atomic count to rwsem_down_read_slowpath() (Waiman Long) [1895046] - [kernel] locking/rwsem: Fold __down_{read,write}*() (Waiman Long) [1895046] - [kernel] locking/rwsem: Introduce rwsem_write_trylock() (Waiman Long) [1895046] - [kernel] locking/rwsem: Better collate rwsem_read_trylock() (Waiman Long) [1895046] - [kernel] rwsem: Implement down_read_interruptible (Waiman Long) [1895046] - [kernel] rwsem: Implement down_read_killable_nested (Waiman Long) [1895046] - [powerpc] powerpc/perf: Fix crash with is_sier_available when pmu is not set (Steve Best) [1904225] - [powerpc] kvm: ppc: book3s hv: xive: Fix vCPU id sanity check (Greg Kurz) [1902709] - [net] ip6_gre: set dev->hard_header_len when using header_ops (Antoine Tenart) [1895789] - [fs] xfs: flush new eof page on truncate to avoid post-eof corruption (Brian Foster) [1878495] - [netdrv] bonding: set dev->needed_headroom in bond_setup_by_slave() (Antoine Tenart) [1903073] - [net] netfilter: bridge: reset skb->pkt_type after NF_INET_POST_ROUTING traversal (Antoine Tenart) [1901026] - [infiniband] RDMA/umem: Prevent small pages from being returned by ib_umem_find_best_pgsz() (Kamal Heib) [1857605] - [infiniband] IB/hfi1: Fix error return code in hfi1_init_dd() (Kamal Heib) [1857605] - [infiniband] RDMA/pvrdma: Fix missing kfree() in pvrdma_register_device() (Kamal Heib) [1857605] - [infiniband] RDMA/cm: Make the local_id_table xarray non-irq (Kamal Heib) [1857605] - [infiniband] IB/srpt: Fix memory leak in srpt_add_one (Kamal Heib) [1857605] - [infiniband] RDMA/bnxt_re: Set queue pair state when being queried (Kamal Heib) [1894681 1857605] - [infiniband] RDMA/rxe: Handle skb_clone() failure in rxe_recv.c (Kamal Heib) [1857605] - [infiniband] RDMA/rxe: Fix bug rejecting all multicast packets (Kamal Heib) [1857605] - [infiniband] RDMA/rxe: Fix skb lifetime in rxe_rcv_mcast_pkt() (Kamal Heib) [1857605] - [infiniband] IB/rdmavt: Fix sizeof mismatch (Kamal Heib) [1857605] - [infiniband] RDMA/ipoib: Set rtnl_link_ops for ipoib interfaces (Kamal Heib) [1883480 1883478 1857605] - [infiniband] RDMA/addr: Fix race with netevent_callback()/rdma_addr_cancel() (Kamal Heib) [1857605] - [rdma] RDMA/umem: Fix signature of stub ib_umem_find_best_pgsz() (Kamal Heib) [1857605] - [x86] kretprobe: Prevent triggering kretprobe from within kprobe_flush_task (Jerome Marchand) [1821265] - [netdrv] net: intel: Remove in_interrupt() warnings (Jonathan Toppins) [1891101] - [netdrv] ice: fix adding IP4 IP6 Flow Director rules (Jonathan Toppins) [1891101] - [netdrv] ice: Fix pointer cast warnings (Jonathan Toppins) [1891101] - [netdrv] ice: refactor devlink_port to be per-VSI (Jonathan Toppins) [1891101] - [netdrv] ice: add the DDP Track ID to devlink info (Jonathan Toppins) [1891101] - [netdrv] ice: Change ice_info_get_dsn to be void (Jonathan Toppins) [1891101] - [netdrv] ice: remove repeated words (Jonathan Toppins) [1891101] - [netdrv] ice: devlink: use *phD to print small buffer (Jonathan Toppins) [1891101] - [netdrv] ice: preserve NVM capabilities in safe mode (Jonathan Toppins) [1891101] - [netdrv] ice: increase maximum wait time for flash write commands (Jonathan Toppins) [1891101] - [netdrv] ice: remove unused args from ice_get_open_tunnel_port() (Jonathan Toppins) [1891101] - [netdrv] ice: fix memory leak in ice_vsi_setup (Jonathan Toppins) [1891101] - [netdrv] ice: fix memory leak if register_netdev_fails (Jonathan Toppins) [1891101] - [netdrv] ice: Fix call trace on suspend (Jonathan Toppins) [1891101] - [netdrv] ice: simplify the return expression of ice_finalize_update() (Jonathan Toppins) [1891101] - [netdrv] ice: Misc minor fixes (Jonathan Toppins) [1838737] - [netdrv] ice: adjust profile ID map locks (Jonathan Toppins) [1838737] - [netdrv] ice: update PTYPE lookup table (Jonathan Toppins) [1838737] - [netdrv] ice: Graceful error handling in HW table calloc failure (Jonathan Toppins) [1838737] - [netdrv] ice: port fix for chk_linearlize (Jonathan Toppins) [1838737] - [netdrv] ice: Allow 2 queue pairs per VF on SR-IOV initialization (Jonathan Toppins) [1838737] - [netdrv] ice: Clear and free XLT entries on reset (Jonathan Toppins) [1838737] - [netdrv] ice: add useful statistics (Jonathan Toppins) [1838737] - [netdrv] ice: remove page_reuse statistic (Jonathan Toppins) [1838737] - [netdrv] ice: Fix RSS profile locks (Jonathan Toppins) [1838737] - [netdrv] ice: fix the vsi_id mask to be 10 bit for set_rss_lut (Jonathan Toppins) [1838737] - [netdrv] ice: rename misleading grst_delay variable (Jonathan Toppins) [1838737] - [netdrv] ice: mark PM functions as __maybe_unused (Jonathan Toppins) [1838737] - [netdrv] ice: fix unused parameter warning (Jonathan Toppins) [1838737] - [netdrv] ice: disable no longer needed workaround for FW logging (Jonathan Toppins) [1838737] - [netdrv] ice: reduce scope of variable (Jonathan Toppins) [1838737] - [netdrv] ice: cleanup VSI on probe fail (Jonathan Toppins) [1838737] - [netdrv] ice: Allow all VLANs in safe mode (Jonathan Toppins) [1838737] - [netdrv] ice: need_wakeup flag might not be set for Tx (Jonathan Toppins) [1838737] - [netdrv] ice: distribute Tx queues evenly (Jonathan Toppins) [1838737] - [netdrv] ice: Adjust scheduler default BW weight (Jonathan Toppins) [1838737] - [netdrv] ice: Add RL profile bit mask check (Jonathan Toppins) [1838737] - [netdrv] ice: fix overwriting TX/RX descriptor values when rebuilding VSI (Jonathan Toppins) [1838737] - [netdrv] ice: return correct error code from ice_aq_sw_rules (Jonathan Toppins) [1838737] - [netdrv] ice: restore VF MSI-X state during PCI reset (Jonathan Toppins) [1838737] - [netdrv] ice: fix link event handling timing (Jonathan Toppins) [1838737] - [netdrv] ice: Fix link broken after GLOBR reset (Jonathan Toppins) [1838737] - [netdrv] ice: Implement LFC workaround (Jonathan Toppins) [1838737] - [netdrv] ice: implement device flash update via devlink (Jonathan Toppins) [1838737] - [netdrv] ice: add flags indicating pending update of firmware module (Jonathan Toppins) [1838737] - [netdrv] ice: Add AdminQ commands for FW update (Jonathan Toppins) [1838737] - [netdrv] ice: Add support for unified NVM update flow capability (Jonathan Toppins) [1838737] - [netdrv] ice: add 1G SGMII PHY type (Jonathan Toppins) [1838737] - [netdrv] ice: Report AOC PHY Types as Fiber (Jonathan Toppins) [1838737] - [netdrv] ice: add AQC get link topology handle support (Jonathan Toppins) [1838737] - [netdrv] ice: Rename low_power_ctrl (Jonathan Toppins) [1838737] - [netdrv] ice: update reporting of autoneg capabilities (Jonathan Toppins) [1838737] - [netdrv] ice: add ice_aq_get_phy_caps() debug logs (Jonathan Toppins) [1838737] - [netdrv] ice: support Total Port Shutdown on devices that support it (Jonathan Toppins) [1838737] - [netdrv] ice: add link lenient and default override support (Jonathan Toppins) [1838737] - [netdrv] ice: restore PHY settings on media insertion (Jonathan Toppins) [1838737] - [netdrv] ice: move auto FEC checks into ice_cfg_phy_fec() (Jonathan Toppins) [1838737] - [netdrv] ice: refactor FC functions (Jonathan Toppins) [1838737] - [netdrv] ice: Add advanced power mgmt for WoL (Jonathan Toppins) [1838737] - [netdrv] ice: split ice_discover_caps into two functions (Jonathan Toppins) [1838737] - [netdrv] ice: split ice_parse_caps into separate functions (Jonathan Toppins) [1838737] - [netdrv] ice: refactor ice_discover_caps to avoid need to retry (Jonathan Toppins) [1838737] - [netdrv] ice: replace single-element array used for C struct hack (Jonathan Toppins) [1838737] - [netdrv] ice: avoid unnecessary single-member variable-length structs (Jonathan Toppins) [1838737] - [netdrv] ice: implement snapshot for device capabilities (Jonathan Toppins) [1838737] - [netdrv] net/intel: remove driver versions from Intel drivers (Jonathan Toppins) [1838737] - [netdrv] ice: protect ring accesses with WRITE_ONCE (Jonathan Toppins) [1838737] - [netdrv] ice: Ignore EMODE when setting PHY config (Jonathan Toppins) [1838737] - [netdrv] ice: fix aRFS after flow director delete (Jonathan Toppins) [1838737] - [netdrv] ice: Use coalesce values from q_vector 0 when increasing q_vectors (Jonathan Toppins) [1838737] - [netdrv] ice: fix PCI device serial number to be lowercase values (Jonathan Toppins) [1838737] - [netdrv] ice: fix function signature style format (Jonathan Toppins) [1838737] - [netdrv] ice: Allow VF to request reset as soon as it's initialized (Jonathan Toppins) [1838737] - [netdrv] ice: Fix inability to set channels when down (Jonathan Toppins) [1838737] - [netdrv] ice: Always clear QRXFLXP_CNTXT before writing new value (Jonathan Toppins) [1838737] - [netdrv] ice: Reset VF for all port VLAN changes from host (Jonathan Toppins) [1838737] - [netdrv] ice: Update ICE_PHY_TYPE_HIGH_MAX_INDEX value (Jonathan Toppins) [1838737] - [netdrv] ice: Increase timeout after PFR (Jonathan Toppins) [1838737] - [netdrv] ice: Fix transmit for all software offloaded VLANs (Jonathan Toppins) [1838737] - [netdrv] ice: support adding 16 unicast/multicast filter on untrusted VF (Jonathan Toppins) [1838737] - [netdrv] ice: allow host to clear administratively set VF MAC (Jonathan Toppins) [1838737] - [netdrv] ice: Refactor VF VSI release and setup functions (Jonathan Toppins) [1838737] - [netdrv] ice: Refactor VF reset (Jonathan Toppins) [1838737] - [netdrv] ice: remove VM/VF disable command on CORER/GLOBR reset (Jonathan Toppins) [1838737] - [netdrv] ice: Add functions to rebuild host VLAN/MAC config for a VF (Jonathan Toppins) [1838737] - [netdrv] ice: Add function to set trust mode bit on reset (Jonathan Toppins) [1838737] - [netdrv] ice: Renaming and simplification in VF init path (Jonathan Toppins) [1838737] - [netdrv] ice: Separate VF VSI initialization/creation from reset flow (Jonathan Toppins) [1838737] - [netdrv] ice: Add helper function for clearing VPGEN_VFRTRIG (Jonathan Toppins) [1838737] - [netdrv] ice: Simplify ice_sriov_configure (Jonathan Toppins) [1838737] - [netdrv] ice: Refactor ice_ena_vf_mappings to split MSIX and queue mappings (Jonathan Toppins) [1838737] - [netdrv] ice: Declare functions static (Jonathan Toppins) [1838737] - [netdrv] ice: fix kernel BUG if register_netdev fails (Jonathan Toppins) [1838737] - [netdrv] ice: fix potential double free in probe unrolling (Jonathan Toppins) [1838737] - [netdrv] ice: cleanup VSI context initialization (Jonathan Toppins) [1838737] - [netdrv] ice: Poll for reset completion when DDP load fails (Jonathan Toppins) [1838737] - [netdrv] ice: Check UMEM FQ size when allocating bufs (Jonathan Toppins) [1838737] - [netdrv] ice: Refactor Rx checksum checks (Jonathan Toppins) [1838737] - [netdrv] ice: avoid undefined behavior (Jonathan Toppins) [1838737] - [netdrv] ice: Change number of XDP Tx queues to match number of Rx queues (Jonathan Toppins) [1838737] - [netdrv] ice: Add XDP Tx to VSI ring stats (Jonathan Toppins) [1838737] - [netdrv] ice: Change number of XDP TxQ to 0 when destroying rings (Jonathan Toppins) [1838737] - [netdrv] ice: Handle critical FW error during admin queue initialization (Jonathan Toppins) [1838737] - [netdrv] ice: Don't allow VLAN stripping change when pvid set (Jonathan Toppins) [1838737] - [netdrv] ice: Add more Rx errors to netdev's rx_error counter (Jonathan Toppins) [1838737] - [netdrv] ice: Fix for memory leaks and modify ICE_FREE_CQ_BUFS (Jonathan Toppins) [1838737] - [netdrv] ice: Fix memory leak (Jonathan Toppins) [1838737] - [netdrv] ice: fix MAC write command (Jonathan Toppins) [1838737] - [netdrv] ice: set VF default LAN address (Jonathan Toppins) [1838737] - [netdrv] ice: remove unused macro (Jonathan Toppins) [1838737] - [netdrv] ice: fix signed vs unsigned comparisons (Jonathan Toppins) [1838737] - [netdrv] ice: Fix error return code in ice_add_prof() (Jonathan Toppins) [1838737] - [netdrv] ice: replace "fallthrough" comments with fallthrough reserved word (Jonathan Toppins) [1838737]- [kernel] kernel/crash: reserve more memory for fadump (Pingfan Liu) [1891043] - [powerpc] pseries: Pass MSI affinity to irq_create_mapping() (Laurent Vivier) [1702939] - [kernel] genirq/irqdomain: Add an irq_create_mapping_affinity() function (Laurent Vivier) [1702939] - [powerpc] powerpc/perf: Use regs->nip when SIAR is zero (Steve Best) [1903731] - [powerpc] powerpc/perf: Use the address from SIAR register to set cpumode flags (Steve Best) [1903731] - [powerpc] powerpc/perf: Drop the check for SIAR_VALID (Steve Best) [1903731] - [powerpc] powerpc/perf: Add new power PMU flag "PPMU_P10_DD1" for power10 DD1 (Steve Best) [1903731] - [netdrv] net/mlx5e: fix bpf_prog reference count leaks in mlx5e_alloc_rq (Alaa Hleihel) [1858560] - [infiniband] RDMA/mlx5: Initialize QP mutex for the debug kernels (Alaa Hleihel) [1858560] - [infiniband] RDMA/mlx5: Allow providing extra scatter CQE QP flag (Alaa Hleihel) [1858560] - [netdrv] net/mlx5: Query PPS pin operational status before registering it (Alaa Hleihel) [1858560] - [netdrv] net/mlx5e: Fix slab-out-of-bounds in mlx5e_rep_is_lag_netdev (Alaa Hleihel) [1858560] - [netdrv] net/mlx5: Verify Hardware supports requested ptp function on a given pin (Alaa Hleihel) [1858560] - [netdrv] net/mlx5: Fix a bug of using ptp channel index as pin index (Alaa Hleihel) [1858560] - [netdrv] net/mlx5e: Fix missing cleanup of ethtool steering during rep rx cleanup (Alaa Hleihel) [1858560] - [netdrv] net/mlx5e: Fix error path of device attach (Alaa Hleihel) [1858560] - [netdrv] net/mlx5: Fix forward to next namespace (Alaa Hleihel) [1858560] - [netdrv] net/mlx5: E-switch, Destroy TSAR after reload interface (Alaa Hleihel) [1858560] - [netdrv] net/mlx5: E-switch, Destroy TSAR when fail to enable the mode (Alaa Hleihel) [1858560] - [infiniband] RDMA/mlx5: Fix prefetch memory leak if get_prefetchable_mr fails (Alaa Hleihel) [1858560] - [infiniband] RDMA/mlx5: Prevent prefetch from racing with implicit destruction (Alaa Hleihel) [1858560] - [infiniband] RDMA/mlx5: Use xa_lock_irq when access to SRQ table (Alaa Hleihel) [1858560] - [netdrv] net/mlx5e: Fix usage of rcu-protected pointer (Alaa Hleihel) [1858560] - [netdrv] net/mxl5e: Verify that rpriv is not NULL (Alaa Hleihel) [1858560] - [netdrv] net/mlx5: E-Switch, Fix vlan or qos setting in legacy mode (Alaa Hleihel) [1858560] - [infiniband] RDMA/mlx5: Set PD pointers for the error flow unwind (Alaa Hleihel) [1858560] - [infiniband] RDMA/mlx5: Fix legacy IPoIB QP initialization (Alaa Hleihel) [1858560] - [infiniband] RDMA/mlx5: Protect from kernel crash if XRC_TGT doesn't have udata (Alaa Hleihel) [1858560] - [infiniband] RDMA/mlx5: Fix integrity enabled QP creation (Alaa Hleihel) [1858560] - [infiniband] RDMA/mlx5: Remove ECE limitation from the RAW_PACKET QPs (Alaa Hleihel) [1858560] - [infiniband] RDMA/mlx5: Fix remote gid value in query QP (Alaa Hleihel) [1858560] - [infiniband] RDMA/mlx5: Don't access ib_qp fields in internal destroy QP path (Alaa Hleihel) [1858560] - [infiniband] RDMA/mlx5: Add missed RST2INIT and INIT2INIT steps during ECE handshake (Alaa Hleihel) [1858560] - [infiniband] RDMA/mlx5: Fix -Wformat warning in check_ucmd_data() (Alaa Hleihel) [1858560] - [infiniband] RDMA/mlx5: Remove duplicated assignment to resp.response_length (Alaa Hleihel) [1858560] - [netdrv] net/mlx5: E-Switch, Fix some error pointer dereferences (Alaa Hleihel) [1858560] - [infiniband] RDMA/mlx5: Return ECE DC support (Alaa Hleihel) [1858560] - [infiniband] RDMA/mlx5: Don't rely on FW to set zeros in ECE response (Alaa Hleihel) [1858560] - [infiniband] RDMA/mlx5: Return an error if copy_to_user fails (Alaa Hleihel) [1858560] - [netdrv] net/mlx5e: Make mlx5e_dcbnl_ops static (Alaa Hleihel) [1858560] - [netdrv] net/mlx5: reduce stack usage in qp_read_field (Alaa Hleihel) [1858560] - [netdrv] mlx5: fix xdp data_meta setup in mlx5e_fill_xdp_buff (Alaa Hleihel) [1858560] - [infiniband] RDMA/mlx5: Support TX port affinity for VF drivers in LAG mode (Alaa Hleihel) [1858560] - [netdrv] net/mlx5e: Optimize performance for IPv4/IPv6 ethertype (Alaa Hleihel) [1858560] - [netdrv] net/mlx5e: Helper function to set ethertype (Alaa Hleihel) [1858560] - [netdrv] net/mlx5e: Use change upper event to setup representors' bond_metadata (Alaa Hleihel) [1858560] - [netdrv] net/mlx5e: Slave representors sharing unique metadata for match (Alaa Hleihel) [1858560] - [netdrv] net/mlx5: E-Switch, Alloc and free unique metadata for match (Alaa Hleihel) [1858560] - [netdrv] net/mlx5e: Add bond_metadata and its slave entries (Alaa Hleihel) [1858560] - [netdrv] net/mlx5e: Offload flow rules to active lower representor (Alaa Hleihel) [1858560] - [netdrv] net/mlx5e: Support tc block sharing for representors (Alaa Hleihel) [1858560] - [netdrv] net/mlx5e: Use netdev events to set/del egress acl forward-to-vport rule (Alaa Hleihel) [1858560] - [netdrv] net/mlx5: E-Switch, Introduce APIs to enable egress acl forward-to-vport rule (Alaa Hleihel) [1858560] - [netdrv] net/mlx5: E-Switch, Refactor eswitch ingress acl codes (Alaa Hleihel) [1858560] - [netdrv] net/mlx5: E-Switch, Refactor eswitch egress acl codes (Alaa Hleihel) [1858560] - [infiniband] RDMA/mlx5: Return ECE data after modify QP (Alaa Hleihel) [1858560] - [infiniband] RDMA/mlx5: Set ECE options during modify QP (Alaa Hleihel) [1858560] - [infiniband] RDMA/mlx5: Convert modify QP to use MLX5_SET macros (Alaa Hleihel) [1858560] - [infiniband] RDMA/mlx5: Remove manually crafted QP context the query call (Alaa Hleihel) [1858560] - [infiniband] RDMA/mlx5: Use direct modify QP implementation (Alaa Hleihel) [1858560] - [infiniband] RDMA/mlx5: Set ECE options during QP create (Alaa Hleihel) [1858560] - [infiniband] RDMA/mlx5: Get ECE options from FW during create QP (Alaa Hleihel) [1858560] - [include] net/mlx5: Add ability to read and write ECE options (Alaa Hleihel) [1858560] - [netdrv] net/mlx5e: Use IS_ERR() to check and simplify code (Alaa Hleihel) [1858560] - [infiniband] net/mlx5: Add support for RDMA TX FT headers modifying (Alaa Hleihel) [1858560] - [netdrv] net/mlx5: Move iseg access helper routines close to mlx5_core driver (Alaa Hleihel) [1858560] - [netdrv] net/mlx5: Cleanup mlx5_ifc_fte_match_set_misc2_bits (Alaa Hleihel) [1858560] - [infiniband] RDMA/mlx5: Update mlx5_ib driver name (Alaa Hleihel) [1858560] - [netdrv] net/mlx5e: Calculate SQ stop room in a robust way (Alaa Hleihel) [1858560] - [netdrv] net/mlx5: Move internal timer read function to clock library (Alaa Hleihel) [1858560] - [netdrv] net/mlx5: Fix a bug of releasing wrong chunks on > 4K page size systems (Alaa Hleihel) [1858560] - [netdrv] net/mlx5: Dedicate fw page to the requesting function (Alaa Hleihel) [1858560] - [infiniband] RDMA/mlx5: Fix query_srq_cmd() function (Alaa Hleihel) [1858560] - [infiniband] RDMA/mlx5: Add support for drop action in DV steering (Alaa Hleihel) [1858560] - [infiniband] RDMA/mlx5: Add support in steering default miss (Alaa Hleihel) [1858560] - [infiniband] RDMA/mlx5: Refactor DV create flow (Alaa Hleihel) [1858560] - [netdrv] net/mlx5: Add support in forward to namespace (Alaa Hleihel) [1858560] - [infiniband] {IB/net}/mlx5: Simplify don't trap code (Alaa Hleihel) [1858560] - [include] net/mlx5: Replace zero-length array with flexible-array (Alaa Hleihel) [1858560] - [netdrv] net/mlx5e: Enhance ICOSQ WQE info fields (Alaa Hleihel) [1858560] - [netdrv] net/mlx5: Accel, Remove unnecessary header include (Alaa Hleihel) [1858560] - [netdrv] net/mlx5e: Use struct assignment for WQE info updates (Alaa Hleihel) [1858560] - [netdrv] net/mlx5e: Take TX WQE info structures out of general EN header (Alaa Hleihel) [1858560] - [netdrv] net/mlx5e: kTLS, Do not fill edge for the DUMP WQEs in TX flow (Alaa Hleihel) [1858560] - [netdrv] net/mlx5e: kTLS, Fill work queue edge separately in TX flow (Alaa Hleihel) [1858560] - [netdrv] net/mlx5e: Split TX acceleration offloads into two phases (Alaa Hleihel) [1858560] - [netdrv] net/mlx5e: Update UDP fields of the SKB for GSO first (Alaa Hleihel) [1858560] - [netdrv] net/mlx5e: Make TLS offload independent of wqe and pi (Alaa Hleihel) [1858560] - [netdrv] net/mlx5e: Pass only eseg to IPSEC offload (Alaa Hleihel) [1858560] - [netdrv] net/mlx5e: Return void from mlx5e_sq_xmit and mlx5i_sq_xmit (Alaa Hleihel) [1858560] - [netdrv] net/mlx5e: Unify checks of TLS offloads (Alaa Hleihel) [1858560] - [netdrv] net/mlx5e: Return bool from TLS and IPSEC offloads (Alaa Hleihel) [1858560] - [netdrv] net: remove newlines in NL_SET_ERR_MSG_MOD (Alaa Hleihel) [1858560] - [infiniband] RDMA/mlx5: Remove duplicated assignment to variable rcqe_sz (Alaa Hleihel) [1858560] - [infiniband] RDMA/mlx5: Allow only raw Ethernet QPs when RoCE isn't enabled (Alaa Hleihel) [1858560] - [infiniband] RDMA/mlx5: Assign profile before calling stages (Alaa Hleihel) [1858560] - [infiniband] RDMA/mlx5: Move all WR logic from qp.c to separate file (Alaa Hleihel) [1858560] - [infiniband] RDMA/mlx5: Refactor mlx5_post_send() to improve readability (Alaa Hleihel) [1858560] - [infiniband] RDMA/mlx5: Update mlx5_ib to use new cmd interface (Alaa Hleihel) [1858560] - [infiniband] RDMA/mlx5: Set UDP source port based on the grh.flow_label (Alaa Hleihel) [1858560 1851704] - [infiniband] RDMA/mlx5: Define RoCEv2 udp source port when set path (Alaa Hleihel) [1858560 1851704] - [infiniband] RDMA/mlx5: Set lag tx affinity according to slave (Alaa Hleihel) [1858560] - [infiniband] RDMA/mlx5: Refactor affinity related code (Alaa Hleihel) [1858560] - [netdrv] net/mlx5: Add support to get lag physical port (Alaa Hleihel) [1858560] - [netdrv] net/mlx5: Change lag mutex lock to spin lock (Alaa Hleihel) [1858560] - [infiniband] RDMA/mlx5: Consolidate into special function all create QP calls (Alaa Hleihel) [1858560] - [infiniband] RDMA/mlx5: Remove redundant destroy QP call (Alaa Hleihel) [1858560] - [infiniband] RDMA/mlx5: Copy response to the user in one place (Alaa Hleihel) [1858560] - [infiniband] RDMA/mlx5: Handle udate outlen checks in one place (Alaa Hleihel) [1858560] - [infiniband] RDMA/mlx5: Promote RSS RAW QP flags check to higher level (Alaa Hleihel) [1858560] - [infiniband] RDMA/mlx5: Group all create QP parameters to simplify in-kernel interfaces (Alaa Hleihel) [1858560] - [infiniband] RDMA/mlx5: Reduce amount of duplication in QP destroy (Alaa Hleihel) [1858560] - [infiniband] RDMA/mlx5: Separate to user/kernel create QP flows (Alaa Hleihel) [1858560] - [infiniband] RDMA/mlx5: Separate XRC_TGT QP creation from common flow (Alaa Hleihel) [1858560] - [infiniband] RDMA/mlx5: Globally parse DEVX UID (Alaa Hleihel) [1858560] - [infiniband] RDMA/mlx5: Delete impossible inlen check (Alaa Hleihel) [1858560] - [infiniband] RDMA/mlx5: Rely on existence of udata to separate kernel/user flows (Alaa Hleihel) [1858560] - [infiniband] RDMA/mlx5: Remove second user copy in create_user_qp (Alaa Hleihel) [1858560] - [infiniband] RDMA/mlx5: Combine copy of create QP command in RSS RAW QP (Alaa Hleihel) [1858560] - [infiniband] RDMA/mlx5: Promote RSS RAW QP attribute check in higher level (Alaa Hleihel) [1858560] - [infiniband] RDMA/mlx5: Store QP type in the vendor QP structure (Alaa Hleihel) [1858560] - [infiniband] RDMA/mlx5: Delete unsupported QP types (Alaa Hleihel) [1858560] - [netdrv] net/mlx5e: Unify reserving space for WQEs (Alaa Hleihel) [1858560] - [netdrv] net/mlx5e: Rename ICOSQ WQE info struct and field (Alaa Hleihel) [1858560] - [netdrv] net/mlx5e: Fetch WQE: reuse code and enforce typing (Alaa Hleihel) [1858560] - [netdrv] net/mlx5e: XDP, Print the offending TX descriptor on error completion (Alaa Hleihel) [1858560] - [netdrv] net/mlx5e: TX, Generalise code and usage of error CQE dump (Alaa Hleihel) [1858560] - [netdrv] net/mlx5e: Use proper name field for the UMR key (Alaa Hleihel) [1858560] - [netdrv] net/mlx5: Add support for release all pages event (Alaa Hleihel) [1858560] - [netdrv] net/mlx5: Rate limit page not found error messages (Alaa Hleihel) [1858560] - [netdrv] net/mlx5: Add helper function to release fw page (Alaa Hleihel) [1858560] - [netdrv] net/mlx5: Remove unused field in EQ (Alaa Hleihel) [1858560] - [netdrv] net/mlx5e: Remove unneeded semicolon (Alaa Hleihel) [1858560] - [netdrv] net/mlx5: IPsec, Fix coverity issue (Alaa Hleihel) [1858560] - [infiniband] RDMA/mlx5: Process all vendor flags in one place (Alaa Hleihel) [1858560] - [infiniband] RDMA/mlx5: Return all configured create flags through query QP (Alaa Hleihel) [1858560] - [infiniband] RDMA/mlx5: Change scatter CQE flag to be set like other vendor flags (Alaa Hleihel) [1858560] - [infiniband] RDMA/mlx5: Use flags_en mechanism to mark QP created with WQE signature (Alaa Hleihel) [1858560] - [infiniband] RDMA/mlx5: Process create QP flags in one place (Alaa Hleihel) [1858560] - [infiniband] RDMA/mlx5: Delete create QP flags obfuscation (Alaa Hleihel) [1858560] - [infiniband] RDMA/mlx5: Initial separation of RAW_PACKET QP from common flow (Alaa Hleihel) [1858560] - [infiniband] RDMA/mlx5: Remove second copy from user for non RSS RAW QPs (Alaa Hleihel) [1858560] - [infiniband] RDMA/mlx5: Move DRIVER QP flags check into separate function (Alaa Hleihel) [1858560] - [infiniband] RDMA/mlx5: Update all DRIVER QP places to use QP subtype (Alaa Hleihel) [1858560] - [infiniband] RDMA/mlx5: Split scatter CQE configuration for DCT QP (Alaa Hleihel) [1858560] - [infiniband] RDMA/mlx5: Separate create QP flows to be based on type (Alaa Hleihel) [1858560] - [infiniband] RDMA/mlx5: Set QP subtype immediately when it is known (Alaa Hleihel) [1858560] - [infiniband] RDMA/mlx5: Avoid setting redundant NULL for XRC QPs (Alaa Hleihel) [1858560] - [infiniband] RDMA/mlx5: Prepare QP allocation for future removal (Alaa Hleihel) [1858560] - [infiniband] RDMA/mlx5: Perform check if QP creation flow is valid (Alaa Hleihel) [1858560] - [infiniband] RDMA/mlx5: Delete impossible GSI port check (Alaa Hleihel) [1858560] - [infiniband] RDMA/mlx5: Organize QP types checks in one place (Alaa Hleihel) [1858560] - [include] net/mlx5: TX WQE Add trailer insertion field (Alaa Hleihel) [1858560] - [include] net/mlx5: Add release all pages capability bit (Alaa Hleihel) [1858560] - [netdrv] net/mlx5: Introduce TLS RX offload hardware bits (Alaa Hleihel) [1858560] - [netdrv] net/mlx5: Add structure and defines for pci sync for fw update event (Alaa Hleihel) [1858560] - [netdrv] net/mlx5: Add structure layout and defines for MFRL register (Alaa Hleihel) [1858560] - [netdrv] net/mlx5: Use aligned variable while allocating ICM memory (Alaa Hleihel) [1858560] - [netdrv] net/mlx5: Introduce IPsec Connect-X offload hardware bits and structures (Alaa Hleihel) [1858560] - [netdrv] net/mlx5: Update transobj.c new cmd interface (Alaa Hleihel) [1858560] - [netdrv] net/mlx5: Update SW steering new cmd interface (Alaa Hleihel) [1858560] - [netdrv] net/mlx5: Update port.c new cmd interface (Alaa Hleihel) [1858560] - [netdrv] net/mlx5: Update rl.c new cmd interface (Alaa Hleihel) [1858560] - [netdrv] net/mlx5: Update uar.c new cmd interface (Alaa Hleihel) [1858560] - [netdrv] net/mlx5: Update pd.c new cmd interface (Alaa Hleihel) [1858560] - [netdrv] net/mlx5: Update pagealloc.c new cmd interface (Alaa Hleihel) [1858560] - [netdrv] net/mlx5: Update mr.c new cmd interface (Alaa Hleihel) [1858560] - [netdrv] net/mlx5: Update mcg.c new cmd interface (Alaa Hleihel) [1858560] - [netdrv] net/mlx5: Update main.c new cmd interface (Alaa Hleihel) [1858560] - [netdrv] net/mlx5: Update vxlan.c new cmd interface (Alaa Hleihel) [1858560] - [netdrv] net/mlx5: Update mpfs.c new cmd interface (Alaa Hleihel) [1858560] - [netdrv] net/mlx5: Update gid.c new cmd interface (Alaa Hleihel) [1858560] - [netdrv] net/mlx5: Update lag.c new cmd interface (Alaa Hleihel) [1858560] - [netdrv] net/mlx5: Update fw.c new cmd interface (Alaa Hleihel) [1858560] - [netdrv] net/mlx5: Update fs_core new cmd interface (Alaa Hleihel) [1858560] - [netdrv] net/mlx5: Update FPGA to new cmd interface (Alaa Hleihel) [1858560] - [netdrv] net/mlx5: Update eswitch to new cmd interface (Alaa Hleihel) [1858560] - [netdrv] ethernet: remove redundant memset (Alaa Hleihel) [1858560] - [netdrv] net/mlx5: Update statistics to new cmd interface (Alaa Hleihel) [1858560] - [netdrv] net/mlx5: Update eq.c to new cmd interface (Alaa Hleihel) [1858560] - [netdrv] net/mlx5: Update ecpf.c to new cmd interface (Alaa Hleihel) [1858560] - [netdrv] net/mlx5: Update debugfs.c to new cmd interface (Alaa Hleihel) [1858560] - [netdrv] net/mlx5: Update cq.c to new cmd interface (Alaa Hleihel) [1858560] - [infiniband] net/mlx5: Update vport.c to new cmd interface (Alaa Hleihel) [1858560] - [netdrv] net/mlx5: improve some comments (Alaa Hleihel) [1858560] - [netdrv] net/mlx5: Read embedded cpu bit only once (Alaa Hleihel) [1858560] - [netdrv] net/mlx5e: Handle errors from netif_set_real_num_{tx, rx}_queues (Alaa Hleihel) [1858560] - [netdrv] net/mlx5: IPsec, Refactor SA handle creation and destruction (Alaa Hleihel) [1858560] - [netdrv] net/mlx5e: IPSec, Expose IPsec HW stat only for supporting HW (Alaa Hleihel) [1858560] - [netdrv] net/mlx5: Refactor mlx5_accel_esp_create_hw_context parameter list (Alaa Hleihel) [1858560] - [netdrv] net/mlx5: Use the correct IPsec capability function for FPGA ops (Alaa Hleihel) [1858560] - [netdrv] net/mlx5: Enable SW-defined RoCEv2 UDP source port (Alaa Hleihel) [1858560] - [netdrv] net/mlx5: Refactor HCA capability set flow (Alaa Hleihel) [1858560] - [infiniband] net/mlx5: Move QP logic to mlx5_ib (Alaa Hleihel) [1858560] - [infiniband] RDMA/mlx5: Alphabetically sort build artifacts (Alaa Hleihel) [1858560] - [netdrv] net/mlx5: Delete not-used cmd header (Alaa Hleihel) [1858560] - [infiniband] RDMA/mlx5: Delete Q counter allocations command (Alaa Hleihel) [1858560] - [netdrv] net/mlx5: Remove Q counter low level helper APIs (Alaa Hleihel) [1858560] - [netdrv] net/mlx5: Replace hand written QP context struct with automatic getters (Alaa Hleihel) [1858560] - [netdrv] net/mlx5: Remove extra indirection while storing QPN (Alaa Hleihel) [1858560] - [netdrv] net/mlx5: Open-code modify QP in the IPoIB module (Alaa Hleihel) [1858560] - [netdrv] net/mlx5: Open-code modify QP in the FPGA module (Alaa Hleihel) [1858560] - [netdrv] net/mlx5: Open-code modify QP in steering module (Alaa Hleihel) [1858560] - [netdrv] net/mlx5: Remove empty QP and CQ events handlers (Alaa Hleihel) [1858560] - [netdrv] net/mlx5: Open-code create and destroy QP calls (Alaa Hleihel) [1858560] - [netdrv] net/mlx5: Provide simplified command interfaces (Alaa Hleihel) [1858560] - [x86] kvm: x86/mmu: Fix get_mmio_spte() on CPUs supporting 5-level PT (Vitaly Kuznetsov) [1902184] - [net] netdevsim: devlink flash timeout message (Petr Oros) [1882019] - [net] devlink: collect flash notify params into a struct (Petr Oros) [1882019] - [net] devlink: add timeout information to status_notify (Petr Oros) [1882019] - [firmware] efi/esrt: Only call efi_mem_reserve() for boot services memory (Kairui Song) [1878024] - [firmware] efi: Drop type and attribute checks in efi_mem_desc_lookup() (Kairui Song) [1878024] - [fs] iomap: Fix direct I/O write consistency check (Andreas Grunbacher) [1875556] - [fs] gfs2: fix O_SYNC write handling (Andreas Grunbacher) [1871923] - [fs] gfs2: move setting current->backing_dev_info (Andreas Grunbacher) [1871923] - [fs] gfs2: Don't return NULL from gfs2_inode_lookup (Andreas Grunbacher) [1872061] - [fs] gfs2: If go_sync returns error, withdraw but skip invalidate (Robert S Peterson) [1875035] - [fs] gfs2: Close timing window with GLF_INVALIDATE_IN_PROGRESS (Robert S Peterson) [1875035] - [fs] gfs2: Fix refcount leak in gfs2_glock_poke (Robert S Peterson) [1875035] - [fs] gfs2: Add missing truncate_inode_pages_final for sd_aspace (Robert S Peterson) [1875035] - [fs] gfs2: call truncate_inode_pages_final for address space glocks (Robert S Peterson) [1875035] - [fs] gfs2: simplify the logic in gfs2_evict_inode (Robert S Peterson) [1875035] - [fs] gfs2: factor evict_linked_inode out of gfs2_evict_inode (Robert S Peterson) [1875035] - [fs] gfs2: further simplify gfs2_evict_inode with new func evict_should_delete (Robert S Peterson) [1875035] - [fs] gfs2: factor evict_unlinked_inode out of gfs2_evict_inode (Robert S Peterson) [1875035] - [fs] gfs2: rename variable error to ret in gfs2_evict_inode (Robert S Peterson) [1875035] - [net] ethtool: Add link extended state (Ivan Vecera) [1894545] - [documentation] networking: ethtool-netlink: Add link extended state (Ivan Vecera) [1894545] - [net] ethtool: fix error handling in linkstate_prepare_data() (Ivan Vecera) [1894545] - [net] ethtool: provide UAPI for PHY Signal Quality Index (SQI) (Ivan Vecera) [1894545]- [mm] mm/hugetlb: fix a race between hugetlb sysctl handlers (Julia Denham) [1886241] {CVE-2020-25285} - [kernel] audit: do not set FS_EVENT_ON_CHILD in audit marks mask (Richard Guy Briggs) [1896480] - [net] missing barriers in some of unix_sock ->addr and ->path accesses (Richard Guy Briggs) [1896480] - [kernel] audit: fix macros warnings (Richard Guy Briggs) [1896480] - [kernel] audit: trigger accompanying records when no rules present (Richard Guy Briggs) [1896480] - [kernel] audit: fix a kernel-doc markup (Richard Guy Briggs) [1896480] - [kernel] audit: Remove redundant null check (Richard Guy Briggs) [1896480] - [kernel] audit: uninitialize variable audit_sig_sid (Richard Guy Briggs) [1896480] - [kernel] audit: change unnecessary globals into statics (Richard Guy Briggs) [1896480] - [kernel] audit: report audit wait metric in audit status reply (Richard Guy Briggs) [1896480] - [security] audit: purge audit_log_string from the intra-kernel audit API (Richard Guy Briggs) [1896480] - [security] apparmor: Check buffer bounds when mapping permissions mask (Richard Guy Briggs) [1896480] - [kernel] audit: issue CWD record to accompany LSM_AUDIT_DATA_* records (Richard Guy Briggs) [1896480] - [net] audit: use the proper gfp flags in the audit_log_nfcfg() calls (Richard Guy Briggs) [1896480] - [include] audit: remove unused !CONFIG_AUDITSYSCALL __audit_inode* stubs (Richard Guy Briggs) [1896480] - [net] audit: add gfp parameter to audit_log_nfcfg (Richard Guy Briggs) [1896480] - [kernel] audit: log nftables configuration change events (Richard Guy Briggs) [1896480] - [kernel] audit: Use struct_size() helper in alloc_chunk (Richard Guy Briggs) [1896480] - [kernel] revert: 1320a4052ea1 ("audit: trigger accompanying records when no rules present") (Richard Guy Briggs) [1896480] - [include] audit: Replace zero-length array with flexible-array (Richard Guy Briggs) [1896480] - [netdrv] net: usb: lan78xx: Disable interrupts before calling generic_handle_irq() (Waiman Long) [1904213] - [mm] x86/mm/cpa: Prevent large page split when ftrace flips RW on kernel text (Waiman Long) [1904213] - [mm] x86/mm/cpa: Fix cpa_flush_array() TLB invalidation (Waiman Long) [1904213] - [net] netlabel: fix an uninitialized warning in netlbl_unlabel_staticlist() (Ondrej Mosnacek) [1901171] - [net] netlabel: fix our progress tracking in netlbl_unlabel_staticlist() (Ondrej Mosnacek) [1901171] - [netdrv] net: ena: fix packet's addresses for rx_offset feature (Petr Oros) [1861967] - [netdrv] net: ena: handle bad request id in ena_netdev (Petr Oros) [1861967] - [netdrv] net: ena: Change WARN_ON expression in ena_del_napi_in_range() (Petr Oros) [1861967] - [netdrv] net: ena: support new LLQ acceleration mode (Petr Oros) [1861967] - [netdrv] net: ena: move llq configuration from ena_probe to ena_device_init() (Petr Oros) [1861967] - [netdrv] net: ena: enable support of rss hash key and function changes (Petr Oros) [1861967] - [netdrv] net: ena: add support for traffic mirroring (Petr Oros) [1861967] - [netdrv] net: ena: cosmetic: change ena_com_stats_admin stats to u64 (Petr Oros) [1861967] - [netdrv] net: ena: cosmetic: satisfy gcc warning (Petr Oros) [1861967] - [netdrv] net: ena: add reserved PCI device ID (Petr Oros) [1861967] - [netdrv] net: ena: avoid unnecessary rearming of interrupt vector when busy-polling (Petr Oros) [1861967] - [netdrv] net: ena: Fix using plain integer as NULL pointer in ena_init_napi_in_range (Petr Oros) [1861967] - [netdrv] ena_netdev: use generic power management (Petr Oros) [1861967] - [netdrv] net: ena: xdp: update napi budget for DROP and ABORTED (Petr Oros) [1861967] - [netdrv] net: ena: xdp: XDP_TX: fix memory leak (Petr Oros) [1861967] - [netdrv] xdp: Rename convert_to_xdp_frame in xdp_convert_buff_to_frame (Petr Oros) [1861967] - [netdrv] net: ena: reduce driver load time (Petr Oros) [1861967] - [netdrv] net: ena: cosmetic: minor code changes (Petr Oros) [1861967] - [netdrv] net: ena: cosmetic: fix spacing issues (Petr Oros) [1861967] - [netdrv] net: ena: cosmetic: code reorderings (Petr Oros) [1861967] - [netdrv] net: ena: cosmetic: remove unnecessary code (Petr Oros) [1861967] - [netdrv] net: ena: cosmetic: fix line break issues (Petr Oros) [1861967] - [netdrv] net: ena: cosmetic: fix spelling and grammar mistakes in comments (Petr Oros) [1861967] - [netdrv] net: ena: cosmetic: set queue sizes to u32 for consistency (Petr Oros) [1861967] - [netdrv] net: ena: cosmetic: rename ena_update_tx/rx_rings_intr_moderation() (Petr Oros) [1861967] - [netdrv] net: ena: simplify ena_com_update_intr_delay_resolution() (Petr Oros) [1861967] - [netdrv] net: ena: fix ena_com_comp_status_to_errno() return value (Petr Oros) [1861967] - [netdrv] net: ena: use explicit variable size for clarity (Petr Oros) [1861967] - [netdrv] net: ena: rename ena_com_free_desc to make API more uniform (Petr Oros) [1861967] - [netdrv] net: ena: add support for the rx offset feature (Petr Oros) [1861967] - [netdrv] ena: Add XDP frame size to amazon NIC driver (Petr Oros) [1861967] - [netdrv] net: ena: cosmetic: extract code to ena_indirection_table_set() (Petr Oros) [1861967] - [netdrv] net: ena: cosmetic: remove unnecessary spaces and tabs in ena_com.h macros (Petr Oros) [1861967] - [netdrv] net: ena: use SHUTDOWN as reset reason when closing interface (Petr Oros) [1861967] - [netdrv] net: ena: drop superfluous prototype (Petr Oros) [1861967] - [netdrv] net: ena: add support for reporting of packet drops (Petr Oros) [1861967] - [netdrv] net: ena: add unmask interrupts statistics to ethtool (Petr Oros) [1861967] - [netdrv] net: ena: remove code that does nothing (Petr Oros) [1861967] - [netdrv] net: ena: changes to RSS hash key allocation (Petr Oros) [1861967] - [netdrv] net: ena: change default RSS hash function to Toeplitz (Petr Oros) [1861967] - [netdrv] net: ena: allow setting the hash function without changing the key (Petr Oros) [1861967] - [netdrv] net: ena: fix error returning in ena_com_get_hash_function() (Petr Oros) [1861967] - [netdrv] net: ena: avoid unnecessary admin command when RSS function set fails (Petr Oros) [1861967] - [netdrv] net/ena: Fix build warning in ena_xdp_set() (Petr Oros) [1861967] - [netdrv] net: ena: Make some functions static (Petr Oros) [1861967] - [netdrv] net: ena: fix continuous keep-alive resets (Petr Oros) [1861967] - [netdrv] net: ena: avoid memory access violation by validating req_id properly (Petr Oros) [1861967] - [netdrv] net: ena: fix request of incorrect number of IRQ vectors (Petr Oros) [1861967] - [netdrv] net: ena: fix incorrect setting of the number of msix vectors (Petr Oros) [1861967] - [netdrv] net: ena: ethtool: clean up minor indentation issue (Petr Oros) [1861967] - [netdrv] net: ena: reject unsupported coalescing params (Petr Oros) [1861967] - [netdrv] net: ena: fix broken interface between ENA driver and FW (Petr Oros) [1861967] - [netdrv] net/amazon: Ensure that driver version is aligned to the linux kernel (Petr Oros) [1861967] - [netdrv] net: ena: ethtool: remove redundant non-zero check on rc (Petr Oros) [1861967] - [netdrv] net: ena: remove set but not used variable 'hash_key' (Petr Oros) [1861967] - [netdrv] net: ena: ena-com.c: prevent NULL pointer dereference (Petr Oros) [1861967] - [netdrv] net: ena: ethtool: use correct value for crc32 hash (Petr Oros) [1861967] - [netdrv] net: ena: make ena rxfh support ETH_RSS_HASH_NO_CHANGE (Petr Oros) [1861967] - [netdrv] net: ena: fix corruption of dev_idx_to_host_tbl (Petr Oros) [1861967] - [netdrv] net: ena: fix incorrectly saving queue numbers when setting RSS indirection table (Petr Oros) [1861967] - [netdrv] net: ena: rss: store hash function as values and not bits (Petr Oros) [1861967] - [netdrv] net: ena: rss: fix failure to get indirection table (Petr Oros) [1861967] - [netdrv] net: ena: rss: do not allocate key when not supported (Petr Oros) [1861967] - [netdrv] net: ena: fix incorrect default RSS key (Petr Oros) [1861967] - [netdrv] net: ena: add missing ethtool TX timestamping indication (Petr Oros) [1861967] - [netdrv] net: ena: fix uses of round_jiffies() (Petr Oros) [1861967] - [netdrv] net: ena: fix potential crash when rxfh key is NULL (Petr Oros) [1861967] - [netdrv] net: ena: remove set but not used variable 'rx_ring' (Petr Oros) [1861967] - [netdrv] net: ena: fix issues in setting interrupt moderation params in ethtool (Petr Oros) [1861967] - [netdrv] net: ena: fix default tx interrupt moderation interval (Petr Oros) [1861967] - [netdrv] net: ena: Add first_interrupt field to napi struct (Petr Oros) [1861967] - [netdrv] net: ena: Implement XDP_TX action (Petr Oros) [1861967] - [netdrv] net: ena: implement XDP drop support (Petr Oros) [1861967] - [netdrv] net: ena: fix napi handler misbehavior when the napi budget is zero (Petr Oros) [1861967] - [netdrv] net: ena: ethtool: support set_channels callback (Petr Oros) [1861967] - [netdrv] net: ena: remove redundant print of number of queues (Petr Oros) [1861967] - [netdrv] net: ena: make ethtool -l show correct max number of queues (Petr Oros) [1861967] - [netdrv] net: ena: ethtool: get_channels: use combined only (Petr Oros) [1861967] - [netdrv] net: ena: multiple queue creation related cleanups (Petr Oros) [1861967] - [netdrv] net: ena: change num_queues to num_io_queues for clarity and consistency (Petr Oros) [1861967] - [kernel] rcu/tree: docs: document bkvcache new members at struct kfree_rcu_cpu (Nico Pache) [1894223] - [mm] kasan: don't assume percpu shadow allocations will succeed (Nico Pache) [1894223] - [lib] kasan: update required compiler versions in documentation (Nico Pache) [1894223] - [lib] kasan: improve and simplify Kconfig.kasan (Nico Pache) [1894223] - [lib] kasan: Fix required compiler version (Nico Pache) [1894223] - [lib] kasan: Bump required compiler version (Nico Pache) [1894223] - [documentation] kasan: update documentation for generic kasan (Nico Pache) [1894223] - [mm] kasan: record and print the free track (Nico Pache) [1894223] - [mm] rcu: kasan: record and print call_rcu() call stack (Nico Pache) [1894223] - [kernel] rcu: Support reclaim for head-less object (Nico Pache) [1894223] - [kernel] rcu: Introduce 2 arg kvfree_rcu() interface (Nico Pache) [1894223] - [mm] mm/list_lru.c: Rename kvfree_rcu() to local variant (Nico Pache) [1894223] - [kernel] rcu: Rename *_kfree_callback/*_kfree_rcu_offset/kfree_call_* (Nico Pache) [1894223] - [kernel] rcu/tiny: support vmalloc in tiny-RCU (Nico Pache) [1894223] - [kernel] rcu/tree: Maintain separate array for vmalloc ptrs (Nico Pache) [1894223] - [kernel] rcu/tree: cache specified number of objects (Nico Pache) [1894223] - [kernel] rcu/tree: Use static initializer for krc.lock (Nico Pache) [1894223] - [kernel] rcu/tree: Move kfree_rcu_cpu locking/unlocking to separate functions (Nico Pache) [1894223] - [kernel] rcu/tree: Simplify KFREE_BULK_MAX_ENTR macro (Nico Pache) [1894223] - [kernel] rcu/tree: Make debug_objects logic independent of rcu_head (Nico Pache) [1894223] - [kernel] rcu/tree: Repeat the monitor if any free channel is busy (Nico Pache) [1894223] - [kernel] rcu/tree: Skip entry into the page allocator for PREEMPT_RT (Nico Pache) [1894223] - [kernel] rcu/tree: Keep kfree_rcu() awake during lock contention (Nico Pache) [1894223] - [kernel] rcu: Fix a kernel-doc warnings for "count" (Nico Pache) [1894223] - [kernel] rcu/tree: Count number of batched kfree_rcu() locklessly (Nico Pache) [1894223] - [kernel] rcu/tree: Add a shrinker to prevent OOM due to kfree_rcu() batching (Nico Pache) [1894223] - [kernel] rcuperf: Measure memory footprint during kfree_rcu() test (Nico Pache) [1894223] - [kernel] rcu: Add a trace event for kfree_rcu() use of kfree_bulk() (Nico Pache) [1894223] - [kernel] rcu: Support kfree_bulk() interface in kfree_rcu() (Nico Pache) [1894223] - [mm] kasan: fix clang compilation warning due to stack protector (Nico Pache) [1894223] - [mm] kasan: disable branch tracing for core runtime (Nico Pache) [1894223] - [mm] kasan: add missing functions declarations to kasan.h (Nico Pache) [1894223] - [mm] kasan: consistently disable debugging features (Nico Pache) [1894223] - [mm] kasan: unset panic_on_warn before calling panic() (Nico Pache) [1894223] - [mm] kasan: detect negative size in memory operation function (Nico Pache) [1894223] - [mm] kasan: No KASAN's memmove check if archs don't have it (Nico Pache) [1894223] - [mm] kasan: use apply_to_existing_page_range() for releasing vmalloc shadow (Nico Pache) [1894223] - [mm] kasan: fix crashes on access to memory mapped by vm_map_ram() (Nico Pache) [1894223] - [mm] mm/kasan/common.c: fix compile error (Nico Pache) [1894223] - [mm] kasan: support backing vmalloc space with real shadow memory (Nico Pache) [1894223] - [mm] mm/vmalloc: rework vmap_area_lock (Nico Pache) [1894223] - [mm] mm/vmalloc: remove preempt_disable/enable when doing preloading (Nico Pache) [1894223] - [mm] mm/vmalloc.c: switch to WARN_ON() and move it under unlink_va() (Nico Pache) [1894223] - [mm] mm/vmalloc.c: get rid of one single unlink_va() when merge (Nico Pache) [1894223] - [mm] mm/vmalloc.c: preload a CPU with one object for split purpose (Nico Pache) [1894223] - [mm] mm/vmalloc.c: remove "node" argument (Nico Pache) [1894223] - [mm] mm/vmalloc: modify struct vmap_area to reduce its size (Nico Pache) [1894223] - [mm] mm/vmalloc: do not keep unpurged areas in the busy tree (Nico Pache) [1894223] - [mm] mm/vmalloc.c: fix percpu free VM area search criteria (Nico Pache) [1894223] - [mm] mm/vmalloc.c: avoid bogus -Wmaybe-uninitialized warning (Nico Pache) [1894223] - [mm] mm/vmap: add DEBUG_AUGMENT_LOWEST_MATCH_CHECK macro (Nico Pache) [1894223] - [mm] mm/vmap: add DEBUG_AUGMENT_PROPAGATE_CHECK macro (Nico Pache) [1894223] - [mm] mm/vmalloc.c: keep track of free blocks for vmap allocation (Nico Pache) [1894223] - [mm] mm/vmalloc.c: convert vmap_lazy_nr to atomic_long_t (Nico Pache) [1894223] - [mm] mm/kasan: change kasan_check_{read, write} to return boolean (Nico Pache) [1894223] - [mm] mm/kasan: introduce __kasan_check_{read, write} (Nico Pache) [1894223] - [mm] kasan: fix coccinelle warnings in kasan_p*_table (Nico Pache) [1894223] - [mm] kasan: fix kasan_check_read/write definitions (Nico Pache) [1894223] - [lib] kasan: remove use after scope bugs detection (Nico Pache) [1894223] - [lib] kasan: remove clang version check for KASAN_STACK (Nico Pache) [1894223] - [lib] kasan: turn off asan-stack for clang-8 and earlier (Nico Pache) [1894223] - [block] nbd: fix a block_device refcount leak in nbd_release (Ming Lei) [1901400] - [tools] selftests: Set default protocol for raw sockets in nettest (Hangbin Liu) [1898813] - [tools] selftests/net: improve descriptions for XFAIL cases in psock_snd.sh (Hangbin Liu) [1898813] - [tools] selftests: rtnetlink: make kci_test_encap() return sub-test result (Hangbin Liu) [1898813] - [tools] selftests: net: ip_defrag: modprobe missing nf_defrag_ipv6 support (Hangbin Liu) [1898813] - [tools] selftests: use LDLIBS for libraries instead of LDFLAGS (Hangbin Liu) [1898813] - [tools] selftests: tls: run all tests for TLS 1.2 and TLS 1.3 (Hangbin Liu) [1898813] - [tools] selftests/net: add definition for SOL_DCCP to fix compilation errors for old libc (Hangbin Liu) [1898813] - [tools] selftests: net: reuseport_addr_any: silence clang warning (Hangbin Liu) [1898813] - [tools] selftests: net: refactor reuseport_addr_any test (Hangbin Liu) [1898813] - [tools] selftests: net: reuseport_addr_any: add DCCP (Hangbin Liu) [1898813] - [tools] selftests: net: test that listening sockets match on address properly (Hangbin Liu) [1898813] - [tools] selftests/net: make udpgso_bench skip unsupported testcases (Hangbin Liu) [1898813] - [tools] net/udpgso_bench.sh test fails on error (Hangbin Liu) [1898813] - [tools] net/udpgso_bench.sh add UDP GSO audit tests (Hangbin Liu) [1898813] - [tools] selftests: extend zerocopy tests to udp (Hangbin Liu) [1898813] - [tools] net/udpgso_bench_tx: options to exercise TX CMSG (Hangbin Liu) [1898813] - [tools] selftests: fixes for UDP GRO (Hangbin Liu) [1898813] - [tools] selftests/net: replace obsolete NFT_CHAIN configuration (Hangbin Liu) [1898813] - [tools] selftests: explicitly require kernel features needed by udpgro tests (Hangbin Liu) [1898813] - [tools] selftests: add explicit test for multiple concurrent GRO sockets (Hangbin Liu) [1898813] - [tools] selftests: add functionals test for UDP GRO (Hangbin Liu) [1898813] - [tools] selftests: add some benchmark for UDP GRO (Hangbin Liu) [1898813] - [tools] selftests: add GRO support to udp bench rx program (Hangbin Liu) [1898813] - [net] sctp: change to hold/put transport for proto_unreach_timer (Xin Long) [1897084] - [scsi] scsi: qedi: Add schedule_hw_err_handler callback for fan failure (Nilesh Javali) [1854121] - [scsi] scsi: qedi: Add support for handling PCIe errors (Nilesh Javali) [1854121] - [scsi] scsi: qedi: Add firmware error recovery invocation support (Nilesh Javali) [1854121] - [scsi] scsi: qedi: Mark all connections for recovery on link down event (Nilesh Javali) [1854121] - [scsi] scsi: qedi: Use snprintf instead of sprintf (Nilesh Javali) [1854121] - [scsi] scsi: qedi: Protect active command list to avoid list corruption (Nilesh Javali) [1854121] - [scsi] scsi: qedi: Fix list_del corruption while removing active I/O (Nilesh Javali) [1854121] - [scsi] scsi: qedi: Skip firmware connection termination for PCI shutdown handler (Nilesh Javali) [1854121] - [scsi] scsi: qedi: Use qed count from set_fp_int in msix allocation (Nilesh Javali) [1854121] - [scsi] scsi: qedi: Remove redundant NULL check (Nilesh Javali) [1854121] - [scsi] scsi: qedi: Staticify non-external function 'qedi_get_iscsi_error' (Nilesh Javali) [1854121] - [scsi] scsi: qedi: Demote seemingly unintentional kerneldoc header (Nilesh Javali) [1854121] - [scsi] scsi: qedi: Remove set but unused variable 'tmp' (Nilesh Javali) [1854121] - [scsi] scsi: qedi: Remove 2 set but unused variables (Nilesh Javali) [1854121] - [scsi] scsi: qedi: Remove unused variable udev & uctrl (Nilesh Javali) [1854121] - [scsi] scsi: qedi: Remove comparison of 0/1 to bool variable (Nilesh Javali) [1854121] - [scsi] scsi: qedi: Check for buffer overflow in qedi_set_path() (Nilesh Javali) [1854121] - [scsi] scsi: qedf: Remove redundant assignment to variable 'rc' (Nilesh Javali) [1854122] - [scsi] scsi: qedf: Retry qed->probe during recovery (Nilesh Javali) [1854122] - [scsi] scsi: qedf: Add schedule_hw_err_handler callback for fan failure (Nilesh Javali) [1854122] - [scsi] scsi: qedf: Return SUCCESS if stale rport is encountered (Nilesh Javali) [1854122] - [scsi] scsi: qedf: FDMI attributes correction (Nilesh Javali) [1854122] - [scsi] scsi: qedf: Use pci_get_dsn() (Nilesh Javali) [1854122] - [scsi] scsi: qedf: Fix for the session's E_D_TOV value (Nilesh Javali) [1854122] - [scsi] scsi: qedf: Correct the comment in qedf_initiate_els (Nilesh Javali) [1854122] - [scsi] scsi: qedf: Change the debug parameter permission to read & write (Nilesh Javali) [1854122] - [scsi] scsi: qedf: Fix null ptr reference in qedf_stag_change_work (Nilesh Javali) [1854122] - [scsi] scsi: qedf: Fix race between ELS completion and flushing ELS request (Nilesh Javali) [1854122] - [scsi] scsi: qedf: Don't process ELS completion if event is flushed or cleaned up (Nilesh Javali) [1854122] - [scsi] scsi: qedf: Initiate cleanup for ELS commands as well (Nilesh Javali) [1854122] - [scsi] scsi: qedf: Send cleanup even for RRQ on timeout (Nilesh Javali) [1854122] - [scsi] scsi: qedf: Do not kill timeout work for original I/O on RRQ completion (Nilesh Javali) [1854122] - [scsi] scsi: qedf: Check the validity of rjt frame before processing (Nilesh Javali) [1854122] - [scsi] scsi: qedf: Check for port type and role before processing an event (Nilesh Javali) [1854122] - [scsi] scsi: qedf: Demote obvious misuse of kerneldoc to standard comment blocks (Nilesh Javali) [1854122] - [scsi] scsi: qedf: Remove a whole host of unused variables (Nilesh Javali) [1854122] - [scsi] scsi: qedf: Remove set but not checked variable 'tmp' (Nilesh Javali) [1854122] - [scsi] scsi: qedf: Demote obvious misuse of kerneldoc to standard comment blocks (Nilesh Javali) [1854122] - [scsi] scsi: qedf: Remove redundant initialization of variable rc (Nilesh Javali) [1854122] - [infiniband] RDMA/qedr: Fix memory leak in iWARP CM (Manish Chopra) [1857857] - [infiniband] RDMA/qedr: Fix function prototype parameters alignment (Manish Chopra) [1857857] - [infiniband] RDMA/qedr: Fix inline size returned for iWARP (Manish Chopra) [1857857] - [infiniband] RDMA/qedr: Fix iWARP active mtu display (Manish Chopra) [1857857] - [netdrv] qede: Notify qedr when mtu has changed (Manish Chopra) [1857857] - [infiniband] RDMA/qedr: Fix return code if accept is called on a destroyed qp (Manish Chopra) [1857857] - [infiniband] RDMA/qedr: Fix use of uninitialized field (Manish Chopra) [1857857] - [infiniband] RDMA/qedr: Fix doorbell setting (Manish Chopra) [1857857] - [infiniband] RDMA/qedr: Fix qp structure memory leak (Manish Chopra) [1857857] - [netdrv] net: qed: RDMA personality shouldn't fail VF load (Manish Chopra) [1857857] - [netdrv] net: qede: Disable aRFS for NPAR and 100G (Manish Chopra) [1857857] - [netdrv] net: qed: Disable aRFS for NPAR and 100G (Manish Chopra) [1857857] - [netdrv] net: qed: use eth_zero_addr() to clear mac address (Manish Chopra) [1857857] - [netdrv] net: qede: use eth_zero_addr() to clear mac address (Manish Chopra) [1857857] - [netdrv] qede: Use pM format specifier for MAC addresses (Manish Chopra) [1857857] - [netdrv] qed: Use pM format specifier for MAC addresses (Manish Chopra) [1857857] - [infiniband] qed: fix assignment of n_rq_elems to incorrect params field (Manish Chopra) [1857857] - [netdrv] qed: fix the allocation of the chains with an external PBL (Manish Chopra) [1857857] - [netdrv] qede: add .ndo_xdp_xmit() and XDP_REDIRECT support (Manish Chopra) [1857857] - [netdrv] qede: refactor XDP Tx processing (Manish Chopra) [1857857] - [netdrv] qede: reformat net_device_ops declarations (Manish Chopra) [1857857] - [netdrv] qede: reformat several structures in "qede.h" (Manish Chopra) [1857857] - [include] qed: introduce qed_chain_get_elem_used{, u32}() (Manish Chopra) [1857857] - [include] qed: optimize common chain accessors (Manish Chopra) [1857857] - [infiniband] qed: add support for different page sizes for chains (Manish Chopra) [1857857] - [netdrv] qed: simplify chain allocation with init params struct (Manish Chopra) [1857857] - [netdrv] qed: simplify initialization of the chains with an external PBL (Manish Chopra) [1857857] - [netdrv] qed: move chain initialization inlines next to allocation functions (Manish Chopra) [1857857] - [netdrv] qed: sanitize PBL chains allocation (Manish Chopra) [1857857] - [netdrv] qed: prevent possible double-frees of the chains (Manish Chopra) [1857857] - [netdrv] qed: move chain methods to a separate file (Manish Chopra) [1857857] - [netdrv] qed: reformat Makefile (Manish Chopra) [1857857] - [include] qed: reformat "qed_chain.h" a bit (Manish Chopra) [1857857] - [netdrv] net: qed_hsi.h: Avoid the use of one-element array (Manish Chopra) [1857857] - [netdrv] net: qed: Remove unneeded cast from memory allocation (Manish Chopra) [1857857] - [netdrv] qed: suppress false-positives interrupt error messages on HW init (Manish Chopra) [1857857] - [netdrv] qed: suppress "don't support RoCE & iWARP" flooding on HW init (Manish Chopra) [1857857] - [netdrv] qed: Fix ILT and XRCD bitmap memory leaks (Manish Chopra) [1857857] - [netdrv] qed: add support for the extended speed and FEC modes (Manish Chopra) [1857857] - [netdrv] qed: populate supported link modes maps on module init (Manish Chopra) [1857857] - [netdrv] qed: add missing loopback modes (Manish Chopra) [1857857] - [netdrv] qed: add support for new port modes (Manish Chopra) [1857857] - [netdrv] qed: remove unused qed_hw_info::port_mode and QED_PORT_MODE (Manish Chopra) [1857857] - [netdrv] qed: reformat several structures a bit (Manish Chopra) [1857857] - [netdrv] qede: introduce support for FEC control (Manish Chopra) [1857857] - [netdrv] qede: format qede{,_vf}_ethtool_ops (Manish Chopra) [1857857] - [netdrv] qed: add support for Forward Error Correction (Manish Chopra) [1857857] - [netdrv] qed: reformat several structures a bit (Manish Chopra) [1857857] - [netdrv] qed: use transceiver data to fill link partner's advertising speeds (Manish Chopra) [1857857] - [netdrv] qed: add support for multi-rate transceivers (Manish Chopra) [1857857] - [netdrv] qed: reformat public_port::transceiver_data a bit (Manish Chopra) [1857857] - [netdrv] qede: populate supported link modes maps on module init (Manish Chopra) [1857857] - [netdrv] qed, qede, qedf: convert link mode from u32 to ETHTOOL_LINK_MODE (Manish Chopra) [1857857] - [infiniband] RDMA/qedr: Add EDPM max size to alloc ucontext response (Manish Chopra) [1857857] - [infiniband] RDMA/qedr: Add EDPM mode type for user-fw compatibility (Manish Chopra) [1857857] - [infiniband] RDMA/qedr: SRQ's bug fixes (Manish Chopra) [1857857] - [include] net: qed: drop duplicate words in comments (Manish Chopra) [1857857] - [netdrv] qede: convert to new udp_tunnel_nic infra (Manish Chopra) [1857857] - [netdrv] qed: Disable "MFW indication via attention" SPAM every 5 minutes (Manish Chopra) [1857857] - [netdrv] qed: Populate nvm-file attributes while reading nvm config partition (Manish Chopra) [1857857] - [netdrv] net: qede: fix BE vs CPU comparison (Manish Chopra) [1857857] - [netdrv] net: qede: fix kernel-doc for qede_ptp_adjfreq() (Manish Chopra) [1857857] - [netdrv] net: qed: sanitize BE/LE data processing (Manish Chopra) [1857857] - [netdrv] net: qed: use ptr shortcuts to dedup field accessing in some parts (Manish Chopra) [1857857] - [netdrv] net: qed: improve indentation of some parts of code (Manish Chopra) [1857857] - [netdrv] net: qed: address kernel-doc warnings (Manish Chopra) [1857857] - [netdrv] net: qed: correct qed_hw_err_notify() prototype (Manish Chopra) [1857857] - [netdrv] net: qed: cleanup global structs declarations (Manish Chopra) [1857857] - [netdrv] net: qed: move static iro_arrout of header file (Manish Chopra) [1857857] - [netdrv] qed: Make symbol 'qed_hw_err_type_descr' static (Manish Chopra) [1857857] - [netdrv] net: qede: update copyright years (Manish Chopra) [1857857] - [netdrv] net: qede: convert to SPDX License Identifiers (Manish Chopra) [1857857] - [netdrv] net: qede: correct existing SPDX tags (Manish Chopra) [1857857] - [netdrv] net: qed: update copyright years (Manish Chopra) [1857857] - [netdrv] net: qed: convert to SPDX License Identifiers (Manish Chopra) [1857857] - [netdrv] net: qed: correct existing SPDX tags (Manish Chopra) [1857857] - [netdrv] qed: add missing error test for DBG_STATUS_NO_MATCHING_FRAMING_MODE (Manish Chopra) [1857857] - [netdrv] net: qed: fix "maybe uninitialized" warning (Manish Chopra) [1857857] - [netdrv] net: qed: reset ILT block sizes before recomputing to fix crashes (Manish Chopra) [1857857] - [netdrv] net: qede: fix use-after-free on recovery and AER handling (Manish Chopra) [1857857] - [netdrv] net: qede: fix PTP initialization on recovery (Manish Chopra) [1857857] - [netdrv] net: qed: fix excessive QM ILT lines consumption (Manish Chopra) [1857857] - [netdrv] net: qed: fix NVMe login fails over VFs (Manish Chopra) [1857857] - [netdrv] net: qede: stop adding events on an already destroyed workqueue (Manish Chopra) [1857857] - [netdrv] net: qed: fix async event callbacks unregistering (Manish Chopra) [1857857] - [include] net: qed: fix left elements count calculation (Manish Chopra) [1857857] - [infiniband] RDMA/qedr: Fix KASAN: use-after-free in ucma_event_handler+0x532 (Manish Chopra) [1857857] - [netdrv] qed: Add EDPM mode type for user-fw compatibility (Manish Chopra) [1857857] - [netdrv] qed: Add XRC to RoCE (Manish Chopra) [1857857] - [netdrv] qed: changes to ILT to support XRC (Manish Chopra) [1857857] - [include] net: qed: fix bad formatting (Manish Chopra) [1857857] - [netdrv] net: qed: introduce critical hardware error handler (Manish Chopra) [1857857] - [netdrv] net: qed: introduce critical fan failure handler (Manish Chopra) [1857857] - [netdrv] net: qede: Implement ndo_tx_timeout (Manish Chopra) [1857857] - [netdrv] net: qede: optional hw recovery procedure (Manish Chopra) [1857857] - [netdrv] net: qed: attention clearing properties (Manish Chopra) [1857857] - [netdrv] net: qed: cleanup debug related declarations (Manish Chopra) [1857857] - [netdrv] net: qed: critical err reporting to management firmware (Manish Chopra) [1857857] - [netdrv] net: qed: invoke err notify on critical areas (Manish Chopra) [1857857] - [netdrv] net: qede: add hw err scheduled handler (Manish Chopra) [1857857] - [netdrv] net: qed: adding hw_err states and handling (Manish Chopra) [1857857] - [netdrv] net: qede: Use true for bool variable in qede_init_fp() (Manish Chopra) [1857857] - [netdrv] qed: Make ll2_cbs static (Manish Chopra) [1857857] - [netdrv] qede: Add support for handling the pcie errors (Manish Chopra) [1857857] - [netdrv] qed: Enable device error reporting capability (Manish Chopra) [1857857] - [netdrv] qed: use true,false for bool variables (Manish Chopra) [1857857] - [netdrv] net: qed: Remove unneeded cast from memory allocation (Manish Chopra) [1857857] - [netdrv] net: qede: reject unsupported coalescing params (Manish Chopra) [1857857] - [scsi] treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 440 (Manish Chopra) [1857857] - [scsi] treewide: Add SPDX license identifier - Makefile/Kconfig (Manish Chopra) [1857857] - [netdrv] sfc: don't double-down() filters in ef100_reset() (Jarod Wilson) [1856681] - [netdrv] sfc: Fix error code in probe (Jarod Wilson) [1856681] - [netdrv] sfc: fix boolreturn.cocci warning and rename function (Jarod Wilson) [1856681] - [netdrv] sfc: Use 'pci_channel_state_t' instead of 'enum pci_channel_state' (Jarod Wilson) [1856681] - [netdrv] sfc: Use fallthrough pseudo-keyword (Jarod Wilson) [1856681] - [netdrv] sfc: fix build warnings on 32-bit (Jarod Wilson) [1856681] - [netdrv] sfc: don't free_irq()s if they were never requested (Jarod Wilson) [1856681] - [netdrv] sfc: null out channel->rps_flow_id after freeing it (Jarod Wilson) [1856681] - [netdrv] sfc: take correct lock in ef100_reset() (Jarod Wilson) [1856681] - [netdrv] sfc: really check hash is valid before using it (Jarod Wilson) [1856681] - [netdrv] sfc: check hash is valid before using it (Jarod Wilson) [1856681] - [netdrv] sfc: fix ef100 design-param checking (Jarod Wilson) [1856681] - [netdrv] sfc: Fix build with CONFIG_RFS_ACCEL disabled (Jarod Wilson) [1856681] - [netdrv] sfc_ef100: add nic-type for VFs, and bind to them (Jarod Wilson) [1856681] - [netdrv] sfc_ef100: read pf_index at probe time (Jarod Wilson) [1856681] - [netdrv] sfc_ef100: functions for selftests (Jarod Wilson) [1856681] - [netdrv] sfc_ef100: statistics gathering (Jarod Wilson) [1856681] - [netdrv] sfc_ef100: plumb in fini_dmaq (Jarod Wilson) [1856681] - [netdrv] sfc_ef100: RX path for EF100 (Jarod Wilson) [1856681] - [netdrv] sfc_ef100: RX filter table management and related gubbins (Jarod Wilson) [1856681] - [netdrv] sfc_ef100: TX path for EF100 NICs (Jarod Wilson) [1856681] - [netdrv] sfc_ef100: read Design Parameters at probe time (Jarod Wilson) [1856681] - [netdrv] sfc_ef100: fail the probe if NIC uses unsol_ev credits (Jarod Wilson) [1856681] - [netdrv] sfc_ef100: check firmware version at start-of-day (Jarod Wilson) [1856681] - [netdrv] sfc_ef100: remove duplicated include from ef100_netdev.c (Jarod Wilson) [1856681] - [netdrv] sfc_ef100: implement ndo_get_phys_port_{id, name} (Jarod Wilson) [1856681] - [netdrv] sfc_ef100: read device MAC address at probe time (Jarod Wilson) [1856681] - [netdrv] sfc_ef100: probe the PHY and configure the MAC (Jarod Wilson) [1856681] - [netdrv] sfc_ef100: actually perform resets (Jarod Wilson) [1856681] - [netdrv] sfc_ef100: extend ef100_check_caps to cover datapath_caps3 (Jarod Wilson) [1856681] - [netdrv] sfc_ef100: read datapath caps, implement check_caps (Jarod Wilson) [1856681] - [netdrv] sfc_ef100: process events for MCDI completions (Jarod Wilson) [1856681] - [netdrv] sfc_ef100: implement ndo_open/close and EVQ probing (Jarod Wilson) [1856681] - [netdrv] sfc_ef100: implement MCDI transport (Jarod Wilson) [1856681] - [netdrv] sfc_ef100: don't call efx_reset_down()/up() on EF100 (Jarod Wilson) [1856681] - [netdrv] sfc_ef100: PHY probe stub (Jarod Wilson) [1856681] - [netdrv] sfc_ef100: reset-handling stub (Jarod Wilson) [1856681] - [netdrv] sfc: skeleton EF100 PF driver (Jarod Wilson) [1856681] - [netdrv] sfc_ef100: register accesses on EF100 (Jarod Wilson) [1856681] - [netdrv] sfc_ef100: add EF100 register definitions (Jarod Wilson) [1856681] - [netdrv] sfc: remove efx_ethtool_nway_reset() (Jarod Wilson) [1856681] - [netdrv] sfc: drop unnecessary list_empty (Jarod Wilson) [1856681] - [netdrv] sfc_ef100: helper function to set default RSS table of given size (Jarod Wilson) [1856681] - [netdrv] sfc_ef100: NVRAM selftest support code (Jarod Wilson) [1856681] - [netdrv] sfc_ef100: populate BUFFER_SIZE_BYTES in INIT_RXQ (Jarod Wilson) [1856681] - [netdrv] sfc_ef100: add EF100 to NIC-revision enumeration (Jarod Wilson) [1856681] - [netdrv] sfc: get drvinfo driver name from outside the common code (Jarod Wilson) [1856681] - [netdrv] sfc: initialise RSS context ID to 'no RSS context' in efx_init_struct() (Jarod Wilson) [1856681] - [netdrv] sfc: commonise efx_fini_dmaq (Jarod Wilson) [1856681] - [netdrv] sfc: factor out efx_mcdi_filter_table_down() from _remove() (Jarod Wilson) [1856681] - [netdrv] sfc: don't call tx_limit_len if NIC type doesn't have one (Jarod Wilson) [1856681] - [netdrv] sfc: assign TXQs without gaps (Jarod Wilson) [1856681] - [netdrv] sfc: commonise netif_set_real_numx_queues calls (Jarod Wilson) [1856681] - [netdrv] sfc: make tx_queues_per_channel variable at runtime (Jarod Wilson) [1856681] - [netdrv] sfc: move modparam 'rss_cpus' out of common channel code (Jarod Wilson) [1856681] - [netdrv] sfc: move modparam 'interrupt_mode' out of common channel code (Jarod Wilson) [1856681] - [netdrv] sfc: remove max_interrupt_mode (Jarod Wilson) [1856681] - [netdrv] sfc: support setting MTU even if not privileged to configure MAC fully (Jarod Wilson) [1856681] - [netdrv] sfc: don't call tx_remove if there isn't one (Jarod Wilson) [1856681] - [netdrv] sfc: commonise initialisation of efx->vport_id (Jarod Wilson) [1856681] - [netdrv] sfc: commonise efx->xq_entries initialisation (Jarod Wilson) [1856681] - [netdrv] sfc: initialise max_channels in efx_init_channels() (Jarod Wilson) [1856681] - [netdrv] sfc: move definition of EFX_MC_STATS_GENERATION_INVALID (Jarod Wilson) [1856681] - [netdrv] sfc: factor out efx_tx_tso_header_length() and understand encapsulation (Jarod Wilson) [1856681] - [netdrv] sfc: remove duplicate declaration of efx_enqueue_skb_tso() (Jarod Wilson) [1856681] - [netdrv] sfc: commonise TSO fallback code (Jarod Wilson) [1856681] - [netdrv] sfc: commonise efx_sync_rx_buffer() (Jarod Wilson) [1856681] - [netdrv] sfc: commonise some MAC configuration code (Jarod Wilson) [1856681] - [netdrv] sfc: commonise miscellaneous efx functions (Jarod Wilson) [1856681] - [netdrv] sfc: add missing licence info to mcdi_filters.c (Jarod Wilson) [1856681] - [netdrv] sfc: commonise MCDI MAC stats handling (Jarod Wilson) [1856681] - [netdrv] sfc: move NIC-specific mcdi_port declarations out of common header (Jarod Wilson) [1856681] - [netdrv] sfc: extend common GRO interface to support CHECKSUM_COMPLETE (Jarod Wilson) [1856681] - [netdrv] sfc: commonise ARFS handling (Jarod Wilson) [1856681] - [netdrv] sfc: commonise drain event handling (Jarod Wilson) [1856681] - [netdrv] sfc: commonise PCI error handlers (Jarod Wilson) [1856681] - [netdrv] sfc: track which BAR is mapped (Jarod Wilson) [1856681] - [netdrv] sfc: commonise FC advertising (Jarod Wilson) [1856681] - [netdrv] sfc: commonise other ethtool bits (Jarod Wilson) [1856681] - [netdrv] sfc: commonise ethtool NFC and RXFH/RSS functions (Jarod Wilson) [1856681] - [netdrv] sfc: commonise ethtool link handling functions (Jarod Wilson) [1856681] - [netdrv] sfc: split up nic.h (Jarod Wilson) [1856681] - [netdrv] sfc: refactor EF10 stats handling (Jarod Wilson) [1856681] - [netdrv] sfc: don't try to create more channels than we can have VIs (Jarod Wilson) [1856681] - [netdrv] sfc: extend bitfield macros up to POPULATE_DWORD_13 (Jarod Wilson) [1856681] - [netdrv] sfc: determine flag word automatically in efx_has_cap() (Jarod Wilson) [1856681] - [netdrv] sfc: update MCDI protocol headers (Jarod Wilson) [1856681] - [netdrv] sfc: replace '---help---' in Kconfig files with 'help' (Jarod Wilson) [1856681] - [netdrv] sfc: add missing annotation for efx_ef10_try_update_nic_stats_vf() (Jarod Wilson) [1856681] - [netdrv] sfc: avoid an unused-variable warning (Jarod Wilson) [1856681] - [netdrv] sfc: fix dereference of table before it is null checked (Jarod Wilson) [1856681] - [netdrv] sfc: siena_check_caps() can be static (Jarod Wilson) [1856681] - [netdrv] sfc: actually wire up siena_check_caps() (Jarod Wilson) [1856681] - [netdrv] sfc: make firmware-variant printing a nic_type function (Jarod Wilson) [1856681] - [netdrv] sfc: make filter table probe caller responsible for adding VLANs (Jarod Wilson) [1856681] - [netdrv] sfc: move rx_rss_context_exclusive into struct efx_mcdi_filter_table (Jarod Wilson) [1856681] - [netdrv] sfc: rework handling of (firmware) multicast chaining state (Jarod Wilson) [1856681] - [netdrv] sfc: move 'must restore' flags out of ef10-specific nic_data (Jarod Wilson) [1856681] - [netdrv] sfc: use efx_has_cap for capability checks outside of NIC-specific code (Jarod Wilson) [1856681] - [netdrv] sfc: make capability checking a nic_type function (Jarod Wilson) [1856681] - [netdrv] sfc: move vport_id to struct efx_nic (Jarod Wilson) [1856681] - [ntb] NTB: Revert "Add Hygon Device ID" (Myron Stowe) [1880468] - [tools] NTB: ntb_test: Fix bug when counting remote files (Myron Stowe) [1908031] - [ntb] NTB: perf: Fix race condition when run with ntb_test (Myron Stowe) [1908031] - [ntb] NTB: perf: Fix support for hardware that doesn't have port numbers (Myron Stowe) [1908031] - [ntb] NTB: perf: Don't require one more memory window than number of peers (Myron Stowe) [1908031] - [ntb] NTB: ntb_pingpong: Choose doorbells based on port number (Myron Stowe) [1908031] - [ntb] NTB: Fix the default port and peer numbers for legacy drivers (Myron Stowe) [1908031] - [ntb] NTB: Revert the change to use the NTB device dev for DMA allocations (Myron Stowe) [1908031] - [ntb] NTB: ntb_tool: reading the link file should not end in a NULL byte (Myron Stowe) [1908031] - [ntb] ntb_perf: avoid false dma unmap of destination address (Myron Stowe) [1908031] - [ntb] ntb_perf: increase sleep time from one milli sec to one sec (Myron Stowe) [1908031] - [ntb] ntb_tool: pass correct struct device to dma_alloc_coherent (Myron Stowe) [1908031] - [ntb] ntb_perf: pass correct struct device to dma_alloc_coherent (Myron Stowe) [1908031] - [include] NTB: correct ntb_peer_spad_addr and ntb_peer_spad_read comment typos (Myron Stowe) [1908031] - [ntb] ntb: intel: fix static declaration (Myron Stowe) [1908031] - [ntb] ntb: intel: add hw workaround for NTB BAR alignment (Myron Stowe) [1908031] - [ntb] ntb: intel: Add Icelake (gen4) support for Intel NTB (Myron Stowe) [1908031] - [ntb] NTB: Fix static check warning in perf_clear_test (Myron Stowe) [1908031] - [include] include/ntb: Fix typo in ntb_unregister_device description (Myron Stowe) [1908031] - [ntb] NTB: add pci shutdown handler for AMD NTB (Myron Stowe) [1908031] - [ntb] NTB: send DB event when driver is loaded or un-loaded (Myron Stowe) [1908031] - [ntb] NTB: remove redundant setting of DB valid mask (Myron Stowe) [1908031] - [ntb] NTB: return link up status correctly for PRI and SEC (Myron Stowe) [1908031] - [ntb] NTB: add helper functions to set and clear sideinfo (Myron Stowe) [1908031] - [ntb] NTB: move ntb_ctrl handling to init and deinit (Myron Stowe) [1908031] - [ntb] NTB: handle link up, D0 and D3 events correctly (Myron Stowe) [1908031] - [ntb] NTB: handle link down event correctly (Myron Stowe) [1908031] - [ntb] NTB: remove handling of peer_sta from amd_link_is_up (Myron Stowe) [1908031] - [ntb] NTB: set peer_sta within event handler itself (Myron Stowe) [1908031] - [ntb] NTB: return the side info status from amd_poll_link (Myron Stowe) [1908031] - [ntb] NTB: define a new function to get link status (Myron Stowe) [1908031] - [ntb] NTB: Enable link up and down event notification (Myron Stowe) [1908031] - [ntb] NTB: clear interrupt status register (Myron Stowe) [1908031] - [ntb] NTB: Fix access to link status and control register (Myron Stowe) [1908031] - [ntb] NTB: ntb_transport: Use scnprintf() for avoiding potential buffer overflow (Myron Stowe) [1908031] - [ntb] ntb_hw_switchtec: Fix ntb_mw_clear_trans error if size == 0 (Myron Stowe) [1908031] - [ntb] ntb_tool: Fix printk format (Myron Stowe) [1908031] - [ntb] NTB: ntb_perf: Fix address err in perf_copy_chunk (Myron Stowe) [1908031] - [ntb] NTB: Fix an error in get link status (Myron Stowe) [1908031] - [ntb] NTB: Add Hygon Device ID (Myron Stowe) [1908031] - [ntb] NTB: fix IDT Kconfig typos/spellos (Myron Stowe) [1908031] - [ntb] ntb_hw_amd: Add memory window support for new AMD hardware (Myron Stowe) [1908031] - [ntb] ntb_hw_amd: Add a new NTB PCI device ID (Myron Stowe) [1908031] - [ntb] NTB: ntb_transport: remove redundant assignment to rc (Myron Stowe) [1908031] - [ntb] ntb_hw_switchtec: make ntb_mw_set_trans() work when addr == 0 (Myron Stowe) [1908031] - [ntb] ntb: point to right memory window index (Myron Stowe) [1908031] - [ntb] NTB/msi: remove incorrect MODULE defines (Myron Stowe) [1908031] - [documentation] NTB: Describe the ntb_msi_test client in the documentation (Myron Stowe) [1908031] - [ntb] NTB: Add MSI interrupt support to ntb_transport (Myron Stowe) [1908031] - [tools] NTB: Add ntb_msi_test support to ntb_test (Myron Stowe) [1908031] - [ntb] NTB: Introduce NTB MSI Test Client (Myron Stowe) [1908031] - [ntb] NTB: Introduce MSI library (Myron Stowe) [1908031] - [ntb] NTB: Rename ntb.c to support multiple source files in the module (Myron Stowe) [1908031] - [include] NTB: Introduce functions to calculate multi-port resource index (Myron Stowe) [1908031] - [include] NTB: Introduce helper functions to calculate logical port number (Myron Stowe) [1908031] - [pci] PCI/switchtec: Add module parameter to request more interrupts (Myron Stowe) [1908031] - [ntb] ntb_hw_switchtec: Fix setup MW with failure bug (Myron Stowe) [1908031] - [ntb] ntb_hw_switchtec: Skip unnecessary re-setup of shared memory window for crosslink case (Myron Stowe) [1908031] - [ntb] ntb_hw_switchtec: Remove redundant steps of switchtec_ntb_reinit_peer() function (Myron Stowe) [1908031] - [include] NTB: correct ntb_dev_ops and ntb_dev comment typos (Myron Stowe) [1908031] - [ntb] NTB: amd: Silence shift wrapping warning in amd_ntb_db_vector_mask() (Myron Stowe) [1908031] - [ntb] ntb_hw_switchtec: potential shift wrapping bug in switchtec_ntb_init_sndev() (Myron Stowe) [1908031] - [ntb] NTB: ntb_transport: Ensure qp->tx_mw_dma_addr is initaliazed (Myron Stowe) [1908031] - [ntb] NTB: ntb_hw_amd: set peer limit register (Myron Stowe) [1908031] - [ntb] NTB: ntb_perf: Clear stale values in doorbell and command SPAD register (Myron Stowe) [1908031] - [ntb] NTB: ntb_perf: Disable NTB link after clearing peer XLAT registers (Myron Stowe) [1908031] - [ntb] NTB: ntb_perf: Increased the number of message retries to 1000 (Myron Stowe) [1908031] - [ntb] ntb: intel: Make intel_ntb3_peer_db_addr static (Myron Stowe) [1908031] - [ntb] NTB: add new parameter to peer_db_addr() db_bit and db_data (Myron Stowe) [1908031] - [ntb] NTB: ntb_transport: Ensure the destination buffer is mapped for TX DMA (Myron Stowe) [1908031] - [ntb] NTB: ntb_transport: Free MWs in ntb_transport_link_cleanup() (Myron Stowe) [1908031] - [ntb] ntb_hw_switchtec: Added support of >=4G memory windows (Myron Stowe) [1908031] - [include] ntb_hw_switchtec: NT req id mapping table register entry number should be 512 (Myron Stowe) [1908031] - [ntb] ntb_hw_switchtec: debug print 64bit aligned crosslink BAR Numbers (Myron Stowe) [1908031] - [ntb] ntb: idt: Alter the driver info comments (Myron Stowe) [1908031] - [ntb] ntb: idt: Discard temperature sensor IRQ handler (Myron Stowe) [1908031] - [ntb] ntb: idt: Add basic hwmon sysfs interface (Myron Stowe) [1908031] - [ntb] ntb: idt: Alter temperature read method (Myron Stowe) [1908031] - [netdrv] ntb_netdev: Simplify remove with client device drvdata (Myron Stowe) [1908031] - [ntb] NTB: transport: Try harder to alloc an aligned MW buffer (Myron Stowe) [1908031] - [ntb] ntb: ntb_transport: Mark expected switch fall-throughs (Myron Stowe) [1908031] - [ntb] ntb: idt: Set PCIe bus address to BARLIMITx (Myron Stowe) [1908031] - [ntb] NTB: ntb_hw_idt: replace IS_ERR_OR_NULL with regular NULL checks (Myron Stowe) [1908031] - [ntb] ntb: intel: fix return value for ndev_vec_mask() (Myron Stowe) [1908031] - [netdrv] ntb_netdev: fix sleep time mismatch (Myron Stowe) [1908031]- [block] block: fix incorrect branching in blk_max_size_offset() (Mike Snitzer) [1903722] - [md] dm: fix IO splitting (Mike Snitzer) [1903722] - [block] block: fix get_max_io_size() (Mike Snitzer) [1903722] - [block] block: Improve physical block alignment of split bios (Mike Snitzer) [1903722] - [block] block: use gcd() to fix chunk_sectors limit stacking (Mike Snitzer) [1903722] - [kernel] sched/deadline: Fix priority inheritance with multiple scheduling classes (Phil Auld) [1780490] - [fs] Convert trailing spaces and periods in path components (Leif Sahlberg) [1882457] - [block] loop: Fix occasional uevent drop (Ming Lei) [1897401] - [block] block: add a return value to set_capacity_revalidate_and_notify (Ming Lei) [1897401] - [fs] fat: truncate inode timestamp updates in setattr (Pavel Reichl) [1533270] - [fs] fat: change timestamp updates to use fat_truncate_time (Pavel Reichl) [1533270] - [fs] fat: add functions to update and truncate timestamps appropriately (Pavel Reichl) [1533270] - [fs] fat: create a function to calculate the timezone offest (Pavel Reichl) [1533270] - [net] icmp: randomize the global rate limiter (Guillaume Nault) [1899137] - [net] ipv4: Restore flowi4_oif update before call to xfrm_lookup_route (Guillaume Nault) [1899137] - [net] ipv4: Update exception handling for multipath routes via same device (Guillaume Nault) [1899137] - [net] ip: fix tos reflection in ack and reset packets (Guillaume Nault) [1899137] - [net] initialize fastreuse on inet_inherit_port (Guillaume Nault) [1899137] - [net] refactor bind_bucket fastreuse into helper (Guillaume Nault) [1899137] - [infiniband] RDMA/bnxt_re: Remove set but not used variable 'qplib_ctx' (Selvin Xavier) [1861886] - [infiniband] RDMA/bnxt_re: Remove the qp from list only if the qp destroy succeeds (Selvin Xavier) [1861886] - [infiniband] RDMA/bnxt_re: Fix driver crash on unaligned PSN entry address (Selvin Xavier) [1861886] - [infiniband] RDMA/bnxt_re: Restrict the max_gids to 256 (Selvin Xavier) [1861886] - [infiniband] RDMA/bnxt_re: Static NQ depth allocation (Selvin Xavier) [1861886] - [infiniband] RDMA/bnxt_re: Fix the qp table indexing (Selvin Xavier) [1861886] - [infiniband] RDMA/bnxt_re: Do not report transparent vlan from QP1 (Selvin Xavier) [1861886] - [infiniband] RDMA/bnxt_re: Change wr posting logic to accommodate variable wqes (Selvin Xavier) [1861886] - [infiniband] RDMA/bnxt_re: Add helper data structures (Selvin Xavier) [1861886] - [infiniband] RDMA/bnxt_re: Pull psn buffer dynamically based on prod (Selvin Xavier) [1861886] - [infiniband] RDMA/bnxt_re: introduce a function to allocate swq (Selvin Xavier) [1861886] - [infiniband] RDMA/bnxt_re: introduce wqe mode to select execution path (Selvin Xavier) [1861886] - [infiniband] RDMA/bnxt: Delete 'nq_ptr' variable which is not used (Selvin Xavier) [1861886] - [infiniband] RDMA/bnxt_re: Remove dead code from rcfw (Selvin Xavier) [1861886] - [infiniband] RDMA/bnxt_re: Simplify obtaining queue entry from hw ring (Selvin Xavier) [1861886] - [infiniband] RDMA/bnxt_re: Update missing hsi data structures (Selvin Xavier) [1861886] - [infiniband] RDMA/bnxt_re: Reduce device page size detection code (Selvin Xavier) [1861886] - [infiniband] RDMA/bnxt_re: Remove unsupported modify_device callback (Selvin Xavier) [1861886] - [include] net: Add netif_is_bareudp() API to identify bareudp devices (Guillaume Nault) [1839788] - [net] Removed the device type check to add mpls support for devices (Guillaume Nault) [1839788] - [tools] selftests: set conf.all.rp_filter=0 in bareudp.sh (Guillaume Nault) [1839788] - [tools] selftests: disable rp_filter when testing bareudp (Guillaume Nault) [1839788] - [tools] selftests: add test script for bareudp tunnels (Guillaume Nault) [1839788] - [documentation] bareudp: Corrected description of bareudp module. (Guillaume Nault) [1839788] - [netdrv] bareudp: forbid mixing IP and MPLS in multiproto mode (Guillaume Nault) [1839788] - [netdrv] bareudp: Reverted support to enable & disable rx metadata collection (Guillaume Nault) [1839788] - [documentation] bareudp: update iproute2 sample commands (Guillaume Nault) [1839788] - [netdrv] bareudp: Added attribute to enable & disable rx metadata collection (Guillaume Nault) [1839788] - [netdrv] bareudp: Fixed multiproto mode configuration (Guillaume Nault) [1839788] - [netdrv] bareudp: Fixed configuration to avoid having garbage values (Guillaume Nault) [1839788] - [netdrv] net: bareudp: avoid uninitialized variable warning (Guillaume Nault) [1839788] - [netdrv] bareudp: Fixed bareudp receive handling (Guillaume Nault) [1839788] - [netdrv] bareudp: remove unnecessary udp_encap_enable() in bareudp_socket_create() (Guillaume Nault) [1839788] - [netdrv] bareudp: print error message when command fails (Guillaume Nault) [1839788] - [netdrv] bareudp: add module alias (Guillaume Nault) [1839788] - [netdrv] bareudp: Fix uninitialized variable warnings. (Guillaume Nault) [1839788] - [netdrv] Special handling for IP & MPLS. (Guillaume Nault) [1839788] - [net] UDP tunnel encapsulation module for tunnelling different protocols like MPLS, IP, NSH etc. (Guillaume Nault) [1839788] - [arm64] arm64: remove arm64ksyms.c (Mark Salter) [1883365] - [arm64] arm64: frace: use asm EXPORT_SYMBOL() (Mark Salter) [1883365] - [arm64] arm64: string: use asm EXPORT_SYMBOL() (Mark Salter) [1883365] - [arm64] arm64: uaccess: use asm EXPORT_SYMBOL() (Mark Salter) [1883365] - [arm64] arm64: page: use asm EXPORT_SYMBOL() (Mark Salter) [1883365] - [arm64] arm64: smccc: use asm EXPORT_SYMBOL() (Mark Salter) [1883365] - [arm64] arm64: tishift: use asm EXPORT_SYMBOL() (Mark Salter) [1883365] - [arm64] arm64: add EXPORT_SYMBOL_NOKASAN() (Mark Salter) [1883365] - [mm] arm64: move memstart_addr export inline (Mark Salter) [1883365] - [arm64] arm64: remove bitop exports (Mark Salter) [1883365] - [arm64] arm64: lib: use C string functions with KASAN enabled (Mark Salter) [1883365] - [arm64] arm64: add (Mark Salter) [1883365] - [arm64] locking/atomics/arm64, arm64/bitops: Include (Mark Salter) [1883365] - [arm64] locking/atomics/arm64: Replace our atomic/lock bitop implementations with asm-generic (Mark Salter) [1883365] - [include] locking/atomics, asm-generic/bitops/lock.h: Rewrite using atomic_fetch_*() (Mark Salter) [1883365] - [include] locking/atomics, asm-generic/bitops/atomic.h: Rewrite using atomic_*() APIs (Mark Salter) [1883365] - [thermal] thermal: rcar_thermal: Add missing braces to conditional statement (Ivan Vecera) [1894564] - [thermal] thermal: Rename set_mode() to change_mode() (Ivan Vecera) [1894564] - [thermal] thermal: Simplify or eliminate unnecessary set_mode() methods (Ivan Vecera) [1894564] - [thermal] thermal: core: Stop polling DISABLED thermal devices (Ivan Vecera) [1894564] - [thermal] thermal: Explicitly enable non-changing thermal zone devices (Ivan Vecera) [1894564] - [thermal] thermal: Use mode helpers in drivers (Ivan Vecera) [1894564] - [thermal] thermal: Add mode helpers (Ivan Vecera) [1894564] - [thermal] thermal: remove get_mode() operation of drivers (Ivan Vecera) [1894564] - [thermal] thermal: Store device mode in struct thermal_zone_device (Ivan Vecera) [1894564] - [include] thermal: Add current mode to thermal zone device (Ivan Vecera) [1894564] - [acpi] thermal: Store thermal mode in a dedicated enum (Ivan Vecera) [1894564] - [acpi] acpi: thermal: Fix error handling in the register function (Ivan Vecera) [1894564] - [thermal] thermal: core: skip update disabled thermal zones after suspend (Ivan Vecera) [1894564] - [thermal] Thermal: do not clear passive state during system sleep (Ivan Vecera) [1894564] - [thermal] thermal: of-thermal: disable passive polling when thermal zone is disabled (Ivan Vecera) [1894564] - [crypto] crypto: qat - drop input parameter from adf_enable_aer() (Vladis Dronov) [1855190] - [crypto] crypto: qat - fix function parameters descriptions (Vladis Dronov) [1855190] - [crypto] crypto: qat - remove unnecessary mutex_init() (Vladis Dronov) [1855190] - [crypto] crypto: qat - use PCI_VDEVICE (Vladis Dronov) [1855190] - [crypto] crypto: qat - replace device ids defines (Vladis Dronov) [1855190] - [crypto] crypto: qat - include domain in top level debugfs path (Vladis Dronov) [1855190] - [crypto] crypto: qat - check cipher length for aead AES-CBC-HMAC-SHA (Vladis Dronov) [1855190] - [crypto] crypto: qat - Use fallthrough pseudo-keyword (Vladis Dronov) [1855190] - [crypto] crypto: qat - add delay before polling mailbox (Vladis Dronov) [1855190] - [include] PCI: Add Intel QuickAssist device IDs (Vladis Dronov) [1855190] - [crypto] crypto: qat - fix double free in qat_uclo_create_batch_init_list (Vladis Dronov) [1855190] - [crypto] crypto: qat - fallback for xts with 192 bit keys (Vladis Dronov) [1855190] - [crypto] crypto: qat - remove unused field in skcipher ctx (Vladis Dronov) [1855190] - [crypto] crypto: qat - validate xts key (Vladis Dronov) [1855190] - [crypto] crypto: qat - allow xts requests not multiple of block (Vladis Dronov) [1855190] - [crypto] crypto: qat - update timeout logic in put admin msg (Vladis Dronov) [1855190] - [crypto] crypto: qat - send admin messages to set of AEs (Vladis Dronov) [1855190] - [crypto] crypto: qat - update fw init admin msg (Vladis Dronov) [1855190] - [crypto] crypto: qat - remove packed attribute in etr structs (Vladis Dronov) [1855190] - [crypto] crypto: qat - replace user types with kernel ABI __u types (Vladis Dronov) [1855190] - [crypto] crypto: qat - replace user types with kernel u types (Vladis Dronov) [1855190] - [crypto] crypto: qat - convert to SPDX License Identifiers (Vladis Dronov) [1855190] - [crypto] crypto: qat - simplify the qat_crypto function (Vladis Dronov) [1855190] - [crypto] crypto: qat - spelling s/Decrytp/Decrypt/ (Vladis Dronov) [1855190] - [crypto] crypto: qat/adf_aer - Replace GFP_ATOMIC with GFP_KERNEL in adf_dev_aer_schedule_reset() (Vladis Dronov) [1855190] - [thermal] thermal: int340x: processor_thermal: fix: update Jasper Lake PCI id (David Arcari) [1889331] - [thermal] thermal: int3403_thermal: Downgrade error message (David Arcari) [1889331] - [thermal] thermal/int340x_thermal: Prevent page fault on .set_mode() op (David Arcari) [1889331] - [thermal] thermal/int340x_thermal: Don't require IDSP to exist (David Arcari) [1889331] - [thermal] thermal/int340x_thermal: Export OEM vendor variables (David Arcari) [1889331] - [thermal] thermal/int340x_thermal: Export GDDV (David Arcari) [1889331] - [thermal] thermal: int3400_thermal: Statically initialize .get_mode()/.set_mode() ops (David Arcari) [1889331] - [thermal] thermal: int340x_thermal: fix: Update Tiger Lake ACPI device IDs (David Arcari) [1889331] - [thermal] thermal: int340x_thermal: Use scnprintf() for avoiding potential buffer overflow (David Arcari) [1889331] - [thermal] thermal: int340x: processor_thermal: Add Tiger Lake support (David Arcari) [1889331] - [platform] acpi: Remove header dependency (David Arcari) [1889331] - [thermal] thermal: int340x: switch to use helpers (David Arcari) [1889331] - [thermal] thermal: int340x: processor_thermal: Add Jasper Lake support (David Arcari) [1889331] - [thermal] thermal: int340x_thermal: Add Tiger Lake ACPI device IDs (David Arcari) [1889331] - [thermal] thermal: intel: int3403: replace printk(KERN_WARN...) with pr_warn(...) (David Arcari) [1889331] - [thermal] thermal: intel: int340x_thermal: Remove unnecessary acpi_has_method() uses (David Arcari) [1889331] - [thermal] thermal: int340x: processor_thermal: Add Ice Lake support (David Arcari) [1889331] - [thermal] drivers: thermal: processor_thermal_device: Export sysfs interface for TCC offset (David Arcari) [1889331] - [netdrv] net/mlx5e: Fix arch depending casting issue in FEC (Alaa Hleihel) [1858559] - [netdrv] net/mlx5: Kconfig: convert imply usage to weak dependency (Alaa Hleihel) [1858559] - [netdrv] net/mlx5: Fix condition for termination table cleanup (Alaa Hleihel) [1858559 1851700] - [netdrv] net/mlx5: Use a separate work queue for fib event handling (Alaa Hleihel) [1858559] - [infiniband] RDMA/mlx5: Add support for RDMA TX flow table (Alaa Hleihel) [1858559] - [netdrv] net/mlx5: Add support for RDMA TX steering (Alaa Hleihel) [1858559] - [infiniband] IB/mlx5: Move to fully dynamic UAR mode once user space supports it (Alaa Hleihel) [1858559] - [infiniband] IB/mlx5: Limit the scope of struct mlx5_bfreg_info to mlx5_ib (Alaa Hleihel) [1858559] - [infiniband] IB/mlx5: Extend QP creation to get uar page index from user space (Alaa Hleihel) [1858559] - [infiniband] IB/mlx5: Extend CQ creation to get uar page index from user space (Alaa Hleihel) [1858559] - [netdrv] net/mlx5: Avoid group version scan when not necessary (Alaa Hleihel) [1858559] - [netdrv] net/mlx5: Avoid incrementing FTE version (Alaa Hleihel) [1858559] - [netdrv] net/mlx5: Simplify matching group searches (Alaa Hleihel) [1858559] - [infiniband] IB/mlx5: Generally use the WC auto detection test result (Alaa Hleihel) [1858559] - [netdrv] net/mlx5: Avoid forwarding to other eswitch uplink (Alaa Hleihel) [1858559 1851700] - [netdrv] net/mlx5: Eswitch, enable forwarding back to uplink port (Alaa Hleihel) [1858559 1851700] - [netdrv] net/mlx5e: Add support for offloading traffic from uplink to uplink (Alaa Hleihel) [1858559 1851700] - [netdrv] net/mlx5: Don't use termination tables in slow path (Alaa Hleihel) [1858559 1851700] - [netdrv] net/mlx5: Avoid configuring eswitch QoS if not supported (Alaa Hleihel) [1858559 1851700] - [netdrv] net/mlx5: DR, Add support for flow table id destination action (Alaa Hleihel) [1858559] - [netdrv] net/mlx5: E-Switch, Refactor unload all reps per rep type (Alaa Hleihel) [1858559] - [netdrv] net/mlx5: E-Switch, Update VF vports config when num of VFs changed (Alaa Hleihel) [1858559] - [netdrv] net/mlx5: E-Switch, Introduce per vport configuration for eswitch modes (Alaa Hleihel) [1858559] - [netdrv] net/mlx5: E-switch, Make vport setup/cleanup sequence symmetric (Alaa Hleihel) [1858559] - [netdrv] net/mlx5: E-Switch, Prepare for vport enable/disable refactor (Alaa Hleihel) [1858559] - [netdrv] net/mlx5: E-Switch, Remove redundant warning when QoS enable failed (Alaa Hleihel) [1858559] - [netdrv] net/mlx5: E-Switch, Remove redundant check of eswitch manager cap (Alaa Hleihel) [1858559] - [infiniband] RDMA/mlx5: Allow MRs to be created in the cache synchronously (Alaa Hleihel) [1858559] - [infiniband] RDMA/mlx5: Revise how the hysteresis scheme works for cache filling (Alaa Hleihel) [1858559] - [infiniband] RDMA/mlx5: Fix locking in MR cache work queue (Alaa Hleihel) [1858559] - [infiniband] RDMA/mlx5: Lock access to ent->available_mrs/limit when doing queue_work (Alaa Hleihel) [1858559] - [infiniband] RDMA/mlx5: Fix MR cache size and limit debugfs (Alaa Hleihel) [1858559] - [infiniband] RDMA/mlx5: Always remove MRs from the cache before destroying them (Alaa Hleihel) [1858559] - [infiniband] RDMA/mlx5: Simplify how the MR cache bucket is located (Alaa Hleihel) [1858559] - [infiniband] RDMA/mlx5: Rename the tracking variables for the MR cache (Alaa Hleihel) [1858559] - [infiniband] RDMA/mlx5: Replace spinlock protected write with atomic var (Alaa Hleihel) [1858559] - [infiniband] {IB, net}/mlx5: Move asynchronous mkey creation to mlx5_ib (Alaa Hleihel) [1858559] - [infiniband] {IB, net}/mlx5: Assign mkey variant in mlx5_ib only (Alaa Hleihel) [1858559] - [infiniband] {IB, net}/mlx5: Setup mkey variant before mr create command invocation (Alaa Hleihel) [1858559] - [infiniband] RDMA/mlx5: Use offsetofend() instead of duplicated variant (Alaa Hleihel) [1858559] - [infiniband] RDMA/mlx5: Remove duplicate definitions of SW_ICM macros (Alaa Hleihel) [1858559] - [netdrv] net/mlx5: E-switch, make query inline mode a static function (Alaa Hleihel) [1858559] - [netdrv] net/mlx5: Allocate smaller size tables for ft offload (Alaa Hleihel) [1858559] - [netdrv] net/mlx5: Introduce TLS and IPSec objects enums (Alaa Hleihel) [1858559] - [include] net/mlx5: Introduce egress acl forward-to-vport capability (Alaa Hleihel) [1858559] - [infiniband] IB/mlx5: Add np_min_time_between_cnps and rp_max_rate debug params (Alaa Hleihel) [1858559] - [netdrv] net/mlx5: Fix header guard in rsc_dump.h (Alaa Hleihel) [1858559] - [netdrv] net/mlx5e: Replace zero-length array with flexible-array member (Alaa Hleihel) [1858559] - [netdrv] net/mlx5: Remove a useless 'drain_workqueue()' call in 'mlx5e_ipsec_cleanup()' (Alaa Hleihel) [1858559] - [netdrv] net/mlx5e: Add support for FEC modes based on 50G per lane links (Alaa Hleihel) [1858559] - [netdrv] net/mlxe5: Separate between FEC and current speed (Alaa Hleihel) [1858559] - [netdrv] net/mlx5e: Advertise globaly supported FEC modes (Alaa Hleihel) [1858559] - [netdrv] net/mlx5e: Enforce setting of a single FEC mode (Alaa Hleihel) [1858559] - [netdrv] net/mlx5e: Set FEC to auto when configured mode is not supported (Alaa Hleihel) [1858559] - [netdrv] mlx5: Use proper logging and tracing line terminations (Alaa Hleihel) [1858559] - [netdrv] net/mlx5e: Support dump callback in RX reporter (Alaa Hleihel) [1858559] - [netdrv] net/mlx5e: Support dump callback in TX reporter (Alaa Hleihel) [1858559] - [netdrv] net/mlx5e: Gather reporters APIs together (Alaa Hleihel) [1858559] - [netdrv] net/mlx5: Add support for resource dump (Alaa Hleihel) [1858559] - [netdrv] bnxt_en: Fix wrong flag value passed to HWRM_PORT_QSTATS_EXT fw call (Jonathan Toppins) [1861885] - [netdrv] bnxt_en: Fix HWRM_FUNC_QSTATS_EXT firmware call (Jonathan Toppins) [1861885] - [netdrv] bnxt_en: Return -EOPNOTSUPP for ETHTOOL_GREGS on VFs (Jonathan Toppins) [1861885] - [netdrv] bnxt_en: Protect bnxt_set_eee() and bnxt_set_pauseparam() with mutex (Jonathan Toppins) [1861885] - [netdrv] bnxt_en: return proper error codes in bnxt_show_temp (Jonathan Toppins) [1861885] - [netdrv] bnxt_en: Use memcpy to copy VPD field info (Jonathan Toppins) [1861885] - [netdrv] net: ethernet: broadcom: have drivers select DIMLIB as needed (Jonathan Toppins) [1861885] - [netdrv] bnxt_en: Fix NULL ptr dereference crash in bnxt_fw_reset_task() (Jonathan Toppins) [1861885] - [netdrv] bnxt_en: Avoid sending firmware messages when AER error is detected (Jonathan Toppins) [1861885] - [netdrv] bnxt: don't enable NAPI until rings are ready (Jonathan Toppins) [1861885] - [netdrv] bnxt_en: Setup default RSS map in all scenarios (Jonathan Toppins) [1861885] - [netdrv] bnxt_en: init RSS table for Minimal-Static VF reservation (Jonathan Toppins) [1861885] - [netdrv] bnxt_en: fix HWRM error when querying VF temperature (Jonathan Toppins) [1861885] - [netdrv] bnxt_en: Fix possible crash in bnxt_fw_reset_task() (Jonathan Toppins) [1861885] - [netdrv] bnxt_en: Fix PCI AER error recovery flow (Jonathan Toppins) [1861885] - [netdrv] bnxt_en: Fix ethtool -S statitics with XDP or TCs enabled (Jonathan Toppins) [1861885] - [netdrv] bnxt_en: Check for zero dir entries in NVRAM (Jonathan Toppins) [1861885] - [netdrv] bnxt_en: Don't query FW when netif_running() is false (Jonathan Toppins) [1861885] - [netdrv] bnxt_en: Remove superfluous memset() (Jonathan Toppins) [1861885] - [netdrv] bnxt_en: Add support for 'ethtool -d' (Jonathan Toppins) [1861885] - [netdrv] bnxt_en: Switch over to use the 64-bit software accumulated counters (Jonathan Toppins) [1861885] - [netdrv] bnxt_en: Accumulate all counters (Jonathan Toppins) [1861885] - [netdrv] bnxt_en: Retrieve hardware masks for port counters (Jonathan Toppins) [1861885] - [netdrv] bnxt_en: Retrieve hardware counter masks from firmware if available (Jonathan Toppins) [1861885] - [netdrv] bnxt_en: Allocate additional memory for all statistics blocks (Jonathan Toppins) [1861885] - [netdrv] bnxt_en: Refactor statistics code and structures (Jonathan Toppins) [1861885] - [netdrv] bnxt_en: Use macros to define port statistics size and offset (Jonathan Toppins) [1861885] - [netdrv] bnxt_en: Update firmware interface to 1.10.1.54 (Jonathan Toppins) [1861885] - [netdrv] bnxt_en: Remove PCIe non-counters from ethtool statistics (Jonathan Toppins) [1861885] - [netdrv] net: bnxt: don't complain if TC flower can't be supported (Jonathan Toppins) [1861885] - [netdrv] bnxt_en: Fix completion ring sizing with TPA enabled (Jonathan Toppins) [1861885] - [netdrv] bnxt_en: Init ethtool link settings after reading updated PHY configuration (Jonathan Toppins) [1861885] - [netdrv] bnxt_en: Fix race when modifying pause settings (Jonathan Toppins) [1861885] - [netdrv] bnxt: convert to new udp_tunnel_nic infra (Jonathan Toppins) [1861885] - [netdrv] bnxt_en: allow firmware to disable VLAN offloads (Jonathan Toppins) [1861885] - [netdrv] bnxt_en: clean up VLAN feature bit handling (Jonathan Toppins) [1861885] - [netdrv] bnxt_en: Implement ethtool -X to set indirection table (Jonathan Toppins) [1861885] - [netdrv] bnxt_en: Return correct RSS indirection table entries to ethtool -x (Jonathan Toppins) [1861885] - [netdrv] bnxt_en: Fill HW RSS table from the RSS logical indirection table (Jonathan Toppins) [1861885] - [netdrv] bnxt_en: Add helper function to return the number of RSS contexts (Jonathan Toppins) [1861885] - [netdrv] bnxt_en: Add logical RSS indirection table structure (Jonathan Toppins) [1861885] - [netdrv] bnxt_en: Fix up bnxt_get_rxfh_indir_size() (Jonathan Toppins) [1861885] - [netdrv] bnxt_en: Set up the chip specific RSS table size (Jonathan Toppins) [1861885] - [netdrv] bnxt_en: Read VPD info only for PFs (Jonathan Toppins) [1861885] - [netdrv] bnxt_en: Fix statistics counters issue during ifdown with older firmware (Jonathan Toppins) [1861885] - [netdrv] bnxt_en: Do not enable legacy TX push on older firmware (Jonathan Toppins) [1861885] - [netdrv] bnxt_en: Store the running firmware version code (Jonathan Toppins) [1861885] - [netdrv] bnxt_en: Add board.serial_number field to info_get cb (Jonathan Toppins) [1861885] - [netdrv] bnxt_en: Return from timer if interface is not in open state (Jonathan Toppins) [1861885] - [netdrv] bnxt_en: Fix AER reset logic on 57500 chips (Jonathan Toppins) [1861885] - [netdrv] bnxt_en: Re-enable SRIOV during resume (Jonathan Toppins) [1861885] - [netdrv] bnxt_en: Simplify bnxt_resume() (Jonathan Toppins) [1861885] - [netdrv] bnxt_en: fix firmware message length endianness (Jonathan Toppins) [1861885] - [netdrv] bnxt_en: Fix return code to "flash_device" (Jonathan Toppins) [1861885] - [netdrv] bnxt_en: Fix accumulation of bp->net_stats_prev (Jonathan Toppins) [1861885] - [netdrv] net: bnxt: Remove Comparison to bool in bnxt_ethtool.c (Jonathan Toppins) [1861885] - [netdrv] bnxt_en: show only relevant ethtool stats for a TX or RX ring (Jonathan Toppins) [1861885] - [netdrv] bnxt_en: Split HW ring statistics strings into RX and TX parts (Jonathan Toppins) [1861885] - [netdrv] bnxt_en: Refactor the software ring counters (Jonathan Toppins) [1861885] - [netdrv] bnxt_en: Add doorbell information to bnxt_en_dev struct (Jonathan Toppins) [1861885] - [netdrv] bnxt_en: Add support for L2 doorbell size (Jonathan Toppins) [1861885] - [netdrv] bnxt_en: Set the db_offset on 57500 chips for the RDMA MSIX entries (Jonathan Toppins) [1861885] - [netdrv] bnxt_en: Define the doorbell offsets on 57500 chips (Jonathan Toppins) [1861885] - [netdrv] bnxt_en: Improve kernel log messages related to ethtool reset (Jonathan Toppins) [1861885] - [netdrv] bnxt_en: fix ethtool_reset_flags ABI violations (Jonathan Toppins) [1861885] - [netdrv] bnxt_en: refactor ethtool firmware reset types (Jonathan Toppins) [1861885] - [netdrv] bnxt_en: prepare to refactor ethtool reset types (Jonathan Toppins) [1861885] - [netdrv] bnxt_en: Do not include ETH_FCS_LEN in the max packet length sent to fw (Jonathan Toppins) [1861885] - [netdrv] bnxt_en: Improve TQM ring context memory sizing formulas (Jonathan Toppins) [1861885] - [netdrv] bnxt_en: Allocate TQM ring context memory according to fw specification (Jonathan Toppins) [1861885] - [netdrv] bnxt_en: Update firmware spec. to 1.10.1.33 (Jonathan Toppins) [1861885] - [fs] fs/namespace.c: fix mountpoint reference counter race (Pavel Reichl) [1852651] {CVE-2020-12114}- [powerpc] powerpc/64: Fix kernel stack 16-byte alignment (Desnes Augusto Nunes do Rosario) [1854528] - [powerpc] powerpc/aout: Fix struct user definition to use user_pt_regs (Desnes Augusto Nunes do Rosario) [1854528] - [powerpc] powerpc/uapi: Fix sigcontext definition to use user_pt_regs (Desnes Augusto Nunes do Rosario) [1854528] - [powerpc] bpf: powerpc: fix broken uapi for BPF_PROG_TYPE_PERF_EVENT (Desnes Augusto Nunes do Rosario) [1854528] - [tools] selftests/powerpc: Tests for kernel accessing user memory (Desnes Augusto Nunes do Rosario) [1854528] - [powerpc] powerpc/watchpoint/ptrace: Introduce PPC_DEBUG_FEATURE_DATA_BP_ARCH_31 (Desnes Augusto Nunes do Rosario) [1854528] - [powerpc] powerpc/watchpoint: Fix exception handling for CONFIG_HAVE_HW_BREAKPOINT=N (Desnes Augusto Nunes do Rosario) [1854528] - [powerpc] powerpc/watchpoint: Fix length calculation for unaligned target (Desnes Augusto Nunes do Rosario) [1854528] - [powerpc] powerpc/watchpoint: Move DAWR detection logic outside of hw_breakpoint.c (Desnes Augusto Nunes do Rosario) [1854528] - [powerpc] powerpc/watchpoint/ptrace: Fix SETHWDEBUG when CONFIG_HAVE_HW_BREAKPOINT=N (Desnes Augusto Nunes do Rosario) [1854528] - [powerpc] powerpc/watchpoint: Fix handling of vector instructions (Desnes Augusto Nunes do Rosario) [1854528] - [powerpc] powerpc/watchpoint: Fix quadword instruction handling on p10 predecessors (Desnes Augusto Nunes do Rosario) [1854528] - [powerpc] powerpc/hw_breakpoint.h: delete duplicated word (Desnes Augusto Nunes do Rosario) [1854528] - [powerpc] powerpc/watchpoint: Remove 512 byte boundary (Desnes Augusto Nunes do Rosario) [1854528] - [powerpc] powerpc/watchpoint: Return available watchpoints dynamically (Desnes Augusto Nunes do Rosario) [1854528] - [powerpc] powerpc/watchpoint: Guest support for 2nd DAWR hcall (Desnes Augusto Nunes do Rosario) [1854528] - [powerpc] powerpc/watchpoint: Set CPU_FTR_DAWR1 based on pa-features bit (Desnes Augusto Nunes do Rosario) [1854528] - [powerpc] powerpc/dt_cpu_ftrs: Add feature for 2nd DAWR (Desnes Augusto Nunes do Rosario) [1854528] - [powerpc] powerpc/watchpoint: Enable watchpoint functionality on power10 guest (Desnes Augusto Nunes do Rosario) [1854528] - [powerpc] powerpc/watchpoint: Fix DAWR exception for CACHEOP (Desnes Augusto Nunes do Rosario) [1854528] - [powerpc] powerpc/watchpoint: Fix DAWR exception constraint (Desnes Augusto Nunes do Rosario) [1854528] - [powerpc] powerpc/watchpoint: Fix 512 byte boundary limit (Desnes Augusto Nunes do Rosario) [1854528] - [powerpc] hw-breakpoints: Fix build warnings with clang (Desnes Augusto Nunes do Rosario) [1854528] - [powerpc] powerpc/watchpoint/xmon: Support 2nd DAWR (Desnes Augusto Nunes do Rosario) [1854528] - [powerpc] powerpc/watchpoint/xmon: Don't allow breakpoint overwriting (Desnes Augusto Nunes do Rosario) [1854528] - [powerpc] powerpc/watchpoint: Don't allow concurrent perf and ptrace events (Desnes Augusto Nunes do Rosario) [1854528] - [powerpc] powerpc/watchpoint: Prepare handler to handle more than one watchpoint (Desnes Augusto Nunes do Rosario) [1854528] - [powerpc] powerpc/watchpoint: Use builtin ALIGN*() macros (Desnes Augusto Nunes do Rosario) [1854528] - [powerpc] powerpc/watchpoint: Introduce is_ptrace_bp() function (Desnes Augusto Nunes do Rosario) [1854528] - [powerpc] powerpc/watchpoint: Use loop for thread_struct->ptrace_bps (Desnes Augusto Nunes do Rosario) [1854528] - [powerpc] powerpc/watchpoint: Convert thread_struct->hw_brk to an array (Desnes Augusto Nunes do Rosario) [1854528] - [powerpc] powerpc/watchpoint: Disable all available watchpoints when !dawr_force_enable (Desnes Augusto Nunes do Rosario) [1854528] - [powerpc] powerpc/watchpoint: Get watchpoint count dynamically while disabling them (Desnes Augusto Nunes do Rosario) [1854528] - [powerpc] powerpc/watchpoint: Provide DAWR number to __set_breakpoint (Desnes Augusto Nunes do Rosario) [1854528] - [powerpc] powerpc/watchpoint: Provide DAWR number to set_dawr (Desnes Augusto Nunes do Rosario) [1854528] - [powerpc] powerpc/watchpoint/ptrace: Return actual num of available watchpoints (Desnes Augusto Nunes do Rosario) [1854528] - [powerpc] powerpc/watchpoint: Introduce function to get nr watchpoints dynamically (Desnes Augusto Nunes do Rosario) [1854528] - [powerpc] powerpc/watchpoint: Add SPRN macros for second DAWR (Desnes Augusto Nunes do Rosario) [1854528] - [powerpc] powerpc/ptrace: move ptrace_triggered() into hw_breakpoint.c (Desnes Augusto Nunes do Rosario) [1854528] - [powerpc] powerpc/ptrace: create ppc_gethwdinfo() (Desnes Augusto Nunes do Rosario) [1854528] - [powerpc] powerpc/ptrace: create ptrace_get_debugreg() (Desnes Augusto Nunes do Rosario) [1854528] - [powerpc] powerpc/ptrace: split out ADV_DEBUG_REGS related functions (Desnes Augusto Nunes do Rosario) [1854528] - [powerpc] powerpc/ptrace: move register viewing functions out of ptrace.c (Desnes Augusto Nunes do Rosario) [1854528] - [powerpc] powerpc/ptrace: split out TRANSACTIONAL_MEM related functions (Desnes Augusto Nunes do Rosario) [1854528] - [powerpc] powerpc/ptrace: split out SPE related functions (Desnes Augusto Nunes do Rosario) [1854528] - [powerpc] powerpc/ptrace: split out ALTIVEC related functions (Desnes Augusto Nunes do Rosario) [1854528] - [powerpc] powerpc/ptrace: split out VSX related functions (Desnes Augusto Nunes do Rosario) [1854528] - [powerpc] powerpc/ptrace: drop PARAMETER_SAVE_AREA_OFFSET (Desnes Augusto Nunes do Rosario) [1854528] - [powerpc] powerpc/ptrace: drop unnecessary #ifdefs CONFIG_PPC64 (Desnes Augusto Nunes do Rosario) [1854528] - [powerpc] powerpc/ptrace: remove unused header includes (Desnes Augusto Nunes do Rosario) [1854528] - [powerpc] powerpc: Move ptrace into a subdirectory (Desnes Augusto Nunes do Rosario) [1854528] - [powerpc] powerpc/watchpoint: Don't call dar_within_range() for Book3S (Desnes Augusto Nunes do Rosario) [1854528] - [tools] selftests/powerpc: Enable range tests on 8xx in ptrace-hwbreak.c selftest (Desnes Augusto Nunes do Rosario) [1854528] - [powerpc] powerpc/hw_breakpoints: Rewrite 8xx breakpoints to allow any address range size (Desnes Augusto Nunes do Rosario) [1854528] - [tools] powerpc/watchpoint: Support for 8xx in ptrace-hwbreak.c selftest (Desnes Augusto Nunes do Rosario) [1854528] - [tools] powerpc/watchpoint: Add DAR outside test in perf-hwbreak.c selftest (Desnes Augusto Nunes do Rosario) [1854528] - [tools] selftests/powerpc: Rewrite ptrace-hwbreak.c selftest (Desnes Augusto Nunes do Rosario) [1854528] - [powerpc] powerpc: permanently include 8xx registers in reg.h (Desnes Augusto Nunes do Rosario) [1854528] - [powerpc] powerpc/ptrace: Simplify vr_get/set() to avoid GCC warning (Desnes Augusto Nunes do Rosario) [1854528] - [powerpc] powerpc/64: Interrupts save PPR on stack rather than thread_struct (Desnes Augusto Nunes do Rosario) [1854528] - [powerpc] powerpc: Use SWITCH_FRAME_SIZE for prom and rtas entry (Desnes Augusto Nunes do Rosario) [1854528] - [powerpc] powerpc/ptrace: Don't use sizeof(struct pt_regs) in ptrace code (Desnes Augusto Nunes do Rosario) [1854528] - [powerpc] powerpc: Split user/kernel definitions of struct pt_regs (Desnes Augusto Nunes do Rosario) [1854528] - [powerpc] powerpc: declare set_breakpoint() static (Desnes Augusto Nunes do Rosario) [1854528] - [tools] perf vendor events power9: Added nest imc metric events (Michael Petlan) [1780258] - [powerpc] powerpc/perf: Fix crashes with generic_compat_pmu & BHRB (Michael Petlan) [1854525] - [powerpc] powerpc/perf: Exclude pmc5/6 from the irrelevant PMU group constraints (Michael Petlan) [1854525] - [powerpc] powerpc/powernv/idle: add a basic stop 0-3 driver for POWER10 (Michael Petlan) [1854525] - [powerpc] powerpc/kernel: Cleanup machine check function declarations (Michael Petlan) [1854525] - [powerpc] powerpc/perf: Fix soft lockups due to missed interrupt accounting (Michael Petlan) [1854525] - [powerpc] powerpc: Add POWER10 raw mode cputable entry (Michael Petlan) [1854525] - [powerpc] powerpc/powernv: Machine check handler for POWER10 (Michael Petlan) [1854525] - [powerpc] powerpc/perf: Add extended regs support for power10 platform (Michael Petlan) [1854525] - [powerpc] powerpc/perf: Add support for outputting extended regs in perf intr_regs (Michael Petlan) [1854525] - [tools] perf tools powerpc: Add support for extended regs in power10 (Michael Petlan) [1854525] - [tools] perf tools powerpc: Add support for extended register capability (Michael Petlan) [1854525] - [powerpc] powerpc/perf: Fix MMCRA_BHRB_DISABLE define for binutils < 2.28 (Michael Petlan) [1854525] - [powerpc] powerpc/perf: Initialize power10 PMU registers in cpu setup routine (Michael Petlan) [1854525] - [powerpc] powerpc/perf: BHRB control to disable BHRB logic when not used (Michael Petlan) [1854525] - [powerpc] powerpc/perf: Add Power10 BHRB filter support for PERF_SAMPLE_BRANCH_IND_CALL/COND (Michael Petlan) [1854525] - [powerpc] powerpc/perf: Ignore the BHRB kernel address filtering for P10 (Michael Petlan) [1854525] - [powerpc] powerpc/perf: power10 Performance Monitoring support (Michael Petlan) [1854525] - [powerpc] powerpc/perf: Add Power10 PMU feature to DT CPU features (Michael Petlan) [1854525] - [powerpc] powerpc/xmon: Add PowerISA v3.1 PMU SPRs (Michael Petlan) [1854525] - [powerpc] powerpc64: Break asm/percpu.h vs spinlock_types.h dependency (Greg Kurz) [1882796] - [powerpc] watchpoint: Rename current DAWR macros (Greg Kurz) [1882796] - [powerpc] kvm: ppc: book3s hv: Make struct kernel_param_ops definition const (Greg Kurz) [1882796] - [powerpc] kvm: ppc: book3s hv: simplify kvm_cma_reserve() (Greg Kurz) [1882796] - [powerpc] kvm: ppc: book3s: Fix symbol undeclared warnings (Greg Kurz) [1882796] - [powerpc] kvm: ppc: book3s: Remove redundant initialization of variable ret (Greg Kurz) [1882796] - [powerpc] kvm: ppc: book3s hv: xive: Convert to DEFINE_SHOW_ATTRIBUTE (Greg Kurz) [1882796] - [powerpc] kvm: ppc: book3s hv: Set LPCR[HDICE] before writing HDEC (Greg Kurz) [1882796] - [powerpc] kvm: ppc: book3s hv: Do not allocate HPT for a nested guest (Greg Kurz) [1882796] - [powerpc] kvm: ppc: Don't return -ENOTSUPP to userspace in ioctls (Greg Kurz) [1882796] - [powerpc] 64s: handle ISA v3.1 local copy-paste context switches (Greg Kurz) [1882796] - [powerpc] 64s: Move HMI IRQ stat from percpu variable to paca (Greg Kurz) [1882796] - [powerpc] kvm/cma: Improve kernel log during boot (Greg Kurz) [1882796] - [powerpc] kvm: Use correct CONFIG symbol in comment (Greg Kurz) [1882796] - [powerpc] watchpoint: Rename current H_SET_MODE DAWR macro (Greg Kurz) [1882796] - [tools] kvm: ppc: Fix typo on H_DISABLE_AND_GET hcall (Greg Kurz) [1882796] - [powerpc] kvm: ppc: Clean up redundant kvm_run parameters in assembly (Greg Kurz) [1882796] - [powerpc] kvm: ppc: book3s hv: Save/restore new PMU registers (Greg Kurz) [1882796] - [powerpc] perf: Add support for ISA3.1 PMU SPRs (Greg Kurz) [1882796] - [powerpc] perf: Update Power PMU cache_events to u64 type (Greg Kurz) [1882796] - [powerpc] perf: Update cpu_hw_event to use `struct` for storing MMCR registers (Greg Kurz) [1882796] - [powerpc] kvm: ppc: book3s hv: Cleanup updates for kvm vcpu MMCR (Greg Kurz) [1882796] - [powerpc] kvm: ppc: Protect kvm_vcpu_read_guest with srcu locks (Greg Kurz) [1882796] - [powerpc] kvm: ppc: book3s hv: Increase KVMPPC_NR_LPIDS on POWER8 and POWER9 (Greg Kurz) [1882796] - [powerpc] kvm: ppc: book3shv: Enable support for ISA v3.1 guests (Greg Kurz) [1882796] - [powerpc] kvm: ppc: book3s pr: Remove uninitialized_var() usage (Greg Kurz) [1882796] - [powerpc] kvm/book3s64: Fix kernel crash with nested kvm & DEBUG_VIRTUAL (Greg Kurz) [1882796] - [powerpc] book3s64/kvm: Fix secondary page table walk warning during migration (Greg Kurz) [1882796] - [powerpc] kvm: ppc: book3s: Fix some RCU-list locks (Greg Kurz) [1882796] - [powerpc] kvm: ppc: book3s hv: Ignore kmemleak false positives (Greg Kurz) [1882796] - [powerpc] kvm: ppc: Clean up redundant 'kvm_run' parameters (Greg Kurz) [1882796] - [powerpc] kvm: ppc: Remove redundant kvm_run from vcpu_arch (Greg Kurz) [1882796] - [powerpc] kvm: ppc: book3s hv: Remove redundant NULL check (Greg Kurz) [1882796] - [powerpc] Fix compile issue with force DAWR (Greg Kurz) [1882796] - [powerpc] silence a -Wcast-function-type warning in dawr_write_file_bool (Greg Kurz) [1882796] - [powerpc] kvm: ppc: book3s hv: Fix r3 corruption in h_set_dabr() (Greg Kurz) [1882796] - [powerpc] Add force enable of DAWR on P9 option (Greg Kurz) [1882796] - [documentation] powerpc: Document issues with the DAWR on POWER9 (Greg Kurz) [1882796] - [powerpc] Replace _ALIGN_UP() by ALIGN() (Greg Kurz) [1882796] - [powerpc] Replace _ALIGN_DOWN() by ALIGN_DOWN() (Greg Kurz) [1882796] - [netdrv] tg3: Fix soft lockup when tg3_reset_task() fails (Jonathan Toppins) [1899595] - [tools] tools/power turbostat: update version number (Prarit Bhargava) [1857136] - [tools] tools/power turbostat: harden against cpu hotplug (Prarit Bhargava) [1857136] - [tools] tools/power turbostat: adjust for temperature offset (Prarit Bhargava) [1857136] - [tools] tools/power turbostat: Build with _FILE_OFFSET_BITS=64 (Prarit Bhargava) [1857136] - [tools] tools/power turbostat: Support AMD Family 19h (Prarit Bhargava) [1857136] - [tools] tools/power turbostat: Remove empty columns for Jacobsville (Prarit Bhargava) [1857136] - [tools] tools/power turbostat: Add a new GFXAMHz column that exposes gt_act_freq_mhz (Prarit Bhargava) [1857136] - [tools] tools/power turbostat: Skip pc8, pc9, pc10 columns, if they are disabled (Prarit Bhargava) [1857136] - [tools] tools/power turbostat: Fix output formatting for ACPI CST enumeration (Prarit Bhargava) [1857136] - [tools] tools/power turbostat: Replace HTTP links with HTTPS ones: TURBOSTAT UTILITY (Prarit Bhargava) [1857136] - [tools] tools/power turbostat: Enable accumulate RAPL display (Prarit Bhargava) [1857136] - [tools] tools/power turbostat: Introduce functions to accumulate RAPL consumption (Prarit Bhargava) [1857136] - [tools] tools/power turbostat: Make the energy variable to be 64 bit (Prarit Bhargava) [1857136] - [tools] tools/power turbostat: Always print idle in the system configuration header (Prarit Bhargava) [1857136] - [tools] tools/power turbostat: Print /dev/cpu_dma_latency (Prarit Bhargava) [1857136] - [tools] turbostat/.gitignore: add SPDX License Identifier (Prarit Bhargava) [1857136] - [tools] tools/power turbostat: update version (Prarit Bhargava) [1857136] - [tools] tools/power turbostat: Print cpuidle information (Prarit Bhargava) [1857136] - [tools] tools/power turbostat: Fix 32-bit capabilities warning (Prarit Bhargava) [1857136] - [tools] tools/power turbostat: Fix missing SYS_LPI counter on some Chromebooks (Prarit Bhargava) [1857136] - [tools] tools/power turbostat: Fix gcc build warnings (Prarit Bhargava) [1857136] - [tools] tools/power turbostat: Support Elkhart Lake (Prarit Bhargava) [1857136] - [tools] tools/power turbostat: Support Jasper Lake (Prarit Bhargava) [1857136] - [scsi] scsi: core: Return BLK_STS_AGAIN for ALUA transitioning (Ewan Milne) [1867264] - [scsi] scsi: scsi_dh_alua: Set 'transitioning' state on Unit Attention (Ewan Milne) [1867264] - [scsi] scsi: scsi_dh_alua: Return BLK_STS_AGAIN for ALUA transitioning state (Ewan Milne) [1867264] - [block] scsi: block: Return status code in blk_mq_end_request() (Ewan Milne) [1867264] - [scsi] scsi: scsi_dh_alua: Avoid crash during alua_bus_detach() (Ewan Milne) [1877156] - [fs] gfs2: check for live vs. read-only file system in gfs2_fitrim (Abhijith Das) [1335139] - [fs] gfs2: don't initialize statfs_change inodes in spectator mode (Abhijith Das) [1335139] - [fs] gfs2: init_journal's undo directive should also undo the statfs inodes (Abhijith Das) [1335139] - [fs] gfs2: Recover statfs info in journal head (Abhijith Das) [1335139] - [fs] gfs2: lookup local statfs inodes prior to journal recovery (Abhijith Das) [1335139] - [fs] gfs2: Add fields for statfs info in struct gfs2_log_header_host (Abhijith Das) [1335139] - [block] nbd: don't update block size after device is started (Ming Lei) [1891363] - [platform] platform/x86: thinkpad_acpi: lap or desk mode interface (David Arcari) [1889642] - [infiniband] IB/mlx4: Convert rej_tmout radix-tree to XArray (Alaa Hleihel) [1858564] - [infiniband] IB/mlx4: Adjust delayed work when a dup is observed (Alaa Hleihel) [1858564] - [infiniband] IB/mlx4: Add support for REJ due to timeout (Alaa Hleihel) [1858564] - [infiniband] IB/mlx4: Fix starvation in paravirt mux/demux (Alaa Hleihel) [1858564] - [infiniband] IB/mlx4: Separate tunnel and wire bufs parameters (Alaa Hleihel) [1858564] - [infiniband] IB/mlx4: Add support for MRA (Alaa Hleihel) [1858564] - [infiniband] IB/mlx4: Add and improve logging (Alaa Hleihel) [1858564] - [netdrv] net: ethernet: mlx4: Avoid assigning a value to ring_cons but not used it anymore in mlx4_en_xmit() (Alaa Hleihel) [1858564] - [netdrv] net: ethernet: mlx4: Fix memory allocation in mlx4_buddy_init() (Alaa Hleihel) [1858564] - [infiniband] treewide: Use fallthrough pseudo-keyword (Alaa Hleihel) [1858564] - [netdrv] net/mlx4: Use fallthrough pseudo-keyword (Alaa Hleihel) [1858564] - [netdrv] mlx4: convert to new udp_tunnel_nic infra (Alaa Hleihel) [1858564] - [netdrv] mlx4: Mark PM functions as __maybe_unused (Alaa Hleihel) [1858564] - [netdrv] mlx4: use generic power management (Alaa Hleihel) [1858564] - [netdrv] mlx4: disable device on shutdown (Alaa Hleihel) [1858564 1858563] - [include] IB/mlx4: Replace zero-length array with flexible-array (Alaa Hleihel) [1858564 1858563] - [netdrv] net: mlx4: remove unneeded variable "err" in mlx4_en_ethtool_add_mac_rule() (Alaa Hleihel) [1858564 1858563] - [netdrv] net: mlx4: remove unneeded variable "err" in mlx4_en_get_rxfh() (Alaa Hleihel) [1858564 1858563] - [netdrv] net/mlx4_en: use napi_complete_done() in TX completion (Alaa Hleihel) [1858564 1858563] - [netdrv] net/mlx4_en: avoid indirect call in TX completion (Alaa Hleihel) [1858564 1858562] - [infiniband] RDMA/mlx4: Delete duplicated offsetofend implementation (Alaa Hleihel) [1858564 1858562] - [netdrv] net: mlx4: reject unsupported coalescing params (Alaa Hleihel) [1858564 1858562] - [hwmon] hwmon: (amd_energy) match for supported models (David Arcari) [1860387] - [hwmon] hwmon: (amd_energy) Missing platform_driver_unregister() on error in amd_energy_init() (David Arcari) [1860387] - [hwmon] hwmon: Add amd_energy driver to report energy counters (David Arcari) [1860387] - [include] include/asm-generic/topology.h: guard cpumask_of_node() macro argument (David Arcari) [1860387]- [x86] x86/dumpstack: Fix misleading instruction pointer error message (Kenneth Yin) [1903506] - [powerpc] powerpc/powernv/opal-dump : Use IRQ_HANDLED instead of numbers in interrupt handler (Diego Domingos) [1891822] - [powerpc] powerpc/powernv/dump: Handle multiple writes to ack attribute (Diego Domingos) [1891822] - [powerpc] powerpc/powernv/dump: Fix race while processing OPAL dump (Diego Domingos) [1891822] - [powerpc] powerpc/opal_elog: Handle multiple writes to ack attribute (Diego Domingos) [1891822] - [powerpc] powerpc/powernv/elog: Fix race while processing OPAL error log event (Diego Domingos) [1891822] - [hid] HID: logitech-dj: Fix an error in mse_bluetooth_descriptor (Benjamin Tissoires) [1885560] - [hid] HID: logitech-dj: Fix Dinovo Mini when paired with a MX5x00 receiver (Benjamin Tissoires) [1885560] - [hid] HID: logitech-dj: Handle quad/bluetooth keyboards with a builtin trackpad (Benjamin Tissoires) [1885560] - [hid] HID: logitech-hidpp: Add PID for MX Anywhere 2 (Benjamin Tissoires) [1885560] - [hid] HID: wacom: Avoid entering wacom_wac_pen_report for pad / battery (Benjamin Tissoires) [1885560] - [hid] HID: ite: Add USB id match for Acer One S1003 keyboard dock (Benjamin Tissoires) [1885560] - [hid] HID: multitouch: Lenovo X1 Tablet Gen3 trackpoint and buttons (Benjamin Tissoires) [1885560] - [hid] HID: hid-input: fix stylus battery reporting (Benjamin Tissoires) [1885560] - [hid] HID: roccat: add bounds checking in kone_sysfs_write_settings() (Benjamin Tissoires) [1885560] - [hid] HID: core: Sanitize event code and type when mapping input (Benjamin Tissoires) [1885560] - [hid] HID: core: Correctly handle ReportSize being zero (Benjamin Tissoires) [1885560] - [hid] HID: elan: Fix memleak in elan_input_configured (Benjamin Tissoires) [1885560] - [hid] HID: microsoft: Add rumble support for the 8bitdo SN30 Pro+ controller (Benjamin Tissoires) [1885560] - [hid] HID: quirks: Set INCREMENT_USAGE_ON_DUPLICATE for all Saitek X52 devices (Benjamin Tissoires) [1885560] - [hid] Revert "HID: usbhid: do not sleep when opening device" (Benjamin Tissoires) [1885560] - [hid] HID: hiddev: Fix slab-out-of-bounds write in hiddev_ioctl_usage() (Benjamin Tissoires) [1885560] - [hid] HID: quirks: Always poll three more Lenovo PixArt mice (Benjamin Tissoires) [1885560] - [hid] HID: i2c-hid: Always sleep 60ms after I2C_HID_PWR_ON commands (Benjamin Tissoires) [1885560] - [hid] HID: macally: Constify macally_id_table (Benjamin Tissoires) [1885560] - [hid] HID: cougar: Constify cougar_id_table (Benjamin Tissoires) [1885560] - [hid] HID: quirks: add NOGET quirk for Logitech GROUP (Benjamin Tissoires) [1885560] - [hid] HID: Replace HTTP links with HTTPS ones (Benjamin Tissoires) [1885560] - [hid] HID: udraw-ps3: Replace HTTP links with HTTPS ones (Benjamin Tissoires) [1885560] - [hid] HID: input: Fix devices that return multiple bytes in battery report (Benjamin Tissoires) [1885560] - [hid] HID: lenovo: Fix spurious F23 key press report during resume from suspend (Benjamin Tissoires) [1885560] - [hid] HID: lenovo: Add ThinkPad 10 Ultrabook Keyboard fn_lock support (Benjamin Tissoires) [1885560] - [hid] HID: lenovo: Add ThinkPad 10 Ultrabook Keyboard support (Benjamin Tissoires) [1885560] - [hid] HID: lenovo: Rename fn_lock sysfs attr handlers to make them generic (Benjamin Tissoires) [1885560] - [hid] HID: lenovo: Factor out generic parts of the LED code (Benjamin Tissoires) [1885560] - [hid] HID: lenovo: Merge tpkbd and cptkbd data structures (Benjamin Tissoires) [1885560] - [hid] HID: logitech-hidpp: avoid repeated "multiplier = " log messages (Benjamin Tissoires) [1885560] - [hid] HID: logitech: Use HIDPP_RECEIVER_INDEX instead of 0xff (Benjamin Tissoires) [1885560] - [hid] HID: intel-ish-hid: Replace PCI_DEV_FLAGS_NO_D3 with pci_save_state (Benjamin Tissoires) [1885560] - [hid] HID: quirks: Ignore Simply Automated UPB PIM (Benjamin Tissoires) [1885560] - [hid] HID: apple: Disable Fn-key key-re-mapping on clone keyboards (Benjamin Tissoires) [1885560] - [hid] HID: Wiimote: Treat the d-pad as an analogue stick (Benjamin Tissoires) [1885560] - [hid] HID: steam: fixes race in handling device list (Benjamin Tissoires) [1885560] - [hid] HID: magicmouse: do not set up autorepeat (Benjamin Tissoires) [1885560] - [hid] HID: alps: support devices with report id 2 (Benjamin Tissoires) [1885560] - [hid] HID: quirks: Always poll Obins Anne Pro 2 keyboard (Benjamin Tissoires) [1885560] - [hid] HID: input: do not run GET_REPORT unless there's a Resolution Multiplier (Benjamin Tissoires) [1885560] - [hid] HID: i2c-hid: add Mediacom FlexBook edge13 to descriptor override (Benjamin Tissoires) [1885560] - [hid] HID: usbhid: remove redundant assignment to variable retval (Benjamin Tissoires) [1885560] - [hid] HID: usbhid: do not sleep when opening device (Benjamin Tissoires) [1885560] - [hid] HID: multitouch: Remove MT_CLS_WIN_8_DUAL (Benjamin Tissoires) [1885560] - [hid] HID: sony: Fix for broken buttons on DS3 USB dongles (Benjamin Tissoires) [1885560] - [hid] HID: Add quirks for Trust Panora Graphic Tablet (Benjamin Tissoires) [1885560] - [hid] HID: apple: Swap the Fn and Left Control keys on Apple keyboards (Benjamin Tissoires) [1885560] - [hid] HID: i2c-hid: add Schneider SCL142ALM to descriptor override (Benjamin Tissoires) [1885560] - [hid] HID: intel-ish-hid: avoid bogus uninitialized-variable warning (Benjamin Tissoires) [1885560] - [hid] HID: quirks: Add HID_QUIRK_NO_INIT_REPORTS quirk for Dell K12A keyboard-dock (Benjamin Tissoires) [1885560] - [hid] HID: i2c-hid: reset Synaptics SYNA2393 on resume (Benjamin Tissoires) [1885560] - [hid] HID: usbhid: Fix race between usbhid_close() and usbhid_stop() (Benjamin Tissoires) [1885560] - [hid] HID: alps: ALPS_1657 is too specific; use U1_UNICORN_LEGACY instead (Benjamin Tissoires) [1885560] - [hid] HID: alps: Add AUI1657 device ID (Benjamin Tissoires) [1885560] - [hid] HID: fix typo in Kconfig (Benjamin Tissoires) [1885560] - [hid] HID: logitech: Add support for Logitech G11 extra keys (Benjamin Tissoires) [1885560] - [hid] HID: multitouch: add eGalaxTouch P80H84 support (Benjamin Tissoires) [1885560] - [hid] HID: logitech: drop outdated references to unifying receivers (Benjamin Tissoires) [1885560] - [hid] HID: rmi: Simplify an error handling path in 'rmi_hid_read_block()' (Benjamin Tissoires) [1885560] - [hid] HID: intel-ish-hid: hbm.h: Replace zero-length array with flexible-array member (Benjamin Tissoires) [1885560] - [hid] HID: intel-ish-hid: ishtp-dev.h: Replace zero-length array with flexible-array member (Benjamin Tissoires) [1885560] - [hid] HID: Add driver fixing Glorious PC Gaming Race mouse report descriptor (Benjamin Tissoires) [1885560] - [hid] HID: lg-g15: Do not fail the probe when we fail to disable F# emulation (Benjamin Tissoires) [1885560] - [hid] HID: fix Kconfig word ordering (Benjamin Tissoires) [1885560] - [hid] HID: add ALWAYS_POLL quirk to lenovo pixart mouse (Benjamin Tissoires) [1885560] - [hid] HID: google: add moonball USB id (Benjamin Tissoires) [1885560] - [hid] HID: appleir: Use devm_kzalloc() instead of kzalloc() (Benjamin Tissoires) [1885560] - [hid] HID: appleir: Remove unnecessary goto label (Benjamin Tissoires) [1885560] - [hid] HID: hid-sensor-custom: Use scnprintf() for avoiding potential buffer overflow (Benjamin Tissoires) [1885560] - [hid] HID: hid-picolcd_fb: Use scnprintf() for avoiding potential buffer overflow (Benjamin Tissoires) [1885560] - [hid] HID: logitech-dj: add support for the static device in the Powerplay mat/receiver (Benjamin Tissoires) [1885560] - [hid] HID: hid-bigbenff: fix race condition for scheduled work during removal (Benjamin Tissoires) [1885560] - [hid] HID: hid-bigbenff: call hid_hw_stop() in case of error (Benjamin Tissoires) [1885560] - [hid] HID: hid-bigbenff: fix general protection fault caused by double kfree (Benjamin Tissoires) [1885560] - [hid] HID: i2c-hid: add Trekstor Surfbook E11B to descriptor override (Benjamin Tissoires) [1885560] - [hid] HID: alps: Fix an error handling path in 'alps_input_configured()' (Benjamin Tissoires) [1885560] - [hid] HID: hiddev: Fix race in in hiddev_disconnect() (Benjamin Tissoires) [1885560] - [hid] HID: logitech-dj: add debug msg when exporting a HID++ report descriptors (Benjamin Tissoires) [1885560] - [hid] HID: quirks: Remove ITE 8595 entry from hid_have_special_driver (Benjamin Tissoires) [1885560] - [include] HID: core: increase HID report buffer size to 8KiB (Benjamin Tissoires) [1885560] - [hid] HID: core: fix off-by-one memset in hid_report_raw_event() (Benjamin Tissoires) [1885560] - [hid] HID: apple: Add support for recent firmware on Magic Keyboards (Benjamin Tissoires) [1885560] - [hid] HID: ite: Only bind to keyboard USB interface on Acer SW5-012 keyboard dock (Benjamin Tissoires) [1885560] - [hid] HID: logitech-hidpp: BatteryVoltage: only read chargeStatus if extPower is active (Benjamin Tissoires) [1885560] - [hid] HID: logitech-hidpp: avoid duplicate error handling code in 'hidpp_probe()' (Benjamin Tissoires) [1885560] - [hid] HID: hidraw, uhid: Always report EPOLLOUT (Benjamin Tissoires) [1885560] - [hid] HID: steam: Fix input device disappearing (Benjamin Tissoires) [1885560] - [hid] hid-logitech-hidpp: read battery voltage from newer devices (Benjamin Tissoires) [1885560] - [hid] HID: logitech: Add MX Master 3 Mouse (Benjamin Tissoires) [1885560] - [hid] HID: logitech-hidpp: Support WirelessDeviceStatus connect events (Benjamin Tissoires) [1885560] - [hid] HID: logitech-hidpp: Support translations from short to long reports (Benjamin Tissoires) [1885560] - [hid] HID: hiddev: fix mess in hiddev_open() (Benjamin Tissoires) [1885560] - [hid] HID: hid-input: clear unmapped usages (Benjamin Tissoires) [1885560] - [hid] HID: Add quirk for incorrect input length on Lenovo Y720 (Benjamin Tissoires) [1885560] - [hid] HID: ite: Add USB id match for Acer SW5-012 keyboard dock (Benjamin Tissoires) [1885560] - [hid] HID: Add quirk for Xin-Mo Dual Controller (Benjamin Tissoires) [1885560] - [hid] HID: hidraw: add support uniq ioctl (Benjamin Tissoires) [1885560] - [hid] HID: Fix slab-out-of-bounds read in hid_field_extract (Benjamin Tissoires) [1885560] - [hid] HID: picoLCD: constify fb ops (Benjamin Tissoires) [1885560] - [hid] HID: uhid: Fix returning EPOLLOUT from uhid_char_poll (Benjamin Tissoires) [1885560] - [hid] HID: hidraw: Fix returning EPOLLOUT from hidraw_poll (Benjamin Tissoires) [1885560] - [hid] HID: rmi: Check that the RMI_STARTED bit is set before unregistering the RMI transport device (Benjamin Tissoires) [1885560] - [hid] HID: quirks: remove hid-led devices from hid_have_special_driver (Benjamin Tissoires) [1885560] - [hid] HID: i2c-hid: Reset ALPS touchpads on resume (Benjamin Tissoires) [1885560] - [hid] HID: i2c-hid: fix no irq after reset on raydium 3118 (Benjamin Tissoires) [1885560] - [hid] HID: logitech-hidpp: Silence intermittent get_battery_capacity errors (Benjamin Tissoires) [1885560] - [hid] HID: i2c-hid: remove orphaned member sleep_delay (Benjamin Tissoires) [1885560] - [hid] HID: quirks: Add quirk for HP MSU1465 PIXART OEM mouse (Benjamin Tissoires) [1885560] - [hid] HID: core: check whether Usage Page item is after Usage ID items (Benjamin Tissoires) [1885560] - [hid] HID: i2c-hid: Send power-on command after reset (Benjamin Tissoires) [1885560] - [hid] HID: i2c-hid: Remove runtime power management (Benjamin Tissoires) [1885560] - [hid] HID: google: Detect base folded usage instead of hard-coding whiskers (Benjamin Tissoires) [1885560] - [hid] HID: google: add magnemite/masterball USB ids (Benjamin Tissoires) [1885560] - [hid] HID: logitech: Add depends on LEDS_CLASS to Logitech Kconfig entry (Benjamin Tissoires) [1885560] - [hid] HID: lg-g15: Add support for the G510's M1-M3 and MR LEDs (Benjamin Tissoires) [1885560] - [hid] HID: lg-g15: Add support for controlling the G510's RGB backlight (Benjamin Tissoires) [1885560] - [hid] HID: lg-g15: Add support for the G510 keyboards' gaming keys (Benjamin Tissoires) [1885560] - [hid] HID: lg-g15: Add support for the M1-M3 and MR LEDs (Benjamin Tissoires) [1885560] - [hid] HID: lg-g15: Add keyboard and LCD backlight control (Benjamin Tissoires) [1885560] - [hid] HID: Add driver for Logitech gaming keyboards (G15, G15 v2) (Benjamin Tissoires) [1885560] - [hid] HID: hidraw: replace printk() with corresponding pr_xx() variant (Benjamin Tissoires) [1885560] - [hid] HID: prodikeys: make array keys static const, makes object smaller (Benjamin Tissoires) [1885560] - [hid] HID: google: whiskers: signal tablet mode on connect (Benjamin Tissoires) [1885560] - [hid] HID: google: whiskers: signal tablet mode switch on disconnect (Benjamin Tissoires) [1885560] - [hid] HID: google: whiskers: more robust tablet mode detection (Benjamin Tissoires) [1885560] - [hid] HID: core: fix dmesg flooding if report field larger than 32bit (Benjamin Tissoires) [1885560] - [include] HID: core: Add printk_once variants to hid_warn() etc (Benjamin Tissoires) [1885560] - [include] HID: core: reformat and reduce hid_printk macros (Benjamin Tissoires) [1885560] - [hid] HID: i2c-hid: modify quirks for weida's devices (Benjamin Tissoires) [1885560] - [hid] hid-logitech-dj: add the new Lightspeed receiver (Benjamin Tissoires) [1885560] - [hid] HID: logitech-dj: add support of the G700(s) receiver (Benjamin Tissoires) [1885560] - [hid] HID: do not call hid_set_drvdata(hdev, NULL) in drivers (Benjamin Tissoires) [1885560] - [hid] HID: logitech-dj: extend consumer usages range (Benjamin Tissoires) [1885560] - [hid] hiddev: Return EPOLLOUT from hiddev_poll (Benjamin Tissoires) [1885560] - [hid] hidraw: Return EPOLLOUT from hidraw_poll (Benjamin Tissoires) [1885560] - [input] Input: i8042 - add nopnp quirk for Acer Aspire 5 A515 (Benjamin Tissoires) [1885560] - [input] Input: i8042 - add Entroware Proteus EL07R4 to nomux and reset lists (Benjamin Tissoires) [1885560] - [input] input: i8042 - Remove special Cayman handling (Benjamin Tissoires) [1885560] - [input] Input: elan_i2c - only increment wakeup count on touch (Benjamin Tissoires) [1885560] - [input] Input: elan_i2c - add ic type 0x15 (Benjamin Tissoires) [1885560] - [input] Input: elan_i2c - add support for high resolution reports (Benjamin Tissoires) [1885560] - [input] Input: elan_i2c - do not constantly re-query pattern ID (Benjamin Tissoires) [1885560] - [input] Input: elan_i2c - add firmware update info for ICs 0x11, 0x13, 0x14 (Benjamin Tissoires) [1885560] - [input] Input: elan_i2c - handle firmware updated on newer ICs (Benjamin Tissoires) [1885560] - [input] Input: elan_i2c - add support for different firmware page sizes (Benjamin Tissoires) [1885560] - [input] Input: elan_i2c - fix detecting IAP version on older controllers (Benjamin Tissoires) [1885560] - [input] Input: elan_i2c - handle devices with patterns above 1 (Benjamin Tissoires) [1885560] - [input] Input: elan_i2c - make fetching IC type of older controllers more robust (Benjamin Tissoires) [1885560] - [input] Input: elan_i2c - handle firmware not implementing "get pattern" command (Benjamin Tissoires) [1885560] - [input] Input: i8042 - add Lenovo XiaoXin Air 12 to i8042 nomux list (Benjamin Tissoires) [1885560] - [input] Input: elantech - remove redundant assignments to variable error (Benjamin Tissoires) [1885560] - [input] Input: synaptics - enable InterTouch for ThinkPad X1E 1st gen (Benjamin Tissoires) [1885560] - [uapi] Input: add `SW_MACHINE_COVER` (Benjamin Tissoires) [1885560] - [input] input: i8042 - Remove special PowerPC handling (Benjamin Tissoires) [1885560] - [input] Input: synaptics - add a second working PNP_ID for Lenovo T470s (Benjamin Tissoires) [1885560] - [input] Input: introduce input_mt_report_slot_inactive() (Benjamin Tissoires) [1885560] - [input] Input: i8042 - add ThinkPad S230u to i8042 reset list (Benjamin Tissoires) [1885560] - [input] Revert "Input: i8042 - add ThinkPad S230u to i8042 nomux list" (Benjamin Tissoires) [1885560] - [input] Input: i8042 - attach fwnode to serio i8042 kbd device (Benjamin Tissoires) [1885560] - [input] Input: i8042 - add ThinkPad S230u to i8042 nomux list (Benjamin Tissoires) [1885560] - [uapi] Input: update SPDX tag for input-event-codes.h (Benjamin Tissoires) [1885560] - [input] Input: i8042 - add Acer Aspire 5738z to nomux list (Benjamin Tissoires) [1885560] - [uapi] Input: move the new KEY_SELECTIVE_SCREENSHOT keycode (Benjamin Tissoires) [1885560] - [input] Input: synaptics - enable RMI on HP Envy 13-ad105ng (Benjamin Tissoires) [1885560] - [uapi] Input: allocate keycode for "Selective Screenshot" key (Benjamin Tissoires) [1885560] - [input] Input: synaptics - remove the LEN0049 dmi id from topbuttonpad list (Benjamin Tissoires) [1885560] - [input] Input: synaptics - enable SMBus on ThinkPad L470 (Benjamin Tissoires) [1885560] - [input] Input: synaptics - switch T470s to RMI4 by default (Benjamin Tissoires) [1885560] - [input] Input: input_event - fix struct padding on sparc64 (Benjamin Tissoires) [1885560] - [uapi] Input: add privacy screen toggle keycode (Benjamin Tissoires) [1885560] - [input] Input: synaptics - switch another X1 Carbon 6 to RMI/SMbus (Benjamin Tissoires) [1885560] - [uapi] Input: Add event-codes for macro keys found on various keyboards (Benjamin Tissoires) [1885560] - [input] Input: i8042 - enable wakeup on a stable struct device (Benjamin Tissoires) [1885560] - [input] Input: psmouse - drop all unneeded functions from mouse headers (Benjamin Tissoires) [1885560] - [input] Input: remove dev_err() usage after platform_get_irq() (Benjamin Tissoires) [1885560] - [input] Input: synaptics - fix a typo (Benjamin Tissoires) [1885560] - [input] Input: elan_i2c - switch to using devm_add_action_or_reset() (Benjamin Tissoires) [1885560] - [input] Input: elan_i2c - switch to using devm_device_add_groups() (Benjamin Tissoires) [1885560] - [power] power: supply: core: Add Standard, Adaptive, and Custom charge types (Benjamin Tissoires) [1885560] - [scsi] scsi: mpt3sas: Fix timeouts observed while reenabling IRQ (Tomas Henzl) [1880114] - [fs] ext4: handle option set by mount flags correctly (Pavel Reichl) [1848084] - [fs] xfs: preserve inode versioning across remounts (Pavel Reichl) [1848084] - [kernel] kheaders: explain why include/config/autoconf.h is excluded from md5sum (Jiri Olsa) [1899585] - [kernel] kheaders: remove the last bashism to allow sh to run it (Jiri Olsa) [1899585] - [kernel] kheaders: optimize header copy for in-tree builds (Jiri Olsa) [1899585] - [kernel] kheaders: optimize md5sum calculation for in-tree builds (Jiri Olsa) [1899585] - [kernel] kheaders: remove unneeded 'cat' command piped to 'head' / 'tail' (Jiri Olsa) [1899585] - [kernel] kheaders: substituting --sort in archive creation (Jiri Olsa) [1899585] - [kernel] kheaders: make headers archive reproducible (Jiri Olsa) [1899585] - [kernel] kheaders: include only headers into kheaders_data.tar.xz (Jiri Olsa) [1899585] - [kernel] kheaders: remove meaningless -R option of 'ls' (Jiri Olsa) [1899585] - [kernel] kheaders: Do not regenerate archive if config is not changed (Jiri Olsa) [1899585] - [kernel] kheaders: Move from proc to sysfs (Jiri Olsa) [1899585] - [kernel] kernel/Makefile: don't assume that kernel/gen_ikh_data.sh is executable (Jiri Olsa) [1899585] - [init] init/config: Do not select BUILD_BIN2C for IKCONFIG (Jiri Olsa) [1899585] - [kernel] Provide in-kernel headers to make extending kernel easier (Jiri Olsa) [1899585] - [tty] pty: do tty_flip_buffer_push without port->lock in pty_write (Artem Savkov) [1787975] - [virtio] virtio_balloon: fix sparse warning (Nico Pache) [1839055] - [virtio] virtio_balloon: fix up endian-ness for free cmd id (Nico Pache) [1839055] - [virtio] virtio-balloon: Document byte ordering of poison_val (Nico Pache) [1839055] - [virtio] virtio-mmio: Reject invalid IRQ 0 command line argument (Nico Pache) [1839055] - [virtio] virtio-balloon: Disable free page reporting if page poison reporting is not enabled (Nico Pache) [1839055] - [virtio] virtio-mmio: Delete an error message in vm_find_vqs() (Nico Pache) [1839055] - [virtio] virtio: add VIRTIO_RING_NO_LEGACY (Nico Pache) [1839055] - [virtio] virtio-balloon: Avoid using the word 'report' when referring to free page hinting (Nico Pache) [1839055] - [virtio] virtio-balloon: make virtballoon_free_page_report() static (Nico Pache) [1839055] - [virtio] virtio-balloon: switch back to OOM handler for VIRTIO_BALLOON_F_DEFLATE_ON_OOM (Nico Pache) [1839055] - [documentation] mm/page_reporting: add free page reporting documentation (Nico Pache) [1839055] - [mm] mm/page_reporting: add budget limit on how many pages can be reported per pass (Nico Pache) [1839055] - [mm] mm/page_reporting: rotate reported pages to the tail of the list (Nico Pache) [1839055] - [virtio] virtio-balloon: add support for providing free page reports to host (Nico Pache) [1839055] - [virtio] virtio-balloon: pull page poisoning config out of free page hinting (Nico Pache) [1839055] - [mm] mm: introduce Reported pages (Nico Pache) [1839055] - [mm] mm: add function __putback_isolated_page (Nico Pache) [1839055] - [mm] mm: use zone and order instead of free area in free_list manipulators (Nico Pache) [1839055] - [mm] mm: adjust shuffle code to allow for future coalescing (Nico Pache) [1839055] - [virtio] virtio_balloon: Adjust label in virtballoon_probe (Nico Pache) [1839055] - [virtio] virtio_ring: Fix mem leak with vring_new_virtqueue() (Nico Pache) [1839055] - [virtio] virtio_balloon: Fix memory leaks on errors in virtballoon_probe() (Nico Pache) [1839055] - [virtio] virtio-balloon: Fix memory leak when unloading while hinting is in progress (Nico Pache) [1839055] - [virtio] virtio_balloon: prevent pfn array overflow (Nico Pache) [1839055] - [virtio] virtio-pci: check name when counting MSI-X vectors (Nico Pache) [1839055] - [virtio] virtio-balloon: initialize all vq callbacks (Nico Pache) [1839055] - [virtio] virtio-mmio: convert to devm_platform_ioremap_resource (Nico Pache) [1839055] - [virtio] virtio_balloon: divide/multiply instead of shifts (Nico Pache) [1839055] - [virtio] virtio_balloon: name cleanups (Nico Pache) [1839055] - [virtio] virtio_balloon: fix shrinker count (Nico Pache) [1839055] - [virtio] virtio_balloon: fix shrinker scan number of pages (Nico Pache) [1839055] - [virtio] virtio-mmio: add error check for platform_get_irq (Nico Pache) [1839055] - [virtio] virtio: Fix indentation of VIRTIO_MMIO (Nico Pache) [1839055] - [virtio] virtio/virtio_ring: do some comment fixes (Nico Pache) [1839055] - [virtio] virtio_pci: fix a NULL pointer reference in vp_del_vqs (Nico Pache) [1839055] - [virtio] virtio: hint if callbacks surprisingly might sleep (Nico Pache) [1839055] - [virtio] virtio_balloon: remove the unnecessary 0-initialization (Nico Pache) [1839055] - [virtio] virtio-balloon: improve update_balloon_size_func (Nico Pache) [1839055] - [virtio] virtio-balloon: tweak config_changed implementation (Nico Pache) [1839055] - [misc] virtio: don't allocate vqs when names= NULL (Nico Pache) [1839055] - [virtio] virtio_pci: use queue idx instead of array idx to set up the vq (Nico Pache) [1839055] - [virtio] virtio: remove deprecated VIRTIO_PCI_CONFIG() (Nico Pache) [1839055] - [mm] mm/page_poison: expose page_poisoning_enabled to kernel modules (Nico Pache) [1839055] - [virtio] virtio-balloon: VIRTIO_BALLOON_F_PAGE_POISON (Nico Pache) [1839055] - [virtio] virtio-balloon: VIRTIO_BALLOON_F_FREE_PAGE_HINT (Nico Pache) [1839055] - [virtio] virtio: pci-legacy: Validate queue pfn (Nico Pache) [1839055] - [virtio] virtio: mmio-v1: Validate queue PFN (Nico Pache) [1839055] - [virtio] virtio_balloon: replace oom notifier with shrinker (Nico Pache) [1839055] - [virtio] virtio-balloon: kzalloc the vb struct (Nico Pache) [1839055] - [virtio] virtio-balloon: remove BUG() in init_vqs (Nico Pache) [1839055] - [mm] mm, debug_pagealloc: use a page type instead of page_ext flag (Nico Pache) [1839055] - [mm] mm, page_alloc: more extensive free page checking with debug_pagealloc (Nico Pache) [1839055] - [mm] mm, debug_pagelloc: use static keys to enable debugging (Nico Pache) [1839055] - [include] include/linux/page_ext.h: drop definition of unused PAGE_EXT_DEBUG_POISON (Nico Pache) [1839055] - [tty] vt: vt_ioctl: fix use-after-free in vt_in_use() (Vladis Dronov) [1875585] - [tty] vt: vt_ioctl: fix VT_DISALLOCATE freeing in-use virtual console (Vladis Dronov) [1875585] - [tty] vt: ioctl, switch VT_IS_IN_USE and VT_BUSY to inlines (Vladis Dronov) [1875585] - [tty] vt: selection, introduce vc_is_sel (Vladis Dronov) [1875585] - [fs] gfs2: Don't sleep during glock hash walk (Andreas Grunbacher) [1871173]- [powerpc] powerpc/64s/hash: Fix hash_preload running with interrupts enabled (Diego Domingos) [1884152] - [powerpc] powerpc/pseries: Avoid using addr_to_pfn in real mode (Diego Domingos) [1822675] - [powerpc] powerpc/pseries: Handle UE event for memcpy_mcsafe (Diego Domingos) [1822675] - [powerpc] powerpc/pseries: Fix MCE handling on pseries (Diego Domingos) [1822675] - [powerpc] powerpc/64s/pseries: machine check convert to use common event code (Diego Domingos) [1822675] - [powerpc] powerpc/powernv/mce: Print additional information about MCE error (Diego Domingos) [1822675] - [powerpc] powerpc/powernv/mce: Print correct severity for MCE error (Diego Domingos) [1822675] - [powerpc] powerpc/64s: Report SLB multi-hit rather than parity error (Diego Domingos) [1822675] - [powerpc] powerpc/powernv/mce: Reduce MCE console logs to lesser lines (Diego Domingos) [1822675] - [powerpc] powerpc/pseries/mce: Improve array initialization (Diego Domingos) [1822675] - [powerpc] powerpc/pseries/mce: Fix misleading print for TLB mutlihit (Diego Domingos) [1822675] - [netdrv] i40e: fix crash when Rx descriptor count is changed (Jiri Benc) [1882708] - [netdrv] virtio_net: Fix out of bounds access of sq (Jiri Benc) [1882708] - [tools] tools/bpftool: Fix attaching flow dissector (Jiri Benc) [1882708] - [docs] bpf: Use valid and new links in index.rst (Jiri Benc) [1882708] - [netdrv] netdevsim: fix unbalaced locking in nsim_create() (Jiri Benc) [1882708] - [net] bpfilter: Allow to build bpfilter_umh as a module without static library (Jiri Benc) [1882708] - [net] bpf, netns: Fix use-after-free in pernet pre_exit callback (Jiri Benc) [1882708] - [net] xsk: Use dma_need_sync instead of reimplenting it (Jiri Benc) [1882708] - [net] xsk: Remove a double pool->dev assignment in xp_dma_map (Jiri Benc) [1882708] - [net] xsk: Replace the cheap_dma flag with a dma_need_sync flag (Jiri Benc) [1882708] - [net] dma-mapping: Add a new dma_need_sync API (Jiri Benc) [1882708] - [tools] selftests: bpf: Pass program to bpf_prog_detach in flow_dissector (Jiri Benc) [1882708] - [tools] selftests: bpf: Pass program and target_fd in flow_dissector_reattach (Jiri Benc) [1882708] - [net] bpf: flow_dissector: Check value of unused flags to BPF_PROG_DETACH (Jiri Benc) [1882708] - [net] bpf: flow_dissector: Check value of unused flags to BPF_PROG_ATTACH (Jiri Benc) [1882708] - [tools] libbpf: Adjust SEC short cut for expected attach type BPF_XDP_DEVMAP (Jiri Benc) [1882708] - [tools] selftests/bpf: Test updating flow_dissector link with same program (Jiri Benc) [1882708] - [net] bpf, netns: Keep a list of attached bpf_link's (Jiri Benc) [1882708] - [net] bpf, netns: Keep attached programs in bpf_prog_array (Jiri Benc) [1882708] - [net] flow_dissector: Pull BPF program assignment up to bpf-netns (Jiri Benc) [1882708] - [tools] libbpf: Fix CO-RE relocs against .text section (Jiri Benc) [1882708] - [tools] selftests/bpf: Move newer bpf_iter_* type redefining to a new header file (Jiri Benc) [1882708] - [net] xdp: Handle frame_sz in xdp_convert_zc_to_xdp_frame() (Jiri Benc) [1882708] - [net] xdp: Fix xsk_generic_xmit errno (Jiri Benc) [1882708] - [tools] bpf: Selftests and tools use struct bpf_devmap_val from uapi (Jiri Benc) [1882708] - [net] xdp: use shift instead of 64 bit division (Jiri Benc) [1882708] - [net] bpf: Fix unused-var without NETDEVICES (Jiri Benc) [1882708] - [net] seg6: fix seg6_validate_srh() to avoid slab-out-of-bounds (Jiri Benc) [1882708] - [net] seg6: fix SRH processing to comply with RFC8754 (Jiri Benc) [1882708] - [tools] selftests/bpf: Extend test_flow_dissector to cover link creation (Jiri Benc) [1882708] - [tools] selftests/bpf: Convert test_flow_dissector to use BPF skeleton (Jiri Benc) [1882708] - [tools] selftests/bpf, flow_dissector: Close TAP device FD after the test (Jiri Benc) [1882708] - [tools] selftests/bpf: Add tests for attaching bpf_link to netns (Jiri Benc) [1882708] - [tools] bpftool: Support link show for netns-attached links (Jiri Benc) [1882708] - [tools] bpftool: Extract helpers for showing link attach type (Jiri Benc) [1882708] - [tools] libbpf: Add support for bpf_link-based netns attachment (Jiri Benc) [1882708] - [net] bpf: Add link-based BPF program attachment to network namespace (Jiri Benc) [1882708] - [net] flow_dissector: Move out netns_bpf prog callbacks (Jiri Benc) [1882708] - [net] Introduce netns_bpf for BPF programs attached to netns (Jiri Benc) [1882708] - [net] flow_dissector: Pull locking up from prog attach callback (Jiri Benc) [1882708] - [net] bpf: Allow SO_BINDTODEVICE opt in bpf_setsockopt (Jiri Benc) [1882708] - [net] Make locking in sock_bindtoindex optional (Jiri Benc) [1882708] - [net] add sock_bindtoindex (Jiri Benc) [1882708] - [tools] selftest: Add tests for XDP programs in devmap entries (Jiri Benc) [1882708] - [net] xdp: Add xdp_txq_info to xdp_buff (Jiri Benc) [1882708] - [net] xdp: Introduce xdp_convert_frame_to_buff utility routine (Jiri Benc) [1882708] - [net] maintainers: Adjust entry in XDP SOCKETS to actual file name (Jiri Benc) [1882708] - [net] maintainers, xsk: Update AF_XDP section after moves/adds (Jiri Benc) [1882708] - [net] xsk: Explicitly inline functions and move definitions (Jiri Benc) [1882708] - [net] xdp: Simplify xdp_return_{frame, frame_rx_napi, buff} (Jiri Benc) [1882708] - [net] xsk: Remove MEM_TYPE_ZERO_COPY and corresponding code (Jiri Benc) [1882708] - [netdrv] mlx5, xsk: Migrate to new MEM_TYPE_XSK_BUFF_POOL (Jiri Benc) [1882708] - [netdrv] ixgbe, xsk: Migrate to new MEM_TYPE_XSK_BUFF_POOL (Jiri Benc) [1882708] - [netdrv] ice, xsk: Migrate to new MEM_TYPE_XSK_BUFF_POOL (Jiri Benc) [1882708] - [netdrv] i40e, xsk: Migrate to new MEM_TYPE_XSK_BUFF_POOL (Jiri Benc) [1882708] - [netdrv] i40e: Separate kernel allocated rx_bi rings from AF_XDP rings (Jiri Benc) [1882708] - [netdrv] i40e: Refactor rx_bi accesses (Jiri Benc) [1882708] - [net] xsk: Introduce AF_XDP buffer allocation API (Jiri Benc) [1867206 1882708] - [net] xsk: Move defines only used by AF_XDP internals to xsk.h (Jiri Benc) [1882708] - [net] xsk: Move driver interface to xdp_sock_drv.h (Jiri Benc) [1882708] - [net] xsk: Move xskmap.c to net/xdp/ (Jiri Benc) [1882708] - [net] xsk: Fix xsk_umem_xdp_frame_sz() (Jiri Benc) [1882708] - [tools] selftests/bpf: Convert bpf_iter_test_kern{3, 4}.c to define own bpf_iter_meta (Jiri Benc) [1882708] - [tools] selftest/bpf: Make bpf_iter selftest compilable against old vmlinux.h (Jiri Benc) [1882708] - [net] bpf: Fix too large copy from user in bpf_test_init (Jiri Benc) [1882708] - [tools] selftests/bpf: Xdp_adjust_tail add grow tail tests (Jiri Benc) [1882708] - [tools] selftests/bpf: Adjust BPF selftest for xdp_adjust_tail (Jiri Benc) [1882708] - [net] bpf: Add xdp.frame_sz in bpf_prog_test_run_xdp(). (Jiri Benc) [1882708] - [net] xdp: Clear grow memory in bpf_xdp_adjust_tail() (Jiri Benc) [1882708] - [net] xdp: Allow bpf_xdp_adjust_tail() to grow packet size (Jiri Benc) [1882708] - [netdrv] mlx5: Rx queue setup time determine frame_sz for XDP (Jiri Benc) [1882708] - [netdrv] xdp: For Intel AF_XDP drivers add XDP frame_sz (Jiri Benc) [1882708] - [netdrv] ice: Add XDP frame size to driver (Jiri Benc) [1882708] - [netdrv] i40e: Add XDP frame size to driver (Jiri Benc) [1882708] - [netdrv] ixgbevf: Add XDP frame size to VF driver (Jiri Benc) [1882708] - [netdrv] ixgbe: Add XDP frame size to driver (Jiri Benc) [1882708] - [netdrv] ixgbe: Fix XDP redirect on archs with PAGE_SIZE above 4K (Jiri Benc) [1882708] - [netdrv] virtio_net: Add XDP frame size in two code paths (Jiri Benc) [1882708] - [netdrv] vhost_net: Also populate XDP frame size (Jiri Benc) [1882708] - [netdrv] tun: Add XDP frame size (Jiri Benc) [1882708] - [netdrv] nfp: Add XDP frame size to netronome driver (Jiri Benc) [1882708] - [netdrv] net: thunderx: Add XDP frame size (Jiri Benc) [1882708] - [netdrv] mlx4: Add XDP frame size and adjust max XDP MTU (Jiri Benc) [1882708] - [netdrv] qlogic/qede: Add XDP frame size to driver (Jiri Benc) [1882708] - [netdrv] hv_netvsc: Add XDP frame size to driver (Jiri Benc) [1882708] - [netdrv] veth: Xdp using frame_sz in veth driver (Jiri Benc) [1882708] - [netdrv] veth: Adjust hard_start offset on redirect XDP frames (Jiri Benc) [1882708] - [net] xdp: Cpumap redirect use frame_sz and increase skb_tailroom (Jiri Benc) [1882708] - [net] xdp: Xdp_frame add member frame_sz and handle in convert_to_xdp_frame (Jiri Benc) [1882708] - [net] XDP-generic determining XDP frame size (Jiri Benc) [1882708] - [netdrv] sfc: Add XDP frame size (Jiri Benc) [1882708] - [netdrv] bnxt: Add XDP frame size to driver (Jiri Benc) [1882708] - [net] xdp: Add frame size to xdp_buff (Jiri Benc) [1867209 1882708] - [net] bpfilter: switch to kernel_write (Jiri Benc) [1882708] - [tools] bpf: selftests: Add bpf_iter selftests (Jiri Benc) [1882708] - [tools] bpf: selftests: Add iterator programs for ipv6_route and netlink (Jiri Benc) [1882708] - [net] bpf: Enable bpf_iter targets registering ctx argument types (Jiri Benc) [1882708] - [net] bpf: Change func bpf_iter_unreg_target() signature (Jiri Benc) [1882708] - [net] bpf: Refactor bpf_iter target registration (Jiri Benc) [1882708] - [net] bpf: Add netlink and ipv6_route bpf_iter targets (Jiri Benc) [1882708] - [net] bpfilter: check if $(CC) can link static libc in Kconfig (Jiri Benc) [1882708] - [net] bpfilter: document build requirements for bpfilter_umh (Jiri Benc) [1882708] - [net] xsk: Remove unnecessary member in xdp_umem (Jiri Benc) [1882708] - [net] xsk: Change two variable names for increased clarity (Jiri Benc) [1882708] - [net] bpfilter: match bit size of bpfilter_umh to that of the kernel (Jiri Benc) [1882708] - [docs] networking: convert filter.txt to ReST (Jiri Benc) [1882708] - [net] xsk: Fix typo in xsk_umem_consume_tx and xsk_generic_xmit comments (Jiri Benc) [1882708] - [net] introduce SO_BINDTOIFINDEX sockopt (Jiri Benc) [1882708] - [net] netlink: Use sizeof_field() macro (Jiri Benc) [1882708] - [net] xdp: Add SPDX license identifier - Makefile/Kconfig (Jiri Benc) [1882708] - [net] bpfilter: prefix header search paths with $(srctree)/ (Jiri Benc) [1882708] - [netdrv] virtio_net: Add XDP meta data support (Jiri Benc) [1882708] - [netdrv] virtio_net: Keep vnet header zeroed if XDP is loaded for small buffer (Jiri Benc) [1882708] - [netdrv] virtio-net: keep vnet header zeroed after processing XDP (Jiri Benc) [1882708] - [netdrv] virtio-net: get rid of unnecessary container of rq stats (Jiri Benc) [1882708] - [netdrv] virtio-net: correctly update XDP_TX counters (Jiri Benc) [1882708] - [netdrv] virtio_net: Add kick stats (Jiri Benc) [1882708] - [netdrv] virtio_net: Add XDP related stats (Jiri Benc) [1882708] - [netdrv] virtio_net: Factor out the logic to determine xdp sq (Jiri Benc) [1882708] - [netdrv] virtio_net: Make drop counter per-queue (Jiri Benc) [1882708] - [netdrv] virtio_net: Use temporary storage for accounting rx stats (Jiri Benc) [1882708] - [netdrv] bnx2: mark driver deprecated (Jonathan Toppins) [1878183] - [net] openvswitch: silence suspicious RCU usage warning (Eelco Chaudron) [1895862] - [net] openswitch: reuse the helper variable to improve the code readablity (Eelco Chaudron) [1895862] - [net] openvswitch: remove unused keep_flows (Eelco Chaudron) [1895862] - [net] openvswitch: refactor flow free function (Eelco Chaudron) [1895862] - [net] openvswitch: improve the coding style (Eelco Chaudron) [1895862] - [net] openvswitch: use skb_list_walk_safe helper for gso segments (Eelco Chaudron) [1895862] - [net] openvswitch: do not update max_headroom if new headroom is equal to old headroom (Eelco Chaudron) [1895862] - [net] openvswitch: drop unneeded likely() call around IS_ERR() (Eelco Chaudron) [1895862] - [net] openvswitch: convert to kvmalloc (Eelco Chaudron) [1895862] - [infiniband] RDMA/rxe: Mark Soft-RoCE driver as unsupported (Kamal Heib) [1878207] - [net] netfilter: nf_log: missing vlan offload tag and proto (Florian Westphal) [1889990] - [net] ipvs: clear skb->tstamp in forwarding path (Florian Westphal) [1889990] - [net] netfilter: nft_meta: use socket user_ns to retrieve skuid and skgid (Florian Westphal) [1889990] - [net] netfilter: ctnetlink: add a range check for l3/l4 protonum (Florian Westphal) [1889990] {CVE-2020-25211} - [net] netfilter: nfnetlink: nfnetlink_unicast() reports EAGAIN instead of ENOBUFS (Florian Westphal) [1889990] - [net] netfilter: nf_tables: fix destination register zeroing (Florian Westphal) [1889990] - [net] netfilter: nf_tables: add NFTA_SET_USERDATA if not null (Florian Westphal) [1889990] - [net] netfilter: flowtable: Set offload timeout when adding flow (Florian Westphal) [1889990] - [net] netfilter: conntrack: Move nf_ct_offload_timeout to header file (Florian Westphal) [1889990] - [net] netfilter: nft_set_rbtree: Handle outcomes of tree rotations in overlap detection (Florian Westphal) [1889990] - [net] netfilter: nf_tables: nft_exthdr: the presence return value should be little-endian (Florian Westphal) [1889990] - [net] netfilter: nft_set_pipapo: Drop useless assignment of scratch map index on insert (Florian Westphal) [1889990] - [net] netfilter: arp_tables: init netns pointer in xt_tgdtor_param struct (Florian Westphal) [1889990] - [net] netfilter: arp_tables: init netns pointer in xt_tgchk_param struct (Florian Westphal) [1889990] - [net] ipvs: do not schedule icmp errors from tunnels (Florian Westphal) [1889990] - [powercap] powercap: intel_rapl: add support for Sapphire Rapids (Steve Best) [1837373] - [powercap] powercap/intel_rapl: add support for RocketLake (Steve Best) [1782715] - [char] ipmi: Use fallthrough pseudo-keyword (Tony Camuso) [1877848] - [char] ipmi/watchdog: add missing newlines when printing parameters by sysfs (Tony Camuso) [1877848] - [char] ipmi: remve duplicate code in __ipmi_bmc_register() (Tony Camuso) [1877848] - [documentation] docs: ipmi: Replace HTTP links with HTTPS ones (Tony Camuso) [1877848] - [char] ipmi: ssif: Remove finished TODO comment about SMBus alert (Tony Camuso) [1877848] - [documentation] Doc: driver-api: ipmi: Add description of alerts_broken module param (Tony Camuso) [1877848] - [char] ipmi:ssif: Remove dynamic platform device handing (Tony Camuso) [1877848] - [char] Try to load acpi_ipmi when an SSIF ACPI IPMI interface is added (Tony Camuso) [1877848] - [char] ipmi_si: Load acpi_ipmi when ACPI IPMI interface added (Tony Camuso) [1877848] - [char] ipmi:bt-bmc: Fix error handling and status check (Tony Camuso) [1877848] - [char] ipmi: Replace guid_copy() with import_guid() where it makes sense (Tony Camuso) [1877848] - [char] ipmi: use vzalloc instead of kmalloc for user creation (Tony Camuso) [1877848] - [char] ipmi:bt-bmc: Fix some format issue of the code (Tony Camuso) [1877848] - [char] ipmi:bt-bmc: Avoid unnecessary check (Tony Camuso) [1877848] - [char] docs: fix references for ipmi.rst file (Tony Camuso) [1877848] - [documentation] docs: move IPMI.txt to the driver API book (Tony Camuso) [1877848]- [powerpc] pseries: Fix 64 bit logical memory block panic (Steve Best) [1894922] - [mm] powerpc/book3s64/radix: Make radix_mem_block_size 64bit (Steve Best) [1894922] - [powerpc] powerpc/64s/radix: Fix build failure with RADIX_MMU=n (Steve Best) [1894922] - [x86] kvm: mmu: fix is_tdp_mmu_check when the TDP MMU is not in use (Vitaly Kuznetsov) [1898914 1878097] - [x86] kvm: svm: Update cr3_lm_rsvd_bits for AMD SEV guests (Vitaly Kuznetsov) [1898914 1878097] - [x86] kvm: x86: Introduce cr3_lm_rsvd_bits in kvm_vcpu_arch (Vitaly Kuznetsov) [1898914 1878097] - [x86] kvm: x86: clflushopt should be treated as a no-op by emulation (Vitaly Kuznetsov) [1898914 1878097] - [x86] kvm: x86: handle MSR_IA32_DEBUGCTLMSR with report_ignored_msrs (Vitaly Kuznetsov) [1898914 1878097] - [x86] kvm: x86: request masterclock update any time guest uses different msr (Vitaly Kuznetsov) [1898914 1878097] - [x86] kvm: x86: ensure pv_cpuid.features is initialized when enabling cap (Vitaly Kuznetsov) [1898914 1878097] - [x86] kvm: x86: reads of restricted pv msrs should also result in #GP (Vitaly Kuznetsov) [1898914 1878097] - [x86] kvm: x86: use positive error values for msr emulation that causes #GP (Vitaly Kuznetsov) [1898914 1878097] - [x86] kvm: x86/mmu: fix counting of rmap entries in pte_list_add (Vitaly Kuznetsov) [1898914 1878097] - [x86] kvm: x86: bump KVM_MAX_CPUID_ENTRIES (Vitaly Kuznetsov) [1898914 1878097] - [x86] vmxfeatures: rename features for consistency with KVM and manual (Vitaly Kuznetsov) [1898914 1878097] - [x86] kvm: vmx: Add VMX_FEATURE_USR_WAIT_PAUSE (Vitaly Kuznetsov) [1878097 1898914] - [x86] Expose SERIALIZE for supported cpuid (Vitaly Kuznetsov) [1878097 1898914] - [x86] kvm: x86: Expose fast short REP MOV for supported cpuid (Vitaly Kuznetsov) [1878097 1898914] - [x86] kvm: x86: Expose AVX512 VP2INTERSECT in cpuid for TGL (Vitaly Kuznetsov) [1878097 1898914] - [x86] kvm: Convert to new CPU match macros (Vitaly Kuznetsov) [1878097 1898914] - [documentation] docs: kvm: fix referenced ioctl symbol (Vitaly Kuznetsov) [1878097 1898914] - [documentation] docs: kvm: api.rst: add missing spaces (Vitaly Kuznetsov) [1878097 1898914] - [virt] kvm: use struct_size() and flex_array_size() helpers in kvm_io_bus_unregister_dev() (Vitaly Kuznetsov) [1878097 1898914] - [documentation] documentation: kvm: fix a typo (Vitaly Kuznetsov) [1878097 1898914] - [documentation] documentation: kvm: fix some typos in cpuid.rst (Vitaly Kuznetsov) [1878097 1898914] - [documentation] documentation: kvm: fix a typo (Vitaly Kuznetsov) [1878097 1898914] - [x86] x86/cpu: Fix typos and improve the comments in sync_core() (David Arcari) [1837457] - [x86] x86/cpu: Use SERIALIZE in sync_core() when available (David Arcari) [1837457] - [tools] tools arch x86: Sync asm/cpufeatures.h with the kernel sources (David Arcari) [1837457] - [x86] x86/cpufeatures: Add enumeration for SERIALIZE instruction (David Arcari) [1837457] - [x86] x86/cpu: Refactor sync_core() for readability (David Arcari) [1837457] - [x86] x86/cpu: Relocate sync_core() to sync_core.h (David Arcari) [1837457] - [arm64] kvm: arm64: Set HCR_EL2.PTW to prevent AT taking synchronous exception (Auger Eric) [1882794] - [arm64] kvm: arm64: Survive synchronous exceptions caused by AT instructions (Auger Eric) [1882794] - [arm64] kvm: arm64: Add kvm_extable for vaxorcism code (Auger Eric) [1882794] - [arm64] kvm: arm64: Print warning when cpu erratum can cause guests to deadlock (Auger Eric) [1882794] - [arm64] kvm: arm64: clean up redundant 'kvm_run' parameters (Auger Eric) [1882794] - [arm64] kvm: arm64: Use common KVM implementation of MMU memory caches (Auger Eric) [1882794] - [arm64] kvm: arm64: Use common code's approach for __GFP_ZERO with memory caches (Auger Eric) [1882794] - [arm64] kvm: arm64: Drop @max param from mmu_topup_memory_cache() (Auger Eric) [1882794] - [arm64] s/AMEVTYPE/AMEVTYPER (Auger Eric) [1882794] - [arm64] kvm: arm64: bti: Reset BTYPE when skipping emulated instructions (Auger Eric) [1882794] - [arm64] kvm: arm64: Remove S1PTW check from kvm_vcpu_dabt_iswrite() (Auger Eric) [1882794] - [arm64] kvm: arm64: Assume write fault on S1PTW permission fault on instruction fetch (Auger Eric) [1882794] - [arm64] kvm: arm64: Update page shift if stage 2 block mapping not supported (Auger Eric) [1882794] - [arm64] kvm: arm64: Fix address truncation in traces (Auger Eric) [1882794] - [arm64] kvm: arm64: Do not try to map PUDs when they are folded into PMD (Auger Eric) [1882794] - [documentation] arm64/x86: kvm: Introduce steal-time cap (Auger Eric) [1882794] - [arm64] kvm: arm64: pvtime: Fix stolen time accounting across migration (Auger Eric) [1882794] - [kernel] kvm: arm64: Drop type input from kvm_put_guest (Auger Eric) [1882794] - [arm64] kvm: arm64: pvtime: Fix potential loss of stolen time (Auger Eric) [1882794] - [arm64] kvm: arm64: pvtime: steal-time is only supported when configured (Auger Eric) [1882794] - [arm64] kvm: arm64: Move S1PTW S2 fault logic out of io_mem_abort() (Auger Eric) [1882794] - [arm64] kvm: arm64: Don't skip cache maintenance for read-only memslots (Auger Eric) [1882794] - [arm64] kvm: arm64: Handle data and instruction external aborts the same way (Auger Eric) [1882794] - [arm64] kvm: arm64: Rename kvm_vcpu_dabt_isextabt() (Auger Eric) [1882794] - [trace] kvm: arm: Add trace name for ARM_NISV (Auger Eric) [1882794] - [arm64] kvm: arm64: Ensure that all nVHE hyp code is in .hyp.text (Auger Eric) [1882794] - [arm64] kvm: arm64: Don't use has_vhe() for CHOOSE_HYP_SYM() (Auger Eric) [1882794] - [arm64] kvm: arm64: timers: Move timer registers to the sys_regs file (Auger Eric) [1882794] - [arm64] kvm: arm64: timers: Rename kvm_timer_sync_hwstate to kvm_timer_sync_user (Auger Eric) [1882794] - [arm64] kvm: arm64: Move SPSR_EL1 to the system register array (Auger Eric) [1882794] - [arm64] kvm: arm64: Disintegrate SPSR array (Auger Eric) [1882794] - [arm64] kvm: arm64: Move SP_EL1 to the system register array (Auger Eric) [1882794] - [arm64] kvm: arm64: Move ELR_EL1 to the system register array (Auger Eric) [1882794] - [arm64] kvm: arm64: Make struct kvm_regs userspace-only (Auger Eric) [1882794] - [arm64] kvm: arm64: debug: Drop useless vpcu parameter (Auger Eric) [1882794] - [arm64] kvm: arm64: pauth: Use ctxt_sys_reg() instead of raw sys_regs access (Auger Eric) [1882794] - [arm64] kvm: arm64: sve: Use __vcpu_sys_reg() instead of raw sys_regs access (Auger Eric) [1882794] - [arm64] kvm: arm64: hyp: Use ctxt_sys_reg/__vcpu_sys_reg instead of raw sys_regs access (Auger Eric) [1882794] - [arm64] kvm: arm64: Introduce accessor for ctxt->sys_reg (Auger Eric) [1882794] - [arm64] kvm: arm64: Rename HSR to ESR (Auger Eric) [1882794] - [arm64] kvm: arm64: Drop long gone function parameter documentation (Auger Eric) [1882794] - [arm64] kvm: arm64: vgic-its: Change default outer cacheability for {PEND, PROP}BASER (Auger Eric) [1882794] - [arm64] kvm: arm64: Lift instrumentation restrictions on VHE (Auger Eric) [1882794] - [arm64] kvm: arm64: Remove __hyp_text macro, use build rules instead (Auger Eric) [1882794] - [arm64] kvm: arm64: Compile remaining hyp/ files for both VHE/nVHE (Auger Eric) [1882794] - [arm64] kvm: arm64: Duplicate hyp/timer-sr.c for VHE/nVHE (Auger Eric) [1882794] - [arm64] kvm: arm64: Split hyp/sysreg-sr.c to VHE/nVHE (Auger Eric) [1882794] - [arm64] kvm: arm64: Split hyp/debug-sr.c to VHE/nVHE (Auger Eric) [1882794] - [arm64] kvm: arm64: Split hyp/switch.c to VHE/nVHE (Auger Eric) [1882794] - [arm64] kvm: arm64: Duplicate hyp/tlb.c for VHE/nVHE (Auger Eric) [1882794] - [arm64] kvm: arm64: Move hyp-init.S to nVHE (Auger Eric) [1882794] - [arm64] kvm: arm64: Build hyp-entry.S separately for VHE/nVHE (Auger Eric) [1882794] - [arm64] kvm: arm64: Handle calls to prefixed hyp functions (Auger Eric) [1882794] - [arm64] kvm: arm64: Use build-time defines in has_vhe() (Auger Eric) [1882794] - [arm64] kvm: arm64: Add build rules for separate VHE/nVHE object files (Auger Eric) [1882794] - [arm64] kvm: arm64: Move __smccc_workaround_1_smc to .rodata (Auger Eric) [1882794] - [arm64] kvm: arm64: Fix symbol dependency in __hyp_call_panic_nvhe (Auger Eric) [1882794] - [arm64] kvm: arm64: Remove the target table (Auger Eric) [1882794] - [arm64] kvm: arm64: Remove target_table from exit handlers (Auger Eric) [1882794] - [arm64] kvm: arm64: Move ACTLR_EL1 emulation to the sys_reg_descs array (Auger Eric) [1882794] - [arm64] kvm: arm64: Tolerate an empty target_table list (Auger Eric) [1882794] - [arm64] kvm: arm64: Drop the target_table[] indirection (Auger Eric) [1882794] - [arm64] kvm: Remove kern_hyp_va from get_vcpu_ptr (Auger Eric) [1882794] - [arm64] kvm: arm64: Allow in-atomic injection of SPIs (Auger Eric) [1882794] - [arm64] kvm: arm64: Add emulation for 32bit guests accessing ACTLR2 (Auger Eric) [1882794] - [arm64] kvm: arm64: Use cpus_have_final_cap for has_vhe() (Auger Eric) [1882794] - [arm64] efi: Move variable assignments after SECTIONS (Auger Eric) [1882794] - [arm64] efi: Mark __efistub_stext_offset as an absolute symbol explicitly (Auger Eric) [1882794] - [arm64] drop linker script hack to hide __efistub_ symbols (Auger Eric) [1882794] - [arm64] kvm: arm64: Synchronize sysreg state on injecting an AArch32 exception (Auger Eric) [1882794] - [arm64] kvm: arm64: Make vcpu_cp1x() work on Big Endian hosts (Auger Eric) [1882794] - [arm64] kvm: arm64: Stop sparse from moaning at __hyp_this_cpu_ptr (Auger Eric) [1882794] - [arm64] kvm: arm64: Check advertised Stage-2 page size capability (Auger Eric) [1882794] - [arm64] cpufeature: Don't treat granule sizes as strict (Auger Eric) [1882794] - [arm64] cpufeature: Validate hypervisor capabilities during CPU hotplug (Auger Eric) [1882794] - [arm64] kvm: hyp: use cpus_have_final_cap() (Auger Eric) [1882794] - [arm64] cpufeature: add cpus_have_final_cap() (Auger Eric) [1882794] - [arm64] mark (__)cpus_have_const_cap as __always_inline (Auger Eric) [1882794] - [arm64] Mark call_smc_arch_workaround_1 as __maybe_unused (Auger Eric) [1882794] - [arm64] Make use of ARCH_WORKAROUND_1 even when KVM is not enabled (Auger Eric) [1882794] - [arm64] kvm: arm64: Delete duplicated label in invalid_vector (Auger Eric) [1882794] - [arm64] use mov_q instead of literal ldr (Auger Eric) [1882794] - [arm64] kvm: Modernize __smccc_workaround_1_smc_start annotations (Auger Eric) [1882794] - [arm64] kvm: Modernize annotation for __bp_harden_hyp_vecs (Auger Eric) [1882794] - [arm64] kvm: Annotate assembly using modern annoations (Auger Eric) [1882794] - [arm64] kvm: arm64: Prevent vcpu_has_ptrauth from generating OOL functions (Auger Eric) [1882794] - [arm64] kvm: disable access to AMU registers from kvm guests (Auger Eric) [1882794] - [arm64] kvm: arm64: pvtime: Ensure task delay accounting is enabled (Auger Eric) [1882794] - [arm64] kvm: arm64: Stop writing aarch32's CSSELR into ACTLR (Auger Eric) [1882794] - [arm64] kvm: Annotate guest entry/exit as a single function (Auger Eric) [1882794] - [kernel] linkage: Introduce new macros for assembler symbols (Auger Eric) [1882794] - [s390] kvm: s390: remove diag318 reset code (Thomas Huth) [1899497] - [powerpc] powerpc/hv-gpci: Add sysfs files inside hv-gpci device to show cpumask (Michael Petlan) [1844416] - [powerpc] powerpc/perf/hv-gpci: Add cpu hotplug support (Michael Petlan) [1844416] - [documentation] Documentation/ABI: Add ABI documentation for hv-gpci format (Michael Petlan) [1844416] - [documentation] Documentation/ABI: Add ABI documentation for hv-24x7 format (Michael Petlan) [1844416] - [powerpc] powerpc/perf/hv-gpci: Fix starting index value (Michael Petlan) [1844416] - [powerpc] powerpc/perf/hv-24x7: Move cpumask file to top folder of hv-24x7 driver (Michael Petlan) [1844416] - [powerpc] powerpc/hv-24x7: Add sysfs files inside hv-24x7 device to show cpumask (Michael Petlan) [1844416] - [powerpc] powerpc/perf/hv-24x7: Add cpu hotplug support (Michael Petlan) [1844416] - [powerpc] powerpc/perf: Fix reading of MSRbits in trace-imc (Michael Petlan) [1854536] - [powerpc] powerpc/perf: Add kernel support for new MSRbits in trace-imc (Michael Petlan) [1854536] - [documentation] kdump: update kdump documentation due to change of crash URL (Lianbo Jiang) [1896236] - [pinctrl] pinctrl: intel: Add Intel Emmitsburg pin controller support (David Arcari) [1837409] - [x86] x86/platform/uv: Fix copied UV5 output archtype (Frank Ramsay) [1861439] - [x86] x86/platform/uv: Drop last traces of uv_flush_tlb_others (Frank Ramsay) [1861439] - [x86] x86/platform/uv: Recognize UV5 hubless system identifier (Frank Ramsay) [1861439] - [x86] x86/platform/uv: Remove spaces from OEM IDs (Frank Ramsay) [1861439] - [x86] x86/platform/uv: Fix missing OEM_TABLE_ID (Frank Ramsay) [1861439] - [misc] x86/platform/uv: Update Copyrights to conform to HPE standards (Frank Ramsay) [1861439] - [x86] x86/platform/uv: Update for UV5 NMI MMR changes (Frank Ramsay) [1861439] - [x86] x86/platform/uv: Update UV5 TSC checking (Frank Ramsay) [1861439] - [x86] x86/platform/uv: Update node present counting (Frank Ramsay) [1861439] - [x86] x86/platform/uv: Update UV5 MMR references in UV GRU (Frank Ramsay) [1861439] - [x86] x86/platform/uv: Adjust GAM MMR references affected by UV5 updates (Frank Ramsay) [1861439] - [x86] x86/platform/uv: Update MMIOH references based on new UV5 MMRs (Frank Ramsay) [1861439] - [x86] x86/platform/uv: Add and decode Arch Type in UVsystab (Frank Ramsay) [1861439] - [x86] x86/platform/uv: Add UV5 direct references (Frank Ramsay) [1861439] - [x86] x86/platform/uv: Update UV MMRs for UV5 (Frank Ramsay) [1861439] - [misc] drivers/misc/sgi-xp: Adjust references in UV kernel modules (Frank Ramsay) [1861439] - [x86] x86/platform/uv: Remove SCIR MMR references for UV systems (Frank Ramsay) [1861439] - [x86] x86/platform/uv: Remove UV BAU TLB Shootdown Handler (Frank Ramsay) [1861439] - [x86] x86/kernel: Fix more -Wmissing-prototypes warnings (Frank Ramsay) [1861439] - [x86] x86/apic/uv: Avoid unused variable warning (Frank Ramsay) [1861439] - [misc] misc: sgi-xp: xp_main: Staticify local functions xp_init() and xp_exit() (Frank Ramsay) [1861439] - [misc] misc/sgi-xp: remove SGI SN2 support (Frank Ramsay) [1861439] - [x86] treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 156 (Frank Ramsay) [1861439] - [x86] efi/x86: Remove unreachable code in kexec_enter_virtual_mode() (Frank Ramsay) [1861439] - [x86] x86/efi: Remove unused EFI_UV1_MEMMAP code (Frank Ramsay) [1861439] - [x86] x86/platform/uv: Remove uv bios and efi code related to EFI_UV1_MEMMAP (Frank Ramsay) [1861439] - [x86] x86/efi: Remove references to no-longer-used efi_have_uv1_memmap() (Frank Ramsay) [1861439] - [x86] x86/efi: Delete SGI UV1 detection (Frank Ramsay) [1861439] - [x86] x86/platform/uv: Remove efi=old_map command line option (Frank Ramsay) [1861439] - [x86] x86/platform/uv: Remove vestigial mention of UV1 platform from bios header (Frank Ramsay) [1861439] - [x86] x86/platform/uv: Remove support for UV1 platform from uv (Frank Ramsay) [1861439] - [x86] x86/platform/uv: Remove support for uv1 platform from uv_hub (Frank Ramsay) [1861439] - [x86] x86/platform/uv: Remove support for UV1 platform from uv_bau (Frank Ramsay) [1861439] - [x86] x86/platform/uv: Remove support for UV1 platform from uv_mmrs (Frank Ramsay) [1861439] - [x86] x86/platform/uv: Remove support for UV1 platform from x2apic_uv_x (Frank Ramsay) [1861439] - [x86] x86/platform/uv: Remove support for UV1 platform from uv_tlb (Frank Ramsay) [1861439] - [x86] x86/platform/uv: Remove support for UV1 platform from uv_time (Frank Ramsay) [1861439] - [x86] x86/apic/uv: Make x2apic_extra_bits static (Frank Ramsay) [1861439] - [s390] uv: add destroy page call (Thomas Huth) [1882800] - [s390] gmap: improve THP splitting (Thomas Huth) [1882800] - [s390] kvm: s390: clean up redundant 'kvm_run' parameters (Thomas Huth) [1882800] - [documentation] documentation: virt: kvm/s390-pv: drop doubled words (Thomas Huth) [1882800] - [s390] kvm: s390: reduce number of IO pins to 1 (Thomas Huth) [1882800] - [s390] protvirt: use scnprintf() instead of snprintf() (Thomas Huth) [1882800] - [s390] kvm: s390: remove unneeded semicolon in gisa_vcpu_kicker() (Thomas Huth) [1882800] - [s390] kvm: s390: vsie: gmap_table_walk() simplifications (Thomas Huth) [1882800] - [s390] kvm: s390: vsie: Move conditional reschedule (Thomas Huth) [1882800] - [s390] kvm: s390: vsie: Fix possible race when shadowing region 3 tables (Thomas Huth) [1882800] - [s390] kvm: s390: vsie: Fix region 1 ASCE sanity shadow address checks (Thomas Huth) [1882800] - [s390] kvm: s390: Use fallthrough; (Thomas Huth) [1882800] - [s390] mm: use refcount_t for refcount (Thomas Huth) [1882800] - [s390] mm: make gmap_test_and_clear_dirty_pmd static (Thomas Huth) [1882800] - [s390] mm: optimize locking without huge pages in gmap_pmd_op_walk() (Thomas Huth) [1882800] - [net] openvswitch: introduce common code for flushing flows (Eelco Chaudron) [1888576] - [net] openvswitch: silence suspicious RCU usage warning (Eelco Chaudron) [1888576] - [net] openvswitch: make masks cache size configurable (Eelco Chaudron) [1888576] - [net] openvswitch: add masks cache hit counter (Eelco Chaudron) [1888576] - [net] openvswitch: Prevent kernel-infoleak in ovs_ct_put_key() (Eelco Chaudron) [1888576] - [net] openvswitch: kerneldoc fixes (Eelco Chaudron) [1888576] - [net] openvswitch: use div_u64() for 64-by-32 divisions (Eelco Chaudron) [1888576] - [net] openvswitch: suitable access to the dp_meters (Eelco Chaudron) [1888576] - [net] openvswitch: use u64 for meter bucket (Eelco Chaudron) [1888576] - [net] openvswitch: make EINVAL return value more obvious (Eelco Chaudron) [1888576] - [net] openvswitch: remove the unnecessary check (Eelco Chaudron) [1888576] - [net] openvswitch: set max limitation to meters (Eelco Chaudron) [1888576] - [net] openvswitch: expand the meters supported number (Eelco Chaudron) [1888576] - [net] openvswitch: use hlist_for_each_entry_rcu instead of hlist_for_each_entry (Eelco Chaudron) [1888576] - [net] ovs: datapath: hide clang frame-overflow warnings (Eelco Chaudron) [1888576] - [net] openvswitch: use netif_ovs_is_port() instead of opencode (Eelco Chaudron) [1888576] - [platform] platform/x86: intel_pmc_core: avoid unused-function warnings (David Arcari) [1783140] - [platform] platform/x86: intel_pmc_core: fix bound check in pmc_core_mphy_pg_show() (David Arcari) [1783140] - [platform] platform/x86: intel_pmc_core: update TGL's LPM0 reg bit map name (David Arcari) [1783140] - [platform] platform/x86: intel_pmc_core: Make pmc_core_substate_res_show() generic (David Arcari) [1783140] - [platform] platform/x86: intel_pmc_core: Make pmc_core_lpm_display() generic for platforms that support sub-states (David Arcari) [1783140] - [platform] platform/x86: intel_pmc_core: Add slp_s0_offset attribute back to tgl_reg_map (David Arcari) [1783140] - [platform] platform/x86: intel_pmc_core: Remove duplicate 'if' to create debugfs entry (David Arcari) [1783140] - [platform] platform/x86: intel_pmc_core: Relocate pmc_core_*_display() to outside of CONFIG_DEBUG_FS (David Arcari) [1783140] - [platform] platform/x86: intel_pmc_core: Add debugfs support to access live status registers (David Arcari) [1783140] - [platform] platform/x86: intel_pmc_core: Dump low power status registers on an S0ix.y failure (David Arcari) [1783140] - [platform] platform/x86: intel_pmc_core: Add an additional parameter to pmc_core_lpm_display() (David Arcari) [1783140] - [platform] platform/x86: intel_pmc_core: Remove slp_s0 attributes from tgl_reg_map (David Arcari) [1783140] - [platform] platform/x86: intel_pmc_core: Refactor the driver by removing redundant code (David Arcari) [1783140] - [platform] platform/x86: intel_pmc_core: Add debugfs entry for low power mode status registers (David Arcari) [1783140] - [platform] platform/x86: intel_pmc_core: Add debugfs entry to access sub-state residencies (David Arcari) [1783140] - [platform] platform/x86: intel_pmc_core: Fix spelling of MHz unit (David Arcari) [1783140] - [platform] platform/x86: intel_pmc_core: Fix indentation in function definitions (David Arcari) [1783140] - [platform] platform/x86: intel_pmc_core: Put more stuff under #ifdef DEBUG_FS (David Arcari) [1783140] - [platform] platform/x86: intel_pmc_core: Respect error code of kstrtou32_from_user() (David Arcari) [1783140] - [platform] platform/x86: intel_pmc_core: Make debugfs entry for pch_ip_power_gating_status conditional (David Arcari) [1783140] - [platform] platform/x86: intel_pmc_core: Remove unnecessary assignments (David Arcari) [1783140]- [net] mptcp: provide rmem[0] limit (Davide Caratti) [1874368] - [net] mptcp: add missing memory scheduling in the rx path (Davide Caratti) [1874368] - [net] mptcp: depends on IPV6 but not as a module (Davide Caratti) [1874368] - [tools] selftests: mptcp: depends on built-in IPv6 (Davide Caratti) [1874368] - [net] mptcp: MPTCP_IPV6 should depend on IPV6 instead of selecting it (Davide Caratti) [1874368] - [net] mptcp: subflows garbage collection (Davide Caratti) [1874368] - [net] mptcp: fix fallback for MP_JOIN subflows (Davide Caratti) [1874368] - [net] mptcp: make DACK4/DACK8 usage consistent among all subflows (Davide Caratti) [1874368] - [net] mptcp: fix infinite loop on recvmsg()/worker() race. (Davide Caratti) [1874368] - [net] mptcp: don't skip needed ack (Davide Caratti) [1874368] - [net] mptcp: more DATA FIN fixes (Davide Caratti) [1874368] - [net] mptcp: Constify mptcp_pm_ops (Davide Caratti) [1874368] - [net] mptcp: ADD_ADDRs with echo bit are smaller (Davide Caratti) [1874368] - [net] mptcp: Handle incoming 32-bit DATA_FIN values (Davide Caratti) [1874368] - [net] mptcp: Consistently use READ_ONCE/WRITE_ONCE with msk->ack_seq (Davide Caratti) [1874368] - [net] tcp: drop unused function argument from mptcp_incoming_options (Davide Caratti) [1874368] - [net] mptcp: retransmit ADD_ADDR when timeout (Davide Caratti) [1874368] - [net] mptcp: add sk_stop_timer_sync helper (Davide Caratti) [1874368] - [net] mptcp: add struct mptcp_pm_add_entry (Davide Caratti) [1874368] - [tools] selftests: mptcp: add remove addr and subflow test cases (Davide Caratti) [1874368] - [tools] selftests: mptcp: add remove cfg in mptcp_connect (Davide Caratti) [1874368] - [net] mptcp: add mptcp_destroy_common helper (Davide Caratti) [1874368] - [net] mptcp: add RM_ADDR related mibs (Davide Caratti) [1874368] - [net] mptcp: implement mptcp_pm_remove_subflow (Davide Caratti) [1874368] - [net] mptcp: remove addr and subflow in PM netlink (Davide Caratti) [1874368] - [net] mptcp: add accept_subflow re-check (Davide Caratti) [1874368] - [tools] selftests: mptcp: add ADD_ADDR mibs check function (Davide Caratti) [1874368] - [net] tcp: change pingpong threshold to 3 (Davide Caratti) [1874368] - [net] tcp: Refactor pingpong code (Davide Caratti) [1874368] - [net] mptcp: add ADD_ADDR related mibs (Davide Caratti) [1874368] - [net] mptcp: send out ADD_ADDR with echo flag (Davide Caratti) [1874368] - [net] mptcp: add the incoming RM_ADDR support (Davide Caratti) [1874368] - [net] mptcp: add the outgoing RM_ADDR support (Davide Caratti) [1874368] - [net] mptcp: rename addr_signal and the related functions (Davide Caratti) [1874368] - [net] mptcp: Wake up MPTCP worker when DATA_FIN found on a TCP FIN packet (Davide Caratti) [1874368] - [net] mptcp: fix integer overflow in mptcp_subflow_discard_data() (Davide Caratti) [1874368] - [net] mptcp: Fix unsigned 'max_seq' compared with zero in mptcp_data_queue_ofo (Davide Caratti) [1874368] - [tools] selftests: mptcp: interpret \n as a new line (Davide Caratti) [1874368] - [tools] selftests: mptcp: interpret \n as a new line (Davide Caratti) [1874368] - [tools] mptcp: simult flow self-tests (Davide Caratti) [1874368] - [net] mptcp: call tcp_cleanup_rbuf on subflows (Davide Caratti) [1874368] - [net] mptcp: allow picking different xmit subflows (Davide Caratti) [1874368] - [net] mptcp: allow creating non-backup subflows (Davide Caratti) [1874368] - [net] mptcp: move address attribute into mptcp_addr_info (Davide Caratti) [1874368] - [net] mptcp: add OoO related mibs (Davide Caratti) [1874368] - [net] mptcp: cleanup mptcp_subflow_discard_data() (Davide Caratti) [1874368] - [net] mptcp: move ooo skbs into msk out of order queue. (Davide Caratti) [1874368] - [net] mptcp: introduce and use mptcp_try_coalesce() (Davide Caratti) [1874368] - [net] mptcp: basic sndbuf autotuning (Davide Caratti) [1874368] - [net] mptcp: trigger msk processing even for OoO data (Davide Caratti) [1874368] - [net] mptcp: set data_ready status bit in subflow_check_data_avail() (Davide Caratti) [1874368] - [net] mptcp: rethink 'is writable' conditional (Davide Caratti) [1874368] - [net] tcp: reduce POLLOUT events caused by TCP_NOTSENT_LOWAT (Davide Caratti) [1874368] - [net] mptcp: fix kmalloc flag in mptcp_pm_nl_get_local_id (Davide Caratti) [1874368] - [net] mptcp: fix subflow's remote_id issues (Davide Caratti) [1874368] - [net] mptcp: fix subflow's local_id issues (Davide Caratti) [1874368] - [net] mptcp: Remove unused macro MPTCP_SAME_STATE (Davide Caratti) [1874368] - [net] treewide: Use fallthrough pseudo-keyword (Davide Caratti) [1874368] - [net] netlink: consistently use NLA_POLICY_EXACT_LEN() (Davide Caratti) [1874368] - [net] mptcp: free acked data before waiting for more memory (Davide Caratti) [1874368] - [net] mptcp: sendmsg: reset iter on error redux (Davide Caratti) [1874368] - [net] mptcp: sendmsg: reset iter on error (Davide Caratti) [1874368] - [net] mptcp: fix warn at shutdown time for unaccepted msk sockets (Davide Caratti) [1874368] - [net] mptcp: use mptcp_for_each_subflow in mptcp_stream_accept (Davide Caratti) [1874368] - [net] mptcp: fix syncookie build error on UP (Davide Caratti) [1874368] - [net] tcp: fix syn cookied MPTCP request socket leak (Davide Caratti) [1874368] - [net] tcp: fix build fong CONFIG_MPTCP=n (Davide Caratti) [1874368] - [tools] selftests: mptcp: add test cases for mptcp join tests with syn cookies (Davide Caratti) [1874368] - [tools] selftests: mptcp: make 2nd net namespace use tcp syn cookies unconditionally (Davide Caratti) [1874368] - [net] mptcp: enable JOIN requests even if cookies are in use (Davide Caratti) [1874368] - [net] tcp: free request sock directly upon TFO or syncookies error (Davide Caratti) [1874368] - [include] net: keep refcount warning in reqsk_free() (Davide Caratti) [1874368] - [net] tcp: syncookies: create mptcp request socket for ACK cookies with MPTCP option (Davide Caratti) [1874368] - [net] mptcp: subflow: add mptcp_subflow_init_cookie_req helper (Davide Caratti) [1874368] - [net] mptcp: rename and export mptcp_subflow_request_sock_ops (Davide Caratti) [1874368] - [net] mptcp: subflow: split subflow_init_req (Davide Caratti) [1874368] - [net] mptcp: token: move retry to caller (Davide Caratti) [1874368] - [net] tcp: rename request_sock cookie_ts bit to syncookie (Davide Caratti) [1874368] - [net] mptcp: Safely store sequence number when sending data (Davide Caratti) [1874368] - [net] mptcp: Safely read sequence number when lock isn't held (Davide Caratti) [1874368] - [net] mptcp: Skip unnecessary skb extension allocation for bare acks (Davide Caratti) [1874368] - [net] mptcp: Only use subflow EOF signaling on fallback connections (Davide Caratti) [1874368] - [net] mptcp: Use full MPTCP-level disconnect state machine (Davide Caratti) [1874368] - [net] mptcp: Add helper to process acks of DATA_FIN (Davide Caratti) [1874368] - [net] mptcp: Add mptcp_close_state() helper (Davide Caratti) [1874368] - [net] mptcp: Track received DATA_FIN sequence number and add related helpers (Davide Caratti) [1874368] - [net] mptcp: Use MPTCP-level flag for sending DATA_FIN (Davide Caratti) [1874368] - [net] mptcp: Remove outdated and incorrect comment (Davide Caratti) [1874368] - [net] mptcp: Return EPIPE if sending is shut down during a sendmsg (Davide Caratti) [1874368] - [net] mptcp: Allow DATA_FIN in headers without TCP FIN (Davide Caratti) [1874368] - [net] subflow: introduce and use mptcp_can_accept_new_subflow() (Davide Caratti) [1874368] - [net] subflow: use rsk_ops->send_reset() (Davide Caratti) [1874368] - [net] mptcp: cleanup subflow_finish_connect() (Davide Caratti) [1874368] - [net] mptcp: explicitly track the fully established status (Davide Caratti) [1874368] - [net] mptcp: mark as fallback even early ones (Davide Caratti) [1874368] - [net] mptcp: avoid data corruption on reinsert (Davide Caratti) [1874368] - [net] subflow: always init 'rel_write_seq' (Davide Caratti) [1874368] - [net] mptcp: zero token hash at creation time. (Davide Caratti) [1874368] - [net] mptcp: move helper to where its used (Davide Caratti) [1874368] - [tools] selftests/mptcp: Better delay & reordering configuration (Davide Caratti) [1874368] - [tools] selftests: mptcp: fix typo in mptcp_connect usage (Davide Caratti) [1874368] - [tools] mptcp: more stable diag self-tests (Davide Caratti) [1874368] - [tools] selftests: mptcp: fix dependecies (Davide Caratti) [1874368] - [net] inet_diag: validate INET_DIAG_REQ_PROTOCOL attribute (Davide Caratti) [1874368] - [tools] selftests/mptcp: add diag interface tests (Davide Caratti) [1874368] - [net] mptcp: add MPTCP socket diag interface (Davide Caratti) [1874368] - [net] mptcp: add msk interations helper (Davide Caratti) [1874368] - [net] inet_diag: support for wider protocol numbers (Davide Caratti) [1874368] - [net] mptcp: use mptcp worker for path management (Davide Caratti) [1874368] - [include] mptcp: Remove unused inline function mptcp_rcv_synsent() (Davide Caratti) [1874368] - [net] mptcp: support IPV6_V6ONLY setsockopt (Davide Caratti) [1874368] - [net] mptcp: add REUSEADDR/REUSEPORT support (Davide Caratti) [1874368] - [net] use mptcp setsockopt function for SOL_SOCKET on mptcp sockets (Davide Caratti) [1874368] - [net] mptcp: do nonce initialization at subflow creation time (Davide Caratti) [1874368] - [net] mptcp: close poll() races (Davide Caratti) [1874368] - [net] mptcp: __mptcp_tcp_fallback() returns a struct sock (Davide Caratti) [1874368] - [net] mptcp: create first subflow at msk creation time (Davide Caratti) [1874368] - [net] mptcp: check for plain TCP sock at accept time (Davide Caratti) [1874368] - [net] mptcp: move mptcp_options_received's port initialization (Davide Caratti) [1874368] - [net] mptcp: initialize mptcp_options_received's ahmac (Davide Caratti) [1874368] - [net] mptcp: MPTCP_KUNIT_TESTS should depend on MPTCP instead of selecting it (Davide Caratti) [1874368] - [net] mptcp: introduce token KUNIT self-tests (Davide Caratti) [1874368] - [net] mptcp: move crypto test to KUNIT (Davide Caratti) [1874368] - [net] mptcp: refactor token container (Davide Caratti) [1874368] - [net] mptcp: add __init annotation on setup functions (Davide Caratti) [1874368] - [net] tcp: move ipv4_specific to tcp include file (Davide Caratti) [1874368] - [net] tcp: move ipv6_specific declaration to remove a warning (Davide Caratti) [1874368] - [net] mptcp: use list_first_entry_or_null (Davide Caratti) [1874368] - [net] mptcp: attempt coalescing when moving skbs to mptcp rx queue (Davide Caratti) [1874368] - [net] allow __skb_ext_alloc to sleep (Davide Caratti) [1874368] - [net] mptcp: remove inner wait loop from mptcp_sendmsg_frag (Davide Caratti) [1874368] - [net] mptcp: fill skb page frag cache outside of mptcp_sendmsg_frag (Davide Caratti) [1874368] - [net] mptcp: fill skb extension cache outside of mptcp_sendmsg_frag (Davide Caratti) [1874368] - [net] mptcp: move common nospace-pattern to a helper (Davide Caratti) [1874368] - [net] mptcp: Use 32-bit DATA_ACK when possible (Davide Caratti) [1874368] - [s390] s390/qeth: implement ndo_bridge_setlink for learning_sync (Philipp Rudo) [1651745] - [s390] s390/qeth: implement ndo_bridge_getlink for learning_sync (Philipp Rudo) [1651745] - [s390] s390/qeth: Reset address notification in case of buffer overflow (Philipp Rudo) [1651745] - [net] bridge: Add SWITCHDEV_FDB_FLUSH_TO_BRIDGE notifier (Philipp Rudo) [1651745] - [s390] s390/qeth: Translate address events into switchdev notifiers (Philipp Rudo) [1651745] - [s390] s390/qeth: Detect PNSO OC3 capability (Philipp Rudo) [1651745] - [s390] s390/cio: Helper functions to read CSSID, IID, and CHID (Philipp Rudo) [1651745] - [s390] s390/cio: Add new Operation Code OC3 to PNSO (Philipp Rudo) [1651745] - [cpuidle] cpuidle: Drop misleading comments about RCU usage (David Arcari) [1888014] - [cpuidle] cpuidle: Allow cpuidle drivers to take over RCU-idle (David Arcari) [1888014] - [include] cpuidle: Make CPUIDLE_FLAG_TLB_FLUSHED generic (David Arcari) [1888014] - [cpuidle] sched, idle, rcu: Push rcu_idle deeper into the idle path (David Arcari) [1888014] - [cpuidle] cpuidle: Fixup IRQ state (David Arcari) [1888014] - [kernel] cpuidle: Add RH_KABI warnings (David Arcari) [1878232] - [acpi] cpuidle: ACPI: fix 'return' with no value build warning (David Arcari) [1878232] - [acpi] cpuidle: change enter_s2idle() prototype (David Arcari) [1878232] - [cpuidle] cpuidle/pseries: Make symbol 'pseries_idle_driver' static (David Arcari) [1878232] - [cpuidle] cpuidle/powernv : Remove dead code block (David Arcari) [1878232] - [cpuidle] cpuidle: Rearrange s2idle-specific idle state entry code (David Arcari) [1878232] - [cpuidle] PM: s2idle: Clear _TIF_POLLING_NRFLAG before suspend to idle (David Arcari) [1878232] - [cpuidle] cpuidle: Fix three reference count leaks (David Arcari) [1878232] - [cpuidle] cpuidle: sysfs: Remove sysfs_switch and switch attributes (David Arcari) [1878232] - [cpuidle] cpuidle: Make cpuidle governor switchable to be the default behaviour (David Arcari) [1878232] - [cpuidle] cpuidle: sysfs: Accept governor name with 15 characters (David Arcari) [1878232] - [cpuidle] cpuidle: sysfs: Fix the overlap for showing available governors (David Arcari) [1878232] - [cpuidle] cpuidle: sysfs: Minor coding style corrections (David Arcari) [1878232] - [cpuidle] cpuidle: sysfs: Remove the unused define_one_r(o/w) macros (David Arcari) [1878232] - [cpuidle] cpuidle-haltpoll: Fix small typo (David Arcari) [1878232] - [idle] intel_idle: Customize IceLake server support (David Arcari) [1881620 1857129] - [idle] intel_idle: Eliminate redundant static variable (David Arcari) [1857129] - [idle] intel_idle: Update copyright notice, known limitations and version (David Arcari) [1857129] - [idle] intel_idle: Define CPUIDLE_FLAG_TLB_FLUSHED as BIT(16) (David Arcari) [1857129] - [idle] intel_idle: Clean up kerneldoc comments for multiple functions (David Arcari) [1857129] - [idle] intel_idle: Reorder declarations of static variables (David Arcari) [1857129] - [idle] intel_idle: Annotate init time data structures (David Arcari) [1857129] - [idle] intel_idle: Add __initdata annotations to init time variables (David Arcari) [1857129] - [idle] intel_idle: Relocate definitions of cpuidle callbacks (David Arcari) [1857129] - [idle] intel_idle: Clean up definitions of cpuidle callbacks (David Arcari) [1857129] - [idle] intel_idle: Simplify LAPIC timer reliability checks (David Arcari) [1857129] - [idle] intel_idle: Introduce 'states_off' module parameter (David Arcari) [1857129] - [idle] intel_idle: Clean up irtl_2_usec() (David Arcari) [1857129] - [idle] intel_idle: Move 3 functions closer to their callers (David Arcari) [1857129] - [idle] intel_idle: Annotate initialization code and data structures (David Arcari) [1857129] - [idle] intel_idle: Move and clean up intel_idle_cpuidle_devices_uninit() (David Arcari) [1857129] - [idle] intel_idle: Rearrange intel_idle_cpuidle_driver_init() (David Arcari) [1857129] - [idle] intel_idle: Clean up NULL pointer check in intel_idle_init() (David Arcari) [1857129] - [idle] intel_idle: Fold intel_idle_probe() into intel_idle_init() (David Arcari) [1857129] - [idle] intel_idle: Eliminate __setup_broadcast_timer() (David Arcari) [1857129] - [idle] treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 335 (David Arcari) [1857129]- [hv] hv: vmbus: Allow cleanup of VMBUS_CONNECT_CPU if disconnected (Mohammed Gamal) [1886096] - [hv] hv: vmbus: Add parsing of VMbus interrupt in ACPI DSDT (Mohammed Gamal) [1886096] - [hv] driver: hv: util: Use VMBUS_RING_SIZE() for ringbuffer sizes (Mohammed Gamal) [1886096] - [kernel] hv: vmbus: Move virt_to_hvpfn() to hyperv header (Mohammed Gamal) [1886096] - [hv] hv: Use HV_HYP_PAGE in hv_synic_enable_regs() (Mohammed Gamal) [1886096] - [hv] hv: vmbus: Introduce types of GPADL (Mohammed Gamal) [1886096] - [hv] hv: vmbus: Move __vmbus_open() (Mohammed Gamal) [1886096] - [hv] hv: vmbus: Always use HV_HYP_PAGE_SIZE for gpadl (Mohammed Gamal) [1886096] - [hv] hv: remove cast from hyperv_die_event (Mohammed Gamal) [1886096] - [hv] hv: Change flag to write log level in panic msg to false (Mohammed Gamal) [1886096] - [kernel] hv: vmbus: Remove the lock field from the vmbus_channel struct (Mohammed Gamal) [1886096] - [scsi] storvsc: Introduce the per-storvsc_device spinlock (Mohammed Gamal) [1886096] - [hv] hv: vmbus: Remove unnecessary channel->lock critical sections (sc_list updaters) (Mohammed Gamal) [1886096] - [hv] hv: vmbus: Use channel_mutex in channel_vp_mapping_show() (Mohammed Gamal) [1886096] - [hv] hv: vmbus: Remove unnecessary channel->lock critical sections (sc_list readers) (Mohammed Gamal) [1886096] - [hv] hv: vmbus: Replace cpumask_test_cpu(, cpu_online_mask) with cpu_online() (Mohammed Gamal) [1886096] - [hv] hv: vmbus: Remove the numa_node field from the vmbus_channel struct (Mohammed Gamal) [1886096] - [kernel] hv: vmbus: Remove the target_vp field from the vmbus_channel struct (Mohammed Gamal) [1886096] - [hv] hv: vmbus: Resolve more races involving init_vp_index() (Mohammed Gamal) [1886096] - [hv] hv: vmbus: Resolve race between init_vp_index() and CPU hotplug (Mohammed Gamal) [1886096] - [hv] driver: hv: vmbus: drop a no long applicable comment (Mohammed Gamal) [1886096] - [hv] hyper-v: Replace open-coded variant of *phN specifier (Mohammed Gamal) [1886096] - [hv] hyper-v: Supply GUID pointer to printf() like functions (Mohammed Gamal) [1886096] - [hv] hyper-v: Use UUID API for exporting the GUID (part 2) (Mohammed Gamal) [1886096] - [hv] hv: remove redundant assignment to pointer primary_channel (Mohammed Gamal) [1886096] - [scsi] storvsc: Re-init stor_chns when a channel interrupt is re-assigned (Mohammed Gamal) [1886096] - [hv] hv: vmbus: Introduce the CHANNELMSG_MODIFYCHANNEL message type (Mohammed Gamal) [1886096] - [hv] hv: vmbus: Synchronize init_vp_index() vs. CPU hotplug (Mohammed Gamal) [1886096] - [hv] hv: vmbus: Remove the unused HV_LOCALIZED channel affinity logic (Mohammed Gamal) [1886096] - [hv] hv: vmbus: Use a spin lock for synchronizing channel scheduling vs. channel removal (Mohammed Gamal) [1886096] - [hv] hv_utils: Always execute the fcopy and vss callbacks in a tasklet (Mohammed Gamal) [1886096] - [netdrv] hv_netvsc: Disable NAPI before closing the VMBus channel (Mohammed Gamal) [1886096] - [hv] hv: vmbus: Replace the per-CPU channel lists with a global array of channels (Mohammed Gamal) [1886096] - [hv] hv: vmbus: Don't bind the offer&rescind works to a specific CPU (Mohammed Gamal) [1886096] - [hv] hv: vmbus: Always handle the VMBus messages on CPU0 (Mohammed Gamal) [1886096] - [hv] hv: check VMBus messages lengths (Mohammed Gamal) [1886096] - [hv] hv: make sure that 'struct vmbus_channel_message_header' compiles correctly (Mohammed Gamal) [1886096] - [hv] hv: avoid passing opaque pointer to vmbus_onmessage() (Mohammed Gamal) [1886096] - [hv] hv: allocate the exact needed memory for messages (Mohammed Gamal) [1886096] - [hv] hv: copy from message page only what's needed (Mohammed Gamal) [1886096] - [x86] hyperv: Clarify comment on x2apic mode (Mohammed Gamal) [1886099] - [x86] hyperv: report value of misc_features (Mohammed Gamal) [1886099] - [x86] hyperv: Make hv_setup_sched_clock inline (Mohammed Gamal) [1886099] - [net] ipv6: reply ICMP error if the first fragment don't include all headers (Hangbin Liu) [1874734] - [net] icmpv6: Add ICMPv6 Parameter Problem, code 3 definition (Hangbin Liu) [1874734] - [powerpc] powerpc/process: Add missing include of stacktrace.h (Desnes Augusto Nunes do Rosario) [1883975] - [powerpc] powerpc/test_emulate_sstep: Fix build error (Desnes Augusto Nunes do Rosario) [1883975] - [nvdimm] powerpc/pmem: Initialize pmem device on newer hardware (Desnes Augusto Nunes do Rosario) [1878632] - [powerpc] powerpc/pmem: Avoid the barrier in flush routines (Desnes Augusto Nunes do Rosario) [1878632] - [powerpc] powerpc/pmem: Update ppc64 to use the new barrier instruction (Desnes Augusto Nunes do Rosario) [1878632] - [md] libnvdimm/nvdimm/flush: Allow architecture to override the flush barrier (Desnes Augusto Nunes do Rosario) [1878632] - [powerpc] powerpc/pmem: Add flush routines using new pmem store and sync instruction (Desnes Augusto Nunes do Rosario) [1878632] - [powerpc] powerpc/pmem: Add new instructions for persistent storage and sync (Desnes Augusto Nunes do Rosario) [1878632] - [powerpc] powerpc/pmem: Restrict papr_scm to P8 and above (Desnes Augusto Nunes do Rosario) [1878632] - [i2c] i2c: ismt: Add support for Intel Emmitsburg PCH (David Arcari) [1886162] - [include] timer: add fsleep for flexible sleeping (Josef Oskera) [1892674] - [scsi] qla2xxx: Update driver version to 10.02.00.103-k (Nilesh Javali) [1887427] - [scsi] scsi: qla2xxx: Return EBUSY on fcport deletion (Nilesh Javali) [1887427] - [trace] scsi: qla2xxx: Suppress two recently introduced compiler warnings (Nilesh Javali) [1887427] - [scsi] scsi: qla2xxx: Fix return of uninitialized value in rval (Nilesh Javali) [1887427] - [scsi] scsi: qla2xxx: Convert to DEFINE_SHOW_ATTRIBUTE (Nilesh Javali) [1887427] - [scsi] scsi: qla2xxx: Initialize variable in qla8044_poll_reg() (Nilesh Javali) [1887427] - [scsi] scsi: qla2xxx: Do not consume srb greedily (Nilesh Javali) [1887427] - [scsi] scsi: qla2xxx: Use constant when it is known (Nilesh Javali) [1887427] - [scsi] scsi: qla2xxx: Fix inconsistent format argument type in qla_dbg.c (Nilesh Javali) [1887427] - [scsi] scsi: qla2xxx: Fix inconsistent format argument type in qla_os.c (Nilesh Javali) [1887427] - [scsi] scsi: qla2xxx: Fix inconsistent format argument type in tcm_qla2xxx.c (Nilesh Javali) [1887427] - [scsi] scsi: qla2xxx: Fix point-to-point (N2N) device discovery issue (Nilesh Javali) [1887427] - [scsi] scsi: qla2xxx: Fix crash on session cleanup with unload (Nilesh Javali) [1887427] - [scsi] scsi: qla2xxx: Fix reset of MPI firmware (Nilesh Javali) [1887427] - [scsi] scsi: qla2xxx: Fix MPI reset needed message (Nilesh Javali) [1887427] - [scsi] scsi: qla2xxx: Fix buffer-buffer credit extraction error (Nilesh Javali) [1887427] - [scsi] scsi: qla2xxx: Correct the check for sscanf() return value (Nilesh Javali) [1887427] - [scsi] scsi: qla2xxx: Add SLER and PI control support (Nilesh Javali) [1887427] - [scsi] scsi: qla2xxx: Add IOCB resource tracking (Nilesh Javali) [1887427] - [scsi] scsi: qla2xxx: Add rport fields in debugfs (Nilesh Javali) [1887427] - [scsi] scsi: qla2xxx: Make tgt_port_database available in initiator mode (Nilesh Javali) [1887427] - [scsi] scsi: qla2xxx: Fix I/O errors during LIP reset tests (Nilesh Javali) [1887427] - [scsi] scsi: qla2xxx: Performance tweak (Nilesh Javali) [1887427] - [scsi] scsi: qla2xxx: Fix memory size truncation (Nilesh Javali) [1887427] - [scsi] scsi: qla2xxx: Reduce duplicate code in reporting speed (Nilesh Javali) [1887427] - [scsi] scsi: qla2xxx: Honor status qualifier in FCP_RSP per spec (Nilesh Javali) [1887427] - [scsi] scsi: qla2xxx: Allow dev_loss_tmo setting for FC-NVMe devices (Nilesh Javali) [1887427] - [scsi] scsi: qla2xxx: Setup debugfs entries for remote ports (Nilesh Javali) [1887427] - [scsi] scsi: qla2xxx: Fix I/O failures during remote port toggle testing (Nilesh Javali) [1887427] - [scsi] scsi: qla2xxx: Remove unneeded variable 'rval' (Nilesh Javali) [1887427] - [scsi] scsi: qla2xxx: Handle incorrect entry_type entries (Nilesh Javali) [1887427] - [scsi] scsi: qla2xxx: Log calling function name in qla2x00_get_sp_from_handle() (Nilesh Javali) [1887427] - [scsi] scsi: qla2xxx: Simplify return value logic in qla2x00_get_sp_from_handle() (Nilesh Javali) [1887427] - [scsi] scsi: qla2xxx: Warn if done() or free() are called on an already freed srb (Nilesh Javali) [1887427] - [scsi] scsi: qla2xxx: Fix the return value (Nilesh Javali) [1887427] - [scsi] scsi: qla2xxx: Fix wrong return value in qla_nvme_register_hba() (Nilesh Javali) [1887427] - [scsi] scsi: qla2xxx: Fix wrong return value in qlt_chk_unresolv_exchg() (Nilesh Javali) [1887427] - [scsi] scsi: qla2xxx: Remove redundant variable initialization (Nilesh Javali) [1887427] - [scsi] scsi: qla2xxx: Fix the size used in a 'dma_free_coherent()' call (Nilesh Javali) [1887427] - [scsi] scsi: qla2xxx: Remove pci-dma-compat wrapper API (Nilesh Javali) [1887427] - [scsi] scsi: qla2xxx: Remove superfluous memset() (Nilesh Javali) [1887427] - [scsi] scsi: qla2xxx: Fix regression on sparc64 (Nilesh Javali) [1887427] - [scsi] scsi: qla2xxx: Use MBX_TOV_SECONDS for mailbox command timeout values (Nilesh Javali) [1887427] - [scsi] scsi: qla2xxx: Address a set of sparse warnings (Nilesh Javali) [1887427] - [scsi] scsi: qla2xxx: SAN congestion management implementation (Nilesh Javali) [1887427] - [scsi] scsi: qla2xxx: Change in PUREX to handle FPIN ELS requests (Nilesh Javali) [1887427] - [scsi] scsi: qla2xxx: Introduce a function for computing the debug message prefix (Nilesh Javali) [1887427] - [scsi] scsi: qla2xxx: Make qla2x00_restart_isp() easier to read (Nilesh Javali) [1887427] - [scsi] scsi: qla2xxx: Fix a Coverity complaint in qla2100_fw_dump() (Nilesh Javali) [1887427] - [scsi] scsi: qla2xxx: Make __qla2x00_alloc_iocbs() initialize 32 bits of request_t.handle (Nilesh Javali) [1887427] - [scsi] scsi: qla2xxx: Remove a superfluous cast (Nilesh Javali) [1887427] - [scsi] scsi: qla2xxx: Initialize 'n' before using it (Nilesh Javali) [1887427] - [scsi] scsi: qla2xxx: Make qla82xx_flash_wait_write_finish() easier to read (Nilesh Javali) [1887427] - [scsi] scsi: qla2xxx: Remove the __packed annotation from struct fcp_hdr and fcp_hdr_le (Nilesh Javali) [1887427] - [scsi] scsi: qla2xxx: Check the size of struct fcp_hdr at compile time (Nilesh Javali) [1887427] - [scsi] scsi: qla2xxx: Fix a condition in qla2x00_find_all_fabric_devs() (Nilesh Javali) [1887427] - [scsi] scsi: qla2xxx: Set NVMe status code for failed NVMe FCP request (Nilesh Javali) [1887427] - [scsi] scsi: Fix trivial spelling (Nilesh Javali) [1887427] - [scsi] scsi: qla2xxx: Remove return value from qla_nvme_ls() (Nilesh Javali) [1887427] - [scsi] scsi: qla2xxx: Remove an unused function (Nilesh Javali) [1887427] - [scsi] scsi: qla2xxx: Fix endianness annotations in source files (Nilesh Javali) [1887427] - [scsi] scsi: qla2xxx: Fix endianness annotations in header files (Nilesh Javali) [1887427] - [scsi] scsi: qla2xxx: Use make_handle() instead of open-coding it (Nilesh Javali) [1887427] - [scsi] scsi: qla2xxx: Cast explicitly to uint16_t / uint32_t (Nilesh Javali) [1887427] - [scsi] scsi: qla2xxx: Change {RD, WRT}_REG_*() function names from upper case into lower case (Nilesh Javali) [1887427] - [scsi] scsi: qla2xxx: Fix the code that reads from mailbox registers (Nilesh Javali) [1887427] - [scsi] scsi: qla2xxx: Use register names instead of register offsets (Nilesh Javali) [1887427] - [scsi] scsi: qla2xxx: Change two hardcoded constants into offsetof() / sizeof() expressions (Nilesh Javali) [1887427] - [scsi] scsi: qla2xxx: Increase the size of struct qla_fcp_prio_cfg to FCP_PRIO_CFG_SIZE (Nilesh Javali) [1887427] - [scsi] scsi: qla2xxx: Make a gap in struct qla2xxx_offld_chain explicit (Nilesh Javali) [1887427] - [scsi] scsi: qla2xxx: Add more BUILD_BUG_ON() statements (Nilesh Javali) [1887427] - [scsi] scsi: qla2xxx: Sort BUILD_BUG_ON() statements alphabetically (Nilesh Javali) [1887427] - [scsi] scsi: qla2xxx: Simplify the functions for dumping firmware (Nilesh Javali) [1887427] - [scsi] scsi: qla2xxx: Fix spelling of a variable name (Nilesh Javali) [1887427] - [scsi] scsi: qla2xxx: Do not log message when reading port speed via sysfs (Nilesh Javali) [1887427] - [scsi] scsi: qla2xxx: Make qlafx00_process_aen() return void (Nilesh Javali) [1887427] - [scsi] scsi: qla2xxx: Use true, false for ha->fw_dumped (Nilesh Javali) [1887427] - [scsi] scsi: qla2xxx: Use true, false for need_mpi_reset (Nilesh Javali) [1887427] - [scsi] scsi: qla2xxx: Make qla_set_ini_mode() return void (Nilesh Javali) [1887427] - [scsi] scsi: qla2xxx: Fix issue with adapter's stopping state (Nilesh Javali) [1887427] - [scsi] scsi: qla2xxx: Fix failure message in qlt_disable_vha() (Nilesh Javali) [1887427] - [scsi] scsi: qla2xxx: Fix warning after FC target reset (Nilesh Javali) [1887427] - [scsi] scsi: qla2xxx: check UNLOADING before posting async work (Nilesh Javali) [1887427] - [scsi] scsi: qla2xxx: set UNLOADING before waiting for session deletion (Nilesh Javali) [1887427] - [scsi] scsi: qla2xxx: Use ARRAY_SIZE() instead of open-coding it (Nilesh Javali) [1887427] - [scsi] scsi: qla2xxx: Split qla2x00_configure_local_loop() (Nilesh Javali) [1887427] - [scsi] scsi: qla2xxx: Fix regression warnings (Nilesh Javali) [1887427] - [scsi] scsi: qla2xxx: Remove non functional code (Nilesh Javali) [1887427] - [scsi] scsi: qla2xxx: add ring buffer for tracing debug logs (Nilesh Javali) [1887427] - [scsi] scsi: qla2xxx: Fix RDP respond data format (Nilesh Javali) [1887427] - [scsi] scsi: qla2xxx: fix FW resource count values (Nilesh Javali) [1887427] - [scsi] scsi: qla2xxx: Improved secure flash support messages (Nilesh Javali) [1887427] - [scsi] scsi: qla2xxx: Use FC generic update firmware options routine for ISP27xx (Nilesh Javali) [1887427] - [scsi] scsi: qla2xxx: Avoid setting firmware options twice in 24xx_update_fw_options (Nilesh Javali) [1887427] - [scsi] scsi: qla2xxx: Convert MAKE_HANDLE() from a define into an inline function (Nilesh Javali) [1887427] - [scsi] scsi: qla2xxx: Fix sparse warnings triggered by the PCI state checking code (Nilesh Javali) [1887427] - [scsi] scsi: qla2xxx: Suppress endianness complaints in qla2x00_configure_local_loop() (Nilesh Javali) [1887427] - [scsi] scsi: qla2xxx: Simplify the code for aborting SCSI commands (Nilesh Javali) [1887427] - [scsi] scsi: qla2xxx: Fix sparse warning reported by kbuild bot (Nilesh Javali) [1887427] - [scsi] scsi: qla2xxx: Print portname for logging in qla24xx_logio_entry() (Nilesh Javali) [1887427] - [scsi] scsi: qla2xxx: Fix qla2x00_echo_test() based on ISP type (Nilesh Javali) [1887427] - [scsi] scsi: qla2xxx: Correction to selection of loopback/echo test (Nilesh Javali) [1887427] - [scsi] scsi: qla2xxx: Fix RDP response size (Nilesh Javali) [1887427] - [scsi] scsi: qla2xxx: Handle cases for limiting RDP response payload length (Nilesh Javali) [1887427] - [scsi] scsi: qla2xxx: Add deferred queue for processing ABTS and RDP (Nilesh Javali) [1887427] - [scsi] scsi: qla2xxx: Cleanup ELS/PUREX iocb fields (Nilesh Javali) [1887427] - [scsi] scsi: qla2xxx: Show correct port speed capabilities for RDP command (Nilesh Javali) [1887427] - [scsi] scsi: qla2xxx: Display message for FCE enabled (Nilesh Javali) [1887427] - [scsi] scsi: qla2xxx: Add vendor extended FDMI commands (Nilesh Javali) [1887427] - [scsi] scsi: qla2xxx: Add ql2xrdpenable module parameter for RDP (Nilesh Javali) [1887427] - [scsi] scsi: qla2xxx: Add vendor extended RDP additions and amendments (Nilesh Javali) [1887427] - [scsi] scsi: qla2xxx: Add changes in preparation for vendor extended FDMI/RDP (Nilesh Javali) [1887427] - [scsi] scsi: qla2xxx: Fix gnl.l memory leak on adapter init failure (Nilesh Javali) [1887427]- [kernel] PM: hibernate: Batch hibernate and resume IO requests (Lenny Szubowicz) [1868096] - [net] tunnels: Fix off-by-one in lower MTU bounds for ICMP/ICMPv6 replies (Antoine Tenart) [1895765] - [block] block: mark flush request as IDLE when it is really finished (Ming Lei) [1895913] - [net] vsock: forward all packets to the host when no H2G is registered (Vitaly Kuznetsov) [1893826] - [maintainers] maintainers: Add entry for the Nitro Enclaves driver (Vitaly Kuznetsov) [1893826] - [documentation] nitro_enclaves: Add overview documentation (Vitaly Kuznetsov) [1893826] - [samples] nitro_enclaves: Add sample for ioctl interface usage (Vitaly Kuznetsov) [1893826] - [virt] nitro_enclaves: Add Makefile for the Nitro Enclaves driver (Vitaly Kuznetsov) [1893826] - [virt] nitro_enclaves: Add Kconfig for the Nitro Enclaves driver (Vitaly Kuznetsov) [1893826] - [virt] nitro_enclaves: Add logic for terminating an enclave (Vitaly Kuznetsov) [1893826] - [virt] nitro_enclaves: Add logic for starting an enclave (Vitaly Kuznetsov) [1893826] - [virt] nitro_enclaves: Add logic for setting an enclave memory region (Vitaly Kuznetsov) [1893826] - [virt] nitro_enclaves: Add logic for getting the enclave image load info (Vitaly Kuznetsov) [1893826] - [virt] nitro_enclaves: Add logic for setting an enclave vCPU (Vitaly Kuznetsov) [1893826] - [virt] nitro_enclaves: Add logic for creating an enclave VM (Vitaly Kuznetsov) [1893826] - [virt] nitro_enclaves: Init misc device providing the ioctl interface (Vitaly Kuznetsov) [1893826] - [virt] nitro_enclaves: Handle out-of-band PCI device events (Vitaly Kuznetsov) [1893826] - [virt] nitro_enclaves: Handle PCI device command requests (Vitaly Kuznetsov) [1893826] - [virt] nitro_enclaves: Init PCI device driver (Vitaly Kuznetsov) [1893826] - [virt] nitro_enclaves: Define enclave info for internal bookkeeping (Vitaly Kuznetsov) [1893826] - [virt] nitro_enclaves: Define the PCI device interface (Vitaly Kuznetsov) [1893826] - [uapi] nitro_enclaves: Add ioctl interface definition (Vitaly Kuznetsov) [1893826] - [kernel] cpu/hotplug: Add new {add, remove}_cpu() functions (Vitaly Kuznetsov) [1893826] - [x86] x86/delay: Introduce TPAUSE delay (Prarit Bhargava) [1838636] - [x86] x86/delay: Refactor delay_mwaitx() for TPAUSE support (Prarit Bhargava) [1838636] - [x86] x86/delay: Preparatory code cleanup (Prarit Bhargava) [1838636] - [net] netfilter: ipset: Update byte and packet counters regardless of whether they match (Phil Sutter) [1806882] - [net] ethtool: add and use message type for tunnel info reply (Ivan Vecera) [1867211] - [infiniband] RDMA/hns: Mark hns_roce driver as unsupported (Kamal Heib) [1878211] - [net] tipc: fix memory leak caused by tipc_buf_append() (Xin Long) [1865774] - [net] tipc: fix the skb_unshare() in tipc_buf_append() (Xin Long) [1865774] - [net] tipc: use skb_unshare() instead in tipc_buf_append() (Xin Long) [1865774] - [netdrv] net: team: fix memory leak in __team_options_register (Hangbin Liu) [1892142] - [netdrv] team: set dev->needed_headroom in team_setup_by_port() (Hangbin Liu) [1892142] - [netdrv] team: use netif_is_team_port() (Hangbin Liu) [1892142] - [char] random: decouple random and urandom extrng fops (Vladis Dronov) [1890711] - [platform] platform/x86: intel_pmc_core: Add Intel RocketLake (RKL) support (Steve Best) [1782713] - [netdrv] fm10k: convert to new udp_tunnel_nic infra (Vladis Dronov) [1884254] - [netdrv] ethernet/intel: Convert fallthrough code comments (Vladis Dronov) [1884254] - [netdrv] docs: networking: reorganize driver documentation again (Vladis Dronov) [1884254] - [netdrv] net/intel: remove driver versions from Intel drivers (Vladis Dronov) [1884254] - [infiniband] RDMA/core: Fix ordering of CQ pool destruction (Kamal Heib) [1878969 1857603] - [infiniband] IB/isert: Fix unaligned immediate-data handling (Kamal Heib) [1857603] - [infiniband] RDMA/core: Fix reported speed and width (Kamal Heib) [1857603] - [infiniband] RDMA/core: Fix unsafe linked list traversal after failing to allocate CQ (Kamal Heib) [1857603] - [infiniband] RDMA/rxe: Fix panic when calling kmem_cache_create() (Kamal Heib) [1867296 1857603] - [infiniband] RDMA/rxe: Fix memleak in rxe_mem_init_user (Kamal Heib) [1857603] - [net] xprtrdma: Release in-flight MRs on disconnect (Kamal Heib) [1857603] - [infiniband] RDMA/rxe: Fix the parent sysfs read when the interface has 15 chars (Kamal Heib) [1870430 1857603] - [infiniband] RDMA/hfi1: Correct an interlock issue for TID RDMA WRITE request (Kamal Heib) [1870281 1857603] - [infiniband] RDMA/core: Fix spelling mistake "Could't" -> "Couldn't" (Kamal Heib) [1857603] - [infiniband] RDMA/rxe: Remove pkey table (Kamal Heib) [1857603] - [infiniband] RDMA/umem: Add a schedule point in ib_umem_get() (Kamal Heib) [1857603] - [infiniband] RDMA/netlink: Remove CAP_NET_RAW check when dump a raw QP (Kamal Heib) [1857603] - [rdma] RDMA/include: Replace license text with SPDX tags (Kamal Heib) [1857603] - [infiniband] RDMA/cma: Execute rdma_cm destruction from a handler properly (Kamal Heib) [1857603] - [infiniband] RDMA/cma: Remove unneeded locking for req paths (Kamal Heib) [1857603] - [infiniband] RDMA/cma: Using the standard locking pattern when delivering the removal event (Kamal Heib) [1857603] - [infiniband] RDMA/cma: Simplify DEVICE_REMOVAL for internal_id (Kamal Heib) [1857603] - [infiniband] RDMA/efa: Add EFA 0xefa1 PCI ID (Kamal Heib) [1857603] - [infiniband] RDMA/efa: User/kernel compatibility handshake mechanism (Kamal Heib) [1857603] - [infiniband] RDMA/efa: Expose minimum SQ size (Kamal Heib) [1857603] - [infiniband] RDMA/efa: Expose maximum TX doorbell batch (Kamal Heib) [1857603] - [infiniband] IB/srpt: use new shared CQ mechanism (Kamal Heib) [1857603] - [infiniband] IB/isert: use new shared CQ mechanism (Kamal Heib) [1857603] - [infiniband] IB/iser: use new shared CQ mechanism (Kamal Heib) [1857603] - [infiniband] RDMA/core: Fix return error value in _ib_modify_qp() to negative (Kamal Heib) [1857603] - [infiniband] RDMA/uverbs: Silence shiftTooManyBitsSigned warning (Kamal Heib) [1857603] - [infiniband] RDMA/core: Update write interface to use automatic object lifetime (Kamal Heib) [1857603] - [infiniband] RDMA/core: Align abort/commit object scheme for write() and ioctl() paths (Kamal Heib) [1857603] - [uapi] RDMA: rdma_user_ioctl.h: fix a duplicated word + clarify (Kamal Heib) [1857603] - [infiniband] RDMA/qedr: Remove the query_pkey callback (Kamal Heib) [1857603] - [infiniband] RDMA/i40iw: Remove the query_pkey callback (Kamal Heib) [1857603] - [infiniband] RDMA/cxgb4: Remove the query_pkey callback (Kamal Heib) [1857603] - [infiniband] RDMA/siw: Remove the query_pkey callback (Kamal Heib) [1857603] - [infiniband] RDMA/core: Remove query_pkey from the mandatory ops (Kamal Heib) [1857603] - [infiniband] RDMA/core: Allocate the pkey cache only if the pkey_tbl_len is set (Kamal Heib) [1857603] - [infiniband] RDMA/core: Expose pkeys sysfs files only if pkey_tbl_len is set (Kamal Heib) [1857603] - [infiniband] RDMA/rxe: Prevent access to wr->next ptr afrer wr is posted to send queue (Kamal Heib) [1857603] - [infiniband] IB/hfi1: Remove unnecessary fall-through markings (Kamal Heib) [1857603] - [infiniband] RDMA/rxe: Remove rxe_link_layer() (Kamal Heib) [1857603] - [infiniband] RDMA/rxe: Return void from rxe_mem_init_dma() (Kamal Heib) [1857603] - [infiniband] RDMA/rxe: Return void from rxe_init_port_param() (Kamal Heib) [1857603] - [infiniband] RDMA/rxe: Drop pointless checks in rxe_init_ports (Kamal Heib) [1857603] - [infiniband] RDMA/counter: Allow manually bind QPs with different pids to same counter (Kamal Heib) [1857603] - [infiniband] RDMA/counter: Only bind user QPs in auto mode (Kamal Heib) [1857603] - [infiniband] RDMA/counter: Add PID category support in auto mode (Kamal Heib) [1857603] - [infiniband] RDMA/rxe: Skip dgid check in loopback mode (Kamal Heib) [1857603] - [infiniband] RDMA/core: Create and destroy counters in the ib_core (Kamal Heib) [1857603] - [infiniband] IB/uverbs: Expose UAPI to query MR (Kamal Heib) [1857603] - [infiniband] IB/uverbs: Expose UAPI to query ucontext (Kamal Heib) [1857603] - [infiniband] IB/uverbs: Set IOVA on IB MR in uverbs layer (Kamal Heib) [1857603] - [infiniband] IB/uverbs: Enable CQ ioctl commands by default (Kamal Heib) [1857603] - [infiniband] RDMA/core: Clean ib_alloc_xrcd() and reuse it to allocate XRC domain (Kamal Heib) [1857603] - [infiniband] RDMA: Remove the udata parameter from alloc_mr callback (Kamal Heib) [1857603] - [infiniband] RDMA/core: Remove ib_alloc_mr_user function (Kamal Heib) [1857603] - [infiniband] RDMA/core: Check for error instead of success in alloc MR function (Kamal Heib) [1857603] - [infiniband] RDMA/core: Clean up tracepoint headers (Kamal Heib) [1857603] - [infiniband] RDMA/ipoib: Handle user-supplied address when creating child (Kamal Heib) [1857603] - [infiniband] RDMA/core: Fix bogus WARN_ON during ib_unregister_device_queued() (Kamal Heib) [1857603] - [infiniband] IB/hfi1: Convert PCIBIOS_* errors to generic -E* errors (Kamal Heib) [1857603] - [infiniband] RDMA/core: Delete not-used create RWQ table function (Kamal Heib) [1857603] - [infiniband] IB/mad: Delete RMPP_STATE_CANCELING state (Kamal Heib) [1857603] - [infiniband] IB/mad: Change atomics to refcount API (Kamal Heib) [1857603] - [infiniband] IB/mad: Issue complete whenever decrements agent refcount (Kamal Heib) [1857603] - [infiniband] RDMA: Add support to dump resource tracker in RAW format (Kamal Heib) [1857603] - [infiniband] RDMA: Add dedicated CM_ID resource tracker function (Kamal Heib) [1857603] - [infiniband] RDMA: Add dedicated QP resource tracker function (Kamal Heib) [1857603] - [infiniband] RDMA: Add a dedicated CQ resource tracker function (Kamal Heib) [1857603] - [infiniband] RDMA: Add dedicated MR resource tracker function (Kamal Heib) [1857603] - [infiniband] RDMA/core: Don't call fill_res_entry for PD (Kamal Heib) [1857603] - [infiniband] RDMA/rxe: Remove unused rxe_mem_map_pages (Kamal Heib) [1857603] - [infiniband] RDMA/hfi1: Remove hfi1_create_qp declaration (Kamal Heib) [1857603] - [infiniband] RDMA/ipoib: Return void from ipoib_mcast_stop_thread() (Kamal Heib) [1857603] - [infiniband] RDMA: Correct trivial kernel-doc inconsistencies (Kamal Heib) [1857603] - [infiniband] IB/srpt: Remove WARN_ON from srpt_cm_req_recv (Kamal Heib) [1857603] - [tools] tools/power turbostat: Support additional CPU model numbers (Steve Best) [1782718] - [net] udp_tunnel: add the ability to hard-code IANA VXLAN (Ivan Vecera) [1879204] - [tools] selftests: net: add a test for UDP tunnel info infra (Ivan Vecera) [1867211] - [netdrv] netdevsim: add UDP tunnel port offload support (Ivan Vecera) [1867211] - [net] ethtool: add tunnel info interface (Ivan Vecera) [1867211] - [net] ethtool: Make helpers public (Ivan Vecera) [1867211] - [net] udp_tunnel: add central NIC RX port offload infrastructure (Ivan Vecera) [1867211] - [net] udp_tunnel: re-number the offload tunnel types (Ivan Vecera) [1867211] - [fs] debugfs: make sure we can remove u32_array files cleanly (Ivan Vecera) [1867211] - [fs] debugfs: make debugfs_create_u32_array() return void (Ivan Vecera) [1867211] - [fs] debugfs: update documented return values of debugfs helpers (Ivan Vecera) [1867211]- [net] openvswitch: fix to make sure flow_lookup() is not preempted (Eelco Chaudron) [1888237] - [netdrv] powerpc/vnic: Extend "failover pending" window (Steve Best) [1897280] - [net] ipv6: Set SIT tunnel hard_header_len to zero (Davide Caratti) [1897244] - [net] ip_tunnel: fix over-mtu packet send fail without TUNNEL_DONT_FRAGMENT flags (Davide Caratti) [1897244] - [net] gre6: Fix reception with IP6_TNL_F_RCV_DSCP_COPY (Davide Caratti) [1897244] - [netdrv] vxlan: fix memleak of fdb (Davide Caratti) [1897244] - [net] vxlan: Ensure FDB dump is performed under RCU (Davide Caratti) [1897244] - [net] gre: refetch erspan header from skb->data after pskb_may_pull() (Davide Caratti) [1897244] - [net] erspan: fix the tun_info options_len check for erspan (Davide Caratti) [1897244] - [net] ip_gre: fix possible use-after-free in erspan_rcv (Davide Caratti) [1897244] - [net] erspan: fix error handling for erspan tunnel (Davide Caratti) [1897244] - [net] erspan: return PACKET_REJECT when the appropriate tunnel is not found (Davide Caratti) [1897244] - [netdrv] net: atlantic: fix build when object tree is separate (Igor Russkikh) [1857861] - [netdrv] net: atlantic: Use readx_poll_timeout() for large timeout (Igor Russkikh) [1857861] - [netdrv] net: ethernet: aquantia: Fix wrong return value (Igor Russkikh) [1857861] - [netdrv] net: atlantic: fix PTP on AQC10X (Igor Russkikh) [1857861] - [netdrv] net: atlantic: add hwmon getter for MAC temperature (Igor Russkikh) [1857861] - [netdrv] net: atlantic: A0 ntuple filters (Igor Russkikh) [1857861] - [netdrv] net: atlantic: use intermediate variable to improve readability a bit (Igor Russkikh) [1857861] - [netdrv] net: atlantic: use U32_MAX in aq_hw_utils.c (Igor Russkikh) [1857861] - [netdrv] net: atlantic: add support for 64-bit reads/writes (Igor Russkikh) [1857861] - [netdrv] net: atlantic: enable ipv6 support for TCP LSO and UDP GSO (Igor Russkikh) [1857861] - [netdrv] net: atlantic: PTP statistics (Igor Russkikh) [1857861] - [netdrv] net: atlantic: additional per-queue stats (Igor Russkikh) [1857861] - [netdrv] net: atlantic: use u64_stats_update_* to protect access to 64-bit stats (Igor Russkikh) [1857861] - [netdrv] net: atlantic: split rx and tx per-queue stats (Igor Russkikh) [1857861] - [netdrv] net: atlantic: make _get_sw_stats return count as return value (Igor Russkikh) [1857861] - [netdrv] net: atlantic: use simple assignment in _get_stats and _get_sw_stats (Igor Russkikh) [1857861] - [netdrv] net: atlantic: move FRAC_PER_NS to aq_hw.h (Igor Russkikh) [1857861] - [netdrv] net: atlantic: add support for FW 4.x (Igor Russkikh) [1857861] - [netdrv] net: atlantic: align return value of ver_match function with function name (Igor Russkikh) [1857861] - [netdrv] net: atlantic: disable PTP on AQC111, AQC112 (Igor Russkikh) [1857861] - [netdrv] net: atlantic: fix ip dst and ipv6 address filters (Igor Russkikh) [1857861] - [netdrv] net: aquantia: fix aq_ndev_start_xmit()'s return type (Igor Russkikh) [1857861] - [netdrv] net: atlantic: put ptp code under IS_REACHABLE check (Igor Russkikh) [1857861] - [netdrv] net: atlantic: add alignment checks in hw_atl2_utils_fw.c (Igor Russkikh) [1857861] - [netdrv] net: atlantic: missing space in a comment in aq_nic.h (Igor Russkikh) [1857861] - [netdrv] net: atlantic: fix typo in aq_ring_tx_clean (Igor Russkikh) [1857861] - [netdrv] net: atlantic: make aq_pci_func_init static (Igor Russkikh) [1857861] - [netdrv] net: atlantic: Replace ENOTSUPP usage to EOPNOTSUPP (Igor Russkikh) [1857861] - [netdrv] net: atlantic: fix variable type in aq_ethtool_get_pauseparam (Igor Russkikh) [1857861] - [netdrv] net: atlantic: A2: phy loopback support (Igor Russkikh) [1857861] - [netdrv] net: atlantic: A2: report link partner capabilities (Igor Russkikh) [1857861] - [netdrv] net: atlantic: A2: flow control support (Igor Russkikh) [1857861] - [netdrv] net: atlantic: A2: EEE support (Igor Russkikh) [1857861] - [netdrv] net: atlantic: remove baseX usage (Igor Russkikh) [1857861] - [netdrv] net: atlantic: A2: half duplex support (Igor Russkikh) [1857861] - [netdrv] net: atlantic: proper rss_ctrl1 (54c0) initialization (Igor Russkikh) [1857861] - [netdrv] net: atlantic: QoS implementation: min_rate (Igor Russkikh) [1857861] - [netdrv] net: atlantic: change the order of arguments for TC weight/credit setters (Igor Russkikh) [1857861] - [netdrv] net: atlantic: always use random TC-queue mapping for TX on A2 (Igor Russkikh) [1857861] - [netdrv] net: atlantic: automatically downgrade the number of queues if necessary (Igor Russkikh) [1857861] - [netdrv] net: atlantic: QoS implementation: max_rate (Igor Russkikh) [1857861] - [netdrv] net: atlantic: make TCVEC2RING accept nic_cfg (Igor Russkikh) [1857861] - [netdrv] net: atlantic: per-TC queue statistics (Igor Russkikh) [1857861] - [netdrv] net: atlantic: QoS implementation: multi-TC support (Igor Russkikh) [1857861] - [netdrv] net: atlantic: changes for multi-TC support (Igor Russkikh) [1857861] - [netdrv] net: atlantic: move PTP TC initialization to a separate function (Igor Russkikh) [1857861] - [netdrv] net: atlantic: changes for multi-TC support (Igor Russkikh) [1857861] - [netdrv] net: atlantic: unify MAC generation (Igor Russkikh) [1857861] - [netdrv] net: atlantic: remove check for boot code survivability before reset request (Igor Russkikh) [1857861] - [netdrv] net: atlantic: remove hw_atl_b0_hw_rss_set call from A2 code (Igor Russkikh) [1857861] - [netdrv] net: atlantic: remove TPO2 check from A0 code (Igor Russkikh) [1857861] - [netdrv] net: atlantic: rename AQ_NIC_RATE_2GS to AQ_NIC_RATE_2G5 (Igor Russkikh) [1857861] - [netdrv] net: atlantic: use __packed instead of the full expansion (Igor Russkikh) [1857861] - [netdrv] net: atlantic: A2 ingress / egress hw configuration (Igor Russkikh) [1857861] - [netdrv] net: atlantic: basic A2 init/deinit hw_ops (Igor Russkikh) [1857861] - [netdrv] net: atlantic: common functions needed for basic A2 init/deinit hw_ops (Igor Russkikh) [1857861] - [netdrv] net: atlantic: HW bindings for basic A2 init/deinit hw_ops (Igor Russkikh) [1857861] - [netdrv] net: atlantic: add A2 RPF hw_ops (Igor Russkikh) [1857861] - [netdrv] net: atlantic: HW bindings for A2 RFP (Igor Russkikh) [1857861] - [netdrv] net: atlantic: A2 hw_ops skeleton (Igor Russkikh) [1857861] - [netdrv] net: atlantic: minimal A2 fw_ops (Igor Russkikh) [1857861] - [netdrv] net: atlantic: minimal A2 HW bindings required for fw_ops (Igor Russkikh) [1857861] - [netdrv] net: atlantic: A2 driver-firmware interface (Igor Russkikh) [1857861] - [netdrv] net: atlantic: move IS_CHIP_FEATURE to aq_hw.h (Igor Russkikh) [1857861] - [netdrv] net: atlantic: make hw_get_regs optional (Igor Russkikh) [1857861] - [netdrv] net: atlantic: simplify hw_get_fw_version() usage (Igor Russkikh) [1857861] - [netdrv] net: atlantic: add hw_soft_reset, hw_prepare to hw_ops (Igor Russkikh) [1857861] - [netdrv] net: atlantic: add defines for 10M and EEE 100M link mode (Igor Russkikh) [1857861] - [netdrv] net: atlantic: add A2 device IDs (Igor Russkikh) [1857861] - [netdrv] net: atlantic: update company name in the driver description (Igor Russkikh) [1857861] - [netdrv] aquantia: Fix the media type of AQC100 ethernet controller in the driver (Igor Russkikh) [1857861] - [netdrv] net: atlantic: MACSec offload statistics implementation (Igor Russkikh) [1857861] - [netdrv] net: aquantia: reject all unsupported coalescing params (Igor Russkikh) [1857861] - [netdrv] net: atlantic: Replace zero-length array with flexible-array member (Igor Russkikh) [1857861] - [netdrv] net/aquantia: Delete module version (Igor Russkikh) [1857861] - [netdrv] net: atlantic: fix out of range usage of active_vlans array (Igor Russkikh) [1857861] - [netdrv] net: atlantic: possible fault in transition to hibernation (Igor Russkikh) [1857861] - [netdrv] net: atlantic: fix potential error handling (Igor Russkikh) [1857861] - [netdrv] net: atlantic: fix use after free kasan warn (Igor Russkikh) [1857861] - [netdrv] net: atlantic: better loopback mode handling (Igor Russkikh) [1857861] - [netdrv] net: atlantic: ptp gpio adjustments (Igor Russkikh) [1857861] - [netdrv] net: atlantic: check rpc result and wait for rpc address (Igor Russkikh) [1857861] - [netdrv] net: atlantic: checksum compat issue (Igor Russkikh) [1857861] - [netdrv] net: atlantic: remove duplicate entries (Igor Russkikh) [1857861] - [netdrv] net: atlantic: loopback configuration in improper place (Igor Russkikh) [1857861] - [netdrv] net: atlantic: broken link status on old fw (Igor Russkikh) [1857861] - [netdrv] net: atlantic: Signedness bug in aq_vec_isr_legacy() (Igor Russkikh) [1857861] - [netdrv] net: atlantic: make function 'aq_ethtool_get_priv_flags', 'aq_ethtool_set_priv_flags' static (Igor Russkikh) [1857861] - [netdrv] net: atlantic: make symbol 'aq_pm_ops' static (Igor Russkikh) [1857861] - [netdrv] net: atlantic: change email domains to Marvell (Igor Russkikh) [1857861] - [netdrv] net: atlantic: implement UDP GSO offload (Igor Russkikh) [1857861] - [netdrv] net: atlantic: update flow control logic (Igor Russkikh) [1857861] - [netdrv] net: atlantic: stylistic renames (Igor Russkikh) [1857861] - [netdrv] net: atlantic: code style cleanup (Igor Russkikh) [1857861] - [netdrv] net: atlantic: loopback tests via private flags (Igor Russkikh) [1857861] - [netdrv] net: atlantic: add fw configuration memory area (Igor Russkikh) [1857861] - [netdrv] net: atlantic: adding ethtool physical identification (Igor Russkikh) [1857861] - [netdrv] net: atlantic: add msglevel configuration (Igor Russkikh) [1857861] - [netdrv] net: atlantic: refactoring pm logic (Igor Russkikh) [1857861] - [netdrv] net: atlantic: implement wake_phy feature (Igor Russkikh) [1857861] - [netdrv] net: atlantic: update firmware interface (Igor Russkikh) [1857861] - [netdrv] net: aquantia: fix return value check in aq_ptp_init() (Igor Russkikh) [1857861] - [netdrv] net: aquantia: fix error handling in aq_ptp_poll (Igor Russkikh) [1857861] - [netdrv] net: aquantia: remove unused including (Igor Russkikh) [1857861] - [netdrv] net: aquantia: make two symbols be static (Igor Russkikh) [1857861] - [netdrv] net: aquantia: fix unintention integer overflow on left shift (Igor Russkikh) [1857861] - [netdrv] net: aquantia: fix spelling mistake: tx_queus -> tx_queues (Igor Russkikh) [1857861] - [netdrv] net: aquantia: disable ptp object build if no config (Igor Russkikh) [1857861] - [netdrv] net: aquantia: fix warnings on endianness (Igor Russkikh) [1857861] - [netdrv] net: aquantia: fix var initialization warning (Igor Russkikh) [1857861] - [netdrv] net: aquantia: add support for PIN funcs (Igor Russkikh) [1857861] - [netdrv] net: aquantia: add support for Phy access (Igor Russkikh) [1857861] - [netdrv] net: aquantia: implement get_ts_info ethtool (Igor Russkikh) [1857861] - [netdrv] net: aquantia: add support for ptp ioctls (Igor Russkikh) [1857861] - [netdrv] net: aquantia: rx filters for ptp (Igor Russkikh) [1857861] - [netdrv] net: aquantia: implement data PTP datapath (Igor Russkikh) [1857861] - [netdrv] net: aquantia: styling fixes on ptp related functions (Igor Russkikh) [1857861] - [netdrv] net: aquantia: add PTP rings infrastructure (Igor Russkikh) [1857861] - [netdrv] net: aquantia: add basic ptp_clock callbacks (Igor Russkikh) [1857861] - [netdrv] net: aquantia: unify styling of bit enums (Igor Russkikh) [1857861] - [netdrv] net: aquantia: PTP skeleton declarations and callbacks (Igor Russkikh) [1857861] - [netdrv] net: aquantia: add an error handling in aq_nic_set_multicast_list (Igor Russkikh) [1857861] - [netdrv] net: aquantia: correctly handle macvlan and multicast coexistence (Igor Russkikh) [1857861] - [netdrv] net: aquantia: do not pass lro session with invalid tcp checksum (Igor Russkikh) [1857861] - [netdrv] net: aquantia: when cleaning hw cache it should be toggled (Igor Russkikh) [1857861] - [netdrv] net: aquantia: temperature retrieval fix (Igor Russkikh) [1857861] - [netdrv] net: aquantia: Fix aq_vec_isr_legacy() return value (Igor Russkikh) [1857861] - [netdrv] net: aquantia: fix out of memory condition on rx side (Igor Russkikh) [1857861] - [netdrv] net: aquantia: linkstate irq should be oneshot (Igor Russkikh) [1857861] - [netdrv] net: aquantia: fix limit of vlan filters (Igor Russkikh) [1857861] - [netdrv] net: aquantia: fix removal of vlan 0 (Igor Russkikh) [1857861] - [netdrv] net: aquantia: implement vlan offload configuration (Igor Russkikh) [1857861] - [netdrv] net: aquantia: vlan offloads logic in datapath (Igor Russkikh) [1857861] - [netdrv] net: aquantia: adding fields and device features for vlan offload (Igor Russkikh) [1857861] - [netdrv] net: aquantia: added vlan offload related macros and functions (Igor Russkikh) [1857861] - [netdrv] net: aquantia: make all files GPL-2.0-only (Igor Russkikh) [1857861] - [netdrv] net: aquantia: replace internal driver version code with uts (Igor Russkikh) [1857861] - [netdrv] treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 422 (Igor Russkikh) [1857861] - [netdrv] treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 308 (Igor Russkikh) [1857861] - [include] net: phy: introduce phy_read_mmd_poll_timeout macro (Josef Oskera) [1892739] - [include] net: phy: introduce phy_read_poll_timeout macro (Josef Oskera) [1892739] - [netdrv] phy: add device-managed devm_mdiobus_register (Josef Oskera) [1892740] - [include] net: add helper eth_hw_addr_crc (Josef Oskera) [1892738] - [netdrv] LiquidIO: mark liquidio and liquidio_vf as deprecated in RHEL8 (Stefan Assmann) [1878178] - [net] tcp: remove SOCK_QUEUE_SHRUNK (Paolo Abeni) [1890058] - [net] tcp: fix receive window update in tcp_add_backlog() (Paolo Abeni) [1890058] - [net] tcp: md5: allow changing MD5 keys in all socket states (Paolo Abeni) [1890058] - [net] tcp: fix SO_RCVLOWAT possible hangs under high mem pressure (Paolo Abeni) [1890058] - [net] tcp: md5: do not send silly options in SYNCOOKIES (Paolo Abeni) [1890058] - [net] tcp: grow window for OOO packets only for SACK flows (Paolo Abeni) [1890058] - [net] tcp: fix error recovery in tcp_zerocopy_receive() (Paolo Abeni) [1890058] - [net] tcp: fix SO_RCVLOWAT hangs with fat skbs (Paolo Abeni) [1890058] - [net] tcp: fix rx timestamp behavior for tcp_recvmsg (Paolo Abeni) [1890058] - [fs] smb3: smbdirect support can be configured by default (Leif Sahlberg) [1887940] - [fs] cifs: smbd: Do not schedule work to send immediate packet on every receive (Leif Sahlberg) [1887940] - [fs] cifs: smbd: Properly process errors on ib_post_send (Leif Sahlberg) [1887940] - [fs] cifs: Allocate crypto structures on the fly for calculating signatures of incoming packets (Leif Sahlberg) [1887940] - [fs] cifs: smbd: Update receive credits before sending and deal with credits roll back on failure before sending (Leif Sahlberg) [1887940] - [fs] cifs: smbd: Check send queue size before posting a send (Leif Sahlberg) [1887940] - [fs] cifs: smbd: Merge code to track pending packets (Leif Sahlberg) [1887940] - [fs] cifs: Allocate encryption header through kmalloc (Leif Sahlberg) [1887940] - [fs] cifs: smbd: Check and extend sender credits in interrupt context (Leif Sahlberg) [1887940] - [fs] cifs: smbd: Calculate the correct maximum packet size for segmented SMBDirect send/receive (Leif Sahlberg) [1887940] - [net] core: device_rename: Use rwsem instead of a seqcount (Patrick Talbert) [1883310]- [tools] perf tools: Add bpf image check to __map__is_kmodule (Michael Petlan) [1873270] - [tools] perf tools: Add support for PERF_RECORD_KSYMBOL_TYPE_OOL (Michael Petlan) [1873270] - [tools] perf record: Don't clear event's period if set by a term (Michael Petlan) [1873270] - [tools] perf bench: The do_run_multi_threaded() function must use IS_ERR(perf_session__new()) (Michael Petlan) [1873270] - [tools] perf top: Skip side-band event setup if HAVE_LIBBPF_SUPPORT is not set (Michael Petlan) [1873270] - [tools] perf record: Skip side-band event setup if HAVE_LIBBPF_SUPPORT is not set (Michael Petlan) [1873270] - [tools] perf evsel: Don't set sample_regs_intr/sample_regs_user for dummy event (Michael Petlan) [1873270] - [tools] perf stat: Turn off summary for interval mode by default (Michael Petlan) [1873270] - [tools] perf trace: Fix off by ones in memset() after realloc() in arches using libaudit (Michael Petlan) [1873270] - [tools] perf top/report: Fix infinite loop in the TUI for grouped events (Michael Petlan) [1873270] - [tools] redhat: use local hashmap library in perf (Michael Petlan) [1873270] - [tools] libtraceevent: Fix build with binutils 2.35 (Michael Petlan) [1873270] - [tools] perf tools: Fix record failure when mixed with ARM SPE event (Michael Petlan) [1873270] - [tools] perf tests: Fix test 68 zstd compression for s390 (Michael Petlan) [1873270] - [tools] tools lib traceevent: Fix memory leak in process_dynamic_array_len (Michael Petlan) [1873270] - [tools] perf tools: Sync hashmap.h with libbpf's (Michael Petlan) [1873270] - [tools] libsubcmd: Fix OPT_CALLBACK_SET() (Michael Petlan) [1873270] - [tools] perf report TUI: Remove needless 'dummy' event from menu (Michael Petlan) [1873270] - [tools] perf intel-pt: Fix PEBS sample for XMM registers (Michael Petlan) [1873270] - [tools] perf intel-pt: Fix displaying PEBS-via-PT with registers (Michael Petlan) [1873270] - [tools] perf intel-pt: Fix recording PEBS-via-PT with registers (Michael Petlan) [1873270] - [tools] tools lib traceevent: Add proper KBUFFER_TYPE_TIME_STAMP handling (Michael Petlan) [1873270] - [tools] tools lib traceevent: Add API to read time information from kbuffer (Michael Petlan) [1873270] - [tools] perf scripts python: exported-sql-viewer.py: Fix time chart call tree (Michael Petlan) [1873270] - [tools] perf scripts python: exported-sql-viewer.py: Fix zero id in call tree 'Find' result (Michael Petlan) [1873270] - [tools] perf scripts python: exported-sql-viewer.py: Fix zero id in call graph 'Find' result (Michael Petlan) [1873270] - [tools] perf scripts python: exported-sql-viewer.py: Fix unexpanded 'Find' result (Michael Petlan) [1873270] - [tools] perf record: Fix duplicated sideband events with Intel PT system wide tracing (Michael Petlan) [1873270] - [tools] perf scripts python: export-to-postgresql.py: Fix struct.pack() int argument (Michael Petlan) [1873270] - [tools] perf build: Fix error message when asking for -fsanitize=address without required libraries (Michael Petlan) [1873270] - [tools] tools lib traceevent: Add handler for __builtin_expect() (Michael Petlan) [1873270] - [tools] tools lib traceevent: Handle __attribute__((user)) in field names (Michael Petlan) [1873270] - [tools] tools lib traceevent: Add append() function helper for appending strings (Michael Petlan) [1873270] - [tools] perf script: Initialize zstd_data (Michael Petlan) [1873270] - [tools] perf pmu: Remove unused declaration (Michael Petlan) [1873270] - [tools] perf parse-events: Fix an old style declaration (Michael Petlan) [1873270] - [tools] perf parse-events: Fix an incompatible pointer (Michael Petlan) [1873270] - [tools] perf bpf: Fix bpf prologue generation (Michael Petlan) [1873270] - [tools] perf probe: Fix user attribute access in kprobes (Michael Petlan) [1873270] - [tools] perf stat: Fix NULL pointer dereference (Michael Petlan) [1873270] - [tools] perf report: Fix NULL pointer dereference in hists__fprintf_nr_sample_events() (Michael Petlan) [1873270] - [tools] perf tools: Remove some duplicated includes (Michael Petlan) [1873270] - [tools] perf symbols: Fix kernel maps for kcore and eBPF (Michael Petlan) [1873270] - [tools] perf stat: Ensure group is defined on top of the same cpu mask (Michael Petlan) [1873270] - [tools] perf libdw: Fix off-by 1 relative directory includes (Michael Petlan) [1873270] - [tools] perf arm-spe: Support synthetic events (Michael Petlan) [1873270] - [tools] perf auxtrace: Add four itrace options (Michael Petlan) [1873270] - [tools] perf tools: Move arm-spe-pkt-decoder.h/c to the new dir (Michael Petlan) [1873270] - [tools] perf test: Initialize memory in dwarf-unwind (Michael Petlan) [1873270] - [tools] perf tests: Don't tail call optimize in unwind test (Michael Petlan) [1873270] - [tools] tools compiler.h: Add attribute to disable tail calls (Michael Petlan) [1873270] - [tools] perf build: Add a LIBPFM4=1 build test entry (Michael Petlan) [1873270] - [tools] perf tools: Add optional support for libpfm4 (Michael Petlan) [1873270] - [tools] perf tools: Correct license on jsmn JSON parser (Michael Petlan) [1873270] - [tools] perf jit: Fix inaccurate DWARF line table (Michael Petlan) [1873270] - [tools] perf jvmti: Remove redundant jitdump line table entries (Michael Petlan) [1873270] - [tools] perf build: Add NO_SDT=1 to the default set of build tests (Michael Petlan) [1873270] - [tools] perf build: Add NO_LIBCRYPTO=1 to the default set of build tests (Michael Petlan) [1873270] - [tools] perf build: Add NO_SYSCALL_TABLE=1 to the build tests (Michael Petlan) [1873270] - [tools] perf build: Remove libaudit from the default feature checks (Michael Petlan) [1873270] - [tools] perf trace: Grow the syscall table as needed when using libaudit (Michael Petlan) [1873270] - [tools] perf trace: Use zalloc() to make sure all fields are zeroed in the syscalltbl constructor (Michael Petlan) [1873270] - [tools] perf trace: Remove union from syscalltbl, all the fields are needed (Michael Petlan) [1873270] - [tools] perf build: Allow explicitely disabling the NO_SYSCALL_TABLE variable (Michael Petlan) [1873270] - [tools] perf build: Group the NO_SYSCALL_TABLE logic (Michael Petlan) [1873270] - [tools] perf intel-pt: Refine kernel decoding only warning message (Michael Petlan) [1873270] - [tools] perf record: Respect --no-switch-events (Michael Petlan) [1873270] - [tools] perf script: Fix --call-trace for Intel PT (Michael Petlan) [1873270] - [tools] perf evlist: Disable 'immediate' events last (Michael Petlan) [1873270] - [tools] perf kcore_copy: Fix module map when there are no modules loaded (Michael Petlan) [1873270] - [tools] perf jvmti: Fix demangling Java symbols (Michael Petlan) [1873270] - [tools] perf tests: Add test for the java demangler (Michael Petlan) [1873270] - [tools] perf jvmti: Do not report error when missing debug information (Michael Petlan) [1873270] - [tools] perf jvmti: Fix jitdump for methods without debug info (Michael Petlan) [1873270] - [tools] perf symbols: Fix debuginfo search for Ubuntu (Michael Petlan) [1873270] - [tools] perf parse: Add 'struct parse_events_state' pointer to scanner (Michael Petlan) [1873270] - [tools] perf stat: Do not pass avg to generic_metric (Michael Petlan) [1873270] - [tools] perf tests: Consider subtests when searching for user specified tests (Michael Petlan) [1873270] - [tools] perf list: Add metrics to command line usage (Michael Petlan) [1873270] - [tools] perf script: Don't force less for non tty output with --xed (Michael Petlan) [1873270] - [tools] perf metricgroup: Remove unnecessary ', ' from events (Michael Petlan) [1873270] - [tools] perf metricgroup: Add options to not group or merge (Michael Petlan) [1873270] - [tools] perf metricgroup: Remove duped metric group events (Michael Petlan) [1873270] - [tools] perf metricgroup: Order event groups by size (Michael Petlan) [1873270] - [tools] perf metricgroup: Delay events string creation (Michael Petlan) [1873270] - [tools] perf metricgroup: Use early return in add_metric (Michael Petlan) [1873270] - [tools] perf metricgroup: Always place duration_time last (Michael Petlan) [1873270] - [tools] perf metricgroup: Free metric_events on error (Michael Petlan) [1873270] - [tools] perf util: Fix potential SEGFAULT in put_tracepoints_path error path (Michael Petlan) [1873270] - [tools] perf util: Fix memory leak of prefix_if_not_in (Michael Petlan) [1873270] - [tools] perf ftrace: Detect workload failure (Michael Petlan) [1873270] - [tools] perf ftrace: Trace system wide if no target is given (Michael Petlan) [1873270] - [tools] perf branch: Replace zero-length array with flexible-array (Michael Petlan) [1873270] - [tools] perf config: Add stat.big-num support (Michael Petlan) [1873270] - [tools] perf bpf-loader: Add missing '*' for key_scan_pos (Michael Petlan) [1873270] - [tools] perf stat: Report summary for interval mode (Michael Petlan) [1873270] - [tools] perf stat: Save aggr value to first member of prev_raw_counts (Michael Petlan) [1873270] - [tools] perf stat: Copy counts from prev_raw_counts to evsel->counts (Michael Petlan) [1873270] - [tools] perf counts: Reset prev_raw_counts counts (Michael Petlan) [1873270] - [tools] perf stat: Fix wrong per-thread runtime stat for interval mode (Michael Petlan) [1873270] - [tools] perf expr: Allow numbers to be followed by a dot (Michael Petlan) [1873270] - [tools] perf metricgroup: Make 'evlist_used' variable a bitmap instead of array of bools (Michael Petlan) [1873270] - [tools] perf stat: Fail on extra comma while parsing events (Michael Petlan) [1873270] - [tools] perf script: Better align register values in dump (Michael Petlan) [1873270] - [tools] perf stat: POWER9 metrics: expand "ICT" acronym (Michael Petlan) [1873270] - [tools] perf tools: Replace zero-length array with flexible-array (Michael Petlan) [1873270] - [tools] perf intel-pt: Use allocated branch stack for PEBS sample (Michael Petlan) [1873270] - [tools] perf docs: Introduce security.txt file to document related issues (Michael Petlan) [1873270] - [tools] perf tool: Make perf tool aware of SELinux access control (Michael Petlan) [1873270] - [tools] perf docs: Extend CAP_SYS_ADMIN with CAP_PERFMON where needed (Michael Petlan) [1873270] - [tools] perf expr: Migrate expr ids table to a hashmap (Michael Petlan) [1873270] - [tools] perf tools: Grab a copy of libbpf's hashmap (Michael Petlan) [1873270] - [tools] perf stat: Fix duration_time value for higher intervals (Michael Petlan) [1873270] - [tools] perf trace: Fix compilation error for make NO_LIBBPF=1 DEBUG=1 (Michael Petlan) [1873270] - [tools] perf beauty: Allow the CC used in the arch errno names script to acccept CFLAGS (Michael Petlan) [1873270] - [tools] perf trace: Fix the selection for architectures to generate the errno name tables (Michael Petlan) [1873270] - [tools] perf test: Improve pmu event metric testing (Michael Petlan) [1873270] - [tools] perf test: Provide a subtest callback to ask for the reason for skipping a subtest (Michael Petlan) [1873270] - [tools] perf parse-events: Make add PMU verbose output clearer (Michael Petlan) [1873270] - [tools] perf expr: Fix memory leaks in metric bison (Michael Petlan) [1873270] - [tools] perf expr: Test parsing of floating point numbers (Michael Petlan) [1873270] - [tools] perf record: Use an eventfd to wakeup when done (Michael Petlan) [1873270] - [tools] tools feature: Rename HAVE_EVENTFD to HAVE_EVENTFD_SUPPORT (Michael Petlan) [1873270] - [tools] perf evsel: Initialize evsel->per_pkg_mask to NULL in evsel__init() (Michael Petlan) [1873270] - [tools] perf evsel: Fix 2 memory leaks (Michael Petlan) [1873270] - [tools] perf parse-events: Fix incorrect conversion of 'if () free()' to 'zfree()' (Michael Petlan) [1873270] - [tools] perf tools: Fix is_bpf_image function logic (Michael Petlan) [1873270] - [tools] perf c2c: Fix 'perf c2c record -e list' to show the default events used (Michael Petlan) [1873270] - [tools] perf record: Add dummy event during system wide synthesis (Michael Petlan) [1873270] - [tools] perf evsel: Dummy events never triggers, no need to ask for PERF_SAMPLE_BRANCH_STACK (Michael Petlan) [1873270] - [tools] perf parse-events: Use strcmp() to compare the PMU name (Michael Petlan) [1873270] - [tools] perf expr: Print a debug message for division by zero (Michael Petlan) [1873270] - [tools] perf expr: Debug lex if debugging yacc (Michael Petlan) [1873270] - [tools] perf expr: Parse numbers as doubles (Michael Petlan) [1873270] - [tools] perf expr: Increase max other (Michael Petlan) [1873270] - [tools] perf expr: Allow ',' to be an other token (Michael Petlan) [1873270] - [tools] perf metrics: Fix parse errors in skylake metrics (Michael Petlan) [1873270] - [tools] perf metrics: Fix parse errors in cascade lake metrics (Michael Petlan) [1873270] - [tools] perf expr: Allow for unlimited escaped characters in a symbol (Michael Petlan) [1873270] - [tools] perf script: Enable IP fields for callchains (Michael Petlan) [1873270] - [tools] perf callchain: Setup callchain properly in pipe mode (Michael Petlan) [1873270] - [tools] perf session: Try to read pipe data from file (Michael Petlan) [1873270] - [tools] perf tools: Do not seek in pipe fd during tracing data processing (Michael Petlan) [1873270] - [tools] perf tools: Do not display extra info when there is nothing to build (Michael Petlan) [1873270] - [tools] perf probe: Do not show the skipped events (Michael Petlan) [1873270] - [tools] perf probe: Check address correctness by map instead of _etext (Michael Petlan) [1873270] - [tools] perf probe: Fix to check blacklist address correctly (Michael Petlan) [1873270] - [tools] perf probe: Accept the instance number of kretprobe event (Michael Petlan) [1873270] - [tools] perf counts: Rename perf_evsel__*counts() to evsel__*counts() (Michael Petlan) [1873270] - [tools] perf evsel: Rename perf_evsel__w_cache* to evsel__w_cache* (Michael Petlan) [1873270] - [tools] perf evsel: Rename perf_evsel__new*() to evsel__new*() (Michael Petlan) [1873270] - [tools] perf evsel: Rename *perf_evsel__get_config_term() & friends to evsel__env() (Michael Petlan) [1873270] - [tools] perf evsel: Rename perf_evsel__fprintf() to evsel__fprintf() (Michael Petlan) [1873270] - [tools] perf evsel: Rename perf_evsel__resort*() to evsel__resort*() (Michael Petlan) [1873270] - [tools] perf evsel: Rename perf_evsel__object_config() to evsel__object_config() (Michael Petlan) [1873270] - [tools] perf cs-etm: Move definition of 'traceid_list' global variable from header file (Michael Petlan) [1873270] - [tools] libsymbols kallsyms: Move hex2u64 out of header (Michael Petlan) [1873270] - [tools] libsymbols kallsyms: Parse using io api (Michael Petlan) [1873270] - [tools] perf bench: Add kallsyms parsing (Michael Petlan) [1873270] - [tools] perf: cs-etm: Update to build with latest opencsd version (Michael Petlan) [1873270] - [tools] perf symbol: Fix kernel symbol address display (Michael Petlan) [1873270] - [tools] perf inject: Rename perf_evsel__*() operating on 'struct evsel *' to evsel__*() (Michael Petlan) [1873270] - [tools] perf annotate: Rename perf_evsel__*() operating on 'struct evsel *' to evsel__*() (Michael Petlan) [1873270] - [tools] perf trace: Rename perf_evsel__*() operating on 'struct evsel *' to evsel__*() (Michael Petlan) [1873270] - [tools] perf script: Rename perf_evsel__*() operating on 'struct evsel *' to evsel__*() (Michael Petlan) [1873270] - [tools] perf sched: Rename perf_evsel__*() operating on 'struct evsel *' to evsel__*() (Michael Petlan) [1873270] - [tools] perf lock: Rename perf_evsel__*() operating on 'struct evsel *' to evsel__*() (Michael Petlan) [1873270] - [tools] perf kmem: Rename perf_evsel__*() operating on 'struct evsel *' to evsel__*() (Michael Petlan) [1873270] - [tools] perf stat: Rename perf_evsel__*() operating on 'struct evsel *' to evsel__*() (Michael Petlan) [1873270] - [tools] perf evsel: Rename perf_evsel__store_ids() to evsel__store_id() (Michael Petlan) [1873270] - [tools] perf evsel: Rename perf_evsel__env() to evsel__env() (Michael Petlan) [1873270] - [tools] perf evsel: Rename perf_evsel__group_idx() to evsel__group_idx() (Michael Petlan) [1873270] - [tools] perf evsel: Rename perf_evsel__fallback() to evsel__fallback() (Michael Petlan) [1873270] - [tools] perf evsel: Rename perf_evsel__has*() to evsel__has*() (Michael Petlan) [1873270] - [tools] perf evsel: Rename perf_evsel__{prev, next}() to evsel__{prev, next}() (Michael Petlan) [1873270] - [tools] perf evsel: Rename perf_evsel__parse_sample*() to evsel__parse_sample*() (Michael Petlan) [1873270] - [tools] perf evsel: Rename *perf_evsel__read*() to *evsel__read() (Michael Petlan) [1873270] - [tools] perf evsel: Ditch perf_evsel__cmp(), not used for quite a while (Michael Petlan) [1873270] - [tools] perf evsel: Rename perf_evsel__is_*() to evsel__is*() (Michael Petlan) [1873270] - [tools] perf pmu: Add perf_pmu__find_by_type helper (Michael Petlan) [1873270] - [tools] tools feature: Add support for detecting libpfm4 (Michael Petlan) [1873270] - [tools] perf doc: Pass ASCIIDOC_EXTRA as an argument (Michael Petlan) [1873270] - [tools] perf mem2node: Avoid double free related to realloc (Michael Petlan) [1873270] - [tools] perf evsel: Rename perf_evsel__{str, int}val() and other tracepoint field metehods to to evsel__*() (Michael Petlan) [1873270] - [tools] perf evsel: Rename perf_evsel__open_per_*() to evsel__open_per_*() (Michael Petlan) [1873270] - [tools] perf evsel: Rename perf_evsel__*filter*() to evsel__*filter*() (Michael Petlan) [1873270] - [tools] perf evsel: Rename *perf_evsel__*set_sample_*() to *evsel__*set_sample_*() (Michael Petlan) [1873270] - [tools] perf evsel: Rename perf_evsel__group_desc() to evsel__group_desc() (Michael Petlan) [1873270] - [tools] perf evsel: Rename *perf_evsel__*name() to *evsel__*name() (Michael Petlan) [1873270] - [tools] perf evsel: Rename __perf_evsel__sample_size() to __evsel__sample_size() (Michael Petlan) [1873270] - [tools] perf evsel: Rename perf_evsel__calc_id_pos() to evsel__calc_id_pos() (Michael Petlan) [1873270] - [tools] perf evsel: Rename perf_evsel__config*() to evsel__config*() (Michael Petlan) [1873270] - [tools] perf evsel: Rename perf_evsel__exit() to evsel__exit() (Michael Petlan) [1873270] - [tools] perf evsel: Rename perf_evsel__is_aux_event() to evsel__is_aux_event() (Michael Petlan) [1873270] - [tools] perf evsel: Rename perf_evsel__find_pmu() to evsel__find_pmu() (Michael Petlan) [1873270] - [tools] perf evsel: Rename perf_evsel__compute_deltas() to evsel__compute_deltas() (Michael Petlan) [1873270] - [tools] perf evsel: Rename perf_evsel__nr_cpus() to evsel__nr_cpus() (Michael Petlan) [1873270] - [tools] perf evsel: Rename 'struct perf_evsel__sb_cb_t' to 'struct evsel__sb_cb_t' (Michael Petlan) [1873270] - [tools] perf intel-pt: Update documentation about using /proc/kcore (Michael Petlan) [1873270] - [tools] perf intel-pt: Update documentation about itrace G and L options (Michael Petlan) [1873270] - [tools] perf intel-pt: Add support for synthesizing branch stacks for regular events (Michael Petlan) [1873270] - [tools] perf thread-stack: Add thread_stack__br_sample_late() (Michael Petlan) [1873270] - [tools] perf evsel: Add support for synthesized branch stack sample type (Michael Petlan) [1873270] - [tools] perf auxtrace: Add option to synthesize branch stack for regular events (Michael Petlan) [1873270] - [tools] perf intel-pt: Change branch stack support to use thread-stacks (Michael Petlan) [1873270] - [tools] perf intel-pt: Consolidate thread-stack use condition (Michael Petlan) [1873270] - [tools] perf thread-stack: Add branch stack support (Michael Petlan) [1873270] - [tools] perf tools: Simplify checking if SMT is active (Michael Petlan) [1873270] - [tools] perf tools: Fix reading new topology attribute "core_cpus" (Michael Petlan) [1873270] - [tools] libperf evlist: Fix a refcount leak (Michael Petlan) [1873270] - [tools] perf parse-events: Fix another memory leaks found on parse_events() (Michael Petlan) [1873270] - [tools] perf parse-events: Fix memory leaks found on parse_events (Michael Petlan) [1873270] - [tools] perf parse-events: Fix memory leaks found on parse_events (Michael Petlan) [1873270] - [tools] libperf: Add NULL pointer check for cpu_map iteration and NULL assignment for all_cpus (Michael Petlan) [1873270] - [tools] perf record: Move side band evlist setup to separate routine (Michael Petlan) [1873270] - [tools] perf record: Introduce --switch-output-event (Michael Petlan) [1873270] - [tools] libsubcmd: Introduce OPT_CALLBACK_SET() (Michael Petlan) [1873270] - [tools] perf evlist: Allow reusing the side band thread for more purposes (Michael Petlan) [1873270] - [tools] perf evlist: Move the sideband thread routines to separate object (Michael Petlan) [1873270] - [tools] perf parse-events: Add parse_events_option() variant that creates evlist (Michael Petlan) [1873270] - [tools] perf bpf: Decouple creating the evlist from adding the SB event (Michael Petlan) [1873270] - [tools] perf top: Move sb_evlist to 'struct perf_top' (Michael Petlan) [1873270] - [tools] perf record: Move sb_evlist to 'struct record' (Michael Petlan) [1873270] - [tools] perf tools: Move routines that probe for perf API features to separate file (Michael Petlan) [1873270] - [tools] perf vendor events power9: Add hv_24x7 socket/chip level metric events (Michael Petlan) [1873270] - [tools] perf tools: Enable Hz/hz prinitg for --metric-only option (Michael Petlan) [1873270] - [tools] perf tests expr: Added test for runtime param in metric expression (Michael Petlan) [1873270] - [tools] perf metricgroups: Enhance JSON/metric infrastructure to handle "?" (Michael Petlan) [1873270] - [tools] perf pmu: Fix function name in comment, its get_cpuid_str(), not get_cpustr() (Michael Petlan) [1873270] - [tools] perf report: Fix warning assignment of 0/1 to bool variable (Michael Petlan) [1873270] - [tools] perf tools: Remove unneeded semicolons (Michael Petlan) [1873270] - [tools] perf c2c: Remove unneeded semicolon (Michael Petlan) [1873270] - [tools] libtraceevent: Remove unneeded semicolon (Michael Petlan) [1873270] - [tools] perf script: Remove extraneous newline in perf_sample__fprintf_regs() (Michael Petlan) [1873270] - [tools] perf synthetic events: Remove use of sscanf from /proc reading (Michael Petlan) [1873270] - [tools] tools api: Add a lightweight buffered reading api (Michael Petlan) [1873270] - [tools] perf bench: Add a multi-threaded synthesize benchmark (Michael Petlan) [1873270] - [tools] perf record: Add num-synthesize-threads option (Michael Petlan) [1873270] - [tools] perf test session topology: Fix data path (Michael Petlan) [1873270] - [tools] perf stat: Improve runtime stat for interval mode (Michael Petlan) [1873270] - [tools] perf stat: Zero all the 'ena' and 'run' array slot stats for interval mode (Michael Petlan) [1873270] - [tools] perf evlist: Remove duplicate headers (Michael Petlan) [1873270] - [tools] perf bench: Fix div-by-zero if runtime is zero (Michael Petlan) [1873270] - [tools] perf cgroup: Avoid needless closing of unopened fd (Michael Petlan) [1873270] - [tools] perf hist: Add fast path for duplicate entries check (Michael Petlan) [1873270] - [tools] perf c2c: Add option to enable the LBR stitching approach (Michael Petlan) [1873270] - [tools] perf top: Add option to enable the LBR stitching approach (Michael Petlan) [1873270] - [tools] perf script: Add option to enable the LBR stitching approach (Michael Petlan) [1873270] - [tools] perf report: Add option to enable the LBR stitching approach (Michael Petlan) [1873270] - [tools] perf callchain: Stitch LBR call stack (Michael Petlan) [1873270] - [tools] perf callchain: Save previous cursor nodes for LBR stitching approach (Michael Petlan) [1873270] - [tools] perf thread: Save previous sample for LBR stitching approach (Michael Petlan) [1873270] - [tools] perf thread: Add a knob for LBR stitch approach (Michael Petlan) [1873270] - [tools] perf machine: Factor out lbr_callchain_add_lbr_ip() (Michael Petlan) [1873270] - [tools] perf machine: Factor out lbr_callchain_add_kernel_ip() (Michael Petlan) [1873270] - [tools] perf machine: Refine the function for LBR call stack reconstruction (Michael Petlan) [1873270] - [tools] perf machine: Remove the indent in resolve_lbr_callchain_sample (Michael Petlan) [1873270] - [tools] perf header: Support CPU PMU capabilities (Michael Petlan) [1873270] - [tools] perf parser: Add support to specify rXXX event with pmu (Michael Petlan) [1873270] - [tools] perf doc: allow ASCIIDOC_EXTRA to be an argument (Michael Petlan) [1873270] - [tools] perf pmu: Add support for PMU capabilities (Michael Petlan) [1873270] - [tools] tools lib traceevent: Take care of return value of asprintf (Michael Petlan) [1873270] - [tools] perf stat: Force error in fallback on :k events (Michael Petlan) [1873270] - [tools] perf tools: Add support for leader-sampling with AUX area events (Michael Petlan) [1873270] - [tools] perf evlist: Allow multiple read formats (Michael Petlan) [1873270] - [tools] perf evsel: Rearrange perf_evsel__config_leader_sampling() (Michael Petlan) [1873270] - [tools] perf evlist: Move leader-sampling configuration (Michael Petlan) [1873270] - [tools] perf evsel: Move and globalize perf_evsel__find_pmu() and perf_evsel__is_aux_event() (Michael Petlan) [1873270] - [tools] perf intel-pt: Add support for synthesizing callchains for regular events (Michael Petlan) [1873270] - [tools] perf evsel: Add support for synthesized sample type (Michael Petlan) [1873270] - [tools] perf evsel: Be consistent when looking which evsel PERF_SAMPLE_ bits are set (Michael Petlan) [1873270] - [tools] perf thread-stack: Add thread_stack__sample_late() (Michael Petlan) [1873270] - [tools] perf auxtrace: Add an option to synthesize callchains for regular events (Michael Petlan) [1873270] - [tools] perf auxtrace: For reporting purposes, un-group AUX area event (Michael Petlan) [1873270] - [tools] perf s390-cpumsf: Implement ->evsel_is_auxtrace() callback (Michael Petlan) [1873270] - [tools] perf cs-etm: Implement ->evsel_is_auxtrace() callback (Michael Petlan) [1873270] - [tools] perf arm-spe: Implement ->evsel_is_auxtrace() callback (Michael Petlan) [1873270] - [tools] perf intel-bts: Implement ->evsel_is_auxtrace() callback (Michael Petlan) [1873270] - [tools] perf intel-pt: Implement ->evsel_is_auxtrace() callback (Michael Petlan) [1873270] - [tools] perf auxtrace: Add ->evsel_is_auxtrace() callback (Michael Petlan) [1873270] - [tools] perf metrictroup: Split the metricgroup__add_metric function (Michael Petlan) [1873270] - [tools] perf expr: Add expr_scanner_ctx object (Michael Petlan) [1873270] - [tools] perf expr: Add expr_ prefix for parse_ctx and parse_id (Michael Petlan) [1873270] - [tools] perf synthetic-events: save 4kb from 2 stack frames (Michael Petlan) [1873270] - [tools] tools api fs: Make xxx__mountpoint() more scalable (Michael Petlan) [1873270] - [tools] perf bench: Add event synthesis benchmark (Michael Petlan) [1873270] - [tools] perf script: Simplify auxiliary event printing functions (Michael Petlan) [1873270] - [tools] perf tools: Support CAP_PERFMON capability (Michael Petlan) [1873270] - [tools] perf annotate: Add basic support for bpf_image (Michael Petlan) [1873270] - [tools] perf machine: Set ksymbol dso as loaded on arrival (Michael Petlan) [1873270] - [tools] perf tools: Synthesize bpf_trampoline/dispatcher ksymbol event (Michael Petlan) [1873270] - [tools] perf stat: Honour --timeout for forked workloads (Michael Petlan) [1873270] - [powerpc] powerpc/watchpoint: Add hw_len wherever missing (Michael Petlan) [1873270] - [kernel] perf: Fix task_function_call() error handling (Michael Petlan) [1873270] - [x86] perf/x86/rapl: Fix RAPL config variable bug (Michael Petlan) [1873270] - [x86] perf/x86/rapl: Add AMD Fam17h RAPL support (Michael Petlan) [1873270] - [x86] perf/x86/rapl: Make perf_probe_msr() more robust and flexible (Michael Petlan) [1873270] - [x86] perf/x86/rapl: Flip logic on default events visibility (Michael Petlan) [1873270] - [x86] perf/x86/rapl: Refactor to share the RAPL code between Intel and AMD CPUs (Michael Petlan) [1873270] - [x86] perf/x86/rapl: Move RAPL support to common x86 code (Michael Petlan) [1873270] - [kernel] perf/core: Replace zero-length array with flexible-array (Michael Petlan) [1873270] - [x86] perf/x86: Replace zero-length array with flexible-array (Michael Petlan) [1873270] - [x86] perf/x86/intel: Add more available bits for OFFCORE_RESPONSE of Intel Tremont (Michael Petlan) [1873270] - [x86] perf/x86/intel/pt: Drop pointless NULL assignment (Michael Petlan) [1873270] - [kernel] perf: Add cond_resched() to task_function_call() (Michael Petlan) [1873270] - [powerpc] powerpc/perf: open access for CAP_PERFMON privileged process (Michael Petlan) [1873270] - [kernel] perf/core: open access to probes for CAP_PERFMON privileged process (Michael Petlan) [1873270] - [kernel] perf/core: Open access to the core for CAP_PERFMON privileged process (Michael Petlan) [1873270] - [include] perf/core: Fix !CONFIG_PERF_EVENTS build warnings and failures (Michael Petlan) [1873270] - [security] perf_event: Add support for LSM and SELinux checks (Michael Petlan) [1873270] - [powerpc] powerpc/perf/hv-24x7: Fix inconsistent output values incase multiple hv-24x7 events run (Michael Petlan) [1873270] - [powerpc] powerpc/hv-24x7: Add rtas call in hv-24x7 driver to get processor details (Michael Petlan) [1873270] - [powerpc] powerpc/hv-24x7: Add sysfs files inside hv-24x7 device to show processor details (Michael Petlan) [1873270] - [documentation] Documentation/ABI: Add ABI documentation for chips and sockets (Michael Petlan) [1873270] - [powerpc] powerpc/pseries: Update hv-24x7 information after migration (Michael Petlan) [1873270] - [powerpc] powerpc/watchpoint: Fix ptrace code that muck around with address/len (Michael Petlan) [1873270] - [powerpc] powerpc/watchpoint: Fix length calculation for unaligned target (Michael Petlan) [1873270] - [powerpc] powerpc/watchpoint: Introduce macros for watchpoint length (Michael Petlan) [1873270] - [powerpc] powerpc/perf: fix imc allocation failure handling (Michael Petlan) [1873270] - [powerpc] powerpc/perf/24x7: use rb_entry (Michael Petlan) [1873270] - [powerpc] powerpc/perf: Fix MMCRA corruption by bhrb_filter (Michael Petlan) [1873270] - [powerpc] perf/core, arch/powerpc: use PERF_PMU_CAP_NO_EXCLUDE for exclusion incapable PMUs (Michael Petlan) [1873270] - [powerpc] Powerpc/perf: Wire up PMI throttling (Michael Petlan) [1873270] - [powerpc] powerpc/perf: Remove l2 bus events from HW cache event array (Michael Petlan) [1873270] - [powerpc] powerpc/perf: Add constraints for power9 l2/l3 bus events (Michael Petlan) [1873270] - [powerpc] powerpc/perf: Fix unit_sel/cache_sel checks (Michael Petlan) [1873270] - [powerpc] powerpc/perf: Cleanup cache_sel bits comment (Michael Petlan) [1873270] - [powerpc] powerpc/perf: Fix thresholding counter data for unknown type (Michael Petlan) [1873270] - [fs] writeback: Drop I_DIRTY_TIME_EXPIRE (Waiman Long) [1860031] - [fs] writeback: Fix sync livelock due to b_dirty_time processing (Waiman Long) [1860031] - [fs] writeback: Avoid skipping inode writeback (Waiman Long) [1860031] - [fs] writeback: Protect inode->i_io_list with inode->i_lock (Waiman Long) [1860031] - [fs] dcache: sort the freeing-without-RCU-delay mess for good (Waiman Long) [1860031] - [net] udp: Improve load balancing for SO_REUSEPORT. (Davide Caratti) [1894075] - [net] udp: Fix wrong clean up for IS_UDPLITE macro (Davide Caratti) [1894075] - [fs] ext4: disallow modifying DAX inode flag if inline_data has been set (Eric Sandeen) [1838344] - [include] dax: Fix compilation for CONFIG_DAX && !CONFIG_FS_DAX (Eric Sandeen) [1838876 1854346 1838344] - [dax] dax: Fix stack overflow when mounting fsdax pmem device (Eric Sandeen) [1838876 1854346 1838344] - [dax] dm: Call proper helper to determine dax support (Eric Sandeen) [1838876 1854346 1838344] - [md] dm/dax: Fix table reference counts (Eric Sandeen) [1838876 1854346 1838344] - [dax] dax: fix detection of dax support for non-persistent memory block devices (Eric Sandeen) [1838876 1854346 1838344] - [dax] dax: do not print error message for non-persistent memory block device (Eric Sandeen) [1838876 1854346 1838344] - [fs] dax: Fix incorrect argument passed to xas_set_err() (Eric Sandeen) [1838876 1854346 1838344] - [fs] fs/xfs: Support that ioctl(SETXFLAGS/GETXFLAGS) can set/get inode DAX on XFS (Eric Sandeen) [1838876 1854346 1838344] - [dax] drivers/dax: Expand lock scope to cover the use of addresses (Eric Sandeen) [1838876 1854346 1838344] - [fs] fs/dax: Remove unused size parameter (Eric Sandeen) [1838876 1854346 1838344] - [dax] dax: print error message by pr_info() in __generic_fsdax_supported() (Eric Sandeen) [1838876 1854346 1838344] - [fs] ext4: avoid race conditions when remounting with options that change dax (Eric Sandeen) [1838876 1854346 1838344] - [fs] fs/xfs: Update xfs_ioctl_setattr_dax_invalidate() (Eric Sandeen) [1838876 1854346 1838344] - [fs] fs/xfs: Combine xfs_diflags_to_linux() and xfs_diflags_to_iflags() (Eric Sandeen) [1838876 1854346 1838344] - [fs] fs/xfs: Create function xfs_inode_should_enable_dax() (Eric Sandeen) [1838876 1854346 1838344] - [fs] fs/xfs: Make DAX mount option a tri-state (Eric Sandeen) [1838876 1854346 1838344] - [fs] fs/xfs: Change XFS_MOUNT_DAX to XFS_MOUNT_DAX_ALWAYS (Eric Sandeen) [1838876 1854346 1838344] - [fs] fs/xfs: Remove unnecessary initialization of i_rwsem (Eric Sandeen) [1838876 1854346 1838344] - [documentation] Documentation/dax: Update DAX enablement for ext4 (Eric Sandeen) [1838876 1854346 1838344] - [fs] fs/ext4: Introduce DAX inode flag (Eric Sandeen) [1838876 1854346 1838344] - [fs] fs/ext4: Remove jflag variable (Eric Sandeen) [1838876 1854346 1838344] - [fs] fs/ext4: Make DAX mount option a tri-state (Eric Sandeen) [1838876 1854346 1838344] - [fs] fs/ext4: Only change S_DAX on inode load (Eric Sandeen) [1838876 1854346 1838344] - [fs] fs/ext4: Update ext4_should_use_dax() (Eric Sandeen) [1838876 1854346 1838344] - [fs] fs/ext4: Change EXT4_MOUNT_DAX to EXT4_MOUNT_DAX_ALWAYS (Eric Sandeen) [1838876 1854346 1838344] - [fs] fs/ext4: Narrow scope of DAX check in setflags (Eric Sandeen) [1838876 1854346 1838344] - [fs] fs: Introduce DCACHE_DONTCACHE (Eric Sandeen) [1838876 1854346 1838344] - [fs] fs: Lift XFS_IDONTCACHE to the VFS layer (Eric Sandeen) [1838876 1854346 1838344] - [documentation] Documentation/dax: Update Usage section (Eric Sandeen) [1838876 1854346 1838344] - [fs] fs/stat: Define DAX statx attribute (Eric Sandeen) [1838876 1854346 1838344] - [block] fs: Remove unneeded IS_DAX() check in io_is_direct() (Eric Sandeen) [1838876 1854346 1838344] - [dax] dax: Move mandatory ->zero_page_range() check in alloc_dax() (Eric Sandeen) [1838876 1854346 1838344] - [fs] dax, iomap: Add helper dax_iomap_zero() to zero a range (Eric Sandeen) [1838876 1854346 1838344] - [fs] dax: Use new dax zero page method for zeroing a page (Eric Sandeen) [1838876 1854346 1838344] - [md] dm,dax: Add dax zero_page_range operation (Eric Sandeen) [1838876 1854346 1838344] - [s390] s390, dcssblk, dax: Add dax zero_page_range operation to dcssblk driver (Eric Sandeen) [1838876 1854346 1838344] - [dax] dax, pmem: Add a dax operation zero_page_range (Eric Sandeen) [1838876 1854346 1838344] - [nvdimm] pmem: Add functions for reading/writing page to/from pmem (Eric Sandeen) [1838876 1854346 1838344] - [fs] fs: Constify vma argument to vma_is_dax (Eric Sandeen) [1838876 1854346 1838344] - [fs] dax: pass NOWAIT flag to iomap_apply (Eric Sandeen) [1838876 1854346 1838344] - [dax] dax: Get rid of fs_dax_get_by_host() helper (Eric Sandeen) [1838876 1854346 1838344] - [fs] dax: Pass dax_dev instead of bdev to dax_writeback_mapping_range() (Eric Sandeen) [1838876 1854346 1838344] - [dax] dax: Fix alloc_dax_region() compile warning (Eric Sandeen) [1838876 1854346 1838344] - [fs] xfs: disable map_sync for async flush (Eric Sandeen) [1838876 1854346 1838344] - [fs] ext4: disable map_sync for async flush (Eric Sandeen) [1838876 1854346 1838344] - [include] dax: check synchronous mapping is supported (Eric Sandeen) [1838876 1854346 1838344] - [dax] libnvdimm: add dax_dev sync flag (Eric Sandeen) [1838876 1854346 1838344] - [nvdimm] libnvdimm: nd_region flush callback support (Eric Sandeen) [1838876 1854346 1838344] - [fs] vfs: only allow FSSETXATTR to set DAX flag on files and dirs (Eric Sandeen) [1838876 1854346 1838344] - [fs] vfs: teach vfs_ioc_fssetxattr_check to check extent size hints (Eric Sandeen) [1838876 1854346 1838344] - [fs] vfs: teach vfs_ioc_fssetxattr_check to check project id info (Eric Sandeen) [1838876 1854346 1838344] - [fs] vfs: create a generic checking function for FS_IOC_FSSETXATTR (Eric Sandeen) [1838876 1854346 1838344] - [fs] vfs: create a generic checking and prep function for FS_IOC_SETFLAGS (Eric Sandeen) [1838876 1854346 1838344] - [dax] drivers/dax: Allow to include DEV_DAX_PMEM as builtin (Eric Sandeen) [1838876 1854346 1838344] - [netdrv] net: intel: Remove in_interrupt() warnings (Corinna Vinschen) [1838746] - [netdrv] igb: read PBA number from flash (Corinna Vinschen) [1838746] - [netdrv] intel-ethernet: clean up W=1 warnings in kdoc (Corinna Vinschen) [1838746] - [netdrv] treewide: Use fallthrough pseudo-keyword (Corinna Vinschen) [1838746] - [netdrv] igb: use eth_zero_addr() to clear mac address (Corinna Vinschen) [1838746] - [netdrv] igb: Remove unnecessary usages of memset (Corinna Vinschen) [1838746] - [netdrv] igb: reinit_locked() should be called with rtnl_lock (Corinna Vinschen) [1838746] - [netdrv] ethernet/intel: Convert fallthrough code comments (Corinna Vinschen) [1838746] - [netdrv] net/intel: remove driver versions from Intel drivers (Corinna Vinschen) [1838746] - [netdrv] igb: make igb_set_fc_watermarks() return void (Corinna Vinschen) [1838746] - [netdrv] igb: Report speed and duplex as unknown when device is runtime suspended (Corinna Vinschen) [1838746] - [netdrv] igb: convert to use i2c_new_client_device() (Corinna Vinschen) [1838746] - [net] Bluetooth: Allow suspend even when preparation has failed (Gopal Tiwari) [1881485] - [net] Bluetooth: Check scan state before disabling during suspend (Gopal Tiwari) [1881485] - [fs] fuse: fix the ->direct_IO() treatment of iov_iter (Miklos Szeredi) [1875608] - [net] openvswitch: handle DNAT tuple collision (Dumitru Ceara) [1877128] - [net] xdp: Rename convert_to_xdp_frame in xdp_convert_buff_to_frame (Petr Oros) [1867194]- [fs] NFSv4.2: fix failure to unregister shrinker (Scott Mayhew) [1897988] - [tools] cpupower: Provide online and offline CPU information (Diego Domingos) [1893779] - [net] net/smc: improve return codes for SMC-Dv2 (Claudio Imbrenda) [1731027] - [s390] s390/ism: fix incorrect system EID (Claudio Imbrenda) [1731027] - [net] net/smc: fix suppressed return code (Claudio Imbrenda) [1731027] - [net] net/smc: fix null pointer dereference in smc_listen_decline() (Claudio Imbrenda) [1731027] - [net] net/smc: fix invalid return code in smcd_new_buf_create() (Claudio Imbrenda) [1731027] - [net] net/smc: fix valid DMBE buffer sizes (Claudio Imbrenda) [1731027] - [net] net/smc: fix use-after-free of delayed events (Claudio Imbrenda) [1731027] - [net] net/smc: restore smcd_version when all ISM V2 devices failed to init (Claudio Imbrenda) [1731027] - [net] net/smc: cleanup buffer usage in smc_listen_work() (Claudio Imbrenda) [1731027] - [net] net/smc: consolidate unlocking in same function (Claudio Imbrenda) [1731027] - [net] net/smc: use an array to check fields in system EID (Claudio Imbrenda) [1731027] - [net] net/smc: send ISM devices with unique chid in CLC proposal (Claudio Imbrenda) [1731027] - [net] net/smc: CLC decline - V2 enhancements (Claudio Imbrenda) [1731027] - [net] net/smc: introduce CLC first contact extension (Claudio Imbrenda) [1731027] - [net] net/smc: CLC accept / confirm V2 (Claudio Imbrenda) [1731027] - [net] net/smc: determine accepted ISM devices (Claudio Imbrenda) [1731027] - [net] net/smc: build and send V2 CLC proposal (Claudio Imbrenda) [1731027] - [net] net/smc: determine proposed ISM devices (Claudio Imbrenda) [1731027] - [net] net/smc: introduce list of pnetids for Ethernet devices (Claudio Imbrenda) [1731027] - [net] net/smc: introduce CHID callback for ISM devices (Claudio Imbrenda) [1731027] - [net] net/smc: introduce System Enterprise ID (SEID) (Claudio Imbrenda) [1731027] - [net] net/smc: prepare for more proposed ISM devices (Claudio Imbrenda) [1731027] - [net] net/smc: split CLC confirm/accept data to be sent (Claudio Imbrenda) [1731027] - [net] net/smc: separate find device functions (Claudio Imbrenda) [1731027] - [net] net/smc: CLC header fields renaming (Claudio Imbrenda) [1731027] - [net] net/smc: remove constant and introduce helper to check for a pnet id (Claudio Imbrenda) [1731027] - [netdrv] vmxnet3: fix cksum offload issues for non-udp tunnels (Cathy Avery) [1868451] - [netdrv] vmxnet3: use correct tcp hdr length when packet is encapsulated (Cathy Avery) [1868451] - [scsi] scsi: vmw_pvscsi: Use true, false for adapter->use_msg (Cathy Avery) [1895014] - [scsi] scsi: vmw_pvscsi: Silence dma mapping errors (Cathy Avery) [1895014] - [scsi] scsi: vmw_pvscsi: Fix swiotlb operation (Cathy Avery) [1895014] - [scsi] scsi: vmw_pscsi: use sg helper to iterate over scatterlist (Cathy Avery) [1895014] - [scsi] Revert "vmw_pvscsi: Fixed to work with SG_CHAIN" (Cathy Avery) [1895014] - [scsi] scsi: vmw_pscsi: switch to generic DMA API (Cathy Avery) [1895014] - [netdrv] mdiobus: Disable preemption upon u64_stats update (Petr Oros) [1889849] - [net] u64_stats: Document writer non-preemptibility requirement (Petr Oros) [1889849] - [netdrv] phy: fixed_phy: Remove unused seqcount (Petr Oros) [1889849] - [net] net/smc: fix double kfree in smc_listen_work() (Claudio Imbrenda) [1847444] - [net] net/smc: check variable before dereferencing in smc_close.c (Claudio Imbrenda) [1847444] - [net] net/smc: use separate work queues for different worker types (Claudio Imbrenda) [1847444] - [net] net/smc: use the retry mechanism for netlink messages (Claudio Imbrenda) [1847444] - [net] net/smc: immediate freeing in smc_lgr_cleanup_early() (Claudio Imbrenda) [1847444] - [net] net/smc: reduce smc_listen_decline() calls (Claudio Imbrenda) [1847444] - [net] net/smc: improve server ISM device determination (Claudio Imbrenda) [1847444] - [net] net/smc: common routine for CLC accept and confirm (Claudio Imbrenda) [1847444] - [net] net/smc: dynamic allocation of CLC proposal buffer (Claudio Imbrenda) [1847444] - [net] net/smc: introduce better field names (Claudio Imbrenda) [1847444] - [net] net/smc: reduce active tcp_listen workers (Claudio Imbrenda) [1847444] - [net] net/smc: fix sock refcounting in case of termination (Claudio Imbrenda) [1847444] - [net] net/smc: reset sndbuf_desc if freed (Claudio Imbrenda) [1847444] - [net] net/smc: fix toleration of fake add_link messages (Claudio Imbrenda) [1847444] - [net] net/smc: Prevent kernel-infoleak in __smc_diag_dump() (Claudio Imbrenda) [1847444] - [s390] s390/ism: fix error return code in ism_probe() (Claudio Imbrenda) [1847444] - [s390] s390/zcrypt: Introduce Failure Injection feature (Philipp Rudo) [1851124] - [s390] s390/zcrypt: move ap_msg param one level up the call chain (Philipp Rudo) [1851124] - [s390] s390/ap/zcrypt: revisit ap and zcrypt error handling (Philipp Rudo) [1851124] - [s390] s390/ap: Support AP card SCLP config and deconfig operations (Philipp Rudo) [1851124] - [s390] s390/sclp: Add support for SCLP AP adapter config/deconfig (Philipp Rudo) [1851124] - [s390] s390/ap: add card/queue deconfig state (Philipp Rudo) [1851124] - [s390] s390/ap: add error response code field for ap queue devices (Philipp Rudo) [1851124] - [s390] s390/ap: split ap queue state machine state from device state (Philipp Rudo) [1851124] - [crypto] s390/zcrypt: New config switch CONFIG_ZCRYPT_DEBUG (Philipp Rudo) [1851124] - [s390] s390/zcrypt: introduce msg tracking in zcrypt functions (Philipp Rudo) [1851124] - [s390] s390/ap: rework crypto config info and default domain code (Philipp Rudo) [1851124] - [s390] s390/zcrypt: provide cex4 cca sysfs attributes for cex3 (Philipp Rudo) [1851124] - [s390] s390/ap: rename and clarify ap state machine related stuff (Philipp Rudo) [1851124] - [s390] s390/zcrypt: split ioctl function into smaller code units (Philipp Rudo) [1851124] - [s390] s390/zcrypt: code beautification and struct field renames (Philipp Rudo) [1851124] - [s390] s390/zcrypt: fix smatch warnings (Philipp Rudo) [1851124] - [s390] s390/ap: introduce new ap function ap_get_qdev() (Philipp Rudo) [1851124] - [s390] s390/zcrypt: replace snprintf/sprintf with scnprintf (Philipp Rudo) [1851124] - [s390] s390/zcrypt: Use scnprintf() for avoiding potential buffer overflow (Philipp Rudo) [1851124] - [s390] s390/zcrypt: Support for CCA protected key block version 2 (Philipp Rudo) [1851124] - [s390] s390/zcrypt: fix card and queue total counter wrap (Philipp Rudo) [1851124] - [s390] s390/zcrypt: move ap device reset from bus to driver code (Philipp Rudo) [1851124] - [s390] s390/zcrypt: Fix CCA cipher key gen with clear key value function (Philipp Rudo) [1851124] - [s390] s390/zcrypt: handle new reply code FILTERED_BY_HYPERVISOR (Philipp Rudo) [1851124] - [fs] NFSv4: Wait for stateid updates after CLOSE/OPEN_DOWNGRADE (Benjamin Coddington) [1888612] - [fs] NFSv4.x recover from pre-mature loss of openstateid (Benjamin Coddington) [1888612] - [fs] NFSv4: Handle NFS4ERR_OLD_STATEID in CLOSE/OPEN_DOWNGRADE (Benjamin Coddington) [1888612] - [hv] hv: vmbus: Add timeout to vmbus_wait_for_unload (Mohammed Gamal) [1888980] - [net] sched: act_gate: Unlock ->tcfa_lock in tc_setup_flow_action() (Ivan Vecera) [1874071] - [net] sched: act_ct: Fix adding udp port mangle operation (Ivan Vecera) [1874071] - [net] sched: Fix suspicious RCU usage while accessing tcf_tunnel_info (Ivan Vecera) [1874071] - [net] sched: get rid of qdisc->padded (Ivan Vecera) [1874071] - [net] sched: check error pointer in tcf_dump_walker() (Ivan Vecera) [1874071] - [net] sched: remove a redundant goto chain check (Ivan Vecera) [1874071] - [net] sched: cls_u32: Replace one-element array with flexible-array member (Ivan Vecera) [1874071] - [net] sched: commit action insertions together (Ivan Vecera) [1874071] - [net] sched: defer tcf_idr_insert() in tcf_action_init_1() (Ivan Vecera) [1874071] - [net] sched: Remove unused function qdisc_queue_drop_head() (Ivan Vecera) [1874071] - [net] sched: taprio: Fix allowing too small intervals (Ivan Vecera) [1874071] - [net] sched: sch_generic: aviod concurrent reset and enqueue op for lockless qdisc (Ivan Vecera) [1874071] - [net] sched: skip an unnecessay check (Ivan Vecera) [1874071] - [net] sched: act_ife: load meta modules before tcf_idr_check_alloc() (Ivan Vecera) [1874071] - [net] sched: fix error path in red_init() (Ivan Vecera) [1874071] - [net] sched: taprio: Fix using wrong queues in gate mask (Ivan Vecera) [1874071] - [net] sched: Use fallthrough pseudo-keyword (Ivan Vecera) [1874071] - [net] netlink: consistently use NLA_POLICY_EXACT_LEN() (Ivan Vecera) [1874071] - [net] sched: act_ct: fix miss set mru for ovs after defrag in act_ct (Ivan Vecera) [1874071] - [net] sched: cls_u32: Use struct_size() helper (Ivan Vecera) [1874071] - [net] sched: act_pedit: Use flex_array_size() helper in memcpy() (Ivan Vecera) [1874071] - [net] sched: initialize timer earlier in red_init() (Ivan Vecera) [1874071] - [net] sched: cls_flower: Add hash info to flow classification (Ivan Vecera) [1874071] - [net] flow_dissector: add packet hash dissection (Ivan Vecera) [1874071] - [net] sched: sch_api: add missing rcu read lock to silence the warning (Ivan Vecera) [1874071] - [tools] tc-testing: Add tdc to kselftests (Ivan Vecera) [1874071] - [net] sched: Do not drop root lock in tcf_qevent_handle() (Ivan Vecera) [1874071] - [net] sched: kerneldoc fixes (Ivan Vecera) [1874071] - [net] sched: Pass qdisc reference in struct flow_block_offload (Ivan Vecera) [1874071] - [net] sched: Use fallthrough pseudo-keyword (Ivan Vecera) [1874071] - [net] sched: Allow changing default qdisc to FQ-PIE (Ivan Vecera) [1874071] - [net] qos: police action offloading parameter 'burst' change to the original value (Ivan Vecera) [1874071] - [tools] selftests: forwarding: Add a RED test for SW datapath (Ivan Vecera) [1874071] - [net] sched: sch_red: Add qevents "early_drop" and "mark" (Ivan Vecera) [1874071] - [net] sched: sch_red: Split init and change callbacks (Ivan Vecera) [1874071] - [net] sched: Introduce helpers for qevent blocks (Ivan Vecera) [1874071] - [net] sched: sch_cake: add RFC 8622 LE PHB support to CAKE diffserv handling (Ivan Vecera) [1874071] - [net] qos: police action add index for tc flower offloading (Ivan Vecera) [1874071] - [net] qos: add tc police offloading action with max frame size limit (Ivan Vecera) [1874071] - [net] sched: tcindex_change: Remove redundant null check (Ivan Vecera) [1874071] - [net] sched: Remove redundant skb null check (Ivan Vecera) [1874071] - [net] sched: Remove redundant condition in qdisc_graft (Ivan Vecera) [1874071] - [net] sched: cls_u32: Use struct_size() in kzalloc() (Ivan Vecera) [1874071] - [net] sched: taprio: Use struct_size() in kzalloc() (Ivan Vecera) [1874071] - [net] vlan: consolidate VLAN parsing code and limit max parsing depth (Ivan Vecera) [1874071] - [net] flow_offload: Move rhashtable inclusion to the source file (Ivan Vecera) [1874071] - [net] sched: act_ct: fix restore the qdisc_skb_cb after defrag (Ivan Vecera) [1874071] - [net] sched: fix a memory leak in atm_tc_init() (Ivan Vecera) [1874071] - [net] sched: act_ct: add miss tcf_lastuse_update. (Ivan Vecera) [1874071] - [net] sched: consistently handle layer3 header accesses in the presence of VLANs (Ivan Vecera) [1874071] - [net] tunnel: Propagate ECT(1) when decapsulating as recommended by RFC6040 (Ivan Vecera) [1874071] - [net] sched: sch_cake: fix a few style nits (Ivan Vecera) [1874071] - [net] sched: sch_cake: don't call diffserv parsing code when it is not needed (Ivan Vecera) [1874071] - [net] sched: sch_cake: don't try to reallocate or unshare skb unconditionally (Ivan Vecera) [1874071] - [tools] tc-testing: avoid action cookies with odd length. (Ivan Vecera) [1874071] - [net] sched: Add MODULE_DESCRIPTION entries to network modules (Ivan Vecera) [1874071] - [tools] tc-testing: update geneve options match in tunnel_key unit tests (Ivan Vecera) [1874071] - [net] flow_offload: fix flow_indr_dev_unregister path (Ivan Vecera) [1874071] - [net] flow_offload: use flow_indr_block_cb_alloc/remove function (Ivan Vecera) [1874071] - [net] flow_offload: add flow_indr_block_cb_alloc/remove function (Ivan Vecera) [1874071] - [net] sched: act_gate: fix configuration of the periodic timer (Ivan Vecera) [1874071] - [net] sched: act_gate: fix NULL dereference in tcf_gate_init() (Ivan Vecera) [1874071] - [net] flow_offload: remove indirect flow_block declarations leftover (Ivan Vecera) [1874071] - [net] sched: export __netdev_watchdog_up() (Ivan Vecera) [1874071] - [net] sched: act_ct: add nat mangle action only for NAT-conntrack (Ivan Vecera) [1874071] - [net] sched: sch_cake: Take advantage of skb->hash where appropriate (Ivan Vecera) [1874071] - [net] sched: fix a couple of splats in the error path of tfc_gate_init() (Ivan Vecera) [1874071] - [net] sched: get rid of unnecessary dev_qdisc_reset() (Ivan Vecera) [1874071] - [net] sched: avoid resetting active qdisc for multiple times (Ivan Vecera) [1874071] - [net] sched: add a tracepoint for qdisc creation (Ivan Vecera) [1874071] - [net] sched: add tracepoints for qdisc_reset() and qdisc_destroy() (Ivan Vecera) [1874071] - [net] sched: use qdisc_reset() in qdisc_destroy() (Ivan Vecera) [1874071] - [net] sched: fix infinite loop in sch_fq_pie (Ivan Vecera) [1874071] - [net] sched: fix reporting the first-time use timestamp (Ivan Vecera) [1874071] - [net] tracing: Fix header include guards in trace event headers (Ivan Vecera) [1874071] - [netdrv] ipvlan: fix device features (Davide Caratti) [1892621] - [netdrv] ipvlan: consolidate TSO flags using NETIF_F_ALL_TSO (Davide Caratti) [1892621] - [netdrv] ipvlan: set hw_enc_features like macvlan (Davide Caratti) [1892621] - [tools] ACPI: Use valid link to the ACPI specification (David Arcari) [1857138] - [tools] cpupower: Replace HTTP links with HTTPS ones (David Arcari) [1857138] - [tools] cpupower: Fix NULL but dereferenced coccicheck errors (David Arcari) [1857138] - [tools] cpupower: Fix comparing pointer to 0 coccicheck warns (David Arcari) [1857138] - [tools] cpupower: Remove unneeded semicolon (David Arcari) [1857138] - [tools] cpupower: .gitignore: add SPDX License Identifier (David Arcari) [1857138] - [tools] cpupower: avoid multiple definition with gcc -fno-common (David Arcari) [1857138] - [tools] cpupower: Revert library ABI changes from commit ae2917093fb60bdc1ed3e (David Arcari) [1857138] - [tools] cpupower: ToDo: Update ToDo with ideas for per_cpu_schedule handling (David Arcari) [1857138] - [tools] tools/power/cpupower: Fix initializer override in hsw_ext_cstates (David Arcari) [1857138] - [tools] cpupower: update German translation (David Arcari) [1857138] - [tools] tools/power/cpupower: fix 64bit detection when cross-compiling (David Arcari) [1857138] - [tools] cpupower: Add missing newline at end of file (David Arcari) [1857138] - [tools] cpupower: Replace GPLv2 boilerplate/reference with SPDX - rule 285 (David Arcari) [1857138] - [tools] cpupower: correct spelling of interval (David Arcari) [1857138] - [tools] cpupower: Replace GPLv2 boilerplate/reference with SPDX - rule 167 (David Arcari) [1857138] - [tools] cpupower: Replace GPLv2 boilerplate/reference with SPDX - rule 166 (David Arcari) [1857138] - [tools] cpupower: Replace GPLv2 boilerplate/reference with SPDX - rule 156 (David Arcari) [1857138] - [tools] treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 155 (David Arcari) [1857138] - [tools] cpupower: Add SPDX license identifier for more missed files (David Arcari) [1857138] - [tools] tools/power/cpupower: Display boost frequency separately (David Arcari) [1857138] - [tools] cpupower : Auto-completion for cpupower tool (David Arcari) [1857138] - [tools] tools/power/cpupower: fix compilation with STATIC=true (David Arcari) [1857138] - [tools] cpupower: remove stringop-truncation waring (David Arcari) [1857138] - [tools] cpupower: convert ISO_8859-1 text comments to utf-8 (David Arcari) [1857138] - [x86] x86/resctrl: Support wider MBM counters (Puneet Sethi) [1834658] - [x86] x86/resctrl: Support CPUID enumeration of MBM counter width (Puneet Sethi) [1834658] - [x86] x86/resctrl: Maintain MBM counter width per resource (Puneet Sethi) [1834658] - [x86] x86/resctrl: Query LLC monitoring properties once during boot (Puneet Sethi) [1834658] - [x86] x86/resctrl: Remove unnecessary RMID checks (Puneet Sethi) [1834658] - [x86] x86/cpu: Move resctrl CPUID code to resctrl/ (Puneet Sethi) [1834658] - [x86] x86/resctrl: Rename asm/resctrl_sched.h to asm/resctrl.h (Puneet Sethi) [1834658] - [x86] x86/resctrl: Preserve CDP enable over CPU hotplug (Puneet Sethi) [1834658] - [net] af_packet: TPACKET_V3: fix fill status rwlock imbalance (Ivan Vecera) [1889829] - [net] packet: tpacket_rcv: do not increment ring index on drop (Ivan Vecera) [1889829] - [net] af_packet: TPACKET_V3: replace busy-wait loop (Ivan Vecera) [1889829] - [net] SUNRPC: Fix svc_flush_dcache() (Scott Mayhew) [1888214] - [fs] pNFS/flexfiles: Be consistent about mirror index types (Scott Mayhew) [1888214] - [fs] pNFS/flexfiles: Ensure we initialise the mirror bsizes correctly on read (Scott Mayhew) [1888214] - [fs] NFSv4.2: fix client's attribute cache management for copy_file_range (Scott Mayhew) [1888214] - [fs] nfs: Fix security label length not being reset (Scott Mayhew) [1888214] - [net] SUNRPC: stop printk reading past end of string (Scott Mayhew) [1888214] - [fs] NFS: Zero-stateid SETATTR should first return delegation (Scott Mayhew) [1888214] - [fs] NFSv4.1 handle ERR_DELAY error reclaiming locking state on delegation recall (Scott Mayhew) [1888214] - [net] SUNRPC: remove duplicate include (Scott Mayhew) [1888214] - [fs] nfsd: fix oops on mixed NFSv4/NFSv3 client access (Scott Mayhew) [1888214] - [fs] NFS: Fix flexfiles read failover (Scott Mayhew) [1888214] - [fs] fs: nfs: delete repeated words in comments (Scott Mayhew) [1888214] - [fs] rpc_pipefs: convert comma to semicolon (Scott Mayhew) [1888214] - [fs] NFS: Don't return layout segments that are in use (Scott Mayhew) [1888214] - [fs] NFS: Don't move layouts to plh_return_segs list while in use (Scott Mayhew) [1888214] - [fs] NFS: Add layout segment info to pnfs read/write/commit tracepoints (Scott Mayhew) [1888214] - [fs] NFS: Add tracepoints for layouterror and layoutstats (Scott Mayhew) [1888214] - [fs] NFS: Report the stateid + status in trace_nfs4_layoutreturn_on_close() (Scott Mayhew) [1888214] - [fs] NFSv4.2: xattr cache: get rid of cache discard work queue (Scott Mayhew) [1888214] - [fs] NFS: remove redundant initialization of variable result (Scott Mayhew) [1888214] - [net] svcrdma: CM event handler clean up (Scott Mayhew) [1888214] - [net] svcrdma: Remove transport reference counting (Scott Mayhew) [1888214] - [net] svcrdma: Fix another Receive buffer leak (Scott Mayhew) [1888214] - [trace] SUNRPC: Refresh the show_rqstp_flags() macro (Scott Mayhew) [1888214] - [fs] nfsd: netns.h: delete a duplicated word (Scott Mayhew) [1888214] - [net] sunrpc: destroy rpc_inode_cachep after unregister_filesystem (Scott Mayhew) [1888214] - [fs] freezer: Add unsafe version of freezable_schedule_timeout_interruptible() for NFS (Scott Mayhew) [1888214] - [fs] NFSv4.2: add client side xattr caching (Scott Mayhew) [1888214] - [fs] NFSv4.2: hook in the user extended attribute handlers (Scott Mayhew) [1888214] - [fs] NFSv4.2: add the extended attribute proc functions (Scott Mayhew) [1888214] - [fs] nfs: make the buf_to_pages_noslab function available to the nfs code (Scott Mayhew) [1888214] - [fs] nfs: define and use the NFS_INO_INVALID_XATTR flag (Scott Mayhew) [1888214] - [fs] NFS: Update symbolic flags displayed by trace events (Scott Mayhew) [1888214] - [fs] nfs: modify update_changeattr to deal with regular files (Scott Mayhew) [1888214] - [fs] NFSv4.2: query the extended attribute access bits (Scott Mayhew) [1888214] - [fs] nfs: define nfs_access_get_cached function (Scott Mayhew) [1888214] - [fs] NFSv4.2: add client side XDR handling for extended attributes (Scott Mayhew) [1888214] - [fs] NFSv4.2: query the server for extended attribute support (Scott Mayhew) [1888214] - [fs] NFSv4.2: define limits and sizes for user xattr handling (Scott Mayhew) [1888214] - [include] nfs: add client side only definitions for user xattrs (Scott Mayhew) [1888214] - [fs] nfsd: Use seq_putc() in two functions (Scott Mayhew) [1888214] - [net] svcrdma: Display chunk completion ID when posting a rw_ctxt (Scott Mayhew) [1888214] - [net] svcrdma: Record send_ctxt completion ID in trace_svcrdma_post_send() (Scott Mayhew) [1888214] - [net] svcrdma: Introduce Send completion IDs (Scott Mayhew) [1888214] - [net] svcrdma: Record Receive completion ID in svc_rdma_decode_rqst (Scott Mayhew) [1888214] - [net] svcrdma: Introduce Receive completion IDs (Scott Mayhew) [1888214] - [trace] svcrdma: Introduce infrastructure to support completion IDs (Scott Mayhew) [1888214] - [net] svcrdma: Add common XDR encoders for RDMA and Read segments (Scott Mayhew) [1888214] - [net] svcrdma: Add common XDR decoders for RDMA and Read segments (Scott Mayhew) [1888214] - [net] SUNRPC: Add helpers for decoding list discriminators symbolically (Scott Mayhew) [1888214] - [include] svcrdma: Remove declarations for functions long removed (Scott Mayhew) [1888214] - [net] svcrdma: Clean up trace_svcrdma_send_failed() tracepoint (Scott Mayhew) [1888214] - [net] svcrdma: Consolidate send_error helper functions (Scott Mayhew) [1888214] - [net] svcrdma: Make svc_rdma_send_error_msg() a global function (Scott Mayhew) [1888214] - [net] svcrdma: Eliminate return value for svc_rdma_send_error_msg() (Scott Mayhew) [1888214] - [net] svcrdma: Add a @status parameter to svc_rdma_send_error_msg() (Scott Mayhew) [1888214] - [net] svcrdma: Add @rctxt parameter to svc_rdma_send_error() functions (Scott Mayhew) [1888214] - [net] svcrdma: Remove save_io_pages() call from send_error_msg() (Scott Mayhew) [1888214] - [net] svcrdma: Fix page leak in svc_rdma_recv_read_chunk() (Scott Mayhew) [1888214] - [net] SUNRPC: Augment server-side rpcgss tracepoints (Scott Mayhew) [1888214] - [fs] nfsd: add fattr support for user extended attributes (Scott Mayhew) [1888214] - [fs] nfsd: implement the xattr functions and en/decode logic (Scott Mayhew) [1888214] - [fs] nfsd: add structure definitions for xattr requests / responses (Scott Mayhew) [1888214] - [fs] nfsd: take xattr bits into account for permission checks (Scott Mayhew) [1888214] - [fs] nfsd: define xattr functions to call into their vfs counterparts (Scott Mayhew) [1888214] - [fs] nfsd: add defines for NFSv4.2 extended attribute support (Scott Mayhew) [1888214] - [fs] nfsd: split off the write decode code into a separate function (Scott Mayhew) [1888214] - [fs] xattr: add a function to check if a namespace is supported (Scott Mayhew) [1888214] - [fs] xattr: break delegations in {set, remove}xattr (Scott Mayhew) [1888214] - [uapi] nfs, nfsd: NFSv4.2 extended attribute protocol definitions (Scott Mayhew) [1888214] - [fs] pNFS/flexfiles: The mirror count could depend on the layout segment range (Scott Mayhew) [1888214] - [fs] pNFS/flexfiles: Clean up redundant calls to pnfs_put_lseg() (Scott Mayhew) [1888214] - [fs] NFS: Allow applications to speed up readdir+statx() using AT_STATX_DONT_SYNC (Scott Mayhew) [1888214] - [include] NFS: Replace zero-length array with flexible-array (Scott Mayhew) [1888214] - [include] nfs4: Remove unneeded semicolon (Scott Mayhew) [1888214] - [tools] selftests/livepatch: adopt to newer sysctl error format (Yannick Cote) [1869880] - [tools] selftests/livepatch: Use "comm" instead of "diff" for dmesg (Yannick Cote) [1869880] - [tools] selftests/livepatch: add test delimiter to dmesg (Yannick Cote) [1869880] - [tools] selftests/livepatch: refine dmesg 'taints' in dmesg comparison (Yannick Cote) [1869880] - [tools] selftests/livepatch: Don't clear dmesg when running tests (Yannick Cote) [1869880] - [lib] selftests/livepatch: fix mem leaks in test-klp-shadow-vars (Yannick Cote) [1869880] - [lib] selftests/livepatch: more verification in test-klp-shadow-vars (Yannick Cote) [1869880] - [lib] selftests/livepatch: rework test-klp-shadow-vars (Yannick Cote) [1869880] - [lib] selftests/livepatch: simplify test-klp-callbacks busy target tests (Yannick Cote) [1869880] - [tools] selftests: Install settings files to fix TIMEOUT failures (Yannick Cote) [1869880] - [cpufreq] cpufreq: intel_pstate: Fix intel_pstate_get_hwp_max() for turbo disabled (Puneet Sethi) [1881199] - [cpufreq] cpufreq: intel_pstate: Free memory only when turning off (Puneet Sethi) [1881199] - [cpufreq] cpufreq: intel_pstate: Add ->offline and ->online callbacks (Puneet Sethi) [1881199] - [cpufreq] cpufreq: intel_pstate: Tweak the EPP sysfs interface (Puneet Sethi) [1881199] - [cpufreq] cpufreq: intel_pstate: Update cached EPP in the active mode (Puneet Sethi) [1881199] - [cpufreq] cpufreq: intel_pstate: Refuse to turn off with HWP enabled (Puneet Sethi) [1881199] - [documentation] Documentation: fix pm/intel_pstate build warning and wording (Puneet Sethi) [1881199] - [cpufreq] cpufreq: intel_pstate: Implement passive mode with HWP enabled (Puneet Sethi) [1881199] - [tools] tools arch x86: Sync the msr-index.h copy with the kernel sources (Puneet Sethi) [1881199] - [cpufreq] cpufreq: intel_pstate: Fix cpuinfo_max_freq when MSR_TURBO_RATIO_LIMIT is 0 (Puneet Sethi) [1881199] - [cpufreq] cpufreq: intel_pstate: Fix EPP setting via sysfs in active mode (Puneet Sethi) [1881199] - [cpufreq] cpufreq: intel_pstate: Rearrange the storing of new EPP values (Puneet Sethi) [1881199] - [cpufreq] cpufreq: intel_pstate: Avoid enabling HWP if EPP is not supported (Puneet Sethi) [1881199] - [cpufreq] cpufreq: intel_pstate: Clean up aperf_mperf_shift description (Puneet Sethi) [1881199] - [cpufreq] cpufreq: intel_pstate: Supply struct attribute description for get_aperf_mperf_shift() (Puneet Sethi) [1881199] - [cpufreq] cpufreq: intel_pstate: Fix static checker warning for epp variable (Puneet Sethi) [1881199] - [cpufreq] cpufreq: intel_pstate: Allow raw energy performance preference value (Puneet Sethi) [1881199] - [cpufreq] cpufreq: intel_pstate: Allow enable/disable energy efficiency (Puneet Sethi) [1881199] - [cpufreq] cpufreq: intel_pstate: Add one more OOB control bit (Puneet Sethi) [1881199] - [cpufreq] cpufreq: intel_pstate: Only mention the BIOS disabling turbo mode once (Puneet Sethi) [1881199] - [documentation] Documentation: intel_pstate: update links for references (Puneet Sethi) [1881199] - [documentation] Documentation: PM: Unify copyright notices (Puneet Sethi) [1881199] - [documentation] Documentation: PM: Add SPDX license tags to multiple files (Puneet Sethi) [1881199] - [documentation] cpufreq: intel_pstate: Documentation: Add references sections (Puneet Sethi) [1881199] - [documentation] Documentation: intel_pstate: Clarify coordination of P-State limits (Puneet Sethi) [1881199] - [documentation] Documentation: intel_pstate: Add base_frequency information (Puneet Sethi) [1881199] - [i2c] i2c: ismt: Remove call to memset after dmam_alloc_coherent (Tony Camuso) [1875395] - [i2c] i2c: ismt: Add support for Intel Cedar Fork (Tony Camuso) [1875395] - [documentation] docs: net: fm10k: add documentation for fm10k driver (Vladis Dronov) [1838728] - [netdrv] net: fm10k: reject unsupported coalescing params (Vladis Dronov) [1838728] - [netdrv] intel: Replace zero-length array with flexible-array member (Vladis Dronov) [1838728] - [netdrv] net: Use skb accessors in network drivers (Vladis Dronov) [1838728] - [netdrv] hdlc_ppp: add range checks in ppp_cp_parse_cr() (Guillaume Nault) [1882082] {CVE-2020-25643}- [pinctrl] pinctrl: sunrisepoint: Modify COMMUNITY macros to be consistent (David Arcari) [1783488] - [pinctrl] pinctrl: cannonlake: Modify COMMUNITY macros to be consistent (David Arcari) [1783488] - [pinctrl] pinctrl: tigerlake: Fix register offsets for TGL-H variant (David Arcari) [1783488] - [pinctrl] pinctrl: intel: Update header block to reflect direct dependencies (David Arcari) [1783488] - [pinctrl] pinctrl: baytrail: Switch to use intel_pinctrl_get_soc_data() (David Arcari) [1783488] - [pinctrl] pinctrl: intel: Extract intel_pinctrl_get_soc_data() helper for wider use (David Arcari) [1783488] - [pinctrl] pinctrl: baytrail: Use fallthrough pseudo-keyword (David Arcari) [1783488] - [pinctrl] pinctrl: baytrail: Fix pin being driven low for a while on gpiod_get(..., GPIOD_OUT_HIGH) (David Arcari) [1783488] - [pinctrl] pinctrl: baytrail: Drop no-op ACPI_PTR() call (David Arcari) [1783488] - [pinctrl] pinctrl: intel: Make use of for_each_requested_gpio_in_range() (David Arcari) [1783488] - [include] gpiolib: Introduce for_each_requested_gpio_in_range() macro (David Arcari) [1783488] - [pinctrl] pinctrl: intel: Protect IO in few call backs by lock (David Arcari) [1783488] - [pinctrl] pinctrl: intel: Split intel_config_get() to three functions (David Arcari) [1783488] - [pinctrl] pinctrl: intel: Drop the only label in the code for consistency (David Arcari) [1783488] - [pinctrl] pinctrl: intel: Get rid of redundant 'else' in intel_config_set_debounce() (David Arcari) [1783488] - [pinctrl] pinctrl: intel: Make use of IRQ_RETVAL() (David Arcari) [1783488] - [pinctrl] pinctrl: intel: Reduce scope of the lock (David Arcari) [1783488] - [pinctrl] pinctrl: intel: Disable input and output buffer when switching to GPIO (David Arcari) [1783488] - [pinctrl] pinctrl: intel: Allow drivers to define ACPI address space ID (David Arcari) [1783488] - [pinctrl] pinctrl: intel: Allow drivers to define total amount of IRQs per community (David Arcari) [1783488] - [pinctrl] pinctrl: intel: Move npins closer to pin_base in struct intel_community (David Arcari) [1783488] - [pinctrl] pinctrl: intel: Update description in struct intel_community (David Arcari) [1783488] - [pinctrl] pinctrl: baytrail: Use platform_get_irq_optional() explicitly (David Arcari) [1783488] - [pinctrl] pinctrl: intel: Introduce new flag to force GPIO base to be 0 (David Arcari) [1783488] - [pinctrl] pinctrl: tigerlake: Use generic flag for special GPIO base treatment (David Arcari) [1783488] - [pinctrl] pinctrl: icelake: Use generic flag for special GPIO base treatment (David Arcari) [1783488] - [pinctrl] pinctrl: cannonlake: Use generic flag for special GPIO base treatment (David Arcari) [1783488] - [pinctrl] pinctrl: baytrail: Enable pin configuration setting for GPIO chip (David Arcari) [1783488] - [pinctrl] pinctrl: sunrisepoint: Fix PAD lock register offset for SPT-H (David Arcari) [1783488] - [pinctrl] pinctrl: baytrail: Mark expected switch fall-throughs (David Arcari) [1783488] - [kernel] mm: disable proactive compaction by default (Rafael Aquini) [1848427] - [mm] mm: use unsigned types for fragmentation score (Rafael Aquini) [1848427] - [mm] mm: fix compile error due to COMPACTION_HPAGE_ORDER (Rafael Aquini) [1848427] - [mm] mm: proactive compaction (Rafael Aquini) [1848427] - [i2c] i2c: mlxbf: I2C_MLXBF should depend on MELLANOX_PLATFORM (Alaa Hleihel) [1655741 1655709] - [i2c] i2c: mlxbf: Update author and maintainer email info (Alaa Hleihel) [1655741 1655709] - [i2c] i2c: mlxbf: Update reference clock frequency (Alaa Hleihel) [1655741 1655709] - [i2c] i2c: mlxbf: Remove unecessary wrapper functions (Alaa Hleihel) [1655741 1655709] - [i2c] i2c: mlxbf: Fix resrticted cast warning of sparse (Alaa Hleihel) [1655741 1655709] - [i2c] i2c: mlxbf: Add CONFIG_ACPI to guard ACPI function call (Alaa Hleihel) [1655741 1655709] - [documentation] dt-bindings: i2c: I2C binding for Mellanox BlueField SoC (Alaa Hleihel) [1655741 1655709] - [i2c] i2c: mlxbf: I2C SMBus driver for Mellanox BlueField SoC (Alaa Hleihel) [1655741 1655709] - [misc] misc: eeprom: ee1004: convert to i2c_new_dummy_device (Alaa Hleihel) [1655741] - [misc] eeprom: ee1004: Deal with nack on page selection (Alaa Hleihel) [1655741] - [misc] eeprom: ee1004: Move selected page detection to a separate function (Alaa Hleihel) [1655741] - [misc] eeprom: New ee1004 driver for DDR4 memory (Alaa Hleihel) [1655741] - [net] xfrm: Use correct address family in xfrm_state_find (Xin Long) [1892641] - [net] xfrm: clone whole liftime_cur structure in xfrm_do_migrate (Xin Long) [1892641] - [net] xfrm: clone XFRMA_SEC_CTX in xfrm_do_migrate (Xin Long) [1892641] - [net] xfrm: clone XFRMA_REPLAY_ESN_VAL in xfrm_do_migrate (Xin Long) [1892641] - [net] xfrm: clone XFRMA_SET_MARK in xfrm_do_migrate (Xin Long) [1892641] - [net] ip_vti: Fix unused variable warning (Xin Long) [1892641] - [net] xfrm: Make the policy hold queue work with VTI. (Xin Long) [1892641] - [s390] s390/qeth: delay draining the TX buffers (Philipp Rudo) [1847443] - [s390] s390/qeth: strictly order bridge address events (Philipp Rudo) [1847443] - [s390] s390/qeth: unify structs for bridge port state (Philipp Rudo) [1847443] - [s390] s390/qeth: copy less data from bridge state events (Philipp Rudo) [1847443] - [s390] s390/qeth: don't let HW override the configured port role (Philipp Rudo) [1847443] - [s390] s390/qeth: don't disable address events during initialization (Philipp Rudo) [1847443] - [s390] s390/qeth: make queue lock a proper spinlock (Philipp Rudo) [1847443] - [s390] s390/qeth: use to_delayed_work() (Philipp Rudo) [1847443] - [s390] s390/qeth: clean up qeth_l3_send_setdelmc()'s declaration (Philipp Rudo) [1847443] - [s390] s390/qeth: use all configured RX buffers (Philipp Rudo) [1847443] - [s390] s390/qeth: don't process empty bridge port events (Philipp Rudo) [1847443] - [s390] s390/qeth: integrate RX refill worker with NAPI (Philipp Rudo) [1847443] - [s390] s390/qeth: tolerate pre-filled RX buffer (Philipp Rudo) [1847443] - [s390] s390/qdio: remove internal polling in non-thinint path (Philipp Rudo) [1847443] - [s390] s390/qdio: allow to scan all 128 Input SBALs (Philipp Rudo) [1847443] - [s390] s390/qdio: fix statistics for 128 SBALs (Philipp Rudo) [1847443] - [s390] s390/qeth: constify the MPC initialization data (Philipp Rudo) [1847443] - [s390] s390/qeth: unify RX-mode hashtables (Philipp Rudo) [1847443] - [s390] s390/qeth: cleanup OAT code (Philipp Rudo) [1847443] - [s390] s390/qeth: clean up a magic number in the OAT callback (Philipp Rudo) [1847443] - [s390] s390/qeth: use u64_to_user_ptr() in the OAT code (Philipp Rudo) [1847443] - [s390] s390/qeth: clean up error handling for isolation mode cmds (Philipp Rudo) [1847443] - [s390] s390/qeth: don't clear the configured isolation mode (Philipp Rudo) [1847443] - [s390] s390/qeth: only init the isolation mode when necessary (Philipp Rudo) [1847443] - [s390] s390/qeth: fine-tune errno when cmds are cancelled (Philipp Rudo) [1847443] - [s390] s390/qeth: reject unsupported link type earlier (Philipp Rudo) [1847443] - [s390] s390/qeth: let isolation mode override HW offload restrictions (Philipp Rudo) [1847443] - [s390] s390/qeth: fix error handling for isolation mode cmds (Philipp Rudo) [1847443] - [s390] s390/qdio: warn about unexpected SLSB states (Philipp Rudo) [1847443] - [s390] s390/qdio: clean up usage of qdio_data (Philipp Rudo) [1847443] - [s390] s390/qdio: reduce SLSB writes during Input Queue processing (Philipp Rudo) [1847443] - [s390] s390/qdio: fine-tune SLSB update (Philipp Rudo) [1847443] - [s390] s390/cio, s390/qeth: cleanup PNSO CHSC (Philipp Rudo) [1847443] - [s390] s390/qdio: remove q->first_to_kick (Philipp Rudo) [1847443] - [s390] s390/qdio: fix up qdio_start_irq() kerneldoc (Philipp Rudo) [1847443] - [s390] s390/qdio: add IRQ reduction for error SBALs (Philipp Rudo) [1847443] - [s390] s390/qdio: refactor ACK processing for primed SBALs (Philipp Rudo) [1847443] - [s390] s390/qdio: simplify overlap calculation on Input refill (Philipp Rudo) [1847443] - [s390] s390/qeth: clean up Kconfig help text (Philipp Rudo) [1847443] - [s390] s390/qeth: return error when starting a reset fails (Philipp Rudo) [1847443] - [s390] s390/qeth: set TX IRQ marker on last buffer in a group (Philipp Rudo) [1847443] - [s390] s390/qeth: indicate contiguous TX buffer elements (Philipp Rudo) [1847443] - [s390] s390/qeth: merge TX skb mapping code (Philipp Rudo) [1847443] - [s390] s390/qeth: don't use restricted offloads for local traffic (Philipp Rudo) [1847443] - [s390] s390/qeth: extract helpers for next-hop lookup (Philipp Rudo) [1847443] - [s390] s390/qeth: add debugfs file for local IP addresses (Philipp Rudo) [1847443] - [s390] s390/qeth: process local address events (Philipp Rudo) [1847443] - [s390] s390/qeth: keep track of LP2LP capability for csum offload (Philipp Rudo) [1847443] - [s390] s390/qeth: fix cancelling of TX timer on dev_close() (Philipp Rudo) [1847443] - [s390] s390/qdio: remove always-true condition (Philipp Rudo) [1847443] - [s390] s390/qdio: de-duplicate tiqdio_inbound_processing() (Philipp Rudo) [1847443] - [s390] s390/qdio: keep track of allocated queue count (Philipp Rudo) [1847443] - [s390] s390/qdio: roll-back after queue allocation error (Philipp Rudo) [1847443] - [s390] s390/qdio: do more fine-grained allocation roll-back (Philipp Rudo) [1847443] - [s390] s390/qdio: consolidate thinint init/exit (Philipp Rudo) [1847443] - [s390] s390/qdio: put thinint indicator after early error (Philipp Rudo) [1847443] - [s390] s390/qdio: tear down thinint indicator after early error (Philipp Rudo) [1847443] - [s390] s390/qdio: consistently restore the IRQ handler (Philipp Rudo) [1847443] - [s390] s390/qdio: clear DSCI early for polling drivers (Philipp Rudo) [1847443] - [s390] s390/qdio: inline shared_ind() (Philipp Rudo) [1847443] - [s390] s390/qdio: remove cdev from init_data (Philipp Rudo) [1847443] - [s390] s390/qdio: allow for non-contiguous SBAL array in init_data (Philipp Rudo) [1847443] - [s390] zfcp: inline zfcp_qdio_setup_init_data() (Philipp Rudo) [1847443] - [s390] s390/qdio: cleanly split alloc and establish (Philipp Rudo) [1847443] - [s390] s390/qeth: phase out OSN support (Philipp Rudo) [1847443] - [s390] s390/qeth: make OSN / OSX support configurable (Philipp Rudo) [1847443] - [s390] s390/qeth: remove fake_broadcast attribute (Philipp Rudo) [1847443] - [s390] s390/qdio: set qdio_irq->cdev at allocation time (Philipp Rudo) [1847443] - [s390] s390/qdio: remove unused function declarations (Philipp Rudo) [1847443] - [s390] s390/qeth: modernize two list helpers (Philipp Rudo) [1847443] - [s390] s390/qeth: keep track of fixed prio-queue configuration (Philipp Rudo) [1847443] - [s390] s390/qeth: fine-tune MAC Address-related errnos (Philipp Rudo) [1847443] - [s390] s390/qeth: add TX IRQ coalescing support for IQD devices (Philipp Rudo) [1847443] - [s390] s390/qeth: collect more TX statistics (Philipp Rudo) [1847443] - [s390] s390/qeth: clean up the mac_bits (Philipp Rudo) [1847443] - [s390] s390/qeth: simplify L3 dev_id logic (Philipp Rudo) [1847443] - [s390] s390/qdio: extend polling support to multiple queues (Philipp Rudo) [1847443] - [s390] s390/qeth: remove redundant if-clause in RX poll code (Philipp Rudo) [1847443] - [s390] s390/qeth: split out RX poll code (Philipp Rudo) [1847443] - [s390] s390/qeth: simplify RX buffer tracking (Philipp Rudo) [1847443] - [s390] s390/qdio: pass ISC as parameter to chsc_sadc() (Philipp Rudo) [1847443] - [s390] s390/qeth: use dev->reg_state (Philipp Rudo) [1847443] - [s390] s390/qeth: remove gratuitous NULL checks (Philipp Rudo) [1847443] - [s390] s390/qeth: add phys_to_virt() translation for AOB (Philipp Rudo) [1847443] - [s390] s390/qeth: don't report hard-coded driver version (Philipp Rudo) [1847443] - [s390] s390/qeth: add SW timestamping support for IQD devices (Philipp Rudo) [1847443] - [s390] s390/qeth: balance the TX queue selection for IQD devices (Philipp Rudo) [1847443] - [s390] s390/qeth: allow configuration of TX queues for IQD devices (Philipp Rudo) [1847443] - [s390] s390/qeth: allow configuration of TX queues for z/VM NICs (Philipp Rudo) [1847443] - [s390] s390/qeth: remove prio-queueing support for z/VM NICs (Philipp Rudo) [1847443] - [s390] s390/qeth: use memory reserves in TX slow path (Philipp Rudo) [1847443] - [s390] s390/qeth: use memory reserves to back RX buffers (Philipp Rudo) [1847443] - [s390] s390/qeth: remove VNICC callback parameter struct (Philipp Rudo) [1847443] - [s390] s390/qdio: add tighter controls for IRQ polling (Philipp Rudo) [1847443] - [s390] s390/qdio: export SSQD via debugfs (Philipp Rudo) [1847443] - [s390] s390/qeth: support configurable RX copybreak (Philipp Rudo) [1847443] - [s390] s390/qeth: don't check for IFF_UP when scheduling napi (Philipp Rudo) [1847443] - [s390] s390/qeth: don't re-start read cmd when IDX has terminated (Philipp Rudo) [1847443] - [s390] s390/qeth: reset seqnos on connection startup (Philipp Rudo) [1847443] - [s390] s390/qeth: remove unused cmd definitions (Philipp Rudo) [1847443] - [s390] s390/qeth: validate device-provided MAC address (Philipp Rudo) [1847443] - [s390] s390/qeth: clean up CREATE_ADDR cmd code (Philipp Rudo) [1847443] - [s390] s390/qeth: remove dead code in qeth_l3_iqd_read_initial_mac() (Philipp Rudo) [1847443] - [s390] s390/qdio: simplify debugfs code (Philipp Rudo) [1847443] - [s390] s390/qdio: use QDIO_IRQ_STATE_INACTIVE instead of 0 (Philipp Rudo) [1847443] - [s390] s390/qeth: don't warn for napi with 0 budget (Philipp Rudo) [1847443] - [s390] s390/qdio: reduce access to cdev->private->qdio_data (Philipp Rudo) [1847443] - [s390] s390/qdio: clean up cdev access in qdio_setup_irq() (Philipp Rudo) [1847443] - [s390] s390/qdio: fill SL with absolute addresses (Philipp Rudo) [1847443] - [s390] s390/qdio: don't allocate *aob array with GFP_ATOMIC (Philipp Rudo) [1847443] - [s390] s390/qdio: simplify ACK tracking (Philipp Rudo) [1847443] - [s390] s390/qeth: remove HARDSETUP state (Philipp Rudo) [1847443] - [s390] s390/qeth: make cmd/reply matching more flexible (Philipp Rudo) [1847443] - [s390] s390/qeth: consolidate online/offline code (Philipp Rudo) [1847443] - [s390] s390/qeth: shift some bridgeport code around (Philipp Rudo) [1847443] - [s390] s390/qeth: remove QETH_RX_PULL_LEN (Philipp Rudo) [1847443] - [s390] s390/qeth: use napi_gro_frags() for SG skbs (Philipp Rudo) [1847443] - [s390] s390/qeth: consolidate RX code (Philipp Rudo) [1847443] - [s390] s390/qeth: make use of napi_schedule_irqoff() (Philipp Rudo) [1847443] - [s390] s390/qeth: consolidate helpers for capability checking (Philipp Rudo) [1847443] - [s390] s390/qeth: stop yielding the ip_lock during IPv4 registration (Philipp Rudo) [1847443] - [s390] s390/qeth: don't raise NETDEV_REBOOT event from L3 offline path (Philipp Rudo) [1847443] - [s390] s390/qeth: remove open-coded inet_make_mask() (Philipp Rudo) [1847443] - [s390] s390/qeth: clean up L3 sysfs code (Philipp Rudo) [1847443] - [s390] s390/qeth: overhaul L3 IP address dump code (Philipp Rudo) [1847443] - [s390] s390/qeth: wake up all waiters from qeth_irq() (Philipp Rudo) [1847443] - [s390] s390/qeth: only handle IRQs while device is online (Philipp Rudo) [1847443] - [s390] s390: clean up qdio.h (Philipp Rudo) [1847443] - [s390] s390/cio: fix kdoc for tiqdio_thinint_handler (Philipp Rudo) [1847443] - [s390] s390/drivers: fix proc/debugfs file permissions (Philipp Rudo) [1847443] - [s390] s390: convert to DEFINE_SHOW_ATTRIBUTE (Philipp Rudo) [1847443] - [s390] scsi: zfcp: Avoid benign overflow of the Request Queue's free-level (Philipp Rudo) [1874100] - [s390] scsi: zfcp: Replace open-coded list move (Philipp Rudo) [1874100] - [s390] scsi: zfcp: Clean up zfcp_erp_action_ready() (Philipp Rudo) [1874100] - [s390] scsi: zfcp: Fix an outdated comment for zfcp_qdio_send() (Philipp Rudo) [1874100] - [s390] scsi: zfcp: Use prandom_u32_max() for backoff (Philipp Rudo) [1874100] - [s390] scsi: zfcp: fix wrong data and display format of SFP+ temperature (Philipp Rudo) [1874100] - [s390] scsi: zfcp: trace channel log even for FCP command responses (Philipp Rudo) [1874100] - [s390] scsi: zfcp: proper indentation to reduce confusion in zfcp_erp_required_act (Philipp Rudo) [1874100] - [s390] scsi: zfcp: move maximum age of diagnostic buffers into a per-adapter variable (Philipp Rudo) [1874100] - [s390] scsi: zfcp: implicitly refresh config-data diagnostics when reading sysfs (Philipp Rudo) [1874100] - [s390] scsi: zfcp: introduce sysfs interface to read the local B2B-Credit (Philipp Rudo) [1874100] - [s390] scsi: zfcp: implicitly refresh port-data diagnostics when reading sysfs (Philipp Rudo) [1874100] - [s390] scsi: zfcp: introduce sysfs interface for diagnostics of local SFP transceiver (Philipp Rudo) [1874100] - [s390] scsi: zfcp: support retrieval of SFP Data via Exchange Port Data (Philipp Rudo) [1874100] - [s390] scsi: zfcp: fix GCC compiler warning emitted with -Wmaybe-uninitialized (Philipp Rudo) [1874100] - [s390] scsi: zfcp: fix request object use-after-free in send path causing seqno errors (Philipp Rudo) [1874100] - [s390] scsi: s390: zfcp_fc: use sg helper to iterate over scatterlist (Philipp Rudo) [1874100] - [s390] scsi: zfcp: reduce flood of fcrscn1 trace records on multi-element RSCN (Philipp Rudo) [1874100] - [s390] scsi: zfcp: improve kdoc for return of zfcp_status_read_refill() (Philipp Rudo) [1874100] - [s390] scsi: zfcp: drop old default switch case which might paper over missing case (Philipp Rudo) [1874100] - [s390] scsi: zfcp: drop default switch case which might paper over missing case (Philipp Rudo) [1874100] - [s390] scsi: zfcp: silence -Wimplicit-fallthrough in zfcp_erp_lun_strategy() (Philipp Rudo) [1874100] - [s390] scsi: zfcp: silence remaining kdoc warnings in header files (Philipp Rudo) [1874100] - [s390] scsi: zfcp: silence all W=1 build warnings for existing kdoc (Philipp Rudo) [1874100] - [s390] scsi: zfcp: properly format LUN (and WWPN) for LUN sharing violation kmsg (Philipp Rudo) [1874100] - [s390] scsi: zfcp: use enum zfcp_erp_act_result for argument/return of affected functions (Philipp Rudo) [1874100] - [s390] scsi: zfcp: use enum zfcp_erp_steps for struct zfcp_erp_action.step (Philipp Rudo) [1874100] - [s390] scsi: zfcp: the action field of zfcp_erp_action is actually the type (Philipp Rudo) [1874100] - [s390] scsi: zfcp: clarify function argument name for trace tag string (Philipp Rudo) [1874100] - [s390] scsi: zfcp: ERP thread setup kdoc update (Philipp Rudo) [1874100] - [s390] scsi: zfcp: update kernel message for invalid FCP_CMND length, it's not the CDB (Philipp Rudo) [1874100] - [s390] scsi: zfcp: drop duplicate seq_no from zfcp_fsf_req which is also in QTCB header (Philipp Rudo) [1874100] - [s390] scsi: zfcp: drop duplicate fsf_command from zfcp_fsf_req which is also in QTCB header (Philipp Rudo) [1874100] - [s390] scsi: zfcp: drop unnecessary forward prototype for struct zfcp_fsf_req (Philipp Rudo) [1874100] - [s390] scsi: zfcp: group sort internal structure definitions for proximity (Philipp Rudo) [1874100] - [s390] scsi: zfcp: namespace prefix for internal latency data structures (Philipp Rudo) [1874100] - [s390] scsi: zfcp: update width in comment for ZFCP_COMMON_FLAGS mask (Philipp Rudo) [1874100] - [s390] scsi: zfcp: move scsi_eh & non-ERP timeout defines owned by and local to zfcp_fsf.c (Philipp Rudo) [1874100] - [s390] scsi: zfcp: drop unnecessary forward prototype for struct zfcp_reqlist (Philipp Rudo) [1874100] - [s390] scsi: zfcp: move SG table helper from aux to fc and make them static (Philipp Rudo) [1874100] - [s390] scsi: zfcp: remove unnecessary null pointer check before mempool_destroy (Philipp Rudo) [1874100] - [s390] s390/dasd, zfcp: fix gcc 8 stringop-truncation warnings (Philipp Rudo) [1874100] - [s390] s390/stp: unify stp_work_mutex and clock_sync_mutex (Philipp Rudo) [1856342] - [s390] s390/stp: add sysfs file to show scheduled leap seconds (Philipp Rudo) [1856342] - [s390] s390/stp: add support for leap seconds (Philipp Rudo) [1856342] - [s390] s390/stp: use u32 instead of unsigned int (Philipp Rudo) [1856342] - [s390] s390/stp: use __packed (Philipp Rudo) [1856342] - [s390] s390/stp: add locking to sysfs functions (Philipp Rudo) [1856342] - [s390] s390/stp: allow group and users to read stp sysfs files (Philipp Rudo) [1856342] - [s390] s390/ipl: add support to control memory clearing for nvme re-IPL (Philipp Rudo) [1851122] - [kernel] tick: broadcast-hrtimer: Fix a race in bc_set_next (Vladis Dronov) [1876567] - [fs] gfs2: Make sure we don't miss any delayed withdraws (Robert S Peterson) [1873565] - [fs] gfs2: add some much needed cleanup for log flushes that fail (Robert S Peterson) [1873565] - [fs] gfs2: fix trans slab error when withdraw occurs inside log_flush (Robert S Peterson) [1873565] - [block] blk-mq: mark flush request as IDLE in flush_end_io() (Gopal Tiwari) [1894347] - [nvme] nvme-tcp: avoid repeated request completion (Gopal Tiwari) [1894347] - [nvme] nvme-rdma: avoid repeated request completion (Gopal Tiwari) [1894347] - [nvme] nvme-tcp: avoid race between time out and tear down (Gopal Tiwari) [1894347] - [nvme] nvme-rdma: avoid race between time out and tear down (Gopal Tiwari) [1894347] - [nvme] nvme: introduce nvme_sync_io_queues (Gopal Tiwari) [1894347] - [documentation] kvm: x86: hyper-v: Mention SynDBG CPUID leaves in api.rst (Vitaly Kuznetsov) [1882793] - [x86] kvm: vmx: remove unused variable (Vitaly Kuznetsov) [1882793] - [tools] kvm: selftests: Don't require THP to run tests (Vitaly Kuznetsov) [1882793] - [x86] kvm: vmx: evmcs: make evmcs_sanitize_exec_ctrls() work again (Vitaly Kuznetsov) [1882793] - [tools] kvm: selftests: test behavior of unmapped L2 APIC-access address (Vitaly Kuznetsov) [1882793] - [x86] kvm: x86: Fix NULL dereference at kvm_msr_ignored_check() (Vitaly Kuznetsov) [1882793] - [x86] kvm: x86: replace static const variables with macros (Vitaly Kuznetsov) [1882793] - [x86] kvm: ioapic: break infinite recursion on lazy EOI (Vitaly Kuznetsov) [1882793] - [x86] kvm: vmx: rename pi_init to avoid conflict with paride (Vitaly Kuznetsov) [1882793] - [x86] kvm: x86/mmu: Avoid modulo operator on 64-bit value to fix i386 build (Vitaly Kuznetsov) [1882793] - [x86] kvm: x86/mmu: NX largepage recovery for TDP MMU (Vitaly Kuznetsov) [1882793] - [x86] kvm: x86/mmu: Don't clear write flooding count for direct roots (Vitaly Kuznetsov) [1882793] - [x86] kvm: x86/mmu: Support MMIO in the TDP MMU (Vitaly Kuznetsov) [1882793] - [x86] kvm: x86/mmu: Support write protection for nesting in tdp MMU (Vitaly Kuznetsov) [1882793] - [x86] kvm: x86/mmu: Support disabling dirty logging for the tdp MMU (Vitaly Kuznetsov) [1882793] - [x86] kvm: x86/mmu: Support dirty logging for the TDP MMU (Vitaly Kuznetsov) [1882793] - [x86] kvm: x86/mmu: Support changed pte notifier in tdp MMU (Vitaly Kuznetsov) [1882793] - [x86] kvm: x86/mmu: Add access tracking for tdp_mmu (Vitaly Kuznetsov) [1882793] - [x86] kvm: x86/mmu: Support invalidate range MMU notifier for TDP MMU (Vitaly Kuznetsov) [1882793] - [x86] kvm: x86/mmu: Allocate struct kvm_mmu_pages for all pages in TDP MMU (Vitaly Kuznetsov) [1882793] - [x86] kvm: x86/mmu: Add TDP MMU PF handler (Vitaly Kuznetsov) [1882793] - [x86] kvm: x86/mmu: Remove disallowed_hugepage_adjust shadow_walk_iterator arg (Vitaly Kuznetsov) [1882793] - [x86] kvm: x86/mmu: Support zapping SPTEs in the TDP MMU (Vitaly Kuznetsov) [1882793] - [virt] kvm: Cache as_id in kvm_memory_slot (Vitaly Kuznetsov) [1882793] - [x86] kvm: x86/mmu: Add functions to handle changed TDP SPTEs (Vitaly Kuznetsov) [1882793] - [x86] kvm: x86/mmu: Allocate and free TDP MMU roots (Vitaly Kuznetsov) [1882793] - [x86] kvm: x86/mmu: Init / Uninit the TDP MMU (Vitaly Kuznetsov) [1882793] - [x86] kvm: x86/mmu: Introduce tdp_iter (Vitaly Kuznetsov) [1882793] - [x86] kvm: mmu: extract spte.h and spte.c (Vitaly Kuznetsov) [1882793] - [x86] kvm: mmu: Separate updating a PTE from kvm_set_pte_rmapp (Vitaly Kuznetsov) [1882793] - [x86] kvm: x86/mmu: Separate making SPTEs from set_spte (Vitaly Kuznetsov) [1882793] - [x86] kvm: mmu: Separate making non-leaf sptes from link_shadow_page (Vitaly Kuznetsov) [1882793] - [x86] kvm: x86: Let the guest own CR4.FSGSBASE (Vitaly Kuznetsov) [1882793] - [x86] kvm: vmx: Intercept guest reserved CR4 bits to inject #GP fault (Vitaly Kuznetsov) [1882793] - [x86] kvm: x86: Move call to update_exception_bitmap() into VMX code (Vitaly Kuznetsov) [1882793] - [x86] kvm: x86: Invoke vendor's vcpu_after_set_cpuid() after all common updates (Vitaly Kuznetsov) [1882793] - [x86] kvm: x86: Intercept LA57 to inject #GP fault when it's reserved (Vitaly Kuznetsov) [1882793] - [x86] kvm: svm: Initialize prev_ga_tag before use (Vitaly Kuznetsov) [1882793] - [x86] kvm: nsvm: implement on demand allocation of the nested state (Vitaly Kuznetsov) [1882793] - [x86] kvm: x86: allow kvm_x86_ops.set_efer to return an error value (Vitaly Kuznetsov) [1882793] - [x86] kvm: x86: report negative values from wrmsr emulation to userspace (Vitaly Kuznetsov) [1882793] - [x86] kvm: x86: xen_hvm_config: cleanup return values (Vitaly Kuznetsov) [1882793] - [x86] kvm x86/mmu: Make struct kernel_param_ops definitions const (Vitaly Kuznetsov) [1882793] - [x86] kvm: x86: allocate vcpu->arch.cpuid_entries dynamically (Vitaly Kuznetsov) [1882793] - [x86] kvm: x86: disconnect kvm_check_cpuid() from vcpu->arch.cpuid_entries (Vitaly Kuznetsov) [1882793] - [x86] kvm: x86: only provide PV features if enabled in guest's CPUID (Vitaly Kuznetsov) [1882793] - [x86] kvm: x86: set wall_clock in kvm_write_wall_clock() (Vitaly Kuznetsov) [1882793] - [x86] kvm: x86: encapsulate wrmsr(MSR_KVM_SYSTEM_TIME) emulation in helper fn (Vitaly Kuznetsov) [1882793] - [x86] kvm: hide KVM options from menuconfig when KVM is not compiled (Vitaly Kuznetsov) [1882793] - [documentation] kvm: vmx: Forbid userspace MSR filters for x2APIC (Vitaly Kuznetsov) [1882793] - [x86] kvm: vmx: Ignore userspace MSR filters for x2APIC (Vitaly Kuznetsov) [1882793] - [x86] kvm: vmx: Fix x2APIC MSR intercept handling on !APICV platforms (Vitaly Kuznetsov) [1882793] - [x86] kvm: vmx: vmx_uret_msrs_list[] can be static (Vitaly Kuznetsov) [1882793] - [tools] kvm: x86: do not attempt TSC synchronization on guest writes (Vitaly Kuznetsov) [1882793] - [x86] kvm: nsvm: delay MSR permission processing to first nested VM run (Vitaly Kuznetsov) [1882793] - [x86] kvm: x86: rename KVM_REQ_GET_VMCS12_PAGES (Vitaly Kuznetsov) [1882793] - [tools] kvm: selftests: Add test for user space MSR handling (Vitaly Kuznetsov) [1882793] - [x86] kvm: x86: Introduce MSR filtering (Vitaly Kuznetsov) [1882793] - [x86] kvm: x86: vmx: Prevent MSR passthrough when MSR access is denied (Vitaly Kuznetsov) [1882793] - [x86] kvm: x86: svm: Prevent MSR passthrough when MSR access is denied (Vitaly Kuznetsov) [1882793] - [x86] kvm: x86: Prepare MSR bitmaps for userspace tracked MSRs (Vitaly Kuznetsov) [1882793] - [x86] kvm: x86: Add infrastructure for MSR filtering (Vitaly Kuznetsov) [1882793] - [x86] kvm: x86: Allow deflecting unknown MSR accesses to user space (Vitaly Kuznetsov) [1882793] - [x86] kvm: x86: Return -ENOENT on unimplemented MSRs (Vitaly Kuznetsov) [1882793] - [x86] kvm: vmx: Rename vmx_uret_msr's "index" to "slot" (Vitaly Kuznetsov) [1882793] - [x86] kvm: vmx: Rename "vmx_msr_index" to "vmx_uret_msrs_list" (Vitaly Kuznetsov) [1882793] - [x86] kvm: vmx: Rename "vmx_set_guest_msr" to "vmx_set_guest_uret_msr" (Vitaly Kuznetsov) [1882793] - [x86] kvm: vmx: Rename "find_msr_entry" to "vmx_find_uret_msr" (Vitaly Kuznetsov) [1882793] - [x86] kvm: vmx: Add vmx_setup_uret_msr() to handle lookup and swap (Vitaly Kuznetsov) [1882793] - [x86] kvm: vmx: Move uret MSR lookup into update_transition_efer() (Vitaly Kuznetsov) [1882793] - [x86] kvm: vmx: Check guest support for RDTSCP before processing MSR_TSC_AUX (Vitaly Kuznetsov) [1882793] - [x86] kvm: vmx: Rename "__find_msr_index" to "__vmx_find_uret_msr" (Vitaly Kuznetsov) [1882793] - [x86] kvm: vmx: Rename vcpu_vmx's "guest_msrs_ready" to "guest_uret_msrs_loaded" (Vitaly Kuznetsov) [1882793] - [x86] kvm: vmx: Rename vcpu_vmx's "save_nmsrs" to "nr_active_uret_msrs" (Vitaly Kuznetsov) [1882793] - [x86] kvm: vmx: Rename vcpu_vmx's "nmsrs" to "nr_uret_msrs" (Vitaly Kuznetsov) [1882793] - [x86] kvm: vmx: Rename the "shared_msr_entry" struct to "vmx_uret_msr" (Vitaly Kuznetsov) [1882793] - [x86] kvm: vmx: Rename "vmx_find_msr_index" to "vmx_find_loadstore_msr_slot" (Vitaly Kuznetsov) [1882793] - [x86] kvm: vmx: Prepend "MAX_" to MSR array size defines (Vitaly Kuznetsov) [1882793] - [x86] kvm: x86: Rename "shared_msrs" to "user_return_msrs" (Vitaly Kuznetsov) [1882793] - [x86] kvm: x86/mmu: Move individual kvm_mmu initialization into common helper (Vitaly Kuznetsov) [1882793] - [x86] kvm: nvmx: Read EXIT_QUAL and INTR_INFO only when needed for nested exit (Vitaly Kuznetsov) [1882793] - [x86] kvm: x86: Use common definition for kvm_nested_vmexit tracepoint (Vitaly Kuznetsov) [1882793] - [x86] kvm: x86: Add macro wrapper for defining kvm_exit tracepoint (Vitaly Kuznetsov) [1882793] - [x86] kvm: x86: Add intr/vectoring info and error code to kvm_exit tracepoint (Vitaly Kuznetsov) [1882793] - [x86] kvm: vmx: Add a helper to test for a valid error code given an intr info (Vitaly Kuznetsov) [1882793] - [x86] kvm: x86: Read guest RIP from within the kvm_nested_vmexit tracepoint (Vitaly Kuznetsov) [1882793] - [x86] kvm: x86: Add RIP to the kvm_entry, i.e. VM-Enter, tracepoint (Vitaly Kuznetsov) [1882793] - [x86] kvm: nvmx: WARN on attempt to switch the currently loaded VMCS (Vitaly Kuznetsov) [1882793] - [x86] kvm: nvmx: Drop redundant VMCS switch and free_nested() call (Vitaly Kuznetsov) [1882793] - [x86] kvm: nvmx: Ensure vmcs01 is the loaded VMCS when freeing nested state (Vitaly Kuznetsov) [1882793] - [x86] kvm: nvmx: Move free_nested() below vmx_switch_vmcs() (Vitaly Kuznetsov) [1882793] - [x86] kvm: nvmx: Explicitly check for valid guest state for !unrestricted guest (Vitaly Kuznetsov) [1882793] - [x86] kvm: nvmx: Reload vmcs01 if getting vmcs12's pages fails (Vitaly Kuznetsov) [1882793] - [x86] kvm: nvmx: Reset the segment cache when stuffing guest segs (Vitaly Kuznetsov) [1882793] - [x86] kvm: x86/mmu: Track write/user faults using bools (Vitaly Kuznetsov) [1882793] - [x86] kvm: x86/mmu: Hoist ITLB multi-hit workaround check up a level (Vitaly Kuznetsov) [1882793] - [x86] kvm: x86/mmu: Rename 'hlevel' to 'level' in FNAME(fetch) (Vitaly Kuznetsov) [1882793] - [x86] kvm: x86/mmu: Account NX huge page disallowed iff huge page was requested (Vitaly Kuznetsov) [1882793] - [x86] kvm: x86/mmu: Capture requested page level before NX huge page workaround (Vitaly Kuznetsov) [1882793] - [x86] kvm: x86/mmu: Move "huge page disallowed" calculation into mapping helpers (Vitaly Kuznetsov) [1882793] - [x86] kvm: x86/mmu: Refactor the zap loop for recovering NX lpages (Vitaly Kuznetsov) [1882793] - [x86] kvm: x86/mmu: Commit zap of remaining invalid pages when recovering lpages (Vitaly Kuznetsov) [1882793] - [x86] kvm: vmx: Rename ops.h to vmx_ops.h (Vitaly Kuznetsov) [1882793] - [x86] kvm: vmx: Extract posted interrupt support to separate files (Vitaly Kuznetsov) [1882793] - [x86] kvm: x86/mmu: Bail early from final #PF handling on spurious faults (Vitaly Kuznetsov) [1882793] - [x86] kvm: x86/mmu: Return unique RET_PF_* values if the fault was fixed (Vitaly Kuznetsov) [1882793] - [x86] kvm: x86/mmu: Invert RET_PF_* check when falling through to emulation (Vitaly Kuznetsov) [1882793] - [x86] kvm: x86/mmu: Return -EIO if page fault returns RET_PF_INVALID (Vitaly Kuznetsov) [1882793] - [x86] kvm: x86/mmu: Recursively zap nested TDP SPs when zapping last/only parent (Vitaly Kuznetsov) [1882793] - [x86] kvm: x86/mmu: Move flush logic from mmu_page_zap_pte() to FNAME(invlpg) (Vitaly Kuznetsov) [1882793] - [x86] kvm: x86: hyper-v: disallow configuring SynIC timers with no SynIC (Vitaly Kuznetsov) [1882793] - [x86] kvm: x86/mmu: Stash 'kvm' in a local variable in kvm_mmu_free_roots() (Vitaly Kuznetsov) [1882793] - [x86] kvm: vmx: Add a helper and macros to reduce boilerplate for sec exec ctls (Vitaly Kuznetsov) [1882793] - [x86] kvm: vmx: Rename RDTSCP secondary exec control name to insert "ENABLE" (Vitaly Kuznetsov) [1882793] - [x86] kvm: vmx: Use VMX_FEATURE_* flags to define VMCS control bits (Vitaly Kuznetsov) [1882793] - [x86] kvm: vmx: Unconditionally clear CPUID.INVPCID if !CPUID.PCID (Vitaly Kuznetsov) [1882793] - [x86] kvm: vmx: Rename vmx_*_supported() helpers to cpu_has_vmx_*() (Vitaly Kuznetsov) [1882793] - [x86] kvm: vmx: Use "illegal GPA" helper for PT/RTIT output base check (Vitaly Kuznetsov) [1882793] - [x86] kvm: x86: Move illegal GPA helper out of the MMU code (Vitaly Kuznetsov) [1882793] - [x86] kvm: vmx: Replace MSR_IA32_RTIT_OUTPUT_BASE_MASK with helper function (Vitaly Kuznetsov) [1882793] - [x86] kvm: x86: Unexport cpuid_query_maxphyaddr() (Vitaly Kuznetsov) [1882793] - [x86] kvm: vmx: Use precomputed MAXPHYADDR for RTIT base MSR check (Vitaly Kuznetsov) [1882793] - [x86] kvm: vmx: Do not perform emulation for INVD intercept (Vitaly Kuznetsov) [1882793] - [x86] kvm: sev: shorten comments around sev_clflush_pages (Vitaly Kuznetsov) [1882793] - [x86] kvm: svm: Mark SEV launch secret pages as dirty (Vitaly Kuznetsov) [1882793] - [x86] kvm: nvmx: Add VM-Enter failed tracepoints for super early checks (Vitaly Kuznetsov) [1882793] - [x86] kvm: nsvm: CR3 MBZ bits are only 63:52 (Vitaly Kuznetsov) [1882793] - [x86] kvm: x86: emulating RDPID failure shall return #UD rather than #GP (Vitaly Kuznetsov) [1882793] - [x86] kvm: nvmx: Morph notification vector IRQ on nested VM-Enter to pending PI (Vitaly Kuznetsov) [1882793] - [x86] kvm: svm: Add tracepoint for cr_interception (Vitaly Kuznetsov) [1882793] - [x86] kvm: svm: Analyze is_guest_mode() in svm_vcpu_run() (Vitaly Kuznetsov) [1882793] - [x86] kvm: vmx: Invoke NMI handler via indirect call instead of INTn (Vitaly Kuznetsov) [1882793] - [x86] kvm: vmx: Move IRQ invocation to assembly subroutine (Vitaly Kuznetsov) [1882793] - [x86] kvm: x86: Add kvm_x86_ops hook to short circuit emulation (Vitaly Kuznetsov) [1882793] - [x86] kvm: svm: use __GFP_ZERO instead of clear_page() (Vitaly Kuznetsov) [1882793] - [x86] kvm: nvmx: KVM needs to unset "unrestricted guest" VM-execution control in vmcs02 if vmcs12 doesn't set it (Vitaly Kuznetsov) [1882793] - [x86] kvm: svm: Enable INVPCID feature on AMD (Vitaly Kuznetsov) [1882793] - [x86] kvm: x86: Move handling of INVPCID types to x86 (Vitaly Kuznetsov) [1882793] - [x86] kvm: x86: Rename and move the function vmx_handle_memory_failure to x86.c (Vitaly Kuznetsov) [1882793] - [x86] kvm: svm: Remove set_cr_intercept, clr_cr_intercept and is_cr_intercept (Vitaly Kuznetsov) [1882793] - [x86] kvm: svm: Add new intercept word in vmcb_control_area (Vitaly Kuznetsov) [1882793] - [x86] kvm: svm: Modify 64 bit intercept field to two 32 bit vectors (Vitaly Kuznetsov) [1882793] - [x86] kvm: svm: Modify intercept_exceptions to generic intercepts (Vitaly Kuznetsov) [1882793] - [x86] kvm: svm: Change intercept_dr to generic intercepts (Vitaly Kuznetsov) [1882793] - [x86] kvm: svm: Change intercept_cr to generic intercepts (Vitaly Kuznetsov) [1882793] - [x86] kvm: svm: Introduce vmcb_(set_intercept/clr_intercept/_is_intercept) (Vitaly Kuznetsov) [1882793] - [x86] kvm: nsvm: Remove unused field (Vitaly Kuznetsov) [1882793] - [x86] kvm: svm: refactor exit labels in svm_create_vcpu (Vitaly Kuznetsov) [1882793] - [x86] kvm: svm: use __GFP_ZERO instead of clear_page (Vitaly Kuznetsov) [1882793] - [x86] kvm: svm: refactor msr permission bitmap allocation (Vitaly Kuznetsov) [1882793] - [x86] kvm: nsvm: rename nested vmcb to vmcb12 (Vitaly Kuznetsov) [1882793] - [x86] kvm: svm: rename a variable in the svm_create_vcpu (Vitaly Kuznetsov) [1882793] - [x86] kvm: lapic: Reduce world switch latency caused by timer_advance_ns (Vitaly Kuznetsov) [1882793] - [x86] kvm: lapic: Narrow down the kick target vCPU (Vitaly Kuznetsov) [1882793] - [x86] kvm: lapic: Guarantee the timer is in tsc-deadline mode when setting (Vitaly Kuznetsov) [1882793] - [x86] kvm: lapic: Return 0 when getting the tscdeadline timer if the lapic is hw disabled (Vitaly Kuznetsov) [1882793] - [x86] kvm: lapic: Fix updating DFR missing apic map recalculation (Vitaly Kuznetsov) [1882793] - [virt] kvm/eventfd: move wildcard calculation outside loop (Vitaly Kuznetsov) [1882793] - [x86] kvm: nvmx: Simplify the initialization of nested_vmx_msrs (Vitaly Kuznetsov) [1882793] - [x86] kvm: nvmx: Fix VMX controls MSRs setup when nested VMX enabled (Vitaly Kuznetsov) [1882793] - [x86] kvm: nsvm: Avoid freeing uninitialized pointers in svm_set_nested_state() (Vitaly Kuznetsov) [1882793] - [x86] hyperv: Remove aliases with X64 in their name (Vitaly Kuznetsov) [1882793] - [x86] hyperv: Split hyperv-tlfs.h into arch dependent and independent files (Vitaly Kuznetsov) [1882793] - [x86] hyperv: Remove HV_PROCESSOR_POWER_STATE #defines (Vitaly Kuznetsov) [1882793] - [x86] kvm: svm: Add GHCB definitions (Vitaly Kuznetsov) [1882793] - [x86] kvm: svm: nested: Don't allocate VMCB structures on stack (Vitaly Kuznetsov) [1882793] - [x86] kvm: mmu: page_track: Fix RCU list API usage (Vitaly Kuznetsov) [1882793] - [kernel] rculist: Introduce list/hlist_for_each_entry_srcu() macros (Vitaly Kuznetsov) [1882793] - [x86] kvm: vmx: update PFEC_MASK/PFEC_MATCH together with PF intercept (Vitaly Kuznetsov) [1882793] - [x86] kvm: svm: Add a dedicated INVD intercept routine (Vitaly Kuznetsov) [1882793] - [x86] kvm: x86: Reset MMU context if guest toggles CR4.SMAP or CR4.PKE (Vitaly Kuznetsov) [1882793] - [x86] kvm: x86: fix MSR_IA32_TSC read for nested migration (Vitaly Kuznetsov) [1882793] - [tools] selftests: kvm: Fix assert failure in single-step test (Vitaly Kuznetsov) [1882793] - [x86] kvm: x86: vmx: Make smaller physical guest address space support user-configurable (Vitaly Kuznetsov) [1882793] - [x86] revert "kvm: Check the allocation of pv cpu mask" (Vitaly Kuznetsov) [1882793] - [x86] kvm: emulator: more strict rsm checks (Vitaly Kuznetsov) [1882793] - [x86] kvm: nsvm: more strict SMM checks when returning to nested guest (Vitaly Kuznetsov) [1882793] - [x86] svm: nsvm: setup nested msr permission bitmap on nested state load (Vitaly Kuznetsov) [1882793] - [x86] svm: nsvm: correctly restore GIF on vmexit from nesting after migration (Vitaly Kuznetsov) [1882793] - [x86] kvm: vmx: Don't freeze guest when event delivery causes an APIC-access exit (Vitaly Kuznetsov) [1882793] - [x86] kvm: svm: avoid emulation with stale next_rip (Vitaly Kuznetsov) [1882793] - [x86] kvm: x86: always allow writing '0' to MSR_KVM_ASYNC_PF_EN (Vitaly Kuznetsov) [1882793] - [x86] kvm: svm: Periodically schedule when unregistering regions on destroy (Vitaly Kuznetsov) [1882793] - [x86] kvm x86/mmu: use KVM_REQ_MMU_SYNC to sync when needed (Vitaly Kuznetsov) [1882793] - [x86] kvm: nvmx: Fix the update value of nested load IA32_PERF_GLOBAL_CTRL control (Vitaly Kuznetsov) [1882793] - [virt] kvm: fix memory leak in kvm_io_bus_unregister_dev() (Vitaly Kuznetsov) [1882793] - [x86] kvm: Check the allocation of pv cpu mask (Vitaly Kuznetsov) [1882793] - [x86] kvm: nvmx: Update VMCS02 when L2 PAE PDPTE updates detected (Vitaly Kuznetsov) [1882793] - [documentation] kvm: documentation: Minor fixups (Vitaly Kuznetsov) [1882793] - [x86] kvm: x86: Toggling CR4.PKE does not load PDPTEs in PAE mode (Vitaly Kuznetsov) [1882793] - [x86] kvm: x86: Toggling CR4.SMAP does not load PDPTEs in PAE mode (Vitaly Kuznetsov) [1882793] - [x86] kvm: x86: fix access code passed to gva_to_gpa (Vitaly Kuznetsov) [1882793] - [tools] selftests: kvm: Use a shorter encoding to clear RAX (Vitaly Kuznetsov) [1882793] - [x86] kvm/hyper-v: Synic default SCONTROL MSR needs to be enabled (Vitaly Kuznetsov) [1882793] - [x86] kvm: x86: Don't attempt to load PDPTRs when 64-bit mode is enabled (Vitaly Kuznetsov) [1882793] - [x86] kvm: detect assigned device via irqbypass manager (Vitaly Kuznetsov) [1882793] - [x86] kvm: svm: Fix sev_pin_memory() error handling (Vitaly Kuznetsov) [1882793] - [x86] kvm: lapic: Set the TDCR settable bits (Vitaly Kuznetsov) [1882793] - [x86] kvm: svm: Fix disable pause loop exit/pause filtering capability on SVM (Vitaly Kuznetsov) [1882793] - [x86] kvm: lapic: Prevent setting the tscdeadline timer if the lapic is hw disabled (Vitaly Kuznetsov) [1882793] - [x86] kvm: x86: Specify max TDP level via kvm_configure_mmu() (Vitaly Kuznetsov) [1882793] - [x86] kvm: x86/mmu: Rename max_page_level to max_huge_page_level (Vitaly Kuznetsov) [1882793] - [x86] kvm: x86: Dynamically calculate TDP level from max level and MAXPHYADDR (Vitaly Kuznetsov) [1882793] - [x86] kvm: vxm: Remove temporary WARN on expected vs. actual EPTP level mismatch (Vitaly Kuznetsov) [1882793] - [x86] kvm: x86: Pull the PGD's level from the MMU instead of recalculating it (Vitaly Kuznetsov) [1882793] - [x86] kvm: vmx: Make vmx_load_mmu_pgd() static (Vitaly Kuznetsov) [1882793] - [x86] kvm: x86/mmu: Add separate helper for shadow NPT root page role calc (Vitaly Kuznetsov) [1882793] - [x86] kvm: vmx: Drop a duplicate declaration of construct_eptp() (Vitaly Kuznetsov) [1882793] - [x86] kvm: Using macros instead of magic values (Vitaly Kuznetsov) [1882793] - [tools] kvm: nvmx: check for invalid hdr.vmx.flags (Vitaly Kuznetsov) [1882793] - [x86] kvm: nvmx: check for required but missing VMCS12 in KVM_SET_NESTED_STATE (Vitaly Kuznetsov) [1882793] - [tools] selftests: kvm: do not set guest mode flag (Vitaly Kuznetsov) [1882793] - [documentation] documentation: virt/kvm/api: eliminate duplicated word (Vitaly Kuznetsov) [1882793] - [documentation] docs: kvm: Replace HTTP links with HTTPS ones (Vitaly Kuznetsov) [1882793] - [x86] kvm: nsvm: remove nonsensical EXITINFO1 adjustment on nested NPF (Vitaly Kuznetsov) [1882793] - [x86] kvm: x86: Add a capability for GUEST_MAXPHYADDR < HOST_MAXPHYADDR support (Vitaly Kuznetsov) [1882793] - [x86] kvm: vmx: optimize #PF injection when MAXPHYADDR does not match (Vitaly Kuznetsov) [1882793] - [x86] kvm: vmx: Add guest physical address check in EPT violation and misconfig (Vitaly Kuznetsov) [1882793] - [x86] kvm: vmx: introduce vmx_need_pf_intercept (Vitaly Kuznetsov) [1882793] - [x86] kvm: x86: update exception bitmap on CPUID changes (Vitaly Kuznetsov) [1882793] - [x86] kvm: x86: rename update_bp_intercept to update_exception_bitmap (Vitaly Kuznetsov) [1882793] - [x86] kvm: x86: mmu: Add guest physical address check in translate_gpa() (Vitaly Kuznetsov) [1882793] - [x86] kvm: x86: mmu: Move translate_gpa() to mmu.c (Vitaly Kuznetsov) [1882793] - [x86] kvm: x86: Add helper functions for illegal GPA checking and page fault injection (Vitaly Kuznetsov) [1882793] - [x86] kvm: x86: move MSR_IA32_PERF_CAPABILITIES emulation to common x86 code (Vitaly Kuznetsov) [1882793] - [virt] kvm: Move x86's MMU memory cache helpers to common KVM code (Vitaly Kuznetsov) [1882793] - [kernel] kvm: Move x86's version of struct kvm_mmu_memory_cache to common code (Vitaly Kuznetsov) [1882793] - [x86] kvm: x86/mmu: Prepend "kvm_" to memory cache helpers that will be global (Vitaly Kuznetsov) [1882793] - [x86] kvm: x86/mmu: Skip filling the gfn cache for guaranteed direct MMU topups (Vitaly Kuznetsov) [1882793] - [x86] kvm: x86/mmu: Zero allocate shadow pages (outside of mmu_lock) (Vitaly Kuznetsov) [1882793] - [x86] kvm: x86/mmu: Make __GFP_ZERO a property of the memory cache (Vitaly Kuznetsov) [1882793] - [x86] kvm: x86/mmu: Separate the memory caches for shadow pages and gfn arrays (Vitaly Kuznetsov) [1882793] - [x86] kvm: x86/mmu: Clean up the gorilla math in mmu_topup_memory_caches() (Vitaly Kuznetsov) [1882793] - [x86] kvm: x86/mmu: Topup memory caches after walking GVA->GPA (Vitaly Kuznetsov) [1882793] - [x86] kvm: x86/mmu: Move fast_page_fault() call above mmu_topup_memory_caches() (Vitaly Kuznetsov) [1882793] - [x86] kvm: x86/mmu: Try to avoid crashing KVM if a MMU memory cache is empty (Vitaly Kuznetsov) [1882793] - [x86] kvm: x86/mmu: Remove superfluous gotos from mmu_topup_memory_caches() (Vitaly Kuznetsov) [1882793] - [x86] kvm: x86/mmu: Use consistent "mc" name for kvm_mmu_memory_cache locals (Vitaly Kuznetsov) [1882793] - [x86] kvm: x86/mmu: Consolidate "page" variant of memory cache helpers (Vitaly Kuznetsov) [1882793] - [x86] kvm: x86/mmu: Track the associated kmem_cache in the MMU caches (Vitaly Kuznetsov) [1882793] - [x86] kvm/x86: pmu: Fix #GP condition check for RDPMC emulation (Vitaly Kuznetsov) [1882793] - [x86] kvm: x86: Move kvm_x86_ops.vcpu_after_set_cpuid() into kvm_vcpu_after_set_cpuid() (Vitaly Kuznetsov) [1882793] - [x86] kvm: x86: Rename cpuid_update() callback to vcpu_after_set_cpuid() (Vitaly Kuznetsov) [1882793] - [x86] kvm: x86: Rename kvm_update_cpuid() to kvm_vcpu_after_set_cpuid() (Vitaly Kuznetsov) [1882793] - [x86] kvm: x86: Extract kvm_update_cpuid_runtime() from kvm_update_cpuid() (Vitaly Kuznetsov) [1882793] - [x86] kvm: x86: Introduce kvm_check_cpuid() (Vitaly Kuznetsov) [1882793] - [x86] kvm: x86: Move kvm_apic_set_version() to kvm_update_cpuid() (Vitaly Kuznetsov) [1882793] - [x86] kvm: lapic: Use guest_cpuid_has() in kvm_apic_set_version() (Vitaly Kuznetsov) [1882793] - [x86] kvm: x86: Go on updating other CPUID leaves when leaf 1 is absent (Vitaly Kuznetsov) [1882793] - [x86] kvm: x86: Reset vcpu->arch.cpuid_nent to 0 if SET_CPUID* fails (Vitaly Kuznetsov) [1882793] - [x86] kvm: x86: limit the maximum number of vPMU fixed counters to 3 (Vitaly Kuznetsov) [1882793] - [x86] kvm: nsvm: Check that MBZ bits in CR3 and CR4 are not set on vmrun of nested guests (Vitaly Kuznetsov) [1882793] - [x86] kvm: x86: Make CR4.VMXE reserved for the guest (Vitaly Kuznetsov) [1882793] - [x86] kvm: x86: Create mask for guest CR4 reserved bits in kvm_update_cpuid() (Vitaly Kuznetsov) [1882793] - [x86] kvm: x86: Read PDPTEs on CR0.CD and CR0.NW changes (Vitaly Kuznetsov) [1882793] - [x86] kvm: Add "nopvspin" parameter to disable PV spinlocks (Vitaly Kuznetsov) [1882793] - [x86] kvm: Change print code to use pr_*() format (Vitaly Kuznetsov) [1882793] - [x86] revert "kvm: x86: Fix setup the virt_spin_lock_key before static key get initialized" (Vitaly Kuznetsov) [1882793] - [x86] kvm: x86/mmu: Rename page_header() to to_shadow_page() (Vitaly Kuznetsov) [1882793] - [x86] kvm: x86/mmu: Add sptep_to_sp() helper to wrap shadow page lookup (Vitaly Kuznetsov) [1882793] - [x86] kvm: x86/mmu: Make kvm_mmu_page definition and accessor internal-only (Vitaly Kuznetsov) [1882793] - [x86] kvm: x86/mmu: Add MMU-internal header (Vitaly Kuznetsov) [1882793] - [x86] kvm: x86/mmu: Move kvm_mmu_available_pages() into mmu.c (Vitaly Kuznetsov) [1882793] - [x86] kvm: x86/mmu: Move mmu_audit.c and mmutrace.h into the mmu/ sub-directory (Vitaly Kuznetsov) [1882793] - [x86] kvm: x86/mmu: Exit to userspace on make_mmu_pages_available() error (Vitaly Kuznetsov) [1882793] - [x86] kvm: x86/mmu: Batch zap MMU pages when shrinking the slab (Vitaly Kuznetsov) [1882793] - [x86] kvm: x86/mmu: Batch zap MMU pages when recycling oldest pages (Vitaly Kuznetsov) [1882793] - [x86] kvm: x86/mmu: Don't put invalid SPs back on the list of active pages (Vitaly Kuznetsov) [1882793] - [x86] kvm: x86/mmu: Optimize MMU page cache lookup for fully direct MMUs (Vitaly Kuznetsov) [1882793] - [x86] kvm: x86/mmu: Avoid multiple hash lookups in kvm_get_mmu_page() (Vitaly Kuznetsov) [1882793] - [x86] kvm: x86: Use VMCALL and VMMCALL mnemonics in kvm_para.h (Vitaly Kuznetsov) [1882793] - [x86] kvm: svm: Rename svm_nested_virtualize_tpr() to nested_svm_virtualize_tpr() (Vitaly Kuznetsov) [1882793] - [x86] kvm: svm: Add svm_ prefix to set/clr/is_intercept() (Vitaly Kuznetsov) [1882793] - [x86] kvm: svm: Add vmcb_ prefix to mark_*() functions (Vitaly Kuznetsov) [1882793] - [x86] kvm: svm: Rename struct nested_state to svm_nested_state (Vitaly Kuznetsov) [1882793] - [x86] kvm: nvmx: Wrap VM-Fail valid path in generic VM-Fail helper (Vitaly Kuznetsov) [1882793] - [x86] kvm: x86: Set last_vmentry_cpu in vcpu_enter_guest (Vitaly Kuznetsov) [1882793] - [x86] kvm: x86: Move last_cpu into kvm_vcpu_arch as last_vmentry_cpu (Vitaly Kuznetsov) [1882793] - [x86] kvm: x86: Add "last CPU" to some KVM_EXIT information (Vitaly Kuznetsov) [1882793] - [x86] kvm: vmx: Add last_cpu to struct vcpu_vmx (Vitaly Kuznetsov) [1882793] - [x86] kvm: svm: Always set svm->last_cpu on VMRUN (Vitaly Kuznetsov) [1882793] - [x86] kvm: svm: Prefer vcpu->cpu to raw_smp_processor_id() (Vitaly Kuznetsov) [1882793] - [x86] kvm: x86: report sev_pin_memory errors with PTR_ERR (Vitaly Kuznetsov) [1882793] - [x86] kvm: svm: fix svn_pin_memory()'s use of get_user_pages_fast() (Vitaly Kuznetsov) [1882793] - [x86] kvm: nsvm: Check that DR6[63:32] and DR7[64:32] are not set on vmrun of nested guests (Vitaly Kuznetsov) [1882793] - [x86] kvm: x86: Move the check for upper 32 reserved bits of DR6 to separate function (Vitaly Kuznetsov) [1882793] - [x86] kvm: x86: Do the same ignore_msrs check for feature msrs (Vitaly Kuznetsov) [1882793] - [x86] kvm: x86: Move ignore_msrs handling upper the stack (Vitaly Kuznetsov) [1882793] - [x86] kvm: x86/mmu: Make .write_log_dirty a nested operation (Vitaly Kuznetsov) [1882793] - [x86] kvm: nvmx: WARN if PML emulation helper is invoked outside of nested guest (Vitaly Kuznetsov) [1882793] - [x86] kvm: x86/mmu: Drop kvm_arch_write_log_dirty() wrapper (Vitaly Kuznetsov) [1882793] - [s390] kvm: async_pf: change kvm_setup_async_pf()/kvm_arch_setup_async_pf() return type to bool (Vitaly Kuznetsov) [1882793] - [x86] kvm: x86: drop KVM_PV_REASON_PAGE_READY case from kvm_handle_page_fault() (Vitaly Kuznetsov) [1882793] - [documentation] documentation: virt: kvm/api: drop doubled words (Vitaly Kuznetsov) [1882793] - [x86] kvm: vmx: Use KVM_POSSIBLE_CR*_GUEST_BITS to initialize guest/host masks (Vitaly Kuznetsov) [1882793] - [x86] kvm: x86: Mark CR4.TSD as being possibly owned by the guest (Vitaly Kuznetsov) [1882793] - [x86] kvm: x86: Inject #GP if guest attempts to toggle CR4.LA57 in 64-bit mode (Vitaly Kuznetsov) [1882793] - [virt] kvm: use more precise cast and do not drop __user (Vitaly Kuznetsov) [1882793] - [x86] kvm: x86: bit 8 of non-leaf PDPEs is not reserved (Vitaly Kuznetsov) [1882793] - [x86] kvm: x86: Fix async pf caused null-ptr-deref (Vitaly Kuznetsov) [1882793] - [x86] kvm: vmx: Remove vcpu_vmx's defunct copy of host_pkru (Vitaly Kuznetsov) [1882793] - [x86] kvm: x86: allow TSC to differ by NTP correction bounds without TSC scaling (Vitaly Kuznetsov) [1882793] - [x86] kvm: x86: Fix MSR range of APIC registers in X2APIC mode (Vitaly Kuznetsov) [1882793] - [x86] kvm: vmx: Stop context switching MSR_IA32_UMWAIT_CONTROL (Vitaly Kuznetsov) [1882793] - [x86] cpu: Move prototype for get_umwait_control_msr() to a global location (Vitaly Kuznetsov) [1882793] - [x86] kvm: nvmx: Plumb L2 GPA through to PML emulation (Vitaly Kuznetsov) [1882793] - [x86] kvm: x86/mmu: Avoid mixing gpa_t with gfn_t in walk_addr_generic() (Vitaly Kuznetsov) [1882793] - [x86] process/64: Make save_fsgs_for_kvm() ready for FSGSBASE (Vitaly Kuznetsov) [1882793] - [kernel] kvm: Replace zero-length array with flexible-array (Vitaly Kuznetsov) [1882793] - [x86] kvm: vmx: Add helpers to identify interrupt type from intr_info (Vitaly Kuznetsov) [1882793] - [x86] kvm: x86: Switch KVM guest to using interrupts for page ready APF delivery (Vitaly Kuznetsov) [1882793] - [x86] kvm: Remove defunct KVM_DEBUG_FS Kconfig (Vitaly Kuznetsov) [1882793] - [x86] kvm: vmx: Always treat MSR_IA32_PERF_CAPABILITIES as a valid PMU MSR (Vitaly Kuznetsov) [1882793] - [x86] kvm_hv_set_msr(): use __put_user() instead of 32bit __clear_user() (Vitaly Kuznetsov) [1882793] - [tools] kvm: selftests: update hyperv_cpuid with SynDBG tests (Vitaly Kuznetsov) [1882793] - [x86] kvm/hyper-v: Add support for synthetic debugger via hypercalls (Vitaly Kuznetsov) [1882793] - [x86] kvm/hyper-v: enable hypercalls regardless of hypercall page (Vitaly Kuznetsov) [1882793] - [x86] kvm/hyper-v: Add support for synthetic debugger interface (Vitaly Kuznetsov) [1882793] - [x86] hyper-v: Add synthetic debugger definitions (Vitaly Kuznetsov) [1882793] - [x86] kvm: x86/pmu: Support full width counting (Vitaly Kuznetsov) [1882793] - [documentation] kvm: x86: announce KVM_FEATURE_ASYNC_PF_INT (Vitaly Kuznetsov) [1882793] - [x86] kvm: x86: acknowledgment mechanism for async pf page ready notifications (Vitaly Kuznetsov) [1882793] - [documentation] kvm: x86: interrupt based APF 'page ready' event delivery (Vitaly Kuznetsov) [1882793] - [x86] kvm: x86: extend struct kvm_vcpu_pv_apf_data with token info (Vitaly Kuznetsov) [1882793] - [x86] kvm: x86: hyperv: Remove duplicate definitions of Reference TSC Page (Vitaly Kuznetsov) [1882793] - [x86] kvm: Restrict ASYNC_PF to user space (Vitaly Kuznetsov) [1882793] - [x86] kvm: Sanitize kvm_async_pf_task_wait() (Vitaly Kuznetsov) [1882793] - [x86] kvm: Handle async page faults directly through do_page_fault() (Vitaly Kuznetsov) [1882793] - [virt] kvm: add halt-polling cpu usage stats (Vitaly Kuznetsov) [1882793] - [powerpc] kvm: Replace vcpu->swait with rcuwait (Vitaly Kuznetsov) [1882793] - [kernel] rcuwait: Introduce rcuwait_active() (Vitaly Kuznetsov) [1882793] - [kernel] rcuwait: Introduce prepare_to and finish_rcuwait (Vitaly Kuznetsov) [1882793] - [kernel] rcuwait: Add @state argument to rcuwait_wait_event() (Vitaly Kuznetsov) [1882793] - [kernel] rcuwait: Let rcuwait_wake_up() return whether or not a task was awoken (Vitaly Kuznetsov) [1882793] - [kernel] rcuwait: Fix stale wake call name in comment (Vitaly Kuznetsov) [1882793] - [s390] kvm: s390: Use kvm_vcpu_wake_up in kvm_s390_vcpu_wakeup (Vitaly Kuznetsov) [1882793] - [documentation] docs/virt/kvm: Document configuring and running nested guests (Vitaly Kuznetsov) [1882793] - [tools] docs: fix broken references for ReST files that moved around (Vitaly Kuznetsov) [1882793] - [x86] kvm: vmx: Extend VMXs #AC interceptor to handle split lock #AC in guest (Vitaly Kuznetsov) [1882793] - [x86] kvm: x86: Emulate split-lock access as a write in emulator (Vitaly Kuznetsov) [1882793] - [net] core: check length before updating Ethertype in skb_mpls_{push,pop} (Guillaume Nault) [1893886] - [net] pktgen: fix error message with wrong function name (Guillaume Nault) [1893886] - [net] handle the return value of pskb_carve_frag_list() correctly (Guillaume Nault) [1893886] - [net] Fix potential wrong skb->protocol in skb_vlan_untag() (Guillaume Nault) [1893886] - [net] make symbol 'flush_works' static (Guillaume Nault) [1893886] - [net] compat: Add missing sock updates for SCM_RIGHTS (Guillaume Nault) [1893886] - [net] mpls: drop skb's dst in mpls_forward() (Guillaume Nault) [1893886] - [include] net: Added pointer check for dst->ops->neigh_lookup in dst_neigh_lookup_skb (Guillaume Nault) [1893886] - [net] fix skb_panic to output real address (Guillaume Nault) [1893886] - [net] fix a potential recursive NETDEV_FEAT_CHANGE (Guillaume Nault) [1893886] - [net] neigh: send protocol value in neighbor create notification (Guillaume Nault) [1893886] - [net] revert default NAPI poll timeout to 2 jiffies (Guillaume Nault) [1893886] - [net] compat_ioctl: handle SIOCOUTQNSD (Guillaume Nault) [1893886] - [net] neigh: use long type to store jiffies delta (Guillaume Nault) [1893886] - [documentation] dev-tools: kselftest.rst: Update examples and paths (Hangbin Liu) [1876011] - [tools] selftests/run_kselftest.sh: Make each test individually selectable (Hangbin Liu) [1876011] - [tools] selftests: Extract run_kselftest.sh and generate stand-alone test list (Hangbin Liu) [1876011] - [tools] selftests/harness: Flush stdout before forking (Hangbin Liu) [1876011] - [tools] selftests: forwarding: Add missing 'rp_filter' configuration (Hangbin Liu) [1892298] - [tools] selftests/net: relax cpu affinity requirement in msg_zerocopy test (Hangbin Liu) [1892298] - [tools] selftests: ethtool: Fix test when only two speeds are supported (Hangbin Liu) [1892298] - [tools] selftests/net: tcp_mmap: fix clang warning for target arch PowerPC (Hangbin Liu) [1892298] - [tools] selftests/net: psock_fanout: fix clang issues for target arch PowerPC (Hangbin Liu) [1892298] - [netdrv] netxen: mark netxen_nic as deprecated in RHEL8 (Ivan Vecera) [1878188] - [net] linkmode: introduce linkmode_intersects() (Ivan Vecera) [1893193] - [net] ipv6: avoid lockdep issue in fib6_del() (Hangbin Liu) [1892196] - [net] ipv6: fix memory leaks on IPV6_ADDRFORM path (Hangbin Liu) [1892196] - [net] ila: remove unused inline function ila_addr_is_ila (Hangbin Liu) [1892196] - [net] ila: Fix uninitialised return value in ila_xlat_nl_cmd_flush (Hangbin Liu) [1892196] - [netdrv] i40e: always propagate error value in i40e_set_vsi_promisc() (Stefan Assmann) [1835705] - [netdrv] i40e: fix return of uninitialized aq_ret in i40e_set_vsi_promisc (Stefan Assmann) [1835705] - [netdrv] i40e: Remove scheduling while atomic possibility (Stefan Assmann) [1835705] - [pci] hv: Fix hibernation in case interrupts are not re-created (Mohammed Gamal) [1846838] - [powerpc] kvm: ppc: book3s hv: xics: Replace the 'destroy' method by a 'release' method (Greg Kurz) [1857527] - [security] selinux: complete the inlining of hashtab functions (Ondrej Mosnacek) [1878149] - [security] selinux: prepare for inlining of hashtab functions (Ondrej Mosnacek) [1878149] - [security] selinux: specialize symtab insert and search functions (Ondrej Mosnacek) [1878149] - [security] selinux: fixed a checkpatch warning with the sizeof macro (Ondrej Mosnacek) [1878149] - [security] selinux: log error messages on required process class / permissions (Ondrej Mosnacek) [1878149] - [security] selinux: fix undefined return of cond_evaluate_expr (Ondrej Mosnacek) [1878149] - [security] selinux: fix a double free in cond_read_node()/cond_read_list() (Ondrej Mosnacek) [1878149] - [security] selinux: fix double free (Ondrej Mosnacek) [1878149] - [security] selinux: netlabel: Remove unused inline function (Ondrej Mosnacek) [1878149] - [security] selinux: do not allocate hashtabs dynamically (Ondrej Mosnacek) [1878149] - [security] selinux: fix return value on error in policydb_read() (Ondrej Mosnacek) [1878149] - [security] selinux: simplify range_write() (Ondrej Mosnacek) [1878149] - [security] selinux: fix error return code in policydb_read() (Ondrej Mosnacek) [1878149] - [security] selinux: don't produce incorrect filename_trans_count (Ondrej Mosnacek) [1878149] - [security] selinux: implement new format of filename transitions (Ondrej Mosnacek) [1878149] - [security] selinux: move context hashing under sidtab (Ondrej Mosnacek) [1878149] - [security] selinux: hash context structure directly (Ondrej Mosnacek) [1878149] - [security] selinux: store role transitions in a hash table (Ondrej Mosnacek) [1878149] - [security] selinux: drop unnecessary smp_load_acquire() call (Ondrej Mosnacek) [1878149] - [security] selinux: fix warning Comparison to bool (Ondrej Mosnacek) [1878149] - [security] selinux: fix error return code in cond_read_list() (Ondrej Mosnacek) [1878149] - [security] selinux: free str on error in str_read() (Ondrej Mosnacek) [1878149] - [security] selinux: clean up indentation issue with assignment statement (Ondrej Mosnacek) [1878149] - [security] selinux: avtab_init() and cond_policydb_init() return void (Ondrej Mosnacek) [1878149] - [security] selinux: clean up error path in policydb_init() (Ondrej Mosnacek) [1878149] - [security] selinux: remove unused initial SIDs and improve handling (Ondrej Mosnacek) [1878149] - [security] selinux: reduce the use of hard-coded hash sizes (Ondrej Mosnacek) [1878149] - [security] selinux: Add xfs quota command types (Ondrej Mosnacek) [1878149] - [security] selinux: optimize storage of filename transitions (Ondrej Mosnacek) [1878149] - [security] selinux: factor out loop body from filename_trans_read() (Ondrej Mosnacek) [1878149] - [security] selinux: generalize evaluate_cond_node() (Ondrej Mosnacek) [1878149] - [security] selinux: convert cond_expr to array (Ondrej Mosnacek) [1878149] - [security] selinux: convert cond_av_list to array (Ondrej Mosnacek) [1878149] - [security] selinux: convert cond_list to array (Ondrej Mosnacek) [1878149] - [security] selinux: sel_avc_get_stat_idx should increase position index (Ondrej Mosnacek) [1878149] - [security] selinux: simplify evaluate_cond_node() (Ondrej Mosnacek) [1878149] - [security] selinux: move status variables out of selinux_ss (Ondrej Mosnacek) [1878149] - [scripts] selinux: use kernel linux/socket.h for genheaders and mdp (Ondrej Mosnacek) [1878149] - [scripts] genheaders: -s had been there since v6; -*s - since v7 (Ondrej Mosnacek) [1878149] - [scsi] scsi: megaraid_sas: Added support for shared host tagset for cpuhotplug (Ming Lei) [1876863] - [scsi] scsi: scsi_debug: Support host tagset (Ming Lei) [1876863] - [scsi] scsi: core: Show nr_hw_queues in sysfs (Ming Lei) [1876863] - [scsi] scsi: Add host and host template flag 'host_tagset' (Ming Lei) [1876863] - [block] null_blk: Support shared tag bitmap (Ming Lei) [1876863] - [block] blk-mq, elevator: Count requests per hctx to improve performance (Ming Lei) [1876863] - [block] blk-mq: Record active_queues_shared_sbitmap per tag_set for when using shared sbitmap (Ming Lei) [1876863] - [block] blk-mq: Record nr_active_requests per queue for when using shared sbitmap (Ming Lei) [1876863] - [block] blk-mq: Relocate hctx_may_queue() (Ming Lei) [1876863] - [block] blk-mq: Facilitate a shared sbitmap per tagset (Ming Lei) [1876863] - [block] blk-mq: Use pointers for blk_mq_tags bitmap tags (Ming Lei) [1876863] - [block] blk-mq: Pass flags for tag init/free (Ming Lei) [1876863] - [block] blk-mq: Free tags in blk_mq_init_tags() upon error (Ming Lei) [1876863] - [block] blk-mq: Rename blk_mq_update_tag_set_depth() (Ming Lei) [1876863] - [block] blk-mq: Rename BLK_MQ_F_TAG_SHARED as BLK_MQ_F_TAG_QUEUE_SHARED (Ming Lei) [1876863] - [block] block: fix double account of flush request's driver tag (Ming Lei) [1876863] - [block] blk-mq: centralise related handling into blk_mq_get_driver_tag (Ming Lei) [1876863] - [block] blk-mq: streamline handling of q->mq_ops->queue_rq result (Ming Lei) [1876863] - [block] blk-mq: remove pointless call of list_entry_rq() in hctx_show_busy_rq() (Ming Lei) [1876863] - [block] blk-mq: move blk_mq_get_driver_tag into blk-mq.c (Ming Lei) [1876863] - [block] blk-mq: support batching dispatch in case of io (Ming Lei) [1876863] - [block] blk-mq: pass obtained budget count to blk_mq_dispatch_rq_list (Ming Lei) [1876863] - [block] blk-mq: remove dead check from blk_mq_dispatch_rq_list (Ming Lei) [1876863] - [block] blk-mq: move getting driver tag and budget into one helper (Ming Lei) [1876863] - [block] blk-mq: pass hctx to blk_mq_dispatch_rq_list (Ming Lei) [1876863] - [block] blk-mq: remove the BLK_MQ_REQ_INTERNAL flag (Ming Lei) [1876863] - [net] netns: Constify exported functions (Guillaume Nault) [1806134] - [net] netns: protect netns ID lookups with RCU (Guillaume Nault) [1806134] - [net] netns: Remove __peernet2id_alloc() (Guillaume Nault) [1806134] - [net] netns: read NETNSA_NSID as s32 attribute in rtnl_net_getid() (Guillaume Nault) [1806134] - [tools] selftests: txtimestamp: add flag for timestamp validation tolerance. (Hangbin Liu) [1861175] - [tools] selftests/net: so_txtime: fix clang issues for target arch PowerPC (Hangbin Liu) [1861175] - [tools] selftests/net: rxtimestamp: fix clang issues for target arch PowerPC (Hangbin Liu) [1861175] - [tools] selftest: txtimestamp: fix net ns entry logic (Hangbin Liu) [1861175] - [tools] selftests/net: update initializer syntax to use c99 designators (Hangbin Liu) [1861175] - [tools] selftests/net: add ipv6 test coverage in rxtimestamp test (Hangbin Liu) [1861175] - [tools] selftests/net: plug rxtimestamp test into kselftest framework (Hangbin Liu) [1861175] - [tools] selftests/net: in rxtimestamp getopt_long needs terminating null entry (Hangbin Liu) [1861175] - [tools] selftests/net: in timestamping, strncpy needs to preserve null byte (Hangbin Liu) [1861175] - [tools] selftests: move timestamping selftests to net folder (Hangbin Liu) [1861175] - [tools] selftests: txtimestamp: print statistics for timestamp events. (Hangbin Liu) [1861175] - [tools] selftests: txtimestamp: add support for epoll(). (Hangbin Liu) [1861175] - [tools] selftests: txtimestamp: add new command-line flags. (Hangbin Liu) [1861175] - [tools] selftests: txtimestamp: allow printing latencies in nsec. (Hangbin Liu) [1861175] - [tools] selftests: txtimestamp: allow individual txtimestamp tests. (Hangbin Liu) [1861175] - [tools] selftests: timestamping: Fix SIOCGSTAMP undeclared build failure (Hangbin Liu) [1861175] - [tools] selftests: fix timestamping Makefile (Hangbin Liu) [1861175] - [tools] selftests: add missing include unistd (Hangbin Liu) [1861175] - [tools] selftests/txtimestamp: Fix an equals vs assign bug (Hangbin Liu) [1861175] - [tools] selftests: add txtimestamp kselftest (Hangbin Liu) [1861175] - [tools] selftests: expand txtimestamp with ipv6 dgram + raw and pf_packet (Hangbin Liu) [1861175] - [tools] selftests: expand txtimestamp with cmsg support (Hangbin Liu) [1861175] - [hwmon] hwmon: (k10temp) Add support for Zen3 CPUs (Wei Huang) [1846851] - [powerpc] vfs: add faccessat2 syscall (Miklos Szeredi) [1333764] - [fs] vfs: split out access_override_creds() (Miklos Szeredi) [1333764] - [md] Revert "dm writecache: set "Tech Preview" taint using mark_tech_preview()" (Mike Snitzer) [1859413] - [s390] mm: fix huge pte soft dirty copying (Cornelia Huck) [1700709] - [fs] proc/mounts: add cursor (Miklos Szeredi) [1759472]- [char] random: Add a poll handler to extrng_fops (Vladis Dronov) [1884857] - [platform] platform/mellanox: mlxbf-pmc: Add Mellanox BlueField PMC driver (Alaa Hleihel) [1655729] - [mm] mm/page_idle.c: skip offline pages (Chris von Recklinghausen) [1867490] - [powerpc] powerpc/pseries: Detect secure and trusted boot state of the system (Diego Domingos) [1853411] - [net] bpf: Check correct cred for CAP_SYSLOG in bpf_dump_raw_ok() (Yauheni Kaliuta) [1874003] - [kernel] kallsyms: Refactor kallsyms_show_value() to take cred (Yauheni Kaliuta) [1874003] - [kernel] kprobes: Show blacklist addresses as same as kallsyms does (Yauheni Kaliuta) [1874003] - [arm64] arm64: insn: Report PAC and BTI instructions as skippable (Yauheni Kaliuta) [1874003] - [arm64] arm64: insn: Don't assume unrecognized HINTs are skippable (Yauheni Kaliuta) [1874003] - [lib] usercopy: Avoid soft lockups in test_check_nonzero_user() (Yauheni Kaliuta) [1874003] - [security] selinux: map CAP_PERFMON and CAP_BPF to CAP_SYS_ADMIN (Yauheni Kaliuta) [1874003] - [tools] selftests/bpf: fix netdevsim trap_flow_action_cookie read (Yauheni Kaliuta) [1874003] - [net] net/bpfilter: Initialize pos in __bpfilter_process_sockopt (Yauheni Kaliuta) [1874003] - [tools] selftests/bpf: Extend map-in-map selftest to detect memory leaks (Yauheni Kaliuta) [1874003] - [net] bpf: Fix map leak in HASH_OF_MAPS map (Yauheni Kaliuta) [1874003] - [net] bpf: Fix NULL pointer dereference in __btf_resolve_helper_id() (Yauheni Kaliuta) [1874003] - [tools] selftests/bpf: Fix cgroup sockopt verifier test (Yauheni Kaliuta) [1874003] - [tools] libbpf: Fix libbpf hashmap on (I)LP32 architectures (Yauheni Kaliuta) [1874003] - [tools] selftests: bpf: Fix detach from sockmap tests (Yauheni Kaliuta) [1874003] - [net] bpf: net: Avoid incorrect bpf_sk_reuseport_detach call (Yauheni Kaliuta) [1874003] - [net] bpf: net: Avoid copying sk_user_data of reuseport_array during sk_clone (Yauheni Kaliuta) [1874003] - [tools] bpf: Add tests for PTR_TO_BTF_ID vs. null comparison (Yauheni Kaliuta) [1874003] - [net] bpf: Fix an incorrect branch elimination by verifier (Yauheni Kaliuta) [1874003] - [include] bpf: sockmap: Require attach_bpf_fd when detaching a program (Yauheni Kaliuta) [1874003] - [net] bpf: sockmap: Check value of unused args to BPF_PROG_ATTACH (Yauheni Kaliuta) [1874003] - [net] bpf: Enforce BPF ringbuf size to be the power of 2 (Yauheni Kaliuta) [1874003] - [tools] bpf, sockmap: Add ingres skb tests that utilize merge skbs (Yauheni Kaliuta) [1874003] - [net] bpf, sockmap: RCU dereferenced psock may be used outside RCU block (Yauheni Kaliuta) [1874003] - [net] bpf, sockmap: RCU splat with redirect and strparser error or TLS (Yauheni Kaliuta) [1874003] - [tools] bpf: tcp: bpf_cubic: fix spurious HYSTART_DELAY exit upon drop in min RTT (Yauheni Kaliuta) [1874003] - [net] bpf: Do not allow btf_ctx_access with __int128 types (Yauheni Kaliuta) [1874003] - [tools] bpf: Fix formatting in documentation for BPF helpers (Yauheni Kaliuta) [1874003] - [net] bpf: Restore behaviour of CAP_SYS_ADMIN allowing the loading of networking bpf programs (Yauheni Kaliuta) [1874003] - [net] bpf: Set the number of exception entries properly for subprograms (Yauheni Kaliuta) [1874003] - [tools] libbpf: Fix CO-RE relocs against .text section (Yauheni Kaliuta) [1874003] - [tools] libbpf: Forward-declare bpf_stats_type for systems with outdated UAPI headers (Yauheni Kaliuta) [1874003] - [documentation] bpf: Document optval > PAGE_SIZE behavior for sockopt hooks (Yauheni Kaliuta) [1874003] - [tools] selftests/bpf: Make sure optvals > PAGE_SIZE are bypassed (Yauheni Kaliuta) [1874003] - [net] bpf: Don't return EINVAL from {get, set}sockopt when optlen > PAGE_SIZE (Yauheni Kaliuta) [1874003] - [tools] tools, bpftool: Add ringbuf map type to map command docs (Yauheni Kaliuta) [1874003] - [samples] bpf, xdp, samples: Fix null pointer dereference in *_user code (Yauheni Kaliuta) [1874003] - [tools] tools/bpftool: Add ringbuf map to a list of known map types (Yauheni Kaliuta) [1874003] - [tools] bpf: Fix definition of bpf_ringbuf_output() helper in UAPI comments (Yauheni Kaliuta) [1874003] - [net] bpf: Undo internal BPF_PROBE_MEM in BPF insns dump (Yauheni Kaliuta) [1874003] - [tools] libbpf: Support pre-initializing .bss global variables (Yauheni Kaliuta) [1874003] - [tools] tools/bpftool: Fix skeleton codegen (Yauheni Kaliuta) [1874003] - [net] bpf: Fix memlock accounting for sock_hash (Yauheni Kaliuta) [1874003] - [net] bpf: tcp: Recv() should return 0 when the peer socket is closed (Yauheni Kaliuta) [1874003] - [tools] tools, bpftool: Exit on error in function codegen (Yauheni Kaliuta) [1874003] - [tools] tools, bpftool: Fix memory leak in codegen error cases (Yauheni Kaliuta) [1874003] - [tools] selftests/bpf: Add cgroup_skb/egress test for load_bytes_relative (Yauheni Kaliuta) [1874003] - [net] net/filter: Permit reading NET in load_bytes_relative when MAC not set (Yauheni Kaliuta) [1874003] - [tools] tools, bpf: Do not force gcc as CC (Yauheni Kaliuta) [1874003] - [tools] libbpf: Define __WORDSIZE if not available (Yauheni Kaliuta) [1874003] - [net] bpf: Devmap adjust uapi for attach bpf program (Yauheni Kaliuta) [1874003] - [net] bpf: Reset data_meta before running programs attached to devmap entry (Yauheni Kaliuta) [1874003] - [scripts] scripts: Require pahole v1.16 when generating BTF (Yauheni Kaliuta) [1874003] - [net] bpf, sockhash: Synchronize delete from bucket list on map free (Yauheni Kaliuta) [1874003] - [net] bpf, sockhash: Fix memory leak when unlinking sockets in sock_hash_free (Yauheni Kaliuta) [1874003] - [net] bpf/sockmap: Fix kernel panic at __tcp_bpf_recvmsg (Yauheni Kaliuta) [1874003] - [kernel] bpf: rework the compat kernel probe handling (Yauheni Kaliuta) [1874003] - [kernel] bpf: handle the compat string in bpf_trace_copy_string better (Yauheni Kaliuta) [1874003] - [kernel] bpf: factor out a bpf_trace_copy_string helper (Yauheni Kaliuta) [1874003] - [net] mmap locking API: add mmap_read_trylock_non_owner() (Yauheni Kaliuta) [1874003] - [net] bpf: sockmap: use mmap locking API (Yauheni Kaliuta) [1874003] - [tools] selftests/bpf: Fix ringbuf selftest sample counting undeterminism (Yauheni Kaliuta) [1874003] - [net] bpf: Fix an error code in check_btf_func() (Yauheni Kaliuta) [1874003] - [net] bpf: make bpf_check_uarg_tail_zero() use check_zeroed_user() (Yauheni Kaliuta) [1874003] - [lib] lib: introduce copy_struct_from_user() helper (Yauheni Kaliuta) [1874003] - [tools] selftests/bpf: Add a default $(CXX) value (Yauheni Kaliuta) [1874003] - [tools] tools/bpf: Don't use $(COMPILE.c) (Yauheni Kaliuta) [1874003] - [s390] s390/bpf: Use bcr 0, 0 as tail call nop filler (Yauheni Kaliuta) [1874003] - [tools] selftests/bpf: Fix verifier test (Yauheni Kaliuta) [1874003] - [tools] selftests/bpf: Fix sample_cnt shared between two threads (Yauheni Kaliuta) [1874003] - [tools] bpf, selftests: Adapt cls_redirect to call csum_level helper (Yauheni Kaliuta) [1874003] - [net] bpf: Add csum_level helper for fixing up csum levels (Yauheni Kaliuta) [1874003] - [net] bpf: Fix up bpf_skb_adjust_room helper's skb csum setting (Yauheni Kaliuta) [1874003] - [tools] libbpf: Add _GNU_SOURCE for reallocarray to ringbuf.c (Yauheni Kaliuta) [1874003] - [net] bpf: Use tracing helpers for lsm programs (Yauheni Kaliuta) [1874003] - [tools] selftests/bpf: Add test for SO_BINDTODEVICE opt of bpf_setsockopt (Yauheni Kaliuta) [1874003] - [tools] tools/bpf: sync bpf.h (Yauheni Kaliuta) [1874003] - [tools] bpf, selftests: Add test for ktls with skb bpf ingress policy (Yauheni Kaliuta) [1874003] - [net] bpf: Fix running sk_skb program types with ktls (Yauheni Kaliuta) [1874003] - [net] bpf: Refactor sockmap redirect code so its easy to reuse (Yauheni Kaliuta) [1874003] - [tools] libbpf: Add SEC name for xdp programs attached to device map (Yauheni Kaliuta) [1874003] - [net] bpf: Add support to attach bpf program to a devmap entry (Yauheni Kaliuta) [1874003] - [kernel] bpf: Use strncpy_from_unsafe_strict() in bpf_seq_printf() helper (Yauheni Kaliuta) [1874003] - [net] devmap: Formalize map value as a named struct (Yauheni Kaliuta) [1874003] - [net] bpf: Add rx_queue_mapping to bpf_sock (Yauheni Kaliuta) [1874003] - [tools] selftests/bpf: Add tests for write-only stacks/queues (Yauheni Kaliuta) [1874003] - [documentation] docs/bpf: Add BPF ring buffer design notes (Yauheni Kaliuta) [1874003] - [tools] bpf: Add BPF ringbuf and perf buffer benchmarks (Yauheni Kaliuta) [1874003] - [tools] selftests/bpf: Add BPF ringbuf selftests (Yauheni Kaliuta) [1874003] - [tools] libbpf: Add BPF ring buffer support (Yauheni Kaliuta) [1874003] - [tools] bpf: Implement BPF ring buffer and verifier support for it (Yauheni Kaliuta) [1874003] - [net] bpf: Fix map permissions check (Yauheni Kaliuta) [1874003] - [tools] selftests/bpf: Cleanup comments in test_maps (Yauheni Kaliuta) [1874003] - [tools] selftests/bpf: Cleanup some file descriptors in test_maps (Yauheni Kaliuta) [1874003] - [tools] selftests/bpf: Fix a typo in test_maps (Yauheni Kaliuta) [1874003] - [tools] libbpf: Fix perf_buffer__free() API for sparse allocs (Yauheni Kaliuta) [1874003] - [tools] bpf, selftests: Test probe_* helpers from SCHED_CLS (Yauheni Kaliuta) [1874003] - [tools] bpf, selftests: Add sk_msg helpers load and attach test (Yauheni Kaliuta) [1874003] - [net] bpf, sk_msg: Add get socket storage helpers (Yauheni Kaliuta) [1874003] - [net] bpf: Extend bpf_base_func_proto helpers with probe_* and *current_task* (Yauheni Kaliuta) [1874003] - [net] bpf, sk_msg: Add some generic helpers that may be useful from sk_msg (Yauheni Kaliuta) [1874003] - [net] bpf: Fix spelling in comment explaining ARG1 in ___bpf_prog_run (Yauheni Kaliuta) [1874003] - [tools] libbpf: Install headers as part of make install (Yauheni Kaliuta) [1874003] - [tools] libbpf: Add API to consume the perf ring buffer content (Yauheni Kaliuta) [1874003] - [tools] tools, bpftool: Print correct error message when failing to load BTF (Yauheni Kaliuta) [1874003] - [tools] tools, bpftool: Make capability check account for new BPF caps (Yauheni Kaliuta) [1874003] - [tools] tools, bpftool: Clean subcommand help messages (Yauheni Kaliuta) [1874003] - [tools] selftests/bpf: CONFIG_LIRC required for test_lirc_mode2.sh (Yauheni Kaliuta) [1874003] - [tools] selftests/bpf: CONFIG_IPV6_SEG6_BPF required for test_seg6_loop.o (Yauheni Kaliuta) [1874003] - [tools] selftests/bpf: Add general instructions for test execution (Yauheni Kaliuta) [1874003] - [tools] bpf: Selftests, add printk to test_sk_lookup_kern to encode null ptr check (Yauheni Kaliuta) [1874003] - [tools] bpf: Selftests, verifier case for non null pointer map value branch (Yauheni Kaliuta) [1874003] - [tools] bpf: Selftests, verifier case for non null pointer check branch taken (Yauheni Kaliuta) [1874003] - [net] bpf: Verifier track null pointer branch_taken with JNE and JEQ (Yauheni Kaliuta) [1874003] - [tools] tools/bpf: sync bpf.h (Yauheni Kaliuta) [1874003] - [tools] bpf, testing: Add get{peer, sock}name selftests to test_progs (Yauheni Kaliuta) [1874003] - [tools] bpf, bpftool: Enable get{peer, sock}name attach types (Yauheni Kaliuta) [1874003] - [tools] bpf, libbpf: Enable get{peer, sock}name attach types (Yauheni Kaliuta) [1874003] - [net] bpf: Add get{peer, sock}name attach types for sock_addr (Yauheni Kaliuta) [1874003] - [samples] samples, bpf: Refactor kprobe, tail call kern progs map definition (Yauheni Kaliuta) [1874003] - [samples] samples, bpf: Add tracex7 test file to .gitignore (Yauheni Kaliuta) [1874003] - [samples] samples, bpf: Refactor tail call user progs with libbpf (Yauheni Kaliuta) [1874003] - [samples] samples, bpf: Refactor kprobe tracing user progs with libbpf (Yauheni Kaliuta) [1874003] - [samples] samples, bpf: Refactor pointer error check with libbpf (Yauheni Kaliuta) [1874003] - [tools] bpf: Selftests, add ktls tests to test_sockmap (Yauheni Kaliuta) [1874003] - [tools] bpf: Selftests, add blacklist to test_sockmap (Yauheni Kaliuta) [1874003] - [tools] bpf: Selftests, add whitelist option to test_sockmap (Yauheni Kaliuta) [1874003] - [tools] bpf: Selftests, provide verbose option for selftests execution (Yauheni Kaliuta) [1874003] - [tools] bpf: Selftests, break down test_sockmap into subtests (Yauheni Kaliuta) [1874003] - [tools] bpf: Selftests, improve test_sockmap total bytes counter (Yauheni Kaliuta) [1874003] - [tools] bpf: Selftests, print error in test_sockmap error cases (Yauheni Kaliuta) [1874003] - [tools] bpf: Selftests, sockmap test prog run without setting cgroup (Yauheni Kaliuta) [1874003] - [tools] bpf: Selftests, remove prints from sockmap tests (Yauheni Kaliuta) [1874003] - [tools] bpf: Selftests, move sockmap bpf prog header into progs (Yauheni Kaliuta) [1874003] - [tools] selftests/bpf: Remove test_align leftovers (Yauheni Kaliuta) [1874003] - [tools] selftests/bpf: Move test_align under test_progs (Yauheni Kaliuta) [1874003] - [tools] libbpf, hashmap: Fix signedness warnings (Yauheni Kaliuta) [1874003] - [tools] libbpf, hashmap: Remove unused #include (Yauheni Kaliuta) [1874003] - [net] bpf: Fix check_return_code to only allowin trace_iter progs (Yauheni Kaliuta) [1874003] - [tools] selftests/bpf: Use CAP_BPF and CAP_PERFMON in tests (Yauheni Kaliuta) [1874003] - [net] bpf: Implement CAP_BPF (Yauheni Kaliuta) [1874003] - [security] bpf, capability: Introduce CAP_BPF (Yauheni Kaliuta) [1874003] - [security] capabilities: Introduce CAP_PERFMON to kernel and user space (Yauheni Kaliuta) [1874003] - [tools] bpf, bpftool: Allow probing for CONFIG_HZ from kernel config (Yauheni Kaliuta) [1874003] - [tools] selftests/bpf: Test for sk helpers in cgroup skb (Yauheni Kaliuta) [1874003] - [tools] selftests/bpf: Add connect_fd_to_fd, connect_wait net helpers (Yauheni Kaliuta) [1874003] - [net] bpf: Introduce bpf_sk_{, ancestor_}cgroup_id helpers (Yauheni Kaliuta) [1874003] - [net] bpf: Allow skb_ancestor_cgroup_id helper in cgroup skb (Yauheni Kaliuta) [1874003] - [net] bpf: Allow sk lookup helpers in cgroup skb (Yauheni Kaliuta) [1874003] - [tools] selftest/bpf: Fix spelling mistake "SIGALARM" -> "SIGALRM" (Yauheni Kaliuta) [1874003] - [net] bpf: Fix bpf_iter's task iterator logic (Yauheni Kaliuta) [1874003] - [tools] selftests/bpf: Test narrow loads for bpf_sock_addr.user_port (Yauheni Kaliuta) [1874003] - [net] bpf: Support narrow loads from bpf_sock_addr.user_port (Yauheni Kaliuta) [1874003] - [samples] samples/bpf: xdp_redirect_cpu: Set MAX_CPUS according to NR_CPUS (Yauheni Kaliuta) [1874003] - [samples] samples/bpf: Remove compiler warnings (Yauheni Kaliuta) [1874003] - [net] bpf: Enable bpf_iter targets registering ctx argument types (Yauheni Kaliuta) [1874003] - [net] bpf: Change func bpf_iter_unreg_target() signature (Yauheni Kaliuta) [1874003] - [net] bpf: net: Refactor bpf_iter target registration (Yauheni Kaliuta) [1874003] - [net] bpf: Add comments to interpret bpf_prog return values (Yauheni Kaliuta) [1874003] - [tools] bpf: Change btf_iter func proto prefix to "bpf_iter_" (Yauheni Kaliuta) [1874003] - [tools] tools/bpf: selftests : Explain bpf_iter test failures with llvm 10.0.0 (Yauheni Kaliuta) [1874003] - [tools] selftest/bpf: Add BPF triggering benchmark (Yauheni Kaliuta) [1874003] - [tools] selftest/bpf: Fmod_ret prog and implement test_overhead as part of bench (Yauheni Kaliuta) [1874003] - [tools] selftests/bpf: Add benchmark runner infrastructure (Yauheni Kaliuta) [1874003] - [tools] selftests/bpf: Extract parse_num_list into generic testing_helpers.c (Yauheni Kaliuta) [1874003] - [tools] tools, bpf: Synchronise BPF UAPI header with tools (Yauheni Kaliuta) [1874003] - [scripts] bpf: Minor fixes to BPF helpers documentation (Yauheni Kaliuta) [1874003] - [tools] tools, bpftool: Minor fixes for documentation (Yauheni Kaliuta) [1874003] - [tools] tools, bpftool: Poison and replace kernel integer typedefs (Yauheni Kaliuta) [1874003] - [tools] bpf, libbpf: Replace zero-length array with flexible-array (Yauheni Kaliuta) [1874003] - [arm64] bpf, arm64: Optimize ADD, SUB, JMP BPF_K using arm64 add/sub immediates (Yauheni Kaliuta) [1874003] - [arm64] bpf, arm64: Optimize AND, OR, XOR, JSET BPF_K using arm64 logical immediates (Yauheni Kaliuta) [1874003] - [tools] bpf, runqslower: include proper uapi/bpf.h (Yauheni Kaliuta) [1874003] - [tools] tools/bpf: selftests: Add iter progs for bpf_map/task/task_file (Yauheni Kaliuta) [1874003] - [tools] tools/bpftool: Add bpf_iter support for bptool (Yauheni Kaliuta) [1874003] - [tools] tools/libpf: Add offsetof/container_of macro in bpf_helpers.h (Yauheni Kaliuta) [1874003] - [tools] tools/libbpf: Add bpf_iter support (Yauheni Kaliuta) [1874003] - [net] bpf: Support variable length array in tracing programs (Yauheni Kaliuta) [1874003] - [net] bpf: Handle spilled PTR_TO_BTF_ID properly when checking stack_boundary (Yauheni Kaliuta) [1874003] - [kernel] bpf: Add bpf_seq_printf and bpf_seq_write helpers (Yauheni Kaliuta) [1874003] - [net] bpf: Add PTR_TO_BTF_ID_OR_NULL support (Yauheni Kaliuta) [1874003] - [net] bpf: Add task and task/file iterator targets (Yauheni Kaliuta) [1874003] - [net] bpf: Add bpf_map iterator (Yauheni Kaliuta) [1874003] - [net] bpf: Implement common macros/helpers for target iterators (Yauheni Kaliuta) [1874003] - [net] bpf: Create file bpf iterator (Yauheni Kaliuta) [1874003] - [net] bpf: Create anonymous bpf iterator (Yauheni Kaliuta) [1874003] - [net] bpf: Implement bpf_seq_read() for bpf iterator (Yauheni Kaliuta) [1874003] - [net] bpf: Support bpf tracing/iter programs for BPF_LINK_UPDATE (Yauheni Kaliuta) [1874003] - [net] bpf: Support bpf tracing/iter programs for BPF_LINK_CREATE (Yauheni Kaliuta) [1874003] - [net] bpf: Allow loading of a bpf_iter program (Yauheni Kaliuta) [1874003] - [net] bpf: Implement an interface to register bpf_iter targets (Yauheni Kaliuta) [1874003] - [tools] bpf: Allow any port in bpf_bind helper (Yauheni Kaliuta) [1874003] - [net] net: Refactor arguments of inet{,6}_bind (Yauheni Kaliuta) [1874003] - [tools] selftests/bpf: Move existing common networking parts into network_helpers (Yauheni Kaliuta) [1874003] - [tools] selftests/bpf: Generalize helpers to control background listener (Yauheni Kaliuta) [1874003] - [net] crypto: lib/sha1 - rename "sha" to "sha1" (Yauheni Kaliuta) [1874003] - [arm64] arm64: bpf: Annotate JITed code for BTI (Yauheni Kaliuta) [1874003] - [arm64] arm64: insn: Add constants for new HINT instruction decode (Yauheni Kaliuta) [1874003] - [kernel] sysctl: Fix unused function warning (Yauheni Kaliuta) [1874003] - [tools] selftests/bpf: Use reno instead of dctcp (Yauheni Kaliuta) [1874003] - [net] bpf: Fix use-after-free of bpf_link when priming half-fails (Yauheni Kaliuta) [1874003] - [tools] bpf: Bpf_{g, s}etsockopt for struct bpf_sock_addr (Yauheni Kaliuta) [1874003] - [tools] bpf: Add selftest for BPF_ENABLE_STATS (Yauheni Kaliuta) [1874003] - [tools] libbpf: Add support for command BPF_ENABLE_STATS (Yauheni Kaliuta) [1874003] - [net] bpf: Sharing bpf runtime stats with BPF_ENABLE_STATS (Yauheni Kaliuta) [1874003] - [tools] selftests/bpf: Test allowed maps for bpf_sk_select_reuseport (Yauheni Kaliuta) [1874003] - [tools] libbpf: Fix false uninitialized variable warning (Yauheni Kaliuta) [1874003] - [net] bpf: Fix unused variable warning (Yauheni Kaliuta) [1874003] - [tools] selftests/bpf: Use SOCKMAP for server sockets in bpf_sk_assign test (Yauheni Kaliuta) [1874003] - [tools] selftests/bpf: Test that lookup on SOCKMAP/SOCKHASH is allowed (Yauheni Kaliuta) [1874003] - [net] bpf: Allow bpf_map_lookup_elem for SOCKMAP and SOCKHASH (Yauheni Kaliuta) [1874003] - [tools] tools: bpftool: Make libcap dependency optional (Yauheni Kaliuta) [1874003] - [tools] tools: bpftool: Allow unprivileged users to probe features (Yauheni Kaliuta) [1874003] - [tools] tools: bpftool: For "feature probe" define "full_mode" bool as global (Yauheni Kaliuta) [1874003] - [tools] selftests/bpf: Disable ASAN instrumentation for mmap()'ed memory read (Yauheni Kaliuta) [1874003] - [tools] selftests/bpf: Fix invalid memory reads in core_relo selftest (Yauheni Kaliuta) [1874003] - [tools] selftests/bpf: Fix memory leak in extract_build_id() (Yauheni Kaliuta) [1874003] - [tools] libbpf: Fix memory leak and possible double-free in hashmap__clear (Yauheni Kaliuta) [1874003] - [tools] selftests/bpf: Convert test_hashmap into test_progs test (Yauheni Kaliuta) [1874003] - [tools] selftests/bpf: Add SAN_CFLAGS param to selftests build to allow sanitizers (Yauheni Kaliuta) [1874003] - [tools] selftests/bpf: Ensure test flavors use correct skeletons (Yauheni Kaliuta) [1874003] - [tools] libbpf: Add BTF-defined map-in-map support (Yauheni Kaliuta) [1874003] - [tools] libbpf: Refactor map creation logic and fix cleanup leak (Yauheni Kaliuta) [1874003] - [tools] libbpf: Refactor BTF-defined map definition parsing logic (Yauheni Kaliuta) [1874003] - [tools] bpftool: Add link bash completions (Yauheni Kaliuta) [1874003] - [tools] bpftool: Add bpftool-link manpage (Yauheni Kaliuta) [1874003] - [tools] bpftool: Add bpf_link show and pin support (Yauheni Kaliuta) [1874003] - [tools] bpftool: Expose attach_type-to-string array to non-cgroup code (Yauheni Kaliuta) [1874003] - [tools] selftests/bpf: Test bpf_link's get_next_id, get_fd_by_id, and get_obj_info (Yauheni Kaliuta) [1874003] - [tools] libbpf: Add low-level APIs for new bpf_link commands (Yauheni Kaliuta) [1874003] - [net] bpf: Add support for BPF_OBJ_GET_INFO_BY_FD for bpf_link (Yauheni Kaliuta) [1874003] - [net] bpf: Support GET_FD_BY_ID and GET_NEXT_ID for bpf_link (Yauheni Kaliuta) [1874003] - [net] bpf: Allocate ID for bpf_link (Yauheni Kaliuta) [1874003] - [tools] libbpf: Remove unneeded semicolon in btf_dump_emit_type (Yauheni Kaliuta) [1874003] - [net] bpf, cgroup: Remove unused exports (Yauheni Kaliuta) [1874003] - [tools] libbpf: Return err if bpf_object__load failed (Yauheni Kaliuta) [1874003] - [tools] selftests/bpf: Add cls_redirect classifier (Yauheni Kaliuta) [1874003] - [net] bpf: Make verifier log more relevant by default (Yauheni Kaliuta) [1874003] - [net] bpf: add bpf_ktime_get_boot_ns() (Yauheni Kaliuta) [1874003] - [net] net: bpf: Make bpf_ktime_get_ns() available to non GPL programs (Yauheni Kaliuta) [1874003] - [net] net: bpf: Allow TC programs to call BPF_FUNC_skb_change_head (Yauheni Kaliuta) [1874003] - [net] bpf: Fix missing bpf_base_func_proto in cgroup_base_func_proto for CGROUP_NET=n (Yauheni Kaliuta) [1874003] - [tools] bpf_helpers.h: Add note for building with vmlinux.h or linux/types.h (Yauheni Kaliuta) [1874003] - [net] bpf: Enable more helpers for BPF_PROG_TYPE_CGROUP_{DEVICE, SYSCTL, SOCKOPT} (Yauheni Kaliuta) [1874003] - [tools] tools/bpf/bpftool: Remove duplicate headers (Yauheni Kaliuta) [1874003] - [net] bpf: Remove set but not used variable 'dst_known' (Yauheni Kaliuta) [1874003] - [net] xdp: export the DEV_MAP_BULK_SIZE macro (Yauheni Kaliuta) [1874003] - [kernel] trace/bpf_trace: Open access for CAP_PERFMON privileged process (Yauheni Kaliuta) [1874003] - [scsi] scsi: lpfc: Fix initial FLOGI failure due to BBSCN not supported (Dick Kennedy) [1887549] - [scsi] scsi: lpfc: Update lpfc version to 12.8.0.5 (Dick Kennedy) [1887549] - [scsi] scsi: lpfc: Reject CT request for MIB commands (Dick Kennedy) [1887549] - [scsi] scsi: lpfc: Add FDMI Vendor MIB support (Dick Kennedy) [1887549] - [scsi] scsi: lpfc: Fix duplicate wq_create_version check (Dick Kennedy) [1887549] - [scsi] scsi: lpfc: Removed unused macros in lpfc_attr.c (Dick Kennedy) [1887549] - [scsi] scsi: lpfc: Re-fix use after free in lpfc_rq_buf_free() (Dick Kennedy) [1887549] - [scsi] scsi: lpfc: Fix scheduling call while in softirq context in lpfc_unreg_rpi (Dick Kennedy) [1887549] - [scsi] scsi: lpfc: Fix invalid sleeping context in lpfc_sli4_nvmet_alloc() (Dick Kennedy) [1887549] - [scsi] scsi: Remove unneeded break statements (Dick Kennedy) [1887549] - [scsi] scsi: lpfc: Add dependency on CPU_FREQ (Dick Kennedy) [1887549] - [scsi] scsi: lpfc: Remove unneeded variable 'status' in lpfc_fcp_cpu_map_store() (Dick Kennedy) [1887549] - [scsi] scsi: lpfc: Drop nodelist reference on error in lpfc_gen_req() (Dick Kennedy) [1887549] - [scsi] scsi: lpfc: Remove set but not used 'qp' (Dick Kennedy) [1887549] - [scsi] scsi: lpfc: Update lpfc version to 12.8.0.4 (Dick Kennedy) [1887549] - [scsi] scsi: lpfc: Extend the RDF FPIN Registration descriptor for additional events (Dick Kennedy) [1887549] - [scsi] scsi: lpfc: Fix FLOGI/PLOGI receive race condition in pt2pt discovery (Dick Kennedy) [1887549] - [scsi] scsi: lpfc: Fix setting IRQ affinity with an empty CPU mask (Dick Kennedy) [1887549] - [scsi] scsi: lpfc: Fix spelling mistake "Cant" -> "Can't" (Dick Kennedy) [1887549] - [scsi] scsi: lpfc: Update lpfc version to 12.8.0.3 (Dick Kennedy) [1887549] - [scsi] scsi: lpfc: Fix validation of bsg reply lengths (Dick Kennedy) [1887549] - [scsi] scsi: lpfc: Fix retry of PRLI when status indicates its unsupported (Dick Kennedy) [1887549] - [scsi] scsi: lpfc: Fix oops when unloading driver while running mds diags (Dick Kennedy) [1887549] - [scsi] scsi: lpfc: Fix RSCN timeout due to incorrect gidft counter (Dick Kennedy) [1887549] - [scsi] scsi: lpfc: Fix no message shown for lpfc_hdw_queue out of range value (Dick Kennedy) [1887549] - [scsi] scsi: lpfc: Fix FCoE speed reporting (Dick Kennedy) [1887549] - [scsi] scsi: lpfc: Add missing misc_deregister() for lpfc_init() (Dick Kennedy) [1887549] - [scsi] scsi: lpfc: nvmet: Avoid hang / use-after-free again when destroying targetport (Dick Kennedy) [1887549] - [scsi] scsi: lpfc: Fix typo in comment for ULP (Dick Kennedy) [1887549] - [scsi] scsi: lpfc: Add description for lpfc_release_rpi()'s 'ndlpl param (Dick Kennedy) [1887549] - [scsi] scsi: lpfc: Fix a bunch of kerneldoc misdemeanors (Dick Kennedy) [1887549] - [scsi] scsi: lpfc: Add and rename a whole bunch of function parameter descriptions (Dick Kennedy) [1887549] - [scsi] scsi: lpfc: Use __printf() format notation (Dick Kennedy) [1887549] - [scsi] scsi: lpfc: Fix kerneldoc parameter formatting/misnaming/missing issues (Dick Kennedy) [1887549] - [scsi] scsi: lpfc: Fix some function parameter descriptions (Dick Kennedy) [1887549] - [scsi] scsi: lpfc: Ensure variable has the same stipulations as code using it (Dick Kennedy) [1887549] - [scsi] scsi: lpfc: Fix-up formatting/docrot where appropriate (Dick Kennedy) [1887549] - [scsi] scsi: lpfc: Provide description for lpfc_mem_alloc()'s 'align' param (Dick Kennedy) [1887549] - [scsi] scsi: lpfc: Fix-up around 120 documentation issues (Dick Kennedy) [1887549] - [scsi] scsi: lpfc: Remove unused variable 'pg_addr' (Dick Kennedy) [1887549] - [scsi] scsi: lpfc: Correct some pretty obvious misdocumentation (Dick Kennedy) [1887549] - [scsi] scsi: lpfc: Fix less-than-zero comparison of unsigned value (Dick Kennedy) [1887549] - [scsi] scsi: lpfc: Fix interrupt assignments when multiple vectors are supported on same CPU (Dick Kennedy) [1887549] - [scsi] scsi: lpfc: Fix inconsistent indenting (Dick Kennedy) [1887549] - [scsi] scsi: lpfc: Update lpfc version to 12.8.0.2 (Dick Kennedy) [1887549] - [scsi] scsi: lpfc: Add an internal trace log buffer (Dick Kennedy) [1887549] - [scsi] scsi: lpfc: Add blk_io_poll support for latency improvment (Dick Kennedy) [1887549] - [scsi] scsi: lpfc: Add support to display if adapter dumps are available (Dick Kennedy) [1887549] - [scsi] scsi: lpfc: Allow applications to issue Common Set Features mailbox command (Dick Kennedy) [1887549] - [scsi] scsi: lpfc: Fix language in 0373 message to reflect non-error message (Dick Kennedy) [1887549] - [scsi] scsi: lpfc: Fix shost refcount mismatch when deleting vport (Dick Kennedy) [1887549] - [scsi] scsi: lpfc: Fix stack trace seen while setting rrq active (Dick Kennedy) [1887549] - [scsi] scsi: lpfc: Fix oops due to overrun when reading SLI3 data (Dick Kennedy) [1887549] - [scsi] scsi: lpfc: Fix missing MDS functionality (Dick Kennedy) [1887549] - [scsi] scsi: lpfc: Fix unused assignment in lpfc_sli4_bsg_link_diag_test (Dick Kennedy) [1887549] - [scsi] scsi: lpfc: Avoid another null dereference in lpfc_sli4_hba_unset() (Dick Kennedy) [1887549] - [scsi] lpfc_debugfs: get rid of pointless access_ok() (Dick Kennedy) [1887549] - [scsi] lpfc: add nvmet discovery_event op support (Dick Kennedy) [1887549] - [scsi] scsi: core: Don't start concurrent async scan on same host (Ming Lei) [1874501] - [crypto] crypto: bcm - Verify GCM/CCM key length in setkey (Vladis Dronov) [1887389] - [x86] x86/cpufeatures: Add support for fast short REP; MOVSB (Steve Best) [1838265] - [scsi] scsi: mpt3sas: A small correction in _base_process_reply_queue (Tomas Henzl) [1851440] - [scsi] scsi: mpt3sas: Fix sync irqs (Tomas Henzl) [1851440] - [scsi] scsi: mpt3sas: Detect tampered Aero and Sea adapters (Tomas Henzl) [1851440] - [scsi] scsi: mpt3sas: Don't call disable_irq from IRQ poll handler (Tomas Henzl) [1851440] - [scsi] scsi: mpt3sas: Remove pci-dma-compat wrapper API (Tomas Henzl) [1851440] - [scsi] scsi: mpt3sas: Remove superfluous memset() (Tomas Henzl) [1851440] - [scsi] scsi: mpt3sas: Update driver version to 35.100.00.00 (Tomas Henzl) [1851440] - [scsi] scsi: mpt3sas: Postprocessing of target and LUN reset (Tomas Henzl) [1851440] - [scsi] scsi: mpt3sas: Add functions to check if any cmd is outstanding on Target and LUN (Tomas Henzl) [1851440] - [scsi] scsi: mpt3sas: Rename and export interrupt mask/unmask functions (Tomas Henzl) [1851440] - [scsi] scsi: mpt3sas: Cancel the running work during host reset (Tomas Henzl) [1851440] - [scsi] scsi: mpt3sas: Dump system registers for debugging (Tomas Henzl) [1851440] - [scsi] scsi: mpt3sas: Memset config_cmds.reply buffer with zeros (Tomas Henzl) [1851440] - [scsi] scsi: mpt3sas: Fix kdoc comments format (Tomas Henzl) [1851440] - [scsi] scsi: mpt3sas: Fix set but unused variable (Tomas Henzl) [1851440] - [scsi] scsi: mpt3sas: Fix error returns in BRM_status_show (Tomas Henzl) [1851440] - [scsi] scsi: mpt3sas: Fix unlock imbalance (Tomas Henzl) [1851440] - [scsi] scsi: mpt3sas: Fix spelling mistake (Tomas Henzl) [1851440] - [s390] s390/zcrypt: Fix ZCRYPT_PERDEV_REQCNT ioctl (Claudio Imbrenda) [1885962] - [scsi] scsi: megaraid: Make smp_affinity_enable static (Tomas Henzl) [1860910] - [scsi] remove ioremap_nocache and devm_ioremap_nocache (Tomas Henzl) [1860910] - [scsi] scsi: megaraid: Remove set but unused variable (Tomas Henzl) [1860910] - [scsi] scsi: megaraid: Fix compilation warnings (Tomas Henzl) [1860910] - [scsi] scsi: megaraid: Fix kdoc comments format (Tomas Henzl) [1860910] - [scsi] treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 13 (Tomas Henzl) [1860910] - [net] ethtool: Add support for 100Gbps per lane link modes (Ivan Vecera) [1879202]- [netdrv] ibmveth: Fix use of ibmveth in a bridge (Steve Best) [1893294] - [x86] ima: add a new CONFIG for loading arch-specific policies (Bruno Meneguele) [1869758] - [netdrv] e1000e: Add support for Meteor Lake (Ken Cox) [1838750] - [netdrv] intel-ethernet: clean up W=1 warnings in kdoc (Ken Cox) [1838750] - [netdrv] treewide: Use fallthrough pseudo-keyword (Ken Cox) [1838750] - [netdrv] e1000e: Remove unnecessary usages of memset (Ken Cox) [1838750] - [netdrv] e1000e: continue to init PHY even when failed to disable ULP (Ken Cox) [1838750] - [netdrv] ethernet/intel: Convert fallthrough code comments (Ken Cox) [1838750] - [netdrv] net/intel: remove driver versions from Intel drivers (Ken Cox) [1838750] - [netdrv] e1000e: fix unused-function warning (Ken Cox) [1838750] - [netdrv] e1000e: Do not wake up the system via WOL if device wakeup is disabled (Ken Cox) [1838750] - [netdrv] e1000e: Relax condition to trigger reset for ME workaround (Ken Cox) [1838750] - [netdrv] e1000e: disable s0ix entry and exit flows for ME systems (Ken Cox) [1838750] - [netdrv] e1000e: Disable TSO for buffer overrun workaround (Ken Cox) [1838750] - [netdrv] e1000e: Warn if disabling ULP failed (Ken Cox) [1838750] - [scsi] scsi: fnic: Do not call 'scsi_done()' for unhandled commands (Govindarajulu Varadarajan) [1870397] - [netdrv] intel-ethernet: clean up W=1 warnings in kdoc (Corinna Vinschen) [1838749] - [netdrv] igbvf: use generic power management (Corinna Vinschen) [1838749] - [netdrv] ethernet/intel: Convert fallthrough code comments (Corinna Vinschen) [1838749] - [netdrv] net/intel: remove driver versions from Intel drivers (Corinna Vinschen) [1838749] - [net] SUNRPC: Properly set the @subbuf parameter of xdr_buf_subsegment() (Steve Dickson) [1884361] - [net] SUNRPC: Fix ("SUNRPC: Add "@len" parameter to gss_unwrap()") (Steve Dickson) [1884361] - [net] netfilter: nf_queue: do not release refcouts until nf_reinject is done (Florian Westphal) [1886557] - [net] netfilter: nf_queue: place bridge physports into queue_entry struct (Florian Westphal) [1886557] - [net] netfilter: nf_queue: make nf_queue_entry_release_refs static (Florian Westphal) [1886557] - [firewire] firewire: Deprecate Firewire support in RHEL8 (Prarit Bhargava) [1871863] - [lib] Add pldmfw library for PLDM firmware update (Patrick Talbert) [1878278] - [lib] bitops: introduce the for_each_set_clump8 macro (Patrick Talbert) [1878278] - [mm] x86/ioremap: Map EFI runtime services data as encrypted for SEV (Lenny Szubowicz) [1883134] - [powerpc] Revert "powerpc/powernv/idle: Replace CPU feature check with PVR check" (Steve Best) [1882365] - [powerpc] powerpc/xive: Do not expose a debugfs file when XIVE is disabled (Steve Best) [1854526] - [kvm] powerpc/xive: Enforce load-after-store ordering when StoreEOI is active (Steve Best) [1854526] - [powerpc] powerpc/xive: Add a debugfs file to dump internal XIVE state (Steve Best) [1854526] - [net] openvswitch: add TTL decrement action (Eelco Chaudron) [1762450]- [kernel] futex: Adjust absolute futex timeouts with per time namespace offset (Waiman Long) [1548297] - [kernel] futex: Remove unused or redundant includes (Waiman Long) [1548297] - [include] vdso: Fix clocksource.h macro detection (Waiman Long) [1548297] - [x86] um: Fix header inclusion (Waiman Long) [1548297] - [arm64] arm64: vdso32: make vdso32 install conditional (Waiman Long) [1548297] - [arm64] ARM64: vdso32: Install vdso32 from vdso_install (Waiman Long) [1548297] - [arm64] vdso/treewide: Add vdso_data pointer argument to __arch_get_hw_counter() (Waiman Long) [1548297] - [kernel] timekeeping/vsyscall: Provide vdso_update_begin/end() (Waiman Long) [1548297] - [include] lib/vdso: Allow to add architecture-specific vdso data (Waiman Long) [1548297] - [arm64] arm64: enable time namespace support (Waiman Long) [1548297] - [arm64] arm64/vdso: Restrict splitting VVAR VMA (Waiman Long) [1548297] - [arm64] arm64/vdso: Handle faults on timens page (Waiman Long) [1548297] - [arm64] arm64/vdso: Add time namespace page (Waiman Long) [1548297] - [arm64] arm64/vdso: Zap vvar pages when switching to a time namespace (Waiman Long) [1548297] - [arm64] arm64/vdso: use the fault callback to map vvar pages (Waiman Long) [1548297] - [arm64] arm64: compat: Allow 32-bit vdso and sigpage to co-exist (Waiman Long) [1548297] - [x86] x86/vdso: Unbreak paravirt VDSO clocks (Waiman Long) [1548297] - [lib] lib/vdso: Provide sanity check for cycles (again) (Waiman Long) [1548297] - [kernel] clocksource: Remove obsolete ifdef (Waiman Long) [1548297] - [tools] selftests/timens: handle a case when alarm clocks are not supported (Waiman Long) [1548297] - [arm64] arm64: vdso: Add --eh-frame-hdr to ldflags (Waiman Long) [1548297] - [arm64] arm64: vdso: Add -fasynchronous-unwind-tables to cflags (Waiman Long) [1548297] - [arm64] arm64: vdso: use consistent 'map' nomenclature (Waiman Long) [1548297] - [arm64] arm64: vdso: use consistent 'abi' nomenclature (Waiman Long) [1548297] - [arm64] arm64: vdso: simplify arch_vdso_type ifdeffery (Waiman Long) [1548297] - [arm64] arm64: vdso: remove aarch32_vdso_pages (Waiman Long) [1548297] - [arm64] arm64: vdso: Add '-Bsymbolic' to ldflags (Waiman Long) [1548297] - [x86] x86/vdso/vdso2c: Convert iterators to unsigned (Waiman Long) [1548297] - [x86] x86/vdso/vdso2c: Correct error messages on file open (Waiman Long) [1548297] - [include] vdso/datapage: Use correct clock mode name in comment (Waiman Long) [1548297] - [arm64] arm64: vdso: don't free unallocated pages (Waiman Long) [1548297] - [fs] proc, time/namespace: Show clock symbolic names in /proc/pid/timens_offsets (Waiman Long) [1548297] - [kernel] time/namespace: Add max_time_namespaces ucount (Waiman Long) [1548297] - [kernel] time/namespace: Fix time_for_children symlink (Waiman Long) [1548297] - [arm64] arm64: compat: Fix syscall number of compat_clock_getres (Waiman Long) [1548297] - [tools] selftests/timens: Remove duplicated include (Waiman Long) [1548297] - [kernel] sys/sysinfo: Respect boottime inside time namespace (Waiman Long) [1548297] - [clocksource] clocksource/drivers/arm_arch_timer: Fix vDSO clockmode when vDSO disabled (Waiman Long) [1548297] - [lib] lib/vdso: Enable common headers (Waiman Long) [1548297] - [x86] x86/vdso: Enable x86 to use common headers (Waiman Long) [1548297] - [arm64] arm64: vdso32: Include common headers in the vdso library (Waiman Long) [1548297] - [arm64] arm64: vdso: Include common headers in the vdso library (Waiman Long) [1548297] - [arm64] arm64: Introduce asm/vdso/processor.h (Waiman Long) [1548297] - [arm64] arm64: vdso32: Code clean up (Waiman Long) [1548297] - [include] linux/elfnote.h: Replace elf.h with UAPI equivalent (Waiman Long) [1548297] - [include] common: Introduce processor.h (Waiman Long) [1548297] - [include] linux/ktime.h: Extract common header for vDSO (Waiman Long) [1548297] - [include] linux/jiffies.h: Extract common header for vDSO (Waiman Long) [1548297] - [include] linux/time64.h: Extract common header for vDSO (Waiman Long) [1548297] - [include] linux/time32.h: Extract common header for vDSO (Waiman Long) [1548297] - [include] linux/time.h: Extract common header for vDSO (Waiman Long) [1548297] - [include] linux/math64.h: Extract common header for vDSO (Waiman Long) [1548297] - [include] linux/clocksource.h: Extract common header for vDSO (Waiman Long) [1548297] - [arm64] arm64: Introduce asm/vdso/clocksource.h (Waiman Long) [1548297] - [x86] x86: Introduce asm/vdso/clocksource.h (Waiman Long) [1548297] - [include] linux/limits.h: Extract common header for vDSO (Waiman Long) [1548297] - [include] linux/bits.h: Extract common header for vDSO (Waiman Long) [1548297] - [include] linux/const.h: Extract common header for vDSO (Waiman Long) [1548297] - [include] linux/bits.h: make BIT(), GENMASK(), and friends available in assembly (Waiman Long) [1548297] - [lib] lib/vdso: Allow architectures to provide the vdso data pointer (Waiman Long) [1548297] - [lib] lib/vdso: Allow architectures to override the ns shift operation (Waiman Long) [1548297] - [lib] lib/vdso: Allow fixed clock mode (Waiman Long) [1548297] - [include] lib/vdso: Move VCLOCK_TIMENS to vdso_clock_modes (Waiman Long) [1548297] - [kernel] lib/vdso: Avoid highres update if clocksource is not VDSO capable (Waiman Long) [1548297] - [lib] lib/vdso: Cleanup clock mode storage leftovers (Waiman Long) [1548297] - [arm64] ARM/arm64: vdso: Use common vdso clock mode storage (Waiman Long) [1548297] - [x86] x86/vdso: Use generic VDSO clock mode storage (Waiman Long) [1548297] - [kernel] clocksource: Add common vdso clock mode storage (Waiman Long) [1548297] - [x86] x86/vdso: Move VDSO clocksource state tracking to callback (Waiman Long) [1548297] - [include] clocksource: Cleanup struct clocksource and documentation (Waiman Long) [1548297] - [lib] lib/vdso: Allow the high resolution parts to be compiled out (Waiman Long) [1548297] - [lib] lib/vdso: Only read hrtimer_res when needed in __cvdso_clock_getres() (Waiman Long) [1548297] - [x86] x86/vdso: Mark the TSC clocksource path likely (Waiman Long) [1548297] - [kernel] lib/vdso: Update coarse timekeeper unconditionally (Waiman Long) [1548297] - [kernel] lib/vdso: Make __arch_update_vdso_data() logic understandable (Waiman Long) [1548297] - [kernel] alarmtimer: Unregister wakeup source when module get fails (Waiman Long) [1548297] - [tools] selftests/timens: Check for right timens offsets after fork and exec (Waiman Long) [1548297] - [tools] selftests/timens: Add a simple perf test for clock_gettime() (Waiman Long) [1548297] - [tools] selftests/timens: Add timer offsets test (Waiman Long) [1548297] - [tools] selftests/timens: Add procfs selftest (Waiman Long) [1548297] - [tools] selftests/timens: Add a test for clock_nanosleep() (Waiman Long) [1548297] - [tools] selftests/timens: Add a test for timerfd (Waiman Long) [1548297] - [tools] selftests/timens: Add Time Namespace test for supported clocks (Waiman Long) [1548297] - [fs] fs/proc: Introduce /proc/pid/timens_offsets (Waiman Long) [1548297] - [x86] x86/vdso: Zap vvar pages when switching to a time namespace (Waiman Long) [1548297] - [x86] x86/vdso: On timens page fault prefault also VVAR page (Waiman Long) [1548297] - [x86] x86/vdso: Handle faults on timens page (Waiman Long) [1548297] - [kernel] time: Allocate per-timens vvar page (Waiman Long) [1548297] - [x86] x86/vdso: Add time napespace page (Waiman Long) [1548297] - [x86] x86/vdso: Provide vdso_data offset on vvar_page (Waiman Long) [1548297] - [lib] lib/vdso: Prepare for time namespace support (Waiman Long) [1548297] - [x86] x86/vdso: Restrict splitting VVAR VMA (Waiman Long) [1548297] - [fs] fs/proc: Respect boottime inside time namespace for /proc/uptime (Waiman Long) [1548297] - [kernel] posix-timers: Make clock_nanosleep() time namespace aware (Waiman Long) [1548297] - [kernel] hrtimers: Prepare hrtimer_nanosleep() for time namespaces (Waiman Long) [1548297] - [kernel] alarmtimer: Make nanosleep() time namespace aware (Waiman Long) [1548297] - [kernel] posix-timers: Make timer_settime() time namespace aware (Waiman Long) [1548297] - [fs] timerfd: Make timerfd_settime() time namespace aware (Waiman Long) [1548297] - [kernel] time: Add do_timens_ktime_to_host() helper (Waiman Long) [1548297] - [kernel] posix-clocks: Wire up clock_gettime() with timens offsets (Waiman Long) [1548297] - [kernel] posix-timers: Use clock_get_ktime() in common_timer_get() (Waiman Long) [1548297] - [kernel] posix-clocks: Introduce clock_get_ktime() callback (Waiman Long) [1548297] - [kernel] alarmtimer: Provide get_timespec() callback (Waiman Long) [1548297] - [kernel] alarmtimer: Rename gettime() callback to get_ktime() (Waiman Long) [1548297] - [kernel] posix-clocks: Rename .clock_get_timespec() callbacks accordingly (Waiman Long) [1548297] - [kernel] posix-clocks: Rename the clock_get() callback to clock_get_timespec() (Waiman Long) [1548297] - [kernel] time: Add timens_offsets to be used for tasks in time namespace (Waiman Long) [1548297] - [kernel] ns: Introduce Time Namespace (Waiman Long) [1548297] - [lib] lib/vdso: Mark do_hres() and do_coarse() as __always_inline (Waiman Long) [1548297] - [lib] lib/vdso: Avoid duplication in __cvdso_clock_getres() (Waiman Long) [1548297] - [lib] lib/vdso: Let do_coarse() return 0 to simplify the callsite (Waiman Long) [1548297] - [x86] x86/vdso: Remove unused VDSO_HAS_32BIT_FALLBACK (Waiman Long) [1548297] - [arm64] arm64: compat: vdso: Remove unused VDSO_HAS_32BIT_FALLBACK (Waiman Long) [1548297] - [lib] lib/vdso: Remove checks on return value for 32 bit vDSO (Waiman Long) [1548297] - [lib] lib/vdso: Remove VDSO_HAS_32BIT_FALLBACK (Waiman Long) [1548297] - [arm64] arm64: compat: vdso: Expose BUILD_VDSO32 (Waiman Long) [1548297] - [include] lib/vdso: Add unlikely() hint into vdso_read_begin() (Waiman Long) [1548297] - [x86] y2038: vdso: change time_t to __kernel_old_time_t (Waiman Long) [1548297] - [uapi] y2038: add __kernel_old_timespec and __kernel_old_time_t (Waiman Long) [1548297] - [arm64] timekeeping/vsyscall: Update VDSO data unconditionally (Waiman Long) [1548297] - [x86] um: Fix VDSO compiler warning (Waiman Long) [1548297] - [kernel] timekeeping/vsyscall: Prevent math overflow in BOOTTIME update (Waiman Long) [1548297] - [arm64] arm64: compat: vdso: Use legacy syscalls as fallback (Waiman Long) [1548297] - [x86] x86/vdso/32: Use 32bit syscall fallback (Waiman Long) [1548297] - [arm64] arm64: vdso: Cleanup Makefiles (Waiman Long) [1548297] - [arm64] arm64: vdso: fix flip/flop vdso build bug (Waiman Long) [1548297] - [x86] x86/vdso: Fix flip/flop vdso build bug (Waiman Long) [1548297] - [kernel] timekeeping/vsyscall: Use __iter_div_u64_rem() (Waiman Long) [1548297] - [arm64] arm64: compat: Fix __arch_get_hw_counter() implementation (Waiman Long) [1548297] - [arm64] arm64: Fix __arch_get_hw_counter() implementation (Waiman Long) [1548297] - [arm64] arm64: compat: No need for pre-ARMv7 barriers on an ARMv8 system (Waiman Long) [1548297] - [arm64] arm64: vdso: Remove unnecessary asm-offsets.c definitions (Waiman Long) [1548297] - [include] vdso: Remove superfluous #ifdef __KERNEL__ in vdso/datapage.h (Waiman Long) [1548297] - [arm64] arm64: vdso: Enable vDSO compat support (Waiman Long) [1548297] - [arm64] arm64: compat: Get sigreturn trampolines from vDSO (Waiman Long) [1548297] - [arm64] arm64: elf: VDSO code page discovery (Waiman Long) [1548297] - [arm64] arm64: compat: VDSO setup for compat layer (Waiman Long) [1548297] - [arm64] arm64: vdso: Refactor vDSO code (Waiman Long) [1548297] - [arm64] arm64: compat: Add vDSO (Waiman Long) [1548297] - [arm64] arm64: compat: Generate asm offsets for signals (Waiman Long) [1548297] - [arm64] arm64: compat: Expose signal related structures (Waiman Long) [1548297] - [arm64] arm64: compat: Add missing syscall numbers (Waiman Long) [1548297] - [arm64] arm64: vdso: Build vDSO with -ffixed-x18 (Waiman Long) [1548297] - [arm64] arm64: vdso: Substitute gettimeofday() with C implementation (Waiman Long) [1548297] - [lib] lib/vdso: Build 32 bit specific functions in the right context (Waiman Long) [1548297] - [lib] lib/vdso: Make __cvdso_clock_getres() static (Waiman Long) [1548297] - [lib] lib/vdso: Make clock_getres() POSIX compliant again (Waiman Long) [1548297] - [lib] lib/vdso/32: Provide legacy syscall fallbacks (Waiman Long) [1548297] - [lib] lib/vdso: Move fallback invocation to the callers (Waiman Long) [1548297] - [lib] lib/vdso/32: Remove inconsistent NULL pointer checks (Waiman Long) [1548297] - [x86] lib/vdso: Make delta calculation work correctly (Waiman Long) [1548297] - [x86] x86/vdso: Add clock_gettime64() entry point (Waiman Long) [1548297] - [x86] x86/vdso: Add clock_getres() entry point (Waiman Long) [1548297] - [x86] x86/vdso: Switch to generic vDSO implementation (Waiman Long) [1548297] - [x86] x86/vdso: Prevent segfaults due to hoisted vclock reads (Waiman Long) [1548297] - [kernel] timekeeping: Provide a generic update_vsyscall() implementation (Waiman Long) [1548297] - [lib] lib/vdso: Add compat support (Waiman Long) [1548297] - [lib] lib/vdso: Provide generic VDSO implementation (Waiman Long) [1548297] - [include] hrtimer: Split out hrtimer defines into separate header (Waiman Long) [1548297] - [include] vdso: Define standardized vdso_datapage (Waiman Long) [1548297] - [arm64] arm64: arch_timer: mark functions as __always_inline (Waiman Long) [1548297] - [x86] treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 223 (Waiman Long) [1548297] - [clocksource] clocksource/drivers/arm_arch_timer: Don't trace count reader functions (Waiman Long) [1548297] - [arm64] arm64: vdso: Explicitly add build-id option (Waiman Long) [1548297] - [x86] gcc-9: properly declare the {pv, hv}clock_page storage (Waiman Long) [1548297] - [arm64] arm64: vdso: Fix clock_getres() for CLOCK_REALTIME (Waiman Long) [1548297] - [arm64] arm64: compat: Refactor aarch32_alloc_vdso_pages() (Waiman Long) [1548297] - [arm64] arm64: compat: Split kuser32 (Waiman Long) [1548297] - [arm64] arm64: compat: Alloc separate pages for vectors and sigpage (Waiman Long) [1548297] - [arm64] arm64: arch_timer: Ensure counter register reads occur with seqlock held (Waiman Long) [1548297] - [clocksource] clocksource/arm_arch_timer: Use arch_timer_read_counter to access stable counters (Waiman Long) [1548297] - [clocksource] clocksource/arm_arch_timer: Remove use of workaround static key (Waiman Long) [1548297] - [arm64] clocksource/arm_arch_timer: Drop use of static key in arch_timer_reg_read_stable (Waiman Long) [1548297] - [clocksource] clocksource/arm_arch_timer: Direcly assign set_next_event workaround (Waiman Long) [1548297] - [arm64] arm64: Use arch_timer_read_counter instead of arch_counter_get_cntvct (Waiman Long) [1548297] - [watchdog] watchdog/sbsa: Use arch_timer_read_counter instead of arch_counter_get_cntvct (Waiman Long) [1548297] - [kernel] alarmtimer: Return correct remaining time (Waiman Long) [1548297] - [arm64] arm64: vdso: use $(LD) instead of $(CC) to link VDSO (Waiman Long) [1548297] - [arm64] arm64: vdso: fix and clean-up Makefile (Waiman Long) [1548297] - [x86] x86/vdso: Remove hpet_page from vDSO (Waiman Long) [1548297] - [scripts] checksyscalls: fix up mq_timedreceive and stat exceptions (Waiman Long) [1548297] - [uapi] time: Add time_types.h (Waiman Long) [1548297] - [uapi] socket: Add struct __kernel_sock_timeval (Waiman Long) [1548297] - [arm64] arm64: asm-offsets: remove unused offsets (Waiman Long) [1548297] - [arm64] y2038: add 64-bit time_t syscalls to all 32-bit architectures (Waiman Long) [1548297] - [arm64] arm64: replace arm64-obj-* in Makefile with obj-* (Waiman Long) [1548297] - [x86] x86/vdso: Remove obsolete "fake section table" reservation (Waiman Long) [1548297] - [x86] x86/vdso: Rename variable to fix -Wshadow warning (Waiman Long) [1548297] - [x86] x86/vdso: Rearrange do_hres() to improve code generation (Waiman Long) [1548297] - [x86] x86/vdso: Document vgtod_ts better (Waiman Long) [1548297] - [x86] x86/vdso: Remove "memory" clobbers in the vDSO syscall fallbacks (Waiman Long) [1548297] - [x86] x86/vdso: Initialize the CPU/node NR segment descriptor earlier (Waiman Long) [1548297] - [x86] x86/vdso: Introduce helper functions for CPU and node number (Waiman Long) [1548297] - [x86] x86/segments/64: Rename the GDT PER_CPU entry to CPU_NUMBER (Waiman Long) [1548297] - [x86] x66/vdso: Add CLOCK_TAI support (Waiman Long) [1548297] - [x86] x86/vdso: Move cycle_last handling into the caller (Waiman Long) [1548297] - [x86] x86/vdso: Simplify the invalid vclock case (Waiman Long) [1548297] - [x86] x86/vdso: Replace the clockid switch case (Waiman Long) [1548297] - [x86] x86/vdso: Collapse coarse functions (Waiman Long) [1548297] - [x86] x86/vdso: Collapse high resolution functions (Waiman Long) [1548297] - [x86] x86/vdso: Introduce and use vgtod_ts (Waiman Long) [1548297] - [x86] x86/vdso: Use unsigned int consistently for vsyscall_gtod_data:: Seq (Waiman Long) [1548297] - [x86] x86/vdso: Enforce 64bit clocksource (Waiman Long) [1548297] - [x86] x86/time: Implement clocksource_arch_init() (Waiman Long) [1548297] - [kernel] clocksource: Provide clocksource_arch_init() (Waiman Long) [1548297] - [fs] fs/proc/uptime.c: use ktime_get_boottime_ts64 (Waiman Long) [1548297] - [include] y2038: Provide aliases for compat helpers (Waiman Long) [1548297] - [fs] kernel: add kcompat_sys_{f,}statfs64() (Waiman Long) [1548297] - [kernel] sysinfo: Remove get_monotonic_boottime() (Waiman Long) [1548297] - [kernel] posix-timers: Use new ktime_get_*_ts64() helpers (Waiman Long) [1548297] - [kernel] time: Use ktime_get_real_seconds() in time syscall (Waiman Long) [1548297] - [include] time: Introduce struct __kernel_itimerspec (Waiman Long) [1548297] - [scripts] kconfig: improve the recursive dependency report (Bruno Meneguele) [1890578] - [scripts] kconfig: report recursive dependency involving 'imply' (Bruno Meneguele) [1890578] - [scripts] kconfig: error out when seeing recursive dependency (Bruno Meneguele) [1890578] - [scsi] scsi: hpsa: Update copyright (Joseph Szczypek) [1861541] - [scsi] scsi: hpsa: Remove pci-dma-compat wrapper API (Joseph Szczypek) [1861541] - [scsi] scsi: hpsa: Use fallthrough pseudo-keyword (Joseph Szczypek) [1861541] - [scsi] scsi: hpsa: Correct ctrl queue depth (Joseph Szczypek) [1861541] - [scsi] scsi: hpsa: Bump version (Joseph Szczypek) [1861541] - [scsi] scsi: hpsa: Increase controller error handling timeout (Joseph Szczypek) [1861541] - [scsi] scsi: hpsa: Increase queue depth for external LUNs (Joseph Szczypek) [1861541] - [scsi] scsi: hpsa: Correct rare oob condition (Joseph Szczypek) [1861541] - [scsi] scsi: hpsa: hpsa_ioctl(): Tidy up a bit (Joseph Szczypek) [1861541] - [scsi] scsi: hpsa: Get rid of compat_alloc_user_space() (Joseph Szczypek) [1861541] - [scsi] scsi: hpsa: Don't bother with vmalloc for BIG_IOCTL_Command_struct (Joseph Szczypek) [1861541] - [scsi] scsi: hpsa: Lift {BIG_, }IOCTL_Command_struct copy{in, out} into hpsa_ioctl() (Joseph Szczypek) [1861541] - [scsi] scsi: hpsa: remove ioremap_nocache and devm_ioremap_nocache (Joseph Szczypek) [1861541] - [tools] selftests/powerpc: Make alignment handler test P9N DD2.1 vector CI load workaround (Gustavo Duarte) [1887442] - [powerpc] powerpc: Fix undetected data corruption with P9N DD2.1 VSX CI load emulation (Gustavo Duarte) [1887442] - [scsi] scsi: smartpqi: Update copyright (Don Brace) [1861538] - [scsi] scsi: smartpqi: Bump version to 1.2.16-010 (Don Brace) [1861538] - [scsi] scsi: smartpqi: Add RAID bypass counter (Don Brace) [1861538] - [scsi] scsi: smartpqi: Avoid crashing kernel for controller issues (Don Brace) [1861538] - [scsi] scsi: smartpqi: Update logical volume size after expansion (Don Brace) [1861538] - [scsi] scsi: smartpqi: Add id support for SmartRAID 3152-8i (Don Brace) [1861538] - [scsi] scsi: smartpqi: Identify physical devices without issuing INQUIRY (Don Brace) [1861538] - [mm] mm: simplify find_min_pfn_with_active_regions() (Baoquan He) [1844157] - [mm] mm: clean up free_area_init_node() and its helpers (Baoquan He) [1844157] - [mm] mm: rename free_area_init_node() to free_area_init_memoryless_node() (Baoquan He) [1844157] - [mm] mm: free_area_init: allow defining max_zone_pfn in descending order (Baoquan He) [1844157] - [powerpc] mm: remove early_pfn_in_nid() and CONFIG_NODES_SPAN_OTHER_NODES (Baoquan He) [1844157] - [mm] mm: memmap_init: iterate over memblock regions rather that check each PFN (Baoquan He) [1844157] - [mm] arm64: simplify detection of memory zone boundaries for UMA configs (Baoquan He) [1844157] - [mm] mm: use free_area_init() instead of free_area_init_nodes() (Baoquan He) [1844157] - [mm] mm: free_area_init: use maximal zone PFNs rather than zone sizes (Baoquan He) [1844157] - [mm] mm: remove CONFIG_HAVE_MEMBLOCK_NODE_MAP option (Baoquan He) [1844157] - [mm] numa: make "nr_node_ids" unsigned int (Baoquan He) [1844157] - [mm] mm: make early_pfn_to_nid() and related defintions close to each other (Baoquan He) [1844157] - [mm] mm: memblock: replace dereferences of memblock_region.nid with API calls (Baoquan He) [1844157] - [mm] mm: factor out next_present_section_nr() (Baoquan He) [1844157] - [mm] mm/page_alloc: fix and rework pfn handling in memmap_init_zone() (Baoquan He) [1844157] - [mm] mm/page_alloc: skip non present sections on zone initialization (Baoquan He) [1844157] - [mm] mm: move mirrored memory specific code outside of memmap_init_zone (Baoquan He) [1844157] - [mm] mm: calculate deferred pages after skipping mirrored memory (Baoquan He) [1844157] - [mm] mm/memblock.c: fix a typo in __next_mem_pfn_range() comments (Baoquan He) [1844157] - [mm] memblock: remove memblock_{set, clear}_region_flags (Baoquan He) [1844157] - [mm] mm: replace all open encodings for NUMA_NO_NODE (Baoquan He) [1844157] - [powerpc] lockdep: Only trace IRQ edges (Waiman Long) [1885084] - [arm64] arm64: Implement arch_irqs_disabled() (Waiman Long) [1885084] - [include] locking/lockdep: Cleanup (Waiman Long) [1885084] - [include] lockdep: Use raw_cpu_*() for per-cpu variables (Waiman Long) [1885084] - [x86] locking/seqlock, headers: Untangle the spaghetti monster (Waiman Long) [1885084] - [misc] vmw_balloon: Explicitly include linux/io.h for virt_to_phys() (Waiman Long) [1885084] - [x86] x86: i8259: Add missing include file (Waiman Long) [1885084] - [include] seqcount: More consistent seqprop names (Waiman Long) [1885084] - [include] seqcount: Compress SEQCNT_LOCKNAME_ZERO() (Waiman Long) [1885084] - [include] seqlock: Fold seqcount_LOCKNAME_init() definition (Waiman Long) [1885084] - [include] seqlock: Fold seqcount_LOCKNAME_t definition (Waiman Long) [1885084] - [include] seqlock: s/__SEQ_LOCKDEP/__SEQ_LOCK/g (Waiman Long) [1885084] - [kernel] hrtimer: Use sequence counter with associated raw spinlock (Waiman Long) [1885084] - [kernel] timekeeping: Use sequence counter with associated raw spinlock (Waiman Long) [1885084] - [kernel] timekeeping: Use proper seqcount initializer (Waiman Long) [1885084] - [init] sched: tasks: Use sequence counter with associated spinlock (Waiman Long) [1885084] - [kernel] lockdep: Refactor IRQ trace events fields into struct (Waiman Long) [1885084] - [drm] dma-buf: Use sequence counter with associated wound/wait mutex (Waiman Long) [1885084] - [dma-buf] dma-buf: Remove custom seqcount lockdep class key (Waiman Long) [1885084] - [include] seqlock: Align multi-line macros newline escapes at 72 columns (Waiman Long) [1885084] - [documentation] seqlock: Extend seqcount API with associated locks (Waiman Long) [1885084] - [include] seqlock: lockdep assert non-preemptibility on seqcount_t write (Waiman Long) [1885084] - [lib] lockdep: Add preemption enabled/disabled assertion APIs (Waiman Long) [1885084] - [include] seqlock: Implement raw_seqcount_begin() in terms of raw_read_seqcount() (Waiman Long) [1885084] - [include] seqlock: Add kernel-doc for seqcount_t and seqlock_t APIs (Waiman Long) [1885084] - [include] seqlock: Reorder seqcount_t and seqlock_t API definitions (Waiman Long) [1885084] - [include] seqlock: seqcount_t latch: End read sections with read_seqcount_retry() (Waiman Long) [1885084] - [include] seqlock: Properly format kernel-doc code samples (Waiman Long) [1885084] - [documentation] Documentation: locking: Describe seqlock design and usage (Waiman Long) [1885084] - [include] seqlock: Require WRITE_ONCE surrounding raw_seqcount_barrier (Waiman Long) [1885084] - [include] seqlock, kcsan: Add annotations for KCSAN (Waiman Long) [1885084] - [include] include/linux/compiler.h: Introduce data_race(expr) macro (Waiman Long) [1885084] - [kernel] kcsan: Add Kernel Concurrency Sanitizer infrastructure (Waiman Long) [1885084] - [include] locking/qspinlock: Do not include atomic.h from qspinlock_types.h (Waiman Long) [1885084] - [include] locking/atomic: Move ATOMIC_INIT into linux/types.h (Waiman Long) [1885084] - [connector] connector/cn_proc: Protect send_msg() with a local lock (Waiman Long) [1885084] - [mm] mm/swap: Use local_lock for protection (Waiman Long) [1885084] - [include] radix-tree: Use local_lock for protection (Waiman Long) [1885084] - [include] locking: Introduce local_lock() (Waiman Long) [1885084] - [documentation] Documentation/locking/locktypes: Minor copy editor fixes (Waiman Long) [1885084] - [documentation] Documentation/locking/locktypes: Further clarifications and wordsmithing (Waiman Long) [1885084] - [documentation] Documentation: Add lock ordering and nesting documentation (Waiman Long) [1885084] - [mm] mm/swap.c: trivial mark_page_accessed() cleanup (Waiman Long) [1885084] - [lib] radix tree: Remove radix_tree_maybe_preload_order (Waiman Long) [1885084] - [kernel] locking/lockdep: Fix "USED" <- "IN-NMI" inversions (Waiman Long) [1885084] - [kernel] lockdep: Remove lockdep_hardirq{s_enabled, _context}() argument (Waiman Long) [1885084] - [kernel] lockdep: Change hardirq{s_enabled, _context} to per-cpu variables (Waiman Long) [1885084] - [kernel] x86/entry: Rename trace_hardirqs_off_prepare() (Waiman Long) [1885084] - [kernel] lockdep: Prepare for NMI IRQ state tracking (Waiman Long) [1885084] - [include] lockdep: Move list.h inclusion into lockdep.h (Waiman Long) [1885084] - [include] lockdep: Split header file into lockdep and lockdep_types (Waiman Long) [1885084] - [kernel] lockdep: __always_inline more for noinstr (Waiman Long) [1885084] - [kernel] lockdep: Prepare for noinstr sections (Waiman Long) [1885084] - [kernel] tracing: Provide lockdep less trace_hardirqs_on/off() variants (Waiman Long) [1885084] - [include] vmlinux.lds.h: Create section for protection against instrumentation (Waiman Long) [1885084] - [kernel] locking/lockdep: Replace zero-length array with flexible-array (Waiman Long) [1885084] - [kernel] hrtimer: Don't dereference the hrtimer pointer after the callback (Waiman Long) [1885084] - [kernel] hrtimer: Add missing sparse annotation for __run_timer() (Waiman Long) [1885084] - [kernel] lockdep: Always inline lockdep_{off,on}() (Waiman Long) [1885084] - [kernel] locking/lockdep: Improve 'invalid wait context' splat (Waiman Long) [1885084] - [kernel] lockdep: Rename trace_{hard, soft}{irq_context, irqs_enabled}() (Waiman Long) [1885084] - [kernel] lockdep: Rename trace_softirqs_{on,off}() (Waiman Long) [1885084] - [kernel] lockdep: Rename trace_hardirq_{enter, exit}() (Waiman Long) [1885084] - [kernel] completion: Use lockdep_assert_RT_in_threaded_ctx() in complete_all() (Waiman Long) [1885084] - [usb] completion: Use simple wait queues (Waiman Long) [1885084] - [kernel] sched/swait: Prepare usage in completions (Waiman Long) [1885084] - [kernel] lockdep: Add posixtimer context tracing bits (Waiman Long) [1885084] - [kernel] lockdep: Annotate irq_work (Waiman Long) [1885084] - [kernel] lockdep: Add hrtimer context tracing bits (Waiman Long) [1885084] - [include] lockdep: Introduce wait-type checks (Waiman Long) [1885084] - [kernel] lockdep: Teach lockdep about "USED" <- "IN-NMI" inversions (Waiman Long) [1885084] - [kernel] locking/lockdep: Rework lockdep_lock (Waiman Long) [1885084] - [kernel] locking/lockdep: Fix bad recursion pattern (Waiman Long) [1885084] - [s390] s390/ftrace: fix endless recursion in function_graph tracer (Waiman Long) [1885084] - [s390] s390/time: ensure get_clock_monotonic() returns monotonic values (Waiman Long) [1885084] - [kernel] irq_work: Fix IRQ_WORK_BUSY bit clearing (Waiman Long) [1885084] - [kernel] irq_work: Slightly simplify IRQ_WORK_PENDING clearing (Waiman Long) [1885084] - [kernel] irq_work: Fix irq_work_claim() memory ordering (Waiman Long) [1885084] - [kernel] irq_work: Convert flags to atomic_t (Waiman Long) [1885084] - [kernel] kprobes: Prohibit probing on lockdep functions (Waiman Long) [1885084] - [kernel] kprobes: Prohibit probing on hardirq tracers (Waiman Long) [1885084] - [lib] locking/lockdep: Make global debug_locks* variables read-mostly (Waiman Long) [1885084] - [kernel] locking/lockdep: Delete unnecessary #include (Waiman Long) [1885084] - [kernel] tracing: More reverting of "tracing: Centralize preemptirq tracepoints and unify their usage" (Waiman Long) [1885084] - [kernel] tracing/irqsoff: Handle preempt_count for different configs (Waiman Long) [1885084] - [kernel] tracing: Partial revert of "tracing: Centralize preemptirq tracepoints and unify their usage" (Waiman Long) [1885084] - [kernel] tracing: irqsoff: Account for additional preempt_disable (Waiman Long) [1885084] - [kernel] tracing: Centralize preemptirq tracepoints and unify their usage (Waiman Long) [1885084] - [kernel] tracing/irqsoff: Split reset into separate functions (Waiman Long) [1885084] - [kernel] sched/fair: Use dst group while checking imbalance for NUMA balancer (Phil Auld) [1877360] - [kernel] sched/fair: Reduce busy load balance interval (Phil Auld) [1877360] - [kernel] sched/fair: Reduce minimal imbalance threshold (Phil Auld) [1877360] - [kernel] sched/fair: Minimize concurrent LBs between domain level (Phil Auld) [1877360] - [kernel] sched/fair: Fix wrong cpu selecting from isolated domain (Phil Auld) [1877360] - [kernel] sched/fair: Relax constraint on task's load during load balance (Phil Auld) [1877360] - [kernel] sched/numa: Use runnable_avg to classify node (Phil Auld) [1877360] - [kernel] sched: Remove duplicated tick_nohz_full_enabled() check (Phil Auld) [1877360] - [kernel] sched: Warn if garbage is passed to default_wake_function() (Phil Auld) [1877360] - [kernel] sched: nohz: stop passing around unused "ticks" parameter (Phil Auld) [1877360] - [kernel] sched/fair: update_pick_idlest() Select group with lowest group_util when idle_cpus are equal (Phil Auld) [1877360] - [kernel] sched: Better document ttwu() (Phil Auld) [1877360] - [kernel] sched/fair: handle case of task_h_load() returning 0 (Phil Auld) [1877360] - [kernel] sched: Fix unreliable rseq cpu_id for new tasks (Phil Auld) [1877360] - [kernel] sched/core: s/WF_ON_RQ/WQ_ON_CPU/ (Phil Auld) [1877360] - [include] sched/core: Remove mmdrop() definition (Phil Auld) [1877360] - [kernel] sched/fair: Optimize dequeue_task_fair() (Phil Auld) [1877360] - [kernel] sched/pelt: Cleanup PELT divider (Phil Auld) [1877360] - [kernel] sched/fair: Fix NOHZ next idle balance (Phil Auld) [1877360] - [kernel] sched: correct SD_flags returned by tl->sd_flags() (Phil Auld) [1877360] - [kernel] sched/fair: Remove unused 'sd' parameter from scale_rt_capacity() (Phil Auld) [1877360] - [kernel] sched/idle, stop: Remove .get_rr_interval from sched_class (Phil Auld) [1877360] - [kernel] sched/core: Remove redundant 'preempt' param from sched_class->yield_to_task() (Phil Auld) [1877360] - [kernel] sched/pelt: Remove redundant cap_scale() definition (Phil Auld) [1877360] - [kernel] sched/pelt: Sync util/runnable_sum with PELT window when propagating (Phil Auld) [1877360] - [kernel] sched/cpuacct: Fix charge cpuacct.usage_sys (Phil Auld) [1877360] - [kernel] sched/cpuacct: Use __this_cpu_add() instead of this_cpu_ptr() (Phil Auld) [1877360] - [kernel] sched/fair: Fix unthrottle_cfs_rq() for leaf_cfs_rq list (Phil Auld) [1877360] - [kernel] sched/core: Simplify sched_init() (Phil Auld) [1877360] - [kernel] sched/fair: Mark sched_init_granularity __init (Phil Auld) [1877360] - [kernel] sched/core: Fix illegal RCU from offline CPUs (Phil Auld) [1877360] - [kernel] sched/fair: Use __this_cpu_read() in wake_wide() (Phil Auld) [1877360] - [kernel] sched: Extract the task putting code from pick_next_task() (Phil Auld) [1877360] - [kernel] sched: Make newidle_balance() static again (Phil Auld) [1877360] - [kernel] sched/fair: Remove distribute_running from CFS bandwidth (Phil Auld) [1877360] - [kernel] sched/fair: Simplify the code of should_we_balance() (Phil Auld) [1877360] - [kernel] sched/debug: Fix trival print_task() format (Phil Auld) [1877360] - [kernel] sched/debug: Factor out printing formats into common macros (Phil Auld) [1877360] - [kernel] sched/debug: Remove redundant macro define (Phil Auld) [1877360] - [kernel] sched/core: Remove unused rq::last_load_update_tick (Phil Auld) [1877360] - [kernel] sched/fair: Align rq->avg_idle and rq->avg_scan_cost (Phil Auld) [1877360] - [kernel] sched/fair: Improve spreading of utilization (Phil Auld) [1877360] - [kernel] sched/fair: Fix condition of avg_load calculation (Phil Auld) [1877360] - [kernel] kthread: Do not preempt current task if it is going to call schedule() (Phil Auld) [1877360] - [kernel] sched/core: Distribute tasks within affinity masks (Phil Auld) [1877360] - [kernel] time/sched_clock: Expire timer in hardirq context (Phil Auld) [1877360] - [kernel] sched/deadline: Make two functions static (Phil Auld) [1877360] - [mm] slab: store tagged freelist for off-slab slabmgmt (Waiman Long) [1887067] - [mm] mm/kasan: fix false positive invalid-free reports with CONFIG_KASAN_SW_TAGS=y (Waiman Long) [1887067] - [arm64] arm64: avoid clang warning about self-assignment (Waiman Long) [1887067] - [mm] kasan: add memory corruption identification for software tag-based mode (Waiman Long) [1887067] - [mm] mm/kasan: print frame description for stack bugs (Waiman Long) [1887067] - [mm] kasan: initialize tag to 0xff in __kasan_kmalloc (Waiman Long) [1887067] - [mm] kasan: Makefile: Replace -pg with CC_FLAGS_FTRACE (Waiman Long) [1887067] - [mm] x86/uaccess, kasan: Fix KASAN vs SMAP (Waiman Long) [1887067] - [mm] mm/kasan: Simplify stacktrace handling (Waiman Long) [1887067] - [mm] kasan: fix variable 'tag' set but not used warning (Waiman Long) [1887067] - [mm] slub: fix a crash with SLUB_DEBUG + KASAN_SW_TAGS (Waiman Long) [1887067] - [mm] kasan, slab: remove redundant kasan_slab_alloc hooks (Waiman Long) [1887067] - [mm] kasan, slab: make freelist stored without tags (Waiman Long) [1887067] - [mm] kasan, slab: fix conflicts with CONFIG_HARDENED_USERCOPY (Waiman Long) [1887067] - [mm] kasan: prevent tracing of tags.c (Waiman Long) [1887067] - [mm] kasan: fix random seed generation for tag-based mode (Waiman Long) [1887067] - [mm] slub: fix SLAB_CONSISTENCY_CHECKS + KASAN_SW_TAGS (Waiman Long) [1887067] - [mm] kasan, slub: fix more conflicts with CONFIG_SLAB_FREELIST_HARDENED (Waiman Long) [1887067] - [mm] kasan, slub: fix conflicts with CONFIG_SLAB_FREELIST_HARDENED (Waiman Long) [1887067] - [mm] kasan, slub: move kasan_poison_slab hook before page_address (Waiman Long) [1887067] - [mm] kmemleak: account for tagged pointers when calculating pointer range (Waiman Long) [1887067] - [mm] kasan, kmemleak: pass tagged pointers to kmemleak (Waiman Long) [1887067] - [mm] kasan: fix assigning tags twice (Waiman Long) [1887067] - [mm] kasan: mark file common so ftrace doesn't trace it (Waiman Long) [1887067] - [mm] kasan: fix krealloc handling for tag-based mode (Waiman Long) [1887067] - [mm] kasan: make tag based mode work with CONFIG_HARDENED_USERCOPY (Waiman Long) [1887067] - [arm64] kasan, arm64: use ARCH_SLAB_MINALIGN instead of manual aligning (Waiman Long) [1887067] - [mm] kasan: add SPDX-License-Identifier mark to source files (Waiman Long) [1887067] - [documentation] kasan: update documentation (Waiman Long) [1887067] - [arm64] kasan, arm64: select HAVE_ARCH_KASAN_SW_TAGS (Waiman Long) [1887067] - [mm] kasan: add __must_check annotations to kasan hooks (Waiman Long) [1887067] - [mm] kasan, mm, arm64: tag non slab memory allocated via pagealloc (Waiman Long) [1887067] - [arm64] kasan, arm64: add brk handler for inline instrumentation (Waiman Long) [1887067] - [mm] kasan: add hooks implementation for tag-based mode (Waiman Long) [1887067] - [mm] kasan: add bug reporting routines for tag-based mode (Waiman Long) [1887067] - [mm] kasan: split out generic_report.c from report.c (Waiman Long) [1887067] - [mm] kasan, mm: perform untagged pointers comparison in krealloc (Waiman Long) [1887067] - [mm] kasan, arm64: enable top byte ignore for the kernel (Waiman Long) [1887067] - [mm] kasan, arm64: fix up fault handling logic (Waiman Long) [1887067] - [mm] kasan: preassign tags to objects with ctors or SLAB_TYPESAFE_BY_RCU (Waiman Long) [1887067] - [arm64] kasan, arm64: untag address in _virt_addr_is_linear (Waiman Long) [1887067] - [arm64] kasan: add tag related helper functions (Waiman Long) [1887067] - [mm] kasan: initialize shadow to 0xff for tag-based mode (Waiman Long) [1887067] - [mm] kasan: rename kasan_zero_page to kasan_early_shadow_page (Waiman Long) [1887067] - [arm64] kasan, arm64: adjust shadow size for tag-based mode (Waiman Long) [1887067] - [mm] kasan: add CONFIG_KASAN_GENERIC and CONFIG_KASAN_SW_TAGS (Waiman Long) [1887067] - [mm] kasan: rename source files to reflect the new naming scheme (Waiman Long) [1887067] - [mm] kasan: move common generic and tag-based code to common.c (Waiman Long) [1887067] - [mm] kasan, slub: handle pointer tags in early_kmem_cache_node_alloc (Waiman Long) [1887067] - [mm] kasan, mm: change hooks signatures (Waiman Long) [1887067] - [arm64] arm64: kasan: Increase stack size for KASAN_EXTRA (Waiman Long) [1887067] - [s390] s390/cio: add cond_resched() in the slow_eval_known_fn() loop (Claudio Imbrenda) [1885961] - [s390] scsi: zfcp: fix missing erp_lock in port recovery trigger for point-to-point (Claudio Imbrenda) [1885876] - [tools] selftests/vm/gup_benchmark.c: match gup struct to kernel (Rafael Aquini) [1873952] - [uapi] redhat: Fix the number of KVM_CAP_S390_DIAG318 (Thomas Huth) [1659413] - [s390] setup: diag 318: refactor struct (Thomas Huth) [1659413] - [s390] kvm: diagnose 0x318 sync and reset (Thomas Huth) [1659413] - [mm] swap: reduce lock contention on swap cache from swap slots allocation (Nico Pache) [1839049] - [mm] mm/swapfile.c: use prandom_u32_max() (Nico Pache) [1839049] - [mm] swap: try to scan more free slots even when fragmented (Nico Pache) [1839049] - [mm] mm/swapfile.c: move inode_lock out of claim_swapfile (Nico Pache) [1839049] - [mm] vfs: don't allow writes to swap files (Nico Pache) [1839049] - [mm] mm: set S_SWAPFILE on blockdev swap devices (Nico Pache) [1839049] - [edac] EDAC/ie31200: Add Intel Coffee Lake CPU support (Aristeu Rozanski) [1847567]- [netdrv] macsec: avoid use-after-free in macsec_handle_frame() (Balazs Nemeth) [1890122] - [include] netlink: check for null extack in cookie helpers (Ivan Vecera) [1878274] - [net] ethtool: Don't omit the netlink reply if no features were changed (Ivan Vecera) [1878274] - [net] ethtool: Account for hw_features in netlink interface (Ivan Vecera) [1878274] - [net] ethtool: Fix preserving of wanted feature bits in netlink interface (Ivan Vecera) [1878274] - [net] ethtool: ethnl_set_linkmodes: remove redundant null check (Ivan Vecera) [1878274] - [net] ethtool: fix genlmsg_put() failure handling in ethnl_default_dumpit() (Ivan Vecera) [1878274] - [net] ethtool: add missing string for NETIF_F_GSO_TUNNEL_REMCSUM (Ivan Vecera) [1878274] - [net] ethtool: Fix check in ethtool_rx_flow_rule_create (Ivan Vecera) [1878274] - [net] ethtool: linkinfo: remove an unnecessary NULL check (Ivan Vecera) [1878274] - [net] ethtool: propagate get_coalesce return value (Ivan Vecera) [1878274] - [net] ethtool: don't call set_channels in drivers if config didn't change (Ivan Vecera) [1878274] - [net] ethtool: check if there is at least one channel for TX/RX in the core (Ivan Vecera) [1878274] - [net] drivers: Remove inclusion of vermagic header (Ivan Vecera) [1878274] - [net] ethtool: count header size in reply size estimate (Ivan Vecera) [1878274] - [net] ethtool: provide timestamping information with TSINFO_GET request (Ivan Vecera) [1878274] - [net] ethtool: add timestamping related string sets (Ivan Vecera) [1878274] - [net] ethtool: add EEE_NTF notification (Ivan Vecera) [1878274] - [net] ethtool: set EEE settings with EEE_SET request (Ivan Vecera) [1878274] - [net] ethtool: provide EEE settings with EEE_GET request (Ivan Vecera) [1878274] - [net] ethtool: add PAUSE_NTF notification (Ivan Vecera) [1878274] - [net] ethtool: set pause parameters with PAUSE_SET request (Ivan Vecera) [1878274] - [net] ethtool: provide pause parameters with PAUSE_GET request (Ivan Vecera) [1878274] - [net] ethtool: add COALESCE_NTF notification (Ivan Vecera) [1878274] - [net] ethtool: set coalescing parameters with COALESCE_SET request (Ivan Vecera) [1878274] - [net] ethtool: provide coalescing parameters with COALESCE_GET request (Ivan Vecera) [1878274] - [net] ethtool: fix reference leak in ethnl_set_privflags() (Ivan Vecera) [1878274] - [net] ethtool: fix incorrect tx-checksumming settings reporting (Ivan Vecera) [1878274] - [include] ethtool.h: Replace zero-length array with flexible-array member (Ivan Vecera) [1878274] - [net] ethtool: fix reference leak in some *_SET handlers (Ivan Vecera) [1878274] - [net] ethtool: reject unrecognized request flags (Ivan Vecera) [1878274] - [include] netlink: add nl_set_extack_cookie_u32() (Ivan Vecera) [1878274] - [net] netlink: allow extack cookie also for error messages (Ivan Vecera) [1878274] - [net] ethtool: fix spelling mistake "exceeeds" -> "exceeds" (Ivan Vecera) [1878274] - [net] ethtool: add CHANNELS_NTF notification (Ivan Vecera) [1878274] - [net] ethtool: set device channel counts with CHANNELS_SET request (Ivan Vecera) [1878274] - [net] ethtool: provide channel counts with CHANNELS_GET request (Ivan Vecera) [1878274] - [net] ethtool: add RINGS_NTF notification (Ivan Vecera) [1878274] - [net] ethtool: set device ring sizes with RINGS_SET request (Ivan Vecera) [1878274] - [net] ethtool: provide ring sizes with RINGS_GET request (Ivan Vecera) [1878274] - [net] ethtool: add PRIVFLAGS_NTF notification (Ivan Vecera) [1878274] - [net] ethtool: set device private flags with PRIVFLAGS_SET request (Ivan Vecera) [1878274] - [net] ethtool: provide private flags with PRIVFLAGS_GET request (Ivan Vecera) [1878274] - [net] ethtool: add FEATURES_NTF notification (Ivan Vecera) [1878274] - [net] ethtool: set netdev features with FEATURES_SET request (Ivan Vecera) [1878274] - [net] ethtool: add ethnl_parse_bitset() helper (Ivan Vecera) [1878274] - [net] ethtool: provide netdev features with FEATURES_GET request (Ivan Vecera) [1878274] - [net] ethtool: update mapping of features to legacy ioctl requests (Ivan Vecera) [1878274] - [net] ethtool: rename ethnl_parse_header() to ethnl_parse_header_dev_get() (Ivan Vecera) [1878274] - [include] hns: reject unsupported coalescing params (Ivan Vecera) [1878274] - [include] net: liquidio: reject unsupported coalescing params (Ivan Vecera) [1878274] - [net] ethtool: Factored out similar ethtool link settings for virtual devices to core (Ivan Vecera) [1878274] - [net] ethtool: limit bitset size (Ivan Vecera) [1878274] - [net] ethtool: fix application of verbose no_mask bitset (Ivan Vecera) [1878274] - [net] ethtool: Add support for low latency RS FEC (Ivan Vecera) [1878274] - [net] ethtool: add WOL_NTF notification (Ivan Vecera) [1878274] - [net] ethtool: set wake-on-lan settings with WOL_SET request (Ivan Vecera) [1878274] - [net] ethtool: provide WoL settings with WOL_GET request (Ivan Vecera) [1878274] - [net] ethtool: add DEBUG_NTF notification (Ivan Vecera) [1878274] - [net] ethtool: set message mask with DEBUG_SET request (Ivan Vecera) [1878274] - [net] ethtool: provide message mask with DEBUG_GET request (Ivan Vecera) [1878274] - [net] ethtool: fix kernel-doc descriptions (Ivan Vecera) [1878274] - [net] ethtool: potential NULL dereference in strset_prepare_data() (Ivan Vecera) [1878274] - [net] ethtool: fix ->reply_size() error handling (Ivan Vecera) [1878274] - [net] ethtool: fix a memory leak in ethnl_default_start() (Ivan Vecera) [1878274] - [net] ethtool: remove set but not used variable 'lsettings' (Ivan Vecera) [1878274] - [net] ethtool: provide link state with LINKSTATE_GET request (Ivan Vecera) [1878274] - [net] ethtool: add LINKMODES_NTF notification (Ivan Vecera) [1878274] - [net] ethtool: set link modes related data with LINKMODES_SET request (Ivan Vecera) [1878274] - [net] ethtool: provide link mode information with LINKMODES_GET request (Ivan Vecera) [1878274] - [net] ethtool: add LINKINFO_NTF notification (Ivan Vecera) [1878274] - [net] ethtool: add default notification handler (Ivan Vecera) [1878274] - [net] ethtool: set link settings with LINKINFO_SET request (Ivan Vecera) [1878274] - [net] ethtool: provide link settings with LINKINFO_GET request (Ivan Vecera) [1878274] - [net] ethtool: provide string sets with STRSET_GET request (Ivan Vecera) [1878274] - [net] ethtool: default handlers for GET requests (Ivan Vecera) [1878274] - [net] ethtool: support for netlink notifications (Ivan Vecera) [1878274] - [net] ethtool: netlink bitset handling (Ivan Vecera) [1878274] - [net] ethtool: helper functions for netlink interface (Ivan Vecera) [1878274] - [net] ethtool: introduce ethtool netlink interface (Ivan Vecera) [1878274] - [net] ethtool: provide link mode names as a string set (Ivan Vecera) [1878274] - [net] ethtool: move string arrays into common file (Ivan Vecera) [1878274] - [net] ethtool: move RHEL specific stuff to separate header file (Ivan Vecera) [1878274] - [net] ethtool: move to its own directory (Ivan Vecera) [1878274] - [net] rtnetlink: provide permanent hardware address in RTM_NEWLINK (Ivan Vecera) [1878274] - [net] Zeroing the structure ethtool_wolinfo in ethtool_get_wol() (Ivan Vecera) [1878274] - [net] ethtool: Allow parsing ETHER_FLOW types when using flow_rule (Ivan Vecera) [1878274] - [net] ethtool: Allow matching on vlan DEI bit (Ivan Vecera) [1878274] - [net] treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 152 (Ivan Vecera) [1878274] - [include] net: ethtool: Document get_rxfh_context and set_rxfh_context ethtool ops (Ivan Vecera) [1878274] - [include] ethtool: avoid signed-unsigned comparison in ethtool_validate_speed() (Ivan Vecera) [1878274] - [net] ethtool: not call vzalloc for zero sized memory request (Ivan Vecera) [1878274] - [net] ethtool: reduce stack usage with clang (Ivan Vecera) [1878274] - [net] ethtool: Use explicit designated initializers for .cmd (Ivan Vecera) [1878274] - [net] ethtool: remove unnecessary check in ethtool_get_regs() (Ivan Vecera) [1878274] - [include] uapi/ethtool: fix spelling errors (Ivan Vecera) [1878274] - [net] ethtool: fix a missing-check bug (Ivan Vecera) [1878274] - [include] ethtool: Remove trailing semicolon for static inline (Ivan Vecera) [1878274] - [net] ipv6: some fixes for ipv6_dev_find() (Xin Long) [1862458] - [net] tipc: not enable tipc when ipv6 works as a module (Xin Long) [1862458] - [net] tipc: set ub->ifindex for local ipv6 address (Xin Long) [1862458] - [net] ipv6: add ipv6_dev_find() (Xin Long) [1862458] - [powerpc] powerpc/pseries: explicitly reschedule during drmem_lmb list traversal (Steve Best) [1892377] - [scsi] scsi: ibmvscsi: Fix potential race after loss of transport (Steve Best) [1892316] - [mm] mm: fix a race during THP splitting (Rafael Aquini) [1865813 1739593] - [mm] mm, memcg: do not high throttle allocators based on wraparound (Waiman Long) [1873759] - [mm] mm, memcg: throttle allocators based on ancestral memory.high (Waiman Long) [1873759] - [mm] mm, memcg: fix corruption on 64-bit divisor in memory.high throttling (Waiman Long) [1873759] - [mm] mm, memcg: throttle allocators when failing reclaim over memory.high (Waiman Long) [1873759] - [mm] mm, oom: dump stack of victim when reaping failed (Waiman Long) [1873759] - [mm] mm/oom: fix pgtables units mismatch in Killed process message (Waiman Long) [1873759] - [mm] mm, oom: consider present pages for the node size (Waiman Long) [1873759] - [mm] mm/oom_kill.c: fix oom_cpuset_eligible() comment (Waiman Long) [1873759] - [mm] mm/oom: add oom_score_adj and pgtables to Killed process message (Waiman Long) [1873759] - [mm] mm/oom_kill.c: remove redundant OOM score normalization in select_bad_process() (Waiman Long) [1873759] - [fs] oom: decouple mems_allowed from oom_unkillable_task (Waiman Long) [1873759] - [mm] mm, oom: remove redundant task_in_mem_cgroup() check (Waiman Long) [1873759] - [mm] mm, oom: refactor dump_tasks for memcg OOMs (Waiman Long) [1873759] - [mm] mm, oom: describe task memory unit, larger PID pad (Waiman Long) [1873759] - [mm] mm, oom: remove oom_lock from oom_reaper (Waiman Long) [1873759] - [mm] mm/vmscan: remove unused RECLAIM_OFF/RECLAIM_ZONE (Waiman Long) [1873759] - [mm] mm/vmscan: remove prefetch_prev_lru_page (Waiman Long) [1873759] - [mm] mm/vmscan.c: remove unused return value of shrink_node (Waiman Long) [1873759] - [mm] mm/vmscan.c: clean code by removing unnecessary assignment (Waiman Long) [1873759] - [mm] mm: vmscan: protect shrinker idr replace with CONFIG_MEMCG (Waiman Long) [1873759] - [mm] mm/vmscan.c: fix typo in comment (Waiman Long) [1873759] - [mm] mm: vmscan: enforce inactive:active ratio at the reclaim root (Waiman Long) [1873759] - [mm] mm: vmscan: detect file thrashing at the reclaim root (Waiman Long) [1873759] - [mm] mm: vmscan: move file exhaustion detection to the node level (Waiman Long) [1873759] - [include] mm: vmscan: harmonize writeback congestion tracking for nodes & memcgs (Waiman Long) [1873759] - [mm] mm: vmscan: split shrink_node() into node part and memcgs part (Waiman Long) [1873759] - [mm] mm: vmscan: turn shrink_node_memcg() into shrink_lruvec() (Waiman Long) [1873759] - [mm] mm: vmscan: replace shrink_node() loop with a retry jump (Waiman Long) [1873759] - [mm] mm: vmscan: naming fixes: global_reclaim() and sane_reclaim() (Waiman Long) [1873759] - [mm] mm: vmscan: move inactive_list_is_low() swap check to the caller (Waiman Long) [1873759] - [mm] mm: vmscan: simplify lruvec_lru_size() (Waiman Long) [1873759] - [mm] mm/vmscan.c: remove unused scan_control parameter from pageout() (Waiman Long) [1873759] - [mm] mm/vmscan: remove unused lru_pages argument (Waiman Long) [1873759] - [mm] mm: do not allow MADV_PAGEOUT for CoW pages (Waiman Long) [1873759] - [mm] mm: fix trying to reclaim unevictable lru page when calling madvise_pageout (Waiman Long) [1873759] - [mm] mm: factor out common parts between MADV_COLD and MADV_PAGEOUT (Waiman Long) [1873759] - [mm] mm: introduce MADV_PAGEOUT (Waiman Long) [1873759] - [mm] mm: change PAGEREF_RECLAIM_CLEAN with PAGE_REFRECLAIM (Waiman Long) [1873759] - [mm] mm: introduce MADV_COLD (Waiman Long) [1873759] - [mm] mm: thp: don't need care deferred split queue in memcg charge move path (Waiman Long) [1873759] - [mm] mm: thp: make deferred split shrinker memcg aware (Waiman Long) [1873759] - [mm] mm: shrinker: make shrinker not depend on memcg kmem (Waiman Long) [1873759] - [mm] mm: move mem_cgroup_uncharge out of __page_cache_release() (Waiman Long) [1873759] - [mm] mm: thp: extract split_queue_* into a struct (Waiman Long) [1873759] - [mm] mm/page_alloc.c: move ifdefery out of free_area_init_core (Waiman Long) [1873759] - [mm] mm, memcg: do not set reclaim_state on soft limit reclaim (Waiman Long) [1873759] - [mm] mm, vmscan: do not special-case slab reclaim when watermarks are boosted (Waiman Long) [1873759] - [mm] mm/vmscan.c: add checks for incorrect handling of current->reclaim_state (Waiman Long) [1873759] - [mm] mm/vmscan.c: calculate reclaimed slab caches in all reclaim paths (Waiman Long) [1873759] - [mm] mm/vmscan.c: add a new member reclaim_state in struct shrink_control (Waiman Long) [1873759] - [mm] mm: vmscan: remove double slab pressure by inc'ing sc->nr_scanned (Waiman Long) [1873759] - [mm] mm: limit boost_watermark on small zones (Waiman Long) [1873759] - [mm] mm: do not boost watermarks to avoid fragmentation for the DISCONTIG memory model (Waiman Long) [1873759] - [mm] mm, page_alloc: fix a division by zero error when boosting watermarks v2 (Waiman Long) [1873759] - [mm] mm, page_alloc: do not wake kswapd with zone lock held (Waiman Long) [1873759] - [mm] mm/page_alloc.c: drop uneeded __meminit and __meminitdata (Waiman Long) [1873759] - [mm] mm/page_alloc.c: fix never set ALLOC_NOFRAGMENT flag (Waiman Long) [1873759] - [mm] mm/page_alloc.c: avoid potential NULL pointer dereference (Waiman Long) [1873759] - [mm] mm/vmscan.c: don't disable irq again when count pgrefill for memcg (Waiman Long) [1873759] - [mm] mm/vmscan: drop may_writepage and classzone_idx from direct reclaim begin template (Waiman Long) [1873759] - [mm] mm/vmscan: add tracepoints for node reclaim (Waiman Long) [1873759] - [mm] mm: generalize putback scan functions (Waiman Long) [1873759] - [mm] mm: remove pages_to_free argument of move_active_pages_to_lru() (Waiman Long) [1873759] - [mm] mm/workingset: remove unused @mapping argument in workingset_eviction() (Waiman Long) [1873759] - [mm] Revert "mm: slowly shrink slabs with a relatively small number of objects" (Waiman Long) [1873759] - [mm] mm: reclaim small amounts of memory when an external fragmentation event occurs (Waiman Long) [1873759] - [mm] mm: use alloc_flags to record if kswapd can wake (Waiman Long) [1873759] - [mm] mm: move zone watermark accesses behind an accessor (Waiman Long) [1873759] - [mm] mm, page_alloc: spread allocations across zones before introducing fragmentation (Waiman Long) [1873759] - [mm] mm: Convert delete_from_swap_cache to XArray (Waiman Long) [1873759] - [fs] mm: zero-seek shrinkers (Waiman Long) [1873759] - [mm] mm/vmscan.c: fix int overflow in callers of do_shrink_slab() (Waiman Long) [1873759] - [mm] mm: slowly shrink slabs with a relatively small number of objects (Waiman Long) [1873759] - [mm] mm: fix page_freeze_refs and page_unfreeze_refs in comments (Waiman Long) [1873759] - [mm] mm: check shrinker is memcg-aware in register_shrinker_prepared() (Waiman Long) [1873759] - [mm] mm: use special value SHRINKER_REGISTERING instead of list_empty() check (Waiman Long) [1873759] - [mm] mm/vmscan.c: move check for SHRINKER_NUMA_AWARE to do_shrink_slab() (Waiman Long) [1873759] - [mm] mm/vmscan.c: condense scan_control (Waiman Long) [1873759] - [arch] asm-generic/tlb: add missing CONFIG symbol (Waiman Long) [1873759] - [include] asm-gemeric/tlb: remove stray function declarations (Waiman Long) [1873759] - [x86] x86/ldt: Remove unused variable in map_ldt_struct() (Waiman Long) [1873759] - [x86] x86/ldt: Unmap PTEs for the slot before freeing LDT pages (Waiman Long) [1873759] - [x86] x86/mm/tlb: Add freed_tables argument to flush_tlb_mm_range (Waiman Long) [1873759] - [mm] asm-generic/tlb: Remove tlb_table_flush() (Waiman Long) [1873759] - [mm] asm-generic/tlb: Remove tlb_flush_mmu_free() (Waiman Long) [1873759] - [mm] asm-generic/tlb: Remove CONFIG_HAVE_GENERIC_MMU_GATHER (Waiman Long) [1873759] - [mm] asm-generic/tlb: Remove arch_tlb*_mmu() (Waiman Long) [1873759] - [s390] s390/tlb: Convert to generic mmu_gather (Waiman Long) [1873759] - [mm] asm-generic/tlb: Introduce CONFIG_HAVE_MMU_GATHER_NO_GATHER=y (Waiman Long) [1873759] - [include] asm-generic/tlb, ia64: Conditionally provide tlb_migrate_finish() (Waiman Long) [1873759] - [include] asm-generic/tlb: Provide generic tlb_flush() based on flush_tlb_mm() (Waiman Long) [1873759] - [arm64] asm-generic/tlb, arch: Provide generic tlb_flush() based on flush_tlb_range() (Waiman Long) [1873759] - [mm] asm-generic/tlb, arch: Provide CONFIG_HAVE_MMU_GATHER_PAGE_SIZE (Waiman Long) [1873759] - [include] asm-generic/tlb: Provide a comment (Waiman Long) [1873759] - [mm] mm/memory: Move mmu_gather and TLB invalidation code into its own file (Waiman Long) [1873759] - [x86] x86/mm: Page size aware flush_tlb_mm_range() (Waiman Long) [1873759] - [x86] x86/ldt: Split out sanity check in map_ldt_struct() (Waiman Long) [1873759] - [mm] asm-generic/tlb: Track which levels of the page tables have been cleared (Waiman Long) [1873759] - [include] asm-generic/tlb: Track freeing of page-table directories in struct mmu_gather (Waiman Long) [1873759] - [mm] mm/cow: don't bother write protecting already write-protected pages (Waiman Long) [1873759] - [powerpc] mm/mmu_gather: invalidate TLB correctly on batch allocation failure and flush (Diego Domingos) [1805031] - [powerpc] powerpc/mmu_gather: enable RCU_TABLE_FREE even for !SMP case (Diego Domingos) [1805031] - [fs] cifs: smb1: Try failing back to SetFileInfo if SetPathInfo fails (Leif Sahlberg) [1857038]- [scsi] scsi: libfc: Fix passing zero to 'PTR_ERR' warning (Chris Leech) [1849542] - [scsi] scsi: libfc: Fix for double free() (Chris Leech) [1849542] - [scsi] scsi: libfc: Free skb in fc_disc_gpn_id_resp() for valid cases (Chris Leech) [1849542] - [scsi] scsi: fcoe: Memory leak fix in fcoe_sysfs_fcf_del() (Chris Leech) [1849542] - [scsi] scsi: fcoe: Use eth_zero_addr() to clear mac address (Chris Leech) [1849542] - [scsi] scsi: libfc: Provide missing and repair existing function documentation (Chris Leech) [1849542] - [scsi] scsi: libfc: Fix a couple of misdocumented function parameters (Chris Leech) [1849542] - [scsi] scsi: libfc: Repair function parameter documentation (Chris Leech) [1849542] - [scsi] scsi: fcoe: Correct some kernel-doc issues (Chris Leech) [1849542] - [scsi] scsi: fcoe: Fix a myriad of documentation issues (Chris Leech) [1849542] - [scsi] scsi: fcoe: Fix various kernel-doc infringements (Chris Leech) [1849542] - [scsi] scsi: libfc: trivial: Fix spelling mistake of 'discovery' (Chris Leech) [1849542] - [scsi] scsi: libfc: Supply some missing kerneldoc struct/function attributes/params (Chris Leech) [1849542] - [scsi] scsi: libfc: fc_disc: Fix-up some incorrectly referenced function parameters (Chris Leech) [1849542] - [scsi] scsi: libfc: Skip additional kref updating work event (Chris Leech) [1849542] - [scsi] scsi: libfc: Handling of extra kref (Chris Leech) [1849542] - [scsi] scsi: fcoe: remove unneeded semicolon in fcoe.c (Chris Leech) [1849542] - [scsi] scsi: libfc: rport state move to PLOGI if all PRLI retry exhausted (Chris Leech) [1849542] - [scsi] scsi: libfc: If PRLI rejected, move rport to PLOGI state (Chris Leech) [1849542] - [scsi] scsi: libfc: free response frame from GPN_ID (Chris Leech) [1849542] - [scsi] scsi: fcoe: fix null-ptr-deref Read in fc_release_transport (Chris Leech) [1849542] - [scsi] scsi: fcoe: remove redundant call to skb_transport_header (Chris Leech) [1849542] - [scsi] scsi: fcoe: pass in fcoe_rport structure instead of fc_rport_priv (Chris Leech) [1849542] - [scsi] scsi: fcoe: Embed fc_rport_priv in fcoe_rport structure (Chris Leech) [1849542] - [scsi] scsi: libfc: Whitespace cleanup in libfc.h (Chris Leech) [1849542] - [scsi] scsi: fcoe: fix a typo (Chris Leech) [1849542] - [scsi] scsi: libfc: fix null pointer dereference on a null lport (Chris Leech) [1849542] - [scsi] scsi: libfcoe: switch to SPDX tags (Chris Leech) [1849542] - [scsi] scsi: libfc: switch to SPDX tags (Chris Leech) [1849542] - [scsi] scsi: fcoe: make use of fip_mode enum complete (Chris Leech) [1849542] - [scsi] scsi: fcoe: remove unneeded fcoe_ctlr_destroy_store export (Chris Leech) [1849542] - [scsi] scsi: fcoe: convert to use BUS_ATTR_WO (Chris Leech) [1849542] - [scsi] scsi: libfc: free skb when receiving invalid flogi resp (Chris Leech) [1849542] - [scsi] scsi: fcoe: remove set but not used variable 'port' (Chris Leech) [1849542] - [scsi] scsi: libfc: fc_rport: Mark expected switch fall-through (Chris Leech) [1849542] - [scsi] scsi: libfc: Remove set but not used variable 'disc' (Chris Leech) [1849542] - [scsi] scsi: libfc: remove set but not used variable 'rpriv' (Chris Leech) [1849542] - [scsi] scsi: libfc: remove unnecessary condition check (Chris Leech) [1849542] - [scsi] scsi: fcoe: hold disc_mutex when traversing rport lists (Chris Leech) [1849542] - [net] netfilter: nftables: allow re-computing sctp CRC-32C in 'payload' statements (Davide Caratti) [1741052] - [fs] nfsd4: fix NULL dereference in nfsd/clients display code (Scott Mayhew) [1872311] - [fs] nfsd: Fix old-style function definition (Scott Mayhew) [1872311] - [fs] nfsd: clients don't need to break their own delegations (Scott Mayhew) [1872311] - [kernel] kthread: save thread function (Scott Mayhew) [1872311] - [fs] locks: Add trace_leases_conflict (Scott Mayhew) [1872311] - [fs] SUNRPC reverting d03727b248d0 ("NFSv4 fix CLOSE not waiting for direct IO compeletion") (Scott Mayhew) [1872311] - [fs] NFS: Fix interrupted slots by sending a solo SEQUENCE operation (Scott Mayhew) [1872311] - [net] SUNRPC: Add missing definition of ARCH_IMPLEMENTS_FLUSH_DCACHE_PAGE (Scott Mayhew) [1872311] - [fs] NFSv4 fix CLOSE not waiting for direct IO compeletion (Scott Mayhew) [1872311] - [fs] nfs: Fix memory leak of export_path (Scott Mayhew) [1872311] - [net] sunrpc: fixed rollback in rpc_gssd_dummy_populate() (Scott Mayhew) [1872311] - [net] xprtrdma: Clean up disconnect (Scott Mayhew) [1872311] - [fs] nfsd: apply umask on fs without ACL support (Scott Mayhew) [1872311] - [fs] NFS: Fix direct WRITE throughput regression (Scott Mayhew) [1872311] - [trace] SUNRPC: rpc_xprt lifetime events should record xprt->state (Scott Mayhew) [1872311] - [fs] nfs: set invalid blocks after NFSv4 writes (Scott Mayhew) [1872311] - [fs] NFS: remove redundant initialization of variable result (Scott Mayhew) [1872311] - [fs] NFS: Add a tracepoint in nfs_set_pgio_error() (Scott Mayhew) [1872311] - [fs] NFS: Trace short NFS READs (Scott Mayhew) [1872311] - [fs] NFS: nfs_xdr_status should record the procedure name (Scott Mayhew) [1872311] - [net] SUNRPC: Set SOFTCONN when destroying GSS contexts (Scott Mayhew) [1872311] - [net] SUNRPC: rpc_call_null_helper() should set RPC_TASK_SOFT (Scott Mayhew) [1872311] - [net] SUNRPC: rpc_call_null_helper() already sets RPC_TASK_NULLCREDS (Scott Mayhew) [1872311] - [net] SUNRPC: trace RPC client lifetime events (Scott Mayhew) [1872311] - [net] SUNRPC: Trace transport lifetime events (Scott Mayhew) [1872311] - [net] SUNRPC: Split the xdr_buf event class (Scott Mayhew) [1872311] - [net] SUNRPC: Add tracepoint to rpc_call_rpcerror() (Scott Mayhew) [1872311] - [trace] SUNRPC: Update the RPC_SHOW_SOCKET() macro (Scott Mayhew) [1872311] - [trace] SUNRPC: Update the rpc_show_task_flags() macro (Scott Mayhew) [1872311] - [net] SUNRPC: Trace GSS context lifetimes (Scott Mayhew) [1872311] - [net] SUNRPC: receive buffer size estimation values almost never change (Scott Mayhew) [1872311] - [net] sunrpc: use kmemdup_nul() in gssp_stringify() (Scott Mayhew) [1872311] - [fs] nfsd: safer handling of corrupted c_type (Scott Mayhew) [1872311] - [fs] mm/writeback: discard NR_UNSTABLE_NFS, use NR_WRITEBACK instead (Scott Mayhew) [1872311] - [mm] mm/writeback: replace PF_LESS_THROTTLE with PF_LOCAL_THROTTLE (Scott Mayhew) [1872311] - [net] SUNRPC: Remove unreachable error condition in rpcb_getport_async() (Scott Mayhew) [1872311] - [fs] nfsd: Fix svc_xprt refcnt leak when setup callback client failed (Scott Mayhew) [1872311] - [net] sunrpc: check that domain table is empty at module unload (Scott Mayhew) [1872311] - [fs] NFS: remove duplicate headers (Scott Mayhew) [1872311] - [fs] NFSv4.1 fix rpc_call_done assignment for BIND_CONN_TO_SESSION (Scott Mayhew) [1872311] - [fs] NFS: Use the correct style for SPDX License Identifier (Scott Mayhew) [1872311] - [net] net: sunrpc: Fix off-by-one issues in 'rpc_ntop6' (Scott Mayhew) [1872311] - [fs] NFS: move dprintk after nfs_alloc_fattr in nfs3_proc_lookup (Scott Mayhew) [1872311] - [fs] NFSD: Fix improperly-formatted Doxygen comments (Scott Mayhew) [1872311] - [fs] NFSD: Squash an annoying compiler warning (Scott Mayhew) [1872311] - [net] SUNRPC: Clean up request deferral tracepoints (Scott Mayhew) [1872311] - [fs] NFSD: Add tracepoints for monitoring NFSD callbacks (Scott Mayhew) [1872311] - [fs] NFSD: Add tracepoints to the NFSD state management code (Scott Mayhew) [1872311] - [fs] NFSD: Add tracepoints to NFSD's duplicate reply cache (Scott Mayhew) [1872311] - [trace] SUNRPC: svc_show_status() macro should have enum definitions (Scott Mayhew) [1872311] - [net] SUNRPC: Restructure svc_udp_recvfrom() (Scott Mayhew) [1872311] - [net] SUNRPC: Refactor svc_recvfrom() (Scott Mayhew) [1872311] - [net] SUNRPC: Clean up svc_release_skb() functions (Scott Mayhew) [1872311] - [net] SUNRPC: Refactor recvfrom path dealing with incomplete TCP receives (Scott Mayhew) [1872311] - [net] SUNRPC: Replace dprintk() call sites in TCP receive path (Scott Mayhew) [1872311] - [net] SUNRPC: Restructure svc_tcp_recv_record() (Scott Mayhew) [1872311] - [net] SUNRPC: Rename svc_sock::sk_reclen (Scott Mayhew) [1872311] - [net] SUNRPC: Trace server-side rpcbind registration events (Scott Mayhew) [1872311] - [net] SUNRPC: Replace dprintk call sites in TCP state change callouts (Scott Mayhew) [1872311] - [net] SUNRPC: Add more svcsock tracepoints (Scott Mayhew) [1872311] - [net] SUNRPC: Remove "#include " (Scott Mayhew) [1872311] - [net] SUNRPC: Trace a few more generic svc_xprt events (Scott Mayhew) [1872311] - [net] SUNRPC: Tracepoint to record errors in svc_xpo_create() (Scott Mayhew) [1872311] - [trace] SUNRPC: Remove kernel memory address from svc_xprt tracepoints (Scott Mayhew) [1872311] - [net] svcrdma: Add tracepoints to report ->xpo_accept failures (Scott Mayhew) [1872311] - [net] svcrdma: Displayed remote IP address should match stored address (Scott Mayhew) [1872311] - [include] svcrdma: Remove the SVCRDMA_DEBUG macro (Scott Mayhew) [1872311] - [net] svcrdma: Rename tracepoints that record header decoding errors (Scott Mayhew) [1872311] - [net] svcrdma: Remove backchannel dprintk call sites (Scott Mayhew) [1872311] - [net] SUNRPC: Move xpt_mutex into socket xpo_sendto methods (Scott Mayhew) [1872311] - [net] sunrpc: add missing newline when printing parameter 'pool_mode' by sysfs (Scott Mayhew) [1872311] - [net] sunrpc: Remove unused function ip_map_update (Scott Mayhew) [1872311] - [fs] nfsd: handle repeated BIND_CONN_TO_SESSION (Scott Mayhew) [1872311] - [net] ip_tunnel_core: Fix build for archs without _HAVE_ARCH_IPV6_CSUM (Aaron Conole) [1849736] - [tools] selftests: pmtu.sh: Add tests for UDP tunnels handled by Open vSwitch (Aaron Conole) [1849736] - [tools] selftests: pmtu.sh: Add tests for bridged UDP tunnels (Aaron Conole) [1849736] - [net] geneve: Support for PMTU discovery on directly bridged links (Aaron Conole) [1849736] - [net] vxlan: Support for PMTU discovery on directly bridged links (Aaron Conole) [1849736] - [net] tunnels: PMTU discovery support for directly bridged IP packets (Aaron Conole) [1849736] - [net] ipv4: route: Ignore output interface in FIB lookup for PMTU route (Aaron Conole) [1849736] - [infiniband] RDMA/core: Free DIM memory in error unwind (Kamal Heib) [1857602] - [infiniband] RDMA/core: Stop DIM before destroying CQ (Kamal Heib) [1857602] - [infiniband] RDMA/cm: Add min length checks to user structure copies (Kamal Heib) [1857602] - [infiniband] RDMA/cm: Protect access to remote_sidr_table (Kamal Heib) [1857602] - [infiniband] RDMA/core: Fix race in rdma_alloc_commit_uobject() (Kamal Heib) [1857602] - [net] xprtrdma: fix incorrect header size calculations (Kamal Heib) [1857602] - [net] xprtrdma: Fix handling of connect errors (Kamal Heib) [1857602] - [net] xprtrdma: Fix return code from rpcrdma_xprt_connect() (Kamal Heib) [1857602] - [net] xprtrdma: Fix recursion into rpcrdma_xprt_disconnect() (Kamal Heib) [1857602] - [net] xprtrdma: Fix double-free in rpcrdma_ep_create() (Kamal Heib) [1857602] - [infiniband] RDMA/siw: Fix reporting vendor_part_id (Kamal Heib) [1857602] - [infiniband] IB/sa: Resolv use-after-free in ib_nl_make_request() (Kamal Heib) [1857602] - [infiniband] IB/hfi1: Add explicit cast OPA_MTU_8192 to 'enum ib_mtu' (Kamal Heib) [1857602] - [infiniband] IB/hfi1: Add atomic triggered sleep/wakeup (Kamal Heib) [1857602] - [infiniband] IB/hfi1: Correct -EBUSY handling in tx code (Kamal Heib) [1857602] - [infiniband] IB/hfi1: Restore kfree in dummy_netdev cleanup (Kamal Heib) [1857602] - [infiniband] IB/mad: Fix use after free when destroying MAD agent (Kamal Heib) [1857602] - [infiniband] RDMA/counter: Query a counter before release (Kamal Heib) [1857602] - [net] xprtrdma: Fix handling of RDMA_ERROR replies (Kamal Heib) [1857602] - [net] xprtrdma: Clean up synopsis of rpcrdma_flush_disconnect() (Kamal Heib) [1857602] - [net] xprtrdma: Use re_connect_status safely in rpcrdma_xprt_connect() (Kamal Heib) [1857602] - [net] xprtrdma: Prevent dereferencing r_xprt->rx_ep after it is freed (Kamal Heib) [1857602] - [infiniband] RDMA/mad: Fix possible memory leak in ib_mad_post_receive_mads() (Kamal Heib) [1857602] - [infiniband] RDMA/core: Check that type_attrs is not NULL prior access (Kamal Heib) [1857602] - [infiniband] RDMA/cma: Protect bind_list and listen_list while finding matching cm id (Kamal Heib) [1857602] - [infiniband] RDMA/efa: Set maximum pkeys device attribute (Kamal Heib) [1857602] - [infiniband] RDMA/rvt: Fix potential memory leak caused by rvt_alloc_rq (Kamal Heib) [1857602] - [infiniband] RDMA/core: Annotate CMA unlock helper routine (Kamal Heib) [1857602] - [infiniband] RDMA/siw: Fix pointer-to-int-cast warning in siw_rx_pbl() (Kamal Heib) [1857602] - [infiniband] RDMA/hfi1: Fix trivial mis-spelling of 'descriptor' (Kamal Heib) [1857602] - [net] xprtrdma: Make xprt_rdma_slot_table_entries static (Kamal Heib) [1857602] - [infiniband] RDMA/cm: Spurious WARNING triggered in cm_destroy_id() (Kamal Heib) [1857602] - [infiniband] IB/hfi1: Use free_netdev() in hfi1_netdev_free() (Kamal Heib) [1857602] - [infiniband] RDMA/core: Move and rename trace_cm_id_create() (Kamal Heib) [1857602] - [infiniband] IB/hfi1: Fix hfi1_netdev_rx_init() error handling (Kamal Heib) [1857602] - [infiniband] RDMA: Remove 'max_map_per_fmr' (Kamal Heib) [1857602] - [infiniband] RDMA: Remove 'max_fmr' (Kamal Heib) [1857602] - [net] RDMA/rds: Remove FMR support for memory registration (Kamal Heib) [1857602] - [infiniband] RDMA/core: Remove FMR device ops (Kamal Heib) [1857602] - [infiniband] RDMA/rdmavt: Remove FMR memory registration (Kamal Heib) [1857602] - [infiniband] RDMA/mthca: Remove FMR support for memory registration (Kamal Heib) [1857602] - [infiniband] RDMA/mlx4: Remove FMR support for memory registration (Kamal Heib) [1857602] - [infiniband] RDMA/i40iw: Remove FMR leftovers (Kamal Heib) [1857602] - [infiniband] RDMA/bnxt_re: Remove FMR leftovers (Kamal Heib) [1857602] - [infiniband] RDMA/mlx5: Remove FMR leftovers (Kamal Heib) [1857602] - [infiniband] RDMA/core: Remove FMR pool API (Kamal Heib) [1857602] - [infiniband] RDMA/srp: Remove support for FMR memory registration (Kamal Heib) [1857602] - [infiniband] RDMA/iser: Remove support for FMR memory registration (Kamal Heib) [1857602] - [infiniband] RDMA/core: Fix several reference count leaks (Kamal Heib) [1857602] - [infiniband] IB/hfi1: Fix spelling mistake "enought" -> "enough" (Kamal Heib) [1857602] - [rdma] RDMA/core: Use offsetofend() instead of open coding (Kamal Heib) [1857602] - [infiniband] RDMA/srpt: Increase max_send_sge (Kamal Heib) [1857602] - [infiniband] RDMA/srpt: Reduce max_recv_sge to 1 (Kamal Heib) [1857602] - [infiniband] RDMA/srpt: Make debug output more detailed (Kamal Heib) [1857602] - [infiniband] RDMA/srp: Make the channel count configurable per target (Kamal Heib) [1857602] - [infiniband] hfi1: get rid of pointless access_ok() (Kamal Heib) [1857602] - [infiniband] RDMA/cma: Provide ECE reject reason (Kamal Heib) [1857602] - [infiniband] RDMA/cma: Connect ECE to rdma_accept (Kamal Heib) [1857602] - [infiniband] RDMA/cm: Send and receive ECE parameter over the wire (Kamal Heib) [1857602] - [infiniband] RDMA/ucma: Deliver ECE parameters through UCMA events (Kamal Heib) [1857602] - [infiniband] RDMA/ucma: Extend ucma_connect to receive ECE parameters (Kamal Heib) [1857602] - [rdma] RDMA/cm: Add Enhanced Connection Establishment (ECE) bits (Kamal Heib) [1857602] - [infiniband] RDMA/core: Use sizeof_field() helper (Kamal Heib) [1857602] - [infiniband] RDMA/ipoib: Remove can_sleep parameter from iboib_mcast_alloc (Kamal Heib) [1857602] - [infiniband] IB/cma: Fix ports memory leak in cma_configfs (Kamal Heib) [1857602] - [infiniband] IB/uverbs: Introduce create/destroy QP commands over ioctl (Kamal Heib) [1857602] - [infiniband] IB/uverbs: Introduce create/destroy WQ commands over ioctl (Kamal Heib) [1857602] - [infiniband] IB/uverbs: Introduce create/destroy SRQ commands over ioctl (Kamal Heib) [1857602] - [rdma] IB/uverbs: Move QP, SRQ, WQ type and flags to UAPI (Kamal Heib) [1857602] - [infiniband] IB/uverbs: Extend CQ to get its own asynchronous event FD (Kamal Heib) [1857602] - [infiniband] IB/uverbs: Refactor related objects to use their own asynchronous event FD (Kamal Heib) [1857602] - [infiniband] RDMA/core: Allow the ioctl layer to abort a fully created uobject (Kamal Heib) [1857602] - [infiniband] IB/mlx5: Expose UAR object and its alloc/destroy commands (Kamal Heib) [1857602] - [infiniband] IB/mlx5: Fix a NULL vs IS_ERR() check (Kamal Heib) [1857602] - [infiniband] IB/mlx5: Introduce UAPIs to manage packet pacing (Kamal Heib) [1857602] - [netdrv] net/mlx5: Expose raw packet pacing APIs (Kamal Heib) [1857602] - [infiniband] IB/hfi1: Enable the transmit side of the datagram ipoib netdev (Kamal Heib) [1857602] - [infiniband] IB/ipoib: Add capability to switch between datagram and connected mode (Kamal Heib) [1857602] - [infiniband] IB/hfi1: Add packet histogram trace event (Kamal Heib) [1857602] - [infiniband] IB/{hfi1, ipoib, rdma}: Broadcast ping sent packets which exceeded mtu size (Kamal Heib) [1857602] - [infiniband] IB/hfi1: Activate the dummy netdev (Kamal Heib) [1857602] - [infiniband] IB/hfi1: Add rx functions for dummy netdev (Kamal Heib) [1857602] - [infiniband] IB/hfi1: Add interrupt handler functions for accelerated ipoib (Kamal Heib) [1857602] - [infiniband] IB/hfi1: Add functions to receive accelerated ipoib packets (Kamal Heib) [1857602] - [infiniband] IB/hfi1: Rename num_vnic_contexts as num_netdev_contexts (Kamal Heib) [1857602] - [infiniband] IB/ipoib: Increase ipoib Datagram mode MTU's upper limit (Kamal Heib) [1857602] - [infiniband] IB/hfi1: RSM rules for AIP (Kamal Heib) [1857602] - [infiniband] IB/{rdmavt, hfi1}: Implement creation of accelerated UD QPs (Kamal Heib) [1857602] - [infiniband] IB/hfi1: Remove module parameter for KDETH qpns (Kamal Heib) [1857602] - [infiniband] IB/hfi1: Add the transmit side of a datagram ipoib RDMA netdev (Kamal Heib) [1857602] - [infiniband] IB/hfi1: Add functions to transmit datagram ipoib packets (Kamal Heib) [1857602] - [infiniband] IB/hfi1: Add accelerated IP capability bit (Kamal Heib) [1857602] - [infiniband] RDMA/efa: Report host information to the device (Kamal Heib) [1857602] - [infiniband] RDMA/efa: Fix setting of wrong bit in get/set_feature commands (Kamal Heib) [1857602] - [infiniband] RDMA/siw: Replace one-element array and use struct_size() helper (Kamal Heib) [1857602] - [net] svcrdma: Fix backchannel return code (Kamal Heib) [1857602] - [net] svcrdma: trace undersized Write chunks (Kamal Heib) [1857602] - [net] svcrdma: Trace page overruns when constructing RDMA Reads (Kamal Heib) [1857602] - [net] svcrdma: Clean up handling of get_rw_ctx errors (Kamal Heib) [1857602] - [net] svcrdma: Clean up the tracing for rw_ctx_init errors (Kamal Heib) [1857602] - [infiniband] RDMA/srpt: Add a newline when printing parameter 'srpt_service_guid' by sysfs (Kamal Heib) [1857602] - [infiniband] RDMA/core: Consolidate ib_create_srq flows (Kamal Heib) [1857602] - [infiniband] RDMA/uverbs: Fix create WQ to use the given user handle (Kamal Heib) [1857602] - [infiniband] RDMA/uverbs: Cleanup wq/srq context usage from uverbs layer (Kamal Heib) [1857602] - [rdma] IB/rdmavt: Replace zero-length array with flexible-array (Kamal Heib) [1857602] - [infiniband] RDMA/cm: Increment the refcount inside cm_find_listen() (Kamal Heib) [1857602] - [infiniband] RDMA/cm: Remove needless cm_id variable (Kamal Heib) [1857602] - [infiniband] RDMA/cm: Remove the cm_free_id() wrapper function (Kamal Heib) [1857602] - [infiniband] RDMA/cm: Make find_remote_id() return a cm_id_private (Kamal Heib) [1857602] - [infiniband] RDMA/cm: Add a note explaining how the timewait is eventually freed (Kamal Heib) [1857602] - [infiniband] RDMA/cm: Pass the cm_id_private into cm_cleanup_timewait (Kamal Heib) [1857602] - [infiniband] RDMA/cm: Pull duplicated code into cm_queue_work_unlock() (Kamal Heib) [1857602] - [infiniband] RDMA/cm: Remove unused store to ret in cm_rej_handler (Kamal Heib) [1857602] - [infiniband] RDMA/cm: Remove return code from add_cm_id_to_port_list (Kamal Heib) [1857602] - [infiniband] RDMA/addr: Mark addr_resolve as might_sleep() (Kamal Heib) [1857602] - [infiniband] RDMA/ucma: Return stable IB device index as identifier (Kamal Heib) [1857602] - [infiniband] RDMA/cma: Initialize the flow label of CM's route path record (Kamal Heib) [1857602] - [infiniband] RDMA/core: Consider flow label when building skb (Kamal Heib) [1857602] - [rdma] RDMA/core: Add hash functions to calculate RoCEv2 flowlabel and UDP source port (Kamal Heib) [1857602] - [infiniband] RDMA: Allow ib_client's to fail when add() is called (Kamal Heib) [1857602] - [infiniband] RDMA/mad: Remove snoop interface (Kamal Heib) [1857602] - [infiniband] RDMA/efa: Count admin commands errors (Kamal Heib) [1857602] - [infiniband] RDMA/efa: Count mmap failures (Kamal Heib) [1857602] - [infiniband] RDMA/efa: Report create CQ error counter (Kamal Heib) [1857602] - [infiniband] RDMA/core: Get xmit slave for LAG (Kamal Heib) [1857602] - [infiniband] RDMA/core: Add LAG functionality (Kamal Heib) [1857602] - [infiniband] RDMA: Group create AH arguments in struct (Kamal Heib) [1857602] - [infiniband] RDMA/rw: use DIV_ROUND_UP to calculate nr_ops (Kamal Heib) [1857602] - [infiniband] RDMA/cma: Limit the scope of rdma_is_consumer_reject function (Kamal Heib) [1857602] - [infiniband] IB: Fix some documentation warnings (Kamal Heib) [1857602] - [infiniband] RDMA: Remove a few extra calls to ib_get_client_data() (Kamal Heib) [1857602] - [infiniband] RDMA/uverbs: Make the event_queue fds return POLLERR when disassociated (Kamal Heib) [1857602] - [infiniband] RDMA/rxe: Set default vendor ID (Kamal Heib) [1857602] - [netdrv] bonding: Use fallthrough pseudo-keyword (Jarod Wilson) [1860495] - [netdrv] bonding: fix active-backup failover for current ARP slave (Jarod Wilson) [1860495] - [netdrv] bonding: fix a potential double-unregister (Jarod Wilson) [1860495] - [netdrv] net: bonding: bond_alb: Describe alb_handle_addr_collision_on_attach()'s 'bond' and 'addr' params (Jarod Wilson) [1860495] - [netdrv] net: bonding: bond_main: Document 'proto' and rename 'new_active' parameters (Jarod Wilson) [1860495] - [netdrv] net: bonding: bond_3ad: Fix a bunch of kerneldoc parameter issues (Jarod Wilson) [1860495] - [netdrv] bonding: show saner speed for broadcast mode (Jarod Wilson) [1868265 1860495] - [netdrv] bonding: check return value of register_netdevice() in bond_newlink() (Jarod Wilson) [1860495] - [netdrv] bonding: check error value of register_netdevice() immediately (Jarod Wilson) [1860495] - [netdrv] bonding: don't need RTNL for ipsec helpers (Jarod Wilson) [1860495] - [netdrv] bonding: deal with xfrm state in all modes and add more error-checking (Jarod Wilson) [1860495] - [netdrv] bonding: allow xfrm offload setup post-module-load (Jarod Wilson) [1860495] - [netdrv] bonding: Remove extraneous parentheses in bond_setup (Jarod Wilson) [1860495] - [netdrv] bonding/xfrm: use real_dev instead of slave_dev (Jarod Wilson) [1860495] - [netdrv] bonding: support hardware encryption offload to slaves (Jarod Wilson) [1860495] - [netdrv] mlx5: become aware of when running as a bonding slave (Jarod Wilson) [1860495] - [netdrv] ixgbe_ipsec: become aware of when running as a bonding slave (Jarod Wilson) [1860495] - [net] xfrm: bail early on slave pass over skb (Jarod Wilson) [1860495] - [netdrv] bonding: Fix reference count leak in bond_sysfs_slave_add (Jarod Wilson) [1860495] - [netdrv] bonding: propagate transmit status (Jarod Wilson) [1860495] - [netdrv] bonding: remove useless stats_lock_key (Jarod Wilson) [1860495] - [netdrv] bonding: Implement ndo_get_xmit_slave (Jarod Wilson) [1860495] - [netdrv] bonding: Add array of all slaves (Jarod Wilson) [1860495] - [netdrv] bonding: Add function to get the xmit slave in active-backup mode (Jarod Wilson) [1860495] - [netdrv] bonding: Add helper function to get the xmit slave in rr mode (Jarod Wilson) [1860495] - [netdrv] bonding: Add helper function to get the xmit slave based on hash (Jarod Wilson) [1860495] - [netdrv] bonding/alb: Add helper functions to get the xmit slave (Jarod Wilson) [1860495] - [netdrv] bonding: Rename slave_arr to usable_slaves (Jarod Wilson) [1860495] - [netdrv] bonding: Export skip slave logic to function (Jarod Wilson) [1860495] - [netdrv] bonding: Remove inclusion of vermagic header (Jarod Wilson) [1860495] - [netdrv] net/bond: Delete driver and module versions (Jarod Wilson) [1860495]- [mm] powerpc/book3s64/radix: Fix boot failure with large amount of guest memory (Steve Best) [1854543] - [powerpc] powerpc/book3s64/radix: Add kernel command line option to disable radix GTSE (Steve Best) [1854543] - [powerpc] powerpc/prom: Enable Radix GTSE in cpu pa-features (Steve Best) [1854543] - [powerpc] powerpc/mm/book3s64/radix: Off-load TLB invalidations to host when !GTSE (Steve Best) [1854543] - [powerpc] powerpc/pseries: H_REGISTER_PROC_TBL should ask for GTSE only if enabled (Steve Best) [1854543] - [powerpc] powerpc/mm: Enable radix GTSE only if supported (Steve Best) [1854543] - [misc] powerpc/64s/radix: introduce options to disable use of the tlbie instruction (Steve Best) [1854543] - [mm] powerpc/64s: remove unnecessary translation cache flushes at boot (Steve Best) [1854543] - [mm] powerpc/64s/pseries: radix flush translations before MMU is enabled at boot (Steve Best) [1854543] - [mm] powerpc/64s: make mmu_partition_table_set_entry TLB flush optional (Steve Best) [1854543] - [mm] powerpc/64s/radix: tidy up TLB flushing code (Steve Best) [1854543] - [mm] powerpc/64s: remove register_process_table callback (Steve Best) [1854543] - [mm] powerpc/mm: Limit resize_hpt_for_hotplug() call to hash guests only (Steve Best) [1854543] - [powerpc] powerpc/mm/radix: Create separate mappings for hot-plugged memory (Steve Best) [1854543] - [mm] powerpc/mm/radix: Remove split_kernel_mapping() (Steve Best) [1854543] - [mm] powerpc/mm/radix: Free PUD table when freeing pagetable (Steve Best) [1854543] - [mm] powerpc/mm/radix: Fix PTE/PMD fragment count for early page table mappings (Steve Best) [1854543] - [mm] powerpc/64s: Fix page table fragment refcount race vs speculative references (Steve Best) [1854543] - [powerpc] powerpc/security: Fix link stack flush instruction (Gustavo Duarte) [1862103] - [powerpc] powerpc/pseries: add new branch prediction security bits for link stack (Gustavo Duarte) [1862103] - [powerpc] powerpc/security: Allow for processors that flush the link stack using the special bcctr (Gustavo Duarte) [1862103] - [powerpc] powerpc/64s: Move branch cache flushing bcctr variant to ppc-ops.h (Gustavo Duarte) [1862103] - [powerpc] powerpc/security: split branch cache flush toggle from code patching (Gustavo Duarte) [1862103] - [powerpc] powerpc/security: make display of branch cache flush more consistent (Gustavo Duarte) [1862103] - [powerpc] powerpc/security: change link stack flush state to the flush type enum (Gustavo Duarte) [1862103] - [powerpc] powerpc/security: re-name count cache flush to branch cache flush (Gustavo Duarte) [1862103] - [kernel] smp: Remove superfluous cond_func check in smp_call_function_many_cond() (Prarit Bhargava) [1882551] - [kernel] smp: Remove allocation mask from on_each_cpu_cond.*() (Prarit Bhargava) [1882551] - [kernel] smp: Add a smp_cond_func_t argument to smp_call_function_many() (Prarit Bhargava) [1882551] - [kernel] smp: Use smp_cond_func_t as type for the conditional function (Prarit Bhargava) [1882551] - [kernel] smp, cpumask: introduce on_each_cpu_cond_mask (Prarit Bhargava) [1882551] - [kernel] smp: use __cpumask_set_cpu in on_each_cpu_cond (Prarit Bhargava) [1882551] - [pci] PCI: Add support for root bus sizing (Myron Stowe) [1886036] - [drm] PCI: Use ioremap(), not phys_to_virt() for platform ROM (Myron Stowe) [1886036] - [pci] PCI: Avoid ASMedia XHCI USB PME# from D0 defect (Myron Stowe) [1886036] - [pci] PCI/ACPI: Move pcie_to_hpx3_typefrom stack to static data (Myron Stowe) [1886036] - [documentation] Documentation: PCI: Add background on Boot Interrupts (Myron Stowe) [1886036] - [pci] PCI: Add boot interrupt quirk mechanism for Xeon chipsets (Myron Stowe) [1886036] - [pci] PCI: Add PCIE_LNKCAP2_SLS2SPEED() macro (Myron Stowe) [1886036] - [pci] PCI: Use pci_speed_string() for all PCI/PCI-X/PCIe strings (Myron Stowe) [1886036] - [pci] PCI: Add pci_speed_string() (Myron Stowe) [1886036] - [pci] PCI: Add 32 GT/s decoding in some macros (Myron Stowe) [1886036] - [powerpc] powerpc/test_emulate_step: Move extern declaration to sstep.h (Desnes Augusto Nunes do Rosario) [1854542] - [powerpc] powerpc/sstep: Introduce macros to retrieve Prefix instruction operands (Desnes Augusto Nunes do Rosario) [1854542] - [powerpc] powerpc/test_emulate_step: Add negative tests for prefixed addi (Desnes Augusto Nunes do Rosario) [1854542] - [powerpc] powerpc/test_emulate_step: Enhancement to test negative scenarios (Desnes Augusto Nunes do Rosario) [1854542] - [netdrv] drivers/net/ibmvnic: Update VNIC protocol version reporting (Steve Best) [1882269] - [s390] s390/zcrypt: fix kmalloc 256k failure (Claudio Imbrenda) [1885963] - [x86] crypto: x86/aesni-gcm - fix crash on empty plaintext (Herbert Xu) [1882868] - [x86] crypto: x86/aesni-gcm - make 'struct aesni_gcm_tfm_s' static const (Herbert Xu) [1882868] - [x86] crypto: aesni - Add scatter/gather avx stubs, and use them in C (Herbert Xu) [1882868] - [x86] crypto: aesni - Introduce partial block macro (Herbert Xu) [1882868] - [x86] crypto: aesni - Introduce READ_PARTIAL_BLOCK macro (Herbert Xu) [1882868] - [x86] crypto: aesni - Move ghash_mul to GCM_COMPLETE (Herbert Xu) [1882868] - [x86] crypto: aesni - Fill in new context data structures (Herbert Xu) [1882868] - [x86] crypto: aesni - Merge avx precompute functions (Herbert Xu) [1882868] - [x86] crypto: aesni - Split AAD hash calculation to separate macro (Herbert Xu) [1882868] - [x86] crypto: aesni - Add GCM_COMPLETE macro (Herbert Xu) [1882868] - [x86] crypto: aesni - support 256 byte keys in avx asm (Herbert Xu) [1882868] - [x86] crypto: aesni - Macro-ify func save/restore (Herbert Xu) [1882868] - [x86] crypto: aesni - Introduce gcm_context_data (Herbert Xu) [1882868] - [x86] crypto: aesni - Merge GCM_ENC_DEC (Herbert Xu) [1882868] - [pci] PCI: Add DMA alias quirk for PLX PEX NTB (Myron Stowe) [1884657] - [pci] PCI: Add nr_devfns parameter to pci_add_dma_alias() (Myron Stowe) [1884657] - [pci] PCI: Fix pci_add_dma_alias() bitmask size (Myron Stowe) [1884657] - [pci] PCI/IOV: Fix memory leak in pci_iov_add_virtfn() (Myron Stowe) [1884657] - [pci] PCI/switchtec: Add Gen4 device IDs (Myron Stowe) [1884657] - [pci] PCI/switchtec: Add Gen4 MRPC GAS access permission check (Myron Stowe) [1884657] - [pci] PCI/switchtec: Add Gen4 flash information interface support (Myron Stowe) [1884657] - [pci] PCI/switchtec: Add Gen4 system info register support (Myron Stowe) [1884657] - [pci] PCI/switchtec: Separate Gen3 register structures into unions (Myron Stowe) [1884657] - [pci] PCI/switchtec: Factor out Gen3 ioctl_flash_part_info() (Myron Stowe) [1884657] - [pci] PCI/switchtec: Add 'generation' variable (Myron Stowe) [1884657] - [pci] PCI/switchtec: Rename generation-specific constants (Myron Stowe) [1884657] - [pci] PCI/switchtec: Move check event ID from mask_event() to switchtec_event_isr() (Myron Stowe) [1884657] - [pci] PCI/switchtec: Remove redundant valid PFF number count (Myron Stowe) [1884657] - [pci] PCI/switchtec: Add support for Intercomm Notify and Upstream Error Containment (Myron Stowe) [1884657] - [pci] PCI/switchtec: Fix vep_vector_number ioread width (Myron Stowe) [1884657] - [pci] PCI/switchtec: Use dma_set_mask_and_coherent() (Myron Stowe) [1884657] - [pci] PCI: Allow adjust_bridge_window() to shrink resource if necessary (Myron Stowe) [1884657] - [pci] PCI: Set resource size directly in adjust_bridge_window() (Myron Stowe) [1884657] - [pci] PCI: Rename extend_bridge_window() to adjust_bridge_window() (Myron Stowe) [1884657] - [pci] PCI: Rename extend_bridge_window() parameter (Myron Stowe) [1884657] - [pci] PCI: Consider alignment of hot-added bridges when assigning resources (Myron Stowe) [1884657] - [pci] PCI: Remove local variable usage in pci_bus_distribute_available_resources() (Myron Stowe) [1884657] - [pci] PCI: Pass size + alignment to pci_bus_distribute_available_resources() (Myron Stowe) [1884657] - [pci] PCI: Rename variables (Myron Stowe) [1884657] - [pci] PCI: Remove unnecessary braces (Myron Stowe) [1884657] - [pci] PCI: Don't disable bridge BARs when assigning bus resources (Myron Stowe) [1884657] - [documentation] Documentation: PCI: Fix pci_alloc_irq_vectors() function name typo (Myron Stowe) [1884657] - [pci] PCI: Increase D3 delay for AMD Ryzen5/7 XHCI controllers (Myron Stowe) [1884657] - [pci] PCI: Add generic quirk for increasing D3hot delay (Myron Stowe) [1884657] - [edac] x86/mce, EDAC/mce_amd: Print PPIN in machine check records (Prarit Bhargava) [1860381]- [netdrv] geneve: add transport ports in route lookup for geneve (Mark Gray) [1884481] {CVE-2020-25645} - [drm] PM: sleep: core: Rename DPM_FLAG_NEVER_SKIP (Ivan Vecera) [1867164] - [base] PM: sleep: core: Drop racy and redundant checks from device_prepare() (Ivan Vecera) [1867164] - [mm] mm/page_isolation: fix potential warning from user (Waiman Long) [1811009] - [mm] mm/hotplug: silence a lockdep splat with printk() (Waiman Long) [1811009] - [mm] mm/debug.c: always print flags in dump_page() (Waiman Long) [1811009] - [mm] mm/debug.c: PageAnon() is true for PageKsm() pages (Waiman Long) [1811009] - [mm] mm/debug.c: __dump_page() prints an extra line (Waiman Long) [1811009] - [mm] mm: fix some typos in mm directory (Waiman Long) [1811009] - [mm] mm, fault_around: do not take a reference to a locked page (Waiman Long) [1811009] - [mm] mm: remove the exporting of totalram_pages (Waiman Long) [1880090] - [mm] mm: remove managed_page_count_lock spinlock (Waiman Long) [1880090] - [mm] mm: convert totalram_pages and totalhigh_pages variables to atomic (Waiman Long) [1880090] - [mm] mm: convert zone->managed_pages to atomic variable (Waiman Long) [1880090] - [net] mm: reference totalram_pages and managed_pages once per function (Waiman Long) [1880090] - [mm] mm/page_alloc: Introduce free_area_init_core_hotplug (Waiman Long) [1880090] - [mm] mm/page_alloc: inline function to handle CONFIG_DEFERRED_STRUCT_PAGE_INIT (Waiman Long) [1880090] - [mm] mm: remove __paginginit (Waiman Long) [1880090] - [mm] mm: access zone->node via zone_to_nid() and zone_set_nid() (Waiman Long) [1880090] - [mm] mm, page_alloc: double zone's batchsize (Waiman Long) [1880090] - [powerpc] powerpc/pseries/cmm: fix managed page counts when migrating pages between zones (Chris von Recklinghausen) [1754739] - [mm] mm/memory_hotplug: drain per-cpu pages again during memory offline (Chris von Recklinghausen) [1754739] - [mm] mm: move nr_deactivate accounting to shrink_active_list() (Chris von Recklinghausen) [1754739] - [mm] sh: fix build error in mm/init.c (Chris von Recklinghausen) [1754739] - [mm] mm/memremap: set caching mode for PCI P2PDMA memory to WC (Chris von Recklinghausen) [1754739] - [mm] mm/memory_hotplug: add pgprot_t to mhp_params (Chris von Recklinghausen) [1754739] - [mm] powerpc/mm: thread pgprot_t through create_section_mapping() (Chris von Recklinghausen) [1754739] - [mm] x86/mm: thread pgprot_t through init_memory_mapping() (Chris von Recklinghausen) [1754739] - [mm] mm/memory_hotplug: rename mhp_restrictions to mhp_params (Chris von Recklinghausen) [1754739] - [include] mm/memory_hotplug: drop the flags field from struct mhp_restrictions (Chris von Recklinghausen) [1754739] - [mm] mm/memory_hotplug.c: cleanup __add_pages() (Chris von Recklinghausen) [1754739] - [mm] mm, hotplug: fix page online with DEBUG_PAGEALLOC compiled but not enabled (Chris von Recklinghausen) [1754739] - [mm] arm64/mm: Enable memory hot remove (Chris von Recklinghausen) [1754739] - [firmware] arm/efi: EFI soft reservation to memblock (Chris von Recklinghausen) [1754739] - [mm] arm64: mm: convert mm/dump.c to use walk_page_range() (Chris von Recklinghausen) [1754739] - [base] mm/memory_hotplug: drop valid_start/valid_end from test_pages_in_a_zone() (Chris von Recklinghausen) [1754739] - [base] mm/memory_hotplug: pass in nid to online_pages() (Chris von Recklinghausen) [1754739] - [mm] mm: remove "count" parameter from has_unmovable_pages() (Chris von Recklinghausen) [1754739] - [base] mm: remove the memory isolate notifier (Chris von Recklinghausen) [1754739] - [x86] efi/x86: Disable instrumentation in the EFI runtime handling code (Chris von Recklinghausen) [1754739] - [x86] efi/x86: avoid KASAN false positives when accessing the 1: 1 mapping (Chris von Recklinghausen) [1754739] - [x86] efi/x86: Limit EFI old memory map to SGI UV machines (Chris von Recklinghausen) [1754739] - [x86] efi/libstub/x86: Fix unused-variable warning (Chris von Recklinghausen) [1754739] - [x86] efi/x86: Simplify mixed mode call wrapper (Chris von Recklinghausen) [1754739] - [x86] efi/x86: Simplify 64-bit EFI firmware call wrapper (Chris von Recklinghausen) [1754739] - [x86] efi/x86: Split SetVirtualAddresMap() wrappers into 32 and 64 bit versions (Chris von Recklinghausen) [1754739] - [x86] efi/x86: Split off some old memmap handling into separate routines (Chris von Recklinghausen) [1754739] - [x86] efi/x86: Re-disable RT services for 32-bit kernels running on 64-bit EFI (Chris von Recklinghausen) [1754739] - [x86] efi/libstub: Distinguish between native/mixed not 32/64 bit (Chris von Recklinghausen) [1754739] - [firmware] efi/libstub: Extend native protocol definitions with mixed_mode aliases (Chris von Recklinghausen) [1754739] - [firmware] efi/libstub: Use a helper to iterate over a EFI handle array (Chris von Recklinghausen) [1754739] - [x86] efi/x86: Rename efi_is_native() to efi_is_mixed() (Chris von Recklinghausen) [1754739] - [firmware] efi/gop: Unify 32/64-bit functions (Chris von Recklinghausen) [1754739] - [firmware] efi/gop: Convert GOP structures to typedef and clean up some types (Chris von Recklinghausen) [1754739] - [firmware] efi/gop: Remove unused typedef (Chris von Recklinghausen) [1754739] - [firmware] efi/gop: Remove bogus packed attribute from GOP structures (Chris von Recklinghausen) [1754739] - [firmware] efi/libstub/random: Initialize pointer variables to zero for mixed mode (Chris von Recklinghausen) [1754739] - [firmware] efi: Fix efi_loaded_image_t::unload type (Chris von Recklinghausen) [1754739] - [firmware] efi/gop: Fix memory leak in __gop_query32/64() (Chris von Recklinghausen) [1754739] - [firmware] efi/gop: Return EFI_SUCCESS if a usable GOP was found (Chris von Recklinghausen) [1754739] - [firmware] efi/gop: Return EFI_NOT_FOUND if there are no usable GOPs (Chris von Recklinghausen) [1754739] - [hv] mm/memory_hotplug.c: remove __online_page_set_limits() (Chris von Recklinghausen) [1754739] - [mm] mm/memory_hotplug.c: don't allow to online/offline memory blocks with holes (Chris von Recklinghausen) [1754739] - [mm] mm/page_isolation.c: convert SKIP_HWPOISON to MEMORY_OFFLINE (Chris von Recklinghausen) [1754739] - [mm] mm/page_alloc.c: don't set pages PageReserved() when offlining (Chris von Recklinghausen) [1754739] - [mm] mm/memory_hotplug: remove __online_page_free() and __online_page_increment_counters() (Chris von Recklinghausen) [1754739] - [mm] mm/memory_hotplug.c: add a bounds check to __add_pages() (Chris von Recklinghausen) [1754739] - [x86] x86/entry/32: Fix NMI vs ESPFIX (Chris von Recklinghausen) [1754739] - [x86] x86/entry/32: Unwind the ESPFIX stack earlier on exception entry (Chris von Recklinghausen) [1754739] - [x86] x86/entry/32: Move FIXUP_FRAME after pushing fs in SAVE_ALL (Chris von Recklinghausen) [1754739] - [x86] x86/entry/32: Simplify common_exception (Chris von Recklinghausen) [1754739] - [x86] x86/entry/32: Use ss segment where required (Chris von Recklinghausen) [1754739] - [x86] x86/entry/32: Fix IRET exception (Chris von Recklinghausen) [1754739] - [x86] x86/xen/32: Make xen_iret_crit_fixup() independent of frame layout (Chris von Recklinghausen) [1754739] - [x86] x86/stackframe/32: Repair 32-bit Xen PV (Chris von Recklinghausen) [1754739] - [x86] x86/stackframe/32: Allow int3_emulate_push() (Chris von Recklinghausen) [1754739] - [x86] x86: Hide the int3_emulate_call/jmp functions from UML (Chris von Recklinghausen) [1754739] - [x86] ftrace/x86_64: Emulate call function while updating in breakpoint handler (Chris von Recklinghausen) [1754739] - [x86] x86/stackframe/32: Provide consistent pt_regs (Chris von Recklinghausen) [1754739] - [x86] kprobes, x86/ptrace.h: Make regs_get_kernel_stack_nth() not fault on bad stack (Chris von Recklinghausen) [1754739] - [x86] x86/stackframe, x86/ftrace: Add pt_regs frame annotations (Chris von Recklinghausen) [1754739] - [x86] x86/stackframe, x86/kprobes: Fix frame pointer annotations (Chris von Recklinghausen) [1754739] - [x86] x86/stackframe: Move ENCODE_FRAME_POINTER to asm/frame.h (Chris von Recklinghausen) [1754739] - [x86] x86/entry/32: Clean up return from interrupt preemption path (Chris von Recklinghausen) [1754739] - [powerpc] powerpc/pseries/cmm: Simulation mode (Chris von Recklinghausen) [1754739] - [powerpc] powerpc/pseries/cmm: Switch to balloon_page_alloc() (Chris von Recklinghausen) [1754739] - [powerpc] powerpc/pseries/cmm: Implement balloon compaction (Chris von Recklinghausen) [1754739] - [powerpc] powerpc/pseries/cmm: Convert loaned_pages to an atomic_long_t (Chris von Recklinghausen) [1754739] - [powerpc] powerpc/pseries/cmm: Rip out memory isolate notifier (Chris von Recklinghausen) [1754739] - [powerpc] powerpc/pseries/cmm: Use adjust_managed_page_count() insted of totalram_pages_* (Chris von Recklinghausen) [1754739] - [powerpc] powerpc/pseries/cmm: Drop page array (Chris von Recklinghausen) [1754739] - [powerpc] powerpc/pseries/cmm: Cleanup rc handling in cmm_init() (Chris von Recklinghausen) [1754739] - [powerpc] powerpc/pseries/cmm: Report errors when registering notifiers fails (Chris von Recklinghausen) [1754739] - [powerpc] powerpc/pseries/cmm: Implement release() function for sysfs device (Chris von Recklinghausen) [1754739] - [x86] x86/efi: Push EFI_MEMMAP check into leaf routines (Chris von Recklinghausen) [1754739] - [mm] powerpc: Don't flush caches when adding memory (Chris von Recklinghausen) [1754739] - [firmware] efi/random: use arch-independent efi_call_proto() (Chris von Recklinghausen) [1754739] - [x86] x86/dumpstack/64: Don't evaluate exception stacks before setup (Chris von Recklinghausen) [1754739] - [xen] xen/balloon: Mark pages PG_offline in balloon_append() (Chris von Recklinghausen) [1754739] - [xen] xen/balloon: Drop __balloon_append() (Chris von Recklinghausen) [1754739] - [xen] xen/balloon: Set pages PageOffline() in balloon_add_region() (Chris von Recklinghausen) [1754739] - [mm] mm/memory_hotplug.c: prevent memory leak when reusing pgdat (Chris von Recklinghausen) [1754739] - [base] drivers/base/memory.c: don't store end_section_nr in memory blocks (Chris von Recklinghausen) [1754739] - [mm] mm/memory_hotplug: remove move_pfn_range() (Chris von Recklinghausen) [1754739] - [mm] mm: introduce compound_nr() (Chris von Recklinghausen) [1754739] - [x86] x86/asm: Make some functions local labels (Chris von Recklinghausen) [1754739] - [firmware] efi-stub: Fix get_efi_config_table on mixed-mode setups (Chris von Recklinghausen) [1754739] - [x86] efi/x86: move UV_SYSTAB handling into arch/x86 (Chris von Recklinghausen) [1754739] - [x86] efi: x86: move efi_is_table_address() into arch/x86 (Chris von Recklinghausen) [1754739] - [mm] mm/memory_hotplug.c: remove unneeded return for void function (Chris von Recklinghausen) [1754739] - [x86] x86/uaccess: Remove redundant CLACs in getuser/putuser error paths (Chris von Recklinghausen) [1754739] - [x86] x86/uaccess: Remove ELF function annotation from copy_user_handle_tail() (Chris von Recklinghausen) [1754739] - [x86] x86/entry: Fix thunk function ELF sizes (Chris von Recklinghausen) [1754739] - [x86] x86/entry/64: Simplify idtentry a little (Chris von Recklinghausen) [1754739] - [mm] mm: vmscan: correct some vmscan counters for THP swapout (Chris von Recklinghausen) [1754739] - [mm] mm/gup: speed up check_and_migrate_cma_pages() on huge page (Chris von Recklinghausen) [1754739] - [x86] x86/ldt: Initialize the context lock for init_mm (Chris von Recklinghausen) [1754739] - [powerpc] powerpc/pseries: avoid blocking in irq when queuing hotplug events (Chris von Recklinghausen) [1754739] - [arm64] arm64/mm: don't initialize pgd_cache twice (Chris von Recklinghausen) [1754739] - [mm] mm/vmscan.c: fix recent_rotated history (Chris von Recklinghausen) [1754739] - [x86] efi/x86/Add missing error handling to old_memmap 1:1 mapping code (Chris von Recklinghausen) [1754739] - [mm] arm64/mm: Inhibit huge-vmap with ptdump (Chris von Recklinghausen) [1754739] - [mm] mm/vmscan.c: simplify shrink_inactive_list() (Chris von Recklinghausen) [1754739] - [mm] mm, memory_hotplug: cleanup memory offline path (Chris von Recklinghausen) [1754739] - [mm] mm/memory_hotplug.c: fix the wrong usage of N_HIGH_MEMORY (Chris von Recklinghausen) [1754739] - [mm] mm, memory_hotplug: drop redundant hugepage_migration_supported check (Chris von Recklinghausen) [1754739] - [mm] mm, memory_hotplug: unlock 1GB-hugetlb on x86_64 (Chris von Recklinghausen) [1754739] - [mm] mm: move recent_rotated pages calculation to shrink_inactive_list() (Chris von Recklinghausen) [1754739] - [mm] x86/mm: Initialize PGD cache during mm initialization (Chris von Recklinghausen) [1754739] - [x86] x86/alternatives: Initialize temporary mm for patching (Chris von Recklinghausen) [1754739] - [mm] x86/mm: Fix a crash with kmemleak_scan() (Chris von Recklinghausen) [1754739] - [x86] x86/irq: Fix outdated comments (Chris von Recklinghausen) [1754739] - [mm] mm/hotplug: treat CMA pages as unmovable (Chris von Recklinghausen) [1754739] - [x86] x86/irq/64: Remove stack overflow debug code (Chris von Recklinghausen) [1754739] - [x86] x86/irq/64: Remap the IRQ stack with guard pages (Chris von Recklinghausen) [1754739] - [x86] x86/irq/64: Split the IRQ stack into its own pages (Chris von Recklinghausen) [1754739] - [x86] x86/irq/64: Init hardirq_stack_ptr during CPU hotplug (Chris von Recklinghausen) [1754739] - [x86] x86/irq/32: Handle irq stack allocation failure proper (Chris von Recklinghausen) [1754739] - [xen] x86/irq/32: Invoke irq_ctx_init() from init_IRQ() (Chris von Recklinghausen) [1754739] - [x86] x86/irq/64: Rename irq_stack_ptr to hardirq_stack_ptr (Chris von Recklinghausen) [1754739] - [x86] x86/irq/32: Rename hard/softirq_stack to hard/softirq_stack_ptr (Chris von Recklinghausen) [1754739] - [x86] x86/irq/32: Make irq stack a character array (Chris von Recklinghausen) [1754739] - [x86] x86/irq/32: Define IRQ_STACK_SIZE (Chris von Recklinghausen) [1754739] - [x86] x86/dumpstack/64: Speedup in_exception_stack() (Chris von Recklinghausen) [1754739] - [x86] x86/exceptions: Split debug IST stack (Chris von Recklinghausen) [1754739] - [x86] x86/exceptions: Enable IST guard pages (Chris von Recklinghausen) [1754739] - [x86] x86/exceptions: Disconnect IST index and stack order (Chris von Recklinghausen) [1754739] - [x86] x86/cpu: Remove orig_ist array (Chris von Recklinghausen) [1754739] - [x86] x86/cpu: Prepare TSS.IST setup for guard pages (Chris von Recklinghausen) [1754739] - [x86] x86/dumpstack/64: Use cpu_entry_area instead of orig_ist (Chris von Recklinghausen) [1754739] - [x86] x86/irq/64: Use cpu entry area instead of orig_ist (Chris von Recklinghausen) [1754739] - [mm] x86/traps: Use cpu_entry_area instead of orig_ist (Chris von Recklinghausen) [1754739] - [mm] x86/cpu_entry_area: Provide exception stack accessor (Chris von Recklinghausen) [1754739] - [mm] x86/cpu_entry_area: Prepare for IST guard pages (Chris von Recklinghausen) [1754739] - [x86] x86/exceptions: Add structs for exception stacks (Chris von Recklinghausen) [1754739] - [mm] x86/cpu_entry_area: Cleanup setup functions (Chris von Recklinghausen) [1754739] - [x86] x86/exceptions: Make IST index zero based (Chris von Recklinghausen) [1754739] - [x86] x86/exceptions: Remove unused stack defines on 32bit (Chris von Recklinghausen) [1754739] - [x86] x86/64: Remove stale CURRENT_MASK (Chris von Recklinghausen) [1754739] - [x86] x86/idt: Remove unused macro SISTG (Chris von Recklinghausen) [1754739] - [x86] x86/irq/64: Sanitize the top/bottom confusion (Chris von Recklinghausen) [1754739] - [x86] x86/irq/64: Remove a hardcoded irq_stack_union access (Chris von Recklinghausen) [1754739] - [x86] x86/dumpstack: Fix off-by-one errors in stack identification (Chris von Recklinghausen) [1754739] - [x86] x86/irq/64: Limit IST stack overflow check to #DB stack (Chris von Recklinghausen) [1754739] - [mm] arm64: mm: Consolidate early page table allocation (Chris von Recklinghausen) [1754739] - [mm] arm64: mm: don't call page table ctors for init_mm (Chris von Recklinghausen) [1754739] - [mm] arm64: mm: use appropriate ctors for page tables (Chris von Recklinghausen) [1754739] - [x86] x86/uaccess: Move copy_user_handle_tail() into asm (Chris von Recklinghausen) [1754739] - [mm] mm/page_isolation.c: fix a wrong flag in set_migratetype_isolate() (Chris von Recklinghausen) [1754739] - [mm] mm/memory_hotplug.c: fix notification in offline error path (Chris von Recklinghausen) [1754739] - [mm] mm/hotplug: fix an imbalance with DEBUG_PAGEALLOC (Chris von Recklinghausen) [1754739] - [mm] mm, memory_hotplug: explicitly pass the head to isolate_huge_page (Chris von Recklinghausen) [1754739] - [mm] mm/vmscan.c: do not allocate duplicate stack variables in shrink_page_list() (Chris von Recklinghausen) [1754739] - [mm] mm: refactor swap-in logic out of shmem_getpage_gfp (Chris von Recklinghausen) [1754739] - [mm] mm/vmscan.c: remove 7th argument of isolate_lru_pages() (Chris von Recklinghausen) [1754739] - [mm] mm: remove extra drain pages on pcp list (Chris von Recklinghausen) [1754739] - [mm] mm/memory-hotplug: Allow memory resources to be children (Chris von Recklinghausen) [1754739] - [kernel] mm/resource: Move HMM pr_debug() deeper into resource code (Chris von Recklinghausen) [1754739] - [mm] mm, memory_hotplug: fix off-by-one in is_pageblock_removable (Chris von Recklinghausen) [1754739] - [mm] x86/cpu_entry_area: Move percpu_setup_debug_store() to __init section (Chris von Recklinghausen) [1754739] - [mm] arm64: ptdump: Don't iterate kernel page tables using PTRS_PER_PXX (Chris von Recklinghausen) [1754739] - [firmware] efi: Use 32-bit alignment for efi_guid_t (Chris von Recklinghausen) [1754739] - [mm] mm, memory_hotplug: __offline_pages fix wrong locking (Chris von Recklinghausen) [1754739] - [mm] mm, memory_hotplug: test_pages_in_a_zone do not pass the end of zone (Chris von Recklinghausen) [1754739] - [mm] mm, memory_hotplug: is_mem_section_removable do not pass the end of a zone (Chris von Recklinghausen) [1754739] - [mm] mm, memory_hotplug: don't bail out in do_migrate_range() prematurely (Chris von Recklinghausen) [1754739] - [mm] arm64: dump: no need to check return value of debugfs_create functions (Chris von Recklinghausen) [1754739] - [x86] x86/asm/suspend: Drop ENTRY from local data (Chris von Recklinghausen) [1754739] - [mm] mm, memory_hotplug: deobfuscate migration part of offlining (Chris von Recklinghausen) [1754739] - [mm] mm, memory_hotplug: try to migrate full pfn range (Chris von Recklinghausen) [1754739] - [mm] mm, hotplug: move init_currently_empty_zone() under zone_span_lock protection (Chris von Recklinghausen) [1754739] - [mm] mm: only report isolation failures when offlining memory (Chris von Recklinghausen) [1754739] - [mm] mm, memory_hotplug: be more verbose for memory offline failures (Chris von Recklinghausen) [1754739] - [mm] mm, memory_hotplug: print reason for the offlining failure (Chris von Recklinghausen) [1754739] - [mm] mm, memory_hotplug: drop pointless block alignment checks from __offline_pages (Chris von Recklinghausen) [1754739] - [x86] x86/efi: Don't unmap EFI boot services code/data regions for EFI_OLD_MEMMAP and EFI_MIXED_MODE (Chris von Recklinghausen) [1754739] - [x86] kprobes/x86: Blacklist non-attachable interrupt functions (Chris von Recklinghausen) [1754739] - [include] linkage: add generic GLOBAL() macro (Chris von Recklinghausen) [1754739] - [x86] x86/efi: Move efi__boot_services() to arch/x86 (Chris von Recklinghausen) [1754739] - [x86] x86/efi: Unmap EFI boot services code/data regions from efi_pgd (Chris von Recklinghausen) [1754739] - [mm] x86/mm/pageattr: Introduce helper function to unmap EFI boot services (Chris von Recklinghausen) [1754739] - [x86] x86/fpu: Use the correct exception table macro in the XSTATE_OP wrapper (Chris von Recklinghausen) [1754739] - [firmware] efi/arm/libstub: Pack FDT after populating it (Chris von Recklinghausen) [1754739] - [x86] x86/traps: Complete prototype declarations (Chris von Recklinghausen) [1754739] - [mm] mm/memory_hotplug.c: clean up node_states_check_changes_offline() (Chris von Recklinghausen) [1754739] - [mm] mm/memory_hotplug.c: simplify node_states_check_changes_online (Chris von Recklinghausen) [1754739] - [mm] mm/memory_hotplug.c: tidy up node_states_clear_node() (Chris von Recklinghausen) [1754739] - [mm] mm/memory_hotplug.c: spare unnecessary calls to node_set_state (Chris von Recklinghausen) [1754739] - [include] include/linux/linkage.h: align weak symbols (Chris von Recklinghausen) [1754739] - [mm] shmem: Convert shmem_add_to_page_cache to XArray (Chris von Recklinghausen) [1754739] - [mm] shmem: Convert shmem_radix_tree_replace to XArray (Chris von Recklinghausen) [1754739] - [mm] mm: Convert add_to_swap_cache to XArray (Chris von Recklinghausen) [1754739] - [x86] x86/entry/32: Clear the CS high bits (Chris von Recklinghausen) [1754739] - [x86] x86-32, hibernate: Set up temporary text mapping for 32bit system (Chris von Recklinghausen) [1754739] - [x86] x86-32, hibernate: Switch to original page table after resumed (Chris von Recklinghausen) [1754739] - [x86] x86-32, hibernate: Enable CONFIG_ARCH_HIBERNATION_HEADER on 32bit system (Chris von Recklinghausen) [1754739] - [x86] x86, hibernate: Extract the common code of 64/32 bit system (Chris von Recklinghausen) [1754739] - [x86] x86-32/asm/power: Create stack frames in hibernate_asm_32.S (Chris von Recklinghausen) [1754739] - [x86] PM / hibernate: Check the success of generating md5 digest before hibernation (Chris von Recklinghausen) [1754739] - [x86] x86/efi: Load fixmap GDT in efi_call_phys_epilog() before setting cr3 (Chris von Recklinghausen) [1754739] - [x86] x86/xen: Move pv irq related functions under CONFIG_XEN_PV umbrella (Chris von Recklinghausen) [1754739] - [x86] x86/extable: Introduce _ASM_EXTABLE_UA for uaccess fixups (Chris von Recklinghausen) [1754739] - [x86] x86/efi: Load fixmap GDT in efi_call_phys_epilog() (Chris von Recklinghausen) [1754739] - [tools] tools arch: Update arch/x86/lib/memcpy_64.S copy used in 'perf bench mem memcpy' (Chris von Recklinghausen) [1754739] - [mm] x86/mm: Remove redundant check for kmem_cache_create() (Chris von Recklinghausen) [1754739] - [x86] x86/power/hibernate_64: Remove VLA usage (Chris von Recklinghausen) [1754739] - [firmware] efi: Deduplicate efi_open_volume() (Chris von Recklinghausen) [1754739] - [x86] efi/x86: Merge 32-bit and 64-bit UGA draw protocol setup routines (Chris von Recklinghausen) [1754739] - [x86] efi/x86: Align efi_uga_draw_protocol typedef names to convention (Chris von Recklinghausen) [1754739] - [x86] efi/x86: Merge the setup_efi_pci32() and setup_efi_pci64() routines (Chris von Recklinghausen) [1754739] - [x86] efi/x86: Prevent reentrant firmware calls in mixed mode (Chris von Recklinghausen) [1754739] - [x86] x86/entry/32: Add debug code to check entry/exit CR3 (Chris von Recklinghausen) [1754739] - [x86] x86/entry/32: Add PTI CR3 switches to NMI handler code (Chris von Recklinghausen) [1754739] - [x86] x86/entry/32: Add PTI cr3 switch to non-NMI entry/exit points (Chris von Recklinghausen) [1754739] - [x86] x86/entry/32: Handle Entry from Kernel-Mode on Entry-Stack (Chris von Recklinghausen) [1754739] - [x86] x86/entry/32: Introduce SAVE_ALL_NMI and RESTORE_ALL_NMI (Chris von Recklinghausen) [1754739] - [x86] x86/entry/32: Leave the kernel via trampoline stack (Chris von Recklinghausen) [1754739] - [x86] x86/entry/32: Enter the kernel via trampoline stack (Chris von Recklinghausen) [1754739] - [x86] x86/entry/32: Load task stack from x86_tss.sp1 in SYSENTER handler (Chris von Recklinghausen) [1754739] - [x86] x86/entry/32: Split off return-to-kernel path (Chris von Recklinghausen) [1754739] - [x86] x86/entry/32: Unshare NMI return path (Chris von Recklinghausen) [1754739] - [x86] x86/entry/32: Put ESPFIX code into a macro (Chris von Recklinghausen) [1754739] - [x86] x86/entry/32: Rename TSS_sysenter_sp0 to TSS_entry2task_stack (Chris von Recklinghausen) [1754739] - [x86] efi/x86: Clean up the eboot code (Chris von Recklinghausen) [1754739] - [x86] x86/asm/64: Use 32-bit XOR to zero registers (Chris von Recklinghausen) [1754739] - [x86] Revert "x86/platform/uv: Mark uv_bios_call() and uv_bios_call_irqsave() static" (Frank Ramsay) [1833121] - [x86] Revert "x86/platform/uv: Unexport sn_coherency_id" (Frank Ramsay) [1833121] - [x86] Revert "x86/platform/uv: Unexport symbols only used by x2apic_uv_x.c" (Frank Ramsay) [1833121] - [x86] x86/apic: Cleanup the include maze (Frank Ramsay) [1833121] - [x86] x86/platform/uv: Fix missing checks of kcalloc() return values (Frank Ramsay) [1833121] - [x86] x86/platform/UV: Replace kmalloc() and memset() with kalloc() calls (Frank Ramsay) [1833121] - [x86] x86/platform/uv: Remove the unused _uv_cpu_blade_processor_id() macro (Frank Ramsay) [1833121] - [x86] x86/platform/uv: Unexport uv_apicid_hibits (Frank Ramsay) [1833121] - [x86] x86/platform/uv: Remove _uv_hub_info_check() (Frank Ramsay) [1833121] - [x86] x86/platform/uv: Simplify uv_send_IPI_one() (Frank Ramsay) [1833121] - [x86] x86/platform/uv: Mark uv_min_hub_revision_id static (Frank Ramsay) [1833121] - [x86] x86/platform/uv: Mark is_uv_hubless() static (Frank Ramsay) [1833121] - [x86] x86/platform/uv: Remove the UV*_HUB_IS_SUPPORTED macros (Frank Ramsay) [1833121] - [x86] x86/platform/uv: Unexport symbols only used by x2apic_uv_x.c (Frank Ramsay) [1833121] - [x86] x86/platform/uv: Unexport sn_coherency_id (Frank Ramsay) [1833121] - [x86] x86/platform/uv: Remove the uv_partition_coherence_id() macro (Frank Ramsay) [1833121] - [x86] x86/platform/uv: Mark uv_bios_call() and uv_bios_call_irqsave() static (Frank Ramsay) [1833121] - [x86] x86/platform/UV: Mark memblock related init code and data correctly (Frank Ramsay) [1833121] - [x86] x86/platform/UV: Remove unnecessary #ifdef CONFIG_EFI (Frank Ramsay) [1833121] - [x86] x86/platform/UV: Remove uv_bios_call_reentrant() (Frank Ramsay) [1833121] - [x86] x86/platform/UV: Use efi_enabled() instead of test_bit() (Frank Ramsay) [1833121] - [x86] x86/apic/uv: Remove code for unused distributed GRU mode (Frank Ramsay) [1833121]- [thermal] thermal/x86_pkg_temp: Make pkg_temp_lock a raw_spinlock_t (Prarit Bhargava) [1890657] - [net] sched: act_tunnel_key: fix OOB write in case of IPv6 ERSPAN tunnels (Davide Caratti) [1889601] - [netdrv] ibmveth: Identify ingress large send packets (Gustavo Duarte) [1887038] - [netdrv] ibmveth: Switch order of ibmveth_helper calls (Gustavo Duarte) [1887038] - [sound] ALSA: redhat: add drivers/soundwire tree and regmap-sdw to the redhat/filter-modules.sh (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC - enable AMD Renoir support for DMIC (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC - enable the Intel's SoundWire driver (Jaroslav Kysela) [1869536] - [sound] ALSA: hda/hdmi: fix incorrect locking in hdmi_pcm_close (Jaroslav Kysela) [1869536] - [sound] ALSA: hda: fix jack detection with Realtek codecs when in D3 (Jaroslav Kysela) [1869536] - [sound] ALSA: fireworks: use semicolons rather than commas to separate statements (Jaroslav Kysela) [1869536] - [sound] ALSA: hda: use semicolons rather than commas to separate statements (Jaroslav Kysela) [1869536] - [sound] ALSA: hda/i915 - fix list corruption with concurrent probes (Jaroslav Kysela) [1869536] - [sound] ALSA: hda/realtek - The front Mic on a HP machine doesn't work (Jaroslav Kysela) [1869536] - [sound] ALSA: hdspm: Fix typo arbitary (Jaroslav Kysela) [1869536] - [sound] ALSA: bebob: potential info leak in hwdep_read() (Jaroslav Kysela) [1869536] - [sound] ALSA: hda/realtek: Enable audio jacks of ASUS D700SA with ALC887 (Jaroslav Kysela) [1869536] - [sound] ALSA: usb-audio: endpoint.c: fix repeated word 'there' (Jaroslav Kysela) [1869536] - [sound] ALSA: portman2x4: fix repeated word 'if' (Jaroslav Kysela) [1869536] - [sound] ALSA: hda/realtek - Add mute Led support for HP Elitebook 845 G7 (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: SOF: loader: handle all SOF_IPC_EXT types (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: Intel: haswell: Mark FE DAIs as nonatomic (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: Intel: broadwell: Mark FE DAIs as nonatomic (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: Intel: bdw-rt5677: Mark FE DAIs as nonatomic (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: Intel: sof_sdw: add version_id to avoid rt714/rt715 confusion (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: rt715-sdw: probe with RT714 Device ID (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: Intel: sof_sdw_rt1316: add missing component string (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: Intel: sof_sdw_rt1308: add extra check on init (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: qdsp6: add ifdef CONFIG_OF around of_device_id (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: qcom: lpass-cpu: Enable MI2S BCLK and LRCLK together (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: Intel: sof_sdw_rt700: add codec prefix (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: tas2770: Remove unused variables (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: tas2770: Remove ti, asi-format code (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: tas2770: Set regcache when shutting down and waking device (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: tas2770: Add shutdown capability via a GPIO (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: tas2562: Remove duplicate code for I/V sense (Jaroslav Kysela) [1869536] - [sound] ALSA: ASOC: Intel: sof_sdw: restore playback functionality with max98373 amps (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: Intel: add support for new SoundWire hardware layout on TGL (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: Intel: sof_sdw: remove hard-coded codec_conf table (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: Intel: sof_sdw: remove ternary operator (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: tegra: tegra_max98090: use devm_snd_soc_register_card() (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: Intel: hda_dsp_common: use static function in conditional block (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: fsl: mx27vis-aic32x4: use devm_snd_soc_register_card() (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: fsl: imx-mc13783: use devm_snd_soc_register_card() (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: wm_adsp: Pass full name to snd_ctl_notify (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: rt715: Add power-up delay to fix dmic pop sound issue (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: rt5682: Enable the power of "MICBIAS" and "Vref2" for the DMIC clock (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: hdac_hda: allow runtime pm at end of probe (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: Intel: add codec name prefix to ACPI machine description (Jaroslav Kysela) [1869536] - [sound] ALSA: soundwire: sysfs: add slave status and device number before probe (Jaroslav Kysela) [1869536] - [sound] ALSA: soundwire: bus: add enumerated Slave device to device list (Jaroslav Kysela) [1869536] - [sound] ALSA: soundwire: remove an unnecessary NULL check (Jaroslav Kysela) [1869536] - [sound] ALSA: soundwire: cadence: add data port test fail interrupt (Jaroslav Kysela) [1869536] - [sound] ALSA: soundwire: intel: enable test modes (Jaroslav Kysela) [1869536] - [sound] ALSA: soundwire: enable Data Port test modes (Jaroslav Kysela) [1869536] - [sound] ALSA: hda/realtek - set mic to auto detect on a HP AIO machine (Jaroslav Kysela) [1869536] - [sound] ALSA: hda - Don't register a cb func if it is registered already (Jaroslav Kysela) [1869536] - [sound] ALSA: HDA: Early Forbid of runtime PM (Jaroslav Kysela) [1869536] - [sound] ALSA: hda - remove kerneldoc for internal hdac_i915 function (Jaroslav Kysela) [1869536] - [sound] ALSA: ctl: Workaround for lockdep warning wrt card->ctl_files_rwlock (Jaroslav Kysela) [1869536] - [sound] ALSA: usb-audio: Disable autosuspend for Lenovo ThinkStation P620 (Jaroslav Kysela) [1869536] - [sound] ALSA: treewide: Remove uninitialized_var() usage (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: arm: use asoc_rtd_to_cpu() / asoc_rtd_to_codec() macro for DAI pointer (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: soc-pcm: add dpcm_create/remove_debugfs_state() (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: soc-pcm: move CONFIG_DEBUG_FS functions to top side (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: pxa: magician: convert to use i2c_new_client_device() (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: pxa: Enable AC'97 bus support for PXA machines (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: pxa: Select regmap from AC'97 machines (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: mediatek: mt8183-da7219: support TDM out and 8ch I2S out (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: kirkwood: fix external clock probe defer (Jaroslav Kysela) [1869536] - [sound] ALSA: ppc: keywest: convert to use i2c_new_client_device() (Jaroslav Kysela) [1869536] - [sound] ALSA: treewide: Use sizeof_field() macro (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: Intel: hdac_hdmi: Set ops to NULL on remove (Jaroslav Kysela) [1869536] - [sound] ALSA: ppc: More constifications (Jaroslav Kysela) [1869536] - [sound] ALSA: i2c: Constify snd_kcontrol_new items (Jaroslav Kysela) [1869536] - [sound] ALSA: ppc: Constify snd_kcontrol_new items (Jaroslav Kysela) [1869536] - [sound] ALSA: vxpocket: Support PCM sync_stop (Jaroslav Kysela) [1869536] - [sound] ALSA: mips: Constify snd_device_ops definitions (Jaroslav Kysela) [1869536] - [sound] ALSA: i2c: Constify snd_device_ops definitions (Jaroslav Kysela) [1869536] - [sound] ALSA: seq: oss: Fix running status after receiving sysex (Jaroslav Kysela) [1869536] - [sound] ALSA: arm: More constification (Jaroslav Kysela) [1869536] - [sound] ALSA: treewide: add "WITH Linux-syscall-note" to SPDX tag of uapi headers (Jaroslav Kysela) [1869536] - [sound] ALSA: treewide: replace '---help---' in Kconfig files with 'help' (Jaroslav Kysela) [1869536] - [sound] ALSA: soundwire: intel: fix SPDX license for header file (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: hdac: make SOF HDA codec driver probe deterministic (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: tas2770: Refactor sample rate function (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: tas2770: Fix the spacing and new lines (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: tas2770: Convert bit mask to GENMASK in header (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: tas2770: Fix unbalanced calls to pm_runtime (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: tas2562: Add the TAS2110 class-D amplifier (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: SOF: control: add size checks for ext_bytes control .put() (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: SOF: control: fix size checks for volatile ext_bytes control .get() (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: SOF: control: fix size checks for ext_bytes control .get() (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: tlv320aic32x4: Enable fast charge (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: tlv320aic32x4: Ensure a minimum delay before clock stabilization (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: rt711: wait for the delayed work to finish when the system suspends (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: tas2770: Fix error handling with update_bits (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: tas2770: Fix required DT properties in the code (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: tas2770: Add missing bias level power states (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: tas2770: Fix calling reset in probe (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: rt700: wait for the delayed work to finish when the system suspends (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: tas2562: Add the TAS2564 compatible (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: SOF: imx: add missing MODULE_LICENSE() for imx-common (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: SOF: pm: Fix prepare callback behavior for OF usecase (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: cs42l51: add additional ADC volume controls (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: SOF: topology: fix the process being scheduled on core0 always (Jaroslav Kysela) [1869536] - [sound] ALSA: hda - fix CONTROLLER_IN_GPU macro name (Jaroslav Kysela) [1869536] - [sound] ALSA: hda - handle multiple i915 device instances (Jaroslav Kysela) [1869536] - [sound] ALSA: hda - controller is in GPU on the DG1 (Jaroslav Kysela) [1869536] - [sound] ALSA: hda - add Intel DG1 PCI and HDMI ids (Jaroslav Kysela) [1869536] - [sound] ALSA: Revert "ALSA: hda - Fix silent audio output and corrupted input on MSI X570-A PRO" (Jaroslav Kysela) [1869536] - [sound] ALSA: usb-audio: Add delay quirk for H570e USB headsets (Jaroslav Kysela) [1869536] - [sound] ALSA: compat_ioctl: avoid compat_alloc_user_space (Jaroslav Kysela) [1869536] - [sound] ALSA: asihpi: fix spellint typo in comments (Jaroslav Kysela) [1869536] - [sound] ALSA: hda/realtek: Enable front panel headset LED on Lenovo ThinkStation P520 (Jaroslav Kysela) [1869536] - [sound] ALSA: hda/realtek - Couldn't detect Mic if booting with headset plugged (Jaroslav Kysela) [1869536] - [sound] ALSA: asihpi: fix iounmap in error handler (Jaroslav Kysela) [1869536] - [sound] ALSA: soundwire: intel: use {u32|u16}p_replace_bits (Jaroslav Kysela) [1869536] - [sound] ALSA: soundwire: cadence: use u32p_replace_bits (Jaroslav Kysela) [1869536] - [sound] ALSA: soundwire: qcom: get max rows and cols info from compatible (Jaroslav Kysela) [1869536] - [sound] ALSA: soundwire: qcom: add support to block packing mode (Jaroslav Kysela) [1869536] - [sound] ALSA: soundwire: qcom: clear BIT FIELDs before value set (Jaroslav Kysela) [1869536] - [sound] ALSA: soundwire: Add generic bandwidth allocation algorithm (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: ak4458: Add DSD support for ak4458 and ak4497 (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: qcom: lpass-sc7180: Add MODULE_DEVICE_TABLE (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: SOF: Intel: Add support for tgl-h (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: codec: tlv320aic32x4: do software reset before clock registration (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: codec: tlv320aic32x4: fix missing aic32x4_disable_regulators() in error path (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: fsl_sai: Set MCLK input or output direction (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: fsl_sai: Add fsl_sai_check_version function (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: fsl_sai: Add new added registers and new bit definition (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: q6afe-clocks: add q6afe clock controller (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: SOF: Intel: hda: reduce verbosity of boot error logs (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: SOF: fix range checks (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: SOF: remove several superfluous type-casts (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: SOF: (cosmetic) remove redundant "ret" variable uses (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: SOF: control: update test for pm_runtime_get_sync() (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: SOF: debug: update test for pm_runtime_get_sync() (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: SOF: Add `src_hash` to `sof_ipc_fw_version` structure (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: SOF: imx: Add debug support for imx platforms (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: topology: disable size checks for bytes_ext controls if needed (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: fsl_audmix: make clock and output src write only (Jaroslav Kysela) [1869536] - [sound] ALSA: remove calls to usb_pipe_type_check for control endpoints (Jaroslav Kysela) [1869536] - [sound] ALSA: hiface: move to use usb_control_msg_send() (Jaroslav Kysela) [1869536] - [sound] ALSA: line6: move to use usb_control_msg_send() and usb_control_msg_recv() (Jaroslav Kysela) [1869536] - [sound] ALSA: 6fire: move to use usb_control_msg_send() and usb_control_msg_recv() (Jaroslav Kysela) [1869536] - [sound] ALSA: usx2y: move to use usb_control_msg_send() (Jaroslav Kysela) [1869536] - [sound] ALSA: USB: add usb_control_msg_send() and usb_control_msg_recv() (Jaroslav Kysela) [1869536] - [sound] ALSA: USB: move snd_usb_pipe_sanity_check into the USB core (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: rt1015: Fix the failure to flush DAC data before playback (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: rt1015: Fix DC calibration on bypass boost mode (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: stm32: sai: add pm_runtime support (Jaroslav Kysela) [1869536] - [sound] ALSA: rockchip_i2s: fix a possible divide-by-zero bug in rockchip_i2s_hw_params() (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: SOF: Intel: Use DMI oem string search for tgl_max98373_rt5682 (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: SOF: Intel: hda-loader: s/master/primary (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: SOF: Intel: remove the HDA_DSP_CORE_MASK() macro (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: SOF: Intel: hda: modify core_power_up/down op (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: SOF: rename cores_mask to host_managed_cores_mask (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: ti: j721e-evm: Add support for j7200-cpb audio (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: mediatek: mt8183-da7219: support machine driver with rt1015p (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: q6dsp: q6afe-dai: add support to Codec DMA ports (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: q6dsp: q6afe: add codec lpass clocks (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: q6dsp: q6afe: update q6afe_set_param to support global clocks (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: q6dsp: q6afe: add lpass hw voting support (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: q6dsp: q6afe: add global q6afe waitqueue (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: q6dsp: q6afe: prepare afe_apr_send_pkt to take response opcode (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: q6dsp: q6routing: add support to Codec DMA ports (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: q6dsp: q6afe: add support to Codec DMA ports (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: qdsp6: dt-bindings: Add q6afe display_port dt binding (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: rt1015p: add codec driver (Jaroslav Kysela) [1869536] - [sound] ALSA: soundwire: cadence: add parity error injection through debugfs (Jaroslav Kysela) [1869536] - [sound] ALSA: soundwire: bus: export broadcast read/write capability for tests (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: codecs: realtek-soundwire: ignore initial PARITY errors (Jaroslav Kysela) [1869536] - [sound] ALSA: soundwire: bus: use quirk to filter out invalid parity errors (Jaroslav Kysela) [1869536] - [sound] ALSA: soundwire: slave: add first_interrupt_done status (Jaroslav Kysela) [1869536] - [sound] ALSA: soundwire: bus: filter-out unwanted interrupt reports (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC/soundwire: bus: use property to set interrupt masks (Jaroslav Kysela) [1869536] - [sound] ALSA: pcm: Remove unused inline function snd_mask_sizeof (Jaroslav Kysela) [1869536] - [sound] ALSA: pci/asihpi: Remove unused function hpi_stream_group_get_map() (Jaroslav Kysela) [1869536] - [sound] ALSA: mixart: Correct comment wrt obsoleted tasklet usage (Jaroslav Kysela) [1869536] - [sound] ALSA: aloop: Replace tasklet with work (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: mchp-spdiftx: add driver for S/PDIF TX Controller (Jaroslav Kysela) [1869536] - [sound] ALSA: soundwire: qcom: fix SLIBMUS/SLIMBUS typo (Jaroslav Kysela) [1869536] - [sound] ALSA: soundwire: cadence: fix race condition between suspend and Slave device alerts (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: fsl: imx-es8328: add missing put_device() call in imx_es8328_probe() (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: qcom: common: Parse auxiliary devices from device tree (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: mt6359: fix failed to parse DT properties (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: SOF: Implement snd_sof_bytes_ext_volatile_get kcontrol IO (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: topology: Add support for WO and RO TLV byte kcontrols (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: ti: Kconfig: Allow the j721e machine driver to be used on K3 platform (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: Intel: KeemBay: Fix warning potential ! vs ~ typo (Jaroslav Kysela) [1869536] - [sound] ALSA: soundwire: qcom: add v1.5.1 compatible (Jaroslav Kysela) [1869536] - [sound] ALSA: dt-bindings: soundwire: add bindings for Qcom controller (Jaroslav Kysela) [1869536] - [sound] ALSA: soundwire: qcom: add support for mmio soundwire master devices (Jaroslav Kysela) [1869536] - [sound] ALSA: soundwire: qcom: avoid dependency on CONFIG_SLIMBUS (Jaroslav Kysela) [1869536] - [sound] ALSA: soundwire: qcom: fix abh/ahb typo (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: SOF: topology: make process type optional (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: SOF: append extended data to sof_ipc_comp_mux (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: SOF: append extended data to sof_ipc_comp_process (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: SOF: append extended data to sof_ipc_comp_tone (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: SOF: append extended data to sof_ipc_comp_asrc (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: SOF: append extended data to sof_ipc_comp_src (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: SOF: append extended data to sof_ipc_comp_host (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: SOF: append extended data to sof_ipc_comp_volume (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: SOF: append extended data to sof_ipc_comp_mixer (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: SOF: append extended data to sof_ipc_comp_dai (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: SOF: topology: add helper for setting up IPC component (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: SOF: use the sof_ipc_comp reserved bytes for extended data (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: SOF: topology: parse comp_ext_tokens for all widgets (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: SOF: topology: create component extended tokens (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: SOF: add comp_ext to struct snd_sof_widget (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: SOF: tokens: add token for component UUID (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: sun8i-codec: Manage module clock via DAPM (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: sun8i-codec: Attach the bus clock to the regmap (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: sun8i-codec: Sort masks in a consistent order (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: sun8i-codec: Fix field bit number indentation (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: sun8i-codec: Fix ADC_DIG_CTRL field name (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: sun8i-codec: Fix AIF1_MXR_SRC field names (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: sun8i-codec: Fix AIF1_ADCDAT_CTRL field names (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: sun8i-codec: Fix AIF1 MODCLK widget name (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: sun8i-codec: Remove extraneous widgets (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: Intel: sof_sdw: add dailink .prepare and .hw_free callback (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: Intel: sof_sdw: add dailink .trigger callback (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: soc-dai: clarify return value for get_sdw_stream() (Jaroslav Kysela) [1869536] - [sound] ALSA: soundwire: intel: remove stream handling from .prepare and .hw_free (Jaroslav Kysela) [1869536] - [sound] ALSA: soundwire: intel: remove .trigger operation (Jaroslav Kysela) [1869536] - [sound] ALSA: soundwire: intel: fix NULL/ERR_PTR confusion (Jaroslav Kysela) [1869536] - [sound] ALSA: soundwire: stream: fix NULL/IS_ERR confusion (Jaroslav Kysela) [1869536] - [sound] ALSA: soundwire: remove SDW_REG_SHIFT() (Jaroslav Kysela) [1869536] - [sound] ALSA: soundwire: intel_init: use FIELD_{GET|PREP} (Jaroslav Kysela) [1869536] - [sound] ALSA: soundwire: intel: use FIELD_{GET|PREP} (Jaroslav Kysela) [1869536] - [sound] ALSA: soundwire: cadence: use FIELD_{GET|PREP} (Jaroslav Kysela) [1869536] - [sound] ALSA: soundwire: qcom : use FIELD_{GET|PREP} (Jaroslav Kysela) [1869536] - [sound] ALSA: soundwire: stream: use FIELD_{GET|PREP} (Jaroslav Kysela) [1869536] - [sound] ALSA: soundwire: slave: use SDW_DISCO_LINK_ID() (Jaroslav Kysela) [1869536] - [sound] ALSA: soundwire: bus: use FIELD_GET() (Jaroslav Kysela) [1869536] - [sound] ALSA: soundwire: define and use addr bit masks (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: SOF: topology: fix core enable sequence (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: SOF: support topology components on secondary cores (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: SOF: add a "core" parameter to widget loading functions (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: fsl_sai: Set SAI Channel Mode to Output Mode (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: fsl_sai: Support multiple data channel enable bits (Jaroslav Kysela) [1869536] - [sound] ALSA: soundwire: intel: don't manage link power individually (Jaroslav Kysela) [1869536] - [sound] ALSA: soundwire: intel: pass link_mask information to each master (Jaroslav Kysela) [1869536] - [sound] ALSA: soundwire: intel: add error log for clock-stop invalid configs (Jaroslav Kysela) [1869536] - [sound] ALSA: soundwire: stream: enable hw_sync as needed by hardware (Jaroslav Kysela) [1869536] - [sound] ALSA: soundwire: intel: add multi-link hw_synchronization information (Jaroslav Kysela) [1869536] - [sound] ALSA: soundwire: bus: update multi-link definition with hw sync details (Jaroslav Kysela) [1869536] - [sound] ALSA: soundwire: intel: add missing support for all clock stop modes (Jaroslav Kysela) [1869536] - [sound] ALSA: soundwire: intel: add multi-link support (Jaroslav Kysela) [1869536] - [sound] ALSA: soundwire: intel: ignore software command retries (Jaroslav Kysela) [1869536] - [sound] ALSA: soundwire: intel: disable shim wake on suspend (Jaroslav Kysela) [1869536] - [sound] ALSA: soundwire: fix port_readydynamic allocation in mipi_disco (Jaroslav Kysela) [1869536] - [sound] ALSA: soundwire: add definition for maximum number of ports (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: codecs: soundwire: remove port_readyusage from codecs (Jaroslav Kysela) [1869536] - [sound] ALSA: vx: vx_pcm: remove redundant assignment (Jaroslav Kysela) [1869536] - [sound] ALSA: vx: vx_pcm: remove redundant assignment (Jaroslav Kysela) [1869536] - [sound] ALSA: vx: vx_core: clarify operator precedence (Jaroslav Kysela) [1869536] - [sound] ALSA: rawmidi: (cosmetic) align function parameters (Jaroslav Kysela) [1869536] - [sound] ALSA: atmel: ac97: clarify operator precedence (Jaroslav Kysela) [1869536] - [sound] ALSA: ac97: (cosmetic) align argument names (Jaroslav Kysela) [1869536] - [sound] ALSA: usb: scarless_gen2: fix endianness issue (Jaroslav Kysela) [1869536] - [sound] ALSA: hda: (cosmetic) align function parameters (Jaroslav Kysela) [1869536] - [sound] ALSA: hda: auto_parser: remove shadowed variable declaration (Jaroslav Kysela) [1869536] - [sound] ALSA: aoa: i2sbus: use DECLARE_COMPLETION_ONSTACK() macro (Jaroslav Kysela) [1869536] - [sound] ALSA: core: init: use DECLARE_COMPLETION_ONSTACK() macro (Jaroslav Kysela) [1869536] - [sound] ALSA: compress_offload: remove redundant initialization (Jaroslav Kysela) [1869536] - [sound] ALSA: compress_offload: dereference after checking for NULL pointer (Jaroslav Kysela) [1869536] - [sound] ALSA: core: timer: clarify operator precedence (Jaroslav Kysela) [1869536] - [sound] ALSA: core: timer: remove redundant assignment (Jaroslav Kysela) [1869536] - [sound] ALSA: core: pcm_memory: dereference pointer after NULL checks (Jaroslav Kysela) [1869536] - [sound] ALSA: core: pcm: simplify locking for timers (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: rt5682: Prefer async probe (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: core: remove artificial component and DAI name constraint (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: max9867: shutdown codec when changing filter type (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: AMD: Clean kernel log from deferred probe error messages (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: SOF: Intel: hda: Simplify error handling during FW boot (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: SOF: Intel: hda: Add sof_tgl_ops for TGL platforms (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: SOF: Intel: hda: Define FW boot sequence with ICCMAX (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: SOF: Intel: hda: define macro for code loader stream format (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: SOF: Intel: hda: modify the signature of get_stream_with_tag() (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: SOF: Intel: hda: Add helper function to program ICCMAX stream (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: SOF: Intel: hda: Remove unused parameters in cl_dsp_init() (Jaroslav Kysela) [1869536] - [sound] ALSA: hda: fix VS_LTRC register name (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: SOF: sof-of-dev: Add .arch_ops field (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: SOF: imx: Replace sdev->private with sdev->pdata->hw_pdata (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: SOF: Intel: hda: add extended rom status dump to error log (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: SOF: topology: fix the ipc_size calculation for process component (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: SOF: intel: hda: support also devices with 1 and 3 dmics (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: SOF: fix a runtime pm issue in SOF when HDMI codec doesn't work (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: SOF: Intel: hda: report error only for the last ROM init iteration (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: SOF: loader: Add debug box region (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: SOF: ext_manifest: Parse debug ABI version (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: SOF: loader: fix memory leak in get_ext_windows (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: SOF: IPC: make sof_ipc_window monosized (Jaroslav Kysela) [1869536] - [sound] ALSA: soundwire: intel: fix intel_suspend/resume defined but not used warning (Jaroslav Kysela) [1869536] - [sound] ALSA: hda/ca0132 - Add AE-7 exit commands (Jaroslav Kysela) [1869536] - [sound] ALSA: hda/ca0132 - Add AE-7 custom controls (Jaroslav Kysela) [1869536] - [sound] ALSA: hda/ca0132 - Add AE-7 microphone selection commands (Jaroslav Kysela) [1869536] - [sound] ALSA: hda/ca0132 - Add output selection for SoundBlaster AE-7 (Jaroslav Kysela) [1869536] - [sound] ALSA: hda/ca0132 - Add DSP setup functions for AE-7 (Jaroslav Kysela) [1869536] - [sound] ALSA: hda/ca0132 - Add init data for SoundBlaster AE-7 (Jaroslav Kysela) [1869536] - [sound] ALSA: hda/ca0132 - Add pre-init function for SoundBlaster AE-7 (Jaroslav Kysela) [1869536] - [sound] ALSA: hda/ca0132 - Add ca0132_mmio_init data for SoundBlaster AE-7 (Jaroslav Kysela) [1869536] - [sound] ALSA: hda/ca0132 - Set AE-7 bools and select mixer (Jaroslav Kysela) [1869536] - [sound] ALSA: hda/ca0132 - Add SoundBlaster AE-7 pincfg (Jaroslav Kysela) [1869536] - [sound] ALSA: hda/ca0132 - Add new quirk ID for SoundBlaster AE-7 (Jaroslav Kysela) [1869536] - [sound] ALSA: hda/ca0132 - Fix Recon3D Center/LFE output (Jaroslav Kysela) [1869536] - [sound] ALSA: hda/ca0132 - Add quirk output selection structures (Jaroslav Kysela) [1869536] - [sound] ALSA: hda/ca0132 - Clean up ca0132_alt_out_select (Jaroslav Kysela) [1869536] - [sound] ALSA: hda/ca0132 - Remove surround output selection (Jaroslav Kysela) [1869536] - [sound] ALSA: hda/ca0132 - Add bass redirection controls (Jaroslav Kysela) [1869536] - [sound] ALSA: hda/ca0132 - Add full-range speaker selection controls (Jaroslav Kysela) [1869536] - [sound] ALSA: hda/ca0132 - Add surround channel config control (Jaroslav Kysela) [1869536] - [sound] ALSA: hda/ca0132 - Add speaker tuning initialization commands (Jaroslav Kysela) [1869536] - [sound] ALSA: hda/ca0132 - Cleanup ca0132_mmio_init function (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: hdac_hdmi: tidy up a memset() (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: Intel: use consistent HDAudio spelling in comments/docs (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: SOF: Intel: add dev_dbg log when driver is not selected (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: SOF: acpi: add dev_dbg() log for probe completion (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: SOF: IPC: reduce verbosity of IPC pointer updates (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: SOF: topology: reduce the log level for unhandled widgets (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: SOF: topology: remove unnecessary memory alloc for sdev->private (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: SOF: (cosmetic) use the "bool" type where it makes sense (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: SOF: topology: (cosmetic) remove redundant variable initialisations (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: fsl_sai: Add -EPROBE_DEFER check for regmap init (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: ak5558: Add regulator support (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: Intel: sof_sdw: clean-up inclusion of header files (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: intel: sof_sdw: add rt711 rt1316 rt714 SDCA codec support (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: SOF: Add topology filename override based on dmi data match (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: Intel: sof_rt5682: override quirk data for tgl_max98373_rt5682 (Jaroslav Kysela) [1869536] - [sound] ALSA: SoC: Intel: sof_sdw: Add support for product Ripto (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: Intel: sof_sdw: rename id as part_id (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: Intel: sof_sdw: check SoundWire version when matching codec (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: codecs: max98373-sdw: add missing test on resume (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: Intel: soc-acpi: add support for SDCA boards (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: Intel: soc-acpi: mirror CML and TGL configurations (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: Intel: sof-soundwire: add support for rt5682 on link2 (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: Intel: soc-acpi: cnl: add support for rt5682 on SoundWire link2 (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: Intel: modify SoundWire version id in acpi match table (Jaroslav Kysela) [1869536] - [sound] ALSA: usb-audio: Correct wrongly matching entries with audio class (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: da7219: Fix I/O voltage range configuration during probe (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: intel: sof_sdw: add .exit callback function (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: fsl-asoc-card: add support for TLV320AIC32x4 codec (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: SOF: Intel: add build support for SoundWire (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: qcom: add missing out of memory check on drvdata->clks allocation (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: mediatek: mt6359: add codec driver (Jaroslav Kysela) [1869536] - [sound] ALSA: usb-audio: Properly match with audio interface class (Jaroslav Kysela) [1869536] - [sound] ALSA: usb-audio: Simplify quirk entries with a macro (Jaroslav Kysela) [1869536] - [sound] ALSA: usb-audio: Move device rename and profile quirks to an internal table (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: sun8i-codec: Hook up component probe function (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: samsung: s3c2412-i2s: avoid hardcoded S3C2410_PA_IIS (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: samsung: rx1950: turn into platform driver (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: samsung: neo1973: turn into platform driver (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: codecs: rt*-sdw: use SDW_SLAVE_ENTRY_EXT (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: wm_adsp: Update naming in error handling (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: fsl-asoc-card: Get "extal" clock rate by clk_get_rate (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: qcom: add a dedicated menuconfig (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: wm8962: Export DAC/ADC monomix switches (Jaroslav Kysela) [1869536] - [sound] ALSA: remove duplicate "the the" phrase in Kconfig text (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: SOF: delete repeated words in comments (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: codecs: wm0010: use DECLARE_COMPLETION_ONSTACK() macro (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: simple-card: Use snd_soc_of_parse_aux_devs() (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: core: Add common helper to parse aux devs from device tree (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: ak4458: Add regulator support (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: hdac_hdmi: support 'ELD' mixer (Jaroslav Kysela) [1869536] - [sound] ALSA: sound/soc/intel: Fix spelling mistake "cant" --> "can't" (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: codecs: delete repeated words in comments (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: various vendors: delete repeated words in comments (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: Intel: Skylake: (cosmetic) align function parameters (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: Intel: Skylake: skl-topology: remove redundant assignment (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: Intel: Skylake: skl-topology: remove redundant assignments (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: Intel: Skylake: sst-utils: remove redundant assignment (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: Intel: Skylake: cldma: remove redundant initialization (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: Intel: Skylake: skl-nhlt: remove redundant initialization (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: Intel: haswell-ipc: remove redundant assignments (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: Intel: haswell: (cosmetic) align function parameters (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: Intel: common: (cosmetic) align function parameters (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: Intel: Baytrail: (cosmetic) align function parameters (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: Intel: Atom: (cosmetic) align parameters (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: Intel: Atom: sst_pvt: simplify return handling (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: Intel: Atom: sst_loader: remove always-true condition (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: Intel: Atom: remove useless assignment (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: Intel: Atom: platform-pcm: fix redundant return (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: Intel: Atom: sst_pvt: remove redundant initialization (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: Intel: Atom: remove redundant initialization (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: Intel: Atom: sst: remove useless NULL assignment (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: Intel: Atom: platform-pcm: remove redundant assignment (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: Intel: Atom: compress: remove redundant assignment (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: Intel: Atom: sst-atom-controls: remove redundant assignments (Jaroslav Kysela) [1869536] - [sound] ALSA: soundwire: intel: refine runtime pm for SDW_INTEL_CLK_STOP_BUS_RESET (Jaroslav Kysela) [1869536] - [sound] ALSA: soundwire: intel: support clock_stop mode without quirks (Jaroslav Kysela) [1869536] - [sound] ALSA: soundwire: intel_init: handle power rail dependencies for clock stop mode (Jaroslav Kysela) [1869536] - [sound] ALSA: soundwire: intel: add CLK_STOP_NOT_ALLOWED support (Jaroslav Kysela) [1869536] - [sound] ALSA: soundwire: intel: add CLK_STOP_BUS_RESET support (Jaroslav Kysela) [1869536] - [sound] ALSA: soundwire: intel: add CLK_STOP_TEARDOWN for pm_runtime suspend (Jaroslav Kysela) [1869536] - [sound] ALSA: soundwire: intel: pm_runtime idle scheduling (Jaroslav Kysela) [1869536] - [sound] ALSA: soundwire: intel: reinitialize IP+DSP in .prepare(), but only when resuming (Jaroslav Kysela) [1869536] - [sound] ALSA: soundwire: intel: call helper to reset Slave states on resume (Jaroslav Kysela) [1869536] - [sound] ALSA: soundwire: intel: fix race condition on system resume (Jaroslav Kysela) [1869536] - [sound] ALSA: soundwire: intel: reset pm_runtime status during system resume (Jaroslav Kysela) [1869536] - [sound] ALSA: soundwire: intel: add pm_runtime support (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: da7219: Fix clock handling around codec level probe (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: da7219: Move soft reset handling to codec level probe (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: da7219: Move required devm_* allocations to device level code (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: q6asm-dai: add support to copy callback (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: q6asm-dai: add gapless support (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: q6asm-dai: prepare set params to accept profile change (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: q6asm-dai: add next track metadata support (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: q6asm: add support to gapless flag in q6asm open (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: q6asm: add support to remove intial and trailing silence (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: q6asm: add length to write command token (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: q6asm: use flags directly from q6asm-dai (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: q6asm: make commands specific to streams (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: q6asm: rename misleading session id variable (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: Intel: KMB: Enable TDM audio capture (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: codec: tlv3204: Moving GPIO reset and add ADC reset (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: codec: tlv3204: Increased maximum supported channels (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: codec: tlv3204: Enable 24 bit audio support (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: sun50i-codec-analog: Enable DAPM for earpiece switch (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: sun50i-codec-analog: Enable DAPM for line out switch (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: sun50i-codec-analog: Make line out routes stereo (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: sun50i-codec-analog: Enable DAPM for headphone switch (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: sun50i-codec-analog: Make headphone routes stereo (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: sun50i-codec-analog: Group and sort mixer routes (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: sun50i-codec-analog: Gate the amplifier clock during suspend (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: sun50i-codec-analog: Fix duplicate use of ADC enable bits (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: Intel: bytcht_cx2072x: simplify return handling (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: Intel: rename shadowed variable for all broadwell boards (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: SOF: Intel: hda-codec: move variable used conditionally (Jaroslav Kysela) [1869536] - [sound] ALSA: ASOC: SOF: Intel: hda-codec: move unused label to correct position (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: sun8i-codec: Add a quirk for LRCK inversion (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: sun8i-codec: Add missing mixer routes (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: sun8i-codec: Fix DAPM to match the hardware topology (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: fsl_sai: Replace synchronous check with fsl_sai_dir_is_synced (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: fsl_sai: Drop TMR/RMR settings for synchronous mode (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: fsl_sai: Refine enable/disable TE/RE sequence in trigger() (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: qcom: lpass-platform: Use platform_get_irq (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: qcom: lpass-cpu: Use platform_get_resource (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: qcom: lpass-sc7180: Add platform driver for lpass audio (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: qcom: lpass-cpu: fix concurrency issue (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: qcom: lpass: Use regmap_field for i2sctl and dmactl registers (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: qcom: lpass-platform: fix memory leak (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: qcom: lpass-platform: Replace card->dev with component->dev (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: qcom: lpass-cpu: Move ahbix clk to platform specific function (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: qcom: Add common array to initialize soc based core clocks (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: rt5682: Use dev_dbg() in rt5682_clk_check() (Jaroslav Kysela) [1869536] - [sound] ALSA: soundwire: intel: Add basic power management support (Jaroslav Kysela) [1869536] - [sound] ALSA: soundwire: master: enable pm runtime (Jaroslav Kysela) [1869536] - [sound] ALSA: soundwire: add argument to function definition (Jaroslav Kysela) [1869536] - [sound] ALSA: soundwire: add module_sdw_driver helper macro (Jaroslav Kysela) [1869536] - [sound] ALSA: soundwire: sdw.h: fix indentation (Jaroslav Kysela) [1869536] - [sound] ALSA: soundwire: sdw.h: fix PRBS/Static_1 swapped definitions (Jaroslav Kysela) [1869536] - [sound] ALSA: seq: virmidi: Fix running status after receiving sysex (Jaroslav Kysela) [1869536] - [sound] ALSA: bt87x: use pci_status_get_and_clear_errors (Jaroslav Kysela) [1869536] - [sound] ALSA: hda/realtek - The Mic on a RedmiBook doesn't work (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: core: Do not cleanup uninitialized dais on soc_pcm_open failure (Jaroslav Kysela) [1869536] - [sound] ALSA: hda: fixup headset for ASUS GX502 laptop (Jaroslav Kysela) [1869536] - [sound] ALSA: hda/realtek - Improved routing for Thinkpad X1 7th/8th Gen (Jaroslav Kysela) [1869536] - [sound] ALSA: soundwire: fix double free of dangling pointer (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: Intel: bytcr_rt5640: Add quirk for MPMAN Converter9 2-in-1 (Jaroslav Kysela) [1869536] - [sound] ALSA: hda: use consistent HDAudio spelling in comments/docs (Jaroslav Kysela) [1869536] - [sound] ALSA: hda: add dev_dbg log when driver is not selected (Jaroslav Kysela) [1869536] - [sound] ALSA: hda: fix a runtime pm issue in SOF when integrated GPU is disabled (Jaroslav Kysela) [1869536] - [sound] ALSA: hda: hdmi - add Rocketlake support (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: Intel: haswell: Fix power transition refactor (Jaroslav Kysela) [1869536] - [sound] ALSA: pcm: oss: Remove superfluous WARN_ON() for mulaw sanity check (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: wm8994: Ensure the device is resumed in wm89xx_mic_detect functions (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: wm8994: Skip setting of the WM8994_MICBIAS register for WM1811 (Jaroslav Kysela) [1869536] - [sound] ALSA: hda - Fix silent audio output and corrupted input on MSI X570-A PRO (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: meson: axg-toddr: fix channel order on g12 platforms (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: soc-core: add snd_soc_find_dai_with_mutex() (Jaroslav Kysela) [1869536] - [sound] ALSA: hda/hdmi: always check pin power status in i915 pin fixup (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: qcom: common: Fix refcount imbalance on error (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: rt700: Fix return check for devm_regmap_init_sdw() (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: rt715: Fix return check for devm_regmap_init_sdw() (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: rt711: Fix return check for devm_regmap_init_sdw() (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: rt1308-sdw: Fix return check for devm_regmap_init_sdw() (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: max98373: Fix return check for devm_regmap_init_sdw() (Jaroslav Kysela) [1869536] - [sound] ALSA: hda/realtek: Add quirk for Samsung Galaxy Book Ion NT950XCJ-X716A (Jaroslav Kysela) [1869536] - [sound] ALSA: usb-audio: Add basic capture support for Pioneer DJ DJM-250MK2 (Jaroslav Kysela) [1869536] - [sound] ALSA: usb-audio: Add implicit feedback quirk for UR22C (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: ti: fixup ams_delta_mute() function name (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: pcm3168a: ignore 0 Hz settings (Jaroslav Kysela) [1869536] - [sound] ALSA: Revert "ALSA: hda: Add support for Loongson 7A1000 controller" (Jaroslav Kysela) [1869536] - [sound] ALSA: hda/tegra: Program WAKEEN register for Tegra (Jaroslav Kysela) [1869536] - [sound] ALSA: hda: Fix 2 channel swapping for Tegra (Jaroslav Kysela) [1869536] - [sound] ALSA: ca0106: fix error code handling (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: Intel: tgl_max98373: fix a runtime pm issue in multi-thread case (Jaroslav Kysela) [1869536] - [sound] ALSA: firewire-digi00x: exclude Avid Adrenaline from detection (Jaroslav Kysela) [1869536] - [sound] ALSA: ALSA; firewire-tascam: exclude Tascam FE-8 from detection (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: qcom: Set card->owner to avoid warnings (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: intel: atom: Add period size constraint (Jaroslav Kysela) [1869536] - [sound] ALSA: hda: avoid reset of sdo_limit (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: Intel: skl_hda_dsp_generic: Fix NULLptr dereference in autosuspend delay (Jaroslav Kysela) [1869536] - [sound] ALSA: soundwire: bus: fix typo in comment on INTSTAT registers (Jaroslav Kysela) [1869536] - [sound] ALSA: hda/realtek: Add quirk for Samsung Galaxy Book Ion (Jaroslav Kysela) [1869536] - [sound] ALSA: usb-audio: ignore broken processing/extension unit (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: intel: Fix memleak in sst_media_open (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: wm8994: Avoid attempts to read unreadable registers (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: msm8916-wcd-analog: fix register Interrupt offset (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: wm8994: Prevent access to invalid VU register bits on WM1811 (Jaroslav Kysela) [1869536] - [sound] ALSA: hda/realtek: Add model alc298-samsung-headphone (Jaroslav Kysela) [1869536] - [sound] ALSA: usb-audio: Update documentation comment for MS2109 quirk (Jaroslav Kysela) [1869536] - [sound] ALSA: isa: fix spelling mistakes in the comments (Jaroslav Kysela) [1869536] - [sound] ALSA: usb-audio: Add capture support for Saffire 6 (USB 1.1) (Jaroslav Kysela) [1869536] - [sound] ALSA: hda/realtek: Add quirk for Samsung Galaxy Flex Book (Jaroslav Kysela) [1869536] - [sound] ALSA: echoaudio: Fix potential Oops in snd_echo_resume() (Jaroslav Kysela) [1869536] - [sound] ALSA: hda/hdmi: Use force connectivity quirk on another HP desktop (Jaroslav Kysela) [1869536] - [sound] ALSA: hda/realtek - Fix unused variable warning (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: q6routing: add dummy register read/write function (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: q6afe-dai: mark all widgets registers as SND_SOC_NOPM (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: Make soc_component_read() returning an error code again (Jaroslav Kysela) [1869536] - [sound] ALSA: hda - reverse the setting value in the micmute_led_set (Jaroslav Kysela) [1869536] - [sound] ALSA: echoaduio: Drop superfluous volatile modifier (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: amd: Replacing component->name with codec_dai->name (Jaroslav Kysela) [1869536] - [sound] ALSA: usb-audio: add quirk for Pioneer DDJ-RB (Jaroslav Kysela) [1869536] - [sound] ALSA: usb-audio: work around streaming quirk for MacroSilicon MS2109 (Jaroslav Kysela) [1869536] - [sound] ALSA: hda - fix the micmute led status for Lenovo ThinkCentre AIO (Jaroslav Kysela) [1869536] - [sound] ALSA: usb-audio: fix overeager device match for MacroSilicon MS2109 (Jaroslav Kysela) [1869536] - [sound] ALSA: hda/realtek: Fix pin default on Intel NUC 8 Rugged (Jaroslav Kysela) [1869536] - [sound] ALSA: usb-audio: Creative USB X-Fi Pro SB1095 volume knob support (Jaroslav Kysela) [1869536] - [sound] ALSA: usb-audio: fix spelling mistake "buss" -> "bus" (Jaroslav Kysela) [1869536] - [sound] ALSA: pci: delete repeated words in comments (Jaroslav Kysela) [1869536] - [sound] ALSA: isa: delete repeated words in comments (Jaroslav Kysela) [1869536] - [sound] ALSA: hda/tegra: Add 100us dma stop delay (Jaroslav Kysela) [1869536] - [sound] ALSA: hda: Add dma stop delay variable (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: hda/tegra: Set buffer alignment to 128 bytes (Jaroslav Kysela) [1869536] - [sound] ALSA: seq: oss: Serialize ioctls (Jaroslav Kysela) [1869536] - [sound] ALSA: hda/hdmi: Add quirk to force connectivity (Jaroslav Kysela) [1869536] - [sound] ALSA: usb-audio: add startech usb audio dock name (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: fsl: Fix unused variable warning (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: tegra: tegra210_i2s: Fix compile warning with CONFIG_PM=n (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: tegra: tegra210_dmic: Fix compile warning with CONFIG_PM=n (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: tegra: tegra210_ahub: Fix compile warning with CONFIG_PM=n (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: tegra: tegra210_admaif: Fix compile warning with CONFIG_PM=n (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: tegra: tegra186_dspk: Fix compile warning with CONFIG_PM=n (Jaroslav Kysela) [1869536] - [sound] ALSA: usb-audio: Add support for Lenovo ThinkStation P620 (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: amd: renoir: restore two more registers during resume (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: wm8962: Do not remove ADDITIONAL_CONTROL_4 from readable register list (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: fsl-asoc-card: Remove fsl_asoc_card_set_bias_level function (Jaroslav Kysela) [1869536] - [sound] ALSA: Revert "ALSA: hda: call runtime_allow() for all hda controllers" (Jaroslav Kysela) [1869536] - [sound] ALSA: hda/ca0132 - Fix AE-5 microphone selection commands (Jaroslav Kysela) [1869536] - [sound] ALSA: hda/ca0132 - Add new quirk ID for Recon3D (Jaroslav Kysela) [1869536] - [sound] ALSA: hda/ca0132 - Fix ZxR Headphone gain control get value (Jaroslav Kysela) [1869536] - [sound] ALSA: hda/realtek: Add alc269/alc662 pin-tables for Loongson-3 laptops (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: core: Two step component registration (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: core: Simplify snd_soc_component_initialize declaration (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: core: Relocate and expose snd_soc_component_initialize (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: sh: Replace 'select' DMADEVICES 'with depends on' (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: fsl_sai: Fix value of FSL_SAI_CR1_RFW_MASK (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: core: use less strict tests for dailink capabilities (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: rk3399_gru_sound: Add DAPM pins, kcontrols for jack detection (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: wm8962: Do not access WM8962_GPIO_BASE (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: SOF: imx: use resource_size (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: Intel: drop unnecessary list_empty (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: amd: Added hw_params support for ALC1015 (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: amd: Passing card structure based on codec (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: amd: Renaming snd-soc-card structure and fields (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: samsung: Add sound support for Midas boards (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: Intel: KMB: Rework disable channel function (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: Intel: KMB: Add 8kHz audio support (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: soc-core: Fix regression causing sysfs entries to disappear (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: meson: axg-tdm-formatters: fix sclk inversion (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: meson: axg-tdmin: fix g12a skew (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: meson: axg-tdm-interface: fix link fmt setup (Jaroslav Kysela) [1869536] - [sound] ALSA: hda/realtek - Fixed HP right speaker no sound (Jaroslav Kysela) [1869536] - [sound] ALSA: hda: fix NULL pointer dereference during suspend (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: bcm2835: Silence clk_get() error on -EPROBE_DEFER (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: tas2562: Update shutdown GPIO property (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: SOF: Intel: disable traces when switching to S0Ix D0I3 (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: SOF: Intel: fix the suspend procedure to support s0ix entry (Jaroslav Kysela) [1869536] - [sound] ALSA: hda/hdmi: Fix keep_power assignment for non-component devices (Jaroslav Kysela) [1869536] - [sound] ALSA: hda: Workaround for spurious wakeups on some Intel platforms (Jaroslav Kysela) [1869536] - [sound] ALSA: usb-audio: endpoint : remove needless check before usb_free_coherent() (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: AMD: Restore PME_EN state at Power On (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: intel: use asoc_substream_to_rtd() (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: intel/boards: use asoc_substream_to_rtd() (Jaroslav Kysela) [1869536] - [sound] ALSA: hda/realtek: Fix add a "ultra_low_power" function for intel reference board (alc256) (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: dapm: don't call pm_runtime_* on card device (Jaroslav Kysela) [1869536] - [sound] ALSA: hda/realtek: typo_fix: enable headset mic of ASUS ROG Zephyrus G14(GA401) series with ALC289 (Jaroslav Kysela) [1869536] - [sound] ALSA: hda/realtek: enable headset mic of ASUS ROG Zephyrus G15(GA502) series with ALC289 (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: max98390: update dsm param bin max size (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: max98390: Update dsm init sequence and condition (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: soc-component: don't report of_xlate_dai_name failures (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: qcom: common: Avoid printing errors for -EPROBE_DEFER (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: qcom: apq8016_sbc: Use qcom_snd_parse_of() (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: qcom: common: Parse properties with "qcom, " prefix (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: qcom: common: Support parsing links without DPCM (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: q6afe: Remove unused q6afe_is_rx_port() function (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: qcom: common: Use snd_soc_dai_link_set_capabilities() (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: qcom: Use devm for resource management (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: max98390: Fix dac event dapm mixer (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: fsl-asoc-card: Support configuring dai fmt from DT (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: fsl_esai: add IRQF_SHARED for devm_request_irq (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: tegra: Fix build error due to 64-by-32 division (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: ti: fix SND_SOC_J721E_EVM warnings & errors (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: omap: Replace HTTP links with HTTPS ones (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: wm_adsp: Support new metadata block ID's (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: fsl: Replace HTTP links with HTTPS ones (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: ti: Replace HTTP links with HTTPS ones (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: uniphier: use asoc_substream_to_rtd() (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: mxs: use asoc_substream_to_rtd() (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: xtensa: use asoc_substream_to_rtd() (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: kirkwood: use asoc_substream_to_rtd() (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: sprd: use asoc_substream_to_rtd() (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: generic: use asoc_substream_to_rtd() (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: codecs: use asoc_substream_to_rtd() (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: bcm: use asoc_substream_to_rtd() (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: au1x: use asoc_substream_to_rtd() (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: dwc: use asoc_substream_to_rtd() (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: qcom: use asoc_substream_to_rtd() (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: atmel: use asoc_substream_to_rtd() (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: mediatek: use asoc_substream_to_rtd() (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: fsl: use asoc_substream_to_rtd() (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: amd: use asoc_substream_to_rtd() (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: rockchip: use asoc_substream_to_rtd() (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: cirrus: use asoc_substream_to_rtd() (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: pxa: use asoc_substream_to_rtd() (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: samsung: use asoc_substream_to_rtd() (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: sh: use asoc_substream_to_rtd() (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: sof: use asoc_substream_to_rtd() (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: stm: use asoc_substream_to_rtd() (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: sunxi: use asoc_substream_to_rtd() (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: tegra: use asoc_substream_to_rtd() (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: ti: use asoc_substream_to_rtd() (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: ux500: use asoc_substream_to_rtd() (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: soc-xxx: add asoc_substream_to_rtd() (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: Intel: kbl_rt5663_rt5514_max98927: Fix kabylake_ssp_fixup function (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: hdac_hda: fix deadlock after PCM open error (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: hdac_hda: fix memleak on module unload (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: hdac_hda: call patch_ops.free() on probe error (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: Replace HTTP links with HTTPS ones (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: mediatek: mt8183: support machine driver with max98357b (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: mediatek: mt8183: support left justified format for I2S (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: intel/skl/hda - fix probe regression on systems without i915 (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: SOF: pcm: Update rate/channels for SAI/ESAI DAIs (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: SOF: topology: Update SAI config bclk/fsync rate (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: SOF: imx8: Add SAI dai driver for i.MX/i.MX8X (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: SOF: imx8m: Fix SAI DAI driver for i.MX8M (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: SOF: imx8: Fix ESAI DAI driver name for i.MX8/iMX8X (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: SOF: imx: Use ARRAY_SIZE instead of hardcoded value (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: SOF: define INFO_ flags in dsp_ops for imx8 (Jaroslav Kysela) [1869536] - [sound] ALSA: usb-audio: Add implicit feedback quirk for SSL2 (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: tegra: Add Tegra210 based ADMAIF driver (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: tas2770: Fix reset gpio property name (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: max98357a: move control of SD_MODE back to DAI ops (Jaroslav Kysela) [1869536] - [sound] ALSA: Soundwire: intel_init: save Slave(s) _ADR info in sdw_intel_ctx (Jaroslav Kysela) [1869536] - [sound] ALSA: soundwire: intel: add wake interrupt support (Jaroslav Kysela) [1869536] - [sound] ALSA: soundwire: intel/cadence: merge Soundwire interrupt handlers/threads (Jaroslav Kysela) [1869536] - [sound] ALSA: soundwire: intel_init: add implementation of sdw_intel_enable_irq() (Jaroslav Kysela) [1869536] - [sound] ALSA: soundwire: intel: introduce helper for link synchronization (Jaroslav Kysela) [1869536] - [sound] ALSA: soundwire: intel: introduce a helper to arm link synchronization (Jaroslav Kysela) [1869536] - [sound] ALSA: soundwire: intel: revisit SHIM programming sequences (Jaroslav Kysela) [1869536] - [sound] ALSA: soundwire: intel: report slave_ids for each link to SOF driver (Jaroslav Kysela) [1869536] - [sound] ALSA: soundwire: intel: add clock stop quirks (Jaroslav Kysela) [1869536] - [sound] ALSA: soundwire: intel: add mutex for shared SHIM register access (Jaroslav Kysela) [1869536] - [sound] ALSA: soundwire: intel: add prototype for WAKEEN interrupt processing (Jaroslav Kysela) [1869536] - [sound] ALSA: soundwire: intel: add link_list to handle interrupts with a single thread (Jaroslav Kysela) [1869536] - [sound] ALSA: soundwire: intel: update headers for interrupts (Jaroslav Kysela) [1869536] - [sound] ALSA: soundwire: intel: reuse code for wait loops to set/clear bits (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: intel: board: sof_rt5682: Update rt1015 pll input clk freq (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: Intel: sof_sdw: avoid crash if invalid DSP topology loaded (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: Intel: sof_sdw: add support for systems without i915 audio (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: Intel: sof_sdw_rt711: remove properties in card remove (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: Intel: sof_sdw_rt711: remove hard-coded codec name (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: soc-dai.h: drop a duplicated word (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: wcd9335.h: fix duplicated word (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: tegra20_das.h: delete duplicated words (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: Intel: Skylake: Avoid the use of one-element array (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: tegra: Add Tegra186 based DSPK driver (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: tegra: Add Tegra210 based AHUB driver (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: tegra: Add Tegra210 based I2S driver (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: tegra: Add Tegra210 based DMIC driver (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: tegra: Add support for CIF programming (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: Intel: common: change match table ehl-rt5660 (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: soc-dai: remove .digital_mute (Jaroslav Kysela) [1869536] - [sound] ALSA: Replace the word "slave" in vmaster API (Jaroslav Kysela) [1869536] - [sound] ALSA: asihpi: delete duplicated word (Jaroslav Kysela) [1869536] - [sound] ALSA: Replace HTTP links with HTTPS ones (Jaroslav Kysela) [1869536] - [sound] ALSA: hda/realtek: Fixed ALC298 sound bug by adding quirk for Samsung Notebook Pen S (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: rt5682: optimize the power consumption (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: soc-dai.h: don't use discriminatory terms for comment (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: qcom: qdsp6: Use IS_ERR() instead of IS_ERR_OR_NULL() (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: rt5682: disable MICBIAS and Vref2 widget in default (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: qcom: qdsp6: Use the defined variable to clean code (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: soc-core: snd_soc_dai_digital_mute() for both CPU/Codec (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: atmel: merge .digital_mute() into .mute_stream() (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: meson: fixes the missed kfree() for axg_card_add_tdm_loopback (Jaroslav Kysela) [1869536] - [sound] ALSA: info: Drop WARN_ON() from buffer NULL sanity check (Jaroslav Kysela) [1869536] - [sound] ALSA: line6: Use kmemdup in podhd_set_monitor_level() (Jaroslav Kysela) [1869536] - [sound] ALSA: hda: Add support for Loongson 7A1000 controller (Jaroslav Kysela) [1869536] - [sound] ALSA: Revert "ALSA: pcm: Use SG-buffer only when direct DMA is available" (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: soc-component: Add missed return for calling soc_component_ret (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: fsl: fsl-asoc-card: Trivial: Fix misspelling of 'exists' (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: fsl-asoc-card: Support Headphone and Microphone Jack detection (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: simple-card-utils: Support configure pin_name for asoc_simple_init_jack (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: codecs: ak*: merge .digital_mute() into .mute_stream() (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: codecs: cs*: merge .digital_mute() into .mute_stream() (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: codecs: da*: merge .digital_mute() into .mute_stream() (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: codecs: es*: merge .digital_mute() into .mute_stream() (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: codecs: wm*: merge .digital_mute() into .mute_stream() (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: codecs: alc*: merge .digital_mute() into .mute_stream() (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: codecs: max*: merge .digital_mute() into .mute_stream() (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: codecs: pcm*: merge .digital_mute() into .mute_stream() (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: codecs: ssm*: merge .digital_mute() into .mute_stream() (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: codecs: tas*: merge .digital_mute() into .mute_stream() (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: codecs: tlv*: merge .digital_mute() into .mute_stream() (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: codecs: merge .digital_mute() into .mute_stream() (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: meson: merge .digital_mute() into .mute_stream() (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: spear: merge .digital_mute() into .mute_stream() (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: ti: merge .digital_mute() into .mute_stream() (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: hdmi-codec: merge .digital_mute() into .mute_stream() (Jaroslav Kysela) [1869536] - [sound] ALSA: drm/mediatek: exit earlier if failed to register audio driver (Jaroslav Kysela) [1869536] - [sound] ALSA: drm/i2c/tda998x: Make tda998x_audio_digital_mute static (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: soc-dai.c: add .no_capture_mute support (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: hdmi-codec: return -ENOTSUPP for digital_mute (Jaroslav Kysela) [1869536] - [sound] ALSA: hda: fix snd_hda_codec_cleanup() documentation (Jaroslav Kysela) [1869536] - [sound] ALSA: hda: export snd_hda_codec_cleanup_for_unbind() (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: rt5682: Report the button event in the headset type only (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: Intel: bytcht_es8316: Add missed put_device() (Jaroslav Kysela) [1869536] - [sound] ALSA: hda/realtek - fixup for yet another Intel reference board (Jaroslav Kysela) [1869536] - [sound] ALSA: hda/realtek - Enable Speaker for ASUS UX563 (Jaroslav Kysela) [1869536] - [sound] ALSA: hda/realtek - Enable Speaker for ASUS UX533 and UX534 (Jaroslav Kysela) [1869536] - [sound] ALSA: soundwire: fix the kernel-doc comment (Jaroslav Kysela) [1869536] - [sound] ALSA: usb-audio: Replace blacklist word (Jaroslav Kysela) [1869536] - [sound] ALSA: via82xx: Replace the words whitelist (Jaroslav Kysela) [1869536] - [sound] ALSA: nm256: Replace the words blacklist (Jaroslav Kysela) [1869536] - [sound] ALSA: intel8x0: Replace the words white/blacklist (Jaroslav Kysela) [1869536] - [sound] ALSA: hda: Replace the words white/blacklist (Jaroslav Kysela) [1869536] - [sound] ALSA: es1968: Replace the words white/blacklist (Jaroslav Kysela) [1869536] - [sound] ALSA: ctxfi: Replace the word blacklist (Jaroslav Kysela) [1869536] - [sound] ALSA: bt87x: Replace the words white/blacklist (Jaroslav Kysela) [1869536] - [sound] ALSA: ac97: Replace the words white/blacklist (Jaroslav Kysela) [1869536] - [sound] ALSA: soundwire: intel: don't free dma_data in DAI shutdown (Jaroslav Kysela) [1869536] - [sound] ALSA: soundwire: cadence: allocate/free dma_data in set_sdw_stream (Jaroslav Kysela) [1869536] - [sound] ALSA: soundwire: intel: remove stream allocation/free (Jaroslav Kysela) [1869536] - [sound] ALSA: soundwire: stream: add helper to startup/shutdown streams (Jaroslav Kysela) [1869536] - [sound] ALSA: soundwire: intel: implement get_sdw_stream() operations (Jaroslav Kysela) [1869536] - [sound] ALSA: hda/tegra: Disable sync-write operation (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: ssi: don't use discriminatory terms for debug log (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: siu: don't use discriminatory terms for parameter (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: fsi: don't use discriminatory terms for comment (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: rsnd: don't use discriminatory terms for comment (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: rsnd: don't use discriminatory terms for function names (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: rt5682: Enable Vref2 under using PLL2 (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: rockchip: spdif: Handle clk by pm runtime (Jaroslav Kysela) [1869536] - [sound] ALSA: echoaudio: re-enable IRQs on failure path (Jaroslav Kysela) [1869536] - [sound] ALSA: line6: add hw monitor volume control for POD HD500 (Jaroslav Kysela) [1869536] - [sound] ALSA: hda/realtek: Enable headset mic of Acer TravelMate B311R-31 with ALC256 (Jaroslav Kysela) [1869536] - [sound] ALSA: hda/realtek: enable headset mic of ASUS ROG Zephyrus G14(G401) series with ALC289 (Jaroslav Kysela) [1869536] - [sound] ALSA: hda/realtek - change to suitable link model for ASUS platform (Jaroslav Kysela) [1869536] - [sound] ALSA: usb-audio: Fix race against the error recovery URB submission (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: Intel: cht_bsw_rt5672: Improve dai-set-fmt comment in cht_codec_fixup() (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: mediatek: mt8183-da7219: support HDMI jack reporting (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: mediatek: mt8183-da7219: use hdmi-codec (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: mediatek: mt8183: use hdmi-codec (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: fsl_spdif: Add kctl for configuring TX validity bit (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: fsl_spdif: Clear the validity bit for TX (Jaroslav Kysela) [1869536] - [sound] ALSA: line6: Sync the pending work cancel at disconnection (Jaroslav Kysela) [1869536] - [sound] ALSA: line6: Perform sanity check for each URB creation (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: codecs: ak4458: Remove set but never checked variable 'ret' (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: codecs: tlv320aic26: Demote seemingly unintentional kerneldoc header (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: codecs: rt5659: Remove many unused const variables (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: codecs: rt5631: fix spurious kernel-doc start and missing arguments (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: ux500: ux500_msp_i2s: Remove unused variables 'reg_val_DR' and 'reg_val_TSTDR' (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: pxa: pxa-ssp: Demote seemingly unintentional kerneldoc header (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: sunxi: sun4i-spdif: Fix misspelling of 'reg_dac_txdata' in kernel-doc (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: sunxi: sun4i-i2s: add missing clock and format arguments in kernel-doc (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: qcom: qdsp6: q6asm: Provide documentation for 'codec_profile' (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: sti: uniperif: fix 'defined by not used' warning (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: atmel-pdmic: remove codec component (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: atmel-classd: remove codec component (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: codecs: rt*: fix 'defined but not used' warning (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: codecs: max98390: fix 'defined but not used' warning (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: codecs: es8316: fix 'defined but not used' warning (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: ti: omap-mcbsp-st: Remove set, but unused variable 'w' (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: codecs: jz4770: Remove defined but never used variable 'mic_boost_tlv' (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: codecs: da7219: fix 'defined but not used' warning (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: codecs: da7210: fix kernel-doc (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: uniphier: aio-core: fix kernel-doc (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: tegra: tegra20_das: remove always-true comparison (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: samsung: pcm: fix kernel-doc (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: samsung: spdif: fix kernel-doc (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: atmel: fix kernel-doc (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: Intel: sdw_max98373: add card_late_probe support (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: Intel: sof-sdw: add MAX98373 I2C dependencies (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: codecs: max98373: add SoundWire support (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: codecs: max98373: split I2C and common parts (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: mediatek: mt8183-da7219: support machine driver with rt1015 (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: mediatek: mt8183-da7219: extract codec and DAI names (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: mediatek: mt8183-da7219: remove forward declaration of headset_init (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: mediatek: mt8183-da7219: sort header inclusions in alphabetical (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: rt286: fix unexpected interrupt happens (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: wm8974: remove unsupported clock mode (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: wm8974: fix Boost Mixer Aux Switch (Jaroslav Kysela) [1869536] - [sound] ALSA: xen: Remove superfluous fall through comments (Jaroslav Kysela) [1869536] - [sound] ALSA: atmel: Remove invalid "fall through" comments (Jaroslav Kysela) [1869536] - [sound] ALSA: echoaudio: Address bugs in the interrupt handling (Jaroslav Kysela) [1869536] - [sound] ALSA: echoaudio: Prevent some noise on unloading the module (Jaroslav Kysela) [1869536] - [sound] ALSA: echoaudio: Prevent races in calls to set_audio_format() (Jaroslav Kysela) [1869536] - [sound] ALSA: echoaudio: Race conditions around "opencount" (Jaroslav Kysela) [1869536] - [sound] ALSA: echoaudio: Remove redundant check (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: amd: fixed kernel warnings (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: mediatek: mt8183: support machine driver with rt1015 (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: mediatek: mt8183: sort header inclusions in alphabetical (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: qdsp6: use dev_err instead of pr_err (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: q6asm: add command opcode to timeout error report (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: SOF: core: fix null-ptr-deref bug during device removal (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoc: codecs: max98373: remove Idle_bias_on to let codec suspend (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: codecs: max98373: Removed superfluous volume control from chip default (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: topology: add more logs when topology load fails (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: topology: factor kfree(se) in error handling (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: topology: use break on errors, not continue (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: topology: fix tlvs in error handling for widget_dmixer (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: topology: fix kernel oops on route addition error (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: SOF: imx: add min/max channels for SAI/ESAI on i.MX8/i.MX8M (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: Intel: bdw-rt5677: fix non BE conversion (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: soc-dai: set dai_link dpcm_ flags with a helper (Jaroslav Kysela) [1869536] - [sound] ALSA: usb/line6: remove 'defined but not used' warning (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: fsl: mpc8610_hpcd: Add missing of_node_put() (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: da7213: add default clock handling (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: amd: add ACPI dependency check (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: amd: raven: acp3x-i2s: remove unused-but-set variable (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: amd: raven: acp3x-pcm-dma: remove unused-but-set variable (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: amd: raven: acp3x-i2s: fix 'set but not used' warning (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: amd: raven: acp3x-pcm-dma: fix 'set but not used' warning (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: amd: acp-rt5645: fix 'defined but not used' warning (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: amd: acp-da7219-max98357a: fix 'defined but not used' warning (Jaroslav Kysela) [1869536] - [sound] ALSA: pcm: Fix build error on m68k and others (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: core: Remove only the registered component in devm functions (Jaroslav Kysela) [1869536] - [sound] ALSA: hda/hdmi: Add Intel silent stream support (Jaroslav Kysela) [1869536] - [sound] ALSA: pci/au88x0: remove "defined but not used" warnings (Jaroslav Kysela) [1869536] - [sound] ALSA: vx_core: remove warning for empty loop body (Jaroslav Kysela) [1869536] - [sound] ALSA: pcmcia/pdaudiocf: fix kernel-doc (Jaroslav Kysela) [1869536] - [sound] ALSA: pci/via82xx: remove 'set but not used' warnings (Jaroslav Kysela) [1869536] - [sound] ALSA: pci/fm801: fix kernel-doc (Jaroslav Kysela) [1869536] - [sound] ALSA: pci/es1938: remove 'set but not used' warning (Jaroslav Kysela) [1869536] - [sound] ALSA: xen: remove 'set but not used' warning (Jaroslav Kysela) [1869536] - [sound] ALSA: pci/oxygen/xonar_wm87x6: remove always true condition (Jaroslav Kysela) [1869536] - [sound] ALSA: pci/rme9652/hdspm: remove always true condition (Jaroslav Kysela) [1869536] - [sound] ALSA: pci/korg1212: remove 'set but not used' warnings (Jaroslav Kysela) [1869536] - [sound] ALSA: pci/emu10k1: remove 'set but not used' warning (Jaroslav Kysela) [1869536] - [sound] ALSA: firewire: fix kernel-doc (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: pci/emu10k1: remove "set but not used' warnings (Jaroslav Kysela) [1869536] - [sound] ALSA: pci/ctxfi: fix kernel-doc warnings (Jaroslav Kysela) [1869536] - [sound] ALSA: pci/ctxfi/ctatc: fix kernel-doc (Jaroslav Kysela) [1869536] - [sound] ALSA: pci/aw2-saa7146: remove 'set but not used' warning (Jaroslav Kysela) [1869536] - [sound] ALSA: pci/echoaudio: remove 'set but not used' warning (Jaroslav Kysela) [1869536] - [sound] ALSA: pci/asihpi: remove 'set but not used' warning (Jaroslav Kysela) [1869536] - [sound] ALSA: pci/asihpi: fix kernel-doc (Jaroslav Kysela) [1869536] - [sound] ALSA: pci/asihpi: remove 'set but not used' warnings (Jaroslav Kysela) [1869536] - [sound] ALSA: isa/gus: remove 'set but not used' warning (Jaroslav Kysela) [1869536] - [sound] ALSA: isa/gus: remove -Wmissing-prototypes warnings (Jaroslav Kysela) [1869536] - [sound] ALSA: compress: fix partial_drain completion state (Jaroslav Kysela) [1869536] - [sound] ALSA: usb-audio: Add implicit feedback quirk for RTX6001 (Jaroslav Kysela) [1869536] - [sound] ALSA: hda: fix SND_HDA_GENERIC kconfig & build (Jaroslav Kysela) [1869536] - [sound] ALSA: usb-audio: add quirk for MacroSilicon MS2109 (Jaroslav Kysela) [1869536] - [sound] ALSA: core: pcm_iec958: fix kernel-doc (Jaroslav Kysela) [1869536] - [sound] ALSA: hda/realtek: Enable headset mic of Acer Veriton N4660G with ALC269VC (Jaroslav Kysela) [1869536] - [sound] ALSA: hda/realtek: Enable headset mic of Acer C20-820 with ALC269VC (Jaroslav Kysela) [1869536] - [sound] ALSA: hda/realtek - Enable audio jacks of Acer vCopperbox with ALC269VC (Jaroslav Kysela) [1869536] - [sound] ALSA: hda/realtek - Fix Lenovo Thinkpad X1 Carbon 7th quirk subdevice id (Jaroslav Kysela) [1869536] - [sound] ALSA: hda/hdmi: improve debug traces for stream lookups (Jaroslav Kysela) [1869536] - [sound] ALSA: hda/hdmi: fix failures at PCM open on Intel ICL and later (Jaroslav Kysela) [1869536] - [sound] ALSA: opl3: fix infoleak in opl3 (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: codecs: wm8400: remove unused variables (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: soc-ac97: fix kernel-doc (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: amd: add logic to check dmic hardware runtime (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: ti: j721e-evm: Fix missing unlock on error in j721e_audio_hw_params() (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: fsl: fsl_esai: fix kernel-doc (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: fsl: fsl_asrc: fix kernel-doc (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: fsl: fsl_spdif: fix kernel-doc (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: fsl: fsl-asoc-card: fix kernel-doc (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: fsl: fsl_ssi: fix kernel-doc (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: fsl: fsl_ssi_dbg: remove spurious kernel-doc comment start (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: rt5670: Rename dev_gpio to gpio1_is_irq (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: rt5670: Remove struct rt5670_platform_data (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: Intel: bxt-da7219-max98357a: return -EINVAL on unrecognized speaker amplifier (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: codecs: wm8994: fix kernel-doc (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: codecs: wm9713: remove spurious kernel-doc comment start (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: codecs: wm8960: fix kernel-doc (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: codecs: wm8986: fix missing kernel-doc arguments (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: codecs: cs42l42: remove always-true comparisons (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: codecs: cs4270: fix kernel-doc (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: SOF: sof-acpi-dev: fix 'defined but unused' warning (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: Intel: atom: fix 'defined but not used' warning (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: Intel: atom: fix kernel-doc (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: Intel: bxt-da7219-max98357a: support MAX98390 speaker amp (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: fsl_asrc: Add an option to select internal ratio mode (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: amd: Enable interrupt in dma_open (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: Intel: KeemBay: Fix header guard (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: fsl_sai: Refine regcache usage with pm runtime (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: ti: Add custom machine driver for j721e EVM (CPB and IVI) (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: ti: davinci-mcasp: Specify stream_name for playback/capture (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: rockchip: add format and rate constraints on rk3399 (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: amd: Rectifying Unbalanced pm_runtime_enable! issue (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: rt5682: cancel jack_detect_work if hs_jack is set to null even soundwire mode (Jaroslav Kysela) [1869536] - [sound] ALSA: usb-audio: Fix some typos (Jaroslav Kysela) [1869536] - [sound] ALSA: usb-audio: Replace s/frame/packet/ where appropriate (Jaroslav Kysela) [1869536] - [sound] ALSA: usb-audio: Fix packet size calculation (Jaroslav Kysela) [1869536] - [sound] ALSA: soundwire: bus: initialize bus clock base and scale registers (Jaroslav Kysela) [1869536] - [sound] ALSA: soundwire: add definitions for 1.2 spec (Jaroslav Kysela) [1869536] - [sound] ALSA: soundwire: remove multiple blank lines (Jaroslav Kysela) [1869536] - [sound] ALSA: soundwire: extend SDW_SLAVE_ENTRY (Jaroslav Kysela) [1869536] - [sound] ALSA: soundwire: bus_type: convert open-coded while() to for() loop (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: rt5670: Fix dac- and adc- vol-tlv values being off by a factor of 10 (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: rt5670: Add new gpio1_is_ext_spk_en quirk and enable it on the Lenovo Miix 2 10 (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: rt5670: Correct RT5670_LDO_SEL_MASK (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: Intel: cht_bsw_rt5672: Change bus format to I2S 2 channel (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: tas2562: Add voltage sense slot configuration (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: tas2562: Add right and left channel slot programming (Jaroslav Kysela) [1869536] - [sound] ALSA: asoc: Update supported rate and format for dummy dai (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: qcom: Drop HAS_DMA dependency to fix link failure (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: Intel: sof_sdw: Add MAX98373 support (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: samsung: Fix a typo in Kconfig (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: Intel: common: add match table for TGL MAX98373 + RT5682 SoundWire driver (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoc: Intel: cml_rt1011_rt5682: explicitly access first codec (Jaroslav Kysela) [1869536] - [sound] ALSA: snd/soc: correct trivial kernel-doc inconsistency (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: Intel: Boards: tgl_max98373: Update TDM configuration in hw_params (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: intel: cml_rt1011_rt5682: use for_each_card_prelinks (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: Intel: Boards: cml_rt1011_rt5682: use statically define codec config (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: Intel: Boards: cml_rt1011_rt5682: reduce log level for printing quirk (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: intel: sof_rt5682: Add support for jsl-max98360a-rt5682 (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: Intel: Boards: tgl_max98373: Fix the comment for max_98373_components (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: Intel: Boards: tgl_max98373: add dai_trigger function (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: Intel: boards: byt*.c: remove cast in dev_info quirk log (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: Intel: sof_sdw: add quirk override with kernel parameter (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: Intel: bxt_rt298: add missing .owner field (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: Intel: sof_sdw: add missing .owner field (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: Intel: cml_rt1011_rt5682: add missing .owner field (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: SOF: nocodec: add missing .owner field (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: rt1015: add missing header inclusion (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: dapm: declare missing structure prototypes (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: core: move definition of enum snd_soc_bias_level (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: tas2562: Fix format issue for extra space before a comma (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: tas2562: Update shutdown GPIO property (Jaroslav Kysela) [1869536] - [sound] ALSA: AsoC: amd: add missing snd- module prefix to the acp3x-rn driver kernel module (Jaroslav Kysela) [1869536] - [sound] ALSA: core: Warn on empty module (Jaroslav Kysela) [1869536] - [sound] ALSA: hda - let hs_mic be picked ahead of hp_mic (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: fsl-asoc-card: Add WM8524 support (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: rt5682: fix the pop noise while OMTP type headset plugin (Jaroslav Kysela) [1869536] - [sound] ALSA: usb-audio: Fix OOB access of mixer element list (Jaroslav Kysela) [1869536] - [sound] ALSA: usb-audio: add quirk for Samsung USBC Headset (AKG) (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: rt1011: fix KASAN out-of-bounds bug in find_next_bit() (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: mediatek: mt8183-da7219: set playback and capture constraints (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: fsl_easrc: Fix uninitialized scalar variable in fsl_easrc_set_ctx_format (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: intel: cml_rt1011_rt5682: disable jack in dailink .exit() (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: intel: sof_rt5682: move disabling jack to dai link's exit() (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: Intel: kbl-rt5660: use .exit() dailink callback to release gpiod (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: Intel: bdw-rt5677: fix module load/unload issues (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: soc-link: introduce exit() callback (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: fsl_mqs: Fix unchecked return value for clk_prepare_enable (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: fsl_mqs: Don't check clock is NULL before calling clk API (Jaroslav Kysela) [1869536] - [sound] ALSA: usb-audio: Add registration quirk for Kingston HyperX Cloud Flight S (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: wm_adsp: Add controls for calibration and diagnostic FW (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: remove snd_soc_component_read32() (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: codecs: ak*: rename to snd_soc_component_read() (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: codecs: cs*: rename to snd_soc_component_read() (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: codecs: da*: rename to snd_soc_component_read() (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: codecs: rt*: rename to snd_soc_component_read() (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: codecs: wm*: rename to snd_soc_component_read() (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: codecs: alc*: rename to snd_soc_component_read() (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: codecs: msm*: rename to snd_soc_component_read() (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: codecs: max*: rename to snd_soc_component_read() (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: codecs: tlv*: rename to snd_soc_component_read() (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: codecs: wcd*: rename to snd_soc_component_read() (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: codecs: rename to snd_soc_component_read() (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: atmel: rename to snd_soc_component_read() (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: pxa: rename to snd_soc_component_read() (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: soc-component: use io_mutex correctly (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: soc-component: merge snd_soc_component_read() and snd_soc_component_read32() (Jaroslav Kysela) [1869536] - [sound] ALSA: soundwire: qcom: Constify static structs (Jaroslav Kysela) [1869536] - [sound] ALSA: soundwire: intel: transition to 3 steps initialization (Jaroslav Kysela) [1869536] - [sound] ALSA: soundwire: intel_init: pass link information as platform data (Jaroslav Kysela) [1869536] - [sound] ALSA: soundwire: intel_init: use devm_ allocation (Jaroslav Kysela) [1869536] - [sound] ALSA: soundwire: intel_init: remove useless test (Jaroslav Kysela) [1869536] - [sound] ALSA: soundwire: intel: clarify drvdata and remove more indirections (Jaroslav Kysela) [1869536] - [sound] ALSA: soundwire: intel: cleanups for indirections/logs (Jaroslav Kysela) [1869536] - [sound] ALSA: soundwire: intel: fix memory leak with devm_kasprintf (Jaroslav Kysela) [1869536] - [sound] ALSA: soundwire: bus: clock_stop: don't deal with UNATTACHED Slave devices (Jaroslav Kysela) [1869536] - [sound] ALSA: soundwire: Replace 'objs' by 'y' (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: fsl_spdif: Add pm runtime function (Jaroslav Kysela) [1869536] - [sound] ALSA: hda: Enable sync-write operation as default for all controllers (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: rockchip: Fix a reference count leak (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: amd: Removing unnecessary instance initialization (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: amd: closing specific instance (Jaroslav Kysela) [1869536] - [sound] ALSA: hda: Let LED cdev handling suspend/resume (Jaroslav Kysela) [1869536] - [sound] ALSA: hda/realtek: Unify LED helper code (Jaroslav Kysela) [1869536] - [sound] ALSA: hda/sigmatel: Use the new vmaster mute LED helper (Jaroslav Kysela) [1869536] - [sound] ALSA: hda/conexant: Use the new vmaster mute LED helper (Jaroslav Kysela) [1869536] - [sound] ALSA: hda/realtek: Use the new vmaster mute LED helper (Jaroslav Kysela) [1869536] - [sound] ALSA: hda: generic: Add vmaster mute LED helper (Jaroslav Kysela) [1869536] - [sound] ALSA: hda: generic: Drop the old mic-mute LED hook (Jaroslav Kysela) [1869536] - [sound] ALSA: hda: generic: Drop unused snd_hda_gen_fixup_micmute_led() (Jaroslav Kysela) [1869536] - [sound] ALSA: hda/sigmatel: Convert to cdev-variant of mic-mute LED controls (Jaroslav Kysela) [1869536] - [sound] ALSA: hda/conexant: Convert to cdev-variant of mic-mute LED controls (Jaroslav Kysela) [1869536] - [sound] ALSA: hda/realtek: Convert to cdev-variant of mic-mute LED controls (Jaroslav Kysela) [1869536] - [sound] ALSA: hda: generic: Add a helper for mic-mute LED with LED classdev (Jaroslav Kysela) [1869536] - [sound] ALSA: hda: generic: Always call led-trigger for mic mute LED (Jaroslav Kysela) [1869536] - [sound] ALSA: hda: Intel: add missing PCI IDs for ICL-H, TGL-H and EKL (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: Intel: broadwell: simplify card names for SOF uses (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: Intel: cht*: simplify card names for SOF uses (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: Intel: byt*: simplify card names for SOF uses (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: hdac_hda: fix memleak with regmap not freed on remove (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: SOF: Intel: add PCI IDs for ICL-H and TGL-H (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: SOF: Intel: add PCI ID for CometLake-S (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: Intel: SOF: merge COMETLAKE_LP and COMETLAKE_H (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: meson: imply acodec glue on axg sound card (Jaroslav Kysela) [1869536] - [sound] ALSA: hda/realtek: Add mute LED and micmute LED support for HP systems (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: fsl_spdif: Add support for imx6sx platform (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: fsl-asoc-card: Add MQS support (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: tegra: Fix reference count leaks (Jaroslav Kysela) [1869536] - [sound] ALSA: usb-audio: Fix potential use-after-free of streams (Jaroslav Kysela) [1869536] - [sound] ALSA: hda/realtek - Add quirk for MSI GE63 laptop (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: rt1015: Flush DAC data before playback (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: fsl_ssi: Fix bclk calculation for mono channel (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: SOF: Replace zero-length array with flexible-array (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: AMD: Use mixer control to switch between DMICs (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: max98390: Add Amp init common setting func (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: rt5682: DAI wclk supports 44100 Hz output (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: rt5682: Let PLL2 support the freq conversion for 44100Hz sample rate (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: rl6231: Add new supports on rl6231 (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: img-parallel-out: Fix a reference count leak (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: img: Fix a reference count leak in img_i2s_in_set_fmt (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: wm8960: Support headphone jack detection function (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: samsung: Add driver for Aries boards (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: wm0010: Use kmemdup rather than duplicating its implementation (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: Intel: Add makefiles and kconfig changes for KeemBay (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: Intel: Add KeemBay platform driver (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: mediatek: mt6358: support DMIC one-wire mode (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: fsl_easrc: Fix "Function parameter not described" warnings (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: fsl_easrc: Fix -Wunused-but-set-variable (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: fsl_easrc: Fix -Wmissing-prototypes warning (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: soc-component: tidyup Copyright (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: soc-component: merge soc_pcm_trigger_start/stop() (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: soc-component: merge soc-io.c into soc-component.c (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: soc-component: add snd_soc_component_init() (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: soc-component: add snd_soc_pcm_component_trigger() (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: soc-component: add snd_soc_pcm_component_hw_free() (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: soc-component: add snd_soc_pcm_component_hw_params() (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: soc-component: add snd_soc_pcm_component_prepare() (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: soc-component: add soc_component_err() (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: soc-component: move snd_soc_component_initialize() to soc-component.c (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: soc-component: move snd_soc_component_xxx_regmap() to soc-component (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: soc-component: add soc_component_pin() and share code (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: soc-pcm/compress: reduce verbosity on mapping ok messages (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: soc-pcm: improve error messages in soc_pcm_new() (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: soc-core: reduce verbosity of BE override message (Jaroslav Kysela) [1869536] - [sound] ALSA: pcm: Use SG-buffer only when direct DMA is available (Jaroslav Kysela) [1869536] - [sound] ALSA: memalloc: Make SG-buffer helper usable for continuous buffer, too (Jaroslav Kysela) [1869536] - [sound] ALSA: memalloc: Initialize all fields of snd_dma_buffer properly (Jaroslav Kysela) [1869536] - [sound] ALSA: pcm: Use dma_mmap_coherent() on x86, too (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: max98357a: add compatible string for MAX98360A (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: SOF: Intel: hda: Clear RIRB status before reading WP (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: rt1015: Update rt1015 default register value according to spec modification (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: qcom: common: set correct directions for dailinks (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoc: q6afe: add support to get port direction (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: soc-pcm: fix checks for multi-cpu FE dailinks (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: rt5682: Let dai clks be registered whether mclk exists or not (Jaroslav Kysela) [1869536] - [sound] ALSA: firewire-motu: wait for notification when changing clock configuration for protocol v3 (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: soc-topology: use devm_snd_soc_register_dai() (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: soc-devres: add devm_snd_soc_register_dai() (Jaroslav Kysela) [1869536] - [sound] ALSA: usb-audio: Set 48 kHz rate for Rodecaster (Jaroslav Kysela) [1869536] - [sound] ALSA: usb-audio: add quirk for Denon DCD-1500RE (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: fsl_asrc_dma: Fix data copying speed issue with EDMA (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: fsl_asrc_dma: Reuse the dma channel if available in Back-End (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: dmaengine_pcm: export soc_component_to_pcm (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: soc-card: export snd_soc_lookup_component_nolocked (Jaroslav Kysela) [1869536] - [sound] ALSA: usb-audio: Add implicit feedback quirk for SSL2+ (Jaroslav Kysela) [1869536] - [sound] ALSA: hda: Add NVIDIA codec IDs 9a & 9d through a0 to patch table (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: q6asm: handle EOS correctly (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: max98390: Update regmap readable reg and volatile (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: rt5645: Add platform-data for Asus T101HA (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: Intel: bytcr_rt5640: Add quirk for Toshiba Encore WT10-A tablet (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: SOF: nocodec: conditionally set dpcm_capture/dpcm_playback flags (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: Intel: boards: replace capture_only by dpcm_capture (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: core: only convert non DPCM link to DPCM link (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: soc-pcm: dpcm: fix playback/capture checks (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: soc-pcm: dpcm: Only allow playback/capture if supported (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: meson: add missing free_irq() in error path (Jaroslav Kysela) [1869536] - [sound] ALSA: pcm: disallow linking stream to itself (Jaroslav Kysela) [1869536] - [sound] ALSA: usb-audio: Manage auto-pm of all bundled interfaces (Jaroslav Kysela) [1869536] - [sound] ALSA: hda/realtek - add a pintbl quirk for several Lenovo machines (Jaroslav Kysela) [1869536] - [sound] ALSA: pcm: fix snd_pcm_link() lockdep splat (Jaroslav Kysela) [1869536] - [sound] ALSA: usb-audio: Use the new macro for HP Dock rename quirks (Jaroslav Kysela) [1869536] - [sound] ALSA: usb-audio: Add vendor, product and profile name for HP Thunderbolt Dock (Jaroslav Kysela) [1869536] - [sound] ALSA: emu10k1: delete an unnecessary condition (Jaroslav Kysela) [1869536] - [sound] ALSA: usb-audio: Fix inconsistent card PM state after resume (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: max98390: Fix potential crash during param fw loading (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: max98390: Fix incorrect printf qualifier (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: fsl-asoc-card: Defer probe when fail to find codec device (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: rl6231: Modify the target DMIC clock rate (Jaroslav Kysela) [1869536] - [sound] ALSA: es1688: Add the missed snd_card_free() (Jaroslav Kysela) [1869536] - [sound] ALSA: hda: add sienna_cichlid audio asic id for sienna_cichlid up (Jaroslav Kysela) [1869536] - [sound] ALSA: usb-audio: Add Pioneer DJ DJM-900NXS2 support (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: qcom: q6asm-dai: kCFI fix (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: soc-card: add snd_soc_card_remove_dai_link() (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: soc-card: add snd_soc_card_add_dai_link() (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: soc-card: add snd_soc_card_set_bias_level_post() (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: soc-card: add snd_soc_card_set_bias_level() (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: soc-card: add snd_soc_card_remove() (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: soc-card: add snd_soc_card_late_probe() (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: soc-card: add snd_soc_card_probe() (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: soc-card: add probed bit field to snd_soc_card (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: soc-card: add snd_soc_card_resume_post() (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: soc-card: add snd_soc_card_resume_pre() (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: soc-card: add snd_soc_card_suspend_post() (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: soc-card: add snd_soc_card_suspend_pre() (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: soc-card: move snd_soc_card_subclass to soc-card (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: soc-card: move snd_soc_card_get_codec_dai() to soc-card (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: soc-card: move snd_soc_card_set/get_drvdata() to soc-card (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: soc-card: move snd_soc_card_jack_new() to soc-card (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: soc-card: move snd_soc_card_get_kcontrol() to soc-card (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: add soc-card.c (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: soc.h: convert bool to bit field for snd_soc_card (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: sof_pcm512x: remove CONFIG_SND_HDA_CODEC_HDMI condition (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: sof-sdw: remove CONFIG_SND_SOC_SOF_HDA_AUDIO_CODEC condition (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: intel: add depends on SND_SOC_SOF_HDA_AUDIO_CODEC for common hdmi (Jaroslav Kysela) [1869536] - [sound] ALSA: usb-audio: Fixing usage of plain int instead of NULL (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: SOF: Intel: hda: fix generic hda codec support (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: SOF: Intel: Baytrail: fix 'defined but not used' warnings (Jaroslav Kysela) [1869536] - [sound] ALSA: Subject:ASoC: soc-pcm: fix BE dai not hw_free and shutdown during mixer update (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: reduce verbosity of error messages for sof-dai and sof-link (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: fsl_asrc_dma: Fix dma_chan leak when config DMA channel failed (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: rt1015: Enable class-D silence and clock detections (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: img-i2s-out: Fix runtime PM imbalance on error (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: topology: remove the redundant pass checks (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: topology: refine and log the header in the correct pass (Jaroslav Kysela) [1869536] - [sound] ALSA: ac97: Remove sound driver for ancient platform (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: amd: Removing unnecessary instance initialization (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: sta32x: add missed function calls in error paths (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: rt5682: split i2c driver into separate module (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: nau8810: add I2C device and compatible ID (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: ingenic: Unconditionally depend on devicetree (Jaroslav Kysela) [1869536] - [sound] ALSA: usb-audio: Clean up quirk entries with macros (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: mmp-sspa: Fix return value check in asoc_mmp_sspa_probe() (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: wm8962: Fix runtime PM imbalance on error (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: img-spdif-in: Fix runtime PM imbalance on error (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: img-spdif-out: Fix runtime PM imbalance on error (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: SOF: Intel: BYT: harden IPC initialization and handling (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: SOF: Intel: BYT: mask BUSY or DONE interrupts in handler (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: SOF: Intel: BYT: add .remove op (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: SOF: ipc: ignore DSP replies received when they are not expected (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: Intel: byt/cht: add .pm_ops (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: Intel: bytcr_rt5640/51: remove .ignore_suspend (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: SOF: pm: handle resume on legacy Intel platforms (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: SOF: Intel: byt: Add PM callbacks (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: dapm: Move dai_link widgets to runtime to fix use after free (Jaroslav Kysela) [1869536] - [sound] ALSA: hda/realtek - Add new codec supported for ALC287 (Jaroslav Kysela) [1869536] - [sound] ALSA: usb-audio: Quirks for Gigabyte TRX40 Aorus Master onboard audio (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: tas2552: Fix runtime PM imbalance in tas2552_component_probe (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: fix incomplete error-handling in img_i2s_in_probe (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: ti: Fix runtime PM imbalance in omap2_mcbsp_set_clks_src (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: fix semicolon.cocci warnings (Jaroslav Kysela) [1869536] - [sound] ALSA: usb-audio: mixer: volume quirk for ESS Technology Asus USB DAC (Jaroslav Kysela) [1869536] - [sound] ALSA: hda/realtek - Add a model for Thinkpad T570 without DAC workaround (Jaroslav Kysela) [1869536] - [sound] ALSA: hwdep: fix a left shifting 1 by 31 UB bug (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: fsl_asrc: Merge suspend/resume function to runtime_suspend/resume (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: fsl: imx-audmix: Fix unused assignment to variable 'ret' (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: fsl_asrc: Fix -Wmissing-prototypes warning (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: max98390: Added Amplifier Driver (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: SOF: ext_manifest: parse compiler version (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: SOF: ext_manifest: parse windows (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: SOF: ext_manifest: parse firmware version (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: SOF: Introduce extended manifest (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: SOF: loader: Adjust validation condition for fw_offset (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: soc-link: add snd_soc_link_compr_set_params() (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: soc-link: add snd_soc_link_compr_shutdown() (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: soc-link: add snd_soc_link_compr_startup() (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: soc-link: add snd_soc_link_be_hw_params_fixup() (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: soc-link: remove unneeded parameter from snd_soc_link_xxx() (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: soc-link: move soc_rtd_xxx() (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: add soc-link.c (Jaroslav Kysela) [1869536] - [sound] ALSA: firewire-motu: add support for MOTU UltraLite-mk3 (FireWire only model) (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: max9867: keep ADCs and DACs always on (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: max9867: add digital microphone controls (Jaroslav Kysela) [1869536] - [sound] ALSA: firewire-motu: refactoring protocol v2 for fetching mode switch (Jaroslav Kysela) [1869536] - [sound] ALSA: firewire-motu: refactoring protocol v3 for clock source getter (Jaroslav Kysela) [1869536] - [sound] ALSA: firewire-motu: refactoring protocol v2 for clock source getter (Jaroslav Kysela) [1869536] - [sound] ALSA: firewire-motu: remove obsoleted codes (Jaroslav Kysela) [1869536] - [sound] ALSA: firewire-motu: use table-based calculation of packet formats for stream management (Jaroslav Kysela) [1869536] - [sound] ALSA: firewire-motu: use table-based calculation of packet formats for proc (Jaroslav Kysela) [1869536] - [sound] ALSA: firewire-motu: add alternative functions to detect packet format for protocol v3 (Jaroslav Kysela) [1869536] - [sound] ALSA: firewire-motu: add alternative functions to detect packet format for protocol v2 (Jaroslav Kysela) [1869536] - [sound] ALSA: firewire-motu: add model-specific table of chunk count (Jaroslav Kysela) [1869536] - [sound] ALSA: firewire-motu: drop protocol structure (Jaroslav Kysela) [1869536] - [sound] ALSA: firewire-motu: add wrapper functions for protocol-dependent operations (Jaroslav Kysela) [1869536] - [sound] ALSA: firewire-motu: localize protocol data (Jaroslav Kysela) [1869536] - [sound] ALSA: firewire-motu: move spec data to v3 protocol file (Jaroslav Kysela) [1869536] - [sound] ALSA: firewire-motu: move spec data to v2 protocol file (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: pxa: remove Compulab pxa2xx boards (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: max9867: add mono playback switch (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: max9867: add filter controls (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: max9867: don't use regmap defaults (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: mmp-sspa: Fix the error handling in probe() (Jaroslav Kysela) [1869536] - [sound] ALSA: soundwire: intel: use a single module (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: max9867: fix ADC level control (Jaroslav Kysela) [1869536] - [sound] ALSA: soundwire: fix spelling mistake (Jaroslav Kysela) [1869536] - [sound] ALSA: soundwire: fix trailing line in sysfs_slave.c (Jaroslav Kysela) [1869536] - [sound] ALSA: soundwire: add Slave sysfs support (Jaroslav Kysela) [1869536] - [sound] ALSA: soundwire: master: add sysfs support (Jaroslav Kysela) [1869536] - [sound] ALSA: soundwire: disco: s/ch/channels/ (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: mmp-sspa: Add Device Tree support (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: amd: return error when acp de-init fails (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: amd: refactoring dai_hw_params() callback (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: amd: fix kernel warning (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: fsl_micfil: Do not pass irq numbers in comments (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: fsl_micfil: Remove unneeded ifdef's (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: fsl_asrc: Set ASR76K and ASR56K based on processing clock (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: amd: enable build for RN machine driver (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: amd: RN machine driver using dmic (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: amd: create platform devices for Renoir (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: amd: enable Renoir acp3x drivers build (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: amd: add ACP PDM DMA driver pm ops (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: amd: add Renoir ACP PCI driver PM ops (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: amd: add ACP PDM DMA driver dai ops (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: amd: add acp3x pdm driver dma ops (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: amd: irq handler changes for ACP3x PDM dma driver (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: amd: add ACP3x PDM platform driver (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: amd: create acp3x pdm platform device (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: amd: add acp init/de-init functions (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: amd: add Renoir ACP PCI driver (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: amd: add Renoir ACP3x IP register header (Jaroslav Kysela) [1869536] - [sound] ALSA: hda/realtek - Add more fixup entries for Clevo machines (Jaroslav Kysela) [1869536] - [sound] ALSA: soundwire: master: add runtime pm support (Jaroslav Kysela) [1869536] - [sound] ALSA: soundwire: bus_type: add sdw_master_device support (Jaroslav Kysela) [1869536] - [sound] ALSA: soundwire: bus: add unique bus id (Jaroslav Kysela) [1869536] - [sound] ALSA: soundwire: bus_type: introduce sdw_slave_type and sdw_master_type (Jaroslav Kysela) [1869536] - [sound] ALSA: soundwire: bus: rename sdw_bus_master_add/delete, add arguments (Jaroslav Kysela) [1869536] - [sound] ALSA: iec1712: Initialize STDSP24 properly when using the model=staudio option (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: Intel: bytcr_rt5640: Add quirk for Toshiba Encore WT8-A tablet (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: max9867: fix volume controls (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: fsl_micfil: Fix unused assignment in fsl_set_clock_params() (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: amd: raven: Make the driver name consistent across files (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: fsl_micfil: Fix indentation to put on one line affected code (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: cleanup dai / component active code (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: dwc: use snd_soc_xxx_active() (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: uniphier: use snd_soc_xxx_active() (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: ti: use snd_soc_xxx_active() (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: pxa: use snd_soc_xxx_active() (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: meson: use snd_soc_xxx_active() (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: mediatek: use snd_soc_xxx_active() (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: jz4740: use snd_soc_xxx_active() (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: intel: use snd_soc_xxx_active() (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: fsl: use snd_soc_xxx_active() (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: codecs: use snd_soc_xxx_active() (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: cirrus: use snd_soc_xxx_active() (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: bcm: use snd_soc_xxx_active() (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: atomel: use snd_soc_xxx_active() (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: use snd_soc_xxx_active() (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: soc-dai: add snd_soc_dai_stream_active() (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: soc-component: add snd_soc_component_active() (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: soc-dai: add snd_soc_dai_active() (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: soc-dapm: use snd_soc_dai_activate()/deactivate() (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: soc-dai: add snd_soc_dai_action() (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: soc-pcm: replace snd_soc_runtime_activate()/deactivate() to macro (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: da7213: move set_pll to codec level (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: da7213: move set_sysclk to codec level (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: da7213: Add regulator support (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: da7213: Add da7212 DT compatible (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: Intel: cht_bsw_nau8824: remap BTN_0 as KEY_PLAYPAUSE (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: Intel: sof_sdw_rt700: remap buttons (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: Intel: sof_sdw_rt711: remap buttons (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: Intel: sof_sdw: fix typo in components string (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: Intel: soc-acpi: change machine driver name for WM8804 platforms (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: SOF: imx: make imx8m_dsp_ops static (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: SOF: imx: make dsp_ops static (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: SOF: define INFO_ flags in dsp_ops (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: SOF: Intel: sdw: relax sdw machine select constraints (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: SOF: topology: add support to smart amplifier (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: SOF: inform DSP that driver is going to be removed (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: SOF: add a power_down_notify method (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: SOF: Do nothing when DSP PM callbacks are not set (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: codecs: rt1308-sdw: remove duplicate allocation (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: codecs: rt*-sdw: fix memory leak in set_sdw_stream() (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: codecs: rt*-sdw: don't assign slave_ops (Jaroslav Kysela) [1869536] - [sound] ALSA: hda/realtek - Fix silent output on Gigabyte X570 Aorus Xtreme (Jaroslav Kysela) [1869536] - [sound] ALSA: pcm: fix incorrect hw_base increase (Jaroslav Kysela) [1869536] - [sound] ALSA: hda: Unexport some local helper functions (Jaroslav Kysela) [1869536] - [sound] ALSA: hda: Drop unused snd_hda_queue_unsol_event() (Jaroslav Kysela) [1869536] - [sound] ALSA: hda: Fix potential race in unsol event handler (Jaroslav Kysela) [1869536] - [sound] ALSA: usb-audio: Add duplex sound support for USB devices using implicit feedback (Jaroslav Kysela) [1869536] - [sound] ALSA: usb-audio: fixing upper volume limit for RME Babyface Pro routing crosspoints (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: fsl_esai: introduce SoC specific data (Jaroslav Kysela) [1869536] - [sound] ALSA: hda/realtek - Limit int mic boost for Thinkpad T530 (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: wm8962: Use force clear for WM8962_SYSCLK_ENA after reset (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: mmp-sspa: Set appropriate bus format for given bit width (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: mmp-sspa: Add support for the runtime power management (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: mmp-sspa: Prepare/unprepare the clocks (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: mmp-sspa: Remove the embedded struct ssp_device (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: mmp-sspa: Add support for soc-generic-dmaengine-pcm (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: mmp-sspa: Get rid of dma_params and phys_base (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: mmp-sspa: A trivial typo fix (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: ti: omap-mcbsp: Fix an error handling path in 'asoc_mcbsp_probe()' (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: Intel: Skylake: Update description for HDaudio kconfig (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: ux500: mop500: Fix some refcounted resources issues (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: Intel: Skylake: Replace zero-length array with flexible-array (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: mmp-sspa: Drop S20_3LE case (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: mmp-sspa: Flip SNDRV_PCM_FMTBIT_S24_3LE on (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: Intel: Use readq to read 64 bit registers (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: Intel: baytrail: Fix register access (Jaroslav Kysela) [1869536] - [sound] ALSA: SoC: rsnd: add interrupt support for SSI BUSIF buffer (Jaroslav Kysela) [1869536] - [sound] ALSA: hda/realtek - Add COEF workaround for ASUS ZenBook UX431DA (Jaroslav Kysela) [1869536] - [sound] ALSA: hda/realtek: Enable headset mic of ASUS UX581LV with ALC295 (Jaroslav Kysela) [1869536] - [sound] ALSA: hda/realtek - Enable headset mic of ASUS UX550GE with ALC295 (Jaroslav Kysela) [1869536] - [sound] ALSA: hda/realtek - Enable headset mic of ASUS GL503VM with ALC295 (Jaroslav Kysela) [1869536] - [sound] ALSA: drivers/powerpc: Replace _ALIGN_UP() by ALIGN() (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: SOF: core: fix error return code in sof_probe_continue() (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: mediatek: mt8183-da7219: set headset button maps (Jaroslav Kysela) [1869536] - [sound] ALSA: firewire-motu: fulfill missing entries in Kconfig (Jaroslav Kysela) [1869536] - [sound] ALSA: soundwire: intel: (cosmetic) remove multiple superfluous "else" statements (Jaroslav Kysela) [1869536] - [sound] ALSA: soundwire: (cosmetic) remove multiple superfluous "else" statements (Jaroslav Kysela) [1869536] - [sound] ALSA: soundwire: qcom: Use IRQF_ONESHOT (Jaroslav Kysela) [1869536] - [sound] ALSA: fireface: add support for RME Fireface UFX (untested) (Jaroslav Kysela) [1869536] - [sound] ALSA: fireface: add support for RME FireFace 802 (Jaroslav Kysela) [1869536] - [sound] ALSA: fireface: code refactoring to decide name of sound card (Jaroslav Kysela) [1869536] - [sound] ALSA: fireface: code refactoring to add enumeration constants for model identification (Jaroslav Kysela) [1869536] - [sound] ALSA: fireface: start IR context immediately (Jaroslav Kysela) [1869536] - [sound] ALSA: fireface: fix configuration error for nominal sampling transfer frequency (Jaroslav Kysela) [1869536] - [sound] ALSA: hda/realtek: Add quirk for Samsung Notebook (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: soc-core: Replace zero-length array with flexible-array (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: SOF: Intel: Fix unused variable warning (Jaroslav Kysela) [1869536] - [sound] ALSA: firewire-lib: use sequence of syt offset and data block on pool in AMDTP domain (Jaroslav Kysela) [1869536] - [sound] ALSA: firewire-lib: pool ideal sequence of syt offset and data block (Jaroslav Kysela) [1869536] - [sound] ALSA: firewire-lib: add cache for packet sequence to AMDTP domain structure (Jaroslav Kysela) [1869536] - [sound] ALSA: firewire-lib: code refactoring for data block calculation (Jaroslav Kysela) [1869536] - [sound] ALSA: firewire-lib: code refactoring for syt offset calculation (Jaroslav Kysela) [1869536] - [sound] ALSA: firewire-lib: code refactoring for syt computation (Jaroslav Kysela) [1869536] - [sound] ALSA: firewire-lib: code refactoring for parameters of packet queue and IRQ timing (Jaroslav Kysela) [1869536] - [sound] ALSA: firewire-lib: add reference to domain structure from stream structure (Jaroslav Kysela) [1869536] - [sound] ALSA: firewire-lib: use macro for maximum value of second in 1394 OHCI isoc descriptor (Jaroslav Kysela) [1869536] - [sound] ALSA: firewire-lib: fix invalid assignment to union data for directional parameter (Jaroslav Kysela) [1869536] - [sound] ALSA: fireworks: Replace zero-length array with flexible-array (Jaroslav Kysela) [1869536] - [sound] ALSA: Replace zero-length array with flexible-array (Jaroslav Kysela) [1869536] - [sound] ALSA: rawmidi: Fix racy buffer resize under concurrent accesses (Jaroslav Kysela) [1869536] - [sound] ALSA: soc: fsl_asrc: Make some functions static (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: rt1016: Add the rt1016 support (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: rt5677: Use devm_snd_soc_register_component() (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: mediatek: mt8183: fix error handling of platform_get_irq() (Jaroslav Kysela) [1869536] - [sound] ALSA: hda: Allow SST driver on SKL and KBL platforms with DMIC (Jaroslav Kysela) [1869536] - [sound] ALSA: portman2x4: Use bitwise instead of arithmetic operator for flags (Jaroslav Kysela) [1869536] - [sound] ALSA: sound/ppc: Use bitwise instead of arithmetic operator for flags (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: mediatek: Fix error handling (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: amd :High hw_level while simultaneous capture (Jaroslav Kysela) [1869536] - [sound] ALSA: hda: Return true, false for return type bool (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: qcom: lpass-cpu: Make I2S SD lines configurable (Jaroslav Kysela) [1869536] - [sound] ALSA: hda: Use hdac_to_hda_codec macro (Jaroslav Kysela) [1869536] - [sound] ALSA: hda: Use dev_to_hdac_dev macro (Jaroslav Kysela) [1869536] - [sound] ALSA: soundwire: bus: reduce verbosity on enumeration (Jaroslav Kysela) [1869536] - [sound] ALSA: soundwire: debugfs: clarify SDPX license with GPL-2.0-only (Jaroslav Kysela) [1869536] - [sound] ALSA: soundwire: slave: don't init debugfs on device registration error (Jaroslav Kysela) [1869536] - [sound] ALSA: soundwire: qcom: fix error handling in probe (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: wm8524: Add support S32_LE (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: qcom: Use the defined variable to simplify code (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: rt1015: Add condition to prevent SoC providing bclk in ratio of 50 times of sample rate (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: rl6231: Add the K bypass for the PLL parameters (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: adau7118: Mark the ADAU7118 reset register as volatile (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: codecs: max9768: update contact email (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: max98373: reorder max98373_reset() in resume (Jaroslav Kysela) [1869536] - [sound] ALSA: hda/tegra: workaround playback failure on Tegra194 (Jaroslav Kysela) [1869536] - [sound] ALSA: hda: add member to store ratio for stripe control (Jaroslav Kysela) [1869536] - [sound] ALSA: hda/tegra: correct number of SDO lines for Tegra194 (Jaroslav Kysela) [1869536] - [sound] ALSA: usb-audio: add mapping for ASRock TRX40 Creator (Jaroslav Kysela) [1869536] - [sound] ALSA: hda/realtek - Fix S3 pop noise on Dell Wyse (Jaroslav Kysela) [1869536] - [sound] ALSA: Revert "ALSA: hda/realtek: Fix pop noise on ALC225" (Jaroslav Kysela) [1869536] - [sound] ALSA: firewire-lib: fix 'function sizeof not defined' error of tracepoints format (Jaroslav Kysela) [1869536] - [sound] ALSA: line6: Add poll callback for hwdep (Jaroslav Kysela) [1869536] - [sound] ALSA: line6: hwdep: add support for O_NONBLOCK opening mode (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: SOF/Intel: clarify SPDX license with GPL-2.0-only (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: SOF: ipc: channel map structures (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: Intel: boards: sof-wm8804: support for Hifiberry Digiplus boards (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: SOF: Update correct LED status at the first time usage of update_mute_led() (Jaroslav Kysela) [1869536] - [sound] ALSA: usb-audio: Add control message quirk delay for Kingston HyperX headset (Jaroslav Kysela) [1869536] - [sound] ALSA: isa/wavefront: prevent out of bounds write in ioctl (Jaroslav Kysela) [1869536] - [sound] ALSA: hda/realtek - Fix unused variable warning w/o CONFIG_LEDS_TRIGGER_AUDIO (Jaroslav Kysela) [1869536] - [sound] ALSA: hda/realtek - Add LED class support for micmute LED (Jaroslav Kysela) [1869536] - [sound] ALSA: hda/realtek - Enable micmute LED on and HP system (Jaroslav Kysela) [1869536] - [sound] ALSA: hda/realtek - Introduce polarity for micmute LED GPIO (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: SOF: sort out Kconfig, again (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: rt5682: remove unwanted btn_type assignment (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: rt5682: remove duplicate rt5682_reset() calls (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: rt5682: replace message printing from pr_() to dev_() (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: rt5682: remove empty default case (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: rt5682: fix space issues (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: rt5682: simplify assertions (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: SOF: Intel: change trigger sequence to fix pop noise when stopping playback on sdw platforms (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: SOF: topology: replace sof_link_hda_process by sof_set_dai_config (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: topology: set component dai_index to ipc dai config dai_index (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: SOF: topology: send ipc for all found DAIs in sof_set_dai_config (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: Intel: broadwell: Fix oops during module removal (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: rt5682: fix I2C/Soundwire dependencies (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: fsl_easrc: mark PM functions __maybe_unused (Jaroslav Kysela) [1869536] - [sound] ALSA: seq: oss: remove unused inline function snd_seq_oss_timer_is_realtime (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: mxs-saif: Fix unused assignment (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoc: nau8810: add AUX related dapm widgets and routes (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: codecs: wm97xx: fix ac97 dependency (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: component: suppress uninitialized-variable warning (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: soc-dai: add snd_soc_dai_compr_get_metadata() (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: soc-dai: add snd_soc_dai_compr_set_metadata() (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: soc-dai: add snd_soc_dai_compr_pointer() (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: soc-dai: add snd_soc_dai_compr_ack() (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: soc-dai: add snd_soc_dai_compr_get_params() (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: soc-dai: add snd_soc_dai_compr_set_params() (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: soc-dai: add snd_soc_dai_compr_trigger() (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: soc-dai: add snd_soc_dai_compr_shutdown() (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: soc-dai: add snd_soc_dai_compr_start() (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: soc-dai: add snd_soc_pcm_dai_remove() (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: soc-dai: add snd_soc_pcm_dai_probe() (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: soc-dai: add snd_soc_pcm_dai_bespoke_trigger() (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: soc-dai: add snd_soc_pcm_dai_trigger() (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: soc-dai: add snd_soc_pcm_dai_prepare() (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: soc-dai: add snd_soc_pcm_dai_new() (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: soc-dai: don't overwide dai->driver->ops (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: soc-dai: add soc_dai_err() (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: tegra: tegra_wm8903: Use devm_snd_soc_register_card() (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: broadwell: add channel constraint (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: bdw-rt5650: add channel constraint (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: bdw-rt5677: add channel constraint (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: Intel: boards: add explicit dependency on GPIOLIB when DMIC is used (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: davinci-mcasp: Fix dma_chan refcnt leak when getting dma type (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: Intel: Skylake: Automatic DMIC format configuration according to information from NHLT (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: Intel: Multiple I/O PCM format support for pipe (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: Intel: Skylake: Add alternative topology binary name (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: hisilicon: Use the defined variable to clean code (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: fsl_easrc: Check for null pointer before dereferencing "ctx" in fsl_easrc_hw_free() (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: ti: remove comparison to bool in omap_mcbsp_dai_set_dai_fmt() (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: mxs-saif: Avoid unnecessary check (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: Intel: sof_sdw: add amp number in components string for ucm (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: hisilicon: Use IS_ERR() instead of IS_ERR_OR_NULL() (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: fsl_esai: Disable exception interrupt before scheduling tasklet (Jaroslav Kysela) [1869536] - [sound] ALSA: pcm_native: result of put_user() needs to be checked (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: snd-sof-intel-hda-common - add hda_model parameter and pass it to HDA codec driver (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: soc-compress: avoid false-positive Wuninitialized warning (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: wm8962: set CLOCKING2 as non-volatile register (Jaroslav Kysela) [1869536] - [sound] ALSA: usb-audio: Fix racy list management in output queue (Jaroslav Kysela) [1869536] - [sound] ALSA: usb-audio: Remove async workaround for Scarlett 2nd gen (Jaroslav Kysela) [1869536] - [sound] ALSA: usb-audio: Improve frames size computation (Jaroslav Kysela) [1869536] - [sound] ALSA: hda: Refactor Intel NHLT init (Jaroslav Kysela) [1869536] - [sound] ALSA: ACPICA: Add NHLT table signature (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: SOF: Add missing dependency on IMX_SCU (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: fsl_easrc: fix spelling mistake "prefitler" -> "prefilter" (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: Intel: Skylake: Replace guid_copy() with import_guid() (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: dmic: Allow GPIO operations to sleep (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: soc-core: return true, false in snd_soc_volsw_is_stereo() (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: SOF: Fix build (Jaroslav Kysela) [1869536] - [sound] ALSA: oxygen: use true, false for bool variables (Jaroslav Kysela) [1869536] - [sound] ALSA: usb-audio: Fix a limit check in proc_dump_substream_formats() (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: intel/skl/hda - fix oops on systems without i915 audio codec (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: Add initial ZL38060 driver (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: soc-compress: remove snd_compr_ops (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: sprd: use snd_compress_ops (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: sof: use snd_compress_ops (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: intel: atom: use snd_compress_ops (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: qcom: q6sp6: use snd_compress_ops (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: uniphier: use snd_compress_ops (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: codec: wm_adsp: use snd_compress_ops (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: soc-compress: add snd_compress_ops (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: txx9: add back the hack for a too small resource_size_t (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: fsl_easrc: Add EASRC ASoC CPU DAI drivers (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: fsl_asrc: Move common definition to fsl_asrc_common (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: fsl_asrc: Support new property fsl, asrc-format (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: fsl-asoc-card: Support new property fsl, asrc-format (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: fsl_asrc: rename asrc_priv to asrc (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: tegra: Enable audio mclk during tegra_asoc_utils_init() (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: tegra: Add audio mclk parent configuration (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: tegra: Use device managed resource APIs to get the clock (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: wcd934x: remove unneeded semicolon (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: wcd9335: remove unneeded semicolon (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: wcd934x: remove unnecessary comparisons to bool (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: Intel: boards: split woofer and tweeter support (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: Fix wrong dependency of da7210 and wm8983 (Jaroslav Kysela) [1869536] - [sound] ALSA: soundwire: intel: use asoc_rtd_to_cpu() / asoc_rtd_to_codec() macro for DAI pointer (Jaroslav Kysela) [1869536] - [sound] ALSA: usb-audio: Print more information in stream proc files (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: txx9: don't work around too small resource_size_t (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: Intel: haswell: Power transition refactor (Jaroslav Kysela) [1869536] - [sound] ALSA: Fix misspellings of "Analog Devices" (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: Fix misspellings of "Analog Devices" (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: SOF: topology: handle multiple sets of tuple arrays (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: SOF: topology: stop parsing when all tokens have been found (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: SOF: topology: Get HDA rate and channels from topology (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: SOF: topology: fix: parse hda_tokens to &config->hda (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: SOF: topology: Get ALH rate amd channels from topology (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: SOF: align sof_ipc_dai_alh_params with FW (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: SOF: Intel: Rename deprecated DMIC IPC struct field (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: SOF: Intel: Change DMIC load IPC to fixed length (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: SOF: Intel: Fix typo in header file comment text (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: SOF: Add XRUN flags field to struct sof_ipc_buffer (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: SOF: make sof_ipc_cc_version to fixed length (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: SOF: change type char to uint8_t in topology.h (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: SOF: change type char to uint8_t in trace.h (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: SOF: change type char to uint8_t in info.h (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: SOF: add debug ABI version (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: SOF: add probe support extend data (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: SOF: topology: Add support for DC Blocker (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: SOF: ext_manifest: parse compiler version (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: SOF: ext_manifest: parse windows (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: SOF: ext_manifest: parse firmware version (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: SOF: Introduce extended manifest (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: SOF: Introduce offset in firmware data (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: SOF: Mark get_ext* function ext_hdr arguments as const (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: SOF: topology: fix: handle DAI widget connections properly with multiple CPU DAI's (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: SOF: Add i.MX8MP device descriptor (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: SOF: imx: Add i.MX8M HW support (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: SOF: imx: fix undefined reference issue (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: SOF: imx8: Fix randbuild error (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: topology: Remove unneeded semicolon (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: fsl_micfil: Omit superfluous error message in fsl_micfil_probe() (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: Intel: skl_hda_generic: remove rtd->codec_dai (Jaroslav Kysela) [1869536] - [sound] ALSA: usb-audio: RME Babyface Pro mixer patch (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: wm8900: remove some defined but not used symbols (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: wm8990: remove some defined but unused symbols (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: wm8991: remove defined but not used 'wm8991_dapm_rxvoice_controls' (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: wm8994: remove wm1811_snd_controls and mixin_boost_tlv (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: tegra: tegra_wm8903: Support nvidia, headset property (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: Intel: sof_sdw_rt711: remove codec_dai use (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: Intel: sof_sdw_rt700: remove codec_dai use (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: Intel: sof_sdw_rt5682: remove codec_dai use (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: Intel: sof_sdw_rt1308: remove codec dai use (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: Intel: sof_sdw_hdmi: remove codec_dai use (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: Intel: sof_sdw_hdmi: fix compilation issue in fallback mode (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: Intel: sof-da7219-max98373: add DMIC widget and route (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: intel: sof_sdw: init all aggregated codecs (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: Intel: boards: support Elkhart Lake with rt5660 (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: SOF: Intel: add PCI ID for ElkhartLake (Jaroslav Kysela) [1869536] - [sound] ALSA: hda: Add ElkhartLake HDMI codec vid (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: intel/skl/hda - set autosuspend timeout for hda codecs (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: Intel: sof_da7219_max98373: Add BE dailink for dmic16k (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: soc-core: remove cpu_dai/codec_dai/cpu_dais/codec_dais (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: soc-core: tidyup soc_new_pcm_runtime() rtd setups (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: soc-core: set rtd->num_cpu/codec at soc_new_pcm_runtime() (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: soc: use asoc_rtd_to_cpu() / asoc_rtd_to_codec() macro for DAI pointer (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: soc-core: Add dynamic debug logs in soc_dai_link_sanity_check() (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: SOF: Intel: hda: log number of microphones detected in NHLT tables (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: SOF: Intel: hda: reduce verbosity on SoundWire detection (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: codecs: rt1308-sdw: reduce verbosity (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: SOF: Intel: hda: remove unnecessary parentheses (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: SOF: remove unneeded variables (Jaroslav Kysela) [1869536] - [sound] ALSA: hda: add autodetection for SoundWire (Jaroslav Kysela) [1869536] - [s390] mm/gup: fix gup_fast with dynamic page table folding (Philipp Rudo) [1879401 1768713 1883266]- [netdrv] Take common prefetch code structure into a function (Ivan Vecera) [1882011] - [net] lwtunnel: only keep the available bits when setting vxlan md->gbp (Xin Long) [1879363] - [net] sched: only keep the available bits when setting vxlan md->gbp (Xin Long) [1879363] - [vhost] Don't call access_ok() when using IOTLB (Greg Kurz) [1883084] - [clocksource] hv: clocksource: Add notrace attribute to read_hv_sched_clock_*() functions (Mohammed Gamal) [1880230] - [net] core: Replace driver version to be kernel version (Petr Oros) [1867192] - [net] use netif_is_bridge_port() to check for IFF_BRIDGE_PORT (Josef Oskera) [1867923] - [net] sctp: fix sctp_auth_init_hmacs() error path (Xin Long) [1891413] - [net] sctp: Fix IPv6 ancestor_size calc in sctp_copy_descendant (Xin Long) [1891413] - [net] sctp: add SCTP_PEER_ADDR_THLDS_V2 sockopt (Xin Long) [1891413] - [net] sctp: add support for Primary Path Switchover (Xin Long) [1891413] - [net] sctp: add SCTP_EXPOSE_POTENTIALLY_FAILED_STATE sockopt (Xin Long) [1891413] - [net] sctp: add SCTP_ADDR_POTENTIALLY_FAILED notification (Xin Long) [1891413] - [net] sctp: add pf_expose per netns and sock and asoc (Xin Long) [1891413] - [net] qos offload add flow status with dropped count (Ivan Vecera) [1890263] - [i2c] i2c: i801: Add support for Intel Tiger Lake PCH-H (Steve Best) [1782725] - [i2c] i2c: i801: Add support for Intel Emmitsburg PCH (David Arcari) [1837403] - [mfd] mfd: intel-lpss: Add Intel Emmitsburg PCH PCI IDs (David Arcari) [1837403] - [powerpc] powerpc/papr_scm: Fix warning triggered by perf_stats_show() (Diego Domingos) [1875364] - [powerpc] powerpc/papr_scm: Limit the readability of 'perf_stats' sysfs attribute (Diego Domingos) [1875364] - [powerpc] powerpc/papr_scm: Add support for fetching nvdimm 'fuel-gauge' metric (Diego Domingos) [1875364] - [powerpc] powerpc/papr_scm: Fetch nvdimm performance stats from PHYP (Diego Domingos) [1875364] - [include] driver-core: Introduce DEVICE_ATTR_ADMIN_{RO, RW} (Diego Domingos) [1875364] - [net] netfilter: reject: skip csum verification for protocols that don't support it (Florian Westphal) [1740082] - [net] netfilter: Fix remainder of pseudo-header protocol 0 (Florian Westphal) [1740082] - [powerpc] powerpc/pseries: Add KVM guest doorbell restrictions (Diego Domingos) [1870221] - [powerpc] powerpc: Inline doorbell sending functions (Diego Domingos) [1870221] - [powerpc] powerpc/pseries: Use doorbells even if XIVE is available (Diego Domingos) [1870221] - [powerpc] powerpc: Fix P10 PVR revision in /proc/cpuinfo for SMT4 cores (Steve Best) [1885927] - [tools] selftests: implement flower classifier terse dump tests (Ivan Vecera) [1879189] - [net] sched: cls_flower: implement terse dump support (Ivan Vecera) [1879189] - [net] sched: implement terse dump support in act (Ivan Vecera) [1879189] - [net] sched: introduce terse dump flag (Ivan Vecera) [1879189] - [netdrv] net/mlx5e: Fix missing switch_id for representors (Petr Oros) [1874073] - [tools] selftests: net: Add port split test (Petr Oros) [1874073] - [net] devlink: Move input checks from driver to devlink (Petr Oros) [1874073] - [net] devlink: Add a new devlink port split ability attribute and pass to netlink (Petr Oros) [1874073] - [netdrv] mlxsw: Set port split ability attribute in driver (Petr Oros) [1874073] - [net] devlink: Add a new devlink port lanes attribute and pass to netlink (Petr Oros) [1874073] - [netdrv] mlxsw: Set number of port lanes attribute in driver (Petr Oros) [1874073] - [net] devlink: Replace devlink_port_attrs_set parameters with a struct (Petr Oros) [1874073] - [net] devlink: Move switch_port attribute of devlink_port_attrs to devlink_port (Petr Oros) [1874073] - [net] devlink: Move set attribute of devlink_port_attrs to devlink_port (Petr Oros) [1874073] - [netdrv] mlx5e: Use helper API to get devlink port index for all port flavours (Petr Oros) [1874073] - [net] devlink: Add support for board.serial_number to info_get cb. (Petr Oros) [1879194] - [net] devlink: Support setting hardware address of port function (Petr Oros) [1879195] - [net] devlink: Support querying hardware address of port function (Petr Oros) [1879195] - [net] devlink: Prepare devlink port functions to fill extack (Petr Oros) [1879195] - [net] sctp: not disable bh in the whole sctp_get_port_local() (Xin Long) [1704525] - [net] sctp: replace some sock_net(sk) with just 'net' (Xin Long) [1704525] - [x86] x86/resctrl: Fix a NULL vs IS_ERR() static checker warning in rdt_cdp_peer_get() (Terry Bowman) [1873124]- [net] sched: initialize with 0 before setting erspan md->u (Xin Long) [1879358] - [net] ipv6: Discard next-hop MTU less than minimum link MTU (Balazs Nemeth) [1879893] - [kvm] Revert "x86/kvm: Move context tracking where it belongs" (Nitesh Narayan Lal) [1890284] - [video] hyperv_fb: Update screen_info after removing old framebuffer (Kairui Song) [1870081] - [x86] x86/kexec: Use up-to-dated screen_info copy to fill boot params (Kairui Song) [1870081] - [netdrv] netdevsim: Register control traps (Petr Oros) [1888724] - [net] devlink: Add ACL control packet traps (Petr Oros) [1888724] - [net] devlink: Add layer 3 control packet traps (Petr Oros) [1888724] - [net] devlink: Add layer 2 control packet traps (Petr Oros) [1888724] - [net] devlink: Add 'control' trap type (Petr Oros) [1888724] - [net] devlink: Add 'mirror' trap action (Petr Oros) [1888724] - [netdrv] netdevsim: Move layer 3 exceptions to exceptions trap group (Petr Oros) [1888724] - [net] devlink: Create dedicated trap group for layer 3 exceptions (Petr Oros) [1888724] - [net] xfrmi: drop ignore_df check before updating pmtu (Balazs Nemeth) [1857679] - [kernel] sched/features: Fix !CONFIG_JUMP_LABEL case (Daniel Bristot de Oliveira) [1885850] - [net] flow_offload: simplify hw stats check handling (Ivan Vecera) [1888317] - [scsi] scsi: core: Only re-run queue in scsi_end_request() if device queue is busy (Ewan Milne) [1885733] - [scsi] scsi: core: Clean up scsi_noretry_cmd() (Ewan Milne) [1885733] - [scsi] scsi: scsi_debug: Make sdebug_build_parts() respect virtual_gb (Ewan Milne) [1885733] - [scsi] scsi: fc: Add 256GBit speed setting to SCSI FC transport (Ewan Milne) [1885733] - [scsi] scsi: scsi_debug: Implement lun_format (Ewan Milne) [1885733] - [scsi] scsi: scsi_debug: Remove superfluous close zone in resp_open_zone() (Ewan Milne) [1885733] - [scsi] scsi: scsi_transport_sas: Add spaces around binary operator "|" (Ewan Milne) [1885733] - [scsi] scsi: scsi_transport_srp: Sanitize scsi_target_block/unblock sequences (Ewan Milne) [1885733] - [scsi] scsi: scsi_debug: Implement tur_ms_to_ready parameter (Ewan Milne) [1885733] - [scsi] scsi: scsi_debug: Fix request sense (Ewan Milne) [1885733] - [scsi] scsi: core: Delete unnecessary buffer allocation for every loop iteration (Ewan Milne) [1885733] - [scsi] scsi: core: Add missing scsi_device_put() in scsi_host_block() (Ewan Milne) [1885733] - [scsi] scsi: core: Only return started requests from scsi_host_find_tag() (Ewan Milne) [1885733] - [scsi] scsi: scsi_transport_iscsi: Drop a duplicated word (Ewan Milne) [1885733] - [scsi] scsi: scsi_transport_sas: Add missing newline in sysfs 'enable' attribute (Ewan Milne) [1885733] - [scsi] scsi: scsi_transport_fc: Match HBA Attribute Length with HBAAPI V2.0 definitions (Ewan Milne) [1885733] - [scsi] scsi: scsi_debug: Update documentation url and bump version (Ewan Milne) [1885733] - [scsi] scsi: scsi_debug: every_nth triggered error injection (Ewan Milne) [1885733] - [scsi] scsi: scsi_debug: Support hostwide tags (Ewan Milne) [1885733] - [scsi] scsi: scsi_debug: Add check for sdebug_max_queue during module init (Ewan Milne) [1885733] - [scsi] scsi: sd_zbc: Fix kdoc comment format (Ewan Milne) [1885733] - [scsi] scsi: sd: Fix kdoc comment format (Ewan Milne) [1885733] - [scsi] scsi: scsi_debug: Fix in_use bitmap corruption (Ewan Milne) [1885733] - [scsi] scsi: core: Register sysfs for SCSI workqueue (Ewan Milne) [1885733] - [scsi] scsi: scsi_transport_spi: Fix function pointer check (Ewan Milne) [1885733] - [scsi] scsi: core: Fix formatting errors in scsi_lib.c (Ewan Milne) [1885733] - [scsi] scsi: core: Remove scsi_sdb_cache (Ewan Milne) [1885733] - [scsi] scsi: sr: Fix sr_probe() missing deallocate of device minor (Ewan Milne) [1885733] - [scsi] scsi: sr: Fix sr_probe() missing mutex_destroy (Ewan Milne) [1885733] - [scsi] scsi: scsi_debug: Parser tables and code interaction (Ewan Milne) [1885733] - [scsi] scsi: core: Refactor scsi_mq_setup_tags function (Ewan Milne) [1885733] - [scsi] scsi: core: Fix incorrect usage of shost_for_each_device (Ewan Milne) [1885733] - [scsi] scsi: sd: Add zoned capabilities device attribute (Ewan Milne) [1885733] - [scsi] scsi: scsi_debug: Fix an error handling bug in sdeb_zbc_model_str() (Ewan Milne) [1885733] - [scsi] scsi: pm: Balance pm_only counter of request queue during system resume (Ewan Milne) [1885733] - [scsi] scsi: scsi_debug: Disallow zone sizes that are not powers of 2 (Ewan Milne) [1885733] - [scsi] scsi: scsi_debug: Implement ZBC host-aware emulation (Ewan Milne) [1885733] - [scsi] scsi: scsi_debug: Add zone_size_mb module parameter (Ewan Milne) [1885733] - [scsi] scsi: scsi_debug: Add zone_nr_conv module parameter (Ewan Milne) [1885733] - [scsi] scsi: scsi_debug: Add zone_max_open module parameter (Ewan Milne) [1885733] - [scsi] scsi: scsi_debug: Add ZBC module parameter (Ewan Milne) [1885733] - [scsi] scsi: scsi_debug: Add ZBC zone commands (Ewan Milne) [1885733] - [scsi] scsi: scsi_debug: Add ZBC mode and VPD pages (Ewan Milne) [1885733] - [scsi] scsi: scsi_debug: Bump to version 1.89 (Ewan Milne) [1885733] - [scsi] scsi: scsi_debug: Re-arrange parameters alphabetically (Ewan Milne) [1885733] - [scsi] scsi: scsi_debug: Implement PRE-FETCH commands (Ewan Milne) [1885733] - [scsi] scsi: scsi_debug: Weaken rwlock around ramdisk access (Ewan Milne) [1885733] - [scsi] scsi: scsi_debug: Implement VERIFY(10), add VERIFY(16) (Ewan Milne) [1885733] - [scsi] scsi: scsi_debug: Add per_host_store option (Ewan Milne) [1885733] - [scsi] scsi: scsi_debug: Use scsi_et_resid() where appropriate (Ewan Milne) [1885733] - [scsi] scsi: scsi_debug: Randomize command completion time (Ewan Milne) [1885733] - [scsi] scsi: core: doc: Change function comments to kernel-doc style (Ewan Milne) [1885733] - [scsi] scsi: sr: Use {get, put}_unaligned_be*() instead of open-coding these functions (Ewan Milne) [1885733] - [scsi] scsi_ioctl.c: switch SCSI_IOCTL_GET_IDLUN to copy_to_user() (Ewan Milne) [1885733] - [scsi] scsi: core: Avoid calling synchronize_rcu() for each device in scsi_host_block() (Ewan Milne) [1885733] - [scsi] scsi: st: remove unneeded variable 'result' in st_release() (Ewan Milne) [1885733] - [scsi] scsi: sr: Fix sr_block_release() (Ewan Milne) [1885733] - [scsi] scsi: scsi_trace: Use get_unaligned_be24() (Ewan Milne) [1885733] - [scsi] scsi: st: Use get_unaligned_be24() and sign_extend32() (Ewan Milne) [1885733] - [scsi] scsi: core: add scsi_host_busy_iter() (Ewan Milne) [1885733] - [scsi] scsi: core: add scsi_host_(block, unblock) helper function (Ewan Milne) [1885733] - [scsi] scsi: core: add scsi_host_complete_all_commands() helper (Ewan Milne) [1885733] - [scsi] scsi: sr: get rid of sr global mutex (Ewan Milne) [1885733] - [powerpc] scsi: sr: remove references to BLK_DEV_SR_VENDOR, leave it enabled (Ewan Milne) [1885733] - [scsi] scsi: core: remove .for_blk_mq (Ewan Milne) [1885733] - [scsi] scsi: sd_zbc: Rename sd_zbc_check_zones() (Ewan Milne) [1885733] - [scsi] scsi: sd_zbc: Simplify sd_zbc_check_zones() (Ewan Milne) [1885733] - [ata] scsi: core: Clean up SG_NONE (Ewan Milne) [1885733] - [scsi] scsi: scsi_transport.h: switch to SPDX tags (Ewan Milne) [1885733] - [scsi] scsi: libsas: Inject revalidate event for root port event (Ewan Milne) [1885733] - [scsi] scsi: libsas: Stop hardcoding SAS address length (Ewan Milne) [1885733] - [scsi] scsi: clean obsolete return values of eh_timed_out (Ewan Milne) [1885733] - [scsi] scsi: libsas: Fix some indentation in libsas.h (Ewan Milne) [1885733] - [scsi] scsi: st: mark expected switch fall-throughs (Ewan Milne) [1885733] - [scsi] scsi: libsas: delete dead code in scsi_transport_sas.c (Ewan Milne) [1885733] - [nvme] nvme-rdma: params to enable pi_capable devices (Gopal Tiwari) [1857052 1857051 1853231] - [scsi] lpfc: Fix return value in __lpfc_nvme_ls_abort (Gopal Tiwari) [1857052 1857051 1853231] - [scsi] lpfc: fix axchg pointer reference after free and double frees (Gopal Tiwari) [1857052 1857051 1853231] - [scsi] lpfc: Fix pointer checks and comments in (Gopal Tiwari) [1857052 1857051 1853231] - [scsi] scsi: lpfc: Fix lpfc_nodelist leak when processing unsolicited event (Gopal Tiwari) [1857052 1857051 1853231] - [scsi] scsi: lpfc: Remove redundant initialization to variable rc (Gopal Tiwari) [1857052 1857051 1853231] - [scsi] lpfc: Refactor Send LS Response support (Gopal Tiwari) [1857052 1857051 1853231] - [scsi] lpfc: Refactor Send LS Abort support (Gopal Tiwari) [1857052 1857051 1853231] - [scsi] lpfc: nvme: Add Receive LS Request and Send LS Response support to nvme (Gopal Tiwari) [1857052 1857051 1853231] - [scsi] lpfc: Refactor Send LS Request support (Gopal Tiwari) [1857052 1857051 1853231] - [scsi] lpfc: nvmet: Add Send LS Request and Abort LS Request support (Gopal Tiwari) [1857052 1857051 1853231] - [scsi] lpfc: nvmet: Add support for NVME LS request hosthandle (Gopal Tiwari) [1857052 1857051 1853231] - [scsi] lpfc: Refactor NVME LS receive handling (Gopal Tiwari) [1857052 1857051 1853231] - [scsi] lpfc: Commonize lpfc_async_xchg_ctx state and flag definitions (Gopal Tiwari) [1857052 1857051 1853231] - [scsi] lpfc: Refactor nvmet_rcv_ctx to create lpfc_async_xchg_ctx (Gopal Tiwari) [1857052 1857051 1853231] - [scsi] lpfc: Refactor lpfc nvme headers (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvme-fabrics: allow to queue requests for live queues (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvme-fc: cancel async events before freeing event struct (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvme-tcp: cancel async events before freeing event struct (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvme-rdma: cancel async events before freeing event struct (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvme: Revert: Fix controller creation races with teardown flow (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvme: only use power of two io boundaries (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvme-tcp: fix reset hang if controller died in the middle of a reset (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvme: Fix NULL dereference for pci nvme controllers (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvme-pci: cancel nvme device request before disabling (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvmet-fc: Fix a missed _irqsave version of spin_lock in 'nvmet_fc_fod_op_done()' (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvme-rdma: serialize controller teardown sequences (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvme-rdma: fix reset hang if controller died in the middle of a reset (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvme-tcp: fix timeout handler (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvme: fix controller instance leak (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvme-rdma: fix timeout handler (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvme-fabrics: don't check state NVME_CTRL_NEW for request acceptance (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvme-tcp: serialize controller teardown sequences (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvmet-tcp: Fix NULL dereference when a connect data comes in h2cdata pdu (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvme: have nvme_wait_freeze_timeout return if it timed out (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvmet: Disable keep-alive timer when kato is cleared to 0h (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvme-fc: Fix wrong return value in __nvme_fc_init_request() (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvme: Use spin_lock_irq() when taking the ctrl->lock (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvme: skip noiob for zoned devices (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvmet: call blk_mq_free_request() directly (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvmet: fix oops in pt cmd execution (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvme-pci: Use u32 for nvme_dev.q_depth and nvme_queue.q_depth (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvmet: add ns tear down label for pt-cmd handling (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvmet: fix a memory leak (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvmet-passthru: Reject commands with non-sgl flags set (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvme-loop: remove extra variable in create ctrl (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvme-loop: set ctrl state connecting after init (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvme: introduce nvme_ctrl_get_by_path() (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvmet: introduce the passthru Kconfig option (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvmet: introduce the passthru configfs interface (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvmet: Add passthru enable/disable helpers (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvmet: add passthru code to process commands (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvme: export nvme_find_get_ns() and nvme_put_ns() (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvme: introduce nvme_execute_passthru_rq to call nvme_passthru_() (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvmet-fc: remove redundant del_work_active flag (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvme: create helper function to obtain command effects (Gopal Tiwari) [1857052 1853231] - [nvme] nvme-hwmon: log the controller device name (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvmet-fc: check successful reference in nvmet_fc_find_target_assoc (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvme: clear any SGL flags in passthru commands (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvme: fix deadlock in disconnect during scan_work and/or ana_work (Gopal Tiwari) [1857052 1857051 1853231] - [acpi] nvme-pci: add support for ACPI StorageD3Enable property (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvmet-rdma: use new shared CQ mechanism (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvmet: use xarray for ctrl ns storing (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvme: document nvme controller states (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvme-rdma: use new shared CQ mechanism (Gopal Tiwari) [1857052 1857051 1853231] - [infiniband] RDMA/core: Add protection for shared CQs used by ULPs (Gopal Tiwari) [1857052 1853231] - [infiniband] RDMA/core: Introduce shared CQ pool API (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvme: remove an unnecessary condition (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvme: remove redundant validation in nvme_start_ctrl() (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvme-pci: prevent SK hynix PC400 from using Write Zeroes command (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvme-tcp: fix possible hang waiting for icresp response (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvme: explicitly update mpath disk capacity on revalidation (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvme: remove ns->disk checks (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvme-pci: fix some comments issues (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvme-pci: remove redundant segment validation (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvme-pci: use the consistent return type of nvme_pci_iod_alloc_size() (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvme-pci: add a blank line after declarations (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvme: support for multiple Command Sets Supported and Effects log pages (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvme: document quirked Intel models (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvme: expose reconnect_delay and ctrl_loss_tmo via sysfs (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvme: use USEC_PER_SEC instead of magic numbers (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvme: implement multiple I/O Command Set support (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvmet-tcp: simplify nvmet_process_resp_list (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvme-tcp: leverage request plugging (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvme-tcp: have queue prod/cons send list become a llist (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvme-tcp: optimize network stack with setting msg flags according to batch size (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvme-fcloop: verify wwnn and wwpn format (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvmet: use unsigned type for u64 (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvmet: introduce flags member in nvmet_fabrics_ops (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvmet-tcp: remove has_keyed_sgls initialization (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvmet-loop: remove unused 'target_ctrl' in nvme_loop_ctrl (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvme-pci: remove the empty line at the beginning of nvme_should_reset() (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvme-pci: code cleanup for nvme_alloc_host_mem() (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvme-pci: use unsigned for io queue depth (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvme-core: use u16 type for ctrl->sqsize (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvme-core: use u16 type for directives (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvme: fix a crash in nvme_mpath_add_disk (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvme-rdma: fix a missing completion with remove invalidation (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvme-rdma: factor out a nvme_rdma_end_request helper (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvme-multipath: fix deadlock due to head->lock (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvme: don't protect ns mutation with ns->head->lock (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvme-multipath: fix bogus request queue reference put (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvme-multipath: fix deadlock between ana_work and scan_work (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvme: fix possible deadlock when I/O is blocked (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvme-rdma: assign completion vector correctly (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvme-pci: initialize tagset numa value to the value of the ctrl (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvme-pci: override the value of the controller's numa node (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvme-tcp: initialize tagset numa value to the value of the ctrl (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvme: set initial value for controller's numa node (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvme-loop: initialize tagset numa value to the value of the ctrl (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvme-pci: use simple suspend when a HMB is enabled (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvmet-tcp: constify nvmet_tcp_ops (Gopal Tiwari) [1857052 1857051 1853231] - [net] net: add sock_set_keepalive (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvme-tcp: constify nvme_tcp_mq_ops and nvme_tcp_admin_mq_ops (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvme: do not call del_gendisk() on a disk that was never added (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] ipv4: add ip_sock_set_tos (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] tcp: add tcp_sock_set_syncnt (Gopal Tiwari) [1857052 1857051 1853231] - [net] tcp: add tcp_sock_set_nodelay (Gopal Tiwari) [1857052 1857051 1853231] - [net] net: add sock_no_linger (Gopal Tiwari) [1857052 1857051 1853231] - [target] net: add sock_set_reuseaddr (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] net: add sock_set_priority (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvme-pci: avoid race between nvme_reap_pending_cqes() and nvme_poll() (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvmet: add metadata/T10-PI support (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvmet-rdma: add metadata/T10-PI support (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvmet: add metadata support for block devices (Gopal Tiwari) [1857052 1857051 1853231] - [include] nvme: add Metadata Capabilities enumerations (Gopal Tiwari) [1857052 1853231] - [nvme] nvme: set dma alignment to qword (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvmet: add metadata characteristics for a namespace (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvme: introduce NVME_INLINE_METADATA_SG_CNT (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvme: introduce max_integrity_segments ctrl attribute (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvme-rdma: add metadata/T10-PI support (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvme: enforce extended LBA format for fabrics metadata (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvme-rdma: introduce nvme_rdma_sgl structure (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvmet: rename nvmet_check_data_len to nvmet_check_transfer_len (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvmet: rename nvmet_rw_len to nvmet_rw_data_len (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvmet: generate AEN for ns revalidate size change (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvme: introduce NVME_NS_METADATA_SUPPORTED flag (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvme: introduce namespace features flag (Gopal Tiwari) [1857052 1857051 1853231] - [lightnvm] lightnvm: disable interleaved metadata (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvme: make nvme_ns_has_pi accessible to transports (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvmet: add helper to revalidate bdev and file ns (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvmet: revalidate-ns & generate AEN from configfs (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvmet-tcp: set MSG_EOR if we send last payload in the batch (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvme: replace zero-length array with flexible-array (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvme: delete an unnecessary declaration (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvme-pci: make sure write/poll_queues less or equal then cpu count (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvme: disable streams when get stream params failed (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvme: fix io_opt limit setting (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvmet-tcp: set MSG_SENDPAGE_NOTLAST with MSG_MORE when we have more to send (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvmet-tcp: move send/recv error handling in the send/recv methods instead of call-sites (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvmet: mark nvmet_ana_state static (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvme-tcp: set MSG_SENDPAGE_NOTLAST with MSG_MORE when we have more to send (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvmet: replace kstrndup() with kmemdup_nul() (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvme-pci: dma read memory barrier for completions (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvme-tcp: try to send request in queue_rq context (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvmet: align addrfam list to spec (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvme: flush scan work on passthrough commands (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvme: define constants for identification values (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvmet: use type-name map for address treq (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvmet: use type-name map for ana states (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvmet: use type-name map for address family (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvme-multipath: stop using ->queuedata (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvme-pci: remove volatile cqes (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvme-tcp: avoid scheduling io_work if we are already polling (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvme: clean up error handling in nvme_init_ns_head (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvme-pci: remove last_sq_tail (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvmet: add generic type-name mapping (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvmet: centralize port enable access for configfs (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvme-fc: avoid gcc-10 zero-length-bounds warning (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvme-tcp: use bh_lock in data_ready (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvmet: add ns revalidation support (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvmet-fc: slight cleanup for kbuild test warnings (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvme: unlink head after removing last namespace (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvme-multipath: set bdi capabilities once (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvme: revalidate after verifying identifiers (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvmet-rdma: use SRQ per completion vector (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvmet-rdma: add an error flow for post_recv failures (Gopal Tiwari) [1857052 1853231] - [nvme] nvme: remove the magic 1024 constant in nvme_scan_ns_list (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvme: release namespace head reference on error (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvme: avoid an Identify Controller command for each namespace scan (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvme: factor out a nvme_ns_remove_by_nsid helper (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvme: consolidate chunk_sectors settings (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvme: consolodate io settings (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvme: revalidate namespace stream parameters (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvme: clean up nvme_scan_work (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvme: refine the Qemu Identify CNS quirk (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvme: check namespace head shared property (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvme: always search for namespace head (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvme: remove unused parameter (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvmet-fc: add LS failure messages (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvme: provide num dword helper (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvmet-fc: Add Disconnect Association Xmt support (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvmet-fc: track hostport handle for associations (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvme-fcloop: add target to host LS request support (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvme-fcloop: refactor to enable target to host LS (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvmet-fc: rename ls_list to ls_rcv_list (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvmet-fc: perform small cleanups on unneeded checks (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvme-fc: Update header and host for common definitions for LS handling (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvmet-fc: Update target for common definitions for LS handling (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvmet-fc: Better size LS buffers (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvme-fc nvmet-fc: refactor for common LS definitions (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvme-fc: Add Disconnect Association Rcv support (Gopal Tiwari) [1857052 1857051 1853231] - [include] nvme-fc: Sync header to FC-NVME-2 rev 1.08 (Gopal Tiwari) [1857052 1853231] - [nvme] nvme-fc and nvmet-fc: revise LLDD api for LS reception and LS request (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvme-pci: fix "slimmer CQ head update" (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvme: prevent double free in nvme_alloc_ns() error handling (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvmet-rdma: fix double free of rdma queue (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvmet-rdma: fix bonding failover possible NULL deref (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvmet: fix NULL dereference when removing a referral (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvme: inherit stable pages constraint in the mpath stack device (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvmet-fc: fix typo in comment (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvme-rdma: Replace comma with a semicolon (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvme-fcloop: fix deallocation of working context (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvme: fix compat address handling in several ioctls (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvme: Fix controller creation races with teardown flow (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvme-rdma: Add warning on state change failure at nvme_rdma_setup_ctrl (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvme: cleanup namespace identifier reporting in nvme_init_ns_head (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvme: rename __nvme_find_ns_head to nvme_find_ns_head (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvme: release ida resources (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvmet-rdma: Implement get_mdts controller op (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvme: Use nvme_state_terminal helper (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvmet-rdma: allocate RW ctxs according to mdts (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvme: Add compat_ioctl handler for NVME_IOCTL_SUBMIT_IO (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvme-fabrics: Use scnprintf() for avoiding potential buffer overflow (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvme: Remove unused return code from nvme_delete_ctrl_sync (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvme-pci: Re-order nvme_pci_free_ctrl (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvme-pci: properly print controller address (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvmet: Add get_mdts op for controllers (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvme-pci: Simplify nvme_poll_irqdisable (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvme-pci: slimmer CQ head update (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvme-pci: Remove two-pass completions (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvme-pci: Remove tag from process cq (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvmet: check ncqr & nsqr for set-features cmd (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvme: Check for readiness more quickly, to speed up boot time (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvme: code cleanup nvme_identify_ns_desc() (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvme: Don't deter users from enabling hwmon support (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvme: expose hostid via sysfs for fabrics controllers (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvme: expose hostnqn via sysfs for fabrics controllers (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] scsi: treewide: Consolidate {get, put}_unaligned_e24() definitions (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvmet: check sscanf value for subsys serial attr (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvme: remove unused return code from nvme_alloc_ns (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvmet: configfs code cleanup (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvmet: make ctrl model configurable (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvmet: make ctrl-id configurable (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvme: Fix uninitialized-variable warning (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvme-pci: Use single IRQ vector for old Apple models (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvme/pci: Add sleep quirk for Samsung and Toshiba drives (Gopal Tiwari) [1857052 1857051 1853231] - [md] dm: fix request-based DM to not bounce through indirect dm_make_request (Mike Snitzer) [1885650] - [md] dm: add support for REQ_NOWAIT and enable it for linear target (Mike Snitzer) [1885650] - [block] block: add QUEUE_FLAG_NOWAIT (Mike Snitzer) [1885650] - [md] dm: export dm_copy_name_and_uuid (Mike Snitzer) [1885650] - [md] dm snap persistent: simplify area_io() (Mike Snitzer) [1885650] - [md] dm thin metadata: Remove unused local variable when create thin and snap (Mike Snitzer) [1885650] - [md] dm raid: fix discard limits for raid0, raid1 and raid10 (Mike Snitzer) [1885650] - [md] dm: use dm_table_get_device_name() where appropriate in targets (Mike Snitzer) [1885650] - [md] dm table: make 'struct dm_table' definition accessible to all of DM core (Mike Snitzer) [1885650] - [md] dm: eliminate need for start_io_acct() forward declaration (Mike Snitzer) [1885650] - [md] dm: simplify __process_abnormal_io() (Mike Snitzer) [1885650] - [md] dm: push use of on-stack flush_bio down to __send_empty_flush() (Mike Snitzer) [1885650] - [md] dm thin metadata: Fix use-after-free in dm_bm_set_read_only (Mike Snitzer) [1885650] - [md] dm thin metadata: Avoid returning cmd->bm wild pointer on error (Mike Snitzer) [1885650] - [md] dm cache metadata: Avoid returning cmd->bm wild pointer on error (Mike Snitzer) [1885650] - [md] dm integrity: fix error reporting in bitmap mode after creation (Mike Snitzer) [1885650] - [md] dm crypt: Initialize crypto wait structures (Mike Snitzer) [1885650] - [md] dm mpath: fix racey management of PG initialization (Mike Snitzer) [1885650] - [md] dm writecache: handle DAX to partitions on persistent memory correctly (Mike Snitzer) [1885650] - [md] dm ioctl: Fix compilation warning (Mike Snitzer) [1885650] - [md] dm raid: Remove empty if statement (Mike Snitzer) [1885650] - [md] dm verity: Fix compilation warning (Mike Snitzer) [1885650] - [md] dm bufio: do buffer cleanup from a workqueue (Mike Snitzer) [1885650] - [md] dm verity: add "panic_on_corruption" error handling mode (Mike Snitzer) [1885650] - [md] dm: use noio when sending kobject event (Mike Snitzer) [1885650] - [md] dm writecache: add cond_resched to loop in persistent_memory_claim() (Mike Snitzer) [1885650] - [md] dm ioctl: use struct_size() helper in retrieve_deps() (Mike Snitzer) [1885650] - [md] dm writecache: skip writecache_wait when using pmem mode (Mike Snitzer) [1885650] - [md] dm writecache: correct uncommitted_block when discarding uncommitted entry (Mike Snitzer) [1885650] - [md] dm crypt: avoid truncating the logical block size (Mike Snitzer) [1885650] - [md] dm bufio: clean up rbtree block ordering (Mike Snitzer) [1885650] - [documentation] dm integrity: add status line documentation (Mike Snitzer) [1885650] - [md] dm: replace zero-length array with flexible-array (Mike Snitzer) [1885650] - [md] dm mpath: add Historical Service Time Path Selector (Mike Snitzer) [1885650] - [md] dm mpath: pass IO start time to path selector (Mike Snitzer) [1885650] - [md] dm writecache: improve performance on DDR persistent memory (Optane) (Mike Snitzer) [1885650] - [md] dm writecache: remove superfluous test in persistent_memory_claim (Mike Snitzer) [1885650] - [md] dm persistent data: switch exit_ro_spine to return void (Mike Snitzer) [1885650] - [md] dm integrity: remove set but not used variables (Mike Snitzer) [1885650] - [documentation] dm crypt: document encrypted keyring key option (Mike Snitzer) [1885650] - [md] dm crypt: support using encrypted keys (Mike Snitzer) [1885650] - [md] dm verity fec: fix hash block number in verity_fec_decode (Mike Snitzer) [1885650] - [documentation] dm integrity: document allow_discard option (Mike Snitzer) [1885650] - [net] bridge: always clear mcast matching struct on reports and leaves (Ivan Vecera) [1859244] - [net] bridge: increase multicast's default maximum number of entries (Ivan Vecera) [1859244] - [net] bridge: mark hash_elasticity as obsolete (Ivan Vecera) [1859244] - [net] bridge: multicast: use non-bh rcu flavor (Ivan Vecera) [1859244] - [net] bridge: convert multicast to generic rhashtable (Ivan Vecera) [1859244] - [net] revert "net/bridge: Replace call_rcu_bh() and rcu_barrier_bh()" (Ivan Vecera) [1859244] - [net] ip6gre: avoid tx_error when sending MLD/DAD on external tunnels (Davide Caratti) [1847838] - [nvme] nvme-rdma: fix controller reset hang during traffic (Ming Lei) [1881760] - [nvme] nvme-tcp: fix controller reset hang during traffic (Ming Lei) [1881760] - [scsi] scsi: sd: sd_zbc: Fix ZBC disk initialization (Ming Lei) [1881760] - [md] dm: update original bio sector on Zone Append (Ming Lei) [1881760] - [s390] s390/dasd: Fix zero write for FBA devices (Ming Lei) [1881760] - [block] block: restore a specific error code in bdev_del_partition (Ming Lei) [1881760] - [block] blk-stat: make q->stats->lock irqsafe (Ming Lei) [1881760] - [block] blk-iocost: ioc_pd_free() shouldn't assume irq disabled (Ming Lei) [1881760] - [block] block: fix locking in bdev_del_partition (Ming Lei) [1881760] - [block] block: release disk reference in hd_struct_free_work (Ming Lei) [1881760] - [block] loop: Set correct device size when using LOOP_CONFIGURE (Ming Lei) [1881760] - [block] loop: unset GENHD_FL_NO_PART_SCAN on LOOP_CONFIGURE (Ming Lei) [1881760] - [block] block: check queue's limits.discard_granularity in __blkdev_issue_discard() (Ming Lei) [1881760] - [block] block: don't do revalidate zones on invalid devices (Ming Lei) [1881760] - [s390] s390/dasd: fix inability to use DASD with DIAG driver (Ming Lei) [1881760] - [tools] iocost_monitor: start from the oldest usage index (Ming Lei) [1881760] - [block] iocost: Fix check condition of iocg abs_vdebt (Ming Lei) [1881760] - [block] block: Use non _rcu version of list functions for tag_set_list (Ming Lei) [1881760] - [block] blk-cgroup: show global disk stats in root cgroup io.stat (Ming Lei) [1881760] - [block] blk-cgroup: make iostat functions visible to stat printing (Ming Lei) [1881760] - [block] block: improve discard bio alignment in __blkdev_issue_discard() (Ming Lei) [1881760] - [block] block: defer flush request no matter whether we have elevator (Ming Lei) [1881760] - [block] block: make blk_timeout_init() static (Ming Lei) [1881760] - [block] Revert "blk-rq-qos: remove redundant finish_wait to rq_qos_wait." (Ming Lei) [1881760] - [block] block: relax jiffies rounding for timeouts (Ming Lei) [1881760] - [lib] sbitmap: Consider cleared bits in sbitmap_bitmap_show() (Ming Lei) [1881760] - [block] blk-cgroup: clean up indentation (Ming Lei) [1881760] - [block] blk-cgroup: remove a dead check in blk_throtl_bio (Ming Lei) [1881760] - [block] blk-cgroup: remove blkcg_bio_issue_check (Ming Lei) [1881760] - [block] blk-cgroup: move rcu locking from blkcg_bio_issue_check to blk_throtl_bio (Ming Lei) [1881760] - [kernel] cgroup: unexport cgroup_rstat_updated (Ming Lei) [1881760] - [block] blk-cgroup: remove the !bio->bi_blkg check in blkcg_bio_issue_check (Ming Lei) [1881760] - [block] block: move the initial blkg lookup into blkg_tryget_closest (Ming Lei) [1881760] - [block] block: bypass blkg_tryget_closest for the root_blkg (Ming Lei) [1881760] - [block] block: merge blkg_lookup_create and __blkg_lookup_create (Ming Lei) [1881760] - [block] block: move the bio cgroup associatation helpers to blk-cgroup.c (Ming Lei) [1881760] - [block] block: move bio_associate_blkg_from_page to mm/page_io.c (Ming Lei) [1881760] - [block] block: merge __bio_associate_blkg into bio_associate_blkg_from_css (Ming Lei) [1881760] - [block] block: really clone the block cgroup in bio_clone_blkg_association (Ming Lei) [1881760] - [block] blkcg: clean up blkg_tryget_closest() (Ming Lei) [1881760] - [block] block: remove bio_disassociate_blkg (Ming Lei) [1881760] - [md] dm: use bio_uninit instead of bio_disassociate_blkg (Ming Lei) [1881760] - [block] blk-rq-qos: remove redundant finish_wait to rq_qos_wait (Ming Lei) [1881760] - [block] blktrace: Provide event for request merging (Ming Lei) [1881760] - [fs] block: simplify sb_is_blkdev_sb (Ming Lei) [1881760] - [fs] block: mark bd_finish_claiming static (Ming Lei) [1881760] - [tty] tty/sysrq: emergency_thaw_all does not depend on CONFIG_BLOCK (Ming Lei) [1881760] - [block] blk-iocost: Use struct_size() in kzalloc_node() (Ming Lei) [1881760] - [block] block: bio: Use struct_size() in kmalloc() (Ming Lei) [1881760] - [block] block: create the request_queue debugfs_dir on registration (Ming Lei) [1881760] - [block] blk-mq: add a new blk_mq_complete_request_remote API (Ming Lei) [1881760] - [block] blk-mq: factor out a blk_mq_complete_need_ipi helper (Ming Lei) [1881760] - [block] blk-mq: remove the get_cpu/put_cpu pair in blk_mq_complete_request (Ming Lei) [1881760] - [block] blk-mq: move failure injection out of blk_mq_complete_request (Ming Lei) [1881760] - [block] blk-mq: merge the softirq vs non-softirq IPI logic (Ming Lei) [1881760] - [block] blk-mq: short cut the IPI path in blk_mq_force_complete_rq for !SMP (Ming Lei) [1881760] - [block] blk-mq: complete polled requests directly (Ming Lei) [1881760] - [block] blk-mq: remove raise_blk_irq (Ming Lei) [1881760] - [block] blk-mq: factor out a helper to reise the block softirq (Ming Lei) [1881760] - [block] blk-mq: merge blk-softirq.c into blk-mq.c (Ming Lei) [1881760] - [block] nbd: Fix memory leak in nbd_add_socket (Ming Lei) [1881760] - [block] block: make function __bio_integrity_free() static (Ming Lei) [1881760] - [block] virtio-blk: free vblk-vqs in error path of virtblk_probe() (Ming Lei) [1881760] - [block] blk-mq-debugfs: update blk_queue_flag_nameaccordingly for new flags (Ming Lei) [1881760] - [block] block: release bip in a right way in error path (Ming Lei) [1881760] - [fs] block: make function 'kill_bdev' static (Ming Lei) [1881760] - [block] loop: replace kill_bdev with invalidate_bdev (Ming Lei) [1881760] - [block] partitions/ldm: Replace uuid_copy() with import_uuid() where it makes sense (Ming Lei) [1881760] - [block] block: update hctx map when use multiple maps (Ming Lei) [1881760] - [trace] trace/events/block.h: drop kernel-doc for dropped function parameter (Ming Lei) [1881760] - [block] blk-mq: Remove redundant 'return' statement (Ming Lei) [1881760] - [block] umem: remove redundant initialization of variable ret (Ming Lei) [1881760] - [block] pktcdvd: remove redundant initialization of variable ret (Ming Lei) [1881760] - [kernel] blktrace: fix endianness for blk_log_remap() (Ming Lei) [1881760] - [kernel] blktrace: fix endianness in get_pdu_int() (Ming Lei) [1881760] - [kernel] blktrace: use errno instead of bi_status (Ming Lei) [1881760] - [block] block: nr_sects_write(): Disable preemption on seqcount write (Ming Lei) [1881760] - [nvme] block: remove the error argument to the block_bio_complete tracepoint (Ming Lei) [1881760] - [block] loop: Fix wrong masking of status flags (Ming Lei) [1881760] - [block] block/bio-integrity: don't free 'buf' if bio_integrity_add_page() failed (Ming Lei) [1881760] - [block] block: always define struct blk_integrity in genhd.h (Ming Lei) [1881760] - [s390] dasd: refactor dasd_ioctl_information (Ming Lei) [1881760] - [block] loop: Add LOOP_CONFIGURE ioctl (Ming Lei) [1881760] - [block] loop: Clean up LOOP_SET_STATUS lo_flags handling (Ming Lei) [1881760] - [block] loop: Rework lo_ioctl() __user argument casting (Ming Lei) [1881760] - [block] loop: Move loop_set_status_from_info() and friends up (Ming Lei) [1881760] - [block] loop: Factor out configuring loop from status (Ming Lei) [1881760] - [block] loop: Remove figure_loop_size() (Ming Lei) [1881760] - [block] loop: Refactor loop_set_status() size calculation (Ming Lei) [1881760] - [block] loop: Switch to set_capacity_revalidate_and_notify() (Ming Lei) [1881760] - [block] loop: Factor out setting loop device size (Ming Lei) [1881760] - [block] loop: Remove sector_t truncation checks (Ming Lei) [1881760] - [block] loop: Call loop_config_discard() only after new config is applied (Ming Lei) [1881760] - [block] block/swim3: use set_current_state macro (Ming Lei) [1881760] - [block] block: mark bio_wouldblock_error() bio with BIO_QUIET (Ming Lei) [1881760] - [block] blk-wbt: rename __wbt_update_limits to wbt_update_limits (Ming Lei) [1881760] - [block] blk-wbt: remove wbt_update_limits (Ming Lei) [1881760] - [block] blk-throttle: remove tg_drain_bios (Ming Lei) [1881760] - [block] blk-throttle: remove blk_throtl_drain (Ming Lei) [1881760] - [block] null_blk: force complete for timeout request (Ming Lei) [1881760] - [block] block: fix a warning when blkdev.h is included for !CONFIG_BLOCK builds (Ming Lei) [1881760] - [block] block: reduce part_stat_lock() scope (Ming Lei) [1881760] - [block] block: use __this_cpu_add() instead of access by smp_processor_id() (Ming Lei) [1881760] - [block] block: remove rcu_read_lock() from part_stat_lock() (Ming Lei) [1881760] - [block] block: add a blk_account_io_merge_bio helper (Ming Lei) [1881760] - [block] block: account merge of two requests (Ming Lei) [1881760] - [block] zram: nvdimm: use bio_{start, end}_io_acct and disk_{start, end}_io_acct (Ming Lei) [1881760] - [nvdimm] nvdimm: use bio_{start,end}_io_acct (Ming Lei) [1881760] - [md] dm: use bio_{start,end}_io_acct (Ming Lei) [1881760] - [block] rsxx: use bio_{start,end}_io_acct (Ming Lei) [1881760] - [block] drbd: use bio_{start,end}_io_acct (Ming Lei) [1881760] - [block] block: add disk/bio-based accounting helpers (Ming Lei) [1881760] - [block] block: remove the disk and queue NULL checks in blkdev_issue_flush (Ming Lei) [1881760] - [fs] block: remove the error_sector argument to blkdev_issue_flush (Ming Lei) [1881760] - [block] block: Remove unused flush_queue_delayed in struct blk_flush_queue (Ming Lei) [1881760] - [block] null_blk: Zero-initialize read buffers in non-memory-backed mode (Ming Lei) [1881760] - [include] block: Document the bio_vec properties (Ming Lei) [1881760] - [block] bio.h: Declare the arguments of the bio iteration functions const (Ming Lei) [1881760] - [block] block: Fix type of first compat_put_{, u}long() argument (Ming Lei) [1881760] - [block] block: merge part_{inc, dev}_in_flight into their only callers (Ming Lei) [1881760] - [block] block: don't call part_{inc, dec}_in_flight for blk-mq devices (Ming Lei) [1881760] - [block] block: move the blk-mq calls out of part_in_flight{, _rw} (Ming Lei) [1881760] - [block] block: mark blk_account_io_completion static (Ming Lei) [1881760] - [block] blk-mq: allow blk_mq_make_request to consume the q_usage_counter reference (Ming Lei) [1881760] - [kernel] blktrace: Report pid with note messages (Ming Lei) [1881760] - [block] iocost: don't let vrate run wild while there's no saturation signal (Ming Lei) [1881760] - [block] block: move blk_io_schedule() out of header file (Ming Lei) [1881760] - [block] block: export bio_release_pages and bio_iov_iter_get_pages (Ming Lei) [1881760] - [block] null_blk: Support REQ_OP_ZONE_APPEND (Ming Lei) [1881760] - [scsi] scsi: sd_zbc: emulate ZONE_APPEND commands (Ming Lei) [1881760] - [scsi] scsi: sd_zbc: factor out sanity checks for zoned commands (Ming Lei) [1881760] - [block] block: Modify revalidate zones (Ming Lei) [1881760] - [block] block: introduce blk_req_zone_write_trylock (Ming Lei) [1881760] - [block] block: Introduce REQ_OP_ZONE_APPEND (Ming Lei) [1881760] - [block] block: rename __bio_add_pc_page to bio_add_hw_page (Ming Lei) [1881760] - [block] block: provide fallbacks for blk_queue_zone_is_seq and blk_queue_zone_no (Ming Lei) [1881760] - [fs] block: add blk_io_schedule() for avoiding task hung in sync dio (Ming Lei) [1881760] - [block] block: don't hold part0's refcount in IO path (Ming Lei) [1881760] - [block] block: only define 'nr_sects_seq' in hd_part for 32bit SMP (Ming Lei) [1881760] - [block] bdi: fix up for "remove the name field in struct backing_dev_info" (Ming Lei) [1881760] - [fs] hfs: stop using ioctl_by_bdev (Ming Lei) [1881760] - [fs] bdi: remove the name field in struct backing_dev_info (Ming Lei) [1881760] - [mtd] bdi: simplify bdi_alloc (Ming Lei) [1881760] - [block] bdi: remove bdi_register_owner (Ming Lei) [1881760] - [mm] bdi: unexport bdi_register_va (Ming Lei) [1881760] - [base] driver core: remove device_create_vargs (Ming Lei) [1881760] - [block] block: rename blk_mq_alloc_rq_maps (Ming Lei) [1881760] - [block] block: rename __blk_mq_alloc_rq_map (Ming Lei) [1881760] - [fs] udf: stop using ioctl_by_bdev (Ming Lei) [1881760] - [fs] isofs: stop using ioctl_by_bdev (Ming Lei) [1881760] - [fs] hfsplus: stop using ioctl_by_bdev (Ming Lei) [1881760] - [cdrom] cdrom: factor out a cdrom_multisession helper (Ming Lei) [1881760] - [cdrom] cdrom: factor out a cdrom_read_tocentry helper (Ming Lei) [1881760] - [ide] ide-cd: rename cdrom_read_tocentry (Ming Lei) [1881760] - [cdrom] block: add a cdrom_device_info pointer to struct gendisk (Ming Lei) [1881760] - [block] block: add a bio_queue_enter helper (Ming Lei) [1881760] - [block] block: replace BIO_QUEUE_ENTERED with BIO_CGROUP_ACCT (Ming Lei) [1881760] - [block] block: improve the submit_bio and generic_make_request documentation (Ming Lei) [1881760] - [block] blk-mq: make function '__blk_mq_sched_dispatch_requests' static (Ming Lei) [1881760] - [block] block: bypass ->make_request_fn for blk-mq drivers (Ming Lei) [1881760] - [md] dm: remove the make_request_fn check in device_area_is_invalid (Ming Lei) [1881760] - [block] block: remove create_io_context (Ming Lei) [1881760] - [fs] block: unexport bdev_read_page and bdev_write_page (Ming Lei) [1881760] - [scsi] scsi: merge scsi_init_sgtable into scsi_init_io (Ming Lei) [1881760] - [block] block: provide a blk_rq_map_sg variant that returns the last element (Ming Lei) [1881760] - [block] block: remove RQF_COPY_USER (Ming Lei) [1881760] - [block] block: fold bdev_unhash_inode into invalidate_partition (Ming Lei) [1881760] - [block] block: simplify block device syncing in bdev_del_partition (Ming Lei) [1881760] - [block] block: don't call invalidate_partition from blk_drop_partitions (Ming Lei) [1881760] - [s390] dasd: use blk_drop_partitions instead of badly reimplementing it (Ming Lei) [1881760] - [block] block: remove the disk argument from blk_drop_partitions (Ming Lei) [1881760] - [block] block: remove hd_struct_kill (Ming Lei) [1881760] - [block] block: cleanup hd_struct freeing (Ming Lei) [1881760] - [block] block: pass a hd_struct to delete_partition (Ming Lei) [1881760] - [block] block: refactor blkpg_ioctl (Ming Lei) [1881760] - [block] null_blk: don't allow discard for zoned mode (Ming Lei) [1881760] - [block] null_blk: return error for invalid zone size (Ming Lei) [1881760] - [block] iocost: protect iocg->abs_vdebt with iocg->waitq.lock (Ming Lei) [1881760] - [block] block: remove the bd_openers checks in blk_drop_partitions (Ming Lei) [1881760] - [block] null_blk: Cleanup zoned device initialization (Ming Lei) [1881760] - [block] null_blk: Fix zoned command handling (Ming Lei) [1881760] - [fs] block: remove unused header (Ming Lei) [1881760] - [fs] bdev: Reduce time holding bd_mutex in sync in blkdev_close() (Ming Lei) [1881760] - [trace] blk-wbt: Drop needless newlines from tracepoint format strings (Ming Lei) [1881760] - [block] blk-wbt: Use tracepoint_string() for wbt_step tracepoint string literals (Ming Lei) [1881760] - [s390] s390/dasd: remove IOSCHED_DEADLINE from DASD Kconfig (Ming Lei) [1881760] - [block] block: fix busy device checking in blk_drop_partitions again (Ming Lei) [1881760] - [block] block: fix busy device checking in blk_drop_partitions (Ming Lei) [1881760] - [block] blkcg: don't offline parent blkcg first (Ming Lei) [1881760] - [block] blkcg: rename blkcg->cgwb_refcnt to ->online_pin and always use it (Ming Lei) [1881760] - [block] null_blk: add trace in null_blk_zoned.c (Ming Lei) [1881760] - [block] null_blk: add tracepoint helpers for zoned mode (Ming Lei) [1881760] - [block] block: add a zone condition debug helper (Ming Lei) [1881760] - [block] rsxx: Replace zero-length array with flexible-array member (Ming Lei) [1881760] - [block] null_blk: describe the usage of fault injection param (Ming Lei) [1881760] - [block] null_blk: fix spurious IO errors after failed past-wp access (Ming Lei) [1881760] - [block] nbd: requeue command if the soecket is changed (Ming Lei) [1881760] - [block] nbd: enable replace socket if only one connection is configured (Ming Lei) [1881760] - [block] block/drbd: delete invalid function drbd_md_mark_dirty_ (Ming Lei) [1881760] - [block] loop: Only freeze block queue when needed (Ming Lei) [1881760] - [block] loop: Only change blocksize when needed (Ming Lei) [1881760] - [block] block: move bdevname() into block/generic-partition-rh.c (Ming Lei) [1881760] - [block] block: return NULL in blk_alloc_queue() on error (Ming Lei) [1881760] - [block] block: simplify queue allocation (Ming Lei) [1881760] - [block] Revert "blkdev: check for valid request queue before issuing flush" (Ming Lei) [1881760] - [block] null_blk: use blk_mq_init_queue_data (Ming Lei) [1881760] - [block] block: add a blk_mq_init_queue_data helper (Ming Lei) [1881760] - [block] block: move the ->devnode callback to struct block_device_operations (Ming Lei) [1881760] - [block] block: move block layer internals out of include/linux/genhd.h (Ming Lei) [1881760] - [fs] block: move guard_bio_eod to bio.c (Ming Lei) [1881760] - [block] block: unexport disk_map_sector_rcu (Ming Lei) [1881760] - [block] block: unexport disk_get_part (Ming Lei) [1881760] - [block] block: mark part_in_flight and part_in_flight_rw static (Ming Lei) [1881760] - [block] block: mark block_depr static (Ming Lei) [1881760] - [block] block: factor out requeue handling from dispatch code (Ming Lei) [1881760] - [block] block/diskstats: replace time_in_queue with sum of request times (Ming Lei) [1881760] - [block] block/diskstats: accumulate all per-cpu counters in one pass (Ming Lei) [1881760] - [block] block: merge partition-generic.c and check.c (Ming Lei) [1881760] - [block] block: move the various x86 Unix label formats out of genhd.h (Ming Lei) [1881760] - [block] partitions/msdos: remove LINUX_SWAP_PARTITION (Ming Lei) [1881760] - [block] block: move the *_PARTITION enum out of genhd.h (Ming Lei) [1881760] - [scsi] block: move struct partition out of genhd.h (Ming Lei) [1881760] - [block] block: remove block/partitions/sun.h (Ming Lei) [1881760] - [block] block: remove block/partitions/sgi.h (Ming Lei) [1881760] - [block] block: remove block/partitions/osf.h (Ming Lei) [1881760] - [block] block: remove block/partitions/karma.h (Ming Lei) [1881760] - [block] block: declare all partition detection routines in check.h (Ming Lei) [1881760] - [block] block: remove warn_no_part (Ming Lei) [1881760] - [md] block: cleanup how md_autodetect_dev is called (Ming Lei) [1881760] - [block] block: unexport read_dev_sector and put_dev_sector (Ming Lei) [1881760] - [scsi] scsi: simplify scsi_partsize (Ming Lei) [1881760] - [block] block: remove alloc_part_info and free_part_info (Ming Lei) [1881760] - [block] block: move sysfs methods shared by disks and partitions to genhd.c (Ming Lei) [1881760] - [block] block: move disk_name and related helpers out of partition-generic.c (Ming Lei) [1881760] - [fs] block: remove __bdevname (Ming Lei) [1881760] - [block] block: remove the blk_lookup_devt export (Ming Lei) [1881760] - [block] block, bfq: invoke flush_idle_tree after reparent_active_queues in pd_offline (Ming Lei) [1881760] - [block] block, bfq: make reparent_leaf_entity actually work only on leaf entities (Ming Lei) [1881760] - [block] block, bfq: turn put_queue into release_process_ref in __bfq_bic_change_cgroup (Ming Lei) [1881760] - [block] block, bfq: move forward the getting of an extra ref in bfq_bfqq_move (Ming Lei) [1881760] - [scsi] scsi: Convert to use set_capacity_revalidate_and_notify (Ming Lei) [1881760] - [nvme] nvme: Convert to use set_capacity_revalidate_and_notify (Ming Lei) [1881760] - [block] virtio_blk.c: Convert to use set_capacity_revalidate_and_notify (Ming Lei) [1881760] - [block] block/genhd: Notify udev about capacity change (Ming Lei) [1881760] - [fs] block: fix a device invalidation regression (Ming Lei) [1881760] - [block] blk-iocost: remove duplicated lines in comments (Ming Lei) [1881760] - [block] block: sed-opal: Change the check condition for regular session validity (Ming Lei) [1881760] - [block] block: Document genhd capability flags (Ming Lei) [1881760] - [block] block: cleanup comment for blk_flush_complete_seq (Ming Lei) [1881760] - [block] block: remove unneeded argument from blk_alloc_flush_queue (Ming Lei) [1881760] - [block] block: cleanup for _blk/blk_rq_prep_clone (Ming Lei) [1881760] - [block] block: remove redundant setting of QUEUE_FLAG_DYING (Ming Lei) [1881760] - [block] block: use bio_{wouldblock, io}_error in direct_make_request (Ming Lei) [1881760] - [block] block: fix comment for blk_cloned_rq_check_limits (Ming Lei) [1881760] - [block] null_blk: Add support for init_hctx() fault injection (Ming Lei) [1881760] - [block] null_blk: Handle null_add_dev() failures properly (Ming Lei) [1881760] - [block] null_blk: Fix the null_add_dev() error path (Ming Lei) [1881760] - [block] compat_ioctl: simplify up block/ioctl.c (Ming Lei) [1881760] - [block] compat_ioctl: block: simplify compat_blkpg_ioctl() (Ming Lei) [1881760] - [block] compat_ioctl: block: move blkdev_compat_ioctl() into ioctl.c (Ming Lei) [1881760] - [block] blk-mq: insert flush request to the front of dispatch queue (Ming Lei) [1881760] - [block] block: Remove used kblockd_schedule_work_on() (Ming Lei) [1881760] - [block] null_blk: remove unused fields in 'nullb_cmd' (Ming Lei) [1881760] - [block] drbd: fifo_alloc() should use struct_size (Ming Lei) [1881760] - [block] partitions/ldm: fix spelling mistake "to" -> "too" (Ming Lei) [1881760] - [block] block: mark zone-mgmt bios with REQ_SYNC (Ming Lei) [1881760] - [block] blk-mq: Document functions for sending request (Ming Lei) [1881760] - [block] block: Allow t10-pi to be modular (Ming Lei) [1881760] - [block] blk-mq: optimise blk_mq_flush_plug_list() (Ming Lei) [1881760] - [include] list: introduce list_for_each_continue() (Ming Lei) [1881760] - [block] blk-mq: optimise rq sort function (Ming Lei) [1881760] - [block] blk-cgroup: cgroup_rstat_updated() shouldn't be called on cgroup1 (Ming Lei) [1881760] - [block] blk-cgroup: separate out blkg_rwstat under CONFIG_BLK_CGROUP_RWSTAT (Ming Lei) [1881760] - [block] blk-cgroup: reimplement basic IO stats using cgroup rstat (Ming Lei) [1881760] - [block] blk-cgroup: remove now unused blkg_print_stat_{bytes|ios}_recursive() (Ming Lei) [1881760] - [block] blk-throtl: stop using blkg->stat_bytes and ->stat_ios (Ming Lei) [1881760] - [block] bfq-iosched: Ensure bio->bi_blkg is valid before using it (Ming Lei) [1881760] - [block] bfq-iosched: stop using blkg->stat_bytes and ->stat_ios (Ming Lei) [1881760] - [block] bfq-iosched: relocate bfqg_*rwstat*() helpers (Ming Lei) [1881760] - [md] dm: fix comment in __dm_suspend() (Mike Snitzer) [1881531] - [md] dm: fold dm_process_bio() into dm_make_request() (Mike Snitzer) [1881531] - [md] dm: fix missing imposition of queue_limits from dm_wq_work() thread (Mike Snitzer) [1881531] - [md] dm: optimize max_io_len() by inlining max_io_len_target_boundary() (Mike Snitzer) [1881531] - [md] dm: push md->immutable_target optimization down to __process_bio() (Mike Snitzer) [1881531] - [md] dm: change max_io_len() to use blk_max_size_offset() (Mike Snitzer) [1881531] - [md] dm table: stack 'chunk_sectors' limit to account for target-specific splitting (Mike Snitzer) [1881531] - [block] block: allow 'chunk_sectors' to be non-power-of-2 (Mike Snitzer) [1881531] - [block] block: use lcm_not_zero() when stacking chunk_sectors (Mike Snitzer) [1881531] - [md] dm: fix bio splitting and its bio completion order for regular IO (Mike Snitzer) [1881531] - [net] net-sysfs: add backlog len and CPU id to softnet data (Paolo Abeni) [1866909] - [net] try to avoid unneeded backlog flush (Paolo Abeni) [1866909] - [net] skbuff: fix a data race in skb_queue_len() (Paolo Abeni) [1866909] - [cpuidle] cpuidle: pseries: Fix CEDE latency conversion from tb to us (Diego Domingos) [1608791] - [cpuidle] cpuidle: pseries: Fixup exit latency for CEDE(0) (Diego Domingos) [1608791] - [cpuidle] cpuidle: pseries: Add function to parse extended CEDE records (Diego Domingos) [1608791] - [cpuidle] cpuidle: pseries: Set the latency-hint before entering CEDE (Diego Domingos) [1608791] - [arm64] paravirt: Initialize steal time when cpu is online (Andrew Jones) [1879137]- [infiniband] i40iw: Add support to make destroy QP synchronous (Stefan Assmann) [1757949] - [fs] xfs: don't eat an EIO/ENOSPC writeback error when scrubbing data fork (Carlos Maiolino) [1859160] - [fs] xfs: fix inode allocation block res calculation precedence (Carlos Maiolino) [1859160] - [fs] xfs: fix reflink quota reservation accounting error (Carlos Maiolino) [1859160] - [fs] xfs: preserve rmapbt swapext block reservation from freed blocks (Carlos Maiolino) [1859160] - [fs] xfs: fix duplicate verification from xfs_qm_dqflush() (Carlos Maiolino) [1859160] - [fs] xfs: fix unmount hang and memory leak on shutdown during quotaoff (Carlos Maiolino) [1859160] - [fs] xfs: factor out quotaoff intent AIL removal and memory free (Carlos Maiolino) [1859160] - [fs] xfs: fix incorrect test in xfs_alloc_ag_vextent_lastblock (Carlos Maiolino) [1859160] - [fs] xfs: fix regression in "cleanup xfs_dir2_block_getdents" (Carlos Maiolino) [1859160] - [fs] xfs: fix use-after-free when aborting corrupt attr inactivation (Carlos Maiolino) [1859160] - [fs] xfs: fix iclog release error check race with shutdown (Carlos Maiolino) [1859160] - [fs] xfs: Add the missed xfs_perag_put() for xfs_ifree_cluster() (Carlos Maiolino) [1859160] - [fs] xfs: clean up the error handling in xfs_swap_extents (Carlos Maiolino) [1859160] - [fs] xfs: acquire superblock freeze protection on eofblocks scans (Carlos Maiolino) [1859160] - [fs] xfs: xfs_dabuf_map should return ENOMEM when map allocation fails (Carlos Maiolino) [1859160] - [fs] xfs: fix xfs_buf_ioerror_alert location reporting (Carlos Maiolino) [1859160] - [fs] xfs: remove unnecessary null pointer checks from _read_agf callers (Carlos Maiolino) [1859160] - [fs] xfs: make xfs_*read_agf return EAGAIN to ALLOC_FLAG_TRYLOCK callers (Carlos Maiolino) [1859160] - [fs] xfs: remove the xfs_btree_get_buffunctions (Carlos Maiolino) [1859160] - [fs] xfs: make xfs_trans_get_buf return an error code (Carlos Maiolino) [1859160] - [fs] xfs: make xfs_trans_get_buf_map return an error code (Carlos Maiolino) [1859160] - [fs] xfs: make xfs_buf_read return an error code (Carlos Maiolino) [1859160] - [fs] xfs: make xfs_buf_get_uncached return an error code (Carlos Maiolino) [1859160] - [fs] xfs: make xfs_buf_get return an error code (Carlos Maiolino) [1859160] - [fs] xfs: make xfs_buf_read_map return an error code (Carlos Maiolino) [1859160] - [fs] xfs: make xfs_buf_get_map return an error code (Carlos Maiolino) [1859160] - [fs] xfs: make xfs_buf_alloc return an error code (Carlos Maiolino) [1859160] - [fs] xfs: fix uninitialized variable in xfs_attr3_leaf_inactive (Carlos Maiolino) [1859160] - [fs] xfs: change return value of xfs_inode_need_cow to int (Carlos Maiolino) [1859160] - [fs] xfs: check log iovec size to make sure it's plausibly a buffer log format (Carlos Maiolino) [1859160] - [fs] xfs: make struct xfs_buf_log_format have a consistent size (Carlos Maiolino) [1859160] - [fs] xfs: complain if anyone tries to create a too-large buffer log item (Carlos Maiolino) [1859160] - [fs] xfs: clean up xfs_buf_item_get_format return value (Carlos Maiolino) [1859160] - [fs] xfs: streamline xfs_attr3_leaf_inactive (Carlos Maiolino) [1859160] - [fs] xfs: fix memory corruption during remote attr value buffer invalidation (Carlos Maiolino) [1859160] - [fs] xfs: refactor remote attr value buffer invalidation (Carlos Maiolino) [1859160] - [fs] xfs: fix IOCB_NOWAIT handling in xfs_file_dio_aio_read (Carlos Maiolino) [1859160] - [fs] xfs: Add __packed to xfs_dir2_sf_entry_t definition (Carlos Maiolino) [1859160] - [fs] xfs: fix s_maxbytes computation on 32-bit kernels (Carlos Maiolino) [1859160] - [fs] xfs: truncate should remove all blocks, not just to the end of the page cache (Carlos Maiolino) [1859160] - [fs] xfs: introduce XFS_MAX_FILEOFF (Carlos Maiolino) [1859160] - [fs] xfs: remove bogus assertion when online repair isn't enabled (Carlos Maiolino) [1859160] - [fs] xfs: Remove all strlen in all xfs_attr_* functions for attr names (Carlos Maiolino) [1859160] - [fs] xfs: fix misuse of the XFS_ATTR_INCOMPLETE flag (Carlos Maiolino) [1859160] - [fs] xfs: also remove cached ACLs when removing the underlying attr (Carlos Maiolino) [1859160] - [fs] xfs: reject invalid flags combinations in XFS_IOC_ATTRMULTI_BY_HANDLE (Carlos Maiolino) [1859160] - [fs] xfs: remove shadow variable in xfs_btree_lshift (Carlos Maiolino) [1859160] - [fs] xfs: quota: move to time64_t interfaces (Carlos Maiolino) [1859160] - [fs] xfs: Make the symbol 'xfs_rtalloc_log_count' static (Carlos Maiolino) [1859160] - [fs] libxfs: resync with the userspace libxfs (Carlos Maiolino) [1859160] - [fs] xfs: fix log reservation overflows when allocating large rt extents (Carlos Maiolino) [1859160] - [fs] xfs: fix mount failure crash on invalid iclog memory access (Carlos Maiolino) [1859160] - [fs] xfs: don't check for AG deadlock for realtime files in bunmapi (Carlos Maiolino) [1859160] - [fs] xfs: fix realtime file data space leak (Carlos Maiolino) [1859160] - [fs] xfs: allow parent directory scans to be interrupted with fatal signals (Carlos Maiolino) [1859160] - [fs] xfs: remove the mappedbno argument to xfs_da_get_buf (Carlos Maiolino) [1859160] - [fs] xfs: remove the mappedbno argument to xfs_da_read_buf (Carlos Maiolino) [1859160] - [fs] xfs: split xfs_da3_node_read (Carlos Maiolino) [1859160] - [fs] xfs: remove the mappedbno argument to xfs_dir3_leafn_read (Carlos Maiolino) [1859160] - [fs] xfs: remove the mappedbno argument to xfs_dir3_leaf_read (Carlos Maiolino) [1859160] - [fs] xfs: remove the mappedbno argument to xfs_attr3_leaf_read (Carlos Maiolino) [1859160] - [fs] xfs: remove the mappedbno argument to xfs_da_reada_buf (Carlos Maiolino) [1859160] - [fs] xfs: improve the xfs_dabuf_map calling conventions (Carlos Maiolino) [1859160] - [fs] xfs: refactor xfs_dabuf_map (Carlos Maiolino) [1859160] - [fs] xfs: simplify mappedbno handling in xfs_da_{get, read}_buf (Carlos Maiolino) [1859160] - [fs] xfs: report corruption only as a regular error (Carlos Maiolino) [1859160] - [fs] xfs: Remove kmem_zone_free() wrapper (Carlos Maiolino) [1859160] - [fs] xfs: Remove kmem_zone_destroy() wrapper (Carlos Maiolino) [1859160] - [fs] xfs: Remove slab init wrappers (Carlos Maiolino) [1859160] - [fs] xfs: fix another missing include (Carlos Maiolino) [1859160] - [fs] xfs: remove XFS_IOC_FSSETDM and XFS_IOC_FSSETDM_BY_HANDLE (Carlos Maiolino) [1859160] - [fs] xfs: remove duplicated include from xfs_dir2_data.c (Carlos Maiolino) [1859160] - [fs] xfs: remove unused structure members & simple typedefs (Carlos Maiolino) [1859160] - [fs] xfs: remove unused typedef definitions (Carlos Maiolino) [1859160] - [fs] xfs: Replace function declaration by actual definition (Carlos Maiolino) [1859160] - [fs] xfs: remove the xfs_qoff_logitem_t typedef (Carlos Maiolino) [1859160] - [fs] xfs: remove the xfs_dq_logitem_t typedef (Carlos Maiolino) [1859160] - [fs] xfs: remove the xfs_quotainfo_t typedef (Carlos Maiolino) [1859160] - [fs] xfs: remove the xfs_disk_dquot_t and xfs_dquot_t (Carlos Maiolino) [1859160] - [fs] xfs: avoid time_t in user api (Carlos Maiolino) [1859160] - [fs] xfs: don't reset the "inode core" in xfs_iread (Carlos Maiolino) [1859160] - [fs] xfs: merge the projid fields in struct xfs_icdinode (Carlos Maiolino) [1859160] - [fs] xfs: use a struct timespec64 for the in-core crtime (Carlos Maiolino) [1859160] - [fs] xfs: devirtualize ->m_dirnameops (Carlos Maiolino) [1859160] - [fs] xfs: remove the unused m_chsize field (Carlos Maiolino) [1859160] - [fs] xfs: convert open coded corruption check to use XFS_IS_CORRUPT (Carlos Maiolino) [1859160] - [fs] xfs: kill the XFS_WANT_CORRUPT_* macros (Carlos Maiolino) [1859160] - [fs] xfs: add a XFS_IS_CORRUPT macro (Carlos Maiolino) [1859160] - [fs] xfs: attach dquots before performing xfs_swap_extents (Carlos Maiolino) [1859160] - [fs] xfs: actually check xfs_btree_check_block return in xfs_btree_islastblock (Carlos Maiolino) [1859160] - [fs] xfs: always pass a valid hdr to xfs_dir3_leaf_check_int (Carlos Maiolino) [1859160] - [fs] xfs: merge xfs_dir2_data_freescan and xfs_dir2_data_freescan_int (Carlos Maiolino) [1859160] - [fs] xfs: remove the now unused dir ops infrastructure (Carlos Maiolino) [1859160] - [fs] xfs: devirtualize ->data_get_ftype and ->data_put_ftype (Carlos Maiolino) [1859160] - [fs] xfs: devirtualize ->data_bestfree_p (Carlos Maiolino) [1859160] - [fs] xfs: cleanup xfs_dir2_data_entsize (Carlos Maiolino) [1859160] - [fs] xfs: move the dir2 data block fixed offsets to struct xfs_da_geometry (Carlos Maiolino) [1859160] - [fs] xfs: devirtualize ->data_entry_tag_p (Carlos Maiolino) [1859160] - [fs] xfs: devirtualize ->data_entsize (Carlos Maiolino) [1859160] - [fs] xfs: replace xfs_dir3_data_endp with xfs_dir3_data_end_offset (Carlos Maiolino) [1859160] - [fs] xfs: remove the now unused ->data_entry_p method (Carlos Maiolino) [1859160] - [fs] xfs: cleanup __xfs_dir3_data_check (Carlos Maiolino) [1859160] - [fs] xfs: cleanup xfs_dir2_data_freescan_int (Carlos Maiolino) [1859160] - [fs] xfs: cleanup xfs_dir2_block_to_sf (Carlos Maiolino) [1859160] - [fs] xfs: cleanup xchk_directory_data_bestfree (Carlos Maiolino) [1859160] - [fs] xfs: cleanup xchk_dir_rec (Carlos Maiolino) [1859160] - [fs] xfs: cleanup xfs_dir2_leaf_getdents (Carlos Maiolino) [1859160] - [fs] xfs: cleanup xfs_dir2_block_getdents (Carlos Maiolino) [1859160] - [fs] xfs: remove the ->data_unused_p method (Carlos Maiolino) [1859160] - [fs] xfs: remove the ->data_dot_entry_p and ->data_dotdot_entry_p methods (Carlos Maiolino) [1859160] - [fs] xfs: remove the data_dotdot_offset field in struct xfs_dir_ops (Carlos Maiolino) [1859160] - [fs] xfs: remove the data_dot_offset field in struct xfs_dir_ops (Carlos Maiolino) [1859160] - [fs] xfs: remove the unused ->data_first_entry_p method (Carlos Maiolino) [1859160] - [fs] xfs: devirtualize ->sf_get_ftype and ->sf_put_ftype (Carlos Maiolino) [1859160] - [fs] xfs: devirtualize ->sf_get_ino and ->sf_put_ino (Carlos Maiolino) [1859160] - [fs] xfs: devirtualize ->sf_entsize and ->sf_nextentry (Carlos Maiolino) [1859160] - [fs] xfs: devirtualize ->sf_get_parent_ino and ->sf_put_parent_ino (Carlos Maiolino) [1859160] - [fs] xfs: devirtualize ->db_to_fdb and ->db_to_fdindex (Carlos Maiolino) [1859160] - [fs] xfs: move the max dir2 free bests count to struct xfs_da_geometry (Carlos Maiolino) [1859160] - [fs] xfs: move the dir2 free header size to struct xfs_da_geometry (Carlos Maiolino) [1859160] - [fs] xfs: add a bests pointer to struct xfs_dir3_icfree_hdr (Carlos Maiolino) [1859160] - [fs] xfs: make the xfs_dir3_icfree_hdr available to xfs_dir2_node_addname_int (Carlos Maiolino) [1859160] - [fs] xfs: devirtualize ->free_hdr_to_disk (Carlos Maiolino) [1859160] - [fs] xfs: devirtualize ->free_hdr_from_disk (Carlos Maiolino) [1859160] - [fs] xfs: move the max dir2 leaf entries count to struct xfs_da_geometry (Carlos Maiolino) [1859160] - [fs] xfs: move the dir2 leaf header size to struct xfs_da_geometry (Carlos Maiolino) [1859160] - [fs] xfs: add an entries pointer to struct xfs_dir3_icleaf_hdr (Carlos Maiolino) [1859160] - [fs] xfs: devirtualize ->leaf_hdr_to_disk (Carlos Maiolino) [1859160] - [fs] xfs: devirtualize ->leaf_hdr_from_disk (Carlos Maiolino) [1859160] - [fs] xfs: move the node header size to struct xfs_da_geometry (Carlos Maiolino) [1859160] - [fs] xfs: add a btree entries pointer to struct xfs_da3_icnode_hdr (Carlos Maiolino) [1859160] - [fs] xfs: devirtualize ->node_hdr_to_disk (Carlos Maiolino) [1859160] - [fs] xfs: devirtualize ->node_hdr_from_disk (Carlos Maiolino) [1859160] - [fs] xfs: refactor btree node scrubbing (Carlos Maiolino) [1859160] - [fs] xfs: use unsigned int for all size values in struct xfs_da_geometry (Carlos Maiolino) [1859160] - [fs] xfs: move incore structures out of xfs_da_format.h (Carlos Maiolino) [1859160] - [fs] xfs: remove a stray tab in xfs_remount_rw() (Carlos Maiolino) [1859160] - [fs] xfs: convert EIO to EFSCORRUPTED when log contents are invalid (Carlos Maiolino) [1859160] - [fs] xfs: refactor "does this fork map blocks" predicate (Carlos Maiolino) [1859160] - [fs] xfs: clean up weird while loop in xfs_alloc_ag_vextent_near (Carlos Maiolino) [1859160] - [fs] xfs: annotate functions that trip static checker locking checks (Carlos Maiolino) [1859160] - [fs] xfs: Correct comment tyops -> typos (Carlos Maiolino) [1859160] - [fs] xfs: range check ri_cnt when recovering log items (Carlos Maiolino) [1859160] - [fs] xfs: "optimize" buffer item log segment bitmap setting (Carlos Maiolino) [1859160] - [fs] xfs: null out bma->prev if no previous extent (Carlos Maiolino) [1859160] - [fs] xfs: fix missing header includes (Carlos Maiolino) [1859160] - [fs] xfs: periodically yield scrub threads to the scheduler (Carlos Maiolino) [1859160] - [fs] xfs: remove redundant assignment to variable error (Carlos Maiolino) [1859160] - [fs] xfs: add missing early termination checks to record scrubbing functions (Carlos Maiolino) [1859160] - [fs] xfs: make the assertion message functions take a mount parameter (Carlos Maiolino) [1859160] - [fs] xfs: add missing assert in xfs_fsmap_owner_from_rmap (Carlos Maiolino) [1859160] - [fs] xfs: decrease indenting problems in xfs_dabuf_map (Carlos Maiolino) [1859160] - [fs] xfs: fold xfs_mount-alloc() into xfs_init_fs_context() (Carlos Maiolino) [1859160] - [fs] xfs: move xfs_fc_parse_param() above xfs_fc_get_tree() (Carlos Maiolino) [1859160] - [fs] xfs: move xfs_fc_get_tree() above xfs_fc_reconfigure() (Carlos Maiolino) [1859160] - [fs] xfs: move xfs_fc_reconfigure() above xfs_fc_free() (Carlos Maiolino) [1859160] - [fs] xfs: switch to use the new mount-api (Carlos Maiolino) [1859160] - [fs] xfs: dont set sb in xfs_mount_alloc() (Carlos Maiolino) [1859160] - [fs] xfs: move xfs_parseargs() validation to a helper (Carlos Maiolino) [1859160] - [fs] xfs: refactor xfs_parseags() (Carlos Maiolino) [1859160] - [fs] xfs: avoid redundant checks when options is empty (Carlos Maiolino) [1859160] - [fs] xfs: refactor suffix_kstrtoint() (Carlos Maiolino) [1859160] - [fs] xfs: add xfs_remount_ro() helper (Carlos Maiolino) [1859160] - [fs] xfs: add xfs_remount_rw() helper (Carlos Maiolino) [1859160] - [fs] xfs: merge freeing of mp names and mp (Carlos Maiolino) [1859160] - [fs] xfs: use kmem functions for struct xfs_mount (Carlos Maiolino) [1859160] - [fs] xfs: dont use XFS_IS_QUOTA_RUNNING() for option check (Carlos Maiolino) [1859160] - [fs] xfs: use super s_id instead of struct xfs_mount m_fsname (Carlos Maiolino) [1859160] - [fs] xfs: remove unused struct xfs_mount field m_fsname_len (Carlos Maiolino) [1859160] - [fs] xfs: always log corruption errors (Carlos Maiolino) [1859160] - [fs] xfs: constify the buffer pointer arguments to error functions (Carlos Maiolino) [1859160] - [fs] xfs: relax shortform directory size checks (Carlos Maiolino) [1859160] - [fs] xfs: cleanup use of the XFS_ALLOC_ flags (Carlos Maiolino) [1859160] - [fs] xfs: move extent zeroing to xfs_bmapi_allocate (Carlos Maiolino) [1859160] - [fs] xfs: refactor xfs_bmapi_allocate (Carlos Maiolino) [1859160] - [fs] xfs: simplify the xfs_iomap_write_direct calling (Carlos Maiolino) [1859160] - [fs] xfs: don't log the inode in xfs_fs_map_blocks if it (Carlos Maiolino) [1859160] - [fs] xfs: slightly tweak an assert in xfs_fs_map_blocks (Carlos Maiolino) [1859160] - [fs] xfs: remove the extsize argument to xfs_eof_alignment (Carlos Maiolino) [1859160] - [fs] xfs: mark xfs_eof_alignment static (Carlos Maiolino) [1859160] - [fs] xfs: simplify xfs_iomap_eof_align_last_fsb (Carlos Maiolino) [1859160] - [fs] xfs: merge xfs_showargs into xfs_fs_show_options (Carlos Maiolino) [1859160] - [fs] xfs: clean up printing inode32/64 in xfs_showargs (Carlos Maiolino) [1859160] - [fs] xfs: clean up printing the allocsize option in (Carlos Maiolino) [1859160] - [fs] xfs: reverse the polarity of XFS_MOUNT_COMPAT_IOSIZE (Carlos Maiolino) [1859160] - [fs] xfs: rename the XFS_MOUNT_DFLT_IOSIZE option to (Carlos Maiolino) [1859160] - [fs] xfs: simplify parsing of allocsize mount option (Carlos Maiolino) [1859160] - [fs] xfs: rename the m_writeio_* fields in struct xfs_mount (Carlos Maiolino) [1859160] - [fs] xfs: remove the m_readio_* fields in struct xfs_mount (Carlos Maiolino) [1859160] - [fs] xfs: don't use a different allocsice for -o wsync (Carlos Maiolino) [1859160] - [fs] xfs: cleanup calculating the stat optimal I/O size (Carlos Maiolino) [1859160] - [fs] xfs: remove the dsunit and dswidth variables in (Carlos Maiolino) [1859160] - [fs] xfs: simplify setting bio flags (Carlos Maiolino) [1859160] - [fs] xfs: refactor xfs_iread_extents to use xfs_btree_visit_blocks (Carlos Maiolino) [1859160] - [fs] xfs: refactor xfs_bmap_count_blocks using newer btree helpers (Carlos Maiolino) [1859160] - [fs] xfs: replace -EIO with -EFSCORRUPTED for corrupt metadata (Carlos Maiolino) [1859160] - [fs] xfs: namecheck directory entry names before listing them (Carlos Maiolino) [1859160] - [fs] xfs: namecheck attribute names before listing them (Carlos Maiolino) [1859160] - [fs] xfs: check attribute leaf block structure (Carlos Maiolino) [1859160] - [fs] xfs: consolidate preallocation in xfs_file_fallocate (Carlos Maiolino) [1859160] - [fs] xfs: disable xfs_ioc_space for always COW inodes (Carlos Maiolino) [1859160] - [fs] fs: add generic UNRESVSP and ZERO_RANGE ioctl handlers (Carlos Maiolino) [1859160] - [fs] xfs: don't implement XFS_IOC_RESVSP / XFS_IOC_RESVSP64 (Carlos Maiolino) [1859160] - [fs] xfs: use xfs_inode_buftarg in xfs_file_ioctl (Carlos Maiolino) [1859160] - [fs] xfs: use xfs_inode_buftarg in xfs_file_dio_aio_write (Carlos Maiolino) [1859160] - [fs] xfs: add a xfs_inode_buftarg helper (Carlos Maiolino) [1859160] - [fs] xfs: mark xfs_buf_free static (Carlos Maiolino) [1859160] - [fs] xfs: add mising include of xfs_pnfs.h for missing declarations (Carlos Maiolino) [1859160] - [fs] xfs: don't set bmapi total block req where minleft is (Carlos Maiolino) [1859160] - [fs] xfs: cap longest free extent to maximum allocatable (Carlos Maiolino) [1859160] - [fs] xfs: remove the duplicated inode log fieldmask set (Carlos Maiolino) [1859160] - [fs] xfs: improve the IOMAP_NOWAIT check for COW inodes (Carlos Maiolino) [1859160] - [fs] xfs: cleanup xfs_direct_write_iomap_begin (Carlos Maiolino) [1859160] - [fs] xfs: rename the whichfork variable in xfs_buffered_write_iomap_begin (Carlos Maiolino) [1859160] - [fs] xfs: split the iomap ops for buffered vs direct writes (Carlos Maiolino) [1859160] - [fs] xfs: move xfs_file_iomap_begin_delay around (Carlos Maiolino) [1859160] - [fs] xfs: split out a new set of read-only iomap ops (Carlos Maiolino) [1859160] - [fs] xfs: factor out a helper to calculate the end_fsb (Carlos Maiolino) [1859160] - [fs] xfs: fill out the srcmap in iomap_begin (Carlos Maiolino) [1859160] - [fs] xfs: refactor xfs_file_iomap_begin_delay (Carlos Maiolino) [1859160] - [fs] xfs: pass two imaps to xfs_reflink_allocate_cow (Carlos Maiolino) [1859160] - [fs] xfs: remove xfs_reflink_dirty_extents (Carlos Maiolino) [1859160] - [fs] xfs: also call xfs_file_iomap_end_delalloc for zeroing operations (Carlos Maiolino) [1859160] - [fs] xfs: remove the XLOG_STATE_DO_CALLBACK state (Carlos Maiolino) [1859160] - [fs] xfs: turn ic_state into an enum (Carlos Maiolino) [1859160] - [fs] xfs: remove the unused XLOG_STATE_ALL and XLOG_STATE_UNUSED flags (Carlos Maiolino) [1859160] - [fs] xfs: remove dead ifdef XFSERRORDEBUG code (Carlos Maiolino) [1859160] - [fs] xfs: call xlog_state_release_iclog with l_icloglock held (Carlos Maiolino) [1859160] - [fs] xfs: move the locking from xlog_state_finish_copy to the callers (Carlos Maiolino) [1859160] - [fs] xfs: remove the unused ic_io_size field from xlog_in_core (Carlos Maiolino) [1859160] - [fs] xfs: pass the correct flag to xlog_write_iclog (Carlos Maiolino) [1859160] - [fs] xfs: optimize near mode bnobt scans with concurrent cntbt lookups (Carlos Maiolino) [1859160] - [fs] xfs: factor out tree fixup logic into helper (Carlos Maiolino) [1859160] - [fs] xfs: refactor near mode alloc bnobt scan into separate function (Carlos Maiolino) [1859160] - [fs] xfs: refactor and reuse best extent scanning logic (Carlos Maiolino) [1859160] - [fs] xfs: refactor allocation tree fixup code (Carlos Maiolino) [1859160] - [fs] xfs: reuse best extent tracking logic for bnobt scan (Carlos Maiolino) [1859160] - [fs] xfs: refactor cntbt lastblock scan best extent logic into helper (Carlos Maiolino) [1859160] - [fs] xfs: track best extent from cntbt lastblock scan in alloc cursor (Carlos Maiolino) [1859160] - [fs] xfs: track allocation busy state in allocation cursor (Carlos Maiolino) [1859160] - [fs] xfs: introduce allocation cursor data structure (Carlos Maiolino) [1859160] - [fs] xfs: track active state of allocation btree cursors (Carlos Maiolino) [1859160] - [fs] xfs: ignore extent size hints for always COW inodes (Carlos Maiolino) [1859160] - [fs] xfs: include QUOTA, FATAL ASSERT build options in XFS_BUILD_OPTIONS (Carlos Maiolino) [1859160] - [pinctrl] pinctrl: tigerlake: Add support for Tiger Lake-H (Steve Best) [1782722] - [pinctrl] pinctrl: intel: Introduce common flags for GPIO mapping scheme (Steve Best) [1782722] - [mfd] mfd: intel-lpss: Add Intel Tiger Lake PCH-H PCI IDs (Steve Best) [1782724]- [netdrv] iavf: Fix incorrect adapter get in iavf_resume (Stefan Assmann) [1842896] - [netdrv] iavf: use generic power management (Stefan Assmann) [1842896] - [net] openvswitch: fixes crash if nf_conncount_init() fails (Eelco Chaudron) [1876445] - [fs] cifs`: handle ERRBaduid for SMB1 (Leif Sahlberg) [1875184] - [net] SUNRPC: 'Directory with parent 'rpc_clnt' already present!' (Scott Mayhew) [1872310] - [fs] NFS/pnfs: Don't use RPC_TASK_CRED_NOREF with pnfs (Scott Mayhew) [1872310] - [fs] NFS: Don't use RPC_TASK_CRED_NOREF with delegreturn (Scott Mayhew) [1872310] - [net] SUNRPC: Signalled ASYNC tasks need to exit (Scott Mayhew) [1872310] - [net] SUNRPC: fix use-after-free in rpc_free_client_work() (Scott Mayhew) [1872310] - [fs] NFS: Fix a race in __nfs_list_for_each_server() (Scott Mayhew) [1872310] - [net] SUNRPC: defer slow parts of rpc_free_client() to a workqueue (Scott Mayhew) [1872310] - [net] SUNRPC: Revert 241b1f419f0e ("SUNRPC: Remove xdr_buf_trim()") (Scott Mayhew) [1872310] - [fs] NFSv4: Remove unreachable error condition due to rpc_run_task() (Scott Mayhew) [1872310] - [net] SUNRPC: Remove unreachable error condition (Scott Mayhew) [1872310] - [fs] nfs: Fix potential posix_acl refcnt leak in nfs3_set_acl (Scott Mayhew) [1872310] - [fs] NFS/pnfs: Fix a credential use-after-free issue in pnfs_roc() (Scott Mayhew) [1872310] - [fs] NFS/pnfs: Ensure that _pnfs_return_layout() waits for layoutreturn completion (Scott Mayhew) [1872310] - [net] svcrdma: Fix leak of svc_rdma_recv_ctxt objects (Scott Mayhew) [1872310] - [fs] NFS: Fix an ABBA spinlock issue in pnfs_update_layout() (Scott Mayhew) [1872310] - [net] SUNRPC/cache: Fix unsafe traverse caused double-free in cache_purge (Scott Mayhew) [1872310] - [fs] nfsd: memory corruption in nfsd4_lock() (Scott Mayhew) [1872310] - [fs] pNFS: Fix RCU lock leakage (Scott Mayhew) [1872310] - [fs] NFS: Clean up process of marking inode stale (Scott Mayhew) [1872310] - [fs] NFS: Add softreval behaviour to nfs_lookup_revalidate() (Scott Mayhew) [1872310] - [fs] NFS: Add mount option 'softreval' (Scott Mayhew) [1872310] - [net] SUNRPC: Don't start a timer on an already queued rpc task (Scott Mayhew) [1872310] - [fs] NFS/pnfs: Reference the layout cred in pnfs_prepare_layoutreturn() (Scott Mayhew) [1872310] - [fs] NFS/pnfs: Fix dereference of layout cred in pnfs_layoutcommit_inode() (Scott Mayhew) [1872310] - [fs] NFS: Beware when dereferencing the delegation cred (Scott Mayhew) [1872310] - [fs] NFS: Add a module parameter to set nfs_mountpoint_expiry_timeout (Scott Mayhew) [1872310] - [fs] NFS: Try to join page groups before an O_DIRECT retransmission (Scott Mayhew) [1872310] - [fs] NFS: Refactor nfs_lock_and_join_requests() (Scott Mayhew) [1872310] - [fs] NFS: Reverse the submission order of requests in __nfs_pageio_add_request() (Scott Mayhew) [1872310] - [fs] NFS: Clean up nfs_lock_and_join_requests() (Scott Mayhew) [1872310] - [fs] NFS: Remove the redundant function nfs_pgio_has_mirroring() (Scott Mayhew) [1872310] - [fs] NFS: Fix memory leaks in nfs_pageio_stop_mirroring() (Scott Mayhew) [1872310] - [fs] NFS: Fix a request reference leak in nfs_direct_write_clear_reqs() (Scott Mayhew) [1872310] - [fs] NFS: Fix races nfs_page_group_destroy() vs nfs_destroy_unlinked_subrequests() (Scott Mayhew) [1872310] - [fs] NFS: Remove unused FLUSH_SYNC support in nfs_initiate_pgio() (Scott Mayhew) [1872310] - [fs] pNFS/flexfiles: Specify the layout segment range in LAYOUTGET (Scott Mayhew) [1872310] - [fs] pNFS/flexfiles: remove requirement for whole file layouts (Scott Mayhew) [1872310] - [fs] pNFS/flexfiles: Check the layout segment range before doing I/O (Scott Mayhew) [1872310] - [fs] pNFS/flexfile: Don't merge layout segments if the mirrors don't match (Scott Mayhew) [1872310] - [fs] NFS/pNFS: Fix pnfs_layout_mark_request_commit() invalid layout segment handling (Scott Mayhew) [1872310] - [fs] NFS/pNFS: Simplify bucket layout segment reference counting (Scott Mayhew) [1872310] - [fs] NFS/pNFS: Clean up pNFS commit operations (Scott Mayhew) [1872310] - [fs] NFS: Remove bucket array from struct pnfs_ds_commit_info (Scott Mayhew) [1872310] - [fs] NFS/pNFS: Add a helper pnfs_generic_search_commit_reqs() (Scott Mayhew) [1872310] - [fs] pNFS: Enable per-layout segment commit structures (Scott Mayhew) [1872310] - [fs] pNFS: Add infrastructure for cleaning up per-layout commit structures (Scott Mayhew) [1872310] - [fs] NFS/pNFS: Support commit arrays in nfs_clear_pnfs_ds_commit_verifiers() (Scott Mayhew) [1872310] - [fs] NFS: Fix O_DIRECT commit verifier handling (Scott Mayhew) [1872310] - [fs] NFS: commit errors should be fatal (Scott Mayhew) [1872310] - [fs] NFS/pNFS: Allow O_DIRECT to release the DS commitinfo (Scott Mayhew) [1872310] - [fs] pNFS: Support per-layout segment commits in pnfs_generic_commit_pagelist() (Scott Mayhew) [1872310] - [fs] pNFS: Support per-layout segment commits in pnfs_generic_recover_commit_reqs() (Scott Mayhew) [1872310] - [fs] NFSv4/pNFS: Scan the full list of commit arrays when committing (Scott Mayhew) [1872310] - [fs] NFSv4/pnfs: Support a list of commit arrays in struct pnfs_ds_commit_info (Scott Mayhew) [1872310] - [net] SUNRPC: Fix a potential buffer overflow in 'svc_print_xprts()' (Scott Mayhew) [1872310] - [include] SUNRPC/cache: don't allow invalid entries to be flushed (Scott Mayhew) [1872310] - [fs] pNFS: Add a helper to allocate the array of buckets (Scott Mayhew) [1872310] - [fs] NFS/pNFS: Refactor pnfs_generic_commit_pagelist() (Scott Mayhew) [1872310] - [fs] pNFS/flexfiles: Simplify allocation of the mirror array (Scott Mayhew) [1872310] - [fs] NFS: Don't specify NFS version in "UDP not supported" error (Scott Mayhew) [1872310] - [fs] nfsroot: set tcp as the default transport protocol (Scott Mayhew) [1872310] - [fs] NFS: direct.c: Fix memory leak of dreq when nfs_get_lock_context fails (Scott Mayhew) [1872310] - [fs] nfs: Fix up documentation in nfs_follow_referral() and nfs_do_submount() (Scott Mayhew) [1872310] - [net] sunrpc: Add tracing for cache events (Scott Mayhew) [1872310] - [net] SUNRPC/cache: Allow garbage collection of invalid cache entries (Scott Mayhew) [1872310] - [net] sunrpc: clean up cache entry add/remove from hashtable (Scott Mayhew) [1872310] - [net] sunrpc: Fix potential leaks in sunrpc_cache_unhash() (Scott Mayhew) [1872310] - [fs] nfsd: export upcalls must not return ESTALE when mountd is down (Scott Mayhew) [1872310] - [fs] nfsd: Don't add locks to closed or closing open stateids (Scott Mayhew) [1872310] - [net] SUNRPC: Teach server to use xprt_sock_sendmsg for socket sends (Scott Mayhew) [1872310] - [net] SUNRPC: Refactor xs_sendpages() (Scott Mayhew) [1872310] - [fs] NFSD: Clean up nfsd4_encode_readv (Scott Mayhew) [1872310] - [fs] fs: nfsd: nfs4state.c: Use built-in RCU list checking (Scott Mayhew) [1872310] - [net] sunrpc: Pass lockdep expression to RCU lists (Scott Mayhew) [1872310] - [include] sunrpc: Replace zero-length array with flexible-array member (Scott Mayhew) [1872310] - [net] SUNRPC: Trim stack utilization in the wrap and unwrap paths (Scott Mayhew) [1872310] - [net] SUNRPC: Remove xdr_buf_read_mic() (Scott Mayhew) [1872310] - [net] sunrpc: Fix gss_unwrap_resp_integ() again (Scott Mayhew) [1872310] - [fs] nfs: Replace zero-length array with flexible-array member (Scott Mayhew) [1872310] - [fs] NFSv4.2: error out when relink swapfile (Scott Mayhew) [1872310] - [fs] NFS:remove redundant call to nfs_do_access (Scott Mayhew) [1872310] - [net] SUNRPC: remove redundant assignments to variable status (Scott Mayhew) [1872310] - [fs] NFSv4: Add support for CB_RECALL_ANY for flexfiles layouts (Scott Mayhew) [1872310] - [fs] NFSv4: Clean up nfs_delegation_reap_expired() (Scott Mayhew) [1872310] - [fs] NFSv4: Clean up nfs_delegation_reap_unclaimed() (Scott Mayhew) [1872310] - [fs] NFSv4: Clean up nfs_client_return_marked_delegations() (Scott Mayhew) [1872310] - [fs] NFS: Add a helper nfs_client_for_each_server() (Scott Mayhew) [1872310] - [fs] NFSv4/pnfs: Clean up nfs_layout_find_inode() (Scott Mayhew) [1872310] - [fs] NFSv4: Ensure layout headers are RCU safe (Scott Mayhew) [1872310] - [fs] NFSv4/pnfs: Return valid stateids in nfs_layout_find_inode_by_stateid() (Scott Mayhew) [1872310] - [fs] pNFS/flexfiles: Report DELAY and GRACE errors from the DS to the server (Scott Mayhew) [1872310] - [fs] NFS: Limit the size of the access cache by default (Scott Mayhew) [1872310] - [fs] NFS: Avoid referencing the cred twice in async rename/unlink (Scott Mayhew) [1872310] - [fs] NFSv4: Avoid unnecessary credential references in layoutget (Scott Mayhew) [1872310] - [fs] NFSv4: Avoid referencing the cred unnecessarily during NFSv4 I/O (Scott Mayhew) [1872310] - [fs] NFS: Assume cred is pinned by open context in I/O requests (Scott Mayhew) [1872310] - [net] SUNRPC: Don't take a reference to the cred on synchronous tasks (Scott Mayhew) [1872310] - [net] SUNRPC: Add a flag to avoid reference counts on credentials (Scott Mayhew) [1872310] - [fs] NFS: Ensure we time out if a delegreturn does not complete (Scott Mayhew) [1872310] - [fs] NFSv4/pnfs: pnfs_set_layout_stateid() should update the layout cred (Scott Mayhew) [1872310] - [fs] NFSv4: nfs_update_inplace_delegation() should update delegation cred (Scott Mayhew) [1872310] - [fs] NFS: Use the 64-bit server readdir cookies when possible (Scott Mayhew) [1872310] - [net] Documentation: nfsroot.rst: Fix references to nfsroot.rst (Scott Mayhew) [1872310] - [fs] nfs: add missing "posix" local_lock constant table definition (Scott Mayhew) [1622041] - [samples] samples/vfs: avoid warning in statx override (Scott Mayhew) [1622041] - [fs] Fix use after free in get_tree_bdev() (Scott Mayhew) [1622041] - [security] selinux: fix regression introduced by move_mount(2) syscall (Scott Mayhew) [1622041] - [fs] mm/hugetlbfs: fix for_each_hstate() loop in init_hugetlbfs_fs() (Scott Mayhew) [1622041] - [fs] mm/hugetlbfs: fix error handling when setting up mounts (Scott Mayhew) [1622041] - [fs] cramfs: fix usage on non-MTD device (Scott Mayhew) [1622041] - [fs] vfs: move_mount: reject moving kernel internal mounts (Scott Mayhew) [1622041] - [fs] do_move_mount(): fix an unsafe use of is_anon_ns() (Scott Mayhew) [1622041] - [fs] fs/namespace: fix unprivileged mount propagation (Scott Mayhew) [1622041] - [fs] vfs: fsmount: add missing mntget() (Scott Mayhew) [1622041] - [fs] get rid of checking for absent device name in vfs_get_tree() (Scott Mayhew) [1622041] - [scripts] scripts/gdb: replace flags (MS_xyz -> SB_xyz) (Scott Mayhew) [1622041] - [mm] tmpfs: switch to use of invalfc() (Scott Mayhew) [1622041] - [kernel] cgroup1: switch to use of errorfc() et.al (Scott Mayhew) [1622041] - [fs] procfs: switch to use of invalfc() (Scott Mayhew) [1622041] - [fs] hugetlbfs: switch to use of invalfc() (Scott Mayhew) [1622041] - [fs] cramfs: switch to use of errofc() et.al (Scott Mayhew) [1622041] - [fs] gfs2: switch to use of errorfc() et.al (Scott Mayhew) [1622041] - [include] prefix-handling analogues of errorf() and friends (Scott Mayhew) [1622041] - [fs] turn fs_param_is_... into functions (Scott Mayhew) [1622041] - [fs] fs_parse: handle optional arguments sanely (Scott Mayhew) [1622041] - [fs] fs_parse: fold fs_parameter_desc/fs_parameter_spec (Scott Mayhew) [1622041] - [x86] x86/resctrl: Fix typos in the mba_sc mount option (Scott Mayhew) [1622041] - [fs] fs_parser: remove fs_parameter_description name field (Scott Mayhew) [1622041] - [documentation] vfs: Update mount API docs (Scott Mayhew) [1622041] - [fs] add prefix to fs_context->log (Scott Mayhew) [1622041] - [include] new primitive: __fs_parse() (Scott Mayhew) [1622041] - [include] struct p_log, variants of warnf() et.al. taking that one instead (Scott Mayhew) [1622041] - [fs] teach logfc() to handle prefices, give it saner calling conventions (Scott Mayhew) [1622041] - [kernel] get rid of cg_invalf() (Scott Mayhew) [1622041] - [fs] get rid of fs_value_is_filename_empty (Scott Mayhew) [1622041] - [fs] don't bother with explicit length argument for __lookup_constant() (Scott Mayhew) [1622041] - [fs] fold struct fs_parameter_enum into struct constant_table (Scott Mayhew) [1622041] - [fs] fs_parse: get rid of ->enums (Scott Mayhew) [1622041] - [fs] fs: fs_parser: fix printk format warning (Scott Mayhew) [1622041] - [fs] Pass consistent param->type to fs_parse() (Scott Mayhew) [1622041] - [fs] vfs: add missing blkdev_put() in get_tree_bdev() (Scott Mayhew) [1622041] - [mm] shmem: fix LSM options parsing (Scott Mayhew) [1622041] - [fs] gfs2: make gfs2_fs_parameters static (Scott Mayhew) [1622041] - [fs] gfs2: Fix initialisation of args for remount (Scott Mayhew) [1622041] - [fs] gfs2: Fix memory leak when gfs2meta's fs_context is freed (Scott Mayhew) [1622041] - [fs] gfs2: Convert gfs2 to fs_context (Scott Mayhew) [1622041] - [fs] NFS: Fix fscache super_cookie allocation (Scott Mayhew) [1622041] - [fs] NFS: Fix a few constant_table array definitions (Scott Mayhew) [1622041] - [fs] NFS: Fix leak of ctx->nfs_server.hostname (Scott Mayhew) [1622041] - [fs] NFS: Don't hard-code the fs_type when submounting (Scott Mayhew) [1622041] - [fs] NFS: Ensure the fs_context has the correct fs_type before mounting (Scott Mayhew) [1622041] - [fs] nfs: Return EINVAL rather than ERANGE for mount parse errors (Scott Mayhew) [1622041] - [fs] NFS: Attach supplementary error information to fs_context (Scott Mayhew) [1622041] - [fs] NFS: Additional refactoring for fs_context conversion (Scott Mayhew) [1622041] - [fs] NFS: Add fs_context support (Scott Mayhew) [1622041] - [fs] NFS: Convert mount option parsing to use functionality from fs_parser.h (Scott Mayhew) [1622041] - [fs] NFS: rename nfs_fs_context pointer arg in a few functions (Scott Mayhew) [1622041] - [fs] NFS: Do some tidying of the parsing code (Scott Mayhew) [1622041] - [fs] NFS: Add a small buffer in nfs_fs_context to avoid string dup (Scott Mayhew) [1622041] - [fs] NFS: Deindent nfs_fs_context_parse_option() (Scott Mayhew) [1622041] - [fs] NFS: Split nfs_parse_mount_options() (Scott Mayhew) [1622041] - [fs] NFS: Rename struct nfs_parsed_mount_data to struct nfs_fs_context (Scott Mayhew) [1622041] - [fs] NFS: Constify mount argument match tables (Scott Mayhew) [1622041] - [fs] NFS: Move mount parameterisation bits into their own file (Scott Mayhew) [1622041] - [fs] nfs: get rid of ->set_security() (Scott Mayhew) [1622041] - [fs] nfs_clone_sb_security(): simplify the check for server bogosity (Scott Mayhew) [1622041] - [fs] nfs: get rid of mount_info ->fill_super() (Scott Mayhew) [1622041] - [fs] nfs: don't pass nfs_subversion to ->create_server() (Scott Mayhew) [1622041] - [fs] nfs: unexport nfs_fs_mount_common() (Scott Mayhew) [1622041] - [fs] nfs: merge xdev and remote file_system_type (Scott Mayhew) [1622041] - [fs] nfs: don't bother passing nfs_subversion to ->try_mount() and nfs_fs_mount_common() (Scott Mayhew) [1622041] - [fs] nfs: stash nfs_subversion reference into nfs_mount_info (Scott Mayhew) [1622041] - [fs] nfs: lift setting mount_info from nfs_xdev_mount() (Scott Mayhew) [1622041] - [fs] nfs4: fold nfs_do_root_mount/nfs_follow_remote_path (Scott Mayhew) [1622041] - [fs] nfs: don't bother setting/restoring export_path around do_nfs_root_mount() (Scott Mayhew) [1622041] - [fs] nfs: fold nfs4_remote_fs_type and nfs4_remote_referral_fs_type (Scott Mayhew) [1622041] - [fs] nfs: lift setting mount_info from nfs4_remote{, _referral}_mount (Scott Mayhew) [1622041] - [fs] nfs: stash server into struct nfs_mount_info (Scott Mayhew) [1622041] - [fs] saner calling conventions for nfs_fs_mount_common() (Scott Mayhew) [1622041] - [fs] NFS: Make "port=" mount option optional for RDMA mounts (Scott Mayhew) [1622041] - [fs] vfs: Make fs_parse() handle fs_param_is_fd-type params better (Scott Mayhew) [1622041] - [include] vfs: Convert ramfs, shmem, tmpfs, devtmpfs, rootfs to use the new mount API (Scott Mayhew) [1622041] - [mm] shmem_parse_one(): switch to use of fs_parse() (Scott Mayhew) [1622041] - [mm] shmem_parse_options(): take handling a single option into a helper (Scott Mayhew) [1622041] - [mm] shmem_parse_options(): don't bother with mpol in separate variable (Scott Mayhew) [1622041] - [mm] shmem_parse_options(): use a separate structure to keep the results (Scott Mayhew) [1622041] - [base] make shmem_fill_super() static (Scott Mayhew) [1622041] - [fs] make ramfs_fill_super() static (Scott Mayhew) [1622041] - [base] devtmpfs: don't mix {ramfs, shmem}_fill_super() with mount_single() (Scott Mayhew) [1622041] - [fs] vfs: Convert squashfs to use the new mount API (Scott Mayhew) [1622041] - [mtd] mtd: Kill mount_mtd() (Scott Mayhew) [1622041] - [fs] vfs: Convert cramfs to use the new mount API (Scott Mayhew) [1622041] - [fs] vfs: Add a single-or-reconfig keying to vfs_get_super() (Scott Mayhew) [1622041] - [mtd] mtd: Provide fs_context-aware mount_mtd() replacement (Scott Mayhew) [1622041] - [fs] vfs: Create fs_context-aware mount_bdev() replacement (Scott Mayhew) [1622041] - [fs] new helper: get_tree_keyed() (Scott Mayhew) [1622041] - [fs] vfs: set fs_context::user_ns for reconfigure (Scott Mayhew) [1622041] - [init] mnt_init(): call shmem_init() unconditionally (Scott Mayhew) [1622041] - [base] constify ksys_mount() string arguments (Scott Mayhew) [1622041] - [fs] don't bother with registering rootfs (Scott Mayhew) [1622041] - [fs] init_rootfs(): don't bother with init_ramfs_fs() (Scott Mayhew) [1622041] - [security] vfs: Convert selinuxfs to use the new mount API (Scott Mayhew) [1622041] - [security] vfs: Convert securityfs to use the new mount API (Scott Mayhew) [1622041] - [fs] vfs: Convert openpromfs to use the new mount API (Scott Mayhew) [1622041] - [xen] vfs: Convert xenfs to use the new mount API (Scott Mayhew) [1622041] - [oprofile] vfs: Convert oprofilefs to use the new mount API (Scott Mayhew) [1622041] - [misc] vfs: Convert ibmasmfs to use the new mount API (Scott Mayhew) [1622041] - [infiniband] vfs: Convert qib_fs/ipathfs to use the new mount API (Scott Mayhew) [1622041] - [fs] vfs: Convert efivarfs to use the new mount API (Scott Mayhew) [1622041] - [fs] vfs: Convert configfs to use the new mount API (Scott Mayhew) [1622041] - [fs] vfs: Convert binfmt_misc to use the new mount API (Scott Mayhew) [1622041] - [fs] convenience helper: get_tree_single() (Scott Mayhew) [1622041] - [fs] convenience helper get_tree_nodev() (Scott Mayhew) [1622041] - [fs] vfs: Kill sget_userns() (Scott Mayhew) [1622041] - [fs] vfs: Use sget_fc() for pseudo-filesystems (Scott Mayhew) [1622041] - [dma-buf] fold mount_pseudo_xattr() into pseudo_fs_get_tree() (Scott Mayhew) [1622041] - [virtio] vfs: Convert virtio_balloon to use the new mount API (Scott Mayhew) [1622041] - [scsi] vfs: Convert ocxlflash to use the new mount API (Scott Mayhew) [1622041] - [misc] vfs: Convert cxl to use the new mount API (Scott Mayhew) [1622041] - [drm] vfs: Convert drm to use the new mount API (Scott Mayhew) [1622041] - [dax] vfs: Convert dax to use the new mount API (Scott Mayhew) [1622041] - [net] vfs: Convert sockfs to use the new mount API (Scott Mayhew) [1622041] - [mm] vfs: Convert zsmalloc to use the new mount API (Scott Mayhew) [1622041] - [fs] vfs: Convert pipe to use the new mount API (Scott Mayhew) [1622041] - [fs] vfs: Convert nsfs to use the new mount API (Scott Mayhew) [1622041] - [fs] vfs: Convert bdev to use the new mount API (Scott Mayhew) [1622041] - [fs] vfs: Convert anon_inodes to use the new mount API (Scott Mayhew) [1622041] - [fs] vfs: Convert aio to use the new mount API (Scott Mayhew) [1622041] - [fs] vfs: Provide a mount_pseudo-replacement for the new mount API (Scott Mayhew) [1622041] - [fs] vfs: Provide sb->s_iflags settings in fs_context struct (Scott Mayhew) [1622041] - [fs] vfs: Fix refcounting of filenames in fs_parser (Scott Mayhew) [1622041] - [fs] move mount_capable() further out (Scott Mayhew) [1622041] - [fs] move mount_capable() calls to vfs_get_tree() (Scott Mayhew) [1622041] - [kernel] cpuset: move mount -t cpuset logics into cgroup.c (Scott Mayhew) [1622041] - [fs] procfs: set ->user_ns before calling ->get_tree() (Scott Mayhew) [1622041] - [ipc] mqueue: set ->user_ns before ->get_tree() (Scott Mayhew) [1622041] - [fs] switch mount_capable() to fs_context (Scott Mayhew) [1622041] - [fs] legacy_get_tree(): pass fc->user_ns to mount_capable() (Scott Mayhew) [1622041] - [fs] move the capability checks from sget_userns() to legacy_get_tree() (Scott Mayhew) [1622041] - [fs] vfs: Kill mount_ns() (Scott Mayhew) [1622041] - [fs] vfs: Convert nfsctl to use the new mount API (Scott Mayhew) [1622041] - [net] vfs: Convert rpc_pipefs to use the new mount API (Scott Mayhew) [1622041] - [fs] consolidate the capability checks in sget_{fc, userns}() (Scott Mayhew) [1622041] - [fs] start massaging the checks in sget_...(): move to sget_userns() (Scott Mayhew) [1622041] - [x86] no need to protect against put_user_ns(NULL) (Scott Mayhew) [1622041] - [fs] mount_pseudo(): drop 'name' argument, switch to d_make_root() (Scott Mayhew) [1622041] - [mm] zsmalloc: don't bother with dentry_operations (Scott Mayhew) [1622041] - [virtio] balloon: don't bother with dentry_operations (Scott Mayhew) [1622041] - [scsi] cxlflash: don't bother with dentry_operations (Scott Mayhew) [1622041] - [misc] cxl: don't bother with dentry_operations (Scott Mayhew) [1622041] - [fs] fs: VALIDATE_FS_PARSER should default to n (Scott Mayhew) [1622041] - [security] selinux: fix a missing-check bug in selinux_sb_eat_lsm_opts() (Scott Mayhew) [1622041] - [security] selinux: fix a missing-check bug in selinux_add_mnt_opt( ) (Scott Mayhew) [1622041] - [powerpc] uapi: Wire up the mount API syscalls on non-x86 arches (Scott Mayhew) [1622041] - [x86] uapi, x86: Fix the syscall numbering of the mount API syscalls (Scott Mayhew) [1622041] - [fs] uapi, fsopen: use square brackets around "fscontext" (Scott Mayhew) [1622041] - [samples] vfs: Add a sample program for the new mount API (Scott Mayhew) [1622041] - [x86] vfs: syscall: Add fspick() to select a superblock for reconfiguration (Scott Mayhew) [1622041] - [x86] vfs: syscall: Add fsmount() to create a mount for a superblock (Scott Mayhew) [1622041] - [fs] vfs: syscall: Add fsconfig() for configuring and managing a context (Scott Mayhew) [1622041] - [fs] vfs: Implement logging through fs_context (Scott Mayhew) [1622041] - [fs] vfs: syscall: Add fsopen() to prepare for superblock creation (Scott Mayhew) [1622041] - [fs] Make anon_inodes unconditional (Scott Mayhew) [1622041] - [fs] teach move_mount(2) to work with OPEN_TREE_CLONE (Scott Mayhew) [1622041] - [x86] vfs: syscall: Add move_mount(2) to move mounts around (Scott Mayhew) [1622041] - [fs] vfs: syscall: Add open_tree(2) to reference or clone a mount (Scott Mayhew) [1622041] - [fs] fix sysfs_init_fs_context() in !CONFIG_NET_NS case (Scott Mayhew) [1622041] - [fs] vfs: Add some logging to the core users of the fs_context log (Scott Mayhew) [1622041] - [fs] vfs: Implement logging through fs_context (Scott Mayhew) [1622041] - [documentation] vfs: Provide documentation for new mount API (Scott Mayhew) [1622041] - [fs] vfs: Remove kern_mount_data() (Scott Mayhew) [1622041] - [fs] hugetlbfs: Convert to fs_context (Scott Mayhew) [1622041] - [kernel] cpuset: Use fs_context (Scott Mayhew) [1622041] - [fs] kernfs, sysfs, cgroup, intel_rdt: Support fs_context (Scott Mayhew) [1622041] - [kernel] cgroup: store a reference to cgroup_ns into cgroup_fs_context (Scott Mayhew) [1622041] - [kernel] cgroup1_get_tree(): separate "get cgroup_root to use" into a separate helper (Scott Mayhew) [1622041] - [kernel] cgroup_do_mount(): massage calling conventions (Scott Mayhew) [1622041] - [kernel] cgroup: stash cgroup_root reference into cgroup_fs_context (Scott Mayhew) [1622041] - [kernel] cgroup2: switch to option-by-option parsing (Scott Mayhew) [1622041] - [kernel] cgroup1: switch to option-by-option parsing (Scott Mayhew) [1622041] - [kernel] cgroup: take options parsing into ->parse_monolithic() (Scott Mayhew) [1622041] - [kernel] cgroup: fold cgroup1_mount() into cgroup1_get_tree() (Scott Mayhew) [1622041] - [kernel] cgroup: start switching to fs_context (Scott Mayhew) [1622041] - [ipc] ipc: Convert mqueue fs to fs_context (Scott Mayhew) [1622041] - [fs] proc: Add fs_context support to procfs (Scott Mayhew) [1622041] - [fs] procfs: Move proc_fill_super() to fs/proc/root.c (Scott Mayhew) [1622041] - [include] introduce cloning of fs_context (Scott Mayhew) [1622041] - [fs] convenience helpers: vfs_get_super() and sget_fc() (Scott Mayhew) [1622041] - [fs] vfs: Implement a filesystem superblock creation/configuration context (Scott Mayhew) [1622041] - [include] vfs: Put security flags into the fs_context struct (Scott Mayhew) [1622041] - [security] selinux: Implement the new mount API LSM hooks (Scott Mayhew) [1622041] - [include] vfs: Add LSM hooks for the new mount API (Scott Mayhew) [1622041] - [fs] vfs: Add configuration parser helpers (Scott Mayhew) [1622041] - [include] vfs: Introduce logging functions (Scott Mayhew) [1622041] - [fs] introduce fs_context methods (Scott Mayhew) [1622041] - [fs] fs_context flavour for submounts (Scott Mayhew) [1622041] - [fs] convert do_remount_sb() to fs_context (Scott Mayhew) [1622041] - [fs] vfs_get_tree(): evict the call of security_sb_kern_mount() (Scott Mayhew) [1622041] - [fs] new helper: do_new_mount_fc() (Scott Mayhew) [1622041] - [fs] teach vfs_get_tree() to handle subtype, switch do_new_mount() to it (Scott Mayhew) [1622041] - [fs] new helpers: vfs_create_mount(), fc_mount() (Scott Mayhew) [1622041] - [fs] vfs: Introduce fs_context, switch vfs_kern_mount() to it (Scott Mayhew) [1622041] - [fs] saner handling of temporary namespaces (Scott Mayhew) [1622041] - [fs] separate copying and locking mount tree on cross-userns copies (Scott Mayhew) [1622041] - [fs] kill kernfs_pin_sb() (Scott Mayhew) [1622041] - [fs] mount_fs: suppress MAC on MS_SUBMOUNT as well as MS_KERNMOUNT (Scott Mayhew) [1622041] - [security] LSM: new method: ->sb_add_mnt_opt() (Scott Mayhew) [1622041] - [security] selinux: rewrite selinux_sb_eat_lsm_opts() (Scott Mayhew) [1622041] - [security] selinux: regularize Opt_... names a bit (Scott Mayhew) [1622041] - [security] selinux: switch away from match_token() (Scott Mayhew) [1622041] - [security] selinux: new helper - selinux_add_opt() (Scott Mayhew) [1622041] - [include] LSM: bury struct security_mnt_opts (Scott Mayhew) [1622041] - [security] selinux: switch to private struct selinux_mnt_opts (Scott Mayhew) [1622041] - [fs] LSM: hide struct security_mnt_opts from any generic code (Scott Mayhew) [1622041] - [security] LSM: turn sb_eat_lsm_opts() into a method (Scott Mayhew) [1622041] - [fs] nfs_remount(): don't leak, don't ignore LSM options quietly (Scott Mayhew) [1622041] - [security] LSM: split ->sb_set_mnt_opts() out of ->sb_kern_mount() (Scott Mayhew) [1622041] - [fs] new helper: security_sb_eat_lsm_opts() (Scott Mayhew) [1622041] - [security] LSM: lift extracting and parsing LSM options into the caller of ->sb_remount() (Scott Mayhew) [1622041] - [security] LSM: lift parsing LSM options into the caller of ->sb_kern_mount() (Scott Mayhew) [1622041] - [fs] vfs: Separate changing mount flags full remount (Scott Mayhew) [1622041] - [fs] vfs: Suppress MS_* flag defs within the kernel unless explicitly enabled (Scott Mayhew) [1622041]- [hv] hv_utils: drain the timesync packets on onchannelcallback (Vitaly Kuznetsov) [1884733] - [hv] hv_utils: return error if host timesysnc update is stale (Vitaly Kuznetsov) [1884733] - [netdrv] hv_netvsc: Cache the current data path to avoid duplicate call and message (Mohammed Gamal) [1876527] - [netdrv] hv_netvsc: Switch the data path at the right time during hibernation (Mohammed Gamal) [1876527] - [netdrv] hv_netvsc: Fix hibernation for mlx5 VF driver (Mohammed Gamal) [1876527] - [hv] hv: vmbus: hibernation: do not hang forever in vmbus_bus_resume() (Mohammed Gamal) [1876519] - [target] scsi: target: Fix lun lookup for TARGET_SCF_LOOKUP_LUN_FROM_TAG case (Maurizio Lombardi) [1880395] - [target] scsi: target: iscsi: Fix hang in iscsit_access_np() when getting tpg->np_login_sem (Maurizio Lombardi) [1880395] - [target] scsi: target: iscsi: Fix data digest calculation (Maurizio Lombardi) [1880395] - [target] scsi: target: Make iscsit_register_transport() return void (Maurizio Lombardi) [1880395] - [target] scsi: target: tcmu: Make TMR notification optional (Maurizio Lombardi) [1880395] - [target] scsi: target: tcmu: Implement tmr_notify callback (Maurizio Lombardi) [1880395] - [target] scsi: target: tcmu: Fix and simplify timeout handling (Maurizio Lombardi) [1880395] - [target] scsi: target: tcmu: Factor out new helper ring_insert_padding (Maurizio Lombardi) [1880395] - [target] scsi: target: tcmu: Do not queue aborted commands (Maurizio Lombardi) [1880395] - [target] scsi: target: tcmu: Use priv pointer in se_cmd (Maurizio Lombardi) [1880395] - [target] scsi: target: Add tmr_notify backend function (Maurizio Lombardi) [1880395] - [target] scsi: target: Modify core_tmr_abort_task() (Maurizio Lombardi) [1880395] - [target] scsi: target: iscsi: Fix inconsistent debug message (Maurizio Lombardi) [1880395] - [target] scsi: target: iscsi: Fix login error when receiving (Maurizio Lombardi) [1880395] - [target] scsi: target: Remove unused variable 'tpg' (Maurizio Lombardi) [1880395] - [target] scsi: target: cxgbit: Remove tx flow control code (Maurizio Lombardi) [1880395] - [target] scsi: target: cxgbit: Check connection state before issuing hardware command (Maurizio Lombardi) [1880395] - [target] scsi: target: Handle short iSIDs (Maurizio Lombardi) [1880395] - [target] scsi: target: Fix iscsi transport id buf len calculation (Maurizio Lombardi) [1880395] - [target] scsi: target: Fix iscsi transport id buffer setup (Maurizio Lombardi) [1880395] - [target] scsi: target: Fix iscsi transport id parsing (Maurizio Lombardi) [1880395] - [target] scsi: target: Fix crash during SPEC_I_PT handling (Maurizio Lombardi) [1880395] - [target] scsi: target: Fix xcopy sess release leak (Maurizio Lombardi) [1880395] - [target] scsi: target: Check enforce_pr_isids during registration (Maurizio Lombardi) [1880395] - [target] scsi: target: tcmu: Fix crash on ARM during cmd completion (Maurizio Lombardi) [1880395] - [target] scsi: target: tcmu: Fix crash in tcmu_flush_dcache_range on ARM (Maurizio Lombardi) [1880395] - [target] scsi: target: tcmu: Optimize use of flush_dcache_page (Maurizio Lombardi) [1880395] - [target] scsi: target: tcmu: Remove unnecessary bit TCMU_CMD_BIT_INFLIGHT (Maurizio Lombardi) [1880395] - [target] scsi: target: Rename target_setup_cmd_from_cdb() to target_cmd_parse_cdb() (Maurizio Lombardi) [1880395] - [target] scsi: target: Fix NULL pointer dereference (Maurizio Lombardi) [1880395] - [target] scsi: target: Initialize LUN in transport_init_se_cmd() (Maurizio Lombardi) [1880395] - [target] scsi: target: Factor out a new helper, target_cmd_init_cdb() (Maurizio Lombardi) [1880395] - [target] scsi: target: tcmu: Fix size in calls to tcmu_flush_dcache_range (Maurizio Lombardi) [1880395] - [target] scsi: target: tcmu: Fix a use after free in tcmu_check_expired_queue_cmd() (Maurizio Lombardi) [1880395] - [target] scsi: target: tcmu: Userspace must not complete queued commands (Maurizio Lombardi) [1880395] - [target] scsi: target: core: Add initiatorname to NON_EXISTENT_LUN error (Maurizio Lombardi) [1880395] - [target] scsi: target: loopback: Fix READ with data and sensebytes (Maurizio Lombardi) [1880395] - [target] scsi: target: tcmu: Make pgr_support and alua_support attributes writable (Maurizio Lombardi) [1880395] - [target] scsi: target: Make transport_flags per device (Maurizio Lombardi) [1880395] - [target] scsi: target: tcmu: Add attributes enforce_pr_isids and force_pr_aptpl (Maurizio Lombardi) [1880395] - [target] scsi: target: Add missing emulate_pr attribute to passthrough backends (Maurizio Lombardi) [1880395] - [target] scsi: target: iscsi: Remove the iscsi_data_count structure (Maurizio Lombardi) [1880395] - [target] scsi: target: Put lun_ref at end of tmr processing (Maurizio Lombardi) [1880395] - [target] scsi: target/iblock: fix WRITE SAME zeroing (Maurizio Lombardi) [1880395] - [target] scsi: target: tcmu: reset_ring should reset TCMU_DEV_BIT_BROKEN (Maurizio Lombardi) [1880395] - [target] scsi: target: fix PR IN / READ FULL STATUS for FC (Maurizio Lombardi) [1880395] - [target] scsi: target: Write NULL to *port_nexus_ptr if no ISID (Maurizio Lombardi) [1880395] - [target] scsi: target: use the stack for XCOPY passthrough cmds (Maurizio Lombardi) [1880395] - [target] scsi: target: increase XCOPY I/O size (Maurizio Lombardi) [1880395] - [target] scsi: target: avoid per-loop XCOPY buffer allocations (Maurizio Lombardi) [1880395] - [target] scsi: target: drop xcopy DISK BLOCK LENGTH debug (Maurizio Lombardi) [1880395] - [target] scsi: target: use #define for xcopy descriptor len (Maurizio Lombardi) [1880395] - [crypto] crypto: testmgr - mark cts(cbc(aes)) as FIPS allowed (Vladis Dronov) [1855161] - [kernel] sched/deadline: Unthrottle PI boosted threads while enqueuing (Daniel Bristot de Oliveira) [1869760] - [kernel] sched/deadline: Fix stale throttling on de-/boosted tasks (Daniel Bristot de Oliveira) [1869760] - [netdrv] treewide: Use fallthrough pseudo-keyword (Jonathan Toppins) [1871286] - [netdrv] tg3: Avoid the use of one-element array (Jonathan Toppins) [1871286] - [netdrv] net: tg3: tidy up loop, remove need to compute off with a multiply (Jonathan Toppins) [1871286] - [netdrv] net: tg3: reject unsupported coalescing params (Jonathan Toppins) [1871286] - [netdrv] net: tg3: use skb_list_walk_safe helper for gso segments (Jonathan Toppins) [1871286] - [gpio] gpio: gpio-mlxbf2.c: Provide __releases() annotation to stop confusing Sparse (Alaa Hleihel) [1816931] - [gpio] gpio: gpio-mlxbf2: Tell the compiler that ACPI functions may not be use (Alaa Hleihel) [1816931] - [gpio] gpio: mlxbf2: Fix sleeping while holding spinlock (Alaa Hleihel) [1816931] - [gpio] gpio: mlxbf2: fix return value check in mlxbf2_gpio_get_lock_res() (Alaa Hleihel) [1816931] - [gpio] gpio: mlxbf2: remove unused including (Alaa Hleihel) [1816931] - [gpio] gpio: add driver for Mellanox BlueField 2 GPIO controller (Alaa Hleihel) [1816931] - [include] compiler_attributes.h: Add 'fallthrough' pseudo keyword for switch/case use (Ivan Vecera) [1867168] - [net] net: sctp: Rename fallthrough label to unhandled (Ivan Vecera) [1867168]- [pci] PCI: Mark AMD Navi10 GPU rev 0x00 ATS as broken (Myron Stowe) [1888310] - [netdrv] nfp: flower: fix ABI mismatch between driver and firmware (Ivan Vecera) [1886717] - [netdrv] netronome: fix ipv6 link error (Ivan Vecera) [1886717] - [netdrv] nfp: flower: fix incorrect flag assignment (Ivan Vecera) [1886717] - [netdrv] nfp: flower: fix used time of merge flow statistics (Ivan Vecera) [1886717] - [netdrv] nfp: flower: inform firmware of flower features (Ivan Vecera) [1886717] - [netdrv] nfp: flower: renaming of feature bits (Ivan Vecera) [1886717] - [netdrv] nfp: don't check lack of RX/TX channels (Ivan Vecera) [1886717] - [netdrv] nfp: abm: fix error return code in nfp_abm_vnic_alloc() (Ivan Vecera) [1886717] - [netdrv] nfp: abm: fix a memory leak bug (Ivan Vecera) [1886717] - [netdrv] net/nfp: Update driver to use global kernel version (Ivan Vecera) [1886717] - [netdrv] nfp: allow explicitly selected delayed stats (Ivan Vecera) [1886717] - [netdrv] net: nfp: Use scnprintf() for avoiding potential buffer overflow (Ivan Vecera) [1886717] - [netdrv] nfp: let core reject the unsupported coalescing parameters (Ivan Vecera) [1886717] - [netdrv] nfp: Use pci_get_dsn() (Ivan Vecera) [1886717] - [netdrv] netronome: Replace zero-length array with flexible-array member (Ivan Vecera) [1886717] - [netdrv] devlink: move devlink documentation to subfolder (Ivan Vecera) [1886717] - [netdrv] remove ioremap_nocache and devm_ioremap_nocache (Ivan Vecera) [1886717] - [netdrv] nfp: tls: implement the stream sync RX resync (Ivan Vecera) [1886717] - [netdrv] nfp: pass packet pointer to nfp_net_parse_meta() (Ivan Vecera) [1886717] - [netdrv] nfp: flower: update flow merge code to support IPv6 tunnels (Ivan Vecera) [1886717] - [netdrv] nfp: flower: support ipv6 tunnel keep-alive messages from fw (Ivan Vecera) [1886717] - [netdrv] nfp: flower: handle notifiers for ipv6 route changes (Ivan Vecera) [1886717] - [netdrv] nfp: flower: handle ipv6 tunnel no neigh request (Ivan Vecera) [1886717] - [netdrv] nfp: flower: modify pre-tunnel and set tunnel action for ipv6 (Ivan Vecera) [1886717] - [netdrv] nfp: flower: offload list of IPv6 tunnel endpoint addresses (Ivan Vecera) [1886717] - [netdrv] nfp: flower: compile match for IPv6 tunnels (Ivan Vecera) [1886717] - [netdrv] nfp: flower: move udp tunnel key match compilation to helper function (Ivan Vecera) [1886717] - [netdrv] nfp: flower: pass flow rule pointer directly to match functions (Ivan Vecera) [1886717] - [netdrv] nfp: flower: fix stats id allocation (Ivan Vecera) [1886717] - [netdrv] netronome: use the new txqueue timeout argument (Ivan Vecera) [1886717] - [netdrv] nfp: add support for TLV device stats (Ivan Vecera) [1886717] - [netdrv] treewide: Use sizeof_field() macro (Ivan Vecera) [1886717] - [netdrv] net: use rhashtable_lookup() instead of rhashtable_lookup_fast() (Ivan Vecera) [1886717] - [netdrv] nfp: bpf: make array exp_mask static, makes object smaller (Ivan Vecera) [1886717] - [netdrv] nfp: flower: fix memory leak in nfp_flower_spawn_vnic_reprs (Ivan Vecera) [1886717] - [netdrv] nfp: flower: prevent memory leak in nfp_flower_spawn_phy_reprs (Ivan Vecera) [1886717] - [netdrv] nfp: read chip model from the PluDevice register (Ivan Vecera) [1886717] - [netdrv] nfp: devlink: set unknown fw_load_policy (Ivan Vecera) [1886717] - [documentation] Documentation: nfp: add nfp driver specific notes (Ivan Vecera) [1886717] - [netdrv] kdoc: fix nfp_fw_load documentation (Ivan Vecera) [1886717] - [netdrv] nfp: devlink: add 'reset_dev_on_drv_probe' support (Ivan Vecera) [1886717] - [netdrv] nfp: devlink: add 'fw_load_policy' support (Ivan Vecera) [1886717] - [netdrv] nfp: add devlink param infrastructure (Ivan Vecera) [1886717] - [netdrv] nfp: honor FW reset and loading policies (Ivan Vecera) [1886717] - [netdrv] nfp: nsp: add support for hwinfo set operation (Ivan Vecera) [1886717] - [netdrv] nfp: nsp: add support for optional hwinfo lookup (Ivan Vecera) [1886717] - [netdrv] nfp: nsp: add support for fw_loaded command (Ivan Vecera) [1886717] - [netdrv] nfp: bpf: add simple map op cache (Ivan Vecera) [1886717] - [netdrv] nfp: bpf: rework MTU checking (Ivan Vecera) [1886717] - [netdrv] net: Use skb accessors in network drivers (Ivan Vecera) [1886717] - [netdrv] nfp: tls: rename tls packet counters (Ivan Vecera) [1886717] - [netdrv] nfp: tls: undo TLS sequence tracking when dropping the frame (Ivan Vecera) [1886717] - [netdrv] nfp: tls: avoid one of the ifdefs for TLS (Ivan Vecera) [1886717] - [netdrv] nfp: tls: don't leave key material in freed FW cmsg skbs (Ivan Vecera) [1886717] - [netdrv] nfp: tls: count TSO segments separately for the TLS offload (Ivan Vecera) [1886717] - [netdrv] nfp: tls: use unique connection ids instead of 4-tuple for TX (Ivan Vecera) [1886717] - [netdrv] nfp: tls: move setting ipver_vlan to a helper (Ivan Vecera) [1886717] - [netdrv] nfp: tls: ignore queue limits for delete commands (Ivan Vecera) [1886717] - [netdrv] nfp: tls: fix error return code in nfp_net_tls_add() (Ivan Vecera) [1886717] - [netdrv] nfp: tls: enable TLS RX offload (Ivan Vecera) [1886717] - [netdrv] net/tls: don't clear TX resync flag on error (Ivan Vecera) [1886717] - [netdrv] net/tls: add tracing for device/offload events (Ivan Vecera) [1886717] - [netdrv] nfp: tls: make use of kernel-driven TX resync (Ivan Vecera) [1886717] - [netdrv] net/tls: generalize the resync callback (Ivan Vecera) [1886717] - [netdrv] nfp: tls: implement RX TLS resync (Ivan Vecera) [1886717] - [netdrv] nfp: add async version of mailbox communication (Ivan Vecera) [1886717] - [netdrv] nfp: rename nfp_ccm_mbox_alloc() (Ivan Vecera) [1886717] - [netdrv] nfp: tls: set skb decrypted flag (Ivan Vecera) [1886717] - [netdrv] nfp: tls: add basic statistics (Ivan Vecera) [1886717] - [netdrv] nfp: tls: add/delete TLS TX connections (Ivan Vecera) [1886717] - [netdrv] nfp: tls: add datapath support for TLS TX (Ivan Vecera) [1886717] - [netdrv] nfp: flower: use struct_size() helper (Ivan Vecera) [1886717] - [netdrv] nfp: add missing kdoc (Ivan Vecera) [1886717] - [netdrv] cross-tree: phase out dma_zalloc_coherent() (Ivan Vecera) [1886717] - [iommu] iommu/amd: Fix the overwritten field in IVMD header (Baoquan He) [1869148] - [powerpc] pseries/drmem: don't cache node id in drmem_lmb struct (Diego Domingos) [1816543] - [include] cgroup: Fix sock_cgroup_data on big-endian (Vladis Dronov) [1868659] {CVE-2020-14356} - [include] cgroup: fix cgroup_sk_alloc() for sk_clone_lock() (Vladis Dronov) [1868659] {CVE-2020-14356} - [net] netprio_cgroup: Fix unlimited memory leak of v2 cgroups (Vladis Dronov) [1868659] {CVE-2020-14356} - [netdrv] net/broadcom: Clean broadcom code from driver versions (Jonathan Toppins) [1872443]- [net] Bluetooth: fix kernel oops in store_pending_adv_report (Gopal Tiwari) [1888455] {CVE-2020-24490} - [net] Bluetooth: L2CAP: Fix calling sk_filter on non-socket based channel (Gopal Tiwari) [1888258] {CVE-2020-12351} - [net] Bluetooth: A2MP: Fix not initializing all members (Gopal Tiwari) [1888807] {CVE-2020-12352} - [mm] mm, compaction: make capture control handling safe wrt interrupts (Rafael Aquini) [1862175] - [mm] mm/compaction: fix a typo in comment "pessemistic"->"pessimistic" (Rafael Aquini) [1862175] - [mm] mm/compaction: add missing annotation for compact_lock_irqsave (Rafael Aquini) [1862175] - [mm] mm/compaction.c: clean code by removing unnecessary assignment (Rafael Aquini) [1862175] - [kernel] mm/compaction: Disable compact_unevictable_allowed on RT (Rafael Aquini) [1862175] - [kernel] mm/compaction: really limit compact_unevictable_allowed to 0 and 1 (Rafael Aquini) [1862175] - [mm] mm, compaction: fully assume capture is not NULL in compact_zone_order() (Rafael Aquini) [1862175] - [mm] mm, compaction: fix wrong pfn handling in __reset_isolation_pfn() (Rafael Aquini) [1862175] - [mm] mm/compaction.c: remove unnecessary zone parameter in isolate_migratepages() (Rafael Aquini) [1862175] - [mm] mm: compaction: avoid 100 CPU usage during compaction when a task is killed (Rafael Aquini) [1862175] - [mm] mm, compaction: make sure we isolate a valid PFN (Rafael Aquini) [1862175] - [mm] mm/compaction.c: correct zone boundary handling when isolating pages from a pageblock (Rafael Aquini) [1862175] - [trace] mm, compaction: some tracepoints should be defined only when CONFIG_COMPACTION is set (Rafael Aquini) [1862175] - [trace] mm: compaction: show gfp flag names in try_to_compact_pages tracepoint (Rafael Aquini) [1862175] - [mm] mm/compaction.c: fix an undefined behaviour (Rafael Aquini) [1862175] - [mm] mm, page_alloc: always use a captured page regardless of compaction result (Rafael Aquini) [1862175] - [mm] mm/compaction.c: abort search if isolation fails (Rafael Aquini) [1862175] - [mm] mm/compaction.c: correct zone boundary handling when resetting pageblock skip hints (Rafael Aquini) [1862175] - [include] include/linux/list.h: fix list_is_first() kernel-doc (Rafael Aquini) [1862175] - [mm] mm/compaction: pass pgdat to too_many_isolated() instead of zone (Rafael Aquini) [1862175] - [mm] mm: remove zone_lru_lock() function, access ->lru_lock directly (Rafael Aquini) [1862175] - [mm] mm, compaction: capture a page under direct compaction (Rafael Aquini) [1862175] - [mm] mm, compaction: be selective about what pageblocks to clear skip hints (Rafael Aquini) [1862175] - [mm] mm, compaction: sample pageblocks for free pages (Rafael Aquini) [1862175] - [mm] mm, compaction: round-robin the order while searching the free lists for a target (Rafael Aquini) [1862175] - [mm] mm, compaction: reduce premature advancement of the migration target scanner (Rafael Aquini) [1862175] - [mm] mm, compaction: do not consider a need to reschedule as contention (Rafael Aquini) [1862175] - [mm] mm, compaction: rework compact_should_abort as compact_check_resched (Rafael Aquini) [1862175] - [mm] mm, compaction: keep cached migration PFNs synced for unusable pageblocks (Rafael Aquini) [1862175] - [mm] mm, compaction: check early for huge pages encountered by the migration scanner (Rafael Aquini) [1862175] - [mm] mm, compaction: finish pageblock scanning on contention (Rafael Aquini) [1862175] - [mm] mm, compaction: avoid rescanning the same pageblock multiple times (Rafael Aquini) [1862175] - [mm] mm, compaction: use free lists to quickly locate a migration target (Rafael Aquini) [1862175] - [mm] mm, compaction: keep migration source private to a single compaction instance (Rafael Aquini) [1862175] - [mm] mm, compaction: use free lists to quickly locate a migration source (Rafael Aquini) [1862175] - [mm] mm, compaction: always finish scanning of a full pageblock (Rafael Aquini) [1862175] - [mm] mm, migrate: immediately fail migration of a page with no migration handler (Rafael Aquini) [1862175] - [mm] mm, compaction: rename map_pages to split_map_pages (Rafael Aquini) [1862175] - [mm] mm, compaction: remove unnecessary zone parameter in some instances (Rafael Aquini) [1862175] - [mm] mm, compaction: remove last_migrated_pfn from compact_control (Rafael Aquini) [1862175] - [mm] mm, compaction: rearrange compact_control (Rafael Aquini) [1862175] - [mm] mm, compaction: shrink compact_control (Rafael Aquini) [1862175] - [kernel] mm: remove sysctl_extfrag_handler() (Rafael Aquini) [1862175] - [net] netlink: fix state reallocation in policy export (Petr Oros) [1874050] - [net] netlink: add infrastructure to expose policies to userspace (Petr Oros) [1874050] - [lib] netlink: factor out policy range helpers (Petr Oros) [1874050] - [net] netlink: remove NLA_EXACT_LEN_WARN (Petr Oros) [1874050] - [include] netlink: allow NLA_MSECS to have range validation (Petr Oros) [1874050] - [net] netlink: extend policy range validation (Petr Oros) [1874050] - [net] nl80211: link recursive netlink nested policy (Petr Oros) [1874050] - [lib] netlink: limit recursion depth in policy validation (Petr Oros) [1874050] - [net] netlink: remove type-unsafe validation_data pointer (Petr Oros) [1874050] - [powerpc] powerpc/pseries: new lparcfg key/value pair: partition_affinity_score (Steve Best) [1879420] - [powerpc] powerpc/perf: consolidate GPCI hcall structs into asm/hvcall.h (Steve Best) [1879420] - [include] iopoll: Introduce read_poll_timeout_atomic macro (Patrick Talbert) [1879211] - [include] iopoll: redefined readx_poll_timeout macro to simplify the code (Patrick Talbert) [1879211] - [include] iopoll: introduce read_poll_timeout macro (Patrick Talbert) [1879211] - [infiniband] IB/ipoib: Fix double free of skb in case of multicast traffic in CM mode (Kamal Heib) [1857600] - [infiniband] RDMA/core: Fix double destruction of uobject (Kamal Heib) [1857600] - [infiniband] RDMA/pvrdma: Fix missing pci disable in pvrdma_pci_probe() (Kamal Heib) [1857600] - [net] xprtrdma: Fix use of xdr_stream_encode_item_{present, absent} (Kamal Heib) [1857600] - [net] xprtrdma: Fix trace point use-after-free race (Kamal Heib) [1857600] - [net] xprtrdma: Restore wake-up-all to rpcrdma_cm_event_handler() (Kamal Heib) [1857600] - [infiniband] RDMA/cm: Fix missing RDMA_CM_EVENT_REJECTED event after receiving REJ message (Kamal Heib) [1857600] - [net] xprtrdma: kmalloc rpcrdma_ep separate from rpcrdma_xprt (Kamal Heib) [1857600] - [net] xprtrdma: Extract sockaddr from struct rdma_cm_id (Kamal Heib) [1857600] - [net] xprtrdma: Merge struct rpcrdma_ia into struct rpcrdma_ep (Kamal Heib) [1857600] - [net] xprtrdma: Disconnect on flushed completion (Kamal Heib) [1857600] - [net] xprtrdma: Remove rpcrdma_ia::ri_flags (Kamal Heib) [1857600] - [net] xprtrdma: Invoke rpcrdma_ia_open in the connect worker (Kamal Heib) [1857600] - [net] xprtrdma: Allocate Protection Domain in rpcrdma_ep_create() (Kamal Heib) [1857600] - [net] xprtrdma: Refactor rpcrdma_ep_connect() and rpcrdma_ep_disconnect() (Kamal Heib) [1857600] - [net] xprtrdma: Clean up the post_send path (Kamal Heib) [1857600] - [net] xprtrdma: Refactor frwr_init_mr() (Kamal Heib) [1857600] - [net] xprtrdma: Invoke rpcrdma_ep_create() in the connect worker (Kamal Heib) [1857600] - [net] xprtrdma: Enhance MR-related trace points (Kamal Heib) [1857600] - [infiniband] IB/iser: Always check sig MR before putting it to the free pool (Kamal Heib) [1857600] - [infiniband] RDMA/efa: Use in-kernel offsetofend() to check field availability (Kamal Heib) [1857600] - [infiniband] RDMA/cm: Make sure the cm_id is in the IB_CM_IDLE state in destroy (Kamal Heib) [1857600] - [infiniband] RDMA/cm: Allow ib_send_cm_sidr_rep() to be done under lock (Kamal Heib) [1857600] - [infiniband] RDMA/cm: Allow ib_send_cm_rej() to be done under lock (Kamal Heib) [1857600] - [infiniband] RDMA/cm: Allow ib_send_cm_drep() to be done under lock (Kamal Heib) [1857600] - [infiniband] RDMA/cm: Allow ib_send_cm_dreq() to be done under lock (Kamal Heib) [1857600] - [infiniband] RDMA/cm: Add some lockdep assertions for cm_id_priv->lock (Kamal Heib) [1857600] - [infiniband] RDMA/cm: Make it clearer how concurrency works in cm_req_handler() (Kamal Heib) [1857600] - [infiniband] RDMA/cm: Make it clear that there is no concurrency in cm_sidr_req_handler() (Kamal Heib) [1857600] - [infiniband] RDMA/cm: Simplify establishing a listen cm_id (Kamal Heib) [1857600] - [infiniband] RDMA/cm: Make the destroy_id flow more robust (Kamal Heib) [1857600] - [net] svcrdma: Avoid DMA mapping small RPC Replies (Kamal Heib) [1857600] - [net] svcrdma: Fix double sync of transport header buffer (Kamal Heib) [1857600] - [net] svcrdma: Refactor chunk list encoders (Kamal Heib) [1857600] - [net] SUNRPC: Add encoders for list item discriminators (Kamal Heib) [1857600] - [net] svcrdma: Rename svcrdma_encode trace points in send routines (Kamal Heib) [1857600] - [net] svcrdma: Update synopsis of svc_rdma_send_reply_msg() (Kamal Heib) [1857600] - [net] svcrdma: Update synopsis of svc_rdma_map_reply_msg() (Kamal Heib) [1857600] - [net] svcrdma: Update synopsis of svc_rdma_send_reply_chunk() (Kamal Heib) [1857600] - [net] svcrdma: De-duplicate code that locates Write and Reply chunks (Kamal Heib) [1857600] - [include] svcrdma: Use struct xdr_stream to decode ingress transport headers (Kamal Heib) [1857600] - [net] svcrdma: Remove svcrdma_cm_event() trace point (Kamal Heib) [1857600] - [net] SUNRPC: Add xdr_pad_size() helper (Kamal Heib) [1857600] - [net] nfsd: Fix NFSv4 READ on RDMA when using readv (Kamal Heib) [1857600] - [net] svcrdma: Replace zero-length array with flexible-array member (Kamal Heib) [1857600] - [infiniband] RDMA/cm: Delete not implemented CM peer to peer communication (Kamal Heib) [1857600] - [infiniband] RDMA/cma: Teach lockdep about the order of rtnl and lock (Kamal Heib) [1857600] - [infiniband] RDMA/rw: map P2P memory correctly for signature operations (Kamal Heib) [1857600] - [infiniband] RDMA/ipoib: reject unsupported coalescing params (Kamal Heib) [1857600] - [infiniband] RDMA/providers: Fix return value when QP type isn't supported (Kamal Heib) [1857600] - [infiniband] RDMA/hns: Use the new APIs for printing log (Kamal Heib) [1857600] - [infiniband] RDMA/hns: Optimize hns_roce_modify_qp function (Kamal Heib) [1857600] - [infiniband] RDMA/hns: RDMA/hns: Assign rq head pointer when enable rq record db (Kamal Heib) [1857600] - [infiniband] RDMA/hns: Update the prompt message for creating and destroy qp (Kamal Heib) [1857600] - [infiniband] RDMA/efa: Do not delay freeing of DMA pages (Kamal Heib) [1857600] - [infiniband] RDMA/efa: Properly document the interrupt mask register (Kamal Heib) [1857600] - [infiniband] RDMA/efa: Unified getters/setters for device structs bitmask access (Kamal Heib) [1857600] - [infiniband] RDMA/ipoib: Don't set constant driver version (Kamal Heib) [1857600] - [infiniband] RDMA: Replace zero-length array with flexible-array member (Kamal Heib) [1857600] - [infiniband] RDMA/ucma: Use refcount_t for the ctx->ref (Kamal Heib) [1857600] - [infiniband] RDMA/core: Get rid of ib_create_qp_user (Kamal Heib) [1857600] - [infiniband] RDMA/core: Add weak ordering dma attr to dma mapping (Kamal Heib) [1857600] - [infiniband] RDMA/ucma: Mask QPN to be 24 bits according to IBTA (Kamal Heib) [1857600] - [infiniband] RDMA/cma: Use refcount API to reflect refcount (Kamal Heib) [1857600] - [infiniband] RDMA/cma: Rename cma_device ref/deref helpers to to get/put (Kamal Heib) [1857600] - [infiniband] RDMA/cma: Use refcount API to reflect refcount (Kamal Heib) [1857600] - [infiniband] RDMA/cma: Rename cma_device ref/deref helpers to to get/put (Kamal Heib) [1857600] - [infiniband] RDMA/cma: Use RDMA device port iterator (Kamal Heib) [1857600] - [infiniband] RDMA/cma: Use a helper function to enqueue resolve work items (Kamal Heib) [1857600] - [infiniband] RDMA/rw: Fix error flow during RDMA context initialization (Kamal Heib) [1857600] - [infiniband] IB/core: Add interface to advise_mr for kernel users (Kamal Heib) [1857600] - [infiniband] IB/core: Introduce ib_reg_user_mr (Kamal Heib) [1857600] - [uapi] RDMA/core: Add the core support field to METHOD_GET_CONTEXT (Kamal Heib) [1857600] - [infiniband] RDMA/uverbs: Add ioctl command to get a device context (Kamal Heib) [1857600] - [fs] xfs: Fix false positive lockdep warning with sb_internal & fs_reclaim (Waiman Long) [1838643] - [mm] mm/mmu_notifier: mm/rmap.c: Fix a mmu_notifier range bug in try_to_unmap_one (Waiman Long) [1871883] - [mm] mm/memory.c: initialise mmu_notifier_range correctly (Waiman Long) [1871883] - [mm] mm/mmu_notifier: use structure for invalidate_range_start/end calls v2 (Waiman Long) [1871883] - [mm] hugetlb: take PMD sharing into account when flushing tlb/caches (Waiman Long) [1871883] - [mm] mm, hugetlbfs: pass fault address to cow handler (Waiman Long) [1871883] - [mm] mm, hugetlbfs: rename address to haddr in hugetlb_cow() (Waiman Long) [1871883] - [mm] mm, huge page: copy target sub-page last when copy huge page (Waiman Long) [1871883] - [mm] mm, clear_huge_page: move order algorithm into a separate function (Waiman Long) [1871883] - [mm] Revert "mm: always flush VMA ranges affected by zap_page_range" (Waiman Long) [1871883] - [kernel] psi: eliminate kthread_worker from psi trigger scheduling mechanism (Waiman Long) [1873040] - [kernel] psi: get poll_work to run when calling poll syscall next time (Waiman Long) [1873040] - [block] block: loop: set discard granularity and alignment for block device backed loop (Ming Lei) [1866712] - [net] gre: recompute gre csum for sctp over gre tunnels (Lorenzo Bianconi) [1755200] - [include] mm/hugetlb: enable arch specific huge page size support for migration (Donghai Qiao) [1869887] - [mm] arm64/mm: enable HugeTLB migration for contiguous bit HugeTLB pages (Donghai Qiao) [1869887] - [lib] idr: Fix idr_get_next_ul race with idr_remove (Felix Ansell) [1866062] - [lib] genalloc: Fix a set of docs build warnings (Felix Ansell) [1866062] - [lib] lib/Kconfig: fix OBJAGG in lib/ menu structure (Felix Ansell) [1866062] - [lib] lib: Reduce user_access_begin() boundaries in strncpy_from_user() and strnlen_user() (Felix Ansell) [1866062]- [char] random32: update the net random state on interrupt and activity (Donghai Qiao) [1867569] {CVE-2020-16166} - [fs] nfs: Fix getxattr kernel panic and memory overflow (Benjamin Coddington) [1880894] {CVE-2020-25212} - [tools] selftests: rtnetlink: Test bridge enslavement with different parent IDs (Jonathan Toppins) [1860479] - [tools] selftests: rtnetlink: correct the final return value for the test (Jonathan Toppins) [1860479] - [net] Fix bridge enslavement failure (Jonathan Toppins) [1860479] - [net] Make mpls_entry_encode() available for generic users (Patrick Talbert) [1878818] - [net] SUNRPC dont update timeout value on connection reset (Steve Dickson) [1861895] - [kernel] overflow.h: Add flex_array_size() helper (Petr Oros) [1876924] - [net] netpoll: accept NULL np argument in netpoll_send_skb() (Ivan Vecera) [1867968] - [net] netpoll: netpoll_send_skb() returns transmit status (Ivan Vecera) [1867968] - [net] netpoll: move netpoll_send_skb() out of line (Ivan Vecera) [1867968] - [net] netpoll: remove dev argument from netpoll_send_skb_on_dev() (Ivan Vecera) [1867968] - [net] netpoll: Fix use correct return type for ndo_start_xmit() (Ivan Vecera) [1867968] - [net] core: Introduce netdev_get_xmit_slave (Ivan Vecera) [1867974] - [net] get rid of lockdep_set_class_and_subclass() (Ivan Vecera) [1867961] - [net] change addr_list_lock back to static key (Ivan Vecera) [1867961] - [net] batman-adv: Revert "Drop lockdep.h include for soft-interface.c" (Ivan Vecera) [1867961] - [net] partially revert dynamic lockdep key changes (Ivan Vecera) [1867961] - [kernel] rcu: Maintain RHEL kABI (Waiman Long) [1862812] - [kernel] rcu: Don't acquire lock in NMI handler in rcu_nmi_enter_common() (Waiman Long) [1862812] - [kernel] rcu: Add *_ONCE() to rcu_data ->rcu_forced_tick (Waiman Long) [1862812] - [kernel] rcu: Make rcu_barrier() account for offline no-CBs CPUs (Waiman Long) [1862812] - [kernel] rcu: Clear ->core_needs_qs at GP end or self-reported QS (Waiman Long) [1862812] - [kernel] rcu: Forgive slow expedited grace periods at boot time (Waiman Long) [1862812] - [tools] torture: Hoist calls to lscpu to higher-level kvm.sh script (Waiman Long) [1862812] - [tools] torture: Allow "CFLIST" to specify default list of scenarios (Waiman Long) [1862812] - [kernel] rcutorture: Dynamically allocate rcu_fwds structure (Waiman Long) [1862812] - [kernel] rcutorture: Complete threading rcu_fwd pointers through functions (Waiman Long) [1862812] - [kernel] rcutorture: Move to dynamic initialization of rcu_fwds (Waiman Long) [1862812] - [kernel] rcutorture: Thread rcu_fwd pointer through forward-progress functions (Waiman Long) [1862812] - [kernel] rcutorture: Pull callback forward-progress data into rcu_fwd struct (Waiman Long) [1862812] - [tools] rcutorture: Add worst-case call_rcu() forward-progress results (Waiman Long) [1862812] - [tools] torture: Handle systems lacking the mpstat command (Waiman Long) [1862812] - [tools] torture: Handle jitter for CPUs that cannot be offlined (Waiman Long) [1862812] - [tools] rcutorture: Dispense with Dracut for initrd creation (Waiman Long) [1862812] - [tools] torture: Use gawk instead of awk for systime() function (Waiman Long) [1862812] - [kernel] rcu: Avoid tick_dep_set_cpu() misordering (Waiman Long) [1862812] - [kernel] rcu: Provide wrappers for uses of ->rcu_read_lock_nesting (Waiman Long) [1862812] - [kernel] rcu: Use READ_ONCE() for ->expmask in rcu_read_unlock_special() (Waiman Long) [1862812] - [kernel] rcu: Clear ->rcu_read_unlock_special only once (Waiman Long) [1862812] - [kernel] rcu: Clear .exp_hint only when deferred quiescent state has been reported (Waiman Long) [1862812] - [kernel] rcu: Rename some instance of CONFIG_PREEMPTION to CONFIG_PREEMPT_RCU (Waiman Long) [1862812] - [kernel] rcu: Use CONFIG_PREEMPTION where appropriate (Waiman Long) [1862812] - [kernel] rcu: Make PREEMPT_RCU be a modifier to TREE_RCU (Waiman Long) [1862812] - [kernel] rcu: Use lockdep rather than comment to enforce lock held (Waiman Long) [1862812] - [kernel] rcu: Avoid data-race in rcu_gp_fqs_check_wake() (Waiman Long) [1862812] - [kernel] rcu/nocb: Fix dump_tree hierarchy print always active (Waiman Long) [1862812] - [kernel] rculist.h: Add list_tail_rcu() (Waiman Long) [1862812] - [kernel] rculist_nulls: Change docbook comment headers (Waiman Long) [1862812] - [kernel] rculist_nulls: Add docbook comments (Waiman Long) [1862812] - [include] rcu: Add a hlist_nulls_unhashed_lockless() function (Waiman Long) [1862812] - [kernel] rcu: Use WRITE_ONCE() for assignments to ->pprev for hlist_nulls (Waiman Long) [1862812] - [kernel] rcu: Remove kfree_call_rcu_nobatch() (Waiman Long) [1862812] - [kernel] rcu: Remove kfree_rcu() special casing and lazy-callback handling (Waiman Long) [1862812] - [kernel] rcu: Add support for debug_objects debugging for kfree_rcu() (Waiman Long) [1862812] - [kernel] rcu: Add multiple in-flight batches of kfree_rcu() work (Waiman Long) [1862812] - [kernel] rcu: Make kfree_rcu() use a non-atomic ->monitor_todo (Waiman Long) [1862812] - [kernel] rcuperf: Add kfree_rcu() performance Tests (Waiman Long) [1862812] - [kernel] rcu: Add basic support for kfree_rcu() batching (Waiman Long) [1862812] - [kernel] rcu: Remove unused stop-machine #include (Waiman Long) [1862812] - [kernel] srcu: Apply *_ONCE() to ->srcu_last_gp_end (Waiman Long) [1862812] - [kernel] rcu: Switch force_qs_rnp() to for_each_leaf_node_cpu_mask() (Waiman Long) [1862812] - [kernel] rcu: Move rcu_{expedited, normal} definitions into rcupdate.h (Waiman Long) [1862812] - [kernel] rcu: Move gp_state_namesand gp_state_getname() to tree_stall.h (Waiman Long) [1862812] - [kernel] rcu: Remove the declaration of call_rcu() in tree.h (Waiman Long) [1862812] - [kernel] rcu: Fix tracepoint tracking RCU CPU kthread utilization (Waiman Long) [1862812] - [kernel] rcu: Fix harmless omission of "CONFIG_" from #if condition (Waiman Long) [1862812] - [kernel] rcu: Mark non-global functions and variables as static (Waiman Long) [1862812] - [kernel] rcu: Enable tick for nohz_full CPUs slow to provide expedited QS (Waiman Long) [1862812] - [kernel] rcu: Replace synchronize_sched_expedited_wait() "_sched" with "_rcu" (Waiman Long) [1862812] - [kernel] rcu: Update tree_exp.h function-header comments (Waiman Long) [1862812] - [kernel] rcu: Rename sync_rcu_preempt_exp_done() to sync_rcu_exp_done() (Waiman Long) [1862812] - [kernel] rcu: Allow only one expedited GP to run concurrently with wakeups (Waiman Long) [1862812] - [kernel] rcu: Fix missed wakeup of exp_wq waiters (Waiman Long) [1862812] - [kernel] rcu: Substitute lookup for bit-twiddling in sync_rcu_exp_select_node_cpus() (Waiman Long) [1862812] - [kernel] rcu: Fix data-race due to atomic_t copy-by-value (Waiman Long) [1862812] - [kernel] rcu: Avoid modifying mask_ofl_ipi in sync_rcu_exp_select_node_cpus() (Waiman Long) [1862812] - [kernel] rcu: Use *_ONCE() to protect lockless ->expmask accesses (Waiman Long) [1862812] - [kernel] rcutorture: Make in-kernel-loop testing more brutal (Waiman Long) [1862812] - [kernel] rcutorture: Separate warnings for each failure type (Waiman Long) [1862812] - [kernel] rcu: Remove unused variable rcu_perf_writer_state (Waiman Long) [1862812] - [tools] rcutorture: Remove CONFIG_HOTPLUG_CPU=n from scenarios (Waiman Long) [1862812] - [kernel] rcu: Remove unused function rcutorture_record_progress() (Waiman Long) [1862812] - [kernel] rcu: Make kernel-mode nohz_full CPUs invoke the RCU core processing (Waiman Long) [1862812] - [kernel] rcu: Confine ->core_needs_qs accesses to the corresponding CPU (Waiman Long) [1862812] - [kernel] rcu: Reset CPU hints when reporting a quiescent state (Waiman Long) [1862812] - [kernel] rcu: Force nohz_full tick on upon irq enter instead of exit (Waiman Long) [1862812] - [kernel] rcu: Force tick on for nohz_full CPUs not reaching quiescent states (Waiman Long) [1862812] - [kernel] rcutorture: Emulate dyntick aspect of userspace nohz_full sojourn (Waiman Long) [1862812] - [kernel] rcu: Make CPU-hotplug removal operations enable tick (Waiman Long) [1862812] - [kernel] stop_machine: Provide RCU quiescent state in multi_cpu_stop() (Waiman Long) [1862812] - [kernel] rcutorture: Force on tick for readers and callback flooders (Waiman Long) [1862812] - [kernel] rcu: Force on tick when invoking lots of callbacks (Waiman Long) [1862812] - [kernel] time: Export tick start/stop functions for rcutorture (Waiman Long) [1862812] - [kernel] nohz: Add TICK_DEP_BIT_RCU (Waiman Long) [1862812] - [kernel] rcu: Suppress levelspread uninitialized messages (Waiman Long) [1862812] - [kernel] rcu: Fix uninitialized variable in nocb_gp_wait() (Waiman Long) [1862812] - [trace] rcu: Update descriptions for rcu_future_grace_period tracepoint (Waiman Long) [1862812] - [trace] rcu: Update descriptions for rcu_nocb_wake tracepoint (Waiman Long) [1862812] - [trace] rcu: Remove obsolete descriptions for rcu_barrier tracepoint (Waiman Long) [1862812] - [kernel] rcu: Ensure that ->rcu_urgent_qs is set before resched IPI (Waiman Long) [1862812] - [kernel] rcu: Several rcu_segcblist functions can be static (Waiman Long) [1862812] - [kernel] rcu: Remove unused function hlist_bl_del_init_rcu() (Waiman Long) [1862812] - [kernel] rcu: Allow rcu_do_batch() to dynamically adjust batch sizes (Waiman Long) [1862812] - [kernel] srcu: Avoid srcutorture security-based pointer obfuscation (Waiman Long) [1862812] - [kernel] rcu/nocb: Don't wake no-CBs GP kthread if timer posted under overload (Waiman Long) [1862812] - [kernel] rcu/nocb: Reduce __call_rcu_nocb_wake() leaf rcu_node ->lock contention (Waiman Long) [1862812] - [kernel] rcu/nocb: Reduce nocb_cb_wait() leaf rcu_node ->lock contention (Waiman Long) [1862812] - [kernel] rcu/nocb: Advance CBs after merge in rcutree_migrate_callbacks() (Waiman Long) [1862812] - [kernel] rcu/nocb: Avoid synchronous wakeup in __call_rcu_nocb_wake() (Waiman Long) [1862812] - [kernel] rcu/nocb: Print no-CBs diagnostics when rcutorture writer unduly delayed (Waiman Long) [1862812] - [kernel] rcu/nocb: EXP Check use and usefulness of ->nocb_lock_contended (Waiman Long) [1862812] - [kernel] rcu/nocb: Add bypass callback queueing (Waiman Long) [1862812] - [kernel] rcu/nocb: Atomic ->len field in rcu_segcblist structure (Waiman Long) [1862812] - [kernel] rcu/nocb: Unconditionally advance and wake for excessive CBs (Waiman Long) [1862812] - [kernel] rcu/nocb: Reduce ->nocb_lock contention with separate ->nocb_gp_lock (Waiman Long) [1862812] - [kernel] rcu/nocb: Reduce contention at no-CBs invocation-done time (Waiman Long) [1862812] - [kernel] rcu/nocb: Reduce contention at no-CBs registry-time CB advancement (Waiman Long) [1862812] - [kernel] rcu/nocb: Round down for number of no-CBs grace-period kthreads (Waiman Long) [1862812] - [kernel] rcu/nocb: Avoid ->nocb_lock capture by corresponding CPU (Waiman Long) [1862812] - [kernel] rcu/nocb: Avoid needless wakeups of no-CBs grace-period kthread (Waiman Long) [1862812] - [kernel] rcu/nocb: Make __call_rcu_nocb_wake() safe for many callbacks (Waiman Long) [1862812] - [kernel] rcu/nocb: Never downgrade ->nocb_defer_wakeup in wake_nocb_gp_defer() (Waiman Long) [1862812] - [kernel] rcu/nocb: Enable re-awakening under high callback load (Waiman Long) [1862812] - [kernel] rcu/nohz: Turn off tick for offloaded CPUs (Waiman Long) [1862812] - [kernel] rcu/nocb: Suppress uninitialized false-positive in nocb_gp_wait() (Waiman Long) [1862812] - [kernel] rcu/nocb: Use build-time no-CBs check in rcu_pending() (Waiman Long) [1862812] - [kernel] rcu/nocb: Use build-time no-CBs check in rcu_core() (Waiman Long) [1862812] - [kernel] rcu/nocb: Use build-time no-CBs check in rcu_do_batch() (Waiman Long) [1862812] - [kernel] rcu/nocb: Remove obsolete nocb_gp_head and nocb_gp_tail fields (Waiman Long) [1862812] - [kernel] rcu/nocb: Remove obsolete nocb_cb_tail and nocb_cb_head fields (Waiman Long) [1862812] - [kernel] rcu/nocb: Remove obsolete nocb_q_count and nocb_q_count_lazy fields (Waiman Long) [1862812] - [kernel] rcu/nocb: Remove obsolete nocb_head and nocb_tail fields (Waiman Long) [1862812] - [kernel] rcu/nocb: Use rcu_segcblist for no-CBs CPUs (Waiman Long) [1862812] - [kernel] rcu/nocb: Leave ->cblist enabled for no-CBs CPUs (Waiman Long) [1862812] - [kernel] rcu/nocb: Allow lockless use of rcu_segcblist_empty() (Waiman Long) [1862812] - [kernel] rcu/nocb: Allow lockless use of rcu_segcblist_restempty() (Waiman Long) [1862812] - [kernel] rcu/nocb: Remove deferred wakeup checks for extended quiescent states (Waiman Long) [1862812] - [kernel] rcu/nocb: Check for deferred nocb wakeups before nohz_full early exit (Waiman Long) [1862812] - [kernel] rcu/nocb: Make rcutree_migrate_callbacks() start at leaf rcu_node structure (Waiman Long) [1862812] - [kernel] rcu/nocb: Add checks for offloaded callback processing (Waiman Long) [1862812] - [kernel] rcu/nocb: Use separate flag to indicate offloaded ->cblist (Waiman Long) [1862812] - [kernel] rcu/nocb: Use separate flag to indicate disabled ->cblist (Waiman Long) [1862812] - [kernel] rcu/nocb: Print gp/cb kthread hierarchy if dump_tree (Waiman Long) [1862812] - [kernel] rcu/nocb: Rename rcu_nocb_leader_stride kernel boot parameter (Waiman Long) [1862812] - [kernel] rcu/nocb: Rename and document no-CB CB kthread sleep trace event (Waiman Long) [1862812] - [kernel] rcu/nocb: Rename rcu_organize_nocb_kthreads() local variable (Waiman Long) [1862812] - [kernel] rcu/nocb: Rename wake_nocb_leader_defer() to wake_nocb_gp_defer() (Waiman Long) [1862812] - [kernel] rcu/nocb: Rename __wake_nocb_leader() to __wake_nocb_gp() (Waiman Long) [1862812] - [kernel] rcu/nocb: Rename wake_nocb_leader() to wake_nocb_gp() (Waiman Long) [1862812] - [kernel] rcu/nocb: Rename nocb_follower_wait() to nocb_cb_wait() (Waiman Long) [1862812] - [kernel] rcu/nocb: Provide separate no-CBs grace-period kthreads (Waiman Long) [1862812] - [kernel] rcu/nocb: Update comments to prepare for forward-progress work (Waiman Long) [1862812] - [kernel] rcu/nocb: Rename rcu_data fields to prepare for forward-progress work (Waiman Long) [1862812] - [kernel] rcutorture: Aggressive forward-progress tests shouldn't block shutdown (Waiman Long) [1862812] - [kernel] rcuperf: Make rcuperf kernel test more robust for !expedited mode (Waiman Long) [1862812] - [kernel] rcutorture: Emulate userspace sojourn during call_rcu() floods (Waiman Long) [1862812] - [tools] rcutorture: Test TREE03 with the threadirqs kernel boot parameter (Waiman Long) [1862812] - [tools] torture: Expand last_ts variable in kvm-test-1-run.sh (Waiman Long) [1862812] - [kernel] rcuperf: Fix perf_type module-parameter description (Waiman Long) [1862812] - [documentation] doc: Add rcutree.kthread_prio pointer to stallwarn.txt (Waiman Long) [1862812] - [kernel] rcu: Change return type of rcu_spawn_one_boost_kthread() (Waiman Long) [1862812] - [kernel] rcu: Add destroy_work_on_stack() to match INIT_WORK_ONSTACK() (Waiman Long) [1862812] - [kernel] rcu: Add kernel parameter to dump trace after RCU CPU stall warning (Waiman Long) [1862812] - [kernel] rcu: Restore barrier() to rcu_read_lock() and rcu_read_unlock() (Waiman Long) [1862812] - [kernel] rcu: Simplify rcu_note_context_switch exit from critical section (Waiman Long) [1862812] - [kernel] rcu: Make rcu_read_unlock_special() checks match raise_softirq_irqoff() (Waiman Long) [1862812] - [kernel] rcu: Simplify rcu_read_unlock_special() deferred wakeups (Waiman Long) [1862812] - [tools] rcu: Don't return a value from rcu_assign_pointer() (Waiman Long) [1862812] - [kernel] rcu: Force inlining of rcu_read_lock() (Waiman Long) [1862812] - [kernel] rcu: Fix irritating whitespace error in rcu_assign_pointer() (Waiman Long) [1862812] - [kernel] rcu: validate arguments for rcu tracepoints (Waiman Long) [1862812] - [trace] tracing: introduce TRACE_EVENT_NOP() (Waiman Long) [1862812] - [kernel] kprobes: Prohibit probing on RCU debug routine (Waiman Long) [1862812] - [init] time: Make VIRT_CPU_ACCOUNTING_GEN depend on GENERIC_CLOCKEVENTS (Waiman Long) [1862812] - [kernel] time: Move CONTEXT_TRACKING to kernel/time/Kconfig (Waiman Long) [1862812]- [fs] xfs: don't commit sunit/swidth updates to disk if that would cause repair failures (Bill O'Donnell) [1849407] - [fs] xfs: split the sunit parameter update into two parts (Bill O'Donnell) [1849407] - [fs] xfs: refactor agfl length computation function (Bill O'Donnell) [1849407] - [net] netfilter: conntrack: proc: rename stat column (Florian Westphal) [1875681] - [net] netfilter: conntrack: add clash resolution stat counter (Florian Westphal) [1875681] - [net] netfilter: conntrack: remove ignore stats (Florian Westphal) [1875681] - [net] netfilter: conntrack: do not increment two error counters at same time (Florian Westphal) [1875681] - [net] netfilter: conntrack: do not auto-delete clash entries on reply (Florian Westphal) [1875681] - [powerpc] powerpc/pseries/iommu: Allow bigger 64bit window by removing default DMA window (Steve Best) [1725198] - [powerpc] powerpc/pseries/iommu: Move window-removing part of remove_ddw into remove_dma_window (Steve Best) [1725198] - [powerpc] powerpc/pseries/iommu: Update call to ibm, query-pe-dma-windows (Steve Best) [1725198] - [powerpc] powerpc/pseries/iommu: Create defines for operations in ibm, ddw-applicable (Steve Best) [1725198] - [x86] x86/cpu: Add Sapphire Rapids CPU model number (Puneet Sethi) [1872367] - [x86] x86/cpu: Add Lakefield, Alder Lake and Rocket Lake models to the to Intel CPU family (Steve Best) [1838902]- [powerpc] powerpc/xmon: Improve dumping prefixed instructions (Desnes Augusto Nunes do Rosario) [1854524] - [powerpc] powerpc: Add a ppc_inst_as_str() helper (Desnes Augusto Nunes do Rosario) [1854524] - [powerpc] powerpc: Add ppc_inst_as_u64() (Desnes Augusto Nunes do Rosario) [1854524] - [powerpc] powerpc: Add ppc_inst_next() (Desnes Augusto Nunes do Rosario) [1854524] - [powerpc] powerpc/sstep: Add tests for Prefixed Add Immediate (Desnes Augusto Nunes do Rosario) [1854524] - [powerpc] powerpc/sstep: Let compute tests specify a required cpu feature (Desnes Augusto Nunes do Rosario) [1854524] - [powerpc] powerpc/sstep: Set NIP in instruction emulation tests (Desnes Augusto Nunes do Rosario) [1854524] - [powerpc] powerpc/sstep: Add tests for prefixed floating-point load/stores (Desnes Augusto Nunes do Rosario) [1854524] - [powerpc] powerpc/sstep: Add tests for prefixed integer load/stores (Desnes Augusto Nunes do Rosario) [1854524] - [powerpc] powerpc: Add POWER10 architected mode (Desnes Augusto Nunes do Rosario) [1854524] - [powerpc] powerpc/dt_cpu_ftrs: Add MMA feature (Desnes Augusto Nunes do Rosario) [1854524] - [powerpc] powerpc/dt_cpu_ftrs: Enable Prefixed Instructions (Desnes Augusto Nunes do Rosario) [1854524] - [powerpc] powerpc/dt_cpu_ftrs: Advertise support for ISA v3.1 if selected (Desnes Augusto Nunes do Rosario) [1854524] - [powerpc] powerpc: Add support for ISA v3.1 (Desnes Augusto Nunes do Rosario) [1854524] - [powerpc] powerpc: Add new HWCAP bits (Desnes Augusto Nunes do Rosario) [1854524] - [powerpc] powerpc sstep: Add support for prefixed fixed-point arithmetic (Desnes Augusto Nunes do Rosario) [1854524] - [powerpc] powerpc sstep: Add support for prefixed load/stores (Desnes Augusto Nunes do Rosario) [1854524] - [powerpc] powerpc: Support prefixed instructions in alignment handler (Desnes Augusto Nunes do Rosario) [1854524] - [powerpc] powerpc/kprobes: Don't allow breakpoints on suffixes (Desnes Augusto Nunes do Rosario) [1854524] - [powerpc] powerpc/xmon: Don't allow breakpoints on suffixes (Desnes Augusto Nunes do Rosario) [1854524] - [powerpc] powerpc: Test prefixed instructions in feature fixups (Desnes Augusto Nunes do Rosario) [1854524] - [powerpc] powerpc: Test prefixed code patching (Desnes Augusto Nunes do Rosario) [1854524] - [powerpc] powerpc: Add prefixed instructions to instruction data type (Desnes Augusto Nunes do Rosario) [1854524] - [powerpc] powerpc/optprobes: Add register argument to patch_imm64_load_insns() (Desnes Augusto Nunes do Rosario) [1854524] - [kvm] powerpc: Define new SRR1 bits for a ISA v3.1 (Desnes Augusto Nunes do Rosario) [1854524] - [powerpc] powerpc/83xx: handle machine check caused by watchdog timer (Desnes Augusto Nunes do Rosario) [1854524] - [powerpc] powerpc: Enable Prefixed Instructions (Desnes Augusto Nunes do Rosario) [1854524] - [powerpc] powerpc: Make test_translate_branch() independent of instruction length (Desnes Augusto Nunes do Rosario) [1854524] - [powerpc] powerpc/xmon: Move insertion of breakpoint for xol'ing (Desnes Augusto Nunes do Rosario) [1854524] - [powerpc] powerpc/xmon: Use a function for reading instructions (Desnes Augusto Nunes do Rosario) [1854524] - [powerpc] powerpc: Introduce a function for reporting instruction length (Desnes Augusto Nunes do Rosario) [1854524] - [powerpc] powerpc: Define and use get_user_instr() et. al (Desnes Augusto Nunes do Rosario) [1854524] - [powerpc] powerpc/kprobes: Use patch_instruction() (Desnes Augusto Nunes do Rosario) [1854524] - [powerpc] powerpc: Add a probe_kernel_read_inst() function (Desnes Augusto Nunes do Rosario) [1854524] - [powerpc] powerpc: Add a probe_user_read_inst() function (Desnes Augusto Nunes do Rosario) [1854524] - [powerpc] powerpc: Use a function for reading instructions (Desnes Augusto Nunes do Rosario) [1854524] - [powerpc] powerpc: Use a datatype for instructions (Desnes Augusto Nunes do Rosario) [1854524] - [powerpc] powerpc/lib: Refactor __patch_instruction() to use __put_user_asm() (Desnes Augusto Nunes do Rosario) [1854524] - [powerpc] powerpc: use probe_user_read() and probe_user_write() (Desnes Augusto Nunes do Rosario) [1854524] - [powerpc] powerpc/process: Constify the number of insns printed by show instructions functions (Desnes Augusto Nunes do Rosario) [1854524] - [powerpc] powerpc/process: Fix interleaved output in show_user_instructions() (Desnes Augusto Nunes do Rosario) [1854524] - [powerpc] powerpc/process: Fix sparse address space warnings (Desnes Augusto Nunes do Rosario) [1854524] - [powerpc] powerpc: Don't print kernel instructions in show_user_instructions() (Desnes Augusto Nunes do Rosario) [1854524] - [powerpc] powerpc: Add show_user_instructions() (Desnes Augusto Nunes do Rosario) [1854524] - [powerpc] powerpc/lib: fix book3s/32 boot failure due to code patching (Desnes Augusto Nunes do Rosario) [1854524] - [powerpc] powerpc: Introduce functions for instruction equality (Desnes Augusto Nunes do Rosario) [1854524] - [powerpc] powerpc: Use a function for byte swapping instructions (Desnes Augusto Nunes do Rosario) [1854524] - [powerpc] powerpc: Use a function for getting the instruction op code (Desnes Augusto Nunes do Rosario) [1854524] - [powerpc] powerpc: Use an accessor for instructions (Desnes Augusto Nunes do Rosario) [1854524] - [powerpc] powerpc sstep: Add support for extswsli instruction (Desnes Augusto Nunes do Rosario) [1854524] - [powerpc] powerpc: sstep: Add support for maddhd, maddhdu, maddld instructions (Desnes Augusto Nunes do Rosario) [1854524] - [powerpc] powerpc: Use a macro for creating instructions from u32s (Desnes Augusto Nunes do Rosario) [1854524] - [powerpc] powerpc/fsl: Add infrastructure to fixup branch predictor flush (Desnes Augusto Nunes do Rosario) [1854524] - [powerpc] powerpc/smp: Use code patching to restore reset vector (Desnes Augusto Nunes do Rosario) [1854524] - [powerpc] powerpc: sstep: Add tests for addcinstruction (Desnes Augusto Nunes do Rosario) [1854524] - [powerpc] powerpc: sstep: Add tests for addinstruction (Desnes Augusto Nunes do Rosario) [1854524] - [powerpc] powerpc: sstep: Add tests for compute type instructions (Desnes Augusto Nunes do Rosario) [1854524] - [powerpc] powerpc/sstep: Fix DS operand in ld encoding to appropriate value (Desnes Augusto Nunes do Rosario) [1854524] - [powerpc] powerpc/fsl: Add barrier_nospec implementation for NXP PowerPC Book3E (Desnes Augusto Nunes do Rosario) [1854524] - [powerpc] powerpc/watchpoint: Don't ignore extraneous exceptions blindly (Desnes Augusto Nunes do Rosario) [1854524] - [powerpc] powerpc/watchpoint: Disable watchpoint hit by larx/stcx instructions (Desnes Augusto Nunes do Rosario) [1854524] - [powerpc] powerpc/kgdb: add kgdb_arch_set/remove_breakpoint() (Desnes Augusto Nunes do Rosario) [1854524] - [powerpc] powerpc/hw_breakpoint: move instruction stepping out of hw_breakpoint_handler() (Desnes Augusto Nunes do Rosario) [1854524] - [powerpc] powerpc: add modify_instruction() and modify_instruction_site() (Desnes Augusto Nunes do Rosario) [1854524] - [powerpc] powerpc: Change calling convention for create_branch() et. al (Desnes Augusto Nunes do Rosario) [1854524] - [powerpc] powerpc: simplify patch_instruction_site() and patch_branch_site() (Desnes Augusto Nunes do Rosario) [1854524] - [powerpc] powerpc/code-patching: Add a helper to get the address of a patch_site (Desnes Augusto Nunes do Rosario) [1854524] - [powerpc] powerpc/ftrace: Handle large kernel configs (Desnes Augusto Nunes do Rosario) [1854524] - [powerpc] powerpc/32: use patch_site_addr() in machine_init() (Desnes Augusto Nunes do Rosario) [1854524] - [powerpc] powerpc/lib: Use patch_site to patch copy_32 functions once cache is enabled (Desnes Augusto Nunes do Rosario) [1854524] - [powerpc] powerpc/xmon: Use bitwise calculations in_breakpoint_table() (Desnes Augusto Nunes do Rosario) [1854524] - [powerpc] powerpc/xmon: Move breakpoints to text section (Desnes Augusto Nunes do Rosario) [1854524] - [powerpc] powerpc/xmon: Move breakpoint instructions to own array (Desnes Augusto Nunes do Rosario) [1854524] - [powerpc] powerpc/xmon: Remove store_inst() for patch_instruction() (Desnes Augusto Nunes do Rosario) [1854524] - [powerpc] powerpc/powernv/idle: Exclude mfspr on HID1, 4, 5 on P9 and above (Steve Best) [1854539] - [powerpc] powerpc/powernv/idle: Rename pnv_first_spr_loss_level variable (Steve Best) [1854539] - [powerpc] powerpc/powernv/idle: Replace CPU feature check with PVR check (Steve Best) [1854539] - [powerpc] powerpc/64s: Don't set FSCR bits in INIT_THREAD (Steve Best) [1854523] - [powerpc] powerpc/64s: Save FSCR to init_task.thread.fscr after feature init (Steve Best) [1854523] - [powerpc] powerpc/64s: Don't let DT CPU features set FSCR_DSCR (Steve Best) [1854523] - [powerpc] powerpc/64s: Don't init FSCR_DSCR in __init_FSCR() (Steve Best) [1854523]- [kernel] sched/cfs: change initial value of runnable_avg (Phil Auld) [1875995] - [kernel] sched/fair: Fix runnable_avg for throttled cfs (Phil Auld) [1875995] - [kernel] sched/fair: Fix kernel build warning in test_idle_cores() for !SMT NUMA (Phil Auld) [1875995] - [kernel] sched/numa: Acquire RCU lock for checking idle cores during NUMA balancing (Phil Auld) [1875995] - [kernel] sched/numa: Stop an exhastive search if a reasonable swap candidate or idle CPU is found (Phil Auld) [1875995] - [kernel] sched/numa: Bias swapping tasks based on their preferred node (Phil Auld) [1875995] - [kernel] sched/numa: Find an alternative idle CPU if the CPU is part of an active NUMA balance (Phil Auld) [1875995] - [kernel] sched/numa: Prefer using an idle CPU as a migration target instead of comparing tasks (Phil Auld) [1875995] - [kernel] sched/fair: Take into account runnable_avg to classify group (Phil Auld) [1875995] - [kernel] sched/pelt: Add a new runnable average signal (Phil Auld) [1875995] - [kernel] sched/pelt: Remove unused runnable load average (Phil Auld) [1875995] - [kernel] sched: Disable allowing small imbalance to preserve RHEL performance (Phil Auld) [1875995] - [kernel] sched/numa: Use similar logic to the load balancer for moving between domains with spare capacity (Phil Auld) [1875995] - [kernel] sched/numa: Replace runnable_load_avg by load_avg (Phil Auld) [1875995] - [kernel] sched/numa: Distinguish between the different task_numa_migrate() failure cases (Phil Auld) [1875995] - [kernel] sched/numa: Trace when no candidate CPU was found on the preferred node (Phil Auld) [1875995] - [kernel] sched/fair: Allow a small load imbalance between low utilisation SD_NUMA domains (Phil Auld) [1875995] - [mm] powerpc/smp: Implement cpu_to_coregroup_id (Diego Domingos) [1854541] - [powerpc] powerpc/smp: Create coregroup domain (Diego Domingos) [1854541] - [powerpc] powerpc/smp: Allocate cpumask only after searching thread group (Diego Domingos) [1854541] - [powerpc] powerpc/numa: Detect support for coregroup (Diego Domingos) [1854541] - [powerpc] powerpc/smp: Optimize start_secondary (Diego Domingos) [1854541] - [powerpc] powerpc/smp: Dont assume l2-cache to be superset of sibling (Diego Domingos) [1854541] - [powerpc] powerpc/smp: Move topology fixups into a new function (Diego Domingos) [1854541] - [powerpc] powerpc/smp: Move powerpc_topology above (Diego Domingos) [1854541] - [powerpc] powerpc/smp: Merge Power9 topology with Power topology (Diego Domingos) [1854541] - [powerpc] powerpc/smp: Fix a warning under !NEED_MULTIPLE_NODES (Diego Domingos) [1854541] - [mm] powerpc/numa: Restrict possible nodes based on platform (Diego Domingos) [1854541] - [mm] powerpc/numa: Limit possible nodes to within num_possible_nodes (Diego Domingos) [1854541] - [powerpc] powerpc: Fix misleading small cores print (Diego Domingos) [1854541] - [netdrv] ibmvnic: add missing parenthesis in do_reset() (Steve Best) [1879547] - [wireless] rtw88: don't hold all IRQs disabled for PS operations (Jarod Wilson) [1874730] - [netdrv] ibmvnic fix NULL tx_pools and rx_tools issue at do_reset (Steve Best) [1872676]- [kernel] sched: Fix use of count for nr_running tracepoint (Phil Auld) [1861444] - [kernel] sched: Add a tracepoint to track rq->nr_running (Phil Auld) [1861444] - [kernel] sched/debug: Add new tracepoints to track util_est (Phil Auld) [1861444] - [kernel] sched/debug: Export the newly added tracepoints (Phil Auld) [1861444] - [kernel] sched/debug: Add sched_overutilized tracepoint (Phil Auld) [1861444] - [kernel] sched/debug: Add new tracepoint to track PELT at se level (Phil Auld) [1861444] - [kernel] sched/debug: Add a new sched_trace_*() helper functions (Phil Auld) [1861444] - [kernel] sched/autogroup: Make autogroup_path() always available (Phil Auld) [1861444]- [mm] mm/kmemleak.c: fix check for softirq context (Waiman Long) [1878006] - [include] mm/hotplug: invalid PFNs from pfn_to_online_page() (Waiman Long) [1878006] - [mm] mm, kmemleak: little optimization while scanning (Waiman Long) [1878006] - [mm] kmemleak: add module param to print warnings to dmesg (Waiman Long) [1878006] - [mm] kmemleak: always register debugfs file (Waiman Long) [1878006] - [scsi] scsi: megaraid_sas: Don't call disable_irq from process IRQ poll (Tomas Henzl) [1837200] - [scsi] scsi: megaraid_sas: Remove undefined ENABLE_IRQ_POLL macro (Tomas Henzl) [1837200] - [platform] platform/x86: dcdbas: Check SMBIOS for protected buffer address (David Arcari) [1858680] - [platform] firmware: dcdbas: Move dcdbas to drivers/platform/x86 (David Arcari) [1858680] - [fs] cifs: fix DFS mount with cifsacl/modefromsid (Leif Sahlberg) [1871246] - [fs] ext4: fix potential negative array index in do_split() (Pavel Reichl) [1846165] {CVE-2020-14314} - [include] block: allow for_each_bvec to support zero len bvec (Ming Lei) [1872032] - [nvme] nvme-pci: disable the write zeros command for Intel 600P/P3100 (David Milburn) [1875391]- [netdrv] ice: Disable VLAN pruning in promiscuous mode (Jonathan Toppins) [1787477] - [mm] mm: slub: introduce 'slub_merge' kernel parameter (Rafael Aquini) [1871214] - [kernel] time/tick-broadcast: Fix tick_broadcast_offline() lockdep complaint (Alexey Klimov) [1877380]- [init] init/Kconfig: disable io_uring (Jeff Moyer) [1879754] - [block] blk-mq: always allow reserved allocation in hctx_may_queue (Ming Lei) [1740874] - [nvme] nvme-rdma: Avoid double freeing of async event data (Gopal Tiwari) [1878140] - [kernel] printk: queue wake_up_klogd irq_work only if per-CPU areas are ready (Igor Mammedov) [1867022]- [firmware] efi: don't reserve MOK config table memory region (Kairui Song) [1878584] - [fs] xfs: fix boundary test in xfs_attr_shortform_verify (Eric Sandeen) [1875316] {CVE-2020-14385} - [powerpc] powerpc/pseries: Do not initiate shutdown when system is running on UPS (Diego Domingos) [1870477]- [fs] nfsd: avoid a NULL dereference in __cld_pipe_upcall() (Scott Mayhew) [1847225] - [net] packet: fix overflow in tpacket_rcv (Hangbin Liu) [1876224] {CVE-2020-14386} - [net] packet: make tp_drops atomic (Hangbin Liu) [1876224] {CVE-2020-14386} - [net] espintcp: restore IP CB before handing the packet to xfrm (Sabrina Dubroca) [1868201] - [fs] Revert "NFSv4: Handle NFS4ERR_OLD_STATEID in CLOSE/OPEN_DOWNGRADE" (Benjamin Coddington) [1865978] - [fs] Revert "NFSv4.x recover from pre-mature loss of openstateid" (Benjamin Coddington) [1865978] - [infiniband] RDMA/mlx4: Read pkey table length instead of hardcoded value (Alaa Hleihel) [1853564] - [net] net/smc: set rx_off for SMCR explicitly (Philipp Rudo) [1875833] - [drm] drm/i915: Auto detect DPCD backlight support by default (Lyude Paul) [1872381] - [drm] drm/i915: Fix DPCD register order in intel_dp_aux_enable_backlight() (Lyude Paul) [1872381] - [drm] drm/i915: Assume 100 brightness when not in DPCD control mode (Lyude Paul) [1872381] - [drm] drm/i915: Fix eDP DPCD aux max backlight calculations (Lyude Paul) [1872381] - [kernel] tracing: Define MCOUNT_INSN_SIZE when not defined without direct calls (Jiri Olsa) [1857599] - [kernel] ftrace: Fix function_graph tracer interaction with BPF trampoline (Jiri Olsa) [1857599] - [x86] x86/function_graph: Simplify with function_graph_enter() (Jiri Olsa) [1857599] - [kernel] function_graph: Create function_graph_enter() to consolidate architecture code (Jiri Olsa) [1857599]- [crypto] pefile: Support multiple signatures in verify_pefile_signature (Lenny Szubowicz) [1862072] - [security] integrity: Load certs from the EFI MOK config table (Lenny Szubowicz) [1868306] - [security] integrity: Move import of MokListRT certs to a separate routine (Lenny Szubowicz) [1868306] - [firmware] efi: Support for MOK variable config table (Lenny Szubowicz) [1868306] - [kernel] Move to dual-signing to split signing keys up better (Frantisek Hrbata) [1837434] {CVE-2020-10713} - [powerpc] pseries/hotplug-cpu: wait indefinitely for vCPU death (Michael Roth) [1856588] - [powerpc] kvm: ppc: book3s hv: Rework secure mem slot dropping (Michael Roth) [1851259] - [powerpc] kvm: ppc: book3s hv: Move kvmppc_svm_page_out up (Michael Roth) [1851259] - [powerpc] kvm: ppc: book3s hv: Migrate hot plugged memory (Michael Roth) [1851259] - [powerpc] kvm: ppc: book3s hv: In H_SVM_INIT_DONE, migrate remaining normal-GFNs to secure-GFNs (Michael Roth) [1851259] - [powerpc] kvm: ppc: book3s hv: Track the state GFNs associated with secure VMs (Michael Roth) [1851259] - [powerpc] kvm: ppc: book3s hv: Disable page merging in H_SVM_INIT_START (Michael Roth) [1851259] - [powerpc] kvm: ppc: book3s hv: Fix function definition in book3s_hv_uvmem.c (Michael Roth) [1851259] - [kernel] mmap locking api: initial implementation as rwsem wrappers (Michael Roth) [1851259] - [mm] handle multiple owners of device private pages in migrate_vma (Michael Roth) [1851259] - [mm] migrate.c: clean up useless code in migrate_vma_collect_pmd() (Michael Roth) [1851259] - [mm] remove the unused MIGRATE_PFN_DEVICE flag (Michael Roth) [1851259] - [powerpc] rhel: powerpc: kvm: Increase HDEC threshold to enter guest (David Gibson) [1733467] - [netdrv] r8152: Add macpassthru support for ThinkPad Thunderbolt 3 Dock Gen 2 (Michal Schmidt) [1851966] - [fs] ceph: fix inode number handling on arches with 32-bit ino_t (Jeff Layton) [1869679] - [fs] ceph: don't allow setlease on cephfs (Jeff Layton) [1872382] - [block] blk-mq: order adding requests to hctx->dispatch and checking SCHED_RESTART (Ming Lei) [1859628]- [s390] scsi: zfcp: Move allocation of the shost object to after xconf- and xport-data (Claudio Imbrenda) [1872799] - [s390] scsi: zfcp: Fence early sysfs interfaces for accesses of shost objects (Claudio Imbrenda) [1872799] - [s390] scsi: zfcp: Fence adapter status propagation for common statuses (Claudio Imbrenda) [1872799] - [s390] scsi: zfcp: Move p-t-p port allocation to after xport data (Claudio Imbrenda) [1872799] - [s390] scsi: zfcp: Fence fc_host updates during link-down handling (Claudio Imbrenda) [1872799] - [s390] scsi: zfcp: Move fc_host updates during xport data handling into fenced function (Claudio Imbrenda) [1872799] - [s390] scsi: zfcp: Move shost updates during xconfig data handling into fenced function (Claudio Imbrenda) [1872799] - [s390] scsi: zfcp: Move shost modification after QDIO (re-)open into fenced function (Claudio Imbrenda) [1872799] - [s390] scsi: zfcp: fix fc_host attributes that should be unknown on local link down (Claudio Imbrenda) [1872799] - [s390] scsi: zfcp: wire previously driver-specific sysfs attributes also to fc_host (Claudio Imbrenda) [1872799] - [s390] scsi: zfcp: expose fabric name as common fc_host sysfs attribute (Claudio Imbrenda) [1872799] - [s390] scsi: zfcp: add diagnostics buffer for exchange config data (Claudio Imbrenda) [1872799] - [s390] scsi: zfcp: diagnostics buffer caching and use for exchange port data (Claudio Imbrenda) [1872799] - [s390] scsi: zfcp: signal incomplete or error for sync exchange config/port data (Claudio Imbrenda) [1872799] - [s390] scsi: zfcp: Fix use-after-free in request timeout handlers (Claudio Imbrenda) [1872796] - [tools] selftests/powerpc: Update the stack expansion test (Gustavo Duarte) [1869755] - [mm] powerpc: Allow 4224 bytes of stack expansion for the signal frame (Gustavo Duarte) [1869755] - [tools] selftests/powerpc: Add test of stack expansion logic (Gustavo Duarte) [1869755] - [mm] mm: check that mm is still valid in madvise() (Jeff Moyer) [1874560] - [block] block: virtio_blk: fix handling single range discard request (Ming Lei) [1842035] - [block] block: respect queue limit of max discard segment (Ming Lei) [1842035] - [fs] io_uring: Fix NULL pointer dereference in loop_rw_iter() (Jeff Moyer) [1854649] - [fs] io_uring: return locked and pinned page accounting (Jeff Moyer) [1854649] - [fs] io_uring: always allow drain/link/hardlink/async sqe flags (Jeff Moyer) [1854649] - [fs] io_uring: ensure double poll additions work with both request types (Jeff Moyer) [1854649] - [fs] io_uring: fix recvmsg memory leak with buffer selection (Jeff Moyer) [1854649] - [fs] io_uring: fix missing msg_name assignment (Jeff Moyer) [1854649] - [fs] io_uring: fix memleak in io_sqe_files_register() (Jeff Moyer) [1854649] - [fs] io_uring: account user memory freed when exit has been queued (Jeff Moyer) [1854649] - [fs] io_uring: fix memleak in __io_sqe_files_update() (Jeff Moyer) [1854649] - [fs] io_uring: fix regression with always ignoring signals in io_cqring_wait() (Jeff Moyer) [1854649] - [fs] io_uring: use signal based task_work running (Jeff Moyer) [1854649] - [kernel] task_work: teach task_work_add() to do signal_wake_up() (Jeff Moyer) [1854649] - [fs] io_uring: fix missing ->mm on exit (Jeff Moyer) [1854649] - [fs] io_uring: fix potential use after free on fallback request free (Jeff Moyer) [1854649] - [fs] io_uring: fix req->work corruption (Jeff Moyer) [1854649] - [fs] io_uring: fix NULL-mm for linked reqs (Jeff Moyer) [1854649] - [fs] io_uring: fix current->mm NULL dereference on exit (Jeff Moyer) [1854649] - [fs] io_uring: fix hanging iopoll in case of -EAGAIN (Jeff Moyer) [1854649] - [fs] io_uring: fix io_sq_thread no schedule when busy (Jeff Moyer) [1854649] - [fs] io_uring: fix possible race condition against REQ_F_NEED_CLEANUP (Jeff Moyer) [1854649] - [fs] io_uring: reap poll completions while waiting for refs to drop on exit (Jeff Moyer) [1854649] - [fs] io_uring: acquire 'mm' for task_work for SQPOLL (Jeff Moyer) [1854649] - [fs] io_uring: add memory barrier to synchronize io_kiocb's result and iopoll_completed (Jeff Moyer) [1854649] - [fs] io_uring: don't fail links for EAGAIN error in IOPOLL mode (Jeff Moyer) [1854649] - [fs] io_uring: fix io_kiocb.flags modification race in IOPOLL mode (Jeff Moyer) [1854649] - [fs] io_uring: allow O_NONBLOCK async retry (Jeff Moyer) [1854649] - [fs] io_uring: use kvfree() in io_sqe_buffer_register() (Jeff Moyer) [1854649] - [fs] io_uring: validate the full range of provided buffers for access (Jeff Moyer) [1854649] - [fs] io_uring: re-set iov base/len for buffer select retry (Jeff Moyer) [1854649] - [fs] io_uring: fix {SQ, IO}POLL with unsupported opcodes (Jeff Moyer) [1854649] - [fs] io_uring: disallow close of ring itself (Jeff Moyer) [1854649] - [fs] io_uring: fix overflowed reqs cancellation (Jeff Moyer) [1854649] - [fs] io_uring: fix flush req->refs underflow (Jeff Moyer) [1854649] - [fs] io_uring: async task poll trigger cleanup (Jeff Moyer) [1854649] - [fs] io_uring: allow POLL_ADD with double poll_wait() users (Jeff Moyer) [1854649] - [fs] io_uring: remove 'fd is io_uring' from close path (Jeff Moyer) [1854649] - [nvme] nvme: allow retry for requests with REQ_FAILFAST_TRANSPORT set (Mike Snitzer) [1843515] - [nvme] nvme: decouple basic ANA log page re-read support from native multipathing (Mike Snitzer) [1843515] - [nvme] nvme: update failover handling to work with REQ_FAILFAST_TRANSPORT (Mike Snitzer) [1843515] - [nvme] nvme: Return BLK_STS_TARGET if the DNR bit is set (Mike Snitzer) [1843515] - [nvme] nvme: redirect commands on dying queue (Mike Snitzer) [1843515] - [nvme] nvme: just check the status code type in nvme_is_path_error (Mike Snitzer) [1843515] - [nvme] nvme: refactor command completion (Mike Snitzer) [1843515] - [nvme] nvme-multipath: do not reset on unknown status (Mike Snitzer) [1843515] - [nvme] Revert "nvme: allow ANA support to be independent of native multipathing" (Mike Snitzer) [1843515] - [nvme] Revert "nvme-multipath: do not reset on unknown status" (Mike Snitzer) [1843515] - [mm] mm, THP, swap: fix allocating cluster for swapfile by mistake (Gao Xiang) [1855474] - [net] sched: act_ct: Fix skb double-free in tcf_ct_handle_fragments() error flow (Marcelo Leitner) [1866391] - [net] netfilter: conntrack: allow sctp hearbeat after connection re-use (Florian Westphal) [1865798] - [video] vgacon: Fix for missing check in scrollback handling (Lyude Paul) [1859472] {CVE-2020-14331} - [scsi] Revert "scsi: qla2xxx: Disable T10-DIF feature with FC-NVMe during probe" (Nilesh Javali) [1866744] - [scsi] Revert "scsi: qla2xxx: Fix crash on qla2x00_mailbox_command" (Nilesh Javali) [1866744] - [scsi] scsi: qla2xxx: Fix null pointer access during disconnect from subsystem (Nilesh Javali) [1866744] - [scsi] scsi: qla2xxx: Check if FW supports MQ before enabling (Nilesh Javali) [1866744] - [scsi] scsi: qla2xxx: Fix WARN_ON in qla_nvme_register_hba (Nilesh Javali) [1866744] - [scsi] scsi: qla2xxx: Allow ql2xextended_error_logging special value 1 to be set anytime (Nilesh Javali) [1866744] - [scsi] scsi: qla2xxx: Reduce noisy debug message (Nilesh Javali) [1866744] - [scsi] scsi: qla2xxx: Fix login timeout (Nilesh Javali) [1866744] - [scsi] scsi: qla2xxx: Flush I/O on zone disable (Nilesh Javali) [1866744] - [scsi] scsi: qla2xxx: Flush all sessions on zone disable (Nilesh Javali) [1866744] - [tools] bpf: selftests: global_funcs: Check err_str before strstr (Yauheni Kaliuta) [1873163] - [netdrv] net/mlx5e: E-Switch, Specify flow_source for rule with no in_port (Alaa Hleihel) [1869602] - [netdrv] net/mlx5e: E-Switch, Add misc bit when misc fields changed for mirroring (Alaa Hleihel) [1869602] - [tools] selftests/bpf: test for map update access from within EXT programs (=?UTF-8?q?Toke=20H=C3=B8iland-J=C3=B8rgensen?=) [1871071] - [tools] selftests/bpf: test for checking return code for the extended prog (=?UTF-8?q?Toke=20H=C3=B8iland-J=C3=B8rgensen?=) [1871071] - [tools] selftests/bpf: Add test for freplace program with write access (=?UTF-8?q?Toke=20H=C3=B8iland-J=C3=B8rgensen?=) [1871071] - [net] bpf: verifier: use target program's type for access verifications (=?UTF-8?q?Toke=20H=C3=B8iland-J=C3=B8rgensen?=) [1871071] - [scsi] scsi: lpfc: Fix NVMe rport deregister and registration during ADISC (Dick Kennedy) [1871223] - [scsi] scsi: lpfc: Fix LUN loss after cable pull (Dick Kennedy) [1871223] - [infiniband] RDMA/bnxt_re: Do not add user qps to flushlist (Selvin Xavier) [1858674] - [fs] NFSv4.0 allow nconnect for v4.0 (Benjamin Coddington) [1842746] - [mm] mm/vunmap: add cond_resched() in vunmap_pmd_range (Rafael Aquini) [1871710] - [s390] s390/bpf: Maintain 8-byte stack alignment (Jiri Olsa) [1871040]- [netdrv] vrf: Fix IPv6 with qdisc and xfrm (Sabrina Dubroca) [1868565] - [netdrv] vrf: make sure skb->data contains ip header to make routing (Sabrina Dubroca) [1868565] - [netdrv] vrf: Check skb for XFRM_TRANSFORMED flag (Sabrina Dubroca) [1868565] - [net] Do not clear the sock TX queue in sk_set_socket() (Andrea Claudi) [1850421] - [net] Use RCU_INIT_POINTER() to set sk_wq (Andrea Claudi) [1850421] - [net] netfilter: ip6tables: Add a .pre_exit hook in all ip6table_foo.c. (Florian Westphal) [1862384] - [net] netfilter: iptables: Add a .pre_exit hook in all iptable_foo.c. (Florian Westphal) [1862384] - [net] netfilter: ipset: Fix an error code in ip_set_sockfn_get() (Florian Westphal) [1862384] - [net] netfilter: nft_set_rbtree: Don't account for expired elements on insertion (Florian Westphal) [1862384] - [net] netfilter: nft_set_rbtree: Drop spurious condition for overlap detection on insertion (Florian Westphal) [1862384] - [net] netfilter: nft_set_rbtree: Detect partial overlaps on insertion (Florian Westphal) [1862384] - [net] netfilter: nft_set_rbtree: Introduce and use nft_rbtree_interval_start() (Florian Westphal) [1862384] - [net] netfilter: nf_tables: fix nat hook table deletion (Florian Westphal) [1862384] - [net] netfilter: ipset: call ip_set_free() instead of kfree() (Florian Westphal) [1862384] - [net] netfilter: ip6tables: Split ip6t_unregister_table() into pre_exit and exit helpers. (Florian Westphal) [1862384] - [net] netfilter: iptables: Split ipt_unregister_table() into pre_exit and exit helpers. (Florian Westphal) [1862384] - [net] netfilter: nft_set_pipapo: Disable preemption before getting per-CPU pointer (Florian Westphal) [1862384] - [net] netfilter: nft_nat: return EOPNOTSUPP if type or flags are not supported (Florian Westphal) [1862384] - [net] netfilter: conntrack: comparison of unsigned in cthelper confirmation (Florian Westphal) [1862384] - [net] netfilter: conntrack: refetch conntrack after nf_conntrack_update() (Florian Westphal) [1862384] - [net] netfilter: conntrack: Pass value of ctinfo to __nf_conntrack_update (Florian Westphal) [1862384] - [net] netfilter: conntrack: make conntrack userspace helpers work again (Florian Westphal) [1862384] - [net] netfilter: nfnetlink_cthelper: unbreak userspace helper support (Florian Westphal) [1862384] - [net] netfilter: nf_conntrack_pptp: fix compilation warning with W=1 build (Florian Westphal) [1862384] - [net] netfilter: nf_conntrack_pptp: prevent buffer overflows in debug code (Florian Westphal) [1862384] - [net] netfilter: nft_set_bitmap: initialize set element extension in lookups (Florian Westphal) [1862384] - [net] netfilter: nft_fwd_netdev: validate family and chain type (Florian Westphal) [1862384] - [net] netfilter: nft_payload: add missing attribute validation for payload csum flags (Florian Westphal) [1862384] - [net] netfilter: cthelper: add missing attribute validation for cthelper (Florian Westphal) [1862384] - [net] netfilter: ipset: Fix forceadd evaluation path (Florian Westphal) [1862384] - [net] netfilter: bridge: make sure to pull arp header in br_nf_forward_arp() (Florian Westphal) [1862384] - [net] netfilter: nft_set_rbtree: bogus lookup/get on consecutive elements in named sets (Florian Westphal) [1862384] - [net] netfilter: ctnetlink: netns exit must wait for callbacks (Florian Westphal) [1862384] - [arm64] kvm: arm64: Don't inherit exec permission across page-table levels (Andrew Jones) [1869297] - [arm64] kvm: arm64: Flush the instruction cache if not unmapping the VM on reboot (Andrew Jones) [1869297] - [s390] s390, dcssblk: kaddr and pfn can be NULL to ->direct_access() (Claudio Imbrenda) [1868927] - [fs] chardev: Avoid potential use-after-free in 'chrdev_open()' (Vladis Dronov) [1866324] {CVE-2020-0305} - [net] net: accept an empty mask in /sys/class/net/*/queues/rx-*/rps_cpus (Nitesh Narayan Lal) [1868433] - [x86] Revert "x86/intel: Disable HPET on Intel Ice Lake platforms" (David Arcari) [1868405] - [kernel] sched: Fix race against ptrace_freeze_trace() (Oleg Nesterov) [1862560] - [kernel] sched: Fix loadavg accounting race (Oleg Nesterov) [1862560] - [kernel] kernel/sched/: remove caller signal_pending branch predictions (Oleg Nesterov) [1862560] - [kernel] locking/spinlock, sched/core: Clarify requirements for smp_mb__after_spinlock() (Oleg Nesterov) [1862560] - [nvme] nvme: multipath: round-robin: eliminate "fallback" variable (Gopal Tiwari) [1868443] - [nvme] nvme: multipath: round-robin: fix single non-optimized path case (Gopal Tiwari) [1868443] - [nvme] nvme-multipath: do not fall back to __nvme_find_path() for non-optimized paths (Gopal Tiwari) [1868443] - [nvme] nvme-multipath: fix logic for non-optimized paths (Gopal Tiwari) [1868443] - [tools] selftests/bpf: Fix segmentation fault in test_progs (Yauheni Kaliuta) [1868494] - [pci] hv: Fix a timing issue which causes kdump to fail occasionally (Mohammed Gamal) [1861960] - [hv] hv: vmbus: Only notify Hyper-V for die events that are oops (Vitaly Kuznetsov) [1868131] - [x86] kvm: nsvm: Correctly set the shadow NPT root level in its MMU role (Vitaly Kuznetsov) [1845507] - [x86] kvm: x86: drop superfluous mmu_check_root() from fast_pgd_switch() (Vitaly Kuznetsov) [1845507] - [x86] kvm: nsvm: use nested_svm_load_cr3() on guest->host switch (Vitaly Kuznetsov) [1845507] - [x86] kvm: nsvm: implement nested_svm_load_cr3() and use it for host->guest switch (Vitaly Kuznetsov) [1845507] - [x86] kvm: nsvm: move kvm_set_cr3() after nested_svm_uninit_mmu_context() (Vitaly Kuznetsov) [1845507] - [x86] kvm: nsvm: introduce nested_svm_load_cr3()/nested_npt_enabled() (Vitaly Kuznetsov) [1845507] - [x86] kvm: nsvm: prepare to handle errors from enter_svm_guest_mode() (Vitaly Kuznetsov) [1845507] - [x86] kvm: nsvm: reset nested_run_pending upon nested_svm_vmrun_msrpm() failure (Vitaly Kuznetsov) [1845507] - [x86] kvm: mmu: stop dereferencing vcpu->arch.mmu to get the context for MMU init (Vitaly Kuznetsov) [1845507] - [x86] kvm: nsvm: split kvm_init_shadow_npt_mmu() from kvm_init_shadow_mmu() (Vitaly Kuznetsov) [1845507] - [security] selinux: compute genfs symlink context in case of CephFS (Ondrej Mosnacek) [1865800] - [fs] ceph: set sec_context xattr on symlink creation (Ondrej Mosnacek) [1861509] - [tools] selftests: bpf: define SO_RCVTIMEO and SO_SNDTIMEO properly for ppc64le (Jiri Benc) [1860386] - [tools] bpf: Sync RHEL version of asm-generic/socket.h to tools/ (Jiri Benc) [1860386] - [tools] selftests: bpf: skip tests not working on RHEL (Jiri Benc) [1866908] - [tools] Revert "selftests: bpf: disable test_lwt_seg6local" (Jiri Benc) [1866908] - [tools] Revert "bpf: selftests: remove test_bpftool_build.sh from TEST_PROGS" (Jiri Benc) [1866908] - [tools] selftests: add option to skip specific tests in RHEL (Jiri Benc) [1866908] - [tools] selftests: bpf: switch off timeout (Jiri Benc) [1866908] - [tools] selftest/firmware: Add selftest timeout in settings (Jiri Benc) [1866908] - [tools] selftests/harness: Limit step counter reporting (Jiri Benc) [1866908] - [tools] selftests/harness: Clean up kern-doc for fixtures (Jiri Benc) [1866908] - [tools] selftests: fix condition in run_tests (Jiri Benc) [1866908] - [tools] selftests: do not use .ONESHELL (Jiri Benc) [1866908] - [tools] selftests/harness: Report skip reason (Jiri Benc) [1866908] - [tools] selftests/harness: Display signed values correctly (Jiri Benc) [1866908] - [tools] selftests/harness: Refactor XFAIL into SKIP (Jiri Benc) [1866908] - [tools] selftests/harness: Switch to TAP output (Jiri Benc) [1866908] - [tools] selftests: Add header documentation and helpers (Jiri Benc) [1866908] - [tools] kselftest: fix TAP output for skipped tests (Jiri Benc) [1866908] - [tools] kselftest: ksft_test_num return type should be unsigned (Jiri Benc) [1866908] - [tools] selftests: introduce gen_tar Makefile target (Jiri Benc) [1866908] - [tools] kselftest: add fixture variants (Jiri Benc) [1866908] - [tools] kselftest: run tests by fixture (Jiri Benc) [1866908] - [tools] kselftest: create fixture objects (Jiri Benc) [1866908] - [tools] kselftest: factor out list manipulation to a helper (Jiri Benc) [1866908] - [tools] selftests: add build/cross-build dependency check script (Jiri Benc) [1866908] - [tools] kselftest/runner: allow to properly deliver signals to tests (Jiri Benc) [1866908] - [tools] selftests/harness: fix spelling mistake "SIGARLM" -> "SIGALRM" (Jiri Benc) [1866908] - [tools] selftests: enforce local header dependency in lib.mk (Jiri Benc) [1866908] - [tools] selftests/harness: Handle timeouts cleanly (Jiri Benc) [1866908] - [tools] selftests/harness: Move test child waiting logic (Jiri Benc) [1866908] - [tools] selftests: Fix kselftest O=objdir build from cluttering top level objdir (Jiri Benc) [1866908] - [tools] selftests: allow detection of build failures (Jiri Benc) [1866908] - [tools] selftests: fix build behaviour on targets' failures (Jiri Benc) [1866908] - [tools] kselftest: Support old perl versions (Jiri Benc) [1866908] - [tools] kselftest/runner: Print new line in print of timeout log (Jiri Benc) [1866908] - [tools] selftests: Fix dangling documentation references to kselftest_module.sh (Jiri Benc) [1866908] - [tools] kselftest: Fix NULL INSTALL_PATH for TARGETS runlist (Jiri Benc) [1866908] - [tools] selftests: Move kselftest_module.sh into kselftest/ (Jiri Benc) [1866908] - [tools] selftests: gen_kselftest_tar.sh: Do not clobber kselftest/ (Jiri Benc) [1866908] - [tools] selftests/kselftest/runner.sh: Add 45 second timeout per test (Jiri Benc) [1866908] - [tools] kselftest: exclude failed TARGETS from runlist (Jiri Benc) [1866908] - [tools] kselftest: add capability to skip chosen TARGETS (Jiri Benc) [1866908] - [tools] selftests: Add kselftest-all and kselftest-install targets (Jiri Benc) [1866908] - [tools] selftests: use "$(MAKE)" instead of "make" (Jiri Benc) [1866908] - [tools] kselftest: save-and-restore errno to allow for m formatting (Jiri Benc) [1866908] - [tools] treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 481 (Jiri Benc) [1866908] - [tools] selftests/harness: Allow test to configure timeout (Jiri Benc) [1866908] - [tools] selftests: avoid KBUILD_OUTPUT dir cluttering with selftest objects (Jiri Benc) [1866908] - [tools] selftests: fix bpf build/test workflow regression when KBUILD_OUTPUT is set (Jiri Benc) [1866908] - [tools] selftests: fix install target to use default install path (Jiri Benc) [1866908] - [tools] selftests: build and run gpio when output directory is the src dir (Jiri Benc) [1866908] - [documentation] doc: kselftest: Fix KBUILD_OUTPUT usage instructions (Jiri Benc) [1866908] - [tools] selftests: fix headers_install circular dependency (Jiri Benc) [1866908] - [tools] selftests/harness: Add 30 second timeout per test (Jiri Benc) [1866908] - [tools] kselftest: Add test module framework header (Jiri Benc) [1866908] - [tools] kselftest: Add test runner creation script (Jiri Benc) [1866908] - [tools] selftests/harness: Update named initializer syntax (Jiri Benc) [1866908] - [tools] selftest: include stdio.h in kselftest.h (Jiri Benc) [1866908] - [tools] selftests: do not macro-expand failed assertion expressions (Jiri Benc) [1866908] - [documentation] Documentation/dev-tools: clean up kselftest.rst (Jiri Benc) [1866908] - [documentation] doc: dev-tools: kselftest.rst: update config file location (Jiri Benc) [1866908] - [documentation] doc: dev-tools: kselftest.rst: update contributing new tests (Jiri Benc) [1866908]- [fs] nfs: ensure correct writeback errors are returned on close() (Scott Mayhew) [1849424] - [netdrv] net: thunderx: use spin_lock_bh in nicvf_set_rx_mode_task() (Dean Nelson) [1824858] - [crypto] crypto: ecc - SP800-56A rev 3 local public key validation (Herbert Xu) [1855817] - [crypto] crypto: dh - SP800-56A rev 3 local public key validation (Herbert Xu) [1855817] - [crypto] crypto: dh - check validity of Z before export (Herbert Xu) [1855817] - [lib] lib/mpi: Add mpi_sub_ui() (Herbert Xu) [1855817] - [crypto] crypto: ecdh - check validity of Z before export (Herbert Xu) [1855817] - [netdrv] net: thunderx: initialize VF's mailbox mutex before first usage (Dean Nelson) [1866827] - [kernel] timers: Lower base clock forwarding threshold (Phil Auld) [1833096] - [kernel] timers: Remove must_forward_clk (Phil Auld) [1833096] - [kernel] timers: Spare timer softirq until next expiry (Phil Auld) [1833096] - [kernel] timers: Expand clk forward logic beyond nohz (Phil Auld) [1833096] - [kernel] timers: Reuse next expiry cache after nohz exit (Phil Auld) [1833096] - [kernel] timers: Always keep track of next expiry (Phil Auld) [1833096] - [kernel] timers: Optimize _next_timer_interrupt() level iteration (Phil Auld) [1833096] - [kernel] timers: Add comments about calc_index() ceiling work (Phil Auld) [1833096] - [kernel] timers: Move trigger_dyntick_cpu() to enqueue_timer() (Phil Auld) [1833096] - [kernel] timers: Use only bucket expiry for base->next_expiry value (Phil Auld) [1833096] - [kernel] timers: Preserve higher bits of expiration on index calculation (Phil Auld) [1833096] - [kernel] timer: Fix wheel index calculation on last level (Phil Auld) [1833096] - [kernel] timer: Prevent base->clk from moving backward (Phil Auld) [1833096] - [kernel] timer: Read jiffies once when forwarding base clk (Phil Auld) [1833096] - [powerpc] powerpc/64: Update Speculation_Store_Bypass in /proc//status (Gustavo Duarte) [1773868] - [scsi] scsi: virtio-scsi: Correctly handle the case where all LUNs are unplugged (Maxim Levitsky) [1756093] - [kvm] kvm: x86: replace kvm_spec_ctrl_test_value with runtime test on the host (Maxim Levitsky) [1853447] - [kvm] x86/kvm: Move context tracking where it belongs (Nitesh Narayan Lal) [1854011] - [scsi] scsi: megaraid_sas: Clear affinity hint (Tomas Henzl) [1828351] - [netdrv] revert "vxlan: fix tos value before xmit" (Andrea Claudi) [1862166] - [net] udp: Copy has_conns in reuseport_grow(). (Marcelo Leitner) [1867160] - [net] dev: Defer free of skbs in flush_backlog (Marcelo Leitner) [1867160] - [include] net: core: reduce recursion limit value (Marcelo Leitner) [1867160] - [netdrv] pppoe: only process PADT targeted at local interfaces (Andrea Claudi) [1866850] - [net] espintcp: count packets dropped in espintcp_rcv (Sabrina Dubroca) [1866393] - [net] espintcp: handle short messages instead of breaking the encap socket (Sabrina Dubroca) [1866393] - [net] espintcp: recv() should return 0 when the peer socket is closed (Sabrina Dubroca) [1866393] - [net] espintcp: support non-blocking sends (Sabrina Dubroca) [1866393] - [net] mptcp: be careful on subflow creation (Davide Caratti) [1862200] - [net] mptcp: fix bogus sendmsg() return code under pressure (Davide Caratti) [1862200] - [net] mptcp: fix joined subflows with unblocking sk (Davide Caratti) [1862200] - [net] subflow: explicitly check for plain tcp rsk (Davide Caratti) [1862200] - [net] mptcp: silence warning in subflow_data_ready() (Davide Caratti) [1862200] - [net] mptcp: fix race in subflow_data_ready() (Davide Caratti) [1862200] - [net] mptcp: fix memory leak in mptcp_subflow_create_socket() (Davide Caratti) [1862200] - [net] mptcp: don't leak msk in token container (Davide Caratti) [1862200] - [net] ipv4: Silence suspicious RCU usage warning (Guillaume Nault) [1866430] - [net] devinet: fix memleak in inetdev_init() (Guillaume Nault) [1866430] - [net] ipip: fix wrong address family in init error path (Guillaume Nault) [1866430] - [net] inet_csk: Fix so_reuseport bind-address cache in tb->fast* (Guillaume Nault) [1866430] - [net] ipmr: Add lockdep expression to ipmr_for_each_table macro (Guillaume Nault) [1866430] - [net] ipmr: Fix RCU list debugging warning (Guillaume Nault) [1866430] - [net] tcp: make sure listeners don't initialize congestion-control state (Paolo Abeni) [1865904] - [net] sched: The error lable position is corrected in ct_init_module (Davide Caratti) [1865890] - [net] sched: cls_api: fix nooffloaddevcnt warning dmesg log (Davide Caratti) [1865890] - [net] tls: fix race condition causing kernel panic (Sabrina Dubroca) [1861756] - [net] tls: free record only on encryption error (Sabrina Dubroca) [1861756] - [net] tls: fix encryption error checking (Sabrina Dubroca) [1861756] - [net] l2tp: add sk_family checks to l2tp_validate_socket (Guillaume Nault) [1861453] - [net] l2tp: do not use inet_hash()/inet_unhash() (Guillaume Nault) [1861453] - [net] tipc: allow to build NACK message in link timeout function (Xin Long) [1860877] - [net] tipc: fix retransmission on unicast links (Xin Long) [1860877] - [net] tipc: fix NULL pointer dereference in tipc_disc_rcv() (Xin Long) [1860877] - [net] tipc: remove set but not used variable 'prev' (Xin Long) [1860877] - [net] tipc: call tsk_set_importance from tipc_topsrv_create_listener (Xin Long) [1860877] - [net] tipc: add support for broadcast rcv stats dumping (Xin Long) [1860877] - [net] tipc: enable broadcast retrans via unicast (Xin Long) [1860877] - [net] tipc: add back link trace events (Xin Long) [1860877] - [net] tipc: introduce Gap ACK blocks for broadcast link (Xin Long) [1860877] - [net] tipc: block BH before using dst_cache (Xin Long) [1860877] - [net] tipc: fix partial topology connection closure (Xin Long) [1860877] - [net] xfrm: policy: match with both mark and mask on user interfaces (Xin Long) [1854116] - [scsi] scsi: dh: Add Fujitsu device to devinfo and dh lists (Ewan Milne) [1861418] - [x86] kvm: Set KVM_SOFT_MAX_VCPUS to 1024 (Eduardo Habkost) [1856996] - [md] dm integrity: fix integrity recalculation that is improperly skipped (Mike Snitzer) [1860160] - [netdrv] ibmvnic: Fix IRQ mapping disposal in error path (Steve Best) [1867498] - [infiniband] IB/hfi1: Do not destroy link_wq when the device is shut down (Kamal Heib) [1858392] - [infiniband] IB/hfi1: Do not destroy hfi1_wq when the device is shut down (Kamal Heib) [1858392] - [netdrv] Revert "net/broadcom: Clean broadcom code from driver versions" (Jonathan Toppins) [1867146] - [net] devmap: Use bpf_map_area_alloc() for allocating hash buckets (Jiri Benc) [1842380] - [kernel] kexec_file: Correctly output debugging information for the PT_LOAD ELF header (Lianbo Jiang) [1861186] - [kernel] kexec: Improve & fix crash_exclude_mem_range() to handle overlapping ranges (Lianbo Jiang) [1861186] - [x86] x86/crash: Correct the address boundary of function parameters (Lianbo Jiang) [1861186] - [fs] ceph: handle zero-length feature mask in session messages (Jeff Layton) [1866018] - [s390] s390/bpf: Tolerate not converging code shrinking (Yauheni Kaliuta) [1857120] - [s390] s390/bpf: Use brcl for jumping to exit_ip if necessary (Yauheni Kaliuta) [1857120] - [s390] s390/bpf: Fix sign extension in branch_ku (Yauheni Kaliuta) [1857120] - [tools] selftests: bpf: test_kmod.sh: Fix running out of srctree (Yauheni Kaliuta) [1857120] - [lib] bpf: revert "test_bpf: Flag tests that cannot be jited on s390" (Yauheni Kaliuta) [1857120] - [kernel] uprobes: ensure that uprobe->offset and ->ref_ctr_offset are properly aligned (Oleg Nesterov) [1848596]- [fs] nfs: nfs_file_write() should check for writeback errors (Scott Mayhew) [1852788] - [s390] s390/cpum_cf, perf: change DFLT_CCERROR counter name (Philipp Rudo) [1865794] - [net] net/smc: unique reason code for exceeded max dmb count (Philipp Rudo) [1865792] - [s390] s390/ism: indicate correct error reason in ism_alloc_dmb() (Philipp Rudo) [1865792] - [net] net/smc: fix dmb buffer shortage (Philipp Rudo) [1865792] - [net] net/smc: put slot when connection is killed (Philipp Rudo) [1865792] - [net] net/smc: fix restoring of fallback changes (Philipp Rudo) [1865792] - [net] net/smc: remove freed buffer from list (Philipp Rudo) [1865792] - [net] net/smc: do not call dma sync for unmapped memory (Philipp Rudo) [1865792] - [net] net/smc: fix handling of delete link requests (Philipp Rudo) [1865792] - [net] net/smc: move add link processing for new device into llc layer (Philipp Rudo) [1865792] - [net] net/smc: drop out-of-flow llc response messages (Philipp Rudo) [1865792] - [net] net/smc: protect smc ib device initialization (Philipp Rudo) [1865792] - [net] net/smc: fix link lookup for new rdma connections (Philipp Rudo) [1865792] - [net] net/smc: clear link during SMC client link down processing (Philipp Rudo) [1865792] - [net] net/smc: handle unexpected response types for confirm link (Philipp Rudo) [1865792] - [net] net/smc: switch smcd_dev_list spinlock to mutex (Philipp Rudo) [1865792] - [net] net/smc: fix sleep bug in smc_pnet_find_roce_resource() (Philipp Rudo) [1865792] - [net] net/smc: fix work request handling (Philipp Rudo) [1865792] - [net] net/smc: separate LLC wait queues for flow and messages (Philipp Rudo) [1865792] - [net] net/smc: pre-fetch send buffer outside of send_lock (Philipp Rudo) [1865792] - [nvme] nvme-fc: set max_segments to lldd max value (Ewan Milne) [1853181] - [powerpc] ppc64/kexec_file: enable early kernel's OPAL calls (Diego Domingos) [1829715] - [powerpc] ppc64/kexec_file: fix kexec load failure with lack of memory hole (Diego Domingos) [1829715] - [powerpc] ppc64/kexec_file: add appropriate regions for memory reserve map (Diego Domingos) [1829715] - [powerpc] ppc64/kexec_file: prepare elfcore header for crashing kernel (Diego Domingos) [1829715] - [powerpc] ppc64/kexec_file: setup backup region for kdump kernel (Diego Domingos) [1829715] - [powerpc] ppc64/kexec_file: restrict memory usage of kdump kernel (Diego Domingos) [1829715] - [mm] powerpc/drmem: make lmb walk a bit more flexible (Diego Domingos) [1829715] - [powerpc] ppc64/kexec_file: avoid stomping memory used by special regions (Diego Domingos) [1829715] - [powerpc] powerpc/kexec_file: add helper functions for getting memory ranges (Diego Domingos) [1829715] - [powerpc] powerpc/kexec_file: mark PPC64 specific code (Diego Domingos) [1829715] - [kernel] kexec_file: allow archs to handle special regions while locating memory hole (Diego Domingos) [1829715] - [netdrv] net/mlx5e: CT: Support restore ipv6 tunnel (Alaa Hleihel) [1862975] - [netdrv] ionic: unlock queue mutex in error path (Jonathan Toppins) [1854270] - [netdrv] ionic: use mutex to protect queue operations (Jonathan Toppins) [1854270] - [net] xfrm: esp6: fix the location of the transport header with encapsulation (Sabrina Dubroca) [1857653] - [net] ipv4: fill fl4_icmp_{type, code} in ping_v4_sendmsg (Sabrina Dubroca) [1861324] - [netdrv] geneve: fix an uninitialized value in geneve_changelink() (Sabrina Dubroca) [1860945] - [net] ip_tunnel: fix use-after-free in ip_tunnel_lookup() (Sabrina Dubroca) [1860945] - [netdrv] vxlan: Avoid infinite loop when suppressing NS messages with invalid options (Sabrina Dubroca) [1860945] - [tools] selftests: mptcp: capture pcap on both sides (Hangbin Liu) [1859880] - [tools] selftests/net: report etf errors correctly (Hangbin Liu) [1859880] - [tools] selftests: net: ip_defrag: ignore EPERM (Hangbin Liu) [1859880] - [tools] selftests: forwarding: pedit_dsfield: Check counter value (Hangbin Liu) [1859880] - [tools] selftests: net: tcp_mmap: fix SO_RCVLOWAT setting (Hangbin Liu) [1859880] - [tools] selftests: net: tcp_mmap: clear whole tcp_zerocopy_receive struct (Hangbin Liu) [1859880] - [tools] selftests: A few improvements to fib_nexthops.sh (Hangbin Liu) [1859880] - [tools] selftests: Add tests for vrf and xfrms (Hangbin Liu) [1859880] - [tools] selftests: pmtu: implement IPIP, SIT and ip6tnl PMTU discovery tests (Hangbin Liu) [1859880] - [tools] selftests/net/forwarding: define libs as TEST_PROGS_EXTENDED (Hangbin Liu) [1859880] - [tools] selftests/net/forwarding: add Makefile to install tests (Hangbin Liu) [1859880] - [tools] selftests: nft_concat_range: Move option for 'list ruleset' before command (Hangbin Liu) [1859880] - [tools] selftests: netfilter: use randomized netns names (Hangbin Liu) [1859880] - [tools] kselftests: netfilter: fix leftover net/net-next merge conflict (Hangbin Liu) [1859880] - [tools] selftests: netfilter: missing error check when setting up veth interface (Hangbin Liu) [1859880] - [net] sctp: Don't advertise IPv4 addresses if ipv6only is set on the socket (Xin Long) [1860673] - [net] sctp: check assoc before SCTP_ADDR_{MADE_PRIM, ADDED} event (Xin Long) [1860673] - [net] sctp: fix typo sctp_ulpevent_nofity_peer_addr_change (Xin Long) [1860673] - [net] sctp: Fix spelling in Kconfig help (Xin Long) [1860673] - [net] sctp: Start shutdown on association restart if in SHUTDOWN-SENT state and socket is closed (Xin Long) [1860673] - [net] sctp: Don't add the shutdown timer if its already been added (Xin Long) [1860673] - [net] sctp: Fix SHUTDOWN CTSN Ack in the peer restart case (Xin Long) [1860673] - [net] sctp: Fix bundling of SHUTDOWN with COOKIE-ACK (Xin Long) [1860673] - [net] ip6_vti: use IS_REACHABLE to avoid some compile errors (Xin Long) [1840976 1835075] - [net] xfrm: interface: use IS_REACHABLE to avoid some compile errors (Xin Long) [1840976 1835075] - [net] xfrm: interface: not xfrmi_ipv6/ipip_handler twice (Xin Long) [1840976 1835075] - [net] ip6_vti: not register vti_ipv6_handler twice (Xin Long) [1840976 1835075] - [net] ip_vti: not register vti_ipip_handler twice (Xin Long) [1840976 1835075] - [net] xfrm: interface: support IPIP and IPIP6 tunnels processing with .cb_handler (Xin Long) [1840976 1835075] - [net] xfrm: interface: support IP6IP6 and IP6IP tunnels processing with .cb_handler (Xin Long) [1840976 1835075] - [net] ipcomp: assign if_id to child tunnel from parent tunnel (Xin Long) [1840976 1835075] - [net] ip6_vti: support IP6IP tunnel processing (Xin Long) [1840976 1835075] - [net] ip6_vti: support IP6IP6 tunnel processing with .cb_handler (Xin Long) [1840976 1835075] - [net] ip_vti: support IPIP6 tunnel processing (Xin Long) [1840976 1835075] - [net] ip_vti: support IPIP tunnel processing with .cb_handler (Xin Long) [1840976 1835075] - [net] tunnel6: add tunnel6_input_afinfo for ipip and ipv6 tunnels (Xin Long) [1840976 1835075] - [net] tunnel4: add cb_handler to struct xfrm_tunnel (Xin Long) [1840976 1835075] - [net] xfrm: add is_ipip to struct xfrm_input_afinfo (Xin Long) [1840976 1835075] - [net] tunnel6: support for IPPROTO_MPLS (Xin Long) [1840976 1835075] - [net] virtio_vsock: Enhance connection semantics (Stefano Garzarella) [1861735] - [net] virtio_vsock: Fix race condition in virtio_transport_recv_pkt (Stefano Garzarella) [1858135] - [net] vsock/virtio: annotate 'the_virtio_vsock' RCU pointer (Stefano Garzarella) [1861762] - [vhost] vsock/virtio: fix multiple packet delivery to monitoring devices (Stefano Garzarella) [1861762] - [vhost] vsock: fix packet delivery order to monitoring devices (Stefano Garzarella) [1861762] - [vhost] vsock: accept only packets with the right dst_cid (Stefano Garzarella) [1861762] - [vhost] vsock: refuse CID assigned to the guest->host transport (Stefano Garzarella) [1861762] - [vhost] vsock: switch to a mutex for vhost_vsock_hash (Stefano Garzarella) [1861762] - [net] vsock: fix timeout in vsock_accept() (Stefano Garzarella) [1861762] - [net] vsock: Simplify '__vsock_release()' (Stefano Garzarella) [1861762] - [netdrv] net/mlx5e: Fix kernel crash when setting vf VLANID on a VF dev (Alaa Hleihel) [1859477] - [netdrv] net/mlx5e: Modify uplink state on interface up/down (Alaa Hleihel) [1861720 1859477] - [netdrv] net/mlx5e: Fix missing cleanup of ethtool steering during rep rx cleanup (Alaa Hleihel) [1859477 1856660] - [netdrv] ixgbe: Add ethtool support to enable 2.5 and 5.0 Gbps support (Ken Cox) [1835962] - [x86] x86/purgatory: Add -fno-stack-protector (Lianbo Jiang) [1857528] - [x86] x86/purgatory: Fail the build if purgatory.ro has missing symbols (Lianbo Jiang) [1857528] - [x86] x86/purgatory: Do not use __builtin_memcpy and __builtin_memset (Lianbo Jiang) [1857528] - [x86] x86/boot: Provide KASAN compatible aliases for string routines (Lianbo Jiang) [1857528] - [x86] x86/purgatory: Disable various profiling and sanitizing options (Lianbo Jiang) [1857528] - [x86] x86/boot: Restrict header scope to make Clang happy (Lianbo Jiang) [1857528]- [x86] x86/entry/64: Update comments and sanity tests for create_gap (Jiri Olsa) [1850831] - [x86] x86/alternatives: add missing insn.h include (Jiri Olsa) [1850831] - [x86] x86/alternatives: Teach text_poke_bp() to emulate instructions (Jiri Olsa) [1850831] - [x86] x86/paravirt: Standardize 'insn_buff' variable names (Jiri Olsa) [1850831] - [x86] x86_64: Allow breakpoints to emulate call instructions (Jiri Olsa) [1850831] - [x86] x86_64: Add gap to int3 to allow for call emulation (Jiri Olsa) [1850831] - [x86] x86/alternatives: Sync bp_patching update for avoiding NULL pointer exception (Jiri Olsa) [1850831] - [nvme] nvme: add a Identify Namespace Identification Descriptor list quirk (Gopal Tiwari) [1862136] - [nvme] nvme: fix identify error status silent ignore (Gopal Tiwari) [1862136] - [nvme] nvme: fix possible hang when ns scanning fails during error recovery (Gopal Tiwari) [1862136] - [nvme] nvme: refactor nvme_identify_ns_descs error handling (Gopal Tiwari) [1862136] - [infiniband] IB/rdmavt: Fix RQ counting issues causing use of an invalid RWQE (Kamal Heib) [1850314] - [powerpc] powerpc/pseries: PCIE PHB reset (Steve Best) [1747345] - [drm] drm/nouveau/kms: Handle -EINPROGRESS in nouveau_display_acpi_ntfy() (Lyude Paul) [1827812] - [drm] drm/nouveau/kms: Fix runtime PM leak in nouveau_display_acpi_ntfy() (Lyude Paul) [1827812] - [drm] drm/nouveau/kms: Invert conditionals in nouveau_display_acpi_ntfy() (Lyude Paul) [1827812] - [drm] drm/nouveau/kms: Use pm_runtime_put_autosuspend() in hpd_work (Lyude Paul) [1827812] - [drm] drm/nouveau/kms/fbcon: Use pm_runtime_put_autosuspend() in suspend work (Lyude Paul) [1827812] - [drm] drm/nouveau/kms/fbcon: Fix pm_runtime calls in nouveau_fbcon_output_poll_changed() (Lyude Paul) [1827812] - [drm] drm/nouveau/kms/fbcon: Correct pm_runtime calls in nouveau_fbcon_release() (Lyude Paul) [1827812] - [drm] drm/nouveau/kms: Fix rpm leak in nouveau_connector_hotplug() (Lyude Paul) [1827812] - [drm] drm/nouveau/kms: Handle -EINPROGRESS in nouveau_connector_hotplug() (Lyude Paul) [1827812] - [drm] drm/nouveau/fbcon: fix module unload when fbcon init has failed for some reason (Lyude Paul) [1827812] - [drm] drm/nouveau/kms/tu102: wait for core update to complete when assigning windows (Lyude Paul) [1827812] - [drm] drm/nouveau/disp/gm200-: fix regression from HDA SOR selection changes (Lyude Paul) [1827812] - [drm] drm/amd/powerplay: fix a crash when overclocking Vega M (Lyude Paul) [1827812] - [drm] drm/amdgpu: Fix NULL dereference in dpm sysfs handlers (Lyude Paul) [1827812] - [drm] drm/amdgpu: fix preemption unit test (Lyude Paul) [1827812] - [drm] drm/amdgpu/gfx10: fix race condition for kiq (Lyude Paul) [1827812] - [drm] drm/amd/display: add dmcub check on RENOIR (Lyude Paul) [1827812] - [drm] drm/amd/display: Check DMCU Exists Before Loading (Lyude Paul) [1827812] - [drm] drm/nouveau/nouveau: fix page fault on device private memory (Lyude Paul) [1827812] - [drm] drm/nouveau/i2c/g94-: increase NV_PMGR_DP_AUXCTL_TRANSACTREQ timeout (Lyude Paul) [1827812] - [drm] drm/i915/perf: Use GTT when saving/restoring engine GPR (Lyude Paul) [1827812] - [drm] drm/i915/gvt: Fix two CFL MMIO handling caused by regression (Lyude Paul) [1827812] - [drm] drm/i915/gt: Only swap to a random sibling once upon creation (Lyude Paul) [1827812] - [drm] drm/i915/gt: Ignore irq enabling on the virtual engines (Lyude Paul) [1827812] - [drm] drm/i915: Move cec_notifier to intel_hdmi_connector_unregister, v2 (Lyude Paul) [1827812] - [drm] drm/amdgpu/display: create fake mst encoders ahead of time (v4) (Lyude Paul) [1827812] - [drm] drm/amd/display: handle failed allocation during stream construction (Lyude Paul) [1827812] - [drm] drm/amdgpu/sdma5: fix wptr overwritten in ->get_wptr() (Lyude Paul) [1827812] - [drm] drm/amdgpu/powerplay: Modify SMC message name for setting power profile mode (Lyude Paul) [1827812] - [drm] drm/i915: Also drop vm.ref along error paths for vma construction (Lyude Paul) [1827812] - [drm] drm/i915: Drop vm.ref for duplicate vma on construction (Lyude Paul) [1827812] - [drm] drm/amdgpu: asd function needs to be unloaded in suspend phase (Lyude Paul) [1827812] - [drm] drm/amdgpu: add TMR destory function for psp (Lyude Paul) [1827812] - [drm] drm/amdgpu: don't do soft recovery if gpu_recovery=0 (Lyude Paul) [1827812] - [drm] drm/i915: Skip stale object handle for debugfs per-file-stats (Lyude Paul) [1827812] - [drm] drm/i915/gt: Pin the rings before marking active (Lyude Paul) [1827812] - [drm] drm/radeon: fix double free (Lyude Paul) [1827812] - [drm] drm: panel-orientation-quirks: Use generic orientation-data for Acer S1003 (Lyude Paul) [1827812] - [drm] drm: panel-orientation-quirks: Add quirk for Asus T101HA panel (Lyude Paul) [1827812] - [iommu] iommu/vt-d: Don't apply gfx quirks to untrusted devices (Lyude Paul) [1827812] - [drm] drm/tegra: hub: Do not enable orphaned window group (Lyude Paul) [1827812] - [drm] drm/ttm: Fix dma_fence refcnt leak when adding move fence (Lyude Paul) [1827812] - [drm] drm/ttm: Fix dma_fence refcnt leak in ttm_bo_vm_fault_reserved (Lyude Paul) [1827812] - [drm] drm/amdgpu/atomfirmware: fix vram_info fetching for renoir (Lyude Paul) [1827812] - [drm] drm/amdgpu: use u rather than d for sclk/mclk (Lyude Paul) [1827812] - [drm] drm/amd/display: Only revalidate bandwidth on medium and fast updates (Lyude Paul) [1827812] - [drm] drm/i915/gt: Mark timeline->cacheline as destroyed after rcu grace period (Lyude Paul) [1827812] - [drm] drm/amd/display: Fix ineffective setting of max bpc property (Lyude Paul) [1827812] - [drm] drm/amd/display: Fix incorrectly pruned modes with deep color (Lyude Paul) [1827812] - [drm] drm/amdgpu: add fw release for sdma v5_0 (Lyude Paul) [1827812] - [drm] drm/radeon: fix fb_div check in ni_init_smc_spll_table() (Lyude Paul) [1827812] - [drm] drm/amd: fix potential memleak in err branch (Lyude Paul) [1827812] - [drm] drm/amd/display: Enable output_bpc property on all outputs (Lyude Paul) [1827812] - [drm] drm/amd/display: Use kfree() to free rgb_user in calculate_user_regamma_ramp() (Lyude Paul) [1827812] - [drm] Revert "drm/amd/display: disable dcn20 abm feature for bring up" (Lyude Paul) [1827812] - [drm] drm/i915/gt: Move gen4 GT workarounds from init_clock_gating to workarounds (Lyude Paul) [1827812] - [drm] drm/i915/gt: Move vlv GT workarounds from init_clock_gating to workarounds (Lyude Paul) [1827812] - [drm] drm/i915/gt: Move ilk GT workarounds from init_clock_gating to workarounds (Lyude Paul) [1827812] - [drm] drm/i915/gt: Move snb GT workarounds from init_clock_gating to workarounds (Lyude Paul) [1827812] - [drm] drm/i915/gt: Move ivb GT workarounds from init_clock_gating to workarounds (Lyude Paul) [1827812] - [drm] drm/i915/gt: Move hsw GT workarounds from init_clock_gating to workarounds (Lyude Paul) [1827812] - [drm] drm/i915/gt: Incrementally check for rewinding (Lyude Paul) [1827812] - [drm] drm/i915/tc: fix the reset of ln0 (Lyude Paul) [1827812] - [drm] drm/i915/icl+: Fix hotplug interrupt disabling after storm detection (Lyude Paul) [1827812] - [drm] drm/amd/display: Use kvfree() to free coeff in build_regamma() (Lyude Paul) [1827812] - [drm] drm/amdkfd: Use correct major in devcgroup check (Lyude Paul) [1827812] - [drm] drm/connector: notify userspace on hotplug after register complete (Lyude Paul) [1827812] - [drm] drm/i915: Whitelist context-local timestamp in the gen9 cmdparser (Lyude Paul) [1827812] - [drm] drm/i915/gem: Avoid iterating an empty list (Lyude Paul) [1827812] - [drm] drm/i915: Fix AUX power domain toggling across TypeC mode resets (Lyude Paul) [1827812] - [drm] drm/dp_mst: Increase ACT retry timeout to 3s (Lyude Paul) [1827812] - [drm] drm/ast: Don't check new mode if CRTC is being disabled (Lyude Paul) [1827812] - [drm] drm/amdgpu: Replace invalid device ID with a valid device ID (Lyude Paul) [1827812] - [drm] drm/amdgpu/display: use blanked rather than plane state for sync groups (Lyude Paul) [1827812] - [drm] drm/qxl: Use correct notify port address when creating cursor ring (Lyude Paul) [1827812] - [drm] drm/dp_mst: Reformat drm_dp_check_act_status() a bit (Lyude Paul) [1827812] - [drm] drm/ast: fix missing break in switch statement for format->cppcase 4 (Lyude Paul) [1827812] - [drm] drm/amd/display: Revalidate bandwidth before commiting DC updates (Lyude Paul) [1827812] - [drm] drm/nouveau: gr/gk20a: Use firmware version 0 (Lyude Paul) [1827812] - [drm] drm/amdgpu: Sync with VM root BO when switching VM to CPU update mode (Lyude Paul) [1827812] - [drm] drm/amd/powerpay: Disable gfxoff when setting manual mode on picasso and raven (Lyude Paul) [1827812] - [drm] drm/amd/display: Do not disable pipe split if mode is not supported (Lyude Paul) [1827812] - [drm] drm/amd/display: dmcu wait loop calculation is incorrect in RV (Lyude Paul) [1827812] - [drm] drm/amd/display: Correct updating logic of dcn21's pipe VM flags (Lyude Paul) [1827812] - [drm] drm/ast: Allocate initial CRTC state of the correct size (Lyude Paul) [1827812] - [drm] drm/hisilicon: Enforce 128-byte stride alignment to fix the hardware limitation (Lyude Paul) [1827812] - [drm] drm/dp: Lenovo X13 Yoga OLED panel brightness fix (Lyude Paul) [1827812] - [drm] drm/i915/dpcd_bl: Unbreak enable_dpcd_backlight modparam (Lyude Paul) [1827812] - [drm] drm/i915: Force DPCD backlight mode for some Dell CML 2020 panels (Lyude Paul) [1827812] - [drm] drm/i915: Force DPCD backlight mode on X1 Extreme 2nd Gen 4K AMOLED panel (Lyude Paul) [1827812] - [drm] drm/dp: Introduce EDID-based quirks (Lyude Paul) [1827812] - [drm] drm/amdgpu: Init data to avoid oops while reading pp_num_states (Lyude Paul) [1827812] - [drm] drm/amd/display: fix virtual signal dsc setup (Lyude Paul) [1827812] - [drm] drm/amd/display: Force watermark value propagation (Lyude Paul) [1827812] - [drm] drm: bridge: adv7511: Extend list of audio sample rates (Lyude Paul) [1827812] - [drm] drm/amdgpu: fix and cleanup amdgpu_gem_object_close v4 (Lyude Paul) [1827812] - [drm] drm/vkms: Hold gem object while still in-use (Lyude Paul) [1827812] - [drm] drm/amd/display: Not doing optimize bandwidth if flip pending (Lyude Paul) [1827812] - [drm] drm/amd/display: remove invalid dc_is_hw_initialized function (Lyude Paul) [1827812] - [drm] drm/amd/display: DP training to set properly SCRAMBLING_DISABLE (Lyude Paul) [1827812] - [drm] drm/edid: Add Oculus Rift S to non-desktop list (Lyude Paul) [1827812] - [drm] drm/amd/display: Fix potential integer wraparound resulting in a hang (Lyude Paul) [1827812] - [drm] drm/amd/display: Added locking for atomic update stream and update planes (Lyude Paul) [1827812] - [drm] drm/amd/display: Indicate dsc updates explicitly (Lyude Paul) [1827812] - [drm] drm/amd/display: Split program front end part that occur outside lock (Lyude Paul) [1827812] - [drm] drm/amd/display: drop cursor position check in atomic test (Lyude Paul) [1827812] - [drm] drm/amd/amdgpu: Update update_config() logic (Lyude Paul) [1827812] - [drm] drm/amdgpu: Use GEM obj reference for KFD BOs (Lyude Paul) [1827812] - [drm] drm/amd/powerplay: perform PG ungate prior to CG ungate (Lyude Paul) [1827812] - [drm] drm/amdgpu: drop unnecessary cancel_delayed_work_sync on PG ungate (Lyude Paul) [1827812] - [drm] drm/i915: Propagate error from completed fences (Lyude Paul) [1827812] - [drm] drm/i915/gvt: Init DPLL/DDI vreg for virtual display instead of inheritance (Lyude Paul) [1827812] - [drm] drm/amd/display: Prevent dpcd reads with passive dongles (Lyude Paul) [1827812] - [drm] drm/amd/display: fix counter in wait_for_no_pipes_pending (Lyude Paul) [1827812] - [gpu] vgaarb: Keep adding VGA device in queue (Lyude Paul) [1827812]- [net] openvswitch: fixes potential deadlock in dp cleanup code (Eelco Chaudron) [1845662] - [net] openvswitch: reorder masks array based on usage (Eelco Chaudron) [1845662] - [net] openvswitch: ovs_ct_exit to be done under ovs_lock (Eelco Chaudron) [1860853] - [net] ip6_gre: fix null-ptr-deref in ip6gre_init_net() (Hangbin Liu) [1860221] - [net] ip6_gre: fix use-after-free in ip6gre_tunnel_lookup() (Hangbin Liu) [1860221] - [net] mld: fix memory leak in ipv6_mc_destroy_dev() (Hangbin Liu) [1860221] - [net] ipv6: Fix suspicious RCU usage warning in ip6mr (Hangbin Liu) [1860221] - [net] ip6mr: Fix RCU list debugging warning (Hangbin Liu) [1860221] - [net] revert "ipv6: add mtu lock check in __ip6_rt_update_pmtu" (Hangbin Liu) [1860221] - [netdrv] macsec: avoid to set wrong mtu (Sabrina Dubroca) [1860944] - [netdrv] team: fix hang in team_mode_get() (Hangbin Liu) [1860219] - [include] xfrm: Fix crash when the hold queue is used. (Xin Long) [1860672] - [net] xfrm: policy: fix IPv6-only espintcp compilation (Xin Long) [1860672] - [net] xfrm: esp6: fix encapsulation header offset computation (Xin Long) [1860672] - [net] xfrm: Fix double ESP trailer insertion in IPsec crypto offload. (Xin Long) [1860672] - [net] esp4: improve xfrm4_beet_gso_segment() to be more readable (Xin Long) [1860672] - [net] xfrm interface: don't take extra reference to netdev (Xin Long) [1860672] - [net] xfrm interface: fix oops when deleting a x-netns interface (Xin Long) [1860672] - [net] xfrm: remove the unnecessary .net_exit for xfrmi (Xin Long) [1860672] - [net] xfrm: Always set XFRM_TRANSFORMED in xfrm{4, 6}_output_finish (Xin Long) [1860672] - [include] xfrm: fix error in comment (Xin Long) [1860672] - [net] sctp: shrink stream outq when fails to do addstream reconf (Xin Long) [1853535] - [net] sctp: shrink stream outq only when new outcnt < old outcnt (Xin Long) [1853535] - [net] tipc: fix kernel WARNING in tipc_msg_append() (Xin Long) [1844377] - [net] tipc: fix NULL pointer dereference in streaming (Xin Long) [1844377] - [net] tipc: add test for Nagle algorithm effectiveness (Xin Long) [1844377] - [net] tipc: fix failed service subscription deletion (Xin Long) [1844377] - [net] tipc: fix memory leak in service subscripting (Xin Long) [1844377] - [net] tipc: fix large latency in smart Nagle streaming (Xin Long) [1844377] - [net] mptcp: add receive buffer auto-tuning (Florian Westphal) [1858276] - [tools] selftests: mptcp: add option to specify size of file to transfer (Florian Westphal) [1858276] - [net] mptcp: fallback in case of simultaneous connect (Florian Westphal) [1858276] - [net] mptcp: improve fallback to TCP (Florian Westphal) [1858276] - [net] mptcp: fix unblocking connect() (Florian Westphal) [1858276] - [net] mptcp: cache msk on MP_JOIN init_req (Florian Westphal) [1858276] - [net] mptcp: remove msk from the token container at destruction time. (Florian Westphal) [1858276] - [net] mptcp: fix races between shutdown and recvmsg (Florian Westphal) [1858276] - [net] mptcp: fix race between MP_JOIN and close (Florian Westphal) [1858276] - [net] mptcp: drop MPTCP_PM_MAX_ADDR (Florian Westphal) [1858276] - [net] mptcp: bugfix for RM_ADDR option parsing (Florian Westphal) [1858276] - [net] mptcp: drop MP_JOIN request sock on syn cookies (Florian Westphal) [1858276] - [net] mptcp: avoid NULL-ptr derefence on fallback (Florian Westphal) [1858276] - [net] mptcp: drop sndr_key in mptcp_syn_options (Florian Westphal) [1858276] - [net] mptcp: MPTCP_HMAC_TEST should depend on MPTCP (Florian Westphal) [1858276] - [net] mptcp: fix DSS map generation on fin retransmission (Florian Westphal) [1858276] - [net] inet_connection_sock: clear inet_num out of destroy helper (Florian Westphal) [1858276] - [net] mptcp: fix NULL ptr dereference in MP_JOIN error path (Florian Westphal) [1858276] - [net] mptcp: avoid blocking in tcp_sendpages (Florian Westphal) [1858276] - [net] mptcp: break and restart in case mptcp sndbuf is full (Florian Westphal) [1858276] - [net] l2tp: remove skb_dst_set() from l2tp_xmit_skb() (Xin Long) [1832799] - [net] rtnetlink: prevent underflows in do_setvfinfo() (Davide Caratti) [1854740] - [net] netfilter: nf_tables: reintroduce the NFT_SET_CONCAT flag (Phil Sutter) [1847553] - [net] netfilter: nf_tables: report EOPNOTSUPP on unsupported flags/object type (Phil Sutter) [1847553] - [net] openvswitch: take into account de-fragmentation/gso_size in execute_check_pkt_len (Lorenzo Bianconi) [1851888] - [tools] selftests: forwarding: mirror_lib: Use mausezahn (Davide Caratti) [1816443] - [x86] perf/x86/rapl: Add Ice Lake RAPL support (Michael Petlan) [1841266] - [arm64] arm64/mm: enable HugeTLB migration (Donghai Qiao) [1758717] - [scsi] scsi: core: Run queue in case of I/O resource contention failure (Ewan Milne) [1854958] - [message] scsi: mptscsih: Fix read sense data size (Tomas Henzl) [1850563] - [netdrv] net: qed: fix buffer overflow on ethtool -d (Manish Chopra) [1858915] - [x86] sched/cputime: Improve cputime_adjust() (Oleg Nesterov) [1859977] - [kernel] uprobes: Change handle_swbp() to send SIGTRAP with si_code=SI_KERNEL, to fix GDB regression (Oleg Nesterov) [1855390] - [x86] x86/asm: Fix MWAITX C-state hint value (Vladis Dronov) [1767064] - [x86] x86/kexec: Fill in acpi_rsdp_addr from the first kernel (Kairui Song) [1684462] - [x86] x86/kexec: Don't setup EFI info if EFI runtime is not enabled (Kairui Song) [1684462] - [vfio] vfio/pci: fix racy on error and request eventfd ctx (Alex Williamson) [1858346] - [platform] platform/x86: ISST: Increase timeout (Prarit Bhargava) [1854682] - [mm] x86/mm: split vmalloc_sync_all() (Al Stone) [1851547] - [acpi] ACPI: watchdog: Fix gas->access_width usage (Al Stone) [1851547] - [acpi] ACPICA: Introduce ACPI_ACCESS_BYTE_WIDTH() macro (Al Stone) [1851547]- [virt] kvm: x86: take as_id into account when checking PGD (Vitaly Kuznetsov) [1615704] - [arm64] kvm: arm64: Stop clobbering x0 for HVC_SOFT_RESTART (Andrew Jones) [1855788] - [arm64] kvm: arm64: pmu: Fix per-CPU access in preemptible context (Andrew Jones) [1855788] - [arm64] kvm: arm64: Fix kvm_reset_vcpu() return code being incorrect with SVE (Andrew Jones) [1855788] - [arm64] kvm: arm64: Annotate hyp NMI-related functions as __always_inline (Andrew Jones) [1855788] - [arm64] kvm: arm64: Remove host_cpu_context member from vcpu structure (Andrew Jones) [1855788] - [arm64] kvm: arm64: Move hyp_symbol_addr() to kvm_asm.h (Andrew Jones) [1855788] - [arm64] kvm: arm64: Handle PtrAuth traps early (Andrew Jones) [1855788] - [arm64] kvm: arm64: Save the host's PtrAuth keys in non-preemptible context (Andrew Jones) [1855788] - [arm64] kvm: arm64: Stop save/restoring ACTLR_EL1 (Andrew Jones) [1855788] - [kernel] firmware: smccc: Update link to latest SMCCC specification (Andrew Jones) [1855788] - [kernel] arm/arm64: smccc-1.1: Handle function result as parameters (Andrew Jones) [1855788] - [kernel] arm/arm64: smccc-1.1: Make return values unsigned long (Andrew Jones) [1855788] - [video] Revert "hyperv_fb: Fix hibernation for the deferred IO feature" (Mohammed Gamal) [1858755] - [netdrv] net/mlx5e: CT: Map 128 bits labels to 32 bit map ID (Alaa Hleihel) [1859540] - [security] ima: move APPRAISE_BOOTPARAM dependency on ARCH_POLICY to runtime (Bruno Meneguele) [1847219] - [scsi] scsi: lpfc: NVMe remote port devloss_tmo from lldd (Dick Kennedy) [1859344] - [netdrv] net/mlx5e: Disable devlink port support for non-switchdev mode (Alaa Hleihel) [1858501 1852904 1849623] - [tools] perf powerpc: Don't ignore sym-handling.c file (Michael Petlan) [1858133] - [fs] ext4: reserve revoke credits in __ext4_new_inode (Lukas Czerner) [1856760] - [include] jbd2: make jbd2_handle_buffer_credits() handle reserved handles (Lukas Czerner) [1856760] - [fs] jbd2: avoid leaking transaction credits when unreserving handle (Lukas Czerner) [1856760] - [fs] jbd2: Fine tune estimate of necessary descriptor blocks (Lukas Czerner) [1856760] - [fs] jbd2: Provide trace event for handle restarts (Lukas Czerner) [1856760] - [fs] ext4: Reserve revoke credits for freed blocks (Lukas Czerner) [1856760] - [fs] jbd2: Make credit checking more strict (Lukas Czerner) [1856760] - [fs] jbd2: Rename h_buffer_credits to h_total_credits (Lukas Czerner) [1856760] - [fs] jbd2: add missing tracepoint for reserved handle (Lukas Czerner) [1856760] - [fs] jbd2: Reserve space for revoke descriptor blocks (Lukas Czerner) [1856760] - [fs] jbd2: Drop jbd2_space_needed() (Lukas Czerner) [1856760] - [fs] jbd2: remove repeated assignments in __jbd2_log_wait_for_space() (Lukas Czerner) [1856760] - [fs] jbd2: Account descriptor blocks into t_outstanding_credits (Lukas Czerner) [1856760] - [include] jbd2: update locking documentation for transaction_t (Lukas Czerner) [1856760] - [fs] jbd2: Factor out common parts of stopping and restarting a handle (Lukas Czerner) [1856760] - [fs] jbd2: Drop pointless wakeup from jbd2_journal_stop() (Lukas Czerner) [1856760] - [fs] jbd2: Drop pointless check from jbd2_journal_stop() (Lukas Czerner) [1856760] - [fs] jbd2: Reorganize jbd2_journal_stop() (Lukas Czerner) [1856760] - [fs] ext4, jbd2: Provide accessor function for handle credits (Lukas Czerner) [1856760] - [fs] ext4: Provide function to handle transaction restarts (Lukas Czerner) [1856760] - [fs] ext4: Avoid unnecessary revokes in ext4_alloc_branch() (Lukas Czerner) [1856760] - [fs] ext4: Use ext4_journal_extend() instead of jbd2_journal_extend() (Lukas Czerner) [1856760] - [fs] jbd2: Completely fill journal descriptor blocks (Lukas Czerner) [1856760] - [fs] jbd2: Fixup stale comment in commit code (Lukas Czerner) [1856760] - [include] jbd2: Fix possible overflow in jbd2_log_space_left() (Lukas Czerner) [1856760] - [fs] ext4, jbd2: ensure panic by fix a race between jbd2 abort and ext4 error handlers (Lukas Czerner) [1856760] - [fs] ext4: remove set but not used variable 'es' in ext4_jbd2.c (Lukas Czerner) [1856760] - [fs] ext4: remove set but not used variable 'es' (Lukas Czerner) [1856760] - [fs] ext4: save all error info in save_error_info() and drop ext4_set_errno() (Lukas Czerner) [1856760] - [fs] ext4: save the error code which triggered an ext4_error() in the superblock (Lukas Czerner) [1856760] - [fs] jbd2: clean __jbd2_journal_abort_hard() and __journal_abort_soft() (Lukas Czerner) [1856760] - [fs] ext4: stop overwrite the errcode in ext4_setup_super (Lukas Czerner) [1856760] - [fs] ext4: fix partial cluster initialization when splitting extent (Lukas Czerner) [1856760] - [fs] ext4: avoid ext4_error()'s caused by ENOMEM in the truncate path (Lukas Czerner) [1856760] - [fs] ext4: fix race between ext4_sync_parent() and rename() (Lukas Czerner) [1856760] - [fs] ext4: clean up ext4_ext_convert_to_initialized() error handling (Lukas Czerner) [1856760] - [fs] ext4: clean up GET_BLOCKS_PRE_IO error handling (Lukas Czerner) [1856760] - [fs] ext4: fix error pointer dereference (Lukas Czerner) [1856760] - [fs] ext4: Avoid freeing inodes on dirty list (Lukas Czerner) [1856760] - [fs] writeback: Export inode_io_list_del() (Lukas Czerner) [1856760] - [fs] ext4: fix buffer_head refcnt leak when ext4_iget() fails (Lukas Czerner) [1856760] - [fs] ext4: fix EXT_MAX_EXTENT/INDEX to check for zeroed eh_max (Lukas Czerner) [1856760] - [fs] ext4: fix a style issue in fs/ext4/acl.c (Lukas Czerner) [1856760] - [fs] ext4: fix return-value types in several function comments (Lukas Czerner) [1856760] - [fs] ext4: use non-movable memory for superblock readahead (Lukas Czerner) [1856760] - [fs] ext4: fix incorrect group count in ext4_fill_super error message (Lukas Czerner) [1856760] - [fs] ext4: fix incorrect inodes per group in error message (Lukas Czerner) [1856760] - [fs] ext4: avoid ENOSPC when avoiding to reuse recently deleted inodes (Lukas Czerner) [1856760] - [fs] ext4: fix a data race at inode->i_disksize (Lukas Czerner) [1856760] - [fs] ext4: fix a data race at inode->i_blocks (Lukas Czerner) [1856760] - [fs] ext4: clean up error return for convert_initialized_extent() (Lukas Czerner) [1856760] - [fs] ext4: force buffer up-to-date while marking it dirty (Lukas Czerner) [1856760] - [fs] ext4: fix race between writepages and enabling EXT4_EXTENTS_FL (Lukas Czerner) [1856760] - [fs] ext4: rename s_journal_flag_rwsem to s_writepages_rwsem (Lukas Czerner) [1856760] - [fs] ext4: potential crash on allocation error in ext4_alloc_flex_bg_array() (Lukas Czerner) [1856760] - [fs] ext4: fix potential race between s_flex_groups online resizing and access (Lukas Czerner) [1856760] - [fs] ext4: fix potential race between s_group_info online resizing and access (Lukas Czerner) [1856760] - [fs] ext4: fix potential race between online resizing and write operations (Lukas Czerner) [1856760] - [fs] ext4: add cond_resched() to __ext4_find_entry() (Lukas Czerner) [1856760] - [fs] ext4: fix a data race in EXT4_I(inode)->i_disksize (Lukas Czerner) [1856760] - [fs] ext4: fix checksum errors with indexed dirs (Lukas Czerner) [1856760] - [fs] ext4: simplify checking quota limits in ext4_statfs() (Lukas Czerner) [1856760] - [fs] ext4: choose hardlimit when softlimit is larger than hardlimit in ext4_statfs_project() (Lukas Czerner) [1856760] - [fs] ext4: don't assume that mmp_nodename/bdevname have NUL (Lukas Czerner) [1856760] - [fs] jbd2: make sure ESHUTDOWN to be recorded in the journal superblock (Lukas Czerner) [1856760] - [fs] ext4, jbd2: ensure panic when aborting with zero errno (Lukas Czerner) [1856760] - [fs] jbd2: switch to use jbd2_journal_abort() when failed to submit the commit record (Lukas Czerner) [1856760] - [fs] jbd2_seq_info_next should increase position index (Lukas Czerner) [1856760] - [fs] ext4,jbd2: fix comment and code style (Lukas Czerner) [1856760] - [fs] ext4: fix extent_status trace points (Lukas Czerner) [1856760] - [fs] ext4: fix extent_status fragmentation for plain files (Lukas Czerner) [1856760] - [fs] jbd2: clear JBD2_ABORT flag before journal_reset to update log tail info when load journal (Lukas Czerner) [1856760] - [fs] ext4: fix some nonstandard indentation in extents.c (Lukas Czerner) [1856760] - [fs] ext4: fix documentation for ext4_ext_try_to_merge() (Lukas Czerner) [1856760] - [fs] ext4: avoid fetching btime in ext4_getattr() unless requested (Lukas Czerner) [1856760] - [fs] ext4: fix ext4_dax_read/write inode locking sequence for IOCB_NOWAIT (Lukas Czerner) [1856760] - [fs] ext4: optimize __ext4_check_dir_entry() (Lukas Czerner) [1856760] - [fs] ext4: check for directory entries too close to block end (Lukas Czerner) [1856760] - [fs] ext4: fix a bug in ext4_wait_for_tail_page_commit (Lukas Czerner) [1856760] - [fs] jbd2: Fix statistics for the number of logged blocks (Lukas Czerner) [1856760] - [fs] ext4: Fix ext4_should_journal_data() for EA inodes (Lukas Czerner) [1856760] - [fs] ext4: Fix credit estimate for final inode freeing (Lukas Czerner) [1856760] - [fs] ext4: Do not iput inode under running transaction (Lukas Czerner) [1856760] - [fs] ext4: Move marking of handle as sync to ext4_add_nondir() (Lukas Czerner) [1856760] - [fs] ext4: update direct I/O read lock pattern for IOCB_NOWAIT (Lukas Czerner) [1856760] - [fs] jbd2: flush_descriptor(): Do not decrease buffer head's ref count (Lukas Czerner) [1856760] - [fs] ext4: fix prefetchw of NULL page (Lukas Czerner) [1856760] - [fs] ext4: check for non-zero journal inum in ext4_calculate_overhead (Lukas Czerner) [1814574] - [fs] ext4: do not commit super on read-only bdev (Lukas Czerner) [1814574] - [kernel] isolcpus: Affine unbound kernel threads to housekeeping cpus (Marcelo Tosatti) [1791930] - [kernel] kthread: Switch to cpu_possible_mask (Marcelo Tosatti) [1791930] - [scsi] scsi: lpfc: Quieten some printks (Dick Kennedy) [1859338] - [scsi] Revert "scsi: lpfc: Fix scsi host template for SLI3 vports" (Dick Kennedy) [1851189] - [md] dm mpath: use double checked locking in fast path (Mike Snitzer) [1848651] - [md] dm mpath: rename current_pgpath to pgpath in multipath_prepare_ioctl (Mike Snitzer) [1848651] - [md] dm mpath: rework __map_bio() (Mike Snitzer) [1848651] - [md] dm mpath: factor out multipath_queue_bio (Mike Snitzer) [1848651] - [md] dm mpath: push locking down to must_push_back_rq() (Mike Snitzer) [1848651] - [md] dm mpath: take m->lock spinlock when testing QUEUE_IF_NO_PATH (Mike Snitzer) [1848651] - [md] dm mpath: changes from initial m->flags locking audit (Mike Snitzer) [1848651] - [md] dm rq: don't call blk_mq_queue_stopped() in dm_stop_queue() (Mike Snitzer) [1848651] - [md] dm: do not use waitqueue for request-based DM (Mike Snitzer) [1848651] - [block] blk-mq: consider non-idle request as "inflight" in blk_mq_rq_inflight() (Mike Snitzer) [1848651] - [powerpc] powerpc/fadump: fix race between pstore write and fadump crash trigger (Steve Best) [1820109] - [tools] libbpf: Fix probe code to return EPERM if encountered (=?UTF-8?q?Toke=20H=C3=B8iland-J=C3=B8rgensen?=) [1856592] - [tools] tools selftests/bpf: Fix vmlinux test for kprobe and trampoline probes (Jiri Olsa) [1855778] - [net] net: Restrict receive packets queuing to housekeeping CPUs (Nitesh Narayan Lal) [1844520] - [pci] PCI: Restrict probe functions to housekeeping CPUs (Nitesh Narayan Lal) [1844520] - [lib] lib: Restrict cpumask_local_spread to houskeeping CPUs (Nitesh Narayan Lal) [1844520]- [tools] selftests/powerpc: Purge extra count_pmc() calls of ebb selftests (Desnes Augusto Nunes do Rosario) [1739769] - [netdrv] bonding: symmetric ICMP transmit (Jarod Wilson) [1760293] - [netdrv] bonding: balance ICMP echoes in layer3+4 mode (Jarod Wilson) [1760362] - [powerpc] powerpc/vas: Report proper error code for address translation failure (Steve Best) [1858160] - [infiniband] IB/hfi1: Fix module use count flaw due to leftover module put calls (Kamal Heib) [1858388] - [gpu] vgaarb: Add support for 64-bit frame buffer address (Karol Herbst) [1735217] - [netdrv] ionic: centralize queue reset code (Jonathan Toppins) [1857851] - [s390] s390/qeth: support net namespaces for L3 devices (Philipp Rudo) [1857311] - [s390] s390/qeth: implement smarter resizing of the RX buffer pool (Philipp Rudo) [1857311] - [s390] s390/qeth: refactor buffer pool code (Philipp Rudo) [1857311] - [s390] s390/qeth: use page pointers to manage RX buffer pool (Philipp Rudo) [1857311] - [s390] s390/qeth: cancel RX reclaim work earlier (Philipp Rudo) [1857311] - [s390] s390/qeth: handle error when backing RX buffer (Philipp Rudo) [1857311] - [s390] s390/qeth: don't reset default_out_queue (Philipp Rudo) [1857311] - [s390] s390/qdio: fill SBALEs with absolute addresses (Philipp Rudo) [1857311] - [s390] s390/qeth: fix off-by-one in RX copybreak check (Philipp Rudo) [1857311] - [s390] s390/qeth: vnicc Fix EOPNOTSUPP precedence (Philipp Rudo) [1857311] - [s390] s390/qeth: consolidate QDIO queue setup (Philipp Rudo) [1857311] - [s390] s390/pci: Fix s390_mmio_read/write with MIO (Philipp Rudo) [1857315] - [s390] scsi: zfcp: Fix panic on ERP timeout for previously dismissed ERP action (Philipp Rudo) [1857312] - [net] net/smc: tolerate future SMCD versions (Philipp Rudo) [1854992] - [fs] ext4: use RCU API in debug_print_tree (Lukas Czerner) [1837777] - [fs] ext4: fix potential use after free after remounting with noblock_validity (Lukas Czerner) [1837777] - [fs] ext4: add cond_resched() to ext4_protect_reserved_inode (Lukas Czerner) [1837777] - [fs] fibmap: Reject negative block numbers (Carlos Maiolino) [1687121] - [vfio] vfio/pci: Fix SR-IOV VF handling with MMIO blocking (Alex Williamson) [1837310] {CVE-2020-12888} - [vfio] vfio-pci: Invalidate mmaps and block MMIO access on disabled memory (Alex Williamson) [1837310] {CVE-2020-12888} - [vfio] vfio-pci: Fault mmaps to enable vma tracking (Alex Williamson) [1837310] {CVE-2020-12888} - [vfio] vfio/type1: Support faulting PFNMAP vmas (Alex Williamson) [1837310] {CVE-2020-12888} - [vfio] vfio/type1: Fix VA->PA translation for PFNMAP VMAs in vaddr_get_pfn() (Alex Williamson) [1837310] {CVE-2020-12888} - [vfio] vfio/pci: call irq_bypass_unregister_producer() before freeing irq (Alex Williamson) [1837310] {CVE-2020-12888} - [vfio] vfio_pci: Enable memory accesses before calling pci_map_rom (Alex Williamson) [1837310] {CVE-2020-12888} - [x86] mm: Fix mremap not considering huge pmd devmap (Rafael Aquini) [1843441] {CVE-2020-10757} - [x86] x86/speculation: PR_SPEC_FORCE_DISABLE enforcement for indirect branches (Waiman Long) [1847396 1846029] {CVE-2020-10768} - [x86] x86/speculation: Prevent rogue cross-process SSBD shutdown (Waiman Long) [1847358 1846029] {CVE-2020-10766} - [x86] x86/speculation: Avoid force-disabling IBPB based on STIBP and enhanced IBRS (Waiman Long) [1847379 1846029] {CVE-2020-10767} - [x86] x86/speculation/mds: Mark mds_user_clear_cpu_buffers() __always_inline (Waiman Long) [1846029] - [arm64] Return ENODEV when the selected speculation misfeature is unsupported (Waiman Long) [1846029] - [x86] x86/speculation: Add support for STIBP always-on preferred mode (Waiman Long) [1846029] - [x86] x86/speculation: Change misspelled STIPB to STIBP (Waiman Long) [1846029]- [powerpc] powernv/iov: Ensure the pdn for VFs always contains a valid PE number (David Gibson) [1848235] - [powerpc] don't use ioremap_prot() nor __ioremap() unless really needed (Greg Kurz) [1855957] - [char] tpm: ibmvtpm: Wait for ready buffer before probing for TPM2 attributes (David Gibson) [1837283] - [powerpc] Check prom_init for disallowed sections (Michael Roth) [1856099] - [powerpc] prom_init: Move __prombss to it's own section and store it in .bss (Michael Roth) [1856099] - [powerpc] prom_init: Move const structures to __initconst (Michael Roth) [1856099] - [powerpc] prom_init: Make "default_colors" const (Michael Roth) [1856099] - [powerpc] prom_init: Move ibm_arch_vec to __prombss (Michael Roth) [1856099] - [fs] ext4: unregister sysfs path before destroying jbd2 journal (Lukas Czerner) [1814577] - [powerpc] powerpc/pseries/svm: Fix incorrect check for shared_lppaca_size (Steve Best) [1856889] - [netdrv] bnxt_en: fix NULL dereference in case SR-IOV configuration fails (Jonathan Toppins) [1856372] - [security] kexec: Allow kexec_file() with appropriate IMA policy when locked down (Bruno Meneguele) [1854097] - [x86] x86/apic/vector: Warn when vector space exhaustion breaks affinity (Neil Horman) [1714686] - [tools] perf report TUI: Fix segmentation fault in perf_evsel__hists_browse() (Michael Petlan) [1855737] - [fs] ext4: do not zeroout extents beyond i_disksize (Lukas Czerner) [1817816] - [pci] PCI/DPC: Print IRQ number used by port (Myron Stowe) [1855343] - [pci] PCI/AER: Use "aer" variable for capability offset (Myron Stowe) [1855343] - [pci] PCI/AER: Remove redundant dev->aer_cap checks (Myron Stowe) [1855343] - [pci] PCI/AER: Remove redundant pci_is_pcie() checks (Myron Stowe) [1855343] - [pci] PCI/AER: Remove HEST/FIRMWARE_FIRST parsing for AER ownership (Myron Stowe) [1855343] - [tools] selftests: bpf: use __u32 for sock::sk_pacing_rate (Yauheni Kaliuta) [1856324] - [tools] libbpf: Handle GCC noreturn-turned-volatile quirk (Yauheni Kaliuta) [1854327] - [netdrv] net/mlx5e: CT: Fix releasing ft entries (Alaa Hleihel) [1856057] - [netdrv] net/mlx5e: CT: Remove unused function param (Alaa Hleihel) [1856057] - [netdrv] net/mlx5e: CT: Return err_ptr from internal functions (Alaa Hleihel) [1856057] - [netdrv] net/mlx5e: CT: Expand tunnel register mappings (Alaa Hleihel) [1856057] - [netdrv] net/mlx5e: CT: Use mapping for zone restore register (Alaa Hleihel) [1856057] - [netdrv] net/mlx5e: CT: Re-use tuple modify headers for identical modify actions (Alaa Hleihel) [1856057] - [netdrv] net/mlx5e: Export sharing of mod headers to a new file (Alaa Hleihel) [1856057] - [netdrv] net/mlx5: Add support for COPY steering action (Alaa Hleihel) [1856057] - [netdrv] net/mlx5: Accept flow rules without match (Alaa Hleihel) [1856057] - [netdrv] net/mlx5e: CT: Restore ct state from lookup in zone instead of tupleid (Alaa Hleihel) [1856057] - [netdrv] net/mlx5e: CT: Don't offload tuple rewrites for established tuples (Alaa Hleihel) [1856057] - [netdrv] net/mlx5e: Use netdev_info instead of pr_info (Alaa Hleihel) [1856057] - [netdrv] net/mlx5e: CT: Allow header rewrite of 5-tuple and ct clear action (Alaa Hleihel) [1856057] - [netdrv] net/mlx5e: CT: Save ct entries tuples in hashtables (Alaa Hleihel) [1856057] - [netdrv] net/mlx5: CT: Remove unused variables (Alaa Hleihel) [1856057] - [netdrv] net/mlx5: Avoid eswitch header inclusion in fs core layer (Alaa Hleihel) [1856057] - [netdrv] net/mlx5e: vxlan: Use RCU for vxlan table lookup (Alaa Hleihel) [1856057] - [netdrv] net/mlx5e: Remove unused mlx5e_xsk_first_unused_channel (Alaa Hleihel) [1856057] - [netdrv] net/mlx5e: CT: Fix memory leak in cleanup (Alaa Hleihel) [1856057] - [netdrv] net/mlx5e: Fix port buffers cell size value (Alaa Hleihel) [1856057] - [netdrv] net/mlx5e: Fix 50G per lane indication (Alaa Hleihel) [1856057] - [netdrv] net/mlx5e: Fix CPU mapping after function reload to avoid aRFS RX crash (Alaa Hleihel) [1856057] - [netdrv] net/mlx5e: Fix VXLAN configuration restore after function reload (Alaa Hleihel) [1856057] - [netdrv] net/mlx5: Fix eeprom support for SFP module (Alaa Hleihel) [1856057] - [infiniband] IB/mlx5: Fix 50G per lane indication (Alaa Hleihel) [1856057] - [netdrv] net/mlx5e: Do not include rwlock.h directly (Alaa Hleihel) [1856057] - [fs] jbd2: fix data races at struct journal_head (Lukas Czerner) [1792518] - [fs] jbd2: remove pointless assertion in __journal_remove_journal_head (Lukas Czerner) [1792518] - [fs] jbd2: improve comments about freeing data buffers whose page mapping is NULL (Lukas Czerner) [1792518] - [fs] jbd2: do not clear the BH_Mapped flag when forgetting a metadata buffer (Lukas Czerner) [1792518] - [fs] jbd2: move the clearing of b_modified flag to the journal_unmap_buffer() (Lukas Czerner) [1792518] - [fs] ext4: unlock on error in ext4_expand_extra_isize() (Lukas Czerner) [1817636] {CVE-2019-19767} - [fs] ext4: fix support for inode sizes > 1024 bytes (Lukas Czerner) [1817636] {CVE-2019-19767} - [fs] ext4: validate the debug_want_extra_isize mount option at parse time (Lukas Czerner) [1817636] {CVE-2019-19767} - [fs] ext4: add more paranoia checking in ext4_expand_extra_isize handling (Lukas Czerner) [1817636] {CVE-2019-19767} - [fs] ext4: unsigned int compared against zero (Lukas Czerner) [1836666] {CVE-2019-19319} - [fs] ext4: protect journal inode's blocks using block_validity (Lukas Czerner) [1836666] {CVE-2019-19319} - [powerpc] powerpc/kernel/sysfs: Add new config option PMU_SYSFS to enable PMU SPRs sysfs file creation (Michael Petlan) [1821284] - [powerpc] powerpc/kernel/sysfs: Refactor current sysfs.c (Michael Petlan) [1821284] - [kernel] irqdomain: Add the missing assignment of domain->fwnode for named fwnode (Mohammed Gamal) [1846666] - [security] lockdown: Allow unprivileged users to see lockdown status (Vladis Dronov) [1805299] - [edac] EDAC/ghes: Setup DIMM label from DMI and use it in error reports (Robert Richter) [1726153]- [x86] kvm: nvmx: fixes for preemption timer migration (Paolo Bonzini) [1854831] - [powerpc] pci/of: Parse unassigned resources (Greg Kurz) [1849921] - [video] revert "hyperv: hyperv_fb: Support deferred IO for Hyper-V frame buffer driver" (Vitaly Kuznetsov) [1848840] - [video] revert "hyperv: hyperv_fb: Use physical memory for fb on HyperV Gen 1 VMs" (Vitaly Kuznetsov) [1848840] - [pci] hv: Retry PCI bus D0 entry on invalid device state (Mohammed Gamal) [1846666] - [pci] hv: Fix the PCI HyperV probe failure path to release resource properly (Mohammed Gamal) [1846666] - [pci] hv: Allocate a named fwnode instead of an address-based one (Mohammed Gamal) [1846666] - [netdrv] tg3: driver sleeps indefinitely when EEH errors exceed eeh_max_freezes (Jonathan Toppins) [1850176] - [scsi] scsi: lpfc: Fix kdump hang on PPC (Dick Kennedy) [1722596] - [fs] nfsd: fix nfsdfs inode reference count leak ("J. Bruce Fields") [1846235] - [fs] nfsd4: fix nfsdfs reference count loop ("J. Bruce Fields") [1846235] - [kernel] sched: Defend cfs and rt bandwidth quota against overflow (Phil Auld) [1854180] - [kernel] sched/core: Make some functions static (Phil Auld) [1854180] - [kernel] sched/fair: Refill bandwidth before scaling (Phil Auld) [1854180] - [kernel] sched/fair: Eliminate bandwidth race between throttling and distribution (Phil Auld) [1854180] - [kernel] sched/fair: Fix race between runtime distribution and assignment (Phil Auld) [1854180] - [kernel] sched/deadline: Initialize ->dl_boosted (Phil Auld) [1854179] - [kernel] sched/core: Fix PI boosting between RT and DEADLINE tasks (Phil Auld) [1854179] - [netdrv] ibmveth: Fix max MTU limit (Diego Domingos) [1846435] - [kernel] sched/core: Fix ttwu() race (Phil Auld) [1854178] - [tools] perf flamegraph: Explicitly set utf-8 encoding (Michael Petlan) [1849027] - [kernel] sched/core: Check cpus_mask, not cpus_ptr in __set_cpus_allowed_ptr(), to fix mask corruption (Phil Auld) [1854174] - [kernel] workqueue: Remove the warning in wq_worker_sleeping() (Phil Auld) [1854174] - [kernel] sched/fair: Fix negative imbalance in imbalance calculation (Phil Auld) [1854174] - [kernel] sched/fair: Optimize select_idle_core() (Phil Auld) [1854174] - [x86] x86/PCI: Mark Intel C620 MROMs as having non-compliant BARs (Myron Stowe) [1854184] - [netdrv] r8169: fix firmware not resetting tp->ocp_base (Josef Oskera) [1851960] - [acpi] ACPI: configfs: Disallow loading ACPI tables when locked down (Lenny Szubowicz) [1852969] - [arm64] Revert "bpf: Restrict bpf_probe_read{, str}() only to archs where they work" (Jiri Olsa) [1847837] - [s390] s390/mm: Explicitly compare PAGE_DEFAULT_KEY against zero in storage_key_init_range (Jiri Olsa) [1847837] - [net] Bluetooth: Modify LE window and interval for suspend (Gopal Tiwari) [1838924] - [net] Bluetooth: Fix incorrect type for window and interval (Gopal Tiwari) [1838924] - [net] Bluetooth: L2CAP: Use DEFER_SETUP to group ECRED connections (Gopal Tiwari) [1838924] - [net] Bluetooth: don't assume key size is 16 when the command fails (Gopal Tiwari) [1838924] - [net] Bluetooth: L2CAP: Add get_peer_pid callback (Gopal Tiwari) [1838924] - [net] Bluetooth: Restore running state if suspend fails (Gopal Tiwari) [1838924] - [net] Bluetooth: Fix incorrect branch in connection complete (Gopal Tiwari) [1838924] - [net] Bluetooth: Do not cancel advertising when starting a scan (Gopal Tiwari) [1838924] - [net] Bluetooth: L2CAP: remove set but not used variable 'credits' (Gopal Tiwari) [1838924] - [net] Bluetooth: L2CAP: Fix a condition in l2cap_sock_recvmsg() (Gopal Tiwari) [1838924] - [net] Bluetooth: L2CAP: handle l2cap config request during open state (Gopal Tiwari) [1838924] - [net] Bluetooth: clean up connection in hci_cs_disconnect (Gopal Tiwari) [1838924] - [net] Bluetooth: Pause discovery and advertising during suspend (Gopal Tiwari) [1838924] - [net] Bluetooth: Handle LE devices during suspend (Gopal Tiwari) [1838924] - [net] Bluetooth: Handle BR/EDR devices during suspend (Gopal Tiwari) [1838924] - [net] Bluetooth: Handle PM_SUSPEND_PREPARE and PM_POST_SUSPEND (Gopal Tiwari) [1838924] - [net] Bluetooth: mgmt: add mgmt_cmd_status in add_advertising (Gopal Tiwari) [1838924] - [net] Bluetooth: fix off by one in err_data_reporting cmd masks (Gopal Tiwari) [1838924] - [net] Bluetooth: Use bt_dev_err for RPA generation failure message (Gopal Tiwari) [1838924] - [net] Bluetooth: RFCOMM: fix ODEBUG bug in rfcomm_dev_ioctl (Gopal Tiwari) [1838924] - [net] Bluetooth: L2CAP: Add module option to enable ECRED mode (Gopal Tiwari) [1838924] - [net] Bluetooth: L2CAP: Add initial code for Enhanced Credit Based Mode (Gopal Tiwari) [1838924] - [net] Bluetooth: L2CAP: Add definitions (Gopal Tiwari) [1838924] - [net] Bluetooth: Increment management interface revision (Gopal Tiwari) [1838924] - [net] Bluetooth: Make use of skb_pull to parse L2CAP signaling PDUs (Gopal Tiwari) [1838924] - [net] Bluetooth: Fix calculation of SCO handle for packet processing (Gopal Tiwari) [1838924] - [net] Bluetooth: guard against controllers sending zero'd events (Gopal Tiwari) [1838924] - [net] Bluetooth: During le_conn_timeout disable EXT_ADV (Gopal Tiwari) [1838924] - [net] Bluetooth: Remove adv set for directed advertising (Gopal Tiwari) [1838924] - [net] Bluetooth: Fix Suspicious RCU usage warnings (Gopal Tiwari) [1838924] - [net] Bluetooth: Use list_for_each_entry_rcu() to traverse RCU list in RCU read-side CS (Gopal Tiwari) [1838924] - [net] Bluetooth: Replace zero-length array with flexible-array member (Gopal Tiwari) [1838924] - [net] Bluetooth: fix passkey uninitialized when used (Gopal Tiwari) [1838924] - [net] Bluetooth: RFCOMM: Use MTU auto tune logic (Gopal Tiwari) [1838924] - [net] Bluetooth: Fix crash when using new BT_PHY option (Gopal Tiwari) [1838924] - [net] Bluetooth: Disable Extended Adv if enabled (Gopal Tiwari) [1838924] - [net] Bluetooth: Add BT_PHY socket option (Gopal Tiwari) [1838924] - [net] Bluetooth: secure bluetooth stack from bluedump attack (Gopal Tiwari) [1838924] - [net] Bluetooth: remove __get_channel/dir and __dir (Gopal Tiwari) [1838924] - [net] Bluetooth: prefetch channel before killing sock (Gopal Tiwari) [1838924] - [net] Bluetooth: optimize barrier usage for Rmw atomics (Gopal Tiwari) [1838924] - [net] Bluetooth: Fix refcount use-after-free issue (Gopal Tiwari) [1838924] - [net] Bluetooth: SMP: Fix SALT value in some comments (Gopal Tiwari) [1838924] - [net] Bluetooth: Fix race condition in hci_release_sock() (Gopal Tiwari) [1838924] - [net] Bluetooth: Move {min, max}_key_size debugfs into hci_debugfs_create_le (Gopal Tiwari) [1838924] - [net] Bluetooth: Add missing checks for HCI_ISODATA_PKT packet type (Gopal Tiwari) [1838924] - [net] Bluetooth: fix appearance typo in mgmt.c (Gopal Tiwari) [1838924] - [net] Bluetooth: adding missing const decoration to mgmt_status_table (Gopal Tiwari) [1838924] - [net] Bluetooth: Increment management interface revision (Gopal Tiwari) [1838924] - [net] Bluetooth: monitor: Add support for ISO packets (Gopal Tiwari) [1838924] - [net] Bluetooth: Make use of __check_timeout on hci_sched_le (Gopal Tiwari) [1838924] - [net] Bluetooth: Implementation of MGMT_OP_SET_BLOCKED_KEYS (Gopal Tiwari) [1838924] - [net] Bluetooth: remove redundant assignment to variable icid (Gopal Tiwari) [1838924] - [net] Bluetooth: Auto tune if input MTU is set to 0 (Gopal Tiwari) [1838924] - [net] Bluetooth: Remove usage of BT_ERR_RATELIMITED macro (Gopal Tiwari) [1838924] - [net] Bluetooth: Adding a bt_dev_warn_ratelimited macro (Gopal Tiwari) [1838924] - [net] Bluetooth: Fix memory leak in hci_connect_le_scan (Gopal Tiwari) [1838924] - [net] Bluetooth: Allow combination of BDADDR_PROPERTY and INVALID_BDADDR quirks (Gopal Tiwari) [1838924] - [net] Bluetooth: delete a stray unlock (Gopal Tiwari) [1838924] - [net] Bluetooth: Fix advertising duplicated flags (Gopal Tiwari) [1838924] - [net] net: use skb_queue_empty_lockless() in poll() handlers (Gopal Tiwari) [1838924] - [net] Bluetooth: Fix not using LE_ADV_NONCONN_IND for instance 0 (Gopal Tiwari) [1838924] - [net] Bluetooth: Fix using advertising instance duration as timeout (Gopal Tiwari) [1838924] - [fs] compat_ioctl: move hci_sock handlers into driver (Gopal Tiwari) [1838924] - [fs] compat_ioctl: move rfcomm handlers into driver (Gopal Tiwari) [1838924] - [net] Bluetooth: hci_core: fix init for HCI_USER_CHANNEL (Gopal Tiwari) [1838924] - [net] Bluetooth: Workaround directed advertising bug in Broadcom controllers (Gopal Tiwari) [1838924] - [net] Bluetooth: missed cpu_to_le16 conversion in hci_init4_req (Gopal Tiwari) [1838924] - [hid] Bluetooth: hidp: Fix assumptions on the return value of hidp_send_message (Gopal Tiwari) [1838924] - [net] Bluetooth: mgmt: Use struct_size() helper (Gopal Tiwari) [1838924] - [net] Bluetooth: Add support for utilizing Fast Advertising Interval (Gopal Tiwari) [1838924] - [net] Bluetooth: 6lowpan: Make variable header_ops constant (Gopal Tiwari) [1838924] - [net] Revert "Bluetooth: validate BLE connection interval updates" (Gopal Tiwari) [1838924] - [bluetooth] Bluetooth: btusb: print Intel fw build version in power-on boot (Gopal Tiwari) [1838924] - [bluetooth] Bluetooth: hci_h5: Switch from BT_ERR to bt_dev_err where possible (Gopal Tiwari) [1838924] - [bluetooth] Bluetooth: bfusb: Switch from BT_ERR to bt_dev_err where possible (Gopal Tiwari) [1838924] - [net] Bluetooth: Enable erroneous data reporting if WBS is supported (Gopal Tiwari) [1838924] - [bluetooth] Bluetooth: hci_qca: Replace devm_gpiod_get() with devm_gpiod_get_optional() (Gopal Tiwari) [1838924] - [bluetooth] Bluetooth: hci_qca: Make bt_en and susclk not mandatory for QCA Rome (Gopal Tiwari) [1838924] - [bluetooth] Bluetooth: btqca: Fix the NVM baudrate tag offcet for wcn3991 (Gopal Tiwari) [1838924] - [bluetooth] Bluetooth: hci_qca: Not send vendor pre-shutdown command for QCA Rome (Gopal Tiwari) [1838924] - [net] Bluetooth: Support querying for WBS support through MGMT (Gopal Tiwari) [1838924] - [bluetooth] Bluetooth: btusb: Add flag to define wideband speech capability (Gopal Tiwari) [1838924] - [bluetooth] Bluetooth: hci_h4: Remove a redundant assignment in 'h4_flush()' (Gopal Tiwari) [1838924] - [bluetooth] Bluetooth: hci_h4: Fix a typo in a comment (Gopal Tiwari) [1838924] - [bluetooth] Bluetooth: hci_h5: Move variable into local scope (Gopal Tiwari) [1838924] - [bluetooth] Bluetooth: hci_qca: Bug fixes while collecting controller memory dump (Gopal Tiwari) [1838924] - [bluetooth] Bluetooth: hci_h5: btrtl: Add support for RTL8822C (Gopal Tiwari) [1838924] - [bluetooth] Bluetooth: Fix a typo in Kconfig (Gopal Tiwari) [1838924] - [bluetooth] Bluetooth: hci_uart: Replace zero-length array with flexible-array member (Gopal Tiwari) [1838924] - [bluetooth] Bluetooth: hci_intel: Replace zero-length array with flexible-array member (Gopal Tiwari) [1838924] - [bluetooth] Bluetooth: btintel: Replace zero-length array with flexible-array member (Gopal Tiwari) [1838924] - [bluetooth] Bluetooth: btusb: Add support for 13d3:3548 Realtek 8822CE device (Gopal Tiwari) [1838924] - [bluetooth] Bluetooth: hci_qca: Optimized code while enabling clocks for BT SOC (Gopal Tiwari) [1838924] - [bluetooth] Bluetooth: hci_qca: Enable clocks required for BT SOC (Gopal Tiwari) [1838924] - [bluetooth] Bluetooth: btrtl: Use kvmalloc for FW allocations (Gopal Tiwari) [1838924] - [bluetooth] Bluetooth: hci_qca: Enable power off/on support during hci down/up for QCA Rome (Gopal Tiwari) [1838924] - [bluetooth] Bluetooth: hci_qca: Retry btsoc initialize when it fails (Gopal Tiwari) [1838924] - [bluetooth] Bluetooth: hci_qca: Add QCA Rome power off support to the qca_power_shutdown() (Gopal Tiwari) [1838924] - [bluetooth] Bluetooth: hci_bcm: enable IRQ capability from devicetree (Gopal Tiwari) [1838924] - [bluetooth] Bluetooth: hci_vhci: Add support for ISO packets (Gopal Tiwari) [1838924] - [bluetooth] Bluetooth: hci_h4: Add support for ISO packets (Gopal Tiwari) [1838924] - [bluetooth] Bluetooth: btsdio: Check for valid packet type (Gopal Tiwari) [1838924] - [net] Bluetooth: Add definitions (Gopal Tiwari) [1838924] - [net] Bluetooth: Add support for (Gopal Tiwari) [1838924] - [bluetooth] Bluetooth: hci_h5: Add support for ISO packets (Gopal Tiwari) [1838924] - [bluetooth] Bluetooth: hci_qca: Add qca_power_on() API to support both wcn399x and Rome power up (Gopal Tiwari) [1838924] - [bluetooth] Bluetooth: btbcm : Fix warning about missing blank lines after declarations (Gopal Tiwari) [1838924] - [bluetooth] Bluetooth: hci_qca: Remove set but not used variable 'opcode' (Gopal Tiwari) [1838924] - [bluetooth] Bluetooth: hci_qca: Use vfree() instead of kfree() (Gopal Tiwari) [1838924] - [bluetooth] Bluetooth: btusb: Add support for 04ca:3021 QCA_ROME device (Gopal Tiwari) [1838924] - [bluetooth] Bluetooth: hci_qca: Collect controller memory dump during SSR (Gopal Tiwari) [1838924] - [bluetooth] Bluetooth: hci_bcm: Drive RTS only for BCM43438 (Gopal Tiwari) [1838924] - [bluetooth] Bluetooth: hci_qca: Replace of_device_get_match_data with device_get_match_data (Gopal Tiwari) [1838924] - [bluetooth] Bluetooth: btbcm: Add missing static inline in header (Gopal Tiwari) [1838924] - [bluetooth] Bluetooth: btusb: Disable runtime suspend on Realtek devices (Gopal Tiwari) [1838924] - [bluetooth] Bluetooth: btusb: fix memory leak on fw (Gopal Tiwari) [1838924] - [bluetooth] Bluetooth: btusb: fix non-atomic allocation in completion handler (Gopal Tiwari) [1838924] - [bluetooth] Bluetooth: hci_bcm: Support pcm params in dts (Gopal Tiwari) [1838924] - [bluetooth] Bluetooth: btbcm: Support pcm configuration (Gopal Tiwari) [1838924] - [bluetooth] Bluetooth: hci_bcm: Disallow set_baudrate for BCM4354 (Gopal Tiwari) [1838924] - [bluetooth] Bluetooth: btusb: Edit the logical value for Realtek Bluetooth reset (Gopal Tiwari) [1838924] - [bluetooth] Bluetooth: btbcm: Use the BDADDR_PROPERTY quirk (Gopal Tiwari) [1838924] - [bluetooth] Bluetooth: btbcm: Add entry for BCM4335A0 UART bluetooth (Gopal Tiwari) [1838924] - [bluetooth] Bluetooth: btbcm: Add entry for BCM4334B0 UART Bluetooth (Gopal Tiwari) [1838924] - [bluetooth] Bluetooth: btusb: fix PM leak in error case of setup (Gopal Tiwari) [1838924] - [bluetooth] Bluetooth: btqca: Rename ROME specific variables to generic variables (Gopal Tiwari) [1838924] - [bluetooth] Bluetooth: btmtksdio: add MODULE_DEVICE_TABLE() (Gopal Tiwari) [1838924] - [bluetooth] Bluetooth: Fix invalid-free in bcsp_close() (Gopal Tiwari) [1838924] - [bluetooth] Bluetooth: hci_qca: add PM support (Gopal Tiwari) [1838924] - [bluetooth] Bluetooth: hci_bcm: Add compatible string for BCM43540 (Gopal Tiwari) [1838924] - [bluetooth] Bluetooth: btrtl: remove unneeded semicolon (Gopal Tiwari) [1838924] - [bluetooth] Bluetooth: hci_bcm: Fix RTS handling during startup (Gopal Tiwari) [1838924] - [bluetooth] Revert "Bluetooth: hci_qca: Add delay for wcn3990 stability" (Gopal Tiwari) [1838924] - [bluetooth] Bluetooth: btusb: Remove return statement in btintel_reset_to_bootloader (Gopal Tiwari) [1838924] - [bluetooth] Bluetooth: hci_qca: Split qca_power_setup() (Gopal Tiwari) [1838924] - [bluetooth] Bluetooth: hci_qca: Use regulator bulk enable/disable (Gopal Tiwari) [1838924] - [bluetooth] Bluetooth: hci_qca: Don't vote for specific voltage (Gopal Tiwari) [1838924] - [bluetooth] Bluetooth: hci_qca: Update regulator_set_load() usage (Gopal Tiwari) [1838924] - [bluetooth] Bluetooth: hci_qca: Add delay for wcn3990 stability (Gopal Tiwari) [1838924] - [bluetooth] Bluetooth: btusb: Trigger Intel FW download error recovery (Gopal Tiwari) [1838924] - [bluetooth] Bluetooth: btwilink: drop superseded driver (Gopal Tiwari) [1838924] - [bluetooth] Revert "Bluetooth: hci_ll: set operational frequency earlier" (Gopal Tiwari) [1838924] - [bluetooth] Bluetooth: btrtl: Fix an issue for the incorrect error return code (Gopal Tiwari) [1838924] - [bluetooth] Bluetooth: btusb: Use IS_ENABLED instead of #ifdef (Gopal Tiwari) [1838924] - [bluetooth] Bluetooth: btusb: print FW version after FW download (Gopal Tiwari) [1838924] - [bluetooth] Bluetooth: btusb: avoid unused function warning (Gopal Tiwari) [1838924] - [bluetooth] Bluetooth: hci_nokia: Save a few cycles in 'nokia_enqueue()' (Gopal Tiwari) [1838924] - [bluetooth] Bluetooth: btusb: Use cmd_timeout to reset Realtek device (Gopal Tiwari) [1838924] - [bluetooth] Bluetooth: btrtl: Fix an issue that failing to download the FW which size is over 32K bytes (Gopal Tiwari) [1838924] - [bluetooth] Bluetooth: btrtl: Remove trailing newline from calls to rtl_dev macros (Gopal Tiwari) [1838924] - [bluetooth] Bluetooth: hci_qca: Set HCI_QUIRK_SIMULTANEOUS_DISCOVERY for QCA UART Radio (Gopal Tiwari) [1838924] - [bluetooth] Bluetooth: btrtl: Remove redundant prefix from calls to rtl_dev macros (Gopal Tiwari) [1838924] - [bluetooth] Bluetooth: btrtl: Set HCI_QUIRK_SIMULTANEOUS_DISCOVERY (Gopal Tiwari) [1838924] - [bluetooth] bluetooth: bcm: Add support for loading firmware for BCM4345C5 (Gopal Tiwari) [1838924] - [bluetooth] Bluetooth: btrtl: Add firmware version print (Gopal Tiwari) [1838924] - [bluetooth] bluetooth: hci_bcm: Give more time to come out of reset (Gopal Tiwari) [1838924] - [bluetooth] Bluetooth: hci_qca: wait for Pre shutdown complete event before sending the Power off pulse (Gopal Tiwari) [1838924] - [bluetooth] Bluetooth: hci_bcm: Fix -Wunused-const-variable warnings (Gopal Tiwari) [1838924] - [bluetooth] Bluetooth: btusb: Fix suspend issue for Realtek devices (Gopal Tiwari) [1838924] - [bluetooth] Bluetooth: hci_qca: Remove redundant initializations to zero (Gopal Tiwari) [1838924] - [bluetooth] Bluetooth: hci_qca: Make structure qca_proto constant (Gopal Tiwari) [1838924] - [bluetooth] Bluetooth: bpa10x: change return value (Gopal Tiwari) [1838924] - [bluetooth] Bluetooth: hci_qca: disable irqs when spinlock is acquired (Gopal Tiwari) [1838924] - [bluetooth] Bluetooth: btrtl: Additional Realtek 8822CE Bluetooth devices (Gopal Tiwari) [1838924]- [powerpc] powerpc/papr_scm: Implement support for PAPR_PDSM_HEALTH (Gustavo Duarte) [1782178] - [powerpc] ndctl/papr_scm, uapi: Add support for PAPR nvdimm specific methods (Gustavo Duarte) [1782178] - [powerpc] powerpc/papr_scm: Improve error logging and handling papr_scm_ndctl() (Gustavo Duarte) [1782178] - [powerpc] powerpc/papr_scm: Fetch nvdimm health information from PHYP (Gustavo Duarte) [1782178] - [lib] seq_buf: Export seq_buf_printf (Gustavo Duarte) [1782178] - [firmware] efi: Restrict efivar_ssdt_load when the kernel is locked down (Lenny Szubowicz) [1852949] - [netdrv] vmxnet3: allow rx flow hash ops only when rss is enabled (Cathy Avery) [1845417] - [netdrv] net: vmxnet3: fix possible buffer overflow caused by bad DMA value in vmxnet3_get_rss() (Cathy Avery) [1845417] - [netdrv] vmxnet3: use correct hdr reference when packet is encapsulated (Cathy Avery) [1845417] - [netdrv] vmxnet3: update to version 4 (Cathy Avery) [1845417] - [netdrv] vmxnet3: add geneve and vxlan tunnel offload support (Cathy Avery) [1845417] - [netdrv] vmxnet3: add support to get/set rx flow hash (Cathy Avery) [1845417] - [netdrv] vmxnet3: prepare for version 4 changes (Cathy Avery) [1845417] - [netdrv] vmxnet3: let core reject the unsupported coalescing parameters (Cathy Avery) [1845417] - [netdrv] vmxnet3: use new helper tcp_v6_gso_csum_prep (Cathy Avery) [1845417] - [netdrv] vmxnet3: Remove always false conditional statement (Cathy Avery) [1845417] - [kernel] kexec: do not verify the signature without the lockdown or mandatory signature (Lianbo Jiang) [1836148] - [fs] block: Fix use-after-free in blkdev_get() (Ming Lei) [1847779] - [kernel] kernel: rh_features: fix reading empty feature list from /proc (Jiri Benc) [1843064] {CVE-2020-10774} - [netdrv] ice: cleanup unsigned loops (Jonathan Toppins) [1781403] - [netdrv] ice: fix usage of incorrect variable (Jonathan Toppins) [1781403] - [netdrv] ice: Fix bad register reads (Jonathan Toppins) [1781403] - [netdrv] ice: check for compatibility between DDP package and firmware (Jonathan Toppins) [1781403] - [netdrv] ice: Check if unicast MAC exists before setting VF MAC (Jonathan Toppins) [1781403] - [netdrv] ice: print Rx MDD auto reset message before VF reset (Jonathan Toppins) [1781403] - [netdrv] ice: Call ice_aq_set_mac_cfg (Jonathan Toppins) [1781403] - [netdrv] ice: Implement aRFS (Jonathan Toppins) [1781403] - [netdrv] ice: Restore filters following reset (Jonathan Toppins) [1781403] - [netdrv] ice: Enable flex-bytes support (Jonathan Toppins) [1781403] - [netdrv] ice: Support IPv6 Flow Director filters (Jonathan Toppins) [1781403] - [netdrv] ice: Support IPv4 Flow Director filters (Jonathan Toppins) [1781403] - [netdrv] ice: Support displaying ntuple rules (Jonathan Toppins) [1781403] - [netdrv] ice: Initialize Flow Director resources (Jonathan Toppins) [1781403] - [netdrv] ice: Rename build_ctob to ice_build_ctob (Jonathan Toppins) [1781405] - [netdrv] ice: remove unnecessary backslash (Jonathan Toppins) [1781405] - [netdrv] ice: remove unnecessary check (Jonathan Toppins) [1781405] - [netdrv] ice: remove unnecessary expression that is always true (Jonathan Toppins) [1781405] - [netdrv] ice: Fix check for removing/adding mac filters (Jonathan Toppins) [1781405] - [netdrv] ice: refactor filter functions (Jonathan Toppins) [1781405] - [netdrv] ice: Fix resource leak on early exit from function (Jonathan Toppins) [1781405] - [netdrv] ice: cleanup vf_id signedness (Jonathan Toppins) [1781405] - [netdrv] ice: Fix casting issues (Jonathan Toppins) [1781405] - [netdrv] ice: Provide more meaningful error message (Jonathan Toppins) [1781405] - [netdrv] ice: Fix probe/open race condition (Jonathan Toppins) [1781405] - [netdrv] ice: only drop link once when setting pauseparams (Jonathan Toppins) [1781405] - [netdrv] ice: Fix check for contiguous TCs (Jonathan Toppins) [1781405] - [netdrv] ice: Don't reset and rebuild for Tx timeout on PFC enabled queue (Jonathan Toppins) [1781405] - [netdrv] ice: Add VF promiscuous support (Jonathan Toppins) [1781405] - [netdrv] ice: Add support for tunnel offloads (Jonathan Toppins) [1781405] - [netdrv] ice: report netlist version in .info_get (Jonathan Toppins) [1781405] - [netdrv] ice: add additional E810 device id (Jonathan Toppins) [1725447] - [x86] x86/split_lock: Update to use X86_MATCH_INTEL_FAM6_MODEL() (Prarit Bhargava) [1482757] - [x86] x86/intel_split_lock: Disable split lock detector by default in RHEL8 (Prarit Bhargava) [1482757] - [x86] x86/split_lock: Provide handle_guest_split_lock() (Prarit Bhargava) [1482757] - [x86] x86/split_lock: Add Tremont family CPU models (Prarit Bhargava) [1482757] - [x86] x86/split_lock: Bits in IA32_CORE_CAPABILITIES are not architectural (Prarit Bhargava) [1482757] - [tools] tools arch x86: Sync asm/cpufeatures.h with the kernel sources (Prarit Bhargava) [1482757] - [tools] tools arch x86: Sync the msr-index.h copy with the kernel sources (Prarit Bhargava) [1482757] - [x86] x86/split_lock: Avoid runtime reads of the TEST_CTRL MSR (Prarit Bhargava) [1482757] - [x86] x86/split_lock: Rework the initialization flow of split lock detection (Prarit Bhargava) [1482757] - [x86] x86/split_lock: Enable split lock detection by kernel (Prarit Bhargava) [1482757] - [netdrv] drivers/net/b44: Change to non-atomic bit operations on pwol_mask (Prarit Bhargava) [1482757] - [x86] x86/cpu: Align cpu_caps_cleared and cpu_caps_set to unsigned long (Prarit Bhargava) [1482757] - [x86] x86/boot: Make the GDT 8-byte aligned (Prarit Bhargava) [1482757] - [wireless] wlcore: simplify/fix/optimize reg_ch_conf_pending operations (Prarit Bhargava) [1482757] - [uapi] prctl: PR_{G, S}ET_IO_FLUSHER to support controlling memory reclaim (Waiman Long) [1757240]- [kernel] kernel: fork: avoid utilizing a non-initialized task_struct_rh pointer in the error exit path (Rafael Aquini) [1838475 1820041] - [infiniband] RDMA/ipoib: Fix ABBA deadlock with ipoib_reap_ah() (Kamal Heib) [1846063] - [infiniband] RDMA/ipoib: Return void from ipoib_ib_dev_stop() (Kamal Heib) [1846063] - [powerpc] mm/pkeys: Make pkey access check work on execute_only_key (Greg Kurz) [1748772] - [powerpc] mm/book3s64: Fix MADV_DONTNEED and parallel page fault race (Greg Kurz) [1748772] - [mm] change pmdp_huge_get_and_clear_full take vm_area_struct as arg (Greg Kurz) [1748772] - [powerpc] mm/book3s64: Avoid sending IPI on clearing PMD (Greg Kurz) [1748772] - [powerpc] 64s: Fix THP PMD collapse serialisation (Greg Kurz) [1748772] - [powerpc] kvm/book3s: Use pte_present instead of opencoding _PAGE_PRESENT check (Greg Kurz) [1748772] - [powerpc] kvm/book3s: Use find_kvm_host_pte in kvmppc_get_hpa (Greg Kurz) [1748772] - [powerpc] kvm/book3s: use find_kvm_host_pte in kvmppc_book3s_instantiate_page (Greg Kurz) [1748772] - [powerpc] kvm/book3s: Avoid using rmap to protect parallel page table update (Greg Kurz) [1748772] - [powerpc] kvm/book3s: use find_kvm_host_pte in pute_tce functions (Greg Kurz) [1748772] - [powerpc] kvm/book3s: Use find_kvm_host_pte in h_enter (Greg Kurz) [1748772] - [powerpc] kvm/book3s: Use find_kvm_host_pte in page fault handler (Greg Kurz) [1748772] - [powerpc] kvm/book3s: Add helper for host page table walk (Greg Kurz) [1748772] - [powerpc] kvm: ppc: Fix nested guest RC bits update (Greg Kurz) [1748772] - [powerpc] kvm/book3s: Use kvm helpers to walk shadow or secondary table (Greg Kurz) [1748772] - [powerpc] kvm/nested: Add helper to walk nested shadow linux page table (Greg Kurz) [1748772] - [powerpc] kvm/book3s: Add helper to walk partition scoped linux page table (Greg Kurz) [1748772] - [powerpc] kvm/book3s: switch from raw_spin_*lock to arch_spin_lock (Greg Kurz) [1748772] - [powerpc] perf/callchain: Use __get_user_pages_fast in read_user_stack_slow (Greg Kurz) [1748772] - [powerpc] mce: Don't reload pte val in addr_to_pfn (Greg Kurz) [1748772] - [powerpc] book3s64/hash: Use the pte_t address from the caller (Greg Kurz) [1748772] - [powerpc] hash64: Restrict page table lookup using init_mm with __flush_hash_table_range (Greg Kurz) [1748772] - [powerpc] mm/hash64: use _PAGE_PTE when checking for pte_present (Greg Kurz) [1748772] - [powerpc] pkeys: Check vma before returning key fault error to the user (Greg Kurz) [1748772] - [powerpc] pkeys: Avoid using lockless page table walk (Greg Kurz) [1748772] - [powerpc] mmu: add is_strict_kernel_rwx() helper (Greg Kurz) [1748772] - [powerpc] mm: move update_mmu_cache() into book3s hash utils (Greg Kurz) [1748772] - [powerpc] mm: Move book3s32 specifics in subdirectory mm/book3s64 (Greg Kurz) [1748772] - [powerpc] mm: move FSL_BOOK3 version of update_mmu_cache() (Greg Kurz) [1748772] - [powerpc] mm: define empty update_mmu_cache() as static inline (Greg Kurz) [1748772] - [powerpc] change CONFIG_PPC_STD_MMU to CONFIG_PPC_BOOK3S (Greg Kurz) [1748772] - [powerpc] mm: don't use _PAGE_EXEC for calling hash_preload() (Greg Kurz) [1748772] - [powerpc] change CONFIG_PPC_STD_MMU_32 to CONFIG_PPC_BOOK3S_32 (Greg Kurz) [1748772] - [powerpc] handover page flags with a pgprot_t parameter (Greg Kurz) [1748772] - [powerpc] mm: properly set PAGE_KERNEL flags in ioremap() (Greg Kurz) [1748772] - [powerpc] 32: Add ioremap_wt() and ioremap_coherent() (Greg Kurz) [1748772] - [netdrv] crypto/chcr: error seen if CONFIG_CHELSIO_TLS_DEVICE isn't set (Christoph von Recklinghausen) [1797945] - [crypto] cxgb4/chcr: avoid -Wreturn-local-addr warning (Christoph von Recklinghausen) [1797945] - [netdrv] cxgb4: fix EOTID leak when disabling TC-MQPRIO offload (Christoph von Recklinghausen) [1797945] - [netdrv] cxgb4/chcr: Enable ktls settings at run time (Christoph von Recklinghausen) [1797945] - [netdrv] cxgb4: cleanup error code in setup_sge_queues_uld() (Christoph von Recklinghausen) [1797945] - [netdrv] cxgb4: add adapter hotplug support for ULDs (Christoph von Recklinghausen) [1797945] - [crypto] Crypto: chelsio - Fixes a deadlock between rtnl_lock and uld_mutex (Christoph von Recklinghausen) [1797945] - [netdrv] cxgb4/chcr: nic-tls stats in ethtool (Christoph von Recklinghausen) [1797945] - [crypto] crypto/chcr: fix incorrect ipv6 packet length (Christoph von Recklinghausen) [1797945] - [crypto] crypto/chcr: Add missing include file (Christoph von Recklinghausen) [1797945] - [crypto] cxgb4/chcr: Add ipv6 support and statistics (Christoph von Recklinghausen) [1797945] - [crypto] chcr: Handle first or middle part of record (Christoph von Recklinghausen) [1797945] - [crypto] chcr: handle partial end part of a record (Christoph von Recklinghausen) [1797945] - [crypto] cxgb4/chcr: complete record tx handling (Christoph von Recklinghausen) [1797945] - [crypto] cxgb4/chcr: Save tx keys and handle HW response (Christoph von Recklinghausen) [1797945] - [crypto] cxgb4/chcr : Register to tls add and del callback (Christoph von Recklinghausen) [1797945] - [hwmon] hwmon: (acpi_power_meter) Change log level for 'unsafe software power cap' (Al Stone) [1749529] - [netdrv] net/mlx4_core: fix a memory leak bug (Alaa Hleihel) [1846792] - [netdrv] net/mlx4_core: Add missing iounmap() in error path (Alaa Hleihel) [1846792] - [netdrv] net/mlx5: E-switch, Fix error unwinding flow for steering init failure (Alaa Hleihel) [1846791] - [netdrv] net/mlx5: E-Switch, Enable chains only if regs loopback is enabled (Alaa Hleihel) [1848830 1846791] - [netdrv] net/mlx5e: en_tc: Rely just on register loopback for tunnel restoration (Alaa Hleihel) [1846791] - [netdrv] net/mlx5: E-Switch, Skip restore modify header between prios of same chain (Alaa Hleihel) [1846791] - [netdrv] net/mlx5e: CT: Fix ipv6 nat header rewrite actions (Alaa Hleihel) [1846791] - [netdrv] net/mlx5: Don't fail driver on failure to create debugfs (Alaa Hleihel) [1846791] - [netdrv] net/mlx5: Add missing mutex destroy (Alaa Hleihel) [1846791] - [netdrv] net/mlx5: Fix devlink objects and devlink device unregister sequence (Alaa Hleihel) [1846791] - [netdrv] net/mlx5: Wait for inactive autogroups (Alaa Hleihel) [1846791] - [netdrv] net/mlx5: Disable reload while removing the device (Alaa Hleihel) [1846791] - [netdrv] net/mlx5e: Fix ethtool hfunc configuration change (Alaa Hleihel) [1846791] - [netdrv] net/mlx5e: Fix repeated XSK usage on one channel (Alaa Hleihel) [1846791] - [netdrv] net/mlx5: DR, Split RX and TX lock for parallel insertion (Alaa Hleihel) [1846791] - [netdrv] net/mlx5: DR, Add a spinlock to protect the send ring (Alaa Hleihel) [1846791] - [netdrv] net/mlx5: DR, Fix freeing in dr_create_rc_qp() (Alaa Hleihel) [1846791] - [netdrv] net/mlx5: Fix fatal error handling during device load (Alaa Hleihel) [1846791 1841363] - [netdrv] net/mlx5: drain health workqueue in case of driver load error (Alaa Hleihel) [1846791 1841363] - [netdrv] net/mlx5: Drain wq first during PCI device removal (Alaa Hleihel) [1846791] - [netdrv] net/mlx5: Have single error unwinding path (Alaa Hleihel) [1846791] - [netdrv] mlx5: reject unsupported coalescing params (Alaa Hleihel) [1846791] - [crypto] Crypto: chelsio - Fixes a hang issue during driver registration (Vishal Kulkarni) [1845004] - [crypto] crypto: chelsio - Use multiple txq/rxq per tfm to process the requests (Vishal Kulkarni) [1845004] - [crypto] crypto: chelsio - Recalculate iv only if it is needed (Vishal Kulkarni) [1845004] - [crypto] crypto: chelsio - un-register crypto algorithms (Vishal Kulkarni) [1845004] - [crypto] crypto: chelsio - Endianess bug in create_authenc_wr (Vishal Kulkarni) [1845004] - [crypto] crypto: chelsio - Print the chcr driver information while module load (Vishal Kulkarni) [1845004] - [crypto] crypto: chelsio - This fixes the kernel panic which occurs during a libkcapi test (Vishal Kulkarni) [1845004] - [crypto] crypto: chelsio - This fixes the libkcapi's cbc(aes) aio fail test cases (Vishal Kulkarni) [1845004] - [crypto] crypto: chelsio - Resetting crypto counters during the driver unregister (Vishal Kulkarni) [1845004] - [crypto] crypto: chelsio - fix writing tfm flags to wrong place (Vishal Kulkarni) [1845004] - [crypto] crypto: chelsio - calculating tx_channel_id as per the max number of channels (Vishal Kulkarni) [1845004] - [firmware] tpm: check event log version before reading final events (Jerry Snitselaar) [1839284] - [char] tpm: Fix TIS locality timeout problems (Jerry Snitselaar) [1840789]- [vfio] vfio/pci: Clear error and request eventfd ctx after releasing (Alex Williamson) [1847731] - [fs] pNFS/flexfiles: Fix list corruption if the mirror count changes (Benjamin Coddington) [1852500] - [netdrv] ionic: update the queue count on open (Michal Schmidt) [1846879] - [tools] turbostat: Use sched_getcpu() instead of hardcoded cpu 0 (Prarit Bhargava) [1852123] - [infiniband] RDMA/hfi1: Fix null-pointer dereference when calling mmu_notifier_register (Kamal Heib) [1850345] - [platform] Revert "intel-speed-select: Firmware workarounds for Icelake" (Prarit Bhargava) [1820597] - [powerpc] powerpc/crashkernel: Take "mem=" option into account (Pingfan Liu) [1747969] - [tools] perf stat: Increase perf metric output resolution (Michael Petlan) [1844632] - [tools] perf vendor events power9: Add missing metrics to POWER9 'cpi_breakdown' (Michael Petlan) [1844632] - [tools] perf metrics: Fix parse errors in power8 metrics (Michael Petlan) [1844632] - [tools] perf metrics: Fix parse errors in power9 metrics (Michael Petlan) [1844632] - [s390] s390/kaslr: add support for R_390_JMP_SLOT relocation type (Claudio Imbrenda) [1850908] - [s390] s390: prevent leaking kernel address in BEAR (Claudio Imbrenda) [1850907] - [s390] s390/cpumf: Adjust registration of s390 PMU device drivers (Claudio Imbrenda) [1850906] - [firmware] efi/x86: Add TPM related EFI tables to unencrypted mapping checks (Lenny Szubowicz) [1849922] - [security] selinux: allow reading labels before policy is loaded (Ondrej Mosnacek) [1839819] - [idle] intel_idle: Introduce 'use_acpi' module parameter (Prarit Bhargava) [1849666] - [net] xsk: Add overflow check for u64 division, stored into u32 (Jiri Benc) [1838075] - [tools] selftests: netdevsim: Always initialize 'RET' variable (Jiri Benc) [1838075] - [netdrv] netdevsim: Ensure policer drop counter always increases (Jiri Benc) [1838075] - [tools] selftests/bpf: Check for correct program attach/detach in xdp_attach test (Jiri Benc) [1838075] - [tools] libbpf: Fix type of old_fd in bpf_xdp_set_link_opts (Jiri Benc) [1838075] - [net] xsk: Add missing check on user supplied headroom size (Jiri Benc) [1838075] - [net] xdp: Reset prog in dev_change_xdp_fd when fd is negative (Jiri Benc) [1838075] - [netdrv] veth: rely on peer veth_rq for ndo_xdp_xmit accounting (Jiri Benc) [1838075] - [netdrv] veth: rely on veth_rq in veth_xdp_flush_bq signature (Jiri Benc) [1838075] - [net] page pool: allow to pass zero flags to page_pool_init() (Jiri Benc) [1838075] - [tools] selftests/bpf: Add tests for attaching XDP programs (Jiri Benc) [1838075] - [tools] libbpf: Add function to set link XDP fd while specifying old program (Jiri Benc) [1838075] - [tools] Add EXPECTED_FD-related definitions in if_link.h (Jiri Benc) [1838075] - [net] xdp: Support specifying expected existing program when attaching XDP (Jiri Benc) [1838075] - [netdrv] veth: remove atomic64_add from veth_xdp_xmit hotpath (Jiri Benc) [1838075] - [netdrv] veth: introduce more xdp counters (Jiri Benc) [1838075] - [netdrv] veth: distinguish between rx_drops and xdp_drops (Jiri Benc) [1838075] - [netdrv] veth: introduce more specialized counters in veth_stats (Jiri Benc) [1838075] - [netdrv] veth: move xdp stats in a dedicated structure (Jiri Benc) [1838075] - [net] xdp: Replace zero-length array with flexible-array member (Jiri Benc) [1838075] - [net] bpf: inet_diag: Dump bpf_sk_storages in inet_diag_dump() (Jiri Benc) [1838075] - [net] bpf: INET_DIAG support in bpf_sk_storage (Jiri Benc) [1838075] - [net] inet_diag: Move the INET_DIAG_REQ_BYTECODE nlattr to cb->data (Jiri Benc) [1838075] - [net] inet_diag: Refactor inet_sk_diag_fill(), dump(), and dump_one() (Jiri Benc) [1838075] - [net] inet_diag: return classid for all socket types (Jiri Benc) [1838075] - [net] inet_diag: fix reporting cgroup classid and fallback to priority (Jiri Benc) [1838075] - [net] Remove unneeded export of a couple of xdp generic functions (Jiri Benc) [1838075] - [net] page_pool: API cleanup and comments (Jiri Benc) [1838075] - [net] bpf, sockmap: Replace zero-length array with flexible-array member (Jiri Benc) [1838075] - [netdrv] geneve: allow changing DF behavior after creation (Sabrina Dubroca) [1847861] - [net] netfilter: nf_tables: add missing ->release_ops() in error path of newrule() (Andrea Claudi) [1846236] - [net] netfilter: nft_compat: use .release_ops and remove list of extension (Andrea Claudi) [1846236] - [net] ipv6: fix IPV6_ADDRFORM operation logic (Hangbin Liu) [1842025] - [net] ipv6: fix restrict IPV6_ADDRFORM operation (Hangbin Liu) [1842025] - [net] netfilter: nat: fix error handling upon registering inet hook (Florian Westphal) [1579145] - [net] netfilter: nf_tables: fix module autoload for redir (Florian Westphal) [1579145] - [net] netfilter: nf_tables: fix module autoload with inet family (Florian Westphal) [1579145] - [net] netfilter: nft_chain_nat: inet family is missing module ownership (Florian Westphal) [1579145] - [net] netfilter: nf_tables: Support auto-loading for inet nat (Florian Westphal) [1579145] - [net] netfilter: nft_redir: fix module autoload with ip4 (Florian Westphal) [1579145] - [net] netfilter: nat: fix udp checksum corruption (Florian Westphal) [1579145] - [tools] kselftests: extend nft_nat with inet family based nat hooks (Florian Westphal) [1579145] - [net] netfilter: nft_redir: add inet support (Florian Westphal) [1579145] - [net] netfilter: nft_masq: add inet support (Florian Westphal) [1579145] - [net] netfilter: nf_tables: merge route type into core (Florian Westphal) [1579145] - [net] netfilter: nat: add inet family nat support (Florian Westphal) [1579145] - [net] netfilter: nat: don't register device notifier twice (Florian Westphal) [1579145] - [net] netfilter: nf_tables: merge ipv4 and ipv6 nat chain types (Florian Westphal) [1579145] - [net] netfilter: nf_tables: nat: merge nft_masq protocol specific modules (Florian Westphal) [1579145] - [net] netfilter: nf_tables: nat: merge nft_redir protocol specific modules (Florian Westphal) [1579145] - [net] netfilter: nat: remove nf_nat_l3proto.h and nf_nat_core.h (Florian Westphal) [1579145] - [net] netfilter: nat: remove l3proto struct (Florian Westphal) [1579145] - [net] netfilter: nat: remove csum_recalc hook (Florian Westphal) [1579145] - [net] netfilter: nat: remove csum_update hook (Florian Westphal) [1579145] - [net] netfilter: nat: remove l3 manip_pkt hook (Florian Westphal) [1579145] - [net] netfilter: nat: remove nf_nat_l4proto.h (Florian Westphal) [1579145] - [net] netfilter: nat: merge nf_nat_ipv4, 6 into nat core (Florian Westphal) [1579145] - [net] netfilter: nat: fix spurious connection timeouts (Florian Westphal) [1579145] - [net] netfilter: nat: move nlattr parse and xfrm session decode to core (Florian Westphal) [1579145] - [net] netfilter: nat: merge ipv4 and ipv6 masquerade functionality (Florian Westphal) [1579145] - [net] netfilter: kconfig: nat related expression depend on nftables core (Florian Westphal) [1579145] - [net] netfilter: conntrack: fix bogus port values for other l4 protocols (Florian Westphal) [1579145] - [net] netfilter: conntrack: avoid unneeded nf_conntrack_l4proto lookups (Florian Westphal) [1579145] - [net] netfilter: conntrack: remove pernet l4 proto register interface (Florian Westphal) [1579145] - [net] netfilter: conntrack: remove remaining l4proto indirect packet calls (Florian Westphal) [1579145] - [net] netfilter: conntrack: remove module owner field (Florian Westphal) [1579145] - [net] netfilter: conntrack: remove invert_tuple callback (Florian Westphal) [1579145] - [net] netfilter: conntrack: remove pkt_to_tuple callback (Florian Westphal) [1579145] - [net] netfilter: conntrack: udp: set stream timeout to 2 minutes (Florian Westphal) [1579145] - [net] netfilter: conntrack: udp: only extend timeout to stream mode after 2s (Florian Westphal) [1579145] - [net] netfilter: nat: un-export nf_nat_used_tuple (Florian Westphal) [1579145] - [net] netfilter: nat: fix ICMP header corruption on ICMP errors (Florian Westphal) [1579145] - [net] netfilter: nat: fix icmp id randomization (Florian Westphal) [1579145] - [net] netfilter: nat: remove nf_nat_l4proto struct (Florian Westphal) [1579145] - [net] netfilter: nat: remove l4proto->manip_pkt (Florian Westphal) [1579145] - [net] netfilter: nat: remove l4proto->nlattr_to_range (Florian Westphal) [1579145] - [net] netfilter: nat: remove l4proto->in_range (Florian Westphal) [1579145] - [net] netfilter: nat: fold in_range indirection into caller (Florian Westphal) [1579145] - [net] netfilter: nat: remove l4proto->unique_tuple (Florian Westphal) [1579145] - [net] netfilter: nat: un-export nf_nat_l4proto_unique_tuple (Florian Westphal) [1579145] - [net] netfilter: remove NF_NAT_RANGE_PROTO_RANDOM support (Florian Westphal) [1579145] - [x86] kvm: x86/pmu: Tweak kvm_pmu_get_msr to pass 'struct msr_data' in (Vitaly Kuznetsov) [1849987] - [x86] kvm: x86: do not pass poisoned hva to __kvm_set_memory_region (Vitaly Kuznetsov) [1849987] - [tools] kvm: selftests: fix sync_with_host() in smm_test (Vitaly Kuznetsov) [1849987] - [x86] kvm: async_pf: Inject 'page ready' event only if 'page not present' was previously injected (Vitaly Kuznetsov) [1849987] - [x86] revert "kvm: async_pf: Fix #DF due to inject "Page not Present" and "Page Ready" exceptions simultaneously" (Vitaly Kuznetsov) [1849987] - [virt] kvm: async_pf: Cleanup kvm_setup_async_pf() (Vitaly Kuznetsov) [1849987] - [x86] kvm: i8254: remove redundant assignment to pointer s (Vitaly Kuznetsov) [1849987] - [x86] kvm: x86: respect singlestep when emulating instruction (Vitaly Kuznetsov) [1849987] - [tools] kvm: selftests: Don't probe KVM_CAP_HYPERV_ENLIGHTENED_VMCS when nested VMX is unsupported (Vitaly Kuznetsov) [1849987] - [tools] kvm: selftests: do not substitute SVM/VMX check with KVM_CAP_NESTED_STATE check (Vitaly Kuznetsov) [1849987] - [x86] kvm: nvmx: Consult only the "basic" exit reason when routing nested exit (Vitaly Kuznetsov) [1849987] - [x86] kvm: x86: Unexport x86_fpu_cache and make it static (Vitaly Kuznetsov) [1849987] - [tools] kvm: selftests: Ignore KVM 5-level paging support for VM_MODE_PXXV48_4K (Vitaly Kuznetsov) [1849987] - [virt] kvm: x86: Fix APIC page invalidation race (Vitaly Kuznetsov) [1849987] - [x86] kvm: svm: fix calls to is_intercept (Vitaly Kuznetsov) [1849987] - [tools] kvm: selftests: fix vmx_preemption_timer_test build with GCC10 (Vitaly Kuznetsov) [1849987] - [tools] kvm: selftests: Add x86_64/debug_regs to .gitignore (Vitaly Kuznetsov) [1849987] - [x86] revert "kvm: x86: work around leak of uninitialized stack contents" (Vitaly Kuznetsov) [1849987] - [x86] kvm: vmx: Properly handle kvm_read/write_guest_virt*() result (Vitaly Kuznetsov) [1849987] - [x86] kvm: x86: emulate reserved nops from 0f/18 to 0f/1f (Vitaly Kuznetsov) [1849987] - [tools] kvm: selftests: Fix build with "make ARCH=x86_64" (Vitaly Kuznetsov) [1849987] - [x86] kvm: x86: minor code refactor and comments fixup around dirty logging (Vitaly Kuznetsov) [1849987] - [x86] kvm: x86: avoid unnecessary rmap walks when creating/moving slots (Vitaly Kuznetsov) [1849987] - [x86] kvm: x86: remove unnecessary rmap walk of read-only memslots (Vitaly Kuznetsov) [1849987] - [virt] kvm: Use vmemdup_user() (Vitaly Kuznetsov) [1849987] - [x86] kvm: x86: Move MPK feature detection to common code (Vitaly Kuznetsov) [1849987] - [x86] kvm: x86: Assign correct value to array.maxnent (Vitaly Kuznetsov) [1849987] - [x86] kvm: let kvm_destroy_vm_debugfs clean up vCPU debugfs directories (Vitaly Kuznetsov) [1849987] - [x86] kvm: Handle reads of SandyBridge RAPL PMU MSRs rather than injecting #GP (Vitaly Kuznetsov) [1849987] - [documentation] docs: virt/kvm: close inline string literal (Vitaly Kuznetsov) [1849987] - [documentation] docs: kvm: Fix KVM_KVMCLOCK_CTRL API doc (Vitaly Kuznetsov) [1849987] - [x86] arch/x86/kvm/svm/sev.c: change flag passed to GUP fast in sev_pin_memory() (Vitaly Kuznetsov) [1849987] - [virt] kvm/eventfd: remove unneeded conversion to bool (Vitaly Kuznetsov) [1849987] - [tools] selftests: fix kvm relocatable native/cross builds and installs (Vitaly Kuznetsov) [1849987] - [virt] kvm: x86: move kvm_create_vcpu_debugfs after last failure point (Vitaly Kuznetsov) [1849987] - [powerpc] xive: Share the event-queue page with the Hypervisor (Michael Roth) [1837232] - [powerpc] kvm: ppc: book3s hv: Read ibm, secure-memory nodes (Michael Roth) [1837232] - [powerpc] kvm: ppc: book3s hv: Relax check on H_SVM_INIT_ABORT (Michael Roth) [1837232]- [scsi] scsi: be2iscsi: Use scnprintf() for avoiding potential buffer overflow (Maurizio Lombardi) [1849586] - [edac] EDAC/i10nm: Update driver to support different bus number config register offsets (Aristeu Rozanski) [1838508] - [edac] EDAC, {skx, i10nm}: Make some configurations CPU model specific (Aristeu Rozanski) [1838508] - [fs] fuse: copy_file_range should truncate cache (Miklos Szeredi) [1849786] - [fs] fuse: fix copy_file_range cache issues (Miklos Szeredi) [1849786] - [fs] fuse: update attr_version counter on fuse_notify_inval_inode() (Miklos Szeredi) [1849786] - [fs] fuse: don't check refcount after stealing page (Miklos Szeredi) [1849786] - [fs] fuse: fix weird page warning (Miklos Szeredi) [1849786] - [fs] fuse: use dump_page (Miklos Szeredi) [1849786] - [fs] fuse: always allow query of st_dev (Miklos Szeredi) [1849786] - [fs] fuse: always flush dirty data on close(2) (Miklos Szeredi) [1849786] - [fs] fuse: invalidate inode attr in writeback cache mode (Miklos Szeredi) [1849786] - [fs] virtiofs: schedule blocking async replies in separate worker (Miklos Szeredi) [1849786] - [fs] fuse: Support RENAME_WHITEOUT flag (Miklos Szeredi) [1849786] - [fs] fuse: don't overflow LLONG_MAX with end offset (Miklos Szeredi) [1849786] - [fs] fix up iter on short count in fuse_direct_io() (Miklos Szeredi) [1849786] - [fs] fuse: fix fuse_send_readpages() in the syncronous read case (Miklos Szeredi) [1849786] - [fs] fuse: fix Kconfig indentation (Miklos Szeredi) [1849786] - [fs] virtiofs: Use completions while waiting for queue to be drained (Miklos Szeredi) [1849786] - [fs] virtiofs: Do not send forget request "struct list_head" element (Miklos Szeredi) [1849786] - [fs] virtiofs: Use a common function to send forget (Miklos Szeredi) [1849786] - [fs] virtiofs: Fix old-style declaration (Miklos Szeredi) [1849786] - [fs] fuse: verify nlink (Miklos Szeredi) [1849786] - [fs] fuse: verify write return (Miklos Szeredi) [1849786] - [fs] fuse: verify attributes (Miklos Szeredi) [1849786] - [fs] fuse: redundant get_fuse_inode() calls in fuse_writepages_fill() (Miklos Szeredi) [1849786] - [fs] fuse: truncate pending writes on O_TRUNC (Miklos Szeredi) [1849786] - [fs] fuse: flush dirty data/metadata before non-truncate setattr (Miklos Szeredi) [1849786] - [fs] ovl: initialize error in ovl_copy_xattr (Miklos Szeredi) [1849770] - [fs] ovl: fix redirect traversal on metacopy dentries (Miklos Szeredi) [1849770] - [fs] ovl: initialize OVL_UPPERDATA in ovl_lookup() (Miklos Szeredi) [1849770] - [fs] ovl: use only uppermetacopy state in ovl_lookup() (Miklos Szeredi) [1849770] - [fs] ovl: simplify setting of origin for index lookup (Miklos Szeredi) [1849770] - [fs] ovl: fix out of bounds access warning in ovl_check_fb_len() (Miklos Szeredi) [1849770] - [fs] ovl: return required buffer size for file handles (Miklos Szeredi) [1849770] - [fs] ovl: sync dirty data when remounting to ro mode (Miklos Szeredi) [1849770] - [fs] ovl: resolve more conflicting mount options (Miklos Szeredi) [1849770] - [fs] ovl: potential crash in ovl_fid_to_fh() (Miklos Szeredi) [1849770] - [fs] ovl: clear ATTR_OPEN from attr->ia_valid (Miklos Szeredi) [1849770] - [fs] ovl: clear ATTR_FILE from attr->ia_valid (Miklos Szeredi) [1849770] - [documentation] ovl: document xino expected behavior (Miklos Szeredi) [1849770] - [fs] ovl: enable xino automatically in more cases (Miklos Szeredi) [1849770] - [fs] ovl: avoid possible inode number collisions with xino=on (Miklos Szeredi) [1849770] - [fs] ovl: use a private non-persistent ino pool (Miklos Szeredi) [1849770] - [fs] ovl: fix WARN_ON nlink drop to zero (Miklos Szeredi) [1849770] - [fs] ovl: fix a typo in comment (Miklos Szeredi) [1849770] - [fs] ovl: replace zero-length array with flexible-array member (Miklos Szeredi) [1849770] - [fs] ovl: ovl_obtain_alias(): don't call d_instantiate_anon() for old (Miklos Szeredi) [1849770] - [fs] ovl: strict upper fs requirements for remote upper fs (Miklos Szeredi) [1849770] - [fs] ovl: check if upper fs supports RENAME_WHITEOUT (Miklos Szeredi) [1849770] - [fs] ovl: allow remote upper (Miklos Szeredi) [1849770] - [fs] ovl: decide if revalidate needed on a per-dentry basis (Miklos Szeredi) [1849770] - [fs] ovl: separate detection of remote upper layer from stacked overlay (Miklos Szeredi) [1849770] - [fs] ovl: restructure dentry revalidation (Miklos Szeredi) [1849770] - [fs] ovl: ignore failure to copy up unknown xattrs (Miklos Szeredi) [1849770] - [documentation] ovl: document permission model (Miklos Szeredi) [1849770] - [fs] ovl: simplify i_ino initialization (Miklos Szeredi) [1849770] - [fs] ovl: factor out helper ovl_get_root() (Miklos Szeredi) [1849770] - [fs] ovl: fix out of date comment and unreachable code (Miklos Szeredi) [1849770] - [fs] ovl: fix value of i_ino for lower hardlink corner case (Miklos Szeredi) [1849770] - [fs] ovl: fix lockdep warning for async write (Miklos Szeredi) [1849770] - [fs] ovl: fix some xino configurations (Miklos Szeredi) [1849770] - [fs] ovl: fix lock in ovl_llseek() (Miklos Szeredi) [1849770] - [fs] ovl: fix lseek overflow on 32bit (Miklos Szeredi) [1849770] - [documentation] docs: filesystems: add overlayfs to index.rst (Miklos Szeredi) [1849770] - [fs] ovl: add splice file read write helper (Miklos Szeredi) [1849770] - [fs] ovl: implement async IO routines (Miklos Szeredi) [1849770] - [fs] vfs: add vfs_iocb_iter_helper functions (Miklos Szeredi) [1849770] - [fs] ovl: layer is const (Miklos Szeredi) [1849770] - [fs] ovl: fix corner case of non-constant st_dev; st_ino (Miklos Szeredi) [1849770] - [fs] ovl: fix corner case of conflicting lower layer uuid (Miklos Szeredi) [1849770] - [fs] ovl: generalize the lower_fsarray (Miklos Szeredi) [1849770] - [fs] ovl: simplify ovl_same_sb() helper (Miklos Szeredi) [1849770] - [fs] ovl: generalize the lower_layersarray (Miklos Szeredi) [1849770] - [fs] ovl: improving copy-up efficiency for big sparse file (Miklos Szeredi) [1849770] - [fs] ovl: use ovl_inode_lock in ovl_llseek() (Miklos Szeredi) [1849770] - [fs] ovl: use pr_fmt auto generate prefix (Miklos Szeredi) [1849770] - [fs] ovl: fix wrong WARN_ON() in ovl_cache_update_ino() (Miklos Szeredi) [1849770] - [fs] locks: print unsigned ino in /proc/locks (Miklos Szeredi) [1849770] - [documentation] docs: filesystems: overlayfs: Fix restview warnings (Miklos Szeredi) [1849770] - [fs] ovl: relax WARN_ON() on rename to self (Miklos Szeredi) [1849770] - [fs] ovl: fix corner case of non-unique st_dev; st_ino (Miklos Szeredi) [1849770] - [fs] ovl: don't use a temp buf for encoding real fh (Miklos Szeredi) [1849770] - [fs] ovl: make sure that real fid is 32bit aligned in memory (Miklos Szeredi) [1849770] - [fs] ovl: fix lookup failure on multi lower squashfs (Miklos Szeredi) [1849770] - [fs] ovl: filter of trusted xattr results in audit (Miklos Szeredi) [1849770] - [fs] ovl: Fix dereferencing possible ERR_PTR() (Miklos Szeredi) [1849770] - [fs] ovl: fix regression caused by overlapping layers detection (Miklos Szeredi) [1849770] - [fs] ovl: make i_ino consistent with st_ino in more cases (Miklos Szeredi) [1849770] - [fs] ovl: fix typo in MODULE_PARM_DESC (Miklos Szeredi) [1849770] - [fs] ovl: fix bogus -Wmaybe-unitialized warning (Miklos Szeredi) [1849770] - [fs] ovl: don't fail with disconnected lower NFS (Miklos Szeredi) [1849770] - [fs] ovl: detect overlapping layers (Miklos Szeredi) [1849770] - [fs] ovl: using posix_acl_xattr_size() to get size instead of posix_acl_to_xattr() (Miklos Szeredi) [1849770] - [fs] ovl: abstract ovl_inode lock with a helper (Miklos Szeredi) [1849770] - [fs] ovl: remove the 'locked' argument of ovl_nlink_{start, end} (Miklos Szeredi) [1849770] - [fs] ovl: relax requirement for non null uuid of lower fs (Miklos Szeredi) [1849770] - [fs] ovl: fold copy-up helpers into callers (Miklos Szeredi) [1849770] - [fs] ovl: untangle copy up call chain (Miklos Szeredi) [1849770] - [fs] ovl: clean up error handling in ovl_get_tmpfile() (Miklos Szeredi) [1849770] - [netdrv] ionic: tame the watchdog timer on reconfig (Jonathan Toppins) [1846879 1846280] - [remoteproc] remoteproc: pull in slab.h (Jarod Wilson) [1849080]- [x86] revert "kvm: vmx: Micro-optimize vmexit time when not exposing PMU" (Vitaly Kuznetsov) [1844099] - [fs] nfsd4: kill warnings on testing stateids with mismatched clientids (Benjamin Coddington) [1765672] - [fs] NFS: Ensure security label is set for root inode (Scott Mayhew) [1660798] - [s390] kexec: Fix file verification on S390 (Lianbo Jiang) [1815369] - [s390] kexec_file: split KEXEC_VERIFY_SIG into KEXEC_SIG and KEXEC_SIG_FORCE (Lianbo Jiang) [1815369] - [netdrv] ibmvnic: continue to init in CRQ reset returns H_CLOSED (Steve Best) [1850179] - [net] sunrpc: add missing newline when printing parameter 'auth_hashtable_size' by sysfs (Benjamin Coddington) [1849998] - [net] sunrpc: clean up properly in gss_mech_unregister() (Benjamin Coddington) [1849998] - [net] sunrpc: svcauth_gss_register_pseudoflavor must reject duplicate registrations (Benjamin Coddington) [1849998] - [net] SUNRPC: Fix backchannel RPC soft lockups (Benjamin Coddington) [1849998] - [fs] NFS: Fix a page leak in nfs_destroy_unlinked_subrequests() (Benjamin Coddington) [1849998] - [fs] nfsd4: make drc_slab global, not per-net (Benjamin Coddington) [1849998] - [net] SUNRPC: Fix GSS privacy computation of auth->au_ralign (Benjamin Coddington) [1849998] - [net] SUNRPC: Add "@len" parameter to gss_unwrap() (Benjamin Coddington) [1849998] - [fs] NFS: finish_automount() requires us to hold 2 refs to the mount record (Benjamin Coddington) [1849998] - [fs] NFS: Fix use-after-free issues in nfs_pageio_add_request() (Benjamin Coddington) [1849998] - [fs] NFS: alloc_nfs_open_context() must use the file cred when available (Benjamin Coddington) [1849998] - [net] libceph: don't omit used_replica in target_copy() (Jeff Layton) [1847528] - [net] libceph: don't omit recovery_deletes in target_copy() (Jeff Layton) [1847528] - [net] libceph: move away from global osd_req_flags (Jeff Layton) [1847528] - [fs] ceph: skip checking caps when session reconnecting and releasing reqs (Jeff Layton) [1847528] - [fs] ceph: make sure mdsc->mutex is nested in s->s_mutex to fix dead lock (Jeff Layton) [1847528] - [fs] ceph: don't return -ESTALE if there's still an open file (Jeff Layton) [1847528] - [include] libceph, rbd: replace zero-length array with flexible-array (Jeff Layton) [1847528] - [fs] ceph: allow rename operation under different quota realms (Jeff Layton) [1847528] - [fs] ceph: normalize 'delta' parameter usage in check_quota_exceeded (Jeff Layton) [1847528] - [fs] ceph: ceph_kick_flushing_caps needs the s_mutex (Jeff Layton) [1847528] - [fs] ceph: request expedited service on session's last cap flush (Jeff Layton) [1847528] - [fs] ceph: convert mdsc->cap_dirty to a per-session list (Jeff Layton) [1847528] - [fs] ceph: reset i_requested_max_size if file write is not wanted (Jeff Layton) [1847528] - [fs] ceph: throw a warning if we destroy session with mutex still locked (Jeff Layton) [1847528] - [fs] ceph: fix potential race in ceph_check_caps (Jeff Layton) [1847528] - [fs] ceph: document what protects i_dirty_item and i_flushing_item (Jeff Layton) [1847528] - [fs] ceph: don't take i_ceph_lock in handle_cap_import (Jeff Layton) [1847528] - [fs] ceph: don't release i_ceph_lock in handle_cap_trunc (Jeff Layton) [1847528] - [fs] ceph: add comments for handle_cap_flush_ack logic (Jeff Layton) [1847528] - [fs] ceph: split up __finish_cap_flush (Jeff Layton) [1847528] - [fs] ceph: reorganize __send_cap for less spinlock abuse (Jeff Layton) [1847528] - [fs] ceph: flush release queue when handling caps for unknown inode (Jeff Layton) [1847528] - [net] libceph: ignore pool overlay and cache logic on redirects (Jeff Layton) [1847528] - [x86] kvm: lapic: ensure APIC map is up to date on concurrent update requests (Igor Mammedov) [1835330] - [x86] kvm: lapic: fix broken vcpu hotplug (Igor Mammedov) [1835330] - [netdrv] net: hns3: add some error checking in hclge_tm module (Mark Langsdorf) [1809057] {CVE-2019-15925} - [fs] udf: Fix mounting of Win7 created UDF filesystems (Oleksandr Natalenko) [1842400] - [netdrv] net: qed: fixes crash while running driver in kdump kernel (Manish Chopra) [1727746] - [netdrv] net: qed: Disable SRIOV functionality inside kdump kernel (Manish Chopra) [1727746] - [netdrv] net: qed*: Reduce RX and TX default ring count when running inside kdump kernel (Manish Chopra) [1727746] - [fs] cifs: dump Security Type info in DebugData (Leif Sahlberg) [1845390] - [net] netfilter: flowtable: Make nf_flow_table_offload_add/del_cb inline (Marcelo Leitner) [1840938] - [net] sched: act_ct: Make tcf_ct_flow_table_restore_skb inline (Marcelo Leitner) [1840938] - [net] netfilter: flowtable: Add pending bit for offload work (Marcelo Leitner) [1842670] - [net] Evict neighbor entries on carrier down (Ivan Vecera) [1845352] - [net] bridge: explicitly zero is_sticky in fdb_create (Ivan Vecera) [1845350] - [net] bridge: add support for sticky fdb entries (Ivan Vecera) [1845350] - [net] remove indirect block netdev event registration (Marcelo Leitner) [1841300] - [netdrv] bnxt_tc: update indirect block support (Marcelo Leitner) [1841300] - [netdrv] nfp: update indirect block support (Marcelo Leitner) [1841300] - [netdrv] mlx5: update indirect block support (Marcelo Leitner) [1841300] - [net] use flow_indr_dev_setup_offload() (Marcelo Leitner) [1841300] - [net] cls_api: add tcf_block_offload_init() (Marcelo Leitner) [1841300] - [net] flow_offload: consolidate indirect flow_block infrastructure (Marcelo Leitner) [1841300] - [net] netfilter: nf_flowtable: expose nf_flow_table_gc_cleanup() (Marcelo Leitner) [1841300] - [fs] iomap: Handle memory allocation failure in readahead (Carlos Maiolino) [1828792] - [fs] iomap: fix comments in iomap_dio_rw (Carlos Maiolino) [1828792] - [fs] iomap: Remove pgoff from tracepoints (Carlos Maiolino) [1828792] - [fs] fs: Fix page_mkwrite off-by-one errors (Carlos Maiolino) [1828792] - [fs] iomap: stop using ioend after it's been freed in iomap_finish_ioend() (Carlos Maiolino) [1828792] - [fs] iomap: fix sub-page uptodate handling (Carlos Maiolino) [1828792] - [fs] iomap: remove unneeded variable in iomap_dio_rw() (Carlos Maiolino) [1828792] - [fs] iomap: Do not create fake iter in iomap_dio_bio_actor() (Carlos Maiolino) [1828792] - [fs] iomap: trace iomap_appply results (Carlos Maiolino) [1828792] - [fs] fs/iomap: remove redundant check in iomap_dio_rw() (Carlos Maiolino) [1828792] - [fs] iomap: use a srcmap for a read-modify-write I/O (Carlos Maiolino) [1828792] - [fs] iomap: renumber IOMAP_HOLE to 0 (Carlos Maiolino) [1828792] - [fs] iomap: use write_begin to read pages to unshare (Carlos Maiolino) [1828792] - [fs] iomap: move the zeroing case out of iomap_read_page_sync (Carlos Maiolino) [1828792] - [fs] iomap: ignore non-shared or non-data blocks in xfs_file_dirty (Carlos Maiolino) [1828792] - [fs] iomap: always use AOP_FLAG_NOFS in iomap_write_begin (Carlos Maiolino) [1828792] - [fs] iomap: remove the unused iomap argument to __iomap_write_end (Carlos Maiolino) [1828792] - [fs] iomap: better document the IOMAP_F_* flags (Carlos Maiolino) [1828792] - [fs] iomap: enhance writeback error message (Carlos Maiolino) [1828792] - [fs] iomap: pass a struct page to iomap_finish_page_writeback (Carlos Maiolino) [1828792] - [fs] iomap: cleanup iomap_ioend_compare (Carlos Maiolino) [1828792] - [fs] iomap: move struct iomap_page out of iomap.h (Carlos Maiolino) [1828792] - [fs] iomap: warn on inline maps in iomap_writepage_map (Carlos Maiolino) [1828792] - [fs] iomap: lift the xfs writeback code to iomap (Carlos Maiolino) [1828792] - [fs] iomap: lift common tracing code from xfs to iomap (Carlos Maiolino) [1828792] - [fs] iomap: zero newly allocated mapped blocks (Carlos Maiolino) [1828792] - [fs] xfs: remove the fork fields in the writepage_ctx and ioend (Carlos Maiolino) [1828792] - [fs] xfs: turn io_append_trans into an io_private void pointer (Carlos Maiolino) [1828792] - [fs] xfs: refactor the ioend merging code (Carlos Maiolino) [1828792] - [fs] xfs: use a struct iomap in xfs_writepage_ctx (Carlos Maiolino) [1828792] - [fs] xfs: set IOMAP_F_NEW more carefully (Carlos Maiolino) [1828792] - [fs] xfs: initialize iomap->flags in xfs_bmbt_to_iomap (Carlos Maiolino) [1828792] - [fs] xfs: Use iomap_dio_rw to wait for unaligned direct IO (Carlos Maiolino) [1828792] - [fs] iomap: Allow forcing of waiting for running DIO in iomap_dio_rw() (Carlos Maiolino) [1828792] - [fs] iomap: move the iomap_dio_rw ->end_io callback into a structure (Carlos Maiolino) [1828792] - [fs] iomap: split size and error for iomap_dio_rw ->end_io (Carlos Maiolino) [1828792] - [fs] iomap: fix Invalid License ID (Carlos Maiolino) [1828792] - [fs] iomap: move internal declarations into fs/iomap/ (Carlos Maiolino) [1828792] - [fs] iomap: move the main iteration code into a separate file (Carlos Maiolino) [1828792] - [fs] iomap: move the buffered IO code into a separate file (Carlos Maiolino) [1828792] - [fs] iomap: move the direct IO code into a separate file (Carlos Maiolino) [1828792] - [fs] iomap: move the SEEK_HOLE code into a separate file (Carlos Maiolino) [1828792] - [fs] iomap: move the file mapping reporting code into a separate file (Carlos Maiolino) [1828792] - [fs] iomap: move the swapfile code into a separate file (Carlos Maiolino) [1828792] - [fs] iomap: start moving code to fs/iomap/ (Carlos Maiolino) [1828792] - [fs] iomap: move iomap_read_inline_data around (Carlos Maiolino) [1828792] - [fs] iomap: convert to SPDX identifier (Carlos Maiolino) [1828792] - [fs] iomap: remove duplicated include from iomap.c (Carlos Maiolino) [1828792] - [netdrv] fjes: Handle workqueue allocation failure (Masayoshi Mizuma) [1830565] {CVE-2019-16231}- [fs] NFSv4: Ensure the delegation cred is pinned when we call delegreturn (Benjamin Coddington) [1848933] - [fs] NFSv4: Ensure the delegation is pinned in nfs_do_return_delegation() (Benjamin Coddington) [1848933] - [fs] NFSv4.1 make cachethis=no for writes (Benjamin Coddington) [1848933] - [fs] NFSv4: Fix revalidation of dentries with delegations (Benjamin Coddington) [1848933] - [fs] NFSv4: Fix races between open and dentry revalidation (Benjamin Coddington) [1848933] - [fs] NFS: Fix up directory verifier races (Benjamin Coddington) [1848933] - [net] sunrpc: expiry_time should be seconds not timeval (Benjamin Coddington) [1848933] - [fs] NFSv4.0: nfs4_do_fsinfo() should not do implicit lease renewals (Benjamin Coddington) [1848933] - [fs] NFSv4: try lease recovery on NFS4ERR_EXPIRED (Benjamin Coddington) [1848933] - [fs] NFS: Fix memory leaks (Benjamin Coddington) [1848933] - [fs] nfs: optimise readdir cache page invalidation (Benjamin Coddington) [1848933] - [fs] NFS: Switch readdir to using iterate_shared() (Benjamin Coddington) [1848933] - [fs] NFS: Use kmemdup_nul() in nfs_readdir_make_qstr() (Benjamin Coddington) [1848933] - [fs] NFS: Directory page cache pages need to be locked when read (Benjamin Coddington) [1848933] - [fs] NFS: Fix memory leaks and corruption in readdir (Benjamin Coddington) [1848933] - [net] SUNRPC: Use kmemdup_nul() in rpc_parse_scope_id() (Benjamin Coddington) [1848933] - [fs] NFS: Replace various occurrences of kstrndup() with kmemdup_nul() (Benjamin Coddington) [1848933] - [fs] NFSv4: Limit the total number of cached delegations (Benjamin Coddington) [1848933] - [fs] NFSv4: Add accounting for the number of active delegations held (Benjamin Coddington) [1848933] - [fs] NFSv4: Try to return the delegation immediately when marked for return on close (Benjamin Coddington) [1848933] - [fs] NFS: Clear NFS_DELEGATION_RETURN_IF_CLOSED when the delegation is returned (Benjamin Coddington) [1848933] - [fs] NFSv4: nfs_inode_evict_delegation() should set NFS_DELEGATION_RETURNING (Benjamin Coddington) [1848933] - [fs] NFS: nfs_find_open_context() should use cred_fscmp() (Benjamin Coddington) [1848933] - [fs] NFS: nfs_access_get_cached_rcu() should use cred_fscmp() (Benjamin Coddington) [1848933] - [fs] NFSv3: FIx bug when using chacl and chmod to change acl (Benjamin Coddington) [1848933] - [fs] NFSv4.x recover from pre-mature loss of openstateid (Benjamin Coddington) [1848933] - [fs] NFS: Trust cached access if we've already revalidated the inode once (Benjamin Coddington) [1848933] - [fs] NFS: Fix nfs_direct_write_reschedule_io() (Benjamin Coddington) [1848933] - [fs] NFS: When resending after a short write, reset the reply count to zero (Benjamin Coddington) [1848933] - [fs] NFS: Improve tracing of permission calls (Benjamin Coddington) [1848933] - [fs] NFS/pnfs: Fix pnfs_generic_prepare_to_resend_writes() (Benjamin Coddington) [1848933] - [fs] NFS: Fix up fsync() when the server rebooted (Benjamin Coddington) [1848933] - [net] SUNRPC: Remove broken gss_mech_list_pseudoflavors() (Benjamin Coddington) [1848933] - [fs] NFS: Revalidate the file mapping on all fatal writeback errors (Benjamin Coddington) [1848933] - [fs] NFS: Revalidate the file size on a fatal write error (Benjamin Coddington) [1848933] - [fs] nfs: NFS_SWAP should depend on SWAP (Benjamin Coddington) [1848933] - [net] SUNRPC: constify copied structure (Benjamin Coddington) [1848933] - [fs] fs/nfs, swapon: check holes in swapfile (Benjamin Coddington) [1848933] - [net] SUNRPC: call_connect_status should handle -EPROTO (Benjamin Coddington) [1848933] - [fs] NFS: Introduce trace events triggered by page writeback errors (Benjamin Coddington) [1848933] - [net] SUNRPC: Capture signalled RPC tasks (Benjamin Coddington) [1848933] - [fs] NFS: move dprintk after nfs_alloc_fattr in nfs3_proc_lookup (Benjamin Coddington) [1848933] - [fs] NFS4: Remove unneeded semicolon (Benjamin Coddington) [1848933] - [fs] nfs: encode nfsv4 timestamps as 64-bit (Benjamin Coddington) [1848933] - [fs] nfs: remove timespec from xdr_encode_nfstime (Benjamin Coddington) [1848933] - [fs] nfs: use timespec64 in nfs_fattr (Benjamin Coddington) [1848933] - [net] sunrpc: convert to time64_t for expiry (Benjamin Coddington) [1848933] - [fs] nfsd: use true, false for bool variable in nfssvc.c (Benjamin Coddington) [1848933] - [fs] nfsd: use true, false for bool variable in nfs4proc.c (Benjamin Coddington) [1848933] - [fs] nfsd: use true, false for bool variable in vfs.c (Benjamin Coddington) [1848933] - [fs] nfsd: remove nfs4_reset_lease() declarations (Benjamin Coddington) [1848933] - [fs] nfsd: use ktime_get_real_seconds() in nfs4_verifier (Benjamin Coddington) [1848933] - [fs] nfsd: use boottime for lease expiry calculation (Benjamin Coddington) [1848933] - [fs] nfsd: fix jiffies/time_t mixup in LRU list (Benjamin Coddington) [1848933] - [fs] nfsd: fix delay timer on 32-bit architectures (Benjamin Coddington) [1848933] - [fs] nfsd: use time64_t in nfsd_proc_setattr() check (Benjamin Coddington) [1848933] - [fs] nfsd: pass a 64-bit guardtime to nfsd_setattr() (Benjamin Coddington) [1848933] - [fs] nfsd: make 'boot_time' 64-bit wide (Benjamin Coddington) [1848933] - [fs] nfsd: use timespec64 in encode_time_delta (Benjamin Coddington) [1848933] - [fs] nfsd: handle nfs3 timestamps as unsigned (Benjamin Coddington) [1848933] - [fs] nfsd: print 64-bit timestamps in client_info_show (Benjamin Coddington) [1848933] - [fs] nfsd: use ktime_get_seconds() for timestamps (Benjamin Coddington) [1848933] - [fs] nfsd: remove unnecessary assertion in nfsd4_encode_replay (Benjamin Coddington) [1848933] - [fs] nfsd: Clone should commit src file metadata too (Benjamin Coddington) [1848933] - [fs] nfsd4: Remove unneeded semicolon (Benjamin Coddington) [1848933] - [fs] nfs: fix timstamp debug prints (Benjamin Coddington) [1848933] - [net] nfs: use time64_t internally (Benjamin Coddington) [1848933] - [fs] nfsd: Return the correct number of bytes written to the file (Benjamin Coddington) [1848933] - [fs] nfsd: Fix up some unused variable warnings (Benjamin Coddington) [1848933] - [kernel] blktrace: ensure our debugfs dir exists (Ming Lei) [1816559] {CVE-2019-19770} - [kernel] blktrace: fix debugfs use after free (Ming Lei) [1816559] {CVE-2019-19770} - [block] loop: be paranoid on exit and prevent new additions / removals (Ming Lei) [1816559] {CVE-2019-19770} - [kernel] blktrace: annotate required lock on do_blk_trace_setup() (Ming Lei) [1816559] {CVE-2019-19770} - [block] block: revert back to synchronous request_queue removal (Ming Lei) [1816559] {CVE-2019-19770} - [block] block: clarify context for refcount increment helpers (Ming Lei) [1816559] {CVE-2019-19770} - [block] block: add docs for gendisk / request_queue refcount helpers (Ming Lei) [1816559] {CVE-2019-19770} - [kernel] blktrace: no need to check return value of debugfs_create functions (Ming Lei) [1816559] {CVE-2019-19770} - [kernel] blktrace: Avoid sparse warnings when assigning q->blk_trace (Ming Lei) [1816559] {CVE-2019-19770} - [kernel] blktrace: break out of blktrace setup on concurrent calls (Ming Lei) [1816559] {CVE-2019-19770} - [nvme] nvme-fc: don't call nvme_cleanup_cmd() for AENs (Ewan Milne) [1847572] - [nvme] nvme-fc: convert assoc_active flag to bit op (Ewan Milne) [1847572] - [nvme] nvme-fc: Ensure private pointers are NULL if no data (Ewan Milne) [1847572] - [nvme] nvme-multipath: do not reset on unknown status (Ewan Milne) [1847572] - [documentation] x86/speculation: Add Ivy Bridge to affected list (Josh Poimboeuf) [1827192] {CVE-2020-0543} - [documentation] x86/speculation: Add SRBDS vulnerability and mitigation documentation (Josh Poimboeuf) [1827192] {CVE-2020-0543} - [x86] x86/speculation: Add Special Register Buffer Data Sampling (SRBDS) mitigation (Josh Poimboeuf) [1827192] {CVE-2020-0543} - [x86] x86/cpu: Add 'table' argument to cpu_matches() (Josh Poimboeuf) [1827192] {CVE-2020-0543} - [x86] x86/cpu: Add a steppings field to struct x86_cpu_id (Josh Poimboeuf) [1827192] {CVE-2020-0543} - [x86] x86/cpu/bugs: Convert to new matching macros (Josh Poimboeuf) [1827192] {CVE-2020-0543} - [crypto] crypto: simd - correctly take reqsize of wrapped skcipher into account (Mark Salter) [1830471] - [fs] nfsd: depend on CRYPTO_MD5 for legacy client tracking (Benjamin Coddington) [1847468] - [fs] nfsd: check for EBUSY from vfs_rmdir/vfs_unink (Benjamin Coddington) [1847468] - [fs] NFS: Fallocate should use the nfs4_fattr_bitmap (Benjamin Coddington) [1847468] - [fs] NFS: Return -ETXTBSY when attempting to write to a swapfile (Benjamin Coddington) [1847468] - [fs] fs: nfs: sysfs: Remove NULL check before kfree (Benjamin Coddington) [1847468] - [fs] NFS: remove unneeded semicolon (Benjamin Coddington) [1847468] - [fs] NFSv4: add declaration of current_stateid (Benjamin Coddington) [1847468] - [include] sunrpc: remove __KERNEL__ ifdefs (Benjamin Coddington) [1847468] - [fs] nfsd: document callback_wq serialization of callback code (Benjamin Coddington) [1847468] - [fs] nfsd: mark cb path down on unknown errors (Benjamin Coddington) [1847468] - [net] SUNRPC: Avoid RPC delays when exiting suspend (Benjamin Coddington) [1847468] - [fs] NFSv4: Don't retry the GETATTR on old stateid in nfs4_delegreturn_done() (Benjamin Coddington) [1847468] - [fs] NFSv4: Handle NFS4ERR_OLD_STATEID in delegreturn (Benjamin Coddington) [1847468] - [fs] NFSv4: Fix races between open and delegreturn (Benjamin Coddington) [1847468] - [fs] NFS: nfs_inode_find_state_and_recover() fix stateid matching (Benjamin Coddington) [1847468] - [fs] NFSv4: Fix nfs4_inode_make_writeable() (Benjamin Coddington) [1847468] - [fs] NFSv4: nfs4_return_incompatible_delegation() should check delegation validity (Benjamin Coddington) [1847468] - [fs] NFSv4: Don't reclaim delegations that have been returned or revoked (Benjamin Coddington) [1847468] - [fs] NFSv4: Ignore requests to return the delegation if it was revoked (Benjamin Coddington) [1847468] - [fs] NFSv4: Revoke the delegation on success in nfs4_delegreturn_done() (Benjamin Coddington) [1847468] - [fs] NFSv4: Update the stateid seqid in nfs_revoke_delegation() (Benjamin Coddington) [1847468] - [fs] NFSv4: Clear the NFS_DELEGATION_REVOKED flag in nfs_update_inplace_delegation() (Benjamin Coddington) [1847468] - [fs] NFSv4: Hold the delegation spinlock when updating the seqid (Benjamin Coddington) [1847468] - [fs] NFSv4: Don't remove the delegation from the super_list more than once (Benjamin Coddington) [1847468] - [fs] NFS: Rename nfs_inode_return_delegation_noreclaim() (Benjamin Coddington) [1847468] - [fs] NFSv4: fail nfs4_refresh_delegation_stateid() when the delegation was revoked (Benjamin Coddington) [1847468] - [fs] NFSv4: Delegation recalls should not find revoked delegations (Benjamin Coddington) [1847468] - [fs] NFSv4: nfs4_callback_getattr() should ignore revoked delegations (Benjamin Coddington) [1847468] - [fs] NFSv4: Fix delegation handling in update_open_stateid() (Benjamin Coddington) [1847468] - [fs] NFSv4.1: Don't rebind to the same source port when reconnecting to the server (Benjamin Coddington) [1847468] - [fs] NFS/pnfs: Separate NFSv3 DS and MDS traffic (Benjamin Coddington) [1847468] - [fs] pNFS: nfs3_set_ds_client should set NFS_CS_NOPING (Benjamin Coddington) [1847468] - [fs] NFS: Add a flag to tell nfs_client to set RPC_CLNT_CREATE_NOPING (Benjamin Coddington) [1847468] - [fs] NFS: Use non-atomic bit ops when initialising struct nfs_client_initdata (Benjamin Coddington) [1847468] - [fs] NFSv3: Clean up timespec encode (Benjamin Coddington) [1847468] - [fs] NFSv2: Clean up timespec encode (Benjamin Coddington) [1847468] - [fs] NFSv2: Fix a typo in encode_sattr() (Benjamin Coddington) [1847468] - [fs] NFSv4: NFSv4 callbacks also support 64-bit timestamps (Benjamin Coddington) [1847468] - [fs] NFSv4: Encode 64-bit timestamps (Benjamin Coddington) [1847468] - [fs] NFS: Convert struct nfs_fattr to use struct timespec64 (Benjamin Coddington) [1847468] - [fs] NFS: If nfs_mountpoint_expiry_timeout < 0, do not expire submounts (Benjamin Coddington) [1847468] - [net] SUNRPC: Add trace points to observe transport congestion control (Benjamin Coddington) [1847468] - [net] SUNRPC: Eliminate log noise in call_reserveresult (Benjamin Coddington) [1847468] - [fs] nfsd: remove private bin2hex implementation (Benjamin Coddington) [1847468] - [fs] nfsd: remove set but not used variable 'len' (Benjamin Coddington) [1847468] - [fs] NFSv3: fix rpc receive buffer size for MOUNT call (Steve Dickson) [1837034] - [fs] NFS: remove unused macros (Steve Dickson) [1837034] - [mm] mm, slab: fix sign conversion problem in memcg_uncharge_slab() (Waiman Long) [1849016] - [mm] mm: fix false-positive OVERCOMMIT_GUESS failures (Waiman Long) [1849016] - [mm] mm: remove CONFIG_MIGRATE_VMA_HELPER (Karol Herbst) [1847908] - [nvdimm] libnvdimm: Export the target_node attribute for regions and namespaces (Jeff Moyer) [1783157] - [dax] dax: Add numa_node to the default device-dax attributes (Jeff Moyer) [1783157] - [nvdimm] libnvdimm: Simplify root read-only definition for the 'resource' attribute (Jeff Moyer) [1783157] - [dax] dax: Simplify root read-only definition for the 'resource' attribute (Jeff Moyer) [1783157] - [dax] dax: Create a dax device_type (Jeff Moyer) [1783157] - [nvdimm] libnvdimm: Move nvdimm_bus_attribute_group to device_type (Jeff Moyer) [1783157] - [acpi] libnvdimm: Move nvdimm_attribute_group to device_type (Jeff Moyer) [1783157] - [acpi] libnvdimm: Move nd_mapping_attribute_group to device_type (Jeff Moyer) [1783157] - [nvdimm] libnvdimm: Move nd_region_attribute_group to device_type (Jeff Moyer) [1783157] - [nvdimm] libnvdimm: Move nd_numa_attribute_group to device_type (Jeff Moyer) [1783157] - [nvdimm] libnvdimm: Move nd_device_attribute_group to device_type (Jeff Moyer) [1783157] - [nvdimm] libnvdimm: Move region attribute group definition (Jeff Moyer) [1783157] - [nvdimm] libnvdimm: Move attribute groups to device type (Jeff Moyer) [1783157] - [nvdimm] libnvdimm/region: Initialize bad block for volatile namespaces (Jeff Moyer) [1783157] - [x86] x86/mce: Add Xeon Icelake to list of CPUs that support PPIN (Steve Best) [1848710] - [powerpc] powerpc/kernel: Enables memory hot-remove after reboot on pseries guests (David Gibson) [1848844] - [fs] cifs: multichannel: try to rebind when reconnecting a channel (Leif Sahlberg) [1842759] - [fs] cifs: multichannel: use pointer for binding channel (Leif Sahlberg) [1842759] - [fs] cifs: multichannel: move channel selection above transport layer (Leif Sahlberg) [1842759] - [fs] cifs: move some variables off the stack in smb2_ioctl_query_info (Leif Sahlberg) [1842759] - [fs] cifs: reduce stack use in smb2_compound_op (Leif Sahlberg) [1842759] - [fs] cifs: multichannel: always zero struct cifs_io_parms (Leif Sahlberg) [1842759] - [fs] smb3: default to minimum of two channels when multichannel specified (Leif Sahlberg) [1842759] - [fs] cifs: multichannel: move channel selection in function (Leif Sahlberg) [1842759] - [mm] x86/init: fix build with CONFIG_SWAP=n (Waiman Long) [1839415] - [netdrv] ionic: add pcie_print_link_status (Jonathan Toppins) [1846506] - [netdrv] ionic: no link check while resetting queues (Jonathan Toppins) [1846953] - [netdrv] ionic: export features for vlans to use (Jonathan Toppins) [1846868] - [netdrv] ionic: remove support for mgmt device (Jonathan Toppins) [1846506] - [netdrv] ionic: wait on queue start until after IFF_UP (Jonathan Toppins) [1844924] - [netdrv] ionic: add more ethtool stats (Jonathan Toppins) [1848149] - [netdrv] ionic: more ionic name tweaks (Jonathan Toppins) [1848149] - [netdrv] ionic: ionic_intr_free parameter change (Jonathan Toppins) [1848149] - [netdrv] ionic: reset device at probe (Jonathan Toppins) [1848149] - [netdrv] ionic: shorter dev cmd wait time (Jonathan Toppins) [1848149] - [netdrv] ionic: add support for more xcvr types (Jonathan Toppins) [1848149] - [netdrv] ionic: protect vf calls from fw reset (Jonathan Toppins) [1848149] - [netdrv] ionic: updates to ionic FW api description (Jonathan Toppins) [1848149] - [netdrv] ionic: support longer tx sg lists (Jonathan Toppins) [1848149] - [netdrv] ionic: Use debugfs_create_bool() to export bool (Jonathan Toppins) [1848149] - [netdrv] drivers:Remove inclusion of vermagic header (Jonathan Toppins) [1848149] - [net] SUNRPC: Destroy the back channel when we destroy the host transport (Benjamin Coddington) [1846984] - [net] SUNRPC: fix race to sk_err after xs_error_report (Benjamin Coddington) [1846984] - [fs] NFS: Remove redundant mirror tracking in O_DIRECT (Benjamin Coddington) [1846984] - [fs] nfs: Fix nfsi->nrequests count error on nfs_inode_remove_request (Benjamin Coddington) [1846984] - [net] sunrpc: clean up indentation issue (Benjamin Coddington) [1846984] - [fs] NFS: Optimise the default readahead size (Benjamin Coddington) [1846984] - [fs] nfsd: fix nfs read eof detection (Benjamin Coddington) [1846984] - [fs] nfsd: Make nfsd_reset_boot_verifier_locked static (Benjamin Coddington) [1846984] - [fs] NFSv4: Handle NFS4ERR_OLD_STATEID in LOCKU (Benjamin Coddington) [1846984] - [fs] NFSv4: Handle NFS4ERR_OLD_STATEID in CLOSE/OPEN_DOWNGRADE (Benjamin Coddington) [1846984] - [fs] NFSv4: Fix OPEN_DOWNGRADE error handling (Benjamin Coddington) [1846984] - [fs] pNFS: Handle NFS4ERR_OLD_STATEID on layoutreturn by bumping the state seqid (Benjamin Coddington) [1846984] - [fs] NFSv4: Add a helper to increment stateid seqids (Benjamin Coddington) [1846984] - [fs] NFSv4: Handle RPC level errors in LAYOUTRETURN (Benjamin Coddington) [1846984] - [fs] NFSv4: Handle NFS4ERR_DELAY correctly in return-on-close (Benjamin Coddington) [1846984] - [fs] NFSv4: Clean up pNFS return-on-close error handling (Benjamin Coddington) [1846984] - [fs] NFS: remove unused check for negative dentry (Benjamin Coddington) [1846984] - [fs] NFSv3: use nfs_add_or_obtain() to create and reference inodes (Benjamin Coddington) [1846984] - [fs] NFS: Refactor nfs_instantiate() for dentry referencing callers (Benjamin Coddington) [1846984] - [fs] nfs_instantiate(): prevent multiple aliases for directory inode (Benjamin Coddington) [1846984] - [net] SUNRPC: Rename xdr_buf_read_netobj to xdr_buf_read_mic (Benjamin Coddington) [1846984] - [fs] nfsd: degraded slot-count more gracefully as allocation nears exhaustion (Benjamin Coddington) [1846984] - [fs] nfsd: handle drc over-allocation gracefully (Benjamin Coddington) [1846984] - [net] SUNRPC: RPC level errors should always set task->tk_rpc_status (Benjamin Coddington) [1846984] - [fs] nfsd: Support the server resetting the boot verifier (Benjamin Coddington) [1846984] - [net] sunrpc: Use kzfree rather than its implementation (Benjamin Coddington) [1846984] - [fs] nfsd: eliminate an unnecessary acl size limit (Benjamin Coddington) [1846984] - [fs] Deprecate nfsd fault injection (Benjamin Coddington) [1846984] - [fs] NFS: Have nfs4_proc_get_lease_time() call nfs4_call_sync_custom() (Benjamin Coddington) [1846984] - [fs] NFS: Have nfs41_proc_secinfo_no_name() call nfs4_call_sync_custom() (Benjamin Coddington) [1846984] - [fs] NFS: Have nfs41_proc_reclaim_complete() call nfs4_call_sync_custom() (Benjamin Coddington) [1846984] - [fs] NFS: Have _nfs4_proc_secinfo() call nfs4_call_sync_custom() (Benjamin Coddington) [1846984] - [fs] NFS: Have nfs4_proc_setclientid() call nfs4_call_sync_custom() (Benjamin Coddington) [1846984] - [fs] NFS: Add an nfs4_call_sync_custom() function (Benjamin Coddington) [1846984] - [fs] NFSv4: Fix a memory leak bug (Benjamin Coddington) [1846984] - [net] xprtrdma: Fix bc_max_slots return value (Benjamin Coddington) [1846984] - [net] SUNRPC: Inline xdr_commit_encode (Benjamin Coddington) [1846984] - [net] SUNRPC: Remove rpc_wake_up_queued_task_on_wq() (Benjamin Coddington) [1846984] - [fs] fs: nfs: Fix possible null-pointer dereferences in encode_attrs() (Benjamin Coddington) [1846984] - [fs] nfsd: Fix the documentation for svcxdr_tmpalloc() (Benjamin Coddington) [1846984] - [fs] nfsd: Remove unnecessary NULL checks (Benjamin Coddington) [1846984] - [s390] vfio-ccw: make vfio_ccw_regops variables declarations static (Cornelia Huck) [1660917] - [s390] vfio-ccw: Add trace for CRW event (Cornelia Huck) [1660917] - [s390] vfio-ccw: Wire up the CRW irq and CRW region (Cornelia Huck) [1660917] - [s390] vfio-ccw: Introduce a new CRW region (Cornelia Huck) [1660917] - [s390] vfio-ccw: Refactor IRQ handlers (Cornelia Huck) [1660917] - [s390] vfio-ccw: Introduce a new schib region (Cornelia Huck) [1660917] - [s390] vfio-ccw: Refactor the unregister of the async regions (Cornelia Huck) [1660917] - [s390] vfio-ccw: Register a chp_event callback for vfio-ccw (Cornelia Huck) [1660917] - [s390] vfio-ccw: Introduce new helper functions to free/destroy regions (Cornelia Huck) [1660917] - [documentation] vfio-ccw: document possible errors (Cornelia Huck) [1660917] - [s390] vfio-ccw: Enable transparent CCW IPL from DASD (Cornelia Huck) [1660917] - [s390] cio: generate delayed uevent for vfio-ccw subchannels (Cornelia Huck) [1660917] - [s390] vfio-ccw: Use the correct style for SPDX License Identifier (Cornelia Huck) [1660917] - [s390] vfio-ccw: Rework the io_fctl trace (Cornelia Huck) [1660917] - [s390] vfio-ccw: Add a trace for asynchronous requests (Cornelia Huck) [1660917] - [s390] vfio-ccw: Trace the FSM jumptable (Cornelia Huck) [1660917] - [s390] vfio-ccw: Refactor how the traces are built (Cornelia Huck) [1660917] - [s390] vfio-ccw: fix error return code in vfio_ccw_sch_init() (Cornelia Huck) [1660917] - [s390] vfio-ccw: add some logging (Cornelia Huck) [1660917] - [s390] vfio-ccw: make vfio_ccw_async_region_ops static (Cornelia Huck) [1660917] - [documentation] documentation: fix vfio-ccw doc (Cornelia Huck) [1660917] - [documentation] vfio-ccw: Update documentation for csch/hsch (Cornelia Huck) [1660917] - [s390] vfio-ccw: Don't call cp_free if we are processing a channel program (Cornelia Huck) [1660917] - [s390] vfio-ccw: Set pa_nr to 0 if memory allocation fails for pa_iova_pfn (Cornelia Huck) [1660917] - [s390] vfio-ccw: Fix memory leak and don't call cp_free in cp_init (Cornelia Huck) [1660917] - [s390] vfio-ccw: Fix misleading comment when setting orb.cmd.c64 (Cornelia Huck) [1660917] - [s390] vfio-ccw: Fix the conversion of Format-0 CCWs to Format-1 (Cornelia Huck) [1660917] - [s390] cio: introduce driver_override on the css bus (Cornelia Huck) [1660917] - [s390] vfio-ccw: make convert_ccw0_to_ccw1 static (Cornelia Huck) [1660917] - [s390] vfio-ccw: Remove copy_ccw_from_iova() (Cornelia Huck) [1660917] - [s390] vfio-ccw: Factor out the ccw0-to-ccw1 transition (Cornelia Huck) [1660917] - [s390] vfio-ccw: Copy CCW data outside length calculation (Cornelia Huck) [1660917] - [s390] vfio-ccw: Skip second copy of guest cp to host (Cornelia Huck) [1660917] - [s390] vfio-ccw: Move guest_cp storage into common struct (Cornelia Huck) [1660917] - [s390] cio: Combine direct and indirect CCW paths (Cornelia Huck) [1660917] - [s390] vfio-ccw: Rearrange IDAL allocation in direct CCW (Cornelia Huck) [1660917] - [s390] vfio-ccw: Remove pfn_array_table (Cornelia Huck) [1660917] - [s390] vfio-ccw: Adjust the first IDAW outside of the nested loops (Cornelia Huck) [1660917] - [s390] vfio-ccw: Rearrange pfn_array and pfn_array_table arrays (Cornelia Huck) [1660917] - [s390] cio: Use generalized CCW handler in cp_init() (Cornelia Huck) [1660917] - [s390] cio: Generalize the TIC handler (Cornelia Huck) [1660917] - [s390] cio: Refactor the routine that handles TIC CCWs (Cornelia Huck) [1660917] - [s390] cio: Squash cp_free() and cp_unpin_free() (Cornelia Huck) [1660917] - [s390] vfio-ccw: Destroy kmem cache region on module exit (Cornelia Huck) [1660917] - [documentation] docs: s390: convert docs to ReST and rename to *.rst (Cornelia Huck) [1660917] - [s390] cio: Remove vfio-ccw checks of command codes (Cornelia Huck) [1660917] - [s390] cio: Allow zero-length CCWs in vfio-ccw (Cornelia Huck) [1660917] - [s390] cio: Don't pin vfio pages for empty transfers (Cornelia Huck) [1660917] - [s390] cio: Initialize the host addresses in pfn_array (Cornelia Huck) [1660917] - [s390] cio: Split pfn_array_alloc_pin into pieces (Cornelia Huck) [1660917] - [s390] cio: Set vfio-ccw FSM state before ioeventfd (Cornelia Huck) [1660917] - [s390] cio: Update SCSW if it points to the end of the chain (Cornelia Huck) [1660917] - [s390] vfio-ccw: Prevent quiesce function going into an infinite loop (Cornelia Huck) [1660917] - [s390] vfio-ccw: Release any channel program when releasing/removing vfio-ccw mdev (Cornelia Huck) [1660917] - [s390] vfio-ccw: Do not call flush_workqueue while holding the spinlock (Cornelia Huck) [1660917] - [s390] vfio-ccw: add handling for async channel instructions (Cornelia Huck) [1660917] - [s390] cio: export hsch to modules (Cornelia Huck) [1660917] - [s390] vfio-ccw: add capabilities chain (Cornelia Huck) [1660917] - [s390] vfio-ccw: protect the I/O region (Cornelia Huck) [1660917] - [s390] vfio-ccw: rework ssch state handling (Cornelia Huck) [1660917] - [s390] vfio-ccw: make it safe to access channel programs (Cornelia Huck) [1660917] - [s390] vfio: ccw: only free cp on final interrupt (Cornelia Huck) [1660917] - [s390] cio: Use cpa range elsewhere within vfio-ccw (Cornelia Huck) [1660917] - [s390] cio: Fix vfio-ccw handling of recursive TICs (Cornelia Huck) [1660917] - [s390] vfio-ccw: Don't assume there are more ccws after a TIC (Cornelia Huck) [1660917] - [s390] vfio: ccw: Merge BUSY and BOXED states (Cornelia Huck) [1660917] - [s390] cio: Fix cleanup when unsupported IDA format is used (Cornelia Huck) [1660917] - [s390] cio: Fix cleanup of pfn_array alloc failure (Cornelia Huck) [1660917] - [s390] vfio: ccw: Register mediated device once all structures are initialized (Cornelia Huck) [1660917] - [s390] cio: make vfio_ccw_io_region static (Cornelia Huck) [1660917] - [s390] cio: Fix how vfio-ccw checks pinned pages (Cornelia Huck) [1660917] - [s390] cio: Refactor alloc of ccw_io_region (Cornelia Huck) [1660917] - [s390] cio: Convert ccw_io_region to pointer (Cornelia Huck) [1660917] - [netdrv] ibmvnic: Harden device login requests (Steve Best) [1847183] - [mm] s390/cmm: fix information leak in cmm_timeout_handler() (Nico Pache) [1846532] {CVE-2020-10773} - [fs] kernfs: fix potential null pointer dereference (Carlos Maiolino) [1847872] - [netdrv] net: sfc: reject unsupported coalescing params (Jarod Wilson) [1844659] - [netdrv] iavf: increase reset complete wait time (Stefan Assmann) [1844598] - [netdrv] iavf: Fix reporting 2.5 Gb and 5Gb speeds (Stefan Assmann) [1844598] - [netdrv] iavf: use appropriate enum for comparison (Stefan Assmann) [1844598] - [netdrv] iavf: fix speed reporting over virtchnl (Stefan Assmann) [1844598] - [block] blk-mq: fix blk_mq_all_tag_iter (Ming Lei) [1824037] - [block] blk-mq: split out a __blk_mq_get_driver_tag helper (Ming Lei) [1824037] - [block] blk-mq: drain I/O when all CPUs in a hctx are offline (Ming Lei) [1824037] - [block] blk-mq: add blk_mq_all_tag_iter (Ming Lei) [1824037] - [block] blk-mq: open code __blk_mq_alloc_request in blk_mq_alloc_request_hctx (Ming Lei) [1824037] - [block] blk-mq: use BLK_MQ_NO_TAG in more places (Ming Lei) [1824037] - [block] blk-mq: rename BLK_MQ_TAG_FAIL to BLK_MQ_NO_TAG (Ming Lei) [1824037] - [block] blk-mq: move more request initialization to blk_mq_rq_ctx_init (Ming Lei) [1824037] - [block] blk-mq: simplify the blk_mq_get_request calling convention (Ming Lei) [1824037] - [block] blk-mq: remove a pointless queue enter pair in blk_mq_alloc_request_hctx (Ming Lei) [1824037] - [block] blk-mq: remove a pointless queue enter pair in blk_mq_alloc_request (Ming Lei) [1824037] - [block] blk-mq: move the call to blk_queue_enter_live out of blk_mq_get_request (Ming Lei) [1824037] - [nvme] nvme: force complete cancelled requests (Ming Lei) [1824037] - [block] blk-mq: blk-mq: provide forced completion method (Ming Lei) [1824037] - [block] block: Limit number of items taken from the I/O scheduler in one go (Ming Lei) [1824037] - [scsi] Revert "scsi: core: run queue if SCSI device queue isn't ready and queue is idle" (Ming Lei) [1824037] - [block] blk-mq: Rerun dispatching in the case of budget contention (Ming Lei) [1824037] - [block] blk-mq: Add blk_mq_delay_run_hw_queues() API call (Ming Lei) [1824037] - [block] blk-mq: In blk_mq_dispatch_rq_list() "no budget" is a reason to kick (Ming Lei) [1824037] - [block] blk-mq: Put driver tag in blk_mq_dispatch_rq_list() when no budget (Ming Lei) [1824037] - [block] blk-mq: don't commit_rqs() if none were queued (Ming Lei) [1824037] - [block] blk-mq: Remove some unused function arguments (Ming Lei) [1824037] - [block] blk-mq-tag: document tag iteration helper return value (Ming Lei) [1824037] - [block] blk-mq: Document the functions that iterate over requests (Ming Lei) [1824037] - [block] loop: Better discard support for block devices (Ming Lei) [1824037] - [block] loop: Report EOPNOTSUPP properly (Ming Lei) [1824037] - [block] block: keep bdi->io_pages in sync with max_sectors_kb for stacked devices (Ming Lei) [1824037] - [block] block, zoned: fix integer overflow with BLKRESETZONE et al (Ming Lei) [1824037] - [block] block: Fix use-after-free issue accessing struct io_cq (Ming Lei) [1824037] - [netdrv] cxgb4: add EOTID tracking and software context dump (Vishal Kulkarni) [1828665] - [netdrv] cxgb4: tune burst buffer size for TC-MQPRIO offload (Vishal Kulkarni) [1828665] - [netdrv] cxgb4: improve credits recovery in TC-MQPRIO Tx path (Vishal Kulkarni) [1828665] - [netdrv] cxgb4: fix delete filter entry fail in unload path (Vishal Kulkarni) [1828665] - [netdrv] cxgb4: fix large delays in PTP synchronization (Vishal Kulkarni) [1828665] - [netdrv] net/cxgb4: Check the return from t4_query_params properly (Vishal Kulkarni) [1828665] - [netdrv] cxgb4: free MQPRIO resources in shutdown path (Vishal Kulkarni) [1828665] - [netdrv] cxgb4: fix MPS index overwrite when setting MAC address (Vishal Kulkarni) [1828665] - [netdrv] cxgb4: Add support to catch bits set in INT_CAUSE5 (Vishal Kulkarni) [1828665] - [netdrv] cxgb4: remove set but not used variable 'tab' (Vishal Kulkarni) [1828665] - [netdrv] cxgb4/ptp: pass the sign of offset delta in FW CMD (Vishal Kulkarni) [1828665] - [netdrv] cxgb4: fix Txq restart check during backpressure (Vishal Kulkarni) [1828665] - [netdrv] cxgb4: fix throughput drop during Tx backpressure (Vishal Kulkarni) [1828665] - [netdrv] cxgb4: rework TC filter rule insertion across regions (Vishal Kulkarni) [1828665] - [netdrv] cxgb4: update T5/T6 adapter register ranges (Vishal Kulkarni) [1828665] - [netdrv] cxgb4: fix checks for max queues to allocate (Vishal Kulkarni) [1828665] - [netdrv] net/chelsio: Don't set N/A for not available FW (Vishal Kulkarni) [1828665] - [netdrv] cxgb4: Added tls stats prints (Vishal Kulkarni) [1828665] - [netdrv] l2t_seq_next should increase position index (Vishal Kulkarni) [1828665] - [netdrv] seq_tab_next() should increase position index (Vishal Kulkarni) [1828665] - [netdrv] cxgb4: reject overlapped queues in TC-MQPRIO offload (Vishal Kulkarni) [1828665] - [netdrv] cxgb4: fix Tx multi channel port rate limit (Vishal Kulkarni) [1828665] - [netdrv] cxgb4/cxgb4vf: fix flow control display for auto negotiation (Vishal Kulkarni) [1828665] - [netdrv] cxgb4: fix refcount init for TC-MQPRIO offload (Vishal Kulkarni) [1828665] - [netdrv] cxgb4/chtls: fix ULD connection failures due to wrong TID base (Vishal Kulkarni) [1828665] - [netdrv] cxgb4: fix missed high priority region calculation (Vishal Kulkarni) [1828665] - [netdrv] cxgb4: Fix kernel panic while accessing sge_info (Vishal Kulkarni) [1828665] - [netdrv] cxgb4: add support for high priority filters (Vishal Kulkarni) [1828665] - [netdrv] cxgb4: add stats for MQPRIO QoS offload Tx path (Vishal Kulkarni) [1828665] - [netdrv] cxgb4: add UDP segmentation offload support (Vishal Kulkarni) [1828665] - [netdrv] cxgb4/chcr: update SGL DMA unmap for USO (Vishal Kulkarni) [1828665] - [netdrv] cxgb4: add TC-MATCHALL classifier ingress offload (Vishal Kulkarni) [1828665] - [netdrv] cxgb4: check rule prio conflicts before offload (Vishal Kulkarni) [1828665] - [netdrv] cxgb4: add TC-MATCHALL classifier egress offload (Vishal Kulkarni) [1828665] - [netdrv] cxgb4: remove unneeded semicolon for switch block (Vishal Kulkarni) [1828665] - [netdrv] cxgb4: Fix an error code in cxgb4_mqprio_alloc_hw_resources() (Vishal Kulkarni) [1828665] - [netdrv] cxgb4: make function 'cxgb4_mqprio_free_hw_resources' static (Vishal Kulkarni) [1828665] - [netdrv] cxgb4: remove redundant assignment to hdr_len (Vishal Kulkarni) [1828665] - [netdrv] cxgb4: fix 64-bit division on i386 (Vishal Kulkarni) [1828665] - [netdrv] cxgb4: Use match_string() helper to simplify the code (Vishal Kulkarni) [1828665] - [netdrv] cxgb4: add FLOWC based QoS offload (Vishal Kulkarni) [1828665] - [netdrv] cxgb4: add Tx and Rx path for ETHOFLD traffic (Vishal Kulkarni) [1828665] - [netdrv] cxgb4: add ETHOFLD hardware queue support (Vishal Kulkarni) [1828665] - [netdrv] cxgb4: parse and configure TC-MQPRIO offload (Vishal Kulkarni) [1828665] - [netdrv] cxgb4: rework queue config and MSI-X allocation (Vishal Kulkarni) [1828665] - [netdrv] cxgb4: query firmware for QoS offload resources (Vishal Kulkarni) [1828665] - [netdrv] cxgb4: Add pci reset handler (Vishal Kulkarni) [1828665] - [netdrv] cxgb4/l2t: Simplify 't4_l2e_free()' and '_t4_l2e_free()' (Vishal Kulkarni) [1828665] - [netdrv] cxgb4: fix panic when attaching to ULD fail (Vishal Kulkarni) [1828665] - [netdrv] cxgb4: request the TX CIDX updates to status page (Vishal Kulkarni) [1828665] - [netdrv] cxgb4: Signedness bug in init_one() (Vishal Kulkarni) [1828665] - [netdrv] cxgb4: no need to check return value of debugfs_create functions (Vishal Kulkarni) [1828665] - [netdrv] cxgb4: smt: Use normal int for refcount (Vishal Kulkarni) [1828665] - [netdrv] cxgb4: smt: Add lock for atomic_dec_and_test (Vishal Kulkarni) [1828665] - [fs] xfs: clear PF_MEMALLOC before exiting xfsaild thread (Brian Foster) [1827912]- [drm] drm/amd/display: Defer cursor lock until after VUPDATE (Lyude Paul) [1814893] - [drm] drm/amd/display: Use cursor locking to prevent flip delays (Lyude Paul) [1814893] - [drm] drm/amdgpu/display: Fix Pollock Variant Detection (Lyude Paul) [1814893] - [drm] drm/amd/display: Fix RV2 Variant Detection (Lyude Paul) [1814893] - [drm] drm/amdgpu/display: fix pci revision id fetching (Lyude Paul) [1814893] - [drm] drm/nouveau/device: detect vGPUs (Lyude Paul) [1814893] - [drm] drm/nouveau/device: detect if changing endianness failed (Lyude Paul) [1814893] - [drm] drm/nouveau/device: rework mmio mapping code to get rid of second map (Lyude Paul) [1814893] - [drm] drm/nouveau/disp/gm200-: detect and potentially disable HDA support on some SORs (Lyude Paul) [1814893] - [drm] drm/nouveau/disp/gp100: split SOR implementation from gm200 (Lyude Paul) [1814893] - [drm] drm/nouveau/disp: modify OR allocation policy to account for HDA requirements (Lyude Paul) [1814893] - [drm] drm/nouveau/disp: split part of OR allocation logic into a function (Lyude Paul) [1814893] - [drm] drm/nouveau/disp: provide hint to OR allocation about HDA requirements (Lyude Paul) [1814893] - [drm] drm/nouveau/kms/gt215-: fix race with audio driver runpm (Lyude Paul) [1814893] - [drm] drm/nouveau/disp/hda/gv100-: NV_PDISP_SF_AUDIO_CNTRL0 register moved (Lyude Paul) [1814893] - [drm] drm/nouveau/disp/hda/gf119-: select HDA device entry based on bound head (Lyude Paul) [1814893] - [drm] drm/nouveau/disp/hda/gf119-: add HAL for programming device entry in SF (Lyude Paul) [1814893] - [drm] drm/nouveau/disp/hda/gt215-: pass head to nvkm_ior.hda.eld() (Lyude Paul) [1814893] - [drm] drm/nouveau/disp/gm200-: fix NV_PDISP_SOR_HDMI2_CTRL(n) selection (Lyude Paul) [1814893] - [drm] drm/nouveau/kms/nv50-: Share DP SST mode_valid() handling with MST (Lyude Paul) [1814893] - [drm] drm/nouveau/kms/nv50-: Move 8BPC limit for MST into nv50_mstc_get_modes() (Lyude Paul) [1814893] - [drm] drm/nouveau/kms/gv100-: Add support for interlaced modes (Lyude Paul) [1814893] - [drm] drm/nouveau/kms/nv50-: Probe SOR and PIOR caps for DP interlacing support (Lyude Paul) [1814893] - [drm] drm/nouveau/kms/nv50-: Initialize core channel in nouveau_display_create() (Lyude Paul) [1814893] - [drm] drm/nouveau/disp/gv100-: expose capabilities class (Lyude Paul) [1814893] - [drm] drm/nouveau/disp/nv50-: increase timeout on pio channel free() polling (Lyude Paul) [1814893] - [drm] drm/nouveau/kms/nv50-: wait for FIFO space on PIO channels (Lyude Paul) [1814893] - [drm] drm/nouveau/nvif: protect waits against GPU falling off the bus (Lyude Paul) [1814893] - [drm] drm/nouveau/nvif: access PTIMER through usermode class, if available (Lyude Paul) [1814893] - [drm] drm/nouveau/ttm: evict other IO mappings when running out of BAR1 space (Lyude Paul) [1814893] - [drm] drm/nouveau/kms/nv50-: clear SW state of disabled windows harder (Lyude Paul) [1814893] - [drm] drm/i915/gen12: Add aux table invalidate for all engines (Lyude Paul) [1814893] - [drm] drm/i915/gen12: Invalidate aux table entries forcibly (Lyude Paul) [1814893] - [drm] drm/i915/gen12: Flush L3 (Lyude Paul) [1814893] - [drm] drm/i915/gen12: Fix HDC pipeline flush (Lyude Paul) [1814893] - [drm] Revert "drm/i915/tgl: Include ro parts of l3 to invalidate" (Lyude Paul) [1814893] - [drm] drm/i915: Push MST link retraining to the hotplug work (Lyude Paul) [1814893] - [drm] drm/i915: Flatten intel_dp_check_mst_status() a bit (Lyude Paul) [1814893] - [drm] drm/i915/tc: Do not warn when aux power well of static TC ports timeout (Lyude Paul) [1814893] - [drm] drm/i915/tc: Catch TC users accessing FIA registers without enable aux (Lyude Paul) [1814893] - [drm] drm/i915/tc/tgl: Implement TC cold sequences (Lyude Paul) [1814893] - [drm] drm/i915/tc: Skip ref held check for TC legacy aux power wells (Lyude Paul) [1814893] - [drm] drm/i915/tc/icl: Implement TC cold sequences (Lyude Paul) [1814893] - [drm] drm/i915/display: Split hsw_power_well_enable() into two (Lyude Paul) [1814893] - [drm] drm/i915/display: Add intel_legacy_aux_to_power_domain() (Lyude Paul) [1814893] - [drm] drm/i915/display: Move out code to return the digital_port of the aux ch (Lyude Paul) [1814893] - [drm] drm/i915: Add missing deinitialization cases of load failure (Lyude Paul) [1814893] - [drm] drm/i915: split intel_modeset_init() to pre/post irq install (Lyude Paul) [1814893] - [drm] drm/i915: split i915_driver_modeset_probe() to pre/post irq install (Lyude Paul) [1814893] - [drm] drm/i915: split i915_driver_modeset_remove() to pre/post irq uninstall (Lyude Paul) [1814893] - [drm] drm/i915: split intel_modeset_driver_remove() to pre/post irq uninstall (Lyude Paul) [1814893] - [drm] drm/i915: Extract skl SAGV checking (Lyude Paul) [1814893] - [drm] drm/i915: Track active_pipes in bw_state (Lyude Paul) [1814893] - [drm] drm/i915: Use bw state for per crtc SAGV evaluation (Lyude Paul) [1814893] - [drm] drm/i915: Introduce intel_calc_active_pipes() (Lyude Paul) [1814893] - [drm] drm/i915: Add pre/post plane updates for SAGV (Lyude Paul) [1814893] - [drm] drm/i915: Prepare to extract gen specific functions from intel_can_enable_sagv (Lyude Paul) [1814893] - [drm] drm/i915: Add intel_atomic_get_bw_*_state helpers (Lyude Paul) [1814893] - [drm] drm/i915: Introduce skl_plane_wm_level accessor (Lyude Paul) [1814893] - [drm] drm/i915: do AUD_FREQ_CNTRL state save on all gen9+ platforms (Lyude Paul) [1814893] - [drm] drm/i915: Extend hotplug detect retry on TypeC connectors to 5 seconds (Lyude Paul) [1814893] - [drm] drm/i915: Add a retry counter for hotplug detect retries (Lyude Paul) [1814893] - [drm] drm/i915: Introduce intel_connector_hpd_pin() (Lyude Paul) [1814893] - [drm] drm/i915: Prefer intel_connector over drm_connector in hotplug code (Lyude Paul) [1814893] - [drm] drm/i915: Use intel_attached_encoder() (Lyude Paul) [1814893] - [drm] drm/i915/ehl: Restrict w/a 1607087056 for EHL/JSL (Lyude Paul) [1814893] - [drm] drm/i915/tgl: Initialize multicast register steering for workarounds (Lyude Paul) [1814893] - [drm] drm/i915/tgl: Make Wa_14010229206 permanent (Lyude Paul) [1814893] - [drm] drm/i915: Add Wa_1605460711 / Wa_1408767742 to ICL and EHL (Lyude Paul) [1814893] - [drm] drm/i915: Apply Wa_1406680159:icl, ehl as an engine workaround (Lyude Paul) [1814893] - [drm] drm/i915: Add Wa_1406306137:icl,ehl (Lyude Paul) [1814893] - [drm] drm/i915: Add Wa_1604278689:icl,ehl (Lyude Paul) [1814893] - [drm] drm/i915/tgl: Don't treat unslice registers as masked (Lyude Paul) [1814893] - [drm] drm/i915/tgl: Make Wa_1606700617 permanent (Lyude Paul) [1814893] - [drm] drm/i915/tgl: WaDisableGPGPUMidThreadPreemption (Lyude Paul) [1814893] - [drm] drm/i915/tgl: Move and restrict Wa_1408615072 (Lyude Paul) [1814893] - [drm] drm/i915/gen11: Moving WAs to rcs_engine_wa_init() (Lyude Paul) [1814893] - [drm] drm/i915: add Wa_14010594013: icl,ehl (Lyude Paul) [1814893] - [drm] drm/i915/tgl: Add Wa number to WaAllowPMDepthAndInvocationCountAccessFromUMD (Lyude Paul) [1814893] - [drm] drm/i915/tgl: Add note about Wa_1409142259 (Lyude Paul) [1814893] - [drm] drm/i915/tgl: Fix the Wa number of a fix (Lyude Paul) [1814893] - [drm] drm/i915/tgl: Add note about Wa_1607063988 (Lyude Paul) [1814893] - [drm] drm/i915/tgl: Add note to Wa_1607297627 (Lyude Paul) [1814893] - [drm] drm/i915/tgl: Extend Wa_1606931601 for all steppings (Lyude Paul) [1814893] - [drm] drm/i915/tgl: Add Wa_1409085225, Wa_14010229206 (Lyude Paul) [1814893] - [drm] drm/i915/tgl: Implement Wa_1806527549 (Lyude Paul) [1814893] - [drm] drm/i915/tgl: Implement Wa_1409804808 (Lyude Paul) [1814893] - [drm] drm/i915/tgl: Add Wa_1808121037 to tgl (Lyude Paul) [1814893] - [drm] drm/i915: Use engine wa list for Wa_1607090982 (Lyude Paul) [1814893] - [drm] drm/i915: Implement Wa_1607090982 (Lyude Paul) [1814893] - [drm] drm/i915: Disable tesselation clock gating on tgl A0 (Lyude Paul) [1814893] - [drm] drm/i915: Move ringbuffer WAs to engine workaround list (Lyude Paul) [1814893] - [drm] drm/i915/gt: Skip rmw for masked registers (Lyude Paul) [1814893] - [drm] drm/i915/selftests: Also wait for the scratch buffer to be bound (Lyude Paul) [1814893] - [drm] drm/i915/dp: Return the right vswing tables (Lyude Paul) [1814893] - [drm] drm/i915/dp/tgl+: Update combo phy vswing tables (Lyude Paul) [1814893] - [drm] drm/i915/tgl: Add definitions for VRR registers and bits (Lyude Paul) [1814893] - [drm] drm/i915: use forced codec wake on all gen9+ platforms (Lyude Paul) [1814893] - [drm] drm/i915/tgl: Add new PCI IDs to TGL (Lyude Paul) [1814893] - [drm] drm/i915/perf: Invalidate OA TLB on when closing perf stream (Lyude Paul) [1814893] - [drm] Bump DRM backport version to 5.6.14 (Lyude Paul) [1814893] - [drm] drm/i915/tgl+: Fix interrupt handling for DP AUX transactions (Lyude Paul) [1814893] - [drm] drm/amd/amdgpu: add raven1 part to the gfxoff quirk list (Lyude Paul) [1814893] - [drm] drm/amd/display: add basic atomic check for cursor plane (Lyude Paul) [1814893] - [drm] Make the "Reducing compressed framebufer size" message be DRM_INFO_ONCE() (Lyude Paul) [1814893] - [drm] drm/i915: Handle idling during i915_gem_evict_something busy loops (Lyude Paul) [1814893] - [drm] drm/i915: Mark concurrent submissions with a weak-dependency (Lyude Paul) [1814893] - [drm] drm/i915/gvt: Fix kernel oops for 3-level ppgtt guest (Lyude Paul) [1814893] - [drm] drm/amdgpu: force fbdev into vram (Lyude Paul) [1814893] - [drm] drm/i915/gem: Remove object_is_locked assertion from unpin_from_display_plane (Lyude Paul) [1814893] - [drm] drm/i915: Don't enable WaIncreaseLatencyIPCEnabled when IPC is disabled (Lyude Paul) [1814893] - [drm] drm/i915/gt: Make timeslicing an explicit engine property (Lyude Paul) [1814893] - [drm] drm/qxl: lost qxl_bo_kunmap_atomic_page in qxl_image_init_helper() (Lyude Paul) [1814893] - [drm] drm/amd/display: Update downspread percent to match spreadsheet for DCN2.1 (Lyude Paul) [1814893] - [drm] drm/amd/display: Defer cursor update around VUPDATE for all ASIC (Lyude Paul) [1814893] - [drm] drm/amd/display: check if REFCLK_CNTL register is present (Lyude Paul) [1814893] - [drm] drm/amd/powerplay: avoid using pm_en before it is initialized revised (Lyude Paul) [1814893] - [drm] drm/amd/display: blank dp stream before re-train the link (Lyude Paul) [1814893] - [drm] drm/i915/display: Load DP_TP_CTL/STATUS offset before use it (Lyude Paul) [1814893] - [drm] drm/i915/tgl: TBT AUX should use TC power well ops (Lyude Paul) [1814893] - [drm] drm/i915/tgl: Add Wa_14010477008:tgl (Lyude Paul) [1814893] - [drm] drm/amd/display: work around fp code being emitted outside of DC_FP_START/END (Lyude Paul) [1814893] - [drm] drm/amdgpu: drop redundant cg/pg ungate on runpm enter (Lyude Paul) [1814893] - [drm] drm/amdgpu: move kfd suspend after ip_suspend_phase1 (Lyude Paul) [1814893] - [drm] drm/amdgpu: Fix oops when pp_funcs is unset in ACPI event (Lyude Paul) [1814893] - [drm] drm/amdgpu: Correctly initialize thermal controller for GPUs with Powerplay table v0 (e.g Hawaii) (Lyude Paul) [1814893] - [drm] drm/amd/powerplay: fix resume failed as smu table initialize early exit (Lyude Paul) [1814893] - [drm] drm/bridge: anx6345: set correct BPC for display_info of connector (Lyude Paul) [1814893] - [drm] drm/i915: Use proper fault mask in interrupt postinstall too (Lyude Paul) [1814893] - [drm] drm/i915/selftests: Fix i915_address_space refcnt leak (Lyude Paul) [1814893] - [drm] drm/qxl: qxl_release use after free (Lyude Paul) [1814893] - [drm] drm/qxl: qxl_release leak in qxl_hw_surface_alloc() (Lyude Paul) [1814893] - [drm] drm/qxl: qxl_release leak in qxl_draw_dirty_fb() (Lyude Paul) [1814893] - [drm] drm/i915/gt: Check cacheline is valid before acquiring (Lyude Paul) [1814893] - [drm] drm/i915/gem: Hold obj->vma.lock over for_each_ggtt_vma() (Lyude Paul) [1814893] - [drm] drm/amd/display: Fix green screen issue after suspend (Lyude Paul) [1814893] - [drm] drm/edid: Fix off-by-one in DispID DTD pixel clock (Lyude Paul) [1814893] - [drm] drm/amdgpu: invalidate L2 before SDMA IBs (v2) (Lyude Paul) [1814893] - [dma-buf] dma-buf: Fix SET_NAME ioctl uapi (Lyude Paul) [1814893] - [drm] drm/scheduler: fix drm_sched_get_cleanup_job (Lyude Paul) [1814893] - [drm] drm/amdgpu: fix wrong vram lost counter increment V2 (Lyude Paul) [1814893] - [drm] drm/dp_mst: Zero assigned PBN when releasing VCPI slots (Lyude Paul) [1814893] - [drm] drm/amd/display: Calculate scaling ratios on every medium/full update (Lyude Paul) [1814893] - [drm] drm/amd/display: Update stream adjust in dc_stream_adjust_vmin_vmax (Lyude Paul) [1814893] - [video] fbdev: potential information leak in do_fb_ioctl() (Lyude Paul) [1814893] - [drm] drm/nouveau/gr/gp107, gp108: implement workaround for HW hanging during init (Lyude Paul) [1814893] - [drm] drm/amdkfd: kfree the wrong pointer (Lyude Paul) [1814893] - [drm] drm/nouveau: workaround runpm fail by disabling PCI power management on certain intel bridges (Lyude Paul) [1814893] - [drm] drm/nouveau/svm: fix vma range check for migration (Lyude Paul) [1814893] - [drm] drm/nouveau/svm: check for SVM initialized before migrating (Lyude Paul) [1814893] - [drm] drm/amd/display: Don't try hdcp1.4 when content_type is set to type1 (Lyude Paul) [1814893] - [drm] drm/ttm: flush the fence on the bo after we individualize the reservation object (Lyude Paul) [1814893] - [drm] drm/i915/perf: Do not clear pollin for small user read buffers (Lyude Paul) [1814893] - [drm] drm/nouveau/sec2/gv100-: add missing MODULE_FIRMWARE() (Lyude Paul) [1814893] - [drm] drm/amdgpu: fix the hw hang during perform system reboot and reset (Lyude Paul) [1814893] - [drm] drm/amdgpu/gfx9: add gfxoff quirk (Lyude Paul) [1814893] - [drm] drm/amd/powerplay: force the trim of the mclk dpm_levels if OD is enabled (Lyude Paul) [1814893] - [drm] drm/i915/gt: Fill all the unused space in the GGTT (Lyude Paul) [1814893] - [drm] drm/i915/ggtt: do not set bits 1-11 in gen12 ptes (Lyude Paul) [1814893] - [drm] drm/amdgpu: fix gfx hang during suspend with video playback (v2) (Lyude Paul) [1814893] - [drm] drm/dp_mst: Fix clearing payload state on topology disable (Lyude Paul) [1814893] - [drm] Revert "drm/dp_mst: Remove VCPI while disabling topology mgr" (Lyude Paul) [1814893] - [drm] drm/i915/gt: Treat idling as a RPS downclock event (Lyude Paul) [1814893] - [drm] drm/vboxvideo: Add missing remove_conflicting_pci_framebuffers call, v2 (Lyude Paul) [1814893] - [drm] drm/i915/icl+: Don't enable DDI IO power on a TypeC port in TBT mode (Lyude Paul) [1814893] - [drm] drm/amd/display: Check for null fclk voltage when parsing clock table (Lyude Paul) [1814893] - [drm] drm/amdgpu: unify fw_write_wait for new gfx9 asics (Lyude Paul) [1814893] - [drm] drm/amd/powerplay: implement the is_dpm_running() (Lyude Paul) [1814893] - [drm] drm/amdgpu/powerplay: using the FCLK DPM table to set the MCLK (Lyude Paul) [1814893] - [drm] drm: Remove PageReserved manipulation from drm_pci_alloc (Lyude Paul) [1814893] - [drm] drm/bridge: analogix-anx78xx: Fix drm_dp_link helper removal (Lyude Paul) [1814893] - [drm] drm/i915/gem: Flush all the reloc_gpu batch (Lyude Paul) [1814893] - [drm] drm/i915/gen12: Disable preemption timeout (Lyude Paul) [1814893] - [drm] drm/i915/display: Fix mode private_flags comparison at atomic_check (Lyude Paul) [1814893] - [drm] drm/bridge: analogix-anx6345: Avoid duplicate -supply suffix (Lyude Paul) [1814893] - [drm] drm/i915: Allow for different modes of interruptible i915_active_wait (Lyude Paul) [1814893] - [gpu] DRM Backport 5.5 -> 5.6 (Lyude Paul) [1814893] - [video] video: fbdev: intelfb: use const pointer for fb_ops (Lyude Paul) [1814893] - [include] video: fbdev: make fbops member of struct fb_info a const pointer (Lyude Paul) [1814893] - [video] video: fbdev: uvesafb: modify the static fb_ops directly (Lyude Paul) [1814893] - [video] video: fbdev: nvidia: modify the static fb_ops directly (Lyude Paul) [1814893] - [video] video: fbdev: mb862xx: modify the static fb_ops directly (Lyude Paul) [1814893] - [video] video: fbdev: atyfb: modify the static fb_ops directly (Lyude Paul) [1814893] - [video] video: fbmem: use const pointer for fb_ops (Lyude Paul) [1814893] - [video] video: fbdev: vesafb: modify the static fb_ops directly (Lyude Paul) [1814893] - [video] video: udlfb: don't restore fb_mmap after deferred IO cleanup (Lyude Paul) [1814893] - [video] video: smscufx: don't restore fb_mmap after deferred IO cleanup (Lyude Paul) [1814893] - [drm] drm/fb-helper: don't preserve fb_ops across deferred IO use (Lyude Paul) [1814893] - [drm] drm/fb-helper: Remove drm_fb_helper_fbdev_{setup, teardown}() (Lyude Paul) [1814893] - [video] video: fb_defio: preserve user fb_ops (Lyude Paul) [1814893] - [drm] mm, drm/ttm: Fix vm page protection handling (Lyude Paul) [1814893] - [dma-buf] udmabuf: Remove deleted map/unmap handlers (Lyude Paul) [1814893] - [include] dma-buf: Remove kernel map/unmap hooks (Lyude Paul) [1814893] - [drm] drm/udl: Remove udl implementation of GEM's free_object() (Lyude Paul) [1814893] - [drm] drm/udl: Unmap buffer object after damage update (Lyude Paul) [1814893] - [drm] drm/udl: Fix Kconfig indentation (Lyude Paul) [1814893] - [drm] drm/udl: Replace fbdev code with generic emulation (Lyude Paul) [1814893] - [drm] drm/udl: Remove struct udl_gem_object and functions (Lyude Paul) [1814893] - [drm] drm/udl: Switch to SHMEM (Lyude Paul) [1814893] - [drm] drm/udl: Allocate GEM object via struct drm_driver.gem_create_object (Lyude Paul) [1814893] - [drm] drm/udl: Remove flags field from struct udl_gem_object (Lyude Paul) [1814893] - [drm] drm/armada: Delete dma_buf->k(un)map implemenation (Lyude Paul) [1814893] - [tee] drm/tee_shm: Drop dma_buf_k(unmap) support (Lyude Paul) [1814893] - [samples] sample/vfio-mdev/mbocs: Remove dma_buf_k(un)map support (Lyude Paul) [1814893] - [media] media/videobuf2: Drop dma_buf->k(un)map support (Lyude Paul) [1814893] - [drm] drm/vmwgfx: Delete mmaping functions (Lyude Paul) [1814893] - [dma-buf] dma-buf: Drop dma_buf_k(un)map (Lyude Paul) [1814893] - [drm] drm/tegra: Remove dma_buf->k(un)map (Lyude Paul) [1814893] - [drm] drm/omapdrm: Drop dma_buf->k(un)map (Lyude Paul) [1814893] - [drm] drm/i915: Drop dma_buf->k(un)map (Lyude Paul) [1814893] - [staging] staging/android/ion: delete dma_buf->kmap/unmap implemenation (Lyude Paul) [1814893] - [drm] drm/i915: Remove dma_buf_kmap selftest (Lyude Paul) [1814893] - [drm] drm/tegra: Delete host1x_bo_ops->k(un)map (Lyude Paul) [1814893] - [gpu] drm/tegra: Map cmdbuf once for reloc processing (Lyude Paul) [1814893] - [pinctrl] pinctrl: Allow modules to use pinctrl_register_mappings (Lyude Paul) [1814893] - [include] lockdep: add might_lock_nested() (Lyude Paul) [1814893] - [gpu] DRM Backport 5.4 -> 5.5 (Lyude Paul) [1814893] - [security] device_cgroup: Export devcgroup_check_permission (Lyude Paul) [1814893] - [video] fbdev: drop res_id parameter from remove_conflicting_pci_framebuffers (Lyude Paul) [1814893] - [media] media: cec: check 'transmit_in_progress', not 'transmitting' (Lyude Paul) [1814893] - [media] media: cec: avoid decrementing transmit_queue_sz if it is 0 (Lyude Paul) [1814893] - [media] media: cec: CEC 2.0-only bcast messages were ignored (Lyude Paul) [1814893] - [media] cec: add cec_adapter to cec_notifier_cec_adap_unregister() (Lyude Paul) [1814893] - [media] media: cec-pin: add 'received' callback (Lyude Paul) [1814893] - [media] media: cec: expose the new connector info API (Lyude Paul) [1814893] - [media] media: cec/cec-adap.c: use new UI_CMD defines (Lyude Paul) [1814893] - [media] media: cec-notifier: clear cec_adap in cec_notifier_unregister (Lyude Paul) [1814893] - [media] media: cec-adap: return from cec_s_conn_info() if adap is invalid (Lyude Paul) [1814893] - [media] media: cec-notifier: add new notifier functions (Lyude Paul) [1814893] - [media] media: cec: add struct cec_connector_info support (Lyude Paul) [1814893] - [media] media: cec-notifier: rename variables, check kstrdup and n->conn_name (Lyude Paul) [1814893] - [media] media: cec-adap: fix regression in ping sanity check (Lyude Paul) [1814893] - [media] media: cec: allow any initiator for Ping and Image/Text View On (Lyude Paul) [1814893] - [media] media: cec: support CEC_MSG_FL_RAW (Lyude Paul) [1814893] - [media] media: cec: add CEC_MSG_FL_RAW flag and msg_is_raw helper function (Lyude Paul) [1814893] - [media] media: cec: move check from cec_transmit to cec_transmit_msg_fh (Lyude Paul) [1814893] - [media] media: cec: cec_transmit_msg_fh: do sanity checks first (Lyude Paul) [1814893] - [media] media: cec: mark devnode as registered before actually registering it (Lyude Paul) [1814893] - [media] media: cec-notifier: add cec_notifier_parse_hdmi_phandle helper (Lyude Paul) [1814893] - [media] media: Kconfig files: use the right help coding style (Lyude Paul) [1814893] - [media] media: cec: fill in cec chardev kobject to ease debugging (Lyude Paul) [1814893] - [media] media: cec: fix epoll() by calling poll_wait first (Lyude Paul) [1814893] - [media] media: cec: keep track of outstanding transmits (Lyude Paul) [1814893] - [media] media: cec: add debug_phys_addr module option (Lyude Paul) [1814893] - [media] media: cec: report Vendor ID after initialization (Lyude Paul) [1814893] - [media] media: cec-pin: fix broken tx_ignore_nack_until_eom error injection (Lyude Paul) [1814893] - [media] media: cec: increase debug level for 'queue full' (Lyude Paul) [1814893] - [media] media: cec: check for non-OK/NACK conditions while claiming a LA (Lyude Paul) [1814893] - [media] media: cec: forgot to cancel delayed work (Lyude Paul) [1814893] - [media] media: cec: name for RC passthrough device does not need 'RC for' (Lyude Paul) [1814893] - [media] media: cec-gpio: select correct Signal Free Time (Lyude Paul) [1814893] - [media] media: cec: fix the Signal Free Time calculation (Lyude Paul) [1814893] - [media] media: cec: add new tx/rx status bits to detect aborts/timeouts (Lyude Paul) [1814893] - [media] media: cec: remove cec-edid.c (Lyude Paul) [1814893] - [media] media: cec/v4l2: move V4L2 specific CEC functions to V4L2 (Lyude Paul) [1814893] - [media] media: cec: integrate cec_validate_phys_addr() in cec-api.c (Lyude Paul) [1814893] - [media] media: cec: make cec_get_edid_spa_location() an inline function (Lyude Paul) [1814893] - [media] media: use strscpy() instead of strlcpy() (Lyude Paul) [1814893] - [media] media: cec: move compat_ioctl handling to cec-api.c (Lyude Paul) [1814893] - [media] media: cec: add support for 5V signal testing (Lyude Paul) [1814893] - [uapi] media: uapi/linux/cec.h: add 5V events (Lyude Paul) [1814893] - [scsi] compat_ioctl: move more drivers to compat_ptr_ioctl (Lyude Paul) [1814893] - [vhost] compat_ioctl: move drivers to compat_ptr_ioctl (Lyude Paul) [1814893] - [rtc] compat_ioctl: move rtc handling into drivers/rtc/dev.c (Lyude Paul) [1814893] - [fs] ceph: fix compat_ioctl for ceph_dir_operations (Lyude Paul) [1814893] - [fs] compat_sys_ioctl(): make parallel to do_vfs_ioctl() (Lyude Paul) [1814893] - [fs] compat: move FS_IOC_RESVSP_32 handling to fs/ioctl.c (Lyude Paul) [1814893] - [fs] do_vfs_ioctl(): use saner types (Lyude Paul) [1814893] - [fs] compat: itanic doesn't have one (Lyude Paul) [1814893] - [fs] FIGETBSZ: fix compat (Lyude Paul) [1814893] - [fs] fix compat handling of FICLONERANGE, FIDEDUPERANGE and FS_IOC_FIEMAP (Lyude Paul) [1814893] - [gpu] DRM Backport 5.3 -> 5.4 (Lyude Paul) [1814893] - [include] Add wait_var_event_interruptible() (Lyude Paul) [1814893] - [kernel] kthread: Add __kthread_should_park() (Lyude Paul) [1814893] - [kernel] PM / sleep: Refactor filesystems sync to reduce duplication (Lyude Paul) [1814893] - [fpga] drivers: Introduce device lookup variants by of_node (Lyude Paul) [1814893] - [s390] drivers: Introduce device lookup variants by name (Lyude Paul) [1814893] - [base] drivers: Add generic helper to match by of_node (Lyude Paul) [1814893] - [drm] kbuild: change *FLAGS_.o to take the path relative to $(obj) (Lyude Paul) [1814893] - [video] fbdev: lock_fb_info cannot fail (Lyude Paul) [1814893] - [video] fbdev/atyfb: lock_fb_info can't fail (Lyude Paul) [1814893] - [video] fbdev: sysfs files can't disappear before the device is gone (Lyude Paul) [1814893] - [video] fbcon: call fbcon_fb_(un)registered directly (Lyude Paul) [1814893] - [video] fbcon: Remove fbcon_has_exited (Lyude Paul) [1814893] - [video] fbcon: s/struct display/struct fbcon_display/ (Lyude Paul) [1814893] - [video] fbdev: locking check for fb_set_suspend (Lyude Paul) [1814893] - [tty] vt/fbcon: deinitialize resources in visual_init() after failed memory allocation (Lyude Paul) [1814893] - [video] fbcon: Don't reset logo_shown when logo is currently shown (Lyude Paul) [1814893] - [video] fbdev: fix WARNING in __alloc_pages_nodemask bug (Lyude Paul) [1814893] - [video] fbdev: fix divide error in fb_var_to_videomode (Lyude Paul) [1814893] - [video] fbdev: list all pci memory bars as conflicting apertures (Lyude Paul) [1814893]- [block] Revert "block: end bio with BLK_STS_AGAIN in case of non-mq devs and REQ_NOWAIT" (Jeff Moyer) [1784478] - [fs] io_uring: reset -EBUSY error when io sq thread is waken up (Jeff Moyer) [1784478] - [fs] io_uring: don't add non-IO requests to iopoll pending list (Jeff Moyer) [1784478] - [fs] io_uring: don't use kiocb.private to store buf_index (Jeff Moyer) [1784478] - [fs] io_uring: cancel work if task_work_add() fails (Jeff Moyer) [1784478] - [fs] io_uring: remove dead check in io_splice() (Jeff Moyer) [1784478] - [fs] io_uring: fix FORCE_ASYNC req preparation (Jeff Moyer) [1784478] - [fs] io_uring: don't prepare DRAIN reqs twice (Jeff Moyer) [1784478] - [fs] io_uring: initialize ctx->sqo_wait earlier (Jeff Moyer) [1784478] - [fs] io_uring: polled fixed file must go through free iteration (Jeff Moyer) [1784478] - [fs] io_uring: fix zero len do_splice() (Jeff Moyer) [1784478] - [fs] io_uring: don't use 'fd' for openat/openat2/statx (Jeff Moyer) [1784478] - [fs] splice: move f_mode checks to do_{splice, tee}() (Jeff Moyer) [1784478] - [fs] io_uring: handle -EFAULT properly in io_uring_setup() (Jeff Moyer) [1784478] - [fs] io_uring: fix mismatched finish_wait() calls in io_uring_cancel_files() (Jeff Moyer) [1784478] - [fs] io_uring: punt splice async because of inode mutex (Jeff Moyer) [1784478] - [fs] io_uring: check non-sync defer_list carefully (Jeff Moyer) [1784478] - [fs] io_uring: fix extra put in sync_file_range() (Jeff Moyer) [1784478] - [fs] io_uring: use cond_resched() in io_ring_ctx_wait_and_kill() (Jeff Moyer) [1784478] - [fs] io_uring: use proper references for fallback_req locking (Jeff Moyer) [1784478] - [fs] io_uring: only force async punt if poll based retry can't handle it (Jeff Moyer) [1784478] - [fs] io_uring: enable poll retry for any file with ->read_iter / ->write_iter (Jeff Moyer) [1784478] - [fs] io_uring: statx must grab the file table for valid fd (Jeff Moyer) [1784478] - [fs] io_uring: only restore req->work for req that needs do completion (Jeff Moyer) [1784478] - [fs] io_uring: don't count rqs failed after current one (Jeff Moyer) [1784478] - [fs] io_uring: kill already cached timeout.seq_offset (Jeff Moyer) [1784478] - [fs] io_uring: fix cached_sq_head in io_timeout() (Jeff Moyer) [1784478] - [fs] io_uring: only post events in io_poll_remove_all() if we completed some (Jeff Moyer) [1784478] - [fs] io_uring: io_async_task_func() should check and honor cancelation (Jeff Moyer) [1784478] - [fs] io_uring: check for need to re-wait in polled async handling (Jeff Moyer) [1784478] - [fs] io_uring: correct O_NONBLOCK check for splice punt (Jeff Moyer) [1784478] - [fs] io_uring: restore req->work when canceling poll request (Jeff Moyer) [1784478] - [fs] io_uring: move all request init code in one place (Jeff Moyer) [1784478] - [fs] io_uring: keep all sqe->flags in req->flags (Jeff Moyer) [1784478] - [fs] io_uring: early submission req fail code (Jeff Moyer) [1784478] - [fs] io_uring: track mm through current->mm (Jeff Moyer) [1784478] - [fs] io_uring: remove obsolete @mm_fault (Jeff Moyer) [1784478] - [fs] io_uring: punt final io_ring_ctx wait-and-free to workqueue (Jeff Moyer) [1784478] - [fs] io_uring: fix fs cleanup on cqe overflow (Jeff Moyer) [1784478] - [fs] io_uring: don't read user-shared sqe flags twice (Jeff Moyer) [1784478] - [fs] io_uring: remove req init from io_get_req() (Jeff Moyer) [1784478] - [fs] io_uring: alloc req only after getting sqe (Jeff Moyer) [1784478] - [fs] io_uring: simplify io_get_sqring (Jeff Moyer) [1784478] - [fs] io_uring: do not always copy iovec in io_req_map_rw() (Jeff Moyer) [1784478] - [fs] io_uring: ensure openat sets O_LARGEFILE if needed (Jeff Moyer) [1784478] - [fs] io_uring: initialize fixed_file_data lock (Jeff Moyer) [1784478] - [fs] io_uring: remove redundant variable pointer nxt and io_wq_assign_next call (Jeff Moyer) [1784478] - [fs] io_uring: fix ctx refcounting in io_submit_sqes() (Jeff Moyer) [1784478] - [fs] io_uring: process requests completed with -EAGAIN on poll list (Jeff Moyer) [1784478] - [fs] io_uring: remove bogus RLIMIT_NOFILE check in file registration (Jeff Moyer) [1784478] - [fs] io_uring: use io-wq manager as backup task if task is exiting (Jeff Moyer) [1784478] - [fs] io_uring: grab task reference for poll requests (Jeff Moyer) [1784478] - [fs] io_uring: retry poll if we got woken with non-matching mask (Jeff Moyer) [1784478] - [fs] io_uring: add missing finish_wait() in io_sq_thread() (Jeff Moyer) [1784478] - [fs] io_uring: refactor file register/unregister/update handling (Jeff Moyer) [1784478] - [fs] io_uring: cleanup io_alloc_async_ctx() (Jeff Moyer) [1784478] - [fs] io_uring: fix missing 'return' in comment (Jeff Moyer) [1784478] - [fs] io-wq: handle hashed writes in chains (Jeff Moyer) [1784478] - [fs] io-uring: drop 'free_pfile' in struct io_file_put (Jeff Moyer) [1784478] - [fs] io-uring: drop completion when removing file (Jeff Moyer) [1784478] - [fs] io_uring: Fix ->data corruption on re-enqueue (Jeff Moyer) [1784478] - [fs] io-wq: close cancel gap for hashed linked work (Jeff Moyer) [1784478] - [uapi] io_uring: make spdxcheck.py happy (Jeff Moyer) [1784478] - [fs] io_uring: honor original task RLIMIT_FSIZE (Jeff Moyer) [1784478] - [fs] io_uring: make sure accept honor rlimit nofile (Jeff Moyer) [1784478] - [fs] io_uring: make sure openat/openat2 honor rlimit nofile (Jeff Moyer) [1784478] - [fs] io-wq: hash dependent work (Jeff Moyer) [1784478] - [fs] io-wq: split hashing and enqueueing (Jeff Moyer) [1784478] - [fs] io-wq: don't resched if there is no work (Jeff Moyer) [1784478] - [fs] io_uring: NULL-deref for IOSQE_{ASYNC,DRAIN} (Jeff Moyer) [1784478] - [fs] io-wq: remove duplicated cancel code (Jeff Moyer) [1784478] - [fs] io_uring: fix truncated async read/readv and write/writev retry (Jeff Moyer) [1784478] - [uapi] io_uring: dual license io_uring.h uapi header (Jeff Moyer) [1784478] - [fs] io_uring: io_uring_enter(2) don't poll while SETUP_IOPOLL|SETUP_SQPOLL enabled (Jeff Moyer) [1784478] - [fs] io_uring: Fix unused function warnings (Jeff Moyer) [1784478] - [fs] io_uring: add end-of-bits marker and build time verify it (Jeff Moyer) [1784478] - [fs] io_uring: provide means of removing buffers (Jeff Moyer) [1784478] - [fs] io_uring: add IOSQE_BUFFER_SELECT support for IORING_OP_RECVMSG (Jeff Moyer) [1784478] - [net] net: abstract out normal and compat msghdr import (Jeff Moyer) [1784478] - [fs] io_uring: add IOSQE_BUFFER_SELECT support for IORING_OP_READV (Jeff Moyer) [1784478] - [fs] io_uring: support buffer selection for OP_READ and OP_RECV (Jeff Moyer) [1784478] - [fs] io_uring: add IORING_OP_PROVIDE_BUFFERS (Jeff Moyer) [1784478] - [fs] io_uring: ensure RCU callback ordering with rcu_barrier() (Jeff Moyer) [1784478] - [fs] io_uring: fix lockup with timeouts (Jeff Moyer) [1784478] - [fs] io_uring: free fixed_file_data after RCU grace period (Jeff Moyer) [1784478] - [fs] io_uring: buffer registration infrastructure (Jeff Moyer) [1784478] - [fs] io_uring/io-wq: forward submission ref to async (Jeff Moyer) [1784478] - [fs] io-wq: optimise out *next_work() double lock (Jeff Moyer) [1784478] - [fs] io-wq: optimise locking in io_worker_handle_work() (Jeff Moyer) [1784478] - [fs] io-wq: shuffle io_worker_handle_work() code (Jeff Moyer) [1784478] - [fs] io_uring: get next work with submission ref drop (Jeff Moyer) [1784478] - [fs] io_uring: remove @nxt from handlers (Jeff Moyer) [1784478] - [fs] io_uring: make submission ref putting consistent (Jeff Moyer) [1784478] - [fs] io_uring: clean up io_close (Jeff Moyer) [1784478] - [fs] io_uring: Ensure mask is initialized in io_arm_poll_handler (Jeff Moyer) [1784478] - [fs] io_uring: remove io_prep_next_work() (Jeff Moyer) [1784478] - [fs] io_uring: remove extra nxt check after punt (Jeff Moyer) [1784478] - [fs] io_uring: use poll driven retry for files that support it (Jeff Moyer) [1784478] - [fs] io_uring: mark requests that we can do poll async in io_op_defs (Jeff Moyer) [1784478] - [fs] io_uring: add per-task callback handler (Jeff Moyer) [1784478] - [fs] io_uring: store io_kiocb in wait->private (Jeff Moyer) [1784478] - [fs] io-wq: use BIT for ulong hash (Jeff Moyer) [1784478] - [fs] io_uring: remove IO_WQ_WORK_CB (Jeff Moyer) [1784478] - [fs] io-wq: remove unused IO_WQ_WORK_HAS_MM (Jeff Moyer) [1784478] - [fs] io_uring: extract kmsg copy helper (Jeff Moyer) [1784478] - [fs] io_uring: clean io_poll_complete (Jeff Moyer) [1784478] - [fs] io_uring: add splice(2) support (Jeff Moyer) [1784478] - [fs] io_uring: add interface for getting files (Jeff Moyer) [1784478] - [fs] splice: make do_splice public (Jeff Moyer) [1784478] - [fs] io_uring: remove req->in_async (Jeff Moyer) [1784478] - [fs] io_uring: don't do full *prep_worker() from io-wq (Jeff Moyer) [1784478] - [fs] io_uring: don't call work.func from sync ctx (Jeff Moyer) [1784478] - [fs] io_uring: io_accept() should hold on to submit reference on retry (Jeff Moyer) [1784478] - [fs] io_uring: consider any io_read/write -EAGAIN as final (Jeff Moyer) [1784478] - [fs] io-wq: remove io_wq_flush and IO_WQ_WORK_INTERNAL (Jeff Moyer) [1784478] - [fs] io-wq: fix IO_WQ_WORK_NO_CANCEL cancellation (Jeff Moyer) [1784478] - [fs] io_uring: fix 32-bit compatability with sendmsg/recvmsg (Jeff Moyer) [1784478] - [fs] io_uring: define and set show_fdinfo only if procfs is enabled (Jeff Moyer) [1784478] - [fs] io_uring: drop file set ref put/get on switch (Jeff Moyer) [1784478] - [fs] io_uring: import_single_range() returns 0/-ERROR (Jeff Moyer) [1784478] - [fs] io_uring: pick up link work on submit reference drop (Jeff Moyer) [1784478] - [fs] io-wq: ensure work->task_pid is cleared on init (Jeff Moyer) [1784478] - [fs] io-wq: remove spin-for-work optimization (Jeff Moyer) [1784478] - [fs] io_uring: fix poll_list race for SETUP_IOPOLL|SETUP_SQPOLL (Jeff Moyer) [1784478] - [fs] io_uring: fix personality idr leak (Jeff Moyer) [1784478] - [fs] io_uring: handle multiple personalities in link chains (Jeff Moyer) [1784478] - [fs] io_uring: fix __io_iopoll_check deadlock in io_sq_thread (Jeff Moyer) [1784478] - [fs] io_uring: prevent sq_thread from spinning when it should stop (Jeff Moyer) [1784478] - [fs] io_uring: fix use-after-free by io_cleanup_req() (Jeff Moyer) [1784478] - [fs] io_uring: remove unnecessary NULL checks (Jeff Moyer) [1784478] - [fs] io_uring: add missing io_req_cancelled() (Jeff Moyer) [1784478] - [fs] io_uring: prune request from overflow list on flush (Jeff Moyer) [1784478] - [fs] io-wq: don't call kXalloc_node() with non-online node (Jeff Moyer) [1784478] - [fs] io_uring: retain sockaddr_storage across send/recvmsg async punt (Jeff Moyer) [1784478] - [fs] io_uring: cancel pending async work if task exits (Jeff Moyer) [1784478] - [fs] io-wq: add io_wq_cancel_pid() to cancel based on a specific pid (Jeff Moyer) [1784478] - [fs] io-wq: make io_wqe_cancel_work() take a match handler (Jeff Moyer) [1784478] - [fs] io_uring: fix openat/statx's filename leak (Jeff Moyer) [1784478] - [fs] io_uring: fix double prep iovec leak (Jeff Moyer) [1784478] - [fs] io_uring: fix async close() with f_op->flush() (Jeff Moyer) [1784478] - [fs] io_uring: allow AT_FDCWD for non-file openat/openat2/statx (Jeff Moyer) [1784478] - [fs] io_uring: grab ->fs as part of async preparation (Jeff Moyer) [1784478] - [fs] io-wq: add support for inheriting ->fs (Jeff Moyer) [1784478] - [fs] io_uring: retry raw bdev writes if we hit -EOPNOTSUPP (Jeff Moyer) [1784478] - [fs] io_uring: add cleanup for openat()/statx() (Jeff Moyer) [1784478] - [fs] io_uring: fix iovec leaks (Jeff Moyer) [1784478] - [fs] io_uring: remove unused struct io_async_open (Jeff Moyer) [1784478] - [fs] io_uring: flush overflowed CQ events in the io_uring_poll() (Jeff Moyer) [1784478] - [fs] io_uring: statx/openat/openat2 don't support fixed files (Jeff Moyer) [1784478] - [fs] io_uring: fix deferred req iovec leak (Jeff Moyer) [1784478] - [fs] io_uring: fix 1-bit bitfields to be unsigned (Jeff Moyer) [1784478] - [fs] io_uring: get rid of delayed mm check (Jeff Moyer) [1784478] - [fs] io_uring: cleanup fixed file data table references (Jeff Moyer) [1784478] - [fs] io_uring: spin for sq thread to idle on shutdown (Jeff Moyer) [1784478] - [fs] io_uring: put the flag changing code in the same spot (Jeff Moyer) [1784478] - [fs] io_uring: iterate req cache backwards (Jeff Moyer) [1784478] - [fs] io_uring: punt even fadvise() WILLNEED to async context (Jeff Moyer) [1784478] - [fs] io_uring: fix sporadic double CQE entry for close (Jeff Moyer) [1784478] - [fs] io_uring: remove extra ->file check (Jeff Moyer) [1784478] - [fs] io_uring: don't map read/write iovec potentially twice (Jeff Moyer) [1784478] - [fs] io_uring: use the proper helpers for io_send/recv (Jeff Moyer) [1784478] - [fs] io_uring: prevent potential eventfd recursion on poll (Jeff Moyer) [1784478] - [fs] eventfd: track eventfd_signal() recursion depth (Jeff Moyer) [1784478] - [fs] io_uring: add BUILD_BUG_ON() to assert the layout of struct io_uring_sqe (Jeff Moyer) [1784478] - [fs] io_uring: add ->show_fdinfo() for the io_uring file descriptor (Jeff Moyer) [1784478] - [fs] io_uring: add support for epoll_ctl(2) (Jeff Moyer) [1784478] - [fs] eventpoll: support non-blocking do_epoll_ctl() calls (Jeff Moyer) [1784478] - [fs] eventpoll: abstract out epoll_ctl() handler (Jeff Moyer) [1784478] - [fs] io_uring: fix linked command file table usage (Jeff Moyer) [1784478] - [fs] io_uring: support using a registered personality for commands (Jeff Moyer) [1784478] - [fs] io_uring: allow registering credentials (Jeff Moyer) [1784478] - [fs] io_uring: add io-wq workqueue sharing (Jeff Moyer) [1784478] - [fs] io-wq: allow grabbing existing io-wq (Jeff Moyer) [1784478] - [fs] io_uring/io-wq: don't use static creds/mm assignments (Jeff Moyer) [1784478] - [fs] io-wq: make the io_wq ref counted (Jeff Moyer) [1784478] - [fs] io_uring: fix refcounting with batched allocations at OOM (Jeff Moyer) [1784478] - [fs] io_uring: add comment for drain_next (Jeff Moyer) [1784478] - [fs] io_uring: don't attempt to copy iovec for READ/WRITE (Jeff Moyer) [1784478] - [fs] io_uring: don't cancel all work on process exit (Jeff Moyer) [1784478] - [fs] Revert "io_uring: only allow submit from owning task" (Jeff Moyer) [1784478] - [fs] io_uring: honor IOSQE_ASYNC for linked reqs (Jeff Moyer) [1784478] - [fs] io_uring: prep req when do IOSQE_ASYNC (Jeff Moyer) [1784478] - [fs] io_uring: use labeled array init in io_op_defs (Jeff Moyer) [1784478] - [fs] io_uring: optimise sqe-to-req flags translation (Jeff Moyer) [1784478] - [fs] io_uring: remove REQ_F_IO_DRAINED (Jeff Moyer) [1784478] - [fs] io_uring: file switch work needs to get flushed on exit (Jeff Moyer) [1784478] - [fs] io_uring: hide uring_fd in ctx (Jeff Moyer) [1784478] - [fs] io_uring: remove extra check in __io_commit_cqring (Jeff Moyer) [1784478] - [fs] io_uring: optimise use of ctx->drain_next (Jeff Moyer) [1784478] - [fs] RHEL-only: Add IORING_OP_OPENAT2 opcode (Jeff Moyer) [1784478] - [fs] io_uring: add support for probing opcodes (Jeff Moyer) [1784478] - [fs] io_uring: account fixed file references correctly in batch (Jeff Moyer) [1784478] - [fs] io_uring: add opcode to issue trace event (Jeff Moyer) [1784478] - [fs] io_uring: enable option to only trigger eventfd for async completions (Jeff Moyer) [1784478] - [fs] io_uring: change io_ring_ctx bool fields into bit fields (Jeff Moyer) [1784478] - [fs] io_uring: file set registration should use interruptible waits (Jeff Moyer) [1784478] - [fs] io_uring: Remove unnecessary null check (Jeff Moyer) [1784478] - [fs] io_uring: add support for send(2) and recv(2) (Jeff Moyer) [1784478] - [fs] io_uring: remove extra io_wq_current_is_worker() (Jeff Moyer) [1784478] - [fs] io_uring: optimise commit_sqring() for common case (Jeff Moyer) [1784478] - [fs] io_uring: optimise head checks in io_get_sqring() (Jeff Moyer) [1784478] - [fs] io_uring: clamp to_submit in io_submit_sqes() (Jeff Moyer) [1784478] - [fs] io_uring: add support for IORING_SETUP_CLAMP (Jeff Moyer) [1784478] - [fs] io_uring: extend batch freeing to cover more cases (Jeff Moyer) [1784478] - [fs] io_uring: wrap multi-req freeing in struct req_batch (Jeff Moyer) [1784478] - [fs] io_uring: batch getting pcpu references (Jeff Moyer) [1784478] - [include] pcpu_ref: add percpu_ref_tryget_many() (Jeff Moyer) [1784478] - [fs] io_uring: add IORING_OP_MADVISE (Jeff Moyer) [1784478] - [mm] mm: make do_madvise() available internally (Jeff Moyer) [1784478] - [fs] io_uring: add IORING_OP_FADVISE (Jeff Moyer) [1784478] - [fs] io_uring: allow use of offset == -1 to mean file position (Jeff Moyer) [1784478] - [fs] io_uring: add non-vectored read/write commands (Jeff Moyer) [1784478] - [fs] io_uring: improve poll completion performance (Jeff Moyer) [1784478] - [fs] io_uring: split overflow state into SQ and CQ side (Jeff Moyer) [1784478] - [fs] io_uring: add lookup table for various opcode needs (Jeff Moyer) [1784478] - [fs] io_uring: remove two unnecessary function declarations (Jeff Moyer) [1784478] - [fs] io_uring: move *queue_link_head() from common path (Jeff Moyer) [1784478] - [fs] io_uring: rename prev to head (Jeff Moyer) [1784478] - [fs] io_uring: add IOSQE_ASYNC (Jeff Moyer) [1784478] - [fs] io-wq: support concurrent non-blocking work (Jeff Moyer) [1784478] - [fs] io_uring: add support for IORING_OP_STATX (Jeff Moyer) [1784478] - [fs] fs: make two stat prep helpers available (Jeff Moyer) [1784478] - [fs] io_uring: avoid ring quiesce for fixed file set unregister and update (Jeff Moyer) [1784478] - [fs] io_uring: add support for IORING_OP_CLOSE (Jeff Moyer) [1784478] - [fs] io-wq: add support for uncancellable work (Jeff Moyer) [1784478] - [fs] io_uring: add support for IORING_OP_OPENAT (Jeff Moyer) [1784478] - [fs] fs: make build_open_flags() available internally (Jeff Moyer) [1784478] - [fs] io_uring: add support for fallocate() (Jeff Moyer) [1784478] - [fs] io_uring: fix compat for IORING_REGISTER_FILES_UPDATE (Jeff Moyer) [1784478] - [fs] io_uring: only allow submit from owning task (Jeff Moyer) [1784478] - [fs] io_uring: ensure workqueue offload grabs ring mutex for poll list (Jeff Moyer) [1784478] - [fs] io_uring: clear req->result always before issuing a read/write request (Jeff Moyer) [1784478] - [fs] io_uring: be consistent in assigning next work from handler (Jeff Moyer) [1784478] - [fs] io-wq: cancel work if we fail getting a mm reference (Jeff Moyer) [1784478] - [fs] io_uring: don't setup async context for read/write fixed (Jeff Moyer) [1784478] - [fs] io_uring: remove punt of short reads to async context (Jeff Moyer) [1784478] - [fs] io-wq: add cond_resched() to worker thread (Jeff Moyer) [1784478] - [fs] io-wq: remove unused busy list from io_sqe (Jeff Moyer) [1784478] - [fs] io_uring: pass in 'sqe' to the prep handlers (Jeff Moyer) [1784478] - [fs] io_uring: standardize the prep methods (Jeff Moyer) [1784478] - [fs] io_uring: read 'count' for IORING_OP_TIMEOUT in prep handler (Jeff Moyer) [1784478] - [fs] io_uring: move all prep state for IORING_OP_{SEND, RECV}_MGS to prep handler (Jeff Moyer) [1784478] - [fs] io_uring: move all prep state for IORING_OP_CONNECT to prep handler (Jeff Moyer) [1784478] - [fs] io_uring: add and use struct io_rw for read/writes (Jeff Moyer) [1784478] - [fs] io_uring: use u64_to_user_ptr() consistently (Jeff Moyer) [1784478] - [fs] io_uring: io_wq_submit_work() should not touch req->rw (Jeff Moyer) [1784478] - [fs] io_uring: don't wait when under-submitting (Jeff Moyer) [1784478] - [fs] io_uring: warn about unhandled opcode (Jeff Moyer) [1784478] - [fs] io_uring: read opcode and user_data from SQE exactly once (Jeff Moyer) [1784478] - [fs] io_uring: make IORING_OP_TIMEOUT_REMOVE deferrable (Jeff Moyer) [1784478] - [fs] io_uring: make IORING_OP_CANCEL_ASYNC deferrable (Jeff Moyer) [1784478] - [fs] io_uring: make IORING_POLL_ADD and IORING_POLL_REMOVE deferrable (Jeff Moyer) [1784478] - [fs] io_uring: make HARDLINK imply LINK (Jeff Moyer) [1784478] - [fs] io_uring: any deferred command must have stable sqe data (Jeff Moyer) [1784478] - [fs] io_uring: remove 'sqe' parameter to the OP helpers that take it (Jeff Moyer) [1784478] - [fs] io_uring: fix pre-prepped issue with force_nonblock == true (Jeff Moyer) [1784478] - [fs] io-wq: re-add io_wq_current_is_worker() (Jeff Moyer) [1784478] - [fs] io_uring: fix sporadic -EFAULT from IORING_OP_RECVMSG (Jeff Moyer) [1784478] - [fs] io_uring: fix stale comment and a few typos (Jeff Moyer) [1784478] - [fs] io_uring: ensure we return -EINVAL on unknown opcode (Jeff Moyer) [1784478] - [fs] io_uring: add sockets to list of files that support non-blocking issue (Jeff Moyer) [1784478] - [net] net: make socket read/write_iter() honor IOCB_NOWAIT (Jeff Moyer) [1784478] - [fs] io_uring: only hash regular files for async work execution (Jeff Moyer) [1784478] - [fs] io_uring: run next sqe inline if possible (Jeff Moyer) [1784478] - [fs] io_uring: don't dynamically allocate poll data (Jeff Moyer) [1784478] - [fs] io_uring: deferred send/recvmsg should assign iov (Jeff Moyer) [1784478] - [fs] io_uring: sqthread should grab ctx->uring_lock for submissions (Jeff Moyer) [1784478] - [fs] io-wq: briefly spin for new work after finishing work (Jeff Moyer) [1784478] - [fs] io-wq: remove worker->wait waitqueue (Jeff Moyer) [1784478] - [fs] io_uring: allow unbreakable links (Jeff Moyer) [1784478] - [fs] io_uring: fix a typo in a comment (Jeff Moyer) [1784478] - [fs] io_uring: hook all linked requests via link_list (Jeff Moyer) [1784478] - [fs] io_uring: fix error handling in io_queue_link_head (Jeff Moyer) [1784478] - [fs] io_uring: use hash table for poll command lookups (Jeff Moyer) [1784478] - [fs] io-wq: clear node->next on list deletion (Jeff Moyer) [1784478] - [fs] io_uring: ensure deferred timeouts copy necessary data (Jeff Moyer) [1784478] - [fs] io_uring: allow IO_SQE_* flags on IORING_OP_TIMEOUT (Jeff Moyer) [1784478] - [fs] io_uring: handle connect -EINPROGRESS like -EAGAIN (Jeff Moyer) [1784478] - [fs] io_uring: remove io_wq_current_is_worker (Jeff Moyer) [1784478] - [fs] io_uring: remove parameter ctx of io_submit_state_start (Jeff Moyer) [1784478] - [fs] io_uring: mark us with IORING_FEAT_SUBMIT_STABLE (Jeff Moyer) [1784478] - [fs] io_uring: ensure async punted connect requests copy data (Jeff Moyer) [1784478] - [fs] io_uring: ensure async punted sendmsg/recvmsg requests copy data (Jeff Moyer) [1784478] - [fs] io_uring: ensure async punted read/write requests copy iovec (Jeff Moyer) [1784478] - [fs] io_uring: add general async offload context (Jeff Moyer) [1784478] - [fs] io_uring: transform send/recvmsg() -ERESTARTSYS to -EINTR (Jeff Moyer) [1784478] - [fs] io_uring: use current task creds instead of allocating a new one (Jeff Moyer) [1784478] - [fs] io_uring: fix missing kmap() declaration on powerpc (Jeff Moyer) [1784478] - [fs] io_uring: add mapping support for NOMMU archs (Jeff Moyer) [1784478] - [fs] io_uring: make poll->wait dynamically allocated (Jeff Moyer) [1784478] - [fs] io-wq: shrink io_wq_work a bit (Jeff Moyer) [1784478] - [fs] io-wq: fix handling of NUMA node IDs (Jeff Moyer) [1784478] - [fs] io_uring: use kzalloc instead of kcalloc for single-element allocations (Jeff Moyer) [1784478] - [fs] io_uring: cleanup io_import_fixed() (Jeff Moyer) [1784478] - [fs] io_uring: inline struct sqe_submit (Jeff Moyer) [1784478] - [fs] io_uring: store timeout's sqe->off in proper place (Jeff Moyer) [1784478] - [net] net: disallow ancillary data for __sys_{send, recv}msg_file() (Jeff Moyer) [1784478] - [net] net: separate out the msghdr copy from ___sys_{send, recv}msg() (Jeff Moyer) [1784478] - [fs] io_uring: remove superfluous check for sqe->off in io_accept() (Jeff Moyer) [1784478] - [fs] io_uring: async workers should inherit the user creds (Jeff Moyer) [1784478] - [fs] io-wq: have io_wq_create() take a 'data' argument (Jeff Moyer) [1784478] - [fs] io_uring: fix dead-hung for non-iter fixed rw (Jeff Moyer) [1784478] - [fs] io_uring: add support for IORING_OP_CONNECT (Jeff Moyer) [1784478] - [net] net: add __sys_connect_file() helper (Jeff Moyer) [1784478] - [fs] io_uring: only return -EBUSY for submit on non-flushed backlog (Jeff Moyer) [1784478] - [fs] io_uring: only !null ptr to io_issue_sqe() (Jeff Moyer) [1784478] - [fs] io_uring: simplify io_req_link_next() (Jeff Moyer) [1784478] - [fs] io_uring: pass only !null to io_req_find_next() (Jeff Moyer) [1784478] - [fs] io_uring: remove io_free_req_find_next() (Jeff Moyer) [1784478] - [fs] io_uring: add likely/unlikely in io_get_sqring() (Jeff Moyer) [1784478] - [fs] io_uring: rename __io_submit_sqe() (Jeff Moyer) [1784478] - [fs] io_uring: improve trace_io_uring_defer() trace point (Jeff Moyer) [1784478] - [fs] io_uring: drain next sqe instead of shadowing (Jeff Moyer) [1784478] - [fs] io_uring: close lookup gap for dependent next work (Jeff Moyer) [1784478] - [fs] io_uring: allow finding next link independent of req reference count (Jeff Moyer) [1784478] - [fs] io_uring: io_allocate_scq_urings() should return a sane state (Jeff Moyer) [1784478] - [fs] io_uring: Always REQ_F_FREE_SQE for allocated sqe (Jeff Moyer) [1784478] - [fs] io_uring: io_fail_links() should only consider first linked timeout (Jeff Moyer) [1784478] - [fs] io_uring: Fix leaking linked timeouts (Jeff Moyer) [1784478] - [fs] io_uring: remove redundant check (Jeff Moyer) [1784478] - [fs] io_uring: break links for failed defer (Jeff Moyer) [1784478] - [fs] io-wq: remove extra space characters (Jeff Moyer) [1784478] - [fs] io-wq: wait for io_wq_create() to setup necessary workers (Jeff Moyer) [1784478] - [fs] io_uring: request cancellations should break links (Jeff Moyer) [1784478] - [fs] io_uring: correct poll cancel and linked timeout expiration completion (Jeff Moyer) [1784478] - [fs] io_uring: remove dead REQ_F_SEQ_PREV flag (Jeff Moyer) [1784478] - [fs] io_uring: fix sequencing issues with linked timeouts (Jeff Moyer) [1784478] - [fs] io_uring: make req->timeout be dynamically allocated (Jeff Moyer) [1784478] - [fs] io_uring: make io_double_put_req() use normal completion path (Jeff Moyer) [1784478] - [fs] io_uring: cleanup return values from the queueing functions (Jeff Moyer) [1784478] - [fs] io_uring: io_async_cancel() should pass in 'nxt' request pointer (Jeff Moyer) [1784478] - [fs] io_uring: make POLL_ADD/POLL_REMOVE scale better (Jeff Moyer) [1784478] - [fs] io-wq: remove now redundant struct io_wq_nulls_list (Jeff Moyer) [1784478] - [fs] io_uring: Fix getting file for non-fd opcodes (Jeff Moyer) [1784478] - [fs] io_uring: introduce req_need_defer() (Jeff Moyer) [1784478] - [fs] io_uring: clean up io_uring_cancel_files() (Jeff Moyer) [1784478] - [fs] io-wq: ensure free/busy list browsing see all items (Jeff Moyer) [1784478] - [fs] io_uring: ensure registered buffer import returns the IO length (Jeff Moyer) [1784478] - [fs] io_uring: Fix getting file for timeout (Jeff Moyer) [1784478] - [fs] io-wq: ensure we have a stable view of ->cur_work for cancellations (Jeff Moyer) [1784478] - [fs] io_wq: add get/put_work handlers to io_wq_create() (Jeff Moyer) [1784478] - [fs] io_uring: check for validity of ->rings in teardown (Jeff Moyer) [1784478] - [fs] io_uring: fix potential deadlock in io_poll_wake() (Jeff Moyer) [1784478] - [fs] io_uring: use correct "is IO worker" helper (Jeff Moyer) [1784478] - [fs] io_uring: make timeout sequence == 0 mean no sequence (Jeff Moyer) [1784478] - [fs] io_uring: fix -ENOENT issue with linked timer with short timeout (Jeff Moyer) [1784478] - [fs] io_uring: don't do flush cancel under inflight_lock (Jeff Moyer) [1784478] - [fs] io_uring: flag SQPOLL busy condition to userspace (Jeff Moyer) [1784478] - [fs] io_uring: make ASYNC_CANCEL work with poll and timeout (Jeff Moyer) [1784478] - [fs] io_uring: provide fallback request for OOM situations (Jeff Moyer) [1784478] - [fs] io_uring: convert accept4() -ERESTARTSYS into -EINTR (Jeff Moyer) [1784478] - [fs] io_uring: fix error clear of ->file_table in io_sqe_files_register() (Jeff Moyer) [1784478] - [fs] io_uring: separate the io_free_req and io_free_req_find_next interface (Jeff Moyer) [1784478] - [fs] io_uring: keep io_put_req only responsible for release and put req (Jeff Moyer) [1784478] - [fs] io_uring: remove passed in 'ctx' function parameter ctx if possible (Jeff Moyer) [1784478] - [fs] io_uring: reduce/pack size of io_ring_ctx (Jeff Moyer) [1784478] - [fs] io_uring: properly mark async work as bounded vs unbounded (Jeff Moyer) [1784478] - [fs] io-wq: add support for bounded vs unbunded work (Jeff Moyer) [1784478] - [fs] io-wq: io_wqe_run_queue() doesn't need to use list_empty_careful() (Jeff Moyer) [1784478] - [fs] io_uring: add support for backlogged CQ ring (Jeff Moyer) [1784478] - [fs] io_uring: pass in io_kiocb to fill/add CQ handlers (Jeff Moyer) [1784478] - [fs] io_uring: make io_cqring_events() take 'ctx' as argument (Jeff Moyer) [1784478] - [fs] io_uring: add support for linked SQE timeouts (Jeff Moyer) [1784478] - [fs] io_uring: abstract out io_async_cancel_one() helper (Jeff Moyer) [1784478] - [fs] io_uring: use inlined struct sqe_submit (Jeff Moyer) [1784478] - [fs] io_uring: Use submit info inlined into req (Jeff Moyer) [1784478] - [fs] io_uring: allocate io_kiocb upfront (Jeff Moyer) [1784478] - [fs] io_uring: io_queue_link*() right after submit (Jeff Moyer) [1784478] - [fs] io_uring: Merge io_submit_sqes and io_ring_submit (Jeff Moyer) [1784478] - [fs] io_uring: kill dead REQ_F_LINK_DONE flag (Jeff Moyer) [1784478] - [fs] io_uring: fixup a few spots where link failure isn't flagged (Jeff Moyer) [1784478] - [fs] io_uring: enable optimized link handling for IORING_OP_POLL_ADD (Jeff Moyer) [1784478] - [fs] io-wq: use proper nesting IRQ disabling spinlocks for cancel (Jeff Moyer) [1784478] - [fs] io_uring: add completion trace event (Jeff Moyer) [1784478] - [fs] io-wq: use kfree_rcu() to simplify the code (Jeff Moyer) [1784478] - [fs] io_uring: set -EINTR directly when a signal wakes up in io_cqring_wait (Jeff Moyer) [1784478] - [fs] io_uring: support for generic async request cancel (Jeff Moyer) [1784478] - [fs] io_uring: ensure we clear io_kiocb->result before each issue (Jeff Moyer) [1784478] - [fs] io_uring: io_wq_create() returns an error pointer, not NULL (Jeff Moyer) [1784478] - [fs] io_uring: fix race with canceling timeouts (Jeff Moyer) [1784478] - [fs] io_uring: support for larger fixed file sets (Jeff Moyer) [1784478] - [fs] io_uring: protect fixed file indexing with array_index_nospec() (Jeff Moyer) [1784478] - [fs] io_uring: add support for IORING_OP_ACCEPT (Jeff Moyer) [1784478] - [net] net: add __sys_accept4_file() helper (Jeff Moyer) [1784478] - [fs] io_uring: io_uring: add support for async work inheriting files (Jeff Moyer) [1784478] - [fs] io_uring: replace workqueue usage with io-wq (Jeff Moyer) [1784478] - [fs] io-wq: small threadpool implementation for io_uring (Jeff Moyer) [1784478] - [fs] io_uring: Fix mm_fault with READ/WRITE_FIXED (Jeff Moyer) [1784478] - [fs] io_uring: remove index from sqe_submit (Jeff Moyer) [1784478] - [fs] io_uring: add set of tracing events (Jeff Moyer) [1784478] - [fs] io_uring: add support for canceling timeout requests (Jeff Moyer) [1784478] - [fs] io_uring: add support for absolute timeouts (Jeff Moyer) [1784478] - [fs] io_uring: replace s->needs_lock with s->in_async (Jeff Moyer) [1784478] - [fs] io_uring: allow application controlled CQ ring size (Jeff Moyer) [1784478] - [fs] io_uring: add support for IORING_REGISTER_FILES_UPDATE (Jeff Moyer) [1784478] - [fs] io_uring: allow sparse fixed file sets (Jeff Moyer) [1784478] - [fs] io_uring: run dependent links inline if possible (Jeff Moyer) [1784478] - [fs] io_uring: don't touch ctx in setup after ring fd install (Jeff Moyer) [1784478] - [fs] io_uring: Fix leaked shadow_req (Jeff Moyer) [1784478] - [fs] io_uring: fix bad inflight accounting for SETUP_IOPOLL|SETUP_SQTHREAD (Jeff Moyer) [1784478] - [fs] io_uring: used cached copies of sq->dropped and cq->overflow (Jeff Moyer) [1784478] - [fs] io_uring: Fix race for sqes with userspace (Jeff Moyer) [1784478] - [fs] io_uring: Fix broken links with offloading (Jeff Moyer) [1784478] - [fs] io_uring: Fix corrupted user_data (Jeff Moyer) [1784478] - [fs] io_uring: correct timeout req sequence when inserting a new entry (Jeff Moyer) [1784478] - [fs] io_uring : correct timeout req sequence when waiting timeout (Jeff Moyer) [1784478] - [fs] io_uring: revert "io_uring: optimize submit_and_wait API" (Jeff Moyer) [1784478] - [fs] io_uring: fix logic error in io_timeout (Jeff Moyer) [1784478] - [fs] io_uring: fix up O_NONBLOCK handling for sockets (Jeff Moyer) [1784478] - [fs] io_uring: consider the overflow of sequence for timeout req (Jeff Moyer) [1784478] - [fs] io_uring: fix sequence logic for timeout requests (Jeff Moyer) [1784478] - [fs] io_uring: only flush workqueues on fileset removal (Jeff Moyer) [1784478] - [fs] io_uring: remove wait loop spurious wakeups (Jeff Moyer) [1784478] - [fs] io_uring: fix reversed nonblock flag for link submission (Jeff Moyer) [1784478] - [fs] io_uring: use __kernel_timespec in timeout ABI (Jeff Moyer) [1784478] - [fs] io_uring: make CQ ring wakeups be more efficient (Jeff Moyer) [1784478] - [fs] io_uring: compare cached_cq_tail with cq.head in_io_uring_poll (Jeff Moyer) [1784478] - [fs] io_uring: correctly handle non ->{read, write}_iter() file_operations (Jeff Moyer) [1784478] - [fs] io_uring: IORING_OP_TIMEOUT support (Jeff Moyer) [1784478] - [fs] io_uring: use cond_resched() in sqthread (Jeff Moyer) [1784478] - [fs] io_uring: fix potential crash issue due to io_get_req failure (Jeff Moyer) [1784478] - [fs] io_uring: ensure poll commands clear ->sqe (Jeff Moyer) [1784478] - [fs] io_uring: fix use-after-free of shadow_req (Jeff Moyer) [1784478] - [fs] io_uring: use kmemdup instead of kmalloc and memcpy (Jeff Moyer) [1784478] - [fs] io_uring: increase IORING_MAX_ENTRIES to 32K (Jeff Moyer) [1784478] - [fs] io_uring: make sqpoll wakeup possible with getevents (Jeff Moyer) [1784478] - [fs] io_uring: extend async work merging (Jeff Moyer) [1784478] - [fs] io_uring: limit parallelism of buffered writes (Jeff Moyer) [1784478] - [fs] io_uring: add io_queue_async_work() helper (Jeff Moyer) [1784478] - [fs] io_uring: optimize submit_and_wait API (Jeff Moyer) [1784478] - [fs] io_uring: add support for link with drain (Jeff Moyer) [1784478] - [fs] io_uring: fix wrong sequence setting logic (Jeff Moyer) [1784478] - [fs] io_uring: expose single mmap capability (Jeff Moyer) [1784478] - [fs] io_uring: allocate the two rings together (Jeff Moyer) [1784478] - [lib] percpu_ref: release percpu memory early without PERCPU_REF_ALLOW_REINIT (Jeff Moyer) [1784478] - [fs] io_uring: initialize percpu refcounters using PERCU_REF_ALLOW_REINIT (Jeff Moyer) [1784478] - [include] percpu_ref: introduce PERCPU_REF_ALLOW_REINIT flag (Jeff Moyer) [1784478] - [fs] binder: fix use-after-free due to ksys_close() during fdget() (Jeff Moyer) [1784478] - [init] RHEL-only: Enable io_uring for x86 builds (Jeff Moyer) [1784478] - [arm64] compat: ARM64: always include asm-generic/compat.h (Jeff Moyer) [1784478] - [include] asm-generic: Move common compat types to asm-generic/compat.h (Jeff Moyer) [1784478]- [fs] coredump: fix crash when umh is disabled (Yauheni Kaliuta) [1845114] - [kernel] umh: fix memory leak on execve failure (Yauheni Kaliuta) [1845114] - [net] bpf: Replace zero-length array with flexible-array member (Yauheni Kaliuta) [1845114] - [net] bpf: Fix returned error sign when link doesn't support updates (Yauheni Kaliuta) [1845114] - [net] bpf: sockmap: Don't attach programs to UDP sockets (Yauheni Kaliuta) [1845114] - [net] bpf: cgroup: Allow multi-attach program to replace itself (Yauheni Kaliuta) [1845114] - [tools] selftests/bpf: use struct timespec instead of __kernel_timespec (Yauheni Kaliuta) [1845114] - [tools] selftests/bpf: Fix bpf_link leak in ns_current_pid_tgid selftest (Yauheni Kaliuta) [1845114] - [tools] selftests/bpf: Fix test_align verifier log patterns (Yauheni Kaliuta) [1845114] - [net] bpf, cgroup: Return ENOLINK for auto-detached links on update (Yauheni Kaliuta) [1845114] - [net] bpf: Refactor bpf_link update handling (Yauheni Kaliuta) [1845114] - [tools] bpf, selftests: Add a verifier test for assigning 32bit reg states to 64bit ones (Yauheni Kaliuta) [1845114] - [tools] bpf, selftests: Verifier bounds tests need to be updated (Yauheni Kaliuta) [1845114] - [net] bpf: Fix a verifier issue when assigning 32bit reg states to 64bit ones (Yauheni Kaliuta) [1845114] - [net] bpf: Fix use-after-free in fmod_ret check (Yauheni Kaliuta) [1845114] - [net] flow_dissector: Drop BPF flow dissector prog ref on netns cleanup (Yauheni Kaliuta) [1845114] - [tools] bpf: Prevent mmap()'ing read-only maps as writable (Yauheni Kaliuta) [1845114] - [net] bpf: Enforce returning 0 for fentry/fexit progs (Yauheni Kaliuta) [1845114] - [tools] libbpf: Fix register naming in PT_REGS s390 macros (Yauheni Kaliuta) [1845114] - [samples] samples: bpf: Fix build error (Yauheni Kaliuta) [1845114] - [net] bpf: Fix error return code in map_lookup_and_delete_elem() (Yauheni Kaliuta) [1845114] - [net] bpf: Fix sk_psock refcnt leak when receiving message (Yauheni Kaliuta) [1845114] - [tools] tools/runqslower: Ensure own vmlinux.h is picked up first (Yauheni Kaliuta) [1845114] - [net] bpf: Make bpf_link_fops static (Yauheni Kaliuta) [1845114] - [tools] bpftool: Respect the -d option in struct_ops cmd (Yauheni Kaliuta) [1845114] - [net] bpf: Fix leak in LINK_UPDATE and enforce empty old_prog_fd (Yauheni Kaliuta) [1845114] - [tools] bpf: Fix reStructuredText markup (Yauheni Kaliuta) [1845114] - [tools] libbpf: Only check mode flags in get_xdp_id (Yauheni Kaliuta) [1845114] - [tools] bpf, selftests: Add test for BPF_STX BPF_B storing R10 (Yauheni Kaliuta) [1845114] - [x86] bpf, x86: Fix encoding for lower 8-bit registers in BPF_STX BPF_B (Yauheni Kaliuta) [1845114] - [net] bpf: Forbid XADD on spilled pointers for unprivileged users (Yauheni Kaliuta) [1845114] - [tools] libbpf: Always specify expected_attach_type on program load if supported (Yauheni Kaliuta) [1845114] - [net] bpf: remove unneeded conversion to bool in __mark_reg_unknown (Yauheni Kaliuta) [1845114] - [tools] tools, bpftool: Fix struct_ops command invalid pointer free (Yauheni Kaliuta) [1845114] - [net] bpf: Fix use of sk->sk_reuseport from sk_assign (Yauheni Kaliuta) [1845114] - [tools] selftests/bpf: Add test for bpf_get_link_xdp_id (Yauheni Kaliuta) [1845114] - [tools] libbpf: Fix bpf_get_link_xdp_id flags handling (Yauheni Kaliuta) [1845114] - [net] bpf: Fix a typo "inacitve" -> "inactive" (Yauheni Kaliuta) [1845114] - [tools] libbpf: Initialize *nl_pid so gcc 10 is happy (Yauheni Kaliuta) [1845114] - [tools] bpf, lsm: Fix the file_mprotect LSM test (Yauheni Kaliuta) [1845114] - [tools] bpf: Fix spelling mistake "arithmatic" -> "arithmetic" in test_verifier (Yauheni Kaliuta) [1845114] - [lib] kbuild, btf: Fix dependencies for DEBUG_INFO_BTF (Yauheni Kaliuta) [1845114] - [tools] selftests/bpf: Test FD-based cgroup attachment (Yauheni Kaliuta) [1845114] - [tools] libbpf: Add support for bpf_link-based cgroup attachment (Yauheni Kaliuta) [1845114] - [net] bpf: Implement bpf_prog replacement for an active bpf_cgroup_link (Yauheni Kaliuta) [1845114] - [net] bpf: Implement bpf_link-based cgroup BPF program attachment (Yauheni Kaliuta) [1845114] - [tools] bpf: Test_verifier, add alu32 bounds tracking tests (Yauheni Kaliuta) [1845114] - [tools] bpf: Test_verifier, #65 error message updates for trunc of boundary-cross (Yauheni Kaliuta) [1845114] - [tools] bpf: Test_verifier, bpf_get_stack return value add <0 (Yauheni Kaliuta) [1845114] - [tools] bpf: Test_progs, add test to catch retval refine error handling (Yauheni Kaliuta) [1845114] - [net] bpf: Verifier, refine 32bit bound in do_refine_retval_range (Yauheni Kaliuta) [1845114] - [include] bpf: Verifier, do explicit ALU32 bounds tracking (Yauheni Kaliuta) [1845114] - [net] bpf: Verifier, do_refine_retval_range may clamp umin to 0 incorrectly (Yauheni Kaliuta) [1845114] - [init] bpf, lsm: Make BPF_LSM depend on BPF_EVENTS (Yauheni Kaliuta) [1845114] - [tools] selftests: bpf: Extend sk_assign tests for UDP (Yauheni Kaliuta) [1845114] - [tools] selftests: bpf: Add test for sk_assign (Yauheni Kaliuta) [1845114] - [net] bpf: Don't refcount LISTEN sockets in sk_assign() (Yauheni Kaliuta) [1845114] - [net] net: Track socket refcounts in skb_steal_sock() (Yauheni Kaliuta) [1845114] - [net] bpf: Add socket assign support (Yauheni Kaliuta) [1845114] - [net] bpf: btf: Fix arg verification in btf_ctx_access() (Yauheni Kaliuta) [1845114] - [net] bpf: Simplify reg_set_min_max_inv handling (Yauheni Kaliuta) [1845114] - [documentation] bpf: lsm: Add Documentation (Yauheni Kaliuta) [1845114] - [tools] bpf: lsm: Add selftests for BPF_PROG_TYPE_LSM (Yauheni Kaliuta) [1845114] - [tools] tools/libbpf: Add support for BPF_PROG_TYPE_LSM (Yauheni Kaliuta) [1845114] - [net] bpf: lsm: Implement attach, detach and execution (Yauheni Kaliuta) [1845114] - [net] bpf: lsm: Provide attachment points for BPF LSM programs (Yauheni Kaliuta) [1845114] - [net] bpf: Introduce BPF_PROG_TYPE_LSM (Yauheni Kaliuta) [1845114] - [tools] selftests: Add test for overriding global data value before load (Yauheni Kaliuta) [1845114] - [tools] libbpf: Add setter for initial value for internal maps (Yauheni Kaliuta) [1845114] - [net] bpf, net: Fix build issue when net ns not configured (Yauheni Kaliuta) [1845114] - [net] bpf: Fix build warning regarding missing prototypes (Yauheni Kaliuta) [1845114] - [tools] libbpf, xsk: Init all ring members in xsk_umem__create and xsk_socket__create (Yauheni Kaliuta) [1845114] - [tools] bpf: Add selftest cases for ctx_or_null argument type (Yauheni Kaliuta) [1845114] - [net] bpf: Enable retrival of pid/tgid/comm from bpf cgroup hooks (Yauheni Kaliuta) [1845114] - [net] bpf: Enable bpf cgroup hooks to retrieve cgroup v2 and ancestor id (Yauheni Kaliuta) [1845114] - [net] bpf: Allow to retrieve cgroup v1 classid from v2 hooks (Yauheni Kaliuta) [1845114] - [net] bpf: Add netns cookie and enable it for bpf cgroup hooks (Yauheni Kaliuta) [1845114] - [net] bpf: Enable perf event rb output for bpf cgroup progs (Yauheni Kaliuta) [1845114] - [net] bpf: Enable retrieval of socket cookie for bind/post-bind hook (Yauheni Kaliuta) [1845114] - [net] bpf: Remove unused vairable 'bpf_xdp_link_lops' (Yauheni Kaliuta) [1845114] - [net] bpf: Factor out attach_type to prog_type mapping for attach/detach (Yauheni Kaliuta) [1845114] - [net] bpf: Factor out cgroup storages operations (Yauheni Kaliuta) [1845114] - [tools] bpf: Test_verifier, #70 error message updates for 32-bit right shift (Yauheni Kaliuta) [1845114] - [net] bpf: Verifer, adjust_scalar_min_max_vals to always call update_reg_bounds() (Yauheni Kaliuta) [1845114] - [net] bpf: Verifer, refactor adjust_scalar_min_max_vals (Yauheni Kaliuta) [1845114] - [tools] libbpf: Don't allocate 16M for log buffer by default (Yauheni Kaliuta) [1845114] - [tools] libbpf: Remove unused parameter `def` to get_map_field_int (Yauheni Kaliuta) [1845114] - [documentation] bpf: Document bpf_inspect drgn tool (Yauheni Kaliuta) [1845114] - [samples] samples, bpf: Refactor perf_event user program with libbpf bpf_link (Yauheni Kaliuta) [1845114] - [samples] samples, bpf: Move read_trace_pipe to trace_helpers (Yauheni Kaliuta) [1845114] - [tools] bpf: Add tests for bpf_sk_storage to bpf_tcp_ca (Yauheni Kaliuta) [1845114] - [net] bpf: Add bpf_sk_storage support to bpf_tcp_ca (Yauheni Kaliuta) [1845114] - [tools] selftests/bpf: Fix mix of tabs and spaces (Yauheni Kaliuta) [1845114] - [net] bpf, tcp: Make tcp_bpf_recvmsg static (Yauheni Kaliuta) [1845114] - [net] bpf, tcp: Fix unused function warnings (Yauheni Kaliuta) [1845114] - [tools] bpftool: Add struct_ops support (Yauheni Kaliuta) [1845114] - [tools] bpftool: Translate prog_id to its bpf prog_name (Yauheni Kaliuta) [1845114] - [tools] bpftool: Print as a string for char array (Yauheni Kaliuta) [1845114] - [tools] bpftool: Print the enum's name instead of value (Yauheni Kaliuta) [1845114] - [tools] bpf, libbpf: Fix ___bpf_kretprobe_args1(x) macro definition (Yauheni Kaliuta) [1845114] - [tools] selftests/bpf: Reset process and thread affinity after each test/sub-test (Yauheni Kaliuta) [1845114] - [tools] selftests/bpf: Fix test_progs's parsing of test numbers (Yauheni Kaliuta) [1845114] - [tools] selftests/bpf: Fix race in tcp_rtt test (Yauheni Kaliuta) [1845114] - [tools] selftests/bpf: Fix nanosleep for real this time (Yauheni Kaliuta) [1845114] - [tools] selftest/bpf: Fix compilation warning in sockmap_parse_prog.c (Yauheni Kaliuta) [1845114] - [tools] selftests/bpf: Add vmlinux.h selftest exercising tracing of syscalls (Yauheni Kaliuta) [1845114] - [tools] libbpf: Provide CO-RE variants of PT_REGS macros (Yauheni Kaliuta) [1845114] - [tools] libbpf: Ignore incompatible types with matching name during CO-RE relocation (Yauheni Kaliuta) [1845114] - [tools] selftests/bpf: Ensure consistent test failure output (Yauheni Kaliuta) [1845114] - [tools] selftests/bpf: Fix spurious failures in accept due to EAGAIN (Yauheni Kaliuta) [1845114] - [tools] tools/bpf: Move linux/types.h for selftests and bpftool (Yauheni Kaliuta) [1845114] - [net] bpf: Add missing annotations for __bpf_prog_enter() and __bpf_prog_exit() (Yauheni Kaliuta) [1845114] - [scripts] bpf_helpers_doc.py: Fix warning when compiling bpftool (Yauheni Kaliuta) [1845114] - [tools] selftests/bpf: Fix usleep() implementation (Yauheni Kaliuta) [1845114] - [net] bpf: Remove bpf_image tree (Yauheni Kaliuta) [1845114] - [net] bpf: Add dispatchers to kallsyms (Yauheni Kaliuta) [1845114] - [net] bpf: Add trampolines to kallsyms (Yauheni Kaliuta) [1845114] - [net] bpf: Add bpf_ksym_add/del functions (Yauheni Kaliuta) [1845114] - [net] bpf: Add prog flag to struct bpf_ksym object (Yauheni Kaliuta) [1845114] - [net] bpf: Abstract away entire bpf_link clean up procedure (Yauheni Kaliuta) [1845114] - [net] bpf: Add bpf_ksym_find function (Yauheni Kaliuta) [1845114] - [tools] selftests/bpf: Make tcp_rtt test more robust to failures (Yauheni Kaliuta) [1845114] - [tools] selftests/bpf: test_progs: Don't leak server_fd in tcp_rtt (Yauheni Kaliuta) [1845114] - [tools] selftests/bpf: test_progs: fix client/server race in tcp_rtt (Yauheni Kaliuta) [1845114] - [net] bpf: Move ksym_tnode to bpf_ksym (Yauheni Kaliuta) [1845114] - [tools] selftests/bpf: Guarantee that useep() calls nanosleep() syscall (Yauheni Kaliuta) [1845114] - [net] bpf: Move lnode list node to struct bpf_ksym (Yauheni Kaliuta) [1845114] - [tools] tools: bpftool: Restore message on failure to guess program type (Yauheni Kaliuta) [1845114] - [include] bpf: Add name to struct bpf_ksym (Yauheni Kaliuta) [1845114] - [net] bpf: Add struct bpf_ksym (Yauheni Kaliuta) [1845114] - [include] bpf: Add bpf_trampoline_ name prefix for DECLARE_BPF_DISPATCHER (Yauheni Kaliuta) [1845114] - [mm] x86/mm: Rename is_kernel_text to __is_kernel_text (Yauheni Kaliuta) [1845114] - [tools] bpf: Add bpf_xdp_output() helper (Yauheni Kaliuta) [1845114] - [tools] tools/testing/selftests/bpf: Add self-tests for new helper bpf_get_ns_current_pid_tgid (Yauheni Kaliuta) [1845114] - [net] bpf: Added new helper bpf_get_ns_current_pid_tgid (Yauheni Kaliuta) [1845114] - [fs] fs/nsfs.c: Added ns_match (Yauheni Kaliuta) [1845114] - [tools] tools: bpftool: Fix minor bash completion mistakes (Yauheni Kaliuta) [1845114] - [tools] tools: bpftool: Allow all prog/map handles for pinning objects (Yauheni Kaliuta) [1845114] - [tools] libbpf: Split BTF presence checks into libbpf- and kernel-specific parts (Yauheni Kaliuta) [1845114] - [tools] bpftool: Add _bpftool and profiler.skel.h to .gitignore (Yauheni Kaliuta) [1845114] - [tools] bpftool: Skeleton should depend on libbpf (Yauheni Kaliuta) [1845114] - [tools] bpftool: Only build bpftool-prog-profile if supported by clang (Yauheni Kaliuta) [1845114] - [tools] bpftool: Use linux/types.h from source tree for profiler build (Yauheni Kaliuta) [1845114] - [tools] tools/runqslower: Add BPF_F_CURRENT_CPU for running selftest on older kernels (Yauheni Kaliuta) [1845114] - [x86] bpf: Fix trampoline generation for fmod_ret programs (Yauheni Kaliuta) [1845114] - [net] bpf: Add bpf_link_new_file that doesn't install FD (Yauheni Kaliuta) [1845114] - [tools] bpftool: Bash completion for "bpftool prog profile" (Yauheni Kaliuta) [1845114] - [tools] bpftool: Documentation for bpftool prog profile (Yauheni Kaliuta) [1845114] - [tools] bpftool: Introduce "prog profile" command (Yauheni Kaliuta) [1845114] - [tools] selftests: bpf: Enable UDP sockmap reuseport tests (Yauheni Kaliuta) [1845114] - [tools] selftests: bpf: Add tests for UDP sockets in sockmap (Yauheni Kaliuta) [1845114] - [tools] selftests: bpf: Don't listen() on UDP sockets (Yauheni Kaliuta) [1845114] - [net] bpf: sockmap: Add UDP support (Yauheni Kaliuta) [1845114] - [net] bpf: Add sockmap hooks for UDP sockets (Yauheni Kaliuta) [1845114] - [net] bpf: sockmap: Simplify sock_map_init_proto (Yauheni Kaliuta) [1845114] - [net] bpf: sockmap: Move generic sockmap hooks from BPF TCP (Yauheni Kaliuta) [1845114] - [net] bpf: tcp: Guard declarations with CONFIG_NET_SOCK_MSG (Yauheni Kaliuta) [1845114] - [net] bpf: tcp: Move assertions into tcp_bpf_get_proto (Yauheni Kaliuta) [1845114] - [net] skmsg: Update saved hooks only once (Yauheni Kaliuta) [1845114] - [net] bpf: sockmap: Only check ULP for TCP sockets (Yauheni Kaliuta) [1845114] - [kernel] bpf: Fix bpf_prog_test_run_tracing for !CONFIG_NET (Yauheni Kaliuta) [1845114] - [net] bpf: Remove unnecessary CAP_MAC_ADMIN check (Yauheni Kaliuta) [1845114] - [tools] bpf: Add selftests for BPF_MODIFY_RETURN (Yauheni Kaliuta) [1845114] - [tools] bpf: Add test ops for BPF_PROG_TYPE_TRACING (Yauheni Kaliuta) [1845114] - [tools] tools/libbpf: Add support for BPF_MODIFY_RETURN (Yauheni Kaliuta) [1845114] - [net] bpf: Attachment verification for BPF_MODIFY_RETURN (Yauheni Kaliuta) [1845114] - [net] bpf: Introduce BPF_MODIFY_RETURN (Yauheni Kaliuta) [1845114] - [x86] bpf: JIT helpers for fmod_ret progs (Yauheni Kaliuta) [1845114] - [net] bpf: Refactor trampoline update code (Yauheni Kaliuta) [1845114] - [tools] selftests/bpf: Support out-of-tree vmlinux builds for VMLINUX_BTF (Yauheni Kaliuta) [1845114] - [tools] tools/runqslower: Drop copy/pasted BPF_F_CURRENT_CPU definiton (Yauheni Kaliuta) [1845114] - [tools] libbpf: Assume unsigned values for BTF_KIND_ENUM (Yauheni Kaliuta) [1845114] - [tools] bpf: Switch BPF UAPI #define constants used from BPF program side to enums (Yauheni Kaliuta) [1845114] - [tools] selftests/bpf: Test new __sk_buff field gso_size (Yauheni Kaliuta) [1845114] - [tools] bpf: Sync uapi bpf.h to tools/ (Yauheni Kaliuta) [1845114] - [net] bpf: Add gso_size to __sk_buff (Yauheni Kaliuta) [1845114] - [tools] selftests/bpf: Add link pinning selftests (Yauheni Kaliuta) [1845114] - [tools] libbpf: Add bpf_link pinning/unpinning (Yauheni Kaliuta) [1845114] - [net] bpf: Introduce pinnable bpf_link abstraction (Yauheni Kaliuta) [1845114] - [tools] libbpf: Merge selftests' bpf_trace_helpers.h into libbpf's bpf_tracing.h (Yauheni Kaliuta) [1845114] - [tools] libbpf: Fix use of PT_REGS_PARM macros with vmlinux.h (Yauheni Kaliuta) [1845114] - [tools] bpftool: Add header guards to generated vmlinux.h (Yauheni Kaliuta) [1845114] - [tools] selftests/bpf: Add test for "bpftool feature" command (Yauheni Kaliuta) [1845114] - [tools] selftests/tpm2: Add log and *.pyc to .gitignore (Yauheni Kaliuta) [1845114] - [tools] bpftool: Update bash completion for "bpftool feature" command (Yauheni Kaliuta) [1845114] - [tools] bpftool: Update documentation of "bpftool feature" command (Yauheni Kaliuta) [1845114] - [tools] bpftool: Make probes which emit dmesg warnings optional (Yauheni Kaliuta) [1845114] - [tools] bpftool: Move out sections to separate functions (Yauheni Kaliuta) [1845114] - [tools] bpftool: Support struct_ops, tracing, ext prog types (Yauheni Kaliuta) [1845114] - [scripts] scripts/bpf: Switch to more portable python3 shebang (Yauheni Kaliuta) [1845114] - [tools] selftests/bpf: Print backtrace on SIGSEGV in test_progs (Yauheni Kaliuta) [1845114] - [tools] selftests/bpf: Run reuseport tests only with supported socket types (Yauheni Kaliuta) [1845114] - [net] bpf/stackmap: Dont trylock mmap_sem with PREEMPT_RT and interrupts disabled (Yauheni Kaliuta) [1845114] - [net] bpf, lpm: Make locking RT friendly (Yauheni Kaliuta) [1845114] - [net] bpf: Prepare hashtab locking for PREEMPT_RT (Yauheni Kaliuta) [1845114] - [net] bpf: Factor out hashtab bucket lock operations (Yauheni Kaliuta) [1845114] - [net] bpf: Replace open coded recursion prevention in sys_bpf() (Yauheni Kaliuta) [1845114] - [net] bpf: Use recursion prevention helpers in hashtab code (Yauheni Kaliuta) [1845114] - [include] bpf: Provide recursion prevention helpers (Yauheni Kaliuta) [1845114] - [include] bpf: Use migrate_disable/enable in array macros and cgroup/lirc code (Yauheni Kaliuta) [1845114] - [net] bpf: Use migrate_disable/enabe() in trampoline code (Yauheni Kaliuta) [1845114] - [lib] bpf/tests: Use migrate disable instead of preempt disable (Yauheni Kaliuta) [1845114] - [net] bpf: Use bpf_prog_run_pin_on_cpu() at simple call sites (Yauheni Kaliuta) [1845114] - [include] bpf: Replace cant_sleep() with cant_migrate() (Yauheni Kaliuta) [1845114] - [include] bpf: Provide bpf_prog_run_pin_on_cpu() helper (Yauheni Kaliuta) [1845114] - [include] sched/rt: Provide migrate_disable/enable() inlines (Yauheni Kaliuta) [1845114] - [include] sched: Provide cant_migrate() (Yauheni Kaliuta) [1845114] - [net] bpf: Dont iterate over possible CPUs with interrupts disabled (Yauheni Kaliuta) [1845114] - [net] bpf: Remove recursion prevention from rcu free callback (Yauheni Kaliuta) [1845114] - [kernel] perf/bpf: Remove preempt disable around BPF invocation (Yauheni Kaliuta) [1845114] - [kernel] bpf/trace: Remove redundant preempt_disable from trace_call_bpf() (Yauheni Kaliuta) [1845114] - [kernel] bpf: disable preemption for bpf progs attached to uprobe (Yauheni Kaliuta) [1845114] - [kernel] bpf/trace: Remove EXPORT from trace_call_bpf() (Yauheni Kaliuta) [1845114] - [kernel] bpf/tracing: Remove redundant preempt_disable() in __bpf_trace_run() (Yauheni Kaliuta) [1845114] - [net] bpf: Update locking comment in hashtab code (Yauheni Kaliuta) [1845114] - [net] bpf: Enforce preallocation for instrumentation programs on RT (Yauheni Kaliuta) [1845114] - [net] bpf: Tighten the requirements for preallocated hash maps (Yauheni Kaliuta) [1845114] - [tools] selftests/bpf: Tests for sockmap/sockhash holding listening sockets (Yauheni Kaliuta) [1845114] - [tools] selftests/bpf: Extend SK_REUSEPORT tests to cover SOCKMAP/SOCKHASH (Yauheni Kaliuta) [1845114] - [documentation] docs/bpf: Update bpf development Q/A file (Yauheni Kaliuta) [1845114] - [tools] selftests/bpf: Update xdp_bpf2bpf test to use new set_attach_target API (Yauheni Kaliuta) [1845114] - [tools] libbpf: Add support for dynamic program attach target (Yauheni Kaliuta) [1845114] - [tools] libbpf: Bump libpf current version to v0.0.8 (Yauheni Kaliuta) [1845114] - [tools] libbpf: Relax check whether BTF is mandatory (Yauheni Kaliuta) [1845114] - [tools] selftests/bpf: Change llvm flag -mcpu=probe to -mcpu=v3 (Yauheni Kaliuta) [1845114] - [tools] selftests/bpf: Add bpf_read_branch_records() selftest (Yauheni Kaliuta) [1845114] - [kernel] bpf: Add bpf_read_branch_records() helper (Yauheni Kaliuta) [1845114] - [kernel] bpf: Allow bpf_perf_event_read_value in all BPF programs (Yauheni Kaliuta) [1845114] - [dma] dma-direct: improve DMA mask overflow reporting (Don Dutile) [1816437] - [dma] dma-direct: improve swiotlb error reporting (Don Dutile) [1816437] - [dma] dma-direct: relax addressability checks in dma_direct_supported (Don Dutile) [1816437] - [dma] dma-contiguous: CMA: give precedence to cmdline (Don Dutile) [1816437] - [misc] lib/genalloc.c: rename addr_in_gen_pool to gen_pool_has_addr (Don Dutile) [1816437] - [lib] lib/genalloc.c: export symbol addr_in_gen_pool (Don Dutile) [1816437] - [acpi] dma-mapping: treat dev->bus_dma_mask as a DMA limit (Don Dutile) [1816437] - [powerpc] dma-direct: unify the dma_capable definitions (Don Dutile) [1816437] - [of] of/device: Really only set bus DMA mask when appropriate (Don Dutile) [1816437] - [dma] dma-direct: exclude dma_direct_map_resource from the min_low_pfn check (Don Dutile) [1816437] - [dma] dma-debug: clean up put_hash_bucket() (Don Dutile) [1816437] - [iommu] dma-mapping: drop the dev argument to arch_sync_dma_for_* (Don Dutile) [1816437] - [xen] swiotlb-xen: simplify cache maintainance (Don Dutile) [1816437] - [xen] swiotlb-xen: simplify the DMA sync method implementations (Don Dutile) [1816437] - [dma] dma-debug: increase HASH_SIZE (Don Dutile) [1816437] - [dma] dma-debug: reorder struct dma_debug_entry fields (Don Dutile) [1816437] - [dma] dma-mapping: merge the generic remapping helpers into dma-direct (Don Dutile) [1816437] - [dma] dma-direct: provide mmap and get_sgtable method overrides (Don Dutile) [1816437] - [dma] dma-direct: remove the dma_handle argument to __dma_direct_alloc_pages (Don Dutile) [1816437] - [dma] dma-direct: remove __dma_direct_free_pages (Don Dutile) [1816437] - [mm] dma/direct: turn ARCH_ZONE_DMA_BITS into a variable (Don Dutile) [1816437] - [dma] dma-direct: check for overflows on 32 bit DMA addresses (Don Dutile) [1816437] - [s390] s390/dma: provide proper ARCH_ZONE_DMA_BITS value (Don Dutile) [1816437] - [mm] powerpc: fix off by one in max_zone_pfn initialization for ZONE_DMA (Don Dutile) [1816437] - [powerpc] powerpc: enable a 30-bit ZONE_DMA for 32-bit pmac (Don Dutile) [1816437] - [mm] arm64: rename variables used to calculate ZONE_DMA32's size (Don Dutile) [1816437] - [mm] arm64: mm: use arm64_dma_phys_limit instead of calling max_zone_dma_phys() (Don Dutile) [1816437] - [mm] arm64: mm: make CONFIG_ZONE_DMA32 configurable (Don Dutile) [1816437] - [dma] kernel: dma-contiguous: mark CMA parameters __initdata/__initconst (Don Dutile) [1816437] - [dma] dma-debug: add a schedule point in debug_dma_dump_mappings() (Don Dutile) [1816437] - [dma] dma-debug: Use pr_warn instead of pr_warning (Don Dutile) [1816437] - [dma] dma-mapping: fix false positivse warnings in dma_common_free_remap() (Don Dutile) [1816437] - [xen] swiotlb-xen: ensure we have a single callsite for xen_dma_map_page (Don Dutile) [1816437] - [iommu] dma-mapping: introduce a dma_common_find_pages helper (Don Dutile) [1816437] - [iommu] dma-mapping: always use VM_DMA_COHERENT for generic DMA remap (Don Dutile) [1816437] - [mm] vmalloc: lift the arm flag for coherent mappings to common code (Don Dutile) [1816437] - [mm] dma-mapping: provide a better default ->get_required_mask (Don Dutile) [1816437] - [dma] dma-mapping: remove the dma_declare_coherent_memory export (Don Dutile) [1816437] - [dma] dma-mapping: remove the dma_mmap_from_dev_coherent export (Don Dutile) [1816437] - [dma] dma-mapping: remove CONFIG_ARCH_NO_COHERENT_DMA_MMAP (Don Dutile) [1816437] - [dma] dma-mapping: add a dma_can_mmap helper (Don Dutile) [1816437] - [powerpc] dma-mapping: explicitly wire up ->mmap and ->get_sgtable (Don Dutile) [1816437] - [mm] dma-mapping: move the dma_get_sgtable API comments from arm to common code (Don Dutile) [1816437] - [dma] dma-mapping: introduce dma_get_merge_boundary() (Don Dutile) [1816437] - [mm] dma-mapping: make dma_atomic_pool_init self-contained (Don Dutile) [1816437] - [arm64] dma-mapping: remove arch_dma_mmap_pgprot (Don Dutile) [1816437] - [scsi] scsi: ibmvscsi: Don't send host info in adapter info MAD after LPM (Steve Best) [1847078] - [fs] NFS: Fix inode fileid checks in attribute revalidation code (Benjamin Coddington) [1846295] - [fs] NFS: remove set but not used variable 'mapping' (Benjamin Coddington) [1846295] - [fs] NFSv2: Fix write regression (Benjamin Coddington) [1846295] - [fs] NFSv2: Fix eof handling (Benjamin Coddington) [1846295] - [fs] NFS: Fix writepage(s) error handling to not report errors twice (Benjamin Coddington) [1846295] - [fs] NFS: Fix spurious EIO read errors (Benjamin Coddington) [1846295] - [fs] pNFS/flexfiles: Don't time out requests on hard mounts (Benjamin Coddington) [1846295] - [net] SUNRPC: Handle EADDRINUSE and ENOBUFS correctly (Benjamin Coddington) [1846295] - [fs] pNFS/flexfiles: Turn off soft RPC calls (Benjamin Coddington) [1846295] - [fs] NFS: On fatal writeback errors, we need to call nfs_inode_remove_request() (Benjamin Coddington) [1846295] - [fs] NFS: Fix initialisation of I/O result struct in nfs_pgio_rpcsetup (Benjamin Coddington) [1846295] - [fs] NFSv4: Fix return value in nfs_finish_open() (Benjamin Coddington) [1846295] - [fs] NFSv4: Fix return values for nfs4_file_open() (Benjamin Coddington) [1846295] - [fs] NFS: Don't refresh attributes with mounted-on-file information (Benjamin Coddington) [1846295] - [fs] NFSv4: Ensure state recovery handles ETIMEDOUT correctly (Benjamin Coddington) [1846295] - [fs] NFSv4: Report the error from nfs4_select_rw_stateid() (Benjamin Coddington) [1846295] - [fs] NFSv4: Print an error in the syslog when state is marked as irrecoverable (Benjamin Coddington) [1846295] - [net] SUNRPC: Optimise transport balancing code (Benjamin Coddington) [1846295] - [fs] NFSv4: Don't use the zero stateid with layoutget (Benjamin Coddington) [1846295] - [net] SUNRPC: Fix up backchannel slot table accounting (Benjamin Coddington) [1846295] - [net] SUNRPC: Skip zero-refcount transports (Benjamin Coddington) [1846295] - [net] SUNRPC: Replace division by multiplication in calculation of queue length (Benjamin Coddington) [1846295] - [fs] NFSv4: Validate the stateid before applying it to state recovery (Benjamin Coddington) [1846295] - [fs] nfs4.0: Refetch lease_time after clientid update (Benjamin Coddington) [1846295] - [fs] nfs4: Rename nfs41_setup_state_renewal (Benjamin Coddington) [1846295] - [fs] nfs4: Make nfs4_proc_get_lease_time available for nfs4.0 (Benjamin Coddington) [1846295] - [fs] nfs: Fix copy-and-paste error in debug message (Benjamin Coddington) [1846295] - [fs] NFS: Replace 16 seq_printf() calls by seq_puts() (Benjamin Coddington) [1846295] - [fs] NFS: Use seq_putc() in nfs_show_stats() (Benjamin Coddington) [1846295] - [fs] nfsd: Fix misuse of strlcpy (Benjamin Coddington) [1846295] - [net] SUNRPC: Drop redundant CONFIG_ from CONFIG_SUNRPC_DISABLE_INSECURE_ENCTYPES (Benjamin Coddington) [1846295] - [fs] NFS: Cleanup if nfs_match_client is interrupted (Benjamin Coddington) [1846295] - [fs] nfs: disable client side deduplication (Benjamin Coddington) [1846295] - [fs] NFS: Clean up writeback code (Benjamin Coddington) [1846295] - [net] SUNRPC: Remove warning in debugfs.c when compiling with W=1 (Benjamin Coddington) [1846295] - [fs] NFS: Add sysfs support for per-container identifier (Benjamin Coddington) [1846295] - [net] SUNRPC: Remove the bh-safe lock requirement on the rpc_wait_queue->lock (Benjamin Coddington) [1846295] - [fs] NFS: Cleanup - add nfs_clients_exit to mirror nfs_clients_init (Benjamin Coddington) [1846295] - [fs] NFS: Create a root NFS directory in /sys/fs/nfs (Benjamin Coddington) [1846295] - [net] SUNRPC: Remove the bh-safe lock requirement on xprt->transport_lock (Benjamin Coddington) [1846295] - [net] SUNRPC: Replace direct task wakeups from softirq context (Benjamin Coddington) [1846295] - [net] SUNRPC: Replace the queue timer with a delayed work function (Benjamin Coddington) [1846295] - [fs] NFSv4: Handle open for execute correctly (Benjamin Coddington) [1846295] - [fs] nfs: dget_parent() never returns NULL (Benjamin Coddington) [1846295] - [net] nfs: fix out-of-date connectathon talk URL (Benjamin Coddington) [1846295] - [fs] nfsd4: remove outdated nfsd4_decode_time comment (Benjamin Coddington) [1846295] - [fs] nfsd: Spelling s/EACCESS/EACCES/ (Benjamin Coddington) [1846295] - [fs] lockd: Make two symbols static (Benjamin Coddington) [1846295] - [fs] lockd: Show pid of lockd for remote locks (Benjamin Coddington) [1846295] - [fs] lockd: Remove lm_compare_owner and lm_owner_key (Benjamin Coddington) [1846295] - [fs] lockd: Convert NLM service fl_owner to nlm_lockowner (Benjamin Coddington) [1846295] - [fs] lockd: prepare nlm_lockowner for use by the server (Benjamin Coddington) [1846295] - [net] sunrpc: no need to check return value of debugfs_create functions (Benjamin Coddington) [1846295] - [fs] nfsd: no need to check return value of debugfs_create functions (Benjamin Coddington) [1846295] - [fs] xfs: add agf freeblocks verify in xfs_agf_verify (Brian Foster) [1837192] {CVE-2020-12655} - [scsi] scsi: iscsi: Fix deadlock on recovery path during GFP_IO reclaim (Chris Leech) [1830140] - [scsi] scsi: iscsi: Register sysfs for iscsi workqueue (Chris Leech) [1830140] - [scsi] scsi: iscsi: Report unbind session event when the target has been removed (Chris Leech) [1830140] - [scsi] scsi: libiscsi: Fix error count for active session (Chris Leech) [1830140] - [scsi] scsi: iscsi: Report connection state in sysfs (Chris Leech) [1830140] - [scsi] scsi: iscsi: Add support for asynchronous iSCSI session destruction (Chris Leech) [1830140] - [scsi] scsi: iscsi: Perform connection failure entirely in kernel space (Chris Leech) [1830140] - [scsi] scsi: iscsi: Don't destroy session if there are outstanding connections (Chris Leech) [1830140] - [scsi] scsi: iscsi: Fix a potential deadlock in the timeout handler (Chris Leech) [1830140] - [scsi] scsi: iscsi: Don't send data to unbound connection (Chris Leech) [1830140] - [scsi] scsi: libiscsi: switch to SPDX tags (Chris Leech) [1830140] - [scsi] scsi: libiscsi: Hold back_lock when calling iscsi_complete_task (Chris Leech) [1830140] - [scsi] scsi: libiscsi: Use scsi_et_resid() where appropriate (Chris Leech) [1830140] - [scsi] scsi: iscsi: Capture iscsi debug messages using tracepoints (Chris Leech) [1830140] - [scsi] scsi: libiscsi: Fix NULL pointer dereference in iscsi_eh_session_reset (Chris Leech) [1830140] - [scsi] scsi: iscsi_tcp: Explicitly cast param in iscsi_sw_tcp_host_get_param (Chris Leech) [1830140] - [scsi] scsi: libiscsi: Annotate fall-through (Chris Leech) [1830140] - [scsi] scsi: libiscsi: Annotate locking assumptions (Chris Leech) [1830140] - [nvme] nvmet: fail outstanding host posted AEN req (David Milburn) [1833642] - [nvme] nvmet: add async event tracing support (David Milburn) [1833642] - [nvme] nvmet: cleanups the loop in nvmet_async_events_process (David Milburn) [1833642] - [nvme] nvmet: fix memory leak when removing namespaces and controllers concurrently (David Milburn) [1833642] - [netdrv] ibmvnic: Flush existing work items before device removal (Steve Best) [1846761] - [kernel] signal: Extend exec_id to 64bits (Chris von Recklinghausen) [1834652] {CVE-2020-12826}- [arm64] docs: fix broken references to text files (Andrew Jones) [1842468] - [arm64] kvm: arm64: Move __load_guest_stage2 to kvm_mmu.h (Andrew Jones) [1842468] - [arm64] kvm: arm64: Drop obsolete comment about sys_reg ordering (Andrew Jones) [1842468] - [arm64] kvm: arm64: Parametrize exception entry with a target EL (Andrew Jones) [1842468] - [arm64] kvm: arm64: Don't use empty structures as CPU reset state (Andrew Jones) [1842468] - [arm64] kvm: arm64: Move sysreg reset check to boot time (Andrew Jones) [1842468] - [arm64] kvm: arm64: Add missing reset handlers for PMU emulation (Andrew Jones) [1842468] - [arm64] kvm: arm64: Refactor vcpu_{read, write}_sys_reg (Andrew Jones) [1842468] - [arm64] kvm: arm64: vgic-v3: Take cpu_if pointer directly instead of vcpu (Andrew Jones) [1842468] - [arm64] kvm: arm64: Remove obsolete kvm_virt_to_phys abstraction (Andrew Jones) [1842468] - [arm64] kvm: arm64: Fix incorrect comment on kvm_get_hyp_vector() (Andrew Jones) [1842468] - [arm64] kvm: arm64: Clean up cpu_init_hyp_mode() (Andrew Jones) [1842468] - [arm64] cpufeature: Drop open encodings while extracting parange (Andrew Jones) [1842468] - [arm64] kvm: arm64: Make KVM_CAP_MAX_VCPUS compatible with the selected GIC version (Andrew Jones) [1842468] - [arm64] kvm: arm64: Support enabling dirty log gradually in small chunks (Andrew Jones) [1842468] - [arm64] kvm: arm64: Unify handling THP backed host memory (Andrew Jones) [1842468] - [arm64] kvm: arm64: Clean up the checking for huge mapping (Andrew Jones) [1842468] - [arm64] kvm: arm/arm64: Release kvm->mmu_lock in loop to prevent starvation (Andrew Jones) [1842468] - [arm64] kvm: arm64: Sidestep stage2_unmap_vm() on vcpu reset when S2FWB is supported (Andrew Jones) [1842468] - [arm64] kvm: Fix spelling in code comments (Andrew Jones) [1842468] - [arm64] kvm: arm64: Simplify __kvm_timer_set_cntvoff implementation (Andrew Jones) [1842468] - [arm64] kvm: arm64: Clean up kvm makefiles (Andrew Jones) [1842468] - [arm64] kvm: arm64: Change CONFIG_KVM to a menuconfig entry (Andrew Jones) [1842468] - [arm64] kvm: arm64: Update help text (Andrew Jones) [1842468] - [arm64] kvm: arm64: Kill off CONFIG_KVM_ARM_HOST (Andrew Jones) [1842468] - [arm64] kvm: arm64: Move virt/kvm/arm to arch/arm64 (Andrew Jones) [1842468] - [arm64] Unify WORKAROUND_SPECULATIVE_AT_{NVHE, VHE} (Andrew Jones) [1842468] - [arm64] cpufeature: Add CPU capability for AArch32 EL1 support (Andrew Jones) [1842468] - [net] SUNRPC: Fix a credential refcount leak (Benjamin Coddington) [1831672] - [net] Revert "SUNRPC: Declare RPC timers as TIMER_DEFERRABLE" (Benjamin Coddington) [1831672] - [net] net :sunrpc :clnt :Fix xps refcount imbalance on the error path (Benjamin Coddington) [1831672] - [net] SUNRPC: Rebalance a kref in auth_gss.c (Benjamin Coddington) [1831672] - [fs] NFS: Fix a double unlock from nfs_match, get_client (Benjamin Coddington) [1831672] - [fs] nfs: pass the correct prototype to read_cache_page (Benjamin Coddington) [1831672] - [fs] NFSv4: don't mark all open state for recovery when handling recallable state revoked flag (Benjamin Coddington) [1831672] - [net] SUNRPC: Fix an error code in gss_alloc_msg() (Benjamin Coddington) [1831672] - [net] SUNRPC: task should be exit if encode return EKEYEXPIRED more times (Benjamin Coddington) [1831672] - [fs] NFS: make nfs_match_client killable (Benjamin Coddington) [1831672] - [fs] nfsd: update callback done processing (Benjamin Coddington) [1831672] - [fs] lockd: Store the lockd client credential in struct nlm_host (Benjamin Coddington) [1831672] - [fs] NFS: When mounting, don't share filesystems between different user namespaces (Benjamin Coddington) [1831672] - [fs] NFS: Convert NFSv2 to use the container user namespace (Benjamin Coddington) [1831672] - [fs] NFSv4: Convert the NFS client idmapper to use the container user namespace (Benjamin Coddington) [1831672] - [fs] NFS: Convert NFSv3 to use the container user namespace (Benjamin Coddington) [1831672] - [net] SUNRPC: Use namespace of listening daemon in the client AUTH_GSS upcall (Benjamin Coddington) [1831672] - [net] net: Remove some unneeded semicolon (Benjamin Coddington) [1831672] - [net] SUNRPC: Use the client user namespace when encoding creds (Benjamin Coddington) [1831672] - [fs] NFS: Store the credential of the mount process in the nfs_server (Benjamin Coddington) [1831672] - [fs] SUNRPC: Cache cred of process creating the rpc_client (Benjamin Coddington) [1831672] - [net] SUNRPC: Update comments based on recent changes (Benjamin Coddington) [1831672] - [net] SUNRPC: Avoid digging into the ATOMIC pool (Benjamin Coddington) [1831672] - [net] xprtrdma: Recognize XDRBUF_SPARSE_PAGES (Benjamin Coddington) [1831672] - [fs] Fix nfs4.2 return -EINVAL when do dedupe operation (Benjamin Coddington) [1831672] - [fs] NFS: Remove redundant open context from nfs_page (Benjamin Coddington) [1831672] - [fs] NFS: Add a helper to return a pointer to the open context of a struct nfs_page (Benjamin Coddington) [1831672] - [fs] NFS: Ensure that all nfs lock contexts have a valid open context (Benjamin Coddington) [1831672] - [fs] NFS: Allow signal interruption of NFS4ERR_DELAYed operations (Benjamin Coddington) [1831672] - [fs] pNFS: Add tracking to limit the number of pNFS retries (Benjamin Coddington) [1831672] - [fs] NFS: Remove unused argument from nfs_create_request() (Benjamin Coddington) [1831672] - [fs] NFS: Fix up NFS I/O subrequest creation (Benjamin Coddington) [1831672] - [fs] NFS: Replace custom error reporting mechanism with generic one (Benjamin Coddington) [1831672] - [fs] NFS: Don't inadvertently clear writeback errors (Benjamin Coddington) [1831672] - [fs] NFS: Don't call generic_error_remove_page() while holding locks (Benjamin Coddington) [1831672] - [fs] NFS: Don't interrupt file writeout due to fatal errors (Benjamin Coddington) [1831672] - [fs] NFS: Add a mount option "softerr" to allow clients to see ETIMEDOUT errors (Benjamin Coddington) [1831672] - [uapi] NFS: Move internal constants out of uapi/linux/nfs_mount.h (Benjamin Coddington) [1831672] - [fs] NFS: Consider ETIMEDOUT to be a fatal error (Benjamin Coddington) [1831672] - [net] SUNRPC: Add the 'softerr' rpc_client flag (Benjamin Coddington) [1831672] - [net] SUNRPC: Ensure to ratelimit the "server not responding" syslog messages (Benjamin Coddington) [1831672] - [net] SUNRPC: Start the first major timeout calculation at task creation (Benjamin Coddington) [1831672] - [net] SUNRPC: Ensure that the transport layer respect major timeouts (Benjamin Coddington) [1831672] - [net] SUNRPC: Declare RPC timers as TIMER_DEFERRABLE (Benjamin Coddington) [1831672] - [net] SUNRPC: Simplify queue timeouts using timer_reduce() (Benjamin Coddington) [1831672] - [net] SUNRPC: Fix up tracking of timeouts (Benjamin Coddington) [1831672] - [net] SUNRPC: Add function rpc_sleep_on_timeout() (Benjamin Coddington) [1831672] - [fs] SUNRPC: Remove unused argument 'action' from rpc_sleep_on_priority() (Benjamin Coddington) [1831672] - [net] SUNRPC: Refactor rpc_sleep_on() (Benjamin Coddington) [1831672] - [net] SUNRPC: Refactor xprt_request_wait_receive() (Benjamin Coddington) [1831672] - [fs] nfsd: fh_drop_write in nfsd_unlink (Benjamin Coddington) [1831672] - [fs] nfsd: avoid uninitialized variable warning (Benjamin Coddington) [1831672] - [netdrv] Revert "net: phy: realtek: fix using paged operations with RTL8105e / RTL8208" (Josef Oskera) [1846022] - [netdrv] ice: Fix Tx timeout when link is toggled on a VF's interface (Jonathan Toppins) [1843144] - [netdrv] ice: add a devlink region for dumping NVM contents (Jonathan Toppins) [1843144] - [nvme] nvme-fc: print proper nvme-fc devloss_tmo value (Gopal Tiwari) [1846049] - [acpi] ACPI: EC: PM: Avoid flushing EC work when EC GPE is inactive (Al Stone) [1803969] - [acpi] ACPI: EC: PM: Avoid premature returns from acpi_s2idle_wake() (Al Stone) [1803969] - [acpi] ACPI: PM: Add acpi_register_wakeup_handler() (Al Stone) [1803969] - [acpi] ACPI: PM: s2idle: Refine active GPEs check (Al Stone) [1803969] - [acpi] ACPICA: Allow acpi_any_gpe_status_set() to skip one GPE (Al Stone) [1803969] - [base] PM: sleep: wakeup: Skip wakeup_source_sysfs_remove() if device is not there (Al Stone) [1803969] - [acpi] ACPI: PM: s2idle: Check fixed wakeup events in acpi_s2idle_wake() (Al Stone) [1803969] - [acpi] ACPI: PM: s2idle: Fix comment in acpi_s2idle_prepare_late() (Al Stone) [1803969] - [platform] platform/x86: sony-laptop: Make resuming thermal profile safer (Al Stone) [1803969] - [platform] platform/x86: sony-laptop: SNC calls should handle BUFFER types (Al Stone) [1803969] - [acpi] ACPI: Update Tiger Lake ACPI device IDs (Al Stone) [1803969] - [acpi] ACPI: EC: Avoid printing confusing messages in acpi_ec_setup() (Al Stone) [1803969] - [acpi] ACPI: EC: Fix flushing of pending work (Al Stone) [1803969] - [base] PM / wakeup: Register wakeup class kobj after device is added (Al Stone) [1803969] - [base] PM / wakeup: Fix sysfs registration error path (Al Stone) [1803969] - [base] PM / wakeup: Unexport wakeup_source_sysfs_{add, remove}() (Al Stone) [1803969] - [kernel] PM: suspend: Fix platform_suspend_prepare_noirq() (Al Stone) [1803969] - [acpi] ACPI: PM: s2idle: Prevent spurious SCIs from waking up the system (Al Stone) [1803969] - [acpi] ACPICA: Introduce acpi_any_gpe_status_set() (Al Stone) [1803969] - [acpi] ACPI: PM: s2idle: Avoid possible race related to the EC GPE (Al Stone) [1803969] - [acpi] ACPI: watchdog: Allow disabling WDAT at boot (Al Stone) [1803969] - [acpi] ACPI / APD: Add clock frequency for Hisilicon Hip08-Lite I2C controller (Al Stone) [1803969] - [acpi] ACPI: thermal: switch to use helpers (Al Stone) [1803969] - [acpi] ACPI/IORT: Fix 'Number of IDs' handling in iort_id_map() (Al Stone) [1803969] - [acpi] ACPI/IORT: Parse SSID property of named component node (Al Stone) [1803969] - [iommu] iommu/arm-smmu-v3: Parse PASID devicetree property of platform devices (Al Stone) [1803969] - [acpi] ACPICA: Update version to 20200110 (Al Stone) [1803969] - [acpi] ACPICA: All acpica: Update copyrights to 2020 Including tool signons (Al Stone) [1803969] - [acpi] ACPI: button: Add DMI quirk for Razer Blade Stealth 13 late 2019 lid switch (Al Stone) [1803969] - [acpi] ACPI: PPTT: Consistently use unsigned int as parameter type (Al Stone) [1803969] - [acpi] ACPI: EC: Reference count query handlers under lock (Al Stone) [1803969] - [acpi] ACPICA: Update version to 20191213 (Al Stone) [1803969] - [acpi] ACPICA: Dispatcher: always generate buffer objects for ASL create_field() operator (Al Stone) [1803969] - [acpi] ACPICA: acpisrc: add unix line ending support for non-windows build (Al Stone) [1803969] - [acpi] ACPICA: Disassembler: create buffer fields in ACPI_PARSE_LOAD_PASS1 (Al Stone) [1803969] - [acpi] ACPICA: debugger: fix spelling mistake "adress" -> "address" (Al Stone) [1803969] - [acpi] ACPI: video: Do not export a non working backlight interface on MSI MS-7721 boards (Al Stone) [1803969] - [acpi] ACPI: fan: Add Tiger Lake ACPI device ID (Al Stone) [1803969] - [acpi] ACPI: DPTF: Add Tiger Lake ACPI device IDs (Al Stone) [1803969] - [acpi] ACPI: fan: Expose fan performance state information (Al Stone) [1803969] - [acpi] ACPI / LPSS: Rename pwm_backlight pwm-lookup to pwm_soc_backlight (Al Stone) [1803969] - [acpi] ACPI: video: Use native backlight on Lenovo E41-25/45 (Al Stone) [1803969] - [acpi] ACPI: video: fix typo in comment (Al Stone) [1803969] - [acpi] ACPI / battery: Deal better with neither design nor full capacity not being reported (Al Stone) [1803969] - [acpi] ACPI / battery: Use design-cap for capacity calculations if full-cap is not available (Al Stone) [1803969] - [acpi] ACPI / battery: Deal with design or full capacity being reported as -1 (Al Stone) [1803969] - [acpi] ACPI/sleep: Convert acpi_wakeup_address into a function (Al Stone) [1803969] - [acpi] ACPI: PM: Avoid attaching ACPI PM domain to certain devices (Al Stone) [1803969] - [acpi] ACPI: PM: s2idle: Rework ACPI events synchronization (Al Stone) [1803969] - [acpi] ACPI: EC: Rework flushing of pending work (Al Stone) [1803969] - [acpi] ACPI: bus: Fix NULL pointer check in acpi_bus_get_private_data() (Al Stone) [1803969] - [acpi] ACPI: Fix Kconfig indentation (Al Stone) [1803969] - [acpi] ACPI: OSL: only free map once in osl.c (Al Stone) [1803969] - [acpi] ACPI: button: Add DMI quirk for Acer Switch 10 SW5-032 lid-switch (Al Stone) [1803969] - [acpi] ACPI: sysfs: Change ACPI_MASKABLE_GPE_MAX to 0x100 (Al Stone) [1803969] - [acpi] ACPI: OSI: Shoot duplicate word (Al Stone) [1803969] - [acpi] ACPI: HMAT: use u instead of d to print u32 values (Al Stone) [1803969] - [acpi] ACPI: NUMA: HMAT: fix a section mismatch (Al Stone) [1803969] - [acpi] ACPI: HMAT: don't mix pxm and nid when setting memory target processor_pxm (Al Stone) [1803969] - [acpi] ACPI: NUMA: HMAT: Register "soft reserved" memory as an "hmem" device (Al Stone) [1803969] - [acpi] ACPI: NUMA: HMAT: Register HMAT at device_initcall level (Al Stone) [1803969] - [acpi] ACPI: NUMA: Establish a new drivers/acpi/numa/ directory (Al Stone) [1803969] - [x86] x86/efi: EFI soft reservation to E820 enumeration (Al Stone) [1803969] - [firmware] efi: Common enable/disable infrastructure for EFI soft reservation (Al Stone) [1803969] - [firmware] efi: Enumerate EFI_MEMORY_SP (Al Stone) [1803969] - [dax] device-dax: Add a driver for "hmem" devices (Al Stone) [1803969] - [nvdimm] lib: Uplevel the pmem "region" ida to a global allocator (Al Stone) [1803969] - [acpi] ACPICA: Update version to 20191018 (Al Stone) [1803969] - [acpi] ACPICA: debugger: remove leading whitespaces when converting a string to a buffer (Al Stone) [1803969] - [acpi] ACPICA: acpiexec: initialize all simple types and field units from user input (Al Stone) [1803969] - [acpi] ACPICA: debugger: add field unit support for acpi_db_get_next_token (Al Stone) [1803969] - [acpi] ACPICA: debugger: surround field unit output with braces '{' (Al Stone) [1803969] - [acpi] ACPICA: debugger: add command to dump all fields of particular subtype (Al Stone) [1803969] - [acpi] ACPICA: utilities: add flag to only display data when dumping buffers (Al Stone) [1803969] - [acpi] ACPICA: make acpi_load_table() return table index (Al Stone) [1803969] - [acpi] ACPICA: Add new external interface, acpi_unload_table() (Al Stone) [1803969] - [acpi] ACPICA: More Clang changes (Al Stone) [1803969] - [acpi] ACPICA: Win OSL: Replace get_tick_count with get_tick_count64 (Al Stone) [1803969] - [acpi] ACPICA: Results from Clang (Al Stone) [1803969] - [acpi] ACPI: EC: add support for hardware-reduced systems (Al Stone) [1803969] - [acpi] ACPI: EC: tweak naming in preparation for GpioInt support (Al Stone) [1803969] - [acpi] ACPI: button: Remove unused acpi_lid_notifier_register() functions (Al Stone) [1803969] - [acpi] ACPI: button: Add DMI quirk for Asus T200TA (Al Stone) [1803969] - [acpi] ACPI: button: Add DMI quirk for Medion Akoya E2215T (Al Stone) [1803969] - [acpi] ACPI: button: Turn lid_blacklst DMI table into a generic quirk table (Al Stone) [1803969] - [acpi] ACPI: button: Allow disabling LID support with the lid_init_state module option (Al Stone) [1803969] - [acpi] ACPI: button: Refactor lid_init_state module parsing code (Al Stone) [1803969] - [acpi] ACPI: LPSS: Add dmi quirk for skipping _DEP check for some device-links (Al Stone) [1803969] - [acpi] ACPI: LPSS: Add LNXVIDEO -> BYT I2C1 to lpss_device_links (Al Stone) [1803969] - [acpi] ACPI: LPSS: Add LNXVIDEO -> BYT I2C7 to lpss_device_links (Al Stone) [1803969] - [acpi] ACPI / PMIC: Add Cherry Trail Crystal Cove PMIC OpRegion driver (Al Stone) [1803969] - [acpi] ACPI / PMIC: Add byt prefix to Crystal Cove PMIC OpRegion driver (Al Stone) [1803969] - [acpi] ACPI / PMIC: Do not register handlers for unhandled OpRegions (Al Stone) [1803969] - [acpi] ACPI: processor_idle: Skip dummy wait if kernel is in guest (Al Stone) [1803969] - [acpi] acpi: Use pr_warn instead of pr_warning (Al Stone) [1803969] - [acpi] ACPI: CPPC: Set pcc_datato NULL in acpi_cppc_processor_exit() (Al Stone) [1803969] - [mfd] rhel: constify some function arguments when searching for devices (Al Stone) [1803969] - [acpi] ACPI: platform: Unregister stale platform devices (Al Stone) [1803969] - [i2c] i2c: Revert incorrect conversion to use generic helper (Al Stone) [1803969] - [base] drivers: Introduce device lookup variants by ACPI_COMPANION device (Al Stone) [1803969] - [s390] drivers: s390/cio: Fix compilation warning about const qualifiers (Al Stone) [1803969] - [s390] driver_find_device: Unify the match function with class_find_device() (Al Stone) [1803969] - [acpi] ACPI / LPSS: Switch to use acpi_dev_hid_uid_match() (Al Stone) [1803969] - [acpi] ACPI / utils: Move acpi_dev_get_first_match_dev() under CONFIG_ACPI (Al Stone) [1803969] - [acpi] ACPI / utils: Describe function parameters in kernel-doc (Al Stone) [1803969] - [acpi] ACPI: Always build evged in (Al Stone) [1803969] - [acpi] ACPI: video: update doc for acpi_video_bus_DOS() (Al Stone) [1803969] - [acpi] ACPI: PM: Drop Dell XPS13 9360 from LPS0 Idle _DSM blacklist (Al Stone) [1803969] - [acpi] ACPI: HMAT: ACPI_HMAT_MEMORY_PD_VALID is deprecated since ACPI-6.3 (Al Stone) [1803969] - [acpi] i2c: imx: ACPI support for NXP i2c controller (Al Stone) [1803969] - [acpi] ACPI / PCI: fix acpi_pci_irq_enable() memory leak (Al Stone) [1803969] - [acpi] ACPI: custom_method: fix memory leaks (Al Stone) [1803969] - [acpi] ACPI: thermal: Remove redundant acpi_has_method() calls (Al Stone) [1803969] - [acpi] ACPI / property: Fix acpi_graph_get_remote_endpoint() name in kerneldoc (Al Stone) [1803969] - [acpi] ACPI / CPPC: do not require the _PSD method (Al Stone) [1803969] - [acpi] ACPI: SBS: remove unused const variable 'SMBUS_PEC' (Al Stone) [1803969] - [acpi] ACPI: PM: s2idle: Always set up EC GPE for system wakeup (Al Stone) [1803969] - [platform] intel-hid: Disable button array during suspend-to-idle (Al Stone) [1803969] - [platform] intel-hid: intel-vbtn: Avoid leaking wakeup_mode set (Al Stone) [1803969] - [platform] platform/x86: intel-hid: Missing power button release on some Dell models (Al Stone) [1803969] - [platform] platform/x86: intel-hid: Convert to use SPDX identifier (Al Stone) [1803969] - [platform] platform/x86: intel-hid: Add support for Device Specific Methods (Al Stone) [1803969] - [acpi] ACPI: PM: s2idle: Avoid rearming SCI for wakeup unnecessarily (Al Stone) [1803969] - [base] PM / wakeup: Show wakeup sources stats in sysfs (Al Stone) [1803969] - [kernel] PM / wakeup: Use wakeup_source_register() in wakelock.c (Al Stone) [1803969] - [base] PM / wakeup: Drop wakeup_source_init(), wakeup_source_prepare() (Al Stone) [1803969] - [base] PM: sleep: Fix possible overflow in pm_system_cancel_wakeup() (Al Stone) [1803969] - [acpi] ACPI/PCI: Remove surplus parentheses from a return statement (Al Stone) [1803969] - [acpi] ACPICA: Update version to 20190816 (Al Stone) [1803969] - [acpi] ACPICA: Add "Windows 2019" string to _OSI support (Al Stone) [1803969] - [acpi] ACPICA: Differentiate Windows 8.1 from Windows 8 (Al Stone) [1803969] - [acpi] ACPICA: Fully deploy ACPI_PRINTF_LIKE macro (Al Stone) [1803969] - [acpi] ACPICA: Fix issues with arg types within printf format strings (Al Stone) [1803969] - [acpi] ACPICA: Macros: remove pointer math on a null pointer (Al Stone) [1803969] - [acpi] ACPICA: Debugger: remove redundant assignment on obj_desc (Al Stone) [1803969] - [acpi] ACPI / APEI: Release resources if gen_pool_add() fails (Al Stone) [1803969] - [acpi] acpi: Use built-in RCU list checking for acpi_ioremaps list (Al Stone) [1803969] - [acpi] HMAT: Skip publishing target info for nodes with no online memory (Al Stone) [1803969] - [acpi] HMAT: Register attributes for memory hot add (Al Stone) [1803969] - [acpi] HMAT: Register memory-side cache after parsing (Al Stone) [1803969] - [acpi] ACPI / processor: don't print errors for processorIDs == 0xff (Al Stone) [1803969] - [acpi] ACPI: PM: Print debug messages on device power state changes (Al Stone) [1803969] - [acpi] ACPI: PM: s2idle: Execute LPS0 _DSM functions with suspended devices (Al Stone) [1803969] - [acpi] ACPI: EC: PM: Make acpi_ec_dispatch_gpe() print debug message (Al Stone) [1803969] - [acpi] ACPI: EC: PM: Consolidate some code depending on PM_SLEEP (Al Stone) [1803969] - [acpi] ACPI: PM: s2idle: Eliminate acpi_sleep_no_ec_events() (Al Stone) [1803969] - [acpi] ACPI: PM: s2idle: Switch EC over to polling during "noirq" suspend (Al Stone) [1803969] - [acpi] ACPI: PM: s2idle: Add acpi.sleep_no_lps0 module parameter (Al Stone) [1803969] - [acpi] ACPI: PM: s2idle: Rearrange lps0_device_attach() (Al Stone) [1803969] - [acpi] ACPI / APEI: Get rid of NULL_UUID_LE constant (Al Stone) [1803969] - [acpi] ACPI: PM: Set up EC GPE for system wakeup from drivers that need it (Al Stone) [1803969] - [acpi] PM: sleep: Simplify suspend-to-idle control flow (Al Stone) [1803969] - [kernel] PCI: irq: Introduce rearm_wake_irq() (Al Stone) [1803969] - [acpi] ACPI: PM: Set s2idle_wakeup earlier and clear it later (Al Stone) [1803969] - [acpi] ACPI: EC: Return bool from acpi_ec_dispatch_gpe() (Al Stone) [1803969] - [acpi] ACPICA: Return u32 from acpi_dispatch_gpe() (Al Stone) [1803969] - [kernel] kernel/sysctl.c: ignore out-of-range taint bits introduced via kernel.tainted (Rafael Aquini) [1845358] - [documentation] kernel: add panic_on_taint (Rafael Aquini) [1845358] - [mm] hugetlbfs: fix changes to command line processing (Baoquan He) [1823769] - [documentation] hugetlbfs: clean up command line processing (Baoquan He) [1823769] - [mm] hugetlbfs: remove hugetlb_add_hstate() warning for existing hstate (Baoquan He) [1823769] - [mm] hugetlbfs: move hugepagesz= parsing to arch independent code (Baoquan He) [1823769] - [mm] mm: simplify MEMORY_ISOLATION && COMPACTION || CMA into CONTIG_ALLOC (Baoquan He) [1823769] - [mm] hugetlbfs: add arch_hugetlb_valid_size (Baoquan He) [1823769] - [mm] arm64/hugetlb: Use macros for contiguous huge page sizes (Baoquan He) [1823769] - [mm] arm64: hugetlb: Register hugepages during arch init (Baoquan He) [1823769] - [fs] xfs: prohibit fs freezing when using empty transactions (Brian Foster) [1845099] - [security] selinux: properly handle multiple messages in selinux_netlink_send() (Ondrej Mosnacek) [1839643] {CVE-2020-10751} - [mm] bdi: add a ->dev_name field to struct backing_dev_info (Ming Lei) [1788378] - [block] bdi: use bdi_dev_name() to get device name (Ming Lei) [1788378] - [mm] bdi: move bdi_dev_name out of line (Ming Lei) [1788378] - [fs] memcg: fix a crash in wb_workfn when a device disappears (Ming Lei) [1788378]- [tools] libbpf: provide backported RHEL symbols as upstream aliases 2 (Yauheni Kaliuta) [1813372] - [include] bpf: include/linux/bpf.h: fix spaces (Yauheni Kaliuta) [1813372] - [tools] selftests/bpf: Add test for freplace program with expected_attach_type (Yauheni Kaliuta) [1813372] - [scripts] checkpatch: don't warn about new vsprintf pointer extension 'pe' (Yauheni Kaliuta) [1813372] - [s390] s390: enable bpf jit by default when not built as always-on (Yauheni Kaliuta) [1813372] - [tools] selftests/bpf: Copy runqslower to OUTPUT directory (Yauheni Kaliuta) [1813372] - [tools] selftests/bpf: Fix memory leak in test selector (Yauheni Kaliuta) [1813372] - [tools] libbpf: Fix huge memory leak in libbpf_find_vmlinux_btf_id() (Yauheni Kaliuta) [1813372] - [tools] selftests/bpf: Add runqslower binary to .gitignore (Yauheni Kaliuta) [1813372] - [net] bpf: Change kvfree to kfree in generic_map_lookup_batch() (Yauheni Kaliuta) [1813372] - [tools] bpf, selftests: Use bpf_probe_read_kernel (Yauheni Kaliuta) [1813372] - [net] bpf/cgroup: Replace rcu_swap_protected() with rcu_replace_pointer() (Yauheni Kaliuta) [1813372] - [net] bpf: Fix bug in mmap() implementation for BPF array map (Yauheni Kaliuta) [1813372] - [tools] selftests/bpf: Validate frozen map contents stays frozen (Yauheni Kaliuta) [1813372] - [net] bpf: Fix handling of XADD on BTF memory (Yauheni Kaliuta) [1813372] - [tools] selftests/bpf: Run SYN cookies with reuseport BPF test only for TCP (Yauheni Kaliuta) [1813372] - [tools] bpftool: Fix typo in bash-completion (Yauheni Kaliuta) [1813372] - [tools] libbpf: Fix handling of optional field_name in btf_dump__emit_type_decl (Yauheni Kaliuta) [1813372] - [tools] selftests/bpf: Declare bpf_log_buf variables as static (Yauheni Kaliuta) [1813372] - [tools] selftests/bpf: Fix a couple of broken test_btf cases (Yauheni Kaliuta) [1813372] - [tools] selftests/bpf: Enforce returning 0 for fentry/fexit programs (Yauheni Kaliuta) [1813372] - [tools] selftests/bpf: Fix BPF_KRETPROBE macro and use it in attach_probe test (Yauheni Kaliuta) [1813372] - [net] bpf: Propagate expected_attach_type when verifying freplace programs (Yauheni Kaliuta) [1813372] - [tools] selftests/bpf: Fix trampoline_count clean up logic (Yauheni Kaliuta) [1813372] - [net] bpf: Explicitly memset some bpf info structures declared on the stack (Yauheni Kaliuta) [1813372] - [net] bpf: Explicitly memset the bpf_attr structure (Yauheni Kaliuta) [1813372] - [net] bpf: Sanitize the bpf_struct_ops tcp-cc name (Yauheni Kaliuta) [1813372] - [tools] selftests/bpf: Add test for the packed enum member in struct/union (Yauheni Kaliuta) [1813372] - [net] bpf/btf: Fix BTF verification of enum members in struct/union (Yauheni Kaliuta) [1813372] - [net] bpf: Fix cgroup ref leak in cgroup_bpf_inherit on out-of-memory (Yauheni Kaliuta) [1813372] - [net] bpf: Initialize storage pointers to NULL to prevent freeing garbage pointer (Yauheni Kaliuta) [1813372] - [tools] selftests: bpf: Add test for JMP32 JSET BPF_X with upper bits set (Yauheni Kaliuta) [1813372] - [x86] bpf, x32: Fix bug with JMP32 JSET BPF_X checking upper bits (Yauheni Kaliuta) [1813372] - [net] bpf: Do not allow map_freeze in struct_ops map (Yauheni Kaliuta) [1813372] - [net] bpf: Return better error value in delete_elem for struct_ops map (Yauheni Kaliuta) [1813372] - [tools] selftests/bpf: Add send_signal_sched_switch test (Yauheni Kaliuta) [1813372] - [kernel] bpf: Fix deadlock with rq_lock in bpf_send_signal() (Yauheni Kaliuta) [1813372] - [net] bpf: Fix a potential deadlock with bpf_map_do_batch (Yauheni Kaliuta) [1813372] - [net] bpf: Do not grab the bucket spinlock by default on htab batch ops (Yauheni Kaliuta) [1813372] - [tools] libbpf: Sanitise internal map names so they are not rejected by the kernel (Yauheni Kaliuta) [1813372] - [tools] bpf, uapi: Remove text about bpf_redirect_map() giving higher performance (Yauheni Kaliuta) [1813372] - [net] bpf, offload: Replace bitwise AND by logical AND in bpf_prog_offload_info_fill (Yauheni Kaliuta) [1813372] - [tools] selftests/bpf: Mark SYN cookie test skipped for UDP sockets (Yauheni Kaliuta) [1813372] - [tools] selftests/bpf: Fix error checking on reading the tcp_fastopen sysctl (Yauheni Kaliuta) [1813372] - [net] bpf: Make btf_check_func_type_match() static (Yauheni Kaliuta) [1813372] - [tools] bpf: Selftests build error in sockmap_basic.c (Yauheni Kaliuta) [1813372] - [net] bpf: Improve bucket_log calculation logic (Yauheni Kaliuta) [1813372] - [tools] selftests/bpf: Test freeing sockmap/sockhash with a socket in it (Yauheni Kaliuta) [1813372] - [tools] tools/bpf/runqslower: Rebuild libbpf.a on libbpf source change (Yauheni Kaliuta) [1813372] - [tools] selftests/bpf: Fix trampoline_count.c selftest compilation warning (Yauheni Kaliuta) [1813372] - [net] bpf: Fix modifier skipping logic (Yauheni Kaliuta) [1813372] - [tools] bpftool: Remove redundant "HAVE" prefix from the large INSN limit check (Yauheni Kaliuta) [1813372] - [tools] runqslower: Fix Makefile (Yauheni Kaliuta) [1813372] - [net] bpf: Reuse log from btf_prase_vmlinux() in btf_struct_ops_init() (Yauheni Kaliuta) [1813372] - [tools] selftests/bpf: Add test based on port range for BPF flow dissector (Yauheni Kaliuta) [1813372] - [net] bpf: map_seq_next should always increase position index (Yauheni Kaliuta) [1813372] - [tools] tools/bpf: Allow overriding llvm tools for runqslower (Yauheni Kaliuta) [1813372] - [tools] selftest/bpf: Add test for allowed trampolines count (Yauheni Kaliuta) [1813372] - [net] bpf: Allow to resolve bpf trampoline and dispatcher in unwind (Yauheni Kaliuta) [1813372] - [net] bpf: Allow BTF ctx access for string pointers (Yauheni Kaliuta) [1813372] - [tools] libbpf: Improve handling of failed CO-RE relocations (Yauheni Kaliuta) [1813372] - [tools] selftests: bpf: Reset global state between reuseport test runs (Yauheni Kaliuta) [1813372] - [tools] selftests: bpf: Make reuseport test output more legible (Yauheni Kaliuta) [1813372] - [tools] selftests: bpf: Ignore FIN packets for reuseport tests (Yauheni Kaliuta) [1813372] - [tools] selftests: bpf: Use a temporary file in test_sockmap (Yauheni Kaliuta) [1813372] - [tools] bpftool: Print function linkage in BTF dump (Yauheni Kaliuta) [1813372] - [tools] selftests/bpf: Improve bpftool changes detection (Yauheni Kaliuta) [1813372] - [tools] selftests/bpf: Initialize duration variable before using (Yauheni Kaliuta) [1813372] - [tools] bpf: tcp: Add bpf_cubic example (Yauheni Kaliuta) [1813372] - [tools] bpf: Sync uapi bpf.h to tools/ (Yauheni Kaliuta) [1813372] - [net] bpf: Add BPF_FUNC_jiffies64 (Yauheni Kaliuta) [1813372] - [tools] selftests/bpf: Add tests for program extensions (Yauheni Kaliuta) [1813372] - [tools] libbpf: Add support for program extensions (Yauheni Kaliuta) [1813372] - [net] bpf: Introduce dynamic program extensions (Yauheni Kaliuta) [1813372] - [scripts] bpf, btf: Always output invariant hit in pahole DWARF to BTF transform (Yauheni Kaliuta) [1813372] - [tools] selftests/bpf: Build urandom_read with LDFLAGS and LDLIBS (Yauheni Kaliuta) [1813372] - [net] bpf: Fix error path under memory pressure (Yauheni Kaliuta) [1813372] - [net] bpf: don't bother with getname/kern_path - use user_path_at (Yauheni Kaliuta) [1813372] - [tools] selftests: Refactor build to remove tools/lib/bpf from include path (Yauheni Kaliuta) [1813372] - [samples] samples/bpf: Use consistent include paths for libbpf (Yauheni Kaliuta) [1813372] - [tools] bpftool: Use consistent include paths for libbpf (Yauheni Kaliuta) [1813372] - [tools] runsqslower: Support user-specified libbpf include and object paths (Yauheni Kaliuta) [1813372] - [tools] tools/runqslower: Remove tools/lib/bpf from include path (Yauheni Kaliuta) [1813372] - [tools] selftests: Use consistent include paths for libbpf (Yauheni Kaliuta) [1813372] - [tools] tools/runqslower: Use consistent include paths for libbpf (Yauheni Kaliuta) [1813372] - [tools] selftests: Pass VMLINUX_BTF to runqslower Makefile (Yauheni Kaliuta) [1813372] - [tools] tools/bpf/runqslower: Fix override option for VMLINUX_BTF (Yauheni Kaliuta) [1813372] - [samples] samples/bpf: Don't try to remove user's homedir on clean (Yauheni Kaliuta) [1813372] - [tools] selftests/bpf: Skip perf hw events test if the setup disabled it (Yauheni Kaliuta) [1813372] - [tools] selftests/bpf: Don't check for btf fd in test_btf (Yauheni Kaliuta) [1813372] - [net] bpf: Fix memory leaks in generic update/delete batch ops (Yauheni Kaliuta) [1813372] - [tools] libbpf: Load btf_vmlinux only once per object (Yauheni Kaliuta) [1813372] - [tools] libbpf: Fix potential multiplication overflow in mmap() size calculation (Yauheni Kaliuta) [1813372] - [tools] libbpf: Simplify BTF initialization logic (Yauheni Kaliuta) [1813372] - [tools] libbpf: Fix error handling bug in btf_dump__new (Yauheni Kaliuta) [1813372] - [net] bpf: Remove set but not used variable 'first_key' (Yauheni Kaliuta) [1813372] - [tools] libbpf: Revert bpf_helper_defs.h inclusion regression (Yauheni Kaliuta) [1813372] - [tools] selftests/bpf: Fix test_progs send_signal flakiness with nmi mode (Yauheni Kaliuta) [1813372] - [tools] libbpf: Fix unneeded extra initialization in bpf_map_batch_common (Yauheni Kaliuta) [1813372] - [tools] selftests/bpf: Add whitelist/blacklist of test names to test_progs (Yauheni Kaliuta) [1813372] - [tools] bpftool: Support dumping a map with btf_vmlinux_value_type_id (Yauheni Kaliuta) [1813372] - [tools] bpftool: Add struct_ops map name (Yauheni Kaliuta) [1813372] - [tools] libbpf: Expose bpf_find_kernel_btf as a LIBBPF_API (Yauheni Kaliuta) [1813372] - [tools] bpftool: Fix missing BTF output for json during map dump (Yauheni Kaliuta) [1813372] - [tools] bpftool: Fix a leak of btf object (Yauheni Kaliuta) [1813372] - [tools] selftests/bpf: Add batch ops testing to array bpf map (Yauheni Kaliuta) [1813372] - [tools] selftests/bpf: Add batch ops testing for htab and htab_percpu map (Yauheni Kaliuta) [1813372] - [tools] libbpf: Add libbpf support to batch ops (Yauheni Kaliuta) [1813372] - [tools] tools/bpf: Sync uapi header bpf.h (Yauheni Kaliuta) [1813372] - [net] bpf: Add batch ops to all htab bpf map (Yauheni Kaliuta) [1813372] - [net] bpf: Add lookup and update batch ops to arraymap (Yauheni Kaliuta) [1813372] - [net] bpf: Add generic support for update and delete batch ops (Yauheni Kaliuta) [1813372] - [net] bpf: Add generic support for lookup batch op (Yauheni Kaliuta) [1813372] - [net] bpf: Add bpf_map_{value_size, update_value, map_copy_value} functions (Yauheni Kaliuta) [1813372] - [tools] selftests/bpf: Add a test for attaching a bpf fentry/fexit trace to an XDP program (Yauheni Kaliuta) [1813372] - [tools] tools/bpf: Add self tests for bpf_send_signal_thread() (Yauheni Kaliuta) [1813372] - [kernel] bpf: Add bpf_send_signal_thread() helper (Yauheni Kaliuta) [1813372] - [net] bpf: Fix seq_show for BPF_MAP_TYPE_STRUCT_OPS (Yauheni Kaliuta) [1813372] - [tools] selftests/bpf: Build runqslower from selftests (Yauheni Kaliuta) [1813372] - [tools] tools/bpf: Add runqslower tool to tools/bpf (Yauheni Kaliuta) [1813372] - [tools] bpftool: Apply preserve_access_index attribute to all types in BTF dump (Yauheni Kaliuta) [1813372] - [tools] selftests/bpf: Conform selftests/bpf Makefile output to libbpf and bpftool (Yauheni Kaliuta) [1813372] - [scripts] libbpf: Clean up bpf_helper_defs.h generation output (Yauheni Kaliuta) [1813372] - [tools] selftests/bpf: Add BPF_PROG, BPF_KPROBE, and BPF_KRETPROBE macros (Yauheni Kaliuta) [1813372] - [tools] libbpf: Poison kernel-only integer types (Yauheni Kaliuta) [1813372] - [tools] selftests/bpf: Add unit tests for global functions (Yauheni Kaliuta) [1813372] - [tools] selftests/bpf: Modify a test to check global functions (Yauheni Kaliuta) [1813372] - [tools] selftests/bpf: Add a test for a large global function (Yauheni Kaliuta) [1813372] - [tools] selftests/bpf: Add fexit-to-skb test for global funcs (Yauheni Kaliuta) [1813372] - [net] bpf: Introduce function-by-function verification (Yauheni Kaliuta) [1813372] - [tools] selftests/bpf: Further clean up Makefile output (Yauheni Kaliuta) [1813372] - [tools] selftests/bpf: Ensure bpf_helper_defs.h are taken from selftests dir (Yauheni Kaliuta) [1813372] - [tools] libbpf,selftests/bpf: Fix clean targets (Yauheni Kaliuta) [1813372] - [tools] libbpf: Make bpf_map order and indices stable (Yauheni Kaliuta) [1813372] - [tools] bpf: Document BPF_F_QUERY_EFFECTIVE flag (Yauheni Kaliuta) [1813372] - [tools] bpf: Add bpf_dctcp example (Yauheni Kaliuta) [1813372] - [tools] bpf: libbpf: Add STRUCT_OPS support (Yauheni Kaliuta) [1813372] - [tools] bpf: Synch uapi bpf.h to tools/ (Yauheni Kaliuta) [1813372] - [net] bpf: Add BPF_FUNC_tcp_send_ack helper (Yauheni Kaliuta) [1813372] - [net] bpf: tcp: Support tcp_congestion_ops in bpf (Yauheni Kaliuta) [1813372] - [net] bpf: Introduce BPF_MAP_TYPE_STRUCT_OPS (Yauheni Kaliuta) [1813372] - [net] bpf: Introduce BPF_PROG_TYPE_STRUCT_OPS (Yauheni Kaliuta) [1813372] - [net] bpf: Support bitfield read access in btf_struct_access (Yauheni Kaliuta) [1813372] - [net] bpf: Add enum support to btf_ctx_access() (Yauheni Kaliuta) [1813372] - [net] bpf: Avoid storing modifier to info->btf_id (Yauheni Kaliuta) [1813372] - [net] bpf: Save PTR_TO_BTF_ID register state when spilling to stack (Yauheni Kaliuta) [1813372] - [tools] selftests/bpf: Restore original comm in test_overhead (Yauheni Kaliuta) [1813372] - [tools] bpftool: Add misc section and probe for large INSN limit (Yauheni Kaliuta) [1813372] - [tools] libbpf: Add probe for large INSN limit (Yauheni Kaliuta) [1813372] - [tools] bpftool: Make skeleton C code compilable with C++ compiler (Yauheni Kaliuta) [1813372] - [tools] bpf: Print error message for bpftool cgroup show (Yauheni Kaliuta) [1813372] - [samples] samples/bpf: Xdp_redirect_cpu fix missing tracepoint attach (Yauheni Kaliuta) [1813372] - [samples] samples/bpf: xdpsock: Add option to specify transmit fill pattern (Yauheni Kaliuta) [1813372] - [samples] samples/bpf: xdpsock: Add option to specify tx packet size (Yauheni Kaliuta) [1813372] - [samples] samples/bpf: xdpsock: Add option to specify number of packets to send (Yauheni Kaliuta) [1813372] - [samples] samples/bpf: xdpsock: Add option to specify batch size (Yauheni Kaliuta) [1813372] - [samples] samples/bpf: xdpsock: Use common code to handle signal and main exit (Yauheni Kaliuta) [1813372] - [samples] samples/bpf: xdpsock: Add duration option to specify how long to run (Yauheni Kaliuta) [1813372] - [tools] selftests/bpf: Preserve errno in test_progs CHECK macros (Yauheni Kaliuta) [1813372] - [tools] selftests/bpf: Test BPF_F_REPLACE in cgroup_attach_multi (Yauheni Kaliuta) [1813372] - [tools] selftests/bpf: Convert test_cgroup_attach to prog_tests (Yauheni Kaliuta) [1813372] - [tools] libbpf: Introduce bpf_prog_attach_xattr (Yauheni Kaliuta) [1813372] - [net] bpf: Support replacing cgroup-bpf program in MULTI mode (Yauheni Kaliuta) [1813372] - [net] bpf: Remove unused new_flags in hierarchy_allows_attach() (Yauheni Kaliuta) [1813372] - [net] bpf: Simplify __cgroup_bpf_attach (Yauheni Kaliuta) [1813372] - [net] bpf: Remove unnecessary assertion on fp_old (Yauheni Kaliuta) [1813372] - [tools] libbpf: Fix another __u64 printf warning (Yauheni Kaliuta) [1813372] - [tools] libbpf: Fix printing of ulimit value (Yauheni Kaliuta) [1813372] - [tools] libbpf: BTF is required when externs are present (Yauheni Kaliuta) [1813372] - [tools] libbpf: Allow to augment system Kconfig through extra optional config (Yauheni Kaliuta) [1813372] - [tools] libbpf: Put Kconfig externs into .kconfig section (Yauheni Kaliuta) [1813372] - [tools] libbpf: Add bpf_link__disconnect() API to preserve underlying BPF resource (Yauheni Kaliuta) [1813372] - [tools] bpf: Allow to change skb mark in test_run (Yauheni Kaliuta) [1813372] - [tools] bpftool: Work-around rst2man conversion bug (Yauheni Kaliuta) [1813372] - [tools] bpftool: Simplify format string to not use positional args (Yauheni Kaliuta) [1813372] - [tools] bpftool: Add gen subcommand manpage (Yauheni Kaliuta) [1813372] - [tools] libbpf: Remove BPF_EMBED_OBJ macro from libbpf.h (Yauheni Kaliuta) [1813372] - [tools] bpftool, selftests/bpf: Embed object file inside skeleton (Yauheni Kaliuta) [1813372] - [tools] libbpf: Reduce log level for custom section names (Yauheni Kaliuta) [1813372] - [tools] libbpf: Fix libbpf_common.h when installing libbpf through 'make install' (Yauheni Kaliuta) [1813372] - [tools] selftests/bpf: More succinct Makefile output (Yauheni Kaliuta) [1813372] - [tools] libbpf: Add zlib as a dependency in pkg-config template (Yauheni Kaliuta) [1813372] - [tools] libbpf: Print hint about ulimit when getting permission denied error (Yauheni Kaliuta) [1813372] - [samples] samples/bpf: Attach XDP programs in driver mode by default (Yauheni Kaliuta) [1813372] - [samples] samples/bpf: Set -fno-stack-protector when building BPF programs (Yauheni Kaliuta) [1813372] - [samples] samples/bpf: Add missing -lz to TPROGS_LDLIBS (Yauheni Kaliuta) [1813372] - [tools] bpftool: Fix compilation warning on shadowed variable (Yauheni Kaliuta) [1813372] - [tools] libbpf: Fix build by renaming variables (Yauheni Kaliuta) [1813372] - [tools] selftests/bpf: Add flexible array relocation tests (Yauheni Kaliuta) [1813372] - [tools] libbpf: Support flexible arrays in CO-RE (Yauheni Kaliuta) [1813372] - [tools] selftests/bpf: Add tests for libbpf-provided externs (Yauheni Kaliuta) [1813372] - [tools] bpftool: Generate externs datasec in BPF skeleton (Yauheni Kaliuta) [1813372] - [tools] libbpf: Support libbpf-provided extern variables (Yauheni Kaliuta) [1813372] - [tools] libbpf: Extract internal map names into constants (Yauheni Kaliuta) [1813372] - [tools] bpftool: Add `gen skeleton` BASH completions (Yauheni Kaliuta) [1813372] - [tools] selftests/bpf: Add test validating data section to struct convertion layout (Yauheni Kaliuta) [1813372] - [tools] selftests/bpf: Convert few more selftest to skeletons (Yauheni Kaliuta) [1813372] - [tools] selftests/bpf: Add BPF skeletons selftests and convert attach_probe.c (Yauheni Kaliuta) [1813372] - [tools] bpftool: Add skeleton codegen command (Yauheni Kaliuta) [1813372] - [tools] libbpf: Add BPF object skeleton support (Yauheni Kaliuta) [1813372] - [tools] libbpf: Reduce log level of supported section names dump (Yauheni Kaliuta) [1813372] - [tools] libbpf: Postpone BTF ID finding for TRACING programs to load phase (Yauheni Kaliuta) [1813372] - [tools] libbpf: Refactor global data map initialization (Yauheni Kaliuta) [1813372] - [tools] libbpf: Expose BPF program's function name (Yauheni Kaliuta) [1813372] - [tools] libbpf: Expose BTF-to-C type declaration emitting API (Yauheni Kaliuta) [1813372] - [tools] libbpf: Expose btf__align_of() API (Yauheni Kaliuta) [1813372] - [tools] libbpf: Extract common user-facing helpers (Yauheni Kaliuta) [1813372] - [tools] libbpf: Add BPF_EMBED_OBJ macro for embedding BPF .o files (Yauheni Kaliuta) [1813372] - [tools] libbpf: Move non-public APIs from libbpf.h to libbpf_internal.h (Yauheni Kaliuta) [1813372] - [tools] libbpf: Add generic bpf_program__attach() (Yauheni Kaliuta) [1813372] - [tools] libbpf: Don't require root for bpf_object__open() (Yauheni Kaliuta) [1813372] - [tools] bpftool: Match maps by name (Yauheni Kaliuta) [1813372] - [tools] bpftool: Match programs by name (Yauheni Kaliuta) [1813372] - [tools] selftests/bpf: Test wire_len/gso_segs in BPF_PROG_TEST_RUN (Yauheni Kaliuta) [1813372] - [net] bpf: Expose __sk_buff wire_len/gso_segs to BPF_PROG_TEST_RUN (Yauheni Kaliuta) [1813372] - [x86] bpf, x86: Align dispatcher branch targets to 16B (Yauheni Kaliuta) [1813372] - [tools] selftests: bpf: Add xdp_perf test (Yauheni Kaliuta) [1813372] - [net] bpf: Start using the BPF dispatcher in BPF_TEST_RUN (Yauheni Kaliuta) [1813372] - [net] bpf, xdp: Start using the BPF dispatcher for XDP (Yauheni Kaliuta) [1813372] - [net] bpf: Introduce BPF dispatcher (Yauheni Kaliuta) [1813372] - [net] bpf: Move trampoline JIT image allocation to a function (Yauheni Kaliuta) [1813372] - [tools] selftests/bpf: Fix perf_buffer test on systems w/ offline CPUs (Yauheni Kaliuta) [1813372] - [tools] selftests/bpf: Add CPU mask parsing tests (Yauheni Kaliuta) [1813372] - [tools] selftests/bpf: Switch reuseport tests for test_progs framework (Yauheni Kaliuta) [1813372] - [tools] selftests/bpf: Move reuseport tests under prog_tests/ (Yauheni Kaliuta) [1813372] - [tools] selftests/bpf: Pull up printing the test name into test runner (Yauheni Kaliuta) [1813372] - [tools] selftests/bpf: Propagate errors during setup for reuseport tests (Yauheni Kaliuta) [1813372] - [tools] selftests/bpf: Run reuseport tests in a loop (Yauheni Kaliuta) [1813372] - [tools] selftests/bpf: Unroll the main loop in reuseport test (Yauheni Kaliuta) [1813372] - [tools] selftests/bpf: Add helpers for getting socket family & type name (Yauheni Kaliuta) [1813372] - [tools] selftests/bpf: Use sa_family_t everywhere in reuseport tests (Yauheni Kaliuta) [1813372] - [tools] selftests/bpf: Let libbpf determine program type from section name (Yauheni Kaliuta) [1813372] - [tools] libbpf: Recognize SK_REUSEPORT programs from section name (Yauheni Kaliuta) [1813372] - [arm64] bpf, x86, arm64: Enable jit by default when not built as always-on (Yauheni Kaliuta) [1813372] - [net] bpf: Switch to offsetofend in BPF_PROG_TEST_RUN (Yauheni Kaliuta) [1813372] - [tools] libbpf: Bump libpf current version to v0.0.7 (Yauheni Kaliuta) [1813372] - [fs] vmalloc: fix remap_vmalloc_range() bounds checks (Yauheni Kaliuta) [1813370] - [net] bpf: Prevent re-mmap()'ing BPF map as writable for initially r/o mapping (Yauheni Kaliuta) [1813370] - [tools] selftests/bpf: fix test_sysctl_prog with alu32 (Yauheni Kaliuta) [1813370] - [powerpc] powerpc/bpf: Enable bpf_probe_read{, str}() on powerpc again (Yauheni Kaliuta) [1813370] - [kernel] bpf: Restrict bpf_trace_printk()'s s usage and add pks, pus specifier (Yauheni Kaliuta) [1813370] - [lib] printf: add support for printing symbolic error names (Yauheni Kaliuta) [1813370] - [net] bpf: Add bpf_probe_read_{user, kernel}_str() to do_refine_retval_range (Yauheni Kaliuta) [1813370] - [arm64] bpf: Restrict bpf_probe_read{, str}() only to archs where they work (Yauheni Kaliuta) [1813370] - [kernel] ftrace: Fix accounting bug with direct->count in register_ftrace_direct() (Yauheni Kaliuta) [1813370] - [kernel] ftrace: Return the first found result in lookup_rec() (Yauheni Kaliuta) [1813370] - [net] bpf: Undo incorrect __reg_bound_offset32 handling (Yauheni Kaliuta) [1813370] - [net] bpf: Fix tnum constraints for 32-bit comparisons (Yauheni Kaliuta) [1813370] - [x86] x86: Fix kernel-doc atomic.h warnings (Yauheni Kaliuta) [1813370] - [net] bpf: Fix trampoline usage in preempt (Yauheni Kaliuta) [1813370] - [samples] samples/bpf: Reintroduce missed build targets (Yauheni Kaliuta) [1813370] - [trace] bpf: Reliably preserve btf_trace_xxx types (Yauheni Kaliuta) [1813370] - [include] bpf: Avoid setting bpf insns pages read-only when prog is jited (Yauheni Kaliuta) [1813370] - [scripts] bpf: Force .BTF section start to zero when dumping from vmlinux (Yauheni Kaliuta) [1813370] - [scripts] bpf: Support pre-2.25-binutils objcopy for vmlinux BTF (Yauheni Kaliuta) [1813370] - [net] bpfilter: remove superfluous testing message (Jiri Benc) [1819632] - [net] bpfilter: fix dprintf usage for /dev/kmsg (Jiri Benc) [1819632] - [net] bpf, sockmap: Remove bucket->lock from sock_{hash|map}_free (Jiri Benc) [1819632] - [netdrv] veth: ignore peer tx_dropped when counting local rx_dropped (Jiri Benc) [1819632] - [net] xsk: Publish global consumer pointers when NAPI is finished (Jiri Benc) [1819632] - [kernel] bpf, xdp: Remove no longer required rcu_read_{un}lock() (Jiri Benc) [1819632] - [netdrv] bpf, xdp: virtio_net use access ptr macro for xdp enable check (Jiri Benc) [1819632] - [kernel] bpf, xdp: Update devmap comments to reflect napi/rcu usage (Jiri Benc) [1819632] - [net] xsk, net: Make sock_def_readable() have external linkage (Jiri Benc) [1819632] - [kernel] devmap: Adjust tracepoint for map-less queue flush (Jiri Benc) [1819632] - [net] xdp: Use bulking for non-map XDP_REDIRECT and consolidate code paths (Jiri Benc) [1819632] - [net] xdp: Move devmap bulk queue into struct net_device (Jiri Benc) [1819632] - [net] xsk: Support allocations of large umems (Jiri Benc) [1819632] - [tools] Sync uapi/linux/if_link.h (Jiri Benc) [1819632] - [net] bpf: Return -EBADRQC for invalid map type in __bpf_tx_xdp_map (Jiri Benc) [1819632] - [net] flow_dissector: fix document for skb_flow_get_icmp_tci (Jiri Benc) [1819632] - [net] xsk: Use struct_size() helper (Jiri Benc) [1819632] - [net] xsk: Add function naming comments and reorder functions (Jiri Benc) [1819632] - [net] xsk: Remove unnecessary READ_ONCE of data (Jiri Benc) [1819632] - [net] xsk: ixgbe: i40e: ice: mlx5: Xsk_umem_discard_addr to xsk_umem_release_addr (Jiri Benc) [1819632] - [net] xsk: Change names of validation functions (Jiri Benc) [1819632] - [net] xsk: Simplify the consumer ring access functions (Jiri Benc) [1819632] - [net] xsk: Simplify xskq_nb_avail and xskq_nb_free (Jiri Benc) [1819632] - [net] xsk: Eliminate the RX batch size (Jiri Benc) [1819632] - [net] xsk: Standardize naming of producer ring access functions (Jiri Benc) [1819632] - [net] xsk: Consolidate to one single cached producer pointer (Jiri Benc) [1819632] - [net] xsk: Simplify detection of empty and full rings (Jiri Benc) [1819632] - [net] xsk: Eliminate the lazy update threshold (Jiri Benc) [1819632] - [net] xdp: Simplify __bpf_tx_xdp_map() (Jiri Benc) [1819632] - [net] xdp: Remove map_to_flush and map swap detection (Jiri Benc) [1819632] - [net] xdp: Make cpumap flush_list common for all map instances (Jiri Benc) [1819632] - [net] xdp: Make devmap flush_list common for all map instances (Jiri Benc) [1819632] - [net] xsk: Make xskmap flush_list common for all map instances (Jiri Benc) [1819632] - [kernel] xdp: Fix graze->grace type-o in cpumap comments (Jiri Benc) [1819632] - [kernel] xdp: Simplify cpumap cleanup (Jiri Benc) [1819632] - [kernel] xdp: Simplify devmap cleanup (Jiri Benc) [1819632] - [net] sysctl: Fix compiler warning when only cBPF is present (Jiri Benc) [1819631] - [net] dsa: fix flow dissection on Tx path (Jiri Benc) [1819631] - [net] page_pool: add the possibility to sync DMA memory for device (Jiri Benc) [1819631] - [net] xsk: Fix xsk_poll()'s return type (Jiri Benc) [1819631] - [tools] net-af_xdp: Use correct number of channels from ethtool (Jiri Benc) [1819631] - [net] xdp: remove memory poison on free for struct xdp_mem_allocator (Jiri Benc) [1819631] - [documentation] xsk: Extend documentation for Rx|Tx-only sockets and shared umems (Jiri Benc) [1819631] - [net] xsk: Restructure/inline XSKMAP lookup/redirect/flush (Jiri Benc) [1819631] - [kernel] xsk: Store struct xdp_sock as a flexible array member of the XSKMAP (Jiri Benc) [1819631] - [include] xdp: Fix type of string pointer in __XDP_ACT_SYM_TAB (Jiri Benc) [1819631] - [documentation] xsk: Improve documentation for AF_XDP (Jiri Benc) [1819631] - [tools] Sync if_link.h (Jiri Benc) [1819631] - [net] xdp: Trivial, fix spelling in function description (Jiri Benc) [1819631] - [netdrv] netdevsim: Use scnprintf() for avoiding potential buffer overflow (Jiri Benc) [1819631] - [netdrv] netdevsim: fix ptr_ret.cocci warnings (Jiri Benc) [1819631] - [netdrv] netdevsim: remove unused sdev code (Jiri Benc) [1819631] - [netdrv] netdevsim: use IS_ERR instead of IS_ERR_OR_NULL for debugfs (Jiri Benc) [1819631] - [netdrv] netdevsim: fix stack-out-of-bounds in nsim_dev_debugfs_init() (Jiri Benc) [1819631] - [netdrv] netdevsim: fix panic in nsim_dev_take_snapshot_write() (Jiri Benc) [1819631] - [net] openvswitch: New MPLS actions for layer 2 tunnelling (Guillaume Nault) [1839760] - [net] Rephrased comments section of skb_mpls_pop() (Guillaume Nault) [1839760] - [net] skb_mpls_push() modified to allow MPLS header push at start of packet. (Guillaume Nault) [1839760] - [net] Change in Openvswitch to support MPLS label depth of 3 in ingress direction (Guillaume Nault) [1839182] - [block] block: fix use-after-free on cached last_lookup partition (Ming Lei) [1787968]- [drm] drm/prime: fix extracting of the DMA addresses from a scatterlist (Jerry Snitselaar) [1815610] - [iommu] iommu: Check for deferred attach in iommu_group_do_dma_attach() (Jerry Snitselaar) [1815610] - [iommu] iommu/vt-d: Add get_domain_info() helper (Jerry Snitselaar) [1815610] - [iommu] iommu: Don't take group reference in iommu_alloc_default_domain() (Jerry Snitselaar) [1815610] - [iommu] iommu: Don't call .probe_finalize() under group->mutex (Jerry Snitselaar) [1815610] - [iommu] iommu/vt-d: Apply per-device dma_ops (Jerry Snitselaar) [1815610] - [iommu] iommu/vt-d: Allow PCI sub-hierarchy to use DMA domain (Jerry Snitselaar) [1815610] - [iommu] iommu/vt-d: Allow 32bit devices to uses DMA domain (Jerry Snitselaar) [1815610] - [iommu] iommu: Do not probe devices on IOMMU-less busses (Jerry Snitselaar) [1815610] - [iommu] iommu/amd: Fix variable "iommu" set but not used (Jerry Snitselaar) [1815610] - [iommu] iommu: Unexport iommu_group_get_for_dev() (Jerry Snitselaar) [1815610] - [iommu] iommu: Move more initialization to __iommu_probe_device() (Jerry Snitselaar) [1815610] - [iommu] iommu: Remove add_device()/remove_device() code-paths (Jerry Snitselaar) [1815610] - [iommu] iommu/arm-smmu: Convert to probe/release_device() call-backs (Jerry Snitselaar) [1815610] - [iommu] iommu/arm-smmu: Axe a useless test in 'arm_smmu_master_alloc_smes()' (Jerry Snitselaar) [1815610] - [iommu] iommu/s390: Convert to probe/release_device() call-backs (Jerry Snitselaar) [1815610] - [iommu] iommu/vt-d: Convert to probe/release_device() call-backs (Jerry Snitselaar) [1815610] - [iommu] iommu/amd: Convert to probe/release_device() call-backs (Jerry Snitselaar) [1815610] - [iommu] iommu/amd: Remove dev_data->passthrough (Jerry Snitselaar) [1815610] - [iommu] iommu: Export bus_iommu_probe() and make is safe for re-probing (Jerry Snitselaar) [1815610] - [iommu] iommu: Move iommu_group_create_direct_mappings() out of iommu_group_add_device() (Jerry Snitselaar) [1815610] - [iommu] iommu: Split off default domain allocation from group assignment (Jerry Snitselaar) [1815610] - [iommu] iommu: Move new probe_device path to separate function (Jerry Snitselaar) [1815610] - [iommu] iommu: Keep a list of allocated groups in __iommu_probe_device() (Jerry Snitselaar) [1815610] - [iommu] iommu: Move default domain allocation to iommu_probe_device() (Jerry Snitselaar) [1815610] - [iommu] iommu: Add probe_device() and release_device() call-backs (Jerry Snitselaar) [1815610] - [iommu] iommu/amd: Return -ENODEV in add_device when device is not handled by IOMMU (Jerry Snitselaar) [1815610] - [iommu] iommu/amd: Remove dma_mask check from check_device() (Jerry Snitselaar) [1815610] - [iommu] iommu/vt-d: Wire up iommu_ops->def_domain_type (Jerry Snitselaar) [1815610] - [iommu] iommu/amd: Implement iommu_ops->def_domain_type call-back (Jerry Snitselaar) [1815610] - [iommu] iommu: Add def_domain_type() callback in iommu_ops (Jerry Snitselaar) [1815610] - [iommu] iommu: Move default domain allocation to separate function (Jerry Snitselaar) [1815610] - [iommu] iommu: Fix reference count leak in iommu_group_alloc (Jerry Snitselaar) [1815610] - [iommu] iommu/vt-d: Remove real DMA lookup in find_domain (Jerry Snitselaar) [1815610] - [iommu] iommu/vt-d: Allocate domain info for real DMA sub-devices (Jerry Snitselaar) [1815610] - [iommu] iommu/vt-d: Only clear real DMA device's context entries (Jerry Snitselaar) [1815610] - [iommu] iommu/amd: Fix get_acpihid_device_id() (Jerry Snitselaar) [1815610] - [iommu] iommu/amd: Switch to use acpi_dev_hid_uid_match() (Jerry Snitselaar) [1815610] - [iommu] iommu/amd: Fix over-read of ACPI UID from IVRS table (Jerry Snitselaar) [1815610] - [iommu] iommu: Fix deferred domain attachment (Jerry Snitselaar) [1815610] - [include] iommu: Move fwspec->iommu_priv to struct dev_iommu (Jerry Snitselaar) [1815610] - [iommu] iommu/arm-smmu: Use accessor functions for iommu private data (Jerry Snitselaar) [1815610] - [iommu] iommu/arm-smmu: Refactor master_cfg/fwspec usage (Jerry Snitselaar) [1815610] - [iommu] iommu/arm-smmu-v3: Use accessor functions for iommu private data (Jerry Snitselaar) [1815610] - [iommu] iommu/arm-smmu-v3: Improve add_device() error handling (Jerry Snitselaar) [1815610] - [iommu] iommu/arm-smmu-v3: Return -EBUSY when trying to re-add a device (Jerry Snitselaar) [1815610] - [iommu] iommu/arm-smmu-v3: Fix resource_size check (Jerry Snitselaar) [1815610] - [iommu] iommu/arm-smmu-v3: Populate VMID field for CMDQ_OP_TLBI_NH_VA (Jerry Snitselaar) [1815610] - [iommu] iommu/arm-smmu-v3: Drop __GFP_ZERO flag from DMA allocation (Jerry Snitselaar) [1815610] - [include] iommu: Introduce accessors for iommu private data (Jerry Snitselaar) [1815610] - [acpi] ACPI/IORT: Remove direct access of dev->iommu_fwspec (Jerry Snitselaar) [1815610] - [include] iommu: Define dev_iommu_fwspec_get() for !CONFIG_IOMMU_API (Jerry Snitselaar) [1815610] - [iommu] iommu/amd: Do not flush Device Table in iommu_map_page() (Jerry Snitselaar) [1815610] - [iommu] iommu/amd: Update Device Table in increase_address_space() (Jerry Snitselaar) [1815610] - [iommu] iommu/amd: Call domain_flush_complete() in update_domain() (Jerry Snitselaar) [1815610] - [iommu] iommu/amd: Do not loop forever when trying to increase address space (Jerry Snitselaar) [1815610] - [iommu] iommu/amd: Fix race in increase_address_space()/fetch_pte() (Jerry Snitselaar) [1815610] - [iommu] iommu/amd: Fix legacy interrupt remapping for x2APIC-enabled system (Jerry Snitselaar) [1815610] - [iommu] iommu: Fix the memory leak in dev_iommu_free() (Jerry Snitselaar) [1815610] - [include] iommu: Move iommu_fwspec to struct dev_iommu (Jerry Snitselaar) [1815610] - [include] iommu: Rename struct iommu_param to dev_iommu (Jerry Snitselaar) [1815610] - [iommu] iommu/of: Take a ref to the IOMMU driver during ->of_xlate() (Jerry Snitselaar) [1815610] - [iommu] drivers/iommu: Take a ref to the IOMMU driver prior to ->add_device() (Jerry Snitselaar) [1815610] - [iommu] iommu/vt-d: Fix mm reference leak (Jerry Snitselaar) [1815610] - [iommu] iommu/amd: Fix the configuration of GCR3 table root pointer (Jerry Snitselaar) [1815610] - [iommu] iommu/vt-d: Silence RCU-list debugging warning in dmar_find_atsr() (Jerry Snitselaar) [1815610] - [iommu] iommu/vt-d: Fix page request descriptor size (Jerry Snitselaar) [1815610] - [iommu] iommu/vt-d: Populate debugfs if IOMMUs are detected (Jerry Snitselaar) [1815610] - [iommu] iommu/vt-d: Ignore devices with out-of-spec domain number (Jerry Snitselaar) [1815610] - [iommu] iommu/vt-d: Fix the wrong printing in RHSA parsing (Jerry Snitselaar) [1815610] - [iommu] iommu/vt-d: Fix debugfs register reads (Jerry Snitselaar) [1815610] - [iommu] iommu/vt-d: quirk_ioat_snb_local_iommu: replace WARN_TAINT with pr_warn + add_taint (Jerry Snitselaar) [1815610] - [iommu] iommu/vt-d: dmar_parse_one_rmrr: replace WARN_TAINT with pr_warn + add_taint (Jerry Snitselaar) [1815610] - [iommu] iommu/vt-d: dmar: replace WARN_TAINT with pr_warn + add_taint (Jerry Snitselaar) [1815610] - [iommu] iommu/vt-d: Silence RCU-list debugging warnings (Jerry Snitselaar) [1815610] - [iommu] iommu/vt-d: Fix RCU-list bugs in intel_iommu_init() (Jerry Snitselaar) [1815610] - [iommu] iommu/dma: Fix MSI reservation allocation (Jerry Snitselaar) [1815610] - [iommu] iommu/vt-d: Fix a bug in intel_iommu_iova_to_phys() for huge page (Jerry Snitselaar) [1815610] - [iommu] iommu/amd: Disable IOMMU on Stoney Ridge systems (Jerry Snitselaar) [1815610] - [iommu] iommu: intel: Use generic_iommu_put_resv_regions() (Jerry Snitselaar) [1815610] - [iommu] iommu: amd: Use generic_iommu_put_resv_regions() (Jerry Snitselaar) [1815610] - [iommu] iommu: arm: Use generic_iommu_put_resv_regions() (Jerry Snitselaar) [1815610] - [iommu] iommu: Implement generic_iommu_put_resv_regions() (Jerry Snitselaar) [1815610] - [iommu] iommu/iova: Silence warnings under memory pressure (Jerry Snitselaar) [1815610] - [iommu] iommu: Fix Kconfig indentation (Jerry Snitselaar) [1815610] - [iommu] iommu/vt-d: Remove unnecessary WARN_ON_ONCE() (Jerry Snitselaar) [1815610] - [iommu] iommu/vt-d: Unnecessary to handle default identity domain (Jerry Snitselaar) [1815610] - [iommu] iommu/vt-d: Add RMRR base and end addresses sanity check (Jerry Snitselaar) [1815610] - [iommu] iommu/vt-d: Mark firmware tainted if RMRR fails sanity check (Jerry Snitselaar) [1815610] - [iommu] iommu/vt-d: Don't reject Host Bridge due to scope mismatch (Jerry Snitselaar) [1815610] - [iommu] iommu/vt-d: Loose requirement for flush queue initializaton (Jerry Snitselaar) [1815610] - [iommu] iommu/vt-d: Avoid iova flush queue in strict mode (Jerry Snitselaar) [1815610] - [iommu] iommu/vt-d: trace: Extend map_sg trace event (Jerry Snitselaar) [1815610] - [iommu] iommu/vt-d: Avoid sending invalid page response (Jerry Snitselaar) [1815610] - [iommu] iommu/vt-d: Fix off-by-one in PASID allocation (Jerry Snitselaar) [1815610] - [iommu] iommu/vt-d: Avoid duplicated code for PASID setup (Jerry Snitselaar) [1815610] - [iommu] iommu/vt-d: Reject SVM bind for failed capability check (Jerry Snitselaar) [1815610] - [iommu] iommu/vt-d: Match CPU and IOMMU paging mode (Jerry Snitselaar) [1815610] - [iommu] iommu/vt-d: Fix CPU and IOMMU SVM feature matching checks (Jerry Snitselaar) [1815610] - [iommu] iommu/vt-d: Remove VMD child device sanity check (Jerry Snitselaar) [1815610] - [iommu] iommu/vt-d: Use pci_real_dma_dev() for mapping (Jerry Snitselaar) [1815610] - [pci] PCI: Introduce pci_real_dma_dev() (Jerry Snitselaar) [1815610] - [iommu] iommu/amd: Remove the unnecessary assignment (Jerry Snitselaar) [1815610] - [iommu] iommu/amd: Remove unused struct member (Jerry Snitselaar) [1815610] - [iommu] iommu/amd: Replace two consecutive readl calls with one readq (Jerry Snitselaar) [1815610] - [iommu] iommu/amd: Fix typos for PPR macros (Jerry Snitselaar) [1815610] - [iommu] iommu/amd: Remove local variables (Jerry Snitselaar) [1815610] - [iommu] iommu/amd: Remove unused variable (Jerry Snitselaar) [1815610] - [iommu] iommu/amd: Only support x2APIC with IVHD type 11h/40h (Jerry Snitselaar) [1815610] - [iommu] iommu/amd: Check feature support bit before accessing MSI capability registers (Jerry Snitselaar) [1815610] - [iommu] iommu/amd: Treat per-device exclusion ranges as r/w unity-mapped regions (Jerry Snitselaar) [1815610] - [iommu] iommu: Use C99 flexible array in fwspec (Jerry Snitselaar) [1833512 1815610] - [iommu] drivers/iommu: Allow IOMMU bus ops to be unregistered (Jerry Snitselaar) [1815610] - [iommu] iommu/of: Request ACS from the PCI core when configuring IOMMU linkage (Jerry Snitselaar) [1815610] - [iommu] drivers/iommu: Export core IOMMU API symbols to permit modular drivers (Jerry Snitselaar) [1815610] - [iommu] iommu/amd: Fix IOMMU perf counter clobbering during init (Jerry Snitselaar) [1815610] - [iommu] iommu/dma: fix variable 'cookie' set but not used (Jerry Snitselaar) [1815610] - [iommu] iommu/vt-d: Unlink device if failed to add to group (Jerry Snitselaar) [1815610] - [iommu] iommu: Remove device link to group on failure (Jerry Snitselaar) [1815610] - [iommu] iommu/vt-d: Fix adding non-PCI devices to Intel IOMMU (Jerry Snitselaar) [1815610] - [iommu] iommu/dma: Relax locking in iommu_dma_prepare_msi() (Jerry Snitselaar) [1815610] - [iommu] iommu/vt-d: Remove incorrect PSI capability check (Jerry Snitselaar) [1815610] - [iommu] iommu/dma: Rationalise types for DMA masks (Jerry Snitselaar) [1815610] - [iommu] iommu/iova: Init the struct iova to fix the possible memleak (Jerry Snitselaar) [1815610] - [iommu] iommu/vt-d: Check VT-d RMRR region in BIOS is reported as reserved (Jerry Snitselaar) [1815610] - [iommu] iommu/vt-d: Turn off translations at shutdown (Jerry Snitselaar) [1815610] - [iommu] iommu/amd: Support multiple PCI DMA aliases in IRQ Remapping (Jerry Snitselaar) [1815610] - [iommu] iommu/amd: Support multiple PCI DMA aliases in device table (Jerry Snitselaar) [1815610] - [iommu] iommu/amd: Do not re-fetch iommu->cmd_buf_tail (Jerry Snitselaar) [1815610] - [iommu] iommu/amd: Pass gfp flags to iommu_map_page() in amd_iommu_map() (Jerry Snitselaar) [1815610] - [iommu] iommu/amd: Simpify decoding logic for INVALID_PPR_REQUEST event (Jerry Snitselaar) [1815610] - [drm] drm/prime: use dma length macro when mapping sg (Jerry Snitselaar) [1815610] - [drm] drm/amdgpu: fix scatter-gather mapping with user pages (Jerry Snitselaar) [1815610] - [drm] drm/radeon: fix scatter-gather mapping with user pages (Jerry Snitselaar) [1815610] - [iommu] iommu/amd: Convert AMD iommu driver to the dma-iommu api (Jerry Snitselaar) [1815610] - [iommu] iommu/dma-iommu: Use the dev->coherent_dma_mask (Jerry Snitselaar) [1815610] - [iommu] iommu/dma-iommu: Handle deferred devices (Jerry Snitselaar) [1815610] - [include] iommu: KABI cleanup (Jerry Snitselaar) [1815610] - [iommu] iommu: Add gfp parameter to iommu_ops::map (Jerry Snitselaar) [1815610] - [iommu] iommu/amd: Remove unnecessary locking from AMD iommu driver (Jerry Snitselaar) [1815610] - [iommu] drivers: iommu: hyperv: Make HYPERV_IOMMU only available on x86 (Jerry Snitselaar) [1815610] - [include] iommu/vt-d: Fix QI_DEV_IOTLB_PFSID and QI_DEV_EIOTLB_PFSID macros (Jerry Snitselaar) [1815610] - [iommu] iommu: pass cell_count = -1 to of_for_each_phandle with cells_name (Jerry Snitselaar) [1815610] - [iommu] iommu/arm-smmu: Free context bitmap in the err path of arm_smmu_init_domain_context (Jerry Snitselaar) [1815610] - [iommu] iommu/vt-d: Return the correct dma mask when we are bypassing the IOMMU (Jerry Snitselaar) [1815610] - [iommu] iommu/amd: Apply the same IVRS IOAPIC workaround to Acer Aspire A315-41 (Jerry Snitselaar) [1815610] - [iommu] iommu/arm-smmu: Mask TLBI address correctly (Jerry Snitselaar) [1815610] - [iommu] iommu: Remove wrong default domain comments (Jerry Snitselaar) [1815610] - [iommu] iommu/dma: Fix for dereferencing before null checking (Jerry Snitselaar) [1815610] - [iommu] iommu/vt-d: Declare Broadwell igfx dmar support snafu (Jerry Snitselaar) [1815610] - [iommu] iommu/vt-d: Add Scalable Mode fault information (Jerry Snitselaar) [1815610] - [iommu] iommu/vt-d: Use bounce buffer for untrusted devices (Jerry Snitselaar) [1815610] - [iommu] iommu/vt-d: Add trace events for device dma map/unmap (Jerry Snitselaar) [1815610] - [iommu] iommu/vt-d: Don't switch off swiotlb if bounce page is used (Jerry Snitselaar) [1815610] - [iommu] iommu/vt-d: Check whether device requires bounce buffer (Jerry Snitselaar) [1815610] - [dma] swiotlb: Split size parameter to map/unmap APIs (Jerry Snitselaar) [1815610] - [xen] swiotlb-xen: use ->map_page to implement ->map_sg (Jerry Snitselaar) [1815610] - [xen] swiotlb-xen: make instances match their method names (Jerry Snitselaar) [1815610] - [uapi] iommu: Add padding to struct iommu_fault (Jerry Snitselaar) [1815610] - [iommu] iommu: Add recoverable fault reporting (Jerry Snitselaar) [1815610] - [iommu] iommu: Introduce device fault report API (Jerry Snitselaar) [1815610] - [include] driver core: Add per device iommu param (Jerry Snitselaar) [1815610] - [uapi] iommu: Introduce device fault data (Jerry Snitselaar) [1815610] - [iommu] iommu/amd: Silence warnings under memory pressure (Jerry Snitselaar) [1815610] - [iommu] iommu/amd: Override wrong IVRS IOAPIC on Raven Ridge systems (Jerry Snitselaar) [1815610] - [iommu] iommu/vt-d: Use dma_direct for bypass devices (Jerry Snitselaar) [1815610] - [dma] dma-direct: don't check swiotlb=force in dma_direct_map_resource (Jerry Snitselaar) [1815610] - [mm] dma-mapping: remove the default map_resource implementation (Jerry Snitselaar) [1815610] - [iommu] Revert "iommu/vt-d: Fix lock inversion between iommu->lock and device_domain_lock" (Jerry Snitselaar) [1815610 1813666] - [dma] dma-direct: don't truncate dma_required_mask to bus addressing capabilities (Jerry Snitselaar) [1815610] - [acpi] ACPI / utils: Introduce acpi_dev_hid_uid_match() helper (Jerry Snitselaar) [1815610] - [security] efi: Only print errors about failing to get certs if EFI vars are found (Lenny Szubowicz) [1804969] - [infiniband] RDMA/iw_cxgb4: Fix incorrect function parameters (Vishal Kulkarni) [1828676] - [infiniband] RDMA/iw_cxgb4: initiate CLOSE when entering TERM (Vishal Kulkarni) [1828676] - [infiniband] RDMA/iw_cgxb4: Fix an error handling path in 'c4iw_connect()' (Vishal Kulkarni) [1828676] - [infiniband] RDMA/iw_cxgb4: Avoid freeing skb twice in arp failure case (Vishal Kulkarni) [1828676] - [infiniband] iw_cxgb4: fix ECN check on the passive accept (Vishal Kulkarni) [1828676] - [vfio] vfio/pci: fix memory leaks of eventfd ctx (Alex Williamson) [1837678] - [vfio] vfio/pci: fix memory leaks in alloc_perm_bits() (Alex Williamson) [1837678] - [vfio] vfio: avoid possible overflow in vfio_iommu_type1_pin_pages (Alex Williamson) [1837678] - [vfio] vfio/mdev: make create attribute static (Alex Williamson) [1837678] - [vfio] vfio/type1: remove hugepage checks in is_invalid_reserved_pfn() (Alex Williamson) [1837678] - [vfio] vfio/type1: Initialize resv_msi_base (Alex Williamson) [1837678] - [vfio] vfio_pci: Restore original state on release (Alex Williamson) [1837678] - [uapi] vfio: re-arrange vfio region definitions (Alex Williamson) [1837678] - [vfio] mdev: Send uevents around parent device registration (Alex Williamson) [1837678] - [vfio] vfio/mdev: Synchronize device create/remove with parent removal (Alex Williamson) [1837678] - [vfio] vfio/mdev: Avoid creating sysfs remove file on stale device removal (Alex Williamson) [1837678] - [vfio] vfio/mdev: Improve the create/remove sequence (Alex Williamson) [1837678] - [vfio] vfio/mdev: Avoid inline get and put parent helpers (Alex Williamson) [1837678] - [vfio] vfio/mdev: Fix aborting mdev child device removal if one fails (Alex Williamson) [1837678] - [vfio] vfio/mdev: Follow correct remove sequence (Alex Williamson) [1837678] - [vfio] vfio/mdev: Avoid masking error code to EBUSY (Alex Williamson) [1837678] - [vfio] vfio/mdev: Removed unused kref (Alex Williamson) [1837678] - [vfio] vfio/mdev: Avoid release parent reference during error path (Alex Williamson) [1837678] - [uapi] vfio-ccw: add handling for async channel instructions (Alex Williamson) [1837678] - [uapi] vfio-ccw: add capabilities chain (Alex Williamson) [1837678] - [vfio] vfio: Fix WARNING "do not call blocking ops when !TASK_RUNNING" (Alex Williamson) [1837678] - [vfio] vfio/pci: use correct format characters (Alex Williamson) [1837678] - [vfio] vfio: expand minor range when registering chrdev region (Alex Williamson) [1837678] - [vfio] vfio/mdev: add static modifier to add_mdev_supported_type (Alex Williamson) [1837678] - [vfio] vfio/type1: Remove map_try_harder() code path (Alex Williamson) [1837678] - [vfio] vfio/pci: Fix potential memory leak in vfio_msi_cap_len (Alex Williamson) [1837678] - [vfio] vfio: Mark expected switch fall-throughs (Alex Williamson) [1837678] - [fs] gfs2: Only do glock put in gfs2_create_inode for free inodes (Robert S Peterson) [1831666] - [fs] gfs2: Grab glock reference sooner in gfs2_add_revoke (Robert S Peterson) [1831666] - [fs] Revert "gfs2: Don't demote a glock until its revokes are written" (Robert S Peterson) [1831666] - [fs] signal: Fix wrong PIDTYPE_TGID check in send_sigio() & send_sigurg() (Waiman Long) [1845597] - [md] dm mpath: add DM device name to Failing/Reinstating path log messages (Mike Snitzer) [1822975] - [md] dm mpath: enhance queue_if_no_path debugging (Mike Snitzer) [1822975] - [md] dm mpath: restrict queue_if_no_path state machine (Mike Snitzer) [1822975] - [md] dm mpath: simplify __must_push_back (Mike Snitzer) [1822975] - [md] dm: use DMDEBUG macros now that they use pr_debug variants (Mike Snitzer) [1822975] - [include] dm: use dynamic debug instead of compile-time config option (Mike Snitzer) [1822975] - [md] dm mpath: switch paths in dm_blk_ioctl() code path (Mike Snitzer) [1822975] - [md] dm multipath: use updated MPATHF_QUEUE_IO on mapping for bio-based mpath (Mike Snitzer) [1822975] - [tools] selftests: mlxsw: qos_mc_aware: Specify arping timeout as an integer (Ivan Vecera) [1821646] - [netdrv] mlxsw: spectrum: Fix use-after-free of split/unsplit/type_set in case reload fails (Ivan Vecera) [1821646] - [netdrv] mlxsw: spectrum_acl_tcam: Position vchunk in a vregion list properly (Ivan Vecera) [1821646] - [netdrv] mlxsw: Fix some IS_ERR() vs NULL bugs (Ivan Vecera) [1821646] - [netdrv] mlxsw: spectrum_flower: Do not stop at FLOW_ACTION_VLAN_MANGLE (Ivan Vecera) [1821646] - [netdrv] mlxsw: spectrum_flower: Do not stop at FLOW_ACTION_PRIORITY (Ivan Vecera) [1821646] - [netdrv] mlxsw: spectrum_trap: fix unintention integer overflow on left shift (Ivan Vecera) [1821646] - [tools] selftests: mlxsw: Add test cases for devlink-trap policers (Ivan Vecera) [1821646] - [netdrv] mlxsw: spectrum_trap: Add support for setting of packet trap group parameters (Ivan Vecera) [1821646] - [netdrv] mlxsw: spectrum_trap: Switch to use correct packet trap group (Ivan Vecera) [1821646] - [netdrv] mlxsw: spectrum_trap: Do not initialize dedicated discard policer (Ivan Vecera) [1821646] - [netdrv] mlxsw: spectrum_trap: Add devlink-trap policer support (Ivan Vecera) [1821646] - [netdrv] mlxsw: spectrum_trap: Prepare policers for registration with devlink (Ivan Vecera) [1821646] - [netdrv] mlxsw: spectrum: Track used packet trap policer IDs (Ivan Vecera) [1821646] - [netdrv] mlxsw: reg: Extend QPCR register (Ivan Vecera) [1821646] - [netdrv] mlxsw: spectrum_ptp: Fix build warnings (Ivan Vecera) [1821646] - [netdrv] mlxsw: spectrum_router: Avoid uninitialized symbol errors (Ivan Vecera) [1821646] - [netdrv] mlxsw: switchx2: Remove unnecessary conversion to bool (Ivan Vecera) [1821646] - [netdrv] mlxsw: core_acl: Avoid defining static variable in header file (Ivan Vecera) [1821646] - [netdrv] mlxsw: spectrum: Remove unused RIF and FID families (Ivan Vecera) [1821646] - [netdrv] mlxsw: spectrum_router: Add proper function documentation (Ivan Vecera) [1821646] - [netdrv] mlxsw: i2c: Add missing field documentation (Ivan Vecera) [1821646] - [netdrv] mlxsw: spectrum_mr: Fix list iteration in error path (Ivan Vecera) [1821646] - [tools] selftests: mlxsw: qos_dscp_router: Test no DSCP rewrite after pedit (Ivan Vecera) [1821646] - [netdrv] mlxsw: spectrum_flower: Offload FLOW_ACTION_MANGLE (Ivan Vecera) [1821646] - [netdrv] mlxsw: core: Add DSCP, ECN, dscp_rw to QOS_ACTION (Ivan Vecera) [1821646] - [netdrv] mlxsw: core: Rename mlxsw_afa_qos_cmd to mlxsw_afa_qos_switch_prio_cmd (Ivan Vecera) [1821646] - [netdrv] mlxsw: spectrum_trap: Explicitly register packet trap groups (Ivan Vecera) [1821646] - [netdrv] mlxsw: spectrum_cnt: Fix 64-bit division in mlxsw_sp_counter_resources_register (Ivan Vecera) [1821646] - [netdrv] mlxsw: spectrum_flower: Offload FLOW_ACTION_PRIORITY (Ivan Vecera) [1821646] - [netdrv] mlxsw: core: Add QOS_ACTION (Ivan Vecera) [1821646] - [netdrv] mlxsw: pci: Only issue reset when system is ready (Ivan Vecera) [1821646] - [tools] selftests: mlxsw: Add tc action hw_stats tests (Ivan Vecera) [1821646] - [netdrv] mlxsw: spectrum_cnt: Expose devlink resource occupancy for counters (Ivan Vecera) [1821646] - [netdrv] mlxsw: spectrum_cnt: Consolidate subpools initialization (Ivan Vecera) [1821646] - [netdrv] mlxsw: spectrum_cnt: Move config validation along with resource register (Ivan Vecera) [1821646] - [netdrv] mlxsw: spectrum_cnt: Expose subpool sizes over devlink resources (Ivan Vecera) [1821646] - [netdrv] mlxsw: spectrum_cnt: Add entry_size_res_id for each subpool and use it to query entry size (Ivan Vecera) [1821646] - [netdrv] mlxsw: spectrum_cnt: Move sub_pools under per-instance pool struct (Ivan Vecera) [1821646] - [tools] selftests: spectrum-2: Adjust tc_flower_scale limit according to current counter count (Ivan Vecera) [1821646] - [netdrv] mlxsw: spectrum_cnt: Query bank size from FW resources (Ivan Vecera) [1821646] - [netdrv] mlxsw: reg: Increase register field length to 31 bits (Ivan Vecera) [1821646] - [tools] selftests: mlxsw: RED: Test RED ECN nodrop offload (Ivan Vecera) [1821646] - [netdrv] mlxsw: spectrum_qdisc: Offload RED ECN nodrop mode (Ivan Vecera) [1821646] - [netdrv] mlxsw: spectrum_acl: Ask device for rule stats only if counter was created (Ivan Vecera) [1821646] - [netdrv] mlxsw: spectrum_qdisc: Support offloading of FIFO Qdisc (Ivan Vecera) [1821646] - [netdrv] mlxsw: spectrum_qdisc: Add handle parameter to ..._ops.replace (Ivan Vecera) [1821646] - [netdrv] mlxsw: spectrum_qdisc: Introduce struct mlxsw_sp_qdisc_state (Ivan Vecera) [1821646] - [netdrv] net: mlxfw: Replace zero-length array with flexible-array member (Ivan Vecera) [1821646] - [tools] selftests: mlxsw: qos_defprio: Use until_counter_is (Ivan Vecera) [1821646] - [netdrv] mlxsw: pci: Wait longer before accessing the device after reset (Ivan Vecera) [1821646] - [netdrv] mlxsw: reg: Update module_type values in PMTM register and map them to width (Ivan Vecera) [1821646] - [tools] selftests: mlxsw: resource_scale: Invoke for Spectrum-3 (Ivan Vecera) [1821646] - [tools] selftests: mlxsw: Reduce router scale running time using offload indication (Ivan Vecera) [1821646] - [tools] selftests: mlxsw: Reduce running time using offload indication (Ivan Vecera) [1821646] - [tools] selftests: mlxsw: Add shared buffer traffic test (Ivan Vecera) [1821646] - [tools] selftests: mlxsw: Add mlxsw lib (Ivan Vecera) [1821646] - [tools] selftests: devlink_lib: Add devlink port helpers (Ivan Vecera) [1821646] - [tools] selftests: devlink_lib: Check devlink info command is supported (Ivan Vecera) [1821646] - [tools] selftests: mlxsw: Add shared buffer configuration test (Ivan Vecera) [1821646] - [tools] selftests: mlxsw: Use busywait helper in rtnetlink test (Ivan Vecera) [1821646] - [tools] selftests: mlxsw: Use busywait helper in vxlan test (Ivan Vecera) [1821646] - [tools] selftests: mlxsw: Use busywait helper in blackhole routes test (Ivan Vecera) [1821646] - [tools] selftests: devlink_trap_l3_drops: Avoid race condition (Ivan Vecera) [1821646] - [tools] selftests: add a mirror test to mlxsw tc flower restrictions (Ivan Vecera) [1821646] - [tools] selftests: add egress redirect test to mlxsw tc flower restrictions (Ivan Vecera) [1821646] - [netdrv] mlxsw: spectrum: Add mlxsw_sp_span_ops.buffsize_get for Spectrum-3 (Ivan Vecera) [1821646] - [netdrv] mlxsw: spectrum: Initialize advertised speeds to supported speeds (Ivan Vecera) [1821646] - [netdrv] mlxsw: spectrum: Move the ECN-marked packet counter to ethtool (Ivan Vecera) [1821646] - [netdrv] mlxsw: spectrum_switchdev: Optimize SFN records processing (Ivan Vecera) [1821646] - [netdrv] mlxsw: spectrum_trap: Lookup and pass cookie down to devlink_trap_report() (Ivan Vecera) [1821646] - [netdrv] mlxsw: pci: Extract cookie index for ACL discard trap packets (Ivan Vecera) [1821646] - [netdrv] mlxsw: core_acl_flex_actions: Implement flow_offload action cookie offload (Ivan Vecera) [1821646] - [netdrv] mlxsw: core_acl_flex_actions: Add trap with userdef action (Ivan Vecera) [1821646] - [netdrv] net/mlxfw: fix spelling mistake: "progamming" -> "programming" (Ivan Vecera) [1821646] - [tools] selftests: devlink_trap_acl_drops: Add ACL traps test (Ivan Vecera) [1821646] - [tools] selftests: pass pref and handle to devlink_trap_drop_* helpers (Ivan Vecera) [1821646] - [tools] selftests: introduce test for mlxsw tc flower restrictions (Ivan Vecera) [1821646] - [netdrv] mlxsw: spectrum_trap: Add ACL devlink-trap support (Ivan Vecera) [1821646] - [netdrv] mlxsw: spectrum_trap: Introduce dummy group with thin policer (Ivan Vecera) [1821646] - [netdrv] mlxsw: core: Extend MLXSW_RXL_DIS to register disabled trap group (Ivan Vecera) [1821646] - [netdrv] mlxsw: core: Allow to enable/disable rx_listener for trap (Ivan Vecera) [1821646] - [netdrv] mlxsw: acl_flex_actions: Trap all ACL dropped packets to DISCARD_*_ACL traps (Ivan Vecera) [1821646] - [netdrv] mlxsw: spectrum_acl: Pass the ingress indication down to flex action (Ivan Vecera) [1821646] - [netdrv] mlxsw: spectrum_flower: Disable mixed bound blocks to contain action drop (Ivan Vecera) [1821646] - [netdrv] mlxsw: spectrum_acl: Track ingress and egress block bindings (Ivan Vecera) [1821646] - [netdrv] mlxsw: spectrum_trap: Prepare mlxsw_core_trap_action_set() to handle not only action (Ivan Vecera) [1821646] - [netdrv] mlxsw: spectrum_trap: Use listener->en/dis_action instead of hard-coded values (Ivan Vecera) [1821646] - [netdrv] mlxsw: core: Allow to register disabled traps using MLXSW_RXL_DIS (Ivan Vecera) [1821646] - [netdrv] mlxsw: spectrum_trap: Set unreg_action to be SET_FW_DEFAULT (Ivan Vecera) [1821646] - [netdrv] mlxsw: pci: Remove unused values (Ivan Vecera) [1821646] - [netdrv] mlxsw: core: Remove priv from listener equality comparison (Ivan Vecera) [1821646] - [netdrv] mlxsw: spectrum_acl: Make block arg const where appropriate (Ivan Vecera) [1821646] - [netdrv] mlxsw: spectrum_trap: Make global arrays const as they should be (Ivan Vecera) [1821646] - [netdrv] mlxsw: core: Remove initialization to false of mlxsw_listener struct (Ivan Vecera) [1821646] - [netdrv] mlxsw: core: Convert is_event and is_ctrl bools to be single bits (Ivan Vecera) [1821646] - [netdrv] mlxsw: core: Remove dummy union name from struct mlxsw_listener (Ivan Vecera) [1821646] - [netdrv] mlxsw: core: Remove unused action field from mlxsw_rx_listener struct (Ivan Vecera) [1821646] - [netdrv] mlxsw: spectrum_trap: Move policer initialization to mlxsw_sp_trap_init() (Ivan Vecera) [1821646] - [netdrv] mlxsw: core_acl_flex_actions: Rename Trap / Discard Action to Trap Action (Ivan Vecera) [1821646] - [netdrv] mlxsw: spectrum_trap: Move functions to avoid their forward declarations (Ivan Vecera) [1821646] - [netdrv] mlxsw: spectrum_trap: Use err variable instead of directly checking func return value (Ivan Vecera) [1821646] - [netdrv] net/mlx5: Add fsm_reactivate callback support (Ivan Vecera) [1821646] - [netdrv] net/mlxfw: Add reactivate flow support to FSM burn flow (Ivan Vecera) [1821646] - [netdrv] net/mlxfw: Use MLXFW_ERR_MSG macro for error reporting (Ivan Vecera) [1821646] - [netdrv] net/mlxfw: Convert pr_* to dev_* in mlxfw_fsm.c (Ivan Vecera) [1821646] - [netdrv] net/mlxfw: More error messages coverage (Ivan Vecera) [1821646] - [netdrv] net/mlxfw: Improve FSM err message reporting and return codes (Ivan Vecera) [1821646] - [netdrv] net/mlxfw: Generic mlx FW flash status notify (Ivan Vecera) [1821646] - [netdrv] mlxsw: spectrum: Remove RTNL where possible (Ivan Vecera) [1821646] - [netdrv] mlxsw: spectrum_router: Take router lock from exported helpers (Ivan Vecera) [1821646] - [netdrv] mlxsw: spectrum_router: Take router lock from inetaddr listeners (Ivan Vecera) [1821646] - [netdrv] mlxsw: spectrum_router: Take router lock from netdev listener (Ivan Vecera) [1821646] - [netdrv] mlxsw: spectrum_dpipe: Take router lock from dpipe code (Ivan Vecera) [1821646] - [netdrv] mlxsw: spectrum_router: Take router lock from inside routing code (Ivan Vecera) [1821646] - [netdrv] mlxsw: spectrum_router: Introduce router lock (Ivan Vecera) [1821646] - [netdrv] mlxsw: spectrum_router: Store NVE decapsulation configuration in router (Ivan Vecera) [1821646] - [netdrv] mlxsw: spectrum_router: Expose router struct to internal users (Ivan Vecera) [1821646] - [netdrv] mlxsw: spectrum_mr: Protect multicast route list with a lock (Ivan Vecera) [1821646] - [netdrv] mlxsw: spectrum_mr: Protect multicast table list with a lock (Ivan Vecera) [1821646] - [netdrv] mlxsw: spectrum_mr: Publish multicast route after writing it to the device (Ivan Vecera) [1821646] - [netdrv] mlxsw: spectrum_nve: Make tunnel initialization symmetric (Ivan Vecera) [1821646] - [netdrv] mlxsw: spectrum: Export function to check if RIF exists (Ivan Vecera) [1821646] - [netdrv] mlxsw: spectrum: Prevent RIF access outside of routing code (Ivan Vecera) [1821646] - [netdrv] mlxsw: spectrum_router: Prepare function for router lock introduction (Ivan Vecera) [1821646] - [netdrv] mlxsw: spectrum_router: Prepare function for router lock introduction (Ivan Vecera) [1821646] - [netdrv] mlxsw: spectrum_router: Do not assume RTNL is taken when resolving underlay device (Ivan Vecera) [1821646] - [netdrv] mlxsw: spectrum_router: Do not assume RTNL is taken during RIF teardown (Ivan Vecera) [1821646] - [netdrv] mlxsw: spectrum_router: Do not assume RTNL is taken during nexthop init (Ivan Vecera) [1821646] - [netdrv] mlxsw: spectrum_span: Only update mirroring agents if present (Ivan Vecera) [1821646] - [netdrv] mlxsw: spectrum: Convert callers to use new mirroring API (Ivan Vecera) [1821646] - [netdrv] mlxsw: spectrum_span: Prepare work item to update mirroring agents (Ivan Vecera) [1821646] - [netdrv] mlxsw: spectrum_span: Use struct_size() to simplify allocation (Ivan Vecera) [1821646] - [netdrv] mlxsw: spectrum_span: Do no expose mirroring agents to entire driver (Ivan Vecera) [1821646] - [netdrv] mlxsw: spectrum: Protect counter pool with a lock (Ivan Vecera) [1821646] - [netdrv] mlxsw: spectrum_kvdl: Protect allocations with a lock (Ivan Vecera) [1821646] - [netdrv] mlxsw: Replace zero-length array with flexible-array member (Ivan Vecera) [1821646] - [tools] selftests: mlxsw: vxlan: Add test for error path (Ivan Vecera) [1821646] - [tools] selftests: mlxsw: vxlan: Adjust test to recent changes (Ivan Vecera) [1821646] - [tools] selftests: mlxsw: extack: Test creation of multiple VLAN-aware bridges (Ivan Vecera) [1821646] - [tools] selftests: mlxsw: extack: Test bridge creation with VXLAN (Ivan Vecera) [1821646] - [tools] selftests: mlxsw: Remove deprecated test (Ivan Vecera) [1821646] - [netdrv] mlxsw: spectrum: Reduce dependency between bridge and router code (Ivan Vecera) [1821646] - [netdrv] mlxsw: spectrum_switchdev: Remove VXLAN checks during FID membership (Ivan Vecera) [1821646] - [netdrv] mlxsw: spectrum_switchdev: Have VXLAN device take reference on FID (Ivan Vecera) [1821646] - [netdrv] mlxsw: spectrum_switchdev: Propagate extack to bridge creation function (Ivan Vecera) [1821646] - [netdrv] mlxsw: spectrum_fid: Use 'refcount_t' for FID reference counting (Ivan Vecera) [1821646] - [netdrv] mlxsw: spectrum_dpipe: Add missing error path (Ivan Vecera) [1821646] - [netdrv] mlxsw: core: Add validation of hardware device types for MGPIR register (Ivan Vecera) [1821646] - [netdrv] mlxsw: spectrum_router: Clear offload indication from IPv6 nexthops on abort (Ivan Vecera) [1821646] - [tools] selftests: mlxsw: Add test cases for local table route replacement (Ivan Vecera) [1821646] - [netdrv] mlxsw: spectrum_qdisc: Fix 64-bit division error in mlxsw_sp_qdisc_tbf_rate_kbps (Ivan Vecera) [1821646] - [netdrv] mlxsw: minimal: Fix an error handling path in 'mlxsw_m_port_create()' (Ivan Vecera) [1821646] - [netdrv] mlxsw: spectrum_qdisc: Support offloading of TBF Qdisc (Ivan Vecera) [1821646] - [netdrv] mlxsw: spectrum: Configure shaper rate and burst size together (Ivan Vecera) [1821646] - [netdrv] mlxsw: spectrum: Add lowest_shaper_bs to struct mlxsw_sp (Ivan Vecera) [1821646] - [netdrv] mlxsw: reg: Increase MLXSW_REG_QEEC_MAS_DIS (Ivan Vecera) [1821646] - [netdrv] mlxsw: reg: Add max_shaper_bs to QoS ETS Element Configuration (Ivan Vecera) [1821646] - [netdrv] mlxsw: spectrum_qdisc: Extract a common leaf unoffload function (Ivan Vecera) [1821646] - [netdrv] mlxsw: spectrum_qdisc: Add mlxsw_sp_qdisc_get_class_stats() (Ivan Vecera) [1821646] - [netdrv] mlxsw: spectrum_qdisc: Extract a per-TC stat function (Ivan Vecera) [1821646] - [netdrv] mlxsw: spectrum_acl: Fix use-after-free during reload (Ivan Vecera) [1821646] - [netdrv] spectrum: Add a delayed work to update SPAN buffsize according to speed (Ivan Vecera) [1821646] - [netdrv] mlxsw: spectrum: Fix SPAN egress mirroring buffer size for Spectrum-2 (Ivan Vecera) [1821646] - [netdrv] mlxsw: spectrum_span: Put buffsize update code into helper function (Ivan Vecera) [1821646] - [netdrv] mlxsw: spectrum: Push code getting port speed into a helper (Ivan Vecera) [1821646] - [tools] selftests: devlink_trap_tunnel_vxlan: Add test case for overlay_smac_is_mc (Ivan Vecera) [1821646] - [netdrv] mlxsw: Add OVERLAY_SMAC_MC trap (Ivan Vecera) [1821646] - [tools] selftests: devlink_trap_tunnel_ipip: Add test case for decap_error (Ivan Vecera) [1821646] - [tools] selftests: devlink_trap_tunnel_vxlan: Add test case for decap_error (Ivan Vecera) [1821646] - [netdrv] mlxsw: Add tunnel devlink-trap support (Ivan Vecera) [1821646] - [netdrv] mlxsw: spectrum_trap: Reorder cases according to enum order (Ivan Vecera) [1821646] - [netdrv] mlxsw: Add ECN configurations with IPinIP tunnels (Ivan Vecera) [1821646] - [netdrv] mlxsw: reg: Add Tunneling IPinIP Decapsulation ECN Mapping Register (Ivan Vecera) [1821646] - [netdrv] mlxsw: reg: Add Tunneling IPinIP Encapsulation ECN Mapping Register (Ivan Vecera) [1821646] - [netdrv] mlxsw: Add NON_ROUTABLE trap (Ivan Vecera) [1821646] - [tools] selftests: devlink_trap_l3_drops: Add test cases of irif and erif disabled (Ivan Vecera) [1821646] - [netdrv] mlxsw: Add irif and erif disabled traps (Ivan Vecera) [1821646] - [netdrv] mlxsw: spectrum_qdisc: Include MC TCs in Qdisc counters (Ivan Vecera) [1821646] - [netdrv] mlxsw: spectrum: Wipe xstats.backlog of down ports (Ivan Vecera) [1821646] - [tools] selftests: mlxsw: qos_mc_aware: Fix mausezahn invocation (Ivan Vecera) [1821646] - [netdrv] mlxsw: switchx2: Do not modify cloned SKBs during xmit (Ivan Vecera) [1821646] - [netdrv] mlxsw: spectrum: Do not modify cloned SKBs during xmit (Ivan Vecera) [1821646] - [netdrv] mlxsw: spectrum: Do not enforce same firmware version for multiple ASICs (Ivan Vecera) [1821646] - [tools] selftests: mlxsw: Add test for FIB offload API (Ivan Vecera) [1821646] - [netdrv] mlxsw: spectrum_router: Set hardware flags for routes (Ivan Vecera) [1821646] - [netdrv] mlxsw: spectrum_router: Separate nexthop offload indication from route (Ivan Vecera) [1821646] - [netdrv] mlxsw: spectrum: Only require minimum firmware version (Ivan Vecera) [1821646] - [netdrv] mlxsw: spectrum: Update firmware version to xx.2000.2714 (Ivan Vecera) [1821646] - [netdrv] mlxsw: spectrum_qdisc: Ignore grafting of invisible FIFO (Ivan Vecera) [1821646] - [netdrv] mlxsw: spectrum: Disable DIP_LINK_LOCAL check in hardware pipeline (Ivan Vecera) [1821646] - [netdrv] mlxsw: spectrum: Disable SIP_DIP check in hardware pipeline (Ivan Vecera) [1821646] - [netdrv] mlxsw: spectrum: Disable MC_DMAC check in hardware pipeline (Ivan Vecera) [1821646] - [netdrv] mlxsw: spectrum: Disable SIP_CLASS_E check in hardware pipeline (Ivan Vecera) [1821646] - [netdrv] mlxsw: spectrum_dcb: Allow setting default port priority (Ivan Vecera) [1821646] - [netdrv] mlxsw: reg: Add QoS Port DSCP to Priority Mapping Register (Ivan Vecera) [1821646] - [netdrv] mlxsw: spectrum_qdisc: Support offloading of ETS Qdisc (Ivan Vecera) [1821646] - [netdrv] mlxsw: spectrum_qdisc: Generalize PRIO offload to support ETS (Ivan Vecera) [1821646] - [netdrv] mlxsw: spectrum: Rename MLXSW_REG_QEEC_HIERARCY_* enumerators (Ivan Vecera) [1821646] - [netdrv] mlxsw: spectrum_qdisc: Clarify a comment (Ivan Vecera) [1821646] - [netdrv] mlxsw: spectrum: Use dedicated policer for VRRP packets (Ivan Vecera) [1821646] - [netdrv] mlxsw: spectrum_router: Skip loopback RIFs during MAC validation (Ivan Vecera) [1821646] - [netdrv] net/mlxfw: Fix out-of-memory error in mfa2 flash burning (Ivan Vecera) [1821646] - [netdrv] mlxsw: spectrum_router: Fix use of uninitialized adjacency index (Ivan Vecera) [1821646] - [netdrv] mlxsw: spectrum_router: After underlay moves, demote conflicting tunnels (Ivan Vecera) [1821646] - [tools] selftests: mlxsw: Check devlink device before running test (Ivan Vecera) [1821646] - [tools] selftests: mlxsw: Add router scale test for Spectrum-2 (Ivan Vecera) [1821646] - [netdrv] mlxsw: spectrum_router: Fix determining underlay for a GRE tunnel (Ivan Vecera) [1821646] - [netdrv] net/mlxfw: Verify FSM error code translation doesn't exceed array size (Ivan Vecera) [1821646] - [netdrv] mlxsw: spectrum_router: Allocate discard adjacency entry when needed (Ivan Vecera) [1821646] - [netdrv] mlxsw: spectrum: Enable EMAD string TLV (Ivan Vecera) [1821646] - [netdrv] mlxsw: core: Add support for using EMAD string TLV (Ivan Vecera) [1821646] - [netdrv] mlxsw: core: Extend EMAD information reported to devlink hwerr (Ivan Vecera) [1821646] - [netdrv] mlxsw: core: Add support for EMAD string TLV parsing (Ivan Vecera) [1821646] - [netdrv] mlxsw: core: Add EMAD string TLV (Ivan Vecera) [1821646] - [netdrv] mlxsw: emad: Remove deprecated EMAD TLVs (Ivan Vecera) [1821646] - [netdrv] mlxsw: core: Parse TLVs' offsets of incoming EMADs (Ivan Vecera) [1821646] - [netdrv] mlxsw: core: Enable devlink reload only on probe (Ivan Vecera) [1821646] - [tools] selftests: mlxsw: Add test cases for devlink-trap layer 3 exceptions (Ivan Vecera) [1821646] - [tools] selftests: forwarding: devlink: Add functionality for trap exceptions test (Ivan Vecera) [1821646] - [netdrv] mlxsw: Add layer 3 devlink-trap exceptions support (Ivan Vecera) [1821646] - [netdrv] mlxsw: Add specific trap for packets routed via invalid nexthops (Ivan Vecera) [1821646] - [netdrv] mlxsw: Add new FIB entry type for reject routes (Ivan Vecera) [1821646] - [tools] selftests: mlxsw: Add test cases for devlink-trap layer 3 drops (Ivan Vecera) [1821646] - [tools] selftests: devlink: Make devlink_trap_cleanup() more generic (Ivan Vecera) [1821646] - [tools] selftests: devlink: Export functions to devlink library (Ivan Vecera) [1821646] - [netdrv] mlxsw: Add layer 3 devlink-trap support (Ivan Vecera) [1821646] - [netdrv] mlxsw: spectrum: Fix error return code in mlxsw_sp_port_module_info_init() (Ivan Vecera) [1821646] - [netdrv] mlxsw: spectrum: Generalize split count check (Ivan Vecera) [1821646] - [netdrv] mlxsw: spectrum: Iterate over all ports in gap during unsplit create (Ivan Vecera) [1821646] - [netdrv] mlxsw: spectrum: Fix base port get for split count 4 and 8 (Ivan Vecera) [1821646] - [netdrv] mlxsw: spectrum: Use port_module_max_width to compute base port index (Ivan Vecera) [1821646] - [netdrv] mlxsw: spectrum: Remember split base local port and use it in unsplit (Ivan Vecera) [1821646] - [netdrv] mlxsw: spectrum: Introduce resource for getting offset of 4 lanes split port (Ivan Vecera) [1821646] - [netdrv] mlxsw: spectrum: Push getting offsets of split ports into a helper (Ivan Vecera) [1821646] - [netdrv] mlxsw: spectrum: Add sanity checks into module info get (Ivan Vecera) [1821646] - [netdrv] mlxsw: spectrum: Pass mapping values in port mapping structure (Ivan Vecera) [1821646] - [netdrv] mlxsw: spectrum: Use mapping of port being split for creating split ports (Ivan Vecera) [1821646] - [netdrv] mlxsw: spectrum: Replace port_to_module array with array of structs (Ivan Vecera) [1821646] - [netdrv] mlxsw: spectrum: Distinguish between unsplittable and split port (Ivan Vecera) [1821646] - [netdrv] mlxsw: spectrum: Move max_width check up before count check (Ivan Vecera) [1821646] - [netdrv] mlxsw: spectrum: Use PMTM register to get max module width (Ivan Vecera) [1821646] - [netdrv] mlxsw: reg: Add Port Module Type Mapping Register (Ivan Vecera) [1821646] - [netdrv] mlxsw: reg: Extend PMLP tx/rx lane value size to 4 bits (Ivan Vecera) [1821646] - [netdrv] mlxsw: Fix 64-bit division in mlxsw_sp_sb_prs_init (Ivan Vecera) [1821646] - [netdrv] mlxsw: Enforce firmware version for Spectrum-2 (Ivan Vecera) [1821646] - [netdrv] mlxsw: Bump firmware version to 13.2000.2308 (Ivan Vecera) [1821646] - [netdrv] mlxsw: pci: Increase PCI reset timeout for SN3800 systems (Ivan Vecera) [1821646] - [netdrv] mlxsw: reg: Increase size of MPAR register (Ivan Vecera) [1821646] - [netdrv] mlxsw: core: Unpublish devlink parameters during reload (Ivan Vecera) [1821646] - [netdrv] mlxsw: spectrum_buffers: remove unneeded semicolon (Ivan Vecera) [1821646] - [netdrv] mlxsw: spectrum_buffers: Calculate the size of the main pool (Ivan Vecera) [1821646] - [netdrv] mlxsw: spectrum: Use guaranteed buffer size as pool size limit (Ivan Vecera) [1821646] - [netdrv] mlxsw: core: Extend QSFP EEPROM size for ethtool (Ivan Vecera) [1821646] - [netdrv] mlxsw: reg: Add macro for getting QSFP module EEPROM page number (Ivan Vecera) [1821646] - [netdrv] mlxsw: spectrum_trap: Push Ethernet header before reporting trap (Ivan Vecera) [1821646] - [tools] selftests: mlxsw: Add Spectrum-2 target scale for tc flower scale test (Ivan Vecera) [1821646] - [tools] selftests: mlxsw: Add a resource scale test for Spectrum-2 (Ivan Vecera) [1821646] - [tools] selftests: mlxsw: Add Spectrum-2 mirror-to-gretap target scale test (Ivan Vecera) [1821646] - [tools] selftests: mlxsw: Generalize the parameters of mirror_gre test (Ivan Vecera) [1821646] - [netdrv] mlxsw: spectrum: Register switched port analyzers (SPAN) as resource (Ivan Vecera) [1821646] - [netdrv] mlxsw: spectrum: Add support for 400Gbps (50Gbps per lane) link modes (Ivan Vecera) [1821646] - [netdrv] mlxsw: minimal: Add validation for FW version (Ivan Vecera) [1821646] - [netdrv] mlxsw: core: Push minor/subminor fw version check into helper (Ivan Vecera) [1821646] - [netdrv] mlxsw: thermal: Provide optimization for QSFP modules number detection (Ivan Vecera) [1821646] - [netdrv] mlxsw: hwmon: Provide optimization for QSFP modules number detection (Ivan Vecera) [1821646] - [netdrv] mlxsw: reg: Extend MGPIR register with new field exposing the number of QSFP modules (Ivan Vecera) [1821646] - [netdrv] mlxsw: Propagate extack down to register_fib_notifier() (Ivan Vecera) [1821646] - [netdrv] mlxsw: Register port netdevices into net of core (Ivan Vecera) [1821646] - [netdrv] mlxsw: spectrum: Take devlink net instead of init_net (Ivan Vecera) [1821646] - [netdrv] mlxsw: PCI: Send EMAD traffic on a separate queue (Ivan Vecera) [1821646] - [netdrv] mlxsw: spectrum: Use per-netns netdevice notifier registration (Ivan Vecera) [1821646] - [netdrv] mlxsw: spectrum_flower: Fail in case user specifies multiple mirror actions (Ivan Vecera) [1821646] - [netdrv] mlxsw: spectrum: Clear VLAN filters during port initialization (Ivan Vecera) [1821646] - [netdrv] mlxsw: spectrum_buffers: Add the ability to query the CPU port's shared buffer (Ivan Vecera) [1821646] - [netdrv] mlxsw: spectrum: Register CPU port with devlink (Ivan Vecera) [1821646] - [netdrv] mlxsw: spectrum_buffers: Prevent changing CPU port's configuration (Ivan Vecera) [1821646] - [tools] selftests: mlxsw: Add a test case for devlink-trap (Ivan Vecera) [1821646] - [tools] selftests: mlxsw: Add test cases for devlink-trap L2 drops (Ivan Vecera) [1821646] - [netdrv] mlxsw: spectrum: Add devlink-trap support (Ivan Vecera) [1821646] - [netdrv] mlxsw: Add trap group for layer 2 discards (Ivan Vecera) [1821646] - [netdrv] mlxsw: Add layer 2 discard trap IDs (Ivan Vecera) [1821646] - [netdrv] mlxsw: reg: Add new trap actions (Ivan Vecera) [1821646] - [netdrv] mlxsw: core: Add API to set trap action (Ivan Vecera) [1821646] - [netdrv] mlxsw: spectrum: Extend to support Spectrum-3 ASIC (Ivan Vecera) [1821646] - [netdrv] mlxsw: spectrum_flower: Forbid to offload match on reserved TCP flags bits (Ivan Vecera) [1821646] - [netdrv] mlxsw: spectrum_acl: Track rules that forbid egress block bind (Ivan Vecera) [1821646] - [netdrv] mlxsw: spectrum_flower: Forbid to offload mirred redirect on egress (Ivan Vecera) [1821646] - [netdrv] mlxsw: spectrum_router: Increase scale of IPv6 nexthop groups (Ivan Vecera) [1821646] - [netdrv] mlxsw: spectrum: Expose KVD size for Spectrum-2 (Ivan Vecera) [1821646] - [netdrv] geneve: change from tx_error to tx_dropped on missing metadata (Jiri Benc) [1843412] - [net] mptcp: use untruncated hash in ADD_ADDR HMAC (Florian Westphal) [1840167] - [net] mptcp: use rightmost 64 bits in ADD_ADDR HMAC (Florian Westphal) [1840167] - [tools] selftests: mptcp: pm: rm the right tmp file (Florian Westphal) [1840167] - [net] mptcp: cope better with MP_JOIN failure (Florian Westphal) [1840167] - [net] inet_connection_sock: factor out destroy helper. (Florian Westphal) [1840167] - [net] mptcp: add new sock flag to deal with join subflows (Florian Westphal) [1840167] - [net] mptcp: Initialize map_seq upon subflow establishment (Florian Westphal) [1840167] - [net] mptcp: set correct vfs info for subflows (Florian Westphal) [1840167] - [net] mptcp: fix uninitialized value access (Florian Westphal) [1840167] - [net] mptcp: initialize the data_fin field for mpc packets (Florian Westphal) [1840167] - [net] mptcp: fix 'use_ack' option access. (Florian Westphal) [1840167] - [net] mptcp: avoid a WARN on bad input. (Florian Westphal) [1840167] - [net] mptcp: move option parsing into mptcp_incoming_options() (Florian Westphal) [1840167] - [net] mptcp: consolidate synack processing. (Florian Westphal) [1840167] - [net] mptcp: replace mptcp_disconnect with a stub (Florian Westphal) [1840167] - [net] mptcp: fix race in msk status update (Florian Westphal) [1840167] - [net] tcp: mptcp: use mptcp receive buffer space to select rcv window (Florian Westphal) [1840167] - [net] mptcp/pm_netlink.c : add check for nla_put_in/6_addr (Florian Westphal) [1840167] - [net] mptcp: fix data_fin handing in RX path (Florian Westphal) [1840167] - [net] mptcp: drop req socket remote_key* fields (Florian Westphal) [1840167] - [net] mptcp: avoid flipping mp_capable field in syn_recv_sock() (Florian Westphal) [1840167] - [net] mptcp: handle mptcp listener destruction via rcu (Florian Westphal) [1840167] - [net] mptcp: fix 'Attempt to release TCP socket in state' warnings (Florian Westphal) [1840167] - [net] mptcp: fix splat when incoming connection is never accepted before exit/close (Florian Westphal) [1840167] - [net] mptcp: fix double-unlock in mptcp_poll (Florian Westphal) [1840167] - [net] mptcp: add some missing pr_fmt defines (Florian Westphal) [1840167] - [net] mptcp: fix "fn parameter not described" warnings (Florian Westphal) [1840167] - [net] mptcp: re-check dsn before reading from subflow (Florian Westphal) [1840167] - [net] mptcp: subflow: check parent mptcp socket on subflow state change (Florian Westphal) [1840167] - [net] mptcp: fix tcp fallback crash (Florian Westphal) [1840167] - [tools] selftests:mptcp: fix failure due to whitespace damage (Florian Westphal) [1840167] - [tools] selftests: add test-cases for MPTCP MP_JOIN (Florian Westphal) [1840167] - [tools] selftests: add PM netlink functional tests (Florian Westphal) [1840167] - [net] mptcp: add netlink-based PM (Florian Westphal) [1840167] - [net] mptcp: add and use MIB counter infrastructure (Florian Westphal) [1840167] - [net] mptcp: allow dumping subflow context to userspace (Florian Westphal) [1840167] - [net] mptcp: implement and use MPTCP-level retransmission (Florian Westphal) [1840167] - [net] mptcp: rework mptcp_sendmsg_frag to accept optional dfrag (Florian Westphal) [1840167] - [net] mptcp: allow partial cleaning of rtx head dfrag (Florian Westphal) [1840167] - [net] mptcp: implement memory accounting for mptcp rtx queue (Florian Westphal) [1840167] - [net] mptcp: introduce MPTCP retransmission timer (Florian Westphal) [1840167] - [net] mptcp: queue data for mptcp level retransmission (Florian Westphal) [1840167] - [net] mptcp: update per unacked sequence on pkt reception (Florian Westphal) [1840167] - [net] mptcp: Implement path manager interface commands (Florian Westphal) [1840167] - [net] mptcp: Add handling of outgoing MP_JOIN requests (Florian Westphal) [1840167] - [net] mptcp: Add handling of incoming MP_JOIN requests (Florian Westphal) [1840167] - [net] mptcp: Add path manager interface (Florian Westphal) [1840167] - [net] mptcp: Add ADD_ADDR handling (Florian Westphal) [1840167] - [net] tcp: annotate sk->sk_wmem_queued lockless reads (Florian Westphal) [1840167] - [net] mptcp: don't hang in mptcp_sendmsg() after TCP fallback (Florian Westphal) [1840167] - [net] mptcp: Remove set but not used variable 'can_ack' (Florian Westphal) [1840167] - [net] mptcp: rename fourth ack field (Florian Westphal) [1840167] - [net] mptcp: move msk state update to subflow_syn_recv_sock() (Florian Westphal) [1840167] - [net] mptcp: drop unneeded checks (Florian Westphal) [1840167] - [net] mptcp: create msk early (Florian Westphal) [1840167] - [net] mptcp: don't hang before sending 'MP capable with data' (Florian Westphal) [1840167] - [net] mptcp: don't grow mptcp socket receive buffer when rcvbuf is locked (Florian Westphal) [1840167] - [tools] mptcp: selftests: add rcvbuf set option (Florian Westphal) [1840167] - [net] mptcp: always include dack if possible. (Florian Westphal) [1840167] - [net] mptcp: Only send DATA_FIN with final mapping (Florian Westphal) [1840167] - [net] mptcp: Use per-subflow storage for DATA_FIN sequence number (Florian Westphal) [1840167] - [net] mptcp: Check connection state before attempting send (Florian Westphal) [1840167] - [net] mptcp: add dummy icsk_sync_mss() (Florian Westphal) [1840167] - [net] mptcp: defer work schedule until mptcp lock is released (Florian Westphal) [1840167] - [net] mptcp: avoid work queue scheduling if possible (Florian Westphal) [1840167] - [net] mptcp: remove mptcp_read_actor (Florian Westphal) [1840167] - [net] mptcp: add rmem queue accounting (Florian Westphal) [1840167] - [net] mptcp: update mptcp ack sequence from work queue (Florian Westphal) [1840167] - [net] mptcp: add work queue skeleton (Florian Westphal) [1840167] - [net] mptcp: add and use mptcp_data_ready helper (Florian Westphal) [1840167] - [net] xfrm: fix a NULL-ptr deref in xfrm_local_error (Xin Long) [1835208] - [net] xfrm: add IPv6 support for espintcp (Sabrina Dubroca) [1446392] - [net] xfrm: add support for UDPv6 encapsulation of ESP (Sabrina Dubroca) [1446392] - [net] xfrm: ifdef setsockopt(UDP_ENCAP_ESPINUDP/UDP_ENCAP_ESPINUDP_NON_IKE) (Sabrina Dubroca) [1446392] - [net] esp: Export esp_output_fill_trailer function (Sabrina Dubroca) [1446392] - [net] udp: fix jump label misuse (Sabrina Dubroca) [1446392] - [net] udp: implement complete book-keeping for encap_needed (Sabrina Dubroca) [1446392] - [net] xfrm: espintcp: save and call old ->sk_destruct (Sabrina Dubroca) [1446392] - [net] xfrm: add espintcp (RFC 8229) (Sabrina Dubroca) [1446392] - [net] esp4: split esp_output_udp_encap and introduce esp_output_encap (Sabrina Dubroca) [1446392] - [net] esp4: prepare esp_input_done2 for non-UDP encapsulation (Sabrina Dubroca) [1446392] - [net] xfrm: add route lookup to xfrm4_rcv_encap (Sabrina Dubroca) [1446392] - [net] xfrm: introduce xfrm_trans_queue_net (Sabrina Dubroca) [1446392] - [net] add queue argument to __skb_wait_for_more_packets and __skb_{, try_}recv_datagram (Sabrina Dubroca) [1446392] - [net] use skb_queue_empty_lockless() in busy poll contexts (Sabrina Dubroca) [1446392] - [include] net: add skb_queue_empty_lockless() (Sabrina Dubroca) [1446392] - [net] add READ_ONCE() annotation in __skb_wait_for_more_packets() (Sabrina Dubroca) [1446392] - [net] datagram: remove rendundant 'peeked' argument (Sabrina Dubroca) [1446392] - [tools] kvm: selftests: fix rdtsc() for vmx_tsc_adjust_test (Vitaly Kuznetsov) [1841490] - [x86] kvm: lapic: Also cancel preemption timer when disarm LAPIC timer (Vitaly Kuznetsov) [1841490] - [s390] kvm_host: unify VM_STAT and VCPU_STAT definitions in a single place (Vitaly Kuznetsov) [1841490] - [x86] kvm/x86: Remove redundant function implementations (Vitaly Kuznetsov) [1841490] - [tools] kvm: selftests: VMX preemption timer migration test (Vitaly Kuznetsov) [1841490] - [tools] tools arch kvm: Sync kvm headers with the kernel sources (Vitaly Kuznetsov) [1841490] - [tools] tools headers uapi: Update tools's copy of kvm.h headers (Vitaly Kuznetsov) [1841490] - [tools] tools headers: Sync the various kvm.h header copies (Vitaly Kuznetsov) [1841490] - [x86] kvm: nvmx: Fix VMX preemption timer migration (Vitaly Kuznetsov) [1841490] - [uapi] x86/kvm/hyper-v: Explicitly align hcall param for kvm_hyperv_exit (Vitaly Kuznetsov) [1841490] - [virt] kvm: introduce kvm_read_guest_offset_cached() (Vitaly Kuznetsov) [1841490] - [virt] kvm: rename kvm_arch_can_inject_async_page_present() to kvm_arch_can_dequeue_async_page_present() (Vitaly Kuznetsov) [1841490] - [x86] kvm: vmx: Replace zero-length array with flexible-array (Vitaly Kuznetsov) [1841490] - [virt] revert "kvm: No need to retry for hva_to_pfn_remapped()" (Vitaly Kuznetsov) [1841490] - [x86] kvm: nsvm: implement KVM_GET_NESTED_STATE and KVM_SET_NESTED_STATE (Vitaly Kuznetsov) [1841490] - [tools] selftests: kvm: fix smm test on SVM (Vitaly Kuznetsov) [1841490] - [tools] selftests: kvm: add a SVM version of state-test (Vitaly Kuznetsov) [1841490] - [tools] selftests: kvm: introduce cpu_has_svm() check (Vitaly Kuznetsov) [1841490] - [x86] kvm: mmu: pass arbitrary CR0/CR4/EFER to kvm_init_shadow_mmu (Vitaly Kuznetsov) [1841490] - [x86] kvm: nsvm: leave guest mode when clearing EFER.SVME (Vitaly Kuznetsov) [1841490] - [x86] kvm: nsvm: split nested_vmcb_check_controls (Vitaly Kuznetsov) [1841490] - [x86] kvm: nsvm: remove HF_HIF_MASK (Vitaly Kuznetsov) [1841490] - [x86] kvm: nsvm: remove HF_VINTR_MASK (Vitaly Kuznetsov) [1841490] - [x86] kvm: nsvm: synthesize correct EXITINTINFO on vmexit (Vitaly Kuznetsov) [1841490] - [x86] kvm: svm: preserve VGIF across VMCB switch (Vitaly Kuznetsov) [1841490] - [x86] kvm: nsvm: extract svm_set_gif (Vitaly Kuznetsov) [1841490] - [x86] kvm: nsvm: remove unnecessary if (Vitaly Kuznetsov) [1841490] - [x86] kvm: nsvm: synchronize VMCB controls updated by the processor on every vmexit (Vitaly Kuznetsov) [1841490] - [x86] kvm: nsvm: restore clobbered INT_CTL fields after clearing VINTR (Vitaly Kuznetsov) [1841490] - [x86] kvm: nsvm: save all control fields in svm->nested (Vitaly Kuznetsov) [1841490] - [x86] kvm: nsvm: remove trailing padding for struct vmcb_control_area (Vitaly Kuznetsov) [1841490] - [x86] kvm: nsvm: pass vmcb_control_area to copy_vmcb_control_area (Vitaly Kuznetsov) [1841490] - [x86] kvm: nsvm: clean up tsc_offset update (Vitaly Kuznetsov) [1841490] - [x86] kvm: nsvm: move MMU setup to nested_prepare_vmcb_control (Vitaly Kuznetsov) [1841490] - [x86] kvm: nsvm: extract preparation of VMCB for nested run (Vitaly Kuznetsov) [1841490] - [x86] kvm: nsvm: extract load_nested_vmcb_control (Vitaly Kuznetsov) [1841490] - [x86] kvm: nsvm: move map argument out of enter_svm_guest_mode (Vitaly Kuznetsov) [1841490] - [virt] kvm: check userspace_addr for all memslots (Vitaly Kuznetsov) [1841490] - [x86] kvm: nvmx: always update CR3 in VMCS (Vitaly Kuznetsov) [1841490] - [x86] kvm: svm: always update CR3 in VMCB (Vitaly Kuznetsov) [1841490] - [x86] kvm: nsvm: correctly inject INIT vmexits (Vitaly Kuznetsov) [1841490] - [x86] kvm: nsvm: remove exit_required (Vitaly Kuznetsov) [1841490] - [x86] kvm: nsvm: inject exceptions via svm_check_nested_events (Vitaly Kuznetsov) [1841490] - [x86] kvm: x86: enable event window in inject_pending_event (Vitaly Kuznetsov) [1841490] - [x86] kvm: x86: track manually whether an event has been injected (Vitaly Kuznetsov) [1841490] - [x86] kvm: nsvm: Preserve registers modifications done before nested_svm_vmexit() (Vitaly Kuznetsov) [1841490] - [x86] kvm: x86: Initialize tdp_level during vCPU creation (Vitaly Kuznetsov) [1841490] - [x86] kvm: nsvm: leave ASID aside in copy_vmcb_control_area (Vitaly Kuznetsov) [1841490] - [x86] kvm: nsvm: fix condition for filtering async PF (Vitaly Kuznetsov) [1841490] - [x86] kvm: Fix the indentation to match coding style (Vitaly Kuznetsov) [1841490] - [x86] kvm: vmx: replace "fall through" with "return" to indicate different case (Vitaly Kuznetsov) [1841490] - [x86] kvm: x86: Take an unsigned 32-bit int for has_emulated_msr()'s index (Vitaly Kuznetsov) [1841490] - [x86] kvm: x86: Remove superfluous brackets from case statement (Vitaly Kuznetsov) [1841490] - [x86] kvm: x86: allow KVM_STATE_NESTED_MTF_PENDING in kvm_state flags (Vitaly Kuznetsov) [1841490] - [x86] kvm: x86: simplify is_mmio_spte (Vitaly Kuznetsov) [1841490] - [x86] kvm: x86: don't expose MSR_IA32_UMWAIT_CONTROL unconditionally (Vitaly Kuznetsov) [1841490] - [x86] kvm: vmx: enable X86_FEATURE_WAITPKG in KVM capabilities (Vitaly Kuznetsov) [1841490] - [x86] kvm: x86/mmu: Set mmio_value to '0' if reserved #PF can't be generated (Vitaly Kuznetsov) [1841490] - [x86] kvm: x86: only do L1TF workaround on affected processors (Vitaly Kuznetsov) [1841490] - [x86] kvm: x86: Fix off-by-one error in kvm_vcpu_ioctl_x86_setup_mce (Vitaly Kuznetsov) [1841490] - [x86] kvm: nvmx: Migrate the VMX-preemption timer (Vitaly Kuznetsov) [1841490] - [x86] kvm: nvmx: Change emulated VMX-preemption timer hrtimer to absolute (Vitaly Kuznetsov) [1841490] - [x86] kvm: nvmx: Really make emulated nested preemption timer pinned (Vitaly Kuznetsov) [1841490] - [x86] kvm: nvmx: Remove unused 'ops' param from nested_vmx_hardware_setup() (Vitaly Kuznetsov) [1841490] - [x86] kvm: svm: Remove unnecessary V_IRQ unsetting (Vitaly Kuznetsov) [1841490] - [x86] kvm: svm: Merge svm_enable_vintr into svm_set_vintr (Vitaly Kuznetsov) [1841490] - [x86] kvm: vmx: Handle preemption timer fastpath (Vitaly Kuznetsov) [1841490] - [x86] kvm: x86: TSCDEADLINE MSR emulation fastpath (Vitaly Kuznetsov) [1841490] - [x86] kvm: x86: introduce kvm_can_use_hv_timer (Vitaly Kuznetsov) [1841490] - [x86] kvm: vmx: Optimize posted-interrupt delivery for timer fastpath (Vitaly Kuznetsov) [1841490] - [x86] kvm: x86: Introduce more exit_fastpath_completion enum values (Vitaly Kuznetsov) [1841490] - [x86] kvm: x86: Introduce kvm_vcpu_exit_request() helper (Vitaly Kuznetsov) [1841490] - [x86] kvm: x86: Print symbolic names of VMX VM-Exit flags in traces (Vitaly Kuznetsov) [1841490] - [x86] kvm: vmx: Introduce generic fastpath handler (Vitaly Kuznetsov) [1841490] - [x86] kvm: nvmx: Drop superfluous VMREAD of vmcs02.GUEST_SYSENTER_* (Vitaly Kuznetsov) [1841490] - [x86] kvm: nvmx: Truncate writes to vmcs.SYSENTER_EIP/ESP for 32-bit vCPU (Vitaly Kuznetsov) [1841490] - [x86] kvm: vmx: Improve handle_external_interrupt_irqoff inline assembly (Vitaly Kuznetsov) [1841490] - [documentation] kvm: documentation: Fix up cpuid page (Vitaly Kuznetsov) [1841490] - [x86] kvm: x86: Sanity check on gfn before removal (Vitaly Kuznetsov) [1841490] - [virt] kvm: No need to retry for hva_to_pfn_remapped() (Vitaly Kuznetsov) [1841490] - [x86] kvm: x86: Force ASYNC_PF_PER_VCPU to be power of two (Vitaly Kuznetsov) [1841490] - [x86] kvm: vmx: Remove unneeded __ASM_SIZE usage with POP instruction (Vitaly Kuznetsov) [1841490] - [x86] kvm: x86/mmu: Add a helper to consolidate root sp allocation (Vitaly Kuznetsov) [1841490] - [x86] kvm: x86/mmu: Drop KVM's hugepage enums in favor of the kernel's enums (Vitaly Kuznetsov) [1841490] - [x86] kvm: x86/mmu: Move max hugepage level to a separate #define (Vitaly Kuznetsov) [1841490] - [x86] kvm: x86/mmu: Tweak PSE hugepage handling to avoid 2M vs 4M conundrum (Vitaly Kuznetsov) [1841490] - [x86] kvm: x86: Cleanup vcpu->arch.guest_xstate_size (Vitaly Kuznetsov) [1841490] - [x86] kvm: nvmx: Tweak handling of failure code for nested VM-Enter failure (Vitaly Kuznetsov) [1841490] - [x86] kvm: x86/mmu: Capture TDP level when updating CPUID (Vitaly Kuznetsov) [1841490] - [x86] kvm: vmx: Move nested EPT out of kvm_x86_ops.get_tdp_level() hook (Vitaly Kuznetsov) [1841490] - [x86] kvm: vmx: Add proper cache tracking for CR0 (Vitaly Kuznetsov) [1841490] - [x86] kvm: vmx: Add proper cache tracking for CR4 (Vitaly Kuznetsov) [1841490] - [x86] kvm: nvmx: Unconditionally validate CR3 during nested transitions (Vitaly Kuznetsov) [1841490] - [x86] kvm: x86: Save L1 TSC offset in 'struct kvm_vcpu_arch' (Vitaly Kuznetsov) [1841490] - [x86] kvm: nvmx: Skip IBPB when temporarily switching between vmcs01 and vmcs02 (Vitaly Kuznetsov) [1841490] - [x86] kvm: nvmx: Skip IBPB when switching between vmcs01 and vmcs02 (Vitaly Kuznetsov) [1841490] - [x86] kvm: vmx: Use accessor to read vmcs.INTR_INFO when handling exception (Vitaly Kuznetsov) [1841490] - [x86] kvm: x86: handle wrap around 32-bit address space (Vitaly Kuznetsov) [1841490] - [x86] kvm: x86: Replace late check_nested_events() hack with more precise fix (Vitaly Kuznetsov) [1841490] - [x86] kvm: vmx: Use vmx_get_rflags() to query RFLAGS in vmx_interrupt_blocked() (Vitaly Kuznetsov) [1841490] - [x86] kvm: vmx: Use vmx_interrupt_blocked() directly from vmx_handle_exit() (Vitaly Kuznetsov) [1841490] - [x86] kvm: x86: WARN on injected+pending exception even in nested case (Vitaly Kuznetsov) [1841490] - [x86] kvm: nsvm: Preserve IRQ/NMI/SMI priority irrespective of exiting behavior (Vitaly Kuznetsov) [1841490] - [x86] kvm: nsvm: Report interrupts as allowed when in L2 and exit-on-interrupt is set (Vitaly Kuznetsov) [1841490] - [x86] kvm: nvmx: Prioritize SMI over nested IRQ/NMI (Vitaly Kuznetsov) [1841490] - [x86] kvm: nvmx: Preserve IRQ/NMI priority irrespective of exiting behavior (Vitaly Kuznetsov) [1841490] - [x86] kvm: svm: Split out architectural interrupt/NMI/SMI blocking checks (Vitaly Kuznetsov) [1841490] - [x86] kvm: vmx: Split out architectural interrupt/NMI blocking checks (Vitaly Kuznetsov) [1841490] - [x86] kvm: nsvm: Move SMI vmexit handling to svm_check_nested_events() (Vitaly Kuznetsov) [1841490] - [x86] kvm: nsvm: Report NMIs as allowed when in L2 and Exit-on-NMI is set (Vitaly Kuznetsov) [1841490] - [x86] kvm: nvmx: Report NMIs as allowed when in L2 and Exit-on-NMI is set (Vitaly Kuznetsov) [1841490] - [x86] kvm: x86: replace is_smm checks with kvm_x86_ops.smi_allowed (Vitaly Kuznetsov) [1841490] - [x86] kvm: x86: Make return for {interrupt_nmi, smi}_allowed() a bool instead of int (Vitaly Kuznetsov) [1841490] - [x86] kvm: x86: Set KVM_REQ_EVENT if run is canceled with req_immediate_exit set (Vitaly Kuznetsov) [1841490] - [x86] kvm: nvmx: Open a window for pending nested VMX preemption timer (Vitaly Kuznetsov) [1841490] - [x86] kvm: nvmx: Preserve exception priority irrespective of exiting behavior (Vitaly Kuznetsov) [1841490] - [x86] kvm: svm: Implement check_nested_events for NMI (Vitaly Kuznetsov) [1841490] - [x86] kvm: svm: immediately inject INTR vmexit (Vitaly Kuznetsov) [1841490] - [x86] kvm: svm: leave halted state on vmexit (Vitaly Kuznetsov) [1841490] - [x86] kvm: svm: introduce nested_run_pending (Vitaly Kuznetsov) [1841490] - [x86] kvm: x86: Fix pkru save/restore when guest CR4.PKE=0, move it to x86.c (Vitaly Kuznetsov) [1841490] - [x86] kvm: svm: Disable AVIC before setting V_IRQ (Vitaly Kuznetsov) [1841490] - [virt] kvm: Introduce kvm_make_all_cpus_request_except() (Vitaly Kuznetsov) [1841490] - [tools] kvm: vmx: pass correct DR6 for GD userspace exit (Vitaly Kuznetsov) [1841490] - [x86] kvm: x86, svm: isolate vcpu->arch.dr6 from vmcb->save.dr6 (Vitaly Kuznetsov) [1841490] - [x86] kvm: svm: keep DR6 synchronized with vcpu->arch.dr6 (Vitaly Kuznetsov) [1841490] - [x86] kvm: nsvm: trap #DB and #BP to userspace if guest debugging is on (Vitaly Kuznetsov) [1841490] - [tools] kvm: selftests: Add KVM_SET_GUEST_DEBUG test (Vitaly Kuznetsov) [1841490] - [x86] kvm: x86: Fix single-step with KVM_SET_GUEST_DEBUG (Vitaly Kuznetsov) [1841490] - [x86] kvm: x86: Set RTM for DB_VECTOR too for KVM_EXIT_DEBUG (Vitaly Kuznetsov) [1841490] - [x86] kvm: x86: fix DR6 delivery for various cases of #DB injection (Vitaly Kuznetsov) [1841490] - [x86] kvm: x86: Declare KVM_CAP_SET_GUEST_DEBUG properly (Vitaly Kuznetsov) [1841490] - [tools] kvm: selftests: Fix build for evmcs.h (Vitaly Kuznetsov) [1841490] - [x86] kvm: x86: Use KVM CPU capabilities to determine CR4 reserved bits (Vitaly Kuznetsov) [1841490] - [x86] kvm: vmx: Explicitly clear RFLAGS.CF and RFLAGS.ZF in VM-Exit RSB path (Vitaly Kuznetsov) [1841490] - [x86] kvm: ioapic: Restrict lazy EOI update to edge-triggered interrupts (Vitaly Kuznetsov) [1841490] - [x86] kvm: x86: Fixes posted interrupt check for IRQs delivery modes (Vitaly Kuznetsov) [1841490] - [x86] kvm: svm: fill in kvm_run->debug.arch.dr[67] (Vitaly Kuznetsov) [1841490] - [x86] kvm: nvmx: Replace a BUG_ON(1) with BUG() to squash clang warning (Vitaly Kuznetsov) [1841490] - [x86] kvm: svm: do not allow VMRUN inside SMM (Vitaly Kuznetsov) [1841490] - [virt] kvm: add capability for halt polling (Vitaly Kuznetsov) [1841490] - [x86] kvm: nvmx: Store vmcs.EXIT_QUALIFICATION as an unsigned long, not u32 (Vitaly Kuznetsov) [1841490] - [x86] kvm: nvmx: Drop a redundant call to vmx_get_intr_info() (Vitaly Kuznetsov) [1841490] - [x86] kvm: x86: move nested-related kvm_x86_ops to a separate struct (Vitaly Kuznetsov) [1841490] - [x86] kvm: evmcs: check if nesting is enabled (Vitaly Kuznetsov) [1841490] - [x86] kvm: x86: check_nested_events is never NULL (Vitaly Kuznetsov) [1841490] - [tools] selftests: kvm/set_memory_region_test: do not check RIP if the guest shuts down (Vitaly Kuznetsov) [1841490] - [x86] kvm: svm: avoid infinite loop on NPF from bad address (Vitaly Kuznetsov) [1841490] - [x86] kvm: Remove redundant argument to kvm_arch_vcpu_ioctl_run (Vitaly Kuznetsov) [1841490] - [x86] kvm: nsvm: Check for CR0.CD and CR0.NW on VMRUN of nested guests (Vitaly Kuznetsov) [1841490] - [x86] kvm: x86: Improve latency for single target IPI fastpath (Vitaly Kuznetsov) [1841490] - [x86] kvm: vmx: Optimize handling of VM-Entry failures in vmx_vcpu_run() (Vitaly Kuznetsov) [1841490] - [x86] kvm: nvmx: Remove non-functional "support" for CR3 target values (Vitaly Kuznetsov) [1841490] - [x86] kvm: x86/mmu: Avoid an extra memslot lookup in try_async_pf() for L2 (Vitaly Kuznetsov) [1841490] - [x86] kvm: x86/mmu: Set @writable to false for non-visible accesses by L2 (Vitaly Kuznetsov) [1841490] - [x86] kvm: vmx: Cache vmcs.EXIT_INTR_INFO using arch avail_reg flags (Vitaly Kuznetsov) [1841490] - [x86] kvm: vmx: Cache vmcs.EXIT_QUALIFICATION using arch avail_reg flags (Vitaly Kuznetsov) [1841490] - [x86] kvm: nvmx: Drop manual clearing of segment cache on nested VMCS switch (Vitaly Kuznetsov) [1841490] - [x86] kvm: nvmx: Reset register cache (available and dirty masks) on VMCS switch (Vitaly Kuznetsov) [1841490] - [x86] kvm: nvmx: Invoke ept_save_pdptrs() if and only if PAE paging is enabled (Vitaly Kuznetsov) [1841490] - [x86] kvm: nvmx: Rename exit_reason to vm_exit_reason for nested VM-Exit (Vitaly Kuznetsov) [1841490] - [x86] kvm: nvmx: Cast exit_reason to u16 to check for nested EXTERNAL_INTERRUPT (Vitaly Kuznetsov) [1841490] - [x86] kvm: nvmx: Pull exit_reason from vcpu_vmx in nested_vmx_reflect_vmexit() (Vitaly Kuznetsov) [1841490] - [x86] kvm: nvmx: Drop a superfluous WARN on reflecting EXTERNAL_INTERRUPT (Vitaly Kuznetsov) [1841490] - [x86] kvm: nvmx: Split VM-Exit reflection logic into L0 vs. L1 wants (Vitaly Kuznetsov) [1841490] - [x86] kvm: nvmx: match comment with return type for nested_vmx_exit_reflected (Vitaly Kuznetsov) [1841490] - [x86] kvm: nvmx: Move nested VM-Exit tracepoint into nested_vmx_reflect_vmexit() (Vitaly Kuznetsov) [1841490] - [x86] kvm: nvmx: Move VM-Fail check out of nested_vmx_exit_reflected() (Vitaly Kuznetsov) [1841490] - [x86] kvm: nvmx: Uninline nested_vmx_reflect_vmexit(), i.e. move it to nested.c (Vitaly Kuznetsov) [1841490] - [x86] kvm: nvmx: Move reflection check into nested_vmx_reflect_vmexit() (Vitaly Kuznetsov) [1841490] - [x86] kvm: svm: Use do_machine_check to pass MCE to the host (Vitaly Kuznetsov) [1841490] - [x86] kvm: vmx: Clean cr3/pgd handling in vmx_load_mmu_pgd() (Vitaly Kuznetsov) [1841490] - [x86] kvm: x86: Replace "cr3" with "pgd" in "new cr3/pgd" related code (Vitaly Kuznetsov) [1841490] - [x86] kvm: nvmx: Free only the affected contexts when emulating INVEPT (Vitaly Kuznetsov) [1841490] - [x86] kvm: nvmx: Don't flush TLB on nested VMX transition (Vitaly Kuznetsov) [1841490] - [x86] kvm: nvmx: Skip MMU sync on nested VMX transition when possible (Vitaly Kuznetsov) [1841490] - [x86] kvm: x86/mmu: Add module param to force TLB flush on root reuse (Vitaly Kuznetsov) [1841490] - [x86] kvm: x86/mmu: Add separate override for MMU sync during fast CR3 switch (Vitaly Kuznetsov) [1841490] - [x86] kvm: x86/mmu: Move fast_cr3_switch() side effects to __kvm_mmu_new_cr3() (Vitaly Kuznetsov) [1841490] - [x86] kvm: vmx: Don't reload APIC access page if its control is disabled (Vitaly Kuznetsov) [1841490] - [x86] kvm: vmx: Retrieve APIC access page HPA only when necessary (Vitaly Kuznetsov) [1841490] - [x86] kvm: nvmx: Reload APIC access page on nested VM-Exit only if necessary (Vitaly Kuznetsov) [1841490] - [x86] kvm: nvmx: Selectively use TLB_FLUSH_CURRENT for nested VM-Enter/VM-Exit (Vitaly Kuznetsov) [1841490] - [x86] kvm: x86/mmu: Use KVM_REQ_TLB_FLUSH_CURRENT for MMU specific flushes (Vitaly Kuznetsov) [1841490] - [x86] kvm: x86: Introduce KVM_REQ_TLB_FLUSH_CURRENT to flush current ASID (Vitaly Kuznetsov) [1841490] - [x86] kvm: nvmx: Add helper to handle TLB flushes on nested VM-Enter/VM-Exit (Vitaly Kuznetsov) [1841490] - [x86] kvm: x86: Rename ->tlb_flush() to ->tlb_flush_all() (Vitaly Kuznetsov) [1841490] - [x86] kvm: svm: Document the ASID logic in svm_flush_tlb() (Vitaly Kuznetsov) [1841490] - [x86] kvm: vmx: Introduce vmx_flush_tlb_current() (Vitaly Kuznetsov) [1841490] - [x86] kvm: nvmx: Move nested_get_vpid02() to vmx/nested.h (Vitaly Kuznetsov) [1841490] - [x86] kvm: vmx: Move vmx_flush_tlb() to vmx.c (Vitaly Kuznetsov) [1841490] - [x86] kvm: svm: Wire up ->tlb_flush_guest() directly to svm_flush_tlb() (Vitaly Kuznetsov) [1841490] - [x86] kvm: x86: Drop @invalidate_gpa param from kvm_x86_ops' tlb_flush() (Vitaly Kuznetsov) [1841490] - [x86] kvm: vmx: Clean up vmx_flush_tlb_gva() (Vitaly Kuznetsov) [1841490] - [x86] kvm: x86: make Hyper-V PV TLB flush use tlb_flush_guest() (Vitaly Kuznetsov) [1841490] - [x86] kvm: x86: Move "flush guest's TLB" logic to separate kvm_x86_ops hook (Vitaly Kuznetsov) [1841490] - [x86] kvm: nvmx: Use vpid_sync_vcpu_addr() to emulate INVVPID with address (Vitaly Kuznetsov) [1841490] - [x86] kvm: vmx: Drop redundant capability checks in low level INVVPID helpers (Vitaly Kuznetsov) [1841490] - [x86] kvm: vmx: Handle INVVPID fallback logic in vpid_sync_vcpu_addr() (Vitaly Kuznetsov) [1841490] - [x86] kvm: vmx: Move vpid_sync_vcpu_addr() down a few lines (Vitaly Kuznetsov) [1841490] - [x86] kvm: vmx: Use vpid_sync_context() directly when possible (Vitaly Kuznetsov) [1841490] - [x86] kvm: vmx: Skip global INVVPID fallback if vpid==0 in vpid_sync_context() (Vitaly Kuznetsov) [1841490] - [x86] kvm: x86: Sync SPTEs when injecting page/EPT fault into L1 (Vitaly Kuznetsov) [1841490] - [x86] kvm: x86: cleanup kvm_inject_emulated_page_fault (Vitaly Kuznetsov) [1841490] - [x86] kvm: x86: introduce kvm_mmu_invalidate_gva (Vitaly Kuznetsov) [1841490] - [x86] kvm: Disable objtool frame pointer checking for vmenter.S (Vitaly Kuznetsov) [1841490] - [x86] kvm: Remove CREATE_IRQCHIP/SET_PIT2 race (Vitaly Kuznetsov) [1841490] - [x86] kvm: x86: Export kvm_propagate_fault() (as kvm_inject_emulated_page_fault) (Vitaly Kuznetsov) [1841490] - [x86] kvm: nvmx: Invalidate all roots when emulating INVVPID without EPT (Vitaly Kuznetsov) [1841490] - [x86] kvm: nvmx: Invalidate all EPTP contexts when emulating INVEPT for L1 (Vitaly Kuznetsov) [1841490] - [x86] kvm: nvmx: Validate the EPTP when emulating INVEPT(EXTENT_CONTEXT) (Vitaly Kuznetsov) [1841490] - [x86] kvm: vmx: Flush all EPTP/VPID contexts on remote TLB flush (Vitaly Kuznetsov) [1841490] - [tools] selftests: kvm: Add testcase for creating max number of memslots (Vitaly Kuznetsov) [1841490] - [tools] kvm: selftests: Make set_memory_region_test common to all architectures (Vitaly Kuznetsov) [1841490] - [tools] kvm: selftests: Add "zero" testcase to set_memory_region_test (Vitaly Kuznetsov) [1841490] - [tools] selftests: kvm: Add vm_get_fd() in kvm_util (Vitaly Kuznetsov) [1841490] - [tools] kvm: selftests: Add "delete" testcase to set_memory_region_test (Vitaly Kuznetsov) [1841490] - [tools] kvm: sefltests: Add explicit synchronization to move mem region test (Vitaly Kuznetsov) [1841490] - [tools] kvm: selftests: Add GUEST_ASSERT variants to pass values to host (Vitaly Kuznetsov) [1841490] - [tools] kvm: selftests: Add util to delete memory region (Vitaly Kuznetsov) [1841490] - [tools] kvm: selftests: Use kernel's list instead of homebrewed replacement (Vitaly Kuznetsov) [1841490] - [tools] kvm: selftests: Take vcpu pointer instead of id in vm_vcpu_rm() (Vitaly Kuznetsov) [1841490] - [x86] kvm: pass through CPUID(0x80000006) (Vitaly Kuznetsov) [1841490] - [x86] kvm: x86: Return updated timer current count register from KVM_GET_LAPIC (Vitaly Kuznetsov) [1841490] - [virt] kvm: remove redundant assignment to variable r (Vitaly Kuznetsov) [1841490] - [x86] kvm: svm: Fix __svm_vcpu_run declaration (Vitaly Kuznetsov) [1841490] - [x86] kvm: svm: Do not setup frame pointer in __svm_vcpu_run (Vitaly Kuznetsov) [1841490] - [x86] kvm: svm: Do not mark svm_vcpu_run with STACK_FRAME_NON_STANDARD (Vitaly Kuznetsov) [1841490] - [x86] kvm: nvmx: reflect MTF VM-exits if injected by L1 (Vitaly Kuznetsov) [1841490] - [kernel] kvm: Check validity of resolved slot when searching memslots (Vitaly Kuznetsov) [1841490] - [x86] kvm: vmx: Enable machine check support for 32bit targets (Vitaly Kuznetsov) [1841490] - [x86] kvm: svm: move more vmentry code to assembly (Vitaly Kuznetsov) [1841490] - [x86] kvm: svm: fix compilation with modular PSP and non-modular KVM (Vitaly Kuznetsov) [1841490] - [x86] Increase KVM_MAX_VCPUS to 1024, KVM_MAX_VCPU_ID to 2048 (Eduardo Habkost) [1810811] - [scsi] scsi: core: avoid host-wide host_busy counter for scsi_mq (Ewan Milne) [1761928] - [gpio] gpio: xgene-sb: set valid IRQ type in to_irq() (Brian Masney) [1802402] - [block] rbd: compression_hint option (Ilya Dryomov) [1835925] - [include] libceph: support for alloc hint flags (Ilya Dryomov) [1835925] - [net] libceph: read_from_replica option (Ilya Dryomov) [1835925] - [net] libceph: support for balanced and localized reads (Ilya Dryomov) [1835925] - [net] libceph: crush_location infrastructure (Ilya Dryomov) [1835925] - [net] libceph: decode CRUSH device/bucket types and names (Ilya Dryomov) [1835925] - [net] libceph: add non-asserting rbtree insertion helper (Ilya Dryomov) [1835925] - [pci] PCI: pciehp: Fix MSI interrupt race (Myron Stowe) [1779610] - [security] ima: Remove __init annotation from ima_pcrread() (Bruno Meneguele) [1843774] - [security] ima: Call ima_calc_boot_aggregate() in ima_eventdigest_init() (Bruno Meneguele) [1843774] - [security] ima: Directly assign the ima_default_policy pointer to ima_rules (Bruno Meneguele) [1843774] - [documentation] powerpc/fadump: sysfs for fadump memory reservation (Diego Domingos) [1804202] - [documentation] Documentation/ABI: Mark /sys/kernel/fadump_* sysfs files deprecated (Diego Domingos) [1804202] - [documentation] powerpc/powernv: Move core and fadump_release_opalcore under new kobject (Diego Domingos) [1804202] - [powerpc] powerpc/fadump: Reorganize /sys/kernel/fadump_* sysfs files (Diego Domingos) [1804202] - [fs] sysfs: wrap __compat_only_sysfs_link_entry_to_kobj function to change the symlink name (Diego Domingos) [1804202] - [documentation] Documentation/ABI: Add ABI documentation for /sys/kernel/fadump_* (Diego Domingos) [1804202] - [hwtracing] intel_th: pci: Add Tiger Lake CPU support (Jiri Olsa) [1483079] - [netdrv] e1000e: fix S0ix flows for cable connected case (Ken Cox) [1781385] - [netdrv] e1000e: reject unsupported coalescing params (Ken Cox) [1781385] - [netdrv] e1000e: Add support for Tiger Lake device (Ken Cox) [1781385] - [netdrv] e1000e: Add support for Alder Lake (Ken Cox) [1781385] - [netdrv] net: intel: e1000e: fix possible sleep-in-atomic-context bugs in e1000e_get_hw_semaphore() (Ken Cox) [1781385] - [netdrv] e1000e: fix missing cpu_to_le64 on buffer_addr (Ken Cox) [1781385] - [netdrv] e1000(e): use new helper tcp_v6_gso_csum_prep (Ken Cox) [1781385] - [netdrv] e1000e: Revert "e1000e: Make watchdog use delayed work" (Ken Cox) [1781385] - [netdrv] e1000e: Use netdev_info instead of pr_info for link messages (Ken Cox) [1781385] - [netdrv] net: ethernet: intel: Demote MTU change prints to debug (Ken Cox) [1781385] - [netdrv] e1000e: Fix compiler warning when CONFIG_PM_SLEEP is not set (Ken Cox) [1781385] - [netdrv] net: ixgbevf: reject unsupported coalescing params (Ken Cox) [1781379] - [netdrv] ixgbevf: Remove limit of 10 entries for unicast filter list (Ken Cox) [1781379] - [netdrv] net: ixgbe: reject unsupported coalescing params (Ken Cox) [1781378] - [netdrv] ixgbe: Use pci_get_dsn() (Ken Cox) [1781378] - [netdrv] intel: Replace zero-length array with flexible-array member (Ken Cox) [1781378] - [netdrv] ixgbe: Fix calculation of queue with VFs and flow director on interface flap (Ken Cox) [1781378] - [netdrv] net: ethernet: intel: Demote MTU change prints to debug (Ken Cox) [1781378] - [netdrv] ixgbe: protect TX timestamping from API misuse (Ken Cox) [1781378] - [netdrv] ixgbe: Make use of cpumask_local_spread to improve RSS locality (Ken Cox) [1781378] - [netdrv] ixgbe: Remove duplicate clear_bit() call (Ken Cox) [1781378] - [netdrv] ixgbe: Add UDP segmentation offload support (Ken Cox) [1781378] - [x86] x86/resctrl: Fix invalid attempt at removing the default resource group (Alexander Beregalov) [1830948] - [x86] x86/resctrl: Clean up unused function parameter in mkdir path (Alexander Beregalov) [1830948] - [x86] x86/resctrl: Fix a deadlock due to inaccurate reference (Alexander Beregalov) [1830948] - [x86] x86/resctrl: Fix use-after-free due to inaccurate refcount of rdtgroup (Alexander Beregalov) [1830948] - [x86] x86/resctrl: Fix use-after-free when deleting resource groups (Alexander Beregalov) [1830948] - [x86] x86/resctrl: Add task resctrl information display (Alexander Beregalov) [1830948] - [x86] x86/resctrl: Check monitoring static key in the MBM overflow handler (Alexander Beregalov) [1830948] - [x86] x86/resctrl: Do not reconfigure exiting tasks (Alexander Beregalov) [1830948] - [x86] x86/resctrl: Fix potential memory leak (Alexander Beregalov) [1830948] - [x86] x86/resctrl: Fix an imbalance in domain_remove_cpu() (Alexander Beregalov) [1830948] - [x86] x86/resctrl: Fix potential lockdep warning (Alexander Beregalov) [1830948] - [x86] x86/resctrl: Prevent NULL pointer dereference when reading mondata (Alexander Beregalov) [1830948] - [x86] x86/resctrl: Cleanup cbm_ensure_valid() (Alexander Beregalov) [1830948] - [x86] x86/resctrl: Prevent possible overrun during bitmap operations (Alexander Beregalov) [1830948] - [x86] x86/resctrl: Don't stop walking closids when a locksetup group is found (Alexander Beregalov) [1830948] - [x86] x86/resctrl: Use _ASM_BX to avoid ifdeffery (Alexander Beregalov) [1830948] - [x86] x86/resctrl: Remove unused variable (Alexander Beregalov) [1830948] - [x86] x86/resctrl: Remove duplicate MSR_MISC_FEATURE_CONTROL definition (Alexander Beregalov) [1830948] - [x86] x86/resctrl: Avoid confusion over the new X86_RESCTRL config (Alexander Beregalov) [1830948] - [x86] x86/cache: Rename config option to CONFIG_X86_RESCTRL (Alexander Beregalov) [1830948] - [tools] perf flamegraph: Use /bin/bash for report and record scripts (Michael Petlan) [1281843] - [tools] perf script: Add flamegraph.py script (Michael Petlan) [1281843] - [tools] perf script: Avoid NULL dereference on symbol (Michael Petlan) [1841130] - [tools] tools/build: tweak unused value workaround (Michael Petlan) [1841130] - [tools] perf stat: Fix no metric header if --per-socket and --metric-only set (Michael Petlan) [1841130] - [tools] perf python: Check if clang supports -fno-semantic-interposition (Michael Petlan) [1841130] - [tools] perf tools: Support Python 3.8+ in Makefile (Michael Petlan) [1841130] - [tools] perf script: Fix invalid read of directory entry after closedir() (Michael Petlan) [1841130] - [tools] perf script report: Fix SEGFAULT when using DWARF mode (Michael Petlan) [1841130] - [tools] perf script: add -S/--symbols documentation (Michael Petlan) [1841130] - [tools] perf pmu-events x86: Use CPU_CLK_UNHALTED.THREAD in Kernel_Utilization metric (Michael Petlan) [1841130] - [tools] perf events parser: Add missing Intel CPU events to parser (Michael Petlan) [1841130] - [tools] perf script: Allow --symbol to accept hexadecimal addresses (Michael Petlan) [1841130] - [tools] perf top: Support hotkey to change sort order (Michael Petlan) [1841130] - [tools] perf top: Support --group-sort-idx to change the sort order (Michael Petlan) [1841130] - [tools] perf symbols: Fix arm64 gap between kernel start and module end (Michael Petlan) [1841130] - [tools] perf build-test: Honour JOBS to override detection of number of cores (Michael Petlan) [1841130] - [tools] perf script: Add --show-cgroup-events option (Michael Petlan) [1841130] - [tools] perf top: Add --all-cgroups option (Michael Petlan) [1841130] - [tools] perf record: Add --all-cgroups option (Michael Petlan) [1841130] - [tools] perf record: Support synthesizing cgroup events (Michael Petlan) [1841130] - [tools] perf report: Add 'cgroup' sort key (Michael Petlan) [1841130] - [tools] perf cgroup: Maintain cgroup hierarchy (Michael Petlan) [1841130] - [tools] perf tools: Basic support for CGROUP event (Michael Petlan) [1841130] - [tools] perf tools: Add file-handle feature test (Michael Petlan) [1841130] - [tools] perf python: Include rwsem.c in the pythong biding (Michael Petlan) [1841130] - [tools] tools headers UAPI: Update tools's copy of linux/perf_event.h (Michael Petlan) [1841130] - [tools] perf script: Introduce --deltatime option (Michael Petlan) [1841130] - [tools] perf: Normalize gcc parameter when generating arch errno table (Michael Petlan) [1841130] - [tools] perf parse-events: Add defensive NULL check (Michael Petlan) [1841130] - [tools] perf callchain: Update docs regarding kernel/user space unwinding (Michael Petlan) [1841130] - [tools] perf cpumap: Fix snprintf overflow check (Michael Petlan) [1841130] - [tools] perf test: Test pmu-events aliases (Michael Petlan) [1841130] - [tools] perf pmu: Make pmu_uncore_alias_match() public (Michael Petlan) [1841130] - [tools] perf pmu: Add is_pmu_core() (Michael Petlan) [1841130] - [tools] perf test: Add pmu-events test (Michael Petlan) [1841130] - [tools] perf pmu: Refactor pmu_add_cpu_aliases() (Michael Petlan) [1841130] - [tools] perf jevents: Support test events folder (Michael Petlan) [1841130] - [tools] perf jevents: Add some test events (Michael Petlan) [1841130] - [tools] perf tools: Unify a bit the build directory output (Michael Petlan) [1841130] - [tools] perf metricgroup: Fix printing event names of metric group with multiple events incase of overlapping events (Michael Petlan) [1841130] - [tools] perf stat: Align the output for interval aggregation mode (Michael Petlan) [1841130] - [tools] perf report/top TUI: Support hotkeys to let user select any event for sorting (Michael Petlan) [1841130] - [tools] perf report: Support a new key to reload the browser (Michael Petlan) [1841130] - [tools] perf report: Allow specifying event to be used as sort key in --group output (Michael Petlan) [1841130] - [tools] perf report/top TUI: Support hotkey 'a' for annotation of unresolved addresses (Michael Petlan) [1841130] - [tools] perf report: Support interactive annotation of code without symbols (Michael Petlan) [1841130] - [tools] perf report: Print al_addr when symbol is not found (Michael Petlan) [1841130] - [tools] perf symbols: Consolidate symbol fixup issue (Michael Petlan) [1841130] - [tools] perf parse-events: Fix 3 use after frees found with clang ASAN (Michael Petlan) [1841130] - [tools] perf/tests: Add CET instructions to the new instructions test (Michael Petlan) [1841130] - [tools] perf expr: Fix copy/paste mistake (Michael Petlan) [1841130] - [tools] perf report: Fix no branch type statistics report issue (Michael Petlan) [1841130] - [tools] perf tools: Give synthetic mmap events an inode generation (Michael Petlan) [1841130] - [tools] perf test: Print if shell directory isn't present (Michael Petlan) [1841130] - [tools] perf record: Fix binding of AIO user space buffers to nodes (Michael Petlan) [1841130] - [tools] perf intel-pt: Update intel-pt.txt file with new location of the documentation (Michael Petlan) [1841130] - [tools] perf intel-pt: Add Intel PT man page references (Michael Petlan) [1841130] - [tools] perf intel-pt: Rename intel-pt.txt and put it in man page format (Michael Petlan) [1841130] - [tools] perf doc: Set man page date to last git commit (Michael Petlan) [1841130] - [tools] perf cs-etm: Fix unsigned variable comparison to zero (Michael Petlan) [1841130] - [tools] perf cs-etm: Optimize copying last branches (Michael Petlan) [1841130] - [tools] perf cs-etm: Correct synthesizing instruction samples (Michael Petlan) [1841130] - [tools] perf cs-etm: Continuously record last branch (Michael Petlan) [1841130] - [tools] perf cs-etm: Swap packets for instruction samples (Michael Petlan) [1841130] - [tools] perf map: Use strstarts() to look for Android libraries (Michael Petlan) [1841130] - [tools] perf vendor events intel: Add NO_NMI_WATCHDOG metric constraint (Michael Petlan) [1841130] - [tools] perf metricgroup: Support metric constraint (Michael Petlan) [1841130] - [tools] perf util: Factor out sysctl__nmi_watchdog_enabled() (Michael Petlan) [1841130] - [tools] perf metricgroup: Factor out metricgroup__add_metric_weak_group() (Michael Petlan) [1841130] - [tools] perf jevents: Support metric constraint (Michael Petlan) [1841130] - [tools] perf block-info: Support color ops to print block percents in color (Michael Petlan) [1841130] - [tools] perf block-info: Allow selecting which columns to report and its order (Michael Petlan) [1841130] - [tools] perf diff: Use __block_info__cmp() to replace block_pair_cmp() (Michael Petlan) [1841130] - [tools] perf expr: Make expr__parse() return -1 on error (Michael Petlan) [1841130] - [tools] perf expr: Straighten expr__parse()/expr__find_other() interface (Michael Petlan) [1841130] - [tools] perf expr: Increase EXPR_MAX_OTHER to support metrics with more than 15 variables (Michael Petlan) [1841130] - [tools] perf expr: Move expr lexer to flex (Michael Petlan) [1841130] - [tools] perf expr: Add expr.c object (Michael Petlan) [1841130] - [tools] perf header: Add check for unexpected use of reserved membrs in event attr (Michael Petlan) [1841130] - [tools] perf evsel: Support PERF_SAMPLE_BRANCH_HW_INDEX (Michael Petlan) [1841130] - [tools] perf tools: Add hw_idx in struct branch_stack (Michael Petlan) [1841130] - [tools] tools headers UAPI: Update tools's copy of linux/perf_event.h (Michael Petlan) [1841130] - [tools] tools lib traceevent: Remove extra '\n' in print_event_time() (Michael Petlan) [1841130] - [tools] perf annotate: Get rid of annotation->nr_jumps (Michael Petlan) [1841130] - [tools] perf llvm: Add debug hint message about missing kernel-devel package (Michael Petlan) [1841130] - [tools] perf stat: Show percore counts in per CPU output (Michael Petlan) [1841130] - [tools] tools lib api fs: Move cgroupsfs_find_mountpoint() (Michael Petlan) [1841130] - [kernel] perf/core: fix parent pid/tid in task exit events (Michael Petlan) [1841130] - [x86] perf/x86/cstate: Add Jasper Lake CPU support (Michael Petlan) [1841130] - [kernel] perf/core: Disable page faults when getting phys address (Michael Petlan) [1841130] - [x86] perf/x86/intel/uncore: Add Ice Lake server uncore support (Michael Petlan) [1841130] - [kernel] perf/cgroup: Correct indirection in perf_less_group_idx() (Michael Petlan) [1841130] - [kernel] perf/core: Fix event cgroup tracking (Michael Petlan) [1841130] - [init] perf/core: Add PERF_SAMPLE_CGROUP feature (Michael Petlan) [1841130] - [kernel] perf/core: Add PERF_RECORD_CGROUP event (Michael Petlan) [1841130] - [x86] x86 user stack frame reads: switch to explicit __get_user() (Michael Petlan) [1841130] - [x86] perf/x86/intel/uncore: Factor out __snr_uncore_mmio_init_box (Michael Petlan) [1841130] - [x86] perf/x86/intel/uncore: Add box_offsets for free-running counters (Michael Petlan) [1841130] - [kernel] perf/core: Fix reversed NULL check in perf_event_groups_less() (Michael Petlan) [1841130] - [kernel] perf/core: Fix endless multiplex timer (Michael Petlan) [1841130] - [kernel] perf/cgroup: Order events in RB tree by cgroup id (Michael Petlan) [1841130] - [kernel] perf/cgroup: Grow per perf_cpu_context heap storage (Michael Petlan) [1841130] - [kernel] perf/core: Add per perf_cpu_context min_heap storage (Michael Petlan) [1841130] - [kernel] perf/core: Use min_heap in visit_groups_merge() (Michael Petlan) [1841130] - [lib] lib: Introduce generic min-heap (Michael Petlan) [1841130] - [kernel] perf/cgroup: Reorder perf_cgroup_connect() (Michael Petlan) [1841130] - [kernel] perf/core: Remove 'struct sched_in_data' (Michael Petlan) [1841130] - [kernel] perf/core: Unify {pinned, flexible}_sched_in() (Michael Petlan) [1841130] - [x86] perf/x86: Add Intel Tiger Lake uncore support (Michael Petlan) [1841130] - [x86] perf/x86/intel: Output LBR TOS information correctly (Michael Petlan) [1841130] - [powerpc] perf/core: Add new branch sample type for HW index of raw branch records (Michael Petlan) [1841130] - [x86] perf/x86/intel: Avoid unnecessary PEBS_ENABLE MSR access in PMI (Michael Petlan) [1841130] - [x86] x86/cpu: Add Jasper Lake to Intel family (Michael Petlan) [1841130] - [fs] pstore/ram: Run without kernel crash dump region (Desnes Augusto Nunes do Rosario) [1824906] - [fs] pstore/ram: Avoid NULL deref in ftrace merging failure path (Desnes Augusto Nunes do Rosario) [1824906] - [fs] pstore: Convert buf_lock to semaphore (Desnes Augusto Nunes do Rosario) [1824906] - [fs] pstore/ram: Correctly calculate usable PRZ bytes (Desnes Augusto Nunes do Rosario) [1824906] - [drm] memremap: add an owner field to struct dev_pagemap (Don Dutile) [1816441] - [mm] mm: devmap: refactor 1-based refcounting for ZONE_DEVICE pages (Don Dutile) [1816441] - [mm] mm/swap: fix release_pages() when releasing devmap pages (Don Dutile) [1816441] - [mm] mm: revert remove MEMORY_DEVICE_PUBLIC support in swap.c (Don Dutile) [1816441] - [nvdimm] mm: Cleanup __put_devmap_managed_page() vs ->page_free() (Don Dutile) [1816441] - [documentation] hv_netvsc: Update document for XDP support (Mohammed Gamal) [1815497] - [netdrv] hv_netvsc: Fix XDP refcnt for synthetic and VF NICs (Mohammed Gamal) [1815497] - [netdrv] hv_netvsc: Add XDP support (Mohammed Gamal) [1815497] - [powerpc] kvm: ppc: book3s hv: Remove user-triggerable WARN_ON (Laurent Vivier) [1784050] - [powerpc] kvm: ppc: book3s hv: Close race with page faults around memslot flushes (Laurent Vivier) [1784050] - [powerpc] pseries/svm: Allow IOMMU to work in SVM (Michael Roth) [1730194] - [powerpc] pseries/iommu: Separate FW_FEATURE_MULTITCE to put/stuff features (Michael Roth) [1730194] - [powerpc] pseries: Allow not having ibm, hypertas-functions::hcall-multi-tce for DDW (Michael Roth) [1730194] - [powerpc] revert "powerpc/pseries/iommu: Don't use dma_iommu_ops on secure guests" (Michael Roth) [1730194] - [powerpc] ultravisor: Add PPC_UV config option (Michael Roth) [1730194] - [mm] ksm: Export ksm_madvise() (Michael Roth) [1730194] - [powerpc] configs: Enable secure guest support in pseries and ppc64 defconfigs (Michael Roth) [1730194] - [powerpc] prom_init: Undo relocation before entering secure mode (Michael Roth) [1730194] - [powerpc] pseries/svm: Force SWIOTLB for secure guests (Michael Roth) [1730194] - [powerpc] pseries/iommu: Don't use dma_iommu_ops on secure guests (Michael Roth) [1730194] - [powerpc] pseries/svm: Disable doorbells in SVM guests (Michael Roth) [1730194] - [powerpc] pseries/svm: Export guest SVM status to user space via sysfs (Michael Roth) [1730194] - [powerpc] pseries/svm: Use shared memory for Debug Trace Log (DTL) (Michael Roth) [1730194] - [powerpc] prom_init: Pass the "os-term" message to hypervisor (Michael Roth) [1730194] - [powerpc] Add support for adding an ESM blob to the zImage wrapper (Michael Roth) [1730194] - [powerpc] pseries: Introduce option to build secure virtual machines (Michael Roth) [1730194] - [s390] mm: Remove sev_active() function (Michael Roth) [1730194] - [kernel] fs/core/vmcore: Move sev_active() reference to x86 arch code (Michael Roth) [1730194] - [kernel] x86, s390/mm: Move sme_active() and sme_me_mask to x86-specific header (Michael Roth) [1730194] - [kernel] dma-mapping: Remove dma_check_mask() (Michael Roth) [1730194] - [kernel] swiotlb: Remove call to sme_active() (Michael Roth) [1730194] - [x86] s390: Move ARCH_HAS_MEM_ENCRYPT definition to arch/Kconfig (Michael Roth) [1730194] - [powerpc] xmon: don't access ASDR in VMs (Michael Roth) [1730194] - [powerpc] xmon: Fix compile error in print_insn* functions (Michael Roth) [1730194] - [mm] memremap: provide a not device managed memremap_pages (Michael Roth) [1730194] - [mm] memremap: don't use a separate devm action for devmap_managed_enable_get (Michael Roth) [1730194] - [mm] memremap: remove the dev field in struct dev_pagemap (Michael Roth) [1730194] - [kernel] resource: add a not device managed request_free_mem_region variant (Michael Roth) [1730194] - [mm] turn migrate_vma upside down (Michael Roth) [1730194] - [kernel] mm: simplify ZONE_DEVICE page private data (Michael Roth) [1730194] - [kernel] mm: remove hmm_devmem_add (Michael Roth) [1730194] - [mm] remove hmm_vma_alloc_locked_page (Michael Roth) [1730194] - [dax] device-dax: use the dev_pagemap internal refcount (Michael Roth) [1730194] - [mm] export alloc_pages_vma (Michael Roth) [1730194] - [netdrv] net/mlx5: Kconfig: Fix spelling typo (Alaa Hleihel) [1843359] - [netdrv] net/mlx5e: Introduce kconfig var for TC support (Alaa Hleihel) [1843359] - [netdrv] net/mlx5e: Move TC-specific code from en_main.c to en_tc.c (Alaa Hleihel) [1843359] - [netdrv] net/mlx5e: Extract neigh-specific code from en_rep.c to rep/neigh.c (Alaa Hleihel) [1843359] - [netdrv] net/mlx5e: Extract TC-specific code from en_rep.c to rep/tc.c (Alaa Hleihel) [1843359] - [infiniband] net/mlx5: Refactor imm_inval_pkey field in cqe struct (Alaa Hleihel) [1843359] - [netdrv] net/mlx5e: Take DCBNL-related definitions into dedicated files (Alaa Hleihel) [1843359] - [netdrv] net/mlx5: E-Switch: Move eswitch chains to a new directory (Alaa Hleihel) [1843359] - [netdrv] net/mlx5e: remove duplicated check chain_index in mlx5e_rep_setup_ft_cb (Alaa Hleihel) [1843359] - [netdrv] net/mlx5e: add mlx5e_rep_indr_setup_ft_cb support (Alaa Hleihel) [1843359] - [netdrv] net/mlx5e: refactor indr setup block (Alaa Hleihel) [1843359] - [infiniband] IB/mlx5: Fix DEVX support for MLX5_CMD_OP_INIT2INIT_QP command (Alaa Hleihel) [1842258] - [netdrv] net/mlx5e: Remove warning "devices are not on same switch HW" (Alaa Hleihel) [1842258] - [infiniband] RDMA/mlx5: Add init2init as a modify command (Alaa Hleihel) [1842258] - [netdrv] net/mlx5e: replace EINVAL in mlx5e_flower_parse_meta() (Alaa Hleihel) [1842258] - [netdrv] net/mlx5e: Fix MLX5_TC_CT dependencies (Alaa Hleihel) [1842258] - [netdrv] net/mlx5e: Properly set default values when disabling adaptive moderation (Alaa Hleihel) [1842258] - [netdrv] net/mlx5e: Fix stats update for matchall classifier (Alaa Hleihel) [1842258] - [netdrv] net: sched: expose HW stats types per action used by drivers (Alaa Hleihel) [1842258] - [netdrv] net/mlx5e: en_tc: Fix cast to restricted __be32 warning (Alaa Hleihel) [1842258] - [netdrv] net/mlx5e: en_tc: Fix incorrect type in initializer warnings (Alaa Hleihel) [1842258] - [netdrv] net/mlx5e: Allow partial data mask for tunnel options (Alaa Hleihel) [1842258] - [include] net/mlx5: IPSec: Fix incorrect type for spi (Alaa Hleihel) [1842258] - [netdrv] net/mlx5: Accel: fpga tls fix cast to __be64 and incorrect argument types (Alaa Hleihel) [1842258] - [netdrv] net/mlx5: cmd: Fix memset with byte count warning (Alaa Hleihel) [1842258] - [netdrv] net/mlx5: DR: Fix incorrect type in return expression (Alaa Hleihel) [1842258] - [netdrv] net/mlx5: DR: Fix cast to restricted __be32 (Alaa Hleihel) [1842258] - [netdrv] net/mlx5: DR: Fix incorrect type in argument (Alaa Hleihel) [1842258] - [netdrv] net/mlx5e: IPoIB, Drop multicast packets that this interface sent (Alaa Hleihel) [1842258] - [netdrv] net/mlx5e: IPoIB, Enable loopback packets for IPoIB interfaces (Alaa Hleihel) [1842258] - [netdrv] net/mlx5: Fix error flow in case of function_setup failure (Alaa Hleihel) [1842258] - [netdrv] net/mlx5e: CT: Correctly get flow rule (Alaa Hleihel) [1842258 1840408] - [netdrv] net/mlx5e: Update netdev txq on completions during closure (Alaa Hleihel) [1842258] - [netdrv] net/mlx5: Annotate mutex destroy for root ns (Alaa Hleihel) [1842258 1840408] - [netdrv] net/mlx5: Don't maintain a case of del_sw_func being null (Alaa Hleihel) [1842258 1840408] - [netdrv] net/mlx5: Fix cleaning unmanaged flow tables (Alaa Hleihel) [1842258 1840408] - [netdrv] net/mlx5: Fix memory leak in mlx5_events_init (Alaa Hleihel) [1842258] - [netdrv] net/mlx5e: Fix inner tirs handling (Alaa Hleihel) [1842258] - [netdrv] net/mlx5e: kTLS, Destroy key object after destroying the TIS (Alaa Hleihel) [1842258] - [netdrv] net/mlx5e: Fix allowed tc redirect merged eswitch offload cases (Alaa Hleihel) [1842258] - [netdrv] net/mlx5: Avoid processing commands before cmdif is ready (Alaa Hleihel) [1842258] - [netdrv] net/mlx5: Fix a race when moving command interface to events mode (Alaa Hleihel) [1842258] - [netdrv] net/mlx5: Add command entry handling completion (Alaa Hleihel) [1842258] - [infiniband] RDMA/mlx5: Fix NULL pointer dereference in destroy_prefetch_work (Alaa Hleihel) [1842258] - [netdrv] net/mlx5: Fix crash upon suspend/resume (Alaa Hleihel) [1842258 1841973] - [netdrv] net/mlx5e: Fix devlink port netdev unregistration sequence (Alaa Hleihel) [1842258 1790226] - [netdrv] net/mlx5e: Fix devlink port register sequence (Alaa Hleihel) [1842258 1790226] - [netdrv] net/mlx5e: Use devlink virtual flavour for VF devlink port (Alaa Hleihel) [1842258 1790226] - [netdrv] net/mlx5e: Add support for devlink-port in non-representors mode (Alaa Hleihel) [1842258 1790226] - [netdrv] net/mlx5e: Rename representor get devlink port function (Alaa Hleihel) [1842258 1790226] - [fs] nfsd4: add filename to states output ("J. Bruce Fields") [1475182] - [fs] nfsd4: stid display should preserve on-the-wire byte order ("J. Bruce Fields") [1475182] - [fs] nfsd4: common stateid-printing code ("J. Bruce Fields") [1475182] - [fs] nfsd: remove read permission bit for ctl sysctl ("J. Bruce Fields") [1475182] - [fs] nfsd: "\s" should be "s" ("J. Bruce Fields") [1475182] - [fs] nfsd: initialize i_private before d_add ("J. Bruce Fields") [1475182] - [fs] nfsd: use i_wrlock instead of rcu for nfsdfs i_private ("J. Bruce Fields") [1475182] - [fs] nfsd: fix dentry leak upon mkdir failure ("J. Bruce Fields") [1475182] - [fs] nfsd: Make __get_nfsdfs_client() static ("J. Bruce Fields") [1475182] - [fs] nfsd: Make two functions static ("J. Bruce Fields") [1475182] - [fs] nfsd: decode implementation id ("J. Bruce Fields") [1475182] - [fs] nfsd: use 64-bit seconds fields in nfsd v4 code ("J. Bruce Fields") [1475182] - [fs] nfsd: create xdr_netobj_dup helper ("J. Bruce Fields") [1475182] - [fs] nfsd: allow forced expiration of NFSv4 clients ("J. Bruce Fields") [1475182] - [fs] nfsd: create get_nfsdfs_clp helper ("J. Bruce Fields") [1475182] - [fs] nfsd4: show layout stateids ("J. Bruce Fields") [1475182] - [fs] nfsd: show lock and deleg stateids ("J. Bruce Fields") [1475182] - [fs] nfsd4: add file to display list of client's opens ("J. Bruce Fields") [1475182] - [fs] nfsd: add more information to client info file ("J. Bruce Fields") [1475182] - [include] nfsd: escape high characters in binary data ("J. Bruce Fields") [1475182] - [fs] nfsd: copy client's address including port number to cl_addr ("J. Bruce Fields") [1475182] - [fs] nfsd4: add a client info file ("J. Bruce Fields") [1475182] - [fs] nfsd: make client/ directory names small ints ("J. Bruce Fields") [1475182] - [fs] nfsd: add nfsd/clients directory ("J. Bruce Fields") [1475182] - [fs] nfsd4: use reference count to free client ("J. Bruce Fields") [1475182] - [fs] nfsd: rename cl_refcount ("J. Bruce Fields") [1475182] - [fs] nfsd: persist nfsd filesystem across mounts ("J. Bruce Fields") [1475182]- [wireless] iwlwifi: pcie: handle QuZ configs with killer NICs as well (Jarod Wilson) [1844129 1842382] - [net] mac80211: add ieee80211_is_any_nullfunc() (Jarod Wilson) [1844129] - [net] mac80211: sta_info: Add lockdep condition for RCU list usage (Jarod Wilson) [1844129] - [net] mac80211: fix channel switch trigger from unknown mesh peer (Jarod Wilson) [1844129] - [wireless] rtw88: avoid unused function warnings (Jarod Wilson) [1844129] - [wireless] brcmfmac: add stub for monitor interface xmit (Jarod Wilson) [1844129] - [wireless] iwlwifi: actually check allocated conf_tlv pointer (Jarod Wilson) [1844129] - [wireless] iwlwifi: fix WGDS check when WRDS is disabled (Jarod Wilson) [1844129] - [wireless] iwlwifi: mvm: fix inactive TID removal return value usage (Jarod Wilson) [1844129] - [wireless] iwlwifi: mvm: Do not declare support for ACK Enabled Aggregation (Jarod Wilson) [1844129] - [wireless] iwlwifi: mvm: limit maximum queue appropriately (Jarod Wilson) [1844129] - [wireless] iwlwifi: pcie: indicate correct RB size to device (Jarod Wilson) [1844129] - [wireless] iwlwifi: mvm: beacon statistics shouldn't go backwards (Jarod Wilson) [1844129] - [wireless] iwlwifi: pcie: actually release queue memory in TVQM (Jarod Wilson) [1844129] - [wireless] mac80211: populate debugfs only after cfg80211 init (Jarod Wilson) [1844129] - [net] mac80211: fix race in ieee80211_register_hw() (Jarod Wilson) [1844129] - [net] nl80211: fix NL80211_ATTR_FTM_RESPONDER policy (Jarod Wilson) [1844129] - [powerpc] powerpc/fadump: Account for memory_limit while reserving memory (Steve Best) [1840646] - [mm] mm: make deferred init's max threads arch-specific (David Hildenbrand) [1818764] - [mm] mm: parallelize deferred_init_memmap() (David Hildenbrand) [1818764] - [mm] mm: don't track number of pages during deferred initialization (David Hildenbrand) [1818764] - [kernel] padata: add basic support for multithreaded jobs (David Hildenbrand) [1818764] - [kernel] padata: allocate work structures for parallel jobs from a pool (David Hildenbrand) [1818764] - [init] padata: initialize earlier (David Hildenbrand) [1818764] - [kernel] padata: remove exit routine (David Hildenbrand) [1818764] - [documentation] padata: update documentation (David Hildenbrand) [1818764] - [mm] mm: call cond_resched() from deferred_init_memmap() (David Hildenbrand) [1818764] - [mm] mm: initialize deferred pages with interrupts enabled (David Hildenbrand) [1818764] - [mm] mm/pagealloc.c: call touch_nmi_watchdog() on max order boundaries in deferred init (David Hildenbrand) [1818764] - [mm] mm/page_alloc: fix watchdog soft lockups during set_zone_contiguous() (David Hildenbrand) [1818764] - [mm] mm/page_alloc.c: fix regression with deferred struct page init (David Hildenbrand) [1818764] - [mm] mm: initialize MAX_ORDER_NR_PAGES at a time instead of doing larger sections (David Hildenbrand) [1818764] - [mm] mm: implement new zone specific memblock iterator (David Hildenbrand) [1818764] - [mm] mm: drop meminit_pfn_in_nid as it is redundant (David Hildenbrand) [1818764] - [kernel] audit: add subj creds to NETFILTER_CFG record to (Richard Guy Briggs) [1478533] - [kernel] audit: make symbol 'audit_nfcfgs' static (Richard Guy Briggs) [1478533] - [net] netfilter: add audit table unregister actions (Richard Guy Briggs) [1478533] - [net] audit: tidy and extend netfilter_cfg x_tables (Richard Guy Briggs) [1478533] - [x86] x86/efi: Allocate e820 buffer before calling efi_exit_boot_service (Lenny Szubowicz) [1824005] - [mm] hugetlb_cgroup: fix possible illegal access to memory (Joel Savitz) [1835398] - [kvm] KVM: s390: Remove false WARN_ON_ONCE for the PQAP instruction (Claudio Imbrenda) [1836184] - [sound] ASoC: Intel: Convert to new X86 CPU match macros (Prarit Bhargava) [1841649] - [thermal] thermal: Convert to new X86 CPU match macros (Prarit Bhargava) [1841649] - [powercap] powercap/intel_rapl: Convert to new X86 CPU match macros (Prarit Bhargava) [1841649] - [platform] platform/x86: Convert to new CPU match macros (Prarit Bhargava) [1841649] - [pci] PCI: intel-mid: Convert to new X86 CPU match macros (Prarit Bhargava) [1841649] - [mmc] mmc: sdhci-acpi: Convert to new X86 CPU match macros (Prarit Bhargava) [1841649] - [idle] intel_idle: Convert to new X86 CPU match macros (Prarit Bhargava) [1841649] - [extcon] extcon: axp288: Convert to new X86 CPU match macros (Prarit Bhargava) [1841649] - [edac] EDAC: Convert to new X86 CPU match macros (Prarit Bhargava) [1841649] - [acpi] ACPI: Convert to new X86 CPU match macros (Prarit Bhargava) [1841649] - [x86] x86/platform: Convert to new CPU match macros (Prarit Bhargava) [1841649] - [x86] x86/kernel: Convert to new CPU match macros (Prarit Bhargava) [1841649] - [x86] x86/perf/events: Convert to new CPU match macros (Prarit Bhargava) [1841649] - [x86] x86/cpu: Add consistent CPU match macros (Prarit Bhargava) [1841649] - [fs] fix autofs regression caused by follow_managed() changes (Miklos Szeredi) [1784857] - [fs] fs/namei.c: fix missing barriers when checking positivity (Miklos Szeredi) [1784857] - [fs] fix dget_parent() fastpath race (Miklos Szeredi) [1784857] - [fs] new helper: lookup_positive_unlocked() (Miklos Szeredi) [1784857] - [fs] fs/namei.c: pull positivity check into follow_managed() (Miklos Szeredi) [1784857] - [mm] x86/kasan: Fix boot with 5-level paging and KASAN (Baoquan He) [1838418] - [netdrv] bnxt_en: Fix VLAN acceleration handling in bnxt_fix_features() (Jonathan Toppins) [1790621] - [netdrv] bnxt_en: Return error when allocating zero size context memory (Jonathan Toppins) [1790621] - [netdrv] bnxt_en: Improve AER slot reset (Jonathan Toppins) [1790621] - [netdrv] bnxt_en: Reduce BNXT_MSIX_VEC_MAX value to supported CQs per PF (Jonathan Toppins) [1790621] - [netdrv] bnxt_en: Fix VF anti-spoof filter setup (Jonathan Toppins) [1790621] - [netdrv] bnxt_en: Fix "fw.mgmt" and "fw.nsci" info via devlink info_get cb (Jonathan Toppins) [1790621] - [netdrv] bnxt_en: Add partno to devlink info_get cb (Jonathan Toppins) [1790621] - [netdrv] bnxt_en: Read partno and serialno of the board from VPD (Jonathan Toppins) [1790621] - [netdrv] bnxt_en: Add fw.mgmt.api version to devlink info_get cb (Jonathan Toppins) [1790621] - [netdrv] bnxt_en: Reset rings if ring reservation fails during open() (Jonathan Toppins) [1790621] - [netdrv] bnxt_en: Free context memory after disabling PCI in probe error path (Jonathan Toppins) [1790621] - [netdrv] bnxt_en: Return error if bnxt_alloc_ctx_mem() fails (Jonathan Toppins) [1790621] - [netdrv] bnxt_en: fix memory leaks in bnxt_dcbnl_ieee_getets() (Jonathan Toppins) [1790621] - [netdrv] bnxt_en: Fix Priority Bytes and Packets counters in ethtool -S (Jonathan Toppins) [1790621] - [netdrv] bnxt_en: Call devlink_port_type_clear() in remove() (Jonathan Toppins) [1790621] - [netdrv] bnxt_en: Return -EAGAIN if fw command returns BUSY (Jonathan Toppins) [1790621] - [netdrv] bnxt_en: Modify some bnxt_hwrm_*_free() functions to void (Jonathan Toppins) [1790621] - [netdrv] bnxt_en: Remove unnecessary assignment of return code (Jonathan Toppins) [1790621] - [netdrv] bnxt_en: Clear DCB settings after firmware reset (Jonathan Toppins) [1790621] - [netdrv] bnxt_en: Process the NQ under NAPI continuous polling (Jonathan Toppins) [1790621] - [netdrv] bnxt_en: Simplify __bnxt_poll_cqs_done() (Jonathan Toppins) [1790621] - [netdrv] bnxt_en: Handle all NQ notifications in bnxt_poll_p5() (Jonathan Toppins) [1790621] - [netdrv] bnxt_en: Use pci_get_dsn() (Jonathan Toppins) [1790621] - [netdrv] bnxt: reject unsupported coalescing params (Jonathan Toppins) [1790621] - [netdrv] net/broadcom: Clean broadcom code from driver versions (Jonathan Toppins) [1790621] - [netdrv] bnxt_en: fix error handling when flashing from file (Jonathan Toppins) [1790621] - [netdrv] bnxt_en: reinitialize IRQs when MTU is modified (Jonathan Toppins) [1790621] - [netdrv] bnxt_en: add newline to netdev_*() format strings (Jonathan Toppins) [1790621] - [netdrv] bnxt_en: Issue PCIe FLR in kdump kernel to cleanup pending DMAs (Jonathan Toppins) [1790621] - [netdrv] bnxt_en: Improve device shutdown method (Jonathan Toppins) [1790621] - [netdrv] bnxt_en: Add support for devlink info command (Jonathan Toppins) [1790621] - [netdrv] bnxt_en: Rename switch_id to dsn (Jonathan Toppins) [1790621] - [netdrv] bnxt_en: Add support to update progress of flash update (Jonathan Toppins) [1790621] - [netdrv] bnxt_en: Move devlink_register before registering netdev (Jonathan Toppins) [1790621] - [netdrv] bnxt_en: Register devlink irrespective of firmware spec version (Jonathan Toppins) [1790621] - [netdrv] bnxt_en: Refactor bnxt_dl_register() (Jonathan Toppins) [1790621] - [netdrv] bnxt_en: Disable workaround for lost interrupts on 575XX B0 and newer chips (Jonathan Toppins) [1790621] - [netdrv] bnxt_en: Periodically check and remove aged-out ntuple filters (Jonathan Toppins) [1790621] - [netdrv] bnxt_en: Do not accept fragments for aRFS flow steering (Jonathan Toppins) [1790621] - [netdrv] bnxt_en: Support UDP RSS hashing on 575XX chips (Jonathan Toppins) [1790621] - [netdrv] bnxt_en: Improve bnxt_probe_phy() (Jonathan Toppins) [1790621] - [netdrv] bnxt_en: Improve link up detection (Jonathan Toppins) [1790621] - [netdrv] bnxt_en: Call recovery done after reset is successfully done (Jonathan Toppins) [1790621] - [netdrv] bnxt_en: Remove unnecessary NULL checks for fw_health (Jonathan Toppins) [1790621] - [netdrv] bnxt_en: Add support for flashing the device via devlink (Jonathan Toppins) [1790621] - [netdrv] bnxt_en: Allow PHY settings on multi-function or NPAR PFs if allowed by FW (Jonathan Toppins) [1790621] - [netdrv] bnxt_en: Add async. event logic for PHY configuration changes (Jonathan Toppins) [1790621] - [netdrv] bnxt_en: Refactor the initialization of the ethtool link settings (Jonathan Toppins) [1790621] - [netdrv] bnxt_en: Skip disabling autoneg before PHY loopback when appropriate (Jonathan Toppins) [1790621] - [netdrv] bnxt_en: Assign more RSS context resources to the VFs (Jonathan Toppins) [1790621] - [netdrv] bnxt_en: Initialize context memory to the value specified by firmware (Jonathan Toppins) [1790621] - [netdrv] bnxt_en: Add chip IDs for 57452 and 57454 chips (Jonathan Toppins) [1790621] - [netdrv] bnxt_en: Report health status update after reset is done (Jonathan Toppins) [1790621] - [netdrv] bnxt_en: Set MASTER flag during driver registration (Jonathan Toppins) [1790621] - [netdrv] bnxt_en: Update firmware interface spec to 1.10.1.12 (Jonathan Toppins) [1790621] - [netdrv] bnxt_en: Fix array overrun in bnxt_fill_l2_rewrite_fields() (Jonathan Toppins) [1790621] - [netdrv] bnxt_en: Add support for NAT(L3/L4 rewrite) (Jonathan Toppins) [1790621] - [netdrv] bnxt_en: Add support for L2 rewrite (Jonathan Toppins) [1790621] - [netdrv] net/mlx5: E-switch, Protect eswitch mode changes (Alaa Hleihel) [1835595 1663246] - [netdrv] net/mlx5: E-switch, Extend eswitch enable to handle num_vfs change (Alaa Hleihel) [1835595 1663246] - [netdrv] net/mlx5: Split eswitch mode check to different helper function (Alaa Hleihel) [1835595 1663246] - [netdrv] net/mlx5: Simplify mlx5_unload_one() and its callers (Alaa Hleihel) [1835595 1663246] - [netdrv] net/mlx5: Simplify mlx5_register_device to return void (Alaa Hleihel) [1835595 1663246] - [netdrv] net/mlx5: Avoid deriving mlx5_core_dev second time (Alaa Hleihel) [1835595 1663246] - [netdrv] net/mlx5: E-switch, Annotate esw state_lock mutex destroy (Alaa Hleihel) [1835595 1663246] - [netdrv] net/mlx5: E-switch, Annotate termtbl_mutex mutex destroy (Alaa Hleihel) [1835595 1663246] - [netdrv] net/mlx5e: CT: Fix offload with CT action after CT NAT action (Alaa Hleihel) [1663246] - [netdrv] net/mlx5e: Fix missing pedit action after ct clear action (Alaa Hleihel) [1663246] - [netdrv] net/mlx5e: CT: remove set but not used variable 'unnew' (Alaa Hleihel) [1663246] - [netdrv] net/mlx5e: CT: Fix insert rules when TC_CT config isn't enabled (Alaa Hleihel) [1663246] - [netdrv] net/mlx5e: Fix actions_match_supported() return (Alaa Hleihel) [1663246] - [netdrv] net/mlx5e: CT: Avoid false warning about rule may be used uninitialized (Alaa Hleihel) [1663246] - [netdrv] net/mlx5: E-Switch, Use correct type for chain, prio and level values (Alaa Hleihel) [1663246] - [netdrv] net/mlx5: E-switch, Fix printing wrong error value (Alaa Hleihel) [1663246] - [netdrv] net/mlx5e: Fix rejecting all egress rules not on vlan (Alaa Hleihel) [1663246] - [netdrv] net/mlx5: E-Switch: Fix using fwd and modify when firmware doesn't support it (Alaa Hleihel) [1663246] - [netdrv] net/mlx5: Add missing inline to stub esw_add_restore_rule (Alaa Hleihel) [1663246] - [netdrv] net/mlx5: E-Switch, Enable restore table only if reg_c1 is supported (Alaa Hleihel) [1663246] - [netdrv] net/mlx5: E-Switch, free flow_group_in after creating the restore table (Alaa Hleihel) [1663246] - [netdrv] net/mlx5: E-switch, Fix mutex init order (Alaa Hleihel) [1663246] - [netdrv] net/mlx5: CT: Change idr to xarray to protect parallel tuple id allocation (Alaa Hleihel) [1663246] - [netdrv] net/mlx5e: CT: Use rhashtable's ct entries instead of a separate list (Alaa Hleihel) [1663246] - [netdrv] net/mlx5e: CT: Fix stack usage compiler warning (Alaa Hleihel) [1663246] - [netdrv] net/mlx5e: CT: Support clear action (Alaa Hleihel) [1790219 1663246] - [netdrv] net/mlx5e: CT: Handle misses after executing CT action (Alaa Hleihel) [1790219 1663246] - [netdrv] net/mlx5e: CT: Offload established flows (Alaa Hleihel) [1790219 1663246] - [netdrv] net/mlx5e: CT: Introduce connection tracking (Alaa Hleihel) [1790219 1663246] - [netdrv] net/mlx5: E-Switch, Support getting chain mapping (Alaa Hleihel) [1790219 1663246] - [netdrv] net/mlx5: E-Switch, Add support for offloading rules with no in_port (Alaa Hleihel) [1790219 1663246] - [netdrv] net/mlx5: E-Switch, Introduce global tables (Alaa Hleihel) [1790219 1663246] - [netdrv] net/mlx5e: en_rep: Create uplink rep root table after eswitch offloads table (Alaa Hleihel) [1790219 1663246] - [netdrv] net/mlx5: E-Switch, Enable reg c1 loopback when possible (Alaa Hleihel) [1790219 1663246] - [netdrv] net/mlx5e: Restore tunnel metadata on miss (Alaa Hleihel) [1790219 1790218 1663246] - [netdrv] net/mlx5: E-Switch, Get reg_c1 value on miss (Alaa Hleihel) [1790219 1790218 1663246] - [netdrv] net/mlx5e: Support inner header rewrite with goto action (Alaa Hleihel) [1790219 1790218 1663246] - [netdrv] net/mlx5e: Disallow inserting vxlan/vlan egress rules without decap/pop (Alaa Hleihel) [1790219 1790218 1663246] - [netdrv] net/mlx5e: Move tc tunnel parsing logic with the rest at tc_tun module (Alaa Hleihel) [1790219 1790218 1663246] - [netdrv] net/mlx5e: Allow re-allocating mod header actions (Alaa Hleihel) [1790219 1790218 1663246] - [netdrv] net/mlx5: E-Switch, Restore chain id on miss (Alaa Hleihel) [1790219 1790218 1663246] - [netdrv] net/mlx5e: Rx, Split rep rx mpwqe handler from nic (Alaa Hleihel) [1790219 1790218 1663246] - [netdrv] net/mlx5: E-Switch, Mark miss packets with new chain id mapping (Alaa Hleihel) [1790219 1790218 1663246] - [netdrv] net/mlx5: E-Switch, Get reg_c0 value on CQE (Alaa Hleihel) [1790219 1790218 1663246] - [infiniband] net/mlx5: E-Switch, Move source port on reg_c0 to the upper 16 bits (Alaa Hleihel) [1790219 1790218 1663246] - [netdrv] net/mlx5: Introduce mapping infra for mapping unique ids to data (Alaa Hleihel) [1790219 1790218 1663246] - [netdrv] net/mlx5e: Add devlink fdb_large_groups parameter (Alaa Hleihel) [1790203 1663246] - [netdrv] net/mlx5: Change the name of steering mode param id (Alaa Hleihel) [1790203 1663246] - [netdrv] net/mlx5e: Fix an IS_ERR() vs NULL check (Alaa Hleihel) [1663246] - [netdrv] net/mlx5: Verify goto chain offload support (Alaa Hleihel) [1663246] - [include] net/mlx5: HW bit for goto chain offload support (Alaa Hleihel) [1663246] - [netdrv] net/mlx5e: Remove redundant comment about goto slow path (Alaa Hleihel) [1663246] - [netdrv] net/mlx5e: Reduce number of arguments in slow path handling (Alaa Hleihel) [1663246] - [netdrv] net/mlx5e: Use NL_SET_ERR_MSG_MOD() extack for errors (Alaa Hleihel) [1663246] - [netdrv] net/mlx5: E-Switch, Allow goto earlier chain if FW supports it (Alaa Hleihel) [1663246] - [netdrv] net/mlx5e: Eswitch, Use per vport tables for mirroring (Alaa Hleihel) [1663246] - [netdrv] net/mlx5: make the symbol 'ESW_POOLS' static (Alaa Hleihel) [1663246] - [netdrv] net/mlx5: E-Switch, Increase number of chains and priorities (Alaa Hleihel) [1663246] - [netdrv] net/mlx5: E-Switch, Refactor chains and priorities (Alaa Hleihel) [1663246] - [netdrv] net/mlx5: ft: Check prio and chain sanity for ft offload (Alaa Hleihel) [1663246] - [netdrv] net/mlx5: ft: Use getter function to get ft chain (Alaa Hleihel) [1663246] - [netdrv] net/mlx5: TC: Offload flow table rules (Alaa Hleihel) [1663246]- [net] neigh: fix ARP retransmit timer guard (Hangbin Liu) [1767282] - [net] xfrm: fix a warning in xfrm_policy_insert_list (Xin Long) [1820956] - [net] netfilter: ipset: Fix subcounter update skip (Phil Sutter) [1834881] - [netdrv] macvlan: return correct error value (Matteo Croce) [1806146] - [net] core: properly remove skb from list (Ivan Vecera) [1839657] - [tools] selftests: fix flower parent qdisc (Ivan Vecera) [1824071] - [net] sch_choke: Remove classid from choke_skb_cb. (Ivan Vecera) [1824071] - [net] sched: choke: Remove unused inline function choke_set_classid (Ivan Vecera) [1824071] - [net] schedule: add action gate offloading (Ivan Vecera) [1824071] - [net] qos: introduce a gate control flow action (Ivan Vecera) [1824071] - [net] sched: fallback to qdisc noqueue if default qdisc setup fail (Ivan Vecera) [1824071] - [tools] selftests: forwarding: tc_actions.sh: add matchall mirror test (Ivan Vecera) [1824071] - [net] sched: report ndo_setup_tc failures via extack (Ivan Vecera) [1824071] - [net] sched : Remove unnecessary cast in kfree (Ivan Vecera) [1824071] - [tools] selftests: tc-testing: Add a TDC test for pedit munge ip6 dsfield (Ivan Vecera) [1824071] - [tools] selftests: forwarding: pedit_dsfield: Add pedit munge ip6 dsfield (Ivan Vecera) [1824071] - [net] sched: act_ct: update nf_conn_acct for act_ct SW offload in flowtable (Ivan Vecera) [1824071] - [net] net_sched: gen_estimator: extend packet counter to 64bit (Ivan Vecera) [1824071] - [net] flow_offload: skip hw stats check for FLOW_ACTION_HW_STATS_DONT_CARE (Ivan Vecera) [1824071] - [net] net_sched: sch_skbprio: add message validation to skbprio_change() (Ivan Vecera) [1824071] - [net] net_sched: fix tcm_parent in tc filter dump (Ivan Vecera) [1824071] - [net] sch_sfq: validate silly quantum values (Ivan Vecera) [1824071] - [net] sch_choke: avoid potential panic in choke_reset() (Ivan Vecera) [1824071] - [net] fq_codel: fix TCA_FQ_CODEL_DROP_BATCH_SIZE sanity checks (Ivan Vecera) [1824071] - [net] sched: etf: do not assume all sockets are full blown (Ivan Vecera) [1824071] - [tools] tc-testing: remove duplicate code in tdc.py (Ivan Vecera) [1824071] - [net] sched: Fix setting last executed chain on skb extension (Ivan Vecera) [1824071] - [net] net_sched: fix a missing refcnt in tcindex_init() (Ivan Vecera) [1824071] - [net] net_sched: add a temporary refcnt for struct tcindex_data (Ivan Vecera) [1824071] - [net] sched: expose HW stats types per action used by drivers (Ivan Vecera) [1824071] - [net] introduce nla_put_bitfield32() helper and use it (Ivan Vecera) [1824071] - [tools] selftests: skbedit_priority: Test counters at the skbedit rule (Ivan Vecera) [1824071] - [net] sched: act_pedit: Implement stats_update callback (Ivan Vecera) [1824071] - [net] sched: act_skbedit: Implement stats_update callback (Ivan Vecera) [1824071] - [tools] selftests: forwarding: Add a forwarding test for pedit munge dsfield (Ivan Vecera) [1824071] - [net] flow_offload.h: Fix a comment at flow_action_entry.mangle (Ivan Vecera) [1824071] - [net] Fix CONFIG_NET_CLS_ACT=n and CONFIG_NFT_FWD_NETDEV={y, m} build (Ivan Vecera) [1824071] - [net] netfilter: nft_fwd_netdev: allow to redirect to ifb via ingress (Ivan Vecera) [1824071] - [net] cbs: Fix software cbs to consider packet sending time (Ivan Vecera) [1824071] - [include] taprio: do not use BIT() in TCA_TAPRIO_ATTR_FLAG_* definitions (Ivan Vecera) [1824071] - [net] cls_flower: Add extack support for flags key (Ivan Vecera) [1824071] - [net] cls_flower: Add extack support for src and dst port range options (Ivan Vecera) [1824071] - [net] cls_flower: Add extack support for mpls options (Ivan Vecera) [1824071] - [include] net: sched: refine extack messages in tcf_change_indev (Ivan Vecera) [1824071] - [net] sched: rename more stats_types (Ivan Vecera) [1824071] - [tools] selftests: forwarding: Add an skbedit priority selftest (Ivan Vecera) [1824071] - [net] tc_skbedit: Make the skbedit priority offloadable (Ivan Vecera) [1824071] - [include] tc_skbedit: Factor a helper out of is_tcf_skbedit_{mark, ptype}() (Ivan Vecera) [1824071] - [include] net: sched: Do not assume RTNL is held in tunnel key action helpers (Ivan Vecera) [1824071] - [net] sched: act_ct: Fix leak of ct zone template on replace (Ivan Vecera) [1824071] - [net] net_sched: sch_fq: enable use of hrtimer slack (Ivan Vecera) [1824071] - [net] net_sched: do not reprogram a timer about to expire (Ivan Vecera) [1824071] - [net] net_sched: add qdisc_watchdog_schedule_range_ns() (Ivan Vecera) [1824071] - [net] rename flow_action_hw_stats_types* -> flow_action_hw_stats* (Ivan Vecera) [1824071] - [net] net_sched: cls_route: remove the right filter from hashtable (Ivan Vecera) [1824071] - [tools] selftests: qdiscs: RED: Add nodrop tests (Ivan Vecera) [1824071] - [net] sched: RED: Introduce an ECN nodrop mode (Ivan Vecera) [1824071] - [net] sched: Allow extending set of supported RED flags (Ivan Vecera) [1824071] - [tools] selftests: qdiscs: Add TDC test for RED (Ivan Vecera) [1824071] - [tools] tc-testing: add ETS scheduler to tdc build configuration (Ivan Vecera) [1824071] - [net] sched: act_ct: Enable hardware offload of flow table entires (Ivan Vecera) [1824071] - [net] sched: act_ct: Support refreshing the flow table entries (Ivan Vecera) [1824071] - [net] sched: act_ct: Support restoring conntrack info on skbs (Ivan Vecera) [1824071] - [net] sched: act_ct: Instantiate flow table entry actions (Ivan Vecera) [1824071] - [net] net_sched: keep alloc_hash updated after hash allocation (Ivan Vecera) [1824071] - [net] net_sched: hold rtnl lock in tcindex_partial_destroy_work() (Ivan Vecera) [1824071] - [include] flow_offload: restrict driver to pass one allowed bit to flow_action_hw_stats_types_check() (Ivan Vecera) [1824071] - [netdrv] flow_offload: introduce "delayed" HW stats type and allow it in mlx5 (Ivan Vecera) [1824071] - [include] flow_offload: turn hw_stats_type into dedicated enum (Ivan Vecera) [1824071] - [include] flow_offload: use flow_action_for_each in flow_action_mixed_hw_stats_types_check() (Ivan Vecera) [1824071] - [net] sched: pie: change tc_pie_xstats->prob (Ivan Vecera) [1824071] - [net] taprio: Fix sending packets without dequeueing them (Ivan Vecera) [1824071] - [net] sched: act_ct: fix lockdep splat in tcf_ct_flow_table_get (Ivan Vecera) [1824071] - [tools] selftests: forwarding: ETS: Use Qdisc counters (Ivan Vecera) [1824071] - [net] sched: Make FIFO Qdisc offloadable (Ivan Vecera) [1824071] - [include] pie: realign comment (Ivan Vecera) [1824071] - [net] pie: remove pie_vars->accu_prob_overflows (Ivan Vecera) [1824071] - [net] pie: remove unnecessary type casting (Ivan Vecera) [1824071] - [net] pie: use term backlog instead of qlen (Ivan Vecera) [1824071] - [tools] tc-testing: updated tdc tests for basic filter with canid extended match rules (Ivan Vecera) [1824071] - [tools] tc-testing: list kernel options for basic filter with canid ematch. (Ivan Vecera) [1824071] - [net] sched: act_ct: Use pskb_network_may_pull() (Ivan Vecera) [1824071] - [net] sched: act_ct: Fix ipv6 lookup of offloaded connections (Ivan Vecera) [1824071] - [net] sched: act_ct: Software offload of established flows (Ivan Vecera) [1824071] - [net] sched: act_ct: Offload established connections to flow table (Ivan Vecera) [1824071] - [net] sched: act_ct: Create nf flow table per zone (Ivan Vecera) [1824071] - [net] taprio: add missing attribute validation for txtime delay (Ivan Vecera) [1824071] - [net] fq: add missing attribute validation for orphan mask (Ivan Vecera) [1824071] - [tools] selftests: forwarding: tc_common: Convert to use busywait (Ivan Vecera) [1824071] - [tools] selftests: forwarding: Convert until_counter_is() to take expression (Ivan Vecera) [1824071] - [tools] selftests: forwarding: lib: Add tc_rule_handle_stats_get() (Ivan Vecera) [1824071] - [include] net: flow_offload: Replace zero-length array with flexible-array member (Ivan Vecera) [1824071] - [net] sched: Replace zero-length array with flexible-array member (Ivan Vecera) [1824071] - [net] sched: act: count in the size of action flags bitfield (Ivan Vecera) [1824071] - [tools] tc-testing: updated tdc tests for basic filter with u32 extended match rules (Ivan Vecera) [1824071] - [tools] tc-testing: updated tdc tests for basic filter with u16 extended match rules (Ivan Vecera) [1824071] - [tools] tc-testing: updated tdc tests for basic filter (Ivan Vecera) [1824071] - [net] sched: correct flower port blocking (Ivan Vecera) [1824071] - [net] sched: Support specifying a starting chain via tc skb ext (Ivan Vecera) [1824071] - [net] sched: Change the block's chain list to an rcu list (Ivan Vecera) [1824071] - [net] sched: Pass ingress block to tcf_classify_ingress (Ivan Vecera) [1824071] - [net] sched: Introduce ingress classification function (Ivan Vecera) [1824071] - [net] sched: flower: add missing validation of TCA_FLOWER_FLAGS (Ivan Vecera) [1824071] - [net] sched: matchall: add missing validation of TCA_MATCHALL_FLAGS (Ivan Vecera) [1824071] - [net] taprio: Fix dropping packets when using taprio + ETF offloading (Ivan Vecera) [1824071] - [net] taprio: Use taprio_reset_tc() to reset Traffic Classes configuration (Ivan Vecera) [1824071] - [net] taprio: Add missing policy validation for flags (Ivan Vecera) [1824071] - [net] taprio: Fix still allowing changing the flags during runtime (Ivan Vecera) [1824071] - [net] taprio: Fix enabling offload with wrong number of traffic classes (Ivan Vecera) [1824071] - [net] sched: prevent a use after free (Ivan Vecera) [1824071] - [tools] tc-testing: add missing 'nsPlugin' to basic.json (Ivan Vecera) [1824071] - [net] sch_choke: Use kvcalloc (Ivan Vecera) [1824071] - [tools] selftests: mlxsw: Add a RED selftest (Ivan Vecera) [1824071] - [tools] selftests: forwarding: lib.sh: Add start_tcp_traffic (Ivan Vecera) [1824071] - [tools] selftests: mlxsw: Add a TBF selftest (Ivan Vecera) [1824071] - [tools] selftests: forwarding: lib: Allow reading TC rule byte counters (Ivan Vecera) [1824071] - [tools] selftests: forwarding: lib: Add helpers for busywaiting (Ivan Vecera) [1824071] - [tools] selftests: Move two functions from mlxsw's qos_lib to lib (Ivan Vecera) [1824071] - [net] sched: Make TBF Qdisc offloadable (Ivan Vecera) [1824071] - [net] sched: sch_tbf: Don't overwrite backlog before dumping (Ivan Vecera) [1824071] - [net] sched: add Flow Queue PIE packet scheduler (Ivan Vecera) [1824071] - [net] sched: pie: export symbols to be reused by FQ-PIE (Ivan Vecera) [1824071] - [net] sched: pie: fix alignment in struct instances (Ivan Vecera) [1824071] - [net] sched: pie: fix commenting (Ivan Vecera) [1824071] - [include] pie: improve comments and commenting style (Ivan Vecera) [1824071] - [net] pie: rearrange structure members and their initializations (Ivan Vecera) [1824071] - [include] pie: use u8 instead of bool in pie_vars (Ivan Vecera) [1824071] - [include] pie: rearrange macros in order of length (Ivan Vecera) [1824071] - [include] pie: use U64_MAX to denote (2^64 - 1) (Ivan Vecera) [1824071] - [net] sched: pie: move common code to pie.h (Ivan Vecera) [1824071] - [net] sched: use skb_list_walk_safe helper for gso segments (Ivan Vecera) [1824071] - [tools] selftests: qdiscs: Add test coverage for ETS Qdisc (Ivan Vecera) [1824071] - [tools] selftests: forwarding: sch_ets: Add test coverage for ETS Qdisc (Ivan Vecera) [1824071] - [tools] selftests: forwarding: Move start_/stop_traffic from mlxsw to lib.sh (Ivan Vecera) [1824071] - [net] sch_ets: Make the ETS qdisc offloadable (Ivan Vecera) [1824071] - [net] sch_ets: Add a new Qdisc (Ivan Vecera) [1824071] - [include] net: pkt_cls: Clarify a comment (Ivan Vecera) [1824071] - [net] sch_cake: drop unused variable tin_quantum_prio (Ivan Vecera) [1824071] - [net] sched: act_ctinfo: fix memory leak (Ivan Vecera) [1824071] - [net] sched: act_ife: initalize ife->metalist earlier (Ivan Vecera) [1824071] - [net] sch_cake: avoid possible divide by zero in cake_enqueue() (Ivan Vecera) [1824071] - [tools] tc-testing: initial tdc selftests for cls_u32 (Ivan Vecera) [1824071] - [net] treewide: Use sizeof_field() macro (Ivan Vecera) [1824071] - [tools] tc-testing: unbreak full listing of tdc testcases (Ivan Vecera) [1824071] - [net] act_ct: support asymmetric conntrack (Ivan Vecera) [1824071] - [net] sch_cake: Add missing NLA policy entry TCA_CAKE_SPLIT_GSO (Ivan Vecera) [1824071] - [net] remove the unnecessary strict_start_type in some policies (Ivan Vecera) [1824071] - [net] sched: pie: enable timestamp based delay calculation (Ivan Vecera) [1824071] - [net] taprio: don't reject same mqprio settings (Ivan Vecera) [1824071] - [tools] tc-testing: Introduced tdc tests for basic filter (Ivan Vecera) [1824071] - [tools] tc-testing: updated pedit TDC tests (Ivan Vecera) [1824071] - [net] net_sched: add TCA_STATS_PKT64 attribute (Ivan Vecera) [1824071] - [net] net_sched: extend packet counter to 64bit (Ivan Vecera) [1824071] - [include] net_sched: do not export gnet_stats_basic_packed to uapi (Ivan Vecera) [1824071] - [tools] tc-testing: added tests with cookie for mpls TC action (Ivan Vecera) [1824071] - [net] icmp: remove duplicate code (Ivan Vecera) [1824071] - [include] icmp: add helpers to recognize ICMP error packets (Ivan Vecera) [1824071] - [net] taprio: fix panic while hw offload sched list swap (Ivan Vecera) [1824071] - [net] sched: Replace rcu_swap_protected() with rcu_replace_pointer() (Ivan Vecera) [1824071] - [net] net_sched: sch_fq: avoid calling ktime_get_ns() if not needed (Ivan Vecera) [1824071] - [net] net_sched: sch_fq: add dctcp-like marking (Ivan Vecera) [1824071] - [net] net_sched: sch_fq: remove dead code dealing with retransmits (Ivan Vecera) [1824071] - [net] sched: act_ct: fix build failure in RHEL8 (Ivan Vecera) [1824071] - [net] don't return invalid table id error when we fall back to PF_UNSPEC (Sabrina Dubroca) [1814093] - [net] netfilter: update include directives. (Marcelo Leitner) [1837856] - [include] netfilter: fix include guards. (Marcelo Leitner) [1837856] - [include] netfilter: add include guard to xt_connlabel.h (Marcelo Leitner) [1837856] - [net] sk_msg: Don't use RCU_INIT_POINTER on sk_user_data (Sabrina Dubroca) [1819627] - [tools] selftests/bpf: Fix build of sockmap_ktls.c (Sabrina Dubroca) [1819627] - [net] Generate reuseport group ID on group creation (Sabrina Dubroca) [1819627] - [net] bpf: Allow selecting reuseport socket from a SOCKMAP/SOCKHASH (Sabrina Dubroca) [1819627] - [net] bpf, sockmap: Let all kernel-land lookup values in SOCKMAP/SOCKHASH (Sabrina Dubroca) [1819627] - [net] bpf, sockmap: Return socket cookie on lookup from syscall (Sabrina Dubroca) [1819627] - [net] bpf, sockmap: Don't set up upcalls and progs for listening sockets (Sabrina Dubroca) [1819627] - [net] bpf, sockmap: Allow inserting listening TCP sockets into sockmap (Sabrina Dubroca) [1819627] - [net] tcp_bpf: Don't let child socket inherit parent protocol ops on copy (Sabrina Dubroca) [1819627] - [net] net, sk_msg: Clear sk_user_data pointer on clone if tagged (Sabrina Dubroca) [1819627] - [net] net, sk_msg: Annotate lockless access to sk_prot on clone (Sabrina Dubroca) [1819627] - [net] bpf, sockmap: bpf_tcp_ingress needs to subtract bytes from sg.size (Sabrina Dubroca) [1819627] - [net] bpf, sockmap: msg_pop_data can incorrecty set an sge length (Sabrina Dubroca) [1819627] - [net] tls: fix const assignment warning (Sabrina Dubroca) [1819627] - [net] tls: Fix sk_psock refcnt leak in bpf_exec_tx_verdict() (Sabrina Dubroca) [1819627] - [net] tls: Fix sk_psock refcnt leak when in tls_data_ready() (Sabrina Dubroca) [1819627] - [tools] selftests/bpf: Test unhashing kTLS socket after removing from map (Sabrina Dubroca) [1819627] - [include] bpf, sk_msg: Don't clear saved sock proto on restore (Sabrina Dubroca) [1819627] - [include] bpf, sk_msg: Let ULP restore sk_proto and write_space callback (Sabrina Dubroca) [1819627] - [net] tls: Annotate access to sk_prot with READ_ONCE/WRITE_ONCE (Sabrina Dubroca) [1819627] - [net] tls: Read sk_prot once when building tls proto ops (Sabrina Dubroca) [1819627] - [net] tls: Constify base proto ops used for building tls proto (Sabrina Dubroca) [1819627] - [net] tls: Fix to avoid gettig invalid tls record (Sabrina Dubroca) [1819627] - [net] tls: avoid spurious decryption error with HW resync (Sabrina Dubroca) [1819627] - [net] tls: add helper for testing if socket is RX offloaded (Sabrina Dubroca) [1819627] - [tools] selftests: net: tls: remove recv_rcvbuf test (Sabrina Dubroca) [1819627] - [net] tls: use sg_next() to walk sg entries (Sabrina Dubroca) [1819627] - [net] tls: remove the dead inplace_crypto code (Sabrina Dubroca) [1819627] - [tools] selftests/tls: add a test for fragmented messages (Sabrina Dubroca) [1819627] - [net] tls: Fix unused function warning (Sabrina Dubroca) [1819627] - [net] tls: store decrypted on a single bit (Sabrina Dubroca) [1819627] - [net] tls: store async_capable on a single bit (Sabrina Dubroca) [1819627] - [net] tls: pass context to tls_device_decrypted() (Sabrina Dubroca) [1819627] - [net] tls: make allocation failure unlikely (Sabrina Dubroca) [1819627] - [net] tls: mark sk->err being set as unlikely (Sabrina Dubroca) [1819627] - [net] sockmap: use bitmap for copy info (Sabrina Dubroca) [1819627] - [net] tls: add TlsDeviceRxResync statistic (Sabrina Dubroca) [1819627] - [net] tls: add TlsDecryptError stat (Sabrina Dubroca) [1819627] - [net] tls: add statistics for installed sessions (Sabrina Dubroca) [1819627] - [net] tls: add skeleton of MIB statistics (Sabrina Dubroca) [1819627] - [net] tls: add device decrypted trace point (Sabrina Dubroca) [1819627] - [net] tls: add tracing for device/offload events (Sabrina Dubroca) [1819627] - [net] tls: allow compiling TLS TOE out (Sabrina Dubroca) [1819627] - [net] tls: rename tls_hw_* functions tls_toe_* (Sabrina Dubroca) [1819627] - [net] tls: move TOE-related code to a separate file (Sabrina Dubroca) [1819627] - [net] tls: move tls_build_proto() on init path (Sabrina Dubroca) [1819627] - [net] tls: use the full sk_proto pointer (Sabrina Dubroca) [1819627] - [net] tls: rename tls_device to tls_toe_device (Sabrina Dubroca) [1819627] - [net] tls: move TOE-related structures to a separate header (Sabrina Dubroca) [1819627] - [net] tls: sleeping function from invalid context (Sabrina Dubroca) [1819627] - [net] netfilter: nft_set_rbtree: Add missing expired checks (Phil Sutter) [1778020] - [tools] selftests: netfilter: extend flowtable test script with dnat rule (Marcelo Leitner) [1811193] - [tools] selftests: netfilter: extend flowtable test script for ipsec (Marcelo Leitner) [1811193] - [tools] selftests: netfilter: add flowtable test script (Marcelo Leitner) [1811193] - [net] netfilter: flowtable: set NF_FLOW_TEARDOWN flag on entry expiration (Marcelo Leitner) [1811193] - [net] netfilter: flowtable: Remove WQ_MEM_RECLAIM from workqueue (Marcelo Leitner) [1811193] - [net] netfilter: nf_conntrack: add IPS_HW_OFFLOAD status bit (Marcelo Leitner) [1811193] - [net] netfilter: flowtable: Free block_cb when being deleted (Marcelo Leitner) [1811193] - [net] netfilter: flowtable: add counter support in HW offload (Marcelo Leitner) [1811193] - [net] netfilter: conntrack: add nf_ct_acct_add() (Marcelo Leitner) [1811193] - [net] netfilter: conntrack: export nf_ct_acct_update() (Marcelo Leitner) [1811193] - [net] netfilter: flowtable: Use work entry per offload command (Marcelo Leitner) [1811193] - [net] netfilter: flowtable: Use rw sem as flow block lock (Marcelo Leitner) [1811193] - [net] netfilter: flowtable: add counter support (Marcelo Leitner) [1811193] - [net] netfilter: nf_tables: add enum nft_flowtable_flags to uapi (Marcelo Leitner) [1811193] - [net] netfilter: flowtable: Fix incorrect tc_setup_type type (Marcelo Leitner) [1811193] - [net] netfilter: flowtable: populate addr_type mask (Marcelo Leitner) [1811193] - [net] netfilter: flowtable: Fix flushing of offloaded flows on free (Marcelo Leitner) [1811193] - [net] netfilter: flowtable: fix NULL pointer dereference in tunnel offload support (Marcelo Leitner) [1811193] - [net] netfilter: flowtable: reload ip{v6}h in nf_flow_tuple_ip{v6} (Marcelo Leitner) [1811193] - [net] netfilter: flowtable: reload ip{v6}h in nf_flow_nat_ip{v6} (Marcelo Leitner) [1811193] - [net] netfilter: nf_tables: dump NFTA_CHAIN_FLAGS attribute (Marcelo Leitner) [1811193] - [net] netfilter: nf_tables: free flowtable hooks on hook register error (Marcelo Leitner) [1811193] - [net] netfilter: flowtable: add tunnel encap/decap action offload support (Marcelo Leitner) [1811193] - [net] netfilter: flowtable: add indr block setup support (Marcelo Leitner) [1811193] - [net] netfilter: flowtable: add nf_flow_table_block_offload_init() (Marcelo Leitner) [1811193] - [net] netfilter: flowtable: add tunnel match offload support (Marcelo Leitner) [1811193] - [net] netfilter: flowtable: skip offload setup if disabled (Marcelo Leitner) [1811193] - [net] netfilter: flowtable: Use nf_flow_offload_tuple for stats as well (Marcelo Leitner) [1811193] - [net] flow_offload: Add flow_match_ct to get rule ct match (Marcelo Leitner) [1811193] - [include] net/sched: act_ct: Enable hardware offload of flow table entires (Marcelo Leitner) [1811193] - [include] net/sched: act_ct: Support refreshing the flow table entries (Marcelo Leitner) [1811193] - [include] net/sched: act_ct: Support restoring conntrack info on skbs (Marcelo Leitner) [1811193] - [net] sched: act_ct: Instantiate flow table entry actions (Marcelo Leitner) [1811193] - [net] netfilter: flowtable: Add API for registering to flow table events (Marcelo Leitner) [1811193] - [net] netfilter: flowtable: Fix setting forgotten NF_FLOW_HW_DEAD flag (Marcelo Leitner) [1811193] - [net] netfilter: flowtable: Fix missing flush hardware on table free (Marcelo Leitner) [1811193] - [net] netfilter: flowtable: Fix hardware flush order on nf_flow_table_cleanup (Marcelo Leitner) [1811193] - [net] netfilter: nf_tables_offload: fix check the chain offload flag (Marcelo Leitner) [1811193] - [net] netfilter: nf_tables: fix memory leak in nf_tables_parse_netdev_hooks() (Marcelo Leitner) [1811193] - [net] netfilter: flowtable: add nf_flow_table_offload_cmd() (Marcelo Leitner) [1811193] - [net] netfilter: flowtable: add nf_flow_offload_tuple() helper (Marcelo Leitner) [1811193] - [net] netfilter: flowtable: refresh flow if hardware offload fails (Marcelo Leitner) [1811193] - [net] netfilter: flowtable: add nf_flowtable_hw_offload() helper function (Marcelo Leitner) [1811193] - [net] netfilter: flowtable: use atomic bitwise operations for flow flags (Marcelo Leitner) [1811193] - [net] netfilter: flowtable: remove dying bit, use teardown bit instead (Marcelo Leitner) [1811193] - [net] netfilter: flowtable: add nf_flow_offload_work_alloc() (Marcelo Leitner) [1811193] - [net] netfilter: flowtable: restrict flow dissector match on meta ingress device (Marcelo Leitner) [1811193] - [net] netfilter: flowtable: fetch stats only if flow is still alive (Marcelo Leitner) [1811193] - [net] netfilter: flowtable: add nf_flowtable_time_stamp (Marcelo Leitner) [1811193] - [net] netfilter: nf_tables: unbind callbacks from flowtable destroy path (Marcelo Leitner) [1811193] - [net] netfilter: nf_flow_table_offload: fix the nat port mangle. (Marcelo Leitner) [1811193] - [net] netfilter: nf_flow_table_offload: check the status of dst_neigh (Marcelo Leitner) [1811193] - [net] netfilter: nf_flow_table_offload: fix incorrect ethernet dst address (Marcelo Leitner) [1811193] - [net] netfilter: nf_flow_table: fix big-endian integer overflow (Marcelo Leitner) [1811193] - [net] netfilter: nf_flow_table_offload: Correct memcpy size for flow_overload_mangle() (Marcelo Leitner) [1811193] - [net] netfilter: nf_tables_offload: return EOPNOTSUPP if rule specifies no actions (Marcelo Leitner) [1811193] - [net] netfilter: nf_flow_table_offload: add IPv6 match description (Marcelo Leitner) [1811193] - [net] netfilter: nf_flow_table_offload: Don't use offset uninitialized in flow_offload_port_{d, s}nat (Marcelo Leitner) [1811193] - [net] netfilter: nf_flow_table_offload: Fix block_cb tc_setup_type as TC_SETUP_CLSFLOWER (Marcelo Leitner) [1811193] - [net] netfilter: nf_flow_table_offload: Fix block setup as TC_SETUP_FT cmd (Marcelo Leitner) [1811193] - [net] netfilter: nf_tables: check if bind callback fails and unbind if hook registration fails (Marcelo Leitner) [1811193] - [net] netfilter: nf_tables: add nft_unregister_flowtable_hook() (Marcelo Leitner) [1811193] - [net] netfilter: nf_tables_offload: undo updates if transaction fails (Marcelo Leitner) [1811193] - [net] netfilter: nf_tables_offload: release flow_rule on error from commit path (Marcelo Leitner) [1811193] - [net] netfilter: nf_tables_offload: remove reference to flow rule from deletion path (Marcelo Leitner) [1811193] - [net] netfilter: nf_flow_table_offload: add IPv6 support (Marcelo Leitner) [1811193] - [net] netfilter: nf_flow_table_offload: add flow_action_entry_next() and use it (Marcelo Leitner) [1811193] - [net] netfilter: nf_flow_table: remove unnecessary parameter in flow_offload_fill_dir (Marcelo Leitner) [1811193] - [net] netfilter: nf_flow_table_offload: Fix check ndo_setup_tc when setup_block (Marcelo Leitner) [1811193] - [net] netfilter: nf_tables_offload: Check for the NETDEV_UNREGISTER event (Marcelo Leitner) [1811193] - [net] netfilter: nf_flow_table: hardware offload support (Marcelo Leitner) [1811193] - [net] netfilter: nf_tables: add flowtable offload control plane (Marcelo Leitner) [1811193] - [net] netfilter: nf_flow_table: detach routing information from flow description (Marcelo Leitner) [1811193] - [net] netfilter: nft_flow_offload: skip tcp rst and fin packets (Marcelo Leitner) [1811193] - [net] netfilter: nf_flowtable: remove flow_offload_entry structure (Marcelo Leitner) [1811193] - [include] netfilter: nf_flow_table: remove union from flow_offload structure (Marcelo Leitner) [1811193] - [net] netfilter: nf_flow_table: move conntrack object to struct flow_offload (Marcelo Leitner) [1811193] - [net] netfilter: nf_tables_offload: skip EBUSY on chain update (Marcelo Leitner) [1811193] - [net] netfilter: nf_tables: bogus EOPNOTSUPP on basechain update (Marcelo Leitner) [1811193] - [net] netfilter: nf_tables_offload: pass extack to nft_flow_cls_offload_setup() (Marcelo Leitner) [1811193] - [net] netfilter: nft_meta: offload support for interface index (Marcelo Leitner) [1811193] - [net] netfilter: nf_tables: white-space fixes. (Marcelo Leitner) [1811193] - [net] netfilter: nf_tables_offload: check for register data length mismatches (Marcelo Leitner) [1811193] - [net] netfilter: nft_bitwise: Adjust parentheses to fix memcmp size argument (Marcelo Leitner) [1811193] - [net] netfilter: nft_bitwise: add offload support (Marcelo Leitner) [1811193] - [net] netfilter: nf_tables_offload: unbind if multi-device binding fails (Marcelo Leitner) [1811193] - [net] netfilter: nf_tables_offload: add nft_flow_block_offload_init() (Marcelo Leitner) [1811193] - [net] netfilter: nf_tables_offload: add nft_chain_offload_cmd() (Marcelo Leitner) [1811193] - [net] netfilter: nf_tables_offload: restore basechain deletion (Marcelo Leitner) [1811193] - [net] netfilter: nf_tables: support for multiple devices per netdev hook (Marcelo Leitner) [1811193] - [net] netfilter: nf_tables: fix base chain stat rcu_dereference usage (Marcelo Leitner) [1811193] - [net] netfilter: nf_tables_offload: remove rules on unregistered device only (Marcelo Leitner) [1811193] - [net] netfilter: nf_tables_offload: add nft_flow_cls_offload_setup() (Marcelo Leitner) [1811193] - [net] netfilter: nf_tables_offload: Pass callback list to nft_setup_cb_call() (Marcelo Leitner) [1811193] - [net] netfilter: nf_tables_offload: add nft_flow_block_chain() (Marcelo Leitner) [1811193] - [net] netfilter: nf_tables: increase maximum devices number per flowtable (Marcelo Leitner) [1811193] - [net] netfilter: nf_tables: allow netdevice to be used only once per flowtable (Marcelo Leitner) [1811193] - [net] netfilter: nf_tables: dynamically allocate hooks per net_device in flowtables (Marcelo Leitner) [1811193] - [net] netfilter: nf_flow_table: remove flowtable hook flush routine in netns exit routine (Marcelo Leitner) [1811193] - [net] netfilter: nf_flow_table: move priority to struct nf_flowtable (Marcelo Leitner) [1811193] - [net] netfilter: nft_payload: fix missing check for matching length in offloads (Marcelo Leitner) [1811193] - [net] netfilter: nf_flow_table: set timeout before insertion into hashes (Marcelo Leitner) [1811193] - [net] netfilter: nf_tables_offload: fix always true policy is unset check (Marcelo Leitner) [1811193] - [net] netfilter: nf_tables: add NFT_CHAIN_POLICY_UNSET and use it (Marcelo Leitner) [1811193] - [net] netfilter: nf_tables_offload: remove rules when the device unregisters (Marcelo Leitner) [1811193] - [net] netfilter: nf_tables_offload: refactor the nft_flow_offload_rule function (Marcelo Leitner) [1811193] - [net] netfilter: nf_tables_offload: refactor the nft_flow_offload_chain function (Marcelo Leitner) [1811193] - [net] netfilter: nf_tables_offload: add __nft_offload_get_chain function (Marcelo Leitner) [1811193] - [net] netfilter: nft_{fwd, dup}_netdev: add offload support (Marcelo Leitner) [1811193] - [net] netfilter: nf_tables_offload: avoid excessive stack usage (Marcelo Leitner) [1811193] - [net] netfilter: nf_tables_offload: move indirect flow_block callback logic to core (Marcelo Leitner) [1811193] - [net] netfilter: nf_flow_table: set default timeout after successful insertion (Marcelo Leitner) [1811193] - [net] netfilter: ctnetlink: honor IPS_OFFLOAD flag (Marcelo Leitner) [1811193] - [net] netfilter: nf_flow_table: clear skb tstamp before xmit (Marcelo Leitner) [1811193] - [net] netfilter: nf_tables: map basechain priority to hardware priority (Marcelo Leitner) [1811193] - [net] netfilter: nf_flow_table: teardown flow timeout race (Marcelo Leitner) [1811193] - [net] netfilter: nf_flow_table: conntrack picks up expired flows (Marcelo Leitner) [1811193] - [net] netfilter: nf_tables_offload: support indr block call (Marcelo Leitner) [1811193] - [net] flow_offload: add flow_block structure and use it (Marcelo Leitner) [1811193] - [net] netfilter: nf_tables: store data in offload context registers (Marcelo Leitner) [1811193] - [net] netfilter: nf_flow_table: fix offload for flows that are subject to xfrm (Marcelo Leitner) [1811193] - [net] netfilter: nf_tables: don't fail when updating base chain policy (Marcelo Leitner) [1811193] - [net] netfilter: nf_tables: add hardware offload support (Marcelo Leitner) [1811193] - [net] netfilter: nf_tables: delay chain policy update until transaction is complete (Marcelo Leitner) [1811193] - [net] netfilter: nft_flow_offload: IPCB is only valid for ipv4 family (Marcelo Leitner) [1811193] - [net] netfilter: nft_flow_offload: don't offload when sequence numbers need adjustment (Marcelo Leitner) [1811193] - [net] netfilter: nft_flow_offload: set liberal tracking mode for tcp (Marcelo Leitner) [1811193] - [net] netfilter: nf_flow_table: ignore DF bit setting (Marcelo Leitner) [1811193] - [net] netfilter: nf_flow_table: remove unnecessary variable in flow_offload_tuple (Marcelo Leitner) [1811193] - [net] netfilter: nft_flow_offload: add entry to flowtable after confirmation (Marcelo Leitner) [1811193] - [net] netfilter: nft_flow_offload: fix checking method of conntrack helper (Marcelo Leitner) [1811193] - [net] netfilter: nf_flow_table: fix missing error check for rhashtable_insert_fast (Marcelo Leitner) [1811193] - [net] netfilter: nf_flow_table: do not flow offload deleted conntrack entries (Marcelo Leitner) [1811193] - [net] netfilter: nf_flow_table: simplify nf_flow_offload_gc_step() (Marcelo Leitner) [1811193] - [net] netfilter: nf_flow_table: check ttl value in flow offload data path (Marcelo Leitner) [1811193] - [net] netfilter: nf_flow_table: fix netdev refcnt leak (Marcelo Leitner) [1811193] - [net] netfilter: nf_flowtable: skip device lookup from interface index (Marcelo Leitner) [1811193] - [net] netfilter: conntrack: fix IPV6=n builds (Marcelo Leitner) [1811193] - [net] netfilter: nft_flow_offload: fix interaction with vrf slave device (Marcelo Leitner) [1811193] - [net] netfilter: nft_flow_offload: Fix reverse route lookup (Marcelo Leitner) [1811193] - [net] netfilter: nf_flow_table: make nf_flow_table_iterate() static (Marcelo Leitner) [1811193] - [net] netfilter: nf_flow_table: do not remove offload when other netns's interface is down (Marcelo Leitner) [1811193] - [net] netfilter: nf_flow_table: remove unnecessary parameter of nf_flow_table_cleanup() (Marcelo Leitner) [1811193] - [net] netfilter: nf_tables: use rhashtable_lookup() instead of rhashtable_lookup_fast() (Marcelo Leitner) [1811193] - [net] netfilter: nf_flow_table: remove unnecessary nat flag check code (Marcelo Leitner) [1811193] - [net] mptcp: mark tech preview and disable by default (Florian Westphal) [1835796] - [net] mptcp: fix bogus socket flag values (Florian Westphal) [1835796] - [net] mptcp: select CRYPTO (Florian Westphal) [1835796] - [net] mptcp: Protect subflow socket options before connection completes (Florian Westphal) [1835796] - [net] mptcp: make the symbol 'mptcp_sk_clone_lock' static (Florian Westphal) [1835796] - [net] mptcp: fix use-after-free for ipv6 (Florian Westphal) [1835796] - [net] mptcp: fix use-after-free on tcp fallback (Florian Westphal) [1835796] - [net] mptcp: Fix undefined mptcp_handle_ipv6_mapped for modular IPV6 (Florian Westphal) [1835796] - [net] mptcp: Fix incorrect IPV6 dependency check (Florian Westphal) [1835796] - [net] mptcp: handle tcp fallback when using syn cookies (Florian Westphal) [1835796] - [net] mptcp: avoid a lockdep splat when mcast group was joined (Florian Westphal) [1835796] - [net] mptcp: fix panic on user pointer access (Florian Westphal) [1835796] - [net] mptcp: defer freeing of cached ext until last moment (Florian Westphal) [1835796] - [net] mptcp: Fix build with PROC_FS disabled. (Florian Westphal) [1835796] - [tools] selftests: settings: tests can be in subsubdirs (Florian Westphal) [1835796] - [net] mptcp: Fix code formatting (Florian Westphal) [1835796] - [net] mptcp: do not inherit inet proto ops (Florian Westphal) [1835796] - [net] add and use MPTCP_PROTO_KERN (Florian Westphal) [1835796] - [net] mptcp: cope with later TCP fallback (Florian Westphal) [1835796] - [net] mptcp: process MP_CAPABLE data option (Florian Westphal) [1835796] - [net] mptcp: parse and emit MP_CAPABLE option according to v1 spec (Florian Westphal) [1835796] - [net] mptcp: move from sha1 (v0) to sha256 (v1) (Florian Westphal) [1835796] - [tools] mptcp: add basic kselftest for mptcp (Florian Westphal) [1835796] - [net] mptcp: new sysctl to control the activation per NS (Florian Westphal) [1835796] - [net] mptcp: allow collapsing consecutive sendpages on the same substream (Florian Westphal) [1835796] - [net] mptcp: recvmsg() can drain data from multiple subflows (Florian Westphal) [1835796] - [net] mptcp: add subflow write space signalling and mptcp_poll (Florian Westphal) [1835796] - [net] mptcp: Implement MPTCP receive path (Florian Westphal) [1835796] - [net] mptcp: Write MPTCP DSS headers to outgoing data packets (Florian Westphal) [1835796] - [net] mptcp: Add setsockopt()/getsockopt() socket operations (Florian Westphal) [1835796] - [net] mptcp: Add shutdown() socket operation (Florian Westphal) [1835796] - [net] mptcp: Add key generation and token tree (Florian Westphal) [1835796] - [net] mptcp: Create SUBFLOW socket for incoming connections (Florian Westphal) [1835796] - [net] mptcp: Handle MP_CAPABLE options for outgoing connections (Florian Westphal) [1835796] - [net] mptcp: Associate MPTCP context with TCP socket (Florian Westphal) [1835796] - [net] mptcp: Handle MPTCP TCP options (Florian Westphal) [1835796] - [net] mptcp: Add MPTCP socket stubs (Florian Westphal) [1835796] - [net] netfilter: conntrack: fix infinite loop on rmmod (Florian Westphal) [1832381] - [tools] selftests: add netdevsim devlink dev info test (Petr Oros) [1830928] - [tools] selftests: test netdevsim reload forbid and fail (Petr Oros) [1830928] - [netdrv] mlx4: fix "initializer element not constant" compiler error (Petr Oros) [1830928] - [netdrv] netdevsim: dev: Fix memory leak in nsim_dev_take_snapshot_write (Petr Oros) [1830928] - [net] devlink: fix return value after hitting end in region read (Petr Oros) [1830928] - [net] devlink: Fix reporter's recovery condition (Petr Oros) [1830928] - [documentation] docs: devlink: clarify the scope of snapshot id (Petr Oros) [1830928] - [net] devlink: let kernel allocate region snapshot id (Petr Oros) [1830928] - [net] devlink: factor out building a snapshot notification (Petr Oros) [1830928] - [documentation] devlink: fix broken link warning (Petr Oros) [1830928] - [net] devlink: use NL_SET_ERR_MSG_MOD instead of NL_SET_ERR_MSG (Petr Oros) [1830928] - [include] devlink: Add macro for "fw.mgmt.api" to info_get cb. (Petr Oros) [1830928] - [netdrv] netdevsim: support taking immediate snapshot via devlink (Petr Oros) [1830928] - [net] devlink: implement DEVLINK_CMD_REGION_NEW (Petr Oros) [1830928] - [net] devlink: track snapshot id usage count using an xarray (Petr Oros) [1830928] - [net] devlink: report error once U32_MAX snapshot ids have been used (Petr Oros) [1830928] - [net] devlink: extract snapshot id allocation to helper function (Petr Oros) [1830928] - [net] devlink: use -ENOSPC to indicate no more room for snapshots (Petr Oros) [1830928] - [net] devlink: add function to take snapshot while locked (Petr Oros) [1830928] - [net] devlink: trivial: fix tab in function documentation (Petr Oros) [1830928] - [net] devlink: convert snapshot destructor callback to region op (Petr Oros) [1830928] - [net] devlink: prepare to support region operations (Petr Oros) [1830928] - [documentation] devlink: expand the devlink-info documentation (Petr Oros) [1830928] - [net] devlink: Introduce devlink port flavour virtual (Petr Oros) [1830928] - [net] devlink: validate length of region addr/len (Petr Oros) [1830928] - [net] devlink: validate length of param values (Petr Oros) [1830928] - [net] core: Replace zero-length array with flexible-array member (Petr Oros) [1830928] - [net] core: devlink.c: Use built-in RCU list checking (Petr Oros) [1830928] - [net] devlink: Rely on driver eswitch thread safety instead of devlink (Petr Oros) [1830928] - [net] core: devlink.c: Hold devlink->lock from the beginning of devlink_dpipe_table_register() (Petr Oros) [1830928] - [net] devlink: Force enclosing array on binary fmsg data (Petr Oros) [1830928] - [net] devlink: report 0 after hitting end in region read (Petr Oros) [1830928] - [net] devlink: correct misspelling of snapshot (Petr Oros) [1830928] - [tools] selftests: Add a test of large binary to devlink health test (Petr Oros) [1830928] - [netdrv] netdevsim: Update dummy reporter's devlink binary interface (Petr Oros) [1830928] - [net] devlink: Allow large formatted message of binary output (Petr Oros) [1830928] - [tools] selftests: netdevsim: Add test cases for devlink-trap policers (Petr Oros) [1823743] - [netdrv] netdevsim: Add support for setting of packet trap group parameters (Petr Oros) [1823743] - [net] devlink: Allow setting of packet trap group parameters (Petr Oros) [1823743] - [net] devlink: Add packet trap group parameters support (Petr Oros) [1823743] - [netdrv] netdevsim: Add devlink-trap policer support (Petr Oros) [1823743] - [documentation] Add description of packet trap policers (Petr Oros) [1823743] - [net] devlink: Add packet trap policers support (Petr Oros) [1823743] - [net] devlink: Add auto dump flag to health reporter (Petr Oros) [1823743] - [net] devlink: Implicitly set auto recover flag when registering health reporter (Petr Oros) [1823743] - [netdrv] netdevsim: Change dummy reporter auto recover default (Petr Oros) [1823743] - [net] devlink: Only pass packet trap group identifier in trap structure (Petr Oros) [1823743] - [net] devlink: Stop reference counting packet trap groups (Petr Oros) [1823743] - [netdrv] netdevsim: Explicitly register packet trap groups (Petr Oros) [1823743] - [net] devlink: Add API to register packet trap groups (Petr Oros) [1823743] - [net] esp6: calculate transport_header correctly when sel.family != AF_INET6 (Xin Long) [1815980 1761579] - [net] esp4: support ipv6 nexthdrs process for beet gso segment (Xin Long) [1815980 1761579] - [net] esp6: support ipv6 nexthdrs process for beet gso segment (Xin Long) [1815980 1761579] - [net] xfrm: remove the xfrm_state_put call becofe going to out_reset (Xin Long) [1815980 1761579] - [net] esp6: get the right proto for transport mode in esp6_gso_encap (Xin Long) [1815980 1761579] - [net] xfrm: do pskb_pull properly in __xfrm_transport_prep (Xin Long) [1815980 1761579] - [net] xfrm: allow to accept packets with ipv6 NEXTHDR_HOP in xfrm_input (Xin Long) [1815980 1761579] - [net] xfrm: add prep for esp beet mode offload (Xin Long) [1815980 1761579] - [net] esp6: add gso_segment for esp6 beet mode (Xin Long) [1815980 1761579] - [net] esp4: add gso_segment for esp4 beet mode (Xin Long) [1815980 1761579] - [net] xfrm: kconfig: make xfrm depend on inet (Xin Long) [1815980 1761579] - [net] xfrm: make xfrm modes builtin (Xin Long) [1815980 1761579] - [net] xfrm: remove afinfo pointer from xfrm_mode (Xin Long) [1815980 1761579] - [net] xfrm: remove output2 indirection from xfrm_mode (Xin Long) [1815980 1761579] - [net] xfrm: remove input2 indirection from xfrm_mode (Xin Long) [1815980 1761579] - [net] xfrm: remove gso_segment indirection from xfrm_mode (Xin Long) [1815980 1761579] - [net] xfrm: remove xmit indirection from xfrm_mode (Xin Long) [1815980 1761579] - [net] xfrm: remove output indirection from xfrm_mode (Xin Long) [1815980 1761579] - [net] xfrm: remove input indirection from xfrm_mode (Xin Long) [1761579 1815980] - [net] xfrm: prefer family stored in xfrm_mode struct (Xin Long) [1815980 1761579] - [net] xfrm: place af number into xfrm_mode struct (Xin Long) [1761579 1815980] - [net] xfrm: gso partial offload support (Xin Long) [1761579 1815980] - [net] netfilter: cttimeout: remove set but not used variable 'l3num' (Florian Westphal) [1822085] - [net] netfilter: conntrack: handle icmp pkt_to_tuple helper via direct calls (Florian Westphal) [1822085] - [net] netfilter: conntrack: handle builtin l4proto packet functions via direct calls (Florian Westphal) [1822085] - [net] netfilter: conntrack: remove net_id (Florian Westphal) [1822085] - [net] netfilter: conntrack: gre: switch module to be built-in (Florian Westphal) [1822085] - [net] netfilter: remove unused parameters in nf_ct_l4proto_[un]register_sysctl() (Florian Westphal) [1822085] - [net] netfilter: conntrack: gre: convert rwlock to rcu (Florian Westphal) [1822085] - [net] netfilter: nfnetlink_cttimeout: fetch timeouts for udplite and gre, too (Florian Westphal) [1822085] - [net] netfilter: nfnetlink_cttimeout: pass default timeout policy to obj_to_nlattr (Florian Westphal) [1822085] - [net] netfilter: conntrack: add nf_{tcp, udp, sctp, icmp, dccp, icmpv6, generic}_pernet() (Florian Westphal) [1822085] - [net] netfilter: conntrack: clamp l4proto array size at largers supported protocol (Florian Westphal) [1822085] - [net] netfilter: conntrack: remove l3->l4 mapping information (Florian Westphal) [1822085] - [net] netfilter: conntrack: remove unused proto arg from netns init functions (Florian Westphal) [1822085] - [net] netfilter: conntrack: remove error callback and handle icmp from core (Florian Westphal) [1822085] - [net] netfilter: conntrack: avoid using ->error callback if possible (Florian Westphal) [1822085] - [net] netfilter: conntrack: deconstify packet callback skb pointer (Florian Westphal) [1822085] - [net] netfilter: conntrack: remove the l4proto->new() function (Florian Westphal) [1822085] - [net] netfilter: conntrack: timeout interface depend on CONFIG_NF_CONNTRACK_TIMEOUT (Florian Westphal) [1822085] - [net] netfilter: conntrack: pass nf_hook_state to packet and error handlers (Florian Westphal) [1822085] - [net] netfilter: conntrack: place 'new' timeout in first location too (Florian Westphal) [1822085] - [net] netfilter: nf_conntrack_h323: Remove deprecated config check (Florian Westphal) [1822085] - [include] netfilter: nf_tables: merge route type into core (Florian Westphal) [1822085] - [net] netfilter: ipv6: avoid indirect calls for IPV6=y case (Florian Westphal) [1822085] - [net] netfilter: nat: remove module dependency on ipv6 core (Florian Westphal) [1822085] - [net] netfilter: remove obsolete need_conntrack stub (Florian Westphal) [1822085] - [net] netfilter: conntrack: avoid use-after free on rmmod (Florian Westphal) [1822085] - [net] netfilter: conntrack: dccp, sctp: handle null timeout argument (Florian Westphal) [1822085] - [net] netfilter: conntrack: remove duplicated include from nf_conntrack_proto_udp.c (Florian Westphal) [1822085] - [net] netfilter: conntrack: remove l3proto abstraction (Florian Westphal) [1822085] - [net] netfilter: conntrack: remove get_timeout() indirection (Florian Westphal) [1822085] - [net] netfilter: conntrack: avoid l4proto pkt_to_tuple calls (Florian Westphal) [1822085] - [net] netfilter: conntrack: avoid calls to l4proto invert_tuple (Florian Westphal) [1822085] - [net] netfilter: conntrack: remove get_l4proto indirection from l3 protocol trackers (Florian Westphal) [1822085] - [net] netfilter: conntrack: remove invert_tuple indirection from l3 protocol trackers (Florian Westphal) [1822085] - [net] netfilter: conntrack: remove pkt_to_tuple indirection from l3 protocol trackers (Florian Westphal) [1822085] - [net] netfilter: conntrack: remove ctnetlink callbacks from l3 protocol trackers (Florian Westphal) [1822085] - [net] openvswitch: use nf_ct_get_tuplepr, invert_tuplepr (Florian Westphal) [1822085] - [net] netfilter: utils: move nf_ip6_checksum* from ipv6 to utils (Florian Westphal) [1822085] - [net] netfilter: utils: move nf_ip_checksum* from ipv4 to utils (Florian Westphal) [1822085] - [net] netfilter: flowtables: use fixed renew timeout on teardown (Florian Westphal) [1822085] - [netdrv] geneve: use the correct nlattr array in NL_SET_ERR_MSG_ATTR (Xin Long) [1809503] - [netdrv] vxlan: use the correct nlattr array in NL_SET_ERR_MSG_ATTR (Xin Long) [1809503] - [netdrv] geneve: Allow configuration of DF behaviour (Xin Long) [1809503] - [netdrv] vxlan: Allow configuration of DF behaviour (Xin Long) [1809503] - [netdrv] net: phy: realtek: fix using paged operations with RTL8105e / RTL8208 (Josef Oskera) [1841511] - [netdrv] r8169: fix OCP access on RTL8117 (Josef Oskera) [1841511] - [netdrv] r8169: re-establish support for RTL8401 chip version (Josef Oskera) [1841511] - [netdrv] r8169: change back SG and TSO to be disabled by default (Josef Oskera) [1841511] - [netdrv] r8169: factor out rtl8169_tx_map (Josef Oskera) [1841511] - [netdrv] r8169: improve handling of TD_MSS_MAX (Josef Oskera) [1841511] - [netdrv] r8169: fix PHY driver check on platforms w/o module softdeps (Josef Oskera) [1841511] - [netdrv] r8169: re-enable MSI on RTL8168c (Josef Oskera) [1841511] - [netdrv] r8169: don't use MSI before RTL8168d (Josef Oskera) [1841511] - [netdrv] r8169: improve RTL8168b FIFO overflow workaround (Josef Oskera) [1841511] - [netdrv] r8169: improve rtl_schedule_task (Josef Oskera) [1841511] - [netdrv] r8169: simplify rtl_task (Josef Oskera) [1841511] - [netdrv] r8169: add new helper rtl8168g_enable_gphy_10m (Josef Oskera) [1841511] - [netdrv] net: r8169: reject unsupported coalescing params (Josef Oskera) [1841511] - [netdrv] r8169: simplify getting stats by using netdev_stats_to_stats64 (Josef Oskera) [1841511] - [netdrv] r8169: let rtl8169_mark_to_asic clear rx descriptor field opts2 (Josef Oskera) [1841511] - [netdrv] r8169: remove now unneeded barrier in rtl_tx (Josef Oskera) [1841511] - [netdrv] r8169: simplify usage of rtl8169_unmap_tx_skb (Josef Oskera) [1841511] - [netdrv] r8169: ensure tx_skb is fully reset after calling rtl8169_unmap_tx_skb (Josef Oskera) [1841511] - [netdrv] r8169: convert while to for loop in rtl_tx (Josef Oskera) [1841511] - [netdrv] r8169: use pci_status_get_and_clear_errors (Josef Oskera) [1841511] - [netdrv] r8169: add PCI_STATUS_PARITY to PCI status error bits (Josef Oskera) [1841511] - [netdrv] r8169: improve rtl8169_start_xmit (Josef Oskera) [1841511] - [netdrv] r8169: remove RTL_EVENT_NAPI constants (Josef Oskera) [1841511] - [netdrv] r8169: use new helper tcp_v6_gso_csum_prep (Josef Oskera) [1841511] - [netdrv] r8169: improve statistics of missed rx packets (Josef Oskera) [1841511] - [netdrv] r8169: improve rtl_jumbo_config (Josef Oskera) [1841511] - [netdrv] r8169: improve rtl8169_get_mac_version (Josef Oskera) [1841511] - [netdrv] r8169: add helper rtl_pci_commit (Josef Oskera) [1841511] - [netdrv] r8169: simplify setting netdev features (Josef Oskera) [1841511] - [netdrv] r8169: remove setting PCI_CACHE_LINE_SIZE in rtl_hw_start_8169 (Josef Oskera) [1841511] - [netdrv] r8169: remove unneeded check from rtl_link_chg_patch (Josef Oskera) [1841511] - [netdrv] r8169: fix performance regression related to PCIe max read request size (Josef Oskera) [1841511] - [netdrv] r8169: don't set min_mtu/max_mtu if not needed (Josef Oskera) [1841511] - [netdrv] r8169: factor out PHY configuration to r8169_phy_config.c (Josef Oskera) [1841511] - [netdrv] r8169: add r8169.h (Josef Oskera) [1841511] - [netdrv] r8169: rename rtl_apply_firmware (Josef Oskera) [1841511] - [netdrv] r8169: add phydev argument to rtl8168d_apply_firmware_cond (Josef Oskera) [1841511] - [netdrv] r8169: use phy_read/write instead of rtl_readphy/writephy (Josef Oskera) [1841511] - [netdrv] r8169: replace rtl_w0w1_phy (Josef Oskera) [1841511] - [netdrv] r8169: replace rtl_patchphy (Josef Oskera) [1841511] - [netdrv] r8169: move disabling MAC EEE for RTL8402/RTL8106e (Josef Oskera) [1841511] - [netdrv] r8169: move setting ERI register 0x1d0 for RTL8106 (Josef Oskera) [1841511] - [netdrv] r8169: switch to phylib functions in rtl_writephy_batch (Josef Oskera) [1841511] - [netdrv] r8169: change argument type of RTL8168g-specific PHY config functions (Josef Oskera) [1841511] - [netdrv] r8169: change argument type of EEE PHY functions (Josef Oskera) [1841511] - [netdrv] r8169: move RTL8169scd Gigabyte PHY quirk (Josef Oskera) [1841511] - [netdrv] r8169: remove not needed debug print in rtl8169_init_phy (Josef Oskera) [1841511] - [netdrv] r8169: prepare for exporting rtl_hw_phy_config (Josef Oskera) [1841511] - [netdrv] r8169: add constant EnAnaPLL (Josef Oskera) [1841511] - [netdrv] r8169: move enabling EEE to rtl8169_init_phy (Josef Oskera) [1841511] - [netdrv] r8169: remove MAC workaround in rtl8168e_2_hw_phy_config (Josef Oskera) [1841511] - [netdrv] r8169: factor out rtl8168h_2_get_adc_bias_ioffset (Josef Oskera) [1841511] - [netdrv] r8169: check that Realtek PHY driver module is loaded (Josef Oskera) [1841511] - [netdrv] treewide: Use sizeof_field() macro (Josef Oskera) [1841511] - [netdrv] r8169: fix rtl_hw_jumbo_disable for RTL8168evl (Josef Oskera) [1841511] - [netdrv] r8169: add missing RX enabling for WoL on RTL8125 (Josef Oskera) [1841511] - [netdrv] r8169: fix jumbo configuration for RTL8168evl (Josef Oskera) [1841511] - [netdrv] r8169: add check for PHY_MDIO_CHG to rtl_nic_fw_data_ok (Josef Oskera) [1841511] - [netdrv] r8169: use macro FIELD_SIZEOF in definition of FW_OPCODE_SIZE (Josef Oskera) [1841511] - [netdrv] r8169: change mdelay to msleep in rtl_fw_write_firmware (Josef Oskera) [1841511] - [netdrv] r8169: load firmware for RTL8168fp/RTL8117 (Josef Oskera) [1841511] - [netdrv] r8169: improve conditional firmware loading for RTL8168d (Josef Oskera) [1841511] - [netdrv] r8169: use r8168d_modify_extpage in rtl8168f_config_eee_phy (Josef Oskera) [1841511] - [netdrv] r8169: add support for RTL8117 (Josef Oskera) [1841511] - [netdrv] r8169: respect EEE user setting when restarting network (Josef Oskera) [1841511] - [netdrv] r8169: remove rtl8168c_4_hw_phy_config (Josef Oskera) [1841511] - [netdrv] r8169: add helper r8168d_modify_extpage (Josef Oskera) [1841511] - [netdrv] r8169: switch to phylib functions in more places (Josef Oskera) [1841511] - [netdrv] r8169: add helper r8168d_phy_param (Josef Oskera) [1841511] - [netdrv] r8169: add helper r8168g_phy_param (Josef Oskera) [1841511] - [netdrv] r8169: fix page read in r8168g_mdio_read (Josef Oskera) [1841511] - [netdrv] r8169: fix wrong PHY ID issue with RTL8168dp (Josef Oskera) [1841511] - [netdrv] r8169: use helper rtl_hw_aspm_clkreq_enable also in rtl_hw_start_8168g_2 (Josef Oskera) [1841511] - [netdrv] r8169: improve rtl8169_rx_fill (Josef Oskera) [1841511] - [netdrv] r8169: align fix_features callback with vendor driver (Josef Oskera) [1841511] - [netdrv] r8169: never set PCI_EXP_DEVCTL_NOSNOOP_EN (Josef Oskera) [1841511] - [netdrv] r8169: remove rtl_hw_start_8168bef (Josef Oskera) [1841511] - [netdrv] r8169: remove rtl_hw_start_8168dp (Josef Oskera) [1841511] - [netdrv] r8169: simplify setting PCI_EXP_DEVCTL_NOSNOOP_EN (Josef Oskera) [1841511] - [netdrv] r8169: remove fiddling with the PCIe max read request size (Josef Oskera) [1841511] - [netdrv] r8169: fix jumbo packet handling on resume from suspend (Josef Oskera) [1841511] - [netdrv] r8169: don't set bit RxVlan on RTL8125 (Josef Oskera) [1841511] - [netdrv] r8169: add support for EEE on RTL8125 (Josef Oskera) [1841511] - [netdrv] r8169: add RTL8125 PHY initialization (Josef Oskera) [1841511] - [netdrv] r8169: add support for RTL8125 (Josef Oskera) [1841511] - [netdrv] r8169: don't use bit LastFrag in tx descriptor after send (Josef Oskera) [1841511] - [netdrv] r8169: read common register for PCI commit (Josef Oskera) [1841511] - [netdrv] r8169: move disabling interrupt coalescing to RTL8169/RTL8168 init (Josef Oskera) [1841511] - [netdrv] r8169: factor out reading MAC address from registers (Josef Oskera) [1841511] - [netdrv] r8169: restrict rtl_is_8168evl_up to RTL8168 chip versions (Josef Oskera) [1841511] - [netdrv] r8169: change interrupt mask type to u32 (Josef Oskera) [1841511] - [netdrv] r8169: improve DMA handling in rtl_rx (Josef Oskera) [1841511] - [netdrv] r8169: fix DMA issue on MIPS platform (Josef Oskera) [1841511] - [netdrv] r8169: sync EEE handling for RTL8168h with vendor driver (Josef Oskera) [1841511] - [netdrv] r8169: use the generic EEE management functions (Josef Oskera) [1841511] - [fs] gfs2: Even more gfs2_find_jhead fixes (Abhijith Das) [1828653] - [kernel] sched/fair: Don't NUMA balance for kthreads (Phil Auld) [1842543] - [kernel] sched/core: Offload wakee task activation if it the wakee is descheduling (Phil Auld) [1842543] - [kernel] sched/core: Optimize ttwu() spinning on p->on_cpu (Phil Auld) [1842543] - [fs] gfs2: Smarter iopen glock waiting (Andreas Grunbacher) [1582655] - [fs] gfs2: Wake up when setting GLF_DEMOTE (Andreas Grunbacher) [1582655] - [fs] gfs2: Check inode generation number in delete_work_func (Andreas Grunbacher) [1582655] - [fs] gfs2: Move inode generation number check into gfs2_inode_lookup (Andreas Grunbacher) [1582655] - [fs] gfs2: Minor gfs2_lookup_by_inum cleanup (Andreas Grunbacher) [1582655] - [fs] gfs2: Try harder to delete inodes locally (Andreas Grunbacher) [1582655] - [fs] gfs2: Give up the iopen glock on contention (Andreas Grunbacher) [1582655] - [fs] gfs2: Turn gl_delete into a delayed work (Andreas Grunbacher) [1582655] - [fs] gfs2: Keep track of deleted inode generations in LVBs (Andreas Grunbacher) [1582655] - [fs] gfs2: Allow ASPACE glocks to also have an lvb (Andreas Grunbacher) [1582655] - [fs] gfs2: Avoid access time thrashing in gfs2_inode_lookup (Andreas Grunbacher) [1582655] - [fs] gfs2: Use IS_ERR_OR_NULL (Andreas Grunbacher) [1582655] - [fpga] fpga: mark the intel fpga drivers as tech preview (Luis Goncalves) [1689274 1660310 1494701 1494699] - [firmware] firmware: stratix10-svc: Remove unneeded semicolon (Luis Goncalves) [1689274 1660310 1494701 1494699] - [firmware] firmware: Fix incompatible function behavior for RSU driver (Luis Goncalves) [1689274 1660310 1494701 1494699] - [firmware] firmware: add Intel Stratix10 remote system update driver (Luis Goncalves) [1689274 1660310 1494701 1494699] - [include] firmware: stratix10-svc: extend svc to support new RSU features (Luis Goncalves) [1689274 1660310 1494701 1494699] - [edac] EDAC/altera, firmware/intel: Add Stratix10 ECC DBE SMC call (Luis Goncalves) [1689274 1660310 1494701 1494699] - [firmware] firmware: stratix10-svc: fix wrong of_node_put() in init function (Luis Goncalves) [1689274 1660310 1494701 1494699] - [include] firmware: add remote status update client support (Luis Goncalves) [1689274 1660310 1494701 1494699] - [firmware] firmware: add Intel Stratix10 service layer driver (Luis Goncalves) [1689274 1660310 1494701 1494699] - [fpga] fpga: dfl: pci: fix return value of cci_pci_sriov_configure (Luis Goncalves) [1689274 1660310 1494701 1494699] - [fpga] fpga: xilinx-pr-decoupler: Remove clk_get error message for probe defer (Luis Goncalves) [1689274 1660310 1494701 1494699] - [fpga] fpga: remove redundant dev_err message (Luis Goncalves) [1689274 1660310 1494701 1494699] - [fpga] fpga: dfl: afu: remove set but not used variable 'afu' (Luis Goncalves) [1689274 1660310 1494701 1494699] - [fpga] fpga: dfl: fme: remove set but not used variable 'fme' (Luis Goncalves) [1689274 1660310 1494701 1494699] - [fpga] fpga: dfl: fme: add power management support (Luis Goncalves) [1689274 1660310 1494701 1494699] - [fpga] fpga: dfl: fme: add thermal management support (Luis Goncalves) [1689274 1660310 1494701 1494699] - [documentation] Documentation: fpga: dfl: add descriptions for thermal/power management interfaces (Luis Goncalves) [1689274 1660310 1494701 1494699] - [fpga] fpga: Remove dev_err() usage after platform_get_irq() (Luis Goncalves) [1689274 1660310 1494701 1494699] - [documentation] Documentation: fpga: dfl: add descriptions for virtualization and new interfaces (Luis Goncalves) [1689274 1660310 1494701 1494699] - [fpga] fpga: dfl: fme: add global error reporting support (Luis Goncalves) [1689274 1660310 1494701 1494699] - [fpga] fpga: dfl: afu: add STP (SignalTap) support (Luis Goncalves) [1689274 1660310 1494701 1494699] - [fpga] fpga: dfl: afu: add error reporting support (Luis Goncalves) [1689274 1660310 1494701 1494699] - [fpga] fpga: dfl: afu: expose __afu_port_enable/disable function (Luis Goncalves) [1689274 1660310 1494701 1494699] - [fpga] fpga: dfl: afu: add userclock sysfs interfaces (Luis Goncalves) [1689274 1660310 1494701 1494699] - [fpga] fpga: dfl: afu: convert platform_driver to use dev_groups (Luis Goncalves) [1689274 1660310 1494701 1494699] - [fpga] fpga: dfl: fme: convert platform_driver to use dev_groups (Luis Goncalves) [1689274 1660310 1494701 1494699] - [fpga] fpga: dfl: make init callback optional (Luis Goncalves) [1689274 1660310 1494701 1494699] - [fpga] fpga: altera-cvp: Add Stratix10 (V2) Support (Luis Goncalves) [1689274 1660310 1494701 1494699] - [fpga] fpga: altera-cvp: Preparation for V2 parts (Luis Goncalves) [1689274 1660310 1494701 1494699] - [fpga] fpga: altera-cvp: Discover Vendor Specific offset (Luis Goncalves) [1689274 1660310 1494701 1494699] - [fpga] fpga: altera-ps-spi: Fix getting of optional confd gpio (Luis Goncalves) [1689274 1660310 1494701 1494699] - [fpga] fpga: dfl: fme: add capability sysfs interfaces (Luis Goncalves) [1689274 1660310 1494701 1494699] - [fpga] fpga: dfl: make uinit callback optional (Luis Goncalves) [1689274 1660310 1494701 1494699] - [fpga] fpga: dfl: add id_table for dfl private feature driver (Luis Goncalves) [1689274 1660310 1494701 1494699] - [fpga] fpga: dfl: afu: add AFU state related sysfs interfaces (Luis Goncalves) [1689274 1660310 1494701 1494699] - [fpga] fpga: dfl: pci: enable SRIOV support (Luis Goncalves) [1689274 1660310 1494701 1494699] - [fpga] fpga: dfl: fme: add DFL_FPGA_FME_PORT_RELEASE/ASSIGN ioctl support (Luis Goncalves) [1689274 1660310 1494701 1494699] - [fpga] fpga: dfl: use driver core functions, not sysfs ones (Luis Goncalves) [1689274 1660310 1494701 1494699] - [fpga] fpga: altera-pr-ip: Make alt_pr_unregister function void (Luis Goncalves) [1689274 1660310 1494701 1494699] - [fpga] fpga: altera-cvp: Fix function definition argument (Luis Goncalves) [1689274 1660310 1494701 1494699] - [fpga] fpga-manager: altera-ps-spi: Fix build error (Luis Goncalves) [1689274 1660310 1494701 1494699] - [fpga] fpga: dfl: fme: align PR buffer size per PR datawidth (Luis Goncalves) [1689274 1660310 1494701 1494699] - [fpga] fpga: dfl: fme: remove copy_to_user() in ioctl for PR (Luis Goncalves) [1689274 1660310 1494701 1494699] - [fpga] fpga: dfl-fme-mgr: fix FME_PR_INTFC_ID register address (Luis Goncalves) [1689274 1660310 1494701 1494699] - [fpga] drivers: fpga: Kconfig: pedantic cleanups (Luis Goncalves) [1689274 1660310 1494701 1494699] - [documentation] docs: fpga: convert docs to ReST and rename to *.rst (Luis Goncalves) [1689274 1660310 1494701 1494699] - [fpga] treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 441 (Luis Goncalves) [1689274 1660310 1494701 1494699] - [fpga] treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 422 (Luis Goncalves) [1689274 1660310 1494701 1494699] - [fpga] treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 285 (Luis Goncalves) [1689274 1660310 1494701 1494699] - [fpga] fpga: zynqmp-fpga: Correctly handle error pointer (Luis Goncalves) [1689274 1660310 1494701 1494699] - [include] include: fpga: adi-axi-common.h: add common regs & defs header (Luis Goncalves) [1689274 1660310 1494701 1494699] - [fpga] fpga: dfl: expand minor range when registering chrdev region (Luis Goncalves) [1689274 1660310 1494701 1494699] - [fpga] fpga: dfl: Add lockdep classes for pdata->lock (Luis Goncalves) [1689274 1660310 1494701 1494699] - [fpga] fpga: dfl: afu: Pass the correct device to dma_mapping_error() (Luis Goncalves) [1689274 1660310 1494701 1494699] - [fpga] fpga: stratix10-soc: fix use-after-free on s10_init() (Luis Goncalves) [1689274 1660310 1494701 1494699] - [fpga] treewide: Add SPDX license identifier - Makefile/Kconfig (Luis Goncalves) [1689274 1660310 1494701 1494699] - [fpga] mm/gup: change GUP fast to use flags rather than a write 'bool' (Luis Goncalves) [1689274 1660310 1494701 1494699] - [fpga] fpga manager: Adding FPGA Manager support for Xilinx zynqmp (Luis Goncalves) [1689274 1660310 1494701 1494699] - [fpga] fpga: altera_freeze_bridge: remove restriction to socfpga (Luis Goncalves) [1689274 1660310 1494701 1494699] - [fpga] fpga: mgr: altera-ps-spi: make array dummy static, shrinks object size (Luis Goncalves) [1689274 1660310 1494701 1494699] - [fpga] fpga: stratix10-soc: fix wrong of_node_put() in init function (Luis Goncalves) [1689274 1660310 1494701 1494699] - [fpga] Remove 'type' argument from access_ok() function (Luis Goncalves) [1689274 1660310 1494701 1494699] - [fpga] fpga: of-fpga-region: Use platform_set_drvdata (Luis Goncalves) [1689274 1660310 1494701 1494699] - [fpga] fpga: dfl-fme-region: Use platform_get_drvdata() (Luis Goncalves) [1689274 1660310 1494701 1494699] - [fpga] fpga: add intel stratix10 soc fpga manager driver (Luis Goncalves) [1689274 1660310 1494701 1494699] - [fpga] fpga: mgr: altera-ps-spi: enable usage on non-dt platforms (Luis Goncalves) [1689274 1660310 1494701 1494699] - [fpga] fpga: altera-cvp: fix probing for multiple FPGAs on the bus (Luis Goncalves) [1689274 1660310 1494701 1494699] - [fpga] zynq-fpga: Only route PR via PCAP when required (Luis Goncalves) [1689274 1660310 1494701 1494699] - [fpga] fpga: altera-cvp: Fix registration for CvP incapable devices (Luis Goncalves) [1689274 1660310 1494701 1494699] - [fpga] fpga: dfl: fme: remove set but not used variable 'priv' (Luis Goncalves) [1689274 1660310 1494701 1494699] - [fpga] fpga: altera-cvp: fix 'bad IO access' on x86_64 (Luis Goncalves) [1689274 1660310 1494701 1494699] - [fpga] fpga: add devm_fpga_region_create (Luis Goncalves) [1689274 1660310 1494701 1494699] - [fpga] fpga: bridge: add devm_fpga_bridge_create (Luis Goncalves) [1689274 1660310 1494701 1494699] - [fpga] fpga: mgr: add devm_fpga_mgr_create (Luis Goncalves) [1689274 1660310 1494701 1494699] - [documentation] docs: fpga: document fpga manager flags (Luis Goncalves) [1689274 1660310 1494701 1494699] - [fpga] fpga: bridge: fix obvious function documentation error (Luis Goncalves) [1689274 1660310 1494701 1494699] - [fpga] fpga: do not access region struct after fpga_region_unregister (Luis Goncalves) [1689274 1660310 1494701 1494699] - [fpga] drivers: fpga: fix two trivial spelling mistakes (Luis Goncalves) [1689274 1660310 1494701 1494699] - [fpga] fpga: dfl: fme: fix return value check in in pr_mgmt_init() (Luis Goncalves) [1689274 1660310 1494701 1494699] - [fpga] fpga: dfl: afu: add DFL_FPGA_PORT_DMA_MAP/UNMAP ioctls support (Luis Goncalves) [1689274 1660310 1494701 1494699] - [fpga] fpga: dfl: afu: add afu sub feature support (Luis Goncalves) [1689274 1660310 1494701 1494699] - [fpga] fpga: dfl: afu: add DFL_FPGA_GET_API_VERSION/CHECK_EXTENSION ioctls support (Luis Goncalves) [1689274 1660310 1494701 1494699] - [fpga] fpga: dfl: afu: add header sub feature support (Luis Goncalves) [1689274 1660310 1494701 1494699] - [fpga] fpga: dfl: afu: add port ops support (Luis Goncalves) [1689274 1660310 1494701 1494699] - [fpga] fpga: dfl: add FPGA Accelerated Function Unit driver basic framework (Luis Goncalves) [1689274 1660310 1494701 1494699] - [fpga] fpga: dfl: fme-region: add support for compat_id (Luis Goncalves) [1689274 1660310 1494701 1494699] - [fpga] fpga: dfl: add fpga region platform driver for FME (Luis Goncalves) [1689274 1660310 1494701 1494699] - [fpga] fpga: dfl: add fpga bridge platform driver for FME (Luis Goncalves) [1689274 1660310 1494701 1494699] - [fpga] fpga: dfl: fme-mgr: add compat_id support (Luis Goncalves) [1689274 1660310 1494701 1494699] - [fpga] fpga: dfl: add fpga manager platform driver for FME (Luis Goncalves) [1689274 1660310 1494701 1494699] - [fpga] fpga: dfl: fme: add partial reconfiguration sub feature support (Luis Goncalves) [1689274 1660310 1494701 1494699] - [fpga] fpga: dfl: fme: add DFL_FPGA_GET_API_VERSION/CHECK_EXTENSION ioctls support (Luis Goncalves) [1689274 1660310 1494701 1494699] - [fpga] fpga: dfl: fme: add header sub feature support (Luis Goncalves) [1689274 1660310 1494701 1494699] - [fpga] fpga: dfl: add FPGA Management Engine driver basic framework (Luis Goncalves) [1689274 1660310 1494701 1494699] - [fpga] fpga: dfl-pci: add enumeration for feature devices (Luis Goncalves) [1689274 1660310 1494701 1494699] - [fpga] fpga: add FPGA DFL PCIe device driver (Luis Goncalves) [1689274 1660310 1494701 1494699] - [fpga] fpga: dfl: add dfl_fpga_check_port_id function (Luis Goncalves) [1689274 1660310 1494701 1494699] - [fpga] fpga: dfl: add dfl_fpga_port_ops support (Luis Goncalves) [1689274 1660310 1494701 1494699] - [fpga] fpga: dfl: add feature device infrastructure (Luis Goncalves) [1689274 1660310 1494701 1494699] - [fpga] fpga: dfl: add dfl_fpga_cdev_find_port (Luis Goncalves) [1689274 1660310 1494701 1494699] - [fpga] fpga: dfl: add chardev support for feature devices (Luis Goncalves) [1689274 1660310 1494701 1494699] - [fpga] fpga: add device feature list support (Luis Goncalves) [1689274 1660310 1494701 1494699] - [fpga] fpga: region: add compat_id support (Luis Goncalves) [1689274 1660310 1494701 1494699] - [include] fpga: mgr: add compat_id support (Luis Goncalves) [1689274 1660310 1494701 1494699] - [fpga] fpga: mgr: add status for fpga-manager (Luis Goncalves) [1689274 1660310 1494701 1494699] - [include] fpga: mgr: add region_id to fpga_image_info (Luis Goncalves) [1689274 1660310 1494701 1494699] - [documentation] docs: fpga: add a document for FPGA Device Feature List (DFL) Framework Overview (Luis Goncalves) [1689274 1660310 1494701 1494699] - [mm] mm: Add a vmf_insert_mixed_prot() function (Dave Airlie) [1838335] - [mm] mm: Add write-protect and clean utilities for address space ranges (Dave Airlie) [1838335] - [mm] mm: Add a walk_page_mapping() function to the pagewalk code (Dave Airlie) [1838335] - [mm] pagewalk: separate function pointers from iterator data (Dave Airlie) [1838335] - [mm] mm: split out a new pagewalk.h header from mm.h (Dave Airlie) [1838335] - [mm] mm: update ptep_modify_prot_commit to take old pte value as arg (Dave Airlie) [1838335] - [x86] mm: update ptep_modify_prot_start/commit to take vm_area_struct as arg (Dave Airlie) [1838335] - [mm] mm/mmu_notifier: add an interval tree notifier (Dave Airlie) [1838335] - [mm] mm/mmu_notifier: define the header pre-processor parts even if disabled (Dave Airlie) [1838335] - [mm] mm/mmu_notifiers: add a lockdep map for invalidate_range_start/end (Dave Airlie) [1838335] - [misc] misc/sgi-gru: use mmu_notifier_get/put for struct gru_mm_struct (Dave Airlie) [1838335] - [drm] drm/backport: add mmu notifier get/put support to drm backport (Dave Airlie) [1838335] - [mm] mm/mmu_notifiers: add a get/put scheme for the registration (Dave Airlie) [1838335] - [mm] mm/mmu_notifiers: do not speculatively allocate a mmu_notifier_mm (Dave Airlie) [1838335] - [mm] mm/mmu_notifiers: hoist do_mmu_notifier_register down_write to the caller (Dave Airlie) [1838335] - [mm] mm/mmu_notifier.c: remove mmu_notifier_synchronize() (Dave Airlie) [1838335] - [infiniband] locking/lockdep: Rename lockdep_assert_held_exclusive() -> lockdep_assert_held_write() (Dave Airlie) [1838335] - [include] mm/mmu_notifier: contextual information for event enums (Dave Airlie) [1838335] - [mm] mm/memory_hotplug.c: only respect mem= parameter during boot stage (Baoquan He) [1838809 1781472] - [scsi] scsi: mpt3sas: Remove unused including (Tomas Henzl) [1790760] - [scsi] scsi: mpt3sas: Fix double free warnings (Tomas Henzl) [1790760] - [scsi] scsi: mpt3sas: Disable DIF when prot_mask set to zero (Tomas Henzl) [1790760] - [scsi] scsi: mpt3sas: Capture IOC data for debugging purposes (Tomas Henzl) [1790760] - [scsi] scsi: mpt3sas: Use true, false for ioc->use_32bit_dma (Tomas Henzl) [1790760] - [scsi] scsi: mpt3sas: Remove NULL check before freeing function (Tomas Henzl) [1790760] - [scsi] scsi: mpt3sas: Update mpt3sas version to 33.101.00.00 (Tomas Henzl) [1790760] - [scsi] mpt3sas: Fix memset in non-rdpq mode (Tomas Henzl) [1790760] - [scsi] scsi: mpt3sas: Fix reply queue count in non RDPQ mode (Tomas Henzl) [1790760] - [scsi] scsi: mpt3sas: Handle RDPQ DMA allocation in same 4G region (Tomas Henzl) [1790760] - [scsi] scsi: mpt3sas: Separate out RDPQ allocation to new function (Tomas Henzl) [1790760] - [scsi] scsi: mpt3sas: Rename function name is_MSB_are_same (Tomas Henzl) [1790760] - [scsi] scsi: mpt3sas: Don't change the DMA coherent mask after allocations (Tomas Henzl) [1790760] - [scsi] scsi: mpt3sas: use true, false for bool variables (Tomas Henzl) [1790760] - [scsi] scsi: mpt3sas: Fix kernel panic observed on soft HBA unplug (Tomas Henzl) [1790760] - [scsi] scsi: Replace zero-length array with flexible-array member (Tomas Henzl) [1790760] - [scsi] scsi: mpt3sas: Update drive version to 33.100.00.00 (Tomas Henzl) [1790760] - [scsi] scsi: mpt3sas: Remove usage of device_busy counter (Tomas Henzl) [1790760] - [scsi] scsi: mpt3sas: Print function name in which cmd timed out (Tomas Henzl) [1790760] - [scsi] scsi: mpt3sas: Optimize mpt3sas driver logging (Tomas Henzl) [1790760] - [scsi] scsi: mpt3sas: print in which path firmware fault occurred (Tomas Henzl) [1790760] - [scsi] scsi: mpt3sas: Handle CoreDump state from watchdog thread (Tomas Henzl) [1790760] - [scsi] scsi: mpt3sas: Add support IOCs new state named COREDUMP (Tomas Henzl) [1790760] - [scsi] scsi: mpt3sas: renamed _base_after_reset_handler function (Tomas Henzl) [1790760] - [scsi] scsi: mpt3sas: Add support for NVMe shutdown (Tomas Henzl) [1790760] - [scsi] scsi: mpt3sas: Update MPI Headers to v02.00.57 (Tomas Henzl) [1790760] - [scsi] scsi: mpt3sas: Fix double free in attach error handling (Tomas Henzl) [1790760] - [scsi] scsi: mpt3sas: Clean up some indenting (Tomas Henzl) [1790760] - [crypto] crypto: af_alg - cast ki_complete ternary op to int (Herbert Xu) [1837499] - [netdrv] virtio-net: per-queue RPS config (Eugenio Perez) [1718086] - [netdrv] virtio_net: Differentiate sk_buff and xdp_frame on freeing (Eugenio Perez) [1718086] - [netdrv] virtio_net: Use xdp_return_frame to free xdp_frames on destroying vqs (Eugenio Perez) [1718086] - [netdrv] virtio_net: enable napi_tx by default (Eugenio Perez) [1718086] - [netdrv] virtio_net: Don't call free_old_xmit_skbs for xdp_frames (Eugenio Perez) [1718086] - [netdrv] virtio_net: Don't enable NAPI when interface is down (Eugenio Perez) [1718086] - [include] cpumask: make cpumask_next_wrap available without smp (Eugenio Perez) [1718086] - [netdrv] virtio_net: Stripe queue affinities across cores (Eugenio Perez) [1718086] - [virtio] virtio: Make vp_set_vq_affinity() take a mask (Eugenio Perez) [1718086]- [netdrv] ice: add board identifier info to devlink .info_get (Jonathan Toppins) [1796682] - [netdrv] ice: add basic handler for devlink .info_get (Jonathan Toppins) [1796682] - [netdrv] ice: enable initial devlink support (Jonathan Toppins) [1796682] - [netdrv] ice: implement full NVM read from ETHTOOL_GEEPROM (Jonathan Toppins) [1796682] - [netdrv] ice: discover and store size of available flash (Jonathan Toppins) [1796682] - [netdrv] ice: store NVM version info in extracted format (Jonathan Toppins) [1796682] - [netdrv] ice: create function to read a section of the NVM and Shadow RAM (Jonathan Toppins) [1796682] - [netdrv] ice: use __le16 types for explicitly Little Endian values (Jonathan Toppins) [1796682] - [netdrv] ice: fix incorrect size description of ice_get_nvm_version (Jonathan Toppins) [1781388] - [netdrv] ice: use variable name more descriptive than type (Jonathan Toppins) [1781388] - [netdrv] ice: Use EOPNOTSUPP instead of ENOTSUPP (Jonathan Toppins) [1781388] - [netdrv] ice: Fix format specifier (Jonathan Toppins) [1781388] - [netdrv] ice: fix use of deprecated strlcpy() (Jonathan Toppins) [1781388] - [netdrv] ice: Increase mailbox receive queue length to maximum (Jonathan Toppins) [1781388] - [netdrv] ice: Correct setting VLAN pruning (Jonathan Toppins) [1781388] - [netdrv] ice: renegotiate link after FW DCB on (Jonathan Toppins) [1781388] - [netdrv] ice: Fix corner case when switching from IEEE to CEE (Jonathan Toppins) [1781388] - [netdrv] ice: Display Link detected via Ethtool in safe mode (Jonathan Toppins) [1781388] - [netdrv] ice: Fix removing driver while bare-metal VFs pass traffic (Jonathan Toppins) [1781388] - [netdrv] ice: Improve clarity of prints and variables (Jonathan Toppins) [1781388] - [netdrv] ice: allow bigger VFs (Jonathan Toppins) [1781388] - [netdrv] ice: Cleanup unneeded parenthesis (Jonathan Toppins) [1781388] - [netdrv] ice: Use pci_get_dsn() (Jonathan Toppins) [1781388] - [netdrv] ice: let core reject the unsupported coalescing parameters (Jonathan Toppins) [1781388] - [netdrv] ice: fix define for E822 backplane device (Jonathan Toppins) [1781388] - [netdrv] ice: add support for E823 devices (Jonathan Toppins) [1795812] - [netdrv] ice: add backslash-n to strings (Jonathan Toppins) [1781388] - [netdrv] ice: increase PF reset wait timeout to 300 milliseconds (Jonathan Toppins) [1781388] - [netdrv] ice: Support XDP UMEM wake up mechanism (Jonathan Toppins) [1781388] - [netdrv] ice: SW DCB, report correct max TC value (Jonathan Toppins) [1781388] - [netdrv] ice: Report correct DCB mode (Jonathan Toppins) [1781388] - [netdrv] ice: Add DCBNL ops required to configure ETS in CEE for SW DCB (Jonathan Toppins) [1781388] - [netdrv] ice: Always clear the QRXFLXP_CNTXT register for VF Rx queues (Jonathan Toppins) [1781388] - [netdrv] ice: Fix for TCAM entry management (Jonathan Toppins) [1781388] - [netdrv] ice: update malicious driver detection event handling (Jonathan Toppins) [1781388] - [netdrv] ice: Validate config for SW DCB map (Jonathan Toppins) [1781388] - [netdrv] ice: Wait for VF to be reset/ready before configuration (Jonathan Toppins) [1792691] - [netdrv] ice: Don't reject odd values of usecs set by user (Jonathan Toppins) [1781388] - [netdrv] ice: use true/false for bool types (Jonathan Toppins) [1781388] - [netdrv] ice: add function argument description to function header comment (Jonathan Toppins) [1781388] - [netdrv] ice: use proper format for function pointer as a function parameter (Jonathan Toppins) [1781388] - [netdrv] ice: remove unnecessary fallthrough comments (Jonathan Toppins) [1781388] - [netdrv] ice: Fix virtchnl_queue_select bitmap validation (Jonathan Toppins) [1781388] - [netdrv] ice: Fix and refactor Rx queue disable for VFs (Jonathan Toppins) [1781388] - [netdrv] ice: Handle LAN overflow event for VF queues (Jonathan Toppins) [1781388] - [netdrv] ice: Fix implicit queue mapping mode in ice_vsi_get_qs (Jonathan Toppins) [1781388] - [netdrv] ice: Add support to enable/disable all Rx queues before waiting (Jonathan Toppins) [1781388] - [netdrv] ice: Only allow tagged bcast/mcast traffic for VF in port VLAN (Jonathan Toppins) [1781388] - [netdrv] ice: Fix Port VLAN priority bits (Jonathan Toppins) [1781388] - [netdrv] ice: Add helper to determine if VF link is up (Jonathan Toppins) [1781388] - [netdrv] ice: Refactor port vlan configuration for the VF (Jonathan Toppins) [1781388] - [netdrv] ice: Add initial support for QinQ (Jonathan Toppins) [1781388] - [netdrv] ice: Trivial fixes (Jonathan Toppins) [1781388] - [netdrv] ice: Use correct netif error function (Jonathan Toppins) [1781388] - [netdrv] ice: Cleanup ice_vsi_alloc_q_vectors (Jonathan Toppins) [1781388] - [netdrv] ice: Make print statements more compact (Jonathan Toppins) [1781388] - [netdrv] ice: Use ice_pf_to_dev (Jonathan Toppins) [1781388] - [netdrv] ice: Remove possible null dereference (Jonathan Toppins) [1781388] - [netdrv] ice: update Unit Load Status bitmask to check after reset (Jonathan Toppins) [1781388] - [netdrv] ice: fix and consolidate logging of NVM/firmware version information (Jonathan Toppins) [1781388] - [netdrv] ice: Modify link message logging (Jonathan Toppins) [1781388] - [netdrv] ice: Remove CONFIG_PCI_IOV wrap in ice_set_pf_caps (Jonathan Toppins) [1781388] - [netdrv] ice: Remove ice_dev_onetime_setup() (Jonathan Toppins) [1781388] - [netdrv] ice: Don't allow same value for Rx tail to be written twice (Jonathan Toppins) [1781388] - [netdrv] ice: display supported and advertised link modes (Jonathan Toppins) [1781388] - [netdrv] ice: Fix switch between FW and SW LLDP (Jonathan Toppins) [1781388] - [netdrv] ice: Fix DCB rebuild after reset (Jonathan Toppins) [1781388] - [netdrv] ice: Bump version (Jonathan Toppins) [1781401] - [netdrv] ice: Implement ethtool get/set rx-flow-hash (Jonathan Toppins) [1781401] - [netdrv] ice: Initilialize VF RSS tables (Jonathan Toppins) [1781401] - [netdrv] ice: Optimize table usage (Jonathan Toppins) [1781401] - [netdrv] ice: Enable writing filtering tables (Jonathan Toppins) [1781401] - [netdrv] ice: Populate TCAM filter software structures (Jonathan Toppins) [1781401] - [netdrv] ice: Allocate flow profile (Jonathan Toppins) [1781401] - [netdrv] ice: Enable writing hardware filtering tables (Jonathan Toppins) [1781401] - [netdrv] ice: remove redundant assignment to variable xmit_done (Jonathan Toppins) [1781388] - [netdrv] ice: Removing hung_queue variable to use txqueue function parameter (Jonathan Toppins) [1781388] - [netdrv] ice: Add device ids for E822 devices (Jonathan Toppins) [1781951] - [netdrv] ice: Suppress Coverity warnings for xdp_rxq_info_reg (Jonathan Toppins) [1781388] - [netdrv] ice: Add a boundary check in ice_xsk_umem() (Jonathan Toppins) [1781388] - [netdrv] ice: add extra check for null Rx descriptor (Jonathan Toppins) [1781388] - [netdrv] ice: suppress checked_return error (Jonathan Toppins) [1781388] - [netdrv] ice: Demote MTU change print to debug (Jonathan Toppins) [1781388] - [netdrv] ice: Enable ip link show on the PF to display VF unicast MAC(s) (Jonathan Toppins) [1781388] - [netdrv] ice: Fix VF link state when it's IFLA_VF_LINK_STATE_AUTO (Jonathan Toppins) [1781388] - [netdrv] ice: Remove Rx flex descriptor programming (Jonathan Toppins) [1781388] - [netdrv] ice: Return error on not supported ethtool -C parameters (Jonathan Toppins) [1781388] - [netdrv] ice: Restore interrupt throttle settings after VSI rebuild (Jonathan Toppins) [1781388] - [netdrv] ice: Set default value for ITR in alloc function (Jonathan Toppins) [1781388] - [netdrv] ice: Add ice_for_each_vf() macro (Jonathan Toppins) [1781388] - [netdrv] ice: Add code to keep track of current dflt_vsi (Jonathan Toppins) [1781388] - [netdrv] ice: Fix VF spoofchk (Jonathan Toppins) [1781388] - [netdrv] ice: Support UDP segmentation offload (Jonathan Toppins) [1781388] - [netdrv] ice: Update FW API minor version (Jonathan Toppins) [1781388] - [netdrv] ice: remove pointless NULL check of port_info (Jonathan Toppins) [1781388] - [netdrv] ice: Implement ethtool ops for channels (Jonathan Toppins) [1781388] - [netdrv] ice: implement VF stats NDO (Jonathan Toppins) [1781388] - [netdrv] ice: add helpers for virtchnl (Jonathan Toppins) [1781388] - [netdrv] ice: Add ice_pf_to_dev(pf) macro (Jonathan Toppins) [1781388] - [netdrv] ice: Do not use devm* functions for local uses (Jonathan Toppins) [1781388] - [netdrv] ice: Refactor removal of VLAN promiscuous rules (Jonathan Toppins) [1781388] - [netdrv] ice: Fix setting coalesce to handle DCB configuration (Jonathan Toppins) [1781388] - [netdrv] ice: Only disable VF state when freeing each VF resources (Jonathan Toppins) [1781388] - [netdrv] ice: fix stack leakage (Jonathan Toppins) [1781388] - [netdrv] ice: Don't modify stripping for add/del VLANs on VF (Jonathan Toppins) [1781388] - [netdrv] ice: Disallow VF VLAN opcodes if VLAN offloads disabled (Jonathan Toppins) [1781388] - [netdrv] ice: Correct capabilities reporting of max TCs (Jonathan Toppins) [1781388] - [netdrv] ice: Store number of functions for the device (Jonathan Toppins) [1781388] - [netdrv] ice: fix potential infinite loop because loop counter being too small (Jonathan Toppins) [1781388] - [netdrv] ice: print opcode when printing controlq errors (Jonathan Toppins) [1781388] - [netdrv] ice: use more accurate ICE_DBG mask types (Jonathan Toppins) [1781388] - [netdrv] ice: Introduce and use ice_vsi_type_str (Jonathan Toppins) [1781388] - [netdrv] ice: remove unnecessary conditional check (Jonathan Toppins) [1781388] - [netdrv] ice: Update enum ice_flg64_bits to current specification (Jonathan Toppins) [1781388] - [netdrv] ice: delay less (Jonathan Toppins) [1781388] - [netdrv] ice: use pkg_dwnld_status instead of sq_last_status (Jonathan Toppins) [1781388] - [netdrv] ice: Change max MSI-x vector_id check in cfg_irq_map (Jonathan Toppins) [1781388] - [netdrv] ice: Check if VF is disabled for Opcode and other operations (Jonathan Toppins) [1781388] - [netdrv] ice: configure software LLDP in ice_init_pf_dcb (Jonathan Toppins) [1781388] - [netdrv] ice: Fix to change Rx/Tx ring descriptor size via ethtool with DCBx (Jonathan Toppins) [1781388] - [netdrv] ice: avoid setting features during reset (Jonathan Toppins) [1781388] - [netdrv] ice: Implement DCBNL support (Jonathan Toppins) [1781388] - [netdrv] ice: Add NDO callback to set the maximum per-queue bitrate (Jonathan Toppins) [1781388] - [netdrv] ice: Use ice_ena_vsi and ice_dis_vsi in DCB configuration flow (Jonathan Toppins) [1781388] - [netdrv] ice: Fix return value when SR-IOV is not supported (Jonathan Toppins) [1781388] - [netdrv] ice: Rename VF function ice_vc_dis_vf to match its behavior (Jonathan Toppins) [1781388] - [netdrv] ice: Get rid of ice_cleanup_header (Jonathan Toppins) [1781388] - [netdrv] ice: print PCI link speed and width (Jonathan Toppins) [1781388] - [netdrv] ice: print unsupported module message (Jonathan Toppins) [1781388] - [netdrv] ice: write register with correct offset (Jonathan Toppins) [1781388] - [netdrv] ice: Check for null pointer dereference when setting rings (Jonathan Toppins) [1781388] - [netdrv] ice: save PCI state in probe (Jonathan Toppins) [1781388] - [netdrv] ice: Adjust DCB INIT for SW mode (Jonathan Toppins) [1781388] - [netdrv] ice: fix driver unload flow (Jonathan Toppins) [1781388] - [netdrv] ice: handle DCBx non-contiguous TC request (Jonathan Toppins) [1781388] - [netdrv] ice: Update Boot Configuration Section read of NVM (Jonathan Toppins) [1781388] - [netdrv] ice: add ethtool -m support for reading i2c eeprom modules (Jonathan Toppins) [1781388] - [netdrv] ice: allow 3k MTU for XDP (Jonathan Toppins) [1781388] - [netdrv] ice: add build_skb() support (Jonathan Toppins) [1781388] - [netdrv] ice: introduce frame padding computation logic (Jonathan Toppins) [1781388] - [netdrv] ice: introduce legacy Rx flag (Jonathan Toppins) [1781388] - [netdrv] ice: Add support for AF_XDP (Jonathan Toppins) [1730487] - [netdrv] ice: Move common functions to ice_txrx_lib.c (Jonathan Toppins) [1781388] - [netdrv] ice: Add support for XDP (Jonathan Toppins) [1730487] - [netdrv] ice: get rid of per-tc flow in Tx queue configuration routines (Jonathan Toppins) [1781388] - [netdrv] ice: Introduce ice_base.c (Jonathan Toppins) [1781388] - [netdrv] net:Use skb accessors in network drivers (Jonathan Toppins) [1781388] - [powerpc] powerpc/eeh: Remove eeh_add_device_tree_late() (Myron Stowe) [1840904] - [powerpc] powerpc/eeh: Add sysfs files in late probe (Myron Stowe) [1840904] - [powerpc] powerpc: Drop using struct of_pci_range.pci_space field (Myron Stowe) [1840904] - [powerpc] powerpc/pci: Fold pcibios_setup_device() into pcibios_bus_add_device() (Myron Stowe) [1840904] - [powerpc] powerpc/pci: Remove pcibios_setup_bus_devices() (Myron Stowe) [1840904] - [powerpc] powerpc/pci: Fix pcibios_setup_device() ordering (Myron Stowe) [1840904] - [powerpc] powerpc/pci: Remove legacy debug code (Myron Stowe) [1840904] - [x86] x86/microcode/AMD: Increase microcode PATCH_MAX_SIZE (David Arcari) [1826966] - [x86] x86/microcode/AMD: Make stub function static inline (David Arcari) [1826966] - [x86] x86/microcode/intel: Issue the revision updated message only on the BSP (David Arcari) [1826966] - [x86] x86/microcode: Update late microcode in parallel (David Arcari) [1826966] - [x86] x86/microcode/amd: Fix two -Wunused-but-set-variable warnings (David Arcari) [1826966] - [x86] x86/microcode: Fix the microcode load on CPU hotplug for real (David Arcari) [1826966] - [x86] x86/microcode, cpuhotplug: Add a microcode loader CPU hotplug callback (David Arcari) [1826966] - [x86] treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 353 (David Arcari) [1826966] - [x86] treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 152 (David Arcari) [1826966] - [x86] treewide: Add SPDX license identifier - Makefile/Kconfig (David Arcari) [1826966] - [x86] x86/microcode: Fix the ancient deprecated microcode loading method (David Arcari) [1826966] - [x86] x86/microcode/intel: Refactor Intel microcode blob loading (David Arcari) [1826966] - [x86] x86/microcode: Announce reload operation's completion (David Arcari) [1826966] - [x86] x86/microcode/AMD: Update copyright (David Arcari) [1826966] - [x86] x86/microcode/AMD: Check the equivalence table size when scanning it (David Arcari) [1826966] - [x86] x86/microcode/AMD: Convert CPU equivalence table variable into a struct (David Arcari) [1826966] - [x86] x86/microcode/AMD: Check microcode container data in the late loader (David Arcari) [1826966] - [x86] x86/microcode/AMD: Fix container size's type (David Arcari) [1826966] - [x86] x86/microcode/AMD: Convert early parser to the new verification routines (David Arcari) [1826966] - [x86] x86/microcode/AMD: Change verify_patch()'s return value (David Arcari) [1826966] - [x86] x86/microcode/AMD: Move chipset-specific check into verify_patch() (David Arcari) [1826966] - [x86] x86/microcode/AMD: Move patch family check to verify_patch() (David Arcari) [1826966] - [x86] x86/microcode/AMD: Simplify patch family detection (David Arcari) [1826966] - [x86] x86/microcode/AMD: Concentrate patch verification (David Arcari) [1826966] - [x86] x86/microcode/AMD: Cleanup verify_patch_size() more (David Arcari) [1826966] - [x86] x86/microcode/AMD: Clean up per-family patch size checks (David Arcari) [1826966] - [x86] x86/microcode/AMD: Move verify_patch_size() up in the file (David Arcari) [1826966] - [x86] x86/microcode/AMD: Add microcode container verification (David Arcari) [1826966] - [x86] x86/microcode/AMD: Subtract SECTION_HDR_SIZE from file leftover length (David Arcari) [1826966] - [x86] x86/microcode: Make revision and processor flags world-readable (David Arcari) [1826966] - [pci] PCI: Add pci_status_get_and_clear_errors (Josef Oskera) [1840535] - [pci] PCI: Add constant PCI_STATUS_ERROR_BITS (Josef Oskera) [1840535] - [arm64] arm64: dts: ls1046ardb: set RGMII interfaces to RGMII_ID mode (Petr Oros) [1816982] - [arm64] arm64: dts: ls1043a-rdb: correct RGMII delay mode to rgmii-id (Petr Oros) [1816982] - [netdrv] net: phy: marvell: Fix pause frame negotiation (Petr Oros) [1816982] - [netdrv] net: phy: propagate an error back to the callers of phy_sfp_probe (Petr Oros) [1816982] - [netdrv] net: phy: at803x: fix clock sink configuration on ATH8030 and ATH8035 (Petr Oros) [1816982] - [netdrv] r8169: fix resume on cable plug-in (Petr Oros) [1816982] - [documentation] dt-bindings: net: remove un-implemented property (Petr Oros) [1816982] - [netdrv] net: phy: mdio-bcm-unimac: Fix clock handling (Petr Oros) [1816982] - [netdrv] net: phy: dp83867: w/a for fld detect threshold bootstrapping issue (Petr Oros) [1816982] - [netdrv] net: phy: sfp-bus.c: get rid of docs warnings (Petr Oros) [1816982] - [netdrv] net: phy: mdio-mux-bcm-iproc: check clk_prepare_enable() return value (Petr Oros) [1816982] - [netdrv] net: phy: fix MDIO bus PM PHY resuming (Petr Oros) [1816982] - [of] drivers/of/of_mdio.c:fix of_mdiobus_register() (Petr Oros) [1816982] - [netdrv] net: phy: bcm63xx: fix OOPS due to missing driver name (Petr Oros) [1816982] - [netdrv] phylink: Improve error message when validate failed (Petr Oros) [1816982] - [netdrv] net: phy: avoid clearing PHY interrupts twice in irq handler (Petr Oros) [1816982] - [netdrv] net: phy: marvell: don't interpret PHY status unless resolved (Petr Oros) [1816982] - [netdrv] net: phy: mscc: fix firmware paths (Petr Oros) [1816982] - [netdrv] net: phy: corrected the return value for genphy_check_and_restart_aneg and genphy_c45_check_and_restart_aneg (Petr Oros) [1816982] - [documentation] docs: networking: phy: Rephrase paragraph for clarity (Petr Oros) [1816982] - [netdrv] net: phy: Avoid multiple suspends (Petr Oros) [1816982] - [netdrv] net: phy: broadcom: Fix a typo ("firsly") (Petr Oros) [1816982] - [netdrv] net: phy: restore mdio regs in the iproc mdio driver (Petr Oros) [1816982] - [netdrv] net: phy: at803x: disable vddio regulator (Petr Oros) [1816982] - [netdrv] net: mii_timestamper: fix static allocation by PHY driver (Petr Oros) [1816982] - [of] net: mdio: of: fix potential NULL pointer derefernce (Petr Oros) [1816982] - [netdrv] net: phy: add default ARCH_BCM_IPROC for MDIO_BCM_IPROC (Petr Oros) [1816982] - [netdrv] net: phy: DP83822: Add support for additional DP83825 devices (Petr Oros) [1816982] - [netdrv] phy: dp83826: Add phy IDs for DP83826N and 826NC (Petr Oros) [1816982] - [netdrv] net: phy: add new version of phy_do_ioctl (Petr Oros) [1816982] - [netdrv] net: phy: rename phy_do_ioctl to phy_do_ioctl_running (Petr Oros) [1816982] - [netdrv] r8169: use generic ndo_do_ioctl handler phy_do_ioctl (Petr Oros) [1816982] - [netdrv] net: phy: add generic ndo_do_ioctl handler phy_do_ioctl (Petr Oros) [1816982] - [netdrv] net: phylink: allow in-band AN for USXGMII (Petr Oros) [1816982] - [netdrv] net: phy: adin: fix a warning about msleep (Petr Oros) [1816982] - [netdrv] net: phy: don't crash in phy_read/_write_mmd without a PHY driver (Petr Oros) [1816982] - [netdrv] net: phylink: Allow 2.5BASE-T, 5GBASE-T and 10GBASE-T for the 10G link modes (Petr Oros) [1816982] - [netdrv] net: phy: adin: const-ify static data (Petr Oros) [1816982] - [netdrv] net: phy: dp83867: Set FORCE_LINK_GOOD to default after reset (Petr Oros) [1816982] - [netdrv] net: phy: Maintain MDIO device and bus statistics (Petr Oros) [1816982] - [powerpc] powerpc: Add const qual to local_read() parameter (Petr Oros) [1816982] - [include] u64_stats: provide u64_stats_t type (Petr Oros) [1816982] - [documentation] Documentation: net-sysfs: Remove duplicate PHY device documentation (Petr Oros) [1816982] - [netdrv] mdio_bus: Simplify reset handling and extend to non-DT systems (Petr Oros) [1816982] - [netdrv] net: phy: Added IRQ print to phylink_bringup_phy() (Petr Oros) [1816982] - [netdrv] net: phy: DP83822: Update Kconfig with DP83825I support (Petr Oros) [1816982] - [netdrv] net: phy: DP83TC811: Fix typo in Kconfig (Petr Oros) [1816982] - [netdrv] net: phylink: add support for polling MAC PCS (Petr Oros) [1816982] - [netdrv] net: phylink: make QSGMII a valid PHY mode for in-band AN (Petr Oros) [1816982] - [uapi] mii: Add helpers for parsing SGMII auto-negotiation (Petr Oros) [1816982] - [netdrv] net: phylink: fix failure to register on x86 systems (Petr Oros) [1816982] - [netdrv] net: phy: fixed_phy: switch to using fwnode_gpiod_get_index (Petr Oros) [1816982] - [netdrv] net: phy: fixed_phy: fix use-after-free when checking link GPIO (Petr Oros) [1816982] - [netdrv] net: phylink: switch to using fwnode_gpiod_get_index() (Petr Oros) [1816982] - [netdrv] net: phy: realtek: add support for configuring the RX delay on RTL8211F (Petr Oros) [1816982] - [netdrv] net: phy: realtek: add logging for the RGMII TX delay configuration (Petr Oros) [1816982] - [netdrv] net: mdio: of: Register discovered MII time stampers (Petr Oros) [1816982] - [documentation] dt-bindings: ptp: Introduce MII time stamping devices (Petr Oros) [1816982] - [netdrv] net: Add a layer for non-PHY MII time stamping drivers (Petr Oros) [1816982] - [netdrv] net: Introduce a new MII time stamping interface (Petr Oros) [1816982] - [netdrv] net: phy: dp83640: Move the probe and remove methods around (Petr Oros) [1816982] - [netdrv] net: netcp_ethss: Use the PHY time stamping interface (Petr Oros) [1816982] - [net] net: ethtool: Use the PHY time stamping interface (Petr Oros) [1816982] - [net] net: vlan: Use the PHY time stamping interface (Petr Oros) [1816982] - [netdrv] net: macvlan: Use the PHY time stamping interface (Petr Oros) [1816982] - [include] net: phy: Introduce helper functions for time stamping support (Petr Oros) [1816982] - [include] of: mdio: Add missing inline to of_mdiobus_child_is_phy() dummy (Petr Oros) [1816982] - [netdrv] net: phy: aquantia: add suspend / resume ops for AQR105 (Petr Oros) [1816982] - [netdrv] net: phy: ensure that phy IDs are correctly typed (Petr Oros) [1816982] - [include] mod_devicetable: fix PHY module format (Petr Oros) [1816982] - [of] of: mdio: export of_mdiobus_child_is_phy (Petr Oros) [1816982] - [netdrv] net: sfp: report error on failure to read sfp soft status (Petr Oros) [1816982] - [netdrv] net: phy: marvell: use genphy_check_and_restart_aneg() (Petr Oros) [1816982] - [netdrv] net: phy: marvell: use phy_modify_changed() (Petr Oros) [1816982] - [netdrv] net: phy: marvell: use existing clause 37 definitions (Petr Oros) [1816982] - [netdrv] net: phy: marvell: consolidate phy status reading (Petr Oros) [1816982] - [netdrv] net: phy: marvell: use positive logic for link state (Petr Oros) [1816982] - [netdrv] net: phy: marvell: initialise link partner state earlier (Petr Oros) [1816982] - [netdrv] net: phy: marvell: rearrange to use genphy_read_lpa() (Petr Oros) [1816982] - [netdrv] net: phy: provide and use genphy_read_status_fixed() (Petr Oros) [1816982] - [netdrv] net: phy: add genphy_check_and_restart_aneg() (Petr Oros) [1816982] - [netdrv] net: phy: use phy_resolve_aneg_pause() (Petr Oros) [1816982] - [netdrv] net: phy: remove redundant .aneg_done initialisers (Petr Oros) [1816982] - [netdrv] net: phy: dp83869: Remove unneeded semicolon (Petr Oros) [1816982] - [netdrv] net: phylink: extend clause 45 PHY validation workaround (Petr Oros) [1816982] - [netdrv] net: phylink: improve clause 45 PHY ksettings_set implementation (Petr Oros) [1816982] - [netdrv] net: phylink: fix interface passed to mac_link_up (Petr Oros) [1816982] - [netdrv] net: phylink: propagate phy_attach_direct() return code (Petr Oros) [1816982] - [netdrv] net: phy: dp83867: Add rx-fifo-depth and tx-fifo-depth (Petr Oros) [1816982] - [documentation] dt-bindings: dp83867: Convert fifo-depth to common fifo-depth and make optional (Petr Oros) [1816982] - [netdrv] net: sfp: re-attempt probing for phy (Petr Oros) [1816982] - [netdrv] net: sfp: error handling for phy probe (Petr Oros) [1816982] - [netdrv] net: sfp: rename sm_retries (Petr Oros) [1816982] - [netdrv] net: sfp: use a definition for the fault recovery attempts (Petr Oros) [1816982] - [netdrv] net: sfp: add support for Clause 45 PHYs (Petr Oros) [1816982] - [netdrv] net: phy: add Broadcom BCM84881 PHY driver (Petr Oros) [1816982] - [netdrv] net: phylink: make Broadcom BCM84881 based SFPs work (Petr Oros) [1816982] - [netdrv] net: phylink: delay MAC configuration for copper SFP modules (Petr Oros) [1816982] - [netdrv] net: phylink: split phylink_sfp_module_insert() (Petr Oros) [1816982] - [netdrv] net: phylink: split link_an_mode configured and current settings (Petr Oros) [1816982] - [netdrv] net: phylink: support Clause 45 PHYs on SFP+ modules (Petr Oros) [1816982] - [netdrv] net: phylink: re-split __phylink_connect_phy() (Petr Oros) [1816982] - [netdrv] net: mdio-i2c: add support for Clause 45 accesses (Petr Oros) [1816982] - [netdrv] net: sfp: move phy_start()/phy_stop() to phylink (Petr Oros) [1816982] - [netdrv] net: sfp: add module start/stop upstream notifications (Petr Oros) [1816982] - [netdrv] net: sfp: derive interface mode from ethtool link modes (Petr Oros) [1816982] - [netdrv] net: sfp: remove incomplete 100BASE-FX and 100BASE-LX support (Petr Oros) [1816982] - [netdrv] net: sfp: avoid tx-fault with Nokia GPON module (Petr Oros) [1816982] - [netdrv] net: phy: dp83867: fix hfs boot in rgmii mode (Petr Oros) [1816982] - [netdrv] phy: mdio-thunder: add missed pci_release_regions in remove (Petr Oros) [1816982] - [netdrv] net: sfp: fix hwmon (Petr Oros) [1816982] - [netdrv] net: sfp: fix unbind (Petr Oros) [1816982] - [netdrv] net: phy: realtek: fix using paged operations with RTL8105e / RTL8208 (Petr Oros) [1816982] - [netdrv] net: phy: Use the correct style for SPDX License Identifier (Petr Oros) [1816982] - [netdrv] net: phy: dp83869: Fix return paths to return proper values (Petr Oros) [1816982] - [netdrv] net: phy: add helpers phy_(un)lock_mdio_bus (Petr Oros) [1816982] - [netdrv] mdio_bus: don't use managed reset-controller (Petr Oros) [1816982] - [netdrv] net: phy: initialise phydev speed and duplex sanely (Petr Oros) [1816982] - [netdrv] net: phy: remove phy_ethtool_sset() (Petr Oros) [1816982] - [netdrv] net: sfp: soft status and control support (Petr Oros) [1816982] - [netdrv] net: sfp: add some quirks for GPON modules (Petr Oros) [1816982] - [netdrv] net: sfp: add support for module quirks (Petr Oros) [1816982] - [netdrv] net: phylink: fix link mode modification in PHY mode (Petr Oros) [1816982] - [netdrv] net: phylink: update documentation on create and destroy (Petr Oros) [1816982] - [netdrv] mdio_bus: Fix init if CONFIG_RESET_CONTROLLER=n (Petr Oros) [1816982] - [netdrv] net: phy: dp83869: fix return of uninitialized variable ret (Petr Oros) [1816982] - [netdrv] phy: mdio-sun4i: add missed regulator_disable in remove (Petr Oros) [1816982] - [netdrv] mscc.c: fix semicolon.cocci warnings (Petr Oros) [1816982] - [netdrv] net: phy: avoid matching all-ones clause 45 PHY IDs (Petr Oros) [1816982] - [netdrv] net: phylink: update to use phy_support_asym_pause() (Petr Oros) [1816982] - [netdrv] net: phy: marvell10g: add SFP+ support (Petr Oros) [1816982] - [netdrv] net: phy: add core phylib sfp support (Petr Oros) [1816982] - [netdrv] net: phy: dp83869: Add TI dp83869 phy (Petr Oros) [1816982] - [documentation] dt-bindings: net: dp83869: Add TI dp83869 phy (Petr Oros) [1816982] - [netdrv] mscc.c: Add support for additional VSC PHYs (Petr Oros) [1816982] - [netdrv] net: sfp: fix spelling mistake "requies" -> "requires" (Petr Oros) [1816982] - [netdrv] net: sfp: allow modules with slow diagnostics to probe (Petr Oros) [1816982] - [netdrv] net: sfp: allow sfp to probe slow to initialise GPON modules (Petr Oros) [1816982] - [netdrv] net: sfp: move module insert reporting out of probe (Petr Oros) [1816982] - [netdrv] net: sfp: split power mode switching from probe (Petr Oros) [1816982] - [netdrv] net: sfp: track upstream's attachment state in state machine (Petr Oros) [1816982] - [netdrv] net: sfp: ensure TX_FAULT has deasserted before probing the PHY (Petr Oros) [1816982] - [netdrv] net: sfp: allow fault processing to transition to other states (Petr Oros) [1816982] - [netdrv] net: sfp: eliminate mdelay() from PHY probe (Petr Oros) [1816982] - [netdrv] net: sfp: split the PHY probe from sfp_sm_mod_init() (Petr Oros) [1816982] - [netdrv] net: sfp: control TX_DISABLE and phy only from main state machine (Petr Oros) [1816982] - [netdrv] net: sfp: avoid power switch on address-change modules (Petr Oros) [1816982] - [netdrv] net: sfp: parse SFP power requirement earlier (Petr Oros) [1816982] - [netdrv] net: sfp: rename T_PROBE_WAIT to T_SERIAL (Petr Oros) [1816982] - [netdrv] net: sfp: handle module remove outside state machine (Petr Oros) [1816982] - [netdrv] net: sfp: rename sfp_sm_ins_next() as sfp_sm_mod_next() (Petr Oros) [1816982] - [netdrv] net: sfp: move tx disable on device down to main state machine (Petr Oros) [1816982] - [netdrv] net: sfp: move sfp sub-state machines into separate functions (Petr Oros) [1816982] - [netdrv] net: sfp: fix sfp_bus_put() kernel documentation (Petr Oros) [1816982] - [include] net: sfp: fix sfp_bus_add_upstream() warning (Petr Oros) [1816982] - [netdrv] net: sfp: rework upstream interface (Petr Oros) [1816982] - [netdrv] net: phy: at803x: add missing dependency on CONFIG_REGULATOR (Petr Oros) [1816982] - [netdrv] net: phy: at803x: remove config_init for AR9331 (Petr Oros) [1816982] - [netdrv] net: phy: at803x: fix the PHY names (Petr Oros) [1816982] - [netdrv] net: phy: at803x: mention AR8033 as same as AR8031 (Petr Oros) [1816982] - [netdrv] net: phy: at803x: add device tree binding (Petr Oros) [1816982] - [documentation] dt-bindings: net: phy: Add support for AT803X (Petr Oros) [1816982] - [netdrv] net: phy: at803x: fix Kconfig description (Petr Oros) [1816982] - [netdrv] net: phylink: Fix phylink_dbg() macro (Petr Oros) [1816982] - [netdrv] net: phy: marvell: add downshift support for 88E1145 (Petr Oros) [1816982] - [netdrv] net: phy: marvell: add PHY tunable support for more PHY versions (Petr Oros) [1816982] - [netdrv] net: phy: marvell: add downshift support for M88E1111 (Petr Oros) [1816982] - [netdrv] net: phy: marvell: fix downshift function naming (Petr Oros) [1816982] - [netdrv] net: phy: marvell: fix typo in constant MII_M1011_PHY_SRC_DOWNSHIFT_MASK (Petr Oros) [1816982] - [netdrv] net: phy: dp83867: support Wake on LAN (Petr Oros) [1816982] - [netdrv] net: phy: dp83867: move dt parsing to probe (Petr Oros) [1816982] - [netdrv] net: phy: dp83867: enable robust auto-mdix (Petr Oros) [1816982] - [netdrv] net: phy: smsc: LAN8740: add PHY_RST_AFTER_CLK_EN flag (Petr Oros) [1816982] - [netdrv] net: phy: broadcom: add 1000Base-X support for BCM54616S (Petr Oros) [1816982] - [netdrv] net: phy: add support for clause 37 auto-negotiation (Petr Oros) [1816982] - [netdrv] net: phy: modify assignment to OR for dev_flags in phy_attach_direct (Petr Oros) [1816982] - [netdrv] net: phy: marvell: remove superseded function marvell_set_downshift (Petr Oros) [1816982] - [netdrv] net: phy: marvell: support downshift as PHY tunable (Petr Oros) [1816982] - [netdrv] net: phy: avoid NPE if read_page/write_page callbacks are not available (Petr Oros) [1816982] - [netdrv] net: phy: micrel: Update KSZ87xx PHY name (Petr Oros) [1816982] - [netdrv] net: phy: micrel: Discern KSZ8051 and KSZ8795 PHYs (Petr Oros) [1816982] - [netdrv] net: phy: Fix "link partner" information disappear issue (Petr Oros) [1816982] - [netdrv] net: sfp: move fwnode parsing into sfp-bus layer (Petr Oros) [1816982] - [netdrv] net: phylink: use more linkmode_* (Petr Oros) [1816982] - [netdrv] phylink: fix kernel-doc warnings (Petr Oros) [1816982] - [netdrv] net: phy: mscc: make arrays static, makes object smaller (Petr Oros) [1816982] - [netdrv] net: phy: at803x: use operating parameters from PHY-specific status (Petr Oros) [1816982] - [netdrv] net: phy: extract pause mode (Petr Oros) [1816982] - [netdrv] net: phy: extract link partner advertisement reading (Petr Oros) [1816982] - [netdrv] net: phy: allow for reset line to be tied to a sleepy GPIO controller (Petr Oros) [1816982] - [documentation] docs: networking: phy: Improve phrasing (Petr Oros) [1816982] - [netdrv] net: phy: broadcom: Use bcm54xx_config_clock_delay() for BCM54612E (Petr Oros) [1816982] - [netdrv] net: phy: broadcom: Fix RGMII delays configuration for BCM54210E (Petr Oros) [1816982] - [netdrv] net: phy: at803x: remove probe and struct at803x_priv (Petr Oros) [1816982] - [netdrv] net: phy: at803x: add ar9331 support (Petr Oros) [1816982] - [of] of: mdio: Fix a signedness bug in of_phy_get_and_connect() (Petr Oros) [1816982] - [netdrv] net/phy: fix DP83865 10 Mbps HDX loopback disable function (Petr Oros) [1816982] - [netdrv] net: phy: adin: implement Energy Detect Powerdown mode via phy-tunable (Petr Oros) [1816982] - [net] ethtool: implement Energy Detect Powerdown support via phy-tunable (Petr Oros) [1816982] - [netdrv] net: mdio: switch to using gpiod_get_optional() (Petr Oros) [1816982] - [netdrv] net: phy: dp83867: Add SGMII mode type switching (Petr Oros) [1816982] - [documentation] net: phy: dp83867: Add documentation for SGMII mode type (Petr Oros) [1816982] - [netdrv] net: phylink: Fix flow control resolution (Petr Oros) [1816982] - [netdrv] net: phy: Do not check Link status when loopback is enabled (Petr Oros) [1816982] - [netdrv] net: phy: gmii2rgmii: Dont use priv field in phy device (Petr Oros) [1816982] - [include] include: mdio: Add driver data helpers (Petr Oros) [1816982] - [netdrv] net: phy: force phy suspend when calling phy_stop (Petr Oros) [1816982] - [netdrv] phy: mdio-sun4i: use devm_platform_ioremap_resource() to simplify code (Petr Oros) [1816982] - [netdrv] phy: mdio-mux-meson-g12a: use devm_platform_ioremap_resource() to simplify code (Petr Oros) [1816982] - [netdrv] phy: mdio-moxart: use devm_platform_ioremap_resource() to simplify code (Petr Oros) [1816982] - [netdrv] phy: mdio-hisi-femac: use devm_platform_ioremap_resource() to simplify code (Petr Oros) [1816982] - [netdrv] phy: mdio-bcm-iproc: use devm_platform_ioremap_resource() to simplify code (Petr Oros) [1816982] - [netdrv] net: phy: sfp: Add labels to hwmon sensors (Petr Oros) [1816982] - [netdrv] net: phy: remove genphy_config_init (Petr Oros) [1816982] - [netdrv] net: phy: remove calls to genphy_config_init (Petr Oros) [1816982] - [netdrv] net: phy: realtek: support NBase-T MMD EEE registers on RTL8125 (Petr Oros) [1816982] - [uapi] net: phy: add EEE-related constants (Petr Oros) [1816982] - [documentation] dt-bindings: net: add bindings for ADIN PHY driver (Petr Oros) [1816982] - [netdrv] net: phy: adin: add ethtool get_stats support (Petr Oros) [1816982] - [netdrv] net: phy: adin: implement downshift configuration via phy-tunable (Petr Oros) [1816982] - [netdrv] net: phy: adin: implement PHY subsystem software reset (Petr Oros) [1816982] - [netdrv] net: phy: adin: add EEE translation layer from Clause 45 to Clause 22 (Petr Oros) [1816982] - [netdrv] net: phy: adin: add support MDI/MDIX/Auto-MDI selection (Petr Oros) [1816982] - [netdrv] net: phy: adin: make RMII fifo depth configurable (Petr Oros) [1816982] - [netdrv] net: phy: adin: make RGMII internal delays configurable (Petr Oros) [1816982] - [netdrv] net: phy: adin: configure RGMII/RMII/MII modes on config (Petr Oros) [1816982] - [netdrv] net: phy: adin: add {write,read}_mmd hooks (Petr Oros) [1816982] - [netdrv] net: phy: adin: add support for interrupts (Petr Oros) [1816982] - [netdrv] net: phy: adin: hook genphy_{suspend, resume} into the driver (Petr Oros) [1816982] - [netdrv] net: phy: adin: add support for Analog Devices PHYs (Petr Oros) [1816982] - [netdrv] net: phy: realtek: add support for EEE registers on integrated PHY's (Petr Oros) [1816982] - [netdrv] net: phy: swphy: emulate register MII_ESTATUS (Petr Oros) [1816982] - [netdrv] net: phy: read MII_CTRL1000 in genphy_read_status only if needed (Petr Oros) [1816982] - [netdrv] net: phy: realtek: add NBase-T PHY auto-detection (Petr Oros) [1816982] - [netdrv] net: phy: let phy_speed_down/up support speeds >1Gbps (Petr Oros) [1816982] - [netdrv] net: phy: add phy_speed_down_core and phy_resolve_min_speed (Petr Oros) [1816982] - [netdrv] net: phy: add __set_linkmode_max_speed (Petr Oros) [1816982] - [netdrv] net: phy: realtek: add support for the 2.5Gbps PHY in RTL8125 (Petr Oros) [1816982] - [netdrv] net: phy: add phy_modify_paged_changed (Petr Oros) [1816982] - [netdrv] net: phy: prepare phylib to deal with PHY's extending Clause 22 (Petr Oros) [1816982] - [netdrv] net: phy: simplify genphy_config_advert by using the linkmode_adv_to_xxx_t functions (Petr Oros) [1816982] - [netdrv] net: phy: at803x: stop switching phy delay config needlessly (Petr Oros) [1816982] - [netdrv] net: mdio-octeon: Fix Kconfig warnings and build errors (Petr Oros) [1816982] - [netdrv] net: phy: xgene: use devm_platform_ioremap_resource() to simplify code (Petr Oros) [1816982] - [netdrv] net: phy: Add mdio-aspeed (Petr Oros) [1816982] - [netdrv] net: phy: phy_led_triggers: Fix a possible null-pointer dereference in phy_led_trigger_change_speed() (Petr Oros) [1816982] - [netdrv] net: phylink: Fix flow control for fixed-link (Petr Oros) [1816982] - [netdrv] net: phylink: don't start and stop SGMII PHYs in SFP modules twice (Petr Oros) [1816982] - [netdrv] net: phy: Make use of linkmode_mod_bit helper (Petr Oros) [1816982] - [netdrv] net: stmmac: enable clause 45 mdio support (Petr Oros) [1816982] - [documentation] doc: phy: document some PHY_INTERFACE_MODE_xxx settings (Petr Oros) [1816982] - [netdrv] Revert "net: phylink: set the autoneg state in phylink_phy_change" (Petr Oros) [1816982] - [netdrv] net: phy: sfp: clean up a condition (Petr Oros) [1816982] - [netdrv] net: phylink: set the autoneg state in phylink_phy_change (Petr Oros) [1816982] - [netdrv] net: phy: Add more 1000BaseX support detection (Petr Oros) [1816982] - [netdrv] net: phy: broadcom: Add genphy_suspend and genphy_resume for BCM5464 (Petr Oros) [1816982] - [netdrv] net: sfp: add mutex to prevent concurrent state checks (Petr Oros) [1816982] - [netdrv] net: sfp: Stop SFP polling and interrupt handling during shutdown (Petr Oros) [1816982] - [netdrv] net: phy: Add detection of 1000BaseX link mode support (Petr Oros) [1816982] - [netdrv] net: phy: remove state PHY_FORCING (Petr Oros) [1816982] - [netdrv] net: phy: export phy_queue_state_machine (Petr Oros) [1816982] - [netdrv] net: phy: add callback for custom interrupt handler to struct phy_driver (Petr Oros) [1816982] - [netdrv] net: phy: enable interrupts when PHY is attached already (Petr Oros) [1816982] - [netdrv] net: phy: sfp: enable i2c-bus detection on ACPI based systems (Petr Oros) [1816982] - [netdrv] net: phy: tja11xx: Switch to HWMON_CHANNEL_INFO() (Petr Oros) [1816982] - [netdrv] net: phylink: Add phylink_{printk, err, warn, info, dbg} macros (Petr Oros) [1816982] - [netdrv] net: phylink: Add PHYLINK_DEV operation type (Petr Oros) [1816982] - [netdrv] net: phylink: Add struct phylink_config to PHYLINK API (Petr Oros) [1816982] - [netdrv] net: phylink: Add phylink_mac_link_{up, down} wrapper functions (Petr Oros) [1816982] - [netdrv] net: phy: Add phy_standalone sysfs entry (Petr Oros) [1816982] - [netdrv] net: phy: Check against net_device being NULL (Petr Oros) [1816982] - [netdrv] net: phy: Guard against the presence of a netdev (Petr Oros) [1816982] - [netdrv] net: phy: Add phy_sysfs_create_links helper function (Petr Oros) [1816982] - [netdrv] net: sfp: remove sfp-bus use of netdevs (Petr Oros) [1816982] - [netdrv] net: sfp: add mandatory attach/detach methods for sfp buses (Petr Oros) [1816982] - [netdrv] net: phy: allow Clause 45 access via mii ioctl (Petr Oros) [1816982] - [netdrv] net: phylink: support for link gpio interrupt (Petr Oros) [1816982] - [netdrv] net: phylink: remove netdev from phylink mii ioctl emulation (Petr Oros) [1816982] - [netdrv] net: phy: bcm87xx: improve bcm87xx_config_init and feature detection (Petr Oros) [1816982] - [netdrv] net: phy: tja11xx: Add TJA11xx PHY driver (Petr Oros) [1816982] - [netdrv] net: phy: aquantia: add USXGMII support and warn if XGMII mode is set (Petr Oros) [1816982] - [documentation] dt-bindings: net: document new usxgmii phy mode (Petr Oros) [1816982] - [include] net: phy: add interface mode PHY_INTERFACE_MODE_USXGMII (Petr Oros) [1816982] - [netdrv] net: phy: lxt: Add suspend/resume support to LXT971 and LXT973 (Petr Oros) [1816982] - [netdrv] net: phy: Make phy_basic_t1_features use base100t1 (Petr Oros) [1816982] - [netdrv] net: phy: dp83867: Allocate state struct in probe (Petr Oros) [1816982] - [netdrv] net: phy: dp83867: Validate FIFO depth property (Petr Oros) [1816982] - [netdrv] net: phy: dp83867: IO impedance is not dependent on RGMII delay (Petr Oros) [1816982] - [netdrv] net: phy: dp83867: Use unsigned variables to store unsigned properties (Petr Oros) [1816982] - [netdrv] net: phy: dp83867: Rework delay rgmii delay handling (Petr Oros) [1816982] - [netdrv] net: phy: dp83867: Add ability to disable output clock (Petr Oros) [1816982] - [documentation] dt-bindings: phy: dp83867: Add documentation for disabling clock output (Petr Oros) [1816982] - [documentation] dt-bindings: phy: dp83867: Describe how driver behaves w.r.t rgmii delay (Petr Oros) [1816982] - [documentation] Documentation: net: phy: switch documentation to rst format (Petr Oros) [1816982] - [of] of: mdio: Support fixed links in of_phy_get_and_connect() (Petr Oros) [1816982] - [documentation] doc: add phylink documentation to the networking book (Petr Oros) [1816982] - [include] net: phylink: update mac_config() documentation (Petr Oros) [1816982] - [tools] libbpf: use .so dynamic symbols for abi check (Yauheni Kaliuta) [1813370] - [tools] selftests/bpf: Install generated test progs (Yauheni Kaliuta) [1813370] - [kernel] ftrace: Fix memory leak caused by not freeing entry in unregister_ftrace_direct() (Yauheni Kaliuta) [1813370] - [tools] libbpf: Support CO-RE relocations for LDX/ST/STX instructions (Yauheni Kaliuta) [1813370] - [include] bpf: Add bpf_jit_blinding_enabled for !CONFIG_BPF_JIT (Yauheni Kaliuta) [1813370] - [tools] tools, bpf_asm: Warn when jumps are out of range (Yauheni Kaliuta) [1813370] - [include] bpf: Add typecast to bpf helpers to help BTF generation (Yauheni Kaliuta) [1813370] - [trace] bpf: Add typecast to raw_tracepoints to help BTF generation (Yauheni Kaliuta) [1813370] - [tools] libbpf: Fix build on read-only filesystems (Yauheni Kaliuta) [1813370] - [tools] bpf: Add further test_verifier cases for record_func_key (Yauheni Kaliuta) [1813370] - [net] bpf: Fix record_func_key to perform backtracking on r3 (Yauheni Kaliuta) [1813370] - [net] bpf: Fix missing prog untrack in release_maps (Yauheni Kaliuta) [1813370] - [samples] samples: bpf: fix syscall_tp due to unused syscall (Yauheni Kaliuta) [1813370] - [samples] samples: bpf: Replace symbol compare of trace_event (Yauheni Kaliuta) [1813370] - [tools] selftests/bpf: Test function_graph tracer and bpf trampoline together (Yauheni Kaliuta) [1813370] - [net] bpf: Make BPF trampoline use register_ftrace_direct() API (Yauheni Kaliuta) [1813370] - [kernel] ftrace: Add modify_ftrace_direct() (Yauheni Kaliuta) [1813370] - [kernel] ftrace: Add information on number of page groups allocated (Yauheni Kaliuta) [1813370] - [x86] ftrace/x86: Tell objtool to ignore nondeterministic ftrace stack layout (Yauheni Kaliuta) [1813370] - [x86] ftrace/x86: Add a counter to test function_graph with direct (Yauheni Kaliuta) [1813370] - [x86] ftrace/x86: Add register_ftrace_direct() for custom trampolines (Yauheni Kaliuta) [1813370] - [kernel] ftrace: Add another check for match in register_ftrace_direct() (Yauheni Kaliuta) [1813370] - [kernel] ftrace: Add ftrace_find_direct_func() (Yauheni Kaliuta) [1813370] - [kernel] ftrace: Add register_ftrace_direct() (Yauheni Kaliuta) [1813370] - [kernel] ftrace: Separate out the copying of a ftrace_hash from __ftrace_hash_move() (Yauheni Kaliuta) [1813370] - [kernel] ftrace: Separate out functionality from ftrace_location_range() (Yauheni Kaliuta) [1813370] - [net] bpf: Fix build in minimal configurations, again (Yauheni Kaliuta) [1813370] - [tools] selftests/bpf: Add a fexit/bpf2bpf test with target bpf prog no callees (Yauheni Kaliuta) [1813370] - [net] bpf: Fix a bug when getting subprog 0 jited image in check_attach_btf_id (Yauheni Kaliuta) [1813370] - [tools] selftests/bpf: Bring back c++ include/link test (Yauheni Kaliuta) [1813370] - [tools] selftests/bpf: Don't hard-code root cgroup id (Yauheni Kaliuta) [1813370] - [samples] samples/bpf: Fix broken xdp_rxq_info due to map order assumptions (Yauheni Kaliuta) [1813370] - [tools] libbpf: Fix readelf output parsing for Fedora (Yauheni Kaliuta) [1813370] - [tools] libbpf: Fix readelf output parsing on powerpc with recent binutils (Yauheni Kaliuta) [1813370] - [tools] selftests: bpf: correct perror strings (Yauheni Kaliuta) [1813370] - [tools] selftests: bpf: test_sockmap: handle file creation failures gracefully (Yauheni Kaliuta) [1813370] - [net] bpf: Fix build in minimal configurations (Yauheni Kaliuta) [1813370] - [tools] libbpf: Fix up generation of bpf_helper_defs.h (Yauheni Kaliuta) [1813370] - [tools] libbpf: Fix global variable relocation (Yauheni Kaliuta) [1813370] - [net] bpf: Fix static checker warning (Yauheni Kaliuta) [1813370] - [tools] libbpf: Fix usage of u32 in userspace code (Yauheni Kaliuta) [1813370] - [net] bpf: Simplify __bpf_arch_text_poke poke type handling (Yauheni Kaliuta) [1813370] - [tools] bpf: Introduce BPF_TRACE_x helper for the tracing tests (Yauheni Kaliuta) [1813370] - [tools] bpf, testing: Add various tail call test cases (Yauheni Kaliuta) [1813370] - [x86] bpf, x86: Emit patchable direct jump as tail call (Yauheni Kaliuta) [1813370] - [net] bpf: Constant map key tracking for prog array pokes (Yauheni Kaliuta) [1813370] - [net] bpf: Add poke dependency tracking for prog array maps (Yauheni Kaliuta) [1813370] - [include] bpf: Add initial poke descriptor table for jit images (Yauheni Kaliuta) [1813370] - [net] bpf: Move owner type, jited info into array auxiliary data (Yauheni Kaliuta) [1813370] - [net] bpf: Move bpf_free_used_maps into sleepable section (Yauheni Kaliuta) [1813370] - [x86] bpf, x86: Generalize and extend bpf_arch_text_poke for direct jumps (Yauheni Kaliuta) [1813370] - [tools] selftests/bpf: Add BPF trampoline performance test (Yauheni Kaliuta) [1813370] - [tools] selftests/bpf: Ensure core_reloc_kernel is reading test_progs's data only (Yauheni Kaliuta) [1813370] - [tools] selftests/bpf: Add verifier tests for better jmp32 register bounds (Yauheni Kaliuta) [1813370] - [net] bpf: Provide better register bounds after jmp32 instructions (Yauheni Kaliuta) [1813370] - [tools] selftests/bpf: Integrate verbose verifier log into test_progs (Yauheni Kaliuta) [1813370] - [tools] libbpf: Support initialized global variables (Yauheni Kaliuta) [1813370] - [tools] selftests, bpftool: Skip the build test if not in tree (Yauheni Kaliuta) [1813370] - [tools] libbpf: Fix various errors and warning reported by checkpatch.pl (Yauheni Kaliuta) [1813370] - [tools] selftests, bpftool: Set EXIT trap after usage function (Yauheni Kaliuta) [1813370] - [tools] selftests/bpf: Ensure no DWARF relocations for BPF object files (Yauheni Kaliuta) [1813370] - [tools] tools, bpftool: Fix warning on ignored return value for 'read' (Yauheni Kaliuta) [1813370] - [net] bpf: Switch bpf_map_{area_alloc, area_mmapable_alloc}() to u64 size (Yauheni Kaliuta) [1813370] - [net] bpf: Make array_map_mmap static (Yauheni Kaliuta) [1813370] - [tools] selftests/bpf: Enforce no-ALU32 for test_progs-no_alu32 (Yauheni Kaliuta) [1813370] - [s390] s390/bpf: Remove JITed image size limitations (Yauheni Kaliuta) [1813370] - [s390] s390/bpf: Use lg(f)rl when long displacement cannot be used (Yauheni Kaliuta) [1813370] - [s390] s390/bpf: Use lgrl instead of lg where possible (Yauheni Kaliuta) [1813370] - [s390] s390/bpf: Load literal pool register using larl (Yauheni Kaliuta) [1813370] - [s390] s390/bpf: Align literal pool entries (Yauheni Kaliuta) [1813370] - [s390] s390/bpf: Use relative long branches (Yauheni Kaliuta) [1813370] - [net] bpf: Fix memory leak on object 'data' (Yauheni Kaliuta) [1813370] - [tools] selftests, bpf: Workaround an alu32 sub-register spilling issue (Yauheni Kaliuta) [1813370] - [tools] selftests/bpf: Add BPF_TYPE_MAP_ARRAY mmap() tests (Yauheni Kaliuta) [1813370] - [tools] libbpf: Make global data internal arrays mmap()-able, if possible (Yauheni Kaliuta) [1813370] - [net] bpf: Add mmap() support for BPF_MAP_TYPE_ARRAY (Yauheni Kaliuta) [1813370] - [netdrv] bpf: Convert bpf_prog refcnt to atomic64_t (Yauheni Kaliuta) [1813370] - [netdrv] net: thunderx: set xdp_prog to NULL if bpf_prog_add fails (Yauheni Kaliuta) [1813370] - [net] bpf: Switch bpf_map ref counter to atomic64_t so bpf_map_inc() never fails (Yauheni Kaliuta) [1813370] - [lib] locking/atomic: Use s64 for atomic64 (Yauheni Kaliuta) [1813370] - [include] atomics/treewide: Make conditional inc/dec ops optional (Yauheni Kaliuta) [1813370] - [include] atomics/treewide: Make unconditional inc/dec ops optional (Yauheni Kaliuta) [1813370] - [include] atomics/treewide: Make test ops optional (Yauheni Kaliuta) [1813370] - [include] atomics/treewide: Make atomic64_fetch_add_unless() optional (Yauheni Kaliuta) [1813370] - [powerpc] atomics/powerpc: Define atomic64_fetch_add_unless() (Yauheni Kaliuta) [1813370] - [lib] atomics/generic: Define atomic64_fetch_add_unless() (Yauheni Kaliuta) [1813370] - [include] atomics: Prepare for atomic64_fetch_add_unless() (Yauheni Kaliuta) [1813370] - [include] atomics/treewide: Make atomic_fetch_add_unless() optional (Yauheni Kaliuta) [1813370] - [include] atomics/treewide: Make atomic64_inc_not_zero() optional (Yauheni Kaliuta) [1813370] - [include] atomics: Make conditional ops return 'bool' (Yauheni Kaliuta) [1813370] - [net] atomics/treewide: Remove atomic_inc_not_zero_hint() (Yauheni Kaliuta) [1813370] - [net] atomics/treewide: Rename __atomic_add_unless() => atomic_fetch_add_unless() (Yauheni Kaliuta) [1813370] - [tools] selftests/bpf: Add a test for attaching BPF prog to another BPF prog and subprog (Yauheni Kaliuta) [1813370] - [tools] selftests/bpf: Extend test_pkt_access test (Yauheni Kaliuta) [1813370] - [tools] libbpf: Add support for attaching BPF programs to other BPF programs (Yauheni Kaliuta) [1813370] - [net] bpf: Support attaching tracing BPF program to other BPF programs (Yauheni Kaliuta) [1813370] - [net] bpf: Compare BTF types of functions arguments with actual types (Yauheni Kaliuta) [1813370] - [net] bpf: Annotate context types (Yauheni Kaliuta) [1813370] - [net] bpf: Fix race in btf_resolve_helper_id() (Yauheni Kaliuta) [1813370] - [x86] bpf: Reserve space for BPF trampoline in BPF programs (Yauheni Kaliuta) [1813370] - [tools] selftests/bpf: Add stress test for maximum number of progs (Yauheni Kaliuta) [1813370] - [tools] selftests/bpf: Add combined fentry/fexit test (Yauheni Kaliuta) [1813370] - [tools] selftests/bpf: Add fexit tests for BPF trampoline (Yauheni Kaliuta) [1813370] - [tools] selftests/bpf: Add test for BPF trampoline (Yauheni Kaliuta) [1813370] - [net] bpf: Add kernel test functions for fentry testing (Yauheni Kaliuta) [1813370] - [tools] selftest/bpf: Simple test for fentry/fexit (Yauheni Kaliuta) [1813370] - [tools] libbpf: Add support to attach to fentry/fexit tracing progs (Yauheni Kaliuta) [1813370] - [tools] libbpf: Introduce btf__find_by_name_kind() (Yauheni Kaliuta) [1813370] - [net] bpf: Introduce BPF trampoline (Yauheni Kaliuta) [1813370] - [x86] bpf: Add bpf_arch_text_poke() helper (Yauheni Kaliuta) [1813370] - [x86] bpf: Refactor x86 JIT into helpers (Yauheni Kaliuta) [1813370] - [documentation] bpf, doc: Change right arguments for JIT example code (Yauheni Kaliuta) [1813370] - [samples] samples/bpf: Add missing option to xdpsock usage (Yauheni Kaliuta) [1813370] - [samples] samples/bpf: Remove duplicate option from xdpsock (Yauheni Kaliuta) [1813370] - [s390] s390/bpf: Make sure JIT passes do not increase code size (Yauheni Kaliuta) [1813370] - [net] bpf: Support doubleword alignment in bpf_jit_binary_alloc (Yauheni Kaliuta) [1813370] - [samples] samples/bpf: adjust Makefile and README.rst (Yauheni Kaliuta) [1813370] - [tools] bpf, testing: Add missing object file to TEST_FILES (Yauheni Kaliuta) [1813370] - [tools] bpf, testing: Workaround a verifier failure for test_progs (Yauheni Kaliuta) [1813370] - [samples] samples/bpf: Use Rx-only and Tx-only sockets in xdpsock (Yauheni Kaliuta) [1813370] - [tools] libbpf: Allow for creating Rx or Tx only AF_XDP sockets (Yauheni Kaliuta) [1813370] - [samples] samples/bpf: Add XDP_SHARED_UMEM support to xdpsock (Yauheni Kaliuta) [1813370] - [tools] libbpf: Support XDP_SHARED_UMEM with external XDP program (Yauheni Kaliuta) [1813370] - [tools] selftests/bpf: Add tests for automatic map unpinning on load failure (Yauheni Kaliuta) [1813370] - [samples] samples: bpf: update map definition to new syntax BTF-defined map (Yauheni Kaliuta) [1813370] - [samples] samples: bpf: Update outdated error message (Yauheni Kaliuta) [1813370] - [tools] bpf: Add cb access in kfree_skb test (Yauheni Kaliuta) [1813370] - [net] bpf: Add array support to btf_struct_access (Yauheni Kaliuta) [1813370] - [s390] s390/bpf: Remove unused SEEN_RET0, SEEN_REG_AX and ret0_ip (Yauheni Kaliuta) [1813370] - [s390] s390/bpf: Wrap JIT macro parameter usages in parentheses (Yauheni Kaliuta) [1813370] - [s390] s390/bpf: Use kvcalloc for addrs array (Yauheni Kaliuta) [1813370] - [net] bpf: Account for insn->off when doing bpf_probe_read_kernel (Yauheni Kaliuta) [1813370] - [tools] libbpf: Simplify BPF_CORE_READ_BITFIELD_PROBED usage (Yauheni Kaliuta) [1813370] - [tools] selftests/bps: Clean up removed ints relocations negative tests (Yauheni Kaliuta) [1813370] - [tools] selftests: bpf: log direct file writes (Yauheni Kaliuta) [1813370] - [tools] selftests/bpf: Add field size relocation tests (Yauheni Kaliuta) [1813370] - [tools] selftest/bpf: Add relocatable bitfield reading tests (Yauheni Kaliuta) [1813370] - [tools] libbpf: Add support for field size relocations (Yauheni Kaliuta) [1813370] - [tools] libbpf: Add support for relocatable bitfields (Yauheni Kaliuta) [1813370] - [tools] selftests/bpf: Remove too strict field offset relo test cases (Yauheni Kaliuta) [1813370] - [tools] bpf, testing: Add selftest to read/write sockaddr from user space (Yauheni Kaliuta) [1813370] - [tools] bpf, testing: Convert prog tests to probe_read_{user, kernel}{, _str} helper (Yauheni Kaliuta) [1813370] - [samples] bpf, samples: Use bpf_probe_read_user where appropriate (Yauheni Kaliuta) [1813370] - [net] bpf: Switch BPF probe insns to bpf_probe_read_kernel (Yauheni Kaliuta) [1813370] - [kernel] bpf: Add probe_read_{user, kernel} and probe_read_{user, kernel}_str helpers (Yauheni Kaliuta) [1813370] - [kernel] bpf: Make use of probe_user_write in probe write helper (Yauheni Kaliuta) [1813370] - [mm] uaccess: Add strict non-pagefault kernel-space read function (Yauheni Kaliuta) [1813370] - [mm] uaccess: Add non-pagefault user-space write function (Yauheni Kaliuta) [1813370] - [mm] uaccess: Add non-pagefault user-space read functions (Yauheni Kaliuta) [1813370] - [tools] selftests: Add tests for automatic map pinning (Yauheni Kaliuta) [1813370] - [net] bpf: Implement map_gen_lookup() callback for XSKMAP (Yauheni Kaliuta) [1813370] - [tools] libbpf: Add support for prog_tracing (Yauheni Kaliuta) [1813370] - [net] bpf: Replace prog_raw_tp+btf_id with prog_tracing (Yauheni Kaliuta) [1813370] - [net] bpf: Fix bpf jit kallsym access (Yauheni Kaliuta) [1813370] - [documentation] bpf: Add s390 testing documentation (Yauheni Kaliuta) [1813370] - [tools] selftests/bpf: Test narrow load from bpf_sysctl.write (Yauheni Kaliuta) [1813370] - [net] bpf: Enforce 'return 0' in BTF-enabled raw_tp programs (Yauheni Kaliuta) [1813370] - [tools] selftests/bpf: Restore $(OUTPUT)/test_stub.o rule (Yauheni Kaliuta) [1813370] - [tools] selftest/bpf: Use -m{little, big}-endian for clang (Yauheni Kaliuta) [1813370] - [tools] selftests/bpf: Fix .gitignore to ignore no_alu32/ (Yauheni Kaliuta) [1813370] - [net] bpf: Prepare btf_ctx_access for non raw_tp use case (Yauheni Kaliuta) [1813370] - [tools] libbpf: Fix strncat bounds error in libbpf_prog_type_by_name (Yauheni Kaliuta) [1813370] - [tools] selftests/bpf: Fix LDLIBS order (Yauheni Kaliuta) [1813370] - [tools] selftests/bpf: Move test_section_names into test_progs and fix it (Yauheni Kaliuta) [1813370] - [tools] tools/bpf: Turn on llvm alu32 attribute by default (Yauheni Kaliuta) [1813370] - [tools] selftest/bpf: Get rid of a bunch of explicit BPF program type setting (Yauheni Kaliuta) [1813370] - [tools] selftests/bpf: Make reference_tracking test use subtests (Yauheni Kaliuta) [1813370] - [tools] selftests/bpf: Make a copy of subtest name (Yauheni Kaliuta) [1813370] - [tools] libbpf: Add uprobe/uretprobe and tp/raw_tp section suffixes (Yauheni Kaliuta) [1813370] - [tools] bpf, libbpf: Add kernel version section parsing back (Yauheni Kaliuta) [1813370] - [kernel] bpf: Fix build error without CONFIG_NET (Yauheni Kaliuta) [1813370] - [net] bpf: Fix bpf_attr.attach_btf_id check (Yauheni Kaliuta) [1813370] - [tools] selftest/bpf: Remove test_libbpf.sh and test_libbpf_open (Yauheni Kaliuta) [1813370] - [tools] selftests/bpf: Move test_queue_stack_map.h into progs/ where it belongs (Yauheni Kaliuta) [1813370] - [tools] selftests/bpf: Replace test_progs and test_maps w/ general rule (Yauheni Kaliuta) [1813370] - [tools] selftests/bpf: Add simple per-test targets to Makefile (Yauheni Kaliuta) [1813370] - [tools] selftests/bpf: Switch test_maps to test_progs' test.h format (Yauheni Kaliuta) [1813370] - [tools] selftests/bpf: Teach test_progs to cd into subdir (Yauheni Kaliuta) [1813370] - [tools] selftests/bpf: Restore the netns after flow dissector reattach test (Yauheni Kaliuta) [1813370] - [tools] selftests/bpf: Add kfree_skb raw_tp test (Yauheni Kaliuta) [1813370] - [net] bpf: Check types of arguments passed into helpers (Yauheni Kaliuta) [1813370] - [net] bpf: Add support for BTF pointers to x86 JIT (Yauheni Kaliuta) [1813370] - [net] bpf: Add support for BTF pointers to interpreter (Yauheni Kaliuta) [1813370] - [net] bpf: Attach raw_tp program with BTF via type name (Yauheni Kaliuta) [1813370] - [net] bpf: Implement accurate raw_tp context access via BTF (Yauheni Kaliuta) [1813370] - [tools] libbpf: Auto-detect btf_id of BTF-based raw_tracepoints (Yauheni Kaliuta) [1813370] - [net] bpf: Add attach_btf_id attribute to program load (Yauheni Kaliuta) [1813370] - [net] bpf: Process in-kernel BTF (Yauheni Kaliuta) [1813370] - [tools] selftests: bpf: Add selftest for __sk_buff tstamp (Yauheni Kaliuta) [1813370] - [net] bpf: Allow __sk_buff tstamp in BPF_PROG_TEST_RUN (Yauheni Kaliuta) [1813370] - [tools] selftests/bpf: Remove obsolete pahole/BTF support detection (Yauheni Kaliuta) [1813370] - [tools] selftests/bpf: Enforce libbpf build before BPF programs are built (Yauheni Kaliuta) [1813370] - [samples] samples/bpf: Add preparation steps and sysroot info to readme (Yauheni Kaliuta) [1813370] - [samples] samples/bpf: Add sysroot support (Yauheni Kaliuta) [1813370] - [samples] samples/bpf: Provide C/LDFLAGS to libbpf (Yauheni Kaliuta) [1813370] - [tools] libbpf: Add C/LDFLAGS to libbpf.so and test_libpf targets (Yauheni Kaliuta) [1813370] - [tools] libbpf: Don't use cxx to test_libpf target (Yauheni Kaliuta) [1813370] - [samples] samples/bpf: Use target CC environment for HDR_PROBE (Yauheni Kaliuta) [1813370] - [samples] samples/bpf: Use own flags but not HOSTCFLAGS (Yauheni Kaliuta) [1813370] - [samples] samples/bpf: Base target programs rules on Makefile.target (Yauheni Kaliuta) [1813370] - [samples] samples/bpf: Add makefile.target for separate CC target build (Yauheni Kaliuta) [1813370] - [samples] samples/bpf: Drop unnecessarily inclusion for bpf_load (Yauheni Kaliuta) [1813370] - [samples] samples/bpf: Use __LINUX_ARM_ARCH__ selector for arm (Yauheni Kaliuta) [1813370] - [samples] samples/bpf: Use own EXTRA_CFLAGS for clang commands (Yauheni Kaliuta) [1813370] - [samples] samples/bpf: Use --target from cross-compile (Yauheni Kaliuta) [1813370] - [samples] samples/bpf: Fix cookie_uid_helper_example obj build (Yauheni Kaliuta) [1813370] - [samples] samples/bpf: Fix HDR_PROBE "echo" (Yauheni Kaliuta) [1813370] - [tools] libbpf: Handle invalid typedef emitted by old GCC (Yauheni Kaliuta) [1813370] - [tools] libbpf: Generate more efficient BPF_CORE_READ code (Yauheni Kaliuta) [1813370] - [net] bpf: Fix cast to pointer from integer of different size warning (Yauheni Kaliuta) [1813370] - [tools] selftests/bpf: Check that flow dissector can be re-attached (Yauheni Kaliuta) [1813370] - [net] flow_dissector: Allow updating the flow dissector program atomically (Yauheni Kaliuta) [1813370] - [include] bpf: Align struct bpf_prog_stats (Yauheni Kaliuta) [1813370] - [tools] selftests/bpf: Add read-only map values propagation tests (Yauheni Kaliuta) [1813370] - [net] bpf: Track contents of read-only maps as scalars (Yauheni Kaliuta) [1813370] - [tools] selftests/bpf: Convert test_btf_dump into test_progs test (Yauheni Kaliuta) [1813370] - [samples] samples: bpf: Add max_pckt_size option at xdp_adjust_tail (Yauheni Kaliuta) [1813370] - [tools] selftests/bpf: add test for BPF flow dissector in the root namespace (Yauheni Kaliuta) [1813370] - [net] bpf/flow_dissector: add mode to enforce global BPF flow dissector (Yauheni Kaliuta) [1813370] - [samples] samples/bpf: Trivial - fix spelling mistake in usage (Yauheni Kaliuta) [1813370] - [tools] selftests/bpf: Fix dependency ordering for attach_probe test (Yauheni Kaliuta) [1813370] - [tools] libbpf: Add cscope and tags targets to Makefile (Yauheni Kaliuta) [1813370] - [tools] selftests/bpf: switch tests to new bpf_object__open_{file, mem}() APIs (Yauheni Kaliuta) [1813370] - [tools] bpf: Add loop test case with 32 bit reg comparison against 0 (Yauheni Kaliuta) [1813370] - [x86] bpf, x86: Small optimization in comparing against imm0 (Yauheni Kaliuta) [1813370] - [tools] selftests/bpf: Correct path to include msg + path (Yauheni Kaliuta) [1813370] - [tools] selftests/bpf: Add static to enable_all_controllers() (Yauheni Kaliuta) [1813370] - [tools] libbpf: provide backported RHEL symbols as upstream aliases (Yauheni Kaliuta) [1813370] - [tools] libbpf: Bump current version to v0.0.6 (Yauheni Kaliuta) [1813370] - [tools] libbpf: bump up version, 0.0.5 (Yauheni Kaliuta) [1813370] - [net] cpumap: Avoid warning when CONFIG_DEBUG_PER_CPU_MAPS is enabled (Yauheni Kaliuta) [1823623 1813370] - [vfio] vfio-pci: Mask cap zero (Alex Williamson) [1840248] - [vfio] spapr_tce: Fix incorrect tce_iommu_group memory free (David Gibson) [1832386] - [fs] CIFS: fiemap: do not return EINVAL if get nothing (Leif Sahlberg) [1837180] - [fs] CIFS: Increment num_remote_opens stats counter even in case of smb2_query_dir_first (Leif Sahlberg) [1837180] - [fs] cifs: potential unintitliazed error code in cifs_getattr() (Leif Sahlberg) [1837180] - [fs] cifs: Use #define in cifs_dbg (Leif Sahlberg) [1837180] - [fs] cifs: fix rename() by ensuring source handle opened with DELETE bit (Leif Sahlberg) [1837180] - [fs] cifs: add missing mount option to /proc/mounts (Leif Sahlberg) [1837180] - [fs] cifs: fix potential mismatch of UNC paths (Leif Sahlberg) [1837180] - [fs] cifs: enable change notification for SMB2.1 dialect (Leif Sahlberg) [1837180] - [fs] cifs: Fix mode output in debugging statements (Leif Sahlberg) [1837180] - [fs] cifs: fix mount option display for sec=krb5i (Leif Sahlberg) [1837180] - [fs] smb3: Add defines for new information level, FileIdInformation (Leif Sahlberg) [1837180] - [fs] smb3: print warning once if posix context returned on open (Leif Sahlberg) [1837180] - [fs] smb3: add one more dynamic tracepoint missing from strict fsync path (Leif Sahlberg) [1837180] - [fs] cifs: fix mode bits from dir listing when mounted with modefromsid (Leif Sahlberg) [1837180] - [fs] cifs: fix channel signing (Leif Sahlberg) [1837180] - [fs] cifs: add SMB3 change notification support (Leif Sahlberg) [1837180] - [fs] cifs: make multichannel warning more visible (Leif Sahlberg) [1837180] - [fs] cifs: Add tracepoints for errors on flush or fsync (Leif Sahlberg) [1837180] - [fs] cifs: log warning message (once) if out of disk space (Leif Sahlberg) [1837180] - [fs] smb3: fix problem with null cifs super block with previous patch (Leif Sahlberg) [1837180] - [fs] SMB3: Backup intent flag missing from some more ops (Leif Sahlberg) [1837180] - [fs] cifs: update internal module version number (Leif Sahlberg) [1837180] - [fs] CIFS: Fix task struct use-after-free on reconnect (Leif Sahlberg) [1837180] - [fs] cifs: use PTR_ERR_OR_ZERO() to simplify code (Leif Sahlberg) [1837180] - [fs] cifs: add support for fallocate mode 0 for non-sparse files (Leif Sahlberg) [1837180] - [fs] CIFS: Add support for setting owner info, dos attributes, and create time (Leif Sahlberg) [1837180] - [fs] cifs: remove set but not used variable 'server' (Leif Sahlberg) [1837180] - [fs] cifs: fix unitialized variable poential problem with network I/O cache lock patch (Leif Sahlberg) [1837180] - [fs] cifs: Fix return value in __update_cache_entry (Leif Sahlberg) [1837180] - [fs] cifs: Avoid doing network I/O while holding cache lock (Leif Sahlberg) [1837180] - [fs] cifs: Fix potential deadlock when updating vol in cifs_reconnect() (Leif Sahlberg) [1837180] - [fs] cifs: Merge is_path_valid() into get_normalized_path() (Leif Sahlberg) [1837180] - [fs] cifs: Introduce helpers for finding TCP connection (Leif Sahlberg) [1837180] - [fs] cifs: Get rid of kstrdup_const()'d paths (Leif Sahlberg) [1837180] - [fs] cifs: Clean up DFS referral cache (Leif Sahlberg) [1837180] - [fs] cifs: Don't use iov_iter::type directly (Leif Sahlberg) [1837180] - [fs] cifs: set correct max-buffer-size for smb2_ioctl_init() (Leif Sahlberg) [1837180] - [fs] fs/cifs/cifssmb.c: use true, false for bool variable (Leif Sahlberg) [1837180] - [fs] fs/cifs/smb2ops.c: use true, false for bool variable (Leif Sahlberg) [1837180]- [lib] XArray: Optimise xas_sibling() if !CONFIG_XARRAY_MULTI (Don Dutile) [1840916] - [include] XArray: Fix incorrect comment in header file (Don Dutile) [1840916] - [lib] XArray: Fix xas_pause for large multi-index entries (Don Dutile) [1840916] - [lib] XArray: Fix xa_find_next for large multi-index entries (Don Dutile) [1840916] - [lib] XArray tests: Add check_insert (Don Dutile) [1840916] - [documentation] XArray: Add xa_for_each_range (Don Dutile) [1840916] - [documentation] XArray: Improve documentation of search marks (Don Dutile) [1840916] - [documentation] docs: remove :c:func: annotations from xarray.rst (Don Dutile) [1840916] - [lib] XArray: Fix xas_find returning too many entries (Don Dutile) [1840916] - [lib] XArray: Fix xa_find_after with multi-index entries (Don Dutile) [1840916] - [lib] XArray: Fix infinite loop with entry at ULONG_MAX (Don Dutile) [1840916] - [include] XArray: Add wrappers for nested spinlocks (Don Dutile) [1840916] - [lib] XArray: Fix xas_pause at ULONG_MAX (Don Dutile) [1840916] - [include] xarray.h: fix kernel-doc warning (Don Dutile) [1840916] - [lib] XArray: Fix xas_next() with a single entry at 0 (Don Dutile) [1840916] - [fs] mm: fix page cache convergence regression (Don Dutile) [1840916] - [netdrv] ionic: call ionic_port_init after fw-upgrade (Jonathan Toppins) [1830969] - [netdrv] ionic: leave netdev mac alone after fw-upgrade (Jonathan Toppins) [1830969] - [netdrv] ionic: add device reset to fw upgrade down (Jonathan Toppins) [1830969] - [netdrv] ionic: refresh devinfo after fw-upgrade (Jonathan Toppins) [1830969] - [netdrv] ionic: no link check until after probe (Jonathan Toppins) [1830969] - [netdrv] phy: avoid unnecessary link-up delay in polling mode (Petr Oros) [1785663] - [x86] x86: Select HARDIRQS_SW_RESEND on x86 (David Arcari) [1840433] - [pci] PCI/AER: Fix the broken interrupt injection (David Arcari) [1840433] - [kernel] genirq: Provide interrupt injection mechanism (David Arcari) [1840433] - [kernel] genirq: Sanitize state handling in check_irq_resend() (David Arcari) [1840433] - [kernel] genirq: Add return value to check_irq_resend() (David Arcari) [1840433] - [x86] x86/apic/vector: Force interupt handler invocation to irq context (David Arcari) [1840433] - [kernel] genirq: Add protection against unsafe usage of generic_handle_irq() (David Arcari) [1840433] - [kernel] genirq/debugfs: Add missing sanity checks to interrupt injection (David Arcari) [1840433] - [include] genirq/irqdomain: Make sure all irq domain flags are distinct (David Arcari) [1840433] - [x86] x86/apic/msi: Plug non-maskable MSI affinity race (David Arcari) [1840433] - [char] char: ipmi: convert to use i2c_new_client_device() (Tony Camuso) [1832408] - [char] ipmi: kcs: Fix aspeed_kcs_probe_of_v1() (Tony Camuso) [1832408] - [char] ipmi: Add missing annotation for ipmi_ssif_lock_cond() and ipmi_ssif_unlock_cond() (Tony Camuso) [1832408] - [char] ipmi: kcs: aspeed: Implement v2 bindings (Tony Camuso) [1832408] - [char] ipmi: kcs: Finish configuring ASPEED KCS device before enable (Tony Camuso) [1832408] - [char] ipmi: fix hung processes in __get_guid() (Tony Camuso) [1832408] - [char] drivers: char: ipmi: ipmi_msghandler: Pass lockdep expression to RCU lists (Tony Camuso) [1832408] - [char] ipmi_si: Avoid spurious errors for optional IRQs (Tony Camuso) [1832408] - [base] driver core: platform: Export platform_get_irq_optional() (Tony Camuso) [1832408] - [base] driver core: platform: Introduce platform_get_irq_optional() (Tony Camuso) [1832408] - [x86] x86/efi: Update e820 with reserved EFI boot services data to fix kexec breakage (Kairui Song) [1779544] - [powerpc] powerpc/nvdimm: use H_SCM_QUERY hcall on H_OVERLAP error (Pingfan Liu) [1792125] - [powerpc] powerpc/nvdimm: Use HCALL error as the return value (Pingfan Liu) [1792125] - [scsi] scsi: sd: Signal drive managed SMR disks (Ewan Milne) [1838784] - [scsi] scsi: core: free sgtables in case command setup fails (Ewan Milne) [1838784] - [scsi] scsi: core: Allow the state change from SDEV_QUIESCE to SDEV_BLOCK (Ewan Milne) [1838784] - [scsi] scsi: sg: add sg_remove_request in sg_write (Ewan Milne) [1838784] - [scsi] scsi: sg: add sg_remove_request in sg_common_write (Ewan Milne) [1838784] - [scsi] scsi: sd: Fix optimal I/O size for devices that change reported values (Ewan Milne) [1838784] - [scsi] scsi: move scsicam_bios_param to the end of scsicam.c (Ewan Milne) [1838784] - [scsi] scsi: simplify scsi_bios_ptable (Ewan Milne) [1838784] - [scsi] scsi: core: Use scnprintf() for avoiding potential buffer overflow (Ewan Milne) [1838784] - [scsi] scsi: core: avoid repetitive logging of device offline messages (Ewan Milne) [1838784] - [scsi] scsi: core: use kobj_to_dev (Ewan Milne) [1838784] - [scsi] scsi: sd: Clear sdkp->protection_type if disk is reformatted without PI (Ewan Milne) [1838784] - [scsi] scsi: core: Fix a compiler warning triggered by the SCSI logging code (Ewan Milne) [1838784] - [scsi] scsi: core: Adjust DBD setting in MODE SENSE for caching mode page per LLD (Ewan Milne) [1838784] - [scsi] scsi: sd_zbc: Improve report zones error printout (Ewan Milne) [1838784] - [scsi] scsi: scsi_transport_sas: Fix memory leak when removing devices (Ewan Milne) [1838784] - [scsi] scsi: scsi_debug: num_tgts must be >= 0 (Ewan Milne) [1838784] - [scsi] scsi: core: Handle drivers which set sg_tablesize to zero (Ewan Milne) [1838784] - [scsi] scsi: tracing: Fix handling of TRANSFER LENGTH == 0 for READ(6) and WRITE(6) (Ewan Milne) [1838784] - [scsi] scsi: sg: sg_ioctl(): get rid of access_ok() (Ewan Milne) [1838784] - [scsi] scsi: sg: sg_write(): get rid of access_ok()/__copy_from_user()/__get_user() (Ewan Milne) [1838784] - [scsi] scsi: sg: sg_read(): get rid of access_ok()/__copy_..._user() (Ewan Milne) [1838784] - [scsi] scsi: sg: sg_new_write(): don't bother with access_ok (Ewan Milne) [1838784] - [scsi] scsi: sg: sg_write(): __get_user() can fail.. (Ewan Milne) [1838784] - [scsi] scsi: sg: sg_new_write(): replace access_ok() + __copy_from_user() with copy_from_user() (Ewan Milne) [1838784] - [scsi] scsi: sg: sg_ioctl(): fix copyout handling (Ewan Milne) [1838784] - [scsi] scsi: core: scsi_trace: Use get_unaligned_be*() (Ewan Milne) [1838784] - [scsi] drivers/scsi: Replace rcu_swap_protected() with rcu_replace_pointer() (Ewan Milne) [1838784] - [scsi] scsi: sd: define variable dif as unsigned int instead of bool (Ewan Milne) [1838784] - [scsi] scsi: core: try to get module before removing device (Ewan Milne) [1838784] - [scsi] scsi: scsi_dh_alua: handle RTPG sense code correctly during state transitions (Ewan Milne) [1838784] - [powerpc] powerpc/64: flush_inval_dcache_range() becomes flush_dcache_range() (Gustavo Duarte) [1834180] - [x86] x86/ima: use correct identifier for SetupMode variable (Diego Domingos) [1781925] - [lib] kobject: fix dereference before null check on kobj (Diego Domingos) [1781925] - [include] MODSIGN: make new include file self contained (Diego Domingos) [1781925] - [security] ima: initialize the "template" field with the default template (Diego Domingos) [1781925] - [x86] x86/ima: Check EFI_RUNTIME_SERVICES before using (Diego Domingos) [1781925] - [x86] x86/ima: check EFI SetupMode too (Diego Domingos) [1781925] - [security] ima: Set file->f_mode instead of file->f_flags in ima_calc_file_hash() (Diego Domingos) [1781925] - [security] evm: check hash algorithm passed to init_desc() (Diego Domingos) [1781925] - [base] firmware: improve LSM/IMA security behaviour (Diego Domingos) [1781925] - [lib] kobject: Add support for default attribute groups to kobj_type (Diego Domingos) [1781925] - [samples] samples/kobject: Replace foo_ktype's default_attrs field with groups (Diego Domingos) [1781925] - [x86] x86/ima: require signed kernel modules (Diego Domingos) [1781925] - [security] powerpc: Load firmware trusted keys/hashes into kernel keyring (Diego Domingos) [1781925] - [powerpc] powerpc: expose secure variables to userspace via sysfs (Diego Domingos) [1781925] - [powerpc] powerpc/powernv: Add OPAL API interface to access secure variable (Diego Domingos) [1781925] - [powerpc] powerpc/ima: fix secure boot rules in ima arch policy (Diego Domingos) [1781925] - [security] ima: Set again build_ima_appraise variable (Diego Domingos) [1781925] - [security] ima: Remove redundant policy rule set in add_rules() (Diego Domingos) [1781925] - [powerpc] powerpc/ima: Indicate kernel modules appended signatures are enforced (Diego Domingos) [1781925] - [powerpc] powerpc/ima: Update ima arch policy to check for blacklist (Diego Domingos) [1781925] - [security] ima: Check against blacklisted hashes for files with modsig (Diego Domingos) [1781925] - [security] ima: prevent a file already mmap'ed write to be mmap'ed execute (Diego Domingos) [1781925] - [certs] certs: Add wrapper function to check blacklisted binary hash (Diego Domingos) [1781925] - [security] ima: Make process_buffer_measurement() generic (Diego Domingos) [1781925] - [powerpc] powerpc/ima: Define trusted boot policy (Diego Domingos) [1781925] - [powerpc] powerpc: Detect the trusted boot state of the system (Diego Domingos) [1781925] - [powerpc] powerpc/ima: Add support to initialize ima policy rules (Diego Domingos) [1781925] - [powerpc] powerpc: Detect the secure boot mode of the system (Diego Domingos) [1781925] - [security] ima: use struct_size() in kzalloc() (Diego Domingos) [1781925] - [tools] sefltest/ima: support appended signatures (modsig) (Diego Domingos) [1781925] - [security] ima: Fix use after free in ima_read_modsig() (Diego Domingos) [1781925] - [security] ima: fix freeing ongoing ahash_request (Diego Domingos) [1781925] - [security] ima: always return negative code for error (Diego Domingos) [1781925] - [security] ima: Store the measurement again when appraising a modsig (Diego Domingos) [1781925] - [security] ima: Define ima-modsig template (Diego Domingos) [1781925] - [security] ima: Collect modsig (Diego Domingos) [1781925] - [security] ima: Implement support for module-style appended signatures (Diego Domingos) [1781925] - [security] ima: Factor xattr_verify() out of ima_appraise_measurement() (Diego Domingos) [1781925] - [security] integrity: Introduce struct evm_xattr (Diego Domingos) [1781925] - [security] ima: Add modsig appraise_type option for module-style appended signatures (Diego Domingos) [1781925] - [kernel] MODSIGN: Export module signature definitions (Diego Domingos) [1781925] - [kernel] modsign: log module name in the event of an error (Diego Domingos) [1781925] - [kernel] KEXEC: Call ima_kexec_cmdline to measure the boot command line args (Diego Domingos) [1781925] - [security] IMA: Define a new template field buf (Diego Domingos) [1781925] - [security] IMA: Define a new hook to measure the kexec boot command line arguments (Diego Domingos) [1781925] - [security] IMA: support for per policy rule template formats (Diego Domingos) [1781925] - [security] integrity: Fix __integrity_init_keyring() section mismatch (Diego Domingos) [1781925] - [security] x86/ima: fix the Kconfig dependency for IMA_ARCH_POLICY (Diego Domingos) [1781925] - [security] ima: Make arch_policy_entry static (Diego Domingos) [1781925] - [security] ima: show rules with IMA_INMASK correctly (Diego Domingos) [1781925] - [security] ima: fix wrong signed policy requirement when not appraising (Diego Domingos) [1781925] - [tools] selftests/kexec: update get_secureboot_mode (Diego Domingos) [1781925] - [tools] selftests/kexec: make kexec_load test independent of IMA being enabled (Diego Domingos) [1781925] - [tools] selftests/kexec: check kexec_load and kexec_file_load are enabled (Diego Domingos) [1781925] - [tools] selftests/kexec: Add missing '=y' to config options (Diego Domingos) [1781925] - [tools] selftests/kexec: kexec_file_load syscall test (Diego Domingos) [1781925] - [tools] selftests/kexec: define "require_root_privileges" (Diego Domingos) [1781925] - [tools] selftests/kexec: define common logging functions (Diego Domingos) [1781925] - [tools] selftests/kexec: define a set of common functions (Diego Domingos) [1781925] - [tools] selftests/kexec: cleanup the kexec selftest (Diego Domingos) [1781925] - [tools] selftests/kexec: move the IMA kexec_load selftest to selftests/kexec (Diego Domingos) [1781925] - [security] evm: remove set but not used variable 'xattr' (Diego Domingos) [1781925] - [security] security: integrity: partial revert of make ima_main explicitly non-modular (Diego Domingos) [1781925] - [security] ima: cleanup the match_token policy code (Diego Domingos) [1781925] - [security] ima: Use inode_is_open_for_write (Diego Domingos) [1781925] - [security] security: fs: make inode explicitly non-modular (Diego Domingos) [1781925] - [security] security: audit and remove any unnecessary uses of module.h (Diego Domingos) [1781925] - [security] security: integrity: make evm_main explicitly non-modular (Diego Domingos) [1781925] - [security] security: integrity: make ima_main explicitly non-modular (Diego Domingos) [1781925] - [tools] selftests/ima: kexec_load syscall test (Diego Domingos) [1781925] - [security] ima: don't measure/appraise files on efivarfs (Diego Domingos) [1781925] - [x86] x86/ima: retry detecting secure boot mode (Diego Domingos) [1781925] - [x86] x86/ima: define arch_get_ima_policy() for x86 (Diego Domingos) [1781925] - [kernel] kernel/kexec_file.c: remove some duplicated includes (Diego Domingos) [1781925] - [security] ima: open a new file instance if no read permissions (Diego Domingos) [1781925] - [security] security/integrity: constify some read-only data (Diego Domingos) [1781925] - [documentation] security: fix LSM description location (Diego Domingos) [1781925] - [security] evm: Allow non-SHA1 digital signatures (Diego Domingos) [1781925] - [security] security: export security_kernel_load_data function (Diego Domingos) [1781925] - [security] ima: based on policy warn about loading firmware (pre-allocated buffer) (Diego Domingos) [1781925] - [security] ima: prevent kexec_load syscall based on runtime secureboot flag (Diego Domingos) [1781925] - [security] module: replace the existing LSM hook in init_module (Diego Domingos) [1781925] - [security] ima: based on policy require signed firmware (sysfs fallback) (Diego Domingos) [1781925] - [security] ima: add support for arch specific policies (Diego Domingos) [1781925] - [security] ima: based on policy require signed kexec kernel images (Diego Domingos) [1781925] - [security] ima: refactor ima_init_policy() (Diego Domingos) [1781925] - [include] sysfs: Fixes __BIN_ATTR_WO() macro (Diego Domingos) [1781925] - [include] security: define new LSM hook named security_kernel_load_data (Diego Domingos) [1781925] - [kernel] kexec: add call to LSM hook in original kexec_load syscall (Diego Domingos) [1781925] - [base] firmware: add call to LSM hook before firmware sysfs fallback (Diego Domingos) [1781925] - [security] ima: add build time policy (Diego Domingos) [1781925] - [security] ima: Support platform keyring for kernel appraisal (Diego Domingos) [1781925] - [security] integrity: Remove references to module keyring (Diego Domingos) [1781925] - [powerpc] powerpc/kexec: Fix loading of kernel + initramfs with kexec_file_load() (Diego Domingos) [1781925] - [security] ima: Use designated initializers for struct ima_event_data (Diego Domingos) [1781925] - [security] ima: Update MAX_TEMPLATE_NAME_LEN to fit largest reasonable definition (Diego Domingos) [1781925] - [certs] PKCS#7: Refactor verify_pkcs7_signature() (Diego Domingos) [1781925] - [crypto] PKCS#7: Introduce pkcs7_get_digest() (Diego Domingos) [1781925] - [security] integrity: Select CONFIG_KEYS instead of depending on it (Diego Domingos) [1781925] - [powerpc] powerpc/powernv: Move opal_power_control_init() call in opal_init() (Diego Domingos) [1781925] - [security] x86/efi: move common keyring handler functions to new file (Diego Domingos) [1781925] - [security] x86/efi: remove unused variables (Diego Domingos) [1781925] - [include] sysfs: add BIN_ATTR_WO() macro (Diego Domingos) [1781925] - [x86] x86/ima: define arch_ima_get_secureboot (Diego Domingos) [1781925] - [powerpc] powerpc/pci: unmap legacy INTx interrupts of passthrough IO adapters (Steve Best) [1840279] - [powerpc] powerpc/xive: Clear the page tables for the ESB IO mapping (Steve Best) [1840279] - [hv] hyper-v: Use UUID API for exporting the GUID (Mohammed Gamal) [1828451 1815498] - [kernel] uuid: Add inline helpers to import / export UUIDs (Mohammed Gamal) [1828451 1815498] - [hv] hv: Move AEOI determination to architecture dependent code (Mohammed Gamal) [1828451 1815498] - [x86] hyper-v: Report crash data in die() when panic_on_oops is set (Mohammed Gamal) [1828451 1815498] - [hv] x86/hyper-v: Report crash register data when sysctl_record_panic_msg is not set (Mohammed Gamal) [1828451 1815498] - [x86] hyper-v: Report crash register data or kmsg before running crash kernel (Mohammed Gamal) [1828451 1815498] - [hv] x86/hyper-v: Trigger crash enlightenment only once during system crash (Mohammed Gamal) [1828451 1815498] - [hv] x86/hyper-v: Free hv_panic_page when fail to register kmsg dump (Mohammed Gamal) [1828451 1815498] - [hv] x86/hyper-v: Unload vmbus channel in hv panic callback (Mohammed Gamal) [1828451 1815498] - [hv] hv_debugfs: Make hv_debug_root static (Mohammed Gamal) [1828451 1815498] - [hv] hyperv_vmbus.h: Replace zero-length array with flexible-array member (Mohammed Gamal) [1828451 1815498] - [hv] hv: vmbus: Ignore CHANNELMSG_TL_CONNECT_RESULT(23) (Mohammed Gamal) [1828451 1815498] - [hv] hv_balloon: Balloon up according to request page number (Mohammed Gamal) [1828451 1815498] - [hv] hv_balloon: use generic_online_page() (Mohammed Gamal) [1828451 1815498] - [mm] memory_hotplug: export generic_online_page() (Mohammed Gamal) [1828451 1815498] - [hv] hv: vmbus: Fix crash handler reset of Hyper-V synic (Mohammed Gamal) [1828451 1815498] - [hv] hv: Replace binary semaphore with mutex (Mohammed Gamal) [1828451 1815498] - [hv] hv: balloon: Remove dependencies on guest page size (Mohammed Gamal) [1828451 1815498] - [hv] hv: vmbus: Remove dependencies on guest page size (Mohammed Gamal) [1828451 1815498] - [hv] hv: util: Specify ring buffer size using Hyper-V page size (Mohammed Gamal) [1828451 1815498] - [hv] hv: Specify receive buffer size using Hyper-V page size (Mohammed Gamal) [1828451 1815498] - [hv] hv: vmbus: Add module parameter to cap the VMBus version (Mohammed Gamal) [1828451 1815498] - [hv] hv: vmbus: Enable VMBus protocol versions 4.1, 5.1 and 5.2 (Mohammed Gamal) [1828451 1815498] - [hv] hv: vmbus: Introduce table of VMBus protocol versions (Mohammed Gamal) [1828451 1815498] - [pci] hv: Replace zero-length array with flexible-array member (Mohammed Gamal) [1793636] - [pci] hv: Decouple the func definition in hv_dr_state from VSP message (Mohammed Gamal) [1793636] - [pci] hv: Add support for protocol 1.3 and support PCI_BUS_RELATIONS2 (Mohammed Gamal) [1793636] - [pci] hv: Add missing kfree(hbus) in hv_pci_probe()'s error handling path (Mohammed Gamal) [1793636] - [pci] hv: Remove unnecessary type casting from kzalloc (Mohammed Gamal) [1793636] - [pci] hv: Avoid a kmemleak false positive caused by the hbus buffer (Mohammed Gamal) [1793636] - [infiniband] RDMA/srpt: Fix disabling device management (Kamal Heib) [1840016] - [misc] vhost: disable for OABI (Jason Wang) [1771441] - [include] virtio: drop vringh.h dependency (Jason Wang) [1771441] - [virtio] virtio_input: pull in slab.h (Jason Wang) [1771441] - [char] virtio-rng: pull in slab.h (Jason Wang) [1771441] - [block] virtio_blk: add a missing include (Jason Wang) [1771441] - [vdpa] vdpa: fix comment of vdpa_register_device() (Jason Wang) [1771441] - [vhost] vdpa: make vhost, virtio depend on menu (Jason Wang) [1771441] - [include] vdpa: allow a 32 bit vq alignment (Jason Wang) [1771441] - [vdpa] vdpasim: Return status in vdpasim_get_status (Jason Wang) [1771441] - [vdpa] vdpa: remove unused variables 'ifcvf' and 'ifcvf_lm' (Jason Wang) [1771441] - [vdpa] vdpa-sim: depend on HAS_DMA (Jason Wang) [1771441] - [virtio] vdpa: move to drivers/vdpa (Jason Wang) [1771441] - [virtio] virtio: Intel IFC VF driver for VDPA (Jason Wang) [1771441] - [virtio] vdpasim: vDPA device simulator (Jason Wang) [1771441] - [vhost] vhost: introduce vDPA-based backend (Jason Wang) [1771441] - [virtio] virtio: introduce a vDPA based transport (Jason Wang) [1771441] - [virtio] vDPA: introduce vDPA bus (Jason Wang) [1771441] - [vhost] vringh: IOTLB support (Jason Wang) [1771441] - [vhost] vhost: factor out IOTLB (Jason Wang) [1771441] - [vhost] vhost: allow per device message handler (Jason Wang) [1771441] - [misc] vhost: refine vhost and vringh kconfig (Jason Wang) [1771441] - [vhost] vringh: fix copy direction of vringh_iov_push_kern() (Jason Wang) [1771441] - [vhost] vhost: factor out setting vring addr and num (Jason Wang) [1771441] - [vhost] vhost: introduce helpers to get the size of metadata area (Jason Wang) [1771441] - [vhost] vhost: rename vq_iotlb_prefetch() to vq_meta_prefetch() (Jason Wang) [1771441] - [vhost] vhost: fine grain userspace memory accessors (Jason Wang) [1771441] - [vhost] vhost: generalize adding used elem (Jason Wang) [1771441] - [misc] mic: vop: Allow building on more systems (Jason Wang) [1771441] - [virtio] virtio: support VIRTIO_F_ORDER_PLATFORM (Jason Wang) [1771441] - [uapi] vhost: split structs into a separate header file (Jason Wang) [1771441] - [fs] compat_ioctl: add compat_ptr_ioctl() (Jason Wang) [1771441] - [vhost] vhost: allow vhost-scsi driver to be built-in (Jason Wang) [1771441] - [x86] arch/x86: Remove vendor specific CPU ID checks (Prarit Bhargava) [1840145] - [tools] perf vendor events amd: Update Zen1 events to V2 (Wei Huang) [1790641] - [tools] perf vendor events amd: Add Zen2 events (Wei Huang) [1790641] - [tools] perf vendor events amd: Restrict model detection for zen1 based processors (Wei Huang) [1790641] - [x86] perf/amd/uncore: Add support for Family 19h L3 PMU (Wei Huang) [1790641] - [x86] perf/amd/uncore: Make L3 thread mask code more readable (Wei Huang) [1790641] - [x86] perf/amd/uncore: Prepare L3 thread mask code for Family 19h (Wei Huang) [1790641] - [scsi] scsi: fnic: Use scnprintf() for avoiding potential buffer overflow (Govindarajulu Varadarajan) [1797808] - [scsi] scsi: fnic: do not queue commands during fwreset (Govindarajulu Varadarajan) [1797808] - [scsi] scsi: fnic: fix invalid stack access (Govindarajulu Varadarajan) [1797808] - [scsi] scsi: fnic: fix use after free (Govindarajulu Varadarajan) [1797808] - [scsi] scsi: fnic: make array dev_cmd_err static const, makes object smaller (Govindarajulu Varadarajan) [1797808]- [media] media: v4l: fix uapi mpeg slice params definition (Torez Smith) [1825410 1821835] - [uapi] v4l2-controls: add a missing include (Torez Smith) [1825410 1821835] - [dma] dma-mapping: remove dma_release_declared_memory (Torez Smith) [1825410 1821835] - [usb] usb/ohci-tmio: remove the HCD_DMA flag (Torez Smith) [1825410 1821835] - [usb] usb: add a HCD_DMA flag instead of guestimating DMA capabilities (Torez Smith) [1825410 1821835] - [usb] usb: add a hcd_uses_dma helper (Torez Smith) [1825410 1821835] - [usb] usb: don't create dma pools for HCDs with a localmem_pool (Torez Smith) [1825410 1821835] - [usb] usb: host: ohci-tmio: Mark expected switch fall-throughs (Torez Smith) [1825410 1821835] - [usb] USB: drop HCD_LOCAL_MEM flag (Torez Smith) [1825410 1821835] - [usb] usb: host: ohci-tmio: init genalloc for local memory (Torez Smith) [1825410 1821835] - [usb] dma-mapping: remove the DMA_MEMORY_EXCLUSIVE flag (Torez Smith) [1825410 1821835] - [media] media: xirlink_cit: add missing descriptor sanity checks (Torez Smith) [1825410 1821835] - [media] media: ttusb-dec: Fix info-leak in ttusb_dec_send_command() (Torez Smith) [1788005 1825410 1821835] {CVE-2019-19533} - [media] media: usb: fix memory leak in af9005_identify_state (Torez Smith) [1825141 1825410 1821835] {CVE-2019-18809} - [netdrv] cdc_ether: fix rndis support for Mediatek based smartphones (Torez Smith) [1825410 1821835] - [netdrv] r8152: remove calling netif_napi_del (Torez Smith) [1825410 1821835] - [netdrv] Revert "r8152: napi hangup fix after disconnect" (Torez Smith) [1825410 1821835] - [netdrv] r8152: Set memory to all 0xFFs on failed reg reads (Torez Smith) [1825410 1821835] - [netdrv] net: kalmia: fix memory leaks (Torez Smith) [1825410 1821835] - [netdrv] cx82310_eth: fix a memory leak bug (Torez Smith) [1825410 1821835] - [netdrv] lan78xx: Fix memory leaks (Torez Smith) [1825410 1821835] - [netdrv] r8152: fix typo in register name (Torez Smith) [1825410 1821835] - [netdrv] can: peak_usb: pcan_usb_pro: Fix info-leaks to USB devices (Torez Smith) [1825410 1821835] - [netdrv] can: peak_usb: pcan_usb_fd: Fix info-leaks to USB devices (Torez Smith) [1825410 1821835] - [netdrv] can: peak_usb: force the string buffer NULL-terminated (Torez Smith) [1825410 1821835] - [netdrv] net: usb: pegasus: fix improper read if get_registers() fail (Torez Smith) [1825410 1821835] - [netdrv] net: usb: qmi_wwan: Add the BroadMobi BM818 card (Torez Smith) [1825410 1821835] - [netdrv] can: mark expected switch fall-throughs (Torez Smith) [1825410 1821835] - [netdrv] can: peak_usb: fix potential double kfree_skb() (Torez Smith) [1825410 1821835] - [netdrv] usb: qmi_wwan: add D-Link DWM-222 A2 device ID (Torez Smith) [1825410 1821835] - [uapi] media: videodev2.h: change V4L2_PIX_FMT_BGRA444 define: fourcc was already in use (Torez Smith) [1825410 1821835] - [netdrv] r8152: set RTL8152_UNPLUG only for real disconnection (Torez Smith) [1825410 1821835] - [netdrv] r8152: move calling r8153b_rx_agg_chg_indicate() (Torez Smith) [1825410 1821835] - [netdrv] net: usb: asix: init MAC address buffers (Torez Smith) [1825410 1821835] - [netdrv] r8152: fix the setting of detecting the linking change for runtime suspend (Torez Smith) [1825410 1821835] - [media] media: hdpvr: fix locking and a missing msleep (Torez Smith) [1825410 1821835] - [netdrv] qmi_wwan: Fix out-of-bounds read (Torez Smith) [1825410 1821835] - [uapi] media: videodev2.h: Fix shifting signed 32-bit value by 31 bits problem (Torez Smith) [1825410 1821835] - [media] treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 468 (Torez Smith) [1825410 1821835] - [media] treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 238 (Torez Smith) [1825410 1821835] - [media] treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 235 (Torez Smith) [1825410 1821835] - [netdrv] qmi_wwan: extend permitted QMAP mux_id value range (Torez Smith) [1825410 1821835] - [netdrv] qmi_wwan: avoid RCU stalls on device disconnect when in QMAP mode (Torez Smith) [1825410 1821835] - [netdrv] qmi_wwan: add network device usage statistics for qmimux devices (Torez Smith) [1825410 1821835] - [netdrv] qmi_wwan: add support for QMAP padding in the RX path (Torez Smith) [1825410 1821835] - [media] media: cx231xx-cards: Add Hauppauge 955Q variant (Torez Smith) [1825410 1821835] - [media] media: pvrusb2: Add Hauppauge HVR1955/1975 devices (Torez Smith) [1825410 1821835] - [media] media: pvrusb2: Add i2c client demod/tuner support (Torez Smith) [1825410 1821835] - [media] media: pvrusb2: Add multiple dvb frontend support (Torez Smith) [1825410 1821835] - [media] media: uvcvideo: Fix access to uninitialized fields on probe error (Torez Smith) [1825410 1821835] - [media] media: uvcvideo: Include streaming interface number in debugfs dir name (Torez Smith) [1825410 1821835] - [netdrv] can: usb: Kconfig: Remove duplicate menu entry (Torez Smith) [1825410 1821835] - [media] media: pvrusb2: fix null-ptr-deref in class_unregister() (Torez Smith) [1825410 1821835] - [media] media: cxusb: Revert "media: cxusb: add raw mode support for, Medion MD95700" (Torez Smith) [1825410 1821835] - [netdrv] treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 412 (Torez Smith) [1825410 1821835] - [media] treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 286 (Torez Smith) [1825410 1821835] - [media] treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 258 (Torez Smith) [1825410 1821835] - [media] media: media/usb: set device_caps in struct video_device (Torez Smith) [1825410 1821835] - [media] media: dvb-usb/cxusb-analog.c: fix coccinelle warning, use ktime.h (Torez Smith) [1825410 1821835] - [media] treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 174 (Torez Smith) [1825410 1821835] - [netdrv] treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 164 (Torez Smith) [1825410 1821835] - [media] treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 157 (Torez Smith) [1825410 1821835] - [media] treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 156 (Torez Smith) [1825410 1821835] - [media] treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 152 (Torez Smith) [1825410 1821835] - [media] treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 131 (Torez Smith) [1825410 1821835] - [media] media: cx231xx-dvb: fix memory leak in dvb_fini() (Torez Smith) [1825410 1821835] - [media] media: em28xx: use usb_to_input_id() rather than handrolling it (Torez Smith) [1825410 1821835] - [media] media: em28xx: use common code for decoding nec scancodes (Torez Smith) [1825410 1821835] - [media] media: em28xx: give RC device proper name (Torez Smith) [1825410 1821835] - [media] media: cxusb: fix several coding style issues (Torez Smith) [1825410 1821835] - [media] media: cxusb-analog: Fix some coding style issues (Torez Smith) [1825410 1821835] - [media] media: cxusb: add raw mode support for Medion MD95700 (Torez Smith) [1825410 1821835] - [media] media: cxusb: add analog mode support for Medion MD95700 (Torez Smith) [1825410 1821835] - [media] media: cxusb: implement Medion MD95700 digital / analog coexistence (Torez Smith) [1825410 1821835] - [media] media: usb:zr364xx:Fix KASAN:null-ptr-deref Read in zr364xx_vidioc_querycap (Torez Smith) [1825410 1821835] - [media] media: pwc: convert to BIT macro (Torez Smith) [1825410 1821835] - [media] media: cpia2_usb: first wake up, then free in disconnect (Torez Smith) [1825410 1821835] - [media] media: pvrusb2: use a different format for warnings (Torez Smith) [1825410 1821835] - [media] media: smsusb: better handle optional alignment (Torez Smith) [1825410 1821835] - [media] treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 118 (Torez Smith) [1825410 1821835] - [media] treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 65 (Torez Smith) [1825410 1821835] - [media] treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 61 (Torez Smith) [1825410 1821835] - [input] treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 55 (Torez Smith) [1825410 1821835] - [media] media: remove redundant 'default n' from Kconfig-s (Torez Smith) [1825410 1821835] - [media] media: af9035: Remove duplicate error reporting for dvbsky_usb_generic_rw (Torez Smith) [1825410 1821835] - [media] media: dvbsky: Remove duplicate error reporting for dvbsky_usb_generic_rw (Torez Smith) [1825410 1821835] - [media] media: dvb-usb-v2: Report error on all error paths (Torez Smith) [1825410 1821835] - [media] media: au0828: fix null dereference in error path (Torez Smith) [1825410 1821835] - [media] media: dvb: usb: fix use after free in dvb_usb_device_exit (Torez Smith) [1825410 1821835] - [media] media: usb: siano: Fix false-positive "uninitialized variable" warning (Torez Smith) [1825410 1821835] - [netdrv] usbnet: fix kernel crash after disconnect (Torez Smith) [1825410 1821835] - [netdrv] usbnet: ipheth: fix racing condition (Torez Smith) [1825410 1821835] - [media] treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 24 (Torez Smith) [1825410 1821835] - [netdrv] treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 17 (Torez Smith) [1825410 1821835] - [media] treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 13 (Torez Smith) [1825410 1821835] - [media] treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 1 (Torez Smith) [1825410 1821835] - [media] treewide: Add SPDX license identifier - Makefile/Kconfig (Torez Smith) [1825410 1821835] - [media] treewide: Add SPDX license identifier for more missed files (Torez Smith) [1825410 1821835] - [media] media: usb: siano: Fix general protection fault in smsusb (Torez Smith) [1825410 1821835] - [media] media: prefix header search paths with $(srctree)/ (Torez Smith) [1825410 1821835] - [media] media: remove unneeded header search paths (Torez Smith) [1825410 1821835] - [netdrv] aqc111: cleanup mtu related logic (Torez Smith) [1825410 1821835] - [netdrv] Revert "aqc111: fix writing to the phy on BE" (Torez Smith) [1825410 1821835] - [netdrv] Revert "aqc111: fix double endianness swap on BE" (Torez Smith) [1825410 1821835] - [netdrv] net: usb: qmi_wwan: add Telit 0x1260 and 0x1261 compositions (Torez Smith) [1825410 1821835] - [netdrv] aqc111: fix double endianness swap on BE (Torez Smith) [1825410 1821835] - [netdrv] aqc111: fix writing to the phy on BE (Torez Smith) [1825410 1821835] - [netdrv] aqc111: fix endianness issue in aqc111_change_mtu (Torez Smith) [1825410 1821835] - [netdrv] net: usb: smsc: fix warning reported by kbuild test robot (Torez Smith) [1825410 1821835] - [netdrv] net: usb: support of_get_mac_address new ERR_PTR error (Torez Smith) [1825410 1821835] - [netdrv] usbnet: ipheth: Remove unnecessary NULL pointer check (Torez Smith) [1825410 1821835] - [netdrv] usbnet: ipheth: Simplify device detection (Torez Smith) [1825410 1821835] - [netdrv] qmi_wwan: new Wistron, ZTE and D-Link devices (Torez Smith) [1825410 1821835] - [uapi] media: v4l: Add definitions for missing 16-bit RGB555 formats (Torez Smith) [1825410 1821835] - [uapi] media: v4l: Add definitions for missing 16-bit RGB4444 formats (Torez Smith) [1825410 1821835] - [uapi] media: v4l: Add definitions for missing 32-bit RGB formats (Torez Smith) [1825410 1821835] - [netdrv] r8152: sync sa_family with the media type of network device (Torez Smith) [1825410 1821835] - [media] media: pvrusb2: Prevent a buffer overflow (Torez Smith) [1825410 1821835] - [media] media: au0828: stop video streaming only when last user stops (Torez Smith) [1825410 1821835] - [media] media: au0828: Fix NULL pointer dereference in au0828_analog_stream_enable() (Torez Smith) [1825410 1821835] - [media] media: au0828: fix enable and disable source audio and video inconsistencies (Torez Smith) [1825410 1821835] - [netdrv] qmi_wwan: Add quirk for Quectel dynamic config (Torez Smith) [1825410 1821835] - [netdrv] r8152: Refresh MAC address during USBDEVFS_RESET (Torez Smith) [1825410 1821835] - [netdrv] r8152: remove extra action copying ethernet address (Torez Smith) [1825410 1821835] - [media] media: replace strncpy() by strscpy() (Torez Smith) [1825410 1821835] - [media] media: usbvision: fix a potential NULL pointer dereference (Torez Smith) [1825410 1821835] - [media] media: gspca: Kill URBs on USB device disconnect (Torez Smith) [1825410 1821835] - [netdrv] qmi_wwan: add Olicard 600 (Torez Smith) [1825410 1821835] - [netdrv] net: usb: aqc111: Extend HWID table by QNAP device (Torez Smith) [1825410 1821835] - [media] media: pwc-ctl: pChoose can't be NULL (Torez Smith) [1825410 1821835] - [media] media: Kconfig files: use the right help coding style (Torez Smith) [1825410 1821835] - [media] media: em28xx-input: make const array addr_list static (Torez Smith) [1825410 1821835] - [media] media: dvb: Add support for the Avermedia TD310 (Torez Smith) [1825410 1821835] - [media] media: dvb: init i2c already in it930x_frontend_attach (Torez Smith) [1825410 1821835] - [media] media: dvbsky: Avoid leaking dvb frontend (Torez Smith) [1825410 1821835] - [media] media: gspca: do not resubmit URBs when streaming has stopped (Torez Smith) [1825410 1821835] - [media] media: au0828: minor fix to a misleading comment in _close() (Torez Smith) [1825410 1821835] - [media] media: go7007: avoid clang frame overflow warning with KASAN (Torez Smith) [1825410 1821835] - [media] media: cpia2: Fix use-after-free in cpia2_exit (Torez Smith) [1825410 1821835] - [netdrv] peak_usb: fix clang build warning (Torez Smith) [1825410 1821835] - [netdrv] qmi_wwan: Add support for Quectel EG12/EM12 (Torez Smith) [1825410 1821835] - [media] media: a few more typos at staging, pci, platform, radio and usb (Torez Smith) [1825410 1821835] - [media] media: usb: fix several typos (Torez Smith) [1825410 1821835] - [media] media: uvcvideo: Use usb_make_path to fill in usb_info (Torez Smith) [1825410 1821835] - [media] media: uvcvideo: Fix smatch warning (Torez Smith) [1825410 1821835] - [media] media: v4l: Add 32-bit packed YUV formats (Torez Smith) [1825410 1821835] - [netdrv] net: usb: cdc-phonet: use struct_size() in alloc_netdev() (Torez Smith) [1825410 1821835] - [netdrv] net: usb: rtl8150: mark expected switch fall-through (Torez Smith) [1825410 1821835] - [netdrv] net: usb: pegasus: Mark expected switch fall-through (Torez Smith) [1825410 1821835] - [media] media: hdpvr: fix smatch warning (Torez Smith) [1825410 1821835] - [media] media: usbvision: use u64 for the timestamp internally (Torez Smith) [1825410 1821835] - [media] media: stkwebcam: use u64 for the timestamp internally (Torez Smith) [1825410 1821835] - [media] media: cpia2: use u64 for the timestamp internally (Torez Smith) [1825410 1821835] - [media] media: uvcvideo: Avoid NULL pointer dereference at the end of streaming (Torez Smith) [1825410 1821835] - [media] media: uvcvideo: Fix 'type' check leading to overflow (Torez Smith) [1825410 1821835] - [netdrv] net: usb: asix: ax88772_bind return error when hw_reset fail (Torez Smith) [1825410 1821835] - [netdrv] net: usb: rtl8150: remove set but not used variable 'rx_stat' (Torez Smith) [1825410 1821835] - [netdrv] net: usb: aqc111: Extend HWID table by TRENDnet device (Torez Smith) [1825410 1821835] - [uapi] media: videodev2.h: Add more field helper macros (Torez Smith) [1825410 1821835] - [media] media: gspca: ov534-ov772x: remove unnecessary COM3 initialization (Torez Smith) [1825410 1821835] - [media] media: gspca: ov534-ov722x: remove camera clock setup from bridge_init (Torez Smith) [1825410 1821835] - [media] media: gspca: ov534-ov722x: remove mode specific video data registers from bridge_init (Torez Smith) [1825410 1821835] - [media] media: gspca: ov534-ov772x: add SGBRG8 bayer mode support (Torez Smith) [1825410 1821835] - [media] media: gspca: ov543-ov772x: move video format specific registers into bridge_start (Torez Smith) [1825410 1821835] - [media] media: gspca: support multiple pixel formats in TRY_FMT (Torez Smith) [1825410 1821835] - [media] media: gspca: support multiple pixel formats in ENUM_FRAMEINTERVALS (Torez Smith) [1825410 1821835] - [media] media: gspca: ov534: replace msleep(10) with usleep_range (Torez Smith) [1825410 1821835] - [uapi] media: v4l: uAPI: V4L2_BUF_TYPE_META_OUTPUT is an output buffer type (Torez Smith) [1825410 1821835] - [media] media: gspca: mt9m111: Check write_bridge for timeout (Torez Smith) [1825410 1821835] - [media] media: gspca: Check the return value of write_bridge for timeout (Torez Smith) [1825410 1821835] - [media] media: usb: gspca: add a missed check for goto_low_power (Torez Smith) [1825410 1821835] - [media] media: usb: gspca: add a missed return-value check for do_command (Torez Smith) [1825410 1821835] - [media] media: v4l2-ctrls.c/uvc: zero v4l2_event (Torez Smith) [1825410 1821835] - [media] media: usb: pwc: Don't use coherent DMA buffers for ISO transfer (Torez Smith) [1825410 1821835] - [media] media: usb: pwc: Introduce TRACE_EVENTs for pwc_isoc_handler() (Torez Smith) [1825410 1821835] - [netdrv] cdc_ether: trivial whitespace readability fix (Torez Smith) [1825410 1821835] - [netdrv] qmi_wwan: add MTU default to qmap network interface (Torez Smith) [1825410 1821835] - [netdrv] qmi_wwan: Fix qmap header retrieval in qmimux_rx_fixup (Torez Smith) [1825410 1821835] - [netdrv] qmi_wwan: Add support for Fibocom NL678 series (Torez Smith) [1825410 1821835] - [netdrv] lan78xx: Resolve issue with changing MAC address (Torez Smith) [1825410 1821835] - [netdrv] qmi_wwan: Added support for Telit LN940 series (Torez Smith) [1825410 1821835] - [netdrv] qmi_wwan: Added support for Fibocom NL668 series (Torez Smith) [1825410 1821835] - [media] media: v4l: Add support for V4L2_BUF_TYPE_META_OUTPUT (Torez Smith) [1825410 1821835] - [media] media: siano: Use kmemdup instead of duplicating its function (Torez Smith) [1825410 1821835] - [media] media: pvrusb2: fix spelling mistake "statuss" -> "status" (Torez Smith) [1825410 1821835] - [media] media: lmedm04: Move interrupt buffer to priv buffer (Torez Smith) [1825410 1821835] - [media] media: lmedm04: Add missing usb_free_urb to free interrupt urb (Torez Smith) [1825410 1821835] - [media] media: stkwebcam: Bugfix for wrong return values (Torez Smith) [1825410 1821835] - [media] media: stkwebcam: Support for ASUS A6VM notebook added (Torez Smith) [1825410 1821835] - [media] media: usb: dvb-usb: remove old friio driver (Torez Smith) [1825410 1821835] - [media] media: lmedm04: use dvb_usbv2_generic_rw_locked (Torez Smith) [1825410 1821835] - [media] media: lmedm04: Move usb buffer to lme2510_state (Torez Smith) [1825410 1821835] - [media] media: rtl28xxu: add support for Sony CXD2837ER slave demod (Torez Smith) [1825410 1821835] - [media] media: uvcvideo: Utilise for_each_uvc_urb iterator (Torez Smith) [1825410 1821835] - [media] media: uvcvideo: Rename uvc_{un, }init_video() (Torez Smith) [1825410 1821835] - [media] media: uvcvideo: Split uvc_video_enable into two (Torez Smith) [1825410 1821835] - [media] media: uvcvideo: Move decode processing to process context (Torez Smith) [1825410 1821835] - [media] media: uvcvideo: Abstract streaming object lifetime (Torez Smith) [1825410 1821835] - [media] media: uvcvideo: queue: Support asynchronous buffer handling (Torez Smith) [1825410 1821835] - [media] media: uvcvideo: queue: Simplify spin-lock usage (Torez Smith) [1825410 1821835] - [media] media: uvcvideo: Protect queue internals with helper (Torez Smith) [1825410 1821835] - [media] media: uvcvideo: Convert decode functions to use new context structure (Torez Smith) [1825410 1821835] - [media] media: uvcvideo: Refactor URB descriptors (Torez Smith) [1825410 1821835] - [media] media: em28xx: fix spelling mistake, "Cinnergy" -> "Cinergy" (Torez Smith) [1825410 1821835] - [media] media: uvcvideo: Refactor teardown of uvc on USB disconnect (Torez Smith) [1825410 1821835] - [media] media: uvcvideo: Add support for the CNF4 format (Torez Smith) [1825410 1821835] - [documentation] media: v4l: Add 4bpp packed depth confidence format CNF4 (Torez Smith) [1825410 1821835] - [media] media: usb: Use kmemdup instead of duplicating its function (Torez Smith) [1825410 1821835] - [media] media: dvb: Use WARM definition from identify_state() (Torez Smith) [1825410 1821835] - [media] media: dib0700: fix spelling mistake "Amplifyer" -> "Amplifier" (Torez Smith) [1825410 1821835] - [media] media: dvb-usb-v2: Fix incorrect use of transfer_flags URB_FREE_BUFFER (Torez Smith) [1825410 1821835] - [netdrv] net: usb: aqc111: Initialize wol_cfg with memset in aqc111_suspend (Torez Smith) [1825410 1821835] - [netdrv] net: Don't default Aquantia USB driver to 'y' (Torez Smith) [1825410 1821835] - [netdrv] can: ucan: fix spelling mistake: "resumbmitting" -> "resubmitting" (Torez Smith) [1825410 1821835] - [netdrv] net: usb: aqc111: Extend cdc_ether blacklist (Torez Smith) [1825410 1821835] - [netdrv] net: usb: aqc111: Add ASIX's HW ids (Torez Smith) [1825410 1821835] - [netdrv] net: usb: aqc111: Add support for wake on LAN by MAGIC packet (Torez Smith) [1825410 1821835] - [netdrv] net: usb: aqc111: Implement get/set_link_ksettings callbacks (Torez Smith) [1825410 1821835] - [netdrv] net: usb: aqc111: Initialize ethtool_ops structure (Torez Smith) [1825410 1821835] - [netdrv] net: usb: aqc111: Add RX VLAN filtering support (Torez Smith) [1825410 1821835] - [netdrv] net: usb: aqc111: Add support for VLAN_CTAG_TX/RX offload (Torez Smith) [1825410 1821835] - [netdrv] net: usb: aqc111: Implement set_rx_mode callback (Torez Smith) [1825410 1821835] - [netdrv] net: usb: aqc111: Add support for TSO (Torez Smith) [1825410 1821835] - [netdrv] net: usb: aqc111: Add support for enable/disable checksum offload (Torez Smith) [1825410 1821835] - [netdrv] net: usb: aqc111: Add support for changing MTU (Torez Smith) [1825410 1821835] - [netdrv] net: usb: aqc111: Add checksum offload support (Torez Smith) [1825410 1821835] - [netdrv] net: usb: aqc111: Implement RX data path (Torez Smith) [1825410 1821835] - [netdrv] net: usb: aqc111: Implement TX data path (Torez Smith) [1825410 1821835] - [netdrv] net: usb: aqc111: Add support for getting and setting of MAC address (Torez Smith) [1825410 1821835] - [netdrv] net: usb: aqc111: Introduce link management (Torez Smith) [1825410 1821835] - [netdrv] net: usb: aqc111: Introduce PHY access (Torez Smith) [1825410 1821835] - [netdrv] net: usb: aqc111: Various callbacks implementation (Torez Smith) [1825410 1821835] - [netdrv] net: usb: aqc111: Add implementation of read and write commands (Torez Smith) [1825410 1821835] - [netdrv] net: usb: aqc111: Add bind and empty unbind callbacks (Torez Smith) [1825410 1821835] - [netdrv] net: usb: aqc111: Driver skeleton for Aquantia AQtion USB to 5GbE (Torez Smith) [1825410 1821835] - [netdrv] usbnet: ipheth: fix potential recvmsg bug and recvmsg bug 2 (Torez Smith) [1825410 1821835] - [media] media: pulse8-cec: return 0 when invalidating the logical address (Torez Smith) [1825410 1821835] - [media] media: gspca: fix frame overflow error (Torez Smith) [1825410 1821835] - [media] media: cropcap/g_selection split (Torez Smith) [1825410 1821835] - [netdrv] usbnet: smsc95xx: check for csum being in last four bytes (Torez Smith) [1825410 1821835] - [netdrv] usbnet: smsc95xx: fix memcpy for accessing rx-data (Torez Smith) [1825410 1821835] - [netdrv] usbnet: smsc95xx: simplify tx_fixup code (Torez Smith) [1825410 1821835] - [netdrv] usbnet: smsc95xx: fix rx packet alignment (Torez Smith) [1825410 1821835] - [netdrv] can: ucan: remove duplicated include from ucan.c (Torez Smith) [1825410 1821835] - [netdrv] can: ucan: remove set but not used variable 'udev' (Torez Smith) [1825410 1821835] - [netdrv] can: kvaser_usb: Fix accessing freed memory in kvaser_usb_start_xmit() (Torez Smith) [1825410 1821835] - [netdrv] can: kvaser_usb: Fix potential uninitialized variable use (Torez Smith) [1825410 1821835] - [netdrv] net: smsc95xx: Fix MTU range (Torez Smith) [1825410 1821835] - [netdrv] usbnet: smsc95xx: disable carrier check while suspending (Torez Smith) [1825410 1821835] - [netdrv] net: cdc_ncm: remove set but not used variable 'ctx' (Torez Smith) [1825410 1821835] - [netdrv] net: cdc_ncm: use tasklet_init() for tasklet_struct init (Torez Smith) [1825410 1821835] - [netdrv] qmi_wwan: Added support for Gemalto's Cinterion ALASxx WWAN interface (Torez Smith) [1825410 1821835] - [media] media: pvrusb2: replace `printk` with `pr_*` (Torez Smith) [1825410 1821835] - [media] media: cx231xx: fix potential sign-extension overflow on large shift (Torez Smith) [1825410 1821835] - [media] Revert "media: dvbsky: use just one mutex for serializing device R/W ops" (Torez Smith) [1825410 1821835] - [netdrv] net/usb: cancel pending work when unbinding smsc75xx (Torez Smith) [1825410 1821835] - [netdrv] smsc95xx: Check for Wake-on-LAN modes (Torez Smith) [1825410 1821835] - [netdrv] smsc75xx: Check for Wake-on-LAN modes (Torez Smith) [1825410 1821835] - [netdrv] r8152: Check for supported Wake-on-LAN Modes (Torez Smith) [1825410 1821835] - [netdrv] sr9800: Check for supported Wake-on-LAN modes (Torez Smith) [1825410 1821835] - [netdrv] lan78xx: Check for supported Wake-on-LAN modes (Torez Smith) [1825410 1821835] - [netdrv] ax88179_178a: Check for supported Wake-on-LAN modes (Torez Smith) [1825410 1821835] - [netdrv] asix: Check for supported Wake-on-LAN modes (Torez Smith) [1825410 1821835] - [media] media: v4l: Add definition for the Sunxi tiled NV12 format (Torez Smith) [1825410 1821835] - [documentation] media: v4l: Add definitions for MPEG-2 slice format and metadata (Torez Smith) [1825410 1821835] - [media] media: au0828: Fix incorrect error messages (Torez Smith) [1825410 1821835] - [media] media: au0828: cannot kfree dev before usb disconnect (Torez Smith) [1825410 1821835] - [netdrv] net: lan78xx: Avoid unnecessary self assignment (Torez Smith) [1825410 1821835] - [netdrv] qmi_wwan: set DTR for modems in forced USB2 mode (Torez Smith) [1825410 1821835] - [media] media: mxl111sf: declare its own pads (Torez Smith) [1825410 1821835] - [media] media: au0828: use signals instead of hardcoding a pad number (Torez Smith) [1825410 1821835] - [media] media: v4l2: taint pads with the signal types for consumer devices (Torez Smith) [1825410 1821835] - [media] media: em28xx: make v4l2-compliance happier by starting sequence on zero (Torez Smith) [1825410 1821835] - [media] media: em28xx: fix input name for Terratec AV 350 (Torez Smith) [1825410 1821835] - [media] media: em28xx: use a default format if TRY_FMT fails (Torez Smith) [1825410 1821835] - [media] media: em28xx: fix handler for vidioc_s_input() (Torez Smith) [1825410 1821835] - [netdrv] net: usb: remove redundant null pointer check before of_node_put (Torez Smith) [1825410 1821835] - [media] media: usbvision: remove time_in_irq (Torez Smith) [1825410 1821835] - [media] media: gspca: sq930x: use GFP_KERNEL in sd_dq_callback() (Torez Smith) [1825410 1821835] - [media] media: replace strcpy() by strscpy() (Torez Smith) [1825410 1821835] - [media] media: use strscpy() instead of strlcpy() (Torez Smith) [1825410 1821835] - [documentation] media: videodev2.h: add new capabilities for buffer types (Torez Smith) [1825410 1821835] - [media] media: uvcvideo: Store device information pointer in struct uvc_device (Torez Smith) [1825410 1821835] - [media] media: uvcvideo: Rename UVC_QUIRK_INFO to UVC_INFO_QUIRK (Torez Smith) [1825410 1821835] - [media] media: uvcvideo: Fix uvc_alloc_entity() allocation alignment (Torez Smith) [1825410 1821835] - [media] media: uvcvideo: Fix spelling mistake: "entites" -> "entities" (Torez Smith) [1825410 1821835] - [media] media: uvcvideo: Remove unnecessary NULL check before debugfs_remove_recursive (Torez Smith) [1825410 1821835] - [media] media: uvcvideo: Make uvc_control_mapping menu_info field const (Torez Smith) [1825410 1821835] - [media] media: uvcvideo: Make some structs const (Torez Smith) [1825410 1821835] - [netdrv] qmi_wwan: Support dynamic config on Quectel EP06 (Torez Smith) [1825410 1821835] - [netdrv] lan78xx: Do not access skb_queue_head list pointers directly (Torez Smith) [1825410 1821835] - [netdrv] net: lan78xx: Make declaration style consistent (Torez Smith) [1825410 1821835] - [netdrv] net: lan78xx: Switch to SPDX identifier (Torez Smith) [1825410 1821835] - [netdrv] net: lan78xx: Drop unnecessary strcpy in lan78xx_probe (Torez Smith) [1825410 1821835] - [netdrv] net: lan78xx: Bail out if lan78xx_get_endpoints fails (Torez Smith) [1825410 1821835] - [netdrv] net: usbnet: mark expected switch fall-through (Torez Smith) [1825410 1821835] - [media] media: v4l2-ctrls: v4l2_ctrl_add_handler: add from_other_dev (Torez Smith) [1825410 1821835] - [media] media: videodev2.h: add request_fd field to v4l2_ext_controls (Torez Smith) [1825410 1821835] - [uapi] media: videodev2.h: Add new DV flag CAN_DETECT_REDUCED_FPS (Torez Smith) [1825410 1821835] - [media] media: af9035: prevent buffer overflow on write (Torez Smith) [1825410 1821835] - [netdrv] r8152: disable RX aggregation on new Dell TB16 dock (Torez Smith) [1825410 1821835] - [netdrv] drivers/net/usb/r8152: remove the unneeded variable "ret" in rtl8152_system_suspend (Torez Smith) [1825410 1821835] - [media] media: rtl28xxu: be sure that it won't go past the array size (Torez Smith) [1825410 1821835] - [netdrv] net:usb: Use ARRAY_SIZE instead of calculating the array size (Torez Smith) [1825410 1821835] - [media] media: au0828: fix spelling mistake: "completition" -> "completion" (Torez Smith) [1825410 1821835] - [media] media: cx231xx: fix spelling mistake: "completition" -> "completion" (Torez Smith) [1825410 1821835] - [media] media: dvb-usb-v2: fix spelling mistake: "completition" -> "completion" (Torez Smith) [1825410 1821835] - [media] media: dvb-usb: fix spelling mistake: "completition" -> "completion" (Torez Smith) [1825410 1821835] - [media] media: usb: hackrf: Replace GFP_ATOMIC with GFP_KERNEL (Torez Smith) [1825410 1821835] - [media] media: usb: em28xx: Replace mdelay() with msleep() in em28xx_pre_card_setup() (Torez Smith) [1825410 1821835] - [media] media: usb: em28xx: Replace GFP_ATOMIC with GFP_KERNEL in em28xx_init_usb_xfer() (Torez Smith) [1825410 1821835] - [media] media: dw2102: Fix memleak on sequence of probes (Torez Smith) [1825410 1821835] - [media] media: usbtv: use irqsave() in USB's complete callback (Torez Smith) [1825410 1821835] - [media] media: go7007: use irqsave() in USB's complete callback (Torez Smith) [1825410 1821835] - [media] media: cx231xx: use irqsave() in USB's complete callback (Torez Smith) [1825410 1821835] - [documentation] media: v4l: Add new 10-bit packed grayscale format (Torez Smith) [1825410 1821835] - [documentation] media: doc-rst: Add packed Bayer raw14 pixel formats (Torez Smith) [1825410 1821835] - [media] media: em28xx: disable null packet filter for WinTVdualHD (Torez Smith) [1825410 1821835] - [uapi] media: videodev2: get rid of VIDIOC_RESERVED (Torez Smith) [1825410 1821835] - [media] media: em28xx: explicitly disable TS packet filter (Torez Smith) [1825410 1821835] - [media] media: dvb-usb/friio, dvb-usb-v2/gl861: decompose friio and merge with gl861 (Torez Smith) [1825410 1821835] - [netdrv] net: usb: sr9700: Replace mdelay() with msleep() in sr9700_bind() (Torez Smith) [1825410 1821835] - [netdrv] net: usb: pegasus: Replace mdelay() with msleep() in setup_pegasus_II() (Torez Smith) [1825410 1821835] - [media] media: uvcvideo: Send a control event when a Control Change interrupt arrives (Torez Smith) [1825410 1821835] - [media] media: uvcvideo: Handle control pipe protocol STALLs (Torez Smith) [1825410 1821835] - [media] media: uvcvideo: Remove a redundant check (Torez Smith) [1825410 1821835] - [media] media: uvcvideo: Also validate buffers in BULK mode (Torez Smith) [1825410 1821835] - [media] media: uvcvideo: Add KSMedia 8-bit IR format support (Torez Smith) [1825410 1821835] - [media] media: uvcvideo: Fix minor spelling (Torez Smith) [1825410 1821835] - [media] media: em28xx-cards: disable V4L2 mode for dual tuners (Torez Smith) [1825410 1821835] - [media] media: em28xx: Remove duplicate PID (Torez Smith) [1825410 1821835] - [media] media: em28xx: Fix DualHD disconnect oops (Torez Smith) [1825410 1821835] - [media] media: em28xx: Fix dual transport stream operation (Torez Smith) [1825410 1821835] - [media] media: dib0700: add code comment (Torez Smith) [1825410 1821835] - [media] media: cx231xx: don't check number of messages in the driver (Torez Smith) [1825410 1821835] - [media] media: em28xx: don't check number of messages in the driver (Torez Smith) [1825410 1821835] - [media] media: hdpvr: don't check number of messages in the driver (Torez Smith) [1825410 1821835] - [media] media: dvb-usb: don't check number of messages in the driver (Torez Smith) [1825410 1821835] - [media] media: tm6000: don't check number of messages in the driver (Torez Smith) [1825410 1821835] - [media] media: gl861: fix probe of dvb_usb_gl861 (Torez Smith) [1825410 1821835] - [netdrv] can: kvaser_usb: Simplify struct kvaser_cmd_cardinfo (Torez Smith) [1825410 1821835] - [netdrv] can: kvaser_usb: Add support for Kvaser USB hydra family (Torez Smith) [1825410 1821835] - [netdrv] can: kvaser_usb: Split driver into kvaser_usb_core.c and kvaser_usb_leaf.c (Torez Smith) [1825410 1821835] - [netdrv] can: kvaser_usb: Add SPDX GPL-2.0 license identifier (Torez Smith) [1825410 1821835] - [netdrv] can: kvaser_usb: Fix typos (Torez Smith) [1825410 1821835] - [netdrv] can: kvaser_usb: Improve logging messages (Torez Smith) [1825410 1821835] - [netdrv] can: kvaser_usb: Refactor kvaser_usb_init_one() (Torez Smith) [1825410 1821835] - [netdrv] can: kvaser_usb: Refactor kvaser_usb_get_endpoints() (Torez Smith) [1825410 1821835] - [netdrv] can: kvaser_usb: Add pointer to struct usb_interface into struct kvaser_usb (Torez Smith) [1825410 1821835] - [netdrv] can: kvaser_usb: Replace USB timeout constants with one define (Torez Smith) [1825410 1821835] - [netdrv] can: kvaser_usb: Rename message/msg to command/cmd (Torez Smith) [1825410 1821835] - [netdrv] can: kvaser_usb: Remove unused commands and defines (Torez Smith) [1825410 1821835] - [netdrv] can: kvaser_usb: Remove unnecessary return (Torez Smith) [1825410 1821835] - [netdrv] can: peak_usb: mark expected switch fall-throughs (Torez Smith) [1825410 1821835] - [netdrv] can: ucan: add driver for Theobroma Systems UCAN devices (Torez Smith) [1825410 1821835] - [netdrv] can: usb: Kconfig/Makefile: sort alphabetically (Torez Smith) [1825410 1821835] - [media] media: gspca_kinect: cast sizeof to int for comparison (Torez Smith) [1825410 1821835] - [media] media: videodev.h: add PIX_FMT_FWHT for use with vicodec (Torez Smith) [1825410 1821835] - [netdrv] net: usb: hso: use swap macro in hso_kick_transmit (Torez Smith) [1825410 1821835] - [netdrv] net: usb: asix: allow optionally getting mac address from device tree (Torez Smith) [1825410 1821835]- [hid] HID: Improve Windows Precision Touchpad detection (Benjamin Tissoires) [1811209] - [hid] HID: multitouch: enable multi-input as a quirk for some devices (Benjamin Tissoires) [1811209] - [hid] drivers/hid/hid-multitouch.c: fix a possible null pointer access (Benjamin Tissoires) [1811209] - [hid] HID: multitouch: Add LG MELF0410 I2C touchscreen support (Benjamin Tissoires) [1811209] - [hid] HID: multitouch: add support for the Smart Tech panel (Benjamin Tissoires) [1811209] - [hid] HID: multitouch: do not filter mice nodes (Benjamin Tissoires) [1811209] - [hid] HID: wacom: Report 2nd-gen Intuos Pro S center button status over BT (Benjamin Tissoires) [1835753] - [hid] Revert "HID: wacom: generic: read the number of expected touches on a per collection basis" (Benjamin Tissoires) [1835753] - [hid] HID: wacom: Read HID_DG_CONTACTMAX directly for non-generic devices (Benjamin Tissoires) [1835753] - [hid] HID: wacom: Recognize new MobileStudio Pro PID (Benjamin Tissoires) [1835753] - [hid] HID: wacom: generic: Treat serial number and related fields as unsigned (Benjamin Tissoires) [1835753] - [hid] HID: wacom: add new MobileStudio Pro 13 support (Benjamin Tissoires) [1835753] - [hid] HID: wacom: do not call hid_set_drvdata(hdev, NULL) (Benjamin Tissoires) [1835753] - [hid] HID: wacom: support named keys on older devices (Benjamin Tissoires) [1835753] - [target] scsi: target: iscsi: calling iscsit_stop_session() inside iscsit_close_session() has no effect (Maurizio Lombardi) [1840024] - [target] scsi: target: fix hang when multiple threads try to destroy the same iscsi session (Maurizio Lombardi) [1840024] - [target] scsi: target: remove boilerplate code (Maurizio Lombardi) [1840024] - [target] scsi: target: use an enum to track emulate_ua_intlck_ctrl (Maurizio Lombardi) [1840024] - [target] scsi: target: convert boolean se_dev_attrib types to bool (Maurizio Lombardi) [1840024] - [target] scsi: target: fix unmap_zeroes_data boolean initialisation (Maurizio Lombardi) [1840024] - [fs] page cache: Finish XArray conversion (Waiman Long) [1812073] - [mm] mm: Convert __do_page_cache_readahead to XArray (Waiman Long) [1812073] - [mm] mm: Convert is_page_cache_freeable to XArray (Waiman Long) [1812073] - [mm] mm: memcontrol: clean up and document effective low/min calculations (Waiman Long) [1812073] - [mm] mm: memcontrol: fix memory.low proportional distribution (Waiman Long) [1812073] - [mm] mm: kmem: rename (__)memcg_kmem_(un)charge_memcg() to __memcg_kmem_(un)charge() (Waiman Long) [1812073] - [mm] mm: memcg/slab: cache page number in memcg_(un)charge_slab() (Waiman Long) [1812073] - [mm] mm: kmem: switch to nr_pages in (__)memcg_kmem_charge_memcg() (Waiman Long) [1812073] - [mm] mm: kmem: rename memcg_kmem_(un)charge() into memcg_kmem_(un)charge_page() (Waiman Long) [1812073] - [mm] mm: kmem: cleanup memcg_kmem_uncharge_memcg() arguments (Waiman Long) [1812073] - [mm] mm: kmem: cleanup (__)memcg_kmem_charge_memcg() arguments (Waiman Long) [1812073] - [mm] mm: memcg/slab: use mem_cgroup_from_obj() (Waiman Long) [1812073] - [kernel] mm: fork: fix kernel_stack memcg stats for various stack implementations (Waiman Long) [1812073] - [mm] memcg: fix NULL pointer dereference in __mem_cgroup_usage_unregister_event (Waiman Long) [1812073] - [mm] mm: clean up and clarify lruvec lookup procedure (Waiman Long) [1812073] - [mm] mm: memcontrol: try harder to set a new memory.high (Waiman Long) [1812073] - [mm] mm: memcontrol: remove dead code from memory_max_write() (Waiman Long) [1812073] - [mm] mm, memcg: clean up reclaim iter array (Waiman Long) [1812073] - [mm] mm, memcg: make scan aggression always exclude protection (Waiman Long) [1812073] - [mm] mm, memcg: make memory.emin the baseline for utilisation determination (Waiman Long) [1812073] - [mm] mm, memcg: proportional memory.{low, min} reclaim (Waiman Long) [1812073] - [mm] memcg, kmem: do not fail __GFP_NOFAIL charges (Waiman Long) [1812073] - [mm] mm: workingset: fix vmstat counters for shadow nodes (Waiman Long) [1812073] - [mm] mm: memcontrol: use CSS_TASK_ITER_PROCS at mem_cgroup_scan_tasks() (Waiman Long) [1812073] - [kernel] fork, memcg: alloc_thread_stack_node needs to set tsk->stack (Waiman Long) [1812073] - [mm] mm/memcontrol.c: fix bad line in comment (Waiman Long) [1812073] - [kernel] fork, memcg: fix cached_stacks case (Waiman Long) [1812073] - [mm] mm: don't raise MEMCG_OOM event due to failed high-order allocation (Waiman Long) [1812073] - [mm] mm: vmscan: memcontrol: remove mem_cgroup_select_victim_node() (Waiman Long) [1812073] - [mm] mm: vmscan: do not share cgroup iteration between reclaimers (Waiman Long) [1812073] - [mm] mm: vmscan: do not iterate all mem cgroups for global direct reclaim (Waiman Long) [1812073] - [mm] mm: workingset: use cheaper __inc_lruvec_state in irqsafe node reclaim (Waiman Long) [1812073] - [tools] xarray: Fix early termination of xas_for_each_marked (Waiman Long) [1812073] - [lib] mm: Convert workingset to XArray (Waiman Long) [1812073] - [mm] page cache: Convert filemap_range_has_page to XArray (Waiman Long) [1812073] - [mm] page cache: Remove stray radix comment (Waiman Long) [1812073] - [mm] page cache: Convert delete_batch to XArray (Waiman Long) [1812073] - [mm] page cache: Convert filemap_map_pages to XArray (Waiman Long) [1812073] - [mm] page cache: Convert find_get_entries_tag to XArray (Waiman Long) [1812073] - [mm] page cache; Convert find_get_pages_range_tag to XArray (Waiman Long) [1812073] - [mm] page cache: Convert find_get_pages_contig to XArray (Waiman Long) [1812073] - [mm] page cache: Convert find_get_pages_range to XArray (Waiman Long) [1812073] - [mm] page cache: Convert find_get_entries to XArray (Waiman Long) [1812073] - [mm] page cache: Convert find_get_entry to XArray (Waiman Long) [1812073] - [mm] page cache: Convert page deletion to XArray (Waiman Long) [1812073] - [include] page cache: Add and replace pages using the XArray (Waiman Long) [1812073] - [mm] page cache: Convert hole search to XArray (Waiman Long) [1812073] - [kernel] docs: cgroup-v1: Document the cpuset_v2_mode mount option (Waiman Long) [1812073] - [kernel] cgroup1: don't call release_agent when it is "" (Waiman Long) [1812073] - [kernel] cgroup: Iterate tasks that did not finish do_exit() (Waiman Long) [1812073] - [kernel] cgroup: cgroup_procs_next should increase position index (Waiman Long) [1812073] - [kernel] cgroup-v1: cgroup_pidlist_next should update position index (Waiman Long) [1812073] - [kernel] cgroup: init_tasks shouldn't be linked to the root cgroup (Waiman Long) [1812073] - [kernel] cgroup: Prevent double killing of css when enabling threaded cgroup (Waiman Long) [1812073] - [kernel] cgroup: fix function name in comment (Waiman Long) [1812073] - [kernel] cgroup: freezer: don't change task and cgroups status unnecessarily (Waiman Long) [1812073] - [kernel] cgroup: use cgroup->last_bstat instead of cgroup->bstat_pending for consistency (Waiman Long) [1812073] - [kernel] cgroup: remove cgroup_enable_task_cg_lists() optimization (Waiman Long) [1812073] - [kernel] cgroup: pids: use atomic64_t for pids->limit (Waiman Long) [1812073] - [kernel] cgroup: Optimize single thread migration (Waiman Long) [1812073] - [kernel] cgroup: Update comments about task exit path (Waiman Long) [1812073] - [kernel] cgroup: short-circuit current_cgns_cgroup_from_root() on the default hierarchy (Waiman Long) [1812073] - [kernel] Use kvmalloc in cgroups-v1 (Waiman Long) [1812073] - [kernel] cgroup: minor tweak for logic to get cgroup css (Waiman Long) [1812073] - [kernel] cgroup: Replace a seq_printf() call by seq_puts() in cgroup_print_ss_mask() (Waiman Long) [1812073] - [kernel] cgroup: Fix css_task_iter_advance_css_set() cset skip condition (Waiman Long) [1812073] - [kernel] cgroup: css_task_iter_skip()'d iterators must be advanced before accessed (Waiman Long) [1812073] - [include] cgroup: Include dying leaders with live threads in PROCS iterations (Waiman Long) [1812073] - [kernel] cgroup: Implement css_task_iter_skip() (Waiman Long) [1812073] - [kernel] cgroup/pids: turn cgroup_subsys->free() into cgroup_subsys->release() to fix the accounting (Waiman Long) [1586281 1812073] - [platform] intel-speed-select: Firmware workarounds for Icelake (Prarit Bhargava) [1840289] - [tools] tools/power/x86/intel-speed-select: Fix invalid core mask (Prarit Bhargava) [1840289] - [tools] tools/power/x86/intel-speed-select: Increase CPU count (Prarit Bhargava) [1840289] - [tools] tools/power/x86/intel-speed-select: Fix json perf-profile output output (Prarit Bhargava) [1840289] - [tools] tools/power/x86/intel-speed-select: Update version (Prarit Bhargava) [1840289] - [tools] tools/power/x86/intel-speed-select: Enable clos for turbo-freq enable (Prarit Bhargava) [1840289] - [tools] tools/power/x86/intel-speed-select: Check support status before enable (Prarit Bhargava) [1840289] - [tools] tools/power/x86/intel-speed-select: Change debug to error (Prarit Bhargava) [1840289] - [platform] intel_speed_select: internal-only-debug-patch (Prarit Bhargava) [1840289]- [nvdimm] libnvdimm/region: Fix build error (Diego Domingos) [1779218] - [nvdimm] libnvdimm/region: Introduce an 'align' attribute (Diego Domingos) [1779218] - [nvdimm] libnvdimm/region: Introduce NDD_LABELING (Diego Domingos) [1779218] - [nvdimm] libnvdimm/namespace: Enforce memremap_compat_align() (Diego Domingos) [1779218] - [nvdimm] libnvdimm/pfn: Prevent raw mode fallback if pfn-infoblock valid (Diego Domingos) [1779218] - [mm] mm/memremap_pages: Introduce memremap_compat_align() (Diego Domingos) [1779218] - [x86] x86/unwind/orc: Fix unwind_get_return_address_ptr() for inactive tasks (Josh Poimboeuf) [1755143] - [x86] x86/unwind/orc: Fix error handling in __unwind_start() (Josh Poimboeuf) [1755143] - [x86] x86/unwind/orc: Fix premature unwind stoppage due to IRET frames (Josh Poimboeuf) [1755143] - [x86] x86/unwind/orc: Fix error path for bad ORC entry type (Josh Poimboeuf) [1755143] - [x86] x86/unwind/orc: Prevent unwinding before ORC initialization (Josh Poimboeuf) [1755143] - [x86] x86/unwind/orc: Don't skip the first frame for inactive tasks (Josh Poimboeuf) [1755143] - [x86] x86/unwind: Prevent false warnings for non-current tasks (Josh Poimboeuf) [1755143] - [x86] x86/unwind/orc: Convert global variables to static (Josh Poimboeuf) [1755143] - [x86] x86/entry/64: Fix unwind hints in rewind_stack_do_exit() (Josh Poimboeuf) [1755143] - [x86] x86/entry/64: Fix unwind hints in __switch_to_asm() (Josh Poimboeuf) [1755143] - [x86] x86/entry/64: Fix unwind hints in kernel exit path (Josh Poimboeuf) [1755143] - [x86] x86/entry/64: Fix unwind hints in register clearing code (Josh Poimboeuf) [1755143] - [tools] objtool: Fix stack offset tracking for indirect CFAs (Josh Poimboeuf) [1755143] - [s390] s390: nvme reipl (Philipp Rudo) [1525179] - [s390] s390: nvme ipl (Philipp Rudo) [1525179] - [infiniband] RDMA/bnxt_re: make bnxt_re_ib_init static (Selvin Xavier) [1790622] - [infiniband] RDMA/bnxt_re: Wait for all the CQ events before freeing CQ data structures (Selvin Xavier) [1790622] - [infiniband] RDMA/bnxt_re: Remove unnecessary sched count (Selvin Xavier) [1790622] - [infiniband] RDMA/bnxt_re: Fix lifetimes in bnxt_re_task (Selvin Xavier) [1790622] - [infiniband] RDMA/bnxt_re: Use ib_device_try_get() (Selvin Xavier) [1790622] - [infiniband] RDMA/bnxt_re: Remove a redundant 'memset' (Selvin Xavier) [1790622] - [infiniband] RDMA/bnxt_re: Remove set but not used variables 'pg' and 'idx' (Selvin Xavier) [1790622] - [infiniband] RDMA/bnxt_re: Remove set but not used variable 'dev_attr' (Selvin Xavier) [1790622] - [infiniband] RDMA/bnxt_re: Remove set but not used variable 'pg_size' (Selvin Xavier) [1790622] - [infiniband] RDMA/bnxt_re: Use driver_unregister and unregistration API (Selvin Xavier) [1790622] - [infiniband] RDMA/bnxt_re: Refactor device add/remove functionalities (Selvin Xavier) [1790622] - [infiniband] RDMA/bnxt_re: Using vmalloc requires including vmalloc.h (Selvin Xavier) [1790622] - [infiniband] RDMA/bnxt_re: use ibdev based message printing functions (Selvin Xavier) [1790622] - [infiniband] RDMA/bnxt_re: Refactor doorbell management functions (Selvin Xavier) [1790622] - [infiniband] RDMA/bnxt_re: Refactor notification queue management code (Selvin Xavier) [1790622] - [infiniband] RDMA/bnxt_re: Refactor command queue management code (Selvin Xavier) [1790622] - [infiniband] RDMA/bnxt_re: Refactor net ring allocation function (Selvin Xavier) [1790622] - [infiniband] RDMA/bnxt_re: Refactor hardware queue memory allocation (Selvin Xavier) [1790622] - [infiniband] RDMA/bnxt_re: Replace chip context structure with pointer (Selvin Xavier) [1790622] - [infiniband] RDMA/bnxt_re: Refactor queue pair creation code (Selvin Xavier) [1790622] - [infiniband] RDMA/bnxt_re: remove ioremap_nocache and devm_ioremap_nocache (Selvin Xavier) [1790622] - [infiniband] RDMA/bnxt_re: Enable SRIOV VF support on Broadcom's 57500 adapter series (Selvin Xavier) [1790622] - [netdrv] net: be2net: reject unsupported coalescing params (Petr Oros) [1790633] - [netdrv] treewide: Use sizeof_field() macro (Petr Oros) [1790633] - [netdrv] net: emulex: benet: indent a Kconfig depends continuation line (Petr Oros) [1790633] - [infiniband] i40iw: fix null pointer dereference on a null wqe pointer (Stefan Assmann) [1839718] - [infiniband] RDMA/providers: Fix return value when QP type isn't supported (Stefan Assmann) [1839718] - [infiniband] RDMA: Replace zero-length array with flexible-array member (Stefan Assmann) [1839718] - [infiniband] i40iw: Do an RCU lookup in i40iw_add_ipv4_addr (Stefan Assmann) [1839718] - [infiniband] IB/core: Introduce ib_reg_user_mr (Stefan Assmann) [1839718] - [infiniband] RDMA/i40iw: fix a potential NULL pointer dereference (Stefan Assmann) [1839718] - [infiniband] i40iw: Remove setting of VMA private data and use rdma_user_mmap_io (Stefan Assmann) [1839718] - [infiniband] RDMA/i40iw: Fix potential use after free (Stefan Assmann) [1839718] - [powerpc] powerpc/pseries: Fix of_read_drc_info_cell() to point at next record (Diego Domingos) [1779198] - [powerpc] powerpc/pseries: Enable support for ibm, drc-info property (Diego Domingos) [1779198] - [pci] PCI: rpaphp: Correctly match ibm, my-drc-index to drc-name when using drc-info (Diego Domingos) [1779198] - [pci] PCI: rpaphp: Avoid a sometimes-uninitialized warning (Diego Domingos) [1779198] - [pci] PCI: rpaphp: Annotate and correctly byte swap DRC properties (Diego Domingos) [1779198] - [pci] PCI: rpaphp: Add drc-info support for hotplug slot registration (Diego Domingos) [1779198] - [pci] PCI: rpaphp: Don't rely on firmware feature to imply drc-info support (Diego Domingos) [1779198] - [pci] PCI: rpaphp: Fix up pointer to first drc-info entry (Diego Domingos) [1779198] - [powerpc] powerpc/pseries: Add cpu DLPAR support for drc-info property (Diego Domingos) [1779198] - [powerpc] powerpc/pseries: Fix drc-info mappings of logical cpus to drc-index (Diego Domingos) [1779198] - [powerpc] powerpc/pseries: Fix bad drc_index_start value parsing of drc-info entry (Diego Domingos) [1779198] - [kernel] sched/fair: Optimize enqueue_task_fair() (Phil Auld) [1780466] - [kernel] sched/fair: Fix enqueue_task_fair() warning some more (Phil Auld) [1780466] - [kernel] sched/fair: Fix enqueue_task_fair warning (Phil Auld) [1780466] - [kernel] sched/fair: Fix reordering of enqueue/dequeue_task_fair() (Phil Auld) [1780466] - [kernel] sched/fair: Reorder enqueue/dequeue_task_fair path (Phil Auld) [1780466] - [fs] ceph: demote quotarealm lookup warning to a debug message (Jeff Layton) [1827767] - [fs] ceph: fix double unlock in handle_cap_export() (Jeff Layton) [1827767] - [fs] ceph: fix special error code in ceph_try_get_caps() (Jeff Layton) [1827767] - [fs] ceph: fix endianness bug when handling MDS session feature bits (Jeff Layton) [1827767] - [fs] ceph: fix potential bad pointer deref in async dirops cb's (Jeff Layton) [1827767] - [block] rbd: don't mess with a page vector in rbd_notify_op_lock() (Jeff Layton) [1827767] - [block] rbd: don't test rbd_dev->opts in rbd_dev_image_release() (Jeff Layton) [1827767] - [block] rbd: call rbd_dev_unprobe() after unwatching and flushing notifies (Jeff Layton) [1827767] - [block] rbd: avoid a deadlock on header_rwsem when flushing notifies (Jeff Layton) [1827767] - [fs] ceph: fix snapshot directory timestamps (Jeff Layton) [1827767] - [fs] ceph: wait for async creating inode before requesting new max size (Jeff Layton) [1827767] - [fs] ceph: don't skip updating wanted caps when cap is stale (Jeff Layton) [1827767] - [fs] ceph: request new max size only when there is auth cap (Jeff Layton) [1827767] - [fs] ceph: cleanup return error of try_get_cap_refs() (Jeff Layton) [1827767] - [fs] ceph: return ceph_mdsc_do_request() errors from __get_parent() (Jeff Layton) [1827767] - [fs] ceph: check all mds' caps after page writeback (Jeff Layton) [1827767] - [fs] ceph: update i_requested_max_size only when sending cap msg to auth mds (Jeff Layton) [1827767] - [fs] ceph: simplify calling of ceph_get_fmode() (Jeff Layton) [1827767] - [fs] ceph: remove delay check logic from ceph_check_caps() (Jeff Layton) [1827767] - [fs] ceph: consider inode's last read/write when calculating wanted caps (Jeff Layton) [1827767] - [fs] ceph: always renew caps if mds_wanted is insufficient (Jeff Layton) [1827767] - [fs] ceph: update dentry lease for async create (Jeff Layton) [1827767] - [fs] ceph: attempt to do async create when possible (Jeff Layton) [1827767] - [fs] ceph: cache layout in parent dir on first sync create (Jeff Layton) [1827767] - [fs] ceph: add new MDS req field to hold delegated inode number (Jeff Layton) [1827767] - [fs] ceph: decode interval_sets for delegated inos (Jeff Layton) [1827767] - [fs] ceph: make ceph_fill_inode non-static (Jeff Layton) [1827767] - [fs] ceph: perform asynchronous unlink if we have sufficient caps (Jeff Layton) [1827767] - [fs] ceph: don't take refs to want mask unless we have all bits (Jeff Layton) [1827767] - [fs] ceph: cap tracking for async directory operations (Jeff Layton) [1827767] - [fs] ceph: make __take_cap_refs non-static (Jeff Layton) [1827767] - [fs] ceph: add infrastructure for waiting for async create to complete (Jeff Layton) [1827767] - [fs] ceph: track primary dentry link (Jeff Layton) [1827767] - [fs] ceph: add flag to designate that a request is asynchronous (Jeff Layton) [1827767] - [fs] ceph: more caps.c lockdep assertions (Jeff Layton) [1827767] - [fs] ceph: clean up kick_flushing_inode_caps() (Jeff Layton) [1827767] - [net] libceph: directly skip to the end of redirect reply (Jeff Layton) [1827767] - [net] libceph: simplify ceph_monc_handle_map() (Jeff Layton) [1827767] - [fs] ceph: return ETIMEDOUT errno to userland when request timed out (Jeff Layton) [1827767] - [fs] ceph: re-org copy_file_range and fix some error paths (Jeff Layton) [1827767] - [fs] ceph: move to a dedicated slabcache for mds requests (Jeff Layton) [1827767] - [fs] ceph: reorganize fields in ceph_mds_request (Jeff Layton) [1827767] - [fs] ceph: replace zero-length array with flexible-array member (Jeff Layton) [1827767] - [block] rbd: enable multiple blk-mq queues (Jeff Layton) [1827767] - [block] rbd: embed image request in blk-mq pdu (Jeff Layton) [1827767] - [block] rbd: acquire header_rwsem just once in rbd_queue_workfn() (Jeff Layton) [1827767] - [block] rbd: get rid of img_request_layered_clear() (Jeff Layton) [1827767] - [block] rbd: kill img_request kref (Jeff Layton) [1827767] - [fs] ceph: check if file lock exists before sending unlock request (Jeff Layton) [1827767] - [fs] ceph: move ceph_osdc_{read, write}pages to ceph.ko (Jeff Layton) [1827767] - [fs] ceph: don't ClearPageChecked in ceph_invalidatepage() (Jeff Layton) [1827767] - [block] rbd: remove barriers from img_request_layered_{set, clear, test}() (Jeff Layton) [1827767] - [fs] libceph: drop CEPH_DEFINE_SHOW_FUNC (Jeff Layton) [1827767] - [fs] ceph: check inode type for CEPH_CAP_FILE_{CACHE, RD, REXTEND, LAZYIO} (Jeff Layton) [1827767] - [fs] ceph: add refcounting for Fx caps (Jeff Layton) [1827767] - [fs] ceph: register MDS request with dir inode from the start (Jeff Layton) [1827767] - [fs] ceph: fix memory leak in ceph_cleanup_snapid_map() (Jeff Layton) [1827767] - [net] libceph: fix alloc_msg_with_page_vector() memory leaks (Jeff Layton) [1827767] - [include] ceph: check POOL_FLAG_FULL/NEARFULL in addition to OSDMAP_FULL/NEARFULL (Jeff Layton) [1827767] - [fs] ceph: canonicalize server path in place (Jeff Layton) [1827767] - [fs] ceph: do not execute direct write in parallel if O_APPEND is specified (Jeff Layton) [1827767] - [block] rbd: set the 'device' link in sysfs (Jeff Layton) [1827767] - [fs] ceph: move net/ceph/ceph_fs.c to fs/ceph/util.c (Jeff Layton) [1827767] - [fs] ceph: print name of xattr in __ceph_{get, set}xattr() douts (Jeff Layton) [1827767] - [fs] ceph: print r_direct_hash in hex in __choose_mds() dout (Jeff Layton) [1827767] - [fs] ceph: use copy-from2 op in copy_file_range (Jeff Layton) [1827767] - [fs] ceph: close holes in structs ceph_mds_session and ceph_mds_request (Jeff Layton) [1827767] - [block] rbd: work around -Wuninitialized warning (Jeff Layton) [1827767] - [fs] ceph: allocate the correct amount of extra bytes for the session features (Jeff Layton) [1827767] - [fs] ceph: rename get_session and switch to use ceph_get_mds_session (Jeff Layton) [1827767] - [fs] ceph: remove the extra slashes in the server path (Jeff Layton) [1827767] - [fs] ceph: add possible_max_rank and make the code more readable (Jeff Layton) [1827767] - [fs] ceph: print dentry offset in hex and fix xattr_version type (Jeff Layton) [1827767] - [fs] ceph: only touch the caps which have the subset mask requested (Jeff Layton) [1827767] - [fs] ceph: don't clear I_NEW until inode metadata is fully populated (Jeff Layton) [1827767] - [fs] ceph: retry the same mds later after the new session is opened (Jeff Layton) [1827767] - [fs] ceph: check availability of mds cluster on mount after wait timeout (Jeff Layton) [1827767] - [fs] ceph: keep the session state until it is released (Jeff Layton) [1827767] - [fs] ceph: add __send_request helper (Jeff Layton) [1827767] - [fs] ceph: ensure we have a new cap before continuing in fill_inode (Jeff Layton) [1827767] - [fs] ceph: drop unused ttl_from parameter from fill_inode (Jeff Layton) [1827767] - [fs] ceph: fix possible long time wait during umount (Jeff Layton) [1827767] - [fs] ceph: only choose one MDS who is in up:active state without laggy (Jeff Layton) [1827767] - [fs] ceph: fix mdsmap cluster available check based on laggy number (Jeff Layton) [1827767] - [fs] ceph: remove unnecessary assignment in ceph_pre_init_acls() (Jeff Layton) [1827767] - [fs] ceph: delete redundant douts in con_get/put() (Jeff Layton) [1827767] - [fs] ceph: hold extra reference to r_parent over life of request (Jeff Layton) [1827767] - [fs] ceph: add more debug info when decoding mdsmap (Jeff Layton) [1827767] - [fs] ceph: switch to global cap helper (Jeff Layton) [1827767] - [fs] ceph: trigger the reclaim work once there has enough pending caps (Jeff Layton) [1827767] - [fs] ceph: show tasks waiting on caps in debugfs caps file (Jeff Layton) [1827767] - [fs] fs: ceph: Delete timespec64_trunc() usage (Jeff Layton) [1827767] - [block] rbd: ask for a weaker incompat mask for read-only mappings (Jeff Layton) [1827767] - [block] rbd: don't query snapshot features (Jeff Layton) [1827767] - [block] rbd: remove snapshot existence validation code (Jeff Layton) [1827767] - [block] rbd: don't establish watch for read-only mappings (Jeff Layton) [1827767] - [block] rbd: don't acquire exclusive lock for read-only mappings (Jeff Layton) [1827767] - [block] rbd: disallow read-write partitions on images mapped read-only (Jeff Layton) [1827767] - [block] rbd: treat images mapped read-only seriously (Jeff Layton) [1827767] - [block] rbd: introduce RBD_DEV_FLAG_READONLY (Jeff Layton) [1827767] - [block] rbd: introduce rbd_is_snap() (Jeff Layton) [1827767] - [fs] ceph: don't leave ino field in ceph_mds_request_head uninitialized (Jeff Layton) [1827767] - [fs] ceph: tone down loglevel on ceph_mdsc_build_path warning (Jeff Layton) [1827767] - [fs] ceph: fix geting random mds from mdsmap (Jeff Layton) [1827767] - [block] rbd: fix spelling mistake "requeueing" -> "requeuing" (Jeff Layton) [1827767] - [fs] ceph: make several helper accessors take const pointers (Jeff Layton) [1827767] - [net] libceph: drop unnecessary check from dispatch() in mon_client.c (Jeff Layton) [1827767] - [fs] ceph: don't allow copy_file_range when stripe_count != 1 (Jeff Layton) [1827767] - [fs] ceph: allow object copies across different filesystems in the same cluster (Jeff Layton) [1827767] - [fs] ceph: pass filp to ceph_get_caps() (Jeff Layton) [1827767] - [fs] ceph: allow copy_file_range when src and dst inode are same (Jeff Layton) [1827767] - [fs] ceph: increment change_attribute on local changes (Jeff Layton) [1827767] - [fs] ceph: make 'nocopyfrom' a default mount option (Jeff Layton) [1827767] - [fs] vfs: allow copy_file_range to copy across devices (Jeff Layton) [1827767] - [fs] vfs: no fallback for ->copy_file_range (Jeff Layton) [1827767] - [fs] ceph: add destination file data sync before doing any remote copy (Jeff Layton) [1827767] - [fs] ceph: new mount option to disable usage of copy-from op (Jeff Layton) [1827767] - [fs] ceph: support copy_file_range file operation (Jeff Layton) [1827767] - [include] libceph: support the RADOS copy-from operation (Jeff Layton) [1827767] - [fs] cachefiles: Fix race between read_waiter and read_copier involving op->to_do (Dave Wysochanski) [1832644] - [char] security: keys: trusted: fix lost handle flush (Jerry Snitselaar) [1815609] - [security] KEYS: trusted: Remove set but not used variable 'keyhndl' (Jerry Snitselaar) [1815609] - [char] KEYS: trusted: Move TPM2 trusted keys code (Jerry Snitselaar) [1815609] - [security] KEYS: trusted: Create trusted keys subsystem (Jerry Snitselaar) [1815609] - [security] KEYS: Use common tpm_buf for trusted and asymmetric keys (Jerry Snitselaar) [1815609] - [char] tpm: Move tpm_buf code to include/linux/ (Jerry Snitselaar) [1815609] - [char] tpm/tpm_tis: Free IRQ if probing fails (Jerry Snitselaar) [1815609 1788758] - [char] tpm: Revert tpm_tis_spi_mod.ko to tpm_tis_spi.ko (Jerry Snitselaar) [1815609 1788758] - [char] tpm: Add tpm_version_major sysfs file (Jerry Snitselaar) [1815609] - [char] tpm: Handle negative priv->response_len in tpm_common_read() (Jerry Snitselaar) [1815609] - [char] tpm: fix invalid locking in NONBLOCKING mode (Jerry Snitselaar) [1815609] - [char] tpm_crb: fix fTPM on AMD Zen+ CPUs (Jerry Snitselaar) [1815609] - [char] tpm: use GFP_KERNEL instead of GFP_HIGHMEM for tpm_buf (Jerry Snitselaar) [1815609] - [char] tpm: add check after commands attribs tab allocation (Jerry Snitselaar) [1815609] - [char] tpm: tpm_tis_spi: Drop THIS_MODULE usage from driver struct (Jerry Snitselaar) [1815609 1788758] - [char] tpm: tpm_tis_spi: Cleanup includes (Jerry Snitselaar) [1815609 1788758] - [char] tpm: tpm_tis_spi: Support cr50 devices (Jerry Snitselaar) [1815609 1788758] - [char] tpm: tpm_tis_spi: Introduce a flow control callback (Jerry Snitselaar) [1815609 1788758] - [char] tpm: Add a flag to indicate TPM power is managed by firmware (Jerry Snitselaar) [1815609] - [char] tpm_tis: override durations for STM tpm with firmware 1.2.8.28 (Jerry Snitselaar) [1815609 1788758] - [char] tpm: provide a way to override the chip returned durations (Jerry Snitselaar) [1815609] - [char] tpm: Remove duplicate code from caps_show() in tpm-sysfs.c (Jerry Snitselaar) [1815609 1788758] - [char] tpm: tpm2_bios_measurements_next should increase position index (Jerry Snitselaar) [1815609 1795739] - [char] tpm: tpm1_bios_measurements_next should increase position index (Jerry Snitselaar) [1815609 1795739] - [char] tpm: Don't make log failures fatal (Jerry Snitselaar) [1815609 1795739] - [char] tpm: Initialize crypto_id of allocated_banks to HASH_ALGO__LAST (Jerry Snitselaar) [1815609 1795739] - [include] efi/tpm: Don't access event->count when it isn't mapped (Jerry Snitselaar) [1815609 1795739] - [firmware] efi/tpm: Return -EINVAL when determining tpm final events log size fails (Jerry Snitselaar) [1815609 1795739] - [firmware] efi/tpm: Fix sanity check of unsigned tbl_size being less than zero (Jerry Snitselaar) [1815609 1795739] - [firmware] efi/tpm: Only set 'efi_tpm_final_log_size' after successful event log parsing (Jerry Snitselaar) [1815609 1795739] - [firmware] efi/tpm: Don't traverse an event log with no events (Jerry Snitselaar) [1815609 1795739] - [char] tpm: Don't duplicate events from the final event log in the TCG2 log (Jerry Snitselaar) [1815609 1795739] - [firmware] Abstract out support for locating an EFI config table (Jerry Snitselaar) [1815609 1795739] - [firmware] efi: Attempt to get the TCG2 event log in the boot stub (Jerry Snitselaar) [1815609 1795739] - [char] tpm: Append the final event log to the TPM event log (Jerry Snitselaar) [1815609 1795739] - [firmware] tpm: Reserve the TPM final events table (Jerry Snitselaar) [1815609 1795739] - [char] tpm: Abstract crypto agile event size calculations (Jerry Snitselaar) [1815609 1795739] - [netdrv] bnx2x: Fix accounting of vlan resources among the PFs (Manish Chopra) [1791026] - [netdrv] bnx2x: Use appropriate define for vlan credit (Manish Chopra) [1791026] - [netdrv] bnx2x: Fix logic to get total no. of PFs per engine (Manish Chopra) [1791026] - [netdrv] bnx2x: Do not handle requests from VFs after parity (Manish Chopra) [1791026] - [netdrv] qed: remove redundant assignment to variable 'rc' (Manish Chopra) [1791024] - [netdrv] qed: Fix use after free in qed_chain_free (Manish Chopra) [1791024] - [netdrv] qed: Fix race condition between scheduling and destroying the slowpath workqueue (Manish Chopra) [1791024] - [netdrv] qede: remove some unused code in function qede_selftest_receive_traffic (Manish Chopra) [1791024] - [netdrv] qede: Fix race between rdma destroy workqueue and link change event (Manish Chopra) [1791024] - [netdrv] qed: Fix timestamping issue for L2 unicast ptp packets (Manish Chopra) [1791024] - [netdrv] qed: Remove set but not used variable 'p_link' (Manish Chopra) [1791024] - [netdrv] qed: Fix a error code in qed_hw_init() (Manish Chopra) [1791024] - [netdrv] qed: FW 8.42.2.0 debug features (Manish Chopra) [1791024] - [netdrv] qed: rt init valid initialization changed (Manish Chopra) [1791024] - [netdrv] qed: Debug feature: ilt and mdump (Manish Chopra) [1791024] - [netdrv] qed: FW 8.42.2.0 Add fw overlay feature (Manish Chopra) [1791024] - [netdrv] qed: FW 8.42.2.0 HSI changes (Manish Chopra) [1791024] - [netdrv] qed: FW 8.42.2.0 iscsi/fcoe changes (Manish Chopra) [1791024] - [netdrv] qed: Add abstraction for different hsi values per chip (Manish Chopra) [1791024] - [netdrv] qed: FW 8.42.2.0 Additional ll2 type (Manish Chopra) [1791024] - [netdrv] qed: Use dmae to write to widebus registers in fw_funcs (Manish Chopra) [1791024] - [netdrv] qed: FW 8.42.2.0 Parser offsets modified (Manish Chopra) [1791024] - [netdrv] qed: FW 8.42.2.0 Queue Manager changes (Manish Chopra) [1791024] - [netdrv] qed: FW 8.42.2.0 Expose new registers and change windows (Manish Chopra) [1791024] - [netdrv] qed: FW 8.42.2.0 Internal ram offsets modifications (Manish Chopra) [1791024] - [netdrv] qede: Disable hardware gro when xdp prog is installed (Manish Chopra) [1791024] - [netdrv] qed: remove redundant assignments to rc (Manish Chopra) [1791024] - [netdrv] qed: Optimize execution time for nvm attributes configuration (Manish Chopra) [1791024] - [netdrv] qed: fix spelling mistake "queuess" -> "queues" (Manish Chopra) [1791024] - [fs] fs/binfmt_elf.c: allocate initialized memory in fill_thread_core_info() (Bhupesh Sharma) [1832060] {CVE-2020-10732} - [tty] vt: selection, push sel_lock up (Chris von Recklinghausen) [1831037] {CVE-2020-8648} - [tty] vt: selection, push console lock down (Chris von Recklinghausen) [1831037] {CVE-2020-8648} - [staging] staging: speakup: refactor to use existing code in vt (Chris von Recklinghausen) [1831037] {CVE-2020-8648} - [tty] vt: selection: allow functions to be called from inside kernel (Chris von Recklinghausen) [1831037] {CVE-2020-8648} - [tty] vt: don't reinvent min() (Chris von Recklinghausen) [1831037] {CVE-2020-8648} - [tty] vt: selection, close sel_buffer race (Chris von Recklinghausen) [1831037] {CVE-2020-8648} - [tty] vt: fix broken display when running aptitude (Chris von Recklinghausen) [1831037] {CVE-2020-8648} - [tty] vt: selection: take screen contents from uniscr if available (Chris von Recklinghausen) [1831037] {CVE-2020-8648} - [tty] vt: preserve unicode values corresponding to screen characters (Chris von Recklinghausen) [1831037] {CVE-2020-8648} - [input] Input: add safety guards to input_set_keycode() (Chris von Recklinghausen) [1828223] {CVE-2019-20636}- [scsi] scsi: bnx2i: fix potential use after free (Nilesh Javali) [1792114] - [tools] perf python: Fix clang detection to strip out options passed in $CC (Michael Petlan) [1818841] - [tools] libperf: Add counting example (Michael Petlan) [1818841] - [tools] perf report/top TUI: Fix title line formatting (Michael Petlan) [1818841] - [tools] perf probe: Do not depend on dwfl_module_addrsym() (Michael Petlan) [1818841] - [tools] perf probe: Fix to delete multiple probe event (Michael Petlan) [1818841] - [tools] perf parse-events: Fix reading of invalid memory in event parsing (Michael Petlan) [1818841] - [tools] perf python: Fix clang detection when using CC=clang-version (Michael Petlan) [1818841] - [tools] perf map: Fix off by one in strncpy() size argument (Michael Petlan) [1818841] - [tools] tools: Let O= makes handle a relative path with -C option (Michael Petlan) [1818841] - [tools] tools: Fix off-by 1 relative directory includes (Michael Petlan) [1818841] - [tools] perf jevents: Fix leak of mapfile memory (Michael Petlan) [1818841] - [tools] perf bench: Clear struct sigaction before sigaction() syscall (Michael Petlan) [1818841] - [tools] perf bench futex-wake: Restore thread count default to online CPU count (Michael Petlan) [1818841] - [tools] perf top: Fix stdio interface input handling with glibc 2.28+ (Michael Petlan) [1818841] - [tools] perf diff: Fix undefined string comparision spotted by clang's -Wstring-compare (Michael Petlan) [1818841] - [tools] perf symbols: Don't try to find a vmlinux file when looking for kernel modules (Michael Petlan) [1818841] - [tools] perf bench: Share some global variables to fix build with gcc 10 (Michael Petlan) [1818841] - [tools] perf parse-events: Use asprintf() instead of strncpy() to read tracepoint files (Michael Petlan) [1818841] - [tools] perf env: Do not return pointers to local variables (Michael Petlan) [1818841] - [tools] perf tests bp_account: Make global variable static (Michael Petlan) [1818841] - [tools] perf annotate: Fix segfault with source toggle (Michael Petlan) [1818841] - [tools] perf annotate: Align struct annotate_args (Michael Petlan) [1818841] - [tools] perf annotate: Simplify disasm_line allocation and freeing code (Michael Petlan) [1818841] - [tools] perf annotate: Remove privsize from symbol__annotate() args (Michael Petlan) [1818841] - [tools] perf probe: Check return value of strlist__add() for -ENOMEM (Michael Petlan) [1818841] - [tools] perf config: Document missing config options (Michael Petlan) [1818841] - [tools] perf annotate: Fix perf config option description (Michael Petlan) [1818841] - [tools] perf annotate: Prefer cmdline option over default config (Michael Petlan) [1818841] - [tools] perf annotate: Make perf config effective (Michael Petlan) [1818841] - [tools] perf config: Introduce perf_config_u8() (Michael Petlan) [1818841] - [tools] perf annotate: Fix --show-nr-samples for tui/stdio2 (Michael Petlan) [1818841] - [tools] perf annotate: Fix --show-total-period for tui/stdio2 (Michael Petlan) [1818841] - [tools] perf annotate/tui: Re-render title bar after switching back from script browser (Michael Petlan) [1818841] - [tools] perf arch powerpc: Sync powerpc syscall.tbl with the kernel sources (Michael Petlan) [1818841] - [tools] perf auxtrace: Add auxtrace_record__read_finish() (Michael Petlan) [1818841] - [tools] perf arm-spe: Fix endless record after being terminated (Michael Petlan) [1818841] - [tools] perf cs-etm: Fix endless record after being terminated (Michael Petlan) [1818841] - [tools] perf intel-bts: Fix endless record after being terminated (Michael Petlan) [1818841] - [tools] perf intel-pt: Fix endless record after being terminated (Michael Petlan) [1818841] - [tools] perf test: Fix test trace+probe_vfs_getname.sh on s390 (Michael Petlan) [1818841] - [tools] perf bpf: Remove bpf/ subdir from bpf.h headers used to build bpf events (Michael Petlan) [1818841] - [tools] perf llvm: Fix script used to obtain kernel make directives to work with new kbuild (Michael Petlan) [1818841] - [tools] perf tools: Add arm64 version of get_cpuid() (Michael Petlan) [1818841] - [tools] perf trace: Resolve prctl's 'option' arg strings to numbers (Michael Petlan) [1818841] - [tools] perf beauty prctl: Export the 'options' strarray (Michael Petlan) [1818841] - [tools] perf maps: Move kmap::kmaps setup to maps__insert() (Michael Petlan) [1818841] - [tools] perf maps: Fix map__clone() for struct kmap (Michael Petlan) [1818841] - [tools] perf maps: Mark ksymbol DSOs with kernel type (Michael Petlan) [1818841] - [tools] perf maps: Mark module DSOs with kernel type (Michael Petlan) [1818841] - [tools] perf symbols: Convert symbol__is_idle() to use strlist (Michael Petlan) [1818841] - [tools] perf symbols: Update the list of kernel idle symbols (Michael Petlan) [1818841] - [tools] perf stat: Don't report a null stalled cycles per insn metric (Michael Petlan) [1818841] - [tools] perf probe: Add ustring support for perf probe command (Michael Petlan) [1818841] - [tools] perf: Make perf able to build with latest libbfd (Michael Petlan) [1818841] - [tools] perf test: Fix test case Merge cpu map (Michael Petlan) [1818841] - [tools] perf parse: Copy string to perf_evsel_config_term (Michael Petlan) [1818841] - [tools] perf parse: Refactor 'struct perf_evsel_config_term' (Michael Petlan) [1818841] - [tools] perf: Use consistent include paths for libbpf (Michael Petlan) [1818841] - [tools] perf beauty sockaddr: Fix augmented syscall format warning (Michael Petlan) [1818841] - [tools] perf/ui/gtk: Fix gtk2 build (Michael Petlan) [1818841] - [tools] perf ui gtk: Add missing zalloc object (Michael Petlan) [1818841] - [tools] perf tools: Use define api.pure full instead of pure-parser (Michael Petlan) [1818841] - [tools] perf tools: Support --prefix/--prefix-strip (Michael Petlan) [1818841] - [tools] perf report: Clarify in help that --children is default (Michael Petlan) [1818841] - [tools] tools build: Fix test-clang.cpp with Clang 8+ (Michael Petlan) [1818841] - [tools] perf clang: Fix build with Clang 9 (Michael Petlan) [1818841] - [tools] tools lib: Fix builds when glibc contains strlcpy() (Michael Petlan) [1818841] - [tools] perf report/top: Make 'e' visible in the help and make it toggle showing callchains (Michael Petlan) [1818841] - [tools] perf report/top: Do not offer annotation for symbols without samples (Michael Petlan) [1818841] - [tools] perf report/top: Allow pressing hotkeys in the options popup menu (Michael Petlan) [1818841] - [tools] tools ui popup: Allow returning hotkeys (Michael Petlan) [1818841] - [tools] perf hists browser: Allow passing an initial hotkey (Michael Petlan) [1818841] - [tools] perf report/top: Add 'k' hotkey to zoom directly into the kernel map (Michael Petlan) [1818841] - [tools] perf hists browser: Generalize the do_zoom_dso() function (Michael Petlan) [1818841] - [tools] perf report/top: Improve toggle callchain menu option (Michael Petlan) [1818841] - [tools] perf report/top: Add menu entry for toggling callchain expansion (Michael Petlan) [1818841] - [tools] perf report/top: Make ENTER consistently bring up menu (Michael Petlan) [1818841] - [tools] perf hists browser: Restore ESC as "Zoom out" of DSO/thread/etc (Michael Petlan) [1818841] - [tools] tools lib api fs: Fix gcc9 stringop-truncation compilation error (Michael Petlan) [1818841] - [tools] libperf: Add man pages (Michael Petlan) [1818841] - [tools] libperf: Move to tools/lib/perf (Michael Petlan) [1818841] - [tools] perf tests bp_signal: Show expected versus obtained values (Michael Petlan) [1818841] - [tools] perf sched timehist: Add support for filtering on CPU (Michael Petlan) [1818841] - [tools] perf record: Adapt affinity to machines with #CPUs > 1K (Michael Petlan) [1818841] - [tools] perf mmap: Declare type for cpu mask of arbitrary length (Michael Petlan) [1818841] - [tools] tools bitmap: Implement bitmap_equal() operation at bitmap API (Michael Petlan) [1818841] - [x86] perf/amd/uncore: Replace manual sampling check with CAP_NO_INTERRUPT flag (Michael Petlan) [1818841] - [x86] perf/x86/intel: Fix inaccurate period in context switch for auto-reload (Michael Petlan) [1818841] - [x86] perf/x86/amd: Add missing L2 misses event spec to AMD Family 17h's event map (Michael Petlan) [1818841] - [x86] perf/x86/msr: Add Tremont support (Michael Petlan) [1818841] - [x86] perf/x86/cstate: Add Tremont support (Michael Petlan) [1818841] - [x86] perf/x86/intel: Add Elkhart Lake support (Michael Petlan) [1818841] - [include] kernel/events: Add a missing prototype for arch_perf_update_userpage() (Michael Petlan) [1818841] - [x86] perf/x86/amd: Add support for Large Increment per Cycle Events (Michael Petlan) [1818841] - [x86] perf/x86/amd: Constrain Large Increment per Cycle events (Michael Petlan) [1818841] - [x86] perf/x86/intel/rapl: Add Comet Lake support (Michael Petlan) [1818841] - [x86] perf/x86/intel: Explicitly include asm/io.h to use virt_to_phys() (Michael Petlan) [1818841] - [x86] x86/cpu: Add Elkhart Lake to Intel family (Michael Petlan) [1818841] - [x86] x86/timer: Don't skip PIT setup when APIC is disabled or in legacy mode (David Arcari) [1837490] - [x86] x86/intel: Disable HPET on Intel Ice Lake platforms (David Arcari) [1837490] - [x86] x86/timer: Force PIT initialization when !X86_FEATURE_ARAT (David Arcari) [1837490] - [x86] x86/timer: Skip PIT initialization on modern chipsets (David Arcari) [1837490] - [x86] x86/apic: Rename 'lapic_timer_frequency' to 'lapic_timer_period' (David Arcari) [1837490] - [x86] x86/apic: Unify duplicated local apic timer clockevent initialization (David Arcari) [1837490] - [vhost] vsock: kick send_pkt worker once device is started (Stefano Garzarella) [1835651] - [tools] redhat: update kvm/{arm, arm64} headers in tools (Gavin Shan) [1833572] - [tools] kvm: selftests: aarch64: Use stream when given (Gavin Shan) [1833572] - [virt] kvm: arm64: Fix 32bit PC wrap-around (Gavin Shan) [1833572] - [virt] kvm: arm64: vgic-v4: Initialize GICv4.1 even in the absence of a virtual ITS (Gavin Shan) [1833572] - [arm64] kvm: arm64: Save/restore sp_el0 as part of __guest_enter (Gavin Shan) [1833572] - [virt] kvm: arm64: vgic-its: Fix memory leak on the error path of vgic_add_lpi() (Gavin Shan) [1833572] - [virt] kvm: arm64: vgic-v3: Retire all pending LPIs on vcpu destroy (Gavin Shan) [1833572] - [virt] kvm: arm: vgic-v2: Only use the virtual state when userspace accesses pending bits (Gavin Shan) [1833572] - [virt] kvm: arm: vgic: Only use the virtual state when userspace accesses enable bits (Gavin Shan) [1833572] - [virt] kvm: arm: vgic: Synchronize the whole guest on GIC{D, R}_I{S, C}ACTIVER read (Gavin Shan) [1833572] - [virt] kvm: arm64: psci: Forbid 64bit functions for 32bit guests (Gavin Shan) [1833572] - [virt] kvm: arm64: psci: Narrow input registers when using 32bit functions (Gavin Shan) [1833572] - [irqchip] gic-v4.1: Update effective affinity of virtual SGIs (Gavin Shan) [1833572] - [irqchip] gic-v4.1: Add support for VPENDBASER's Dirty+Valid signaling (Gavin Shan) [1833572] - [virt] kvm: arm: vgic: Fix limit condition when writing to GICD_I[CS]ACTIVER (Gavin Shan) [1833572] - [virt] kvm: arm64: gicv4.1: Expose HW-based SGIs in debugfs (Gavin Shan) [1833572] - [irqchip] gic-v4.1: Eagerly vmap vPEs (Gavin Shan) [1833572] - [arm64] kvm: arm64: gicv4.1: Allow non-trapping WFI when using HW SGIs (Gavin Shan) [1833572] - [irqchip] gic-v4.1: Add VSGI property setup (Gavin Shan) [1833572] - [virt] kvm: arm64: gicv4.1: Reload VLPI configuration on distributor enable/disable (Gavin Shan) [1833572] - [irqchip] gic-v4.1: Add VSGI allocation/teardown (Gavin Shan) [1833572] - [virt] kvm: arm64: gicv4.1: Plumb SGI implementation selection in the distributor (Gavin Shan) [1833572] - [irqchip] gic-v4.1: Move doorbell management to the GICv4 abstraction layer (Gavin Shan) [1833572] - [virt] kvm: arm64: gicv4.1: Allow SGIs to switch between HW and SW interrupts (Gavin Shan) [1833572] - [irqchip] gic-v4.1: Plumb set_vcpu_affinity SGI callbacks (Gavin Shan) [1833572] - [virt] kvm: arm64: gicv4.1: Add direct injection capability to SGI registers (Gavin Shan) [1833572] - [virt] kvm: arm64: gicv4.1: Let doorbells be auto-enabled (Gavin Shan) [1833572] - [irqchip] gic-v4.1: Plumb get/set_irqchip_state SGI callbacks (Gavin Shan) [1833572] - [irqchip] gic-v4.1: Plumb mask/unmask SGI callbacks (Gavin Shan) [1833572] - [irqchip] gic-v4.1: Add initial SGI configuration (Gavin Shan) [1833572] - [irqchip] gic-v4.1: Plumb skeletal VSGI irqchip (Gavin Shan) [1833572] - [irqchip] gic-v3: Move irq_domain_update_bus_token to after checking for NULL domain (Gavin Shan) [1833572] - [kernel] irqchip/gic-v4: Use Inner-Shareable attributes for virtual pending tables (Gavin Shan) [1833572] - [irqchip] gic-v4.1: Map the ITS SGIR register page (Gavin Shan) [1833572] - [irqchip] gic-v4.1: Advertise support v4.1 to KVM (Gavin Shan) [1833572] - [irqchip] gic-v4.1: Ensure mutual exclusion betwen invalidations on the same RD (Gavin Shan) [1833572] - [irqchip] gic-v4.1: Wait for completion of redistributor's INVALL operation (Gavin Shan) [1833572] - [irqchip] gic-v4.1: Ensure mutual exclusion between vPE affinity change and RD access (Gavin Shan) [1833572] - [irqchip] gic-v4.1: Skip absent CPUs while iterating over redistributors (Gavin Shan) [1833572] - [irqchip] gic-v3: Use SGIs without active state if offered (Gavin Shan) [1833572] - [irqchip] gic-v4: Provide irq_retrigger to avoid circular locking dependency (Gavin Shan) [1833572] - [irqchip] gic-v3-its: Probe ITS page size for all GITS_BASERn registers (Gavin Shan) [1833572] - [irqchip] gic-v3-its: Fix access width for gicr_syncr (Gavin Shan) [1833572] - [documentation] kvm: arm/arm64: Always capitalize ITS (Gavin Shan) [1833572] - [nvme] nvme-pci: align io queue count with allocted nvme_queue in nvme_probe (Gopal Tiwari) [1837824] - [rtc] rtc: cmos: Stop using shared IRQ (Pingfan Liu) [1829667]- [netdrv] enic: prevent waking up stopped tx queues over watchdog reset (Govindarajulu Varadarajan) [1797807] - [kernel] crash_core: Increase crashkernel=auto size for x86_64 & S390 (Kairui Song) [1746644] - [netdrv] net: iavf: reject unsupported coalescing params (Stefan Assmann) [1781341] - [netdrv] iavf: Enable support for up to 16 queues (Stefan Assmann) [1781341] - [netdrv] iavf: use tc_cls_can_offload_and_chain0() instead of chain check (Stefan Assmann) [1781341] - [netdrv] treewide: Use sizeof_field() macro (Stefan Assmann) [1781341] - [netdrv] i40e: Remove unneeded conversion to bool (Stefan Assmann) [1781334] - [netdrv] net: i40e: reject unsupported coalescing params (Stefan Assmann) [1781334] - [netdrv] intel: Replace zero-length array with flexible-array member (Stefan Assmann) [1781334] - [netdrv] i40e: Fix the conditional for i40e_vc_validate_vqs_bitmaps (Stefan Assmann) [1781334] - [netdrv] i40e: fix spelling mistake "to" -> "too" (Stefan Assmann) [1781334] - [netdrv] i40e: Set PHY Access flag on X722 (Stefan Assmann) [1781334] - [netdrv] i40e: Fix virtchnl_queue_select bitmap validation (Stefan Assmann) [1781334] - [netdrv] i40e: Removing hung_queue variable to use txqueue function parameter (Stefan Assmann) [1781334] - [netdrv] treewide: Use sizeof_field() macro (Stefan Assmann) [1781334] - [netdrv] i40e: need_wakeup flag might not be set for Tx (Stefan Assmann) [1781334] - [netdrv] i40e: Fix receive buffer starvation for AF_XDP (Stefan Assmann) [1781334] - [netdrv] i40e: fix potential RX buffer starvation for AF_XDP (Stefan Assmann) [1781334] - [block] null_blk: Fix changing the number of hardware queues (Ming Lei) [1835602] - [block] block: reset mapping if failed to update hardware queue count (Ming Lei) [1835602] - [block] block: alloc map and request for new hardware queue (Ming Lei) [1835602] - [block] block: save previous hardware queue count before udpate (Ming Lei) [1835602] - [block] block: free both rq_map and request (Ming Lei) [1835602] - [block] blk-mq: Fix a recently introduced regression in blk_mq_realloc_hw_ctxs() (Ming Lei) [1835602] - [documentation] Documentation: admin-guide: PM: Add intel_idle document (Steve Best) [1485545] - [idle] intel_idle: Use ACPI _CST on server systems (Steve Best) [1485545] - [idle] intel_idle: Add module parameter to prevent ACPI _CST from being used (Steve Best) [1485545] - [idle] intel_idle: Allow ACPI _CST to be used for selected known processors (Steve Best) [1485545] - [idle] intel_idle: Use ACPI _CST for processor models without C-state tables (Steve Best) [1485545] - [idle] intel_idle: Refactor intel_idle_cpuidle_driver_init() (Steve Best) [1485545] - [infiniband] RDMA/uverbs: Move IB_EVENT_DEVICE_FATAL to destroy_uobj (Kamal Heib) [1786608] - [infiniband] RDMA/uverbs: Do not discard the IB_EVENT_DEVICE_FATAL event (Kamal Heib) [1786608] - [infiniband] RDMA/core: Fix double put of resource (Kamal Heib) [1786608] - [infiniband] IB/core: Fix potential NULL pointer dereference in pkey cache (Kamal Heib) [1786608] - [infiniband] IB/hfi1: Fix another case where pq is left on waitlist (Kamal Heib) [1786608] - [infiniband] RDMA/rxe: Always return ERR_PTR from rxe_create_mmap_info() (Kamal Heib) [1786608] - [infiniband] RDMA/core: Fix race between destroy and release FD object (Kamal Heib) [1786608] - [infiniband] IB/rdmavt: Always return ERR_PTR from rvt_create_mmap_info() (Kamal Heib) [1786608] - [infiniband] RDMA/core: Fix overwriting of uobj in case of error (Kamal Heib) [1786608] - [infiniband] RDMA/core: Prevent mixed use of FDs between shared ufiles (Kamal Heib) [1786608] - [infiniband] RDMA/uverbs: Fix a race with disassociate and exit_mmap() (Kamal Heib) [1786608] - [infiniband] RDMA/siw: Fix potential siw_mem refcnt leak in siw_fastreg_mr() (Kamal Heib) [1786608] - [infiniband] RDMA/cm: Fix an error check in cm_alloc_id_priv() (Kamal Heib) [1786608] - [net] svcrdma: Fix trace point use-after-free race (Kamal Heib) [1786608] - [infiniband] IB/hfi1: Call kobject_put() when kobject_init_and_add() fails (Kamal Heib) [1786608] - [infiniband] RDMA/rxe: Set sys_image_guid to be aligned with HW IB devices (Kamal Heib) [1786608] - [infiniband] IB/hfi1: Use scnprintf() for avoiding potential buffer overflow (Kamal Heib) [1786608] - [infiniband] IB/hfi1: Remove kobj from hfi1_devdata (Kamal Heib) [1786608] - [infiniband] IB/rdmavt: Delete unused routine (Kamal Heib) [1786608] - [infiniband] RDMA/rxe: Fix configuration of atomic queue pair attributes (Kamal Heib) [1786608] - [infiniband] IB/hfi1: Fix memory leaks in sysfs registration and unregistration (Kamal Heib) [1819051 1786608] - [net] svcrdma: Fix leak of transport addresses (Kamal Heib) [1786608] - [infiniband] RDMA/cm: Update num_paths in cma_resolve_iboe_route error flow (Kamal Heib) [1786608] - [infiniband] RDMA/siw: Suppress uninitialized var warning (Kamal Heib) [1786608] - [infiniband] RDMA/cm: Add missing locking around id.state in cm_dup_req_handler (Kamal Heib) [1786608] - [infiniband] RDMA/cm: Read id.state under lock when doing pr_debug() (Kamal Heib) [1786608] - [infiniband] RDMA/cm: Remove a race freeing timewait_info (Kamal Heib) [1786608] - [infiniband] RDMA/cm: Fix checking for allowed duplicate listens (Kamal Heib) [1786608] - [infiniband] RDMA/cm: Fix ordering of xa_alloc_cyclic() in ib_create_cm_id() (Kamal Heib) [1786608] - [net] svcrdma: Fix double svc_rdma_send_ctxt_put() in an error path (Kamal Heib) [1786608] - [infiniband] RDMA/core: Remove the duplicate header file (Kamal Heib) [1786608] - [infiniband] RDMA/siw: Fix passive connection establishment (Kamal Heib) [1786608] - [infiniband] RDMA/ucma: Put a lock around every call to the rdma_cm layer (Kamal Heib) [1786608] - [infiniband] RDMA/siw: Fix setting active_{speed, width} attributes (Kamal Heib) [1798583 1786608] - [scsi] qla2xxx: Update driver version to 10.01.00.25.08.3-k (Nilesh Javali) [1789526] - [scsi] scsi: qla2xxx: Delete all sessions before unregister local nvme port (Nilesh Javali) [1789526] - [scsi] scsi: qla2xxx: Fix hang when issuing nvme disconnect-all in NPIV (Nilesh Javali) [1789526] - [scsi] scsi: qla2xxx: make 1-bit bit-fields unsigned int (Nilesh Javali) [1789526] - [scsi] scsi: qla2xxx: Fix MPI failure AEN (8200) handling (Nilesh Javali) [1789526] - [scsi] scsi: qla2xxx: Move free of fcport out of interrupt context (Nilesh Javali) [1789526] - [scsi] scsi: qla2xxx: Fix I/Os being passed down when FC device is being deleted (Nilesh Javali) [1789526] - [scsi] scsi: qla2xxx: Set Nport ID for N2N (Nilesh Javali) [1789526] - [scsi] scsi: qla2xxx: Handle NVME status iocb correctly (Nilesh Javali) [1789526] - [scsi] scsi: qla2xxx: Remove restriction of FC T10-PI and FC-NVMe (Nilesh Javali) [1789526] - [scsi] scsi: qla2xxx: Serialize fc_port alloc in N2N (Nilesh Javali) [1789526] - [scsi] scsi: qla2xxx: Fix NPIV instantiation after FW dump (Nilesh Javali) [1789526] - [scsi] scsi: qla2xxx: Force semaphore on flash validation failure (Nilesh Javali) [1789526] - [scsi] scsi: qla2xxx: add more FW debug information (Nilesh Javali) [1789526] - [scsi] scsi: qla2xxx: Update BPM enablement semantics (Nilesh Javali) [1789526] - [scsi] scsi: qla2xxx: Use a dedicated interrupt handler for 'handshake-required' ISPs (Nilesh Javali) [1789526] - [scsi] scsi: qla2xxx: Return appropriate failure through BSG Interface (Nilesh Javali) [1789526] - [scsi] scsi: qla2xxx: Fix FCP-SCSI FC4 flag passing error (Nilesh Javali) [1789526] - [scsi] scsi: qla2xxx: Add 16.0GT for PCI String (Nilesh Javali) [1789526] - [scsi] scsi: qla2xxx: Use QLA_FW_STOPPED macro to propagate flag (Nilesh Javali) [1789526] - [scsi] scsi: qla2xxx: Add fixes for mailbox command (Nilesh Javali) [1789526] - [scsi] scsi: qla2xxx: Fix control flags for login/logout IOCB (Nilesh Javali) [1789526] - [scsi] scsi: qla2xxx: Save rscn_gen for new fcport (Nilesh Javali) [1789526] - [scsi] scsi: qla2xxx: Use correct ISP28xx active FW region (Nilesh Javali) [1789526] - [scsi] scsi: qla2xxx: Use endian macros to assign static fields in fwdump header (Nilesh Javali) [1789526] - [scsi] scsi: qla2xxx: Add endianizer macro calls to fc host stats (Nilesh Javali) [1789526] - [scsi] scsi: qla2xxx: Use get_unaligned_*() instead of open-coding these functions (Nilesh Javali) [1789526] - [scsi] scsi: qla2xxx: Fix the endianness of the qla82xx_get_fw_size() return type (Nilesh Javali) [1789526] - [scsi] scsi: qla2xxx: Improve readability of the code that handles qla_flt_header (Nilesh Javali) [1789526] - [scsi] scsi: qla2xxx: Fix mtcp dump collection failure (Nilesh Javali) [1789526] - [scsi] scsi: qla2xxx: Fix stuck session in GNL (Nilesh Javali) [1789526] - [scsi] scsi: qla2xxx: Fix RIDA Format-2 (Nilesh Javali) [1789526] - [scsi] scsi: qla2xxx: Consolidate fabric scan (Nilesh Javali) [1789526] - [scsi] scsi: qla2xxx: Correct fcport flags handling (Nilesh Javali) [1789526] - [scsi] scsi: qla2xxx: Fix stuck login session using prli_pend_timer (Nilesh Javali) [1789526] - [scsi] scsi: qla2xxx: Use common routine to free fcport struct (Nilesh Javali) [1789526] - [scsi] scsi: qla2xxx: Add D-Port Diagnostic reason explanation logs (Nilesh Javali) [1789526] - [scsi] scsi: qla2xxx: Fix update_fcport for current_topology (Nilesh Javali) [1789526] - [scsi] scsi: qla2xxx: Cleanup unused async_logout_done (Nilesh Javali) [1789526] - [scsi] scsi: qla2xxx: Add a shadow variable to hold disc_state history of fcport (Nilesh Javali) [1789526] - [scsi] scsi: qla2xxx: Retry PLOGI on FC-NVMe PRLI failure (Nilesh Javali) [1789526] - [scsi] scsi: qla2xxx: Fix fabric scan hang (Nilesh Javali) [1789526] - [scsi] scsi: qla2xxx: Remove defer flag to indicate immeadiate port loss (Nilesh Javali) [1789526] - [scsi] scsi: qla2xxx: Add debug dump of LOGO payload and ELS IOCB (Nilesh Javali) [1789526] - [scsi] scsi: qla2xxx: Ignore PORT UPDATE after N2N PLOGI (Nilesh Javali) [1789526] - [scsi] scsi: qla2xxx: Don't defer relogin unconditonally (Nilesh Javali) [1789526] - [scsi] scsi: qla2xxx: Send Notify ACK after N2N PLOGI (Nilesh Javali) [1789526] - [scsi] scsi: qla2xxx: Configure local loop for N2N target (Nilesh Javali) [1789526] - [scsi] scsi: qla2xxx: Fix PLOGI payload and ELS IOCB dump length (Nilesh Javali) [1789526] - [scsi] scsi: qla2xxx: Don't call qlt_async_event twice (Nilesh Javali) [1789526] - [scsi] scsi: qla2xxx: Allow PLOGI in target mode (Nilesh Javali) [1789526] - [scsi] scsi: qla2xxx: Change discovery state before PLOGI (Nilesh Javali) [1789526] - [scsi] scsi: qla2xxx: Drop superfluous INIT_WORK of del_work (Nilesh Javali) [1789526] - [scsi] scsi: qla2xxx: Initialize free_work before flushing it (Nilesh Javali) [1789526] - [scsi] scsi: qla2xxx: Use explicit LOGO in target mode (Nilesh Javali) [1789526] - [scsi] scsi: qla2xxx: Ignore NULL pointer in tcm_qla2xxx_free_mcmd (Nilesh Javali) [1789526] - [scsi] scsi: qla2xxx: Fix qla2x00_request_irqs() for MSI (Nilesh Javali) [1789526] - [scsi] scsi: qla2xxx: unregister ports after GPN_FT failure (Nilesh Javali) [1789526] - [scsi] scsi: qla2xxx: fix rports not being mark as lost in sync fabric scan (Nilesh Javali) [1789526] - [s390] s390/kexec_file: fix initrd location for kdump kernel (Lianbo Jiang) [1835097]- [sound] ALSA: ALSA - update sound configuration (Jaroslav Kysela) [1797509] - [sound] ALSA: Revert "ALSA: Use the legacy HDA driver as default for Intel DSP platforms" (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: SOF: IPC: dai-intel: move ALH declarations in header file (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: SOF: add core id to sof_ipc_comp (Jaroslav Kysela) [1797509] - [sound] ALSA: compress: bump the version (Jaroslav Kysela) [1797509] - [sound] ALSA: compress: add alac & ape decoder params (Jaroslav Kysela) [1797509] - [sound] ALSA: compress: Add wma decoder params (Jaroslav Kysela) [1797509] - [sound] ALSA: compress: add wma codec profiles (Jaroslav Kysela) [1797509] - [sound] ALSA: soundwire: intel: remove X86 dependency (Jaroslav Kysela) [1797509] - [sound] ALSA: soundwire: depend on ACPI || OF (Jaroslav Kysela) [1797509] - [sound] ALSA: soundwire: depend on ACPI (Jaroslav Kysela) [1797509] - [sound] ALSA: soundwire: fix regmap dependencies and align with other serial links (Jaroslav Kysela) [1797509] - [sound] ALSA: treewide: Add SPDX license identifier - Makefile/Kconfig (Jaroslav Kysela) [1797509] - [sound] ALSA: soundwire: fix kconfig help format (Jaroslav Kysela) [1797509] - [sound] ALSA: soundwire: Kconfig: fix help format (Jaroslav Kysela) [1797509] - [sound] ALSA: soundwire: cadence: remove useless prototypes (Jaroslav Kysela) [1797509] - [sound] ALSA: soundwire: mipi_disco: Switch to use fwnode_property_count_uXX() (Jaroslav Kysela) [1797509] - [sound] ALSA: soundwire: stream: don't program ports when a stream that has not been prepared (Jaroslav Kysela) [1797509] - [sound] ALSA: soundwire: stream: fix support for multiple Slaves on the same link (Jaroslav Kysela) [1797509] - [sound] ALSA: soundwire: stream: do not update parameters during DISABLED-PREPARED transition (Jaroslav Kysela) [1797509] - [sound] ALSA: soundwire: stream: only prepare stream when it is configured (Jaroslav Kysela) [1797509] - [sound] ALSA: soundwire: stream: update state machine and add state checks (Jaroslav Kysela) [1797509] - [sound] ALSA: Documentation: soundwire: Ensure that code is inside the code blocks (Jaroslav Kysela) [1797509] - [sound] ALSA: Documentation: soundwire: fix stream.rst markup warnings (Jaroslav Kysela) [1797509] - [sound] ALSA: Documentation: soundwire: Add documentation for multi link (Jaroslav Kysela) [1797509] - [sound] ALSA: soundwire: stream: remove redundant pr_err traces (Jaroslav Kysela) [1797509] - [sound] ALSA: soundwire: stream: remove unnecessary variable initializations (Jaroslav Kysela) [1797509] - [sound] ALSA: soundwire: stream: fix disable sequence (Jaroslav Kysela) [1797509] - [sound] ALSA: soundwire: stream: fix bad unlock balance (Jaroslav Kysela) [1797509] - [sound] ALSA: soundwire: stream: use sdw_write instead of update (Jaroslav Kysela) [1797509] - [sound] ALSA: soundwire: intel: fix PDI/stream mapping for Bulk (Jaroslav Kysela) [1797509] - [sound] ALSA: soundwire: bus_type: fix alignment issues (Jaroslav Kysela) [1797509] - [sound] ALSA: soundwire: export helpers to find row and column values (Jaroslav Kysela) [1797509] - [sound] ALSA: soundwire: bus: check first if Slaves become UNATTACHED (Jaroslav Kysela) [1797509] - [sound] ALSA: soundwire: stream: Add read_only_wordlength flag to port properties (Jaroslav Kysela) [1797509] - [sound] ALSA: soundwire: bus: fix device number leak on errors (Jaroslav Kysela) [1797509] - [sound] ALSA: soundwire: sdw_slave: track unattach_request to handle all init sequences (Jaroslav Kysela) [1797509] - [sound] ALSA: soundwire: sdw_slave: add initialization_complete definition (Jaroslav Kysela) [1797509] - [sound] ALSA: soundwire: sdw_slave: add enumeration_complete structure (Jaroslav Kysela) [1797509] - [sound] ALSA: soundwire: sdw_slave: add probe_complete structure and new fields (Jaroslav Kysela) [1797509] - [sound] ALSA: soundwire: remove bitfield for unique_id, use u8 (Jaroslav Kysela) [1797509] - [sound] ALSA: soundwire: stream: make stream name a const pointer (Jaroslav Kysela) [1797509] - [sound] ALSA: soundwire: Add compute_params callback (Jaroslav Kysela) [1797509] - [sound] ALSA: soundwire: bus: provide correct return value on error (Jaroslav Kysela) [1797509] - [sound] ALSA: soundwire: add helper macros for devID fields (Jaroslav Kysela) [1797509] - [sound] ALSA: soundwire: bus: don't treat CMD_IGNORED as error on ClockStop (Jaroslav Kysela) [1797509] - [sound] ALSA: soundwire: bus: add clock stop helpers (Jaroslav Kysela) [1797509] - [sound] ALSA: soundwire: bus: fix io error when processing alert event (Jaroslav Kysela) [1797509] - [sound] ALSA: soundwire: avoid multiple assignments (Jaroslav Kysela) [1797509] - [sound] ALSA: soundwire: bus: disable pm_runtime in sdw_slave_delete (Jaroslav Kysela) [1797509] - [sound] ALSA: soundwire: bus: add helper to clear Slave status to UNATTACHED (Jaroslav Kysela) [1797509] - [sound] ALSA: soundwire: bus: write Slave Device Number without runtime_pm (Jaroslav Kysela) [1797509] - [sound] ALSA: soundwire: bus: add PM/no-PM versions of read/write functions (Jaroslav Kysela) [1797509] - [sound] ALSA: soundwire: bus: improve dynamic debug comments for enumeration (Jaroslav Kysela) [1797509] - [sound] ALSA: soundwire: bus: split handling of Device0 events (Jaroslav Kysela) [1797509] - [sound] ALSA: soundwire: bus: fix race condition with initialization_complete signaling (Jaroslav Kysela) [1797509] - [sound] ALSA: soundwire: bus: fix race condition with enumeration_complete signaling (Jaroslav Kysela) [1797509] - [sound] ALSA: soundwire: bus: fix race condition with probe_complete signaling (Jaroslav Kysela) [1797509] - [sound] ALSA: soundwire: ignore uniqueID when irrelevant (Jaroslav Kysela) [1797509] - [sound] ALSA: soundwire: slave: add helper to extract slave ID (Jaroslav Kysela) [1797509] - [sound] ALSA: soundwire: slave: fix scanf format (Jaroslav Kysela) [1797509] - [sound] ALSA: soundwire: slave: fix alignment issues (Jaroslav Kysela) [1797509] - [sound] ALSA: soundwire: core: add device tree support for slave devices (Jaroslav Kysela) [1797509] - [sound] ALSA: soundwire: bus: set initial value to port_status (Jaroslav Kysela) [1797509] - [sound] ALSA: soundwire: cadence: clear FIFO to avoid pop noise issue on playback start (Jaroslav Kysela) [1797509] - [sound] ALSA: soundwire: cadence: multi-link support (Jaroslav Kysela) [1797509] - [sound] ALSA: soundwire: cadence: commit changes in the exit_reset() sequence (Jaroslav Kysela) [1797509] - [sound] ALSA: soundwire: cadence: remove automatic command retries (Jaroslav Kysela) [1797509] - [sound] ALSA: soundwire: cadence: remove PREQ_DELAY assignment (Jaroslav Kysela) [1797509] - [sound] ALSA: soundwire: cadence: enable NORMAL operation in cdns_init() (Jaroslav Kysela) [1797509] - [sound] ALSA: soundwire: cadence: reorder MCP_CONFIG settings (Jaroslav Kysela) [1797509] - [sound] ALSA: soundwire: cadence: make SSP interval programmable (Jaroslav Kysela) [1797509] - [sound] ALSA: soundwire: cadence: move clock/SSP related inits to dedicated function (Jaroslav Kysela) [1797509] - [sound] ALSA: soundwire: cadence: merge routines to clear/set bits (Jaroslav Kysela) [1797509] - [sound] ALSA: soundwire: cadence: mask Slave interrupt before stopping clock (Jaroslav Kysela) [1797509] - [sound] ALSA: soundwire: cadence: fix a io timeout issue in S3 test (Jaroslav Kysela) [1797509] - [sound] ALSA: soundwire: cadence: add clock_stop/restart routines (Jaroslav Kysela) [1797509] - [sound] ALSA: soundwire: cadence: handle error cases with CONFIG_UPDATE (Jaroslav Kysela) [1797509] - [sound] ALSA: soundwire: cadence: add interface to check clock status (Jaroslav Kysela) [1797509] - [sound] ALSA: soundwire: cadence: simplifiy cdns_init() (Jaroslav Kysela) [1797509] - [sound] ALSA: soundwire: cadence: s/update_config/config_update (Jaroslav Kysela) [1797509] - [sound] ALSA: soundwire: cadence: fix kernel-doc parameter descriptions (Jaroslav Kysela) [1797509] - [sound] ALSA: soundwire: cadence: remove useless variable incrementation (Jaroslav Kysela) [1797509] - [sound] ALSA: soundwire: cadence: update kernel-doc parameter descriptions (Jaroslav Kysela) [1797509] - [sound] ALSA: soundwire: cadence_master: handle multiple status reports per Slave (Jaroslav Kysela) [1797509] - [sound] ALSA: soundwire: cadence_master: remove config update for interrupt setting (Jaroslav Kysela) [1797509] - [sound] ALSA: soundwire: cadence_master: log more useful information during timeouts (Jaroslav Kysela) [1797509] - [sound] ALSA: soundwire: cadence_master: clear interrupt status before enabling interrupt (Jaroslav Kysela) [1797509] - [sound] ALSA: soundwire: cadence_master: filter out bad interrupts (Jaroslav Kysela) [1797509] - [sound] ALSA: soundwire: cadence_master: make clock stop exit configurable on init (Jaroslav Kysela) [1797509] - [sound] ALSA: soundwire: intel: free all resources on hw_free() (Jaroslav Kysela) [1797509] - [sound] ALSA: soundwire: intel: add sdw_stream_setup helper for .startup callback (Jaroslav Kysela) [1797509] - [sound] ALSA: soundwire: intel: add trigger support in sdw dai driver (Jaroslav Kysela) [1797509] - [sound] ALSA: soundwire: intel: add prepare support in sdw dai driver (Jaroslav Kysela) [1797509] - [sound] ALSA: soundwire: intel: rename res field as link_res (Jaroslav Kysela) [1797509] - [sound] ALSA: soundwire: intel: fix factor of two in MCLK handling (Jaroslav Kysela) [1797509] - [sound] ALSA: soundwire: intel: update stream callbacks for hwparams/free stream operations (Jaroslav Kysela) [1797509] - [sound] ALSA: soundwire: intel: update interfaces between ASoC and SoundWire (Jaroslav Kysela) [1797509] - [sound] ALSA: soundwire: fix typo in comments (Jaroslav Kysela) [1797509] - [sound] ALSA: soundwire: intel: use correct header for io calls (Jaroslav Kysela) [1797509] - [sound] ALSA: soundwire: intel_init: add kernel module parameter to filter out links (Jaroslav Kysela) [1797509] - [sound] ALSA: soundwire: intel_init: add checks on link numbers (Jaroslav Kysela) [1797509] - [sound] ALSA: soundwire: intel: filter SoundWire controller device search (Jaroslav Kysela) [1797509] - [sound] ALSA: soundwire: intel: remove empty line after braces (Jaroslav Kysela) [1797509] - [sound] ALSA: soundwire: intel_init: fix alignment issues (Jaroslav Kysela) [1797509] - [sound] ALSA: soundwire: intel: add helper for initialization (Jaroslav Kysela) [1797509] - [sound] ALSA: soundwire: intel: fix intel_register_dai PDI offsets and numbers (Jaroslav Kysela) [1797509] - [sound] ALSA: soundwire: intel/cadence: add flag for interrupt enable (Jaroslav Kysela) [1797509] - [sound] ALSA: soundwire: intel: remove playback/capture stream_name (Jaroslav Kysela) [1797509] - [sound] ALSA: soundwire: remove DAI_ID_RANGE definitions (Jaroslav Kysela) [1797509] - [sound] ALSA: soundwire: intel: add missing headers for cross-compilation (Jaroslav Kysela) [1797509] - [sound] ALSA: soundwire: intel: handle disabled links (Jaroslav Kysela) [1797509] - [sound] ALSA: soundwire: intel: add debugfs register dump (Jaroslav Kysela) [1797509] - [sound] ALSA: soundwire: intel: remove unused variables (Jaroslav Kysela) [1797509] - [sound] ALSA: soundwire: intel: more alignment fixes (Jaroslav Kysela) [1797509] - [sound] ALSA: soundwire: cadence_master: add hw_reset capability in debugfs (Jaroslav Kysela) [1797509] - [sound] ALSA: soundwire: intel/cadence: fix startup sequence (Jaroslav Kysela) [1797509] - [sound] ALSA: soundwire: cadence_master: improve PDI allocation (Jaroslav Kysela) [1797509] - [sound] ALSA: soundwire: intel: don't filter out PDI0/1 (Jaroslav Kysela) [1797509] - [sound] ALSA: soundwire: cadence/intel: simplify PDI/port mapping (Jaroslav Kysela) [1797509] - [sound] ALSA: soundwire: cadence_master: add debugfs register dump (Jaroslav Kysela) [1797509] - [sound] ALSA: soundwire: intel: move shutdown() callback and don't export symbol (Jaroslav Kysela) [1797509] - [sound] ALSA: soundwire: fix alignment issues in header files (Jaroslav Kysela) [1797509] - [sound] ALSA: soundwire: fix SPDX license for header files (Jaroslav Kysela) [1797509] - [sound] ALSA: soundwire: cadence_master: add kernel parameter to override interrupt mask (Jaroslav Kysela) [1797509] - [sound] ALSA: soundwire: cadence_master: fix divider setting in clock register (Jaroslav Kysela) [1797509] - [sound] ALSA: soundwire: cadence_master: make use of mclk_freq property (Jaroslav Kysela) [1797509] - [sound] ALSA: soundwire: cadence_master: use firmware defaults for frame shape (Jaroslav Kysela) [1797509] - [sound] ALSA: soundwire: cadence_master: revisit interrupt settings (Jaroslav Kysela) [1797509] - [sound] ALSA: soundwire: cadence_master: fix definitions for INTSTAT0/1 (Jaroslav Kysela) [1797509] - [sound] ALSA: soundwire: cadence_master: fix register definition for SLAVE_STATE (Jaroslav Kysela) [1797509] - [sound] ALSA: soundwire: cadence_master: simplify bus clash interrupt clear (Jaroslav Kysela) [1797509] - [sound] ALSA: soundwire: cadence_master: check the number of bidir PDIs (Jaroslav Kysela) [1797509] - [sound] ALSA: soundwire: cadence_master: log Slave status mask on errors (Jaroslav Kysela) [1797509] - [sound] ALSA: soundwire: cadence_master: use rate_limited dynamic debug (Jaroslav Kysela) [1797509] - [sound] ALSA: soundwire: cadence_master: remove spurious newline (Jaroslav Kysela) [1797509] - [sound] ALSA: soundwire: cadence_master: fix boolean comparisons (Jaroslav Kysela) [1797509] - [sound] ALSA: soundwire: cadence_master: balance parentheses (Jaroslav Kysela) [1797509] - [sound] ALSA: soundwire: cadence_master: fix alignment issues (Jaroslav Kysela) [1797509] - [sound] ALSA: soundwire: cdns: Fix compilation error on arm64 (Jaroslav Kysela) [1797509] - [sound] ALSA: soundwire: cadence: remove empty line after braces (Jaroslav Kysela) [1797509] - [sound] ALSA: soundwire: intel: read mclk_freq property from firmware (Jaroslav Kysela) [1797509] - [sound] ALSA: soundwire: intel: fix channel number reported by hardware (Jaroslav Kysela) [1797509] - [sound] ALSA: soundwire: intel: prevent possible dereference in hw_params (Jaroslav Kysela) [1797509] - [sound] ALSA: soundwire: intel: remove BIOS work-arounds (Jaroslav Kysela) [1797509] - [sound] ALSA: soundwire: intel: set dai min and max channels correctly (Jaroslav Kysela) [1797509] - [sound] ALSA: soundwire: Intel: add log for number of PCM and PDM PDIs (Jaroslav Kysela) [1797509] - [sound] ALSA: soundwire: add debugfs support (Jaroslav Kysela) [1797509] - [sound] ALSA: soundwire: add new mclk_freq field for properties (Jaroslav Kysela) [1797509] - [sound] ALSA: soundwire: include mod_devicetable.h to avoid compiling warnings (Jaroslav Kysela) [1797509] - [sound] ALSA: soundwire: rename/clarify MIPI DisCo properties (Jaroslav Kysela) [1797509] - [sound] ALSA: soundwire: clarify comment (Jaroslav Kysela) [1797509] - [sound] ALSA: soundwire: mipi-disco: fix clock stop modes (Jaroslav Kysela) [1797509] - [sound] ALSA: soundwire: mipi-disco: remove master_count property for masters (Jaroslav Kysela) [1797509] - [sound] ALSA: soundwire: remove master data port properties (Jaroslav Kysela) [1797509] - [sound] ALSA: soundwire: add port-related definitions (Jaroslav Kysela) [1797509] - [sound] ALSA: soundwire: wrap macro argument in parenthesis (Jaroslav Kysela) [1797509] - [sound] ALSA: soundwire: rename 'freq' fields (Jaroslav Kysela) [1797509] - [sound] ALSA: soundwire: mipi_disco: fix master/link error (Jaroslav Kysela) [1797509] - [sound] ALSA: soundwire: mipi_disco: fix boolean comparisons (Jaroslav Kysela) [1797509] - [sound] ALSA: soundwire: mipi_disco: fix alignment issues (Jaroslav Kysela) [1797509] - [sound] ALSA: soundwire: stream: fix out of boundary access on port properties (Jaroslav Kysela) [1797509] - [sound] ALSA: soundwire: add a blank line between functions (Jaroslav Kysela) [1797509] - [sound] ALSA: soundwire: fix more typos (Jaroslav Kysela) [1797509] - [sound] ALSA: soundwire: more alignment fixes (Jaroslav Kysela) [1797509] - [sound] ALSA: soundwire: remove empty line before/after braces (Jaroslav Kysela) [1797509] - [sound] ALSA: soundwire: add missing newlines in dynamic debug logs (Jaroslav Kysela) [1797509] - [sound] ALSA: soundwire: stream: fix alignment issues (Jaroslav Kysela) [1797509] - [sound] ALSA: soundwire: stream: remove useless initialization of local variable (Jaroslav Kysela) [1797509] - [sound] ALSA: soundwire: intel: fix boolean comparison (Jaroslav Kysela) [1797509] - [sound] ALSA: soundwire: intel: protect macro parameters (Jaroslav Kysela) [1797509] - [sound] ALSA: soundwire: intel: fix alignment issues (Jaroslav Kysela) [1797509] - [sound] ALSA: soundwire: intel: fix implicit header use of module.h/export.h (Jaroslav Kysela) [1797509] - [sound] ALSA: soundwire: intel: fix inversion in devm_kcalloc parameters (Jaroslav Kysela) [1797509] - [sound] ALSA: soundwire: bus: remove spurious newline (Jaroslav Kysela) [1797509] - [sound] ALSA: soundwire: bus: fix boolean comparisons (Jaroslav Kysela) [1797509] - [sound] ALSA: soundwire: bus: remove useless parentheses (Jaroslav Kysela) [1797509] - [sound] ALSA: soundwire: bus: fix typos in comments (Jaroslav Kysela) [1797509] - [sound] ALSA: soundwire: bus: fix alignment issues (Jaroslav Kysela) [1797509] - [sound] ALSA: soundwire: remove useless initializations (Jaroslav Kysela) [1797509] - [sound] ALSA: soundwire: fix SPDX license for header files (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: qcom: q6asm-dai: Add SNDRV_PCM_INFO_BATCH flag (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: qcom: q6asm-dai: add support for ALAC and APE decoders (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: qcom: q6asm-dai: add support to wma decoder (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: qdsp6: q6asm-dai: only enable dais from device tree (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: qcom: q6asm: add support for alac and ape configs (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: qcom: q6asm: add support to wma config (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: qcom: q6asm: pass codec profile to q6asm_open_write (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: qdsp6: q6routing: remove default routing (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: sprd: Allow the MCDT driver to build into modules (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: q6dsp6: q6afe-dai: add missing channels to MI2S DAIs (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: qcom: lpass-platform: use for_each_pcm_streams() macro (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: qcom: common: Silence duplicate parse error messages (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: qcom: use asoc_rtd_to_cpu() / asoc_rtd_to_codec() macro for DAI pointer (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: qcom: sdm845: handle soundwire stream (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: samsung: Update dependencies for Arizona machine drivers (Jaroslav Kysela) [1797509] - [sound] ALSA: soundwire: qcom: add support for get_sdw_stream() (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: qcom: use for_each_rtd_codecs/cpus_dai() macro (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: soundwaire: qcom: use for_each_rtd_codec_dai() macro (Jaroslav Kysela) [1797509] - [sound] ALSA: soundwire: qcom: add support for SoundWire controller (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: qcom: sdm845: use for_each_rtd_codec_dai() macro (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: rockchip: use asoc_rtd_to_cpu() / asoc_rtd_to_codec() macro for DAI pointer (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: samsung: s3c24xx-i2s: Fix build after removal of DAI suspend/resume (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: samsung: use asoc_rtd_to_cpu() / asoc_rtd_to_codec() macro for DAI pointer (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: samsung: Silence warnings during deferred probe (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: sh: fsi: Restore devm_ioremap() alignment (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: sh: use asoc_rtd_to_cpu() / asoc_rtd_to_codec() macro for DAI pointer (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: rsnd: dma: set bus width to data width for monaural data (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: rsnd: Fix "status check failed" spam for multi-SSI (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: rsnd: Don't treat master SSI in multi SSI setup as parent (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: rsnd: Fix parent SSI start/stop in multi-SSI mode (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: rsnd: Fix HDMI channel mapping for multi-SSI mode (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: sprd: use asoc_rtd_to_cpu() / asoc_rtd_to_codec() macro for DAI pointer (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: stm32: i2s: manage rebind issue (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: stm32: i2s: improve error management on probe deferral (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: stm32: i2s: manage error when getting reset controller (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: stm32: sai: manage error when getting reset controller (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: stm32: sai: improve error management on probe deferral (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: stm32: sai: fix sai probe (Jaroslav Kysela) [1797509] - [sound] ALSA: soc/stm/stm32_sub_sai: Add missing '\n' in log messages (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: stm32: sai: Add missing cleanup (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: stm: use asoc_rtd_to_cpu() / asoc_rtd_to_codec() macro for DAI pointer (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: stm32: spdifrx: manage rebind issue (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: stm32: spdifrx: fix regmap status check (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: stm32: spdifrx: improve error management on probe deferral (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: stm32: spdifrx: manage error when getting reset controller (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: sunxi: use asoc_rtd_to_cpu() / asoc_rtd_to_codec() macro for DAI pointer (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: sun8i-codec: Remove unused dev from codec struct (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: tegra: tegra_wm8903: Support DAPM events for built-in microphone (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: tegra: use asoc_rtd_to_cpu() / asoc_rtd_to_codec() macro for DAI pointer (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: ti: davinci-mcasp: remove redundant assignment to variable ret (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: ti: davinci-mcasp: Add support for platforms using UDMA (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: ti: Add udma-pcm platform driver for UDMA (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: ti: use asoc_rtd_to_cpu() / asoc_rtd_to_codec() macro for DAI pointer (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: txx9: use asoc_rtd_to_cpu() / asoc_rtd_to_codec() macro for DAI pointer (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: uniphier: use asoc_rtd_to_cpu() / asoc_rtd_to_codec() macro for DAI pointer (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: ux500: use asoc_rtd_to_cpu() / asoc_rtd_to_codec() macro for DAI pointer (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: xtensa: use asoc_rtd_to_cpu() / asoc_rtd_to_codec() macro for DAI pointer (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: zte: zx-spdif: remove redundant dev_err message (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: zte: zx-tdm: remove redundant variables dev (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: qcom: apq8016_sbc: use for_each_rtd_codec_dai() macro (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: pxa: use asoc_rtd_to_cpu() / asoc_rtd_to_codec() macro for DAI pointer (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: mxs: use asoc_rtd_to_cpu() / asoc_rtd_to_codec() macro for DAI pointer (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: mediatek: use asoc_rtd_to_cpu() / asoc_rtd_to_codec() macro for DAI pointer (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: mediatek: use for_each_rtd_codecs/cpus_dai() macro (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: mediatek: mt8183-da7219-max98357: use for_each_rtd_codec_dai() macro (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: mediatek: mt8183-da7219: use SND_SOC_DAPM_PINCTRL in TDM out (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: mediatek: mt8183-da7219: apply some refactors (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: mediatek: mt8183-da7219: pull TDM GPIO pins down when probed (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: mediatek: mt8183-da7219: change supported formats of DL2 and UL1 (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: mediatek: mt8183-da7219: add speaker switch (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: mediatek: mt8173-rt5650: support HDMI jack reporting (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: kirkwood: use asoc_rtd_to_cpu() / asoc_rtd_to_codec() macro for DAI pointer (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: jz4740-i2s: Add support for the JZ4770 (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: jz4740-i2s: Add support for the JZ4760 (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: jz4740-i2s: Avoid passing enum as match data (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: jz4740-i2s: Add local dev variable in probe function (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: jz4740: Use of_device_get_match_data() (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: jz4740-i2s: Fix divider written at incorrect offset in register (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: img: use asoc_rtd_to_cpu() / asoc_rtd_to_codec() macro for DAI pointer (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: generic: use asoc_rtd_to_cpu() / asoc_rtd_to_codec() macro for DAI pointer (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: simple-card-utils: use for_each_pcm_streams() (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: simple-card: Add support for codec2codec DAI links (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: fsl: fsl_asrc_dma: use for_each_pcm_streams() macro (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: fsl: use asoc_rtd_to_cpu() / asoc_rtd_to_codec() macro for DAI pointer (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: dwc: use asoc_rtd_to_cpu() / asoc_rtd_to_codec() macro for DAI pointer (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: dwc: dwc-i2s: use for_each_pcm_streams() macro (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: cirrus: use asoc_rtd_to_cpu() / asoc_rtd_to_codec() macro for DAI pointer (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: bcm: Fix pointer cast warning (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: bcm: use asoc_rtd_to_cpu() / asoc_rtd_to_codec() macro for DAI pointer (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: brcm: Add DSL/PON SoC audio driver (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: au1x: use asoc_rtd_to_cpu() / asoc_rtd_to_codec() macro for DAI pointer (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: mchp-i2s-mcc: make signed 1 bit bitfields unsigned (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: atmel: use asoc_rtd_to_cpu() / asoc_rtd_to_codec() macro for DAI pointer (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: amd: Allow I2S wake event after ACP is powerd On (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: amd: acp3x-pcm-dma: clean up two indentation issues (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: AMD: Clear format bits before setting them (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: amd: Adding TDM support in hw_params (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: amd: Fix button configuration (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: amd: use asoc_rtd_to_cpu() / asoc_rtd_to_codec() macro for DAI pointer (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoc: amd: acp3x: Add missing include (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: amd: Fix compile warning of argument type (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoc: amd: Add DMIC switch capability to machine driver (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: amd: Add machine driver for Raven based platform (Jaroslav Kysela) [1797509] - [sound] ALSA: usx2y: use for_each_pcm_streams() macro (Jaroslav Kysela) [1797509] - [sound] ALSA: usx2y: Fix potential NULL dereference (Jaroslav Kysela) [1797509] - [sound] ALSA: usb-audio: Add registration quirk for Kingston HyperX Cloud Alpha S (Jaroslav Kysela) [1797509] - [sound] ALSA: usb-audio: Apply async workaround for Scarlett 2i4 2nd gen (Jaroslav Kysela) [1797509] - [sound] ALSA: usb-audio: Correct a typo of NuPrime DAC-10 USB ID (Jaroslav Kysela) [1797509] - [sound] ALSA: usb-audio: Add Pioneer DJ DJM-250MK2 quirk (Jaroslav Kysela) [1797509] - [sound] ALSA: usb-audio: Add quirk for Focusrite Scarlett 2i2 (Jaroslav Kysela) [1797509] - [sound] ALSA: usb-audio: Use pcm_for_each_format() macro for PCM format iterations (Jaroslav Kysela) [1797509] - [sound] ALSA: usb-audio: Fix missing braces in some struct inits (Jaroslav Kysela) [1797509] - [sound] ALSA: usb-audio: Fix usb audio refcnt leak when getting spdif (Jaroslav Kysela) [1797509] - [sound] ALSA: usb-audio: Add connector notifier delegation (Jaroslav Kysela) [1797509] - [sound] ALSA: usb-audio: Add static mapping table for ALC1220-VB-based mobos (Jaroslav Kysela) [1797509] - [sound] ALSA: usb-audio: Check mapping at creating connector controls, too (Jaroslav Kysela) [1797509] - [sound] ALSA: usb-audio: Add mixer workaround for TRX40 and co (Jaroslav Kysela) [1797509] - [sound] ALSA: usb-audio: Don't create jack controls for PCM terminals (Jaroslav Kysela) [1797509] - [sound] ALSA: usb-audio: Don't override ignore_ctl_error value from the map (Jaroslav Kysela) [1797509] - [sound] ALSA: usb-audio: Filter error from connector kctl ops, too (Jaroslav Kysela) [1797509] - [sound] ALSA: usb-audio: Fix mixer controls' USB interface for Kingston HyperX Amp (0951:16d8) (Jaroslav Kysela) [1797509] - [sound] ALSA: usb-audio: Parse source ID of UAC2 effect unit (Jaroslav Kysela) [1797509] - [sound] ALSA: usb: audio-v2: Add uac2_effect_unit_descriptor definition (Jaroslav Kysela) [1797509] - [sound] ALSA: usb-audio: Don't create a mixer element with bogus volume range (Jaroslav Kysela) [1797509] - [sound] ALSA: usb-audio: Fix case when USB MIDI interface has more than one extra endpoint descriptor (Jaroslav Kysela) [1797509] - [sound] ALSA: usb-midi: Replace zero-length array with flexible-array member (Jaroslav Kysela) [1797509] - [sound] ALSA: line6: Fix POD HD500 audio playback (Jaroslav Kysela) [1797509] - [sound] ALSA: line6: Fix endless MIDI read loop (Jaroslav Kysela) [1797509] - [sound] ALSA: usb-audio: Filter out unsupported sample rates on Focusrite devices (Jaroslav Kysela) [1797509] - [sound] ALSA: usb-audio: Add support for Presonus Studio 1810c (Jaroslav Kysela) [1797509] - [sound] ALSA: usb-audio: Add support for MOTU MicroBook IIc (Jaroslav Kysela) [1797509] - [sound] ALSA: usb-audio: Inform devices that need delayed registration (Jaroslav Kysela) [1797509] - [sound] ALSA: usb-audio: Add delayed_register option (Jaroslav Kysela) [1797509] - [sound] ALSA: usb-audio: Rewrite registration quirk handling (Jaroslav Kysela) [1797509] - [sound] ALSA: usb-audio: Create a registration quirk for Kingston HyperX Amp (0951:16d8) (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: wcd9335: fix address map representation (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: wcd934x: Remove some unnecessary NULL checks (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: wcd934x: remove unused headers (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: wcd934x: fix High Accuracy Buck enable (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: wcd934x: Remove set but not unused variable 'hph_comp_ctrl7' (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: wm0010: Replace zero-length array with flexible-array member (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: wm8960: Fix wrong clock after suspend & resume (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: codecs: wsa881x: remove soundwire stream handling (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: codecs: wsa881x: request gpio direction before setting (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: wsa881x: mark read_only_wordlength flag (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: wm8974: remove unused variables (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: wm_adsp: Use scnprintf() for the limited buffer output (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: tas571x: disable regulators on failed probe (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: tas2562: Fixed incorrect amp_level setting (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: tas2562: Add support for ISENSE and VSENSE (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: tas2562: Add entries for the TAS2563 audio amplifier (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: tas2562: Add support for digital volume control (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: sgtl5000: Fix VAG power-on handling (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: rt1015: modify some structure to be static (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: Fix SND_SOC_ALL_CODECS imply ac97 fallout (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: wm89xx: Add missing dependency (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: rt5682: fix unmet dependencies (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: Fix SND_SOC_ALL_CODECS imply misc fallout (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: adau7118: Fix Kconfig warning without CONFIG_I2C (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: Fix SND_SOC_ALL_CODECS imply I2C fallout (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: Fix SND_SOC_ALL_CODECS imply SPI fallout (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: rt5682-sdw: fix 'defined but not used' pm functions (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: rt5682: Make rt5682_clock_config static (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: rt5682: Fix build error without CONFIG_I2C (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: rt5682: move DAI clock registry to I2S mode (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: rt5682: Add a property for DMIC delay (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: rt5682: Add a property for DMIC clock rate (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: rt5682: remove noisy debug messages (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: rt5682: fix the random recording noise of headset (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: rt5682: Fine tune the HP performance in soundwire mode (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: rt5682: Revise the DAC1 volume setting (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: rt5682: Revise the function name (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: rt5682: Add the soundwire support (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: Use imply for SND_SOC_ALL_CODECS (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: rt5682: Add CCF usage for providing I2S clks (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: rt5682: Enable PLL2 function (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: rt5682: Add the field "is_sdw" of private data (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: rt5659: remove redundant assignment to variable idx (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: rt5645: Add platform-data for Medion E1239T (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: rt1308-sdw: use slot and rx_mask to configure stream (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: rt1308-sdw: add set_tdm_slot() support (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: rt1015: fix typo for bypass boost control (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: rl6231: Add new supports on rl6231 (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: rockchip: Make RK3328 GPIO_MUTE control explicit (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: MT6660: make spdxcheck.py happy (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: MT6660 update to 1.0.8_G (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: max98357a: Add ACPI HID MAX98360A (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: max98357a: move control of SD_MODE to DAPM (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: codecs: hdac_hdmi: Fix incorrect use of list_for_each_entry (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: codecs: hdac_hdmi: (cosmetic) remove redundant variable initialisations (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: codecs: use asoc_rtd_to_cpu() / asoc_rtd_to_codec() macro for DAI pointer (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: cs4270: pull reset GPIO low then high (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: SOF: Intel: hda: allow operation without i915 gfx (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: SOF: Intel: hda: fix ordering bug in resume flow (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: SOF: Intel: hda: add parameter to control SoundWire clock stop quirks (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: SOF: Intel: hda: initial SoundWire machine driver autodetect (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: SOF: Intel: hda: add SoundWire stream config/free callbacks (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: SOF: Intel: Account for compress streams when servicing IRQs (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: SOF: Intel: Fix stream cleanup on hw free (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: SOF: Intel: hda-loader: clear the IPC ack bit after FW_PURGE done (Jaroslav Kysela) [1797509] - [sound] ALSA: Asoc: SOF: Intel: hda: check SoundWire wakeen interrupt in irq thread (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: SOF: Intel: hda: add WAKEEN interrupt support for SoundWire (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: SOF: Intel: hda: merge IPC, stream and SoundWire interrupt handlers (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: SOF: Intel: add SoundWire configuration interface (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: SOF: Intel: Expose SDnFMT helpers (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: SOF: Fix probe point getter (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: SOF: pcm: skip DMA buffer pre-allocation (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: SOF: Turn "firmware boot complete" message into a dbg message (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: SOF: ipc: check ipc return value before data copy (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: sof: sof-audio: use for_each_pcm_streams() macro (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: SOF: Do not reset hw_params for streams that ignored suspend (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: SOF: audio: Add helper to check if only D0i3 streams are active (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: SOF: Add i.MX8QM device descriptor (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: SOF: Remove SOF_IPC_EXT_DMA_BUFFER (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: SOF: Make sof_ipc_ext_data enum more rigid (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: SOF: fix uninitialised "work" with VirtIO (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: SOF: (cosmetic) use for_each_pcm_streams() in sof_dai_load() (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: SOF: topology: connect dai widget to all cpu-dais (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: SOF: Intel: hda: remove unnecessary ROM IPC filter function (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: SOF: Intel: hda-dai: add stream capability (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: SOF: Intel: hda-ctrl: add reset cycle before parsing capabilities (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: SOF: Intel: hda: call codec wake at chip init (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: SOF: Intel: hda: do not leave clock gating off upon error (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: SOF: Intel: hda: disable SoundWire interrupts on suspend (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: sof: use asoc_rtd_to_cpu() / asoc_rtd_to_codec() macro for DAI pointer (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: SOF: Intel: hda: Improve DSP state logging (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: SOF: Intel: hda: use snd_sof_dsp_set_power_state() op (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: SOF: Intel: hda: Allow trace DMA in S0 when DSP is in D0I3 for debug (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: SOF: Intel: hda: Amend the DSP state transition diagram (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: SOF: Intel: cnl: Implement feature to support DSP D0i3 in S0 (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: SOF: Intel: remove unnecessary waitq before loading firmware (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: SOF: Intel: add min/max channels for SSP on Baytrail/Broadwell (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: SOF: Intel: hda: remove SND_SOC_SOF_HDA_COMMON_HDMI_CODEC (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: SOF: Intel: Probe compress operations (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: Fix Kconfig indentation (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: SOF: imx8: Add ops for i.MX8QM (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: SOF: Rename i.MX8 platform to i.MX8X (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: SOF: Provide probe debugfs support (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: SOF: Move DSP power state transitions to platform-specific ops (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: SOF: pm: Introduce DSP power states (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: SOF: pm: Unify suspend/resume routines (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: SOF: Intel: Add Probe compress CPU DAIs (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: SOF: Generic probe compress operations (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: SOF: Implement Probe IPC API (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: Intel: use for_each_rtd_codecs/cpus_dai() macro (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: intel: kbl_da7219_max98927: use for_each_rtd_codec_dai() macro (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: intel: cml_rt1011_rt5682: use for_each_rtd_codec_dai() macro (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: Intel: haswell: Remove ignore_suspend flag from SSP0 dai link (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: Intel: BXT: switch pcm512x based boards to sof_pcm512x (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: Intel: CHT: add support for pcm512x boards (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: intel: soc-acpi-intel-icl-match: remove useless 'rt1308_2_adr' (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: Intel: soc-acpi-intel-cml-match: remove useless 'rt1308_2_adr' (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: Intel: sof_pcm512x: drop reverse deps for SND_HDA_CODEC_HDMI (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: Intel: sof_rt5682: Add support for tgl-max98373-rt5682 (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: Intel: sof_rt5682: Add rt1015 speaker amp support (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: Intel: boards: drop reverse deps for SND_HDA_CODEC_HDMI (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: Intel: sof_sdw: Add Volteer support with RT5682 SNDW helper function (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: Intel: boards: add sof_sdw machine driver (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: Intel: common: add match table for TGL RT5682 SoundWire driver (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: Intel: soc-acpi: update topology and driver name for SoundWire platforms (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: Intel: common: Add mach table for tgl-max98373-rt5682 (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: soc-acpi: expand description of _ADR-based devices (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: Intel: Skylake: Await purge request ack on CNL (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: Intel: Allow for ROM init retry on CNL platforms (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: Intel: skylake: (cosmetic) remove redundant variable initialisations (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: Intel: Skylake: Enable codec wakeup during chip init (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: Intel: Skylake: Select hda configuration permissively (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: Intel: Skylake: Remove superfluous chip initialization (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: Intel: Skylake: Shield against no-NHLT configurations (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: intel: sof_da7219_max98373: Add speaker switch (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: Intel: sof_da7219_max98373: Add support for max98360a speaker amp (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: Intel: skl_nau88l25_ssm4567: disable route checks (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: intel/skl/hda - add no-HDMI cases to generic HDA driver (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: Intel: Make glk+rt5682 echo ref dynamic (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: Intel: don't use GFP_ATOMIC for machine driver contexts (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: Intel: bytcr_rt5640: Add quirk for MPMAN MPWIN895CL tablet (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: Intel: broadwell: Remove ignore_suspend flag from SSP0 dai link (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: Intel: broadwell: Revert back SSP0 link to use dummy components (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: Intel: bdw-rt5677: Remove ignore_suspend flag from SSP0 dai link (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: Intel: bdw-rt5677: Revert SSP0 link to use dummy components (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: Intel: bdw-rt5650: Remove ignore_suspend flag from SSP0 dai link (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: Intel: bdw-rt5650: Revert SSP0 link to use dummy components (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: Intel: (cosmetic) simplify structure member access (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: Intel: atom: Fix uninitialized variable compiler warning (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: Intel: mrfld: return error codes when an error occurs (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: intel: use asoc_rtd_to_cpu() / asoc_rtd_to_codec() macro for DAI pointer (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: Intel: sof_pcm512x: make HDMI optional for all platforms (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: Intel: sof_pcm512x: add support for SOF platforms with pcm512x (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: Intel: mrfld: fix incorrect check on p->sink (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: Intel: atom: Check drv->lock is locked in sst_fill_and_send_cmd_unlocked (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: Intel: atom: Take the drv->lock mutex before calling sst_send_slot_map() (Jaroslav Kysela) [1797509] - [sound] ALSA: hda: Use scnprintf() for string truncation (Jaroslav Kysela) [1797509] - [sound] ALSA: hda: Allow setting preallocation again for x86 (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: topology: Fix endianness issue (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: topology: Check return value of soc_tplg_dai_config (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: topology: Check return value of pcm_new_ver (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: topology: Add missing memory checks (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: topology: Check soc_tplg_add_route return value (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: topology: Check return value of soc_tplg_*_create (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: topology: Check return value of soc_tplg_create_tlv (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: topology: use name_prefix for new kcontrol (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: topology: Perform component check upfront (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: fix regwmask (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: soc-generic-dmaengine-pcm: use for_each_pcm_streams() macro (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: soc-dapm: Merge for_each_rtd_cpu/codec_dais() (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: dapm: Remove dapm_connect_dai_link_widgets helper (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: dapm: Move error message to avoid some duplication (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: dapm: select sleep_state when initializing PINCTRL widget (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: dapm: connect virtual mux with default value (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: dapm: fixup dapm kcontrol widget (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: soc-dai: revert all changes to DAI startup/shutdown sequence (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: soc-dai: fix DAI startup/shutdown sequence (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: soc-dai: return proper error for get_sdw_stream() (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: soc-dai: add get_sdw_stream() callback (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: export DPCM runtime update functions (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: dpcm: allow start or stop during pause for backend (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: soc-pcm: Merge for_each_rtd_cpu/codec_dais() (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: (cosmetic) simplify dpcm_prune_paths() (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: soc-core: Merge for_each_rtd_cpu/codec_dais() (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: soc-core: Merge CPU/Codec for soc_dai_pcm_new() (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: dapm: Fix regression introducing multiple copies of DAI widgets (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: soc-core: add asoc_rtd_to_cpu/codec() macro (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: soc-core: Merge CPU/Codec DAIs (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: soc-dapm: add for_each_card_widgets() macro (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: soc-dapm: add for_each_card_dapms() macro (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: soc.h: remove non plural form for_each_xxx macro (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: soc.h: add for_each_rtd_codecs/cpus_dai() macro (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: soc: use for_each_rtd_codecs/cpus_dai() macro (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: soc-core: disable route checks for legacy devices (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: Add initial support for multiple CPU DAIs (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: fix card registration regression (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: soc-core: use for_each_pcm_streams() macro (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: soc-dapm: don't use rtd->cpu_dai on for_each_rtd_cpu_dai() (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: Add multiple CPU DAI support in DAPM (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: Add dapm_add_valid_dai_widget helper (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: soc-pcm: Do Digital Mute for both CPU/Codec in same timing (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: soc-pcm: check DAI's activity more simply (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: soc-pcm: tidyup dulicate handing at dpcm_fe_dai_startup() (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: soc-pcm: use snd_soc_dai_get_pcm_stream() at dpcm_set_fe_runtime() (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: soc-pcm: add dpcm_fe_dai_cleanup() (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: soc-pcm: move dpcm_fe_dai_close() (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: pcm: Export parameter intersection logic (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: soc-pcm: remove duplicate be check from dpcm_add_paths() (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: soc-pcm: use defined stream (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: pcm: check if cpu-dai supports a given stream (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: Return error if the function does not support multi-cpu (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: Add multiple CPU DAI support for PCM ops (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: soc-pcm: fix state tracking error in snd_soc_component_open/close() (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: soc-pcm: move dpcm_path_put() to soc-pcm.c (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: soc-pcm: merge dpcm_run_new/old_update() into dpcm_fe_runtime_update() (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: soc-pcm: add snd_soc_dai_get_widget() (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: soc-pcm: cleanup soc_pcm_apply_msb() (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: soc-pcm: add snd_soc_dai_get_pcm_stream() (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: soc-pcm/soc-compress: don't use snd_soc_dapm_stream_stop() (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: dpcm: remove confusing trace in dpcm_get_be() (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: pcm: Fix possible buffer overflow in dpcm state sysfs output (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: soc-pcm: use for_each_pcm_streams() macro (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: soc-pcm: merge playback/cature_active into stream_active (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: soc-pcm: use goto and remove multi return (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: soc-pcm: add snd_soc_dpcm_can_be() and remove duplicate code (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: soc-pcm: remove snd_soc_dpcm_be_get/set_state() (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: soc-pcm: remove soc_dpcm_be_digital_mute() (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: soc-pcm: use dpcm_get_be() at dpcm_end_walk_at_be() (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: soc-pcm: use dai_get_widget() at dpcm_end_walk_at_be() (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: soc-pcm: use dai_get_widget() at dpcm_get_be() (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: soc-pcm: move dai_get_widget() (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: soc-pcm: fix regression in soc_new_pcm() (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: soc-pcm: tidyup soc_pcm_open() order (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: soc-pcm: move soc_pcm_close() next to soc_pcm_open() (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: soc-pcm: adjustment for DAI member 0 reset (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: soc-pcm: call snd_soc_component_open/close() once (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: soc-pcm: don't use bit-OR'ed error (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: soc-pcm/soc-compress: use snd_soc_dapm_stream_stop() for SND_SOC_DAPM_STREAM_STOP (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: soc-pcm: add for_each_dapm_widgets() macro (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: soc-pcm: add snd_soc_runtime_action() (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: soc-pcm: call snd_soc_dai_startup()/shutdown() once (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: core: ensure component names are unique (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: core: allow a dt node to provide several components (Jaroslav Kysela) [1797509] - [sound] ALSA: emu8000: Fix the cast to __user pointer (Jaroslav Kysela) [1797509] - [sound] ALSA: opti9xx: shut up gcc-10 range warning (Jaroslav Kysela) [1797509] - [sound] ALSA: firewire-tascam: Add missing annotation for tscm_hwdep_read_queue() (Jaroslav Kysela) [1797509] - [sound] ALSA: firewire-tascam: Add missing annotation for tscm_hwdep_read_locked() (Jaroslav Kysela) [1797509] - [sound] ALSA: firewire: use KBUILD_MODNAME for struct driver.name instead of string (Jaroslav Kysela) [1797509] - [sound] ALSA: via82xx: Fix endianness annotations (Jaroslav Kysela) [1797509] - [sound] ALSA: hdsp: remove redundant assignment to variable err (Jaroslav Kysela) [1797509] - [sound] ALSA: korg1212: fix if-statement empty body warnings (Jaroslav Kysela) [1797509] - [sound] ALSA: ice1724: Fix invalid access for enumerated ctl items (Jaroslav Kysela) [1797509] - [sound] ALSA: hda/realtek - Two front mics on a Lenovo ThinkCenter (Jaroslav Kysela) [1797509] - [sound] ALSA: hda/realtek - Add new codec supported for ALC245 (Jaroslav Kysela) [1797509] - [sound] ALSA: hda/realtek - Fix unexpected init_amp override (Jaroslav Kysela) [1797509] - [sound] ALSA: hda/realtek - Enable the headset mic on Asus FX505DT (Jaroslav Kysela) [1797509] - [sound] ALSA: hda/realtek - Add quirk for MSI GL63 (Jaroslav Kysela) [1797509] - [sound] ALSA: hda/realtek - Add HP new mute led supported for ALC236 (Jaroslav Kysela) [1797509] - [sound] ALSA: hda/realtek - Add supported new mute Led for HP (Jaroslav Kysela) [1797509] - [sound] ALSA: hda/realtek - Add quirk for Lenovo Carbon X1 8th gen (Jaroslav Kysela) [1797509] - [sound] ALSA: hda/realtek - Remove now-unnecessary XPS 13 headphone noise fixups (Jaroslav Kysela) [1797509] - [sound] ALSA: hda/realtek - Set principled PC Beep configuration for ALC256 (Jaroslav Kysela) [1797509] - [sound] ALSA: hda/realtek - a fake key event is triggered by running shutup (Jaroslav Kysela) [1797509] - [sound] ALSA: hda/realtek: Enable mute LED on an HP system (Jaroslav Kysela) [1797509] - [sound] ALSA: hda/realtek - Enable the headset of Acer N50-600 with ALC662 (Jaroslav Kysela) [1797509] - [sound] ALSA: hda/realtek - Enable headset mic of Acer X2660G with ALC662 (Jaroslav Kysela) [1797509] - [sound] ALSA: hda/realtek: Fix pop noise on ALC225 (Jaroslav Kysela) [1797509] - [sound] ALSA: hda/hdmi: Move ELD parse and jack reporting into update_eld() (Jaroslav Kysela) [1797509] - [sound] ALSA: hda/hdmi: Move runtime PM resume into hdmi_present_sense_via_verbs() (Jaroslav Kysela) [1797509] - [sound] ALSA: hda/hdmi: Don't use standard hda_jack for generic HDMI jacks (Jaroslav Kysela) [1797509] - [sound] ALSA: hda/hdmi: Reduce hda_jack_tbl lookup at unsol event handling (Jaroslav Kysela) [1797509] - [sound] ALSA: drm/nouveau: Fix regression by audio component transition (Jaroslav Kysela) [1797509] - [sound] ALSA: hda/hdmi: fix without unlocked before return (Jaroslav Kysela) [1797509] - [sound] ALSA: hda/hdmi: fix race in monitor detection during probe (Jaroslav Kysela) [1797509] - [sound] ALSA: hda/hdmi: Add module option to disable audio component binding (Jaroslav Kysela) [1797509] - [sound] ALSA: hda/ca0132 - Replace zero-length array with flexible-array member (Jaroslav Kysela) [1797509] - [sound] ALSA: hda/ca0132 - Add Recon3Di quirk to handle integrated sound on EVGA X99 Classified motherboard (Jaroslav Kysela) [1797509] - [sound] ALSA: hda: Match both PCI ID and SSID for driver blacklist (Jaroslav Kysela) [1797509] - [sound] ALSA: hda: Remove ASUS ROG Zenith from the blacklist (Jaroslav Kysela) [1797509] - [sound] ALSA: hda: call runtime_allow() for all hda controllers (Jaroslav Kysela) [1797509] - [sound] ALSA: hda: Explicitly permit using autosuspend if runtime PM is supported (Jaroslav Kysela) [1797509] - [sound] ALSA: hda: Keep the controller initialization even if no codecs found (Jaroslav Kysela) [1797509] - [sound] ALSA: hda: Release resources at error in delayed probe (Jaroslav Kysela) [1797509] - [sound] ALSA: hda: Honor PM disablement in PM freeze and thaw_noirq ops (Jaroslav Kysela) [1797509] - [sound] ALSA: hda: Don't release card at firmware loading error (Jaroslav Kysela) [1797509] - [sound] ALSA: hda: Add driver blacklist (Jaroslav Kysela) [1797509] - [sound] ALSA: hda: remove redundant assignment to variable timeout (Jaroslav Kysela) [1797509] - [sound] ALSA: hda_codec: Replace zero-length array with flexible-array member (Jaroslav Kysela) [1797509] - [sound] ALSA: hda: Always use jackpoll helper for jack update after resume (Jaroslav Kysela) [1797509] - [sound] ALSA: hda: Skip controller resume if not needed (Jaroslav Kysela) [1797509] - [sound] ALSA: hda: Fix potential access overflow in beep helper (Jaroslav Kysela) [1797509] - [sound] ALSA: hda: default enable CA0132 DSP support (Jaroslav Kysela) [1797509] - [sound] ALSA: emu10k1: Fix endianness annotations (Jaroslav Kysela) [1797509] - [sound] ALSA: ctxfi: Remove unnecessary cast in kfree (Jaroslav Kysela) [1797509] - [sound] ALSA: ali5451: remove redundant variable capture_flag (Jaroslav Kysela) [1797509] - [sound] ALSA: dummy: Use standard macros for fixing PCM format cast (Jaroslav Kysela) [1797509] - [sound] ALSA: aloop: Fix PCM format assignment (Jaroslav Kysela) [1797509] - [sound] ALSA: pcm: Use a macro for parameter masks to reduce the needed cast (Jaroslav Kysela) [1797509] - [sound] ALSA: pcm: Minor refactoring (Jaroslav Kysela) [1797509] - [sound] ALSA: dmaengine_pcm: No need to take runtime reference twice in pcm_pointer (Jaroslav Kysela) [1797509] - [sound] ALSA: dmaengine_pcm: Consider DMA cache caused delay in pointer callback (Jaroslav Kysela) [1797509] - [sound] ALSA: dmaengine_pcm: Consider DMA cache caused delay in pointer callback (Jaroslav Kysela) [1797509] - [sound] ALSA: pcm_dmaengine: Use pcm_for_each_format() macro for PCM format iteration (Jaroslav Kysela) [1797509] - [sound] ALSA: core: Replace zero-length array with flexible-array member (Jaroslav Kysela) [1797509] - [sound] ALSA: pcm: Fix superfluous snprintf() usage (Jaroslav Kysela) [1797509] - [sound] ALSA: pcm: oss: Place the plugin buffer overflow checks correctly (for 5.7) (Jaroslav Kysela) [1797509] - [sound] ALSA: pcm: oss: Fix regression by buffer overflow fix (again) (Jaroslav Kysela) [1797509] - [sound] ALSA: pcm: oss: Remove WARNING from snd_pcm_plug_alloc() checks (Jaroslav Kysela) [1797509] - [sound] ALSA: pcm: oss: Simplify plugin frame size calculations (Jaroslav Kysela) [1797509] - [sound] ALSA: pcm: oss: Avoid plugin buffer overflow (Jaroslav Kysela) [1797509] - [sound] ALSA: info: remove redundant assignment to variable c (Jaroslav Kysela) [1797509] - [sound] ALSA: pcm: oss: Unlock mutex temporarily for sleeping at read/write (Jaroslav Kysela) [1797509] - [sound] ALSA: pcm: Use standard macros for fixing PCM format cast (Jaroslav Kysela) [1797509] - [sound] ALSA: pcm: Add a standalone version of snd_pcm_limit_hw_rates (Jaroslav Kysela) [1797509] - [sound] ALSA: pcm: More helper macros for reducing snd_pcm_format_t cast (Jaroslav Kysela) [1797509] - [sound] ALSA: pcm.h: add for_each_pcm_streams() (Jaroslav Kysela) [1797509] - [sound] ALSA: core: Add snd_device_get_state() helper (Jaroslav Kysela) [1797509] - [sound] ALSA: core: Implement compress page allocation and free routines (Jaroslav Kysela) [1797509] - [sound] ALSA: core: Expand DMA buffer information (Jaroslav Kysela) [1797509] - [sound] ALSA: uapi: Fix sparse warning (Jaroslav Kysela) [1797509] - [sound] ALSA: control: Fix incompatible protocol error (Jaroslav Kysela) [1797509] - [sound] ALSA: ctl: bump protocol version up to v2.1.0 (Jaroslav Kysela) [1797509] - [sound] ALSA: ctl: remove unused macro for timestamping of elem_value (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: SOF: use __u32 instead of uint32_t in uapi headers (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: SOF: uapi: remove unused sof header files (Jaroslav Kysela) [1797509] - [sound] ALSA: uapi: Drop unneeded typedefs (Jaroslav Kysela) [1797509] - [sound] ALSA: uapi: Add linux/types.h include back (but carefully) (Jaroslav Kysela) [1797509] - [sound] ALSA: hdspm: Drop linux/types.h inclusion in uapi header (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: Spelling s/configr/configur/ (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: soc-core: fix for_rtd_codec_dai_rollback() macro (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: soc-dpcm: tidyup for_each_dpcm_xx() macro (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: simple_card_utils.h: Fix potential multiple redefinition error (Jaroslav Kysela) [1797509] - [sound] ALSA: rawmidi: Avoid bit fields for state flags (Jaroslav Kysela) [1797509] - [sound] ALSA: memalloc: Drop snd_dma_pci_data() macro (Jaroslav Kysela) [1797509] - [sound] ALSA: media: Drop superfluous ioctl PCM ops (Jaroslav Kysela) [1797509] - [sound] ALSA: media: solo6x10: Use managed buffer allocation (Jaroslav Kysela) [1797509] - [sound] ALSA: media: cs231xx: Clean up ALSA PCM API usages (Jaroslav Kysela) [1797509] - [sound] ALSA: media: em28xx: Clean up ALSA PCM API usages (Jaroslav Kysela) [1797509] - [sound] ALSA: media: delete unused proc_fs.h include (Jaroslav Kysela) [1797509] - [sound] ALSA: media: em28xx-audio: use GFP_KERNEL for memory allocation during init (Jaroslav Kysela) [1797509] - [sound] ALSA: media: go7007: Clean up ALSA PCM API usages (Jaroslav Kysela) [1797509] - [sound] ALSA: media: tm6000: Clean up ALSA PCM API usages (Jaroslav Kysela) [1797509] - [sound] ALSA: media: usbtv: Use managed buffer allocation (Jaroslav Kysela) [1797509] - [sound] ALSA: media: solo6x10: Remove superfluous snd_dma_continuous_data() (Jaroslav Kysela) [1797509] - [sound] ALSA: media: tw686x: Use managed buffer allocation (Jaroslav Kysela) [1797509] - [sound] ALSA: media: Drop superfluous PCM preallocation error checks (Jaroslav Kysela) [1797509] - [sound] ALSA: media: tw686x: audio: Avoid non-standard macro usage (Jaroslav Kysela) [1797509] - [sound] ALSA: Allow const arrays for legacy resource management helpers (Jaroslav Kysela) [1797509] - [sound] ALSA: pcmcia: Drop superfluous ioctl PCM ops (Jaroslav Kysela) [1797509] - [sound] ALSA: pdaudiocf: Use managed buffer allocation (Jaroslav Kysela) [1797509] - [sound] ALSA: pdaudiocf: Convert to the common vmalloc memalloc (Jaroslav Kysela) [1797509] - [sound] ALSA: pdaudiocf: More constification (Jaroslav Kysela) [1797509] - [sound] ALSA: pcmcia: Constify snd_device_ops definitions (Jaroslav Kysela) [1797509] - [sound] ALSA: pdaudiocf: Support PCM sync_stop (Jaroslav Kysela) [1797509] - [sound] ALSA: parisc: Constify snd_kcontrol_new items (Jaroslav Kysela) [1797509] - [sound] ALSA: parisc: Constify snd_device_ops definitions (Jaroslav Kysela) [1797509] - [sound] ALSA: parisc: Drop superfluous ioctl PCM ops (Jaroslav Kysela) [1797509] - [sound] ALSA: firewire-tascam: fix corruption due to spin lock without restoration in SoftIRQ context (Jaroslav Kysela) [1797509] - [sound] ALSA: oxfw: fix for Stanton SCS.1d (Jaroslav Kysela) [1797509] - [sound] ALSA: oxfw: don't add MIDI/PCM interface when packet streaming is unavailable (Jaroslav Kysela) [1797509] - [sound] ALSA: oxfw: fix return value in error path of isochronous resources reservation (Jaroslav Kysela) [1797509] - [sound] ALSA: oxfw: use ENXIO for not-supported cases (Jaroslav Kysela) [1797509] - [sound] ALSA: firewire-motu: fix double unlocked 'motu->mutex' (Jaroslav Kysela) [1797509] - [sound] ALSA: fireface: fix return value in error path of isochronous resources reservation (Jaroslav Kysela) [1797509] - [sound] ALSA: dice: loosen stream format check for MIDI conformant data channel (Jaroslav Kysela) [1797509] - [sound] ALSA: dice: fix fallback from protocol extension into limited functionality (Jaroslav Kysela) [1797509] - [sound] ALSA: dice: add support for Alesis MasterControl (Jaroslav Kysela) [1797509] - [sound] ALSA: firewire: Drop superfluous ioctl PCM ops (Jaroslav Kysela) [1797509] - [sound] ALSA: firewire: Use managed buffer allocation (Jaroslav Kysela) [1797509] - [sound] ALSA: firewire: Convert to the common vmalloc memalloc (Jaroslav Kysela) [1797509] - [sound] ALSA: emux: More constifications (Jaroslav Kysela) [1797509] - [sound] ALSA: spi: Constify snd_kcontrol_new items (Jaroslav Kysela) [1797509] - [sound] ALSA: spi: Constify snd_device_ops definitions (Jaroslav Kysela) [1797509] - [sound] ALSA: spi: Drop superfluous ioctl PCM ops (Jaroslav Kysela) [1797509] - [sound] ALSA: spi: Use managed buffer allocation (Jaroslav Kysela) [1797509] - [sound] ALSA: spi: More constification (Jaroslav Kysela) [1797509] - [sound] ALSA: sparc: Constify snd_device_ops definitions (Jaroslav Kysela) [1797509] - [sound] ALSA: sparc: More constifications (Jaroslav Kysela) [1797509] - [sound] ALSA: sparc: Constify snd_kcontrol_new items (Jaroslav Kysela) [1797509] - [sound] ALSA: sparc: Drop superfluous ioctl PCM ops (Jaroslav Kysela) [1797509] - [sound] ALSA: sparc: Use managed buffer allocation (Jaroslav Kysela) [1797509] - [sound] ALSA: sparc: Remove superfluous snd_dma_continuous_data() (Jaroslav Kysela) [1797509] - [sound] ALSA: usb-audio: Apply 48kHz fixed rate playback for Jabra Evolve 65 headset (Jaroslav Kysela) [1797509] - [sound] ALSA: usb-audio: add quirks for Line6 Helix devices fw>=2.82 (Jaroslav Kysela) [1797509] - [sound] ALSA: usb-audio: Add clock validity quirk for Denon MC7000/MCX8000 (Jaroslav Kysela) [1797509] - [sound] ALSA: usb-audio: Apply sample rate quirk for Audioengine D1 (Jaroslav Kysela) [1797509] - [sound] ALSA: usb-audio: Fix UAC2/3 effect unit parsing (Jaroslav Kysela) [1797509] - [sound] ALSA: usb-audio: Annotate endianess in Scarlett gen2 quirk (Jaroslav Kysela) [1797509] - [sound] ALSA: usb-audio: Fix endianess in descriptor validation (Jaroslav Kysela) [1797509] - [sound] ALSA: usb-audio: add implicit fb quirk for MOTU M Series (Jaroslav Kysela) [1797509] - [sound] ALSA: usb-audio: unlock on error in probe (Jaroslav Kysela) [1797509] - [sound] ALSA: usb-audio: fix sync-ep altsetting sanity check (Jaroslav Kysela) [1797509] - [sound] ALSA: usb-audio: Add boot quirk for MOTU M Series (Jaroslav Kysela) [1797509] - [sound] ALSA: usb: update old-style static const declaration (Jaroslav Kysela) [1797509] - [sound] ALSA: bcd2000: More constifications (Jaroslav Kysela) [1797509] - [sound] ALSA: usx2y: More constifications (Jaroslav Kysela) [1797509] - [sound] ALSA: caiaq: More constifications (Jaroslav Kysela) [1797509] - [sound] ALSA: usb-audio: More constifications (Jaroslav Kysela) [1797509] - [sound] ALSA: usb-audio: Use lower hex numbers for IDs (Jaroslav Kysela) [1797509] - [sound] ALSA: usb-audio: Apply the sample rate quirk for Bose Companion 5 (Jaroslav Kysela) [1797509] - [sound] ALSA: usx2y: Constify struct snd_usb_audio_quirk entries (Jaroslav Kysela) [1797509] - [sound] ALSA: line6: Constify snd_ratden definitions (Jaroslav Kysela) [1797509] - [sound] ALSA: usb: Constify snd_kcontrol_new items (Jaroslav Kysela) [1797509] - [sound] ALSA: usb: Constify snd_device_ops definitions (Jaroslav Kysela) [1797509] - [sound] ALSA: usb: Constify snd_pcm_hardware definitions (Jaroslav Kysela) [1797509] - [sound] ALSA: usb-audio: fix Corsair Virtuoso mixer label collision (Jaroslav Kysela) [1797509] - [sound] ALSA: usb-audio: fix set_format altsetting sanity check (Jaroslav Kysela) [1797509] - [sound] ALSA: usb-audio: set the interface format after resume on Dell WD19 (Jaroslav Kysela) [1797509] - [sound] ALSA: usx2y: Adjust indentation in snd_usX2Y_hwdep_dsp_status (Jaroslav Kysela) [1797509] - [sound] ALSA: usb-audio: Support PCM sync_stop (Jaroslav Kysela) [1797509] - [sound] ALSA: usb: Drop superfluous ioctl PCM ops (Jaroslav Kysela) [1797509] - [sound] ALSA: usb-audio: Use managed buffer allocation (Jaroslav Kysela) [1797509] - [sound] ALSA: usx2y: Use managed buffer allocation (Jaroslav Kysela) [1797509] - [sound] ALSA: ua101: Use managed buffer allocation (Jaroslav Kysela) [1797509] - [sound] ALSA: line6: Use managed buffer allocation (Jaroslav Kysela) [1797509] - [sound] ALSA: hiface: Use managed buffer allocation (Jaroslav Kysela) [1797509] - [sound] ALSA: caiaq: Use managed buffer allocation (Jaroslav Kysela) [1797509] - [sound] ALSA: 6fire: Use managed buffer allocation (Jaroslav Kysela) [1797509] - [sound] ALSA: usb-audio: Fix Focusrite Scarlett 6i6 gen1 - input handling (Jaroslav Kysela) [1797509] - [sound] ALSA: usb-audio: Fix NULL dereference at parsing BADD (Jaroslav Kysela) [1797509] - [sound] ALSA: usb-audio: Fix Scarlett 6i6 Gen 2 port data (Jaroslav Kysela) [1797509] - [sound] ALSA: usb-audio: Add skip_validation option (Jaroslav Kysela) [1797509] - [sound] ALSA: usb-audio: Fix incorrect size check for processing/extension units (Jaroslav Kysela) [1797509] - [sound] ALSA: usb-audio: Fix incorrect NULL check in create_yamaha_midi_quirk() (Jaroslav Kysela) [1797509] - [sound] ALSA: usb-audio: not submit urb for stopped endpoint (Jaroslav Kysela) [1797509] - [sound] ALSA: usb-audio: Fix missing error check at mixer resolution test (Jaroslav Kysela) [1797509] - [sound] ALSA: ua101: Convert to the common vmalloc memalloc (Jaroslav Kysela) [1797509] - [sound] ALSA: hiface: Convert to the common vmalloc memalloc (Jaroslav Kysela) [1797509] - [sound] ALSA: caiaq: Convert to the common vmalloc memalloc (Jaroslav Kysela) [1797509] - [sound] ALSA: 6fire: Convert to the common vmalloc memalloc (Jaroslav Kysela) [1797509] - [sound] ALSA: usb-audio: Convert to the common vmalloc memalloc (Jaroslav Kysela) [1797509] - [sound] ALSA: 6fire: Drop the dead code (Jaroslav Kysela) [1797509] - [sound] ALSA: usb: Remove superfluous snd_dma_continuous_data() (Jaroslav Kysela) [1797509] - [sound] ALSA: intel_hdmi: Remove dev_err() on platform_get_irq() failure (Jaroslav Kysela) [1797509] - [sound] ALSA: x86: Drop superfluous ioctl PCM ops (Jaroslav Kysela) [1797509] - [sound] ALSA: hdml-lpe-audio: Use managed buffer allocation (Jaroslav Kysela) [1797509] - [sound] ALSA: xen: Drop superfluous ioctl PCM ops (Jaroslav Kysela) [1797509] - [sound] ALSA: atmel: Constify snd_ac97_bus_ops definitions (Jaroslav Kysela) [1797509] - [sound] ALSA: arm: Constify snd_ac97_bus_ops definitions (Jaroslav Kysela) [1797509] - [sound] ALSA: arm: Drop superfluous ioctl PCM ops (Jaroslav Kysela) [1797509] - [sound] ALSA: aoa: Drop superfluous ioctl PCM ops (Jaroslav Kysela) [1797509] - [sound] ALSA: aoa: More constifications (Jaroslav Kysela) [1797509] - [sound] ALSA: aoa: Constify snd_kcontrol_new items (Jaroslav Kysela) [1797509] - [sound] ALSA: aoa: Constify snd_device_ops definitions (Jaroslav Kysela) [1797509] - [sound] ALSA: ac97: Constify snd_ac97_bus_ops definitions (Jaroslav Kysela) [1797509] - [sound] ALSA: wss: Support PCM sync_stop (Jaroslav Kysela) [1797509] - [sound] ALSA: wss: More constifications (Jaroslav Kysela) [1797509] - [sound] ALSA: wavefront: Support PCM sync_stop (Jaroslav Kysela) [1797509] - [sound] ALSA: sc6000: More constification (Jaroslav Kysela) [1797509] - [sound] ALSA: sb: Support PCM sync_stop (Jaroslav Kysela) [1797509] - [sound] ALSA: sb: More constifications (Jaroslav Kysela) [1797509] - [sound] ALSA: opti9xx: Support PCM sync_stop (Jaroslav Kysela) [1797509] - [sound] ALSA: opti9xx: More constifications (Jaroslav Kysela) [1797509] - [sound] ALSA: opl3sa2: Support PCM sync_stop (Jaroslav Kysela) [1797509] - [sound] ALSA: msnd: Support PCM sync_stop (Jaroslav Kysela) [1797509] - [sound] ALSA: gus: Support PCM sync_stop (Jaroslav Kysela) [1797509] - [sound] ALSA: gus: More constifications (Jaroslav Kysela) [1797509] - [sound] ALSA: es18xx: Support PCM sync_stop (Jaroslav Kysela) [1797509] - [sound] ALSA: es18xx: More constifications (Jaroslav Kysela) [1797509] - [sound] ALSA: es1688: Support PCM sync_stop (Jaroslav Kysela) [1797509] - [sound] ALSA: es1688: Drop superfluous ioctl PCM ops (Jaroslav Kysela) [1797509] - [sound] ALSA: es1688: More constifications (Jaroslav Kysela) [1797509] - [sound] ALSA: cs423x: More constification (Jaroslav Kysela) [1797509] - [sound] ALSA: cs4236: fix error return comparison of an unsigned integer (Jaroslav Kysela) [1797509] - [sound] ALSA: cmi8330: More constifications (Jaroslav Kysela) [1797509] - [sound] ALSA: cmi8328: More constifications (Jaroslav Kysela) [1797509] - [sound] ALSA: isa: Constify snd_kcontrol_new items (Jaroslav Kysela) [1797509] - [sound] ALSA: isa: Constify snd_device_ops definitions (Jaroslav Kysela) [1797509] - [sound] ALSA: ad1816a: constify copied structure (Jaroslav Kysela) [1797509] - [sound] ALSA: ad1816a: Support PCM sync_stop (Jaroslav Kysela) [1797509] - [sound] ALSA: isa: Drop superfluous ioctl PCM ops (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: xlnx: Use devm_platform_ioremap_resource() in xlnx_formatter_pcm_probe() (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: xtensa: Drop superfluous ioctl PCM ops (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: xtensa: xtfpga-i2s: remove snd_pcm_ops (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: xilinx: Use managed buffer allocation (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: xilinx: Drop superfluous ioctl PCM ops (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: xilinx: xlnx_formatter_pcm: remove snd_pcm_ops (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: uniphier: Drop superfluous ioctl PCM ops (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: uniphier: Use managed buffer allocation (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: uniphier: aio-dma: remove snd_pcm_ops (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: txx9: Use managed buffer allocation (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: txx9: Drop superfluous ioctl PCM ops (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: txx9: txx9aclc: remove snd_pcm_ops (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: ti: sdma-pcm: Add back the flags parameter for non standard dma names (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: tegra: disable rx_fifo after disable stream (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: tegra: add a TDM configuration callback (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: sunxi: sun4i-codec: remove unneeded semicolon (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: stm32: spdifrx: fix race condition in irq handler (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: stm32: spdifrx: retry synchronization in sync state (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: stm32: sai: manage rebind issue (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: stm32: sai: fix possible circular locking (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: stm32: sai: add restriction on mmap support (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: stm32: sai: fix sysclk management on shutdown (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: stm32: sai: clean up indentation issue (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: stm32: dfsdm: fix 16 bits record (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: stm32: Use managed buffer allocation (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: stm: stm32_adfsdm: remove snd_pcm_ops (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: sprd: Drop superfluous ioctl PCM ops (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: sprd: sprd-pcm-dma: remove snd_pcm_ops (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: SOF: ipc: Fix memory leak in sof_set_get_large_ctrl_data (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: SOF: Intel: hda-stream: fix the CONFIG_ prefix missing (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: SOF: imx8: fix memory allocation failure check on priv->pd_dev (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: utils: Drop superfluous ioctl PCM ops (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: soc-utils: remove snd_pcm_ops (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: soc-ops: use snd_soc_card_get_kcontrol() at snd_soc_limit_volume() (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: generic-dmaengine-pcm: Use managed buffer allocation (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: generic-dmaengine: Drop superfluous ioctl PCM ops (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: soc-generic-dmaengine-pcm: remove snd_pcm_ops (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: rsnd: do error check after rsnd_channel_normalization() (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: rsnd: dma: fix SSI9 4/5/6/7 busif dma address (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: sh: Drop superfluous ioctl PCM ops (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: fsi: Use managed buffer allocation (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: sh: fsi: remove snd_pcm_ops (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: rcar: Use managed buffer allocation (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: rsnd: core.c: add WARN_ON() on rsnd_channel_normalization() (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: rsnd: add missing of_node_put() (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: rsnd: Reinitialize bit clock inversion flag for every format setting (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: sh: rsnd: remove snd_pcm_ops (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: siu_pcm: Use managed buffer allocation (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: sh: siu_pcm: remove snd_pcm_ops (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: dma-sh7760: Use managed buffer allocation (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: sh: dma-sh7760: remove snd_pcm_ops (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: samsung: Use pr_warn instead of pr_warning (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: samsung: Drop superfluous ioctl PCM ops (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: samsung: idma: remove snd_pcm_ops (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: samsung: Rename Arndale card driver (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: samsung: arndale: Add support for WM1811 CODEC (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: samsung: arndale: Simplify DAI link initialization (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: rockchip: rockchip_max98090: Enable SHDN to fix headset detection (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: rockchip_max98090: Add HDMI jack support (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: rockchip_max98090: Optionally support HDMI use case (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: qcom: q6routing: remove snd_pcm_ops (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: qcom: Drop superfluous ioctl PCM ops (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: qcom: q6asm-dai: remove snd_pcm_ops (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: qcom: lpass-platform: remove snd_pcm_ops (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: pxa: pxa2xx-i2s: move .suspend/.resume to component (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: pxa: pxa-ssp: move .suspend/.resume to component (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: pxa: poodle: Spelling s/enpoints/endpoints/, s/connetion/connection/ (Jaroslav Kysela) [1797509] - [sound] ALSA: spi: pxa2xx: No need to keep pointer to platform device (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: pxa: Drop superfluous ioctl PCM ops (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: pxa: remove snd_pcm_ops (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: pxa: mmp-pcm: remove snd_pcm_ops (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: meson: g12a: add tohdmitx reset (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: meson: Drop superfluous ioctl PCM ops (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: meson: axg-fifo: relax period size constraints (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: meson: axg-fifo: improve depth handling (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: meson: axg-fifo: fix fifo threshold setup (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: meson: Use managed buffer allocation (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: meson: remove snd_pcm_ops (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: mediatek: mt8183: support WoV (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: mt8183: fix audio playback slowly after playback during bootup (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: mediatek: Use managed buffer allocation (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: mediatek: Drop superfluous ioctl PCM ops (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: mediatek: mtk-btcvsd: remove snd_pcm_ops (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: mediatek: remove snd_pcm_ops (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: kirkwood: fix device remove ordering (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: jz4740: Remove unused match variable (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: kirkwood: Drop superfluous ioctl PCM ops (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: kirkwood: fix IRQ error handling (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: kirkwood: kirkwood-dma: remove snd_pcm_ops (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: jz4740: Drop lb60 board code (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: simple-card: fixup simple_dai_link_of_dpcm() comment (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: audio-graph: fixup graph_dai_link_of_dpcm() comment (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: fsl_sai: Fix noise when using EDMA (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: fsl_mqs: Move static keyword to the front of declarations (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: fsl_mqs: Fix error handling in probe (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: fsl_mqs: remove set but not used variable 'bclk' (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: fsl_esai: Add spin lock to protect reset, stop and start (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: fsl: fsl_dma: fix build failure (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: fsl: fsl_dma: don't use snd_soc_rtdcom_lookup() (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: fsl: Drop superfluous ioctl PCM ops (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: fsl: imx-pcm-fiq: remove snd_pcm_ops (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: fsl: mpc5200_dma: remove snd_pcm_ops (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: fsl: fsl_dma: remove snd_pcm_ops (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: fsl: fsl_asrc_dma: remove snd_pcm_ops (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: wm8958: use to simplify code (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: tlv320aic32x4: add a check for devm_clk_get (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: wcd9335: clean up indentation issue (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoc: tas2770: Remove unused defines and variables (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: tas2562: Fix misuse of GENMASK macro (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: mediatek: mt6358: support WoV (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: msm8916-wcd-digital: add missing MIX2 path for RX1/2 (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: msm8916-wcd-analog: Add earpiece (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: msm8916-wcd-analog: Fix RX1 selection in RDAC2 MUX (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: fsl_asrc: refine the setting of internal clock divider (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: fsl_asrc: Fix error with S24_3LE format bitstream in i.MX8 (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: fsl_asrc: update supported sample format (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: fsl_asrc: Use in(out)put_format instead of in(out)put_word_width (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: fsl_mqs: Add MQS component driver (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: dwc: Use managed buffer allocation (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: dwc: Drop superfluous ioctl PCM ops (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: dwc: dwc-pcm: remove snd_pcm_ops (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: wm8994: Add support for MCLKn clock gating (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: wm8994: Add support for setting MCLK clock rate (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: tas2562: Fix sample rate error message (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: tas2562: Return invalid for when bitwidth is invalid (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: tas2562: Introduce the TAS2562 amplifier (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: tas2770: clean up an indentation issue (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: tas2770: Fix snd_soc_update_bits error handling (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: tas2770: Remove unneeded read of the TDM_CFG3 register (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoc: tas2770: Fix build error without GPIOLIB (Jaroslav Kysela) [1797509] - [sound] ALSA: tas2770: fix platform_no_drv_owner.cocci warnings (Jaroslav Kysela) [1797509] - [sound] ALSA: tas2770: add tas2770 smart PA kernel driver (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: rt5663: clean up indentation issues (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: rt5650: Add Kahlee platform specfic changes (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: pcm3168a: Fix serial mode dependent format support (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: pcm3168a: Use fixup instead of constraint for channels and formats (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: pcm3168a: The codec does not support S32_LE (Jaroslav Kysela) [1797509] - [sound] ALSA: ASOC: adau7118: Change regulators id (Jaroslav Kysela) [1797509] - [sound] ALSA: ASOC: Add ADAU7118 8 Channel PDM-to-I2S/TDM Converter driver (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: adau1761: Add ALC controls (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: adau1761: Add PGA Slew time control (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: bcm: Drop superfluous ioctl PCM ops (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: bcm: cygnus-pcm: remove snd_pcm_ops (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: au1x: Use managed buffer allocation (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: au1x: Drop superfluous ioctl PCM ops (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: au1x: dma: remove snd_pcm_ops (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: au1x: dbdma2: remove snd_pcm_ops (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: atmel_ssc_dai: Remove wrong spinlock usage (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: atmel: Drop superfluous ioctl PCM ops (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: atmel: atmel-pcm-pdc: remove snd_pcm_ops (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: amd: ACP needs to be powered off in BIOS (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: amd: Additional DAI for I2S SP instance (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: amd: Fix simultaneous playback and capture (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: amd: acp3x: Fix return value check in acp3x_dai_probe() (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: amd: add ACP3x TDM mode support (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: amd: Buffer Size instead of MAX Buffer (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: amd: Fix for Subsequent Playback issue (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: amd MMAP_INTERLEAVED Support (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: amd: Added ACP3x system resume and runtime pm (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: amd: Handle ACP3x I2S-SP Interrupts (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: amd: Enabling I2S instance in DMA and DAI (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: amd: Refactoring of DAI from DMA driver (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: amd: Drop superfluous ioctl PCM ops (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: amd: Use managed buffer allocation (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: amd: acp3x-pcm-dma: remove snd_pcm_ops (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: amd: acp3x: clean up indentation issue (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: amd: acp-pcm-dma: remove snd_pcm_ops (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: wm8741: Fix typo in Kconfig prompt (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: SOF: Fix snd_sof_ipc_stream_posn() (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: rt1015: modify pre-divider for sysclk (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: rt1015: add operation callback function for rt1015_dai (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: soc-component: tidyup snd_soc_pcm_component_sync_stop() (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: dapm: Correct DAPM handling of active widgets during shutdown (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: Intel: Skylake: Fix available clock counter incrementation (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: soc-pcm/soc-compress: don't use snd_soc_dapm_stream_stop() (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: pcm512x: Fix unbalanced regulator enable call in probe error path (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: topology: Fix memleak in soc_tplg_manifest_load() (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: topology: Fix memleak in soc_tplg_link_elems_load() (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: intel: skl: Fix possible buffer overflow in debug outputs (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: intel: skl: Fix pin debug prints (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: sun8i-codec: Fix setting DAI data format (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: dapm: remove snd_soc_dapm_put_enum_double_locked (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: max98090: revert invalid fix for handling SHDN (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: codec2codec: avoid invalid/double-free of pcm runtime (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: SOF: Intel: hda: move i915 init earlier (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: SOF: Add system_suspend_target field to struct snd_sof_dev (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: atmel: fix atmel_ssc_set_audio link failure (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: fsl_sai: Fix exiting path on probing failure (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: wcd934x: Add missing COMMON_CLK dependency to SND_SOC_ALL_CODECS (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: wcd934x: Add missing COMMON_CLK dependency (Jaroslav Kysela) [1797509] - [sound] ALSA: treewide: remove redundant IS_ERR() before error code check (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: SOF: Intel: add PCI ID for JasperLake (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: rt715: Add __maybe_unused to PM callbacks (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: rt711: Add __maybe_unused to PM callbacks (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: rt700: Add __maybe_unused to PM callbacks (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: rt1308-sdw: Add __maybe_unused to PM callbacks (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: Intel: consistent HDMI codec probing code (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: intel: soc-acpi-intel-icl-match: fix rt715 ADR (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: SOF: pci: add missing default_fw_name of JasperLake (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: SOF: trace: fix unconditional free in trace release (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: SOF: core: release resources on errors in probe_continue (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: SOF: core: free trace on errors (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: SOF: fix an Oops, caused by invalid topology (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: SOF: Intel: do not disable i915 power during probe (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: SOF: Intel: refactor i915_get/put functions (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: rt1015: Remove unnecessary const (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: max98090: silence lockdep warning (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: soc-core: remove null_snd_soc_ops (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: soc-pcm: add soc_rtd_trigger() (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: soc-pcm: add soc_rtd_hw_free() (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: soc-pcm: add soc_rtd_hw_params() (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: soc-pcm: add soc_rtd_prepare() (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: soc-pcm: add soc_rtd_shutdown() (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: soc-pcm: add soc_rtd_startup() (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: rt1015: add rt1015 amplifier driver (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: topology: fix soc_tplg_fe_link_create() - link->dobj initialization order (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: Intel: skl_hda_dsp_common: Fix global-out-of-bounds bug (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: Add MediaTek MT6660 Speaker Amp Driver (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: max98090: fix deadlock in max98090_dapm_put_enum_double() (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: dapm: add snd_soc_dapm_put_enum_double_locked (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: max98090: revert "ASoC: max98090: fix lockdep warning" (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: soc-core: remove bus_control (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: soc-core: remove DAI suspend/resume (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: ux500: ux500_msp_dai: remove unused DAI .suspend/.resume (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: samsung: i2s: move .suspend/.resume to component (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: dwc: dwc-i2s: move .suspend/.resume to component (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: uniphier: move .suspend/.resume to component (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: ti: omap-mcpdm: move .suspend/.resume to component (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: sti: sti_uniperif: move .suspend/.resume to component (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: samsung: spdif: move .suspend/.resume to component (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: samsung: s3c24xx-i2s: move .suspend/.resume to component (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: mediatek: move .suspend/.resume to component (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: jz4740: jz4740-i2s: move .suspend/.resume to component (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: cirrus: ep93xx-i2s: move .suspend/.resume to component (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: atmel: atmel_ssc_dai: move .suspend/.resume to component (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: bcm: cygnus-ssp: move .suspend/.resume to component (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: soc-generic-dmaengine-pcm: Fix error handling (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: soc-pcm: crash in snd_soc_dapm_new_dai (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: Intel: cht_bsw_rt5645: Remove unnecessary string buffers and snprintf calls (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: Intel: bytcr_rt5640: Remove unnecessary string buffers and snprintf calls (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: Intel: bytcr_rt5640: Remove code duplication in byt_rt5640_codec_fixup (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: msm8916-wcd-analog: Add MIC BIAS Internal3 (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: msm8916-wcd-analog: Simplify MIC BIAS Internal (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: rt715: fix return value check in rt715_sdw_probe() (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: rt711: fix return value check in rt711_sdw_probe() (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: rt700: fix return value check in rt700_sdw_probe() (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: rt715: remove unused including (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: SOF: Intel: hda: Fix SKL dai count (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: wm_adsp: Correct cache handling of new kernel control API (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: sgtl5000: add multi endpoint support (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: fsl_asrc: Add support for imx8qm & imx8qxp (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: sgtl5000: Fix VDDA and VDDIO comparison (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: codecs: Add jz4770-codec driver (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: Intel: bytcr_rt5640: remove unused variable (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: Intel: bytcht_es8316: removed unused variable (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: Intel: skl_rt286: rename shadowed variable (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: Intel: skl_nau88l25_ssm4567: rename shadowed variable (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: Intel: skl_nau88l25_max98357a: rename shadowed variable (Jaroslav Kysela) [1797509] - [sound] ALSA: ASOC: Intel: kbl_rt5663_rt5514_max98927: remove useless initialization (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: Intel: kbl_rt5663_rt5514_max98927: rename shadowed variable (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: Intel: kbl_rt5663_max98927: rename shadowed variable (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: Intel: kbl_rt5660: rename shadowed variable (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: Intel: kbl_da7219_max98927: remove unnecessary initialization (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: Intel: kbl_da7219_max98927: rename shadowed variable (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: Intel: kbl_da7219_max98927: test return value on route add (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: Intel: kbl_da7219_max98357a: rename shadowed variable (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: Intel: glk_rt5682_max98357a: removed unused variables (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: Intel: glk_rt5682_max98357a: rename shadowed variable (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: Intel: bxt_rt298: rename shadowed variable (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: Intel: bxt_da7219_max98357a: rename shadowed variable (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: SOF: Intel: hda-dai: fix compilation warning in pcm_prepare (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: rt715: remove warnings (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: rt715: use dev_to_sdw_dev() instead of to_sdw_slave_device() (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: rt700: remove unused including (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: rt1308-sdw: add rt1308 SdW amplifier driver (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: atmel: fix build error with CONFIG_SND_ATMEL_SOC_DMA=m (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: msm8916-wcd-digital: Reset RX interpolation path after use (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: msm8916-wcd-analog: Fix MIC BIAS Internal1 (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: sti: fix possible sleep-in-atomic (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: msm8916-wcd-analog: Fix selected events for MIC BIAS External1 (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: hdac_hda: Fix error in driver removal after failed probe (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: SOF: Intel: fix HDA codec driver probe with multiple controllers (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: SOF: Intel: lower print level to dbg if we will reinit DSP (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: SOF: Intel: reference SoundWire machine lists (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: SOF: support alternate list of machines (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: Intel: common: add match tables for TGL w/ SoundWire (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: Intel: common: add match tables for CNL/CFL/CML w/ SoundWire (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: Intel: common: add match tables for ICL w/ SoundWire (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: Intel: common: soc-acpi: declare new tables for SoundWire (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: soc-acpi: add _ADR-based link descriptors (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: soc-acpi: add link_mask field (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: SOF: fix PCM playback through ALSA OSS emulation (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: Intel: bdw-rt5650: change cpu_dai and platform components for SOF (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: Intel: broadwell: change cpu_dai and platform components for SOF (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: Intel: bdw-rt5677: change cpu_dai and platform components for SOF (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: Intel: bdw-rt5677: fix Kconfig dependencies (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: rt711: remove unused including (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: rt715: add RT715 codec driver (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: txx9: Remove unused rtd variable (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: soc-pcm/soc-compress: use snd_soc_dapm_stream_stop() for SND_SOC_DAPM_STREAM_STOP (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: soc-dapm: add snd_soc_dapm_stream_stop() (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: soc-core: add snd_soc_close_delayed_work() (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: soc-core: do pinctrl_pm_select_xxx() as component (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: soc-core: remove duplicate pinctrl operation when suspend (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: soc-core: care .ignore_suspend for Component suspend (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: soc-core: rename snd_soc_rtdcom_add() to snd_soc_rtd_add_component() (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: rt700: add rt700 codec driver (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: soc-core: remove snd_soc_rtdcom_list (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: max98090: Drop incorrectly applied duplicate commit (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: rt711: add rt711 codec driver (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: codecs: add wsa881x amplifier support (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: max98090: fix lockdep warning (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: max98090: fix incorrect helper in max98090_dapm_put_enum_double() (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: max98090: fix incorrect helper in max98090_dapm_put_enum_double() (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: gtm601: fix build warning (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: SOF: loader: add dynamic debug trace (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: SOF: pci: change the default firmware path when the community key is used (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: Fix NULL dereference at freeing (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: Intel: sof_rt5682: Ignore the speaker amp when there isn't one (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: Intel: bytcht_es8316: Fix Irbis NB41 netbook quirk (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: rt5640: Fix NULL dereference on module unload (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: soc-topology: fix endianness issues (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: Intel: boards: hda_dsp_common: use NULL pointer assignment, not 0 (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: Intel: boards: Fix compile-testing RT1011/RT5682 (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: SOF: imx8: use resource_size (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: qdsp6: q6asm-dai: constify copied structure (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: amd: Create multiple I2S platform device endpoint (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: qcom: sdm845: add support to DB845c and Lenovo Yoga (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: wcd934x: add audio routings (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: wcd934x: add capture dapm widgets (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: wcd934x: add playback dapm widgets (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: wcd934x: add basic controls (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: wcd934x: add support to wcd9340/wcd9341 codec (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: gtm601: add Broadmobi bm818 sound profile (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: Intel: kbl_da7219_max98357a: remove unused variable 'constraints_16000' and 'ch_mono' (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: hdac_hda: Update hdac hda dai table to include intel-hdmi-hifi4 (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: SOF: Intel: hda: Add iDisp4 DAI (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: SOF: imx8: Fix dsp_box offset (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: fsl_audmix: add missed pm_runtime_disable (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: stm32: spdifrx: fix input pin state management (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: stm32: spdifrx: fix inconsistent lock state (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: core: Fix access to uninitialized list heads (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: soc-core: Set dpcm_playback / dpcm_capture (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: max98090: Remove empty suspend function (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: intel: Add Broadwell rt5650 machine driver (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: SOF: move arch_ops under ops (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: topology: Prevent use-after-free in snd_soc_get_pcm_runtime() (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: SOF: imx: Read SAI parameters and send them to DSP (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: SOF: imx: Describe SAI parameters to be sent to DSP (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: Intel: boards: fix incorrect HDMI Kconfig dependency (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: SOF: Intel: drop HDA codec upon probe failure (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: Intel: Add machine driver for da7219_max98373 (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: SOF: log compiler name and version information (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: SOF: define struct with compiler name and version (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: SOF: Introduce state machine for FW boot (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: SOF: remove references to Haswell (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: Intel: cml_rt1011_rt5682: fix codec_conf by removing legacy style (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: SOF: Intel: hda: hda-dai: fix oops on hda_link .hw_free (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: SOF: fix fault at driver unload after failed probe (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: compress: Add pm_runtime support (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: intel: skylake: Remove superfluous bus ops (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: soc-core: remove legacy style of codec_conf (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: ti: rx51: use snd_soc_dai_link_component for codec_conf (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: samsung: speyside: use snd_soc_dai_link_component for codec_conf (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: samsung: neo1973_wm8753: use snd_soc_dai_link_component for codec_conf (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: samsung: lowland: use snd_soc_dai_link_component for codec_conf (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: samsung: bells: use snd_soc_dai_link_component for codec_conf (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: mediatek: mt8183-da7219-max98357: use snd_soc_dai_link_component for codec_conf (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: mediatek: mt8173-rt5650-rt5676: use snd_soc_dai_link_component for codec_conf (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: mediatek: mt8173-rt5650-rt5514: use snd_soc_dai_link_component for codec_conf (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: intel: skl_nau88l25_ssm4567: use snd_soc_dai_link_component for codec_conf (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: intel: kbl_rt5663_rt5514_max98927: use snd_soc_dai_link_component for codec_conf (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: intel: kbl_rt5663_max98927: use snd_soc_dai_link_component for codec_conf (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: intel: kbl_da7219_max98927: use snd_soc_dai_link_component for codec_conf (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: fsl: imx-audmix: use snd_soc_dai_link_component for codec_conf (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: soc-core: support snd_soc_dai_link_component for codec_conf (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: wm8962: fix lambda value (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: SOF: Use managed buffer allocation (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: Drop snd_soc_pcm_lib_ioctl() (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: intel: haswell: Use managed buffer allocation (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: intel: baytrail: Use managed buffer allocation (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: xtensa: Use managed buffer allocation (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: rt5514-spi: Use managed buffer allocation (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: soc-core: tidyup for CONFIG_DEBUG_FS (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: soc-core: tidyup for CONFIG_DMI (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: soc-core: merge soc_set_name_prefix() and soc_set_of_name_prefix() (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: SOF: Drop superfluous ioctl PCM ops (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: SOF: Intel: byt: fixup topology filename for BYT-CR (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: soc-core: soc_set_name_prefix(): get component device_node at out of loop (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: soc-core: soc_set_name_prefix(): tidyup loop condition (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: soc-core: rename soc_link_init() to soc_init_pcm_runtime() (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: soc-core: add missing return value check for soc_link_init() (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: soc-core: move soc_link_init() (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: soc-core: rename soc_link_dai_pcm_new() to soc_dai_pcm_new() (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: soc-core: move soc_link_dai_pcm_new() (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: soc-core: rename snd_soc_remove_dai_link() to snd_soc_remove_pcm_runtime() (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: soc-core: rename snd_soc_add_dai_link() to snd_soc_add_pcm_runtime() (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: soc-core: move snd_soc_find_dai_link() (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: soc-core: find rtd via dai_link pointer at snd_soc_get_pcm_runtime() (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: soc-core: move snd_soc_get_pcm_runtime() (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: soc-core: remove snd_soc_get_dai_substream() (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: soc-core: remove snd_soc_disconnect_sync() (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: soc-core: remove dai_link_list (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: soc.h: dobj is used only when SND_SOC_TOPOLOGY (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: core: add SND_SOC_BYTES_E (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: SOF: Intel: add codec_mask module parameter (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: SOF: Add asynchronous sample rate converter topology support (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: Intel: common: work-around incorrect ACPI HID for CML boards (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: SOF: Intel: split cht and byt debug window sizes (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: SOF: loader: fix snd_sof_fw_parse_ext_data (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: SOF: loader: snd_sof_fw_parse_ext_data log warning on unknown header (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: simple-card: Don't create separate link when platform is present (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: topology: Check return value for soc_tplg_pcm_create() (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: topology: Check return value for snd_soc_add_dai_link() (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: Intel: Skylake: Explicitly include linux/io.h for virt_to_phys() (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: SOF: nocodec: Amend arguments for sof_nocodec_setup() (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: SOF: Remove unused drv_name in sof_pdata (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: SOF: remove nocodec_fw_filename (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: SOF: Make creation of machine device from SOF core optional (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: SOF: intel: hda: Modify signature for hda_codec_probe_bus() (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: SOF: partition audio-related parts from SOF core (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: SOF: Drop superfluous snd_pcm_sgbuf_ops_page (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: SOF: Introduce default_fw_filename member in sof_dev_desc (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: SOF: core: move check for runtime callbacks to core (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: SOF: core: modify the signature for snd_sof_create_page_table (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: sof: pcm: remove snd_pcm_ops (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: SOF: topology: remove snd_sof_init_topology() (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: Intel: bytcr_rt5651: Remove unnecessary string buffers and snprintf calls (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: Intel: bytcr_rt5651: remove unused variable (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: intel/skl/hda - export number of digital microphones via control components (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: hdmi-codec: set plugged_cb to NULL when component removing (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: hdmi-codec: re-introduce mutex locking again (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: hdmi-codec: drop mutex locking again (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: fix soc-core.c kernel-doc warning (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: SOF: Intel: hda: solve MSI issues by merging ipc and stream irq handlers (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: ti: davinci-mcasp: Improve the sysclk selection (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: cs42l51: add dac mux widget in codec routes (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: rsnd: Calculate DALIGN inversion at run-time (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: tlv320aic31xx: Add Volume Soft Stepping control (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: max98090: save and restore SHDN when changing sensitive registers (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: fsl_sai: add IRQF_SHARED (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: tlv320aic31xx: Add HP output driver pop reduction controls (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: mediatek: common: refine hw_params and hw_prepare (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: mediatek: common: add some helpers to control mtk_memif (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: hdac_hdmi: Drop support for Icelake (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: SOF: Intel: make common HDMI driver default (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: Intel: common: Add mach table for tgl-max98357a-rt5682 (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: intel: sof_rt5682: Add support for tgl-max98357a-rt5682 (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: intel: sof_rt5682: Add quirk for number of HDMI DAI's (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: core: only flush inited work during free (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: Intel: bytcr_rt5640: Update quirk for Teclast X89 (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: core: Init pcm runtime work early to avoid warnings (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: Intel: sst: Add missing include (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: max98090: fix possible race conditions (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: max98090: exit workaround earlier if PLL is locked (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: max98090: remove msleep in PLL unlocked workaround (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: wm8904: fix automatic sysclk configuration (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: rt5677: Fix build error without CONFIG_SPI (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: SOF: topology: Fix unload for SAI/ESAI (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: SOF: Intel: BYT: fix a copy/paste mistake in byt_dump() (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: AMD: Enable clk in startup intead of hw_params (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: rt5682: fix i2c arbitration lost issue (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: DMI long name - avoid to add board name if matches with product name (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: improve the DMI long card code in asoc-core (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: rsnd: fix DALIGN register for SSIU (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: component: Add sync_stop PCM ops (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: pcm: Make ioctl ops optional (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: soc-pcm: check symmetry before hw_params (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: pcm3168a: Update the RST gpio handling to align with documentation (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: add control components management (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: soc-pcm: remove soc_pcm_private_free() (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: soc-core: fixup dead-lock at snd_soc_unregister_component() (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: soc-core: fix RIP warning on card removal (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: soc-component: tidyup snd_soc_pcm_component_new/free() parameter (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: Intel: bytcr_rt5640: Update quirk for Acer Switch 10 SW5-012 2-in-1 (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: wm_adsp: Expose mixer control API (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: tlv320aic31xx: configure output common-mode voltage (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: SOF: Intel: Fix CFL and CML FW nocodec binary names (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: SOF: Intel: Fix build break (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: pcm3168a: Add support for optional RST gpio handling (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: wm5100: add missed pm_runtime_disable (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: wm2200: add missed operations in remove and probe failure (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: qcom: q6asm-dai: add support to flac decoder (Jaroslav Kysela) [1797509] - [sound] ALSA: compress: add flac decoder params (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: qcom: q6asm: add support to flac config (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: rt5677: rt5677_check_hotword() can be static (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: rt5682: fix the charge pump capacitor discharges (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: ti: davinci-mcasp: Use dma_request_chan() directly for channel request (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: dmaengine: Use dma_request_chan() directly for channel request (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: soc-core: care card_probed at soc_cleanup_card_resources() (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: soc-core: move snd_soc_unbind_card() next to snd_soc_bind_card() (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: soc-core: call snd_soc_dapm_shutdown() at soc_cleanup_card_resources() (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: rt5645: Fixed typo for buddy jack support (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: wm8904: fix regcache handling (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: soc-core: tidyup soc_probe_aux_devices() (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: soc-core: merge snd_soc_bind_card() and snd_soc_instantiate_card() (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: soc-core: merge soc_remove_component() and soc_cleanup_component() (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: soc-core: merge snd_soc_remove_dai_link() and soc_unbind_dai_link() (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: soc-core: merge snd_soc_add_dai_link() and soc_bind_dai_link() (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: soc-core: merge snd_soc_unregister_dai() and soc_del_dai() (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: soc-core: merge snd_soc_register_dai() and soc_add_dai() (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: soc-core: remove soc_is_dai_link_bound() (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: Jack: Fix NULL pointer dereference in snd_soc_jack_report (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: SOF: topology: free kcontrol memory on error (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: SOF: PM: only suspend to D0I3 when needed (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: SOF: add helper to check if we should enter d0i3 suspend (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: SOF: PM: add check before setting d0_substate (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: SOF: PM: add state machine to comments (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: SOF: Intel: hda: use fallback for firmware name (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: Intel: acpi-match: split CNL tables in three (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: SOF: Intel: Fix CFL and CML FW nocodec binary names (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: rt5682: cancel jack_detect_work if hs_jack is set to null (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: rt5645: Fixed buddy jack support (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: wm8904: configure sysclk/FLL automatically (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: Intel: kbl_rt5663_rt5514_max98927: Add dmic format constraint (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: Add DA7213 audio codec as selectable option (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: rt5677: Wait for DSP to boot before loading firmware (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: rt5677: Set ADC clock to use PLL and enable ASRC (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: bdw-rt5677: Turn on MCLK1 for DSP via DAPM (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: rt5677: Allow VAD to be shut on/off at all times (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: rt5677: Disable irq at suspend (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: rt5677: Stop and restart DSP over suspend/resume (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: rt5677: Mark reg RT5677_PWR_ANLG2 as volatile (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: rt5677: Add DAPM audio path for hotword stream (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: rt5677: Enable jack detect while DSP is running (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: bdw-rt5677: Add a DAI link for rt5677 SPI PCM device (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: fsl_audmix: Add spin lock to protect tdms (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: rt5514-spi: Convert to the common vmalloc memalloc (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: rt5514-spi: remove snd_pcm_ops (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: Remove superfluous snd_dma_continuous_data() (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: SOF: Intel: hda: set L1SEN on S0ix suspend (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: SOF: topology: fix missing NULL pointer check (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: core: Fix compile warning with CONFIG_DEBUG_FS=n (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: SOF: topology: Fix bytes control size checks (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: soc-core: remove topology specific operation (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: soc-core: call snd_soc_register_dai() from snd_soc_register_dais() (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: soc-core: don't call snd_soc_dapm_new_dai_widgets() at snd_soc_register_dai() (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: soc-core: have legacy_dai_naming at snd_soc_register_dai() (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: soc-core: add snd_soc_unregister_dai() (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: soc-core: move snd_soc_unregister_dais() (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: soc-core: move snd_soc_register_dai() (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: soc-core: use snd_soc_lookup_component() at snd_soc_unregister_component() (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: soc-core: remove snd_soc_component_add/del() (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: soc-core: add snd_soc_del_component_unlocked() (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: soc-core: tidyup snd_soc_lookup_component() (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: soc-core: move snd_soc_lookup_component() (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: soc-core: add soc_unbind_dai_link() (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: soc-core: call soc_bind_dai_link() under snd_soc_add_dai_link() (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: soc-core: remove duplicated soc_is_dai_link_bound() (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: soc-core: typo fix at soc_dai_link_sanity_check() (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: soc-core: tidyup soc_init_dai_link() (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: soc-core: move soc_init_dai_link() (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: soc-core: add for_each_rtd_components() and replace (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: soc-core: remove for_each_rtdcom_safe() (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: soc-pcm: Use different sequence for start/stop trigger (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: soc-core: snd_soc_unbind_card() cleanup (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: soc-core: add snd_soc_pcm_lib_ioctl() (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: soc-core: setup card->rtd_num at snd_soc_instantiate_card() (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: soc-core: use devm_xxx for component related resource (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: soc-core: add soc_setup_card_name() (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: soc-core: remove soc_remove_dai_links() (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: soc-core: use devm_kzalloc() for rtd (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: core: Clarify usage of ignore_machine (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: soc-core: remove snd_soc_rtdcom_del_all() (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: soc-core: tidyup soc_new_pcm_runtime() alloc order (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: SOF: topology: set trigger order for FE DAI link (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: pcm: update FE/BE trigger order based on the command (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: max98373: replace gpio_request with devm_gpio_request (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: Intel: Skylake: mark HDAudio codec support as deprecated (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: SOF: Intel: use def_tristate, avoid using select (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: SOF: imx: fix reverse CONFIG_SND_SOC_SOF_OF dependency (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: SOF: Kconfig: add EXPERT dependency for developer options, clarify help (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: Intel: add mutual exclusion between SOF and legacy Baytrail driver (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: SOF: Intel: Broadwell: clarify mutual exclusion with legacy driver (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: SOF: Intel: Baytrail: clarify mutual exclusion with Atom/SST driver (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: SOF: Intel: hda: Simplify the hda_dsp_wait_d0i3c_done() function (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: Intel: Add acpi match for rt1011 based m/c driver (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: ux500: Remove redundant variable "status" (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: hdac_hda: fix race in device removal (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: rt1011: set the different setting for QFN/WLCSP package (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: rt1011: some minor changes to improve readability (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: rt1011: add the range check for temperature_calib from device property (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: rt1011: remove unnecessary tabs using spaces instead (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: rt1011: fix spelling mistake "temperture" -> "temperature" (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: rt1011: Read and apply r0 and temperature device property (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: rt1011: set tx/rx slots from tx/rx_mask in TDM case (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: rt1011: improve the rt1011_set_dai_fmt() function (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: rt1011: remove redundant code in kcontrol (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: soc-core: remove unneeded snd_soc_tplg_component_remove() (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: rt5677-spi: Use managed buffer allocation (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: rt5677: Load firmware via SPI using delayed work (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: rt5677-spi: Convert to the common vmalloc memalloc (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: rt5677-spi: fixup compile warning (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: rt5677-spi: fix sparse warnings (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: rt5677: Add missing null check for failed allocation of rt5677_dsp (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: rt5677: Add a PCM device for streaming hotword via SPI (Jaroslav Kysela) [1797509] - [sound] ALSA: serial-u16550: More constification (Jaroslav Kysela) [1797509] - [sound] ALSA: opl4: More constification (Jaroslav Kysela) [1797509] - [sound] ALSA: seq: oss: Constify snd_seq_oss_callback definitions (Jaroslav Kysela) [1797509] - [sound] ALSA: opl3: More constifications (Jaroslav Kysela) [1797509] - [sound] ALSA: opl3: Constify snd_opl3_drum_voice definitions (Jaroslav Kysela) [1797509] - [sound] ALSA: mts64: More constifications (Jaroslav Kysela) [1797509] - [sound] ALSA: dummy: Constify snd_pcm_ops definitions (Jaroslav Kysela) [1797509] - [sound] ALSA: dummy: Fix PCM format loop in proc output (Jaroslav Kysela) [1797509] - [sound] ALSA: dummy: More constifications (Jaroslav Kysela) [1797509] - [sound] ALSA: drivers: Constify snd_kcontrol_new items (Jaroslav Kysela) [1797509] - [sound] ALSA: aloop: Fix dependency on timer API (Jaroslav Kysela) [1797509] - [sound] ALSA: hda: do not override bus codec_mask in link_get() (Jaroslav Kysela) [1797509] - [sound] ALSA: hda: Reset stream if DMA RUN bit not cleared (Jaroslav Kysela) [1797509] - [sound] ALSA: hda: No preallocation on x86 platforms (Jaroslav Kysela) [1797509] - [sound] ALSA: hda: Update kernel-doc function parameter descriptions (Jaroslav Kysela) [1797509] - [sound] ALSA: hda: Comment about snd_hdac_bus_update_rirb() and spinlock (Jaroslav Kysela) [1797509] - [sound] ALSA: via82xx: Drop superfluous ioctl PCM ops (Jaroslav Kysela) [1797509] - [sound] ALSA: trident: Drop superfluous ioctl PCM ops (Jaroslav Kysela) [1797509] - [sound] ALSA: rme32: Use managed buffer allocation (Jaroslav Kysela) [1797509] - [sound] ALSA: pcxhr: Use managed buffer allocation (Jaroslav Kysela) [1797509] - [sound] ALSA: intel8x0: Drop superfluous ioctl PCM ops (Jaroslav Kysela) [1797509] - [sound] ALSA: hda: Apply aligned MMIO access only conditionally (Jaroslav Kysela) [1797509] - [sound] ALSA: remove ioremap_nocache and devm_ioremap_nocache (Jaroslav Kysela) [1797509] - [sound] ALSA: au88x0: Use managed buffer allocation (Jaroslav Kysela) [1797509] - [sound] ALSA: atiixp: Drop superfluous ioctl PCM ops (Jaroslav Kysela) [1797509] - [sound] ALSA: asihpi: Drop superfluous ioctl PCM ops (Jaroslav Kysela) [1797509] - [sound] ALSA: pci: Drop superfluous ioctl PCM ops (Jaroslav Kysela) [1797509] - [sound] ALSA: hda/realtek - Enable the headset of ASUS B9450FA with ALC294 (Jaroslav Kysela) [1797509] - [sound] ALSA: hda/realtek - Fix silent output on Gigabyte X570 Aorus Master (Jaroslav Kysela) [1797509] - [sound] ALSA: hda/realtek - Add Headset Button supported for ThinkPad X1 (Jaroslav Kysela) [1797509] - [sound] ALSA: hda/realtek - Add Headset Mic supported (Jaroslav Kysela) [1797509] - [sound] ALSA: hda/realtek - Fix a regression for mute led on Lenovo Carbon X1 (Jaroslav Kysela) [1797509] - [sound] ALSA: hda: Use scnprintf() for printing texts for sysfs/procfs (Jaroslav Kysela) [1797509] - [sound] ALSA: hda/realtek - Apply quirk for yet another MSI laptop (Jaroslav Kysela) [1797509] - [sound] ALSA: hda/realtek - Apply quirk for MSI GP63, too (Jaroslav Kysela) [1797509] - [sound] ALSA: hda/realtek - Fix silent output on MSI-GL73 (Jaroslav Kysela) [1797509] - [sound] ALSA: hda/realtek - Add more codec supported Headset Button (Jaroslav Kysela) [1797509] - [sound] ALSA: hda: Clear RIRB status before reading WP (Jaroslav Kysela) [1797509] - [sound] ALSA: hda/realtek - Fixed one of HP ALC671 platform Headset Mic supported (Jaroslav Kysela) [1797509] - [sound] ALSA: hda - Fix DP-MST support for NVIDIA codecs (Jaroslav Kysela) [1797509] - [sound] ALSA: hdsp: Make the firmware loading ioctl a bit more readable (Jaroslav Kysela) [1797509] - [sound] ALSA: emu10k1: Fix annotation and cast for the recent uapi header change (Jaroslav Kysela) [1797509] - [sound] ALSA: hda: Add JasperLake PCI ID and codec vid (Jaroslav Kysela) [1797509] - [sound] ALSA: hda: Add Clevo W65_67SB the power_save blacklist (Jaroslav Kysela) [1797509] - [sound] ALSA: cs46xx: fix spelling mistake "to" -> "too" (Jaroslav Kysela) [1797509] - [sound] ALSA: hda - Add docking station support for Lenovo Thinkpad T420s (Jaroslav Kysela) [1797509] - [sound] ALSA: hda/hdmi - add retry logic to parse_intel_hdmi() (Jaroslav Kysela) [1797509] - [sound] ALSA: hda/realtek - Add Headset Mic supported for HP cPC (Jaroslav Kysela) [1797509] - [sound] ALSA: hda/analog - Minor optimization for SPDIF mux connections (Jaroslav Kysela) [1797509] - [sound] ALSA: hda: patch_hdmi: remove warnings with empty body (Jaroslav Kysela) [1797509] - [sound] ALSA: hda: correct kernel-doc parameter descriptions (Jaroslav Kysela) [1797509] - [sound] ALSA: hda: Manage concurrent reg access more properly (Jaroslav Kysela) [1797509] - [sound] ALSA: hda: enable regmap internal locking (Jaroslav Kysela) [1797509] - [sound] ALSA: hda: Fix a typo in comments (Jaroslav Kysela) [1797509] - [sound] ALSA: hda: Disable regmap internal locking (Jaroslav Kysela) [1797509] - [sound] ALSA: hda: patch_realtek: fix empty macro usage in if block (Jaroslav Kysela) [1797509] - [sound] ALSA: hda: Rename back to dmic_detect option (Jaroslav Kysela) [1797509] - [sound] ALSA: pci: echoaudio: remove set but not used variable 'chip' (Jaroslav Kysela) [1797509] - [sound] ALSA: hda/realtek - Add quirk for the bass speaker on Lenovo Yoga X1 7th gen (Jaroslav Kysela) [1797509] - [sound] ALSA: hda/realtek - Set EAPD control to default for ALC222 (Jaroslav Kysela) [1797509] - [sound] ALSA: via82xx: More constification (Jaroslav Kysela) [1797509] - [sound] ALSA: fm801: More constification (Jaroslav Kysela) [1797509] - [sound] ALSA: ens137x: More constification (Jaroslav Kysela) [1797509] - [sound] ALSA: echoaudio: More constification (Jaroslav Kysela) [1797509] - [sound] ALSA: cs4281: More constification (Jaroslav Kysela) [1797509] - [sound] ALSA: azt3328: More constification (Jaroslav Kysela) [1797509] - [sound] ALSA: ak4531: More constification (Jaroslav Kysela) [1797509] - [sound] ALSA: lx6464es: More constifications (Jaroslav Kysela) [1797509] - [sound] ALSA: aw2: More constifications (Jaroslav Kysela) [1797509] - [sound] ALSA: cmipci: More constifications (Jaroslav Kysela) [1797509] - [sound] ALSA: es1968: More constifications (Jaroslav Kysela) [1797509] - [sound] ALSA: es1938: More constifications (Jaroslav Kysela) [1797509] - [sound] ALSA: atiixp: More constifications (Jaroslav Kysela) [1797509] - [sound] ALSA: asihpi: More constifications (Jaroslav Kysela) [1797509] - [sound] ALSA: ctxfi: More constifications (Jaroslav Kysela) [1797509] - [sound] ALSA: ca0106: More constifications (Jaroslav Kysela) [1797509] - [sound] ALSA: cs46xx: More constifications (Jaroslav Kysela) [1797509] - [sound] ALSA: korg1212: More constifications (Jaroslav Kysela) [1797509] - [sound] ALSA: nm256: More constifications (Jaroslav Kysela) [1797509] - [sound] ALSA: ymfpci: More constifications (Jaroslav Kysela) [1797509] - [sound] ALSA: mixart: More constifications (Jaroslav Kysela) [1797509] - [sound] ALSA: pcxhr: More constifications (Jaroslav Kysela) [1797509] - [sound] ALSA: rme9652: More constifications (Jaroslav Kysela) [1797509] - [sound] ALSA: hdspm: More constifications (Jaroslav Kysela) [1797509] - [sound] ALSA: hdsp: More constifications (Jaroslav Kysela) [1797509] - [sound] ALSA: ice1712: More constifications (Jaroslav Kysela) [1797509] - [sound] ALSA: riptide: More constifications (Jaroslav Kysela) [1797509] - [sound] ALSA: emu10k1: More constifications (Jaroslav Kysela) [1797509] - [sound] ALSA: au88x0: More constifications (Jaroslav Kysela) [1797509] - [sound] ALSA: ac97: More constifications (Jaroslav Kysela) [1797509] - [sound] ALSA: hda: More constifications (Jaroslav Kysela) [1797509] - [sound] ALSA: intel8x0: More constifications (Jaroslav Kysela) [1797509] - [sound] ALSA: vx: More constifications (Jaroslav Kysela) [1797509] - [sound] ALSA: hda/realtek - More constifications (Jaroslav Kysela) [1797509] - [sound] ALSA: hda/realtek - Apply mic mute LED quirk for Dell E7xx laptops, too (Jaroslav Kysela) [1797509] - [sound] ALSA: hda/realtek - Add new codec supported for ALCS1200A (Jaroslav Kysela) [1797509] - [sound] ALSA: hda - constify and cleanup static NodeID tables (Jaroslav Kysela) [1797509] - [sound] ALSA: pci: Constify snd_pci_quirk tables (Jaroslav Kysela) [1797509] - [sound] ALSA: hda: Constify snd_pci_quirk tables (Jaroslav Kysela) [1797509] - [sound] ALSA: fm801: Constify snd_fm801_tea575x_gpios (Jaroslav Kysela) [1797509] - [sound] ALSA: es1968: Constify snd_es1968_tea575x_gpios (Jaroslav Kysela) [1797509] - [sound] ALSA: emu10k1: Constify snd_emu_chip_details (Jaroslav Kysela) [1797509] - [sound] ALSA: bt87x: Constify snd_bt87x_boards (Jaroslav Kysela) [1797509] - [sound] ALSA: ice1712: Constify wm-specific tables (Jaroslav Kysela) [1797509] - [sound] ALSA: ice17xx: Constify snd_ice1712_card_info (Jaroslav Kysela) [1797509] - [sound] ALSA: ca0106: Constify snd_ca0106_details (Jaroslav Kysela) [1797509] - [sound] ALSA: ca0106: Constify snd_ca0106_category_str items (Jaroslav Kysela) [1797509] - [sound] ALSA: ac97: Constify snd_ac97_res_table definition (Jaroslav Kysela) [1797509] - [sound] ALSA: pci: Constify snd_kcontrol_new items (Jaroslav Kysela) [1797509] - [sound] ALSA: hda: Constify snd_kcontrol_new items (Jaroslav Kysela) [1797509] - [sound] ALSA: vx: Constify snd_vx_hardware and snd_vx_ops definitions (Jaroslav Kysela) [1797509] - [sound] ALSA: info: Make snd_info_entry_ops as const (Jaroslav Kysela) [1797509] - [sound] ALSA: pci: Constify snd_ac97_bus_ops definitions (Jaroslav Kysela) [1797509] - [sound] ALSA: ac97: Treat snd_ac97_bus_ops as const (Jaroslav Kysela) [1797509] - [sound] ALSA: Constify snd_timer_hardware definitions (Jaroslav Kysela) [1797509] - [sound] ALSA: pci: Constify snd_device_ops definitions (Jaroslav Kysela) [1797509] - [sound] ALSA: hda: Constify snd_device_ops definitions (Jaroslav Kysela) [1797509] - [sound] ALSA: pci: Constify snd_pcm_hardware definitions (Jaroslav Kysela) [1797509] - [sound] ALSA: hda: constify copied structure (Jaroslav Kysela) [1797509] - [sound] ALSA: hda/realtek - Enable the bass speaker of ASUS UX431FLC (Jaroslav Kysela) [1797509] - [sound] ALSA: ice1724: Fix sleep-in-atomic in Infrasonic Quartet support code (Jaroslav Kysela) [1797509] - [sound] ALSA: hda/realtek - Add Bass Speaker and fixed dac for bass speaker (Jaroslav Kysela) [1797509] - [sound] ALSA: hda - Apply sync-write workaround to old Intel platforms, too (Jaroslav Kysela) [1797509] - [sound] ALSA: pci: echoaudio: remove usage of dimen menber of elem_value structure (Jaroslav Kysela) [1797509] - [sound] ALSA: hda/hdmi - fix atpx_present when CLASS is not VGA (Jaroslav Kysela) [1797509] - [sound] ALSA: emu10k1: Make uapi/emu10k1.h compilable again (Jaroslav Kysela) [1797509] - [sound] ALSA: hda/realtek - Add headset Mic no shutup for ALC283 (Jaroslav Kysela) [1797509] - [sound] ALSA: cmipci: Allow disabling MPU port via module option (Jaroslav Kysela) [1797509] - [sound] ALSA: hda - Downgrade error message for single-cmd fallback (Jaroslav Kysela) [1797509] - [sound] ALSA: hda: Fix regression by strip mask fix (Jaroslav Kysela) [1797509] - [sound] ALSA: hda/ca0132 - Fix work handling in delayed HP detection (Jaroslav Kysela) [1797509] - [sound] ALSA: hda/ca0132 - Avoid endless loop (Jaroslav Kysela) [1797509] - [sound] ALSA: hda/ca0132 - Keep power on during processing DSP response (Jaroslav Kysela) [1797509] - [sound] ALSA: hda: Unify get_response handling (Jaroslav Kysela) [1797509] - [sound] ALSA: hda: Use waitqueue for RIRB in HDA-core helper, too (Jaroslav Kysela) [1797509] - [sound] ALSA: hda: tegra: Fix unused variable compile warning (Jaroslav Kysela) [1797509] - [sound] ALSA: hdsp: Make uapi/hdsp.h compilable again (Jaroslav Kysela) [1797509] - [sound] ALSA: vx222: Support PCM sync_stop (Jaroslav Kysela) [1797509] - [sound] ALSA: pcxhr: Support PCM sync_stop (Jaroslav Kysela) [1797509] - [sound] ALSA: mixart: Support PCM sync_stop (Jaroslav Kysela) [1797509] - [sound] ALSA: lx6464es: Support PCM sync_stop (Jaroslav Kysela) [1797509] - [sound] ALSA: ymfpci: Support PCM sync_stop (Jaroslav Kysela) [1797509] - [sound] ALSA: via82xx: Support PCM sync_stop (Jaroslav Kysela) [1797509] - [sound] ALSA: trident: Support PCM sync_stop (Jaroslav Kysela) [1797509] - [sound] ALSA: sonicvibes: Support PCM sync_stop (Jaroslav Kysela) [1797509] - [sound] ALSA: sis7019: Support PCM sync_stop (Jaroslav Kysela) [1797509] - [sound] ALSA: rme9652: Support PCM sync_stop (Jaroslav Kysela) [1797509] - [sound] ALSA: rme96: Support PCM sync_stop (Jaroslav Kysela) [1797509] - [sound] ALSA: rme32: Support PCM sync_stop (Jaroslav Kysela) [1797509] - [sound] ALSA: riptide: Support PCM sync_stop (Jaroslav Kysela) [1797509] - [sound] ALSA: oxygen: Support PCM sync_stop (Jaroslav Kysela) [1797509] - [sound] ALSA: nm256: Support PCM sync_stop (Jaroslav Kysela) [1797509] - [sound] ALSA: maestro3: Support PCM sync_stop (Jaroslav Kysela) [1797509] - [sound] ALSA: lola: Support PCM sync_stop (Jaroslav Kysela) [1797509] - [sound] ALSA: korg1212: Support PCM sync_stop (Jaroslav Kysela) [1797509] - [sound] ALSA: intel8x0: Support PCM sync_stop (Jaroslav Kysela) [1797509] - [sound] ALSA: ice1724: Support PCM sync_stop (Jaroslav Kysela) [1797509] - [sound] ALSA: ice1712: Support PCM sync_stop (Jaroslav Kysela) [1797509] - [sound] ALSA: hda: Support PCM sync_stop (Jaroslav Kysela) [1797509] - [sound] ALSA: fm801: Support PCM sync_stop (Jaroslav Kysela) [1797509] - [sound] ALSA: es1968: Support PCM sync_stop (Jaroslav Kysela) [1797509] - [sound] ALSA: es1938: Support PCM sync_stop (Jaroslav Kysela) [1797509] - [sound] ALSA: ens137x: Support PCM sync_stop (Jaroslav Kysela) [1797509] - [sound] ALSA: emu10k1: Support PCM sync_stop (Jaroslav Kysela) [1797509] - [sound] ALSA: echoaudio: Support PCM sync_stop (Jaroslav Kysela) [1797509] - [sound] ALSA: ctxfi: Support PCM sync_stop (Jaroslav Kysela) [1797509] - [sound] ALSA: cs5535audio: Support PCM sync_stop (Jaroslav Kysela) [1797509] - [sound] ALSA: cs46xx: Support PCM sync_stop (Jaroslav Kysela) [1797509] - [sound] ALSA: cs4281: Support PCM sync_stop (Jaroslav Kysela) [1797509] - [sound] ALSA: cmipci: Support PCM sync_stop (Jaroslav Kysela) [1797509] - [sound] ALSA: ca0106: Support PCM sync_stop (Jaroslav Kysela) [1797509] - [sound] ALSA: bt87x: Support PCM sync_stop (Jaroslav Kysela) [1797509] - [sound] ALSA: azt3328: Support PCM sync_stop (Jaroslav Kysela) [1797509] - [sound] ALSA: aw2: Support PCM sync_stop (Jaroslav Kysela) [1797509] - [sound] ALSA: au88x0: Support PCM sync_stop (Jaroslav Kysela) [1797509] - [sound] ALSA: atiixp: Support PCM sync_stop (Jaroslav Kysela) [1797509] - [sound] ALSA: als300: Support PCM sync_stop (Jaroslav Kysela) [1797509] - [sound] ALSA: ali5451: Support PCM sync_stop (Jaroslav Kysela) [1797509] - [sound] ALSA: ad1889: Support PCM sync_stop (Jaroslav Kysela) [1797509] - [sound] ALSA: hda/realtek - Line-out jack doesn't work on a Dell AIO (Jaroslav Kysela) [1797509] - [sound] ALSA: hda/hdmi - Fix duplicate unref of pci_dev (Jaroslav Kysela) [1797509] - [sound] ALSA: echoaudio: simplify get_audio_levels (Jaroslav Kysela) [1797509] - [sound] ALSA: hda: hdmi - Keep old slot assignment behavior for Intel platforms (Jaroslav Kysela) [1797509] - [sound] ALSA: hda: Modify stream stripe mask only when needed (Jaroslav Kysela) [1797509] - [sound] ALSA: hda - fixup for the bass speaker on Lenovo Carbon X1 7th gen (Jaroslav Kysela) [1797509] - [sound] ALSA: hda: hdmi - preserve non-MST PCM routing for Intel platforms (Jaroslav Kysela) [1797509] - [sound] ALSA: hda: hdmi - fix kernel oops caused by invalid PCM idx (Jaroslav Kysela) [1797509] - [sound] ALSA: hda/realtek - Fix inverted bass GPIO pin on Acer 8951G (Jaroslav Kysela) [1797509] - [sound] ALSA: hda/realtek - Dell headphone has noise on unmute for ALC236 (Jaroslav Kysela) [1797509] - [sound] ALSA: hda: hdmi - fix regression in connect list handling (Jaroslav Kysela) [1797509] - [sound] ALSA: hda/hdmi - enable automatic runtime pm for AMD HDMI codecs by default (Jaroslav Kysela) [1797509] - [sound] ALSA: hda/hdmi - enable runtime pm for newer AMD display audio (Jaroslav Kysela) [1797509] - [sound] ALSA: hda/hdmi - Add new pci ids for AMD GPU display audio (Jaroslav Kysela) [1797509] - [sound] ALSA: hda/hdmi - fix vgaswitcheroo detection for AMD (Jaroslav Kysela) [1797509] - [sound] ALSA: hda/realtek - Enable internal speaker of ASUS UX431FLC (Jaroslav Kysela) [1797509] - [sound] ALSA: hda/hdmi - Clear codec->relaxed_resume flag at unbinding (Jaroslav Kysela) [1797509] - [sound] ALSA: hda - Disable audio component for legacy Nvidia HDMI codecs (Jaroslav Kysela) [1797509] - [sound] ALSA: hda/realtek - Enable the headset-mic on a Xiaomi's laptop (Jaroslav Kysela) [1797509] - [sound] ALSA: hda/realtek - Move some alc236 pintbls to fallback table (Jaroslav Kysela) [1797509] - [sound] ALSA: hda/realtek - Move some alc256 pintbls to fallback table (Jaroslav Kysela) [1797509] - [sound] ALSA: hda - Add mute led support for HP ProBook 645 G4 (Jaroslav Kysela) [1797509] - [sound] ALSA: hda - Add DP-MST support for NVIDIA codecs (Jaroslav Kysela) [1797509] - [sound] ALSA: hda - Add DP-MST support for non-acomp codecs (Jaroslav Kysela) [1797509] - [sound] ALSA: hda - Add DP-MST jack support (Jaroslav Kysela) [1797509] - [sound] ALSA: hda - Rename snd_hda_pin_sense to snd_hda_jack_pin_sense (Jaroslav Kysela) [1797509] - [sound] ALSA: hda - remove forced polling workaround for CFL and CNL (Jaroslav Kysela) [1797509] - [sound] ALSA: hda: hdmi - remove redundant code comments (Jaroslav Kysela) [1797509] - [sound] ALSA: hda: hdmi - fix port numbering for ICL and TGL platforms (Jaroslav Kysela) [1797509] - [sound] ALSA: hda/hdmi - Clean up Intel platform-specific fixup checks (Jaroslav Kysela) [1797509] - [sound] ALSA: au88x0: Fix incorrect device pointer for preallocation (Jaroslav Kysela) [1797509] - [sound] ALSA: hda: hdmi - fix pin setup on Tigerlake (Jaroslav Kysela) [1797509] - [sound] ALSA: hda: Add Cometlake-S PCI ID (Jaroslav Kysela) [1797509] - [sound] ALSA: rme32: Remove superfluous snd_dma_continuous_data() (Jaroslav Kysela) [1797509] - [sound] ALSA: hda: hdmi - add Tigerlake support (Jaroslav Kysela) [1797509] - [sound] ALSA: hda/ca0132 - Fix possible workqueue stall (Jaroslav Kysela) [1797509] - [sound] ALSA: seq: Fix concurrent access to queue current tick/time (Jaroslav Kysela) [1797509] - [sound] ALSA: seq: Avoid concurrent access to queue flags (Jaroslav Kysela) [1797509] - [sound] ALSA: pcm: Fix double hw_free calls (Jaroslav Kysela) [1797509] - [sound] ALSA: pcm: Fix sparse warnings wrt snd_pcm_state_t (Jaroslav Kysela) [1797509] - [sound] ALSA: pcm: Fix memory leak at closing a stream without hw_free (Jaroslav Kysela) [1797509] - [sound] ALSA: pcm: Set per-card upper limit of PCM buffer allocations (Jaroslav Kysela) [1797509] - [sound] ALSA: pcm: Make snd_pcm_hw_constraints_init() and _complete() static (Jaroslav Kysela) [1797509] - [sound] ALSA: seq: Fix racy access for queue timer in proc read (Jaroslav Kysela) [1797509] - [sound] ALSA: timer: fix nsec/sec initialization confusion (Jaroslav Kysela) [1797509] - [sound] ALSA: control: potential uninitialized return value (Jaroslav Kysela) [1797509] - [sound] ALSA: rawmidi: More constification (Jaroslav Kysela) [1797509] - [sound] ALSA: oss: More constifications (Jaroslav Kysela) [1797509] - [sound] ALSA: jack: More constification (Jaroslav Kysela) [1797509] - [sound] ALSA: info: More constifications (Jaroslav Kysela) [1797509] - [sound] ALSA: seq: More constifications (Jaroslav Kysela) [1797509] - [sound] ALSA: pcm: More constifications (Jaroslav Kysela) [1797509] - [sound] ALSA: control: Add verification for kctl accesses (Jaroslav Kysela) [1797509] - [sound] ALSA: mixer: oss: Constify snd_mixer_oss_assign_table definition (Jaroslav Kysela) [1797509] - [sound] ALSA: seq: Constify struct snd_midi_op (Jaroslav Kysela) [1797509] - [sound] ALSA: timer: Constify snd_timer_hardware definitions (Jaroslav Kysela) [1797509] - [sound] ALSA: core: Constify snd_device_ops definitions (Jaroslav Kysela) [1797509] - [sound] ALSA: core: Treat snd_device_ops as const (Jaroslav Kysela) [1797509] - [sound] ALSA: ctl: allow TLV read operation for callback type of element in locked case (Jaroslav Kysela) [1797509] - [sound] ALSA: ctl: remove dimen member from elem_info structure (Jaroslav Kysela) [1797509] - [sound] ALSA: pcm: Avoid possible info leaks from PCM stream buffers (Jaroslav Kysela) [1797509] - [sound] ALSA: control: remove useless assignment in .info callback of PCM chmap element (Jaroslav Kysela) [1797509] - [sound] ALSA: uapi: Fix typos and header inclusion in asound.h (Jaroslav Kysela) [1797509] - [sound] ALSA: bump uapi version numbers (Jaroslav Kysela) [1797509] - [sound] ALSA: add new 32-bit layout for snd_pcm_mmap_status/control (Jaroslav Kysela) [1797509] - [sound] ALSA: move snd_pcm_ioctl_sync_ptr_compat into pcm_native.c (Jaroslav Kysela) [1797509] - [sound] ALSA: Avoid using timespec for struct snd_ctl_elem_value (Jaroslav Kysela) [1797509] - [sound] ALSA: Avoid using timespec for struct snd_timer_tread (Jaroslav Kysela) [1797509] - [sound] ALSA: Avoid using timespec for struct snd_rawmidi_status (Jaroslav Kysela) [1797509] - [sound] ALSA: Avoid using timespec for struct snd_pcm_status (Jaroslav Kysela) [1797509] - [sound] ALSA: Avoid using timespec for struct snd_timer_status (Jaroslav Kysela) [1797509] - [sound] ALSA: Replace timespec with timespec64 (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: soc-pcm: fixup dpcm_prune_paths() loop continue (Jaroslav Kysela) [1797509] - [sound] ALSA: ps3: Use managed buffer allocation (Jaroslav Kysela) [1797509] - [sound] ALSA: pmac: Use managed buffer allocation (Jaroslav Kysela) [1797509] - [sound] ALSA: ymfpci: Use managed buffer allocation (Jaroslav Kysela) [1797509] - [sound] ALSA: via82xx: Use managed buffer allocation (Jaroslav Kysela) [1797509] - [sound] ALSA: trident: Use managed buffer allocation (Jaroslav Kysela) [1797509] - [sound] ALSA: sonicvibes: Use managed buffer allocation (Jaroslav Kysela) [1797509] - [sound] ALSA: sis7019: Use managed buffer allocation (Jaroslav Kysela) [1797509] - [sound] ALSA: riptide: Use managed buffer allocation (Jaroslav Kysela) [1797509] - [sound] ALSA: oxygen: Use managed buffer allocation (Jaroslav Kysela) [1797509] - [sound] ALSA: mixart: Use managed buffer allocation (Jaroslav Kysela) [1797509] - [sound] ALSA: maestro3: Use managed buffer allocation (Jaroslav Kysela) [1797509] - [sound] ALSA: lx6464es: Use managed buffer allocation (Jaroslav Kysela) [1797509] - [sound] ALSA: lola: Use managed buffer allocation (Jaroslav Kysela) [1797509] - [sound] ALSA: intel8x0: Use managed buffer allocation (Jaroslav Kysela) [1797509] - [sound] ALSA: ice1724: Use managed buffer allocation (Jaroslav Kysela) [1797509] - [sound] ALSA: ice1712: Use managed buffer allocation (Jaroslav Kysela) [1797509] - [sound] ALSA: fm801: Use managed buffer allocation (Jaroslav Kysela) [1797509] - [sound] ALSA: es1938: Use managed buffer allocation (Jaroslav Kysela) [1797509] - [sound] ALSA: ens137x: Use managed buffer allocation (Jaroslav Kysela) [1797509] - [sound] ALSA: emu10k1: Use managed buffer allocation (Jaroslav Kysela) [1797509] - [sound] ALSA: emu10k1x: Use managed buffer allocation (Jaroslav Kysela) [1797509] - [sound] ALSA: echoaudio: Use managed buffer allocation (Jaroslav Kysela) [1797509] - [sound] ALSA: ctxfi: Use managed buffer allocation (Jaroslav Kysela) [1797509] - [sound] ALSA: cs5535: Use managed buffer allocation (Jaroslav Kysela) [1797509] - [sound] ALSA: cs4281: Use managed buffer allocation (Jaroslav Kysela) [1797509] - [sound] ALSA: cmipci: Use managed buffer allocation (Jaroslav Kysela) [1797509] - [sound] ALSA: ca0106: Use managed buffer allocation (Jaroslav Kysela) [1797509] - [sound] ALSA: bt87x: Use managed buffer allocation (Jaroslav Kysela) [1797509] - [sound] ALSA: azt3328: Use managed buffer allocation (Jaroslav Kysela) [1797509] - [sound] ALSA: aw2: Use managed buffer allocation (Jaroslav Kysela) [1797509] - [sound] ALSA: atiixp: Use managed buffer allocation (Jaroslav Kysela) [1797509] - [sound] ALSA: asihpi: Use managed buffer allocation (Jaroslav Kysela) [1797509] - [sound] ALSA: als4000: Use managed buffer allocation (Jaroslav Kysela) [1797509] - [sound] ALSA: parisc: Use managed buffer allocation (Jaroslav Kysela) [1797509] - [sound] ALSA: wss: Use managed buffer allocation (Jaroslav Kysela) [1797509] - [sound] ALSA: gus: Use managed buffer allocation (Jaroslav Kysela) [1797509] - [sound] ALSA: sb: Use managed buffer allocation (Jaroslav Kysela) [1797509] - [sound] ALSA: es18xx: Use managed buffer allocation (Jaroslav Kysela) [1797509] - [sound] ALSA: es1688: Use managed buffer allocation (Jaroslav Kysela) [1797509] - [sound] ALSA: cmi8330: Use managed buffer allocation (Jaroslav Kysela) [1797509] - [sound] ALSA: ad1816a: Use managed buffer allocation (Jaroslav Kysela) [1797509] - [sound] ALSA: pcsp: Use managed buffer allocation (Jaroslav Kysela) [1797509] - [sound] ALSA: atmel: Use managed buffer allocation (Jaroslav Kysela) [1797509] - [sound] ALSA: aaci: Use managed buffer allocation (Jaroslav Kysela) [1797509] - [sound] ALSA: aoa: Use managed buffer allocation (Jaroslav Kysela) [1797509] - [sound] ALSA: aoa: Avoid non-standard macro usage (Jaroslav Kysela) [1797509] - [sound] ALSA: echoaudio: Avoid non-standard macro usage (Jaroslav Kysela) [1797509] - [sound] ALSA: es1968: Avoid non-standard macro usage (Jaroslav Kysela) [1797509] - [sound] ALSA: rme: Avoid non-standard macro usage (Jaroslav Kysela) [1797509] - [sound] ALSA: als300: Use managed buffer allocation (Jaroslav Kysela) [1797509] - [sound] ALSA: ali5451: Use managed buffer allocation (Jaroslav Kysela) [1797509] - [sound] ALSA: ad1889: Use managed buffer allocation (Jaroslav Kysela) [1797509] - [sound] ALSA: pci: Avoid non-standard macro usage (Jaroslav Kysela) [1797509] - [sound] ALSA: hda: Use managed buffer allocation (Jaroslav Kysela) [1797509] - [sound] ALSA: hda: Use standard waitqueue for RIRB wakeup (Jaroslav Kysela) [1797509] - [sound] ALSA: pci: Drop superfluous snd_pcm_sgbuf_ops_page (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: intel: atom: Use managed buffer allocation (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: intel: Drop superfluous ioctl PCM ops (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: intel: sst-mfld-platform-pcm: remove snd_pcm_ops (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: intel: sst-baytrail-pcm: remove snd_pcm_ops (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: intel: Drop superfluous snd_pcm_sgbuf_ops_page (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: intel: sst-haswell-pcm: remove snd_pcm_ops (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: intel: skylake: Use managed buffer allocation (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: intel: Avoid non-standard macro usage (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: intel: skl-pcm: remove snd_pcm_ops (Jaroslav Kysela) [1797509] - [sound] ALSA: drivers: Constify snd_ac97_bus_ops definitions (Jaroslav Kysela) [1797509] - [sound] ALSA: drivers: Constify snd_device_ops definitions (Jaroslav Kysela) [1797509] - [sound] ALSA: drivers: Drop superfluous ioctl PCM ops (Jaroslav Kysela) [1797509] - [sound] ALSA: ml403: Use managed buffer allocation (Jaroslav Kysela) [1797509] - [sound] ALSA: vx: Use managed buffer allocation (Jaroslav Kysela) [1797509] - [sound] ALSA: vx: Convert to the common vmalloc memalloc (Jaroslav Kysela) [1797509] - [sound] ALSA: dummy: Use managed buffer allocation (Jaroslav Kysela) [1797509] - [sound] ALSA: drivers: Remove superfluous snd_dma_continuous_data() (Jaroslav Kysela) [1797509] - [sound] ALSA: aloop: Use managed buffer allocation (Jaroslav Kysela) [1797509] - [sound] ALSA: aloop: Avoid pointer dereference before null-check (Jaroslav Kysela) [1797509] - [sound] ALSA: aloop: Avoid unexpected timer event callback tasklets (Jaroslav Kysela) [1797509] - [sound] ALSA: aloop: Remove redundant locking in timer open function (Jaroslav Kysela) [1797509] - [sound] ALSA: aloop: Support runtime change of snd_timer via info interface (Jaroslav Kysela) [1797509] - [sound] ALSA: aloop: Support selection of snd_timer instead of jiffies (Jaroslav Kysela) [1797509] - [sound] ALSA: aloop: Move CABLE_VALID_BOTH to the top of file (Jaroslav Kysela) [1797509] - [sound] ALSA: aloop: Rename all jiffies timer specific functions (Jaroslav Kysela) [1797509] - [sound] ALSA: aloop: Use callback functions for timer specific implementations (Jaroslav Kysela) [1797509] - [sound] ALSA: aloop: Support return of error code for timer start and stop (Jaroslav Kysela) [1797509] - [sound] ALSA: aloop: Describe units of variables (Jaroslav Kysela) [1797509] - [sound] ALSA: aloop: Convert to the common vmalloc memalloc (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: soc-core: merge soc_free_pcm_runtime() and soc_rtd_free() (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: soc-core: merge soc_new_pcm_runtime() and soc_rtd_init() (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: soc-core: create rtd->codec_dais first (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: soc-core: call list_del(&rtd->list) at soc_free_pcm_runtime() (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: soc-core: merge soc_add_pcm_runtime() into soc_new_pcm_runtime() (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: soc-core: move soc_free_pcm_runtime() (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: core: use list_del_init and move it back to soc_cleanup_component (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: core: delete component->card_list in soc_remove_component only (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: soc-component: remove snd_pcm_ops from component driver (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: soc-core: add new pcm_construct/pcm_destruct (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: soc-core: merge snd_pcm_ops member to component driver (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: soc-component.h: remove GPL explanation from header (Jaroslav Kysela) [1797509] - [sound] ALSA: pcm: oss: Avoid potential buffer overflows (Jaroslav Kysela) [1797509] - [sound] ALSA: pcm: Add card sync_irq field (Jaroslav Kysela) [1797509] - [sound] ALSA: pcm: Add the support for sync-stop operation (Jaroslav Kysela) [1797509] - [sound] ALSA: pcm: Move PCM_RUNTIME_CHECK() macro into local header (Jaroslav Kysela) [1797509] - [sound] ALSA: pcm: Allow NULL ioctl ops (Jaroslav Kysela) [1797509] - [sound] ALSA: pcm: Introduce managed buffer allocation mode (Jaroslav Kysela) [1797509] - [sound] ALSA: pcm: Fix stream lock usage in snd_pcm_period_elapsed() (Jaroslav Kysela) [1797509] - [sound] ALSA: timer: Fix the breakage of slave link open (Jaroslav Kysela) [1797509] - [sound] ALSA: pcm: Unexport snd_pcm_sgbuf_ops_page (Jaroslav Kysela) [1797509] - [sound] ALSA: pcm: Yet another missing check of non-cached buffer type (Jaroslav Kysela) [1797509] - [sound] ALSA: timer: Fix possible race at assigning a timer instance (Jaroslav Kysela) [1797509] - [sound] ALSA: timer: Make snd_timer_close() returning void (Jaroslav Kysela) [1797509] - [sound] ALSA: timer: Unify master/slave linking code (Jaroslav Kysela) [1797509] - [sound] ALSA: timer: Fix incorrectly assigned timer instance (Jaroslav Kysela) [1797509] - [sound] ALSA: timer: Limit max amount of slave instances (Jaroslav Kysela) [1797509] - [sound] ALSA: pcm: Create proc files only for non-empty preallocations (Jaroslav Kysela) [1797509] - [sound] ALSA: pcm: Warn if doubly preallocated (Jaroslav Kysela) [1797509] - [sound] ALSA: pcm: Handle special page mapping in the default mmap handler (Jaroslav Kysela) [1797509] - [sound] ALSA: memalloc: Add vmalloc buffer allocation support (Jaroslav Kysela) [1797509] - [sound] ALSA: memalloc: Allow NULL device for SNDRV_DMA_TYPE_CONTINUOUS type (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: pcm_dmaengine: Extract snd_dmaengine_pcm_refine_runtime_hwparams (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: Intel - do not describe I/O configuration in the long card name (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: Intel - use control components to describe card config (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: Intel: boards: make common HDMI driver the default for SOF (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: Intel: boards: sof_rt5682: use dependency on SOF_HDA_LINK (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: Intel: boards: Geminilake is only supported by SOF (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: Intel: boards: fix configs for bxt-da7219-max98057a (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: Intel: boards: remove select SND_HDA_DSP_LOADER (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: Intel: boards: Add CML m/c using RT1011 and RT5682 (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: compress: fix unsigned integer overflow check (Jaroslav Kysela) [1797509] - [sound] ALSA: Revert "ALSA: usb-audio: set the interface format after resume on Dell WD19" (Jaroslav Kysela) [1797509]- [crypto] crypto: ccp - use file mode for sev ioctl permissions (Vladis Dronov) [1765717] - [crypto] crypto: ccp - Cleanup sp_dev_master in psp_dev_destroy() (Vladis Dronov) [1765717] - [crypto] crypto: ccp - Cleanup misc_dev on sev_exit() (Vladis Dronov) [1765717] - [crypto] crypto: remove CRYPTO_TFM_RES_BAD_KEY_LEN (Vladis Dronov) [1765717] - [crypto] crypto: ccp - move SEV vdata to a dedicated data structure (Vladis Dronov) [1765717] - [crypto] crypto: ccp - create a generic psp-dev file (Vladis Dronov) [1765717] - [crypto] crypto: ccp - rename psp-dev files to sev-dev (Vladis Dronov) [1765717] - [crypto] crypto: ccp - set max RSA modulus size for v3 platform devices as well (Vladis Dronov) [1765717] - [crypto] crypto: ccp - add SEV command privilege separation (Vladis Dronov) [1765717] - [crypto] crypto: ccp - fix uninitialized list head (Vladis Dronov) [1765717] - [crypto] crypto: user - fix memory leak in crypto_report (Vladis Dronov) [1829808 1765717] {CVE-2019-19062} - [crypto] crypto: ccp - Release all allocated memory if sha type is invalid (Vladis Dronov) [1825134 1765717] {CVE-2019-18808} - [crypto] crypto: ccp - invoke fallback for XTS ciphertext stealing (Vladis Dronov) [1765717] - [crypto] crypto: ccp - Remove unnecessary linux/pci.h include (Vladis Dronov) [1765717] - [crypto] crypto: ccp - Include DMA declarations explicitly (Vladis Dronov) [1765717] - [crypto] crypto: ccp - use devm_platform_ioremap_resource() to simplify code (Vladis Dronov) [1765717] - [crypto] crypto: ccp - Clean up and exit correctly on allocation failure (Vladis Dronov) [1765717] - [crypto] crypto: ccp - Log an error message when ccp-crypto fails to load (Vladis Dronov) [1765717] - [crypto] crypto: ccp - Ignore tag length when decrypting GCM ciphertext (Vladis Dronov) [1765717] - [crypto] crypto: ccp - Add support for valid authsize values less than 16 (Vladis Dronov) [1765717] - [crypto] crypto: ccp - Fix oops by properly managing allocated structures (Vladis Dronov) [1765717] - [crypto] crypto: ccp - Reduce maximum stack usage (Vladis Dronov) [1765717] - [crypto] crypto: ccp - Include the module name in system log messages (Vladis Dronov) [1765717] - [crypto] crypto: ccp - Add a module parameter to control registration for DMA (Vladis Dronov) [1765717] - [crypto] crypto: ccp - module parameter to limit the number of enabled CCPs (Vladis Dronov) [1765717] - [crypto] crypto: ccp - Add a module parameter to specify a queue count (Vladis Dronov) [1765717] - [crypto] crypto: ccp - Make CCP debugfs support optional (Vladis Dronov) [1765717] - [crypto] crypto: ctr - add helper for performing a CTR encryption walk (Vladis Dronov) [1765717] - [crypto] crypto: ccp - memset structure fields to zero before reuse (Vladis Dronov) [1765717] - [crypto] crypto: ccp - Fix 3DES complaint from ccp-crypto module (Vladis Dronov) [1765717] - [crypto] crypto: ccp - fix AES CFB error exposed by new test vectors (Vladis Dronov) [1765717] - [crypto] crypto: ccp - AES CFB mode is a stream cipher (Vladis Dronov) [1765717] - [crypto] treewide: Add SPDX license identifier - Makefile/Kconfig (Vladis Dronov) [1765717] - [crypto] crypto: shash - remove shash_desc::flags (Vladis Dronov) [1765717] - [crypto] crypto: ccp - no need to check return value of debugfs_create functions (Vladis Dronov) [1765717] - [crypto] crypto: ccp - Remove forward declaration (Vladis Dronov) [1765717] - [crypto] crypto: ccp - Remove VLA usage of skcipher (Vladis Dronov) [1765717] - [crypto] crypto: skcipher - Introduce crypto_sync_skcipher (Vladis Dronov) [1765717] - [infiniband] IB/mlx4: Test return value of calls to ib_get_cached_pkey (Alaa Hleihel) [1767259] - [netdrv] net/mlx4_core: Fix use of ENOSPC around mlx4_counter_alloc() (Alaa Hleihel) [1767259] - [infiniband] RDMA/mlx4: Initialize ib_spec on the stack (Alaa Hleihel) [1767259] - [powerpc] powerpc/powernv: Re-enable imc trace-mode in kernel (Desnes Augusto Nunes do Rosario) [1725201] - [powerpc] powerpc/perf: Implement a global lock to avoid races between trace, core and thread imc events (Desnes Augusto Nunes do Rosario) [1725201] - [powerpc] powerpc/perf: Return accordingly on invalid chip-id in (Desnes Augusto Nunes do Rosario) [1725201] - [powerpc] powerpc/perf: Remove PM_BR_CMPL_ALT from power9 event list (Desnes Augusto Nunes do Rosario) [1725201] - [powerpc] powerpc/perf: Add generic compat mode pmu driver (Desnes Augusto Nunes do Rosario) [1725201] - [powerpc] powerpc/perf: init pmu from core-book3s (Desnes Augusto Nunes do Rosario) [1725201] - [fs] NFS: Fix fscache super_cookie index_key from changing after umount (Dave Wysochanski) [1790933] - [fs] NFSv4: Fix fscache cookie aux_data to ensure change_attr is included (Dave Wysochanski) [1793560] - [fs] nfs: fscache: use timespec64 in inode auxdata (Dave Wysochanski) [1793560] - [documentation] i2c: replace i2c_new_probed_device with an ERR_PTR variant (David Arcari) [1835245] - [documentation] docs: stop suggesting strlcpy (David Arcari) [1835245] - [scsi] scsi: hpsa: Update driver version (Joseph Szczypek) [1815628] - [scsi] scsi: hpsa: correct race condition in offload enabled (Joseph Szczypek) [1815628] - [kernel] audit: log audit netlink multicast bind and unbind (Richard Guy Briggs) [1829622] - [ipc] ipc/mqueue.c: change __do_notify() to bypass check_kill_permission() (Oleg Nesterov) [1808931] - [scsi] scsi: megaraid_sas: Update driver version to 07.714.04.00-rc1 (Tomas Henzl) [1791041] - [scsi] scsi: megaraid_sas: TM command refire leads to controller firmware crash (Tomas Henzl) [1791041] - [scsi] scsi: megaraid_sas: Replace undefined MFI_BIG_ENDIAN macro with __BIG_ENDIAN_BITFIELD macro (Tomas Henzl) [1791041] - [scsi] scsi: megaraid_sas: Remove IO buffer hole detection logic (Tomas Henzl) [1791041] - [scsi] scsi: megaraid_sas: Limit device queue depth to controller queue depth (Tomas Henzl) [1791041] - [scsi] scsi: megaraid: Use true, false for bool variables (Tomas Henzl) [1791041] - [scsi] scsi: megaraid: make two symbols static in megaraid_sas_base.c (Tomas Henzl) [1791041] - [scsi] scsi: megaraid: make some symbols static in megaraid_sas_fusion.c (Tomas Henzl) [1791041] - [scsi] scsi: megaraid: make some symbols static in megaraid_sas_fp.c (Tomas Henzl) [1791041] - [scsi] scsi: megaraid_sas: Use scnprintf() for avoiding potential buffer overflow (Tomas Henzl) [1791041] - [scsi] scsi: megaraid_sas: silence a warning (Tomas Henzl) [1791041] - [scsi] scsi: megaraid_sas: fix indentation issue (Tomas Henzl) [1791041] - [scsi] scsi: megaraid_sas: Update driver version to 07.713.01.00-rc1 (Tomas Henzl) [1791041] - [scsi] scsi: megaraid_sas: Use Block layer API to check SCSI device in-flight IO requests (Tomas Henzl) [1791041] - [scsi] scsi: megaraid_sas: Limit the number of retries for the IOCTLs causing firmware fault (Tomas Henzl) [1791041] - [scsi] scsi: megaraid_sas: Do not initiate OCR if controller is not in ready state (Tomas Henzl) [1791041] - [scsi] scsi: megaraid_sas: Re-Define enum DCMD_RETURN_STATUS (Tomas Henzl) [1791041] - [scsi] scsi: megaraid_sas: Do not set HBA Operational if FW is not in operational state (Tomas Henzl) [1791041] - [scsi] scsi: megaraid_sas: Do not kill HBA if JBOD Seqence map or RAID map is disabled (Tomas Henzl) [1791041] - [scsi] scsi: megaraid_sas: Do not kill host bus adapter, if adapter is already dead (Tomas Henzl) [1791041] - [scsi] scsi: megaraid_sas: Update optimal queue depth for SAS and NVMe devices (Tomas Henzl) [1791041] - [scsi] scsi: megaraid_sas: Set no_write_same only for Virtual Disk (Tomas Henzl) [1791041] - [scsi] scsi: megaraid_sas: Reset adapter if FW is not in READY state after device resume (Tomas Henzl) [1791041] - [scsi] scsi: megaraid_sas: Make poll_aen_lock static (Tomas Henzl) [1791041] - [scsi] scsi: megaraid_sas: remove unused variables 'debugBlk', 'fusion' (Tomas Henzl) [1791041] - [scsi] scsi: megaraid_sas: Unique names for MSI-X vectors (Tomas Henzl) [1791041]- [crypto] crypto: drbg - fix error return code in drbg_alloc_state() (Vladis Dronov) [1822458] - [fs] fs: call fsnotify_sb_delete after evict_inodes (Jay Shin) [1834741] - [fs] fs: avoid softlockups in s_inodes iterators (Jay Shin) [1834741] - [fs] fs/drop_caches.c: avoid softlockups in drop_pagecache_sb() (Jay Shin) [1834741] - [net] net/smc: remove set but not used variables 'del_llc, del_llc_resp' (Philipp Rudo) [1725886] - [net] net/smc: remove unused inline function smc_curs_read (Philipp Rudo) [1725886] - [net] net/smc: log important pnetid and state change events (Philipp Rudo) [1725886] - [net] net/smc: save SMC-R peer link_uid (Philipp Rudo) [1725886] - [net] net/smc: create improved SMC-R link_uid (Philipp Rudo) [1725886] - [net] net/smc: improve termination processing (Philipp Rudo) [1725886] - [net] net/smc: add termination reason and handle LLC protocol violation (Philipp Rudo) [1725886] - [net] net/smc: asymmetric link tagging (Philipp Rudo) [1725886] - [net] net/smc: assign link to a new connection (Philipp Rudo) [1725886] - [net] net/smc: send DELETE_LINK, ALL message and wait for send to complete (Philipp Rudo) [1725886] - [net] net/smc: wait for departure of an IB message (Philipp Rudo) [1725886] - [net] net/smc: handle incoming CDC validation message (Philipp Rudo) [1725886] - [net] net/smc: send failover validation message (Philipp Rudo) [1725886] - [net] net/smc: switch connections to alternate link (Philipp Rudo) [1725886] - [net] net/smc: save state of last sent CDC message (Philipp Rudo) [1725886] - [net] net/smc: enqueue local LLC messages (Philipp Rudo) [1725886] - [net] net/smc: delete link processing as SMC server (Philipp Rudo) [1725886] - [net] net/smc: delete link processing as SMC client (Philipp Rudo) [1725886] - [net] net/smc: llc_del_link_work and use the LLC flow for delete link (Philipp Rudo) [1725886] - [net] net/smc: delete an asymmetric link as SMC server (Philipp Rudo) [1725886] - [net] net/smc: final part of add link processing as SMC server (Philipp Rudo) [1725886] - [net] net/smc: rkey processing for a new link as SMC server (Philipp Rudo) [1725886] - [net] net/smc: first part of add link processing as SMC server (Philipp Rudo) [1725886] - [net] net/smc: final part of add link processing as SMC client (Philipp Rudo) [1725886] - [net] net/smc: rkey processing for a new link as SMC client (Philipp Rudo) [1725886] - [net] net/smc: first part of add link processing as SMC client (Philipp Rudo) [1725886] - [net] smc: Remove unused function (Philipp Rudo) [1725886] - [net] net/smc: llc_add_link_work to handle ADD_LINK LLC requests (Philipp Rudo) [1725886] - [net] net/smc: allocate index for a new link (Philipp Rudo) [1725886] - [net] net/smc: introduce smc_pnet_find_alt_roce() (Philipp Rudo) [1725886] - [net] net/smc: remove DELETE LINK processing from smc_core.c (Philipp Rudo) [1725886] - [net] net/smc: take link down instead of terminating the link group (Philipp Rudo) [1725886] - [net] net/smc: add smcr_port_err() and smcr_link_down() processing (Philipp Rudo) [1725886] - [net] net/smc: add smcr_port_add() and smcr_link_up() processing (Philipp Rudo) [1725886] - [net] net/smc: remember PNETID of IB device for later device matching (Philipp Rudo) [1725886] - [net] net/smc: mutex to protect the lgr against parallel reconfigurations (Philipp Rudo) [1725886] - [net] net/smc: extend smc_llc_send_add_link() and smc_llc_send_delete_link() (Philipp Rudo) [1725886] - [net] net/smc: map and register buffers for a new link (Philipp Rudo) [1725886] - [net] net/smc: unmapping of buffers to support multiple links (Philipp Rudo) [1725886] - [net] net/smc: multiple link support for rmb buffer registration (Philipp Rudo) [1725886] - [net] net/smc: remove obsolete link state DELETING (Philipp Rudo) [1725886] - [net] net/smc: remove handling of CONFIRM_RKEY_CONTINUE (Philipp Rudo) [1725886] - [net] net/smc: adapt SMC remote DELETE_RKEY processing to use the LLC flow (Philipp Rudo) [1725886] - [net] net/smc: adapt SMC remote CONFIRM_RKEY processing to use the LLC flow (Philipp Rudo) [1725886] - [net] net/smc: new smc_rtoken_set functions for multiple link support (Philipp Rudo) [1725886] - [net] net/smc: move the TEST_LINK response processing into event handler (Philipp Rudo) [1725886] - [net] net/smc: multiple link support and LLC flow for smc_llc_do_delete_rkey (Philipp Rudo) [1725886] - [net] net/smc: multiple link support and LLC flow for smc_llc_do_confirm_rkey (Philipp Rudo) [1725886] - [net] net/smc: adapt SMC client code to use the LLC flow (Philipp Rudo) [1725886] - [net] net/smc: adapt SMC server code to use the LLC flow (Philipp Rudo) [1725886] - [net] net/smc: add logic to evaluate CONFIRM_LINK messages to LLC layer (Philipp Rudo) [1725886] - [net] net/smc: introduce link group type (Philipp Rudo) [1725886] - [net] net/smc: enqueue all received LLC messages (Philipp Rudo) [1725886] - [net] net/smc: add event-based llc_flow framework (Philipp Rudo) [1725886] - [net] net/smc: move llc layer related init and clear into smc_llc.c (Philipp Rudo) [1725886] - [net] net/smc: use mutex instead of rwlock_t to protect buffers (Philipp Rudo) [1725886] - [net] net/smc: process llc responses in tasklet context (Philipp Rudo) [1725886] - [net] net/smc: use worker to process incoming llc messages (Philipp Rudo) [1725886] - [net] net/smc: simplify link deactivation (Philipp Rudo) [1725886] - [net] net/smc: move testlink work to system work queue (Philipp Rudo) [1725886] - [net] net/smc: add new link state and related helpers (Philipp Rudo) [1725886] - [net] net/smc: multi-link support for smc_rmb_rtoken_handling() (Philipp Rudo) [1725886] - [net] net/smc: convert static link ID instances to support multiple links (Philipp Rudo) [1725886] - [net] net/smc: convert static link ID to dynamic references (Philipp Rudo) [1725886] - [net] net/smc: introduce link_idx for link group array (Philipp Rudo) [1725886] - [net] net/smc: separate function for link initialization (Philipp Rudo) [1725886] - [net] net/smc: rework pnet table to support SMC-R failover (Philipp Rudo) [1725886] - [net] net/smc: improve peer ID in CLC decline for SMC-R (Philipp Rudo) [1725886] - [net] net/smc: rework peer ID handling (Philipp Rudo) [1725886] - [net] net/smc: reduce port_event scheduling (Philipp Rudo) [1725886] - [net] net/smc: simplify normal link termination (Philipp Rudo) [1725886] - [net] net/smc: remove unused parameter of smc_lgr_terminate() (Philipp Rudo) [1725886] - [net] net/smc: do not delete lgr from list twice (Philipp Rudo) [1725886] - [net] net/smc: use termination worker under send_lock (Philipp Rudo) [1725886] - [net] net/smc: improve smc_lgr_cleanup() (Philipp Rudo) [1725886] - [pci] PCI: Add new PCI_VPD_RO_KEYWORD_SERIALNO macro (Jonathan Toppins) [1834900] - [pci] PCI: Introduce pci_get_dsn (Jonathan Toppins) [1834900] - [scsi] scsi: lpfc: Remove redundant initialization to variable rc (Dick Kennedy) [1835310] - [scsi] scsi: lpfc: Update lpfc version to 12.8.0.1 (Dick Kennedy) [1835310] - [scsi] scsi: lpfc: Fix MDS Diagnostic Enablement definition (Dick Kennedy) [1835310] - [scsi] scsi: lpfc: Fix noderef and address space warnings (Dick Kennedy) [1835310] - [scsi] scsi: lpfc: Remove unnecessary lockdep_assert_held calls (Dick Kennedy) [1835310] - [scsi] scsi: lpfc: Change default queue allocation for reduced memory consumption (Dick Kennedy) [1835310] - [scsi] scsi: lpfc: Fix negation of else clause in lpfc_prep_node_fc4type (Dick Kennedy) [1835310] - [scsi] scsi: lpfc: Remove re-binding of nvme rport during registration (Dick Kennedy) [1835310] - [scsi] scsi: lpfc: Maintain atomic consistency of queue_claimed flag (Dick Kennedy) [1835310] - [scsi] scsi: lpfc: remove duplicate unloading checks (Dick Kennedy) [1835310] - [scsi] scsi: qedf: Get dev info after updating the params (Nilesh Javali) [1792113] - [scsi] scsi: qedf: Fix crash when MFW calls for protocol stats while function is still probing (Nilesh Javali) [1792113] - [scsi] scsi: qedf: Add schedule recovery handler (Nilesh Javali) [1792113] - [scsi] scsi: qedf: Implement callback for bw_update (Nilesh Javali) [1792113] - [netdrv] scsi: qed: Send BW update notifications to the protocol drivers (Nilesh Javali) [1792113] - [scsi] scsi: qedf: Honor status qualifier in FCP_RSP per spec (Nilesh Javali) [1792113] - [scsi] scsi: qedf: Acquire rport_lock for resetting the delay_timestamp (Nilesh Javali) [1792113] - [scsi] scsi: qedf: Increase the upper limit of retry delay (Nilesh Javali) [1792113] - [scsi] scsi: qedf: Keep track of num of pending flogi (Nilesh Javali) [1792113] - [scsi] scsi: qedf: Simplify mutex_unlock() usage (Nilesh Javali) [1792113] - [scsi] scsi: qedf: Add port_id getter (Nilesh Javali) [1792113] - [scsi] scsi: qedf: Remove always false 'tmp_prio < 0' statement (Nilesh Javali) [1792113] - [include] NFSv4.1: fix handling of backchannel binding in BIND_CONN_TO_SESSION (Steve Dickson) [1828592] - [edac] EDAC/amd64: Drop some family checks for newer systems (Aristeu Rozanski) [1779822 1735611] - [edac] EDAC/amd64: Add family ops for Family 19h Models 00h-0Fh (Aristeu Rozanski) [1779822 1735611] - [x86] x86/amd_nb: Add Family 19h PCI IDs (Aristeu Rozanski) [1779822 1735611] - [edac] EDAC/mce_amd: Always load on SMCA systems (Aristeu Rozanski) [1779822 1735611] - [x86] x86/MCE/AMD, EDAC/mce_amd: Add new Load Store unit McaType (Aristeu Rozanski) [1779822 1735611] - [edac] EDAC/amd64: Save max number of controllers to family type (Aristeu Rozanski) [1779822 1735611] - [edac] EDAC/amd64: Gather hardware information early (Aristeu Rozanski) [1779822 1735611] - [edac] EDAC/amd64: Make struct amd64_family_type global (Aristeu Rozanski) [1779822 1735611] - [fs] nfsd: Add tracepoints for update of the expkey and export cache entries (Dave Wysochanski) [1775408] - [fs] nfsd: Add tracepoints for exp_find_key() and exp_get_by_name() (Dave Wysochanski) [1775408] - [fs] nfsd: Add tracing to nfsd_set_fh_dentry() (Dave Wysochanski) [1775408] - [net] SUNRPC: Clean up: Replace dprintk and BUG_ON call sites in svcauth_gss.c (Dave Wysochanski) [1775408] - [net] svcrdma: Create a generic tracing class for displaying xdr_buf layout (Dave Wysochanski) [1775408] - [net] SUNRPC: Capture completion of all RPC tasks (Dave Wysochanski) [1775408] - [net] SUNRPC: Trace gssproxy upcall results (Dave Wysochanski) [1775408] - [trace] fix null pointer deref in tracepoints in back channel (Dave Wysochanski) [1775408] - [fs] NFS: Clean up generic file commit tracepoint (Dave Wysochanski) [1775408] - [fs] NFS: Clean up generic writeback tracepoints (Dave Wysochanski) [1775408] - [fs] NFS: Clean up generic file read tracepoints (Dave Wysochanski) [1775408] - [fs] pNFS/flexfiles: Add tracing for layout errors (Dave Wysochanski) [1775408] - [fs] pNFS/flexfiles: Record resend attempts on I/O failure (Dave Wysochanski) [1775408] - [fs] NFS: Fix fix of show_nfs_errors (Dave Wysochanski) [1775408] - [fs] NFSv4: Improve read/write/commit tracing (Dave Wysochanski) [1775408] - [fs] NFS4: Report callback authentication errors (Dave Wysochanski) [1775408] - [fs] NFS4: Trace lock reclaims (Dave Wysochanski) [1775408] - [fs] NFS4: Trace state recovery operation (Dave Wysochanski) [1775408] - [fs] NFS: Add a tracepoint in nfs_fh_to_dentry() (Dave Wysochanski) [1775408] - [fs] pnfs/flexfiles: Add tracepoints for detecting pnfs fallback to MDS (Dave Wysochanski) [1775408] - [fs] NFS: Record task, client ID, and XID in xdr_status trace points (Dave Wysochanski) [1775408] - [fs] NFS: Display symbolic status code names in trace log (Dave Wysochanski) [1775408] - [fs] NFS: Fix show_nfs_errors macros again (Dave Wysochanski) [1775408] - [fs] NFS4: Add a trace event to record invalid CB sequence IDs (Dave Wysochanski) [1775408] - [media] media: v4l: event: Add subscription to list before calling "add" operation (Jarod Wilson) [1828805] {CVE-2019-9458} - [media] media: v4l: event: Prevent freeing event subscriptions while accessed (Jarod Wilson) [1828805] {CVE-2019-9458} - [vhost] vhost: Check docket sk_family instead of call getname (Vladis Dronov) [1823301] {CVE-2020-10942} - [documentation] kvm: ppc: book3s hv: Add a capability for enabling secure guests (David Gibson) [1814624] - [powerpc] kvm: ppc: book3s hv: H_SVM_INIT_START must call UV_RETURN (David Gibson) [1814624] - [powerpc] kvm: ppc: book3s hv: Check caller of H_SVM_* Hcalls (David Gibson) [1814624] - [powerpc] Introduce the MSR_S bit (David Gibson) [1814624] - [powerpc] kvm: ppc: book3s hv: Skip kvmppc_uvmem_free if Ultravisor is not supported (David Gibson) [1814624] - [powerpc] kvm: ppc: Kill kvmppc_ops::mmu_destroy() and kvmppc_mmu_destroy() (David Gibson) [1814624] - [powerpc] kvm: ppc: book3s pr: Move kvmppc_mmu_init() into PR KVM (David Gibson) [1814624] - [powerpc] kvm: ppc: book3s hv: Treat TM-related invalid form instructions on P9 like the valid ones (David Gibson) [1814624] - [powerpc] kvm: ppc: book3s hv: Use RADIX_PTE_INDEX_SIZE in Radix MMU code (David Gibson) [1814624] - [powerpc] kvm: no need to check return value of debugfs_create functions (David Gibson) [1814624] - [powerpc] kvm: ppc: book3s pr: Fix -Werror=return-type build failure (David Gibson) [1814624] - [powerpc] kvm: ppc: book3s hv: Release lock on page-out failure path (David Gibson) [1814624] - [powerpc] mm: Remove kvm radix prefetch workaround for Power9 DD2.2 (David Gibson) [1814624] - [powerpc] kvm: ppc: book3s hv: xive: Fix typo in comment (David Gibson) [1814624] - [documentation] kvm: ppc: book3s hv: Implement H_SVM_INIT_ABORT hcall (David Gibson) [1814624] - [powerpc] kvm: ppc: Add skip_page_out parameter to uvmem functions (David Gibson) [1814624] - [powerpc] kvm: ppc: book3e: Replace current->mm by kvm->mm (David Gibson) [1814624] - [powerpc] kvm: ppc: book3s: Replace current->mm by kvm->mm (David Gibson) [1814624] - [mm] add account_locked_vm utility function (David Gibson) [1814624] - [powerpc] kvm: ppc: Remove set but not used variable 'ra', 'rs', 'rt' (David Gibson) [1814624] - [powerpc] kvm: ppc: book3s hv: Don't do ultravisor calls on systems without ultravisor (David Gibson) [1814624] - [powerpc] kvm: ppc: book3s hv: Support reset of secure guest (David Gibson) [1814624] - [powerpc] kvm: ppc: book3s hv: Handle memory plug/unplug to secure VM (David Gibson) [1814624] - [powerpc] kvm: ppc: book3s hv: Radix changes for secure guest (David Gibson) [1814624] - [powerpc] kvm: ppc: book3s hv: Shared pages support for secure guests (David Gibson) [1814624] - [powerpc] kvm: ppc: book3s hv: Support for running secure guests (David Gibson) [1814624] - [powerpc] pseries/svm: Unshare all pages before kexecing a new kernel (David Gibson) [1814624] - [powerpc] pseries/svm: Use shared memory for LPPACA structures (David Gibson) [1814624] - [powerpc] pseries: Add and use LPPACA_SIZE constant (David Gibson) [1814624] - [powerpc] pseries/svm: Add helpers for UV_SHARE_PAGE and UV_UNSHARE_PAGE (David Gibson) [1814624] - [powerpc] prom_init: Add the ESM call to prom_init (David Gibson) [1814624] - [powerpc] kvm: ppc: book3s hv: Reject mflags=2 (LPCR[AIL]=2) ADDR_TRANS_MODE mode (David Gibson) [1814624] - [powerpc] kvm: ppc: book3s hv: Implement LPCR[AIL]=3 mode for injected interrupts (David Gibson) [1814624] - [powerpc] kvm: ppc: book3s hv: Reuse kvmppc_inject_interrupt for async guest delivery (David Gibson) [1814624] - [powerpc] kvm: ppc: book3s: Replace reset_msr mmu op with inject_interrupt arch op (David Gibson) [1814624] - [powerpc] kvm: ppc: book3s: Define and use SRR1_MSR_BITS (David Gibson) [1814624] - [powerpc] kvm: ppc: book3s hv: xive: Show VP id in debugfs (David Gibson) [1814624] - [powerpc] kvm: ppc: e500: Replace current->mm by kvm->mm (David Gibson) [1814624] - [powerpc] kvm: ppc: Report single stepping capability (David Gibson) [1814624] - [powerpc] kvm: Fix kvmppc_vcore->in_guest value in kvmhv_switch_to_host (David Gibson) [1814624] - [powerpc] kvm: ppc: book3s hv: use smp_mb() when setting/clearing host_ipi flag (David Gibson) [1814624] - [powerpc] 64s: Set reserved PCR bits (David Gibson) [1814624] - [powerpc] Fix definition of PCR bits to work with old binutils (David Gibson) [1814624] - [powerpc] kvm: ppc: book3s: Invalidate multiple TCEs at once (David Gibson) [1814624] - [powerpc] powernv/ioda: Split out TCE invalidation from TCE updates (David Gibson) [1814624] - [powerpc] kvm: ppc: book3s hv: Don't lose pending doorbell request on migration on P9 (David Gibson) [1814624] - [powerpc] kvm: ppc: book3s hv: Check for MMU ready on piggybacked virtual cores (David Gibson) [1814624] - [powerpc] kvm: ppc: book3s hv: Define usage types for rmap array in guest memslot (David Gibson) [1814624] - [powerpc] kvm: ppc: book3s hv: Don't push XIVE context when not using XIVE device (David Gibson) [1814624] - [powerpc] kvm: ppc: book3s hv: Fix race in re-enabling XIVE escalation interrupts (David Gibson) [1814624] - [powerpc] kvm: ppc: book3s pr: Fix software breakpoints (David Gibson) [1814624] - [powerpc] kvm: ppc: Remove leftover comment from emulate_loadstore.c (David Gibson) [1814624] - [x86] hyperv: Properly suspend/resume reenlightenment notifications (Mohammed Gamal) [1815475] - [kernel] pm: hibernate: Freeze kernel threads in software_resume() (Mohammed Gamal) [1815475] - [kernel] pm: hibernate: Propagate the return value of hibernation_restore() (Mohammed Gamal) [1815475] - [x86] hyperv: Suspend/resume the VP assist page for hibernation (Mohammed Gamal) [1815475] - [hv] hv: vmbus: Fix Suspend-to-Idle for Generation-2 VM (Mohammed Gamal) [1815475] - [net] hv_sock: Add the support of hibernation (Mohammed Gamal) [1815475] - [video] hyperv_fb: Fix hibernation for the deferred IO feature (Mohammed Gamal) [1815475] - [video] hyperv_fb: Add the support of hibernation (Mohammed Gamal) [1815475] - [scsi] storvsc: Add the support of hibernation (Mohammed Gamal) [1815475] - [netdrv] hv_netvsc: Add the support of hibernation (Mohammed Gamal) [1815475] - [pci] hv: Change pci_protocol_version to per-hbus (Mohammed Gamal) [1815475] - [pci] hv: Add hibernation support (Mohammed Gamal) [1815475] - [input] hyperv-keyboard: Add the support of hibernation (Mohammed Gamal) [1815475] - [hid] hyperv: NULL check before some freeing functions is not needed (Mohammed Gamal) [1815475] - [hid] hyperv: Add the support of hibernation (Mohammed Gamal) [1815475] - [clocksource] hyper-v: Suspend/resume Hyper-V clocksource for hibernation (Mohammed Gamal) [1815475] - [x86] hyperv: Suspend/resume the hypercall page for hibernation (Mohammed Gamal) [1815475] - [x86] hyperv: Implement hv_is_hibernation_supported() (Mohammed Gamal) [1815475] - [hv] hv_utils: Add the support of hibernation (Mohammed Gamal) [1815475] - [hv] hv_utils: Support host-initiated hibernation request (Mohammed Gamal) [1815475] - [hv] hv_utils: Support host-initiated restart request (Mohammed Gamal) [1815475] - [hv] hv_balloon: Add the support of hibernation (Mohammed Gamal) [1815475] - [hv] hv: vmbus: Fix harmless building warnings without CONFIG_PM_SLEEP (Mohammed Gamal) [1815475] - [hv] hv: vmbus: Resume after fixing up old primary channels (Mohammed Gamal) [1815475] - [hv] hv: vmbus: Suspend after cleaning up hv_sock and sub channels (Mohammed Gamal) [1815475] - [hv] hv: vmbus: Clean up hv_sock channels by force upon suspend (Mohammed Gamal) [1815475] - [hv] hv: vmbus: Suspend/resume the vmbus itself for hibernation (Mohammed Gamal) [1815475] - [hv] hv: vmbus: Ignore the offers when resuming from hibernation (Mohammed Gamal) [1815475] - [hv] hv: vmbus: Implement suspend/resume for VSC drivers for hibernation (Mohammed Gamal) [1815475] - [net] ipv4: really enforce backoff for redirects (Paolo Abeni) [1834184] - [net] netfilter: nat: never update the UDP checksum when it's 0 (Guillaume Nault) [1794714] - [net] sched: allow flower to match erspan options (Xin Long) [1830482] - [net] sched: allow flower to match vxlan options (Xin Long) [1830482] - [net] sched: add erspan option support to act_tunnel_key (Xin Long) [1830482] - [net] sched: add vxlan option support to act_tunnel_key (Xin Long) [1830482] - [netdrv] netdevsim: disable devlink reload when resources are being used (Ivan Vecera) [1829778] - [netdrv] netdevsim: fix using uninitialized resources (Ivan Vecera) [1829778] - [netdrv] drivers/net: netdevsim depends on INET (Ivan Vecera) [1829778] - [netdrv] netdevsim: fix nsim_fib6_rt_create() error path (Ivan Vecera) [1829778] - [tools] selftests: netdevsim: Add test for FIB offload API (Ivan Vecera) [1829778] - [tools] selftests: forwarding: Add helpers and tests for FIB offload (Ivan Vecera) [1829778] - [tools] selftests: mlxsw: Add a self-test for port-default priority (Ivan Vecera) [1829778] - [netdrv] netdevsim: fib: Add dummy implementation for FIB offload (Ivan Vecera) [1829778] - [net] ipv6: Add "offload" and "trap" indications to routes (Ivan Vecera) [1829778] - [net] ipv4: Add "offload" and "trap" indications to routes (Ivan Vecera) [1829778] - [net] ipv4: Encapsulate function arguments in a struct (Ivan Vecera) [1829778] - [net] ipv4: Replace route in list before notifying (Ivan Vecera) [1829778] - [tools] selftests: netdevsim: Extend devlink trap test to include flow action cookie (Petr Oros) [1823745] - [netdrv] netdevsim: add ACL trap reporting cookie as a metadata (Petr Oros) [1823745] - [net] devlink: extend devlink_trap_report() to accept cookie and pass (Petr Oros) [1823745] - [net] drop_monitor: extend by passing cookie from driver (Petr Oros) [1823745] - [net] devlink: add trap metadata type for cookie (Petr Oros) [1823745] - [net] devlink: add ACL generic packet traps (Petr Oros) [1823745] - [net] devlink: Add overlay source MAC is multicast trap (Petr Oros) [1823745] - [net] devlink: Add tunnel generic packet traps (Petr Oros) [1823745] - [net] devlink: Add non-routable packet trap (Petr Oros) [1823745] - [netdrv] mlxsw: spectrum_router: Prevent incorrect replacement of local table routes (Ivan Vecera) [1828994] - [netdrv] mlxsw: spectrum_router: Remove FIB entry list from FIB node (Ivan Vecera) [1828994] - [netdrv] mlxsw: spectrum_router: Consolidate identical functions (Ivan Vecera) [1828994] - [netdrv] mlxsw: spectrum_router: Make route creation and destruction symmetric (Ivan Vecera) [1828994] - [netdrv] mlxsw: spectrum_router: Eliminate dead code (Ivan Vecera) [1828994] - [netdrv] mlxsw: spectrum_router: Remove unnecessary checks (Ivan Vecera) [1828994] - [net] ipv6: Remove old route notifications and convert listeners (Ivan Vecera) [1828994] - [netdrv] mlxsw: spectrum_router: Start using new IPv6 route notifications (Ivan Vecera) [1828994] - [net] ipv6: Handle multipath route deletion notification (Ivan Vecera) [1828994] - [net] ipv6: Handle route deletion notification (Ivan Vecera) [1828994] - [net] ipv6: Only Replay routes of interest to new listeners (Ivan Vecera) [1828994] - [net] ipv6: Notify multipath route if should be offloaded (Ivan Vecera) [1828994] - [net] ipv6: Notify route if replacing currently offloaded one (Ivan Vecera) [1828994] - [net] ipv6: Notify newly added route if should be offloaded (Ivan Vecera) [1828994] - [include] net: fib_notifier: Add temporary events to the FIB notification chain (Ivan Vecera) [1828994] - [net] ipv4: Remove old route notifications and convert listeners (Ivan Vecera) [1828994] - [netdrv] mlxsw: spectrum_router: Start using new IPv4 route notifications (Ivan Vecera) [1828994] - [netdrv] mlxsw: spectrum_router: Don't rely on missing extack to symbolize dump (Ivan Vecera) [1828994] - [net] ipv4: Only Replay routes of interest to new listeners (Ivan Vecera) [1828994] - [net] ipv4: Handle route deletion notification during flush (Ivan Vecera) [1828994] - [net] ipv4: Handle route deletion notification (Ivan Vecera) [1828994] - [net] ipv4: Notify newly added route if should be offloaded (Ivan Vecera) [1828994] - [net] ipv4: Notify route if replacing currently offloaded one (Ivan Vecera) [1828994] - [net] ipv4: Extend FIB alias find function (Ivan Vecera) [1828994] - [net] ipv4: Notify route after insertion to the routing table (Ivan Vecera) [1828994] - [include] net: fib_notifier: Add temporary events to the FIB notification chain (Ivan Vecera) [1828994] - [net] vti6: Fix memory leak of skb if input policy check fails (Xin Long) [1829720] - [net] xfrm: policy: Fix doulbe free in xfrm_policy_timer (Xin Long) [1829720] - [net] xfrm: add the missing verify_sec_ctx_len check in xfrm_add_acquire (Xin Long) [1829720] - [net] xfrm: fix uctx len check in verify_sec_ctx_len (Xin Long) [1829720] - [net] xfrm: handle NETDEV_UNREGISTER for xfrm device (Xin Long) [1829720] - [net] xfrm: interface: do not confirm neighbor when do pmtu update (Xin Long) [1829720] - [documentation] xfrm: update doc about xfrm[46]_gc_thresh (Xin Long) [1829720] - [documentation] devlink: remove trigger command from devlink-region.rst (Petr Oros) [1822570] - [include] devlink: promote "fw.bundle_id" to a generic info version (Petr Oros) [1822570] - [documentation] devlink: document devlink info versions reported by bnxt_en driver (Petr Oros) [1822570] - [include] devlink: add macro for "fw.roce" (Petr Oros) [1822570] - [documentation] Fix typo in devlink documentation (Petr Oros) [1822570] - [documentation] devlink: fix typos in qed documentation (Petr Oros) [1822570] - [documentation] devlink: document region snapshot triggering from userspace (Petr Oros) [1822570] - [documentation] devlink: introduce devlink-dpipe.rst documentation file (Petr Oros) [1822570] - [documentation] devlink: add a devlink-resource.rst documentation file (Petr Oros) [1822570] - [netdrv] devlink: rename and expand devlink-trap-netdevsim.rst (Petr Oros) [1822570] - [documentation] devlink: add documentation for ionic device driver (Petr Oros) [1822570] - [documentation] devlink: add a file documenting devlink regions (Petr Oros) [1822570] - [documentation] devlink: add a driver-specific file for the qed driver (Petr Oros) [1822570] - [documentation] devlink: add parameter documentation for the mlx4 driver (Petr Oros) [1822570] - [documentation] devlink: document info versions for each driver (Petr Oros) [1822570] - [documentation] devlink: convert driver-specific files to reStructuredText (Petr Oros) [1822570] - [documentation] devlink: mention reloading in devlink-params.rst (Petr Oros) [1822570] - [documentation] devlink: add documentation for generic devlink parameters (Petr Oros) [1822570] - [documentation] devlink: convert devlink-params.txt to reStructuredText (Petr Oros) [1822570] - [documentation] devlink: rename devlink-info-versions.rst and add a header (Petr Oros) [1822570] - [documentation] devlink: convert devlink-health.txt to rst format (Petr Oros) [1822570] - [documentation] devlink: move devlink documentation to subfolder (Petr Oros) [1822570] - [include] devlink: add macro for "fw.psid" (Petr Oros) [1822570] - [netdrv] ethtool: Add support for 400Gbps (50Gbps per lane) link modes (Ivan Vecera) [1828942] - [netdrv] phy: Add support for 100BaseT1 and 1000BaseT1 (Ivan Vecera) [1828942] - [net] phy: improve definition of __ETHTOOL_LINK_MODE_MASK_NBITS (Ivan Vecera) [1828942] - [net] netfilter: nf_tables: simplify NLM_F_CREATE handling (Phil Sutter) [1812666] - [net] devlink: Add layer 3 generic packet exception traps (Petr Oros) [1828737] - [net] devlink: Add layer 3 generic packet traps (Petr Oros) [1828737] - [net] netfilter: nf_tables: fix infinite loop when expr is not available (Phil Sutter) [1757933] - [net] netfilter: nf_tables: autoload modules from the abort path (Phil Sutter) [1757933] - [net] netfilter: nf_tables: remove WARN and add NLA_STRING upper limits (Phil Sutter) [1757933] - [net] netfilter: nf_tables: store transaction list locally while requesting module (Phil Sutter) [1757933] - [net] netfilter: nf_tables: use-after-free in failing rule with bound set (Phil Sutter) [1757933] - [net] netfilter: nft_meta: skip EAGAIN if nft_meta_bridge is not a module (Phil Sutter) [1757933] - [net] netfilter: nf_tables: force module load in case select_ops() returns -EAGAIN (Phil Sutter) [1757933] - [net] netfilter: nf_tables: add nft_expr_type_request_module() (Phil Sutter) [1757933] - [net] netfilter: nf_tables: bogus EBUSY in helper removal from transaction (Phil Sutter) [1757933] - [net] netfilter: nf_tables: fix set double-free in abort path (Phil Sutter) [1757933] - [net] netfilter: nft_compat: don't use refcount_inc on newly allocated entry (Phil Sutter) [1757933] - [net] netfilter: nf_tables: unbind set in rule from commit path (Phil Sutter) [1757933] - [net] netfilter: nft_compat: destroy function must not have side effects (Phil Sutter) [1757933] - [net] netfilter: nft_compat: make lists per netns (Phil Sutter) [1757933] - [net] netfilter: nft_compat: use refcnt_t type for nft_xt reference count (Phil Sutter) [1757933] - [net] netfilter: nf_tables: fix suspicious RCU usage in nft_chain_stats_replace() (Phil Sutter) [1757933] - [net] netfilter: nf_tables: asynchronous release (Phil Sutter) [1757933] - [net] netfilter: nf_tables: split set destruction in deactivate and destroy phase (Phil Sutter) [1757933] - [net] netfilter: nf_tables: flow event notifier must use transaction mutex (Phil Sutter) [1757933] - [net] netfilter: nf_tables: use dedicated mutex to guard transactions (Phil Sutter) [1757933] - [net] netfilter: nf_tables: avoid global info storage (Phil Sutter) [1757933] - [net] netfilter: nf_tables: take module reference when starting a batch (Phil Sutter) [1757933] - [net] netfilter: nf_tables: make valid_genid callback mandatory (Phil Sutter) [1757933] - [net] netfilter: nf_tables: add and use helper for module autoload (Phil Sutter) [1757933]- [kernel] sched: Fix missing bracket in membarrier_switch_mm from mismerge (Phil Auld) [1745111] - [fs] nfs: fix NULL deference in nfs4_get_valid_delegation ("J. Bruce Fields") [1831553] - [acpi] PCI/AER: Use only _OSC to determine AER ownership (Myron Stowe) [1712820] - [pci] PCI/EDR: Log only ACPI_NOTIFY_DISCONNECT_RECOVER events (Myron Stowe) [1712820] - [pci] PCI/AER: Rationalize error status register clearing (Myron Stowe) [1712820] - [pci] PCI/DPC: Add Error Disconnect Recover (EDR) support (Myron Stowe) [1712820] - [pci] PCI/DPC: Expose dpc_process_error(), dpc_reset_link() for use by EDR (Myron Stowe) [1712820] - [pci] PCI/AER: Add pci_aer_raw_clear_status() to unconditionally clear Error Status (Myron Stowe) [1712820] - [pci] PCI/DPC: Cache DPC capabilities in pci_init_capabilities() (Myron Stowe) [1712820] - [pci] PCI/ERR: Return status of pcie_do_recovery() (Myron Stowe) [1712820] - [pci] PCI/ERR: Remove service dependency in pcie_do_recovery() (Myron Stowe) [1712820] - [pci] PCI/DPC: Move DPC data into struct pci_dev (Myron Stowe) [1712820] - [pci] PCI/ERR: Update error status after reset_link() (Myron Stowe) [1712820] - [pci] PCI/ERR: Combine pci_channel_io_frozen cases (Myron Stowe) [1712820] - [pci] PCI/ASPM: Reduce severity of common clock config message (Myron Stowe) [1712820] - [pci] PCI/ASPM: Clear the correct bits when enabling L1 substates (Myron Stowe) [1712820] - [pci] PCI/PM: Print config space of devices before suspend (Myron Stowe) [1712820] - [pci] PCI/AER: Initialize aer_fifo (Myron Stowe) [1712820] - [pci] PCI/AER: Factor message prefixes with dev_fmt() (Myron Stowe) [1712820] - [pci] PCI/AER: Log which device prevents error recovery (Myron Stowe) [1712820] - [security] ima: Switch to ima_hash_algo for boot aggregate (Jerry Snitselaar) [1786441] - [mm] mm: mempolicy: require at least one nodeid for MPOL_PREFERRED (Rafael Aquini) [1834435] {CVE-2020-11565} - [tools] perf maps: Add missing unlock to maps__insert() error case (Michael Petlan) [1818838] - [tools] perf dso: Fix dso comparison (Michael Petlan) [1818838] - [tools] perf block-info: Fix wrong block address comparison in block_info__cmp() (Michael Petlan) [1818838] - [tools] libperf: Setup initial evlist::all_cpus value (Michael Petlan) [1818838] - [tools] perf report: Fix no libunwind compiled warning break s390 issue (Michael Petlan) [1818838] - [tools] perf hists: Fix variable name's inconsistency in hists__for_each() macro (Michael Petlan) [1818838] - [tools] perf map: Set kmap->kmaps backpointer for main kernel map chunks (Michael Petlan) [1818838] - [tools] perf report: Fix incorrectly added dimensions as switch perf data file (Michael Petlan) [1818838] - [tools] tools lib traceevent: Fix memory leakage in filter_event (Michael Petlan) [1818838] - [tools] perf vendor events s390: Remove name from L1D_RO_EXCL_WRITES description (Michael Petlan) [1818838] - [tools] perf vendor events s390: Fix counter long description for DTLB1_GPAGE_WRITES (Michael Petlan) [1818838] - [tools] libtraceevent: Allow custom libdir path (Michael Petlan) [1818838] - [tools] perf top: Do not bail out when perf_env__read_cpuid() returns ENOSYS (Michael Petlan) [1818838] - [tools] perf arch: Make the default get_cpuid() return compatible error (Michael Petlan) [1818838] - [tools] perf inject: Fix processing of ID index for injected instruction tracing (Michael Petlan) [1818838] - [tools] perf report: Bail out --mem-mode if mem info is not available (Michael Petlan) [1818838] - [tools] perf report: Make -F more strict like -s (Michael Petlan) [1818838] - [tools] perf report/top TUI: Replace pr_err() with ui__error() (Michael Petlan) [1818838] - [tools] libtraceevent: Copy pkg-config file to output folder when using O= (Michael Petlan) [1818838] - [tools] libtraceevent: Fix lib installation with O= (Michael Petlan) [1818838] - [tools] perf kvm: Clarify the 'perf kvm' -i and -o command line options (Michael Petlan) [1818838] - [tools] perf machine: Fill map_symbol->maps in append_inlines() to fix segfault (Michael Petlan) [1818838] - [tools] perf jit: Move test functionality in to a test (Michael Petlan) [1818838] - [tools] perf stat: Use affinity for enabling/disabling events (Michael Petlan) [1818838] - [tools] perf evsel: Add functions to enable/disable for a specific CPU (Michael Petlan) [1818838] - [tools] perf stat: Use affinity for reading (Michael Petlan) [1818838] - [tools] perf stat: Use affinity for opening events (Michael Petlan) [1818838] - [tools] perf stat: Factor out open error handling (Michael Petlan) [1818838] - [tools] perf stat: Use affinity for closing file descriptors (Michael Petlan) [1818838] - [tools] perf evsel: Add functions to close evsel on a CPU (Michael Petlan) [1818838] - [tools] perf evsel: Add iterator to iterate over events ordered by CPU (Michael Petlan) [1818838] - [tools] perf evlist: Maintain evlist->all_cpus (Michael Petlan) [1818838] - [tools] perf cpumap: Maintain cpumaps ordered and without dups (Michael Petlan) [1818838] - [tools] perf script: Fix brstackinsn for AUXTRACE (Michael Petlan) [1818838] - [tools] perf affinity: Add infrastructure to save/restore affinity (Michael Petlan) [1818838] - [tools] perf pmu: Use file system cache to optimize sysfs access (Michael Petlan) [1818838] - [tools] perf regs: Make perf_reg_name() return "unknown" instead of NULL (Michael Petlan) [1818838] - [tools] perf diff: Use llabs() with 64-bit values (Michael Petlan) [1818838] - [tools] perf diff: Use llabs() with 64-bit values (Michael Petlan) [1818838] - [tools] perf tests: Rename tests/map_groups.c to tests/maps.c (Michael Petlan) [1818838] - [tools] perf tests: Rename thread-mg-share to thread-maps-share (Michael Petlan) [1818838] - [tools] perf maps: Rename map_groups.h to maps.h (Michael Petlan) [1818838] - [tools] perf maps: Rename 'mg' variables to 'maps' (Michael Petlan) [1818838] - [tools] perf map_symbol: Rename ms->mg to ms->maps (Michael Petlan) [1818838] - [tools] perf addr_location: Rename al->mg to al->maps (Michael Petlan) [1818838] - [tools] perf thread: Rename thread->mg to thread->maps (Michael Petlan) [1818838] - [tools] perf maps: Merge 'struct maps' with 'struct map_groups' (Michael Petlan) [1818838] - [tools] x86/insn: perf tools: Add some more instructions to the new instructions test (Michael Petlan) [1818838] - [tools] perf map: Remove unused functions (Michael Petlan) [1818838] - [tools] perf map: Remove needless struct forward declarations (Michael Petlan) [1818838] - [tools] perf map: Ditch leftover map__reloc_vmlinux() prototype (Michael Petlan) [1818838] - [tools] perf script: Move map__fprintf_srccode() to near its only user (Michael Petlan) [1818838] - [tools] perf parse: Fix potential memory leak when handling tracepoint errors (Michael Petlan) [1818838] - [tools] libtraceevent: Fix memory leakage in copy_filter_type (Michael Petlan) [1818838] - [tools] libtraceevent: Fix header installation (Michael Petlan) [1818838] - [tools] perf intel-bts: Does not support AUX area sampling (Michael Petlan) [1818838] - [tools] perf intel-pt: Add support for decoding AUX area samples (Michael Petlan) [1818838] - [tools] perf intel-pt: Add support for recording AUX area samples (Michael Petlan) [1818838] - [tools] perf pmu: When using default config, record which bits of config were changed by the user (Michael Petlan) [1818838] - [tools] perf auxtrace: Add support for queuing AUX area samples (Michael Petlan) [1818838] - [tools] perf session: Add facility to peek at all events (Michael Petlan) [1818838] - [tools] perf auxtrace: Add support for dumping AUX area samples (Michael Petlan) [1818838] - [tools] perf inject: Cut AUX area samples (Michael Petlan) [1818838] - [tools] perf record: Add aux-sample-size config term (Michael Petlan) [1818838] - [tools] perf record: Add support for AUX area sampling (Michael Petlan) [1818838] - [tools] perf auxtrace: Add support for AUX area sample recording (Michael Petlan) [1818838] - [tools] perf auxtrace: Move perf_evsel__find_pmu() (Michael Petlan) [1818838] - [tools] perf record: Add a function to test for kernel support for AUX area sampling (Michael Petlan) [1818838] - [tools] perf tools: Add kernel AUX area sampling definitions (Michael Petlan) [1818838] - [tools] perf report: Jump to symbol source view from total cycles view (Michael Petlan) [1818838] - [tools] perf util: Move block TUI function to ui browsers (Michael Petlan) [1818838] - [tools] perf dso: Move dso_id from 'struct map' to 'struct dso' (Michael Petlan) [1818838] - [tools] perf dsos: Remove unused dsos__find() method (Michael Petlan) [1818838] - [tools] perf map: Move comparision of map's dso_id to a separate function (Michael Petlan) [1818838] - [tools] perf map: Pass a dso_id to map__new() (Michael Petlan) [1818838] - [tools] perf map: Move maj/min/ino/ino_generation to separate struct (Michael Petlan) [1818838] - [tools] perf parse: Report initial event parsing error (Michael Petlan) [1818838] - [tools] x86/insn: perf tools: Add some instructions to the new instructions test (Michael Petlan) [1818838] - [tools] perf map: Move seldom used ->flags field to second cacheline (Michael Petlan) [1818838] - [tools] perf map: Use bitmap for booleans (Michael Petlan) [1818838] - [tools] libtraceevent: Fix parsing of event o and X argument types (Michael Petlan) [1818838] - [tools] perf callchain: Fix segfault in thread__resolve_callchain_sample() (Michael Petlan) [1818838] - [tools] perf map_groups: Auto sort maps by name, if needed (Michael Petlan) [1818838] - [tools] perf machine: No need to check if kernel module maps pre-exist (Michael Petlan) [1818838] - [tools] perf record: No need to process the synthesized MMAP events twice (Michael Petlan) [1818838] - [tools] perf map: No need to adjust the long name of modules (Michael Petlan) [1818838] - [tools] perf map_groups: Add a front end cache for map lookups by name (Michael Petlan) [1818838] - [tools] perf maps: Do not use an rbtree to sort by map name (Michael Petlan) [1818838] - [tools] perf maps: Purge the entries from maps->names in __maps__purge() (Michael Petlan) [1818838] - [tools] perf vendor events power9: Fix commas so PMU event files are valid JSON (Michael Petlan) [1818838] - [tools] perf vendor events power8: Fix commas so PMU event files are valid JSON (Michael Petlan) [1818838] - [tools] perf vendor events arm64: Fix commas so PMU event files are valid JSON (Michael Petlan) [1818838] - [tools] perf parse: Use YYABORT to clear stack after failure, plugging leaks (Michael Petlan) [1818838] - [tools] perf tool: Provide an option to print perf_event_open args and return value (Michael Petlan) [1818838] - [tools] perf map: Remove ->groups from 'struct map' (Michael Petlan) [1818838] - [tools] perf map: Combine maps__fixup_overlappings with its only use (Michael Petlan) [1818838] - [tools] perf annotate: Stop using map->groups, use map_symbol->mg instead (Michael Petlan) [1818838] - [tools] perf tools: Add a 'struct map_groups' pointer to 'struct map_symbol' (Michael Petlan) [1818838] - [tools] perf symbols: Use kmaps(map)->machine when we know its a kernel map (Michael Petlan) [1818838] - [tools] pref tools: Make 'struct addr_map_symbol' contain 'struct map_symbol' (Michael Petlan) [1818838] - [tools] perf callchain: Use 'struct map_symbol' in 'struct callchain_cursor_node' (Michael Petlan) [1818838] - [tools] perf unwind: Use 'struct map_symbol' in 'struct unwind_entry' (Michael Petlan) [1818838] - [tools] perf annotate: Pass a 'map_symbol' in places receiving a pair of 'map' and 'symbol' pointers (Michael Petlan) [1818838] - [tools] perf tools: Add map_groups to 'struct addr_location' (Michael Petlan) [1818838] - [tools] perf map_groups: Pass the object to map_groups__find_ams() (Michael Petlan) [1818838] - [tools] perf symbols: Stop using map->groups, we can use kmaps instead (Michael Petlan) [1818838] - [tools] perf map: Use map->dso->kernel + map__kmaps() in map__kmaps() (Michael Petlan) [1818838] - [tools] perf report: Sort by sampled cycles percent per block for tui (Michael Petlan) [1818838] - [tools] perf report: Support --percent-limit for --total-cycles (Michael Petlan) [1818838] - [tools] perf report: Sort by sampled cycles percent per block for stdio (Michael Petlan) [1818838] - [tools] perf hist: Support block formats with compare/sort/display (Michael Petlan) [1818838] - [tools] perf hist: Count the total cycles of all samples (Michael Petlan) [1818838] - [tools] perf block: Cleanup and refactor block info functions (Michael Petlan) [1818838] - [tools] perf diff: Don't use hack to skip column length calculation (Michael Petlan) [1818838] - [tools] perf tests: Fix out of bounds memory access (Michael Petlan) [1818838] - [tools] perf record: Add support for limit perf output file size (Michael Petlan) [1818838] - [tools] perf annotate: Fix heap overflow (Michael Petlan) [1818838] - [tools] perf machine: Add kernel_dso() method (Michael Petlan) [1818838] - [tools] perf symbols: Remove needless checks for map->groups->machine (Michael Petlan) [1818838] - [tools] perf parse: Add a deep delete for parse event terms (Michael Petlan) [1818838] - [tools] perf parse: If pmu configuration fails free terms (Michael Petlan) [1818838] - [tools] perf parse: Before yyabort-ing free components (Michael Petlan) [1818838] - [tools] perf parse: Add destructors for parse event terms (Michael Petlan) [1818838] - [tools] perf parse: Ensure config and str in terms are unique (Michael Petlan) [1818838] - [tools] perf parse: Add parse events handle error (Michael Petlan) [1818838] - [tools] perf inject: Make --strip keep evsels (Michael Petlan) [1818838] - [tools] perf tools: Fix cross compile for ARM64 (Michael Petlan) [1818838] - [tools] perf stat: Add --per-node agregation support (Michael Petlan) [1818838] - [tools] perf env: Add perf_env__numa_node() (Michael Petlan) [1818838] - [tools] perf tools: Splice events onto evlist even on error (Michael Petlan) [1818838] - [tools] libsubcmd: Use -O0 with DEBUG=1 (Michael Petlan) [1818838] - [tools] libsubcmd: Move EXTRA_FLAGS to the end to allow overriding existing flags (Michael Petlan) [1818838] - [tools] perf map_groups: Introduce for_each_entry() and for_each_entry_safe() iterators (Michael Petlan) [1818838] - [tools] perf maps: Add for_each_entry()/_safe() iterators (Michael Petlan) [1818838] - [tools] perf map: Allow map__next() to receive a NULL arg (Michael Petlan) [1818838] - [tools] perf map: Check if the map still has some refcounts on exit (Michael Petlan) [1818838] - [tools] perf dso: Add dso__data_write_cache_addr() (Michael Petlan) [1818838] - [tools] perf dso: Refactor dso_cache__read() (Michael Petlan) [1818838] - [tools] perf auxtrace: Add auxtrace_cache__remove() (Michael Petlan) [1818838] - [tools] perf jevents: Fix resource leak in process_mapfile() and main() (Michael Petlan) [1818838] - [tools] perf kvm: Use evlist layer api when possible (Michael Petlan) [1818838] - [tools] perf tests: Fix a typo (Michael Petlan) [1818838] - [tools] perf tools: Avoid a malloc() for array events (Michael Petlan) [1818838] - [tools] perf tools: Move ALLOC_LIST into a function (Michael Petlan) [1818838] - [tools] perf evsel: Avoid close(-1) (Michael Petlan) [1818838] - [tools] perf evsel: Always preserve errno while cleaning up perf_event_open failures (Michael Petlan) [1818838] - [tools] perf cs-etm: Fix definition of macro TO_CS_QUEUE_NR (Michael Petlan) [1818838] - [tools] perf llvm: Make .o saving a debug message, not an info one (Michael Petlan) [1818838] - [tools] perf record: Put a copy of kcore into the perf.data directory (Michael Petlan) [1818838] - [tools] perf data: Support single perf.data file directory (Michael Petlan) [1818838] - [tools] perf session: Fix indent in perf_session__new()" (Michael Petlan) [1818838] - [tools] perf data: Rename directory "header" file to "data" (Michael Petlan) [1818838] - [tools] perf data: Move perf_dir_version into data.h (Michael Petlan) [1818838] - [tools] perf data: Correctly identify directory data files (Michael Petlan) [1818838] - [tools] perf trace: Use STUL_STRARRAY_FLAGS with mmap (Michael Petlan) [1818838] - [tools] perf trace: Wire up strarray__strtoul_flags() (Michael Petlan) [1818838] - [tools] libbeauty: Introduce strarray__strtoul_flags() (Michael Petlan) [1818838] - [tools] libbeauty: Make the mmap_flags strarray visible outside of its beautifier (Michael Petlan) [1818838] - [tools] perf trace: Use strtoul for the fcntl 'cmd' argument (Michael Petlan) [1818838] - [tools] libbeauty: Introduce syscall_arg__strtoul_strarrays() (Michael Petlan) [1818838] - [tools] libperf: Add pr_err() macro (Michael Petlan) [1818838] - [tools] libperf: Do not export perf_evsel__init()/perf_evlist__init() (Michael Petlan) [1818838] - [tools] libperf: Keep count of failed tests (Michael Petlan) [1818838] - [tools] libperf: Add tests_mmap_cpus test (Michael Petlan) [1818838] - [tools] libperf: Add tests_mmap_thread test (Michael Petlan) [1818838] - [tools] libperf: Link static tests with libapi.a (Michael Petlan) [1818838] - [tools] libperf: Move mask setup to perf_evlist__mmap_ops() (Michael Petlan) [1818838] - [tools] libperf: Move mmap allocation to perf_evlist__mmap_ops::get (Michael Petlan) [1818838] - [tools] libperf: Introduce perf_evlist__for_each_mmap() (Michael Petlan) [1818838] - [tools] perf tests: Disable bp_signal testing for arm64 (Michael Petlan) [1818838] - [tools] perf tests bp_account: Add dedicated checking helper is_supported() (Michael Petlan) [1818838] - [tools] perf tests: Remove needless headers for bp_account (Michael Petlan) [1818838] - [tools] perf list: Hide deprecated events by default (Michael Petlan) [1818838] - [tools] perf trace: Pass a syscall_arg to syscall_arg_fmt->strtoul() (Michael Petlan) [1818838] - [tools] perf trace: Honour --max-events in processing syscalls:sys_enter_* (Michael Petlan) [1818838] - [tools] libbeauty: Introduce syscall_arg__strtoul_strarray() (Michael Petlan) [1818838] - [tools] perf trace: Initialize evsel_trace->fmt for syscalls:sys_enter_* tracepoints (Michael Petlan) [1818838] - [tools] perf trace: Introduce 'struct evsel__trace' for evsel->priv needs (Michael Petlan) [1818838] - [tools] perf trace: Hide evsel->access further, simplify code (Michael Petlan) [1818838] - [tools] perf trace: Introduce accessors to trace specific evsel->priv (Michael Petlan) [1818838] - [tools] perf trace: Show error message when not finding a field used in a filter expression (Michael Petlan) [1818838] - [tools] perf trace: Hook the 'vec' tracepoint argument with the x86 IRQ vectors scnprintf/strtoul (Michael Petlan) [1818838] - [tools] perf trace beauty: Add the glue for the autogenerated x86 IRQ vector array (Michael Petlan) [1818838] - [tools] libbeauty: Add a strarray__scnprintf_suffix() method (Michael Petlan) [1818838] - [tools] libbeauty: Hook up the x86 irq_vectors table generator (Michael Petlan) [1818838] - [tools] libbeauty: Add a generator for x86's IRQ vectors -> strings (Michael Petlan) [1818838] - [tools] tools arch x86: Grab a copy of the file containing the IRQ vector defines (Michael Petlan) [1818838] - [tools] perf vendor events arm64: Add some missing events for Hisi hip08 HHA PMU (Michael Petlan) [1818838] - [tools] perf vendor events arm64: Add some missing events for Hisi hip08 L3C PMU (Michael Petlan) [1818838] - [tools] perf vendor events arm64: Add some missing events for Hisi hip08 DDRC PMU (Michael Petlan) [1818838] - [tools] perf vendor events arm64: Fix Hisi hip08 DDRC PMU eventname (Michael Petlan) [1818838] - [tools] perf trace: Support tracepoint dynamic char arrays (Michael Petlan) [1818838] - [tools] perf trace: Filter own pid to avoid a feedback look in 'perf trace record -a' (Michael Petlan) [1818838] - [tools] perf string: Export asprintf__tp_filter_pids() (Michael Petlan) [1818838] - [tools] perf trace: Introduce --errno-summary (Michael Petlan) [1818838] - [tools] perf trace: Add syscall failure stats to -s/--summary and -S/--with-summary (Michael Petlan) [1818838] - [tools] perf stat: Support --all-kernel/--all-user (Michael Petlan) [1818838] - [tools] perf annotate: Fix objdump --no-show-raw-insn flag (Michael Petlan) [1818838] - [tools] perf annotate: Don't pipe objdump output through 'expand' command (Michael Petlan) [1818838] - [tools] perf annotate: Don't pipe objdump output through 'grep' command (Michael Petlan) [1818838] - [tools] perf annotate: Use libsubcmd's run-command.h to fork objdump (Michael Petlan) [1818838] - [tools] perf annotate: Avoid reallocation in objdump parsing (Michael Petlan) [1818838] - [tools] perf report: Add warning when libunwind not compiled in (Michael Petlan) [1818838] - [tools] perf test: Avoid infinite loop for task exit case (Michael Petlan) [1818838] - [tools] perf test: Report failure for mmap events (Michael Petlan) [1818838] - [tools] perf script: Fix --reltime with --time (Michael Petlan) [1818838] - [tools] perf tools: Allow to build with -ltcmalloc (Michael Petlan) [1818838] - [tools] perf diff: Report noisy for cycles diff (Michael Petlan) [1818838] - [tools] perf tools: Propagate CFLAGS to libperf (Michael Petlan) [1818838] - [tools] libperf: Adopt perf_evlist__filter_pollfd() from tools/perf (Michael Petlan) [1818838] - [tools] libperf: Introduce perf_evlist__purge() (Michael Petlan) [1818838] - [tools] libperf: Introduce perf_evlist__exit() (Michael Petlan) [1818838] - [tools] libperf: Move the pollfd allocation from tools/perf to libperf (Michael Petlan) [1818838] - [tools] libperf: Centralize map refcnt setting (Michael Petlan) [1818838] - [tools] perf evlist: Switch to libperf's mmap interface (Michael Petlan) [1818838] - [tools] perf evlist: Introduce perf_evlist__mmap_cb_mmap() (Michael Petlan) [1818838] - [tools] perf evlist: Introduce perf_evlist__mmap_cb_get() (Michael Petlan) [1818838] - [tools] perf tools: Introduce perf_evlist__mmap_cb_idx() (Michael Petlan) [1818838] - [tools] libperf: Introduce perf_evlist_mmap_ops::mmap callback (Michael Petlan) [1818838] - [tools] libperf: Add perf_evlist_mmap_ops::get callback (Michael Petlan) [1818838] - [tools] libperf: Introduce perf_evlist_mmap_ops::idx callback (Michael Petlan) [1818838] - [tools] libperf: Introduce perf_evlist__mmap_ops() (Michael Petlan) [1818838] - [tools] libperf: Adopt perf_evlist__mmap()/munmap() from tools/perf (Michael Petlan) [1818838] - [tools] libperf: Adopt perf_mmap__read_event() from tools/perf (Michael Petlan) [1818838] - [tools] libperf: Adopt perf_mmap__read_done() from tools/perf (Michael Petlan) [1818838] - [tools] libperf: Adopt perf_mmap__read_init() from tools/perf (Michael Petlan) [1818838] - [tools] libperf: Adopt perf_mmap__consume() function from tools/perf (Michael Petlan) [1818838] - [tools] perf tools: Use perf_mmap way to detect aux mmap (Michael Petlan) [1818838] - [tools] libperf: Adopt perf_mmap__put() function from tools/perf (Michael Petlan) [1818838] - [tools] libperf: Adopt perf_mmap__unmap() function from tools/perf (Michael Petlan) [1818838] - [tools] libperf: Adopt perf_mmap__get() function from tools/perf (Michael Petlan) [1818838] - [tools] libperf: Adopt perf_mmap__mmap() function from tools/perf (Michael Petlan) [1818838] - [tools] libperf: Adopt perf_mmap__mmap_len() function from tools/perf (Michael Petlan) [1818838] - [tools] libperf: Add 'struct perf_mmap_param' (Michael Petlan) [1818838] - [tools] libperf: Add perf_mmap__init() function (Michael Petlan) [1818838] - [tools] perf tools: Avoid 'sample_reg_masks' being const + weak (Michael Petlan) [1818838] - [tools] perf beauty: Introduce strtoul() for x86 MSRs (Michael Petlan) [1818838] - [tools] perf trace: Expand strings in filters to integers (Michael Petlan) [1818838] - [tools] perf trace: Introduce a strtoul() method for 'struct strarrays' (Michael Petlan) [1818838] - [tools] perf trace: Add a strtoul() method to 'struct syscall_arg_fmt' (Michael Petlan) [1818838] - [tools] perf trace: Introduce --filter for tracepoint events (Michael Petlan) [1818838] - [tools] perf evlist: Introduce append_tp_filter_pid() and append_tp_filter_pids() (Michael Petlan) [1818838] - [tools] perf evlist: Introduce append_tp_filter() method (Michael Petlan) [1818838] - [tools] perf evlist: Factor out asprintf routine to build a tracepoint pid filter (Michael Petlan) [1818838] - [tools] perf trace: Associate the "msr" tracepoint arg name with x86_MSR__scnprintf() (Michael Petlan) [1818838] - [tools] perf trace beauty: Add the glue for the autogenerated MSR arrays (Michael Petlan) [1818838] - [tools] perf trace: Allow associating scnprintf routines with well known arg names (Michael Petlan) [1818838] - [tools] perf beauty: Hook up the x86 MSR table generator (Michael Petlan) [1818838] - [tools] perf trace beauty: Add a x86 MSR cmd id->str table generator (Michael Petlan) [1818838] - [tools] perf beauty: Make strarray's offset be u64 (Michael Petlan) [1818838] - [tools] perf trace: Allow choosing how to augment the tracepoint arguments (Michael Petlan) [1818838] - [tools] perf trace: Enclose all events argument lists with () (Michael Petlan) [1818838] - [tools] perf trace: Add array of chars scnprintf beautifier (Michael Petlan) [1818838] - [tools] perf trace: Add the syscall_arg_fmt pointer to syscall_arg (Michael Petlan) [1818838] - [tools] perf trace: Move some scnprintf methods from syscall to syscall_arg_fmt (Michael Petlan) [1818838] - [tools] perf trace: Allocate an array of beautifiers for tracepoint args (Michael Petlan) [1818838] - [tools] perf trace: Factor out the initialization of syscal_arg_fmt->scnprintf (Michael Petlan) [1818838] - [tools] perf script: Allow --time with --reltime (Michael Petlan) [1818838] - [tools] perf scripts python: exported-sql-viewer.py: Add Time chart by CPU (Michael Petlan) [1818838] - [tools] perf scripts python: exported-sql-viewer.py: Add ability for Call tree to open at a specified task and time (Michael Petlan) [1818838] - [tools] perf scripts python: exported-sql-viewer.py: Tidy up Call tree call_time (Michael Petlan) [1818838] - [tools] perf scripts python: exported-sql-viewer.py: Add global time range calculations (Michael Petlan) [1818838] - [tools] perf scripts python: exported-sql-viewer.py: Add HBoxLayout and VBoxLayout (Michael Petlan) [1818838] - [tools] perf scripts python: exported-sql-viewer.py: Add LookupModel() (Michael Petlan) [1818838] - [tools] perf trace augmented_syscalls: Do not show syscalls when none was asked for (Michael Petlan) [1818838] - [tools] perf trace: Postpone parsing .perfconfig trace.add_events to after --verbose is processed (Michael Petlan) [1818838] - [tools] perf trace: Generalize the syscall_fmt find routines (Michael Petlan) [1818838] - [tools] perf trace: Separate 'struct syscall_fmt' definition from syscall_fmts variable (Michael Petlan) [1818838] - [tools] perf trace: Make evlist__set_evsel_handler() affect just entries without a handler (Michael Petlan) [1818838] - [tools] perf evlist: Adopt __set_tracepoint_handlers method from perf_session (Michael Petlan) [1818838] - [tools] perf top: Initialize perf_env->cpuid, needed by the per arch annotation init routine (Michael Petlan) [1818838] - [tools] perf env: Add routine to read the env->cpuid from the running machine (Michael Petlan) [1818838] - [kernel] perf/cgroups: Install cgroup events to correct cpuctx (Michael Petlan) [1818838] - [kernel] perf/core: Fix mlock accounting in perf_mmap() (Michael Petlan) [1818838] - [x86] perf/x86/intel/uncore: Remove PCIe3 unit for SNR (Michael Petlan) [1818838] - [x86] perf/x86/intel/uncore: Fix missing marker for snr_uncore_imc_freerunning_events (Michael Petlan) [1818838] - [x86] perf/x86/intel/uncore: Add PCI ID of IMC for Xeon E3 V5 Family (Michael Petlan) [1818838] - [kernel] perf: Correctly handle failed perf_get_aux_event() (Michael Petlan) [1818838] - [x86] perf/x86/intel: Fix PT PMI handling (Michael Petlan) [1818838] - [x86] perf/x86/intel/bts: Fix the use of page_private() (Michael Petlan) [1818838] - [x86] perf/x86: Fix potential out-of-bounds access (Michael Petlan) [1818838] - [x86] perf/x86: Implement immediate enforcement of /sys/devices/cpu/rdpmc value of 0 (Michael Petlan) [1818838] - [kernel] perf/core: Make the mlock accounting simple again (Michael Petlan) [1818838] - [kernel] perf/core: Fix the mlock accounting, again (Michael Petlan) [1818838] - [x86] perf/x86/intel/pt: Prevent redundant WRMSRs (Michael Petlan) [1818838] - [x86] perf/x86/intel/pt: Opportunistically use single range output mode (Michael Petlan) [1818838] - [x86] perf/x86/intel/pt: Add sampling support (Michael Petlan) [1818838] - [x86] perf/x86/intel/pt: Factor out pt_config_start() (Michael Petlan) [1818838] - [kernel] perf/aux: Allow using AUX data in perf samples (Michael Petlan) [1818838] - [kernel] perf/core: Fix unlock balance in perf_init_event() (Michael Petlan) [1818838] - [x86] perf/x86/amd: Remove set but not used variable 'active' (Michael Petlan) [1818838] - [kernel] perf/core: Optimize perf_init_event() for TYPE_SOFTWARE (Michael Petlan) [1818838] - [kernel] perf/core: Optimize perf_init_event() (Michael Petlan) [1818838] - [kernel] perf/core: Optimize perf_install_in_event() (Michael Petlan) [1818838] - [x86] perf/x86: Synchronize PMU task contexts on optimized context switches (Michael Petlan) [1818838] - [x86] perf/x86/intel: Implement LBR callstack context synchronization (Michael Petlan) [1818838] - [x86] perf/x86: Install platform specific ->swap_task_ctx() adapter (Michael Petlan) [1818838] - [x86] perf/core, perf/x86: Introduce swap_task_ctx() method at 'struct pmu' (Michael Petlan) [1818838] - [kernel] perf/ring_buffer: Matching the memory allocate and free, in rb_alloc() (Michael Petlan) [1818838] - [kernel] perf/ring_buffer: Modify the parameter type of perf_mmap_free_page() (Michael Petlan) [1818838] - [documentation] Documentation: Document sysfs interfaces purr, spurr, idle_purr, idle_spurr (Steve Best) [1783286] - [powerpc] powerpc/sysfs: Show idle_purr and idle_spurr for every CPU (Steve Best) [1783286] - [powerpc] powerpc/pseries: Account for SPURR ticks on idle CPUs (Steve Best) [1783286] - [powerpc] powerpc/idle: Store PURR snapshot in a per-cpu global variable (Steve Best) [1783286] - [powerpc] powerpc: Move idle_loop_prolog()/epilog() functions to header file (Steve Best) [1783286] - [kernel] padata: add separate cpuhp node for CPUHP_PADATA_DEAD (Herbert Xu) [1671674] - [kernel] padata: fix uninitialized return value in padata_replace() (Herbert Xu) [1671674] - [kernel] padata: remove reorder_objects (Herbert Xu) [1671674] - [crypto] padata: remove cpumask change notifier (Herbert Xu) [1671674] - [kernel] padata: always acquire cpu_hotplug_lock before pinst->lock (Herbert Xu) [1671674] - [kernel] padata: validate cpumask without removed CPU during offline (Herbert Xu) [1671674] - [crypto] crypto: pcrypt - Avoid deadlock by using per-instance padata queues (Herbert Xu) [1671674] - [kernel] padata: Remove unused padata_remove_cpu (Herbert Xu) [1671674] - [crypto] crypto: pcrypt - Fix user-after-free on module unload (Herbert Xu) [1671674] - [kernel] padata: Remove broken queue flushing (Herbert Xu) [1671674] - [kernel] padata: remove cpu_index from the parallel_queue (Herbert Xu) [1671674] - [kernel] padata: unbind parallel jobs from specific CPUs (Herbert Xu) [1671674] - [kernel] padata: use separate workqueues for parallel and serial work (Herbert Xu) [1671674] - [crypto] padata, pcrypt: take CPU hotplug lock internally in padata_alloc_possible (Herbert Xu) [1671674] - [crypto] crypto: pcrypt - remove padata cpumask notifier (Herbert Xu) [1671674] - [crypto] padata: make padata_do_parallel find alternate callback CPU (Herbert Xu) [1671674] - [kernel] workqueue: require CPU hotplug read exclusion for apply_workqueue_attrs (Herbert Xu) [1671674] - [kernel] workqueue: unconfine alloc/apply/free_workqueue_attrs() (Herbert Xu) [1671674] - [crypto] padata: allocate workqueue internally (Herbert Xu) [1671674] - [kernel] padata: initialize pd->cpu with effective cpumask (Herbert Xu) [1671674] - [kernel] padata: purge get_cpu and reorder_via_wq from padata_do_serial (Herbert Xu) [1671674] - [kernel] padata: Replace delayed timer with immediate workqueue in padata_reorder (Herbert Xu) [1671674] - [kernel] padata: use smp_mb in padata_reorder to avoid orphaned padata jobs (Herbert Xu) [1671674] - [kernel] tracing: Avoid memory leak in process_system_preds() (Jerome Marchand) [1829953] {CVE-2019-19072} - [kernel] tracing: Have error path in predicate_parse() free its allocated memory (Jerome Marchand) [1829953] {CVE-2019-19072} - [kernel] tracing: Avoid memory leak in predicate_parse() (Jerome Marchand) [1829953] {CVE-2019-19072} - [kernel] tracing: Fix memory leak in create_filter() (Jerome Marchand) [1829953] {CVE-2019-19072} - [tools] KVM: selftests: s390x: Provide additional num-guest-pages adjustment (Philipp Rudo) [1792266] - [s390] s390/protvirt: fix compilation issue (Philipp Rudo) [1792266] - [kvm] KVM: s390: Fix PV check in deliverable_irqs() (Philipp Rudo) [1792266] - [kvm] KVM: s390: Return last valid slot if approx index is out-of-bounds (Philipp Rudo) [1792266] - [kvm] KVM: s390: vsie: Fix delivery of addressing exceptions (Philipp Rudo) [1792266] - [mm] s390/gmap: return proper error code on ksm unsharing (Philipp Rudo) [1792266] - [s390] KVM: s390: mark sie block as 512 byte aligned (Philipp Rudo) [1792266] - [tools] selftests: KVM: s390: check for registers to NOT change on reset (Philipp Rudo) [1792266] - [tools] selftests: KVM: s390: test more register variants for the reset ioctl (Philipp Rudo) [1792266] - [tools] selftests: KVM: s390: fix early guest crash (Philipp Rudo) [1792266] - [tools] selftests: KVM: s390: fixup fprintf format error in reset.c (Philipp Rudo) [1792266] - [kvm] KVM: s390: Also reset registers in sync regs for initial cpu reset (Philipp Rudo) [1792266] - [kvm] KVM: s390: introduce module parameter kvm.use_gisa (Philipp Rudo) [1792266] - [documentation] KVM: s390: protvirt: Add KVM api documentation (Philipp Rudo) [1792266] - [kvm] KVM: s390: protvirt: introduce and enable KVM_CAP_S390_PROTECTED (Philipp Rudo) [1792266] - [documentation] DOCUMENTATION: Protected virtual machine introduction and IPL (Philipp Rudo) [1792266] - [kvm] KVM: s390: protvirt: Add UV cpu reset calls (Philipp Rudo) [1792266] - [kvm] KVM: s390: protvirt: do not inject interrupts after start (Philipp Rudo) [1792266] - [kvm] KVM: s390: protvirt: Mask PSW interrupt bits for interception 104 and 112 (Philipp Rudo) [1792266] - [kvm] KVM: s390: protvirt: Support cmd 5 operation state (Philipp Rudo) [1792266] - [kvm] KVM: s390: protvirt: Report CPU state to Ultravisor (Philipp Rudo) [1792266] - [kvm] KVM: s390: protvirt: UV calls in support of diag308 0, 1 (Philipp Rudo) [1792266] - [kvm] KVM: s390: protvirt: Add program exception injection (Philipp Rudo) [1792266] - [kvm] KVM: s390: protvirt: Only sync fmt4 registers (Philipp Rudo) [1792266] - [kvm] KVM: s390: protvirt: Do only reset registers that are accessible (Philipp Rudo) [1792266] - [kvm] KVM: s390: protvirt: disallow one_reg (Philipp Rudo) [1792266] - [kvm] KVM: s390: protvirt: STSI handling (Philipp Rudo) [1792266] - [kvm] KVM: s390: protvirt: Write sthyi data to instruction data area (Philipp Rudo) [1792266] - [kvm] KVM: s390/mm: handle guest unpin events (Philipp Rudo) [1792266] - [kvm] KVM: s390: protvirt: handle secure guest prefix pages (Philipp Rudo) [1792266] - [kvm] KVM: S390: protvirt: Introduce instruction data area bounce buffer (Philipp Rudo) [1792266] - [kvm] KVM: s390: protvirt: Add new gprs location handling (Philipp Rudo) [1792266] - [kvm] KVM: s390: protvirt: Handle spec exception loops (Philipp Rudo) [1792266] - [kvm] KVM: s390: protvirt: Add SCLP interrupt handling (Philipp Rudo) [1792266] - [kvm] KVM: s390: protvirt: Implement interrupt injection (Philipp Rudo) [1792266] - [kvm] KVM: s390: protvirt: Instruction emulation (Philipp Rudo) [1792266] - [kvm] KVM: s390: protvirt: Handle SE notification interceptions (Philipp Rudo) [1792266] - [mm] KVM: s390/mm: Make pages accessible before destroying the guest (Philipp Rudo) [1792266] - [mm] KVM: s390: protvirt: Secure memory is not mergeable (Philipp Rudo) [1792266] - [kvm] KVM: s390: protvirt: Add initial vm and cpu lifecycle handling (Philipp Rudo) [1792266] - [s390] KVM: s390: add new variants of UV CALL (Philipp Rudo) [1792266] - [kvm] KVM: s390: protvirt: Add UV debug trace (Philipp Rudo) [1792266] - [kvm] KVM: s390/interrupt: do not pin adapter interrupt pages (Philipp Rudo) [1792266] - [s390] s390/protvirt: Add sysfs firmware interface for Ultravisor information (Philipp Rudo) [1792266] - [s390] s390/mm: add (non)secure page access exceptions handlers (Philipp Rudo) [1792266] - [s390] s390/mm: provide memory management functions for protected KVM guests (Philipp Rudo) [1792266] - [s390] s390/protvirt: add ultravisor initialization (Philipp Rudo) [1792266] - [s390] s390/protvirt: introduce host side setup (Philipp Rudo) [1792266] - [documentation] KVM: s390: rstify new ioctls in api.rst (Philipp Rudo) [1792266] - [s390] s390/uv: Fix handling of length extensions (Philipp Rudo) [1792266] - [tools] selftests: KVM: testing the local IRQs resets (Philipp Rudo) [1792266] - [tools] selftests: KVM: s390x: Add reset tests (Philipp Rudo) [1792266] - [kvm] KVM: s390: Add new reset vcpu API (Philipp Rudo) [1792266] - [kvm] KVM: s390: Cleanup initial cpu reset (Philipp Rudo) [1792266] - [kvm] KVM: s390: do not clobber registers during guest reset/store status (Philipp Rudo) [1792266] - [kvm] KVM: s390: ENOTSUPP -> EOPNOTSUPP fixups (Philipp Rudo) [1792266] - [s390] s390/uv: use EOPNOTSUPP instead of ENOTSUPP (Philipp Rudo) [1792266] - [kvm] KVM: s390: Do not yield when target is already running (Philipp Rudo) [1792266] - [kvm] KVM: s390: count invalid yields (Philipp Rudo) [1792266] - [kvm] KVM: s390: mark __insn32_query() as __always_inline (Philipp Rudo) [1792266] - [kvm] KVM: s390: fix __insn32_query() inline assembly (Philipp Rudo) [1792266] - [kvm] KVM: s390: Cleanup kvm_arch_init error path (Philipp Rudo) [1792266] - [kvm] KVM: s390: Remove unused parameter from __inject_sigp_restart() (Philipp Rudo) [1792266] - [mm] mm/gup/writeback: add callbacks for inaccessible pages (Philipp Rudo) [1792266] - [scsi] scsi: libiscsi: fall back to sendmsg for slab pages (Maurizio Lombardi) [1825775] - [fs] smb3: fix default permissions on new files when mounting with modefromsid (Leif Sahlberg) [1833374] - [fs] gfs2: don't call quota_unhold if quotas are not locked (Robert S Peterson) [1830043] - [fs] gfs2: move privileged user check to gfs2_quota_lock_check (Robert S Peterson) [1830043] - [fs] gfs2: remove check for quotas on in gfs2_quota_check (Robert S Peterson) [1830043] - [fs] gfs2: Change BUG_ON to an assert_withdraw in gfs2_quota_change (Robert S Peterson) [1830043] - [fs] gfs2: Fix problems regarding gfs2_qa_get and _put (Robert S Peterson) [1830043] - [powerpc] powerpc/eeh: Fix deadlock handling dead PHB (Sam Bobroff) [1774820] - [powerpc] powerpc/powernv/eeh: Fix oops when probing cxl devices (Sam Bobroff) [1774820] - [powerpc] powerpc/eeh: Slightly simplify eeh_add_to_parent_pe() (Sam Bobroff) [1774820] - [powerpc] powerpc/eeh: Remove unused return path from eeh_pe_dev_traverse() (Sam Bobroff) [1774820] - [powerpc] powerpc/eeh: Fix crash when edev->pdev changes (Sam Bobroff) [1774820] - [powerpc] powerpc/eeh: Convert log messages to eeh_edev_* macros (Sam Bobroff) [1774820] - [powerpc] powerpc/eeh: Introduce EEH edev logging macros (Sam Bobroff) [1774820] - [powerpc] powerpc/eeh: Add bdfn field to eeh_dev (Sam Bobroff) [1774820] - [powerpc] powerpc/eeh: Refactor around eeh_probe_devices() (Sam Bobroff) [1774820] - [powerpc] powerpc/eeh: EEH for pSeries hot plug (Sam Bobroff) [1774820] - [powerpc] powerpc/eeh: Initialize EEH address cache earlier (Sam Bobroff) [1774820] - [powerpc] powerpc/eeh: Improve debug messages around device addition (Sam Bobroff) [1774820] - [powerpc] powerpc/eeh: Clear stale EEH_DEV_NO_HANDLER flag (Sam Bobroff) [1774820] - [powerpc] powerpc/64: Adjust order in pcibios_init() (Sam Bobroff) [1774820] - [powerpc] powerpc/pci: Add pci_find_controller_for_domain() (Sam Bobroff) [1774820] - [powerpc] powerpc/eeh_cache: Bump log level of eeh_addr_cache_print() (Sam Bobroff) [1774820] - [powerpc] powerpc/eeh_cache: Add pr_debug() prints for insert/remove (Sam Bobroff) [1774820]- [gpio] gpiolib: acpi: Add quirk to ignore EC wakeups on HP x2 10 CHT + AXP288 model (David Arcari) [1829900] - [gpio] gpiolib: acpi: Add quirk to ignore EC wakeups on HP x2 10 BYT + AXP288 model (David Arcari) [1829900] - [gpio] gpiolib: acpi: Rework honor_wakeup option into an ignore_wake option (David Arcari) [1829900] - [gpio] gpiolib: acpi: Correct comment for HP x2 10 honor_wakeup quirk (David Arcari) [1829900] - [gpio] gpiolib: Fix irq_disable() semantics (David Arcari) [1829900] - [gpio] gpiolib: fix gpio_do_set_config() (David Arcari) [1829900] - [gpio] gpiolib: remove unnecessary argument from set_config call (David Arcari) [1829900] - [gpio] Revert "gpiolib: remove set but not used variable 'config'" (David Arcari) [1829900] - [gpio] Revert "gpiolib: Remove duplicated function gpio_do_set_config()" (David Arcari) [1829900] - [gpio] treewide: remove redundant IS_ERR() before error code check (David Arcari) [1829900] - [gpio] gpiolib: hold gpio devices lock until ->descs array is initialised (David Arcari) [1829900] - [gpio] gpio: Drop the chained IRQ handler assign function (David Arcari) [1829900] - [gpio] gpio: xlp: Pass irqchip when adding gpiochip (David Arcari) [1829900] - [pinctrl] pinctrl: qcom: Pass irqchip when adding gpiochip (David Arcari) [1829900] - [pinctrl] pinctrl: iproc: allow for error from platform_get_irq() (David Arcari) [1829900] - [pinctrl] pinctrl: bcm-iproc: Pass irqchip when adding gpiochip (David Arcari) [1829900] - [gpio] gpio: pl061: Pass irqchip when adding gpiochip (David Arcari) [1829900] - [gpio] gpio: pl061: Move irq_chip definition inside struct pl061 (David Arcari) [1829900] - [gpio] gpiolib: Lower verbosity when allocating hierarchy irq (David Arcari) [1829900] - [gpio] gpiolib: Remove duplicated function gpio_do_set_config() (David Arcari) [1829900] - [include] gpio: Fix the no return statement warning (David Arcari) [1829900] - [gpio] gpiolib: remove set but not used variable 'config' (David Arcari) [1829900] - [gpio] gpiolib: Set lockdep class for hierarchical irq domains (David Arcari) [1829900] - [gpio] gpiolib: Add the support for the msi parent domain (David Arcari) [1829900] - [gpio] gpiolib: Add support for the irqdomain which doesn't use irq_fwspec as arg (David Arcari) [1829900] - [gpio] gpiolib: use gpiochip_get_desc() in gpio_ioctl() (David Arcari) [1829900] - [gpio] gpiolib: use gpiochip_get_desc() in lineevent_create() (David Arcari) [1829900] - [gpio] gpiolib: use gpiochip_get_desc() in linehandle_create() (David Arcari) [1829900] - [gpio] gpiolib: convert the type of hwnum to unsigned int in gpiochip_get_desc() (David Arcari) [1829900] - [gpio] gpiolib: have a single place of calling set_config() (David Arcari) [1829900] - [gpio] gpiolib: use 'unsigned int' instead of 'unsigned' in gpio_set_config() (David Arcari) [1829900] - [gpio] gpio: gpiolib: fix confusing indention (David Arcari) [1829900] - [mmc] mmc: core: Rework cd-gpio handling (David Arcari) [1829900] - [mmc] mmc: core: Rework wp-gpio handling (David Arcari) [1829900] - [gpio] gpio: add gpiod_toggle_active_low() (David Arcari) [1829900] - [gpio] gpiolib: Make use of assign_bit() API (David Arcari) [1829900] - [gpio] gpiolib: Add GPIOCHIP_NAME definition (David Arcari) [1829900] - [gpio] gpiolib: acpi: Add honor_wakeup module-option + quirk mechanism (David Arcari) [1829900] - [gpio] gpiolib: acpi: Turn dmi_system_id table into a generic quirk table (David Arcari) [1829900] - [gpio] gpiolib: fix up emulated open drain outputs (David Arcari) [1829900] - [gpio] gpio: Fix error message on out-of-range GPIO in lookup table (David Arcari) [1829900] - [gpio] gpiolib: of: Make of_gpio_spi_cs_get_count static (David Arcari) [1829900] - [gpio] gpio: Handle counting of Freescale chipselects (David Arcari) [1829900] - [gpio] gpio: of: Fix bogus reference to gpiod_get_count() (David Arcari) [1829900] - [gpio] gpiolib: Grammar s/manager/managed/ (David Arcari) [1829900] - [gpio] gpiolib: acpi: Make acpi_gpiochip_alloc_event always return AE_OK (David Arcari) [1829900] - [gpio] gpiolib: acpi: Print pin number on acpi_gpiochip_alloc_event errors (David Arcari) [1829900] - [gpio] gpiolib: fix coding style in gpiod_hog() (David Arcari) [1829900] - [gpio] gpio: add new SET_CONFIG ioctl() to gpio chardev (David Arcari) [1829900] - [gpio] gpiolib: move validation of line handle flags into helper function (David Arcari) [1829900] - [gpio] gpiolib: add support for biasing output lines (David Arcari) [1829900] - [gpio] gpiolib: add support for disabling line bias (David Arcari) [1829900] - [gpio] gpiolib: add support for pull up/down to lineevent_create (David Arcari) [1829900] - [gpio] gpio: expose pull-up/pull-down line flags to userspace (David Arcari) [1829900] - [gpio] Revert "gpio: expose pull-up/pull-down line flags to userspace" (David Arcari) [1829900] - [gpio] gpiolib: No need to call gpiochip_remove_pin_ranges() twice (David Arcari) [1829900] - [include] gpio: Add definition for GPIO direction (David Arcari) [1829900] - [gpio] gpiolib: Switch order of valid mask and hw init (David Arcari) [1829900] - [gpio] gpio: of: don't warn if ignored GPIO flag matches the behavior (David Arcari) [1829900] - [gpio] gpio: fix kernel-doc for of_gpio_need_valid_mask() (David Arcari) [1829900] - [gpio] gpio: expose pull-up/pull-down line flags to userspace (David Arcari) [1829900] - [gpio] gpiolib: introduce fwnode_gpiod_get_index() (David Arcari) [1829900] - [gpio] gpiolib: introduce devm_fwnode_gpiod_get_index() (David Arcari) [1829900] - [gpio] gpiolib: sanitize flags before allocating memory in lineevent_create() (David Arcari) [1829900] - [gpio] gpiolib: acpi: Add Terra Pad 1061 to the run_edge_events_on_boot_blacklist (David Arcari) [1829900] - [gpio] gpio: fix getting nonexclusive gpiods from DT (David Arcari) [1829900] - [gpio] gpiolib: don't clear FLAG_IS_OUT when emulating open-drain/open-source (David Arcari) [1829900] - [gpio] gpiolib: of: add a fallback for wlf, reset GPIO name (David Arcari) [1829900] - [gpio] gpio: remove explicit comparison with 0 (David Arcari) [1829900] - [gpio] gpio: devres: Switch to EXPORT_SYMBOL_GPL() (David Arcari) [1829900] - [gpio] gpio: of: Switch to EXPORT_SYMBOL_GPL() (David Arcari) [1829900] - [gpio] gpio: of: Make of_gpio_simple_xlate() private (David Arcari) [1829900] - [gpio] gpio: of: Make of_get_named_gpiod_flags() private (David Arcari) [1829900] - [gpio] gpiolib: acpi: make acpi_can_fallback_to_crs() static (David Arcari) [1829900] - [gpio] gpio: of: Normalize return code variable name (David Arcari) [1829900] - [gpio] gpio: gpiolib: Normalize return code variable name (David Arcari) [1829900] - [include] gpio: Move gpiochip_lock/unlock_as_irq to gpio/driver.h (David Arcari) [1829900] - [gpio] gpio: Use callback presence to determine need of valid_mask (David Arcari) [1829900] - [gpio] gpio: Pass mask and size with the init_valid_mask() (David Arcari) [1829900] - [pinctrl] pinctrl: msm: Add ability for drivers to supply a reserved GPIO list (David Arcari) [1829900] - [pinctrl] pinctrl: msm: Use init_valid_mask exported function (David Arcari) [1829900] - [include] gpio: stubs in headers should be inline (David Arcari) [1829900] - [gpio] gpio: Add support for hierarchical IRQ domains (David Arcari) [1829900] - [kernel] genirq: introduce irq_domain_translate_twocell (David Arcari) [1829900] - [gpio] gpio: refactor gpiochip_allocate_mask() with bitmap_alloc() (David Arcari) [1829900] - [gpio] gpio: of: Fix hard-assigned valid_mask for OF case (David Arcari) [1829900] - [sound] gpiolib-acpi: Move acpi_dev_add_driver_gpios() et al to consumer.h (David Arcari) [1829900] - [gpio] gpiolib: acpi: Split ACPI stuff to gpiolib-acpi.h (David Arcari) [1829900] - [include] gpiolib: of: Reshuffle contents of consumer.h for new library layout (David Arcari) [1829900] - [include] pinctrl: remove unneeded #ifdef around declarations (David Arcari) [1829900] - [hwmon] hwmon: pmbus: ucd9000: remove unneeded include (David Arcari) [1829900] - [include] gpio: remove less important #ifdef around declarations (David Arcari) [1829900] - [gpio] gpio: of: Break out OF-only code (David Arcari) [1829900] - [gpio] gpiolib: acpi: Add gpiolib_acpi_run_edge_events_on_boot option and blacklist (David Arcari) [1829900] - [gpio] gpiolib: of: fix fallback quirks handling (David Arcari) [1829900] - [gpio] gpio: fix line flag validation in lineevent_create (David Arcari) [1829900] - [gpio] gpio: fix line flag validation in linehandle_create (David Arcari) [1829900] - [gpio] gpio: Fix irqchip initialization order (David Arcari) [1829900] - [gpio] gpio: of: fix Freescale SPI CS quirk handling (David Arcari) [1829900] - [gpio] gpiolib: never report open-drain/source lines as 'input' to user-space (David Arcari) [1829900] - [include] gpio: Fix build error of function redefinition (David Arcari) [1829900] - [gpio] gpiolib: Preserve desc->flags when setting state (David Arcari) [1829900] - [include] gpio: don't WARN() on NULL descs if gpiolib is disabled (David Arcari) [1829900] - [gpio] gpiolib: fix incorrect IRQ requesting of an active-low lineevent (David Arcari) [1829900] - [gpio] Revert "gpio/spi: Fix spi-gpio regression on active high CS" (David Arcari) [1829900] - [gpio] gpiolib: of: fix a memory leak in of_gpio_flags_quirks() (David Arcari) [1829900] - [gpio] gpiolib: Use spinlock_t instead of struct spinlock (David Arcari) [1829900] - [gpio] gpiolib: Clarify use of non-sleeping functions (David Arcari) [1829900] - [gpio] gpiolib: Fix references to gpiod_et_*value_cansleep() variants (David Arcari) [1829900] - [include] gpiolib: Document new gpio_chip.init_valid_mask field (David Arcari) [1829900] - [gpio] gpio/spi: Fix spi-gpio regression on active high CS (David Arcari) [1829900] - [gpio] gpio: No need to cast away return value of debugfs_create_file() (David Arcari) [1829900] - [include] gpio: Add comments on #if/#else/#endif (David Arcari) [1829900] - [regulator] gpio: Fix return value mismatch of function gpiod_get_from_of_node() (David Arcari) [1829900] - [gpio] gpio: Drop the parent_irq from gpio_irq_chip (David Arcari) [1829900] - [gpio] gpio: of: parse stmmac PHY reset line specific active-low property (David Arcari) [1829900] - [gpio] gpio: pass lookup and descriptor flags to request_own (David Arcari) [1829900] - [gpio] gpio: of: Handle the Freescale SPI CS (David Arcari) [1829900] - [gpio] gpio: Fix gpiochip_add_data_with_key() error path (David Arcari) [1829900] - [gpio] gpiolib: acpi: Respect pin bias setting (David Arcari) [1829900] - [gpio] gpiolib: acpi: Add acpi_gpio_update_gpiod_lookup_flags() helper (David Arcari) [1829900] - [gpio] gpiolib: acpi: Set pin value, based on bias, more accurately (David Arcari) [1829900] - [gpio] gpiolib: acpi: Change type of dflags (David Arcari) [1829900] - [gpio] gpiolib: Introduce GPIO_LOOKUP_FLAGS_DEFAULT (David Arcari) [1829900] - [gpio] gpiolib: Make use of enum gpio_lookup_flags consistent (David Arcari) [1829900] - [include] gpiolib: Indent entry values of enum gpio_lookup_flags (David Arcari) [1829900] - [gpio] gpio: of: Optimize quirk checks (David Arcari) [1829900] - [gpio] gpio: mmio: Drop bgpio_dir_inverted (David Arcari) [1829900] - [gpio] gpio: Set proper argument value to set_config (David Arcari) [1829900] - [gpio] gpio: Remove obsolete comment about gpiochip_free_hogs() usage (David Arcari) [1829900] - [gpio] gpio: mmio: Fix bgpio_get_set & bgpio_get_set_multiple (David Arcari) [1829900] - [gpio] gpio: mmio: Support two direction registers (David Arcari) [1829900] - [gpio] gpiolib: Don't WARN on gpiod_put() for optional GPIO (David Arcari) [1829900] - [gpio] gpiolib: acpi: Fix references in kernel doc and amend (David Arcari) [1829900] - [gpio] gpio: of: Fix of_gpiochip_add() error path (David Arcari) [1829900] - [gpio] gpio: of: Check for "spi-cs-high" in child instead of parent node (David Arcari) [1829900] - [gpio] gpio: of: Check propname before applying "cs-gpios" quirks (David Arcari) [1829900] - [gpio] Revert "gpio: use new gpio_set_config() helper in more places" (David Arcari) [1829900] - [gpio] gpio: of: Handle both enable-gpio{,s} (David Arcari) [1829900] - [gpio] gpio: of: Restrict enable-gpio quirk to regulator-gpio (David Arcari) [1829900] - [gpio] gpio: of: Apply regulator-gpio quirk only to enable-gpios (David Arcari) [1829900] - [gpio] gpio: add core support for pull-up/pull-down configuration (David Arcari) [1829900] - [gpio] gpio: use new gpio_set_config() helper in more places (David Arcari) [1829900] - [gpio] gpio: rename gpio_set_drive_single_ended() to gpio_set_config() (David Arcari) [1829900] - [gpio] gpiolib: acpi: Correct kernel doc of struct acpi_gpio_event (David Arcari) [1829900] - [gpio] gpio: of: Fix logic inversion (David Arcari) [1829900] - [gpio] gpio: add irq domain activate/deactivate functions (David Arcari) [1829900] - [gpio] gpiolib: fix line event timestamps for nested irqs (David Arcari) [1829900] - [gpio] gpiolib-acpi: Preserve non direction flags when updating gpiod_flags (David Arcari) [1829900] - [gpio] gpiolib-acpi: Remove unnecessary WARN_ON from acpi_gpiochip_free_interrupts (David Arcari) [1829900] - [gpio] gpiolib-acpi: remove unused variable 'err', cleans up build warning (David Arcari) [1829900] - [mmc] mmc: core: don't override the CD GPIO level when "cd-inverted" is set (David Arcari) [1829900] - [arm64] arm64: dts: meson: Fix mmc cd-gpios polarity (David Arcari) [1829900] - [gpio] gpio/mmc/of: Respect polarity in the device tree (David Arcari) [1829900] - [include] gpiolib: Fix return value of gpio_to_desc() stub if !GPIOLIB (David Arcari) [1829900] - [documentation] Documentation: gpio: fix function links in the HTML docs (David Arcari) [1829900] - [documentation] docs: driver-model: convert docs to ReST and rename to *.rst (David Arcari) [1829900] - [documentation] docs: gpio: driver.rst: fix a bad tag (David Arcari) [1829900] - [documentation] gpio: Fix minor grammar errors in documentation (David Arcari) [1829900] - [documentation] gpio: Update documentation (David Arcari) [1829900] - [gpio] gpio: Pass a flag to gpiochip_request_own_desc() (David Arcari) [1829900] - [gpio] gpio: Add devm_gpiod_unhinge() (David Arcari) [1829900] - [gpio] gpio: devres: Handle nonexclusive GPIOs (David Arcari) [1829900] - [gpio] gpio: Enable nonexclusive gpiods from DT nodes (David Arcari) [1829900] - [gpio] gpiolib-acpi: Only defer request_irq for GpioInt ACPI event handlers (David Arcari) [1829900] - [gpio] gpio: OF: Parse MMC-specific CD and WP properties (David Arcari) [1829900] - [gpio] gpio: restore original GPLv2+ license of gpiolib-of.c sources (David Arcari) [1829900] - [include] gpio: drop broken to_gpio_irq_chip() helper (David Arcari) [1829900] - [gpio] gpio: drop devm_gpio_chip_match() (David Arcari) [1829900] - [gpio] gpio: don't free unallocated ida on gpiochip_add_data_with_key() error path (David Arcari) [1829900] - [gpio] gpiolib: Fix possible use after free on label (David Arcari) [1829900] - [documentation] Documentation: gpio: driver: fix wire name for I2C (David Arcari) [1829900] - [documentation] gpio/driver.rst: document gpiochip_disable/enable_irq() (David Arcari) [1829900] - [gpio] gpio: drop devm_gpiochip_remove() (David Arcari) [1829900] - [gpio] gpio: Clarify kerneldoc on gpiochip_set_chained_irqchip() (David Arcari) [1829900] - [gpio] gpio: Remove unused 'irqchip' argument to gpiochip_set_cascaded_irqchip() (David Arcari) [1829900] - [gpio] gpio: Drop parent irq assignment during cascade setup (David Arcari) [1829900] - [gpio] gpiolib: Initialize gdev field before is used (David Arcari) [1829900] - [gpio] gpio: Assign gpio_irq_chip::parents to non-stack pointer (David Arcari) [1829900] - [gpio] gpio: fix doc string for devm_gpiochip_add_data() to not talk about irq_chip (David Arcari) [1829900] - [gpio] gpio: mockup: fix indicated direction (David Arcari) [1829900] - [gpio] gpiolib: Show correct direction from the beginning (David Arcari) [1829900] - [gpio] gpiolib: Add init_valid_mask exported function (David Arcari) [1829900] - [gpio] gpio: Slightly more helpful debugfs (David Arcari) [1829900] - [gpio] Accept partial 'gpio-line-names' property (David Arcari) [1829900] - [gpio] gpio: Restore indentation of continued lines (David Arcari) [1829900] - [gpio] gpio: Propagate errors from gpiod_set_array_value_complex() (David Arcari) [1829900] - [gpio] gpiolib: Fix incorrect use of find_next_zero_bit() (David Arcari) [1829900] - [gpio] gpiolib: Fix missing updates of bitmap index (David Arcari) [1829900] - [gpio] gpio: Add comments on single direction chips (David Arcari) [1829900] - [gpio] gpiolib: Fix gpio_direction_* for single direction GPIOs (David Arcari) [1829900] - [gpio] gpio: Rename devres implementation file (David Arcari) [1829900] - [gpio] gpio: Use SPDX header for core library (David Arcari) [1829900] - [gpio] gpiolib: Fix array members of same chip processed separately (David Arcari) [1829900] - [gpio] gpiolib: Free the last requested descriptor (David Arcari) [1829900] - [gpio] gpio: Get rid of legacy header (David Arcari) [1829900] - [gpio] gpiolib: check if irqchip already has the irq hook replacements (David Arcari) [1829900] - [gpio] gpiolib: use better errno if get_direction is not available (David Arcari) [1829900] - [documentation] gpiolib: Implement fast processing path in get/set array (David Arcari) [1829900] - [documentation] Documentation: gpio: Fix reference to gpiod_get_array() (David Arcari) [1829900] - [gpio] gpiolib: Pass array info to get/set array functions (David Arcari) [1829900] - [gpio] gpiolib: Identify arrays matching GPIO hardware (David Arcari) [1829900] - [gpio] gpiolib: Pass bitmaps, not integer arrays, to get/set array (David Arcari) [1829900] - [gpio] gpiolib: Don't support irq sharing for userspace (David Arcari) [1829900] - [gpio] gpio: of: Handle SPI chipselect legacy bindings (David Arcari) [1829900] - [gpio] gpiolib: override irq_enable/disable (David Arcari) [1829900] - [gpio] gpiolib: add flag to indicate if the irq is disabled (David Arcari) [1829900] - [gpio] gliolib: set hooks in gpiochip_set_irq_hooks() (David Arcari) [1829900] - [gpio] gpiolib: export gpiochip_irq_reqres/relres() (David Arcari) [1829900] - [include] gpio: fix kernel-doc notation warning for 'request_key' (David Arcari) [1829900] - [gpio] gpio: Fix crash due to registration race (David Arcari) [1829900] - [gpio] gpio: Convert to using pOFn instead of device_node.name (David Arcari) [1829900] - [gpio] gpiolib-acpi: Register GpioInt ACPI event handlers from a late_initcall (David Arcari) [1829900] - [gpio] gpiolib: acpi: Switch to cansleep version of GPIO library call (David Arcari) [1829900] - [gpio] gpiolib: Avoid calling chip->request() for unused gpios (David Arcari) [1829900] - [gpio] gpio: mmio: Fix up inverted direction registers (David Arcari) [1829900] - [gpio] gpiolib: Fix of_node inconsistency (David Arcari) [1829900] - [gpio] gpiolib: Don't shadow error code of gpiochip_lock_as_irq() (David Arcari) [1829900] - [include] gpiolib: Use GPIOD_OUT_{LOW, HIGH} macros in open drain ones (David Arcari) [1829900] - [gpio] gpiolib: probe deferral error reporting (David Arcari) [1829900] - [include] Input: gpio_keys - add missing include to gpio_keys.h (David Arcari) [1829900] - [gpio] gpiolib: remove an unnecessary TODO (David Arcari) [1829900] - [gpio] gpiolib: don't allow userspace to set values of input lines (David Arcari) [1829900] - [gpio] gpiolib: Join one line back for better readability (David Arcari) [1829900] - [gpio] gpiolib: Consistent use of ->get_direction() inside gpiolib (David Arcari) [1829900] - [gpio] gpiolib: Defer on non-DT find_chip_by_name() failure (David Arcari) [1829900] - [gpio] gpiolib: Respect error code of ->get_direction() (David Arcari) [1829900] - [gpio] gpiolib: Join string literals back (David Arcari) [1829900] - [include] gpio.h: fix location of gpio legacy documentation (David Arcari) [1829900] - [fs] gfs2: Fix use-after-free in gfs2_logd after withdraw (Robert S Peterson) [1831695] - [fs] gfs2: Fix BUG during unmount after file system withdraw (Robert S Peterson) [1831695] - [fs] gfs2: Fix error exit in do_xmote (Robert S Peterson) [1831695] - [fs] gfs2: fix withdraw sequence deadlock (Robert S Peterson) [1831695] - [mm] s390/mm: fix page table upgrade vs 2ndary address mode accesses (Vladis Dronov) [1828154] {CVE-2020-11884} - [media] media: serial_ir: Fix use-after-free in serial_ir_init_module (Vladis Dronov) [1802396] {CVE-2019-19543} - [mm] mm/memory_hotplug: fix remove_memory() lockdep splat (Christoph von Recklinghausen) [1830942] - [mm] mm/page_alloc.c: initialize memmap of unavailable memory directly (Christoph von Recklinghausen) [1782827] - [fs] fs/proc/page.c: allow inspection of last section and fix end detection (Christoph von Recklinghausen) [1782827] - [mm] mm/page_alloc.c: fix uninitialized memmaps on a partially populated last section (Christoph von Recklinghausen) [1782827] - [powerpc] kvm: ppc: book3s hv: Handle non-present PTEs in page fault functions (David Gibson) [1820402] - [vfio] vfio-pci/nvlink2: Allow fallback to ibm, mmio-atsd[0] (David Gibson) [1819169] - [s390] s390/cpuinfo: fix wrong output when CPU0 is offline (Philipp Rudo) [1812982] - [s390] s390/topology: remove offline CPUs from CPU topology masks (Philipp Rudo) [1812982] - [hwtracing] intel_th: pci: Add Comet Lake PCH-V support (Tony Camuso) [1822983] - [kernel] kprobes: Fix optimize_kprobe()/unoptimize_kprobe() cancellation logic (Waiman Long) [1833383] - [kernel] kprobes: Set unoptimized flag after unoptimizing code (Waiman Long) [1833383] - [kernel] kprobes: Prohibit probing on BUG() and WARN() address (Waiman Long) [1833383] - [kernel] kprobes: Fix potential deadlock in kprobe_optimizer() (Waiman Long) [1833383] - [fs] gfs2: More gfs2_find_jhead fixes (Abhijith Das) [1828653] - [kernel] audit: fix a net reference leak in audit_list_rules_send() (Richard Guy Briggs) [1827327] - [kernel] audit: fix a net reference leak in audit_send_reply() (Richard Guy Briggs) [1827327] - [kernel] audit: check the length of userspace generated audit records (Richard Guy Briggs) [1827303] - [s390] s390/pci: do not set affinity for floating irqs (Philipp Rudo) [1834319] - [netdrv] mlx5: Remove the unsupported mark from ConnectX-6 Dx device (Alaa Hleihel) [1789382 1782831] - [netdrv] mlx5: Update list of unsupported devices (Alaa Hleihel) [1823685 1789382] - [infiniband] RDMA/mlx5: Verify that QP is created with RQ or SQ (Alaa Hleihel) [1789382] - [infiniband] RDMA/mlx5: Fix udata response upon SRQ creation (Alaa Hleihel) [1789382] - [netdrv] net/mlx5e: Set of completion request bit should not clear other adjacent bits (Alaa Hleihel) [1789382] - [netdrv] net/mlx5e: en_accel, Add missing net/geneve.h include (Alaa Hleihel) [1789382] - [netdrv] net/mlx5e: Fix q counters on uplink representors (Alaa Hleihel) [1789382] - [netdrv] net/mlx5: Fix command entry leak in Internal Error State (Alaa Hleihel) [1789382] - [netdrv] net/mlx5: Fix forced completion access non initialized command entry (Alaa Hleihel) [1789382] - [netdrv] net/mlx5: DR, On creation set CQ's arm_db member to right value (Alaa Hleihel) [1789384 1789382] - [infiniband] RDMA/mlx5: Set GRH fields in query QP on RoCE (Alaa Hleihel) [1789382] - [netdrv] net/mlx5e: Get the latest values from counters in switchdev mode (Alaa Hleihel) [1789382] - [netdrv] net/mlx5e: Don't trigger IRQ multiple times on XSK wakeup to avoid WQ overruns (Alaa Hleihel) [1789382] - [netdrv] net/mlx5: Fix failing fw tracer allocation on s390 (Alaa Hleihel) [1789382] - [netdrv] net/mlx5e: Fix pfnum in devlink port attribute (Alaa Hleihel) [1789382] - [netdrv] net/mlx5e: Fix nest_level for vlan pop action (Alaa Hleihel) [1789382] - [netdrv] net/mlx5e: Add missing release firmware call (Alaa Hleihel) [1789382] - [netdrv] net/mlx5: Fix frequent ioread PCI access during recovery (Alaa Hleihel) [1789382] - [netdrv] flow_offload: check for basic action hw stats type (Alaa Hleihel) [1789382] - [netdrv] net/mlx5e: Remove unused argument from parse_tc_pedit_action() (Alaa Hleihel) [1789382] - [netdrv] net/mlx5e: Use netdev_warn() instead of pr_err() for errors (Alaa Hleihel) [1789382] - [netdrv] net/mlx5: DR, Remove unneeded functions deceleration (Alaa Hleihel) [1789384 1789382] - [netdrv] net/mlx5: DR, Improve log messages (Alaa Hleihel) [1789384 1789382] - [netdrv] net/mlx5: DR, Change matcher priority parameter type (Alaa Hleihel) [1789384 1789382] - [netdrv] net/mlx5: Eswitch, avoid redundant mask (Alaa Hleihel) [1789382] - [netdrv] net/mlx5e: Don't allow forwarding between uplink (Alaa Hleihel) [1789382] - [infiniband] IB/mlx5: Replace tunnel mpls capability bits for tunnel_offloads (Alaa Hleihel) [1789382] - [infiniband] IB/mlx5: Fix missing congestion control debugfs on rep rdma device (Alaa Hleihel) [1789382] - [infiniband] IB/mlx5: Optimize u64 division on 32-bit arches (Alaa Hleihel) [1789382] - [infiniband] RDMA/mlx5: Prevent UMR usage with RO only when we have RO caps (Alaa Hleihel) [1789382] - [netdrv] net/mlx5: Fix group version management (Alaa Hleihel) [1789382] - [netdrv] net/mlx5: E-Switch, Hold mutex when querying drop counter in legacy mode (Alaa Hleihel) [1789382] - [netdrv] net/mlx5: Tidy up and fix reverse christmas ordring (Alaa Hleihel) [1831133 1789382] - [netdrv] net/mlx5: Expose port speed when possible (Alaa Hleihel) [1831133 1789382] - [include] net/mlx5: Expose link speed directly (Alaa Hleihel) [1831133 1789382] - [netdrv] net/mlx5e: Use netdev_warn() for errors for added prefix (Alaa Hleihel) [1789382] - [include] net/mlx5: fix spelling mistake "reserverd" -> "reserved" (Alaa Hleihel) [1789382] - [netdrv] net/mlx5: sparse: warning: Using plain integer as NULL pointer (Alaa Hleihel) [1789382] - [netdrv] net/mlx5: sparse: warning: incorrect type in assignment (Alaa Hleihel) [1789382] - [netdrv] net/mlx5e: RX, Use indirect calls wrapper for handling compressed completions (Alaa Hleihel) [1789382] - [netdrv] net/mlx5e: RX, Use indirect calls wrapper for posting descriptors (Alaa Hleihel) [1789382] - [netdrv] net/mlx5e: Change inline mode correctly when changing trust state (Alaa Hleihel) [1789382] - [netdrv] net/mlx5e: Add context to the preactivate hook (Alaa Hleihel) [1789382] - [netdrv] net/mlx5e: Allow mlx5e_switch_priv_channels to fail and recover (Alaa Hleihel) [1789382] - [netdrv] net/mlx5e: Remove unneeded netif_set_real_num_tx_queues (Alaa Hleihel) [1789382] - [netdrv] net/mlx5e: Fix configuration of XPS cpumasks and netdev queues in corner cases (Alaa Hleihel) [1789382] - [netdrv] net/mlx5e: Use preactivate hook to set the indirection table (Alaa Hleihel) [1789382] - [netdrv] net/mlx5e: Rename hw_modify to preactivate (Alaa Hleihel) [1789382] - [netdrv] net/mlx5e: Encapsulate updating netdev queues into a function (Alaa Hleihel) [1789382] - [netdrv] net/mlx5e: Add missing LRO cap check (Alaa Hleihel) [1789382] - [netdrv] net/mlx5e: Define one flow for TXQ selection when TCs are configured (Alaa Hleihel) [1789382] - [infiniband] RDMA/mlx5: Block delay drop to unprivileged users (Alaa Hleihel) [1789382] - [infiniband] RDMA/mlx5: Fix access to wrong pointer while performing flush due to error (Alaa Hleihel) [1789382] - [netdrv] net/mlx5e: Do not recover from a non-fatal syndrome (Alaa Hleihel) [1789382] - [netdrv] net/mlx5e: Fix ICOSQ recovery flow with Striding RQ (Alaa Hleihel) [1789382] - [netdrv] net/mlx5e: Fix missing reset of SW metadata in Striding RQ reset (Alaa Hleihel) [1789382] - [netdrv] net/mlx5e: Enhance ICOSQ WQE info fields (Alaa Hleihel) [1789382] - [netdrv] net/mlx5_core: Set IB capability mask1 to fix ib_srpt connection failure (Alaa Hleihel) [1789382] - [infiniband] RDMA/mlx5: Fix the number of hwcounters of a dynamic counter (Alaa Hleihel) [1789382] - [netdrv] net/mlx5: Clear LAG notifier pointer after unregister (Alaa Hleihel) [1789382] - [netdrv] net/mlx5e: Fix endianness handling in pedit mask (Alaa Hleihel) [1789382] - [netdrv] net/mlx5e: kTLS, Fix wrong value in record tracker enum (Alaa Hleihel) [1789382] - [netdrv] net/mlx5e: kTLS, Fix TCP seq off-by-1 issue in TX resync flow (Alaa Hleihel) [1789382] - [netdrv] net/mlx5: DR, Fix postsend actions write length (Alaa Hleihel) [1789384 1789382] - [infiniband] IB/mlx5: Fix implicit ODP race (Alaa Hleihel) [1789382] - [netdrv] mlx5: register lag notifier for init network namespace only (Alaa Hleihel) [1789382] - [netdrv] net/mlx5e: Fix crash in recovery flow without devlink reporter (Alaa Hleihel) [1789382] - [netdrv] net/mlx5e: Reset RQ doorbell counter before moving RQ state from RST to RDY (Alaa Hleihel) [1789382] - [netdrv] net/mlx5: Fix sleep while atomic in mlx5_eswitch_get_vepa (Alaa Hleihel) [1789382] - [infiniband] IB/mlx5: Use div64_u64 for num_var_hw_entries calculation (Alaa Hleihel) [1789382] - [infiniband] RDMA/mlx5: Prevent overflow in mmap offset calculations (Alaa Hleihel) [1789382] - [infiniband] RDMA/mlx5: Fix async events cleanup flows (Alaa Hleihel) [1789382] - [infiniband] IB/mlx5: Return failure when rts2rts_qp_counters_set_id is not supported (Alaa Hleihel) [1789382] - [netdrv] net/mlx5: Deprecate usage of generic TLS HW capability bit (Alaa Hleihel) [1789382] - [netdrv] net/mlx5e: TX, Error completion is for last WQE in batch (Alaa Hleihel) [1789382] - [netdrv] net/mlx5: IPsec, fix memory leak at mlx5_fpga_ipsec_delete_sa_ctx (Alaa Hleihel) [1789382] - [netdrv] net/mlx5: IPsec, Fix esp modify function attribute (Alaa Hleihel) [1789382] - [infiniband] RDMA/core: Make the entire API tree static (Alaa Hleihel) [1789382] - [netdrv] mlx5: Use dev_net netdevice notifier registrations (Alaa Hleihel) [1789382] - [infiniband] IB/mlx5: Return the administrative GUID if exists (Alaa Hleihel) [1789382] - [netdrv] net/mlx5: DR, Allow connecting flow table to a lower/same level table (Alaa Hleihel) [1789384 1789382] - [netdrv] net/mlx5: DR, Modify header copy support (Alaa Hleihel) [1789384 1789382] - [netdrv] net/mlx5: DR, Modify set action limitation extension (Alaa Hleihel) [1789384 1789382] - [netdrv] net/mlx5e: Add mlx5e_flower_parse_meta support (Alaa Hleihel) [1789382] - [netdrv] net/mlx5e: Fix printk format warning (Alaa Hleihel) [1789382] - [netdrv] net/mlx5: Allow creating autogroups with reserved entries (Alaa Hleihel) [1789382] - [netdrv] net/mlx5: Add ignore level support fwd to table rules (Alaa Hleihel) [1789382] - [netdrv] net/mlx5: fs_core: Introduce unmanaged flow tables (Alaa Hleihel) [1789382] - [netdrv] net/mlx5: Refactor mlx5_create_auto_grouped_flow_table (Alaa Hleihel) [1789383 1789382] - [include] net/mlx5e: Expose FEC feilds and related capability bit (Alaa Hleihel) [1789382] - [include] net/mlx5: Add mlx5_ifc definitions for connection tracking support (Alaa Hleihel) [1789382] - [include] net/mlx5: Add copy header action struct layout (Alaa Hleihel) [1789382] - [netdrv] net/mlx5: Expose resource dump register mapping (Alaa Hleihel) [1789382] - [netdrv] net/mlx5: Add structures and defines for MIRC register (Alaa Hleihel) [1789382] - [netdrv] net/mlx5: Read MCAM register groups 1 and 2 (Alaa Hleihel) [1789382] - [include] net/mlx5: Add structures layout for new MCAM access reg groups (Alaa Hleihel) [1789382] - [infiniband] IB/mlx5: Expose RoCE accelerator counters (Alaa Hleihel) [1789382] - [infiniband] RDMA/mlx5: Set relaxed ordering when requested (Alaa Hleihel) [1789382] - [include] net/mlx5: Expose relaxed ordering bits (Alaa Hleihel) [1789382] - [include] net/mlx5: Add RoCE accelerator counters (Alaa Hleihel) [1789382] - [infiniband] RDMA/mlx5: Fix handling of IOVA != user_va in ODP paths (Alaa Hleihel) [1789382] - [infiniband] IB/mlx5: Mask out unsupported ODP capabilities for kernel QPs (Alaa Hleihel) [1789382] - [infiniband] RDMA/mlx5: Don't fake udata for kernel path (Alaa Hleihel) [1789382] - [infiniband] IB/mlx5: Add ODP WQE handlers for kernel QPs (Alaa Hleihel) [1789382] - [infiniband] RDMA/mlx5: Simplify devx async commands (Alaa Hleihel) [1789382] - [infiniband] IB/mlx5: Add mmap support for VAR (Alaa Hleihel) [1789382] - [infiniband] IB/mlx5: Introduce VAR object and its alloc/destroy methods (Alaa Hleihel) [1789382] - [infiniband] IB/mlx5: Extend caps stage to handle VAR capabilities (Alaa Hleihel) [1789382] - [netdrv] net/mlx5: Expose vDPA emulation device capabilities (Alaa Hleihel) [1789382] - [include] net/mlx5: Add Virtio Emulation related device capabilities (Alaa Hleihel) [1789382] - [netdrv] net/mlx5: Use async EQ setup cleanup helpers for multiple EQs (Alaa Hleihel) [1789382] - [netdrv] net/mlx5: Reduce No CQ found log level from warn to debug (Alaa Hleihel) [1789382] - [netdrv] net/mlx5: Increase the max number of channels to 128 (Alaa Hleihel) [1789382] - [netdrv] net/mlx5e: Support accept action on nic table (Alaa Hleihel) [1789382] - [netdrv] mlx5: work around high stack usage with gcc (Alaa Hleihel) [1789382] - [netdrv] net/mlx5: limit the function in local scope (Alaa Hleihel) [1789382] - [infiniband] RDMA/mlx5: use true, false for bool variable (Alaa Hleihel) [1789382] - [infiniband] IB/mlx5: Unify ODP MR code paths to allow extra flexibility (Alaa Hleihel) [1789382] - [infiniband] IB/mlx5: Fix outstanding_pi index for GSI qps (Alaa Hleihel) [1789382] - [netdrv] net/mlx5: Add devlink reload (Alaa Hleihel) [1789382] - [netdrv] net/mlx5e: Set netdev name space on creation (Alaa Hleihel) [1789382] - [infiniband] IB/mlx5: Load profile according to RoCE enablement state (Alaa Hleihel) [1790200 1789382] - [netdrv] net/mlx5: Handle "enable_roce" devlink param (Alaa Hleihel) [1790200 1789382] - [fs] gfs2: Another gfs2_walk_metadata fix (Andreas Grunbacher) [1826419] - [nvme] nvmet-tcp: optimize tcp stack TX when data digest is used (Chris Leech) [1829540] - [nvme] nvmet-tcp: fix maxh2cdata icresp parameter (Chris Leech) [1829540] - [nvme] nvmet-tcp: set SO_PRIORITY for accepted sockets (Chris Leech) [1829540] - [nvme] nvmet-tcp: set MSG_MORE only if we actually have more to send (Chris Leech) [1829540] - [nvme] nvme-tcp: fix possible crash in recv error flow (Chris Leech) [1829540] - [nvme] nvme-tcp: don't poll a non-live queue (Chris Leech) [1829540] - [nvme] nvme-tcp: fix possible crash in write_zeroes processing (Chris Leech) [1829540] - [nvme] nvme-tcp: Add warning on state change failure at nvme_tcp_setup_ctrl (Chris Leech) [1829540] - [nvme] nvme: Make nvme_uninit_ctrl symmetric to nvme_init_ctrl (Chris Leech) [1829540] - [nvme] nvme: Fix ctrl use-after-free during sysfs deletion (Chris Leech) [1829540] - [nvme] nvme-tcp: break from io_work loop if recv failed (Chris Leech) [1829540] - [nvme] nvme-tcp: move send failure to nvme_tcp_try_send (Chris Leech) [1829540] - [nvme] nvme-tcp: optimize queue io_cpu assignment for multiple queue maps (Chris Leech) [1829540] - [nvme] nvme-tcp: Set SO_PRIORITY for all host sockets (Chris Leech) [1829540] - [nvme] nvme/tcp: fix bug on double requeue when send fails (Chris Leech) [1829540] - [nvme] Revert "nvme: Restart request timers in resetting state" (Chris Leech) [1829540] - [acpi] ACPI: processor: Export acpi_processor_evaluate_cst() (Steve Best) [1826415] - [acpi] ACPI: processor: Make ACPI_PROCESSOR_CSTATE depend on ACPI_PROCESSOR (Steve Best) [1826415] - [acpi] ACPI: processor: Clean up acpi_processor_evaluate_cst() (Steve Best) [1826415] - [acpi] ACPI: processor: Introduce acpi_processor_evaluate_cst() (Steve Best) [1826415] - [acpi] ACPI: processor: Export function to claim _CST control (Steve Best) [1826415] - [s390] s390/ftrace: fix potential crashes when switching tracers (Philipp Rudo) [1831796] - [net] net/smc: cancel event worker during device removal (Philipp Rudo) [1780665] - [net] net/smc: check for valid ib_client_data (Philipp Rudo) [1780665] - [net] net/smc: fix cleanup for linkgroup setup failures (Philipp Rudo) [1780665] - [net] net/smc: no peer ID in CLC decline for SMCD (Philipp Rudo) [1780665] - [net] net/smc: transfer fasync_list in case of fallback (Philipp Rudo) [1780665] - [net] net/smc: fix leak of kernel memory to user space (Philipp Rudo) [1780665] - [net] net/smc: allow unprivileged users to read pnet table (Philipp Rudo) [1780665] - [net] net/smc: unregister ib devices in reboot_event (Philipp Rudo) [1780665] - [net] net/smc: add fallback check to connect() (Philipp Rudo) [1780665] - [net] net/smc: shorten lgr_cnt initialization (Philipp Rudo) [1780665] - [net] net/smc: fix fastopen for non-blocking connect() (Philipp Rudo) [1780665] - [net] net/smc: remove unused constant (Philipp Rudo) [1780665] - [net] net/smc: use rcu_barrier() on module unload (Philipp Rudo) [1780665] - [net] net/smc: guarantee removal of link groups in reboot (Philipp Rudo) [1780665] - [net] net/smc: introduce bookkeeping of SMCR link groups (Philipp Rudo) [1780665] - [net] net/smc: immediate termination for SMCR link groups (Philipp Rudo) [1780665] - [net] net/smc: wait for tx completions before link freeing (Philipp Rudo) [1780665] - [net] net/smc: abnormal termination without orderly flag (Philipp Rudo) [1780665] - [net] net/smc: no WR buffer wait for terminating link group (Philipp Rudo) [1780665] - [net] net/smc: introduce bookkeeping of SMCD link groups (Philipp Rudo) [1780665] - [net] net/smc: abnormal termination of SMCD link groups (Philipp Rudo) [1780665] - [net] net/smc: immediate termination for SMCD link groups (Philipp Rudo) [1780665] - [net] net/smc: fix final cleanup sequence for SMCD devices (Philipp Rudo) [1780665] - [net] net/smc: fix refcount non-blocking connect() -part 2 (Philipp Rudo) [1780665] - [net] net/smc: fix ethernet interface refcounting (Philipp Rudo) [1780665] - [net] net/smc: fix refcounting for non-blocking connect() (Philipp Rudo) [1780665] - [net] net/smc: fix closing of fallback SMC sockets (Philipp Rudo) [1780665] - [net] net/smc: remove close abort worker (Philipp Rudo) [1780665] - [net] net/smc: introduce link group termination worker (Philipp Rudo) [1780665] - [net] net/smc: improve abnormal termination of link groups (Philipp Rudo) [1780665] - [net] net/smc: tell peers about abnormal link group termination (Philipp Rudo) [1780665] - [net] net/smc: improve link group freeing (Philipp Rudo) [1780665] - [net] net/smc: improve abnormal termination locking (Philipp Rudo) [1780665] - [net] net/smc: terminate link group without holding lgr lock (Philipp Rudo) [1780665] - [net] net/smc: cancel send and receive for terminated socket (Philipp Rudo) [1780665] - [net] net/smc: receive pending data after RCV_SHUTDOWN (Philipp Rudo) [1780665] - [net] net/smc: receive returns without data (Philipp Rudo) [1780665] - [net] net/smc: fix SMCD link group creation with VLAN id (Philipp Rudo) [1780665] - [net] net/smc: improve close of terminated socket (Philipp Rudo) [1780665] - [net] net/smc: no new connections on disappearing devices (Philipp Rudo) [1780665] - [net] net/smc: increase device refcount for added link group (Philipp Rudo) [1780665] - [net] net/smc: separate locks for SMCD and SMCR link group lists (Philipp Rudo) [1780665] - [net] net/smc: separate SMCD and SMCR link group lists (Philipp Rudo) [1780665] - [net] net/smc: original socket family in inet_sock_diag (Philipp Rudo) [1780665] - [infiniband] RDMA/bnxt_re: Use rdma_read_gid_hw_context to retrieve HW gid index (Kamal Heib) [1828601] - [infiniband] RDMA/core: Add helper function to retrieve driver gid context from gid attr (Kamal Heib) [1828601] - [media] media: videobuf2-v4l2: drop WARN_ON in vb2_warn_zero_bytesused() (Vladis Dronov) [1825616] {CVE-2019-9455} - [net] SUNRPC: Fix initialisation of struct rpc_xprt_switch (Steve Dickson) [1683394] - [net] SUNRPC: add links for all client xprts to debugfs (Steve Dickson) [1683394] - [net] SUNRPC: enhance rpc_clnt_show_stats() to report on all xprts (Steve Dickson) [1683394] - [net] SUNRPC: Fix transport accounting when caller specifies an rpc_xprt (Steve Dickson) [1683394] - [fs] NFS: send state management on a single connection (Steve Dickson) [1683394] - [net] SUNRPC: Add basic load balancing to the transport switch (Steve Dickson) [1683394] - [net] SUNRPC: Fix up task signalling (Steve Dickson) [1683394] - [fs] NFS: Allow multiple connections to a NFSv2 or NFSv3 server (Steve Dickson) [1683394] - [fs] NFS: Display the "nconnect" mount option if it is set (Steve Dickson) [1683394] - [fs] pNFS: Allow multiple connections to the DS (Steve Dickson) [1683394] - [fs] NFSv4: Allow multiple connections to NFSv4.x (x>0) servers (Steve Dickson) [1683394] - [fs] NFS: Add a mount option to specify number of TCP connections to use (Steve Dickson) [1683394] - [net] SUNRPC: Allow creation of RPC clients with multiple connections (Steve Dickson) [1683394] - [net] netlabel: cope with NULL catmap (Paolo Abeni) [1827251] {CVE-2020-10711} - [scsi] scsi: qla2xxx: fix a potential NULL pointer dereference ("Ewan D. Milne") [1829250] {CVE-2019-16233} - [input] Input: ff-memless - kill timer in destroy() (Chris von Recklinghausen) [1815024] {CVE-2019-19524}- [netdrv] net/mlx5e: kTLS, Do not send decrypted-marked SKBs via non-accel path (Alaa Hleihel) [1789380] - [netdrv] net/mlx5e: kTLS, Remove redundant posts in TX resync flow (Alaa Hleihel) [1789380] - [netdrv] net/mlx5e: kTLS, Fix corner-case checks in TX resync flow (Alaa Hleihel) [1789380] - [netdrv] net/mlx5: E-Switch, Prevent ingress rate configuration of uplink rep (Alaa Hleihel) [1789380] - [netdrv] net/mlx5: Update the list of the PCI supported devices (Alaa Hleihel) [1789380] - [netdrv] net/mlx5: Fix lowest FDB pool size (Alaa Hleihel) [1789380] - [netdrv] net/mlx5e: Fix hairpin RSS table size (Alaa Hleihel) [1789380] - [netdrv] Revert "net/mlx5: Support lockless FTE read lookups" (Alaa Hleihel) [1789380] - [netdrv] net/mlx5: Move devlink registration before interfaces load (Alaa Hleihel) [1789380] - [netdrv] net/mlx5e: Always print health reporter message to dmesg (Alaa Hleihel) [1789380] - [netdrv] net/mlx5e: Avoid duplicating rule destinations (Alaa Hleihel) [1789380] - [infiniband] IB/mlx5: Fix device memory flows (Alaa Hleihel) [1789380] - [netdrv] treewide: Use sizeof_field() macro (Alaa Hleihel) [1789380] - [netdrv] net/mlx5e: E-switch, Fix Ingress ACL groups in switchdev mode for prio tag (Alaa Hleihel) [1789380] - [netdrv] net/mlx5e: Fix build error without IPV6 (Alaa Hleihel) [1789380] - [netdrv] net: use rhashtable_lookup() instead of rhashtable_lookup_fast() (Alaa Hleihel) [1789380] - [netdrv] net/mlx5e: Remove redundant pointer check (Alaa Hleihel) [1789380] - [netdrv] net/mlx5e: TC, Stub out ipv6 tun create header function (Alaa Hleihel) [1789380] - [netdrv] net/mlx5: DR, Add support for Geneve packets SW steering (Alaa Hleihel) [1789380] - [netdrv] net/mlx5: DR, Add HW bits and definitions for Geneve flex parser (Alaa Hleihel) [1789380] - [netdrv] net/mlx5: DR, Refactor VXLAN GPE flex parser tunnel code for SW steering (Alaa Hleihel) [1789380] - [netdrv] net/mlx5: Don't write read-only fields in MODIFY_HCA_VPORT_CONTEXT command (Alaa Hleihel) [1789380] - [infiniband] IB/mlx5: Implement callbacks for getting VFs GUID attributes (Alaa Hleihel) [1789380] - [netdrv] net/mlx5e: Rx, Update page pool numa node when changed (Alaa Hleihel) [1789380] - [infiniband] IB/mlx5: Support extended number of strides for Striding RQ (Alaa Hleihel) [1789380] - [netdrv] net/mlx5: Remove redundant NULL initializations (Alaa Hleihel) [1789380] - [netdrv] net/mlx5: Add new chain for netfilter flow table offload (Alaa Hleihel) [1789380] - [netdrv] net/mlx5: Refactor creating fast path prio chains (Alaa Hleihel) [1789380] - [netdrv] net/mlx5: Accumulate levels for chains prio namespaces (Alaa Hleihel) [1789380] - [netdrv] net/mlx5: Define fdb tc levels per prio (Alaa Hleihel) [1789380] - [netdrv] net/mlx5: Rename FDB_* tc related defines to FDB_TC_* defines (Alaa Hleihel) [1789380] - [netdrv] net/mlx5: Simplify fdb chain and prio eswitch defines (Alaa Hleihel) [1789380] - [infiniband] IB/mlx5: Support flow counters offset for bulk counters (Alaa Hleihel) [1789380] - [netdrv] net/mlx5: Dump of fw_fatal use updated devlink binary interface (Alaa Hleihel) [1789380] - [infiniband] IB/mlx5: Rename profile and init methods (Alaa Hleihel) [1789380] - [netdrv] net/mlx5: fix spelling mistake "metdata" -> "metadata" (Alaa Hleihel) [1789380] - [netdrv] net/mlx5: fix kvfree of uninitialized pointer spec (Alaa Hleihel) [1789380] - [infiniband] IB: mlx5: no need to check return value of debugfs_create functions (Alaa Hleihel) [1789380] - [netdrv] net/mlx5: LAG, Use port enumerators (Alaa Hleihel) [1789380] - [netdrv] net/mlx5: rate limit alloc_ent error messages (Alaa Hleihel) [1789380] - [netdrv] net/mlx5e: Add ToS (DSCP) header rewrite support (Alaa Hleihel) [1789380] - [netdrv] net/mlx5e: Bit sized fields rewrite support (Alaa Hleihel) [1789380] - [netdrv] net/mlx5: WQ, Move short getters into header file (Alaa Hleihel) [1789380] - [netdrv] net/mlx5e: TX, Dump WQs wqe descriptors on CQE with error events (Alaa Hleihel) [1789380] - [netdrv] net/mlx5: Support lockless FTE read lookups (Alaa Hleihel) [1789380] - [netdrv] net/mlx5: Do not hold group lock while allocating FTE in software (Alaa Hleihel) [1789380] - [netdrv] net/mlx5e: Verify that rule has at least one fwd/drop action (Alaa Hleihel) [1789380] - [netdrv] net/mlx5: Remove unneeded variable in mlx5_unload_one (Alaa Hleihel) [1789380] - [netdrv] net/mlx5: FPGA, support network cards with standalone FPGA (Alaa Hleihel) [1789380] - [infiniband] IB/mlx5: Introduce and use mlx5_core_is_vf() (Alaa Hleihel) [1789380] - [netdrv] net/mlx5: Refactor ingress acl configuration (Alaa Hleihel) [1789380] - [netdrv] net/mlx5: Restrict metadata disablement to offloads mode (Alaa Hleihel) [1789380] - [netdrv] net/mlx5: E-switch, Offloads shift ACL programming during enable/disable vport (Alaa Hleihel) [1789380] - [netdrv] net/mlx5: E-switch, Offloads introduce and use per vport acl tables APIs (Alaa Hleihel) [1789380] - [netdrv] net/mlx5: Move ACL drop counters life cycle close to ACL lifecycle (Alaa Hleihel) [1789380] - [netdrv] net/mlx5: E-switch, Legacy introduce and use per vport acl tables APIs (Alaa Hleihel) [1789380] - [netdrv] net/mlx5: E-switch, Prepare code to handle vport enable error (Alaa Hleihel) [1789380] - [netdrv] net/mlx5: Tide up state_lock and vport enabled flag usage (Alaa Hleihel) [1789380] - [netdrv] net/mlx5: Move legacy drop counter and rule under legacy structure (Alaa Hleihel) [1789380] - [netdrv] net/mlx5: Move metdata fields under offloads structure (Alaa Hleihel) [1789380] - [netdrv] net/mlx5: Introduce and use mlx5_esw_is_manager_vport() (Alaa Hleihel) [1789380] - [netdrv] net/mlx5: E-switch, Introduce and use vlan rule config helper (Alaa Hleihel) [1789380] - [netdrv] net/mlx5: E-Switch, Rename ingress acl config in offloads mode (Alaa Hleihel) [1789380] - [netdrv] net/mlx5: E-Switch, Rename egress config to generic name (Alaa Hleihel) [1789380] - [infiniband] IB/mlx5: Test write combining support (Alaa Hleihel) [1789380] - [netdrv] net: Fix misspellings of "configure" and "configuration" (Alaa Hleihel) [1789380] - [infiniband] RDMA/mlx5: Do not race with mlx5_ib_invalidate_range during create and destroy (Alaa Hleihel) [1789380] - [infiniband] RDMA/mlx5: Do not store implicit children in the odp_mkeys xarray (Alaa Hleihel) [1789380] - [infiniband] RDMA/mlx5: Rework implicit ODP destroy (Alaa Hleihel) [1789380] - [infiniband] RDMA/mlx5: Avoid double lookups on the pagefault path (Alaa Hleihel) [1789380] - [infiniband] RDMA/mlx5: Reduce locking in implicit_mr_get_data() (Alaa Hleihel) [1789380] - [infiniband] RDMA/mlx5: Use an xarray for the children of an implicit ODP (Alaa Hleihel) [1789380] - [infiniband] RDMA/mlx5: Split implicit handling from pagefault_mr (Alaa Hleihel) [1789380] - [infiniband] RDMA/mlx5: Set the HW IOVA of the child MRs to their place in the tree (Alaa Hleihel) [1789380] - [infiniband] RDMA/mlx5: Lift implicit_mr_alloc() into the two routines that call it (Alaa Hleihel) [1789380] - [infiniband] RDMA/mlx5: Rework implicit_mr_get_data (Alaa Hleihel) [1789380] - [netdrv] RDMA/mlx5: Delete struct mlx5_priv->mkey_table (Alaa Hleihel) [1789380] - [infiniband] RDMA/mlx5: Use a dedicated mkey xarray for ODP (Alaa Hleihel) [1789380] - [infiniband] RDMA/mlx5: Split sig_err MR data into its own xarray (Alaa Hleihel) [1789380] - [infiniband] RDMA/mlx5: Use SRCU properly in ODP prefetch (Alaa Hleihel) [1789380] - [infiniband] IB/mlx5: Align usage of QP1 create flags with rest of mlx5 defines (Alaa Hleihel) [1789380] - [infiniband] RDMA/mlx5: Add capability for max sge to get optimized performance (Alaa Hleihel) [1789380] - [infiniband] IB/mlx5: Introduce and use mkey context setting helper routine (Alaa Hleihel) [1789380] - [include] net/mlx5: Expose optimal performance scatter entries capability (Alaa Hleihel) [1789380] - [infiniband] IB/mlx5: Remove unnecessary else statement (Alaa Hleihel) [1789380] - [infiniband] IB/mlx5: Remove unnecessary return statement (Alaa Hleihel) [1789380] - [infiniband] RDMA/mlx5: Group boolean parameters to take less space (Alaa Hleihel) [1789380] - [netdrv] net/mlx5e: Add missing capability bit check for IP-in-IP (Alaa Hleihel) [1789378] - [netdrv] net/mlx5e: Fix ingress rate configuration for representors (Alaa Hleihel) [1789378] - [netdrv] mlx5: reject unsupported external timestamp flags (Alaa Hleihel) [1789378] - [netdrv] net/mlx5e: Replace kfree with kvfree when free vhca stats (Alaa Hleihel) [1789378] - [netdrv] net/mlx5e: Remove incorrect match criteria assignment line (Alaa Hleihel) [1789378] - [netdrv] net/mlx5e: kTLS, Enhance TX resync flow (Alaa Hleihel) [1789378] - [netdrv] net/mlx5e: kTLS, Save a copy of the crypto info (Alaa Hleihel) [1789378] - [netdrv] net/mlx5e: kTLS, Remove unneeded cipher type checks (Alaa Hleihel) [1789378] - [netdrv] net/mlx5e: kTLS, Limit DUMP wqe size (Alaa Hleihel) [1789378] - [netdrv] net/mlx5e: kTLS, Fix missing SQ edge fill (Alaa Hleihel) [1789378] - [netdrv] net/mlx5e: kTLS, Fix page refcnt leak in TX resync error flow (Alaa Hleihel) [1789378] - [netdrv] net/mlx5e: kTLS, Save by-value copy of the record frags (Alaa Hleihel) [1789378] - [netdrv] net/mlx5e: kTLS, Save only the frag page to release at completion (Alaa Hleihel) [1789378] - [netdrv] net/mlx5e: kTLS, Size of a Dump WQE is fixed (Alaa Hleihel) [1789378] - [netdrv] net/mlx5e: kTLS, Release reference on DUMPed fragments in shutdown flow (Alaa Hleihel) [1789378] - [infiniband] RDMA/mlx5: Put live in the correct place for ODP MRs (Alaa Hleihel) [1789378] - [infiniband] RDMA/odp: Lift umem_mutex out of ib_umem_odp_unmap_dma_pages() (Alaa Hleihel) [1789378] - [netdrv] drivers: net: Fix Kconfig indentation (Alaa Hleihel) [1789378] - [netdrv] net/mlx5: DR, Remove redundant dev_name print from err log (Alaa Hleihel) [1789378] - [netdrv] net/mlx5: DR, Remove useless set memory to zero use memset() (Alaa Hleihel) [1789378] - [netdrv] net/mlx5e: kTLS, Remove unused function parameter (Alaa Hleihel) [1789378] - [netdrv] net/mlx5: Use PTR_ERR_OR_ZERO rather than its implementation (Alaa Hleihel) [1789378] - [netdrv] net/mlx5e: Use ipv6_stub to avoid dependency with ipv6 being a module (Alaa Hleihel) [1789378] - [netdrv] net/mlx5: Kconfig: Fix MLX5_CORE dependency with PCI_HYPERV_INTERFACE (Alaa Hleihel) [1789378] - [netdrv] net/mlx5e: Fix static checker warning of potential pointer math issue (Alaa Hleihel) [1789378] - [netdrv] net/mlx5e: Remove unlikely() from WARN*() condition (Alaa Hleihel) [1789378] - [netdrv] net/mlx5e: Support TSO and TX checksum offloads for IP-in-IP tunnels (Alaa Hleihel) [1789378] - [netdrv] net/mlx5e: Improve stateless offload capability check (Alaa Hleihel) [1789378] - [netdrv] net/mlx5e: Support RSS for IP-in-IP and IPv6 tunneled packets (Alaa Hleihel) [1789378] - [netdrv] net/mlx5e: Change function's position to a more fitting file (Alaa Hleihel) [1789378] - [infiniband] IB/mlx5: Add page fault handler for DC initiator WQE (Alaa Hleihel) [1789378] - [infiniband] IB/mlx5: Remove check of FW capabilities in ODP page fault handling (Alaa Hleihel) [1789378] - [netdrv] net/mlx5: Set ODP capabilities for DC transport to max (Alaa Hleihel) [1789378] - [infiniband] RDMA/mlx5: RDMA_RX flow type support for user applications (Alaa Hleihel) [1789378] - [netdrv] net/mlx5: Fix return code in case of hyperv wrong size read (Alaa Hleihel) [1789378] - [netdrv] net/mlx5e: Add mlx5e HV VHCA stats agent (Alaa Hleihel) [1789378] - [netdrv] net/mlx5: Add HV VHCA control agent (Alaa Hleihel) [1789378] - [netdrv] net/mlx5: Add HV VHCA infrastructure (Alaa Hleihel) [1789378] - [netdrv] net/mlx5: Add wrappers for HyperV PCIe operations (Alaa Hleihel) [1789378] - [netdrv] net/mlx5e: Add trace point for neigh update (Alaa Hleihel) [1789378] - [netdrv] net/mlx5e: Add trace point for neigh used value update (Alaa Hleihel) [1789378] - [netdrv] net/mlx5e: Add tc flower tracepoints (Alaa Hleihel) [1789378] - [infiniband] RDMA/mlx5: Use odp instead of mr->umem in pagefault_mr (Alaa Hleihel) [1789378] - [infiniband] RDMA/mlx5: Use ib_umem_start instead of umem.address (Alaa Hleihel) [1789378] - [netdrv] net/mlx5: Create bypass and loopback flow steering namespaces for RDMA RX (Alaa Hleihel) [1789378] - [netdrv] net/mlx5: Add per-namespace flow table default miss action support (Alaa Hleihel) [1789378] - [include] net/mlx5: Expose IP-in-IP capability bit (Alaa Hleihel) [1789378] - [netdrv] net/mlx5: Improve functions documentation (Alaa Hleihel) [1789378] - [netdrv] net/mlx5e: Report and recover from CQE with error on RQ (Alaa Hleihel) [1790198 1789378] - [netdrv] net/mlx5e: RX, Handle CQE with error at the earliest stage (Alaa Hleihel) [1789378] - [netdrv] net/mlx5e: Report and recover from rx timeout (Alaa Hleihel) [1790198 1789378] - [netdrv] net/mlx5e: Report and recover from CQE error on ICOSQ (Alaa Hleihel) [1790198 1789378] - [netdrv] net/mlx5e: Split open/close ICOSQ into stages (Alaa Hleihel) [1790198 1789378] - [netdrv] net/mlx5e: Add support to rx reporter diagnose (Alaa Hleihel) [1790198 1789378] - [netdrv] net/mlx5e: Add helper functions for reporter's basics (Alaa Hleihel) [1790198 1789378] - [netdrv] net/mlx5e: Add cq info to tx reporter diagnose (Alaa Hleihel) [1790198 1789378] - [netdrv] net/mlx5e: Extend tx reporter diagnostics output (Alaa Hleihel) [1790198 1789378] - [netdrv] net/mlx5e: Extend tx diagnose function (Alaa Hleihel) [1790198 1789378] - [netdrv] net/mlx5e: Generalize tx reporter's functionality (Alaa Hleihel) [1790198 1789378] - [netdrv] net/mlx5e: Change naming convention for reporter's functions (Alaa Hleihel) [1790198 1789378] - [netdrv] net/mlx5e: Rename reporter header file (Alaa Hleihel) [1790198 1789378] - [infiniband] RDMA/mlx5: Annotate lock dependency in bind/unbind slave port (Alaa Hleihel) [1789378] - [infiniband] IB/mlx5: Expose XRQ legacy commands over the DEVX interface (Alaa Hleihel) [1789378] - [infiniband] IB/mlx5: Add legacy events to DEVX list (Alaa Hleihel) [1789378] - [netdrv] net/mlx5: Add XRQ legacy commands opcodes (Alaa Hleihel) [1789378] - [netdrv] net/mlx5: Use debug message instead of warn (Alaa Hleihel) [1789378] - [netdrv] mlx5: no need to check return value of debugfs_create functions (Alaa Hleihel) [1789378] - [infiniband] mlx5: Use refcount_t for refcount (Alaa Hleihel) [1789378] - [netdrv] net/mlx5e: Allow dropping specific tunnel packets (Alaa Hleihel) [1789378] - [netdrv] net/mlx5e: TX reporter cleanup (Alaa Hleihel) [1789378] - [netdrv] net/mlx5e: Set tx reporter only on successful creation (Alaa Hleihel) [1789378] - [netdrv] net/mlx5e: Rx, checksum handling refactoring (Alaa Hleihel) [1789378] - [netdrv] net/mlx5e: Tx, Soften inline mode VLAN dependencies (Alaa Hleihel) [1789378] - [netdrv] net/mlx5e: XDP, Slight enhancement for WQE fetch function (Alaa Hleihel) [1789378] - [netdrv] net/mlx5e: XDP, Close TX MPWQE session when no room for inline packet left (Alaa Hleihel) [1789378] - [netdrv] net/mlx5e: Tx, Strict the room needed for SQ edge NOPs (Alaa Hleihel) [1789378] - [netdrv] net/mlx5: E-Switch, add ingress rate support (Alaa Hleihel) [1789378] - [infiniband] RDMA/mlx5: Remove DEBUG ODP code (Alaa Hleihel) [1789378] - [infiniband] IB/mlx5: Add CREATE_PSV/DESTROY_PSV for devx interface (Alaa Hleihel) [1789378] - [infiniband] IB/mlx5: Avoid unnecessary typecast (Alaa Hleihel) [1789378] - [netdrv] net/mlx5e: xsk: dynamically allocate mlx5e_channel_param (Alaa Hleihel) [1789378] - [netdrv] net: Use skb accessors in network drivers (Alaa Hleihel) [1789378] - [char] tpm: Export tpm2_get_cc_attrs_tbl for ibmvtpm driver as module (David Gibson) [1781915] - [char] tpm: ibmvtpm: Add support for TPM2 (David Gibson) [1781915] - [char] tpm: of: Handle IBM, vtpm20 case when getting log parameters (David Gibson) [1781915] - [wireless] iwlwifi: mvm: Do not require PHY_SKU NVM section for 3168 devices (Jarod Wilson) [1807052] - [wireless] mwifiex: set needed_headroom, not hard_header_len (Jarod Wilson) [1807052] - [wireless] ath9k: Handle txpower changes even when TPC is disabled (Jarod Wilson) [1807052] - [wireless] mt76: mt76x02: fix coverage_class type (Jarod Wilson) [1807052] - [wireless] rtw88: Use kfree_skb() instead of kfree() (Jarod Wilson) [1807052] - [wireless] brcmfmac: abort and release host after error (Jarod Wilson) [1807052] - [wireless] ath11k: Silence clang -Wsometimes-uninitialized in ath11k_update_per_peer_stats_from_txcompl (Jarod Wilson) [1807052] - [wireless] ath10k: Call cpu_latency_qos_*() instead of pm_qos_*() (Jarod Wilson) [1807052] - [net] mac80211: fix authentication with iwlwifi/mvm (Jarod Wilson) [1807052] - [net] mac80211: set IEEE80211_TX_CTRL_PORT_CTRL_PROTO for nl80211 TX (Jarod Wilson) [1807052] - [net] mac80211: mark station unauthorized before key removal (Jarod Wilson) [1807052] - [net] mac80211: Check port authorization in the ieee80211_tx_dequeue() case (Jarod Wilson) [1807052] - [net] cfg80211: Do not warn on same channel at the end of CSA (Jarod Wilson) [1807052] - [net] mac80211: drop data frames without key on encrypted links (Jarod Wilson) [1807052] - [net] nl80211: fix NL80211_ATTR_CHANNEL_WIDTH attribute type (Jarod Wilson) [1807052] - [wireless] iwlwifi: don't send GEO_TX_POWER_LIMIT if no wgds table (Jarod Wilson) [1807052] - [wireless] iwlwifi: pcie: add 0x2526/0x401* devices back to cfg detection (Jarod Wilson) [1807052] - [wireless] rtlwifi: rtl8188ee: Fix regression due to commit d1d1a96bdb44 (Jarod Wilson) [1807052] - [wireless] iwlwifi: cfg: use antenna diversity with all AX101 devices (Jarod Wilson) [1807052] - [wireless] iwlwifi: mvm: Fix rate scale NSS configuration (Jarod Wilson) [1807052] - [wireless] iwlwifi: dbg: don't abort if sending DBGC_SUSPEND_RESUME fails (Jarod Wilson) [1807052] - [wireless] iwlwifi: yoyo: don't add TLV offset when reading FIFOs (Jarod Wilson) [1807052] - [wireless] iwlwifi: check allocated pointer when allocating conf_tlvs (Jarod Wilson) [1807052] - [wireless] iwlwifi: consider HE capability when setting LDPC (Jarod Wilson) [1807052] - [wireless] iwlwifi: mvm: take the required lock when clearing time event data (Jarod Wilson) [1807052] - [net] mac80211: Do not send mesh HWMP PREQ if HWMP is disabled (Jarod Wilson) [1807052] - [net] nl80211: add missing attribute validation for channel switch (Jarod Wilson) [1807052] - [net] nl80211: add missing attribute validation for beacon report scanning (Jarod Wilson) [1807052] - [net] nl80211: add missing attribute validation for critical protocol indication (Jarod Wilson) [1807052] - [wireless] mt76: fix array overflow on receiving too many fragments for a packet (Jarod Wilson) [1807052] - [net] mac80211: rx: avoid RCU list traversal under mutex (Jarod Wilson) [1807052] - [net] nl80211: explicitly include if_vlan.h (Jarod Wilson) [1807052] - [net] mac80211: Remove a redundant mutex unlock (Jarod Wilson) [1807052] - [net] cfg80211: check reg_rule for NULL in handle_channel_custom() (Jarod Wilson) [1807052] - [net] nl80211: fix potential leak in AP start (Jarod Wilson) [1807052] - [net] mac80211: fix wrong 160/80+80 MHz setting (Jarod Wilson) [1807052] - [net] cfg80211: add missing policy for NL80211_ATTR_STATUS_CODE (Jarod Wilson) [1807052] - [wireless] mt76: mt7615: fix max_nss in mt7615_eeprom_parse_hw_cap (Jarod Wilson) [1807052] - [net] cfg80211: check wiphy driver existence for drvinfo report (Jarod Wilson) [1807052] - [net] mac80211: consider more elements in parsing CRC (Jarod Wilson) [1807052] - [net] mac80211: fix quiet mode activation in action frames (Jarod Wilson) [1807052] - [net] mac80211: use more bits for ack_frame_id (Jarod Wilson) [1807052] - [wireless] rtw88: Fix return value of rtw_wow_check_fw_status (Jarod Wilson) [1807052] - [wireless] iwlwifi: d3: read all FW CPUs error info (Jarod Wilson) [1807052] - [wireless] iwlwifi: mvm: fix TDLS discovery with the new firmware API (Jarod Wilson) [1807052] - [wireless] iwlwifi: mvm: Check the sta is not NULL in iwl_mvm_cfg_he_sta() (Jarod Wilson) [1807052] - [wireless] iwlwifi: mvm: avoid use after free for pmsr request (Jarod Wilson) [1807052] - [wireless] iwlwifi: mvm: update the DTS measurement type (Jarod Wilson) [1807052] - [wireless] iwlwifi: don't throw error when trying to remove IGTK (Jarod Wilson) [1807052] - [wireless] iwlwifi: mvm: Fix thermal zone registration (Jarod Wilson) [1807052] - [wireless] iwlwifi: use helpers (Jarod Wilson) [1807052] - [wireless] mwifiex: Fix possible buffer overflows in mwifiex_cmd_append_vsie_tlv() (Jarod Wilson) [1807052] - [wireless] mwifiex: Fix possible buffer overflows in mwifiex_ret_wmm_get_status() (Jarod Wilson) [1807052] - [wireless] mwifiex: fix unbalanced locking in mwifiex_process_country_ie() (Jarod Wilson) [1807052] - [wireless] rtlwifi: btcoex: fix spelling mistake "initilized" -> "initialized" (Jarod Wilson) [1807052] - [wireless] rtlwifi: rtl8723ae: remove unused variables (Jarod Wilson) [1807052] - [wireless] rtlwifi: rtl8192ee: remove unused variables (Jarod Wilson) [1807052] - [wireless] rtlwifi: rtl8821ae: remove unused variables (Jarod Wilson) [1807052] - [wireless] rtlwifi: rtl8188ee: remove redundant assignment to variable cond (Jarod Wilson) [1807052] - [wireless] brcmfmac: Remove always false 'idx < 0' statement (Jarod Wilson) [1807052] - [wireless] rtw88: use shorter delay time to poll PS state (Jarod Wilson) [1807052] - [wireless] rtw88: fix potential NULL skb access in TX ISR (Jarod Wilson) [1807052] - [wireless] brcmfmac: add initial support for monitor mode (Jarod Wilson) [1807052] - [wireless] brcmfmac: simplify building interface combinations (Jarod Wilson) [1807052] - [wireless] brcmfmac: sdio: Fix OOB interrupt initialization on brcm43362 (Jarod Wilson) [1807052] - [wireless] brcmfmac: use true,false for bool variable (Jarod Wilson) [1807052] - [wireless] rtw88: use true,false for bool variable (Jarod Wilson) [1807052] - [wireless] rtlwifi: rtl8821ae: Make functions static & rm sw.h (Jarod Wilson) [1807052] - [wireless] rtlwifi: rtl8723be: Make functions static & rm sw.h (Jarod Wilson) [1807052] - [wireless] rtlwifi: rtl8723ae: Make functions static & rm sw.h (Jarod Wilson) [1807052] - [wireless] rtlwifi: rtl8192se: Remove sw.h header (Jarod Wilson) [1807052] - [wireless] rtlwifi: rtl8192ee: Make functions static & rm sw.h (Jarod Wilson) [1807052] - [wireless] rtlwifi: rtl8192cu: Remove sw.h header (Jarod Wilson) [1807052] - [wireless] rtlwifi: rtl8192ce: Make functions static & rm sw.h (Jarod Wilson) [1807052] - [wireless] rtlwifi: rtl8188ee: Make functions static & rm sw.h (Jarod Wilson) [1807052] - [wireless] rtlwifi: rtl8192cu: Fix typo (Jarod Wilson) [1807052] - [wireless] rtw88: change max_num_of_tx_queue() definition to inline in pci.h (Jarod Wilson) [1807052] - [wireless] rtw88: assign NULL to skb after being kfree()'ed (Jarod Wilson) [1807052] - [wireless] rtw88: use rtw_hci_stop() instead of rtwdev->hci.ops->stop() (Jarod Wilson) [1807052] - [wireless] rtw88: remove unused vif pointer in struct rtw_vif (Jarod Wilson) [1807052] - [wireless] rtw88: remove unused variable 'in_lps' (Jarod Wilson) [1807052] - [wireless] rtw88: remove unused spinlock (Jarod Wilson) [1807052] - [wireless] rtw88: 8822c: update power sequence to v15 (Jarod Wilson) [1807052] - [wireless] rtw88: fix TX secondary channel offset of 40M if current bw is 20M or 40M (Jarod Wilson) [1807052] - [wireless] rtw88: fix rate mask for 1SS chip (Jarod Wilson) [1807052] - [wireless] rtw88: Add wowlan net-detect support (Jarod Wilson) [1807052] - [wireless] rtw88: Add wowlan pattern match support (Jarod Wilson) [1807052] - [wireless] rtw88: support wowlan feature for 8822c (Jarod Wilson) [1807052] - [wireless] rtw88: load wowlan firmware if wowlan is supported (Jarod Wilson) [1807052] - [wireless] rtw88: add interface config for 8822c (Jarod Wilson) [1807052] - [wireless] rtw88: pci: reset dma when reset pci trx ring (Jarod Wilson) [1807052] - [wireless] rtw88: pci: reset ring index when release skbs in tx ring (Jarod Wilson) [1807052] - [wireless] ath10k: Use device_get_match_data() to simplify code (Jarod Wilson) [1807052] - [wireless] ath10k: Add newlines to printk messages (Jarod Wilson) [1807052] - [wireless] ath10k: Correct the DMA direction for management tx buffers (Jarod Wilson) [1807052] - [wireless] mwifiex: drop most magic numbers from mwifiex_process_tdls_action_frame() (Jarod Wilson) [1807052] - [wireless] ath11k: fix up some error paths (Jarod Wilson) [1807052] - [wireless] ath11k: make sure to also report the RX bandwidth inside radiotap (Jarod Wilson) [1807052] - [wireless] ath11k: avoid null pointer dereference when pointer band is null (Jarod Wilson) [1807052] - [wireless] ath11k: Add missing pdev rx rate stats (Jarod Wilson) [1807052] - [wireless] ath11k: ensure ts.flags is initialized before bit-wise or'ing in values (Jarod Wilson) [1807052] - [wireless] ath11k: set TxBf parameters after vdev start (Jarod Wilson) [1807052] - [wireless] ath11k: enable HE tlvs in ppdu stats for pktlog lite (Jarod Wilson) [1807052] - [wireless] ath11k: fix debugfs build failure (Jarod Wilson) [1807052] - [wireless] ath10k: Don't call SCM interface for statically mapped msa region (Jarod Wilson) [1807052] - [wireless] Revert "ath10k: fix DMA related firmware crashes on multiple devices" (Jarod Wilson) [1807052] - [wireless] ath10k: drop RX skb with invalid length for sdio (Jarod Wilson) [1807052] - [wireless] ath10k: use true,false for bool variable (Jarod Wilson) [1807052] - [wireless] ath10k: Add optional qdss clk (Jarod Wilson) [1807052] - [wireless] ath10k: pci: Fix comment on ath10k_pci_dump_memory_sram (Jarod Wilson) [1807052] - [wireless] ath10k: pci: Only dump ATH10K_MEM_REGION_TYPE_IOREG when safe (Jarod Wilson) [1807052] - [wireless] ath9k: use true,false for bool variable (Jarod Wilson) [1807052] - [net] net: mac80211: use skb_list_walk_safe helper for gso segments (Jarod Wilson) [1807052] - [wireless] net: iwlwifi: use skb_list_walk_safe helper for gso segments (Jarod Wilson) [1807052] - [wireless] iwlwifi: add device name to device_info (Jarod Wilson) [1807052] - [wireless] iwlwifi: implement a new device configuration table (Jarod Wilson) [1807052] - [wireless] iwlwifi: assume the driver_data is a trans_cfg, but allow full cfg (Jarod Wilson) [1807052] - [wireless] iwlwifi: prph: remove some unused register definitions (Jarod Wilson) [1807052] - [wireless] iwlwifi: mvm: print out extended secboot status before dump (Jarod Wilson) [1807052] - [wireless] iwlwifi: incorporate firmware filename into version (Jarod Wilson) [1807052] - [wireless] iwlwifi: yoyo: check for the domain on all TLV types during init (Jarod Wilson) [1807052] - [wireless] iwlwifi: add new iwlax411 struct for type SoSnj (Jarod Wilson) [1807052] - [wireless] iwlwifi: yoyo: remove the iwl_dbg_tlv_gen_active_trigs() function (Jarod Wilson) [1807052] - [wireless] iwlwifi: yoyo: remove unnecessary active triggers status flag (Jarod Wilson) [1807052] - [wireless] iwlwifi: yoyo: don't allow changing the domain via debugfs (Jarod Wilson) [1807052] - [wireless] iwlwifi: mvm: Update BEACON_TEMPLATE_CMD firmware API (Jarod Wilson) [1807052] - [wireless] iwlwifi: remove CSR registers abstraction (Jarod Wilson) [1807052] - [wireless] iwlwifi: remove some outdated iwl22000 configurations (Jarod Wilson) [1807052] - [wireless] iwlwifi: pcie: validate queue ID before array deref/bit ops (Jarod Wilson) [1807052] - [wireless] iwlwifi: pcie: use partial pages if applicable (Jarod Wilson) [1807052] - [wireless] iwlwifi: pcie: map only used part of RX buffers (Jarod Wilson) [1807052] - [wireless] iwlwifi: allocate more receive buffers for HE devices (Jarod Wilson) [1807052] - [wireless] iwlwifi: mvm: add support for responder config command version 7 (Jarod Wilson) [1807052] - [wireless] iwlwifi: mvm: add support for location range request version 8 (Jarod Wilson) [1807052] - [wireless] iwlwifi: scan: remove support for fw scan api v11 (Jarod Wilson) [1807052] - [wireless] iwlwifi: dbg_ini: don't skip a TX FIFO when dumping (Jarod Wilson) [1807052] - [wireless] iwlwifi: mvm: update powersave correctly for D3 (Jarod Wilson) [1807052] - [wireless] ath11k: Use sizeof_field() instead of FIELD_SIZEOF() (Jarod Wilson) [1807052] - [wireless] ath11k: explicitly cast wmi commands to their correct struct type (Jarod Wilson) [1807052] - [wireless] orinoco: avoid assertion in case of NULL pointer (Jarod Wilson) [1807052] - [wireless] brcmfmac: Keep OOB wake-interrupt disabled when it shouldn't be enabled (Jarod Wilson) [1807052] - [wireless] brcmfmac: Fix memory leak in brcmf_usbdev_qinit (Jarod Wilson) [1807052] - [wireless] brcmfmac: not set mbss in vif if firmware does not support MBSS (Jarod Wilson) [1807052] - [wireless] brcmfmac: add RSDB condition when setting interface combinations (Jarod Wilson) [1807052] - [wireless] brcmfmac: add support for BCM4359 SDIO chipset (Jarod Wilson) [1807052] - [wireless] brcmfmac: make errors when setting roaming parameters non-fatal (Jarod Wilson) [1807052] - [wireless] brcmfmac: fix rambase for 4359/9 (Jarod Wilson) [1807052] - [wireless] brcmfmac: set F2 blocksize and watermark for 4359 (Jarod Wilson) [1807052] - [wireless] brcmfmac: reset two D11 cores if chip has two D11 cores (Jarod Wilson) [1807052] - [wireless] rtlwifi: rtl8192de: use generic rtl_signal_scale_mapping (Jarod Wilson) [1807052] - [wireless] rtlwifi: rtl8192cu: use generic rtl_signal_scale_mapping (Jarod Wilson) [1807052] - [wireless] rtlwifi: rtl8192ce: use generic rtl_signal_scale_mapping (Jarod Wilson) [1807052] - [wireless] rtlwifi: rtl8192de: use generic rtl_query_rxpwrpercentage (Jarod Wilson) [1807052] - [wireless] rtlwifi: rtl8192cu: use generic rtl_query_rxpwrpercentage (Jarod Wilson) [1807052] - [wireless] rtlwifi: rtl8192ce: use generic rtl_query_rxpwrpercentage (Jarod Wilson) [1807052] - [wireless] rtl8xxxu: fix interface sanity check (Jarod Wilson) [1807052] - [wireless] brcmfmac: fix interface sanity check (Jarod Wilson) [1807052] - [wireless] brcmfmac: set interface carrier to off by default (Jarod Wilson) [1807052] - [wireless] mwifiex: delete unused mwifiex_get_intf_num() (Jarod Wilson) [1807052] - [wireless] rt2x00usb: Fix a warning message in 'rt2x00usb_watchdog_tx_dma()' (Jarod Wilson) [1807052] - [wireless] brcmfmac: Fix use after free in brcmf_sdio_readframes() (Jarod Wilson) [1807052] - [wireless] rt2x00: use RESET state bit to prevent IV changes on restart (Jarod Wilson) [1807052] - [wireless] rt2x00: implement reconfig_complete (Jarod Wilson) [1807052] - [wireless] rtlwifi: rtl_pci: Fix -Wcast-function-type (Jarod Wilson) [1807052] - [wireless] brcmsmac: Remove always false 'channel < 0' statement (Jarod Wilson) [1807052] - [wireless] rtlwifi: Remove last definitions of local bit manipulation macros (Jarod Wilson) [1807052] - [wireless] rtlwifi: rtl8723be: Remove usage of private bit manipulation macros (Jarod Wilson) [1807052] - [wireless] rtlwifi: rtl8723ae: Remove usage of private bit manipulation macros (Jarod Wilson) [1807052] - [wireless] rtlwifi: rtl8192ee: Remove usage of private bit manipulation macros (Jarod Wilson) [1807052] - [wireless] rtlwifi: rtl88821ae: Remove usage of private bit manipulation macros (Jarod Wilson) [1807052] - [wireless] rtlwifi: Remove dependence on special bit manipulation macros for common driver (Jarod Wilson) [1807052] - [wireless] rtlwifi: rtl8192ce: rtl8192c_com: Remove usage of private bit manipulation macros (Jarod Wilson) [1807052] - [wireless] rtlwifi: rtl8188ee: Remove usage of private bit manipulation (Jarod Wilson) [1807052] - [wireless] rtlwifi: rtl8192de: Remove usage of private bit manipulation macros (Jarod Wilson) [1807052] - [wireless] rtlwifi: rtl8192de: Convert inline routines to little-endian words (Jarod Wilson) [1807052] - [wireless] rtlwifi: rtl8192de: Convert macros that set descriptor (Jarod Wilson) [1807052] - [wireless] rtlwifi: rtl8192de: Replace local bit manipulation macros (Jarod Wilson) [1807052] - [wireless] rtlwifi: rtl8192de: Remove unused GET_XXX and SET_XXX macros (Jarod Wilson) [1807052] - [wireless] brcmfmac: Fix memory leak in brcmf_p2p_create_p2pdev() (Jarod Wilson) [1807052] - [wireless] ath9k: fix storage endpoint lookup (Jarod Wilson) [1807052] - [wireless] ath11k: Remove unneeded semicolon (Jarod Wilson) [1807052] - [wireless] ath11k: remove an unneeded NULL check (Jarod Wilson) [1807052] - [wireless] ath11k: checking for NULL vs IS_ERR() (Jarod Wilson) [1807052] - [wireless] ath11k: delete a stray unlock in ath11k_dbg_htt_stats_req() (Jarod Wilson) [1807052] - [wireless] ath11k: fix missing free of skb on error return path (Jarod Wilson) [1807052] - [wireless] ath11k: fix uninitialized variable radioup (Jarod Wilson) [1807052] - [wireless] ath11k: fix memory leak on reg_info (Jarod Wilson) [1807052] - [wireless] ath11k: Remove unnecessary enum scan_priority (Jarod Wilson) [1807052] - [wireless] ath11k: fix several spelling mistakes (Jarod Wilson) [1807052] - [wireless] ath11k: add some missing __packed qualifiers (Jarod Wilson) [1807052] - [wireless] ath11k: set the BA buffer size to 256 when HE is enabled (Jarod Wilson) [1807052] - [wireless] ath11k: fix pdev when invoking ath11k_wmi_send_twt_enable_cmd() (Jarod Wilson) [1807052] - [wireless] ath11k: optimize ath11k_hal_tx_status_parse (Jarod Wilson) [1807052] - [wireless] ath11k: optimise ath11k_dp_tx_completion_handler (Jarod Wilson) [1807052] - [wireless] ath11k: move some tx_status parsing to debugfs code (Jarod Wilson) [1807052] - [wireless] ath11k: rename ath11k_wmi_base instances from wmi_sc to wmi_ab (Jarod Wilson) [1807052] - [wireless] ath11k: drop memset when setting up a tx cmd desc (Jarod Wilson) [1807052] - [wireless] ath11k: disable PS for STA interfaces by default upon bringup (Jarod Wilson) [1807052] - [wireless] ath11k: add wmi helper for turning STA PS on/off (Jarod Wilson) [1807052] - [wireless] ath10k: Fix some typo in some warning messages (Jarod Wilson) [1807052] - [wireless] ath11k: register HE mesh capabilities (Jarod Wilson) [1807052] - [net] netlink: rename nl80211_validate_nested() to nla_validate_nested() (Jarod Wilson) [1807052] - [wireless] wireless/mediatek: Replace rcu_swap_protected() with rcu_replace_pointer() (Jarod Wilson) [1807052] - [wireless] ath: add support for special 0x0 regulatory domain (Jarod Wilson) [1807052] - [wireless] ath10k: change bundle count for max rx bundle for sdio (Jarod Wilson) [1807052] - [wireless] ath10k: enable napi on RX path for sdio (Jarod Wilson) [1807052] - [wireless] ath11k: fix indentation in ath11k_mac_prepare_he_mode() (Jarod Wilson) [1807052] - [wireless] ath11k: Setup REO destination ring before sending wmi_init command (Jarod Wilson) [1807052] - [wireless] ath11k: Move mac80211 hw allocation before wmi_init command (Jarod Wilson) [1807052] - [wireless] ath11k: Skip update peer stats for management packets (Jarod Wilson) [1807052] - [wireless] ath11k: update tx duration in station info (Jarod Wilson) [1807052] - [wireless] ath11k: fix vht guard interval mapping (Jarod Wilson) [1807052] - [wireless] ath11k: fix memory leak in monitor mode (Jarod Wilson) [1807052] - [wireless] ath11k: Advertise MPDU start spacing as no restriction (Jarod Wilson) [1807052] - [wireless] ath11k: Update tx and rx chain count properly on drv_set_antenna (Jarod Wilson) [1807052] - [wireless] ath11k: add necessary peer assoc params in wmi dbg (Jarod Wilson) [1807052] - [wireless] ath11k: unlock mutex during failure in qmi fw ready (Jarod Wilson) [1807052] - [wireless] ath11k: add support for controlling tx power to a station (Jarod Wilson) [1807052] - [wireless] ath11k: update bawindow size in delba process (Jarod Wilson) [1807052] - [wireless] ath11k: avoid use_after_free in ath11k_dp_rx_msdu_coalesce API (Jarod Wilson) [1807052] - [wireless] ath11k: avoid burst time conversion logic (Jarod Wilson) [1807052] - [wireless] ath11k: pktlog: fix sending/using the pdev id (Jarod Wilson) [1807052] - [wireless] ath11k: qmi clean up in ath11k_qmi_wlanfw_wlan_cfg_send() (Jarod Wilson) [1807052] - [wireless] ath11k: qmi clean up ce and HTC service config update (Jarod Wilson) [1807052] - [wireless] ath11k: tracing: fix ath11k tracing (Jarod Wilson) [1807052] - [wireless] ath10k: enable wow feature for sdio chip (Jarod Wilson) [1807052] - [wireless] ath10k: change log level for mpdu status of sdio chip (Jarod Wilson) [1807052] - [wireless] ath10k: set WMI_PEER_AUTHORIZE after a firmware crash (Jarod Wilson) [1807052] - [wireless] ath10k: set max mtu to 1500 for sdio chip (Jarod Wilson) [1807052] - [wireless] ath10k: enable firmware log by default for sdio (Jarod Wilson) [1807052] - [wireless] ath11k: Fix target crash due to WBM_IDLE_LINK ring desc shortage (Jarod Wilson) [1807052] - [wireless] ath11k: Fixing TLV length issue in peer pktlog WMI command (Jarod Wilson) [1807052] - [wireless] ath11k: Fix skb_panic observed during msdu coalescing (Jarod Wilson) [1807052] - [wireless] ath11k: remove unused tx ring counters (Jarod Wilson) [1807052] - [wireless] ath11k: avoid WMM param truncation (Jarod Wilson) [1807052] - [wireless] ath11k: optimize RX path latency (Jarod Wilson) [1807052] - [wireless] ath11k: update tcl cmd descriptor parameters for STA mode (Jarod Wilson) [1807052] - [wireless] ath11k: fix wmi service ready ext tlv parsing (Jarod Wilson) [1807052] - [wireless] ath11k: fix resource leak in ath11k_mac_sta_state (Jarod Wilson) [1807052] - [wireless] ath11k: Fix htt stats sounding info and pdev cca stats (Jarod Wilson) [1807052] - [wireless] ath10k: move non-fatal warn logs to dbg level (Jarod Wilson) [1807052] - [wireless] ath11k: add spatial reuse support (Jarod Wilson) [1807052] - [wireless] ath11k: add TWT support (Jarod Wilson) [1807052] - [wireless] ath11k: add HE support (Jarod Wilson) [1807052] - [wireless] ath11k: Remove dead code while handling amsdu packets (Jarod Wilson) [1807052] - [wireless] ath11k: fix missed bw conversion in tx completion (Jarod Wilson) [1807052] - [wireless] ath11k: convert message from info to dbg (Jarod Wilson) [1807052] - [wireless] ath11k: ignore event 0x6017 (Jarod Wilson) [1807052] - [wireless] ath11k: add RX stats support for radiotap (Jarod Wilson) [1807052] - [wireless] ath11k: driver for Qualcomm IEEE 802.11ax devices (Jarod Wilson) [1807052] - [wireless] ath10k: fix RX of frames with broken FCS in monitor mode (Jarod Wilson) [1807052] - [wireless] ath10k: report rssi of each chain to mac80211 for sdio (Jarod Wilson) [1807052] - [wireless] ath10k: Handle "invalid" BDFs for msm8998 devices (Jarod Wilson) [1807052] - [wireless] ath10k: Fix qmi init error handling (Jarod Wilson) [1807052] - [wireless] ath10k: add NL80211_FEATURE_ND_RANDOM_MAC_ADDR for NLO (Jarod Wilson) [1807052] - [wireless] ath10k: Handle when FW doesn't support QMI_WLFW_HOST_CAP_REQ_V01 (Jarod Wilson) [1807052] - [wireless] ath10k: add large size for BMI download data for SDIO (Jarod Wilson) [1807052] - [wireless] ath10k: correct the tlv len of ath10k_wmi_tlv_op_gen_config_pno_start (Jarod Wilson) [1807052] - [wireless] ath10k: sdio: remove struct ath10k_sdio_rx_data::status (Jarod Wilson) [1807052] - [wireless] ath10k: sdio: cosmetic cleanup (Jarod Wilson) [1807052] - [wireless] ath10k: add workqueue for RX path of sdio (Jarod Wilson) [1807052] - [wireless] ath10k: change max RX bundle size from 8 to 32 for sdio (Jarod Wilson) [1807052] - [wireless] ath10k: enable RX bundle receive for sdio (Jarod Wilson) [1807052] - [wireless] iwlwifi: mvm: don't send the IWL_MVM_RXQ_NSSN_SYNC notif to Rx queues (Jarod Wilson) [1807052] - [net] cfg80211: fix page refcount issue in A-MSDU decap (Jarod Wilson) [1807052] - [net] cfg80211: check for set_wiphy_params (Jarod Wilson) [1807052] - [net] cfg80211: fix memory leak in cfg80211_cqm_rssi_update (Jarod Wilson) [1807052] - [net] cfg80211: fix memory leak in nl80211_probe_mesh_link (Jarod Wilson) [1807052] - [net] cfg80211: fix deadlocks in autodisconnect work (Jarod Wilson) [1807052] - [net] wireless: wext: avoid gcc -O3 warning (Jarod Wilson) [1807052] - [net] mac80211: Fix TKIP replay protection immediately after key setup (Jarod Wilson) [1807052] - [net] cfg80211: Fix radar event during another phy CAC (Jarod Wilson) [1807052] - [net] wireless: fix enabling channel 12 for custom regulatory domain (Jarod Wilson) [1807052] - [net] mac80211: mesh: restrict airtime metric to peered established plinks (Jarod Wilson) [1807052] - [wireless] Revert "iwlwifi: mvm: fix scan config command size" (Jarod Wilson) [1807052] - [wireless] iwlwifi: fw: make pos static in iwl_sar_get_ewrd_table() loop (Jarod Wilson) [1807052] - [wireless] iwlwifi: remove lar_disable module parameter (Jarod Wilson) [1807052] - [wireless] iwlwifi: dbg: force stop the debug monitor HW (Jarod Wilson) [1807052] - [wireless] iwlwifi: pcie: always disable L0S states (Jarod Wilson) [1807052] - [wireless] iwlwifi: pcie: rename L0S_ENABLED bit to L0S_DISABLED (Jarod Wilson) [1807052] - [wireless] iwlwifi: mvm: fix potential SKB leak on TXQ TX (Jarod Wilson) [1807052] - [wireless] iwlwifi: mvm: fix SKB leak on invalid queue (Jarod Wilson) [1807052] - [wireless] iwlwifi: pcie: extend hardware workaround to context-info (Jarod Wilson) [1807052] - [wireless] iwlwifi: Don't ignore the cap field upon mcc update (Jarod Wilson) [1807052] - [wireless] iwlwifi: mvm: report TX rate to mac80211 directly for RS offload (Jarod Wilson) [1807052] - [wireless] iwlwifi: mvm: fix NVM check for 3168 devices (Jarod Wilson) [1807052] - [wireless] iwlwifi: fix TLV fragment allocation loop (Jarod Wilson) [1807052] - [wireless] iwlwifi: pcie: allocate smaller dev_cmd for TX headers (Jarod Wilson) [1807052] - [wireless] iwlwifi: pcie: detect the DMA bug and warn if it happens (Jarod Wilson) [1807052] - [wireless] iwlwifi: pcie: work around DMA hardware bug (Jarod Wilson) [1807052] - [wireless] iwlwifi: pcie: move page tracking into get_page_hdr() (Jarod Wilson) [1807052] - [wireless] iwlwifi: don't send PPAG command if disabled (Jarod Wilson) [1807052] - [wireless] mt76: Off by one in mt76_calc_rx_airtime() (Jarod Wilson) [1807052] - [wireless] mt76: fix LED link time failure (Jarod Wilson) [1807052] - [net] mac80211: Turn AQL into an NL80211_EXT_FEATURE (Jarod Wilson) [1807052] - [net] mac80211: airtime: Fix an off by one in ieee80211_calc_rx_airtime() (Jarod Wilson) [1807052] - [net] cfg80211: fix double-free after changing network namespace (Jarod Wilson) [1807052] - [net] mac80211: fix TID field in monitor mode transmit (Jarod Wilson) [1807052] - [wireless] iwlwifi: pcie: move power gating workaround earlier in the flow (Jarod Wilson) [1807052] - [wireless] Revert "iwlwifi: assign directly to iwl_trans->cfg in QuZ detection" (Jarod Wilson) [1807052] - [wireless] wireles: Use sizeof_field() macro (Jarod Wilson) [1807052] - [wireless] mt76: mt76x0: fix default mac address overwrite (Jarod Wilson) [1807052] - [wireless] ath9k: use iowrite32 over __raw_writel (Jarod Wilson) [1807052] - [net] mac80211: Use Airtime-based Queue Limits (AQL) on packet dequeue (Jarod Wilson) [1807052] - [net] mac80211: Implement Airtime-based Queue Limit (AQL) (Jarod Wilson) [1807052] - [net] mac80211: Import airtime calculation code from mt76 (Jarod Wilson) [1807052] - [net] mac80211: consider QoS Null frames for STA_NULLFUNC_ACKED (Jarod Wilson) [1807052] - [net] mac80211: expose HW conf flags through debugfs (Jarod Wilson) [1807052] - [net] mac80211: Add new sta_info getter by sta/vif addrs (Jarod Wilson) [1807052] - [net] mac80211: add a comment about monitor-to-dev injection (Jarod Wilson) [1807052] - [wireless] drivers: net: Fix Kconfig indentation, continued (Jarod Wilson) [1807052] - [wireless] mt76: fix fix ampdu locking (Jarod Wilson) [1807052] - [wireless] mt76: mt76u: fix endpoint definition order (Jarod Wilson) [1807052] - [wireless] mt76: mt7615: read {tx,rx} mask from eeprom (Jarod Wilson) [1807052] - [wireless] mt76: move mt76_get_antenna in mt76_core module (Jarod Wilson) [1807052] - [wireless] mt76: fix possible out-of-bound access in mt7615_fill_txs/mt7603_fill_txs (Jarod Wilson) [1807052] - [wireless] Revert "mt76: mt76x0e: don't use hw encryption for MT7630E" (Jarod Wilson) [1807052] - [wireless] mt76: mt7615: disable radar pattern detector during scanning (Jarod Wilson) [1807052] - [wireless] mt76: move interface_modes definition in mt76_core module (Jarod Wilson) [1807052] - [wireless] mt76: mt7615: add ibss support (Jarod Wilson) [1807052] - [wireless] mt76: move SUPPORTS_REORDERING_BUFFER hw property in mt76_register_device (Jarod Wilson) [1807052] - [wireless] mt76: use mt76_dev in mt76_is_{mmio,usb} (Jarod Wilson) [1807052] - [wireless] mt76: Remove set but not used variable 'idx' (Jarod Wilson) [1807052] - [wireless] mt76: mt76u: rely on a dedicated stats workqueue (Jarod Wilson) [1807052] - [wireless] mt76: mt76u: rely on usb_interface instead of usb_dev (Jarod Wilson) [1807052] - [wireless] mt76: mt7615: remove unneeded semicolon (Jarod Wilson) [1807052] - [wireless] mt76: mt76x0: remove 350ms delay in mt76x0_phy_calibrate (Jarod Wilson) [1807052] - [wireless] mt76: mt76x02u: update ewma pkt len in mt76x02u_tx_prepare_skb (Jarod Wilson) [1807052] - [wireless] mt76: remove obsolete .add_buf() from struct mt76_queue_ops (Jarod Wilson) [1807052] - [wireless] mt76: add sanity check for a-mpdu rx wcid index (Jarod Wilson) [1807052] - [wireless] mt76: refactor cc_lock locking scheme (Jarod Wilson) [1807052] - [wireless] mt76: mt76x0: eeprom: add support for MAC address from OF (Jarod Wilson) [1807052] - [wireless] mt76: avoid enabling interrupt if NAPI poll is still pending (Jarod Wilson) [1807052] - [wireless] mt76: fix aggregation stop issue (Jarod Wilson) [1807052] - [wireless] mt76: drop rcu read lock in mt76_rx_aggr_stop (Jarod Wilson) [1807052] - [wireless] mt76: add missing locking around ampdu action (Jarod Wilson) [1807052] - [wireless] mt76: do not use devm API for led classdev (Jarod Wilson) [1807052] - [wireless] mt76: enable airtime fairness (Jarod Wilson) [1807052] - [wireless] mt76: mt7615: track tx/rx airtime for airtime fairness (Jarod Wilson) [1807052] - [wireless] mt76: mt7615: introduce mt7615_mac_wtbl_update routine (Jarod Wilson) [1807052] - [wireless] mt76: mt7615: fix survey channel busy time (Jarod Wilson) [1807052] - [wireless] mt76: mt7615: report tx_time, bss_rx and busy time to mac80211 (Jarod Wilson) [1807052] - [wireless] mt76: mt76x02: track approximate tx airtime for airtime fairness and survey (Jarod Wilson) [1807052] - [wireless] mt76: mt76x02: move MT_CH_TIME_CFG init to mt76x02_mac_cc_reset (Jarod Wilson) [1807052] - [wireless] mt76: unify channel survey update code (Jarod Wilson) [1807052] - [wireless] mt76: mt7603: switch to a different counter for survey busy time (Jarod Wilson) [1807052] - [wireless] mt76: mt7603: track tx airtime for airtime fairness and survey (Jarod Wilson) [1807052] - [wireless] mt76: track rx airtime for airtime fairness and survey (Jarod Wilson) [1807052] - [wireless] mt76: store current channel survey_state in struct mt76_dev (Jarod Wilson) [1807052] - [wireless] mt76: rename mt76_driver_ops txwi_flags to drv_flags and include tx aligned4 (Jarod Wilson) [1807052] - [wireless] mt76: report rx a-mpdu subframe status (Jarod Wilson) [1807052] - [wireless] mt76: mt7603: remove q_rx field from struct mt7603_dev (Jarod Wilson) [1807052] - [wireless] mt76: mt7603: collect aggregation stats (Jarod Wilson) [1807052] - [wireless] mt76: mt7615: collect aggregation stats (Jarod Wilson) [1807052] - [wireless] mt76: move aggr_stats array in mt76_dev (Jarod Wilson) [1807052] - [wireless] mt76: mt7615: add queue entry in debugfs (Jarod Wilson) [1807052] - [wireless] mt76: move queue debugfs entry to driver specific code (Jarod Wilson) [1807052] - [wireless] mt76: mt76x02u: move mt76x02u_mac_start in mt76x02-usb module (Jarod Wilson) [1807052] - [wireless] mt76: mt76x0u: reset counter starting the device (Jarod Wilson) [1807052] - [wireless] mt76: mt76x2: move mt76x02_mac_reset_counters in mt76x02_mac_start (Jarod Wilson) [1807052] - [wireless] mt76: mt76x02: move mac_reset_counter in mt76x02_lib module (Jarod Wilson) [1807052] - [wireless] mt76: mt7615: enable SCS by default (Jarod Wilson) [1807052] - [wireless] mt76: mt76x0e: make array mt76x0_chan_map static const, makes object smaller (Jarod Wilson) [1807052] - [wireless] mt76: usb: add lockdep_assert_held in __mt76u_vendor_request (Jarod Wilson) [1807052] - [wireless] mt76: remove empty flag in mt76_txq_schedule_list (Jarod Wilson) [1807052] - [wireless] mt76: use cancel_delayed_work_sync in mt76_rx_aggr_shutdown (Jarod Wilson) [1807052] - [wireless] mt76: remove aggr_work field from struct mt76_wcid (Jarod Wilson) [1807052] - [wireless] mt76: mt7615: fix control frame rx in monitor mode (Jarod Wilson) [1807052] - [wireless] iwlwifi: bump FW API to 52 for 22000 series (Jarod Wilson) [1807052] - [wireless] iwlwifi: check kasprintf() return value (Jarod Wilson) [1807052] - [wireless] iwlwifi: mvm: remove outdated comment referring to wake lock (Jarod Wilson) [1807052] - [wireless] iwlwifi: pcie: trace IOVA for iwlwifi_dev_tx_tb (Jarod Wilson) [1807052] - [wireless] iwlwifi: dvm: excessive if in rs_bt_update_lq() (Jarod Wilson) [1807052] - [wireless] iwlwifi: mvm: Report tx/rx antennas (Jarod Wilson) [1807052] - [wireless] iwlwifi: pcie: rx: use rxq queue_size instead of constant (Jarod Wilson) [1807052] - [wireless] iwlwifi: mvm: remove left-over non-functional email alias (Jarod Wilson) [1807052] - [wireless] iwlwifi: config: remove max_rx_agg_size (Jarod Wilson) [1807052] - [wireless] iwlwifi: pcie: make some RX functions static (Jarod Wilson) [1807052] - [wireless] iwlwifi: scan: support scan req FW API ver 13 (Jarod Wilson) [1807052] - [wireless] iwlwifi: pcie: fix support for transmitting SKBs with fraglist (Jarod Wilson) [1807052] - [wireless] rtl8xxxu: Remove set but not used variable 'vif', 'dev', 'len' (Jarod Wilson) [1807052] - [wireless] brcmfmac: remove monitor interface when detaching (Jarod Wilson) [1807052] - [wireless] brcmfmac: disable PCIe interrupts before bus reset (Jarod Wilson) [1807052] - [wireless] rtw88: allows to enable/disable HCI link PS mechanism (Jarod Wilson) [1807052] - [wireless] rtw88: pci: enable CLKREQ function if host supports it (Jarod Wilson) [1807052] - [wireless] rtw88: pci: use for loop instead of while loop for DBI/MDIO (Jarod Wilson) [1807052] - [wireless] rtw88: pci: use macros to access PCI DBI/MDIO registers (Jarod Wilson) [1807052] - [wireless] rtlwifi: set proper udelay within rf_serial_read (Jarod Wilson) [1807052] - [wireless] rtlwifi: rf_lock use non-irqsave spin_lock (Jarod Wilson) [1807052] - [wireless] brcmfmac: remove set but not used variable 'mpnum', 'nsp', 'nmp' (Jarod Wilson) [1807052] - [wireless] rtw88: remove duplicated include from ps.c (Jarod Wilson) [1807052] - [wireless] rtl8xxxu: Remove set but not used variable 'rsr' (Jarod Wilson) [1807052] - [wireless] brcmsmac: remove unnecessary return (Jarod Wilson) [1807052] - [wireless] net: wireless: ti: remove local VENDOR_ID and DEVICE_ID definitions (Jarod Wilson) [1807052] - [wireless] net: wireless: ti: wl1251 use new SDIO_VENDOR_ID_TI_WL1251 definition (Jarod Wilson) [1807052] - [wireless] net: wireless: ti: wl1251 add device tree support (Jarod Wilson) [1807052] - [wireless] iwlwifi: mvm: fix non-ACPI function (Jarod Wilson) [1807052] - [wireless] iwlwifi: 22000: fix some indentation (Jarod Wilson) [1807052] - [wireless] iwlwifi: remove IWL_DEVICE_22560/IWL_DEVICE_FAMILY_22560 (Jarod Wilson) [1807052] - [wireless] iwlwifi: mvm: sync the iwl_mvm_session_prot_notif layout (Jarod Wilson) [1807052] - [wireless] iwlwifi: mvm: start CTDP budget from 2400mA (Jarod Wilson) [1807052] - [wireless] iwlwifi: mvm: don't skip mgmt tid when flushing all tids (Jarod Wilson) [1807052] - [wireless] iwlwifi: mvm: scan: enable adaptive dwell in p2p (Jarod Wilson) [1807052] - [wireless] iwlwifi: refactor the SAR tables from mvm to acpi (Jarod Wilson) [1807052] - [wireless] iwlwifi: scan: support scan req cmd ver 12 (Jarod Wilson) [1807052] - [wireless] iwlwifi: scan: make new scan req versioning flow (Jarod Wilson) [1807052] - [wireless] iwlwifi: mvm: fix unaligned read of rx_pkt_status (Jarod Wilson) [1807052] - [wireless] iwlwifi: remove redundant assignment to variable bufsz (Jarod Wilson) [1807052] - [wireless] iwlwifi: bump FW API to 51 for 22000 series (Jarod Wilson) [1807052] - [wireless] iwlwifi: FW API: reference enum in docs of modify_mask (Jarod Wilson) [1807052] - [wireless] iwlwifi: mvm: print rate_n_flags in a pretty format (Jarod Wilson) [1807052] - [wireless] iwlwifi: scan: adapt the code to use api ver 11 (Jarod Wilson) [1807052] - [wireless] iwlwifi: scan: Create function to build scan cmd (Jarod Wilson) [1807052] - [wireless] iwlwifi: scan: create function for scan scheduling params (Jarod Wilson) [1807052] - [wireless] iwlwifi: dbg_ini: support dump collection upon assert during D3 (Jarod Wilson) [1807052] - [wireless] iwlwifi: pcie: make iwl_pcie_gen2_update_byte_tbl static (Jarod Wilson) [1807052] - [wireless] iwlwifi: mvm: in VHT connection use only VHT capabilities (Jarod Wilson) [1807052] - [wireless] iwlwifi: nvm: update iwl_uhb_nvm_channels (Jarod Wilson) [1807052] - [wireless] iwlwifi: mvm: remove else-if in iwl_send_phy_cfg_cmd() (Jarod Wilson) [1807052] - [wireless] iwlwifi: mvm: fix support for single antenna diversity (Jarod Wilson) [1807052] - [wireless] ath10k: qmi: Sleep for a while before assigning MSA memory (Jarod Wilson) [1807052] - [wireless] ath10k: Revert "ath10k: add cleanup in ath10k_sta_state()" (Jarod Wilson) [1807052] - [wireless] mwifiex: Re-work support for SDIO HW reset (Jarod Wilson) [1807052] - [wireless] rtl8xxxu: Add support for Edimax EW-7611ULB (Jarod Wilson) [1807052] - [wireless] rtlwifi: rtl8192de: Fix missing enable interrupt flag (Jarod Wilson) [1807052] - [wireless] rtlwifi: rtl8192de: Fix missing callback that tests for hw release of buffer (Jarod Wilson) [1807052] - [wireless] rtlwifi: rtl8192de: Fix missing code to retrieve RX buffer address (Jarod Wilson) [1807052] - [net] mac80211: Use debugfs_create_xul() helper (Jarod Wilson) [1807052] - [net] cfg80211: VLAN offload support for set_key and set_sta_vlan (Jarod Wilson) [1807052] - [net] mac80211: Shrink the size of ack_frame_id to make room for tx_time_est (Jarod Wilson) [1807052] - [net] mac80211: don't re-parse elems in ieee80211_assoc_success() (Jarod Wilson) [1807052] - [net] mac80211: move store skb ack code to its own function (Jarod Wilson) [1807052] - [wireless] ath10k: disable cpuidle during downloading firmware (Jarod Wilson) [1807052] - [wireless] ath10k: fix potential issue of peer stats allocation (Jarod Wilson) [1807052] - [wireless] ath10k: fix get invalid tx rate for Mesh metric (Jarod Wilson) [1807052] - [wireless] rtw88: signal completion even on firmware-request failure (Jarod Wilson) [1807052] - [wireless] rtw88: fix potential NULL pointer access for firmware (Jarod Wilson) [1807052] - [wireless] rtlwifi: fix memory leak in rtl92c_set_fw_rsvdpagepkt() (Jarod Wilson) [1807052] - [wireless] rt2800: remove errornous duplicate condition (Jarod Wilson) [1807052] - [wireless] rtlwifi: rtl8225se: remove some unused const variables (Jarod Wilson) [1807052] - [wireless] brcmsmac: remove set but not used variables (Jarod Wilson) [1807052] - [wireless] rtw88: raise LPS threshold to 50, for less power consumption (Jarod Wilson) [1807052] - [wireless] ath5k: eeprom: Remove unneeded variable (Jarod Wilson) [1807052] - [wireless] ath10k: remove unneeded semicolon (Jarod Wilson) [1807052] - [wireless] mt7601u: use DEFINE_DEBUGFS_ATTRIBUTE to define debugfs fops (Jarod Wilson) [1807052] - [wireless] rtlwifi: rtl8821ae: Drop condition with no effect (Jarod Wilson) [1807052] - [wireless] b43: dma: Fix use true/false for bool type variable (Jarod Wilson) [1807052] - [wireless] b43: main: Fix use true/false for bool type (Jarod Wilson) [1807052] - [wireless] rtlwifi: rtl8192c: Drop condition with no effect (Jarod Wilson) [1807052] - [wireless] rtw88: remove redundant null pointer check on arrays (Jarod Wilson) [1807052] - [wireless] rtw88: avoid FW info flood (Jarod Wilson) [1807052] - [wireless] rtw88: fix potential read outside array boundary (Jarod Wilson) [1807052] - [wireless] rtw88: rearrange if..else statements for rx rate indexes (Jarod Wilson) [1807052] - [wireless] rtw88: use rtw_phy_pg_cfg_pair struct, not arrays (Jarod Wilson) [1807052] - [wireless] rtw88: 8822b: add RFE type 3 support (Jarod Wilson) [1807052] - [wireless] rtw88: fix sparse warnings for power tracking (Jarod Wilson) [1807052] - [wireless] rtw88: fix sparse warnings for DPK (Jarod Wilson) [1807052] - [wireless] net: Fix various misspellings of "connect" (Jarod Wilson) [1807052] - [wireless] net: Fix misspellings of "configure" and "configuration" (Jarod Wilson) [1807052] - [wireless] rtw88: fix GENMASK_ULL for u64 (Jarod Wilson) [1807052] - [wireless] iwlwifi: rx: use new api to get band from rx mpdu (Jarod Wilson) [1807052] - [wireless] iwlwifi: nvm: create function to convert channel index to nl80211_band (Jarod Wilson) [1807052] - [wireless] iwlwifi: mvm: Invert the condition for OFDM rate (Jarod Wilson) [1807052] - [wireless] iwlwifi: mvm: create function to convert nl80211 band to phy band (Jarod Wilson) [1807052] - [wireless] iwlwifi: dbg_ini: use vzalloc to allocate dumping memory regions (Jarod Wilson) [1807052] - [wireless] iwlwifi: dbg_ini: add user trigger support (Jarod Wilson) [1807052] - [wireless] iwlwifi: mvm: add notification for missed VAP (Jarod Wilson) [1807052] - [wireless] iwlwifi: mvm: fix old-style declaration (Jarod Wilson) [1807052] - [wireless] iwlwifi: mvm: use the new session protection command (Jarod Wilson) [1807052] - [wireless] iwlwifi: mvm: remove leftover rs_remove_sta_debugfs() prototype (Jarod Wilson) [1807052] - [wireless] iwlwifi: mvm: add support for new version for D0I3_END_CMD (Jarod Wilson) [1807052] - [wireless] iwlwifi: mvm: consider ieee80211 station max amsdu value (Jarod Wilson) [1807052] - [wireless] iwlwifi: dbg_ini: support FW notification dumping in case of missed beacon (Jarod Wilson) [1807052] - [wireless] iwlwifi: dbg_ini: remove old API and some related code (Jarod Wilson) [1807052] - [wireless] iwlwifi: dbg_ini: rename external debug configuration file (Jarod Wilson) [1807052] - [wireless] iwlwifi: dbg_ini: support FW response/notification region type (Jarod Wilson) [1807052] - [wireless] iwlwifi: dbg_ini: support domain changing via debugfs (Jarod Wilson) [1807052] - [wireless] iwlwifi: dbg_ini: add periodic trigger new API support (Jarod Wilson) [1807052] - [wireless] iwlwifi: dbg_ini: implement monitor allocation flow (Jarod Wilson) [1807052] - [wireless] iwlwifi: dbg_ini: implement time point handling (Jarod Wilson) [1807052] - [wireless] iwlwifi: dbg_ini: add TLV allocation new API support (Jarod Wilson) [1807052] - [wireless] iwlwifi: dbg_ini: use new API in dump info (Jarod Wilson) [1807052] - [wireless] iwlwifi: dbg_ini: add error tables dumping support (Jarod Wilson) [1807052] - [wireless] iwlwifi: dbg_ini: add monitor dumping support (Jarod Wilson) [1807052] - [wireless] iwlwifi: dbg: remove multi buffers infra (Jarod Wilson) [1807052] - [wireless] iwlwifi: dbg_ini: use new trigger TLV in dump flow (Jarod Wilson) [1807052] - [wireless] iwlwifi: dbg_ini: use new region TLV in dump flow (Jarod Wilson) [1807052] - [wireless] iwlwifi: dbg_ini: load external dbg cfg after internal cfg is loaded (Jarod Wilson) [1807052] - [wireless] rtl8xxxu: fix warnings for symbol not declared (Jarod Wilson) [1807052] - [wireless] rtl8xxxu: remove set but not used variable 'rate_mask' (Jarod Wilson) [1807052] - [wireless] rtlwifi: Remove unnecessary NULL check in rtl_regd_init (Jarod Wilson) [1807052] - [wireless] rtw88: add phy_info debugfs to show Tx/Rx physical status (Jarod Wilson) [1807052] - [wireless] rtw88: add set_bitrate_mask support (Jarod Wilson) [1807052] - [wireless] rtw88: Enable 802.11ac beamformee support (Jarod Wilson) [1807052] - [wireless] rtw88: add power tracking support (Jarod Wilson) [1807052] - [wireless] rtw88: use macro to check the current band (Jarod Wilson) [1807052] - [wireless] rtl8xxxu: fix RTL8723BU connection failure issue after warm reboot (Jarod Wilson) [1807052] - [wireless] rtw88: mark rtw_fw_hdr __packed (Jarod Wilson) [1807052] - [wireless] net/wireless: Delete unnecessary checks before the macro call "dev_kfree_skb" (Jarod Wilson) [1807052] - [wireless] wireless: Remove call to memset after dma_alloc_coherent (Jarod Wilson) [1807052] - [wireless] rtw88: include interrupt.h for tasklet_struct (Jarod Wilson) [1807052] - [wireless] rtw88: use a for loop in rtw_power_mode_change(), not goto (Jarod Wilson) [1807052] - [wireless] rtw88: coex: Set 4 slot mode for A2DP (Jarod Wilson) [1807052] - [wireless] rtw88: pci: config phy after chip info is setup (Jarod Wilson) [1807052] - [wireless] rtw88: Use rtw_write8_set to set SYS_FUNC (Jarod Wilson) [1807052] - [wireless] rtw88: add NL80211_EXT_FEATURE_CAN_REPLACE_PTK0 support (Jarod Wilson) [1807052] - [wireless] rtw88: config 8822c multicast address in MAC init flow (Jarod Wilson) [1807052] - [wireless] ath10k: Correct error handling of dma_map_single() (Jarod Wilson) [1807052] - [wireless] ath: rename regulatory rules (Jarod Wilson) [1807052] - [wireless] ath10k: fix memory leak for tpc_stats_final (Jarod Wilson) [1807052] - [wireless] ath10k: fix array out-of-bounds access (Jarod Wilson) [1807052] - [wireless] rtlwifi: rtl8192se: Convert inline routines to little-endian words (Jarod Wilson) [1807052] - [wireless] rtlwifi: rtl8192se: Convert macros that set descriptor (Jarod Wilson) [1807052] - [wireless] rtlwifi: rtl8192se: Replace local bit manipulation macros (Jarod Wilson) [1807052] - [wireless] rtlwifi: rtl8192se: Remove unused GET_XXX and SET_XXX (Jarod Wilson) [1807052] - [wireless] rtlwifi: rtl8192ee: Remove set but not used variable 'err' (Jarod Wilson) [1807052] - [wireless] ath10k: fix null dereference on pointer crash_data (Jarod Wilson) [1807052] - [wireless] ath10k: enable transmit data ack RSSI for QCA9884 (Jarod Wilson) [1807052] - [net] mac80211: minstrel_ht: rename prob_ewma to prob_avg, use it for the new average (Jarod Wilson) [1807052] - [net] mac80211: minstrel_ht: replace rate stats ewma with a better moving average (Jarod Wilson) [1807052] - [net] mac80211: minstrel: remove divisions in tx status path (Jarod Wilson) [1807052] - [net] nl80211: trivial: Remove redundant loop (Jarod Wilson) [1807052] - [wireless] rtlwifi: rtl8192ee: Remove set but not used variable 'cur_tx_wp' (Jarod Wilson) [1807052] - [wireless] rtl8xxxu: make arrays static, makes object smaller (Jarod Wilson) [1807052] - [wireless] rtw88: Fix an error message (Jarod Wilson) [1807052] - [wireless] rtl8xxxu: add bluetooth co-existence support for single antenna (Jarod Wilson) [1807052] - [wireless] mwifiex: pcie: Fix memory leak in mwifiex_pcie_alloc_cmdrsp_buf (Jarod Wilson) [1829230 1807052] {CVE-2019-19056} - [wireless] rtlwifi: rtl8723: Remove set but not used variable 'own' (Jarod Wilson) [1807052] - [wireless] rtlwifi: btcoex: Remove set but not used variables 'wifi_busy', 'bt_info_ext' (Jarod Wilson) [1807052] - [wireless] rtlwifi: btcoex: Remove set but not used variable 'result' (Jarod Wilson) [1807052] - [wireless] rtlwifi: rtl8188ee: Remove set but not used variable 'h2c_parameter' (Jarod Wilson) [1807052] - [wireless] rtlwifi: rtl8188ee: Remove set but not used variables 'v3', 'rtstatus', 'reg_ecc', 'reg_ec4', 'reg_eac', 'b_pathb_ok' (Jarod Wilson) [1807052] - [wireless] rtlwifi: rtl8192c: Remove set but not used variables 'reg_ecc', 'reg_eac' (Jarod Wilson) [1807052] - [wireless] rtlwifi: rtl8723ae: Remove set but not used variables 'reg_ecc', 'reg_ec4', 'reg_eac', 'b_pathb_ok' (Jarod Wilson) [1807052] - [wireless] rtlwifi: rtl8821ae: Remove set but not used variables 'rtstatus', 'bd' (Jarod Wilson) [1807052] - [wireless] rtl8xxxu: Improve TX performance of RTL8723BU on rtl8xxxu driver (Jarod Wilson) [1807052] - [wireless] brcmfmac: add support for SAE authentication offload (Jarod Wilson) [1807052] - [wireless] rtw88: fix error handling when setup efuse info (Jarod Wilson) [1807052] - [wireless] rtw88: fix NSS of hw_cap (Jarod Wilson) [1807052] - [wireless] rtw88: use struct rtw_fw_hdr to access firmware header (Jarod Wilson) [1807052] - [wireless] rtw88: raise firmware version debug level (Jarod Wilson) [1807052] - [wireless] rtw88: configure TX queue EDCA parameters (Jarod Wilson) [1807052] - [wireless] rtw88: Don't set RX_FLAG_DECRYPTED if packet has no encryption (Jarod Wilson) [1807052] - [wireless] rtw88: fix beaconing mode rsvd_page memory violation issue (Jarod Wilson) [1807052] - [wireless] rtw88: flush hardware tx queues (Jarod Wilson) [1807052] - [wireless] rtw88: add TX-AMSDU support (Jarod Wilson) [1807052] - [wireless] rtw88: report tx rate to mac80211 stack (Jarod Wilson) [1807052] - [wireless] rtw88: take over rate control from mac80211 (Jarod Wilson) [1807052] - [wireless] rtw88: add driver TX queue support (Jarod Wilson) [1807052] - [wireless] rtw88: allows to set RTS in TX descriptor (Jarod Wilson) [1807052] - [wireless] rtw88: check firmware leave lps successfully (Jarod Wilson) [1807052] - [wireless] mac80211: simplify TX aggregation start (Jarod Wilson) [1807052] - [net] mac80211: pass internal sta to ieee80211_tx_frags() (Jarod Wilson) [1807052] - [net] mac80211: IBSS: avoid unneeded return value processing (Jarod Wilson) [1807052] - [wireless] ar5523: check NULL before memcpy() in ar5523_cmd() (Jarod Wilson) [1807052] - [wireless] ath10k: add support for hardware rfkill (Jarod Wilson) [1807052] - [wireless] ath10k: restore QCA9880-AR1A (v1) detection (Jarod Wilson) [1807052] - [wireless] ath10k: fix offchannel tx failure when no ath10k_mac_tx_frm_has_freq (Jarod Wilson) [1807052] - [wireless] cw1200: Fix a signedness bug in cw1200_load_firmware() (Jarod Wilson) [1807052] - [wireless] rtw88: remove misleading module parameter rtw_fw_support_lps (Jarod Wilson) [1807052] - [wireless] rtw88: add deep PS PG mode for 8822c (Jarod Wilson) [1807052] - [wireless] rtw88: select deep PS mode when module is inserted (Jarod Wilson) [1807052] - [wireless] rtw88: not to enter LPS by coex strategy (Jarod Wilson) [1807052] - [wireless] rtw88: add deep power save support (Jarod Wilson) [1807052] - [wireless] rtw88: leave PS state for dynamic mechanism (Jarod Wilson) [1807052] - [wireless] rtw88: LPS enter/leave should be protected by lock (Jarod Wilson) [1807052] - [wireless] rtw88: remove unused lps state check helper (Jarod Wilson) [1807052] - [wireless] rtw88: not to control LPS by each vif (Jarod Wilson) [1807052] - [wireless] rtw88: not to enter or leave PS under IRQ (Jarod Wilson) [1807052] - [wireless] rtw88: pci: reset H2C queue indexes in a single write (Jarod Wilson) [1807052] - [wireless] rtw88: remove redundant flag check helper function (Jarod Wilson) [1807052] - [wireless] rtlwifi: rtl8723be: Remove set but not used variables 'reg_ecc', 'reg_eac' (Jarod Wilson) [1807052] - [wireless] rtlwifi: rtl8192ee: Remove set but not used variables 'reg_ecc', 'reg_eac' (Jarod Wilson) [1807052] - [wireless] rtlwifi: rtl8192ee: Remove set but not used variables 'short_gi', 'buf_len' (Jarod Wilson) [1807052] - [wireless] rtlwifi: Remove set but not used variables 'dataempty', 'hoffset' (Jarod Wilson) [1807052] - [wireless] rtlwifi: Remove set but not used variable 'rtstate' (Jarod Wilson) [1807052] - [wireless] rtl8xxxu: prevent leaking urb (Jarod Wilson) [1829887 1807052] {CVE-2019-19068} - [wireless] net/wireless: Use kmemdup rather than duplicating its implementation (Jarod Wilson) [1807052] - [wireless] ath9k_htc: Discard undersized packets (Jarod Wilson) [1807052] - [wireless] ath9k_htc: Modify byte order for an error message (Jarod Wilson) [1807052] - [wireless] ath9k_hw: fix uninitialized variable data (Jarod Wilson) [1807052] - [wireless] ath10k: fix backtrace on coredump (Jarod Wilson) [1807052] - [wireless] ath10k: coredump: fix IRAM addr for QCA9984, QCA4019, QCA9888 and QCA99x0 (Jarod Wilson) [1807052] - [wireless] ath10k: switch to ieee80211_tx_dequeue_ni (Jarod Wilson) [1807052] - [wireless] ath10k: change sw version print format to hex (Jarod Wilson) [1807052] - [wireless] ath10k: print supported MCS rates within service ready event (Jarod Wilson) [1807052] - [wireless] ath10k: print service ready returned channel range (Jarod Wilson) [1807052] - [wireless] ath10k: add 2ghz channel arguments to service ready structure (Jarod Wilson) [1807052] - [wireless] ath9k: remove unused including (Jarod Wilson) [1807052] - [wireless] mwifiex: use 'total_ie_len' in mwifiex_update_bss_desc_with_ie() (Jarod Wilson) [1807052] - [wireless] rtlwifi: Remove excessive check in _rtl_ps_inactive_ps() (Jarod Wilson) [1807052] - [wireless] rtlwifi: prevent memory leak in rtl_usb_probe (Jarod Wilson) [1829850 1807052] {CVE-2019-19063} - [wireless] rtlwifi: rtl8723ae: Remove unused 'rtstatus' variable (Jarod Wilson) [1807052] - [wireless] mt7601u: fix bbp version check in mt7601u_wait_bbp_ready (Jarod Wilson) [1807052] - [wireless] rtw88: 8822c: fix boolreturn.cocci warnings (Jarod Wilson) [1807052] - [wireless] brcmsmac: remove duplicated if condition (Jarod Wilson) [1807052] - [wireless] brcmfmac: fix suspend/resume when power is cut off (Jarod Wilson) [1807052] - [wireless] brcmfmac: don't WARN when there are no requests (Jarod Wilson) [1807052] - [wireless] brcmsmac: remove a useless test (Jarod Wilson) [1807052] - [wireless] brcmfmac: send port authorized event for FT-802.1X (Jarod Wilson) [1807052] - [wireless] ath10k: fix memory leak (Jarod Wilson) [1807052] - [wireless] ath10k: remove the warning of sdio not full support (Jarod Wilson) [1807052] - [wireless] ath: Use dev_get_drvdata where possible (Jarod Wilson) [1807052] - [wireless] ath: fix various spelling mistakes (Jarod Wilson) [1807052] - [wireless] ath10k: fix missing checks for bmi reads and writes (Jarod Wilson) [1807052] - [wireless] ath10k: Add support to provide higher range mem chunks in wmi init command (Jarod Wilson) [1807052] - [wireless] ath10k: Add peer param map for tlv and non-tlv (Jarod Wilson) [1807052] - [wireless] ath10k: Enable MSA region dump support for WCN3990 (Jarod Wilson) [1807052] - [wireless] ath10k: Add xo calibration support for wifi rf clock (Jarod Wilson) [1807052] - [wireless] ath10k: fix spelling mistake "eanble" -> "enable" (Jarod Wilson) [1807052] - [wireless] ath10k: add cleanup in ath10k_sta_state() (Jarod Wilson) [1807052] - [wireless] ath10k: revalidate the msa region coming from firmware (Jarod Wilson) [1807052] - [wireless] ath10k: use ath10k_pci_soc_ functions for all warm_reset instances (Jarod Wilson) [1807052] - [wireless] ath10k: Use ARRAY_SIZE (Jarod Wilson) [1807052] - [wireless] ath10k: avoid leaving .bss_info_changed prematurely (Jarod Wilson) [1807052] - [wireless] ath10k: Use standard bulk clock API in snoc (Jarod Wilson) [1807052] - [wireless] ath10k: Use standard regulator bulk API in snoc (Jarod Wilson) [1807052] - [wireless] ath10k: snoc: skip regulator operations (Jarod Wilson) [1807052] - [wireless] ath10k: Fix HOST capability QMI incompatibility (Jarod Wilson) [1807052] - [wireless] ath10k: Check if station exists before forwarding tx airtime report (Jarod Wilson) [1807052] - [include] include/linux/units.h: add helpers for kelvin to/from Celsius conversion (Jarod Wilson) [1807052]- [x86] x86/PCI: Define to_pci_sysdata() even when !CONFIG_PCI (Myron Stowe) [1788364 1783436] - [pci] PCI: vmd: Add two VMD Device IDs (Myron Stowe) [1788364 1783436] - [pci] x86/PCI: Expose VMD's pci_dev in struct pci_sysdata (Myron Stowe) [1788364 1783436] - [x86] x86/PCI: Add to_pci_sysdata() helper (Myron Stowe) [1788364 1783436] - [pci] PCI: vmd: Add device id for VMD device 8086:9A0B (Myron Stowe) [1788364 1783436] - [pci] PCI: vmd: Add bus 224-255 restriction decode (Myron Stowe) [1788364 1783436] - [fs] fuse: copy_file_range needs to strip setuid bits and update timestamps (Eric Sandeen) [1721881] - [fs] vfs: allow copy_file_range to copy across devices (Eric Sandeen) [1721881] - [fs] vfs: add missing checks to copy_file_range (Eric Sandeen) [1721881] - [mm] vfs: remove redundant checks from generic_remap_checks() (Eric Sandeen) [1721881] - [fs] vfs: introduce generic_file_rw_checks() (Eric Sandeen) [1721881] - [fs] vfs: no fallback for ->copy_file_range (Eric Sandeen) [1721881] - [fs] vfs: introduce generic_copy_file_range() (Eric Sandeen) [1721881] - [ptp] ptp: add VMware virtual PTP clock driver (Prarit Bhargava) [1829706] - [powerpc] powerpc/powernv/ioda: Handle failures correctly in pnv_pci_ioda_iommu_bypass_supported() (Michael Roth) [1805101] - [powerpc] powerpc/pseries/dma: Enable SWIOTLB (Michael Roth) [1805101] - [powerpc] powerpc/pseries/dma: Allow SWIOTLB (Michael Roth) [1805101] - [powerpc] powerpc/powernv: Fix build with IOMMU_API=n (Michael Roth) [1805101] - [powerpc] powerpc/powernv: Remove unused pnv_npu_try_dma_set_bypass() function (Michael Roth) [1805101] - [powerpc] powerpc/dma: Fix invalid DMA mmap behavior (Michael Roth) [1805101] - [powerpc] powerpc/dma: trim the fat from (Michael Roth) [1805101] - [powerpc] powerpc/dma: remove set_dma_offset (Michael Roth) [1805101] - [powerpc] powerpc/dma: remove get_dma_offset (Michael Roth) [1805101] - [powerpc] powerpc/dma: use the generic direct mapping bypass (Michael Roth) [1805101] - [powerpc] powerpc/powernv/npu: Remove NPU DMA ops (Michael Roth) [1805101] - [powerpc] powerpc/dma: use the dma_direct mapping routines (Michael Roth) [1805101] - [powerpc] powerpc/dma: use the dma-direct allocator for coherent platforms (Michael Roth) [1805101] - [powerpc] swiotlb: remove swiotlb_dma_supported (Michael Roth) [1805101] - [powerpc] powerpc/dma: remove dma_nommu_dma_supported (Michael Roth) [1805101] - [powerpc] powerpc/dma: remove dma_nommu_get_required_mask (Michael Roth) [1805101] - [powerpc] powerpc/dma: remove dma_nommu_mmap_coherent (Michael Roth) [1805101] - [powerpc] powerpc/dma: use phys_to_dma instead of get_dma_offset (Michael Roth) [1805101] - [powerpc] dma-mapping, powerpc: simplify the arch dma_set_mask override (Michael Roth) [1805101] - [powerpc] powerpc/dma: fix an off-by-one in dma_capable (Michael Roth) [1805101] - [powerpc] powerpc/dma: remove max_direct_dma_addr (Michael Roth) [1805101] - [powerpc] powerpc/dma: move pci_dma_dev_setup_swiotlb to fsl_pci.c (Michael Roth) [1805101] - [powerpc] powerpc/dma: remove get_pci_dma_ops (Michael Roth) [1805101] - [powerpc] powerpc/dma: remove the iommu fallback for coherent allocations (Michael Roth) [1805101] - [powerpc] powerpc/pci: remove the dma_set_mask pci_controller ops methods (Michael Roth) [1805101] - [misc] cxl: drop the dma_set_mask callback from vphb (Michael Roth) [1805101] - [powerpc] KABI: re-use deprecated field for iommu_bypass_supported function pointer (Michael Roth) [1805101] - [powerpc] powerpc/dma: stop overriding dma_get_required_mask (Michael Roth) [1805101] - [dma] KABI: add fake includes for headers used in arch/powerpc/kernel/dma.c (Michael Roth) [1805101] - [powerpc] powerpc/powernv: use the generic iommu bypass code (Michael Roth) [1805101] - [powerpc] powerpc/powernv: Remove PCI_MSI ifdef checks (Michael Roth) [1805101] - [powerpc] powerpc/powernv: remove pnv_npu_dma_set_mask (Michael Roth) [1805101] - [powerpc] powerpc/powernv: remove pnv_pci_ioda_pe_single_vendor (Michael Roth) [1805101] - [powerpc] powerpc/dart: use the generic iommu bypass code (Michael Roth) [1805101] - [powerpc] powerpc/dart: remove dead cleanup code in iommu_init_early_dart (Michael Roth) [1805101] - [powerpc] powerpc/cell: use the generic iommu bypass code (Michael Roth) [1805101] - [powerpc] powerpc/cell: move dma direct window setup out of dma_configure (Michael Roth) [1805101] - [powerpc] powerpc/pseries: use the generic iommu bypass code (Michael Roth) [1805101] - [powerpc] powerpc/pseries: unwind dma_get_required_mask_pSeriesLP a bit (Michael Roth) [1805101] - [powerpc] powerpc/dma: handle iommu bypass in dma_iommu_ops (Michael Roth) [1805101] - [powerpc] powerpc/dma: untangle vio_dma_mapping_ops from dma_iommu_ops (Michael Roth) [1805101] - [dma] dma-direct: we might need GFP_DMA for 32-bit dma masks (Michael Roth) [1805101] - [powerpc] powerpc/dma: split the two __dma_alloc_coherent implementations (Michael Roth) [1805101] - [powerpc] powerpc/dma: remove the unused dma_iommu_ops export (Michael Roth) [1805101] - [powerpc] powerpc/dma: remove the unused ISA_DMA_THRESHOLD export (Michael Roth) [1805101] - [powerpc] powerpc/dma: remove the unused ARCH_HAS_DMA_MMAP_COHERENT define (Michael Roth) [1805101] - [powerpc] powerpc/dma: properly wire up the unmap_page and unmap_sg methods (Michael Roth) [1805101] - [powerpc] powerpc: allow NOT_COHERENT_CACHE for amigaone (Michael Roth) [1805101] - [powerpc] powerpc/fadump: consider reserved ranges while reserving memory (Steve Best) [1813701] - [powerpc] powerpc/fadump: use static allocation for reserved memory ranges (Steve Best) [1813701] - [fs] audit: Report suspicious O_CREAT usage (partial) (Eric Sandeen) [1797843] - [fs] vfs: fix do_last() regression (Eric Sandeen) [1797843] - [fs] do_last(): fetch directory ->i_mode and ->i_uid before it's too late (Eric Sandeen) [1797843] - [fs] namei: allow restricted O_CREAT of FIFOs and regular files (Eric Sandeen) [1797843] - [netdrv] fm10k: use txqueue parameter in fm10k_tx_timeout (Neil Horman) [1781387] - [netdrv] fm10k: Use sizeof_field() macro (Neil Horman) [1781387] - [netdrv] fm10k: update driver version to match out-of-tree (Neil Horman) [1781387] - [netdrv] fm10k: add support for ndo_get_vf_stats operation (Neil Horman) [1781387] - [netdrv] fm10k: add missing field initializers to TLV attributes) (Neil Horman) [1781387] - [netdrv] fm10k: use a local variable for the frag pointer (Neil Horman) [1781387] - [netdrv] ethernet: Delete unnecessary checks before the macro call "dev_kfree_skb" (Neil Horman) [1781387] - [netdrv] fm10k: no need to check return value of debugfs_create functions (Neil Horman) [1781387] - [security] KEYS: Avoid false positive ENOMEM error on key read (Waiman Long) [1807693] - [security] KEYS: Don't write out to userspace while holding key semaphore (Waiman Long) [1807693] - [security] selinux: allow per-file labeling for CephFS (Ondrej Mosnacek) [1823764] - [scsi] scsi: qedi: make qedi_ll2_buf_size static (Nilesh Javali) [1792111] - [scsi] scsi: qedi: Fix termination timeouts in session logout (Nilesh Javali) [1792111] - [scsi] scsi: qedi: Add modules param to enable qed iSCSI debug (Nilesh Javali) [1792111] - [scsi] scsi: qedi: Do not flush offload work if ARP not resolved (Nilesh Javali) [1792111] - [scsi] scsi: qedi: Use correct msix count for fastpath vectors (Nilesh Javali) [1792111] - [scsi] scsi: qedi: Avoid unnecessary endpoint allocation on link down (Nilesh Javali) [1792111] - [scsi] scsi: qedi: Remove additional char from boot target iqnname (Nilesh Javali) [1792111] - [scsi] scsi: qedi: Add PCI shutdown handler support (Nilesh Javali) [1792111] - [scsi] scsi: qedi: Add MFW error recovery process (Nilesh Javali) [1792111] - [netdrv] ibmvnic: Skip fatal error reset after passive init (Steve Best) [1830989] - [ata] ahci: Add Intel Comet Lake PCH-V PCI ID (David Milburn) [1802690] - [ata] ahci: Add Intel Comet Lake PCH-H PCI ID (David Milburn) [1802690] - [ata] ahci: Add Intel Comet Lake H RAID PCI ID (David Milburn) [1802690] - [x86] x86, sched: Move check for CPU type to caller function (Prarit Bhargava) [1828260] - [x86] x86, sched: Don't enable static key when starting secondary CPUs (Prarit Bhargava) [1828260] - [x86] x86, sched: Account for CPUs with less than 4 cores in freq. invariance (Prarit Bhargava) [1828260] - [x86] x86, sched: Bail out of frequency invariance if base frequency is unknown (Prarit Bhargava) [1828260] - [lib] scsi: klist: Make it safe to use klists in atomic context (Waiman Long) [1829027] - [char] random: try to actively add entropy rather than passively wait for it (Neil Horman) [1778762] - [md] dm writecache: fix data corruption when reloading the target (Mike Snitzer) [1830129] - [kernel] smp: Allow smp_call_function_single_async() to insert locked csd (Peter Xu) [1830014] - [scsi] scsi: ibmvscsi: Fix WARN_ON during event pool release (Steve Best) [1829242] - [block] block: avoid to check null profile pointer to see if it is in 3rd party module (Ming Lei) [1829464] - [tools] perf scripting perl: Add common_callchain to fix argument order (Michael Petlan) [1809191] - [netdrv] ionic: fix unused assignment (Jonathan Toppins) [1780645] - [netdrv] ionic: add dynamic_debug header (Jonathan Toppins) [1780645] - [netdrv] ionic: set station addr only if needed (Jonathan Toppins) [1780645] - [netdrv] ionic: replay filters after fw upgrade (Jonathan Toppins) [1780645] - [netdrv] ionic: remove lifs on fw reset (Jonathan Toppins) [1780645] - [netdrv] ionic: disable the queues on link down (Jonathan Toppins) [1780645] - [netdrv] ionic: check for queues before deleting (Jonathan Toppins) [1780645] - [netdrv] ionic: clean tx queue of unfinished requests (Jonathan Toppins) [1780645] - [netdrv] ionic: move irq request to qcq alloc (Jonathan Toppins) [1780645] - [netdrv] ionic: move debugfs add/delete to match alloc/free (Jonathan Toppins) [1780645] - [netdrv] ionic: check for linkup in watchdog (Jonathan Toppins) [1780645] - [netdrv] ionic: decouple link message from netdev state (Jonathan Toppins) [1780645] - [netdrv] ionic: check for NULL structs on teardown (Jonathan Toppins) [1780645] - [netdrv] ionic: clean irq affinity on queue deinit (Jonathan Toppins) [1780645] - [netdrv] ionic: ignore eexist on rx filter add (Jonathan Toppins) [1780645] - [netdrv] ionic: only save good lif dentry (Jonathan Toppins) [1780645] - [netdrv] ionic: leave dev cmd request contents alone on FW timeout (Jonathan Toppins) [1780645] - [netdrv] ionic: add timeout error checking for queue disable (Jonathan Toppins) [1780645] - [netdrv] ionic: make spdxcheck.py happy (Jonathan Toppins) [1780645] - [netdrv] ionic: add decode for IONIC_RC_ENOSUPP (Jonathan Toppins) [1780645] - [netdrv] ionic: print data for unknown xcvr type (Jonathan Toppins) [1780645] - [netdrv] ionic: remove adminq napi instance (Jonathan Toppins) [1780645] - [netdrv] ionic: deinit rss only if selected (Jonathan Toppins) [1780645] - [netdrv] ionic: stop devlink warn on mgmt device (Jonathan Toppins) [1780645] - [netdrv] net: ionic: Use scnprintf() for avoiding potential buffer overflow (Jonathan Toppins) [1780645] - [netdrv] netdev:pass the stuck queue to the timeout handler (Jonathan Toppins) [1780645] - [netdrv] ionic: drop ethtool driver version (Jonathan Toppins) [1780645] - [netdrv] ionic: add support for device id 0x1004 (Jonathan Toppins) [1780645] - [netdrv] ionic: print pci bus lane info (Jonathan Toppins) [1780645] - [netdrv] ionic: support ethtool rxhash disable (Jonathan Toppins) [1780645] - [netdrv] ionic: clean up bitflag usage (Jonathan Toppins) [1780645] - [netdrv] ionic: improve irq numa locality (Jonathan Toppins) [1780645] - [netdrv] ionic: remove pragma packed (Jonathan Toppins) [1780645] - [netdrv] ionic: keep ionic dev on lif init fail (Jonathan Toppins) [1780645] - [netdrv] ionic: fix vf op lock usage (Jonathan Toppins) [1780645] - [netdrv] ionic: let core reject the unsupported coalescing parameters (Jonathan Toppins) [1780645] - [netdrv] ionic: fix fw_status read (Jonathan Toppins) [1780645] - [netdrv] ionic: use new helper tcp_v6_gso_csum_prep (Jonathan Toppins) [1780645] - [netdrv] ionic: fix rxq comp packet type mask (Jonathan Toppins) [1780645] - [netdrv] ionic: clear compiler warning on hb use before set (Jonathan Toppins) [1780645] - [netdrv] ionic: restrict received packets to mtu size (Jonathan Toppins) [1780645] - [netdrv] ionic: add Rx dropped packet counter (Jonathan Toppins) [1780645] - [netdrv] ionic: drop use of subdevice tags (Jonathan Toppins) [1780645] - [netdrv] ionic: support sr-iov operations (Jonathan Toppins) [1780645] - [netdrv] ionic: ionic_if bits for sr-iov support (Jonathan Toppins) [1780645] - [netdrv] ionic: keep users rss hash across lif reset (Jonathan Toppins) [1780645] - [netdrv] ionic: Remove set but not used variable 'sg_desc' (Jonathan Toppins) [1780645] - [netdrv] ionic: update driver version (Jonathan Toppins) [1780645] - [netdrv] ionic: implement support for rx sgl (Jonathan Toppins) [1780645] - [netdrv] ionic: add a watchdog timer to monitor heartbeat (Jonathan Toppins) [1780645] - [netdrv] ionic: add heartbeat check (Jonathan Toppins) [1780645] - [netdrv] ionic: reverse an interrupt coalesce calculation (Jonathan Toppins) [1780645] - [netdrv] ionic: fix up struct name comments (Jonathan Toppins) [1780645] - [netdrv] dynamic_debug: provide dynamic_hex_dump stub (Jonathan Toppins) [1780645] - [netdrv] ionic: fix stats memory dereference (Jonathan Toppins) [1780645] - [netdrv] ionic: add lif_quiesce to wait for queue activity to stop (Jonathan Toppins) [1780645] - [netdrv] ionic: implement ethtool set-fec (Jonathan Toppins) [1780645] - [netdrv] ionic: report users coalesce request (Jonathan Toppins) [1780645] - [netdrv] ionic: use wait_on_bit_lock() rather than open code (Jonathan Toppins) [1780645] - [netdrv] ionic: simplify returns in devlink info (Jonathan Toppins) [1780645] - [netdrv] ionic: select CONFIG_NET_DEVLINK (Jonathan Toppins) [1780645] - [netdrv] ionic: Fix an error code in ionic_lif_alloc() (Jonathan Toppins) [1780645] - [netdrv] ionic: Remove unnecessary ternary operator in ionic_debugfs_add_ident (Jonathan Toppins) [1780645] - [netdrv] ionic: Remove unused including (Jonathan Toppins) [1780645] - [netdrv] ionic: Add coalesce and other features (Jonathan Toppins) [1780645] - [netdrv] ionic: Add RSS support (Jonathan Toppins) [1780645] - [netdrv] ionic: Add driver stats (Jonathan Toppins) [1780645] - [netdrv] ionic: Add netdev-event handling (Jonathan Toppins) [1780645] - [netdrv] ionic: Add Tx and Rx handling (Jonathan Toppins) [1780645] - [netdrv] ionic: Add initial ethtool support (Jonathan Toppins) [1780645] - [netdrv] ionic: Add async link status check and basic stats (Jonathan Toppins) [1780645] - [netdrv] ionic: Add Rx filter and rx_mode ndo support (Jonathan Toppins) [1780645] - [netdrv] ionic: Add management of rx filters (Jonathan Toppins) [1780645] - [netdrv] ionic: Add the basic NDO callbacks for netdev support (Jonathan Toppins) [1780645] - [netdrv] ionic: Add notifyq support (Jonathan Toppins) [1780645] - [netdrv] ionic: Add adminq action (Jonathan Toppins) [1780645] - [netdrv] ionic: Add basic adminq support (Jonathan Toppins) [1780645] - [netdrv] ionic: Add interrupts and doorbells (Jonathan Toppins) [1780645] - [netdrv] ionic: Add basic lif support (Jonathan Toppins) [1780645] - [netdrv] ionic: Add port management commands (Jonathan Toppins) [1780645] - [netdrv] ionic: Add hardware init and device commands (Jonathan Toppins) [1780645] - [netdrv] ionic: Add basic framework for IONIC Network device driver (Jonathan Toppins) [1780645] - [netdrv] net: sfp: add more extended compliance codes (Jonathan Toppins) [1780645] - [scsi] scsi: core: Add DID_ALLOC_FAILURE and DID_MEDIUM_ERROR to hostbyte_table (Maurizio Lombardi) [1819061] - [netdrv] igc: Add debug messages to MAC filter code (Corinna Vinschen) [1781384] - [netdrv] igc: Refactor igc_del_mac_filter() (Corinna Vinschen) [1781384] - [netdrv] igc: Refactor igc_mac_entry_can_be_used() (Corinna Vinschen) [1781384] - [netdrv] igc: Remove igc_*_mac_steering_filter() wrappers (Corinna Vinschen) [1781384] - [netdrv] igc: Remove IGC_MAC_STATE_QUEUE_STEERING (Corinna Vinschen) [1781384] - [netdrv] igc: Remove 'queue' check in igc_del_mac_filter() (Corinna Vinschen) [1781384] - [netdrv] igc: Improve address check in igc_del_mac_filter() (Corinna Vinschen) [1781384] - [netdrv] igc: Refactor igc_rar_set_index() (Corinna Vinschen) [1781384] - [netdrv] igc: Fix igc_uc_unsync() (Corinna Vinschen) [1781384] - [netdrv] igc: Change igc_add_mac_filter() returning value (Corinna Vinschen) [1781384] - [netdrv] igc: Check unsupported flag in igc_add_mac_filter() (Corinna Vinschen) [1781384] - [netdrv] igc: Remove duplicate code in MAC filtering logic (Corinna Vinschen) [1781384] - [netdrv] igc: Add new device IDs for i225 part (Corinna Vinschen) [1781384] - [netdrv] igc: Fix default MAC address filter override (Corinna Vinschen) [1781384] - [netdrv] igc: Remove dead code related to flower filter (Corinna Vinschen) [1781384] - [netdrv] igc: Fix NFC queue redirection support (Corinna Vinschen) [1781384] - [netdrv] igc: Remove copper fiber switch control (Corinna Vinschen) [1781384] - [netdrv] igc: Enable NETIF_F_HW_TC flag (Corinna Vinschen) [1781384] - [netdrv] igc: Fix double definition (Corinna Vinschen) [1781384] - [netdrv] igc: Fix overwrites when dumping registers (Corinna Vinschen) [1781384] - [netdrv] igc: Remove forward declaration (Corinna Vinschen) [1781384] - [netdrv] igc: Remove unused CTRL_EXT_LINK_MODE_MASK (Corinna Vinschen) [1781384] - [netdrv] igc: Remove unused MDIC_DEST mask (Corinna Vinschen) [1781384] - [netdrv] igc: Add support for ETF offloading (Corinna Vinschen) [1781384] - [netdrv] igc: Add support for taprio offloading (Corinna Vinschen) [1781384] - [netdrv] igc: Add GSO partial support (Corinna Vinschen) [1781384] - [netdrv] net: igc: let core reject the unsupported coalescing parameters (Corinna Vinschen) [1781384] - [netdrv] intel: Replace zero-length array with flexible-array member (Corinna Vinschen) [1781384] - [netdrv] igc: Add comment (Corinna Vinschen) [1781384] - [netdrv] igc: Add WOL support (Corinna Vinschen) [1781384] - [netdrv] igc: Add pcie error handler support (Corinna Vinschen) [1781384] - [netdrv] igc: Complete to commit Add basic skeleton for PTP (Corinna Vinschen) [1781384] - [netdrv] igc: Fix the typo in comment (Corinna Vinschen) [1781384] - [netdrv] igc: Add dump options (Corinna Vinschen) [1781384] - [netdrv] igc: Complete to commit Add legacy power management support (Corinna Vinschen) [1781384] - [netdrv] igc: make non-global functions static (Corinna Vinschen) [1781384] - [netdrv] igc: Add PHY power management control (Corinna Vinschen) [1781384] - [netdrv] RHEL-only: Revert "igc: add additional delay during phy hw reset" (Corinna Vinschen) [1781384] - [netdrv] igc: Add support for TSO (Corinna Vinschen) [1781384] - [netdrv] igc: Add SKU for i225 device (Corinna Vinschen) [1781384] - [netdrv] igc: Remove unused definition (Corinna Vinschen) [1781384] - [netdrv] igc: Fix typo in a comment (Corinna Vinschen) [1781384] - [netdrv] igc: Use Start of Packet signal from PHY for timestamping (Corinna Vinschen) [1781384] - [netdrv] igc: Add support for ethtool GET_TS_INFO command (Corinna Vinschen) [1781384] - [netdrv] igc: Add support for TX timestamping (Corinna Vinschen) [1781384] - [netdrv] igc: Add support for RX timestamping (Corinna Vinschen) [1781384] - [netdrv] igc: Add basic skeleton for PTP (Corinna Vinschen) [1781384] - [netdrv] igc: Remove no need declaration of the igc_sw_init (Corinna Vinschen) [1781384] - [netdrv] igc: Remove no need declaration of the igc_write_itr (Corinna Vinschen) [1781384] - [netdrv] igc: Remove no need declaration of the igc_assign_vector (Corinna Vinschen) [1781384] - [netdrv] igc: Remove no need declaration of the igc_free_q_vector (Corinna Vinschen) [1781384] - [netdrv] igc: Remove no need declaration of the igc_free_q_vectors (Corinna Vinschen) [1781384] - [netdrv] igc: Remove no need declaration of the igc_irq_disable (Corinna Vinschen) [1781384] - [netdrv] igc: Remove no need declaration of the igc_irq_enable (Corinna Vinschen) [1781384] - [netdrv] igc: Remove no need declaration of the igc_configure_msix (Corinna Vinschen) [1781384] - [netdrv] igc: Remove no need declaration of the igc_set_rx_mode (Corinna Vinschen) [1781384] - [netdrv] igc: Remove no need declaration of the igc_set_interrupt_capability (Corinna Vinschen) [1781384] - [netdrv] igc: Remove no need declaration of the igc_alloc_mapped_page (Corinna Vinschen) [1781384] - [netdrv] igc: Remove no need declaration of the igc_configure (Corinna Vinschen) [1781384] - [netdrv] igc: Remove no need declaration of the igc_set_default_mac_filter (Corinna Vinschen) [1781384] - [netdrv] igc: Remove no need declaration of the igc_power_down_link (Corinna Vinschen) [1781384] - [netdrv] igc: Remove no need declaration of the igc_clean_tx_ring (Corinna Vinschen) [1781384] - [netdrv] igc: Remove serdes comments from a description of methods (Corinna Vinschen) [1781384] - [netdrv] igc: Add legacy power management support (Corinna Vinschen) [1781384] - [netdrv] igc: Add 64 bit DMA access support (Corinna Vinschen) [1781384] - [netdrv] igc: Fix parameter descriptions for a several functions (Corinna Vinschen) [1781384] - [netdrv] igc: Fix the parameter description for igc_alloc_rx_buffers (Corinna Vinschen) [1781384] - [netdrv] igc: Remove excess parameter description from igc_is_non_eop (Corinna Vinschen) [1781384] - [netdrv] igc: Prefer to use the pci_release_mem_regions method (Corinna Vinschen) [1781384] - [netdrv] igc: Improve the DMA mapping flow (Corinna Vinschen) [1781384] - [netdrv] igc: Add scatter gather support (Corinna Vinschen) [1781384] - [netdrv] treewide: Use sizeof_field() macro (Corinna Vinschen) [1781384] - [netdrv] igb/igc: use ktime accessors for skb->tstamp (Corinna Vinschen) [1781384] - [netdrv] net: ethernet: intel: Demote MTU change prints to debug (Corinna Vinschen) [1781384] - [netdrv] igb/igc: Don't warn on fatal read failures when the device is removed (Corinna Vinschen) [1781384] - [netdrv] net: igb: let core reject the unsupported coalescing parameters (Corinna Vinschen) [1781381] - [netdrv] intel: Replace zero-length array with flexible-array member (Corinna Vinschen) [1781381] - [netdrv] igb: Fix SGMII SFP module discovery for 100FX/LX (Corinna Vinschen) [1781381] - [netdrv] igb: dont drop packets if rx flow control is enabled (Corinna Vinschen) [1781381] - [netdrv] treewide: Use sizeof_field() macro (Corinna Vinschen) [1781381] - [netdrv] igb/igc: use ktime accessors for skb->tstamp (Corinna Vinschen) [1781381] - [netdrv] net: ethernet: intel: Demote MTU change prints to debug (Corinna Vinschen) [1781381] - [netdrv] igb: Fix constant media auto sense switching when no cable is connected (Corinna Vinschen) [1781381] - [netdrv] igb: Enable media autosense for the i350 (Corinna Vinschen) [1781381] - [netdrv] igb/igc: Don't warn on fatal read failures when the device is removed (Corinna Vinschen) [1781381] - [netdrv] igb: Add UDP segmentation offload support (Corinna Vinschen) [1781381] - [netdrv] net: igbvf: reject unsupported coalescing params (Corinna Vinschen) [1781382] - [netdrv] net: ethernet: intel: Demote MTU change prints to debug (Corinna Vinschen) [1781382] - [ata] ahci: Do not export local variable ahci_em_messages (Prarit Bhargava) [1826320] - [scripts] modpost: check for static EXPORT_SYMBOL* functions (Prarit Bhargava) [1826320] - [kernel] torture: Remove exporting of internal functions (Prarit Bhargava) [1826320] - [input] Input: synaptics-rmi4 - remove the exporting of rmi_2d_sensor_set_input_params (Prarit Bhargava) [1826320] - [netdrv] net: phy: make exported variables non-static (Prarit Bhargava) [1826320] - [scsi] scsi: libsas: remove the exporting of sas_wait_eh (Prarit Bhargava) [1826320] - [drm] drm/client: remove the exporting of drm_client_close (Prarit Bhargava) [1826320] - [scripts] modpost: always show verbose warning for section mismatch (Prarit Bhargava) [1826320] - [net] netfilter: nf_nat_ipv4: remove obsolete EXPORT_SYMBOL (Prarit Bhargava) [1826320] - [crypto] crypto: skcipher - remove the exporting of skcipher_walk_next (Prarit Bhargava) [1826320] - [scsi] scsi: scsi_debug: Fix a recently introduced regression (Ming Lei) [1822001] - [block] scsi: block: remove bidi support (Ming Lei) [1822001] - [scsi] scsi: block: remove req->special (Ming Lei) [1822001] - [scsi] scsi: stop setting up request->special (Ming Lei) [1822001] - [scsi] scsi: remove bidirectional command support (Ming Lei) [1822001] - [scsi] scsi: remove the SCSI OSD library (Ming Lei) [1822001] - [fs] scsi: fs: remove exofs (Ming Lei) [1822001] - [block] scsi: bsg-lib: handle bidi requests without block layer help (Ming Lei) [1822001] - [block] scsi: bsg: refactor bsg_ioctl (Ming Lei) [1822001] - [netdrv] sfc: fix XDP-redirect in this driver (Jarod Wilson) [1796582 1788753] - [netdrv] sfc: support configuring vf spoofchk on EF10 VFs (Jarod Wilson) [1796582 1788753 1684003] - [netdrv] sfc: ethtool: Refactor to remove fallthrough comments in case blocks (Jarod Wilson) [1796582 1788753] - [netdrv] sfc: Replace zero-length array with flexible-array member (Jarod Wilson) [1796582 1788753] - [netdrv] sfc: remove unused variable 'efx_default_channel_type' (Jarod Wilson) [1796582 1788753] - [netdrv] sfc: elide assignment of skb (Jarod Wilson) [1796582 1788753] - [netdrv] sfc: move some ARFS code out of headers (Jarod Wilson) [1796582 1788753] - [netdrv] sfc: only schedule asynchronous filter work if needed (Jarod Wilson) [1796582 1788753] - [netdrv] net: sfc: Use scnprintf() for avoiding potential buffer overflow (Jarod Wilson) [1796582 1788753] - [netdrv] sfc: detach from cb_page in efx_copy_channel() (Jarod Wilson) [1796582 1788753] - [netdrv] sfc: complete the next packet when we receive a timestamp (Jarod Wilson) [1796582 1788753] - [netdrv] sfc: fix timestamp reconstruction at 16-bit rollover points (Jarod Wilson) [1796582 1788753] - [netdrv] sfc: move mcdi filtering code (Jarod Wilson) [1796582 1788753] - [netdrv] sfc: create header for mcdi filtering code (Jarod Wilson) [1796582 1788753] - [netdrv] sfc: rename mcdi filtering functions/structs (Jarod Wilson) [1796582 1788753] - [netdrv] sfc: remove duplicated include from efx.c (Jarod Wilson) [1796582 1788753] - [netdrv] sfc/ethtool_common: Make some function to static (Jarod Wilson) [1796582 1788753] - [netdrv] sfc: remove set but not used variable 'nic_data' (Jarod Wilson) [1796582 1788753] - [netdrv] sfc: remove duplicated include from ef10.c (Jarod Wilson) [1796582 1788753] - [netdrv] sfc: move RPS code (Jarod Wilson) [1796582 1788753] - [netdrv] sfc: move yet more functions (Jarod Wilson) [1796582 1788753] - [netdrv] sfc: move RSS code (Jarod Wilson) [1796582 1788753] - [netdrv] sfc: move a couple more functions (Jarod Wilson) [1796582 1788753] - [netdrv] sfc: move some ethtool code (Jarod Wilson) [1796582 1788753] - [netdrv] sfc: move various functions (Jarod Wilson) [1796582 1788753] - [netdrv] sfc: move more rx code (Jarod Wilson) [1796582 1788753] - [netdrv] sfc: move more tx code (Jarod Wilson) [1796582 1788753] - [netdrv] sfc: refactor selftest work init code (Jarod Wilson) [1796582 1788753] - [netdrv] sfc: move MCDI logging device attribute (Jarod Wilson) [1796582 1788753] - [netdrv] sfc: conditioned some functionality (Jarod Wilson) [1796582 1788753] - [netdrv] sfc: move MCDI receive queue management code (Jarod Wilson) [1796582 1788753] - [netdrv] sfc: move MCDI transmit queue management code (Jarod Wilson) [1796582 1788753] - [netdrv] sfc: move MCDI event queue management code (Jarod Wilson) [1796582 1788753] - [netdrv] sfc: move MCDI VI alloc/free code (Jarod Wilson) [1796582 1788753] - [netdrv] sfc: move more MCDI port code (Jarod Wilson) [1796582 1788753] - [netdrv] sfc: move some MCDI port utility functions (Jarod Wilson) [1796582 1788753] - [netdrv] sfc: move some port link state/caps code (Jarod Wilson) [1796582 1788753] - [netdrv] net: sfc: use skb_list_walk_safe helper for gso segments (Jarod Wilson) [1796582 1788753] - [netdrv] sfc: move common tx code (Jarod Wilson) [1796582 1788753] - [netdrv] sfc: move common rx code (Jarod Wilson) [1796582 1788753] - [netdrv] sfc: move event queue management code (Jarod Wilson) [1796582 1788753] - [netdrv] sfc: move channel interrupt management code (Jarod Wilson) [1796582 1788753] - [netdrv] sfc: move channel alloc/removal code (Jarod Wilson) [1796582 1788753] - [netdrv] sfc: move channel start/stop code (Jarod Wilson) [1796582 1788753] - [netdrv] sfc: move some channel-related code (Jarod Wilson) [1796582 1788753] - [netdrv] sfc: move struct init and fini code (Jarod Wilson) [1796582 1788753] - [netdrv] sfc: move some device reset code (Jarod Wilson) [1796582 1788753] - [netdrv] sfc: move datapath management code (Jarod Wilson) [1796582 1788753] - [netdrv] sfc: move mac configuration and status functions (Jarod Wilson) [1796582 1788753] - [netdrv] sfc: move reset workqueue code (Jarod Wilson) [1796582 1788753] - [netdrv] sfc: further preparation for code split (Jarod Wilson) [1796582 1788753] - [netdrv] sfc: add new headers in preparation for code split (Jarod Wilson) [1796582 1788753] - [netdrv] sfc: remove ioremap_nocache and devm_ioremap_nocache (Jarod Wilson) [1796582 1788753] - [netdrv] sfc: Remove unnecessary dependencies on I2C (Jarod Wilson) [1796582 1788753] - [netdrv] sfc: avoid duplicate error handling code in 'efx_ef10_sriov_set_vf_mac()' (Jarod Wilson) [1796582 1788753] - [netdrv] sfc: Include XDP packet headroom in buffer step size (Jarod Wilson) [1796582 1788753] - [netdrv] sfc: fix channel allocation with brute force (Jarod Wilson) [1796582 1788753] - [netdrv] sfc: fix build without CONFIG_RFS_ACCEL (Jarod Wilson) [1796582 1788753] - [netdrv] sfc: do ARFS expiry work occasionally even without NAPI poll (Jarod Wilson) [1796582 1788753] - [netdrv] sfc: add statistics for ARFS (Jarod Wilson) [1796582 1788753] - [netdrv] sfc: suppress MCDI errors from ARFS (Jarod Wilson) [1796582 1788753] - [netdrv] sfc: change ARFS expiry mechanism (Jarod Wilson) [1796582 1788753] - [netdrv] sfc: Only cancel the PPS workqueue if it exists (Jarod Wilson) [1796582 1788753] - [netdrv] sfc: trace_xdp_exception on XDP failure (Jarod Wilson) [1796582 1788753] - [netdrv] sfc: add XDP counters to ethtool stats (Jarod Wilson) [1796582 1788753] - [netdrv] sfc: handle XDP_TX outcomes of XDP eBPF programs (Jarod Wilson) [1796582 1788753] - [netdrv] sfc: allocate channels for XDP tx queues (Jarod Wilson) [1796582 1788753] - [netdrv] sfc: Enable setting of xdp_prog (Jarod Wilson) [1796582 1788753] - [netdrv] sfc: perform XDP processing on received packets (Jarod Wilson) [1796582 1788753] - [netdrv] sfc: support encapsulation of xdp_frames in efx_tx_buffer (Jarod Wilson) [1796582 1788753] - [netdrv] sfc: use the new __netdev_tx_sent_queue BQL optimisation (Jarod Wilson) [1796582 1788753] - [netdrv] net/sfc: Use skb_frag_off accessors (Jarod Wilson) [1796582 1788753] - [netdrv] sfc: phase out dma_zalloc_coherent() (Jarod Wilson) [1796582 1788753] - [netdrv] sfc: remove redundant variable old_vlan (Jarod Wilson) [1796582 1788753] - [netdrv] net: sfc: Convert random_ether_addr to eth_random_addr (Jarod Wilson) [1796582 1788753] - [netdrv] sfc: batch up RX delivery (Jarod Wilson) [1796582 1788753] - [netdrv] net: mlx4: Use scnprintf() for avoiding potential buffer overflow (Alaa Hleihel) [1789363] - [infiniband] IB/mlx4: Fix leak in id_map_find_del (Alaa Hleihel) [1789363] - [infiniband] IB/mlx4: Fix memory leak in add_gid error flow (Alaa Hleihel) [1789363] - [include] mlx4: Bump up MAX_MSIX from 64 to 128 (Alaa Hleihel) [1789363] - [infiniband] RDMA/mlx4: use true, false for bool variable (Alaa Hleihel) [1789363] - [infiniband] RDMA/mlx4: Redo TX checksum offload in line with docs (Alaa Hleihel) [1789363] - [netdrv] mlx4: use new txqueue timeout argument (Alaa Hleihel) [1789363] - [netdrv] treewide: Use sizeof_field() macro (Alaa Hleihel) [1789363 1789362] - [infiniband] IB/mlx4: Update HW GID table while adding vlan GID (Alaa Hleihel) [1789363 1789362] - [netdrv] net/mlx4_en: ethtool: make array modes static const, makes object smaller (Alaa Hleihel) [1789363 1789361] - [infiniband] RDMA/mlx4: Annotate boolean arguments as bool and not int (Alaa Hleihel) [1789363 1789361] - [netdrv] mlx4: avoid large stack usage in mlx4_init_hca() (Alaa Hleihel) [1789363 1789361] - [infiniband] RDMA/mlx4: Untag user pointers in mlx4_get_umem_mr (Alaa Hleihel) [1789363 1789361] - [netdrv] net: Use skb accessors in network drivers (Alaa Hleihel) [1789363 1789361]- [net] ip_vti: receive ipip packet by calling ip_tunnel_rcv (Xin Long) [1815554] - [net] xfrm: call xfrm_output_gso when inner_protocol is set in xfrm_output (Xin Long) [1815968] - [net] sched: Fix hw_stats_type setting in pedit loop (Ivan Vecera) [1817156] - [net] sched: set the hw_stats_type in pedit loop (Ivan Vecera) [1817156] - [include] flow_offload: fix allowed types check (Ivan Vecera) [1817156] - [net] sched: act: allow user to specify type of HW stats for a filter (Ivan Vecera) [1817156] - [net] flow_offload: pass action cookie through offload structures (Ivan Vecera) [1817156] - [netdrv] flow_offload: introduce "disabled" HW stats type and allow it in mlxsw (Ivan Vecera) [1817156] - [include] flow_offload: introduce "delayed" HW stats type and allow it in mlx5 (Ivan Vecera) [1817156] - [netdrv] flow_offload: introduce "immediate" HW stats type and allow it in mlxsw (Ivan Vecera) [1817156] - [netdrv] mlxsw: restrict supported HW stats type to "any" (Ivan Vecera) [1817156] - [netdrv] mlxsw: spectrum_flower: Do not allow mixing HW stats types for actions (Ivan Vecera) [1817156] - [netdrv] flow_offload: check for basic action hw stats type (Ivan Vecera) [1817156] - [include] flow_offload: Introduce offload of HW stats type (Ivan Vecera) [1817156] - [net] netfilter: nf_tables: use-after-free in dynamic operations (Phil Sutter) [1822577] - [net] devlink: Add health recover notifications on devlink flows (Petr Oros) [1821169] - [net] devlink: add devink notification when reporter update health state (Petr Oros) [1821169] - [net] devlink: add support for reporter recovery completion (Petr Oros) [1821169] - [net] devlink: Add new "enable_roce" generic device param (Petr Oros) [1805955] - [netdrv] netdevsim: use __GFP_NOWARN to avoid memalloc warning (Petr Oros) [1817157] - [tools] selftests: add netdevsim devlink health tests (Petr Oros) [1817157] - [netdrv] netdevsim: implement couple of testing devlink health reporters (Petr Oros) [1817157] - [net] devlink: propagate extack down to health reporter ops (Petr Oros) [1817157] - [net] devlink: don't do reporter recovery if the state is healthy (Petr Oros) [1817157] - [net] xsk: Fix out of boundary write in __xsk_rcv_memcpy (Jiri Benc) [1819630] - [samples] bpf: Allow for -ENETDOWN in xdpsock (Jiri Benc) [1819630] - [samples] bpf: Drop doubled variable declaration in xdpsock (Jiri Benc) [1819630] - [netdrv] i40e: Relax i40e_xsk_wakeup's return value when PF is busy (Jiri Benc) [1819630] - [netdrv] net/ixgbe: Fix concurrency issues between config flow and XSK (Jiri Benc) [1819630] - [netdrv] net/i40e: Fix concurrency issues between config flow and XSK (Jiri Benc) [1819630] - [net] xsk: Add rcu_read_lock around the XSK wakeup (Jiri Benc) [1819630] - [net] fix installing orphaned programs (Jiri Benc) [1819630] - [tools] libbpf: Don't use kernel-side u32 type in xsk.c (Jiri Benc) [1819630] - [tools] libbpf: Fix compatibility for kernels without need_wakeup (Jiri Benc) [1819630] - [net] xsk: Fix crash in poll when device does not support ndo_xsk_wakeup (Jiri Benc) [1819630] - [kernel] bpf/xskmap: Return ERR_PTR for failure case instead of NULL. (Jiri Benc) [1819630] - [net] xdp: convert put_page() to put_user_page*() (Jiri Benc) [1819630] - [net] xdp: mm: introduce page_size() (Jiri Benc) [1819630] - [net] xsk: relax UMEM headroom alignment (Jiri Benc) [1819630] - [samples] bpf: fix xdpsock l2fwd tx for unaligned mode (Jiri Benc) [1819630] - [netdrv] ixgbe: fix xdp handle calculations (Jiri Benc) [1819630] - [netdrv] ixgbe: fix xdp handle calculations (Jiri Benc) [1819630] - [netdrv] i40e: fix xdp handle calculations (Jiri Benc) [1819630] - [netdrv] i40e: fix xdp handle calculations (Jiri Benc) [1819630] - [net] xsk: use state member for socket synchronization (Jiri Benc) [1819630] - [documentation] doc/af_xdp: include unaligned chunk case (Jiri Benc) [1819630] - [samples] bpf: use hugepages in xdpsock app (Jiri Benc) [1819630] - [samples] bpf: add buffer recycling for unaligned chunks to xdpsock (Jiri Benc) [1819630] - [samples] bpf: add unaligned chunks mode support to xdpsock (Jiri Benc) [1819630] - [tools] libbpf: add flags to umem config (Jiri Benc) [1819630] - [netdrv] mlx5e: Allow XSK frames smaller than a page (Jiri Benc) [1819630] - [netdrv] mlx5e: modify driver for handling offsets (Jiri Benc) [1819630] - [netdrv] ixgbe: modify driver for handling offsets (Jiri Benc) [1819630] - [netdrv] i40e: modify driver for handling offsets (Jiri Benc) [1819630] - [net] xsk: add support to allow unaligned chunk placement (Jiri Benc) [1819630] - [net] xdp: xdp_umem: replace kmap on vmap for umem map (Jiri Benc) [1819630] - [net] Don't call XDP_SETUP_PROG when nothing is changed (Jiri Benc) [1819630] - [kernel] bpf: Use PTR_ERR_OR_ZERO in xsk_map_inc() (Jiri Benc) [1819630] - [kernel] xsk: support BPF_EXIST and BPF_NOEXIST flags in XSKMAP (Jiri Benc) [1819630] - [net] xsk: remove AF_XDP socket from map when the socket is released (Jiri Benc) [1819630] - [netdrv] mlx5e: Add AF_XDP need_wakeup support (Jiri Benc) [1819630] - [netdrv] net/mlx5e: Move the SW XSK code from NAPI poll to a separate function (Jiri Benc) [1819630] - [samples] bpf: add use of need_wakeup flag in xdpsock (Jiri Benc) [1819630] - [tools] libbpf: add support for need_wakeup flag in AF_XDP part (Jiri Benc) [1819630] - [netdrv] ixgbe: need_wakeup flag might not be set for Tx (Jiri Benc) [1819630] - [netdrv] ixgbe: add support for AF_XDP need_wakeup feature (Jiri Benc) [1819630] - [netdrv] i40e: add support for AF_XDP need_wakeup feature (Jiri Benc) [1819630] - [net] xsk: add support for need_wakeup flag in AF_XDP rings (Jiri Benc) [1819630] - [net] xsk: replace ndo_xsk_async_xmit with ndo_xsk_wakeup (Jiri Benc) [1819630] - [net] xdp: xdp_umem: fix umem pages mapping for 32bits systems (Jiri Benc) [1819630] - [net] ethtool: add infrastructure for centralized checking of coalescing parameters (Ivan Vecera) [1818096] - [tools] selftests: netfilter: add simple masq/redirect test cases (Hangbin Liu) [1826220] - [tools] selftests: netfilter: fix config fragment CONFIG_NF_TABLES_INET (Hangbin Liu) [1826220] - [tools] selftests: add script to stress-test nft packet path vs. control plane (Hangbin Liu) [1826220] - [net] devlink: disallow reload operation during device cleanup (Petr Oros) [1805958] - [tools] selftests: test creating netdevsim inside network namespace (Petr Oros) [1805958] - [net] devlink: export devlink net setter (Petr Oros) [1805958] - [net] devlink: don't ignore errors during dumpit (Petr Oros) [1805958] - [netdrv] netdevsim: fix spelling mistake "forbidded" -> "forbid" (Petr Oros) [1805958] - [netdrv] netdevsim: implement devlink dev_info op (Petr Oros) [1805958] - [netdrv] netdevsim: add couple of debugfs bools to debug devlink reload (Petr Oros) [1805958] - [netdrv] netdevsim: create devlink and netdev instances in namespace (Petr Oros) [1805958] - [include] net: skbuff: disambiguate argument and member for skb_list_walk_safe helper (Josef Oskera) [1818105] - [include] net: introduce skb_list_walk_safe for skb segment walking (Josef Oskera) [1818105] - [netdrv] netdevsim: drop code duplicated by a merge (Petr Oros) [1805951] - [tools] selftests: devlink: undo changes at the end of resource_test (Petr Oros) [1805951] - [tools] selftests: netdevsim: add tests for devlink reload with resources (Petr Oros) [1805951] - [net] devlink: allow to change namespaces during reload (Petr Oros) [1805951] - [net] devlink: Add method for time-stamp on reporter's dump (Petr Oros) [1805951] - [netdrv] netdevsim: take devlink net instead of init_net (Petr Oros) [1805951] - [netdrv] netdevsim: register port netdevices into net of device (Petr Oros) [1805951] - [netdrv] netdevsim: implement proper devlink reload (Petr Oros) [1805951] - [netdrv] netdevsim: add all ports in nsim_dev_create() and del them in destroy() (Petr Oros) [1805951] - [net] devlink: export devlink net getter (Petr Oros) [1805951] - [net] fib_notifier: propagate extack down to the notifier block callback (Petr Oros) [1805951] - [net] fib_notifier: propagate possible error during fib notifier registration (Petr Oros) [1805951] - [net] fib_notifier: make FIB notifier per-netns (Petr Oros) [1805951] - [netdrv] netdevsim: change fib accounting and limitations to be per-device (Petr Oros) [1805951] - [netdrv] netdevsim: Set offsets to various protocol layers (Petr Oros) [1805951] - [net] devlink: Fix error handling in param and info_get dumpit cb (Petr Oros) [1805951] - [net] lwtunnel: check erspan options before allocating tun_info (Xin Long) [1730151] - [net] lwtunnel: be STRICT to validate the new LWTUNNEL_IP(6)_OPTS (Xin Long) [1730151] - [net] lwtunnel: add support for multiple geneve opts (Xin Long) [1730151] - [net] lwtunnel: change to use nla_put_u8 for LWTUNNEL_IP_OPT_ERSPAN_VER (Xin Long) [1730151] - [net] lwtunnel: ignore any TUNNEL_OPTIONS_PRESENT flags set by users (Xin Long) [1730151] - [net] lwtunnel: get nlsize for erspan options properly (Xin Long) [1730151] - [net] lwtunnel: change to use nla_parse_nested on new options (Xin Long) [1730151] - [net] lwtunnel: add options setting and dumping for erspan (Xin Long) [1730151] - [net] lwtunnel: add options setting and dumping for vxlan (Xin Long) [1730151] - [net] lwtunnel: add options setting and dumping for geneve (Xin Long) [1730151] - [net] lwtunnel: add options process for cmp_encap (Xin Long) [1730151] - [net] lwtunnel: add options process for arp request (Xin Long) [1730151] - [net] ip_tunnel: Add dst_cache support in lwtunnel_state of ip tunnel (Xin Long) [1730151] - [include] tcp: Define IPPROTO_MPTCP (Florian Westphal) [1812198] - [net] skb: add helpers to allocate ext independently from sk_buff (Florian Westphal) [1812198] - [net] tcp: Check for filled TCP option space before SACK (Florian Westphal) [1812198] - [net] tcp: Export TCP functions and ops struct (Florian Westphal) [1812198] - [net] tcp: coalesce/collapse must respect MPTCP extensions (Florian Westphal) [1812198] - [net] mptcp: Add MPTCP to skb extensions (Florian Westphal) [1812198] - [net] tcp, ulp: Add clone operation to tcp_ulp_ops (Florian Westphal) [1812198] - [include] tcp: Add MPTCP option number (Florian Westphal) [1812198] - [net] Make sock protocol value checks more specific (Florian Westphal) [1812198] - [net] ipv6: provide and use ipv6 specific version for {recv, send}msg (Florian Westphal) [1812198] - [net] inet: factor out inet_send_prepare() (Florian Westphal) [1812198] - [net] tipc: fix incorrect increasing of link window (Xin Long) [1822129] - [net] tipc: Add a missing case of TIPC_DIRECT_MSG type (Xin Long) [1822129] - [net] tipc: add NULL pointer check to prevent kernel oops (Xin Long) [1822129] - [net] tipc: simplify trivial boolean return (Xin Long) [1822129] - [net] tipc: add missing attribute validation for MTU property (Xin Long) [1822129] - [net] tipc: fix successful connect() but timed out (Xin Long) [1822129] - [net] tipc: make three functions static (Xin Long) [1822129] - [net] tipc: fix wrong connect() return code (Xin Long) [1822129] - [net] tipc: make legacy address flag readable over netlink (Xin Long) [1822129] - [net] tipc: don't send gap blocks in ACK messages (Xin Long) [1822129] - [net] tipc: fix use-after-free in tipc_disc_rcv() (Xin Long) [1822129] - [net] tipc: introduce variable window congestion control (Xin Long) [1822129] - [net] tipc: eliminate more unnecessary nacks and retransmissions (Xin Long) [1822129] - [net] tipc: eliminate gap indicator from ACK messages (Xin Long) [1822129] - [net] tipc: fix duplicate SYN messages under link congestion (Xin Long) [1822129] - [net] tipc: support in-order name publication events (Xin Long) [1822129] - [net] tipc: add back tipc prefix to log messages (Xin Long) [1822129] - [net] tipc: fix update of the uninitialized variable err (Xin Long) [1822129] - [net] tipc: add support for AEAD key setting via netlink (Xin Long) [1822129] - [net] tipc: introduce TIPC encryption & authentication (Xin Long) [1822129] - [include] tipc: add new AEAD key structure for user API (Xin Long) [1822129] - [net] tipc: enable creating a "preliminary" node (Xin Long) [1822129] - [net] tipc: add reference counter to bearer (Xin Long) [1822129] - [net] tipc: eliminate checking netns if node established (Xin Long) [1822129] - [net] tipc: eliminate the dummy packet in link synching (Xin Long) [1822129] - [net] tipc: improve message bundling algorithm (Xin Long) [1822129] - [net] tipc: add smart nagle feature (Xin Long) [1822129] - [net] tipc: improve throughput between nodes in netns (Xin Long) [1822129] - [net] tipc: add loopback device tracking (Xin Long) [1822129] - [netdrv] vxlan: check return value of gro_cells_init() (Sabrina Dubroca) [1821295] - [netdrv] geneve: move debug check after netdev unregister (Sabrina Dubroca) [1821295] - [net] ip6_tunnel: enhance tunnel locate with link check (Sabrina Dubroca) [1821295] - [netdrv] vxlan: implement get_link_ksettings ethtool method (Sabrina Dubroca) [1821295] - [netdrv] vxlan: check tun_info options_len properly (Sabrina Dubroca) [1821295] - [include] iptunnel: make TUNNEL_FLAGS available in uapi (Sabrina Dubroca) [1821295] - [net] introduce dev_net notifier register/unregister variants (Ivan Vecera) [1818102] - [net] push code from net notifier reg/unreg into helpers (Ivan Vecera) [1818102] - [net] call call_netdevice_unregister_net_notifiers from unregister (Ivan Vecera) [1818102] - [net] introduce per-netns netdevice notifiers (Ivan Vecera) [1818102] - [net] push loops and nb calls into helper functions (Ivan Vecera) [1818102] - [include] net: ipv6: do not consider routes via gateways for anycast address check (Hangbin Liu) [1816506] - [net] ipv6/addrconf: call ipv6_mc_up() for non-Ethernet interface (Hangbin Liu) [1816506] - [net] ipv6: need update peer route when modify metric (Hangbin Liu) [1816506] - [net] ipv6: use configured metric when add peer route (Hangbin Liu) [1816506] - [net] ipv6: restrict IPV6_ADDRFORM operation (Hangbin Liu) [1816506] - [net] ipv6: Fix nlmsg_flags when splitting a multipath route (Hangbin Liu) [1816506] - [net] ipv6: Fix route replacement with dev-only route (Hangbin Liu) [1816506] - [net] ipv6/addrconf: fix potential NULL deref in inet6_set_link_af() (Hangbin Liu) [1816506] - [net] net-ipv6-ndisc: add support for RFC7710 RA Captive Portal Identifier (Hangbin Liu) [1816506] - [net] ipv6: Don't use dst gateway directly in ip6_confirm_neigh() (Hangbin Liu) [1816506] - [net] ipv6: Fix the link time qualifier of 'ping_v6_proc_exit_net()' (Hangbin Liu) [1816506] - [net] ipv6: propagate ipv6_add_dev's error returns out of ipv6_find_idev (Hangbin Liu) [1816506] - [net] ipv6: allow any source address for sendmsg pktinfo with ip_nonlocal_bind (Hangbin Liu) [1816506] - [net] multicast: remove useless parameter for group add (Hangbin Liu) [1816506] - [documentation] networking: devlink-trap: Fix reference to other document (Petr Oros) [1805882] - [netdrv] netdevsim: Fix use-after-free during device dismantle (Petr Oros) [1805882] - [netdrv] netdevsim: Fix build error without CONFIG_INET (Petr Oros) [1805882] - [net] devlink: move reload fail indication to devlink core and expose to user (Petr Oros) [1805882] - [net] devlink: split reload op into two (Petr Oros) [1805882] - [netdrv] mlx4: Split restart_one into two functions (Petr Oros) [1805882] - [include] devlink: add unknown 'fw_load_policy' value (Petr Oros) [1805882] - [net] devlink: add 'reset_dev_on_drv_probe' param (Petr Oros) [1805882] - [include] devlink: extend 'fw_load_policy' values (Petr Oros) [1805882] - [include] devlink: Add new info version tags for ASIC and FW (Petr Oros) [1805882] - [net] devlink: Use switch-case instead of if-else (Petr Oros) [1805882] - [net] devlink: Make port index data type as unsigned int (Petr Oros) [1805882] - [net] devlink: send notifications for deleted snapshots on region destroy (Petr Oros) [1805882] - [net] devlink: remove pointless data_len arg from region snapshot create (Petr Oros) [1805882] - [documentation] Add description of netdevsim traps (Petr Oros) [1805882] - [netdrv] netdevsim: Add devlink-trap support (Petr Oros) [1805882] - [tools] selftests: netdevsim: add devlink regions tests (Petr Oros) [1805882] - [tools] selftests: netdevsim: add devlink params tests (Petr Oros) [1805882] - [netdrv] netdevsim: implement support for devlink region and snapshots (Petr Oros) [1805882] - [netdrv] netdevsim: register couple of devlink params (Petr Oros) [1805882]- [arm64] kvm: arm64: limit PMU version to PMUv3 for ARMv8.1 (Gavin Shan) [1814009] - [arm64] cpufeature: Extract capped perfmon fields (Gavin Shan) [1814009] - [virt] kvm: arm64: Use the correct timer structure to access the physical counter (Gavin Shan) [1814009] - [arm64] Ask the compiler to __always_inline functions used by KVM at HYP (Gavin Shan) [1814009] - [arm64] kvm: arm64: Define our own swab32() to avoid a uapi static inline (Gavin Shan) [1814009] - [arm64] kvm: arm64: Ask the compiler to __always_inline functions used at HYP (Gavin Shan) [1814009] - [arm64] kvm: arm/arm64: Fold VHE entry/exit work into kvm_vcpu_run_vhe() (Gavin Shan) [1814009] - [virt] kvm: arm/arm64: Fix up includes for trace.h (Gavin Shan) [1814009] - [virt] kvm: arm64: Treat emulated TVAL TimerValue as a signed 32-bit integer (Gavin Shan) [1814009] - [virt] kvm: arm64: pmu: Only handle supported event counters (Gavin Shan) [1814009] - [virt] kvm: arm64: pmu: Fix chained SW_INCR counters (Gavin Shan) [1814009] - [virt] kvm: arm64: pmu: Don't mark a counter as chained if the odd one is disabled (Gavin Shan) [1814009] - [virt] kvm: arm64: pmu: Don't increment SW_INCR if PMCR.E is unset (Gavin Shan) [1814009] - [virt] kvm: arm: Make inject_abt32() inject an external abort instead (Gavin Shan) [1814009] - [virt] kvm: arm: Fix DFSR setting for non-LPAE aarch32 guests (Gavin Shan) [1814009] - [virt] kvm: arm/arm64: Fix young bit from mmu notifier (Gavin Shan) [1814009] - [arm64] kvm: Add UAPI notes for swapped registers (Gavin Shan) [1814009] - [virt] kvm: arm/arm64: Cleanup MMIO handling (Gavin Shan) [1814009] - [arm64] kvm: arm64: Write arch.mdcr_el2 changes since last vcpu_load on VHE (Gavin Shan) [1814009] - [virt] kvm: arm/arm64: vgic: Drop the kvm_vgic_register_mmio_region() (Gavin Shan) [1814009] - [virt] kvm: arm/arm64: vgic-its: Properly check the unmapped coll in DISCARD handler (Gavin Shan) [1814009] - [arm64] kvm: arm/arm64: Correct AArch32 SPSR on exception entry (Gavin Shan) [1814009] - [virt] kvm: arm/arm64: Correct CPSR on exception entry (Gavin Shan) [1814009] - [arm64] kvm: arm64: Correct PSTATE on exception entry (Gavin Shan) [1814009] - [virt] kvm: arm/arm64: Re-check VMA on detecting a poisoned page (Gavin Shan) [1814009] - [virt] kvm: arm: Remove duplicate include (Gavin Shan) [1814009] - [virt] kvm: arm: Call hyp_cpu_pm_exit at the right place (Gavin Shan) [1814009] - [virt] kvm: arm/arm64: vgic: Handle GICR_PENDBASER.PTZ filed as RAZ (Gavin Shan) [1814009] - [virt] kvm: arm/arm64: vgic-its: Fix restoration of unmapped collections (Gavin Shan) [1814009] - [virt] kvm: arm64: Only sign-extend MMIO up to register width (Gavin Shan) [1814009] - [arm64] kvm: stop treating register x18 as caller save (Gavin Shan) [1814009] - [arm64] Workaround for Cortex-A55 erratum 1530923 (Gavin Shan) [1814009] - [arm64] Rename WORKAROUND_1319367 to SPECULATIVE_AT_NVHE (Gavin Shan) [1814009] - [arm64] Enable and document ARM errata 1319367 and 1319537 (Gavin Shan) [1814009] - [arm64] Rename WORKAROUND_1165522 to SPECULATIVE_AT_VHE (Gavin Shan) [1814009] - [arm64] Introduce ID_ISAR6 CPU register (Gavin Shan) [1814009] - [arm64] nofpsmid: Handle TIF_FOREIGN_FPSTATE flag cleanly (Gavin Shan) [1814009] - [virt] kvm: arm/arm64: Properly handle faulting of device mappings (Gavin Shan) [1814009] - [arm64] kvm: arm64: Ensure 'params' is initialised when looking up sys register (Gavin Shan) [1814009] - [virt] kvm: arm/arm64: Remove excessive permission check in kvm_arch_prepare_memory_region (Gavin Shan) [1814009] - [arm64] kvm: arm64: Don't log IMP DEF sysreg traps (Gavin Shan) [1814009] - [arm64] kvm: Invoke compute_layout() before alternatives are applied (Gavin Shan) [1814009] - [arm64] kvm: arm64: Sanely ratelimit sysreg messages (Gavin Shan) [1814009] - [virt] kvm: arm/arm64: vgic: Use wrapper function to lock/unlock all vcpus in kvm_vgic_create() (Gavin Shan) [1814009] - [virt] kvm: arm/arm64: vgic: Fix potential double free dist->spis in __kvm_vgic_destroy() (Gavin Shan) [1814009] - [virt] kvm: arm/arm64: Get rid of unused arg in cpu_init_hyp_mode() (Gavin Shan) [1814009] - [arm64] kvm: arm64: Opportunistically turn off WFI trapping when using direct LPI injection (Gavin Shan) [1814009] - [virt] kvm: arm/arm64: Let the timer expire in hardirq context on RT (Gavin Shan) [1814009] - [virt] kvm: arm/arm64: vgic: Fix some comments typo (Gavin Shan) [1814009] - [kvm] arm/arm64: vgic: Remove the declaration of kvm_send_userspace_msi() (Gavin Shan) [1814009] - [arm64] kvm: arm64: Don't set HCR_EL2.TVM when S2FWB is supported (Gavin Shan) [1814009] - [arm64] kvm: arm/arm64: Show halt poll counters in debugfs (Gavin Shan) [1814009] - [arm64] kvm: Prevent speculative S1 PTW when restoring vcpu context (Gavin Shan) [1814009] - [arm64] kvm: Disable EL1 PTW when invalidating S2 TLBs (Gavin Shan) [1814009] - [arm64] Add ARM64_WORKAROUND_1319367 for all A57 and A72 versions (Gavin Shan) [1814009] - [arm64] kvm: Reorder system register restoration and stage-2 activation (Gavin Shan) [1814009] - [arm64] kvm: arm64: Select TASK_DELAY_ACCT+TASKSTATS rather than SCHEDSTATS (Gavin Shan) [1814009] - [arm64] Retrieve stolen time as paravirtualized guest (Gavin Shan) [1814009] - [arm64] arm/arm64: Make use of the SMCCC 1.1 wrapper (Gavin Shan) [1814009] - [kernel] arm/arm64: Provide a wrapper for SMCCC 1.1 calls (Gavin Shan) [1814009] - [virt] kvm: arm64: Provide VCPU attributes for stolen time (Gavin Shan) [1814009] - [virt] kvm: arm64: Support stolen time reporting via shared structure (Gavin Shan) [1814009] - [virt] kvm: arm64: Implement PV_TIME_FEATURES call (Gavin Shan) [1814009] - [virt] kvm: arm/arm64: Factor out hypercall handling from PSCI code (Gavin Shan) [1814009] - [documentation] kvm: arm64: Document PV-time interface (Gavin Shan) [1814009] - [arm64] kvm: arm/arm64: Allow user injection of external data aborts (Gavin Shan) [1814009] - [virt] kvm: arm/arm64: Allow reporting non-ISV data aborts to userspace (Gavin Shan) [1814009] - [arm64] errata: use arm_smccc_1_1_get_conduit() (Gavin Shan) [1814009] - [kernel] arm/arm64: smccc/psci: add arm_smccc_1_1_get_conduit() (Gavin Shan) [1814009] - [arm64] kvm: arm64: Fix ptrauth ID register masking logic (Gavin Shan) [1814009] - [arm64] kvm: arm64: Add capability to advertise ptrauth for guest (Gavin Shan) [1814009] - [arm64] kvm: arm64: Add userspace flag to enable pointer authentication (Gavin Shan) [1814009] - [arm64] kvm: arm/arm64: Context-switch ptrauth registers (Gavin Shan) [1814009] - [arm64] kvm: arm64: Add a vcpu flag to control ptrauth for guest (Gavin Shan) [1814009] - [tools] selftests: kvm: s390: fix format strings for access reg test (Vitaly Kuznetsov) [1813987] - [tools] selftests: kvm: make syncregs more reliable on s390 (Vitaly Kuznetsov) [1813987] - [tools] kvm: selftests: drop vcpu_setup from s390x (Vitaly Kuznetsov) [1813987] - [tools] kvm: selftests: Add support for vcpu_args_set to aarch64 and s390x (Vitaly Kuznetsov) [1813987] - [iommu] amd: Fix IOMMU AVIC not properly update the is_run bit in IRTE (Vitaly Kuznetsov) [1813987] - [powerpc] kvm: ppc: Fix kernel crash with PR KVM (Vitaly Kuznetsov) [1813987] - [x86] cpu: Print "VMX disabled" error message iff KVM is enabled (Vitaly Kuznetsov) [1813987] - [tools] redhat: update kvm/x86 headers in tools (Vitaly Kuznetsov) [1813987] - [x86] kvm: vmx: fix crash cleanup when KVM wasn't used (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: Filter out the broadcast dest for IPI fastpath (Vitaly Kuznetsov) [1813987] - [x86] kvm: nvmx: don't clear mtf_pending when nested events are blocked (Vitaly Kuznetsov) [1813987] - [x86] kvm: vmx: Remove unnecessary exception trampoline in vmx_vmenter (Vitaly Kuznetsov) [1813987] - [x86] kvm: svm: Split svm_vcpu_run inline assembly to separate file (Vitaly Kuznetsov) [1813987] - [x86] kvm: svm: Move SEV code to separate file (Vitaly Kuznetsov) [1813987] - [x86] kvm: svm: Move AVIC code to separate file (Vitaly Kuznetsov) [1813987] - [x86] kvm: svm: Move Nested SVM Implementation to nested.c (Vitaly Kuznetsov) [1813987] - [x86] kvm svm: Move SVM related files to own sub-directory (Vitaly Kuznetsov) [1813987] - [x86] kvm: fix a missing-prototypes "vmread_error" (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: Fix BUILD_BUG() in __cpuid_entry_get_reg() w/ CONFIG_UBSAN=y (Vitaly Kuznetsov) [1813987] - [x86] kvm: vmx: Add a trampoline to fix VMREAD error handling (Vitaly Kuznetsov) [1813987] - [x86] kvm: svm: Annotate svm_x86_ops as __initdata (Vitaly Kuznetsov) [1813987] - [x86] kvm: vmx: Annotate vmx_x86_ops as __initdata (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: Drop __exit from kvm_x86_ops' hardware_unsetup() (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: Copy kvm_x86_ops by value to eliminate layer of indirection (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: Set kvm_x86_ops only after ->hardware_setup() completes (Vitaly Kuznetsov) [1813987] - [x86] kvm: vmx: Configure runtime hooks using vmx_x86_ops (Vitaly Kuznetsov) [1813987] - [x86] kvm: vmx: Move hardware_setup() definition below vmx_x86_ops (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: Move init-only kvm_x86_ops to separate struct (Vitaly Kuznetsov) [1813987] - [virt] kvm: Pass kvm_init()'s opaque param to additional arch funcs (Vitaly Kuznetsov) [1813987] - [tools] kvm: selftests: Fix cosmetic copy-paste error in vm_mem_region_move() (Vitaly Kuznetsov) [1813987] - [virt] kvm: Fix out of range accesses to memslots (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: Micro-optimize IPI fastpath delay (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: Delay read msr data iff writes ICR MSR (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: Narrow down the IPI fastpath to single target IPI (Vitaly Kuznetsov) [1813987] - [x86] kvm: vmx: Gracefully handle faults on VMXON (Vitaly Kuznetsov) [1813987] - [x86] kvm: vmx: Fold loaded_vmcs_init() into alloc_loaded_vmcs() (Vitaly Kuznetsov) [1813987] - [x86] kvm: vmx: Always VMCLEAR in-use VMCSes during crash with kexec support (Vitaly Kuznetsov) [1813987] - [tools] kvm_stat: add command line switch '-c' to log in csv format (Vitaly Kuznetsov) [1813987] - [tools] kvm_stat: add command line switch '-s' to set update interval (Vitaly Kuznetsov) [1813987] - [tools] kvm_stat: switch to argparse (Vitaly Kuznetsov) [1813987] - [tools] kvm_stat: rework command line sequence and message texts (Vitaly Kuznetsov) [1813987] - [x86] kvm: vmx: don't allow memory operands for inline asm that modifies SP (Vitaly Kuznetsov) [1813987] - [x86] kvm: lapic: Mark hrtimer for period or oneshot mode to expire in hard interrupt context (Vitaly Kuznetsov) [1813987] - [x86] kvm: svm: Issue WBINVD after deactivating an SEV guest (Vitaly Kuznetsov) [1813987] - [documentation] kvm: svm: document KVM_MEM_ENCRYPT_OP, let userspace detect if SEV is available (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: remove bogus user-triggerable WARN_ON (Vitaly Kuznetsov) [1813987] - [tools] kvm: selftests: Rework timespec functions and usage (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: Code style cleanup in kvm_arch_dev_ioctl() (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: Add blurb to CPUID tracepoint when using max basic leaf values (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: Add requested index to the CPUID tracepoint (Vitaly Kuznetsov) [1813987] - [x86] kvm: nsvm: check for EFER.SVME=1 before entering guest (Vitaly Kuznetsov) [1813987] - [x86] kvm: nvmx: remove side effects from nested_vmx_exit_reflected (Vitaly Kuznetsov) [1813987] - [x86] kvm: vmx: access regs array in vmenter.S in its natural order (Vitaly Kuznetsov) [1813987] - [tools] kvm: selftests: enlightened VMPTRLD with an incorrect GPA (Vitaly Kuznetsov) [1813987] - [tools] kvm: selftests: test enlightened vmenter with wrong eVMCS version (Vitaly Kuznetsov) [1813987] - [tools] kvm: selftests: define and use EVMCS_VERSION (Vitaly Kuznetsov) [1813987] - [x86] kvm: nvmx: properly handle errors in nested_vmx_handle_enlightened_vmptrld() (Vitaly Kuznetsov) [1813987] - [x86] kvm: nvmx: stop abusing need_vmcs12_to_shadow_sync for eVMCS mapping (Vitaly Kuznetsov) [1813987] - [tools] selftests: kvm: Uses TEST_FAIL in tests/utilities (Vitaly Kuznetsov) [1813987] - [tools] selftests: kvm: Introduce the TEST_FAIL macro (Vitaly Kuznetsov) [1813987] - [tools] kvm: selftests: Introduce steal-time test (Vitaly Kuznetsov) [1813987] - [tools] kvm: selftests: virt_map should take npages, not size (Vitaly Kuznetsov) [1813987] - [tools] kvm: selftests: Use consistent message for test skipping (Vitaly Kuznetsov) [1813987] - [tools] kvm: selftests: Enable printf format warnings for TEST_ASSERT (Vitaly Kuznetsov) [1813987] - [tools] kvm: selftests: Share common API documentation (Vitaly Kuznetsov) [1813987] - [tools] selftests: kvm: svm: Add vmcall test to gitignore (Vitaly Kuznetsov) [1813987] - [x86] kvm: nsvm: Remove an obsolete comment (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: correct meaningless kvm_apicv_activated() check (Vitaly Kuznetsov) [1813987] - [x86] kvm: nvmx: Consolidate nested MTF checks to helper function (Vitaly Kuznetsov) [1813987] - [x86] kvm: vmx: Micro-optimize vmexit time when not exposing PMU (Vitaly Kuznetsov) [1813987] - [x86] kvm: svm: Introduce GA Log tracepoint for AVIC (Vitaly Kuznetsov) [1813987] - [documentation] kvm: documentation: Update fast page fault for indirect sp (Vitaly Kuznetsov) [1813987] - [x86] kvm: nsvm: avoid loss of pending IRQ/NMI before entering L2 (Vitaly Kuznetsov) [1813987] - [x86] kvm: nsvm: implement check_nested_events for interrupts (Vitaly Kuznetsov) [1813987] - [x86] kvm: nsvm: ignore L1 interrupt window while running L2 with V_INTR_MASKING=1 (Vitaly Kuznetsov) [1813987] - [x86] kvm: nsvm: do not change host intercepts while nested VM is running (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: rename set_cr3 callback and related flags to load_mmu_pgd (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: unify callbacks to load paging root (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: Refactor kvm_cpuid() param that controls out-of-range logic (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: Refactor out-of-range logic to contain the madness (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: Fix CPUID range checks for Hypervisor and Centaur classes (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: Add helpers to perform CPUID-based guest vendor check (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: Trace the original requested CPUID function in kvm_cpuid() (Vitaly Kuznetsov) [1813987] - [x86] kvm: cpuid: add support for supervisor states (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: Move nSVM CPUID 0x8000000A handling into common x86 code (Vitaly Kuznetsov) [1813987] - [x86] kvm: nsvm: Advertise and enable NRIPS for L1 iff nrips is enabled (Vitaly Kuznetsov) [1813987] - [x86] kvm: nsvm: Expose SVM features to L1 iff nested is enabled (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: Move VMX's host_efer to common x86 code (Vitaly Kuznetsov) [1813987] - [virt] kvm: Drop largepages_enabled and its accessor/mutator (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: Don't propagate MMU lpage support to memslot.disallow_lpage (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86/mmu: Configure max page level during hardware setup (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86/mmu: Merge kvm_{enable, disable}_tdp() into a common function (Vitaly Kuznetsov) [1813987] - [x86] kvm: svm: Refactor logging of NPT enabled/disabled (Vitaly Kuznetsov) [1813987] - [x86] kvm: vmx: Directly query Intel PT mode when refreshing PMUs (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: Check for Intel PT MSR virtualization using KVM cpu caps (Vitaly Kuznetsov) [1813987] - [x86] kvm: vmx: Directly use VMX capabilities helper to detect RDTSCP support (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: Use KVM cpu caps to detect MSR_TSC_AUX virt support (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: Do kvm_cpuid_array capacity checks in terminal functions (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: Use kvm_cpu_caps to detect Intel PT support (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: Set emulated/transmuted feature bits via kvm_cpu_caps (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: Override host CPUID results with kvm_cpu_caps (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: Do host CPUID at load time to mask KVM cpu caps (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: Remove stateful CPUID handling (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: Squash CPUID 0x2.0 insanity for modern CPUs (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: Remove the unnecessary loop on CPUID 0x7 sub-leafs (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: Fold CPUID 0x7 masking back into __do_cpuid_func() (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: Use KVM cpu caps to track UMIP emulation (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: Use KVM cpu caps to mark CR4.LA57 as not-reserved (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: Add a helper to check kernel support when setting cpu cap (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: Move XSAVES CPUID adjust to VMX's KVM cpu cap update (Vitaly Kuznetsov) [1813987] - [x86] kvm: vmx: Convert feature updates from CPUID to KVM cpu caps (Vitaly Kuznetsov) [1813987] - [x86] kvm: svm: Convert feature updates from CPUID to KVM cpu caps (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: Introduce kvm_cpu_caps to replace runtime CPUID masking (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: Refactor handling of XSAVES CPUID adjustment (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: handle GBPAGE CPUID adjustment for EPT with generic code (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: Handle Intel PT CPUID adjustment in VMX code (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: Handle RDTSCP CPUID adjustment in VMX code (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: Handle PKU CPUID adjustment in VMX code (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: Handle UMIP emulation CPUID adjustment in VMX code (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: Handle INVPCID CPUID adjustment in VMX code (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: Handle MPX CPUID adjustment in VMX code (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: Refactor cpuid_mask() to auto-retrieve the register (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: Introduce cpuid_entry_{change, set, clear}() mutators (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: Introduce cpuid_entry_{get, has}() accessors (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: Replace bare "unsigned" with "unsigned int" in cpuid helpers (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: Use u32 for holding CPUID register value in helpers (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: Drop explicit @func param from ->set_supported_cpuid() (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: Clear output regs for CPUID 0x14 if PT isn't exposed to guest (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: Make kvm_mpx_supported() an inline function (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: Use supported_xcr0 to detect MPX support (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: Calculate the supported xcr0 mask at load time (Vitaly Kuznetsov) [1813987] - [x86] kvm: vmx: Add helpers to query Intel PT mode (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: Use common loop iterator when handling CPUID 0xD.N (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: Drop redundant array size check (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: Encapsulate CPUID entries and metadata in struct (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: Refactor CPUID 0x4 and 0x8000001d handling (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: Hoist loop counter and terminator to top of __do_cpuid_func() (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: Consolidate CPUID array max num entries checking (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: Drop redundant boot cpu checks on SSBD feature bits (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: Drop the explicit @index from do_cpuid_7_mask() (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: Clean up CPUID 0x7 sub-leaf loop (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: Refactor CPUID 0xD.N sub-leaf entry creation (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: Warn on zero-size save state for valid CPUID 0xD.N sub-leaf (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: Check for CPUID 0xD.N support before validating array size (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: Move CPUID 0xD.1 handling out of the index>0 loop (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: Check userspace CPUID array size after validating sub-leaf (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: Clean up error handling in kvm_dev_ioctl_get_cpuid() (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: Simplify handling of Centaur CPUID leafs (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: Refactor loop around do_cpuid_func() to separate helper (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: Return -E2BIG when KVM_GET_SUPPORTED_CPUID hits max entries (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: Shrink the usercopy region of the emulation context (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: Move kvm_emulate.h into KVM's private directory (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: Dynamically allocate per-vCPU emulation context (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: Move emulation-only helpers to emulate.c (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: Explicitly pass an exception struct to check_intercept (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: Refactor I/O emulation helpers to provide vcpu-only variant (Vitaly Kuznetsov) [1813987] - [virt] kvm: Drop gfn_to_pfn_atomic() (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: Fix warning due to implicit truncation on 32-bit KVM (Vitaly Kuznetsov) [1813987] - [x86] kvm: nvmx: Drop unnecessary check on ept caps for execute-only (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86/mmu: Rename kvm_mmu->get_cr3() to ->get_guest_pgd() (Vitaly Kuznetsov) [1813987] - [x86] kvm: nvmx: Rename EPTP validity helper and associated variables (Vitaly Kuznetsov) [1813987] - [x86] kvm: nvmx: Rename nested_ept_get_cr3() to nested_ept_get_eptp() (Vitaly Kuznetsov) [1813987] - [x86] kvm: nvmx: Allow L1 to use 5-level page walks for nested EPT (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86/mmu: Drop kvm_mmu_extended_role.cr4_la57 hack (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86/mmu: Don't drop level/direct from MMU role calculation (Vitaly Kuznetsov) [1813987] - [tools] kvm: selftests: Support dirty log initial-all-set test (Vitaly Kuznetsov) [1813987] - [x86] kvm: nvmx: Properly handle userspace interrupt window request (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: trigger kvmclock sync request just once on VM creation (Vitaly Kuznetsov) [1813987] - [x86] kvm: lapic: Recalculate apic map in batch (Vitaly Kuznetsov) [1813987] - [x86] kvm: Fix some obsolete comments (Vitaly Kuznetsov) [1813987] - [virt] kvm: x86: enable dirty log gradually in small chunks (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86/mmu: Reuse the current root if possible for fast switch (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86/mmu: Ignore guest CR3 on fast root switch for direct MMU (Vitaly Kuznetsov) [1813987] - [x86] kvm: svm: Inhibit APIC virtualization for X2APIC guest (Vitaly Kuznetsov) [1813987] - [virt] kvm: Remove unnecessary asm/kvm_host.h includes (Vitaly Kuznetsov) [1813987] - [tools] kvm: selftests: Fix unknown ucall command asserts (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: Consolidate VM allocation and free for VMX and SVM (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: Directly return __vmalloc() result in ->vm_alloc() (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: Gracefully handle __vmalloc() failure during VM allocation (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: Adjust counter sample period after a wrmsr (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86/mmu: Consolidate open coded variants of memslot TLB flushes (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86/mmu: Use range-based TLB flush for dirty log memslot flush (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86/mmu: Move kvm_arch_flush_remote_tlbs_memslot() to mmu.c (Vitaly Kuznetsov) [1813987] - [tools] kvm: selftests: Add test for KVM_SET_USER_MEMORY_REGION (Vitaly Kuznetsov) [1813987] - [virt] kvm: Dynamically size memslot array based on number of used slots (Vitaly Kuznetsov) [1813987] - [virt] kvm: Terminate memslot walks via used_slots (Vitaly Kuznetsov) [1813987] - [virt] kvm: Ensure validity of memslot with respect to kvm_get_dirty_log() (Vitaly Kuznetsov) [1813987] - [virt] kvm: Provide common implementation for generic dirty log functions (Vitaly Kuznetsov) [1813987] - [virt] kvm: Clean up local variable usage in __kvm_set_memory_region() (Vitaly Kuznetsov) [1813987] - [x86] kvm: Simplify kvm_free_memslot() and all its descendents (Vitaly Kuznetsov) [1813987] - [virt] kvm: Move memslot deletion to helper function (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: Free arrays for old memslot when moving memslot's base gfn (Vitaly Kuznetsov) [1813987] - [virt] kvm: Drop "const" attribute from old memslot in commit_memory_region() (Vitaly Kuznetsov) [1813987] - [virt] kvm: Move setting of memslot into helper routine (Vitaly Kuznetsov) [1813987] - [virt] kvm: Refactor error handling for setting memory region (Vitaly Kuznetsov) [1813987] - [virt] kvm: Explicitly free allocated-but-unused dirty bitmap (Vitaly Kuznetsov) [1813987] - [virt] kvm: Drop kvm_arch_create_memslot() (Vitaly Kuznetsov) [1813987] - [powerpc] kvm: ppc: Move memslot memory allocation into prepare_memory_region() (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: Allocate memslot resources during prepare_memory_region() (Vitaly Kuznetsov) [1813987] - [virt] kvm: Don't free new memslot if allocation of said memslot fails (Vitaly Kuznetsov) [1813987] - [virt] kvm: Reinstall old memslots if arch preparation fails (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: Allocate new rmap and large page tracking when moving memslot (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: Move gpa_val and gpa_available into the emulator context (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: Add EMULTYPE_PF when emulation is triggered by a page fault (Vitaly Kuznetsov) [1813987] - [x86] kvm: apic: remove unused function apic_lvt_vector() (Vitaly Kuznetsov) [1813987] - [x86] kvm: vmx: Add 'else' to split mutually exclusive case (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: eliminate some unreachable code (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: Fix print format and coding style (Vitaly Kuznetsov) [1813987] - [x86] kvm: vmx: rewrite the comment in vmx_get_mt_mask (Vitaly Kuznetsov) [1813987] - [tools] kvm: selftests: Convert some printf's to pr_info's (Vitaly Kuznetsov) [1813987] - [tools] kvm: selftests: Rework debug message printing (Vitaly Kuznetsov) [1813987] - [tools] kvm: selftests: Time guest demand paging (Vitaly Kuznetsov) [1813987] - [tools] kvm: selftests: Support multiple vCPUs in demand paging test (Vitaly Kuznetsov) [1813987] - [tools] kvm: selftests: Pass args to vCPU in global vCPU args struct (Vitaly Kuznetsov) [1813987] - [tools] kvm: selftests: Add memory size parameter to the demand paging test (Vitaly Kuznetsov) [1813987] - [tools] kvm: selftests: Add configurable demand paging delay (Vitaly Kuznetsov) [1813987] - [tools] kvm: selftests: Add demand paging content to the demand paging test (Vitaly Kuznetsov) [1813987] - [tools] kvm: selftests: Create a demand paging test (Vitaly Kuznetsov) [1813987] - [tools] kvm: selftests: Introduce num-pages conversion utilities (Vitaly Kuznetsov) [1813987] - [tools] kvm: selftests: Introduce vm_guest_mode_params (Vitaly Kuznetsov) [1813987] - [tools] kvm: selftests: Rename vm_guest_mode_params (Vitaly Kuznetsov) [1813987] - [tools] kvm: selftests: aarch64: Remove unnecessary ifdefs (Vitaly Kuznetsov) [1813987] - [tools] kvm: selftests: Remove unnecessary defines (Vitaly Kuznetsov) [1813987] - [tools] redhat: selftests: kvm: add SPDX-License-Identifier (Vitaly Kuznetsov) [1813987] - [x86] redhat: kvm: x86: add SPDX-License-Identifier (Vitaly Kuznetsov) [1813987] - [x86] x86 kvm page table walks: switch to explicit __get_user() (Vitaly Kuznetsov) [1813987] - [x86] kvm: nvmx: avoid NULL pointer dereference with incorrect EVMCS GPAs (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: Initializing all kvm_lapic_irq fields in ioapic_write_indirect (Vitaly Kuznetsov) [1813987] - [x86] kvm: vmx: Condition ENCLS-exiting enabling on CPU support for SGX1 (Vitaly Kuznetsov) [1813987] - [x86] kvm: fix Kconfig menu text for -Werror (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: remove stale comment from struct x86_emulate_ctxt (Vitaly Kuznetsov) [1813987] - [x86] kvm: svm: Fix the svm vmexit code for WRMSR (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: Fix dereference null cpufreq policy (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: limit the number of "kvm: disabled by bios" messages (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: avoid useless copy of cpufreq policy (Vitaly Kuznetsov) [1813987] - [x86] kvm: allow disabling -Werror (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: allow compiling as non-module with W=1 (Vitaly Kuznetsov) [1813987] - [x86] kvm: Pre-allocate 1 cpumask variable per cpu for both pv tlb and pv ipis (Vitaly Kuznetsov) [1813987] - [x86] kvm: Introduce pv check helpers (Vitaly Kuznetsov) [1813987] - [kernel] kvm: let declaration of kvm_get_running_vcpus match implementation (Vitaly Kuznetsov) [1813987] - [x86] kvm: svm: allocate AVIC data structures based on kvm_amd module parameter (Vitaly Kuznetsov) [1813987] - [x86] kvm: nvmx: Emulate MTF when performing instruction emulation (Vitaly Kuznetsov) [1813987] - [x86] kvm: fix error handling in svm_hardware_setup (Vitaly Kuznetsov) [1813987] - [x86] kvm: svm: Fix potential memory leak in svm_cpu_init() (Vitaly Kuznetsov) [1813987] - [x86] kvm: apic: avoid calculating pending eoi from an uninitialized val (Vitaly Kuznetsov) [1813987] - [x86] kvm: nvmx: clear PIN_BASED_POSTED_INTR from nested pinbased_ctls only when apicv is globally disabled (Vitaly Kuznetsov) [1813987] - [x86] kvm: nvmx: handle nested posted interrupts when apicv is disabled for L1 (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: svm: Fix NULL pointer dereference when AVIC not enabled (Vitaly Kuznetsov) [1813987] - [x86] kvm: nvmx: Hold KVM's srcu lock when syncing vmcs12->shadow (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: don't notify userspace IOAPIC on edge-triggered interrupt EOI (Vitaly Kuznetsov) [1813987] - [x86] kvm/emulate: fix a -Werror=cast-function-type (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: fix incorrect comparison in trace event (Vitaly Kuznetsov) [1813987] - [x86] kvm: nvmx: Fix some obsolete comments and grammar error (Vitaly Kuznetsov) [1813987] - [kernel] kvm: x86: fix missing prototypes (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: enable -Werror (Vitaly Kuznetsov) [1813987] - [documentation] docs: virt: guest-halt-polling.txt convert to ReST (Vitaly Kuznetsov) [1813987] - [documentation] docs: kvm: review-checklist.txt: rename to ReST (Vitaly Kuznetsov) [1813987] - [documentation] docs: kvm: Convert timekeeping.txt to ReST format (Vitaly Kuznetsov) [1813987] - [documentation] docs: kvm: Convert s390-diag.txt to ReST format (Vitaly Kuznetsov) [1813987] - [documentation] docs: kvm: Convert ppc-pv.txt to ReST format (Vitaly Kuznetsov) [1813987] - [documentation] docs: kvm: Convert nested-vmx.txt to ReST format (Vitaly Kuznetsov) [1813987] - [documentation] docs: kvm: Convert mmu.txt to ReST format (Vitaly Kuznetsov) [1813987] - [documentation] docs: kvm: Convert locking.txt to ReST format (Vitaly Kuznetsov) [1813987] - [documentation] docs: kvm: Convert hypercalls.txt to ReST format (Vitaly Kuznetsov) [1813987] - [documentation] docs: kvm: arm/psci.txt: convert to ReST (Vitaly Kuznetsov) [1813987] - [documentation] docs: kvm: convert arm/hyp-abi.txt to ReST (Vitaly Kuznetsov) [1813987] - [documentation] docs: kvm: Convert api.txt to ReST format (Vitaly Kuznetsov) [1813987] - [documentation] docs: kvm: convert devices/xive.txt to ReST (Vitaly Kuznetsov) [1813987] - [documentation] docs: kvm: convert devices/xics.txt to ReST (Vitaly Kuznetsov) [1813987] - [documentation] docs: kvm: convert devices/vm.txt to ReST (Vitaly Kuznetsov) [1813987] - [documentation] docs: kvm: convert devices/vfio.txt to ReST (Vitaly Kuznetsov) [1813987] - [documentation] docs: kvm: convert devices/vcpu.txt to ReST (Vitaly Kuznetsov) [1813987] - [documentation] docs: kvm: convert devices/s390_flic.txt to ReST (Vitaly Kuznetsov) [1813987] - [documentation] docs: kvm: convert devices/mpic.txt to ReST (Vitaly Kuznetsov) [1813987] - [documentation] docs: kvm: convert devices/arm-vgit.txt to ReST (Vitaly Kuznetsov) [1813987] - [documentation] docs: kvm: devices/arm-vgit-v3.txt to ReST (Vitaly Kuznetsov) [1813987] - [documentation] docs: kvm: devices/arm-vgic-its.txt to ReST format (Vitaly Kuznetsov) [1813987] - [documentation] docs: virt: Convert msr.txt to ReST format (Vitaly Kuznetsov) [1813987] - [documentation] docs: virt: convert halt-polling.txt to ReST format (Vitaly Kuznetsov) [1813987] - [documentation] docs: kvm: add arm/pvtime.rst to index.rst (Vitaly Kuznetsov) [1813987] - [documentation] docs: virtual: add it to the documentation body (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: fix WARN_ON check of an unsigned less than zero (Vitaly Kuznetsov) [1813987] - [tools] selftests: kvm: Remove unused x86_register enum (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86/mmu: Fix struct guest_walker arrays for 5-level paging (Vitaly Kuznetsov) [1813987] - [x86] kvm: nvmx: Use correct root level for nested EPT shadow page tables (Vitaly Kuznetsov) [1813987] - [x86] kvm: nvmx: Fix some comment typos and coding style (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86/mmu: Avoid retpoline on ->page_fault() with TDP (Vitaly Kuznetsov) [1813987] - [x86] kvm: apic: reuse smp_wmb() in kvm_make_request() (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: remove duplicated KVM_REQ_EVENT request (Vitaly Kuznetsov) [1813987] - [tools] selftests: kvm: svm: Add vmcall test (Vitaly Kuznetsov) [1813987] - [tools] selftests: kvm: AMD Nested test infrastructure (Vitaly Kuznetsov) [1813987] - [tools] selftests: kvm: Replace get_{gdt, idt}_base() by get_{gdt, idt}() (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: Deliver exception payload on KVM_GET_VCPU_EVENTS (Vitaly Kuznetsov) [1813987] - [x86] kvm: nvmx: Handle pending #DB when injecting INIT VM-exit (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: Mask off reserved bit from #DB exception payload (Vitaly Kuznetsov) [1813987] - [virt] kvm: Disable preemption in kvm_get_running_vcpu() (Vitaly Kuznetsov) [1813987] - [x86] kvm: vmx: delete meaningless vmx_decache_cr0_guest_bits() declaration (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: Mark CR4.UMIP as reserved based on associated CPUID bit (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: Fix perfctr WRMSR for running counters (Vitaly Kuznetsov) [1813987] - [x86] kvm: mmu: Separate generating and setting mmio ptes (Vitaly Kuznetsov) [1813987] - [x86] kvm: mmu: Replace unsigned with unsigned int for PTE access (Vitaly Kuznetsov) [1813987] - [x86] kvm: nvmx: Remove stale comment from nested_vmx_load_cr3() (Vitaly Kuznetsov) [1813987] - [x86] kvm: do not setup pv tlb flush when not paravirtualized (Vitaly Kuznetsov) [1813987] - [x86] Add "nopv" parameter to disable PV extensions (Vitaly Kuznetsov) [1813987] - [virt] kvm: fix overflow of zero page refcount with ksm running (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: Take a u64 when checking for a valid dr7 value (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: use raw clock values consistently (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: reorganize pvclock_gtod_data members (Vitaly Kuznetsov) [1813987] - [x86] kvm: nvmx: delete meaningless nested_vmx_run() declaration (Vitaly Kuznetsov) [1813987] - [x86] kvm: svm: allow AVIC without split irqchip (Vitaly Kuznetsov) [1813987] - [x86] kvm: ioapic: Lazy update IOAPIC EOI (Vitaly Kuznetsov) [1813987] - [x86] kvm: ioapic: Refactor kvm_ioapic_update_eoi() (Vitaly Kuznetsov) [1813987] - [x86] kvm: i8254: Deactivate APICv when using in-kernel PIT re-injection mode (Vitaly Kuznetsov) [1813987] - [x86] svm: Temporarily deactivate AVIC during ExtINT handling (Vitaly Kuznetsov) [1813987] - [x86] svm: Deactivate AVIC when launching guest with nested SVM support (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: hyperv: Use APICv update request interface (Vitaly Kuznetsov) [1813987] - [x86] svm: Add support for dynamic APICv (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: Introduce x86 ops hook for pre-update APICv (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: Introduce APICv x86 ops for checking APIC inhibit reasons (Vitaly Kuznetsov) [1813987] - [x86] kvm: svm: avic: Add support for dynamic setup/teardown of virtual APIC backing page (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: svm: Add support to (de)activate posted interrupts (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: Add APICv (de)activate request trace points (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: Add support for dynamic APICv activation (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: remove get_enable_apicv from kvm_x86_ops (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: Introduce APICv inhibit reason bits (Vitaly Kuznetsov) [1813987] - [x86] kvm: lapic: Introduce APICv update helper function (Vitaly Kuznetsov) [1813987] - [iommu] amd: Re-factor guest virtual APIC (de-)activation code (Vitaly Kuznetsov) [1813987] - [tools] selftests: kvm: Add fpu and one reg set/get library functions (Vitaly Kuznetsov) [1813987] - [x86] kvm: Clean up host's steal time structure (Vitaly Kuznetsov) [1813987] - [x86] kvm: Make sure KVM_VCPU_FLUSH_TLB flag is not missed (Vitaly Kuznetsov) [1813987] - [virt] x86/kvm: Cache gfn to pfn translation (Vitaly Kuznetsov) [1813987] - [virt] x86/kvm: Introduce kvm_(un)map_gfn() (Vitaly Kuznetsov) [1813987] - [x86] kvm: Be careful not to clear KVM_VCPU_FLUSH_TLB bit (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: Use a typedef for fastop functions (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: Add 'else' to unify fastop and execute call path (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: inline memslot_valid_for_gpte (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86/mmu: Use huge pages for DAX-backed files (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86/mmu: Remove lpage_is_disallowed() check from set_spte() (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86/mmu: Fold max_mapping_level() into kvm_mmu_hugepage_adjust() (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86/mmu: Zap any compound page when collapsing sptes (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86/mmu: Remove obsolete gfn restoration in FNAME(fetch) (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86/mmu: Rely on host page tables to find HugeTLB mappings (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86/mmu: Drop level optimization from fast_page_fault() (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86/mmu: Walk host page tables to find THP mappings (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86/mmu: Refactor THP adjust to prep for changing query (Vitaly Kuznetsov) [1813987] - [x86] mm: Introduce lookup_address_in_mm() (Vitaly Kuznetsov) [1813987] - [virt] kvm: Play nice with read-only memslots when querying host page size (Vitaly Kuznetsov) [1813987] - [x86] kvm: Use vcpu-specific gva->hva translation when querying host page size (Vitaly Kuznetsov) [1813987] - [mm] thp: kvm: Explicitly check for THP when populating secondary MMU (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86/mmu: Enforce max_level on HugeTLB mappings (Vitaly Kuznetsov) [1813987] - [virt] kvm: Return immediately if __kvm_gfn_to_hva_cache_init() fails (Vitaly Kuznetsov) [1813987] - [virt] kvm: Clean up __kvm_gfn_to_hva_cache_init() and its callers (Vitaly Kuznetsov) [1813987] - [virt] kvm: Check for a bad hva before dropping into the ghc slow path (Vitaly Kuznetsov) [1813987] - [x86] kvm/x86: export kvm_vector_hashing_enabled() is unnecessary (Vitaly Kuznetsov) [1813987] - [x86] kvm: vmx: remove duplicated segment cache clear (Vitaly Kuznetsov) [1813987] - [x86] Adding 'else' to reduce checking (Vitaly Kuznetsov) [1813987] - [x86] kvm: nvmx: Check GUEST_DR7 on vmentry of nested guests (Vitaly Kuznetsov) [1813987] - [virt] kvm: Move running VCPU from ARM to common code (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: Drop x86_set_memory_region() (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: Don't take srcu lock in init_rmode_identity_map() (Vitaly Kuznetsov) [1813987] - [virt] kvm: Add build-time error check on kvm_run size (Vitaly Kuznetsov) [1813987] - [virt] kvm: Remove kvm_read_guest_atomic() (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: Perform non-canonical checks in 32-bit KVM (Vitaly Kuznetsov) [1813987] - [x86] kvm: nvmx: WARN on failure to set IA32_PERF_GLOBAL_CTRL (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: Remove unused ctxt param from emulator's FPU accessors (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: revert "kvm: x86: Fix fpu state crash in kvm guest" (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: Ensure guest's FPU state is loaded when accessing for emulation (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: Handle TIF_NEED_FPU_LOAD in kvm_{load, put}_guest_fpu() (Vitaly Kuznetsov) [1813987] - [x86] revert "kvm: x86: Add a WARN on TIF_NEED_FPU_LOAD in kvm_load_guest_fpu()" (Vitaly Kuznetsov) [1813987] - [x86] kvm: apic: short-circuit kvm_apic_accept_pic_intr() when pic intr is accepted (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: avoid clearing pending exception event twice (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: Protect pmu_intel.c from Spectre-v1/L1TF attacks (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: Protect DR-based index computations from Spectre-v1/L1TF attacks (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: Protect exit_reason from being used in Spectre-v1/L1TF attacks (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: Refactor prefix decoding to prevent Spectre-v1/L1TF attacks (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: Protect MSR-based index computations from Spectre-v1/L1TF attacks in x86.c (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: Protect MSR-based index computations in pmu.h from Spectre-v1/L1TF attacks (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: Protect MSR-based index computations in fixed_msr_to_seg_unit() from Spectre-v1/L1TF attacks (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: Protect kvm_lapic_reg_write() from Spectre-v1/L1TF attacks (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: Protect ioapic_write_indirect() from Spectre-v1/L1TF attacks (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: Protect ioapic_read_indirect() from Spectre-v1/L1TF attacks (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: Refactor picdev_write() to prevent Spectre-v1/L1TF attacks (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: Protect kvm_hv_msr_[get|set]_crash_data() from Spectre-v1/L1TF attacks (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: Protect x86_decode_insn from Spectre-v1/L1TF attacks (Vitaly Kuznetsov) [1813987] - [virt] kvm: Move vcpu->run page allocation out of kvm_vcpu_init() (Vitaly Kuznetsov) [1813987] - [virt] kvm: Move putting of vcpu->pid to kvm_vcpu_destroy() (Vitaly Kuznetsov) [1813987] - [virt] kvm: Drop kvm_arch_vcpu_init() and kvm_arch_vcpu_uninit() (Vitaly Kuznetsov) [1813987] - [arm64] kvm: arm64: Free sve_state via arm specific hook (Vitaly Kuznetsov) [1813987] - [powerpc] kvm: ppc: Move all vcpu init code into kvm_arch_vcpu_create() (Vitaly Kuznetsov) [1813987] - [virt] kvm: arm: Move all vcpu init code into kvm_arch_vcpu_create() (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: Move all vcpu init code into kvm_arch_vcpu_create() (Vitaly Kuznetsov) [1813987] - [virt] kvm: Drop kvm_arch_vcpu_setup() (Vitaly Kuznetsov) [1813987] - [powerpc] kvm: ppc: booke: Setup vcpu during kvmppc_core_vcpu_create() (Vitaly Kuznetsov) [1813987] - [s390] kvm: s390: Manually invoke vcpu setup during kvm_arch_vcpu_create() (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: Move guts of kvm_arch_vcpu_setup() into kvm_arch_vcpu_create() (Vitaly Kuznetsov) [1813987] - [virt] kvm: Move initialization of preempt notifier to kvm_vcpu_init() (Vitaly Kuznetsov) [1813987] - [virt] kvm: Unexport kvm_vcpu_cache and kvm_vcpu_{un}init() (Vitaly Kuznetsov) [1813987] - [s390] kvm: Move vcpu alloc and init invocation to common code (Vitaly Kuznetsov) [1813987] - [virt] kvm: Introduce kvm_vcpu_destroy() (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: Invoke kvm_vcpu_uninit() immediately prior to freeing vcpu (Vitaly Kuznetsov) [1813987] - [s390] kvm: s390: Invoke kvm_vcpu_init() before allocating sie_page (Vitaly Kuznetsov) [1813987] - [s390] kvm: s390: Move guts of kvm_arch_vcpu_init() into kvm_arch_vcpu_create() (Vitaly Kuznetsov) [1813987] - [virt] kvm: Add kvm_arch_vcpu_precreate() to handle pre-allocation issues (Vitaly Kuznetsov) [1813987] - [kernel] kvm: Remove kvm_arch_vcpu_free() declaration (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: Drop kvm_arch_vcpu_free() (Vitaly Kuznetsov) [1813987] - [virt] kvm: arm: Drop kvm_arch_vcpu_free() (Vitaly Kuznetsov) [1813987] - [powerpc] kvm: ppc: Drop kvm_arch_vcpu_free() (Vitaly Kuznetsov) [1813987] - [powerpc] kvm: ppc: Move kvm_vcpu_init() invocation to common code (Vitaly Kuznetsov) [1813987] - [powerpc] kvm: ppc: e500mc: Move reset of oldpir below call to kvm_vcpu_init() (Vitaly Kuznetsov) [1813987] - [powerpc] kvm: ppc: book3s pr: Allocate book3s and shadow vcpu after common init (Vitaly Kuznetsov) [1813987] - [powerpc] kvm: ppc: Allocate vcpu struct in common PPC code (Vitaly Kuznetsov) [1813987] - [powerpc] kvm: ppc: e500mc: Add build-time assert that vcpu is at offset 0 (Vitaly Kuznetsov) [1813987] - [powerpc] kvm: ppc: book3s pr: Free shared page if mmu initialization fails (Vitaly Kuznetsov) [1813987] - [powerpc] kvm: ppc: book3s hv: Uninit vCPU if vcore creation fails (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: Remove spurious clearing of async #PF MSR (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: Remove spurious kvm_mmu_unload() from vcpu destruction path (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: Move kvm_vcpu_init() invocation to common code (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: Move allocation of pio_data page down a few lines (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: Move FPU allocation to common x86 code (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: Allocate vcpu struct in common x86 code (Vitaly Kuznetsov) [1813987] - [x86] kvm: svm: Use direct vcpu pointer during vCPU create/free (Vitaly Kuznetsov) [1813987] - [x86] kvm: vmx: Use direct vcpu pointer during vCPU create/free (Vitaly Kuznetsov) [1813987] - [x86] kvm: vmx: Allocate VPID after initializing VCPU (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: Free wbinvd_dirty_mask if vCPU creation fails (Vitaly Kuznetsov) [1813987] - [virt] kvm: async_pf: drop kvm_arch_async_page_present wrappers (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: fix overlap between SPTE_MMIO_MASK and generation (Vitaly Kuznetsov) [1813987] - [virt] kvm: Refactor handling of VM debugfs files (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86/mmu: Apply max PA check for MMIO sptes to 32-bit KVM (Vitaly Kuznetsov) [1813987] - [x86] kvm: nvmx: vmread should not set rflags to specify success in case of #PF (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86/mmu: Micro-optimize nEPT's bad memptype/XWR checks (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86/mmu: Reorder the reserved bit check in prefetch_invalid_gpte() (Vitaly Kuznetsov) [1813987] - [x86] kvm: vmx: delete meaningless nested_vmx_prepare_msr_bitmap() declaration (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: Refactor and rename bit() to feature_bit() macro (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: Expand build-time assertion on reverse CPUID usage (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: Add CPUID_7_1_EAX to the reverse CPUID table (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: Move bit() helper to cpuid.h (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: Add dedicated emulator helpers for querying CPUID features (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: Add macro to ensure reserved cr4 bits checks stay in sync (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: Drop special XSAVE handling from guest_cpuid_has() (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: Ensure all logical CPUs have consistent reserved cr4 bits (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: Don't let userspace set host-reserved cr4 bits (Vitaly Kuznetsov) [1813987] - [x86] kvm: vmx: Add helper to consolidate up PT/RTIT WRMSR fault logic (Vitaly Kuznetsov) [1813987] - [x86] kvm: vmx: Add non-canonical check on writes to RTIT address MSRs (Vitaly Kuznetsov) [1813987] - [virt] kvm: Fix some writing mistakes (Vitaly Kuznetsov) [1813987] - [x86] kvm: hyperv: Fix some typos in vcpu unimpl info (Vitaly Kuznetsov) [1813987] - [virt] kvm: Fix some grammar mistakes (Vitaly Kuznetsov) [1813987] - [x86] kvm: Fix some comment typos and missing parentheses (Vitaly Kuznetsov) [1813987] - [x86] kvm: Fix some out-dated function names in comment (Vitaly Kuznetsov) [1813987] - [virt] kvm: Fix some wrong function names in comment (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: check kvm_pit outside kvm_vm_ioctl_reinject() (Vitaly Kuznetsov) [1813987] - [x86] kvm: lapic: micro-optimize fixed mode ipi delivery (Vitaly Kuznetsov) [1813987] - [x86] kvm: vmx: FIXED+PHYSICAL mode single target IPI fastpath (Vitaly Kuznetsov) [1813987] - [x86] kvm: vmx: Allow KVM_INTEL when building for Centaur and/or Zhaoxin CPUs (Vitaly Kuznetsov) [1813987] - [x86] kvm: vmx: Check for full VMX support when verifying CPU compatibility (Vitaly Kuznetsov) [1813987] - [x86] kvm: vmx: Use VMX feature flag to query BIOS enabling (Vitaly Kuznetsov) [1813987] - [x86] kvm: vmx: Drop initialization of IA32_FEAT_CTL MSR (Vitaly Kuznetsov) [1813987] - [x86] cpufeatures: Add flag to track whether MSR IA32_FEAT_CTL is configured (Vitaly Kuznetsov) [1813987] - [x86] cpu: Set synthetic VMX cpufeatures during init_ia32_feat_ctl() (Vitaly Kuznetsov) [1813987] - [x86] cpufeatures: Add EPT_AD feature bit (Vitaly Kuznetsov) [1813987] - [x86] cpu: Detect VMX features on Intel, Centaur and Zhaoxin CPUs (Vitaly Kuznetsov) [1813987] - [x86] vmx: Introduce VMX_FEATURES_* (Vitaly Kuznetsov) [1813987] - [x86] cpu: Clear VMX feature flag if VMX is not fully enabled (Vitaly Kuznetsov) [1813987] - [x86] centaur: Use common IA32_FEAT_CTL MSR initialization (Vitaly Kuznetsov) [1813987] - [x86] mce: WARN once if IA32_FEAT_CTL MSR is left unlocked (Vitaly Kuznetsov) [1813987] - [x86] intel: Initialize IA32_FEAT_CTL MSR at boot (Vitaly Kuznetsov) [1813987] - [tools] x86: Sync msr-index.h from kernel sources (Vitaly Kuznetsov) [1813987] - [tools] selftests, kvm: Replace manual MSR defs with common msr-index.h (Vitaly Kuznetsov) [1813987] - [x86] msr-index: Clean up bit defines for IA32_FEATURE_CONTROL MSR (Vitaly Kuznetsov) [1813987] - [tools] tools arch x86: Grab a copy of the file containing the MSR numbers (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86/mmu: WARN if root_hpa is invalid when handling a page fault (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86/mmu: WARN on an invalid root_hpa (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86/mmu: Move root_hpa validity checks to top of page fault handler (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86/mmu: Move calls to thp_adjust() down a level (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86/mmu: Move transparent_hugepage_adjust() above __direct_map() (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86/mmu: Consolidate tdp_page_fault() and nonpaging_page_fault() (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86/mmu: Rename lpage_disallowed to account_disallowed_nx_lpage (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86/mmu: Persist gfn_lpage_is_disallowed() to max_level (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86/mmu: Incorporate guest's page level into max level for shadow MMU (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86/mmu: Refactor handling of forced 4k pages in page faults (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86/mmu: Refactor the per-slot level calculation in mapping_level() (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86/mmu: Refactor handling of cache consistency with TDP (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86/mmu: Move nonpaging_page_fault() below try_async_pf() (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86/mmu: Fold nonpaging_map() into nonpaging_page_fault() (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86/mmu: Move definition of make_mmu_pages_available() up (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: Use gpa_t for cr2/gpa to fix TDP support on 32-bit KVM (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: Add a WARN on TIF_NEED_FPU_LOAD in kvm_load_guest_fpu() (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: Fix potential put_fpu() w/o load_fpu() on MPX platform (Vitaly Kuznetsov) [1813987] - [kernel] kvm: Remove duplicated declaration of kvm_vcpu_kick (Vitaly Kuznetsov) [1813987] - [x86] kvm: nvmx: Aesthetic cleanup of handle_vmread and handle_vmwrite (Vitaly Kuznetsov) [1813987] - [x86] kvm: nvmx: VMWRITE checks unsupported field before read-only field (Vitaly Kuznetsov) [1813987] - [x86] kvm: nvmx: VMWRITE checks VMCS-link pointer before VMCS field (Vitaly Kuznetsov) [1813987] - [x86] kvm: vmx: Fix the spelling of CPU_BASED_USE_TSC_OFFSETTING (Vitaly Kuznetsov) [1813987] - [x86] kvm: vmx: Rename NMI_PENDING to NMI_WINDOW (Vitaly Kuznetsov) [1813987] - [x86] kvm: vmx: Rename INTERRUPT_PENDING to INTERRUPT_WINDOW (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: Fix some comment typos (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: Convert the last users of "shorthand = 0" to use macros (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: Fix callers of kvm_apic_match_dest() to use correct macros (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: Drop KVM_APIC_SHORT_MASK and KVM_APIC_DEST_MASK (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: Use APIC_DEST_* macros properly in kvm_lapic_irq.dest_mode (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: Move irrelevant declarations out of ioapic.h (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: Fix kvm_bitmap_or_dest_vcpus() to use irq shorthand (Vitaly Kuznetsov) [1813987] - [x86] kvm: explicitly set rmap_head->val to 0 in pte_list_desc_remove_entry() (Vitaly Kuznetsov) [1813987] - [virt] kvm: get rid of var page in kvm_set_pfn_dirty() (Vitaly Kuznetsov) [1813987] - [x86] kvm: vmx: remove unreachable statement in vmx_get_msr_feature() (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: use CPUID to locate host page table reserved bits (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: Host feature SSBD doesn't imply guest feature AMD_SSBD (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: Host feature SSBD doesn't imply guest feature SPEC_CTRL_SSBD (Vitaly Kuznetsov) [1813987] - [x86] kvm: vmx: Stop wasting a page for guest_msrs (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: fix out-of-bounds write in KVM_GET_EMULATED_CPUID (CVE-2019-19332) (Vitaly Kuznetsov) [1813987] - [documentation] documentation: kvm: Fix mention to number of ioctls classes (Vitaly Kuznetsov) [1813987] - [x86] kvm x86: Move kvm cpuid support out of svm (Vitaly Kuznetsov) [1813987] - [x86] kvm: nvmx: Relax guest IA32_FEATURE_CONTROL constraints (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: Grab KVM's srcu lock when setting nested state (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: Open code shared_msr_update() in its only caller (Vitaly Kuznetsov) [1813987] - [virt] kvm: Fix jump label out_free_* in kvm_init() (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: create mmu/ subdirectory (Vitaly Kuznetsov) [1813987] - [x86] kvm: nvmx: Remove unnecessary TLB flushes on L1<->L2 switches when L1 use apic-access-page (Vitaly Kuznetsov) [1813987] - [x86] kvm: nvmx: Do not mark vmcs02->apic_access_page as dirty when unpinning (Vitaly Kuznetsov) [1813987] - [x86] kvm: nvmx: Assume TLB entries of L1 and L2 are tagged differently if L0 use EPT (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: Unexport kvm_vcpu_reload_apic_access_page() (Vitaly Kuznetsov) [1813987] - [x86] kvm: nvmx: add CR4_LA57 bit to nested CR4_FIXED1 (Vitaly Kuznetsov) [1813987] - [x86] kvm: nvmx: Use semi-colon instead of comma for exit-handlers initialization (Vitaly Kuznetsov) [1813987] - [x86] kvm: nvmx: Add support for capturing highest observable L2 TSC (Vitaly Kuznetsov) [1813987] - [x86] tss: Fix and move VMX BUILD_BUG_ON() (Vitaly Kuznetsov) [1813987] - [x86] kvm: vmx: Rename function find_msr() to vmx_find_msr_index() (Vitaly Kuznetsov) [1813987] - [x86] kvm: vmx: Rename NR_AUTOLOAD_MSRS to NR_LOADSTORE_MSRS (Vitaly Kuznetsov) [1813987] - [x86] kvm: nested: Introduce read_and_check_msr_entry() (Vitaly Kuznetsov) [1813987] - [x86] kvm: nvmx: Expose load IA32_PERF_GLOBAL_CTRL VM-{Entry, Exit} control (Vitaly Kuznetsov) [1813987] - [x86] kvm: nvmx: Load GUEST_IA32_PERF_GLOBAL_CTRL MSR on VM-Entry (Vitaly Kuznetsov) [1813987] - [x86] kvm: nvmx: mark functions in the header as "static inline" (Vitaly Kuznetsov) [1813987] - [x86] kvm: nvmx: Use kvm_set_msr to load IA32_PERF_GLOBAL_CTRL on VM-Exit (Vitaly Kuznetsov) [1813987] - [x86] kvm: nvmx: Check HOST_IA32_PERF_GLOBAL_CTRL on VM-Entry (Vitaly Kuznetsov) [1813987] - [x86] kvm: nvmx: Check GUEST_IA32_PERF_GLOBAL_CTRL on VM-Entry (Vitaly Kuznetsov) [1813987] - [x86] kvm: vmx: Add helper to check reserved bits in IA32_PERF_GLOBAL_CTRL (Vitaly Kuznetsov) [1813987] - [tools] selftests: kvm: Simplify loop in kvm_create_max_vcpus test (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: optimization: Requst TLB flush in fast_cr3_switch() instead of do it directly (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86/vpmu: Add lazy mechanism to release perf_event per vPMC (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86/vpmu: Reuse perf_event to avoid unnecessary pmc_reprogram_counter (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86/vpmu: Introduce a new kvm_pmu_ops->msr_idx_to_pmc callback (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86/vpmu: Rename pmu_ops callbacks from msr_idx to rdpmc_ecx (Vitaly Kuznetsov) [1813987] - [kernel] perf/core: Provide a kernel-internal interface to pause perf_event (Vitaly Kuznetsov) [1813987] - [kernel] perf/core: Provide a kernel-internal interface to recalibrate event period (Vitaly Kuznetsov) [1813987] - [x86] kvm: nvmx: Update vmcs01 TPR_THRESHOLD if L2 changed L1 TPR (Vitaly Kuznetsov) [1813987] - [x86] kvm: vmx: Refactor update_cr8_intercept() (Vitaly Kuznetsov) [1813987] - [x86] kvm: svm: Remove check if APICv enabled in SVM update_cr8_intercept() handler (Vitaly Kuznetsov) [1813987] - [x86] kvm: apic: add helper func to remove duplicate code in kvm_pv_send_ipi (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: avoid unused setup_syscalls_segments call when SYSCALL check failed (Vitaly Kuznetsov) [1813987] - [virt] kvm: mmio: get rid of odd out_err label in kvm_coalesced_mmio_init (Vitaly Kuznetsov) [1813987] - [x86] kvm: vmx: Consume pending LAPIC INIT event when exit on INIT_SIGNAL (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: Prevent set vCPU into INIT/SIPI_RECEIVED state when INIT are latched (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: Evaluate latched_init in KVM_SET_VCPU_EVENTS when vCPU not in SMM (Vitaly Kuznetsov) [1813987] - [x86] kvm: retpolines: x86: eliminate retpoline from svm.c exit handlers (Vitaly Kuznetsov) [1813987] - [x86] kvm: retpolines: x86: eliminate retpoline from vmx.c exit handlers (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: optimize more exit handlers in vmx.c (Vitaly Kuznetsov) [1813987] - [virt] kvm: Add a comment describing the /dev/kvm no_compat handling (Vitaly Kuznetsov) [1813987] - [virt] kvm: Forbid /dev/kvm being opened by a compat task when CONFIG_KVM_COMPAT=n (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: Reset the three MSR list number variables to 0 in kvm_init_msr_list() (Vitaly Kuznetsov) [1813987] - [tools] selftests: kvm: fix build with glibc >= 2.30 (Vitaly Kuznetsov) [1813987] - [virt] kvm: mmu: Do not treat ZONE_DEVICE pages as being reserved (Vitaly Kuznetsov) [1813987] - [x86] kvm: vmx: Introduce pi_is_pir_empty() helper (Vitaly Kuznetsov) [1813987] - [x86] kvm: vmx: Do not change PID.NDST when loading a blocked vCPU (Vitaly Kuznetsov) [1813987] - [x86] kvm: vmx: Consider PID.PIR to determine if vCPU has pending interrupts (Vitaly Kuznetsov) [1813987] - [x86] kvm: vmx: Fix comment to specify PID.ON instead of PIR.ON (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: Fix initialization of MSR lists (Vitaly Kuznetsov) [1813987] - [virt] kvm: fix placement of refcount initialization (Vitaly Kuznetsov) [1813987] - [virt] kvm: Fix NULL-ptr deref after kvm_create_vm fails (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: get rid of odd out jump label in pdptrs_changed (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: switch KVMCLOCK base to monotonic raw clock (Vitaly Kuznetsov) [1813987] - [virt] kvm: call kvm_arch_destroy_vm if vm creation fails (Vitaly Kuznetsov) [1813987] - [x86] kvm/pmu: Replace rcu_swap_protected() with rcu_replace_pointer() (Vitaly Kuznetsov) [1813987] - [kernel] rcu: Upgrade rcu_swap_protected() to rcu_replace_pointer() (Vitaly Kuznetsov) [1813987] - [x86] kvm: Fix -Wmissing-prototypes warnings (Vitaly Kuznetsov) [1813987] - [virt] kvm: Allocate memslots and buses before calling kvm_arch_init_vm (Vitaly Kuznetsov) [1813987] - [x86] kvm: nvmx: Don't leak L1 MMIO regions to L2 (Vitaly Kuznetsov) [1813987] - [x86] kvm: svm: Fix potential wrong physical id in avic_handle_ldr_update (Vitaly Kuznetsov) [1813987] - [virt] kvm: Add separate helper for putting borrowed reference to kvm (Vitaly Kuznetsov) [1813987] - [tools] kvm: tests: Add test to verify MSR_IA32_XSS (Vitaly Kuznetsov) [1813987] - [x86] kvm: svm: Update svm_xsaves_supported (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: Move IA32_XSS to kvm_{get, set}_msr_common (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: Move IA32_XSS-swapping on VM-entry/VM-exit to common x86 code (Vitaly Kuznetsov) [1813987] - [x86] kvm: vmx: Use wrmsr for switching between guest and host IA32_XSS on Intel (Vitaly Kuznetsov) [1813987] - [x86] kvm: svm: Use wrmsr for switching between guest and host IA32_XSS on AMD (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: Remove unneeded kvm_vcpu variable, guest_xcr0_loaded (Vitaly Kuznetsov) [1813987] - [x86] kvm: vmx: Fix conditions for guest IA32_XSS support (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: Introduce vcpu->arch.xsaves_enabled (Vitaly Kuznetsov) [1813987] - [x86] kvm: vmx: Rename {vmx, nested_vmx}_vcpu_setup() (Vitaly Kuznetsov) [1813987] - [x86] kvm: vmx: Initialize vmx->guest_msrs[] right after allocation (Vitaly Kuznetsov) [1813987] - [x86] kvm: vmx: Remove vmx->hv_deadline_tsc initialization from vmx_vcpu_setup() (Vitaly Kuznetsov) [1813987] - [x86] kvm: vmx: Write VPID to vmcs when creating vcpu (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86/vpmu: Declare kvm_pmu->reprogram_pmi field using DECLARE_BITMAP (Vitaly Kuznetsov) [1813987] - [x86] kvm: remove redundant code in kvm_arch_vm_ioctl (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: Modify kvm_x86_ops.get_enable_apicv() to use struct kvm parameter (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: Fold decache_cr3() into cache_reg() (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: Add helpers to test/mark reg availability and dirtiness (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: Fold 'enum kvm_ex_reg' definitions into 'enum kvm_reg' (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: Add WARNs to detect out-of-bounds register indices (Vitaly Kuznetsov) [1813987] - [x86] kvm: vmx: Optimize vmx_set_rflags() for unrestricted guest (Vitaly Kuznetsov) [1813987] - [x86] kvm: vmx: Consolidate to_vmx() usage in RFLAGS accessors (Vitaly Kuznetsov) [1813987] - [x86] kvm: vmx: Skip GUEST_CR3 VMREAD+VMWRITE if the VMCS is up-to-date (Vitaly Kuznetsov) [1813987] - [x86] kvm: nvmx: Always write vmcs02.GUEST_CR3 during nested VM-Enter (Vitaly Kuznetsov) [1813987] - [x86] kvm: clear kvmclock MSR on reset (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: fix bugon.cocci warnings (Vitaly Kuznetsov) [1813987] - [x86] kvm: vmx: Remove specialized handling of unexpected exit-reasons (Vitaly Kuznetsov) [1813987] - [tools] selftests: kvm: fix sync_regs_test with newer gccs (Vitaly Kuznetsov) [1813987] - [virt] kvm: Don't shrink/grow vCPU halt_poll_ns if host side polling is disabled (Vitaly Kuznetsov) [1813987] - [tools] selftests: kvm: synchronize .gitignore to Makefile (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: Expose RDPID in KVM_GET_SUPPORTED_CPUID (Vitaly Kuznetsov) [1813987] - [virt] kvm: Allow kvm_device_ops to be const (Vitaly Kuznetsov) [1813987] - [kernel] kvm: Implement kvm_put_guest() (Vitaly Kuznetsov) [1813987] - [x86] xen: kvm: Gather the definition of emulate prefixes (Vitaly Kuznetsov) [1813987] - [tools] kvm: selftests: do not blindly clobber registers in guest asm (Vitaly Kuznetsov) [1813987]- [fs] cifs: handle prefix paths in reconnect (Leif Sahlberg) [1814203] - [fs] cifs: use compounding for open and first query-dir for readdir() (Leif Sahlberg) [1814203] - [fs] cifs: create a helper function to parse the query-directory response buffer (Leif Sahlberg) [1814203] - [fs] cifs: prepare SMB2_query_directory to be used with compounding (Leif Sahlberg) [1814203] - [fs] xfs: reflink should force the log out if mounted with wsync (Bill O'Donnell) [1825373] - [fs] xfs: factor out a new xfs_log_force_inode helper (Bill O'Donnell) [1825373] - [fs] xfs: don't ever return a stale pointer from __xfs_dir3_free_read (Bill O'Donnell) [1825373] - [fs] xfs: fix xfs_rmap_has_other_keys usage of ECANCELED (Bill O'Donnell) [1825373] - [fs] xfs: clear kernel only flags in XFS_IOC_ATTRMULTI_BY_HANDLE (Bill O'Donnell) [1825373] - [fs] xfs: use bitops interface for buf log item AIL flag check (Bill O'Donnell) [1825373] - [fs] xfs: Sanity check flags of Q_XQUOTARM call (Bill O'Donnell) [1825373] - [fs] iomap: iomap that extends beyond EOF should be marked dirty (Bill O'Donnell) [1825373] - [s390] s390/kasan: Fix crash when attaching PCI device (Philipp Rudo) [1827334] - [s390] s390/qeth: fix initialization on old HW (Philipp Rudo) [1780667] - [s390] s390/qeth: vnicc Fix init to default (Philipp Rudo) [1780667] - [s390] s390/qeth: Fix vnicc_is_in_use if rx_bcast not set (Philipp Rudo) [1780667] - [s390] s390/qeth: fix false reporting of VNIC CHAR config failure (Philipp Rudo) [1780667] - [s390] s390/qeth: lock the card while changing its hsuid (Philipp Rudo) [1780667] - [s390] s390/qeth: fix qdio teardown after early init error (Philipp Rudo) [1780667] - [s390] s390/qeth: don't return -ENOTSUPP to userspace (Philipp Rudo) [1780667] - [s390] s390/qeth: fix promiscuous mode after reset (Philipp Rudo) [1780667] - [s390] s390/qeth: handle error due to unsupported transport mode (Philipp Rudo) [1780667] - [s390] s390/qeth: return proper errno on IO error (Philipp Rudo) [1780667] - [s390] s390/qeth: don't check drvdata in sysfs code (Philipp Rudo) [1780667] - [s390] s390/qeth: replace qeth_l3_get_addr_buffer() (Philipp Rudo) [1780667] - [s390] s390/qeth: remove VLAN tracking for L3 devices (Philipp Rudo) [1780667] - [net] net: 8021q: vlan_core: allow use list of vlans for real device (Philipp Rudo) [1780667] - [s390] s390/qeth: consolidate L3 mcast registration code (Philipp Rudo) [1780667] - [s390] s390/qeth: remove gratuitious RX modeset (Philipp Rudo) [1780667] - [s390] s390/qeth: fine-tune L3 mcast locking (Philipp Rudo) [1780667] - [s390] s390/qeth: clean up error path in qeth_core_probe_device() (Philipp Rudo) [1780667] - [s390] s390/qeth: don't cache MAC addresses for multicast IPs (Philipp Rudo) [1780667] - [s390] s390/qeth: use helpers for IP address hashing (Philipp Rudo) [1780667] - [s390] s390/qeth: don't set card state in qeth_qdio_clear_card() (Philipp Rudo) [1780667] - [s390] s390/qeth: consolidate some duplicated HW cmd code (Philipp Rudo) [1780667] - [s390] s390/qeth: keep IRQ disabled until NAPI is really done (Philipp Rudo) [1780667] - [s390] s390/qeth: use QDIO_BUFNR() (Philipp Rudo) [1780667] - [s390] s390/qdio: move SSQD Sniffer mask definition (Philipp Rudo) [1780667] - [s390] s390/qdio: don't attempt IRQ avoidance on Output SBALs (Philipp Rudo) [1780667] - [s390] s390/qdio: simplify thinint device registration (Philipp Rudo) [1780667] - [s390] s390/qdio: add statistics helper macro (Philipp Rudo) [1780667] - [s390] s390/qdio: remove a forward declaration (Philipp Rudo) [1780667] - [s390] s390/qdio: reduce log level for EQBS partial (Philipp Rudo) [1780667] - [s390] s390/qdio: use QDIO_BUFNR() (Philipp Rudo) [1780667] - [s390] s390/qeth: Fix initialization of vnicc cmd masks during set online (Philipp Rudo) [1780667] - [s390] s390/qeth: Fix error handling during VNICC initialization (Philipp Rudo) [1780667] - [s390] s390/qdio: clarify size of the QIB parm area (Philipp Rudo) [1780667] - [s390] s390/qeth: get vnicc sub-cmd type from reply data (Philipp Rudo) [1780667] - [s390] s390/qeth: merge qeth_reply struct into qeth_cmd_buffer (Philipp Rudo) [1780667] - [s390] s390/qeth: keep cmd alive after IO completion (Philipp Rudo) [1780667] - [s390] s390/qeth: use correct length field in SNMP cmd callback (Philipp Rudo) [1780667] - [s390] s390/qeth: propagate length of processed cmd IO data to callback (Philipp Rudo) [1780667] - [s390] s390/qeth: use node_descriptor struct (Philipp Rudo) [1780667] - [s390] s390/cio: move struct node_descriptor to cio.h (Philipp Rudo) [1780667] - [s390] scsi: zfcp: log FC Endpoint Security errors (Philipp Rudo) [1723820] - [s390] scsi: zfcp: enhance handling of FC Endpoint Security errors (Philipp Rudo) [1723820] - [lib] lib/zlib: add zlib_deflate_dfltcc_enabled() function (Philipp Rudo) [1659435] - [lib] s390/boot: add dfltcc= kernel command line parameter (Philipp Rudo) [1659435] - [lib] lib/zlib: add s390 hardware support for kernel zlib_inflate (Philipp Rudo) [1659435] - [s390] s390/boot: rename HEAP_SIZE due to name collision (Philipp Rudo) [1659435] - [lib] lib/zlib: add s390 hardware support for kernel zlib_deflate (Philipp Rudo) [1659435] - [base] mm/memory_hotplug: allow to specify a default online_type (David Hildenbrand) [1038941] - [base] mm/memory_hotplug: convert memhp_auto_online to store an online_type (David Hildenbrand) [1038941] - [mm] mm/memory_hotplug: unexport memhp_auto_online (David Hildenbrand) [1038941] - [hv] hv_balloon: don't check for memhp_auto_online manually (David Hildenbrand) [1038941] - [powerpc] powernv/memtrace: always online added memory blocks (David Hildenbrand) [1038941] - [base] drivers/base/memory: store mapping between MMOP_* and string in an array (David Hildenbrand) [1038941] - [base] drivers/base/memory: map MMOP_OFFLINE to 0 (David Hildenbrand) [1038941] - [base] drivers/base/memory: rename MMOP_ONLINE_KEEP to MMOP_ONLINE (David Hildenbrand) [1038941] - [netdrv] cxgb4: fix adapter crash due to wrong MC size (Vishal Kulkarni) [1813128] - [scsi] scsi: ibmvfc: Don't send implicit logouts prior to NPIV login (Steve Best) [1828725] - [fs] cifs: ignore cached share root handle closing errors (Leif Sahlberg) [1827485] - [fs] cifs: Optimize readdir on reparse points (Leif Sahlberg) [1827485] - [fs] cifs: Adjust indentation in smb2_open_file (Leif Sahlberg) [1827485] - [fs] CIFS: Close cached root handle only if it has a lease (Leif Sahlberg) [1827485] - [fs] SMB3: Fix crash in SMB2_open_init due to uninitialized field in compounding path (Leif Sahlberg) [1827485] - [fs] smb3: fix refcount underflow warning on unmount when no directory leases (Leif Sahlberg) [1827485] - [fs] fs: cifs: Delete usage of timespec64_trunc (Leif Sahlberg) [1827485] - [fs] smb3: improve check for when we send the security descriptor context on create (Leif Sahlberg) [1827485] - [fs] smb3: fix mode passed in on create for modetosid mount option (Leif Sahlberg) [1827485] - [fs] cifs: fix possible uninitialized access and race on iface_list (Leif Sahlberg) [1827485] - [fs] cifs: Fix lookup of SMB connections on multichannel (Leif Sahlberg) [1827485] - [fs] smb3: query attributes on file close (Leif Sahlberg) [1827485] - [fs] smb3: remove unused flag passed into close functions (Leif Sahlberg) [1827485] - [fs] cifs: remove redundant assignment to pointer pneg_ctxt (Leif Sahlberg) [1827485] - [fs] fs: cifs: Fix atime update check vs mtime (Leif Sahlberg) [1827485] - [fs] CIFS: fix a white space issue in cifs_get_inode_info() (Leif Sahlberg) [1827485] - [fs] cifs: update internal module version number (Leif Sahlberg) [1827485] - [fs] cifs: Always update signing key of first channel (Leif Sahlberg) [1827485] - [fs] cifs: Fix retrieval of DFS referrals in cifs_mount() (Leif Sahlberg) [1827485] - [fs] cifs: Fix potential softlockups while refreshing DFS cache (Leif Sahlberg) [1827485] - [fs] cifs: Fix lookup of root ses in DFS referral cache (Leif Sahlberg) [1827485] - [fs] cifs: Fix use-after-free bug in cifs_reconnect() (Leif Sahlberg) [1827485] - [fs] cifs: dump channel info in DebugData (Leif Sahlberg) [1827485] - [fs] smb3: dump in_send and num_waiters stats counters by default (Leif Sahlberg) [1827485] - [fs] cifs: try harder to open new channels (Leif Sahlberg) [1827485] - [fs] CIFS: Properly process SMB3 lease breaks (Leif Sahlberg) [1827485] - [fs] cifs: move cifsFileInfo_put logic into a work-queue (Leif Sahlberg) [1827485] - [fs] cifs: try opening channels after mounting (Leif Sahlberg) [1827485] - [fs] CIFS: refactor cifs_get_inode_info() (Leif Sahlberg) [1827485] - [fs] cifs: switch servers depending on binding state (Leif Sahlberg) [1827485] - [fs] cifs: add server param (Leif Sahlberg) [1827485] - [fs] cifs: add multichannel mount options and data structs (Leif Sahlberg) [1827485] - [fs] cifs: sort interface list by speed (Leif Sahlberg) [1827485] - [fs] CIFS: Fix SMB2 oplock break processing (Leif Sahlberg) [1827485] - [fs] cifs: smbd: Return -EAGAIN when transport is reconnecting (Leif Sahlberg) [1827485] - [fs] cifs: smbd: Only queue work for error recovery on memory registration (Leif Sahlberg) [1827485] - [fs] smb3: add debug messages for closing unmatched open (Leif Sahlberg) [1827485] - [fs] CIFS: Respect O_SYNC and O_DIRECT flags during reconnect (Leif Sahlberg) [1827485] - [fs] smb3: remove confusing dmesg when mounting with encryption ("seal") (Leif Sahlberg) [1827485] - [fs] cifs: close the shared root handle on tree disconnect (Leif Sahlberg) [1827485] - [fs] CIFS: Return directly after a failed build_path_from_dentry() in cifs_do_create() (Leif Sahlberg) [1827485] - [fs] CIFS: Use common error handling code in smb2_ioctl_query_info() (Leif Sahlberg) [1827485] - [fs] CIFS: Use memdup_user() rather than duplicating its implementation (Leif Sahlberg) [1827485] - [fs] cifs: smbd: Return -ECONNABORTED when trasnport is not in connected state (Leif Sahlberg) [1827485] - [fs] cifs: smbd: Add messages on RDMA session destroy and reconnection (Leif Sahlberg) [1827485] - [fs] cifs: smbd: Return -EINVAL when the number of iovs exceeds SMBDIRECT_MAX_SGE (Leif Sahlberg) [1827485] - [fs] cifs: smbd: Invalidate and deregister memory registration on re-send for direct I/O (Leif Sahlberg) [1827485] - [fs] cifs: Don't display RDMA transport on reconnect (Leif Sahlberg) [1827485] - [fs] CIFS: remove set but not used variables 'cinode' and 'netfid' (Leif Sahlberg) [1827485] - [fs] cifs: add support for flock (Leif Sahlberg) [1827485] - [fs] cifs: remove unused variable 'sid_user' (Leif Sahlberg) [1827485] - [fs] cifs: rename a variable in SendReceive() (Leif Sahlberg) [1827485] - [fs] SMB3: Fix persistent handles reconnect (Leif Sahlberg) [1827485] - [fs] fix memory leak in large read decrypt offload (Leif Sahlberg) [1827485] - [fs] cifs: Fix missed free operations (Leif Sahlberg) [1827485] - [fs] cifs: clarify comment about timestamp granularity for old servers (Leif Sahlberg) [1827485] - [fs] cifs: Handle -EINPROGRESS only when noblockcnt is set (Leif Sahlberg) [1827485] - [fs] smb3: remove noisy debug message and minor cleanup (Leif Sahlberg) [1827485] - [fs] fs: cifs: mute -Wunused-const-variable message (Leif Sahlberg) [1827485] - [fs] smb3: cleanup some recent endian errors spotted by updated sparse (Leif Sahlberg) [1827485] - [fs] CIFS: Fix oplock handling for SMB 2.1+ protocols (Leif Sahlberg) [1827485] - [fs] smb3: missing ACL related flags (Leif Sahlberg) [1827485] - [fs] smb3: pass mode bits into create calls (Leif Sahlberg) [1827485] - [fs] smb3: Add missing reparse tags (Leif Sahlberg) [1827485] - [fs] CIFS: fix max ea value size (Leif Sahlberg) [1827485] - [fs] fs/cifs/sess.c: Remove set but not used variable 'capabilities' (Leif Sahlberg) [1827485] - [fs] fs/cifs/smb2pdu.c: Make SMB2_notify_init static (Leif Sahlberg) [1827485] - [fs] smb3: fix leak in "open on server" perf counter (Leif Sahlberg) [1827485] - [fs] smb3: allow decryption keys to be dumped by admin for debugging (Leif Sahlberg) [1827485] - [fs] cifs: update internal module version number (Leif Sahlberg) [1827485] - [fs] cifs: modefromsid: write mode ACE first (Leif Sahlberg) [1827485] - [fs] cifs: cifsroot: add more err checking (Leif Sahlberg) [1827485] - [fs] smb3: add missing worker function for SMB3 change notify (Leif Sahlberg) [1827485] - [fs] cifs: Add support for root file systems (Leif Sahlberg) [1827485] - [fs] cifs: modefromsid: make room for 4 ACE (Leif Sahlberg) [1827485] - [fs] smb3: fix potential null dereference in decrypt offload (Leif Sahlberg) [1827485] - [fs] smb3: allow disabling requesting leases (Leif Sahlberg) [1827485] - [fs] smb3: improve handling of share deleted (and share recreated) (Leif Sahlberg) [1827485] - [fs] smb3: display max smb3 requests in flight at any one time (Leif Sahlberg) [1827485] - [fs] smb3: only offload decryption of read responses if multiple requests (Leif Sahlberg) [1827485] - [fs] cifs: add a helper to find an existing readable handle to a file (Leif Sahlberg) [1827485] - [fs] smb3: enable offload of decryption of large reads via mount option (Leif Sahlberg) [1827485] - [fs] smb3: allow parallelizing decryption of reads (Leif Sahlberg) [1827485] - [fs] smb3: allow skipping signature verification for perf sensitive configurations (Leif Sahlberg) [1827485] - [fs] smb3: add dynamic tracepoints for flush and close (Leif Sahlberg) [1827485] - [fs] smb3: log warning if CSC policy conflicts with cache mount option (Leif Sahlberg) [1827485] - [fs] smb3: add mount option to allow RW caching of share accessed by only 1 client (Leif Sahlberg) [1827485] - [fs] smb3: add some more descriptive messages about share when mounting cache=ro (Leif Sahlberg) [1827485] - [fs] smb3: add mount option to allow forced caching of read only share (Leif Sahlberg) [1827485] - [fs] cifs: fix dereference on ses before it is null checked (Leif Sahlberg) [1827485] - [fs] cifs: use existing handle for compound_op(OP_SET_INFO) when possible (Leif Sahlberg) [1827485] - [fs] cifs: create a helper to find a writeable handle by path name (Leif Sahlberg) [1827485] - [fs] cifs: remove set but not used variables (Leif Sahlberg) [1827485] - [fs] smb3: Incorrect size for netname negotiate context (Leif Sahlberg) [1827485] - [fs] cifs: remove unused variable (Leif Sahlberg) [1827485] - [fs] cifs: remove redundant assignment to variable rc (Leif Sahlberg) [1827485] - [fs] smb3: add missing flag definitions (Leif Sahlberg) [1827485] - [fs] cifs: add passthrough for smb2 setinfo (Leif Sahlberg) [1827485] - [fs] cifs: prepare SMB2_Flush to be usable in compounds (Leif Sahlberg) [1827485] - [fs] cifs: allow chmod to set mode bits using special sid (Leif Sahlberg) [1827485] - [fs] cifs: get mode bits from special sid on stat (Leif Sahlberg) [1827485] - [fs] fs: cifs: cifsssmb: remove redundant assignment to variable ret (Leif Sahlberg) [1827485] - [fs] cifs: fix a comment for the timeouts when sending echos (Leif Sahlberg) [1827485] - [fs] fs: cifs: switch to RC4 library interface (Leif Sahlberg) [1827485] - [fs] smb3: smbdirect no longer experimental (Leif Sahlberg) [1827485] - [fs] cifs: copy_file_range needs to strip setuid bits and update timestamps (Leif Sahlberg) [1827485] - [tools] perf vendor events s390: Add new deflate counters for IBM z15 (Philipp Rudo) [1827333] - [s390] s390/cpum_cf: Add new extended counters for IBM z15 (Philipp Rudo) [1827333] - [s390] s390/zcrypt: use kvmalloc instead of kmalloc for 256k alloc (Philipp Rudo) [1827310] - [s390] s390/pkey/zcrypt: Support EP11 AES secure keys (Philipp Rudo) [1723826] - [s390] s390/zcrypt: extend EP11 card and queue sysfs attributes (Philipp Rudo) [1723826] - [s390] s390/zcrypt: add new low level ep11 functions support file (Philipp Rudo) [1723826] - [s390] s390/zcrypt: ep11 structs rework, export zcrypt_send_ep11_cprb (Philipp Rudo) [1723826] - [s390] s390/zcrypt: enable card/domain autoselect on ep11 cprbs (Philipp Rudo) [1723826] - [crypto] crypto/testmgr: enable selftests for paes-s390 ciphers (Philipp Rudo) [1780668] - [s390] s390/pkey: Add support for key blob with clear key value (Philipp Rudo) [1780668] - [s390] s390/crypto: enable clear key values for paes ciphers (Philipp Rudo) [1780668] - [s390] s390/crypto: Rework on paes implementation (Philipp Rudo) [1780668] - [s390] scsi: zfcp: trace FC Endpoint Security of FCP devices and connections (Philipp Rudo) [1723822] - [s390] scsi: zfcp: log FC Endpoint Security of connections (Philipp Rudo) [1723822] - [s390] scsi: zfcp: report FC Endpoint Security in sysfs (Philipp Rudo) [1723822] - [s390] scsi: zfcp: auto variables for dereferenced structs in open port handler (Philipp Rudo) [1723822] - [block] blk-iocost: Fix error on iocost_ioc_vrate_adj (Waiman Long) [1828563] - [s390] s390/ipl: add support to control memory clearing for FCP and CCW re-IPL (Philipp Rudo) [1812985] - [s390] s390: support KPROBES_ON_FTRACE (Philipp Rudo) [1810526] - [s390] s390/ftrace: generate traced function stack frame (Philipp Rudo) [1810526] - [s390] s390/ftrace: save traced function caller (Philipp Rudo) [1810526] - [misc] mei: me: fix irq number stored in hw struct (Tony Camuso) [1822645] - [misc] mei: me: add cedar fork device ids (Tony Camuso) [1822645] - [misc] mei: fix CNL itouch device number to match the spec (Tony Camuso) [1822645] - [misc] misc: Replace zero-length array with flexible-array member (Tony Camuso) [1822645] - [misc] mei: remove unused includes from pci-{me, txe}.c (Tony Camuso) [1822645] - [misc] mei: limit number of bytes in mei header (Tony Camuso) [1822645] - [misc] mei: bus: replace zero-length array with flexible-array member (Tony Camuso) [1822645] - [misc] mei: me: add jasper point DID (Tony Camuso) [1822645] - [misc] mei: hdcp: bind only with i915 on the same PCH (Tony Camuso) [1822645] - [misc] mei: bus: use simple sprintf for sysfs (Tony Camuso) [1822645] - [misc] mei: bus: add more client attributes to sysfs (Tony Camuso) [1822645] - [misc] mei: add trc detection register to sysfs (Tony Camuso) [1822645] - [misc] mei: abstract fw status register read (Tony Camuso) [1822645] - [misc] mei: me: store irq number in the hw struct (Tony Camuso) [1822645] - [misc] mei: me: mei_me_dev_init() use struct device instead of struct pci_dev (Tony Camuso) [1822645] - [misc] mei: me: add comet point V device id (Tony Camuso) [1822645] - [misc] mei: bus: prefix device names on bus with the bus name (Tony Camuso) [1822645] - [misc] mei: me: fix me_intr_clear function name in KDoc (Tony Camuso) [1822645] - [misc] mei: buf: drop 'running hook' debug messages (Tony Camuso) [1822645] - [misc] mei: avoid FW version request on Ibex Peak and earlier (Tony Camuso) [1822645] - [misc] misc/mei/hdcp: Fill transcoder index in port info (Tony Camuso) [1822645] - [misc] drm/i915: mei_hdcp: I915 sends ddi index as per ME FW (Tony Camuso) [1822645] - [drm] drm/i915: Attach content type property (Tony Camuso) [1822645] - [drm] drm: Add Content protection type property (Tony Camuso) [1822645] - [misc] mei: me: add Tiger Lake point LP device ID (Tony Camuso) [1822645] - [misc] mei: Use dev_get_drvdata where possible (Tony Camuso) [1822645] - [misc] mei: me: add mule creek canyon (EHL) device ids (Tony Camuso) [1822645] - [misc] mei: no need to check return value of debugfs_create functions (Tony Camuso) [1822645] - [documentation] mei: docs: add hdcp documentation (Tony Camuso) [1822645] - [documentation] mei: docs: add a short description for nfc behind mei (Tony Camuso) [1822645] - [documentation] mei: docs: update mei client bus documentation (Tony Camuso) [1822645] - [documentation] mei: docs: move iamt docs to a iamt.rst file (Tony Camuso) [1822645] - [documentation] mei: docs: move documentation under driver-api (Tony Camuso) [1822645] - [misc] mei: Convert to use DEFINE_SHOW_ATTRIBUTE macro (Tony Camuso) [1822645] - [drm] drm: generic fn converting be24 to cpu and vice versa (Tony Camuso) [1822645] - [misc] mei: expose device state in sysfs (Tony Camuso) [1822645] - [misc] mei: hdcp: use own Kconfig file (Tony Camuso) [1822645] - [misc] mei: adjust the copyright notice in the files (Tony Camuso) [1822645] - [misc] mei/hdcp: Fix SPDX identifiers (Tony Camuso) [1822645] - [misc] mei: convert to SPDX license tags (Tony Camuso) [1822645] - [misc] mei: add missing SPDX tag to mei Kconfig (Tony Camuso) [1822645] - [misc] mei: bus: move hw module get/put to probe/release (Tony Camuso) [1822645] - [misc] misc/mei/hdcp: Component framework for I915 Interface (Tony Camuso) [1822645] - [misc] misc/mei/hdcp: Closing wired HDCP2.2 Tx Session (Tony Camuso) [1822645] - [misc] misc/mei/hdcp: Enabling the HDCP authentication (Tony Camuso) [1822645] - [misc] misc/mei/hdcp: Verify M_prime (Tony Camuso) [1822645] - [misc] misc/mei/hdcp: Repeater topology verification and ack (Tony Camuso) [1822645] - [misc] misc/mei/hdcp: Prepare Session Key (Tony Camuso) [1822645] - [misc] misc/mei/hdcp: Verify L_prime (Tony Camuso) [1822645] - [misc] misc/mei/hdcp: Initiate Locality check (Tony Camuso) [1822645] - [misc] misc/mei/hdcp: Store the HDCP Pairing info (Tony Camuso) [1822645] - [misc] misc/mei/hdcp: Verify H_prime (Tony Camuso) [1822645] - [misc] misc/mei/hdcp: Verify Receiver Cert and prepare km (Tony Camuso) [1822645] - [misc] misc/mei/hdcp: Initiate Wired HDCP2.2 Tx Session (Tony Camuso) [1822645] - [misc] misc/mei/hdcp: Define ME FW interface for HDCP2.2 (Tony Camuso) [1822645] - [misc] misc/mei/hdcp: Client driver for HDCP application (Tony Camuso) [1822645] - [misc] mei: bus: whitelist hdcp client (Tony Camuso) [1822645] - [misc] mei: hbm: clean the feature flags on link reset (Tony Camuso) [1822645] - [misc] mei: bus: export to_mei_cl_device for mei client devices drivers (Tony Camuso) [1822645] - [misc] mei: free read cb on ctrl_wr list flush (Tony Camuso) [1822645] - [misc] mei: me: add ice lake point device id (Tony Camuso) [1822645] - [misc] mei: squash single_recv_buf into one bit in client properties (Tony Camuso) [1822645] - [misc] mei: me: add denverton innovation engine device IDs (Tony Camuso) [1822645] - [misc] mei: me: mark LBG devices as having dma support (Tony Camuso) [1822645] - [misc] mei: dma: silent the reject message (Tony Camuso) [1822645] - [misc] mei: me: mark CNP devices as having dma support (Tony Camuso) [1822645] - [misc] mei: bump hbm version to 2.1 (Tony Camuso) [1822645] - [misc] mei: dma ring: implement transmit flow (Tony Camuso) [1822645] - [misc] mei: dma ring: implement rx circular buffer logic (Tony Camuso) [1822645] - [misc] mei: hw: add dma ring control block (Tony Camuso) [1822645] - [misc] mei: hbm: setup dma ring (Tony Camuso) [1822645] - [misc] mei: dma ring buffers allocation (Tony Camuso) [1822645] - [misc] mei: expedite ioctl return on the notify set operation error (Tony Camuso) [1822645] - [misc] mei: flush queues by the host client only (Tony Camuso) [1822645] - [misc] mei: hbm: drop BUG() from the hbm handler (Tony Camuso) [1822645] - [misc] mei: replace POLL* with EPOLL* for write queues (Tony Camuso) [1822645] - [misc] misc: remove redundant include moduleparam.h (Tony Camuso) [1822645] - [misc] mei: bus: need to unlink client before freeing (Tony Camuso) [1822645] - [misc] mei: bus: fix hw module get/put balance (Tony Camuso) [1822645] - [misc] mei: fix use-after-free in mei_cl_write (Tony Camuso) [1822645] - [misc] mei: ignore not found client in the enumeration (Tony Camuso) [1822645] - [misc] mei: restrict dma ring support to hbm version 2.1 (Tony Camuso) [1822645] - [misc] mei: hbm: introduce dma bit in the message header (Tony Camuso) [1822645] - [misc] mei: add support for variable length mei headers (Tony Camuso) [1822645] - [misc] mei: add mei_msg_hdr_init wrapper (Tony Camuso) [1822645] - [misc] mei: move hbuf_depth from the mei device to the hw modules (Tony Camuso) [1822645] - [misc] mei: cleanup slots to data conversions (Tony Camuso) [1822645] - [misc] mei: bus: suppress sign-compare warnings (Tony Camuso) [1822645] - [misc] mei: fix ssize_t to int assignment in read and write ops (Tony Camuso) [1822645] - [misc] mei: use correct type for counter variable in for loops (Tony Camuso) [1822645] - [misc] mei: check for error returned from mei_hbuf_empty_slots() (Tony Camuso) [1822645] - [misc] mei: don't update offset in write (Tony Camuso) [1822645] - [misc] mei: bus: type promotion bug in mei_fwver() (Tony Camuso) [1822645] - [misc] mei: bus: type promotion bug in mei_nfc_if_version() (Tony Camuso) [1822645] - [misc] mei: expose fw version to sysfs (Tony Camuso) [1822645] - [misc] mei: add optional timeout to internal bus recv (Tony Camuso) [1822645] - [misc] mei: remove unused MEI_IAMTHIF_STALL_TIMER define (Tony Camuso) [1822645] - [s390] s390/pci: Fix unexpected write combine on resource (Philipp Rudo) [1827311] - [powerpc] pwerpc/vas: Include linux/types.h in uapi/asm/vas-api.h (Gustavo Duarte) [1725806] - [documentation] Documentation/powerpc: VAS API (Gustavo Duarte) [1725806] - [crypto] crypto/nx: Remove 'pid' in vas_tx_win_attr struct (Gustavo Duarte) [1725806] - [crypto] crypto/nx: Enable and setup GZIP compresstion type (Gustavo Duarte) [1725806] - [crypto] crypto/nx: Make enable code generic to add new GZIP compression type (Gustavo Duarte) [1725806] - [crypto] crypto/nx: Rename nx-842-powernv file name to nx-common-powernv (Gustavo Duarte) [1725806] - [crypto] crypto/nx: Initialize coproc entry with kzalloc (Gustavo Duarte) [1725806] - [crypto] crypto: nx - Add of_node_put() before return in 842 (Gustavo Duarte) [1725806] - [crypto] crypto/NX: Set receive window credits to max number of CRBs in RxFIFO (Gustavo Duarte) [1725806] - [powerpc] crypto/nx: Initialize 842 high and normal RxFIFO control registers (Gustavo Duarte) [1725806] - [powerpc] powerpc/vas: Add VAS user space API (Gustavo Duarte) [1725806] - [powerpc] powerpc/vas: Define VAS_TX_WIN_OPEN ioctl API (Gustavo Duarte) [1725806] - [powerpc] powerpc/vas: Initialize window attributes for GZIP coprocessor type (Gustavo Duarte) [1725806] - [powerpc] powerpc: Use mm_context vas_windows counter to issue CP_ABORT (Gustavo Duarte) [1725806] - [powerpc] powerpc/vas: Free send window in VAS instance after credits returned (Gustavo Duarte) [1725806] - [powerpc] powerpc/vas: Display process stuck message (Gustavo Duarte) [1725806] - [powerpc] powerpc/vas: Do not use default credits for receive window (Gustavo Duarte) [1725806] - [powerpc] powerpc/vas: Print CRB and FIFO values (Gustavo Duarte) [1725806] - [powerpc] powerpc/vas: Return credits after handling fault (Gustavo Duarte) [1725806] - [powerpc] powerpc/vas: Update CSB and notify process for fault CRBs (Gustavo Duarte) [1725806] - [powerpc] powerpc/vas: Setup thread IRQ handler per VAS instance (Gustavo Duarte) [1725806] - [powerpc] powerpc/vas: Take reference to PID and mm for user space windows (Gustavo Duarte) [1725806] - [powerpc] powerpc/vas: Register NX with fault window ID and IRQ port value (Gustavo Duarte) [1725806] - [powerpc] powerpc/vas: Setup fault window per VAS instance (Gustavo Duarte) [1725806] - [powerpc] powerpc/vas: Alloc and setup IRQ and trigger port (Gustavo Duarte) [1725806] - [powerpc] powerpc/vas: Define nx_fault_stamp in coprocessor_request_block (Gustavo Duarte) [1725806] - [powerpc] powerpc/xive: Define xive_native_alloc_irq_on_chip() (Gustavo Duarte) [1725806] - [powerpc] powerpc/powernv: remove the unused vas_win_paste_addr and vas_win_id functions (Gustavo Duarte) [1725806] - [tools] intel-speed-select: Fix speed-select-base-freq-properties output on CLX-N (Prarit Bhargava) [1828306] - [tools] tools/power/x86/intel-speed-select: Fix CLX-N package information output (Prarit Bhargava) [1828306] - [kernel] sched/isolation: Allow "isolcpus=" to skip unknown sub-parameters (Peter Xu) [1799014] - [arm64] arm64: tlb: skip tlbi broadcast, fix speculative tlb lookups (Andrea Arcangeli) [1820817] - [x86] pci: hv: Introduce hv_msi_entry (Mohammed Gamal) [1816740] - [pci] hv: Move retarget related structures into tlfs header (Mohammed Gamal) [1816740] - [pci] hv: Move hypercall related definitions into tlfs header (Mohammed Gamal) [1816740] - [pci] hv: Reorganize the code in preparation of hibernation (Mohammed Gamal) [1816740] - [pci] hv: Add a Hyper-V PCI interface driver for software backchannel interface (Mohammed Gamal) [1816740] - [pci] hv: Add a paravirtual backchannel in software (Mohammed Gamal) [1816740]- [include] i2c: fix a doc warning (David Arcari) [1826759] - [i2c] i2c: acpi: put device when verifying client fails (David Arcari) [1826759] - [i2c] i2c: i2c-core-of: convert to use i2c_new_client_device() (David Arcari) [1826759] - [i2c] i2c: i2c-core-base: convert to use i2c_new_client_device() (David Arcari) [1826759] - [i2c] i2c: i2c-core-acpi: convert to use i2c_new_client_device() (David Arcari) [1826759] - [i2c] i2c: fix bus recovery stop mode timing (David Arcari) [1826759] - [i2c] i2c: core: Use DEVICE_ATTR_*() helper macros (David Arcari) [1826759] - [include] i2c: remove unneeded 'extern' from function declatations (David Arcari) [1826759] - [include] i2c: add helper to check if a client has a driver attached (David Arcari) [1826759] - [include] i2c: fix header file kernel-doc warning (David Arcari) [1826759] - [misc] eeprom: at24: use devm_i2c_new_dummy_device() (David Arcari) [1826759] - [i2c] i2c: remove i2c_new_dummy() API (David Arcari) [1826759] - [media] media: dvb-frontends: cxd2820r_core: convert to i2c_new_dummy_device (David Arcari) [1826759] - [media] media: dvb-frontends: mn88473: convert to i2c_new_dummy_device (David Arcari) [1826759] - [media] media: dvb-frontends: mn88472: convert to i2c_new_dummy_device (David Arcari) [1826759] - [hwmon] hwmon: (w83791d) convert to use devm_i2c_new_dummy_device (David Arcari) [1826759] - [hwmon] hwmon: (w83793d) convert to use devm_i2c_new_dummy_device (David Arcari) [1826759] - [hwmon] hwmon: (w83781d) convert to i2c_new_dummy_device (David Arcari) [1826759] - [media] media: ir-kbd-i2c: convert to i2c_new_dummy_device() (David Arcari) [1826759] - [misc] misc: eeprom: max6875: convert to i2c_new_dummy_device (David Arcari) [1826759] - [hwmon] hwmon: (w83792d) convert to use devm_i2c_new_dummy_device (David Arcari) [1826759] - [hwmon] hwmon: (asb100) convert to i2c_new_dummy_device (David Arcari) [1826759] - [i2c] i2c: replace i2c_new_probed_device with an ERR_PTR variant (David Arcari) [1826759] - [i2c] i2c: smbus: Don't filter out duplicate alerts (David Arcari) [1826759] - [i2c] i2c: of: Populate fwnode in of_i2c_get_board_info() (David Arcari) [1826759] - [i2c] i2c: remove helpers for ref-counting clients (David Arcari) [1826759] - [i2c] i2c: core: fix use after free in of_i2c_notify (David Arcari) [1826759] - [i2c] i2c: acpi: Force bus speed to 400KHz if a Silead touchscreen is present (David Arcari) [1826759] - [i2c] i2c: add support for filters optional properties (David Arcari) [1826759] - [i2c] i2c: slave-eeprom: Add read only mode (David Arcari) [1826759] - [i2c] i2c: slave-eeprom: Add comment about address handling (David Arcari) [1826759] - [i2c] i2c-eeprom_slave: Add support for more eeprom models (David Arcari) [1826759] - [i2c] i2c: make i2c_unregister_device() ERR_PTR safe (David Arcari) [1826759] - [media] i2c: replace i2c_new_secondary_device with an ERR_PTR variant (David Arcari) [1826759] - [i2c] i2c: Drop unneeded check for of_node (David Arcari) [1826759] - [i2c] i2c: core: Tidy up handling of init_irq (David Arcari) [1826759] - [i2c] i2c: core: Move ACPI gpio IRQ handling into i2c_acpi_get_irq (David Arcari) [1826759] - [i2c] i2c: core: Move ACPI IRQ handling to probe time (David Arcari) [1826759] - [i2c] i2c: acpi: Factor out getting the IRQ from ACPI (David Arcari) [1826759] - [i2c] i2c: acpi: Use available IRQ helper functions (David Arcari) [1826759] - [i2c] i2c: core: Allow whole core to use i2c_dev_irq_from_resources (David Arcari) [1826759] - [i2c] i2c: core: add sysfs header (David Arcari) [1826759] - [i2c] i2c: add newly exported functions to the header, too (David Arcari) [1826759] - [i2c] i2c: mux: add sysfs header (David Arcari) [1826759] - [include] i2c: headers: reformat header comment and update copyright (David Arcari) [1826759] - [include] i2c: headers: update docs about I2C_CLIENT_* (David Arcari) [1826759] - [i2c] i2c: core: always have a named variable in arguments (David Arcari) [1826759] - [include] i2c: headers: always have a named variable in arguments (David Arcari) [1826759] - [include] i2c: headers: don't use 'dev' as adapter variable (David Arcari) [1826759] - [i2c] i2c: mux: Use struct_size() in devm_kzalloc() (David Arcari) [1826759] - [i2c] treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 441 (David Arcari) [1826759] - [i2c] i2c: acpi: export i2c_acpi_find_adapter_by_handle (David Arcari) [1826759] - [media] tua6100: Avoid build warnings (David Arcari) [1826759] - [i2c] treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 157 (David Arcari) [1826759] - [i2c] treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 152 (David Arcari) [1826759] - [i2c] i2c: acpi: permit bus speed to be discovered after enumeration (David Arcari) [1826759] - [i2c] i2c: dev: fix potential memory leak in i2cdev_ioctl_rdwr (David Arcari) [1826759] - [include] treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 1 (David Arcari) [1826759] - [i2c] treewide: Add SPDX license identifier - Makefile/Kconfig (David Arcari) [1826759] - [i2c] i2c: core: add device-managed version of i2c_new_dummy (David Arcari) [1826759] - [i2c] i2c: core: improve return value handling of i2c_new_device and i2c_new_dummy (David Arcari) [1826759] - [i2c] i2c: core: apply 'is_suspended' check for SMBus, too (David Arcari) [1826759] - [i2c] i2c: core: ratelimit 'transfer when suspended' errors (David Arcari) [1826759] - [i2c] i2c: Prevent runtime suspend of adapter when Host Notify is required (David Arcari) [1826759] - [i2c] gcc-9: don't warn about uninitialized variable (David Arcari) [1826759] - [i2c] i2c: mux: populate the new *_atomic callbacks (David Arcari) [1826759] - [i2c] i2c: core: introduce callbacks for atomic transfers (David Arcari) [1826759] - [i2c] i2c: core: use I2C locking behaviour also for SMBUS (David Arcari) [1826759] - [i2c] i2c: core: remove use of in_atomic() (David Arcari) [1826759] - [include] i2c: apply coding style for struct i2c_adapter (David Arcari) [1826759] - [i2c] i2c: add extra check to safe DMA buffer helper (David Arcari) [1826759] - [i2c] i2c: Allow recovery of the initial IRQ by an I2C client device (David Arcari) [1826759] - [i2c] i2c: expand minor range when registering chrdev region (David Arcari) [1826759] - [i2c] i2c: core-smbus: don't trace smbus_reply data on errors (David Arcari) [1826759] - [i2c] i2c: of: Try to find an I2C adapter matching the parent (David Arcari) [1826759] - [include] i2c: acpi: Move I2C bits from acpi.h to i2c.h (David Arcari) [1826759] - [i2c] i2c: dev: prevent adapter retries and timeout being set as minus value (David Arcari) [1826759] - [i2c] i2c: add suspended flag and accessors for i2c adapters (David Arcari) [1826759] - [i2c] treewide: surround Kconfig file paths with double quotes (David Arcari) [1826759] - [i2c] i2c: acpi: Introduce i2c_acpi_get_i2c_resource() helper (David Arcari) [1826759] - [i2c] i2c: acpi: Use ACPI_FAILURE instead of !ACPI_SUCCESS (David Arcari) [1826759] - [i2c] i2c: acpi: Return error pointers from i2c_acpi_new_device() (David Arcari) [1826759] - [i2c] i2c: Clear client->irq in i2c_device_remove (David Arcari) [1826759] - [i2c] i2c: Remove unnecessary call to irq_find_mapping (David Arcari) [1826759] - [i2c] i2c: Fix kerneldoc for renamed i2c dma put function (David Arcari) [1826759] - [i2c] i2c: core: remove level of indentation in i2c_transfer (David Arcari) [1826759] - [i2c] i2c: core: remove outdated DEBUG output (David Arcari) [1826759] - [i2c] i2c: refactor function to release a DMA safe buffer (David Arcari) [1826759] - [i2c] i2c: don't use any __deprecated handling anymore (David Arcari) [1826759] - [i2c] i2c: remove deprecated attach_adapter callback (David Arcari) [1826759] - [i2c] i2c: core: Parse SDA hold time from firmware (David Arcari) [1826759] - [i2c] i2c: quirks: add zero length checks (David Arcari) [1826759] - [i2c] i2c: recovery: make pin init look like STOP (David Arcari) [1826759] - [i2c] i2c: recovery: rename variable for easier understanding (David Arcari) [1826759] - [i2c] i2c: recovery: add get_bus_free callback (David Arcari) [1826759] - [i2c] i2c: recovery: refactor recovery function (David Arcari) [1826759] - [i2c] i2c: recovery: require either get_sda or set_sda (David Arcari) [1826759] - [i2c] i2c: remove i2c_lock_adapter and use i2c_lock_bus directly (David Arcari) [1826759] - [media] media: tda1004x: switch to i2c_lock_bus(..., I2C_LOCK_SEGMENT) (David Arcari) [1826759] - [media] media: tda18271: switch to i2c_lock_bus(..., I2C_LOCK_SEGMENT) (David Arcari) [1826759] - [media] media: af9013: switch to i2c_lock_bus(..., I2C_LOCK_SEGMENT) (David Arcari) [1826759] - [media] media: drxk_hard: switch to i2c_lock_bus(..., I2C_LOCK_SEGMENT) (David Arcari) [1826759] - [media] media: rtl2830: switch to i2c_lock_bus(..., I2C_LOCK_SEGMENT) (David Arcari) [1826759] - [i2c] i2c: mux: pca9541: switch to i2c_lock_bus(..., I2C_LOCK_SEGMENT) (David Arcari) [1826759] - [i2c] i2c: mux: make use of __i2c_smbus_xfer (David Arcari) [1826759] - [kvm] KVM: PPC: Book3S HV: Fix H_CEDE return code for nested guests (David Gibson) [1778556] - [block] block/diskstats: more accurate approximation of io_ticks for slow disks (Ming Lei) [1811745] - [scsi] scsi: storvsc: Correctly set number of hardware queues for IDE disk (Cathy Avery) [1816702] - [netdrv] bonding/alb: make sure arp header is pulled before accessing it (Jarod Wilson) [1819408] - [netdrv] bonding/alb: properly access headers in bond_alb_xmit() (Jarod Wilson) [1819408] - [netdrv] bonding: rename AD_STATE_* to LACP_STATE_* (Jarod Wilson) [1819408] - [netdrv] bonding: fix active-backup transition after link failure (Jarod Wilson) [1819408] - [netdrv] bonding: move 802.3ad port state flags to uapi (Jarod Wilson) [1819408] - [netdrv] bonding: fix bond_neigh_init() (Jarod Wilson) [1819408] - [netdrv] bonding: fix state transition issue in link monitoring (Jarod Wilson) [1819408] - [netdrv] bonding: fix potential NULL deref in bond_update_slave_arr (Jarod Wilson) [1819408] - [netdrv] team: Always enable vlan tx offload (Hangbin Liu) [1827017] - [net] netlink: Use netlink header as base to calculate bad attribute offset (Andrea Claudi) [1825252] - [net] netlink: cap max groups which will be considered in netlink_bind() (Andrea Claudi) [1825252] - [net] tcp: repair: fix TCP_QUEUE_SEQ implementation (Paolo Abeni) [1823771] - [net] tcp: fix "old stuff" D-SACK causing SACK to be treated as D-SACK (Paolo Abeni) [1823771] - [net] tcp: refine rule to allow EPOLLOUT generation under mem pressure (Paolo Abeni) [1823771] - [net] tcp: refine tcp_write_queue_empty() implementation (Paolo Abeni) [1823771] - [include] fib: add missing attribute validation for tun_id (Marcelo Leitner) [1823468] - [include] net/flow_dissector: remove unexist field description (Marcelo Leitner) [1823468] - [net] vlan: vlan_changelink() should propagate errors (Marcelo Leitner) [1823468] - [net] af_packet: set defaule value for tmo (Marcelo Leitner) [1823468] - [net] packet: fix data-race in fanout_flow_is_huge() (Marcelo Leitner) [1823468] - [net] llc: fix sk_buff refcounting in llc_conn_state_process() (Marcelo Leitner) [1823468] - [net] llc: fix another potential sk_buff leak in llc_ui_sendmsg() (Marcelo Leitner) [1823468] - [net] llc: fix sk_buff leak in llc_conn_service() (Marcelo Leitner) [1823468] - [net] llc: fix sk_buff leak in llc_sap_state_process() (Marcelo Leitner) [1823468] - [net] openvswitch: Fix conntrack cache with timeout (Patrlck Talbert) [1765587] - [net] openvswitch: Fix log message in ovs conntrack (Patrlck Talbert) [1765587] - [net] openvswitch: use after free in __ovs_ct_free_action() (Patrlck Talbert) [1765587] - [net] openvswitch: Add timeout support to ct action (Patrlck Talbert) [1765587] - [net] netfilter: Export nf_ct_{set, destroy}_timeout() (Patrlck Talbert) [1765587] - [net] netfilter: cttimeout: ctnl_timeout_find_get() returns incorrect pointer to type (Patrlck Talbert) [1765587] - [net] netfilter: remove ifdef around cttimeout in struct nf_conntrack_l4proto (Patrlck Talbert) [1765587] - [net] netfilter: cttimeout: decouple timeout policy from nfnetlink_cttimeout object (Patrlck Talbert) [1765587] - [net] netfilter: cttimeout: move ctnl_untimeout to nf_conntrack (Patrlck Talbert) [1765587] - [netdrv] ipvlan: do not use cond_resched_rcu() in ipvlan_process_multicast() (Davide Caratti) [1822906] - [netdrv] ipvlan: add cond_resched_rcu() while processing muticast backlog (Davide Caratti) [1822906] - [netdrv] ipvlan: don't deref eth hdr before checking it's set (Davide Caratti) [1822906] - [netdrv] ipvlan: do not add hardware address of master to its unicast filter list (Davide Caratti) [1822906] - [include] net/dst: do not confirm neighbor for vxlan and geneve pmtu update (Hangbin Liu) [1755686] - [net] sit: do not confirm neighbor when do pmtu update (Hangbin Liu) [1755686] - [net] vti: do not confirm neighbor when do pmtu update (Hangbin Liu) [1755686] - [net] tunnel: do not confirm neighbor when do pmtu update (Hangbin Liu) [1755686] - [include] net/dst: add new function skb_dst_update_pmtu_no_confirm (Hangbin Liu) [1755686] - [netdrv] gtp: do not confirm neighbor when do pmtu update (Hangbin Liu) [1755686] - [net] ip6_gre: do not confirm neighbor when do pmtu update (Hangbin Liu) [1755686] - [net] add bool confirm_neigh parameter for dst_ops.update_pmtu (Hangbin Liu) [1755686] - [net] neigh: support smaller retrans_time settting (Hangbin Liu) [1767282] - [include] net: core: add helper tcp_v6_gso_csum_prep (Josef Oskera) [1818097] - [net] ip_tunnel: fix interface lookup with no key (Guillaume Nault) [1822247] - [net] ipv4: fix a RCU-list lock in inet_dump_fib() (Guillaume Nault) [1822247] - [net] gre: fix uninit-value in __iptunnel_pull_header (Guillaume Nault) [1822247] - [net] netfilter: conntrack: allow insertion of clashing entries (Florian Westphal) [1821404] - [net] netfilter: conntrack: split resolve_clash function (Florian Westphal) [1821404] - [net] netfilter: conntrack: place confirm-bit setting in a helper (Florian Westphal) [1821404] - [net] netfilter: never get/set skb->tstamp (Florian Westphal) [1821404] - [net] netfilter: conntrack: remove two args from resolve_clash (Florian Westphal) [1821404] - [net] netfilter: conntrack: tell compiler to not inline nf_ct_resolve_clash (Florian Westphal) [1821404] - [netdrv] macsec: restrict to ethernet devices (Sabrina Dubroca) [1820524] - [netdrv] macsec: add missing attribute validation for port (Sabrina Dubroca) [1820524] - [net] netns: restore ops before calling ops_exit_list (Ivan Vecera) [1822568] - [net] netns: add pre_exit method to struct pernet_operations (Ivan Vecera) [1822568] - [include] net: dst: Force 4-byte alignment of dst_metrics (Guillaume Nault) [1822148] - [include] net: annotate lockless accesses to sk->sk_napi_id (Guillaume Nault) [1822148] - [net] Fix typo of SKB_SGO_CB_OFFSET (Guillaume Nault) [1822148] - [net] use indirect call wrappers for skb_copy_datagram_iter() (Guillaume Nault) [1822148] - [net] datagram: Make __skb_datagram_iter static (Guillaume Nault) [1822148] - [net] Fix Tx hash bound checking (Guillaume Nault) [1822148] - [net] openvswitch: add missing attribute validation for hash (Eelco Chaudron) [1819202] - [net] openvswitch: Distribute switch variables for initialization (Eelco Chaudron) [1819202] - [net] openvswitch: support asymmetric conntrack (Eelco Chaudron) [1819202] - [net] openvswitch: remove another BUG_ON() (Eelco Chaudron) [1819202] - [net] openvswitch: drop unneeded BUG_ON() in ovs_flow_cmd_build_info() (Eelco Chaudron) [1819202] - [net] openvswitch: don't call pad_packet if not necessary (Eelco Chaudron) [1819202] - [net] openvswitch: add hash info to upcall (Eelco Chaudron) [1819202] - [net] openvswitch: select vport upcall portid directly (Eelco Chaudron) [1819202] - [net] openvswitch: simplify the ovs_dp_cmd_new (Eelco Chaudron) [1819202] - [net] openvswitch: fix possible memleak on destroy flow-table (Eelco Chaudron) [1819202] - [net] openvswitch: add likely in flow_lookup (Eelco Chaudron) [1819202] - [net] openvswitch: simplify the flow_hash (Eelco Chaudron) [1819202] - [net] openvswitch: optimize flow-mask looking up (Eelco Chaudron) [1819202] - [net] openvswitch: optimize flow mask cache hash collision (Eelco Chaudron) [1819202] - [net] openvswitch: shrink the mask array if necessary (Eelco Chaudron) [1819202] - [net] openvswitch: convert mask list in mask array (Eelco Chaudron) [1819202] - [net] openvswitch: add flow-mask cache for performance (Eelco Chaudron) [1819202] - [net] openvswitch: Allow attaching helper in later commit (Eelco Chaudron) [1819202] - [net] openvswitch: change type of UPCALL_PID attribute to NLA_UNSPEC (Eelco Chaudron) [1819202] - [net] openvswitch: Make metadata_dst tunnel work in IP_TUNNEL_INFO_BRIDGE mode (Eelco Chaudron) [1819202] - [netdrv] mlxsw: spectrum_router: Remove unlikely user-triggerable warning (Ivan Vecera) [1821358] - [net] ipv6: Error when route does not have any valid nexthops (Ivan Vecera) [1821358] - [tools] selftests: mlxsw: Add a test for FIB offload indication (Ivan Vecera) [1821358] - [net] ipv6: Stop sending in-kernel notifications for each nexthop (Ivan Vecera) [1821358] - [netdrv] mlxsw: spectrum_router: Create IPv6 multipath routes in one go (Ivan Vecera) [1821358] - [netdrv] mlxsw: spectrum_router: Add / delete multiple IPv6 nexthops (Ivan Vecera) [1821358] - [netdrv] mlxsw: spectrum_router: Pass array of routes to route handling functions (Ivan Vecera) [1821358] - [netdrv] mlxsw: spectrum_router: Adjust IPv6 replace logic to new notifications (Ivan Vecera) [1821358] - [netdrv] mlxsw: spectrum_router: Pass multiple routes to work item (Ivan Vecera) [1821358] - [netdrv] mlxsw: spectrum_router: Prepare function to return errors (Ivan Vecera) [1821358] - [netdrv] mlxsw: spectrum_router: Remove processing of IPv6 append notifications (Ivan Vecera) [1821358] - [net] ipv6: Add IPv6 multipath notification for route delete (Ivan Vecera) [1821358] - [net] ipv6: Add IPv6 multipath notifications for add / replace (Ivan Vecera) [1821358] - [netdrv] netdevsim: Ignore IPv6 multipath notifications (Ivan Vecera) [1821358] - [netdrv] mlxsw: spectrum_router: Ignore IPv6 multipath notifications (Ivan Vecera) [1821358] - [net] ipv6: Extend notifier info for multipath routes (Ivan Vecera) [1821358] - [net] ipv6: export function to send route updates (Ivan Vecera) [1821358] - [net] sctp: fix possibly using a bad saddr with a given dst (Xin Long) [1821578] - [net] sctp: fix refcount bug in sctp_wfree (Xin Long) [1821578] - [net] sctp: move the format error check out of __sctp_sf_do_9_1_abort (Xin Long) [1821578] - [net] Remove switchdev_ops (Ivan Vecera) [1821402] - [net] switchdev: Replace port attr set SDO with a notification (Ivan Vecera) [1821402] - [net] switchdev: Complete removal of switchdev_port_attr_get() (Ivan Vecera) [1821402] - [net] Get rid of switchdev_port_attr_get() (Ivan Vecera) [1821402] - [net] Remove SWITCHDEV_ATTR_ID_PORT_BRIDGE_FLAGS_SUPPORT (Ivan Vecera) [1821402] - [net] fib_notifier: move fib_notifier_ops from struct net into per-net struct (Ivan Vecera) [1821186] - [net] Properly unlink GRO packets on overflow. (Ivan Vecera) [1805302] - [net] Add and use skb_list_del_init(). (Ivan Vecera) [1805302] - [net] Add and use skb_mark_not_on_list(). (Ivan Vecera) [1805302] - [net] Init backlog NAPI's gro_hash. (Ivan Vecera) [1805302] - [net] gro: properly remove skb from list (Ivan Vecera) [1805302] - [net] core: trivial netif_receive_skb_list() entry point (Ivan Vecera) [1805302] - [net] Convert GRO SKB handling to list_head. (Ivan Vecera) [1805302] - [net] ipv6: don't auto-add link-local address to lag ports (Jarod Wilson) [1733953] - [tools] selftests: forwarding: vxlan_bridge_1d: use more proper tos value (Hangbin Liu) [1816587] - [tools] selftests: forwarding: vxlan_bridge_1d: fix tos value (Hangbin Liu) [1816587] - [tools] selftests: forwarding: use proto icmp for {gretap, ip6gretap}_mac testing (Hangbin Liu) [1816587] - [tools] fcnal-test: Fix vrf argument in local tcp tests (Hangbin Liu) [1816587] - [tools] selftests: forwarding: router: Add test case for destination IP link-local (Hangbin Liu) [1816587] - [tools] selftests: forwarding: router: Add test case for source IP equals destination IP (Hangbin Liu) [1816587] - [tools] selftests: forwarding: router: Add test case for multicast destination MAC mismatch (Hangbin Liu) [1816587] - [tools] selftests: forwarding: router: Add test case for source IP in class E (Hangbin Liu) [1816587] - [tools] selftests/net: make so_txtime more robust to timer variance (Hangbin Liu) [1816587] - [tools] selftests: forwarding: Add speed and auto-negotiation test (Hangbin Liu) [1816587] - [tools] selftests: forwarding: lib.sh: Add wait for dev with timeout (Hangbin Liu) [1816587] - [tools] selftests: forwarding: Add ethtool_lib.sh (Hangbin Liu) [1816587] - [tools] selftests: net: avoid ptl lock contention in tcp_mmap (Hangbin Liu) [1816587] - [tools] selftest: net: add alternative names test (Hangbin Liu) [1816587] - [tools] selftest: net: add some traceroute tests (Hangbin Liu) [1816587] - [tools] selftests: net: Fix printf format warnings on arm (Hangbin Liu) [1816587] - [tools] selftests: net: Use size_t and ssize_t for counting file size (Hangbin Liu) [1816587] - [tools] selftests: Make l2tp.sh executable (Hangbin Liu) [1816587] - [tools] selftests/net: add nettest to .gitignore (Hangbin Liu) [1816587] - [tools] selftests: Add test cases for `ip nexthop flush proto XX` (Hangbin Liu) [1816587] - [tools] selftest: A few cleanups for fib_nexthops.sh (Hangbin Liu) [1816587] - [tools] selftests: Fix get_ifidx and callers in nettest.c (Hangbin Liu) [1816587] - [tools] selftests: Fix detection of nettest command in fcnal-test (Hangbin Liu) [1816587] - [tools] selftests: Add l2tp tests (Hangbin Liu) [1816587] - [tools] selftests: nettest: fix spelling mistake: "potocol" -> "protocol" (Hangbin Liu) [1816587] - [tools] selftests: Add use case section to fcnal-test (Hangbin Liu) [1816587] - [tools] selftests: Add ipv6 netfilter tests to fcnal-test (Hangbin Liu) [1816587] - [tools] selftests: Add ipv4 netfilter tests to fcnal-test (Hangbin Liu) [1816587] - [tools] selftests: Add ipv6 runtime tests to fcnal-test (Hangbin Liu) [1816587] - [tools] selftests: Add ipv4 runtime tests to fcnal-test (Hangbin Liu) [1816587] - [tools] selftests: Add ipv6 address bind tests to fcnal-test (Hangbin Liu) [1816587] - [tools] selftests: Add ipv4 address bind tests to fcnal-test (Hangbin Liu) [1816587] - [tools] selftests: Add ipv6 udp tests to fcnal-test (Hangbin Liu) [1816587] - [tools] selftests: Add ipv4 udp tests to fcnal-test (Hangbin Liu) [1816587] - [tools] selftests: Add ipv6 tcp tests to fcnal-test (Hangbin Liu) [1816587] - [tools] selftests: Add ipv4 tcp tests to fcnal-test (Hangbin Liu) [1816587] - [tools] selftests: Add ipv6 ping tests to fcnal-test (Hangbin Liu) [1816587] - [tools] selftests: Add ipv4 ping tests to fcnal-test (Hangbin Liu) [1816587] - [tools] selftests: Setup for functional tests for fib and socket lookups (Hangbin Liu) [1816587] - [tools] selftests: Add nettest (Hangbin Liu) [1816587] - [tools] selftests/net: add missing gitignores (ipv6_flowlabel) (Hangbin Liu) [1816587] - [tools] selftests: txring_overwrite: fix incorrect test of mmap() return value (Hangbin Liu) [1816587] - [tools] selftests/net: skip psock_tpacket test if KALLSYMS was not enabled (Hangbin Liu) [1816587] - [tools] selftests: rtnetlink: skip ipsec offload tests if netdevsim isn't present (Hangbin Liu) [1816587] - [tools] selftests: Add test cases for nexthop objects (Hangbin Liu) [1816587] - [tools] selftests/net: ipv6 flowlabel (Hangbin Liu) [1816587] - [tools] selftests/net: SO_TXTIME with ETF and FQ (Hangbin Liu) [1816587] - [tools] selftests: fib-onlink: Make quiet by default (Hangbin Liu) [1816587] - [tools] selftests/net: correct the return value for run_afpackettests (Hangbin Liu) [1816587] - [tools] selftests/net: correct the return value for run_netsocktests (Hangbin Liu) [1816587] - [tools] selftests: forwarding: Add reverse path forwarding (RPF) test cases (Hangbin Liu) [1816587] - [tools] selftest/net: Remove duplicate header (Hangbin Liu) [1816587] - [tools] selftests: fib_tests: sleep after changing carrier. again. (Hangbin Liu) [1816587] - [tools] selftests: net: use LDLIBS instead of LDFLAGS (Hangbin Liu) [1816587] - [tools] selftests/net: add txring_overwrite (Hangbin Liu) [1816587] - [tools] fib_tests: Add tests for invalid metric on route (Hangbin Liu) [1816587] - [tools] selftests: forwarding: test for bridge sticky flag (Hangbin Liu) [1816587] - [tools] selftests: net: Test headroom handling of ip6_gre devices (Hangbin Liu) [1816587] - [net] Don't disable interrupts in __netdev_alloc_skb() (Andrea Claudi) [1811207] - [net] Don't disable interrupts in napi_alloc_frag() (Andrea Claudi) [1811207] - [net] ipv4: ensure rcu_read_lock() in cipso_v4_error() (Matteo Croce) [1720708] - [net] ipv4: add sanity checks in ipv4_link_failure() (Matteo Croce) [1720708] - [net] ipv4: ensure rcu_read_lock() in ipv4_link_failure() (Matteo Croce) [1720708] - [net] ipv4: recompile ip options in ipv4_link_failure (Matteo Croce) [1720708] - [net] avoid use IPCB in cipso_v4_error (Matteo Croce) [1720708] - [net] Add __icmp_send helper. (Matteo Croce) [1720708] - [net] ipv4: defensive cipso option parsing (Matteo Croce) [1720708] - [net] netfilter: nf_queue: enqueue skbs with NULL dst (Matteo Croce) [1786116]- [powerpc] powerpc/pseries/ddw: Extend upper limit for huge DMA window for persistent memory (Steve Best) [1817596] - [cpuidle] cpuidle: haltpoll: allow force loading on hosts without the REALTIME hint (David Arcari) [1825353] - [cpuidle] cpuidle: dt: Support hierarchical CPU idle states (David Arcari) [1825353] - [of] of: base: Add of_get_cpu_state_node() to get idle states for a CPU node (David Arcari) [1825353] - [cpuidle] cpuidle: Allow idle states to be disabled by default (David Arcari) [1825353] - [cpuidle] cpuidle: Drop unnecessary type cast in cpuidle_poll_time() (David Arcari) [1825353] - [cpuidle] cpuidle: Fix cpuidle_driver_state_disabled() (David Arcari) [1825353] - [cpuidle] cpuidle: use first valid target residency as poll time (David Arcari) [1825353] - [cpuidle] cpuidle: Drop disabled field from struct cpuidle_state (David Arcari) [1825353] - [cpuidle] cpuidle: Pass exit latency limit to cpuidle_use_deepest_state() (David Arcari) [1825353] - [include] cpuidle: Allow idle injection to apply exit latency limit (David Arcari) [1825353] - [thermal] cpuidle: play_idle: Increase the resolution to usec (David Arcari) [1825353] - [cpuidle] cpuidle: Use nanoseconds as the unit of time (David Arcari) [1825353] - [cpuidle] cpuidle: menu: Allow tick to be stopped if PM QoS is used (David Arcari) [1825353] - [cpuidle] cpuidle: Consolidate disabled state checks (David Arcari) [1825353] - [cpuidle] cpuidle: Do not unset the driver if it is there already (David Arcari) [1825353] - [cpuidle] cpuidle: haltpoll: Take 'idle=' override into account (David Arcari) [1825353] - [cpuidle] cpuidle-haltpoll: Enable kvm guest polling when dedicated physical CPUs are available (David Arcari) [1825353] - [fs] gfs2: fix gfs2_find_jhead that returns uninitialized jhead with seq 0 (Abhijith Das) [1655566] - [fs] gfs2: Another gfs2_find_jhead fix (Abhijith Das) [1655566] - [fs] gfs2: read journal in large chunks (Abhijith Das) [1655566] - [fs] gfs2: add a helper function to get_log_header that can be used elsewhere (Abhijith Das) [1655566] - [fs] gfs2: changes to gfs2_log_XXX_bio (Abhijith Das) [1655566] - [fs] gfs2: add more timing info to journal recovery process (Abhijith Das) [1655566] - [mm] mm: hugetlb controller for cgroup v2 (Joel Savitz) [1810728] - [arm64] crypto: arm64/aes-ce - implement 5 way interleave for ECB, CBC and CTR (Mark Salter) [1826982] - [arm64] crypto: arm64/aes-ce - add 5 way interleave routines (Mark Salter) [1826982] - [arm64] crypto: arm64/sha2-ce - correct digest for empty data in finup (Mark Salter) [1826982] - [arm64] crypto: arm64/sha1-ce - correct digest for empty data in finup (Mark Salter) [1826982] - [arm64] crypto: arm64/aes-neonbs - don't access already-freed walk.iv (Mark Salter) [1826982] - [arm64] crypto: arm64/cbcmac - handle empty messages in same way as template (Mark Salter) [1826982] - [arm64] crypto: arm64/aes-blk - update IV after partial final CTR block (Mark Salter) [1826982] - [arm64] crypto: arm64/aes-neonbs - fix returning final keystream block (Mark Salter) [1826982] - [arm64] crypto: arm64/crct10dif-ce - cleanup and optimizations (Mark Salter) [1826982] - [arm64] crypto: arm64/crct10dif - register PMULL variants as separate algos (Mark Salter) [1826982] - [arm64] crypto: arm64/crct10dif - remove dead code (Mark Salter) [1826982] - [arm64] crypto: arm64/crct10dif - revert to C code for short inputs (Mark Salter) [1826982] - [arm64] crypto: arm64/ghash-neon - bump priority to 150 (Mark Salter) [1826982] - [arm64] crypto: arm64/ghash - register PMULL variants as separate algos (Mark Salter) [1826982] - [arm64] crypto: arm64/aes-ccm - don't use an atomic walk needlessly (Mark Salter) [1826982] - [arm64] crypto: arm64/aes-ccm - fix bugs in non-NEON fallback routine (Mark Salter) [1826982] - [arm64] crypto: arm64/aes-blk - ensure XTS mask is always loaded (Mark Salter) [1826982] - [arm64] crypto: arm64/aes - fix handling sub-block CTS-CBC inputs (Mark Salter) [1826982] - [arm64] crypto: arm64/aes-blk - improve XTS mask handling (Mark Salter) [1826982] - [arm64] crypto: arm64/aes-blk - add support for CTS-CBC mode (Mark Salter) [1826982] - [arm64] crypto: arm64/aes-blk - revert NEON yield for skciphers (Mark Salter) [1826982] - [arm64] crypto: arm64/aes-blk - remove pointless (u8 *) casts (Mark Salter) [1826982] - [arm64] crypto: arm64/crct10dif - implement non-Crypto Extensions alternative (Mark Salter) [1826982] - [arm64] crypto: arm64/crct10dif - preparatory refactor for 8x8 PMULL version (Mark Salter) [1826982] - [arm64] crypto: arm64/aes-modes - get rid of literal load of addend vector (Mark Salter) [1826982] - [arm64] crypto: arm64/sm4-ce - check for the right CPU feature bit (Mark Salter) [1826982] - [arm64] crypto: arm64/gcm-aes-ce - fix no-NEON fallback code (Mark Salter) [1826982] - [arm64] crypto: arm64/aes-gcm-ce - fix scatterwalk API violation (Mark Salter) [1826982] - [arm64] crypto: arm64/ghash-ce - implement 4-way aggregation (Mark Salter) [1826982] - [arm64] crypto: arm64/ghash-ce - replace NEON yield check with block limit (Mark Salter) [1826982] - [arm64] crypto: arm64/aes-ce-gcm - don't reload key schedule if avoidable (Mark Salter) [1826982] - [arm64] crypto: arm64/aes-ce-gcm - implement 2-way aggregation (Mark Salter) [1826982] - [arm64] crypto: arm64/aes-ce-gcm - operate on two input blocks at a time (Mark Salter) [1826982] - [mm] mm, slub: prevent kmalloc_node crashes and memory leaks (Rafael Aquini) [1819839] - [mm] mm: slub: be more careful about the double cmpxchg of freelist (Rafael Aquini) [1819839] - [mm] mm: slub: add missing TID bump in kmem_cache_alloc_bulk() (Rafael Aquini) [1819839] - [mm] mm/slub.c: avoid slub allocation while holding list_lock (Rafael Aquini) [1819839] - [mm] mm/slub.c: clean up validate_slab() (Rafael Aquini) [1819839] - [mm] mm: slub: print the offset of fault addresses (Rafael Aquini) [1819839] - [mm] hugetlbfs: don't retry when pool page allocations start to fail (Rafael Aquini) [1727288] - [mm] mm, compaction: raise compaction priority after it withdrawns (Rafael Aquini) [1727288] - [mm] mm, reclaim: cleanup should_continue_reclaim() (Rafael Aquini) [1727288] - [mm] mm, reclaim: make should_continue_reclaim perform dryrun detection (Rafael Aquini) [1727288]- [tools] bpf: selftests: remove test_bpftool_build.sh from TEST_PROGS (Yauheni Kaliuta) [1813365] - [tools] libbpf: Support .text sub-calls relocations (Yauheni Kaliuta) [1813365] - [tools] libbpf: Sanitize global functions (Yauheni Kaliuta) [1813365] - [kernel] workqueue: Add RCU annotation for pwq list walk (Yauheni Kaliuta) [1813365] - [kernel] perf/core: Add SRCU annotation for pmus list walk (Yauheni Kaliuta) [1813365] - [net] kcm: disable preemption in kcm_parse_func_strparser() (Yauheni Kaliuta) [1813365] - [net] kcm: use BPF_PROG_RUN (Yauheni Kaliuta) [1813365] - [kernel] bpf: clarify description for CONFIG_BPF_EVENTS (Yauheni Kaliuta) [1813365] - [lib] test_bpf: Fix a new clang warning about xor-ing two numbers (Yauheni Kaliuta) [1813365] - [include] bpf: add include guard to tnum.h (Yauheni Kaliuta) [1813365] - [tools] libbpf: handle symbol versioning properly for libbpf.a (Yauheni Kaliuta) [1813365] - [net] bpf, devmap: Pass lockdep expression to RCU lists (Yauheni Kaliuta) [1813365] - [tools] libbpf: Fix Makefile' libbpf symbol mismatch diagnostic (Yauheni Kaliuta) [1813365] - [net] xdp: Fix cleanup on map free for devmap_hash map type (Yauheni Kaliuta) [1813365] - [tools] tools, bpf: Fix build for 'make -s tools/bpf O=' (Yauheni Kaliuta) [1813365] - [tools] libbpf: Fix passing uninitialized bytes to setsockopt (Yauheni Kaliuta) [1813365] - [tools] selftests: bpf: Skip write only files in debugfs (Yauheni Kaliuta) [1813365] - [net] xdp: Handle device unregister for devmap_hash map type (Yauheni Kaliuta) [1813365] - [net] ipv4: Add lockdep condition to fix for_each_entry() (Yauheni Kaliuta) [1813365] - [kernel] rcu/sync: Remove custom check for RCU readers (Yauheni Kaliuta) [1813365] - [kernel] rcu: Add support for consolidated-RCU reader checking (Yauheni Kaliuta) [1813365] - [kernel] rcu: Remove redundant debug_locks check in rcu_read_lock_sched_held() (Yauheni Kaliuta) [1813365] - [net] xdp: Prevent overflow in devmap_hash cost calculation for 32-bit builds (Yauheni Kaliuta) [1813365] - [samples] samples/bpf: Add a workaround for asm_inline (Yauheni Kaliuta) [1813365] - [samples] samples/bpf: Fix build for task_fd_query_user.c (Yauheni Kaliuta) [1813365] - [tools] selftests/bpf: test_progs: Don't leak server_fd in test_sockopt_inherit (Yauheni Kaliuta) [1813365] - [tools] tools: bpf: Use !building_out_of_srctree to determine srctree (Yauheni Kaliuta) [1813365] - [net] bpf: Clean up indentation issue in BTF kflag processing (Yauheni Kaliuta) [1813365] - [tools] libbpf: Teach btf_dumper to emit stand-alone anonymous enum definitions (Yauheni Kaliuta) [1813365] - [tools] selftests/bpf: adjust strobemeta loop to satisfy latest clang (Yauheni Kaliuta) [1813365] - [tools] selftests/bpf: delete unused variables in test_sysctl (Yauheni Kaliuta) [1813365] - [tools] libbpf: fix false uninitialized variable warning (Yauheni Kaliuta) [1813365] - [tools] libbpf: Remove getsockopt() check for XDP_OPTIONS (Yauheni Kaliuta) [1813365] - [net] xdp: Fix race in dev_map_hash_update_elem() when replacing element (Yauheni Kaliuta) [1813365] - [tools] selftests/bpf: test_progs: convert test_tcp_rtt (Yauheni Kaliuta) [1813365] - [tools] selftests/bpf: test_progs: convert test_sockopt_inherit (Yauheni Kaliuta) [1813365] - [tools] selftests/bpf: test_progs: convert test_sockopt_multi (Yauheni Kaliuta) [1813365] - [tools] selftests/bpf: test_progs: convert test_sockopt_sk (Yauheni Kaliuta) [1813365] - [tools] selftests/bpf: test_progs: convert test_sockopt (Yauheni Kaliuta) [1813365] - [tools] selftests/bpf: test_progs: add test__join_cgroup helper (Yauheni Kaliuta) [1813365] - [tools] selftests/bpf: precision tracking tests (Yauheni Kaliuta) [1813365] - [tools] selftests/bpf: fix endianness issues in test_sysctl (Yauheni Kaliuta) [1813365] - [arm64] arm64: bpf: optimize modulo operation (Yauheni Kaliuta) [1813365] - [s390] bpf: s390: add JIT support for bpf line info (Yauheni Kaliuta) [1813365] - [tools] selftests/bpf: test_progs: add missing \n to CHECK_FAIL (Yauheni Kaliuta) [1813365] - [tools] selftests/bpf: test_progs: fix verbose mode garbage (Yauheni Kaliuta) [1813365] - [tools] selftests/bpf: Fix a typo in test_offload.py (Yauheni Kaliuta) [1813365] - [net] bpf: fix error check in bpf_tcp_gen_syncookie (Yauheni Kaliuta) [1813365] - [tools] tools: bpftool: do not link twice against libbpf.a in Makefile (Yauheni Kaliuta) [1813365] - [tools] tools: bpf: account for generated feature/ and libbpf/ directories (Yauheni Kaliuta) [1813365] - [tools] tools: bpftool: improve and check builds for different make invocations (Yauheni Kaliuta) [1813365] - [tools] tools: bpftool: ignore make built-in rules for getting kernel version (Yauheni Kaliuta) [1813365] - [s390] bpf: s390: add JIT support for multi-function programs (Yauheni Kaliuta) [1746980 1813365] - [tools] selftests/bpf: remove wrong nhoff in flow dissector test (Yauheni Kaliuta) [1813365] - [tools] selftests/bpf: test_progs: remove unused ret (Yauheni Kaliuta) [1813365] - [tools] selftests/bpf: test_progs: remove asserts from subtests (Yauheni Kaliuta) [1813365] - [tools] selftests/bpf: test_progs: remove global fail/success counts (Yauheni Kaliuta) [1813365] - [tools] selftests/bpf: test_progs: test__skip (Yauheni Kaliuta) [1813365] - [tools] selftests/bpf: add precision tracking test (Yauheni Kaliuta) [1813365] - [tools] selftests/bpf: verifier precise tests (Yauheni Kaliuta) [1813365] - [tools] tools/bpf: sync bpf.h (Yauheni Kaliuta) [1813365] - [net] bpf: introduce verifier internal test flag (Yauheni Kaliuta) [1813365] - [tools] tools: bpftool: add "bpftool map freeze" subcommand (Yauheni Kaliuta) [1813365] - [tools] tools: bpftool: show frozen status for maps (Yauheni Kaliuta) [1813365] - [uapi] bpf: clarify when bpf_trace_printk discards lines (Yauheni Kaliuta) [1813365] - [samples] samples: bpf: syscall_nrs: use mmap2 if defined (Yauheni Kaliuta) [1813365] - [tools] libbpf: use LFS (_FILE_OFFSET_BITS) instead of direct mmap2 syscall (Yauheni Kaliuta) [1813365] - [net] bpf: add new BPF_BTF_GET_NEXT_ID syscall command (Yauheni Kaliuta) [1813365] - [net] bpf: add BTF ids in procfs for file descriptors to BTF objects (Yauheni Kaliuta) [1813365] - [tools] selftests/bpf: add sockopt clone/inheritance test (Yauheni Kaliuta) [1813365] - [tools] bpf: sync bpf.h to tools/ (Yauheni Kaliuta) [1813365] - [net] bpf: support cloning sk storage on accept() (Yauheni Kaliuta) [1813365] - [net] bpf: export bpf_map_inc_not_zero (Yauheni Kaliuta) [1813365] - [tools] tools: bpftool: add documentation for net attach/detach (Yauheni Kaliuta) [1813365] - [tools] tools: bpftool: add bash-completion for net attach/detach (Yauheni Kaliuta) [1813365] - [tools] tools: bpftool: add net detach command to detach XDP on interface (Yauheni Kaliuta) [1813365] - [tools] tools: bpftool: add net attach command to attach XDP on interface (Yauheni Kaliuta) [1813365] - [tools] tools: bpftool: compile with $(EXTRA_WARNINGS) (Yauheni Kaliuta) [1813365] - [tools] tools: bpftool: add feature check for zlib (Yauheni Kaliuta) [1813365] - [tools] tools: bpftool: fix reading from /proc/config.gz (Yauheni Kaliuta) [1813365] - [samples] samples/bpf: xdp_fwd explain bpf_fib_lookup return codes (Yauheni Kaliuta) [1813365] - [samples] samples/bpf: make xdp_fwd more practically usable via devmap lookup (Yauheni Kaliuta) [1813365] - [samples] samples/bpf: xdp_fwd rename devmap name to be xdp_tx_ports (Yauheni Kaliuta) [1813365] - [tools] selftests/bpf: test_progs: drop extra trailing tab (Yauheni Kaliuta) [1813365] - [tools] selftests/bpf: test_progs: test__printf -> printf (Yauheni Kaliuta) [1813365] - [tools] selftests/bpf: test_progs: switch to open_memstream (Yauheni Kaliuta) [1813365] - [tools] selftests/bpf: add loop test 5 (Yauheni Kaliuta) [1813365] - [tools] selftests/bpf: add loop test 4 (Yauheni Kaliuta) [1813365] - [tools] selftests/bpf: extend sockopt_sk selftest with TCP_CONGESTION use case (Yauheni Kaliuta) [1813365] - [net] bpf: always allocate at least 16 bytes for setsockopt hook (Yauheni Kaliuta) [1813365] - [tools] tools: bpftool: add support for reporting the effective cgroup progs (Yauheni Kaliuta) [1813365] - [tools] selftests/bpf: add test for bpf_tcp_gen_syncookie (Yauheni Kaliuta) [1813365] - [tools] bpf: sync bpf.h to tools/ (Yauheni Kaliuta) [1813365] - [net] bpf: add bpf_tcp_gen_syncookie helper (Yauheni Kaliuta) [1813365] - [net] tcp: add skb-less helpers to retrieve SYN cookie (Yauheni Kaliuta) [1813365] - [net] tcp: tcp_syn_flood_action read port from socket (Yauheni Kaliuta) [1813365] - [net] tcp: rate limit synflood warnings further (Yauheni Kaliuta) [1813365] - [tools] tools: Add definitions for devmap_hash map type (Yauheni Kaliuta) [1813365] - [tools] tools/libbpf_probes: Add new devmap_hash type (Yauheni Kaliuta) [1813365] - [tools] tools/include/uapi: Add devmap_hash BPF map type (Yauheni Kaliuta) [1813365] - [net] xdp: Add devmap_hash map type for looking up devices by hashed index (Yauheni Kaliuta) [1813365] - [net] xdp: Refactor devmap allocation code for reuse (Yauheni Kaliuta) [1813365] - [include] include/bpf.h: Remove map_insert_ctx() stubs (Yauheni Kaliuta) [1813365] - [tools] selftests/bpf: convert send_signal.c to use subtests (Yauheni Kaliuta) [1813365] - [tools] selftests/bpf: convert bpf_verif_scale.c to sub-tests API (Yauheni Kaliuta) [1813365] - [tools] selftests/bpf: support BPF_FLOW_DISSECTOR_F_STOP_AT_ENCAP (Yauheni Kaliuta) [1813365] - [tools] bpf/flow_dissector: support ipv6 flow_label and BPF_FLOW_DISSECTOR_F_STOP_AT_FLOW_LABEL (Yauheni Kaliuta) [1813365] - [tools] selftests/bpf: support BPF_FLOW_DISSECTOR_F_PARSE_1ST_FRAG (Yauheni Kaliuta) [1813365] - [tools] tools/bpf: sync bpf_flow_keys flags (Yauheni Kaliuta) [1813365] - [net] bpf/flow_dissector: support flags in BPF_PROG_TEST_RUN (Yauheni Kaliuta) [1813365] - [documentation] bpf/flow_dissector: document flags (Yauheni Kaliuta) [1813365] - [net] bpf/flow_dissector: pass input flags to BPF flow dissector program (Yauheni Kaliuta) [1813365] - [tools] selftests/bpf: Add selftests for bpf_perf_event_output (Yauheni Kaliuta) [1813365] - [net] bpf: Allow bpf_skb_event_output for a few prog types (Yauheni Kaliuta) [1813365] - [tools] selftests/bpf: remove perf buffer helpers (Yauheni Kaliuta) [1813365] - [samples] samples/bpf: switch trace_output sample to perf_buffer API (Yauheni Kaliuta) [1813365] - [samples] samples/bpf: convert xdp_sample_pkts_user to perf_buffer API (Yauheni Kaliuta) [1813365] - [tools] selftests/bpf: switch test_tcpnotify to perf_buffer API (Yauheni Kaliuta) [1813365] - [tools] selftests/bpf: convert test_get_stack_raw_tp to perf_buffer API (Yauheni Kaliuta) [1813365] - [block] block, bfq: fix use-after-free in bfq_idle_slice_timer_body (Ming Lei) [1823596] - [block] block, bfq: fix overwrite of bfq_group pointer in bfq_find_set_group() (Ming Lei) [1823596] - [block] block, bfq: clarify the goal of bfq_split_bfqq() (Ming Lei) [1823596] - [block] block, bfq: get a ref to a group when adding it to a service tree (Ming Lei) [1823596] - [block] block, bfq: remove ifdefs from around gets/puts of bfq groups (Ming Lei) [1823596] - [block] block, bfq: extend incomplete name of field on_st (Ming Lei) [1823596] - [block] block, bfq: get extra ref to prevent a queue from being freed during a group move (Ming Lei) [1823596] - [block] block, bfq: do not insert oom queue into position tree (Ming Lei) [1823596] - [block] block, bfq: do not plug I/O for bfq_queues with no proc refs (Ming Lei) [1823596] - [block] block, bfq: improve arithmetic division in bfq_delta() (Ming Lei) [1823596] - [block] block/bfq: remove unused bfq_class_rt which never used (Ming Lei) [1823596] - [block] block: Prevent hung_check firing during long sync IO (Ming Lei) [1813383] - [block] brd: check and limit max_part par (Ming Lei) [1790403]- [char] random: silence a lockdep splat with printk() (Brian Masney) [1798900] - [net] SUNRPC: fix krb5p mount to provide large enough buffer in rq_rcvsize (Steve Dickson) [1825388] - [include] percpu-refcount: Use normal instead of RCU-sched" (Waiman Long) [1803822] - [kernel] locking/spinlock/debug: Fix various data races (Waiman Long) [1803822] - [kernel] locktorture: Forgive apparent unfairness if CPU hotplug (Waiman Long) [1803822] - [kernel] locktorture: Use private random-number generators (Waiman Long) [1803822] - [tools] locktorture: Allow CPU-hotplug to be disabled via --bootargs (Waiman Long) [1803822] - [kernel] locking: locktorture: Do not include rwlock.h directly (Waiman Long) [1803822] - [kernel] locktorture: Replace strncmp() with str_has_prefix() (Waiman Long) [1803822] - [kernel] locking/rtmutex: rcu: Add WRITE_ONCE() to rt_mutex ->owner (Waiman Long) [1803822] - [arm64] arm64/spinlock: fix a -Wunused-function warning (Waiman Long) [1803822] - [arm64] locking/osq: Use optimized spinning loop for arm64 (Waiman Long) [1803822] - [kernel] locking/qspinlock: Fix inaccessible URL of MCS lock paper (Waiman Long) [1803822] - [include] string.h: Add str_has_prefix() helper function (Waiman Long) [1803822] - [kernel] futex: Remove {get,drop}_futex_key_refs() (Waiman Long) [1803822] - [kernel] futex: Remove pointless mmgrap() + mmdrop() (Waiman Long) [1803822] - [kernel] futex: Unbreak futex hashing (Waiman Long) [1803822] - [fs] futex: Fix inode life-time issue (Waiman Long) [1803822] - [kernel] futex: Fix kernel-doc notation warning (Waiman Long) [1803822] - [kernel] futex: Prevent exit livelock (Waiman Long) [1803822] - [kernel] futex: Provide distinct return value when owner is exiting (Waiman Long) [1803822] - [include] futex: Add mutex around futex exit (Waiman Long) [1803822] - [kernel] futex: Provide state handling for exec() as well (Waiman Long) [1803822] - [kernel] futex: Sanitize exit state handling (Waiman Long) [1803822] - [kernel] futex: Mark the begin of futex exit explicitly (Waiman Long) [1803822] - [kernel] futex: Set task::futex_state to DEAD right after handling futex exit (Waiman Long) [1803822] - [kernel] futex: Split futex_mm_release() for exit/exec (Waiman Long) [1803822] - [kernel] exit/exec: Seperate mm_release() (Waiman Long) [1803822] - [kernel] futex: Replace PF_EXITPIDONE with a state (Waiman Long) [1803822] - [kernel] futex: Move futex exit handling into futex code (Waiman Long) [1803822] - [kernel] futex: Prevent robust futex exit race (Waiman Long) [1803822] - [kernel] futex: Drop leftover wake_q_add() comment (Waiman Long) [1803822] - [kernel] fork: Provide a function for copying init_mm (Waiman Long) [1803822] - [kernel] y2038: futex: Move compat implementation into futex.c (Waiman Long) [1803822] - [fs] nfsd: Fix races between nfsd4_cb_release() and nfsd4_shutdown_callback() ("J. Bruce Fields") [1797484] - [fs] nfsd: minor 4.1 callback cleanup ("J. Bruce Fields") [1797484] - [video] vgacon: Fix a UAF in vgacon_invert_region (Vladis Dronov) [1818732] {CVE-2020-8647 CVE-2020-8649} - [powerpc] powerpc/xive: Use XIVE_BAD_IRQ instead of zero to catch non configured IPIs (David Gibson) [1773891] - [clocksource] hyper-v: Make sched clock return nanoseconds correctly (Mohammed Gamal) [1816731] - [clocksource] hyper-v: Set TSC clocksource as default w/ InvariantTSC (Mohammed Gamal) [1816731] - [clocksource] hyper-v: Untangle stimers and timesync from clocksources (Mohammed Gamal) [1816731] - [clocksource] hyper-v: Reserve PAGE_SIZE space for tsc page (Mohammed Gamal) [1816731] - [clocksource] x86/hyperv: Initialize clockevents earlier in CPU onlining (Mohammed Gamal) [1816731] - [x86] hyperv: Allow guests to enable InvariantTSC (Mohammed Gamal) [1816731] - [hv] hv: vmbus: Suspend/resume the synic for hibernation (Mohammed Gamal) [1816731] - [hv] hv: vmbus: Break out synic enable and disable operations (Mohammed Gamal) [1816731] - [x86] hyperv: Set pv_info.name to "Hyper-V" (Mohammed Gamal) [1816731] - [x86] hyperv: Hide pv_ops access for CONFIG_PARAVIRT=n (Mohammed Gamal) [1816731] - [clocksource] hyperv: Enable TSC page clocksource on 32bit (Mohammed Gamal) [1816731] - [clocksource] hyperv: Add Hyper-V specific sched clock function (Mohammed Gamal) [1816731] - [clocksource] hyperv: Allocate Hyper-V TSC page statically (Mohammed Gamal) [1816731] - [clocksource] Continue making Hyper-V clocksource ISA agnostic (Mohammed Gamal) [1816731] - [clocksource] Make Hyper-V clocksource ISA agnostic (Mohammed Gamal) [1816731] - [tools] hv: Reopen the devices if read() or write() returns errors (Mohammed Gamal) [1824182] - [tools] hv: add vmbus testing tool (Mohammed Gamal) [1824182] - [tools] hv: move to tools buildsystem (Mohammed Gamal) [1824182] - [tools] hv: kvp: eliminate 'may be used uninitialized' warning (Mohammed Gamal) [1824182] - [tools] hv: fix typos in toolchain (Mohammed Gamal) [1824182] - [tools] hv: fix KVP and VSS daemons exit code (Mohammed Gamal) [1824182] - [tools] hv: fixed Python pep8/flake8 warnings for lsvmbus (Mohammed Gamal) [1824182] - [tools] hv: kvp: Fix a warning of buffer overflow with gcc 8.0.1 (Mohammed Gamal) [1824182] - [tools] hv: fcopy: set 'error' in case an unknown operation was requested (Mohammed Gamal) [1824182] - [tools] hv: Fix a bug in the key delete code (Mohammed Gamal) [1824182] - [tools] hv: vss: fix loop device detection (Mohammed Gamal) [1824182] - [hv] hv: vmbus: Introduce latency testing (Mohammed Gamal) [1824182] - [tools] hv: update lsvmbus to be compatible with python3 (Mohammed Gamal) [1824182]- [hwtracing] coresight: etm4x: Add kernel configuration for CONTEXTID (Michael Petlan) [1818835] - [samples] samples/bpf: fix build by setting HAVE_ATTR_TEST to zero (Michael Petlan) [1818835] - [tools] perf metricgroup: Fix printing event names of metric group with multiple events (Michael Petlan) [1818835] - [tools] perf script: Fix invalid LBR/binary mismatch error (Michael Petlan) [1818835] - [tools] perf c2c: Fix return type for histogram sorting comparision functions (Michael Petlan) [1818835] - [tools] perf session: Fix decompression of PERF_RECORD_COMPRESSED records (Michael Petlan) [1818835] - [tools] perf tools: Fix time sorting (Michael Petlan) [1818835] - [tools] perf tools: Remove unused trace_find_next_event() (Michael Petlan) [1818835] - [tools] perf scripting engines: Iterate on tep event arrays directly (Michael Petlan) [1818835] - [tools] perf tools: Make usage of test_attr__* optional for perf-sys.h (Michael Petlan) [1818835] - [tools] perf kmem: Fix memory leak in compact_gfp_flags() (Michael Petlan) [1818835] - [tools] perf c2c: Fix memory leak in build_cl_output() (Michael Petlan) [1818835] - [tools] perf tools: Fix mode setting in copyfile_mode_ns() (Michael Petlan) [1818835] - [tools] perf annotate: Fix multiple memory and file descriptor leaks (Michael Petlan) [1818835] - [tools] perf tools: Fix resource leak of closedir() on the error paths (Michael Petlan) [1818835] - [tools] perf evlist: Fix fix for freed id arrays (Michael Petlan) [1818835] - [tools] perf annotate: Don't return -1 for error when doing BPF disassembly (Michael Petlan) [1818835] - [tools] perf annotate: Return appropriate error code for allocation failures (Michael Petlan) [1818835] - [tools] perf annotate: Fix arch specific ->init() failure errors (Michael Petlan) [1818835] - [tools] perf annotate: Propagate the symbol__annotate() error return (Michael Petlan) [1818835] - [tools] perf annotate: Fix the signedness of failure returns (Michael Petlan) [1818835] - [tools] perf annotate: Propagate perf_env__arch() error (Michael Petlan) [1818835] - [tools] perf evsel: Fall back to global 'perf_env' in perf_evsel__env() (Michael Petlan) [1818835] - [tools] perf tools: Propagate get_cpuid() error (Michael Petlan) [1818835] - [tools] perf jevents: Fix period for Intel fixed counters (Michael Petlan) [1818835] - [tools] perf script brstackinsn: Fix recovery from LBR/binary mismatch (Michael Petlan) [1818835] - [tools] perf docs: Correct and clarify jitdump spec (Michael Petlan) [1818835] - [tools] perf inject jit: Fix JIT_CODE_MOVE filename (Michael Petlan) [1818835] - [tools] perf map: Fix overlapped map handling (Michael Petlan) [1818835] - [tools] perf vendor events s390: Use s390 machine name instead of type 8561 (Michael Petlan) [1818835] - [tools] perf llvm: Don't access out-of-scope array (Michael Petlan) [1818835] - [tools] perf docs: Allow man page date to be specified (Michael Petlan) [1818835] - [tools] perf tests: Avoid raising SEGV using an obvious NULL dereference (Michael Petlan) [1818835] - [tools] libsubcmd: Make _FORTIFY_SOURCE defines dependent on the feature (Michael Petlan) [1818835] - [tools] perf unwind: Fix libunwind build failure on i386 systems (Michael Petlan) [1818835] - [tools] perf parser: Remove needless include directives (Michael Petlan) [1818835] - [tools] perf build: Add detection of java-11-openjdk-devel package (Michael Petlan) [1818835] - [tools] perf jvmti: Include JVMTI support for s390 (Michael Petlan) [1818835] - [tools] perf evlist: Fix access of freed id arrays (Michael Petlan) [1818835] - [tools] perf stat: Fix free memory access / memory leaks in metrics (Michael Petlan) [1818835] - [tools] perf tools: Replace needless mmap.h with what is needed, event.h (Michael Petlan) [1818835] - [tools] perf evsel: Move config terms to a separate header (Michael Petlan) [1818835] - [tools] perf evlist: Remove unused perf_evlist__fprintf() method (Michael Petlan) [1818835] - [tools] perf evsel: Introduce evsel_fprintf.h (Michael Petlan) [1818835] - [tools] perf evsel: Remove need for symbol_conf in evsel_fprintf.c (Michael Petlan) [1818835] - [tools] perf copyfile: Move copyfile routines to separate files (Michael Petlan) [1818835] - [tools] libperf: Add perf_evlist__poll() function (Michael Petlan) [1818835] - [tools] libperf: Add perf_evlist__add_pollfd() function (Michael Petlan) [1818835] - [tools] libperf: Add perf_evlist__alloc_pollfd() function (Michael Petlan) [1818835] - [tools] libperf: Add libperf_init() call to the tests (Michael Petlan) [1818835] - [tools] libperf: Merge libperf_set_print() into libperf_init() (Michael Petlan) [1818835] - [tools] libperf: Add libperf dependency for tests targets (Michael Petlan) [1818835] - [tools] libperf: Use sys/types.h to get ssize_t, not unistd.h (Michael Petlan) [1818835] - [tools] perf tools: No need to include internal/lib.h from util/util.h (Michael Petlan) [1818835] - [tools] libperf: Move 'page_size' global variable to libperf (Michael Petlan) [1818835] - [tools] libperf: Add perf_evlist__id_add_fd() function (Michael Petlan) [1818835] - [tools] libperf: Add perf_evlist__id_add() function (Michael Petlan) [1818835] - [tools] libperf: Add perf_evlist__read_format() function (Michael Petlan) [1818835] - [tools] libperf: Add perf_evlist__first()/last() functions (Michael Petlan) [1818835] - [tools] libperf: Add perf_evsel__alloc_id/perf_evsel__free_id functions (Michael Petlan) [1818835] - [tools] libperf: Move 'heads' from 'struct evlist' to 'struct perf_evlist' (Michael Petlan) [1818835] - [tools] libperf: Move 'ids' from 'struct evsel' to 'struct perf_evsel' (Michael Petlan) [1818835] - [tools] libperf: Move 'id' from 'struct evsel' to 'struct perf_evsel' (Michael Petlan) [1818835] - [tools] libperf: Move 'sample_id' from 'struct evsel' to 'struct perf_evsel' (Michael Petlan) [1818835] - [tools] libperf: Add missing 'struct xyarray' forward declaration (Michael Petlan) [1818835] - [tools] libperf: Move 'pollfd' from 'struct evlist' to 'struct perf_evlist' (Michael Petlan) [1818835] - [tools] libperf: Move 'mmap_len' from 'struct evlist' to 'struct perf_evlist' (Michael Petlan) [1818835] - [tools] libperf: Move 'nr_mmaps' from 'struct evlist' to 'struct perf_evlist' (Michael Petlan) [1818835] - [tools] libperf: Move 'system_wide' from 'struct evsel' to 'struct perf_evsel' (Michael Petlan) [1818835] - [tools] libperf: Add 'flush' to 'struct perf_mmap' (Michael Petlan) [1818835] - [tools] libperf: Add 'event_copy' to 'struct perf_mmap' (Michael Petlan) [1818835] - [tools] libperf: Add 'overwrite' to 'struct perf_mmap' (Michael Petlan) [1818835] - [tools] libperf: Add prev/start/end to struct perf_mmap (Michael Petlan) [1818835] - [tools] libperf: Add 'refcnt' to struct perf_mmap (Michael Petlan) [1818835] - [tools] libperf: Add 'cpu' to struct perf_mmap (Michael Petlan) [1818835] - [tools] libperf: Add 'fd' to struct perf_mmap (Michael Petlan) [1818835] - [tools] libperf: Add 'mask' to struct perf_mmap (Michael Petlan) [1818835] - [tools] libperf: Add perf_mmap struct (Michael Petlan) [1818835] - [tools] perf evlist: Adopt backwards ring buffer state enum (Michael Petlan) [1818835] - [tools] libperf: Link libapi.a in libperf.so (Michael Petlan) [1818835] - [tools] perf tools: Rename perf_evlist__purge() to evlist__purge() (Michael Petlan) [1818835] - [tools] perf tools: Rename perf_evlist__exit() to evlist__exit() (Michael Petlan) [1818835] - [tools] perf tools: Rename perf_evlist__alloc_mmap() to evlist__alloc_mmap() (Michael Petlan) [1818835] - [tools] perf tools: Rename perf_evlist__munmap() to evlist__munmap() (Michael Petlan) [1818835] - [tools] perf tools: Rename perf_evlist__mmap() to evlist__mmap() (Michael Petlan) [1818835] - [tools] perf tools: Rename 'struct perf_mmap' to 'struct mmap' (Michael Petlan) [1818835] - [tools] tools: Add missing stdio.h include to asm/bug.h header (Michael Petlan) [1818835] - [tools] libtraceevent: Man pages for tep plugins APIs (Michael Petlan) [1818835] - [tools] libtraceevent: Move traceevent plugins in its own subdirectory (Michael Petlan) [1818835] - [tools] libtraceevent: Add tep_get_event() in event-parse.h (Michael Petlan) [1818835] - [tools] libtraceevent: Man pages fix, changes in event printing APIs (Michael Petlan) [1818835] - [tools] libtraceevent: Man pages fix, rename tep_ref_get() to tep_get_ref() (Michael Petlan) [1818835] - [tools] libtraceevent: Man pages for libtraceevent event print related API (Michael Petlan) [1818835] - [tools] libtraceevent: Round up in tep_print_event() time precision (Michael Petlan) [1818835] - [tools] perf record: Move restricted maps check to after a possible fallback to not collect kernel samples (Michael Petlan) [1818835] - [tools] perf record: Fix priv level with branch sampling for paranoid=2 (Michael Petlan) [1818835] - [tools] perf probe: Fix to clear tev->nargs in clear_probe_trace_event() (Michael Petlan) [1818835] - [tools] perf probe: Skip same probe address for a given line (Michael Petlan) [1818835] - [tools] perf tests: Fix static build test (Michael Petlan) [1818835] - [tools] perf kvm stat: Set 'trace_cycles' as default event for 'perf kvm record' in powerpc (Michael Petlan) [1818835] - [tools] perf kvm: Add arch neutral function to choose event for perf kvm record (Michael Petlan) [1818835] - [tools] perf kvm: Move kvm-stat header file from conditional inclusion to common include section (Michael Petlan) [1818835] - [tools] perf test: Fix spelling mistake "allos" -> "allocate" (Michael Petlan) [1818835] - [tools] perf stat: Fix a segmentation fault when using repeat forever (Michael Petlan) [1818835] - [tools] perf stat: Reset previous counts on repeat with interval (Michael Petlan) [1818835] - [tools] tools lib traceevent: Convert remaining pusers to p (Michael Petlan) [1818835] - [tools] perf tools: Move event synthesizing routines to separate .c file (Michael Petlan) [1818835] - [tools] perf memswap: Adopt 'struct u64_swap' from evsel.h (Michael Petlan) [1818835] - [tools] perf tools: Move event synthesizing routines to separate header (Michael Petlan) [1818835] - [tools] perf auxtrace: Add missing 'struct perf_sample' forward declaration (Michael Petlan) [1818835] - [tools] perf sched: Add missing event.h include directive (Michael Petlan) [1818835] - [tools] perf annotate: Add missing machine.h include directive (Michael Petlan) [1818835] - [tools] perf hist: Add missing 'struct branch_stack' forward declaration (Michael Petlan) [1818835] - [tools] perf python: Remove debug.h (Michael Petlan) [1818835] - [tools] perf callchain: Remove needless event.h include (Michael Petlan) [1818835] - [tools] perf stat: Move perf_stat_synthesize_config() to event.h (Michael Petlan) [1818835] - [tools] perf event: Move perf_event__synthesize* to event.h (Michael Petlan) [1818835] - [tools] perf env: Remove needless cpumap.h header (Michael Petlan) [1818835] - [tools] perf symbols: Add missing dso.h header (Michael Petlan) [1818835] - [tools] perf probe: Add missing build-id.h header (Michael Petlan) [1818835] - [tools] perf tools: Remove util.h from where it is not needed (Michael Petlan) [1818835] - [tools] perf tools: Remove debug.h from places where it is not needed (Michael Petlan) [1818835] - [tools] perf debug: No need to include ui/util.h (Michael Petlan) [1818835] - [tools] perf tools: Remove needless builtin.h include directives (Michael Petlan) [1818835] - [tools] perf tools: Add PMU event JSON files for ARM Cortex-A76 and, Neoverse N1 (Michael Petlan) [1818835] - [tools] libperf: Adopt perf_cpu_map__max() function (Michael Petlan) [1818835] - [tools] libperf: Add missing event.h file to install rule (Michael Petlan) [1818835] - [tools] perf tests: Add libperf automated test for 'make -C tools/perf build-test' (Michael Petlan) [1818835] - [tools] perf python: Add missing python/perf.so dependency for libperf (Michael Petlan) [1818835] - [tools] perf build: Ignore intentional differences for the x86 insn decoder (Michael Petlan) [1818835] - [tools] perf intel-pt: Use shared x86 insn decoder (Michael Petlan) [1818835] - [tools] objtool: Move x86 insn decoder to a common location (Michael Petlan) [1818835] - [tools] perf intel-pt: Remove inat.c from build dependency list (Michael Petlan) [1818835] - [tools] perf: Update .gitignore file (Michael Petlan) [1818835] - [tools] perf metricgroup: Support multiple events for metricgroup (Michael Petlan) [1818835] - [tools] perf metricgroup: Scale the metric result (Michael Petlan) [1818835] - [tools] perf pmu: Change convert_scale from static to global (Michael Petlan) [1818835] - [tools] perf symbols: Move mem_info and branch_info out of symbol.h (Michael Petlan) [1818835] - [tools] perf auxtrace: Uninline functions that touch perf_session (Michael Petlan) [1818835] - [tools] perf tools: Remove needless evlist.h include directives (Michael Petlan) [1818835] - [tools] perf tools: Remove needless evlist.h include directives (Michael Petlan) [1818835] - [tools] perf tools: Remove needless thread_map.h include directives (Michael Petlan) [1818835] - [tools] perf tools: Remove needless thread.h include directives (Michael Petlan) [1818835] - [tools] perf tools: Remove needless map.h include directives (Michael Petlan) [1818835] - [tools] perf probe: No need for symbol.h, symbol_conf is enough (Michael Petlan) [1818835] - [tools] perf tools: Remove needless sort.h include directives (Michael Petlan) [1818835] - [tools] perf tools: Move 'struct events_stats' and prototypes to separate header (Michael Petlan) [1818835] - [tools] perf hist: Remove needless ui/progress.h from hist.h (Michael Petlan) [1818835] - [tools] perf dsos: Move the dsos struct and its methods to separate source files (Michael Petlan) [1818835] - [tools] perf symbols: Move symsrc prototypes to a separate header (Michael Petlan) [1818835] - [tools] perf symbols: Add missing linux/refcount.h to symbol.h (Michael Petlan) [1818835] - [tools] perf symbol: Move C++ demangle defines to the only file using it (Michael Petlan) [1818835] - [tools] perf dso: Adopt DSO related macros from symbol.h (Michael Petlan) [1818835] - [tools] libtraceevent: Change users plugin directory (Michael Petlan) [1818835] - [tools] libtraceevent: Remove tep_register_trace_clock() (Michael Petlan) [1818835] - [tools] libtraceevent, perf tools: Changes in tep_print_event_* APIs (Michael Petlan) [1818835] - [tools] perf event: Remove needless include directives from event.h (Michael Petlan) [1818835] - [tools] perf env: Remove env.h from other headers where just a fwd decl is needed (Michael Petlan) [1818835] - [tools] perf debug: Remove needless include directives from debug.h (Michael Petlan) [1818835] - [tools] perf tools: Remove debug.h from header files not needing it (Michael Petlan) [1818835] - [tools] perf tools: Remove perf.h from source files not needing it (Michael Petlan) [1818835] - [tools] perf tools: Remove needless perf.h include directive from headers (Michael Petlan) [1818835] - [tools] perf time-utils: Adopt rdclock() from perf.h (Michael Petlan) [1818835] - [tools] perf tools: Move everything related to sys_perf_event_open() to perf-sys.h (Michael Petlan) [1818835] - [tools] perf header: Move CPUINFO_PROC to the only file where it is used (Michael Petlan) [1818835] - [tools] perf tools: Remove needless libtraceevent include directives (Michael Petlan) [1818835] - [tools] libperf: Warn when exceeding MAX_NR_CPUS in cpumap (Michael Petlan) [1818835] - [tools] perf c2c: Display proper cpu count in nodes column (Michael Petlan) [1818835] - [tools] tools lib traceevent: Remove unneeded qsort and uses memmove instead (Michael Petlan) [1818835] - [tools] tools lib traceevent: Do not free tep->cmdlines in add_new_comm() on failure (Michael Petlan) [1818835] - [tools] perf evlist: Use unshare(CLONE_FS) in sb threads to let setns(CLONE_NEWNS) work (Michael Petlan) [1818835] - [tools] libperf: Move 'enum perf_user_event_type' to perf/event.h (Michael Petlan) [1818835] - [tools] libperf: Rename the PERF_RECORD_ structs to have a "perf" prefix (Michael Petlan) [1818835] - [tools] libperf: Add 'union perf_event' to perf/event.h (Michael Petlan) [1818835] - [tools] libperf: Add PERF_RECORD_COMPRESSED 'struct compressed_event' to perf/event.h (Michael Petlan) [1818835] - [tools] libperf: Add PERF_RECORD_HEADER_FEATURE 'struct feature_event' to perf/event.h (Michael Petlan) [1818835] - [tools] libperf: Add PERF_RECORD_TIME_CONV 'struct time_conv_event' to perf/event.h (Michael Petlan) [1818835] - [tools] libperf: Add PERF_RECORD_STAT_ROUND 'struct stat_round_event' to perf/event.h (Michael Petlan) [1818835] - [tools] libperf: Add PERF_RECORD_STAT 'struct stat_event' to perf/event.h (Michael Petlan) [1818835] - [tools] libperf: Add PERF_RECORD_STAT_CONFIG 'struct stat_config_event' to perf/event.h (Michael Petlan) [1818835] - [tools] libperf: Add PERF_RECORD_THREAD_MAP 'struct thread_map_event' to perf/event.h (Michael Petlan) [1818835] - [tools] libperf: Add PERF_RECORD_SWITCH 'struct context_switch_event' to perf/event.h (Michael Petlan) [1818835] - [tools] libperf: Add PERF_RECORD_ITRACE_START 'struct itrace_start_event' to perf/event.h (Michael Petlan) [1818835] - [tools] libperf: Add PERF_RECORD_AUX 'struct aux_event' to perf/event.h (Michael Petlan) [1818835] - [tools] libperf: Add PERF_RECORD_AUXTRACE_ERROR 'struct auxtrace_error_event' to perf/event.h (Michael Petlan) [1818835] - [tools] libperf: Add PERF_RECORD_AUXTRACE 'struct auxtrace_event' to perf/event.h (Michael Petlan) [1818835] - [tools] libperf: Add PERF_RECORD_AUXTRACE_INFO 'struct auxtrace_info_event' to perf/event.h (Michael Petlan) [1818835] - [tools] libperf: Add PERF_RECORD_ID_INDEX 'struct id_index_event' to perf/event.h (Michael Petlan) [1818835] - [tools] libperf: Add PERF_RECORD_HEADER_BUILD_ID 'struct build_id_event' to perf/event.h (Michael Petlan) [1818835] - [tools] libperf: Add PERF_RECORD_HEADER_TRACING_DATA 'struct tracing_data_event' to perf/event.h (Michael Petlan) [1818835] - [tools] libperf: Add PERF_RECORD_HEADER_EVENT_TYPE 'struct event_type_event' to perf/event.h (Michael Petlan) [1818835] - [tools] libperf: Add PERF_RECORD_EVENT_UPDATE 'struct event_update_event' to perf/event.h (Michael Petlan) [1818835] - [tools] libperf: Add PERF_RECORD_CPU_MAP 'struct cpu_map_event' to perf/event.h (Michael Petlan) [1818835] - [tools] libperf: Add PERF_RECORD_HEADER_ATTR 'struct attr_event' to perf/event.h (Michael Petlan) [1818835] - [tools] perf top: Fix event group with more than two events (Michael Petlan) [1818835] - [tools] perf top: Decay all events in the evlist (Michael Petlan) [1818835] - [tools] perf clang: Delete needless util-cxx.h header (Michael Petlan) [1818835] - [tools] perf evlist: Remove needless util.h from evlist.h (Michael Petlan) [1818835] - [tools] perf tools: Remove needless util.h include from builtin.h (Michael Petlan) [1818835] - [tools] perf tools: Warn that perf_event_paranoid can restrict kernel symbols (Michael Petlan) [1818835] - [tools] perf symbols: Use CAP_SYSLOG with kptr_restrict checks (Michael Petlan) [1818835] - [tools] perf evsel: Kernel profiling is disallowed only when perf_event_paranoid > 1 (Michael Petlan) [1818835] - [tools] perf tools: Use CAP_SYS_ADMIN with perf_event_paranoid checks (Michael Petlan) [1818835] - [tools] perf event: Check ref_reloc_sym before using it (Michael Petlan) [1818835] - [tools] perf arch powerpc: Sync powerpc syscall.tbl (Michael Petlan) [1818835] - [tools] perf evsel: Rename perf_missing_features::bpf_event to ::bpf (Michael Petlan) [1818835] - [tools] perf tool: Rename perf_tool::bpf_event to bpf (Michael Petlan) [1818835] - [tools] perf tools: Rename perf_event::bpf_event to perf_event::bpf (Michael Petlan) [1818835] - [tools] perf tools: Rename perf_event::ksymbol_event to perf_event::ksymbol (Michael Petlan) [1818835] - [tools] libperf: Rename the PERF_RECORD_ structs to have a "perf" suffix (Michael Petlan) [1818835] - [tools] libperf: Add PERF_RECORD_SAMPLE 'struct sample_event' to perf/event.h (Michael Petlan) [1818835] - [tools] libperf: Add PERF_RECORD_BPF_EVENT 'struct bpf_event' to perf/event.h (Michael Petlan) [1818835] - [tools] libperf: Add PERF_RECORD_KSYMBOL 'struct ksymbol_event' to perf/event.h (Michael Petlan) [1818835] - [tools] libperf: Add PERF_RECORD_THROTTLE 'struct throttle_event' to perf/event.h (Michael Petlan) [1818835] - [tools] libperf: Add PERF_RECORD_READ 'struct read_event' to perf/event.h (Michael Petlan) [1818835] - [tools] libperf: Add PERF_RECORD_LOST_SAMPLES 'struct lost_samples_event' to perf/event.h (Michael Petlan) [1818835] - [tools] libperf: Add PERF_RECORD_LOST 'struct lost_event' to perf/event.h (Michael Petlan) [1818835] - [tools] libperf: Add PERF_RECORD_FORK 'struct fork_event' to perf/event.h (Michael Petlan) [1818835] - [tools] libperf: Add PERF_RECORD_NAMESPACES 'struct namespaces_event' to perf/event.h (Michael Petlan) [1818835] - [tools] libperf: Add PERF_RECORD_COMM 'struct comm_event' to perf/event.h (Michael Petlan) [1818835] - [tools] libperf: Add PERF_RECORD_MMAP2 'struct mmap2_event' to perf/event.h (Michael Petlan) [1818835] - [tools] libperf: Add PERF_RECORD_MMAP 'struct mmap_event' to perf/event.h (Michael Petlan) [1818835] - [tools] perf script: Fix memory leaks in list_scripts() (Michael Petlan) [1818835] - [tools] perf report: Fix --ns time sort key output (Michael Petlan) [1818835] - [tools] perf report: Use timestamp__scnprintf_nsec() for time sort key (Michael Petlan) [1818835] - [tools] perf augmented_raw_syscalls: Reduce perf_event_output() boilerplate (Michael Petlan) [1818835] - [tools] perf augmented_raw_syscalls: Introduce helper to get the scratch space (Michael Petlan) [1818835] - [tools] perf augmented_raw_syscalls: Postpone tmp map lookup to after pid_filter (Michael Petlan) [1818835] - [tools] perf augmented_raw_syscalls: Rename augmented_filename to augmented_arg (Michael Petlan) [1818835] - [tools] perf trace beauty ioctl: Fix off-by-one error in cmd->string table (Michael Petlan) [1818835] - [tools] perf tests: Fixes hang in zstd compression test by changing the source of random data (Michael Petlan) [1818835] - [tools] perf sort: Remove needless headers from sort.h, provide fwd struct decls (Michael Petlan) [1818835] - [tools] perf srcline: Add missing srcline.h header to files needing its defs (Michael Petlan) [1818835] - [tools] perf cacheline: Move cacheline related routines to separate files (Michael Petlan) [1818835] - [tools] perf record: Move record_opts and other record decls out of perf.h (Michael Petlan) [1818835] - [tools] perf stat: Remove needless headers from stat.h (Michael Petlan) [1818835] - [tools] perf cpumap: No need to include perf.h, ditch it (Michael Petlan) [1818835] - [tools] libperf: Fix alignment trap with xyarray contents in 'perf stat' (Michael Petlan) [1818835] - [tools] libperf: Add perf_thread_map__nr/perf_thread_map__pid functions (Michael Petlan) [1818835] - [tools] perf cpumap: Remove needless includes from cpumap.h (Michael Petlan) [1818835] - [tools] perf evsel: Switch to libperf's cpumap.h (Michael Petlan) [1818835] - [tools] perf x86 kvm-stat: Add missing string.h header (Michael Petlan) [1818835] - [tools] perf evsel: util/evsel.h needs stdio.h as it uses FILE (Michael Petlan) [1818835] - [tools] perf evsel: Remove needless stddef.h from util/evsel.h (Michael Petlan) [1818835] - [tools] perf evsel: Remove needless counts.h header from util/evsel.h (Michael Petlan) [1818835] - [tools] perf evsel: Add missing perf/evsel.h header in util/evsel.h (Michael Petlan) [1818835] - [tools] perf scripting python: Add missing counts.h header (Michael Petlan) [1818835] - [tools] perf stat: Add missing counts.h (Michael Petlan) [1818835] - [tools] perf tests: Add missing counts.h (Michael Petlan) [1818835] - [tools] perf script: Add missing counts.h (Michael Petlan) [1818835] - [tools] perf evlist: Add missing xyarray.h header (Michael Petlan) [1818835] - [tools] perf bpf: Add missing xyarray.h header (Michael Petlan) [1818835] - [tools] perf counts: Add missing headers needed for types used (Michael Petlan) [1818835] - [tools] perf evsel: Move xyarray.h from evsel.c to evsel.h to reduce include dep tree (Michael Petlan) [1818835] - [tools] perf metricgroup: Remove needless includes from metricgroup.h (Michael Petlan) [1818835] - [tools] perf kvm s390: Add missing string.h header (Michael Petlan) [1818835] - [tools] perf arm64: Add missing debug.h header (Michael Petlan) [1818835] - [tools] libperf: Move perf's cpu_map__idx() to perf_cpu_map__idx() (Michael Petlan) [1818835] - [tools] libperf: Move perf's cpu_map__empty() to perf_cpu_map__empty() (Michael Petlan) [1818835] - [tools] perf tools: Use perf_cpu_map__nr instead of cpu_map__nr (Michael Petlan) [1818835] - [tools] tools headers: Add missing perf_event.h include (Michael Petlan) [1818835] - [tools] libperf: Fix arch include paths (Michael Petlan) [1818835] - [tools] tools headers: Fixup bitsperlong per arch includes (Michael Petlan) [1818835] - [tools] perf top: Show info message while collecting samples (Michael Petlan) [1818835] - [tools] perf ui browser: Allow specifying message to show when no samples are available to display (Michael Petlan) [1818835] - [tools] perf ui: Introduce non-interactive ui__info_window() function (Michael Petlan) [1818835] - [tools] perf ui: Make 'exit_msg' optional in ui__question_window() (Michael Petlan) [1818835] - [tools] perf cs-etm: Support sample flags 'insn' and 'insnlen' (Michael Petlan) [1818835] - [tools] perf report: Prefer DWARF callstacks to LBR ones when captured both (Michael Petlan) [1818835] - [tools] perf report: Dump LBR callstack data by -D jointly with thread stack (Michael Petlan) [1818835] - [tools] perf record: Enable LBR callstack capture jointly with thread stack (Michael Petlan) [1818835] - [tools] tools lib traceevent: Fix "robust" test of do_generate_dynamic_list_file (Michael Petlan) [1818835] - [tools] perf evsel: Add comment for 'idx' member in 'struct perf_sample_id (Michael Petlan) [1818835] - [tools] tools headers: Synchronize linux/bits.h with the kernel sources (Michael Petlan) [1818835] - [tools] tools headers: Grab copy of linux/const.h, needed by linux/bits.h (Michael Petlan) [1818835] - [tools] perf tools: tools/include should come before tools/uapi/include (Michael Petlan) [1818835] - [tools] tools headers: Add limits.h to access __WORDSIZE (Michael Petlan) [1818835] - [tools] perf unwind: Remove unnecessary test (Michael Petlan) [1818835] - [tools] perf unwind: Fix libunwind when tid != pid (Michael Petlan) [1818835] - [tools] perf map: Use zalloc for map_groups (Michael Petlan) [1818835] - [tools] perf report: Add --switch-on/--switch-off events (Michael Petlan) [1818835] - [tools] perf top: Add --switch-on/--switch-off events (Michael Petlan) [1818835] - [tools] perf trace: Add --switch-on/--switch-off events (Michael Petlan) [1818835] - [tools] perf evswitch: Add hint when not finding specified on/off events (Michael Petlan) [1818835] - [tools] perf evswitch: Move enoent error message printing to separate function (Michael Petlan) [1818835] - [tools] perf evswitch: Introduce init() method to set the on/off evsels from the command line (Michael Petlan) [1818835] - [tools] perf evswitch: Introduce OPTS_EVSWITCH() for cmd line processing (Michael Petlan) [1818835] - [tools] perf evswitch: Add the names of on/off events (Michael Petlan) [1818835] - [tools] perf evswitch: Move switch logic to use in other tools (Michael Petlan) [1818835] - [tools] perf evswitch: Move struct to a separate header to use in other tools (Michael Petlan) [1818835] - [tools] perf script: Allow specifying event to switch off processing of other events (Michael Petlan) [1818835] - [tools] perf script: Allow showing the --switch-on event (Michael Petlan) [1818835] - [tools] perf script: Allow specifying event to switch on processing of other events (Michael Petlan) [1818835] - [tools] perf vendor events intel: Add Tremontx event file v1.02 (Michael Petlan) [1818835] - [tools] perf ui: No need to set ui_browser to 1 twice (Michael Petlan) [1818835] - [tools] perf record: Support aarch64 random socket_id assignment (Michael Petlan) [1818835] - [tools] perf.data documentation: Clarify HEADER_SAMPLE_TOPOLOGY format (Michael Petlan) [1818835] - [tools] perf evsel: Provide meaningful warning when trying to use 'aux_output' on older kernels (Michael Petlan) [1818835] - [tools] perf intel-pt: Add brief documentation for PEBS via Intel PT (Michael Petlan) [1818835] - [tools] perf tools: Add aux-output config term (Michael Petlan) [1818835] - [tools] perf intel-pt: Process options for PEBS event synthesis (Michael Petlan) [1818835] - [tools] perf tools: Add itrace option 'o' to synthesize aux-output events (Michael Petlan) [1818835] - [tools] perf tools: Add aux_output attribute flag (Michael Petlan) [1818835] - [tools] perf record: Add an option to take an AUX snapshot on exit (Michael Petlan) [1818835] - [tools] perf ftrace: Improve error message about capability to use ftrace (Michael Petlan) [1818835] - [tools] perf ftrace: Use CAP_SYS_ADMIN instead of euid==0 (Michael Petlan) [1818835] - [tools] perf tools: Add CAP_SYSLOG define for older systems (Michael Petlan) [1818835] - [tools] perf tools: Add NO_LIBCAP=1 to the minimal build test (Michael Petlan) [1818835] - [tools] perf tools: Add helpers to use capabilities if present (Michael Petlan) [1818835] - [tools] tools build: Add capability-related feature detection (Michael Petlan) [1818835] - [tools] perf top: Collapse and resort all evsels in a group (Michael Petlan) [1818835] - [tools] perf hist: Remove dummy entries when finding real ones (Michael Petlan) [1818835] - [tools] perf trace: Fix segmentation fault when access syscall info on arm64 (Michael Petlan) [1818835] - [tools] perf hists: Do not link a pair if already linked (Michael Petlan) [1818835] - [tools] perf top: Set display thread COMM to help with debugging (Michael Petlan) [1818835] - [tools] perf vendor events intel: Add Icelake V1.00 event file (Michael Petlan) [1818835] - [tools] perf tools: Fix paths in include statements (Michael Petlan) [1818835] - [tools] perf test vfs_getname: Disable ~/.perfconfig to get default output (Michael Petlan) [1818835] - [tools] perf config: Document the PERF_CONFIG environment variable (Michael Petlan) [1818835] - [tools] perf config: Honour $PERF_CONFIG env var to specify alternate .perfconfig (Michael Petlan) [1818835] - [tools] perf session: Avoid infinite loop when seeing invalid header.size (Michael Petlan) [1818835] - [tools] libperf: Initial documentation (Michael Petlan) [1818835] - [tools] libperf: Add perf_evsel__enable/disable test (Michael Petlan) [1818835] - [tools] libperf: Add perf_evlist__enable/disable test (Michael Petlan) [1818835] - [tools] libperf: Add perf_evsel tests (Michael Petlan) [1818835] - [tools] libperf: Add perf_evlist test (Michael Petlan) [1818835] - [tools] libperf: Add perf_thread_map test (Michael Petlan) [1818835] - [tools] libperf: Add perf_cpu_map test (Michael Petlan) [1818835] - [tools] libperf: Add tests support (Michael Petlan) [1818835] - [tools] libperf: Add install targets (Michael Petlan) [1818835] - [tools] libperf: Add perf_evsel__attr() function (Michael Petlan) [1818835] - [tools] libperf: Adopt perf_evlist__enable()/disable() functions from perf (Michael Petlan) [1818835] - [tools] libperf: Adopt simplified perf_evlist__open()/close() functions from tools/perf (Michael Petlan) [1818835] - [tools] libperf: Add perf_evsel__cpus()/threads() functions (Michael Petlan) [1818835] - [tools] libperf: Add perf_cpu_map__for_each_cpu() macro (Michael Petlan) [1818835] - [tools] libperf: Adopt perf_evsel__enable()/disable()/apply_filter() functions (Michael Petlan) [1818835] - [tools] libperf: Adopt perf_evsel__read() function from tools/perf (Michael Petlan) [1818835] - [tools] libperf: Adopt simplified perf_evsel__close() function from tools/perf (Michael Petlan) [1818835] - [tools] libperf: Adopt simplified perf_evsel__open() function from tools/perf (Michael Petlan) [1818835] - [tools] libperf: Adopt perf_evsel__alloc_fd() function from tools/perf (Michael Petlan) [1818835] - [tools] libperf: Adopt the readn()/writen() functions from tools/perf (Michael Petlan) [1818835] - [tools] libperf: Move nr_members from perf's evsel to libperf's perf_evsel (Michael Petlan) [1818835] - [tools] libperf: Move fd array from perf's evsel to lobperf's perf_evsel class (Michael Petlan) [1818835] - [tools] libperf: Adopt xyarray class from perf (Michael Petlan) [1818835] - [tools] libperf: Add perf_evlist__set_maps() function (Michael Petlan) [1818835] - [tools] libperf: Add threads to struct perf_evlist (Michael Petlan) [1818835] - [tools] libperf: Add cpus to struct perf_evlist (Michael Petlan) [1818835] - [tools] libperf: Add has_user_cpus to struct perf_evlist (Michael Petlan) [1818835] - [tools] libperf: Add threads to struct perf_evsel (Michael Petlan) [1818835] - [tools] libperf: Add own_cpus to struct perf_evsel (Michael Petlan) [1818835] - [tools] libperf: Add cpus to struct perf_evsel (Michael Petlan) [1818835] - [tools] libperf: Add perf_evsel__delete() function (Michael Petlan) [1818835] - [tools] libperf: Add perf_evlist__delete() function (Michael Petlan) [1818835] - [tools] libperf: Add perf_evlist__for_each_evsel() iterator (Michael Petlan) [1818835] - [tools] libperf: Add perf_evsel__new() function (Michael Petlan) [1818835] - [tools] libperf: Add perf_evlist__new() function (Michael Petlan) [1818835] - [tools] libperf: Move zalloc.o into libperf (Michael Petlan) [1818835] - [tools] libperf: Add perf_cpu_map__new()/perf_cpu_map__read() functions (Michael Petlan) [1818835] - [tools] libperf: Move perf_event_attr field from perf's evsel to libperf's perf_evsel (Michael Petlan) [1818835] - [tools] libperf: Add nr_entries to struct perf_evlist (Michael Petlan) [1818835] - [tools] libperf: Add perf_evlist__remove() function (Michael Petlan) [1818835] - [tools] libperf: Add perf_evlist__add() function (Michael Petlan) [1818835] - [tools] libperf: Add perf_evlist__init() function (Michael Petlan) [1818835] - [tools] libperf: Add perf_evsel__init function (Michael Petlan) [1818835] - [tools] libperf: Include perf_evlist in evlist object (Michael Petlan) [1818835] - [tools] libperf: Include perf_evsel in evsel object (Michael Petlan) [1818835] - [tools] libperf: Add perf_evlist and perf_evsel structs (Michael Petlan) [1818835] - [tools] libperf: Add perf_thread_map__get()/perf_thread_map__put() (Michael Petlan) [1818835] - [tools] libperf: Add perf_thread_map__new_dummy() function (Michael Petlan) [1818835] - [tools] libperf: Add perf_thread_map struct (Michael Petlan) [1818835] - [tools] libperf: Add perf_cpu_map__get()/perf_cpu_map__put() (Michael Petlan) [1818835] - [tools] libperf: Add perf_cpu_map__dummy_new() function (Michael Petlan) [1818835] - [tools] libperf: Add perf_cpu_map struct (Michael Petlan) [1818835] - [tools] libperf: Add debug output support (Michael Petlan) [1818835] - [tools] libperf: Add perf/core.h header (Michael Petlan) [1818835] - [tools] libperf: Add libperf to the python.so build (Michael Petlan) [1818835] - [tools] libperf: Add build version support (Michael Petlan) [1818835] - [tools] libperf: Make libperf.a part of the perf build (Michael Petlan) [1818835] - [tools] perf evlist: Rename perf_evlist__disable() to evlist__disable() (Michael Petlan) [1818835] - [tools] perf evlist: Rename perf_evlist__enable() to evlist__enable() (Michael Petlan) [1818835] - [tools] perf evlist: Rename perf_evlist__close() to evlist__close() (Michael Petlan) [1818835] - [tools] perf evlist: Rename perf_evlist__open() to evlist__open() (Michael Petlan) [1818835] - [tools] perf evsel: Rename perf_evsel__cpus() to evsel__cpus() (Michael Petlan) [1818835] - [tools] perf evsel: Rename perf_evsel__apply_filter() to evsel__apply_filter() (Michael Petlan) [1818835] - [tools] perf evsel: Rename perf_evsel__disable() to evsel__disable() (Michael Petlan) [1818835] - [tools] perf evsel: Rename perf_evsel__enable() to evsel__enable() (Michael Petlan) [1818835] - [tools] perf evsel: Rename perf_evsel__open() to evsel__open() (Michael Petlan) [1818835] - [tools] perf evlist: Rename perf_evlist__remove() to evlist__remove() (Michael Petlan) [1818835] - [tools] perf evlist: Rename perf_evlist__add() to evlist__add() (Michael Petlan) [1818835] - [tools] perf evsel: Rename perf_evsel__new() to evsel__new() (Michael Petlan) [1818835] - [tools] perf evsel: Rename perf_evsel__delete() to evsel__delete() (Michael Petlan) [1818835] - [tools] perf evlist: Rename perf_evlist__delete() to evlist__delete() (Michael Petlan) [1818835] - [tools] perf evlist: Rename perf_evlist__new() to evlist__new() (Michael Petlan) [1818835] - [tools] perf evlist: Rename perf_evlist__init() to evlist__init() (Michael Petlan) [1818835] - [tools] perf evsel: Rename perf_evsel__init() to evsel__init() (Michael Petlan) [1818835] - [tools] perf evlist: Rename struct perf_evlist to struct evlist (Michael Petlan) [1818835] - [tools] perf evsel: Rename struct perf_evsel to struct evsel (Michael Petlan) [1818835] - [tools] perf tools: Rename struct thread_map to struct perf_thread_map (Michael Petlan) [1818835] - [tools] perf cpu_map: Rename struct cpu_map to struct perf_cpu_map (Michael Petlan) [1818835] - [tools] perf stat: Move loaded out of struct perf_counts_values (Michael Petlan) [1818835] - [tools] perf trace: Add "sendfile64" alias to the "sendfile" syscall (Michael Petlan) [1818835] - [tools] perf trace: Reuse BPF augmenters from syscalls with similar args signature (Michael Petlan) [1818835] - [tools] perf trace: Preallocate the syscall table (Michael Petlan) [1818835] - [tools] perf trace: Mark syscall ids that are not allocated to avoid unnecessary error messages (Michael Petlan) [1818835] - [tools] perf trace: Forward error codes when trying to read syscall info (Michael Petlan) [1818835] - [tools] perf trace beauty: Add BPF augmenter for the 'rename' syscall (Michael Petlan) [1818835] - [tools] perf trace beauty: Beautify bind's sockaddr arg (Michael Petlan) [1818835] - [tools] perf trace beauty: Beautify 'sendto's sockaddr arg (Michael Petlan) [1818835] - [tools] perf trace beauty: Do not try to use the fd->pathname beautifier for bind/connect fd arg (Michael Petlan) [1818835] - [tools] perf trace beauty: Disable fd->pathname when close() not enabled (Michael Petlan) [1818835] - [tools] perf trace beauty: Make connect's addrlen be printed as an int, not hex (Michael Petlan) [1818835] - [tools] perf augmented_raw_syscalls: Augment sockaddr arg in 'connect' (Michael Petlan) [1818835] - [tools] perf augmented_raw_syscalls: Rename augmented_args_filename to augmented_args_payload (Michael Petlan) [1818835] - [tools] perf trace: Look for default name for entries in the syscalls prog array (Michael Petlan) [1818835] - [tools] perf augmented_raw_syscalls: Support copying two string syscall args (Michael Petlan) [1818835] - [tools] perf augmented_raw_syscalls: Switch to using BPF_MAP_TYPE_PROG_ARRAY (Michael Petlan) [1818835] - [tools] perf augmented_raw_syscalls: Add handler for "openat" (Michael Petlan) [1818835] - [tools] perf trace: Handle raw_syscalls:sys_enter just like the BPF_OUTPUT augmented event (Michael Petlan) [1818835] - [tools] perf trace: Put the per-syscall entry/exit prog_array BPF map infrastructure in place (Michael Petlan) [1818835] - [tools] perf trace: Allow specifying the bpf prog to augment specific syscalls (Michael Petlan) [1818835] - [tools] perf trace: Add BPF handler for unaugmented syscalls (Michael Petlan) [1818835] - [tools] perf trace: Order -e syscalls table (Michael Petlan) [1818835] - [tools] perf trace: Look up maps just on the __augmented_syscalls__ BPF object (Michael Petlan) [1818835] - [tools] perf trace: Add pointer to BPF object containing __augmented_syscalls__ (Michael Petlan) [1818835] - [tools] perf evsel: Store backpointer to attached bpf_object (Michael Petlan) [1818835] - [tools] perf bpf: Do not attach a BPF prog to a tracepoint if its name starts with ! (Michael Petlan) [1818835] - [tools] perf include bpf: Add bpf_tail_call() prototype (Michael Petlan) [1818835] - [tools] perf: cs-etm: Optimize option setup for CPU-wide sessions (Michael Petlan) [1818835] - [tools] perf cs-etm: Remove duplicate GENMASK() define, use linux/bits.h instead (Michael Petlan) [1818835] - [tools] perf cs-etm: Add support for CPU-wide trace scenarios (Michael Petlan) [1818835] - [tools] perf cs-etm: Add notion of time to decoding code (Michael Petlan) [1818835] - [tools] perf cs-etm: Linking PE contextID with perf thread mechanic (Michael Petlan) [1818835] - [tools] perf cs-etm: Add support for multiple traceID queues (Michael Petlan) [1818835] - [tools] perf cs-etm: Use traceID aware memory callback API (Michael Petlan) [1818835] - [tools] perf cs-etm: Move tid/pid to traceid_queue (Michael Petlan) [1818835] - [tools] perf cs-etm: Move thread to traceid_queue (Michael Petlan) [1818835] - [tools] perf cs-etm: Get rid of unused cpu in struct cs_etm_queue (Michael Petlan) [1818835] - [tools] perf cs-etm: Introduce the concept of trace ID queues (Michael Petlan) [1818835] - [tools] perf cs-etm: Fix indentation in function cs_etm__process_decoder_queue() (Michael Petlan) [1818835] - [tools] perf cs-etm: Move packet queue out of decoder structure (Michael Petlan) [1818835] - [tools] perf cs-etm: Refactor error path in cs_etm_decoder__new() (Michael Petlan) [1818835] - [tools] perf cs-etm: Add handling of switch-CPU-wide events (Michael Petlan) [1818835] - [tools] perf cs-etm: Add handling of itrace start events (Michael Petlan) [1818835] - [tools] perf cs-etm: Configure SWITCH_EVENTS in CPU-wide mode (Michael Petlan) [1818835] - [tools] perf cs-etm: Configure timestamp generation in CPU-wide mode (Michael Petlan) [1818835] - [tools] perf cs-etm: Configure contextID tracing in CPU-wide mode (Michael Petlan) [1818835] - [kernel] perf/core: Fix missing static inline on perf_cgroup_switch() (Michael Petlan) [1818835] - [kernel] perf/core: Consistently fail fork on allocation failures (Michael Petlan) [1818835] - [kernel] perf/core: Disallow uncore-cgroup events (Michael Petlan) [1818835] - [include] perf/headers: Fix spelling s/EACCESS/EACCES/, s/privilidge/privilege/ (Michael Petlan) [1818835] - [x86] perf/x86/uncore: Fix event group support (Michael Petlan) [1818835] - [kernel] perf/core: Start rejecting the syscall with attr.__reserved_2 set (Michael Petlan) [1818835] - [kernel] perf/aux: Fix tracking of auxiliary trace buffer allocation (Michael Petlan) [1818835] - [x86] perf/x86/intel/pt: Fix base for single entry topa (Michael Petlan) [1818835] - [x86] perf/x86/cstate: Add Tiger Lake CPU support (Michael Petlan) [1818835] - [x86] perf/x86/msr: Add Tiger Lake CPU support (Michael Petlan) [1818835] - [x86] perf/x86/intel: Add Tiger Lake CPU support (Michael Petlan) [1818835] - [x86] perf/x86/cstate: Update C-state counters for Ice Lake (Michael Petlan) [1818835] - [x86] perf/x86/msr: Add new CPU model numbers for Ice Lake (Michael Petlan) [1818835] - [kernel] perf/core: Fix corner case in perf_rotate_context() (Michael Petlan) [1818835] - [kernel] perf/core: Rework memory accounting in perf_mmap() (Michael Petlan) [1818835] - [kernel] perf/core: Fix several typos in comments (Michael Petlan) [1818835] - [x86] perf/x86: Make more stuff static (Michael Petlan) [1818835] - [x86] perf/x86/intel/pt: Get rid of reverse lookup table for ToPA (Michael Petlan) [1818835] - [x86] perf/x86/intel/pt: Free up space in a ToPA descriptor (Michael Petlan) [1818835] - [x86] perf/x86/intel/pt: Split ToPA metadata and page layout (Michael Petlan) [1818835] - [x86] perf/x86/intel/pt: Use pointer arithmetics instead in ToPA entry calculation (Michael Petlan) [1818835] - [x86] perf/x86/intel/pt: Use helpers to obtain ToPA entry size (Michael Petlan) [1818835] - [x86] perf/x86/intel/pt: Clean up ToPA allocation path (Michael Petlan) [1818835]- [scsi] scsi: bnx2fc: Update the driver version to 2.12.13 (Nilesh Javali) [1792115] - [scsi] scsi: bnx2fc: fix boolreturn.cocci warnings (Nilesh Javali) [1792115] - [scsi] scsi: bnx2fc: Fix SCSI command completion after cleanup is posted (Nilesh Javali) [1792115] - [scsi] scsi: bnx2fc: Process the RQE with CQE in interrupt context (Nilesh Javali) [1792115] - [scsi] scsi: bnx2fc: timeout calculation invalid for bnx2fc_eh_abort() (Nilesh Javali) [1792115] - [powerpc] powerpc/smp: Use nid as fallback for package_id (Steve Best) [1764530] - [kernel] audit: Add __rcu annotation to RCU pointer (Richard Guy Briggs) [1822776] - [infiniband] i40iw: Report correct firmware version (Stefan Assmann) [1726909] - [x86] x86/mce/amd: Add PPIN support for AMD MCE (Wei Huang) [1790521] - [kernel] locking/percpu-rwsem: Fix a task_struct refcount (Waiman Long) [1810257] - [kernel] locking/percpu-rwsem: Add might_sleep() for writer locking (Waiman Long) [1810257] - [kernel] locking/percpu-rwsem: Fold __percpu_up_read() (Waiman Long) [1810257] - [kernel] locking/rwsem: Remove RWSEM_OWNER_UNKNOWN (Waiman Long) [1810257] - [kernel] locking/percpu-rwsem: Remove the embedded rwsem (Waiman Long) [1810257] - [kernel] locking/percpu-rwsem: Extract __percpu_down_read_trylock() (Waiman Long) [1810257] - [kernel] locking/percpu-rwsem: Move __this_cpu_inc() into the slowpath (Waiman Long) [1810257] - [kernel] locking/percpu-rwsem: Convert to bool (Waiman Long) [1810257] - [kernel] locking/percpu-rwsem, lockdep: Make percpu-rwsem use its own lockdep_map (Waiman Long) [1810257] - [kernel] locking/lockdep: Remove unused @nested argument from lock_release() (Waiman Long) [1810257] - [kernel] sched/core: Convert get_task_struct() to return the task (Waiman Long) [1810257] - [kernel] locking/lockdep, cpu/hotplug: Annotate AP thread (Waiman Long) [1810257] - [tty] tty/ldsem: Decrement wait_readers on timeouted down_read() (Waiman Long) [1810257] - [tty] tty/ldsem: Convert to regular lockdep annotations (Waiman Long) [1810257] - [tty] tty/ldsem: Wake up readers after timed out down_write() (Waiman Long) [1810257] - [tty] atomic/tty: Fix up atomic abuse in ldsem (Waiman Long) [1810257] - [kernel] cpu/hotplug: Remove skip_onerr field from cpuhp_step structure (Waiman Long) [1810257] - [watchdog] watchdog: hpwdt: drop warning after calling watchdog_init_timeout (Joseph Szczypek) [1790669] - [mm] powerpc/pkeys: Fix handling of pkey state across fork() (Steve Best) [1823744] - [irqchip] irqchip/gic-v3: Workaround Cavium erratum 38539 when reading GICD_TYPER2 (Mark Salter) [1818174] - [irqchip] irqchip/gic-v4.1: Avoid 64bit division for the sake of 32bit ARM (Mark Salter) [1818174] - [irqchip] irqchip/gic-v3-its: Rename VPENDBASER/VPROPBASER accessors (Mark Salter) [1818174] - [irqchip] irqchip/gic-v3-its: Remove superfluous WARN_ON (Mark Salter) [1818174] - [irqchip] irqchip/gic-v4.1: Drop 'tmp' in inherit_vpe_l1_table_from_rd() (Mark Salter) [1818174] - [irqchip] irqchip/gic-v4.1: Ensure L2 vPE table is allocated at RD level (Mark Salter) [1818174] - [irqchip] irqchip/gic-v4.1: Set vpe_l1_base for all redistributors (Mark Salter) [1818174] - [irqchip] irqchip/gic-v4.1: Fix programming of GICR_VPROPBASER_4_1_SIZE (Mark Salter) [1818174] - [irqchip] irqchip/gic-v3-its: Reference to its_invall_cmd descriptor when building INVALL (Mark Salter) [1818174] - [irqchip] irqchip/gic-v3: Only provision redistributors that are enabled in ACPI (Mark Salter) [1818174] - [arm64] arm64: acpi: fix DAIF manipulation with pNMI (Mark Salter) [1818174] - [irqchip] irqchip/gic-v4.1: Allow direct invalidation of VLPIs (Mark Salter) [1818174] - [irqchip] irqchip/gic-v4.1: Suppress per-VLPI doorbell (Mark Salter) [1818174] - [irqchip] irqchip/gic-v4.1: Add VPE INVALL callback (Mark Salter) [1818174] - [irqchip] irqchip/gic-v4.1: Add VPE eviction callback (Mark Salter) [1818174] - [include] irqchip/gic-v4.1: Add VPE residency callback (Mark Salter) [1818174] - [irqchip] irqchip/gic-v4.1: Add mask/unmask doorbell callbacks (Mark Salter) [1818174] - [irqchip] irqchip/gic-v4.1: Plumb skeletal VPE irqchip (Mark Salter) [1818174] - [irqchip] irqchip/gic-v4.1: Implement the v4.1 flavour of VMOVP (Mark Salter) [1818174] - [irqchip] irqchip/gic-v4.1: Don't use the VPE proxy if RVPEID is set (Mark Salter) [1818174] - [irqchip] irqchip/gic-v4.1: Implement the v4.1 flavour of VMAPP (Mark Salter) [1818174] - [irqchip] irqchip/gic-v4.1: VPE table (aka GICR_VPROPBASER) allocation (Mark Salter) [1818174] - [irqchip] irqchip/gic-v3: Add GICv4.1 VPEID size discovery (Mark Salter) [1818174] - [irqchip] irqchip/gic-v3: Detect GICv4.1 supporting RVPEID (Mark Salter) [1818174] - [irqchip] irqchip/gic-v3-its: Fix get_vlpi_map() breakage with doorbells (Mark Salter) [1818174] - [arm64] arm64: Kconfig: Remove CONFIG_ prefix from ARM64_PSEUDO_NMI section (Mark Salter) [1818174] - [irqchip] irqchip/gic-v3-its: Make vlpi_lock a spinlock (Mark Salter) [1818174] - [irqchip] irqchip/gic-v3-its: Lock VLPI map array before translating it (Mark Salter) [1818174] - [irqchip] irqchip/gic-v3-its: Synchronise INT/CLEAR commands targetting a VLPI using VSYNC (Mark Salter) [1818174] - [irqchip] irqchip/gic-v3-its: Synchronise INV command targetting a VLPI using VSYNC (Mark Salter) [1818174] - [irqchip] irqchip/gic-v3-its: Add its_vlpi_map helpers (Mark Salter) [1818174] - [irqchip] irqchip/gic-v3-its: Kill its->device_ids and use TYPER copy instead (Mark Salter) [1818174] - [irqchip] irqchip/gic-v3-its: Kill its->ite_size and use TYPER copy instead (Mark Salter) [1818174] - [irqchip] irqchip/gic-v3-its: Make is_v4 use a TYPER copy (Mark Salter) [1818174] - [irqchip] irqchip/gic-v3-its: Allow LPI invalidation via the DirectLPI interface (Mark Salter) [1818174] - [irqchip] irqchip/gic-v3-its: Factor out wait_for_syncr primitive (Mark Salter) [1818174] - [irqchip] irqchip/gic-v3-its: Free collection mapping on device teardown (Mark Salter) [1818174] - [irqchip] irqchip/gic-v3-its: Fix u64 to __le64 warnings (Mark Salter) [1818174] - [irqchip] irqchip: Remove redundant semicolon after while (Mark Salter) [1818174] - [virt] KVM: vgic-v4: Track the number of VLPIs per vcpu (Mark Salter) [1818174] - [virt] KVM: arm64: vgic-v4: Move the GICv4 residency flow to be driven by vcpu_load/put (Mark Salter) [1818174] - [arm64] arm64: add local_daif_inherit() (Mark Salter) [1818174] - [irqchip] irqchip/gic-v3-its: Use the exact ITSList for VMOVP (Mark Salter) [1818174] - [arm64] arm64: Relax ICC_PMR_EL1 accesses when ICC_CTLR_EL1.PMHE is clear (Mark Salter) [1818174] - [arm64] arm64: Fix incorrect irqflag restore for priority masking for compat (Mark Salter) [1818174] - [irqchip] irqchip/gic-v3: Fix GIC_LINE_NR accessor (Mark Salter) [1818174] - [irqchip] irqchip/gic-v3-its: Fix LPI release for Multi-MSI devices (Mark Salter) [1818174] - [irqchip] irqchip/gic-v3-its: Remove the redundant set_bit for lpi_map (Mark Salter) [1818174] - [irqchip] irqchip/gic-v3: Add quirks for HIP06/07 invalid GICD_TYPER erratum 161010803 (Mark Salter) [1818174] - [irqchip] irqchip/gic: Skip DT quirks when evaluating IIDR-based quirks (Mark Salter) [1818174] - [irqchip] irqchip/gic-v3: Warn about inconsistent implementations of extended ranges (Mark Salter) [1818174] - [irqchip] irqchip/gic-v3: Add EPPI range support (Mark Salter) [1818174] - [irqchip] irqchip/gic-v3: Dynamically allocate PPI partition descriptors (Mark Salter) [1818174] - [irqchip] irqchip/gic-v3: Dynamically allocate PPI NMI refcounts (Mark Salter) [1818174] - [irqchip] irqchip/gic: Prepare for more than 16 PPIs (Mark Salter) [1818174] - [irqchip] irqchip/gic-v3: Add ESPI range support (Mark Salter) [1818174] - [irqchip] irqchip/gic-v3: Add INTID range and convertion primitives (Mark Salter) [1818174] - [irqchip] irqchip/gic: Rework gic_configure_irq to take the full ICFGR base (Mark Salter) [1818174] - [irqchip] irqchip/gic-v2m: Register the frame's PA instead of its VA in fwnode (Mark Salter) [1818174] - [irqchip] irqchip/gic: Register the distributor's PA instead of its VA in fwnode (Mark Salter) [1818174] - [irqchip] irqchip/gic-v3-its: Register the ITS' PA instead of its VA in fwnode (Mark Salter) [1818174] - [irqchip] irqchip/gic-v3: Register the distributor's PA instead of its VA in fwnode (Mark Salter) [1818174] - [arm64] arm64: kprobes: Recover pstate.D in single-step exception handler (Mark Salter) [1818174] - [arm64] arm64: Lower priority mask for GIC_PRIO_IRQON (Mark Salter) [1818174] - [irqchip] irqchip/gic-v3-its: Free unused vpt_page when alloc vpe table fail (Mark Salter) [1818174] - [irqchip] irqchip/gic-v3: Mark expected switch fall-through (Mark Salter) [1818174] - [irqchip] irqchip/gic-v3-its: Fix misuse of GENMASK macro (Mark Salter) [1818174] - [arm64] arm64: fix kernel stack overflow in kdump capture kernel (Mark Salter) [1818174] - [arm64] arm64: irqflags: Introduce explicit debugging for IRQ priorities (Mark Salter) [1818174] - [arm64] arm64: Enable the support of pseudo-NMIs (Mark Salter) [1818174] - [arm64] arm64: Fix incorrect irqflag restore for priority masking (Mark Salter) [1818174] - [arm64] arm64: Fix interrupt tracing in the presence of NMIs (Mark Salter) [1818174] - [arm64] arm64: irqflags: Add condition flags to inline asm clobber list (Mark Salter) [1818174] - [arm64] arm64: irqflags: Pass flags as readonly operand to restore instruction (Mark Salter) [1818174] - [arm64] arm64: Do not enable IRQs for ct_user_exit (Mark Salter) [1818174] - [irqchip] irqchip/gic-v3-its: Fix command queue pointer comparison bug (Mark Salter) [1818174] - [irqchip] irqchip/gic-v3-its: Make free_lpi_range a little cheaper (Mark Salter) [1818174] - [irqchip] irqchip/gic-v3-its: Drop redundant initialization in mk_lpi_range (Mark Salter) [1818174] - [irqchip] irqchip/gic-v3-its: Move allocation outside mutex (Mark Salter) [1818174] - [irqchip] irqchip/gic-v3-its: Fix typo in a comment in its_msi_prepare() (Mark Salter) [1818174] - [include] irqchip/gic-v3-its: fix some definitions of inner cacheability attributes (Mark Salter) [1818174] - [arm64] arm64: fix wrong check of on_sdei_stack in nmi context (Mark Salter) [1818174] - [irqchip] irqchip/gic-v3-its: Fix comparison logic in lpi_range_cmp (Mark Salter) [1818174] - [arm64] arm64: remove obsolete selection of MULTI_IRQ_HANDLER (Mark Salter) [1818174] - [irqchip] irqchip/gicv3-its: Use NUMA aware memory allocation for ITS tables (Mark Salter) [1818174] - [irqchip] irqchip/gic-v3-its: Avoid parsing _indirect_ twice for Device table (Mark Salter) [1818174] - [arm64] arm64: irqflags: Fix clang build warnings (Mark Salter) [1818174] - [arm64] arm64: KVM/mm: Move SEA handling behind a single 'claim' interface (Mark Salter) [1818174] - [arm64] arm64: Skip irqflags tracing for NMI in IRQs disabled context (Mark Salter) [1818174] - [arm64] arm64: Skip preemption when exiting an NMI (Mark Salter) [1818174] - [arm64] arm64: Handle serror in NMI context (Mark Salter) [1818174] - [irqchip] irqchip/gic-v3: Allow interrupts to be set as pseudo-NMI (Mark Salter) [1818174] - [irqchip] irqchip/gic-v3: Handle pseudo-NMIs (Mark Salter) [1818174] - [irqchip] irqchip/gic-v3: Detect if GIC can support pseudo-NMIs (Mark Salter) [1818174] - [arm64] arm64: gic-v3: Implement arch support for priority masking (Mark Salter) [1818174] - [irqchip] arm64: Switch to PMR masking when starting CPUs (Mark Salter) [1818174] - [irqchip] irqchip/gic-v3: Factor group0 detection into functions (Mark Salter) [1818174] - [arm64] arm64: alternative: Apply alternatives early in boot process (Mark Salter) [1818174] - [arm64] arm64: alternative: Allow alternative status checking per cpufeature (Mark Salter) [1818174] - [arm64] arm64: sysreg: Make mrs_s and msr_s macros work with Clang and LTO (Mark Salter) [1818174] - [arm64] arm64: daifflags: Include PMR in daifflags restore operations (Mark Salter) [1818174] - [arm64] arm64: irqflags: Use ICC_PMR_EL1 for interrupt masking (Mark Salter) [1818174] - [firmware] efi: Let architectures decide the flags that should be saved/restored (Mark Salter) [1818174] - [kvm] arm64: kvm: Unmask PMR before entering guest (Mark Salter) [1818174] - [mm] arm64: Unmask PMR before going idle (Mark Salter) [1818174] - [arm64] arm64: Make PMR part of task context (Mark Salter) [1818174] - [arm64] arm64: ptrace: Provide definitions for PMR values (Mark Salter) [1818174] - [irqchip] irqchip/gic-v3: Switch to PMR masking before calling IRQ handler (Mark Salter) [1818174] - [arm64] arm64: cpufeature: Add cpufeature for IRQ priority masking (Mark Salter) [1818174] - [arm64] arm64: cpufeature: Set SYSREG_GIC_CPUIF as a boot system feature (Mark Salter) [1818174] - [arm64] arm64: Remove unused daif related functions/macros (Mark Salter) [1818174] - [arm64] arm64: Fix HCR.TGE status for NMI contexts (Mark Salter) [1818174] - [kernel] irqdesc: Add domain handler for NMIs (Mark Salter) [1818174] - [kernel] genirq: Update irq stats from NMI handlers (Mark Salter) [1818174] - [kernel] genirq: Provide NMI handlers (Mark Salter) [1818174] - [kernel] genirq: Provide NMI management for percpu_devid interrupts (Mark Salter) [1818174] - [kernel] genirq: Provide basic NMI management for interrupt lines (Mark Salter) [1818174] - [include] irqchip/gic-v3-its: Fix ITT_entry_size accessor (Mark Salter) [1818174] - [irqchip] irqchip/gic-v3-its: Gracefully fail on LPI exhaustion (Mark Salter) [1818174] - [irqchip] irqchip/gic-v3-its: Plug allocation race for devices sharing a DevID (Mark Salter) [1818174] - [irqchip] irqchip/gic-v4: Fix occasional VLPI drop (Mark Salter) [1818174] - [irqchip] irqchip/gic-v3-mbi: Fix uninitialized mbi_lock (Mark Salter) [1818174] - [irqchip] irqchip/gic-v3: Add quirk for msm8996 broken registers (Mark Salter) [1818174] - [irqchip] irqchip/gic: Add support to device tree based quirks (Mark Salter) [1818174] - [arm64] arm64: capabilities: Batch cpu_enable callbacks (Mark Salter) [1818174] - [arm64] arm64: capabilities: Use linear array for detection and verification (Mark Salter) [1818174] - [arm64] arm64: capabilities: Optimize this_cpu_has_cap (Mark Salter) [1818174] - [arm64] arm64: capabilities: Speed up capability lookup (Mark Salter) [1818174] - [irqchip] irqchip: Convert to using pOFn instead of device_node.name (Mark Salter) [1818174] - [mm] arm64: Use daifflag_restore after bp_hardening (Mark Salter) [1818174] - [arm64] arm64: daifflags: Use irqflags functions for daifflags (Mark Salter) [1818174] - [include] irqchip/gic: Unify GIC priority definitions (Mark Salter) [1818174] - [irqchip] irqchip/gic-v3: Remove acknowledge loop (Mark Salter) [1818174] - [irqchip] irqchip/gic-v3: Allow interrupt to be configured as wake-up sources (Mark Salter) [1818174] - [irqchip] irqchip/gic-v3-its: Make its_lock a raw_spin_lock_t (Mark Salter) [1818174] - [irqchip] genirq/irqchip: Remove MULTI_IRQ_HANDLER as it's now obselete (Mark Salter) [1818174] - [arm64] arm64: Use the new GENERIC_IRQ_MULTI_HANDLER (Mark Salter) [1818174] - [irqchip] irqchip: Port the ARM IRQ drivers to GENERIC_IRQ_MULTI_HANDLER (Mark Salter) [1818174] - [arm64] arm64: sdei: Mark sdei stack helper functions as static (Mark Salter) [1818174] - [arm64] arm64: Add stack information to on_accessible_stack (Mark Salter) [1818174] - [x86] Reserve at most 64M of SWIOTLB memory for crashkernel (Kairui Song) [1812754] - [md] md/raid1: introduce wait_for_serialization (Nigel Croxon) [1788370] - [md] md/raid1: use bucket based mechanism for IO serialization (Nigel Croxon) [1788370] - [md] md: introduce a new struct for IO serialization (Nigel Croxon) [1788370] - [md] md: don't destroy serial_info_pool if serialize_policy is true (Nigel Croxon) [1788370] - [md] raid1: serialize the overlap write (Nigel Croxon) [1788370] - [md] md: reorgnize mddev_create/destroy_serial_pool (Nigel Croxon) [1788370] - [md] md: add serialize_policy sysfs node for raid1 (Nigel Croxon) [1788370] - [md] md: prepare for enable raid1 io serialization (Nigel Croxon) [1788370] - [md] md: fix a typo s/creat/create (Nigel Croxon) [1788370] - [md] md: rename wb stuffs (Nigel Croxon) [1788370] - [md] raid5: remove worker_cnt_per_group argument from alloc_thread_groups (Nigel Croxon) [1788370] - [lib] md/raid6: fix algorithm choice under larger PAGE_SIZE (Nigel Croxon) [1788370] - [lib] raid6/test: fix a compilation warning (Nigel Croxon) [1788370] - [md] md-bitmap: small cleanups (Nigel Croxon) [1788370]- [firmware] efi: cper: print AER info of PCIe fatal error (Vladis Dronov) [1822595] - [init] redhat: Replace hardware.redhat.com link in Unsupported message (Prarit Bhargava) [1810301] - [pci] PCI: Mark AMD Navi14 GPU rev 0xc5 ATS as broken (Myron Stowe) [1820933] - [pci] PCI: Fix typos (Myron Stowe) [1820933] - [pci] PCI: Remove useless comments and tidy others (Myron Stowe) [1820933] - [pci] PCI: Remove unnecessary includes (Myron Stowe) [1820933] - [tools] tools: PCI: Fix fd leakage (Myron Stowe) [1820933] - [pci] PCI: Export pci_parse_request_of_pci_ranges() (Myron Stowe) [1820933] - [include] resource: Add a resource_list_first_type helper (Myron Stowe) [1820933] - [pci] PCI/ATS: Restore EXPORT_SYMBOL_GPL() for pci_{enable, disable}_ats() (Myron Stowe) [1820933] - [include] PCI/ATS: Add PASID stubs (Myron Stowe) [1820933] - [pci] PCI: Unify ACS quirk desired vs provided checking (Myron Stowe) [1820933] - [pci] PCI: Make ACS quirk implementations more uniform (Myron Stowe) [1820933] - [pci] PCI: Apply Cavium ACS quirk to ThunderX2 and ThunderX3 (Myron Stowe) [1820933] - [pci] PCI/IOV: Serialize sysfs sriov_numvfs reads vs writes (Myron Stowe) [1820933] - [pci] PCI: Add DMA alias quirk for Intel VCA NTB (Myron Stowe) [1820933] - [pci] PCI: Fix Intel ACS quirk UPDCR register address (Myron Stowe) [1820933] - [pci] PCI/ATS: Make pci_restore_pri_state(), pci_restore_pasid_state() private (Myron Stowe) [1820933] - [pci] PCI/ATS: Remove unnecessary EXPORT_SYMBOL_GPL() (Myron Stowe) [1820933] - [include] PCI/ATS: Remove unused PRI and PASID stubs (Myron Stowe) [1820933] - [pci] PCI/ATS: Consolidate ATS declarations in linux/pci-ats.h (Myron Stowe) [1820933] - [pci] PCI/ATS: Cache PRI PRG Response PASID Required bit (Myron Stowe) [1820933] - [pci] PCI/ATS: Use PF PASID for VFs (Myron Stowe) [1820933] - [pci] PCI/ATS: Cache PASID Capability offset (Myron Stowe) [1820933] - [pci] PCI/ATS: Cache PRI Capability offset (Myron Stowe) [1820933] - [pci] PCI/ATS: Disable PF/VF ATS service independently (Myron Stowe) [1820933] - [pci] PCI/ATS: Handle sharing of PF PASID Capability with all VFs (Myron Stowe) [1820933] - [pci] PCI/ATS: Handle sharing of PF PRI Capability with all VFs (Myron Stowe) [1820933] - [pci] PCI/ATS: Move pci_prg_resp_pasid_required() to CONFIG_PCI_PRI (Myron Stowe) [1820933] - [iommu] iommu/vt-d: Select PCI_PRI for INTEL_IOMMU_SVM (Myron Stowe) [1820933] - [pci] PCI/switchtec: Read all 64 bits of part_event_bitmap (Myron Stowe) [1820933] - [pci] PCI: Do not use bus number zero from EA capability (Myron Stowe) [1820933] - [pci] PCI: Avoid double hpmemsize MMIO window assignment (Myron Stowe) [1820933] - [pci] PCI: Add "pci=hpmmiosize" and "pci=hpmmioprefsize" parameters (Myron Stowe) [1820933] - [pci] PCI: Add PCI_STD_NUM_BARS for the number of standard BARs (Myron Stowe) [1820933] - [pci] PCI: Fix missing bridge dma_ranges resource list cleanup (Myron Stowe) [1820933] - [pci] PCI: Protect pci_reassign_bridge_resources() against concurrent addition/removal (Myron Stowe) [1820933] - [pci] PCI/MSI: Fix incorrect MSI-X masking on resume (Myron Stowe) [1820933] - [pci] PCI/MSI: Move power state check out of pci_msi_supported() (Myron Stowe) [1820933] - [pci] PCI/MSI: Remove unused pci_irq_get_node() (Myron Stowe) [1820933] - [uapi] PCI: Add #defines for Enter Compliance, Transmit Margin (Myron Stowe) [1820933] - [pci] PCI: Allow building PCIe things without PCIEPORTBUS (Myron Stowe) [1820933] - [pci] PCI: Remove PCIe Kconfig dependencies on PCI (Myron Stowe) [1820933] - [pci] PCI/ASPM: Remove dependency on PCIEPORTBUS (Myron Stowe) [1820933] - [pci] PCI/PTM: Remove dependency on PCIEPORTBUS (Myron Stowe) [1820933] - [pci] PCI/PTM: Remove spurious "d" from granularity message (Myron Stowe) [1820933] - [pci] PCI: sysfs: Remove unused attribute groups (Myron Stowe) [1820933] - [x86] x86/PCI: Avoid AMD FCH XHCI USB PME# from D0 defect (Myron Stowe) [1820933] - [pci] PCI: Remove unused includes and superfluous struct declaration (Myron Stowe) [1820933] - [x86] x86/PCI: Replace deprecated EXTRA_CFLAGS with ccflags-y (Myron Stowe) [1820933] - [pci] x86/PCI: Correct SPDX comment style (Myron Stowe) [1820933] - [x86] x86/PCI: Add NumaChip SPDX GPL-2.0 to replace COPYING boilerplate (Myron Stowe) [1820933] - [pci] ACPI / hotplug / PCI: Allocate resources directly under the non-hotplug bridge (Myron Stowe) [1820933] - [pci] PCI: pciehp: Prevent deadlock on disconnect (Myron Stowe) [1820933] - [pci] PCI: pciehp: Do not disable interrupt twice on suspend (Myron Stowe) [1820933] - [pci] PCI: pciehp: Refactor infinite loop in pcie_poll_cmd() (Myron Stowe) [1820933] - [pci] PCI: pciehp: Fix indefinite wait on sysfs requests (Myron Stowe) [1820933] - [pci] PCI: pciehp: Avoid returning prematurely from sysfs requests (Myron Stowe) [1820933] - [pci] PCI: Warn if no host bridge NUMA node info (Myron Stowe) [1820933] - [pci] PCI/ASPM: Remove PCIEASPM_DEBUG Kconfig option and related code (Myron Stowe) [1820933] - [pci] PCI/ASPM: Add sysfs attributes for controlling ASPM link states (Myron Stowe) [1820933] - [pci] PCI/ASPM: Add pcie_aspm_get_link() (Myron Stowe) [1820933] - [pci] PCI/ASPM: Allow re-enabling Clock PM (Myron Stowe) [1820933] - [pci] PCI/ASPM: Add L1 PM substate support to pci_disable_link_state() (Myron Stowe) [1820933] - [pci] PCI/ASPM: Remove pcie_aspm_enabled() unnecessary locking (Myron Stowe) [1820933] - [pci] PCI/DPC: Add "pcie_ports=dpc-native" to allow DPC without AER control (Myron Stowe) [1820933] - [pci] PCI/AER: Fix kernel-doc warnings (Myron Stowe) [1820933] - [pci] PCI/AER: Use for_each_set_bit() to simplify code (Myron Stowe) [1820933] - [pci] PCI/AER: Add PoisonTLPBlocked to Uncorrectable error counters (Myron Stowe) [1820933] - [pci] PCI/AER: Save AER Capability for suspend/resume (Myron Stowe) [1820933] - [pci] PCI: Add ACS quirk for iProc PAXB (Myron Stowe) [1820933] - [cpufreq] cpufreq: intel_pstate: Simplify intel_pstate_cpu_init() (Prarit Bhargava) [1823339] - [cpufreq] cpufreq: powernv: Fix frame-size-overflow in powernv_cpufreq_work_fn (Prarit Bhargava) [1823339] - [cpufreq] x86/devicetable: Move x86 specific macro out of generic code (Prarit Bhargava) [1823339] - [cpufreq] cpufreq: Use scnprintf() for avoiding potential buffer overflow (Prarit Bhargava) [1823339] - [cpufreq] cpufreq: intel_pstate: Consolidate policy verification (Prarit Bhargava) [1823339] - [cpufreq] cpufreq: powernv: Fix unsafe notifiers (Prarit Bhargava) [1823339] - [cpufreq] cpufreq: powernv: Fix use-after-free (Prarit Bhargava) [1823339] - [cpufreq] cpufreq: dt: Allow platform specific intermediate callbacks (Prarit Bhargava) [1823339] - [cpufreq] cpufreq: add function to get the hardware max frequency (Prarit Bhargava) [1823339] - [kernel] sched/vtime: Prevent unstable evaluation of WARN(vtime->state) (Prarit Bhargava) [1823339] - [cpufreq] docs: cpufreq: fix a broken reference (Prarit Bhargava) [1823339] - [kernel] PM: QoS: annotate data races in pm_qos_*_value() (Prarit Bhargava) [1823339] - [cpufreq] cpufreq: Fix policy initialization for internal governor drivers (Prarit Bhargava) [1823339] - [documentation] Documentation: power: fix pm_qos_interface.rst format warning (Prarit Bhargava) [1823339] - [kernel] PM: QoS: Make CPU latency QoS depend on CONFIG_CPU_IDLE (Prarit Bhargava) [1823339] - [documentation] Documentation: PM: QoS: Update to reflect previous code changes (Prarit Bhargava) [1823339] - [kernel] PM: QoS: Update file information comments (Prarit Bhargava) [1823339] - [x86] x86: platform: iosf_mbi: Call cpu_latency_qos_*() instead of pm_qos_*() (Prarit Bhargava) [1823339] - [cpuidle] cpuidle: Call cpu_latency_qos_limit() instead of pm_qos_request() (Prarit Bhargava) [1823339] - [x86] x86: baytrail/cherrytrail: Rework and move P-Unit PMIC bus semaphore code (Prarit Bhargava) [1823339] - [sound] sound: Call cpu_latency_qos_*() instead of pm_qos_*() (Prarit Bhargava) [1823339] - [media] drivers: media: Call cpu_latency_qos_*() instead of pm_qos_*() (Prarit Bhargava) [1823339] - [wireless] drivers: net: Call cpu_latency_qos_*() instead of pm_qos_*() (Prarit Bhargava) [1823339] - [drm] drm/i915: Implement a better i945gm vblank irq vs. C-states workaround (Prarit Bhargava) [1823339] - [drm] drm: i915: Call cpu_latency_qos_*() instead of pm_qos_*() (Prarit Bhargava) [1823339] - [kernel] PM: QoS: Drop PM_QOS_CPU_DMA_LATENCY and rename related functions (Prarit Bhargava) [1823339] - [kernel] PM: QoS: Adjust pm_qos_request() signature and reorder pm_qos.h (Prarit Bhargava) [1823339] - [kernel] PM: QoS: Simplify definitions of CPU latency QoS trace events (Prarit Bhargava) [1823339] - [tty] PM: QoS: Rename things related to the CPU latency QoS (Prarit Bhargava) [1823339] - [cpuidle] PM: QoS: Drop PM_QOS_CPU_DMA_LATENCY notifier chain (Prarit Bhargava) [1823339] - [kernel] PM: QoS: Redefine struct pm_qos_request and drop struct pm_qos_object (Prarit Bhargava) [1823339] - [kernel] PM: QoS: Clean up misc device file operations (Prarit Bhargava) [1823339] - [kernel] PM: QoS: Drop iterations over global QoS classes (Prarit Bhargava) [1823339] - [kernel] PM: QoS: Clean up pm_qos_read_value() and pm_qos_get/set_value() (Prarit Bhargava) [1823339] - [kernel] PM: QoS: Clean up pm_qos_update_target() and pm_qos_update_flags() (Prarit Bhargava) [1823339] - [kernel] PM: QoS: Drop the PM_QOS_SUM QoS type (Prarit Bhargava) [1823339] - [kernel] PM: QoS: Drop pm_qos_update_request_timeout() (Prarit Bhargava) [1823339] - [kernel] PM: QoS: Drop debugfs interface (Prarit Bhargava) [1823339] - [cpufreq] cpufreq: ti-cpufreq: Add support for OPP_PLUS (Prarit Bhargava) [1823339] - [x86] x86/intel_pstate: Handle runtime turbo disablement/enablement in frequency invariance (Prarit Bhargava) [1823339] - [x86] x86, sched: Add support for frequency invariance on ATOM (Prarit Bhargava) [1823339] - [x86] x86, sched: Add support for frequency invariance on ATOM_GOLDMONT* (Prarit Bhargava) [1823339] - [x86] x86, sched: Add support for frequency invariance on XEON_PHI_KNL/KNM (Prarit Bhargava) [1823339] - [x86] x86, sched: Add support for frequency invariance on SKYLAKE_X (Prarit Bhargava) [1823339] - [x86] x86, sched: Add support for frequency invariance (Prarit Bhargava) [1823339] - [cpufreq] cpufreq: Avoid creating excessively large stack frames (Prarit Bhargava) [1823339] - [cpufreq] cpufreq: loongson2_cpufreq: adjust cpufreq uses of LOONGSON_CHIPCFG (Prarit Bhargava) [1823339] - [cpufreq] cpufreq: brcmstb-avs: fix imbalance of cpufreq policy refcount (Prarit Bhargava) [1823339] - [cpufreq] cpufreq: intel_pstate: fix spelling mistake: "Whethet" -> "Whether" (Prarit Bhargava) [1823339] - [cpufreq] cpufreq: s3c: fix unbalances of cpufreq policy refcount (Prarit Bhargava) [1823339] - [cpufreq] cpufreq: tegra186: convert to devm_platform_ioremap_resource (Prarit Bhargava) [1823339] - [cpufreq] cpufreq: kirkwood: convert to devm_platform_ioremap_resource (Prarit Bhargava) [1823339] - [cpufreq] cpufreq: CPPC: put ACPI table after using it (Prarit Bhargava) [1823339] - [cpufreq] cpufreq : CPPC: Break out if HiSilicon CPPC workaround is matched (Prarit Bhargava) [1823339] - [cpufreq] cpufreq: scmi: Match scmi device by both name and protocol id (Prarit Bhargava) [1823339] - [base] PM / QoS: Restore DEV_PM_QOS_MIN/MAX_FREQUENCY (Prarit Bhargava) [1823339] - [base] PM: QoS: Drop frequency QoS types from device PM QoS (Prarit Bhargava) [1823339] - [include] PM / QoS: Reorder pm_qos/freq_qos/dev_pm_qos structs (Prarit Bhargava) [1823339] - [include] PM / QoS: Redefine FREQ_QOS_MAX_DEFAULT_VALUE to S32_MAX (Prarit Bhargava) [1823339] - [cpufreq] cpufreq: Fix Kconfig indentation (Prarit Bhargava) [1823339] - [cpufreq] cpufreq: Use vtime aware kcpustat accessors for user time (Prarit Bhargava) [1823339] - [kernel] sched/vtime: Bring up complete kcpustat accessor (Prarit Bhargava) [1823339] - [documentation] PM: Wrap documentation to fit in 80 columns (Prarit Bhargava) [1823339] - [kernel] PM: QoS: Invalidate frequency QoS requests after removal (Prarit Bhargava) [1823339] - [cpufreq] cpufreq: Register drivers only after CPU devices have been registered (Prarit Bhargava) [1823339] - [cpufreq] cpufreq: Add NULL checks to show() and store() methods of cpufreq (Prarit Bhargava) [1823339] - [cpufreq] cpufreq: intel_pstate: Fix invalid EPB setting (Prarit Bhargava) [1823339] - [cpufreq] cpufreq: Initialize cpufreq-dt driver earlier (Prarit Bhargava) [1823339] - [cpufreq] cpufreq: intel_pstate: Fix plain int as pointer warning from sparse (Prarit Bhargava) [1823339] - [cpufreq] cpufreq: powernv: fix stack bloat and hard limit on number of CPUs (Prarit Bhargava) [1823339] - [cpufreq] cpufreq: Clarify the comment in cpufreq_set_policy() (Prarit Bhargava) [1823339] - [cpufreq] cpufreq: Use vtime aware kcpustat accessor to fetch CPUTIME_SYSTEM (Prarit Bhargava) [1823339] - [kernel] sched/kcpustat: Introduce vtime-aware kcpustat accessor for CPUTIME_SYSTEM (Prarit Bhargava) [1823339] - [include] sched/vtime: Introduce vtime_accounting_enabled_cpu() (Prarit Bhargava) [1823339] - [kernel] sched/vtime: Rename vtime_accounting_cpu_enabled() to vtime_accounting_enabled_this_cpu() (Prarit Bhargava) [1823339] - [include] context_tracking: Introduce context_tracking_enabled_cpu() (Prarit Bhargava) [1823339] - [include] context_tracking: Rename context_tracking_is_cpu_enabled() to context_tracking_enabled_this_cpu() (Prarit Bhargava) [1823339] - [kernel] sched/vtime: Record CPU under seqcount for kcpustat needs (Prarit Bhargava) [1823339] - [acpi] ACPI: processor: Add QoS requests for all CPUs (Prarit Bhargava) [1823339] - [cpufreq] cpufreq: scpi: remove stale/outdated comment about the driver (Prarit Bhargava) [1823339] - [thermal] thermal/drivers/cpufreq_cooling: Fix return of cpufreq_set_cur_state (Prarit Bhargava) [1823339] - [acpi] cpufreq: Use per-policy frequency QoS (Prarit Bhargava) [1823339] - [kernel] PM: QoS: Introduce frequency QoS (Prarit Bhargava) [1823339] - [acpi] ACPI: processor: Avoid NULL pointer dereferences at init time (Prarit Bhargava) [1823339] - [cpufreq] cpufreq: ti-cpufreq: Add support for AM3517 (Prarit Bhargava) [1823339] - [cpufreq] ARM: dts: omap36xx: using OPP1G needs to control the abb_ldo (Prarit Bhargava) [1823339] - [cpufreq] cpufreq: ti-cpufreq: add support for omap34xx and omap36xx (Prarit Bhargava) [1823339] - [cpufreq] cpufreq: Remove CPUFREQ_ADJUST and CPUFREQ_NOTIFY policy notifier events (Prarit Bhargava) [1823339] - [base] arch_topology: Use CPUFREQ_CREATE_POLICY instead of CPUFREQ_NOTIFY (Prarit Bhargava) [1823339] - [acpi] ACPI: cpufreq: Switch to QoS requests instead of cpufreq notifier (Prarit Bhargava) [1823339] - [kernel] PM: QoS: Get rid of unused flags (Prarit Bhargava) [1823339] - [cpufreq] cpufreq: intel_pstate: Implement QoS supported freq constraints (Prarit Bhargava) [1823339] - [thermal] thermal: cpu_cooling: Switch to QoS requests for freq limits (Prarit Bhargava) [1823339] - [cpufreq] cpufreq: Add policy create/remove notifiers back (Prarit Bhargava) [1823339] - [documentation] docs: power: convert docs to ReST and rename to *.rst (Prarit Bhargava) [1823339] - [kernel] PM: QoS: no need to check return value of debugfs_create functions (Prarit Bhargava) [1823339] - [kernel] PM / QoS: Change to use DEFINE_SHOW_ATTRIBUTE macro (Prarit Bhargava) [1823339] - [nvme] nvme-fc: Revert "add module to ops template to allow module references" (Gopal Tiwari) [1823270] - [nvme] nvme: fix deadlock caused by ANA update wrong locking (Gopal Tiwari) [1823270] - [nvme] nvme-pci: Hold cq_poll_lock while completing CQEs (Gopal Tiwari) [1823270] - [uapi] nvme: change nvme_passthru_cmd64 to explicitly mark rsvd (Gopal Tiwari) [1823270] - [tools] tools/power/x86/intel-speed-select: Fix a typo in error message (Prarit Bhargava) [1778956] - [tools] tools/power/x86/intel-speed-select: Update version (Prarit Bhargava) [1778956] - [tools] tools/power/x86/intel-speed-select: Avoid duplicate Package strings for json (Prarit Bhargava) [1778956] - [tools] tools/power/x86/intel-speed-select: Add display for enabled cpus count (Prarit Bhargava) [1778956] - [tools] tools/power/x86/intel-speed-select: Print friendly warning for bad command line (Prarit Bhargava) [1778956] - [tools] tools/power/x86/intel-speed-select: Fix avx options for turbo-freq feature (Prarit Bhargava) [1778956] - [tools] tools/power/x86/intel-speed-select: Improve CLX commands (Prarit Bhargava) [1778956] - [tools] tools/power/x86/intel-speed-select: Show error for invalid CPUs in the options (Prarit Bhargava) [1778956] - [tools] tools/power/x86/intel-speed-select: Improve core-power result and error display (Prarit Bhargava) [1778956] - [tools] tools/power/x86/intel-speed-select: Kernel interface error handling (Prarit Bhargava) [1778956] - [tools] tools/power/x86/intel-speed-select: Improve error display for turbo-freq feature (Prarit Bhargava) [1778956] - [tools] tools/power/x86/intel-speed-select: Improve error display for base-freq feature (Prarit Bhargava) [1778956] - [tools] tools/power/x86/intel-speed-select: Improve output of perf-profile commands (Prarit Bhargava) [1778956] - [tools] tools/power/x86/intel-speed-select: Enhance help for core-power assoc (Prarit Bhargava) [1778956] - [tools] tools/power/x86/intel-speed-select: Display error for invalid priority type (Prarit Bhargava) [1778956] - [tools] tools/power/x86/intel-speed-select: Check feature status first (Prarit Bhargava) [1778956] - [tools] tools/power/x86/intel-speed-select: Improve error display for perf-profile feature (Prarit Bhargava) [1778956] - [tools] tools/power/x86/intel-speed-select: Add an API for error/information print (Prarit Bhargava) [1778956] - [tools] tools/power/x86/intel-speed-select: Enhance --info option (Prarit Bhargava) [1778956] - [tools] tools/power/x86/intel-speed-select: Enhance help (Prarit Bhargava) [1778956] - [tools] tools/power/x86/intel-speed-select: Helpful warning for missing kernel interface (Prarit Bhargava) [1778956] - [tools] tools/power/x86/intel-speed-select: Store topology information (Prarit Bhargava) [1778956] - [tools] tools/power/x86/intel-speed-select: Max CPU count calculation when CPU0 is offline (Prarit Bhargava) [1778956] - [tools] tools/power/x86/intel-speed-select: Special handling for CPU 0 online/offline (Prarit Bhargava) [1778956] - [tools] tools/power/x86/intel-speed-select: Use more verbiage for clos information (Prarit Bhargava) [1778956] - [tools] tools/power/x86/intel-speed-select: Enhance core-power info command (Prarit Bhargava) [1778956] - [tools] tools/power/x86/intel-speed-select: Make target CPU optional for core-power info (Prarit Bhargava) [1778956] - [tools] tools/power/x86/intel-speed-select: Warn for invalid package id (Prarit Bhargava) [1778956] - [tools] tools/power/x86/intel-speed-select: Fix last cpu number (Prarit Bhargava) [1778956] - [tools] tools/power/x86/intel-speed-select: Fix mailbox usage for CLOS_PM_QOS_CONFIG (Prarit Bhargava) [1778956] - [platform] platform/x86: ISST: Fix wrong unregister type (Prarit Bhargava) [1778956] - [tools] tools/power/x86/intel-speed-select: Avoid duplicate names for json parsing (Prarit Bhargava) [1778956] - [tools] tools/power/x86/intel-speed-select: Fix display for turbo-freq auto mode (Prarit Bhargava) [1778956] - [platform] platform/x86: ISST: Allow additional core-power mailbox commands (Prarit Bhargava) [1778956] - [misc] mei: me: add comet point (lake) H device ids (Ken Cox) [1815355] - [misc] mei: me: add comet point (lake) LP device ids (Ken Cox) [1815355] - [misc] mei: define dma ring buffer sizes for PCH12 HW and newer (Ken Cox) [1815355] - [misc] mei: hbm: define dma ring setup protocol (Ken Cox) [1815355] - [acpi] apei/ghes: Do not delay GHES polling (Robert Richter) [1793544] - [edac] EDAC/ghes: Do not warn when incrementing refcount on 0 (Robert Richter) [1793544] - [edac] EDAC/ghes: Fix locking and memory barrier issues (Robert Richter) [1793544] - [edac] EDAC/ghes: Fix Use after free in ghes_edac remove path (Robert Richter) [1793544] - [edac] EDAC, ghes: Use CPER module handles to locate DIMMs (Robert Richter) [1793544] - [kernel] sched/fair: Fix statistics for find_idlest_group() (Phil Auld) [1794398] - [kernel] sched/core: Annotate curr pointer in rq with __rcu (Phil Auld) [1794398] - [kernel] sched/psi: Fix OOB write when writing 0 bytes to PSI files (Phil Auld) [1794398] - [kernel] sched/psi: Correct overly pessimistic size calculation (Phil Auld) [1794398] - [kernel] sched/fair: Prevent unlimited runtime on throttled group (Phil Auld) [1794398] - [kernel] sched/nohz: Optimize get_nohz_timer_target() (Phil Auld) [1794398] - [kernel] sched/topology: Assert non-NUMA topology masks don't (partially) overlap (Phil Auld) [1794398] - [kernel] sched/psi: create /proc/pressure and /proc/pressure/{io|memory|cpu} only when psi enabled (Phil Auld) [1794398] - [kernel] sched/fair: Remove redundant call to cpufreq_update_util() (Phil Auld) [1794398] - [kernel] sched/debug: Add new tracepoints to track PELT at rq level (Phil Auld) [1794398] - [kernel] sched/fair: calculate delta runnable load only when it's needed (Phil Auld) [1794398] - [kernel] sched/fair: Fix sgc->{min, max}_capacity calculation for SD_OVERLAP (Phil Auld) [1794398] - [kernel] sched/debug: Reset watchdog on all CPUs while processing sysrq-t (Phil Auld) [1794398] - [kernel] sched/fair: Make sched-idle CPU selection consistent throughout (Phil Auld) [1794398] - [kernel] sched/core: Remove unused variable from set_user_nice() (Phil Auld) [1794398] - [kernel] sched/fair: Optimize select_idle_cpu (Phil Auld) [1794398] - [kernel] schied/fair: Skip calculating @contrib without load (Phil Auld) [1794398] - [kernel] sched: Spare resched IPI when prio changes on a single fair task (Phil Auld) [1794398] - [kernel] sched: Use fair:prio_changed() instead of ad-hoc implementation (Phil Auld) [1794398] - [kernel] sched/wait: fix ___wait_var_event(exclusive) (Phil Auld) [1794398] - [kernel] psi: Fix a division error in psi poll() (Phil Auld) [1794398] - [kernel] sched/psi: Fix sampling error and rare div0 crashes with cgroups and high uptime (Phil Auld) [1794398] - [kernel] sched/cpufreq: Move the cfs_rq_util_change() call to cpufreq_update_util() (Phil Auld) [1794398] - [kernel] sched/pelt: Fix update of blocked PELT ordering (Phil Auld) [1794398] - [kernel] sched/core: Avoid spurious lock dependencies (Phil Auld) [1794398] - [kernel] Add wake_up_interruptible_sync_poll_locked() (Phil Auld) [1794398] - [kernel] Remove the nr_exclusive argument from __wake_up_sync_key() (Phil Auld) [1794398] - [x86] x86/mce: Do not log spurious corrected mce errors (Prarit Bhargava) [1819761] - [x86] x86/MCE: Add an MCE-record filtering function (Prarit Bhargava) [1819761]- [mm] mm/page_alloc: increase default min_free_kbytes bound (Joel Savitz) [1808039] - [crypto] crypto: remove CRYPTO_TFM_RES_BAD_KEY_LEN (Neil Horman) [1782179] - [crypto] crypto: qat - switch to skcipher API (Neil Horman) [1782179] - [scsi] scsi: lpfc: Change default SCSI LUN QD to 64 (Dick Kennedy) [1822334] - [scsi] scsi: lpfc: Update lpfc version to 12.8.0.0 (Dick Kennedy) [1822334] - [scsi] scsi: lpfc: Remove prototype FIPS/DSS options from SLI-3 (Dick Kennedy) [1822334] - [scsi] scsi: lpfc: Make debugfs ktime stats generic for NVME and SCSI (Dick Kennedy) [1822334] - [scsi] scsi: lpfc: Fix erroneous cpu limit of 128 on I/O statistics (Dick Kennedy) [1822334] - [scsi] scsi: lpfc: Fix crash in target side cable pulls hitting WAIT_FOR_UNREG (Dick Kennedy) [1822334] - [scsi] scsi: lpfc: Fix update of wq consumer index in lpfc_sli4_wq_release (Dick Kennedy) [1822334] - [scsi] scsi: lpfc: Fix crash after handling a pci error (Dick Kennedy) [1822334] - [scsi] scsi: lpfc: Fix scsi host template for SLI3 vports (Dick Kennedy) [1822334] - [scsi] scsi: lpfc: Fix lpfc overwrite of sg_cnt field in nvmefc_tgt_fcp_req (Dick Kennedy) [1822334] - [scsi] scsi: lpfc: Fix lockdep error - register non-static key (Dick Kennedy) [1822334] - [fs] utimes: Clamp the timestamps in notify_change() (Eric Sandeen) [1795991] - [fs] smb3: Fix regression in time handling (Eric Sandeen) [1795991] - [fs] isofs: Initialize filesystem timestamp ranges (Eric Sandeen) [1795991] - [fs] fs: ceph: Initialize filesystem timestamp ranges (Eric Sandeen) [1795991] - [fs] fs: fat: Initialize filesystem timestamp ranges (Eric Sandeen) [1795991] - [fs] fat: propagate 64-bit inode timestamps (Eric Sandeen) [1795991] - [fs] fs: cifs: Initialize filesystem timestamp ranges (Eric Sandeen) [1795991] - [fs] fs: nfs: Initialize filesystem timestamp ranges (Eric Sandeen) [1795991] - [fs] ext4: Initialize timestamps limits (Eric Sandeen) [1795991] - [fs] fs: Fill in max and min timestamps in superblock (Eric Sandeen) [1795991] - [fs] utimes: Clamp the timestamps before update (Eric Sandeen) [1795991] - [fs] timestamp_truncate: Replace users of timespec64_trunc (Eric Sandeen) [1795991] - [fs] vfs: Add timestamp_truncate() api (Eric Sandeen) [1795991] - [fs] vfs: Add file timestamp range support (Eric Sandeen) [1795991] - [fs] cramfs: Deprecate cramfs in RHEL (Abhijith Das) [1794513] - [thermal] thermal: intel: intel_pch_thermal: Add Comet Lake (CML) platform support (David Arcari) [1773794] - [thermal] thermal: intel: Fix unmatched pci_release_region (David Arcari) [1773794] - [thermal] thermal: intel: Use dev_get_drvdata (David Arcari) [1773794] - [thermal] treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 288 (David Arcari) [1773794] - [thermal] drivers: thermal: Move various drivers for intel platforms into a subdir (David Arcari) [1773794] - [x86] x86/cpufeatures: Enable a new AVX512 CPU feature (David Arcari) [1783143] - [x86] cpu/cpuid-deps: Add a tab to cpuid dependent features (David Arcari) [1783143] - [crypto] crypto: rng - Override drivers/char/random in FIPS mode (Herbert Xu) [1785660] - [char] random: Add hook to override device reads and getrandom(2) (Herbert Xu) [1785660] - [block] nbd: add a flush_workqueue in nbd_start_device (Ming Lei) [1798919] - [scsi] scsi: sd_sbc: Fix sd_zbc_report_zones() (Ming Lei) [1798919] - [block] block: Fix partition support for host aware zoned block devices (Ming Lei) [1798919] - [scsi] block: allow partitions on host aware zone devices (Ming Lei) [1798919] - [block] null_blk: Fix zone write handling (Ming Lei) [1798919] - [fs] fs: move guard_bio_eod() after bio_set_op_attrs (Ming Lei) [1798919] - [block] null_blk: Fix REQ_OP_ZONE_CLOSE handling (Ming Lei) [1798919] - [block] block: add bio_truncate to fix guard_bio_eod (Ming Lei) [1798919] - [block] compat_ioctl: block: handle Persistent Reservations (Ming Lei) [1798919] - [block] compat_ioctl: block: handle add zone open, close and finish ioctl (Ming Lei) [1798919] - [block] compat_ioctl: block: handle BLKGETZONESZ/BLKGETNRZONES (Ming Lei) [1798919] - [block] compat_ioctl: block: handle BLKREPORTZONE/BLKRESETZONE (Ming Lei) [1798919] - [block] block: fix memleak when __blk_rq_map_user_iov() is failed (Ming Lei) [1798919] - [s390] s390/dasd: fix typo in copyright statement (Ming Lei) [1798919] - [s390] s390/dasd: fix memleak in path handling error case (Ming Lei) [1798919] - [s390] s390/dasd/cio: Interpret ccw_device_get_mdc return value correctly (Ming Lei) [1798919] - [block] block: Fix a lockdep complaint triggered by request queue flushing (Ming Lei) [1798919] - [block] block: Fix the type of 'sts' in bsg_queue_rq() (Ming Lei) [1798919] - [block] block: end bio with BLK_STS_AGAIN in case of non-mq devs and REQ_NOWAIT (Ming Lei) [1798919] - [block] nbd: fix shutdown and recv work deadlock v2 (Ming Lei) [1798919] - [block] blk-iocost: fix incorrect vtime comparison in iocg_is_idle() (Ming Lei) [1798919] - [block] iocost: check active_list of all the ancestors in iocg_activate() (Ming Lei) [1798919] - [block] iocost: over-budget forced IOs should schedule async delay (Ming Lei) [1798919] - [block] blk-cgroup: remove blkcg_drain_queue (Ming Lei) [1798919] - [block] block: fix NULL pointer dereference in account statistics with IDE (Ming Lei) [1798919] - [block] null_blk: remove unused variable warning on !CONFIG_BLK_DEV_ZONED (Ming Lei) [1798919] - [block] brd: warn on un-aligned buffer (Ming Lei) [1798919] - [block] brd: remove max_hw_sectors queue limit (Ming Lei) [1798919] - [block] block: set the zone size in blk_revalidate_disk_zones atomically (Ming Lei) [1798919] - [block] block: don't handle bio based drivers in blk_revalidate_disk_zones (Ming Lei) [1798919] - [block] block: allocate the zone bitmaps lazily (Ming Lei) [1798919] - [block] block: replace seq_zones_bitmap with conv_zones_bitmap (Ming Lei) [1798919] - [block] block: simplify blkdev_nr_zones (Ming Lei) [1798919] - [block] block: remove the empty line at the end of blk-zoned.c (Ming Lei) [1798919] - [block] null_blk: cleanup null_gendisk_register (Ming Lei) [1798919] - [block] null_blk: fix zone size paramter check (Ming Lei) [1798919] - [fs] block: don't send uevent for empty disk when not invalidating (Ming Lei) [1798919] - [block] ataflop: Remove unneeded semicolon (Ming Lei) [1798919] - [block] drbd: Remove unneeded semicolon (Ming Lei) [1798919] - [scsi] sr_vendor: support Beurer GL50 evo CD-on-a-chip devices (Ming Lei) [1798919] - [cdrom] cdrom: respect device capabilities during opening action (Ming Lei) [1798919] - [fs] block: move clearing bd_invalidated into check_disk_size_change (Ming Lei) [1798919] - [block] block: remove (__)blkdev_reread_part as an exported API (Ming Lei) [1798919] - [block] block: fix bdev_disk_changed for non-partitioned devices (Ming Lei) [1798919] - [block] block: move rescan_partitions to fs/block_dev.c (Ming Lei) [1798919] - [block] block: merge invalidate_partitions into rescan_partitions (Ming Lei) [1798919] - [block] block: refactor rescan_partitions (Ming Lei) [1798919] - [scsi] scsi: sd_zbc: Remove set but not used variable 'buflen' (Ming Lei) [1798919] - [md] block: rework zone reporting (Ming Lei) [1798919] - [scsi] scsi: sd_zbc: Cleanup sd_zbc_alloc_report_buffer() (Ming Lei) [1798919] - [block] null_blk: Add zone_nr_conv to features (Ming Lei) [1798919] - [block] null_blk: clean up report zones (Ming Lei) [1798919] - [block] null_blk: clean up the block device operations (Ming Lei) [1798919] - [block] block: Remove partition support for zoned block devices (Ming Lei) [1798919] - [md] block: Simplify report zones execution (Ming Lei) [1798919] - [block] block: cleanup the !zoned case in blk_revalidate_disk_zones (Ming Lei) [1798919] - [scsi] block: Enhance blk_revalidate_disk_zones() (Ming Lei) [1798919] - [block] nbd: prevent memory leak (Ming Lei) [1798919] - [scsi] scsi: sd_zbc: add zone open, close, and finish support (Ming Lei) [1798919] - [block] null_blk: add zone open, close, and finish support (Ming Lei) [1798919] - [md] dm: add zone open, close and finish support (Ming Lei) [1798919] - [block] loop: fix no-unmap write-zeroes request behavior (Ming Lei) [1798919] - [block] null_blk: return fixed zoned reads > write pointer (Ming Lei) [1798919] - [block] null_blk: Enable modifying 'submit_queues' after an instance has been configured (Ming Lei) [1798919] - [block] null_blk: Improve nullb_device_##NAME##_store() readability (Ming Lei) [1798919] - [block] block,bfq: Skip tracing hooks if possible (Ming Lei) [1798919] - [block] block: Don't disable interrupts in trigger_softirq() (Ming Lei) [1798919] - [lib] sbitmap: Delete sbitmap_any_bit_clear() (Ming Lei) [1798919] - [block] blk-mq: Delete blk_mq_has_free_tags() and blk_mq_can_queue() (Ming Lei) [1798919] - [block] block: add zone open, close and finish ioctl support (Ming Lei) [1798919] - [uapi] uapi: fix ioctl documentation (Ming Lei) [1798919] - [uapi] uapi: linux/blkzoned.h: fix BLKGETZONESZ and BLKGETNRZONES definitions (Ming Lei) [1798919] - [block] block: add zone open, close and finish operations (Ming Lei) [1798919] - [block] block: Simplify REQ_OP_ZONE_RESET_ALL handling (Ming Lei) [1798919] - [block] block: Remove REQ_OP_ZONE_RESET plugging (Ming Lei) [1798919] - [fs] bdev: Refresh bdev size for disks without partitioning (Ming Lei) [1798919] - [fs] bdev: Factor out bdev revalidation into a common helper (Ming Lei) [1798919] - [block] blk-mq: Make blk_mq_run_hw_queue() return void (Ming Lei) [1798919] - [fs] fcntl: fix typo in RWH_WRITE_LIFE_NOT_SET r/w hint name (Ming Lei) [1798919] - [block] blk-mq: remove needless goto from blk_mq_get_driver_tag (Ming Lei) [1798919] - [block] block: Reduce the amount of memory used for tag sets (Ming Lei) [1798919] - [block] block: Reduce the amount of memory required per request queue (Ming Lei) [1798919] - [block] block: Remove the synchronize_rcu() call from __blk_mq_update_nr_hw_queues() (Ming Lei) [1798919] - [block] block: account statistics for passthrough requests (Ming Lei) [1798919] - [block] blk-stat: Optimise blk_stat_add() (Ming Lei) [1798919] - [block] blk-mq: Embed counters into struct mq_inflight (Ming Lei) [1798919] - [block] blk-mq: Reuse callback in blk_mq_in_flight*() (Ming Lei) [1798919] - [block] blk-mq: Inline status checkers (Ming Lei) [1798919] - [block] block: Document all members of blk_mq_tag_set and bkl_mq_queue_map (Ming Lei) [1798919] - [block] block: Reduce sysfs_lock locking inside blk_cleanup_queue() (Ming Lei) [1798919] - [block] block: Remove "dying" checks from sysfs callbacks (Ming Lei) [1798919] - [block] block: Remove request_queue.nr_queues (Ming Lei) [1798919] - [trace] block: Fix writeback throttling W=1 compiler warnings (Ming Lei) [1798919] - [block] block: Fix three kernel-doc warnings (Ming Lei) [1798919] - [fs] writeback: fix use-after-free in finish_writeback_work() (Ming Lei) [1798919] - [scsi] scsi: sd_zbc: Fix sd_zbc_complete() (Ming Lei) [1798919] - [block] nbd:fix memory leak in nbd_get_socket() (Ming Lei) [1798919] - [block] nbd: verify socket is supported during setup (Ming Lei) [1798919] - [block] nbd: handle racing with error'ed out commands (Ming Lei) [1798919] - [block] nbd: protect cmd->status with cmd->lock (Ming Lei) [1798919] - [block] nbd: fix possible sysfs duplicate warning (Ming Lei) [1798919] - [block] nbd: fix possible page fault for nbd disk (Ming Lei) [1798919] - [block] nbd: rename the runtime flags as NBD_RT_ prefixed (Ming Lei) [1798919] - [block] nbd: fix max number of supported devs (Ming Lei) [1798919] - [block] nbd: fix zero cmd timeout handling v2 (Ming Lei) [1798919] - [block] nbd: add missing config put (Ming Lei) [1798919] - [block] nbd: add function to convert blk req op to nbd cmd (Ming Lei) [1798919] - [block] nbd: add set cmd timeout helper (Ming Lei) [1798919] - [block] loop: change queue block size to match when using DIO (Ming Lei) [1798919] - [block] rsxx: add missed destroy_workqueue calls in remove (Ming Lei) [1798919] - [fs] cgroup, writeback: don't switch wbs immediately on dead wbs if the memcg is dead (Ming Lei) [1798919] - [block] block: drbd: remove a stray unlock in __drbd_send_protocol() (Ming Lei) [1798919] - [block] blkcg: make blkcg_print_stat() print stats only for online blkgs (Ming Lei) [1798919] - [block] iocost: don't nest spin_lock_irq in ioc_weight_write() (Ming Lei) [1798919] - [block] blk-rq-qos: fix first node deletion of rq_qos_del() (Ming Lei) [1798919] - [block] blkcg: Fix multiple bugs in blkcg_activate_policy() (Ming Lei) [1798919] - [block] block: Fix elv_support_iosched() (Ming Lei) [1798919] - [block] null_blk: Fix zoned command return code (Ming Lei) [1798919] - [block] blk-wbt: fix performance regression in wbt scale_up/scale_down (Ming Lei) [1798919] - [ata] Revert "libata, freezer: avoid block device removal while system is frozen" (Ming Lei) [1798919] - [mm] bdi: Do not use freezable workqueue (Ming Lei) [1798919] - [uapi] block: pg: add header include guard (Ming Lei) [1798919] - [block] block: fix null pointer dereference in blk_mq_rq_timed_out() (Ming Lei) [1798919] - [block] rq-qos: get rid of redundant wbt_update_limits() (Ming Lei) [1798919] - [block] iocost: bump up default latency targets for hard disks (Ming Lei) [1798919] - [block] iocost: improve nr_lagging handling (Ming Lei) [1798919] - [block] iocost: better trace vrate changes (Ming Lei) [1798919] - [block] block: drop device references in bsg_queue_rq() (Ming Lei) [1798919] - [block] pktcdvd: remove warning on attempting to register non-passthrough dev (Ming Lei) [1798919] - [ata] ata: libahci_platform: Add of_node_put() before loop exit (Ming Lei) [1798919] - [block] block, bfq: push up injection only after setting service time (Ming Lei) [1798919] - [block] block, bfq: increase update frequency of inject limit (Ming Lei) [1798919] - [block] block, bfq: reduce upper bound for inject limit to max_rq_in_driver+1 (Ming Lei) [1798919] - [block] block, bfq: update inject limit only after injection occurred (Ming Lei) [1798919] - [block] block: centralize PI remapping logic to the block layer (Ming Lei) [1798919] - [block] block: use symbolic constants for t10_pi type (Ming Lei) [1798919] - [block] null_blk: format pr_* logs with pr_fmt (Ming Lei) [1798919] - [block] null_blk: match the type of parameter nr_devices (Ming Lei) [1798919] - [block] null_blk: do not fail the module load with zero devices (Ming Lei) [1798919] - [block] block: also check RQF_STATS in blk_mq_need_time_stamp() (Ming Lei) [1798919] - [block] block: make rq sector size accessible for block stats (Ming Lei) [1798919] - [block] bfq: Fix bfq linkage error (Ming Lei) [1798919] - [scsi] scsi: core: remove dummy q->dev check (Ming Lei) [1798919] - [block] block: bypass blk_set_runtime_active for uninitialized q->dev (Ming Lei) [1798919] - [block] null_blk: validate the number of devices (Ming Lei) [1798919] - [block] null_blk: fix module name at log message (Ming Lei) [1798919] - [block] iocost_monitor: Report debt (Ming Lei) [1798919] - [tools] iocost_monitor: Report more info with higher accuracy (Ming Lei) [1798919] - [tools] iocost_monitor: Always use strings for json values (Ming Lei) [1798919] - [block] blk-iocost: Don't let merges push vtime into the future (Ming Lei) [1798919] - [block] blk-iocost: Account force-charged overage in absolute vtime (Ming Lei) [1798919] - [block] blk-iocost: Fix incorrect operation order during iocg free (Ming Lei) [1798919] - [block] bfq: Add per-device weight (Ming Lei) [1798919] - [block] bfq: Extract bfq_group_set_weight from bfq_io_set_weight_legacy (Ming Lei) [1798919] - [block] bfq: Fix the missing barrier in __bfq_entity_update_weight_prio (Ming Lei) [1798919] - [block] block: fix elevator_get_by_features() (Ming Lei) [1798919] - [scsi] sd: Set ELEVATOR_F_ZBD_SEQ_WRITE for ZBC disks (Ming Lei) [1798919] - [block] block: Set ELEVATOR_F_ZBD_SEQ_WRITE for nullblk zoned disks (Ming Lei) [1798919] - [block] block: Delay default elevator initialization (Ming Lei) [1798919] - [block] block: Improve default elevator selection (Ming Lei) [1798919] - [block] block: Introduce elevator features (Ming Lei) [1798919] - [block] block: Change elevator_init_mq() to always succeed (Ming Lei) [1798919] - [block] block: Cleanup elevator_init_mq() use (Ming Lei) [1798919] - [block] paride/pcd: need to check if cd->disk is null in pcd_detect (Ming Lei) [1798919] - [block] paride/pcd: need to set queue to NULL before put_disk (Ming Lei) [1798919] - [block] blkcg: add missing NULL check in ioc_cpd_alloc() (Ming Lei) [1798919] - [block] blkcg: fix missing free on error path of blk_iocost_init() (Ming Lei) [1798919] - [trace] blkcg: blk-iocost: predeclare used structs (Ming Lei) [1798919] - [block] blkcg: add tools/cgroup/iocost_coef_gen.py (Ming Lei) [1798919] - [block] blkcg: add tools/cgroup/iocost_monitor.py (Ming Lei) [1798919] - [block] blkcg: implement blk-iocost (Ming Lei) [1798919] - [block] blk-mq: add optional request->alloc_time_ns (Ming Lei) [1798919] - [block] block: extend 'struct request' via 'request_aux' (Ming Lei) [1798919] - [block] blkcg: s/RQ_QOS_CGROUP/RQ_QOS_LATENCY/ (Ming Lei) [1798919] - [block] block/rq_qos: implement rq_qos_ops->queue_depth_changed() (Ming Lei) [1798919] - [block] block/rq_qos: add rq_qos_merge() (Ming Lei) [1798919] - [block] blkcg: separate blkcg_conf_get_disk() out of blkg_conf_prep() (Ming Lei) [1798919] - [block] blkcg: make ->cpd_init_fn() optional (Ming Lei) [1798919] - [block] blkcg: pass @q and @blkcg into blkcg_pol_alloc_pd_fn() (Ming Lei) [1798919] - [include] writeback: Generalize and expose wb_completion (Ming Lei) [1798919] - [block] null_blk: fix inline misuse (Ming Lei) [1798919] - [block] null_blk: create a helper for req completion (Ming Lei) [1798919] - [block] null_blk: create a helper for zoned devices (Ming Lei) [1798919] - [block] null_blk: create a helper for mem-backed ops (Ming Lei) [1798919] - [block] null_blk: create a helper for badblocks (Ming Lei) [1798919] - [block] null_blk: create a helper for throttling (Ming Lei) [1798919] - [block] null_blk: move duplicate code to callers (Ming Lei) [1798919] - [block] block: remove struct request_queue queue_head (Ming Lei) [1798919] - [fs] writeback, cgroup: inode_switch_wbs() shouldn't give up on wb_switch_rwsem trylock fail (Ming Lei) [1798919] - [fs] writeback, cgroup: Adjust WB_FRN_TIME_CUT_DIV to accelerate foreign inode switching (Ming Lei) [1798919] - [block] blk-mq: Fix memory leak in blk_mq_init_allocated_queue error handling (Ming Lei) [1798919] - [block] loop: Add LOOP_SET_DIRECT_IO to compat ioctl (Ming Lei) [1798919] - [lib] lib: scatterlist: Fix to support no mapped sg (Ming Lei) [1798919] - [block] null_blk: implement REQ_OP_ZONE_RESET_ALL (Ming Lei) [1798919] - [scsi] scsi: implement REQ_OP_ZONE_RESET_ALL (Ming Lei) [1798919] - [block] blk-zoned: implement REQ_OP_ZONE_RESET_ALL (Ming Lei) [1798919] - [block] block: add req op to reset all zones and flag (Ming Lei) [1798919] - [block] block: Fix a comment in blk_cleanup_queue() (Ming Lei) [1798919] - [block] block: Fix spelling in the header above blkg_lookup() (Ming Lei) [1798919] - [kernel] cgroup: Move cgroup_parse_float() implementation out of CONFIG_SYSFS (Ming Lei) [1798919] - [kernel] cgroup: add cgroup_parse_float() (Ming Lei) [1798919] - [block] nbd: replace kill_bdev() with __invalidate_device() again (Ming Lei) [1798919] - [block] nbd: add netlink reconfigure resize support (Ming Lei) [1798919] - [block] nbd: fix crash when the blksize is zero (Ming Lei) [1798919] - [block] nbd: propagate genlmsg_reply return code (Ming Lei) [1798919] - [block] block: loop: mark bvec as ITER_BVEC_FLAG_NO_REF (Ming Lei) [1798919] - [block] loop: properly observe rotational flag of underlying device (Ming Lei) [1798919] - [block] block: Limit zone array allocation size (Ming Lei) [1798919] - [block] block: Fix null_blk_zoned creation failure with small number of zones (Ming Lei) [1798919] - [scsi] sd_zbc: Fix report zones buffer allocation (Ming Lei) [1798919] - [scsi] scsi: sd_zbc: Fix sd_zbc_report_zones() buffer allocation (Ming Lei) [1798919] - [md] block: Kill gfp_t argument of blkdev_report_zones() (Ming Lei) [1798919] - [md] dm zoned: Fix zone report handling (Ming Lei) [1798919] - [block] blkcg: implement REQ_CGROUP_PUNT (Ming Lei) [1798919] - [include] blkcg, writeback: Implement wbc_blkcg_css() (Ming Lei) [1798919] - [fs] blkcg, writeback: Add wbc->no_cgroup_owner (Ming Lei) [1798919] - [fs] blkcg, writeback: Rename wbc_account_io() to wbc_account_cgroup_owner() (Ming Lei) [1798919] - [block] cgroup, blkcg: Prepare some symbols for module and !CONFIG_CGROUP usages (Ming Lei) [1798919] - [fs] writeback: synchronize sync(2) against cgroup writeback membership switches (Ming Lei) [1798919] - [block] blk-mq: move cancel of requeue_work to the front of blk_exit_queue (Ming Lei) [1798919] - [block] blk-mq-debugfs: support rq_qos (Ming Lei) [1798919] - [block] null_blk: fix type mismatch null_handle_cmd() (Ming Lei) [1798919] - [block] null_blk: remove duplicate 0 initialization (Ming Lei) [1798919] - [block] null_blk: remove duplicate check for report zone (Ming Lei) [1798919] - [block] null_blk: add zoned config support information (Ming Lei) [1798919] - [tools] tools arch x86: Sync asm/cpufeatures.h with the kernel sources (Vitaly Kuznetsov) [1807448] - [x86] vmware: Use bool type for vmw_sched_clock (Vitaly Kuznetsov) [1807448] - [x86] vmware: Enable steal time accounting (Vitaly Kuznetsov) [1807448] - [x86] vmware: Add steal time clock support for VMware guests (Vitaly Kuznetsov) [1807448] - [x86] vmware: Remove vmware_sched_clock_setup() (Vitaly Kuznetsov) [1807448] - [x86] vmware: Make vmware_select_hypercall() __init (Vitaly Kuznetsov) [1807448] - [x86] cpu/vmware: Fix platform detection VMWARE_PORT macro (Vitaly Kuznetsov) [1807448] - [x86] cpu/vmware: Use the full form of INL in VMWARE_HYPERCALL, for clang/llvm (Vitaly Kuznetsov) [1807448] - [x86] cpu/vmware: Use the full form of INL in VMWARE_PORT (Vitaly Kuznetsov) [1807448] - [x86] vmware: Add a header file for hypercall definitions (Vitaly Kuznetsov) [1807448] - [x86] vmware: Update platform detection code for VMCALL/VMMCALL hypercalls (Vitaly Kuznetsov) [1807448] - [netdrv] hv_netvsc: Fix unwanted wakeup in netvsc_attach() (Mohammed Gamal) [1815503] - [netdrv] hv_netvsc: make recording RSS hash depend on feature flag (Mohammed Gamal) [1815503] - [netdrv] hv_netvsc: record hardware hash in skb (Mohammed Gamal) [1815503] - [netdrv] hv_netvsc: flag software created hash value (Mohammed Gamal) [1815503] - [video] hyperv: hyperv_fb: Use physical memory for fb on HyperV Gen 1 VMs (Mohammed Gamal) [1816744] - [video] hyperv: hyperv_fb: Support deferred IO for Hyper-V frame buffer driver (Mohammed Gamal) [1816744] - [video] hyperv: hyperv_fb: Obtain screen resolution from Hyper-V host (Mohammed Gamal) [1816744] - [uio] uio_hv_generic: drop #ifdef DEBUG (Mohammed Gamal) [1816744] - [hid] hv: Remove dependencies on PAGE_SIZE for ring buffer (Mohammed Gamal) [1816744] - [x86] x86/hyperv: Create and use Hyper-V page definitions (Mohammed Gamal) [1816285] - [x86] x86/hyper-v: Drop HV_X64_CONFIGURE_PROFILER definition (Mohammed Gamal) [1816285] - [x86] x86: hv: Add function to allocate zeroed page for Hyper-V (Mohammed Gamal) [1816285] - [x86] x86/hyperv: Add functions to allocate/deallocate page for Hyper-V (Mohammed Gamal) [1816285] - [x86] x86/hyper-v: Fix indentation in hv_do_fast_hypercall16() (Mohammed Gamal) [1816285] - [x86] x86/hyperv: Micro-optimize send_ipi_one() (Mohammed Gamal) [1816285] - [x86] x86/hyperv: Make vapic support x2apic mode (Mohammed Gamal) [1816285] - [x86] x86/hyper-v: Fix overflow bug in fill_gva_list() (Mohammed Gamal) [1816285] - [x86] x86/hyper-v: Zero out the VP ASSIST PAGE on allocation (Mohammed Gamal) [1816285] - [x86] x86/hyperv: Make hv_vcpu_is_preempted() visible (Mohammed Gamal) [1816285] - [x86] x86/hyper-v: Implement EOI assist (Mohammed Gamal) [1816285] - [x86] x86/hyperv: Prevent potential NULL pointer dereference (Mohammed Gamal) [1816285] - [x86] Drivers: hv: vmbus: Break out ISA independent parts of mshyperv.h (Mohammed Gamal) [1816285] - [x86] x86/hyperv: Remove unused include (Mohammed Gamal) [1816285] - [net] vsock/virtio: add support for MSG_PEEK (Stefano Garzarella) [1818059]- [include] leds: triggers: new function led_set_trigger_data() (Torez Smith) [1686205] - [leds] leds: triggers: add device attribute support (Torez Smith) [1686205] - [usb] USB: cdc-wdm: fix race between write and disconnect due to flag abuse (Torez Smith) [1686205] - [usb] usb: host: xhci: rcar: Fix typo in compatible string matching (Torez Smith) [1686205] - [usb] usb: host: xhci-tegra: Set DMA mask correctly (Torez Smith) [1686205] - [usb] USB: storage: ums-realtek: Whitelist auto-delink support (Torez Smith) [1686205] - [usb] USB: storage: ums-realtek: Update module parameter description for auto_delink_en (Torez Smith) [1686205] - [usb] usb: host: ohci: fix a race condition between shutdown and irq (Torez Smith) [1686205] - [usb] usb: hcd: use managed device resources (Torez Smith) [1686205] - [usb] typec: tcpm: fix a typo in the comparison of pdo_max_voltage (Torez Smith) [1686205] - [usb] usb-storage: Add new JMS567 revision to unusual_devs (Torez Smith) [1686205] - [usb] usb: chipidea: udc: don't do hardware access if gadget has stopped (Torez Smith) [1686205] - [usb] usbtmc: more sanity checking for packet size (Torez Smith) [1686205] - [usb] usb: udc: lpc32xx: silence fall-through warning (Torez Smith) [1686205] - [usb] usb: chipidea: imx: fix EPROBE_DEFER support during driver probe (Torez Smith) [1686205] - [usb] usb: host: fotg2: restart hcd after port reset (Torez Smith) [1686205] - [usb] USB: CDC: fix sanity checks in CDC union parser (Torez Smith) [1686205] - [usb] usb: cdc-acm: make sure a refcount is taken early enough (Torez Smith) [1686205] - [usb] USB: serial: option: add the BroadMobi BM818 card (Torez Smith) [1686205] - [usb] USB: serial: option: Add Motorola modem UARTs (Torez Smith) [1686205] - [usb] USB: core: Fix races in character device registration and deregistraion (Torez Smith) [1686205] - [usb] usb: gadget: mass_storage: Fix races between fsg_disable and fsg_set_alt (Torez Smith) [1686205] - [usb] usb: gadget: composite: Clear "suspended" on reset/disconnect (Torez Smith) [1686205] - [usb] usb: gadget: udc: renesas_usb3: Fix sysfs interface of "role" (Torez Smith) [1686205] - [usb] usb: setup authorized_default attributes using usb_bus_notify (Torez Smith) [1686205] - [usb] usb: iowarrior: fix deadlock on disconnect (Torez Smith) [1686205] - [usb] Revert "USB: rio500: simplify locking" (Torez Smith) [1686205] - [usb] usb: usbfs: fix double-free of usb memory upon submiturb error (Torez Smith) [1686205] - [usb] usb: yurex: Fix use-after-free in yurex_delete (Torez Smith) [1686205] - [usb] USB: serial: option: add D-Link DWM-222 device ID (Torez Smith) [1686205] - [usb] USB: serial: option: Add support for ZTE MF871A (Torez Smith) [1686205] - [usb] usb: typec: tcpm: Ignore unsupported/unknown alternate mode requests (Torez Smith) [1686205] - [usb] xhci: Fix NULL pointer dereference at endpoint zero reset (Torez Smith) [1686205] - [usb] usb: host: xhci-rcar: Fix timeout in xhci_suspend() (Torez Smith) [1686205] - [usb] usb: typec: ucsi: ccg: Fix uninitilized symbol error (Torez Smith) [1686205] - [usb] usb: typec: tcpm: remove tcpm dir if no children (Torez Smith) [1686205] - [usb] usb: typec: tcpm: free log buf memory when remove debug file (Torez Smith) [1686205] - [usb] usb: typec: tcpm: Add NULL check before dereferencing config (Torez Smith) [1686205] - [tools] tools headers UAPI: Sync usbdevice_fs.h with the kernels to get new ioctl (Torez Smith) [1686205] - [usb] xhci: Fix crash if scatter gather is used with Immediate Data Transfer (IDT) (Torez Smith) [1686205] - [usb] usb: usb251xb: Reallow swap-dx-lanes to apply to the upstream port (Torez Smith) [1686205] - [usb] Revert "usb: usb251xb: Add US port lanes inversion property" (Torez Smith) [1686205] - [documentation] Revert "usb: usb251xb: Add US lanes inversion dts-bindings" (Torez Smith) [1686205] - [usb] usb: wusbcore: fix unbalanced get/put cluster_id (Torez Smith) [1686205] - [usb] usb/hcd: Fix a NULL vs IS_ERR() bug in usb_hcd_setup_local_mem() (Torez Smith) [1686205] - [usb] usb-storage: Add a limitation for blk_queue_max_hw_sectors() (Torez Smith) [1686205] - [usb] usb: pci-quirks: Minor cleanup for AMD PLL quirk (Torez Smith) [1686205] - [usb] usb: pci-quirks: Correct AMD PLL quirk detection (Torez Smith) [1686205] - [usb] vfs: Convert gadgetfs to use the new mount API (Torez Smith) [1686205] - [usb] Revert "usb: gadget: storage: Remove warning message" (Torez Smith) [1686205] - [documentation] Revert "dt-bindings: add binding for USBSS-DRD controller." (Torez Smith) [1686205] - [usb] Revert "usb:gadget Separated decoding functions from dwc3 driver." (Torez Smith) [1686205] - [usb] Revert "usb:gadget Patch simplify usb_decode_set_clear_feature function." (Torez Smith) [1686205] - [usb] Revert "usb:gadget Simplify usb_decode_get_set_descriptor function." (Torez Smith) [1686205] - [usb] Revert "usb:cdns3 Add Cadence USB3 DRD Driver" (Torez Smith) [1686205] - [usb] Revert "usb:cdns3 Fix for stuck packets in on-chip OUT buffer." (Torez Smith) [1686205] - [documentation] dt-bindings: usb: ehci: Fix example warnings (Torez Smith) [1686205] - [usb] usb :fsl: Change string format for errata property (Torez Smith) [1686205] - [usb] usb: host: Stops USB controller init if PLL fails to lock (Torez Smith) [1686205] - [usb] usb: phy: Workaround for USB erratum-A005728 (Torez Smith) [1686205] - [usb] usb: fsl: Set USB_EN bit to select ULPI phy (Torez Smith) [1686205] - [usb] usb: Handle USB3 remote wakeup for LPM enabled devices correctly (Torez Smith) [1686205] - [usb] drivers/usb/typec/tps6598x.c: fix 4CC cmd write (Torez Smith) [1686205] - [usb] drivers/usb/typec/tps6598x.c: fix portinfo width (Torez Smith) [1686205] - [usb] usb: storage: scsiglue: Do not skip VPD if try_vpd_pages is set (Torez Smith) [1686205] - [usb] usb: renesas_usbhs: add a workaround for a race condition of workqueue (Torez Smith) [1686205] - [usb] usb: gadget: udc: renesas_usb3: remove redundant assignment to ret (Torez Smith) [1686205] - [usb] usb: dwc2: use a longer AHB idle timeout in dwc2_core_reset() (Torez Smith) [1686205] - [usb] USB: gadget: function: fix issue Unneeded variable: "value" (Torez Smith) [1686205] - [usb] usb: phy: phy-mxs-usb: add imx7ulp support (Torez Smith) [1686205] - [usb] usb:cdns3 Fix for stuck packets in on-chip OUT buffer (Torez Smith) [1686205] - [usb] usb:cdns3 Add Cadence USB3 DRD Driver (Torez Smith) [1686205] - [usb] usb:gadget Simplify usb_decode_get_set_descriptor function (Torez Smith) [1686205] - [usb] usb:gadget Patch simplify usb_decode_set_clear_feature function (Torez Smith) [1686205] - [usb] usb:gadget Separated decoding functions from dwc3 driver (Torez Smith) [1686205] - [documentation] dt-bindings: add binding for USBSS-DRD controller (Torez Smith) [1686205] - [usb] usb: dwc3: pci: add support for TigerLake Devices (Torez Smith) [1686205] - [usb] USB: serial: ftdi_sio: add ID for isodebug v1 (Torez Smith) [1686205] - [usb] usb: host: Fix excessive alignment restriction for local memory allocations (Torez Smith) [1686205] - [usb] usb: renesas_usbhs: Use struct platform_callback pointer (Torez Smith) [1686205] - [usb] usb: renesas_usbhs: Use renesas_usbhs_platform_info on of_device_id.data (Torez Smith) [1686205] - [usb] usb: renesas_usbhs: Add a common function for the .get_id (Torez Smith) [1686205] - [usb] usb: renesas_usbhs: move device tree properties parsing (Torez Smith) [1686205] - [usb] usb: renesas_usbhs: Add struct device * declaration in usbhs_probe() (Torez Smith) [1686205] - [usb] usb: renesas_usbhs: Add has_new_pipe_configs flag (Torez Smith) [1686205] - [usb] usb: renesas_usbhs: Use dev_of_node macro instead of open coded (Torez Smith) [1686205] - [usb] usb: renesas_usbhs: Remove type member from renesas_usbhs_driver_param (Torez Smith) [1686205] - [usb] usb: renesas_usbhs: Use a specific flag instead of type for multi_clks (Torez Smith) [1686205] - [usb] usb: renesas_usbhs: Avoid to write platform_data's value (Torez Smith) [1686205] - [usb] usb: renesas_usbhs: move macros from mod.c to the mod.h (Torez Smith) [1686205] - [usb] usb: renesas_usbhs: remove notify_hotplug callback (Torez Smith) [1686205] - [usb] usb: renesas_usbhs: revise the irq_vbus comments (Torez Smith) [1686205] - [usb] USB: core: Fix compiler warnings in devio.c (Torez Smith) [1686205] - [usb] USB: core: Remove usbfs_mutex (Torez Smith) [1686205] - [usb] usb: clean up some of the computations in adu_read (Torez Smith) [1686205] - [usb] scsi: usb: image: microtek: use sg helper to iterate over scatterlist (Torez Smith) [1686205] - [usb] usb: renesas_usbhs: Use struct assignment instead of memcpy() (Torez Smith) [1686205] - [usb] USB: core: correct a spelling mistake in the comment (Torez Smith) [1686205] - [usb] usb: dwc3: remove unused @lock member of dwc3_ep struct (Torez Smith) [1686205] - [usb] usb: dwc3: pci: Add Support for Intel Elkhart Lake Devices (Torez Smith) [1686205] - [usb] usb: Replace snprintf with scnprintf in gether_get_ifname (Torez Smith) [1686205] - [uapi] USB: fix types in uapi include (Torez Smith) [1686205] - [usb] USB: serial: option: add support for GosunCn ME3630 RNDIS mode (Torez Smith) [1686205] - [usb] xhci: detect USB 3.2 capable host controllers correctly (Torez Smith) [1686205] - [usb] usb: xhci: Don't try to recover an endpoint if port is in error state (Torez Smith) [1686205] - [usb] usb: gadget: ether: Fix race between gether_disconnect and rx_submit (Torez Smith) [1686205] - [usb] usb: gadget: storage: Remove warning message (Torez Smith) [1686205] - [usb] usb: dwc3: gadget: Add support for disabling U1 and U2 entries (Torez Smith) [1686205] - [usb] usb: gadget: send usb_gadget as an argument in get_config_params (Torez Smith) [1686205] - [documentation] doc: dt: bindings: usb: dwc3: Update entries for disabling U1 and U2 (Torez Smith) [1686205] - [usb] usb: dwc3: qcom: Use of_clk_get_parent_count() (Torez Smith) [1686205] - [usb] usb: dwc3: Fix core validation in probe, move after clocks are enabled (Torez Smith) [1686205] - [usb] usb: dwc3: qcom: Improve error handling (Torez Smith) [1686205] - [usb] usb: dwc3: qcom: Start USB in 'host mode' on the SDM845 (Torez Smith) [1686205] - [usb] usb: dwc3: qcom: Add support for booting with ACPI (Torez Smith) [1686205] - [usb] Revert "usb: dwc2: host: Setting qtd to NULL after freeing it" (Torez Smith) [1686205] - [usb] usb: gadget: net2272: remove redundant assignments to pointer 's' (Torez Smith) [1686205] - [usb] usb: gadget: Zero ffs_io_data (Torez Smith) [1686205] - [usb] USB: omap_udc: Remove unneeded variable (Torez Smith) [1686205] - [usb] fotg210-udc: Remove unneeded variable (Torez Smith) [1686205] - [usb] usb: gadget: at91_udc: Remove unneeded variable (Torez Smith) [1686205] - [usb] usb: gadget: udc: renesas_usb3: Enhance role switch support (Torez Smith) [1686205] - [usb] usb: gadget: u_audio: Fixed variable declaration coding style issue (Torez Smith) [1686205] - [usb] usb: gadget: f_fs: data_len used before properly set (Torez Smith) [1686205] - [usb] USB: dwc2: Don't turn off the usbphy in suspend if wakeup is enabled (Torez Smith) [1686205] - [documentation] Documentation: dt-bindings: Add snps, need-phy-for-wake for dwc2 USB (Torez Smith) [1686205] - [usb] usb: dwc2: Force 8bit UTMI width for Samsung Exynos SoCs (Torez Smith) [1686205] - [usb] usb: dwc3: meson-g12a: Add support for IRQ based OTG switching (Torez Smith) [1686205] - [usb] usb: dwc2: Use generic PHY width in params setup (Torez Smith) [1686205] - [usb] usb: host: fotg2: add device tree probing (Torez Smith) [1686205] - [usb] usb: isp1362: Spelling s/eclusive/exclusive/ (Torez Smith) [1686205] - [usb] USB: add usbfs ioctl to retrieve the connection parameters (Torez Smith) [1686205] - [usb] usb: host: xhci-tegra: Fix Wunused-const-variable (Torez Smith) [1686205] - [usb] usb: chipidea: udc: workaround for endpoint conflict issue (Torez Smith) [1686205] - dt-bindings: usb: renesas_gen3: Rename bindings documentation file (Torez Smith) [1686205] - dt-bindings: usb: renesas_usbhs: Rename bindings documentation file (Torez Smith) [1686205] - [documentation] docs: power: convert docs to ReST and rename to *.rst (Torez Smith) [1686205] - [usb] docs: kbuild: convert docs to ReST and rename to *.rst (Torez Smith) [1686205] - [usb] usb: chipidea: msm: Use devm_platform_ioremap_resource() (Torez Smith) [1686205] - [usb] usb: chipidea: imx: Use devm_platform_ioremap_resource() (Torez Smith) [1686205] - [usb] usb: chipidea: Use dev_err() instead of pr_err() (Torez Smith) [1686205] - [usb] usb: chipidea: imx: "fsl, usbphy" phandle is not mandatory now (Torez Smith) [1686205] - [usb] usb: chipidea: imx: add imx7ulp support (Torez Smith) [1686205] - [usb] usb: typec: Make sure an alt mode exist before getting its partner (Torez Smith) [1686205] - [usb] Revert "usb: mtu3: fix up undefined reference to usb_debug_root" (Torez Smith) [1686205] - [usb] USB: sisusbvga: Remove unneeded variable (Torez Smith) [1686205] - [usb] usb: typec: tcpm: fusb302: simplify getting the adapter of a client (Torez Smith) [1686205] - [usb] usb: typec: ucsi: ccg: add runtime pm workaround (Torez Smith) [1686205] - [usb] usb: typec: ucsi: ccg: enable runtime pm support (Torez Smith) [1686205] - [usb] usb: gadget: udc: lpc32xx: fix return value check in lpc32xx_udc_probe() (Torez Smith) [1686205] - [usb] usb: gadget: dwc2: fix zlp handling (Torez Smith) [1686205] - [usb] usb: dwc2: Set actual frame number for completed ISOC transfer for none DDMA (Torez Smith) [1686205] - [usb] usb: gadget: udc: lpc32xx: allocate descriptor with GFP_ATOMIC (Torez Smith) [1686205] - [usb] usb: gadget: fusb300_udc: Fix memory leak of fusb300->ep (Torez Smith) [1686205] - [usb] usb: phy: mxs: Disable external charger detect in mxs_phy_hw_init() (Torez Smith) [1686205] - [usb] usb: dwc2: Fix DMA cache alignment issues (Torez Smith) [1686205] - [usb] usb: dwc2: host: Fix wMaxPacketSize handling (fix webcam regression) (Torez Smith) [1686205] - [usb] USB: move usb debugfs directory creation to the usb common core (Torez Smith) [1686205] - [usb] usb: host: u132-hcd: remove unneeded variable frame (Torez Smith) [1686205] - [usb] media: usb/gadget/f_uvc: set device_caps in struct video_device (Torez Smith) [1686205] - [usb] usbip: Replace unused kvec array with single variable in vhci_send_cmd_unlink() (Torez Smith) [1686205] - [usb] usb: renesas_usbhs: remove controlling PWEN/EXTLP support (Torez Smith) [1686205] - [usb] usb: renesas_usbhs: remove sudmac support (Torez Smith) [1686205] - [usb] usb: xhci: Add Clear_TT_Buffer (Torez Smith) [1686205] - [usb] usb: Add devaddr in struct usb_device (Torez Smith) [1686205] - [usb] USB: Fix chipmunk-like voice when using Logitech C270 for recording audio (Torez Smith) [1686205] - [usb] USB: usb-storage: Add new ID to ums-realtek (Torez Smith) [1686205] - [usb] USB: use genalloc for USB HCs with local memory (Torez Smith) [1686205] - [usb] usb: phy: mv-usb: Remove set but not used variable 'phy' (Torez Smith) [1686205] - [usb] usb: ftdi-elan: fix possible condition with no effect (if == else) (Torez Smith) [1686205] - [usb] USB: ohci-spear: Remove set but not used variable 'ohci' (Torez Smith) [1686205] - [usb] USB: atm: ueagle-atm.c: remove redundant license text (Torez Smith) [1686205] - [usb] USB: atm: ueagle-atm.c: fix SPDX tag to be BSD2 (Torez Smith) [1686205] - [usb] usb: ohci-s3c2410: Remove set but not used variable 'hcd' (Torez Smith) [1686205] - [usb] usb: cdc-wdm: remove redundant assignment to rv (Torez Smith) [1686205] - [usb] usb: host: ohci-st: Remove set but not used variable 'ohci' (Torez Smith) [1686205] - [usb] usb: host: ehci-st: Remove set but not used variable 'ehci' (Torez Smith) [1686205] - [usb] usb: typec: ucsi: ccg: fix memory leak in do_flash (Torez Smith) [1686205] - [include] treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 157 (Torez Smith) [1686205] - [tools] treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 156 (Torez Smith) [1686205] - [usb] usbip: usbip_host: fix stub_dev lock context imbalance regression (Torez Smith) [1686205] - [tools] treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 61 (Torez Smith) [1686205] - [usb] usb: avoid redundant allocation and free of memory (Torez Smith) [1686205] - [usb] signal/usb: Replace kill_pid_info_as_cred with kill_pid_usb_asyncio (Torez Smith) [1686205] - [usb] xhci: Use zu for printing size_t type (Torez Smith) [1686205] - [usb] xhci: Convert xhci_handshake() to use readl_poll_timeout_atomic() (Torez Smith) [1686205] - [usb] xhci: Fix immediate data transfer if buffer is already DMA mapped (Torez Smith) [1686205] - [usb] usb: xhci: avoid null pointer deref when bos field is NULL (Torez Smith) [1686205] - [usb] usb: xhci: Fix a potential null pointer dereference in xhci_debugfs_create_endpoint() (Torez Smith) [1686205] - [usb] xhci: update bounce buffer with correct sg num (Torez Smith) [1686205] - [tools] treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 13 (Torez Smith) [1686205] - [usb] USB: serial: option: add Telit 0x1260 and 0x1261 compositions (Torez Smith) [1686205] - [usb] USB: serial: pl2303: add Allied Telesis VT-Kit3 (Torez Smith) [1686205] - [usb] USB: serial: option: add support for Simcom SIM7500/SIM7600 RNDIS mode (Torez Smith) [1686205] - [tools] treewide: Add SPDX license identifier - Makefile/Kconfig (Torez Smith) [1686205] - [documentation] dt-bindings: usb: renesas_usbhs: Add support for r7s9210 (Torez Smith) [1686205] - [usb] usb: renesas_usbhs: Add support for RZ/A2 (Torez Smith) [1686205] - [usb] usb: renesas_usbhs: support byte addressable CFIFO (Torez Smith) [1686205] - [usb] usb: renesas_usbhs: add support for CNEN bit (Torez Smith) [1686205] - [usb] usb: renesas_usbhs: move flags to param (Torez Smith) [1686205] - [usb] usb: core: hub: Disable hub-initiated U1/U2 (Torez Smith) [1686205] - [usb] usb: core: hub: Enable/disable U1/U2 in configured state (Torez Smith) [1686205] - [usb] USB: rio500: simplify locking (Torez Smith) [1686205] - [usb] USB: rio500: fix memory leak in close after disconnect (Torez Smith) [1686205] - [usb] USB: rio500: refuse more than one device at a time (Torez Smith) [1686205] - [usb] usbip: usbip_host: fix BUG: sleeping function called from invalid context (Torez Smith) [1686205] - [usb] USB: sisusbvga: fix oops in error path of sisusb_probe (Torez Smith) [1686205] - [usb] USB: Add LPM quirk for Surface Dock GigE adapter (Torez Smith) [1686205] - [usb] usb: mtu3: fix up undefined reference to usb_debug_root (Torez Smith) [1686205] - [usb] USB: Fix slab-out-of-bounds write in usb_get_bos_descriptor (Torez Smith) [1686205] - [usb] usb: remove redundant 'default n' from Kconfig-s (Torez Smith) [1686205] - [usb] usb: renesas_usbhs: Use specific struct instead of USBHS_TYPE_* enums (Torez Smith) [1686205] - [usb] USB: OHCI: remove space before open square bracket '[' (Torez Smith) [1686205] - [usb] usb: exynos: add workaround for the USB device bindings conflict (Torez Smith) [1686205] - [usb] usbip: usbip_host: cleanup do_rebind() return path (Torez Smith) [1686205] - [usb] USB: serial: f81232: clear overrun flag (Torez Smith) [1686205] - [usb] USB: serial: f81232: fix interrupt worker not stop (Torez Smith) [1686205] - [usb] usb: dwc3: Rename DWC3_DCTL_LPM_ERRATA (Torez Smith) [1686205] - [usb] usb: dwc3: Fix default lpm_nyet_threshold value (Torez Smith) [1686205] - [usb] usb: dwc3: debug: Print GET_STATUS(device) tracepoint (Torez Smith) [1686205] - [usb] usb: dwc3: Do core validation early on probe (Torez Smith) [1686205] - [usb] usb: dwc3: gadget: Set lpm_capable (Torez Smith) [1686205] - [usb] usb: gadget: atmel: tie wake lock to running clock (Torez Smith) [1686205] - [usb] usb: gadget: atmel: support USB suspend (Torez Smith) [1686205] - [usb] usb: gadget: atmel_usba_udc: simplify setting of interrupt-enabled mask (Torez Smith) [1686205] - [usb] dwc2: gadget: Fix completed transfer size calculation in DDMA (Torez Smith) [1686205] - [usb] usb: dwc2: Set lpm mode parameters depend on HW configuration (Torez Smith) [1686205] - [usb] usb: dwc2: Fix channel disable flow (Torez Smith) [1686205] - [usb] usb: dwc2: Set actual frame number for completed ISOC transfer (Torez Smith) [1686205] - [usb] usb: gadget: do not use __constant_cpu_to_le16 (Torez Smith) [1686205] - [usb] usb: dwc2: gadget: Increase descriptors count for ISOC's (Torez Smith) [1686205] - [usb] usb: dwc3: move synchronize_irq() out of the spinlock protected block (Torez Smith) [1686205] - [usb] usb: dwc3: Free resource immediately after use (Torez Smith) [1686205] - [usb] usb: dwc3: of-simple: Convert to bulk clk API (Torez Smith) [1686205] - [usb] usb: dwc2: Delayed status support (Torez Smith) [1686205] - [usb] usb: gadget: udc: lpc32xx: rework interrupt handling (Torez Smith) [1686205] - [usb] usb: gadget: udc: lpc32xx: add support for stotg04 phy (Torez Smith) [1686205] - [usb] usb: gadget: udc: lpc32xx: properly setup phy interrupts (Torez Smith) [1686205] - [usb] usb: gadget: udc: lpc32xx: simplify vbus handling (Torez Smith) [1686205] - [usb] usb: gadget: udc: lpc32xx: simplify probe (Torez Smith) [1686205] - [usb] usb: dwc2: gadget: Move gadget phy init into core phy init (Torez Smith) [1686205] - [usb] usb: dwc2: Move phy init into core (Torez Smith) [1686205] - [usb] usb: dwc2: gadget: Replace phyif with phy_utmi_width (Torez Smith) [1686205] - [usb] usb: dwc2: gadget: Remove duplicated phy init (Torez Smith) [1686205] - [usb] usb: dwc2: Move UTMI_PHY_DATA defines closer (Torez Smith) [1686205] - [usb] usb: dwc2: optionally assert phy reset when waking up (Torez Smith) [1686205] - [documentation] dt-bindings: usb: dwc2: Document quirk to reset PHY upon wakeup (Torez Smith) [1686205] - [documentation] dt-bindings: usb: dwc2: document the vbus-supply property (Torez Smith) [1686205] - [usb] USB: UDC: net22{80, 72}: remove mistaken test of req->zero (Torez Smith) [1686205] - [usb] USB: UDC: net2280: Remove redundant "if" condition (Torez Smith) [1686205] - [usb] usb: gadget: fsl: fix link error against usb-gadget module (Torez Smith) [1686205] - [usb] usb: gadget: f_ncm: Add OS descriptor support (Torez Smith) [1686205] - [usb] usb: gadget: f_ncm: Fix NTP-32 support (Torez Smith) [1686205] - [usb] usb: dwc2: gadget: Reject LPM token during Control transfers (Torez Smith) [1686205] - [usb] USB: Export usb_wakeup_enabled_descendants() (Torez Smith) [1686205] - [usb] usb: dwc2: bus suspend/resume for hosts with DWC2_POWER_DOWN_PARAM_NONE (Torez Smith) [1686205] - [usb] usb: dwc3: Add Amlogic G12A DWC3 glue (Torez Smith) [1686205] - [usb] usb: dwc2: Add Amlogic G12A DWC2 Params (Torez Smith) [1686205] - [documentation] dt-bindings: usb: dwc3: Add Amlogic G12A DWC3 Glue Bindings (Torez Smith) [1686205] - [documentation] dt-bindings: usb: dwc2: Add Amlogic G12A DWC2 Compatible (Torez Smith) [1686205] - [usb] usb: gadget: f_fs: don't free buffer prematurely (Torez Smith) [1686205] - [usb] USB: serial: io_edgeport: fix up switch fall-through comments (Torez Smith) [1686205] - [usb] usb: usb251xb: Add US port lanes inversion property (Torez Smith) [1686205] - [usb] usb: usb251xb: Create a ports field collector method (Torez Smith) [1686205] - [documentation] usb: usb251xb: Add US lanes inversion dts-bindings (Torez Smith) [1686205] - [usb] usb: isp1760-hcd: Fix fall-through annotations (Torez Smith) [1686205] - [usb] usb: musb: dsps: Use dev_get_drvdata() (Torez Smith) [1686205] - [usb] usb: musb: jz4740: obtain USB PHY from devicetree (Torez Smith) [1686205] - [usb] usb: musb: jz4740: Let the platform probe the PHY (Torez Smith) [1686205] - [documentation] dt-bindings: usb: Add usb-phy property to the jz4740-musb node (Torez Smith) [1686205] - [soc] soc: sunxi: Fix missing dependency on REGMAP_MMIO (Torez Smith) [1686205] - [usb] usb: musb: omap2430: Add support for idling phy when musb is idle (Torez Smith) [1686205] - [usb] usb: musb: Silence error about blacklisting hubs if !CONFIG_USB (Torez Smith) [1686205] - [usb] usbip: vhci_hcd: Mark expected switch fall-through (Torez Smith) [1686205] - [usb] UAS: fix alignment of scatter/gather segments (Torez Smith) [1686205] - [include] USB: serial: drop unused iflag macro (Torez Smith) [1686205] - [usb] USB: serial: drop unnecessary goto (Torez Smith) [1686205] - [usb] USB: serial: clean up throttle handling (Torez Smith) [1686205] - [usb] USB: serial: fix unthrottle races (Torez Smith) [1686205] - [usb] USB: cdc-acm: clean up throttle handling (Torez Smith) [1686205] - [usb] USB: cdc-acm: fix unthrottle races (Torez Smith) [1686205] - [usb] usb: typec: ucsi: ccg: fix missing unlock on error in ccg_cmd_write_flash_row() (Torez Smith) [1686205] - [documentation] dt-bindings: usb: renesas_usbhs: Add support for r8a77470 (Torez Smith) [1686205] - [documentation] dt-bindings: usb-xhci: Add r8a774c0 support (Torez Smith) [1686205] - [usb] usb: xhci: add endpoint context tracing when an endpoint is added (Torez Smith) [1686205] - [usb] xhci: Add tracing for input control context (Torez Smith) [1686205] - [usb] xhci: add port and bus number to port dynamic debugging (Torez Smith) [1686205] - [usb] usb: xhci: add Immediate Data Transfer support (Torez Smith) [1686205] - [usb] usb: usb251xb: Add an empty hub' i2c-bus segment checker (Torez Smith) [1686205] - [usb] USB: serial: spcp8x5: simplify init_termios (Torez Smith) [1686205] - [usb] USB: serial: oti6858: simplify init_termios (Torez Smith) [1686205] - [usb] USB: serial: iuu_phoenix: simplify init_termios (Torez Smith) [1686205] - [usb] USB: serial: iuu_phoenix: drop bogus initial cflag (Torez Smith) [1686205] - [usb] USB: serial: cypress_m8: clean up initial-termios handling (Torez Smith) [1686205] - [usb] USB: serial: cypress_m8: drop unused termios (Torez Smith) [1686205] - [usb] USB: serial: cypress_m8: drop unused driver data flag (Torez Smith) [1686205] - [usb] USB: serial: fix initial-termios handling (Torez Smith) [1686205] - [usb] USB: yurex: Fix protection fault after device removal (Torez Smith) [1686205] - [usb] usb: usbip: fix isoc packet num validation in get_pipe (Torez Smith) [1686205] - [usb] usb/hcd: Send a uevent signaling that the host controller had died (Torez Smith) [1686205] - [usb] usb: typec: Add driver for NVIDIA Alt Modes (Torez Smith) [1686205] - [usb] usb: typec: displayport: Export probe and remove functions (Torez Smith) [1686205] - [usb] usb: typec: ucsi: Support for DisplayPort alt mode (Torez Smith) [1686205] - [usb] usb: typec: ucsi: Preliminary support for alternate modes (Torez Smith) [1686205] - [usb] usb: typec: ucsi: ccg: add firmware flashing support (Torez Smith) [1686205] - [usb] usb: typec: ucsi: ccg: add get_fw_info function (Torez Smith) [1686205] - [usb] usb: usb251xb: Lock i2c-bus segment the hub resides (Torez Smith) [1686205] - [usb] usb: dwc3: Allow building USB_DWC3_QCOM without EXTCON (Torez Smith) [1686205] - [usb] usbip: stub_rx: tidy the indenting in is_clear_halt_cmd() (Torez Smith) [1686205] - [usb] USB: serial: digi_acceleport: clean up set_termios (Torez Smith) [1686205] - [usb] USB: serial: digi_acceleport: clean up modem-control handling (Torez Smith) [1686205] - [usb] USB: core: Fix bug caused by duplicate interface PM usage counter (Torez Smith) [1686205] - [usb] usb: mtu3: get optional clock by devm_clk_get_optional() (Torez Smith) [1686205] - [usb] usb: chipidea: msm: get optional clock by devm_clk_get_optional() (Torez Smith) [1686205] - [usb] usb: dwc2: get optional clock by devm_clk_get_optional() (Torez Smith) [1686205] - [usb] usb: misc: usb3503: get optional clock by devm_clk_get_optional() (Torez Smith) [1686205] - [usb] usb: host: xhci-plat: get optional clock by devm_clk_get_optional() (Torez Smith) [1686205] - [usb] usb: xhci-mtk: get optional clock by devm_clk_get_optional() (Torez Smith) [1686205] - [usb] usb: typec: fusb302: Revert "Resolve fixed power role contract setup" (Torez Smith) [1686205] - [usb] usb: typec: fusb302: Implement start_toggling for all port-types (Torez Smith) [1686205] - [usb] usb: typec: tcpm: Notify the tcpc to start connection-detection for SRPs (Torez Smith) [1686205] - [usb] usb: host: use usb_endpoint_maxp instead of usb_maxpacket (Torez Smith) [1686205] - [usb] USB: dummy-hcd: Fix failure to give back unlinked URBs (Torez Smith) [1686205] - [usb] USB: core: Don't unbind interfaces following device reset failure (Torez Smith) [1686205] - [usb] usb-storage: Set virt_boundary_mask to avoid SG overflows (Torez Smith) [1686205] - [usb] USB: core: Fix unterminated string returned by usb_string() (Torez Smith) [1686205] - [documentation] dt-bindings: usb: Convert the generic EHCI binding to YAML (Torez Smith) [1686205] - [documentation] dt-bindings: usb: Convert the generic OHCI binding to YAML (Torez Smith) [1686205] - [documentation] dt-bindings: usb: Convert USB HCD generic binding to YAML (Torez Smith) [1686205] - [usb] USB: hub: Remove returned value 'status' since never used (Torez Smith) [1686205] - [usb] usb: host: xhci-tegra: Add Tegra186 XUSB support (Torez Smith) [1686205] - [usb] usb: host: xhci-tegra: Selectively program IPFS (Torez Smith) [1686205] - [documentation] dt-bindings: usb: xhci-tegra: Add Tegra186 support (Torez Smith) [1686205] - [usb] usb: ohci-da8xx: drop the vbus GPIO (Torez Smith) [1686205] - [usb] usb: ohci-da8xx: disable the regulator if the overcurrent irq fired (Torez Smith) [1686205] - [usb] usb: ohci-da8xx: let the regulator framework keep track of use count (Torez Smith) [1686205] - [usb] USB: serial: pl2303: fix tranceiver suspend mode (Torez Smith) [1686205] - [usb] USB: serial: pl2303: fix non-supported xon/xoff (Torez Smith) [1686205] - [usb] USB: serial: option: add Olicard 600 (Torez Smith) [1686205] - [usb] USB: serial: cp210x: add new device id (Torez Smith) [1686205] - [usb] usb: u132-hcd: fix resource leak (Torez Smith) [1686205] - [usb] usb: cdc-acm: fix race during wakeup blocking TX traffic (Torez Smith) [1686205] - [usb] usb: mtu3: fix EXTCON dependency (Torez Smith) [1686205] - [usb] usb: usb251xb: fix to avoid potential NULL pointer dereference (Torez Smith) [1686205] - [usb] usb: core: Try generic PHY_MODE_USB_HOST if usb_phy_roothub_set_mode fails (Torez Smith) [1686205] - [usb] usb: introduce usb_ep_type_string() function (Torez Smith) [1686205] - [usb] usb: typec: fusb302: Make fusb302_irq_work static (Torez Smith) [1686205] - [usb] usb: u132-hcd: fix potential NULL pointer dereference (Torez Smith) [1686205] - [usb] usb: typec: wcove: Provide fwnode for the port (Torez Smith) [1686205] - [usb] usb: core: Add PM runtime calls to usb_hcd_platform_shutdown (Torez Smith) [1686205] - [usb] usb: sierra: fix a missing check of device_create_file (Torez Smith) [1686205] - [usb] usb: mtu3: add a function to switch mailbox state to string (Torez Smith) [1686205] - [usb] usb: mtu3: add tracepoints to help debug (Torez Smith) [1686205] - [usb] usb: mtu3: move vbus and mode debugfs interfaces into mtu3_debugfs.c (Torez Smith) [1686205] - [usb] usb: mtu3: add debugfs interface files (Torez Smith) [1686205] - [usb] usb: mtu3: supports new QMU format (Torez Smith) [1686205] - [usb] usb: mtu3: rebuild qmu_gpd struct to prepare to support new QMU format (Torez Smith) [1686205] - [usb] usb: mtu3: fix transfer error of USB3 Gen2 isoc (Torez Smith) [1686205] - [usb] usb: mtu3: rebuild the code of getting vbus regulator (Torez Smith) [1686205] - [usb] usb: mtu3: remove unnecessary local variable @req (Torez Smith) [1686205] - [usb] usb: mtu3: print useful information also for device and host modes (Torez Smith) [1686205] - [usb] usb: mtu3: check return value of devm_extcon_register_notifier() (Torez Smith) [1686205] - [usb] xhci: Don't let USB3 ports stuck in polling state prevent suspend (Torez Smith) [1686205] - [usb] usb: xhci: dbc: Don't free all memory with spinlock held (Torez Smith) [1686205] - [usb] xhci: Fix port resume done detection for SS ports with LPM enabled (Torez Smith) [1686205] - [usb] USB: serial: mos7720: fix mos_parport refcount imbalance on error path (Torez Smith) [1686205] - [usb] USB: gadget: f_hid: fix deadlock in f_hidg_write() (Torez Smith) [1686205] - [usb] usb: gadget: net2272: Fix net2272_dequeue() (Torez Smith) [1686205] - [usb] usb: gadget: net2280: Fix net2280_dequeue() (Torez Smith) [1686205] - [usb] usb: gadget: net2280: Fix overrun of OUT messages (Torez Smith) [1686205] - [usb] usb: dwc3: pci: add support for Comet Lake PCH ID (Torez Smith) [1686205] - [usb] usb: usb251xb: Remove unnecessary comparison of unsigned integer with >= 0 (Torez Smith) [1686205] - [usb] usb: typec: fusb302: Add __printf attribute to fusb302_log function (Torez Smith) [1686205] - [usb] usb: typec: fusb302: Improve suspend/resume handling (Torez Smith) [1686205] - [usb] usb: typec: fusb302: 2 small misc. fixes (Torez Smith) [1686205] - [usb] usb: typec: fusb302: Fix fusb302_handle_togdone_src Ra handling (Torez Smith) [1686205] - [usb] usb: typec: fusb302: Check vconn is off when we start toggling (Torez Smith) [1686205] - [usb] usb: typec: fusb302: Fold fusb302_set_cc_pull into tcpm_set_cc (Torez Smith) [1686205] - [usb] usb: typec: fusb302: Refactor / simplify tcpm_set_cc() (Torez Smith) [1686205] - [usb] usb: typec: fusb302: Make fusb302_set_cc_polarity also set pull ups / downs (Torez Smith) [1686205] - [usb] usb: typec: pi3usb30532: Keep orientation when setting mux to safe mode (Torez Smith) [1686205] - [usb] usb: typec: altmodes/displayport: Fall back to multi-func pins (Torez Smith) [1686205] - [usb] usbip: Remove unnecessary null check (Torez Smith) [1686205] - [include] USB: usb.h: tweak struct urb to remove wasted space (Torez Smith) [1686205] - [usb] usb: common: Consider only available nodes for dr_mode (Torez Smith) [1686205] - [usb] usb: typec: tcpm: Try PD-2.0 if sink does not respond to 3.0 source-caps (Torez Smith) [1686205] - [usb] usb: host: xhci-rcar: Add XHCI_TRUST_TX_LENGTH quirk (Torez Smith) [1686205] - [usb] usb: typec: Fix unchecked return value (Torez Smith) [1686205] - [usb] USB: serial: option: set driver_info for SIM5218 and compatibles (Torez Smith) [1686205] - [usb] USB: serial: ftdi_sio: add additional NovaTech products (Torez Smith) [1686205] - [usb] USB: serial: option: add support for Quectel EM12 (Torez Smith) [1686205] - [usb] wusb: Remove unnecessary static function ckhdid_printf (Torez Smith) [1686205] - [usb] usb: core: make default autosuspend delay configurable (Torez Smith) [1686205] - [usb] usb: core: Fix typo in description of "authorized_default" (Torez Smith) [1686205] - [usb] usb: chipidea: Refactor USB PHY selection and keep a single PHY (Torez Smith) [1686205] - [usb] usb: chipidea: Grab the (legacy) USB PHY by phandle first (Torez Smith) [1686205] - [usb] usb: chipidea: imx: set power polarity (Torez Smith) [1686205] - [documentation] dt-bindings: usb: ci-hdrc-usb2: add property power-active-high (Torez Smith) [1686205] - [usb] usb: chipidea: imx: remove unused header files (Torez Smith) [1686205] - [usb] usb: chipidea: tegra: Fix missed ci_hdrc_remove_device() (Torez Smith) [1686205] - [usb] usb: core: add option of only authorizing internal devices (Torez Smith) [1686205] - [usb] usb: typec: tps6598x: handle block writes separately with plain-I2C adapters (Torez Smith) [1686205] - [usb] usb: xhci: Fix for Enabling USB ROLE SWITCH QUIRK on INTEL_SUNRISEPOINT_LP_XHCI (Torez Smith) [1686205] - [usb] usb: xhci: fix build warning - missing prototype (Torez Smith) [1686205] - [usb] usb: xhci: dbc: Fixing typo error (Torez Smith) [1686205] - [usb] usb: xhci: remove unused member 'parent' in xhci_regset struct (Torez Smith) [1686205] - [usb] xhci: tegra: Prevent error pointer dereference (Torez Smith) [1686205] - [usb] USB: serial: option: add Telit ME910 ECM composition (Torez Smith) [1686205] - [usb] usb: core: Replace hardcoded check with inline function from usb.h (Torez Smith) [1686205] - [usb] usb: core: skip interfaces disabled in devicetree (Torez Smith) [1686205] - [usb] usb: typec: mux: remove redundant check on variable match (Torez Smith) [1686205] - [usb] USB: serial: cp210x: fix GPIO in autosuspend (Torez Smith) [1686205] - [usb] usb: dwc3: drd: Defer probe if extcon device is not found (Torez Smith) [1686205] - [usb] cdc-wdm: pass return value of recover_from_urb_loss (Torez Smith) [1686205] - [usb] usb: host: oxu210hp-hcd: remove set but not used variables 'uframes, transfer_buffer_length' (Torez Smith) [1686205] - [usb] USB: renesas_usbhs: fix spelling mistake "doens't" -> "doesn't" (Torez Smith) [1686205] - [usb] usb: wusbcore: wa-xfer: use struct_size() helper (Torez Smith) [1686205] - [usb] usb: core: config: Use struct_size() in kzalloc() (Torez Smith) [1686205] - [usb] usb: dwc2: use struct_size() in kzalloc() (Torez Smith) [1686205] - [usb] usb: typec: mux: Fix unsigned comparison with less than zero (Torez Smith) [1686205] - [usb] USB: serial: ftdi_sio: add ID for Hjelmslund Electronics USB485 (Torez Smith) [1686205] - [usb] usb: typec: mux: Find the muxes by also matching against the device node (Torez Smith) [1686205] - [usb] usb: typec: Find the ports by also matching against the device node (Torez Smith) [1686205] - [usb] usb: roles: Find the muxes by also matching against the device node (Torez Smith) [1686205] - [usb] usb: typec: Rationalize the API for the muxes (Torez Smith) [1686205] - [usb] usb: typec: tps6598x: Check mode of operation (Torez Smith) [1686205] - [usb] usb: typec: tcpm: Remove unused functions (Torez Smith) [1686205] - [usb] USB: musb: mark expected switch fall-through (Torez Smith) [1686205] - [usb] usb: phy: twl6030-usb: fix possible use-after-free on remove (Torez Smith) [1686205] - [usb] usb: misc: usbtest: add super-speed isoc support (Torez Smith) [1686205] - [usb] usb: dwc3: Reset num_trbs after skipping (Torez Smith) [1686205] - [usb] usb: dwc3: gadget: don't enable interrupt when disabling endpoint (Torez Smith) [1686205] - [usb] scsi: uas: Use scsi_et_resid() where appropriate (Torez Smith) [1686205] - [usb] usb: host: oxu210hp-hcd: fix indentation issue (Torez Smith) [1686205] - [usb] usb: ohci-da8xx: add vbus and overcurrent gpios (Torez Smith) [1686205] - [usb] usb: ohci-da8xx: add a helper pointer to &pdev->dev (Torez Smith) [1686205] - [usb] usb: ohci-da8xx: add a new line after local variables (Torez Smith) [1686205] - [usb] usb: musb: Kconfig: Drop dependency on CONFIG_USB for jz4740 (Torez Smith) [1686205] - [usb] usb: musb: Kconfig: Drop dependency on MACH_JZ4740 for jz4740 (Torez Smith) [1686205] - [usb] usb: musb: jz4740: Add support for devicetree (Torez Smith) [1686205] - [documentation] Documentation: dt: Add binding info for jz4740-musb driver (Torez Smith) [1686205] - [usb] USB: musb: fix indentation issue on a return statement (Torez Smith) [1686205] - [usb] fotg210-udc: pass struct device to DMA API functions (Torez Smith) [1686205] - [usb] fotg210-udc: remove a bogus dma_sync_single_for_device call (Torez Smith) [1686205] - [usb] usb: gadget: Change Andrzej Pietrasiewicz's e-mail address (Torez Smith) [1686205] - [usb] usb: f_fs: Avoid crash due to out-of-scope stack ptr access (Torez Smith) [1686205] - [usb] usb: typec: ucsi: Remove debug.h file (Torez Smith) [1686205] - [usb] usb: typec: Prepare alt mode enter/exit reporting for UCSI alt mode support (Torez Smith) [1686205] - [usb] usb: typec: displayport: Move the Configuration VDO helpers to the header (Torez Smith) [1686205] - [usb] USB: Fix configuration selection issues introduced in v4.20.0 (Torez Smith) [1686205] - [usb] usb: handle warm-reset port requests on hub resume (Torez Smith) [1686205] - [usb] USB: serial: cp210x: add ID for Ingenico 3070 (Torez Smith) [1686205] - [usb] USB: serial: cp210x: add minimum baud rate for CP2105 SCI (Torez Smith) [1686205] - [usb] usb: dwc3: haps: Workaround matching VID PID (Torez Smith) [1686205] - [usb] usb: gadget: f_fs: preserve wMaxPacketSize across usb_ep_autoconfig() call (Torez Smith) [1686205] - [usb] usb: gadget: move non-super speed code out of usb_ep_autoconfig_ss() (Torez Smith) [1686205] - [usb] usb: gadget: function: sync f_uac1 ac header baInterfaceNr (Torez Smith) [1686205] - [usb] usb: dwc2: gadget: Add scatter-gather mode (Torez Smith) [1686205] - [usb] usb: gadget: fix various indentation issues (Torez Smith) [1686205] - [usb] usb: dwc2: Fix EP TxFIFO number setting (Torez Smith) [1686205] - [usb] udc: net2280: Fix net2280_disable (Torez Smith) [1686205] - [usb] USB: gadget: Improve kerneldoc for usb_ep_dequeue() (Torez Smith) [1686205] - [usb] usb: dwc3: debug: purge usage of strcat (Torez Smith) [1686205] - [usb] USB: serial: cp210x: add GPIO support for CP2104 (Torez Smith) [1686205] - [usb] usb: dwc3: trace: pass trace buffer size to decoding functions (Torez Smith) [1686205] - [usb] usb: core: Move variable initialization to appropriate place (Torez Smith) [1686205] - [usb] usb: dwc3: gadget: remove DWC3_EP_END_TRANSFER_PENDING (Torez Smith) [1686205] - [usb] usb: dwc3: gadget: early giveback if End Transfer already completed (Torez Smith) [1686205] - [usb] usb: dwc3: gadget: don't use resource_index as a flag (Torez Smith) [1686205] - [usb] usb: dwc3: gadget: clear DWC3_EP_TRANSFER_STARTED on cmd complete (Torez Smith) [1686205] - [usb] usb: typec: tcpm: Correct the PPS out_volt calculation (Torez Smith) [1686205] - [usb] usb: gadget: musb: fix short isoc packets with inventra dma (Torez Smith) [1686205] - [usb] usbip: Fix vep_free_request() null pointer checks on input args (Torez Smith) [1686205] - [usb] usb: ehci-orion: add S2RAM support (Torez Smith) [1686205] - [usb] usb: ehci-orion: avoid double PHY initialization (Torez Smith) [1686205] - [usb] usb: host: xhci: mvebu: add reset on resume quirk (Torez Smith) [1686205] - [usb] usb: core: comply to PHY framework (Torez Smith) [1686205] - [usb] usb: phy: am335x: fix race condition in _probe (Torez Smith) [1686205] - [usb] usb: dwc3: exynos: Fix error handling of clk_prepare_enable (Torez Smith) [1686205] - [usb] usb: phy: fix link errors (Torez Smith) [1686205] - [usb] usb: gadget: udc: net2272: Fix bitwise and boolean operations (Torez Smith) [1686205] - [usb] usb: dwc3: gadget: Handle 0 xfer length for OUT EP (Torez Smith) [1686205] - [usb] usb: dwc3: gadget: remove req->started flag (Torez Smith) [1686205] - [usb] usb: dwc3: gadget: prevent dwc3_request from being queued twice (Torez Smith) [1686205] - [usb] usb: dwc3: gadget: add dwc3_request status tracking (Torez Smith) [1686205] - [usb] usb: gadget: udc: renesas_usb3: add support for r8a774c0 (Torez Smith) [1686205] - [usb] usb: gadget: uvc: add uvcg_warn macro (Torez Smith) [1686205] - [usb] usb: gadget: u_serial: process RX in workqueue instead of tasklet (Torez Smith) [1686205] - [documentation] dt-bindings: usb: renesas_usbhs: Add r8a774c0 support (Torez Smith) [1686205] - [documentation] usb: gadget: udc: renesas_usb3: Add bindings for r8a774c0 (Torez Smith) [1686205] - [usb] usb: gadget: aspeed: fix typo (Torez Smith) [1686205] - [usb] usb: dwc3: keystone: Add support for ti, am654-dwc3 (Torez Smith) [1686205] - [documentation] dt-bindings: usb: keystone-usb: Add ti, am654-dwc3 support (Torez Smith) [1686205] - [usb] usb: dwc3: gadget: Fix OTG events when gadget driver isn't loaded (Torez Smith) [1686205] - [usb] usb: dwc3: qcom: Add support for MSM8998 (Torez Smith) [1686205] - [documentation] dt-bindings: usb: Add support for msm8998 (Torez Smith) [1686205] - [usb] usb: gadget: Remove dead branch code (Torez Smith) [1686205] - [usb] USB: serial: cp210x: support all gpios on CP2102N QFN28 package (Torez Smith) [1686205] - [usb] usb: ftdi-elan: Fix if == else warnings in ftdi_elan_respond_engine (Torez Smith) [1686205] - [usb] usb: typec: tpcm: improve error handling of tcpm_register_port (Torez Smith) [1686205] - [usb] usb: misc: usb3503: Add system sleep support in non-I2C mode (Torez Smith) [1686205] - [usb] usbip: Fix vhci_urb_enqueue() URB null transfer buffer error path (Torez Smith) [1686205] - [usb] usb: sisusb: remove useless macros and compact the code (Torez Smith) [1686205] - [usb] usb: sisusb: let files build only when needed (Torez Smith) [1686205] - [usb] usb: sisusb_con, cleanup configs (Torez Smith) [1686205] - [usb] usb: sisusb_con, convert addr macros to functions (Torez Smith) [1686205] - [usb] usb: ftdi-elan: remove a unnecessary variable 'empty_packets' (Torez Smith) [1686205] - [usb] usb: assign ACPI companions for embedded USB devices (Torez Smith) [1686205] - [usb] usb: split code locating ACPI companion into port and device (Torez Smith) [1686205] - [usb] USB: host: whci: rename Kbuild file (Torez Smith) [1686205] - [usb] USB: remove README file (Torez Smith) [1686205] - [usb] USB: add missing SPDX lines to Kconfig and Makefiles (Torez Smith) [1686205] - [usb] USB: storage: karma: add whitespace after declarations (Torez Smith) [1686205] - [usb] USB: serial: keyspan_usa: add proper SPDX lines for .h files (Torez Smith) [1686205] - [usb] USB: EHCI: ehci-mv: add MODULE_DEVICE_TABLE (Torez Smith) [1686205] - [usb] USB: Consolidate LPM checks to avoid enabling LPM twice (Torez Smith) [1686205] - [usb] USB: Add new USB LPM helpers (Torez Smith) [1686205] - [usb] drivers: usb :fsl: Remove USB Errata checking code (Torez Smith) [1686205] - [usb] usb: kconfig: remove dependency FSL_SOC for ehci fsl driver (Torez Smith) [1686205] - [usb] usb: ehci: fsl: Update register accessing for arm/arm64 platforms (Torez Smith) [1686205] - [usb] usb: usb251xb: add usb data lane port swap feature (Torez Smith) [1686205] - [documentation] dt-bindings: usb: usb251xb: add documentation for data lane swapping (Torez Smith) [1686205] - [usb] usb: renesas_usbhs: replace udelay() with usleep_range() (Torez Smith) [1686205] - [usb] USB: host: ohci-at91: add sam9x60-sfr definition for ohci (Torez Smith) [1686205] - [usb] xhci: Use struct_size() in kzalloc() (Torez Smith) [1686205] - [usb] usb: hub: add retry routine after intr URB submit error (Torez Smith) [1686205] - [usb] USB: leds: fix regression in usbport led trigger (Torez Smith) [1686205] - [usb] usb: chipidea: fix static checker warning for NULL pointer (Torez Smith) [1686205] - [usb] USB: usbip: delete README file (Torez Smith) [1686205] - [usb] USB: serial: pl2303: add new PID to support PL2303TB (Torez Smith) [1686205] - [usb] usb: dwc2: gadget: Fix Remote Wakeup interrupt bit clearing (Torez Smith) [1686205] - [usb] USB: serial: ftdi_sio: fix GPIO not working in autosuspend (Torez Smith) [1686205] - [usb] usb: gadget: Potential NULL dereference on allocation error (Torez Smith) [1686205] - [usb] usb: dwc3: gadget: Fix the uninitialized link_state when udc starts (Torez Smith) [1686205] - [usb] usb: dwc3: gadget: Clear req->needs_extra_trb flag on cleanup (Torez Smith) [1686205] - [usb] usb: dwc3: gadget: synchronize_irq dwc irq in suspend (Torez Smith) [1686205] - [usb] USB: core: urb: Use struct_size() in kmalloc() (Torez Smith) [1686205] - [usb] cross-tree: phase out dma_zalloc_coherent() (Torez Smith) [1686205] - [usb] usb: gadget: udc: reduce indentation (Torez Smith) [1686205] - [usb] usb: devio: update max count of DPs per interval for ISOC (Torez Smith) [1686205] - [usb] usb: host: u132-hcd: fix a couple of indentation issues (Torez Smith) [1686205] - [usb] usb: core: Simplify return value of usb_get_configuration() (Torez Smith) [1686205] - [usb] USB: Add USB_QUIRK_DELAY_CTRL_MSG quirk for Corsair K70 RGB (Torez Smith) [1686205] - [usb] usbcore: Select only first configuration for non-UAC3 compliant devices (Torez Smith) [1686205] - [usb] USB: storage: add quirk for SMI SM3350 (Torez Smith) [1686205] - [usb] USB: storage: don't insert sane sense for SPC3+ when bad sense specified (Torez Smith) [1686205] - [usb] usb: cdc-acm: send ZLP for Telit 3G Intel based modems (Torez Smith) [1686205] - [usb] USB: serial: simple: add Motorola Tetra TPG2200 device id (Torez Smith) [1686205] - [usb] USB: serial: option: add Fibocom NL678 series (Torez Smith) [1686205] - [usb] cdc-acm: fix abnormal DATA RX issue for Mediatek Preloader (Torez Smith) [1686205] - [usb] usb: r8a66597: Fix a possible concurrency use-after-free bug in r8a66597_endpoint_disable() (Torez Smith) [1686205] - [usb] usb: typec: tcpm: Extend the matching rules on PPS APDO selection (Torez Smith) [1686205] - [documentation] usb: typec: Improve Alt Mode documentation (Torez Smith) [1686205] - [usb] usb: musb: dsps: fix runtime pm for peripheral mode (Torez Smith) [1686205] - [usb] usb: musb: dsps: fix otg state machine (Torez Smith) [1686205] - [usb] USB: serial: pl2303: add ids for Hewlett-Packard HP POS pole displays (Torez Smith) [1686205] - [usb] PCI: Move Synopsys HAPS platform device IDs (Torez Smith) [1686205] - [usb] usb: renesas_usbhs: add support for RZ/G2E (Torez Smith) [1686205] - [usb] usb: ehci-omap: Fix deferred probe for phy handling (Torez Smith) [1686205] - [usb] usb: roles: Add a description for the class to Kconfig (Torez Smith) [1686205] - [usb] xhci: Don't prevent USB2 bus suspend in state check intended for USB3 only (Torez Smith) [1686205] - [usb] USB: serial: option: add Telit LN940 series (Torez Smith) [1686205] - [usb] USB: serial: option: add Fibocom NL668 series (Torez Smith) [1686205] - [usb] USB: serial: option: add Simcom SIM7500/SIM7600 (MBIM mode) (Torez Smith) [1686205] - [usb] USB: serial: option: add GosunCn ZTE WeLink ME3630 (Torez Smith) [1686205] - [usb] usb: renesas_usbhs: mark PM functions as __maybe_unused (Torez Smith) [1686205] - [usb] usb: core: Remove unnecessary memset() (Torez Smith) [1686205] - [usb] usb: host: isp1362-hcd: convert to DEFINE_SHOW_ATTRIBUTE (Torez Smith) [1686205] - [usb] usb: dwc2: Fix disable all EP's on disconnect (Torez Smith) [1686205] - [usb] usb: chipidea: imx: allow to configure oc polarity on i.MX25 (Torez Smith) [1686205] - [usb] usb: chipidea: imx: Warn if oc polarity isn't specified (Torez Smith) [1686205] - [usb] usb: chipidea: imx: support configuring for active low oc signal (Torez Smith) [1686205] - [documentation] doc: usb: ci-hdrc-usb2: Add pinctrl properties for HSIC pin groups (Torez Smith) [1686205] - [usb] usb: chipidea: host: override ehci->hub_control (Torez Smith) [1686205] - [usb] usb: chipidea: imx: add HSIC support (Torez Smith) [1686205] - [usb] usb: chipidea: add flag for imx hsic implementation (Torez Smith) [1686205] - [usb] usb: dwc3: gadget: Disable CSP for stream OUT ep (Torez Smith) [1686205] - [usb] USB: serial: mos7840: remove set but not used variables 'number, serial' (Torez Smith) [1686205] - [usb] USB: serial: option: add HP lt4132 (Torez Smith) [1686205] - [usb] usb: dwc2: disable power_down on Amlogic devices (Torez Smith) [1686205] - [usb] xhci: move usb2 get port status link resume handling to its own function (Torez Smith) [1686205] - [usb] xhci: refactor U0 link state handling in get_port_status (Torez Smith) [1686205] - [usb] xhci: cleanup code that sets portstatus and portchange bits (Torez Smith) [1686205] - [usb] xhci: move usb2 speficic bits to own function in get_port_status call (Torez Smith) [1686205] - [usb] xhci: move usb3 speficic bits to own function in get_port_status call (Torez Smith) [1686205] - [usb] xhci: remove unused hcd_index() (Torez Smith) [1686205] - [usb] xhci: move bus_state structure under the xhci_hub structure (Torez Smith) [1686205] - [usb] xhci: remove the unused sw_lpm_support (Torez Smith) [1686205] - [usb] Revert "usb: dwc3: pci: Use devm functions to get the phy GPIOs" (Torez Smith) [1686205] - [usb] USB: gadget: udc: s3c2410_udc: convert to DEFINE_SHOW_ATTRIBUTE (Torez Smith) [1686205] - [usb] usb: mtu3: fix dbginfo in qmu_tx_zlp_error_handler (Torez Smith) [1686205] - [usb] usb: dwc3: trace: add missing break statement to make compiler happy (Torez Smith) [1686205] - [usb] xhci: Prevent U1/U2 link pm states if exit latency is too long (Torez Smith) [1686205] - [usb] xhci: workaround CSS timeout on AMD SNPS 3.0 xHC (Torez Smith) [1686205] - [tty] USB: serial: console: fix reported terminal settings (Torez Smith) [1686205] - [usb] usb: appledisplay: Remove unnecessary spinlock (Torez Smith) [1686205] - [usb] usb: appledisplay: Set urb transfer_flags to URB_NO_TRANSFER_DMA_MAP (Torez Smith) [1686205] - [usb] usb: quirk: add no-LPM quirk on SanDisk Ultra Flair device (Torez Smith) [1686205] - [usb] USB: Fix invalid-free bug in port_over_current_notify() (Torez Smith) [1686205] - [usb] usb: appledisplay: Add 27" Apple Cinema Display (Torez Smith) [1686205] - [platform] staging: typec: fusb302: Rename fcs, extcon-name to linux, extcon-name (Torez Smith) [1686205] - [usb] usb: dwc3: gadget: Report isoc transfer frame number (Torez Smith) [1686205] - [include] usb: gadget: Introduce frame_number to usb_request (Torez Smith) [1686205] - [usb] usb: renesas_usbhs: Use SIMPLE_DEV_PM_OPS macro (Torez Smith) [1686205] - [usb] usb: renesas_usbhs: Remove dummy runtime PM callbacks (Torez Smith) [1686205] - [usb] usb: dwc2: host: use hrtimer for NAK retries (Torez Smith) [1686205] - [usb] usb: hub: delay hub autosuspend if USB3 port is still link training (Torez Smith) [1686205] - [usb] usb: mtu3: clear SOFTCONN when clear USB3_EN if work as HS mode (Torez Smith) [1686205] - [usb] usb: mtu3: enable SETUPENDISR interrupt (Torez Smith) [1686205] - [usb] usb: mtu3: fix the issue about SetFeature(U1/U2_Enable) (Torez Smith) [1686205] - [usb] usb: mtu3: enable hardware remote wakeup from L1 automatically (Torez Smith) [1686205] - [usb] usb: mtu3: remove QMU checksum (Torez Smith) [1686205] - [usb] usb/mtu3: power down device ip at setup (Torez Smith) [1686205] - [usb] usb: dwc2: Disable power down feature on Samsung SoCs (Torez Smith) [1686205] - [usb] usb: dwc3: Correct the logic for checking TRB full in __dwc3_prepare_one_trb() (Torez Smith) [1686205] - [usb] usb: dwc3: don't issue no-op trb for stream capable endpoints (Torez Smith) [1686205] - [usb] usb: dwc3: update stream id in depcmd (Torez Smith) [1686205] - [usb] USB: serial: mos7840: add a product ID for the new product (Torez Smith) [1686205] - [usb] USB: serial: mos7840: clean up register handling (Torez Smith) [1686205] - [usb] usb: gadget: u_ether: fix unsafe list iteration (Torez Smith) [1686205] - [usb] usb: dwc3: gadget: check if dep->frame_number is still valid (Torez Smith) [1686205] - [usb] USB: omap_udc: fix rejection of out transfers when DMA is used (Torez Smith) [1686205] - [usb] USB: omap_udc: fix USB gadget functionality on Palm Tungsten E (Torez Smith) [1686205] - [usb] USB: omap_udc: fix omap_udc_start() on 15xx machines (Torez Smith) [1686205] - [usb] USB: omap_udc: fix crashes on probe error and module removal (Torez Smith) [1686205] - [usb] USB: omap_udc: use devm_request_irq() (Torez Smith) [1686205] - [usb] usb: dwc3: gadget: remove unnecessary dev_info() (Torez Smith) [1686205] - [usb] usb: dwc3: trace: log ep commands in hex (Torez Smith) [1686205] - [usb] usb: dwc3: gadget: return errors from __dwc3_gadget_start_isoc() (Torez Smith) [1686205] - [usb] usb: core: quirks: add RESET_RESUME quirk for Cherry G230 Stream series (Torez Smith) [1686205] - [usb] USB: usb-storage: Add new IDs to ums-realtek (Torez Smith) [1686205] - [usb] usb: dwc3: gadget: remove wait_end_transfer (Torez Smith) [1686205] - [usb] usb: dwc3: gadget: move requests to cancelled_list (Torez Smith) [1686205] - [usb] usb: dwc3: gadget: introduce cancelled_list (Torez Smith) [1686205] - [usb] usb: dwc3: gadget: extract dwc3_gadget_ep_skip_trbs() (Torez Smith) [1686205] - [usb] usb: dwc3: gadget: use num_trbs when skipping TRBs on ->dequeue() (Torez Smith) [1686205] - [usb] usb: dwc3: gadget: track number of TRBs per request (Torez Smith) [1686205] - [usb] usb: dwc3: gadget: combine unaligned and zero flags (Torez Smith) [1686205] - [usb] usb: dwc3: Add workaround for isoc start transfer failure (Torez Smith) [1686205] - [documentation] usb: dwc3: Add disabling of start_transfer failure quirk (Torez Smith) [1686205] - [usb] usb: dwc3: Track DWC_usb31 VERSIONTYPE (Torez Smith) [1686205] - [usb] usb: gadget: f_fs: Allow scatter-gather buffers (Torez Smith) [1686205] - [usb] usb: gadget: f_fs: Add support for CCID descriptors (Torez Smith) [1686205] - [usb] usb: gadget: uvc: constify vb2_ops structure (Torez Smith) [1686205] - [usb] usb: dwc2: gadget: Accept LPM token when TxFIFO is not empty (Torez Smith) [1686205] - [usb] usb: dwc2: gadget: Fix WkupAlert interrupt handler (Torez Smith) [1686205] - [usb] usb: dwc3: Set default mode for DWC_usb3 v3.30a and higher (Torez Smith) [1686205] - [usb] usb: gadget: udc: renesas_usb3: add a safety connection way for forced_b_device (Torez Smith) [1686205] - [usb] usb: dwc3: drd: Add support for DR detection through extcon (Torez Smith) [1686205] - [usb] usb: dwc3: drd: Switch to device property for 'extcon' handling (Torez Smith) [1686205] - [usb] usb: dwc3: don't log probe deferrals; but do log other error codes (Torez Smith) [1686205] - [usb] usb: gadget: aspeed-vhub: constify usb_gadget_ops structure (Torez Smith) [1686205] - [usb] usb: dwc3: Support option to disable USB2 LPM (Torez Smith) [1686205] - [documentation] usb: dwc3: Add a property to disable USB2 LPM (Torez Smith) [1686205] - [usb] usb: dwc3: Set GUSB2PHYCFG.ENBLSLPM (Torez Smith) [1686205] - [usb] usb: dwc3: debugfs: Print/set link state for peripheral mode (Torez Smith) [1686205] - [usb] usb: dwc3: debugfs: Properly print/set link state for HS (Torez Smith) [1686205] - [usb] usb: dwc3: debugfs: Dump internal LSP and ep registers (Torez Smith) [1686205] - [usb] usb: dwc3: debugfs: Print eps Tx/RxFIFO in bytes (Torez Smith) [1686205] - [usb] usb: dwc3: debugfs: Properly name Tx/RxFIFO (Torez Smith) [1686205] - [usb] Revert "usb: dwc3: gadget: skip Set/Clear Halt when invalid" (Torez Smith) [1686205] - [usb] drivers: usb: early: clean up indentation, remove extraneous tabs (Torez Smith) [1686205] - [usb] USB: ene_usb6250: add missing indentation (Torez Smith) [1686205] - [usb] USB: serial: ftdi_sio: use rounding when calculating baud rate divisors (Torez Smith) [1686205] - [usb] USB: serial: f81534: fix reading old/new IC config (Torez Smith) [1686205] - [usb] usb: cdc-acm: add entry for Hiro (Conexant) modem (Torez Smith) [1686205] - [usb] usb: xhci: Prevent bus suspend if a port connect change or polling state is detected (Torez Smith) [1686205] - [usb] usb: core: Fix hub port connection events lost (Torez Smith) [1686205] - [usb] usb: dwc3: gadget: fix ISOC TRB type on unaligned transfers (Torez Smith) [1686205] - [usb] Revert "usb: gadget: ffs: Fix BUG when userland exits with submitted AIO transfers" (Torez Smith) [1686205] - [usb] usb: dwc2: pci: Fix an error code in probe (Torez Smith) [1686205] - [usb] usb: dwc3: Fix NULL pointer exception in dwc3_pci_remove() (Torez Smith) [1686205] - [usb] USB: serial: mos7840: remove set but not used variables 'st, data1, iflag' (Torez Smith) [1686205] - [usb] USB: serial: quatech2: remove set but not used variable 'port_priv' (Torez Smith) [1686205] - [include] USB: remove the unused struct hcd_timeout definition (Torez Smith) [1686205] - [usb] usb: typec: ucsi: add support for Cypress CCGx (Torez Smith) [1686205] - [usb] usb: xhci: fix timeout for transition from RExit to U0 (Torez Smith) [1686205] - [usb] usb: xhci: fix uninitialized completion when USB3 port got wrong status (Torez Smith) [1686205] - [usb] xhci: Add check for invalid byte size error when UAS devices are connected (Torez Smith) [1686205] - [usb] xhci: handle port status events for removed USB3 hcd (Torez Smith) [1686205] - [usb] xhci: Fix leaking USB3 shared_hcd at xhci removal (Torez Smith) [1686205] - [documentation] dt-bindings: usb: xhci-tegra: Add power-domain details (Torez Smith) [1686205] - [usb] USB: misc: appledisplay: add 20" Apple Cinema Display (Torez Smith) [1686205] - [usb] USB: quirks: Add no-lpm quirk for Raydium touchscreens (Torez Smith) [1686205] - [usb] usb: quirks: Add delay-init quirk for Corsair K70 LUX RGB (Torez Smith) [1686205] - [usb] USB: Wait for extra delay time after USB_PORT_FEAT_RESET for quirky hub (Torez Smith) [1686205] - [usb] USB: gadget: udc: fix spelling mistake "intrerrupt" -> "interrupt" (Torez Smith) [1686205] - [usb] usb: host: remove unnecessary condition check (Torez Smith) [1686205] - [usb] usb: typec: tcpm: charge current handling for sink during hard reset (Torez Smith) [1686205] - [usb] usb: typec: tcpm: Do not disconnect link for self powered devices (Torez Smith) [1686205] - [usb] usb: dwc3: gadget: Properly check last unaligned/zero chain TRB (Torez Smith) [1686205] - [usb] usb: dwc3: core: Clean up ULPI device (Torez Smith) [1686205] - [usb] usb: phy: ab8500: silence some uninitialized variable warnings (Torez Smith) [1686205] - [usb] usb: xhci: tegra: Add genpd support (Torez Smith) [1686205] - [usb] usb: xhci: tegra: Power-off power-domains on removal (Torez Smith) [1686205] - [usb] usbip:vudc: BUG kmalloc-2048 (Not tainted): Poison overwritten (Torez Smith) [1686205] - [tools] usbip: tools: fix atoi() on non-null terminated string (Torez Smith) [1686205] - [usb] USB: misc: appledisplay: fix backlight update_status return code (Torez Smith) [1686205] - [usb] USB: fix the usbfs flag sanitization for control transfers (Torez Smith) [1686205] - [documentation] usb: host: add DT bindings for faraday fotg2 (Torez Smith) [1686205] - [usb] usb: host: ohci-at91: fix request of irq for optional gpio (Torez Smith) [1686205] - [usb] usb: xhci: pci: Enable Intel USB role mux on Apollo Lake platforms (Torez Smith) [1686205] - [usb] usb: roles: intel_xhci: Fix Unbalanced pm_runtime_enable (Torez Smith) [1686205] - [usb] cdc-acm: correct counting of UART states in serial state notification (Torez Smith) [1686205] - [usb] cdc-acm: do not reset notification buffer index upon urb unlinking (Torez Smith) [1686205] - [usb] cdc-acm: fix race between reset and control messaging (Torez Smith) [1686205] - [usb] usb: usbip: Fix BUG: KASAN: slab-out-of-bounds in vhci_hub_control() (Torez Smith) [1686205] - [usb] usb/early: remove set but not used variable 'remain_length' (Torez Smith) [1686205] - [usb] usb: typec: Fix copy/paste on typec_set_vconn_role() kerneldoc (Torez Smith) [1686205] - [usb] usb: typec: tcpm: Report back negotiated PPS voltage and current (Torez Smith) [1686205] - [usb] USB: core: remove set but not used variable 'udev' (Torez Smith) [1686205] - [usb] usb: core: fix memory leak on port_dev_path allocation (Torez Smith) [1686205] - [usb] USB: net2280: Remove ->disconnect() callback from net2280_pullup() (Torez Smith) [1686205] - [usb] usb: dwc2: disable power_down on rockchip devices (Torez Smith) [1686205] - [usb] usb: gadget: udc: renesas_usb3: add support for r8a77990 (Torez Smith) [1686205] - [documentation] dt-bindings: usb: renesas_usb3: add bindings for r8a77990 (Torez Smith) [1686205] - [usb] USB: serial: cypress_m8: remove set but not used variable 'iflag' (Torez Smith) [1686205] - [usb] USB: serial: cypress_m8: fix interrupt-out transfer length (Torez Smith) [1686205] - [usb] USB: serial: ftdi_sio: add support for FT232R CBUS gpios (Torez Smith) [1686205] - [usb] USB: serial: ftdi_sio: fix gpio name collisions (Torez Smith) [1686205] - [netdrv] net: usbnet: make driver_info const (Torez Smith) [1686205] - [usb] usb: typec: remove set but not used variables 'snk_ma, min_mv' (Torez Smith) [1686205] - [usb] usb: export firmware port location in sysfs (Torez Smith) [1686205] - [usb] usb: hub: try old enumeration scheme first for high speed devices (Torez Smith) [1686205] - [documentation] dt-bindings: usb-xhci: Document r8a7744 support (Torez Smith) [1686205] - [documentation] dt-bindings: usb: renesas_usbhs: Add support for r8a7744 (Torez Smith) [1686205] - [usb] usb: typec: tcpm: Fix APDO PPS order checking to be based on voltage (Torez Smith) [1686205] - [tools] usbip: fix vhci_hcd controller counting (Torez Smith) [1686205] - [usb] usb: gadget: udc: renesas_usb3: Fix b-device mode for "workaround" (Torez Smith) [1686205] - [usb] usb: dwc2: gadget: Add handler for WkupAlert interrupt (Torez Smith) [1686205] - [usb] usb: dwc2: gadget: enable WKUP_ALERT interrupt (Torez Smith) [1686205] - [usb] usb: dwc2: gadget: Program GREFCLK register (Torez Smith) [1686205] - [usb] usb: dwc2: gadget: Add parameters for GREFCLK register (Torez Smith) [1686205] - [usb] usb: dwc2: Add definitions for new registers (Torez Smith) [1686205] - [usb] usb: dwc2: Update target (u)frame calculation (Torez Smith) [1686205] - [usb] usb: dwc2: Add dwc2_gadget_dec_frame_num_by_one() function (Torez Smith) [1686205] - [usb] usb: dwc2: Add core parameter for service interval support (Torez Smith) [1686205] - [usb] usb: dwc2: Update registers definitions to support service interval (Torez Smith) [1686205] - [usb] usb: gadget: f_uac2: disable IN/OUT ep if unused (Torez Smith) [1686205] - [usb] USB: gadget core: Issue ->disconnect() callback from usb_gadget_disconnect() (Torez Smith) [1686205] - [usb] usb: dwc3: Fix spelling of 'optimizations' (Torez Smith) [1686205] - [usb] usb: gadget: atmel: remove pointless retrieval of DT name property (Torez Smith) [1686205] - [usb] usb: gadget: fsl_udc_core: fixup struct_udc_setup documentation (Torez Smith) [1686205] - [usb] usb: gadget: fsl_udc_core: check allocation return value and cleanup on failure (Torez Smith) [1686205] - [usb] usb: dwc3: gadget: Check ENBLSLPM before sending ep command (Torez Smith) [1686205] - [usb] usb: dwc2: fix unbalanced use of external vbus-supply (Torez Smith) [1686205] - [usb] usb: dwc2: fix call to vbus supply exit routine, call it unlocked (Torez Smith) [1686205] - [usb] usb: dwc2: fix a race with external vbus supply (Torez Smith) [1686205] - [usb] usb: dwc2: get optional vbus-supply regulator once (Torez Smith) [1686205] - [usb] usb: dwc3: add EXTCON dependency for qcom (Torez Smith) [1686205] - [usb] usb: gadget: udc: atmel: handle at91sam9rl PMC (Torez Smith) [1686205] - [usb] usb: gadget: udc: fotg210-udc: Fix a sleep-in-atomic-context bug in fotg210_get_status() (Torez Smith) [1686205] - [usb] usb: dwc2: Disable all EP's on disconnect (Torez Smith) [1686205] - [documentation] usb: dwc3: exynos: Add support for Exynos5433 variant with all clocks (Torez Smith) [1686205] - [usb] usb: dwc3: exynos: Rework clock handling and prepare for new variants (Torez Smith) [1686205] - [usb] usb: dwc3: exynos: Remove dead code (Torez Smith) [1686205] - [usb] usb: gadget: udc: Remove unnecessary parentheses (Torez Smith) [1686205] - [usb] usb: dwc2: remove set but unused variable (Torez Smith) [1686205] - [usb] usb: gadget: fix spelling mistakeis "queing" -> "queuing" (Torez Smith) [1686205] - [usb] usb: xhci-mtk: resume USB3 roothub first (Torez Smith) [1686205] - [usb] xhci: Add missing CAS workaround for Intel Sunrise Point xHCI (Torez Smith) [1686205] - [usb] usb: cdc_acm: Do not leak URB buffers (Torez Smith) [1686205] - [usb] usb: usbtmc: uninitialized symbol 'actual' in usbtmc_ioctl_abort_bulk_in_tag (Torez Smith) [1686205] - [usb] usb: usbtmc: uninitialized symbol 'actual' in usbtmc_ioctl_clear (Torez Smith) [1686205] - [usb] usb: usbtmc: uninitialized symbol 'actual' in usbtmc_read (Torez Smith) [1686205] - [usb] usb: usbtmc: Fix memory leak in usbtmc_ioctl_request (Torez Smith) [1686205] - [usb] usb: renesas_usbhs: add support for R-Car E3 (Torez Smith) [1686205] - [documentation] dt-bindings: usb: renesas_usbhs: add bindings for r8a77990 (Torez Smith) [1686205] - [usb] usb: renesas_usbhs: rcar3: Use OTG mode for R-Car D3 (Torez Smith) [1686205] - [usb] Revert "usb: renesas_usbhs: set the mode by using extcon state for non-otg channel" (Torez Smith) [1686205] - [usb] Revert "usb: renesas_usbhs: add extcon notifier to set mode for non-otg channel" (Torez Smith) [1686205] - [usb] usb: core: added uevent for over-current (Torez Smith) [1686205] - [usb] usb: typec: fusb302: Resolve fixed power role contract setup (Torez Smith) [1686205] - [usb] usb: typec: fusb302: Correct spelling mistake for toggling state (Torez Smith) [1686205] - [usb] xhci: Avoid USB autosuspend when resuming USB2 ports (Torez Smith) [1686205] - [usb] usb: xhci: tegra: Firmware header is little endian (Torez Smith) [1686205] - [usb] xhci: Use soft retry to recover faster from transaction errors (Torez Smith) [1686205] - [usb] usb: host: xhci-plat: add platform TPL support (Torez Smith) [1686205] - [usb] usb: xhci-mtk: supports SSP without external USB3 gen2 hub (Torez Smith) [1686205] - [usb] usb: xhci-mtk: supports bandwidth scheduling with multi-TT (Torez Smith) [1686205] - [usb] usb: xhci-mtk: improve bandwidth scheduling (Torez Smith) [1686205] - [usb] usb: xhci-mtk: fix ISOC error when interval is zero (Torez Smith) [1686205] - [usb] usb: xhci-mtk: use maximum ESIT payload of endpiont context (Torez Smith) [1686205] - [usb] usb: host: Replace empty define with do while (Torez Smith) [1686205] - [usb] USB: serial: ftdi_sio: implement GPIO support for FT-X devices (Torez Smith) [1686205] - [usb] usb: gadget: uvc: configfs: Use u to print unsigned int values (Torez Smith) [1686205] - [usb] usb: gadget: uvc: configfs: Simplify attributes macros (Torez Smith) [1686205] - [usb] usb: gadget: uvc: configfs: Fix operation on big endian platforms (Torez Smith) [1686205] - [uapi] usb: video: Fix endianness mismatches in descriptor structures (Torez Smith) [1686205] - [usb] usb: gadget: uvc: Remove uvc_set_trace_param() function (Torez Smith) [1686205] - [usb] usb: gadget: uvc: Replace plain printk() with dev_*() (Torez Smith) [1686205] - [usb] usb: gadget: uvc: Only halt video streaming endpoint in bulk mode (Torez Smith) [1686205] - [usb] usb: gadget: uvc: Factor out video USB request queueing (Torez Smith) [1686205] - [usb] usb: gadget: uvc: configfs: Sort frame intervals upon writing (Torez Smith) [1686205] - [usb] usb: gadget: uvc: configfs: Prevent format changes after linking header (Torez Smith) [1686205] - [usb] usb: gadget: uvc: configfs: Add bFrameIndex attributes (Torez Smith) [1686205] - [usb] usb: gadget: uvc: configfs: Add bFormatIndex attributes (Torez Smith) [1686205] - [usb] usb: gadget: uvc: configfs: Add interface number attributes (Torez Smith) [1686205] - [usb] usb: gadget: uvc: configfs: Allocate groups dynamically (Torez Smith) [1686205] - [usb] usb: gadget: uvc: configfs: Drop leaked references to config items (Torez Smith) [1686205] - [documentation] dt-bindings: usb: dwc2: add description for px30 (Torez Smith) [1686205] - [usb] USB: serial: simple: add Motorola Tetra MTP6550 id (Torez Smith) [1686205] - [usb] USB: serial: cypress_m8: fix spelling mistake "retreiving" -> "retrieving" (Torez Smith) [1686205] - [usb] USB: STORAGE: ISD200 Fixed coding style issue "space required in for loop" (Torez Smith) [1686205] - [usb] usb: typec: Group all TCPCI/TCPM code together (Torez Smith) [1686205] - [usb] usb: typec: fusb302: reorganizing the probe function a little (Torez Smith) [1686205] - [usb] usb: typec: class: Don't use port parent for getting mux handles (Torez Smith) [1686205] - [usb] usb: typec: mux: Take care of driver module reference counting (Torez Smith) [1686205] - [usb] usb: core: safely deal with the dynamic quirk lists (Torez Smith) [1686205] - [usb] usb: roles: Take care of driver module reference counting (Torez Smith) [1686205] - [usb] usb: phy: mxs: fix spelling mistake "stardard" -> "standard" (Torez Smith) [1686205] - [usb] usb: host: fotg2: Fix potential NULL dereference (Torez Smith) [1686205] - [usb] usb: renesas_usbhs: Add multiple clocks management (Torez Smith) [1686205] - [documentation] dt-bindings: usb: renesas_usbhs: add clock-names property (Torez Smith) [1686205] - [usb] usb: renesas_usbhs: Add reset_control (Torez Smith) [1686205] - [documentation] dt-bindings: usb: ohci: Add clocks description for R-Car Gen3 (Torez Smith) [1686205] - [documentation] dt-bindings: usb: ehci: Add clocks description for R-Car Gen3 (Torez Smith) [1686205] - [usb] usbcore: Select UAC3 configuration for audio if present (Torez Smith) [1686205] - [documentation] usb: gadget: udc: renesas_usb3: Add r8a774a1 support (Torez Smith) [1686205] - [documentation] dt-bindings: usb: renesas_usbhs: Add r8a774a1 support (Torez Smith) [1686205] - [documentation] dt-bindings: usb-xhci: Add r8a774a1 support (Torez Smith) [1686205] - [documentation] dt-bindings: ehci-mv: add bindings (Torez Smith) [1686205] - [usb] USB: EHCI: ehci-mv: add DT support (Torez Smith) [1686205] - [usb] USB: EHCI: ehci-mv: use phy-pxa-usb (Torez Smith) [1686205] - [usb] USB: EHCI: ehci-mv: remove private_init (Torez Smith) [1686205] - [usb] USB: EHCI: make ehci-mv a separate driver (Torez Smith) [1686205] - [usb] usb: usbtmc: Remove sysfs group TermChar and auto_abort (Torez Smith) [1686205] - [usb] usb: usbtmc: Fix split quoted string in debug message (Torez Smith) [1686205] - [usb] usb: usbtmc: Remove redundant macro USBTMC_SIZE_IOBUFFER (Torez Smith) [1686205] - [usb] usb: usbtmc: Remove redundant code (Torez Smith) [1686205] - [usb] usb: usbtmc: Add ioctl USBTMC_IOCTL_API_VERSION (Torez Smith) [1686205] - [usb] usb: usbtmc: Replace USBTMC_TIMEOUT macros for control messages (Torez Smith) [1686205] - [usb] usb: usbtmc: Fix ioctl USBTMC_IOCTL_ABORT_BULK_OUT (Torez Smith) [1686205] - [usb] usb: usbtmc: Fix ioctl USBTMC_IOCTL_ABORT_BULK_IN (Torez Smith) [1686205] - [usb] usb: usbtmc: Fix ioctl USBTMC_IOCTL_CLEAR (Torez Smith) [1686205] - [usb] usb: usbtmc: Optimize usbtmc_read (Torez Smith) [1686205] - [usb] usb: usbtmc: Optimize usbtmc_write (Torez Smith) [1686205] - [usb] usb: usbtmc: Add ioctl USBTMC_IOCTL_AUTO_ABORT (Torez Smith) [1686205] - [usb] usb: usbtmc: add ioctl USBTMC_IOCTL_MSG_IN_ATTR (Torez Smith) [1686205] - [usb] usb: usbtmc: Add ioctl USBTMC488_IOCTL_WAIT_SRQ (Torez Smith) [1686205] - [usb] usb: usbtmc: Fix suspend/resume (Torez Smith) [1686205] - [usb] usb: usbtmc: Add ioctl USBTMC_IOCTL_CLEANUP_IO (Torez Smith) [1686205] - [usb] usb: usbtmc: Add ioctl USBTMC_IOCTL_CANCEL_IO (Torez Smith) [1686205] - [usb] usb: usbtmc: Add ioctl for vendor specific read (Torez Smith) [1686205] - [usb] usb: usbtmc: Add ioctl USBTMC_IOCTL_WRITE_RESULT (Torez Smith) [1686205] - [usb] usb: usbtmc: Add ioctl for vendor specific write (Torez Smith) [1686205] - [usb] usb: usbtmc: Add ioctl for generic requests on control (Torez Smith) [1686205] - [usb] usb: typec: fusb302: Populate tcpc fwnode for TCPM property handling (Torez Smith) [1686205] - [documentation] dt-bindings: usb: fusb302: Use usb-connector bindings for configuration (Torez Smith) [1686205] - [documentation] dt-bindings: connector: Add support for USB-PD PPS APDOs to bindings (Torez Smith) [1686205] - [usb] USB: handle NULL config in usb_find_alt_setting() (Torez Smith) [1686205] - [usb] USB: fix error handling in usb_driver_claim_interface() (Torez Smith) [1686205] - [usb] USB: remove LPM management from usb_driver_claim_interface() (Torez Smith) [1686205] - [usb] USB: usbdevfs: restore warning for nonsensical flags (Torez Smith) [1686205] - [usb] USB: usbdevfs: sanitize flags more (Torez Smith) [1686205] - [usb] Revert "usb: cdc-wdm: Fix a sleep-in-atomic-context bug in service_outstanding_interrupt()" (Torez Smith) [1686205] - [usb] usb: musb: dsps: do not disable CPPI41 irq in driver teardown (Torez Smith) [1686205] - [usb] usb: chipidea: Fix otg event handler (Torez Smith) [1686205] - [usb] usb: chipidea: Prevent unbalanced IRQ disable (Torez Smith) [1686205] - [documentation] doc: usb: ci-hdrc-usb2: Add pinctrl properties definition (Torez Smith) [1686205] - [usb] usb: chipidea: Add dynamic pinctrl selection (Torez Smith) [1686205] - [usb] usb: chipidea: imx: make MODULE_LICENCE and SPDX-identifier match (Torez Smith) [1686205] - [usb] usb: chipidea: imx: enable OTG overcurrent in case USB subsystem is already started (Torez Smith) [1686205] - [usb] usb: chipidea: imx: do not use preprocessor conditionals for PM (Torez Smith) [1686205] - [usb] usb: gadget: uvc: configfs: Add section header comments (Torez Smith) [1686205] - [usb] usb: gadget: uvc: configfs: Don't wrap groups unnecessarily (Torez Smith) [1686205] - [usb] mos7720: bury dead TIOCM... in ->ioctl() (Torez Smith) [1686205] - [usb] USB: serial: option: add two-endpoints device-id flag (Torez Smith) [1686205] - [usb] USB: serial: option: improve Quectel EP06 detection (Torez Smith) [1686205] - [usb] Revert "cdc-acm: implement put_char() and flush_chars()" (Torez Smith) [1686205] - [usb] usb: Change usb_of_get_companion_dev() place to usb/common (Torez Smith) [1686205] - [usb] usb: xhci: fix interrupt transfer error happened on MTK platforms (Torez Smith) [1686205] - [usb] usb: core: phy: clean up return value check about devm_of_phy_get_by_index() (Torez Smith) [1686205] - [usb] usb: mtu3: disable vbus rise/fall interrupts of ltssm (Torez Smith) [1686205] - [usb] USB: wusbcore: Switch to bitmap_zalloc() (Torez Smith) [1686205] - [usb] usb: misc: fix obsolete function (Torez Smith) [1686205] - [usb] usb: iowarrior: replace kmalloc with kmalloc_array (Torez Smith) [1686205] - [usb] USB: OHCI: Remove USB bus reset delay from OHCI handover code (Torez Smith) [1686205] - [usb] usb: host: fotg2: add silicon clock handling (Torez Smith) [1686205] - [usb] USB: typec: fsusb302: remove unused variables snk_pdo and toggling_mode_name (Torez Smith) [1686205] - [usb] usb storage: remove inherited SCSI dependency for USB_STORAGE_ENE_UB6250 (Torez Smith) [1686205] - [usb] usb storage: group dependent USB storage Kconfig entries together (Torez Smith) [1686205] - [usb] USB: Removing NULL check for pool since dma_pool_destroy is safe (Torez Smith) [1686205] - [usb] usb: cdc-wdm: Fix a sleep-in-atomic-context bug in service_outstanding_interrupt() (Torez Smith) [1686205] - [usb] usb: misc: uss720: Fix two sleep-in-atomic-context bugs (Torez Smith) [1686205] - [usb] usb: host: u132-hcd: Fix a sleep-in-atomic-context bug in u132_get_frame() (Torez Smith) [1686205] - [usb] usb: Avoid use-after-free by flushing endpoints early in usb_set_interface() (Torez Smith) [1686205] - [usb] usb/typec: fix kernel-doc notation warning for typec_match_altmode (Torez Smith) [1686205] - [usb] usb: Don't die twice if PCI xhci host is not responding in resume (Torez Smith) [1686205] - [usb] usb: mtu3: fix error of xhci port id when enable U3 dual role (Torez Smith) [1686205] - [usb] usb: uas: add support for more quirk flags (Torez Smith) [1686205] - [usb] USB: Add quirk to support DJI CineSSD (Torez Smith) [1686205] - [usb] usb: typec: fix kernel-doc parameter warning (Torez Smith) [1686205] - [usb] usb/dwc3/gadget: fix kernel-doc parameter warning (Torez Smith) [1686205] - [usb] USB: yurex: Check for truncation in yurex_read() (Torez Smith) [1686205] - [usb] USB: yurex: Fix buffer over-read in yurex_write() (Torez Smith) [1686205] - [usb] usb: host: xhci-plat: Iterate over parent nodes for finding quirks (Torez Smith) [1686205] - [usb] xhci: Fix use after free for URB cancellation on a reallocated endpoint (Torez Smith) [1686205] - [usb] USB: add quirk for WORLDE Controller KS49 or Prodipe MIDI 49C USB controller (Torez Smith) [1686205] - [usb] usb: dwc2: Fix call location of dwc2_check_core_endianness (Torez Smith) [1686205] - [usb] usb: dwc3: pci: Fix return value check in dwc3_byt_enable_ulpi_refclock() (Torez Smith) [1686205] - [usb] usb: gadget: udc: renesas_usb3: fix maxpacket size of ep0 (Torez Smith) [1686205] - [usb] usb: gadget: fotg210-udc: Fix memory leak of fotg210->ep (Torez Smith) [1686205] - [usb] USB: net2280: Fix erroneous synchronization change (Torez Smith) [1686205] - [usb] usb: dwc3: of-simple: avoid unused function warnings (Torez Smith) [1686205] - [usb] USB: serial: ti_usb_3410_5052: fix array underflow in completion handler (Torez Smith) [1686205] - [usb] USB: serial: io_ti: fix array underflow in completion handler (Torez Smith) [1686205] - [usb] USB: serial: pl2303: add a new device id for ATEN (Torez Smith) [1686205] - [usb] usb: renesas_usbhs: Kconfig: convert to SPDX identifiers (Torez Smith) [1686205] - [usb] usb: dwc3: gadget: Check MaxPacketSize from descriptor (Torez Smith) [1686205] - [usb] usb: dwc2: Turn on uframe_sched on "stm32f4x9_fsotg" platforms (Torez Smith) [1686205] - [usb] usb: dwc2: Turn on uframe_sched on "amlogic" platforms (Torez Smith) [1686205] - [usb] usb: dwc2: Turn on uframe_sched on "his" platforms (Torez Smith) [1686205] - [usb] usb: dwc2: Turn on uframe_sched on "bcm" platforms (Torez Smith) [1686205] - [usb] usb: dwc2: gadget: ISOC's starting flow improvement (Torez Smith) [1686205] - [usb] usb: dwc2: Make dwc2_readl/writel functions endianness-agnostic (Torez Smith) [1686205] - [usb] usb: dwc3: core: Enable AutoRetry feature in the controller (Torez Smith) [1686205] - [usb] usb: dwc3: Set default mode for dwc_usb31 (Torez Smith) [1686205] - [usb] usb: gadget: udc: renesas_usb3: Add register of usb role switch (Torez Smith) [1686205] - [usb] usb: dwc2: replace ioread32/iowrite32_rep with dwc2_readl/writel_rep (Torez Smith) [1686205] - [usb] usb: dwc2: Modify dwc2_readl/writel functions prototype (Torez Smith) [1686205] - [usb] usb: dwc3: pci: Intel Merrifield can be host (Torez Smith) [1686205] - [usb] usb: dwc3: pci: Supply device properties via driver data (Torez Smith) [1686205] - [documentation] arm64: dts: dwc3: description of incr burst type (Torez Smith) [1686205] - [usb] usb: dwc3: Enable undefined length INCR burst type (Torez Smith) [1686205] - [usb] usb: dwc3: add global soc bus configuration reg0 (Torez Smith) [1686205] - [usb] usb: dwc3: Describe 'wakeup_work' field of struct dwc3_pci (Torez Smith) [1686205] - [usb] USB: option: add support for DW5821e (Torez Smith) [1686205] - [usb] usb: dwc3: change stream event enable bit back to 13 (Torez Smith) [1686205] - [usb] usb: dwc3: of-simple: reset host controller at suspend/resume (Torez Smith) [1686205] - [usb] usb: gadget: storage: Remove reference counting (Torez Smith) [1686205] - [usb] usb: gadget: storage: Add error handling for no memory (Torez Smith) [1686205] - [usb] usb: dwc3: pci: Use devm functions to get the phy GPIOs (Torez Smith) [1686205] - [usb] usb: dwc3: pci: Enable ULPI Refclk on platforms where the firmware does not (Torez Smith) [1686205] - [usb] usb: dwc3: pci: Add GPIO lookup table on platforms without ACPI GPIO resources (Torez Smith) [1686205] - [usb] USB: gadget: Document that certain ep operations can be called in interrupt context (Torez Smith) [1686205] - [usb] usb: gadget: configfs: avoid spaces for indentation (Torez Smith) [1686205] - [usb] usb: dwc3: Add a glue driver for Synopsys HAPS platform (Torez Smith) [1686205] - [usb] usb: gadget: uvc: Expose configuration name through video node (Torez Smith) [1686205] - [usb] usb: gadget: uvc: configfs: Move function to avoid forward declaration (Torez Smith) [1686205] - [usb] usb: dwc2: Move dwc2_readl/writel functions after hsotg structure (Torez Smith) [1686205] - [usb] usb: gadget: tcm: fix spelling mistake: "Manufactor" -> "Manufacturer" (Torez Smith) [1686205] - [usb] usb: gadget: uvc: Move trace parameter to function module (Torez Smith) [1686205] - [usb] usb: gadget: uvc: Minimize #include in headers (Torez Smith) [1686205] - [usb] usb: gadget: uvc: Move userspace API definition to public header (Torez Smith) [1686205] - [usb] usb: host: exynos: Remove support for Exynos5440 (Torez Smith) [1686205] - [usb] usb: usbtmc: Add support for 32 bit compat applications (Torez Smith) [1686205] - [usb] usb: usbtmc: Add ioctl for termination character (Torez Smith) [1686205] - [usb] usb: usbtmc: Add ioctl for EOM bit (Torez Smith) [1686205] - [usb] usb: usbtmc: Add ioctl for trigger (Torez Smith) [1686205] - [usb] usb: usbtmc: Add ioctls to set/get usb timeout (Torez Smith) [1686205] - [usb] usb: usbtmc: use consistent timeout error (Torez Smith) [1686205] - [usb] usb: usbtmc: Support Read Status Byte with SRQ per file (Torez Smith) [1686205] - [usb] USB: serial: cp210x: implement GPIO support for CP2102N (Torez Smith) [1686205] - [usb] USB: serial: cp210x: improve line-speed handling for CP2104 and CP2105 (Torez Smith) [1686205] - [usb] USB: serial: cp210x: generalise CP2102N line-speed handling (Torez Smith) [1686205] - [usb] USB: serial: cp210x: improve baudrate support for CP2102N (Torez Smith) [1686205] - [usb] USB: serial: cp210x: honour device-type maximum line speed (Torez Smith) [1686205] - [usb] USB: serial: cp210x: make line-speed quantisation data driven (Torez Smith) [1686205] - [usb] USB: serial: iuu_phoenix: drop redundant input-speed re-encoding (Torez Smith) [1686205] - [usb] USB: serial: iuu_phoenix: drop unused driver-data baud rate (Torez Smith) [1686205] - [usb] USB: serial: mos7720: remove redundant variables iflag, mask and serial (Torez Smith) [1686205] - [documentation] dt-bindings: usb-xhci: Add r8a77990 support (Torez Smith) [1686205] - [usb] usb: host: ehci-sched: remove redundant pointer dev (Torez Smith) [1686205] - [usb] usb: host: u132-hcd: remove redundant variable num_ports (Torez Smith) [1686205] - [usb] USB: host: whci: remove redundant variable t (Torez Smith) [1686205] - [usb] usb: xhci: dbc: remove redundant pointer dbc (Torez Smith) [1686205] - [usb] usb: isp1760: remove redundant variable 'selector' (Torez Smith) [1686205] - [usb] usb-misc: sisusbvga: remove redundant variable modey (Torez Smith) [1686205] - [usb] usb: misc: uss720: remove redundant pointer usbdev (Torez Smith) [1686205] - [usb] usb: usbip: remove redundant pointer ep (Torez Smith) [1686205] - [usb] USB: serial: kl5kusb105: remove KLSI device id (Torez Smith) [1686205] - [usb] usb: host: xhci-rcar: Add a condition check about PLL active (Torez Smith) [1686205] - [usb] usb: host: xhci-rcar: Simplify getting the firmware name for R-Car Gen3 (Torez Smith) [1686205] - [usb] usb: host: xhci-plat: add firmware_name for R-Car Gen3 (Torez Smith) [1686205] - [usb] usb: typec: avoid format-overflow warning (Torez Smith) [1686205] - [usb] usb: typec: unlock dp->lock on error exit path, and also zero ret if successful (Torez Smith) [1686205] - [usb] usb: typec: fix dereference before null check on adev (Torez Smith) [1686205] - [usb] usb: usbtest: use irqsave() in USB's complete callback (Torez Smith) [1686205] - [usb] USB: serial: kobil_sct: add missing version error handling (Torez Smith) [1686205] - [usb] USB: serial: kobil_sct: fix modem-status error handling (Torez Smith) [1686205] - [usb] usb: simplify usbport trigger (Torez Smith) [1686205] - [include] device connection: Add fwnode member to struct device_connection (Torez Smith) [1686205]- [security] KEYS: reaching the keys quotas correctly (Vladis Dronov) [1820405] - [security] KEYS: allow reaching the keys quotas exactly (Vladis Dronov) [1820405] - [infiniband] RDMA/core: Ensure security pkey modify is not lost (Kamal Heib) [1786604] - [infiniband] IB/hfi1: Ensure pq is not left on waitlist (Kamal Heib) [1786604 1739282] - [infiniband] RDMA/mad: Do not crash if the rdma device does not have a umad interface (Kamal Heib) [1786604] - [infiniband] RDMA/core: Fix missing error check on dev_set_name() (Kamal Heib) [1786604] - [infiniband] RDMA/nl: Do not permit empty devices names during RDMA_NLDEV_CMD_NEWLINK/SET (Kamal Heib) [1786604] - [infiniband] RDMA/iwcm: Fix iwcm work deallocation (Kamal Heib) [1786604] - [infiniband] RDMA/siw: Fix failure handling during device creation (Kamal Heib) [1786604] - [infiniband] RDMA/nldev: Fix crash when set a QP to a new counter but QPN is missing (Kamal Heib) [1786604] - [infiniband] RDMA/core: Fix protection fault in ib_mr_pool_destroy (Kamal Heib) [1786604] - [infiniband] IB/hfi1, qib: Ensure RCU is locked when accessing list (Kamal Heib) [1786604 1739282] - [infiniband] RDMA/core: Fix pkey and port assignment in get_new_pps (Kamal Heib) [1786604] - [infiniband] RMDA/cm: Fix missing ib_cm_destroy_id() in ib_cm_insert_listen() (Kamal Heib) [1786604] - [infiniband] RDMA/core: Fix use of logical OR in get_new_pps (Kamal Heib) [1786604] - [infiniband] Revert "RDMA/cma: Simplify rdma_resolve_addr() error flow" (Kamal Heib) [1786604] - [net] xprtrdma: Fix DMA scatter-gather list mapping imbalance (Kamal Heib) [1786604] - [infiniband] RDMA/core: Fix protection fault in get_pkey_idx_qp_list (Kamal Heib) [1786604] - [infiniband] RDMA/rxe: Fix soft lockup problem due to using tasklets in softirq (Kamal Heib) [1786604] - [infiniband] IB/umad: Fix kernel crash while unloading ib_umad (Kamal Heib) [1786604] - [infiniband] RDMA/core: Add missing list deletion on freeing event queue (Kamal Heib) [1786604] - [infiniband] RDMA/siw: Remove unwanted WARN_ON in siw_cm_llp_data_ready() (Kamal Heib) [1786604] - [infiniband] RDMA/core: Fix invalid memory access in spec_filter_size (Kamal Heib) [1786604] - [infiniband] IB/rdmavt: Reset all QPs when the device is shut down (Kamal Heib) [1786604 1739282] - [infiniband] IB/hfi1: Close window for pq and request coliding (Kamal Heib) [1786604 1739282] - [infiniband] IB/hfi1: Acquire lock to release TID entries when user file is closed (Kamal Heib) [1786604 1739282] - [infiniband] IB/umem: use get_user_pages_fast() to pin DMA pages (Kamal Heib) [1786604] - [infiniband] RDMA/efa: Mask access flags with the correct optional range (Kamal Heib) [1786604] - [infiniband] RDMA/cma: Fix unbalanced cm_id reference count during address resolve (Kamal Heib) [1786604] - [infiniband] RDMA/umem: Fix ib_umem_find_best_pgsz() (Kamal Heib) [1786604] - [infiniband] IB/hfi1: Fix logical condition in msix_request_irq (Kamal Heib) [1786604 1739282] - [infiniband] RDMA/cm: Remove CM message structs (Kamal Heib) [1786604] - [infiniband] RDMA/cm: Use IBA functions for complex structure members (Kamal Heib) [1786604] - [infiniband] RDMA/cm: Use IBA functions for simple structure members (Kamal Heib) [1786604] - [infiniband] RDMA/cm: Use IBA functions for swapping get/set acessors (Kamal Heib) [1786604] - [infiniband] RDMA/cm: Use IBA functions for simple get/set acessors (Kamal Heib) [1786604] - [infiniband] RDMA/cm: Add SET/GET implementations to hide IBA wire format (Kamal Heib) [1786604] - [infiniband] RDMA/cm: Add accessors for CM_REQ transport_type (Kamal Heib) [1786604] - [infiniband] RDMA/core: Ensure that rdma_user_mmap_entry_remove() is a fence (Kamal Heib) [1786604] - [rdma] RDMA/uverbs: Add new relaxed ordering memory region access flag (Kamal Heib) [1786604] - [infiniband] RDMA/efa: Allow passing of optional access flags for MR registration (Kamal Heib) [1786604] - [rdma] RDMA/core: Add optional access flags range (Kamal Heib) [1786604] - [rdma] RDMA/uverbs: Verify MR access flags (Kamal Heib) [1786604] - [infiniband] RDMA/core: Remove ucontext_lock from the uverbs_destry_ufile_hw() path (Kamal Heib) [1786604] - [infiniband] RDMA/core: Add UVERBS_METHOD_ASYNC_EVENT_ALLOC (Kamal Heib) [1786604] - [infiniband] IB/srp: Never use immediate data if it is disabled by a user (Kamal Heib) [1786604] - [infiniband] RDMA/rxe: Compute the maximum sges and inline size based on the WQE size (Kamal Heib) [1786604] - [infiniband] Introduce maximum WQE size to check limits (Kamal Heib) [1786604] - [infiniband] RDMA/efa: Remove unused ucontext parameter from efa_qp_user_mmap_entries_remove (Kamal Heib) [1786604] - [infiniband] RDMA/efa: Remove {} brackets from single statement if (Kamal Heib) [1786604] - [infiniband] RDMA/efa: Device definitions documentation updates (Kamal Heib) [1786604] - [net] xprtrdma: DMA map rr_rdma_buf as each rpcrdma_rep is created (Kamal Heib) [1786604] - [net] xprtrdma: Destroy reps from previous connection instance (Kamal Heib) [1786604] - [net] xprtrdma: Destroy rpcrdma_rep when Receive is flushed (Kamal Heib) [1786604] - [net] xprtrdma: Allocate and map transport header buffers at connect time (Kamal Heib) [1786604] - [net] xprtrdma: Refactor frwr_is_supported (Kamal Heib) [1786604] - [net] xprtrdma: Eliminate per-transport "max pages" (Kamal Heib) [1786604] - [net] xprtrdma: Refactor initialization of ep->rep_max_requests (Kamal Heib) [1786604] - [net] xprtrdma: Make sendctx queue lifetime the same as connection lifetime (Kamal Heib) [1786604] - [net] xprtrdma: Eliminate ri_max_send_sges (Kamal Heib) [1786604] - [infiniband] RDMA/core: Use READ_ONCE for ib_ufile.async_file (Kamal Heib) [1786604] - [infiniband] RDMA/core: Make ib_uverbs_async_event_file into a uobject (Kamal Heib) [1786604] - [rdma] RDMA/core: Remove the ufile arg from rdma_alloc_begin_uobject (Kamal Heib) [1786604] - [infiniband] RDMA/core: Simplify type usage for ib_uverbs_async_handler() (Kamal Heib) [1786604] - [infiniband] RDMA/core: Do not erase the type of ib_wq.uobject (Kamal Heib) [1786604] - [infiniband] RDMA/core: Do not erase the type of ib_srq.uobject (Kamal Heib) [1786604] - [infiniband] RDMA/core: Do not erase the type of ib_qp.uobject (Kamal Heib) [1786604] - [infiniband] RDMA/core: Do not erase the type of ib_cq.uobject (Kamal Heib) [1786604] - [infiniband] RDMA/core: Make ib_ucq_object use ib_uevent_object (Kamal Heib) [1786604] - [infiniband] RDMA/core: Do not allow alloc_commit to fail (Kamal Heib) [1786604] - [infiniband] RDMA/core: Simplify destruction of FD uobjects (Kamal Heib) [1786604] - [infiniband] RDMA/mlx5: Use RCU and direct refcounts to keep memory alive (Kamal Heib) [1786604] - [infiniband] RDMA/uverbs: Remove needs_kfree_rcu from uverbs_obj_type_class (Kamal Heib) [1786604] - [infiniband] RDMA/core: Remove err in iw_query_port (Kamal Heib) [1786604] - [infiniband] IB/hfi1: Add RcvShortLengthErrCnt to hfi1stats (Kamal Heib) [1786604 1739282] - [infiniband] IB/hfi1: Add software counter for ctxt0 seq drop (Kamal Heib) [1786604 1739282] - [infiniband] IB/hfi1: Return void in packet receiving functions (Kamal Heib) [1786604 1739282] - [infiniband] IB/hfi1: Decouple IRQ name from type (Kamal Heib) [1786604 1739282] - [infiniband] IB/hfi1: Create API for auto activate (Kamal Heib) [1786604 1739282] - [infiniband] IB/hfi1: IB/hfi1: Add an API to handle special case drop (Kamal Heib) [1786604 1739282] - [infiniband] IB/hfi1: Move common receive IRQ code to function (Kamal Heib) [1786604 1739282] - [infiniband] IB/hfi1: Add fast and slow handlers for receive context (Kamal Heib) [1786604 1739282] - [infiniband] IB/hfi1: Move chip specific functions to chip.c (Kamal Heib) [1786604 1739282] - [infiniband] RDMA/core: Fix locking in ib_uverbs_event_read (Kamal Heib) [1786604] - [infiniband] IB/core: Fix build failure without hugepages (Kamal Heib) [1786604] - [infiniband] IB/core: Rename event_handler_lock to qp_open_list_lock (Kamal Heib) [1786604] - [infiniband] IB/core: Cut down single member ib_cache structure (Kamal Heib) [1786604] - [infiniband] RDMA/core: Add trace points to follow MR allocation (Kamal Heib) [1786604] - [infiniband] RDMA/core: Trace points for diagnosing completion queue issues (Kamal Heib) [1786604] - [infiniband] RDMA/cma: Add trace points in RDMA Connection Manager (Kamal Heib) [1786604] - [infiniband] RDMA/cm: Delete unused CM ARP functions (Kamal Heib) [1786604] - [infiniband] RDMA/cm: Delete unused CM LAP functions (Kamal Heib) [1786604] - [infiniband] RDMA/rxe: Fix error type of mmap_offset (Kamal Heib) [1786604] - [infiniband] IB/iser: use true,false for bool variable (Kamal Heib) [1786604] - [infiniband] IB/hfi1: use true,false for bool variable (Kamal Heib) [1786604 1739282] - [infiniband] RDMA/siw: use true,false for bool variable (Kamal Heib) [1786604] - [infiniband] IB/core: Fix ODP with IB_ACCESS_HUGETLB handling (Kamal Heib) [1786604] - [infiniband] IB/core: Fix ODP get user pages flow (Kamal Heib) [1786604] - [infiniband] IB/rdmavt: Correct comments in rdmavt_qp.h header (Kamal Heib) [1786604 1739282] - [infiniband] IB/hfi1: List all receive contexts from debugfs (Kamal Heib) [1786604 1739282] - [infiniband] IB/hfi1: Add accessor API routines to access context members (Kamal Heib) [1786604 1739282] - [infiniband] RDMA/cm: Use RCU synchronization mechanism to protect cm_id_private xa_load() (Kamal Heib) [1786604] - [infiniband] RDMA/srpt: Remove unnecessary assertion in srpt_queue_response (Kamal Heib) [1786604] - [infiniband] RDMA/netlink: Do not always generate an ACK for some netlink operations (Kamal Heib) [1786604] - [infiniband] RDMA/siw: Simplify QP representation (Kamal Heib) [1786604] - [infiniband] RDMA/qedr: Add kernel capability flags for dpm enabled mode (Kamal Heib) [1786604] - [platform] platform/x86: intel_pmc_core: Add Intel Tiger Lake support (Alexander Beregalov) [1783390] - [platform] platform/x86: intel_pmc_core: Create platform dependent bitmap structs (Alexander Beregalov) [1783390] - [platform] platform/x86: intel_pmc_core: Clean up: Remove comma after the termination line (Alexander Beregalov) [1783390] - [pinctrl] pinctrl: tigerlake: Tiger Lake uses _HID enumeration (David Arcari) [1773772] - [pinctrl] pinctrl: sunrisepoint: Add Coffee Lake-S ACPI ID (David Arcari) [1773772] - [pinctrl] pinctrl: intel: Pass irqchip when adding gpiochip (David Arcari) [1773772] - [pinctrl] pinctrl: intel: Add GPIO <-> pin mapping ranges via callback (David Arcari) [1773772] - [pinctrl] pinctrl: baytrail: Replace WARN with dev_info_once when setting direct-irq pin to output (David Arcari) [1773772] - [pinctrl] pinctrl: baytrail: Do not clear IRQ flags on direct-irq enabled pins (David Arcari) [1773772] - [pinctrl] pinctrl: sunrisepoint: Add missing Interrupt Status register offset (David Arcari) [1773772] - [pinctrl] pinctrl: baytrail: Reuse struct intel_pinctrl in the driver (David Arcari) [1773772] - [pinctrl] pinctrl: baytrail: Use local variable to keep device pointer (David Arcari) [1773772] - [pinctrl] pinctrl: baytrail: Keep pointer to struct device instead of its container (David Arcari) [1773772] - [pinctrl] pinctrl: intel: Share struct intel_pinctrl for wider use (David Arcari) [1773772] - [pinctrl] pinctrl: intel: Use GPIO direction definitions (David Arcari) [1773772] - [pinctrl] pinctrl: baytrail: Use GPIO direction definitions (David Arcari) [1773772] - [include] gpio: Add definition for GPIO direction (David Arcari) [1773772] - [pinctrl] pinctrl: baytrail: Move IRQ valid mask initialization to a dedicated callback (David Arcari) [1773772] - [pinctrl] pinctrl: baytrail: Group GPIO IRQ chip initialization (David Arcari) [1773772] - [pinctrl] pinctrl: baytrail: Allocate IRQ chip dynamic (David Arcari) [1773772] - [pinctrl] pinctrl: baytrail: Pass irqchip when adding gpiochip (David Arcari) [1773772] - [pinctrl] pinctrl: baytrail: Add GPIO <-> pin mapping ranges via callback (David Arcari) [1773772] - [gpio] gpiolib: Introduce ->add_pin_ranges() callback (David Arcari) [1773772] - [gpio] gpiolib: Initialize the hardware with a callback (David Arcari) [1773772] - [pinctrl] pinctrl: baytrail: Update North Community pin list (David Arcari) [1773772] - [pinctrl] pinctrl: baytrail: Really serialize all register accesses (David Arcari) [1773772] - [pinctrl] pinctrl: lewisburg: Update pin list according to v1.1v6 (David Arcari) [1773772] - [pinctrl] pinctrl: intel: Missed type change to unsigned int (David Arcari) [1773772] - [pinctrl] pinctrl: intel: Add Intel Tiger Lake pin controller support (David Arcari) [1773772] - [pinctrl] pinctrl: intel: Use helper to restore register values on ->resume() (David Arcari) [1773772] - [pinctrl] pinctrl: intel: Drop level from warning to debug in intel_restore_hostown() (David Arcari) [1773772] - [pinctrl] pinctrl: intel: Introduce intel_restore_intmask() helper (David Arcari) [1773772] - [pinctrl] pinctrl: intel: Introduce intel_restore_hostown() helper (David Arcari) [1773772] - [pinctrl] pinctrl: intel: Introduce intel_restore_padcfg() helper (David Arcari) [1773772] - [pinctrl] pinctrl: intel: Avoid potential glitches if pin is in GPIO mode (David Arcari) [1773772] - [pinctrl] pinctrl: intel: Allocate IRQ chip dynamic (David Arcari) [1773772] - [pinctrl] gpio: Initialize the irqchip valid_mask with a callback (David Arcari) [1773772] - [pinctrl] pinctrl: intel: mark intel_pin_to_gpio __maybe_unused (David Arcari) [1773772] - [pinctrl] pinctrl: intel: remap the pin number to gpio offset for irq enabled pin (David Arcari) [1773772] - [pinctrl] pinctrl: denverton: Update pin names according to v1.08 (David Arcari) [1773772] - [pinctrl] pinctrl: intel: Remove dev_err() usage after platform_get_irq() (David Arcari) [1773772] - [pinctrl] pinctrl: intel: Use NSEC_PER_USEC for debounce calculus (David Arcari) [1773772] - [pinctrl] pinctrl: baytrail: Re-use data structures from pinctrl-intel.h (part 2) (David Arcari) [1773772] - [pinctrl] pinctrl: intel: Remove default Interrupt Status offset (David Arcari) [1773772] - [pinctrl] pinctrl: lewisburg: Provide Interrupt Status register offset (David Arcari) [1773772] - [pinctrl] pinctrl: denverton: Provide Interrupt Status register offset (David Arcari) [1773772] - [pinctrl] pinctrl: sunrisepoint: Provide Interrupt Status register offset (David Arcari) [1773772] - [pinctrl] pinctrl: icelake: Provide Interrupt Status register offset (David Arcari) [1773772] - [pinctrl] pinctrl: geminilake: Provide Interrupt Status register offset (David Arcari) [1773772] - [pinctrl] pinctrl: cannonlake: Provide Interrupt Status register offset (David Arcari) [1773772] - [pinctrl] pinctrl: broxton: Provide Interrupt Status register offset (David Arcari) [1773772] - [pinctrl] pinctrl: intel: Simplify offset validation in intel_get_padcfg() (David Arcari) [1773772] - [pinctrl] pinctrl: intel: Drop double check for data in intel_pinctrl_probe_by_uid() (David Arcari) [1773772] - [pinctrl] pinctrl: intel: Use devm_platform_ioremap_resource() (David Arcari) [1773772] - [pinctrl] pinctrl: baytrail: Use devm_platform_ioremap_resource() (David Arcari) [1773772] - [pinctrl] pinctrl: baytrail: Use GENMASK() consistently (David Arcari) [1773772] - [pinctrl] pinctrl: baytrail: Re-use data structures from pinctrl-intel.h (David Arcari) [1773772] - [pinctrl] pinctrl: baytrail: Use defined macro instead of magic in byt_get_gpio_mux() (David Arcari) [1773772] - [pinctrl] pinctrl: intel: Clear interrupt status in mask/unmask callback (David Arcari) [1773772] - [pinctrl] pinctrl: intel: Use GENMASK() consistently (David Arcari) [1773772] - [pinctrl] pinctrl: intel: Increase readability of intel_gpio_update_pad_mode() (David Arcari) [1773772] - [pinctrl] pinctrl: intel: Retain HOSTSW_OWN for requested gpio pin (David Arcari) [1773772] - [pinctrl] pinctrl: pinctrl-intel: move gpio suspend/resume to noirq phase (David Arcari) [1773772] - [pinctrl] pinctrl: cedarfork: Update pin names according to v1.13c (David Arcari) [1773772] - [pinctrl] pinctrl: baytrail: Fix potential NULL pointer dereference (David Arcari) [1773772] - [pinctrl] pinctrl: baytrail: Code formatting fixes (David Arcari) [1773772] - [pinctrl] pinctrl: icelake: Code formatting fixes (David Arcari) [1773772] - [pinctrl] pinctrl: cannonlake: Code formatting fixes (David Arcari) [1773772] - [pinctrl] pinctrl: geminilake: Code formatting fixes (David Arcari) [1773772] - [pinctrl] pinctrl: broxton: Code formatting fixes (David Arcari) [1773772] - [pinctrl] pinctrl: lewisburg: Replace acpi.h with mod_devicetable.h (David Arcari) [1773772] - [pinctrl] pinctrl: denverton: Replace acpi.h with mod_devicetable.h (David Arcari) [1773772] - [pinctrl] pinctrl: cedarfork: Replace acpi.h with mod_devicetable.h (David Arcari) [1773772] - [pinctrl] pinctrl: intel: Unexport intel_pinctrl_probe() (David Arcari) [1773772] - [pinctrl] pinctrl: sunrisepoint: Get rid of unneeded ->probe() stub (David Arcari) [1773772] - [pinctrl] pinctrl: icelake: Get rid of unneeded ->probe() stub (David Arcari) [1773772] - [pinctrl] pinctrl: cannonlake: Get rid of unneeded ->probe() stub (David Arcari) [1773772] - [pinctrl] pinctrl: lewisburg: Get rid of unneeded ->probe() stub (David Arcari) [1773772] - [pinctrl] pinctrl: denverton: Get rid of unneeded ->probe() stub (David Arcari) [1773772] - [pinctrl] pinctrl: cedarfork: Get rid of unneeded ->probe() stub (David Arcari) [1773772] - [pinctrl] pinctrl: intel: simplify getting .driver_data (David Arcari) [1773772] - [pinctrl] pinctrl: baytrail: simplify getting .driver_data (David Arcari) [1773772] - [pinctrl] pinctrl: geminilake: Sort register offsets by value (David Arcari) [1773772] - [pinctrl] pinctrl: geminilake: Get rid of unneeded ->probe() stub (David Arcari) [1773772] - [pinctrl] pinctrl: geminilake: Update pin list for B0 stepping (David Arcari) [1773772] - [pinctrl] pinctrl: broxton: Convert unsigned to unsigned int (David Arcari) [1773772] - [pinctrl] pinctrl: baytrail: Convert unsigned to unsigned int (David Arcari) [1773772] - [pinctrl] pinctrl: intel: Convert unsigned to unsigned int (David Arcari) [1773772] - [pinctrl] pinctrl: baytrail: Sort headers alphabetically (David Arcari) [1773772] - [pinctrl] pinctrl: baytrail: Remove unneeded MODULE_DEVICE_TABLE() (David Arcari) [1773772] - [pinctrl] pinctrl: intel: Move linux/pm.h to the local header (David Arcari) [1773772] - [pinctrl] pinctrl: Include nothing else (David Arcari) [1773772] - [pinctrl] pinctrl: lewisburg: Define PM ops via INTEL_PINCTRL_PM_OPS() (David Arcari) [1773772] - [pinctrl] pinctrl: sunrisepoint: Define PM ops via INTEL_PINCTRL_PM_OPS() (David Arcari) [1773772] - [pinctrl] pinctrl: icelake: Define PM ops via INTEL_PINCTRL_PM_OPS() (David Arcari) [1773772] - [pinctrl] pinctrl: geminilake: Define PM ops via INTEL_PINCTRL_PM_OPS() (David Arcari) [1773772] - [pinctrl] pinctrl: denverton: Define PM ops via INTEL_PINCTRL_PM_OPS() (David Arcari) [1773772] - [pinctrl] pinctrl: cedarfork: Define PM ops via INTEL_PINCTRL_PM_OPS() (David Arcari) [1773772] - [pinctrl] pinctrl: cannonlake: Define PM ops via INTEL_PINCTRL_PM_OPS() (David Arcari) [1773772] - [pinctrl] pinctrl: broxton: Define PM ops via INTEL_PINCTRL_PM_OPS() (David Arcari) [1773772] - [pinctrl] pinctrl: intel: Introduce common macro for PM operations (David Arcari) [1773772] - [pinctrl] pinctrl: sunrisepoint: Convert to use intel_pinctrl_probe_by_hid() (David Arcari) [1773772] - [pinctrl] pinctrl: cannonlake: Convert to use intel_pinctrl_probe_by_hid() (David Arcari) [1773772] - [pinctrl] pinctrl: intel: Introduce intel_pinctrl_probe_by_hid() internal API (David Arcari) [1773772] - [pinctrl] pinctrl: baytrail: Convert to use device_get_match_data() (David Arcari) [1773772] - [pinctrl] pinctrl: geminilake: Convert to use intel_pinctrl_probe_by_uid() (David Arcari) [1773772] - [pinctrl] pinctrl: broxton: Convert to use intel_pinctrl_probe_by_uid() (David Arcari) [1773772] - [pinctrl] pinctrl: intel: Introduce intel_pinctrl_probe_by_uid() internal API (David Arcari) [1773772] - [pinctrl] pinctrl: intel: Fix a spelling typo in kernel documentation (David Arcari) [1773772] - [pinctrl] pinctrl: baytrail: actually print the apparently misconfigured pin (David Arcari) [1773772] - [mm] mm, page_alloc: move_freepages should not examine struct page of reserved memory (Rafael Aquini) [1588584] - [mm] mm, page_alloc: initialize num_movable in move_freepages() (Rafael Aquini) [1588584] - [tools] selftests: vm: drop dependencies on page flags from mlock2 tests (Rafael Aquini) [1658886] - [powercap] powercap/intel_rapl: add support for TigerLake Mobile (David Arcari) [1783136] - [kernel] locking/lockdep: Avoid recursion in lockdep_count_{for, back}ward_deps() (Waiman Long) [1780993] - [kernel] locking/lockdep: Reuse freed chain_hlocks entries (Waiman Long) [1780993] - [kernel] locking/lockdep: Track number of zapped lock chains (Waiman Long) [1780993] - [kernel] locking/lockdep: Throw away all lock chains with zapped class (Waiman Long) [1780993] - [kernel] locking/lockdep: Track number of zapped classes (Waiman Long) [1780993] - [kernel] locking/lockdep: Display irq_context names in /proc/lockdep_chains (Waiman Long) [1780993] - [kernel] locking/lockdep: Decrement IRQ context counters when removing lock chain (Waiman Long) [1780993] - [kernel] locking/lockdep: Fix lockdep_stats indentation problem (Waiman Long) [1780993] - [kernel] locking/lockdep: Fix buffer overrun problem in stack_trace (Waiman Long) [1780993] - [lib] lib/string: Make memzero_explicit() inline instead of external (Florian Westphal) [1820623] - [crypto] crypto: sha256 - Remove sha256/224_init code duplication (Florian Westphal) [1820623] - [crypto] crypto: sha256 - Merge crypto/sha256.h into crypto/sha.h (Florian Westphal) [1820623] - [crypto] crypto: chelsio - Rename arrays to avoid conflict with crypto/sha256.h (Florian Westphal) [1820623] - [x86] crypto: x86 - Rename functions to avoid conflict with crypto/sha256.h (Florian Westphal) [1820623] - [arm64] crypto: arm64 - Rename functions to avoid conflict with crypto/sha256.h (Florian Westphal) [1820623] - [crypto] crypto: sha256_generic - Switch to the generic lib/crypto/sha256.c lib code (Florian Westphal) [1820623] - [lib] crypto: sha256 - Add sha224 support to sha256 library code (Florian Westphal) [1820623] - [lib] crypto: sha256 - Make lib/crypto/sha256.c suitable for generic use (Florian Westphal) [1820623] - [lib] crypto: sha256 - Use get/put_unaligned_be32 to get input, memzero_explicit (Florian Westphal) [1820623] - [s390] crypto: sha256 - Move lib/sha256.c to lib/crypto (Florian Westphal) [1820623] - [crypto] crypto: sha256_generic - Fix some coding style issues (Florian Westphal) [1820623] - [lib] crypto: sha256 - Fix some coding style issues (Florian Westphal) [1820623] - [thunderbolt] thunderbolt: Fix error code in tb_port_is_width_supported() (Jarod Wilson) [1482838] - [thunderbolt] thunderbolt: Prevent crash if non-active NVMem file is read (Jarod Wilson) [1482838] - [thunderbolt] thunderbolt: fix memory leak of object sw (Jarod Wilson) [1482838] - [thunderbolt] thunderbolt: Fix xhci check in usb4_switch_setup() (Jarod Wilson) [1482838] - [thunderbolt] thunderbolt: Add support for USB 3.x tunnels (Jarod Wilson) [1482838] - [thunderbolt] thunderbolt: Add support for Time Management Unit (Jarod Wilson) [1482838] - [thunderbolt] thunderbolt: Make tb_switch_find_cap() available to other files (Jarod Wilson) [1482838] - [netdrv] thunderbolt: Update Kconfig entries to USB4 (Jarod Wilson) [1482838] - [thunderbolt] thunderbolt: Add initial support for USB4 (Jarod Wilson) [1482838] - [thunderbolt] thunderbolt: Populate PG field in hot plug acknowledgment packet (Jarod Wilson) [1482838] - [thunderbolt] thunderbolt: Call tb_eeprom_get_drom_offset() from tb_eeprom_read_n() (Jarod Wilson) [1482838] - [thunderbolt] thunderbolt: Make tb_find_port() available to other files (Jarod Wilson) [1482838] - [thunderbolt] thunderbolt: Power cycle the router if NVM authentication fails (Jarod Wilson) [1482838] - [thunderbolt] thunderbolt: Do not start firmware unless asked by the user (Jarod Wilson) [1482838] - [thunderbolt] thunderbolt: Add bandwidth management for Display Port tunnels (Jarod Wilson) [1482838] - [thunderbolt] thunderbolt: Add Display Port adapter pairing and resource management (Jarod Wilson) [1482838] - [thunderbolt] thunderbolt: Add Display Port CM handshake for Titan Ridge devices (Jarod Wilson) [1482838] - [thunderbolt] thunderbolt: Add downstream PCIe port mappings for Alpine and Titan Ridge (Jarod Wilson) [1482838] - [thunderbolt] thunderbolt: Expand controller name in tb_switch_is_xy() (Jarod Wilson) [1482838] - [thunderbolt] thunderbolt: Add default linking between lane adapters if not provided by DROM (Jarod Wilson) [1482838] - [thunderbolt] thunderbolt: Add support for lane bonding (Jarod Wilson) [1482838] - [thunderbolt] thunderbolt: Refactor add_switch() into two functions (Jarod Wilson) [1482838] - [thunderbolt] thunderbolt: Add helper macro to iterate over switch ports (Jarod Wilson) [1482838] - [thunderbolt] thunderbolt: Make tb_sw_write() take const parameter (Jarod Wilson) [1482838] - [thunderbolt] thunderbolt: Convert DP adapter register names to follow the USB4 spec (Jarod Wilson) [1482838] - [thunderbolt] thunderbolt: Convert PCIe adapter register names to follow the USB4 spec (Jarod Wilson) [1482838] - [thunderbolt] thunderbolt: Convert basic adapter register names to follow the USB4 spec (Jarod Wilson) [1482838] - [thunderbolt] thunderbolt: Log error if adding switch fails (Jarod Wilson) [1482838] - [thunderbolt] thunderbolt: Log switch route string on config read/write timeout (Jarod Wilson) [1482838] - [thunderbolt] thunderbolt: Introduce tb_switch_is_icm() (Jarod Wilson) [1482838] - [thunderbolt] thunderbolt: Add 'generation' attribute for devices (Jarod Wilson) [1482838]- [scsi] scsi: lpfc: Copyright updates for 12.6.0.4 patches (Dick Kennedy) [1793674] - [scsi] scsi: lpfc: Update lpfc version to 12.6.0.4 (Dick Kennedy) [1793674] - [scsi] scsi: lpfc: Clean up hba max_lun_queue_depth checks (Dick Kennedy) [1793674] - [scsi] scsi: lpfc: Remove handler for obsolete ELS - Read Port Status (RPS) (Dick Kennedy) [1793674] - [scsi] scsi: lpfc: Fix coverity errors in fmdi attribute handling (Dick Kennedy) [1793674] - [scsi] scsi: lpfc: Fix compiler warning on frame size (Dick Kennedy) [1793674] - [scsi] scsi: lpfc: Fix registration of ELS type support in fdmi (Dick Kennedy) [1793674] - [scsi] scsi: lpfc: Fix broken Credit Recovery after driver load (Dick Kennedy) [1793674] - [scsi] scsi: lpfc: Fix lpfc_io_buf resource leak in lpfc_get_scsi_buf_s4 error path (Dick Kennedy) [1793674] - [scsi] scsi: lpfc: Fix RQ buffer leakage when no IOCBs available (Dick Kennedy) [1793674] - [scsi] scsi: lpfc: Make lpfc_defer_acc_rsp static (Dick Kennedy) [1793674] - [scsi] scsi: lpfc: Update lpfc version to 12.6.0.3 (Dick Kennedy) [1793674] - [scsi] scsi: lpfc: Fix improper flag check for IO type (Dick Kennedy) [1793674] - [scsi] scsi: lpfc: Fix MDS Latency Diagnostics Err-drop rates (Dick Kennedy) [1793674] - [scsi] scsi: lpfc: Fix unmap of dpp bars affecting next driver load (Dick Kennedy) [1793674] - [scsi] scsi: lpfc: Fix disablement of FC-AL on lpe35000 models (Dick Kennedy) [1793674] - [scsi] scsi: lpfc: Fix ras_log via debugfs (Dick Kennedy) [1793674] - [scsi] scsi: lpfc: Fix Fabric hostname registration if system hostname changes (Dick Kennedy) [1793674] - [scsi] scsi: lpfc: Fix missing check for CSF in Write Object Mbox Rsp (Dick Kennedy) [1793674] - [scsi] scsi: lpfc: Fix: Rework setting of fdmi symbolic node name registration (Dick Kennedy) [1793674] - [scsi] scsi: lpfc: Fix incomplete NVME discovery when target (Dick Kennedy) [1793674] - [scsi] scsi: lpfc: fix spelling mistakes of asynchronous (Dick Kennedy) [1793674] - [scsi] scsi: lpfc: Fix memory leak on lpfc_bsg_write_ebuf_set func (Dick Kennedy) [1793674] - [tools] tools/power turbostat: Support Tiger Lake (David Arcari) [1783441] - [md] dm integrity: fix logic bug in integrity tag testing (Mike Snitzer) [1820280] - [md] Revert "dm: always call blk_queue_split() in dm_process_bio()" (Mike Snitzer) [1820705] - [md] dm integrity: fix ppc64le warning (Mike Snitzer) [1820280] - [md] dm writecache: add cond_resched to avoid CPU hangs (Mike Snitzer) [1820280] - [md] dm integrity: improve discard in journal mode (Mike Snitzer) [1820280] - [md] dm integrity: add optional discard support (Mike Snitzer) [1820280] - [md] dm integrity: allow resize of the integrity device (Mike Snitzer) [1820280] - [md] dm integrity: factor out get_provided_data_sectors() (Mike Snitzer) [1820280] - [md] dm integrity: don't replay journal data past the end of the device (Mike Snitzer) [1820280] - [md] dm integrity: remove sector type casts (Mike Snitzer) [1820280] - [md] dm integrity: fix a crash with unusually large tag size (Mike Snitzer) [1820280] - [md] dm verity fec: fix memory leak in verity_fec_dtr (Mike Snitzer) [1820280] - [md] dm writecache: optimize superblock write (Mike Snitzer) [1820280] - [md] dm writecache: implement gradual cleanup (Mike Snitzer) [1820280] - [md] dm writecache: implement the "cleaner" policy (Mike Snitzer) [1820280] - [md] dm writecache: do direct write if the cache is full (Mike Snitzer) [1820280] - [md] dm integrity: print device name in integrity_metadata() error message (Mike Snitzer) [1820280] - [md] dm crypt: use crypt_integrity_aead() helper (Mike Snitzer) [1820280] - [lib] lib/test_bitmap: add tests for bitmap_parselist_user() (Vladis Dronov) [1819152] - [lib] lib/test_bitmap: add testcases for bitmap_parselist() (Vladis Dronov) [1819152] - [lib] lib/test_bitmap: switch test_bitmap_parselist to ktime_get() (Vladis Dronov) [1819152] - [lib] lib: rework bitmap_parselist (Vladis Dronov) [1819152] - [lib] lib: make bitmap_parselist_user() a wrapper on bitmap_parselist() (Vladis Dronov) [1819152] - [platform] platform/x86: mlx-platform: Add support for next generation systems (Ivan Vecera) [1820312] - [platform] platform/mellanox: mlxreg-hotplug: Add support for new capability register (Ivan Vecera) [1820312] - [platform] platform/x86: mlx-platform: Add support for new capability register (Ivan Vecera) [1820312] - [platform] platform/x86: mlx-platform: Add support for new system type (Ivan Vecera) [1820312] - [platform] platform/x86: mlx-platform: Set system mux configuration based on system type (Ivan Vecera) [1820312] - [documentation] Documentation/ABI: Add new attribute for mlxreg-io sysfs interfaces (Ivan Vecera) [1820312] - [platform] platform/x86: mlx-platform: Add more definitions for system attributes (Ivan Vecera) [1820312] - [documentation] Documentation/ABI: Style changes (Ivan Vecera) [1820312] - [documentation] Documentation/ABI: Add missed attribute for mlxreg-io sysfs interfaces (Ivan Vecera) [1820312] - [documentation] Documentation/ABI: Fix documentation inconsistency for mlxreg-io sysfs interfaces (Ivan Vecera) [1820312] - [platform] platform/x86: mlx-platform: Cosmetic changes (Ivan Vecera) [1820312] - [platform] platform/mellanox: Fix Kconfig indentation (Ivan Vecera) [1820312] - [leds] leds: mlxreg: Fix possible buffer overflow (Ivan Vecera) [1820312] - [platform] platform/mellanox: mlxreg-hotplug: Remove dev_err() usage after platform_get_irq() (Ivan Vecera) [1820312] - [platform] platform/x86: mlx-platform: Fix error handling in mlxplat_init() (Ivan Vecera) [1820312] - [documentation] Documentation/ABI: Add new attribute for mlxreg-io sysfs interfaces (Ivan Vecera) [1820312] - [platform] platform/x86: mlx-platform: Add more reset cause attributes (Ivan Vecera) [1820312] - [platform] platform/x86: mlx-platform: Modify DMI matching order (Ivan Vecera) [1820312] - [platform] platform/x86: mlx-platform: Add regmap structure for the next generation systems (Ivan Vecera) [1820312] - [platform] platform/x86: mlx-platform: Change API for i2c-mlxcpld driver activation (Ivan Vecera) [1820312] - [platform] platform/x86: mlx-platform: Move regmap initialization before all drivers activation (Ivan Vecera) [1820312] - [documentation] ABI: sysfs-driver-mlxreg-io: fix the what fields (Ivan Vecera) [1820312] - [documentation] docs: watchdog: convert docs to ReST and rename to *.rst (Ivan Vecera) [1820312] - [platform] platform/x86: mlx-platform: Fix parent device in i2c-mux-reg device registration (Ivan Vecera) [1820312] - [platform] platform/mellanox: mlxreg-hotplug: Add devm_free_irq call to remove flow (Ivan Vecera) [1820312] - [i2c] i2c: mlxcpld: Fix wrong initialization order in probe (Ivan Vecera) [1820312] - [hwmon] hwmon: (mlxreg-fan) Use devm_thermal_of_cooling_device_register (Ivan Vecera) [1820312] - [thermal] thermal: Introduce devm_thermal_of_cooling_device_register (Ivan Vecera) [1820312] - [watchdog] watchdog: mlx_wdt: Use 'dev' instead of dereferencing it repeatedly (Ivan Vecera) [1820312] - [hwmon] hwmon: (mlxreg-fan) Use HWMON_CHANNEL_INFO macro (Ivan Vecera) [1820312] - [include] hwmon: Add convience macro to define simple static sensors (Ivan Vecera) [1820312] - [hwmon] hwmon: (mlxreg-fan) Add support for fan capability registers (Ivan Vecera) [1820312] - [platform] platform/x86: mlx-platform: Add mlx-wdt platform driver activation (Ivan Vecera) [1820312] - [platform] platform/x86: mlx-platform: Add support for tachometer speed register (Ivan Vecera) [1820312] - [platform] platform/x86: mlx-platform: Fix access mode for fan_dir attribute (Ivan Vecera) [1820312] - [platform] platform/x86: mlx-platform: Add UID LED for the next generation systems (Ivan Vecera) [1820312] - [platform] platform/x86: mlx-platform: Add extra CPLD for next generation systems (Ivan Vecera) [1820312] - [documentation] Documentation/watchdog: Add documentation mlx-wdt driver (Ivan Vecera) [1820312] - [watchdog] watchdog: mlx-wdt: introduce a watchdog driver for Mellanox systems (Ivan Vecera) [1820312] - [include] platform_data/mlxreg: additions for Mellanox watchdog driver (Ivan Vecera) [1820312] - [leds] leds: mlxreg: Add support for capability register (Ivan Vecera) [1820312] - [platform] platform/mellanox: mlxreg-hotplug: Fix KASAN warning (Ivan Vecera) [1820312] - [documentation] Documentation/ABI: Correct mlxreg-io KernelVersion for 5.0 (Ivan Vecera) [1820312] - [platform] platform/x86: mlx-platform: Add support for new VMOD0007 board name (Ivan Vecera) [1820312] - [platform] platform/x86: mlx-platform: Add support for fan capability registers (Ivan Vecera) [1820312] - [include] platform_data/mlxreg: Add capability field to core platform data (Ivan Vecera) [1820312] - [include] platform_data/mlxreg: Document fixes for core platform data (Ivan Vecera) [1820312] - [documentation] Documentation/ABI: Add new attribute for mlxreg-io sysfs interfaces (Ivan Vecera) [1820312] - [platform] platform/x86: mlx-platform: Add support for fan direction register (Ivan Vecera) [1820312] - [platform] platform/x86: mlx-platform: Convert to use SPDX identifier (Ivan Vecera) [1820312] - [documentation] Documentation/ABI: Add new attribute for mlxreg-io sysfs interfaces (Ivan Vecera) [1820312] - [platform] platform/x86: mlx-platform: Allow mlxreg-io driver activation for new systems (Ivan Vecera) [1820312] - [platform] platform/x86: mlx-platform: Fix LED configuration (Ivan Vecera) [1820312] - [platform] platform/x86: mlx-platform: Fix tachometer registers (Ivan Vecera) [1820312] - [platform] platform/x86: mlx-platform: Rename new systems product names (Ivan Vecera) [1820312] - [platform] platform/x86: mlx-platform: Add definitions for new registers (Ivan Vecera) [1820312] - [i2c] i2c: mux: mlxcpld: simplify code to reach the adapter (Ivan Vecera) [1820312] - [platform] platform/x86: mlx-platform: Properly use mlxplat_mlxcpld_msn201x_items (Ivan Vecera) [1820312] - [platform] platform/x86: mlx-platform: Fix copy-paste error in mlxplat_init() (Ivan Vecera) [1820312] - [platform] platform/x86: mlx-platform: Remove unused define (Ivan Vecera) [1820312] - [platform] platform/x86: mlx-platform: Change mlxreg-io configuration for MSN274x systems (Ivan Vecera) [1820312] - [documentation] Documentation/ABI: Add new attribute for mlxreg-io sysfs interfaces (Ivan Vecera) [1820312] - [platform] platform/x86: mlx-platform: Allow mlxreg-io driver activation for more systems (Ivan Vecera) [1820312] - [platform] platform/x86: mlx-platform: Add ASIC hotplug device configuration (Ivan Vecera) [1820312] - [platform] platform/mellanox: mlxreg-hotplug: Add hotplug hwmon uevent notification (Ivan Vecera) [1820312] - [platform] platform/mellanox: mlxreg-hotplug: Improve mechanism of ASIC health discovery (Ivan Vecera) [1820312] - [platform] platform/x86: mlx-platform: Add mlxreg-fan platform driver activation (Ivan Vecera) [1820312] - [platform] platform/mellanox: Use 2-factor allocator calls (Ivan Vecera) [1820312] - [hwmon] hwmon: (mlxreg-fan) Modify macros for tachometer fault status reading (Ivan Vecera) [1820312] - [hwmon] hwmon: (mlxreg-fan) Fix macros for tacho fault reading (Ivan Vecera) [1820312] - [hwmon] hwmon: (mlxreg-fan) Add support for Mellanox FAN driver (Ivan Vecera) [1820312] - [i2c] i2c: mux: mlxcpld: make use of __i2c_smbus_xfer (Ivan Vecera) [1820312] - [i2c] i2c: smbus: add unlocked __i2c_smbus_xfer variant (Ivan Vecera) [1820312] - [documentation] Documentation/ABI: Add documentation mlxreg-io sysfs interfaces (Ivan Vecera) [1820312] - [platform] platform/x86: mlx-platform: Add mlxreg-io platform driver activation (Ivan Vecera) [1820312] - [platform] platform/mellanox: Introduce support for Mellanox register access driver (Ivan Vecera) [1820312] - [kernel] audit: trigger accompanying records when no rules present (Richard Guy Briggs) [1819944] - [kernel] sched/fair: Allow a per-CPU kthread waking a task to stack on the same CPU, to fix XFS performance regression (Phil Auld) [1745111] - [hid] HID: intel-ish-hid: ipc: Add Tiger Lake PCI device ID (Tony Camuso) [1818043] - [hid] HID: intel-ish-hid: ipc: add CMP device id (Tony Camuso) [1818043] - [hid] HID: intel-ish-hid: Spelling s/diconnect/disconnect/ (Tony Camuso) [1818043] - [hid] HID: intel-ish-hid: fix wrong error handling in ishtp_cl_alloc_tx_ring() (Tony Camuso) [1818043] - [hid] HID: intel-ish-hid: ipc: check the NO_D3 flag to distinguish resume paths (Tony Camuso) [1818043] - [hid] HID: intel-ish-hid: ipc: make ish suspend paths clear (Tony Camuso) [1818043] - [hid] HID: intel-ish-hid: ipc: set NO_D3 flag only when needed (Tony Camuso) [1818043] - [netdrv] net: ena: Add PCI shutdown handler to allow safe kexec (Bhupesh Sharma) [1758323] - [net] vsock: fix potential deadlock in transport->release() (Stefano Garzarella) [1771582] - [net] vsock/virtio: remove loopback handling (Stefano Garzarella) [1771582] - [net] vsock: use local transport when it is loaded (Stefano Garzarella) [1771582] - [net] vsock: add vsock_loopback transport (Stefano Garzarella) [1771582] - [net] vsock: add local transport support in the vsock core (Stefano Garzarella) [1771582] - [uapi] vsock: add VMADDR_CID_LOCAL definition (Stefano Garzarella) [1771582] - [net] vsock/virtio_transport_common: remove unused virtio header includes (Stefano Garzarella) [1771582] - [infiniband] IB/rdmavt: Free kernel completion queue when done (Gopal Tiwari) [1805036] - [powerpc] powerpc/64s: Fix section mismatch warnings from boot code (Desnes Augusto Nunes do Rosario) [1391523] - [powerpc] powerpc/prom: convert PROM_BUG() to standard trap (Desnes Augusto Nunes do Rosario) [1391523] - [powerpc] powerpc/64: mark start_here_multiplatform as __ref (Desnes Augusto Nunes do Rosario) [1391523] - [mfd] mfd: intel-lpss: Add Intel Tiger Lake PCI IDs (David Arcari) [1773767] - [mfd] mfd: intel-lpss: Release IDA resources (David Arcari) [1773767] - [mfd] mfd: intel-lpss: Keep device tables sorted by ID (David Arcari) [1773767] - [i2c] i2c: i801: Add support for Intel Tiger Lake (David Arcari) [1773765] - [edac] EDAC/mce_amd: Print !SMCA processor warning only once (Prarit Bhargava) [1796178] - [powerpc] powerpc/pseries/dlpar: Fix a missing check in dlpar_parse_cc_property() (Steve Best) [1806630] {CVE-2019-12614}- [x86] x86/gart: Rewrite early_gart_iommu_check() comment (Waiman Long) [1818532] - [mm] mm/memblock.c: warn if zero alignment was requested (Waiman Long) [1818532] - [powerpc] memblock: stop using implicit alignment to SMP_CACHE_BYTES (Waiman Long) [1818532] - [mm] memblock: replace BOOTMEM_ALLOC_* with MEMBLOCK variants (Waiman Long) [1818532] - [mm] mm: remove nobootmem (Waiman Long) [1818532] - [mm] memblock: rename __free_pages_bootmem to memblock_free_pages (Waiman Long) [1818532] - [mm] memblock: rename free_all_bootmem to memblock_free_all (Waiman Long) [1818532] - [firmware] memblock: replace free_bootmem_late with memblock_free_late (Waiman Long) [1818532] - [x86] memblock: replace free_bootmem{_node} with memblock_free (Waiman Long) [1818532] - [mm] mm: nobootmem: remove bootmem allocation APIs (Waiman Long) [1818532] - [mm] memblock: replace __alloc_bootmem with memblock_alloc_from (Waiman Long) [1818532] - [mm] memblock: replace alloc_bootmem_pages with memblock_alloc (Waiman Long) [1818532] - [mm] memblock: replace alloc_bootmem_low_pages with memblock_alloc_low (Waiman Long) [1818532] - [mm] memblock: replace alloc_bootmem_pages_node with memblock_alloc_node (Waiman Long) [1818532] - [mm] memblock: add align parameter to memblock_alloc_node() (Waiman Long) [1818532] - [arm64] memblock: replace alloc_bootmem_low with memblock_alloc_low (2) (Waiman Long) [1818532] - [usb] memblock: replace alloc_bootmem_pages_nopanic with memblock_alloc_nopanic (Waiman Long) [1818532] - [x86] memblock: replace __alloc_bootmem_node_nopanic with memblock_alloc_try_nid_nopanic (Waiman Long) [1818532] - [x86] memblock: replace alloc_bootmem_low with memblock_alloc_low (Waiman Long) [1818532] - [x86] memblock: replace alloc_bootmem_align with memblock_alloc (Waiman Long) [1818532] - [mm] memblock: remove _virt from APIs returning virtual address (Waiman Long) [1818532] - [powerpc] memblock: rename memblock_alloc{_nid, _try_nid} to memblock_phys_alloc* (Waiman Long) [1818532] - [mm] mm: nobootmem: remove dead code (Waiman Long) [1818532] - [mm] mm: remove bootmem allocator implementation (Waiman Long) [1818532] - [mm] mm: remove CONFIG_HAVE_MEMBLOCK (Waiman Long) [1818532] - [mm] mm: remove CONFIG_NO_BOOTMEM (Waiman Long) [1818532] - [mm] mm: disable deferred struct page for 32-bit arches (Waiman Long) [1818532] - [mm] mm: make DEFERRED_STRUCT_PAGE_INIT explicitly depend on SPARSEMEM (Waiman Long) [1818532] - [mm] mm/hugetlb.c: don't zero 1GiB bootmem pages (Waiman Long) [1818532] - [mm] docs/mm: memblock: add overview documentation (Waiman Long) [1818532] - [include] docs/mm: memblock: add kernel-doc description for memblock types (Waiman Long) [1818532] - [mm] docs/mm: memblock: add kernel-doc comments for memblock_add (Waiman Long) [1818532] - [mm] docs/mm: bootmem: add overview documentation (Waiman Long) [1818532] - [include] docs/mm: bootmem: add kernel-doc description of 'struct bootmem_data' (Waiman Long) [1818532] - [mm] docs/mm: bootmem: fix kernel-doc warnings (Waiman Long) [1818532] - [mm] docs/mm: nobootmem: fixup kernel-doc comments (Waiman Long) [1818532] - [mm] mm/bootmem: drop duplicated kernel-doc comments (Waiman Long) [1818532] - [lib] lib/smp_processor_id: Don't use cpumask_equal() (Waiman Long) [1812092] - [kernel] audit: always check the netlink payload length in audit_receive_msg() (Richard Guy Briggs) [1814448] - [kernel] audit: fix error handling in audit_data_to_entry() (Richard Guy Briggs) [1814448] - [fs] fat: work around race with userspace's read via blockdev while mounting (Bill O'Donnell) [1771351] - [include] raid6/test: fix a compilation error (Bhupesh Sharma) [1817524] - [arm64] arm64: kexec_file: add crash dump support (Bhupesh Sharma) [1817524] - [lib] libfdt: include fdt_addresses.c (Bhupesh Sharma) [1817524] - [scripts] scripts/dtc: Update to upstream version v1.5.1-22-gc40aeb60b47a (Bhupesh Sharma) [1817524] - [include] libfdt: reduce the number of headers included from libfdt_env.h (Bhupesh Sharma) [1817524] - [arm64] arm64: dts: amd: Fix SPI bus warnings (Bhupesh Sharma) [1817524] - [arm64] arm64: dts: broadcom: Fix I2C and SPI bus warnings (Bhupesh Sharma) [1817524] - [scripts] scripts/dtc: Update to upstream version v1.5.0-30-g702c1b6c0e73 (Bhupesh Sharma) [1817524] - [scripts] scripts/dtc: Update to upstream version v1.5.0-23-g87963ee20693 (Bhupesh Sharma) [1817524] - [include] linux/kernel.h: split *_MAX and *_MIN macros into (Bhupesh Sharma) [1817524] - [scripts] kbuild: disable dtc simple_bus_reg warnings by default (Bhupesh Sharma) [1817524] - [scripts] scripts/dtc: Update to upstream version v1.4.7-57-gf267e674d145 (Bhupesh Sharma) [1817524] - [scripts] scripts/dtc: Update to upstream version v1.4.7-14-gc86da84d30e4 (Bhupesh Sharma) [1817524] - [scripts] scripts/dtc: consolidate include path options in Makefile (Bhupesh Sharma) [1817524] - [pci] PCI: Remove unnecessary returns (Myron Stowe) [1807175] - [pci] PCI: OF: Correct of_irq_parse_pci() documentation (Myron Stowe) [1807175] - [pci] PCI: Fix typos and whitespace errors (Myron Stowe) [1807175] - [documentation] PCI: Correct pci=resource_alignment parameter example (Myron Stowe) [1807175] - [pci] PCI: Use PCI_SRIOV_NUM_BARS in loops instead of PCI_IOV_RESOURCE_END (Myron Stowe) [1807175] - [pci] PCI: Convert pci_resource_to_user() to a weak function (Myron Stowe) [1807175] - [pci] PCI: pciehp: Refer to "Indicators" instead of "LEDs" in comments (Myron Stowe) [1807175] - [pci] PCI: pciehp: Remove pciehp_green_led_{on, off, blink}() (Myron Stowe) [1807175] - [pci] PCI: pciehp: Remove pciehp_set_attention_status() (Myron Stowe) [1807175] - [pci] PCI: pciehp: Combine adjacent indicator updates (Myron Stowe) [1807175] - [pci] PCI: pciehp: Add pciehp_set_indicators() to set both indicators (Myron Stowe) [1807175] - [pci] PCI: Add pci_irq_vector() and other stubs when !CONFIG_PCI (Myron Stowe) [1807175] - [pci] PCI: Force trailing new line to resource_alignment_param in sysfs (Myron Stowe) [1807175] - [pci] PCI: Move pci__resource_alignment_param() into their callers (Myron Stowe) [1807175] - [pci] PCI: pci.c: convert to use BUS_ATTR_RW (Myron Stowe) [1807175] - [pci] PCI: Clean up resource_alignment parameter to not require static buffer (Myron Stowe) [1807175] - [pci] PCI/IOV: Remove group write permission from sriov_numvfs, sriov_drivers_autoprobe (Myron Stowe) [1807175] - [pci] PCI/IOV: Move sysfs SR-IOV functions to iov.c (Myron Stowe) [1807175] - [pci] PCI: sysfs: Change permissions from symbolic to octal (Myron Stowe) [1807175] - [pci] PCI: sysfs: Revert "rescan" file renames (Myron Stowe) [1807175] - [pci] PCI: sysfs: Change DEVICE_ATTR() to DEVICE_ATTR_WO() (Myron Stowe) [1807175] - [pci] PCI: pci-sysfs.c: convert to use BUS_ATTR_WO (Myron Stowe) [1807175] - [pci] PCI: sysfs: Define device attributes with DEVICE_ATTR*() (Myron Stowe) [1807175] - [pci] PCI: Mark expected switch fall-through (Myron Stowe) [1807175] - [pci] PCI: Use devm_add_action_or_reset() (Myron Stowe) [1807175] - [pci] PCI: Get rid of dev->has_secondary_link flag (Myron Stowe) [1807175] - [pci] PCI/ACPI: Remove unnecessary struct hotplug_program_ops (Myron Stowe) [1807175] - [pci] PCI/ACPI: Move _HPP & _HPX functions to pci-acpi.c (Myron Stowe) [1807175] - [pci] PCI/ACPI: Rename _HPX structs from hpp_* to hpx_* (Myron Stowe) [1807175] - [pci] PCI: Make pci_set_of_node(), etc private (Myron Stowe) [1807175] - [pci] PCI: Make pci_enable_ptm() private (Myron Stowe) [1807175] - [pci] PCI: Make pcie_set_ecrc_checking(), pcie_ecrc_get_policy() private (Myron Stowe) [1807175] - [pci] PCI: Make pci_ats_init() private (Myron Stowe) [1807175] - [pci] PCI: Make pcie_update_link_speed() private (Myron Stowe) [1807175] - [pci] PCI: Make pci_bus_get(), pci_bus_put() private (Myron Stowe) [1807175] - [pci] PCI: Make pci_hotplug_io_size, mem_size, and bus_size private (Myron Stowe) [1807175] - [pci] PCI: Make pci_save_vc_state(), pci_restore_vc_state(), etc private (Myron Stowe) [1807175] - [pci] PCI: Make pci_get_host_bridge_device(), pci_put_host_bridge_device() private (Myron Stowe) [1807175] - [pci] PCI: Make pci_check_pme_status(), pci_pme_wakeup_bus() private (Myron Stowe) [1807175] - [pci] PCI: Make PCI_PM_* delay times private (Myron Stowe) [1807175] - [pci] PCI: Unexport pci_bus_sem (Myron Stowe) [1807175] - [pci] PCI: Unexport pci_bus_get() and pci_bus_put() (Myron Stowe) [1807175] - [pci] PCI: Remove pci_block_cfg_access() et al (unused) (Myron Stowe) [1807175] - [wireless] PCI: Move ASPM declarations to linux/pci.h (Myron Stowe) [1807175] - [pci] PCI/MSI: Support allocating virtual MSI interrupts (Myron Stowe) [1807175] - [fs] gfs2: Remove unnecessary gfs2_qa_{get,put} pairs (Robert S Peterson) [1807146] - [fs] gfs2: Split gfs2_rsqa_delete into gfs2_rs_delete and gfs2_qa_put (Robert S Peterson) [1807146] - [fs] gfs2: Change inode qa_data to allow multiple users (Robert S Peterson) [1807146] - [fs] gfs2: eliminate gfs2_rsqa_alloc in favor of gfs2_qa_alloc (Robert S Peterson) [1807146] - [fs] gfs2: Switch to list_{first,last}_entry (Robert S Peterson) [1807146] - [fs] gfs2: Clean up inode initialization and teardown (Robert S Peterson) [1807146] - [fs] gfs2: Minor gfs2_alloc_inode cleanup (Robert S Peterson) [1807146] - [pinctrl] pinctrl: pinmux: fix a possible null pointer in pinmux_can_be_used_for_gpio (David Arcari) [1817454] - [pinctrl] pinctrl/gpio: Take MUX usage into account (David Arcari) [1817454] - [include] gpio: Fix build warnings on undefined struct pinctrl_dev (David Arcari) [1817454] - [pinctrl] pinctrl: remove unused pin_is_valid() (David Arcari) [1817454] - [pinctrl] pinctrl: remove unneeded initializer for list_for_each_entry() iterator (David Arcari) [1817454] - [pinctrl] treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 194 (David Arcari) [1817454] - [pinctrl] pinctrl: core: Do not add device links for hogs (David Arcari) [1817454] - [pinctrl] pinctrl: Enable device link creation for pin control (David Arcari) [1817454] - [pinctrl] pinctrl: generic: add new 'drive-strength-microamp' property support (David Arcari) [1817454] - [pinctrl] pinctrl: remove unused 'pinconf-config' debugfs interface (David Arcari) [1817454] - [pinctrl] pinctrl: Change to use DEFINE_SHOW_ATTRIBUTE macro (David Arcari) [1817454] - [pinctrl] pinctrl: core: make sure strcmp() doesn't get a null parameter (David Arcari) [1817454] - [pinctrl] pinctrl: core: Remove broken remove_last group and pinmux functions (David Arcari) [1817454] - [pinctrl] pinctrl: pinmux: Return selector to the pinctrl driver (David Arcari) [1817454] - [pinctrl] pinctrl: core: Return selector to the pinctrl driver (David Arcari) [1817454] - [pinctrl] pinctrl: Cut unused sysfs includes (David Arcari) [1817454] - [mm] mm, numa: fix bad pmd by atomically check for pmd_trans_huge when marking page tables prot_numa (Rafael Aquini) [1763878] - [mm] mm: thp: fix flags for pmd migration when split (Rafael Aquini) [1763878] - [mm] mm: thp: relocate flush_cache_range() in migrate_misplaced_transhuge_page() (Rafael Aquini) [1763878] - [mm] mm: thp: fix mmu_notifier in migrate_misplaced_transhuge_page() (Rafael Aquini) [1763878] - [mm] mm: thp: fix MADV_DONTNEED vs migrate_misplaced_transhuge_page race condition (Rafael Aquini) [1763878] - [fs] nfsd: set the server_scope during service startup (Scott Mayhew) [1817752] - [fs] nfsd: v4 support requires CRYPTO_SHA256 (Scott Mayhew) [1817752] - [fs] nfsd: Fix cld_net->cn_tfm initialization (Scott Mayhew) [1817752] - [fs] nfsd: add support for upcall version 2 (Scott Mayhew) [1817752] - [fs] nfsd: add a "GetVersion" upcall for nfsdcld (Scott Mayhew) [1817752] - [fs] nfsd: handle legacy client tracking records sent by nfsdcld (Scott Mayhew) [1817752] - [fs] nfsd: re-order client tracking method selection (Scott Mayhew) [1817752] - [fs] nfsd: keep a tally of RECLAIM_COMPLETE operations when using nfsdcld (Scott Mayhew) [1817752] - [fs] nfsd: un-deprecate nfsdcld (Scott Mayhew) [1817752] - [fs] nfsd: make nfs4_client_reclaim use an xdr_netobj instead of a fixed char array (Scott Mayhew) [1817752]- [s390] scsi: zfcp: fix to prevent port_remove with pure auto scan LUNs (only sdevs) (Philipp Rudo) [1814791] - [s390] scsi: zfcp: fix missing zfcp_port reference put on -EBUSY from port_remove (Philipp Rudo) [1814792] - [infiniband] RDMA/qedr: Fix null-pointer dereference when calling rdma_user_mmap_get_offset (Kamal Heib) [1786602] - [infiniband] RDMA/qedr: Make qedr_iw_load_qp() static (Kamal Heib) [1786602] - [infiniband] RDMA/qedr: Fix potential use after free (Kamal Heib) [1786602] - [infiniband] RDMA/qedr: Remove unsupported modify_port callback (Kamal Heib) [1786602] - [infiniband] IB/ipoib: Add ndo operation for getting VFs GUID attributes (Kamal Heib) [1786602] - [net] xprtrdma: Fix oops in Receive handler after device removal (Kamal Heib) [1786602] - [net] xprtrdma: Fix completion wait during device removal (Kamal Heib) [1786602] - [net] xprtrdma: Fix create_qp crash on device unload (Kamal Heib) [1786602] - [infiniband] IB/hfi1: Adjust flow PSN with the correct resync_psn (Kamal Heib) [1786602] - [infiniband] IB/hfi1: Don't cancel unused work item (Kamal Heib) [1786602] - [infiniband] IB/core: Introduce rdma_user_mmap_entry_insert_range() API (Kamal Heib) [1786602] - [infiniband] RDMA/counter: Prevent auto-binding a QP which are not tracked with res (Kamal Heib) [1786602] - [infiniband] rxe: correctly calculate iCRC for unaligned payloads (Kamal Heib) [1786602] - [infiniband] treewide: Use sizeof_field() macro (Kamal Heib) [1786602] - [infiniband] RDMA/cma: add missed unregister_pernet_subsys in init failure (Kamal Heib) [1786602] - [infiniband] RDMA/efa: Expose RDMA read related attributes (Kamal Heib) [1786602] - [infiniband] RDMA/efa: Support remote read access in MR registration (Kamal Heib) [1786602] - [infiniband] RDMA/efa: Store network attributes in device attributes (Kamal Heib) [1786602] - [infiniband] IB/hfi1: remove redundant assignment to variable ret (Kamal Heib) [1786602] - [infiniband] net: use rhashtable_lookup() instead of rhashtable_lookup_fast() (Kamal Heib) [1786602] - [infiniband] IB/core: Add interfaces to get VF node and port GUIDs (Kamal Heib) [1786602] - [infiniband] RDMA/cm: Use refcount_t type for refcount variable (Kamal Heib) [1786602] - [infiniband] RDMA/cma: Use ACK timeout for RoCE packetLifeTime (Kamal Heib) [1786602] - [infiniband] IB/umem: remove the dmasync argument to ib_umem_get (Kamal Heib) [1786602] - [infiniband] RDMA/qedr: Add iWARP doorbell recovery support (Kamal Heib) [1786602] - [infiniband] RDMA/qedr: Add doorbell overflow recovery support (Kamal Heib) [1786602] - [infiniband] RDMA/qedr: Use the common mmap API (Kamal Heib) [1786602] - [infiniband] RDMA/qedr: Fix memory leak in user qp and mr (Kamal Heib) [1810854 1786602] - [infiniband] RDMA/qedr: Fix synchronization methods and memory leaks in qedr (Kamal Heib) [1810854 1786602] - [infiniband] RDMA/qedr: Fix qpids xarray api used (Kamal Heib) [1810854 1786602] - [infiniband] RDMA/qedr: Fix srqs xarray initialization (Kamal Heib) [1810854 1786602] - [infiniband] RDMA/qedr: Remove Unneeded variable rc (Kamal Heib) [1810854 1786602] - [infiniband] RDMA/mlx4: Separate creation of RWQ and QP (Kamal Heib) [1786602] - [infiniband] RDMA/hns: Package for hns_roce_rereg_user_mr function (Kamal Heib) [1786602] - [infiniband] RDMA/hns: Fix sg offset non-zero issue (Kamal Heib) [1786602] - [infiniband] dma-mapping: remove the DMA_ATTR_WRITE_BARRIER flag (Kamal Heib) [1786602] - [infiniband] RDMA/efa: Clear the admin command buffer prior to its submission (Kamal Heib) [1786602] - [infiniband] RDMA/siw: Cleanup unused mmap structures (Kamal Heib) [1786602] - [infiniband] RDMA/srpt: Report the SCSI residual to the initiator (Kamal Heib) [1786602] - [infiniband] RDMA: Change MAD processing function to remove extra casting and parameter (Kamal Heib) [1786602] - [infiniband] RDMA/mlx5: Rewrite MAD processing logic to be readable (Kamal Heib) [1786602] - [infiniband] RDMA/ocrdma: Simplify process_mad function (Kamal Heib) [1786602] - [infiniband] RDMA/ocrdma: Make ocrdma_pma_counters() return void (Kamal Heib) [1786602] - [infiniband] RDMA/mad: Do not check MAD sizes in roce and ib drivers (Kamal Heib) [1786602] - [infiniband] RDMA/hfi1: Delete unreachable code (Kamal Heib) [1786602] - [infiniband] RDMA/mad: Allocate zeroed MAD buffer (Kamal Heib) [1786602] - [infiniband] RDMA/mad: Delete never implemented functions (Kamal Heib) [1786602] - [infiniband] RDMA/core: Fix return code when modify_port isn't supported (Kamal Heib) [1786602] - [infiniband] RDMA/siw: Use the common mmap_xa helpers (Kamal Heib) [1786602] - [infiniband] RDMA/efa: Use the common mmap_xa helpers (Kamal Heib) [1786602] - [infiniband] RDMA: Connect between the mmap entry and the umap_priv structure (Kamal Heib) [1786602] - [infiniband] RDMA/hns: Use rdma_user_mmap_io (Kamal Heib) [1786602] - [infiniband] RDMA/core: Create mmap database and cookie helper functions (Kamal Heib) [1786602] - [infiniband] RDMA/core: Move core content from ib_uverbs to ib_core (Kamal Heib) [1786602] - [infiniband] RDMA/odp: Remove broken debugging call to invalidate_range (Kamal Heib) [1786602] - [infiniband] RDMA/vmw_pvrdma: Use resource ids from physical device if available (Kamal Heib) [1786602] - [infiniband] RDMA/core: Set DMA parameters correctly (Kamal Heib) [1786602] - [infiniband] RDMA/siw: Increase DMA max_segment_size parameter (Kamal Heib) [1786602] - [infiniband] RDMA/rxe: Increase DMA max_segment_size parameter (Kamal Heib) [1786602] - [uapi] rdma: Remove nes ABI header (Kamal Heib) [1786602] - [infiniband] RDMA/srpt: Fix TPG creation (Kamal Heib) [1786602] - [infiniband] RDMA/cm: Update copyright together with SPDX tag (Kamal Heib) [1786602] - [infiniband] RDMA/cm: Use specific keyword to check define (Kamal Heib) [1786602] - [infiniband] RDMA/cm: Delete unused cm_is_active_peer function (Kamal Heib) [1786602] - [infiniband] RDMA/rxe: Remove useless rxe_init_device_param assignments (Kamal Heib) [1786602] - [net] xprtrdma: Replace dprintk in xprt_rdma_set_port (Kamal Heib) [1786602] - [net] xprtrdma: Replace dprintk() in rpcrdma_update_connect_private() (Kamal Heib) [1786602] - [net] xprtrdma: Refine trace_xprtrdma_fixup (Kamal Heib) [1786602] - [net] xprtrdma: Report the computed connect delay (Kamal Heib) [1786602] - [net] xprtrdma: Wake tasks after connect worker fails (Kamal Heib) [1786602] - [net] xprtrdma: Pull up sometimes (Kamal Heib) [1786602] - [net] xprtrdma: Refactor rpcrdma_prepare_msg_sges() (Kamal Heib) [1786602] - [net] xprtrdma: Move the rpcrdma_sendctx::sc_wr field (Kamal Heib) [1786602] - [net] xprtrdma: Remove rpcrdma_sendctx::sc_device (Kamal Heib) [1786602] - [net] xprtrdma: Remove rpcrdma_sendctx::sc_xprt (Kamal Heib) [1786602] - [net] xprtrdma: Ensure ri_id is stable during MR recycling (Kamal Heib) [1786602] - [net] xprtrdma: Manage MRs in context of a single connection (Kamal Heib) [1786602] - [net] xprtrdma: Fix MR list handling (Kamal Heib) [1786602] - [net] xprtrdma: Initialize rb_credits in one place (Kamal Heib) [1786602] - [infiniband] RDMA/core: Check that process is still alive before sending it to the users (Kamal Heib) [1786602] - [infiniband] RDMA/restrack: Remove PID namespace support (Kamal Heib) [1786602] - [infiniband] RDMA/uverbs: Add a check for uverbs_attr_get to uverbs_copy_to_struct_or_zero (Kamal Heib) [1786602] - [infiniband] IB/cma: Honor traffic class from lower netdevice for RoCE (Kamal Heib) [1786602] - [infiniband] RDMA/nldev: Provide MR statistics (Kamal Heib) [1786602] - [infiniband] RDMA/mlx5: Return ODP type per MR (Kamal Heib) [1786602] - [infiniband] RDMA/nldev: Allow different fill function per resource (Kamal Heib) [1786602] - [infiniband] IB/mlx5: Introduce ODP diagnostic counters (Kamal Heib) [1786602] - [infiniband] infiniband: fix sw/rdmavt/ kernel-doc notation (Kamal Heib) [1786602] - [infiniband] infiniband: fix core/ kernel-doc notation (Kamal Heib) [1786602] - [infiniband] infiniband: fix ulp/iser/iser_initiator.c kernel-doc warnings (Kamal Heib) [1786602] - [infiniband] infiniband: fix ulp/iser/iser_verbs.c kernel-doc notation (Kamal Heib) [1786602] - [infiniband] infiniband: fix core/verbs.c kernel-doc notation (Kamal Heib) [1786602] - [infiniband] infiniband: fix ulp/srpt/ib_srpt.h kernel-doc notation (Kamal Heib) [1786602] - [infiniband] infiniband: fix ulp/iser/iscsi_iser.h kernel-doc warnings (Kamal Heib) [1786602] - [infiniband] infiniband: fix core/ipwm_util.h kernel-doc warnings (Kamal Heib) [1786602] - [infiniband] infiniband: fix ulp/iser/iscsi_iser.kernel-doc notation (Kamal Heib) [1786602] - [infiniband] RDMA/rw: Support threshold for registration vs scattering to local pages (Kamal Heib) [1786602] - [uapi] RDMA/uapi: Fix and re-organize the usage of rdma_driver_id (Kamal Heib) [1786602] - [net] svcrdma: Improve DMA mapping trace points (Kamal Heib) [1786602] - [infiniband] RDMA/iser: Use iser_err instead of pr_err for logging (Kamal Heib) [1786602] - [infiniband] RDMA/srp: Calculate max_it_iu_size if remote max_it_iu length available (Kamal Heib) [1786602] - [infiniband] RDMA/srp: Add parse function for maximum initiator to target IU size (Kamal Heib) [1786602] - [infiniband] IB/cm: Use container_of() instead of typecast (Kamal Heib) [1786602] - [infiniband] RDMA/srpt: Make the code for handling port identities more systematic (Kamal Heib) [1786602] - [infiniband] RDMA/srpt: Rework the code that waits until an RDMA port is no longer in use (Kamal Heib) [1786602] - [infiniband] RDMA/srpt: Rework the approach for closing an RDMA channel (Kamal Heib) [1786602] - [infiniband] RDMA/srpt: Improve a debug message (Kamal Heib) [1786602] - [infiniband] RDMA/srpt: Fix handling of iWARP logins (Kamal Heib) [1786602] - [infiniband] RDMA/srpt: Fix handling of SR-IOV and iWARP ports (Kamal Heib) [1786602] - [infiniband] RDMA/srp: Make route resolving error messages more informative (Kamal Heib) [1786602] - [infiniband] RDMA/srp: Honor the max_send_sge device attribute (Kamal Heib) [1786602] - [infiniband] RDMA/srp: Remove two casts (Kamal Heib) [1786602] - [infiniband] RDMA/siw: Make node GUIDs valid EUI-64 identifiers (Kamal Heib) [1786602] - [infiniband] RDMA/iw_cxgb3: Remove the iw_cxgb3 module from kernel (Kamal Heib) [1786602] - [infiniband] RDMA/rxe: Verify modify_device mask (Kamal Heib) [1786602] - [infiniband] RDMA/core: Fix return code when modify_device isn't supported (Kamal Heib) [1786602] - [infiniband] RDMA/siw: Fix port number endianness in a debug message (Kamal Heib) [1786602] - [infiniband] RDMA/siw: Simplify several debug messages (Kamal Heib) [1786602] - [infiniband] IB/iser: remove redundant macro definitions (Kamal Heib) [1786602] - [infiniband] IB/iser: bound protection_sg size by data_sg size (Kamal Heib) [1786602] - [infiniband] IB/iser: add unlikely checks in the fast path (Kamal Heib) [1786602] - [infiniband] RDMA/counter: Prevent QP counter manual binding in auto mode (Kamal Heib) [1786602] - [kvm] KVM: SVM: Override default MMIO mask if memory encryption is enabled (Wei Huang) [1789537] - [netdrv] mlx5e: Reorder mirrer action parsing to check for encap first (Ivan Vecera) [1818074] - [tools] selftests: mlxsw: Adjust test to recent changes (Ivan Vecera) [1818074] - [netdrv] vxlan: fix unexpected failure of vxlan_changelink() (Ivan Vecera) [1818074] - [netdrv] bonding: fix lockdep warning in bond_get_stats() (Ivan Vecera) [1818074] - [netdrv] bonding: fix using uninitialized mode_lock (Ivan Vecera) [1818074] - [net] export netdev_next_lower_dev_rcu() (Ivan Vecera) [1818074] - [netdrv] bonding: add missing netdev_update_lockdep_key() (Ivan Vecera) [1818074] - [net] avoid updating qdisc_xmit_lock_key in netdev_update_lockdep_key() (Ivan Vecera) [1818074] - [include] net: fix kernel-doc warning in (Ivan Vecera) [1818074] - [net] batman-adv: Drop lockdep.h include for soft-interface.c (Ivan Vecera) [1818074] - [net] remove unnecessary variables and callback (Ivan Vecera) [1818074] - [netdrv] macsec: Fix multiple coding style issues (Ivan Vecera) [1818074] - [netdrv] vxlan: add adjacent link to limit depth level (Ivan Vecera) [1818074] - [net] core: add ignore flag to netdev_adjacent structure (Ivan Vecera) [1818074] - [netdrv] team: fix nested locking lockdep warning (Ivan Vecera) [1818074] - [netdrv] bonding: use dynamic lockdep key instead of subclass (Ivan Vecera) [1818074] - [netdrv] bonding: fix unexpected IFF_BONDING bit unset (Ivan Vecera) [1818074] - [net] core: add generic lockdep keys (Ivan Vecera) [1818074] - [net] core: limit nested device depth (Ivan Vecera) [1818074] - [net] udp: rehash on disconnect (Davide Caratti) [1817671] - [net] revert "udp: do rmem bulk free even if the rx sk queue is empty" (Davide Caratti) [1817671] - [net] udp: fix data-race in udp_set_dev_scratch() (Davide Caratti) [1817671] - [net] page_pool: refill page when alloc.count of pool is zero (Petr Oros) [1811201] - [net] page_pool: help compiler remove code in case CONFIG_NUMA=n (Petr Oros) [1811201] - [net] page_pool: handle page recycle for NUMA_NO_NODE condition (Petr Oros) [1811201] - [netdrv] mlx5e: Rx, Update page pool numa node when changed (Petr Oros) [1811201] - [net] page_pool: Don't recycle non-reusable pages (Petr Oros) [1811201] - [net] page_pool: Add API to update numa node (Petr Oros) [1811201] - [include] page_pool: extend tracepoint to also include the page PFN (Petr Oros) [1811201] - [net] page_pool: add destroy attempts counter and rename tracepoint (Petr Oros) [1811201] - [net] page_pool: remove unnecessary variable init (Petr Oros) [1811201] - [net] page_pool: fix logic in __page_pool_get_cached (Petr Oros) [1811201] - [netdrv] team: add missing attribute validation for array index (Hangbin Liu) [1816499] - [netdrv] team: add missing attribute validation for port ifindex (Hangbin Liu) [1816499] - [netdrv] team: Add vlan tx offload to hw_enc_features (Hangbin Liu) [1816499] - [netdrv] team: set slave to promisc if team is already in promisc mode (Hangbin Liu) [1816499] - [netdrv] team: Free BPF filter when unregistering netdev (Hangbin Liu) [1816499] - [netdrv] net: Remove switchdev.h inclusion from team/bond/vlan (Hangbin Liu) [1816499] - [netdrv] team: use operstate consistently for linkup (Hangbin Liu) [1816499] - [netdrv] team: avoid complex list operations in team_nl_cmd_options_set() (Hangbin Liu) [1816499] - [netdev] pass the stuck queue to the timeout handler (Ivan Vecera) [1811203] - [net] flow_dissector: extract more ICMP information (Ivan Vecera) [1795213] - [net] flow_dissector: skip the ICMP dissector for non ICMP packets (Ivan Vecera) [1795213] - [net] flow_dissector: add meaningful comments (Ivan Vecera) [1795213] - [net] vti[6]: fix packet tx through bpf_redirect() in XinY cases (Sabrina Dubroca) [1795145] - [net] xfrm interface: fix packet tx through bpf_redirect() (Sabrina Dubroca) [1795145] - [net] vti[6]: fix packet tx through bpf_redirect() (Sabrina Dubroca) [1795145] - [documentation] Clarify trap's description (Petr Oros) [1809496] - [net] devlink: Wait longer before warning about unset port type (Petr Oros) [1809496] - [documentation] Add a section for devlink-trap testing (Petr Oros) [1809496] - [tools] selftests: devlink_trap: Add test cases for devlink-trap (Petr Oros) [1809496] - [tools] selftests: forwarding: devlink_lib: Add devlink-trap helpers (Petr Oros) [1809496] - [tools] selftests: forwarding: devlink_lib: Allow tests to define devlink device (Petr Oros) [1809496] - [documentation] Add devlink-trap documentation (Petr Oros) [1809496] - [net] devlink: Add generic packet traps and groups (Petr Oros) [1809496] - [net] devlink: Add packet trap infrastructure (Petr Oros) [1809496] - [net] devlink: add warning in case driver does not set port type (Petr Oros) [1809496] - [net] devlink: remove unused devlink_port_get_phys_port_name() function (Petr Oros) [1809496] - [net] tcp: add sanity tests in tcp_add_backlog() (Guillaume Nault) [1790843] - [net] tcp: implement coalescing on backlog queue (Guillaume Nault) [1790843] - [include] tcp: make tcp_space() aware of socket backlog (Guillaume Nault) [1790843] - [net] tcp: take care of compressed acks in tcp_add_reno_sack() (Guillaume Nault) [1790843] - [include] tcp: hint compiler about sack flows (Guillaume Nault) [1790843] - [net] tcp: drop dst in tcp_add_backlog() (Guillaume Nault) [1790843] - [net] drop_monitor: Do not cancel uninitialized work item (Petr Oros) [1810114] - [net] drop_monitor: Use kstrdup (Petr Oros) [1810114] - [net] drop_monitor: Better sanitize notified packets (Petr Oros) [1810114] - [net] drop_monitor: Make timestamps y2038 safe (Petr Oros) [1810114] - [net] drop_monitor: Allow user to start monitoring hardware drops (Petr Oros) [1810114] - [net] drop_monitor: Add support for summary alert mode for hardware drops (Petr Oros) [1810114] - [net] drop_monitor: Add support for packet alert mode for hardware drops (Petr Oros) [1810114] - [net] drop_monitor: Consider all monitoring states before performing configuration (Petr Oros) [1810114] - [net] drop_monitor: Add basic infrastructure for hardware drops (Petr Oros) [1810114] - [net] drop_monitor: Initialize hardware per-CPU data (Petr Oros) [1810114] - [net] drop_monitor: Move per-CPU data init/fini to separate functions (Petr Oros) [1810114] - [maintainers] drop_monitor: Add missing uAPI file to MAINTAINERS file (Petr Oros) [1810114] - [net] drop_monitor: Expose tail drop counter (Petr Oros) [1810114] - [net] drop_monitor: Make drop queue length configurable (Petr Oros) [1810114] - [net] drop_monitor: Add a command to query current configuration (Petr Oros) [1810114] - [net] drop_monitor: Allow truncation of dropped packets (Petr Oros) [1810114] - [net] drop_monitor: Add packet alert mode (Petr Oros) [1810114] - [net] drop_monitor: Add alert mode operations (Petr Oros) [1810114] - [net] drop_monitor: Require CAP_NET_ADMIN for drop monitor configuration (Petr Oros) [1810114] - [net] drop_monitor: Reset per-CPU data before starting to trace (Petr Oros) [1810114] - [net] drop_monitor: Initialize timer and work item upon tracing enable (Petr Oros) [1810114] - [net] drop_monitor: Split tracing enable / disable to different functions (Petr Oros) [1810114] - [net] drop_monitor: Use pre_doit / post_doit hooks (Petr Oros) [1810114] - [net] drop_monitor: Add extack support (Petr Oros) [1810114] - [net] drop_monitor: Avoid multiple blank lines (Petr Oros) [1810114] - [net] drop_monitor: Document scope of spinlock (Petr Oros) [1810114] - [net] drop_monitor: Rename and document scope of mutex (Petr Oros) [1810114] - [net] drop_monitor: Use correct error code (Petr Oros) [1810114] - [net] revert "net: dev: introduce support for sch BYPASS for lockless qdisc" (Paolo Abeni) [1805983] - [net] neighbour: remove neigh_cleanup() method (Ivan Vecera) [1795285] - [include] trace: events: neigh_update: print new state in string format (Ivan Vecera) [1795285] - [net] neigh: hook tracepoints in neigh update code (Ivan Vecera) [1795285] - [net] trace: events: add a few neigh tracepoints (Ivan Vecera) [1795285] - [net] netfilter: nf_tables: add __nft_chain_type_get() (Florian Westphal) [1806888] - [net] devlink: Hang reporter's dump method on a dumpit cb (Andrea Claudi) [1804798] - [net] core: Do not clear VF index for node/port GUIDs query (Petr Oros) [1805312] - [net] core: Populate VF index in struct ifla_vf_guid (Petr Oros) [1805312] - [net] core: Add support for getting VF GUIDs (Petr Oros) [1805312] - [tools] ptp: Extend the test program to check the external time stamp flags (Petr Oros) [1795192] - [netdrv] mlx5: Reject requests to enable time stamping on both edges (Petr Oros) [1795192] - [netdrv] igb: Reject requests that fail to enable time stamping on both edges (Petr Oros) [1795192] - [netdrv] dp83640: Reject requests to enable time stamping on both edges (Petr Oros) [1795192] - [netdrv] mv88e6xxx: Reject requests to enable time stamping on both edges (Petr Oros) [1795192] - [netdrv] ptp: Introduce strict checking of external time stamp options (Petr Oros) [1795192] - [netdrv] renesas: reject unsupported external timestamp flags (Petr Oros) [1795192] - [netdrv] mlx5: reject unsupported external timestamp flags (Petr Oros) [1795192] - [netdrv] igb: reject unsupported external timestamp flags (Petr Oros) [1795192] - [netdrv] dp83640: reject unsupported external timestamp flags (Petr Oros) [1795192] - [netdrv] mv88e6xxx: reject unsupported external timestamp flags (Petr Oros) [1795192] - [netdrv] net: reject PTP periodic output requests with unsupported flags (Petr Oros) [1795192] - [ptp] Validate requests to enable time stamping of external signals (Petr Oros) [1795192] - [tools] ptp: Fix example program to match kernel (Petr Oros) [1795192] - [include] uaccess: add noop untagged_addr definition (Josef Oskera) [1805320] - [include] debugfs: Add debugfs_create_xul() for hexadecimal unsigned long (Josef Oskera) [1795286] - [documentation] debugfs: Document debugfs helper for unsigned long values (Josef Oskera) [1795286] - [net] vsock/virtio: add WARN_ON check on virtio_transport_get_ops() (Stefano Garzarella) [1692797] - [net] vsock/virtio: fix null-pointer dereference in virtio_transport_recv_listen() (Stefano Garzarella) [1692797] - [net] vsock: avoid to assign transport if its initialization fails (Stefano Garzarella) [1692797] - [misc] vsock/vmci: make vmci_vsock_cb_host_called static (Stefano Garzarella) [1692797] - [net] vsock: fix bind() behaviour taking care of CID (Stefano Garzarella) [1692797] - [net] vsock: prevent transport modules unloading (Stefano Garzarella) [1692797] - [misc] vsock/vmci: register vmci_transport only when VMCI guest/host are active (Stefano Garzarella) [1692797] - [net] vsock: add multi-transports support (Stefano Garzarella) [1692797] - [net] hv_sock: set VMADDR_CID_HOST in the hvs_remote_addr_init() (Stefano Garzarella) [1692797] - [net] vsock: move vsock_insert_unbound() in the vsock_create() (Stefano Garzarella) [1692797] - [net] vsock: add vsock_create_connected() called by transports (Stefano Garzarella) [1692797] - [net] vsock: handle buffer_size sockopts in the core (Stefano Garzarella) [1692797] - [net] vsock: add 'struct vsock_sock *' param to vsock_core_get_transport() (Stefano Garzarella) [1692797] - [net] vsock/virtio: add transport parameter to the virtio_transport_reset_no_sock() (Stefano Garzarella) [1692797] - [net] vsock: add 'transport' member in the struct vsock_sock (Stefano Garzarella) [1692797] - [kernel] vsock: remove linux/vm_sockets.h file (Stefano Garzarella) [1692797] - [net] vsock: remove vm_sockets_get_local_cid() (Stefano Garzarella) [1692797] - [net] vsock/vmci: remove unused VSOCK_DEFAULT_CONNECT_TIMEOUT (Stefano Garzarella) [1692797] - [x86] kvm: x86: clear stale x86_emulate_ctxt->intercept value (Jon Maloy) [1806817] {CVE-2020-2732} - [x86] kvm: vmx: check descriptor table exits on instruction emulation (Jon Maloy) [1806817] {CVE-2020-2732} - [x86] kvm: nvmx: Check IO instruction VM-exit conditions (Jon Maloy) [1806817] {CVE-2020-2732} - [x86] kvm: nvmx: Refactor IO bitmap checks into helper function (Jon Maloy) [1806817] {CVE-2020-2732} - [x86] kvm: nvmx: Don't emulate instructions in guest mode (Jon Maloy) [1806817] {CVE-2020-2732}- [fs] gfs2: Fix oversight in gfs2_ail1_flush (Robert S Peterson) [1724769] - [kernel] sched/uclamp: Extend sched_setattr() to support utilization clamping (Phil Auld) [1810399] - [kernel] sched/core: Further clarify sched_class::set_next_task() (Phil Auld) [1810399] - [kernel] sched/fair: Use mul_u32_u32() (Phil Auld) [1810399] - [kernel] sched/core: Simplify sched_class::pick_next_task() (Phil Auld) [1810399] - [kernel] sched/core: Optimize pick_next_task() (Phil Auld) [1810399] - [kernel] sched/core: Make pick_next_task_idle() more consistent (Phil Auld) [1810399] - [kernel] sched/fair: Better document newidle_balance() (Phil Auld) [1810399] - [kernel] sched: Fix pick_next_task() vs 'change' pattern race (Phil Auld) [1810399] - [cpufreq] cpufreq: Initialize the governors in core_initcall (Phil Auld) [1810399] - [kernel] sched/vtime: Fix guest/system mis-accounting on task switch (Phil Auld) [1810399] - [kernel] sched/fair/util_est: Implement faster ramp-up EWMA on utilization increases (Phil Auld) [1810399] - [kernel] sched/topology: Allow sched_asym_cpucapacity to be disabled (Phil Auld) [1810399] - [kernel] sched/topology: Don't try to build empty sched domains (Phil Auld) [1810399] - [kernel] sched/topology: Don't set SD_BALANCE_WAKE on cpuset domain relax (Phil Auld) [1810399] - [kernel] membarrier: Fix RCU locking bug caused by faulty merge (Phil Auld) [1810399] - [kernel] sched/core: Fix preempt_schedule() interrupt return comment (Phil Auld) [1810399] - [kernel] sched/membarrier: Return -ENOMEM to userspace on memory allocation failure (Phil Auld) [1810399] - [kernel] sched/membarrier: Skip IPIs when mm->mm_users == 1 (Phil Auld) [1810399] - [tools] selftests, sched/membarrier: Add multi-threaded test (Phil Auld) [1810399] - [kernel] sched/membarrier: Fix p->mm->membarrier_state racy load (Phil Auld) [1810399] - [include] sched/membarrier: Call sync_core only before usermode for same mm (Phil Auld) [1810399] - [kernel] sched/membarrier: Remove redundant check (Phil Auld) [1810399] - [kernel] sched/membarrier: Fix private expedited registration check (Phil Auld) [1810399] - [kernel] tasks, sched/core: RCUify the assignment of rq->curr (Phil Auld) [1810399] - [kernel] tasks, sched/core: With a grace period after finish_task_switch(), remove unnecessary code (Phil Auld) [1810399] - [kernel] tasks, sched/core: Ensure tasks are available for a grace period after leaving the runqueue (Phil Auld) [1810399] - [kernel] tasks: Add a count of task RCU users (Phil Auld) [1810399] - [include] sched/core: Convert task_struct.usage to refcount_t (Phil Auld) [1810399] - [include] sched/core: Convert vcpu_is_preempted() from macro to an inline function (Phil Auld) [1810399] - [kernel] sched/fair: Remove unused cfs_rq_clock_task() function (Phil Auld) [1810399] - [scripts] Kbuild: Handle PREEMPT_RT for version string and magic (Phil Auld) [1810399] - [kernel] sched/fair: Use rq_lock/unlock in online_fair_sched_group (Phil Auld) [1810399] - [kernel] sched: Rework pick_next_task() slow-path (Phil Auld) [1810399] - [kernel] sched: Allow put_prev_task() to drop rq->lock (Phil Auld) [1810399] - [kernel] sched/fair: Expose newidle_balance() (Phil Auld) [1810399] - [kernel] sched: Add task_struct pointer to sched_class::set_curr_task (Phil Auld) [1810399] - [kernel] sched: Rework CPU hotplug task selection (Phil Auld) [1810399] - [kernel] rcu/tree: Fix SCHED_FIFO params (Phil Auld) [1810399] - [kernel] sched: Clean up active_mm reference counting (Phil Auld) [1810399] - [kernel] sched/{rt, deadline}: Fix set_next_task vs pick_next_task (Phil Auld) [1810399] - [kernel] sched: Fix kerneldoc comment for ia64_set_curr_task (Phil Auld) [1810399] - [kernel] stop_machine: Fix stop_cpus_in_progress ordering (Phil Auld) [1810399] - [kernel] sched/psi: Reduce psimon FIFO priority (Phil Auld) [1810399] - [kernel] sched/psi: Do not require setsched permission from the trigger creator (Phil Auld) [1810399] - [x86] x86/kvm: Use CONFIG_PREEMPTION (Phil Auld) [1810399] - [x86] x86/dumpstack: Indicate PREEMPT_RT in dumps (Phil Auld) [1810399] - [x86] x86: Use CONFIG_PREEMPTION (Phil Auld) [1810399] - [kernel] kprobes: Use CONFIG_PREEMPTION (Phil Auld) [1810399] - [kernel] tracing: Use CONFIG_PREEMPTION (Phil Auld) [1810399] - [include] locking/spinlocks: Use CONFIG_PREEMPTION (Phil Auld) [1810399] - [kernel] rcu: Use CONFIG_PREEMPTION (Phil Auld) [1810399] - [kernel] sched/preempt: Use CONFIG_PREEMPTION where appropriate (Phil Auld) [1810399] - [kernel] sched/core: Prevent race condition between cpuset and __sched_setscheduler() (Phil Auld) [1810399] - [kernel] rcu/tree: Call setschedule() gp ktread to SCHED_FIFO outside of atomic region (Phil Auld) [1810399] - [kernel] cgroup/cpuset: Change cpuset_rwsem and hotplug lock order (Phil Auld) [1810399] - [kernel] cgroup/cpuset: Convert cpuset_mutex to percpu_rwsem (Phil Auld) [1810399] - [kernel] sched/deadline: Fix bandwidth accounting at all levels after offline migration (Phil Auld) [1810399] - [kernel] cpusets: Rebuild root domain deadline accounting information (Phil Auld) [1810399] - [kernel] sched/core: Streamle calls to task_rq_unlock() (Phil Auld) [1810399] - [kernel] sched/topology: Add partition_sched_domains_locked() (Phil Auld) [1810399] - [kernel] sched/stats: Fix unlikely() use of sched_info_on() (Phil Auld) [1810399] - [kernel] sched/fair: Change task_numa_work() storage to static (Phil Auld) [1810399] - [kernel] sched/fair: Move task_numa_work() init to init_numa_balancing() (Phil Auld) [1810399] - [kernel] sched/fair: Move init_numa_balancing() below task_numa_work() (Phil Auld) [1810399] - [kernel] sched/rt, Kconfig: Unbreak def/oldconfig with CONFIG_PREEMPT=y (Phil Auld) [1810399] - [kernel] sched/rt, Kconfig: Introduce CONFIG_PREEMPT_RT (Phil Auld) [1810399] - [kernel] kconfig: include kernel/Kconfig.preempt from init/Kconfig (Phil Auld) [1810399] - [kernel] sched/core: Fix preempt warning in ttwu (Phil Auld) [1810399] - [kernel] sched/core: Optimize try_to_wake_up() for local wakeups (Phil Auld) [1810399] - [kernel] sched/core: Introduce set_next_task() helper for better code readability (Phil Auld) [1810399] - [kernel] sched/fair: Don't increase sd->balance_interval on newidle balance (Phil Auld) [1810399] - [kernel] sched/fair: Clean up load_balance() condition (Phil Auld) [1810399] - [mm] mm: fix possible PMD dirty bit lost in set_pmd_migration_entry() (Rafael Aquini) [1809698] - [mm] mm, thp: fix defrag setting if newline is not used (Rafael Aquini) [1809698] - [mm] mm/migrate.c: also overwrite error when it is bigger than zero (Rafael Aquini) [1809698] - [mm] mm/mempolicy.c: fix out of bounds write in mpol_parse_str() (Rafael Aquini) [1809698] - [mm] mm: memcg/slab: call flush_memcg_workqueue() only if memcg workqueue is valid (Rafael Aquini) [1809698] - [mm] mm/page-writeback.c: avoid potential division by zero in wb_min_max_ratio() (Rafael Aquini) [1809698] - [mm] mm/gup: fix memory leak in __gup_benchmark_ioctl (Rafael Aquini) [1809698] - [mm] mm: move_pages: return valid node id in status if the page is already on the target node (Rafael Aquini) [1809698] - [mm] mm/zsmalloc.c: fix the migrated zspage statistics (Rafael Aquini) [1809698] - [mm] mm: memcg/slab: wait for !root kmem_cache refcnt killing on root kmem_cache destruction (Rafael Aquini) [1809698] - [mm] mm/mempolicy.c: check range first in queue_pages_test_walk (Rafael Aquini) [1809698] - [mm] mm/memory.c: fix a huge pud insertion race during faulting (Rafael Aquini) [1809698] - [mm] mm: move the backup x_devmap() functions to asm-generic/pgtable.h (Rafael Aquini) [1809698] - [mm] mm/rmap.c: don't reuse anon_vma if we just want a copy (Rafael Aquini) [1809698] - [mm] mm/ksm.c: don't WARN if page is still mapped in remove_stable_node() (Rafael Aquini) [1809698] - [mm] mm/page_io.c: do not free shared swap slots (Rafael Aquini) [1809698] - [mm] mm: thp: handle page cache THP correctly in PageTransCompoundMap (Rafael Aquini) [1809698] - [mm] mm/slub: fix a deadlock in show_slab_objects() (Rafael Aquini) [1809698] - [mm] mm/vmpressure.c: fix a signedness bug in vmpressure_register_event() (Rafael Aquini) [1809698] - [trace] include/trace/events/writeback.h: fix -Wstringop-truncation warnings (Rafael Aquini) [1809698] - [mm] mm/compaction.c: clear total_{migrate, free}_scanned before scanning a new zone (Rafael Aquini) [1809698] - [mm] mm/hmm: fix hmm_range_fault()'s handling of swapped out pages (Rafael Aquini) [1809698] - [mm] mm/migrate.c: initialize pud_entry in migrate_vma() (Rafael Aquini) [1809698] - [kernel] ptrace: restore smp_rmb() in __ptrace_may_access() (Rafael Aquini) [1809698] - [documentation] mm: fix Documentation/vm/hmm.rst Sphinx warnings (Rafael Aquini) [1809698] - [fs] writeback: fix inode cgroup switching comment (Rafael Aquini) [1809698] - [include] mm/page_poison: update comment after code moved (Rafael Aquini) [1809698] - [mm] mm/filemap: pass inclusive 'end_byte' parameter to filemap_range_has_page (Rafael Aquini) [1809698] - [mm] ARM: 8826/1: mm: initialize pfn limits with find_limits() (Rafael Aquini) [1809698] - [fs] mm, proc: report PR_SET_THP_DISABLE in proc (Rafael Aquini) [1809698] - [mm] mm/khugepaged: fix crashes due to misaccounted holes (Rafael Aquini) [1809698] - [include] writeback: don't decrement wb->refcnt if !wb->bdi (Rafael Aquini) [1809698] - [mm] mm/filemap.c: Use existing variable (Rafael Aquini) [1809698] - [fs] removed extra extern file_fdatawait_range (Rafael Aquini) [1809698] - [s390] Revert "s390/dasd: Disable Thin Provisioning to prevent data loss" (Philipp Rudo) [1816984] - [s390] s390/dasd: fix data corruption for thin provisioned devices (Philipp Rudo) [1816984] - [block] virtio-blk: improve virtqueue error to BLK_STS (Philipp Rudo) [1816983] - [block] virtio-blk: fix hw_queue stopped on arbitrary error (Philipp Rudo) [1816983] - [s390] s390/pkey: fix missing length of protected key on return (Philipp Rudo) [1816981] - [s390] s390/mm: fix panic in gup_fast on large pud (Philipp Rudo) [1816980]- [mmc] mmc: core: Use a minimum 1600ms timeout when enabling CACHE ctrl (Yannick Cote) [1811430] - [mmc] mmc: core: Allow BKOPS and CACHE ctrl even if no HPI support (Yannick Cote) [1811430] - [net] net/smc: keep vlan_id for SMC-R in smc_listen_work() (Philipp Rudo) [1796890] - [scripts] redhat: fix modpost.c prerequisites (Frantisek Hrbata) [1818499] - [tools] tools/power/x86/intel-speed-select: Update version (Prarit Bhargava) [1817068] - [tools] tools/power/x86/intel-speed-select: Change the order for clos disable (Prarit Bhargava) [1817068] - [tools] tools/power/x86/intel-speed-select: Fix result display for turbo-freq auto mode (Prarit Bhargava) [1817068] - [tools] tools/power/x86/intel-speed-select: Add support for core-power discovery (Prarit Bhargava) [1817068] - [netdrv] can, slip: Protect tty->disc_data in write_wakeup and close with RCU (Steve Best) [1816036] - [kernel] exit: panic before exit_mm() on global init exit (Oleg Nesterov) [1808944] - [fs] nfsd: restore NFSv3 ACL support ("J. Bruce Fields") [1815683] - [fs] nfsd4: Fix kernel crash when reading proc file reply_cache_stats ("J. Bruce Fields") [1815683] - [fs] nfsd: fix cleanup of nfsd_reply_cache_init on failure ("J. Bruce Fields") [1815683] - [fs] nfsd: note inadequate stats locking ("J. Bruce Fields") [1815683] - [fs] nfsd4: drc containerization ("J. Bruce Fields") [1815683] - [fs] nfsd: don't call nfsd_reply_cache_shutdown twice ("J. Bruce Fields") [1815683] - [fs] nfsd: knfsd must use the container user namespace ("J. Bruce Fields") [1815683] - [net] SUNRPC: rsi_parse() should use the current user namespace ("J. Bruce Fields") [1815683] - [net] SUNRPC: Fix the server AUTH_UNIX userspace mappings ("J. Bruce Fields") [1815683] - [fs] lockd: Pass the user cred from knfsd when starting the lockd server ("J. Bruce Fields") [1815683] - [net] SUNRPC: Temporary sockets should inherit the cred from their parent ("J. Bruce Fields") [1815683] - [fs] SUNRPC: Cache the process user cred in the RPC server listener ("J. Bruce Fields") [1815683] - [fs] nfsd: Allow containers to set supported nfs versions ("J. Bruce Fields") [1815683] - [fs] nfsd: Add custom rpcbind callbacks for knfsd ("J. Bruce Fields") [1815683] - [fs] SUNRPC: Allow further customisation of RPC program registration ("J. Bruce Fields") [1815683] - [net] SUNRPC: Clean up generic dispatcher code ("J. Bruce Fields") [1815683] - [fs] SUNRPC: Add a callback to initialise server requests ("J. Bruce Fields") [1815683] - [fs] SUNRPC/nfs: Fix return value for nfs4_callback_compound() ("J. Bruce Fields") [1815683] - [kernel] sched: Avoid scale real weight down to zero (Phil Auld) [1808562] - [nvme] nvme/pci: move cqe check after device shutdown (David Milburn) [1779247 1750267] - [mm] mm, slb: guarantee natural alignment for kmalloc(power-of-two) (Brian Foster) [1814964] - [tools] tools/power turbostat: Support Ice Lake server (Steve Best) [1776467] - [pinctrl] pinctrl: intel: Allow to request locked pads (Prarit Bhargava) [1783115] - [s390] s390/qeth: fix potential deadlock on workqueue flush (Philipp Rudo) [1814783] - [s390] s390/qeth: streamline control code for promisc mode (Philipp Rudo) [1814783] - [s390] scsi: zfcp: fix request object use-after-free in send path causing wrong traces (Philipp Rudo) [1814790] - [s390] s390/pci: Fix possible deadlock in recover_store() (Philipp Rudo) [1814788] - [s390] s390/pci: Recover handle in clp_set_pci_fn() (Philipp Rudo) [1814788] - [s390] scsi: zfcp: fix rport unblock if deleted SCSI devices on Scsi_Host (Philipp Rudo) [1814794] - [s390] scsi: zfcp: fix scsi_eh host reset with port_forced ERP for non-NPIV FCP devices (Philipp Rudo) [1814793] - [s390] s390/cio: fix virtio-ccw DMA without PV (Philipp Rudo) [1814787] - [s390] s390/kaslr: store KASLR offset for early dumps (Philipp Rudo) [1814781] - [mm] s390/mm: fix dynamic pagetable upgrade for hugetlbfs (Philipp Rudo) [1814779] - [char] tpm: ibmvtpm: retry on H_CLOSED in tpm_ibmvtpm_send() (Steve Best) [1808048] - [s390] s390/qeth: fix dangling IO buffers after halt/clear (Philipp Rudo) [1814782] - [virtio] virtio_ring: fix unmap of indirect descriptors (Philipp Rudo) [1797289] - [virtio] virtio_ring: fix return code on DMA mapping fails (Philipp Rudo) [1797289] - [misc] dma-mapping: zero memory returned from dma_alloc_* (Philipp Rudo) [1788928] - [platform] platform/mellanox: fix the mlx-bootctl sysfs (Alaa Hleihel) [1655714] - [platform] platform/mellanox: Add bootctl driver for Mellanox BlueField Soc (Alaa Hleihel) [1655714] - [char] tpm: ibmvtpm: Wait for buffer to be set before proceeding (Steve Best) [1815548] - [scsi] iscsi: Avoid potential deadlock in iscsi_if_rx func (Oleksandr Natalenko) [1815874] - [x86] x86/vector: Remove warning on managed interrupt migration (Peter Xu) [1812331] - [scsi] scsi: lpfc: fix spelling mistake "Notication" -> "Notification" (Dick Kennedy) [1796565] - [scsi] scsi: lpfc: add RDF registration and Link Integrity FPIN logging (Dick Kennedy) [1796565] - [uapi] scsi: fc: Update Descriptor definition and add RDF and Link Integrity FPINs (Dick Kennedy) [1796565]- [kvm] KVM: PPC: Book3S HV: Use __gfn_to_pfn_memslot in HPT page fault handler (Sam Bobroff) [1815491] - [net] tcp: also NULL skb->dev when copy was needed (Florian Westphal) [1775961] - [net] tcp: ensure skb->dev is NULL before leaving TCP stack (Florian Westphal) [1775961]- [mm] mm/memcontrol: use vmstat names for printing statistics (Waiman Long) [1793534] - [base] mm/vmstat: add helpers to get vmstat item names for each enum type (Waiman Long) [1793534] - [mm] mm/vmstat.c: assert that vmstat_text is in sync with stat_items_size (Waiman Long) [1793534] - [mm] mm: memcontrol: dump memory.stat during cgroup OOM (Waiman Long) [1793534] - [mm] mm/memcontrol.c: lost css_put in memcg_expand_shrinker_maps() (Waiman Long) [1793534] - [mm] mm: memcg/slab: fix percpu slab vmstats flushing (Waiman Long) [1793534] - [include] include/linux/memcontrol.h: fix comments based on per-node memcg (Waiman Long) [1793534] - [mm] mm: memcg: switch to css_tryget() in get_mem_cgroup_from_mm() (Waiman Long) [1793534] - [mm] mm: memcontrol: fix network errors from failing __GFP_ATOMIC charges (Waiman Long) [1793534] - [mm] mm: slab: make page_cgroup_ino() to recognize non-compound slab pages properly (Waiman Long) [1793534] - [mm] mm: memcontrol: fix NULL-ptr deref in percpu stats flush (Waiman Long) [1793534] - [mm] mm/memcontrol: update lruvec counters in mem_cgroup_move_account (Waiman Long) [1793534] - [mm] mm: memcg: get number of pages on the LRU list in memcgroup base on lru_zone_size (Waiman Long) [1793534] - [mm] mm: memcontrol: fix percpu vmstats and vmevents flush (Waiman Long) [1793534] - [mm] mm, memcg: partially revert "mm/memcontrol.c: keep local VM counters in sync with the hierarchical ones" (Waiman Long) [1793534] - [mm] mm: memcontrol: flush percpu slab vmstats on kmem offlining (Waiman Long) [1793534] - [mm] mm: memcontrol: flush percpu vmevents before releasing memcg (Waiman Long) [1793534] - [mm] mm: memcontrol: flush percpu vmstats before releasing memcg (Waiman Long) [1793534] - [mm] mm/memcontrol.c: keep local VM counters in sync with the hierarchical ones (Waiman Long) [1793534] - [mm] mm/memcontrol: fix wrong statistics in memory.stat (Waiman Long) [1793534] - [mm] mm: memcontrol: don't batch updates of local VM stats and events (Waiman Long) [1793534] - [mm] mm: memcontrol: fix NUMA round-robin reclaim at intermediate level (Waiman Long) [1793534] - [mm] mm: memcontrol: fix recursive statistics correctness & scalabilty (Waiman Long) [1793534] - [mm] mm: memcontrol: move stat/event counting functions out-of-line (Waiman Long) [1793534] - [mm] mm: memcontrol: make cgroup stats and events query API explicitly local (Waiman Long) [1793534] - [mm] mm, memcg: rename ambiguously named memory.stat counters and functions (Waiman Long) [1793534] - [mm] mm: memcontrol: quarantine the mem_cgroup_nr_lru_pages() API (Waiman Long) [1793534] - [mm] mm: memcontrol: push down mem_cgroup_nr_lru_pages() (Waiman Long) [1793534] - [mm] mm: memcontrol: push down mem_cgroup_node_nr_lru_pages() (Waiman Long) [1793534] - [mm] mm: memcontrol: replace node summing with memcg_page_state() (Waiman Long) [1793534] - [mm] mm: memcontrol: replace zone summing with lruvec_page_state() (Waiman Long) [1793534] - [include] mm: memcontrol: track LRU counts in the vmstats array (Waiman Long) [1793534] - [mm] mm: writeback: use exact memcg dirty counts (Waiman Long) [1793534] - [mm] mm: memcontrol: expose THP events on a per-memcg basis (Waiman Long) [1793534] - [mm] memcg: killed threads should not invoke memcg OOM killer (Waiman Long) [1793534] - [mm] mm, memcg: extract memcg maxable seq_file logic to seq_show_memcg_tunable (Waiman Long) [1793534] - [mm] mm, memcg: create mem_cgroup_from_seq (Waiman Long) [1793534] - [mm] mm/oom_kill.c: fix uninitialized oc->constraint (Waiman Long) [1793534] - [mm] mm, oom: add oom victim's memcg to the oom context information (Waiman Long) [1793534] - [mm] mm, oom: reorganize the oom report in dump_header (Waiman Long) [1793534] - [include] mm: Clarify the implication of adding new node stat items (Waiman Long) [1793534] - [mm] memcg: Revert "Add preemption point in accumulate_memcg_tree()" (Waiman Long) [1793534] - [base] driver core: add dev_groups to all drivers (Don Dutile) [1814347] - [tools] selftests/livepatch: Remove unused local variable in set_ftrace_enabled() (Yannick Cote) [1807115] - [tools] selftests/livepatch: Replace set_dynamic_debug() with setup_config() in README (Yannick Cote) [1807115] - [tools] selftests: livepatch: Fix it to do root uid check and skip (Yannick Cote) [1807115] - [tools] selftests/livepatch: Test interaction with ftrace_enabled (Yannick Cote) [1807115] - [tools] selftests/livepatch: Make dynamic debug setup and restore generic (Yannick Cote) [1807115] - [kernel] ftrace: Introduce PERMANENT ftrace_ops flag (Yannick Cote) [1807115] - [samples] livepatch: Handle allocation failure in the sample of shadow variable API (Yannick Cote) [1807115] - [lib] livepatch/samples/selftest: Use klp_shadow_alloc() API correctly (Yannick Cote) [1807115] - [lib] livepatch/selftest: Clean up shadow variable names and type (Yannick Cote) [1807115] - [samples] livepatch/sample: Use the right type for the leaking data pointer (Yannick Cote) [1807115] - [kernel] kprobes: Allow kprobes coexist with livepatch (Yannick Cote) [1727330 1807115] - [x86] ftrace/x86: Remove mcount() declaration (Yannick Cote) [1807115] - [tools] selftests: livepatch: add missing fragments to config (Yannick Cote) [1807115] - [lib] livepatch: Selftests of the API for tracking system state changes (Yannick Cote) [1807115] - [documentation] livepatch: Documentation of the new API for tracking system state changes (Yannick Cote) [1807115] - [kernel] livepatch: Allow to distinguish different version of system state changes (Yannick Cote) [1807115] - [kernel] livepatch: Basic API to track system state changes (Yannick Cote) [1807115] - [kernel] livepatch: Keep replaced patches until post_patch callback is called (Yannick Cote) [1807115] - [tools] selftests/livepatch: Disable the timeout (Yannick Cote) [1807115] - [kernel] livepatch: Nullify obj->mod in klp_module_coming()'s error path (Yannick Cote) [1807115] - [powerpc] livepatch: Remove klp_check_compiler_support() (Yannick Cote) [1807115] - [x86] ftrace/x86: Remove mcount support (Yannick Cote) [1807115] - [x86] ftrace/x86_32: Remove support for non DYNAMIC_FTRACE (Yannick Cote) [1807115] - [documentation] docs/livepatch: Unify style of livepatch documentation in the ReST format (Yannick Cote) [1807115] - [documentation] docs: livepatch: convert docs to ReST and rename to *.rst (Yannick Cote) [1807115] - [kernel] livepatch: Remove duplicate warning about missing reliable stacktrace support (Yannick Cote) [1807115] - [kernel] livepatch: Use static buffer for debugging messages under rq lock (Yannick Cote) [1807115] - [include] livepatch: Remove stale kobj_added entries from kernel-doc descriptions (Yannick Cote) [1807115] - [kernel] livepatch: Remove duplicated code for early initialization (Yannick Cote) [1807115] - [kernel] livepatch: Remove custom kobject state handling (Yannick Cote) [1807115] - [kernel] livepatch: Convert error about unsupported reliable stacktrace into a warning (Yannick Cote) [1807115] - [kernel] kprobes: Replace p with other pointer types (Yannick Cote) [1727330 1807115]- [drm] drm/bochs: downgrade pci_request_region failure from error to warning (Dave Airlie) [1804735] - [drm] drm/bochs: deinit bugfix (Dave Airlie) [1804735] - [fs] gfs2: fix O_EXCL|O_CREAT handling on cold dcache (Andrew Price) [1811787] - [net] esp: remove the skb from the chain when it's enqueued in cryptd_wq (Xin Long) [1807909] - [powerpc] powerpc/nvdimm: set target_node properly (Diego Domingos) [1815038]- [kernel] posix-cpu-timers: Fix two trivial comments (Prarit Bhargava) [1810244] - [kernel] hrtimer: Annotate lockless access to timer->base (Prarit Bhargava) [1810244] - [kernel] posix-cpu-timers: Fix permission check regression (Prarit Bhargava) [1810244] - [include] posix-cpu-timers: Always clear head pointer on dequeue (Prarit Bhargava) [1810244] - [kernel] hrtimer: Add a missing bracket and hide `migration_base' on !SMP (Prarit Bhargava) [1810244] - [kernel] posix-cpu-timers: Make expiry_active check actually work correctly (Prarit Bhargava) [1810244] - [include] posix-timers: Unbreak CONFIG_POSIX_TIMERS=n build (Prarit Bhargava) [1810244] - [kernel] tick: Mark sched_timer to expire in hard interrupt context (Prarit Bhargava) [1810244] - [include] posix-cpu-timers: Utilize timerqueue for storage (Prarit Bhargava) [1810244] - [include] posix-cpu-timers: Move state tracking to struct posix_cputimers (Prarit Bhargava) [1810244] - [kernel] posix-cpu-timers: Deduplicate rlimit handling (Prarit Bhargava) [1810244] - [kernel] posix-cpu-timers: Remove pointless comparisons (Prarit Bhargava) [1810244] - [kernel] posix-cpu-timers: Get rid of 64bit divisions (Prarit Bhargava) [1810244] - [kernel] posix-cpu-timers: Consolidate timer expiry further (Prarit Bhargava) [1810244] - [kernel] posix-cpu-timers: Get rid of zero checks (Prarit Bhargava) [1810244] - [kernel] rlimit: Rewrite non-sensical RLIMIT_CPU comment (Prarit Bhargava) [1810244] - [kernel] posix-cpu-timers: Respect INFINITY for hard RTTIME limit (Prarit Bhargava) [1810244] - [kernel] posix-cpu-timers: Switch thread group sampling to array (Prarit Bhargava) [1810244] - [kernel] posix-cpu-timers: Restructure expiry array (Prarit Bhargava) [1810244] - [kernel] posix-cpu-timers: Remove cputime_expires (Prarit Bhargava) [1810244] - [kernel] posix-cpu-timers: Make expiry checks array based (Prarit Bhargava) [1810244] - [kernel] posix-cpu-timers: Provide array based sample functions (Prarit Bhargava) [1810244] - [include] posix-cpu-timers: Remove the odd field rename defines (Prarit Bhargava) [1810244] - [kernel] posix-cpu-timers: Switch check_*_timers() to array cache (Prarit Bhargava) [1810244] - [kernel] posix-cpu-timers: Simplify set_process_cpu_timer() (Prarit Bhargava) [1810244] - [kernel] posix-cpu-timers: Simplify timer queueing (Prarit Bhargava) [1810244] - [kernel] posix-cpu-timers: Provide array based access to expiry cache (Prarit Bhargava) [1810244] - [kernel] posix-cpu-timers: Move expiry cache into struct posix_cputimers (Prarit Bhargava) [1810244] - [include] sched: Move struct task_cputime to types.h (Prarit Bhargava) [1810244] - [include] posix-cpu-timers: Create a container struct (Prarit Bhargava) [1810244] - [kernel] posix-cpu-timers: Move prof/virt_ticks into caller (Prarit Bhargava) [1810244] - [kernel] posix-cpu-timers: Sample task times once in expiry check (Prarit Bhargava) [1810244] - [kernel] posix-cpu-timers: Get rid of pointer indirection (Prarit Bhargava) [1810244] - [kernel] posix-cpu-timers: Simplify sample functions (Prarit Bhargava) [1810244] - [kernel] posix-cpu-timers: Remove pointless return value check (Prarit Bhargava) [1810244] - [kernel] posix-cpu-timers: Use clock ID in posix_cpu_timer_rearm() (Prarit Bhargava) [1810244] - [kernel] posix-cpu-timers: Use clock ID in posix_cpu_timer_get() (Prarit Bhargava) [1810244] - [kernel] posix-cpu-timers: Use clock ID in posix_cpu_timer_set() (Prarit Bhargava) [1810244] - [kernel] posix-cpu-timers: Consolidate thread group sample code (Prarit Bhargava) [1810244] - [kernel] posix-cpu-timers: Rename thread_group_cputimer() and make it static (Prarit Bhargava) [1810244] - [kernel] posix-cpu-timers: Sample directly in timer check (Prarit Bhargava) [1810244] - [kernel] itimers: Use quick sample function (Prarit Bhargava) [1810244] - [kernel] posix-cpu-timers: Provide quick sample function for itimer (Prarit Bhargava) [1810244] - [kernel] posix-cpu-timers: Use common permission check in posix_cpu_timer_create() (Prarit Bhargava) [1810244] - [kernel] posix-cpu-timers: Use common permission check in posix_cpu_clock_get() (Prarit Bhargava) [1810244] - [kernel] posix-cpu-timers: Provide task validation functions (Prarit Bhargava) [1810244] - [kernel] posix-cpu-timers: Remove tsk argument from run_posix_cpu_timers() (Prarit Bhargava) [1810244] - [kernel] posix-cpu-timers: Sanitize bogus WARNONS (Prarit Bhargava) [1810244] - [kernel] hrtimer: Don't take expiry_lock when timer is currently migrated (Prarit Bhargava) [1810244] - [kernel] hrtimer: Protect lockless access to timer->base (Prarit Bhargava) [1810244] - [kernel] posix-cpu-timers: Fixup stale comment (Prarit Bhargava) [1810244] - [include] alarmtimers: Avoid rtc.h include (Prarit Bhargava) [1810244] - [include] posix-timers: Cleanup forward declarations and includes (Prarit Bhargava) [1810244] - [kernel] hrtimer: Improve comments on handling priority inversion against softirq kthread (Prarit Bhargava) [1810244] - [kernel] posix-timers: Use a callback for cancel synchronization on PREEMPT_RT (Prarit Bhargava) [1810244] - [kernel] posix-timers: Move rcu_head out of it union (Prarit Bhargava) [1810244] - [kernel] posix-timers: Rework cancel retry loops (Prarit Bhargava) [1810244] - [kernel] posix-timers: Cleanup the flag/flags confusion (Prarit Bhargava) [1810244] - [kernel] itimers: Prepare for PREEMPT_RT (Prarit Bhargava) [1810244] - [fs] timerfd: Prepare for PREEMPT_RT (Prarit Bhargava) [1810244] - [kernel] alarmtimer: Prepare for PREEMPT_RT (Prarit Bhargava) [1810244] - [kernel] sched/deadline: Ensure inactive_timer runs in hardirq context (Prarit Bhargava) [1810244] - [kernel] timers: Prepare support for PREEMPT_RT (Prarit Bhargava) [1810244] - [kernel] hrtimer: Prepare support for PREEMPT_RT (Prarit Bhargava) [1810244] - [kernel] hrtimer: Determine hard/soft expiry mode for hrtimer sleepers on RT (Prarit Bhargava) [1810244] - [kernel] hrtimer: Move unmarked hrtimers to soft interrupt expiry on RT (Prarit Bhargava) [1810244] - [kernel] tick: Mark tick related hrtimers to expiry in hard interrupt context (Prarit Bhargava) [1810244] - [kvm] KVM: LAPIC: Mark hrtimer to expire in hard interrupt context (Prarit Bhargava) [1810244] - [kernel] watchdog: Mark watchdog_hrtimer to expire in hard interrupt context (Prarit Bhargava) [1810244] - [kernel] perf/core: Mark hrtimers to expire in hard interrupt context (Prarit Bhargava) [1810244] - [kernel] hrtimer: Make enqueue mode check work on RT (Prarit Bhargava) [1810244] - [kernel] sched: Mark hrtimers to expire in hard interrupt context (Prarit Bhargava) [1810244] - [staging] hrtimer/treewide: Use hrtimer_sleeper_start_expires() (Prarit Bhargava) [1810244] - [kernel] hrtimer: Provide hrtimer_sleeper_start_expires() (Prarit Bhargava) [1810244] - [kernel] hrtimer: Consolidate hrtimer_init() + hrtimer_init_sleeper() calls (Prarit Bhargava) [1810244] - [kernel] hrtimer: Remove task argument from hrtimer_init_sleeper() (Prarit Bhargava) [1810244] - [kernel] futex: Consolidate duplicated timer setup code (Prarit Bhargava) [1810244] - [kernel] posix-cpu-timers: Remove private interval storage (Prarit Bhargava) [1810244] - [kernel] posix-cpu-timers: Unbreak timer rearming (Prarit Bhargava) [1810244] - [mm] mm, slub: naive detection of double-free or freelist corruption (Rafael Aquini) [1810288] - [fs] nfs: add minor version to nfs_server_key for fscache (Dave Wysochanski) [1777097] - [edac] EDAC, mellanox: Add ECC support for BlueField DDR4 (Alaa Hleihel) [1725108] - [platform] platform/mellanox: fix potential deadlock in the tmfifo driver (Alaa Hleihel) [1655736] - [platform] platform/mellanox: Add TmFifo driver for Mellanox BlueField Soc (Alaa Hleihel) [1655736] - [mm] powerpc/pmem: Fix kernel crash due to wrong range value usage in flush_dcache_range (Steve Best) [1814279] - [mm] powerpc: Chunk calls to flush_dcache_range in arch_*_memory (Steve Best) [1814279] - [fs] cifs: fix NULL dereference in match_prepath (Leif Sahlberg) [1760879] - [fs] cifs: fail i/o on soft mounts if sessionsetup errors out (Leif Sahlberg) [1798031] - [sound] ALSA: usb-audio: set the interface format after resume on Dell WD19 (Perry Yuan) [1807965] - [fs] cifs: make sure we do not overflow the max EA buffer size (Leif Sahlberg) [1752437]- [netdrv] net/mlx5e: Don't clear the whole vf config when switching modes (mohamad meib) [1814350] - [fs] fuse: fix stack use after return (Miklos Szeredi) [1814666]- [target] scsi: Revert "target: iscsi: Wait for all commands to finish before freeing a session" (Maurizio Lombardi) [1784442] - [infiniband] scsi: Revert "RDMA/isert: Fix a recently introduced regression related to logout" (Maurizio Lombardi) [1784442] - [target] scsi: Revert "target/core: Inline transport_lun_remove_cmd()" (Maurizio Lombardi) [1784442] - [target] scsi: libfc: remove unnecessary assertion on ep variable (Maurizio Lombardi) [1784442] - [infiniband] scsi: RDMA/isert: Fix a recently introduced regression related to logout (Maurizio Lombardi) [1784442] - [target] scsi: target/iblock: Fix protection error with blocks greater than 512B (Maurizio Lombardi) [1784442] - [target] scsi: target: core: Fix a pr_debug() argument (Maurizio Lombardi) [1784442] - [target] scsi: target: iscsi: Wait for all commands to finish before freeing a session (Maurizio Lombardi) [1784442] - [target] scsi: target: core: Release SPC-2 reservations when closing a session (Maurizio Lombardi) [1784442] - [target] scsi: target: core: Document target_cmd_size_check() (Maurizio Lombardi) [1784442] - [target] scsi: target: tcmu: Prevent memory reclaim recursion (Maurizio Lombardi) [1784442] - [scsi] scsi: cxgb4i: remove set but not used variable 'ppmax' (Maurizio Lombardi) [1784442] - [target] scsi: target: remove unused extension parameters (Maurizio Lombardi) [1784442] - [target] scsi: target: fix SendTargets=All string compares (Maurizio Lombardi) [1784442] - [target] scsi: target: Remove tpg_list and se_portal_group.se_tpg_node (Maurizio Lombardi) [1784442] - [target] scsi: target: cxgbit: Fix cxgbit_fw4_ack() (Maurizio Lombardi) [1784442] - [infiniband] IB/hfi1: TID RDMA WRITE should not return IB_WC_RNR_RETRY_EXC_ERR (Kamal Heib) [1786601] - [infiniband] IB/hfi1: Calculate flow weight based on QP MTU for TID RDMA (Kamal Heib) [1786601] - [infiniband] IB/hfi1: Ensure r_tid_ack is valid before building TID RDMA ACK packet (Kamal Heib) [1786601] - [infiniband] IB/hfi1: Ensure full Gen3 speed in a Gen4 system (Kamal Heib) [1786601] - [infiniband] IB/core: Avoid deadlock during netlink message handling (Kamal Heib) [1786601] - [infiniband] RDMA/efa: Fix incorrect error print (Kamal Heib) [1786601] - [infiniband] IB/iser: Support up to 16MB data transfer in a single command (Kamal Heib) [1786601] - [infiniband] RDMA/odp: Add missing cast for 32 bit (Kamal Heib) [1786601] - [documentation] Documentation/infiniband: update name of some functions (Kamal Heib) [1786601] - [infiniband] RDMA/iwpm: Delete unnecessary checks before the macro call "dev_kfree_skb" (Kamal Heib) [1786601] - [infiniband] RDMA/efa: Use existing FIELD_SIZEOF macro (Kamal Heib) [1786601] - [infiniband] RDMA/efa: Remove umem check on dereg MR flow (Kamal Heib) [1786601] - [net] xprtrdma: Send Queue size grows after a reconnect (Kamal Heib) [1786601] - [net] xprtrdma: Clear xprt->reestablish_timeout on close (Kamal Heib) [1786601] - [net] xprtrdma: Recycle MRs after disconnect (Kamal Heib) [1786601] - [net] xprtrdma: Optimize rpcrdma_post_recvs() (Kamal Heib) [1786601] - [net] xprtrdma: Inline XDR chunk encoder functions (Kamal Heib) [1786601] - [infiniband] RDMA/core: Make invalidate_range a device operation (Kamal Heib) [1786601] - [infiniband] RDMA/odp: Use kvcalloc for the dma_list and page_list (Kamal Heib) [1786601] - [infiniband] RDMA/odp: Check for overflow when computing the umem_odp end (Kamal Heib) [1786601] - [infiniband] RDMA/odp: Provide ib_umem_odp_release() to undo the allocs (Kamal Heib) [1786601] - [infiniband] RDMA/odp: Split creating a umem_odp from ib_umem_get (Kamal Heib) [1786601] - [infiniband] RDMA/odp: Make the three ways to create a umem_odp clear (Kamal Heib) [1786601] - [infiniband] RMDA/odp: Consolidate umem_odp initialization (Kamal Heib) [1786601] - [infiniband] RDMA/odp: Make it clearer when a umem is an implicit ODP umem (Kamal Heib) [1786601] - [infiniband] RDMA/odp: Iterate over the whole rbtree directly (Kamal Heib) [1786601] - [infiniband] RDMA/odp: Use the common interval tree library instead of generic (Kamal Heib) [1786601] - [net] xprtrdma: Clean up xprt_rdma_set_connect_timeout() (Kamal Heib) [1786601] - [net] xprtrdma: Use an llist to manage free rpcrdma_reps (Kamal Heib) [1786601] - [net] xprtrdma: Remove rpcrdma_buffer::rb_mrlock (Kamal Heib) [1786601] - [net] xprtrdma: Cache free MRs in each rpcrdma_req (Kamal Heib) [1786601] - [net] xprtrdma: Ensure creating an MR does not trigger FS writeback (Kamal Heib) [1786601] - [net] xprtrdma: Move rpcrdma_mr_get out of frwr_map (Kamal Heib) [1786601] - [net] xprtrdma: Combine rpcrdma_mr_put and rpcrdma_mr_unmap_and_put (Kamal Heib) [1786601] - [net] xprtrdma: Simplify rpcrdma_mr_pop (Kamal Heib) [1786601] - [net] xprtrdma: Rename rpcrdma_buffer::rb_all (Kamal Heib) [1786601] - [net] xprtrdma: Rename CQE field in Receive trace points (Kamal Heib) [1786601] - [infiniband] RDMA: Delete DEBUG code (Kamal Heib) [1786601] - [include] xprtrdma: Boost client's max slot table size to match Linux server (Kamal Heib) [1786601] - [net] xprtrdma: Boost maximum transport header size (Kamal Heib) [1786601] - [net] xprtrdma: Fix calculation of ri_max_segs again (Kamal Heib) [1786601] - [net] xprtrdma: Update obsolete comment (Kamal Heib) [1786601] - [net] xprtrdma: Refresh the documenting comment in frwr_ops.c (Kamal Heib) [1786601] - [net] svcrdma: Use llist for managing cache of recv_ctxts (Kamal Heib) [1786601] - [net] svcrdma: Remove svc_rdma_wq (Kamal Heib) [1786601] - [infiniband] RDMA/efa: Rate limit admin queue error prints (Kamal Heib) [1786601] - [rdma] RDMA/core: Introduce ratelimited ibdev printk functions (Kamal Heib) [1786601] - [net] rdma: Enable ib_alloc_cq to spread work over a device's comp_vectors (Kamal Heib) [1786601] - [infiniband] RDMA/core: fix spelling mistake "Nelink" -> "Netlink" (Kamal Heib) [1786601] - [infiniband] net: Use skb_frag_off accessors (Kamal Heib) [1786601] - [infiniband] RDMA/efa: Expose device statistics (Kamal Heib) [1786601] - [infiniband] RDMA/core: Support netlink commands in non init_net net namespaces (Kamal Heib) [1786601] - [rdma] RDMA: Make most headers compile stand alone (Kamal Heib) [1786601] - [infiniband] RDMA/core: Annotate destroy of mutex to ensure that it is released as unlocked (Kamal Heib) [1786601] - [infiniband] net: Use skb accessors in network drivers (Kamal Heib) [1786601] - [documentation] docs: infiniband: add it to the driver-api bookset (Kamal Heib) [1786601] - [infiniband] IB/hfi1: use the new FOLL_LONGTERM flag to get_user_pages_fast() (Kamal Heib) [1786601] - [documentation] Documentation/infiniband: update from locked to pinned_vm (Kamal Heib) [1786601] - [infiniband] opa_vnic: fix check on record->event, incorrect operator used (Kamal Heib) [1786601] - [infiniband] opa_vnic: Convert vport_idr to XArray (Kamal Heib) [1786601] - [infiniband] IB/hfi1: Ensure ucast_dlid access doesnt exceed bounds (Kamal Heib) [1786601] - [infiniband] treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 157 (Kamal Heib) [1786601] - [infiniband] treewide: Add SPDX license identifier - Kbuild (Kamal Heib) [1786601] - [infiniband] mm/gup: add make_dirty arg to put_user_pages_dirty_lock() (Kamal Heib) [1786601] - [netdrv] ibmvnic: Do not process device remove during device reset (Steve Best) [1813223] - [bluetooth] Revert "Bluetooth: btusb: driver to enable the usb-wakeup feature" (Gopal Tiwari) [1811534] - [tty] serial: 8250_pci: Make PCI class test non fatal (Prarit Bhargava) [1812742] - [powercap] powercap/intel_rapl: add support for ICX-D (Steve Best) [1485067] - [char] drivers: ipmi: fix off-by-one bounds check that leads to a out-of-bounds write (Tony Camuso) [1812922] - [char] ipmi:ssif: Handle a possible NULL pointer reference (Tony Camuso) [1812922] - [char] drivers: ipmi: Modify max length of IPMB packet (Tony Camuso) [1812922] - [char] drivers: ipmi: Support raw i2c packet in IPMB (Tony Camuso) [1812922] - [char] ipmi: fix ipmb_poll()'s return type (Tony Camuso) [1812922] - [char] char: Fix Kconfig indentation, continued (Tony Camuso) [1812922] - [char] char: Fix Kconfig indentation (Tony Camuso) [1812922] - [char] ipmi: kill off 'timespec' usage again (Tony Camuso) [1812922] - [char] drivers: ipmi: Support for both IPMB Req and Resp (Tony Camuso) [1812922] - [char] ipmi: Fix memory leak in __ipmi_bmc_register (Tony Camuso) [1812922] - [char] ipmi: bt-bmc: use devm_platform_ioremap_resource() to simplify code (Tony Camuso) [1812922] - [char] ipmi: use *ph to print small buffer (Tony Camuso) [1812922] - [char] ipmi: Don't leave holes in the I2C address list in the ssif driver (Tony Camuso) [1812922] - [char] ipmi: fix return value of ipmi_set_my_LUN (Tony Camuso) [1812922] - [char] ipmi: Convert pr_xxx() to dev_xxx() in the BT code (Tony Camuso) [1812922] - [char] ipmi:dmi: Ignore IPMI SMBIOS entries with a zero base address (Tony Camuso) [1812922] - [char] ipmi_si: fix potential integer overflow on large shift (Tony Camuso) [1812922] - [char] ipmi_si_pci: fix NULL device in ipmi_si error message (Tony Camuso) [1812922] - [char] ipmi: Convert printk(KERN_ to pr_( (Tony Camuso) [1812922] - [char] pci:ipmi: Move IPMI PCI class id defines to pci_ids.h (Tony Camuso) [1812922] - [char] ipmi:powernv: Convert ipmi_smi_t to struct ipmi_smi (Tony Camuso) [1812922] - [fs] NFSv4 fix acl retrieval over krb5i/krb5p mounts (Steve Dickson) [1787627]- [fs] gfs2: Additional information when gfs2_ail1_flush withdraws (Robert S Peterson) [1752976] - [fs] gfs2: Fix lru_count going negative (Robert S Peterson) [1752976] - [fs] gfs2: allow journal replay to hold sd_log_flush_lock (Robert S Peterson) [1752976] - [fs] gfs2: don't allow releasepage to free bd still used for revokes (Robert S Peterson) [1752976] - [fs] gfs2: clean up iopen glock mess in gfs2_create_inode (Robert S Peterson) [1752976] - [fs] gfs2: flesh out delayed withdraw for gfs2_log_flush (Robert S Peterson) [1752976] - [fs] gfs2: Fix incorrect variable name (Robert S Peterson) [1752976] - [fs] gfs2: Do proper error checking for go_sync family of glops functions (Robert S Peterson) [1752976] - [fs] gfs2: Don't demote a glock until its revokes are written (Robert S Peterson) [1752976] - [fs] gfs2: drain the ail2 list after io errors (Robert S Peterson) [1752976] - [fs] gfs2: Withdraw in gfs2_ail1_flush if write_cache_pages fails (Robert S Peterson) [1752976] - [fs] gfs2: Do log_flush in gfs2_ail_empty_gl even if ail list is empty (Robert S Peterson) [1752976] - [fs] gfs2: Check for log write errors before telling dlm to unlock (Robert S Peterson) [1752976] - [fs] gfs2: Prepare to withdraw as soon as an IO error occurs in log write (Robert S Peterson) [1752976] - [fs] gfs2: Issue revokes more intelligently (Robert S Peterson) [1752976] - [fs] gfs2: Add verbose option to check_journal_clean (Robert S Peterson) [1752976] - [fs] gfs2: fix infinite loop when checking ail item count before go_inval (Robert S Peterson) [1752976] - [fs] gfs2: Force withdraw to replay journals and wait for it to finish (Robert S Peterson) [1752976] - [fs] gfs2: Allow some glocks to be used during withdraw (Robert S Peterson) [1752976] - [fs] gfs2: move check_journal_clean to util.c for future use (Robert S Peterson) [1752976] - [fs] gfs2: Ignore dlm recovery requests if gfs2 is withdrawn (Robert S Peterson) [1752976] - [fs] gfs2: Only complain the first time an io error occurs in quota or log (Robert S Peterson) [1752976] - [fs] gfs2: log error reform (Robert S Peterson) [1752976] - [fs] gfs2: Rework how rgrp buffer_heads are managed (Robert S Peterson) [1752976] - [fs] gfs2: clear ail1 list when gfs2 withdraws (Robert S Peterson) [1752976] - [fs] gfs2: Introduce concept of a pending withdraw (Robert S Peterson) [1752976] - [fs] gfs2: Return bool from gfs2_assert functions (Robert S Peterson) [1752976] - [fs] gfs2: Turn gfs2_consist into void functions (Robert S Peterson) [1752976] - [fs] gfs2: Remove usused cluster_wide arguments of gfs2_consist functions (Robert S Peterson) [1752976] - [fs] gfs2: Report errors before withdraw (Robert S Peterson) [1752976] - [fs] gfs2: Split gfs2_lm_withdraw into two functions (Robert S Peterson) [1752976] - [fs] gfs2: Fix possible fs name overflows (Robert S Peterson) [1752976] - [fs] gfs2: Remove active journal side effect from gfs2_write_log_header (Robert S Peterson) [1752976] - [fs] gfs2: Don't loop forever in gfs2_freeze if withdrawn (Robert S Peterson) [1752976] - [fs] gfs2: fix infinite loop in gfs2_ail1_flush on io error (Robert S Peterson) [1752976] - [fs] gfs2: Introduce function gfs2_withdrawn (Robert S Peterson) [1752976] - [fs] gfs2: fix glock reference problem in gfs2_trans_add_unrevoke (Robert S Peterson) [1752976] - [fs] gfs2: make gfs2_log_shutdown static (Robert S Peterson) [1752976] - [fs] gfs2: replace more printk with calls to fs_info and friends (Robert S Peterson) [1752976] - [fs] gfs2: dump fsid when dumping glock problems (Robert S Peterson) [1752976] - [fs] gfs2: simplify gfs2_freeze by removing case (Robert S Peterson) [1752976] - [fs] gfs2: Rename SDF_SHUTDOWN to SDF_WITHDRAWN (Robert S Peterson) [1752976] - [fs] gfs2: Warn when a journal replay overwrites a rgrp with buffers (Robert S Peterson) [1752976] - [fs] gfs2: log which portion of the journal is replayed (Robert S Peterson) [1752976] - [fs] gfs2: kthread and remount improvements (Robert S Peterson) [1752976] - [fs] gfs2: Fix occasional glock use-after-free (Robert S Peterson) [1752976] - [fs] gfs2: Rename sd_log_le_{revoke,ordered} (Robert S Peterson) [1724769] - [watchdog] watchdog: make nowayout sysfs file writable (David Arcari) [1802742] - [watchdog] watchdog: prevent deferral of watchdogd wakeup on RT (David Arcari) [1802742] - [watchdog] watchdog: Fix the race between the release of watchdog_core_data and cdev (David Arcari) [1802742] - [watchdog] watchdog: convert remaining drivers to use SPDX license identifier (David Arcari) [1802742] - [watchdog] watchdog: make the device time out at open_deadline when open_timeout is used (David Arcari) [1802742] - [watchdog] watchdog: introduce CONFIG_WATCHDOG_OPEN_TIMEOUT (David Arcari) [1802742] - [watchdog] watchdog: introduce watchdog.open_timeout commandline parameter (David Arcari) [1802742] - [watchdog] watchdog: let core print error message when registering device fails (David Arcari) [1802742] - [watchdog] watchdog: make watchdog_deferred_registration_add() void (David Arcari) [1802742] - [watchdog] treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 152 (David Arcari) [1802742] - [watchdog] watchdog: add error messages when initializing timeout fails (David Arcari) [1802742] - [watchdog] watchdog: refactor watchdog_init_timeout (David Arcari) [1802742] - [watchdog] watchdog: core: fix null pointer dereference when releasing cdev (David Arcari) [1802742] - [x86] x86/ioapic: Prevent inconsistent state when moving an interrupt (Prarit Bhargava) [1810236] - [x86] x86/fpu: Don't cache access to fpu_fpregs_owner_ctx (Prarit Bhargava) [1810236] - [lib] lib/ubsan: don't serialize UBSAN report (Prarit Bhargava) [1810243] - [lib] ubsan, x86: Annotate and allow __ubsan_handle_shift_out_of_bounds() in uaccess regions (Prarit Bhargava) [1810243] - [kernel] workqueue: Fix pwq ref leak in rescuer_thread() (Prarit Bhargava) [1810243] - [kernel] workqueue: Fix missing kfree(rescuer) in destroy_workqueue() (Prarit Bhargava) [1810243] - [kernel] workqueue: Fix spurious sanity check failures in destroy_workqueue() (Prarit Bhargava) [1810243] - [include] hrtimer: Add kernel doc annotation for HRTIMER_MODE_HARD (Prarit Bhargava) [1810243] - [kernel] genirq: Force interrupt threading on RT (Prarit Bhargava) [1810243] - [include] hrtimer: Introduce HARD expiry mode (Prarit Bhargava) [1810243] - [kernel] workqueue: Remove GPF argument from alloc_workqueue_attrs() (Prarit Bhargava) [1810243] - [kernel] workqueue: Make alloc/apply/free_workqueue_attrs() static (Prarit Bhargava) [1810243] - [tools] objtool: Add UACCESS validation (Prarit Bhargava) [1810243] - [tools] objtool: Handle function aliases (Prarit Bhargava) [1810243] - [lib] ubsan: build ubsan.c more conservatively (Prarit Bhargava) [1810243] - [lib] x86/uaccess, ubsan: Fix UBSAN vs. SMAP (Prarit Bhargava) [1810243] - [tools] objtool: Rewrite alt->skip_orig (Prarit Bhargava) [1810243] - [fs] dlm: Don't swamp the CPU with callbacks queued during recovery (Robert S Peterson) [1752976] - [nvme] nvmet: update AEN list and array at one place (Gopal Tiwari) [1781927] - [nvme] nvmet: Fix controller use after free (Gopal Tiwari) [1781927] - [nvme] nvmet: Fix error print message at nvmet_install_queue function (Gopal Tiwari) [1781927] - [nvme] nvme-pci: remove nvmeq->tags (Gopal Tiwari) [1781927] - [nvme] nvmet: fix dsm failure when payload does not match sgl descriptor (Gopal Tiwari) [1781927] - [nvme] nvme: hwmon: switch to use helpers (Gopal Tiwari) [1781927] - [nvme] nvmet: fix per feat data len for get_feature (Gopal Tiwari) [1781927] - [nvme] nvme/pci: Fix read queue count (Gopal Tiwari) [1781927] - [nvme] nvme/pci Limit write queue sizes to possible cpus (Gopal Tiwari) [1781927] - [nvme] nvme/pci: Fix write and poll queue types (Gopal Tiwari) [1781927] - [nvme] nvme/pci: Remove last_cq_head (Gopal Tiwari) [1781927] - [nvme] nvme: Namepace identification descriptor list is optional (Gopal Tiwari) [1781927] - [nvme] Revert "nvme: Add quirk for Kingston NVME SSD running FW E8FK11.T" (Gopal Tiwari) [1781927] - [nvme] nvme: else following return is not needed (Gopal Tiwari) [1781927] - [nvme] nvme: add error message on mismatching controller ids (Gopal Tiwari) [1781927] - [nvme] nvme_fc: add module to ops template to allow module references (Gopal Tiwari) [1781927] - [nvme] nvmet-loop: Avoid preallocating big SGL for data (Gopal Tiwari) [1781927] - [nvme] nvme-fc: Avoid preallocating big SGL for data (Gopal Tiwari) [1781927] - [nvme] nvme-rdma: Avoid preallocating big SGL for data (Gopal Tiwari) [1781927] - [nvme] nvme: hwmon: add quirk to avoid changing temperature threshold (Gopal Tiwari) [1781927] - [nvme] nvme: hwmon: provide temperature min and max values for each sensor (Gopal Tiwari) [1781927] - [nvme] nvme: Discard workaround for non-conformant devices (Gopal Tiwari) [1781927] - [nvme] nvme: Add hardware monitoring support (Gopal Tiwari) [1781927] - [nvme] nvme-multipath: fix crash in nvme_mpath_clear_ctrl_paths (Gopal Tiwari) [1781927] - [nvme] nvme-rdma: fix a segmentation fault during module unload (Gopal Tiwari) [1781927] - [nvme] nvmet: clean up command parsing a bit (Gopal Tiwari) [1781927] - [nvme] nvmet: fill discovery controller sn, fr and mn correctly (Gopal Tiwari) [1781927] - [nvme] nvmet: Open code nvmet_req_execute() (Gopal Tiwari) [1781927] - [nvme] nvmet: Remove the data_len field from the nvmet_req struct (Gopal Tiwari) [1781927] - [nvme] nvmet: add plugging for read/write when ns is bdev (Gopal Tiwari) [1781927] - [nvme] nvmet: stop using bio_set_op_attrs (Gopal Tiwari) [1781927] - [nvme] nvmet: Introduce nvmet_dsm_len() helper (Gopal Tiwari) [1781927] - [nvme] nvme-pci: Spelling s/resdicovered/rediscovered/ (Gopal Tiwari) [1781927] - [nvme] nvmet-tcp: Don't check data_len in nvmet_tcp_map_data() (Gopal Tiwari) [1781927] - [nvme] nvme: Introduce nvme_lba_to_sect() (Gopal Tiwari) [1781927] - [nvme] nvmet-tcp: Don't set the request's data_len (Gopal Tiwari) [1781927] - [nvme] nvmet: Cleanup discovery execute handlers (Gopal Tiwari) [1781927] - [nvme] nvmet-rdma: add unlikely check at nvmet_rdma_map_sgl_keyed (Gopal Tiwari) [1781927] - [nvme] nvme: Cleanup and rename nvme_block_nr() (Gopal Tiwari) [1781927] - [nvme] nvme: introduce "Command Aborted By host" status code (Gopal Tiwari) [1781927] - [nvme] nvmet: Introduce common execute function for get_log_page and identify (Gopal Tiwari) [1781927] - [nvme] nvme: move common call to nvme_cleanup_cmd to core layer (Gopal Tiwari) [1781927] - [nvme] nvmet: add unlikely check at nvmet_req_alloc_sgl (Gopal Tiwari) [1781927] - [nvme] nvme-fc: ensure association_id is cleared regardless of a Disconnect LS (Gopal Tiwari) [1781927] - [nvme] nvme-fc: clarify error messages (Gopal Tiwari) [1781927] - [nvme] nvme: introduce nvme_is_aen_req function (Gopal Tiwari) [1781927] - [nvme] nvme-fc and nvmet-fc: sync with FC-NVME-2 header changes (Gopal Tiwari) [1781927] - [nvme] nvmet: use bio_io_error instead of duplicating it (Gopal Tiwari) [1781927] - [nvme] nvme-fc: Set new cmd set indicator in nvme-fc cmnd iu (Gopal Tiwari) [1781927] - [nvme] nvme-multipath: remove unused groups_only mode in ana log (Gopal Tiwari) [1781927] - [nvme] nvme-multipath: fix possible io hang after ctrl reconnect (Gopal Tiwari) [1781927] - [nvme] nvme-tcp: fix possible leakage during error flow (Gopal Tiwari) [1781927] - [nvme] nvmet-loop: fix possible leakage during error flow (Gopal Tiwari) [1781927] - [nvme] nvme-tcp: Initialize sk->sk_ll_usec only with NET_RX_BUSY_POLL (Gopal Tiwari) [1781927] - [nvme] nvme: Wait for reset state when required (Gopal Tiwari) [1781927] - [nvme] nvme: Prevent resets during paused controller state (Gopal Tiwari) [1781927] - [nvme] nvme: Restart request timers in resetting state (Gopal Tiwari) [1781927] - [nvme] nvme: Remove ADMIN_ONLY state (Gopal Tiwari) [1781927] - [nvme] nvme-pci: Free tagset if no IO queues (Gopal Tiwari) [1781927] - [nvme] nvme: fix possible deadlock when nvme_update_formats fails (Gopal Tiwari) [1781927] - [include] nvme-fc: Sync nvme-fc header to FC-NVME-2 (Gopal Tiwari) [1781927] - [nvme] nvme: retain split access workaround for capability reads (Gopal Tiwari) [1781927] - [nvme] nvme: Move ctrl sqsize to generic space (Gopal Tiwari) [1781927] - [nvme] nvme: Add ctrl attributes for queue_count and sqsize (Gopal Tiwari) [1781927] - [nvme] nvme: allow 64-bit results in passthru commands (Gopal Tiwari) [1781927] - [nvme] nvme-rdma: Fix max_hw_sectors calculation (Gopal Tiwari) [1781927] - [nvme] Added QUIRKs for ADATA XPG SX8200 Pro 512GB (Gopal Tiwari) [1781927] - [nvme] nvme-tcp: fix wrong stop condition in io_work (Gopal Tiwari) [1781927] - [nvme] nvme: fix an error code in nvme_init_subsystem() (Gopal Tiwari) [1781927] - [nvme] nvmet-tcp: remove superflous check on request sgl (Gopal Tiwari) [1781927] - [nvme] nvme: Add quirk for Kingston NVME SSD running FW E8FK11.T (Gopal Tiwari) [1781927] - [nvme] nvme-pci: Fix a race in controller removal (Gopal Tiwari) [1781927] - [nvme] nvmet: change ppl to lpp (Gopal Tiwari) [1781927] - [nvme] nvme: add uevent variables for controller devices (Gopal Tiwari) [1781927] - [nvme] nvme: Remove redundant assignment of cq vector (Gopal Tiwari) [1781927] - [nvme] nvme: enable aen regardless of the presence of I/O queues (Gopal Tiwari) [1781927] - [nvme] nvme: send discovery log page change events to userspace (Gopal Tiwari) [1781927] - [nvme] nvme: Assign subsys instance from first ctrl (Gopal Tiwari) [1781927] - [nvme] nvmet: fix a wrong error status returned in error log page (Gopal Tiwari) [1781927] - [nvme] nvme: tcp: remove redundant assignment to variable ret (Gopal Tiwari) [1781927] - [nvme] nvme-fabrics: allow discovery subsystems accept a kato (Gopal Tiwari) [1781927] - [nvme] nvmet: Use PTR_ERR_OR_ZERO() in nvmet_init_discovery() (Gopal Tiwari) [1781927] - [nvme] nvme: Treat discovery subsystems as unique subsystems (Gopal Tiwari) [1781927] - [nvme] nvme-fc: Fail transport errors with NVME_SC_HOST_PATH (Gopal Tiwari) [1781927] - [nvme] nvme: make nvme_report_ns_ids propagate error back (Gopal Tiwari) [1781927] - [nvme] nvme: pass status to nvme_error_status (Gopal Tiwari) [1781927] - [nvme] nvme: fix ns removal hang when failing to revalidate due to a transient error (Gopal Tiwari) [1781927] - [nvme] nvme: make nvme_identify_ns propagate errors back (Gopal Tiwari) [1781927] - [nvme] nvme: fail cancelled commands with NVME_SC_HOST_PATH_ERROR (Gopal Tiwari) [1781927] - [nvme] nvme-tcp: fail command with NVME_SC_HOST_PATH_ERROR send failed (Gopal Tiwari) [1781927] - [nvme] nvme: include admin_q sync with nvme_sync_queues (Gopal Tiwari) [1781927] - [nvme] nvme-fc: Use rq_dma_dir macro (Gopal Tiwari) [1781927] - [nvme] nvme-rdma: Use rq_dma_dir macro (Gopal Tiwari) [1781927] - [nvme] nvme-rdma: Add TOS for rdma transport (Gopal Tiwari) [1781927] - [nvme] nvme-pci: Support shared tags across queues for Apple 2018 controllers (Gopal Tiwari) [1781927] - [nvme] nvme-pci: Add support for Apple 2018+ models (Gopal Tiwari) [1781927] - [nvme] nvme-pci: Add support for variable IO SQ element size (Gopal Tiwari) [1781927] - [nvme] nvme-tcp: Add TOS for tcp transport (Gopal Tiwari) [1781927] - [nvme] nvme-tcp: Use struct nvme_ctrl directly (Gopal Tiwari) [1781927] - [nvme] nvme-pci: Pass the queue to SQ_SIZE/CQ_SIZE macros (Gopal Tiwari) [1781927] - [nvme] nvmet-tcp: Add TOS for tcp transport (Gopal Tiwari) [1781927] - [nvme] nvme: trace bio completion (Gopal Tiwari) [1781927] - [nvme] nvmet-tcp: fix possible NULL deref (Gopal Tiwari) [1781927] - [nvme] nvme: tcp: selects CRYPTO_CRC32C for nvme-tcp (Gopal Tiwari) [1781927] - [nvme] nvme-fabrics: Add type of service (TOS) configuration (Gopal Tiwari) [1781927] - [nvme] nvmet: trace: parse Get LBA Status command in detail (Gopal Tiwari) [1781927] - [nvme] nvmet: fix data units read and written counters in SMART log (Gopal Tiwari) [1781927] - [nvme] nvmet-tcp: fix possible memory leak (Gopal Tiwari) [1781927] - [nvme] nvme-tcp: support simple polling (Gopal Tiwari) [1781927] - [nvme] nvme: trace: parse Get LBA Status command in detail (Gopal Tiwari) [1781927] - [include] nvme: add Get LBA Status command opcode (Gopal Tiwari) [1781927] - [nvme] nvme: move sqsize setting to the core (Gopal Tiwari) [1781927] - [nvme] nvme: don't pass cap to nvme_disable_ctrl (Gopal Tiwari) [1781927] - [nvme] nvme-pci: set ctrl sqsize to the device q_depth (Gopal Tiwari) [1781927] - [nvme] nvme-tcp: cleanup nvme_tcp_recv_pdu (Gopal Tiwari) [1781927] - [nvme] nvme: have nvme_init_identify set ctrl->cap (Gopal Tiwari) [1781927] - [nvme] nvme-tcp: Use protocol specific operations while reading socket (Gopal Tiwari) [1781927] - [nvme] nvme: Fix cntlid validation when not using NVMEoF (Gopal Tiwari) [1781927] - [infiniband] PCI/P2PDMA: Introduce pci_p2pdma_unmap_sg() (Gopal Tiwari) [1781927] - [nvme] PCI/P2PDMA: Add attrs argument to pci_p2pdma_map_sg() (Gopal Tiwari) [1781927] - [lightnvm] lightnvm: remove nvm_submit_io_sync_fn (Gopal Tiwari) [1781927] - [powerpc] xive: Discard ESB load value when interrupt is invalid (David Gibson) [1744408] - [documentation] kvm: ppc: book3s hv: xive: Allow userspace to set the # of VPs (David Gibson) [1744408] - [powerpc] kvm: ppc: book3s hv: xive: Make VP block size configurable (David Gibson) [1744408] - [powerpc] kvm: ppc: book3s hv: xive: Set kvm->arch.xive when VPs are allocated (David Gibson) [1744408] - [powerpc] kvm: ppc: book3s hv: xive: Compute the VP id in a common helper (David Gibson) [1744408] - [powerpc] xive: Implement get_irqchip_state method for XIVE to fix shutdown race (David Gibson) [1744408] - [powerpc] kvm: ppc: book3s hv: xive: Free escalation interrupts before disabling the VP (David Gibson) [1744408] - [powerpc] kvm: ppc: book3s hv: xive: Ensure VP isn't already in use (David Gibson) [1744408] - [powerpc] kvm: ppc: book3s hv: Fix regression on big endian hosts (David Gibson) [1725763] - [powerpc] 64s: Fix misleading SPR and timebase information (David Gibson) [1725763] - [powerpc] powernv: Add ultravisor message log interface (David Gibson) [1725763] - [powerpc] powernv/opal-msglog: Refactor memcons code (David Gibson) [1725763] - [powerpc] kvm: Use UV_RETURN ucall to return to ultravisor (David Gibson) [1725763] - [powerpc] powernv: Access LDBAR only if ultravisor disabled (David Gibson) [1725763] - [powerpc] powernv/idle: Fix restore of SPRN_LDBAR for POWER9 stop state (David Gibson) [1725763] - [powerpc] powernv/idle: Restore AMR/UAMOR/AMOR/IAMR after idle (David Gibson) [1725763] - [powerpc] 64s: Reimplement book3s idle code in C (David Gibson) [1725763] - [powerpc] revert "powerpc/powernv/idle: Restore IAMR after idle" (David Gibson) [1725763] - [powerpc] revert "powerpc/powernv/idle: Restore AMR/UAMOR/AMOR after idle" (David Gibson) [1725763] - [powerpc] mm: Write to PTCR only if ultravisor disabled (David Gibson) [1725763] - [powerpc] mm: Use UV_WRITE_PATE ucall to register a PATE (David Gibson) [1725763] - [powerpc] powernv: Introduce FW_FEATURE_ULTRAVISOR (David Gibson) [1725763] - [powerpc] kernel: Add ucall_norets() ultravisor call handler (David Gibson) [1725763] - [documentation] documentation/powerpc: Ultravisor API (David Gibson) [1725763] - [documentation] documentation/powerpc: Add ELF note documentation (David Gibson) [1725763] - [powerpc] Add PowerPC Capabilities ELF note (David Gibson) [1725763] - [netdrv] mlx5e: allow TSO on VXLAN over VLAN topologies (Davide Caratti) [1780643] - [net] bluetooth: Add debug setting for changing minimum encryption key size (Gopal Tiwari) [1764976] - [net] bluetooth: hidp: Let hidp_send_message return number of queued bytes (Gopal Tiwari) [1764976] - [net] bluetooth: 6lowpan: search for destination address in all peers (Gopal Tiwari) [1764976] - [net] bluetooth: 6lowpan: always check destination address (Gopal Tiwari) [1764976] - [net] bluetooth: 6lowpan: check neighbour table for SLAAC (Gopal Tiwari) [1764976] - [net] bluetooth: Add SMP workaround Microsoft Surface Precision Mouse bug (Gopal Tiwari) [1764976] - [net] bluetooth: Use controller sets when available (Gopal Tiwari) [1764976] - [net] bluetooth: l2cap: Check bearer type on __l2cap_global_chan_by_addr (Gopal Tiwari) [1764976] - [net] bluetooth: validate BLE connection interval updates (Gopal Tiwari) [1764976] - [net] bluetooth: Add support for LE ping feature (Gopal Tiwari) [1764976] - [net] bluetooth: Check state in l2cap_disconnect_rsp (Gopal Tiwari) [1764976] - [net] bluetooth: hidp: NUL terminate a string in the compat ioctl (Gopal Tiwari) [1764976] - [net] bluetooth: Ignore CC events not matching the last HCI command (Gopal Tiwari) [1764976] - [net] bluetooth: Align minimum encryption key size for LE and BR/EDR connections (Gopal Tiwari) [1764976] - [net] bluetooth: hci_core: Don't stop BT if the BD address missing in dts (Gopal Tiwari) [1764976] - [net] bluetooth: Use struct_size() helper (Gopal Tiwari) [1764976] - [net] bluetooth: Fix incorrect pointer arithmatic in ext_adv_report_evt (Gopal Tiwari) [1764976] - [net] bluetooth: hidp: fix buffer overflow (Gopal Tiwari) [1764976] - [net] bluetooth: Add return check for L2CAP security level set (Gopal Tiwari) [1764976] - [net] bluetooth: Fix not initializing L2CAP tx_credits (Gopal Tiwari) [1764976] - [net] bluetooth: Check address length before reading address field (Gopal Tiwari) [1764976] - [net] bluetooth: Add quirk for reading BD_ADDR from fwnode property (Gopal Tiwari) [1764976] - [net] bluetooth: mgmt: Use struct_size() helper (Gopal Tiwari) [1764976] - [net] bluetooth: a2mp: Use struct_size() helper (Gopal Tiwari) [1764976] - [net] bluetooth: hci_event: Use struct_size() helper (Gopal Tiwari) [1764976] - [net] bluetooth: Fix decrementing reference count twice in releasing socket (Gopal Tiwari) [1764976] - [net] bluetooth: make hw_err static, reduces object code size (Gopal Tiwari) [1764976] - [net] bluetooth: Allow driver specific cmd timeout handling (Gopal Tiwari) [1764976] - [net] bluetooth: Mark expected switch fall-throughs (Gopal Tiwari) [1764976] - [net] bluetooth: Check L2CAP option sizes returned from l2cap_get_conf_opt (Gopal Tiwari) [1764976] - [net] Bluetooth: Fix locking in bt_accept_enqueue() for BH context (Gopal Tiwari) [1764976] - [net] bluetooth: 6lowpan: Fix debugfs_simple_attr.cocci warnings (Gopal Tiwari) [1764976] - [net] bluetooth: Fix unnecessary error message for HCI request completion (Gopal Tiwari) [1764976] - [net] bluetooth: clean an indentation issue, remove extraneous space (Gopal Tiwari) [1764976] - [net] bluetooth: Change to use DEFINE_SHOW_ATTRIBUTE macro (Gopal Tiwari) [1764976] - [net] bluetooth: Remove redundant check on status (Gopal Tiwari) [1764976] - [net] bluetooth: Errata Service Release 8, Erratum 3253 (Gopal Tiwari) [1764976] - [net] bluetooth: Use separate L2CAP LE credit based connection result values (Gopal Tiwari) [1764976] - [net] rfcomm: get rid of mentioning TIOC[SG]SERIAL (Gopal Tiwari) [1764976] - [net] bluetooth: Fix debugfs NULL pointer dereference (Gopal Tiwari) [1764976] - [net] bluetooth: l2cap: Detect if remote is not able to use the whole MPS (Gopal Tiwari) [1764976] - [net] bluetooth: l2cap: Derive rx credits from MTU and MPS (Gopal Tiwari) [1764976] - [net] bluetooth: l2cap: Derive MPS from connection MTU (Gopal Tiwari) [1764976] - [net] bluetooth: Add definitions and track LE resolve list modification (Gopal Tiwari) [1764976] - [net] bluetooth: Remove unnecessary smp_mb__{before, after}_atomic (Gopal Tiwari) [1764976] - [net] bluetooth: smp: fix crash in unpairing (Gopal Tiwari) [1764976] - [net] bluetooth: smp: Fix trying to use non-existent local OOB data (Gopal Tiwari) [1764976] - [net] bluetooth: Use correct tfm to generate OOB data (Gopal Tiwari) [1764976] - [net] hidp: fix compat_ioctl (Gopal Tiwari) [1764976] - [net] hidp: constify hidp_connection_add() (Gopal Tiwari) [1764976] - [net] cmtp: fix compat_ioctl (Gopal Tiwari) [1764976] - [net] bnep: fix compat_ioctl (Gopal Tiwari) [1764976] - [net] bluetooth: Add definitions for LE set address resolution (Gopal Tiwari) [1764976] - [net] bluetooth: remove redundant variables 'adv_set' and 'cp' (Gopal Tiwari) [1764976] - [net] bluetooth: hidp: Fix handling of strncpy for hid->name information (Gopal Tiwari) [1764976] - [net] bluetooth: Add new quirk for non-persistent setup settings (Gopal Tiwari) [1764976] - [net] bluetooth: Handle ADv set terminated event (Gopal Tiwari) [1764976] - [net] bluetooth: Implement secondary advertising on different PHYs (Gopal Tiwari) [1764976] - [net] bluetooth: Implement Set ADV set random address (Gopal Tiwari) [1764976] - [net] bluetooth: Implement disable and removal of adv instance (Gopal Tiwari) [1764976] - [net] bluetooth: Use ext adv for directed adv (Gopal Tiwari) [1764976] - [net] bluetooth: Implement PHY changed event (Gopal Tiwari) [1764976] - [net] bluetooth: Handle extended ADV PDU types (Gopal Tiwari) [1764976] - [net] bluetooth: Use Set ext adv/scan rsp data if controller supports (Gopal Tiwari) [1764976] - [net] bluetooth: Impmlement extended adv enable (Gopal Tiwari) [1764976] - [net] bluetooth: Define PHY flags in hdev and set 1M as default (Gopal Tiwari) [1764976] - [net] bluetooth: Read no of adv sets during init (Gopal Tiwari) [1764976] - [net] bluetooth: Implement Get PHY Configuration mgmt command (Gopal Tiwari) [1764976] - [net] bluetooth: Use selected PHYs in extended connect (Gopal Tiwari) [1764976] - [net] bluetooth: Set Scan PHYs based on selected PHYs by user (Gopal Tiwari) [1764976] - [net] bluetooth: Implement Set PHY Confguration command (Gopal Tiwari) [1764976] - [net] bluetooth: Add defines for BREDR pkt_type (Gopal Tiwari) [1764976] - [net] bluetooth: Use lock_sock_nested in bt_accept_enqueue (Gopal Tiwari) [1764976] - [net] bluetooth: avoid killing an already killed socket (Gopal Tiwari) [1764976] - [net] bluetooth: Use extended LE Connection if supported (Gopal Tiwari) [1764976] - [net] bluetooth: Introduce helpers for le conn status and complete (Gopal Tiwari) [1764976] - [net] bluetooth: Process extended ADV report event (Gopal Tiwari) [1764976] - [net] bluetooth: Use extended scanning if controller supports (Gopal Tiwari) [1764976] - [net] bluetooth: Introduce helpers for LE set scan start and complete (Gopal Tiwari) [1764976] - [net] bluetooth: Store Resolv list size (Gopal Tiwari) [1764976] - [net] bluetooth: Add HCI command for clear Resolv list (Gopal Tiwari) [1764976] - [leds] triggers: let struct (Gopal Tiwari) [1764976] - [bluetooth] hci_qca: Skip 1 error print in device_want_to_sleep() (Gopal Tiwari) [1764976] - [bluetooth] btqca: Reset download type to default (Gopal Tiwari) [1764976] - [bluetooth] btqca: release_firmware after qca_inject_cmd_complete_event (Gopal Tiwari) [1764976] - [bluetooth] hci_qca: Send VS pre shutdown command (Gopal Tiwari) [1764976] - [bluetooth] btqca: Use correct byte format for opcode of injected command (Gopal Tiwari) [1764976] - [bluetooth] btqca: Add a short delay before downloading the NVM (Gopal Tiwari) [1764976] - [bluetooth] btusb: Fix error return code in btusb_mtk_setup_firmware() (Gopal Tiwari) [1764976] - [bluetooth] hci_qca: Use kfree_skb() instead of kfree() (Gopal Tiwari) [1764976] - [bluetooth] btusb: Add protocol support for MediaTek MT7663U USB devices (Gopal Tiwari) [1764976] - [bluetooth] btusb: Add protocol support for MediaTek MT7668U USB devices (Gopal Tiwari) [1764976] - [bluetooth] Add new 13d3:3491 QCA_ROME device (Gopal Tiwari) [1764976] - [bluetooth] Add new 13d3:3501 QCA_ROME device (Gopal Tiwari) [1764976] - [bluetooth] hci_bcsp: Fix memory leak in rx_skb (Gopal Tiwari) [1764976] - [bluetooth] btrtl: Add support for RTL8723DU (Gopal Tiwari) [1764976] - [bluetooth] btmtkuart: add an implementation for clock osc property (Gopal Tiwari) [1764976] - [bluetooth] btmtkuart: add an implementation for boot-gpios property (Gopal Tiwari) [1764976] - [bluetooth] btbcm: Add entry for BCM4359C0 UART bluetooth (Gopal Tiwari) [1764976] - [bluetooth] hci_qca: Load customized NVM based on the device property (Gopal Tiwari) [1764976] - [bluetooth] hci_mrvl: Add serdev support (Gopal Tiwari) [1764976] - [bluetooth] hci_mrvl: Wait for final ack before switching baudrate (Gopal Tiwari) [1764976] - [bluetooth] hci_ldisc: Add function to wait for characters to be sent (Gopal Tiwari) [1764976] - [bluetooth] hci_qca: wcn3990: Drop baudrate change vendor event (Gopal Tiwari) [1764976] - [bluetooth] btqca: inject command complete event during fw download (Gopal Tiwari) [1764976] - [bluetooth] Cleanup formatting and coding style (Gopal Tiwari) [1764976] - [bluetooth] btrtl: HCI reset on close for Realtek BT chip (Gopal Tiwari) [1764976] - [bluetooth] hci_ll: Refactor download_firmware (Gopal Tiwari) [1764976] - [bluetooth] hci_ll: set operational frequency earlier (Gopal Tiwari) [1764976] - [bluetooth] btsdio: Do not bind to non-removable BCM4356 (Gopal Tiwari) [1764976] - [bluetooth] hci_qca: Rename STATE_ to QCA_ (Gopal Tiwari) [1764976] - [bluetooth] btbcm: Add default address for BCM2076B1 (Gopal Tiwari) [1764976] - [bluetooth] hci_qca: Added support for WCN3998 (Gopal Tiwari) [1764976] - [bluetooth] hci_qca: Fix crash with non-serdev devices (Gopal Tiwari) [1764976] - [bluetooth] hci_qca: Give enough time to ROME controller to bootup (Gopal Tiwari) [1764976] - [bluetooth] hci_bcm: Fix empty regulator supplies for Intel Macs (Gopal Tiwari) [1764976] - [bluetooth] btbcm: Add entry for BCM2076B1 UART Bluetooth (Gopal Tiwari) [1764976] - [bluetooth] btbcm: Add default address for BCM43341B (Gopal Tiwari) [1764976] - [bluetooth] btmrvl: add support for SD8987 chipset (Gopal Tiwari) [1764976] - [bluetooth] btmtksdio: Drop newline with bt_dev logging macros (Gopal Tiwari) [1764976] - [bluetooth] btmtksdio: Fix hdev->stat.byte_rx accumulation (Gopal Tiwari) [1764976] - [bluetooth] btmtksdio: Add runtime PM support to SDIO based Bluetooth (Gopal Tiwari) [1764976] - [bluetooth] btmtksdio: Add a bit definition for CHLPCR (Gopal Tiwari) [1764976] - [bluetooth] mediatek: Fixed incorrect type in assignment (Gopal Tiwari) [1764976] - [bluetooth] hci_h5: fix spelling mistake "sliped" -> "slipped" (Gopal Tiwari) [1764976] - [bluetooth] btmtksdio: fix uninitialized symbol errors in btmtksdio_rx_packet (Gopal Tiwari) [1764976] - [bluetooth] mediatek: Use module_sdio_driver helper (Gopal Tiwari) [1764976] - [bluetooth] mediatek: add support for MediaTek MT7663S and MT7668S SDIO devices (Gopal Tiwari) [1764976] - [bluetooth] btqca: Fix misspelling of 'baudrate' (Gopal Tiwari) [1764976] - [bluetooth] hci_qca: Add helper function to get the chip family (Gopal Tiwari) [1764976] - [bluetooth] btusb: request wake pin with NOAUTOEN (Gopal Tiwari) [1764976] - [bluetooth] mediatek: add support for MediaTek MT7663U and MT7668U UART devices (Gopal Tiwari) [1764976] - [bluetooth] hci_qca: Reduce delay after sending baudrate request for WCN3990 (Gopal Tiwari) [1764976] - [bluetooth] btusb: add QCA6174A compatible properties (Gopal Tiwari) [1764976] - [bluetooth] hci_qca: Use msleep() instead of open coding it (Gopal Tiwari) [1764976] - [bluetooth] hci_qca: Add delay after power-off pulse (Gopal Tiwari) [1764976] - [bluetooth] hci_qca: Move boot delay to qca_send_power_pulse() (Gopal Tiwari) [1764976] - [bluetooth] hci_qca: Pass boolean 'on/off' to qca_send_power_pulse() (Gopal Tiwari) [1764976] - [bluetooth] btqcomsmd: use HCI_QUIRK_USE_BDADDR_PROPERTY (Gopal Tiwari) [1764976] - [bluetooth] hci_qca: Set HCI_QUIRK_USE_BDADDR_PROPERTY for wcn3990 (Gopal Tiwari) [1764976] - [bluetooth] hci_ldisc: Postpone HCI_UART_PROTO_READY bit set in hci_uart_set_proto() (Gopal Tiwari) [1764976] - [bluetooth] mediatek: update the common setup between MT7622 and other devices (Gopal Tiwari) [1764976] - [bluetooth] mediatek: pass a pointer to mtk_hci_wmt_sync (Gopal Tiwari) [1764976] - [bluetooth] mediatek: fix up an error path to restore bdev->tx_state (Gopal Tiwari) [1764976] - [bluetooth] mediatek: trivial typo fix (Gopal Tiwari) [1764976] - [bluetooth] hci_ldisc: Initialize hci_dev before open() (Gopal Tiwari) [1764976] - [bluetooth] hci_qca: Disable IBS state machine and flush Tx buffer (Gopal Tiwari) [1764976] - [bluetooth] hci_qca: Deassert RTS while baudrate change command (Gopal Tiwari) [1764976] - [bluetooth] hci_qca: use wait_until_sent() for power pulses (Gopal Tiwari) [1764976] - [bluetooth] remove redundant zero check on count (Gopal Tiwari) [1764976] - [bluetooth] btusb: Add shutdown routine for BTUSB_INTEL_NEW devices (Gopal Tiwari) [1764976] - [bluetooth] btusb: btusb_intel_cmd_timeout: use sleeping functions (Gopal Tiwari) [1764976] - [bluetooth] btrtl: Restore old logic to assume firmware is already loaded (Gopal Tiwari) [1764976] - [bluetooth] btusb: Use the cmd_timeout method to reset the Intel BT chip (Gopal Tiwari) [1764976] - [bluetooth] btmrvl: add support for sd8977 chipset (Gopal Tiwari) [1764976] - [bluetooth] btmrvl: Drop unused GPIO includes (Gopal Tiwari) [1764976] - [bluetooth] btmrvl: lower log level of informational message (Gopal Tiwari) [1764976] - [bluetooth] hci_uart: Check if socket buffer is ERR_PTR in h4_recv_buf() (Gopal Tiwari) [1764976] - [bluetooth] btmrvl: improve printk messages (Gopal Tiwari) [1764976] - [bluetooth] hci_qca: Add helper to set device address (Gopal Tiwari) [1764976] - [bluetooth] btbcm: Add entry for BCM4329B1 UART bluetooth (Gopal Tiwari) [1764976] - [bluetooth] hci_bcm: Handle specific unknown packets after firmware loading (Gopal Tiwari) [1764976] - [bluetooth] hci_h5: Turn off RTL8723BS on suspend, reprobe on resume (Gopal Tiwari) [1764976] - [bluetooth] hci_h5: Add suspend / resume ops (Gopal Tiwari) [1764976] - [bluetooth] hci_intel: clean an indentation issue, remove extraneous spaces (Gopal Tiwari) [1764976] - [bluetooth] hci_serdev: Remove setting of HCI_QUIRK_RESET_ON_CLOSE (Gopal Tiwari) [1764976] - [bluetooth] Remove unnecessary smp_mb__after_atomic() barriers (Gopal Tiwari) [1764976] - [bluetooth] hci_bcm: Add BCM20702A1 variant (Gopal Tiwari) [1764976] - [bluetooth] hci_bcm: Wait for device to come out of reset after power on (Gopal Tiwari) [1764976] - [bluetooth] hci_bcm: Add support for regulator supplies (Gopal Tiwari) [1764976] - [bluetooth] hci_bcm: Add compatible string for BCM4330 (Gopal Tiwari) [1764976] - [bluetooth] btbcm: Add default address for BCM43430A0 (Gopal Tiwari) [1764976] - [bluetooth] hci_bcm: Add support for LPO clock (Gopal Tiwari) [1764976] - [bluetooth] hci_bcm: Use "txco" and "extclk" to get clock reference (Gopal Tiwari) [1764976] - [bluetooth] hci_bcm: Simplify clk_get error handling (Gopal Tiwari) [1764976] - [bluetooth] hci_bcm: Handle deferred probing for the clock supply (Gopal Tiwari) [1764976] - [bluetooth] hci_qca: Add support for controller debug logs (Gopal Tiwari) [1764976] - [bluetooth] btusb: Add support for 0cf3:535b QCA_ROME device (Gopal Tiwari) [1764976] - [bluetooth] btsdio: Do not bind to non-removable BCM43430 (Gopal Tiwari) [1764976] - [bluetooth] ath3k: add more information to error message (Gopal Tiwari) [1764976] - [bluetooth] bt3c_cs: Fix obsolete function (Gopal Tiwari) [1764976] - [bluetooth] btrsi: fix bt tx timeout issue (Gopal Tiwari) [1764976] - [bluetooth] btbcm: Add entry for BCM4335C0 UART bluetooth (Gopal Tiwari) [1764976] - [bluetooth] btrtl: Add support for RTL8822C with USB interface (Gopal Tiwari) [1764976] - [bluetooth] hci_serdev: Fixed error space required before open paranethesis (Gopal Tiwari) [1764976] - [bluetooth] hci_qca: Add poweroff support during hci down for wcn3990 (Gopal Tiwari) [1764976] - [bluetooth] btusb: Add quirk for BTUSB_INTEL_NEW (Gopal Tiwari) [1764976] - [bluetooth] btrtl: Make array extension_sig static, shrinks object size (Gopal Tiwari) [1764976] - [bluetooth] hci_qca: Remove serdev_device_open/close function calls (Gopal Tiwari) [1764976] - [bluetooth] hci_qca: Remove hdev dereference in qca_close() (Gopal Tiwari) [1764976] - [bluetooth] hci_serdev: clear HCI_UART_PROTO_READY to avoid closing proto races (Gopal Tiwari) [1764976] - [bluetooth] hci_serdev: Add protocol check in hci_uart_dequeue() (Gopal Tiwari) [1764976] - [bluetooth] hci_ldisc: Free rw_semaphore on close (Gopal Tiwari) [1764976] - [bluetooth] mediatek: Fix memory leak (Gopal Tiwari) [1764976] - [bluetooth] Make BT_HCIUART_RTL configuration option depend on ACPI (Gopal Tiwari) [1764976] - [bluetooth] mediatek: pass correct size to h4_recv_buf() (Gopal Tiwari) [1764976] - [bluetooth] Introduce BT_HCIUART_RTL configuration option (Gopal Tiwari) [1764976] - [bluetooth] mediatek: Add protocol support for MediaTek serial devices (Gopal Tiwari) [1764976] - [bluetooth] btqca: Introduce HCI_EV_VENDOR and use it (Gopal Tiwari) [1764976] - [bluetooth] h5: Fix missing dependency on BT_HCIUART_SERDEV (Gopal Tiwari) [1764976] - [bluetooth] hci_qca: Add support for Qualcomm Bluetooth chip wcn3990 (Gopal Tiwari) [1764976] - [bluetooth] hci_qca: Enable 3.2 Mbps operating speed (Gopal Tiwari) [1764976] - [bluetooth] hci_qca: Add wrapper functions for setting UART speed (Gopal Tiwari) [1764976] - [bluetooth] btqca: Add wcn3990 firmware download support (Gopal Tiwari) [1764976] - [bluetooth] btqca: Redefine qca_uart_setup() to generic function (Gopal Tiwari) [1764976] - [bluetooth] btqca: Rename ROME specific functions to generic functions (Gopal Tiwari) [1764976] - [bluetooth] hci_h5: Add support for enable and device-wake GPIOs (Gopal Tiwari) [1764976] - [bluetooth] hci_h5: Add support for the RTL8723BS (Gopal Tiwari) [1764976] - [bluetooth] hci_h5: Add vendor setup, open, and close callbacks (Gopal Tiwari) [1764976] - [bluetooth] hci_h5: Add support for serdev enumerated devices (Gopal Tiwari) [1764976] - [bluetooth] btrtl: add support for retrieving the UART settings (Gopal Tiwari) [1764976] - [bluetooth] btrtl: Use rtl_dev_err and rtl_dev_info (Gopal Tiwari) [1764976] - [bluetooth] btrtl: Add support for a config filename postfix (Gopal Tiwari) [1764976] - [bluetooth] btrtl: add support for the RTL8723BS and RTL8723DS chips (Gopal Tiwari) [1764976] - [bluetooth] btrtl: add MODULE_FIRMWARE declarations (Gopal Tiwari) [1764976] - [bluetooth] btrtl: split the device initialization into smaller parts (Gopal Tiwari) [1764976] - [bluetooth] btusb: Release RF resource on BT shutdown (Gopal Tiwari) [1764976] - [bluetooth] hci_qca: Replace GFP_ATOMIC with GFP_KERNEL (Gopal Tiwari) [1764976] - [bluetooth] hci_intel: Replace GFP_ATOMIC with GFP_KERNEL in inject_cmd_complete() (Gopal Tiwari) [1764976] - [bluetooth] btusb: Replace GFP_ATOMIC with GFP_KERNEL in inject_cmd_complete() (Gopal Tiwari) [1764976] - [bluetooth] bfusb: Replace GFP_ATOMIC with GFP_KERNEL in bfusb_send_frame() (Gopal Tiwari) [1764976] - [bluetooth] bluecard_cs: Replace GFP_ATOMIC with GFP_KERNEL in bluecard_hci_set_baud_rate() (Gopal Tiwari) [1764976] - [bluetooth] bpa10x: Replace GFP_ATOMIC with GFP_KERNEL in bpa10x_send_frame() (Gopal Tiwari) [1764976] - [bluetooth] btmrvl_sdio: Replace GFP_ATOMIC with GFP_KERNEL in btmrvl_sdio_card_to_host() (Gopal Tiwari) [1764976] - [bluetooth] btusb: use irqsave() in URB's complete callback (Gopal Tiwari) [1764976] - [bluetooth] Add a new Realtek 8723DE ID 0bda:b009 (Gopal Tiwari) [1764976]- Revert "[redhat] switch secureboot kernel image signing to release keys" (Frantisek Hrbata) - [powerpc] powerpc/pseries: Avoid NULL pointer dereference when drmem is unavailable (David Hildenbrand) [1812874] - [x86] kvm/svm: PKU not currently supported (Wei Huang) [1789159] - [x86] Remove the unsupported check for Cooper Lake (David Arcari) [1813921]- [netdrv] net/mlx5e: Show/set Rx network flow classification rules on ul rep (Alaa Hleihel) [1795156 1794280] - [netdrv] net/mlx5e: Init ethtool steering for representors (Alaa Hleihel) [1795156 1794280] - [netdrv] net/mlx5e: Show/set Rx flow indir table and RSS hash key on ul rep (Alaa Hleihel) [1795156 1794280] - [netdrv] net/mlx5e: Introduce root ft concept for representors netdevs (Alaa Hleihel) [1795156 1794280] - [netdrv] net/mlx5: E-Switch, Use vport metadata matching only when mandatory (Alaa Hleihel) [1795156] - [nvme] nvme: log additional message for controller status (David Milburn) [1752952]- [powerpc] powerpc: fix hardware PMU exception bug on PowerVM compatibility mode systems (Desnes Augusto Nunes do Rosario) [1755221] - [mm] powerpc/book3s64/radix: Remove WARN_ON in destroy_context() (Steve Best) [1812821] - [kernel] rcutorture: Upper case solves the case of the vanishing NULL pointer (Waiman Long) [1810247] - [tools] torture: Suppress propagating trace_printk() warning (Waiman Long) [1810247] - [kernel] rcutorture: Dump trace buffer for callback pipe drain failures (Waiman Long) [1810247] - [tools] torture: Add --trust-make to suppress "make clean" (Waiman Long) [1810247] - [tools] torture: Make --cpus override idleness calculations (Waiman Long) [1810247] - [tools] torture: Run kernel build in source directory (Waiman Long) [1810247] - [tools] torture: Add function graph-tracing cheat sheet (Waiman Long) [1810247] - [tools] torture: Capture qemu output (Waiman Long) [1810247] - [tools] rcutorture: Tweak kvm options (Waiman Long) [1810247] - [kernel] rcutorture: Add trivial RCU implementation (Waiman Long) [1810247] - [kernel] rcutorture: Halt forward-progress checks at end of run (Waiman Long) [1810247] - [kernel] rcutorture: Give the scheduler a chance on PREEMPT && NO_HZ_FULL kernels (Waiman Long) [1810247] - [tools] rcutorture: Exempt TREE01 from forward-progress testing (Waiman Long) [1810247] - [kernel] rcutorture: Exempt tasks RCU from timely draining of grace periods (Waiman Long) [1810247] - [tools] rcutorture: Provide rudimentary Makefile (Waiman Long) [1810247] - [tools] torture: Make kvm-find-errors.sh and kvm-recheck.sh provide exit status (Waiman Long) [1810247] - [kernel] torture: Allow inter-stutter interval to be specified (Waiman Long) [1810247] - [kernel] rcutorture: Fix stutter_wait() return value and freelist checks (Waiman Long) [1810247] - [kernel] rcutorture: Add cond_resched() to forward-progress free-up loop (Waiman Long) [1810247] - [tools] rcutorture: Add cpu0 to the set of CPUs to add jitter (Waiman Long) [1810247] - [tools] rcutorture: Select from only online CPUs (Waiman Long) [1810247] - [kernel] rcu/sync: Simplify the state machine (Waiman Long) [1810247] - [kernel] locking/percpu-rwsem: Add DEFINE_PERCPU_RWSEM(), use it to initialize cgroup_threadgroup_rwsem (Waiman Long) [1810247] - [kernel] rcu/sync: Kill rcu_sync_type/gp_type (Waiman Long) [1810247] - [kernel] rcu: Make __call_srcu static (Waiman Long) [1810247] - [kernel] rcu: Upgrade sync_exp_work_done() to smp_mb() (Waiman Long) [1810247] - [documentation] doc: Remove ".vnet" from paulmck email addresses (Waiman Long) [1810247] - [kernel] rcu: Set a maximum limit for back-to-back callback invocation (Waiman Long) [1810247] - [kernel] rcu: Correctly unlock root node in rcu_check_gp_start_stall() (Waiman Long) [1810247] - [kernel] rcu: Dump specified number of blocked tasks (Waiman Long) [1810247] - [kernel] rcu: Remove unused rdp local from synchronize_rcu_expedited() (Waiman Long) [1810247] - [kernel] rcu: Rename rcu_data's ->deferred_qs to ->exp_deferred_qs (Waiman Long) [1810247] - [kernel] rcu: Add checks for dynticks counters in rcu_is_cpu_rrupt_from_idle() (Waiman Long) [1810247] - [kernel] rcu: Avoid self-IPI in sync_sched_exp_online_cleanup() (Waiman Long) [1810247] - [kernel] rcu: Avoid self-IPI in sync_rcu_exp_select_node_cpus() (Waiman Long) [1810247] - [kernel] rcu: Inline invoke_rcu_callbacks() into its sole remaining caller (Waiman Long) [1810247] - [kernel] rcu: Use irq_work to get scheduler's attention in clean context (Waiman Long) [1810247] - [kernel] rcu: Allow rcu_read_unlock_special() to raise_softirq() if in_irq() (Waiman Long) [1810247] - [kernel] rcu: Only do rcu_read_unlock_special() wakeups if expedited (Waiman Long) [1810247] - [kernel] rcu: Check for wakeup-safe conditions in rcu_read_unlock_special() (Waiman Long) [1810247] - [kernel] rcu: Enable elimination of Tree-RCU softirq processing (Waiman Long) [1810247] - [kernel] rcuperf: Fix cleanup path for invalid perf_type strings (Waiman Long) [1810247] - [kernel] rcutorture: Fix cleanup path for invalid torture_type strings (Waiman Long) [1810247] - [kernel] rcutorture: Fix expected forward progress duration in OOM notifier (Waiman Long) [1810247] - [kernel] rcutorture: Remove ->ext_irq_conflict field (Waiman Long) [1810247] - [kernel] rcutorture: Make rcutorture_extend_mask() comment match the code (Waiman Long) [1810247] - [tools] tools/.../rcutorture: Convert to SPDX license identifier (Waiman Long) [1810247] - [kernel] torture: Don't try to offline the last CPU (Waiman Long) [1810247] - [kernel] rcu: Fix nohz status in stall warning (Waiman Long) [1810247] - [kernel] rcu: Move forward-progress checkers into tree_stall.h (Waiman Long) [1810247] - [kernel] rcu: Move irq-disabled stall-warning checking to tree_stall.h (Waiman Long) [1810247] - [kernel] rcu: Organize functions in tree_stall.h (Waiman Long) [1810247] - [kernel] rcu: Move FAST_NO_HZ stall-warning code to tree_stall.h (Waiman Long) [1810247] - [kernel] rcu: Inline RCU stall-warning info helper functions (Waiman Long) [1810247] - [kernel] rcu: Move rcu_print_task_exp_stall() to tree_exp.h (Waiman Long) [1810247] - [kernel] rcu: Inline RCU task stall-warning helper functions (Waiman Long) [1810247] - [kernel] rcu: Move RCU CPU stall-warning code out of tree.c (Waiman Long) [1810247] - [kernel] rcu: Move RCU CPU stall-warning code out of tree_plugin.h (Waiman Long) [1810247] - [kernel] rcu: Move RCU CPU stall-warning code out of update.c (Waiman Long) [1810247] - [kernel] srcu: Remove cleanup_srcu_struct_quiesced() (Waiman Long) [1810247] - [kernel] srcu: Check for in-flight callbacks in _cleanup_srcu_struct() (Waiman Long) [1810247] - [kernel] rcu: Correct READ_ONCE()/WRITE_ONCE() for ->rcu_read_unlock_special (Waiman Long) [1810247] - [kernel] rcu: Fix typo in tree_exp.h comment (Waiman Long) [1810247] - [kernel] rcu: Eliminate redundant NULL-pointer check (Waiman Long) [1810247] - [kernel] rcu: Fix force_qs_rnp() header comment (Waiman Long) [1810247] - [kernel] rcu: Update jiffies_to_sched_qs and adjust_jiffies_till_sched_qs() comments (Waiman Long) [1810247] - [kernel] rcu: Do a single rhp->func read in rcu_head_after_call_rcu() (Waiman Long) [1810247] - [kernel] rcu: Default jiffies_to_sched_qs to jiffies_till_sched_qs (Waiman Long) [1810247] - [kernel] rcu: Fix self-wakeups for grace-period kthread (Waiman Long) [1810247] - [kernel] rcu: Report error for bad rcu_nocbs= parameter values (Waiman Long) [1810247] - [kernel] rcu: Allow rcu_nocbs= to specify all CPUs (Waiman Long) [1810247] - [kernel] rcu: Move common code out of if-else block (Waiman Long) [1810247] - [kernel] rcu: Set rcutree.kthread_prio sysfs access to read-only (Waiman Long) [1810247] - [kernel] rcu: Make exit_rcu() handle non-preempted RCU readers (Waiman Long) [1810247] - [kernel] rcu: rcu_qs -- Use raise_softirq_irqoff to not save irqs twice (Waiman Long) [1810247] - [kernel] rcu: Avoid unnecessary softirq when system is idle (Waiman Long) [1810247] - [kernel] rcu: Unconditionally expedite during suspend/hibernate (Waiman Long) [1810247] - [kernel] rcu/tree: Convert to SPDX license identifier (Waiman Long) [1810247] - [kernel] srcu: Remove srcu_queue_delayed_work_on() (Waiman Long) [1810247] - [kernel] sched/fair: Define sched_idle_cpu() only for SMP configurations (Phil Auld) [1419746] - [kernel] sched/fair: Load balance aggressively for SCHED_IDLE CPUs (Phil Auld) [1419746] - [kernel] sched/fair : Improve update_sd_pick_busiest for spare capacity case (Phil Auld) [1419746] - [kernel] sched/fair: Fix find_idlest_group() to handle CPU affinity (Phil Auld) [1419746] - [kernel] sched/cfs: fix spurious active migration (Phil Auld) [1419746] - [kernel] sched/fair: Add comments for group_type and balancing at SD_NUMA level (Phil Auld) [1419746] - [kernel] sched/fair: Fix rework of find_idlest_group() (Phil Auld) [1419746] - [kernel] sched/fair: Rework find_idlest_group() (Phil Auld) [1419746] - [kernel] sched/fair: Optimize find_idlest_group() (Phil Auld) [1419746] - [kernel] sched/fair: Use load instead of runnable load in wakeup path (Phil Auld) [1419746] - [kernel] sched/fair: Use utilization to select misfit task (Phil Auld) [1419746] - [kernel] sched/fair: Spread out tasks evenly when not overloaded (Phil Auld) [1419746] - [kernel] sched/fair: Use load instead of runnable load in load_balance() (Phil Auld) [1419746] - [kernel] sched/fair: Use rq->nr_running when balancing load (Phil Auld) [1419746] - [kernel] sched/fair: Rework load_balance() (Phil Auld) [1419746] - [kernel] sched/fair: Remove meaningless imbalance calculation (Phil Auld) [1419746] - [kernel] sched/fair: Rename sg_lb_stats::sum_nr_running to sum_h_nr_running (Phil Auld) [1419746] - [kernel] sched/fair: Clean up asym packing (Phil Auld) [1419746] - [kernel] sched/fair: Fall back to sched-idle CPU if idle CPU isn't found (Phil Auld) [1419746] - [kernel] sched/fair: Start tracking SCHED_IDLE tasks count in cfs_rq (Phil Auld) [1419746] - [kernel] sched/core: Allow sched_setattr() to use the current policy (Phil Auld) [1419746] - [kernel] sched/fair: Introduce fits_capacity() (Phil Auld) [1419746] - [kernel] sched/core: Provide a pointer to the valid CPU mask (Phil Auld) [1419746] - [x86] x86/percpu: Optimize raw_cpu_xchg() (Phil Auld) [1419746] - [kernel] x86/percpu, sched/fair: Avoid local_clock() (Phil Auld) [1419746] - [x86] x86/percpu, x86/irq: Relax {set,get}_irq_regs() (Phil Auld) [1419746] - [x86] x86/percpu: Relax smp_processor_id() (Phil Auld) [1419746] - [x86] x86/percpu: Differentiate this_cpu_{}() and __this_cpu_{}() (Phil Auld) [1419746] - [kernel] sched/fair: Fix unnecessary increase of balance interval (Phil Auld) [1419746] - [kernel] sched/fair: Trigger asym_packing during idle load balance (Phil Auld) [1419746] - [kernel] sched/fair: Fix rounding bug for asym packing (Phil Auld) [1419746] - [kernel] sched/fair: Fix warning on non-SMP build (Phil Auld) [1419746] - [kernel] sched/core: Create task_has_idle_policy() helper (Phil Auld) [1419746] - [firmware] efi: fix a mistype in comments mentioning efivar_entry_iter_begin() (Vladis Dronov) [1804417] - [firmware] efi: add a sanity check to efivar_store_raw() (Vladis Dronov) [1804417] - [firmware] efi: fix a race and a buffer overflow while reading efivars via sysfs (Vladis Dronov) [1804417] - [scsi] scsi: ibmvfc: Fix NULL return compiler warning (Steve Best) [1810653] - [scsi] scsi: ibmvfc: Avoid loss of all paths during SVC node reboot (Steve Best) [1810653] - [fs] xfs: fix some memory leaks in log recovery (Bill O'Donnell) [1765693] - [fs] xfs: Fix deadlock between AGI and AGF when target_ip exists in xfs_rename() (Bill O'Donnell) [1765693] - [fs] xfs: fix inode fork extent count overflow (Bill O'Donnell) [1765693] - [fs] xfs: change the seconds fields in xfs_bulkstat to signed (Bill O'Donnell) [1765693] - [fs] xfs: assure zeroed memory buffers for certain kmem allocations (Bill O'Donnell) [1765693] - [fs] xfs: removed unused error variable from xchk_refcountbt_rec (Bill O'Donnell) [1765693] - [fs] xfs: remove unused flags arg from xfs_get_aghdr_buf() (Bill O'Donnell) [1765693] - [fs] xfs: Fix tail rounding in xfs_alloc_file_space() (Bill O'Donnell) [1765693] - [fs] xfs: remove unlikely() from WARN_ON() condition (Bill O'Donnell) [1765693] - [fs] xfs: avoid unused to_mp() function warning (Bill O'Donnell) [1765693] - [fs] xfs: log proper length of superblock (Bill O'Donnell) [1765693] - [fs] xfs: revert 1baa2800e62d ("xfs: remove the unused XFS_ALLOC_USERDATA flag") (Bill O'Donnell) [1765693] - [fs] xfs: removed unneeded variable (Bill O'Donnell) [1765693] - [fs] xfs: push the grant head when the log head moves forward (Bill O'Donnell) [1765693] - [fs] xfs: push iclog state cleaning into xlog_state_clean_log (Bill O'Donnell) [1765693] - [fs] xfs: factor iclog state processing out of xlog_state_do_callback() (Bill O'Donnell) [1765693] - [fs] xfs: factor callbacks out of xlog_state_do_callback() (Bill O'Donnell) [1765693] - [fs] xfs: factor debug code out of xlog_state_do_callback() (Bill O'Donnell) [1765693] - [fs] xfs: prevent CIL push holdoff in log recovery (Bill O'Donnell) [1765693] - [fs] xfs: fix missed wakeup on l_flush_wait (Bill O'Donnell) [1765693] - [fs] xfs: push the AIL in xlog_grant_head_wake (Bill O'Donnell) [1765693] - [fs] xfs: Use WARN_ON_ONCE for bailout mount-operation (Bill O'Donnell) [1765693] - [fs] xfs: define a flags field for the AG geometry ioctl structure (Bill O'Donnell) [1765693] - [fs] xfs: add a xfs_valid_startblock helper (Bill O'Donnell) [1765693] - [fs] xfs: remove the unused XFS_ALLOC_USERDATA flag (Bill O'Donnell) [1765693] - [fs] xfs: cleanup xfs_fsb_to_db (Bill O'Donnell) [1765693] - [fs] xfs: fix the dax supported check in xfs_ioctl_setattr_dax_invalidate (Bill O'Donnell) [1765693] - [fs] xfs: Fix stale data exposure when readahead races with hole punch (Bill O'Donnell) [1765693] - [mm] fs: Export generic_fadvise() (Bill O'Donnell) [1765693] - [fs] xfs: reverse search directory freespace indexes (Bill O'Donnell) [1765693] - [fs] xfs: speed up directory bestfree block scanning (Bill O'Donnell) [1765693] - [fs] xfs: factor free block index lookup from xfs_dir2_node_addname_int() (Bill O'Donnell) [1765693] - [fs] xfs: factor data block addition from xfs_dir2_node_addname_int() (Bill O'Donnell) [1765693] - [fs] xfs: move xfs_dir2_addname() (Bill O'Donnell) [1765693] - [fs] xfs: remove all *_ITER_CONTINUE values (Bill O'Donnell) [1765693] - [fs] xfs: remove all *_ITER_ABORT values (Bill O'Donnell) [1765693] - [fs] xfs: log proper length of btree block in scrub/repair (Bill O'Donnell) [1765693] - [fs] xfs: reinitialize rm_flags when unpacking an offset into an rmap irec (Bill O'Donnell) [1765693] - [fs] xfs: remove unnecessary int returns from deferred bmap functions (Bill O'Donnell) [1765693] - [fs] xfs: remove unnecessary int returns from deferred refcount functions (Bill O'Donnell) [1765693] - [fs] xfs: remove unnecessary int returns from deferred rmap functions (Bill O'Donnell) [1765693] - [fs] xfs: remove unnecessary parameter from xfs_iext_inc_seq (Bill O'Donnell) [1765693] - [fs] xfs: fix sign handling problem in xfs_bmbt_diff_two_keys (Bill O'Donnell) [1765693] - [fs] xfs: don't return _QUERY_ABORT from xfs_rmap_has_other_keys (Bill O'Donnell) [1765693] - [fs] xfs: fix maxicount division by zero error (Bill O'Donnell) [1765693] - [fs] xfs: bmap scrub should only scrub records once (Bill O'Donnell) [1765693] - [fs] xfs: remove excess function parameter description in 'xfs_btree_sblock_v5hdr_verify' (Bill O'Donnell) [1765693] - [fs] fs: xfs: Remove KM_NOSLEEP and KM_SLEEP (Bill O'Donnell) [1765693] - [fs] fs/xfs: Fix return code of xfs_break_leased_layouts() (Bill O'Donnell) [1765693] - [fs] xfs: compat_ioctl: use compat_ptr() (Bill O'Donnell) [1765693] - [fs] xfs: fall back to native ioctls for unhandled compat ones (Bill O'Donnell) [1765693] - [fs] xfs: remove more ondisk directory corruption asserts (Bill O'Donnell) [1765693] - [fs] fs: xfs: xfs_log: Don't use KM_MAYFAIL at xfs_log_reserve() (Bill O'Donnell) [1765693] - [fs] xfs: Fix possible null-pointer dereferences in xchk_da_btree_block_check_sibling() (Bill O'Donnell) [1765693] - [fs] xfs: fix stack contents leakage in the v1 inumber ioctls (Bill O'Donnell) [1765693] - [fs] xfs: sync up xfs_trans_inode with userspace (Bill O'Donnell) [1765693] - [fs] xfs: move xfs_trans_inode.c to libxfs/ (Bill O'Donnell) [1765693] - [fs] xfs: chain bios the right way around in xfs_rw_bdev (Bill O'Donnell) [1765693] - [fs] xfs: bump INUMBERS cursor correctly in xfs_inumbers_walk (Bill O'Donnell) [1765693] - [fs] xfs: don't update lastino for FSBULKSTAT_SINGLE (Bill O'Donnell) [1765693] - [fs] xfs: online scrub needn't bother zeroing its temporary buffer (Bill O'Donnell) [1765693] - [fs] xfs: only allocate memory for scrubbing attributes when we need it (Bill O'Donnell) [1765693] - [fs] xfs: refactor attr scrub memory allocation function (Bill O'Donnell) [1765693] - [fs] xfs: refactor extended attribute buffer pointer functions (Bill O'Donnell) [1765693] - [fs] xfs: attribute scrub should use seen_enough to pass error values (Bill O'Donnell) [1765693] - [fs] xfs: allow single bulkstat of special inodes (Bill O'Donnell) [1765693] - [fs] xfs: specify AG in bulk req (Bill O'Donnell) [1765693] - [fs] xfs: wire up the v5 inumbers ioctl (Bill O'Donnell) [1765693] - [fs] xfs: wire up new v5 bulkstat ioctls (Bill O'Donnell) [1765693] - [fs] xfs: introduce v5 inode group structure (Bill O'Donnell) [1765693] - [fs] xfs: introduce new v5 bulkstat structure (Bill O'Donnell) [1765693] - [fs] xfs: rename bulkstat functions (Bill O'Donnell) [1765693] - [fs] xfs: remove various bulk request typedef usage (Bill O'Donnell) [1765693] - [fs] fs: xfs: xfs_log: Change return type from int to void (Bill O'Donnell) [1765693] - [fs] xfs: poll waiting for quotacheck (Bill O'Donnell) [1765693] - [fs] xfs: multithreaded iwalk implementation (Bill O'Donnell) [1765693] - [fs] xfs: refactor INUMBERS to use iwalk functions (Bill O'Donnell) [1765693] - [fs] xfs: refactor iwalk code to handle walking inobt records (Bill O'Donnell) [1765693] - [fs] xfs: refactor xfs_iwalk_grab_ichunk (Bill O'Donnell) [1765693] - [fs] xfs: clean up long conditionals in xfs_iwalk_ichunk_ra (Bill O'Donnell) [1765693] - [fs] xfs: change xfs_iwalk_grab_ichunk to use startino, not lastino (Bill O'Donnell) [1765693] - [fs] xfs: move bulkstat ichunk helpers to iwalk code (Bill O'Donnell) [1765693] - [fs] xfs: calculate inode walk prefetch more carefully (Bill O'Donnell) [1765693] - [fs] xfs: convert bulkstat to new iwalk infrastructure (Bill O'Donnell) [1765693] - [fs] xfs: bulkstat should copy lastip whenever userspace supplies one (Bill O'Donnell) [1765693] - [fs] xfs: convert quotacheck to use the new iwalk functions (Bill O'Donnell) [1765693] - [fs] xfs: create simplified inode walk function (Bill O'Donnell) [1765693] - [fs] xfs: create iterator error codes (Bill O'Donnell) [1765693] - [fs] xfs: remove XFS_TRANS_NOFS (Bill O'Donnell) [1765693] - [fs] xfs: simplify xfs_ioend_can_merge (Bill O'Donnell) [1765693] - [fs] xfs: allow merging ioends over append boundaries (Bill O'Donnell) [1765693] - [fs] xfs: fix a comment typo in xfs_submit_ioend (Bill O'Donnell) [1765693] - [fs] xfs: remove the unused xfs_count_page_state declaration (Bill O'Donnell) [1765693] - [fs] xfs: fix iclog allocation size (Bill O'Donnell) [1765693] - [fs] xfs: remove unused header files (Bill O'Donnell) [1765693] - [fs] xfs: account for log space when formatting new AGs (Bill O'Donnell) [1765693] - [fs] xfs: refactor free space btree record initialization (Bill O'Donnell) [1765693] - [fs] xfs: always update params on small allocation (Bill O'Donnell) [1765693] - [fs] xfs: skip small alloc cntbt logic on NULL cursor (Bill O'Donnell) [1765693] - [fs] xfs: move small allocation helper (Bill O'Donnell) [1765693] - [fs] xfs: clean up small allocation helper (Bill O'Donnell) [1765693] - [fs] xfs: merge xfs_trans_bmap.c into xfs_bmap_item.c (Bill O'Donnell) [1765693] - [fs] xfs: merge xfs_trans_rmap.c into xfs_rmap_item.c (Bill O'Donnell) [1765693] - [fs] xfs: merge xfs_trans_refcount.c into xfs_refcount_item.c (Bill O'Donnell) [1765693] - [fs] xfs: merge xfs_trans_extfree.c into xfs_extfree_item.c (Bill O'Donnell) [1765693] - [fs] xfs: merge xfs_bud_init into xfs_trans_get_bud (Bill O'Donnell) [1765693] - [fs] xfs: merge xfs_rud_init into xfs_trans_get_rud (Bill O'Donnell) [1765693] - [fs] xfs: merge xfs_cud_init into xfs_trans_get_cud (Bill O'Donnell) [1765693] - [fs] xfs: merge xfs_efd_init into xfs_trans_get_efd (Bill O'Donnell) [1765693] - [fs] xfs: remove a pointless comment duplicated above all xfs_item_ops instances (Bill O'Donnell) [1765693] - [fs] xfs: use a list_head for iclog callbacks (Bill O'Donnell) [1765693] - [fs] xfs: remove the xfs_log_item_t typedef (Bill O'Donnell) [1765693] - [fs] xfs: don't cast inode_log_items to get the log_item (Bill O'Donnell) [1765693] - [fs] xfs: add a flag to release log items on commit (Bill O'Donnell) [1765693] - [fs] xfs: split iop_unlock (Bill O'Donnell) [1765693] - [fs] xfs: don't use xfs_trans_free_items in the commit path (Bill O'Donnell) [1765693] - [fs] xfs: remove the dummy iop_push implementation for inode creation items (Bill O'Donnell) [1765693] - [fs] xfs: don't require log items to implement optional methods (Bill O'Donnell) [1765693] - [fs] xfs: stop using XFS_LI_ABORTED as a parameter flag (Bill O'Donnell) [1765693] - [fs] xfs: fix a trivial comment typo in xfs_trans_committed_bulk (Bill O'Donnell) [1765693] - [fs] xfs: add struct xfs_mount pointer to struct xfs_buf (Bill O'Donnell) [1765693] - [fs] xfs: remove the b_io_length field in struct xfs_buf (Bill O'Donnell) [1765693] - [fs] xfs: properly type the b_log_item field in struct xfs_buf (Bill O'Donnell) [1765693] - [fs] xfs: remove unused buffer cache APIs (Bill O'Donnell) [1765693] - [fs] xfs: stop using bp naming for log recovery buffers (Bill O'Donnell) [1765693] - [fs] xfs: use bios directly to read and write the log recovery buffers (Bill O'Donnell) [1765693] - [fs] xfs: return an offset instead of a pointer from xlog_align (Bill O'Donnell) [1765693] - [fs] xfs: move the log ioend workqueue to struct xlog (Bill O'Donnell) [1765693] - [fs] xfs: use bios directly to write log buffers (Bill O'Donnell) [1765693] - [fs] xfs: make use of the l_targ field in struct xlog (Bill O'Donnell) [1765693] - [fs] xfs: remove the syncing argument from xlog_verify_iclog (Bill O'Donnell) [1765693] - [fs] xfs: update both stat counters together in xlog_sync (Bill O'Donnell) [1765693] - [fs] xfs: factor out iclog size calculation from xlog_sync (Bill O'Donnell) [1765693] - [fs] xfs: factor out splitting of an iclog from xlog_sync (Bill O'Donnell) [1765693] - [fs] xfs: factor out log buffer writing from xlog_sync (Bill O'Donnell) [1765693] - [fs] xfs: don't use REQ_PREFLUSH for split log writes (Bill O'Donnell) [1765693] - [fs] xfs: remove XLOG_STATE_IOABORT (Bill O'Donnell) [1765693] - [fs] xfs: reformat xlog_get_lowest_lsn (Bill O'Donnell) [1765693] - [fs] xfs: cleanup xlog_get_iclog_buffer_size (Bill O'Donnell) [1765693] - [fs] xfs: remove the l_iclog_size_log field from struct xlog (Bill O'Donnell) [1765693] - [fs] xfs: renumber XBF_WRITE_FAIL (Bill O'Donnell) [1765693] - [fs] xfs: remove the never used _XBF_COMPOUND flag (Bill O'Donnell) [1765693] - [fs] xfs: remove the no-op spinlock_destroy stub (Bill O'Donnell) [1765693] - [fs] xfs: move xfs_ino_geometry to xfs_shared.h (Bill O'Donnell) [1765693] - [fs] xfs: remove unused flag arguments (Bill O'Donnell) [1765693] - [fs] xfs: remove the debug-only q_transp field from struct xfs_dquot (Bill O'Donnell) [1765693] - [fs] xfs: merge xfs_buf_zero and xfs_buf_iomove (Bill O'Donnell) [1765693] - [fs] xfs: remove unused flags arg from getsb interfaces (Bill O'Donnell) [1765693] - [fs] xfs: include WARN, REPAIR build options in XFS_BUILD_OPTIONS (Bill O'Donnell) [1765693] - [fs] xfs: finish converting to inodes_per_cluster (Bill O'Donnell) [1765693] - [fs] xfs: fix inode_cluster_size rounding mayhem (Bill O'Donnell) [1765693] - [fs] xfs: refactor inode geometry setup routines (Bill O'Donnell) [1765693] - [fs] xfs: separate inode geometry (Bill O'Donnell) [1765693] - [fs] xfs: use file_modified() helper (Bill O'Donnell) [1765693] - [fs] vfs: introduce file_modified() helper (Bill O'Donnell) [1765693]- [md] dm: bump version of core and various targets (Mike Snitzer) [1810746] - [md] dm: fix congested_fn for request-based device (Mike Snitzer) [1810746] - [md] dm integrity: use dm_bio_record and dm_bio_restore (Mike Snitzer) [1810746] - [md] dm bio record: save_restore bi_end_io and bi_integrity (Mike Snitzer) [1810746] - [md] dm writecache: verify watermark during resume (Mike Snitzer) [1810746] - [md] dm: report suspended device during destroy (Mike Snitzer) [1810746] - [md] dm thin metadata: fix lockdep complaint (Mike Snitzer) [1810746] - [md] dm cache: fix a crash due to incorrect work item cancelling (Mike Snitzer) [1810746] - [md] dm integrity: fix invalid table returned due to argument count mismatch (Mike Snitzer) [1810746] - [md] dm integrity: fix a deadlock due to offloading to an incorrect workqueue (Mike Snitzer) [1810746] - [md] dm integrity: fix recalculation when moving from journal mode to bitmap mode (Mike Snitzer) [1810746] - [md] dm writecache: improve performance of large linear writes on SSDs (Mike Snitzer) [1810746] - [md] dm mpath: Add timeout mechanism for queue_if_no_path (Mike Snitzer) [1810746] - [md] dm thin: change data device's flush_bio to be member of struct pool (Mike Snitzer) [1810746] - [md] dm thin: don't allow changing data device during thin-pool reload (Mike Snitzer) [1810746] - [md] dm thin: fix use-after-free in metadata_pre_commit_callback (Mike Snitzer) [1810746] - [md] dm thin metadata: use pool locking at end of dm_pool_metadata_close (Mike Snitzer) [1810746] - [md] dm writecache: fix incorrect flush sequence when doing SSD mode commit (Mike Snitzer) [1810746] - [md] dm crypt: fix benbi IV constructor crash if used in authenticated mode (Mike Snitzer) [1810746] - [md] dm crypt: Implement Elephant diffuser for Bitlocker compatibility (Mike Snitzer) [1810746] - [md] dm space map common: fix to ensure new block isn't already in use (Mike Snitzer) [1810746] - [md] dm verity: don't prefetch hash blocks for already-verified data (Mike Snitzer) [1810746] - [md] dm crypt: fix GFP flags passed to skcipher_request_alloc() (Mike Snitzer) [1810746] - [md] dm thin metadata: Fix trivial math error in on-disk format documentation (Mike Snitzer) [1810746] - [md] dm thin metadata: use true_false for bool variable (Mike Snitzer) [1810746] - [md] dm snapshot: use true_false for bool variable (Mike Snitzer) [1810746] - [md] dm bio prison v2: use true_false for bool variable (Mike Snitzer) [1810746] - [md] dm mpath: use true_false for bool variable (Mike Snitzer) [1810746] - [md] dm zoned: support zone sizes smaller than 128MiB (Mike Snitzer) [1810746] - [md] dm raid: table line rebuild status fixes (Mike Snitzer) [1810746] - [documentation] docs: dm-integrity: remove reference to ARC4 (Mike Snitzer) [1810746] - [md] dm thin: Flush data device before committing metadata (Mike Snitzer) [1810746] - [md] dm thin metadata: Add support for a pre-commit callback (Mike Snitzer) [1810746] - [md] dm btree: increase rebalance threshold in __rebalance2() (Mike Snitzer) [1810746] - [md] dm mpath: remove harmful bio-based optimization (Mike Snitzer) [1810746] - [md] dm integrity: fix excessive alignment of metadata runs (Mike Snitzer) [1810746] - [md] dm cache: replace spin_lock_irqsave with spin_lock_irq (Mike Snitzer) [1810746] - [md] dm bio prison: replace spin_lock_irqsave with spin_lock_irq (Mike Snitzer) [1810746] - [md] dm thin: replace spin_lock_irqsave with spin_lock_irq (Mike Snitzer) [1810746] - [md] dm raid: streamline rs_get_progress() and its raid_status() caller side (Mike Snitzer) [1810746] - [md] dm raid: simplify rs_setup_recovery call chain (Mike Snitzer) [1810746] - [md] dm raid: to ensure resynchronization, perform raid set grow in preresume (Mike Snitzer) [1810746] - [md] dm raid: change rs_set_dev_and_array_sectors API and callers (Mike Snitzer) [1810746] - [md] dm: introduce DM_GET_TARGET_VERSION (Mike Snitzer) [1810746] - [md] dm bufio: introduce a global cache replacement (Mike Snitzer) [1810746] - [md] dm bufio: remove old-style buffer cleanup (Mike Snitzer) [1810746] - [md] dm bufio: introduce a global queue (Mike Snitzer) [1810746] - [md] dm bufio: refactor adjust_total_allocated (Mike Snitzer) [1810746] - [md] dm bufio: call adjust_total_allocated from __link_buffer and __unlink_buffer (Mike Snitzer) [1810746] - [md] dm crypt: omit parsing of the encapsulated cipher (Mike Snitzer) [1810746] - [md] dm crypt: switch to ESSIV crypto API template (Mike Snitzer) [1810746] - [crypto] crypto: essiv - create wrapper template for ESSIV generation (Mike Snitzer) [1810746] - [security] crypto: drop mask=CRYPTO_ALG_ASYNC from shash tfm allocations (Mike Snitzer) [1810746] - [crypto] crypto: drop mask=CRYPTO_ALG_ASYNC from cipher tfm allocations (Mike Snitzer) [1810746] - [md] dm verity: add root hash pkcs#7 signature verification (Mike Snitzer) [1810746] - [md] dm crypt: reuse eboiv skcipher for IV generation (Mike Snitzer) [1810746] - [md] dm integrity: fix a crash due to BUG_ON in __journal_read_write() (Mike Snitzer) [1810746] - [md] dm kcopyd: Increase default sub-job size to 512KB (Mike Snitzer) [1810746] - [documentation] docs: device-mapper: move it to the admin-guide (Mike Snitzer) [1810746] - [documentation] docs: convert docs to ReST and rename to *.rst (Mike Snitzer) [1810746] - [md] dm crypt: implement eboiv - encrypted byte-offset initialization vector (Mike Snitzer) [1810746] - [md] dm integrity: use kzalloc() instead of kmalloc() + memset() (Mike Snitzer) [1810746] - [md] dm integrity: always set version on superblock update (Mike Snitzer) [1810746] - [md] dm integrity: whitespace, coding style and dead code cleanup (Mike Snitzer) [1810746] - [md] dm integrity: implement synchronous mode for reboot handling (Mike Snitzer) [1810746] - [md] dm integrity: handle machine reboot in bitmap mode (Mike Snitzer) [1810746] - [md] dm integrity: add a bitmap mode (Mike Snitzer) [1810746] - [md] dm integrity: introduce a function add_new_range_and_wait() (Mike Snitzer) [1810746] - [md] dm integrity: allow large ranges to be described (Mike Snitzer) [1810746] - [md] dm ingerity: pass size to dm_integrity_alloc_page_list() (Mike Snitzer) [1810746] - [md] dm integrity: introduce rw_journal_sectors() (Mike Snitzer) [1810746] - [md] dm crypt and integrity: shash - remove shash_desc::flags (Mike Snitzer) [1810746] - [md] dm: fix potential for q->make_request_fn NULL pointer (Mike Snitzer) [1794340] - [netdrv] net/mlx5e: Don't clear the whole vf config when switching modes (mohamad meib) [1811428] - [scsi] scsi: be2iscsi: be_main: Mark expected switch fall-through (Maurizio Lombardi) [1796740] - [scsi] scsi: be2iscsi: be_iscsi: Mark expected switch fall-through (Maurizio Lombardi) [1796740] - [scsi] scsi: be2iscsi: switch to generic DMA API (Maurizio Lombardi) [1796740] - [scsi] scsi: be2iscsi: fix spelling mistake "Retreiving" -> "Retrieving" (Maurizio Lombardi) [1796740] - [scsi] scsi: be2iscsi: remove unused variable dmsg (Maurizio Lombardi) [1796740] - [scsi] scsi: be2iscsi: Update copyright (Maurizio Lombardi) [1796740] - [security] selinux: fix sidtab string cache locking (Ondrej Mosnacek) [1807001 1806991] - [security] selinux: do not allocate ancillary buffer on first load (Ondrej Mosnacek) [1807001] - [security] selinux: remove redundant selinux_nlmsg_perm (Ondrej Mosnacek) [1807001] - [security] selinux: fix wrong buffer types in policydb.c (Ondrej Mosnacek) [1807001] - [security] selinux: treat atomic flags more carefully (Ondrej Mosnacek) [1807001] - [security] selinux: make default_noexec read-only after init (Ondrej Mosnacek) [1807001] - [security] selinux: move ibpkeys code under CONFIG_SECURITY_INFINIBAND (Ondrej Mosnacek) [1807001] - [security] Documentation, selinux: fix references to old selinuxfs mount point (Ondrej Mosnacek) [1807001] - [security] selinuxfs: use scnprintf to get real length for inode (Ondrej Mosnacek) [1807001] - [security] selinux: remove set but not used variable 'sidtab' (Ondrej Mosnacek) [1807001] - [security] selinux: ensure the policy has been loaded before reading the sidtab stats (Ondrej Mosnacek) [1807001] - [security] selinux: ensure we cleanup the internal AVC counters on error in avc_update() (Ondrej Mosnacek) [1807001] - [security] selinux: randomize layout of key structures (Ondrej Mosnacek) [1807001] - [security] selinux: clean up selinux_enabled/disabled/enforcing_boot (Ondrej Mosnacek) [1807001] - [security] selinux: remove unnecessary selinux cred request (Ondrej Mosnacek) [1807001] - [security] selinux: ensure we cleanup the internal AVC counters on error in avc_insert() (Ondrej Mosnacek) [1807001] - [security] security: only build lsm_audit if CONFIG_SECURITY=y (Ondrej Mosnacek) [1807001] - [security] selinux: clean up selinux_inode_permission MAY_NOT_BLOCK tests (Ondrej Mosnacek) [1807001] - [security] selinux: fall back to ref-walk if audit is required (Ondrej Mosnacek) [1807001] - [security] selinux: revert "stop passing MAY_NOT_BLOCK to the AVC upon follow_link" (Ondrej Mosnacek) [1807001] - [security] selinux: cache the SID -> context string translation (Ondrej Mosnacek) [1807001 1806991] - [security] selinux: sidtab reverse lookup hash table (Ondrej Mosnacek) [1807001] - [security] selinux: default_range glblub implementation (Ondrej Mosnacek) [1807001] - [security] selinux: allow labeling before policy is loaded (Ondrej Mosnacek) [1807001 1777525] - [security] selinux: remove load size limit (Ondrej Mosnacek) [1807001] - [security] selinux: fix residual uses of current_security() for the SELinux blob (Ondrej Mosnacek) [1807001] - [kernel] rcu: Make kfree_rcu() ignore NULL pointers (Ondrej Mosnacek) [1807001] - [security] SELinux: Abstract use of ipc security blobs (Ondrej Mosnacek) [1807001] - [security] SELinux: Abstract use of inode security blob (Ondrej Mosnacek) [1807001] - [security] SELinux: Abstract use of file security blob (Ondrej Mosnacek) [1807001] - [security] SELinux: Abstract use of cred security blob (Ondrej Mosnacek) [1807001] - [security] selinux: kill selinux_sb_get_mnt_opts() (Ondrej Mosnacek) [1807001] - [security] selinux; don't open-code a loop in sb_finish_set_opts() (Ondrej Mosnacek) [1807001] - [security] selinux: expand superblock_doinit() calls (Ondrej Mosnacek) [1807001] - [netdrv] hv_netvsc: Fix unwanted rx_table reset (Mohammed Gamal) [1805950] - [netdrv] hv_netvsc: Fix tx_table init in rndis_set_subchannel() (Mohammed Gamal) [1805950] - [netdrv] hv_netvsc: Fix send_table offset in case of a host bug (Mohammed Gamal) [1805950] - [netdrv] hv_netvsc: Fix offset usage in netvsc_send_table() (Mohammed Gamal) [1805950]- [block] blk-mq: Keep set->nr_hw_queues and set->map.nr_queues in sync (Ming Lei) [1810523] - [block] block: clear REQ_HIPRI if polling is not supported (Ming Lei) [1809506]- [perf] arm_spe: Enable ACPI/Platform automatic module loading (Jeremy Linton) [1501652] - [perf] perf: arm_spe: Don't error on high-order pages for aux buf (Jeremy Linton) [1501652] - [perf] arm_spe: handle devm_kasprintf() failure (Jeremy Linton) [1501652] - [perf] arm_spe: Enable automatic DT loading (Jeremy Linton) [1501652] - [block] blk-iolatency: fix STS_AGAIN handling (Ming Lei) [1764737] - [block] blk-iolatency: only account submitted bios (Ming Lei) [1764737] - [block] blk-iolatency: clear use_delay when io.latency is set to zero (Ming Lei) [1764737] - [block] blk-iolatency: #include "blk.h" (Ming Lei) [1764737] - [block] Blk-iolatency: warn on negative inflight IO counter (Ming Lei) [1764737] - [block] blk-iolatency: fix IO hang due to negative inflight counter (Ming Lei) [1764737] - [block] block: fix blk-iolatency accounting underflow (Ming Lei) [1764737] - [fs] xfs: stabilize insert range start boundary to avoid COW writeback race (Brian Foster) [1728979] - [x86] uprobes/x86: Fix detection of 32-bit user mode (Oleg Nesterov) [1804961] - [ipc] Revert "ipc, sem: remove uneeded sem_undo_list lock usage in exit_sem()" ("Herton R. Krzesinski") [1807627] - [powerpc] powerpc/tm: Fix clearing MSRin current when reclaiming on signal delivery (Gustavo Duarte) [1751116] - [powerpc] powerpc/tm: Set MSRjust prior to recheckpoint (Gustavo Duarte) [1751116] - [arm64] arm64: smp: Increase secondary CPU boot timeout value (Gavin Shan) [1807684] - [fs] ext4: work around deleting a file with i_nlink == 0 safely (Carlos Maiolino) [1801049] - [char] ipmi: fix sleep-in-atomic in free_user at cleanup SRCU user->release_barrier (Waiman Long) [1810638] - [char] ipmi: Revert "fix sleep-in-atomic in free_user at cleanup SRCU user->release_barrier" (Waiman Long) [1810638]- [kernel] blktrace: Protect q->blk_trace with RCU (Ming Lei) [1798329] - [drm] drm/i915: Force DPCD backlight mode for some Dell CML 2020 panels (Lyude Paul) [1782671 1773796 1748892] - [drm] drm/i915: Force DPCD backlight mode on X1 Extreme 2nd Gen 4K AMOLED panel (Lyude Paul) [1782671 1773796 1748892] - [drm] drm/dp: Introduce EDID-based quirks (Lyude Paul) [1782671 1773796 1748892] - [drm] drm/i915: Auto detect DPCD backlight support by default (Lyude Paul) [1782671 1773796 1748892] - [drm] drm/i915: Fix DPCD register order in intel_dp_aux_enable_backlight() (Lyude Paul) [1782671 1773796 1748892] - [drm] drm/i915: Assume 100 brightness when not in DPCD control mode (Lyude Paul) [1782671 1773796 1748892] - [drm] drm/i915: Fix eDP DPCD aux max backlight calculations (Lyude Paul) [1782671 1773796 1748892] - [drm] drm/i915: Check backlight type while doing eDP backlight initializaiton (Lyude Paul) [1782671 1773796 1748892] - [tools] selftests: nft_concat_range: Add test for reported add/flush/add issue (Stefano Brivio) [1807892] - [net] nft_set_pipapo: Actually fetch key data in nft_pipapo_remove() (Stefano Brivio) [1807892] - [net] sched: don't take rtnl lock during flow_action setup (Marcelo Leitner) [1804385] - [include] net: sched: refactor ct action helpers to require tcf_lock (Marcelo Leitner) [1804385] - [include] net: sched: refactor police action helpers to require tcf_lock (Marcelo Leitner) [1804385] - [net] sched: lock action when translating it to flow_action infra (Marcelo Leitner) [1804385] - [powerpc] powerpc/smp: Fix NMI IPI xmon timeout (Diego Domingos) [1747320] - [powerpc] powerpc/smp: Fix NMI IPI timeout (Diego Domingos) [1747320] - [powerpc] powerpc: NMI IPI make NMI IPIs fully sychronous (Diego Domingos) [1747320] - [arm64] arm64: select CPUMASK_OFFSTACK if NUMA (Andrea Arcangeli) [1712856] - [arm64] arm64: tlb: skip tlbi broadcast (Andrea Arcangeli) [1712856]- [fs] fs/proc/proc_sysctl.c: Fix a NULL pointer dereference (Vladis Dronov) [1795521] {CVE-2019-20054} - [fs] fs/proc/proc_sysctl.c: fix NULL pointer dereference in put_links (Vladis Dronov) [1795521] {CVE-2019-20054} - [ptp] ptp: correctly disable flags on old ioctls (Petr Oros) [1795188] - [uapi] PTP: add support for one-shot output (Petr Oros) [1795188] - [ptp] PTP: introduce new versions of IOCTLs (Petr Oros) [1795188] - [virtio] virtio_ring: fix stalls for packed rings (Eugenio Perez) [1601355] - [virtio] virtio_ring: Fix potential mem leak in virtqueue_add_indirect_packed (Eugenio Perez) [1601355] - [uapi] virtio: drop internal struct from UAPI (Eugenio Perez) [1601355] - [virtio] virtio_ring: advertize packed ring layout (Eugenio Perez) [1601355] - [virtio] virtio_ring: leverage event idx in packed ring (Eugenio Perez) [1601355] - [virtio] virtio_ring: introduce packed ring support (Eugenio Perez) [1601355] - [virtio] virtio_ring: cache whether we will use DMA API (Eugenio Perez) [1601355] - [virtio] virtio_ring: extract split ring handling from ring creation (Eugenio Perez) [1601355] - [virtio] virtio_ring: allocate desc state for split ring separately (Eugenio Perez) [1601355] - [virtio] virtio_ring: introduce helper for indirect feature (Eugenio Perez) [1601355] - [virtio] virtio_ring: introduce debug helpers (Eugenio Perez) [1601355] - [virtio] virtio_ring: put split ring fields in a sub struct (Eugenio Perez) [1601355] - [virtio] virtio_ring: put split ring functions together (Eugenio Perez) [1601355] - [virtio] virtio_ring: add _split suffix for split ring functions (Eugenio Perez) [1601355] - [uapi] virtio: add packed ring types and macros (Eugenio Perez) [1601355] - [x86] x86/mtrr: Skip cache flushes on CPUs with cache self-snooping (Prarit Bhargava) [1724541] - [x86] x86/cpu/intel: Clear cache self-snoop capability in CPUs with known errata (Prarit Bhargava) [1724541] - [documentation] Documentation PCI: Fix pciebus-howto.rst filename typo (Myron Stowe) [1793091] - [tools] tools: PCI: Fix installation when `make tools/pci_install` (Myron Stowe) [1793091] - [tools] tools: PCI: Fix broken pcitest compilation (Myron Stowe) [1793091] - [tools] tools pci: Do not delete pcitest.sh in 'make clean' (Myron Stowe) [1793091] - [pci] PCI: endpoint: Clear BAR before freeing its space (Myron Stowe) [1793091] - [pci] PCI: endpoint: Skip odd BAR when skipping 64bit BAR (Myron Stowe) [1793091] - [pci] PCI: endpoint: Allocate enough space for fixed size BAR (Myron Stowe) [1793091] - [pci] PCI: endpoint: Set endpoint controller pointer to NULL (Myron Stowe) [1793091] - [pci] PCI: endpoint: Add support to specify alignment for buffers allocated to BARs (Myron Stowe) [1793091] - [pci] PCI: pci-epf-test: Use pci_epc_get_features() to get EPC features (Myron Stowe) [1793091] - [pci] PCI: pci-epf-test: Do not allocate next BARs memory if current BAR is 64Bit (Myron Stowe) [1793091] - [pci] PCI: pci-epf-test: Remove setting epf_bar flags in function driver (Myron Stowe) [1793091] - [pci] PCI: endpoint: Fix pci_epf_alloc_space() to set correct MEM TYPE flags (Myron Stowe) [1793091] - [pci] PCI: endpoint: Add helper to get first unreserved BAR (Myron Stowe) [1793091] - [pci] PCI: endpoint: Add new pci_epc_ops to get EPC features (Myron Stowe) [1793091] - [pci] PCI: endpoint: functions: Use memcpy_fromio()/memcpy_toio() (Myron Stowe) [1793091] - [pci] PCI: Skip resource distribution when no hotplug bridges (Myron Stowe) [1793091] - [pci] PCI: Simplify pci_bus_distribute_available_resources() (Myron Stowe) [1793091] - [pci] PCI: Reset both NVIDIA GPU and HDA in ThinkPad P50 workaround (Myron Stowe) [1793091] - [pci] PCI: Enable NVIDIA HDA controllers (Myron Stowe) [1793091] - [pci] PCI: Use seq_puts() instead of seq_printf() in show_device() (Myron Stowe) [1793091] - [pci] PCI: Add NVIDIA GPU multi-function power dependencies (Myron Stowe) [1793091] - [pci] PCI: Generalize multi-function power dependency device links (Myron Stowe) [1793091] - [pci] PCI: sysfs: Ignore lockdep for remove attribute (Myron Stowe) [1793091] - [pci] PCI: Decode PCIe 32 GT/s link speed (Myron Stowe) [1793091] - [documentation] Documentation: PCI: convert endpoint/pci-test-howto.txt to reST (Myron Stowe) [1793091] - [documentation] Documentation: PCI: convert endpoint/pci-test-function.txt to reST (Myron Stowe) [1793091] - [documentation] Documentation: PCI: convert endpoint/pci-endpoint-cfs.txt to reST (Myron Stowe) [1793091] - [documentation] Documentation: PCI: convert endpoint/pci-endpoint.txt to reST (Myron Stowe) [1793091] - [documentation] Documentation: PCI: convert pcieaer-howto.txt to reST (Myron Stowe) [1793091] - [documentation] Documentation: PCI: convert pci-error-recovery.txt to reST (Myron Stowe) [1793091] - [documentation] Documentation: PCI: convert acpi-info.txt to reST (Myron Stowe) [1793091] - [documentation] Documentation: PCI: convert MSI-HOWTO.txt to reST (Myron Stowe) [1793091] - [documentation] Documentation: PCI: convert pci-iov-howto.txt to reST (Myron Stowe) [1793091] - [documentation] Documentation: PCI: convert PCIEBUS-HOWTO.txt to reST (Myron Stowe) [1793091] - [documentation] docs: pci: fix broken links due to conversion from pci.txt to pci.rst (Myron Stowe) [1793091] - [documentation] Documentation: PCI: convert pci.txt to reST (Myron Stowe) [1793091] - [documentation] Documentation: add Linux PCI to Sphinx TOC tree (Myron Stowe) [1793091] - [pci] PCI: Reset Lenovo ThinkPad P50 nvgpu at boot if necessary (Myron Stowe) [1793091] - [pci] PCI: Add a stub for pci_ats_disabled() (Myron Stowe) [1793091] - [pci] PCI: Provide pci_match_id() with CONFIG_PCI=n (Myron Stowe) [1793091] - [misc] ocxl: Add PCI hotplug dependency to Kconfig (Steve Best) [1788902] - [pci] pci/hotplug/pnv-php: Wrap warnings in macro (Steve Best) [1788902] - [pci] pci/hotplug/pnv-php: Relax check when disabling slot (Steve Best) [1788902] - [pci] pci/hotplug/pnv-php: Register opencapi slots (Steve Best) [1788902] - [pci] pci/hotplug/pnv-php: Improve error msg on power state change failure (Steve Best) [1788902] - [pci] pci/hotplug/pnv-php: Remove erroneous warning (Steve Best) [1788902] - [powerpc] powerpc/powernv/ioda: Find opencapi slot for a device node (Steve Best) [1788902] - [powerpc] powerpc/powernv/ioda: Release opencapi device (Steve Best) [1788902] - [powerpc] powerpc/powernv/ioda: set up PE on opencapi device when enabling (Steve Best) [1788902] - [powerpc] powerpc/powernv/ioda: Protect PE list (Steve Best) [1788902] - [powerpc] powerpc/powernv/ioda: Fix ref count for devices with their own PE (Steve Best) [1788902] - [of] of: overlay: add_changeset_property() memory leak (Steve Best) [1798483] - [of] of: unittest: initialize args before calling of_*parse_*() (Steve Best) [1798483] - [of] of: unittest: find overlaysentry by name instead of index (Steve Best) [1798483] - [of] of: unittest: allow base devicetree to have symbol metadata (Steve Best) [1798483] - [of] of: overlay: set node fields from properties when add new overlay node (Steve Best) [1798483] - [of] of: unittest: remove unused of_unittest_apply_overlay() argument (Steve Best) [1798483] - [of] of: overlay: check prevents multiple fragments touching same property (Steve Best) [1798483] - [of] of: overlay: check prevents multiple fragments add or delete same node (Steve Best) [1798483] - [of] of: overlay: test case of two fragments adding same node (Steve Best) [1798483] - [of] of: overlay: make all pr_debug() and pr_err() messages unique (Steve Best) [1798483] - [of] of: overlay: validate overlay properties (Steve Best) [1798483] - [of] of: overlay: reorder fields in struct fragment (Steve Best) [1798483] - [of] of: overlay: do not duplicate properties from overlay for new nodes (Steve Best) [1798483] - [of] of: overlay: use prop add changeset entry for property in new nodes (Steve Best) [1798483] - [of] of: Convert to using pOFn instead of device_node.name (Steve Best) [1798483] - [powerpc] powerpc/pseries: add of_node_put() in dlpar_detach_node() (Steve Best) [1798483] - [of] of: overlay: add missing of_node_get() in __of_attach_node_sysfs (Steve Best) [1798483] - [of] of: overlay: add missing of_node_put() after add new node to changeset (Steve Best) [1798483] - [of] of: overlay: add tests to validate kfrees from overlay removal (Steve Best) [1798483]- [kernel] open the RHEL 8.3 development (Frantisek Hrbata) - [netdrv] Revert "r8169: don't use MSI before RTL8168d" (Josef Oskera) [1792839] - [drm] drm/nouveau/kms/gv100-: Re-set LUT after clearing for modesets (Ben Skeggs) [1789026] - [drm] drm/nouveau/disp/gv100-: not all channel types support reporting error codes (Ben Skeggs) [1789481] - [drm] drm/nouveau/disp/nv50-: prevent oops when no channel method map provided (Ben Skeggs) [1789481] - [fs] cifs: don't leak -EAGAIN for stat() during reconnect (Dave Wysochanski) [1769599] - [block] blk-mq: insert passthrough request into hctx->dispatch directly (Ming Lei) [1788728] - [scsi] scsi: megaraid_sas: fixup MSIx interrupt setup during resume (Tomas Henzl) [1805353]- [fs] NFS: Add deferred cache invalidation for close-to-open consistency violations (Benjamin Coddington) [1803162] - [block] nbd: fix stack corruption in nbd_check_sock_type() (Ming Lei) [1803664] - [mm] mm/vmscan.c: don't round up scan size for online memory cgroup (Aristeu Rozanski) [1775691] - [tools] selftests/bpf: fix clearing buffered output between tests/subtests (Yauheni Kaliuta) [1786006] - [tools] libbpf: avoid usage of __builtin_preserve_field_info (Yauheni Kaliuta) [1786006] - [tools] selftests/bpf: samples/bpf: fix Split off legacy stuff from bpf_helpers.h (Yauheni Kaliuta) [1786006] - [tools] libbpf: fix Make DECLARE_LIBBPF_OPTS macro strictly a variable declaration (Yauheni Kaliuta) [1786006] - [tools] selftests: fix too long argument (Yauheni Kaliuta) [1786006] - [tools] libbpf: Add BPF-side definitions of supported field relocation kinds (Yauheni Kaliuta) [1786006] - [tools] selftests/bpf: add sub-tests support for test_progs (Yauheni Kaliuta) [1786006] - [tools] selftests/bpf: abstract away test log output (Yauheni Kaliuta) [1786006] - [tools] selftest/bpf: centralize libbpf logging management for test_progs (Yauheni Kaliuta) [1786006] - [tools] selftests/bpf: prevent headers to be compiled as C code (Yauheni Kaliuta) [1786006] - [tools] selftests/bpf: add test selectors by number and name to test_progs (Yauheni Kaliuta) [1786006] - [tools] selftests/bpf: revamp test_progs to allow more control (Yauheni Kaliuta) [1786006] - [net] core: Don't skip generic XDP program execution for cloned SKBs (Jiri Benc) [1802507] - [tools] selftests/bpf: De-flake test_tcpbpf (Jiri Benc) [1802507] - [net] bpf, sockmap: Check update requirements after locking (Jiri Benc) [1802507] - [net] bpf, sockhash: Synchronize_rcu before free'ing map (Jiri Benc) [1802507] - [net] bpf, sockmap: Don't sleep while holding RCU lock on tear-down (Jiri Benc) [1802507] - [net] net: bpf: Don't leak time wait and request sockets (Jiri Benc) [1802507] - [net] bpf/sockmap: Read psock ingress_msg before sk_receive_queue (Jiri Benc) [1802507] - [net] bpf: Clear skb->tstamp in bpf_redirect when necessary (Jiri Benc) [1802507] - [net] xdp: obtain the mem_id mutex before trying to remove an entry (Jiri Benc) [1802507] - [net] page_pool: do not release pool until inflight == 0 (Jiri Benc) [1802507] - [net] xsk: Fix registration of Rx-only sockets (Jiri Benc) [1802507] - [net] xsk: avoid store-tearing when assigning umem (Jiri Benc) [1802507] - [net] xsk: avoid store-tearing when assigning queues (Jiri Benc) [1802507] - [tools] bpftool: Don't crash on missing xlated program instructions (Jiri Benc) [1802507] - [tools] bpftool: Fix printing incorrect pointer in btf_dump_ptr (Jiri Benc) [1802507] - [tools] bpftool: Don't crash on missing jited insns or ksyms (Jiri Benc) [1802507] - [tools] bpftool: Match several programs with same tag (Jiri Benc) [1802507] - [tools] libbpf: Fix realloc usage in bpf_core_find_cands (Jiri Benc) [1802507] - [tools] libbpf: Add missing newline in opts validation macro (Jiri Benc) [1802507] - [tools] libbpf: Don't attach perf_buffer to offline/missing CPUs (Jiri Benc) [1802507] - [tools] libbpf: Extract and generalize CPU mask parsing logic (Jiri Benc) [1802507] - [tools] libbpf: Fix printf compilation warnings on ppc64le arch (Jiri Benc) [1802507] - [tools] libbpf: Fix sym->st_value print on 32-bit arches (Jiri Benc) [1802507] - [tools] libbpf: Make btf__resolve_size logic always check size error condition (Jiri Benc) [1802507] - [tools] libbpf: Fix another potential overflow issue in bpf_prog_linfo (Jiri Benc) [1802507] - [tools] libbpf: Fix potential overflow issue (Jiri Benc) [1802507] - [tools] libbpf: Fix memory leak/double free issue (Jiri Benc) [1802507] - [tools] libbpf: Fix off-by-one error in ELF sanity check (Jiri Benc) [1802507] - [tools] selftests/bpf: Fix test_attach_probe (Jiri Benc) [1802507] - [kernel] bpf: Fix bpf_event_output re-entry issue (Jiri Benc) [1802507] - [net] bpf: Fix incorrect verifier simulation of ARSH under ALU32 (Jiri Benc) [1802507] - [net] bpf: Fix passing modified ctx to ld/abs/ind instruction (Jiri Benc) [1802507] - [net] bpf: cgroup: prevent out-of-order release of cgroup bpf (Jiri Benc) [1802507] - [net] bpf: Fix precision tracking for unbounded scalars (Jiri Benc) [1802507] - [net] bpf: Fix cgroup local storage prog tracking (Jiri Benc) [1802507] - [net] bpf/stackmap: Fix deadlock with rq_lock in bpf_get_stack() (Jiri Benc) [1802507] - [net] bpf, offload: Unlock on error in bpf_offload_dev_create() (Jiri Benc) [1802507] - [powerpc] powerpc/bpf: Fix tail call implementation (Jiri Benc) [1802507] - [net] bpf: Fix use after free in bpf_get_prog_name (Jiri Benc) [1802507] - [net] bpf: Fix use after free in subprog's jited symbol removal (Jiri Benc) [1802507] - [uapi] bpf: fix BTF limits (Jiri Benc) [1802507] - [net] bpf: fix BTF verification of enums (Jiri Benc) [1802507] - [netdrv] ice: Don't tell the OS that link is going down (Jonathan Toppins) [1792670] - [powerpc] powerpc/powernv: implement opal_put_chars_atomic (Steve Best) [1806254] - [tty] powerpc/powernv: move opal console flushing to udbg (Steve Best) [1806254] - [powerpc] powerpc/powernv: Remove OPALv1 support from opal console driver (Steve Best) [1806254] - [powerpc] powerpc/powernv: Implement and use opal_flush_console (Steve Best) [1806254] - [powerpc] powerpc/powernv: opal-kmsg use flush fallback from console code (Steve Best) [1806254] - [powerpc] powerpc/powernv: opal-kmsg standardise OPAL_BUSY handling (Steve Best) [1806254] - [powerpc] powerpc/powernv: Fix OPAL console driver OPAL_BUSY loops (Steve Best) [1806254] - [powerpc] powerpc/powernv: opal_put_chars partial write fix (Steve Best) [1806254] - [x86] Mark Comet Lake-S as supported (David Arcari) [1805754]- rebuild, due infrastructure issues last kernel build wasn't signed properly [1807216]- [nvme] nvme-multipath: Fix memory leak with ana_log_buf (David Milburn) [1804822] - [powerpc] pci/of: Fix OF flags parsing for 64bit BARs (David Gibson) [1804038]- [pci] PCI: pciehp: Add DMI table for in-band presence disabled (Myron Stowe) [1749528] - [pci] PCI: pciehp: Wait for PDS if in-band presence is disabled (Myron Stowe) [1749528] - [pci] PCI: pciehp: Add support for disabling in-band presence (Myron Stowe) [1749528] - [netdrv] net/mlx5: DR, Handle reformat capability over sw-steering tables (Alaa Hleihel) [1794997] - [netdrv] net/mlx5: DR, Fix matching on vport gvmi (Alaa Hleihel) [1794997] - [netdrv] net/mlx5: DR, use non preemptible call to get the current cpu number (Alaa Hleihel) [1794997] - [netdrv] net/mlx5: DR, Enable counter on non-fwd-dest objects (Alaa Hleihel) [1794997] - [iommu] iommu/vt-d: Simplify check in identity_mapping() (Jerry Snitselaar) [1797124 1784649] - [iommu] iommu/vt-d: Remove deferred_attach_domain() (Jerry Snitselaar) [1797124 1784649] - [iommu] iommu/vt-d: Do deferred attachment in iommu_need_mapping() (Jerry Snitselaar) [1797124 1784649] - [iommu] iommu/vt-d: Move deferred device attachment into helper function (Jerry Snitselaar) [1797124 1784649] - [iommu] iommu/vt-d: Add attach_deferred() helper (Jerry Snitselaar) [1797124 1784649] - [iommu] iommu/vt-d: Refactor find_domain() helper (Jerry Snitselaar) [1797124 1784649] - [iommu] iommu/vt-d: Allow devices with RMRRs to use identity domain (Jerry Snitselaar) [1797124 1784649] - [iommu] iommu/vt-d: Call __dmar_remove_one_dev_info with valid pointer (Jerry Snitselaar) [1797124 1784649] - [iommu] iommu/vt-d: Fix lock inversion between iommu->lock and device_domain_lock (Jerry Snitselaar) [1797124 1784649] - [ata] ata: ahci: Add shutdown to freeze hardware resources of ahci (David Milburn) [1784955] - [include] redhat: kabi: convert incorrect use of RH_KABI_EXTEND (Jiri Benc) [1715803] - [include] redhat: kabi: macros for intentional kABI breakage (Jiri Benc) [1715803] - [uapi] redhat: kabi: bpf: remove misleading comment (Jiri Benc) [1715803] - [include] redhat: kabi: introduce RH_KABI_HIDE_INCLUDE and RH_KABI_FAKE_INCLUDE (Jiri Benc) [1715803] - [kernel] kernel/module.c: wakeup processes in module_wq on module unload (Prarit Bhargava) [1804209] - [x86] kvm: x86: do not reset microcode version on INIT or RESET (Paolo Bonzini) [1801853] - [x86] kvm: x86: list MSR_IA32_UCODE_REV as an emulated MSR (Paolo Bonzini) [1801853] - [nvme] nvme: prevent warning triggered by nvme_stop_keep_alive (David Milburn) [1799890] - [nvme] nvme: nvme_keep_alive_end_io fixup setting comp_seen flag (David Milburn) [1799890]- [iommu] iommu: don't change default domain if already set by quirk (Jerry Snitselaar) [1786292] - [net] netfilter: ipset: Copy the right MAC address in hash:ip, mac IPv6 sets (Stefano Brivio) [1759422] - [net] ipv6/addrconf: only check invalid header values when NETLINK_F_STRICT_CHK is set (Guillaume Nault) [1802817] - [net] tcp: clear tp->segs_{in|out} in tcp_disconnect() (Guillaume Nault) [1802682] - [net] tcp: clear tp->data_segs{in|out} in tcp_disconnect() (Guillaume Nault) [1802682] - [net] tcp: clear tp->delivered in tcp_disconnect() (Guillaume Nault) [1802682] - [net] tcp: clear tp->total_retrans in tcp_disconnect() (Guillaume Nault) [1802682] - [net] tcp: do not leave dangling pointers in tp->highest_sack (Guillaume Nault) [1802682] - [net] tcp: Fix highest_sack and highest_sack_seq (Guillaume Nault) [1802682] - [net] tcp: do not send empty skb from tcp_write_xmit() (Guillaume Nault) [1802682] - [net] tcp: md5: fix potential overestimation of TCP option space (Guillaume Nault) [1802682] - [net] tcp: fix data-race in tcp_recvmsg() (Guillaume Nault) [1802682] - [net] bridge: ebtables: don't crash when using dnat target in output chains (Andrea Claudi) [1798923] - [net] ip6_tunnel: fix namespaces move (Andrea Claudi) [1798649] - [net] ip_tunnel: fix namespaces move (Andrea Claudi) [1798649] - [net] ipv4: Detect rollover in specific fib table dump (Guillaume Nault) [1801587] - [net] inet: protect against too small mtu values. (Guillaume Nault) [1801587] - [net] icmp: fix data-race in cmp_global_allow() (Guillaume Nault) [1801587] - [net] inetpeer: fix data-race in inet_putpeer / inet_putpeer (Guillaume Nault) [1801587] - [net] ipv4: Fix table id reference in fib_sync_down_addr (Guillaume Nault) [1801587] - [net] dccp: do not leak jiffies on the wire (Guillaume Nault) [1801587] - [net] inet: stop leaking jiffies on the wire (Guillaume Nault) [1801587] - [tools] selftests: fib_tests: add more tests for metric update (Guillaume Nault) [1801587] - [net] ipv4: fix route update on metric change. (Guillaume Nault) [1801587] - [net] iptunnel: Set tun_flags in the iptunnel_metadata_reply from src (Guillaume Nault) [1801587] - [net] flow_dissector: Fix to use new variables for port ranges in bpf hook (Ivan Vecera) [1789862] - [net] net_sched: fix a resource leak in tcindex_set_parms() (Ivan Vecera) [1789862] - [tools] tc-testing: fix eBPF tests failure on linux fresh clones (Ivan Vecera) [1789862] - [net] net_sched: fix an OOB access in cls_tcindex (Ivan Vecera) [1789862] - [net] cls_rsvp: fix rsvp_policy (Ivan Vecera) [1789862] - [net] net_sched: ematch: reject invalid TCF_EM_SIMPLE (Ivan Vecera) [1789862] - [net] net_sched: walk through all child classes in tc_bind_tclass() (Ivan Vecera) [1789862] - [net] net_sched: fix ops->bind_class() implementations (Ivan Vecera) [1789862] - [net] net_sched: fix datalen for ematch (Ivan Vecera) [1789862] - [net] net_sched: use validated TCA_KIND attribute in tc_new_tfilter() (Ivan Vecera) [1789862] - [net] sch_prio: When ungrafting, replace with FIFO (Ivan Vecera) [1789862] - [net] pkt_sched: fq: do not accept silly TCA_FQ_QUANTUM (Ivan Vecera) [1789862] - [net] sched: add delete_empty() to filters and use it in cls_flower (Ivan Vecera) [1789862] - [net] sched: act_mirred: Pull mac prior redir to non mac_header_xmit device (Ivan Vecera) [1789862] - [net] sched: cls_u32: fix refcount leak in the error path of u32_change() (Ivan Vecera) [1789862] - [net] net_sched: sch_fq: properly set sk->sk_pacing_status (Ivan Vecera) [1789862] - [net] net_sched: validate TCA_KIND attribute in tc_chain_tmplt_add() (Ivan Vecera) [1789862] - [net] mqprio: Fix out-of-bounds access in mqprio_dump (Ivan Vecera) [1789862] - [net] sched: allow indirect blocks to bind to clsact in TC (Ivan Vecera) [1789862] - [net] core: rename indirect block ingress cb function (Ivan Vecera) [1789862] - [net] Fixed updating of ethertype in skb_mpls_push() (Ivan Vecera) [1789862] - [net] cls_flower: Fix the behavior using port ranges with hw-offload (Ivan Vecera) [1789862] - [net] sched: fix dump qlen for sch_mq/sch_mqprio with NOLOCK subqueues (Ivan Vecera) [1789862] - [net] Fixed updating of ethertype in function skb_mpls_pop (Ivan Vecera) [1789862] - [net] sched: fix `tc -s class show` no bstats on class with nolock subqueues (Ivan Vecera) [1789862] - [net] sched: act_pedit: fix WARN() in the traffic path (Ivan Vecera) [1789862] - [net] sched: actions: remove unused 'order' (Ivan Vecera) [1789862] - [net] sched: annotate lockless accesses to qdisc->empty (Ivan Vecera) [1789862] - [net] annotate lockless accesses to sk->sk_max_ack_backlog (Ivan Vecera) [1789862] - [net] inet: minor optimization for backlog setting in listen(2) (Ivan Vecera) [1789862] - [net] annotate lockless accesses to sk->sk_ack_backlog (Ivan Vecera) [1789862] - [net] use helpers to change sk_ack_backlog (Ivan Vecera) [1789862] - [net] sched: prevent duplicate flower rules from tcf_proto destroy race (Ivan Vecera) [1789862] - [net] flow_dissector: switch to siphash (Ivan Vecera) [1789862] - [netdrv] macvlan: use skb_reset_mac_header() in macvlan_queue_xmit() (Davide Caratti) [1801128] - [netdrv] macvlan: do not assume mac_header is set in macvlan_broadcast() (Davide Caratti) [1801128] - [net] psample: fix skb_over_panic (Sabrina Dubroca) [1800589] - [net] openvswitch: don't unlock mutex when changing the user_features fails (Davide Caratti) [1799363] - [net] rtnetlink: validate IFLA_MTU attribute in rtnl_create_link() (Guillaume Nault) [1798715] - [net] rtnetlink: fix a typo fbd -> fdb (Guillaume Nault) [1798715] - [net] bpf: Sockmap, skmsg helper overestimates push, pull, and pop bounds (Sabrina Dubroca) [1798179] - [net] bpf: Sockmap/tls, msg_push_data may leave end mark in place (Sabrina Dubroca) [1798179] - [net] bpf: Sockmap/tls, push write_space updates through ulp updates (Sabrina Dubroca) [1798179] - [net] sk_msg: Don't check if sock is locked when tearing down psock (Sabrina Dubroca) [1798179] - [net] bpf: Sockmap/tls, fix pop data with SK_DROP return code (Sabrina Dubroca) [1798179] - [net] bpf: Sockmap/tls, skmsg can have wrapped skmsg that needs extra chaining (Sabrina Dubroca) [1798179] - [net] bpf: Sockmap/tls, tls_sw can create a plaintext buf > encrypt buf (Sabrina Dubroca) [1798179] - [include] bpf: Sockmap/tls, during free we may call tcp_bpf_unhash() in loop (Sabrina Dubroca) [1798179] - [net] bpf: Sockmap, ensure sock lock held during tear down (Sabrina Dubroca) [1798179] - [net] tls: fix async operation (Sabrina Dubroca) [1798179] - [net] tls: Fix return values to avoid ENOTSUPP (Sabrina Dubroca) [1798179] - [net] skmsg: fix TLS 1.3 crash with full sk_msg (Sabrina Dubroca) [1798179] - [net] tls: free the record on encryption error (Sabrina Dubroca) [1798179] - [net] tls: take into account that bpf_exec_tx_verdict() may free the record (Sabrina Dubroca) [1798179] - [net] bpf: skmsg, fix potential psock NULL pointer dereference (Sabrina Dubroca) [1798179] - [net] tls: enable sk_msg redirect to tls socket egress (Sabrina Dubroca) [1798179] - [netdrv] macsec: fix refcnt leak in module exit routine (Sabrina Dubroca) [1799029] - [netdrv] ppp: Adjust indentation into ppp_async_input (Guillaume Nault) [1798104] - [net] l2tp: Allow duplicate session creation with UDP (Guillaume Nault) [1798104] - [net] Fix bugs introduced by netlink strict checking backport (Petr Oros) [1782172] - [tools] selftests: forwarding: fix race between packet receive and tc check (Hangbin Liu) [1797941] - [tools] selftests: forwarding: tc_common: Add hitting check (Hangbin Liu) [1797941] - [tools] selftests: net: push jq workaround into separate helper (Hangbin Liu) [1797941] - [tools] selftests: loopback.sh: skip this test if the driver does not support (Hangbin Liu) [1797941] - [tools] selftests: pmtu: fix init mtu value in description (Hangbin Liu) [1797941] - [tools] selftests: forwarding: Delete IPv6 address at the end (Hangbin Liu) [1797941] - [tools] selftests: pmtu: use -oneline for ip route list cache (Hangbin Liu) [1797941] - [tools] selftests: net: tcp_mmap should create detached threads (Hangbin Liu) [1797941] - [tools] selftests: net: reuseport_dualstack: fix uninitalized parameter (Hangbin Liu) [1797941] - [net] tipc: fix link overflow issue at socket shutdown (Xin Long) [1798070] - [net] tipc: fix retrans failure due to wrong destination (Xin Long) [1798070] - [net] tipc: fix potential hanging after b/rcast changing (Xin Long) [1798070] - [net] tipc: fix ordering of tipc module init and exit routine (Xin Long) [1798070] - [net] tipc: fix wrong timeout input for tipc_wait_for_cond() (Xin Long) [1798070] - [net] tipc: fix wrong socket reference counter after tipc_sk_timeout() returns (Xin Long) [1798070] - [net] tipc: fix potential memory leak in __tipc_sendmsg() (Xin Long) [1798070] - [net] tipc: fix link name length check (Xin Long) [1798070] - [net] tipc: update replicast capability for broadcast send link (Xin Long) [1798070] - [net] tipc: update cluster capabilities if node deleted (Xin Long) [1798070] - [net] tipc: update mon's self addr when node addr generated (Xin Long) [1798070] - [net] tipc: reduce sensitive to retransmit failures (Xin Long) [1798070] - [net] sctp: free cmd->obj.chunk for the unprocessed SCTP_CMD_REPLY (Xin Long) [1798061] - [net] sctp: fully initialize v4 addr in some functions (Xin Long) [1798061] - [net] sctp: cache netns in sctp_ep_common (Xin Long) [1798061] - [net] sctp: Fix memory leak in sctp_sf_do_5_2_4_dupcook (Xin Long) [1798061] - [net] xfrm: support output_mark for offload ESP packets (Xin Long) [1798059] - [net] xfrm: release device reference for invalid state (Xin Long) [1798059] - [net] netfilter: fix a use-after-free in mtype_destroy() (Davide Caratti) [1796361] - [net] netfilter: ipset: avoid null deref when IPSET_ATTR_LINENO is present (Davide Caratti) [1796361] - [net] netfilter: conntrack: Request module if l3proto is unknown (Phil Sutter) [1752765] - [include] tcp: Protect accesses to .ts_recent_stamp with {READ,WRITE}_ONCE() (Guillaume Nault) [1780828] - [include] tcp: tighten acceptance of ACKs not matching a child socket (Guillaume Nault) [1780828] - [include] tcp: fix rejected syncookies due to stale timestamps (Guillaume Nault) [1780828] - [net] SUNRPC: Make "no retrans timeout" soft tasks behave like softconn for timeouts (Steve Dickson) [1801454] - [kernel] genirq, sched/isolation: Isolate from handling managed interrupts (Peter Xu) [1783026]- [nvme] nvme: fix the parameter order for nvme_get_log in nvme_get_fw_slot_info (David Milburn) [1798630] - [mm] arm64: debug: Remove unused return value from do_debug_exception() (Bhupesh Sharma) [1802511] - [mm] arm64: debug: Don't propagate UNKNOWN FAR into si_code for debug signals (Bhupesh Sharma) [1802511] - [mm] arm64/mm: Reorganize arguments for is_el1_permission_fault() (Bhupesh Sharma) [1802511] - [mm] arm64/mm: Define esr_to_debug_fault_info() (Bhupesh Sharma) [1802511] - [infiniband] IB/mlx5: Do reverse sequence during device removal (Alaa Hleihel) [1801497] - [netdrv] bnxt_en: Fix RDMA driver failure with SRIOV after firmware reset (Jonathan Toppins) [1801868] - [netdrv] bnxt_en: Refactor logic to re-enable SRIOV after firmware reset detected (Jonathan Toppins) [1801868] - [netdrv] bnxt_en: Fix logic that disables Bus Master during firmware reset (Jonathan Toppins) [1801868] - [netdrv] bnxt_en: Fix TC queue mapping (Jonathan Toppins) [1801868] - [netdrv] bnxt_en: Fix NTUPLE firmware command failures (Jonathan Toppins) [1801868] - [netdrv] bnxt_en: Fix ipv6 RFS filter matching logic (Jonathan Toppins) [1801868] - [netdrv] bnxt_en: Do not treat DSN (Digital Serial Number) read failure as fatal (Jonathan Toppins) [1801868] - [netdrv] bnxt: Detach page from page pool before sending up the stack (Jonathan Toppins) [1801868] - [netdrv] bnxt: apply computed clamp value for coalece parameter (Jonathan Toppins) [1801868] - [netdrv] bnxt_en: Fix MSIX request logic for RDMA driver (Jonathan Toppins) [1801868] - [netdrv] bnxt_en: Free context memory in the open path if firmware has been reset (Jonathan Toppins) [1801868] - [netdrv] bnxt_en: Return error if FW returns more data than dump length (Jonathan Toppins) [1801868] - [netdrv] bnxt_en: Fix bp->fw_health allocation and free logic (Jonathan Toppins) [1801868] - [netdrv] bnxt_en: Add missing devlink health reporters for VFs (Jonathan Toppins) [1801868] - [netdrv] bnxt_en: Fix the logic that creates the health reporters (Jonathan Toppins) [1801868] - [netdrv] bnxt_en: Do driver unregister cleanup in bnxt_init_one() failure path (Jonathan Toppins) [1801868] - [netdrv] bnxt_en: Send FUNC_RESOURCE_QCAPS command in bnxt_resume() (Jonathan Toppins) [1801868] - [netdrv] bnxt_en: Combine 2 functions calling the same HWRM_DRV_RGTR fw command (Jonathan Toppins) [1801868] - [netdrv] bnxt_en: Abort waiting for firmware response if there is no heartbeat (Jonathan Toppins) [1801868] - [netdrv] bnxt_en: Return proper error code for non-existent NVM variable (Jonathan Toppins) [1801868] - [netdrv] bnxt_en: Add a warning message for driver initiated reset (Jonathan Toppins) [1801868] - [netdrv] bnxt_en: Improve RX buffer error handling (Jonathan Toppins) [1801868] - [netdrv] bnxt_en: Extend ETHTOOL_RESET to hot reset driver (Jonathan Toppins) [1801868] - [netdrv] bnxt_en: Increase firmware response timeout for coredump commands (Jonathan Toppins) [1801868] - [netdrv] bnxt_en: Fix suspend/resume path on 57500 chips (Jonathan Toppins) [1801111] - [netdrv] bnxt_en: Disable/enable Bus master during suspend/resume (Jonathan Toppins) [1801111] - [fs] cifs: fix soft mounts hanging in the reconnect code (Leif Sahlberg) [1795423] - [kernel] audit: CONFIG_CHANGE don't log internal bookkeeping as an event (Richard Guy Briggs) [1798512] - [security] selinux: reorder hooks to make runtime disable less broken (Ondrej Mosnacek) [1778990] - [scsi] scsi: qla2xxx: Fix unbound NVME response length (Himanshu Madhani) [1796480] - [isdn] misdn: enforce CAP_NET_RAW for raw sockets (Andrea Claudi) [1779475] {CVE-2019-17055}- [fs] Revert: f5bcc37b81fc ("namei: allow restricted O_CREAT of FIFOs and regular files") (Eric Sandeen) [1801468] - [fs] Revert: 433cbb6cf0ae ("quota: honor quota type in Q_XGETQSTATcalls") (Eric Sandeen) [1800435] - [infiniband] RDMA/siw: Fix setting active_mtu attribute (Kamal Heib) [1797199] - [infiniband] RDMA/hfi1: Fix memory leak in _dev_comp_vect_mappings_create (Kamal Heib) [1733690] - [scsi] scsi: lpfc: Fix release of hwq to clear the eq relationship (Dick Kennedy) [1798661] - [x86] kvm/hyper-v: don't allow to turn on unsupported VMX controls for nested guests (Vitaly Kuznetsov) [1786288] - [x86] kvm/hyper-v: move VMX controls sanitization out of nested_enable_evmcs() (Vitaly Kuznetsov) [1786288] - [x86] kvm/hyper-v: remove stale evmcs_already_enabled check from nested_enable_evmcs() (Vitaly Kuznetsov) [1786288] - [x86] kvm: svm: relax conditions for allowing MSR_IA32_SPEC_CTRL accesses (Paolo Bonzini) [1796417] - [x86] kvm: x86: avoid incorrect writes to host MSR_IA32_SPEC_CTRL (Paolo Bonzini) [1796417] - [tools] selftests: netfilter: Introduce tests for sets with range concatenation (Stefano Brivio) [1593711] - [net] nf_tables: Add set type for arbitrary concatenation of ranges (Stefano Brivio) [1593711] - [lib] bitmap: Introduce bitmap_cut(): cut bits and shift remaining (Stefano Brivio) [1593711] - [net] netfilter: nf_tables: Support for sets with multiple ranged fields (Stefano Brivio) [1593711] - [net] netfilter: nf_tables: add NFTA_SET_ELEM_KEY_END attribute (Stefano Brivio) [1593711] - [net] netfilter: nf_tables: add nft_setelem_parse_key() (Stefano Brivio) [1593711] - [net] netfilter: nf_tables: validate NFT_DATA_VALUE after nft_data_init() (Stefano Brivio) [1593711] - [net] netfilter: nf_tables: validate NFT_SET_ELEM_INTERVAL_END (Stefano Brivio) [1593711] - [net] netfilter: nf_tables: remove unused parameter ctx (Stefano Brivio) [1593711] - [net] netfilter: nf_tables: remove unused variable (Stefano Brivio) [1593711] - [ptp] ptp: free ptp device pin descriptors properly (Vladis Dronov) [1787568] - [ptp] ptp: fix the race between the release of ptp_clock and cdev (Vladis Dronov) [1787568] - [ptp] ptp: Fix pass zero to ERR_PTR() in ptp_clock_register (Vladis Dronov) [1787568]- [fs] NFSv4: pnfs_roc() must use cred_fscmp() to compare creds (Benjamin Coddington) [1800893] - [drm] drm/nouveau/kms/gv100-: avoid sending a core update until the first modeset (Ben Skeggs) [1801091] - [drm] drm/nouveau/kms/gv100-: move window ownership setup into modesetting path (Ben Skeggs) [1801091] - [drm] drm/nouveau/disp/gv100-: halt NV_PDISP_FE_RM_INTR_STAT_CTRL_DISP_ERROR storms (Ben Skeggs) [1801091] - [drm] drm/nouveau: Add HD-audio component notifier support (Ben Skeggs) [1792191] - [netdrv] net/mlx5: Fix deadlock in fs_core (Alaa Hleihel) [1786630] - [drm] drm/amd/dm/mst: Ignore payload update failures (Lyude Paul) [1773800 1773795] - [kernel] sched/rt: Optimize checking group RT scheduler constraints (Phil Auld) [1797106] - [fs] cifs: Fix mount options set in automount (Dave Wysochanski) [1790922]- [kernel] timers/nohz: Update NOHZ load in remote tick (Scott Wood) [1791434] - [kernel] sched/core: Don't skip remote tick for idle CPUs (Scott Wood) [1791434] - [drm] drm/amdgpu/vi: silence an uninitialized variable warning (Lyude Paul) [1792565] - [drm] drm: panel-lvds: Potential Oops in probe error handling (Lyude Paul) [1792565] - [drm] drm/i915: Fix pid leak with banned clients (Lyude Paul) [1792565] - [drm] drm/amdgpu: allow direct upload save restore list for raven2 (Lyude Paul) [1792565] - [drm] drm/amd/display: Reorder detect_edp_sink_caps before link settings read (Lyude Paul) [1792565] - [drm] drm/i915: Add missing include file (Lyude Paul) [1792565] - [drm] drm/amdgpu: enable gfxoff for raven1 refresh (Lyude Paul) [1792565] - [drm] drm/amdgpu/discovery: reserve discovery data at the top of VRAM (Lyude Paul) [1792565] - [drm] drm/amdgpu: cleanup creating BOs at fixed location (v2) (Lyude Paul) [1792565] - [drm] drm/tegra: Fix ordering of cleanup code (Lyude Paul) [1792565] - [drm] drm/i915/gen9: Clear residual context state on context switch (Lyude Paul) [1792565] - [drm] drm/i915: Add Wa_1407352427:icl,ehl (Lyude Paul) [1792565] - [drm] drm/dp_mst: correct the shifting in DP_REMOTE_I2C_READ (Lyude Paul) [1792565] - [drm] drm/fb-helper: Round up bits_per_pixel if possible (Lyude Paul) [1792565] - [drm] drm/i915: Add Wa_1408615072 and Wa_1407596294 to icl, ehl (Lyude Paul) [1792565] - [drm] drm/amdgpu/smu: add metrics table lock for vega20 (v2) (Lyude Paul) [1792565] - [drm] drm/amdgpu/smu: add metrics table lock for navi (v2) (Lyude Paul) [1792565] - [drm] drm/amdgpu/smu: add metrics table lock (Lyude Paul) [1792565] - [drm] drm/nouveau/kms/nv50-: fix panel scaling (Lyude Paul) [1792565 1741114] - [drm] drm/nouveau: Fix drm-core using atomic code-paths on pre-nv50 hardware (Lyude Paul) [1792565] - [drm] drm/nouveau: Move the declaration of struct nouveau_conn_atom up a bit (Lyude Paul) [1792565] - [drm] drm/amd/display: Reset steer fifo before unblanking the stream (Lyude Paul) [1792565] - [drm] drm/amd/display: Change the delay time before enabling FEC (Lyude Paul) [1792565] - [drm] drm/amd/display: Fixed kernel panic when booting with DP-to-HDMI dongle (Lyude Paul) [1792565] - [drm] drm/amdgpu: add cache flush workaround to gfx8 emit_fence (Lyude Paul) [1792565] - [drm] drm/amdgpu: add check before enabling/disabling broadcast mode (Lyude Paul) [1792565] - [drm] drm: limit to INT_MAX in create_blob ioctl (Lyude Paul) [1792565] - [drm] drm/amdgpu: Call find_vma under mmap_sem (Lyude Paul) [1792565] - [drm] drm/amdgpu: fix uninitialized variable pasid_mapping_needed (Lyude Paul) [1792565] - [drm] drm/amdgpu: fix bad DMA from INTERRUPT_CNTL2 (Lyude Paul) [1792565] - [drm] drm/amdgpu: Avoid accidental thread reactivation (Lyude Paul) [1792565] - [drm] drm/amdgpu: fix potential double drop fence reference (Lyude Paul) [1792565] - [drm] drm/amdgpu: disallow direct upload save restore list from gfx driver (Lyude Paul) [1792565] - [gpu] gpu: host1x: Allocate gather copy for host1x (Lyude Paul) [1792565] - [drm] drm/tegra: sor: Use correct SOR index on Tegra210 (Lyude Paul) [1792565] - [drm] drm/amd/display: correctly populate dpp refclk in fpga (Lyude Paul) [1792565] - [drm] drm: Don't free jobs in wait_event_interruptible() (Lyude Paul) [1792565] - [drm] drm/gma500: fix memory disclosures due to uninitialized bytes (Lyude Paul) [1792565] - [drm] drm/amdgpu: fix amdgpu trace event print string format error (Lyude Paul) [1792565] - [drm] drm/amd/powerplay: avoid disabling ECC if RAS is enabled for VEGA20 (Lyude Paul) [1792565] - [drm] drm/bridge: dw-hdmi: Restore audio when setting a mode (Lyude Paul) [1792565] - [drm] drm/amd/display: Program DWB watermarks from correct state (Lyude Paul) [1792565] - [drm] drm/amd/display: Fix dongle_caps containing stale information (Lyude Paul) [1792565] - [drm] drm/amd/display: add new active dongle to existent w/a (Lyude Paul) [1792565] - [drm] drm/amd/display: refactor Device ID for external chips (Lyude Paul) [1792565] - [drm] drm/amd/display: wait for set pipe mcp command completion (Lyude Paul) [1792565] - [drm] drm/amd/display: Properly round nominal frequency for SPD (Lyude Paul) [1792565] - [drm] drm/drm_vblank: Change EINVAL by the correct errno (Lyude Paul) [1792565] - [drm] drm/amdkfd: Fix MQD size calculation (Lyude Paul) [1792565] - [drm] drm/bridge: dw-hdmi: Refuse DDC/CI transfers on the internal I2C controller (Lyude Paul) [1792565] - [drm] drm/amd/display: set minimum abm backlight level (Lyude Paul) [1792565] - [drm] drm/amd/display: load iram for abm 2.3 (Lyude Paul) [1792565] - [drm] drm/amd/powerplay: A workaround to GPU RESET on APU (Lyude Paul) [1792565] - [drm] drm/amdkfd: fix a potential NULL pointer dereference (v2) (Lyude Paul) [1792565] - [drm] drm/amd/display: Set number of pipes to 1 if the second pipe was disabled (Lyude Paul) [1792565] - [drm] drm/amd/display: Handle virtual signal type in disable_link() (Lyude Paul) [1792565] - [drm] drm/ttm: return -EBUSY on pipelining with no_gpu_wait (v2) (Lyude Paul) [1792565] - [drm] drm/amdgpu: grab the id mgr lock while accessing passid_mapping (Lyude Paul) [1792565] - [drm] drm/amdgpu/sriov: add ring_stop before ring_create in psp v11 code (Lyude Paul) [1792565] - [drm] drm/bridge: analogix-anx78xx: silence -EPROBE_DEFER warnings (Lyude Paul) [1792565] - [drm] drm/amd/display: verify stream link before link test (Lyude Paul) [1792565] - [drm] drm: Use EOPNOTSUPP, not ENOTSUPP (Lyude Paul) [1792565] - [drm] drm/mipi-dbi: fix a loop in debugfs code (Lyude Paul) [1792565] - [drm] drm: mst: Fix query_payload ack reply struct (Lyude Paul) [1792565] - [drm] Revert "drm/virtio: switch virtio_gpu_wait_ioctl() to gem helper." (Lyude Paul) [1792565] - [drm] drm/amdgpu: add invalidate semaphore limit for SRIOV and picasso in gmc9 (Lyude Paul) [1792565] - [drm] drm/amdgpu: avoid using invalidate semaphore for picasso (Lyude Paul) [1792565] - [drm] drm/amdgpu/gfx10: re-init clear state buffer after gpu reset (Lyude Paul) [1792565] - [drm] drm/amdgpu/gfx10: explicitly wait for cp idle after halt/unhalt (Lyude Paul) [1792565] - [drm] drm/amdgpu: invalidate mmhub semaphore workaround in gmc9/gmc10 (Lyude Paul) [1792565] - [drm] drm/amdgpu: set adev->num_vmhubs for gmc6, 7, 8 (Lyude Paul) [1792565] - [drm] drm/amdgpu: Export function to flush TLB of specific vm hub (Lyude Paul) [1792565] - [drm] drm/amdgpu: add new member in amdgpu_device for vmhub counts per asic chip (Lyude Paul) [1792565] - [drm] drm/amdgpu: rename AMDGPU_GFXHUB/MMHUB macro with hub number (Lyude Paul) [1792565] - [drm] drm/amdgpu: initialize vm_inv_eng0_sem for gfxhub and mmhub (Lyude Paul) [1792565] - [drm] drm/amd/display: add default clocks if not able to fetch them (Lyude Paul) [1792565] - [drm] drm/amd/display: re-enable wait in pipelock, but add timeout (Lyude Paul) [1792565] - [drm] drm/dp_mst: Correct the bug in drm_dp_update_payload_part1() (Lyude Paul) [1792565] - [drm] drm/radeon: fix r1xx/r2xx register checker for POT textures (Lyude Paul) [1792565] - [drm] drm/i915/fbc: Disable fbc by default on all glk+ (Lyude Paul) [1792565] - [drm] drm/nouveau/kms/nv50-: Limit MST BPC to 8 (Lyude Paul) [1792565 1773804] - [drm] drm/nouveau/kms/nv50-: Store the bpc we're using in nv50_head_atom (Lyude Paul) [1792565 1773804] - [drm] drm/nouveau/kms/nv50-: Call outp_atomic_check_view() before handling PBN (Lyude Paul) [1792565 1773804] - [drm] drm/mgag200: Flag all G200 SE A machines as broken wrt (Lyude Paul) [1792565] - [drm] drm/mgag200: Add workaround for HW that does not support 'startadd' (Lyude Paul) [1792565] - [drm] drm/mgag200: Store flags from PCI driver data in device structure (Lyude Paul) [1792565] - [drm] drm/mgag200: Extract device type from flags (Lyude Paul) [1792565] - [dma-buf] dma-buf: Fix memory leak in sync_file_merge() (Lyude Paul) [1792565] - [video] video/hdmi: Fix AVI bar unpack (Lyude Paul) [1792565] - [drm] drm: damage_helper: Fix race checking plane->state->fb (Lyude Paul) [1792565] - [drm] drm/i915: Fix detection for a CMP-V PCH (Lyude Paul) [1792565] - [x86] Mark AMD Ryzen 7 as supported (David Arcari) [1797317] - [x86] Mark AMD Ryzen 5 as supported (David Arcari) [1718051] - [mm] mm/sparse.c: reset section's mem_map when fully deactivated (Pingfan Liu) [1797848] - [drm] drm/mgag200: Don't unpin the current cursor image's buffer (Lyude Paul) [1784290] - [drm] drm/mgag200: Set cursor scanout address to correct BO (Lyude Paul) [1784290] - [drm] drm/mgag200: Pin displayed cursor BO to video memory (Lyude Paul) [1784290] - [tools] Correction to manpage of cpupower (Prarit Bhargava) [1796139] - [fs] cifs: fix soft mounts hanging in the reconnect code (Dave Wysochanski) [1795429] - [net] ipv6_stub: use ip6_dst_lookup_flow instead of ip6_dst_lookup (Sabrina Dubroca) [1774440] - [net] ipv6: add net argument to ip6_dst_lookup_flow (Sabrina Dubroca) [1774440] - [netdrv] can: peak_usb: fix slab info leak (Guillaume Nault) [1787486] {CVE-2019-19534} - [netdrv] vxlan: fix tos value before xmit (Hangbin Liu) [1786075] - [net] netfilter: nft_tproxy: Fix port selector on Big Endian (Phil Sutter) [1781481] - [net] devlink: Change devlink health locking mechanism (Petr Oros) [1785997] - [net] xfrm: Fix memleak on xfrm state destroy (Xin Long) [1780470] - [net] erspan: remove the incorrect mtu limit for erspan (Hangbin Liu) [1783871] - [net] ieee802154: enforce CAP_NET_RAW for raw sockets (Andrea Claudi) [1779495] {CVE-2019-17053} - [net] netfilter: masquerade: don't flush all conntracks if only one address deleted on device (Patrick Talbert) [1772334]- [mm] memcg: Add preemption point in accumulate_memcg_tree() (Waiman Long) [1795049] - [edac] EDAC: skx_common: downgrade message importance on missing PCI device (Aristeu Rozanski) [1775511] - [infiniband] IB/core: Do not notify GID change event of an unregistered device (Kamal Heib) [1787333] - [infiniband] IB/core: Let IB core distribute cache update events (Kamal Heib) [1787333] - [arm64] arm64: kexec: always reset to EL2 if present (Bhupesh Sharma) [1794805] - [tools] perf header: Use last modification time for timestamp (Michael Petlan) [1791258] - [netdrv] net/mlx5e: Enable all available stats for uplink reps (Alaa Hleihel) [1786321] - [netdrv] net/mlx5e: Create q counters on uplink representors (Alaa Hleihel) [1786321] - [netdrv] net/mlx5e: Convert rep stats to mlx5e_stats_grp-based infra (Alaa Hleihel) [1786321] - [netdrv] net/mlx5e: IPoIB, use separate stats groups (Alaa Hleihel) [1786321] - [netdrv] net/mlx5e: Convert stats groups array to array of group pointers (Alaa Hleihel) [1786321] - [netdrv] net/mlx5e: Declare stats groups via macro (Alaa Hleihel) [1786321] - [netdrv] net/mlx5e: Profile specific stats groups (Alaa Hleihel) [1786321] - [netdrv] net/mlx5e: Move uplink rep init/cleanup code into own functions (Alaa Hleihel) [1786321] - [netdrv] net/mlx5e: Add discard counters per priority (Alaa Hleihel) [1786321] - [netdrv] net/mlx5e: Add port buffer's congestion counters (Alaa Hleihel) [1786321] - [netdrv] net/mlx5: Expose HW capability bits for port buffer per priority congestion counters (Alaa Hleihel) [1786321] - [netdrv] qede: Fix multicast mac configuration (Manish Chopra) [1784894] - [thunderbolt] thunderbolt: Drop unnecessary read when writing LC command in Ice Lake (Jarod Wilson) [1784568] - [thunderbolt] thunderbolt: Fix lockdep circular locking depedency warning (Jarod Wilson) [1784568] - [thunderbolt] thunderbolt: Read DP IN adapter first two dwords in one go (Jarod Wilson) [1784568]- [pci] PCI/PM: Move pci_dev_wait() definition earlier (Myron Stowe) [1794266] - [pci] PCI/PM: Add missing link delays required by the PCIe spec (Myron Stowe) [1794266] - [pci] PCI/PM: Add pcie_wait_for_link_delay() (Myron Stowe) [1794266] - [pci] PCI/PM: Return error when changing power state from D3cold (Myron Stowe) [1794266] - [pci] PCI/PM: Decode D3cold power state correctly (Myron Stowe) [1794266] - [pci] PCI/PM: Fold __pci_complete_power_transition() into its caller (Myron Stowe) [1794266] - [pci] PCI/PM: Avoid exporting __pci_complete_power_transition() (Myron Stowe) [1794266] - [pci] PCI/PM: Fold __pci_start_power_transition() into its caller (Myron Stowe) [1794266] - [pci] PCI/PM: Use pci_power_up() in pci_set_power_state() (Myron Stowe) [1794266] - [pci] PCI/PM: Move power state update away from pci_power_up() (Myron Stowe) [1794266] - [pci] PCI/PM: Remove unused pci_driver.suspend_late() hook (Myron Stowe) [1794266] - [pci] PCI/PM: Remove unused pci_driver.resume_early() hook (Myron Stowe) [1794266] - [xen] xen-platform: Convert to generic power management (Myron Stowe) [1794266] - [pci] PCI/PM: Simplify pci_set_power_state() (Myron Stowe) [1794266] - [pci] PCI/PM: Expand PM reset messages to mention D3hot (not just D3) (Myron Stowe) [1794266] - [pci] PCI/PM: Apply D2 delay as milliseconds, not microseconds (Myron Stowe) [1794266] - [pci] PCI/PM: Use pci_WARN() to include device information (Myron Stowe) [1794266] - [pci] PCI/PM: Use PCI dev_printk() wrappers for consistency (Myron Stowe) [1794266] - [pci] PCI/PM: Make power management op coding style consistent (Myron Stowe) [1794266] - [pci] PCI/PM: Run resume fixups before disabling wakeup events (Myron Stowe) [1794266] - [pci] PCI/PM: Clear PCIe PME Status even for legacy power management (Myron Stowe) [1794266] - [pci] PCI/PM: Always return devices to D0 when thawing (Myron Stowe) [1794266] - [pci] PCI: PM: Fix pci_power_up() (Myron Stowe) [1794266] - [pci] PCI: Make pcie_downstream_port() available outside of access.c (Myron Stowe) [1794266] - [pci] PCI: Add pci_info_ratelimited() to ratelimit PCI separately (Myron Stowe) [1794266] - [pci] PCI: PM: Simplify bus-level hibernation callbacks (Myron Stowe) [1794266] - [pci] PCI: Do not poll for PME if the device is in D3cold (Myron Stowe) [1794266] - [pci] PCI: PM: Replace pci_dev_keep_suspended() with two functions (Myron Stowe) [1794266] - [pci] PCI: PM: Avoid resuming devices in D3hot during system suspend (Myron Stowe) [1794266] - [pci] PCI: PM: Avoid skipping bus-level PM on platforms without ACPI (Myron Stowe) [1794266] - [pci] treewide: Switch printk users from pf and pF to ps and pS, respectively (Myron Stowe) [1794266] - [sound] ALSA: Use the legacy HDA driver as default for Intel DSP platforms (Jaroslav Kysela) [1793227] - [nvme] nvme: nvme_mpath_init remove multipath check (David Milburn) [1790958] - [mm] mm/page-writeback.c: don't break integrity writeback on ->writepage() error (Christoph von Recklinghausen) [1782117] - [arm64] arm64: Revert support for execute-only user mappings (Jeremy Linton) [1788629] - [powerpc] powerpc/papr_scm: Don't enable direct map for a region by default (Steve Best) [1795706]- [tools] selftests/eeh: Bump EEH wait time to 60s (Steve Best) [1783199] - [tools] tools/kvm_stat: Fix kvm_exit filter name (Gavin Shan) [1780345] - [infiniband] RDMA/bnxt_re: Report more number of completion vectors (Selvin Xavier) [1788037 1753515] - [infiniband] RDMA/bnxt_re: Fix Send Work Entry state check while polling completions (Selvin Xavier) [1788037] - [infiniband] RDMA/bnxt_re: Fix missing le16_to_cpu (Selvin Xavier) [1788037] - [infiniband] RDMA/bnxt_re: Avoid freeing MR resources if dereg fails (Selvin Xavier) [1788037 1737147] - [infiniband] RDMA/bnxt_re: Fix stat push into dma buffer on gen p5 devices (Selvin Xavier) [1788037 1771855] - [infiniband] RDMA/bnxt_re: Fix chip number validation Broadcom's Gen P5 series (Selvin Xavier) [1788037 1783943] - [netdrv] net/mlx5e: Clear VF config when switching modes (mohamad meib) [1787276] - [base] drivers/base/memory.c: cache memory blocks in xarray to accelerate lookup fixup (David Hildenbrand) [1789900] - [base] drivers/base/memory.c: cache memory blocks in xarray to accelerate lookup (David Hildenbrand) [1789900] - [base] drivers/base/memory.c: drop the mem_sysfs_mutex (David Hildenbrand) [1789900] - [base] driver/base/memory.c: validate memory block size early (David Hildenbrand) [1789900] - [fs] block: Don't revalidate bdev of hidden gendisk (David Milburn) [1779342] - [scsi] scsi: virtio_scsi: unplug LUNs when events missed (Maxim Levitsky) [1614188] - [scsi] scsi: virtio_scsi: implement request batching (Maxim Levitsky) [1614188] - [scsi] scsi: core: fix dh and multipathing for SCSI hosts without request batching (Maxim Levitsky) [1614188] - [scsi] scsi: core: fix missing .cleanup_rq for SCSI hosts without request batching (Maxim Levitsky) [1614188] - [scsi] scsi: core: add support for request batching (Maxim Levitsky) [1614188] - [scsi] scsi: virtio_scsi: Use struct_size() helper (Maxim Levitsky) [1614188] - [scsi] scsi: virtio_scsi: remove unused 'affinity_hint_set' (Maxim Levitsky) [1614188] - [scsi] scsi: virtio_scsi: Use HCTX_TYPE_DEFAULT for blk_mq_tag_set->map (Maxim Levitsky) [1614188] - [scsi] scsi: virtio_scsi: don't send sc payload with tmfs (Maxim Levitsky) [1614188] - [scsi] scsi: virtio_scsi: Remove per-target data because it is no longer used (Maxim Levitsky) [1614188] - [powerpc] powerpc/pseries/lparcfg: Fix display of Maximum Memory (Steve Best) [1795622] - [powerpc] powernv: Don't reprogram SLW image on every KVM guest entry/exit (Laurent Vivier) [1751078] - [x86] Mark certain versions of Comet Lake as supported (David Arcari) [1794198] - [s390] s390/dasd: Disable Thin Provisioning to prevent data loss (Philipp Rudo) [1793461]- [x86] kvm: x86/mmu: Take slots_lock when using kvm_mmu_zap_all_fast() (Paolo Bonzini) [1690344] {CVE-2018-12207} - [x86] kvm: x86: disable shattered huge page recovery for PREEMPT_RT (Paolo Bonzini) [1690344] {CVE-2018-12207} - [documentation] documentation: Add ITLB_MULTIHIT documentation (Paolo Bonzini) [1690344] {CVE-2018-12207} - [x86] kvm: x86: mmu: Recovery of shattered NX large pages (Paolo Bonzini) [1690344] {CVE-2018-12207} - [virt] kvm: Add helper function for creating VM worker threads (Paolo Bonzini) [1690344] {CVE-2018-12207} - [x86] kvm: mmu: ITLB_MULTIHIT mitigation (Paolo Bonzini) [1690344] {CVE-2018-12207} - [kernel] cpu/speculation: Uninline and export CPU mitigations helpers (Paolo Bonzini) [1690344] {CVE-2018-12207} - [x86] cpu: Add Tremont to the cpu vulnerability whitelist (Paolo Bonzini) [1690344] {CVE-2018-12207} - [x86] bugs: Add ITLB_MULTIHIT bug infrastructure (Paolo Bonzini) [1690344] {CVE-2018-12207} - [x86] kvm: vmx, svm: always run with EFER.NXE=1 when shadow paging is active (Paolo Bonzini) [1690344] {CVE-2018-12207} - [crypto] crypto: hmac - fix memory leak in hmac_init_tfm() (Herbert Xu) [1775858] - [crypto] crypto: hash - fix incorrect HASH_MAX_DESCSIZE (Herbert Xu) [1775858] - [nvme] nvme: Translate more status codes to blk_status_t (Gopal Tiwari) [1781537] - [include] nvme: resync include/linux/nvme.h with nvmecli (Gopal Tiwari) [1781537] - [netdrv] hv_netvsc: Fix memory leak when removing rndis device (Mohammed Gamal) [1733007] - [fs] cifs: Fix memory allocation in __smb2_handle_cancelled_cmd() (Dave Wysochanski) [1793182] - [tools] perf c2c: Fix report with offline cpus (Michael Petlan) [1744903] - [kernel] locking/rwsem: Fix kernel crash when spinning on RWSEM_OWNER_UNKNOWN (Waiman Long) [1793028] - [mm] mm/memory_hotplug: don't free usage map when removing a re-added early section (Pingfan Liu) [1787269] - [netdrv] iavf: remove current MAC address filter on VF reset (Stefan Assmann) [1735725 1738738] - [dma] dma-mapping: fix handling of dma-ranges for reserved memory (again) (Jerry Snitselaar) [1784691]- [fs] pnfs/filelayout: enable LAYOUTGET on OPEN (Steve Dickson) [1756140] - [fs] NFSD fixing possible null pointer derefering in copy offload (Benjamin Coddington) [1763220] - [fs] nfsd: Ensure CLONE persists data and metadata changes to the target file (Benjamin Coddington) [1763220] - [net] SUNRPC: Fix backchannel latency metrics (Benjamin Coddington) [1763220] - [fs] NFSv4.x: Drop the slot if nfs4_delegreturn_prepare waits for layoutreturn (Benjamin Coddington) [1763220] - [fs] NFSv4.x: Handle bad/dead sessions correctly in nfs41_sequence_process() (Benjamin Coddington) [1763220] - [fs] NFS: Fix an RCU lock leak in nfs4_refresh_delegation_stateid() (Benjamin Coddington) [1763220] - [fs] NFSv4: Don't allow a cached open with a revoked delegation (Benjamin Coddington) [1763220] - [net] SUNRPC: Fix svcauth_gss_proxy_init() (Benjamin Coddington) [1763220] - [net] SUNRPC: The TCP back channel mustn't disappear while requests are outstanding (Benjamin Coddington) [1763220] - [net] xprtrdma: Close window between waking RPC senders and posting Receives (Benjamin Coddington) [1763220] - [net] xprtrdma: Connection becomes unstable after a reconnect (Benjamin Coddington) [1763220] - [net] xprtrdma: Add unique trace points for posting Local Invalidate WRs (Benjamin Coddington) [1763220] - [net] sunrpc: fix crash when cache_head become valid before update (Benjamin Coddington) [1763220] - [fs] nfsd4: fix up replay_matches_cache() (Benjamin Coddington) [1763220] - [fs] NFSv4: Fix leak of clp->cl_acceptor string (Benjamin Coddington) [1763220] - [fs] pNFS: Ensure we do clear the return-on-close layout stateid on fatal errors (Benjamin Coddington) [1763220] - [fs] NFS: Fix O_DIRECT accounting of number of bytes read/written (Benjamin Coddington) [1763220] - [net] SUNRPC: Fix another issue with MIC buffer space (Benjamin Coddington) [1763220] - [net] SUNRPC: Fix buffer handling of GSS MIC without slack (Benjamin Coddington) [1763220] - [fs] Revert "NFSv4/flexfiles: Abort I/O early if the layout segment was invalidated" (Benjamin Coddington) [1763220] - [net] SUNRPC: Don't handle errors if the bind/connect succeeded (Benjamin Coddington) [1763220] - [net] SUNRPC: Fix congestion window race with disconnect (Benjamin Coddington) [1763220] - [net] SUNRPC: Don't try to parse incomplete RPC messages (Benjamin Coddington) [1763220] - [net] SUNRPC: Don't receive TCP data into a request buffer that has been reset (Benjamin Coddington) [1763220] - [net] SUNRPC: Dequeue the request from the receive queue while we're re-encoding (Benjamin Coddington) [1763220] - [net] SUNRPC: Handle connection breakages correctly in call_status() (Benjamin Coddington) [1763220] - [net] xprtrdma: Toggle XPRT_CONGESTED in xprtrdma's slot methods (Benjamin Coddington) [1763220] - [fs] NFS: Ensure O_DIRECT reports an error if the bytes read/written is 0 (Benjamin Coddington) [1763220] - [fs] NFSv4/pnfs: Fix a page lock leak in nfs_pageio_resend() (Benjamin Coddington) [1763220] - [fs] NFS: Fix regression whereby fscache errors are appearing on 'nofsc' mounts (Benjamin Coddington) [1763220] - [fs] NFSv4: Fix a potential sleep while atomic in nfs4_do_reclaim() (Benjamin Coddington) [1763220] - [fs] NFSv4.1: Only reap expired delegations (Benjamin Coddington) [1763220] - [fs] NFSv4.1: Fix open stateid recovery (Benjamin Coddington) [1763220] - [fs] NFSv4: Fix a credential refcount leak in nfs41_check_delegation_stateid (Benjamin Coddington) [1763220] - [fs] NFSv4: Handle the special Linux file open access mode (Benjamin Coddington) [1763220] - [fs] nfsd: Fix overflow causing non-working mounts on 1 TB machines (Benjamin Coddington) [1763220] - [md] md: make sure desc_nr less than MD_SB_DISKS (Nigel Croxon) [1769057] - [md] md: raid1: check rdev before reference in raid1_sync_request func (Nigel Croxon) [1769057] - [md] md/raid10: prevent access of uninitialized resync_pages offset (Nigel Croxon) [1769057] - [md] md: avoid invalid memory access for array sb->dev_roles (Nigel Croxon) [1769057] - [md] md/raid1: avoid soft lockup under high load (Nigel Croxon) [1769057] - [md] md: no longer compare spare disk superblock events in super_load (Nigel Croxon) [1769057] - [md] md: improve handling of bio with REQ_PREFLUSH in md_flush_request() (Nigel Croxon) [1769057] - [md] md/bitmap: avoid race window between md_bitmap_resize and bitmap_file_clear_bit (Nigel Croxon) [1769057] - [md] md/raid0: Fix an error message in raid0_make_request() (Nigel Croxon) [1769057] - [md] md/raid0: fix warning message for parameter default_layout (Nigel Croxon) [1769057] - [netdrv] net/mlx5: DR, Init lists that are used in rule's member (Alaa Hleihel) [1775986] - [netdrv] net/mlx5: DR, No need for atomic refcount for internal SW steering resources (Alaa Hleihel) [1775986] - [netdrv] net/mlx5: DR, Create multiple destination action from dr_create_fte (Alaa Hleihel) [1775986] - [netdrv] net/mlx5: DR, Add support for multiple destination table action (Alaa Hleihel) [1775986] - [netdrv] net/mlx5: DR, Align dest FT action creation to API (Alaa Hleihel) [1775986] - [netdrv] net/mlx5: DR, Pass table flags at creation to lower layer (Alaa Hleihel) [1775986] - [netdrv] net/mlx5: DR, Create multi-destination table for SW-steering use (Alaa Hleihel) [1775986] - [netdrv] net/mlx5: DR, Create FTE entry in the FW from SW-steering (Alaa Hleihel) [1775986] - [netdrv] net/mlx5: DR, Use attributes struct for FW flow table creation (Alaa Hleihel) [1775986] - [drm] drm/amd/display: fix struct init in update_bounding_box (Don Dutile) [1784621] - [tools] perf/x86/pmu-events: Fix Kernel_Utilization metric (Michael Petlan) [1788434] - [tools] perf vendor events intel: Update all the Intel JSON metrics from TMAM 3.6 (Michael Petlan) [1788434] - [tools] perf vendor events intel: Update CascadelakeX events to v1.05 (Michael Petlan) [1788434] - [tools] cpupower: mperf_monitor: Update cpupower to use the RDPRU instruction (Janakarajan Natarajan) [1766357] - [tools] cpupower: mperf_monitor: Introduce per_cpu_schedule flag (Janakarajan Natarajan) [1766357] - [tools] cpupower: Move needs_root variable into a sub-struct (Janakarajan Natarajan) [1766357] - [mm] coredump: fix race condition between collapse_huge_page() and core dumping (Andrea Arcangeli) [1722986] - [mm] memcg, oom: don't require __GFP_FS when invoking memcg OOM killer (Waiman Long) [1791170] - [uapi] mm: move MAP_SYNC to asm-generic/mman-common.h (Jeff Moyer) [1791539]- [linux] ptr_ring: wrap back ->producer in __ptr_ring_swap_queue() (Lu Lu) [1663784] - [virtio] virtio-balloon: fix managed page counts when migrating pages between zones (David Hildenbrand) [1689800] - [infiniband] IB/mlx4: Follow mirror sequence of device add during device removal (mohamad meib) [1786042] - [netdrv] gve: Fix the queue page list allocated pages count (Patricio Noyola) [1789114] - [netdrv] gve: fix dma sync bug where not all pages synced (David Awogbemila) [1790957] - [netdrv] gve: Fixes DMA synchronization (David Awogbemila) [1789027] - [net] SUNRPC: Ignore queue transmission errors on successful transmission (Benjamin Coddington) [1769367] - [net] Revert "SUNRPC: Micro-optimise when the task is known not to be sleeping" (Benjamin Coddington) [1769367] - [net] SUNRPC: Fix up calculation of client message length (Benjamin Coddington) [1769367] - [net] Merge tag 'nfs-rdma-for-5.1-1' of git://git.linux-nfs.org/projects/anna/linux-nfs (Benjamin Coddington) [1769367] - [char] tpm: Revert "tpm_tis_core: Turn on the TPM before probing IRQ's" (Jerry Snitselaar) [1789088] - [char] tpm: Revert "tpm_tis_core: Set TPM_CHIP_FLAG_IRQ before probing for interrupts" (Jerry Snitselaar) [1789088] - [tools] perf jvmti: Link against tools/lib/ctype.h to have weak strlcpy() (Michael Petlan) [1786048] - [tools] perf jvmti: Link against tools/lib/string.o to have weak strlcpy() (Michael Petlan) [1786048] - [kernel] kprobes: Show address of kprobes if kallsyms does (Michael Petlan) [1747099] - [kernel] genirq/debugfs: Reset domain debugfs_file on removal of the debugfs file (Mohammed Gamal) [1782640] - [powerpc] powerpc: Fix 32-bit KVM-PR lockup and host crash with MacOS guest (Steve Best) [1789594]- [platform] x86: intel_pmc_core: Add Comet Lake (CML) platform support to intel_pmc_core driver (Lenny Szubowicz) [1773793] - [platform] x86: intel_pmc_core: Fix the SoC naming inconsistency (Lenny Szubowicz) [1773793] - [platform] x86: intel_pmc_core_pltdrv: Module removal warning fix (Lenny Szubowicz) [1773793] - [platform] x86: intel_pmc_core: Do not ioremap RAM (Lenny Szubowicz) [1773793] - [platform] x86: intel_pmc_ipc: Remove dev_err() usage after platform_get_irq() (Lenny Szubowicz) [1773793] - [platform] x86: intel_pmc_core: Add ICL-NNPI support to PMC Core (Lenny Szubowicz) [1773793] - [platform] x86: intel_pmc_core: Attach using APCI HID "INT33A1" (Lenny Szubowicz) [1773793] - [platform] x86: intel_pmc_core: transform Pkg C-state residency from TSC ticks into microseconds (Lenny Szubowicz) [1773793] - [platform] x86: intel_pmc: no need to check return value of debugfs_create functions (Lenny Szubowicz) [1773793] - [platform] x86: intel_pmc_core: Allow to dump debug registers on S0ix failure (Lenny Szubowicz) [1773793] - [platform] x86: intel_pmc_core: Convert to a platform_driver (Lenny Szubowicz) [1773793] - [platform] x86: intel_pmc_ipc: Don't map non-used optional resources (Lenny Szubowicz) [1773793] - [platform] x86: intel_pmc_ipc: Apply same width for offset definitions (Lenny Szubowicz) [1773793] - [platform] x86: intel_pmc_ipc: Use BIT() macro (Lenny Szubowicz) [1773793] - [platform] x86: intel_pmc_core: Mark local function static (Lenny Szubowicz) [1773793] - [platform] x86: intel_pmc_ipc: adding error handling (Lenny Szubowicz) [1773793] - [mm] memory_hotplug: cleanup __remove_pages() (Christoph von Recklinghausen) [1766491] - [mm] memory_hotplug: drop local variables in shrink_zone_span() (Christoph von Recklinghausen) [1766491] - [mm] memory_hotplug: don't check for "all holes" in shrink_zone_span() (Christoph von Recklinghausen) [1766491] - [mm] memory_hotplug: we always have a zone in find_(smallest|biggest)_section_pfn (Christoph von Recklinghausen) [1766491] - [mm] memory_hotplug: poison memmap in remove_pfn_range_from_zone() (Christoph von Recklinghausen) [1766491] - [mm] memory_hotplug: shrink zones when offlining memory (Christoph von Recklinghausen) [1766491] - [mm] memmap_init: update variable name in memmap_init_zone (Christoph von Recklinghausen) [1766491] - [mm] memory_hotplug: don't access uninitialized memmaps in shrink_zone_span() (Christoph von Recklinghausen) [1766491] - [mm] memory_hotplug: fix try_offline_node() (Christoph von Recklinghausen) [1766491] - [mm] memory_hotplug: fix updating the node span (Christoph von Recklinghausen) [1766491] - [mm] hugetlbfs: don't access uninitialized memmaps in pfn_range_valid_gigantic() (Christoph von Recklinghausen) [1766491] - [mm] memory_hotplug: don't access uninitialized memmaps in shrink_pgdat_span() (Christoph von Recklinghausen) [1766491] - [mm] page_owner: don't access uninitialized memmaps when reading /proc/pagetypeinfo (Christoph von Recklinghausen) [1766491] - [mm] memory-failure.c: don't access uninitialized memmaps in memory_failure() (Christoph von Recklinghausen) [1766491] - [fs] proc/page.c: don't access uninitialized memmaps in fs/proc/page.c (Christoph von Recklinghausen) [1766491] - [base] base/memory.c: don't access uninitialized memmaps in soft_offline_page_store() (Christoph von Recklinghausen) [1766491] - [base] base/node.c: simplify unregister_memory_block_under_nodes() (Christoph von Recklinghausen) [1766491] - [kernel] /proc/kpagecount: return 0 for special pages that are never mapped (Christoph von Recklinghausen) [1766491] - [netdrv] fm10k: fix fm10k_get_fault_pf to read correct address (Neil Horman) [1721716] - [netdrv] fm10k: convert NON_Q_VECTORS(hw) into NON_Q_VECTORS (Neil Horman) [1721716] - [netdrv] fm10k: mark unused parameters with __always_unused (Neil Horman) [1721716] - [netdrv] fm10k: cast page_addr to u8 * when incrementing it (Neil Horman) [1721716] - [netdrv] fm10k: explicitly return 0 on success path in function (Neil Horman) [1721716] - [netdrv] fm10k: remove needless initialization of size local variable (Neil Horman) [1721716] - [netdrv] fm10k: remove needless assignment of err local variable (Neil Horman) [1721716] - [netdrv] fm10k: remove unnecessary variable initializer (Neil Horman) [1721716] - [netdrv] fm10k: reduce scope of the ring variable (Neil Horman) [1721716] - [netdrv] fm10k: reduce the scope of the result local variable (Neil Horman) [1721716] - [netdrv] fm10k: reduce the scope of the local msg variable (Neil Horman) [1721716] - [netdrv] fm10k: reduce the scope of the local i variable (Neil Horman) [1721716] - [netdrv] fm10k: reduce the scope of the err variable (Neil Horman) [1721716] - [netdrv] fm10k: reduce the scope of the tx_buffer variable (Neil Horman) [1721716] - [netdrv] fm10k: reduce the scope of the q_idx local variable (Neil Horman) [1721716] - [netdrv] fm10k: reduce the scope of local err variable (Neil Horman) [1721716] - [netdrv] fm10k: reduce the scope of qv local variable (Neil Horman) [1721716] - [netdrv] fm10k: reduce scope of *p local variable (Neil Horman) [1721716] - [netdrv] fm10k: reduce scope of the err variable (Neil Horman) [1721716] - [netdrv] fm10k: Use dev_get_drvdata (Neil Horman) [1721716] - [crypto] crypto: qat - Silence smp_processor_id() warning (Neil Horman) [1723573] - [crypto] crypto: qat - use struct_size() helper (Neil Horman) [1723573] - [crypto] crypto: qat - do not offload zero length requests (Neil Horman) [1723573] - [crypto] crypto: qat - return error for block ciphers for invalid requests (Neil Horman) [1723573] - [crypto] crypto: qat - return proper error code in setkey (Neil Horman) [1723573] - [crypto] crypto: qat - fix block size for aes ctr mode (Neil Horman) [1723573] - [crypto] crypto: qat - update iv after encryption or decryption operations (Neil Horman) [1723573] - [crypto] crypto: qat - add check for negative offset in alg precompute function (Neil Horman) [1723573] - [crypto] crypto: qat - remove spin_lock in qat_ablkcipher_setkey (Neil Horman) [1723573] - [crypto] treewide: Add SPDX license identifier - Makefile/Kconfig (Neil Horman) [1723573] - [crypto] crypto: shash - remove shash_desc::flags (Neil Horman) [1723573] - [crypto] crypto: rsa - unimplement sign/verify for raw RSA backends (Neil Horman) [1723573] - [hv] Revert "hv: vmbus: Implement suspend/resume for VSC drivers for hibernation" (Mohammed Gamal) [1788082] - [hv] Revert "hv: vmbus: Ignore the offers when resuming from hibernation" (Mohammed Gamal) [1788082] - [hv] Revert "hv: vmbus: Suspend/resume the vmbus itself for hibernation" (Mohammed Gamal) [1788082] - [hv] Revert "hv: vmbus: Clean up hv_sock channels by force upon suspend" (Mohammed Gamal) [1788082] - [hv] Revert "hv: vmbus: Suspend after cleaning up hv_sock and sub channels" (Mohammed Gamal) [1788082] - [hv] Revert "hv: vmbus: Resume after fixing up old primary channels" (Mohammed Gamal) [1788082] - [hv] Revert "vmbus: Fix harmless building warnings without CONFIG_PM_SLEEP" (Mohammed Gamal) [1788082] - [x86] kvm: vmx: Introduce handle_unexpected_vmexit and handle WAITPKG vmexit (Paul Lai) [1494707] - [x86] kvm: vmx: Emulate MSR IA32_UMWAIT_CONTROL (Paul Lai) [1494707] - [x86] kvm: x86: Add support for user wait instructions (Paul Lai) [1494707] - [tools] tools arch x86: Update tools's copy of cpufeatures.h (Paul Lai) [1494707] - [kvm] KVM: x86: expose AVX512_BF16 feature to guest (Paul Lai) [1642539] - [x86] x86/cpufeatures: Enumerate the new AVX512 BFLOAT16 instructions (Paul Lai) [1642539] - [block] rbd: silence bogus uninitialized warning in rbd_object_map_update_finish() (Jeff Layton) [1777961] - [fs] ceph: increment/decrement dio counter on async requests (Jeff Layton) [1777961] - [fs] ceph: take the inode lock before acquiring cap refs (Jeff Layton) [1777961] - [scsi] scsi: lpfc: fix build failure with DEBUGFS disabled (Dick Kennedy) [1784863] - [scsi] Revert "storvsc: setup 1:1 mapping between hardware queue and CPU queue" (Cathy Avery) [1787594] - [tools] perf session: Return error code for perf_session__new() function on failure (Michael Petlan) [1754995] - [tools] perf header: Fix false warning when there are no duplicate cache entries (Michael Petlan) [1776499] - [firmware] efi/memreserve: Register reservations as 'reserved' in /proc/iomem (Bhupesh Sharma) [1772730] - [firmware] efi/memreserve: deal with memreserve entries in unmapped memory (Bhupesh Sharma) [1772730] - [powerpc] powerpc/powernv: Avoid re-registration of imc debugfs directory (Diego Domingos) [1781098] - [powerpc] powerpc/powernv: Return for invalid IMC domain (Diego Domingos) [1781098]- [tools] perf tools: Allow to link with libbpf dynamicaly (Michael Petlan) [1781570] - [tools] perf probe: Fix spelling mistake "addrees" -> "address" (Michael Petlan) [1760227] - [tools] perf probe: Trace a magic number if variable is not found (Michael Petlan) [1760227] - [tools] perf probe: Support DW_AT_const_value constant value (Michael Petlan) [1760227] - [tools] perf probe: Support multiprobe event (Michael Petlan) [1760227] - [tools] perf probe: Generate event name with line number (Michael Petlan) [1760227] - [tools] perf probe: Do not show non representive lines by perf-probe -L (Michael Petlan) [1760227] - [tools] perf probe: Verify given line is a representive line (Michael Petlan) [1760227] - [tools] perf probe: Show correct statement line number by perf probe -l (Michael Petlan) [1760227] - [tools] perf probe: Skip overlapped location on searching variables (Michael Petlan) [1760227] - [tools] perf probe: Fix to show calling lines of inlined functions (Michael Petlan) [1760227] - [tools] perf probe: Filter out instances except for inlined subroutine and subprogram (Michael Petlan) [1760227] - [tools] perf probe: Skip end-of-sequence and non statement lines (Michael Petlan) [1760227] - [tools] perf probe: Return a better scope DIE if there is no best scope (Michael Petlan) [1760227] - [tools] perf probe: Fix to show ranges of variables in functions without entry_pc (Michael Petlan) [1760227] - [tools] perf probe: Fix to show inlined function callsite without entry_pc (Michael Petlan) [1760227] - [tools] perf probe: Fix to list probe event with correct line number (Michael Petlan) [1760227] - [tools] perf probe: Fix to probe an inline function which has no entry pc (Michael Petlan) [1760227] - [tools] perf probe: Fix to probe a function which has no entry pc (Michael Petlan) [1760227] - [tools] perf probe: Fix wrong address verification (Michael Petlan) [1760227] - [tools] perf probe: Fix to show function entry line as probe-able (Michael Petlan) [1760227] - [tools] perf probe: Walk function lines in lexical blocks (Michael Petlan) [1760227] - [tools] perf probe: Fix to find range-only function instance (Michael Petlan) [1760227] - [scsi] qla2xxx: Fix incorrect SFUB length used for Secure Flash Update MB Cmd (Himanshu Madhani) [1782598] - [scsi] qla2xxx: Added support for MPI and PEP regions for ISP28XX (Himanshu Madhani) [1782598] - [scsi] qla2xxx: Correctly retrieve and interpret active flash region (Himanshu Madhani) [1782598] - [nvme] nvme: Add quirk for LiteON CL1 devices running FW 22301111 (Perry Yuan) [1769179] - [nvme] nvme-pci: Save PCI state before putting drive into deepest state (Perry Yuan) [1769180] - [infiniband] rdma/cxgb4: Fix spelling mistake "immedate" -> "immediate" (Vishal Kulkarni) [1725823] - [infiniband] rdma/cxgb4: Fix null pointer dereference on alloc_skb failure (Vishal Kulkarni) [1725823] - [infiniband] iw_cxgb4: Fix qpid leak (Vishal Kulkarni) [1725823] - [netdrv] net/mlx5e: Use correct enum to determine uplink port (mohamad meib) [1786113] - [netdrv] net/mlx5e: Fix concurrency issues between config flow and XSK (mohamad meib) [1786113] - [infiniband] IB/mlx5: Fix steering rule of drop and count (mohamad meib) [1786113] - [netdrv] net/mlx5e: ethtool, Fix analysis of speed setting (mohamad meib) [1786113] - [netdrv] net/mlx5e: Fix translation of link mode into speed (mohamad meib) [1786113] - [netdrv] net/mlx5e: Fix free peer_flow when refcount is 0 (mohamad meib) [1786113] - [netdrv] net/mlx5e: Fix freeing flow with kfree() and not kvfree() (mohamad meib) [1786113] - [netdrv] net/mlx5e: Fix SFF 8472 eeprom length (mohamad meib) [1786113] - [netdrv] net/mlx5e: Query global pause state before setting prio2buffer (mohamad meib) [1786113] - [netdrv] net/mlx5e: Fix TXQ indices to be sequential (mohamad meib) [1786113] - [infiniband] RDMA/mlx5: Fix a race with mlx5_ib_update_xlt on an implicit MR (mohamad meib) [1786113] - [netdrv] ath10k: Fix a NULL-ptr-deref bug in ath10k_usb_alloc_urb_from_pipe (Jarod Wilson) [1783853] {CVE-2019-15099} - [netdrv] revert "[netdrv] ice: mark driver as tech-preview" (Jonathan Toppins) [1783062] - [netdrv] ibmvnic: Fix typo in retry check (Steve Best) [1783775] - [netdrv] ibmveth: Detect unsupported packets before sending to the hypervisor (Steve Best) [1784904] - [netdrv] igc: add additional delay during phy hw reset (David Arcari) [1782824] - [net] bridge: fix regression in br_mdb_fill_info() (Petr Oros) [1783888] - [net] bpf: Emit audit messages upon successful prog load and unload (Jiri Olsa) [1781266] - [fs] fuse: fix leak of fuse_io_priv (Miklos Szeredi) [1777009] - [fs] virtiofs: Check contents of options string (Vivek Goyal) [1783426] - [fs] exec: Fix mem leak in kernel_read_file (Eric Sandeen) [1683731] {CVE-2019-8980} - [lib] sbitmap: only queue kyber's wait callback if not already active (Ming Lei) [1784544] - [fs] CIFS: Fix NULL-pointer dereference in smb2_push_mandatory_locks (Dave Wysochanski) [1788202] - [kernel] ftrace: Check for successful allocation of hash (Desnes Augusto Nunes do Rosario) [1719414] - [kernel] ftrace: Check for empty hash and comment the race with registering probes (Desnes Augusto Nunes do Rosario) [1719414] - [kernel] ftrace: Fix NULL pointer dereference in t_probe_next() (Desnes Augusto Nunes do Rosario) [1719414] - [iommu] vt-d: Allocate reserved region for ISA with correct permission (Jerry Snitselaar) [1778041] - [iommu] set group default domain before creating direct mappings (Jerry Snitselaar) [1778041] - [iommu] vt-d: Fix dmar pte read access not set error (Jerry Snitselaar) [1778041] - [iommu] vt-d: Set ISA bridge reserved region as relaxable (Jerry Snitselaar) [1778041] - [iommu] fix KASAN use-after-free in iommu_insert_resv_region (Auger Eric) [1777014] - [platform] platform/x86: dell-laptop: fix rfkill functionality (Jarod Wilson) [1725878] - [mm] mm/hugetlb: defer freeing of huge pages if in non-task context (Waiman Long) [1780015] - [mm] powerpc/book3s64/hash: Use secondary hash for bolted mapping if the primary is full (Steve Best) [1783159] - [mm] powerpc/pseries: Don't fail hash page table insert for bolted mapping (Steve Best) [1783159] - [powerpc] powerpc/pseries: Don't opencode HPTE_V_BOLTED (Steve Best) [1783159] - [powerpc] powerpc/perf: Disable trace_imc pmu (Steve Best) [1785573] - [powerpc] powerpc/spinlocks: Include correct header for static key (Phil Auld) [1767529] - [powerpc] powerpc/shared: Use static key to detect shared processor (Phil Auld) [1767529] - [powerpc] powerpc/vcpu: Assume dedicated processors as non-preempt (Phil Auld) [1767529] - [arm64] arm64: compat: Workaround Neoverse-N1 #1542419 for compat user-space (Jeremy Linton) [1757828] - [arm64] arm64: Fake the IminLine size on systems affected by Neoverse-N1 #1542419 (Jeremy Linton) [1757828] - [arm64] arm64: errata: Hide CTR_EL0.DIC on systems affected by Neoverse-N1 #1542419 (Jeremy Linton) [1757828] - [arm64] arm64: Handle erratum 1418040 as a superset of erratum 1188873 (Jeremy Linton) [1757828] - [arm64] arm64: errata: Add workaround for Cortex-A76 erratum #1463225 (Jeremy Linton) [1757828] - [arm64] arm64: Kconfig: Tidy up errata workaround help text (Jeremy Linton) [1757828] - [arm64] arm64: Apply ARM64_ERRATUM_1188873 to Neoverse-N1 (Jeremy Linton) [1757828] - [arm64] arm64: Add part number for Neoverse N1 (Jeremy Linton) [1757828] - [arm64] arm64: Make ARM64_ERRATUM_1188873 depend on COMPAT (Jeremy Linton) [1757828] - [clocksource] arm64: Restrict ARM64_ERRATUM_1188873 mitigation to AArch32 (Jeremy Linton) [1757828] - [arm64] arm64: arch_timer: avoid unused function warning (Jeremy Linton) [1757828] - [arm64] arm64: Add workaround for Cortex-A76 erratum 1286807 (Jeremy Linton) [1757828]- [kernel] audit: remove redundant condition check in kauditd_thread() (Richard Guy Briggs) [1716002] - [kernel] audit: Report suspicious O_CREAT usage (Richard Guy Briggs) [1716002] - [fs] namei: allow restricted O_CREAT of FIFOs and regular files (Richard Guy Briggs) [1716002] - [kernel] audit_get_nd(): don't unlock parent too early (Richard Guy Briggs) [1716002] - [fs] namei.c: keep track of nd->root refcount status (Richard Guy Briggs) [1716002] - [fs] namei.c: new helper - legitimize_root() (Richard Guy Briggs) [1716002] - [kernel] kill the last users of user_{path, lpath, path_dir}() (Richard Guy Briggs) [1716002] - [kernel] namei.h: get the comments on LOOKUP_... in sync with reality (Richard Guy Briggs) [1716002] - [kernel] kill LOOKUP_NO_EVAL, don't bother including namei.h from audit.h (Richard Guy Briggs) [1716002] - [kernel] audit_inode(): switch to passing AUDIT_INODE_.. (Richard Guy Briggs) [1716002] - [fs] filename_mountpoint(): make LOOKUP_NO_EVAL unconditional there (Richard Guy Briggs) [1716002] - [fs] filename_lookup(): audit_inode() argument is always 0 (Richard Guy Briggs) [1716002] - [kernel] audit: remove the BUG() calls in the audit rule comparison functions (Richard Guy Briggs) [1716002] - [kernel] audit: enforce op for string fields (Richard Guy Briggs) [1716002] - [kernel] audit: deliver signal_info regarless of syscall (Richard Guy Briggs) [1716002] - [fs] fsnotify: fix unlink performance regression (Richard Guy Briggs) [1716002] - [kernel] audit_compare_dname_path(): switch to const struct qstr * (Richard Guy Briggs) [1716002] - [kernel] audit_update_watch(): switch to const struct qstr * (Richard Guy Briggs) [1716002] - [fs] inotify_handle_event(): don't bother with strlen() (Richard Guy Briggs) [1716002] - [kernel] fsnotify: switch send_to_group() and ->handle_event to const struct qstr * (Richard Guy Briggs) [1716002] - [kernel] fsnotify(): switch to passing const struct qstr * for file_name (Richard Guy Briggs) [1716002] - [kernel] switch fsnotify_move() to passing const struct qstr * for old_name (Richard Guy Briggs) [1716002] - [fs] ovl_lookup_real_one(): don't bother with strlen() (Richard Guy Briggs) [1716002] - [kernel] audit: fix a memory leak bug (Richard Guy Briggs) [1716002] - [kernel] audit: purge unnecessary list_empty calls (Richard Guy Briggs) [1716002] - [security] audit: link integrity evm_write_xattrs record to syscall event (Richard Guy Briggs) [1716002] - [csky] syscall_get_arch: add "struct task_struct *" argument (Richard Guy Briggs) [1716002] - [kernel] audit: Make audit_log_cap and audit_copy_inode static (Richard Guy Briggs) [1716002] - [kernel] audit: connect LOGIN record to its syscall record (Richard Guy Briggs) [1716002] - [kernel] audit: fix a memleak caused by auditing load module (Richard Guy Briggs) [1716002] - [kernel] fanotify: check FS_ISDIR flag instead of d_is_dir() (Richard Guy Briggs) [1716002] - [kernel] fsnotify: report FS_ISDIR flag with MOVE_SELF and DELETE_SELF events (Richard Guy Briggs) [1716002] - [kernel] fsnotify: annotate directory entry modification events (Richard Guy Briggs) [1716002] - [kernel] audit: mark expected switch fall-through (Richard Guy Briggs) [1716002] - [kernel] audit: hide auditsc_get_stamp and audit_serial prototypes (Richard Guy Briggs) [1716002] - [tty] audit: join tty records to their syscall (Richard Guy Briggs) [1716002] - [kernel] audit: remove audit_context when CONFIG_ AUDIT and not AUDITSYSCALL (Richard Guy Briggs) [1716002] - [kernel] audit: remove unused actx param from audit_rule_match (Richard Guy Briggs) [1716002] - [kernel] audit: ignore fcaps on umount (Richard Guy Briggs) [1716002] - [kernel] audit: clean up AUDITSYSCALL prototypes and stubs (Richard Guy Briggs) [1716002] - [kernel] audit: more filter PATH records keyed on filesystem magic (Richard Guy Briggs) [1716002] - [kernel] audit: add support for fcaps v3 (Richard Guy Briggs) [1716002] - [kernel] audit: move loginuid and sessionid from CONFIG_AUDITSYSCALL to CONFIG_AUDIT (Richard Guy Briggs) [1716002] - [kernel] audit: add syscall information to CONFIG_CHANGE records (Richard Guy Briggs) [1716002] - [kernel] audit: hand taken context to audit_kill_trees for syscall logging (Richard Guy Briggs) [1716002] - [kernel] audit: give a clue what CONFIG_CHANGE op was involved (Richard Guy Briggs) [1716002] - [kernel] audit: remove duplicated include from audit.c (Richard Guy Briggs) [1716002] - [kernel] audit: shorten PATH cap values when zero (Richard Guy Briggs) [1716002] - [kernel] audit: use current whenever possible (Richard Guy Briggs) [1716002] - [kernel] audit: minimize our use of audit_log_format() (Richard Guy Briggs) [1716002] - [kernel] audit: remove WATCH and TREE config options (Richard Guy Briggs) [1716002] - [kernel] audit: use session_info helper (Richard Guy Briggs) [1716002] - [kernel] audit: localize audit_log_session_info prototype (Richard Guy Briggs) [1716002] - [kernel] audit: Use 'mark' name for fsnotify_mark variables (Richard Guy Briggs) [1716002] - [kernel] audit: Replace chunk attached to mark instead of replacing mark (Richard Guy Briggs) [1716002] - [kernel] audit: Simplify locking around untag_chunk() (Richard Guy Briggs) [1716002] - [kernel] audit: Drop all unused chunk nodes during deletion (Richard Guy Briggs) [1716002] - [kernel] audit: Guarantee forward progress of chunk untagging (Richard Guy Briggs) [1716002] - [kernel] audit: Allocate fsnotify mark independently of chunk (Richard Guy Briggs) [1716002] - [kernel] audit: Provide helper for dropping mark's chunk reference (Richard Guy Briggs) [1716002] - [kernel] audit: Remove pointless check in insert_hash() (Richard Guy Briggs) [1716002] - [kernel] audit: Factor out chunk replacement code (Richard Guy Briggs) [1716002] - [kernel] audit: Make hash table insertion safe against concurrent lookups (Richard Guy Briggs) [1716002] - [kernel] audit: Embed key into chunk (Richard Guy Briggs) [1716002] - [kernel] audit: Fix possible tagging failures (Richard Guy Briggs) [1716002] - [kernel] audit: Fix possible spurious -ENOSPC error (Richard Guy Briggs) [1716002] - [kernel] audit_tree: Remove mark->lock locking (Richard Guy Briggs) [1716002] - [kernel] audit: print empty EXECVE args (Richard Guy Briggs) [1716002] - [security] evm: fix return value check in evm_write_xattrs() (Richard Guy Briggs) [1716002] - [kernel] audit: fix use-after-free in audit_add_watch (Richard Guy Briggs) [1716002] - [kernel] audit: use ktime_get_coarse_real_ts64() for timestamps (Richard Guy Briggs) [1716002] - [kernel] audit: use ktime_get_coarse_ts64() for time access (Richard Guy Briggs) [1716002] - [kernel] audit: simplify audit_enabled check in audit_watch_log_rule_change() (Richard Guy Briggs) [1716002] - [kernel] audit: check audit_enabled in audit_tree_log_remove_rule() (Richard Guy Briggs) [1716002] - [kernel] cred: conditionally declare groups-related functions (Richard Guy Briggs) [1716002] - [kernel] audit: eliminate audit_enabled magic number comparison (Richard Guy Briggs) [1716002] - [kernel] audit: Fix extended comparison of GID/EGID (Richard Guy Briggs) [1716002] - [kernel] audit: tie ANOM_ABEND records to syscall (Richard Guy Briggs) [1716002] - [kernel] audit: tie SECCOMP records to syscall (Richard Guy Briggs) [1716002] - [kernel] audit: allow other filter list types for AUDIT_EXE (Richard Guy Briggs) [1716002] - [documentation] admin guide/pm: Admin guide for intel-speed-select (Prarit Bhargava) [1766228] - [tools] power/x86/intel-speed-select: Display TRL buckets for just base config level (Prarit Bhargava) [1766228] - [tools] power/x86/intel-speed-select: Ignore missing config level (Prarit Bhargava) [1766228] - [tools] power/x86/intel-speed-select: Increment version (Prarit Bhargava) [1766228] - [tools] power/x86/intel-speed-select: Use core count for base-freq mask (Prarit Bhargava) [1766228] - [tools] power/x86/intel-speed-select: Support platform with limited Intel(R) Speed Select (Prarit Bhargava) [1766228] - [tools] power/x86/intel-speed-select: Use Frequency weight for CLOS (Prarit Bhargava) [1766228] - [tools] power/x86/intel-speed-select: Make CLOS frequency in MHz (Prarit Bhargava) [1766228] - [tools] power/x86/intel-speed-select: Use mailbox for CLOS_PM_QOS_CONFIG (Prarit Bhargava) [1766228] - [tools] power/x86/intel-speed-select: Auto mode for CLX (Prarit Bhargava) [1766228] - [tools] power/x86/intel-speed-select: Correct CLX-N frequency units (Prarit Bhargava) [1766228] - [tools] power/x86/intel-speed-select: Change display of "avx" to "avx2" (Prarit Bhargava) [1766228] - [tools] power/x86/intel-speed-select: Extend command set for perf-profile (Prarit Bhargava) [1766228] - [tools] power/x86/intel-speed-select: Implement base-freq commands on CascadeLake-N (Prarit Bhargava) [1766228] - [tools] power/x86/intel-speed-select: Implement 'perf-profile info' on CascadeLake-N (Prarit Bhargava) [1766228] - [tools] power/x86/intel-speed-select: Implement CascadeLake-N help and command functions structures (Prarit Bhargava) [1766228] - [tools] power/x86/intel-speed-select: Add check for CascadeLake-N models (Prarit Bhargava) [1766228] - [tools] power/x86/intel-speed-select: Make process_command generic (Prarit Bhargava) [1766228] - [tools] power/x86/intel-speed-select: Add int argument to command functions (Prarit Bhargava) [1766228] - [tools] power/x86/intel-speed-select: Refuse to disable core-power when getting used (Prarit Bhargava) [1766228] - [tools] power/x86/intel-speed-select: Turbo-freq feature auto mode (Prarit Bhargava) [1766228] - [tools] power/x86/intel-speed-select: Base-freq feature auto mode (Prarit Bhargava) [1766228] - [tools] power/x86/intel-speed-select: Remove warning for unused result (Prarit Bhargava) [1766228] - [tools] power/x86/intel-speed-select: Fix perf-profile command output (Prarit Bhargava) [1766228] - [tools] power/x86/intel-speed-select: Extend core-power command set (Prarit Bhargava) [1766228] - [tools] power/x86/intel-speed-select: Fix some debug prints (Prarit Bhargava) [1766228] - [tools] power/x86/intel-speed-select: Format get-assoc information (Prarit Bhargava) [1766228] - [tools] power/x86/intel-speed-select: Allow online/offline based on tdp (Prarit Bhargava) [1766228] - [tools] power/x86/intel-speed-select: Fix high priority core mask over count (Prarit Bhargava) [1766228] - [tools] power/x86/intel-speed-select: Display core count for bucket (Prarit Bhargava) [1766228] - [platform] x86: isst: Allow additional TRL MSRs (Prarit Bhargava) [1766228] - [tools] power/x86/intel-speed-select: Fix memory leak (Prarit Bhargava) [1766228] - [tools] power/x86/intel-speed-select: Output success/failed for command output (Prarit Bhargava) [1766228] - [tools] power/x86/intel-speed-select: Output human readable CPU list (Prarit Bhargava) [1766228] - [tools] power/x86/intel-speed-select: Change turbo ratio output to maximum turbo frequency (Prarit Bhargava) [1766228] - [tools] power/x86/intel-speed-select: Switch output to MHz (Prarit Bhargava) [1766228] - [tools] power/x86/intel-speed-select: Simplify output for turbo-freq and base-freq (Prarit Bhargava) [1766228] - [tools] power/x86/intel-speed-select: Fix cpu-count output (Prarit Bhargava) [1766228] - [tools] power/x86/intel-speed-select: Fix help option typo (Prarit Bhargava) [1766228] - [tools] power/x86/intel-speed-select: Fix package typo (Prarit Bhargava) [1766228] - [tools] power/x86/intel-speed-select: Fix a read overflow in isst_set_tdp_level_msr() (Prarit Bhargava) [1766228] - [platform] x86: isst: Use dev_get_drvdata (Prarit Bhargava) [1766228] - [tools] power/x86/intel-speed-select: Add .gitignore file (Prarit Bhargava) [1766228] - [tools] tools/power/x86: A tool to validate Intel Speed Select commands (Prarit Bhargava) [1766228] - [platform] x86: isst: Restore state on resume (Prarit Bhargava) [1766228] - [platform] x86: isst: Add Intel Speed Select PUNIT MSR interface (Prarit Bhargava) [1766228] - [platform] x86: isst: Add Intel Speed Select mailbox interface via MSRs (Prarit Bhargava) [1766228] - [platform] x86: isst: Add Intel Speed Select mailbox interface via PCI (Prarit Bhargava) [1766228] - [platform] x86: isst: Add Intel Speed Select mmio interface (Prarit Bhargava) [1766228] - [platform] x86: isst: Add IOCTL to Translate Linux logical CPU to PUNIT CPU number (Prarit Bhargava) [1766228] - [platform] x86: isst: Store per CPU information (Prarit Bhargava) [1766228] - [platform] x86: isst: Add common API to register and handle ioctls (Prarit Bhargava) [1766228] - [documentation] platform/x86: isst: Update ioctl-number.txt for Intel Speed Select interface (Prarit Bhargava) [1766228]- [tools] libbpf: Refactor relocation handling (Yauheni Kaliuta) [1772081] - [tools] libbpf: Fix call relocation offset calculation bug (Yauheni Kaliuta) [1772081] - [tools] libbpf: Fix bpf_object name determination for bpf_object__open_file() (Yauheni Kaliuta) [1772081] - [tools] libbpf: return previous print callback from libbpf_set_print (Yauheni Kaliuta) [1772081] - [tools] libbpf: fix bpf_object__name() to actually return object name (Yauheni Kaliuta) [1772081] - [tools] selftests/bpf: Make CO-RE reloc test impartial to test_progs flavor (Yauheni Kaliuta) [1772081] - [tools] selftests/bpf: Add BPF_CORE_READ and BPF_CORE_READ_STR_INTO macro tests (Yauheni Kaliuta) [1772081] - [tools] bpftool: Allow to read btf as raw data (Yauheni Kaliuta) [1772081] - [tools] bpftool: implement "bpftool btf show|list" (Yauheni Kaliuta) [1772081] - [tools] libbpf: add bpf_btf_get_next_id() to cycle through BTF objects (Jiri Olsa) [1772081] - [tools] libbpf: refactor bpf_*_get_next_id() functions (Yauheni Kaliuta) [1772081] - [tools] bpf: synchronise BPF UAPI header with tools (Yauheni Kaliuta) [1772081] - [tools] libbpf: attempt to load kernel BTF from sysfs first (Yauheni Kaliuta) [1772081] - [tools] libbpf: Add getter for program size (Yauheni Kaliuta) [1772081] - [tools] libbpf: Add bpf_get_link_xdp_info() function to get more XDP information (Yauheni Kaliuta) [1772081] - [tools] libbpf: Use pr_warn() when printing netlink errors (Yauheni Kaliuta) [1772081] - [tools] libbpf: Propagate EPERM to caller on program load (Yauheni Kaliuta) [1772081] - [tools] libbpf: Unpin auto-pinned maps if loading fails (Yauheni Kaliuta) [1772081] - [tools] libbpf: Add auto-pinning of maps when loading BPF objects (Yauheni Kaliuta) [1772081] - [tools] libbpf: Teach bpf_object__open to guess program types (Yauheni Kaliuta) [1772081] - [tools] libbpf: Add bpf_program__get_{type, expected_attach_type) APIs (Yauheni Kaliuta) [1772081] - [tools] libbpf: Move directory creation into _pin() functions (Yauheni Kaliuta) [1772081] - [tools] libbpf: Store map pin path and status in struct bpf_map (Yauheni Kaliuta) [1772081] - [tools] libbpf: Fix error handling in bpf_map__reuse_fd() (Yauheni Kaliuta) [1772081] - [tools] libbpf: Make DECLARE_LIBBPF_OPTS macro strictly a variable declaration (Yauheni Kaliuta) [1772081] - [tools] bpftool: Fix bpftool build by switching to bpf_object__open_file() (Yauheni Kaliuta) [1772081] - [tools] bpf: Rename pr_warning to pr_warn to align with kernel logging (Yauheni Kaliuta) [1772081] - [tools] libbpf: provide more helpful message on uninitialized global var (Yauheni Kaliuta) [1772081] - [tools] selftests/bpf: Add field existence CO-RE relocs tests (Yauheni Kaliuta) [1772081] - [tools] libbpf: Add support for field existance CO-RE relocation (Yauheni Kaliuta) [1772081] - [tools] libbpf: Update BTF reloc support to latest Clang format (Yauheni Kaliuta) [1772081] - [tools] libbpf: Add BPF_CORE_READ/BPF_CORE_READ_INTO helpers (Yauheni Kaliuta) [1772081] - [tools] libbpf: Refactor bpf_object__open APIs to use common opts (Yauheni Kaliuta) [1772081] - [tools] libbpf: Move bpf_{helpers, helper_defs, endian, tracing}.h into libbpf (Jiri Olsa) [1772081] - [tools] uapi/bpf: fix helper docs (Yauheni Kaliuta) [1772081] - [tools] bpf: sync bpf.h to tools/ (Yauheni Kaliuta) [1772081] - [uapi] bpf: fix 'struct pt_reg' typo in documentation (Yauheni Kaliuta) [1772081] - [tools] libbpf: Fix BTF-defined map's __type macro handling of arrays (Yauheni Kaliuta) [1772081] - [scripts] bpf: Print an error when known types list needs updating (Yauheni Kaliuta) [1772081] - [scripts] bpf: Emit an #error directive known types list needs updating (Yauheni Kaliuta) [1772081] - [scripts] bpf: Fix xdp_md forward declaration typo (Yauheni Kaliuta) [1772081] - [scripts] bpf: teach bpf_helpers_doc.py to dump BPF helper definitions (Yauheni Kaliuta) [1772081] - [tools] selftests/bpf: Split off tracing-only helpers into bpf_tracing.h (Yauheni Kaliuta) [1772081] - [tools] selftests/bpf: samples/bpf: Split off legacy stuff from bpf_helpers.h (Yauheni Kaliuta) [1772081] - [tools] selftests/bpf: Undo GCC-specific bpf_helpers.h changes (Yauheni Kaliuta) [1772081] - [tools] libbpf: auto-generate list of BPF helper definitions (Yauheni Kaliuta) [1772081] - [tools] selftests/bpf: add bpf-gcc support (Yauheni Kaliuta) [1772081] - [tools] selftests/bpf: bpf_tcp_gen_syncookie->bpf_helpers (Yauheni Kaliuta) [1772081] - [tools] libbpf: relicense bpf_helpers.h and bpf_endian.h (Yauheni Kaliuta) [1772081] - [tools] selftests/bpf: introduce bpf_cpu_to_be64 and bpf_be64_to_cpu (Yauheni Kaliuta) [1772081] - [tools] selftests/bpf: Adjust CO-RE reloc tests for new bpf_core_read() macro (Yauheni Kaliuta) [1772081] - [tools] bpf: fix core_reloc.c compilation error (Yauheni Kaliuta) [1772081] - [tools] libbpf: add bpf_object__open_{file, mem} w/ extensible opts (Yauheni Kaliuta) [1772081] - [tools] libbpf: make libbpf.map source of truth for libbpf version (Yauheni Kaliuta) [1772081] - [tools] libbpf: stop enforcing kern_version, populate it for users (Yauheni Kaliuta) [1772081] - [tools] selftests/bpf: add CO-RE relocs misc tests (Yauheni Kaliuta) [1772081] - [tools] selftests/bpf: add CO-RE relocs ints tests (Yauheni Kaliuta) [1772081] - [tools] selftests/bpf: add CO-RE relocs ptr-as-array tests (Yauheni Kaliuta) [1772081] - [tools] selftests/bpf: add CO-RE relocs modifiers/typedef tests (Yauheni Kaliuta) [1772081] - [tools] selftests/bpf: add CO-RE relocs enum/ptr/func_proto tests (Yauheni Kaliuta) [1772081] - [tools] selftests/bpf: add CO-RE relocs array tests (Yauheni Kaliuta) [1772081] - [tools] selftests/bpf: add CO-RE relocs nesting tests (Yauheni Kaliuta) [1772081] - [tools] selftests/bpf: add CO-RE relocs struct flavors tests (Yauheni Kaliuta) [1772081] - [tools] selftests/bpf: add CO-RE relocs testing setup (Yauheni Kaliuta) [1772081] - [tools] selftests/bpf: add BPF_CORE_READ relocatable read macro (Yauheni Kaliuta) [1772081] - [tools] libbpf: implement BPF CO-RE offset relocation algorithm (Yauheni Kaliuta) [1772081] - [tools] libbpf: add .BTF.ext offset relocation section loading (Yauheni Kaliuta) [1772081] - [tools] libbpf: convert libbpf code to use new btf helpers (Yauheni Kaliuta) [1772081] - [tools] libbpf: add helpers for working with BTF types (Yauheni Kaliuta) [1772081] - [gpu] drm/i915: Add new CNL PCH ID seen on a CML platform (Lyude Paul) [1771779] - [gpu] drm/amdgpu: add warning for GRBM 1-cycle delay issue in gfx9 (Lyude Paul) [1771779] - [gpu] drm/amdgpu: register gpu instance before fan boost feature enablment (Lyude Paul) [1771779] - [gpu] drm/amd/swsmu: fix smu workload bit map error (Lyude Paul) [1771779] - [gpu] drm/amdgpu: dont schedule jobs while in reset (Lyude Paul) [1771779] - [gpu] drm/i915/userptr: Try to acquire the page lock around set_page_dirty() (Lyude Paul) [1771779] - [gpu] drm/i915/pmu: "Frequency" is reported as accumulated cycles (Lyude Paul) [1771779] - [gpu] drm/i915: Don't oops in dumb_create ioctl if we have no crtcs (Lyude Paul) [1771779] - [gpu] drm/amd/powerplay: issue no PPSMC_MSG_GetCurrPkgPwr on unsupported ASICs (Lyude Paul) [1771779] - [gpu] drm/amdgpu: disable gfxoff on original raven (Lyude Paul) [1771779] - [gpu] drm/amdgpu: disable gfxoff when using register read interface (Lyude Paul) [1771779] - [gpu] revert "drm/i915/ehl: Update MOCS table for EHL" (Lyude Paul) [1771779] - [gpu] drm/i915: update rawclk also on resume (Lyude Paul) [1771779] - [gpu] dc.c:use kzalloc without test (Lyude Paul) [1771779] - [gpu] drm/amd/display: Passive DP->HDMI dongle detection fix (Lyude Paul) [1771779] - [gpu] drm/amd/display: add 50us buffer as WA for pstate switch in active (Lyude Paul) [1771779] - [gpu] drm/amd/display: do not synchronize "drr" displays (Lyude Paul) [1771779] - [gpu] drm/amdgpu: If amdgpu_ib_schedule fails return back the error (Lyude Paul) [1771779] - [gpu] drm/sched: Set error to s_fence if HW job submission failed (Lyude Paul) [1771779] - [gpu] drm/amdgpu/sdma5: do not execute 0-sized IBs (v2) (Lyude Paul) [1771779] - [gpu] drm/radeon: fix si_enable_smc_cac() failed issue (Lyude Paul) [1771779] - [gpu] drm/amdgpu: fix error handling in amdgpu_bo_list_create (Lyude Paul) [1771779] - [gpu] drm/amdgpu: fix potential VM faults (Lyude Paul) [1771779] - [gpu] drm/amdgpu: Fix SDMA hang when performing VKexample test (Lyude Paul) [1771779] - [gpu] drm/amdgpu/powerplay/vega10: allow undervolting in p7 (Lyude Paul) [1771779] - [gpu] drm/amdgpu/gfx10: update gfx golden settings (Lyude Paul) [1771779] - [gpu] drm/i915: Fix PCH reference clock for FDI on HSW/BDW (Lyude Paul) [1771779] - [gpu] drm/amdgpu/gmc10: properly set BANK_SELECT and FRAGMENT_SIZE (Lyude Paul) [1771779] - [gpu] drm/amdgpu: fix memory leak (Lyude Paul) [1771779] - [gpu] drm/amdgpu: user pages array memory leak fix (Lyude Paul) [1771779] - [gpu] drm/amdgpu/uvd7: fix allocation size in enc ring test (v2) (Lyude Paul) [1771779] - [gpu] drm/amdgpu/uvd6: fix allocation size in enc ring test (v2) (Lyude Paul) [1771779] - [gpu] drm/amdgpu/vcn: fix allocation size in enc ring test (Lyude Paul) [1771779] - [gpu] drm/amdgpu/vce: fix allocation size in enc ring test (Lyude Paul) [1771779] - [gpu] drm/i915: Favor last VBT child device with conflicting AUX ch/DDC pin (Lyude Paul) [1771779] - [gpu] drm/i915/userptr: Never allow userptr into the mappable GGTT (Lyude Paul) [1771779] - [gpu] drm/amdgpu/sdma5: fix mask value of POLL_REGMEM packet for pipe sync (Lyude Paul) [1771779] - [gpu] drm/amdgpu: Bail earlier when amdgpu.cik_/si_support is not set to 1 (Lyude Paul) [1771779] - [gpu] drm/ttm: Restore ttm prefaulting (Lyude Paul) [1771779] - [gpu] drm/edid: Add 6 bpc quirk for SDC panel in Lenovo G50 (Lyude Paul) [1771779] - [gpu] drm/amd/display: memory leak (Lyude Paul) [1771779] - [gpu] drm/amdgpu: fix multiple memory leaks in acp_hw_init (Lyude Paul) [1771779] - [gpu] drm: Clear the fence pointer when writeback job signaled (Lyude Paul) [1771779] - [gpu] drm: Free the writeback_job when it with an empty fb (Lyude Paul) [1771779] - [gpu] drm/i915: Mark contents as dirty on a write fault (Lyude Paul) [1771779] - [gpu] drm/i915: Whitelist COMMON_SLICE_CHICKEN2 (Lyude Paul) [1771779] - [gpu] drm/i915: Bump skl+ max plane width to 5k for linear/x-tiled (Lyude Paul) [1771779] - [gpu] drm/i915: Perform GGTT restore much earlier during resume (Lyude Paul) [1771779] - [gpu] drm/radeon: Bail earlier when radeon.cik_/si_support=0 is passed (Lyude Paul) [1771779] - [gpu] drm/amdgpu: Check for valid number of registers to read (Lyude Paul) [1771779] - [gpu] drm/amdgpu: Fix KFD-related kernel oops on Hawaii (Lyude Paul) [1771779] - [gpu] drm/i915: to make vgpu ppgtt notificaiton as atomic operation (Lyude Paul) [1771779] - [gpu] drm/i915/gvt: update vgpu workload head pointer correctly (Lyude Paul) [1771779] - [gpu] drm/amd/powerplay: change metrics update period from 1ms to 100ms (Lyude Paul) [1771779] - [gpu] drm/nouveau/kms/nv50-: Don't create MSTMs for eDP connectors (Lyude Paul) [1771779] - [gpu] drm/atomic: Take the atomic toys away from X (Lyude Paul) [1771779] - [gpu] drm/atomic: Reject FLIP_ASYNC unconditionally (Lyude Paul) [1771779] - [gpu] drm/i915/dp: Fix dsc bpp calculations, v5 (Lyude Paul) [1771779] - [dma-buf] sw_sync: Synchronize signal vs syncpt free (Lyude Paul) [1771779] - [gpu] drm/amdgpu/si: fix ASIC tests (Lyude Paul) [1771779] - [gpu] drm/amd/display: fix trigger not generated for freesync (Lyude Paul) [1771779] - [gpu] drm/amd/display: fix MPO HUBP underflow with Scatter Gather (Lyude Paul) [1771779] - [gpu] drm/amd/powerpaly: fix navi series custom peak level value error (Lyude Paul) [1771779] - [gpu] drm/amd/display: support spdif (Lyude Paul) [1771779] - [gpu] drm/nouveau/volt: Fix for some cards having 0 maximum voltage (Lyude Paul) [1771779] - [gpu] drm/nouveau/kms/tu102-: disable input lut when input is already FP16 (Lyude Paul) [1771779] - [gpu] drm/amdgpu/sdma5: fix number of sdma5 trap irq types for navi1x (Lyude Paul) [1771779] - [gpu] drm/amd/display: Register VUPDATE_NO_LOCK interrupts for DCN2 (Lyude Paul) [1771779] - [gpu] drm/amd/display: reprogram VM config when system resume (Lyude Paul) [1771779] - [gpu] drm/amd/display: Fix frames_to_insert math (Lyude Paul) [1771779] - [gpu] drm/amd/display: fix issue where 252-255 values are clipped (Lyude Paul) [1771779] - [gpu] drm: radeon: Fix a possible null-pointer dereference in radeon_connector_set_property() (Lyude Paul) [1771779] - [gpu] revert "drm/radeon: Fix EEH during kexec" (Lyude Paul) [1771779] - [gpu] drm/amd/display: Use proper enum conversion functions (Lyude Paul) [1771779] - [gpu] drm/amdgpu: Fix hard hang for S/G display BOs (Lyude Paul) [1771779] - [gpu] drm/panel: check failure cases in the probe func (Lyude Paul) [1771779] - [gpu] drm/bridge: sii902x: fix missing reference to mclk clock (Lyude Paul) [1771779] - [gpu] drm/tinydrm/kconfig: Select BACKLIGHT_CLASS_DEVICE (Lyude Paul) [1771779] - [video] ssd1307fb: Start page range at page_offset (Lyude Paul) [1771779] - [gpu] drm/amd/display: Copy GSL groups when committing a new context (Lyude Paul) [1771779] - [gpu] drm/amd/display: Clear FEC_READY shadow register if DPCD write fails (Lyude Paul) [1771779] - [gpu] drm/amd/display: fix not calling ppsmu to trigger PME (Lyude Paul) [1771779] - [gpu] drm/amd/display: Power-gate all DSCs at driver init time (Lyude Paul) [1771779] - [gpu] drm/amd/display: add monitor patch to add T7 delay (Lyude Paul) [1771779] - [gpu] drm/panel: simple: fix AUO g185han01 horizontal blanking (Lyude Paul) [1771779] - [gpu] drm/vkms: Avoid assigning 0 for possible_crtc (Lyude Paul) [1771779] - [gpu] drm/bridge: tc358767: Increase AUX transfer length limit (Lyude Paul) [1771779] - [gpu] drm/vkms: Fix crc worker races (Lyude Paul) [1771779] - [gpu] drm/amdgpu/display: fix 64 bit divide (Lyude Paul) [1771779] - [gpu] drm/amd/display: Add missing HBM support and raise Vega20's uclk (Lyude Paul) [1771779] - [gpu] drm/amd/display: dce11.x /dce12 update formula input (Lyude Paul) [1771779] - [gpu] drm/amd/display: Restore backlight brightness after system resume (Lyude Paul) [1771779] - [gpu] drm: fix module name in edid_firmware log message (Lyude Paul) [1771779] - [gpu] drm/amd/powerplay/smu7: enforce minimal VBITimeout (v2) (Lyude Paul) [1771779] - [gpu] drm/amd/display: readd -msse2 to prevent Clang from emitting libcalls to undefined SW FP routines (Lyude Paul) [1771779] - [gpu] drm/amd/display: Don't replace the dc_state for fast updates (Lyude Paul) [1771779] - [gpu] drm/amd/display: Skip determining update type for async updates (Lyude Paul) [1771779] - [gpu] drm/amd/display: Allow cursor async updates for framebuffer swaps (Lyude Paul) [1771779] - [include] sk_buff: fix skb_ext_put() and skb_ext_reset() calls (Ivan Vecera) [1779923] - [net] openvswitch: fix flow command message size (Paolo Abeni) [1776765] - [net] netfilter: nf_tables: add SECMARK support (Phil Sutter) [1715851] - [net] netfilter: nf_tables: add requirements for connsecmark support (Phil Sutter) [1715851] - [wireless] mwifiex: pcie: Fix memory leak in mwifiex_pcie_init_evt_ring (Jarod Wilson) [1781534] {CVE-2019-19057} - [tools] selftests/powerpc: Disable basic EEH selftest (Steve Best) [1782232] - [x86] kvm: x86: Remove a spurious export of a static function (Paolo Bonzini) [1779553] {CVE-2019-19338} - [x86] kvm: vmx: use MSR_IA32_TSX_CTRL to hard-disable TSX on guest that lack it (Paolo Bonzini) [1779553] {CVE-2019-19338} - [x86] kvm: vmx: implement MSR_IA32_TSX_CTRL disable RTM functionality (Paolo Bonzini) [1779553] {CVE-2019-19338} - [x86] kvm: x86: implement MSR_IA32_TSX_CTRL effect on CPUID (Paolo Bonzini) [1779553] {CVE-2019-19338} - [x86] kvm: x86: do not modify masked bits of shared MSRs (Paolo Bonzini) [1779553] {CVE-2019-19338} - [x86] kvm: x86: fix presentation of TSX feature in ARCH_CAPABILITIES (Paolo Bonzini) [1779553] {CVE-2019-19338} - [x86] kvm/x86: Export MDS_NO=0 to guests when TSX is enabled (Paolo Bonzini) [1779553] {CVE-2019-19338} - [fs] cifs: Close open handle after interrupted close (Leif Sahlberg) [1771691] - [fs] cifs: Do not miss cancelled OPEN responses (Leif Sahlberg) [1771691] - [fs] cifs: Fix NULL pointer dereference in mid callback (Leif Sahlberg) [1771691] - [fs] cifs: add a debug macro that prints \\server\share for errors (Leif Sahlberg) [1772630] - [fs] cifs: add new debugging macro cifs_server_dbg (Leif Sahlberg) [1772630]- [netdrv] wireless: fix nl80211 vendor commands (Jarod Wilson) [1776606] - [net] nl80211: fix VENDOR_CMD_RAW_DATA (Jarod Wilson) [1776606] - [netdrv] rt2x00: initialize last_reset (Jarod Wilson) [1776606] - [netdrv] iwlwifi: pcie: don't consider IV len in A-MSDU (Jarod Wilson) [1776606] - [net] mac80211: fix station inactive_time shortly after boot (Jarod Wilson) [1776606] - [net] mac80211: fix ieee80211_txq_setup_flows() failure path (Jarod Wilson) [1776606] - [netdrv] iwlwifi: fw api: support new API for scan config cmd (Jarod Wilson) [1776606] - [netdrv] mt76: dma: fix buffer unmap with non-linear skbs (Jarod Wilson) [1776606] - [netdrv] mt76: mt76x2e: disable pcie_aspm by default (Jarod Wilson) [1776606] - [net] nl80211: fix validation of mesh path nexthop (Jarod Wilson) [1776606] - [net] nl80211: Disallow setting of HT for channel 14 (Jarod Wilson) [1776606] - [netdrv] rtlwifi: rtl_pci: Fix problem of too small skb->len (Jarod Wilson) [1776606] - [netdrv] iwlwifi: pcie: 0x2720 is qu and 0x30DC is not (Jarod Wilson) [1776606] - [netdrv] iwlwifi: pcie: add workaround for power gating in integrated 22000 (Jarod Wilson) [1776606] - [netdrv] iwlwifi: mvm: handle iwl_mvm_tvqm_enable_txq() error return (Jarod Wilson) [1776606] - [netdrv] iwlwifi: pcie: fix all 9460 entries for qnj (Jarod Wilson) [1776606] - [netdrv] iwlwifi: pcie: fix PCI ID 0x2720 configs that should be soc (Jarod Wilson) [1776606] - [netdrv] rtlwifi: Fix potential overflow on P2P code (Jarod Wilson) [1775223 1776606] {CVE-2019-17666} - [netdrv] iwlwifi: pcie: fix merge damage on making QnJ exclusive (Jarod Wilson) [1776606] - [netdrv] ath10k: fix latency issue for QCA988x (Jarod Wilson) [1776606] - [netdrv] iwlwifi: pcie: change qu with jf devices to use qu configuration (Jarod Wilson) [1776606] - [netdrv] iwlwifi: exclude GEO SAR support for 3168 (Jarod Wilson) [1776606] - [netdrv] iwlwifi: pcie: fix memory leaks in iwl_pcie_ctxt_info_gen3_init (Jarod Wilson) [1776606] - [netdrv] iwlwifi: dbg_ini: fix memory leak in alloc_sgtable (Jarod Wilson) [1776606] - [netdrv] iwlwifi: pcie: fix rb_allocator workqueue allocation (Jarod Wilson) [1776606] - [netdrv] iwlwifi: pcie: fix indexing in command dump for new HW (Jarod Wilson) [1776606] - [netdrv] iwlwifi: mvm: fix race in sync rx queue notification (Jarod Wilson) [1776606] - [netdrv] iwlwifi: mvm: force single phy init (Jarod Wilson) [1776606] - [netdrv] iwlwifi: fix ACPI table revision checks (Jarod Wilson) [1776606] - [netdrv] iwlwifi: don't access trans_cfg via cfg (Jarod Wilson) [1776606] - [netdrv] rt2x00: remove input-polldev.h header (Jarod Wilson) [1776606] - [net] mac80211: Don't access sk_queue_head->next directly (Jarod Wilson) [1776606] - [net] mac80211: fix scan when operating on DFS channels in ETSI domains (Jarod Wilson) [1776606] - [net] mac80211: accept deauth frames in IBSS mode (Jarod Wilson) [1776606] - [net] cfg80211: fix a bunch of RCU issues in multi-bssid code (Jarod Wilson) [1776606] - [net] nl80211: fix memory leak in nl80211_get_ftm_responder_stats (Jarod Wilson) [1776606] - [net] cfg80211: wext: avoid copying malformed SSIDs (Jarod Wilson) [1778634 1776606] {CVE-2019-17133} - [net] mac80211: Reject malformed SSID elements (Jarod Wilson) [1776606] - [net] mac80211: keep BHs disabled while calling drv_tx_wake_queue() (Jarod Wilson) [1776606] - [net] mac80211: fix txq null pointer dereference (Jarod Wilson) [1776606] - [net] nl80211: fix null pointer dereference (Jarod Wilson) [1776606] - [net] cfg80211: initialize on-stack chandefs (Jarod Wilson) [1776606] - [net] cfg80211: validate SSID/MBSSID element ordering assumption (Jarod Wilson) [1776606] - [net] nl80211: validate beacon head (Jarod Wilson) [1776606] - [net] cfg80211: Purge frame registrations on iftype change (Jarod Wilson) [1776606] - [net] cfg80211: Do not compare with boolean in nl80211_common_reg_change_event (Jarod Wilson) [1776606] - [net] cfg80211: always shut down on HW rfkill (Jarod Wilson) [1776606] - [net] cfg80211: fix boundary value in ieee80211_frequency_to_channel() (Jarod Wilson) [1776606] - [net] cfg80211: add local BSS receive time to survey information (Jarod Wilson) [1776606] - [net] nl80211: add NL80211_CMD_UPDATE_FT_IES to supported commands (Jarod Wilson) [1776606] - [netdrv] wireless: Fix Kconfig indentation (Jarod Wilson) [1776606] - [netdrv] iwlwifi: fw: don't send GEO_TX_POWER_LIMIT command to FW version 36 (Jarod Wilson) [1776606] - [netdrv] mt76: mt7615: fix mt7615 firmware path definitions (Jarod Wilson) [1776606] - [netdrv] rtw88: configure firmware after HCI started (Jarod Wilson) [1776606] - [netdrv] rtw88: pci: release tx skbs DMAed when stop (Jarod Wilson) [1776606] - [netdrv] rtw88: pci: extract skbs free routine for trx rings (Jarod Wilson) [1776606] - [netdrv] iwlwifi: mvm: fix build w/o CONFIG_THERMAL (Jarod Wilson) [1776606] - [netdrv] rtw88: report RX power for each antenna (Jarod Wilson) [1776606] - [netdrv] rtw88: fix wrong rx power calculation (Jarod Wilson) [1776606] - [netdrv] rtlwifi: rtl8192de: replace _rtl92d_evm_db_to_percentage with generic version (Jarod Wilson) [1776606] - [netdrv] rtlwifi: rtl8192cu: replace _rtl92c_evm_db_to_percentage with generic version (Jarod Wilson) [1776606] - [netdrv] rtlwifi: rtl8192ce: replace _rtl92c_evm_db_to_percentage with generic version (Jarod Wilson) [1776606] - [netdrv] rtw88: allows to receive AMSDU in AMPDU (Jarod Wilson) [1776606] - [netdrv] rtw88: add dynamic cck pd mechanism (Jarod Wilson) [1776606] - [netdrv] rtw88: move IQK/DPK into phy_calibration (Jarod Wilson) [1776606] - [netdrv] rtw88: 8822c: add SW DPK support (Jarod Wilson) [1776606] - [netdrv] rtw88: 8822c: add FW IQK support (Jarod Wilson) [1776606] - [netdrv] rtw88: 8822c: Enable interrupt migration (Jarod Wilson) [1776606] - [netdrv] rtw88: 8822c: update pwr_seq to v13 (Jarod Wilson) [1776606] - [netdrv] rtw88: 8822c: update PHY parameter to v38 (Jarod Wilson) [1776606] - [netdrv] rtlwifi: rtl8188ee: rtl8192ce: rtl8192de: rtl8723ae: rtl8821ae: Remove some unused bit manipulation macros (Jarod Wilson) [1776606] - [netdrv] rtlwifi: rtl8723be: Convert inline routines to little-endian words (Jarod Wilson) [1776606] - [netdrv] rtlwifi: rtl8723be: Convert macros that set descriptor (Jarod Wilson) [1776606] - [netdrv] rtlwifi: rtl8723be: Replace local bit manipulation macros (Jarod Wilson) [1776606] - [netdrv] rtlwifi: rtl8723be: Remove unused SET_XXX and GET_XXX macros (Jarod Wilson) [1776606] - [netdrv] rtlwifi: rtl8723ae: Convert inline routines to little-endian words (Jarod Wilson) [1776606] - [netdrv] rtlwifi: rtl8723ae: Convert macros that set descriptor (Jarod Wilson) [1776606] - [netdrv] rtlwifi: rtl8723ae: Replace local bit manipulation macros (Jarod Wilson) [1776606] - [netdrv] rtlwifi: rtl8723ae: Remove unused GET_XXX and SET_XXX macros (Jarod Wilson) [1776606] - [netdrv] brcmsmac: Use DIV_ROUND_CLOSEST directly to make it readable (Jarod Wilson) [1776606] - [netdrv] rtlwifi: rtl8821ae: make array static const and remove redundant assignment (Jarod Wilson) [1776606] - [netdrv] brcmfmac: don't realloc wiphy during PCIe reset (Jarod Wilson) [1776606] - [netdrv] brcmfmac: split brcmf_attach() and brcmf_detach() functions (Jarod Wilson) [1776606] - [netdrv] brcmfmac: move "cfg80211_ops" pointer to another struct (Jarod Wilson) [1776606] - [netdrv] ath10k: fix channel info parsing for non tlv target (Jarod Wilson) [1776606] - [netdrv] ath10k: adjust skb length in ath10k_sdio_mbox_rx_packet (Jarod Wilson) [1776606] - [netdrv] ath10k: free beacon buf later in vdev teardown (Jarod Wilson) [1776606] - [net] mac80211: allow drivers to set max MTU (Jarod Wilson) [1776606] - [net] mac80211: ibss: send deauth when expiring inactive STAs (Jarod Wilson) [1776606] - [net] mac80211: don't check if key is NULL in ieee80211_key_link() (Jarod Wilson) [1776606] - [net] mac80211: clear crypto tx tailroom counter upon keys enable (Jarod Wilson) [1776606] - [net] mac80211: remove unnecessary key condition (Jarod Wilson) [1776606] - [net] mac80211: list features in WEP/TKIP disable in better order (Jarod Wilson) [1776606] - [net] mac80211: vht: add support VHT EXT NSS BW in parsing VHT (Jarod Wilson) [1776606] - [netdrv] ath9k: release allocated buffer if timed out (Jarod Wilson) [1778582 1776606] {CVE-2019-19074} - [netdrv] ath9k_htc: release allocated buffer if timed out (Jarod Wilson) [1778572 1776606] {CVE-2019-19073} - [netdrv] ath9k: Remove unneeded variable to store return value (Jarod Wilson) [1776606] - [netdrv] ath10k: add reorder and change PN check logic for mac80211 (Jarod Wilson) [1776606] - [netdrv] ath10k: add mic bytes for pmf management packet (Jarod Wilson) [1776606] - [netdrv] brcmfmac: use *ph to print small buffer (Jarod Wilson) [1776606] - [netdrv] hostap: use *ph to print small buffer (Jarod Wilson) [1776606] - [netdrv] rtlwifi: Fix file release memory leak (Jarod Wilson) [1776606] - [netdrv] rtw88: fix seq_file memory leak (Jarod Wilson) [1776606] - [netdrv] hostap: remove set but not used variable 'copied' in prism2_io_debug_proc_read (Jarod Wilson) [1776606] - [netdrv] brcmfmac: add "reset" debugfs entry for testing reset (Jarod Wilson) [1776606] - [netdrv] brcmfmac: add stub version of brcmf_debugfs_get_devdir() (Jarod Wilson) [1776606] - [netdrv] iwlwifi: dbg: remove iwl_fw_cancel_dumps function (Jarod Wilson) [1776606] - [netdrv] iwlwifi: dbg_ini: remove periodic trigger (Jarod Wilson) [1776606] - [netdrv] iwlwifi: dbg_ini: fix dump structs doc (Jarod Wilson) [1776606] - [netdrv] iwlwifi: fw api: add DRAM buffer allocation command (Jarod Wilson) [1776606] - [netdrv] iwlwifi: dbg_ini: remove apply point, switch to time point API (Jarod Wilson) [1776606] - [netdrv] iwlwifi: add iwl_tlv_array_len() (Jarod Wilson) [1776606] - [netdrv] iwlwifi: mvm: don't log un-decrypted frames (Jarod Wilson) [1776606] - [netdrv] iwlwifi: mvm: add support for single antenna diversity (Jarod Wilson) [1776606] - [netdrv] iwlwifi: mvm: handle BAR_FRAME_RELEASE (0xc2) notification (Jarod Wilson) [1776606] - [netdrv] iwlwifi: mvm: drop BA sessions on too many old-SN frames (Jarod Wilson) [1776606] - [netdrv] iwlwifi: add sta_id to WOWLAN_CONFIG_CMD (Jarod Wilson) [1776606] - [netdrv] iwlwifi: add support for suspend-resume flow for new device generation (Jarod Wilson) [1776606] - [netdrv] iwlwifi: fix warning iwl-trans.h is included more than once (Jarod Wilson) [1776606] - [netdrv] iwlwifi: always access the trans configuration via trans (Jarod Wilson) [1776606] - [netdrv] iwlwifi: pass the iwl_trans instead of cfg to some functions (Jarod Wilson) [1776606] - [netdrv] iwlwifi: add a pointer to the trans_cfg directly in trans (Jarod Wilson) [1776606] - [netdrv] iwlwifi: pass the iwl_config_trans_params when needed (Jarod Wilson) [1776606] - [netdrv] iwlwifi: pcie: set iwl_trans->cfg later in the probe function (Jarod Wilson) [1776606] - [netdrv] iwlwifi: pcie: move some cfg mangling from trans_pcie_alloc to probe (Jarod Wilson) [1776606] - [netdrv] iwlwifi: pcie: use the cfg we passed to iwl_trans_pcie_alloc() (Jarod Wilson) [1776606] - [netdrv] iwlwifi: separate elements from cfg that are needed by trans_alloc (Jarod Wilson) [1776606] - [netdrv] iwlwifi: dbg_ini: use regions ops array instead of switch case in dump flow (Jarod Wilson) [1776606] - [netdrv] iwlwifi: dbg_ini: make a single ops struct for paging collect (Jarod Wilson) [1776606] - [netdrv] iwlwifi: dbg_ini: move tx fifo data into fw runtime (Jarod Wilson) [1776606] - [netdrv] iwlwifi: dbg_ini: use linked list for dump TLVs during dump creation (Jarod Wilson) [1776606] - [netdrv] iwlwifi: dbg_ini: separate cfg and dump flows to different modules (Jarod Wilson) [1776606] - [netdrv] iwlwifi: mvm: look for the first supported channel when add/remove phy ctxt (Jarod Wilson) [1776606] - [netdrv] iwlwifi: allocate bigger nvm data in case of UHB (Jarod Wilson) [1776606] - [netdrv] iwlwifi: remove unnecessary IWL_DEVICE_AX200_COMMON definition (Jarod Wilson) [1776606] - [netdrv] iwlwifi: dbg: align wrt log prints to the same format (Jarod Wilson) [1776606] - [netdrv] iwlwifi: dbg_ini: remove debug flow TLV (Jarod Wilson) [1776606] - [netdrv] iwlwifi: dbg_ini: verify debug TLVs at allocation phase (Jarod Wilson) [1776606] - [netdrv] iwlwifi: dbg_ini: use function to check if ini dbg mode is on (Jarod Wilson) [1776606] - [netdrv] iwlwifi: remove duplicate FW string definitions (Jarod Wilson) [1776606] - [netdrv] iwlwifi: bump FW API to 50 for 22000 series (Jarod Wilson) [1776606] - [netdrv] iwlwifi: api: fix FTM struct documentation (Jarod Wilson) [1776606] - [netdrv] iwlwifi: support per-platform antenna gain (Jarod Wilson) [1776606] - [netdrv] iwlwifi: mvm: remove check for lq_sta in __iwl_mvm_rs_tx_status() (Jarod Wilson) [1776606] - [netdrv] iwlwifi: mvm: simplify the channel switch flow for newer firmware (Jarod Wilson) [1776606] - [netdrv] iwlwifi: stop passing bogus gfp flags arguments to dma_alloc_coherent (Jarod Wilson) [1776606] - [netdrv] iwlwifi: dbg_ini: remove periphery phy and aux regions handling (Jarod Wilson) [1776606] - [netdrv] iwlwifi: dbg_ini: use linked list to store debug TLVs (Jarod Wilson) [1776606] - [netdrv] iwlwifi: dbg_ini: maintain buffer allocations from trans instead of TLVs buffer (Jarod Wilson) [1776606] - [netdrv] iwlwifi: dbg: add debug periphery registers to 9000 device family (Jarod Wilson) [1776606] - [netdrv] iwlwifi: remove unused regdb_ptrs allocation (Jarod Wilson) [1776606] - [netdrv] iwlwifi: dbg_ini: align dbg tlv functions names to a single format (Jarod Wilson) [1776606] - [netdrv] iwlwifi: scan: don't pass large argument by value (Jarod Wilson) [1776606] - [netdrv] iwlwifi: remove pm_runtime completely (Jarod Wilson) [1776606] - [netdrv] iwlwifi: remove the d0i3 related module parameters (Jarod Wilson) [1776606] - [netdrv] iwlwifi: pcie: remove some more d0i3 code from the transport (Jarod Wilson) [1776606] - [netdrv] iwlwifi: pcie: remove the refs / unrefs from the transport (Jarod Wilson) [1776606] - [netdrv] iwlwifi: remove the opmode's d0i3 handlers (Jarod Wilson) [1776606] - [netdrv] iwlwifi: remove runtime_pm_mode (Jarod Wilson) [1776606] - [netdrv] iwlwifi: Set w-pointer upon resume according to SN (Jarod Wilson) [1776606] - [netdrv] iwlwifi: mvm: use FW thermal monitoring regardless of CONFIG_THERMAL (Jarod Wilson) [1776606] - [netdrv] iwlwifi: mvm: name magic numbers with enum (Jarod Wilson) [1776606] - [netdrv] iwlwifi: scan: add support for new scan request command version (Jarod Wilson) [1776606] - [netdrv] iwlwifi: LTR updates (Jarod Wilson) [1776606] - [netdrv] iwlwifi: remove the code under IWLWIFI_PCIE_RTPM (Jarod Wilson) [1776606] - [netdrv] iwlwifi: trans: remove suspending flag (Jarod Wilson) [1776606] - [netdrv] iwlwifi: remove CMD_HIGH_PRIO (Jarod Wilson) [1776606] - [netdrv] iwlwifi: mvm: remove last leftovers of d0i3 (Jarod Wilson) [1776606] - [netdrv] iwlwifi: mvm: remove iwl_mvm_update_d0i3_power_mode (Jarod Wilson) [1776606] - [netdrv] iwlwifi: mvm: remove d0i3_ap_sta_id (Jarod Wilson) [1776606] - [netdrv] iwlwifi: mvm: iwl_mvm_wowlan_config_key_params is for wowlan only (Jarod Wilson) [1776606] - [netdrv] iwlwifi: mvm: remove the d0i3 entry/exit flow (Jarod Wilson) [1776606] - [netdrv] iwlwifi: mvm: remove the tx defer for d0i3 (Jarod Wilson) [1776606] - [netdrv] iwlwifi: remove all the d0i3 references (Jarod Wilson) [1776606] - [netdrv] iwlwifi: mvm: start to remove the code for d0i3 (Jarod Wilson) [1776606] - [netdrv] iwlwifi: mvm: add the skb length to a print (Jarod Wilson) [1776606] - [netdrv] iwlwifi: mvm: fix scan config command size (Jarod Wilson) [1776606] - [netdrv] iwlwifi: add ldbg config cmd debug print (Jarod Wilson) [1776606] - [netdrv] iwlwifi: dbg: support debug recording suspend resume command (Jarod Wilson) [1776606] - [netdrv] iwlwifi: dbg: move debug recording stop from trans to op mode (Jarod Wilson) [1776606] - [netdrv] iwlwifi: dbg: move monitor recording functionality from header file (Jarod Wilson) [1776606] - [netdrv] iwlwifi: mvm: remove unnecessary forward declarations (Jarod Wilson) [1776606] - [netdrv] iwlwifi: mvm: Block 26-tone RU OFDMA transmissions (Jarod Wilson) [1776606] - [netdrv] iwlwifi: mvm: remove redundant condition in iwl_mvm_set_hw_rfkill_state (Jarod Wilson) [1776606] - [netdrv] iwlwifi: Send DQA enable command only if TVL is on (Jarod Wilson) [1776606] - [netdrv] iwlwifi: bump FW API to 49 for 22000 series (Jarod Wilson) [1776606] - [netdrv] mt76: mt7615: add support to read temperature from mcu (Jarod Wilson) [1776606] - [netdrv] mt76: mt7615: introduce mt7615_txwi_to_txp utility routine (Jarod Wilson) [1776606] - [netdrv] mt76: mt7603: use devm_platform_ioremap_resource() to simplify code (Jarod Wilson) [1776606] - [netdrv] mt76: mt76x0: remove unneeded return value on set channel (Jarod Wilson) [1776606] - [netdrv] mt76: mt76x0: remove redundant chandef copy (Jarod Wilson) [1776606] - [netdrv] mt76: make mt76_rx_convert static (Jarod Wilson) [1776606] - [netdrv] mt76: remove offchannel check in tx scheduling (Jarod Wilson) [1776606] - [netdrv] mt76: do not send BAR frame on tx aggregation flush stop (Jarod Wilson) [1776606] - [netdrv] mt76: stop rx aggregation on station removal (Jarod Wilson) [1776606] - [netdrv] mt76: dma: reset q->rx_head on rx reset (Jarod Wilson) [1776606] - [netdrv] mt76: mt7615: apply calibration-free data from OTP (Jarod Wilson) [1776606] - [netdrv] mt76: add default implementation for mt76_sw_scan/mt76_sw_scan_complete (Jarod Wilson) [1776606] - [netdrv] mt76: fix some checkpatch warnings (Jarod Wilson) [1776606] - [netdrv] mt76: mt7615: add BIP_CMAC_128 cipher support (Jarod Wilson) [1776606] - [netdrv] mt76: mt7603: remove unnecessary mcu queue initialization (Jarod Wilson) [1776606] - [netdrv] mt76: move mt76_tx_tasklet in mt76 module (Jarod Wilson) [1776606] - [netdrv] mt76: mt7615: enable survey support (Jarod Wilson) [1776606] - [netdrv] mt76: mt7603: move survey_time in mt76_dev (Jarod Wilson) [1776606] - [netdrv] mt76: mt76x02u: enable survey support (Jarod Wilson) [1776606] - [netdrv] mt76: mt76x02u: enable multi-vif support (Jarod Wilson) [1776606] - [netdrv] mt76: mt76x02: do not copy beacon skb in mt76x02_mac_set_beacon_enable (Jarod Wilson) [1776606] - [netdrv] mt76: mt76x02: introduce mt76x02_pre_tbtt_enable and mt76x02_beacon_enable macros (Jarod Wilson) [1776606] - [netdrv] mt76: mt7615: add Smart Carrier Sense support (Jarod Wilson) [1776606] - [netdrv] mt76: mt7615: rework locking scheme for mt7615_set_channel (Jarod Wilson) [1776606] - [netdrv] mt76: switch to SPDX tag instead of verbose boilerplate text (Jarod Wilson) [1776606] - [netdrv] mt76: mt76x02: fix some checkpatch warnings (Jarod Wilson) [1776606] - [netdrv] mt76: mt7615: fix some checkpatch warnings (Jarod Wilson) [1776606] - [netdrv] mt76: mt7603: fix some checkpatch warnings (Jarod Wilson) [1776606] - [netdrv] mt76: Add paragraphs to describe the config symbols fully (Jarod Wilson) [1776606] - [netdrv] mt76: mt7615: update cw_min/max related settings (Jarod Wilson) [1776606] - [netdrv] mt76: mt7615: add 4 WMM sets support (Jarod Wilson) [1776606] - [netdrv] mt76: mt7603: fix watchdog rescheduling in mt7603_set_channel (Jarod Wilson) [1776606] - [netdrv] mt76: mt7615: fix MT7615_WATCHDOG_TIME definition (Jarod Wilson) [1776606] - [netdrv] mt76: introduce mt76_mmio_read_copy routine (Jarod Wilson) [1776606] - [netdrv] mt76: mt7615: add set_key_cmd and mt76_wcid to mt7615_mac_wtbl_set_key signature (Jarod Wilson) [1776606] - [netdrv] mt76: mt7615: remove wtbl_sec_key definition (Jarod Wilson) [1776606] - [netdrv] mt76: mt7615: introduce mt7615_mac_wtbl_set_key routine (Jarod Wilson) [1776606] - [netdrv] mt76: mt7615: add mt7615_mac_wtbl_addr routine (Jarod Wilson) [1776606] - [netdrv] mt76: mt7615: move mt7615_mac_get_key_info in mac.c (Jarod Wilson) [1776606] - [netdrv] mt76: mt7615: add missing register initialization (Jarod Wilson) [1776606] - [netdrv] mt76: mt76x0u: add support to TP-Link T2UHP (Jarod Wilson) [1776606] - [netdrv] mt76: mt7615: use params->ssn value directly (Jarod Wilson) [1776606] - [netdrv] mt76: mt7603: use params->ssn value directly (Jarod Wilson) [1776606] - [netdrv] mt76: mt76x02: use params->ssn value directly (Jarod Wilson) [1776606] - [netdrv] mt76: usb: remove unneeded {put,get}_unaligned (Jarod Wilson) [1776606] - [netdrv] mt76: usb: fix endian in mt76u_copy (Jarod Wilson) [1776606] - [netdrv] mt76: mt7603: fix invalid fallback rates (Jarod Wilson) [1776606] - [netdrv] mt76: mt7615: fix invalid fallback rates (Jarod Wilson) [1776606] - [netdrv] mt76: mt7615: fix PS buffering of action frames (Jarod Wilson) [1776606] - [netdrv] mt76: mt7615: fix using VHT STBC rates (Jarod Wilson) [1776606] - [netdrv] mt76: mt76u: fix typo in mt76u_fill_rx_sg (Jarod Wilson) [1776606] - [netdrv] mt76: mt7615: sync with mt7603 rate control changes (Jarod Wilson) [1776606] - [netdrv] mt76: mt7615: reset rate index/counters on rate table update (Jarod Wilson) [1776606] - [netdrv] mt76: mt7615: move mt7615_mcu_set_rates to mac.c (Jarod Wilson) [1776606] - [netdrv] mt76: mt7603: enable hardware rate up/down selection (Jarod Wilson) [1776606] - [netdrv] mt76: mt7615: introduce mt7615_mcu_send_ram_firmware routine (Jarod Wilson) [1776606] - [netdrv] mt76: mt7615: always release sem in mt7615_load_patch (Jarod Wilson) [1776606] - [netdrv] mt76: mt7615: fall back to sw encryption for unsupported ciphers (Jarod Wilson) [1776606] - [netdrv] mt76: mt7615: clean up FWDL TXQ during/after firmware upload (Jarod Wilson) [1776606] - [netdrv] mt76: mt7615: add radar pattern test knob to debugfs (Jarod Wilson) [1776606] - [netdrv] mt76: mt7615: add csa support (Jarod Wilson) [1776606] - [netdrv] mt76: mt7615: do not perform txcalibration before cac is complited (Jarod Wilson) [1776606] - [netdrv] mt76: mt7615: add hw dfs pattern detector support (Jarod Wilson) [1776606] - [netdrv] mt76: mt7615: introduce mt7615_regd_notifier (Jarod Wilson) [1776606] - [netdrv] mt76: mt7615: fix sparse warnings: warning: restricted __le16 degrades to integer (Jarod Wilson) [1776606] - [netdrv] mt76: round up length on mt76_wr_copy (Jarod Wilson) [1776606] - [netdrv] ath6kl: fix a NULL-ptr-deref bug in ath6kl_usb_alloc_urb_from_pipe() (Jarod Wilson) [1776606] - [netdrv] ath6kl: Fix a possible null-pointer dereference in ath6kl_htc_mbox_create() (Jarod Wilson) [1776606] - [netdrv] ath9k: dynack: set ackto to max timeout in ath_dynack_reset (Jarod Wilson) [1776606] - [netdrv] ath9k: dynack: set max timeout according to channel width (Jarod Wilson) [1776606] - [netdrv] ath9k: dynack: properly set last timeout timestamp in ath_dynack_reset (Jarod Wilson) [1776606] - [netdrv] ath9k: dyanck: introduce ath_dynack_set_timeout routine (Jarod Wilson) [1776606] - [netdrv] ath9k: dynack: fix possible deadlock in ath_dynack_node_{de}init (Jarod Wilson) [1776606] - [netdrv] ath9k: add loader for AR92XX (and older) pci(e) (Jarod Wilson) [1776606] - [netdrv] brcmfmac: get chip's default RAM info during PCIe setup (Jarod Wilson) [1776606] - [netdrv] brcmfmac: replace strncpy() by strscpy() (Jarod Wilson) [1776606] - [netdrv] rt2x00: do not set IEEE80211_TX_STAT_AMPDU_NO_BACK on tx status (Jarod Wilson) [1776606] - [netdrv] brcmfmac: remove redundant assignment to pointer hash (Jarod Wilson) [1776606] - [netdrv] brcm80211: Avoid possible null-pointer dereferences in wlc_phy_radio_init_2056() (Jarod Wilson) [1776606] - [netdrv] rtw88: pci: enable MSI interrupt (Jarod Wilson) [1776606] - [netdrv] rtw88: pci: Move a mass of jobs in hw IRQ to soft IRQ (Jarod Wilson) [1776606] - [netdrv] rtw88: remove redundant assignment to pointer debugfs_topdir (Jarod Wilson) [1776606] - [netdrv] rtw88: drop unused rtw_coex_coex_dm_reset() (Jarod Wilson) [1776606] - [netdrv] rtw88: Fix an error message (Jarod Wilson) [1776606] - [netdrv] rtlwifi: rtl8192ce: Fix incorrect returned values (Jarod Wilson) [1776606] - [netdrv] rtlwifi: rtl8188ee: Fix incorrect returned values (Jarod Wilson) [1776606] - [netdrv] rtlwifi: rtl8821ae: Fix incorrect returned values (Jarod Wilson) [1776606] - [netdrv] rtlwifi: rtl8192cu: Convert inline routines to little-endian words (Jarod Wilson) [1776606] - [netdrv] rtlwifi: rtl8192cu: Convert macros that set descriptor (Jarod Wilson) [1776606] - [netdrv] rtlwifi: rtl8192cu: Replace local bit manipulation macros (Jarod Wilson) [1776606] - [netdrv] rtlwifi: rtl8192cu: Remove unused GET_XXX and SET_XXX (Jarod Wilson) [1776606] - [netdrv] rtlwifi: rtl8192ee: Remove some variable initializations (Jarod Wilson) [1776606] - [netdrv] rtlwifi: rtl8192ee: Convert inline routines to little-endian words (Jarod Wilson) [1776606] - [netdrv] rtlwifi: rtl8192ee: Convert macros that set descriptor (Jarod Wilson) [1776606] - [netdrv] rtlwifi: rtl8192ee: Replace local bit manipulation macros (Jarod Wilson) [1776606] - [netdrv] rtlwifi: rtl8192ee: Remove unused GET_XXX and SET_XXX (Jarod Wilson) [1776606] - [netdrv] rtlwifi: rtl_pci: Fix memory leak when hardware init fails (Jarod Wilson) [1776606] - [netdrv] rtlwifi: remove unused variables 'RTL8712_SDIO_EFUSE_TABLE' and 'MAX_PGPKT_SIZE' (Jarod Wilson) [1776606] - [netdrv] rtlwifi: rtl8192cu: Fix value set in descriptor (Jarod Wilson) [1776606] - [netdrv] rtlwifi: fix non-kerneldoc comment in usb.c (Jarod Wilson) [1776606] - [net] mac80211: minstrel_ht: fix infinite loop because supported is not being shifted (Jarod Wilson) [1776606] - [netdrv] mt76: Remove dev_err() usage after platform_get_irq() (Jarod Wilson) [1776606] - [net] mac80211: Do not send Layer 2 Update frame before authorization (Jarod Wilson) [1776606] - [netdrv] revert "rt2800: enable TX_PIN_CFG_LNA_PE_ bits per band" (Jarod Wilson) [1776606] - [netdrv] rt2x00: clear up IV's on key removal (Jarod Wilson) [1776606] - [netdrv] iwlwifi: assign directly to iwl_trans->cfg in QuZ detection (Jarod Wilson) [1776606] - [netdrv] mwifiex: Fix three heap overflow at parsing element in cfg80211_ap_settings (Jarod Wilson) [1776244 1775484 1775475 1776606] - [netdrv] mt76: mt76x0e: disable 5GHz band for MT7630E (Jarod Wilson) [1776606] - [netdrv] mt76: mt76x0e: don't use hw encryption for MT7630E (Jarod Wilson) [1776606] - [net] nl80211: fill all policy .type entries (Jarod Wilson) [1776606] - [net] cfg80211: Add support to set tx power for a station associated (Jarod Wilson) [1776606] - [net] cfg80211: Fix Extended Key ID key install checks (Jarod Wilson) [1776606] - [net] mac80211: AMPDU handling for rekeys with Extended Key ID (Jarod Wilson) [1776606] - [net] mac80211: Simplify Extended Key ID API (Jarod Wilson) [1776606] - [net] nl80211: require and validate vendor command policy (Jarod Wilson) [1776606] - [net] mac80211: AMPDU handling for Extended Key ID (Jarod Wilson) [1776606] - [net] mac80211: IEEE 802.11 Extended Key ID support (Jarod Wilson) [1776606] - [net] nl80211/cfg80211: Extended Key ID support (Jarod Wilson) [1776606] - [net] nl80211/cfg80211: Specify band specific min RSSI thresholds with sched scan (Jarod Wilson) [1776606] - [net] cfg80211: Use const more consistently in for_each_element macros (Jarod Wilson) [1776606] - [net] nl80211: use for_each_element() in validate_ie_attr() (Jarod Wilson) [1776606] - [net] cfg80211: add peer measurement with FTM initiator API (Jarod Wilson) [1776606] - [net] nl80211: use netlink policy validation function for elements (Jarod Wilson) [1776606] - [net] nl80211: use policy range validation where applicable (Jarod Wilson) [1776606] - [net] cfg80211: support FTM responder configuration/statistics (Jarod Wilson) [1776606] - [net] lib80211: move TKIP handling to ARC4 library code (Jarod Wilson) [1776606] - [net] lib80211: move WEP handling to ARC4 library code (Jarod Wilson) [1776606] - [net] mac80211: move WEP handling to ARC4 library interface (Jarod Wilson) [1776606] - [netdrv] rt2x00: clear IV's on start to fix AP mode regression (Jarod Wilson) [1776606] - [netdrv] rt2800usb: Add new rt2800usb device PLANEX GW-USMicroN (Jarod Wilson) [1776606] - [netdrv] rt2x00: no need to check return value of debugfs_create functions (Jarod Wilson) [1776606] - [netdrv] rt2x00usb: remove unnecessary rx flag checks (Jarod Wilson) [1776606] - [netdrv] rt2x00usb: fix rx queue hang (Jarod Wilson) [1776606] - [netdrv] rt2800: do not enable watchdog by default (Jarod Wilson) [1776606] - [netdrv] rt2x00: add restart hw (Jarod Wilson) [1776606] - [netdrv] rt2800: do not nullify initialization vector data (Jarod Wilson) [1776606] - [netdrv] rt2800: add pre_reset_hw callback (Jarod Wilson) [1776606] - [netdrv] rt2800: initial watchdog implementation (Jarod Wilson) [1776606] - [netdrv] rt2800: add helpers for reading dma done index (Jarod Wilson) [1776606] - [netdrv] rt2x00: allow to specify watchdog interval (Jarod Wilson) [1776606] - [netdrv] rt2x00: add RT3883 support (Jarod Wilson) [1776606] - [netdrv] rt2x00mmio: remove legacy comment (Jarod Wilson) [1776606] - [netdrv] rt2x00: remove not used entry field (Jarod Wilson) [1776606] - [netdrv] rt2x00: remove last_nostatus_check (Jarod Wilson) [1776606] - [netdrv] rt2800mmio: use timer and work for handling tx statuses timeouts (Jarod Wilson) [1776606] - [netdrv] rt2800mmio: fetch tx status changes (Jarod Wilson) [1776606] - [netdrv] rt2800: move txstatus pending routine (Jarod Wilson) [1776606] - [netdrv] rt2800: new flush implementation for SoC devices (Jarod Wilson) [1776606] - [netdrv] rt2800: partially restore old mmio txstatus behaviour (Jarod Wilson) [1776606] - [netdrv] rt2x00: code-style fix in rt2800usb.c (Jarod Wilson) [1776606] - [netdrv] rt2x00: do not print error when queue is full (Jarod Wilson) [1776606] - [netdrv] rt2x00: check number of EPROTO errors (Jarod Wilson) [1776606] - [netdrv] rt2x00: use ratelimited variants dev_warn/dev_err (Jarod Wilson) [1776606] - [netdrv] rt2x00: do not increment sequence number while re-transmitting (Jarod Wilson) [1776606] - [netdrv] rt2800: comment and simplify AGC init for RT6352 (Jarod Wilson) [1776606] - [netdrv] rt2800: enable TX_PIN_CFG_RFRX_EN only for MT7620 (Jarod Wilson) [1776606] - [netdrv] rt2800: enable TX_PIN_CFG_LNA_PE_ bits per band (Jarod Wilson) [1776606] - [netdrv] rt2x00: remove confusing AGC register (Jarod Wilson) [1776606] - [netdrv] rt2x00: remove unneeded check (Jarod Wilson) [1776606] - [netdrv] rt2x00: no need to check return value of debugfs_create functions (Jarod Wilson) [1776606] - [netdrv] rt2x00: Work around a firmware bug with shared keys (Jarod Wilson) [1776606] - [netdrv] rt2x00: reduce tx power to nominal level on RT6352 (Jarod Wilson) [1776606] - [netdrv] rt2x00: rt61pci: mark expected switch fall-through (Jarod Wilson) [1776606] - [netdrv] rt2x00: rt2800lib: mark expected switch fall-throughs (Jarod Wilson) [1776606] - [netdrv] rt2x00: rt2500pci: mark expected switch fall-through (Jarod Wilson) [1776606] - [netdrv] rt2x00: rt2400pci: mark expected switch fall-through (Jarod Wilson) [1776606] - [netdrv] rt2800: flush and txstatus rework for rt2800mmio (Jarod Wilson) [1776606] - [netdrv] rt2x00: use different txstatus timeouts when flushing (Jarod Wilson) [1776606] - [netdrv] rt2x00: do not check for txstatus timeout every time on tasklet (Jarod Wilson) [1776606] - [netdrv] rt2800mmio: use txdone/txstatus routines from lib (Jarod Wilson) [1776606] - [netdrv] rt2800: move usb specific txdone/txstatus routines to rt2800lib (Jarod Wilson) [1776606] - [netdrv] rt2x00: use simple_read_from_buffer() (Jarod Wilson) [1776606] - [netdrv] rt2x00: remove redundant functions rt2x00mac_sta_{add/remove} (Jarod Wilson) [1776606] - [net] mac80211: Correctly set noencrypt for PAE frames (Jarod Wilson) [1776606] - [net] mac80211: Don't memset RXCB prior to PAE intercept (Jarod Wilson) [1776606] - [netdrv] iwlwifi: pcie: handle switching killer Qu B0 NICs to C0 (Jarod Wilson) [1776606] - [net] mac80211: minstrel_ht: improve rate probing for devices with static fallback (Jarod Wilson) [1776606] - [net] mac80211: minstrel_ht: fix default max throughput rate indexes (Jarod Wilson) [1776606] - [net] mac80211: minstrel_ht: reduce unnecessary rate probing attempts (Jarod Wilson) [1776606] - [net] mac80211: minstrel_ht: fix per-group max throughput rate initialization (Jarod Wilson) [1776606] - [net] nl80211: Add support for EDMG channels (Jarod Wilson) [1776606] - [net] mac80211: fix possible NULL pointerderef in obss pd code (Jarod Wilson) [1776606] - [net] mac80211: add assoc-at support (Jarod Wilson) [1776606] - [uapi] cfg80211: Support assoc-at timer in sta-info (Jarod Wilson) [1776606] - [net] cfg80211: apply same mandatory rate flags for 5GHz and 6GHz (Jarod Wilson) [1776606] - [net] cfg80211: ibss: use 11a mandatory rates for 6GHz band operation (Jarod Wilson) [1776606] - [net] cfg80211: use same IR permissive rules for 6GHz band (Jarod Wilson) [1776606] - [net] cfg80211: add 6GHz in code handling array with NUM_NL80211_BANDS entries (Jarod Wilson) [1776606] - [net] cfg80211: extend ieee80211_operating_class_to_band() for 6GHz (Jarod Wilson) [1776606] - [net] cfg80211: util: add 6GHz channel to freq conversion and vice versa (Jarod Wilson) [1776606] - [net] cfg80211: add 6GHz UNII band definitions (Jarod Wilson) [1776606] - [uapi] nl80211: add 6GHz band definition to enum nl80211_band (Jarod Wilson) [1776606] - [net] revert "cfg80211: fix processing world regdomain when non modular" (Jarod Wilson) [1776606] - [net] mac80211: add missing length field increment when generating Radiotap header (Jarod Wilson) [1776606] - [net] mac80211: 80Mhz was not reported properly when using tx_status_ext (Jarod Wilson) [1776606] - [net] mac80211: fix bad guard when reporting legacy rates (Jarod Wilson) [1776606] - [net] mac80211: fix TX legacy rate reporting when tx_status_ext is used (Jarod Wilson) [1776606] - [net] mac80211: fix possible sta leak (Jarod Wilson) [1776606] - [netdrv] iwlwifi: pcie: fix recognition of QuZ devices (Jarod Wilson) [1776606] - [netdrv] iwlwifi: pcie: don't switch FW to qnj when ax201 is detected (Jarod Wilson) [1776606] - [netdrv] iwlwifi: pcie: fix the byte count table format for 22560 devices (Jarod Wilson) [1776606] - [netdrv] iwlwifi: mvm: Allow multicast data frames only when associated (Jarod Wilson) [1776606] - [netdrv] revert "mwifiex: fix system hang problem after resume" (Jarod Wilson) [1776606] - [netdrv] rtlwifi: rtl8192ce: Convert inline routines to little-endian words (Jarod Wilson) [1776606] - [netdrv] rtlwifi: rtl8192ce: Convert macros that set descriptor (Jarod Wilson) [1776606] - [netdrv] rtlwifi: rtl8192ce: Replace local bit manipulation macros (Jarod Wilson) [1776606] - [netdrv] rtlwifi: rtl8192ce: Remove unused GET_XXX and SET_XXX (Jarod Wilson) [1776606] - [netdrv] rtw88: add BT co-existence support (Jarod Wilson) [1776606] - [netdrv] rtw88: enclose c2h cmd handle with mutex (Jarod Wilson) [1776606] - [netdrv] rtw88: allow c2h operation in irq context (Jarod Wilson) [1776606] - [netdrv] rtlwifi: rtl8188ee: Remove local configuration variable (Jarod Wilson) [1776606] - [netdrv] rtlwifi: rtl8188ee: Convert inline routines to little-endian words (Jarod Wilson) [1776606] - [netdrv] rtlwifi: rtl8188ee: Convert macros that set descriptor (Jarod Wilson) [1776606] - [netdrv] rtlwifi: rtl88188ee: Replace local bit manipulation macros (Jarod Wilson) [1776606] - [netdrv] rtlwifi: rtl8188ee: Remove unused GET_XXX and SET_XXX descriptor macros (Jarod Wilson) [1776606] - [netdrv] rtw88: pci: remove set but not used variable 'ip_sel' (Jarod Wilson) [1776606] - [netdrv] brcmsmac: remove three set but not used variables (Jarod Wilson) [1776606] - [netdrv] brcmfmac: remove set but not used variable 'dtim_period' (Jarod Wilson) [1776606] - [netdrv] rtlwifi: remove unneeded function _rtl_dump_channel_map() (Jarod Wilson) [1776606] - [netdrv] rtlwifi: rtl_pci: Use dev_get_drvdata (Jarod Wilson) [1776606] - [netdrv] mwifiex: pcie: Use dev_get_drvdata (Jarod Wilson) [1776606] - [netdrv] mwifiex: make error values consistent in mwifiex_update_bss_desc_with_ie() (Jarod Wilson) [1776606] - [netdrv] rtw88: use txpwr_lmt_cfg_pair struct, not arrays (Jarod Wilson) [1776606] - [netdrv] iwlwifi: dbg_ini: fix compile time assert build errors (Jarod Wilson) [1776606] - [net] mac80211: HE STA disassoc due to QOS NULL not sent (Jarod Wilson) [1776606] - [net] mac80211: allow setting spatial reuse parameters from bss_conf (Jarod Wilson) [1776606] - [net] nl80211: add strict start type (Jarod Wilson) [1776606] - [net] cfg80211: add support for parsing OBBS_PD attributes (Jarod Wilson) [1776606] - [net] mac80211: reject zero MAC address in add station (Jarod Wilson) [1776606] - [net] cfg80211: use parallel_ops for genl (Jarod Wilson) [1776606] - [net] mac80211: add missing null return check from call to ieee80211_get_sband (Jarod Wilson) [1776606] - [netdrv] iwlwifi: mvm: fix a use-after-free bug in iwl_mvm_tx_tso_segment (Jarod Wilson) [1776606] - [netdrv] iwlwifi: mvm: fix an out-of-bound access (Jarod Wilson) [1776606] - [netdrv] iwlwifi: don't unmap as page memory that was mapped as single (Jarod Wilson) [1776606] - [netdrv] iwlwifi: mvm: fix version check for GEO_TX_POWER_LIMIT support (Jarod Wilson) [1776606] - [netdrv] iwlwifi: add 3 new IDs for the 9000 series (iwl9260_2ac_160_cfg) (Jarod Wilson) [1776606] - [netdrv] iwlwifi: mvm: fix possible out-of-bounds read when accessing lq_info (Jarod Wilson) [1776606] - [netdrv] iwlwifi: mvm: fix frame drop from the reordering buffer (Jarod Wilson) [1776606] - [netdrv] iwlwifi: mvm: replace RS mutex with a spin_lock (Jarod Wilson) [1776606] - [netdrv] iwlwifi: mvm: send LQ command always ASYNC (Jarod Wilson) [1776606] - [netdrv] iwlwifi: mvm: fix comparison of u32 variable with less than zero (Jarod Wilson) [1776606] - [netdrv] iwlwifi: fix locking in delayed GTK setting (Jarod Wilson) [1776606] - [netdrv] iwlwifi: dbg_ini: move iwl_dbg_tlv_free outside of debugfs ifdef (Jarod Wilson) [1776606] - [netdrv] iwlwifi: dbg_ini: move iwl_dbg_tlv_load_bin out of debug override ifdef (Jarod Wilson) [1776606] - [netdrv] iwlwifi: mvm: add a wrapper around rs_tx_status to handle locks (Jarod Wilson) [1776606] - [netdrv] iwlwifi: mvm: add a loose synchronization of the NSSN across Rx queues (Jarod Wilson) [1776606] - [netdrv] iwlwiif: mvm: refactor iwl_mvm_notify_rx_queue (Jarod Wilson) [1776606] - [netdrv] iwlwifi: mvm: add a new RSS sync notification for NSSN sync (Jarod Wilson) [1776606] - [netdrv] iwlwifi: mvm: prepare the ground for more RSS notifications (Jarod Wilson) [1776606] - [netdrv] iwlwifi: mvm: don't send GEO_TX_POWER_LIMIT on version < 41 (Jarod Wilson) [1776606] - [netdrv] iwlwifi: mvm: avoid races in rate init and rate perform (Jarod Wilson) [1776606] - [net] revert "mac80211: set NETIF_F_LLTX when using intermediate tx queues" (Jarod Wilson) [1776606] - [net] mac80211: add support for the ADDBA extension element (Jarod Wilson) [1776606] - [net] mac80211: propagate HE operation info into bss_conf (Jarod Wilson) [1776606] - [net] cfg80211: fix dfs channels remain DFS_AVAILABLE after ch_switch (Jarod Wilson) [1776606] - [net] cfg80211: fix duplicated scan entries after channel switch (Jarod Wilson) [1776606] - [net] cfg80211: refactor cfg80211_bss_update (Jarod Wilson) [1776606] - [net] mac80211: don't WARN on short WMM parameters from AP (Jarod Wilson) [1776606] - [net] nl80211: Include wiphy address setup in NEW_WIPHY (Jarod Wilson) [1776606] - [net] mac80211: implement HE support for mesh (Jarod Wilson) [1776606] - [net] mac80211: add IEEE80211_KEY_FLAG_GENERATE_MMIE to ieee80211_key_flags (Jarod Wilson) [1776606] - [kernel] mac80211: he: add Spatial Reuse element parsing support (Jarod Wilson) [1776606] - [net] mac80211: add struct ieee80211_tx_status support to ieee80211_add_tx_radiotap_header (Jarod Wilson) [1776606] - [net] {nl, mac}80211: fix interface combinations on crypto controlled devices (Jarod Wilson) [1776606] - [net] mac80211: propagate struct ieee80211_tx_status into ieee80211_tx_monitor() (Jarod Wilson) [1776606] - [net] mac80211: add xmit rate to struct ieee80211_tx_status (Jarod Wilson) [1776606] - [kernel] mac80211: add support for parsing ADDBA_EXT IEs (Jarod Wilson) [1776606] - [net] cfg80211: give all multi-BSSID BSS entries the same timestamp (Jarod Wilson) [1776606] - [net] cfg80211: don't parse MBSSID if transmitting BSS isn't created (Jarod Wilson) [1776606] - [net] cfg80211: clean up cfg80211_inform_single_bss_frame_data() (Jarod Wilson) [1776606] - [net] cfg80211: no need to check return value of debugfs_create functions (Jarod Wilson) [1776606] - [net] mac80211: add tx dequeue function for process context (Jarod Wilson) [1776606] - [net] mac80211: run late dequeue late tx handlers without holding fq->lock (Jarod Wilson) [1776606] - [net] lib80211: use crypto API ccm(aes) transform for CCMP processing (Jarod Wilson) [1776606] - [net] mac80211: remove unused and unneeded remove_sta_debugfs callback (Jarod Wilson) [1776606] - [netdrv] iwlwifi: mvm: remove unused .remove_sta_debugfs callback (Jarod Wilson) [1776606] - [netdrv] iwlwifi: dvm: no need to check return value of debugfs_create functions (Jarod Wilson) [1776606] - [net] mac80211: pass the vif to cancel_remain_on_channel (Jarod Wilson) [1776606] - [netdrv] mwifiex: use eth_broadcast_addr() to assign broadcast address (Jarod Wilson) [1776606] - [netdrv] rtlwifi: remove assignment to itself (Jarod Wilson) [1776606] - [netdrv] brcmfmac: don't net_ratelimit() CONSOLE messages on firmware crash (Jarod Wilson) [1776606] - [netdrv] rtw88: debug: dump tx power indexes in use (Jarod Wilson) [1776606] - [netdrv] rtlwifi: btcoex: fix issue possible condition with no effect (if == else) (Jarod Wilson) [1776606] - [netdrv] brcmfmac: remove unnecessary strlcpy() upon obtaining "ver" iovar (Jarod Wilson) [1776606] - [netdrv] brcmfmac: simply remove flowring if bus is down (Jarod Wilson) [1776606] - [netdrv] brcmfmac: avoid firmware commands when bus is down (Jarod Wilson) [1776606] - [netdrv] brcmfmac: clear events in brcmf_fweh_detach() will always fail (Jarod Wilson) [1776606] - [netdrv] brcmfmac: avoid firmware command in brcmf_netdev_open() when bus is down (Jarod Wilson) [1776606] - [netdrv] brcmfmac: change the order of things in brcmf_detach() (Jarod Wilson) [1776606] - [netdrv] revert "brcmfmac: fix NULL pointer derefence during USB disconnect" (Jarod Wilson) [1776606] - [netdrv] brcmfmac: allow 160MHz in custom regulatory rules (Jarod Wilson) [1776606] - [netdrv] brcmfmac: enable DFS_OFFLOAD extended feature if supported (Jarod Wilson) [1776606] - [netdrv] brcmfmac: add 160MHz in chandef_to_chanspec() (Jarod Wilson) [1776606] - [netdrv] rtw88: pci: Use DMA sync instead of remapping in RX ISR (Jarod Wilson) [1776606] - [netdrv] rtw88: pci: Rearrange the memory usage for skb in RX ISR (Jarod Wilson) [1776606] - [netdrv] rtw88: Fix misuse of GENMASK macro (Jarod Wilson) [1776606] - [netdrv] rtl8xxxu: Fix wifi low signal strength issue of RTL8723BU (Jarod Wilson) [1776606] - [net] mac80211: don't warn about CW params when not using them (Jarod Wilson) [1776606] - [net] mac80211: fix possible memory leak in ieee80211_assign_beacon (Jarod Wilson) [1776606] - [kernel] fix typos and some coding style in comments (Jarod Wilson) [1776606] - [netdrv] ath10k: work around uninitialized vht_pfr variable (Jarod Wilson) [1776606] - [netdrv] iwlwifi: pcie: add support for qu c-step devices (Jarod Wilson) [1776606] - [netdrv] iwlwifi: add new cards for 9000 and 20000 series (Jarod Wilson) [1776606] - [netdrv] iwlwifi: mvm: clear rfkill_safe_init_done when we start the firmware (Jarod Wilson) [1776606] - [netdrv] iwlwifi: don't WARN when calling iwl_get_shared_mem_conf with RF-Kill (Jarod Wilson) [1776606] - [netdrv] iwlwifi: pcie: don't service an interrupt that was masked (Jarod Wilson) [1776606] - [netdrv] iwlwifi: fix RF-Kill interrupt while FW load for gen2 devices (Jarod Wilson) [1776606] - [netdrv] iwlwifi: pcie: fix ALIVE interrupt handling for gen2 devices w/o MSI-X (Jarod Wilson) [1776606] - [netdrv] iwlwifi: mvm: delay GTK setting in FW in AP mode (Jarod Wilson) [1776606] - [netdrv] iwlwifi: mvm: remove MAC_FILTER_IN_11AX for AP mode (Jarod Wilson) [1776606] - [netdrv] iwlwifi: dbg: debug recording stop and restart command remove (Jarod Wilson) [1776606] - [netdrv] iwlwifi: dbg: don't stop dbg recording before entering D3 from 9000 devices (Jarod Wilson) [1776606] - [netdrv] iwlwifi: dbg_ini: fix debug monitor stop and restart in ini mode (Jarod Wilson) [1776606] - [netdrv] iwlwifi: mvm: make the usage of TWT configurable (Jarod Wilson) [1776606] - [netdrv] iwlwifi: support FSEQ TLV even when FMAC is not compiled (Jarod Wilson) [1776606] - [netdrv] iwlwifi: dbg: move trans debug fields to a separate struct (Jarod Wilson) [1776606] - [netdrv] iwlwifi: dbg_ini: remove redundant checking of ini mode (Jarod Wilson) [1776606] - [netdrv] iwlwifi: dbg_ini: enforce apply point early on buffer allocation tlv (Jarod Wilson) [1776606] - [netdrv] iwlwifi: dbg: fix debug monitor stop and restart delays (Jarod Wilson) [1776606] - [netdrv] iwlwifi: pcie: increase the size of PCI dumps (Jarod Wilson) [1776606] - [netdrv] iwlwifi: mvm: Drop large non sta frames (Jarod Wilson) [1776606] - [netdrv] iwlwifi: mvm: Add log information about SAR status (Jarod Wilson) [1776606] - [netdrv] iwlwifi: Add support for SAR South Korea limitation (Jarod Wilson) [1776606] - [netdrv] iwlwifi: fix module init error paths (Jarod Wilson) [1776606] - [netdrv] iwlwifi: mvm: convert to FW AC when configuring MU EDCA (Jarod Wilson) [1776606] - [netdrv] iwlwifi: mvm: correctly fill the ac array in the iwl_mac_ctx_cmd (Jarod Wilson) [1776606] - [netdrv] iwlwifi: remove some unnecessary NULL checks (Jarod Wilson) [1776606] - [netdrv] iwlwifi: d3: Use struct_size() helper (Jarod Wilson) [1776606] - [netdrv] iwlwifi: lib: Use struct_size() helper (Jarod Wilson) [1776606] - [netdrv] iwlwifi: fw api: support adwell HB default APs number api (Jarod Wilson) [1776606] - [netdrv] iwlwifi: mvm: remove multiple debugfs entries (Jarod Wilson) [1776606] - [netdrv] iwlwifi: dbg_ini: implement dump info collection (Jarod Wilson) [1776606] - [netdrv] iwlwifi: mvm: add a debugfs entry to set a fixed size AMSDU for all TX packets (Jarod Wilson) [1776606] - [netdrv] iwlwifi: dbg_ini: support debug info TLV (Jarod Wilson) [1776606] - [netdrv] iwlwifi: dbg_ini: use different barker for ini dump (Jarod Wilson) [1776606] - [netdrv] iwlwifi: dbg_ini: add consecutive trigger firing support (Jarod Wilson) [1776606] - [kernel] ieee80211: Add a missing extended capability flag definition (Jarod Wilson) [1776606] - [netdrv] iwlwifi: dbg_ini: abort region collection in case the size is 0 (Jarod Wilson) [1776606] - [netdrv] iwlwifi: update CSI API (Jarod Wilson) [1776606] - [netdrv] iwlwifi: dbg_ini: dump headers cleanup (Jarod Wilson) [1776606] - [netdrv] iwlwifi: dbg: allow dump collection in case of an early error (Jarod Wilson) [1776606] - [netdrv] iwlwifi: iwl_mvm_tx_mpdu() must be called with BH disabled (Jarod Wilson) [1776606] - [netdrv] ath10k: pci: remove unnecessary casts (Jarod Wilson) [1776606] - [netdrv] ath10k: remove unnecessary 'out of memory' message (Jarod Wilson) [1776606] - [netdrv] ath10k: destroy sdio workqueue while remove sdio module (Jarod Wilson) [1776606] - [netdrv] ath10k: Move non-fatal warn logs to dbg level for SDIO chip (Jarod Wilson) [1776606] - [netdrv] ath10k: Fix memory leak in qmi (Jarod Wilson) [1776606] - [netdrv] ath10k: add new hw_ops for sdio chip (Jarod Wilson) [1776606] - [netdrv] ath9k: correctly handle short radar pulses (Jarod Wilson) [1776606] - [netdrv] rtw88: refine flow to get tx power index (Jarod Wilson) [1776606] - [netdrv] rtw88: remove all RTW_MAX_POWER_INDEX macro (Jarod Wilson) [1776606] - [netdrv] rtw88: update tx power limit table to RF v20 (Jarod Wilson) [1776606] - [netdrv] rtw88: correct power limit selection (Jarod Wilson) [1776606] - [netdrv] rtw88: choose the lowest as world-wide power limit (Jarod Wilson) [1776606] - [netdrv] rtw88: fix incorrect tx power limit at 5G (Jarod Wilson) [1776606] - [netdrv] rtw88: remove unused variable (Jarod Wilson) [1776606] - [netdrv] rtw88: unify prefixes for tx power setting routine (Jarod Wilson) [1776606] - [netdrv] rtw88: do not use (void *) as argument (Jarod Wilson) [1776606] - [netdrv] rtw88: resolve order of tx power setting routines (Jarod Wilson) [1776606] - [netdrv] ath: fix SPDX tags (Jarod Wilson) [1776606] - [netdrv] ath10k: Add WMI diag fw logging support for WCN3990 (Jarod Wilson) [1776606] - [netdrv] ath10k: add report MIC error for sdio chip (Jarod Wilson) [1776606] - [netdrv] ath10k: add support for controlling tx power to a station (Jarod Wilson) [1776606] - [netdrv] ath10k: Add peer delete response event (Jarod Wilson) [1776606] - [netdrv] ath10k: wait for vdev delete response from firmware (Jarod Wilson) [1776606] - [netdrv] ath10k: fix PCIE device wake up failed (Jarod Wilson) [1776606] - [netdrv] ath10k: fix failure to set multiple fixed rate (Jarod Wilson) [1776606] - [netdrv] ath10k: Change the warning message string (Jarod Wilson) [1776606] - [netdrv] ath10k: fix fw crash by moving chip reset after napi disabled (Jarod Wilson) [1776606] - [netdrv] ath10k: add missing error handling (Jarod Wilson) [1776606] - [netdrv] ath10k: enabling tx stats support over pktlog (Jarod Wilson) [1776606] - [netdrv] ath10k: acquire lock to fix lockdep's warning (Jarod Wilson) [1776606] - [netdrv] ath10k: change firmware file name for UTF mode of SDIO/USB (Jarod Wilson) [1776606] - [netdrv] ath10k: add support for firmware crash recovery on SDIO chip (Jarod Wilson) [1776606] - [netdrv] ath10k: Add wrapper function to ath10k debug (Jarod Wilson) [1776606] - [netdrv] ath10k: add htt_h2t_aggr_cfg_msg op for high latency devices (Jarod Wilson) [1776606] - [netdrv] ath10k: add inline wrapper for htt_h2t_aggr_cfg_msg (Jarod Wilson) [1776606] - [netdrv] mt76: mt7603: fix sparse warnings: warning: incorrect type in assignment (different base types) (Jarod Wilson) [1776606] - [netdrv] mt76: mt7615: fix sparse warnings: warning: cast from restricted __le16 (Jarod Wilson) [1776606] - [netdrv] mt76: mt7615: fix sparse warnings: incorrect type in assignment (different base types) (Jarod Wilson) [1776606] - [netdrv] mt76: move nl80211_dfs_regions in mt76_dev data structure (Jarod Wilson) [1776606] - [netdrv] mt76: mt7615: remove cfg80211_chan_def from mt7615_set_channel signature (Jarod Wilson) [1776606] - [netdrv] mt76: mt7615: update peer's bssid when state transition occurs (Jarod Wilson) [1776606] - [netdrv] mt76: mt7615: fix incorrect settings in mesh mode (Jarod Wilson) [1776606] - [netdrv] mt76: mt7615: take into account extPA when configuring tx power (Jarod Wilson) [1776606] - [netdrv] mt76: mt7615: init per-channel target power (Jarod Wilson) [1776606] - [netdrv] mt76: mt7615: add support for per-chain signal strength reporting (Jarod Wilson) [1776606] - [netdrv] mt76: mt7615: simplify mt7615_mcu_set_sta_rec routine (Jarod Wilson) [1776606] - [netdrv] mt76: mt7603: improve hardware rate switching configuration (Jarod Wilson) [1776606] - [netdrv] mt76: mt7603: rework and fix tx status reporting (Jarod Wilson) [1776606] - [netdrv] mt76: mt7615: remove key check in mt7615_mcu_set_wtbl_key (Jarod Wilson) [1776606] - [netdrv] mt76: mt7615: remove unused variable in mt7615_mcu_set_bcn (Jarod Wilson) [1776606] - [netdrv] mt76: mt7615: fix slow performance when enable encryption (Jarod Wilson) [1776606] - [netdrv] mt76: mt7615: enable support for mesh (Jarod Wilson) [1776606] - [netdrv] mt76: Remove set but not used variables 'pid' and 'final_mpdu' (Jarod Wilson) [1776606] - [netdrv] mt76: move mt76_get_rate in mt76-module (Jarod Wilson) [1776606] - [netdrv] mt76: mt7615: rearrange locking in mt7615_config (Jarod Wilson) [1776606] - [netdrv] mt76: mt7615: init get_txpower mac80211 callback (Jarod Wilson) [1776606] - [netdrv] mt76: mt7615: add the capability to configure tx power (Jarod Wilson) [1776606] - [netdrv] mt76: mt7615: select wifi band according to eeprom (Jarod Wilson) [1776606] - [netdrv] mt76: mt7615: add support for mtd eeprom parsing (Jarod Wilson) [1776606] - [netdrv] mt76: move mt76_insert_ccmp_hdr in mt76-module (Jarod Wilson) [1776606] - [netdrv] mt76: fix setting chan->max_power (Jarod Wilson) [1776606] - [netdrv] mt76: mt7603: fix reading target tx power from eeprom (Jarod Wilson) [1776606] - [netdrv] mt76: mt7615: do not process rx packets if the device is not initialized (Jarod Wilson) [1776606] - [netdrv] mt76: mt7603: add debugfs knob to enable/disable edcca (Jarod Wilson) [1776606] - [netdrv] mt76: mt7615: add static qualifier to mt7615_rx_poll_complete (Jarod Wilson) [1776606] - [netdrv] mt76: mt7615: rearrange cleanup operations in mt7615_unregister_device (Jarod Wilson) [1776606] - [netdrv] mt76: mt7603: stop mac80211 queues before setting the channel (Jarod Wilson) [1776606] - [netdrv] mt7615: mcu: run __mt76_mcu_send_msg in mt7615_mcu_send_firmware (Jarod Wilson) [1776606] - [netdrv] mt7615: mcu: init mcu_restart function pointer (Jarod Wilson) [1776606] - [netdrv] mt7615: initialize mt76_mcu_ops data structure (Jarod Wilson) [1776606] - [netdrv] mt7615: mcu: use standard signature for mt7615_mcu_msg_send (Jarod Wilson) [1776606] - [netdrv] mt7615: mcu: remove unused structure in mcu.h (Jarod Wilson) [1776606] - [netdrv] mt7615: mcu: do not use function pointers whenever possible (Jarod Wilson) [1776606] - [netdrv] mt7615: mcu: unify __mt7615_mcu_set_dev_info and mt7615_mcu_set_dev_info (Jarod Wilson) [1776606] - [netdrv] mt7615: mcu: remove skb_ret from mt7615_mcu_msg_send (Jarod Wilson) [1776606] - [netdrv] mt7615: remove dest from mt7615_mcu_msg_send signature (Jarod Wilson) [1776606] - [netdrv] mt7615: remove query from mt7615_mcu_msg_send signature (Jarod Wilson) [1776606] - [netdrv] mt7615: mcu: remove unused parameter in mt7615_mcu_del_wtbl (Jarod Wilson) [1776606] - [netdrv] mt7615: mcu: unify mt7615_mcu_add_wtbl_bmc and mt7615_mcu_del_wtbl_bmc (Jarod Wilson) [1776606] - [netdrv] mt7615: mcu: use proper msg size in mt7615_mcu_add_wtbl (Jarod Wilson) [1776606] - [netdrv] mt7615: mcu: use proper msg size in mt7615_mcu_add_wtbl_bmc (Jarod Wilson) [1776606] - [netdrv] mt7615: mcu: remove bss_info_convert_vif_type routine (Jarod Wilson) [1776606] - [netdrv] mt7615: mcu: simplify __mt7615_mcu_set_sta_rec (Jarod Wilson) [1776606] - [netdrv] mt7615: mcu: simplify __mt7615_mcu_set_wtbl (Jarod Wilson) [1776606] - [netdrv] mt76: mt7615: Make mt7615_irq_handler static (Jarod Wilson) [1776606] - [netdrv] mt76: mt7615: Use after free in mt7615_mcu_set_bcn() (Jarod Wilson) [1776606] - [netdrv] mt76: Fix a signedness bug in mt7615_add_interface() (Jarod Wilson) [1776606] - [netdrv] mt76: move netif_napi_del in mt76_dma_cleanup (Jarod Wilson) [1776606] - [netdrv] mt76: mt7615: use napi polling for tx cleanup (Jarod Wilson) [1776606] - [netdrv] mt76: mt7603: use napi polling for tx cleanup (Jarod Wilson) [1776606] - [netdrv] wireless/mediatek: Add SPDX license identifier - Makefile/Kconfig (Jarod Wilson) [1776606] - [netdrv] mt76: mt7603: dynamically alloc mcu req in mt7603_mcu_set_eeprom (Jarod Wilson) [1776606] - [netdrv] mt76: mt7603: enable/disable pre_tbtt_tasklet in mt7603_set_channel (Jarod Wilson) [1776606] - [netdrv] mt76: move pre_tbtt_tasklet in mt76_dev (Jarod Wilson) [1776606] - [netdrv] mt76: move beacon_mask in mt76_dev (Jarod Wilson) [1776606] - [netdrv] mt76: move beacon_int in mt76_dev (Jarod Wilson) [1776606] - [netdrv] mt76: mt7603: report firmware version using ethtool (Jarod Wilson) [1776606] - [netdrv] mt76: fix endianness sparse warnings (Jarod Wilson) [1776606] - [netdrv] mt76: mt7615: use sizeof instead of sizeof_field (Jarod Wilson) [1776606] - [netdrv] mt76: add mac80211 driver for MT7615 PCIe-based chipsets (Jarod Wilson) [1776606] - [netdrv] mt76: mt7603: run __mt76_mcu_send_msg in mt7603_mcu_send_firmware (Jarod Wilson) [1776606] - [netdrv] mt76: mt7603: init mcu_restart function pointer (Jarod Wilson) [1776606] - [netdrv] mt76: mt7603: initialize mt76_mcu_ops data structure (Jarod Wilson) [1776606] - [netdrv] mt76: mt7603: use standard signature for mt7603_mcu_msg_send (Jarod Wilson) [1776606] - [netdrv] mt76: mt7603: remove query from mt7603_mcu_msg_send signature (Jarod Wilson) [1776606] - [netdrv] mt76: mt7603: fix initialization of max rx length (Jarod Wilson) [1776606] - [netdrv] mt76: use macro for sn and seq_ctrl conversion (Jarod Wilson) [1776606] - [netdrv] mt76: add skb pointer to mt76_tx_info (Jarod Wilson) [1776606] - [netdrv] mt76: move mac_work in mt76_dev (Jarod Wilson) [1776606] - [netdrv] mt76: only schedule txqs from the tx tasklet (Jarod Wilson) [1776606] - [netdrv] mt76: move tx tasklet to struct mt76_dev (Jarod Wilson) [1776606] - [netdrv] mt76: store wcid tx rate info in one u32 reduce locking (Jarod Wilson) [1776606] - [netdrv] mt76: use readl/writel instead of ioread32/iowrite32 (Jarod Wilson) [1776606] - [netdrv] mt76: fix tx power issues (Jarod Wilson) [1776606] - [netdrv] mt76: introduce mt76_free_device routine (Jarod Wilson) [1776606] - [netdrv] mt76: unify set_tim (Jarod Wilson) [1776606] - [netdrv] mt7603: core: do not use magic numbers in mt7603_reg_map (Jarod Wilson) [1776606] - [netdrv] mt7603: remove mt7603_mcu_init routine (Jarod Wilson) [1776606] - [netdrv] mt76: dma: add static qualifier to mt76_dma_tx_queue_skb (Jarod Wilson) [1776606] - [netdrv] mt76: introduce mt76_tx_info data structure (Jarod Wilson) [1776606] - [netdrv] mt76: introduce mt76_sw_queue data structure (Jarod Wilson) [1776606] - [netdrv] mt76: remove mt76_queue dependency from tx_complete_skb function pointer (Jarod Wilson) [1776606] - [netdrv] mt76: remove mt76_queue dependency from tx_prepare_skb function pointer (Jarod Wilson) [1776606] - [netdrv] mt76: remove mt76_queue dependency from tx_queue_skb function pointer (Jarod Wilson) [1776606] - [netdrv] mt76: dma: move mt76x02_init_{tx, rx}_queue in mt76 module (Jarod Wilson) [1776606] - [netdrv] mt76: mmio: move mt76x02_set_irq_mask in mt76 module (Jarod Wilson) [1776606] - [netdrv] mt76: mt7603: send BAR after powersave wakeup (Jarod Wilson) [1776606] - [netdrv] mt76: mt7603: fix sequence number assignment (Jarod Wilson) [1776606] - [netdrv] mt76: mt7603: add missing initialization for dev->ps_lock (Jarod Wilson) [1776606] - [netdrv] mt76: mt7603: use the correct hweight8() function (Jarod Wilson) [1776606] - [netdrv] mt76: fix return value check in mt76_wmac_probe() (Jarod Wilson) [1776606] - [netdrv] mt76: mt7603: set moredata flag when queueing ps-filtered packets (Jarod Wilson) [1776606] - [netdrv] mt76: mt7603: clear the service period on releasing PS filtered packets (Jarod Wilson) [1776606] - [netdrv] mt76: mt7603: notify mac80211 about buffered frames in ps queue (Jarod Wilson) [1776606] - [netdrv] mt76: mt7603: fix up hardware queue index for PS filtered packets (Jarod Wilson) [1776606] - [netdrv] mt76: mt7603: clear ps filtering mode before releasing buffered frames (Jarod Wilson) [1776606] - [netdrv] mt76: mt7603: fix tx status HT rate validation (Jarod Wilson) [1776606] - [netdrv] mt76: add driver for MT7603E and MT7628/7688 (Jarod Wilson) [1776606] - [netdrv] mt76: mt76x0u: do not reset radio on resume (Jarod Wilson) [1776606] - [netdrv] mt7601u: null check the allocation (Jarod Wilson) [1776606] - [netdrv] mt7601u: use params->ssn value directly (Jarod Wilson) [1776606] - [netdrv] mt76: usb: fix rx A-MSDU support (Jarod Wilson) [1776606] - [netdrv] mt76: mt76u: get rid of {out,in}_max_packet (Jarod Wilson) [1776606] - [netdrv] mt76: mt76u: reduce rx memory footprint (Jarod Wilson) [1776606] - [netdrv] mt76: mt76x02u: fix sparse warnings: should it be static? (Jarod Wilson) [1776606] - [netdrv] mt76: mt76x0: fix RF frontend initialization for external PA (Jarod Wilson) [1776606] - [netdrv] mt76: generalize mt76_get_txpower for 4x4:4 devices (Jarod Wilson) [1776606] - [netdrv] mt76: mt76x02: fix tx reordering on rate control probing without a-mpdu (Jarod Wilson) [1776606] - [netdrv] mt76: mt76x02: fix tx status reporting issues (Jarod Wilson) [1776606] - [netdrv] mt76: mt76x02: fix edcca file permission (Jarod Wilson) [1776606] - [netdrv] mt76: mt76x02: run mt76x02_edcca_init atomically in mt76_edcca_set (Jarod Wilson) [1776606] - [netdrv] mt76: mt76x2: move mutex_lock inside mt76x2_set_channel (Jarod Wilson) [1776606] - [netdrv] mt76: mt76x2u: remove mt76x02_edcca_init in mt76x2u_set_channel (Jarod Wilson) [1776606] - [netdrv] mt76: mt76x02: remove enable from mt76x02_edcca_init signature (Jarod Wilson) [1776606] - [netdrv] mt76: move tx_napi in mt76_dev (Jarod Wilson) [1776606] - [netdrv] mt76: mt76x02: remove useless return in mt76x02_resync_beacon_timer (Jarod Wilson) [1776606] - [netdrv] mt7601u: fix possible memory leak when the device is disconnected (Jarod Wilson) [1776606] - [netdrv] mt7601u: do not schedule rx_tasklet when the device has been disconnected (Jarod Wilson) [1776606] - [netdrv] mwifiex: don't disable hardirqs; just softirqs (Jarod Wilson) [1776606] - [netdrv] mwifiex: dispatch/rotate from reorder table atomically (Jarod Wilson) [1776606] - [netdrv] mwifiex: ignore processing invalid command response (Jarod Wilson) [1776606] - [netdrv] mwifiex: update set_mac_address logic (Jarod Wilson) [1776606] - [netdrv] mwifiex: print PCI mmap with pK (Jarod Wilson) [1776606] - [netdrv] mwifiex: drop 'set_consistent_dma_mask' log message (Jarod Wilson) [1776606] - [netdrv] iwlwifi: add support for hr1 RF ID (Jarod Wilson) [1776606] - [netdrv] iwlwifi: change 0x02F0 fw from qu to quz (Jarod Wilson) [1776606] - [netdrv] iwlwifi: add new cards for 22000 and change wrong structs (Jarod Wilson) [1776606] - [netdrv] iwlwifi: add new cards for 22000 and fix struct name (Jarod Wilson) [1776606] - [net] mac80211: notify offchannel expire on mgmt_tx (Jarod Wilson) [1776606] - [net] nl80211: send event when CMD_FRAME duration expires (Jarod Wilson) [1776606] - [net] mac80211: no need to check return value of debugfs_create functions (Jarod Wilson) [1776606] - [net] mac80211: extend __rate_control_send_low warning (Jarod Wilson) [1776606] - [net] mac80211: fill low rate even for HAS_RATE_CONTROL (Jarod Wilson) [1776606] - [net] mac80211: use STA info in rate_control_send_low() (Jarod Wilson) [1776606] - [net] mac80211: call rate_control_send_low() internally (Jarod Wilson) [1776606] - [net] cfg80211: Add a function to iterate all BSS entries (Jarod Wilson) [1776606] - [net] mac80211: allow turning TWT responder support on and off via netlink (Jarod Wilson) [1776606] - [net] mac80211: dynamically enable the TWT requester support on STA interfaces (Jarod Wilson) [1776606] - [net] mac80211: add ieee80211_get_he_iftype_cap() helper (Jarod Wilson) [1776606] - [uapi] nl80211: add support for SAE authentication offload (Jarod Wilson) [1776606] - [net] nl80211: add WPA3 definition for SAE authentication (Jarod Wilson) [1776606] - [net] nl80211: add NL80211_ATTR_IFINDEX to port authorized event (Jarod Wilson) [1776606] - [netdrv] rtlwifi: rtl8188ee: remove redundant assignment to rtstatus (Jarod Wilson) [1776606] - [netdrv] rtlwifi: remove redundant assignment to variable k (Jarod Wilson) [1776606] - [netdrv] rtlwifi: remove redundant assignment to variable badworden (Jarod Wilson) [1776606] - [netdrv] rtlwifi: rtl8192cu: fix error handle when usb probe failed (Jarod Wilson) [1776606] - [netdrv] rtlwifi: btcoex: remove unused function exhalbtc_stack_operation_notify (Jarod Wilson) [1776606] - [netdrv] rtlwifi: btcoex: Remove set but not used variable 'len' and 'asso_type_v2' (Jarod Wilson) [1776606] - [netdrv] rtlwifi: rtl8821ae: Remove set but not used variables 'cur_txokcnt' and 'b_last_is_cur_rdl_state' (Jarod Wilson) [1776606] - [netdrv] rtlwifi: rtl8821ae: Convert inline routines to little-endian words (Jarod Wilson) [1776606] - [netdrv] rtlwifi: rtl8821ae: Convert macros that set descriptor (Jarod Wilson) [1776606] - [netdrv] rtlwifi: rtl8821ae: Replace local bit manipulation macros (Jarod Wilson) [1776606] - [netdrv] rtlwifi: rtl8821ae: Remove unused GET_XXX and SET_XXX descriptor macros (Jarod Wilson) [1776606] - [netdrv] rtlwifi: 8192de: use le32 to access cckswing tables (Jarod Wilson) [1776606] - [netdrv] rtlwifi: 8192de: Fix used uninitialized variables in power tracking (Jarod Wilson) [1776606] - [netdrv] rtlwifi: 8192de: make tables to be 'static const' (Jarod Wilson) [1776606] - [netdrv] rtlwifi: 8192de: Reduce indentation and fix coding style (Jarod Wilson) [1776606] - [netdrv] rtw88: fix typo rtw_writ16_set (Jarod Wilson) [1776606] - [netdrv] rtw88: rsvd page should go though management queue (Jarod Wilson) [1776606] - [netdrv] rtw88: restore DACK results to save time (Jarod Wilson) [1776606] - [netdrv] rtw88: power on again if it was already on (Jarod Wilson) [1776606] - [netdrv] rtw88: 8822c: use more accurate ofdm fa counting (Jarod Wilson) [1776606] - [netdrv] rtw88: 8822c: disable rx clock gating before counter reset (Jarod Wilson) [1776606] - [netdrv] rtw88: 8822c: update channel and bandwidth BB setting (Jarod Wilson) [1776606] - [netdrv] rtw88: 8822c: add rf write protection when switching channel (Jarod Wilson) [1776606] - [netdrv] rtw88: add beacon function setting (Jarod Wilson) [1776606] - [netdrv] rtw88: add support for random mac scan (Jarod Wilson) [1776606] - [netdrv] rtw88: add fast xmit support (Jarod Wilson) [1776606] - [netdrv] rtw88: more descriptions about LPS (Jarod Wilson) [1776606] - [netdrv] rtw88: pci: check if queue mapping exceeds size of ac_to_hwq (Jarod Wilson) [1776606] - [netdrv] rtw88: pci: use ieee80211_ac_numbers instead of 0-3 (Jarod Wilson) [1776606] - [netdrv] brcmfmac: use strlcpy() instead of strcpy() (Jarod Wilson) [1776606] - [netdrv] brcmfmac: fix typos in code comments (Jarod Wilson) [1776606] - [netdrv] brcm80211: select WANT_DEV_COREDUMP conditionally for brcmfmac (Jarod Wilson) [1776606] - [netdrv] brcmfmac: use separate Kconfig file for brcmfmac (Jarod Wilson) [1776606] - [netdrv] brcmfmac: switch source files to using SPDX license identifier (Jarod Wilson) [1776606] - [netdrv] brcmsmac: switch phy source files to using SPDX license identifier (Jarod Wilson) [1776606] - [netdrv] brcmutil: switch source files to using SPDX license identifier (Jarod Wilson) [1776606] - [netdrv] brcm80211: switch common header files to using SPDX license identifier (Jarod Wilson) [1776606] - [net] cfg80211: Handle bss expiry during connection (Jarod Wilson) [1776606] - [netdrv] ath10k: Check tx_stats before use it (Jarod Wilson) [1776606] - [netdrv] ath10k: add peer id check in ath10k_peer_find_by_id (Jarod Wilson) [1776606] - [netdrv] ath10k: Add wmi tlv service map for mesh 11s (Jarod Wilson) [1776606] - [netdrv] ath10k: Do not send probe response template for mesh (Jarod Wilson) [1776606] - [netdrv] ath10k: Add wmi tlv vdev subtype for mesh in WCN3990 (Jarod Wilson) [1776606] - [netdrv] ath10k: change swap mail box config for UTF mode of SDIO (Jarod Wilson) [1776606] - [netdrv] ath10k: Fix the wrong value of enums for wmi tlv stats id (Jarod Wilson) [1776606] - [netdrv] ath10k: coredump: use struct_size() helper (Jarod Wilson) [1776606] - [netdrv] ath10k: Use struct_size() helper (Jarod Wilson) [1776606] - [netdrv] ath10k: Fix encoding for protected management frames (Jarod Wilson) [1776606] - [netdrv] ath10k: rx_duration update for fw_stats debugfs entry (Jarod Wilson) [1776606] - [netdrv] ath10k: Fix the tx stats bytes & packets parsing (Jarod Wilson) [1776606] - [netdrv] ath10k: Modify CE4 src buffer entries to 2048 for WCN3990 (Jarod Wilson) [1776606] - [netdrv] ath10k: Move board id and fw version logging to info level (Jarod Wilson) [1776606] - [netdrv] ath10k: Added support to reset HTT stats in debugfs (Jarod Wilson) [1776606] - [netdrv] ath10k: Extended the HTT stats support to retrieve Mu-MIMO related stats (Jarod Wilson) [1776606] - [netdrv] ath: DFS JP domain W56 fixed pulse type 3 RADAR detection (Jarod Wilson) [1776606] - [netdrv] ath9k: drop redundant code in ar9003_hw_set_channel (Jarod Wilson) [1776606] - [netdrv] ath: drop duplicated define (Jarod Wilson) [1776606] - [netdrv] ath9k: Remove some set but not used variables (Jarod Wilson) [1776606] - [netdrv] ath9k: Differentiate between max combined and per chain power (Jarod Wilson) [1776606] - [netdrv] ath9k: Check for errors when reading SREV register (Jarod Wilson) [1776606] - [netdrv] ath9k: Don't trust TX status TID number when reporting airtime (Jarod Wilson) [1776606] - [netdrv] ath6kl: remove redundant check of status != 0 (Jarod Wilson) [1776606] - [netdrv] ath6kl: add some bounds checking (Jarod Wilson) [1776606] - [netdrv] ath6kl: wmi: use struct_size() helper (Jarod Wilson) [1776606] - [netdrv] ath6kl: debug: Use struct_size() helper (Jarod Wilson) [1776606] - [netdrv] ath10k: fix incorrect multicast/broadcast rate setting (Jarod Wilson) [1776606] - [netdrv] ath10k: enable QCA6174 hw3.2 SDIO hardware (Jarod Wilson) [1776606] - [netdrv] ath10k: add fragmentation handler for high latency devices (Jarod Wilson) [1776606] - [netdrv] ath10k: add PN replay protection for high latency devices (Jarod Wilson) [1776606] - [netdrv] ath10k: add handler for HTT_T2H_MSG_TYPE_SEC_IND event (Jarod Wilson) [1776606] - [netdrv] ath10k: add struct for high latency PN replay protection (Jarod Wilson) [1776606] - [netdrv] ath10k: sdio: add missing error check (Jarod Wilson) [1776606] - [netdrv] ath10k: add initialization of HTC header (Jarod Wilson) [1776606] - [netdrv] ath10k: fix use-after-free on SDIO data frames (Jarod Wilson) [1776606] - [netdrv] ath10k: htt: support MSDU ids with SDIO (Jarod Wilson) [1776606] - [netdrv] ath10k: initialise struct ath10k_bus params to zero (Jarod Wilson) [1776606] - [netdrv] ath10k: htt: don't use txdone_fifo with SDIO (Jarod Wilson) [1776606] - [netdrv] ath10k: don't disable interrupts in ath10k_sdio_remove() (Jarod Wilson) [1776606] - [netdrv] ath10k: sdio: workaround firmware UART pin configuration bug (Jarod Wilson) [1776606] - [net] cfg80211: Add airtime statistics and settings (Jarod Wilson) [1776606] - [base] depend on HAS_IOMEM for devm_platform_ioremap_resource() (Jarod Wilson) [1776606] - [base] provide devm_platform_ioremap_resource() (Jarod Wilson) [1776606] - [lib] crypto: arc4 - refactor arc4 core code into separate library (Jarod Wilson) [1776606] - [crypto] export arc4 defines (Jarod Wilson) [1776606] - [crypto] arc4 - convert to skcipher API (Jarod Wilson) [1776606] - [kernel] bitfield: add u8 helpers (Jarod Wilson) [1776606]- [md] raid5: need to set STRIPE_HANDLE for batch head (Nigel Croxon) [1774840] - [scsi] lpfc: remove left-over BUILD_NVME defines (Ewan Milne) [1782235] - [block] fix memleak of bio integrity data (Ming Lei) [1779898] - [fs] xfs: attach dquots and reserve quota blocks during unwritten conversion (Carlos Maiolino) [1782094] - [nvme] nvme-fc: fix double-free scenarios on hw queues (Ewan Milne) [1781390] - [tools] power turbostat: Add Cometlake support (David Arcari) [1759661] - [mm] hugetlbfs: take read_lock on i_mmap for PMD sharing (Waiman Long) [1731295] - [documentation] powerpc/pseries: Add documentation for vcpudispatch_stats (Gustavo Duarte) [1723870] - [powerpc] pseries: Protect against hogging the cpu while setting up the stats (Gustavo Duarte) [1723870] - [powerpc] pseries: Provide vcpu dispatch statistics (Gustavo Duarte) [1723870] - [powerpc] pseries: Move mm/book3s64/vphn.c under platforms/pseries/ (Gustavo Duarte) [1723870] - [powerpc] pseries: Generalize hcall_vphn() (Gustavo Duarte) [1723870] - [powerpc] mm: Move book3s64 specifics in subdirectory mm/book3s64 (Gustavo Duarte) [1723870] - [powerpc] pseries: Introduce rwlock to gatekeep DTLB usage (Gustavo Duarte) [1723870] - [powerpc] pseries: Factor out DTL buffer allocation and registration routines (Gustavo Duarte) [1723870] - [powerpc] pseries: Do not save the previous DTL mask value (Gustavo Duarte) [1723870] - [powerpc] pseries: Use macros for referring to the DTL enable mask (Gustavo Duarte) [1723870] - [powerpc] mm: change #include "mmu_decl.h" to (Gustavo Duarte) [1723870] - [fs] devpts_pty_kill(): don't bother with d_delete() (Eric Sandeen) [1772718] - [fs] devpts: always delete dcache dentry-s in dput() (Eric Sandeen) [1772718] - [infiniband] rdma/siw: Fix post_recv QP state locking (Kamal Heib) [1779625] - [infiniband] rdma/siw: Fix SQ/RQ drain logic (Kamal Heib) [1779625] - [infiniband] rdma/siw: Relax from kmap_atomic() use in TX path (Kamal Heib) [1779625] - [netdrv] nfp: flower: cmsg rtnl locks can timeout reify messages (Pablo Cascon) [1729154] - [netdrv] nfp: Drop unnecessary continue in nfp_net_pf_alloc_vnics (Pablo Cascon) [1729154] - [netdrv] nfp: flower: handle neighbour events on internal ports (Pablo Cascon) [1729154] - [netdrv] nfp: flower: prevent ingress block binds on internal ports (Pablo Cascon) [1729154] - [netdrv] nfp: add AMDA0058 boards to firmware list (Pablo Cascon) [1729154] - [netdrv] nfp: no need to check return value of debugfs_create functions (Pablo Cascon) [1729154] - [netdrv] nfp: flower: encode mac indexes with pre-tunnel rule check (Pablo Cascon) [1729154] - [netdrv] nfp: flower: remove offloaded MACs when reprs are applied to OvS bridges (Pablo Cascon) [1729154] - [netdrv] nfp: flower: offload pre-tunnel rules (Pablo Cascon) [1729154] - [netdrv] nfp: flower: verify pre-tunnel rules (Pablo Cascon) [1729154] - [netdrv] nfp: flower: detect potential pre-tunnel rules (Pablo Cascon) [1729154] - [netdrv] nfp: flower: push vlan after tunnel in merge (Pablo Cascon) [1729154] - [netdrv] nfp: flower: offload MPLS set action (Pablo Cascon) [1729154] - [netdrv] nfp: flower: offload MPLS pop action (Pablo Cascon) [1729154] - [netdrv] nfp: flower: offload MPLS push action (Pablo Cascon) [1729154] - [netdrv] nfp: flower: ensure ip protocol is specified for L4 matches (Pablo Cascon) [1729154] - [netdrv] nfp: flower: fix ethernet check on match fields (Pablo Cascon) [1729154] - [netdrv] nfp: ccm: increase message limits (Pablo Cascon) [1729154] - [netdrv] nfp: Use spinlock_t instead of struct spinlock (Pablo Cascon) [1729154] - [netdrv] nfp: flower: add GRE encap action support (Pablo Cascon) [1729154] - [netdrv] nfp: flower: add GRE decap classification support (Pablo Cascon) [1729154] - [netdrv] nfp: flower: rename tunnel related functions in action offload (Pablo Cascon) [1729154] - [netdrv] nfp: flower: add helper functions for tunnel classification (Pablo Cascon) [1729154] - [netdrv] nfp: flower: refactor tunnel key layer calculation (Pablo Cascon) [1729154] - [netdrv] nfp: flower: extend extack messaging for flower match and actions (Pablo Cascon) [1729154] - [netdrv] nfp: flower: use extack messages in flower offload (Pablo Cascon) [1729154] - [netdrv] nfp: flower: check L4 matches on unknown IP protocols (Pablo Cascon) [1729154] - [netdrv] nfp: print a warning when binding VFs to PF driver (Pablo Cascon) [1729154] - [netdrv] nfp: update the old flash error message (Pablo Cascon) [1729154] - [netdrv] nfp: prepare for more TX metadata prepend (Pablo Cascon) [1729154] - [netdrv] nfp: add tls init code (Pablo Cascon) [1729154] - [netdrv] nfp: parse crypto opcode TLV (Pablo Cascon) [1729154] - [netdrv] nfp: add support for sending control messages via mailbox (Pablo Cascon) [1729154] - [netdrv] nfp: parse the mailbox cmsg TLV (Pablo Cascon) [1729154] - [netdrv] nfp: make bar_lock a semaphore (Pablo Cascon) [1729154] - [netdrv] nfp: count all failed TX attempts as errors (Pablo Cascon) [1729154] - [netdrv] nfp: ensure skb network header is set for packet redirect (Pablo Cascon) [1728773] - [netdrv] nfp: reintroduce ndo_get_port_parent_id for representor ports (Pablo Cascon) [1728773] - [netdrv] nfp: implement PCI driver shutdown callback (Pablo Cascon) [1728773] - [netdrv] nfp: add SR-IOV trusted VF support (Pablo Cascon) [1728773] - [netdrv] nfp: split out common control message handling code (Pablo Cascon) [1728773] - [netdrv] nfp: move vNIC reset before netdev init (Pablo Cascon) [1728773] - [netdrv] nfp: add a mutex lock for the vNIC ctrl BAR (Pablo Cascon) [1728773] - [netdrv] nfp: opportunistically poll for reconfig result (Pablo Cascon) [1728773] - [netdrv] nfp: remove ndo_get_port_parent_id implementation (Pablo Cascon) [1728773] - [netdrv] nfp: pass switch ID through devlink_port_attrs_set() (Pablo Cascon) [1728773] - [netdrv] nfp: implement ethtool get module EEPROM (Pablo Cascon) [1728773] - [netdrv] nfp: nsp: implement read SFF module EEPROM (Pablo Cascon) [1728773] - [netdrv] nfp: do not handle nn->port defined case in nfp_net_get_phys_port_name() (Pablo Cascon) [1728773] - [netdrv] nfp: register devlink port before netdev (Pablo Cascon) [1728773] - [netdrv] nfp: remove defines for unused control bits (Pablo Cascon) [1728773] - [netdrv] replace ndo_get_devlink with ndo_get_devlink_port (Pablo Cascon) [1728773] - [netdrv] nfp: add .ndo_get_devlink (Pablo Cascon) [1728773] - [netdrv] nfp: flower: add rcu locks when accessing netdev for tunnels (Pablo Cascon) [1728773] - [netdrv] nfp: flower: add qos offload stats request and reply (Pablo Cascon) [1728773] - [netdrv] nfp: flower: fix size_t compile warning (Pablo Cascon) [1728773] - [netdrv] nfp: flower: fix implicit fallthrough warning (Pablo Cascon) [1728773] - [netdrv] nfp: flower: offload merge flows (Pablo Cascon) [1728773] - [netdrv] nfp: flower: support stats update for merge flows (Pablo Cascon) [1728773] - [netdrv] nfp: flower: generate merge flow rule (Pablo Cascon) [1728773] - [netdrv] nfp: flower: validate merge hint flows (Pablo Cascon) [1728773] - [netdrv] nfp: flower: handle merge hint messages (Pablo Cascon) [1728773] - [netdrv] nfp: flower: get flows by host context (Pablo Cascon) [1728773] - [netdrv] nfp: flower: allow tunnels to output to internal port (Pablo Cascon) [1728773] - [netdrv] nfp: flower: support fallback packets from internal ports (Pablo Cascon) [1728773] - [netdrv] nfp: allow fallback packets from non-reprs (Pablo Cascon) [1728773] - [netdrv] nfp: flower: allow offloading of matches on 'internal' ports (Pablo Cascon) [1728773] - [netdrv] nfp: flower: turn on recirc and merge hint support in firmware (Pablo Cascon) [1728773] - [netdrv] nfp: flower: reduce action list size by coalescing mangle actions (Pablo Cascon) [1728773] - [fs] xfs: properly serialise fallocate against AIO+DIO (Eric Sandeen) [1765547] - [fs] xfs: fix attr leaf header freemap.size underflow (Brian Foster) [1728989] - [mm] maintain randomization of page free lists (Rafael Aquini) [1620349] - [mm] move buddy list manipulations into helpers (Rafael Aquini) [1620349] - [mm] shuffle initial free memory to improve memory-side-cache utilization (Rafael Aquini) [1620349] - [powerpc] kvm: ppc: book3s hv: Flush link stack on guest exit to host kernel (Gustavo Duarte) [1777686] - [powerpc] book3s64: Fix link stack flush on context switch (Gustavo Duarte) [1777686] - [powerpc] 64s: support nospectre_v2 cmdline option (Gustavo Duarte) [1777686] - [powerpc] fsl: Update Spectre v2 reporting (Gustavo Duarte) [1777686] - [powerpc] fsl: Add nospectre_v2 command line argument (Gustavo Duarte) [1777686] - [powerpc] fsl: Fix spectre_v2 mitigations reporting (Gustavo Duarte) [1777686] - [powerpc] 64: Make meltdown reporting Book3S 64 specific (Gustavo Duarte) [1777686] - [powerpc] 64: Disable the speculation barrier from the command line (Gustavo Duarte) [1777686] - [x86] kprobes: Avoid kretprobe recursion bug (Jiri Olsa) [1779235] - [x86] kprobes: Verify stack frame on kretprobe (Jiri Olsa) [1779235]- [fs] iomap: Fix pipe page leakage during splicing (Andreas Grunbacher) [1622634] - [fs] iomap: fix return value of iomap_dio_bio_actor on 32bit systems (Andreas Grunbacher) [1622634] - [fs] iomap: iomap_bmap should check iomap_apply return value (Andreas Grunbacher) [1622634] - [fs] iomap: Fix overflow in iomap_page_mkwrite (Andreas Grunbacher) [1622634] - [fs] splice: only read in as much information as there is pipe buffer space (Andreas Grunbacher) [1622634] - [fs] gfs2: Always mark inode dirty in fallocate (Andreas Grunbacher) [1622634] - [fs] dax: Fix pmd vs pte conflict detection (Jeff Moyer) [1777250] - [fs] xfs: move local to extent inode logging into bmap helper (Brian Foster) [1737677] - [fs] xfs: remove broken error handling on failed attr sf to leaf change (Brian Foster) [1737677] - [fs] xfs: log the inode on directory sf to block format change (Brian Foster) [1737677] - [block] bfq: deschedule empty bfq_queues not referred by any process (Ming Lei) [1773831] - [scsi] revert "scsi: qla2xxx: Fix memory leak when sending I/O fails" (Himanshu Madhani) [1759275] - [infiniband] rdma/iw_cxgb4: Report correct port speed/width (Vishal Kulkarni) [1757806] - [infiniband] rdma/iw_cxgb4: fix SRQ access from dump_qp() (Vishal Kulkarni) [1779997] - [net] nl80211: Fix possible Spectre-v1 for CQM RSSI thresholds (Vladis Dronov) [1778898] - [atm] iphase: Fix Spectre v1 vulnerability (Vladis Dronov) [1778898] - [x86] tls: Fix possible spectre-v1 in do_get_thread_area() (Vladis Dronov) [1778898] - [x86] ptrace: Fix possible spectre-v1 in ptrace_get_debugreg() (Vladis Dronov) [1778898] - [net] atm: Fix potential Spectre v1 vulnerabilities (Vladis Dronov) [1778898] - [powerpc] ptrace: Mitigate potential Spectre v1 (Vladis Dronov) [1778898] - [char] applicom: Fix potential Spectre v1 vulnerabilities (Vladis Dronov) [1778898] - [char] mwave: fix potential Spectre v1 vulnerability (Vladis Dronov) [1778898] - [misc] misc/sgi-gru: fix Spectre v1 vulnerability (Vladis Dronov) [1778898] - [usb] gadget: storage: Fix Spectre v1 vulnerability (Vladis Dronov) [1778898] - [misc] hmc6352: fix potential Spectre v1 (Vladis Dronov) [1778898] - [s390] qeth: ensure linear access to packet headers (Philipp Rudo) [1781085] - [s390] qeth: guard against runt packets (Philipp Rudo) [1781085] - [s390] qeth: handle skb allocation error gracefully (Philipp Rudo) [1781085] - [s390] qeth: drop unwanted packets earlier in RX path (Philipp Rudo) [1781085] - [s390] qeth: support per-frame invalidation (Philipp Rudo) [1781085] - [s390] qeth: gather more detailed RX dropped/error statistics (Philipp Rudo) [1781085] - [s390] Mark expected switch fall-throughs (Philipp Rudo) [1781085] - [sched] fair: Scale bandwidth quota and period without losing quota/period ratio precision (Phil Auld) [1706247] - [sched] fair: Fix -Wunused-but-set-variable warnings (Phil Auld) [1706247] - [sched] fair: Fix low cpu usage with high throttling by removing expiration of cpu-local slices (Phil Auld) [1706247] - [kernel] sched/core: Remove double update_max_interval() call on CPU startup (Phil Auld) [1757535] - [kernel] sched/core: Fix migration to invalid CPU in __set_cpus_allowed_ptr() (Phil Auld) [1757535] - [kernel] sched/fair: Don't assign runtime for throttled cfs_rq (Phil Auld) [1757535] - [kernel] cpufreq: schedutil: Don't skip freq update when limits change (Phil Auld) [1757535] - [kernel] sched/deadline: Fix double accounting of rq/running bw in push & pull (Phil Auld) [1757535] - [kernel] sched/fair: Fix imbalance due to CPU affinity (Phil Auld) [1757535] - [kernel] sched/fair: Use RCU accessors consistently for ->numa_group (Phil Auld) [1757535] - [kernel] sched/fair: Don't free p->numa_faults with concurrent readers (Phil Auld) [1757535] - [kernel] sched/fair: Rename weighted_cpuload() to cpu_runnable_load() (Phil Auld) [1757535] - [kernel] sched/topology: Remove unused 'sd' parameter from arch_scale_cpu_capacity() (Phil Auld) [1757535] - [kernel] sched/fair: Don't push cfs_bandwith slack timers forward (Phil Auld) [1757535] - [documentation] sched/fair: Fix "runnable_avg_yN_inv" not used warnings (Phil Auld) [1757535] - [kernel] sched/fair: Clean up definition of NOHZ blocked load functions (Phil Auld) [1757535] - [kernel] sched/core: Add __sched tag for io_schedule() (Phil Auld) [1757535] - [kernel] sched/fair: Remove sgs->sum_weighted_load (Phil Auld) [1757535] - [kernel] sched/core: Remove sd->*_idx (Phil Auld) [1757535] - [kernel] sched/core: Remove rq->cpu_load[] (Phil Auld) [1757535] - [kernel] sched/debug: Remove sd->*_idx range on sysctl (Phil Auld) [1757535] - [kernel] sched/fair: Replace source_load() & target_load() with weighted_cpuload() (Phil Auld) [1757535] - [kernel] sched/fair: Remove the rq->cpu_load[] update code (Phil Auld) [1757535] - [kernel] sched/fair: Remove rq->load (Phil Auld) [1757535] - [kernel] sched/core: Unify p->on_rq updates (Phil Auld) [1757535] - [kernel] sched/core: Remove ttwu_activate() (Phil Auld) [1757535] - [kernel] sched/cpufreq: Fix 32-bit math overflow (Phil Auld) [1757535] - [kernel] sched/fair: Update scale invariance of PELT (Phil Auld) [1757535] - [kernel] sched/pelt: Skip updating util_est when utilization is higher than CPU's capacity (Phil Auld) [1757535] - [kernel] sched/fair: Move the rq_of() helper function (Phil Auld) [1757535] - [kernel] sched/core: Use READ_ONCE()/WRITE_ONCE() in move_queued_task()/task_rq_lock() (Phil Auld) [1757535] - [kernel] sched/numa: Remove unused numa_stats::nr_running field (Phil Auld) [1757535] - [kernel] sched/fair: Add lsub_positive() and use it consistently (Phil Auld) [1706247 1757535] - [kernel] sched/fair: Mask UTIL_AVG_UNCHANGED usages (Phil Auld) [1706247 1757535] - [cpuidle] teo: Avoid using "early hits" incorrectly (Al Stone) [1725618] - [cpuidle] teo: Fix "early hits" handling for disabled idle states (Al Stone) [1725618] - [cpuidle] teo: Consider hits and misses metrics of disabled states (Al Stone) [1725618] - [cpuidle] teo: Rename local variable in teo_select() (Al Stone) [1725618] - [cpuidle] teo: Ignore disabled idle states that are too deep (Al Stone) [1725618] - [cpuidle] teo: Get rid of redundant check in teo_update() (Al Stone) [1725618] - [cpuidle] teo: Allow tick to be stopped if PM QoS is used (Al Stone) [1725618] - [cpuidle] governors: unify last_state_idx (Al Stone) [1725618] - [powerpc] powernv/cpuidle: Fix idle states all being marked invalid (Al Stone) [1725618] - [cpuidle] menu: Avoid overflows when computing variance (Al Stone) [1725618] - [cpuidle] dt: bail out if the idle-state DT node is not compatible (Al Stone) [1725618] - [kernel] cpuidle: use BIT() for idle state flags and remove CPUIDLE_DRIVER_FLAGS_MASK (Al Stone) [1725618] - [cpuidle] New timer events oriented governor for tickless systems (Al Stone) [1725618] - [cpuidle] Add 'above' and 'below' idle state metrics (Al Stone) [1725618] - [cpuidle] big.little: fix refcount leak (Al Stone) [1725618] - [documentation] documentation: admin-guide: pm: Add cpuidle document (Al Stone) [1725618] - [cpuidle] powerpc/pseries/cpuidle: Fix preempt warning (Al Stone) [1725618] - [cpuidle] arm: cpuidle: Convert to use cpuidle_register|unregister() (Al Stone) [1725618] - [cpuidle] arm: cpuidle: Don't register the driver when back-end init returns -ENXIO (Al Stone) [1725618] - [cpuidle] menu: Remove get_loadavg() from the performance multiplier (Al Stone) [1725618] - [kernel] sched: Factor out nr_iowait and nr_iowait_cpu (Al Stone) [1725618] - [kernel] sched/core: Fix comment regarding nr_iowait_cpu() and get_iowait_load() (Al Stone) [1725618] - [cpuidle] menu: Avoid computations when result will be discarded (Al Stone) [1725618] - [cpuidle] menu: Drop redundant comparison (Al Stone) [1725618] - [cpuidle] menu: Simplify checks related to the polling state (Al Stone) [1725618] - [cpuidle] menu: Move the latency_req == 0 special case check (Al Stone) [1725618] - [cpuidle] menu: Avoid computations for very close timers (Al Stone) [1725618] - [cpuidle] menu: Do not update last_state_idx in menu_select() (Al Stone) [1725618] - [cpuidle] menu: Get rid of first_idx from menu_select() (Al Stone) [1725618] - [cpuidle] menu: Compute first_idx when latency_req is known (Al Stone) [1725618] - [cpuidle] menu: Replace data->predicted_us with local variable (Al Stone) [1725618] - [cpuidle] enter_state: Don't needlessly calculate diff time (Al Stone) [1725618] - [kernel] cpuidle: Remove unnecessary wrapper cpuidle_get_last_residency() (Al Stone) [1725618] - [cpuidle] menu: Update stale polling override comment (Al Stone) [1725618] - [cpuidle] menu: Fix white space (Al Stone) [1725618] - [cpuidle] powernv/cpuidle: Use parsed device tree values for cpuidle_init (Al Stone) [1725618] - [powerpc] powernv/cpuidle: Parse dt idle properties into global structure (Al Stone) [1725618] - [cpuidle] arm: cpuidle: silence error on driver registration failure (Al Stone) [1725618]- [documentation] docs: admin-guide: Remove threads-max auto-tuning (Joe Lawrence) [1771270] - [documentation] docs: admin-guide: Fix min value of threads-max in kernel.rst (Joe Lawrence) [1771270] - [kernel] sysctl.c: do not override max_threads provided by userspace (Joe Lawrence) [1771270] - [fs] ext4: fix integer overflow when calculating commit interval (Lukas Czerner) [1775166] - [fs] ext4: fix punch hole for inline_data file systems (Lukas Czerner) [1775166] - [fs] ext4: fix warning inside ext4_convert_unwritten_extents_endio (Lukas Czerner) [1775166] - [fs] ext4: set error return correctly when ext4_htree_store_dirent fails (Lukas Czerner) [1775166] - [fs] ext4: fix warning when turn on dioread_nolock and inline_data (Lukas Czerner) [1775166] - [fs] ext4: use jbd2_inode dirty range scoping (Lukas Czerner) [1775166] - [fs] jbd2: introduce jbd2_inode dirty range scoping (Lukas Czerner) [1775166] - [mm] add filemap_fdatawait_range_keep_errors() (Lukas Czerner) [1775166] - [fs] ext4: enforce the immutable flag on open files (Lukas Czerner) [1775166] - [fs] ext4: don't allow any modifications to an immutable file (Lukas Czerner) [1775166] - [fs] jbd2: fix typo in comment of journal_submit_inode_data_buffers (Lukas Czerner) [1775166] - [fs] jbd2: fix some print format mistakes (Lukas Czerner) [1775166] - [fs] ext4: do not delete unlinked inode from orphan list on failed truncate (Lukas Czerner) [1775166] - [fs] ext4: wait for outstanding dio during truncate in nojournal mode (Lukas Czerner) [1775166] - [fs] ext4: don't perform block validity checks on the journal inode (Lukas Czerner) [1775166] - [fs] ext4: fix block validity checks for journal inodes using indirect blocks (Lukas Czerner) [1775166] - [fs] ext4: fix miscellaneous sparse warnings (Lukas Czerner) [1775166] - [fs] jbd2: fix potential double free (Lukas Czerner) [1775166] - [fs] quota: fix condition for resetting time limit in do_set_dqblk() (Lukas Czerner) [1778119] - [fs] quota: honor quota type in Q_XGETQSTAT[V] calls (Lukas Czerner) [1778119] - [fs] quota: fix a problem about transfer quota (Lukas Czerner) [1778119] - [fs] quota: add dqi_dirty_list description to comment of Dquot List Management (Lukas Czerner) [1778119] - [fs] quota: check time limit when back out space/inode change (Lukas Czerner) [1778119] - [fs] quota: fix wrong indentation (Lukas Czerner) [1778119] - [fs] quota: remove trailing whitespaces (Lukas Czerner) [1778119] - [fs] quota: code cleanup for __dquot_alloc_space() (Lukas Czerner) [1778119] - [fs] quota: Lock s_umount in exclusive mode for Q_XQUOTA{ON, OFF} quotactls (Lukas Czerner) [1778119] - [fs] quota: Replace XQM_MAXQUOTAS usage with MAXQUOTAS (Lukas Czerner) [1778119] - [hv] vmbus: Fix harmless building warnings without CONFIG_PM_SLEEP (Mohammed Gamal) [1774675] - [hv] hv: vmbus: Resume after fixing up old primary channels (Mohammed Gamal) [1774675] - [hv] hv: vmbus: Suspend after cleaning up hv_sock and sub channels (Mohammed Gamal) [1774675] - [kernel] hv: vmbus: Add a helper function is_sub_channel() (Mohammed Gamal) [1774675] - [hv] hv: vmbus: Clean up hv_sock channels by force upon suspend (Mohammed Gamal) [1774675] - [hv] hv: vmbus: Suspend/resume the vmbus itself for hibernation (Mohammed Gamal) [1774675] - [hv] hv: vmbus: Ignore the offers when resuming from hibernation (Mohammed Gamal) [1774675] - [hv] hv: vmbus: Implement suspend/resume for VSC drivers for hibernation (Mohammed Gamal) [1774675] - [hv] hv: vmbus: Fix virt_to_hvpfn() for X86_PAE (Mohammed Gamal) [1774675] - [hv] hv: vmbus: Remove the unused "tsc_page" from struct hv_context (Mohammed Gamal) [1774675] - [hv] tools: hv: Use the correct style for SPDX License Identifier (Mohammed Gamal) [1774675] - [hv] hv_balloon: Reorganize the probe function (Mohammed Gamal) [1774675] - [hv] hv_balloon: Use a static page for the balloon_up send buffer (Mohammed Gamal) [1774675] - [hv] hv: vmbus: Replace page definition with Hyper-V specific one (Mohammed Gamal) [1774675] - [hv] hv: Add a module description line to the hv_vmbus driver (Mohammed Gamal) [1774675] - [hv] hv: vmbus: Remove the undesired put_cpu_ptr() in hv_synic_cleanup() (Mohammed Gamal) [1774675] - [hv] hv: vmbus: Fix race condition with new ring_buffer_info mutex (Mohammed Gamal) [1774675] - [hv] hv: vmbus: Set ring_info field to 0 and remove memset (Mohammed Gamal) [1774675] - [hv] hv: vmbus: Refactor chan->state if statement (Mohammed Gamal) [1774675] - [hv] hv: vmbus: Expose monitor data only when monitor pages are used (Mohammed Gamal) [1774675] - [netdrv] hv_netvsc: Fix error handling in netvsc_attach() (Mohammed Gamal) [1774687] - [netdrv] hv_netvsc: Fix error handling in netvsc_set_features() (Mohammed Gamal) [1774687] - [netdrv] hv_netvsc: Sync offloading features to VF NIC (Mohammed Gamal) [1774687] - [netdrv] hv_netvsc: Allow scatter-gather feature to be tunable (Mohammed Gamal) [1774687] - [netdrv] hv_netvsc: Fix a warning of suspicious RCU usage (Mohammed Gamal) [1774687] - [netdrv] hv_netvsc: Fix extra rcu_read_unlock in netvsc_recv_callback() (Mohammed Gamal) [1774687] - [netdrv] hv_netvsc: Set probe mode to sync (Mohammed Gamal) [1774687] - [netdrv] hv_netvsc: fix race that may miss tx queue wakeup (Mohammed Gamal) [1774687] - [netdrv] nfp: bpf: fix latency bug when updating stack index register (Pablo Cascon) [1729156] - [netdrv] nfp: bpf: eliminate zero extension code-gen (Pablo Cascon) [1729156] - [netdrv] bnxt_en: Call bnxt_ulp_stop()/bnxt_ulp_start() during suspend/resume (Jonathan Toppins) [1773724] - [netdrv] bnxt_en: Call bnxt_ulp_stop()/bnxt_ulp_start() during error recovery (Jonathan Toppins) [1773724] - [netdrv] bnxt_en: Improve bnxt_ulp_stop()/bnxt_ulp_start() call sequence (Jonathan Toppins) [1773724] - [netdrv] bnxt_en: flow_offload: offload tunnel decap rules via indirect callbacks (Jonathan Toppins) [1773724] - [netdrv] bnxt: Avoid logging an unnecessary message when a flow can't be offloaded (Jonathan Toppins) [1773724] - [netdrv] bnxt_en: Add support to collect crash dump via ethtool (Jonathan Toppins) [1773724] - [netdrv] bnxt_en: Add support to invoke OP-TEE API to reset firmware (Jonathan Toppins) [1773724] - [netdrv] broadcom: bnxt: Fix use true/false for bool (Jonathan Toppins) [1773724] - [netdrv] bnxt_en: Avoid disabling pci device in bnxt_remove_one() for already disabled device (Jonathan Toppins) [1773724] - [netdrv] bnxt_en: Minor formatting changes in FW devlink_health_reporter (Jonathan Toppins) [1773724] - [netdrv] bnxt_en: Adjust the time to wait before polling firmware readiness (Jonathan Toppins) [1773724] - [netdrv] bnxt_en: Fix devlink NVRAM related byte order related issues (Jonathan Toppins) [1773724] - [netdrv] bnxt_en: Fix the size of devlink MSIX parameters (Jonathan Toppins) [1773724] - [nvme] Fix parsing of ANA log page (Ewan Milne) [1769028] - [nvme] nvme-multipath: fix ana log nsid lookup when nsid is not found (Ewan Milne) [1769028] - [nvme] nvme-multipath: fix possible I/O hang when paths are updated (Ewan Milne) [1769028] - [nvme] revert "nvme: update node paths after adding new path" (Ewan Milne) [1769028] - [netdrv] mlx5: Update the list of the PCI supported devices (Mohammad Heib) [1776921] - [netdrv] mlx5: Fix auto group size calculation (Mohammad Heib) [1776921] - [netdrv] mlx5e: Do not use non-EXT link modes in EXT mode (Mohammad Heib) [1776921] - [netdrv] mlx5e: Fix set vf link state error flow (Mohammad Heib) [1776921] - [netdrv] mlx5: DR, Limit STE hash table enlarge based on bytemask (Mohammad Heib) [1776921] - [netdrv] mlx5: DR, Fix invalid EQ vector number on CQ creation (Mohammad Heib) [1776921] - [netdrv] mlx5: DR, Skip rehash for tables with byte mask zero (Mohammad Heib) [1776921] - [netdrv] mlx5e: Fix error flow cleanup in mlx5e_tc_tun_create_header_ipv4/6 (Mohammad Heib) [1776921] - [netdrv] mlx5: DR, Fix matcher builders select check (Mohammad Heib) [1776921] - [netdrv] mlx5: Read num_vfs before disabling SR-IOV (Mohammad Heib) [1776921] - [netdrv] mlx5: Clear VF's configuration on disabling SRIOV (Mohammad Heib) [1776921] - [netdrv] mlx5: DR, Fix memory leak during rule creation (Mohammad Heib) [1776921] - [netdrv] mlx5: DR, Fix memory leak in modify action destroy (Mohammad Heib) [1776921] - [netdrv] mlx5e: Fix eswitch debug print of max fdb flow (Mohammad Heib) [1776921] - [netdrv] mlx5: LAG, Use affinity type enumerators (Mohammad Heib) [1776921] - [netdrv] mlx5: E-switch, Enable metadata on own vport (Mohammad Heib) [1776921] - [netdrv] mlx5: Correct comment for legacy fields (Mohammad Heib) [1776921] - [netdrv] mlx5: Fixed a typo in a comment in esw_del_uc_addr() (Mohammad Heib) [1776921] - [netdrv] mlx5: Fix rtable reference leak (Mohammad Heib) [1776921] - [netdrv] mlx5: fix a -Wstringop-truncation warning (Mohammad Heib) [1776921] - [netdrv] mlx5e: Fix a race with XSKICOSQ in XSK wakeup flow (Mohammad Heib) [1776921] - [netdrv] mlx5e: Fix wrong max num channels indication (Mohammad Heib) [1776921] - [netdrv] mlx5e: Add XSK zero-copy support (Mohammad Heib) [1776921]- [mm] memremap: drop unused SECTION_SIZE and SECTION_MASK (Don Dutile) [1754737] - [mm] memremap: Fix reuse of pgmap instances with internal references (Don Dutile) [1754737] - [mm] memunmap: don't access uninitialized memmap in memunmap_pages() (Don Dutile) [1754737] - [mm] memremap: move from kernel/ to mm/ (Don Dutile) [1754737] - [kernel] memremap: provide an optional internal refcount in struct dev_pagemap (Don Dutile) [1754737] - [kernel] memremap: replace the altmap_valid field with a PGMAP_ALTMAP_VALID flag (Don Dutile) [1754737] - [mm] memremap: remove the data field in struct dev_pagemap (Don Dutile) [1754737] - [kernel] memremap: add a migrate_to_ram method to struct dev_pagemap_ops (Don Dutile) [1754737] - [kernel] memremap: lift the devmap_enable manipulation into devm_memremap_pages (Don Dutile) [1754737] - [nvdimm] memremap: pass a struct dev_pagemap to ->kill and ->cleanup (Don Dutile) [1754737] - [kernel] memremap: move dev_pagemap callbacks into a separate structure (Don Dutile) [1754737] - [kernel] memremap: validate the pagemap type passed to devm_memremap_pages (Don Dutile) [1754737] - [mm] remove MEMORY_DEVICE_PUBLIC support (Don Dutile) [1754737] - [mm] migrate.c: cleanup expected_page_refs() (Don Dutile) [1754737] - [mm] migration: factor out code to compute expected number of page references (Don Dutile) [1754737] - [kernel] mm/devm_memremap_pages: fix final page put race (Don Dutile) [1754737] - [kernel] mm/devm_memremap_pages: introduce devm_memunmap_pages (Don Dutile) [1754737] - [kernel] memremap.c: remove the unused device_private_entry_fault() export (Don Dutile) [1754737] - [base] devres: introduce devm_release_action() (Don Dutile) [1754737] - [base] devres: Align data[] to ARCH_KMALLOC_MINALIGN (Don Dutile) [1754737] - [base] devres: provide devm_kstrdup_const() (Don Dutile) [1754737] - [base] devres: constify p in devm_kfree() (Don Dutile) [1754737] - [kernel] mm: move is_kernel_rodata() to asm-generic/sections.h (Don Dutile) [1754737] - [kernel] mm: fix vm_fault_t cast in VM_FAULT_GET_HINDEX() (Don Dutile) [1754737] - [kernel] mm: create the new vm_fault_t type (Don Dutile) [1754737] - [kernel] mm/hmm: convert to use vm_fault_t (Don Dutile) [1754737] - [kernel] mm/hmm: fix memremap.h, move dev_page_fault_t callback to hmm (Don Dutile) [1754737] - [fs] proc/vmcore.c: Convert to use vmf_error() (Don Dutile) [1754737] - [fs] proc/vmcore.c: use new typedef vm_fault_t (Don Dutile) [1754737] - [s390] vdso_fault return type (Don Dutile) [1754737] - [mm] inline vm_insert_pfn_prot() into caller (Don Dutile) [1754737] - [mm] remove vm_insert_pfn() (Don Dutile) [1754737] - [mm] make vm_insert_pfn_prot() static (Don Dutile) [1754737] - [x86] convert vdso to use vm_fault_t (Don Dutile) [1754737] - [mm] introduce vmf_insert_pfn_prot() (Don Dutile) [1754737] - [mm] convert __vm_insert_mixed() to vm_fault_t (Don Dutile) [1754737] - [kernel] mm: remove vm_insert_mixed() (Don Dutile) [1754737] - [fs] cramfs: convert to use vmf_insert_mixed (Don Dutile) [1754737] - [scsi] cxlflash: Change return type for fault handler (Don Dutile) [1754737] - [misc] ocxl: Change return type for fault handler (Don Dutile) [1754737] - [kernel] fs/iomap.c: change return type to vm_fault_t (Don Dutile) [1754737] - [mm] swap.c: remove duplicated include (Don Dutile) [1754737] - [kernel] perf/aux: Fix the aux_output group inheritance fix (Michael Petlan) [1743210] - [kernel] perf/core: Fix inheritance of aux_output groups (Michael Petlan) [1743210] - [kernel] perf/aux: Disallow aux_output for kernel events (Michael Petlan) [1743210] - [kernel] perf/core: Reattach a misplaced comment (Michael Petlan) [1743210] - [kernel] perf/aux: Fix AUX output stopping (Michael Petlan) [1743210] - [tools] perf vendor events s390: Add JSON transaction for machine type 8561 (Michael Petlan) [1743210] - [tools] perf scripts python: exported-sql-viewer.py: Fix use of TRUE with SQLite (Michael Petlan) [1743210] - [tools] objtool: Fix build by linking against tools/lib/ctype.o sources (Michael Petlan) [1743210] - [tools] perf list: Allow plurals for metric, metricgroup (Michael Petlan) [1743210] - [tools] perf vendor events: Minor fixes to the README (Michael Petlan) [1743210] - [tools] perf vendor events amd: Remove redundant '[' (Michael Petlan) [1743210] - [tools] perf vendor events amd: Add L3 cache events for Family 17h (Michael Petlan) [1743210] - [tools] tools include uapi: Update copy of files related to new fspick, fsmount, fsconfig, fsopen, move_mount and open_tree syscalls (Michael Petlan) [1743210] - [tools] perf pmu-events: Fix missing "cpu_clk_unhalted.core" event (Michael Petlan) [1743210] - [tools] perf annotate: Fix s390 gap between kernel end and module start (Michael Petlan) [1743210] - [tools] perf record: Fix module size on s390 (Michael Petlan) [1743210] - [tools] perf tools: Fix include paths in ui directory (Michael Petlan) [1743210] - [tools] perf tools: Fix a typo in a variable name in the Documentation Makefile (Michael Petlan) [1743210] - [tools] perf cpumap: Fix writing to illegal memory in handling cpumap mask (Michael Petlan) [1743210] - [tools] perf ftrace: Fix failure to set cpumask when only one cpu is present (Michael Petlan) [1743210] - [tools] perf db-export: Fix thread__exec_comm() (Michael Petlan) [1743210] - [tools] perf annotate: Fix printing of unaugmented disassembled instructions from BPF (Michael Petlan) [1743210] - [tools] perf bench numa: Fix cpu0 binding (Michael Petlan) [1743210] - [tools] perf tools: Fix perf.data documentation units for memory size (Michael Petlan) [1743210] - [tools] perf header: Fix use of unitialized value warning (Michael Petlan) [1743210] - [tools] perf header: Fix divide by zero error if f_header.attr_size==0 (Michael Petlan) [1743210] - [tools] tools perf beauty: Fix usbdevfs_ioctl table generator to handle _IOC() (Michael Petlan) [1743210] - [tools] perf build: Do not use -Wshadow on gcc < 4.8 (Michael Petlan) [1743210] - [tools] perf probe: Avoid calling freeing routine multiple times for same pointer (Michael Petlan) [1743210] - [tools] perf probe: Set pev->nargs to zero after freeing pev->args entries (Michael Petlan) [1743210] - [tools] perf session: Fix loading of compressed data split across adjacent records (Michael Petlan) [1743210] - [tools] perf stat: Always separate stalled cycles per insn (Michael Petlan) [1743210] - [tools] perf stat: Fix segfault for event group in repeat mode (Michael Petlan) [1743210] - [tools] perf tools: Fix proper buffer size for feature processing (Michael Petlan) [1743210] - [tools] perf script: Fix off by one in brstackinsn IPC computation (Michael Petlan) [1743210] - [tools] perf script: Improve man page description of metrics (Michael Petlan) [1743210] - [tools] perf script: Fix --max-blocks man page description (Michael Petlan) [1743210] - [tools] perf vendor events s390: Add JSON files for machine type 8561 (Michael Petlan) [1743210] - [tools] perf cs-etm: Return errcode in cs_etm__process_auxtrace_info() (Michael Petlan) [1743210] - [tools] perf cs-etm: Remove errnoeous ERR_PTR() usage in cs_etm__process_auxtrace_info (Michael Petlan) [1743210] - [tools] perf scripts python: export-to-postgresql.py: Export switch events (Michael Petlan) [1743210] - [tools] perf scripts python: export-to-sqlite.py: Export switch events (Michael Petlan) [1743210] - [tools] perf db-export: Export switch events (Michael Petlan) [1743210] - [tools] perf db-export: Factor out db_export__threads() (Michael Petlan) [1743210] - [tools] perf script: Add scripting operation process_switch() (Michael Petlan) [1743210] - [tools] perf scripts python: exported-sql-viewer.py: Use new 'has_calls' column (Michael Petlan) [1743210] - [tools] perf scripts python: exported-sql-viewer.py: Remove redundant semi-colons (Michael Petlan) [1743210] - [tools] perf scripts python: export-to-postgresql.py: Add has_calls column to comms table (Michael Petlan) [1743210] - [tools] perf scripts python: export-to-sqlite.py: Add has_calls column to comms table (Michael Petlan) [1743210] - [tools] perf db-export: Also export thread's current comm (Michael Petlan) [1743210] - [tools] perf db-export: Factor out db_export__comm() (Michael Petlan) [1743210] - [tools] perf scripts python: export-to-postgresql.py: Export comm details (Michael Petlan) [1743210] - [tools] perf scripts python: export-to-sqlite.py: Export comm details (Michael Petlan) [1743210] - [tools] perf db-export: Export comm details (Michael Petlan) [1743210] - [tools] perf db-export: Fix a white space issue in db_export__sample() (Michael Petlan) [1743210] - [tools] perf db-export: Move export__comm_thread into db_export__sample() (Michael Petlan) [1743210] - [tools] perf db-export: Export comm before exporting thread (Michael Petlan) [1743210] - [tools] perf db-export: Export main_thread in db_export__sample() (Michael Petlan) [1743210] - [tools] perf db-export: Pass main_thread to db_export__thread() (Michael Petlan) [1743210] - [tools] perf db-export: Rename db_export__comm() to db_export__exec_comm() (Michael Petlan) [1743210] - [tools] perf db-export: Get rid of db_export__deferred() (Michael Petlan) [1743210] - [tools] perf trace: Auto bump rlimit(MEMLOCK) for eBPF maps sake (Michael Petlan) [1743210] - [tools] perf test: Auto bump rlimit(MEMLOCK) for BPF test sake (Michael Petlan) [1743210] - [tools] perf tools: Introduce rlimit__bump_memlock() helper (Michael Petlan) [1743210] - [tools] perf-probe: Add user memory access attribute support (Michael Petlan) [1743210] - [tools] perf intel-pt: Fix potential NULL pointer dereference found by the smatch tool (Michael Petlan) [1743210] - [tools] perf intel-bts: Fix potential NULL pointer dereference found by the smatch tool (Michael Petlan) [1743210] - [tools] perf script: Assume native_arch for pipe mode (Michael Petlan) [1743210] - [tools] perf scripts python: export-to-sqlite.py: Fix DROP VIEW power_events_view (Michael Petlan) [1743210] - [tools] perf scripts python: export-to-postgresql.py: Fix DROP VIEW power_events_view (Michael Petlan) [1743210] - [tools] perf hists browser: Fix potential NULL pointer dereference found by the smatch tool (Michael Petlan) [1743210] - [tools] perf cs-etm: Fix potential NULL pointer dereference found by the smatch tool (Michael Petlan) [1743210] - [tools] perf parse-events: remove unused variable: error (Michael Petlan) [1743210] - [tools] perf parse-events: Remove unused variable 'i' (Michael Petlan) [1743210] - [tools] perf metricgroup: Add missing list_del_init() when flushing egroups list (Michael Petlan) [1743210] - [tools] perf tools: Use list_del_init() more thorougly (Michael Petlan) [1743210] - [tools] perf tools: Use zfree() where applicable (Michael Petlan) [1743210] - [tools] tools lib: Adopt zalloc()/zfree() from tools/perf (Michael Petlan) [1743210] - [tools] perf tools: Move get_current_dir_name() cond prototype out of util.h (Michael Petlan) [1743210] - [tools] perf namespaces: Move the conditional setns() prototype to namespaces.h (Michael Petlan) [1743210] - [tools] perf tools: Add missing headers, mostly stdlib.h (Michael Petlan) [1743210] - [tools] perf evsel: perf_evsel__name(NULL) is valid, no need to check evsel (Michael Petlan) [1743210] - [tools] perf session: Fix potential NULL pointer dereference found by the smatch tool (Michael Petlan) [1743210] - [tools] perf inject: The tool->read() call may pass a NULL evsel, handle it (Michael Petlan) [1743210] - [tools] perf map: Fix potential NULL pointer dereference found by smatch tool (Michael Petlan) [1743210] - [tools] perf trace: Fix potential NULL pointer dereference found by the smatch tool (Michael Petlan) [1743210] - [tools] perf annotate: Fix dereferencing freed memory found by the smatch tool (Michael Petlan) [1743210] - [tools] perf top: Fix potential NULL pointer dereference detected by the smatch tool (Michael Petlan) [1743210] - [tools] perf stat: Fix use-after-freed pointer detected by the smatch tool (Michael Petlan) [1743210] - [tools] perf test mmap-thread-lookup: Initialize variable to suppress memory sanitizer warning (Michael Petlan) [1743210] - [tools] perf script: Allow specifying the files to process guest samples (Michael Petlan) [1743210] - [tools] perf tools metric: Don't include duration_time in group (Michael Petlan) [1743210] - [tools] perf list: avoid extra : for --raw metrics (Michael Petlan) [1743210] - [tools] perf vendor events intel: Metric fixes for SKX/CLX (Michael Petlan) [1743210] - [tools] perf tools: Fix typos / broken sentences (Michael Petlan) [1743210] - [tools] perf jevents: Add support for Hisi hip08 L3C PMU aliasing (Michael Petlan) [1743210] - [tools] perf jevents: Add support for Hisi hip08 HHA PMU aliasing (Michael Petlan) [1743210] - [tools] perf jevents: Add support for Hisi hip08 DDRC PMU aliasing (Michael Petlan) [1743210] - [tools] perf pmu: Support more complex PMU event aliasing (Michael Petlan) [1743210] - [tools] perf diff: Documentation -c cycles option (Michael Petlan) [1743210] - [tools] perf diff: Print the basic block cycles diff (Michael Petlan) [1743210] - [tools] perf diff: Link same basic blocks among different data (Michael Petlan) [1743210] - [tools] perf diff: Use hists to manage basic blocks per symbol (Michael Petlan) [1743210] - [tools] perf diff: Check if all data files with branch stacks (Michael Petlan) [1743210] - [tools] perf hists: Add block_info in hist_entry (Michael Petlan) [1743210] - [tools] perf symbol: Create block_info structure (Michael Petlan) [1743210] - [tools] perf jevents: Use nonlocal include statements in pmu-events.c (Michael Petlan) [1743210] - [tools] perf annotate: Add csky support (Michael Petlan) [1743210] - [tools] perf stat: Fix metrics with --no-merge (Michael Petlan) [1743210] - [tools] perf stat: Fix group lookup for metric group (Michael Petlan) [1743210] - [tools] perf stat: Don't merge events in the same PMU (Michael Petlan) [1743210] - [tools] perf stat: Make metric event lookup more robust (Michael Petlan) [1743210] - [tools] tools lib: Move argv_{split, free} from tools/perf/util/ (Michael Petlan) [1743210] - [tools] perf tools: Drop strxfrchar(), use strreplace() equivalent from kernel (Michael Petlan) [1743210] - [tools] tools lib: Adopt strreplace() from the kernel (Michael Petlan) [1743210] - [tools] perf tools: Ditch rtrim(), use strim() from tools/lib (Michael Petlan) [1743210] - [tools] perf tools: Remove trim() implementation, use tools/lib's strim() (Michael Petlan) [1743210] - [tools] tools lib: Adopt strim() from the kernel (Michael Petlan) [1743210] - [tools] perf tools: Ditch rtrim(), use skip_spaces() to get closer to the kernel (Michael Petlan) [1743210] - [tools] perf report: Use skip_spaces() (Michael Petlan) [1743210] - [tools] perf metricgroup: Use strsep() (Michael Petlan) [1743210] - [tools] perf strfilter: Use skip_spaces() (Michael Petlan) [1743210] - [tools] perf probe: Use skip_spaces() for argv handling (Michael Petlan) [1743210] - [tools] perf time-utils: Use skip_spaces() (Michael Petlan) [1743210] - [tools] perf header: Use skip_spaces() in __write_cpudesc() (Michael Petlan) [1743210] - [tools] perf stat: Use recently introduced skip_spaces() (Michael Petlan) [1743210] - [tools] tools lib: Adopt skip_spaces() from the kernel sources (Michael Petlan) [1743210] - [tools] perf tools: Use linux/ctype.h in more places (Michael Petlan) [1743210] - [tools] tools perf: Move from sane_ctype.h obtained from git to the Linux's original (Michael Petlan) [1743210] - [tools] perf tools: Add missing util.h to pick up 'page_size' variable (Michael Petlan) [1743210] - [tools] perf tools: Remove old baggage that is util/include/linux/ctype.h (Michael Petlan) [1743210] - [tools] perf symbols: We need util.h in symbol-elf.c for zfree() (Michael Petlan) [1743210] - [tools] perf kallsyms: Adopt hex2u64 from tools/perf/util/util.h (Michael Petlan) [1743210] - [tools] tools x86 machine: Add missing util.h to pick up 'page_size' (Michael Petlan) [1743210] - [tools] perf string: Move 'dots' and 'graph_dotted_line' out of sane_ctype.h (Michael Petlan) [1743210] - [tools] perf ctype: Remove now unused 'spaces' variable (Michael Petlan) [1743210] - [tools] perf ui stdio: No need to use 'spaces' to left align (Michael Petlan) [1743210] - [tools] perf ctype: Remove unused 'graph_line' variable (Michael Petlan) [1743210] - [tools] perf scripts python: export-to-postgresql.py: Export Intel PT power and ptwrite events (Michael Petlan) [1743210] - [tools] perf scripts python: export-to-sqlite.py: Export Intel PT power and ptwrite events (Michael Petlan) [1743210] - [tools] perf db-export: Export synth events (Michael Petlan) [1743210] - [tools] perf intel-pt: Synthesize CBR events when last seen value changes (Michael Petlan) [1743210] - [tools] perf intel-pt: Add CBR value to decoder state (Michael Petlan) [1743210] - [tools] perf intel-pt: Cater for CBR change in PSB+ (Michael Petlan) [1743210] - [tools] perf intel-pt: Decoder to output CBR changes immediately (Michael Petlan) [1743210] - [tools] perf thread-stack: Eliminate code duplicating thread_stack__pop_ks() (Michael Petlan) [1743210] - [tools] perf thread-stack: Fix thread stack return from kernel for kernel-only case (Michael Petlan) [1743210] - [tools] perf tools: Fix cache.h include directive (Michael Petlan) [1743210] - [tools] tools build: Fix the zstd test in the test-all.c common case feature test (Michael Petlan) [1743210] - [tools] perf build: Handle slang being in /usr/include and in /usr/include/slang/ (Michael Petlan) [1743210] - [tools] tools build: Add test to check if slang.h is in /usr/include/slang/ (Michael Petlan) [1743210] - [tools] perf tools: Don't hardcode host include path for libslang (Michael Petlan) [1743210] - [tools] perf evsel: Make perf_evsel__name() accept a NULL argument (Michael Petlan) [1743210] - [tools] perf trace: Fixup pointer arithmetic when consuming augmented syscall args (Michael Petlan) [1743210] - [tools] perf pmu: Fix uncore PMU alias list for ARM64 (Michael Petlan) [1743210] - [tools] perf tests: Add missing SPDX headers (Michael Petlan) [1743210] - [tools] tools build feature tests: Add missing SPDX headers (Michael Petlan) [1743210] - [tools] perf trace: Streamline validation of select syscall names list (Michael Petlan) [1743210] - [tools] perf trace: Fix exclusion of not available syscall names from selector list (Michael Petlan) [1743210] - [tools] perf intel-pt: Add callchain to synthesized PEBS sample (Michael Petlan) [1743210] - [tools] perf intel-pt: Add memory information to synthesized PEBS sample (Michael Petlan) [1743210] - [tools] perf intel-pt: Add LBR information to synthesized PEBS sample (Michael Petlan) [1743210] - [tools] perf intel-pt: Add XMM registers to synthesized PEBS sample (Michael Petlan) [1743210] - [tools] perf intel-pt: Add gp registers to synthesized PEBS sample (Michael Petlan) [1743210] - [tools] perf intel-pt: Synthesize PEBS sample basic information (Michael Petlan) [1743210] - [tools] perf intel-pt: Factor out common sample preparation for re-use (Michael Petlan) [1743210] - [tools] perf intel-pt: Prepare to synthesize PEBS samples (Michael Petlan) [1743210] - [tools] perf intel-pt: Add decoder support for PEBS via PT (Michael Petlan) [1743210] - [tools] perf intel-pt: Add Intel PT packet decoder test (Michael Petlan) [1743210] - [tools] perf intel-pt: Add new packets for PEBS via PT (Michael Petlan) [1743210] - [tools] perf tests arm64: Compile tests unconditionally (Michael Petlan) [1743210] - [tools] perf trace: Skip unknown syscalls when expanding strace like syscall groups (Michael Petlan) [1743210] - [tools] perf report: Support s390 diag event display on x86 (Michael Petlan) [1743210] - [tools] perf report: Fix OOM error in TUI mode on s390 (Michael Petlan) [1743210] - [tools] perf test 6: Fix missing kvm module load for s390 (Michael Petlan) [1743210] - [tools] perf time-utils: Add support for multiple explicit time intervals (Michael Petlan) [1743210] - [tools] perf tests: Add a test for time-utils (Michael Petlan) [1743210] - [tools] perf time-utils: Make perf_time__parse_for_ranges() more logical (Michael Petlan) [1743210] - [tools] perf time-utils: Simplify perf_time__parse_for_ranges() error paths slightly (Michael Petlan) [1743210] - [tools] perf time-utils: Fix --time documentation (Michael Petlan) [1743210] - [tools] perf time-utils: Prevent percentage time range overlap (Michael Petlan) [1743210] - [tools] perf time-utils: Factor out set_percent_time() (Michael Petlan) [1743210] - [tools] perf time-utils: Treat time ranges consistently (Michael Petlan) [1743210] - [tools] perf intel-pt: Add support for efficient time interval filtering (Michael Petlan) [1743210] - [tools] perf intel-pt: Add support for lookahead (Michael Petlan) [1743210] - [tools] perf intel-pt: Factor out intel_pt_get_buffer() (Michael Petlan) [1743210] - [tools] perf intel-pt: Add intel_pt_fast_forward() (Michael Petlan) [1743210] - [tools] perf intel-pt: Add reposition parameter to intel_pt_get_data() (Michael Petlan) [1743210] - [tools] perf intel-pt: Factor out intel_pt_reposition() (Michael Petlan) [1743210] - [tools] perf intel-pt: Factor out intel_pt_8b_tsc() (Michael Petlan) [1743210] - [tools] perf intel-pt: Add lookahead callback (Michael Petlan) [1743210] - [tools] perf report: Set perf time interval in itrace_synth_ops (Michael Petlan) [1743210] - [tools] perf script: Set perf time interval in itrace_synth_ops (Michael Petlan) [1743210] - [tools] perf auxtrace: Add perf time interval to itrace_synth_ops (Michael Petlan) [1743210] - [tools] perf config: Update default value for llvm.clang-bpf-cmd-template (Michael Petlan) [1743210] - [tools] perf cs-etm: Properly set the value of 'old' and 'head' in snapshot mode (Michael Petlan) [1743210] - [tools] perf data: Fix perf.data documentation for HEADER_CPU_TOPOLOGY (Michael Petlan) [1743210] - [tools] perf tools: Apply new CPU topology sysfs attributes (Michael Petlan) [1743210] - [tools] perf header: Rename "sibling cores" to "sibling sockets" (Michael Petlan) [1743210] - [tools] perf stat: Support per-die aggregation (Michael Petlan) [1743210] - [tools] perf header: Add die information in CPU topology (Michael Petlan) [1743210] - [tools] perf cpumap: Retrieve die id information (Michael Petlan) [1743210] - [tools] perf evsel: Remove superfluous nthreads system_wide setup in alloc_fd() (Michael Petlan) [1743210] - [tools] perf record: Add support to collect callchains from kernel or user space only (Michael Petlan) [1743210] - [tools] perf config: Bail out when a handler returns failure for a key-value pair (Michael Petlan) [1743210] - [tools] perf trace: Exit when failing to build eBPF program (Michael Petlan) [1743210] - [tools] perf trace: Associate more argument names with the filename beautifier (Michael Petlan) [1743210] - [tools] perf trace: Consume the augmented_raw_syscalls payload (Michael Petlan) [1743210] - [tools] perf augmented_raw_syscalls: Move reading filename to the loop (Michael Petlan) [1743210] - [tools] perf augmented_raw_syscalls: Change helper to consider just the augmented_filename part (Michael Petlan) [1743210] - [tools] perf augmented_raw_syscalls: Move the probe_read_str to a separate function (Michael Petlan) [1743210] - [tools] perf augmented_raw_syscalls: Tell which args are filenames and how many bytes to copy (Michael Petlan) [1743210] - [tools] perf scripts python: exported-sql-viewer.py: Select find text when find bar is activated (Michael Petlan) [1743210] - [tools] perf scripts python: exported-sql-viewer.py: Add IPC information to Call Tree (Michael Petlan) [1743210] - [tools] perf scripts python: exported-sql-viewer.py: Add IPC information to Call Graph Graph (Michael Petlan) [1743210] - [tools] perf scripts python: exported-sql-viewer.py: Add CallGraphModelParams (Michael Petlan) [1743210] - [tools] perf scripts python: exported-sql-viewer.py: Add IPC information to the Branch reports (Michael Petlan) [1743210] - [tools] perf scripts python: export-to-postgresql.py: Export IPC information (Michael Petlan) [1743210] - [tools] perf scripts python: export-to-sqlite.py: Export IPC information (Michael Petlan) [1743210] - [tools] perf db-export: Export IPC information (Michael Petlan) [1743210] - [tools] perf db-export: Add brief documentation (Michael Petlan) [1743210] - [tools] perf thread-stack: Accumulate IPC information (Michael Petlan) [1743210] - [tools] perf intel-pt: Document IPC usage (Michael Petlan) [1743210] - [tools] perf intel-pt: Accumulate cycle count from TSC/TMA/MTC packets (Michael Petlan) [1743210] - [tools] perf intel-pt: Re-factor TIP cases in intel_pt_walk_to_ip (Michael Petlan) [1743210] - [tools] perf intel-pt: Record when decoding PSB+ packets (Michael Petlan) [1743210] - [tools] perf script: Add output of IPC ratio (Michael Petlan) [1743210] - [tools] perf intel-pt: Add support for samples to contain IPC ratio (Michael Petlan) [1743210] - [tools] perf tools: Add IPC information to perf_sample (Michael Petlan) [1743210] - [tools] perf intel-pt: Accumulate cycle count from CYC packets (Michael Petlan) [1743210] - [tools] perf intel-pt: Factor out intel_pt_update_sample_time (Michael Petlan) [1743210] - [tools] perf record: Allow mixing --user-regs with --call-graph=dwarf (Michael Petlan) [1743210] - [tools] perf symbols: Remove unused variable 'err' (Michael Petlan) [1743210] - [tools] perf data: document directory format header: HEADER_DIR_FORMAT (Michael Petlan) [1743210] - [tools] perf data: document clockid header: HEADER_CLOCKID (Michael Petlan) [1743210] - [tools] perf data: document memory topology header: HEADER_MEM_TOPOLOGY (Michael Petlan) [1743210] - [tools] perf data: Add description of header HEADER_BPF_PROG_INFO and HEADER_BPF_BTF (Michael Petlan) [1743210] - [tools] perf intel-pt: Rationalize intel_pt_sync_switch()'s use of next_tid (Michael Petlan) [1743210] - [tools] perf intel-pt: Improve sync_switch by processing PERF_RECORD_SWITCH* in events (Michael Petlan) [1743210] - [tools] perf scripts python: export-to-postgresql.py: Add support for pyside2 (Michael Petlan) [1743210] - [tools] perf scripts python: export-to-sqlite.py: Add support for pyside2 (Michael Petlan) [1743210] - [tools] perf scripts python: exported-sql-viewer.py: Add support for pyside2 (Michael Petlan) [1743210] - [tools] perf scripts python: exported-sql-viewer.py: Use argparse module for argument parsing (Michael Petlan) [1743210] - [tools] perf scripts python: exported-sql-viewer.py: Change python2 to python (Michael Petlan) [1743210] - [tools] perf top: Lower message level for failure on synthesizing events for pre-existing BPF programs (Michael Petlan) [1743210] - [tools] perf machine: Return NULL instead of null-terminating /proc/version array (Michael Petlan) [1743210] - [tools] perf version: Append 12 git SHA chars to the version string (Michael Petlan) [1743210] - [tools] perf script: Remove superfluous BPF event titles (Michael Petlan) [1743210] - [tools] perf script: Add --show-bpf-events to show eBPF related events (Michael Petlan) [1743210] - [tools] perf tests: Add map_groups__merge_in test (Michael Petlan) [1743210] - [tools] perf script: Pad DSO name for --call-trace (Michael Petlan) [1743210] - [tools] perf dso: Add BPF DSO read and size hooks (Michael Petlan) [1743210] - [tools] perf dso: Simplify dso_cache__read function (Michael Petlan) [1743210] - [tools] perf dso: Separate generic code in dso_cache__read (Michael Petlan) [1743210] - [tools] perf dso: Separate generic code in dso__data_file_size() (Michael Petlan) [1743210] - [tools] perf tools: Remove const from thread read accessors (Michael Petlan) [1743210] - [tools] perf top: Add --namespaces option (Michael Petlan) [1743210] - [tools] perf beauty: Add generator for sync_file_range's 'flags' arg values (Michael Petlan) [1743210] - [tools] perf trace: Beautify 'fsmount' arguments (Michael Petlan) [1743210] - [tools] perf trace: Introduce syscall_arg__scnprintf_strarray_flags (Michael Petlan) [1743210] - [tools] perf beauty: Add generator for fsmount's 'attr_flags' arg values (Michael Petlan) [1743210] - [tools] perf trace: Beautify 'fsconfig' arguments (Michael Petlan) [1743210] - [tools] perf beauty: Add generator for fsconfig's 'cmd' arg values (Michael Petlan) [1743210] - [tools] perf trace: Beautify 'fspick' arguments (Michael Petlan) [1743210] - [tools] perf beauty: Add generator for fspick's 'flags' arg values (Michael Petlan) [1743210] - [tools] perf trace: Beautify 'move_mount' arguments (Michael Petlan) [1743210] - [tools] perf beauty: Add generator for 'move_mount' flags argument (Michael Petlan) [1743210] - [tools] perf augmented_raw_syscalls: Fix up comment (Michael Petlan) [1743210] - [tools] perf tools: Preserve eBPF maps when loading kcore (Michael Petlan) [1743210] - [tools] perf machine: Keep zero in pgoff BPF map (Michael Petlan) [1743210] - [tools] perf intel-pt: Fix itrace defaults for perf script intel-pt documentation (Michael Petlan) [1743210] - [tools] perf auxtrace: Fix itrace defaults for perf script (Michael Petlan) [1743210] - [tools] perf intel-pt: Fix itrace defaults for perf script (Michael Petlan) [1743210] - [tools] perf-with-kcore.sh: Always allow fix_buildid_cache_permissions (Michael Petlan) [1743210] - [tools] tools build: Check if gettid() is available before providing helper (Michael Petlan) [1743210] - [tools] tools build feature: Check if get_current_dir_name() is available (Michael Petlan) [1743210] - [tools] perf jvmti: Address gcc string overflow warning for strncpy() (Michael Petlan) [1743210] - [tools] perf python: Remove -fstack-protector-strong if clang doesn't have it (Michael Petlan) [1743210] - [tools] perf annotate tui browser: Do not use member from variable within its own initialization (Michael Petlan) [1743210] - [tools] perf thread: Allow references to thread objects after machine__exit() (Michael Petlan) [1743210] - [fs] sysfs: Fix internal_create_group() for named group updates (Michael Petlan) [1743210] - [x86] perf/x86/intel: Support PEBS output to PT (Michael Petlan) [1743210] - [kernel] perf: Allow normal events to output AUX data (Michael Petlan) [1743210] - [x86] perf/x86/amd/ibs: Handle erratum #420 only on the affected CPU family (10h) (Michael Petlan) [1743210] - [x86] perf/x86/amd/ibs: Fix reading of the IBS OpData register and thus precise RIP validity (Michael Petlan) [1743210] - [kernel] perf/hw_breakpoint: Fix arch_hw_breakpoint use-before-initialization (Michael Petlan) [1743210] - [x86] perf/x86/amd/ibs: Fix sample bias for dispatched micro-ops (Michael Petlan) [1743210] - [x86] perf/x86/intel: Restrict period on Nehalem (Michael Petlan) [1743210] - [x86] perf/x86: Fix typo in comment (Michael Petlan) [1743210] - [kernel] perf/core: Fix creating kernel counters for PMUs that override event->cpu (Michael Petlan) [1743210] - [x86] perf/x86: Apply more accurate check on hypervisor platform (Michael Petlan) [1743210] - [x86] perf/x86/intel: Fix invalid Bit 13 for Icelake MSR_OFFCORE_RSP_x register (Michael Petlan) [1743210] - [x86] perf/x86/intel: Fix SLOTS PEBS event constraint (Michael Petlan) [1743210] - [x86] perf/x86/intel: Mark expected switch fall-throughs (Michael Petlan) [1743210] - [kernel] perf_event_get(): don't bother with fget_raw() (Michael Petlan) [1743210] - [kernel] perf/core: Fix exclusive events' grouping (Michael Petlan) [1743210] - [x86] perf/x86/amd/uncore: Set the thread mask for F17h L3 PMCs (Michael Petlan) [1743210] - [perf] x86/amd/uncore: Do not set 'ThreadMask' and 'SliceMask' for non-L3 PMCs (Michael Petlan) [1743210] - [kernel] perf/core: Fix race between close() and fork() (Michael Petlan) [1743210] - [perf] cgroups: Don't rotate events for cgroups unnecessarily (Michael Petlan) [1743210] - [x86] perf/x86/rapl: Get quirk state from new probe framework (Michael Petlan) [1743210] - [x86] perf/x86/rapl: Get attributes from new probe framework (Michael Petlan) [1743210] - [x86] perf/x86/rapl: Get MSR values from new probe framework (Michael Petlan) [1743210] - [x86] perf/x86/rapl: Get rapl_cntr_mask from new probe framework (Michael Petlan) [1743210] - [x86] intel: Aggregate big core client naming (Michael Petlan) [1743210] - [x86] perf/x86/rapl: Use new MSR detection interface (Michael Petlan) [1743210] - [x86] perf/x86/cstate: Use new probe function (Michael Petlan) [1743210] - [x86] perf/x86/msr: Use new probe function (Michael Petlan) [1743210] - [x86] perf/x86: Add MSR probe interface (Michael Petlan) [1743210] - [x86] perf/x86/intel: Disable check_msr for real HW (Michael Petlan) [1743210] - [x86] perf/x86/intel: Use ->is_visible callback for default group (Michael Petlan) [1743210] - [x86] perf/x86/intel/uncore: Add IMC uncore support for Snow Ridge (Michael Petlan) [1743210] - [x86] perf/x86/intel/uncore: Clean up client IMC (Michael Petlan) [1743210] - [x86] perf/x86/intel/uncore: Support MMIO type uncore blocks (Michael Petlan) [1743210] - [x86] perf/x86/intel/uncore: Factor out box ref/unref functions (Michael Petlan) [1743210] - [x86] perf/x86/intel/uncore: Add uncore support for Snow Ridge server (Michael Petlan) [1743210] - [x86] perf/x86/intel/uncore: Handle invalid event coding for free-running counter (Michael Petlan) [1743210] - [x86] perf/x86/intel: Add more Icelake CPUIDs (Michael Petlan) [1743210] - [x86] perf/x86/intel: Add Icelake desktop CPUID (Michael Petlan) [1743210] - [x86] perf/x86: Use update attribute groups for default attributes (Michael Petlan) [1743210] - [x86] perf/x86/intel: Use update attributes for skylake format (Michael Petlan) [1743210] - [x86] perf/x86: Use update attribute groups for extra format (Michael Petlan) [1743210] - [x86] perf/x86: Use update attribute groups for caps (Michael Petlan) [1743210] - [x86] perf/x86: Add is_visible attribute_group callback for base events (Michael Petlan) [1743210] - [x86] perf/x86: Use the new pmu::update_attrs attribute group (Michael Petlan) [1743210] - [x86] perf/x86: Get rid of x86_pmu::event_attrs (Michael Petlan) [1743210] - [x86] perf/x86/regs: Check reserved bits (Michael Petlan) [1743210] - [fs] sysfs: Add sysfs_update_groups function (Michael Petlan) [1743210] - [kernel] perf/core: Add attr_groups_update into struct pmu (Michael Petlan) [1743210] - [x86] perf/x86/intel/uncore: Add new IMC PCI IDs for KabyLake, AmberLake and WhiskeyLake CPUs (Michael Petlan) [1743210] - [x86] perf/x86/intel/uncore: Add tabs to Uncore IMC PCI IDs (Michael Petlan) [1743210] - [kernel] perf/core: Allow non-privileged uprobe for user processes (Michael Petlan) [1743210] - [x86] perf/x86: Add Intel Ice Lake NNPI uncore support (Michael Petlan) [1743210] - [perf] arm_pmu: acpi: spe: Add initial MADT/SPE probing (Michael Petlan) [1743210] - [netdrv] mwifiex: fix possible heap overflow in mwifiex_process_country_ie() (Jarod Wilson) [1776210] {CVE-2019-14895} - [kernel] crash_core: Make S390 share the same crashkernel=auto reservation policy as X86_64 (Baoquan He) [1780432] - [s390] kasan: avoid report in get_wchan (Philipp Rudo) [1780112 1780111] - [s390] process: avoid potential reading of freed stack (Philipp Rudo) [1780112] - [fs] cifs: don't use 'pre:' for MODULE_SOFTDEP (Leif Sahlberg) [1767094] - [hwmon] Do not output deprecated warning for hwmon_device_register() (Prarit Bhargava) [1778295] - [scsi] lpfc: size cpu map by last cpu id set (Dick Kennedy) [1778912] - [scsi] lpfc: use hdwq assigned cpu for allocation (Dick Kennedy) [1778908] - [scsi] be2iscsi: Include null char in SET_HOST_DATA (Maurizio Lombardi) [1776358] - [netdrv] vmxnet3: turn off lro when rxcsum is disabled (Neil Horman) [1776056] - [mmc] sdhci-pci: Add another Id for Intel CML (Alexander Beregalov) [1766718] - [x86] kvm: untaint kernel for tech-preview when using nested VMX (Paolo Bonzini) [1726756] - [powerpc] kvm: ppc: book3s hv: xive: Fix potential page leak on error path (Laurent Vivier) [1760202] - [powerpc] kvm: ppc: book3s hv: xive: Free previous EQ page when setting up a new one (Laurent Vivier) [1760202] - [virt] kvm: arm/arm64: vgic: Don't rely on the wrong pending table (Auger Eric) [1777059] - [x86] kvm: x86: remove set but not used variable 'called' (Nitesh Narayan Lal) [1773677] - [x86] kvm: x86: Zero the IOAPIC scan request dest vCPUs bitmap (Nitesh Narayan Lal) [1773677] - [x86] kvm: x86: deliver KVM IOAPIC scan request to target vCPUs (Nitesh Narayan Lal) [1773677] - [kernel] kvm: remember position in kvm->vcpus array (Nitesh Narayan Lal) [1773677] - [kernel] watchdog: Reduce message verbosity (Vitaly Kuznetsov) [1774915]- [fs] binfmt_elf: Do not move brk for INTERP-less ET_EXEC (Waiman Long) [1749633] - [fs] binfmt_elf: move brk out of mmap when doing direct loader exec (Waiman Long) [1749633] - [gpu] drm/i915/cmdparser: Fix jump whitelist clearing (Dave Airlie) [1756873] {CVE-2019-0155} - [gpu] drm/i915/gen8+: Add RC6 CTX corruption WA (Dave Airlie) [1756805] {CVE-2019-0154} - [gpu] drm/i915: Lower RM timeout to avoid DSI hard hangs (Dave Airlie) [1756805] {CVE-2019-0154} - [gpu] drm/i915/cmdparser: Ignore Length operands during command matching (Dave Airlie) [1756873] {CVE-2019-0155} - [gpu] drm/i915/cmdparser: Add support for backward jumps (Dave Airlie) [1756873] {CVE-2019-0155} - [gpu] drm/i915/cmdparser: Use explicit goto for error paths (Dave Airlie) [1756873] {CVE-2019-0155} - [gpu] drm/i915: Add gen9 BCS cmdparsing (Dave Airlie) [1756873] {CVE-2019-0155} - [gpu] drm/i915: Allow parsing of unsized batches (Dave Airlie) [1756873] {CVE-2019-0155} - [gpu] drm/i915: Support ro ppgtt mapped cmdparser shadow buffers (Dave Airlie) [1756873] {CVE-2019-0155} - [gpu] drm/i915: Add support for mandatory cmdparsing (Dave Airlie) [1756873] {CVE-2019-0155} - [gpu] drm/i915: Remove Master tables from cmdparser (Dave Airlie) [1756873] {CVE-2019-0155} - [gpu] drm/i915: Disable Secure Batches for gen6+ (Dave Airlie) [1756873] {CVE-2019-0155} - [gpu] drm/i915: Rename gen7 cmdparser tables (Dave Airlie) [1756873] {CVE-2019-0155} - [gpu] [drm] radeon: fix bad DMA from INTERRUPT_CNTL2 (Sam Bobroff) [1293697] - [netdrv] mwifiex: Fix heap overflow in mmwifiex_process_tdls_action_frame() (Jarod Wilson) [1776162] {CVE-2019-14901} - [netdrv] mlx4_en: Fix wrong limitation for number of TX rings (Mohammad Heib) [1776822] - [netdrv] mlx4_en: fix mlx4 ethtool -N insertion (Mohammad Heib) [1776822] - [netdrv] mlx4_core: fix wrong comment about the reason of subtract one from the max_cqes (Mohammad Heib) [1776822] - [netdrv] ibmvnic: Serialize device queries (Steve Best) [1778037] - [netdrv] ibmvnic: Bound waits for device queries (Steve Best) [1778037] - [netdrv] ibmvnic: Terminate waiting device threads after loss of service (Steve Best) [1778037] - [netdrv] ibmvnic: Fix completion structure initialization (Steve Best) [1778037] - [netdrv] ibmvnic: Ignore H_FUNCTION return from H_EOI to tolerate XIVE mode (Steve Best) [1778037] - [netdrv] revert "net/ibmvnic: Fix EOI when running in XIVE mode" (Steve Best) [1778037] - [netdrv] cnic: Set fp_hsi_ver as part of CLIENT_SETUP ramrod (Manish Chopra) [1770797] - [netdrv] bnx2x: Fix PF-VF communication over multi-cos queues (Manish Chopra) [1770797] - [netdrv] bnx2x: Enable Multi-Cos feature (Manish Chopra) [1770797] - [netdrv] bnx2x: Utilize FW 7.13.15.0 (Manish Chopra) [1770797] - [fs] seq_file: fix problem when seeking mid-record (Bill O'Donnell) [1753822] - [documentation] fs/seq_file.c: simplify seq_file iteration code and interface (Bill O'Donnell) [1753822] - [scripts] kbuild: replace BASH-specific ${@:2} with shift and ${@} (Jiri Olsa) [1739493] - [scripts] btf: do not use CONFIG_OUTPUT_FORMAT (Jiri Olsa) [1739493] - [kernel] btf: fix return value check in btf_vmlinux_init() (Jiri Olsa) [1739493] - [kernel] btf: rename /sys/kernel/btf/kernel into /sys/kernel/btf/vmlinux (Jiri Olsa) [1739493] - [scripts] btf: expose BTF info through sysfs (Jiri Olsa) [1739493] - [netdrv] qede: fix NULL pointer deref in __qede_remove() (Manish Chopra) [1769203] - [gpu] cleanup: Remove .rej files (Prarit Bhargava) [1779738] - [lib] string: Add strscpy_pad() function (Josef Oskera) [1764588] - [char] virtio_console: allocate inbufs in add_port() only if it is needed (Pankaj Gupta) [1612795] - [fs] xfs: add kmem_alloc_io() (Bill O'Donnell) [1583556] - [fs] xfs: make mem_to_page available outside of xfs_buf.c (Bill O'Donnell) [1583556] - [fs] xfs: get allocation alignment from the buftarg (Bill O'Donnell) [1583556] - [fs] xfs: add kmem_alloc_io() (Bill O'Donnell) [1583556] - [fs] cifs: Fix cifsInodeInfo lock_sem deadlock when reconnect occurs (Leif Sahlberg) [1765979] - [fs] cifs: avoid using MID 0xFFFF (Leif Sahlberg) [1765979] - [fs] cifs: Fix retry mid list corruption on reconnects (Leif Sahlberg) [1765979] - [fs] nfsd: allow fh_want_write to be called twice ("J. Bruce Fields") [1699222] - [net] revert "sunrpc: Fix up task signalling" (Dave Wysochanski) [1776067] - [s390] kasan: support memcpy_real with TRACE_IRQFLAGS (Philipp Rudo) [1777468] - [s390] kasan: add kdump support (Philipp Rudo) [1777468] - [s390] idle: fix cpu idle time calculation (Philipp Rudo) [1777361] - [s390] kaslr: add support for R_390_GLOB_DAT relocation type (Philipp Rudo) [1777467] - [x86] jump_label: Make tp_vec_nr static (Daniel Bristot de Oliveira) [1731860] - [x86] jump_label: Batch jump label updates (Daniel Bristot de Oliveira) [1731860] - [kernel] jump_label: Batch updates if arch supports it (Daniel Bristot de Oliveira) [1731860] - [x86] alternative: Batch of patch operations (Daniel Bristot de Oliveira) [1731860] - [kernel] jump_label: Sort entries of the same key by the code (Daniel Bristot de Oliveira) [1731860] - [x86] jump_label: Add a __jump_label_set_jump_code() helper (Daniel Bristot de Oliveira) [1731860] - [kernel] jump_label: Don't warn on __exit jump entries (Daniel Bristot de Oliveira) [1731860] - [kernel] jump_label: Add a jump_label_can_update() helper (Daniel Bristot de Oliveira) [1731860] - [x86] alternatives: Remove the return value of text_poke_*() (Daniel Bristot de Oliveira) [1731860] - [x86] jump-label: Remove support for custom text poker (Daniel Bristot de Oliveira) [1731860] - [x86] jump_label: Use text_poke_early() during early init (Daniel Bristot de Oliveira) [1731860] - [x86] alternatives: Add text_poke_kgdb() to not assert the lock when debugging (Daniel Bristot de Oliveira) [1731860] - [x86] kprobes: Prohibit probing on functions before kprobe_int3_handler() (Daniel Bristot de Oliveira) [1731860] - [kernel] jump_label: Fix NULL dereference bug in __jump_label_mod_update() (Daniel Bristot de Oliveira) [1731860] - [kernel] jump_label: Annotate entries that operate on __init code earlier (Daniel Bristot de Oliveira) [1731860] - [x86] jump_label: Switch to jump_entry accessors (Daniel Bristot de Oliveira) [1731860] - [kernel] jump_label: Implement generic support for relative references (Daniel Bristot de Oliveira) [1731860] - [kernel] jump_label: Abstract jump_entry member accessors (Daniel Bristot de Oliveira) [1731860] - [x86] alternatives: Lockdep-enforce text_mutex in text_poke*() (Daniel Bristot de Oliveira) [1731860] - [x86] revert "x86/paravirt: Set up the virt_spin_lock_key after static keys get initialized" (Daniel Bristot de Oliveira) [1731860] - [x86] jump_label: Initialize static branching early (Vitaly Kuznetsov) [1777260] - [x86] speculation: Fix redundant MDS mitigation message (Josh Poimboeuf) [1766551] {CVE-2019-11135} - [x86] speculation: Fix incorrect MDS/TAA mitigation status (Josh Poimboeuf) [1766551] {CVE-2019-11135} - [x86] speculation/taa: Fix printing of TAA_MSG_SMT on IBRS_ALL CPUs (Josh Poimboeuf) [1766551] {CVE-2019-11135} - [x86] tsx: Add config options to set tsx=on|off|auto (Josh Poimboeuf) [1766551] {CVE-2019-11135} - [documentation] x86/speculation/taa: Add documentation for TSX Async Abort (Josh Poimboeuf) [1766551] {CVE-2019-11135} - [x86] tsx: Add "auto" option to the tsx= cmdline parameter (Josh Poimboeuf) [1766551] {CVE-2019-11135} - [x86] speculation/taa: Add sysfs reporting for TSX Async Abort (Josh Poimboeuf) [1766551] {CVE-2019-11135} - [x86] speculation/taa: Add mitigation for TSX Async Abort (Josh Poimboeuf) [1766551] {CVE-2019-11135} - [x86] cpu: Add a "tsx=" cmdline option with TSX disabled by default (Josh Poimboeuf) [1766551] {CVE-2019-11135} - [x86] cpu: Add a helper function x86_read_arch_cap_msr() (Josh Poimboeuf) [1766551] {CVE-2019-11135} - [x86] msr: Add the IA32_TSX_CTRL MSR (Josh Poimboeuf) [1766551] {CVE-2019-11135} - [powerpc] xive: Prevent page fault issues in the machine crash handler (Diego Domingos) [1756116] - [tools] Fix memcpy_mcsafe_64.S link on selftests (Desnes Augusto Nunes do Rosario) [1775570]- [powerpc] perf: Fix loop exit condition in nest_imc_event_init (Steve Best) [1778609] - [net] netfilter: nf_tables: Add missing nft_tproxy Makefile line (Phil Sutter) [1762977]- [x86] kdump: Remove the backup region handling (Lianbo Jiang) [1730143] - [x86] kdump: Always reserve the low 1M when the crashkernel option is specified (Lianbo Jiang) [1730143] - [x86] crash: Add a forward declaration of struct kimage (Lianbo Jiang) [1730143] - [x86] kdump: Remove the unused crash_copy_backup_region() (Lianbo Jiang) [1730143] - [pci] p2pdma: Fix missing check for dma_virt_ops (Don Dutile) [1754734] - [pci] p2pdma: use the dev_pagemap internal refcount (Don Dutile) [1754734] - [pci] memremap: pass a struct dev_pagemap to ->kill and ->cleanup (Don Dutile) [1754734] - [pci] memremap: move dev_pagemap callbacks into a separate structure (Don Dutile) [1754734] - [pci] mm/devm_memremap_pages: fix final page put race (Don Dutile) [1754734] - [pci] p2pdma: track pgmap references per resource, not globally (Don Dutile) [1754734] - [pci] p2pdma: fix the gen_pool_add_virt() failure path (Don Dutile) [1754734] - [pci] mm, hmm: mark hmm_devmem_{add, add_resource} EXPORT_SYMBOL_GPL (Don Dutile) [1754734] - [lib] genalloc.c: Add algorithm, align and zeroed family of DMA allocators (Don Dutile) [1754732] - [lib] genalloc.c: include vmalloc.h (Don Dutile) [1754732] - [lib] genalloc.c: use vzalloc_node() to allocate the bitmap (Don Dutile) [1754732] - [md] dm table: propagate BDI_CAP_STABLE_WRITES to fix sporadic checksum errors (Mike Snitzer) [1770210] - [fs] gfs2: fix race between gfs2_freeze_func and unmount (Abhijith Das) [1676972] - [fs] cifs: smbd: Retry on memory registration failure (Leif Sahlberg) [1771772] - [fs] cifs: smbd: Indicate to retry on transport sending failure (Leif Sahlberg) [1771772] - [fs] cifs: smbd: Return EINTR when interrupted (Leif Sahlberg) [1771772] - [fs] cifs: smbd: Don't destroy transport on RDMA disconnect (Leif Sahlberg) [1771772] - [lib] crc-t10dif: crc_t10dif_mutex can be static (Vladis Dronov) [1769462] - [lib] crc-t10dif: Allow current transform to be inspected in sysfs (Vladis Dronov) [1769462] - [lib] crc-t10dif: Pick better transform if one becomes available (Vladis Dronov) [1769462] - [crypto] api - Introduce notifier for new crypto algorithms (Vladis Dronov) [1769462] - [netdrv] e1000e: Drop unnecessary __E1000_DOWN bit twiddling (Ken Cox) [1748256] - [netdrv] e1000e: Use rtnl_lock to prevent race conditions between net and pci/pm (Ken Cox) [1748256]- [powerpc] pseries: safely roll back failed DLPAR cpu add (Steve Best) [1772341] - [powerpc] pseries: address checkpatch warnings in dlpar_offline_cpu (Steve Best) [1772341] - [scsi] storvsc: setup 1:1 mapping between hardware queue and CPU queue (Cathy Avery) [1771503] - [scsi] storvsc: Add ability to change scsi queue depth (Cathy Avery) [1771503] - [scsi] treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 320 (Cathy Avery) [1771503] - [scsi] smartpqi: bump version (Don Brace) [1725045] - [scsi] smartpqi: Align driver syntax with oob (Don Brace) [1725045] - [scsi] smartpqi: remove unused manifest constants (Don Brace) [1725045] - [scsi] smartpqi: fix problem with unique ID for physical device (Don Brace) [1725045] - [scsi] smartpqi: correct syntax issue (Don Brace) [1725045] - [scsi] smartpqi: change TMF timeout from 60 to 30 seconds (Don Brace) [1725045] - [scsi] smartpqi: fix LUN reset when fw bkgnd thread is hung (Don Brace) [1725045] - [scsi] smartpqi: add inquiry timeouts (Don Brace) [1725045] - [scsi] smartpqi: fix call trace in device discovery (Don Brace) [1725045] - [scsi] smartpqi: fix controller lockup observed during force reboot (Don Brace) [1725045] - [scsi] smartpqi: clean up an indentation issue (Don Brace) [1725045] - [scsi] smartpqi: remove set but not used variable 'ctrl_info' (Don Brace) [1725045] - [scsi] smartpqi: clean up indentation of a statement (Don Brace) [1725045] - [scsi] smartpqi: bump version (Don Brace) [1725045] - [scsi] smartpqi: update copyright (Don Brace) [1725045] - [scsi] smartpqi: add new pci ids (Don Brace) [1725045] - [scsi] smartpqi: correct REGNEWD return status (Don Brace) [1725045] - [scsi] smartpqi: add gigabyte controller (Don Brace) [1725045] - [scsi] smartpqi: correct hang when deleting 32 lds (Don Brace) [1725045] - [scsi] smartpqi: add bay identifier (Don Brace) [1725045] - [scsi] smartpqi: add sysfs entries (Don Brace) [1725045] - [scsi] smartpqi: add module param to hide vsep (Don Brace) [1725045] - [scsi] smartpqi: add pci ids for fiberhome controller (Don Brace) [1725045] - [scsi] smartpqi: add module param for exposure order (Don Brace) [1725045] - [scsi] smartpqi: unlock on error in pqi_submit_raid_request_synchronous() (Don Brace) [1725045] - [scsi] smartpqi: Reporting unhandled SCSI errors (Don Brace) [1725045] - [scsi] mpt3sas: Bump mpt3sas driver version to 32.100.00.00 (Tomas Henzl) [1725737] - [scsi] mpt3sas: Fix module parameter max_msix_vectors (Tomas Henzl) [1725737] - [scsi] mpt3sas: Reject NVMe Encap cmnds to unsupported HBA (Tomas Henzl) [1725737] - [scsi] mpt3sas: Use Component img header to get Package ver (Tomas Henzl) [1725737] - [scsi] mpt3sas: Fail release cmnd if diag buffer is released (Tomas Henzl) [1725737] - [scsi] mpt3sas: Add app owned flag support for diag buffer (Tomas Henzl) [1725737] - [scsi] mpt3sas: Reuse diag buffer allocated at load time (Tomas Henzl) [1725737] - [scsi] mpt3sas: clear release bit when buffer reregistered (Tomas Henzl) [1725737] - [scsi] mpt3sas: Maintain owner of buffer through UniqueID (Tomas Henzl) [1725737] - [scsi] mpt3sas: Free diag buffer without any status check (Tomas Henzl) [1725737] - [scsi] mpt3sas: Fix clear pending bit in ioctl status (Tomas Henzl) [1725737] - [scsi] mpt3sas: Display message before releasing diag buffer (Tomas Henzl) [1725737] - [scsi] mpt3sas: Register trace buffer based on NVDATA settings (Tomas Henzl) [1725737] - [scsi] mpt3sas: Introduce module parameter to override queue depth (Tomas Henzl) [1725737] - [scsi] mpt3sas: Update driver version to 31.100.00.00 (Tomas Henzl) [1725737] - [scsi] mpt3sas: Run SAS DEVICE STATUS CHANGE EVENT from ISR (Tomas Henzl) [1725737] - [scsi] mpt3sas: Reduce the performance drop (Tomas Henzl) [1725737] - [scsi] mpt3sas: Handle fault during HBA initialization (Tomas Henzl) [1725737] - [scsi] mpt3sas: Add sysfs to know supported features (Tomas Henzl) [1725737] - [scsi] mpt3sas: Support MEMORY MOVE Tool box command (Tomas Henzl) [1725737] - [scsi] mpt3sas: Allow ioctls to blocked access status NVMe (Tomas Henzl) [1725737] - [scsi] mpt3sas: Enumerate SES of a managed PCIe switch (Tomas Henzl) [1725737] - [scsi] mpt3sas: Update MPI headers to 2.6.8 spec (Tomas Henzl) [1725737] - [scsi] mpt3sas: Gracefully handle online firmware update (Tomas Henzl) [1725737] - [scsi] mpt3sas: memset request frame before reusing (Tomas Henzl) [1725737] - [scsi] mpt3sas: Add support for PCIe Lane margin (Tomas Henzl) [1725737] - [scsi] mpt3sas: support target smid for [abort|query] task (Tomas Henzl) [1725737] - [scsi] mpt3sas: clean up a couple sizeof() uses (Tomas Henzl) [1725737] - [scsi] mpt3sas: Fix msix load balance on and off settings (Tomas Henzl) [1725737] - [scsi] mpt3sas: Determine smp affinity on per HBA basis (Tomas Henzl) [1725737] - [scsi] mpt3sas: Use configured PCIe link speed, not max (Tomas Henzl) [1725737] - [scsi] mpt3sas: Remove CPU arch check to determine perf_mode (Tomas Henzl) [1725737] - [scsi] mpt3sas: use DEVICE_ATTR_{RO, RW} (Tomas Henzl) [1725737] - [scsi] mpt3sas: make driver options visible in sys (Tomas Henzl) [1725737] - [scsi] mpt3sas: Mark expected switch fall-through (Tomas Henzl) [1725737] - [scsi] mpt3sas: Update driver version to 29.100.00.00 (Tomas Henzl) [1725737] - [scsi] mpt3sas: Introduce perf_mode module parameter (Tomas Henzl) [1725737] - [scsi] mpt3sas: Enable interrupt coalescing on high iops (Tomas Henzl) [1725737] - [scsi] mpt3sas: Affinity high iops queues IRQs to local node (Tomas Henzl) [1725737] - [scsi] mpt3sas: save and use MSI-X index for posting RD (Tomas Henzl) [1725737] - [scsi] mpt3sas: Use high iops queues under some circumstances (Tomas Henzl) [1725737] - [scsi] mpt3sas: change _base_get_msix_index prototype (Tomas Henzl) [1725737] - [scsi] mpt3sas: Add flag high_iops_queues (Tomas Henzl) [1725737] - [scsi] mpt3sas: Add Atomic RequestDescriptor support on Aero (Tomas Henzl) [1725737] - [scsi] mpt3sas: function pointers of request descriptor (Tomas Henzl) [1725737] - [scsi] mpt3sas_ctl: fix double-fetch bug in _ctl_ioctl_main() (Tomas Henzl) [1725737] - [md] revert "dm crypt: use WQ_HIGHPRI for the IO and crypt workqueues" (Mike Snitzer) [1775756] - [md] dm thin: wakeup worker only when deferred bios exist (Mike Snitzer) [1775756] - [md] dm raid: Remove unnecessary negation of a shift in raid10_format_to_md_layout (Mike Snitzer) [1775756] - [md] dm writecache: handle REQ_FUA (Mike Snitzer) [1775756] - [md] dm writecache: fix uninitialized variable warning (Mike Snitzer) [1775756] - [md] dm stripe: use struct_size() in kmalloc() (Mike Snitzer) [1775756] - [md] dm table: do not allow request-based DM to stack on partitions (Mike Snitzer) [1775756] - [md] dm cache: fix bugs when a GFP_NOWAIT allocation fails (Mike Snitzer) [1775756] - [md] dm writecache: skip writecache_wait for pmem mode (Mike Snitzer) [1775756] - [md] dm stats: use struct_size() helper (Mike Snitzer) [1775756] - [md] dm space map common: remove check for impossible sm_find_free() return value (Mike Snitzer) [1775756] - [md] dm raid1: use struct_size() with kzalloc() (Mike Snitzer) [1775756] - [md] dm writecache: optimize performance by sorting the blocks for writeback_all (Mike Snitzer) [1775756] - [md] dm writecache: add unlikely for getting two block with same LBA (Mike Snitzer) [1775756] - [md] dm writecache: remove unused member pointer in writeback_struct (Mike Snitzer) [1775756] - [md] dm: make dm_table_find_target return NULL (Mike Snitzer) [1775756] - [md] dm table: fix invalid memory accesses with too high sector number (Mike Snitzer) [1775756] - [md] dm space map metadata: fix missing store of apply_bops() return value (Mike Snitzer) [1775756] - [md] dm btree: fix order of block initialization in btree_split_beneath (Mike Snitzer) [1775756] - [md] dm raid: add missing cleanup in raid_ctr() (Mike Snitzer) [1775756] - [md] dm kcopyd: always complete failed jobs (Mike Snitzer) [1775756] - [md] dm crypt: remove obsolete comment about plumb IV (Mike Snitzer) [1775756] - [md] dm crypt: wipe private IV struct after key invalid flag is set (Mike Snitzer) [1775756] - [md] dm: update stale comment in end_clone_bio() (Mike Snitzer) [1775756] - [md] dm log writes: fix incorrect comment about the logged sequence example (Mike Snitzer) [1775756] - [md] dm log writes: use struct_size() to calculate size of pending_block (Mike Snitzer) [1775756] - [md] dm crypt: use struct_size() when allocating encryption context (Mike Snitzer) [1775756] - [md] dm thin metadata: check if in fail_io mode when setting needs_check (Mike Snitzer) [1775756] - [md] dm verity: use message limit for data block corruption message (Mike Snitzer) [1775756] - [md] dm log writes: make sure super sector log updates are written in order (Mike Snitzer) [1775756] - [md] dm: fix a couple brace coding style issues (Mike Snitzer) [1775756] - [md] dm crypt: print device name in integrity error message (Mike Snitzer) [1775756] - [documentation] dm integrity: update documentation (Mike Snitzer) [1775756] - [md] dm integrity: don't report unused options (Mike Snitzer) [1775756] - [md] dm integrity: don't check null pointer before kvfree and vfree (Mike Snitzer) [1775756] - [md] dm integrity: correctly calculate the size of metadata area (Mike Snitzer) [1775756] - [md] dm mpath: always free attached_handler_name in parse_path() (Mike Snitzer) [1775756] - [md] dm writecache: avoid unnecessary lookups in writecache_find_entry() (Mike Snitzer) [1775756] - [md] dm writecache: remove unused member page_offset in writeback_struct (Mike Snitzer) [1775756] - [md] dm delay: fix a crash when invalid device is specified (Mike Snitzer) [1775756] - [md] dm: only initialize md->dax_dev if CONFIG_DAX_DRIVER is enabled (Mike Snitzer) [1775756] - [md] dm writecache: add unlikely for returned value of rb_next_prev (Mike Snitzer) [1775756] - [md] dm writecache: remove needless dereferences in __writecache_writeback_pmem() (Mike Snitzer) [1775756] - [md] dm crypt: fix endianness annotations around org_sector_of_dmreq (Mike Snitzer) [1775756] - [md] dm integrity: fix deadlock with overlapping I_O (Mike Snitzer) [1775756] - [md] dm: disable DISCARD if the underlying storage no longer supports it (Mike Snitzer) [1775756] - [md] dm: revert 8f50e358153d ("dm: limit the max bio size as BIO_MAX_PAGES * PAGE_SIZE") (Mike Snitzer) [1775756] - [md] dm integrity: make dm_integrity_init and dm_integrity_exit static (Mike Snitzer) [1775756] - [md] dm integrity: change memcmp to strncmp in dm_integrity_ctr (Mike Snitzer) [1775756] - [x86] platform/uv: Account for UV Hubless in is_uvX_hub Ops (Frank Ramsay) [1757510] - [x86] platform/uv: Check EFI Boot to set reboot type (Frank Ramsay) [1757510] - [x86] platform/uv: Decode UVsystab Info (Frank Ramsay) [1757510] - [x86] platform/uv: Add UV Hubbed/Hubless Proc FS Files (Frank Ramsay) [1757510] - [x86] platform/uv: Setup UV functions for Hubless UV Systems (Frank Ramsay) [1757510] - [x86] platform/uv: Add return code to UV BIOS Init function (Frank Ramsay) [1757510] - [x86] platform/uv: Return UV Hubless System Type (Frank Ramsay) [1757510] - [x86] platform/uv: Save OEM_ID from ACPI MADT probe (Frank Ramsay) [1757510] - [x86] mm: Handle physical-virtual alignment mismatch in phys_p4d_init() (Baoquan He) [1685383] - [x86] mm/kaslr: Reduce randomization granularity for 5-level paging to 1GB (Baoquan He) [1685383] - [x86] mm/kaslr: Use only one PUD entry for real mode trampoline (Baoquan He) [1685383] - [documentation] documentation/stackprotector: powerpc supports stack protector (Bhupesh Sharma) [1714310] - [makefile] kbuild: mark prepare0 as PHONY to fix external module build (Bhupesh Sharma) [1714310] - [makefile] kbuild: fix single target build for external module (Bhupesh Sharma) [1714310] - [arm64] enable per-task stack canaries (Bhupesh Sharma) [1714310] - [powerpc] Fix stack protector crashes on CPU hotplug (Bhupesh Sharma) [1714310] - [powerpc] 64: properly initialise the stackprotector canary on SMP (Bhupesh Sharma) [1714310] - [powerpc] Fix stackprotector detection for non-glibc toolchains (Bhupesh Sharma) [1714310] - [powerpc] 64: add stack protector support (Bhupesh Sharma) [1714310] - [powerpc] 32: add stack protector support (Bhupesh Sharma) [1714310] - [pci] vmd: Fix shadow offsets to reflect spec changes (Myron Stowe) [1757896] - [pci] vmd: Fix config addressing when using bus offsets (Myron Stowe) [1757896] - [pci] Fix typos and whitespace errors (Myron Stowe) [1757896] - [pci] vmd: use the proper dma_* APIs instead of direct methods calls (Myron Stowe) [1757896] - [powerpc] powernv: Disable native PCIe port management (Gustavo Duarte) [1524642] - [powerpc] eeh: Fix eeh eeh_debugfs_break_device() with SRIOV devices (Gustavo Duarte) [1524642] - [tools] selftests/powerpc: Add basic EEH selftest (Gustavo Duarte) [1524642] - [powerpc] eeh: Add a eeh_dev_break debugfs interface (Gustavo Duarte) [1524642] - [powerpc] eeh: Add debugfs interface to run an EEH check (Gustavo Duarte) [1524642] - [powerpc] eeh: Fix debugfs_simple_attr.cocci warnings (Gustavo Duarte) [1524642] - [powerpc] eeh: Fix build with STACKTRACE=n (Gustavo Duarte) [1524642] - [powerpc] eeh: Set attention indicator while recovering (Gustavo Duarte) [1524642] - [pci] pci-hotplug/pnv_php: Add attention indicator support (Gustavo Duarte) [1524642] - [pci] pci-hotplug/pnv_php: Add support for IODA3 Power9 PHBs (Gustavo Duarte) [1524642] - [pci] pci-hotplug/pnv_php: Add a reset_slot() callback (Gustavo Duarte) [1524642] - [powerpc] powernv/eeh: Use generic code to handle hot resets (Gustavo Duarte) [1524642] - [powerpc] eeh: Remove stale CAPI comment (Gustavo Duarte) [1524642] - [powerpc] eeh: Defer printing stack trace (Gustavo Duarte) [1524642] - [powerpc] eeh: Check slot presence state in eeh_handle_normal_event() (Gustavo Duarte) [1524642] - [powerpc] eeh: Make permanently failed devices non-actionable (Gustavo Duarte) [1524642] - [powerpc] eeh: Fix race when freeing PDNs (Gustavo Duarte) [1524642] - [powerpc] eeh: Clean up EEH PEs after recovery finishes (Gustavo Duarte) [1524642] - [netdrv] be2net: disable bh with spin_lock in be_process_mcc (Petr Oros) [1724777] - [netdrv] be2net: Synchronize be_update_queues with dev_watchdog (Petr Oros) [1724777] - [netdrv] be2net: Signal that the device cannot transmit during reconfiguration (Petr Oros) [1724777] - [netdrv] be2net: fix link failure after ethtool offline test (Petr Oros) [1724777] - [netdrv] be2net: Fix number of Rx queues used for flow hashing (Petr Oros) [1724777] - [netdrv] benet: remove broken and unused macro (Petr Oros) [1724777] - [netdrv] benet: use skb_vlan_tag_get_prio() (Petr Oros) [1724777] - [netdrv] benet: use __vlan_hwaccel helpers (Petr Oros) [1724777] - [netdrv] revert "[netdrv] be2net: Disable queue dump in be_tx_timeout handler" (Petr Oros) [1724777] - [infiniband] rdma/i40iw: Set queue pair state when being queried (Stefan Assmann) [1721712] - [infiniband] ib/i40iw: Use kmemdup rather than open coding (Stefan Assmann) [1721712] - [infiniband] rdma/i40iw: Handle workqueue allocation failure (Stefan Assmann) [1721712] - [nvdimm] libnvdimm/pfn_dev: Add page size and struct page size to pfn superblock (Baoquan He) [1724969] - [nvdimm] libnvdimm/pfn_dev: Add a build check to make sure we notice when struct page size change (Baoquan He) [1724969] - [nvdimm] libnvdimm/pfn: Fix namespace creation on misaligned addresses (Baoquan He) [1724969] - [nvdimm] libnvdimm/pfn: stop padding pmem namespaces to section alignment (Baoquan He) [1724969] - [nvdimm] libnvdimm/pfn: fix fsdax-mode namespace info-block zero-fields (Baoquan He) [1724969] - [nvdimm] revert "libnvdimm/pfn: fix fsdax-mode namespace info-block zero-fields" (Baoquan He) [1724969] - [nvdimm] revert "libnvdimm/pfn_dev: Add page size and struct page size to pfn superblock" (Baoquan He) [1724969] - [nvdimm] revert "libnvdimm/pfn_dev: Add a build check to make sure we notice when struct page size change" (Baoquan He) [1724969] - [mm] sparsemem: cleanup 'section number' data types (Baoquan He) [1724969] - [kernel] mm/devm_memremap_pages: enable sub-section remap (Baoquan He) [1724969] - [mm] sparsemem: support sub-section hotplug (Baoquan He) [1724969] - [mm] sparsemem: prepare for sub-section ranges (Baoquan He) [1724969] - [kernel] mm: kill is_dev_zone() helper (Baoquan He) [1724969] - [mm] hotplug: kill is_dev_zone() usage in __remove_pages() (Baoquan He) [1724969] - [mm] sparsemem: convert kmalloc_section_memmap() to populate_section_memmap() (Baoquan He) [1724969] - [mm] hotplug: prepare shrink_{zone, pgdat}_span for sub-section removal (Baoquan He) [1724969] - [mm] sparsemem: add helpers track active portions of a section at boot (Baoquan He) [1724969] - [mm] sparsemem: introduce a SECTION_IS_EARLY flag (Baoquan He) [1724969] - [mm] sparsemem: introduce struct mem_section_usage (Baoquan He) [1724969] - [base] base/memory.c: get rid of find_memory_block_hinted() (Baoquan He) [1724969] - [mm] memory_hotplug: move and simplify walk_memory_blocks() (Baoquan He) [1724969] - [mm] memory_hotplug: rename walk_memory_range() and pass start+size instead of pfns (Baoquan He) [1724969] - [mm] hotplug: make remove_memory() interface usable (Baoquan He) [1724969] - [kernel] mm: make register_mem_sect_under_node() static (Baoquan He) [1724969] - [base] base/memory: use "unsigned long" for block ids (Baoquan He) [1724969] - [base] mm: section numbers use the type "unsigned long" (Baoquan He) [1724969] - [base] base/memory.c: Use DEVICE_ATTR_RO and friends (Baoquan He) [1724969] - [mm] sparse.c: set section nid for hot-add memory (Baoquan He) [1724969] - [mm] memory_hotplug: remove "zone" parameter from sparse_remove_one_section (Baoquan He) [1724969] - [base] mm/memory_hotplug: make unregister_memory_block_under_nodes() never fail (Baoquan He) [1724969] - [base] mm/memory_hotplug: remove memory block devices before arch_remove_memory() (Baoquan He) [1724969] - [mm] memory_hotplug: drop MHP_MEMBLOCK_API (Baoquan He) [1724969] - [base] mm/memory_hotplug: create memory block devices after arch_add_memory() (Baoquan He) [1724969] - [mm] memory_hotplug: allow arch_remove_memory() without CONFIG_MEMORY_HOTREMOVE (Baoquan He) [1724969] - [arm64] mm: add temporary arch_remove_memory() implementation (Baoquan He) [1724969] - [mm] sparse.c: clean up obsolete code comment (Baoquan He) [1724969] - [base] base/memory: pass a block_id to init_memory_block() (Baoquan He) [1724969] - [base] base/memory.c: remove an unnecessary check on NR_MEM_SECTIONS (Baoquan He) [1724969] - [s390] s390x/mm: implement arch_remove_memory() (Baoquan He) [1724969] - [mm] memory_hotplug: make __remove_section() never fail (Baoquan He) [1724969] - [base] mm/memory_hotplug: make unregister_memory_section() never fail (Baoquan He) [1724969] - [base] base/memory.c: clean up relics in function parameters (Baoquan He) [1724969] - [base] mm, memory_hotplug: update a comment in unregister_memory() (Baoquan He) [1724969] - [mm] memory_hotplug: release memory resource after arch_remove_memory() (Baoquan He) [1724969] - [kernel] mm, memory_hotplug: provide a more generic restrictions for memory hotplug (Baoquan He) [1724969] - [kernel] linux/memory_hotplug.h: remove duplicate declaration of offline_pages() (Baoquan He) [1724969] - [mm] x86: respect memory size limiting via mem= parameter (Baoquan He) [1724969] - [arm64] Add memory hotplug support (Baoquan He) [1724969] - [arm64] mm: check for upper PAGE_SHIFT bits in pfn_valid() (Baoquan He) [1724969] - [powerpc] mm: Fix section mismatch warning (Baoquan He) [1724969] - [base] mm/memory_hotplug: do not unlock after failing to take the device_hotplug_lock (Baoquan He) [1724969] - [mm] memory_hotplug: drop "online" parameter from add_memory_resource() (Baoquan He) [1724969] - [s390] s390x/mm: fail when an altmap is used for arch_add_memory() (Baoquan He) [1724969] - [mm] memory_hotplug: simplify and fix check_hotplug_memory_range() (Baoquan He) [1724969] - [mm] memory_hotplug: add nid parameter to arch_remove_memory (Baoquan He) [1724969] - [mm] sparse: pass nid instead of pgdat to sparse_add_one_section() (Baoquan He) [1724969] - [mm] sparse: drop pgdat_resize_lock in sparse_add/remove_one_section() (Baoquan He) [1724969] - [documentation] memory-hotplug.rst: add some details about locking internals (Baoquan He) [1724969] - [powerpc] powernv: hold device_hotplug_lock when calling memtrace_offline_pages() (Baoquan He) [1724969] - [powerpc] powernv: hold device_hotplug_lock when calling device_online() (Baoquan He) [1724969] - [powerpc] powernv: Allow memory that has been hot-removed to be hot-added (Baoquan He) [1724969] - [powerpc] powernv/memtrace: Remove memtrace mmap() (Baoquan He) [1724969] - [mm] memory_hotplug: fix online/offline_pages called w.o. mem_hotplug_lock (Baoquan He) [1724969] - [mm] memory_hotplug: make add_memory() take the device_hotplug_lock (Baoquan He) [1724969] - [mm] memory_hotplug: make remove_memory() take the device_hotplug_lock (Baoquan He) [1724969] - [powerpc] memtrace: Remove memory in chunks (Baoquan He) [1724969] - [base] mm/memory_hotplug.c: drop unnecessary checks from register_mem_sect_under_node() (Baoquan He) [1724969] - [base] mm/memory_hotplug.c: make register_mem_sect_under_node() a callback of walk_memory_range() (Baoquan He) [1724969] - [mm] memory_hotplug.c: call register_mem_sect_under_node() (Baoquan He) [1724969] - [mm] memory_hotplug.c: make add_memory_resource use __try_online_node (Baoquan He) [1724969] - [pci] Always allow probing with driver_override (Myron Stowe) [1702178] - [pci] Return error if cannot probe VF (Myron Stowe) [1702178] - [target] scsi: target: core: Do not overwrite CDB byte 1 (Maurizio Lombardi) [1764579] - [target] scsi: target: tcmu: clean the nl_cmd of the udev when nl send fails (Maurizio Lombardi) [1764579] - [target] scsi: target: tcmu: avoid use-after-free after command timeout (Maurizio Lombardi) [1764579] - [target] scsi: tcmu: Simplify tcmu_update_uio_info() (Maurizio Lombardi) [1764579] - [target] scsi: target/iscsi: fix possible condition with no effect (if == else) (Maurizio Lombardi) [1764579] - [target] scsi: target/iscsi: Make sure PDU processing continues if parsing a command fails (Maurizio Lombardi) [1764579] - [target] scsi: target/iscsi: Make iscsit_map_iovec() more robust (Maurizio Lombardi) [1764579] - [target] scsi: target/iscsi: Handle too large immediate data buffers correctly (Maurizio Lombardi) [1764579] - [target] scsi: target/iscsi: Only send R2T if needed (Maurizio Lombardi) [1764579] - [target] scsi: target/iscsi: Detect conn_cmd_list corruption early (Maurizio Lombardi) [1764579] - [target] scsi: target/core: Make the XCOPY setup code easier to read by inlining two functions (Maurizio Lombardi) [1764579] - [target] scsi: target/core: Simplify LUN initialization in XCOPY implementation (Maurizio Lombardi) [1764579] - [target] scsi: target/core: Remove a set-but-not-used member variable from the XCOPY implementation (Maurizio Lombardi) [1764579] - [target] scsi: target/core: Rework the SPC-2 reservation handling code (Maurizio Lombardi) [1764579] - [target] scsi: target/core: Fix a race condition in the LUN lookup code (Maurizio Lombardi) [1764579] - [target] scsi: target: alua: fix the tg_pt_gps_count (Maurizio Lombardi) [1764579] - [target] scsi: target: iscsi: Free conn_ops when zalloc_cpumask_var failed (Maurizio Lombardi) [1764579] - [target] scsi: target: iscsi: Fix np_ip_proto and np_sock_type in iscsit_setup_np (Maurizio Lombardi) [1764579] - [target] scsi: target: fix unsigned comparision with less than zero (Maurizio Lombardi) [1764579] - [target] scsi: target: Add device product id and revision configfs attributes (Maurizio Lombardi) [1764579] - [kernel] genirq/affinity: Remove const qualifier from node_to_cpumask argument (Ming Lei) [1743064] - [kernel] genirq/affinity: Spread vectors on node according to nr_cpu ratio (Ming Lei) [1743064] - [kernel] genirq/affinity: Improve __irq_build_affinity_masks() (Ming Lei) [1743064] - [kernel] genirq/affinity: Remove unused argument from [__]irq_build_affinity_masks() (Ming Lei) [1743064] - [kernel] workqueue, lockdep: Fix a memory leak in wq->lock_name (Waiman Long) [1736654] - [kernel] workqueue, lockdep: Fix an alloc_workqueue() error path (Waiman Long) [1736654] - [kernel] locking/lockdep: Report more stack trace statistics (Waiman Long) [1736654] - [kernel] locking/lockdep: Reduce space occupied by stack traces (Waiman Long) [1736654] - [kernel] locking/lockdep: Make it clear that what lock_class::key points at is not modified (Waiman Long) [1736654] - [kernel] lockdep: Make print_lock() address visible (Waiman Long) [1736654] - [kernel] locking/lockdep: Clean up #ifdef checks (Waiman Long) [1736654] - [kernel] locking/lockdep: Hide unused 'class' variable (Waiman Long) [1736654] - [kernel] locking/lockdep: Fix lock used or unused stats error (Waiman Long) [1736654] - [kernel] locking/lockdep: increase size of counters for lockdep statistics (Waiman Long) [1736654] - [kernel] locking/lockdep: Move mark_lock() inside CONFIG_TRACE_IRQFLAGS && CONFIG_PROVE_LOCKING (Waiman Long) [1736654] - [kernel] locking/lockdep: Remove unnecessary DEBUG_LOCKS_WARN_ON() (Waiman Long) [1736654] - [kernel] locking/lockdep: Fix merging of hlocks with non-zero references (Waiman Long) [1736654] - [kernel] locking/lockdep: Fix OOO unlock when hlocks need merging (Waiman Long) [1736654] - [kernel] locking/lockdep: Remove !dir in lock irq usage check (Waiman Long) [1736654] - [kernel] locking/lockdep: Adjust new bit cases in mark_lock (Waiman Long) [1736654] - [kernel] locking/lockdep: Consolidate lock usage bit initialization (Waiman Long) [1736654] - [kernel] locking/lockdep: Check redundant dependency only when CONFIG_LOCKDEP_SMALL (Waiman Long) [1736654] - [kernel] locking/lockdep: Refactorize check_noncircular and check_redundant (Waiman Long) [1736654] - [kernel] locking/lockdep: Remove unused argument in __lock_release (Waiman Long) [1736654] - [kernel] locking/lockdep: Remove redundant argument in check_deadlock (Waiman Long) [1736654] - [documentation] locking/lockdep: Add explanation to lock usage rules in lockdep design doc (Waiman Long) [1736654] - [kernel] locking/lockdep: Update comments on dependency search (Waiman Long) [1736654] - [kernel] locking/lockdep: Avoid constant checks in __bfs by using offset reference (Waiman Long) [1736654] - [kernel] locking/lockdep: Change the return type of __cq_dequeue() (Waiman Long) [1736654] - [kernel] locking/lockdep: Change type of the element field in circular_queue (Waiman Long) [1736654] - [kernel] locking/lockdep: Update comment (Waiman Long) [1736654] - [kernel] locking/lockdep: Remove unused argument in validate_chain() and check_deadlock() (Waiman Long) [1736654] - [kernel] locking/lockdep: Change the range of class_idx in held_lock struct (Waiman Long) [1736654] - [kernel] locking/lockdep: Define INITIAL_CHAIN_KEY for chain keys to start with (Waiman Long) [1736654] - [kernel] locking/lockdep: Use lockdep_init_task for task initiation consistently (Waiman Long) [1736654] - [kernel] locking/lockdep: Update obsolete struct field description (Waiman Long) [1736654] - [kernel] locking/lockdep: Print the right depth for chain key collision (Waiman Long) [1736654] - [kernel] locking/lockdep: Remove useless conditional macro (Waiman Long) [1736654] - [kernel] locking/lockdep: Adjust lock usage bit character checks (Waiman Long) [1736654] - [documentation] locking/lockdep: Add description and explanation in lockdep design doc (Waiman Long) [1736654] - [kernel] locking/lockdep: Change all print_*() return type to void (Waiman Long) [1736654] - [kernel] locking/lockdep: Remove the unused print_lock_trace() function (Waiman Long) [1736654] - [kernel] locking/lockdep: Don't complain about incorrect name for no validate class (Waiman Long) [1736654] - [kernel] lockdep: Add assertion to check if in an interrupt (Waiman Long) [1736654] - [kernel] locking/lockdep: Remove unnecessary unlikely() (Waiman Long) [1736654] - [kernel] locking/lockdep: Test all incompatible scenarios at once in check_irq_usage() (Waiman Long) [1736654] - [kernel] locking/lockdep: Avoid bogus Clang warning (Waiman Long) [1736654] - [kernel] locking/lockdep: Generate LOCKF_ bit composites (Waiman Long) [1736654] - [kernel] locking/lockdep: Use expanded masks on find_usage_*() functions (Waiman Long) [1736654] - [kernel] locking/lockdep: Map remaining magic numbers to lock usage mask names (Waiman Long) [1736654] - [kernel] locking/lockdep: Move valid_state() inside CONFIG_TRACE_IRQFLAGS && CONFIG_PROVE_LOCKING (Waiman Long) [1736654] - [kernel] lockdep: Simplify stack trace handling (Waiman Long) [1736654] - [kernel] locking/lockdep: Make lockdep_unregister_key() honor 'debug_locks' again (Waiman Long) [1736654] - [kernel] locking/lockdep: Zap lock classes even with lock debugging disabled (Waiman Long) [1736654] - [kernel] locking/lockdep: Only call init_rcu_head() after RCU has been initialized (Waiman Long) [1736654] - [kernel] locking/lockdep: Avoid a Clang warning (Waiman Long) [1736654] - [kernel] locking/lockdep: Shrink struct lock_class_key (Waiman Long) [1736654] - [kernel] locking/lockdep: Add module_param to enable consistency checks (Waiman Long) [1736654] - [tools] lockdep/lib/tests: Test dynamic key registration (Waiman Long) [1736654] - [tools] lockdep/lib/tests: Fix run_tests.sh (Waiman Long) [1736654] - [kernel] workqueue: Use dynamic lockdep keys for workqueues (Waiman Long) [1736654] - [kernel] locking/lockdep: Add support for dynamic keys (Waiman Long) [1736654] - [kernel] locking/lockdep: Verify whether lock objects are small enough to be used as class keys (Waiman Long) [1736654] - [kernel] locking/lockdep: Check data structure consistency (Waiman Long) [1736654] - [kernel] locking/lockdep: Reuse lock chains that have been freed (Waiman Long) [1736654] - [kernel] locking/lockdep: Fix a comment in add_chain_cache() (Waiman Long) [1736654] - [kernel] locking/lockdep: Introduce lockdep_next_lockchain() and lock_chain_count() (Waiman Long) [1736654] - [kernel] locking/lockdep: Reuse list entries that are no longer in use (Waiman Long) [1736654] - [kernel] locking/lockdep: Free lock classes that are no longer in use (Waiman Long) [1736654] - [kernel] locking/lockdep: Update two outdated comments (Waiman Long) [1736654] - [kernel] locking/lockdep: Make it easy to detect whether or not inside a selftest (Waiman Long) [1736654] - [kernel] locking/lockdep: Split lockdep_free_key_range() and lockdep_reset_lock() (Waiman Long) [1736654] - [kernel] locking/lockdep: Initialize the locks_before and locks_after lists earlier (Waiman Long) [1736654] - [kernel] locking/lockdep: Make zap_class() remove all matching lock order entries (Waiman Long) [1736654] - [kernel] locking/lockdep: Reorder struct lock_class members (Waiman Long) [1736654] - [kernel] locking/lockdep: Avoid that add_chain_cache() adds an invalid chain to the cache (Waiman Long) [1736654] - [kernel] locking/lockdep: Fix reported required memory size (2/2) (Waiman Long) [1736654] - [kernel] locking/lockdep: Fix reported required memory size (1/2) (Waiman Long) [1736654] - [kernel] locking/lockdep: Fix two 32-bit compiler warnings (Waiman Long) [1736654] - [kernel] locking/lockdep: Rename lockdep_info() to lockdep_init() (Waiman Long) [1736654] - [kernel] locking/lockdep: Add debug_locks check in __lock_downgrade() (Waiman Long) [1736654] - [kernel] locking/lockdep: Provide enum lock_usage_bit mask names (Waiman Long) [1736654] - [kernel] locking/lockdep: Simplify mark_held_locks() (Waiman Long) [1736654] - [kernel] locking/lockdep: Add debug_locks check in __lock_downgrade() (Waiman Long) [1736654] - [kernel] locking/lockdep: Stop using RCU primitives to access 'all_lock_classes' (Waiman Long) [1736654] - [kernel] locking/lockdep: Make concurrent lockdep_reset_lock() calls safe (Waiman Long) [1736654] - [kernel] locking/lockdep: Remove a superfluous INIT_LIST_HEAD() statement (Waiman Long) [1736654] - [kernel] locking/lockdep: Introduce lock_class_cache_is_registered() (Waiman Long) [1736654] - [kernel] locking/lockdep: Inline __lockdep_init_map() (Waiman Long) [1736654] - [kernel] locking/lockdep: Declare local symbols static (Waiman Long) [1736654] - [tools] lib/lockdep/tests: Test the lockdep_reset_lock() implementation (Waiman Long) [1736654] - [tools] lib/lockdep: Add dummy print_irqtrace_events() implementation (Waiman Long) [1736654] - [tools] lib/lockdep: Rename "trywlock" into "trywrlock" (Waiman Long) [1736654] - [tools] lib/lockdep/tests: Run lockdep tests a second time under Valgrind (Waiman Long) [1736654] - [tools] lib/lockdep/tests: Improve testing accuracy (Waiman Long) [1736654] - [tools] lib/lockdep/tests: Fix shellcheck warnings (Waiman Long) [1736654] - [tools] lib/lockdep/tests: Display compiler warning and error messages (Waiman Long) [1736654] - [kernel] locking/lockdep: Remove ::version from lock_class structure (Waiman Long) [1736654] - [init] kconfig: disable io_uring support (Jeff Moyer) [1758680] - [virt] kvm: arm64: pmu: Reset sample period on overflow handling (Auger Eric) [1760872] - [virt] kvm: arm64: pmu: Set the CHAINED attribute before creating the in-kernel event (Auger Eric) [1760872] - [arm64] kvm: Handle PMCR_EL0.LC as RES1 on pure AArch64 systems (Auger Eric) [1760872] - [virt] kvm: arm64: pmu: Fix cycle counter truncation (Auger Eric) [1760872] - [virt] kvm: arm/arm64: Introduce kvm_pmu_vcpu_init() to setup PMU counter index (Auger Eric) [1760872] - [virt] kvm: arm/arm64: Support chained PMU counters (Auger Eric) [1760872] - [virt] kvm: arm/arm64: Remove pmc->bitmask (Auger Eric) [1760872] - [virt] kvm: arm/arm64: Re-create event when setting counter value (Auger Eric) [1760872] - [virt] kvm: arm/arm64: Extract duplicated code to own function (Auger Eric) [1760872] - [virt] kvm: arm/arm64: Rename kvm_pmu_{enable/disable}_counter functions (Auger Eric) [1760872] - [arm64] perf: Hook up new events (Auger Eric) [1760872] - [arm64] perf: Move event definitions into perf_event.h (Auger Eric) [1760872] - [arm64] perf: Remove duplicate generic cache events (Auger Eric) [1760872] - [arm64] perf: Terminate PMU assignment statements with semicolons (Auger Eric) [1760872] - [arm64] Allow CAVIUM_TX2_ERRATUM_219 to be selected (Auger Eric) [1771633] - [arm64] Avoid Cavium TX2 erratum 219 when switching TTBR (Auger Eric) [1771633] - [arm64] Enable workaround for Cavium TX2 erratum 219 when running SMT (Auger Eric) [1771633] - [arm64] kvm: Trap VM ops when ARM64_WORKAROUND_CAVIUM_TX2_219_TVM is set (Auger Eric) [1771633] - [arm64] sysreg: fix incorrect definition of SYS_PAR_EL1_F (Auger Eric) [1771633] - [arm64] Force SSBS on context switch (Mark Salter) [1756103] - [arm64] enable pointer authentication (Mark Salter) [1756103] - [arm64] add ptrace regsets for ptrauth key management (Mark Salter) [1756103] - arm64: cpufeature: Rework ptr auth hwcaps using multi_entry_cap_matches (Mark Salter) [1756103] - [arm64] capabilities: Merge duplicate entries for Qualcomm erratum 1003 (Mark Salter) [1756103] - [arm64] cpufeature: Reduce number of pointer auth CPU caps from 6 to 4 (Mark Salter) [1756103] - [documentation] arm64: docs: document pointer authentication (Mark Salter) [1756103] - [documentation] arm64: docs: Document SSBS HWCAP (Mark Salter) [1756103] - [documentation] arm64: docs: Fix typos in ELF hwcaps (Mark Salter) [1756103] - [arm64] ptr auth: Move per-thread keys from thread_info to thread_struct (Mark Salter) [1756103] - [arm64] add prctl control for resetting ptrauth keys (Mark Salter) [1756103] - [arm64] perf: strip PAC when unwinding userspace (Mark Salter) [1756103] - [arm64] expose user PAC bit positions via ptrace (Mark Salter) [1756103] - [arm64] add basic pointer authentication support (Mark Salter) [1756103] - arm64/cpufeature: detect pointer authentication (Mark Salter) [1756103] - [arm64] cpufeature: Convert hook_lock to raw_spin_lock_t in cpu_enable_ssbs() (Mark Salter) [1756103] - [arm64] entry: Allow handling of undefined instructions from EL1 (Mark Salter) [1756103] - [arm64] Fix silly typo in comment (Mark Salter) [1756103] - [fs] smb3: fix signing verification of large reads (Dave Wysochanski) [1753114] - [fs] revert "nfs4: Fix v4.0 client state corruption when mount" (Benjamin Coddington) [1767012] - [kernel] svcrdma: Increase the default connection credit limit (Benjamin Coddington) [1771430] - [x86] quirks: Disable HPET on Intel Coffe Lake platforms (David Arcari) [1773774] - [sched] core: Fix CPU controller for !RT_GROUP_SCHED (Phil Auld) [1774652] - [x86] Add comment for x86 processor OS version support (David Arcari) [1709878] - [x86] kvm: svm: taint module and print taint message iff nested is enabled (Bandan Das) [1775410] - [x86] cpu: Add Tiger Lake to Intel family (Steve Best) [1773790] - [fs] Fix the locking in dcache_readdir() and friends (Miklos Szeredi) [1761746] - [infiniband] rdma/mlx5: Return proper error value (Mohammad Heib) [1772101] - [scsi] mpt3sas: change allocation option (Tomas Henzl) [1770264] - [scsi] qla2xxx: Initialized mailbox to prevent driver load failure (Himanshu Madhani) [1770309] - [mfd] intel-lpss: Add Intel Comet Lake PCH-H PCI IDs (David Arcari) [1773307] - [powercap] intel_rapl: add support for Cometlake desktop (David Arcari) [1759664] - [powercap] intel_rapl: add support for CometLake Mobile (David Arcari) [1746265] - [kernel] intel_rapl: need linux/cpuhotplug.h for enum cpuhp_state (Alexander Beregalov) [1732604] - [thermal] int340x/processor_thermal_device: Fix proc_thermal_rapl_remove() (Alexander Beregalov) [1732604] - [thermal] int340x/processor_thermal_device: add support for MMIO RAPL (Alexander Beregalov) [1732604] - [thermal] thermal: processor_thermal_device: Fix build warning (Alexander Beregalov) [1732604] - [thermal] thermal: processor_thermal: Read PPCC on resume (Alexander Beregalov) [1732604] - [thermal] thermal: processor_thermal: Downgrade error message (Alexander Beregalov) [1732604] - [thermal] intel: int340x: processor_thermal_device: simplify to get driver data (Alexander Beregalov) [1732604] - [thermal] int3403_thermal: favor _TMP instead of PTYP (Alexander Beregalov) [1732604] - [thermal] int340x_thermal: fix mode setting (Alexander Beregalov) [1732604] - [thermal] int340x_thermal: Add additional UUIDs (Alexander Beregalov) [1732604] - [thermal] thermal: int340x_thermal: Fix sysfs race condition (Alexander Beregalov) [1732604] - [thermal] thermal: int340x_thermal: Make PCI dependency explicit (Alexander Beregalov) [1732604] - [thermal] int340x_thermal: Fix a NULL vs IS_ERR() check (Alexander Beregalov) [1732604] - [thermal] int340x_thermal: int3400_thermal: simplify getting .driver_data (Alexander Beregalov) [1732604] - [powercap] Invoke powercap_init() and rapl_init() earlier (Alexander Beregalov) [1732604] - [powercap] intel_rapl: Fix module autoloading issue (Alexander Beregalov) [1732604] - [powercap] intel_rapl: support two power limits for every RAPL domain (Alexander Beregalov) [1732604] - [powercap] intel_rapl: support 64 bit register (Alexander Beregalov) [1732604] - [powercap] intel_rapl: abstract RAPL common code (Alexander Beregalov) [1732604] - [powercap] intel_rapl: cleanup hardcoded MSR access (Alexander Beregalov) [1732604] - [powercap] intel_rapl: cleanup some functions (Alexander Beregalov) [1732604] - [powercap] intel_rapl: abstract register access operations (Alexander Beregalov) [1732604] - [powercap] intel_rapl: abstract register address (Alexander Beregalov) [1732604] - [powercap] intel_rapl: introduce struct rapl_if_private (Alexander Beregalov) [1732604] - [kernel] intel_rapl: introduce intel_rapl.h (Alexander Beregalov) [1732604] - [powercap] intel_rapl: remove hardcoded register index (Alexander Beregalov) [1732604] - [powercap] intel_rapl: use reg instead of msr (Alexander Beregalov) [1732604] - [security] ima: Differentiate auditing policy rules from "audit" actions (Richard Guy Briggs) [1479911] - [security] ima: Do not audit if CONFIG_INTEGRITY_AUDIT is not set (Richard Guy Briggs) [1479911] - [security] ima: Use audit_log_format() rather than audit_log_string() (Richard Guy Briggs) [1479911] - [security] ima: Call audit_log_string() rather than logging it untrusted (Richard Guy Briggs) [1479911] - [security] selinux: avoid atomic_t usage in sidtab (Ondrej Mosnacek) [1741182] - [security] selinux: always return a secid from the network caches if we find one (Ondrej Mosnacek) [1741182] - [security] selinux: policydb - rename type_val_to_struct_array (Ondrej Mosnacek) [1741182] - [security] selinux: policydb - fix some checkpatch.pl warnings (Ondrej Mosnacek) [1741182] - [security] selinux: shuffle around policydb.c to get rid of forward declarations (Ondrej Mosnacek) [1741182] - [security] selinux: fix memory leak in policydb_init() (Ondrej Mosnacek) [1741182] - [security] selinux: check sidtab limit before adding a new entry (Ondrej Mosnacek) [1741182] - [security] selinux: format all invalid context as untrusted (Ondrej Mosnacek) [1479914 1741182] - [security] selinux: remove some no-op BUG_ONs (Ondrej Mosnacek) [1741182] - [security] selinux: provide __le variables explicitly (Ondrej Mosnacek) [1741182] - [security] selinux: avoid uninitialized variable warning (Ondrej Mosnacek) [1741182] - [security] selinux: remove useless assignments (Ondrej Mosnacek) [1741182] - [security] selinux: fix NULL dereference in policydb_destroy() (Ondrej Mosnacek) [1741182] - [security] selinux: convert to kvmalloc (Ondrej Mosnacek) [1741182] - [kernel] lsm: generalize flag passing to security_capable (Ondrej Mosnacek) [1741182] - [kernel] selinux: Remove unused selinux_is_enabled (Ondrej Mosnacek) [1741182] - [kernel] selinux: Remove cred security blob poisoning (Ondrej Mosnacek) [1741182] - [security] selinux: Remove SECURITY_SELINUX_BOOTPARAM_VALUE (Ondrej Mosnacek) [1741182]- [tools] selftests: mlxsw: Add a test for leftover DSCP rule (Ivan Vecera) [1737368] - [tools] selftests: mlxsw: Fix local variable declarations in DSCP tests (Ivan Vecera) [1737368] - [netdrv] mlxsw: spectrum_ptp: Add counters for GC events (Ivan Vecera) [1737368] - [netdrv] mlxsw: Bump firmware version to 13.2000.1886 (Ivan Vecera) [1737368] - [netdrv] mlxsw: spectrum: Prevent auto negotiation on number of lanes (Ivan Vecera) [1737368] - [netdrv] mlxsw: Remove 56G speed support (Ivan Vecera) [1737368] - [netdrv] mlxsw: spectrum_ptp: Keep unmatched entries in a linked list (Ivan Vecera) [1737368] - [netdrv] mlxsw: spectrum_buffers: Further reduce pool size on Spectrum-2 (Ivan Vecera) [1737368] - [netdrv] mlxsw: spectrum: Fix error path in mlxsw_sp_module_init() (Ivan Vecera) [1737368] - [netdrv] mlxsw: spectrum_ptp: fix duplicated check on orig_egr_types (Ivan Vecera) [1737368] - [netdrv] mlxsw: spectrum_ptp: Increase parsing depth when PTP is enabled (Ivan Vecera) [1737368] - [tools] selftests: mlxsw: Fix typo in qos_mc_aware.sh (Ivan Vecera) [1737368] - [netdrv] mlxsw: spectrum: Do not process learned records with a dummy FID (Ivan Vecera) [1737368] - [netdrv] mlxsw: spectrum_dcb: Configure DSCP map as the last rule is removed (Ivan Vecera) [1737368] - [netdrv] remove redundant memset (Ivan Vecera) [1737368] - [netdrv] mlxsw: spectrum_ptp: Apply the PTP shaper enable/disable logic (Ivan Vecera) [1737368] - [netdrv] mlxsw: spectrum: Set up PTP shaper when port status has changed (Ivan Vecera) [1737368] - [netdrv] mlxsw: spectrum_ptp: Enable/disable PTP shaper on a port when getting HWTSTAMP on/off (Ivan Vecera) [1737368] - [netdrv] mlxsw: spectrum: Add new operation for getting the port's speed (Ivan Vecera) [1737368] - [netdrv] mlxsw: spectrum_ptp: Set the PTP shaper parameters (Ivan Vecera) [1737368] - [netdrv] mlxsw: reg: Add QoS PTP Shaper Configuration Register (Ivan Vecera) [1737368] - [netdrv] mlxsw: spectrum: Add note about the PTP shaper (Ivan Vecera) [1737368] - [netdrv] mlxsw: reg: Add ptps field in QoS ETS Element Configuration Register (Ivan Vecera) [1737368] - [netdrv] mlxsw: spectrum_ptp: Fix validation in mlxsw_sp1_ptp_packet_finish() (Ivan Vecera) [1737368] - [netdrv] mlxsw: spectrum: ptp: Support ethtool get_ts_info (Ivan Vecera) [1737368] - [netdrv] mlxsw: spectrum: ptp: Support SIOCGHWTSTAMP, SIOCSHWTSTAMP ioctls (Ivan Vecera) [1737368] - [netdrv] mlxsw: spectrum: ptp: Configure PTP traps and FIFO events (Ivan Vecera) [1737368] - [netdrv] mlxsw: spectrum: ptp: Garbage-collect unmatched entries (Ivan Vecera) [1737368] - [netdrv] mlxsw: spectrum: ptp: Support timestamping on Spectrum-1 (Ivan Vecera) [1737368] - [netdrv] mlxsw: spectrum: ptp: Disable BH when working with PHC (Ivan Vecera) [1737368] - [netdrv] mlxsw: spectrum: ptp: Add PTP initialization / finalization (Ivan Vecera) [1737368] - [netdrv] mlxsw: pci: ptp: Hook into packet transmit path (Ivan Vecera) [1737368] - [netdrv] mlxsw: core: Add support for using SKB control buffer (Ivan Vecera) [1737368] - [netdrv] mlxsw: spectrum: ptp: Hook into packet receive path (Ivan Vecera) [1737368] - [netdrv] mlxsw: spectrum: Add support for traps specific to Spectrum-1 (Ivan Vecera) [1737368] - [netdrv] mlxsw: spectrum: Extract a helper for trap registration (Ivan Vecera) [1737368] - [netdrv] mlxsw: reg: Add Monitoring Global Configuration Register (Ivan Vecera) [1737368] - [netdrv] mlxsw: reg: Add Time Precision Packet Timestamping Reading (Ivan Vecera) [1737368] - [netdrv] mlxsw: reg: Add Monitoring Precision Time Protocol Trap Register (Ivan Vecera) [1737368] - [netdrv] mlxsw: reg: Add Monitoring Time Precision Packet Port Configuration Register (Ivan Vecera) [1737368] - [netdrv] mlxsw: core: Add support for negative temperature readout (Ivan Vecera) [1737368] - [netdrv] mlxsw: core: Add the hottest thermal zone detection (Ivan Vecera) [1737368] - [netdrv] mlxsw: core: Extend thermal core with per inter-connect device thermal zones (Ivan Vecera) [1737368] - [netdrv] mlxsw: spectrum_flower: Implement support for ingress device matching (Ivan Vecera) [1737368] - [netdrv] mlxsw: spectrum_acl: Fix SRC_SYS_PORT element size (Ivan Vecera) [1737368] - [netdrv] mlxsw: spectrum_acl: Avoid size check for RX_ACL_SYSTEM_PORT element (Ivan Vecera) [1737368] - [netdrv] mlxsw: spectrum_acl: Write RX_ACL_SYSTEM_PORT acl element correctly (Ivan Vecera) [1737368] - [netdrv] mlxsw: spectrum_ptp: Fix compilation on 32-bit ARM (Ivan Vecera) [1737368] - [tools] selftests: ptp: Add Physical Hardware Clock test (Ivan Vecera) [1737368] - [netdrv] mlxsw: spectrum: PTP physical hardware clock initialization (Ivan Vecera) [1737368] - [netdrv] mlxsw: spectrum_ptp: Add implementation for physical hardware clock operations (Ivan Vecera) [1737368] - [netdrv] mlxsw: reg: Add Management Pulse Per Second Register (Ivan Vecera) [1737368] - [netdrv] mlxsw: reg: Add Management UTC Register (Ivan Vecera) [1737368] - [netdrv] mlxsw: pci: Query free running clock PCI BAR and offsets (Ivan Vecera) [1737368] - [netdrv] mlxsw: core: Add a new interface for reading the hardware free running clock (Ivan Vecera) [1737368] - [netdrv] mlxsw: cmd: Free running clock PCI BAR and offsets via query firmware (Ivan Vecera) [1737368] - [netdrv] mlxsw: Implement flash update status notifications (Ivan Vecera) [1737368] - [netdrv] mlxfw: Introduce status_notify op and call it to notify about the status (Ivan Vecera) [1737368] - [netdrv] mlxfw: Propagate error messages through extack (Ivan Vecera) [1737368] - [netdrv] mlxsw: Move firmware flash implementation to devlink (Ivan Vecera) [1737368] - [netdrv] mlxsw: core: Reduce buffer size in transactions for SFP modules temperature readout (Ivan Vecera) [1737368] - [netdrv] mlxsw: core: Extend the index size for temperature sensors readout (Ivan Vecera) [1737368] - [netdrv] mlxsw: core: Extend hwmon interface with inter-connect temperature attributes (Ivan Vecera) [1737368] - [netdrv] mlxsw: reg: Add Management General Peripheral Information Register (Ivan Vecera) [1737368] - [netdrv] mlxsw: reg: Extend sensor index field size of Management Temperature Register (Ivan Vecera) [1737368] - [netdrv] mlxsw: core: Re-order initialization sequence (Ivan Vecera) [1737368] - [netdrv] mlxsw: i2c: Allow flexible setting of I2C transactions size (Ivan Vecera) [1737368] - [netdrv] mlxsw: i2c: Extend initialization with querying firmware info (Ivan Vecera) [1737368] - [netdrv] mlxsw: spectrum: Disallow prio-tagged packets when PVID is removed (Ivan Vecera) [1737368] - [netdrv] mlxsw: spectrum_buffers: Reduce pool size on Spectrum-2 (Ivan Vecera) [1737368] - [tools] selftests: tc_flower: Add TOS matching test (Ivan Vecera) [1737368] - [netdrv] mlxsw: spectrum_flower: Fix TOS matching (Ivan Vecera) [1737368] - [tools] selftests: mlxsw: Test nexthop offload indication (Ivan Vecera) [1737368] - [netdrv] mlxsw: spectrum_router: Refresh nexthop neighbour when it becomes dead (Ivan Vecera) [1737368] - [netdrv] mlxsw: spectrum: Use different seeds for ECMP and LAG hash (Ivan Vecera) [1737368] - [netdrv] mlxsw: spectrum: Prevent force of 56G (Ivan Vecera) [1737368] - [netdrv] mlxsw: spectrum_acl: Avoid warning after identical rules insertion (Ivan Vecera) [1737368] - [tools] selftests: Add loopback test (Ivan Vecera) [1737368] - [netdrv] mlxsw: spectrum: Implement loopback ethtool feature (Ivan Vecera) [1737368] - [netdrv] mlxsw: reg: Add Port Physical Loopback Register (Ivan Vecera) [1737368] - [netdrv] mlxsw: spectrum: split base on local_ports_in_{1x, 2x} resources (Ivan Vecera) [1737368] - [netdrv] mlxsw: resources: Add local_ports_in_{1x, 2x} (Ivan Vecera) [1737368] - [netdrv] mlxsw: Bump firmware version to 13.2000.1122 (Ivan Vecera) [1737368] - [netdrv] mlxsw: Remove obsolete dependency on THERMAL=m (Ivan Vecera) [1737368] - [netdrv] mlxsw: spectrum_router: Prevent ipv6 gateway with v4 route via replace and append (Ivan Vecera) [1737368] - [netdrv] mlxsw: spectrum_buffers: Adjust CPU port shared buffer egress quotas (Ivan Vecera) [1737368] - [netdrv] mlxsw: spectrum_buffers: Allow skipping ingress port quota configuration (Ivan Vecera) [1737368] - [netdrv] mlxsw: spectrum_buffers: Split business logic from mlxsw_sp_port_sb_pms_init() (Ivan Vecera) [1737368] - [netdrv] mlxsw: spectrum_buffers: Use new CPU ingress pool for control packets (Ivan Vecera) [1737368] - [netdrv] mlxsw: spectrum_buffers: Add pools for CPU traffic (Ivan Vecera) [1737368] - [netdrv] mlxsw: spectrum_buffers: Remove assumption about pool order (Ivan Vecera) [1737368] - [netdrv] mlxsw: spectrum_buffers: Forbid changing multicast TCs' attributes (Ivan Vecera) [1737368] - [netdrv] mlxsw: spectrum_buffers: Forbid changing threshold type of first egress pool (Ivan Vecera) [1737368] - [netdrv] mlxsw: spectrum_buffers: Forbid configuration of multicast pool (Ivan Vecera) [1737368] - [netdrv] mlxsw: spectrum_buffers: Add ability to veto TC's configuration (Ivan Vecera) [1737368] - [netdrv] mlxsw: spectrum_buffers: Add ability to veto pool's configuration (Ivan Vecera) [1737368] - [netdrv] mlxsw: spectrum_buffers: Use defines for pool indices (Ivan Vecera) [1737368] - [netdrv] mlxsw: spectrum_buffers: Add extack messages for invalid configurations (Ivan Vecera) [1737368] - [netdrv] mlxsw: spectrum_router: Relax FIB rule validation (Ivan Vecera) [1737368] - [netdrv] mlxsw: spectrum: Use a stable ECMP/LAG seed (Ivan Vecera) [1737368] - [tools] selftests: mlxsw: Test neighbour offload indication (Ivan Vecera) [1737368] - [netdrv] mlxsw: spectrum_router: Add neighbour offload indication (Ivan Vecera) [1737368] - [netdrv] mlxsw: spectrum_router: Propagate neighbour update errors (Ivan Vecera) [1737368] - [documentation] documentation: networking: devlink-info-versions: Add fw.psid (Ivan Vecera) [1737368] - [netdrv] mlxsw: core: Add support for devlink info command (Ivan Vecera) [1737368] - [netdrv] mlxsw: reg: Add MGIR register (Ivan Vecera) [1737368] - [tools] selftests: forwarding: test for bridge mcast traffic after report and leave (Ivan Vecera) [1737368] - [netdrv] mlxsw: switch_ib: Pass valid HW id down to mlxsw_core_port_init() (Ivan Vecera) [1737368] - [netdrv] mlxsw: Remove ndo_get_port_parent_id implementation (Ivan Vecera) [1737368] - [netdrv] mlxsw: Pass switch ID through devlink_port_attrs_set() (Ivan Vecera) [1737368] - [netdrv] mlxsw: spectrum_acl: Rename rehash_dis trace (Ivan Vecera) [1737368] - [netdrv] mlxsw: spectrum_acl: Remove failed_rollback dead end (Ivan Vecera) [1737368] - [netdrv] mlxsw: spectrum_acl: Move rehash_dis trace call and err msg to vregion_migrate() (Ivan Vecera) [1737368] - [netdrv] mlxsw: spectrum_acl: Remove redundant failed_rollback from migrate_start() (Ivan Vecera) [1737368] - [netdrv] mlxsw: Remove ndo_get_phys_port_name implementation (Ivan Vecera) [1737368] - [netdrv] mlxsw: Implement ndo_get_devlink_port (Ivan Vecera) [1737368] - [tools] selftests: mlxsw: Add a new test for strict priority (Ivan Vecera) [1737368] - [tools] selftests: mlxsw: Add qos_lib.sh (Ivan Vecera) [1737368] - [tools] selftests: mlxsw: qos_mc_aware: Configure shared buffers (Ivan Vecera) [1737368] - [tools] selftests: forwarding: devlink_lib: Add shared buffer helpers (Ivan Vecera) [1737368] - [tools] selftests: forwarding: devlink_lib: Simplify deduction of DEVLINK_DEV (Ivan Vecera) [1737368] - [tools] selftests: forwarding: devlink_lib: Avoid double sourcing of lib.sh (Ivan Vecera) [1737368] - [tools] selftests: forwarding: Test action VLAN modify (Ivan Vecera) [1737368] - [tools] selftests: forwarding: Add PCP match and VLAN match tests (Ivan Vecera) [1737368] - [infiniband] rdma/mlx5: Use irq xarray locking for mkey_table (Alaa Hleihel) [1724336] - [netdrv] mlx4_core: Dynamically set guaranteed amount of counters per VF (Alaa Hleihel) [1724336] - [netdrv] mlx5e: Initialize on stack link modes bitmap (Alaa Hleihel) [1724336] - [netdrv] mlx5e: fix ethtool self test: link speed (Alaa Hleihel) [1724336] - [netdrv] mlx5e: Fix handling of compressed CQEs in case of low NAPI budget (Alaa Hleihel) [1724336] - [netdrv] mlx5e: Don't store direct pointer to action's tunnel info (Alaa Hleihel) [1724336] - [netdrv] mlx5: Fix NULL pointer dereference in extended destination (Alaa Hleihel) [1724336] - [netdrv] mlx5e: Only skip encap flows update when encap init failed (Alaa Hleihel) [1724336] - [netdrv] mlx5e: Determine source port properly for vlan push action (Alaa Hleihel) [1724336] - [kernel] mlx5: Fix flow counter list auto bits struct (Alaa Hleihel) [1724336] - [infiniband] rdma/mlx5: Clear old rate limit when closing QP (Alaa Hleihel) [1724336] - [infiniband] ib/mlx5: Remove dead code (Alaa Hleihel) [1724336] - [netdrv] mlx5: fix memory leak in mlx5_fw_fatal_reporter_dump (Alaa Hleihel) [1724336] - [netdrv] mlx5: prevent memory leak in mlx5_fpga_conn_create_cq (Alaa Hleihel) [1724336] - [netdrv] mlx5e: TX, Fix consumer index of error cqe dump (Alaa Hleihel) [1724336] - [netdrv] mlx5e: Tx, Zero-memset WQE info struct upon update (Alaa Hleihel) [1724336] - [netdrv] mlx5e: Tx, Fix assumption of single WQEBB of NOP in cleanup flow (Alaa Hleihel) [1724336] - [infiniband] rdma/mlx5: Add missing synchronize_srcu() for MW cases (Alaa Hleihel) [1724307 1724336] - [infiniband] rdma/mlx5: Order num_pending_prefetch properly with synchronize_srcu (Alaa Hleihel) [1724336] - [infiniband] rdma/mlx5: Do not allow rereg of a ODP MR (Alaa Hleihel) [1724336] - [netdrv] mlx5e: Fix matching on tunnel addresses type (Alaa Hleihel) [1724336] - [netdrv] mlx5: Add device ID of upcoming BlueField-2 (Alaa Hleihel) [1724336] - [infiniband] ib/mlx5: Free mpi in mp_slave mode (Alaa Hleihel) [1724336] - [infiniband] ib/mlx5: Use the original address for the page during free_pages (Alaa Hleihel) [1724308 1724336] - [netdrv] mlx5: FWTrace, Reduce stack usage (Alaa Hleihel) [1724336] - [netdrv] mlx5e: Remove unnecessary clear_bit()s (Alaa Hleihel) [1724336] - [netdrv] mlx5: fix spelling mistake "offlaods" -> "offloads" (Alaa Hleihel) [1724336] - [netdrv] mlx5e: Remove leftover declaration (Alaa Hleihel) [1724336] - [netdrv] mlx5e: ethtool, Fix a typo in WOL function names (Alaa Hleihel) [1724336] - [netdrv] mlx5: Add missing include file to lib/crypto.c (Alaa Hleihel) [1724336] - [netdrv] mlx5: remove self-assignment on esw->dev (Alaa Hleihel) [1724336] - [infiniband] ib/mlx5: Support MLX5_CMD_OP_QUERY_LAG as a DEVX general command (Alaa Hleihel) [1724307 1724336] - [kernel] mlx5: Fix mlx5_ifc_query_lag_out_bits (Alaa Hleihel) [1724336] - [netdrv] mlx5: Fix formats with line continuation whitespace (Alaa Hleihel) [1724336] - [netdrv] mlx5e: Fix mlx5e_tx_reporter_create return value (Alaa Hleihel) [1724336] - [kernel] mlx5: Fix offset of tisc bits reserved field (Alaa Hleihel) [1724336] - [netdrv] mlx5: fix -Wtype-limits compilation warnings (Alaa Hleihel) [1724336] - [infiniband] ib/mlx5: Support per device q counters in switchdev mode (Alaa Hleihel) [1659186 1724336] - [infiniband] ib/mlx5: Refactor code for counters allocation (Alaa Hleihel) [1659186 1724336] - [netdrv] mlx5: DR, Replace CRC32 implementation to use kernel lib (Alaa Hleihel) [1760284 1724336] - [netdrv] mlx5: DR, Support IPv4 and IPv6 mixed matcher (Alaa Hleihel) [1760284 1724336] - [netdrv] mlx5: DR, Allow insertion of duplicate rules (Alaa Hleihel) [1760284 1724336] - [netdrv] mlx5: avoid 64-bit division in dr_icm_pool_mr_create() (Alaa Hleihel) [1760284 1724336] - [netdrv] mlx5e: Fix traffic duplication in ethtool steering (Alaa Hleihel) [1724336] - [netdrv] mlx5: DR, Allow matching on vport based on vhca_id (Alaa Hleihel) [1760284 1724336] - [netdrv] mlx5: DR, Fix getting incorrect prev node in ste_free (Alaa Hleihel) [1760284 1724336] - [netdrv] mlx5: DR, Remove redundant vport number from action (Alaa Hleihel) [1760284 1724336] - [kernel] mlx5: DR, Fix SW steering HW bits and definitions (Alaa Hleihel) [1724336] - [netdrv] mlx5: fix missing assignment of variable err (Alaa Hleihel) [1724327 1724336] - [netdrv] mlx5: Fix rt's type in dr_action_create_reformat_action (Alaa Hleihel) [1760284 1724336] - [netdrv] mlx5: DR, Fix error return code in dr_domain_init_resources() (Alaa Hleihel) [1760284 1724336] - [netdrv] mlx5: Fix addr's type in mlx5dr_icm_dm (Alaa Hleihel) [1760284 1724336] - [netdrv] mlx5: Add devlink flow_steering_mode parameter (Alaa Hleihel) [1760284 1724336] - [netdrv] mlx5: Add support to use SMFS in switchdev mode (Alaa Hleihel) [1760284 1724327 1724336] - [netdrv] mlx5: Add API to set the namespace steering mode (Alaa Hleihel) [1760284 1724336] - [netdrv] mlx5: Add direct rule fs_cmd implementation (Alaa Hleihel) [1760284 1724336] - [netdrv] mlx5: DR, Add CONFIG_MLX5_SW_STEERING for software steering support (Alaa Hleihel) [1760284 1724336] - [netdrv] mlx5: DR, Expose APIs for direct rule managing (Alaa Hleihel) [1760284 1724336] - [netdrv] mlx5: DR, Add required FW steering functionality (Alaa Hleihel) [1760284 1724336] - [netdrv] mlx5: DR, Expose steering rule functionality (Alaa Hleihel) [1760284 1724336] - [netdrv] mlx5: DR, Expose steering action functionality (Alaa Hleihel) [1760284 1724336] - [netdrv] mlx5: DR, Expose steering matcher functionality (Alaa Hleihel) [1760284 1724336] - [netdrv] mlx5: DR, Expose steering table functionality (Alaa Hleihel) [1760284 1724336] - [netdrv] mlx5: DR, Expose steering domain functionality (Alaa Hleihel) [1760284 1724336] - [netdrv] mlx5: DR, Add Steering entry (STE) utilities (Alaa Hleihel) [1760284 1724336] - [netdrv] mlx5: DR, Expose an internal API to issue RDMA operations (Alaa Hleihel) [1760284 1724336] - [netdrv] mlx5: DR, ICM pool memory allocator (Alaa Hleihel) [1760284 1724336] - [netdrv] mlx5: DR, Add direct rule command utilities (Alaa Hleihel) [1760284 1724336] - [netdrv] mlx5: DR, Add the internal direct rule types definitions (Alaa Hleihel) [1760284 1724336] - [netdrv] mlx5: Add flow steering actions to fs_cmd shim layer (Alaa Hleihel) [1760284 1724327 1724336] - [netdrv] mlx5: Set only stag for match untagged packets (Alaa Hleihel) [1760284 1724336] - [kernel] mlx5: Add stub for mlx5_eswitch_mode (Alaa Hleihel) [1760284 1724336] - [netdrv] mlx5: Avoid disabling RoCE when uninitialized (Alaa Hleihel) [1760284 1724336] - [kernel] mlx5: Add HW bits and definitions required for SW steering (Alaa Hleihel) [1760284 1724336] - [netdrv] mlx5: Move device memory management to mlx5_core (Alaa Hleihel) [1760284 1724336] - [netdrv] mlx5e: Support LAG TX port affinity distribution (Alaa Hleihel) [1760285 1724336] - [netdrv] mlx5e: Expose new function for TIS destroy loop (Alaa Hleihel) [1760285 1724336] - [kernel] mlx5: Add lag_tx_port_affinity capability bit (Alaa Hleihel) [1760285 1724336] - [netdrv] mlx5e: Add device out of buffer counter (Alaa Hleihel) [1760291 1724336] - [netdrv] mlx5: Fix the order of fc_stats cleanup (Alaa Hleihel) [1724336] - [netdrv] mlx5e: Fix deallocation of non-fully init encap entries (Alaa Hleihel) [1724336] - [netdrv] mlx5e: Only access fully initialized flows in neigh update (Alaa Hleihel) [1663231 1724336] - [netdrv] mlx5e: Refactor neigh update for concurrent execution (Alaa Hleihel) [1663231 1724336] - [netdrv] mlx5e: Refactor neigh used value update for concurrent execution (Alaa Hleihel) [1663231 1724336] - [netdrv] mlx5e: Protect neigh hash encap list with spinlock and rcu (Alaa Hleihel) [1663231 1724336] - [netdrv] mlx5e: Refactor mlx5e_neigh_update_table->encap_lock (Alaa Hleihel) [1663231 1724336] - [netdrv] mlx5e: Extend neigh hash entry with rcu (Alaa Hleihel) [1663231 1724336] - [netdrv] mlx5e: Always take reference to neigh entry (Alaa Hleihel) [1663231 1724336] - [netdrv] mlx5e: Extract code that queues neigh update work into function (Alaa Hleihel) [1663231 1724336] - [kernel] mlx5: Add support for VNIC_ENV internal rq counter (Alaa Hleihel) [1760291 1724336] - [netdrv] mlx5e: Use refcount_t for refcount (Alaa Hleihel) [1663231 1724336] - [netdrv] mlx5e: Use vhca_id in generating representor port_index (Alaa Hleihel) [1663231 1724336] - [netdrv] mlx5e: Simplify querying port representor parent id (Alaa Hleihel) [1663231 1724336] - [netdrv] mlx5: E-switch, Removed unused hwid (Alaa Hleihel) [1663231 1724327 1724336] - [netdrv] mlx5e: Allow concurrent creation of encap entries (Alaa Hleihel) [1663231 1724336] - [netdrv] mlx5e: Protect encap hash table with mutex (Alaa Hleihel) [1663231 1724336] - [netdrv] mlx5e: Extend encap entry with reference counter (Alaa Hleihel) [1663231 1724336] - [netdrv] mlx5e: Allow concurrent creation of mod_hdr entries (Alaa Hleihel) [1663231 1724336] - [netdrv] mlx5e: Protect mod_hdr hash table with mutex (Alaa Hleihel) [1663231 1724336] - [netdrv] mlx5e: Protect mod header entry flows list with spinlock (Alaa Hleihel) [1663231 1724336] - [netdrv] mlx5e: Extend mod header entry with reference counter (Alaa Hleihel) [1663231 1724336] - [netdrv] mlx5e: Allow concurrent creation of hairpin entries (Alaa Hleihel) [1663231 1724336] - [netdrv] mlx5e: Protect hairpin hash table with mutex (Alaa Hleihel) [1663231 1724336] - [netdrv] mlx5e: Protect hairpin entry flows list with spinlock (Alaa Hleihel) [1663231 1724336] - [netdrv] mlx5e: Extend hairpin entry with reference counter (Alaa Hleihel) [1663231 1724336] - [netdrv] mlx5: E-switch, Tide up eswitch config sequence (Alaa Hleihel) [1724327 1724336] - [netdrv] mlx5: E-Switch, Remove redundant mc_promisc NULL check (Alaa Hleihel) [1724336] - [netdrv] mlx5: E-Switch, remove redundant error handling (Alaa Hleihel) [1724336] - [netdrv] mlx5: E-switch, Introduce helper function to enable/disable vports (Alaa Hleihel) [1724336] - [netdrv] mlx5: E-switch, Initialize TSAR Qos hardware block before its user vports (Alaa Hleihel) [1724336] - [netdrv] mlx5: E-switch, Combine metadata enable/disable functionality (Alaa Hleihel) [1724327 1724336] - [netdrv] mlx5: E-Switch, Verify support QoS element type (Alaa Hleihel) [1724336] - [netdrv] mlx5: Make load_one() and unload_one() symmetric (Alaa Hleihel) [1724336] - [netdrv] mlx5: Add flow counter pool (Alaa Hleihel) [1760297 1724336] - [netdrv] mlx5: Add flow counter bulk infrastructure (Alaa Hleihel) [1760297 1724336] - [kernel] mlx5: Add flow counter bulk allocation hardware bits and command (Alaa Hleihel) [1760297 1724336] - [netdrv] mlx5: Refactor and optimize flow counter bulk query (Alaa Hleihel) [1760297 1724336] - [netdrv] mlx5e: Protect tc flow table with mutex (Alaa Hleihel) [1663231 1724336] - [netdrv] mlx5e: Rely on rcu instead of rtnl lock when getting upper dev (Alaa Hleihel) [1663231 1724336] - [netdrv] mlx5e: Eswitch, use state_lock to synchronize vlan change (Alaa Hleihel) [1663231 1724327 1724336] - [netdrv] mlx5e: Eswitch, change offloads num_flows type to atomic64 (Alaa Hleihel) [1663231 1724327 1724336] - [netdrv] mlx5e: Protect unready flows with dedicated lock (Alaa Hleihel) [1663231 1724336] - [netdrv] mlx5e: Protect tc flows hashtable with rcu (Alaa Hleihel) [1663231 1724336] - [netdrv] mlx5e: Change flow flags type to unsigned long (Alaa Hleihel) [1663231 1724336] - [netdrv] mlx5e: Extend tc flow struct with reference counter (Alaa Hleihel) [1663231 1724336] - [netdrv] mlx5e: Simplify get_route_and_out_devs helper function (Alaa Hleihel) [1663231 1724336] - [netdrv] mlx5e: Improve ethtool rxnfc callback structure (Alaa Hleihel) [1663231 1724336] - [netdrv] mlx5e: Avoid warning print when not required (Alaa Hleihel) [1663231 1724336] - [netdrv] mlx5e: Print a warning when LRO feature is dropped or not allowed (Alaa Hleihel) [1663231 1724336] - [netdrv] mlx5e: Remove ethernet segment from dump WQE (Alaa Hleihel) [1724336] - [netdrv] mlx5e: Add num bytes metadata to WQE info (Alaa Hleihel) [1724336] - [netdrv] mlx5: Fix delay in fw fatal report handling due to fw report (Alaa Hleihel) [1724336] - [netdrv] mlx5: Fix crdump chunks print (Alaa Hleihel) [1724336] - [infiniband] ib/mlx5: Block MR WR if UMR is not possible (Alaa Hleihel) [1724336] - [infiniband] ib/mlx5: Fix MR re-registration flow to use UMR properly (Alaa Hleihel) [1724336] - [infiniband] ib/mlx5: Report and handle ODP support properly (Alaa Hleihel) [1724308 1724336] - [infiniband] ib/mlx5: Consolidate use_umr checks into single function (Alaa Hleihel) [1724336] - [netdrv] mlx5e: Fix compatibility issue with ethtool flash device (Alaa Hleihel) [1724336] - [infiniband] ib/mlx5: Fix use-after-free error while accessing ev_file pointer (Alaa Hleihel) [1724307 1724336] - [netdrv] mlx5e: Remove redundant check in CQE recovery flow of tx reporter (Alaa Hleihel) [1724336] - [netdrv] mlx5e: Fix error flow of CQE recovery on tx reporter (Alaa Hleihel) [1724336] - [netdrv] mlx5e: Fix false negative indication on tx reporter CQE recovery (Alaa Hleihel) [1724336] - [netdrv] mlx5e: kTLS, Fix tisn field placement (Alaa Hleihel) [1724336] - [netdrv] mlx5e: kTLS, Fix tisn field name (Alaa Hleihel) [1724336] - [netdrv] mlx5e: kTLS, Fix progress params context WQE layout (Alaa Hleihel) [1724336] - [kernel] mlx5: kTLS, Fix wrong TIS opmod constants (Alaa Hleihel) [1724336] - [netdrv] mlx5: crypto, Fix wrong offset in encryption key command (Alaa Hleihel) [1724336] - [netdrv] mlx5e: ethtool, Avoid setting speed to 56GBASE when autoneg off (Alaa Hleihel) [1724336] - [netdrv] mlx5e: Only support tx/rx pause setting for port owner (Alaa Hleihel) [1724336] - [netdrv] mlx5: Support inner header match criteria for non decap flow action (Alaa Hleihel) [1724327 1724336] - [netdrv] mlx5e: Use flow keys dissector to parse packets for ARFS (Alaa Hleihel) [1724336] - [infiniband] ib/mlx5: Check the correct variable in error handling code (Alaa Hleihel) [1724307 1724336] - [infiniband] ib/mlx5: Fix implicit MR release flow (Alaa Hleihel) [1724308 1724336] - [netdrv] mlx5e: always initialize frag->last_in_page (Alaa Hleihel) [1724336] - [infiniband] rdma/mlx5: Release locks during notifier unregister (Alaa Hleihel) [1724336] - [infiniband] ib/mlx5: Fix MR registration flow to use UMR properly (Alaa Hleihel) [1764207 1724336] - [netdrv] mlx5e: kTLS, Call WARN_ONCE on netdev mismatch (Alaa Hleihel) [1724336] - [netdrv] mlx5e: Prevent encap flow counter update async to user query (Alaa Hleihel) [1724336] - [netdrv] mlx5e: Fix matching of speed to PRM link modes (Alaa Hleihel) [1724336] - [kernel] mlx5: Fix modify_cq_in alignment (Alaa Hleihel) [1724336] - [netdrv] mlx5: Add missing RDMA_RX capabilities (Alaa Hleihel) [1724336] - [netdrv] mlx5: Use reversed order when unregister devices (Alaa Hleihel) [1724336] - [infiniband] ib/mlx5: Fix RSS Toeplitz setup to be aligned with the HW specification (Alaa Hleihel) [1724336] - [infiniband] ib/mlx5: Prevent concurrent MR updates during invalidation (Alaa Hleihel) [1724308 1724336] - [infiniband] ib/mlx5: Fix clean_mr() to work in the expected order (Alaa Hleihel) [1724336] - [infiniband] ib/mlx5: Move MRs to a kernel PD when freeing them to the MR cache (Alaa Hleihel) [1724336] - [infiniband] ib/mlx5: Use direct mkey destroy command upon UMR unreg failure (Alaa Hleihel) [1724336] - [infiniband] ib/mlx5: Fix unreg_umr to ignore the mkey state (Alaa Hleihel) [1724336] - [infiniband] ib/mlx5: Replace kfree with kvfree (Alaa Hleihel) [1724308 1724336] - [netdrv] mlx5: Replace kfree with kvfree (Alaa Hleihel) [1724336] - [netdrv] mlx5e: Rely on filter_dev instead of dissector keys for tunnels (Alaa Hleihel) [1724336] - [netdrv] mlx5e: Verify encapsulation is supported (Alaa Hleihel) [1724336] - [netdrv] mlx5e: Convert single case statement switch statements into if statements (Alaa Hleihel) [1724336] - [netdrv] mlx5: E-Switch, Reduce ingress acl modify metadata stack usage (Alaa Hleihel) [1724327 1724336] - [netdrv] mlx5e: Fix compilation error in TLS code (Alaa Hleihel) [1724336] - [netdrv] mlx5e: IPoIB, Add error path in mlx5_rdma_setup_rn (Alaa Hleihel) [1724336] - [netdrv] mlx5e: Fix error flow in tx reporter diagnose (Alaa Hleihel) [1724336] - [netdrv] mlx5e: Fix return value from timeout recover function (Alaa Hleihel) [1724336] - [netdrv] mlx5e: Rx, Fix checksum calculation for new hardware (Alaa Hleihel) [1724336] - [netdrv] mlx5e: Fix port tunnel GRE entropy control (Alaa Hleihel) [1724336] - [netdrv] mlx5: E-Switch, Fix default encap mode (Alaa Hleihel) [1724327 1724336] - [netdrv] mlx5e: Return in default case statement in tx_post_resync_params (Alaa Hleihel) [1724336] - [netdrv] mlx5e: Register devlink ports for physical link, PCI PF, VFs (Alaa Hleihel) [1724336] - [infiniband] rdma/mlx5: Set RDMA DIM to be enabled by default (Alaa Hleihel) [1724336] - [infiniband] ib/mlx5: Report correctly tag matching rendezvous capability (Alaa Hleihel) [1724336] - [infiniband] ib/mlx5: Implement VHCA tunnel mechanism in DEVX (Alaa Hleihel) [1724307 1724336] - [kernel] mlx5: Introduce VHCA tunnel device capability (Alaa Hleihel) [1724336] - [netdrv] mlx5e: Add kTLS TX HW offload support (Alaa Hleihel) [1724336] - [netdrv] mlx5e: Introduce a fenced NOP WQE posting function (Alaa Hleihel) [1724336] - [netdrv] mlx5e: Re-work TIS creation functions (Alaa Hleihel) [1760285 1724336] - [netdrv] mlx5e: Tx, Unconstify SQ stop room (Alaa Hleihel) [1724336] - [netdrv] mlx5e: Tx, Don't implicitly assume SKB-less wqe has one WQEBB (Alaa Hleihel) [1724336] - [netdrv] mlx5e: Tx, Make SQ WQE fetch function type generic (Alaa Hleihel) [1724336] - [netdrv] mlx5e: Tx, Enforce L4 inline copy when needed (Alaa Hleihel) [1724336] - [netdrv] mlx5e: Move helper functions to a new txrx datapath header (Alaa Hleihel) [1724336] - [netdrv] mlx5: Accel, Add core TLS support for the Connect-X family (Alaa Hleihel) [1724336] - [netdrv] mlx5: Add crypto library to support create/destroy encryption key (Alaa Hleihel) [1724336] - [netdrv] mlx5: Kconfig, Better organize compilation flags (Alaa Hleihel) [1724336] - [netdrv] mlx5: Accel, Expose accel wrapper for IPsec FPGA function (Alaa Hleihel) [1724336] - [infiniband] ib/mlx5: Add counter_alloc_stats() and counter_update_stats() support (Alaa Hleihel) [1724336] - [infiniband] ib/mlx5: Support statistic q counter configuration (Alaa Hleihel) [1724336] - [infiniband] ib/mlx5: Add counter set id as a parameter for mlx5_ib_query_q_counters() (Alaa Hleihel) [1724336] - [infiniband] ib/mlx5: Support set qp counter (Alaa Hleihel) [1724336] - [netdrv] mlx5: Added devlink info callback (Alaa Hleihel) [1724336] - [netdrv] mlx5: Added fw version query command (Alaa Hleihel) [1724336] - [kernel] mlx5: Add rts2rts_qp_counters_set_id field in hca cap (Alaa Hleihel) [1724336] - [infiniband] rdma/mlx5: Use proper allocation API to get zeroed memory (Alaa Hleihel) [1724336] - [infiniband] ib/mlx5: DEVX cleanup mdev (Alaa Hleihel) [1724307 1724336] - [infiniband] ib/mlx5: Add DEVX support for CQ events (Alaa Hleihel) [1724307 1724336] - [infiniband] ib/mlx5: Implement DEVX dispatching event (Alaa Hleihel) [1724307 1724336] - [infiniband] ib/mlx5: Enable subscription for device events over DEVX (Alaa Hleihel) [1724307 1724336] - [infiniband] ib/mlx5: Register DEVX with mlx5_core to get async events (Alaa Hleihel) [1724307 1724336] - [infiniband] ib/mlx5: Introduce MLX5_IB_OBJECT_DEVX_ASYNC_EVENT_FD (Alaa Hleihel) [1724307 1724336] - [kernel] mlx5: Properly name the generic WQE control field (Alaa Hleihel) [1724336] - [kernel] mlx5: Introduce TLS TX offload hardware bits and structures (Alaa Hleihel) [1724336] - [netdrv] mlx5: Refactor mlx5_esw_query_functions for modularity (Alaa Hleihel) [1724327 1724336] - [netdrv] mlx5: E-Switch prepare functions change handler to be modular (Alaa Hleihel) [1724327 1724336] - [netdrv] mlx5: Introduce and use mlx5_eswitch_get_total_vports() (Alaa Hleihel) [1724327 1724336] - [infiniband] ib/mlx5: Fixed reporting counters on 2nd port for Dual port RoCE (Alaa Hleihel) [1724336] - [kernel] mlx5: Expose device definitions for object events (Alaa Hleihel) [1724336] - [netdrv] mlx5: Report EQE data upon CQ completion (Alaa Hleihel) [1724336] - [netdrv] mlx5: Report a CQ error event only when a handler was set (Alaa Hleihel) [1724336] - [netdrv] mlx5: mlx5_core_create_cq() enhancements (Alaa Hleihel) [1724336] - [netdrv] mlx5: Expose the API to register for ANY event (Alaa Hleihel) [1724336] - [netdrv] mlx5: Use event mask based on device capabilities (Alaa Hleihel) [1724308 1724336] - [netdrv] mlx5: Fix mlx5_core_destroy_cq() error flow (Alaa Hleihel) [1724336] - [netdrv] mlx5: E-Switch, Handle UC address change in switchdev mode (Alaa Hleihel) [1724336] - [netdrv] mlx5: E-Switch, Consider host PF for inline mode and vlan pop (Alaa Hleihel) [1724327 1724336] - [netdrv] mlx5: E-Switch, Use iterator for vlan and min-inline setups (Alaa Hleihel) [1724327 1724336] - [netdrv] mlx5: E-Switch, Reg/unreg function changed event at correct stage (Alaa Hleihel) [1724327 1724336] - [netdrv] mlx5: E-Switch, Consolidate eswitch function number of VFs (Alaa Hleihel) [1724327 1724336] - [netdrv] mlx5: E-Switch, Refactor eswitch SR-IOV interface (Alaa Hleihel) [1724327 1724336] - [netdrv] mlx5: Handle host PF vport mac/guid for ECPF (Alaa Hleihel) [1724327 1724336] - [netdrv] mlx5: E-Switch, Use correct flags when configuring vlan (Alaa Hleihel) [1724336] - [netdrv] mlx5: Reduce dependency on enabled_vfs counter and num_vfs (Alaa Hleihel) [1724336] - [netdrv] mlx5: Don't handle VF func change if host PF is disabled (Alaa Hleihel) [1724327 1724336] - [netdrv] mlx5: Limit scope of mlx5_get_next_phys_dev() to PCI PF devices (Alaa Hleihel) [1724336] - [netdrv] mlx5: Move pci status reg access mutex to mlx5_pci_init (Alaa Hleihel) [1724336] - [kernel] mlx5: Rename mlx5_pci_dev_type to mlx5_coredev_type (Alaa Hleihel) [1724336] - [infiniband] rdma/mlx5: Cleanup rep when doing unload (Alaa Hleihel) [1724336] - [infiniband] {ib, net}/mlx5: E-Switch, Use index of rep for vport to IB port mapping (Alaa Hleihel) [1724327 1724336] - [netdrv] mlx5: E-Switch, Use vport index when init rep (Alaa Hleihel) [1724327 1724336] - [kernel] mlx5: Added MCQI and MCQS registers' description to ifc (Alaa Hleihel) [1724336] - [kernel] mlx5: Add hardware definitions for sub functions (Alaa Hleihel) [1724336] - [netdrv] mlx5e: Disallow tc redirect offload cases we don't support (Alaa Hleihel) [1724336] - [netdrv] mlx5e: Expose same physical switch_id for all representors (Alaa Hleihel) [1724336] - [netdrv] mlx5e: Don't refresh TIRs when updating representor SQs (Alaa Hleihel) [1724336] - [netdrv] mlx5e: reduce stack usage in mlx5_eswitch_termtbl_create (Alaa Hleihel) [1724336] - [netdrv] mlx5e: Set drvinfo in generic manner (Alaa Hleihel) [1724336] - [netdrv] mlx5e: Correct phys_port_name for PF port (Alaa Hleihel) [1724336] - [netdrv] mlx5e: Report netdevice MPLS features (Alaa Hleihel) [1724336] - [netdrv] mlx5e: Move to HW checksumming advertising (Alaa Hleihel) [1724336] - [netdrv] mlx5: MPFS, Allow adding the same MAC more than once (Alaa Hleihel) [1724336] - [netdrv] mlx5: MPFS, Cleanup add MAC flow (Alaa Hleihel) [1724336] - [netdrv] mlx5e: Move queue param structs to en/params.h (Alaa Hleihel) [1724336] - [netdrv] mlx5e: Encapsulate open/close queues into a function (Alaa Hleihel) [1724336] - [netdrv] mlx5e: Consider XSK in XDP MTU limit calculation (Alaa Hleihel) [1724336] - [netdrv] mlx5e: XDP_TX from UMEM support (Alaa Hleihel) [1724336] - [netdrv] mlx5e: Share the XDP SQ for XDP_TX between RQs (Alaa Hleihel) [1724336] - [netdrv] mlx5e: Refactor struct mlx5e_xdp_info (Alaa Hleihel) [1724336] - [netdrv] mlx5e: Allow ICO SQ to be used by multiple RQs (Alaa Hleihel) [1724336] - [netdrv] mlx5e: Calculate linear RX frag size considering XSK (Alaa Hleihel) [1724336] - [netdrv] mlx5e: Replace deprecated PCI_DMA_TODEVICE (Alaa Hleihel) [1724336] - [netdrv] mlx5e: Attach/detach XDP program safely (Alaa Hleihel) [1724336] - [netdrv] mlx5: E-Switch, Enable vport metadata matching if firmware supports it (Alaa Hleihel) [1724327 1724336] - [infiniband] rdma/mlx5: Add vport metadata matching for IB representors (Alaa Hleihel) [1724336] - [netdrv] mlx5: E-Switch, Add match on vport metadata for rule in slow path (Alaa Hleihel) [1724327 1724336] - [netdrv] mlx5: E-Switch, Pass metadata from FDB to eswitch manager (Alaa Hleihel) [1724327 1724336] - [netdrv] mlx5: E-Switch, Add query and modify esw vport context functions (Alaa Hleihel) [1724336] - [netdrv] mlx5: E-Switch, Add match on vport metadata for rule in fast path (Alaa Hleihel) [1724327 1724336] - [netdrv] mlx5e: Specifying known origin of packets matching the flow (Alaa Hleihel) [1724336] - [netdrv] mlx5: E-Switch, Tag packet with vport number in VF vports and uplink ingress ACLs (Alaa Hleihel) [1724327 1724336] - [netdrv] mlx5: Add flow context for flow tag (Alaa Hleihel) [1724336] - [netdrv] mlx5: Introduce a helper API to check VF vport (Alaa Hleihel) [1724327 1724336] - [netdrv] mlx5: Support allocating modify header context from ingress ACL (Alaa Hleihel) [1724336] - [netdrv] mlx5: Get vport ACL namespace by vport index (Alaa Hleihel) [1724336] - [kernel] mlx5: Introduce vport metadata matching bits and enum constants (Alaa Hleihel) [1724336] - [netdrv] mlx5: Convert mkey_table to XArray (Alaa Hleihel) [1724308 1724307 1724336] - [infiniband] rdma/mlx5: Refactor MR descriptors allocation (Alaa Hleihel) [1724336] - [infiniband] rdma/mlx5: Use PA mapping for PI handover (Alaa Hleihel) [1724336] - [infiniband] rdma/mlx5: Improve PI handover performance (Alaa Hleihel) [1724336] - [infiniband] rdma/mlx5: Remove unused IB_WR_REG_SIG_MR code (Alaa Hleihel) [1724336] - [infiniband] rdma/mlx5: Enable decap and packet reformat on FDB (Alaa Hleihel) [1724336] - [infiniband] rdma/mlx5: Consider eswitch encap mode (Alaa Hleihel) [1724336] - [netdrv] mlx5: add missing void argument to function mlx5_devlink_alloc (Alaa Hleihel) [1724336] - [kernel] mlx5: Expose eswitch encap mode (Alaa Hleihel) [1724336] - [netdrv] mlx5: Declare more strictly devlink encap mode (Alaa Hleihel) [1724327 1724336] - [netdrv] mlx5e: use indirect calls wrapper for the rx packet handler (Alaa Hleihel) [1724336] - [netdrv] mlx5e: use indirect calls wrapper for skb allocation (Alaa Hleihel) [1724336] - [netdrv] mlx5: Report devlink health on FW fatal issues (Alaa Hleihel) [1724336] - [netdrv] mlx5: Add support for FW fatal reporter dump (Alaa Hleihel) [1724336] - [netdrv] mlx5: Add fw fatal devlink_health_reporter (Alaa Hleihel) [1724336] - [netdrv] mlx5: Report devlink health on FW issues (Alaa Hleihel) [1724336] - [netdrv] mlx5: Add support for FW reporter dump (Alaa Hleihel) [1724336] - [netdrv] mlx5: Create FW devlink_health_reporter (Alaa Hleihel) [1724336] - [netdrv] mlx5: Issue SW reset on FW assert (Alaa Hleihel) [1724336] - [netdrv] mlx5: Control CR-space access by different PFs (Alaa Hleihel) [1724336] - [netdrv] mlx5: Handle SW reset of FW in error flow (Alaa Hleihel) [1724336] - [netdrv] mlx5: Add Crdump support (Alaa Hleihel) [1724336] - [netdrv] mlx5: Add Vendor Specific Capability access gateway (Alaa Hleihel) [1724336] - [netdrv] mlx5: Move all devlink related functions calls to devlink.c (Alaa Hleihel) [1724336] - [netdrv] mlx5: Add EQ enable/disable API (Alaa Hleihel) [1724308 1724336] - [netdrv] mlx5: Use a single IRQ for all async EQs (Alaa Hleihel) [1724308 1724336] - [netdrv] mlx5: Rename mlx5_irq_info to mlx5_irq (Alaa Hleihel) [1724336] - [netdrv] mlx5: Move all IRQ logic to pci_irq.c (Alaa Hleihel) [1724336] - [netdrv] mlx5: Generalize IRQ interface to work with irq_table (Alaa Hleihel) [1724336] - [netdrv] mlx5: Separate IRQ table creation from EQ table creation (Alaa Hleihel) [1724336] - [netdrv] mlx5: Move IRQ affinity set to IRQ allocation phase (Alaa Hleihel) [1724336] - [netdrv] mlx5: Move IRQ rmap creation to IRQ allocation phase (Alaa Hleihel) [1724336] - [netdrv] mlx5: Separate IRQ data from EQ table data (Alaa Hleihel) [1724336] - [netdrv] mlx5: Separate IRQ request/free from EQ life cycle (Alaa Hleihel) [1724308 1724336] - [netdrv] mlx5: Change interrupt handler to call chain notifier (Alaa Hleihel) [1724308 1724336] - [netdrv] mlx5: Introduce EQ polling budget (Alaa Hleihel) [1724336] - [netdrv] mlx5: Support querying max VFs from device (Alaa Hleihel) [1724336] - [netdrv] mlx5: E-Switch, Return raw output for query esw functions (Alaa Hleihel) [1724327 1724336] - [netdrv] mlx5: E-Switch, Handle representors creation in handler context (Alaa Hleihel) [1724327 1724336] - [netdrv] mlx5: Increase wait time for fw initialization (Alaa Hleihel) [1724336] - [netdrv] mlx5: Move firmware flash implementation to devlink (Alaa Hleihel) [1724336] - [netdrv] mlx5e: TX, Improve performance under GSO workload (Alaa Hleihel) [1724336] - [netdrv] mlx5e: Use termination table for VLAN push actions (Alaa Hleihel) [1722647 1724327 1724336] - [netdrv] mlx5e: Geneve, Add support for encap/decap flows offload (Alaa Hleihel) [1725582 1724336] - [netdrv] mlx5e: Rearrange tc tunnel code in a modular way (Alaa Hleihel) [1724336] - [netdrv] mlx5e: Geneve, Keep tunnel info as pointer to the original struct (Alaa Hleihel) [1724336] - [netdrv] mlx5: Geneve, Manage Geneve TLV options (Alaa Hleihel) [1724336] - [netdrv] mlx5e: Enable setting multiple match criteria for flow group (Alaa Hleihel) [1724327 1724336] - [netdrv] mlx5e: Allow matching only enc_key_id/enc_dst_port for decapsulation action (Alaa Hleihel) [1724336] - [netdrv] mlx5e: Generalize vport type in vport representor (Alaa Hleihel) [1724336] - [netdrv] {ib, net}/mlx5: Constify rep ops functions pointers (Alaa Hleihel) [1724327 1724336] - [netdrv] {ib, net}/mlx5: No need to typecast from void* to mlx5_ib_dev* (Alaa Hleihel) [1724336] - [netdrv] mlx5: E-Switch, Honor eswitch functions changed event cap (Alaa Hleihel) [1724327 1724336] - [netdrv] mlx5: E-Switch, Replace host_params event with functions_changed event (Alaa Hleihel) [1724327 1724336] - [kernel] mlx5: Introduce termination table bits (Alaa Hleihel) [1722647 1724336] - [kernel] mlx5: Add core dump register access HW bits (Alaa Hleihel) [1724336] - [netdrv] mlx5: potential error pointer dereference in error handling (Alaa Hleihel) [1724336] - [netdrv] mlx5e: Support tagged tunnel over bond (Alaa Hleihel) [1724335] - [netdrv] mlx5e: Avoid detaching non-existing netdev under switchdev mode (Alaa Hleihel) [1724335] - [netdrv] mlx5e: Fix source port matching in fdb peer flow rule (Alaa Hleihel) [1724335] - [netdrv] mlx5e: Replace reciprocal_scale in TX select queue function (Alaa Hleihel) [1724335] - [netdrv] mlx5: Avoid reloading already removed devices (Alaa Hleihel) [1724335] - [netdrv] mlx5: Update pci error handler entries and command translation (Alaa Hleihel) [1724335] - [infiniband] mlx5: avoid 64-bit division (Alaa Hleihel) [1724335] - [netdrv] mlx5e: Disable rxhash when CQE compress is enabled (Alaa Hleihel) [1724335] - [netdrv] mlx5e: restrict the real_dev of vlan device is the same as uplink device (Alaa Hleihel) [1724335] - [netdrv] mlx5: Allocate root ns memory using kzalloc to match kfree (Alaa Hleihel) [1724335] - [netdrv] mlx5: Avoid double free in fs init error unwinding path (Alaa Hleihel) [1724335] - [netdrv] mlx5: Avoid double free of root ns in the error flow path (Alaa Hleihel) [1724335] - [netdrv] mlx5: Fix error handling in mlx5_load() (Alaa Hleihel) [1724335] - [netdrv] mlx5e: Fix possible modify header actions memory leak (Alaa Hleihel) [1724335] - [netdrv] mlx5e: Fix no rewrite fields with the same match (Alaa Hleihel) [1724335] - [netdrv] mlx5e: Additional check for flow destination comparison (Alaa Hleihel) [1724335] - [netdrv] mlx5e: Add missing ethtool driver info for representors (Alaa Hleihel) [1766306 1724335] - [netdrv] mlx5e: Fix number of vports for ingress ACL configuration (Alaa Hleihel) [1724335] - [netdrv] mlx5e: Fix ethtool rxfh commands when CONFIG_MLX5_EN_RXNFC is disabled (Alaa Hleihel) [1724335] - [netdrv] mlx5: Fix peer pf disable hca command (Alaa Hleihel) [1724335] - [netdrv] mlx5: E-Switch, Correct type to u16 for vport_num and int for vport_index (Alaa Hleihel) [1724335] - [netdrv] mlx5: Add meaningful return codes to status_to_err function (Alaa Hleihel) [1724335] - [netdrv] mlx5: Imply MLXFW in mlx5_core (Alaa Hleihel) [1724335] - [netdrv] mlx5: Set completion EQs as shared resources (Alaa Hleihel) [1724335] - [infiniband] ib/mlx5: Verify DEVX general object type correctly (Alaa Hleihel) [1724335] - [infiniband] rdma/mlx5: Remove MAYEXEC flag (Alaa Hleihel) [1724335] - [infiniband] ib/mlx5: Device resource control for privileged DEVX user (Alaa Hleihel) [1724335] - [infiniband] ib/mlx5: Add steering SW ICM device memory type (Alaa Hleihel) [1724335] - [infiniband] ib/mlx5: Warn on allocated MEMIC buffers during cleanup (Alaa Hleihel) [1724335] - [infiniband] ib/mlx5: Support device memory type attribute (Alaa Hleihel) [1724335] - [infiniband] ib/mlx5: Add missing XRC options to QP optional params mask (Alaa Hleihel) [1724335] - [netdrv] mlx5: E-Switch, Use atomic rep state to serialize state change (Alaa Hleihel) [1724335] - [netdrv] mlx5: E-Switch, Fix the check of legal vport (Alaa Hleihel) [1724335] - [netdrv] mlx5: E-Switch, Use getter to access all vport array (Alaa Hleihel) [1724335] - [netdrv] mlx5: Use available mlx5_vport struct (Alaa Hleihel) [1724335] - [netdrv] mlx5: Reuse mlx5_esw_for_each_vf_vport macro in two files (Alaa Hleihel) [1724335] - [netdrv] mlx5: Remove unused mlx5_query_nic_vport_vlans (Alaa Hleihel) [1724335] - [netdrv] mlx5e: remove meaningless CFLAGS_tracepoint.o (Alaa Hleihel) [1724335] - [netdrv] mlx5e: Put the common XDP code into a function (Alaa Hleihel) [1724335] - [netdrv] mlx5e: ethtool, Add support for EEPROM high pages query (Alaa Hleihel) [1724322 1724335] - [netdrv] mlx5e: Return error when trying to insert existing flower filter (Alaa Hleihel) [1724335] - [netdrv] mlx5e: Replace TC VLAN pop with VLAN 0 rewrite in prio tag mode (Alaa Hleihel) [1724335] - [netdrv] mlx5e: ACLs for priority tag mode (Alaa Hleihel) [1724335] - [netdrv] mlx5e: Turn on HW tunnel offload in all TIRs (Alaa Hleihel) [1724335] - [netdrv] mlx5e: Take common TIR context settings into a function (Alaa Hleihel) [1724335] - [kernel] mlx5: Fix broken hca cap offset (Alaa Hleihel) [1725554 1724335] - [kernel] mlx5: Geneve, Add flow table capabilities for Geneve decap with TLV options (Alaa Hleihel) [1725554 1724335] - [kernel] mlx5: Geneve, Add basic Geneve encap/decap flow table capabilities (Alaa Hleihel) [1725554 1724335] - [netdrv] mlx5: Eswitch, enable RoCE loopback traffic (Alaa Hleihel) [1724335] - [netdrv] mlx5: Add new miss flow table action (Alaa Hleihel) [1724335] - [netdrv] mlx5: Add support in RDMA RX steering (Alaa Hleihel) [1724335] - [netdrv] mlx5: Pass flow steering objects to fs_cmd (Alaa Hleihel) [1724335] - [netdrv] mlx5: Enable general events on all interfaces (Alaa Hleihel) [1724335] - [infiniband] ib/mlx5: Restrict 'DELAY_DROP_TIMEOUT' subtype to Ethernet interfaces (Alaa Hleihel) [1724335] - [netdrv] mlx5: Separate and generalize dma device from pci device (Alaa Hleihel) [1724335] - [netdrv] mlx5: Get rid of storing copy of device name (Alaa Hleihel) [1724335] - [kernel] mlx5: e-switch: Introduce prio tag mode (Alaa Hleihel) [1724335] - [infiniband] ib/mlx5: Expose TIR ICM address to user space (Alaa Hleihel) [1724335] - [netdrv] mlx5: Introduce new TIR creation core API (Alaa Hleihel) [1724335] - [kernel] mlx5: Expose TIR ICM address in command outbox (Alaa Hleihel) [1724335] - [kernel] mlx5: Expose SW ICM related device memory capabilities (Alaa Hleihel) [1724335] - [netdrv] mlx5e: Use #define for the WQE wait timeout constant (Alaa Hleihel) [1724335] - [netdrv] mlx5e: Remove unused rx_page_reuse stat (Alaa Hleihel) [1724335] - [netdrv] mlx5e: Take HW interrupt trigger into a function (Alaa Hleihel) [1724335] - [netdrv] mlx5e: Remove unused parameter (Alaa Hleihel) [1724335] - [netdrv] mlx5e: Add an underflow warning comment (Alaa Hleihel) [1724335] - [netdrv] mlx5e: Move parameter calculation functions to en/params.c (Alaa Hleihel) [1724335] - [netdrv] mlx5e: Report mlx5e_xdp_set errors (Alaa Hleihel) [1724335] - [netdrv] mlx5e: Remove unused parameter (Alaa Hleihel) [1724335] - [netdrv] mlx5e: XDP, Inline small packets into the TX MPWQE in XDP xmit flow (Alaa Hleihel) [1724335] - [netdrv] mlx5e: XDP, Add TX MPWQE session counter (Alaa Hleihel) [1724335] - [netdrv] mlx5e: XDP, Enhance RQ indication for XDP redirect flush (Alaa Hleihel) [1724335] - [netdrv] mlx5e: XDP, Fix shifted flag index in RQ bitmap (Alaa Hleihel) [1724335] - [netdrv] mlx5e: RX, Support multiple outstanding UMR posts (Alaa Hleihel) [1724335] - [infiniband] rdma/mlx5: Don't create IB representors when in multiport RoCE mode (Alaa Hleihel) [1724335] - [infiniband] rdma/mlx5: Initialize roce port info before multiport master init (Alaa Hleihel) [1724335] - [infiniband] rdma/mlx5: Allow DEVX and raw creation flow on reps (Alaa Hleihel) [1724335] - [infiniband] rdma/mlx5: Add query e-switch vport context to devx white list (Alaa Hleihel) [1724335] - [infiniband] rdma/mlx5: Allow inserting a steering rule to the FDB (Alaa Hleihel) [1724335] - [infiniband] rdma/mlx5: Create flow table with max size supported (Alaa Hleihel) [1724335] - [infiniband] rdma/mlx5: Access the prio bypass inside the FDB flow table namespace (Alaa Hleihel) [1724335] - [infiniband] rdma/mlx5: Check for error return in flow_rule rather than err (Alaa Hleihel) [1724335] - [infiniband] rdma/mlx5: Remove VF representor profile (Alaa Hleihel) [1724335] - [infiniband] rdma/mlx5: Move to single device multiport ports in switchdev mode (Alaa Hleihel) [1724335] - [infiniband] rdma/mlx5: Move SMI caps logic (Alaa Hleihel) [1724335] - [infiniband] rdma/mlx5: Refactor netdev affinity code (Alaa Hleihel) [1724335] - [infiniband] rdma/mlx5: Move default representors SQ steering to rule to modify QP (Alaa Hleihel) [1724335] - [infiniband] rdma/mlx5: Move rep into port struct (Alaa Hleihel) [1724335] - [infiniband] rdma/mlx5: Use correct size for device resources (Alaa Hleihel) [1724335] - [infiniband] rdma/mlx5: Move ports allocation to outside of INIT stage (Alaa Hleihel) [1724335] - [infiniband] rdma/mlx5: Free IB device on remove (Alaa Hleihel) [1724335] - [infiniband] rdma/mlx5: Move netdev info into the port struct (Alaa Hleihel) [1724335] - [netdrv] mlx5: E-Switch, add a new prio to be used by the RDMA side (Alaa Hleihel) [1724335] - [kernel] mlx5: E-Switch, don't use hardcoded values for FDB prios (Alaa Hleihel) [1724335] - [infiniband] ib/mlx5: Remove references to uboject->context (Alaa Hleihel) [1724335] - [netdrv] mlx5e: Unify logic of MTU boundaries (Alaa Hleihel) [1724335] - [netdrv] mlx5e: Obsolete param field holding a constant value (Alaa Hleihel) [1724335] - [netdrv] mlx5: A write memory barrier is sufficient in EQ ci update (Alaa Hleihel) [1724335] - [netdrv] mlx5e: Do not rewrite fields with the same match (Alaa Hleihel) [1724335] - [netdrv] mlx5e: Offload TC e-switch rules with ingress VLAN device (Alaa Hleihel) [1724335] - [netdrv] mlx5e: Offload TC e-switch rules with egress VLAN device (Alaa Hleihel) [1724335] - [netdrv] mlx5e: Allow VLAN rewrite of prio field with the same match (Alaa Hleihel) [1724335] - [netdrv] mlx5e: Deny VLAN rewrite if there is no VLAN header match (Alaa Hleihel) [1724335] - [netdrv] mlx5e: Use helpers to get headers criteria and value pointers (Alaa Hleihel) [1724335] - [netdrv] mlx5e: Return -EOPNOTSUPP when attempting to offload an unsupported action (Alaa Hleihel) [1724335] - [netdrv] mlx5e: Deletes unnecessary setting of esw_attr->parse_attr (Alaa Hleihel) [1724335] - [netdrv] mlx5e: Remove 'parse_attr' argument in parse_tc_fdb_actions() (Alaa Hleihel) [1724335] - [netdrv] mlx5e: Make the log friendly when decapsulation offload not supported (Alaa Hleihel) [1724335] - [netdrv] mlx5: E-Switch, Fix double mutex initialization (Alaa Hleihel) [1724335] - [netdrv] mlx5: Handle event of power detection in the PCIE slot (Alaa Hleihel) [1724335] - [infiniband] rdma/mlx5: Cleanup WQE page fault handler (Alaa Hleihel) [1724335] - [kernel] mlx5: Expose MPEIN (Management PCIE INfo) register layout (Alaa Hleihel) [1724335] - [netdrv] mlx5: Add rate limit print macros (Alaa Hleihel) [1724335] - [infiniband] mlx5: Add explicit bar address field (Alaa Hleihel) [1724335] - [netdrv] mlx5: Replace dev_err/warn/info by mlx5_core_err/warn/info (Alaa Hleihel) [1724335] - [netdrv] mlx5: Use dev->priv.name instead of dev_name (Alaa Hleihel) [1724335] - [netdrv] mlx5: Make mlx5_core messages independent from mdev->pdev (Alaa Hleihel) [1724335] - [netdrv] mlx5: Break load_one into three stages (Alaa Hleihel) [1724335] - [netdrv] mlx5: Function setup/teardown procedures (Alaa Hleihel) [1724335] - [netdrv] mlx5: Move health and page alloc init to mdev_init (Alaa Hleihel) [1724335] - [netdrv] mlx5: Split mdev init and pci init (Alaa Hleihel) [1724335] - [netdrv] mlx5: Remove redundant init functions parameter (Alaa Hleihel) [1724335] - [kernel] mlx5: Remove spinlock support from mlx5_write64 (Alaa Hleihel) [1724335] - [kernel] mlx5: Remove unused MLX5_*_DOORBELL_LOCK macros (Alaa Hleihel) [1724335] - [infiniband] ib/mlx5: Declare devx_async_cmd_event_fops static (Alaa Hleihel) [1724335] - [infiniband] ib/mlx5: Compare only index part of a memory window rkey (Alaa Hleihel) [1724335] - [infiniband] mlx5: Convert mlx5_srq_table to XArray (Alaa Hleihel) [1724335] - [netdrv] mlx5e: Replace TC VLAN pop and push actions with VLAN modify (Alaa Hleihel) [1722646 1724335] - [netdrv] mlx5e: Support VLAN modify action (Alaa Hleihel) [1722646 1724335] - [netdrv] mlx5e: Add VLAN ID rewrite fields (Alaa Hleihel) [1722646 1724335] - [netdrv] mlx5e: TX, Add geneve tunnel stateless offload support (Alaa Hleihel) [1722661 1724335] - [netdrv] mlx5e: Take SW parser code to a separate function (Alaa Hleihel) [1722661 1724335] - [netdrv] mlx5e: Fix port buffer function documentation format (Alaa Hleihel) [1724335] - [netdrv] mlx5: Simplify mlx5_sriov_is_enabled() by using pci core API (Alaa Hleihel) [1724335] - [netdrv] mlx5: Rename total_vfs to total_vports (Alaa Hleihel) [1724335] - [netdrv] mlx5: Simplify sriov enable/disable flow (Alaa Hleihel) [1724335] - [infiniband] rdma/mlx5: Use rdma_user_map_io for mapping BAR pages (Alaa Hleihel) [1724333] - [netdrv] mlx5e: ethtool, Remove unsupported SFP EEPROM high pages query (Alaa Hleihel) [1724333] - [netdrv] mlx5e: Switch to Toeplitz RSS hash by default (Alaa Hleihel) [1724333] - [netdrv] mlx5e: Protect against non-uplink representor for encap (Alaa Hleihel) [1724333] - [netdrv] mlx5e: Rx, Fixup skb checksum for packets with tail padding (Alaa Hleihel) [1724333] - [netdrv] mlx5e: XDP, Avoid checksum complete when XDP prog is loaded (Alaa Hleihel) [1724333] - [netdrv] mlx5e: Use fail-safe channels reopen in tx reporter recover (Alaa Hleihel) [1724333] - [netdrv] mlx5e: Skip un-needed tx recover if interface state is down (Alaa Hleihel) [1724333] - [netdrv] mlx5e: Update xon formula (Alaa Hleihel) [1724333] - [netdrv] mlx5e: Update xoff formula (Alaa Hleihel) [1724333] - [netdrv] mlx5: E-Switch, fix syndrome (0x678139) when turn on vepa (Alaa Hleihel) [1722659 1724333] - [netdrv] mlx5: E-Switch, Protect from invalid memory access in offload fdb table (Alaa Hleihel) [1724333] - [netdrv] mlx5: E-Switch, Fix access to invalid memory when toggling esw modes (Alaa Hleihel) [1722659 1724333] - [netdrv] mlx5e: Add a lock on tir list (Alaa Hleihel) [1724333] - [netdrv] mlx5e: Fix error handling when refreshing TIRs (Alaa Hleihel) [1724333] - [netdrv] mlx5: Decrease default mr cache size (Alaa Hleihel) [1748518 1724333] - [infiniband] ib/mlx5: Reset access mask when looping inside page fault handler (Alaa Hleihel) [1724333] - [netdrv] mlx5: Avoid panic when setting vport rate (Alaa Hleihel) [1724333] - [netdrv] mlx5: Avoid panic when setting vport mac, getting vport config (Alaa Hleihel) [1724333] - [netdrv] mlx5e: IPoIB, Fix RX checksum statistics update (Alaa Hleihel) [1724333] - [netdrv] mlx5: Remove redundant lag function to get pf num (Alaa Hleihel) [1724333] - [netdrv] mlx5: ODP support for XRC transport is not enabled by default in FW (Alaa Hleihel) [1724333] - [netdrv] mlx5e: Update tx reporter status in case channels were successfully opened (Alaa Hleihel) [1722274 1724333] - [netdrv] mellanox: Switch to bitmap_zalloc() (Alaa Hleihel) [1724333] - [infiniband] ib/mlx5: Set correct write permissions for implicit ODP MR (Alaa Hleihel) [1724333] - [netdrv] mlx5e: Declare mlx5e_tx_reporter_recover_from_ctx as static (Alaa Hleihel) [1724333] - [netdrv] mlx5: Support ndo bridge_setlink and getlink (Alaa Hleihel) [1722659 1724333] - [netdrv] mlx5: E-Switch, Add support for VEPA in legacy mode (Alaa Hleihel) [1722659 1724333] - [netdrv] mlx5e: Fix mlx5e_tx_reporter_create return value (Alaa Hleihel) [1724333] - [netdrv] mlx5e: Fix return status of TX reporter timeout recover (Alaa Hleihel) [1724333] - [netdrv] mlx5e: Re-add support for TX timeout when TX reporter is not valid (Alaa Hleihel) [1724333] - [netdrv] mlx5e: Fix warn print in case of TX reporter creation failure (Alaa Hleihel) [1724333] - [netdrv] mlx5: E-Switch, Disable esw manager vport correctly (Alaa Hleihel) [1724333] - [netdrv] mlx5: E-Switch, Fix the warning on vport index out of range (Alaa Hleihel) [1724333] - [netdrv] mlx5: Delete unused FPGA QPN variable (Alaa Hleihel) [1724333] - [netdrv] mlx5e: Wrap the open and apply of channels in one fail-safe function (Alaa Hleihel) [1724333] - [netdrv] mlx5: Factor out HCA capabilities functions (Alaa Hleihel) [1724333] - [netdrv] mlx5: E-Switch, Allow transition to offloads mode for ECPF (Alaa Hleihel) [1724333] - [netdrv] mlx5: E-Switch, Load/unload VF reps according to event from host PF (Alaa Hleihel) [1724333] - [netdrv] mlx5: E-Switch, Consider ECPF vport depends on eswitch ownership (Alaa Hleihel) [1724333] - [netdrv] mlx5: E-Switch, Assign a different position for uplink rep and vport (Alaa Hleihel) [1724333] - [netdrv] mlx5: E-Switch, Centralize repersentor reg/unreg to eswitch driver (Alaa Hleihel) [1724333] - [netdrv] mlx5: E-Switch, Support load/unload reps of specific vport types (Alaa Hleihel) [1724333] - [netdrv] mlx5: E-Switch, Add state to eswitch vport representors (Alaa Hleihel) [1724333] - [netdrv] mlx5: E-Switch, Use getter and iterator to access vport/rep (Alaa Hleihel) [1724333] - [netdrv] mlx5: E-Switch, Split VF and special vports for offloads mode (Alaa Hleihel) [1724333] - [netdrv] mlx5: E-Switch, Refactor offloads flow steering init/cleanup (Alaa Hleihel) [1724333] - [netdrv] mlx5: E-Switch, Properly refer to host PF vport as other vport (Alaa Hleihel) [1724333] - [netdrv] mlx5: E-Switch, Properly refer to the esw manager vport (Alaa Hleihel) [1724333] - [netdrv] mlx5: Correctly set LAG mode for ECPF (Alaa Hleihel) [1724333] - [netdrv] mlx5: E-Switch, Avoid magic numbers when initializing offloads mode (Alaa Hleihel) [1724333] - [kernel] mlx5: Relocate vport macros to the vport header file (Alaa Hleihel) [1724333] - [netdrv] mlx5: E-Switch, Normalize the name of uplink vport number (Alaa Hleihel) [1724333] - [kernel] mlx5: Provide an alternative VF upper bound for ECPF (Alaa Hleihel) [1724333] - [kernel] mlx5: Add host params change event (Alaa Hleihel) [1724333] - [kernel] mlx5: Add query host params command (Alaa Hleihel) [1724333] - [netdrv] mlx5: Update enable HCA dependency (Alaa Hleihel) [1724333] - [netdrv] mlx5: Introduce Mellanox SmartNIC and modify page management logic (Alaa Hleihel) [1724333] - [infiniband] ib/mlx5: Use unified register/load function for uplink and VF vports (Alaa Hleihel) [1724333] - [netdrv] mlx5: Use consistent vport num argument type (Alaa Hleihel) [1724333] - [kernel] mlx5: Use void pointer as the type in address_of macro (Alaa Hleihel) [1724333] - [netdrv] mlx5: Align ODP capability function with netdev coding style (Alaa Hleihel) [1724333] - [netdrv] mlx5: use RCU lock in mlx5_eq_cq_get() (Alaa Hleihel) [1724333] - [infiniband] rdma/mlx5: Fix memory leak in case we fail to add an IB device (Alaa Hleihel) [1724333] - [infiniband] ib/mlx5: Simplify WQE count power of two check (Alaa Hleihel) [1724333] - [netdrv] mlx5e: Add tx timeout support for mlx5e tx reporter (Alaa Hleihel) [1722274 1724333] - [netdrv] mlx5e: Add tx reporter support (Alaa Hleihel) [1722274 1724333] - [infiniband] ib/mlx5: Advertise XRC ODP support (Alaa Hleihel) [1724333] - [infiniband] ib/mlx5: Advertise SRQ ODP support for supported transports (Alaa Hleihel) [1724333] - [infiniband] ib/mlx5: Add ODP SRQ support (Alaa Hleihel) [1724333] - [infiniband] ib/mlx5: Let read user wqe also from SRQ buffer (Alaa Hleihel) [1724333] - [infiniband] ib/mlx5: Add XRC initiator ODP support (Alaa Hleihel) [1724333] - [infiniband] ib/mlx5: Clean mlx5_ib_mr_responder_pfault_handler() signature (Alaa Hleihel) [1724333] - [infiniband] ib/mlx5: Remove useless check in ODP handler (Alaa Hleihel) [1724333] - [netdrv] mlx5: Set ODP SRQ support in firmware (Alaa Hleihel) [1724333] - [kernel] mlx5: Add XRC transport to ODP device capabilities layout (Alaa Hleihel) [1724333] - [infiniband] ib/mlx5: Implement DEVX hot unplug for async command FD (Alaa Hleihel) [1724333] - [infiniband] ib/mlx5: Implement the file ops of DEVX async command FD (Alaa Hleihel) [1724333] - [netdrv] mlx5e: Reuse fold sw stats in representors (Alaa Hleihel) [1724333] - [netdrv] mlx5e: Present the representors SW stats when state is not opened (Alaa Hleihel) [1724333] - [netdrv] mlx5e: Separate between ethtool and netdev software stats folding (Alaa Hleihel) [1724333] - [netdrv] mlx5: Add trace points for flow tables create/destroy (Alaa Hleihel) [1724333] - [netdrv] mlx5e: Expand XPS cpumask to cover all online cpus (Alaa Hleihel) [1724333] - [netdrv] mlx5e: Take CQ decompress fields into a separate structure (Alaa Hleihel) [1724333] - [netdrv] mlx5e: RX, Make sure packet header does not cross page boundary (Alaa Hleihel) [1724333] - [infiniband] mlx5: no need to check return value of debugfs_create functions (Alaa Hleihel) [1724333] - [netdrv] mlx5: Add pci AtomicOps request (Alaa Hleihel) [1724333] - [infiniband] ib/mlx5: Don't override existing ip_protocol (Alaa Hleihel) [1724333] - [infiniband] rdma/mlx5: Replace kzalloc with kcalloc (Alaa Hleihel) [1724333] - [documentation] netfilter: doc: Add nf_tables part in tproxy.txt (Phil Sutter) [1762977] - [net] netfilter: nft_socket: fix erroneous socket assignment (Phil Sutter) [1762977] - [net] netfilter: nft_socket: Break evaluation if no socket found (Phil Sutter) [1762977] - [net] netfilter: nft_tproxy: Fix missing-braces warning (Phil Sutter) [1762977] - [net] netfilter: nft_tproxy: Add missing config check (Phil Sutter) [1762977] - [net] netfilter: nf_tables: Add native tproxy support (Phil Sutter) [1762977] - [net] netfilter: nft_tproxy: Move nf_tproxy_assign_sock() to nf_tproxy.h (Phil Sutter) [1762977] - [net] sched: ensure opts_len <= IP_TUNNEL_OPTS_MAX in act_tunnel_key (Ivan Vecera) [1774706] - [net] ipmr: Fix skb headroom in ipmr_get_route(). (Guillaume Nault) [1773692] - [net] netns: fix GFP flags in rtnl_net_notifyid() (Guillaume Nault) [1763661] - [net] netns: fix NLM_F_ECHO mechanism for RTM_NEWNSID (Guillaume Nault) [1763661] - [netdrv] ptp: ptp_clock: Publish scaled_ppm_to_ppb (Ivan Vecera) [1772085] - [kernel] rh_features: move rh_features entry to sys/kernel (Hangbin Liu) [1660583] - [net] netfilter: nf_tables: Make nft_meta expression more robust (Phil Sutter) [1725169] - [tools] selftests/tls: add test for concurrent recv and send (Sabrina Dubroca) [1760375] - [net] tls: add a TX lock (Sabrina Dubroca) [1760375] - [net] tls: don't pay attention to sk_write_pending when pushing partial records (Sabrina Dubroca) [1760375] - [net] tls: fix sk_msg trim on fallback to copy mode (Sabrina Dubroca) [1760375] - [net] tls: align non temporal copy to cache lines (Sabrina Dubroca) [1760375] - [net] tls: remove the record tail optimization (Sabrina Dubroca) [1760375] - [net] tls: use RCU for the adder to the offload record list (Sabrina Dubroca) [1760375] - [net] tls: unref frags in order (Sabrina Dubroca) [1760375] - [net] tcp: ulp: fix possible crash in tcp_diag_get_aux_size() (Sabrina Dubroca) [1760375] - [net] tls: dedup the record cleanup (Sabrina Dubroca) [1760375] - [net] tls: clean up the number of #ifdefs for CONFIG_TLS_DEVICE (Sabrina Dubroca) [1760375] - [net] tls: narrow down the critical area of device_offload_lock (Sabrina Dubroca) [1760375] - [net] tls: don't jump to return (Sabrina Dubroca) [1760375] - [net] tls: export protocol version, cipher, tx_conf/rx_conf to socket diag (Sabrina Dubroca) [1760375] - [net] tcp: ulp: add functions to dump ulp-specific information (Sabrina Dubroca) [1760375] - [net] tls: use RCU protection on icsk->icsk_ulp_data (Sabrina Dubroca) [1760375] - [net] core/skmsg: Delete an unnecessary check before the function call "consume_skb" (Sabrina Dubroca) [1760375] - [net] tls, fix sk_write_space NULL write when tx disabled (Sabrina Dubroca) [1760375] - [net] tls: swap sk_write_space on close (Sabrina Dubroca) [1760375] - [net] tls: prevent skb_orphan() from leaking TLS plain text with offload (Sabrina Dubroca) [1760375] - [tools] selftests/tls: add a litmus test for the socket reuse through shutdown (Sabrina Dubroca) [1760375] - [net] tls: partially revert fix transition through disconnect with close (Sabrina Dubroca) [1760375] - [documentation] TLS: fix stat counters description (Sabrina Dubroca) [1760375] - [tools] selftests/tls: fix TLS tests with CONFIG_TLS=n (Sabrina Dubroca) [1760375] - [tools] selftests/tls: add shutdown tests (Sabrina Dubroca) [1760375] - [tools] selftests/tls: close the socket with open record (Sabrina Dubroca) [1760375] - [tools] selftests/tls: add a bidirectional test (Sabrina Dubroca) [1760375] - [tools] selftests/tls: test error codes around TLS ULP installation (Sabrina Dubroca) [1760375] - [tools] selftests/tls: add a test for ULP but no keys (Sabrina Dubroca) [1760375] - [net] bpf: sockmap/tls, close can race with map free (Sabrina Dubroca) [1760375] - [net] tls: fix transition through disconnect with close (Sabrina Dubroca) [1760375] - [net] tls: remove sock unlock/lock around strp_done() (Sabrina Dubroca) [1760375] - [net] tls: remove close callback sock unlock/lock around TX work flush (Sabrina Dubroca) [1760375] - [net] tls: don't call tls_sk_proto_close for hw record offload (Sabrina Dubroca) [1760375] - [net] tls: don't arm strparser immediately in tls_set_sw_offload() (Sabrina Dubroca) [1760375] - [net] tls: add missing prot info init (Sabrina Dubroca) [1760375] - [netdrv] mlx5: Return -EINVAL when WARN_ON_ONCE triggers in mlx5e_tls_resync(). (Sabrina Dubroca) [1760375] - [net] tls: don't clear TX resync flag on error (Sabrina Dubroca) [1760375] - [tools] selftests/tls: add test for poll() with data in TLS ULP (Sabrina Dubroca) [1760375] - [net] tls: add kernel-driven resync mechanism for TX (Sabrina Dubroca) [1760375] - [net] tls: generalize the resync callback (Sabrina Dubroca) [1760375] - [net] tls: add kernel-driven TLS RX resync (Sabrina Dubroca) [1760375] - [net] tls: rename handle_device_resync() (Sabrina Dubroca) [1760375] - [net] tls: pass record number as a byte array (Sabrina Dubroca) [1760375] - [net] tls: simplify seq calculation in handle_device_resync() (Sabrina Dubroca) [1760375] - [net] tls: export TLS per skb encryption (Sabrina Dubroca) [1760375] - [include] net/tls: simplify driver context retrieval (Sabrina Dubroca) [1760375] - [include] net/tls: split the TLS_DRIVER_STATE_SIZE and bump TX to 16 bytes (Sabrina Dubroca) [1760375] - [net] tls: don't pass version to tls_advance_record_sn() (Sabrina Dubroca) [1760375] - [include] net/tls: reorganize struct tls_context (Sabrina Dubroca) [1760375] - [net] tls: use version from prot (Sabrina Dubroca) [1760375] - [net] tls: don't re-check msg decrypted status in tls_device_decrypted() (Sabrina Dubroca) [1760375] - [net] tls: don't look for decrypted frames on non-offloaded sockets (Sabrina Dubroca) [1760375] - [net] tls: remove false positive warning (Sabrina Dubroca) [1760375] - [net] tls: check return values from skb_copy_bits() and skb_store_bits() (Sabrina Dubroca) [1760375] - [net] tls: fully initialize the msg wrapper skb (Sabrina Dubroca) [1760375] - [net] tls: replace the sleeping lock around RX resync with a bit lock (Sabrina Dubroca) [1760375] - [net] revert "net/tls: avoid NULL-deref on resync during device removal" (Sabrina Dubroca) [1760375] - [net] tls: avoid NULL-deref on resync during device removal (Sabrina Dubroca) [1760375] - [net] tls: Add support of AES128-CCM based ciphers (Sabrina Dubroca) [1760375] - [documentation] add TLS offload documentation (Sabrina Dubroca) [1760375] - [documentation] tls: RSTify the ktls documentation (Sabrina Dubroca) [1760375] - [net] xdp: increase kABI version (Jiri Benc) [1749817] - [tools] selftests: bpf: disable test_seg6_loop test (Jiri Benc) [1749817] - [tools] selftests: bpf: fix test_tc_tunnel hanging (Jiri Benc) [1749817] - [tools] selftests: bpf: xdping is not meant to be run standalone (Jiri Benc) [1749817] - [tools] libbpf: Use implicit XSKMAP lookup from AF_XDP XDP program (Jiri Benc) [1749817] - [lib] bpf, testing: Introduce 'gso_linear_no_head_frag' skb_segment test (Jiri Benc) [1749817] - [lib] bpf, testing: Refactor test_skb_segment() for testing skb_segment() on different skbs (Jiri Benc) [1749817] - [tools] selftests/bpf: test_progs: Don't leak server_fd in tcp_rtt (Jiri Benc) [1749817] - [tools] selftests/bpf: test_progs: fix client/server race in tcp_rtt (Jiri Benc) [1749817] - [net] flow_dissector: Fix potential use-after-free on BPF_PROG_DETACH (Jiri Benc) [1749817] - [tools] selftests/bpf: fix race in test_tcp_rtt test (Jiri Benc) [1749817] - [net] xdp: unpin xdp umem pages in error path (Jiri Benc) [1749817] - [net] sock: make cookie generation global instead of per netns (Jiri Benc) [1749817] - [net] bpfilter: add "WITH Linux-syscall-note" to SPDX tag of uapi headers (Jiri Benc) [1749817] - [net] bpf: sockmap, only create entry if ulp is not already enabled (Jiri Benc) [1749817] - [net] bpf: sockmap, synchronize_rcu before free'ing map (Jiri Benc) [1749817] - [net] bpf: sockmap, sock_map_delete needs to use xchg (Jiri Benc) [1749817] - [net] core: page_pool: add user refcnt and reintroduce page_pool_destroy (Jiri Benc) [1749817] - [net] bpf: avoid unused variable warning in tcp_bpf_rtt() (Jiri Benc) [1749817] - [net] xdp: fix potential deadlock on socket mutex (Jiri Benc) [1749817] - [net] bpfilter: print umh messages to /dev/kmsg (Jiri Benc) [1749817] - [net] xdp: fix possible cq entry leak (Jiri Benc) [1749817] - [net] xdp: fix race on generic receive path (Jiri Benc) [1749817] - [samples] bpf: fix tcp_bpf.readme detach command (Jiri Benc) [1749817] - [samples] bpf: add sample program that periodically dumps TCP stats (Jiri Benc) [1749817] - [tools] selftests/bpf: test BPF_SOCK_OPS_RTT_CB (Jiri Benc) [1749817] - [tools] bpf/tools: sync bpf.h (Jiri Benc) [1749817] - [net] bpf: add icsk_retransmits to bpf_tcp_sock (Jiri Benc) [1749817] - [net] bpf: add dsack_dups/delivered{, _ce} to bpf_tcp_sock (Jiri Benc) [1749817] - [net] bpf: split shared bpf_tcp_sock and bpf_sock_ops implementation (Jiri Benc) [1749817] - [net] bpf: add BPF_CGROUP_SOCK_OPS callback that is executed on every RTT (Jiri Benc) [1749817] - [net] init/kconfig: add CONFIG_CC_CAN_LINK (Jiri Benc) [1749817] - [net] page_pool: add helper function for retrieving dma direction (Jiri Benc) [1749817] - [net] xdp: fix hang while unregistering device bound to xdp socket (Jiri Benc) [1749817] - [net] xdp: hold device for umem regardless of zero-copy mode (Jiri Benc) [1749817] - [net] xsk: Change the default frame size to 4096 and allow controlling it (Jiri Benc) [1749817] - [tools] libbpf: Support getsockopt XDP_OPTIONS (Jiri Benc) [1749817] - [net] xsk: Add getsockopt XDP_OPTIONS (Jiri Benc) [1749817] - [net] xsk: Add API to check for available entries in FQ (Jiri Benc) [1749817] - [net] xsk: Properly terminate assignment in xskq_produce_flush_desc (Jiri Benc) [1749817] - [net] xdp: Make __mem_id_disconnect static (Jiri Benc) [1749817] - [net] xsk: sample kernel code is now in libbpf (Jiri Benc) [1749817] - [net] page_pool: fix compile warning when CONFIG_PAGE_POOL is disabled (Jiri Benc) [1749817] - [net] page_pool: make sure struct device is stable (Jiri Benc) [1749817] - [net] page_pool: add tracepoints for page_pool with details need by XDP (Jiri Benc) [1749817] - [net] xdp: add tracepoints for XDP mem (Jiri Benc) [1749817] - [net] xdp: force mem allocator removal and periodic warning (Jiri Benc) [1749817] - [net] xdp: tracking page_pool resources and safe removal (Jiri Benc) [1749817] - [netdrv] mlx5: more strict use of page_pool API (Jiri Benc) [1749817] - [net] page_pool: introduce page_pool_free and use in mlx5 (Jiri Benc) [1749817] - [net] veth: use xdp_release_frame for XDP_PASS (Jiri Benc) [1749817] - [net] xdp: page_pool related fix to cpumap (Jiri Benc) [1749817] - [net] xdp: fix leak of IDA cyclic id if rhashtable_insert_slow fails (Jiri Benc) [1749817] - [net] page_pool: add helper function to unmap dma addresses (Jiri Benc) [1749817] - [net] page_pool: add helper function to retrieve dma addresses (Jiri Benc) [1749817] - [net] page_pool: use DMA_ATTR_SKIP_CPU_SYNC for DMA mappings (Jiri Benc) [1749817] - [net] page_pool: don't use page->private to store dma_addr_t (Jiri Benc) [1749817] - [mm] add dma_addr_t to struct page (Jiri Benc) [1749817] - [tools] bpf: Sync asm-generic/socket.h to tools/ (Jiri Benc) [1749817] - [net] bpf: net: Add SO_DETACH_REUSEPORT_BPF (Jiri Benc) [1749817] - [net] veth: Support bulk XDP_TX (Jiri Benc) [1749817] - [net] flow_dissector: remove unused FLOW_DISSECTOR_F_STOP_AT_L3 flag (Jiri Benc) [1749817] - [tools] selftests/bpf: fix compilation error for flow_dissector.c (Jiri Benc) [1749817] - [net] bpf: Update BPF_CGROUP_RUN_PROG_INET_EGRESS calls (Jiri Benc) [1749817] - [net] signal/bpfilter: Fix bpfilter_kernl to use send_sig not force_sig (Jiri Benc) [1749817] - [net] arch: Use asm-generic/socket.h when possible (Jiri Benc) [1749817] - [net] flow_dissector: correct comments on enum flow_dissector_key_id (Jiri Benc) [1749817] - [net] tcp: add stat of data packet reordering events (Jiri Benc) [1749817] - [net] tcp: add dsack blocks received stats (Jiri Benc) [1749817] - [net] tcp: add data bytes retransmitted stats (Jiri Benc) [1749817] - [net] tcp: add data bytes sent stats (Jiri Benc) [1749817] - [net] tcp: add a helper to calculate size of opt_stats (Jiri Benc) [1749817] - [net] netfilter: Support iif matches in POSTROUTING (Phil Sutter) [1775961] - [tools] selftests: add basic netdevsim devlink flash testing (Petr Oros) [1770359] - [netdrv] netdevsim: implement fake flash updating with notifications (Petr Oros) [1770359] - [net] devlink: allow driver to update progress of flash update (Petr Oros) [1770359] - [net] devlink: Add extack to shared buffer operations (Petr Oros) [1770347] - [net] xfrm: policy: avoid warning splat when merging nodes (Sabrina Dubroca) [1758100] - [net] xfrm: policy: fix bydst hlist corruption on hash rebuild (Sabrina Dubroca) [1758100] - [net] xfrm: policy: fix infinite loop when merging src-nodes (Sabrina Dubroca) [1758100] - [tools] selftests: xfrm: alter htresh to trigger move of policies to hash table (Sabrina Dubroca) [1758100] - [net] xfrm: policy: fix reinsertion on node merge (Sabrina Dubroca) [1758100] - [net] xfrm: policy: delete inexact policies from inexact list on hash rebuild (Sabrina Dubroca) [1758100] - [net] xfrm: policy: use hlist rcu variants on inexact insert, part 2 (Sabrina Dubroca) [1758100] - [tools] selftests: xfrm: add block rules with adjacent/overlapping subnets (Sabrina Dubroca) [1758100] - [net] xfrm: policy: remove set but not used variable 'priority' (Sabrina Dubroca) [1758100] - [net] xfrm: policy: fix policy hash rebuild (Sabrina Dubroca) [1758100] - [net] xfrm: policy: fix netlink/pf_key policy lookups (Sabrina Dubroca) [1758100] - [net] xfrm: policy: add 2nd-level saddr trees for inexact policies (Sabrina Dubroca) [1758100] - [net] xfrm: policy: store inexact policies in a tree ordered by source address (Sabrina Dubroca) [1758100] - [net] xfrm: policy: check reinserted policies match their node (Sabrina Dubroca) [1758100] - [net] xfrm: policy: store inexact policies in a tree ordered by destination address (Sabrina Dubroca) [1758100] - [net] xfrm: policy: add inexact policy search tree infrastructure (Sabrina Dubroca) [1758100] - [net] xfrm: policy: consider if_id when hashing inexact policy (Sabrina Dubroca) [1758100] - [net] xfrm: policy: store inexact policies in an rhashtable (Sabrina Dubroca) [1758100] - [net] xfrm: policy: return NULL when inexact search needed (Sabrina Dubroca) [1758100] - [net] xfrm: policy: split list insertion into a helper (Sabrina Dubroca) [1758100] - [net] xfrm: security: iterate all, not inexact lists (Sabrina Dubroca) [1758100] - [tools] selftests: add xfrm policy test script (Sabrina Dubroca) [1758100] - [net] af_packet: fix the tx skb protocol in raw sockets with ETH_P_ALL (Ivan Vecera) [1765561] - [netdrv] mlx5e: Trust kernel regarding transport offset (Ivan Vecera) [1765561] - [netdrv] net/mlx5e: Remove the wrong assumption about transport offset (Ivan Vecera) [1765561] - [net] packet: Remove redundant skb->protocol set (Ivan Vecera) [1765561] - [net] packet: Ask driver for protocol if not provided by user (Ivan Vecera) [1765561] - [net] ethernet: Add parse_protocol header_ops support (Ivan Vecera) [1765561] - [include] net: Introduce parse_protocol header_ops callback (Ivan Vecera) [1765561] - [net] Don't set transport offset to invalid value (Ivan Vecera) [1765561] - [netdrv] Fix Kconfig indentation (Josef Oskera) [1764592] - [netdrv] be2net: make two arrays static const, makes object smaller (Josef Oskera) [1764592] - [netdrv] be2net: eliminate enable field from be_aic_obj (Josef Oskera) [1764592] - [netdrv] Use skb_frag_off accessors (Josef Oskera) [1764592] - [netdrv] Use skb accessors in network drivers (Josef Oskera) [1764592] - [netdrv] treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 338 (Josef Oskera) [1764592] - [netdrv] treewide: Add SPDX license identifier - Makefile/Kconfig (Josef Oskera) [1764592] - [netdrv] cross-tree: phase out dma_zalloc_coherent() (Josef Oskera) [1764592] - [documentation] networking: switchdev: Update port parent ID section (Ivan Vecera) [1757840] - [net] Get rid of SWITCHDEV_ATTR_ID_PORT_PARENT_ID (Ivan Vecera) [1757840] - [net] dsa: Implement ndo_get_port_parent_id() (Ivan Vecera) [1757840] - [drivers] staging: fsl-dpaa2: ethsw: Implement ndo_get_port_parent_id() (Ivan Vecera) [1757840] - [netdrv] mscc: ocelot: Implement ndo_get_port_parent_id() (Ivan Vecera) [1757840] - [netdrv] net/mlx5e: Implement ndo_get_port_parent_id() (Ivan Vecera) [1757840] - [netdrv] liquidio: Implement ndo_get_port_parent_id() (Ivan Vecera) [1757840] - [net] tipc: fix unlimited bundling of small messages (Jon Maloy) [1761969] - [net] tipc: clean up skb list lock handling on send path (Jon Maloy) [1761969] - [net] tipc: fix false detection of retransmit failures (Jon Maloy) [1761969] - [net] tipc: reduce risk of wakeup queue starvation (Jon Maloy) [1761969] - [net] tipc: fix changeover issues due to large packet (Jon Maloy) [1761969] - [net] tipc: optimize link synching mechanism (Jon Maloy) [1761969] - [net] tipc: Fix a typo (Jon Maloy) [1761969] - [net] tipc: use rcu dereference functions properly (Jon Maloy) [1761969] - [net] tipc: remove ub->ubsock checks (Jon Maloy) [1761969] - [net] tipc: embed jiffies in macro TIPC_BC_RETR_LIM (Jon Maloy) [1761969] - [net] tipc: add dst_cache support for udp media (Jon Maloy) [1761969] - [net] tipc: rename function msg_get_wrapped() to msg_inner_hdr() (Jon Maloy) [1761969] - [net] tipc: eliminate unnecessary skb expansion during retransmission (Jon Maloy) [1761969] - [net] tipc: simplify stale link failure criteria (Jon Maloy) [1761969] - [net] tipc: check msg->req data len in tipc_nl_compat_bearer_disable (Jon Maloy) [1761969] - [net] tipc: remove the unnecessary msg->req check from tipc_nl_compat_bearer_set (Jon Maloy) [1761969] - [net] tipc: fix issues with early FAILOVER_MSG from peer (Jon Maloy) [1761969] - [net] tipc: include retrans failure detection for unicast (Jon Maloy) [1761969] - [net] tipc: purge deferredq list for each grp member in tipc_group_delete (Jon Maloy) [1761969] - [net] devlink: remove redundant rtnl lock assert (Marcelo Leitner) [1774694]- [gpu] drm/i915/aml: Allow SPT PCH for all AML devices (Lyude Paul) [1761469 1731110] - [gpu] drm/i915/cml: Add second PCH ID for CMP (Lyude Paul) [1731110] - [drm] i915/cml: Add Missing PCI IDs (Lyude Paul) [1727949 1731110] - [gpu] DRM Backport 5.2 -> 5.3 (Lyude Paul) [1731110] - [xen] mm/pgtable: drop pgtable_t variable from pte_fn_t functions (Lyude Paul) [1731110] - [gpu] DRM Backport 5.1 -> 5.2 (Lyude Paul) [1731110] - [s390] bus_find_device: Unify the match callback with class_find_device (Lyude Paul) [1731110] - [kernel] i2c: algo-bit: include main i2c header (Lyude Paul) [1731110] - [extcon] axp288: Add a depends on ACPI to the Kconfig entry (Lyude Paul) [1731110] - [extcon] axp288: Convert to use acpi_dev_get_first_match_dev() (Lyude Paul) [1731110] - [acpi] gpio: merrifield: Fix build err without CONFIG_ACPI (Lyude Paul) [1731110] - [gpio] merrifield: Convert to use acpi_dev_get_first_match_dev() (Lyude Paul) [1731110] - [kernel] proc/sysctl: add shared variables for range check (Lyude Paul) [1731110] - [gpu] drm/i915: Split Pineview device info into desktop and mobile (Lyude Paul) [1731110] - [gpu] snd/hda, drm/i915: Track the display_power_status using a cookie (Lyude Paul) [1731110] - [video] hdmi: Dropped static functions from kernel doc (Lyude Paul) [1731110] - [video] hdmi: Add Unpack function for DRM infoframe (Lyude Paul) [1731110] - [video] drm: Enable HDR infoframe support (Lyude Paul) [1731110] - [kernel] drm: Add HDR source metadata property (Lyude Paul) [1731110] - [gpu] drm: Add colorspace info to AVI Infoframe (Lyude Paul) [1731110] - [gpu] drm: Add HDMI colorspace property (Lyude Paul) [1731110] - [kernel] video/hdmi: Add an enum for HDMI packet types (Lyude Paul) [1731110] - [video] hdmi: Constify infoframe passed to the pack functions (Lyude Paul) [1731110] - [video] hdmi: Constify infoframe passed to the log functions (Lyude Paul) [1731110] - [video] hdmi: Pass buffer size to infoframe unpack functions (Lyude Paul) [1731110] - [video] hdmi: Constify 'buffer' to the unpack functions (Lyude Paul) [1731110] - [video] media: hdmi.h: rename ADOBE_RGB to OPRGB and ADOBE_YCC to OPYCC (Lyude Paul) [1731110] - [media] replace ADOBERGB by OPRGB (Lyude Paul) [1731110] - [dma-buf] add show_fdinfo handler (Lyude Paul) [1731110] - [dma-buf] dma-fence: Signal all callbacks from dma_fence_release() (Lyude Paul) [1731110] - [dma-buf] udmabuf: actually unmap the scatterlist (Lyude Paul) [1731110] - [dma-buf] Make mmap callback actually optional (Lyude Paul) [1731110] - [dma-buf] Remove unused sync_dump() (Lyude Paul) [1731110] - [kernel] dma-buf: explicitely note that dma-fence-chains use 64bit seqno (Lyude Paul) [1731110] - [dma-buf] fix stack corruption in dma_fence_chain_release (Lyude Paul) [1731110] - [dma-buf] add new dma_fence_chain container v7 (Lyude Paul) [1731110] - [dma-buf] add some lockdep asserts to the reservation object implementation (Lyude Paul) [1731110] - [iommu] arm-smmu-v3: Fix build error without CONFIG_PCI_ATS (Jerry Snitselaar) [1729845] - [iommu] arm-smmu-v3: Avoid locking on invalidation path when not using ATS (Jerry Snitselaar) [1729845] - [iommu] arm-smmu-v3: Fix ATC invalidation ordering wrt main TLBs (Jerry Snitselaar) [1729845] - [iommu] arm-smmu-v3: Rework enabling/disabling of ATS for PCI masters (Jerry Snitselaar) [1729845] - [iommu] arm-smmu-v3: Don't issue CMD_SYNC for zero-length invalidations (Jerry Snitselaar) [1729845] - [iommu] arm-smmu-v3: Remove boolean bitfield for 'ats_enabled' flag (Jerry Snitselaar) [1729845] - [iommu] arm-smmu-v3: Document ordering guarantees of command insertion (Jerry Snitselaar) [1729845] - [iommu] arm-smmu-v3: Defer TLB invalidation until ->iotlb_sync() (Jerry Snitselaar) [1729845] - [iommu] arm-smmu-v3: Reduce contention during command-queue insertion (Jerry Snitselaar) [1729845] - [iommu] arm-smmu-v3: Operate directly on low-level queue where possible (Jerry Snitselaar) [1729845] - [iommu] arm-smmu-v3: Move low-level queue fields out of arm_smmu_queue (Jerry Snitselaar) [1729845] - [iommu] arm-smmu-v3: Drop unused 'q' argument from Q_OVF macro (Jerry Snitselaar) [1729845] - [iommu] arm-smmu-v3: Separate s/w and h/w views of prod and cons indexes (Jerry Snitselaar) [1729845] - [iommu] io-pgtable: Pass struct iommu_iotlb_gather to ->tlb_add_page() (Jerry Snitselaar) [1729845] - [iommu] io-pgtable: Pass struct iommu_iotlb_gather to ->unmap() (Jerry Snitselaar) [1729845] - [iommu] io-pgtable: Remove unused ->tlb_sync() callback (Jerry Snitselaar) [1729845] - [iommu] io-pgtable: Replace ->tlb_add_flush() with ->tlb_add_page() (Jerry Snitselaar) [1729845] - [iommu] io-pgtable-arm: Call ->tlb_flush_walk() and ->tlb_flush_leaf() (Jerry Snitselaar) [1729845] - [iommu] io-pgtable: Hook up ->tlb_flush_walk() and ->tlb_flush_leaf() in drivers (Jerry Snitselaar) [1729845] - [kernel] iommu/io-pgtable: Introduce tlb_flush_walk() and tlb_flush_leaf() (Jerry Snitselaar) [1729845] - [iommu] Pass struct iommu_iotlb_gather to ->unmap() and ->iotlb_sync() (Jerry Snitselaar) [1729845] - [kernel] iommu: Introduce iommu_iotlb_gather_add_page() (Jerry Snitselaar) [1729845] - [kernel] iommu: Introduce struct iommu_iotlb_gather for batching TLB flushes (Jerry Snitselaar) [1729845] - [iommu] io-pgtable: Rename iommu_gather_ops to iommu_flush_ops (Jerry Snitselaar) [1729845] - [iommu] io-pgtable-arm: Remove redundant call to io_pgtable_tlb_sync() (Jerry Snitselaar) [1729845] - [kernel] iommu: Remove empty iommu_tlb_range_add() callback from iommu_ops (Jerry Snitselaar) [1729845] - [iommu] arm-smmu-v3: Invalidate ATC when detaching a device (Jerry Snitselaar) [1729845] - [iommu] arm-smmu-v3: Add support for PCI ATS (Jerry Snitselaar) [1729845] - [iommu] Introduce iotlb_sync_map callback (Jerry Snitselaar) [1742234] - [kernel] dma-mapping: fix page attributes for dma_mmap_* (Jerry Snitselaar) [1754727] - [kernel] dma-mapping: check pfn validity in dma_common_{mmap, get_sgtable} (Jerry Snitselaar) [1754727] - [kernel] swiotlb: checking whether swiotlb buffer is full with io_tlb_used (Jerry Snitselaar) [1754727] - [kernel] dma-direct: fix zone selection after an unaddressable CMA allocation (Jerry Snitselaar) [1754727] - [kernel] dma-contiguous: page-align the size in dma_free_contiguous() (Jerry Snitselaar) [1754727] - [kernel] dma-contiguous: do not overwrite align in dma_alloc_contiguous() (Jerry Snitselaar) [1754727] - [kernel] dma-mapping: fix panic caused by passing empty cma command line argument (Jerry Snitselaar) [1754727] - [iommu] dma: Handle SG length overflow better (Jerry Snitselaar) [1742234] - [iommu] dma: Handle MSI mappings separately (Jerry Snitselaar) [1742234] - [iommu] dma: Apply dma_{alloc, free}_contiguous functions (Jerry Snitselaar) [1742234] - [iommu] dma: Don't depend on CONFIG_DMA_DIRECT_REMAP (Jerry Snitselaar) [1742234] - [iommu] dma: Refactor iommu_dma_mmap (Jerry Snitselaar) [1742234] - [iommu] dma: Refactor iommu_dma_get_sgtable (Jerry Snitselaar) [1742234] - [iommu] dma: Refactor iommu_dma_alloc, part 2 (Jerry Snitselaar) [1742234] - [iommu] dma: Cleanup variable naming in iommu_dma_alloc (Jerry Snitselaar) [1742234] - [iommu] dma: Split iommu_dma_free (Jerry Snitselaar) [1742234] - [iommu] dma: Merge the CMA and alloc_pages allocation paths (Jerry Snitselaar) [1742234] - [iommu] dma: Don't remap CMA unnecessarily (Jerry Snitselaar) [1742234] - [iommu] dma: Refactor iommu_dma_alloc (Jerry Snitselaar) [1742234] - [iommu] dma: Refactor iommu_dma_free (Jerry Snitselaar) [1742234] - [iommu] dma: Remove __iommu_dma_free (Jerry Snitselaar) [1742234] - [iommu] dma: Refactor the page array remapping allocator (Jerry Snitselaar) [1742234] - [iommu] dma: Factor out remapped pages lookup (Jerry Snitselaar) [1742234] - [iommu] dma: Squash __iommu_dma_{map, unmap}_page helpers (Jerry Snitselaar) [1742234] - [iommu] dma: Move domain lookup into __iommu_dma_{map, unmap} (Jerry Snitselaar) [1742234] - [iommu] dma: Move __iommu_dma_map (Jerry Snitselaar) [1742234] - [iommu] dma: Use for_each_sg in iommu_dma_alloc (Jerry Snitselaar) [1742234] - [clk] Make clk_bulk_get_all() return a valid "id" (Jerry Snitselaar) [1722978] - [iommu] io-pgtable-arm: Support all Mali configurations (Jerry Snitselaar) [1722978] - [iommu] io-pgtable-arm: Correct Mali attributes (Jerry Snitselaar) [1722978] - [iommu] vt-d: Fix panic after kexec -p for kdump (Jerry Snitselaar) [1742234] - [kernel] iommu/iova: Fix compilation error with !CONFIG_IOMMU_IOVA (Jerry Snitselaar) [1742234] - [iommu] amd: Check PM_LEVEL_SIZE() condition in locked section (Jerry Snitselaar) [1742234] - [iommu] amd: Fix incorrect PASID decoding from event log (Jerry Snitselaar) [1742234] - [iommu] amd: Lock code paths traversing protection_domain->dev_list (Jerry Snitselaar) [1742234] - [iommu] amd: Lock dev_data in attach/detach code paths (Jerry Snitselaar) [1742234] - [iommu] amd: Check for busy devices earlier in attach_device() (Jerry Snitselaar) [1742234] - [iommu] amd: Take domain->lock for complete attach/detach path (Jerry Snitselaar) [1742234] - [iommu] amd: Remove amd_iommu_devtable_lock (Jerry Snitselaar) [1742234] - [iommu] amd: Remove domain->updated (Jerry Snitselaar) [1742234] - [iommu] iova: Avoid false sharing on fq_timer_on (Jerry Snitselaar) [1742234] - [iommu] Don't use sme_active() in generic code (Jerry Snitselaar) [1742234] - [iommu] vt-d: Fix wrong analysis whether devices share the same bus (Jerry Snitselaar) [1742234] - [iommu] amd: Wait for completion of IOTLB flush in attach_device (Jerry Snitselaar) [1742234] - [iommu] amd: Unmap all L7 PTEs when downgrading page-sizes (Jerry Snitselaar) [1742234] - [iommu] amd: Introduce first_pte_l7() helper (Jerry Snitselaar) [1742234] - [iommu] amd: Fix downgrading default page-sizes in alloc_pte() (Jerry Snitselaar) [1742234] - [iommu] amd: Fix pages leak in free_pagetable() (Jerry Snitselaar) [1742234] - [documentation] documentation: Update Documentation for iommu.passthrough (Jerry Snitselaar) [1745844] - [iommu] Disable passthrough mode when SME is active (Jerry Snitselaar) [1745844] - [iommu] Set default domain type at runtime (Jerry Snitselaar) [1745844] - [iommu] Print default domain type on boot (Jerry Snitselaar) [1745844] - [x86] dma: Get rid of iommu_pass_through (Jerry Snitselaar) [1745844] - [iommu] vt-d: Request passthrough mode from IOMMU core (Jerry Snitselaar) [1745844] - [iommu] amd: Request passthrough mode from IOMMU core (Jerry Snitselaar) [1745844] - [iommu] Use Functions to set default domain type in iommu_set_def_domain_type() (Jerry Snitselaar) [1745844] - [iommu] Add helpers to set/get default domain type (Jerry Snitselaar) [1745844] - [iommu] Remember when default domain type was set on kernel command line (Jerry Snitselaar) [1745844] - [iommu] amd: Flush old domains in kdump kernel (Jerry Snitselaar) [1742234] - [iommu] amd: Fix race in increase_address_space() (Jerry Snitselaar) [1742234] - [iommu] vt-d: Remove global page flush support (Jerry Snitselaar) [1742234] - [iommu] vt-d: Fix possible use-after-free of private domain (Jerry Snitselaar) [1742234] - [iommu] vt-d: Detach domain before using a private one (Jerry Snitselaar) [1742234] - [iommu] vt-d: Correctly check format of page table in debugfs (Jerry Snitselaar) [1742234] - [iommu] vt-d: Detach domain when move device out of group (Jerry Snitselaar) [1742234] - [iommu] arm-smmu: Mark expected switch fall-through (Jerry Snitselaar) [1722978] - [iommu] vt-d: Print pasid table entries MSB to LSB in debugfs (Jerry Snitselaar) [1742234] - [iommu] iova: Remove stale cached32_node (Jerry Snitselaar) [1742234] - [iommu] vt-d: Check if domain->pgd was allocated (Jerry Snitselaar) [1742234] - [iommu] vt-d: Don't queue_iova() if there is no flush queue (Jerry Snitselaar) [1742234] - [iommu] amd: fix a crash in iova_magazine_free_pfns (Jerry Snitselaar) [1742234] - [iommu] Use right function to get group for device (Jerry Snitselaar) [1742234] - [iommu] arm-smmu-v3: Fix compilation when CONFIG_CMA=n (Jerry Snitselaar) [1722978] - [iommu] io-pgtable: Support non-coherent page tables (Jerry Snitselaar) [1722978] - [iommu] io-pgtable: Replace IO_PGTABLE_QUIRK_NO_DMA with specific flag (Jerry Snitselaar) [1722978] - [iommu] io-pgtable-arm-v7s: request DMA32 memory, and improve debugging (Jerry Snitselaar) [1722978] - [iommu] io-pgtable-arm: Add support to use system cache (Jerry Snitselaar) [1722978] - [iommu] arm-smmu-v3: Increase maximum size of queues (Jerry Snitselaar) [1722978] - [iommu] amd: Flush not present cache in iommu_map_page (Jerry Snitselaar) [1742234] - [iommu] amd: Only free resources once on init error (Jerry Snitselaar) [1742234] - [iommu] amd: Move gart fallback to amd_iommu_init (Jerry Snitselaar) [1742234] - [iommu] amd: Make iommu_disable safer (Jerry Snitselaar) [1742234] - [iommu] amd: Add missed 'tag' to error msg in iommu_print_event (Jerry Snitselaar) [1742234] - [iommu] amd: Remove redundant assignment to variable npages (Jerry Snitselaar) [1742234] - [iommu] vt-d: Cleanup unused variable (Jerry Snitselaar) [1742234] - [iommu] vt-d: Silence a variable set but not used (Jerry Snitselaar) [1742234] - [iommu] vt-d: Remove an unused variable "length" (Jerry Snitselaar) [1742234] - [iommu] vt-d: Cleanup after delegating DMA domain to generic iommu (Jerry Snitselaar) [1742234] - [iommu] vt-d: Fix suspicious RCU usage in probe_acpi_namespace_devices() (Jerry Snitselaar) [1742234] - [iommu] vt-d: Allow DMA domain attaching to rmrr locked device (Jerry Snitselaar) [1742234] - [iommu] vt-d: Don't enable iommu's which have been ignored (Jerry Snitselaar) [1742234] - [iommu] vt-d: Set domain type for a private domain (Jerry Snitselaar) [1742234] - [iommu] vt-d: Don't return error when device gets right domain (Jerry Snitselaar) [1742234] - [iommu] vt-d: Fix a variable set but not used (Jerry Snitselaar) [1742234] - [kernel] iommu/vt-d: Fix typo in SVM code comment (Jerry Snitselaar) [1742234] - [iommu] vt-d: Remove static identity map code (Jerry Snitselaar) [1742234] - [iommu] vt-d: Remove duplicated code for device hotplug (Jerry Snitselaar) [1742234] - [iommu] vt-d: Remove startup parameter from device_def_domain_type() (Jerry Snitselaar) [1742234] - [iommu] vt-d: Cleanup get_valid_domain_for_dev() (Jerry Snitselaar) [1742234] - [iommu] vt-d: Implement is_attach_deferred iommu ops entry (Jerry Snitselaar) [1742234] - [iommu] vt-d: Probe DMA-capable ACPI name space devices (Jerry Snitselaar) [1742234] - [iommu] vt-d: Handle 32bit device with identity default domain (Jerry Snitselaar) [1742234] - [iommu] vt-d: Identify default domains replaced with private (Jerry Snitselaar) [1742234] - [iommu] vt-d: Delegate the dma domain to upper layer (Jerry Snitselaar) [1742234] - [iommu] vt-d: Delegate the identity domain to upper layer (Jerry Snitselaar) [1742234] - [iommu] vt-d: Add device_def_domain_type() helper (Jerry Snitselaar) [1742234] - [iommu] vt-d: Enable DMA remapping after rmrr mapped (Jerry Snitselaar) [1742234] - [iommu] vt-d: Expose ISA direct mapping region via iommu_get_resv_regions (Jerry Snitselaar) [1742234] - [iommu] vt-d: Implement apply_resv_region iommu ops entry (Jerry Snitselaar) [1742234] - [iommu] Add API to request DMA domain for device (Jerry Snitselaar) [1742234] - [iommu] vt-d: Add debugfs support to show scalable mode DMAR table internals (Jerry Snitselaar) [1742234] - [iommu] vt-d: Introduce macros useful for dumping DMAR table (Jerry Snitselaar) [1742234] - [iommu] vt-d: Modify the format of intel DMAR tables dump (Jerry Snitselaar) [1742234] - [iommu] vt-d: Remove unnecessary rcu_read_locks (Jerry Snitselaar) [1742234] - [iommu] vt-d: Fix bind svm with multiple devices (Jerry Snitselaar) [1742234] - [iommu] arm-smmu: Avoid constant zero in TLBI writes (Jerry Snitselaar) [1722978] - [iommu] vt-d: Set the right field for Page Walk Snoop (Jerry Snitselaar) [1742234] - [iommu] Add missing new line for dma type (Jerry Snitselaar) [1742234] - [kernel] iommu/iova: Separate atomic variables to improve performance (Jerry Snitselaar) [1742234] - [iommu] Remove iommu_callback_data (Jerry Snitselaar) [1742234] - [iommu] amd: Remove amd_iommu_pd_list (Jerry Snitselaar) [1742234] - [iommu] amd: Use pci_prg_resp_pasid_required() (Jerry Snitselaar) [1742234] - [iommu] vt-d: Fix leak in intel_pasid_alloc_table on error path (Jerry Snitselaar) [1742234] - [iommu] vt-d: Make kernel parameter igfx_off work with vIOMMU (Jerry Snitselaar) [1742234] - [iommu] vt-d: Set intel_iommu_gfx_mapped correctly (Jerry Snitselaar) [1742234] - [iommu] vt-d: cleanup: no spaces at the start of a line (Jerry Snitselaar) [1742234] - [iommu] vt-d: Don't request page request irq under dmar_global_lock (Jerry Snitselaar) [1742234] - [iommu] vt-d: Use struct_size() helper (Jerry Snitselaar) [1742234] - [iommu] vt-d: Flush IOTLB for untrusted device in time (Jerry Snitselaar) [1742234] - [iommu] vt-d: Clean up iommu_no_mapping (Jerry Snitselaar) [1742234] - [vfio] type1: Add domain at(de)taching group helpers (Jerry Snitselaar) [1742234] - [iommu] vt-d: Return ID associated with an auxiliary domain (Jerry Snitselaar) [1742234] - [iommu] vt-d: Aux-domain specific domain attach/detach (Jerry Snitselaar) [1742234] - [iommu] vt-d: Move common code out of iommu_attch_device() (Jerry Snitselaar) [1742234] - [iommu] vt-d: Add per-device IOMMU feature ops entries (Jerry Snitselaar) [1742234] - [iommu] vt-d: Make intel_iommu_enable_pasid() more generic (Jerry Snitselaar) [1742234] - [iommu] vt-d: Switch to bitmap_zalloc() (Jerry Snitselaar) [1742234] - [iommu] Bind process address spaces to devices (Jerry Snitselaar) [1742234] - [iommu] Add APIs for multiple domains per device (Jerry Snitselaar) [1742234] - [iommu] arm-smmu: Log CBFRSYNRA register on context fault (Jerry Snitselaar) [1722978] - [iommu] arm-smmu-v3: Don't disable SMMU in kdump kernel (Jerry Snitselaar) [1722978] - [iommu] arm-smmu-v3: Disable tagged pointers (Jerry Snitselaar) [1722978] - [iommu] arm-smmu-v3: Link domains and devices (Jerry Snitselaar) [1722978] - [iommu] arm-smmu-v3: Add a master->domain pointer (Jerry Snitselaar) [1722978] - [iommu] arm-smmu-v3: Store SteamIDs in master (Jerry Snitselaar) [1722978] - [iommu] arm-smmu-v3: Rename arm_smmu_master_data to arm_smmu_master (Jerry Snitselaar) [1722978] - [iommu] io-pgtable: Add ARM Mali midgard MMU page table format (Jerry Snitselaar) [1722978] - [iommu] vt-d: Save the right domain ID used by hardware (Jerry Snitselaar) [1742234] - [iommu] iova: Fix tracking of recently failed iova address (Jerry Snitselaar) [1742234] - [iommu] Fix IOMMU debugfs fallout (Jerry Snitselaar) [1742234] - [kernel] iommu: Document iommu_ops.is_attach_deferred() (Jerry Snitselaar) [1742234] - [kernel] iommu: Document iommu_ops.iotlb_sync_map() (Jerry Snitselaar) [1742234] - [kernel] iommu: Fix flush_tlb_all typo (Jerry Snitselaar) [1742234] - [iommu] io-pgtable-arm-v7s: Only kmemleak_ignore L2 tables (Jerry Snitselaar) [1722978] - [iommu] Use dev_printk() when possible (Jerry Snitselaar) [1742234] - [kernel] iommu: Allow io-pgtable to be used outside of iommu/ (Jerry Snitselaar) [1722978] - [iommu] iova: Allow compiling the library without IOMMU support (Jerry Snitselaar) [1742234] - [iommu] amd: Use dev_printk() when possible (Jerry Snitselaar) [1742234] - [iommu] amd: Remove clear_flush_young notifier (Jerry Snitselaar) [1742234] - [iommu] amd: Print reason for iommu_map_page failure in map_sg (Jerry Snitselaar) [1742234] - [iommu] vt-d: Get domain ID before clear pasid entry (Jerry Snitselaar) [1742234] - [iommu] vt-d: Set context field after value initialized (Jerry Snitselaar) [1742234] - [kernel] pci/ats: Add inline to pci_prg_resp_pasid_required() (Jerry Snitselaar) [1724921 1724927] - [iommu] vt-d: Enable ATS only if the device uses page aligned address (Jerry Snitselaar) [1724922] - [pci] ats: Add pci_ats_page_aligned() interface (Jerry Snitselaar) [1724922] - [iommu] vt-d: Fix PRI/PASID dependency issue (Jerry Snitselaar) [1724921 1724927] - [pci] ats: Add pci_prg_resp_pasid_required() interface (Jerry Snitselaar) [1724921 1724927] - [iommu] vt-d: Allow interrupts from the entire bus for aliased devices (Jerry Snitselaar) [1742234] - [iommu] vt-d: Add helper to set an IRTE to verify only the bus number (Jerry Snitselaar) [1742234] - [iommu] vt-d: Remove misleading "domain 0" test from domain_exit() (Jerry Snitselaar) [1742234] - [iommu] vt-d: Remove unused dmar_remove_one_dev_info() argument (Jerry Snitselaar) [1742234] - [iommu] vt-d: Remove unnecessary local variable initializations (Jerry Snitselaar) [1742234] - [iommu] vt-d: Use dev_printk() when possible (Jerry Snitselaar) [1742234] - [iommu] vt-d: Remove change_pte notifier (Jerry Snitselaar) [1742234] - iommu/vt-d: Implement dma_[un]map_resource() (Jerry Snitselaar) [1742234] - [iommu] vt-d: Support page request in scalable mode (Jerry Snitselaar) [1742234] - [iommu] vt-d: Leave scalable mode default off (Jerry Snitselaar) [1742234] - [iommu] of: Fix probe-deferral (Jerry Snitselaar) [1742234] - [iommu] Check for iommu_ops == NULL in iommu_probe_device() (Jerry Snitselaar) [1742234] - [iommu] of: Don't call iommu_ops->add_device directly (Jerry Snitselaar) [1742234] - powerpc/iommu: Use device_iommu_mapped() (Jerry Snitselaar) [1742234] - [powerpc] iommu: Use device_iommu_mapped() (Jerry Snitselaar) [1742234] - [iommu] of: Use device_iommu_mapped() (Jerry Snitselaar) [1742234] - [iommu] of: Use helper functions to access dev->iommu_fwspec (Jerry Snitselaar) [1742234] - [iommu] dma: Use helper functions to access dev->iommu_fwspec (Jerry Snitselaar) [1742234] - [iommu] arm-smmu: Use helper functions to access dev->iommu_fwspec (Jerry Snitselaar) [1722978] - [acpi] iort: Fix rc_dma_get_range() (Jerry Snitselaar) [1722978] - [kernel] iommu: Change tlb_range_add to iotlb_range_add and tlb_sync to iotlb_sync (Jerry Snitselaar) [1742234] - [iommu] arm-smmu: Make arm-smmu-v3 explicitly non-modular (Jerry Snitselaar) [1722978] - [iommu] arm-smmu: Make arm-smmu explicitly non-modular (Jerry Snitselaar) [1722978] - [iommu] Audit and remove any unnecessary uses of module.h (Jerry Snitselaar) [1742234] - [iommu] irq_remapping: Remove unused header files (Jerry Snitselaar) [1742234] - [iommu] Do physical merging in iommu_map_sg() (Jerry Snitselaar) [1742234] - [iommu] amd: Remove leading 0s in error log messages (Jerry Snitselaar) [1742234] - [iommu] amd: Fix line-break in error log reporting (Jerry Snitselaar) [1742234] - [iommu] amd: Use pr_fmt() (Jerry Snitselaar) [1742234] - [iommu] amd: Allow to upgrade page-size (Jerry Snitselaar) [1742234] - [iommu] amd: Restart loop if cmpxchg64 succeeded in alloc_pte() (Jerry Snitselaar) [1742234] - [iommu] amd: Allow downgrading page-sizes in alloc_pte() (Jerry Snitselaar) [1742234] - [iommu] amd: Ignore page-mode 7 in free_sub_pt() (Jerry Snitselaar) [1742234] - [iommu] amd: Introduce free_sub_pt() function (Jerry Snitselaar) [1742234] - [iommu] amd: Collect page-table pages in freelist (Jerry Snitselaar) [1742234] - [iommu] vt-d: Remove deferred invalidation (Jerry Snitselaar) [1724930] - [iommu] vt-d: Shared virtual address in scalable mode (Jerry Snitselaar) [1742234] - [iommu] vt-d: Add first level page table interface (Jerry Snitselaar) [1742234] - [iommu] vt-d: Setup context and enable RID2PASID support (Jerry Snitselaar) [1742234] - [iommu] vt-d: Pass pasid table to context mapping (Jerry Snitselaar) [1742234] - [iommu] vt-d: Setup pasid entry for RID2PASID support (Jerry Snitselaar) [1742234] - [iommu] vt-d: Add second level page table interface (Jerry Snitselaar) [1742234] - [iommu] vt-d: Reserve a domain id for FL and PT modes (Jerry Snitselaar) [1742234] - [iommu] vt-d: Add 256-bit invalidation descriptor support (Jerry Snitselaar) [1742234] - [kernel] iommu/vt-d: Move page table helpers into header (Jerry Snitselaar) [1742234] - [iommu] vt-d: Manage scalalble mode PASID tables (Jerry Snitselaar) [1742234] - [iommu] vt-d: Enumerate the scalable mode capability (Jerry Snitselaar) [1742234] - [kernel] iommu/vtd: Cleanup dma_remapping.h header (Jerry Snitselaar) [1742234] - [documentation] dt-bindings: arm-smmu: Add binding doc for Qcom smmu-500 (Jerry Snitselaar) [1722978] - [iommu] arm-smmu: Add support for qcom, smmu-v2 variant (Jerry Snitselaar) [1722978] - [documentation] dt-bindings: arm-smmu: Add bindings for qcom, smmu-v2 (Jerry Snitselaar) [1722978] - [iommu] arm-smmu: Add the device_link between masters and smmu (Jerry Snitselaar) [1722978] - [iommu] arm-smmu: Invoke pm_runtime across the driver (Jerry Snitselaar) [1722978] - [iommu] arm-smmu: Add pm_runtime/sleep ops (Jerry Snitselaar) [1722978] - [clk] add managed version of clk_bulk_get_all (Jerry Snitselaar) [1722978] - [clk] add new APIs to operate on all available clocks (Jerry Snitselaar) [1722978] - [clk] bulk: add of_clk_bulk_get() (Jerry Snitselaar) [1722978] - [iommu] arm-smmu-v3: Use explicit mb() when moving cons pointer (Jerry Snitselaar) [1722978] - [iommu] arm-smmu-v3: Avoid memory corruption from Hisilicon MSI payloads (Jerry Snitselaar) [1722978] - [iommu] arm-smmu-v3: Fix big-endian CMD_SYNC writes (Jerry Snitselaar) [1722978] - [iommu] revert "iommu/io-pgtable-arm: Check for v7s-incapable systems" (Jerry Snitselaar) [1722978] - [iommu] Fix a typo (Jerry Snitselaar) [1742234] - [iommu] Tidy up window attributes (Jerry Snitselaar) [1742234] - [iommu] amd: Add default branch in amd_iommu_capable() (Jerry Snitselaar) [1742234] - [iommu] amd: Move iommu_init_pci() to .init section (Jerry Snitselaar) [1742234] - [iommu] vt-d: Add debugfs support to show context internals (Jerry Snitselaar) [1742234] - [iommu] vt-d: Add debugfs support for Interrupt remapping (Jerry Snitselaar) [1742234] - [iommu] vt-d: Add debugfs support to show register contents (Jerry Snitselaar) [1742234] - [iommu] vt-d: Enable base Intel IOMMU debugfs support (Jerry Snitselaar) [1742234] - [kernel] iommu/vt-d: Update register definitions to VT-d 3.0 specification (Jerry Snitselaar) [1742234] - [iommu] vt-d: Relocate struct/function declarations to its header files (Jerry Snitselaar) [1742234] - [of] iommu/of: make of_pci_map_rid() available for other devices too (Jerry Snitselaar) [1742234] - [iommu] arm-smmu-v3: Remove unnecessary wrapper function (Jerry Snitselaar) [1722978] - [iommu] arm-smmu-v3: Add SPDX header (Jerry Snitselaar) [1722978] - [iommu] arm-smmu-v3: Fix a couple of minor comment typos (Jerry Snitselaar) [1722978] - [kernel] iommu/shmobile: Remove unused linux/platform_data/sh_ipmmu.h header (Jerry Snitselaar) [1742234] - [iommu] vt-d: Handle memory shortage on pasid table allocation (Jerry Snitselaar) [1742234] - [iommu] Add sysfs attribyte for domain type (Jerry Snitselaar) [1742234] - [iommu] amd: Add basic debugfs infrastructure for AMD IOMMU (Jerry Snitselaar) [1742234] - [iommu] Enable debugfs exposure of IOMMU driver internals (Jerry Snitselaar) [1742234] - [iommu] vt-d: Remove the obsolete per iommu pasid tables (Jerry Snitselaar) [1742234] - [iommu] vt-d: Apply per pci device pasid table in SVA (Jerry Snitselaar) [1742234] - [iommu] vt-d: Allocate and free pasid table (Jerry Snitselaar) [1742234] - [iommu] vt-d: Per PCI device pasid table interfaces (Jerry Snitselaar) [1742234] - [iommu] vt-d: Add for_each_device_domain() helper (Jerry Snitselaar) [1742234] - [iommu] vt-d: Move device_domain_info to header (Jerry Snitselaar) [1742234] - [iommu] vt-d: Apply global PASID in SVA (Jerry Snitselaar) [1742234] - [iommu] vt-d: Avoid using idr_for_each_entry() (Jerry Snitselaar) [1742234] - [iommu] vt-d: Global PASID name space (Jerry Snitselaar) [1742234] - [iommu] vt-d: Fix dev iotlb pfsid use (Jerry Snitselaar) [1742234] - [kernel] iommu/vt-d: Add definitions for PFSID (Jerry Snitselaar) [1742234] - [iommu] amd: Argument page_size could be uninitialized (Jerry Snitselaar) [1742234] - [iommu] arm-smmu-v3: Abort all transactions if SMMU is enabled in kdump kernel (Jerry Snitselaar) [1722978] - [iommu] arm-smmu-v3: Prevent any devices access to memory without registration (Jerry Snitselaar) [1722978] - [iommu] [] iommu/arm-smmu-v3: sync the OVACKFLG to PRIQ consumer register (Jerry Snitselaar) [1722978] - [iommu] io-pgtable-arm-v7s: Abort allocation when table address overflows the PTE (Jerry Snitselaar) [1722978] - [iommu] io-pgtable-arm: Fix pgtable allocation in selftest (Jerry Snitselaar) [1722978] - [netdrv] iavf: initialize ITRN registers with correct values (Stefan Assmann) [1721697] - [netdrv] iavf: fix MAC address setting for VFs when filter is rejected (Stefan Assmann) [1721697] - [netdrv] iavf: allow permanent MAC address to change (Stefan Assmann) [1721697] - [netdrv] iavf: remove unused debug function iavf_debug_d (Stefan Assmann) [1721697] - [netdrv] Use skb_frag_off accessors (Stefan Assmann) [1721697] - [netdrv] Use skb accessors in network drivers (Stefan Assmann) [1721697] - [netdrv] iavf: fix dereference of null rx_buffer pointer (Stefan Assmann) [1721697] - [netdrv] iavf: Fix up debug print macro (Stefan Assmann) [1721697] - [netdrv] iavf: use struct_size() helper (Stefan Assmann) [1721697] - [netdrv] iavf: allow null RX descriptors (Stefan Assmann) [1721697] - [netdrv] iavf: add call to iavf_[add|del]_cloud_filter (Stefan Assmann) [1721697] - [netdrv] iavf: Refactor init state machine (Stefan Assmann) [1721697] - [netdrv] iavf: Refactor the watchdog state machine (Stefan Assmann) [1721697] - [netdrv] iavf: Remove timer for work triggering, use delaying work instead (Stefan Assmann) [1721697] - [netdrv] iavf: Move commands processing to the separate function (Stefan Assmann) [1721697] - [netdrv] iavf: Fix the math for valid length for ADq enable (Stefan Assmann) [1721697] - [netdrv] iavf: Change GFP_KERNEL to GFP_ATOMIC in kzalloc() (Stefan Assmann) [1721697] - [netdrv] iavf: wait longer for close to complete (Stefan Assmann) [1721697] - [netdrv] iavf: use signed variable (Stefan Assmann) [1721697] - [netdrv] iavf: Create VLAN tag elements starting from the first element (Stefan Assmann) [1721697] - [netdrv] iavf: update comments and file checks to match iavf (Stefan Assmann) [1721697] - [netdrv] iavf: rename i40e_device to iavf_device (Stefan Assmann) [1721697] - [netdrv] iavf: change remaining i40e defines to be iavf (Stefan Assmann) [1721697] - [netdrv] iavf: rename iavf_client.h defines to match driver name (Stefan Assmann) [1721697] - [netdrv] iavf: rename iavf_status structure flags (Stefan Assmann) [1721697] - [netdrv] iavf: replace i40e variables with iavf (Stefan Assmann) [1721697] - [netdrv] iavf: rename i40e functions to be iavf (Stefan Assmann) [1721697] - [netdrv] iavf: change iavf_status_code to iavf_status (Stefan Assmann) [1721697] - [netdrv] iavf: Rename i40e_adminq* files to iavf_adminq* (Stefan Assmann) [1721697] - [netdrv] iavf: iavf_client: use struct_size() helper (Stefan Assmann) [1721697] - [netdrv] iavf: use struct_size() in kzalloc() (Stefan Assmann) [1721697] - [netdrv] iavf: Limiting RSS queues to CPUs (Stefan Assmann) [1721697] - [netdrv] iavf: Use printf instead of gnu_printf for iavf_debug_d (Stefan Assmann) [1721697] - [netdrv] igb/igc: use ktime accessors for skb->tstamp (Stefan Assmann) [1721695] - [netdrv] i40e: Fix for ethtool -m issue on X722 NIC (Stefan Assmann) [1721695] - [netdrv] intel: Demote MTU change prints to debug (Stefan Assmann) [1721695] - [netdrv] i40e: implement VF stats NDO (Stefan Assmann) [1721695] - [netdrv] i40e: enable X710 support (Stefan Assmann) [1721695] - [netdrv] i40e: Add UDP segmentation offload support (Stefan Assmann) [1721695] - [netdrv] i40e: prevent memory leak in i40e_setup_macvlans (Stefan Assmann) [1721695] - [netdrv] i40e: Refactoring VF MAC filters counting to make more reliable (Stefan Assmann) [1721695] - [netdrv] i40e: Fix LED blinking flow for X710T*L devices (Stefan Assmann) [1721695] - [netdrv] i40e: allow ethtool to report SW and FW versions in recovery mode (Stefan Assmann) [1721695] - [netdrv] i40e: initialize ITRN registers with correct values (Stefan Assmann) [1721695] - [netdrv] i40e: Extend PHY access with page change flag (Stefan Assmann) [1721695] - [netdrv] i40e: Extract detection of HW flags into a function (Stefan Assmann) [1721695] - [netdrv] i40e: Wrong 'Advertised FEC modes' after set FEC to AUTO (Stefan Assmann) [1721695] - [netdrv] i40e: Fix for persistent lldp support (Stefan Assmann) [1721695] - [netdrv] i40e: clear __I40E_VIRTCHNL_OP_PENDING on invalid min Tx rate (Stefan Assmann) [1721695] - [netdrv] i40e: use BIT macro to specify the cloud filter field flags (Stefan Assmann) [1721695] - [netdrv] i40e: Fix message for other card without FEC (Stefan Assmann) [1721695] - [netdrv] i40e: fix missed "Negotiated" string in i40e_print_link_message() (Stefan Assmann) [1721695] - [netdrv] i40e: mark additional missing bits as reserved (Stefan Assmann) [1721695] - [netdrv] i40e: remove I40E_AQC_ADD_CLOUD_FILTER_OIP (Stefan Assmann) [1721695] - [netdrv] i40e: use ktime_get_real_ts64 instead of ktime_to_timespec64 (Stefan Assmann) [1721695] - [netdrv] i40e: check __I40E_VF_DISABLE bit in i40e_sync_filters_subtask (Stefan Assmann) [1721695] - [netdrv] i40e: Remove EMPR traces from debugfs facility (Stefan Assmann) [1721695] - [netdrv] i40e: Implement debug macro hw_dbg using dev_dbg (Stefan Assmann) [1721695] - [netdrv] i40e: fix hw_dbg usage in i40e_hmc_get_object_va (Stefan Assmann) [1721695] - [netdrv] i40e: simplify Rx buffer recycle (Stefan Assmann) [1721695] - [netdrv] i40e: fix retrying in i40e_aq_get_phy_capabilities (Stefan Assmann) [1721695] - [netdrv] i40e: Persistent LLDP support (Stefan Assmann) [1721695] - [netdrv] i40e: allow reset in recovery mode (Stefan Assmann) [1721695] - [netdrv] i40e: Remove function i40e_update_dcb_config() (Stefan Assmann) [1721695] - [netdrv] i40e: Fix crash caused by stress setting of VF MAC addresses (Stefan Assmann) [1721695] - [netdrv] i40e: reset veb.tc_stats when resetting veb.stats (Stefan Assmann) [1721695] - [netdrv] i40e: Update FW API version to 1.9 (Stefan Assmann) [1721695] - [netdrv] i40e: check_recovery_mode had wrong if statement (Stefan Assmann) [1721695] - [netdrv] i40e: Add drop mode parameter to set mac config (Stefan Assmann) [1721695] - [netdrv] i40e: fix shifts of signed values (Stefan Assmann) [1721695] - [netdrv] i40e: add check on i40e_configure_tx_ring() return value (Stefan Assmann) [1721695] - [netdrv] i40e: Check if transceiver implements DDM before access (Stefan Assmann) [1721695] - [netdrv] i40e: reduce stack usage in i40e_set_fc (Stefan Assmann) [1721695] - [netdrv] i40e: no need to check return value of debugfs_create functions (Stefan Assmann) [1721695] - [netdrv] i40e: Remove unicast log when VF is leaving multicast mode (Stefan Assmann) [1721695] - [netdrv] i40e: verify string count matches even on early return (Stefan Assmann) [1721695] - [netdrv] i40e: Log info when PF is entering and leaving Allmulti mode (Stefan Assmann) [1721695] - [netdrv] i40e: Update visual effect for advertised FEC mode (Stefan Assmann) [1721695] - [netdrv] i40e: fix code comments (Stefan Assmann) [1721695] - [netdrv] i40e: don't report link up for a VF who hasn't enabled queues (Stefan Assmann) [1721695] - [netdrv] i40e: Log disable-fw-lldp flag change by ethtool (Stefan Assmann) [1721695] - [netdrv] i40e: fix incorrect ethtool statistics veb and veb.tc_ (Stefan Assmann) [1721695] - [netdrv] Use skb_frag_off accessors (Stefan Assmann) [1721695] - [netdrv] i40e: Use dev_get_drvdata (Stefan Assmann) [1721695] - [netdrv] Use skb accessors in network drivers (Stefan Assmann) [1721695] - [netdrv] i40e: Add macvlan support on i40e (Stefan Assmann) [1721695] - [netdrv] i40e/i40e_virtchnl_pf: Use struct_size() in kzalloc() (Stefan Assmann) [1721695] - [netdrv] i40e: update copyright string (Stefan Assmann) [1721695] - [netdrv] i40e: Fix descriptor count manipulation (Stefan Assmann) [1721695] - [netdrv] i40e: missing priorities for any QoS traffic (Stefan Assmann) [1721695] - [netdrv] i40e: Add log entry while creating or deleting TC0 (Stefan Assmann) [1721695] - [netdrv] i40e: fix incorrect function documentation comment (Stefan Assmann) [1721695] - [netdrv] i40e: Fix for missing "link modes" info in ethtool (Stefan Assmann) [1721695] - [netdrv] i40e: fix 'Unknown bps' in dmesg for 2.5Gb/5Gb speeds (Stefan Assmann) [1721695] - [netdrv] i40e: mark expected switch fall-through (Stefan Assmann) [1721695] - [netdrv] i40e: Missing response checks in driver when starting/stopping FW LLDP (Stefan Assmann) [1721695] - [netdrv] i40e: remove duplicate stat calculation for tx_errors (Stefan Assmann) [1721695] - [netdrv] i40e: Check if the BAR size is large enough before writing to registers (Stefan Assmann) [1721695] - [netdrv] i40e: Missing response checks in driver when starting/stopping FW LLDP (Stefan Assmann) [1721695] - [netdrv] i40e: add input validation for virtchnl handlers (Stefan Assmann) [1721695] - [netdrv] i40e: Improve AQ log granularity (Stefan Assmann) [1721695] - [netdrv] i40e: Add bounds check for ch[] array (Stefan Assmann) [1721695] - [netdrv] i40e: Use signed variable (Stefan Assmann) [1721695] - [netdrv] i40e: add constraints for accessing veb array (Stefan Assmann) [1721695] - [netdrv] i40e: let untrusted VF to create up to 16 VLANs (Stefan Assmann) [1721695] - [netdrv] i40e: add functions stubs to support EEE (Stefan Assmann) [1721695] - [netdrv] i40e: Use LLDP ethertype define ETH_P_LLDP (Stefan Assmann) [1721695] - [netdrv] r8169: disable TSO on a single version of RTL8168c to fix performance (Corinna Vinschen) [1730024] - [netdrv] r8169: fix sporadic transmit timeout issue (Corinna Vinschen) [1730024] - [netdrv] r8169: inline rtl8169_free_rx_databuff (Corinna Vinschen) [1730024] - [netdrv] r8169: fix performance issue on RTL8168evl (Corinna Vinschen) [1730024] - [netdrv] r8169: allocate rx buffers using alloc_pages_node (Corinna Vinschen) [1730024] - [netdrv] r8169: sync PCIe PHY init with vendor driver 8.047.01 (Corinna Vinschen) [1730024] - [netdrv] r8169: add helper r8168_mac_ocp_modify (Corinna Vinschen) [1730024] - [netdrv] r8169: remove access to legacy register MultiIntr (Corinna Vinschen) [1730024] - [netdrv] r8169: make use of xmit_more (Corinna Vinschen) [1730024] - [netdrv] r8169: don't use MSI before RTL8168d (Corinna Vinschen) [1730024] - [netdrv] revert ("r8169: remove 1000/Half from supported modes") (Corinna Vinschen) [1730024] - [netdrv] r8169: enable HW csum and TSO (Corinna Vinschen) [1730024] - [netdrv] r8169: remove r8169_csum_workaround (Corinna Vinschen) [1730024] - [netdrv] r8169: implement callback ndo_features_check (Corinna Vinschen) [1730024] - [netdrv] r8169: set GSO size and segment limits (Corinna Vinschen) [1730024] - [netdrv] r8169: align setting PME with vendor driver (Corinna Vinschen) [1730024] - [netdrv] r8169: improve rtl_set_rx_mode (Corinna Vinschen) [1730024] - [netdrv] r8169: fix a typo in a comment (Corinna Vinschen) [1730024] - [netdrv] r8169: improve rtl_rx (Corinna Vinschen) [1730024] - [netdrv] r8169: fix RTL8168g PHY init (Corinna Vinschen) [1730024] - [netdrv] r8169: fix issue with confused RX unit after PHY power-down on RTL8411b (Corinna Vinschen) [1730024] - [netdrv] r8169: sync few chip names with vendor driver (Corinna Vinschen) [1730024] - [netdrv] r8169: add random MAC address fallback (Corinna Vinschen) [1730024] - [netdrv] revert "r8169: improve handling VLAN tag" (Corinna Vinschen) [1730024] - [netdrv] r8169: remove not needed call to dma_sync_single_for_device (Corinna Vinschen) [1730024] - [netdrv] r8169: consider that 32 Bit DMA is the default (Corinna Vinschen) [1730024] - [netdrv] r8169: improve handling VLAN tag (Corinna Vinschen) [1730024] - [netdrv] r8169: don't activate ASPM in chip if OS can't control ASPM (Corinna Vinschen) [1730024] - [netdrv] r8169: improve handling of Abit Fatal1ty F-190HD (Corinna Vinschen) [1730024] - [netdrv] r8169: use helper rtl_is_8168evl_up for setting register MaxTxPacketSize (Corinna Vinschen) [1730024] - [netdrv] r8169: add helper rtl_is_8168evl_up (Corinna Vinschen) [1730024] - [netdrv] r8169: improve rtl_coalesce_info (Corinna Vinschen) [1730024] - [netdrv] r8169: let mdio read functions return -ETIMEDOUT (Corinna Vinschen) [1730024] - [netdrv] r8169: remove struct rtl_cfg_info (Corinna Vinschen) [1730024] - [netdrv] r8169: remove member coalesce_info from struct rtl_cfg_info (Corinna Vinschen) [1730024] - [netdrv] r8169: remove callback hw_start from struct rtl_cfg_info (Corinna Vinschen) [1730024] - [netdrv] r8169: rename CPCMD_QUIRK_MASK and apply it on all chip versions (Corinna Vinschen) [1730024] - [netdrv] r8169: improve setting interrupt mask (Corinna Vinschen) [1730024] - [netdrv] r8169: silence sparse warning in rtl8169_start_xmit (Corinna Vinschen) [1730024] - [netdrv] r8169: factor out firmware handling (Corinna Vinschen) [1730024] - [netdrv] r8169: rename r8169.c to r8169_main.c (Corinna Vinschen) [1730024] - [netdrv] r8169: add rtl_fw_request_firmware and rtl_fw_release_firmware (Corinna Vinschen) [1730024] - [netdrv] r8169: make rtl_fw_format_ok and rtl_fw_data_ok more independent (Corinna Vinschen) [1730024] - [netdrv] r8169: simplify rtl_fw_write_firmware (Corinna Vinschen) [1730024] - [netdrv] r8169: add enum rtl_fw_opcode (Corinna Vinschen) [1730024] - [netdrv] r8169: use paged versions of phylib MDIO access functions (Corinna Vinschen) [1730024] - [netdrv] r8169: avoid tso csum function indirection (Corinna Vinschen) [1730024] - [netdrv] r8169: remove struct jumbo_ops (Corinna Vinschen) [1730024] - [netdrv] r8169: remove struct mdio_ops (Corinna Vinschen) [1730024] - [netdrv] r8169: improve r8169_csum_workaround (Corinna Vinschen) [1730024] - [netdrv] r8169: decouple rtl_phy_write_fw from actual driver code (Corinna Vinschen) [1730024] - [netdrv] r8169: improve rtl_fw_format_ok (Corinna Vinschen) [1730024] - [netdrv] r8169: enable WoL speed down on more chip versions (Corinna Vinschen) [1730024] - [netdrv] r8169: fix MAC address being lost in PCI D3 (Corinna Vinschen) [1730024] - [netdrv] r8169: remove 1000/Half from supported modes (Corinna Vinschen) [1730024] - [netdrv] r8169: remove support for RTL_GIGA_MAC_VER_01 (Corinna Vinschen) [1730024] - [netdrv] r8169: improve RTL8168d PHY initialization (Corinna Vinschen) [1730024] - [netdrv] r8169: change type of member mac_version in rtl8169_private (Corinna Vinschen) [1730024] - [netdrv] r8169: remove unneeded return statement in rtl_hw_init_8168g (Corinna Vinschen) [1730024] - [netdrv] r8169: remove rtl_hw_init_8168ep (Corinna Vinschen) [1730024] - [netdrv] treewide: Add SPDX license identifier - Makefile/Kconfig (Corinna Vinschen) [1730024] - [netdrv] treewide: Add SPDX license identifier for more missed files (Corinna Vinschen) [1730024] - [netdrv] r8169: add rtl8168g_set_pause_thresholds (Corinna Vinschen) [1730024] - [netdrv] r8169: add rtl_set_fifo_size (Corinna Vinschen) [1730024] - [netdrv] r8169: move EEE LED config to rtl8168_config_eee_mac (Corinna Vinschen) [1730024] - [netdrv] r8169: simplify rtl_writephy_batch and rtl_ephy_init (Corinna Vinschen) [1730024] - [netdrv] r8169: speed up rtl_loop_wait (Corinna Vinschen) [1730024] - [netdrv] r8169: make use of phy_set_asym_pause (Corinna Vinschen) [1730024] - [netdrv] r8169: remove rtl_write_exgmac_batch (Corinna Vinschen) [1730024] - [netdrv] r8169: remove manual autoneg restart workaround (Corinna Vinschen) [1730024] - [netdrv] r8169: add rtl_reset_packet_filter (Corinna Vinschen) [1730024] - [netdrv] r8169: add helpers rtl_eri_set/clear_bits (Corinna Vinschen) [1730024] - [netdrv] r8169: make ERIAR_EXGMAC the default in eri functions (Corinna Vinschen) [1730024] - [netdrv] r8169: use pci_dev_id() helper (Corinna Vinschen) [1730024] - [kernel] phy: fix write to mii-ctrl1000 register (Petr Oros) [1772010] - [netdrv] bcmgenet: don't set phydev->link from MAC (Petr Oros) [1772010] - [netdrv] mdio_bus: Fix PTR_ERR applied after initialization to constant (Petr Oros) [1772010] - [netdrv] phy: micrel: add Asym Pause workaround for KSZ9021 (Petr Oros) [1772010] - [netdrv] phy: fix race in genphy_update_link (Petr Oros) [1772010] - [netdrv] phy: consider AN_RESTART status when reading link status (Petr Oros) [1772010] - [kernel] fixed_phy: Add forward declaration for struct gpio_desc; (Petr Oros) [1772010] - [netdrv] phy: fixed_phy: print gpio error only if gpio node is present (Petr Oros) [1772010] - [netdrv] phy: mscc: initialize stats array (Petr Oros) [1772010] - [netdrv] phy: bcm7xxx: define soft_reset for 40nm EPHY (Petr Oros) [1772010] - [netdrv] Add genphy_c45_config_aneg() function to phy-c45.c (Petr Oros) [1772010] - [netdrv] phy: sfp: hwmon: Fix scaling of RX power (Petr Oros) [1772010] - [kernel] hwmon: Fix HWMON_P_MIN_ALARM mask (Petr Oros) [1772010] - [netdrv] phy: rename Asix Electronics PHY driver (Petr Oros) [1772010] - [netdrv] sfp: read eeprom in maximum 16 byte increments (Petr Oros) [1772010] - [netdrv] phylink: avoid reducing support mask (Petr Oros) [1772010] - [netdrv] phy: dp83867: Set up RGMII TX delay (Petr Oros) [1772010] - [netdrv] phy: dp83867: do not call config_init twice (Petr Oros) [1772010] - [netdrv] phy: dp83867: increase SGMII autoneg timer duration (Petr Oros) [1772010] - [netdrv] phy: dp83867: fix speed 10 in sgmii mode (Petr Oros) [1772010] - [netdrv] phy: marvell10g: report if the PHY fails to boot firmware (Petr Oros) [1772010] - [netdrv] phylink: ensure consistent phy interface mode (Petr Oros) [1772010] - [netdrv] phylink: ensure inband AN works correctly (Petr Oros) [1772010] - [netdrv] phy: aquantia: readd XGMII support for AQR107 (Petr Oros) [1772010] - [netdrv] phy: realtek: Replace phy functions with non-locked version in rtl8211e_config_init() (Petr Oros) [1772010] - [netdrv] meson: fixup g12a glue ephy id (Petr Oros) [1772010] - [netdrv] phy: realtek: fix double page ops in generic Realtek driver (Petr Oros) [1772010] - [netdrv] phy: realtek: add missing page operations (Petr Oros) [1772010] - [netdrv] phy: realtek: Change TX-delay setting for RGMII modes only (Petr Oros) [1772010] - [netdrv] phy: realtek: Add rtl8211e rx/tx delays config (Petr Oros) [1772010] - [netdrv] phy: improve pause mode reporting in phy_print_status (Petr Oros) [1772010] - [kernel] phy: improve resuming from hibernation (Petr Oros) [1772010] - [netdrv] phy: fix phy_validate_pause (Petr Oros) [1772010] - [netdrv] phy: micrel: make sure the factory test bit is cleared (Petr Oros) [1772010] - [netdrv] phy: marvell: Fix buffer overrun with stats counters (Petr Oros) [1772010] - [netdrv] phy: avoid unneeded MDIO reads in genphy_read_status (Petr Oros) [1772010] - [netdrv] phy: improve genphy_soft_reset (Petr Oros) [1772010] - [netdrv] spi: micrel eth switch: declare missing of table (Petr Oros) [1772010] - [netdrv] phy: marvell: add new default led configure for m88e151x (Petr Oros) [1772010] - [netdrv] phy: vitesse: Remove support for VSC8514 (Petr Oros) [1772010] - [netdrv] phy: mscc: add support for VSC8514 PHY (Petr Oros) [1772010] - [netdrv] mdio: rename mdio_device reset to reset_gpio (Petr Oros) [1772010] - [netdrv] phy: add support for reset-controller (Petr Oros) [1772010] - [documentation] dt-bindings: add PHY reset controller binding (Petr Oros) [1772010] - [netdrv] phy: remove dead code from phy_sanitize_settings (Petr Oros) [1772010] - [netdrv] phy: don't set autoneg if it's not supported (Petr Oros) [1772010] - [netdrv] phy: micrel: add Asym Pause workaround (Petr Oros) [1772010] - [netdrv] phy: warn if phylib and ethtool PHY mode definitions are out of sync (Petr Oros) [1772010] - [netdrv] phy: add support for new modes in phylib (Petr Oros) [1772010] - [netdrv] phy: shrink PHY settings array (Petr Oros) [1772010] - [netdrv] phy: switch drivers to use dynamic feature detection (Petr Oros) [1772010] - [netdrv] phy: fix setting autoneg_complete in genphy_update_link (Petr Oros) [1772010] - [netdrv] phy: replace genphy_10g_driver with genphy_c45_driver (Petr Oros) [1772010] - [netdrv] phy: remove unnecessary callback settings in C45 drivers (Petr Oros) [1772010] - [netdrv] phy: improve link partner capability detection (Petr Oros) [1772010] - [netdrv] phy: meson-gxl: clean-up gxl variant driver (Petr Oros) [1772010] - [netdrv] phy: meson-gxl: add g12a support (Petr Oros) [1772010] - [netdrv] phy: add amlogic g12a mdio mux support (Petr Oros) [1772010] - [documentation] dt-bindings: phy: add g12a mdio mux documentation (Petr Oros) [1772010] - [netdrv] phy: realtek: remove setting callback get_features and use phylib fallback (Petr Oros) [1772010] - [netdrv] phy: fix autoneg mismatch case in genphy_read_status (Petr Oros) [1772010] - [netdrv] phy: marvell10g: add the suspend/resume callbacks for the 88x2210 (Petr Oros) [1772010] - [netdrv] phy: marvell10g: implement suspend/resume callbacks (Petr Oros) [1772010] - [netdrv] phy: deal properly with autoneg incomplete in genphy_c45_read_lpa (Petr Oros) [1772010] - [netdrv] phy: use c45 standard to detect link partner autoneg capability (Petr Oros) [1772010] - [netdrv] phy: aquantia: add SGMII statistics (Petr Oros) [1772010] - [netdrv] phy: improve genphy_read_status (Petr Oros) [1772010] - [netdrv] phy: aquantia: add suspend / resume callbacks for AQR107 family (Petr Oros) [1772010] - [netdrv] phy: realtek: use genphy_read_abilities (Petr Oros) [1772010] - [netdrv] phy: mdio-bcm-unimac: remove redundant !timeout check (Petr Oros) [1772010] - [netdrv] phy: marvell: add PHY tunable fast link down support for 88E1540 (Petr Oros) [1772010] - [uapi] ethtool: add PHY Fast Link Down support (Petr Oros) [1772010] - [netdrv] phy: aquantia: inform about proprietary 1000Base-T2 mode being in use (Petr Oros) [1772010] - [netdrv] phy: aquantia: report PHY details like firmware version (Petr Oros) [1772010] - [netdrv] phy: aquantia: print remote capabilities if link partner is Aquantia PHY (Petr Oros) [1772010] - [kernel] phy: bcm54xx: Encode link speed and activity into LEDs (Petr Oros) [1772010] - [netdrv] phy: aquantia: simplify aqr_config_aneg (Petr Oros) [1772010] - [netdrv] phy: don't clear BMCR in genphy_soft_reset (Petr Oros) [1772010] - [netdrv] phy: Re-parent menus for MDIO bus drivers correctly (Petr Oros) [1772010] - [netdrv] phy: Correct Cygnus/Omega PHY driver prompt (Petr Oros) [1772010] - [netdrv] phy: aquantia: add downshift support (Petr Oros) [1772010] - [netdrv] phy: Move Omega PHY entry to Cygnus PHY driver (Petr Oros) [1772010] - [netdrv] phy: Prepare for moving Omega out of bcm7xxx (Petr Oros) [1772010] - [netdrv] phy: Add DP83825I to the DP83822 driver (Petr Oros) [1772010] - [netdrv] phy: aquantia: check for changed interface mode in read_status (Petr Oros) [1772010] - [netdrv] phy: aquantia: check for supported interface modes in config_init (Petr Oros) [1772010] - [netdrv] phy: improve handling link_change_notify callback (Petr Oros) [1772010] - [netdrv] phy: meson-gxl: fix interrupt support (Petr Oros) [1772010] - [gpio] gpiolib: devprop: Fix syntax error (Petr Oros) [1772010] - [kernel] gpiolib: export devprop_gpiochip_set_names() (Petr Oros) [1772010] - [netdrv] phy: mdio-mux: fix Kconfig dependencies (Petr Oros) [1772010] - [netdrv] phy: use phy_modify_mmd_changed in genphy_c45_an_config_aneg (Petr Oros) [1772010] - [netdrv] phy: remove gen10g_no_soft_reset (Petr Oros) [1772010] - [netdrv] phy: don't export gen10g_read_status (Petr Oros) [1772010] - [netdrv] phy: remove gen10g_config_init (Petr Oros) [1772010] - [netdrv] phy: remove gen10g_suspend and gen10g_resume (Petr Oros) [1772010] - [netdrv] phy: use genphy_c45_aneg_done in genphy_aneg_done (Petr Oros) [1772010] - [netdrv] phy: micrel ksz8061: link failure after cable connect (Petr Oros) [1772010] - [netdrv] phy: phylink: fix uninitialized variable in phylink_get_mac_state (Petr Oros) [1772010] - [netdrv] phy: aquantia: add hwmon support (Petr Oros) [1772010] - [netdrv] phy: aquantia: rename aquantia.c to aquantia_main.c (Petr Oros) [1772010] - [netdrv] phy: marvell10g: Use the generic C45 helper to read the 2110 features (Petr Oros) [1772010] - [netdrv] phy: marvell10g: Let genphy_c45_pma_read_abilities set Aneg bit (Petr Oros) [1772010] - [netdrv] phy: dp83867: add soft reset delay (Petr Oros) [1772010] - [netdrv] phy: mdio-mux: Add support for Generic Mux controls (Petr Oros) [1772010] - [netdrv] phy: improve auto-neg emulation in swphy (Petr Oros) [1772010] - [netdrv] phy: marvell10g: add support for the 88x2110 PHY (Petr Oros) [1772010] - [netdrv] phy: marvell10g: Force reading of 2.5/5G (Petr Oros) [1772010] - [netdrv] phy: marvell10g: Use a #define for 88X3310 family id (Petr Oros) [1772010] - [netdrv] phy: marvell10g: Use 2500BASEX when using 2.5GBASET (Petr Oros) [1772010] - [netdrv] phy: marvell10g: Use linkmode_set_bit helper instead of __set_bit (Petr Oros) [1772010] - [netdrv] phy: marvell10g: Use get_features to get the PHY abilities (Petr Oros) [1772010] - [netdrv] phy: aquantia: use genphy_c45_read_status (Petr Oros) [1772010] - [netdrv] phy: add genphy_c45_read_status (Petr Oros) [1772010] - [netdrv] phy: don't change modes we don't care about in genphy_c45_read_lpa (Petr Oros) [1772010] - [netdrv] phy: aquantia: add support for auto-negotiation configuration (Petr Oros) [1772010] - [netdrv] phy: aquantia: remove false 5G and 10G speed ability for AQCS109 (Petr Oros) [1772010] - [netdrv] phy: check PMAPMD link status only in genphy_c45_read_link (Petr Oros) [1772010] - [netdrv] mdio_bus: Fix use-after-free on device_register fails (Petr Oros) [1772010] - [netdrv] phy: at803x: disable delay only for RGMII mode (Petr Oros) [1772010] - [netdrv] phy: at803x: don't inline helpers (Petr Oros) [1772010] - [netdrv] phy: aquantia: Use get_features for the PHYs abilities (Petr Oros) [1772010] - [netdrv] phy: marvell10g: use genphy_c45_check_and_restart_aneg in mv3310_config_aneg (Petr Oros) [1772010] - [netdrv] phy: add genphy_c45_check_and_restart_aneg (Petr Oros) [1772010] - [netdrv] phy: use genphy_config_eee_advert in genphy_c45_an_config_aneg (Petr Oros) [1772010] - [netdrv] phy: export genphy_config_eee_advert (Petr Oros) [1772010] - [netdrv] phy: don't use 10BaseT/half as default in genphy_read_status (Petr Oros) [1772010] - [netdrv] phy: remove orphaned register read in genphy_read_status (Petr Oros) [1772010] - [netdrv] phy: marvell10g: improve mv3310_config_aneg (Petr Oros) [1772010] - [netdrv] phy: disable aneg in genphy_c45_pma_setup_forced (Petr Oros) [1772010] - [netdrv] phy: use mii_10gbt_stat_mod_linkmode_lpa_t in genphy_c45_read_lpa (Petr Oros) [1772010] - [kernel] phy: add helper mii_10gbt_stat_mod_linkmode_lpa_t (Petr Oros) [1772010] - [netdrv] phy: marvell10g: check for newly set aneg (Petr Oros) [1772010] - [netdrv] phy: marvell10g: use genphy_c45_an_config_aneg (Petr Oros) [1772010] - [netdrv] phy: add genphy_c45_an_config_aneg (Petr Oros) [1772010] - [kernel] phy: add helper linkmode_adv_to_mii_10gbt_adv_t (Petr Oros) [1772010] - [netdrv] mdio_bus: Fix PTR_ERR() usage after initialization to constant (Petr Oros) [1772010] - [netdrv] phy: xgmiitorgmii: Support generic PHY status read (Petr Oros) [1772010] - [netdrv] phy: marvell10g: Don't explicitly set Pause and Asym_Pause (Petr Oros) [1772010] - [netdrv] phy: use phy_resolve_aneg_linkmode in genphy_read_status (Petr Oros) [1772010] - [netdrv] phy: improve phy_resolve_aneg_linkmode (Petr Oros) [1772010] - [netdrv] phy: fix potential race in the phylib state machine (Petr Oros) [1772010] - [kernel] phy: don't use locking in phy_is_started (Petr Oros) [1772010] - [netdrv] phy: fix interrupt handling in non-started states (Petr Oros) [1772010] - [netdrv] phy: simplify genphy_config_eee_advert (Petr Oros) [1772010] - [netdrv] phylink: avoid resolving link state too early (Petr Oros) [1772010] - [netdrv] phylink: add phylink_init_eee() helper (Petr Oros) [1772010] - [netdrv] phylink: only call mac_config() during resolve when link is up (Petr Oros) [1772010] - [netdrv] phy: use phy_modify_changed in genphy_config_advert (Petr Oros) [1772010] - [netdrv] phy: marvell10g: fix usage of new MMD modifying helpers (Petr Oros) [1772010] - [netdrv] phy: add register modifying helpers returning 1 on change (Petr Oros) [1772010] - [netdrv] phy: aquantia: add support for AQCS109 (Petr Oros) [1772010] - [netdrv] phy: disregard "Clause 22 registers present" bit in get_phy_c45_devs_in_pkg (Petr Oros) [1772010] - [netdrv] phy: let genphy_c45_read_link manage the devices to check (Petr Oros) [1772010] - [netdrv] phy: don't double-read link status register if link is up (Petr Oros) [1772010] - [netdrv] fixed-phy: Add fixed_phy_register_with_gpiod() API (Petr Oros) [1772010] - [netdrv] phy: fixed_phy: Fix fixed_phy not checking GPIO (Petr Oros) [1772010] - [netdrv] phy: consider latched link-down status in polling mode (Petr Oros) [1772010] - [netdrv] sfp: do not probe SFP module before we're attached (Petr Oros) [1772010] - [netdrv] phy: make use of new MMD accessors (Petr Oros) [1772010] - [kernel] phy: provide full set of accessor functions to MMD registers (Petr Oros) [1772010] - [netdrv] phy: improve genphy_c45_read_link (Petr Oros) [1772010] - [netdrv] phy: fixed-phy: Drop GPIO from fixed_phy_add() (Petr Oros) [1772010] - [netdrv] dp83640: expire old TX-skb (Petr Oros) [1772010] - [netdrv] phy: aquantia: replace magic numbers with constants (Petr Oros) [1772010] - [netdrv] phy: aquantia: use macro PHY_ID_MATCH_MODEL (Petr Oros) [1772010] - [netdrv] phy: aquantia: remove unneeded includes (Petr Oros) [1772010] - [netdrv] phy: aquantia: Shorten name space prefix to aqr_ (Petr Oros) [1772010] - [netdrv] revert "net: phy: marvell: avoid pause mode on SGMII-to-Copper for 88e151x" (Petr Oros) [1772010] - [netdrv] phy: at803x: Use helpers to access MMD PHY registers (Petr Oros) [1772010] - [netdrv] phy: change phy_start_interrupts to phy_request_interrupt (Petr Oros) [1772010] - [netdrv] phy: start interrupts in phy_start (Petr Oros) [1772010] - [netdrv] phy: warn if phy_start is called from invalid state (Petr Oros) [1772010] - [netdrv] phy: start state machine in phy_start only (Petr Oros) [1772010] - [netdrv] phy: Add SDPX tag based on COPYING file (Petr Oros) [1772010] - [netdrv] phy: Fixup GPLv2 SPDX tags based on license text (Petr Oros) [1772010] - [netdrv] phy: Fixup GPLv2+ SPDX tags based on license text (Petr Oros) [1772010] - [netdrv] phy: Remove redundent License text when SPDX header is present (Petr Oros) [1772010] - [netdrv] phy: Convert some PHY and MDIO driver files to SPDX headers (Petr Oros) [1772010] - [netdrv] phy: at803x: Disable phy delay for RGMII mode (Petr Oros) [1772010] - [netdrv] phy: improve phy_init_hw (Petr Oros) [1772010] - [netdrv] phy: fix issue with loading PHY driver w/o initramfs (Petr Oros) [1772010] - [netdrv] phy: remove phy_stop_interrupts (Petr Oros) [1772010] - [netdrv] phy: ensure phylib state machine is stopped after calling phy_stop (Petr Oros) [1772010] - [netdrv] phy: stop PHY if needed when entering phy_disconnect (Petr Oros) [1772010] - [netdrv] phy: micrel: use phy_read_mmd and phy_write_mmd (Petr Oros) [1772010] - [netdrv] phy: improve get_phy_id (Petr Oros) [1772010] - [kernel] phy: remove state PHY_CHANGELINK (Petr Oros) [1772010] - [netdrv] phy: mdio_bus: add missing device_del() in mdiobus_register() error handling (Petr Oros) [1772010] - [netdrv] phy: check return code when requesting PHY driver module (Petr Oros) [1772010] - [netdrv] phy: Add helpers to determine if PHY driver is generic (Petr Oros) [1772010] - [netdrv] phy: improve logging in phylib (Petr Oros) [1772010] - [netdrv] phy: don't include asm/irq.h directly (Petr Oros) [1772010] - [netdrv] phy: remove preliminary workaround for not loading PHY driver (Petr Oros) [1772010] - [netdrv] phy: meson-gxl: Use the genphy_soft_reset callback (Petr Oros) [1772010] - [netdrv] phy: marvell: Fix deadlock from wrong locking (Petr Oros) [1772010] - [netdrv] phy: marvell: Errata for mv88e6390 internal PHYs (Petr Oros) [1772010] - [netdrv] phy: micrel: set soft_reset callback to genphy_soft_reset for KSZ9031 (Petr Oros) [1772010] - [netdrv] phy: fix too strict check in phy_start_aneg (Petr Oros) [1772010] - [kernel] phy.h: fix obvious errors in doc and kerneldoc content (Petr Oros) [1772010] - [netdrv] phy: mscc: Fix the VSC 8531/41 Chip Init sequence (Petr Oros) [1772010] - [netdrv] phy: Fix the issue that netif always links up after resuming (Petr Oros) [1772010] - [netdrv] phy: print stack trace in phy_error (Petr Oros) [1772010] - [netdrv] phy: improve phy state checking (Petr Oros) [1772010] - [netdrv] fixed phy: Add fixed_phy_change_carrier() (Petr Oros) [1772010] - [netdrv] phy: mdio-gpio: Add phy_ignore_ta_mask to platform data (Petr Oros) [1772010] - [kernel] phy: mdio-gpio: Add platform_data support for phy_mask (Petr Oros) [1772010] - [kernel] gpio: Export gpiod_get_from_of_node() (Petr Oros) [1772010] - [netdrv] phy: Revert toggling reset changes (Petr Oros) [1772010] - [netdrv] phy: sfp: correct store of detected link modes (Petr Oros) [1772010] - [netdrv] phy: micrel: add toggling phy reset if PHY is not attached (Petr Oros) [1772010] - [netdrv] phy: Fix not to call phy_resume() if PHY is not attached (Petr Oros) [1772010] - [netdrv] phy: improve generic EEE ethtool functions (Petr Oros) [1772010] - [netdrv] phy: add workaround for issue where PHY driver doesn't bind to the device (Petr Oros) [1772010] - [netdrv] phy: mscc: fix deadlock in vsc85xx_default_config (Petr Oros) [1772010] - [netdrv] phy: vitesse: remove duplicate support for VSC8574 (Petr Oros) [1772010] - [netdrv] phy: icplus: allow configuring the interrupt function on IP101GR (Petr Oros) [1772010] - [netdrv] phy: icplus: implement .did_interrupt for IP101A/G (Petr Oros) [1772010] - [netdrv] phy: icplus: rename IP101A_G_NO_IRQ to IP101A_G_IRQ_ALL_MASK (Petr Oros) [1772010] - [netdrv] phy: icplus: use the BIT macro where possible (Petr Oros) [1772010] - [netdrv] phy: icplus: keep all ip101a_g functions together (Petr Oros) [1772010] - [documentation] dt-bindings: phy: add bindings for the IC Plus Corp. IP101A/G PHYs (Petr Oros) [1772010] - [documentation] dt-bindings: vendor-prefix: add prefix for IC Plus Corp (Petr Oros) [1772010] - [netdrv] phy: mdio-gpio: Fix working over slow can_sleep GPIOs (Petr Oros) [1772010] - [netdrv] phy: check for implementation of both callbacks in phy_drv_supports_irq (Petr Oros) [1772010] - [netdrv] phy: icplus: add config_intr callback (Petr Oros) [1772010] - [kernel] phy: remove states PHY_STARTING and PHY_PENDING (Petr Oros) [1772010] - [netdrv] phy: leds: Don't make our own link speed names (Petr Oros) [1772010] - [netdrv] phy: improve and inline phy_change (Petr Oros) [1772010] - [netdrv] phy: simplify phy_mac_interrupt and related functions (Petr Oros) [1772010] - [netdrv] phy: don't set state PHY_CHANGELINK in phy_change (Petr Oros) [1772010] - [kernel] phy: improve struct phy_device member interrupts handling (Petr Oros) [1772010] - [netdrv] phy: remove flag PHY_HAS_INTERRUPT from driver configs (Petr Oros) [1772010] - [netdrv] phy: replace PHY_HAS_INTERRUPT with a check for config_intr and ack_interrupt (Petr Oros) [1772010] - [netdrv] phy: use phy_check_link_status in more places in the state machine (Petr Oros) [1772010] - [kernel] phy: remove state PHY_AN (Petr Oros) [1772010] - [netdrv] phy: add phy_check_link_status (Petr Oros) [1772010] - [netdrv] phy: remove useless check in state machine case PHY_RESUMING (Petr Oros) [1772010] - [netdrv] phy: remove useless check in state machine case PHY_NOLINK (Petr Oros) [1772010] - [netdrv] phy: make phy_trigger_machine static (Petr Oros) [1772010] - [netdrv] phy: bcm7xxx: Add entry for BCM7255 (Petr Oros) [1772010] - [netdrv] phy: Allow BCM54616S PHY to setup internal TX/RX clock delay (Petr Oros) [1772010] - [netdrv] phy: mdio-mux-bcm-iproc: simplify getting .driver_data (Petr Oros) [1772010] - [documentation] dt-bindings: add support for Microchip KSZ9131 (Petr Oros) [1772010] - [netdrv] phy: micrel: add Microchip KSZ9131 initial driver (Petr Oros) [1772010] - [netdrv] phy: mscc: fix memory leak in vsc8574_config_pre_init (Petr Oros) [1772010] - [netdrv] phy: mscc: fix signedness bug in vsc85xx_downshift_get (Petr Oros) [1772010] - [netdrv] phy: merge phy_start_aneg and phy_start_aneg_priv (Petr Oros) [1772010] - [netdrv] phy: simplify handling of PHY_RESUMING in state machine (Petr Oros) [1772010] - [netdrv] phy: improve handling of PHY_RUNNING in state machine (Petr Oros) [1772010] - [netdrv] phy: trigger state machine immediately in phy_start_machine (Petr Oros) [1772010] - [netdrv] phy: sfp: remove sfp_mutex's definition (Petr Oros) [1772010] - [netdrv] phy: mscc: add support for VSC8574 PHY (Petr Oros) [1772010] - [netdrv] phy: mscc: add support for VSC8584 PHY (Petr Oros) [1772010] - [dt-bindings] vsc8531: add two additional LED modes for VSC8584 (Petr Oros) [1772010] - [netdrv] phy: mscc: remove unneeded temporary variable (Petr Oros) [1772010] - [netdrv] phy: mscc: shorten `x != 0` condition to `x` (Petr Oros) [1772010] - [netdrv] phy: mscc: remove unneeded parenthesis (Petr Oros) [1772010] - [netdrv] phy: mscc: Add EEE init sequence (Petr Oros) [1772010] - [netdrv] phy: mscc: add ethtool statistics counters (Petr Oros) [1772010] - [netdrv] phy: mscc: migrate to phy_select/restore_page functions (Petr Oros) [1772010] - [netdrv] phy: phylink: fix SFP interface autodetection (Petr Oros) [1772010] - [netdrv] phy: Convert to using pOFn instead of device_node.name (Petr Oros) [1772010] - [netdrv] phy: improve handling delayed work (Petr Oros) [1772010] - [netdrv] phy: mscc: fix printf format (Petr Oros) [1772010] - [netdrv] phy: mdio-bcm-unimac: mark PM functions as __maybe_unused (Petr Oros) [1772010] - [netdrv] phy: marvell: Fix build (Petr Oros) [1772010] - [netdrv] phy: marvell: Avoid unnecessary soft reset (Petr Oros) [1772010] - [netdrv] phy: Stop with excessive soft reset (Petr Oros) [1772010] - [netdrv] phy: sfp: Fix unregistering of HWMON SFP device (Petr Oros) [1772010] - [netdrv] phy: fix WoL handling when suspending the PHY (Petr Oros) [1772010] - [net] core: add member wol_enabled to struct net_device (Petr Oros) [1772010] - [netdrv] phy: mdio-bcm-unimac: Allow configuring MDIO clock divider (Petr Oros) [1772010] - [netdrv] phy: don't reschedule state machine when PHY is halted (Petr Oros) [1772010] - [netdrv] phy: phylink: ensure the carrier is off when starting phylink (Petr Oros) [1772010] - [netdrv] phy: call state machine synchronously in phy_stop (Petr Oros) [1772010] - [net] linkwatch: add check for netdevice being present to linkwatch_do_dev (Petr Oros) [1772010] - [netdrv] sfp: fix oops with ethtool -m (Petr Oros) [1772010] - [netdrv] mdio: remove duplicated include from mdio_bus.c (Petr Oros) [1772010] - [netdrv] phy: et011c: Remove incorrect PHY_POLL flags (Petr Oros) [1772010] - [netdrv] phy: sfp: Handle unimplemented hwmon limits and alarms (Petr Oros) [1772010] - [netdrv] phy: mscc: read 'vsc8531, led-d-mode' as an u32 (Petr Oros) [1772010] - [netdrv] phy: mscc: read 'vsc8531, edge-slowdown' as an u32 (Petr Oros) [1772010] - [netdrv] phy: mscc: read 'vsc8531, vddmac' as an u32 (Petr Oros) [1772010] - [netdrv] phy: mscc: factorize function for getting LED mode from DT (Petr Oros) [1772010] - [netdrv] phy: mscc: factorize code for LEDs mode (Petr Oros) [1772010] - [netdrv] dp83640: Mark expected switch fall-throughs (Petr Oros) [1772010] - [netdrv] phylink: add helper for configuring 2500BaseX modes (Petr Oros) [1772010] - [netdrv] phy: sftp: print debug message with text, not numbers (Petr Oros) [1772010] - [netdrv] phy: Add support for Broadcom Omega internal Combo GPHY (Petr Oros) [1772010] - [netdrv] phy: Add pm support to Broadcom iProc mdio mux driver (Petr Oros) [1772010] - [netdrv] phy: Add support to configure clock in Broadcom iProc mdio mux (Petr Oros) [1772010] - [documentation] dt-bindings: Add clock handle to Broadcom iProc mdio mux (Petr Oros) [1772010] - [netdrv] phy: Use devm api for mdio bus allocation in bcm iproc mdio mux (Petr Oros) [1772010] - [netdrv] phy: Disable external master access in bcm mdio mux driver (Petr Oros) [1772010] - [arm64] dts: Fix the base address of the Broadcom iProc mdio mux (Petr Oros) [1772010] - [netdrv] phy: Fix the register offsets in Broadcom iProc mdio mux driver (Petr Oros) [1772010] - [documentation] dt-bindings: Fix Broadcom iProc mdio mux driver base address (Petr Oros) [1772010] - [netdrv] phy: mscc: the extended page access register is 16 bits (Petr Oros) [1772010] - [netdrv] phy: marvell: Replace mdelay() with msleep() in m88e1116r_config_init() (Petr Oros) [1772010] - [kernel] phy: add helper phy_polling_mode (Petr Oros) [1772010] - [netdrv] phy: prevent PHYs w/o Clause 22 regs from calling genphy_config_aneg (Petr Oros) [1772010] - [netdrv] phy: add GBit master / slave error detection (Petr Oros) [1772010] - [netdrv] phy: sfp: Do not use "imply HWMON" (Petr Oros) [1772010] - [netdrv] phy: sfp: Add HWMON support for module sensors (Petr Oros) [1772010] - [kernel] hwmon: Add helper to tell if a char is invalid in a name (Petr Oros) [1772010] - [kernel] hwmon: Add support for power min, lcrit, min_alarm and lcrit_alarm (Petr Oros) [1772010] - [kernel] hwmon: Add missing HWMON_T_LCRIT_ALARM define (Petr Oros) [1772010] - [netdrv] phy: Drop OF dependency for MDIO_BCM_UNIMAC (Petr Oros) [1772010] - [gpio] gpiolib: Mark gpio_suffixes array with __maybe_unused (Petr Oros) [1772010] - [netdrv] phy: vitesse: Add support for VSC73xx (Petr Oros) [1772010] - [netdrv] phy: dp83tc811: Fix SGMII enable/disable (Petr Oros) [1772010] - [netdrv] phy: dp83tc811: Add INT_STAT3 (Petr Oros) [1772010] - [netdrv] phy: xgmiitorgmii: Check read_status results (Petr Oros) [1772010] - [netdrv] phy: xgmiitorgmii: Use correct mdio bus (Petr Oros) [1772010] - [netdrv] phy: xgmiitorgmii: Check phy_driver ready before accessing (Petr Oros) [1772010] - [netdrv] mdio-mux-gpio: Remove VLA usage (Petr Oros) [1772010] - [netdrv] phy: fixed-phy: Make the error path simpler (Petr Oros) [1772010] - [netdrv] phy: Allow compile test of GPIO consumers if !GPIOLIB (Petr Oros) [1772010] - [watchdog] hpwdt: Reflect changes (Joseph Szczypek) [1769477] - [documentation] watchdog/hpwdt: Update documentation (Joseph Szczypek) [1769477] - [watchdog] hpwdt: Add module parameter kdumptimeout (Joseph Szczypek) [1769477] - [watchdog] hpwdt: Have core ping watchdog (Joseph Szczypek) [1769477] - [watchdog] hpwdt: Advertize max_hw_heartbeat_ms (Joseph Szczypek) [1769477] - [watchdog] hpwdt: Stop hpwdt on unregister (Joseph Szczypek) [1769477] - [watchdog] hpwdt: drop warning after registering device (Joseph Szczypek) [1769477] - [watchdog] hpwdt: Replace GPLv2 boilerplate/reference with SPDX - rule 500 (Joseph Szczypek) [1769477] - [nvme] make fabrics command run on a separate request queue (David Milburn) [1766361] - [nvme] Restart request timers in resetting state (David Milburn) [1766361] - [nvme] nvme-rdma: fix possible use-after-free in connect timeout (David Milburn) [1766361] - [block] blk-mq: remove blk_mq_complete_request_sync (David Milburn) [1766361] - [nvme] wait until all completed request's complete fn is called (David Milburn) [1766361] - [nvme] don't abort completed request in nvme_cancel_request (David Milburn) [1766361] - [block] blk-mq: introduce blk_mq_tagset_wait_completed_request() (David Milburn) [1766361] - [block] blk-mq: introduce blk_mq_request_completed() (David Milburn) [1766361]- [hwtracing] intel_th: pci: Add Jasper Lake PCH support (Jiri Olsa) [1771015] - [hwtracing] intel_th: pci: Add Comet Lake PCH support (Jiri Olsa) [1771015] - [hwtracing] intel_th: msu: Fix possible memory leak in mode_store() (Jiri Olsa) [1771015] - [hwtracing] intel_th: msu: Fix overflow in shift of an unsigned int (Jiri Olsa) [1771015] - [hwtracing] intel_th: msu: Fix missing allocation failure check on a kstrndup (Jiri Olsa) [1771015] - [hwtracing] intel_th: msu: Fix an uninitialized mutex (Jiri Olsa) [1771015] - [hwtracing] intel_th: gth: Fix the window switching sequence (Jiri Olsa) [1771015] - [hwtracing] intel_th: pci: Add Tiger Lake support (Jiri Olsa) [1771015] - [hwtracing] intel_th: msu: Preserve pre-existing buffer configuration (Jiri Olsa) [1771015] - [hwtracing] intel_th: msu: Prevent freeing buffers while locked windows exist (Jiri Olsa) [1771015] - [hwtracing] intel_th: msu: Get rid of the window size limit (Jiri Olsa) [1771015] - [hwtracing] intel_th: msu-sink: An example msu buffer "sink" (Jiri Olsa) [1771015] - [hwtracing] intel_th: msu: Introduce buffer interface (Jiri Olsa) [1771015] - [hwtracing] intel_th: msu: Start read iterator from a non-empty window (Jiri Olsa) [1771015] - [hwtracing] intel_th: msu: Split sgt array and pointer in multiwindow mode (Jiri Olsa) [1771015] - [hwtracing] intel_th: msu: Support multipage blocks (Jiri Olsa) [1771015] - [hwtracing] intel_th: pci: Add Ice Lake NNPI support (Jiri Olsa) [1771015] - [hwtracing] intel_th: msu: Fix single mode with disabled IOMMU (Jiri Olsa) [1771015] - [hwtracing] intel_th: msu: Remove set but not used variable 'last' (Jiri Olsa) [1771015] - [hwtracing] intel_th: msu: Fix unused variable warning on arm64 platform (Jiri Olsa) [1771015] - [hwtracing] intel_th: msu: Add current window tracking (Jiri Olsa) [1771015] - [hwtracing] intel_th: msu: Add a sysfs attribute to trigger window switch (Jiri Olsa) [1771015] - [hwtracing] intel_th: msu: Correct the block wrap detection (Jiri Olsa) [1771015] - [hwtracing] intel_th: Add switch triggering support (Jiri Olsa) [1771015] - [hwtracing] intel_th: gth: Factor out trace start/stop (Jiri Olsa) [1771015] - [hwtracing] intel_th: msu: Factor out pipeline draining (Jiri Olsa) [1771015] - [hwtracing] intel_th: msu: Switch over to scatterlist (Jiri Olsa) [1771015] - [hwtracing] intel_th: msu: Replace open-coded list_{first, last, next}_entry variants (Jiri Olsa) [1771015] - [hwtracing] intel_th: Only report useful IRQs to subdevices (Jiri Olsa) [1771015] - [hwtracing] intel_th: msu: Start handling IRQs (Jiri Olsa) [1771015] - [hwtracing] intel_th: pci: Use MSI interrupt signalling (Jiri Olsa) [1771015] - [hwtracing] intel_th: Communicate IRQ via resource (Jiri Olsa) [1771015] - [hwtracing] intel_th: Add "rtit" source device (Jiri Olsa) [1771015] - [hwtracing] intel_th: Skip subdevices if their MMIO is missing (Jiri Olsa) [1771015] - [hwtracing] intel_th: Rework resource passing between glue layers and core (Jiri Olsa) [1771015] - [hwtracing] intel_th: msu: Fix single mode with IOMMU (Jiri Olsa) [1771015] - [hwtracing] intel_th: pci: Add Comet Lake support (Jiri Olsa) [1771015] - [hwtracing] intel_th: gth: Fix an off-by-one in output unassigning (Jiri Olsa) [1771015] - [hwtracing] intel_th: Don't reference unassigned outputs (Jiri Olsa) [1771015] - [hwtracing] intel_th: pti: Use sysfs_match_string() helper (Jiri Olsa) [1771015] - [hwtracing] intel_th: Only create useful device nodes (Jiri Olsa) [1771015] - [hwtracing] intel_th: Mark expected switch fall-throughs (Jiri Olsa) [1771015] - [hwtracing] intel_th: msu: Fix an off-by-one in attribute store (Jiri Olsa) [1771015] - [hwtracing] intel_th: Fix resource handling for ACPI glue layer (Jiri Olsa) [1771015] - [hwtracing] intel_th: Fix device removal logic (Jiri Olsa) [1771015] - [hwtracing] hwtracing/intel_th/msu.c: change return type to vm_fault_t (Jiri Olsa) [1771015] - [scripts] kbuild: modversions: Fix relative CRC byte order interpretation (Don Zickus) [1772940] - [tools] tools x86 uapi asm: Sync the pt_regs.h copy with the kernel sources (Michael Petlan) [1743208] - [tools] tools lib traceevent: Man pages for trace sequences APIs (Michael Petlan) [1743208] - [tools] tools lib traceevent: Man pages for APIs used to extract common fields from a record (Michael Petlan) [1743208] - [tools] tools lib traceevent: Man page for tep_parse_header_page() (Michael Petlan) [1743208] - [tools] tools lib traceevent: Man pages for parse event APIs (Michael Petlan) [1743208] - [tools] tools lib traceevent: Man pages for event filter APIs (Michael Petlan) [1743208] - [tools] tools lib traceevent: Man pages for event fields APIs (Michael Petlan) [1743208] - [tools] tools lib traceevent: Man page for tep_read_number_field() (Michael Petlan) [1743208] - [tools] tools lib traceevent: Man pages for print field APIs (Michael Petlan) [1743208] - [tools] tools lib traceevent: Man pages for get field value APIs (Michael Petlan) [1743208] - [tools] tools lib traceevent: Man pages for find field APIs (Michael Petlan) [1743208] - [tools] tools lib traceevent: Man pages for libtraceevent event get APIs (Michael Petlan) [1743208] - [tools] tools lib traceevent: Man page for list events APIs (Michael Petlan) [1743208] - [tools] tools lib traceevent: Man pages for event find APIs (Michael Petlan) [1743208] - [tools] tools lib traceevent: Man page for tep_read_number() (Michael Petlan) [1743208] - [tools] tools lib traceevent: Man pages for registering print function (Michael Petlan) [1743208] - [tools] tools lib traceevent: Man pages for function related libtraceevent APIs (Michael Petlan) [1743208] - [tools] tools lib traceevent: Man pages for event handler APIs (Michael Petlan) [1743208] - [tools] tools lib traceevent: Man page for tep_strerror() (Michael Petlan) [1743208] - [tools] tools lib traceevent: Man page for page size APIs (Michael Petlan) [1743208] - [tools] tools lib traceevent: Man page for host endian APIs (Michael Petlan) [1743208] - [tools] tools lib traceevent: Man page for file endian APIs (Michael Petlan) [1743208] - [tools] tools lib traceevent: Man page for get/set cpus APIs (Michael Petlan) [1743208] - [tools] tools lib traceevent: Man page for header_page APIs (Michael Petlan) [1743208] - [tools] tools lib traceevent: Man pages for tep_handler related APIs (Michael Petlan) [1743208] - [tools] tools lib traceevent: Add support for man pages with multiple names (Michael Petlan) [1743208] - [tools] tools lib traceevent: Introduce man pages (Michael Petlan) [1743208] - [tools] perf/x86/regs: Use PERF_REG_EXTENDED_MASK (Michael Petlan) [1743208] - [tools] perf record: Fix s390 missing module symbol and warning for non-root users (Michael Petlan) [1743208] - [tools] perf machine: Read also the end of the kernel (Michael Petlan) [1743208] - [tools] perf test vmlinux-kallsyms: Ignore aliases to _etext when searching on kallsyms (Michael Petlan) [1743208] - [tools] perf session: Add missing swap ops for namespace events (Michael Petlan) [1743208] - [tools] perf namespace: Protect reading thread's namespace (Michael Petlan) [1743208] - [tools] perf data: Fix 'strncat may truncate' build failure with recent gcc (Michael Petlan) [1743208] - [tools] perf stat: Support 'percore' event qualifier (Michael Petlan) [1743208] - [tools] perf stat: Factor out aggregate counts printing (Michael Petlan) [1743208] - [tools] perf tools: Add a 'percore' event qualifier (Michael Petlan) [1743208] - [tools] perf docs: Add description for stderr (Michael Petlan) [1743208] - [tools] perf intel-pt: Fix sample timestamp wrt non-taken branches (Michael Petlan) [1743208] - [tools] perf intel-pt: Fix improved sample timestamp (Michael Petlan) [1743208] - [tools] perf intel-pt: Fix instructions sampling rate (Michael Petlan) [1743208] - [tools] perf regs x86: Add X86 specific arch__intr_reg_mask() (Michael Petlan) [1743208] - [tools] perf parse-regs: Add generic support for arch__intr/user_reg_mask() (Michael Petlan) [1743208] - [tools] perf parse-regs: Split parse_regs (Michael Petlan) [1743208] - [tools] perf vendor events arm64: Add Cortex-A57 and Cortex-A72 events (Michael Petlan) [1743208] - [tools] perf vendor events arm64: Map Brahma-B53 CPUID to cortex-a53 events (Michael Petlan) [1743208] - [tools] perf vendor events arm64: Remove [[:xdigit:]] wildcard (Michael Petlan) [1743208] - [tools] perf jevents: Remove unused variable (Michael Petlan) [1743208] - [tools] perf test zstd: Fixup verbose mode output (Michael Petlan) [1743208] - [tools] perf tests: Implement Zstd comp/decomp integration test (Michael Petlan) [1743208] - [tools] perf inject: Enable COMPRESSED record decompression (Michael Petlan) [1743208] - [tools] perf report: Implement perf.data record decompression (Michael Petlan) [1743208] - [tools] perf record: Implement -z, --compression_level[=] option (Michael Petlan) [1743208] - [tools] perf report: Add stub processing of compressed events for -D (Michael Petlan) [1743208] - [tools] perf record: Implement compression for AIO trace streaming (Michael Petlan) [1743208] - [tools] perf record: Implement compression for serial trace streaming (Michael Petlan) [1743208] - [tools] perf tools: Introduce Zstd streaming based compression API (Michael Petlan) [1743208] - [tools] perf mmap: Implement dedicated memory buffer for data compression (Michael Petlan) [1743208] - [tools] perf record: Implement COMPRESSED event record and its attributes (Michael Petlan) [1743208] - [tools] perf session: Define 'bytes_transferred' and 'bytes_compressed' metrics (Michael Petlan) [1743208] - [tools] perf build tests: Add NO_LIBZSTD=1 to make_minimal (Michael Petlan) [1743208] - [tools] perf machine: Null-terminate version char array upon fgets(/proc/version) error (Michael Petlan) [1743208] - [tools] perf vendor events intel: Add uncore_upi JSON support (Michael Petlan) [1743208] - [tools] perf scripts python: exported-sql-viewer.py: Add 'About' dialog box (Michael Petlan) [1743208] - [tools] perf scripts python: exported-sql-viewer.py: Add context menu (Michael Petlan) [1743208] - [tools] perf scripts python: exported-sql-viewer.py: Add copy to clipboard (Michael Petlan) [1743208] - [tools] perf scripts python: exported-sql-viewer.py: Add tree level (Michael Petlan) [1743208] - [tools] perf scripts python: exported-sql-viewer.py: Fix error when shrinking / enlarging font (Michael Petlan) [1743208] - [tools] perf scripts python: exported-sql-viewer.py: Move view creation (Michael Petlan) [1743208] - [tools] perf tools x86: Add support for recording and printing XMM registers (Michael Petlan) [1743208] - [tools] perf parse-regs: Improve error output when faced with unknown register name (Michael Petlan) [1743208] - [tools] perf record: Fix suggestion to get list of registers usable with --user-regs and --intr-regs (Michael Petlan) [1743208] - [tools] perf tools: Speed up report for perf compiled with linwunwind (Michael Petlan) [1743208] - [tools] tools lib traceevent: Remove hard coded install paths from pkg-config file (Michael Petlan) [1743208] - [tools] csky: Add support for libdw (Michael Petlan) [1743208] - [tools] perf test: Fix spelling mistake "leadking" -> "leaking" (Michael Petlan) [1743208] - [tools] perf annotate: Remove hist__account_cycles() from callback (Michael Petlan) [1743208] - [tools] perf vendor events intel: Update Silvermont to v14 (Michael Petlan) [1743208] - [tools] perf vendor events intel: Update GoldmontPlus to v1.01 (Michael Petlan) [1743208] - [tools] perf vendor events intel: Update Goldmont to v13 (Michael Petlan) [1743208] - [tools] perf vendor events intel: Update Bonnell to V4 (Michael Petlan) [1743208] - [tools] perf vendor events intel: Update KnightsLanding events to v9 (Michael Petlan) [1743208] - [tools] perf vendor events intel: Update Haswell events to v28 (Michael Petlan) [1743208] - [tools] perf vendor events intel: Update IvyBridge events to v21 (Michael Petlan) [1743208] - [tools] perf vendor events intel: Update SandyBridge events to v16 (Michael Petlan) [1743208] - [tools] perf vendor events intel: Update JakeTown events to v20 (Michael Petlan) [1743208] - [tools] perf vendor events intel: Update IvyTown events to v20 (Michael Petlan) [1743208] - [tools] perf vendor events intel: Update HaswellX events to v20 (Michael Petlan) [1743208] - [tools] perf vendor events intel: Update BroadwellX events to v14 (Michael Petlan) [1743208] - [tools] perf vendor events intel: Update SkylakeX events to v1.12 (Michael Petlan) [1743208] - [tools] perf vendor events intel: Update Skylake events to v42 (Michael Petlan) [1743208] - [tools] perf vendor events intel: Update Broadwell-DE events to v7 (Michael Petlan) [1743208] - [tools] perf vendor events intel: Update Broadwell events to v23 (Michael Petlan) [1743208] - [tools] perf vendor events intel: Update metrics from TMAM 3.5 (Michael Petlan) [1743208] - [tools] perf record: Implement --mmap-flush= option (Michael Petlan) [1743208] - [tools] tools build: Implement libzstd feature check, LIBZSTD_DIR and NO_LIBZSTD defines (Michael Petlan) [1743208] - [tools] tools lib traceevent: Rename input arguments and local variables of libtraceevent from pevent to tep (Michael Petlan) [1743208] - [tools] perf tools, tools lib traceevent: Rename "pevent" member of struct tep_event_filter to "tep" (Michael Petlan) [1743208] - [tools] perf tools, tools lib traceevent: Rename "pevent" member of struct tep_event to "tep" (Michael Petlan) [1743208] - [tools] tools lib traceevent: Rename input arguments of libtraceevent APIs from pevent to tep (Michael Petlan) [1743208] - [tools] tools tools, tools lib traceevent: Make traceevent APIs more consistent (Michael Petlan) [1743208] - [tools] tools lib traceevent: Remove call to exit() from tep_filter_add_filter_str() (Michael Petlan) [1743208] - [tools] tools lib traceevent: Remove tep filter trivial APIs (Michael Petlan) [1743208] - [tools] tools lib traceevent: Removed unneeded !! and return parenthesis (Michael Petlan) [1743208] - [tools] tools lib traceevent: Implement new traceevent APIs for accessing struct tep_handler fields (Michael Petlan) [1743208] - [tools] tools lib traceevent: Coding style fixes (Michael Petlan) [1743208] - [tools] tools lib traceevent: Change description of few APIs (Michael Petlan) [1743208] - [tools] tools lib traceevent: Add more debugging to see various internal ring buffer entries (Michael Petlan) [1743208] - [tools] tools lib traceevent: Implement a new API, tep_list_events_copy() (Michael Petlan) [1743208] - [tools] tools lib traceevent: Add mono clocks to be parsed in seconds (Michael Petlan) [1743208] - [tools] tools lib traceevent: Handle trace_printk() "px" (Michael Petlan) [1743208] - [tools] perf list: Output tool events (Michael Petlan) [1743208] - [tools] perf evsel: Support printing evsel name for 'duration_time' (Michael Petlan) [1743208] - [tools] perf stat: Implement duration_time as a proper event (Michael Petlan) [1743208] - [tools] perf stat: Revert checks for duration_time (Michael Petlan) [1743208] - [tools] perf list: Fix s390 counter long description for L1D_RO_EXCL_WRITES (Michael Petlan) [1743208] - [tools] perf tools: Add header defining used namespace struct to event.h (Michael Petlan) [1743208] - [tools] perf trace beauty renameat: No need to include linux/fs.h (Michael Petlan) [1743208] - [tools] perf augmented_raw_syscalls: Use a PERCPU_ARRAY map to copy more string bytes (Michael Petlan) [1743208] - [tools] perf augmented_raw_syscalls: Copy strings from all syscalls with 1st or 2nd string arg (Michael Petlan) [1743208] - [tools] perf trace: Add 'string' event alias to select syscalls with string args (Michael Petlan) [1743208] - [x86] perf/x86: Always store regs->ip in perf_callchain_kernel() (Michael Petlan) [1743208] - [x86] perf/x86: Remove pmu->pebs_no_xmm_regs (Michael Petlan) [1743208] - [x86] perf/x86: Clean up PEBS_XMM_REGS (Michael Petlan) [1743208] - [kernel] perf/x86: Disable extended registers for non-supported PMUs (Michael Petlan) [1743208] - [kernel] perf/ioctl: Add check for the sample_period value (Michael Petlan) [1743208] - [kernel] perf/core: Fix perf_sample_regs_user() mm check (Michael Petlan) [1743208] - [kernel] perf/ring-buffer: Use regular variables for nesting (Michael Petlan) [1743208] - [kernel] perf/ring-buffer: Always use {READ, WRITE}_ONCE() for rb->user_page data (Michael Petlan) [1743208] - [kernel] perf/ring_buffer: Add ordering to rb->nest increment (Michael Petlan) [1743208] - [kernel] perf/ring_buffer: Fix exposing a temporarily decreased data_head (Michael Petlan) [1743208] - [x86] perf/x86/intel/ds: Fix EVENT vs. UEVENT PEBS constraints (Michael Petlan) [1743208] - [x86] perf/x86/intel: Allow PEBS multi-entry in watermark mode (Michael Petlan) [1743208] - [x86] perf/x86/intel: Fix INTEL_FLAGS_EVENT_CONSTRAINT* masking (Michael Petlan) [1743208] - [x86] perf/x86/amd/iommu: Make the 'amd_iommu_attr_groups' symbol static (Michael Petlan) [1743208] - [x86] perf/x86/intel: Add Tremont core PMU support (Michael Petlan) [1743208] - [x86] perf/x86/intel/uncore: Add Intel Icelake uncore support (Michael Petlan) [1743208] - [x86] perf/x86/msr: Add Icelake support (Michael Petlan) [1743208] - [x86] perf/x86/intel/rapl: Add Icelake support (Michael Petlan) [1743208] - [x86] perf/x86/intel/cstate: Add Icelake support (Michael Petlan) [1743208] - [x86] perf/x86/intel: Add Icelake support (Michael Petlan) [1743208] - [x86] perf/x86: Support constraint ranges (Michael Petlan) [1743208] - [x86] perf/x86/lbr: Avoid reading the LBRs when adaptive PEBS handles them (Michael Petlan) [1743208] - [x86] perf/x86/intel: Support adaptive PEBS v4 (Michael Petlan) [1743208] - [x86] perf/x86/intel/ds: Extract code of event update in short period (Michael Petlan) [1743208] - [x86] perf/x86/intel: Extract memory code PEBS parser for reuse (Michael Petlan) [1743208] - [x86] perf/x86: Support outputting XMM registers (Michael Petlan) [1743208] - [x86] perf/x86/intel: Force resched when TFA sysctl is modified (Michael Petlan) [1743208] - [kernel] perf/core: Add perf_pmu_resched() as global function (Michael Petlan) [1743208] - [kernel] perf/headers: Fix stale comment for struct perf_addr_filter (Michael Petlan) [1743208] - [kernel] perf/core: Make perf_swevent_init_cpu() static (Michael Petlan) [1743208] - [x86] perf/x86: Add sanity checks to x86_schedule_events() (Michael Petlan) [1743208] - [x86] perf/x86: Optimize x86_schedule_events() (Michael Petlan) [1743208] - [x86] perf/x86: Clear ->event_constraint[] on put (Michael Petlan) [1743208] - [x86] perf/x86/intel: Optimize intel_get_excl_constraints() (Michael Petlan) [1743208] - [x86] perf/x86: Remove PERF_X86_EVENT_COMMITTED (Michael Petlan) [1743208] - [x86] perf/x86: Simplify x86_pmu.get_constraints() interface (Michael Petlan) [1743208] - [x86] perf/x86/intel: Simplify intel_tfa_commit_scheduling() (Michael Petlan) [1743208] - [tools] perf evsel: Do not rely on errno values for precise_ip fallback (Michael Petlan) [1715508] - [kernel] redhat: perf kABI-check failure fix (Michael Petlan) [1715508] - [tools] perf vendor events: Remove P8 HW events which are not supported (Michael Petlan) [1715508] - [x86] cpufeature: Fix various quality problems in the header (Michael Petlan) [1715508] - [x86] cpufeature: Add facility to check for min microcode revisions (Michael Petlan) [1715508] - [tools] perf tools: Remove needless asm/unistd.h include fixing build in some places (Michael Petlan) [1715508] - [tools] tools build: Add -ldl to the disassembler-four-args feature test (Michael Petlan) [1715508] - [tools] perf cs-etm: Always allocate memory for cs_etm_queue::prev_packet (Michael Petlan) [1715508] - [tools] perf cs-etm: Don't check cs_etm_queue::prev_packet validity (Michael Petlan) [1715508] - [tools] perf report: Report OOM in status line in the GTK UI (Michael Petlan) [1715508] - [tools] perf bench numa: Add define for RUSAGE_THREAD if not present (Michael Petlan) [1715508] - [tools] tools lib traceevent: Change tag string for error (Michael Petlan) [1715508] - [tools] perf annotate: Fix build on 32 bit for BPF annotation (Michael Petlan) [1715508] - [tools] perf bpf: Return value with unlocking in perf_env__find_btf() (Michael Petlan) [1715508] - [tools] perf bpf: Return NULL when RB tree lookup fails in perf_env__find_btf() (Michael Petlan) [1715508] - [tools] perf tools: Fix map reference counting (Michael Petlan) [1715508] - [tools] perf evlist: Fix side band thread draining (Michael Petlan) [1715508] - [tools] perf tools: Check maps for bpf programs (Michael Petlan) [1715508] - [tools] perf bpf: Return NULL when RB tree lookup fails in perf_env__find_bpf_prog_info() (Michael Petlan) [1715508] - [tools] tools include uapi: Sync sound/asound.h copy (Michael Petlan) [1715508] - [tools] perf top: Always sample time to satisfy needs of use of ordered queuing (Michael Petlan) [1715508] - [tools] perf evsel: Use hweight64() instead of hweight_long(attr.sample_regs_user) (Michael Petlan) [1715508] - [tools] tools lib traceevent: Fix missing equality check for strcmp (Michael Petlan) [1715508] - [tools] perf stat: Disable DIR_FORMAT feature for 'perf stat record' (Michael Petlan) [1715508] - [tools] perf scripts python: export-to-sqlite.py: Fix use of parent_id in calls_view (Michael Petlan) [1715508] - [tools] perf header: Fix lock/unlock imbalances when processing BPF/BTF info (Michael Petlan) [1715508] - [tools] perf pmu: Fix parser error for uncore event alias (Michael Petlan) [1715508] - [tools] perf scripts python: exported-sql-viewer.py: Fix never-ending loop (Michael Petlan) [1715508] - [tools] perf machine: Update kernel map address and re-order properly (Michael Petlan) [1715508] - [tools] tools headers uapi: Synchronize i915_drm.h (Michael Petlan) [1715508] - [tools] tools headers uapi: Update drm/i915_drm.h (Michael Petlan) [1715508] - [tools] perf evsel: Fix max perf_event_attr.precise_ip detection (Michael Petlan) [1715508] - [tools] perf intel-pt: Fix TSC slip (Michael Petlan) [1715508] - [tools] perf cs-etm: Add missing case value (Michael Petlan) [1715508] - [tools] perf bpf: Show more BPF program info in print_bpf_prog_info() (Michael Petlan) [1715508] - [tools] perf bpf: Extract logic to create program names from perf_event__synthesize_one_bpf_prog() (Michael Petlan) [1715508] - [tools] perf tools: Save bpf_prog_info and BTF of new BPF programs (Michael Petlan) [1715508] - [tools] perf evlist: Introduce side band thread (Michael Petlan) [1715508] - [tools] perf annotate: Enable annotation of BPF programs (Michael Petlan) [1715508] - [tools] perf build: Check what binutils's 'disassembler()' signature to use (Michael Petlan) [1715508] - [tools] tools build: Add -lrt to FEATURE_CHECK_LDFLAGS-libaio (Michael Petlan) [1715508] - [tools] tools build: Add test-reallocarray.c to test-all.c to fix the build (Michael Petlan) [1715508] - [tools] perf bpf: Process PERF_BPF_EVENT_PROG_LOAD for annotation (Michael Petlan) [1715508] - [tools] perf symbols: Introduce DSO_BINARY_TYPE__BPF_PROG_INFO (Michael Petlan) [1715508] - [tools] perf feature detection: Add -lopcodes to feature-libbfd (Michael Petlan) [1715508] - [tools] perf top: Add option --no-bpf-event (Michael Petlan) [1715508] - [tools] perf bpf: Save BTF information as headers to perf.data (Michael Petlan) [1715508] - [tools] perf bpf: Save BTF in a rbtree in perf_env (Michael Petlan) [1715508] - [tools] perf bpf: Save bpf_prog_info information as headers to perf.data (Michael Petlan) [1715508] - [tools] perf bpf: Save bpf_prog_info in a rbtree in perf_env (Michael Petlan) [1715508] - [tools] perf bpf: Make synthesize_bpf_events() receive perf_session pointer instead of perf_tool (Michael Petlan) [1715508] - [tools] perf bpf: Synthesize bpf events with bpf_program__get_prog_info_linear() (Michael Petlan) [1715508] - [tools] perf record: Replace option --bpf-event with --no-bpf-event (Michael Petlan) [1715508] - [tools] perf tests: Fix a memory leak in test__perf_evsel__tp_sched_test() (Michael Petlan) [1715508] - [tools] perf tests: Fix memory leak by expr__find_other() in test__expr() (Michael Petlan) [1715508] - [tools] perf tests: Fix a memory leak of cpu_map object in the openat_syscall_event_on_all_cpus test (Michael Petlan) [1715508] - [tools] perf evsel: Free evsel->counts in perf_evsel__exit() (Michael Petlan) [1715508] - [tools] perf top: Fix global-buffer-overflow issue (Michael Petlan) [1715508] - [tools] perf maps: Purge all maps from the 'names' tree (Michael Petlan) [1715508] - [tools] perf map: Remove map from 'names' tree in __maps__remove() (Michael Petlan) [1715508] - [tools] perf hist: Add missing map__put() in error case (Michael Petlan) [1715508] - [tools] perf top: Fix error handling in cmd_top() (Michael Petlan) [1715508] - [tools] perf top: Delete the evlist before perf_session, fixing heap-use-after-free issue (Michael Petlan) [1715508] - [tools] perf build-id: Fix memory leak in print_sdt_events() (Michael Petlan) [1715508] - [tools] perf config: Fix a memory leak in collect_config() (Michael Petlan) [1715508] - [tools] perf config: Fix an error in the config template documentation (Michael Petlan) [1715508] - [tools] perf list: Don't forget to drop the reference to the allocated thread_map (Michael Petlan) [1715508] - [tools] perf tools: Add doc about how to build perf with Asan and UBSan (Michael Petlan) [1715508] - [tools] perf vendor events: Remove P8 HW events which are not supported (Michael Petlan) [1715508] - [tools] perf stat: Improve scaling (Michael Petlan) [1715508] - [tools] perf stat: Fix --no-scale (Michael Petlan) [1715508] - [tools] perf script: Support relative time (Michael Petlan) [1715508] - [tools] perf report: Indicate JITed code better in report (Michael Petlan) [1715508] - [tools] perf report: Show all sort keys in help output (Michael Petlan) [1715508] - [tools] perf record: Clarify help for --switch-output (Michael Petlan) [1715508] - [tools] perf record: Allow to limit number of reported perf.data files (Michael Petlan) [1715508] - [tools] perf list: Filter metrics too (Michael Petlan) [1715508] - [tools] perf tools report: Add custom scripts to script menu (Michael Petlan) [1715508] - [tools] perf ui browser: Fix ui popup argv browser for many entries (Michael Petlan) [1715508] - [tools] perf script: Add array bound checking to list_scripts (Michael Petlan) [1715508] - [tools] perf tools: Add some new tips describing the new options (Michael Petlan) [1715508] - [tools] perf report: Implement browsing of individual samples (Michael Petlan) [1715508] - [tools] perf report: Support builtin perf script in scripts menu (Michael Petlan) [1715508] - [tools] perf report: Support running scripts for current time range (Michael Petlan) [1715508] - [tools] perf report: Support time sort key (Michael Petlan) [1715508] - [tools] perf script: Filter COMM/FORK/.. events by CPU (Michael Petlan) [1715508] - [tools] perf tools: Update x86's syscall_64.tbl, no change in tools/perf behaviour (Michael Petlan) [1715508] - [tools] perf script python: Add printdate function to SQL exporters (Michael Petlan) [1715508] - [tools] perf report: Use less for scripts output (Michael Petlan) [1715508] - [tools] perf session: Add process callback to reader object (Michael Petlan) [1715508] - [tools] perf header: Add DIR_FORMAT feature to describe directory data (Michael Petlan) [1715508] - [tools] perf data: Make perf_data__size() work over directory (Michael Petlan) [1715508] - [tools] perf data: Add perf_data__update_dir() function (Michael Petlan) [1715508] - [tools] perf data: Don't store auxtrace index for directory data file (Michael Petlan) [1715508] - [tools] perf data: Support having perf.data stored as a directory (Michael Petlan) [1715508] - [tools] perf vendor events amd: perf PMU events for AMD Family 17h (Michael Petlan) [1715508] - [tools] perf probe: Fix getting the kernel map (Michael Petlan) [1715508] - [tools] perf report: Parse time quantum (Michael Petlan) [1715508] - [tools] perf time-utils: Add utility function to print time stamps in nanoseconds (Michael Petlan) [1715508] - [tools] perf report: Support output in nanoseconds (Michael Petlan) [1715508] - [tools] perf script: Support insn output for normal samples (Michael Petlan) [1715508] - [tools] perf data: Force perf_data__open|close zero data->file.path (Michael Petlan) [1715508] - [tools] perf session: Fix double free in perf_data__close (Michael Petlan) [1715508] - [tools] perf evsel: Probe for precise_ip with simple attr (Michael Petlan) [1715508] - [tools] perf tools: Read and store caps/max_precise in perf_pmu (Michael Petlan) [1715508] - [tools] perf hist: Fix memory leak of srcline (Michael Petlan) [1715508] - [tools] perf hist: Add error path into hist_entry__init (Michael Petlan) [1715508] - [tools] perf diff: Support --pid/--tid filter options (Michael Petlan) [1715508] - [tools] perf diff: Support --cpu filter option (Michael Petlan) [1715508] - [tools] perf diff: Support --time filter option (Michael Petlan) [1715508] - [tools] perf thread: Generalize function to copy from thread addr space from intel-bts code (Michael Petlan) [1715508] - [tools] perf annotate: Calculate the max instruction name, align column to that (Michael Petlan) [1715508] - [tools] perf clang: Remove needless extra semicolon (Michael Petlan) [1715508] - [tools] perf bpf: Automatically add BTF ELF markers (Michael Petlan) [1715508] - [tools] perf beauty msg_flags: Add missing s lost when adding prefix suppression logic (Michael Petlan) [1715508] - [tools] perf scripts python: exported-sql-viewer.py: Add call tree (Michael Petlan) [1715508] - [tools] perf scripts python: exported-sql-viewer.py: Factor out CallGraphModelBase (Michael Petlan) [1715508] - [tools] perf scripts python: exported-sql-viewer.py: Improve TreeModel abstraction (Michael Petlan) [1715508] - [tools] perf scripts python: exported-sql-viewer.py: Factor out TreeWindowBase (Michael Petlan) [1715508] - [tools] perf scripts python: export-to-postgresql.py: Export calls parent_id (Michael Petlan) [1715508] - [tools] perf scripts python: export-to-postgresql.py: Fix invalid input syntax for integer error (Michael Petlan) [1715508] - [tools] perf scripts python: export-to-sqlite.py: Export calls parent_id (Michael Petlan) [1715508] - [tools] perf db-export: Add calls parent_id to enable creation of call trees (Michael Petlan) [1715508] - [tools] perf intel-pt: Fix divide by zero when TSC is not available (Michael Petlan) [1715508] - [tools] perf auxtrace: Improve address filter error message when there is no DSO (Michael Petlan) [1715508] - [tools] perf time-utils: Refactor time range parsing code (Michael Petlan) [1715508] - [tools] tools lib traceevent: Fix buffer overflow in arg_eval (Michael Petlan) [1715508] - [tools] perf probe: Clarify error message about not finding kernel modules debuginfo (Michael Petlan) [1715508] - [tools] replace open encodings for NUMA_NO_NODE (Michael Petlan) [1715508] - [tools] perf script python: Add Python3 support to stat-cpi.py (Michael Petlan) [1715508] - [tools] perf tools: Add perf_exe() helper to find perf binary (Michael Petlan) [1715508] - [tools] perf script: Handle missing fields with -F +. (Michael Petlan) [1715508] - [tools] perf data: Add perf_data__open_dir_data function (Michael Petlan) [1715508] - [tools] perf data: Add perf_data__(create_dir|close_dir) functions (Michael Petlan) [1715508] - [tools] perf data: Fail check_backup in case of error (Michael Petlan) [1715508] - [tools] perf data: Make check_backup work over directories (Michael Petlan) [1715508] - [tools] perf tools: Add rm_rf_perf_data function (Michael Petlan) [1715508] - [tools] perf tools: Add pattern name checking to rm_rf (Michael Petlan) [1715508] - [tools] perf tools: Add depth checking to rm_rf (Michael Petlan) [1715508] - [tools] perf data: Add global path holder (Michael Petlan) [1715508] - [tools] perf data: Move size to struct perf_data_file (Michael Petlan) [1715508] - [tools] perf scripts python: exported-sql-viewer.py: Add top calls report (Michael Petlan) [1715508] - [tools] perf scripts python: exported-sql-viewer.py: Remove no selection error (Michael Petlan) [1715508] - [tools] perf scripts python: exported-sql-viewer.py: Remove SQLTableDialogDataItem (Michael Petlan) [1715508] - [tools] perf scripts python: exported-sql-viewer.py: Create new dialog data item classes (Michael Petlan) [1715508] - [tools] perf scripts python: exported-sql-viewer.py: Move report name into ReportVars (Michael Petlan) [1715508] - [tools] perf scripts python: exported-sql-viewer.py: Factor out ReportVars (Michael Petlan) [1715508] - [tools] perf scripts python: exported-sql-viewer.py: Factor out ReportDialogBase (Michael Petlan) [1715508] - [tools] perf scripts python: exported-sql-viewer.py: Move column headers (Michael Petlan) [1715508] - [tools] perf scripts python: exported-sql-viewer.py: Hide Call Graph option if no calls table (Michael Petlan) [1715508] - [tools] perf scripts python: exported-sql-viewer.py: Remove leftover debugging prints (Michael Petlan) [1715508] - [tools] perf scripts python: exported-sql-viewer.py: Fix missing shebang (Michael Petlan) [1715508] - [tools] perf thread-stack: Hide x86 retpolines (Michael Petlan) [1715508] - [tools] perf thread-stack: Improve thread_stack__no_call_return() (Michael Petlan) [1715508] - [tools] perf tools: Make rm_rf() remove single file (Michael Petlan) [1715508] - [tools] perf cpumap: Increase debug level for cpu_map__snprint verbose output (Michael Petlan) [1715508] - [tools] perf bpf-event: Add missing new line into pr_debug call (Michael Petlan) [1715508] - [tools] perf script: Allow +- operator for type specific fields option (Michael Petlan) [1715508] - [tools] perf evsel: Force sample_type for slave events (Michael Petlan) [1715508] - [tools] perf session: Don't report zero period samples for slave events (Michael Petlan) [1715508] - [tools] perf trace: Allow dumping a BPF map after setting up BPF events (Michael Petlan) [1715508] - [tools] perf bpf: Add bpf_map dumper (Michael Petlan) [1715508] - [tools] perf doc: Fix documentation of the Flags section in perf.data (Michael Petlan) [1715508] - [tools] perf doc: Fix HEADER_CMDLINE description in perf.data documentation (Michael Petlan) [1715508] - [tools] perf report: Don't shadow inlined symbol with different addr range (Michael Petlan) [1715508] - [tools] perf tools: Use sysfs__mountpoint() when reading cpu topology (Michael Petlan) [1715508] - [tools] perf tools: Add numa_topology object (Michael Petlan) [1715508] - [tools] perf tools: Add cpu_topology object (Michael Petlan) [1715508] - [tools] perf tests shell: Skip trace+probe_vfs_getname.sh if built without trace support (Michael Petlan) [1715508] - [tools] perf header: Remove unused 'cpu_nr' field from 'struct cpu_topo' (Michael Petlan) [1715508] - [tools] perf header: Get rid of write_it label (Michael Petlan) [1715508] - [tools] perf list: Display metric expressions for --details option (Michael Petlan) [1715508] - [tools] perf tools: Fix legacy events symbol separator parsing (Michael Petlan) [1715508] - [tools] perf tools: Rename build libperf to perf (Michael Petlan) [1715508] - [tools] perf tools: Rename LIB_FILE to LIBPERF_A (Michael Petlan) [1715508] - [tools] perf tools: Compile perf with libperf-in.o instead of libperf.a (Michael Petlan) [1715508] - [tools] perf cs-etm: Modularize auxtrace_buffer fetch function (Michael Petlan) [1715508] - [tools] perf cs-etm: Modularize main packet processing loop (Michael Petlan) [1715508] - [tools] perf cs-etm: Modularize main decoder function (Michael Petlan) [1715508] - [tools] perf cs-etm: Make cs_etm__run_decoder() queue independent (Michael Petlan) [1715508] - [tools] perf cs-etm: Rethink kernel address initialisation (Michael Petlan) [1715508] - [tools] perf cs-etm: Cleaning up function cs_etm__alloc_queue() (Michael Petlan) [1715508] - [tools] perf cs-etm: Fix erroneous comment (Michael Petlan) [1715508] - [tools] perf cs-etm: Introducing function cs_etm__init_trace_params() (Michael Petlan) [1715508] - [tools] perf cs-etm: Fix memory leak in error path (Michael Petlan) [1715508] - [tools] perf cs-etm: Introducing function cs_etm_decoder__init_dparams() (Michael Petlan) [1715508] - [tools] perf cs-etm: Fix wrong return values in error path (Michael Petlan) [1715508] - [tools] perf cs-etm: Remove unused structure field "time" and "timestamp" (Michael Petlan) [1715508] - [tools] perf cs-etm: Remove unused structure field "state" (Michael Petlan) [1715508] - [tools] perf build: Add missing FEATURE_CHECK_LDFLAGS-libcrypto (Michael Petlan) [1715508] - [tools] perf unwind: Do not put libunwind-{x86, aarch64} in FEATURE_TESTS_BASIC (Michael Petlan) [1715508] - [tools] perf coresight: Do not test for libopencsd by default (Michael Petlan) [1715508] - [tools] perf trace: Filter out gnome-terminal* parent (Michael Petlan) [1715508] - [tools] perf trace: Check if the 'fd' is negative when mapping it to pathname (Michael Petlan) [1715508] - [tools] perf beauty ioctl cmd: The 'fd' arg is signed (Michael Petlan) [1715508] - [tools] perf utils: Silence "Couldn't synthesize bpf events" warning for EPERM (Michael Petlan) [1715508] - [tools] perf cs-etm: Add proper header file for symbols (Michael Petlan) [1715508] - [tools] perf record: Implement --affinity=node|cpu option (Michael Petlan) [1715508] - [tools] perf auxtrace: Add timestamp to auxtrace errors (Michael Petlan) [1715508] - [tools] perf intel-pt: Packet splitting can happen only on 32-bit (Michael Petlan) [1715508] - [tools] perf intel-pt: Fix CYC timestamp calculation after OVF (Michael Petlan) [1715508] - [tools] perf intel-pt: Fix overlap calculation for padding (Michael Petlan) [1715508] - [tools] perf auxtrace: Define auxtrace record alignment (Michael Petlan) [1715508] - [tools] perf thread-stack: Represent jmps to the start of a different symbol (Michael Petlan) [1715508] - [tools] perf thread-stack: Tidy thread_stack__no_call_return() by adding more local variables (Michael Petlan) [1715508] - [tools] perf thread-stack: Tidy thread_stack__push_cp() usage (Michael Petlan) [1715508] - [tools] perf tools: Fix split_kallsyms_for_kcore() for trampoline symbols (Michael Petlan) [1715508] - [tools] perf vendor events intel: Fix Load_Miss_Real_Latency on CLX (Michael Petlan) [1715508] - [tools] perf cs-etm: Set sample flags for exception return packet (Michael Petlan) [1715508] - [tools] perf cs-etm: Set sample flags for exception packet (Michael Petlan) [1715508] - [tools] perf cs-etm: Add traceID in packet (Michael Petlan) [1715508] - [tools] perf cs-etm: Change tuple from traceID-CPU# to traceID-metadata (Michael Petlan) [1715508] - [tools] perf cs-etm: Add exception number in exception packet (Michael Petlan) [1715508] - [tools] perf cs-etm: Set sample flags for trace discontinuity (Michael Petlan) [1715508] - [tools] perf cs-etm: Set sample flags for instruction range packet (Michael Petlan) [1715508] - [tools] perf cs-etm: Add last instruction information in packet (Michael Petlan) [1715508] - [tools] perf tools: Add documentation for BPF event selection (Michael Petlan) [1715508] - [tools] perf report: Move symbol annotation to the resort phase (Michael Petlan) [1715508] - [tools] perf evsel: Add output_resort_cb method (Michael Petlan) [1715508] - [tools] perf hists: Add argument to hists__resort_cb_t callback (Michael Petlan) [1715508] - [tools] perf record: Apply affinity masks when reading mmap buffers (Michael Petlan) [1715508] - [tools] perf tools: Add fallback versions for CPU_{OR, EQUAL}() (Michael Petlan) [1715508] - [tools] perf record: Bind the AIO user space buffers to nodes (Michael Petlan) [1715508] - [tools] perf record: Allocate affinity masks (Michael Petlan) [1715508] - [tools] perf pmu: Remove set_drv_config API (Michael Petlan) [1715508] - [tools] perf coresight: Remove set_drv_config() API (Michael Petlan) [1715508] - [tools] perf arm cs-etm: Use event attributes to send sink information to kernel (Michael Petlan) [1715508] - [tools] perf pmu: Move EVENT_SOURCE_DEVICE_PATH to PMU header file (Michael Petlan) [1715508] - [tools] perf bpf-loader: Remove unecessary includes from bpf-loader.h (Michael Petlan) [1715508] - [tools] perf powerpc kvm-stat: Add missing evlist.h header (Michael Petlan) [1715508] - [tools] perf kvm stat: Replace kvm-stat.h includes with forward declarations (Michael Petlan) [1715508] - [tools] perf pmu: Remove needless evsel.h only needs one fwd decl (Michael Petlan) [1715508] - [tools] perf tests pmu: Add missing headers (Michael Petlan) [1715508] - [tools] perf hist: Remove the needless callchain.h include from hist.h (Michael Petlan) [1715508] - [tools] perf tools: Add missing include in various places (Michael Petlan) [1715508] - [tools] perf thread: Don't include symbol.h, symbol_conf.h is enough (Michael Petlan) [1715508] - [tools] perf evsel: No need to include symbol.h in evsel.h, symbol_conf.h is enough (Michael Petlan) [1715508] - [tools] perf tools: Add missing include for symbols.h (Michael Petlan) [1715508] - [tools] perf hist: Remove symbol.h from hist.h, just fwd decls are needed (Michael Petlan) [1715508] - [tools] perf tests: Add missing headers so far obtained indirectly (Michael Petlan) [1715508] - [tools] perf map: Move structs and prototypes for map groups to a separate header (Michael Petlan) [1715508] - [tools] pref tools: Add missing map.h includes (Michael Petlan) [1715508] - [tools] perf symbols: Introduce map_symbol.h (Michael Petlan) [1715508] - [tools] perf callchain: Uninline callchain_cursor_reset() to remove map.h dependency (Michael Petlan) [1715508] - [tools] perf srccode: Move struct definition from map.h to srccode.h (Michael Petlan) [1715508] - [tools] perf arm pmu: Add missing linux/string.h header (Michael Petlan) [1715508] - [tools] perf powerpc: Add missing headers to skip-callchain-idx.c (Michael Petlan) [1715508] - [tools] perf augmented_syscalls: Convert to bpf_map() (Michael Petlan) [1715508] - [tools] perf bpf examples: Convert etcsnoop to use bpf_map() (Michael Petlan) [1715508] - [tools] perf trace: Fixup etcsnoop example (Michael Petlan) [1715508] - [tools] perf augmented_raw_syscalls: Use bpf_map() (Michael Petlan) [1715508] - [tools] perf bpf: Convert pid_map() to bpf_map() (Michael Petlan) [1715508] - [tools] perf bpf: Add bpf_map() helper (Michael Petlan) [1715508] - [tools] perf bpf: Fix synthesized PERF_RECORD_KSYMBOL/BPF_EVENT (Michael Petlan) [1715508] - [tools] perf sched: Use cached rbtrees (Michael Petlan) [1715508] - [tools] perf hist: Use cached rbtrees (Michael Petlan) [1715508] - [tools] perf symbols: Use cached rbtrees (Michael Petlan) [1715508] - [tools] perf util: Use cached rbtree for rblists (Michael Petlan) [1715508] - [tools] perf callchain: Use cached rbtrees (Michael Petlan) [1715508] - [tools] perf machine: Use cached rbtrees (Michael Petlan) [1715508] - [tools] Update rbtree implementation (Michael Petlan) [1715508] - [tools] perf callchain: No need to include perf.h (Michael Petlan) [1715508] - [tools] perf comm: Remove needless headers from comm.h (Michael Petlan) [1715508] - [tools] perf namespaces: Remove namespaces.h from .h headers (Michael Petlan) [1715508] - [tools] perf symbols: Remove some unnecessary includes from symbol.h (Michael Petlan) [1715508] - [tools] perf symbols: Remove include map.h from dso.h (Michael Petlan) [1715508] - [tools] perf block-range: Add missing headers (Michael Petlan) [1715508] - [tools] perf tools: Move branch structs to branch.h (Michael Petlan) [1715508] - [tools] perf annotate: Remove lots of headers from annotate.h (Michael Petlan) [1715508] - [tools] perf symbols: Move symbol_conf to separate file (Michael Petlan) [1715508] - [tools] perf color: Add missing stdarg.g to color.h (Michael Petlan) [1715508] - [tools] perf utils: Move perf_config using routines from color.c to separate object (Michael Petlan) [1715508] - [tools] perf top: Synthesize BPF events for pre-existing loaded BPF programs (Michael Petlan) [1715508] - [tools] perf tools: Synthesize PERF_RECORD_* for loaded BPF programs (Michael Petlan) [1715508] - [tools] perf tools: Handle PERF_RECORD_BPF_EVENT (Michael Petlan) [1715508] - [tools] perf tools: Handle PERF_RECORD_KSYMBOL (Michael Petlan) [1715508] - [tools] tools headers uapi: Sync tools/include/uapi/linux/perf_event.h (Michael Petlan) [1715508] - [tools] tools headers uapi: Sync tools/include/uapi/linux/perf_event.h (Michael Petlan) [1715508] - [tools] perf report: Display names in s390 diagnostic counter sets (Michael Petlan) [1715508] - [tools] perf tools: Remove duplicate headers (Michael Petlan) [1715508] - [tools] perf session: Add reader__process_events function (Michael Petlan) [1715508] - [tools] perf session: Add 'data_offset' member to reader object (Michael Petlan) [1715508] - [tools] perf session: Add 'data_size' member to reader object (Michael Petlan) [1715508] - [tools] perf session: Add reader object (Michael Petlan) [1715508] - [tools] perf session: Get rid of file_size variable (Michael Petlan) [1715508] - [tools] perf session: Rearrange perf_session__process_events function (Michael Petlan) [1715508] - [tools] perf tools: Replace automatic const char[] variables by statics (Michael Petlan) [1715508] - [tools] perf/doc: Update design.txt for exclude_{host|guest} flags (Michael Petlan) [1715508] - [x86] perf/x86/intel/pt: Remove software double buffering PMU capability (Michael Petlan) [1715508] - [kernel] perf/ring_buffer: Fix AUX software double buffering (Michael Petlan) [1715508] - [x86] perf/x86/amd: Update generic hardware cache events for Family 17h (Michael Petlan) [1715508] - [x86] perf/x86/amd: Add event map for AMD Family 17h (Michael Petlan) [1715508] - [x86] perf/x86: Fix incorrect PEBS_REGS (Michael Petlan) [1715508] - [kernel] perf/ring_buffer: Fix AUX record suppression (Michael Petlan) [1715508] - [kernel] perf/core: Fix the address filtering fix (Michael Petlan) [1715508] - [kernel] perf/core: Fix perf_event_disable_inatomic() race (Michael Petlan) [1715508] - [x86] perf/x86/intel: Initialize TFA MSR (Michael Petlan) [1715508] - [x86] perf/x86/intel: Fix handling of wakeup_events for multi-entry PEBS (Michael Petlan) [1715508] - [kernel] perf/core: Restore mmap record type correctly (Michael Petlan) [1715508] - [x86] perf/x86/intel: Make dev_attr_allow_tsx_force_abort static (Michael Petlan) [1715508] - [kernel] uprobes: convert uprobe.ref to refcount_t (Michael Petlan) [1715508] - [kernel] perf, bpf: Consider events with attr.bpf_event as side-band events (Michael Petlan) [1715508] - [kernel] perf/core: Mark expected switch fall-through (Michael Petlan) [1715508] - [x86] perf/x86/intel/uncore: Fix client IMC events return huge result (Michael Petlan) [1715508] - [kernel] perf/ring_buffer: Use high order allocations for AUX buffers optimistically (Michael Petlan) [1715508] - [x86] events: Mark expected switch-case fall-throughs (Michael Petlan) [1715508] - [kernel] perf, pt, coresight: Fix address filters for vmas with non-zero offset (Michael Petlan) [1715508] - [kernel] perf: Copy parent's address filter offsets on clone (Michael Petlan) [1715508] - [x86] perf/x86/intel: Add counter freezing quirk for Goldmont (Michael Petlan) [1715508] - [x86] perf/x86/intel: Clean up counter freezing quirk (Michael Petlan) [1715508] - [x86] perf/x86/intel: Clean up SNB PEBS quirk (Michael Petlan) [1715508] - [x86] perf/x86/kvm: Avoid unnecessary work in guest filtering (Michael Petlan) [1715508] - [perf] aux: Make perf_event accessible to setup_aux() (Michael Petlan) [1715508] - [kernel] perf/ring_buffer: Convert ring_buffer.aux_refcount to refcount_t (Michael Petlan) [1715508] - [kernel] perf/ring_buffer: Convert ring_buffer.refcount to refcount_t (Michael Petlan) [1715508] - [kernel] perf: Convert perf_event_context.refcount to refcount_t (Michael Petlan) [1715508] - [kernel] perf/uprobes: Convert to SPDX license identifier (Michael Petlan) [1715508] - [kernel] perf/hw_breakpoints: Convert to SPDX license identifier (Michael Petlan) [1715508] - [kernel] perf/core: Convert to SPDX license identifiers (Michael Petlan) [1715508] - [kernel] perf, bpf: Introduce PERF_RECORD_BPF_EVENT (Michael Petlan) [1715508] - [kernel] perf, bpf: Introduce PERF_RECORD_KSYMBOL (Michael Petlan) [1715508] - [kernel] perf: Remove duplicated workqueue.h include from perf_event.h (Michael Petlan) [1715508] - [tools] perf/core: Remove unused perf_flags (Michael Petlan) [1715508] - [x86] perf/core, arch/x86: Strengthen exclusion checks with PERF_PMU_CAP_NO_EXCLUDE (Michael Petlan) [1715508] - [x86] perf/core, arch/x86: Use PERF_PMU_CAP_NO_EXCLUDE for exclusion incapable PMUs (Michael Petlan) [1715508] - [kernel] perf/core: Add PERF_PMU_CAP_NO_EXCLUDE for exclusion incapable PMUs (Michael Petlan) [1715508] - [kernel] perf/core: Add function to test for event exclusion flags (Michael Petlan) [1715508]- [kernel] mm/hmm: fix ZONE_DEVICE anon page mapping reuse (Jerome Glisse) [1498655 1597758] - [gpu] drm/nouveau/dmem: missing mutex_lock in error path (Jerome Glisse) [1498655 1597758] - [mm] hmm: always return EBUSY for invalid ranges in hmm_range_{fault, snapshot} (Jerome Glisse) [1498655 1597758] - [kernel] mm/hmm: move hmm_vma_range_done and hmm_vma_fault to nouveau (Jerome Glisse) [1498655 1597758] - [kernel] mm: factor out a devm_request_free_mem_region helper (Jerome Glisse) [1498655 1597758] - [mm] don't clear ->mapping in hmm_devmem_free (Jerome Glisse) [1498655 1597758] - [mm] remove the struct hmm_device infrastructure (Jerome Glisse) [1498655 1597758] - [mm] hmm: Fix error flows in hmm_invalidate_range_start (Jerome Glisse) [1498655 1597758] - [mm] hmm: Remove confusing comment and logic from hmm_release (Jerome Glisse) [1498655 1597758] - [mm] hmm: Poison hmm_range during unregister (Jerome Glisse) [1498655 1597758] - [mm] hmm: Remove racy protection against double-unregistration (Jerome Glisse) [1498655 1597758] - [mm] hmm: Use lockdep instead of comments (Jerome Glisse) [1498655 1597758] - [mm] hmm: Hold on to the mmget for the lifetime of the range (Jerome Glisse) [1498655 1597758] - [mm] hmm: Do not use list*_rcu() for hmm->ranges (Jerome Glisse) [1498655 1597758] - [mm] hmm: Simplify hmm_get_or_create and make it reliable (Jerome Glisse) [1498655 1597758] - [kernel] mm/hmm: Remove duplicate condition test before wait_event_timeout (Jerome Glisse) [1498655 1597758] - [mm] hmm: Hold a mmgrab from hmm to mm (Jerome Glisse) [1498655 1597758] - [mm] hmm: Use hmm_mirror not mm as an argument for hmm_range_register (Jerome Glisse) [1498655 1597758] - [mm] hmm: fix use after free with struct hmm in the mmu notifiers (Jerome Glisse) [1498655 1597758] - [mm] hmm: Only set FAULT_FLAG_ALLOW_RETRY for non-blocking (Jerome Glisse) [1498655 1597758] - [mm] hmm: support automatic NUMA balancing (Jerome Glisse) [1498655 1597758] - [kernel] mm/hmm: clean up some coding style and comments (Jerome Glisse) [1498655 1597758] - [mm] hmm.c: suppress compilation warnings when CONFIG_HUGETLB_PAGE is not set (Jerome Glisse) [1498655 1597758] - [kernel] mm/hmm: convert various hmm_pfn_* to device_entry which is a better name (Jerome Glisse) [1498655 1597758] - [mm] hmm: add a helper function that fault pages and map them to a device (Jerome Glisse) [1498655 1597758] - [mm] hmm: allow to mirror vma of a file on a DAX backed filesystem (Jerome Glisse) [1498655 1597758] - [kernel] mm/hmm: add helpers to test if mm is still alive or not (Jerome Glisse) [1498655 1597758] - [mm] hmm: mirror hugetlbfs (snapshoting, faulting and DMA mapping) (Jerome Glisse) [1498655 1597758] - [documentation] [documentation] mm/hmm: add default fault flags to avoid the need to pre-fill pfns arrays (Jerome Glisse) [1498655 1597758] - [mm] hmm: improve driver API to work and wait over a range (Jerome Glisse) [1498655 1597758] - [mm] hmm: improve and rename hmm_vma_fault() to hmm_range_fault() (Jerome Glisse) [1498655 1597758] - [mm] hmm: improve and rename hmm_vma_get_pfns() to hmm_range_snapshot() (Jerome Glisse) [1498655 1597758] - [mm] hmm: do not erase snapshot when a range is invalidated (Jerome Glisse) [1498655 1597758] - [mm] hmm: use reference counting for HMM struct (Jerome Glisse) [1498655 1597758] - [kernel] mm/hmm: convert to use vm_fault_t (Jerome Glisse) [1498655 1597758] - [mm] hmm.c: remove set but not used variable 'devmem' (Jerome Glisse) [1498655 1597758] - [mm] hmm: mark hmm_devmem_{add, add_resource} EXPORT_SYMBOL_GPL (Jerome Glisse) [1498655 1597758] - [mm] hmm: replace hmm_devmem_pages_create() with devm_memremap_pages() (Jerome Glisse) [1498655 1597758] - [mm] hmm: use devm semantics for hmm_devmem_{add, remove} (Jerome Glisse) [1498655 1597758] - [mm] hmm: invalidate device page table at start of invalidation (Jerome Glisse) [1498655 1597758] - [mm] hmm: use a structure for update callback parameters (Jerome Glisse) [1498655 1597758] - [mm] hmm: properly handle migration pmd (Jerome Glisse) [1498655 1597758] - [mm] hmm: fix utf8 . (Jerome Glisse) [1498655 1597758] - [mm] hmm.c: remove unused variables align_start and align_end (Jerome Glisse) [1498655 1597758] - [hid] hyperv: Use in-place iterator API in the channel callback (Benjamin Tissoires) [1740778 1772010] - [hid] logitech-hidpp: do all FF cleanup in hidpp_ff_destroy() (Benjamin Tissoires) [1740778] - [hid] logitech-hidpp: rework device validation (Benjamin Tissoires) [1740778] - [hid] logitech-hidpp: split g920_get_config() (Benjamin Tissoires) [1740778] - [hid] fix error message in hid_open_report() (Benjamin Tissoires) [1740778] - [hid] Fix assumption that devices have inputs (Benjamin Tissoires) [1740778] - [hid] i2c-hid: add Trekstor Primebook C11B to descriptor override (Benjamin Tissoires) [1740778] - [hid] apple: Fix stuck function keys when using FN (Benjamin Tissoires) [1740778] - [hid] wacom: Fix several minor compiler warnings (Benjamin Tissoires) [1740778] - [hid] Add quirk for HP X500 PIXART OEM mouse (Benjamin Tissoires) [1740778] - [hid] hidraw: Fix invalid read in hidraw_ioctl (Benjamin Tissoires) [1740778] - [hid] logitech-dj: Fix crash when initial logi_dj_recv_query_paired_devices fails (Benjamin Tissoires) [1740778] - [hid] logitech: Fix general protection fault caused by Logitech driver (Benjamin Tissoires) [1740778] - [hid] sony: Fix memory corruption issue on cleanup (Benjamin Tissoires) [1740778] - [hid] prodikeys: Fix general protection fault during probe (Benjamin Tissoires) [1740778] - [hid] wacom: correct misreported EKR ring values (Benjamin Tissoires) [1740778] - [hid] cp2112: prevent sleeping function called from invalid context (Benjamin Tissoires) [1740778] - [hid] wacom: Correct distance scale for 2nd-gen Intuos devices (Benjamin Tissoires) [1740778] - [hid] logitech-hidpp: remove support for the G700 over USB (Benjamin Tissoires) [1740778] - [hid] revert "hid: logitech-hidpp: add USB PID for a few more supported mice" (Benjamin Tissoires) [1740778] - [hid] sony: Fix race condition between rumble and device remove (Benjamin Tissoires) [1740778] - [hid] hiddev: do cleanup in failure of opening a device (Benjamin Tissoires) [1740778] - [hid] hiddev: avoid opening a disconnected device (Benjamin Tissoires) [1740778] - [hid] input: fix a4tech horizontal wheel custom usage (Benjamin Tissoires) [1740778] - [hid] Add quirk for HP X1200 PIXART OEM mouse (Benjamin Tissoires) [1740778] - [hid] holtek: test for sanity of intfdata (Benjamin Tissoires) [1740778] - [hid] wacom: fix bit shift for Cintiq Companion 2 (Benjamin Tissoires) [1740778] - [hid] quirks: Set the INCREMENT_USAGE_ON_DUPLICATE quirk on Saitek X52 (Benjamin Tissoires) [1740778] - [hid] logitech-dj: Really fix return value of logi_dj_recv_query_hidpp_devices (Benjamin Tissoires) [1740778] - [hid] Add 044f:b320 ThrustMaster, Inc. 2 in 1 DT (Benjamin Tissoires) [1740778] - [hid] logitech-dj: add the Powerplay receiver (Benjamin Tissoires) [1740778] - [hid] logitech-hidpp: add USB PID for a few more supported mice (Benjamin Tissoires) [1740778] - [hid] logitech-dj: rename "gaming" receiver to "lightspeed" (Benjamin Tissoires) [1740778] - [hid] Add another Primax PIXART OEM mouse quirk (Benjamin Tissoires) [1740778] - [hid] wacom: generic: add touchring adjustment for 2nd Gen Pro Small (Benjamin Tissoires) [1740778] - [hid] quirks: Refactor ELAN 400 and 401 handling (Benjamin Tissoires) [1740778] - [hid] video: fbdev: don't print error message on framebuffer_alloc() failure (Benjamin Tissoires) [1740778] - [hid] logitech-dj: Fix forwarding of very long HID++ reports (Benjamin Tissoires) [1740778] - [hid] uclogic: Add support for Huion HS64 tablet (Benjamin Tissoires) [1740778] - [hid] wacom: add new MobileStudio Pro support (Benjamin Tissoires) [1740778] - [hid] wacom: generic: read the number of expected touches on a per collection basis (Benjamin Tissoires) [1740778] - [hid] wacom: generic: support the 'report valid' usage for touch (Benjamin Tissoires) [1740778] - [hid] wacom: generic: read HID_DG_CONTACTMAX from any feature report (Benjamin Tissoires) [1740778] - [hid] wacom: Add 2nd gen Intuos Pro Small support (Benjamin Tissoires) [1740778] - [hid] uclogic: Add support for Ugee Rainbow CV720 (Benjamin Tissoires) [1740778] - [hid] logitech-dj: fix return value of logi_dj_recv_query_hidpp_devices (Benjamin Tissoires) [1740778] - [input] treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 441 (Benjamin Tissoires) [1740778] - [input] treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 372 (Benjamin Tissoires) [1740778] - [kernel] treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 335 (Benjamin Tissoires) [1740778] - [hid] treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 333 (Benjamin Tissoires) [1740778] - [hid] treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 307 (Benjamin Tissoires) [1740778] - [kernel] treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 297 (Benjamin Tissoires) [1740778] - [input] treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 288 (Benjamin Tissoires) [1740778] - [kernel] treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 282 (Benjamin Tissoires) [1740778] - [kernel] treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 267 (Benjamin Tissoires) [1740778] - [hid] treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 265 (Benjamin Tissoires) [1740778] - [hid] logitech-dj: Fix 064d:c52f receiver support (Benjamin Tissoires) [1740778] - [hid] revert "hid: core: Call request_module before doing device_add" (Benjamin Tissoires) [1740778] - [hid] revert "hid: core: Do not call request_module() in async context" (Benjamin Tissoires) [1740778] - [hid] revert "hid: Increase maximum report size allowed by hid_field_extract()" (Benjamin Tissoires) [1740778] - [hid] a4tech: fix horizontal scrolling (Benjamin Tissoires) [1740778] - [hid] hyperv: Add a module description line (Benjamin Tissoires) [1740778] - [input] treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 194 (Benjamin Tissoires) [1740778] - [input] treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 178 (Benjamin Tissoires) [1740778] - [kernel] treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 177 (Benjamin Tissoires) [1740778] - [input] treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 157 (Benjamin Tissoires) [1740778] - [input] treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 156 (Benjamin Tissoires) [1740778] - [input] treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 152 (Benjamin Tissoires) [1740778] - [kernel] treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 149 (Benjamin Tissoires) [1740778] - [hid] logitech-hidpp: Add support for the S510 remote control (Benjamin Tissoires) [1740778] - [hid] logitech-hidpp: hid: make const array consumer_rdesc_start static (Benjamin Tissoires) [1740778] - [hid] logitech-dj: make const array template static (Benjamin Tissoires) [1740778] - [hid] multitouch: handle faulty Elo touch device (Benjamin Tissoires) [1740778] - [input] treewide: Add SPDX license identifier for more missed files (Benjamin Tissoires) [1740778] - [hid] wacom: Sync INTUOSP2_BT touch state after each frame if necessary (Benjamin Tissoires) [1740778] - [hid] wacom: Correct button numbering 2nd-gen Intuos Pro over Bluetooth (Benjamin Tissoires) [1740778] - [hid] wacom: Send BTN_TOUCH in response to INTUOSP2_BT eraser contact (Benjamin Tissoires) [1740778] - [hid] wacom: Don't report anything prior to the tool entering range (Benjamin Tissoires) [1740778] - [hid] wacom: Don't set tool type until we're in range (Benjamin Tissoires) [1740778] - [hid] wacom: correct touch resolution x/y typo (Benjamin Tissoires) [1740778] - [hid] wacom: generic: Correct pad syncing (Benjamin Tissoires) [1740778] - [hid] wacom: generic: only switch the mode on devices with LEDs (Benjamin Tissoires) [1740778] - [hid] logitech-dj: Add usb-id for the 27MHz MX3000 receiver (Benjamin Tissoires) [1740778] - [hid] rmi: Use SET_REPORT request on control endpoint for Acer Switch 3 and 5 (Benjamin Tissoires) [1740778] - [hid] logitech-hidpp: add support for the MX5500 keyboard (Benjamin Tissoires) [1740778] - [hid] logitech-dj: add support for the Logitech MX5500's Bluetooth Mini-Receiver (Benjamin Tissoires) [1740778] - [hid] i2c-hid: add iBall Aer3 to descriptor override (Benjamin Tissoires) [1740778] - [hid] logitech-dj: fix spelling in printk (Benjamin Tissoires) [1740778] - [hid] input: add mapping for KEY_KBD_LAYOUT_NEXT (Benjamin Tissoires) [1740778] - [hid] input: fix assignment of .value (Benjamin Tissoires) [1740778] - [hid] input: make sure the wheel high resolution multiplier is set (Benjamin Tissoires) [1740778] - [hid] logitech-dj: add usbhid dependency in Kconfig (Benjamin Tissoires) [1740778] - [hid] logitech-hidpp: add support for HID++ 1.0 consumer keys reports (Benjamin Tissoires) [1740778] - [hid] logitech-hidpp: add support for HID++ 1.0 extra mouse buttons reports (Benjamin Tissoires) [1740778] - [hid] logitech-hidpp: add support for HID++ 1.0 wheel reports (Benjamin Tissoires) [1740778] - [hid] logitech-hidpp: make hidpp10_set_register_bit a bit more generic (Benjamin Tissoires) [1740778] - [hid] logitech-hidpp: add input_device ptr to struct hidpp_device (Benjamin Tissoires) [1740778] - [hid] logitech-hidpp: do not hardcode very long report length (Benjamin Tissoires) [1740778] - [hid] logitech-hidpp: handle devices attached to 27MHz wireless receivers (Benjamin Tissoires) [1740778] - [hid] logitech-hidpp: use RAP instead of FAP to get the protocol version (Benjamin Tissoires) [1740778] - [hid] logitech-hidpp: remove unused origin_is_hid_core function parameter (Benjamin Tissoires) [1740778] - [hid] logitech-hidpp: remove double assignment from __hidpp_send_report (Benjamin Tissoires) [1740778] - [hid] logitech-hidpp: do not make failure to get the name fatal (Benjamin Tissoires) [1740778] - [hid] logitech-hidpp: ignore very-short or empty names (Benjamin Tissoires) [1740778] - [hid] logitech-hidpp: make .probe usbhid capable (Benjamin Tissoires) [1740778] - [hid] logitech-hidpp: allow non HID++ devices to be handled by this module (Benjamin Tissoires) [1740778] - [hid] logitech-dj: add support for Logitech Bluetooth Mini-Receiver (Benjamin Tissoires) [1740778] - [hid] logitech-dj: make appending of the HID++ descriptors conditional (Benjamin Tissoires) [1740778] - [hid] logitech-dj: remove false-positive error on double queueing of delayed-work (Benjamin Tissoires) [1740778] - [hid] logitech-dj: pick a better name for non-unifying receivers (Benjamin Tissoires) [1740778] - [hid] logitech-dj: deal with some KVMs adding an extra interface to the usbdev (Benjamin Tissoires) [1740778] - [hid] logitech-dj: replace dev_err calls with hid_err calls (Benjamin Tissoires) [1740778] - [hid] logitech-dj: add support for 27 MHz mouse-only receivers (Benjamin Tissoires) [1740778] - [hid] logitech-dj: add support for 27 MHz receivers (Benjamin Tissoires) [1740778] - [hid] logitech-dj: add support for the gaming unifying receiver (Benjamin Tissoires) [1740778] - [hid] logitech-dj: add support for non unifying receivers (Benjamin Tissoires) [1740778] - [hid] logitech-dj: add logi_dj_recv_queue_unknown_work helper (Benjamin Tissoires) [1740778] - [hid] logitech-dj: support sharing struct dj_receiver_dev between USB-interfaces (Benjamin Tissoires) [1740778] - [hid] logitech-dj: rename dj_receiver_dev.hdev to dj_receiver_dev.hidpp (Benjamin Tissoires) [1740778] - [hid] logitech-dj: protect the paired_dj_devices access in add_djhid_dev with the lock (Benjamin Tissoires) [1740778] - [hid] logitech-dj: remove unused querying_devices variable (Benjamin Tissoires) [1740778] - [hid] logitech-dj: do not schedule the dj report itself (Benjamin Tissoires) [1740778] - [hid] logitech-dj: remove USB dependency (Benjamin Tissoires) [1740778] - [hid] logitech-dj: declare and use a few HID++ 1.0 constants (Benjamin Tissoires) [1740778] - [hid] logitech-dj: use BIT() macro for RF Report types (Benjamin Tissoires) [1740778] - [hid] logitech-dj: fix variable naming in logi_dj_hidpp_event (Benjamin Tissoires) [1740778] - [hid] logitech-dj: reshuffle logi_dj_recv_forward_* (Benjamin Tissoires) [1740778] - [hid] logitech: Stop setting drvdata to NULL on probe failure and remove (Benjamin Tissoires) [1740778] - [hid] quirks: do not blacklist Logitech devices (Benjamin Tissoires) [1740778] - [hid] u2fzero: fail probe if not using USB transport (Benjamin Tissoires) [1740778] - [hid] u2fzero: fix compiling error in u2fzero_probe() (Benjamin Tissoires) [1740778] - [hid] revert "hid: i2c-hid: Disable runtime PM on Synaptics touchpad" (Benjamin Tissoires) [1740778] - [hid] add driver for U2F Zero built-in LED and RNG (Benjamin Tissoires) [1740778] - [hid] core: Do not call request_module() in async context (Benjamin Tissoires) [1740778] - [hid] macally: Add support for Macally ikey keyboard (Benjamin Tissoires) [1740778] - [hid] core: Call request_module before doing device_add (Benjamin Tissoires) [1740778] - [hid] core: move Usage Page concatenation to Main item (Benjamin Tissoires) [1740778] - [hid] logitech-hidpp: change low battery level threshold from 31 to 30 percent (Benjamin Tissoires) [1740778] - [hid] logitech-hidpp: remove hidpp_is_connected() (Benjamin Tissoires) [1740778] - [hid] logitech-hidpp: simplify printing of HID++ version (Benjamin Tissoires) [1740778] - [hid] picolcd: Convert to use sysfs_streq() (Benjamin Tissoires) [1740778] - [hid] hid-sensor-custom: simplify getting .driver_data (Benjamin Tissoires) [1740778] - [hid] input: add mapping for Assistant key (Benjamin Tissoires) [1740778] - [hid] i2c-hid: Disable runtime PM on Synaptics touchpad (Benjamin Tissoires) [1740778] - [hid] quirks: Fix keyboard + touchpad on Lenovo Miix 630 (Benjamin Tissoires) [1740778] - [hid] input: add mapping for "Toggle Display" key (Benjamin Tissoires) [1740778] - [hid] input: add mapping for "Full Screen" key (Benjamin Tissoires) [1740778] - [hid] input: add mapping for keyboard Brightness Up/Down/Toggle keys (Benjamin Tissoires) [1740778] - [hid] input: add mapping for Expose/Overview key (Benjamin Tissoires) [1740778] - [hid] input: fix mapping of aspect ratio key (Benjamin Tissoires) [1740778] - [hid] logitech: Handle 0 scroll events for the m560 (Benjamin Tissoires) [1740778] - [hid] debug: fix race condition with between rdesc_show() and device removal (Benjamin Tissoires) [1740778] - [hid] logitech: check the return value of create_singlethread_workqueue (Benjamin Tissoires) [1740778] - [hid] steam: fix deadlock with input devices (Benjamin Tissoires) [1740778] - [hid] uclogic: remove redudant duplicated null check on ver_ptr (Benjamin Tissoires) [1740778] - [hid] quirks: Drop misused kernel-doc annotation (Benjamin Tissoires) [1740778] - [hid] quirks: use correct format chars in dbg_hid (Benjamin Tissoires) [1740778] - [hid] Remove Waltop tablets from hid_have_special_driver (Benjamin Tissoires) [1740778] - [hid] Remove KYE tablets from hid_have_special_driver (Benjamin Tissoires) [1740778] - [hid] Remove hid-uclogic entries from hid_have_special_driver (Benjamin Tissoires) [1740778] - [hid] uclogic: Do not initialize non-USB devices (Benjamin Tissoires) [1740778] - [hid] uclogic: Add support for Ugee G5 (Benjamin Tissoires) [1740778] - [hid] uclogic: Support Gray-coded rotary encoders (Benjamin Tissoires) [1740778] - [hid] uclogic: Support faking Wacom pad device ID (Benjamin Tissoires) [1740778] - [hid] uclogic: Add support for XP-Pen Deco 01 (Benjamin Tissoires) [1740778] - [hid] uclogic: Add support for XP-Pen Star G640 (Benjamin Tissoires) [1740778] - [hid] uclogic: Add support for XP-Pen Star G540 (Benjamin Tissoires) [1740778] - [hid] uclogic: Add support for Ugee EX07S frame controls (Benjamin Tissoires) [1740778] - [hid] uclogic: Add support for Ugee M540 (Benjamin Tissoires) [1740778] - [hid] uclogic: Add support for Ugee 2150 (Benjamin Tissoires) [1740778] - [hid] uclogic: Support v2 protocol (Benjamin Tissoires) [1740778] - [hid] uclogic: Support fragmented high-res reports (Benjamin Tissoires) [1740778] - [hid] uclogic: Support in-range reporting emulation (Benjamin Tissoires) [1740778] - [hid] uclogic: Designate current protocol v1 (Benjamin Tissoires) [1740778] - [hid] uclogic: Re-initialize tablets on resume (Benjamin Tissoires) [1740778] - [hid] uclogic: Extract tablet parameter discovery into a module (Benjamin Tissoires) [1740778] - [hid] uclogic: Extract report descriptors to a module (Benjamin Tissoires) [1740778] - [hid] Clarify vendor ID reuse by Ugee tablets (Benjamin Tissoires) [1740778] - [hid] viewsonic: Support PD1011 signature pad (Benjamin Tissoires) [1740778] - [hid] kye: Add support for EasyPen M406XE (Benjamin Tissoires) [1740778] - [hid] wacom: Add support for Pro Pen slim (Benjamin Tissoires) [1740778] - [hid] roccat: Mark expected switch fall-through (Benjamin Tissoires) [1740778] - [hid] wacom: Mark expected switch fall-through (Benjamin Tissoires) [1740778] - [hid] fix Logitech WingMan Formula GP joined axes (Benjamin Tissoires) [1740778] - [hid] multitouch: Lenovo X1 Tablet Gen3 trackpoint and buttons (Benjamin Tissoires) [1740778] - [hid] steam: fix boot loop with bluetooth firmware (Benjamin Tissoires) [1740778] - [hid] Add ASUS T100CHI keyboard dock battery quirks (Benjamin Tissoires) [1740778] - [hid] Add support for Toshiba WT10A tablet bluetooth keyboard (Benjamin Tissoires) [1740778] - [hid] wacom: Move HID fix for AES serial number into wacom_hid_usage_quirk (Benjamin Tissoires) [1740778] - [hid] elan: Make array buf static, shrinks object size (Benjamin Tissoires) [1740778] - [hid] i2c-hid: Ignore input report if there's no data present on Elan touchpanels (Benjamin Tissoires) [1740778] - [hid] core: simplify active collection tracking (Benjamin Tissoires) [1740778] - [hid] Support for Maltron L90 keyboard media keys (Benjamin Tissoires) [1740778] - [hid] i2c-hid: Disable runtime PM on Goodix touchpad (Benjamin Tissoires) [1740778] - [hid] sony: Fix SHANWAN PS3 GamePad rumble and led settings support (Benjamin Tissoires) [1740778] - [hid] sony: Transform one-time SHANWAN check into quirk (Benjamin Tissoires) [1740778] - [hid] core: replace the collection tree pointers with indices (Benjamin Tissoires) [1740778] - [hid] i2c-hid: Add Odys Winbook 13 to descriptor override (Benjamin Tissoires) [1740778] - [hid] lenovo: Add checks to fix of_led_classdev_register (Benjamin Tissoires) [1740778] - [hid] intel-ish-hid: add MSI interrupt support (Benjamin Tissoires) [1740778] - [hid] debug: Change to use DEFINE_SHOW_ATTRIBUTE macro (Benjamin Tissoires) [1740778] - [hid] intel-ish-hid: fixes incorrect error handling (Benjamin Tissoires) [1740778] - [hid] logitech: Use LDJ_DEVICE macro for existing Logitech mice (Benjamin Tissoires) [1740778] - [hid] logitech: Enable high-resolution scrolling on Logitech mice (Benjamin Tissoires) [1740778] - [hid] logitech: Add function to enable HID++ 1.0 "scrolling acceleration" (Benjamin Tissoires) [1740778] - [hid] logitech-hidpp: fix typo, hiddpp to hidpp (Benjamin Tissoires) [1740778] - [hid] input: use the Resolution Multiplier for high-resolution scrolling (Benjamin Tissoires) [1740778] - [hid] core: process the Resolution Multiplier (Benjamin Tissoires) [1740778] - [hid] core: store the collections as a basic tree (Benjamin Tissoires) [1740778] - [hid] cougar: Add support for Cougar 700K Gaming Keyboard (Benjamin Tissoires) [1740778] - [hid] hidraw: enforce minors_lock locking via lockdep (Benjamin Tissoires) [1740778] - [hid] quirks: fix RetroUSB.com devices (Benjamin Tissoires) [1740778] - [kernel] hid: input: support Microsoft wireless radio control hotkey (Benjamin Tissoires) [1740778] - [kernel] hid: use macros in IS_INPUT_APPLICATION (Benjamin Tissoires) [1740778] - [hid] ite: Add USB id match for another ITE based keyboard rfkill key quirk (Benjamin Tissoires) [1740778] - [hid] revert "hid: input: Create a utility class for counting scroll events" (Benjamin Tissoires) [1740778] - [hid] revert "hid: logitech: Add function to enable HID++ 1.0 "scrolling acceleration"" (Benjamin Tissoires) [1740778] - [hid] revert "hid: logitech: Enable high-resolution scrolling on Logitech mice" (Benjamin Tissoires) [1740778] - [hid] revert "hid: logitech: Use LDJ_DEVICE macro for existing Logitech mice" (Benjamin Tissoires) [1740778] - [hid] revert "hid: logitech: fix a used uninitialized GCC warning" (Benjamin Tissoires) [1740778] - [hid] revert "hid: input: simplify/fix high-res scroll event handling" (Benjamin Tissoires) [1740778] - [hid] Add quirk for Primax PIXART OEM mice (Benjamin Tissoires) [1740778] - [hid] i2c-hid: Disable runtime PM for LG touchscreen (Benjamin Tissoires) [1740778] - [hid] steam: remove input device when a hid client is running (Benjamin Tissoires) [1740778] - [hid] revert "hid: uhid: use strlcpy() instead of strncpy()" (Benjamin Tissoires) [1740778] - [hid] uhid: forbid UHID_CREATE under KERNEL_DS or elevated privileges (Benjamin Tissoires) [1740778] - [hid] iio/hid-sensors: Fix IIO_CHAN_INFO_RAW returning wrong values for signed numbers (Benjamin Tissoires) [1740778] - [hid] input: Ignore battery reported by Symbol DS4308 (Benjamin Tissoires) [1740778] - [hid] Add quirk for Microsoft PIXART OEM mouse (Benjamin Tissoires) [1740778] - [kernel] hid: fix up .raw_event() documentation (Benjamin Tissoires) [1740778] - [hid] i2c-hid: add Direkt-Tek DTLAPY133-1 to descriptor override (Benjamin Tissoires) [1740778] - [hid] input: simplify/fix high-res scroll event handling (Benjamin Tissoires) [1740778] - [hid] we do not randomly make new drivers 'default y' (Benjamin Tissoires) [1740778] - [hid] i2c-hid: properly terminate i2c_hid_dmi_desc_override_table[] array (Benjamin Tissoires) [1740778] - [hid] alps: allow incoming reports when only the trackstick is opened (Benjamin Tissoires) [1740778] - [hid] revert "hid: add NOGET quirk for Eaton Ellipse MAX UPS" (Benjamin Tissoires) [1740778] - [hid] i2c-hid: Add a small delay after sleep command for Raydium touchpanel (Benjamin Tissoires) [1740778] - [hid] usbhid: Add quirk for Redragon/Dragonrise Seymur 2 (Benjamin Tissoires) [1740778] - [hid] wacom: Work around HID descriptor bug in DTK-2451 and DTH-2452 (Benjamin Tissoires) [1740778] - [hid] google: add dependency on Cros EC for Hammer (Benjamin Tissoires) [1740778] - [hid] elan: fix spelling mistake "registred" -> "registered" (Benjamin Tissoires) [1740778] - [hid] google: drop superfluous const before SIMPLE_DEV_PM_OPS() (Benjamin Tissoires) [1740778] - [hid] google: add support tablet mode switch for Whiskers (Benjamin Tissoires) [1740778] - [hid] magicmouse: add support for Apple Magic Trackpad 2 (Benjamin Tissoires) [1740778] - [hid] i2c-hid: override HID descriptors for certain devices (Benjamin Tissoires) [1740778] - [hid] hid-bigbenff: driver for BigBen Interactive PS3OFMINIPAD gamepad (Benjamin Tissoires) [1740778] - [hid] logitech: fix a used uninitialized GCC warning (Benjamin Tissoires) [1740778] - [hid] intel-ish-hid: using list_head for ipc write queue (Benjamin Tissoires) [1740778] - [hid] intel-ish-hid: use resource-managed api (Benjamin Tissoires) [1740778] - [hid] intel_ish-hid: Enhance API to get ring buffer sizes (Benjamin Tissoires) [1740778] - [hid] input: Set INPUT_PROP_-property for HID_UP_DIGITIZERS (Benjamin Tissoires) [1740778] - [hid] microsoft: the driver now neeed MEMLESS_FF infrastructure (Benjamin Tissoires) [1740778] - [hid] cougar: Stop processing vendor events on hid-core (Benjamin Tissoires) [1740778] - [hid] cougar: Make parameter 'g6_is_space' dinamically settable (Benjamin Tissoires) [1740778] - [hid] microsoft: Add rumble support for Xbox One S controller (Benjamin Tissoires) [1740778] - [hid] microsoft: Convert private data to be a proper struct (Benjamin Tissoires) [1740778] - [hid] logitech: Use LDJ_DEVICE macro for existing Logitech mice (Benjamin Tissoires) [1740778] - [hid] logitech: Enable high-resolution scrolling on Logitech mice (Benjamin Tissoires) [1740778] - [hid] logitech: Add function to enable HID++ 1.0 "scrolling acceleration" (Benjamin Tissoires) [1740778] - [hid] input: Create a utility class for counting scroll events (Benjamin Tissoires) [1740778] - [hid] multitouch: simplify the application retrieval (Benjamin Tissoires) [1740778] - [hid] input: do not append a suffix if the name already has it (Benjamin Tissoires) [1740778] - [hid] i2c-hid: Remove RESEND_REPORT_DESCR quirk and its handling (Benjamin Tissoires) [1740778] - [hid] i2c-hid: disable runtime PM operations on hantick touchpad (Benjamin Tissoires) [1740778] - [hid] sensor-hub: Restore fixup for Lenovo ThinkPad Helix 2 sensor hub report (Benjamin Tissoires) [1740778] - [hid] core: fix NULL pointer dereference (Benjamin Tissoires) [1740778] - [hid] hid-saitek: Add device ID for RAT 7 Contagion (Benjamin Tissoires) [1740778] - [hid] core: fix memory leak on probe (Benjamin Tissoires) [1740778] - [hid] add support for Apple Magic Keyboards (Benjamin Tissoires) [1740778] - [hid] intel_ish-hid: tx_buf memory leak on probe/remove (Benjamin Tissoires) [1740778] - [hid] intel-ish-hid: Prevent loading of driver on Mehlow (Benjamin Tissoires) [1740778] - [hid] cougar: Add support for the Cougar 500k Gaming Keyboard (Benjamin Tissoires) [1740778] - [hid] cougar: make compare_device_paths reusable (Benjamin Tissoires) [1740778] - [hid] multitouch: handle palm for touchscreens (Benjamin Tissoires) [1740778] - [hid] multitouch: touchscreens also use confidence reports (Benjamin Tissoires) [1740778] - [hid] multitouch: report MT_TOOL_PALM for non-confident touches (Benjamin Tissoires) [1740778] - [hid] microsoft: support the Surface Dial (Benjamin Tissoires) [1740778] - [hid] core: do not upper bound the collection stack (Benjamin Tissoires) [1740778] - [hid] input: enable Totem on the Dell Canvas 27 (Benjamin Tissoires) [1740778] - [hid] multitouch: remove one copy of values (Benjamin Tissoires) [1740778] - [hid] multitouch: ditch mt_report_id (Benjamin Tissoires) [1740778] - [hid] multitouch: store a per application quirks value (Benjamin Tissoires) [1740778] - [hid] multitouch: Store per collection multitouch data (Benjamin Tissoires) [1740778] - [hid] multitouch: make sure the static list of class is not changed (Benjamin Tissoires) [1740778] - [hid] elan: Add support for touchpad on the Toshiba Click Mini L9W (Benjamin Tissoires) [1740778] - [hid] elan: Add USB-id for HP x2 10-n000nd touchpad (Benjamin Tissoires) [1740778] - [hid] elan: Add a flag for selecting if the touchpad has a LED (Benjamin Tissoires) [1740778] - [hid] elan: Query resolution from the touchpad (Benjamin Tissoires) [1740778] - [hid] elan: Query device max_x and max_y value from touchpad (Benjamin Tissoires) [1740778] - [hid] elan: Hardcode finger-count and usb-interface (Benjamin Tissoires) [1740778] - [hid] elan: Correctly report MT_PRESSURE instead of TOOL_WIDTH (Benjamin Tissoires) [1740778] - [hid] elan: Stop claiming we have TOUCH_MAJOR and then never reporting it (Benjamin Tissoires) [1740778] - [hid] elan: Remove unused max_area_x and max_area_y vatiables (Benjamin Tissoires) [1740778] - [hid] hid-sony.c: Use devm_ api to simplify sc->output_report_dmabuf (Benjamin Tissoires) [1740778] - [hid] hid-sony.c: Use devm_ api to simplify sony_battery_probe() (Benjamin Tissoires) [1740778] - [hid] hid-sony.c: Use devm_ api to simplify sony_leds_init() (Benjamin Tissoires) [1740778] - [hid] hid-sony.c: Use devm_ api to simplify sony_register_sensors() (Benjamin Tissoires) [1740778] - [hid] hid-sony.c: Use devm_ api to simplify sony_register_touchpad() (Benjamin Tissoires) [1740778] - [hid] wacom: convert Wacom custom usages to standard HID usages (Benjamin Tissoires) [1740778] - [hid] wacom: Move handling of HID quirks into a dedicated function (Benjamin Tissoires) [1740778] - [hid] wacom: Replace touch_max fixup code with static touch_max definitions (Benjamin Tissoires) [1740778] - [hid] wiimote: add support for Guitar-Hero devices (Benjamin Tissoires) [1740778] - [hid] usbhid: use irqsave() in USB's complete callback (Benjamin Tissoires) [1740778] - [hid] redragon: fix num lock and caps lock LEDs (Benjamin Tissoires) [1740778] - [hid] hid-ntrig: add error handling for sysfs_create_group (Benjamin Tissoires) [1740778] - [hid] i2c-hid: Add vddl regulator control (Benjamin Tissoires) [1740778] - [uapi] input: document meanings of KEY_SCREEN and KEY_ZOOM (Benjamin Tissoires) [1740778] - [input] synaptics-rmi4 - avoid processing unknown IRQs (Benjamin Tissoires) [1740778] - [input] revert "input: elantech - enable SMBus on new (2018+) systems" (Benjamin Tissoires) [1740778] - [input] elantech - annotate fall-through case in elantech_use_host_notify() (Benjamin Tissoires) [1740778] - [samples] treewide: Add SPDX license identifier - Makefile/Kconfig (Benjamin Tissoires) [1740778] - [kernel] input: elan_i2c - remove Lenovo Legion Y7000 PnpID (Benjamin Tissoires) [1740778] - [input] synaptics - enable RMI mode for HP Spectre X360 (Benjamin Tissoires) [1740778] - [input] elantech - enable SMBus on new (2018+) systems (Benjamin Tissoires) [1740778] - [input] treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 (Benjamin Tissoires) [1740778] - [kernel] treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 234 (Benjamin Tissoires) [1740778] - [input] hyperv-keyboard: Use in-place iterator API in the channel callback (Benjamin Tissoires) [1740778] - [input] usbtouchscreen - initialize PM mutex before using it (Benjamin Tissoires) [1740778] - [input] alps - fix a mismatch between a condition check and its comment (Benjamin Tissoires) [1740778] - [input] psmouse - fix build error of multiple definition (Benjamin Tissoires) [1740778] - [input] alps - don't handle ALPS cs19 trackpoint-only device (Benjamin Tissoires) [1740778] - [input] hyperv-keyboard - remove dependencies on PAGE_SIZE for ring buffer (Benjamin Tissoires) [1740778] - [input] synaptics - fix misuse of strlcpy (Benjamin Tissoires) [1740778] - [input] synaptics - whitelist Lenovo T580 SMBus intertouch (Benjamin Tissoires) [1740778] - [input] synaptics - enable SMBUS on T480 thinkpad trackpad (Benjamin Tissoires) [1740778] - [input] joydev - extend absolute mouse detection (Benjamin Tissoires) [1740778] - [kernel] input: elan_i2c - export the device id whitelist (Benjamin Tissoires) [1740778] - [kernel] pm: suspend: Rename pm_suspend_via_s2idle() (Benjamin Tissoires) [1740778] - [kernel] pm: sleep: Add kerneldoc comments to some functions (Benjamin Tissoires) [1740778] - [input] synaptics - enable SMBus on ThinkPad E480 and E580 (Benjamin Tissoires) [1740778] - [input] synaptics-rmi4 - remove set but not used variable 'sensor_flags' (Benjamin Tissoires) [1740778] - [input] uinput - add compat ioctl number translation for UI_*_FF_UPLOAD (Benjamin Tissoires) [1740778] - [input] libps2 - mark expected switch fall-through (Benjamin Tissoires) [1740778] - [input] synaptics-rmi4 - write config register values to the right offset (Benjamin Tissoires) [1740778] - [input] synaptics-rmi4 - fix enum_fmt (Benjamin Tissoires) [1740778] - [input] synaptics-rmi4 - fill initial format (Benjamin Tissoires) [1740778] - [uapi] input: add KEY_KBD_LAYOUT_NEXT (Benjamin Tissoires) [1740778] - [input] synaptics-rmi4 - fix possible double free (Benjamin Tissoires) [1740778] - [input] hyperv-keyboard - add module description (Benjamin Tissoires) [1740778] - [input] i8042 - signal wakeup from atkbd/psmouse (Benjamin Tissoires) [1740778] - [input] evdev - use struct_size() in kzalloc() and vzalloc() (Benjamin Tissoires) [1740778] - [input] elan_i2c - add hardware ID for multiple Lenovo laptops (Benjamin Tissoires) [1740778] - [input] wacom_serial4 - add support for Wacom ArtPad II tablet (Benjamin Tissoires) [1740778] - [input] elan_i2c - add id for touchpad found in Lenovo s21e-20 (Benjamin Tissoires) [1740778] - [input] i8042 - rework DT node name comparisons (Benjamin Tissoires) [1740778] - [input] synaptics_i2c - remove redundant spinlock (Benjamin Tissoires) [1740778] - [input] elan_i2c - add ACPI ID for touchpad in Lenovo V330-15ISK (Benjamin Tissoires) [1740778] - [input] revert "input: elan_i2c - add ACPI ID for touchpad in ASUS Aspire F5-573G" (Benjamin Tissoires) [1740778] - [input] elantech - enable 3rd button support on Fujitsu CELSIUS H780 (Benjamin Tissoires) [1740778] - [uapi] input: input_event - fix the CONFIG_SPARC64 mixup (Benjamin Tissoires) [1740778] - [input] uinput - fix undefined behavior in uinput_validate_absinfo() (Benjamin Tissoires) [1740778] - [uapi] input: input_event - provide override for sparc64 (Benjamin Tissoires) [1740778] - [input] soc_button_array - fix mapping of the 5th GPIO in a PNP0C40 device (Benjamin Tissoires) [1740778] - [input] soc_button_array - add usage-page 0x01 usage-id 0xca mapping (Benjamin Tissoires) [1740778] - [input] elan_i2c - add ACPI ID for touchpad in ASUS Aspire F5-573G (Benjamin Tissoires) [1740778] - [input] synaptics - enable SMBus for HP EliteBook 840 G4 (Benjamin Tissoires) [1740778] - [input] synaptics - enable RMI on ThinkPad T560 (Benjamin Tissoires) [1740778] - [documentation] input: add `REL_WHEEL_HI_RES` and `REL_HWHEEL_HI_RES` (Benjamin Tissoires) [1740778] - [uapi] input: restore EV_ABS ABS_RESERVED (Benjamin Tissoires) [1740778] - [input] synaptics - enable SMBus for HP 15-ay000 (Benjamin Tissoires) [1740778] - [input] synaptics - add PNP ID for ThinkPad P50 to SMBus (Benjamin Tissoires) [1740778] - [input] elan_i2c - add ACPI ID for Lenovo IdeaPad 330-15ARR (Benjamin Tissoires) [1740778] - [input] elan_i2c - add support for ELAN0621 touchpad (Benjamin Tissoires) [1740778] - [documentation] revert "input: Add the `REL_WHEEL_HI_RES` event code" (Benjamin Tissoires) [1740778] - [input] atkbd - clean up indentation issue (Benjamin Tissoires) [1740778] - [input] elan_i2c - add ELAN0620 to the ACPI table (Benjamin Tissoires) [1740778] - [input] synaptics - avoid using uninitialized variable when probing (Benjamin Tissoires) [1740778] - [input] xen-kbdfront - mark expected switch fall-through (Benjamin Tissoires) [1740778] - [input] elan_i2c - add ACPI ID for Lenovo IdeaPad 330-15IGM (Benjamin Tissoires) [1740778] - [input] of_touchscreen - add support for touchscreen-min-x|y (Benjamin Tissoires) [1740778] - [input] elants_i2c - use DMA safe i2c when possible (Benjamin Tissoires) [1740778] - [input] uinput - add a schedule point in uinput_inject_events() (Benjamin Tissoires) [1740778] - [input] evdev - add a schedule point in evdev_write() (Benjamin Tissoires) [1740778] - [input] mousedev - add a schedule point in mousedev_write() (Benjamin Tissoires) [1740778] - [uapi] input: reserve 2 events code because of HID (Benjamin Tissoires) [1740778] - [input] i8042 - enable keyboard wakeups by default when s2idle is used (Benjamin Tissoires) [1740778] - [input] uinput - allow for max == min during input_absinfo validation (Benjamin Tissoires) [1740778] - [input] atakbd - fix Atari CapsLock behaviour (Benjamin Tissoires) [1740778] - [input] atakbd - fix Atari keymap (Benjamin Tissoires) [1740778] - [documentation] input: Add the `REL_WHEEL_HI_RES` event code (Benjamin Tissoires) [1740778] - [input] mark expected switch fall-throughs (Benjamin Tissoires) [1740778] - [input] evdev - switch to bitmap API (Benjamin Tissoires) [1740778] - [input] elan_i2c_smbus - cast sizeof to int for comparison (Benjamin Tissoires) [1740778] - [uapi] input: stop telling users to snail-mail Vojtech (Benjamin Tissoires) [1740778] - [documentation] input: add MT_TOOL_DIAL (Benjamin Tissoires) [1740778] - [input] i8042 - increment wakeup_count for the respective port (Benjamin Tissoires) [1740778] - [input] xen-kbdfront - allow better run-time configuration (Benjamin Tissoires) [1740778] - [xen] Sync up with the canonical protocol definitions in Xen (Benjamin Tissoires) [1740778] - [cpufreq] dev_pm_qos_update_request() can return 1 on success (Al Stone) [1739729 1725581] - [cpufreq] Make cpufreq_generic_init() return void (Al Stone) [1739729 1725581] - [cpufreq] Add QoS requests for userspace constraints (Al Stone) [1739729 1725581] - [cpufreq] intel_pstate: Reuse refresh_frequency_limits() (Al Stone) [1739729 1725581] - [cpufreq] Register notifiers with the PM QoS framework (Al Stone) [1739729 1725581] - [base] pm / qos: Add support for MIN/MAX frequency constraints (Al Stone) [1739729 1725581] - [base] pm / qos: Pass request type to dev_pm_qos_read_value() (Al Stone) [1739729 1725581] - [base] pm / qos: Rename __dev_pm_qos_read_value() and dev_pm_qos_raw_read_value() (Al Stone) [1739729 1725581] - [base] pm / qos: Pass request type to dev_pm_qos_{add|remove}_notifier() (Al Stone) [1739729 1725581] - [cpufreq] Avoid calling cpufreq_verify_current_freq() from handle_update() (Al Stone) [1739729 1725581] - [cpufreq] Consolidate cpufreq_update_current_freq() and __cpufreq_get() (Al Stone) [1739729 1725581] - [cpufreq] Don't skip frequency validation for has_target() drivers (Al Stone) [1739729 1725581] - [cpufreq] Use has_target() instead of !setpolicy (Al Stone) [1739729 1725581] - [cpufreq] Remove redundant !setpolicy check (Al Stone) [1739729 1725581] - [kernel] cpufreq: Move the IS_ENABLED(CPU_THERMAL) macro into a stub (Al Stone) [1739729 1725581] - [opp] Don't use IS_ERR on invalid supplies (Al Stone) [1739729 1725581] - [kernel] pm: sleep: Update struct wakeup_source documentation (Al Stone) [1739729 1725581] - [base] base: power: remove wakeup_sources_stats_dentry variable (Al Stone) [1739729 1725581] - [cpufreq] pcc-cpufreq: Fail initialization if driver cannot be registered (Al Stone) [1739729 1725581] - [opp] Make dev_pm_opp_set_rate() handle freq = 0 to drop performance votes (Al Stone) [1739729 1725581] - [opp] Don't overwrite rounded clk rate (Al Stone) [1739729 1725581] - [base] pm: sleep: Show how long dpm_suspend_start() and dpm_suspend_end() take (Al Stone) [1739729 1725581] - [base] pm / clk: Remove error message on out-of-memory condition (Al Stone) [1739729 1725581] - [base] base: power: clock_ops: Use of_clk_get_parent_count() (Al Stone) [1739729 1725581] - [opp] Allocate genpd_virt_devs from dev_pm_opp_attach_genpd() (Al Stone) [1739729 1725581] - [opp] Attach genpds to devices from within OPP core (Al Stone) [1739729 1725581] - [base] pm / domains: Add GENPD_FLAG_RPM_ALWAYS_ON flag (Al Stone) [1739729 1725581] - [cpufreq] Don't find governor for setpolicy drivers in cpufreq_init_policy() (Al Stone) [1739729 1725581] - [cpufreq] Explain the kobject_put() in cpufreq_policy_alloc() (Al Stone) [1739729 1725581] - [x86] cpufreq: Call transition notifier only once for each policy (Al Stone) [1739729 1725581] - [cpufreq] Fix kobject memleak (Al Stone) [1739729 1725581] - [cpufreq] centrino: Fix centrino_setpolicy() kerneldoc comment (Al Stone) [1739729 1725581] - [base] pm / domains: Allow to attach a CPU via genpd_dev_pm_attach_by_id|name() (Al Stone) [1739729 1725581] - [base] pm / domains: Search for the CPU device outside the genpd lock (Al Stone) [1739729 1725581] - [base] pm / domains: Drop unused in-parameter to some genpd functions (Al Stone) [1739729 1725581] - [base] pm / domains: Use the base device for driver_deferred_probe_check_state() (Al Stone) [1739729 1725581] - [base] pm / domains: Enable genpd_dev_pm_attach_by_id|name() for single PM domain (Al Stone) [1739729 1725581] - [base] pm / domains: Allow OF lookup for multi PM domain case from ->attach_dev() (Al Stone) [1739729 1725581] - [base] pm / domains: Don't kfree() the virtual device in the error path (Al Stone) [1739729 1725581] - [cpufreq] Move ->get callback check outside of __cpufreq_get() (Al Stone) [1739729 1725581] - [x86] tsc: Rework time_cpufreq_notifier() (Al Stone) [1739729 1725581] - [x86] tsc: Fix UV TSC initialization (Al Stone) [1739729 1725581] - [x86] tsc: Prevent result truncation on 32bit (Al Stone) [1739729 1725581] - [x86] tsc: Consolidate init code (Al Stone) [1739729 1725581] - [x86] tsc: Make use of tsc_calibrate_cpu_early() (Al Stone) [1739729 1725581] - [x86] tsc: Split native_calibrate_cpu() into early and late parts (Al Stone) [1739729 1725581] - [x86] tsc: Use TSC as sched clock early (Al Stone) [1739729 1725581] - [x86] tsc: Initialize cyc2ns when tsc frequency is determined (Al Stone) [1739729 1725581] - [x86] tsc: Calibrate tsc only once (Al Stone) [1739729 1725581] - [x86] tsc: Redefine notsc to behave as tsc=unstable (Al Stone) [1739729 1725581] - [x86] platform/uv: Provide is_early_uv_system() (Al Stone) [1739729 1725581] - [base] pm / domains: remove unnecessary unlikely() (Al Stone) [1739729 1725581] - [cpufreq] Remove needless bios_limit check in show_bios_limit() (Al Stone) [1739729 1725581] - [cpufreq] cpufreq/acpi-cpufreq.c: This fixes the following checkpatch warning (Al Stone) [1739729 1725581] - [base] pm / core: Propagate dev->power.wakeup_path when no callbacks (Al Stone) [1739729 1725581] - [base] pm / domains: Add genpd governor for CPUs (Al Stone) [1739729 1725581] - [cpuidle] Export the next timer expiration for CPUs (Al Stone) [1739729 1725581] - [base] pm / core: Introduce dpm_async_fn() helper (Al Stone) [1739729 1725581] - [cpufreq] boost: Remove CONFIG_CPU_FREQ_BOOST_SW Kconfig option (Al Stone) [1739729 1725581] - [opp] Introduce dev_pm_opp_find_freq_ceil_by_volt() (Al Stone) [1739729 1725581] - [base] pm / domains: Add support for CPU devices to genpd (Al Stone) [1739729 1725581] - [base] pm / domains: Add generic data pointer to struct genpd_power_state (Al Stone) [1739729 1725581] - [cpufreq] rhel: cpufreq: switch printk users from pf and pF to ps and pS, respectively (Al Stone) [1739729 1725581] - [base] pm / core: fix kerneldoc comment for device_pm_wait_for_dev() (Al Stone) [1739729 1725581] - [base] pm / core: fix kerneldoc comment for dpm_watchdog_handler() (Al Stone) [1739729 1725581] - [cpufreq] stats: Use lock by stat to replace global spin lock (Al Stone) [1739729 1725581] - [cpufreq] Remove cpufreq_driver check in cpufreq_boost_supported() (Al Stone) [1739729 1725581] - [cpufreq] ppc_cbe: fix possible object reference leak (Al Stone) [1739729 1725581] - [cpufreq] cpufreq: Convert some slow-path static_cpu_has() callers to boot_cpu_has() (Al Stone) [1739729 1725581] - [cpufreq] intel_pstate: Update max frequency on global turbo changes (Al Stone) [1739729 1725581] - [base] pm / wakeup: Use pm_pr_dbg() instead of pr_debug() (Al Stone) [1739729 1725581] - [cpufreq] Add cpufreq_cpu_acquire() and cpufreq_cpu_release() (Al Stone) [1739729 1725581] - [cpufreq] intel_pstate: Driver-specific handling of _PPC updates (Al Stone) [1739729 1725581] - [cpufreq] intel_pstate: Load only on Intel hardware (Al Stone) [1739729 1725581] - [cpufreq] scpi: Fix use after free (Al Stone) [1739729 1725581] - [base] pm / domains: Avoid a potential deadlock (Al Stone) [1739729 1725581] - [cpufreq] intel_pstate: Fix up iowait_boost computation (Al Stone) [1739729 1725581] - [opp] pm / opp: Update performance state when freq == old_freq (Al Stone) [1739729 1725581] - [base] pm / wakeup: Drop wakeup_source_drop() (Al Stone) [1739729 1725581] - [base] pm / wakeup: Rework wakeup source timer cancellation (Al Stone) [1739729 1725581] - [base] pm / domains: Remove one unnecessary blank line (Al Stone) [1739729 1725581] - [base] pm / domains: Return early for all errors in _genpd_power_off() (Al Stone) [1739729 1725581] - [base] pm / domains: Improve warn for multiple states but no governor (Al Stone) [1739729 1725581] - [opp] Fix handling of multiple power domains (Al Stone) [1739729 1725581] - [base] pm / qos: Fix typo in file description (Al Stone) [1739729 1725581] - [base] pm-runtime: Call pm_runtime_active|suspended_time() from sysfs (Al Stone) [1739729 1725581] - [base] pm-runtime: Consolidate code to get active/suspended time (Al Stone) [1739729 1725581] - [base] pm: Add and use pr_fmt() (Al Stone) [1739729 1725581] - [cpufreq] Improve kerneldoc comments for cpufreq_cpu_get/put() (Al Stone) [1739729 1725581] - [cpufreq] acpi-cpufreq: Report if CPU doesn't support boost technologies (Al Stone) [1739729 1725581] - [base] driver core: Fix PM-runtime for links added during consumer probe (Al Stone) [1739729 1725581] - [cpufreq] Pass updated policy to driver ->setpolicy() callback (Al Stone) [1739729 1725581] - [cpufreq] Fix two debug messages in cpufreq_set_policy() (Al Stone) [1739729 1725581] - [cpufreq] Reorder and simplify cpufreq_update_policy() (Al Stone) [1739729 1725581] - [cpufreq] Add kerneldoc comments for two core functions (Al Stone) [1739729 1725581] - [cpufreq] scmi: Fix use-after-free in scmi_cpufreq_exit() (Al Stone) [1739729 1725581] - [kernel] pm / core: Add support to skip power management in device/driver model (Al Stone) [1739729 1725581] - [cpufreq] intel_pstate: Rework iowait boosting to be less aggressive (Al Stone) [1739729 1725581] - [cpufreq] intel_pstate: Eliminate intel_pstate_get_base_pstate() (Al Stone) [1739729 1725581] - [cpufreq] intel_pstate: Avoid redundant initialization of local vars (Al Stone) [1739729 1725581] - [cpufreq] cpufreq / cppc: Work around for Hisilicon CPPC cpufreq (Al Stone) [1739729 1725581] - [cpufreq] speedstep: convert BUG() to BUG_ON() (Al Stone) [1739729 1725581] - [cpufreq] powernv: fix missing check of return value in init_powernv_pstates() (Al Stone) [1739729 1725581] - [cpufreq] pcc-cpufreq: remove unneeded semicolon (Al Stone) [1739729 1725581] - [kernel] pm / domains: Mark "name" const in dev_pm_domain_attach_by_name() (Al Stone) [1739729 1725581] - [kernel] pm / domains: Mark "name" const in genpd_dev_pm_attach_by_name() (Al Stone) [1739729 1725581] - [cpufreq] Replace double NOT (!!) with single NOT (!) (Al Stone) [1739729 1725581] - [base] pm / suspend: Print debug messages for device using direct-complete (Al Stone) [1739729 1725581] - [cpufreq] intel_pstate: Add reasons for failure and debug messages (Al Stone) [1739729 1725581] - [base] driver core: Fix possible supplier PM-usage counter imbalance (Al Stone) [1739729 1725581] - [base] pm-runtime: Fix __pm_runtime_set_status() race with runtime resume (Al Stone) [1739729 1725581] - [cpufreq] dt: Implement online/offline() callbacks (Al Stone) [1739729 1725581] - [cpufreq] Allow light-weight tear down and bring up of CPUs (Al Stone) [1739729 1725581] - [base] pm-runtime: Take suppliers into account in __pm_runtime_set_status() (Al Stone) [1739729 1725581] - [opp] no need to check return value of debugfs_create functions (Al Stone) [1739729 1725581] - [cpufreq] scmi: Register an Energy Model (Al Stone) [1739729 1725581] - [opp] pm / opp: Introduce a power estimation helper (Al Stone) [1739729 1725581] - [opp] pm / opp: Remove unused parameter of _generic_set_opp_clk_only() (Al Stone) [1739729 1725581] - [cpufreq] scpi: Register an Energy Model (Al Stone) [1739729 1725581] - [cpufreq] dt: Register an Energy Model (Al Stone) [1739729 1725581] - [cpufreq] stats: Fix concurrency issues while resetting stats (Al Stone) [1739729 1725581] - [cpufreq] stats: Declare freq-attr right after their callbacks (Al Stone) [1739729 1725581] - [base] driver core: Do not call rpm_put_suppliers() in pm_runtime_drop_link() (Al Stone) [1739729 1725581] - [base] driver core: Fix handling of runtime PM flags in device_link_add() (Al Stone) [1739729 1725581] - [base] driver core: Do not resume suppliers under device_links_write_lock() (Al Stone) [1739729 1725581] - [base] driver core: Avoid careless re-use of existing device links (Al Stone) [1739729 1725581] - [base] driver core: Fix DL_FLAG_AUTOREMOVE_SUPPLIER device link flag handling (Al Stone) [1739729 1725581] - [base] driver core: Add flag to autoremove device link on supplier unbind (Al Stone) [1739729 1725581] - [base] driver core: Rename flag AUTOREMOVE to AUTOREMOVE_CONSUMER (Al Stone) [1739729 1725581] - [base] pm-runtime: update accounting_timestamp on enable (Al Stone) [1739729 1725581] - [cpufreq] scpi: Use auto-registration of thermal cooling device (Al Stone) [1739729 1725581] - [cpufreq] scmi: Use auto-registration of thermal cooling device (Al Stone) [1739729 1725581] - [cpufreq] cpufreq-dt: Use auto-registration of thermal cooling device (Al Stone) [1739729 1725581] - [cpufreq] Auto-register the driver as a thermal cooling device if asked (Al Stone) [1739729 1725581] - [cpufreq] thermal: cpu_cooling: Require thermal core to be compiled in (Al Stone) [1739729 1725581] - [cpufreq] Use struct kobj_attribute instead of struct global_attr (Al Stone) [1739729 1725581] - [base] pm / wakeup: fix kerneldoc comment for pm_wakeup_dev_event() (Al Stone) [1739729 1725581] - [base] pm: domains: no need to check return value of debugfs_create functions (Al Stone) [1739729 1725581] - [opp] Add support for parsing the 'opp-level' property (Al Stone) [1739729 1725581] - [kernel] cpufreq: Replace open-coded << with BIT() (Al Stone) [1739729 1725581] - [base] pm: clock_ops: fix missing clk_prepare() return value check (Al Stone) [1739729 1725581] - [cpufreq] e_powersaver: Use struct_size() in kzalloc() (Al Stone) [1739729 1725581] - [cpufreq] Don't update new_policy on failures (Al Stone) [1739729 1725581] - [cpufreq] scmi: Fix frequency invariance in slow path (Al Stone) [1739729 1725581] - [cpufreq] check if policy is inactive early in __cpufreq_get() (Al Stone) [1739729 1725581] - [opp] cpufreq: scpi/scmi: Fix freeing of dynamic OPPs (Al Stone) [1739729 1725581] - [base] pm: sleep: call devfreq suspend/resume (Al Stone) [1739729 1725581] - [devfreq] pm / devfreq: add devfreq_suspend/resume() functions (Al Stone) [1739729 1725581] - [base] pm / domains: remove define_genpd_open_function() and define_genpd_debugfs_fops() (Al Stone) [1739729 1725581] - [base] pm / domains: Propagate performance state updates (Al Stone) [1739729 1725581] - [base] pm / domains: Factorize dev_pm_genpd_set_performance_state() (Al Stone) [1739729 1725581] - [base] pm / domains: Save OPP table pointer in genpd (Al Stone) [1739729 1725581] - [opp] Don't return 0 on error from of_get_required_opp_performance_state() (Al Stone) [1739729 1725581] - [opp] Add dev_pm_opp_xlate_performance_state() helper (Al Stone) [1739729 1725581] - [opp] Improve _find_table_of_opp_np() (Al Stone) [1739729 1725581] - [base] pm / domains: Make genpd performance states orthogonal to the idlestates (Al Stone) [1739729 1725581] - [opp] Fix missing debugfs supply directory for OPPs (Al Stone) [1739729 1725581] - [opp] Use opp_table->regulators to verify no regulator case (Al Stone) [1739729 1725581] - [base] pm: Switch to use ptR (Al Stone) [1739729 1725581] - [cpufreq] powernv: add of_node_put() (Al Stone) [1739729 1725581] - [cpufreq] intel_pstate: Force HWP min perf before offline (Al Stone) [1739729 1725581] - [cpufreq] cpufreq: change CONFIG_6xx to CONFIG_PPC_BOOK3S_32 (Al Stone) [1739729 1725581] - [opp] Fix parsing of multiple phandles in "operating-points-v2" property (Al Stone) [1739729 1725581] - [opp] Remove of_dev_pm_opp_find_required_opp() (Al Stone) [1739729 1725581] - [base] opp: Rename and relocate of_genpd_opp_to_performance_state() (Al Stone) [1739729 1725581] - [opp] Configure all required OPPs (Al Stone) [1739729 1725581] - [opp] Add dev_pm_opp_{set|put}_genpd_virt_dev() helper (Al Stone) [1739729 1725581] - [base] pm / domains: Add genpd_opp_to_performance_state() (Al Stone) [1739729 1725581] - [opp] Populate OPPs from "required-opps" property (Al Stone) [1739729 1725581] - [opp] Populate required opp tables from "required-opps" property (Al Stone) [1739729 1725581] - [opp] Separate out custom OPP handler specific code (Al Stone) [1739729 1725581] - [opp] Identify and mark genpd OPP tables (Al Stone) [1739729 1725581] - [base] pm / domains: Rename genpd virtual devices as virt_dev (Al Stone) [1739729 1725581] - [cpufreq] remove unused arm_big_little_dt driver (Al Stone) [1739729 1725581] - [cpufreq] drop ARM_BIG_LITTLE_CPUFREQ support for ARM64 (Al Stone) [1739729 1725581] - [cpufreq] intel_pstate: Fix compilation for !CONFIG_ACPI (Al Stone) [1739729 1725581] - [base] pm / domains: Deal with multiple states but no governor in genpd (Al Stone) [1739729 1725581] - [base] pm / domains: Don't treat zero found compatible idle states as an error (Al Stone) [1739729 1725581] - [cpufreq] conservative: Take limits changes into account properly (Al Stone) [1739729 1725581] - [opp] pm / opp: _of_add_opp_table_v2(): increment count only if OPP is added (Al Stone) [1739729 1725581] - [cpufreq] dt: Try freeing static OPPs only if we have added them (Al Stone) [1739729 1725581] - [opp] Return error on error from dev_pm_opp_get_opp_count() (Al Stone) [1739729 1725581] - [opp] Improve error handling in dev_pm_opp_of_cpumask_add_table() (Al Stone) [1739729 1725581] - [cpufreq] cpufreq / cppc: Mark acpi_ids as used (Al Stone) [1739729 1725581] - [opp] Pass OPP table to _of_add_opp_table_v{1|2}() (Al Stone) [1739729 1725581] - [opp] Prevent creating multiple OPP tables for devices sharing OPP nodes (Al Stone) [1739729 1725581] - [opp] Use a single mechanism to free the OPP table (Al Stone) [1739729 1725581] - [opp] Don't remove dynamic OPPs from _dev_pm_opp_remove_table() (Al Stone) [1739729 1725581] - [opp] Create separate kref for static OPPs list (Al Stone) [1739729 1725581] - [opp] Don't take OPP table's kref for static OPPs (Al Stone) [1739729 1725581] - [opp] Parse OPP table's DT properties from _of_init_opp_table() (Al Stone) [1739729 1725581] - [opp] Pass index to _of_init_opp_table() (Al Stone) [1739729 1725581] - [opp] Protect dev_list with opp_table lock (Al Stone) [1739729 1725581] - [opp] Don't try to remove all OPP tables on failure (Al Stone) [1739729 1725581] - [opp] Free OPP table properly on performance state irregularities (Al Stone) [1739729 1725581] - [cpufreq] Convert to using pOFn instead of device_node.name (Al Stone) [1739729 1725581] - [cpufreq] remove unnecessary unlikely() (Al Stone) [1739729 1725581] - [base] pm / clk: signedness bug in of_pm_clk_add_clks() (Al Stone) [1739729 1725581] - [trace] cpufreq: trace frequency limits change (Al Stone) [1739729 1725581] - [cpufreq] pcc-cpufreq: Disable dynamic scaling on many-CPU systems (Al Stone) [1739729 1725581] - [base] pm / domains: Stop deferring probe at the end of initcall (Al Stone) [1739729 1725581] - [base] driver: core: Allow subsystems to continue deferring probe (Al Stone) [1739729 1725581] - [base] driver core: allow stopping deferred probe after init (Al Stone) [1739729 1725581] - [base] driver core: add a debugfs entry to show deferred devices (Al Stone) [1739729 1725581] - [base] pm / domains: Introduce dev_pm_domain_attach_by_name() (Al Stone) [1739729 1725581] - [base] pm / domains: Introduce option to attach a device by name to genpd (Al Stone) [1739729 1725581] - [cpufreq] intel_pstate: use match_string() helper (Al Stone) [1739729 1725581] - [fs] ceph: use ceph_evict_inode to cleanup inode's resource (Jeff Layton) [1767959] - [fs] ceph: return -EINVAL if given fsc mount option on kernel w/o support (Jeff Layton) [1767959] - [fs] ceph: don't try to handle hashed dentries in non-O_CREAT atomic_open (Jeff Layton) [1767959] - [fs] ceph: add missing check in d_revalidate snapdir handling (Jeff Layton) [1767959] - [fs] ceph: fix RCU case handling in ceph_d_revalidate() (Jeff Layton) [1767959] - [fs] ceph: fix use-after-free in __ceph_remove_cap() (Jeff Layton) [1767959] - [block] rbd: cancel lock_dwork if the wait is interrupted (Jeff Layton) [1767959] - [fs] ceph: just skip unrecognized info in ceph_reply_info_extra (Jeff Layton) [1767959] - [fs] ceph: call ceph_mdsc_destroy from destroy_fs_client (Jeff Layton) [1767959] - [net] libceph: use ceph_kvmalloc() for osdmap arrays (Jeff Layton) [1767959] - [net] libceph: avoid a __vmalloc() deadlock in ceph_kvmalloc() (Jeff Layton) [1767959] - [fs] ceph: include ceph_debug.h in cache.c (Jeff Layton) [1767959] - [fs] ceph: move static keyword to the front of declarations (Jeff Layton) [1767959] - [block] rbd: pull rbd_img_request_create() dout out into the callers (Jeff Layton) [1767959] - [fs] ceph: reconnect connection if session hang in opening state (Jeff Layton) [1767959] - [net] libceph: drop unused con parameter of calc_target() (Jeff Layton) [1767959] - [fs] ceph: use release_pages() directly (Jeff Layton) [1767959] - [block] rbd: fix response length parameter for encoded strings (Jeff Layton) [1767959] - [fs] ceph: allow arbitrary security.* xattrs (Jeff Layton) [1767959] - [fs] ceph: only set CEPH_I_SEC_INITED if we got a MAC label (Jeff Layton) [1767959] - [fs] ceph: turn ceph_security_invalidate_secctx into static inline (Jeff Layton) [1767959] - [fs] ceph: add buffered/direct exclusionary locking for reads and writes (Jeff Layton) [1767959] - [net] libceph: handle OSD op ceph_pagelist_append() errors (Jeff Layton) [1767959] - [fs] ceph: don't return a value from void function (Jeff Layton) [1767959] - [fs] ceph: don't freeze during write page faults (Jeff Layton) [1767959] - [fs] ceph: update the mtime when truncating up (Jeff Layton) [1767959] - [fs] ceph: fix indentation in __get_snap_name() (Jeff Layton) [1767959] - [fs] ceph: remove incorrect comment above __send_cap (Jeff Layton) [1767959] - [fs] ceph: remove CEPH_I_NOFLUSH (Jeff Layton) [1767959] - [fs] ceph: remove unneeded test in try_flush_caps (Jeff Layton) [1767959] - [fs] ceph: have __mark_caps_flushing return flush_tid (Jeff Layton) [1767959] - [fs] ceph: fix comments over ceph_add_cap (Jeff Layton) [1767959] - [fs] ceph: eliminate session->s_trim_caps (Jeff Layton) [1767959] - [fs] ceph: fetch cap_gen under spinlock in ceph_add_cap (Jeff Layton) [1767959] - [fs] ceph: remove ceph_get_cap_mds and __ceph_get_cap_mds (Jeff Layton) [1767959] - [fs] ceph: don't SetPageError on writepage errors (Jeff Layton) [1767959] - [fs] ceph: auto reconnect after blacklisted (Jeff Layton) [1767959] - [fs] ceph: invalidate all write mode filp after reconnect (Jeff Layton) [1767959] - [fs] ceph: return -EIO if read/write against filp that lost file locks (Jeff Layton) [1767959] - [fs] ceph: add helper function that forcibly reconnects to ceph cluster (Jeff Layton) [1767959] - [fs] ceph: pass filp to ceph_get_caps() (Jeff Layton) [1767959] - [fs] ceph: track and report error of async metadata operation (Jeff Layton) [1767959] - [fs] ceph: allow closing session in restarting/reconnect state (Jeff Layton) [1767959] - [net] libceph: add function that clears osd client's abort_err (Jeff Layton) [1767959] - [net] libceph: add function that reset client's entity addr (Jeff Layton) [1767959] - [fs] ceph: don't list vxattrs in listxattr() (Jeff Layton) [1767959] - [fs] ceph: fix directories inode i_blkbits initialization (Jeff Layton) [1767959] - [block] rbd: restore zeroing past the overlap when reading from parent (Jeff Layton) [1767959] - [net] libceph: don't call crypto_free_sync_skcipher() on a NULL tfm (Jeff Layton) [1767959] - [net] libceph: fix PG split vs OSD (re)connect race (Jeff Layton) [1767959] - [fs] ceph: don't try fill file_lock on unsuccessful GETFILELOCK reply (Jeff Layton) [1767959] - [fs] ceph: clear page dirty before invalidate page (Jeff Layton) [1767959] - [fs] ceph: fix buffer free while holding i_ceph_lock in fill_inode() (Jeff Layton) [1767959] - [fs] ceph: fix buffer free while holding i_ceph_lock in __ceph_build_xattrs_blob() (Jeff Layton) [1767959] - [fs] ceph: fix buffer free while holding i_ceph_lock in __ceph_setxattr() (Jeff Layton) [1767959] - [kernel] libceph: allow ceph_buffer_put() to receive a NULL ceph_buffer (Jeff Layton) [1767959] - [fs] ceph: fix end offset in truncate_inode_pages_range call (Jeff Layton) [1767959] - [fs] ceph: initialize superblock s_time_gran to 1 (Jeff Layton) [1767959] - [block] rbd: setallochint only if object doesn't exist (Jeff Layton) [1767959] - [block] rbd: support for object-map and fast-diff (Jeff Layton) [1767959] - [block] rbd: call rbd_dev_mapping_set() from rbd_dev_image_probe() (Jeff Layton) [1767959] - [net] libceph: export osd_req_op_data() macro (Jeff Layton) [1767959] - [net] libceph: change ceph_osdc_call() to take page vector for response (Jeff Layton) [1767959] - [kernel] libceph: bump CEPH_MSG_MAX_DATA_LEN (again) (Jeff Layton) [1767959] - [block] rbd: new exclusive lock wait/wake code (Jeff Layton) [1767959] - [block] rbd: quiescing lock should wait for image requests (Jeff Layton) [1767959] - [block] rbd: lock should be quiesced on reacquire (Jeff Layton) [1767959] - [block] rbd: introduce copyup state machine (Jeff Layton) [1767959] - [block] rbd: rename rbd_obj_setup_*() to rbd_obj_init_*() (Jeff Layton) [1767959] - [block] rbd: move OSD request allocation into object request state machines (Jeff Layton) [1767959] - [block] rbd: factor out __rbd_osd_setup_discard_ops() (Jeff Layton) [1767959] - [block] rbd: factor out rbd_osd_setup_copyup() (Jeff Layton) [1767959] - [block] rbd: introduce obj_req->osd_reqs list (Jeff Layton) [1767959] - [fs] libceph: rename r_unsafe_item to r_private_item (Jeff Layton) [1767959] - [block] rbd: introduce image request state machine (Jeff Layton) [1767959] - [block] rbd: move OSD request submission into object request state machines (Jeff Layton) [1767959] - [block] rbd: get rid of RBD_OBJ_WRITE_{FLAT, GUARD} (Jeff Layton) [1767959] - [block] rbd: replace obj_req->tried_parent with obj_req->read_state (Jeff Layton) [1767959] - [block] rbd: get rid of obj_req->xferred, obj_req->result and img_req->xferred (Jeff Layton) [1767959] - [fs] ceph: don't NULL terminate virtual xattrs (Jeff Layton) [1767959] - [fs] ceph: return -ERANGE if virtual xattr value didn't fit in buffer (Jeff Layton) [1767959] - [fs] ceph: make getxattr_cb return ssize_t (Jeff Layton) [1767959] - [fs] ceph: more precise CEPH_CLIENT_CAPS_PENDING_CAPSNAP (Jeff Layton) [1767959] - [fs] ceph: kick flushing and flush snaps before sending normal cap message (Jeff Layton) [1767959] - [fs] ceph: clear CEPH_I_KICK_FLUSH flag inside __kick_flushing_caps() (Jeff Layton) [1767959] - [fs] ceph: increment change_attribute on local changes (Jeff Layton) [1767959] - [fs] ceph: handle change_attr in cap messages (Jeff Layton) [1767959] - [fs] ceph: add change_attr field to ceph_inode_info (Jeff Layton) [1767959] - [kernel] iversion: add a routine to update a raw value with a larger one (Jeff Layton) [1767959] - [fs] ceph: allow querying of STATX_BTIME in ceph_getattr (Jeff Layton) [1767959] - [kernel] libceph: turn on CEPH_FEATURE_MSG_ADDR2 (Jeff Layton) [1767959] - [fs] ceph: handle btime in cap messages (Jeff Layton) [1767959] - [fs] ceph: add btime field to ceph_inode_info (Jeff Layton) [1767959] - [net] libceph: rename ceph_encode_addr to ceph_encode_banner_addr (Jeff Layton) [1767959] - [net] libceph: use TYPE_LEGACY for entity addrs instead of TYPE_NONE (Jeff Layton) [1767959] - [net] ceph: fix decode_locker to use ceph_decode_entity_addr (Jeff Layton) [1767959] - [fs] ceph: have MDS map decoding use entity_addr_t decoder (Jeff Layton) [1767959] - [net] libceph: correctly decode ADDR2 addresses in incremental OSD maps (Jeff Layton) [1767959] - [net] libceph: fix watch_item_t decoding to use ceph_decode_entity_addr (Jeff Layton) [1767959] - [net] libceph: switch osdmap decoding to use ceph_decode_entity_addr (Jeff Layton) [1767959] - [net] libceph: ADDR2 support for monmap (Jeff Layton) [1767959] - [net] libceph: add ceph_decode_entity_addr (Jeff Layton) [1767959] - [net] libceph: fix sa_family just after reading address (Jeff Layton) [1767959] - [fs] ceph: remove request from waiting list before unregister (Jeff Layton) [1767959] - [fs] ceph: don't blindly unregister session that is in opening state (Jeff Layton) [1767959] - [fs] ceph: fix infinite loop in get_quota_realm() (Jeff Layton) [1767959] - [fs] ceph: add selinux support (Jeff Layton) [1767959] - [fs] ceph: rename struct ceph_acls_info to ceph_acl_sec_ctx (Jeff Layton) [1767959] - [fs] ceph: fix debug print format in __set_xattr() (Jeff Layton) [1767959] - [fs] ceph: fix warning PTR_ERR_OR_ZERO can be used (Jeff Layton) [1767959] - [fs] ceph: hold i_ceph_lock when removing caps for freeing inode (Jeff Layton) [1767959] - [fs] ceph: ensure d_name/d_parent stability in ceph_mdsc_lease_send_msg() (Jeff Layton) [1767959] - [fs] ceph: use READ_ONCE to access d_parent in RCU critical section (Jeff Layton) [1767959] - [fs] ceph: fix dir_lease_is_valid() (Jeff Layton) [1767959] - [fs] ceph: close race between d_name_cmp() and update_dentry_lease() (Jeff Layton) [1767959] - [fs] ceph: fix improper use of smp_mb__before_atomic() (Jeff Layton) [1767959] - [fs] ceph: fix "ceph.dir.rctime" vxattr value (Jeff Layton) [1767959] - [fs] ceph: remove unused vxattr length helpers (Jeff Layton) [1767959] - [fs] ceph: fix listxattr vxattr buffer length calculation (Jeff Layton) [1767959] - [fs] ceph: add ceph.snap.btime vxattr (Jeff Layton) [1767959] - [fs] ceph: carry snapshot creation time with inodes (Jeff Layton) [1767959] - [fs] ceph: clean up ceph.dir.pin vxattr name sizeof() (Jeff Layton) [1767959] - [fs] ceph: silence a checker warning in mdsc_show() (Jeff Layton) [1767959] - [net] libceph: remove ceph_get_direct_page_vector() (Jeff Layton) [1767959] - [fs] ceph: don't open-code the check for dead lockref (Jeff Layton) [1767959] - [net] ceph: no need to check return value of debugfs_create functions (Jeff Layton) [1767959] - [fs] ceph: fix ceph_mdsc_build_path to not stop on first component (Jeff Layton) [1767959] - [fs] ceph: fix error handling in ceph_get_caps() (Jeff Layton) [1767959] - [fs] ceph: avoid iput_final() while holding mutex or in dispatch thread (Jeff Layton) [1767959] - [fs] ceph: single workqueue for inode related works (Jeff Layton) [1767959] - [fs] ceph: flush dirty inodes before proceeding with remount (Jeff Layton) [1767959] - [fs] ceph: fix unaligned access in ceph_send_cap_releases (Jeff Layton) [1767959] - [net] libceph: make ceph_pr_addr take an struct ceph_entity_addr pointer (Jeff Layton) [1767959] - [net] libceph: fix unaligned accesses in ceph_entity_addr handling (Jeff Layton) [1767959] - [block] rbd: don't assert on writes to snapshots (Jeff Layton) [1767959] - [block] rbd: client_mutex is never nested (Jeff Layton) [1767959] - [fs] ceph: print inode number in __caps_issued_mask debugging messages (Jeff Layton) [1767959] - [fs] ceph: just call get_session in __ceph_lookup_mds_session (Jeff Layton) [1767959] - [fs] ceph: simplify arguments and return semantics of try_get_cap_refs (Jeff Layton) [1767959] - [fs] ceph: fix comment over ceph_drop_caps_for_unlink (Jeff Layton) [1767959] - [fs] ceph: move wait for mds request into helper function (Jeff Layton) [1767959] - [fs] ceph: have ceph_mdsc_do_request call ceph_mdsc_submit_request (Jeff Layton) [1767959] - [fs] ceph: after an MDS request, do callback and completions (Jeff Layton) [1767959] - [fs] ceph: use pathlen values returned by set_request_path_attr (Jeff Layton) [1767959] - [fs] ceph: use __getname/__putname in ceph_mdsc_build_path (Jeff Layton) [1767959] - [fs] ceph: use ceph_mdsc_build_path instead of clone_dentry_name (Jeff Layton) [1767959] - [fs] ceph: fix potential use-after-free in ceph_mdsc_build_path (Jeff Layton) [1767959] - [fs] ceph: dump granular cap info in "caps" debugfs file (Jeff Layton) [1767959] - [fs] ceph: make iterate_session_caps a public symbol (Jeff Layton) [1767959] - [fs] ceph: fix NULL pointer deref when debugging is enabled (Jeff Layton) [1767959] - [fs] ceph: properly handle granular statx requests (Jeff Layton) [1767959] - [fs] ceph: remove superfluous inode_lock in ceph_fsync (Jeff Layton) [1767959] - [kernel] libceph: fix clang warning for CEPH_DEFINE_OID_ONSTACK (Jeff Layton) [1767959] - [block] rbd: convert all rbd_assert(0) to BUG() (Jeff Layton) [1767959] - [block] rbd: avoid clang -Wuninitialized warning (Jeff Layton) [1767959] - [fs] ceph: snapshot nfs re-export (Jeff Layton) [1767959] - [fs] ceph: quota: fix quota subdir mounts (Jeff Layton) [1767959] - [fs] ceph: factor out ceph_lookup_inode() (Jeff Layton) [1767959] - [fs] ceph: remove duplicated filelock ref increase (Jeff Layton) [1767959] - [fs] ceph: fix ci->i_head_snapc leak (Jeff Layton) [1767959] - [fs] ceph: handle the case where a dentry has been renamed on outstanding req (Jeff Layton) [1767959] - [fs] ceph: ensure d_name stability in ceph_dentry_hash() (Jeff Layton) [1767959] - [fs] ceph: only use d_name directly when parent is locked (Jeff Layton) [1767959] - [fs] mark expected switch fall-throughs (Jeff Layton) [1767959] - [fs] ceph: fix use-after-free on symlink traversal (Jeff Layton) [1767959] - [net] libceph: fix breakage caused by multipage bvecs (Jeff Layton) [1767959] - [block] rbd: drop wait_for_latest_osdmap() (Jeff Layton) [1767959] - [net] libceph: wait for latest osdmap in ceph_monc_blacklist_add() (Jeff Layton) [1767959] - [block] rbd: set io_min, io_opt and discard_granularity to alloc_size (Jeff Layton) [1767959] - [block] rbd: advertise support for RBD_FEATURE_DEEP_FLATTEN (Jeff Layton) [1767959] - [block] rbd: whole-object write and zeroout should copyup when snapshots exist (Jeff Layton) [1767959] - [block] rbd: copyup with an empty snapshot context (aka deep-copyup) (Jeff Layton) [1767959] - [block] rbd: introduce rbd_obj_issue_copyup_ops() (Jeff Layton) [1767959] - [block] rbd: stop copying num_osd_ops in rbd_obj_issue_copyup() (Jeff Layton) [1767959] - [block] rbd: factor out __rbd_osd_req_create() (Jeff Layton) [1767959] - [block] rbd: clear ->xferred on error from rbd_obj_issue_copyup() (Jeff Layton) [1767959] - [block] rbd: remove experimental designation from kernel layering (Jeff Layton) [1767959] - [fs] ceph: add mount option to limit caps count (Jeff Layton) [1767959] - [fs] ceph: periodically trim stale dentries (Jeff Layton) [1767959] - [fs] ceph: delete stale dentry when last reference is dropped (Jeff Layton) [1767959] - [fs] ceph: remove dentry_lru file from debugfs (Jeff Layton) [1767959] - [fs] ceph: touch existing cap when handling reply (Jeff Layton) [1767959] - [fs] ceph: pass inclusive lend parameter to filemap_write_and_wait_range() (Jeff Layton) [1767959] - [block] rbd: round off and ignore discards that are too small (Jeff Layton) [1767959] - [block] rbd: handle DISCARD and WRITE_ZEROES separately (Jeff Layton) [1767959] - [block] rbd: get rid of obj_req->obj_request_count (Jeff Layton) [1767959] - [net] libceph: use struct_size() for kmalloc() in crush_decode() (Jeff Layton) [1767959] - [fs] ceph: send cap releases more aggressively (Jeff Layton) [1767959] - [fs] ceph: support getting ceph.dir.pin vxattr (Jeff Layton) [1767959] - [fs] ceph: support versioned reply (Jeff Layton) [1767959] - [fs] ceph: map snapid to anonymous bdev ID (Jeff Layton) [1767959] - [fs] ceph: split large reconnect into multiple messages (Jeff Layton) [1767959] - [fs] ceph: decode feature bits in session message (Jeff Layton) [1767959] - [fs] ceph: set special inode's blocksize to page size (Jeff Layton) [1767959] - [fs] ceph: avoid repeatedly adding inode to mdsc->snap_flush_list (Jeff Layton) [1767959] - [fs] ceph: quota: cleanup license mess (Jeff Layton) [1767959] - [net] libceph: avoid KEEPALIVE_PENDING races in ceph_con_keepalive() (Jeff Layton) [1767959] - [fs] ceph: clear inode pointer when snap realm gets dropped by its inode (Jeff Layton) [1767959] - [block] rbd: don't return 0 on unmap if RBD_DEV_FLAG_REMOVING is set (Jeff Layton) [1767959] - [fs] ceph: use vmf_error() in ceph_filemap_fault() (Jeff Layton) [1767959] - [net] libceph: allow setting abort_on_full for rbd (Jeff Layton) [1767959] - [fs] ceph: don't encode inode pathes into reconnect message (Jeff Layton) [1767959] - [fs] ceph: update wanted caps after resuming stale session (Jeff Layton) [1767959] - [fs] ceph: skip updating 'wanted' caps if caps are already issued (Jeff Layton) [1767959] - [fs] ceph: don't request excl caps when mount is readonly (Jeff Layton) [1767959] - [fs] ceph: don't update importing cap's mseq when handing cap export (Jeff Layton) [1767959] - [net] libceph: switch more to bool in ceph_tcp_sendmsg() (Jeff Layton) [1767959] - [net] libceph: use MSG_SENDPAGE_NOTLAST with ceph_tcp_sendpage() (Jeff Layton) [1767959] - [net] libceph: use sock_no_sendpage() as a fallback in ceph_tcp_sendpage() (Jeff Layton) [1767959] - [net] libceph: drop last_piece logic from write_partial_message_data() (Jeff Layton) [1767959] - [fs] ceph: remove redundant assignment (Jeff Layton) [1767959] - [fs] ceph: cleanup splice_dentry() (Jeff Layton) [1767959] - [fs] libceph: assume argonaut on the server side (Jeff Layton) [1767959] - [fs] ceph: quota: fix null pointer dereference in quota check (Jeff Layton) [1767959] - [fs] ceph: add non-blocking parameter to ceph_try_get_caps() (Jeff Layton) [1767959] - [net] libceph: check reply num_data_items in setup_request_data() (Jeff Layton) [1767959] - [net] libceph: preallocate message data items (Jeff Layton) [1767959] - [net] libceph, rbd, ceph: move ceph_osdc_alloc_messages() calls (Jeff Layton) [1767959] - [net] libceph: introduce alloc_watch_request() (Jeff Layton) [1767959] - [net] libceph: assign cookies in linger_submit() (Jeff Layton) [1767959] - [net] libceph: enable fallback to ceph_msg_new() in ceph_msgpool_get() (Jeff Layton) [1767959] - [fs] ceph: num_ops is off by one in ceph_aio_retry_work() (Jeff Layton) [1767959] - [net] libceph: no need to call osd_req_opcode_valid() in osd_req_encode_op() (Jeff Layton) [1767959] - [fs] ceph: set timeout conditionally in __cap_delay_requeue (Jeff Layton) [1767959] - [net] libceph: don't consume a ref on pagelist in ceph_msg_data_add_pagelist() (Jeff Layton) [1767959] - [net] libceph: introduce ceph_pagelist_alloc() (Jeff Layton) [1767959] - [net] libceph: osd_req_op_cls_init() doesn't need to take opcode (Jeff Layton) [1767959] - [kernel] libceph: bump CEPH_MSG_MAX_DATA_LEN (Jeff Layton) [1767959] - [fs] ceph: only allow punch hole mode in fallocate (Jeff Layton) [1767959] - [fs] ceph: refactor ceph_sync_read() (Jeff Layton) [1767959] - [fs] ceph: check if LOOKUPNAME request was aborted when filling trace (Jeff Layton) [1767959] - [fs] ceph: fix dentry leak in ceph_readdir_prepopulate (Jeff Layton) [1767959] - [fs] revert "ceph: fix dentry leak in splice_dentry()" (Jeff Layton) [1767959] - [fs] ceph: check snap first in ceph_set_acl() (Jeff Layton) [1767959] - [block] rbd: add __init/__exit annotations (Jeff Layton) [1767959] - [fs] ceph: reset cap hold timeout only for requeued inode (Jeff Layton) [1767959] - [fs] ceph: don't drop message if it contains more data than expected (Jeff Layton) [1767959] - [fs] ceph: support cephfs' own feature bits (Jeff Layton) [1767959] - [net] crush: fix using plain integer as NULL warning (Jeff Layton) [1767959] - [net] libceph: remove unnecessary non NULL check for request_key (Jeff Layton) [1767959] - [fs] ceph: refactor error handling code in ceph_reserve_caps() (Jeff Layton) [1767959] - [fs] ceph: refactor ceph_unreserve_caps() (Jeff Layton) [1767959] - [fs] ceph: change to void return type for __do_request() (Jeff Layton) [1767959] - [fs] ceph: compare fsc->max_file_size and inode->i_size for max file size limit (Jeff Layton) [1767959] - [fs] ceph: add additional size check in ceph_setattr() (Jeff Layton) [1767959] - [fs] ceph: add additional offset check in ceph_write_iter() (Jeff Layton) [1767959] - [fs] ceph: add additional range check in ceph_fallocate() (Jeff Layton) [1767959] - [fs] ceph: add new field max_file_size in ceph_fs_client (Jeff Layton) [1767959] - [net] ceph: fix whitespace (Jeff Layton) [1767959] - [fs] ceph: adding new return type vm_fault_t (Jeff Layton) [1767959] - [kernel] libceph: remove now unused ceph_{en, de}code_timespec() (Jeff Layton) [1767959] - [fs] ceph: use timespec64 for r_stamp (Jeff Layton) [1767959] - [fs] libceph: use timespec64 for r_mtime (Jeff Layton) [1767959] - [fs] ceph: use timespec64 for inode timestamp (Jeff Layton) [1767959] - [fs] ceph: stop using current_kernel_time() (Jeff Layton) [1767959] - [net] libceph: use timespec64 in for keepalive2 and ticket validity (Jeff Layton) [1767959] - [fs] ceph: add d_drop for some error cases in ceph_symlink() (Jeff Layton) [1767959] - [fs] ceph: add d_drop for some error cases in ceph_mknod() (Jeff Layton) [1767959] - [fs] ceph: return errors from posix_acl_equiv_mode() correctly (Jeff Layton) [1767959] - [net] libceph: amend "bad option arg" error message (Jeff Layton) [1767959] - [net] libceph: stop parsing when a bad int arg is detected (Jeff Layton) [1767959] - [kernel] libceph: change ceph_pagelist_encode_string() to take u32 (Jeff Layton) [1767959] - [net] libceph: make ceph_osdc_notify{, _ack}() payload_len u32 (Jeff Layton) [1767959] - [fs] ceph: restore ctime as well in the case of restoring old mode (Jeff Layton) [1767959] - [fs] ceph: add retry logic for error -ERANGE in ceph_get_acl() (Jeff Layton) [1767959]- [tools] objtool: Support repeated uses of the same C jump table (Yauheni Kaliuta) [1747617] - [tools] objtool: Refactor jump table code (Yauheni Kaliuta) [1747617] - [tools] objtool: Fix sibling call detection (Yauheni Kaliuta) [1747617] - [tools] objtool: Add --backtrace support (Yauheni Kaliuta) [1747617] - [tools] libbpf: Improve handling of corrupted ELF during map initialization (Yauheni Kaliuta) [1747617] - [tools] libbpf: Fix negative FD close() in xsk_setup_xdp_prog() (Yauheni Kaliuta) [1747617] - [kernel] bpf: Change size to u64 for bpf_map_{area_alloc, charge_init}() (Yauheni Kaliuta) [1747617] - [tools] selftests/bpf: Fix btf_dump padding test case (Yauheni Kaliuta) [1747617] - [tools] libbpf: Fix struct end padding in btf_dump (Yauheni Kaliuta) [1747617] - [tools] bpf: Allow narrow loads of bpf_sysctl fields with offset > 0 (Yauheni Kaliuta) [1747617] - [tools] bpftool: move "__printf()" attributes to header file (Yauheni Kaliuta) [1747617] - [media] bpf: media: properly use bpf_prog_array api (Yauheni Kaliuta) [1747617] - [tools] bpftool: fix format string for p_err() in detect_common_prefix() (Yauheni Kaliuta) [1747617] - [tools] bpftool: fix argument for p_err() in BTF do_dump() (Yauheni Kaliuta) [1747617] - [tools] bpftool: fix arguments for p_err() in do_event_pipe() (Yauheni Kaliuta) [1747617] - [tools] bpftool: fix format strings and arguments for jsonw_printf() (Yauheni Kaliuta) [1747617] - [kernel] bpf: fix precision tracking of stack slots (Yauheni Kaliuta) [1747617] - [kernel] bpf: handle 32-bit zext during constant blinding (Yauheni Kaliuta) [1747617] - [net] bpf: allow narrow loads of some sk_reuseport_md fields with offset > 0 (Yauheni Kaliuta) [1747617] - [kernel] bpf: fix precision tracking in presence of bpf2bpf calls (Yauheni Kaliuta) [1747617] - [tools] selftests/bpf: add config fragment BPF_JIT (Yauheni Kaliuta) [1747617] - [tools] selftests/bpf: fix test_btf_dump with O= (Yauheni Kaliuta) [1747617] - [tools] selftests/bpf: fix test_cgroup_storage on s390 (Yauheni Kaliuta) [1747617] - [tools] bpftool: close prog FD before exit on showing a single program (Yauheni Kaliuta) [1747617] - [tools] selftests/bpf: fix "bind{4, 6} deny specific IP & port" on s390 (Yauheni Kaliuta) [1747617] - [tools] bpf: sync bpf.h to tools infrastructure (Yauheni Kaliuta) [1747617] - [tools] bpftool: add error message on pin failure (Yauheni Kaliuta) [1747617] - [tools] bpftool: fix error message (prog -> object) (Yauheni Kaliuta) [1747617] - [tools] selftests/bpf: tests for jmp to 1st insn (Yauheni Kaliuta) [1747617] - [x86] bpf: fix x64 JIT code generation for jmp to 1st insn (Yauheni Kaliuta) [1747617] - [tools] libbpf: set BTF FD for prog only when there is supported .BTF.ext data (Yauheni Kaliuta) [1747617] - [tools] libbpf : make libbpf_num_possible_cpus function thread safe (Yauheni Kaliuta) [1747617] - [tools] libbpf: fix missing __WORDSIZE definition (Yauheni Kaliuta) [1747617] - [tools] libbpf: fix erroneous multi-closing of BTF FD (Yauheni Kaliuta) [1747617] - [tools] libbpf: silence GCC8 warning about string truncation (Yauheni Kaliuta) [1747617] - [tools] selftests/bpf: add another gso_segs access (Yauheni Kaliuta) [1747617] - [tools] selftests/bpf: fix sendmsg6_prog on s390 (Yauheni Kaliuta) [1747617] - [tools] libbpf: Avoid designated initializers for unnamed union members (Yauheni Kaliuta) [1747617] - [tools] libbpf: Fix endianness macro usage for some compilers (Yauheni Kaliuta) [1747617] - [tools] libbpf: sanitize VAR to conservative 1-byte INT (Yauheni Kaliuta) [1747617] - [tools] libbpf: fix SIGSEGV when BTF loading fails, but .BTF.ext exists (Yauheni Kaliuta) [1747617] - [tools] selftests/bpf: fix test_xdp_noinline on s390 (Yauheni Kaliuta) [1747617] - [tools] selftests/bpf: fix "valid read map access into a read-only array 1" on s390 (Yauheni Kaliuta) [1747617] - [kernel] bpf: Disable GCC -fgcse optimization for ___bpf_prog_run() (Yauheni Kaliuta) [1747617] - [tools] selftests/bpf: fix perf_buffer on s390 (Yauheni Kaliuta) [1747617] - [tools] selftests/bpf: structure test_{progs, maps, verifier} test runners uniformly (Yauheni Kaliuta) [1747617] - [tools] selftests/bpf: fix test_verifier/test_maps make dependencies (Yauheni Kaliuta) [1747617] - [tools] libbpf: fix another GCC8 warning for strncpy (Yauheni Kaliuta) [1747617] - [tools] selftests/bpf: skip nmi test when perf hw events are disabled (Yauheni Kaliuta) [1747617] - [tools] selftests/bpf: remove logic duplication in test_verifier (Yauheni Kaliuta) [1747617] - [tools] bpf: sync bpf.h to tools/ (Yauheni Kaliuta) [1747617] - [tools] selftests/bpf: add selftests for wide loads (Yauheni Kaliuta) [1747617] - [tools] selftests/bpf: rename verifier/wide_store.c to verifier/wide_access.c (Yauheni Kaliuta) [1747617] - [net] bpf: allow wide aligned loads for bpf_sock_addr user_ip6 and msg_src_ip6 (Yauheni Kaliuta) [1747617] - [samples] bpf: build with -D__TARGET_ARCH_$(SRCARCH) (Yauheni Kaliuta) [1747617] - [tools] selftests/bpf: put test_stub.o into $(OUTPUT) (Yauheni Kaliuta) [1747617] - [tools] selftests/bpf: make directory prerequisites order-only (Yauheni Kaliuta) [1747617] - [tools] selftests/bpf: fix attach_probe on s390 (Yauheni Kaliuta) [1747617] - [tools] selftests/bpf: use typedef'ed arrays as map values (Yauheni Kaliuta) [1747617] - [tools] selftests/bpf: add trickier size resolution tests (Yauheni Kaliuta) [1747617] - [kernel] bpf: fix BTF verifier size resolution logic (Yauheni Kaliuta) [1747617] - [tools] selftests/bpf: fix compiling loop{1, 2, 3}.c on s390 (Yauheni Kaliuta) [1747617] - [tools] selftests/bpf: make PT_REGS_* work in userspace (Yauheni Kaliuta) [1747617] - [tools] selftests/bpf: fix s930 -> s390 typo (Yauheni Kaliuta) [1747617] - [tools] selftests/bpf: compile progs with -D__TARGET_ARCH_$(SRCARCH) (Yauheni Kaliuta) [1747617] - [tools] selftests/bpf: do not ignore clang failures (Yauheni Kaliuta) [1747617] - [kernel] bpf: verifier: avoid fall-through warnings (Yauheni Kaliuta) [1747617] - [tools] selftests/bpf: fix bpf_target_sparc check (Yauheni Kaliuta) [1747617] - [tools] libbpf: fix ptr to u64 conversion warning on 32-bit platforms (Yauheni Kaliuta) [1747617] - [kernel] bpf: fix precision bit propagation for BPF_ST instructions (Yauheni Kaliuta) [1747617] - [kernel] bpf: Fix ORC unwinding in non-JIT BPF code (Yauheni Kaliuta) [1747617] - [tools] objtool: Add support for C jump tables (Yauheni Kaliuta) [1747617] - [tools] objtool: Don't use ignore flag for fake jumps (Yauheni Kaliuta) [1747617] - [tools] objtool: Support per-function rodata sections (Yauheni Kaliuta) [1747617] - [tools] selftests/bpf: fix test_reuseport_array on s390 (Yauheni Kaliuta) [1747617] - [tools] bpftool: add completion for bpftool prog "loadall" (Yauheni Kaliuta) [1747617] - [kernel] bpf: cgroup: Fix build error without CONFIG_NET (Yauheni Kaliuta) [1747617] - [tools] selftests/bpf: fix test_attach_probe map definition (Yauheni Kaliuta) [1747617] - [tools] selftests/bpf: add verifier tests for wide stores (Yauheni Kaliuta) [1747617] - [tools] bpf: sync bpf.h to tools/ (Yauheni Kaliuta) [1747617] - [tools] libbpf: add perf_buffer_ prefix to README (Yauheni Kaliuta) [1747617] - [tools] bpftool: switch map event_pipe to libbpf's perf_buffer (Yauheni Kaliuta) [1747617] - [tools] selftests/bpf: test perf buffer API (Yauheni Kaliuta) [1747617] - [tools] libbpf: auto-set PERF_EVENT_ARRAY size to number of CPUs (Yauheni Kaliuta) [1747617] - [tools] libbpf: add perf buffer API (Yauheni Kaliuta) [1747617] - [tools] selftests/bpf: add test_tcp_rtt to .gitignore (Yauheni Kaliuta) [1747617] - [tools] selftests/bpf: fix test_align liveliness expectations (Yauheni Kaliuta) [1747617] - [tools] bpftool: add "prog run" subcommand to test-run programs (Yauheni Kaliuta) [1747617] - [tools] selftests/bpf: convert legacy BPF maps to BTF-defined ones (Yauheni Kaliuta) [1747617] - [tools] selftests/bpf: convert selftests using BTF-defined maps to new syntax (Yauheni Kaliuta) [1747617] - [tools] selftests/bpf: add __uint and __type macro for BTF-defined maps (Yauheni Kaliuta) [1747617] - [tools] libbpf: capture value in BTF type info for BTF-defined map defs (Yauheni Kaliuta) [1747617] - [tools] selftests/bpf: convert existing tracepoint tests to new APIs (Yauheni Kaliuta) [1747617] - [tools] selftests/bpf: add kprobe/uprobe selftests (Yauheni Kaliuta) [1747617] - [tools] selftests/bpf: switch test to new attach_perf_event API (Yauheni Kaliuta) [1747617] - [tools] libbpf: add raw tracepoint attach API (Yauheni Kaliuta) [1747617] - [tools] libbpf: add tracepoint attach API (Yauheni Kaliuta) [1747617] - [tools] libbpf: add kprobe/uprobe attach API (Yauheni Kaliuta) [1747617] - [tools] libbpf: add ability to attach/detach BPF program to perf event (Yauheni Kaliuta) [1747617] - [tools] libbpf: introduce concept of bpf_link (Yauheni Kaliuta) [1747617] - [tools] libbpf: make libbpf_strerror_r agnostic to sign of error (Yauheni Kaliuta) [1747617] - [tools] selftests: bpf: fix inlines in test_lwt_seg6local (Yauheni Kaliuta) [1747617] - [tools] selftests: bpf: standardize to static __always_inline (Yauheni Kaliuta) [1747617] - [samples] bpf: Add support for fq's EDT to HBM (Yauheni Kaliuta) [1747617] - [tools] bpf, libbpf, smatch: Fix potential NULL pointer dereference (Yauheni Kaliuta) [1747617] - [tools] libbpf: fix GCC8 warning for strncpy (Yauheni Kaliuta) [1747617] - [tools] selftests: bpf: add tests for shifts by zero (Yauheni Kaliuta) [1747617] - [x86] bpf, x32: Fix bug with ALU64 {LSH, RSH, ARSH} BPF_K shift by 0 (Yauheni Kaliuta) [1747617] - [x86] bpf, x32: Fix bug with ALU64 {LSH, RSH, ARSH} BPF_X shift by 0 (Yauheni Kaliuta) [1747617] - [kernel] bpf: fix precision tracking (Yauheni Kaliuta) [1747617] - [tools] bpf: fix uapi bpf_prog_info fields alignment (Yauheni Kaliuta) [1747617] - [kernel] devmap: Allow map lookups from eBPF (Yauheni Kaliuta) [1747617] - [net] bpf_xdp_redirect_map: Perform map lookup in eBPF helper (Yauheni Kaliuta) [1747617] - [net] devmap: Rename ifindex member in bpf_redirect_info (Yauheni Kaliuta) [1747617] - [kernel] devmap/cpumap: Use flush list instead of bitmap (Yauheni Kaliuta) [1747617] - [kernel] xskmap: Move non-standard list manipulation to helper (Yauheni Kaliuta) [1747617] - [tools] selftests/bpf: fix -Wstrict-aliasing in test_sockopt_sk.c (Yauheni Kaliuta) [1747617] - [tools] bpftool: support cgroup sockopt (Yauheni Kaliuta) [1747617] - [documentation] bpf: add sockopt documentation (Yauheni Kaliuta) [1747617] - [tools] selftests/bpf: add sockopt test that exercises BPF_F_ALLOW_MULTI (Yauheni Kaliuta) [1747617] - [tools] selftests/bpf: add sockopt test that exercises sk helpers (Yauheni Kaliuta) [1747617] - [tools] selftests/bpf: add sockopt test (Yauheni Kaliuta) [1747617] - [tools] selftests/bpf: test sockopt section name (Yauheni Kaliuta) [1747617] - [tools] libbpf: support sockopt hooks (Yauheni Kaliuta) [1747617] - [tools] bpf: sync bpf.h to tools/ (Yauheni Kaliuta) [1747617] - [kernel] bpf: implement getsockopt and setsockopt hooks (Yauheni Kaliuta) [1747617] - [kernel] bpf: fix cgroup bpf release synchronization (Yauheni Kaliuta) [1747617] - [samples] bpf: make the use of xdp samples consistent (Yauheni Kaliuta) [1747617] - [kernel] bpf: fix BPF_ALU32 | BPF_ARSH on BE arches (Yauheni Kaliuta) [1747617] - [tools] bpftool: use correct argument in cgroup errors (Yauheni Kaliuta) [1747617] - [kernel] bpf: fix compiler warning with CONFIG_MODULES=n (Yauheni Kaliuta) [1747617] - [tools] selftests/bpf: build tests with debug info (Yauheni Kaliuta) [1747617] - [tools] libbpf: fix max() type mismatch for 32bit (Yauheni Kaliuta) [1747617] - [trace] xdp: Add tracepoint for bulk XDP_TX (Yauheni Kaliuta) [1747617] - [tools] selftests, bpf: Add test for veth native XDP (Yauheni Kaliuta) [1747617] - [tools] libbpf: fix spelling mistake "conflictling" -> "conflicting" (Yauheni Kaliuta) [1747617] - [kernel] bpf: precise scalar_value tracking (Yauheni Kaliuta) [1747617] - [tools] selftests/bpf: add realistic loop tests (Yauheni Kaliuta) [1747617] - [tools] selftests/bpf: add basic verifier tests for loops (Yauheni Kaliuta) [1747617] - [tools] selftests/bpf: fix tests (Yauheni Kaliuta) [1747617] - [kernel] bpf: fix callees pruning callers (Yauheni Kaliuta) [1747617] - [kernel] bpf: introduce bounded loops (Yauheni Kaliuta) [1747617] - [kernel] bpf: extend is_branch_taken to registers (Yauheni Kaliuta) [1747617] - [tools] selftests/bpf: fix tests due to const spill/fill (Yauheni Kaliuta) [1747617] - [kernel] bpf: track spill/fill of constants (Yauheni Kaliuta) [1747617] - [tools] libbpf: constify getter APIs (Yauheni Kaliuta) [1747617] - [samples] bpf: refactor header include path (Yauheni Kaliuta) [1747617] - [samples] bpf: remove unnecessary include options in Makefile (Yauheni Kaliuta) [1747617] - [tools] selftests/bpf: convert tests w/ custom values to BTF-defined maps (Yauheni Kaliuta) [1747617] - [tools] selftests/bpf: switch BPF_ANNOTATE_KV_PAIR tests to BTF-defined maps (Yauheni Kaliuta) [1747617] - [tools] selftests/bpf: add test for BTF-defined maps (Yauheni Kaliuta) [1747617] - [tools] libbpf: allow specifying map definitions using BTF (Yauheni Kaliuta) [1747617] - [tools] libbpf: split initialization and loading of BTF (Yauheni Kaliuta) [1747617] - [tools] libbpf: identify maps by section index in addition to offset (Yauheni Kaliuta) [1747617] - [tools] libbpf: refactor map initialization (Yauheni Kaliuta) [1747617] - [tools] libbpf: streamline ELF parsing error-handling (Yauheni Kaliuta) [1747617] - [tools] libbpf: extract BTF loading logic (Yauheni Kaliuta) [1747617] - [tools] libbpf: add common min/max macro to libbpf_internal.h (Yauheni Kaliuta) [1747617] - [net] bpf: fix the check that forwarding is enabled in bpf_ipv6_fib_lookup (Yauheni Kaliuta) [1747617] - [kernel] bpf: Fix build error without CONFIG_INET (Yauheni Kaliuta) [1747617] - [tools] selftests/bpf: convert socket_cookie test to sk storage (Yauheni Kaliuta) [1747617] - [tools] bpf/tools: sync bpf.h (Yauheni Kaliuta) [1747617] - [net] bpf: export bpf_sock for BPF_PROG_TYPE_SOCK_OPS prog type (Yauheni Kaliuta) [1747617] - [net] bpf: export bpf_sock for BPF_PROG_TYPE_CGROUP_SOCK_ADDR prog type (Yauheni Kaliuta) [1747617] - [tools] bpf: Add test for SO_REUSEPORT_DETACH_BPF (Yauheni Kaliuta) [1747617] - [tools] libbpf: fix check for presence of associated BTF for map creation (Yauheni Kaliuta) [1747617] - [tools] selftests/bpf: signedness bug in enable_all_controllers() (Yauheni Kaliuta) [1747617] - [samples] bpf: fix include path in Makefile (Yauheni Kaliuta) [1747617] - [kernel] bpf: silence warning messages in core (Yauheni Kaliuta) [1747617] - [tools] bpf: use libbpf_num_possible_cpus internally (Yauheni Kaliuta) [1747617] - [tools] selftests/bpf: remove bpf_util.h from BPF C progs (Yauheni Kaliuta) [1747617] - [tools] bpf: add a new API libbpf_num_possible_cpus() (Yauheni Kaliuta) [1747617] - [tools] selftests/bpf : clean up feature/ when make clean (Yauheni Kaliuta) [1747617] - [tools] selftests/bpf: fix constness of source arg for bpf helpers (Yauheni Kaliuta) [1747617] - [samples] bpf: don't run probes at the local make stage (Yauheni Kaliuta) [1747617] - [tools] libbpf: remove qidconf and better support external bpf programs (Yauheni Kaliuta) [1747617] - [tools] bpf: Add bpf_map_lookup_elem selftest for xskmap (Yauheni Kaliuta) [1747617] - [tools] bpf/tools: sync bpf.h (Yauheni Kaliuta) [1747617] - [net] bpf: Allow bpf_map_lookup_elem() on an xskmap (Yauheni Kaliuta) [1747617] - [documentation] docs: bpf: get rid of two warnings (Yauheni Kaliuta) [1747617] - [net] bpf: allow CGROUP_SKB programs to use bpf_skb_cgroup_id() helper (Yauheni Kaliuta) [1747617] - [samples] bpf: print a warning about headers_install (Yauheni Kaliuta) [1747617] - [kernel] bpf: remove redundant assignment to err (Yauheni Kaliuta) [1747617] - [samples] bpf: hbm: fix spelling mistake "notifcations" -> "notificiations" (Yauheni Kaliuta) [1747617] - [tools] selftests/bpf: measure RTT from xdp using xdping (Yauheni Kaliuta) [1747617] - [documentation] bpf: doc: update answer for 32-bit subregister question (Yauheni Kaliuta) [1747617] - [kernel] bpf: move memory size checks to bpf_map_charge_init() (Yauheni Kaliuta) [1747617] - [kernel] bpf: rework memlock-based memory accounting for maps (Yauheni Kaliuta) [1747617] - [kernel] bpf: group memory related fields in struct bpf_map_memory (Yauheni Kaliuta) [1747617] - [net] bpf: add memlock precharge for socket local storage (Yauheni Kaliuta) [1747617] - [kernel] bpf: add memlock precharge check for cgroup_local_storage (Yauheni Kaliuta) [1747617] - [samples] bpf: Add more stats to HBM (Yauheni Kaliuta) [1747617] - [samples] bpf: Add cn support to hbm_out_kern.c (Yauheni Kaliuta) [1747617] - [kernel] bpf: Update __cgroup_bpf_run_filter_skb with cn (Yauheni Kaliuta) [1747617] - [kernel] bpf: cgroup inet skb programs can return 0 to 3 (Yauheni Kaliuta) [1747617] - [kernel] bpf: Create BPF_PROG_CGROUP_INET_EGRESS_RUN_ARRAY (Yauheni Kaliuta) [1747617] - [tools] libbpf: reduce unnecessary line wrapping (Yauheni Kaliuta) [1747617] - [tools] libbpf: typo and formatting fixes (Yauheni Kaliuta) [1747617] - [tools] libbpf: simplify two pieces of logic (Yauheni Kaliuta) [1747617] - [tools] libbpf: use negative fd to specify missing BTF (Yauheni Kaliuta) [1747617] - [tools] libbpf: fix error code returned on corrupted ELF (Yauheni Kaliuta) [1747617] - [tools] libbpf: check map name retrieved from ELF (Yauheni Kaliuta) [1747617] - [tools] libbpf: simplify endianness check (Yauheni Kaliuta) [1747617] - [tools] libbpf: preserve errno before calling into user callback (Yauheni Kaliuta) [1747617] - [tools] libbpf: fix detection of corrupted BPF instructions section (Yauheni Kaliuta) [1747617] - [tools] libbpf: prevent overwriting of log_level in bpf_object__load_progs() (Yauheni Kaliuta) [1747617] - [kernel] bpf: tracing: properly use bpf_prog_array api (Yauheni Kaliuta) [1747617] - [kernel] bpf: cgroup: properly use bpf_prog_array api (Yauheni Kaliuta) [1747617] - [kernel] bpf: remove __rcu annotations from bpf_prog_array (Yauheni Kaliuta) [1747617] - [tools] selftests/bpf: add auto-detach test (Yauheni Kaliuta) [1747617] - [tools] selftests/bpf: enable all available cgroup v2 controllers (Yauheni Kaliuta) [1747617] - [tools] selftests/bpf: convert test_cgrp2_attach2 example into kselftest (Yauheni Kaliuta) [1747617] - [samples] bpf: fix a couple of style issues in bpf_load (Yauheni Kaliuta) [1747617] - [tools] selftests/bpf: fail test_tunnel.sh if subtests fail (Yauheni Kaliuta) [1747617] - [tools] bpftool: make -d option print debug output from verifier (Yauheni Kaliuta) [1747617] - [tools] libbpf: add bpf_object__load_xattr() API function to pass log_level (Yauheni Kaliuta) [1747617] - [tools] bpftool: add -d option to get debug output from libbpf (Yauheni Kaliuta) [1747617] - [tools] libbpf: fix warning that PTR_ERR_OR_ZERO can be used (Yauheni Kaliuta) [1747617] - [tools] bpf: style fix in while(!feof()) loop (Yauheni Kaliuta) [1747617] - [kernel] bpf: check signal validity in nmi for bpf_send_signal() helper (Yauheni Kaliuta) [1747617] - [tools] bpftool: auto-complete BTF IDs for btf dump (Yauheni Kaliuta) [1747617] - [samples] bpf: add ibumad sample to .gitignore (Yauheni Kaliuta) [1747617] - [x86] x32: bpf: eliminate zero extension code-gen (Yauheni Kaliuta) [1747617] - [s390] bpf: eliminate zero extension code-gen (Yauheni Kaliuta) [1747617] - [powerpc] bpf: eliminate zero extension code-gen (Yauheni Kaliuta) [1747617] - [tools] selftests: bpf: enable hi32 randomization for all tests (Yauheni Kaliuta) [1747617] - [tools] selftests: bpf: adjust several test_verifier helpers for insn insertion (Yauheni Kaliuta) [1747617] - [tools] libbpf: add "prog_flags" to bpf_program/bpf_prog_load_attr/bpf_load_program_attr (Yauheni Kaliuta) [1747617] - [kernel] bpf: verifier: randomize high 32-bit when BPF_F_TEST_RND_HI32 is set (Yauheni Kaliuta) [1747617] - [tools] bpf: sync uapi header bpf.h (Yauheni Kaliuta) [1747617] - [uapi] bpf: introduce new bpf prog load flags "BPF_F_TEST_RND_HI32" (Yauheni Kaliuta) [1747617] - [kernel] bpf: verifier: insert zero extension according to analysis result (Yauheni Kaliuta) [1747617] - [kernel] bpf: introduce new mov32 variant for doing explicit zero extension (Yauheni Kaliuta) [1747617] - [kernel] bpf: verifier: mark patched-insn with sub-register zext flag (Yauheni Kaliuta) [1747617] - [kernel] bpf: verifier: mark verified-insn with sub-register zext flag (Yauheni Kaliuta) [1747617] - [tools] bpf: add selftest in test_progs for bpf_send_signal() helper (Yauheni Kaliuta) [1747617] - [tools] bpf: sync bpf uapi header bpf.h to tools directory (Yauheni Kaliuta) [1747617] - [kernel] bpf: implement bpf_send_signal() helper (Yauheni Kaliuta) [1747617] - [tools] bpftool: update bash-completion w/ new c option for btf dump (Yauheni Kaliuta) [1747617] - [tools] bpftool/docs: add description of btf dump C option (Yauheni Kaliuta) [1747617] - [tools] bpftool: add C output format option to btf dump subcommand (Yauheni Kaliuta) [1747617] - [tools] selftests/bpf: add btf_dump BTF-to-C conversion tests (Yauheni Kaliuta) [1747617] - [tools] libbpf: add btf_dump API for BTF-to-C conversion (Yauheni Kaliuta) [1747617] - [tools] libbpf: switch btf_dedup() to hashmap for dedup table (Yauheni Kaliuta) [1747617] - [tools] selftests/bpf: add tests for libbpf's hashmap (Yauheni Kaliuta) [1747617] - [tools] libbpf: add resizable non-thread safe internal hashmap (Yauheni Kaliuta) [1747617] - [tools] selftests/bpf: use btf__parse_elf to check presence of BTF/BTF.ext (Yauheni Kaliuta) [1747617] - [tools] bpftool: use libbpf's btf__parse_elf API (Yauheni Kaliuta) [1747617] - [tools] libbpf: add btf__parse_elf API to load .BTF and .BTF.ext (Yauheni Kaliuta) [1747617] - [tools] libbpf: ensure libbpf.h is included along libbpf_internal.h (Yauheni Kaliuta) [1747617] - [samples] bpf: Do not define bpf_printk macro (Yauheni Kaliuta) [1747617] - [tools] selftests: bpf: Move bpf_printk to bpf_helpers.h (Yauheni Kaliuta) [1747617] - [kernel] bpf: convert explored_states to hash table (Yauheni Kaliuta) [1747617] - [kernel] bpf: split explored_states (Yauheni Kaliuta) [1747617] - [kernel] bpf: cleanup explored_states (Yauheni Kaliuta) [1747617] - [tools] selftests/bpf: add pyperf scale test (Yauheni Kaliuta) [1747617] - [tools] selftests/bpf: adjust verifier scale test (Yauheni Kaliuta) [1747617] - [kernel] bpf: bump jmp sequence limit (Yauheni Kaliuta) [1747617] - [tools] libbpf: emit diff of mismatched public API, if any (Yauheni Kaliuta) [1747617] - [tools] bpf, selftest: test global data/bss/rodata sections (Yauheni Kaliuta) [1747617] - [tools] selftests/bpf: test_tc_tunnel: skip unsupported tests (Jiri Benc) [1749814] - [tools] selftests/bpf: More compatible nc options in test_tc_edt (Jiri Benc) [1749814] - [net] xdp: check device pointer before clearing (Jiri Benc) [1749814] - [net] bpf: udp: Avoid calling reuseport's bpf_prog from udp_gro (Jiri Benc) [1749814] - [net] bpf: sockmap, fix use after free from sleep in psock backlog workqueue (Jiri Benc) [1749814] - [include] bpf: sockmap, restore sk_write_space when psock gets dropped (Jiri Benc) [1749814] - [net] bpfilter: fallback to netfilter if failed to load bpfilter kernel module (Jiri Benc) [1749814] - [net] pass net_device argument to the eth_get_headlen (Jiri Benc) [1749814] - [net] flow_dissector: handle no-skb use case (Jiri Benc) [1749814] - [net] plumb network namespace into __skb_flow_dissect (Jiri Benc) [1749814] - [net] bpfilter: dont use module_init in non-modular code (Jiri Benc) [1749814] - [net] xsk: fix XDP socket ring buffer memory ordering (Jiri Benc) [1749814] - [tools] selftests/bpf: install files test_xdp_vlan.sh (Jiri Benc) [1749814] - [net] fix bpf_xdp_adjust_head regression for generic-XDP (Jiri Benc) [1749814] - [tools] selftests/bpf: reduce time to execute test_xdp_vlan.sh (Jiri Benc) [1749814] - [tools] selftests/bpf: add wrapper scripts for test_xdp_vlan.sh (Jiri Benc) [1749814] - [tools] bpf: fix XDP vlan selftests test_xdp_vlan.sh (Jiri Benc) [1749814] - [net] core: support XDP generic on stacked devices. (Jiri Benc) [1749814] - [netdrv] netvsc: unshare skb in VF rx handler (Jiri Benc) [1749814] - [net] convert rps_needed and rfs_needed to new static branch api (Jiri Benc) [1749814] - [net] core: Document __skb_flow_dissect() flags argument (Jiri Benc) [1749814] - [net] gso: Fix skb_segment splat when splitting gso_size mangled skb having linear-headed frag_list (Jiri Benc) [1749814] - [net] sock_map, fix missing ulp check in sock hash case (Jiri Benc) [1749814] - [net] Fix missing meta data in skb with vlan packet (Jiri Benc) [1749814] - [include] skbuff.h: fix using plain integer as NULL warning (Jiri Benc) [1749814] - [netdrv] netdevsim: Fix error handling in nsim_fib_init and nsim_fib_exit (Jiri Benc) [1761359] - [netdrv] netdevsim: Restore per-network namespace accounting for fib entries (Jiri Benc) [1761359] - [netdrv] netdevsim: Make nsim_num_vf static (Jiri Benc) [1761359] - [netdrv] netdevsim: fix fall-through annotation (Jiri Benc) [1761359] - [netdrv] netdevsim: implement ndo_get_devlink_port (Jiri Benc) [1761359] - [netdrv] netdevsim: move netdev creation/destruction to dev probe (Jiri Benc) [1761359] - [netdrv] netdevsim: extend device attrs to support port addition and deletion (Jiri Benc) [1761359] - [netdrv] netdevsim: implement dev probe/remove skeleton with port initialization (Jiri Benc) [1761359] - [netdrv] netdevsim: change debugfs tree topology (Jiri Benc) [1761359] - [netdrv] netdevsim: generate random switch id instead of using dev id (Jiri Benc) [1761359] - [netdrv] netdevsim: merge sdev into dev (Jiri Benc) [1761359] - [netdrv] netdevsim: rename dev_init/exit() functions and make them independent on ns (Jiri Benc) [1761359] - [netdrv] netdevsim: add bus attributes to add new and delete devices (Jiri Benc) [1761359] - [netdrv] netdevsim: use ida for bus device ids (Jiri Benc) [1761359] - [netdrv] netdevsim: add stub netdevsim driver implementation (Jiri Benc) [1761359] - [netdrv] netdevsim: move device registration and related code to bus.c (Jiri Benc) [1761359] - [netdrv] netdevsim: put netdevsim bus code into separate file (Jiri Benc) [1761359] - [netdrv] netdevsim: rename devlink.c to dev.c to contain per-dev(asic) items (Jiri Benc) [1761359] - [netdrv] netdevsim: create devlink instance per netdevsim instance (Jiri Benc) [1761359] - [netdrv] netdevsim: move device registration on bus to be done earlier in init (Jiri Benc) [1761359] - [netdrv] netdevsim: move sdev-specific init/uninit code into separate functions (Jiri Benc) [1761359] - [netdrv] netdevsim: make bpf_offload_dev_create() per-sdev instead of first ns (Jiri Benc) [1761359] - [netdrv] netdevsim: move shared dev creation and destruction into separate file (Jiri Benc) [1761359] - [netdrv] netdevsim: let net core to free netdevsim netdev (Jiri Benc) [1761359] - [netdrv] netdevsim: remove nsim_dellink() implementation (Jiri Benc) [1761359] - [include] driver core: add BUS_ATTR_WO() macro (Jiri Benc) [1761359] - arm64: bpf: do not allocate executable memory (Yauheni Kaliuta) [1762214] - modules: page-align module section allocations only for arches supporting strict module rwx (Yauheni Kaliuta) [1762214] - modules: always page-align module section allocations (Yauheni Kaliuta) [1762214] - modules: fix compile error if don't have strict module rwx (Yauheni Kaliuta) [1762214] - modules: Use vmalloc special flag (Yauheni Kaliuta) [1762214] - modules: fix BUG when load module with rodata=n (Yauheni Kaliuta) [1762214] - x86/modules: Avoid breaking W^X while loading modules (Yauheni Kaliuta) [1762214] - x86/alternatives, jumplabel: Use text_poke_early() before mm_init() (Yauheni Kaliuta) [1762214] - x86/kprobes: Set instruction page as executable (Yauheni Kaliuta) [1762214] - x86/ftrace: Set trampoline pages as executa (Yauheni Kaliuta) [1762214] - [tools] bpftool: Fix json dump crash on powerpc (Yauheni Kaliuta) [1747615] - [tools] selftests/bpf: fix race in flow dissector tests (Yauheni Kaliuta) [1747615] - [arm64] insn: Fix ldadd instruction encoding (Yauheni Kaliuta) [1747615] - [scripts] kbuild: tolerate missing pahole when generating BTF (Yauheni Kaliuta) [1747615] - [scripts] kbuild: handle old pahole more gracefully when generating BTF (Yauheni Kaliuta) [1747615] - [scripts] kbuild: add ability to generate BTF type info for vmlinux (Yauheni Kaliuta) [1747615] - [scripts] kbuild: hardcode genksyms path and remove GENKSYMS variable (Yauheni Kaliuta) [1747615] - [scripts] bpf: fix script for generating man page on BPF helpers (Yauheni Kaliuta) [1747615] - [tools] add smp_* barrier variants to include infrastructure (Yauheni Kaliuta) [1747615] - [tools] tools headers barrier: Fix arm64 tools build failure wrt smp_load_{acquire, release} (Yauheni Kaliuta) [1747615] - [tools] bpf, x32: Fix bug for BPF_JMP | {BPF_JSGT, BPF_JSLE, BPF_JSLT, BPF_JSGE} (Yauheni Kaliuta) [1747615] - [x86] unwind/orc: Fall back to using frame pointers for generated code (Yauheni Kaliuta) [1747615] - [x86] unwind: Add hardcoded ORC entry for NULL (Yauheni Kaliuta) [1747615] - [x86] unwind: Handle NULL pointer calls better in frame unwinder (Yauheni Kaliuta) [1747615] - [kernel] bpf: fix accessing bpf_sysctl.file_pos on s390 (Yauheni Kaliuta) [1747615] - [kernel] bpf: fix narrower loads on s390 (Yauheni Kaliuta) [1747615] - [net] bpf: rename bpf_ctx_wide_store_ok to bpf_ctx_wide_access_ok (Yauheni Kaliuta) [1747615] - [net] bpf: allow wide (u64) aligned stores for some fields of bpf_sock_addr (Yauheni Kaliuta) [1747615] - [tools] selftests/bpf: improve unexpected success reporting in test_syctl (Yauheni Kaliuta) [1747615] - [tools] selftests/bpf: fix "ctx:write sysctl:write read ok" on s390 (Yauheni Kaliuta) [1747615] - [tools] bpftool: fix format string for p_err() in query_flow_dissector() (Yauheni Kaliuta) [1747615] - [tools] bpftool: add raw_tracepoint_writable prog type to header (Yauheni Kaliuta) [1747615] - [kernel] bpf: fix NULL deref in btf_type_is_resolve_source_only (Yauheni Kaliuta) [1747615] - [net] bpf: Set sk_bpf_storage back to NULL for cloned sk (Yauheni Kaliuta) [1747615] - [kernel] bpf: fix nested bpf tracepoints with per-cpu data (Yauheni Kaliuta) [1747615] - [net] bpf: Fix out of bounds memory access in bpf_sk_storage (Yauheni Kaliuta) [1747615] - [kernel] sysctl: define proc_do_static_key() (Yauheni Kaliuta) [1747615] - [x86] bpf, x64: fix stack layout of JITed bpf code (Yauheni Kaliuta) [1747615] - [kernel] bpf, devmap: Add missing RCU read lock on flush (Yauheni Kaliuta) [1747615] - [kernel] bpf, devmap: Add missing bulk queue free (Yauheni Kaliuta) [1747615] - [kernel] bpf, devmap: Fix premature entry free on destroying map (Yauheni Kaliuta) [1747615] - [powerpc] bpf: use unsigned division instruction for 64-bit operations (Yauheni Kaliuta) [1747615] - [tools] bpf: fix div64 overflow tests to properly detect errors (Yauheni Kaliuta) [1747615] - [tools] bpf: sync BPF_FIB_LOOKUP flag changes with BPF uapi (Yauheni Kaliuta) [1747615] - [uapi] bpf: simplify definition of BPF_FIB_LOOKUP related flags (Yauheni Kaliuta) [1747615] - [tools] bpf: lpm_trie: check left child of last leftmost node for NULL (Yauheni Kaliuta) [1747615] - [tools] bpf: expand section tests for test_section_names (Yauheni Kaliuta) [1747615] - [tools] bpf: more msg_name rewrite tests to test_sock_addr (Yauheni Kaliuta) [1747615] - [tools] bpf, bpftool: enable recvmsg attach types (Yauheni Kaliuta) [1747615] - [tools] bpf, libbpf: enable recvmsg attach types (Yauheni Kaliuta) [1747615] - [tools] bpf: sync tooling uapi header (Yauheni Kaliuta) [1747615] - [kernel] bpf: fix unconnected udp hooks (Yauheni Kaliuta) [1747615] - [tools] bpftool: Fix JSON output when lookup fails (Yauheni Kaliuta) [1747615] - [tools] selftests/bpf: move test_lirc_mode2_user to TEST_GEN_PROGS_EXTENDED (Yauheni Kaliuta) [1747615] - [tools] libbpf: Return btf_fd for load_sk_storage_btf (Yauheni Kaliuta) [1747615] - [tools] selftests: bpf: fix compiler warning in flow_dissector test (Yauheni Kaliuta) [1747615] - [tools] selftests: bpf: complete sub-register zero extension checks (Yauheni Kaliuta) [1747615] - [tools] selftests: bpf: move sub-register zero extension checks into subreg.c (Yauheni Kaliuta) [1747615] - [tools] selftests: bpf: add zero extend checks for ALU32 and/or/xor (Yauheni Kaliuta) [1747615] - [samples] bpf: suppress compiler warning (Yauheni Kaliuta) [1747615] - [samples] bpf: fix to change the buffer size for read() (Yauheni Kaliuta) [1747615] - [tools] bpftool: fix BTF raw dump of FWD's fwd_kind (Yauheni Kaliuta) [1747615] - [tools] selftests/bpf: fix bpf_get_current_task (Yauheni Kaliuta) [1747615] - [tools] libbpf: move logging helpers into libbpf_internal.h (Yauheni Kaliuta) [1747615] - [tools] selftests/bpf: add test_sysctl and map_tests/tests.h to .gitignore (Yauheni Kaliuta) [1747615] - [kernel] bpf: relax inode permission check for retrieving bpf program (Yauheni Kaliuta) [1747615] - [tools] selftests/bpf: add prog detach to flow_dissector test (Yauheni Kaliuta) [1747615] - [tools] selftests/bpf: add missing \n to flow_dissector CHECK errors (Yauheni Kaliuta) [1747615] - [tools] libbpf: don't fail when feature probing fails (Yauheni Kaliuta) [1747615] - [tools] bpf: test ref bit from data path and add new tests for syscall path (Yauheni Kaliuta) [1747615] - [kernel] bpf, lru: avoid messing with eviction heuristics upon syscall lookup (Yauheni Kaliuta) [1747615] - [kernel] bpf: add map_lookup_elem_sys_only for lookups from syscall side (Yauheni Kaliuta) [1747615] - [tools] bpf: Sync kernel btf.h header (Yauheni Kaliuta) [1747615] - [uapi] bpf: btf: fix the brackets of BTF_INT_OFFSET() (Yauheni Kaliuta) [1747615] - [kernel] bpf: devmap: fix use-after-free Read in __dev_map_entry_free (Yauheni Kaliuta) [1747615] - [kernel] bpf: fix undefined behavior in narrow load handling (Yauheni Kaliuta) [1747615] - [tools] libbpf: detect supported kernel BTF features and sanitize BTF (Yauheni Kaliuta) [1747615] - [tools] selftests: bpf: Add files generated after build to .gitignore (Yauheni Kaliuta) [1747615] - [tools] bpf: synchronise BPF UAPI header with tools (Yauheni Kaliuta) [1747615] - [uapi] bpf: fix minor issues in documentation for BPF helpers (Yauheni Kaliuta) [1747615] - [uapi] bpf: fix recurring typo in documentation for BPF helpers (Yauheni Kaliuta) [1747615] - [tools] bpf: add various test cases for backward jumps (Yauheni Kaliuta) [1747615] - [documentation] docs/btf: fix the missing section marks (Yauheni Kaliuta) [1747615] - [tools] selftests: bpf: initialize bpf_object pointers where needed (Yauheni Kaliuta) [1747615] - [tools] libbpf: add libbpf_util.h to header install (Yauheni Kaliuta) [1747615] - [tools] bpf: fix perf build error with uClibc (seen on ARC) (Yauheni Kaliuta) [1747615] - [tools] bpftool: exclude bash-completion/bpftool from .gitignore pattern (Yauheni Kaliuta) [1747615] - [tools] selftests/bpf: set RLIMIT_MEMLOCK properly for test_libbpf_open.c (Yauheni Kaliuta) [1747615] - [net] bpf: Use PTR_ERR_OR_ZERO in bpf_fd_sk_storage_update_elem() (Yauheni Kaliuta) [1747615] - [kernel] bpf: Use vmalloc special flag (Yauheni Kaliuta) [1747615] - [kernel] bpf: Fail bpf_probe_write_user() while mm is switched (Yauheni Kaliuta) [1747615] - [kernel] mm/tlb: Provide default nmi_uaccess_okay() (Yauheni Kaliuta) [1747615] - [kernel] asm-generic/tlb: Guard with #ifdef CONFIG_MMU (Yauheni Kaliuta) [1747615] - [tools] bpf: Add ene-to-end test for bpf_sk_storage_* helpers (Yauheni Kaliuta) [1747615] - [tools] bpf: Add BPF_MAP_TYPE_SK_STORAGE test to test_maps (Yauheni Kaliuta) [1747615] - [tools] bpf: Add verifier tests for the bpf_sk_storage (Yauheni Kaliuta) [1747615] - [tools] bpf: Refactor BTF encoding macro to test_btf.h (Yauheni Kaliuta) [1747615] - [tools] bpf: Support BPF_MAP_TYPE_SK_STORAGE in bpf map probing (Yauheni Kaliuta) [1747615] - [tools] bpf: Sync bpf.h to tools (Yauheni Kaliuta) [1747615] - [net] bpf: Introduce bpf sk local storage (Yauheni Kaliuta) [1747615] - [tools] selftests: bpf: test writable buffers in raw tps (Yauheni Kaliuta) [1747615] - [tools] sync bpf.h (Yauheni Kaliuta) [1747615] - [kernel] bpf: add writable context for raw tracepoints (Yauheni Kaliuta) [1747615] - [arm64] bpf, arm64: use more scalable stadd over ldxr / stxr loop in xadd (Yauheni Kaliuta) [1747615] - [tools] bpftool: fix indendation in bash-completion/bpftool (Yauheni Kaliuta) [1747615] - [tools] bpftool: add bash completions for btf command (Yauheni Kaliuta) [1747615] - [tools] bpftool/docs: add btf sub-command documentation (Yauheni Kaliuta) [1747615] - [tools] bpftool: add ability to dump BTF types (Yauheni Kaliuta) [1747615] - [tools] bpftool: Fix errno variable usage (Yauheni Kaliuta) [1747615] - [tools] bpftool: show flow_dissector attachment status (Yauheni Kaliuta) [1747615] - [net] bpf: support BPF_PROG_QUERY for BPF_FLOW_DISSECTOR attach_type (Yauheni Kaliuta) [1747615] - [samples] bpf: add hbm sample to .gitignore (Yauheni Kaliuta) [1747615] - [tools] libbpf: fix samples/bpf build failure due to undefined UINT32_MAX (Yauheni Kaliuta) [1747615] - [tools] bpf, libbpf: fix segfault in bpf_object__init_maps' pr_debug statement (Yauheni Kaliuta) [1747615] - [tools] bpf, libbpf: handle old kernels more graceful wrt global data sections (Yauheni Kaliuta) [1747615] - [tools] selftests/bpf: expand test_tc_tunnel with SIT encap (Yauheni Kaliuta) [1747615] - [net] bpf: update skb->protocol in bpf_skb_net_grow (Yauheni Kaliuta) [1747615] - [tools] bpf/flow_dissector: don't adjust nhoff by ETH_HLEN in BPF_PROG_TEST_RUN (Yauheni Kaliuta) [1747615] - [tools] selftests/bpf: properly return error from bpf_flow_load (Yauheni Kaliuta) [1747615] - [tools] selftests/bpf: run flow dissector tests in skb-less mode (Yauheni Kaliuta) [1747615] - [tools] selftests/bpf: add flow dissector bpf_skb_load_bytes helper test (Yauheni Kaliuta) [1747615] - [net] bpf: when doing BPF_PROG_TEST_RUN for flow dissector use no-skb mode (Yauheni Kaliuta) [1747615] - [kernel] bpf: drop bpf_verifier_lock (Yauheni Kaliuta) [1747615] - [kernel] bpf: remove global variables (Yauheni Kaliuta) [1747615] - [documentation] bpf: document the verifier limits (Yauheni Kaliuta) [1747615] - [tools] libbpf: fix BPF_LOG_BUF_SIZE off-by-one error (Yauheni Kaliuta) [1747615] - [documentation] bpf: move BPF_PROG_TYPE_FLOW_DISSECTOR documentation to a new common place (Yauheni Kaliuta) [1747615] - [tools] bpf: Increase MAX_NR_MAPS to 17 in test_verifier.c (Yauheni Kaliuta) [1747615] - [tools] selftests/bpf: fix compile errors due to unsync linux/in6.h and netinet/in.h (Yauheni Kaliuta) [1747615] - [documentation] bpf: Document BPF_PROG_TYPE_CGROUP_SYSCTL (Yauheni Kaliuta) [1747615] - [tools] selftests/bpf: fix a compilation error (Yauheni Kaliuta) [1747615] - [kernel] bpf: cpumap memory prefetchw optimizations for struct page (Yauheni Kaliuta) [1747615] - [kernel] bpf: cpumap do bulk allocation of SKBs (Yauheni Kaliuta) [1747615] - [net] core: introduce build_skb_around (Yauheni Kaliuta) [1747615] - [kernel] bpf: cpumap use ptr_ring_consume_batched (Yauheni Kaliuta) [1747615] - [tools] libbpf: optimize barrier for XDP socket rings (Yauheni Kaliuta) [1747615] - [tools] bpftool: show btf_id in map listing (Yauheni Kaliuta) [1747615] - [tools] bpftool: re-organize newline printing for map listing (Yauheni Kaliuta) [1747615] - [tools] bpftool: Support sysctl hook (Yauheni Kaliuta) [1747615] - [tools] libbpf: fix printf formatter for ptrdiff_t argument (Yauheni Kaliuta) [1747615] - [kernel] bpf: use BPF_CAST_CALL for casting bpf call (Yauheni Kaliuta) [1747615] - [uapi] bpf: allow clearing all sock_ops callback flags (Yauheni Kaliuta) [1747615] - [tools] selftests: bpf: add VRF test cases to lwt_ip_encap test (Yauheni Kaliuta) [1747615] - [tools] selftests/bpf: make flow dissector tests more extensible (Yauheni Kaliuta) [1747615] - [tools] selftests/bpf: two scale tests (Yauheni Kaliuta) [1747615] - [tools] bpftool: Improve handling of ENOSPC on reuseport_array map dumps (Yauheni Kaliuta) [1747615] - [tools] bpftool: Use print_entry_error() in case of ENOENT when dumping (Yauheni Kaliuta) [1747615] - [tools] bpftool: add a note on program statistics in man page (Yauheni Kaliuta) [1747615] - [tools] bpftool: fix short option name for printing version in man pages (Yauheni Kaliuta) [1747615] - [tools] bpftool: fix man page documentation for "pinmaps" keyword (Yauheni Kaliuta) [1747615] - [tools] bpftool: reset errno for "bpftool cgroup tree" (Yauheni Kaliuta) [1747615] - [tools] bpftool: remove blank line after btf_id when listing programs (Yauheni Kaliuta) [1747615] - [net] bpf: reserve flags in bpf_skb_net_shrink (Yauheni Kaliuta) [1747615] - [tools] bpf: fix whitespace for ENCAP_L2 defines in bpf.h (Yauheni Kaliuta) [1747615] - [tools] selftests/bpf: bring back (void *) cast to set_ipv4_csum in test_tc_tunnel (Yauheni Kaliuta) [1747615] - [tools] selftests/btf: add VAR and DATASEC case for dedup tests (Yauheni Kaliuta) [1747615] - [tools] btf: add support for VAR and DATASEC in btf_dedup() (Yauheni Kaliuta) [1747615] - [kernel] bpf: refactor "check_reg_arg" to eliminate code redundancy (Yauheni Kaliuta) [1747615] - [kernel] bpf: factor out reg and stack slot propagation into "propagate_liveness_reg" (Yauheni Kaliuta) [1747615] - [kernel] bpf: refactor propagate_liveness to eliminate code redundance (Yauheni Kaliuta) [1747615] - [kernel] bpf: refactor propagate_liveness to eliminate duplicated for loop (Yauheni Kaliuta) [1747615] - [netdrv] netdevsim: move sdev specific bpf debugfs files to sdev dir (Yauheni Kaliuta) [1747615] - [kernel] bpf: Fix distinct pointer types warning for ARCH=i386 (Yauheni Kaliuta) [1747615] - [tools] selftests/bpf: C based test for sysctl and strtoX (Yauheni Kaliuta) [1747615] - [tools] selftests/bpf: Test bpf_strtol and bpf_strtoul helpers (Yauheni Kaliuta) [1747615] - [tools] selftests/bpf: Test ARG_PTR_TO_LONG arg type (Yauheni Kaliuta) [1747615] - [tools] selftests/bpf: Add sysctl and strtoX helpers to bpf_helpers.h (Yauheni Kaliuta) [1747615] - [tools] bpf: Sync bpf.h to tools/ (Yauheni Kaliuta) [1747615] - [kernel] bpf: Introduce bpf_strtol and bpf_strtoul helpers (Yauheni Kaliuta) [1747615] - [kernel] bpf: Introduce ARG_PTR_TO_{INT,LONG} arg types (Yauheni Kaliuta) [1747615] - [tools] selftests/bpf: Test file_pos field in bpf_sysctl ctx (Yauheni Kaliuta) [1747615] - [tools] selftests/bpf: Test bpf_sysctl_{get, set}_new_value helpers (Yauheni Kaliuta) [1747615] - [tools] selftests/bpf: Test sysctl_get_current_value helper (Yauheni Kaliuta) [1747615] - [tools] selftests/bpf: Test bpf_sysctl_get_name helper (Yauheni Kaliuta) [1747615] - [tools] selftests/bpf: Test BPF_CGROUP_SYSCTL (Yauheni Kaliuta) [1747615] - [tools] selftests/bpf: Test sysctl section name (Yauheni Kaliuta) [1747615] - [tools] libbpf: Support sysctl hook (Yauheni Kaliuta) [1747615] - [tools] bpf: Sync bpf.h to tools/ (Yauheni Kaliuta) [1747615] - [kernel] bpf: Add file_pos field to bpf_sysctl ctx (Yauheni Kaliuta) [1747615] - [kernel] bpf: Introduce bpf_sysctl_{get, set}_new_value helpers (Yauheni Kaliuta) [1747615] - [kernel] bpf: Introduce bpf_sysctl_get_current_value helper (Yauheni Kaliuta) [1747615] - [kernel] bpf: Introduce bpf_sysctl_get_name helper (Yauheni Kaliuta) [1747615] - [kernel] bpf: Sysctl hook (Yauheni Kaliuta) [1747615] - [kernel] bpf: Add base proto function for cgroup-bpf programs (Yauheni Kaliuta) [1747615] - [net] bpf: explicitly prohibit ctx_{in, out} in non-skb BPF_PROG_TEST_RUN (Yauheni Kaliuta) [1747615] - [tools] selftests_bpf: add L2 encap to test_tc_tunnel (Yauheni Kaliuta) [1747615] - [tools] bpf: sync bpf.h to tools/ for BPF_F_ADJ_ROOM_ENCAP_L2 (Yauheni Kaliuta) [1747615] - [net] bpf: add layer 2 encap support to bpf_skb_adjust_room (Yauheni Kaliuta) [1747615] - [tools] selftests_bpf: extend test_tc_tunnel for UDP encap (Yauheni Kaliuta) [1747615] - [kernel] bpf: fix missing bpf_check_uarg_tail_zero in BPF_PROG_TEST_RUN (Yauheni Kaliuta) [1747615] - [s390] Convert IS_ENABLED uses to __is_defined (Yauheni Kaliuta) [1747615] - [tools] selftests: bpf: add selftest for __sk_buff context in BPF_PROG_TEST_RUN (Yauheni Kaliuta) [1747615] - [tools] libbpf: add support for ctx_{size, }_{in, out} in BPF_PROG_TEST_RUN (Yauheni Kaliuta) [1747615] - [net] bpf: support input __sk_buff context in BPF_PROG_TEST_RUN (Yauheni Kaliuta) [1747615] - [tools] bpftool: show btf id in program information (Yauheni Kaliuta) [1747615] - [tools] libbpf: Fix build with gcc-8 (Yauheni Kaliuta) [1747615] - [tools] libbpf: fix crash in XDP socket part with new larger BPF_LOG_BUF_SIZE (Yauheni Kaliuta) [1747615] - [tools] bpf, bpftool: fix a few ubsan warnings (Yauheni Kaliuta) [1747615] - [tools] bpf, selftest: add test cases for BTF Var and DataSec (Yauheni Kaliuta) [1747615] - [tools] bpf, selftest: test {rd, wr}only flags and direct value access (Yauheni Kaliuta) [1747615] - [tools] bpf: bpftool support for dumping data/bss/rodata sections (Yauheni Kaliuta) [1747615] - [tools] bpf, libbpf: add support for BTF Var and DataSec (Yauheni Kaliuta) [1747615] - [tools] bpf, libbpf: support global data/bss/rodata sections (Yauheni Kaliuta) [1747615] - [tools] bpf, libbpf: refactor relocation handling (Yauheni Kaliuta) [1747615] - [tools] bpf: sync {btf, bpf}.h uapi header from tools infrastructure (Yauheni Kaliuta) [1747615] - [kernel] bpf: allow for key-less BTF in array map (Yauheni Kaliuta) [1747615] - [kernel] bpf: kernel side support for BTF Var and DataSec (Yauheni Kaliuta) [1747615] - [documentation] bpf: add specification for BTF Var and DataSec kinds (Yauheni Kaliuta) [1747615] - [kernel] bpf: allow . char as part of the object name (Yauheni Kaliuta) [1747615] - [kernel] bpf: add syscall side map freeze support (Yauheni Kaliuta) [1747615] - [kernel] bpf: add program side {rd, wr}only support for maps (Yauheni Kaliuta) [1747615] - [kernel] bpf: do not retain flags that are not tied to map lifetime (Yauheni Kaliuta) [1747615] - [kernel] bpf: implement lookup-free direct value access for maps (Yauheni Kaliuta) [1747615] - [net] ipv6: Add neighbor helpers that use the ipv6 stub (Yauheni Kaliuta) [1747615] - [tools] libbpf: Ignore -Wformat-nonliteral warning (Yauheni Kaliuta) [1747615] - [kernel] bpf: Add missed newline in verifier verbose log (Yauheni Kaliuta) [1747615] - [tools] selftests/bpf: Test unbounded var_off stack access (Yauheni Kaliuta) [1747615] - [kernel] bpf: Sanity check max value for var_off stack access (Yauheni Kaliuta) [1747615] - [tools] selftests/bpf: Test indirect var_off stack access in unpriv mode (Yauheni Kaliuta) [1747615] - [kernel] bpf: Reject indirect var_off stack access in unpriv mode (Yauheni Kaliuta) [1747615] - [tools] selftests/bpf: Test indirect var_off stack access in raw mode (Yauheni Kaliuta) [1747615] - [kernel] bpf: Reject indirect var_off stack access in raw mode (Yauheni Kaliuta) [1747615] - [samples] bpf: fix build with new clang (Yauheni Kaliuta) [1747615] - [samples] selftests/bpf: add NULL check for ksym_search (Yauheni Kaliuta) [1747615] - [tools] selftests/bpf: ksym_search won't check symbols exists (Yauheni Kaliuta) [1747615] - [tools] selftests/bpf: synthetic tests to push verifier limits (Yauheni Kaliuta) [1747615] - [tools] selftests/bpf: add few verifier scale tests (Yauheni Kaliuta) [1747615] - [tools] libbpf: teach libbpf about log_level bit 2 (Yauheni Kaliuta) [1747615] - [kernel] bpf: increase verifier log limit (Yauheni Kaliuta) [1747615] - [kernel] bpf: increase complexity limit and maximum program size (Yauheni Kaliuta) [1747615] - [kernel] bpf: verbose jump offset overflow check (Yauheni Kaliuta) [1747615] - [kernel] bpf: convert temp arrays to kvcalloc (Yauheni Kaliuta) [1747615] - [kernel] bpf: improve verification speed by not remarking live_read (Yauheni Kaliuta) [1747615] - [kernel] bpf: improve verification speed by droping states (Yauheni Kaliuta) [1747615] - [kernel] bpf: add verifier stats and log_level bit 2 (Yauheni Kaliuta) [1747615] - [tools] selftests: bpf: remove duplicate .flags initialization in ctx_skb.c (Yauheni Kaliuta) [1747615] - [tools] selftests: bpf: fix -Wformat-invalid-specifier for bpf_obj_id.c (Yauheni Kaliuta) [1747615] - [tools] selftests: bpf: fix -Wformat-security warning for flow_dissector_load.c (Yauheni Kaliuta) [1747615] - [tools] selftests: bpf: tests.h should depend on .c files, not the output (Yauheni Kaliuta) [1747615] - [tools] bpf: add bpffs multi-dimensional array tests in test_btf (Yauheni Kaliuta) [1747615] - [tools] selftests/bpf: Test variable offset stack access (Yauheni Kaliuta) [1747615] - [kernel] bpf: Support variable offset stack access from helpers (Yauheni Kaliuta) [1747615] - [net] ipv6: Move ipv6 stubs to a separate header file (Yauheni Kaliuta) [1747615] - [tools] bpf: generate pkg-config file for libbpf (Yauheni Kaliuta) [1747615] - [tools] selftests: bpf: don't depend on hardcoded perf sample_freq (Yauheni Kaliuta) [1747615] - [tools] bpf: test_tc_tunnel.sh needs reverse path filtering disabled (Yauheni Kaliuta) [1747615] - [tools] selftests: bpf: tc-bpf flow shaping with EDT (Yauheni Kaliuta) [1747615] - [net] bpf: make bpf_skb_ecn_set_ce callable from BPF_PROG_TYPE_SCHED_ACT (Yauheni Kaliuta) [1747615] - [tools] selftests/bpf: convert bpf tunnel test to encap modes (Yauheni Kaliuta) [1747615] - [tools] selftests/bpf: convert bpf tunnel test to BPF_F_ADJ_ROOM_FIXED_GSO (Yauheni Kaliuta) [1747615] - [tools] selftests/bpf: convert bpf tunnel test to BPF_ADJ_ROOM_MAC (Yauheni Kaliuta) [1747615] - [tools] bpf: Sync bpf.h to tools (Yauheni Kaliuta) [1747615] - [net] bpf: add bpf_skb_adjust_room encap flags (Yauheni Kaliuta) [1747615] - [net] bpf: add bpf_skb_adjust_room flag BPF_F_ADJ_ROOM_FIXED_GSO (Yauheni Kaliuta) [1747615] - [net] bpf: add bpf_skb_adjust_room mode BPF_ADJ_ROOM_MAC (Yauheni Kaliuta) [1747615] - [tools] selftests/bpf: extend bpf tunnel test with tso (Yauheni Kaliuta) [1747615] - [tools] selftests/bpf: extend bpf tunnel test with gre (Yauheni Kaliuta) [1747615] - [tools] selftests/bpf: expand bpf tunnel test to ipv6 (Yauheni Kaliuta) [1747615] - [tools] selftests/bpf: expand bpf tunnel test with decap (Yauheni Kaliuta) [1747615] - [tools] selftests/bpf: bpf tunnel encap test (Yauheni Kaliuta) [1747615] - [net] bpf: in bpf_skb_adjust_room avoid copy in tx fast path (Yauheni Kaliuta) [1747615] - [samples] bpf: add xdp_sample_pkts to .gitignore (Yauheni Kaliuta) [1747615] - [tools] selftests/bpf: add tests for bpf_tcp_check_syncookie and bpf_skc_lookup_tcp (Yauheni Kaliuta) [1747615] - [tools] selftests/bpf: test references to sock_common (Yauheni Kaliuta) [1747615] - [tools] selftests/bpf: allow specifying helper for BPF_SK_LOOKUP (Yauheni Kaliuta) [1747615] - [tools] update uapi/linux/bpf.h (Yauheni Kaliuta) [1747615] - [net] bpf: add helper to check for a valid SYN cookie (Yauheni Kaliuta) [1747615] - [net] bpf: add skc_lookup_tcp helper (Yauheni Kaliuta) [1747615] - [kernel] bpf: allow helpers to return PTR_TO_SOCK_COMMON (Yauheni Kaliuta) [1747615] - [kernel] bpf: track references based on is_acquire_func (Yauheni Kaliuta) [1747615] - [tools] selftests/bpf: Add arm target register definitions (Yauheni Kaliuta) [1747615] - [documentation] bpf, doc: add RISC-V JIT to BPF documentation (Yauheni Kaliuta) [1747615] - [uapi] bpf: fix documentation for eBPF helpers (Yauheni Kaliuta) [1747615] - [uapi] bpf: add documentation for helpers bpf_spin_lock(), bpf_spin_unlock() (Yauheni Kaliuta) [1747615]- [perf] perf: Add CCPI2 PMU support in ThunderX2 UNCORE driver (Robert Richter) [1726054] - [documentation] documentation: perf: Update documentation for ThunderX2 PMU uncore driver (Robert Richter) [1726054] - [scsi] lpfc: Update lpfc version to 12.6.0.2 (Dick Kennedy) [1771674] - [scsi] lpfc: revise nvme max queues to be hdwq count (Dick Kennedy) [1771674] - [scsi] lpfc: Initialize cpu_map for not present cpus (Dick Kennedy) [1771674] - [scsi] lpfc: fix inlining of lpfc_sli4_cleanup_poll_list() (Dick Kennedy) [1771674] - [scsi] lpfc: fix: coverity: lpfc_cmpl_els_rsp(): Null pointer dereferences (Dick Kennedy) [1771674] - [scsi] lpfc: fix: coverity: lpfc_get_scsi_buf_s3(): Null pointer dereferences (Dick Kennedy) [1771674] - [scsi] lpfc: Fix lpfc_cpumask_of_node_init() (Dick Kennedy) [1771674] - [scsi] lpfc: Fix a kernel warning triggered by lpfc_sli4_enable_intr() (Dick Kennedy) [1771674] - [scsi] lpfc: Fix a kernel warning triggered by lpfc_get_sgl_per_hdwq() (Dick Kennedy) [1771674] - [scsi] lpfc: Update lpfc version to 12.6.0.1 (Dick Kennedy) [1771674] - [scsi] lpfc: Add enablement of multiple adapter dumps (Dick Kennedy) [1771674] - [scsi] lpfc: Change default IRQ model on AMD architectures (Dick Kennedy) [1771674] - [scsi] lpfc: Add registration for CPU Offline/Online events (Dick Kennedy) [1771674] - [scsi] lpfc: Clarify FAWNN error message (Dick Kennedy) [1771674] - [scsi] lpfc: Sync with FC-NVMe-2 SLER change to require Conf with SLER (Dick Kennedy) [1771674] - [scsi] lpfc: Fix dynamic fw log enablement check (Dick Kennedy) [1771674] - [scsi] lpfc: Fix unexpected error messages during RSCN handling (Dick Kennedy) [1771674] - [scsi] lpfc: Fix kernel crash at lpfc_nvme_info_show during remote port bounce (Dick Kennedy) [1771674] - [scsi] lpfc: Fix configuration of BB credit recovery in service parameters (Dick Kennedy) [1771674] - [scsi] lpfc: Fix duplicate unreg_rpi error in port offline flow (Dick Kennedy) [1771674] - [infiniband] ib/srp: Add missing new line after displaying fast_io_fail_tmo param (Kamal Heib) [1678461 1720899] - [net] sunrpc: The RDMA back channel mustn't disappear while requests are outstanding (Kamal Heib) [1720899] - [infiniband] rdma/nldev: Skip counter if port doesn't match (Kamal Heib) [1720899] - [rdma] uverbs: Prevent potential underflow (Kamal Heib) [1720899] - [infiniband] ib/core: Use rdma_read_gid_l2_fields to compare GID L2 fields (Kamal Heib) [1720899] - [infiniband] rdma/siw: free siw_base_qp in kref release routine (Kamal Heib) [1720899] - [infiniband] rdma/iwcm: move iw_rem_ref() calls out of spinlock (Kamal Heib) [1720899] - [infiniband] ib/core: Fix wrong iterating on ports (Kamal Heib) [1720899] - [infiniband] rdma/nldev: Reshuffle the code to avoid need to rebind QP in error path (Kamal Heib) [1720899] - [infiniband] rdma/cm: Fix memory leak in cm_add/remove_one (Kamal Heib) [1720899] - [infiniband] rdma/core: Fix an error handling path in 'res_get_common_doit()' (Kamal Heib) [1720899] - [infiniband] rdma/iwcm: Fix a lock inversion issue (Kamal Heib) [1720899] - [infiniband] rdma/siw: Fix serialization issue in write_space() (Kamal Heib) [1720899] - [infiniband] rdma/vmw_pvrdma: Free SRQ only once (Kamal Heib) [1757294 1720899] - [infiniband] rdma: Fix double-free in srq creation error flow (Kamal Heib) [1720899] - [infiniband] rdma/siw: Fix page address mapping in TX path (Kamal Heib) [1720899] - [infiniband] rdma/cma: Fix false error message (Kamal Heib) [1720899] - [infiniband] rdma/{cxgb3, cxgb4, i40iw}: Remove common code (Kamal Heib) [1760097 1745655 1720899] - [infiniband] rdma/core: Fix use after free and refcnt leak on ndev in_device in iwarp_query_port (Kamal Heib) [1760097 1745655 1720899] - [infiniband] rdma/core: Add common iWARP query port (Kamal Heib) [1760097 1745655 1720899] - [infiniband] rdma/i40iw: Associate ibdev to netdev before IB device registration (Kamal Heib) [1760097 1745655 1720899] - [infiniband] rdma/cxgb3: Use ib_device_set_netdev() (Kamal Heib) [1760097 1745655 1720899] - [infiniband] rdma: Introduce ib_port_phys_state enum (Kamal Heib) [1760097 1745655 1720899] - [sched] topology: Improve load balancing on AMD EPYC systems (Phil Auld) [1757535] - [netdrv] broadcom: Use dev_get_drvdata (Jonathan Toppins) [1724766] - [netdrv] bnxt_en: Add a new BNXT_FW_RESET_STATE_POLL_FW_DOWN state (Jonathan Toppins) [1724766] - [netdrv] bnxt_en: Update firmware interface spec. to 1.10.0.100 (Jonathan Toppins) [1724766] - [netdrv] bnxt_en: Increase timeout for HWRM_DBG_COREDUMP_XX commands (Jonathan Toppins) [1724766] - [netdrv] bnxt_en: Don't proceed in .ndo_set_rx_mode() when device is not in open state (Jonathan Toppins) [1724766] - [netdrv] bnxt_en: Fix compile error regression with CONFIG_BNXT_SRIOV not set (Jonathan Toppins) [1724766] - [netdrv] bnxt_en: Add FW fatal devlink_health_reporter (Jonathan Toppins) [1724766] - [netdrv] bnxt_en: Add bnxt_fw_exception() to handle fatal firmware errors (Jonathan Toppins) [1724766] - [netdrv] bnxt_en: Add RESET_FW state logic to bnxt_fw_reset_task() (Jonathan Toppins) [1724766] - [netdrv] bnxt_en: Do not send firmware messages if firmware is in error state (Jonathan Toppins) [1724766] - [netdrv] bnxt_en: Retain user settings on a VF after RESET_NOTIFY event (Jonathan Toppins) [1724766] - [netdrv] bnxt_en: Add devlink health reset reporter (Jonathan Toppins) [1724766] - [netdrv] bnxt_en: Handle firmware reset (Jonathan Toppins) [1724766] - [netdrv] bnxt_en: Handle RESET_NOTIFY async event from firmware (Jonathan Toppins) [1724766] - [netdrv] bnxt_en: Add new FW devlink_health_reporter (Jonathan Toppins) [1724766] - [netdrv] bnxt_en: Add BNXT_STATE_IN_FW_RESET state (Jonathan Toppins) [1724766] - [netdrv] bnxt_en: Enable health monitoring (Jonathan Toppins) [1724766] - [netdrv] bnxt_en: Pre-map the firmware health monitoring registers (Jonathan Toppins) [1724766] - [netdrv] bnxt_en: Discover firmware error recovery capabilities (Jonathan Toppins) [1724766] - [netdrv] bnxt_en: Handle firmware reset status during IF_UP (Jonathan Toppins) [1724766] - [netdrv] bnxt_en: Register buffers for VFs before reserving resources (Jonathan Toppins) [1724766] - [netdrv] bnxt_en: Refactor bnxt_sriov_enable() (Jonathan Toppins) [1724766] - [netdrv] bnxt_en: Prepare bnxt_init_one() to be called multiple times (Jonathan Toppins) [1724766] - [netdrv] bnxt_en: Suppress all error messages in hwrm_do_send_msg() in silent mode (Jonathan Toppins) [1724766] - [netdrv] bnxt_en: Simplify error checking in the SR-IOV message forwarding functions (Jonathan Toppins) [1724766] - [netdrv] bnxt_en: Convert error code in firmware message response to standard code (Jonathan Toppins) [1724766] - [netdrv] bnxt_en: Remove the -1 error return code from bnxt_hwrm_do_send_msg() (Jonathan Toppins) [1724766] - [netdrv] bnxt_en: Use a common function to print the same ethtool -f error message (Jonathan Toppins) [1724766] - [netdrv] bnxt_en: Fix allocation of zero statistics block size regression (Jonathan Toppins) [1724766] - [netdrv] bnxt: no need to check return value of debugfs_create functions (Jonathan Toppins) [1724766] - [netdrv] bnxt_en: Add PCI IDs for 57500 series NPAR devices (Jonathan Toppins) [1724766] - [netdrv] bnxt_en: Support all variants of the 5750X chip family (Jonathan Toppins) [1724766] - [netdrv] bnxt_en: Refactor bnxt_init_one() and turn on TPA support on 57500 chips (Jonathan Toppins) [1724766] - [netdrv] bnxt_en: Support TPA counters on 57500 chips (Jonathan Toppins) [1724766] - [netdrv] bnxt_en: Allocate the larger per-ring statistics block for 57500 chips (Jonathan Toppins) [1724766] - [netdrv] bnxt_en: Refactor ethtool ring statistics logic (Jonathan Toppins) [1724766] - [netdrv] bnxt_en: Add hardware GRO setup function for 57500 chips (Jonathan Toppins) [1724766] - [netdrv] bnxt_en: Add TPA ID mapping logic for 57500 chips (Jonathan Toppins) [1724766] - [netdrv] bnxt_en: Add fast path logic for TPA on 57500 chips (Jonathan Toppins) [1724766] - [netdrv] bnxt_en: Set TPA GRO mode flags on 57500 chips properly (Jonathan Toppins) [1724766] - [netdrv] bnxt_en: Refactor tunneled hardware GRO logic (Jonathan Toppins) [1724766] - [netdrv] bnxt_en: Handle standalone RX_AGG completions (Jonathan Toppins) [1724766] - [netdrv] bnxt_en: Expand bnxt_tpa_info struct to support 57500 chips (Jonathan Toppins) [1724766] - [netdrv] bnxt_en: Refactor TPA logic (Jonathan Toppins) [1724766] - [netdrv] bnxt_en: Add TPA structure definitions for BCM57500 chips (Jonathan Toppins) [1724766] - [netdrv] bnxt_en: Update firmware interface spec. to 1.10.0.89 (Jonathan Toppins) [1724766] - [netdrv] bnxt_en: Suppress HWRM errors for HWRM_NVM_GET_VARIABLE command (Jonathan Toppins) [1724766] - [netdrv] bnxt_en: Fix to include flow direction in L2 key (Jonathan Toppins) [1724766] - [netdrv] bnxt_en: Use correct src_fid to determine direction of the flow (Jonathan Toppins) [1724766] - [netdrv] bnxt_en: Fix handling FRAG_ERR when NVM_INSTALL_UPDATE cmd fails (Jonathan Toppins) [1724766] - [netdrv] bnxt_en: Improve RX doorbell sequence (Jonathan Toppins) [1724766] - [netdrv] bnxt_en: Fix VNIC clearing logic for 57500 chips (Jonathan Toppins) [1724766] - [netdrv] bnxt_en: Fix VNIC accounting when enabling aRFS on 57500 chips (Jonathan Toppins) [1724766] - [netdrv] bnxt_en: Add page_pool_destroy() during RX ring cleanup (Jonathan Toppins) [1724766] - [netdrv] bnxt_en: add page_pool support (Jonathan Toppins) [1724766] - [netdrv] bnxt_en: optimized XDP_REDIRECT support (Jonathan Toppins) [1724766 1669220] - [netdrv] bnxt_en: Refactor __bnxt_xmit_xdp() (Jonathan Toppins) [1724766] - [netdrv] bnxt_en: rename some xdp functions (Jonathan Toppins) [1724766] - [netdrv] bnxt_en: Device serial number is supported only for PFs (Jonathan Toppins) [1724766] - [netdrv] bnxt_en: Add support for aRFS on 57500 chips (Jonathan Toppins) [1724766] - [netdrv] bnxt_en: Query firmware capability to support aRFS on 57500 chips (Jonathan Toppins) [1724766] - [netdrv] bnxt_en: Separate RDMA MR/AH context allocation (Jonathan Toppins) [1724766] - [netdrv] bnxt_en: read the clause type from the PHY ID (Jonathan Toppins) [1724766] - [netdrv] bnxt_en: Read package version from firmware (Jonathan Toppins) [1724766] - [netdrv] bnxt_en: Check new firmware capability to display extended stats (Jonathan Toppins) [1724766] - [netdrv] bnxt_en: Add support for PCIe statistics (Jonathan Toppins) [1724766] - [netdrv] bnxt_en: Refactor bnxt_alloc_stats() (Jonathan Toppins) [1724766] - [netdrv] bnxt_en: Update firmware interface to 1.10.0.69 (Jonathan Toppins) [1724766] - [netdrv] bnxt: remove ndo_get_port_parent_id implementation for physical ports (Jonathan Toppins) [1724766] - [netdrv] bnxt: pass switch ID through devlink_port_attrs_set() (Jonathan Toppins) [1724766] - [netdrv] bnxt: move bp->switch_id initialization to PF probe (Jonathan Toppins) [1724766] - [netdrv] bnxt: remove ndo_get_phys_port_name implementation (Jonathan Toppins) [1724766] - [netdrv] bnxt: implement ndo_get_devlink_port (Jonathan Toppins) [1724766] - [netdrv] bnxt: Implement ndo_get_port_parent_id() (Jonathan Toppins) [1724766] - [netdrv] cross-tree: phase out dma_zalloc_coherent() (Jonathan Toppins) [1724766] - [netdrv] bnxt_en: Fix firmware signaled resource change logic in open (Jonathan Toppins) [1724766] - [netdrv] bnx2x: Mark expected switch fall-thoughs (Jonathan Toppins) [1724766] - [netdrv] bnx2x: Mark expected switch fall-throughs (Jonathan Toppins) [1724766] - [tools] selftests: kvm: vmx_dirty_log_test: skip the test when VMX is not supported (Vitaly Kuznetsov) [1771575] - [tools] selftests: kvm: consolidate VMX support checks (Vitaly Kuznetsov) [1771575] - [tools] selftests: kvm: vmx_set_nested_state_test: don't check for VMX support twice (Vitaly Kuznetsov) [1771575] - [net] treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 321 (Stefano Garzarella) [1769904] - [net] vsock: Send reset control packet when socket is partially bound (Stefano Garzarella) [1769904] - [net] vsock/virtio: fix sock refcnt holding during the shutdown (Stefano Garzarella) [1769855] - [kernel] vsock/virtio: remove unused 'work' field from 'struct virtio_vsock_pkt' (Stefano Garzarella) [1769855] - [net] treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 482 (Stefano Garzarella) [1769855] - [net] vsock/virtio: set SOCK_DONE on peer shutdown (Stefano Garzarella) [1769855] - [net] vsock/virtio: discard packets if credit is not respected (Stefano Garzarella) [1769853 1769846 1769836] - [net] vsock/virtio: send a credit update when buffer size is changed (Stefano Garzarella) [1769853 1769846 1769836] - [net] vsock/virtio: a better comment on credit update (Stefano Garzarella) [1769853 1769846 1769836] - [net] vsock/virtio: fix locking in virtio_transport_inc_tx_pkt() (Stefano Garzarella) [1769853 1769846 1769836] - [net] vsock/virtio: reduce credit update messages (Stefano Garzarella) [1769853 1769846 1769836] - [net] vsock/virtio: change the maximum packet size allowed (Stefano Garzarella) [1679971] - [vhost] vsock: split packets to send using multiple buffers (Stefano Garzarella) [1679971] - [net] vsock/virtio: limit the memory used per-socket (Stefano Garzarella) [1769744] - [net] vsock/virtio: free packets during the socket release (Stefano Garzarella) [1769744] - [net] vsock: Fix a lockdep warning in __vsock_release() (Stefano Garzarella) [1769714] - [net] vsock: correct removal of socket from the list (Stefano Garzarella) [1769714] - [net] treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 152 (Stefano Garzarella) [1769714] - [net] treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 321 (Stefano Garzarella) [1769714] - [net] Fix ERROR:do not initialise statics to 0 in af_vsock.c (Stefano Garzarella) [1769714] - [net] vsock: bind to random port for VMADDR_PORT_ANY (Stefano Garzarella) [1769714] - [tools] tc-testing: added tests with cookie for conntrack TC action (Ivan Vecera) [1739606] - [net] cls_bpf: fix NULL deref on offload filter removal (Ivan Vecera) [1739606] - [tools] tc-testing: fixed two failing pedit tests (Ivan Vecera) [1739606] - [tools] tc-testing: implement tests for new fast_init action flag (Ivan Vecera) [1739606] - [net] sched: update action implementations to support flags (Ivan Vecera) [1739606] - [net] sched: use temporary variable for actions indexes (Ivan Vecera) [1739606] - [net] sched: extend TCA_ACT space with TCA_ACT_FLAGS (Ivan Vecera) [1739606] - [net] sched: modify stats helper functions to support regular stats (Ivan Vecera) [1739606] - [net] sched: don't expose action qstats to skb_tc_reinsert() (Ivan Vecera) [1739606] - [net] sched: extract qstats update code into functions (Ivan Vecera) [1739606] - [net] sched: extract bstats update code into function (Ivan Vecera) [1739606] - [net] sched: extract common action counters update code into function (Ivan Vecera) [1739606] - [tools] tc-testing: list required kernel options for act_ct action (Ivan Vecera) [1739606] - [net] fq_codel: do not include (Ivan Vecera) [1739606] - [net] sch_generic: Use pfifo_fast as fallback scheduler for CAN hardware (Ivan Vecera) [1739606] - [net] sched: taprio: fix -Wmissing-prototypes warnings (Ivan Vecera) [1739606] - [net] sched: act_police: re-use tcf_tm_dump() (Ivan Vecera) [1739606] - [tools] tc-testing: updated pedit TDC tests (Ivan Vecera) [1739606] - [net] sched: Avoid using yield() in a busy waiting loop (Ivan Vecera) [1739606] - [tools] tc-testing: updated pedit test cases (Ivan Vecera) [1739606] - [net] sched: etf: Fix ordering of packets with same txtime (Ivan Vecera) [1739606] - [tools] tc-testing: updated pedit test cases (Ivan Vecera) [1739606] - [net] taprio: Fix returning EINVAL when configuring without flags (Ivan Vecera) [1739606] - [net] net_sched: fix backward compatibility for TCA_ACT_KIND (Ivan Vecera) [1739606] - [net] net_sched: fix backward compatibility for TCA_KIND (Ivan Vecera) [1739606] - [net] sched: Set default of CONFIG_NET_TC_SKB_EXT to N (Ivan Vecera) [1739606] - [net] sch_netem: fix rcu splat in netem_enqueue() (Ivan Vecera) [1739606] - [net] net_sched: remove need_resched() from qdisc_run() (Ivan Vecera) [1739606] - [net] sched: cbs: Avoid division by zero when calculating the port rate (Ivan Vecera) [1739606] - [net] sched: taprio: Avoid division by zero on invalid link speed (Ivan Vecera) [1739606] - [net] sched: taprio: Fix potential integer overflow in taprio_set_picos_per_byte (Ivan Vecera) [1739606] - [net] sched: cbs: Fix not adding cbs instance to list (Ivan Vecera) [1739606] - [net] Fix Kconfig indentation (Ivan Vecera) [1739606] - [net] net_sched: add policy validation for action attributes (Ivan Vecera) [1739606] - [net] net_sched: add max len check for TCA_KIND (Ivan Vecera) [1739606] - [net] taprio: Add support for hardware offloading (Ivan Vecera) [1739606] - [net] sched: use get_dev() action API in flow_action infra (Ivan Vecera) [1739606] - [net] sched: take reference to psample group in flow_action infra (Ivan Vecera) [1739606] - [net] sched: extend flow_action_entry with destructor (Ivan Vecera) [1739606] - [net] sch_hhf: ensure quantum and hhf_non_hh_weight are non-zero (Ivan Vecera) [1739606] - [net] net_sched: check cops->tcf_block in tc_bind_tclass() (Ivan Vecera) [1739606] - [net] sched: fix reordering issues (Ivan Vecera) [1739606] - [net] net_sched: act_police: add 2 new attributes to support police 64bit rate and peakrate (Ivan Vecera) [1739606] - [net] openvswitch: Set OvS recirc_id from tc chain index (Ivan Vecera) [1739606] - [net] sk_buff: drop all skb extensions on free and skb scrubbing (Ivan Vecera) [1739606] - [net] minor cleanup in skb_ext_add() (Ivan Vecera) [1739606] - [include] net: drop the unused helper skb_ext_get() (Ivan Vecera) [1739606] - [net] fix possible user-after-free in skb_ext_add() (Ivan Vecera) [1739606] - [net] sk_buff: add skb extension infrastructure (Ivan Vecera) [1739606] - [net] sched: cbs: remove redundant assignment to variable port_rate (Ivan Vecera) [1739606] - [tools] tc-testing: don't hardcode 'ip' in nsPlugin.py (Ivan Vecera) [1739606] - [net] sched: cbs: Set default link speed to 10 Mbps in cbs_set_port_rate (Ivan Vecera) [1739606] - [net] taprio: Set default link speed to 10 Mbps in taprio_set_picos_per_byte (Ivan Vecera) [1739606] - [net] taprio: Fix kernel panic in taprio_destroy (Ivan Vecera) [1739606] - [netdrv] mlx5e: Move local var definition into ifdef block (Ivan Vecera) [1739606] - [net] sched: cls_matchall: cleanup flow_action before deallocating (Ivan Vecera) [1739606] - [net] sched: act_vlan: implement stats_update callback (Ivan Vecera) [1739606] - [net] sched: act_sample: fix psample group handling on overwrite (Ivan Vecera) [1739606] - [net] sched: flower: don't take rtnl lock for cls hw offloads API (Ivan Vecera) [1739606] - [net] sched: copy tunnel info when setting flow_action entry->tunnel (Ivan Vecera) [1739606] - [net] sched: take reference to action dev before calling offloads (Ivan Vecera) [1739606] - [net] sched: take rtnl lock in tc_setup_flow_action() (Ivan Vecera) [1739606] - [net] sched: conditionally obtain rtnl lock in cls hw offloads API (Ivan Vecera) [1739606] - [net] sched: add API for registering unlocked offload block callbacks (Ivan Vecera) [1739606] - [net] sched: notify classifier on successful offload add/delete (Ivan Vecera) [1739606] - [net] sched: refactor block offloads counter usage (Ivan Vecera) [1739606] - [net] sched: change tcf block offload counter type to atomic_t (Ivan Vecera) [1739606] - [net] sched: protect block offload-related fields with rw_semaphore (Ivan Vecera) [1739606] - [net] net_sched: fix a NULL pointer deref in ipt action (Ivan Vecera) [1739606] - [tools] tc-testing: concurrency: wrap piped rule update commands (Ivan Vecera) [1739606] - [tools] tc-testing: use dedicated DUMMY interface name for dummy dev (Ivan Vecera) [1739606] - [net] flow_offload: convert block_ing_cb_list to regular list type (Ivan Vecera) [1739606] - [netdrv] sched: use major priority number as hardware priority (Ivan Vecera) [1739606] - [tools] tc-testing: added tdc tests for matchall filter (Ivan Vecera) [1739606] - [net] taprio: remove unused variable 'entry_list_policy' (Ivan Vecera) [1739606] - [tools] tc-testing: updated skbedit action tests with batch create/delete (Ivan Vecera) [1739606] - [net] sched: update skbedit action for batched events operations (Ivan Vecera) [1739606] - [net] fq_codel: remove set but not used variables 'prev_ecn_mark' and 'prev_drop_count' (Ivan Vecera) [1739606] - [net] flow_offload: support get multi-subsystem block (Ivan Vecera) [1739606] - [net] flow_offload: move tc indirect block to flow offload (Ivan Vecera) [1739606] - [net] cls_api: add flow_indr_block_call function (Ivan Vecera) [1739606] - [net] cls_api: remove the tcf_block cache (Ivan Vecera) [1739606] - [net] cls_api: modify the tc_indr_block_ing_cmd parameters. (Ivan Vecera) [1739606] - [net] sched: sch_taprio: fix memleak in error path for sched list parse (Ivan Vecera) [1739606] - [net] fq_codel: Kill useless per-flow dropped statistic (Ivan Vecera) [1739606] - [net] Increase fq_codel count in the bulk dropper (Ivan Vecera) [1739606] - [include] sched: sample: allow accessing psample_group with rtnl (Ivan Vecera) [1739606] - [tools] tc-testing: updated vlan action tests with batch create/delete (Ivan Vecera) [1739606] - [net] sched: update vlan action for batched events operations (Ivan Vecera) [1739606] - [tools] tc-testing: Clarify the use of tdc's -d option (Ivan Vecera) [1739606] - [net] sched: Fix a possible null-pointer dereference in dequeue_func() (Ivan Vecera) [1739606] - [tools] tc-testing: added tdc tests for [b|p]fifo qdisc (Ivan Vecera) [1739606] - [net] ife: error out when nla attributes are empty (Ivan Vecera) [1739606] - [net] sched: verify that q!=NULL before setting q->flags (Ivan Vecera) [1739606] - [net] net_sched: unset TCQ_F_CAN_BYPASS when adding filters (Ivan Vecera) [1739606] - [net] fix: taprio: Change type of txtime-delay parameter to u32 (Ivan Vecera) [1739606] - [tools] tc-tests: updated skbedit tests (Ivan Vecera) [1739606] - [include] pkt_sched: Include const.h (Ivan Vecera) [1739606] - [tools] tc-testing: introduce scapyPlugin for basic traffic (Ivan Vecera) [1739606] - [tools] tc-testing: Allow tdc plugins to see test case data (Ivan Vecera) [1739606] - [tools] tc-testing: added tdc tests for prio qdisc (Ivan Vecera) [1739606] - [tools] tc-testing: updated mirred action tests with batch create/delete (Ivan Vecera) [1739606] - [net] sched: update mirred action for batched events operations (Ivan Vecera) [1739606] - [net] sched: em_ipt: add support for addrtype matching (Ivan Vecera) [1739606] - [net] sched: em_ipt: keep the user-specified nfproto and dump it (Ivan Vecera) [1739606] - [net] sched: em_ipt: set the family based on the packet if it's unspecified (Ivan Vecera) [1739606] - [net] sched: em_ipt: match only on ip/ipv6 traffic (Ivan Vecera) [1739606] - [net] taprio: Adjust timestamps for TCP packets (Ivan Vecera) [1739606] - [net] taprio: make clock reference conversions easier (Ivan Vecera) [1739606] - [net] taprio: Add support for txtime-assist mode (Ivan Vecera) [1739606] - [net] taprio: Remove inline directive (Ivan Vecera) [1739606] - [net] taprio: calculate cycle_time when schedule is installed (Ivan Vecera) [1739606] - [net] etf: Add skip_sock_check (Ivan Vecera) [1739606] - [include] etf: Don't use BIT() in UAPI headers. (Ivan Vecera) [1739606] - [tools] tc-testing: add ingress qdisc tests (Ivan Vecera) [1739606] - [tools] tc-testing: Restore original behaviour for namespaces in tdc (Ivan Vecera) [1739606] - [include] net: sched: act_ctinfo: tidy UAPI definition (Ivan Vecera) [1739606] - [include] act_ctinfo: Don't use BIT() in UAPI headers. (Ivan Vecera) [1739606] - [net] sched: cls_matchall: allow to delete filter (Ivan Vecera) [1739606] - [net] sched: act_ctinfo: fix policy validation (Ivan Vecera) [1739606] - [net] sched: act_ctinfo: fix action creation (Ivan Vecera) [1739606] - [tools] tc-tests: updated skbedit tests (Ivan Vecera) [1739606] - [tools] tc-tests: added path to ip command in tdc (Ivan Vecera) [1739606] - [net] sched: remove NET_CLS_IND config option (Ivan Vecera) [1739606] - [net] sched: act_ctinfo: use extack error reporting (Ivan Vecera) [1739606] - [net] sched: ingress: set 'unlocked' flag for clsact Qdisc ops (Ivan Vecera) [1739606] - [net] sched: ingress: set 'unlocked' flag for Qdisc ops (Ivan Vecera) [1739606] - [tools] tc-tests: updated fw with bind actions by reference use cases (Ivan Vecera) [1739606] - [net] sched: act_ctinfo: minor size optimisation (Ivan Vecera) [1739606] - [net] flow_offload: use struct_size() in kzalloc() (Ivan Vecera) [1739606] - [net] sched: don't use tc_action->order during action dump (Ivan Vecera) [1739606] - [net] sch_htb: redefine htb qdisc overlimits (Ivan Vecera) [1739606] - [tools] selftests: tc-testing: Add pedit tests (Ivan Vecera) [1739606] - [net] sched: add ingress mirred action to hardware IR (Ivan Vecera) [1757520] - [include] net: tc_act: add helpers to detect ingress mirred actions (Ivan Vecera) [1757520] - [net] sched: add skbedit of ptype action to hardware IR (Ivan Vecera) [1757520] - [include] net: tc_act: add skbedit_ptype helper functions (Ivan Vecera) [1757520] - [net] openvswitch: load and reference the NAT helper. (Flavio Leitner) [1752970] - [net] openvswitch: load NAT helper (Flavio Leitner) [1752970] - [net] netfilter: nf_nat: register NAT helpers. (Flavio Leitner) [1752970] - [net] netfilter: add API to manage NAT helpers. (Flavio Leitner) [1752970] - [net] netfilter: use macros to create module aliases. (Flavio Leitner) [1752970] - [net] xfrm: remove a duplicated assignment (Sabrina Dubroca) [1760002] - [net] xfrm: remove empty xfrmi_init_net (Sabrina Dubroca) [1760002] - [net] xfrm: remove unneeded export_symbols (Sabrina Dubroca) [1760002] - [include] xfrm: clean an indentation issue, remove a space (Sabrina Dubroca) [1760002] - [net] xfrm6: remove BUG_ON from xfrm6_dst_ifdown (Sabrina Dubroca) [1760002] - [net] xfrm: policy: add missing indentation (Sabrina Dubroca) [1760002] - [net] xfrm: Fix bucket count reported to userspace (Sabrina Dubroca) [1760002] - [net] xfrm: use complete IPv6 addresses for hash (Sabrina Dubroca) [1760002] - [net] xfrm: use correct size to initialise sp->ovec (Sabrina Dubroca) [1760002] - [net] xfrm: allow driver to quietly refuse offload (Sabrina Dubroca) [1760002] - [net] esp: remove redundant define esph (Sabrina Dubroca) [1760002] - [net] ip6_vti: simplify stats handling in vti6_xmit (Sabrina Dubroca) [1760002] - [net] xfrm: fix 'passing zero to ERR_PTR()' warning (Sabrina Dubroca) [1760002] - [net] xfrm: remove blank lines at EOF (Sabrina Dubroca) [1760002] - [net] xfrm: don't check offload_handle for nonzero (Sabrina Dubroca) [1760002] - [net] ipv6: xfrm: use 64-bit timestamps (Sabrina Dubroca) [1760002] - [net] devlink: Introduce PCI VF port flavour and port attribute (Petr Oros) [1761495] - [net] devlink: Introduce PCI PF port flavour and port attribute (Petr Oros) [1761495] - [net] devlink: Return physical port fields only for applicable port flavours (Petr Oros) [1761495] - [net] devlink: Refactor physical port attributes (Petr Oros) [1761495] - [net] ipv4: fix race condition between route lookup and invalidation (Guillaume Nault) [1765639] - [net] add {READ|WRITE}_ONCE() annotations on ->rskq_accept_head (Guillaume Nault) [1765639] - [net] ipv4/icmp: fix rt dst dev null pointer dereference (Guillaume Nault) [1765639] - [net] ipip: validate header length in ipip_tunnel_xmit (Guillaume Nault) [1765639] - [net] ipv4: Use return value of inet_iif() for __raw_v4_lookup in the while loop (Guillaume Nault) [1765639] - [net] ipv4: Fix raw socket lookup for local traffic (Guillaume Nault) [1765639] - [net] ipv4: Return error for RTA_VIA attribute (Guillaume Nault) [1765639] - [net] ipmr: fix unresolved entry dumps (Guillaume Nault) [1765639] - [net] ipvs: don't ignore errors in case refcounting ip_vs module fails (Davide Caratti) [1687094] - [net] ipvs: fix tinfo memory leak in start_sync_thread (Davide Caratti) [1687094] - [net] tcp: fix a possible lockdep splat in tcp_done() (Marcelo Leitner) [1764654] - [net] tcp: add rcu protection around tp->fastopen_rsk (Marcelo Leitner) [1764654] - [net] tcp: annotate lockless access to tcp_memory_pressure (Marcelo Leitner) [1764654] - [net] tcp: fix tcp_ecn_withdraw_cwr() to clear TCP_ECN_QUEUE_CWR (Marcelo Leitner) [1764654] - [net] tcp: inherit timestamp on mtu probe (Marcelo Leitner) [1764654] - [net] tcp: remove empty skb from write queue in error cases (Marcelo Leitner) [1764654] - [net] tcp: get rid of tcp_check_send_head() (Marcelo Leitner) [1764654] - [net] tcp: make sure EPOLLOUT wont be missed (Marcelo Leitner) [1764654] - [net] ipv4: set the tcp_min_rtt_wlen range from 0 to one day (Marcelo Leitner) [1764654] - [net] net-tcp: /proc/sys/net/ipv4/tcp_probe_interval is a u32 not int (Marcelo Leitner) [1764654] - [net] tcp: fix a race in inet_diag_dump_icsk() (Marcelo Leitner) [1764654] - [net] netfilter: nft_meta: Add NFT_META_I/OIFKIND meta type (Florian Westphal) [1763657] - [net] netfilter: nft_xfrm: use state family, not hook one (Florian Westphal) [1763654] - [net] netfilter: nf_tables: add xfrm expression (Florian Westphal) [1763654] - [net] netfilter: nf_tables: rt: allow checking if dst has xfrm attached (Florian Westphal) [1763654] - [netdrv] mlx5e: Fix unnecessary flow_block_cb_is_busy call (Ivan Vecera) [1737890] - [netdrv] nfp: flower: verify that block cb is not busy before binding (Ivan Vecera) [1737890] - [netdrv] net/mlx5e: Provide cb_list pointer when setting up tc block on rep (Ivan Vecera) [1737890] - [net] sched: Fix NULL-pointer dereference in tc_indr_block_ing_cmd() (Ivan Vecera) [1737890] - [net] flow_offload: add flow_block structure and use it (Ivan Vecera) [1737890] - [net] flow_offload: rename tc_setup_cb_t to flow_setup_cb_t (Ivan Vecera) [1737890] - [include] flow_offload: include linux/kernel.h from flow_offload.h (Ivan Vecera) [1737890] - [net] flow_offload: remove netns parameter from flow_block_cb_alloc() (Ivan Vecera) [1737890] - [net] openvswitch: rename flow_stats to sw_flow_stats (Ivan Vecera) [1737890] - [netdrv] mlx5e: Fix unused variable warning when CONFIG_MLX5_ESWITCH is off (Ivan Vecera) [1737890] - [netdrv] net: flow_offload: rename tc_cls_flower_offload to flow_cls_offload (Ivan Vecera) [1737890] - [net] flow_offload: add flow_block_cb_is_busy() and use it (Ivan Vecera) [1737890] - [net] sched: remove tcf block API (Ivan Vecera) [1737890] - [include] sched: use new symbol for TC kABI version (Ivan Vecera) [1737890] - [netdrv] use flow block API (Ivan Vecera) [1737890] - [net] sched: use flow block API (Ivan Vecera) [1737890] - [net] flow_offload: add flow_block_cb_{priv, incref, decref}() (Ivan Vecera) [1737890] - [net] flow_offload: add list handling functions (Ivan Vecera) [1737890] - [net] flow_offload: add flow_block_cb_alloc() and flow_block_cb_free() (Ivan Vecera) [1737890] - [net] flow_offload: rename TCF_BLOCK_BINDER_TYPE_* to FLOW_BLOCK_BINDER_TYPE_* (Ivan Vecera) [1737890] - [net] flow_offload: rename TC_BLOCK_{UN}BIND to FLOW_BLOCK_{UN}BIND (Ivan Vecera) [1737890] - [net] flow_offload: add flow_block_cb_setup_simple() (Ivan Vecera) [1737890] - [net] openvswitch: free vport unless register_netdevice() succeeds (Stefano Brivio) [1765580] - [net] openvswitch: Clear the L4 portion of the key for "later" fragments. (Stefano Brivio) [1765580] - [net] openvswitch: Properly set L4 keys on "later" IP fragments (Stefano Brivio) [1765580] - [net] openvswitch: Print error when ovs_execute_actions() fails (Stefano Brivio) [1765580] - [net] openvswitch: do not free vport if register_netdevice() is failed. (Stefano Brivio) [1765580] - [net] xfrm: policy: remove pcpu policy cache (Xin Long) [1743519] - [net] netem: correct the parent's backlog when corrupted packet was dropped (Davide Caratti) [1764553] - [net] netem: fix error path for corrupted GSO frames (Davide Caratti) [1764553] - [net] avoid potential infinite loop in tc_ctl_action() (Davide Caratti) [1764553] - [net] act_mirred: Fix mirred_init_module error handling (Davide Caratti) [1764553] - [net] sch_dsmark: fix potential NULL deref in dsmark_init() (Davide Caratti) [1764553] - [net] sch_cbq: validate TCA_CBQ_WRROPT to avoid crash (Davide Caratti) [1764553] - [net] sched: sch_sfb: don't call qdisc_put() while holding tree lock (Davide Caratti) [1764553] - [net] sched: multiq: don't call qdisc_put() while holding tree lock (Davide Caratti) [1764553] - [net] sched: sch_htb: don't call qdisc_put() while holding tree lock (Davide Caratti) [1764553] - [net] sched: fix possible crash in tcf_action_destroy() (Davide Caratti) [1764553] - [net] sch_netem: fix a divide by zero in tabledist() (Davide Caratti) [1764553] - [net] sched: act_sample: don't push mac header on ip6gre ingress (Davide Caratti) [1764553] - [net] net_sched: let qdisc_put() accept NULL pointer (Davide Caratti) [1764553] - [net] tcp: adjust rto_base in retransmits_timed_out() (Marcelo Leitner) [1756775] - [net] tcp: better handle TCP_USER_TIMEOUT in SYN_SENT state (Marcelo Leitner) [1756775] - [include] netlink: use 48 byte ctx instead of 6 signed longs for callback (Petr Oros) [1751273] - [net] rtnetlink: skip metrics loop for dst_default_metrics (Petr Oros) [1751273] - [include] netlink: Add field to skip in-kernel notifications (Petr Oros) [1751273] - [include] netlink: Document all fields of 'struct nl_info' (Petr Oros) [1751273] - [net] ipoib: show VF broadcast address (Petr Oros) [1751273] - [net] remove empty netlink_tap_exit_net (Petr Oros) [1751273] - [net] netlink: make netlink_walk_start() void return type (Petr Oros) [1751273] - [include] net: nexthop uapi (Petr Oros) [1751273] - [net] Treat sock->sk_drops as an unsigned int when printing (Petr Oros) [1751273] - [net] fix two coding style issues (Petr Oros) [1751273] - [net] ipset: drop ipset_nest_start() and ipset_nest_end() (Petr Oros) [1751273] - [net] netlink: make nla_nest_start() add NLA_F_NESTED flag (Petr Oros) [1751273] - [net] netfilter: nf_tables: fix a missing check of nla_put_failure (Petr Oros) [1751273] - [net] ncsi: fix a missing check for nla_nest_start (Petr Oros) [1751273] - [net] genetlink: use idr_alloc_cyclic for family->id assignment (Petr Oros) [1751273] - [net] netlink: Check address length before reading groups field (Petr Oros) [1751273] - [net] core: Fix rtnetlink kernel-doc headers (Petr Oros) [1751273] - [net] rhashtable: Remove obsolete rhashtable_walk_init function (Petr Oros) [1751273] - [net] netfilter: nf_tables: use rhashtable_walk_enter instead of rhashtable_walk_init (Petr Oros) [1751273] - [net] netlink: reduce NLA_POLICY_NESTED{, _ARRAY} arguments (Petr Oros) [1751273] - [net] netlink: rename NETLINK_DUMP_STRICT_CHK -> NETLINK_GET_STRICT_CHK (Petr Oros) [1751273] - [include] netlink: replace __NLA_ENSURE implementation (Petr Oros) [1751273] - [include] netlink: fix typo in nla_parse_nested() comment (Petr Oros) [1751273] - [net] netlink: remove hash::nelems check in netlink_insert (Petr Oros) [1751273] - [net] netlink: Make groups check less stupid in netlink_bind() (Petr Oros) [1751273] - [include] genetlink: constify genl_err_attr() argument (Petr Oros) [1751273] - [net] netlink: do not store start function in netlink_cb (Petr Oros) [1751273] - [include] linux: Add skb_frag_t page_offset accessors (Petr Oros) [1757515] - [include] net: add missing documentation in linux/skbuff.h (Petr Oros) [1757515] - [net] l2tp: Fix possible NULL pointer dereference (Stefano Brivio) [1764185] - [net] l2ip: fix possible use-after-free (Stefano Brivio) [1764185] - [net] l2tp: use rcu_dereference_sk_user_data() in l2tp_udp_encap_recv() (Stefano Brivio) [1764185] - [net] l2tp: fix infoleak in l2tp_ip6_recvmsg() (Stefano Brivio) [1764185] - [net] l2tp: copy 4 more bytes to linear part if necessary (Stefano Brivio) [1764185] - [net] l2tp: fix reading optional fields of L2TPv3 (Stefano Brivio) [1764185] - [net] l2tp: remove ->recv_payload_hook (Stefano Brivio) [1764185] - [net] l2tp: don't export l2tp_session_queue_purge() (Stefano Brivio) [1764185] - [net] l2tp: remove .show from struct l2tp_tunnel (Stefano Brivio) [1764185] - [netdrv] vxlan: do not destroy fdb if register_netdevice() is failed (Stefano Brivio) [1763793] - [net] ip6erspan: remove the incorrect mtu limit for ip6erspan (Stefano Brivio) [1763286] - [net] ipv6: Handle missing host route in __ipv6_ifa_notify (Stefano Brivio) [1763286] - [net] ipv6: drop incoming packets having a v4mapped source address (Stefano Brivio) [1763286] - [net] ip6_gre: fix a dst leak in ip6erspan_tunnel_xmit (Stefano Brivio) [1763286] - [net] mld: fix memory leak in mld_del_delrec() (Stefano Brivio) [1763286] - [net] ipv6: rt6_check should return NULL if 'from' is NULL (Stefano Brivio) [1763286] - [net] ipv6_sockglue: Fix a missing-check bug in ip6_ra_control() (Stefano Brivio) [1763286] - [net] ipv6_gre: Fix GRO to work on IPv6 over GRE tap (Stefano Brivio) [1763286] - [net] ipv4: Return -ENETUNREACH if we can't create route but saddr is valid (Stefano Brivio) [1686686] - [net] netfilter: nft_connlimit: disable bh on garbage collection (Florian Westphal) [1762844] - [net] netfilter: ebtables: Fix argument order to ADD_COUNTER (Florian Westphal) [1762844] - [net] netfilter: ebtables: CONFIG_COMPAT: reject trailing data after last rule (Florian Westphal) [1762844] - [net] netfilter: ebtables: CONFIG_COMPAT: drop a bogus WARN_ON (Florian Westphal) [1762844] - [net] netfilter: bridge: set skb transport_header before entering NF_INET_PRE_ROUTING (Florian Westphal) [1762844] - [net] netfilter: ebtables: also count base chain policies (Florian Westphal) [1762844] - [net] netfilter: ebtables: compat: un-break 32bit setsockopt when no rules are present (Florian Westphal) [1762844] - [net] sctp: change sctp_prot .no_autobind with true (Xin Long) [1762625] - [net] sctp: destroy bucket if failed to bind addr (Xin Long) [1762625] - [net] sctp: remove redundant assignment when call sctp_get_port_local (Xin Long) [1762625] - [net] sctp: change return type of sctp_get_port_local (Xin Long) [1762625] - [net] sctp: Fix the link time qualifier of 'sctp_ctrlsock_exit()' (Xin Long) [1762625] - [net] sctp: fix the missing put_user when dumping transport thresholds (Xin Long) [1762625] - [net] sctp: use transport pf_retrans in sctp_do_8_2_transport_strike (Xin Long) [1762625] - [net] sctp: allow users to set ep ecn flag by sockopt (Xin Long) [1762625] - [net] sctp: allow users to set netns ecn flag with sysctl (Xin Long) [1762625] - [net] sctp: make ecn flag per netns and endpoint (Xin Long) [1762625] - [net] sctp: remove net sctp.x_enable working as a global switch (Xin Long) [1762625] - [net] sctp: add SCTP_AUTH_SUPPORTED sockopt (Xin Long) [1762625] - [net] sctp: add sctp_auth_init and sctp_auth_free (Xin Long) [1762625] - [net] sctp: use ep and asoc auth_enable properly (Xin Long) [1762625] - [net] sctp: add SCTP_ASCONF_SUPPORTED sockopt (Xin Long) [1762625] - [net] sctp: check asoc peer.asconf_capable before processing asconf (Xin Long) [1762625] - [net] sctp: not set peer.asconf_capable in sctp_association_init (Xin Long) [1762625] - [net] sctp: add asconf_enable in struct sctp_endpoint (Xin Long) [1762625] - [net] sctp: fix memleak in sctp_send_reset_streams (Xin Long) [1762625] - [net] sctp: fix the transport error_count check (Xin Long) [1762625] - [net] sched: fix corrupted L2 header with MPLS 'push' and 'pop' actions (Ivan Vecera) [1737820] - [net] avoid errors when trying to pop MLPS header on non-MPLS packets (Ivan Vecera) [1737820] - [net] netfilter: connlabels: prefer static lock initialiser (Ivan Vecera) [1737820] - [net] sched: include mpls actions in hardware intermediate representation (Ivan Vecera) [1737820] - [net] sched: Make NET_ACT_CT depends on NF_NAT (Ivan Vecera) [1737820] - [tools] tc-tests: Add tc action ct tests (Ivan Vecera) [1737820] - [net] sched: cls_flower: Add matching on conntrack info (Ivan Vecera) [1737820] - [net] flow_dissector: add connection tracking dissection (Ivan Vecera) [1737820] - [net] sched: Introduce action ct (Ivan Vecera) [1737820] - [tools] tc-tests: actions: add MPLS tests (Ivan Vecera) [1737820] - [net] sched: add mpls manipulation actions to TC (Ivan Vecera) [1737820] - [net] core: add MPLS update core helper and use in OvS (Ivan Vecera) [1737820] - [net] core: move pop MPLS functionality from OvS to core helper (Ivan Vecera) [1737820] - [net] core: move push MPLS functionality from OvS to core helper (Ivan Vecera) [1737820] - [net] sched: Introduce act_ctinfo action (Ivan Vecera) [1737820] - [netdrv] mlx5e: Allow dissector meta key in tc flower (Ivan Vecera) [1762861] - [tools] selftests: tc: add ingress device matching support (Ivan Vecera) [1762861] - [net] flow_offload: implement support for meta key (Ivan Vecera) [1762861] - [net] sched: cls_flower: use flow_dissector for ingress ifindex (Ivan Vecera) [1762861] - [net] flow_dissector: add support for ingress ifindex dissection (Ivan Vecera) [1762861] - [net] udp: only do GSO if # of segs > 1 (Guillaume Nault) [1762357] - [net] udp: fix gso_segs calculations (Guillaume Nault) [1762357] - [tools] selftests: rtnetlink: add small test case with 'promote_secondaries' enabled (Petr Oros) [1759177] - [net] ipv4: fix infinite loop on secondary addr promotion (Petr Oros) [1759177] - [tools] selftests: rtnetlink: add addresses with fixed life time (Petr Oros) [1759177] - [net] ipv4: remove erroneous advancement of list pointer (Petr Oros) [1759177] - [net] ipv4: fix rcu lockdep splat due to wrong annotation (Petr Oros) [1759177] - [net] ipv4: provide __rcu annotation for ifa_list (Petr Oros) [1759177] - [drivers] use in_dev_for_each_ifa_rtnl/rcu (Petr Oros) [1759177] - [net] use new in_dev_ifa iterators (Petr Oros) [1759177] - [net] netfilter: use in_dev_for_each_ifa_rcu (Petr Oros) [1759177] - [net] devinet: use in_dev_for_each_ifa_rcu in more places (Petr Oros) [1759177] - [net] inetdevice: provide replacement iterators for in_ifaddr walk (Petr Oros) [1759177] - [fs] afs: do not send list of client addresses (Petr Oros) [1759177] - [net] sctp: add SCTP_SEND_FAILED_EVENT event (Xin Long) [1751129] - [net] sctp: add SCTP_ADDR_MADE_PRIM event (Xin Long) [1751129] - [net] sctp: add SCTP_ADDR_REMOVED event (Xin Long) [1751129] - [net] sctp: add SCTP_ADDR_ADDED event (Xin Long) [1751129] - [netdrv] team: call RCU read lock when walking the port_list (Hangbin Liu) [1724896] - [net] packet: fix race in tpacket_snd() (Davide Caratti) [1760276] - [net] packet: fix memory leak in packet_set_ring() (Davide Caratti) [1760276] - [net] packet: unconditionally free po->rollover (Davide Caratti) [1760276] - [net] llc: fix skb leak in llc_build_and_send_ui_pkt() (Davide Caratti) [1760276] - [net] af_key: fix leaks in key_pol_get_resp and dump_sp. (Davide Caratti) [1760276] - [net] packet: in recvmsg msg_name return at least sizeof sockaddr_ll (Davide Caratti) [1760276] - [net] packet: Set __GFP_NOWARN upon allocation in alloc_pg_vec (Davide Caratti) [1760276] - [net] packet: fix 4gb buffer limit due to overflow check (Davide Caratti) [1760276] - [net] llc: do not use sk_eat_skb() (Davide Caratti) [1760276] - [fs] proc: fix /proc/net/* after setns(2) (Davide Caratti) [1760276] - [net] Unpublish sk from sk_reuseport_cb before call_rcu (Paolo Abeni) [1760409] - [net] Fix null de-reference of device refcount (Paolo Abeni) [1760409] - [include] ipv4: Define __ipv4_neigh_lookup_noref when CONFIG_INET is disabled (Paolo Abeni) [1760409] - [net] neighbor: Call __ipv4_neigh_lookup_noref in neigh_xmit (Paolo Abeni) [1760409] - [net] ebpf: record usage of flow dissector (Jiri Benc) [1749812] - [tools] selftests/bpf: More compatible nc options in test_lwt_ip_encap (Jiri Benc) [1749812] - [tools] selftests/bpf: Set rp_filter in test_flow_dissector (Jiri Benc) [1749812] - [net] bpf: lwtunnel: fix reroute supplying invalid dst (Jiri Benc) [1749812] - [kernel] rh_features: convert to atomic allocation (Jiri Benc) [1749812] - [net] xsk: lock the control mutex in sock_diag interface (Jiri Benc) [1749812] - [documentation] networking: fix af_xdp.rst Sphinx warnings (Jiri Benc) [1749812] - [documentation] flow_dissector: rst'ify documentation (Jiri Benc) [1749812] - [documentation] flow_dissector: document BPF flow dissector environment (Jiri Benc) [1749812] - [net] xsk: fix umem memory leak on cleanup (Jiri Benc) [1749812] - [net] xsk: fix to reject invalid options in Tx descriptor (Jiri Benc) [1749812] - [net] xsk: fix to reject invalid flags in xsk_bind (Jiri Benc) [1749812] - [net] xsk: fix potential crash in xsk_diag_put_umem() (Jiri Benc) [1749812] - [net] bpfilter: re-add header search paths to tools include to fix build error (Jiri Benc) [1749812] - [documentation] xsk: add FAQ to facilitate for first time users (Jiri Benc) [1749812] - [net] bpf/test_run: fix unkillable BPF_PROG_TEST_RUN for flow dissector (Jiri Benc) [1749812] - [tools] sync uapi/linux/if_link.h header (Jiri Benc) [1749812] - [net] xdp: allow generic and driver XDP on one interface (Jiri Benc) [1749812] - [net] xdp: Provide extack messages when prog attachment failed (Jiri Benc) [1749812] - [net] bpfilter: remove extra header search paths for bpfilter_umh (Jiri Benc) [1749812] - [include] bpf: fix missing prototype warnings (Jiri Benc) [1749812] - [net] xsk: add sock_diag interface for AF_XDP (Jiri Benc) [1749812] - [net] xsk: add id to umem (Jiri Benc) [1749812] - [net] xsk: track AF_XDP sockets on a per-netns list (Jiri Benc) [1749812] - [include] redhat: rh_kabi: introduce RH_KABI_EXTEND_WITH_SIZE (Jiri Benc) [1749812] - [net] tcp: Avoid TCP syncookie rejected by SO_REUSEPORT socket (Jiri Benc) [1749812] - [net] tcp: use monotonic timestamps for PAWS (Jiri Benc) [1749812] - [net] tcp: remove one indentation level in tcp_create_openreq_child (Jiri Benc) [1749812] - [netdrv] ppp: Fix memory leak in ppp_write (Guillaume Nault) [1759312] - [netdrv] ppp: deflate: Fix possible crash in deflate_init (Guillaume Nault) [1759312] - [netdrv] pppoe: fix reception of frames with no mac header (Guillaume Nault) [1759312] - [net] tcp_bbr: fix quantization code to not raise cwnd if not probing bandwidth (Florian Westphal) [1759208] - [net] tcp_bbr: refactor bbr_target_cwnd() for general inflight provisioning (Florian Westphal) [1759208] - [net] tcp_bbr: centralize code to set gains (Florian Westphal) [1759208] - [net] tcp_bbr: apply PROBE_RTT cwnd cap even if acked==0 (Florian Westphal) [1759208] - [net] tcp_bbr: in restart from idle, see if we should exit PROBE_RTT (Florian Westphal) [1759208] - [net] tcp_bbr: add bbr_check_probe_rtt_done() helper (Florian Westphal) [1759208] - [net] xfrm/xfrm_policy: fix dst dev null pointer dereference in collect_md mode (Hangbin Liu) [1734589] - [tools] selftests: forwarding: gre_multipath: Fix flower filters (Hangbin Liu) [1756832] - [tools] selftests: forwarding: gre_multipath: Enable IPv4 forwarding (Hangbin Liu) [1756832] - [tools] set sysctl bc_forwarding properly in router_broadcast.sh (Hangbin Liu) [1756832] - [tools] selftests: fib_rule_tests: enable forwarding before ipv4 from/iif test (Hangbin Liu) [1756832] - [tools] selftests: fib_rule_tests: use pre-defined DEV_ADDR (Hangbin Liu) [1756832] - [tools] selftests: fib_rule_tests: fix local IPv4 address typo (Hangbin Liu) [1756832] - [tools] selftests: fib_rule_tests: print the result and return 1 if any tests failed (Hangbin Liu) [1756832] - [tools] selftests: fib_tests: Fix 'Command line is not complete' errors (Hangbin Liu) [1756832] - [tools] selftests: Update fib_tests to handle missing ping6 (Hangbin Liu) [1756832] - [tools] fib_tests: Add tests for metrics on routes (Hangbin Liu) [1756832] - [tools] selftests: udpgso_bench.sh explicitly requires bash (Hangbin Liu) [1756832] - [tools] selftests/net: add tls to .gitignore (Hangbin Liu) [1756832] - [net] ipv4: avoid mixed n_redirects and rate_tokens usage (Paolo Abeni) [1753092] - [lib] netlink: set bad attribute also on maxtype check (Petr Oros) [1757776] - [lib] netlink: add validation of NLA_F_NESTED flag (Petr Oros) [1757776] - [net] ila: Fix rhashtable walker list corruption (Petr Oros) [1757776] - [lib] ila: make lockdep happy again (Petr Oros) [1757776] - [net] genetlink: do not validate dump requests if there is no policy (Petr Oros) [1757776] - [include] netlink: Fix nlmsg_parse as a wrapper for strict message parsing (Petr Oros) [1757776] - [net] tipc: fix missing indentation in source code (Petr Oros) [1757776] - [net] genetlink: optionally validate strictly/dumps (Petr Oros) [1757776] - [lib] netlink: add strict parsing for future attributes (Petr Oros) [1757776] - [include] netlink: re-add parse/validate functions in strict mode (Petr Oros) [1757776] - [net] netlink: make validation more configurable for future strictness (Petr Oros) [1757776] - [lib] netlink: add NLA_MIN_LEN (Petr Oros) [1757776] - [net] genetlink: make policy common to family (Petr Oros) [1757776] - [net] ila: Flush netlink command to clear xlat table (Petr Oros) [1757776] - [net] ila: Create main ila source file (Petr Oros) [1757776] - [net] ila: Call library function alloc_bucket_locks (Petr Oros) [1757776] - [net] ila: Fix use of rhashtable walk in ila_xlat.c (Petr Oros) [1757776] - [net] rtnetlink: fix rtnl_valid_stats_req() nlmsg_len check (Petr Oros) [1757750] - [net] mpls: netconf: perform strict checks also for doit handlers (Petr Oros) [1757750] - [net] mpls: route: perform strict checks also for doit handlers (Petr Oros) [1757750] - [net] ipv6: route: perform strict checks also for doit handlers (Petr Oros) [1757750] - [net] ipv6: addrlabel: perform strict checks also for doit handlers (Petr Oros) [1757750] - [net] ipv6: netconf: perform strict checks also for doit handlers (Petr Oros) [1757750] - [net] ipv6: addr: perform strict checks also for doit handlers (Petr Oros) [1757750] - [net] ipv4: ipmr: perform strict checks also for doit handlers (Petr Oros) [1757750] - [net] ipv4: route: perform strict checks also for doit handlers (Petr Oros) [1757750] - [net] ipv4: netconf: perform strict checks also for doit handlers (Petr Oros) [1757750] - [net] namespace: perform strict checks also for doit handlers (Petr Oros) [1757750] - [net] rtnetlink: ifinfo: perform strict checks also for doit handler (Petr Oros) [1757750] - [net] rtnetlink: stats: reject requests for unknown stats (Petr Oros) [1757750] - [net] rtnetlink: stats: validate attributes in get as well as dumps (Petr Oros) [1757750] - [net] netlink: add helper to retrieve NETLINK_F_STRICT_CHK (Petr Oros) [1757750] - [include] linux/netlink.h: drop unnecessary extern prefix (Petr Oros) [1757750] - [net] rtnetlink: avoid frame size warning in rtnl_newlink() (Petr Oros) [1757750] - [net] rtnetlink: remove a level of indentation in rtnl_newlink() (Petr Oros) [1757750] - [net] rtnetlink: Add more extack messages to rtnl_newlink (Petr Oros) [1757750] - [net] netfilter: nf_tables: allow lookups in dynamic sets (Florian Westphal) [1759074] - [net] netfilter: nf_tables: check the result of dereferencing base_chain->stats (Florian Westphal) [1759074] - [net] revert "netfilter: nft_hash: add map lookups for hashing operations" (Florian Westphal) [1759074] - [net] netfilter: nf_tables: don't prevent event handler from device cleanup on netns exit (Florian Westphal) [1759074] - [net] netfilter: nft_ct: enable conntrack for helpers (Florian Westphal) [1759074] - [net] netfilter: conntrack: always store window size un-scaled (Florian Westphal) [1758668] - [net] netfilter: synproxy: fix rst sequence number mismatch (Florian Westphal) [1758668] - [net] netfilter: synproxy: fix erroneous tcp mss option (Florian Westphal) [1758668] - [net] netfilter: nfnetlink: avoid deadlock due to synchronous request_module (Florian Westphal) [1758668] - [net] netfilter: nf_queue: fix reinject verdict handling (Florian Westphal) [1758668] - [net] netfilter: conntrack: Use consistent ct id hash calculation (Florian Westphal) [1758668] - [net] netfilter: ctnetlink: don't use conntrack/expect object addresses as id (Florian Westphal) [1758668] - [net] netfilter: bridge: Don't sabotage nf_hook calls for an l3mdev slave (Florian Westphal) [1758668] - [net] netfilter: avoid using skb->nf_bridge directly (Florian Westphal) [1758668] - [net] netfilter: nat: can't use dst_hold on noref dst (Florian Westphal) [1758668] - [net] netfilter: bridge: Don't sabotage nf_hook calls from an l3mdev (Florian Westphal) [1758668] - [net] netfilter: conntrack: fix removal of conntrack entries when l4tracker is removed (Florian Westphal) [1758668] - [net] netfilter: xt_hashlimit: fix a possible memory leak in htable_create() (Florian Westphal) [1758668] - [net] netfilter: xt_TEE: add missing code to get interface index in checkentry. (Florian Westphal) [1758668] - [net] netfilter: xt_TEE: fix wrong interface selection (Florian Westphal) [1758668] - [net] netfilter: xtables: avoid BUG_ON (Florian Westphal) [1758668] - [net] netfilter: nat: limit port clash resolution attempts (Florian Westphal) [1758646] - [net] netfilter: nat: remove l4 protocol port rovers (Florian Westphal) [1758646] - [net] neighbour: remove stray semicolon (Ivan Vecera) [1757459] - [net] neighbor: Initialize protocol when new pneigh_entry are created (Ivan Vecera) [1757459] - [net] neighbour: register rtnl doit handler (Ivan Vecera) [1757459] - [net] neighbor: Add protocol attribute (Ivan Vecera) [1757459] - [net] neighbor: Add extack messages for add and delete commands (Ivan Vecera) [1757459] - [net] rtnetlink: address is mandatory for rtnl_fdb_get (Ivan Vecera) [1757105] - [netdrv] vxlan: support for ndo_fdb_get (Ivan Vecera) [1757105] - [net] rtnetlink: support for fdb get (Ivan Vecera) [1757105] - [net] bridge: support for ndo_fdb_get (Ivan Vecera) [1757105] - [net] ipmr: remove hard code cache_resolve_queue_len limit (Hangbin Liu) [1631022] - [net] ipv6/addrconf: allow adding multicast addr if IFA_F_MCAUTOJOIN is set (Hangbin Liu) [1740961] - [net] xfrm interface: fix management of phydev (Xin Long) [1727240] - [net] xfrm interface: fix list corruption for x-netns (Xin Long) [1727240] - [net] xfrm interface: ifname may be wrong in logs (Xin Long) [1727240] - [net] xfrm interface: avoid corruption on changelink (Xin Long) [1727240] - [net] netlink: add validation function to policy (Ivan Vecera) [1753333] - [net] netlink: add attribute range validation to policy (Ivan Vecera) [1753333] - [net] sched: police: allow accessing police->params with rtnl (Ivan Vecera) [1731416] - [net] sched: remove block pointer from common offload structure (Ivan Vecera) [1731416] - [net] nfp: flower: add qos offload install and remove functionality. (Ivan Vecera) [1731416] - [net] nfp: flower: add qos offload framework (Ivan Vecera) [1731416] - [net] sched: add block pointer to tc_cls_common_offload structure (Ivan Vecera) [1731416] - [net] sched: allow stats updates from offloaded police actions (Ivan Vecera) [1731416] - [net] sched: extend matchall offload for hardware statistics (Ivan Vecera) [1731416] - [net] sched: add police action to the hardware intermediate representation (Ivan Vecera) [1731416] - [net] sched: move police action structures to header (Ivan Vecera) [1731416] - [net] sched: remove unused functions for matchall offload (Ivan Vecera) [1731416] - [net] dsa: use intermediate representation for matchall offload (Ivan Vecera) [1731416] - [netdrv] mlxsw: use intermediate representation for matchall offload (Ivan Vecera) [1731416] - [net] tipc: disallow enabling of loopback interface bearer (Jon Maloy) [1717305] - [net] tipc: add NULL pointer check before calling kfree_rcu (Jon Maloy) [1747392] - [net] xsk: Return the whole xdp_desc from xsk_umem_consume_tx (Ivan Vecera) [1748497] - [net] devlink: add warning for ndo_get_port_parent_id set when not needed (Petr Oros) [1737133] - [net] devlink: introduce devlink_compat_switch_id_get() helper (Petr Oros) [1737133] - [net] devlink: extend port attrs for switch ID (Petr Oros) [1737133] - [net] devlink: convert devlink_port_attrs bools to bits (Petr Oros) [1737133] - [net] devlink: add warning for ndo_get_phys_port_name set when not needed (Petr Oros) [1737133] - [netdrv] nfp: move devlink port type set after netdev registration (Petr Oros) [1737133] - [netdrv] dsa: move devlink_port_attrs_set() call before register (Petr Oros) [1737133] - [netdrv] mlxsw: Move devlink_port_attrs_set() call before register (Petr Oros) [1737133] - [netdrv] bnxt: set devlink port type after registration (Petr Oros) [1737133] - [netdrv] bnxt: call devlink_port_type_eth_set() before port register (Petr Oros) [1737133] - [netdrv] bnxt: set devlink port attrs properly (Petr Oros) [1737133] - [netdrv] dsa: add missing net/devlink.h include (Petr Oros) [1737133] - [netdrv] bnxt: add missing net/devlink.h include (Petr Oros) [1737133] - [netdrv] revert "devlink: Add a generic wake_on_lan port parameter" (Petr Oros) [1737133] - [netdrv] bnxt_en: Add bnxt_en initial port params table and register it (Petr Oros) [1737133] - [netdrv] mlxsw: spectrum: Assume CONFIG_NET_DEVLINK is always enabled (Petr Oros) [1737527] - [netdrv] netdevsim: assume CONFIG_NET_DEVLINK is always enabled (Petr Oros) [1737527] - [net] devlink: introduce devlink_compat_phys_port_name_get() (Petr Oros) [1737527] - [net] replace ndo_get_devlink with ndo_get_devlink_port (Petr Oros) [1737527] - [net] devlink: select NET_DEVLINK from drivers (Petr Oros) [1737527] - [net] devlink: add port type spinlock (Petr Oros) [1737527] - [net] devlink: warn on setting type on unregistered port (Petr Oros) [1737527] - [net] devlink: disallow port_attrs_set() to be called before register (Petr Oros) [1737527] - [net] devlink: don't pass return value of __devlink_port_type_set() (Petr Oros) [1737527] - [net] devlink: don't take devlink_mutex for devlink_compat_* (Petr Oros) [1737527] - [net] devlink: add couple of missing mutex_destroy() calls (Petr Oros) [1737527] - [net] devlink: fix kdoc (Petr Oros) [1737527] - [net] devlink: require non-NULL ops for devlink instances (Petr Oros) [1737527] - [net] devlink: hold a reference to the netdevice around ethtool compat (Petr Oros) [1737527] - [net] devlink: create a special NDO for getting the devlink instance (Petr Oros) [1737527] - [net] devlink: Add WARN_ON to catch errors of not cleaning devlink objects (Petr Oros) [1737527] - [netdrv] s390/qeth: fix xmit_more support (Ivan Vecera) [1734516] - [netdrv] revert "[netdrv] gve: account for lack of netdev_xmit_more() definition (RHEL-only)" (Ivan Vecera) [1734516] - [netdrv] net/mlx5e: Fix wrong xmit_more application (Ivan Vecera) [1734516] - [include] net: use correct this_cpu primitive in dev_recursion_level (Ivan Vecera) [1734516] - [netdrv] drivers: net: aurora: use netdev_xmit_more helper (Ivan Vecera) [1734516] - [netdrv] drivers: net: sfc: use netdev_xmit_more helper (Ivan Vecera) [1734516] - [netdrv] drivers: mellanox: use netdev_xmit_more() helper (Ivan Vecera) [1734516] - [netdrv] net: move skb->xmit_more hint to softnet data (Ivan Vecera) [1734516] - [net] place xmit recursion in softnet data (Ivan Vecera) [1734516]- [netdrv] net: ena: clean up indentation issue (John Linville) [1770979] - [netdrv] net: ena: Select DIMLIB for ENA_ETHERNET (John Linville) [1770979] - [netdrv] net: ena: fix incorrect update of intr_delay_resolution (John Linville) [1770979] - [netdrv] net: ena: fix retrieval of nonadaptive interrupt moderation intervals (John Linville) [1770979] - [netdrv] net: ena: fix update of interrupt moderation register (John Linville) [1770979] - [netdrv] net: ena: remove all old adaptive rx interrupt moderation code from ena_com (John Linville) [1770979] - [netdrv] net: ena: remove ena_restore_ethtool_params() and relevant fields (John Linville) [1770979] - [netdrv] net: ena: remove old adaptive interrupt moderation code from ena_netdev (John Linville) [1770979] - [netdrv] net: ena: remove code duplication in ena_com_update_nonadaptive_moderation_interval _*() (John Linville) [1770979] - [netdrv] net: ena: enable the interrupt_moderation in driver_supported_features (John Linville) [1770979] - [netdrv] net: ena: reimplement set/get_coalesce() (John Linville) [1770979] - [netdrv] net: ena: switch to dim algorithm for rx adaptive interrupt moderation (John Linville) [1770979] - [netdrv] net: ena: add intr_moder_rx_interval to struct ena_com_dev and use it (John Linville) [1770979]- [fs] autofs: add ignore mount option (Ian Kent) [1743441] - [fs] autofs: improve ioctl sbi checks (Ian Kent) [1672133] - [crypto] crypto: ccp - Retry SEV INIT command in case of integrity check failure. (Gary Hook) [1767627] - [crypto] crypto: ccp - Verify access to device registers before initializing (Gary Hook) [1756867] - [crypto] crypto: ccp - Change a message to reflect status instead of failure (Gary Hook) [1756867] - [netdrv] ixgbevf: Bump version for RHEL 8.2.0 (Ken Cox) [1721701] - [netdrv] ixgbevf: Fix secpath usage for IPsec Tx offload (Ken Cox) [1721701] - [netdrv] ixgbevf: make array api static const, makes object smaller (Ken Cox) [1721701] - [netdrv] ixgbevf: Link lost in VM on ixgbevf when restoring from freeze or suspend (Ken Cox) [1721701] - [netdrv] ixgbevf: fix a compilation error of skb_frag_t (Ken Cox) [1721701] - [netdrv] net: Use skb accessors in network drivers (Ken Cox) [1721701] - [netdrv] ixgbevf: Use cached link state instead of re-reading the value for ethtool (Ken Cox) [1721701] - [netdrv] ixgbevf: fix possible divide by zero in ixgbevf_update_itr (Ken Cox) [1721701] - [netdrv] ixgbevf: fix a missing check of ixgbevf_write_msg_read_ack (Ken Cox) [1721701] - [infiniband] IB/hfi1: Use a common pad buffer for 9B and 16B packets (Honggang Li) [1719676] - [infiniband] IB/hfi1: Avoid excessive retry for TID RDMA READ request (Honggang Li) [1719676] - [infiniband] RDMA/hfi1: Prevent memory leak in sdma_init (Honggang Li) [1719676] - [infiniband] IB/hfi1: remove unlikely() from IS_ERR*() condition (Honggang Li) [1719676] - [infiniband] IB/hfi1: Define variables as unsigned long to fix KASAN warning (Honggang Li) [1719676] - [infiniband] IB/{rdmavt, hfi1, qib}: Add a counter for credit waits (Honggang Li) [1719676] - [infiniband] IB/hfi1: Add traces for TID RDMA READ (Honggang Li) [1719676] - [infiniband] infiniband: hfi1: fix memory leaks (Honggang Li) [1719676] - [infiniband] infiniband: hfi1: fix a memory leak bug (Honggang Li) [1719676] - [infiniband] IB/hfi1: Drop stale TID RDMA packets that cause TIDErr (Honggang Li) [1719676] - [infiniband] IB/hfi1: Add additional checks when handling TID RDMA WRITE DATA packet (Honggang Li) [1719676] - [infiniband] IB/hfi1: Add additional checks when handling TID RDMA READ RESP packet (Honggang Li) [1719676] - [infiniband] IB/hfi1: Unsafe PSN checking for TID RDMA READ Resp packet (Honggang Li) [1719676] - [infiniband] IB/hfi1: Drop stale TID RDMA packets (Honggang Li) [1719676] - [infiniband] IB/hfi1: Fix Spectre v1 vulnerability (Honggang Li) [1719676] - [infiniband] IB/hfi1: Remove unused define (Honggang Li) [1719676] - [infiniband] IB/hfi1: Do not update hcrc for a KDETH packet during fault injection (Honggang Li) [1719676] - [infiniband] IB/hfi1: Drop all TID RDMA READ RESP packets after r_next_psn (Honggang Li) [1719676] - [infiniband] IB/hfi1: Field not zero-ed when allocating TID flow memory (Honggang Li) [1719676] - [infiniband] IB/hfi1: Unreserve a flushed OPFN request (Honggang Li) [1719676] - [infiniband] IB/hfi1: Check for error on call to alloc_rsm_map_table (Honggang Li) [1719676] - [infiniband] IB/rdmavt: Fix variable shadowing issue in rvt_create_cq (Honggang Li) [1719676] - [infiniband] RDMA/rvt: Do not use a kernel header in the ABI (Honggang Li) [1719676] - [infiniband] IB/hfi1: No need to use try_module_get for debugfs (Honggang Li) [1719676] - [infiniband] IB/rdmavt: Add trace for map_mr_sg (Honggang Li) [1719676] - [infiniband] IB/rdmavt: Enhance trace information for FRWR debug (Honggang Li) [1719676] - [infiniband] IB/hfi1: Add missing INVALIDATE opcodes for trace (Honggang Li) [1719676] - [infiniband] IB/hfi1: Reduce excessive aspm inlines (Honggang Li) [1719676] - [infiniband] IB/{rdmavt, hfi1, qib}: Add helpers to hide SWQE WR details (Honggang Li) [1719676] - [infiniband] IB/{rdmavt, hfi1, qib}: Remove AH refcount for UD QPs (Honggang Li) [1719676] - [infiniband] IB/rdmavt: Set QP allowed opcodes after QP allocation (Honggang Li) [1719676] - [infiniband] IB/{hfi1, qib, rdmavt}: Put qp in error state when cq is full (Honggang Li) [1719676] - [infiniband] IB/rdmavt: Fracture single lock used for posting and processing RWQEs (Honggang Li) [1719676] - [infiniband] IB/hfi1: Move receive work queue struct into uapi directory (Honggang Li) [1719676] - [infiniband] IB/hfi1: Move rvt_cq_wc struct into uapi directory (Honggang Li) [1719676] - [infiniband] IB/rdmavt: Add new completion inline (Honggang Li) [1719676] - [infiniband] IB/{rdmavt, qib, hfi1}: Convert to new completion API (Honggang Li) [1719676] - [infiniband] IB/hfi1: Spelling s/statisfied/satisfied/ (Honggang Li) [1719676] - [infiniband] IB/hfi1: Handle port down properly in pio (Honggang Li) [1719676] - [infiniband] IB/hfi1: Handle wakeup of orphaned QPs for pio (Honggang Li) [1719676] - [infiniband] IB/hfi1: Wakeup QPs orphaned on wait list after flush (Honggang Li) [1719676] - [infiniband] IB/hfi1: Use aborts to trigger RC throttling (Honggang Li) [1719676] - [infiniband] IB/hfi1: Create inline to get extended headers (Honggang Li) [1719676] - [infiniband] IB/hfi1: Silence txreq allocation warnings (Honggang Li) [1719676] - [infiniband] IB/hfi1: Avoid hardlockup with flushlist_lock (Honggang Li) [1719676] - [infiniband] IB/hfi1: Correct tid qp rcd to match verbs context (Honggang Li) [1719676] - [infiniband] IB/hfi1: Close PSM sdma_progress sleep window (Honggang Li) [1719676] - [infiniband] IB/hfi1: Validate fault injection opcode user input (Honggang Li) [1719676] - [infiniband] IB/hfi1: Use struct_size() helper (Honggang Li) [1719676] - [infiniband] IB/rdmavt: Use struct_size() helper (Honggang Li) [1719676] - [infiniband] IB/hfi1: Validate page aligned for a given virtual address (Honggang Li) [1719676] - [infiniband] IB/{qib, hfi1, rdmavt}: Correct ibv_devinfo max_mr value (Honggang Li) [1719676] - [infiniband] IB/hfi1: Insure freeze_work work_struct is canceled on shutdown (Honggang Li) [1719676] - [infiniband] IB/rdmavt: Fix alloc_qpn() WARN_ON() (Honggang Li) [1719676] - [infiniband] IB/hfi1: Remove set but not used variables 'offset' and 'fspsn' (Honggang Li) [1719676] - [infiniband] RDMA/rdmavt: Catch use-after-free access of AH structures (Honggang Li) [1719676] - [infiniband] IB/hfi1: Remove reference to RHF.VCRCErr (Honggang Li) [1719676] - [infiniband] IB/hfi1: Add selected Rcv counters (Honggang Li) [1719676] - [infiniband] IB/{rdmavt, qib, hfi1}: Use new routine to release reference counts (Honggang Li) [1719676] - [infiniband] IB/rdmavt: Use more efficient allowed_ops (Honggang Li) [1719676] - [infiniband] IB/rdmavt: Fix ab/ba include issues (Honggang Li) [1719676] - [infiniband] IB/hfi1: Make opfn.h self sufficient (Honggang Li) [1719676] - [infiniband] IB/{rdmavt, hfi1): Miscellaneous comment fixes (Honggang Li) [1719676] - [infiniband] IB/hfi1: Add debugfs to control expansion ROM write protect (Honggang Li) [1719676] - [infiniband] hfi1: Convert hfi1_unit_table to XArray (Honggang Li) [1719676] - [infiniband] hfi1: Convert vesw_idr to XArray (Honggang Li) [1719676] - [infiniband] RDMA/rdmavt: Use correct sizing on buffers holding page DMA addresses (Honggang Li) [1719676] - [infiniband] IB/hfi1: Fix two format strings (Honggang Li) [1719676] - [infiniband] IB/hfi1: Add running average for adaptive pio (Honggang Li) [1719676] - [infiniband] mm: replace all open encodings for NUMA_NO_NODE (Honggang Li) [1719676] - [infiniband] drivers/IB,hfi1: do not se mmap_sem (Honggang Li) [1719676] - [infiniband] IB/hfi1: Suppress a compiler warning (Honggang Li) [1719676] - [scsi] qla2xxx: Update driver version (Himanshu Madhani) [1763248] - [scsi] scsi: qla2xxx: don't use zero for FC4_PRIORITY_NVME (Himanshu Madhani) [1763248] - [scsi] scsi: qla2xxx: initialize fc4_type_priority (Himanshu Madhani) [1763248] - [scsi] scsi: qla2xxx: fix NPIV tear down process (Himanshu Madhani) [1763248] - [scsi] scsi: qla2xxx: Remove an include directive (Himanshu Madhani) [1763248] - [scsi] scsi: qla2xxx: Fix device connect issues in P2P configuration (Himanshu Madhani) [1763248] - [scsi] scsi: qla2xxx: Improve logging for scan thread (Himanshu Madhani) [1763248] - [scsi] scsi: qla2xxx: Capture FW dump on MPI heartbeat stop event (Himanshu Madhani) [1763248] - [scsi] scsi: qla2xxx: Check for MB timeout while capturing ISP27/28xx FW dump (Himanshu Madhani) [1763248] - [scsi] scsi: qla2xxx: Set remove flag for all VP (Himanshu Madhani) [1763248] - [scsi] scsi: qla2xxx: Add error handling for PLOGI ELS passthrough (Himanshu Madhani) [1763248] - [scsi] scsi: qla2xxx: Dual FCP-NVMe target port support (Himanshu Madhani) [1763248] - [scsi] scsi: qla2xxx: Fix a dma_pool_free() call (Himanshu Madhani) [1763248] - [scsi] scsi: qla2xxx: Fix memory leak when sending I/O fails (Himanshu Madhani) [1763248] - [scsi] scsi: qla2xxx: Fix driver unload hang (Himanshu Madhani) [1763248] - [scsi] scsi: qla2xxx: Fix SRB leak on switch command timeout (Himanshu Madhani) [1763248] - [scsi] scsi: qla2xxx: Fix double scsi_done for abort path (Himanshu Madhani) [1763248] - [scsi] scsi: qla2xxx: Do command completion on abort timeout (Himanshu Madhani) [1763248] - [scsi] scsi: qla2xxx: Reduce the number of forward declarations (Himanshu Madhani) [1763248] - [scsi] scsi: qla2xxx: fixup incorrect usage of host_byte (Himanshu Madhani) [1763248] - [scsi] scsi: qla2xxx: Fix partial flash write of MBI (Himanshu Madhani) [1763248] - [scsi] scsi: qla2xxx: Remove WARN_ON_ONCE in qla2x00_status_cont_entry() (Himanshu Madhani) [1763248] - [scsi] qla2xxx: Fix conflict_port check for NULL (Himanshu Madhani) [1763248] - [netdrv] Bump version for RHEL 8.2.0 (Ken Cox) [1721700] - [netdrv] ixgbe: Fix secpath usage for IPsec TX offload. (Ken Cox) [1721700] - [netdrv] ixgbe: fix double clean of Tx descriptors with xdp (Ken Cox) [1721700] - [netdrv] ixgbe: Prevent u8 wrapping of ITR value to something less than 10us (Ken Cox) [1721700] - [netdrv] ixgbe: use skb_get_queue_mapping in tx path (Ken Cox) [1721700] - [netdrv] ixgbe: fix memory leaks (Ken Cox) [1721700] - [netdrv] ixgbe: sync the first fragment unconditionally (Ken Cox) [1721700] - [netdrv] ixgbe: Use kzfree() rather than its implementation. (Ken Cox) [1721700] - [netdrv] ixgbe: simplify Rx buffer recycle (Ken Cox) [1721700] - [netdrv] ixgbe: no need to check return value of debugfs_create functions (Ken Cox) [1721700] - [netdrv] ixgbe: fix possible deadlock in ixgbe_service_task() (Ken Cox) [1721700] - [netdrv] net: Use skb accessors in network drivers (Ken Cox) [1721700] - [netdrv] ixgbe: fix potential u32 overflow on shift (Ken Cox) [1721700] - [netdrv] ixgbe: Avoid NULL pointer dereference with VF on non-IPsec hw (Ken Cox) [1721700] - [netdrv] ixgbe: Check DDM existence in transceiver before access (Ken Cox) [1721700] - [netdrv] ixgbe: implement support for SDP/PPS output on X550 hardware (Ken Cox) [1721700] - [netdrv] ixgbe: Use LLDP ethertype define ETH_P_LLDP (Ken Cox) [1721700] - [netdrv] ixgbe: add a kernel documentation comment for ixgbe_ptp_get_ts_config (Ken Cox) [1721700] - [netdrv] ixgbe: use 'cc' instead of 'hw_cc' for local variable (Ken Cox) [1721700] - [netdrv] ixgbe: fix PTP SDP pin setup on X540 hardware (Ken Cox) [1721700] - [netdrv] ixgbe: reduce PTP Tx timestamp timeout to 1 second (Ken Cox) [1721700] - [netdrv] ixgbe: fix AF_XDP tx packet count (Ken Cox) [1721700] - [netdrv] ixgbe: fix AF_XDP tx byte count (Ken Cox) [1721700] - [netdrv] ixgbe: remove umem from adapter (Ken Cox) [1721700] - [netdrv] ixgbe: add tracking of AF_XDP zero-copy state for each queue pair (Ken Cox) [1721700] - [netdrv] ixgbe: fix mdio bus registration (Ken Cox) [1721700] - [netdrv] nfp: bpf: implement jitting of JMP32 (Pablo Cascon) [1729067] - [netdrv] nfp: bpf: support removing dead code (Pablo Cascon) [1729067] - [netdrv] nfp: bpf: support optimizing dead branches (Pablo Cascon) [1729067] - [netdrv] nfp: bpf: save original program length (Pablo Cascon) [1729067] - [netdrv] nfp: bpf: split up the skip flag (Pablo Cascon) [1729067] - [netdrv] nfp: bpf: don't use instruction number for jump target (Pablo Cascon) [1729067] - [scsi] scsi: target: iscsi: rename some variables to avoid confusion. (Maurizio Lombardi) [1769801] - [scsi] scsi: target: iscsi: tie the challenge length to the hash digest size (Maurizio Lombardi) [1769801] - [scsi] scsi: target: iscsi: CHAP: add support for SHA1, SHA256 and SHA3-256 (Maurizio Lombardi) [1769801] - [scsi] scsi: target: compare full CHAP_A Algorithm strings (Maurizio Lombardi) [1769801] - [arm64] arm64: topology: Use PPTT to determine if PE is a thread (Jeremy Linton) [1721297] - [acpi] ACPI/PPTT: Add support for ACPI 6.3 thread flag (Jeremy Linton) [1721297] - [acpi] ACPI / LPSS: Save/restore LPSS private registers also on Lynxpoint (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [documentation] docs: fix numaperf.rst and add it to the doc tree (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPI/IORT: Rename arm_smmu_v3_set_proximity() 'node' local variable (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [misc] h8300: pci: Remove local declaration of pcibios_penalize_isa_irq (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [mm] mmc: sdhci-acpi: Make PCI dependency explicit (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [ata] ata: pata_acpi: Make PCI dependency explicit (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [gpu] vga-switcheroo: make PCI dependency explicit (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [platform] platform/x86: intel_ips: make PCI dependency explicit (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [platform] platform/x86: intel_pmc: Make PCI dependency explicit (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [platform] platform/x86: apple-gmux: Make PCI dependency explicit (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [x86] x86/intel/lpss: Make PCI dependency explicit (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [x86] x86/Kconfig: Select PCI_LOCKLESS_CONFIG if PCI is enabled (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [mfd] mfd: Fix unmet dependency warning for MFD_TPS68470 (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] drivers/acpi/scan.c: document why we don't need the device_hotplug_lock (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPI: PM: Fix regression in acpi_device_set_power() (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPI/IORT: Fix off-by-one check in iort_dev_find_its_id() (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPI: video: Add new hw_changes_brightness quirk, set it on PB Easynote MZ35 (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPI: blacklist: fix clang warning for unused DMI table (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] Revert "ACPICA: Update table load object initialization" (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPI: PM: Make acpi_sleep_state_supported() non-static (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPI / APEI: Remove needless __ghes_check_estatus() calls (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPI: PM: Unexport acpi_device_get_power() (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] PCI / ACPI: Use cached ACPI device state to get PCI device power state (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPICA: Update version to 20190703 (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPICA: Update table load object initialization (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPICA: Update for object initialization sequence (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPICA: remove legacy module-level code due to deprecation (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPICA: Namespace: simplify creation of the initial/default namespace (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPI / PMIC: intel: Drop double removal of address space handler (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPI: APD: remove redundant assignment to pointer clk (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPI: PM: Introduce "poweroff" callbacks for ACPI PM domain and LPSS (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPI: PM: Simplify and fix PM domain hibernation callbacks (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] PM: ACPI/PCI: Resume all devices during hibernation (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] PCI: PM/ACPI: Refresh all stale power state data in pci_pm_complete() (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPI/PPTT: Add function to return ACPI 6.3 Identical tokens (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPI/PPTT: Modify node flag detection to find last IDENTICAL (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPI / PM: Introduce concept of a _PR0 dependent device (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPI: PM: Allow transitions to D0 to occur in special cases (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPI: PM: Avoid evaluating _PS3 on transitions from D3hot to D3cold (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] acpi: utils: Cleanup acpi_dev_match_cb (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPI: Make AC and battery drivers available on !X86 (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] coresight: acpi: Support for AMBA components (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPICA: Clear status of GPEs on first direct enable (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPI: configfs: Resolve objects on host-directed table loads (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPI: tables: Allow BGRT to be overridden (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPI / sleep: Switch to use acpi_dev_get_first_match_dev() (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [include] gpio: merrifield: Fix build err without CONFIG_ACPI (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPI: OSL: Make a W=1 kernel-doc warning go away (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPI / property: Don't limit named child node matching to data nodes (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPI / LPIT: Correct LPIT end address for lpit_process() (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] acpi/irq: Implement helper to create hierachical domains (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [drivers] node: Add memory-side caching attributes (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [drivers] node: Add heterogenous memory access attributes (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [drivers] node: Link memory nodes to their compute nodes (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [documentation] doc/mm: New documentation for memory performance (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPI: PM: Call pm_set_suspend_via_firmware() during hibernation (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPI/PCI: PM: Add missing wakeup.flags.valid checks (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPI/IORT: Fix build error when IOMMU_SUPPORT is disabled (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPI: PM: Set enable_for_wake for wakeup GPEs during suspend-to-idle (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPICA: Update version to 20190509 (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPICA: Linux: move ACPI_DEBUG_DEFAULT flag out of ifndef (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPI: bus: change _ADR representation to 64 bits (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPI / property: fix handling of data_nodes in acpi_get_next_subnode() (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] acpi/hmat: fix an uninitialized memory_target (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] acpi/hmat: Update acpi_hmat_type enum with ACPI_HMAT_TYPE_PROXIMITY (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] acpi/hmat: fix memory leaks in hmat_init() (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPI/IORT: Check ATS capability in root complex nodes (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPI / DPTF: Use dev_get_drvdata() (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPI: event: replace strcpy() by strscpy() (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPI / LPSS: Use acpi_lpss_* instead of acpi_subsys_* functions for hibernate (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPI/IORT: Reject platform device creation on NUMA node mapping failure (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPI: button: reinitialize button state upon resume (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPICA: Update version to 20190405 (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPICA: Namespace: add check to avoid null pointer dereference (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPICA: Update version to 20190329 (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPICA: utilities: fix spelling of PCC to platform_comm_channel (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPICA: Rename nameseg length macro/define for clarity (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPICA: Rename nameseg compare macro for clarity (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPICA: Rename nameseg copy macro for clarity (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPI: PM: Print debug messages when enabling GPEs for wakeup (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] acpi/hmat: Register memory side cache attributes (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] acpi/hmat: Register performance attributes (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] acpi/hmat: Register processor domain to its memory (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] acpi/hmat: Parse and report heterogeneous memory (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] acpi: Add HMAT to generic parsing tables (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] acpi: Create subtable parsing infrastructure (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [arm64] arm64: numa: rework ACPI NUMA initialization (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPI/IORT: Add support for PMCG (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPI: video: Use vendor backlight on Sony VPCEH3U1E (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPI / utils: Remove deprecated function since no user left (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPI / tables: Clean up whitespace (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPI / scan: Add labels for PNP button devices (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPI / scan: Simplify acpi_bus_extract_wakeup_device_power_package() (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPI: Fix comment typos (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] Revert "ACPICA: Clear status of GPEs before enabling them" (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPICA: Namespace: remove address node from global list after method termination (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPICA: Clear status of GPEs before enabling them (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPI: use different default debug value than ACPICA (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPI / utils: Drop reference in test for device presence (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPI: sysfs: Prevent get_status() from returning acpi_status (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPI / device_sysfs: Avoid OF modalias creation for removed device (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPI / configfs: Mark local data structures static (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPI / configfs: Mark local functions static (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPI: tables: Simplify PPTT leaf node detection (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPI / bus: Respect PRP0001 when retrieving device match data (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPICA: Update version to 20190215 (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPI/ACPICA: Trivial: fix spelling mistakes and fix whitespace formatting (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPICA: ACPI 6.3: add GTDT Revision 3 support (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPICA: ACPI 6.3: HMAT updates (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPICA: ACPI 6.3: PPTT add additional fields in Processor Structure Flags (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPICA: ACPI 6.3: add Error Disconnect Recover Notification value (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPICA: ACPI 6.3: MADT: add support for statistical profiling in GICC (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPICA: ACPI 6.3: add PCC operation region support for AML interpreter (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [clk] clk: x86: Move clk-lpss.h to platform_data/x86 (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPI: APEI: Fix possible out-of-bounds access to BERT region (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPI / processor: Set P_LVL{2, 3sc] } idle state descriptions (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPI / CPPC: Add a helper to get desired performance (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPICA: ACPI 6.3: SRAT: add Generic Affinity Structure subtable (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPICA: ACPI 6.3: Add Trigger order to PCC Identifier structure in PDTT (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPICA: ACPI 6.3: Adding predefined methods _NBS, _NCH, _NIC, _NIH, and _NIG (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPICA: Update/clarify messages for control method failures (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPICA: Debugger: Fix possible fault with the "test objects" command (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPICA: Interpreter: Emit warning for creation of a zero-length op region (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPICA: Remove legacy module-level code support (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPI / x86: Make PWM2 device always present at Lenovo Yoga Book (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPI / video: Extend chassis-type detection with a "Lunch Box" check (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPI / video: Refactor and fix dmi_is_desktop() (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPI / APEI: Add support for the SDEI GHES Notification type (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [firmware] firmware: arm_sdei: Add ACPI GHES registration helper (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPI/PPTT: Add acpi_pptt_warn_missing() to consolidate logs (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPI / APEI: Use separate fixmap pages for arm64 NMI-like notifications (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPI / APEI: Only use queued estatus entry during in_nmi_queue_one_entry() (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPI / APEI: Split ghes_read_estatus() to allow a peek at the CPER length (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPI / APEI: Make GHES estatus header validation more user friendly (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPI / APEI: Pass ghes and estatus separately to avoid a later copy (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPI / APEI: Let the notification helper specify the fixmap slot (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPI / APEI: Move locking to the notification helper (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPI / APEI: Switch NOTIFY_SEA to use the estatus queue (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPI / APEI: Move NOTIFY_SEA between the estatus-queue and NOTIFY_NMI (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPI / APEI: Don't allow ghes_ack_error() to mask earlier errors (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPI / APEI: Generalise the estatus queue's notify code (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPI / APEI: Don't update struct ghes' flags in read/clear estatus (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPI / APEI: Remove spurious GHES_TO_CLEAR check (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPI / APEI: Don't store CPER records physical address in struct ghes (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPI / APEI: Make estatus pool allocation a static size (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPI / APEI: Make hest.c manage the estatus memory pool (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPI / APEI: Switch estatus pool to use vmalloc memory (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPI / APEI: Remove silent flag from ghes_read_estatus() (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPI / APEI: Don't wait to serialise with oops messages when panic()ing (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPI: Set debug output flags independent of ACPICA (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPICA: Get rid of acpi_sleep_dispatch() (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPI / scan: Create platform device for BSG2150 ACPI nodes (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] Revert "ACPI / EC: Remove old CLEAR_ON_RESUME quirk" (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPI: EC: Simplify boot EC checks in acpi_ec_add() (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPI: EC: Eliminate acpi_config_boot_ec() (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPI: EC: Make acpi_ec_dsdt_probe() more straightforward (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPI: EC: Make acpi_ec_ecdt_probe() more straightforward (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPI: EC: Declare boot_ec as static (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPI / DPTF: remove header search path to the parent directory (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPI: EC: Clean up probing for early EC (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPI: debug: Clean up acpi_aml_init() (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPI: no need to check return value of debugfs_create functions (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPI: EC: Look for ECDT EC after calling acpi_load_tables() (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPI / LPSS: Make PCI dependency explicit (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPICA: Update version to 20190108 (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPICA: All acpica: Update copyrights to 2019 (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPICA: acpiexec: Add option to dump extra info for memory leaks (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPICA: Convert more ACPI errors to firmware errors (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPI: APEI: EINJ: Use DEFINE_DEBUGFS_ATTRIBUTE for debugfs files (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPI / APEI: Fix parsing HEST that includes Deferred Machine Check subtable (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPI / tables: table override from built-in initrd (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] APEI / ERST: Switch to use new generic UUID API (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPI / PMIC: Add generic intel_soc_pmic_exec_mipi_pmic_seq_element handling (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPI / PMIC: Implement exec_mipi_pmic_seq_element for CHT Whiskey Cove PMIC (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPI/IORT: Fix build when CONFIG_IOMMU_API=n (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPI / PMIC: xpower: Fix TS-pin current-source handling (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPI: NUMA: Use correct type for printing addresses on i386-PAE (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPI: power: Skip duplicate power resource references in _PRx (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPI: Fix build failure when CONFIG_NLS is set to 'n' (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPI / tables: Add an ifdef around amlcode and dsdt_amlcode (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPI: Make PCI slot detection driver depend on PCI (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPI/IORT: Stub out ACS functions when CONFIG_PCI is not set (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] PCI/ACPI: Allow ACPI to be built without CONFIG_PCI set (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPI / OSI: Add OEM _OSI string to enable dGPU direct output (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPI: PM: Loop in full LPS0 mode only (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPI: EC / PM: Disable non-wakeup GPEs for suspend-to-idle (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPI/IORT: Don't call iommu_ops->add_device directly (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPI/IORT: Use device_iommu_mapped() (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPI/IORT: Use helper functions to access dev->iommu_fwspec (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [include] driver core: Introduce device_iommu_mapped() function (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [iommu] iommu/sysfs: Rename iommu_release_device() (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [iommu] iommu: Consolitate ->add/remove_device() calls (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [iommu] iommu: Introduce wrappers around dev->iommu_fwspec (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPI / tables: add DSDT AmlCode new declaration name support (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPICA: Update version to 20181213 (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPICA: change coding style to match ACPICA, no functional change (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPICA: Debug output: Add option to display method/object evaluation (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPICA: disassembler: disassemble OEMx tables as AML (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPICA: Add "Windows 2018.2" string in the _OSI support (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPICA: Expressions in package elements are not supported (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPICA: Update buffer-to-string conversions (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPICA: add comments, no functional change (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPICA: Remove defines that use deprecated flag (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPICA: Add "Windows 2018" string in the _OSI support (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [pci] PCI: Remove unused attr variable in pci_dma_configure (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPI / scan: Refactor _CCA enforcement (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPI / LPSS: Ignore acpi_device_fix_up_power() return value (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPI, APEI, EINJ: Change to use DEFINE_SHOW_ATTRIBUTE macro (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPI / scan: Create platform device for INT3515 ACPI nodes (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPI/IORT: Fix iort_get_platform_device_domain() uninitialized pointer value (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPI: SPCR: Consider baud rate 0 as preconfigured state (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPI / glue: Add acpi_platform_notify() function (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [drivers] drivers core: Prepare support for multiple platform notifications (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPI / platform: Add SMB0001 HID to forbidden_id_list (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPICA: Fix handling of buffer-size in acpi_ex_write_data_to_field() (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPICA: Update version to 20181031 (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPICA: iASL: Enhance error detection (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPICA: iASL: adding definition and disassembly for TPM2 revision 3 (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPICA: Debugger: refactor to fix unused variable warning (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPI / PMIC: xpower: fix IOSF_MBI dependency (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPI / PMIC: xpower: Add depends on IOSF_MBI to Kconfig entry (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPI / PMIC: xpower: Block P-Unit I2C access during read-modify-write (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [include] PM / Domains: Document flags for genpd (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPI / scan: Create platform device for INT33FE ACPI nodes (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPI / OSL: Use 'jiffies' as the time bassis for acpi_os_get_timer() (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPI: probe ECDT before loading AML tables regardless of module-level code flag (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPICA: Remove acpi_gbl_group_module_level_code and only use acpi_gbl_execute_tables_as_methods instead (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPICA: AML Parser: fix parse loop to correctly skip erroneous extended opcodes (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPICA: AML interpreter: add region addresses in global list during initialization (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPI: TAD: Add low-level support for real time capability (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPI / PM: Export acpi_device_get_power() for use by modular build drivers (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPI: remove redundant 'default n' from Kconfig (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPI / SBS: Fix rare oops when removing modules (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPI / SBS: Fix GPE storm on recent MacBookPro's (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPICA: Update version to 20181003 (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPICA: Never run _REG on system_memory and system_IO (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPICA: Split large interpreter file (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPICA: Update for field unit access (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPICA: Rename some of the Field Attribute defines (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPICA: Update for generic_serial_bus and attrib_raw_process_bytes protocol (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPI / processor: Fix the return value of acpi_processor_ids_walk() (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPI / LPSS: Resume BYT/CHT I2C controllers from resume_noirq (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPI / LPSS: Add a device link from the GPU to the BYT I2C5 controller (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPI / LPSS: Add a device link from the GPU to the CHT I2C7 controller (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPI / LPSS: Make acpi_lpss_find_device() also find PCI devices (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPI / LPSS: Make hid_uid_match helper accept a NULL uid argument (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPI / LPSS: Make hid_uid_match helper take an acpi_device as first argument (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] acpi:ipmi: Convert ipmi_user_t to struct ipmi_user 0001-x86-smp-fix-non-SMP-broken-build-due-to-redefinition.patch brew_job bzlist bzlist-v2 run.sh testing_desc v4-notes v5-notes (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPI / LPSS: Exclude I2C busses shared with PUNIT from pmc_atom_d3_mask (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPI / PMIC: Convert drivers to use SPDX identifier (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPI / PMIC: Sort headers alphabetically (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPI / property: Switch to bitmap_zalloc() (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPI / LPSS: Add alternative ACPI HIDs for Cherry Trail DMA controllers (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPI: custom_method: remove meaningless null check before debugfs_remove() (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPI / LPSS: Force LPSS quirks on boot (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPI / bus: Only call dmi_check_system() on X86 (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPI: fix menuconfig presentation of ACPI submenu (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] xen/ACPI: don't upload Px/Cx data for disabled processors (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [x86] x86/smp: fix non-SMP broken build due to redefinition of apic_id_is_primary_thread (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPI / PMIC: CrystalCove: Extend PMOP support to support all possible fields (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPICA: Clear status of all events when entering sleep states (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPICA: Update version to 20180810 (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPICA: acpiexec: fix a small memory leak regression (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPICA: Reference count: add additional debugging details (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPICA: acpi_exec: fixing -fi option (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPICA: Debugger: Cleanup interface to the AML disassembler (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPICA: Utilities: split hex detection into smaller functions (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPICA: Update an error message for a duplicate table (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [platform] platform/x86: Add ACPI i2c-multi-instantiate pseudo driver (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [kernel] PM / reboot: Eliminate race between reboot and suspend (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPI / x86: utils: Remove status workaround from acpi_device_always_present() (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPI / scan: Create platform device for fwnodes with multiple i2c devices (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPI / scan: Initialize status to ACPI_STA_DEFAULT (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPI / EC: Add another entry for Thinkpad X1 Carbon 6th (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPI: bus: Fix a pointer coding style issue (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] arm64 / ACPI: clean the additional checks before calling ghes_notify_sea() (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPI / scan: Add static attribute to indirect_io_hosts[] (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPI / battery: Do not export energy_full[_design] on devices without full_charge_capacity (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPI / EC: Use ec_no_wakeup on ThinkPad X1 Yoga 3rd (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPI / battery: get rid of negations in conditions (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPI / battery: use specialized print macros (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPI / battery: reorder headers alphabetically (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPI / battery: drop inclusion of init.h (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPI: battery: remove redundant old_present check on insertion (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPI: property: Use data node name and reg property for graphs (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPI: property: Allow direct graph endpoint references (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPI: property: Make the ACPI graph API private (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPI: property: Allow making references to non-device nodes (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPI: Convert ACPI reference args to generic fwnode reference args (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPI / OSI: Add OEM _OSI string to enable NVidia HDMI audio (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] Revert "ACPI / bus: Parse tables as term_list for Dell XPS 9570 and Precision M5530" (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPI / PM: save NVS memory for ASUS 1025C laptop (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPI / button: fix defined but not used warning (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPICA: Update version to 20180629 (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPICA: Revert "iASL compiler: allow compilation of externals with paths that refer to existing names" (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPICA: Revert "iASL: change processing of external op namespace nodes for correctness" (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPI / x86: enable touchscreen on Dell Venue Pro 7139 (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPI / PM: Default to s2idle in all machines supporting LP S0 (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPI / button: increment wakeup count only when notified (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [powerpc] powerpc/papr_scm: Fix an off-by-one check in papr_scm_meta_{get, set} (Gustavo Duarte) [1731035] - [nvdimm] libnvdimm/altmap: Track namespace boundaries in altmap (Gustavo Duarte) [1731035] - [powerpc] powerpc/nvdimm: Pick nearby online node if the device node is not online (Gustavo Duarte) [1731035] - [powerpc] powerpc/papr_scm: Force a scm-unbind if initial scm-bind fails (Gustavo Duarte) [1731035] - [powerpc] powerpc/papr_scm: Update drc_pmem_unbind() to use H_SCM_UNBIND_ALL (Gustavo Duarte) [1731035] - [powerpc] powerpc/pseries: Update SCM hcall op-codes in hvcall.h (Gustavo Duarte) [1731035] - [mm] mm/nvdimm: add is_ioremap_addr and use that to check ioremap address (Gustavo Duarte) [1731035] - [powerpc] powerpc/pseries/scm: Use a specific endian format for storing uuid from the device tree (Gustavo Duarte) [1731035] - [powerpc] powerpc/nvdimm: Add support for multibyte read/write for metadata (Gustavo Duarte) [1731035] - [powerpc] powerpc/pseries/scm: Mark the region volatile if cache flush not required (Gustavo Duarte) [1731035] - [powerpc] powerpc/mm/nvdimm: Add an informative message if we fail to allocate altmap block (Gustavo Duarte) [1731035] - [powerpc] powerpc/mm: Consolidate numa_enable check and min_common_depth check (Gustavo Duarte) [1731035] - [powerpc] powerpc/mm: Fix node look up with numa=off boot (Gustavo Duarte) [1731035] - [powerpc] powerpc/mm/drconf: Use NUMA_NO_NODE on failures instead of node 0 (Gustavo Duarte) [1731035] - [powerpc] powerpc/mm/radix: Use the right page size for vmemmap mapping (Gustavo Duarte) [1731035] - [powerpc] powerpc/mm/hash/4k: Don't use 64K page size for vmemmap with 4K pagesize (Gustavo Duarte) [1731035] - [powerpc] powerpc/papr_scm: Use the correct bind address (Gustavo Duarte) [1731035] - [powerpc] powerpc/mm: Fallback to RAM if the altmap is unusable (Gustavo Duarte) [1731035] - [powerpc] powerpc/papr_scm: Use ibm, unit-guid as the iset cookie (Gustavo Duarte) [1731035] - [powerpc] powerpc/papr_scm: Fix DIMM device registration race (Gustavo Duarte) [1731035] - [powerpc] powerpc/papr_scm: Remove endian conversions (Gustavo Duarte) [1731035] - [powerpc] powerpc/papr_scm: Update DT properties (Gustavo Duarte) [1731035] - [powerpc] powerpc/papr_scm: Fix resource end address (Gustavo Duarte) [1731035] - [powerpc] powerpc/papr_scm: Use depend instead of select (Gustavo Duarte) [1731035] - [powerpc] powerpc/pseries: Add driver for PAPR SCM regions (Gustavo Duarte) [1731035] - [powerpc] powerpc/pseries: PAPR persistent memory support (Gustavo Duarte) [1731035] - [mm] mm, vmstat: reduce zone->lock holding time by /proc/pagetypeinfo (Waiman Long) [1770314] - [mm] mm, vmstat: hide /proc/pagetypeinfo from normal users (Waiman Long) [1770314] - [crypto] crypto: chtls - remove cdev_list_lock (Neil Horman) [1737078] - [crypto] crypto/chelsio/chtls: listen fails with multiadapt (Neil Horman) [1737078] - [tools] cpupower : Handle set and info subcommands correctly (Steve Best) [1769973] - [s390] s390/qeth: use IQD Multi-Write (Philipp Rudo) [1731028] - [s390] s390/qdio: implement IQD Multi-Write (Philipp Rudo) [1731028] - [s390] s390/qeth: add xmit_more support for IQD devices (Philipp Rudo) [1731028] - [s390] s390/qeth: add BQL support for IQD devices (Philipp Rudo) [1731028] - [s390] s390/qeth: when in TX NAPI mode, use napi_consume_skb() (Philipp Rudo) [1731028] - [s390] s390/qeth: add TX NAPI support for IQD devices (Philipp Rudo) [1731028] - [s390] s390/qeth: collect accurate TX statistics (Philipp Rudo) [1731028] - [s390] s390/qdio: let drivers opt-out from Output Queue scanning (Philipp Rudo) [1731028] - [s390] s390/qdio: enable drivers to poll for Output completions (Philipp Rudo) [1731028] - [usb] xhci-pci: allow host runtime PM as default for Intel Alpine and Titan Ridge (Myron Stowe) [1769877] - [x86] x86/atomic: Fix smp_mb__{before,after}_atomic() (Prarit Bhargava) [1769789] - [kernel] stacktrace: Don't skip first entry on noncurrent tasks (Waiman Long) [1766681] - [kernel] tracing: Fix user stack trace "??" output (Waiman Long) [1766681] - [kernel] tracing: Fix out-of-range read in trace_stack_print() (Waiman Long) [1766681] - [kernel] stacktrace: Constify 'entries' arguments (Waiman Long) [1766681] - [kernel] stacktrace: Force USER_DS for stack_trace_save_user() (Waiman Long) [1766681] - [x86] x86/stacktrace: Prevent infinite loop in arch_stack_walk_user() (Waiman Long) [1766681] - [kernel] stacktrace: Use PF_KTHREAD to check for kernel threads (Waiman Long) [1766681] - [kernel] stacktrace: Unbreak stack_trace_save_tsk_reliable() (Waiman Long) [1766681] - [x86] x86/stacktrace: Use common infrastructure (Waiman Long) [1766681] - [kernel] stacktrace: Keep stack_trace structure and remove snprint_stack_trace() (Waiman Long) [1766681] - [kernel] stacktrace: Provide common infrastructure (Waiman Long) [1766681] - [kernel] livepatch: Simplify stack trace retrieval (Waiman Long) [1766681] - [kernel] tracing: Remove the last struct stack_trace usage (Waiman Long) [1766681] - [kernel] tracing: Simplify stack trace retrieval (Waiman Long) [1766681] - [kernel] tracing: Make ftrace_trace_userstack() static and conditional (Waiman Long) [1766681] - [kernel] tracing: Use percpu stack trace buffer more intelligently (Waiman Long) [1766681] - [kernel] tracing: Simplify stacktrace retrieval in histograms (Waiman Long) [1766681] - [kernel] lockdep: Remove save argument from check_prev_add() (Waiman Long) [1766681] - [kernel] lockdep: Remove unused trace argument from print_circular_bug() (Waiman Long) [1766681] - [drm] drm: Simplify stacktrace handling (Waiman Long) [1766681] - [md] dm persistent data: Simplify stack trace handling (Waiman Long) [1766681] - [md] dm bufio: Simplify stack trace retrieval (Waiman Long) [1766681] - [fs] btrfs: ref-verify: Simplify stack trace retrieval (Waiman Long) [1766681] - [kernel] dma/debug: Simplify stracktrace retrieval (Waiman Long) [1766681] - [lib] fault-inject: Simplify stacktrace retrieval (Waiman Long) [1766681] - [mm] mm/page_owner: Simplify stack trace handling (Waiman Long) [1766681] - [mm] mm/kmemleak: Simplify stacktrace handling (Waiman Long) [1766681] - [mm] mm/slub: Simplify stack trace retrieval (Waiman Long) [1766681] - [kernel] latency_top: Simplify stack trace handling (Waiman Long) [1766681] - [fs] proc: Simplify task stack retrieval (Waiman Long) [1766681] - [kernel] backtrace-test: Simplify stack trace handling (Waiman Long) [1766681] - [lib] lib/stackdepot: Provide functions which operate on plain storage arrays (Waiman Long) [1766681] - [kernel] stacktrace: Provide helpers for common stack trace operations (Waiman Long) [1766681] - [kernel] tracing: Cleanup stack trace code (Waiman Long) [1766681] - [kernel] tracing: Remove the ULONG_MAX stack trace hackery (Waiman Long) [1766681] - [drm] drm: Remove the ULONG_MAX stack trace hackery (Waiman Long) [1766681] - [kernel] latency_top: Remove the ULONG_MAX stack trace hackery (Waiman Long) [1766681] - [mm] mm/kasan: Remove the ULONG_MAX stack trace hackery (Waiman Long) [1766681] - [mm] mm/page_owner: Remove the ULONG_MAX stack trace hackery (Waiman Long) [1766681] - [mm] mm/slub: Remove the ULONG_MAX stack trace hackery (Waiman Long) [1766681] - [kernel] lockdep: Remove the ULONG_MAX stack trace hackery (Waiman Long) [1766681] - [kernel] s390/stacktrace: Remove the pointless ULONG_MAX marker (Waiman Long) [1766681] - [kernel] parisc/stacktrace: Remove the pointless ULONG_MAX marker (Waiman Long) [1766681] - [kernel] arm64/stacktrace: Remove the pointless ULONG_MAX marker (Waiman Long) [1766681] - [kernel] riscv/stacktrace: Remove the pointless ULONG_MAX marker (Waiman Long) [1766681] - [kernel] unicore32/stacktrace: Remove the pointless ULONG_MAX marker (Waiman Long) [1766681] - [kernel] sh/stacktrace: Remove the pointless ULONG_MAX marker (Waiman Long) [1766681] - [kernel] arm/stacktrace: Remove the pointless ULONG_MAX marker (Waiman Long) [1766681] - [kernel] [x86] x86/stacktrace: Remove the pointless ULONG_MAX marker (Waiman Long) [1766681] - [kernel] um/stacktrace: Remove the pointless ULONG_MAX marker (Waiman Long) [1766681] - [mm] mm/page_owner: clamp read count to PAGE_SIZE (Waiman Long) [1766681] - [kernel] tracing: Export trace_dump_stack to modules (Waiman Long) [1766681] - [kernel] tracing: Have stack tracer trace full stack (Waiman Long) [1766681] - [kernel] trace: Use rcu_dereference_raw for hooks from trace-event subsystem (Waiman Long) [1766681] - [kernel] tracing: Have trace_stack nr_entries compare not be so subtle (Waiman Long) [1766681] - [cpuidle] cpuidle: governor: Add new governors to cpuidle_governors again (Marcelo Tosatti) [1759282] - [cpuidle] cpuidle-haltpoll: do not set an owner to allow modunload (Marcelo Tosatti) [1759282] - [cpuidle] cpuidle-haltpoll: set haltpoll as preferred governor (Marcelo Tosatti) [1759282] - [cpuidle] cpuidle: allow governor switch on cpuidle_register_driver() (Marcelo Tosatti) [1759282] - [cpuidle] cpuidle: Add cpuidle.governor= command line parameter (Marcelo Tosatti) [1759282] - [cpuidle] cpuidle-haltpoll: vcpu hotplug support (Marcelo Tosatti) [1759282] - [cpuidle] cpuidle-haltpoll: disable host side polling when kvm virtualized (Marcelo Tosatti) [1759282] - [cpuidle] cpuidle: add haltpoll governor (Marcelo Tosatti) [1759282] - [cpuidle] cpuidle: header file stubs must be "static inline" (Marcelo Tosatti) [1759282] - [cpuidle] governors: unify last_state_idx (Marcelo Tosatti) [1759282] - [cpuidle] cpuidle: add poll_limit_ns to cpuidle_device structure (Marcelo Tosatti) [1759282] - [cpuidle] cpuidle: poll_state: Fix default time limit (Marcelo Tosatti) [1759282] - [cpuidle] cpuidle: poll_state: Disregard disable idle states (Marcelo Tosatti) [1759282] - [cpuidle] cpuidle: poll_state: Revise loop termination condition (Marcelo Tosatti) [1759282] - [cpuidle] cpuidle: menu: Fix wakeup statistics updates for polling state (Marcelo Tosatti) [1759282] - [cpuidle] cpuidle-haltpoll: return -ENODEV on modinit failure (Marcelo Tosatti) [1759282] - [cpuidle] add cpuidle-haltpoll driver (Marcelo Tosatti) [1759282] - [mm] mem-hotplug: fix node spanned pages when we have a node with only ZONE_MOVABLE (Baoquan He) [1756210] - [x86] x86, efi: never relocate kernel below lowest acceptable address (Kairui Song) [1747367] - [fs] CIFS: Force reval dentry if LOOKUP_REVAL flag is set (Dave Wysochanski) [1767664] - [fs] CIFS: Force revalidate inode when dentry is stale (Dave Wysochanski) [1767664] - [fs] CIFS: Gracefully handle QueryInfo errors during open (Dave Wysochanski) [1767664] - [block] blk-mq: make sure that line break can be printed (Ming Lei) [1741462] - [block] blk-mq: avoid sysfs buffer overflow with too many CPU cores (Ming Lei) [1741462] - [netdrv] bnx2x: Fix VF's VLAN reconfiguration in reload. (Manish Chopra) [1720393] - [netdrv] bnx2x: Prevent ptp_task to be rescheduled indefinitely (Manish Chopra) [1720393] - [netdrv] bnx2x: Check if transceiver implements DDM before access (Manish Chopra) [1720393] - [fs] xfs: allocate xattr buffer on demand (Eric Sandeen) [1684599] - [fs] xfs: consolidate attribute value copying (Eric Sandeen) [1684599] - [fs] xfs: move remote attr retrieval into xfs_attr3_leaf_getvalue (Eric Sandeen) [1684599] - [fs] xfs: remove unnecessary indenting from xfs_attr3_leaf_getvalue (Eric Sandeen) [1684599] - [fs] xfs: make attr lookup returns consistent (Eric Sandeen) [1684599] - [i2c] i2c: i801: Add support for Intel Comet Lake (David Arcari) [1761547] - [powerpc] powerpc/xmon: Improve output of XIVE interrupts (Diego Domingos) [1731130] - [powerpc] powerpc/xmon: Fix output of XIVE IPI (Diego Domingos) [1731130] - [powerpc] powerpc/xmon: Add a dump of all XIVE interrupts (Diego Domingos) [1731130] - [powerpc] powerpc/xive: Fix dump of XIVE interrupt under pseries (Diego Domingos) [1731130] - [powerpc] powerpc/xmon: Check for HV mode when dumping XIVE info from OPAL (Diego Domingos) [1731130] - [fs] xfs: convert inode to extent format after extent merge due to shift (Brian Foster) [1745253] - [mmc] mmc: sdhci-pci: Add support for Intel CML (Alexander Beregalov) [1761593] - [powerpc] powerpc/mm/mce: Keep irqs disabled during lockless page table walk (Gustavo Duarte) [1524649] - [tools] seltests/powerpc: Add a selftest for memcpy_mcsafe (Gustavo Duarte) [1524649] - [powerpc] powerpc/memcpy: Fix stack corruption for smaller sizes (Gustavo Duarte) [1524649] - [powerpc] powerpc: add machine check safe copy_to_user (Gustavo Duarte) [1524649] - [powerpc] powerpc/memcpy: Add memcpy_mcsafe for pmem (Gustavo Duarte) [1524649] - [powerpc] powerpc/mce: Handle UE event for memcpy_mcsafe (Gustavo Duarte) [1524649] - [kernel] extable: Add function to search only kernel exception table (Gustavo Duarte) [1524649] - [powerpc] powerpc/mce: Make machine_check_ue_event() static (Gustavo Duarte) [1524649] - [powerpc] powerpc/mce: Fix MCE handling for huge pages (Gustavo Duarte) [1524649] - [powerpc] powerpc/mce: Schedule work from irq_work (Gustavo Duarte) [1524649] - [x86] x86/boot/64: Round memory hole size up to next PMD page (Frank Ramsay) [1755602] - [x86] x86/boot/64: Make level2_kernel_pgt pages invalid outside kernel area (Frank Ramsay) [1755602] - [idle] intel_idle: add support for Jacobsville (Steve Best) [1481744] - [powercap] powercap/intel_rapl: add support for ICX (Steve Best) [1724421] - [block] blk-mq: apply normal plugging for HDD (Ming Lei) [1759380] - [block] blk-mq: honor IO scheduler for multiqueue devices (Ming Lei) [1759380] - [block] blk-mq: simplify blk_mq_make_request() (Ming Lei) [1759380] - [block] blk-mq: remove blk_mq_put_ctx() (Ming Lei) [1759380] - [nvdimm] libnvdimm: Enable unit test infrastructure compile checks (Jeff Moyer) [1724965] - [nvdimm] libnvdimm: Use PAGE_SIZE instead of SZ_4K for align check (Jeff Moyer) [1724965] - [nvdimm] libnvdimm/label: Remove the dpa align check (Jeff Moyer) [1724965] - [nvdimm] libnvdimm/pfn_dev: Add page size and struct page size to pfn superblock (Jeff Moyer) [1724965] - [nvdimm] libnvdimm/pfn_dev: Add a build check to make sure we notice when struct page size change (Jeff Moyer) [1724965] - [nvdimm] libnvdimm/pmem: Advance namespace seed for specific probe errors (Jeff Moyer) [1724965] - [nvdimm] libnvdimm/region: Rewrite _probe_success() to _advance_seeds() (Jeff Moyer) [1724965] - [nvdimm] libnvdimm/security: Consolidate 'security' operations (Jeff Moyer) [1724965] - [nvdimm] libnvdimm/security: Tighten scope of nvdimm->busy vs security operations (Jeff Moyer) [1724965] - [nvdimm] libnvdimm/security: Introduce a 'frozen' attribute (Jeff Moyer) [1724965] - [nvdimm] libnvdimm, region: Use struct_size() in kzalloc() (Jeff Moyer) [1724965] - [tools] tools/testing/nvdimm: Fix fallthrough warning (Jeff Moyer) [1724965] - [nvdimm] libnvdimm/of_pmem: Provide a unique name for bus provider (Jeff Moyer) [1724965] - [nvdimm] libnvdimm/pfn: fix fsdax-mode namespace info-block zero-fields (Jeff Moyer) [1724965] - [nvdimm] libnvdimm/bus: Fix wait_nvdimm_bus_probe_idle() ABBA deadlock (Jeff Moyer) [1724965] - [nvdimm] libnvdimm/bus: Stop holding nvdimm_bus_list_mutex over __nd_ioctl() (Jeff Moyer) [1724965] - [nvdimm] libnvdimm/bus: Prepare the nd_ioctl() path to be re-entrant (Jeff Moyer) [1724965] - [nvdimm] libnvdimm/region: Register badblocks before namespaces (Jeff Moyer) [1724965] - [nvdimm] libnvdimm/bus: Prevent duplicate device_unregister() calls (Jeff Moyer) [1724965] - [drivers] drivers/base: Introduce kill_device() (Jeff Moyer) [1724965] - [nvdimm] libnvdimm, namespace: Drop uuid_t implementation detail (Jeff Moyer) [1724965] - [dax] device-dax: Add a 'resource' attribute (Jeff Moyer) [1724965] - [dax] device-dax: Drop register_filesystem() (Jeff Moyer) [1724965] - [nvdimm] libnvdimm/pmem: Bypass CONFIG_HARDENED_USERCOPY overhead (Jeff Moyer) [1724965] - [nvdimm] libnvdimm: Fix compilation warnings with W=1 (Jeff Moyer) [1724965] - [nvdimm] libnvdimm/namespace: Fix label tracking error (Jeff Moyer) [1724965] - [dax] device-dax: Add a 'modalias' attribute to DAX 'bus' devices (Jeff Moyer) [1724965] - [dax] device-dax: Add a 'target_node' attribute (Jeff Moyer) [1724965] - [dax] device-dax: Auto-bind device after successful new_id (Jeff Moyer) [1724965] - [dax] acpi/nfit, device-dax: Identify differentiated memory with a unique numa-node (Jeff Moyer) [1724965] - [dax] device-dax: Add /sys/class/dax backwards compatibility (Jeff Moyer) [1724965] - [dax] device-dax: Add support for a dax override driver (Jeff Moyer) [1724965] - [dax] device-dax: Move resource pinning+mapping into the common driver (Jeff Moyer) [1724965] - [dax] device-dax: Introduce bus + driver model (Jeff Moyer) [1724965] - [dax] device-dax: Start defining a dax bus model (Jeff Moyer) [1724965] - [dax] device-dax: Remove multi-resource infrastructure (Jeff Moyer) [1724965] - [dax] device-dax: Kill dax_region base (Jeff Moyer) [1724965] - [dax] device-dax: Kill dax_region ida (Jeff Moyer) [1724965] - [kernel] memremap: Convert to XArray (Jeff Moyer) [1724965] - [drivers] drivers/dax/device.c: convert variable to vm_fault_t type (Jeff Moyer) [1724965] - [drivers] driver core: Rewrite test_async_driver_probe to cover serialization and NUMA affinity (Jeff Moyer) [1724965] - [drivers] libnvdimm: Schedule device registration on node local to the device (Jeff Moyer) [1724965] - [drivers] PM core: Use new async_schedule_dev command (Jeff Moyer) [1724965] - [drivers] driver core: Attach devices on CPU local to device node (Jeff Moyer) [1724965] - [kernel] async: Add support for queueing on specific NUMA node (Jeff Moyer) [1724965] - [kernel] workqueue: Provide queue_work_node to queue work near a given NUMA node (Jeff Moyer) [1724965] - [drivers] driver core: Probe devices asynchronously instead of the driver (Jeff Moyer) [1724965] - [drivers] device core: Consolidate locking and unlocking of parent and device (Jeff Moyer) [1724965] - [drivers] driver core: Establish order of operations for device_add and device_del via bitflag (Jeff Moyer) [1724965] - [drivers] driver core: Add missing dev->bus->need_parent_lock checks (Jeff Moyer) [1724965] - [drivers] driver core: Move async_synchronize_full call (Jeff Moyer) [1724965]- [scsi] scsi: qedi: update driver version to 8.37.0.20 (Nilesh Javali) [1724588] - [scsi] scsi: qedi: Check targetname while finding boot target information (Nilesh Javali) [1724588] - [scsi] scsi: qedi: remove set but not used variables 'cdev' and 'udev' (Nilesh Javali) [1724588] - [scsi] scsi: qedi: remove memset/memcpy to nfunc and use func instead (Nilesh Javali) [1724588] - [scsi] qedi: Use hwfns and affin_hwfn_idx to get MSI-X vector index (Nilesh Javali) [1724588] - [scsi] scsi: qedf: Update the version to 8.42.3.0 (Nilesh Javali) [1724589] - [scsi] scsi: qedf: Fix race betwen fipvlan request and response path (Nilesh Javali) [1724589] - [scsi] scsi: qedf: Use discovery list to traverse rports (Nilesh Javali) [1724589] - [scsi] scsi: qedf: Decrease the LL2 MTU size to 2500 (Nilesh Javali) [1724589] - [scsi] scsi: qedf: Check for module unloading bit before processing link update AEN (Nilesh Javali) [1724589] - [scsi] scsi: qedf: Initiator fails to re-login to switch after link down (Nilesh Javali) [1724589] - [scsi] scsi: qedf: Add debug information for unsolicited processing (Nilesh Javali) [1724589] - [scsi] scsi: qedf: Add support for 20 Gbps speed (Nilesh Javali) [1724589] - [scsi] scsi: qedf: Interpret supported caps value correctly (Nilesh Javali) [1724589] - [scsi] scsi: qedf: Add shutdown callback handler (Nilesh Javali) [1724589] - [scsi] scsi: qedf: Update module description string (Nilesh Javali) [1724589] - [scsi] scsi: qedf: Fix crash during sg_reset (Nilesh Javali) [1724589] - [scsi] scsi: qedf: Stop sending fipvlan request on unload (Nilesh Javali) [1724589] - [scsi] scsi: qedf: Print message during bailout conditions (Nilesh Javali) [1724589] - [scsi] qedf: Use hwfns and affin_hwfn_idx to get MSI-X vector index to use (Nilesh Javali) [1724589] - [scsi] scsi: bnx2fc: Handle scope bits when array returns BUSY or TSF (Nilesh Javali) [1724598] - [scsi] scsi: bnx2fc: remove set but not used variables 'task', 'port', 'orig_task' (Nilesh Javali) [1724598] - [scsi] scsi: bnx2fc: remove set but not used variables 'lport', 'host' (Nilesh Javali) [1724598] - [scsi] scsi: bnx2fc: remove set but not used variable 'fh' (Nilesh Javali) [1724598] - [scsi] scsi: bnx2fc: fix bnx2fc_cmd refcount imbalance in send_srr (Nilesh Javali) [1724598] - [scsi] scsi: bnx2fc: fix bnx2fc_cmd refcount imbalance in send_rec (Nilesh Javali) [1724598] - [scsi] scsi: bnx2fc: Update the driver version to 2.12.10 (Nilesh Javali) [1724598] - [scsi] scsi: bnx2fc: Limit the IO size according to the FW capability (Nilesh Javali) [1724598] - [scsi] scsi: bnx2fc: Do not allow both a cleanup completion and abort completion for the same request (Nilesh Javali) [1724598] - [scsi] scsi: bnx2fc: Separate out completion flags and variables for abort and cleanup (Nilesh Javali) [1724598] - [scsi] scsi: bnx2fc: Only put reference to io_req in bnx2fc_abts_cleanup if cleanup times out (Nilesh Javali) [1724598] - [scsi] scsi: bnx2fc: Redo setting source FCoE MAC (Nilesh Javali) [1724598] - [scsi] scsi: bnx2fc: fix incorrect cast to u64 on shift operation (Nilesh Javali) [1724598] - [netdrv] qed: Fix build error without CONFIG_DEVLINK (Manish Chopra) [1720392] - [netdrv] RDMA/qedr: Fix the hca_type and hca_rev returned in device attributes (Manish Chopra) [1720392] - [netdrv] qede: qede_fp: simplify a bit 'qede_rx_build_skb()' (Manish Chopra) [1720392] - [netdrv] qede: Make two functions static (Manish Chopra) [1720392] - [netdrv] qede: Handle infinite driver spinning for Tx timestamp. (Manish Chopra) [1720392] - [netdrv] qed: fix spelling mistake "fullill" -> "fulfill" (Manish Chopra) [1720392] - [netdrv] qed: Fix Config attribute frame format. (Manish Chopra) [1720392] - [netdrv] qed*: Fix size of config attribute dump. (Manish Chopra) [1720392] - [netdrv] net: qed: Move static keyword to the front of declaration (Manish Chopra) [1720392] - [netdrv] qede: Add support for dumping the grc data. (Manish Chopra) [1720392] - [netdrv] qed: Add APIs for configuring grc dump config flags. (Manish Chopra) [1720392] - [netdrv] qede: Add support for reading the config id attributes. (Manish Chopra) [1720392] - [netdrv] qed: Add APIs for reading config id attributes. (Manish Chopra) [1720392] - [netdrv] qed: Add cleanup in qed_slowpath_start() (Manish Chopra) [1720392] - [netdrv] qed: Add driver API for flashing the config attributes. (Manish Chopra) [1720392] - [netdrv] qed: Add API for configuring NVM attributes. (Manish Chopra) [1720392] - [netdrv] qed: Add new ethtool supported port types based on media. (Manish Chopra) [1720392] - [netdrv] net/ethernet/qlogic/qed: force the string buffer NULL-terminated (Manish Chopra) [1720392] - [netdrv] qed: RDMA - Fix the hw_ver returned in device attributes (Manish Chopra) [1720392] - [netdrv] qed*: Change dpi_addr to be denoted with __iomem (Manish Chopra) [1720392] - [netdrv] qed: reduce maximum stack frame size (Manish Chopra) [1720392] - [netdrv] qed: Prefer pcie_capability_read_word() (Manish Chopra) [1720392] - [netdrv] qed: Add support for Timestamping the unicast PTP packets. (Manish Chopra) [1720392] - [netdrv] qed: Fix -Wmaybe-uninitialized false positive (Manish Chopra) [1720392] - [netdrv] qed: iWARP - Fix default window size to be based on chip (Manish Chopra) [1720392] - [netdrv] qed: iWARP - Fix tc for MPA ll2 connection (Manish Chopra) [1720392] - [netdrv] qed: iWARP - fix uninitialized callback (Manish Chopra) [1720392] - [netdrv] qed: iWARP - Use READ_ONCE and smp_store_release to access ep->state (Manish Chopra) [1720392] - [netdrv] qed: remove redundant assignment to rc (Manish Chopra) [1720392] - [netdrv] qed: Fix static checker warning (Manish Chopra) [1720392] - [netdrv] qed: fix spelling mistake "inculde" -> "include" (Manish Chopra) [1720392] - [netdrv] qed: Reduce the severity of ptp debug message. (Manish Chopra) [1720392] - [netdrv] qed*: Add iWARP 100g support (Manish Chopra) [1720392] - [netdrv] qed: Add qed devlink parameters table (Manish Chopra) [1720392] - [netdrv] qed: Set the doorbell address correctly (Manish Chopra) [1720392] - [netdrv] qedr: Change the MSI-X vectors selection to be based on affined engine (Manish Chopra) [1720392] - [netdrv] qed: Modify offload protocols to use the affined engine (Manish Chopra) [1720392] - [netdrv] qed*: Change hwfn used for sb initialization (Manish Chopra) [1720392] - [netdrv] qed: Add llh ppfid interface and 100g support for offload protocols (Manish Chopra) [1720392] - [netdrv] qed: Modify api for performing a dmae to another PF (Manish Chopra) [1720392] - [virt] kvm: arm/arm64: vgic: Use the appropriate TRACE_INCLUDE_PATH (Auger Eric) [1749501] - [arm64] kvm: Kill hyp_alternate_select() (Auger Eric) [1749501] - [arm64] kvm: Replace hyp_alternate_select with has_vhe() (Auger Eric) [1749501] - [arm64] kvm: Drop hyp_alternate_select for checking for ARM64_WORKAROUND_834220 (Auger Eric) [1749501] - [documentation] kvm: arm/arm64: vgic: Allow more than 256 vcpus for KVM_IRQ_LINE (Auger Eric) [1749501] - [virt] kvm: arm/arm64: vgic: Use a single IO device per redistributor (Auger Eric) [1749501] - [virt] kvm: arm/arm64: vgic: Remove spurious semicolons (Auger Eric) [1749501] - [arm64] perf_event: Add missing header needed for smp_processor_id() (Auger Eric) [1749501] - [virt] kvm: arm/arm64: vgic: Make function comments match function declarations (Auger Eric) [1749501] - [arm64] kvm: Remove VMID rollover I-cache maintenance (Auger Eric) [1749501] - [virt] kvm: arm/arm64: vgic-irqfd: Implement kvm_arch_set_irq_inatomic (Auger Eric) [1749501] - [virt] kvm: arm/arm64: vgic-its: Check the LPI translation cache on MSI injection (Auger Eric) [1749501] - [virt] kvm: arm/arm64: vgic-its: Cache successful MSI->LPI translation (Auger Eric) [1749501] - [virt] kvm: arm/arm64: vgic-its: Invalidate MSI-LPI translation cache on vgic teardown (Auger Eric) [1749501] - [virt] kvm: arm/arm64: vgic-its: Invalidate MSI-LPI translation cache on ITS disable (Auger Eric) [1749501] - [virt] kvm: arm/arm64: vgic-its: Invalidate MSI-LPI translation cache on disabling LPIs (Auger Eric) [1749501] - [virt] kvm: arm/arm64: vgic-its: Invalidate MSI-LPI translation cache on specific commands (Auger Eric) [1749501] - [virt] kvm: arm/arm64: vgic-its: Add MSI-LPI translation cache invalidation (Auger Eric) [1749501] - [virt] kvm: arm/arm64: vgic: Add __vgic_put_lpi_locked primitive (Auger Eric) [1749501] - [virt] kvm: arm/arm64: vgic: Add LPI translation cache definition (Auger Eric) [1749501] - [virt] kvm: arm/arm64: vgic-v2: Handle SGI bits in GICD_I{S, C}PENDR0 as WI (Auger Eric) [1749501] - [arm64] kvm: Replace hardcoded '1' with SYS_PAR_EL1_F (Auger Eric) [1749501] - [arm64] sysreg: Add some field definitions for PAR_EL1 (Auger Eric) [1749501] - [virt] kvm: arm/arm64: vgic: Fix potential deadlock when ap_list is long (Auger Eric) [1749501] - [virt] kvm: arm/arm64: vgic: Properly initialise private IRQ affinity (Auger Eric) [1749501] - [virt] kvm: arm/arm64: vgic: Reevaluate level sensitive interrupts on enable (Auger Eric) [1749501] - [arm64] kvm: arm64: Don't write junk to sysregs on reset (Auger Eric) [1749501] - [virt] kvm: arm/arm64: Sync ICH_VMCR_EL2 back when about to block (Auger Eric) [1749501] - [arm64] kvm: hyp: debug-sr: Mark expected switch fall-through (Auger Eric) [1749501] - [arm64] kvm: arm64: Update kvm_arm_exception_class and esr_class_str for new EC (Auger Eric) [1749501] - [virt] kvm: arm: vgic-v3: Mark expected switch fall-through (Auger Eric) [1749501] - [arm64] kvm: regmap: Fix unexpected switch fall-through (Auger Eric) [1749501] - [arm64] sve: Fix a couple of magic numbers for the Z-reg count (Auger Eric) [1749501] - [arm64] sve: Factor out FPSIMD to SVE state conversion (Auger Eric) [1749501] - [arm64] kvm: arm/arm64: Initialise host's MPIDRs by reading the actual register (Auger Eric) [1749501] - [arm64] kvm: arm64: Migrate _elx sysreg accessors to msr_s/mrs_s (Auger Eric) [1749501] - [arm64] sysreg: Make mrs_s and msr_s macros work with Clang and LTO (Auger Eric) [1749501] - [documentation] kvm: doc: Add API documentation on the KVM_REG_ARM_WORKAROUNDS register (Auger Eric) [1749501] - [virt] kvm: arm/arm64: Add save/restore support for firmware workaround state (Auger Eric) [1749501] - [arm64] kvm: Propagate full Spectre v2 workaround state to KVM guests (Auger Eric) [1749501] - [arm64] sve: Fix missing SVE/FPSIMD endianness conversions (Auger Eric) [1749501] - [virt] kvm: arm/arm64: vgic: Fix kvm_device leak in vgic_its_destroy (Auger Eric) [1749501] - [arm64] kvm: arm64: Filter out invalid core register IDs in KVM_GET_REG_LIST (Auger Eric) [1749501] - [arm64] kvm: arm64: Skip more of the SError vaxorcism (Auger Eric) [1749501] - [arm64] kvm: arm64: Re-mask SError after the one instruction window (Auger Eric) [1749501] - [arm64] Update silicon-errata.txt for Neoverse-N1 #1349291 (Auger Eric) [1749501] - [arm64] kvm: arm64: Defer guest entry when an asynchronous exception is pending (Auger Eric) [1749501] - [arm64] kvm: arm64: Consume pending SError as early as possible (Auger Eric) [1749501] - [arm64] kvm: arm64: Make indirect vectors preamble behaviour symmetric (Auger Eric) [1749501] - [arm64] kvm: arm64: Abstract the size of the HYP vectors pre-amble (Auger Eric) [1749501] - [arm64] assembler: Switch ESB-instruction with a vanilla nop if !ARM64_HAS_RAS (Auger Eric) [1749501] - [arm64] kvm: arm64/sve: Fix vq_present() macro to yield a bool (Auger Eric) [1749501] - [arm64] kvm: arm64: Implement vq_present() as a macro (Auger Eric) [1749501] - [arm64] fpsimd: Don't disable softirq when touching FPSIMD/SVE state (Auger Eric) [1749501] - [arm64] fpsimd: Introduce fpsimd_save_and_flush_cpu_state() and use it (Auger Eric) [1749501] - [arm64] fpsimd: Remove the prototype for sve_flush_cpu_state() (Auger Eric) [1749501] - [scripts] genksyms: Teach parser about 128-bit built-in types (Auger Eric) [1749501] - [tools] kvm: selftests: introduce aarch64_vcpu_add_default (Auger Eric) [1749501] - [tools] kvm: selftests: introduce aarch64_vcpu_setup (Auger Eric) [1749501] - [virt] kvm: arm/arm64: Move cc/it checks under hyp's Makefile to avoid instrumentation (Auger Eric) [1749501] - [arm64] kvm: arm64: Move pmu hyp code under hyp's Makefile to avoid instrumentation (Auger Eric) [1749501] - [documentation] arm64: docs: Document perf event attributes (Auger Eric) [1749501] - [arm64] kvm: Fix perf cycle counter support for VHE (Auger Eric) [1749501] - [arm64] kvm: Avoid isb's by using direct pmxevtyper sysreg (Auger Eric) [1749501] - [arm64] kvm: Enable VHE support for :G/:H perf event modifiers (Auger Eric) [1749501] - [arm64] kvm: Enable !VHE support for :G/:H perf event modifiers (Auger Eric) [1749501] - [arm64] arm_pmu: Add !VHE support for exclude_host/exclude_guest attributes (Auger Eric) [1749501] - [arm64] kvm: Add accessors to track guest/host only counters (Auger Eric) [1749501] - [arm64] arm_pmu: Remove unnecessary isb instruction (Auger Eric) [1749501] - [arm64] perf: Add support for chaining event counters (Auger Eric) [1749501] - [arm64] perf: Disable PMU while processing counter overflows (Auger Eric) [1749501] - [arm64] perf: Clean up armv8pmu_select_counter (Auger Eric) [1749501] - [arm64] kvm: arm: Remove pgtable page standard functions from stage-2 page tables (Auger Eric) [1749501] - [netdrv] e1000e: Add support for Tiger Lake (Ken Cox) [1767480] - [netdrv] ethernet: Delete unnecessary checks before the macro call dev_kfree_skb (Corinna Vinschen) [1721705] - [netdrv] igb: Use dev_get_drvdata where possible (Corinna Vinschen) [1721705] - [netdrv] net: Use skb accessors in network drivers (Corinna Vinschen) [1721705] - [netdrv] igb: add RR2DCDELAY to ethtool registers dump (Corinna Vinschen) [1721705] - [netdrv] igb: minor ethool regdump amendment (Corinna Vinschen) [1721705] - [netdrv] igb: clear out skb->tstamp after reading the txtime (Corinna Vinschen) [1721705] - [netdrv] igb: mark expected switch fall-through (Corinna Vinschen) [1721705] - [netdrv] igb: mark expected switch fall-through (Corinna Vinschen) [1721705] - [netdrv] igb/igc: warn when fatal read failure happens (Corinna Vinschen) [1721705] - [netdrv] igb: fix various indentation issues (Corinna Vinschen) [1721705] - [netdrv] igb: Exclude device from suspend direct complete optimization (Corinna Vinschen) [1721705] - [netdrv] intel: correct return from set features callback (Corinna Vinschen) [1721705] - [netdrv] net: Use skb accessors in network drivers (Corinna Vinschen) [1721708] - [s390] s390/kaslr: reserve memory for kasan usage (Philipp Rudo) [1725888] - [s390] s390/mem_detect: provide single get_mem_detect_end (Philipp Rudo) [1725888] - [s390] s390/setup: adjust start_code of init_mm to _text (Philipp Rudo) [1725888] - [s390] s390/boot: add missing declarations and includes (Philipp Rudo) [1725888] - [s390] locking/lockdep: check for freed initmem in static_obj() (Philipp Rudo) [1725888] - [s390] s390/kernel: add support for kernel address space layout randomization (KASLR) (Philipp Rudo) [1725888] - [s390] s390/kernel: introduce .dma sections (Philipp Rudo) [1725888] - [s390] s390/sclp: do not use static sccbs (Philipp Rudo) [1725888] - [s390] s390/kprobes: use static buffer for insn_page (Philipp Rudo) [1725888] - [s390] s390/kernel: convert SYSCALL and PGM_CHECK handlers to .quad (Philipp Rudo) [1725888] - [s390] s390/kernel: build a relocatable kernel (Philipp Rudo) [1725888] - [s390] s390/extmem: remove code for 31 bit addressing mode (Philipp Rudo) [1725888] - [s390] s390/setup: remove obsolete #ifdef (Philipp Rudo) [1725888] - [net] net/core: work around section mismatch warning for ptp_classifier (Philipp Rudo) [1725888] - [sound] ALSA: bebob: fix to detect configured source of sampling clock for Focusrite Saffire Pro i/o series (Jaroslav Kysela) [1710702] - [sound] ALSA: bebob: link the order of establishing connections and Syt-match clock mode (Jaroslav Kysela) [1710702] - [sound] ALSA: bebob: expand delay of start for IR context just for version 3 firmware (Jaroslav Kysela) [1710702] - [sound] ALSA: bebob: expand sleep just after breaking connections for protocol version 1 (Jaroslav Kysela) [1710702] - [sound] ALSA: ASoC/SOF - enable SND_SOC_SOF_HDA_COMMON_HDMI_CODEC (Jaroslav Kysela) [1710702] - [sound] ALSA: timer: Fix mutex deadlock at releasing card (Jaroslav Kysela) [1710702] - [sound] ALSA: ASoC: Intel: cht_bsw_rt5645: Add quirk for boards using pmc_plt_clk_0 (Jaroslav Kysela) [1710702] - [sound] ALSA: ASoC: Intel: eve: Enable mclk and ssp sclk early (Jaroslav Kysela) [1710702] - [sound] ALSA: ASoC: dt-bindings: rt5682: add button delay device property (Jaroslav Kysela) [1710702] - [sound] ALSA: ASoC: rt5682: improve the sensitivity of push button (Jaroslav Kysela) [1710702] - [sound] ALSA: ASoC: Intel: bxt_rt298: common hdmi codec support (Jaroslav Kysela) [1710702] - [sound] ALSA: ASoC: intel: sof_rt5682: common hdmi codec support (Jaroslav Kysela) [1710702] - [sound] ALSA: ASoC: Intel: glk_rt5682_max98357a: common hdmi codec support (Jaroslav Kysela) [1710702] - [sound] ALSA: ASoC: Intel: bxt-da7219-max98357a: common hdmi codec support (Jaroslav Kysela) [1710702] - [sound] ALSA: ASoC: SOF: Intel: add support for snd-hda-codec-hdmi (Jaroslav Kysela) [1710702] - [sound] ALSA: ASoC: Intel: skl-hda-dsp-generic: fix include guard name (Jaroslav Kysela) [1710702] - [sound] ALSA: ASoC: Intel: skl-hda-dsp-generic: use snd-hda-codec-hdmi (Jaroslav Kysela) [1710702] - [sound] ALSA: ASoC: hdac_hda: add support for HDMI/DP as a HDA codec (Jaroslav Kysela) [1710702] - [sound] ALSA: hda/hdmi - implement mst_no_extra_pcms flag (Jaroslav Kysela) [1710702] - [sound] ALSA: ASoC: SOF - remove the dead code (skylake/kabylake) (Jaroslav Kysela) [1710702] - [sound] ALSA: ASoC: intel - fix the card names (Jaroslav Kysela) [1710702] - [sound] ALSA: ASoC: SOF: pci: Add prepare/complete PM callbacks (Jaroslav Kysela) [1710702] - [sound] ALSA: ASoC: SOF: PM: Add support for DSP D0i3 state when entering S0ix (Jaroslav Kysela) [1710702] - [sound] ALSA: ASoC: SOF: return -ENOTSUPP if D0I3 is not supported (Jaroslav Kysela) [1710702] - [sound] ALSA: ASoC: SOF: Intel: hda-dsp: implement suspend/resume for S0ix<->S0 transition (Jaroslav Kysela) [1710702] - [sound] ALSA: ASoC: SOF: ignore suspend/resume for D0ix compatible streams (Jaroslav Kysela) [1710702] - [sound] ALSA: ASoC: SOF: PM: implement prepare/complete callbacks (Jaroslav Kysela) [1710702] - [sound] ALSA: ASoC: SOF: add a flag suspend_ignored for sof stream (Jaroslav Kysela) [1710702] - [sound] ALSA: ASoC: SOF: add a flag to indicate the system suspend target (Jaroslav Kysela) [1710702] - [sound] ALSA: ASoC: SOF: Intel: CNL: add support for sending compact IPC (Jaroslav Kysela) [1710702] - [sound] ALSA: ASoC: SOF: PM: add helpers for setting D0 substate for ADSP (Jaroslav Kysela) [1710702] - [sound] ALSA: ASoC: SOF: configure D0ix IPC flags in set_power_state (Jaroslav Kysela) [1710702] - [sound] ALSA: ASoC: SOF: Intel: HDA: add cAVS specific compact IPC header file (Jaroslav Kysela) [1710702] - [sound] ALSA: ASoC: SOF: Intel: hda-ipc: Don't read mailbox for PM_GATE reply (Jaroslav Kysela) [1710702] - [sound] ALSA: ASoC: SOF: ipc: introduce message for DSP power gating (Jaroslav Kysela) [1710702] - [sound] ALSA: ASoC: SOF: PM: rename sof_send_pm_ipc to sof_send_pm_ctx_ipc (Jaroslav Kysela) [1710702] - [sound] ALSA: ASoC: SOF: Intel: HDA: use macro for register polling retry count (Jaroslav Kysela) [1710702] - [sound] ALSA: ASoC: SOF: Intel: hda-dsp: align the comments for D0I3C update (Jaroslav Kysela) [1710702] - [sound] ALSA: ASoC: SOF: topology: parse and store d0i3_compatible flag (Jaroslav Kysela) [1710702] - [sound] ALSA: ASoC: SOF: token: add tokens for PCM compatible with D0i3 substate (Jaroslav Kysela) [1710702] - [sound] ALSA: ASoC: SOF: add flag to snd_sof_pcm_stream for D0i3 compatible stream (Jaroslav Kysela) [1710702] - [sound] ALSA: ASoC: SOF: Intel: APL: add set_power_state() ops (Jaroslav Kysela) [1710702] - [sound] ALSA: ASoC: SOF: Intel: CNL: add set_power_state() ops (Jaroslav Kysela) [1710702] - [sound] ALSA: ASoC: SOF: Intel: hda-dsp: Add helper for setting DSP D0ix substate (Jaroslav Kysela) [1710702] - [sound] ALSA: ASoC: SOF: add set_power_state() to dsp_ops for power state update (Jaroslav Kysela) [1710702] - [sound] ALSA: ASoC: SOF: reset default d0_substate at probe() and resume() (Jaroslav Kysela) [1710702] - [sound] ALSA: ASoC: SOF: add a field to store the current D0 substate of DSP (Jaroslav Kysela) [1710702] - [sound] ALSA: ASoC: eve: implement set_bias_level function for rt5514 (Jaroslav Kysela) [1710702] - [sound] ALSA: ASoC: SOF: Intel: only support INFO_BATCH for legacy platforms (Jaroslav Kysela) [1710702] - [sound] ALSA: ASoC: SOF: define INFO_ flags in dsp_ops (Jaroslav Kysela) [1710702] - [sound] ALSA: ASoC: SOF: Intel: initial support to JasperLake. (Jaroslav Kysela) [1710702] - [sound] ALSA: ASoC: Intel: common: add ACPI matching tables for JSL (Jaroslav Kysela) [1710702] - [sound] ALSA: ASoC: SOF: Intel: hda: add dev_err() traces for snd_sof_dsp_read_poll_timeout() (Jaroslav Kysela) [1710702] - [sound] ALSA: ASoC: SOF: Intel: hda-loader: improve error handling (Jaroslav Kysela) [1710702] - [sound] ALSA: ASoC: sof: include types.h at header.h (Jaroslav Kysela) [1710702] - [sound] ALSA: ASoC: SOF: Fix randbuild error (Jaroslav Kysela) [1710702] - [sound] ALSA: ASoC: SOF: topology: check errors when parsing LED tokens (Jaroslav Kysela) [1710702] - [sound] ALSA: ASoC: SOF: topology: remove always-true redundant test (Jaroslav Kysela) [1710702] - [sound] ALSA: ASoC: SOF: Intel: bdw: fix operator precedence warnings (Jaroslav Kysela) [1710702] - [sound] ALSA: ASoC: SOF: Intel: byt: fix operator precedence warnings (Jaroslav Kysela) [1710702] - [sound] ALSA: ASoC: SOF: imx: Read ESAI parameters and send them to DSP (Jaroslav Kysela) [1710702] - [sound] ALSA: ASoC: SOF: acpi led support for switch controls (Jaroslav Kysela) [1710702] - [sound] ALSA: ASoC: SOF: imx: Describe ESAI parameters to be sent to DSP (Jaroslav Kysela) [1710702] - [sound] ALSA: ASoC: SOF: pci: add debug module param (Jaroslav Kysela) [1710702] - [sound] ALSA: ASoC: SOF: acpi: add debug module param (Jaroslav Kysela) [1710702] - [sound] ALSA: Revert "ASoC: SOF: Force polling mode on CFL and CNL" (Jaroslav Kysela) [1710702] - [sound] ALSA: AsoC: SOF: refactor control load code (Jaroslav Kysela) [1710702] - [sound] ALSA: ASoC: SOF: enable dual control for pga (Jaroslav Kysela) [1710702] - [sound] ALSA: ASoC: SOF: enable sync_write in hdac_bus (Jaroslav Kysela) [1710702] - [sound] ALSA: ASoC: simple_card_utils.h: Add missing include (Jaroslav Kysela) [1710702] - [sound] ALSA: ASoC: SOF: Intel: Add context data to any IPC timeout. (Jaroslav Kysela) [1710702] - [sound] ALSA: ASoC: SOF: Intel: hda: fix reset of host_period_bytes (Jaroslav Kysela) [1710702] - [sound] ALSA: ASoC: SOF: ipc: introduce no_stream_position in sof_ipc_stream_params struct (Jaroslav Kysela) [1710702] - [sound] ALSA: ASoC: SOF: core: check for mandatory fw_ready op during SOF probe (Jaroslav Kysela) [1710702] - [sound] ALSA: ASoC: SOF: ipc: retain DSP context after FW exception. (Jaroslav Kysela) [1710702] - [sound] ALSA: ASoC: SOF: trace: move to opt-in with Kconfig and module parameter (Jaroslav Kysela) [1710702] - [sound] ALSA: hda/realtek - Fix 2 front mics of codec 0x623 (Jaroslav Kysela) [1710702] - [sound] ALSA: hda/realtek - Add support for ALC623 (Jaroslav Kysela) [1710702] - [sound] ALSA: hda - Fix mutex deadlock in HDMI codec driver (Jaroslav Kysela) [1710702] - [sound] ALSA: hda - Fix pending unsol events at shutdown (Jaroslav Kysela) [1710702] - [sound] ALSA: firewire-motu: Correct a typo in the clock proc string (Jaroslav Kysela) [1710702] - [sound] ALSA: firewire-motu: add support for MOTU UltraLite (Jaroslav Kysela) [1710702] - [sound] ALSA: firewire-motu: code refactoring to handle model specific switch for protocol v2 (Jaroslav Kysela) [1710702] - [sound] ALSA: firewire-motu: minor code refactoring for protocol version 2 (Jaroslav Kysela) [1710702] - [sound] ALSA: firewire-motu: detect SPH source of sampling clock (Jaroslav Kysela) [1710702] - [sound] ALSA: firewire-motu: print for unknown source of sampling clock (Jaroslav Kysela) [1710702] - [sound] ALSA: firewire-motu: fix wrong spelling for macro (Jaroslav Kysela) [1710702] - [sound] ALSA: bebob: Fix prototype of helper function to return negative value (Jaroslav Kysela) [1710702] - [sound] ALSA: usb-audio: Disable quirks for BOSS Katana amplifiers (Jaroslav Kysela) [1710702] - [sound] ALSA: usb-audio: sound: usb: usb true/false for bool return type (Jaroslav Kysela) [1710702] - [sound] ALSA: usb-audio: Add DSD support for Gustard U16/X26 USB Interface (Jaroslav Kysela) [1710702] - [sound] ALSA: hda: Allow non-Intel device probe gracefully (Jaroslav Kysela) [1710702] - [sound] ALSA: Revert "ALSA: hda: Flush interrupts on disabling" (Jaroslav Kysela) [1710702] - [sound] ALSA: PCI: Fix missing inline for pci_pr3_present() (Jaroslav Kysela) [1710702] - [sound] ALSA: PCI: Add a helper to check Power Resource Requirements _PR3 existence (Jaroslav Kysela) [1710702] - [sound] ALSA: usb-audio: Fix copy&paste error in the validator (Jaroslav Kysela) [1710702] - [sound] ALSA: usb-audio: Add DSD support for EVGA NU Audio (Jaroslav Kysela) [1710702] - [sound] ALSA: firewire-lib: postpone to start IR context (Jaroslav Kysela) [1710702] - [sound] ALSA: firewire-lib: handle several AMDTP streams in callback handler of IRQ target (Jaroslav Kysela) [1710702] - [sound] ALSA: firewire-lib: cancel flushing isoc context in the laste step to process context callback (Jaroslav Kysela) [1710702] - [sound] ALSA: firewire-lib: replace ack callback to flush isoc contexts in AMDTP domain (Jaroslav Kysela) [1710702] - [sound] ALSA: firewire-lib: replace pointer callback to flush isoc contexts in AMDTP domain (Jaroslav Kysela) [1710702] - [sound] ALSA: firewire-lib: add irq_target member into amdtp_domain struct (Jaroslav Kysela) [1710702] - [sound] ALSA: firewire-lib: tune the minimum available size of PCM period (Jaroslav Kysela) [1710702] - [sound] ALSA: firewire-lib: tune the maximum available size of PCM period (Jaroslav Kysela) [1710702] - [sound] ALSA: firewire-lib: schedule hardware IRQ according to the size of PCM period (Jaroslav Kysela) [1710702] - [sound] ALSA: fireface: share PCM buffer size for both direction (Jaroslav Kysela) [1710702] - [sound] ALSA: firewire-motu: share PCM buffer size for both direction (Jaroslav Kysela) [1710702] - [sound] ALSA: firewire-tascam: share PCM buffer size for both direction (Jaroslav Kysela) [1710702] - [sound] ALSA: firewire-digi00x: share PCM buffer size for both direction (Jaroslav Kysela) [1710702] - [sound] ALSA: dice: share PCM buffer size for both direction (Jaroslav Kysela) [1710702] - [sound] ALSA: oxfw: share PCM buffer size for both direction (Jaroslav Kysela) [1710702] - [sound] ALSA: fireworks: share PCM buffer size for both direction (Jaroslav Kysela) [1710702] - [sound] ALSA: bebob: share PCM buffer size for both direction (Jaroslav Kysela) [1710702] - [sound] ALSA: firewire-lib: use variable size of queue for isoc packets instead of fixed size (Jaroslav Kysela) [1710702] - [sound] ALSA: fireface: use the same size of period for PCM substreams in AMDTP streams (Jaroslav Kysela) [1710702] - [sound] ALSA: firewire-motu: use the same size of period for PCM substream in AMDTP streams (Jaroslav Kysela) [1710702] - [sound] ALSA: firewire-tascam: use the same size of period for PCM substream in AMDTP streams (Jaroslav Kysela) [1710702] - [sound] ALSA: firewire-digi00x: use the same size of period for PCM substream in AMDTP streams (Jaroslav Kysela) [1710702] - [sound] ALSA: dice: use the same size of period for PCM substream in AMDTP streams (Jaroslav Kysela) [1710702] - [sound] ALSA: oxfw: use the same size of period for PCM substream in AMDTP streams (Jaroslav Kysela) [1710702] - [sound] ALSA: fireworks: use the same size of period for PCM substream in AMDTP streams (Jaroslav Kysela) [1710702] - [sound] ALSA: bebob: use the same size of period for PCM substream in AMDTP streams (Jaroslav Kysela) [1710702] - [sound] ALSA: fireface: register the size of PCM period to AMDTP domain (Jaroslav Kysela) [1710702] - [sound] ALSA: firewire-motu: register the size of PCM period to AMDTP domain (Jaroslav Kysela) [1710702] - [sound] ALSA: firewire-tascam: register the size of PCM period to AMDTP domain (Jaroslav Kysela) [1710702] - [sound] ALSA: firewire-digi00x: register the size of PCM period to AMDTP domain (Jaroslav Kysela) [1710702] - [sound] ALSA: dice: register the size of PCM period to AMDTP domain (Jaroslav Kysela) [1710702] - [sound] ALSA: oxfw: register the size of PCM period to AMDTP domain (Jaroslav Kysela) [1710702] - [sound] ALSA: fireworks: register the size of PCM period to AMDTP domain (Jaroslav Kysela) [1710702] - [sound] ALSA: bebob: register the size of PCM period to AMDTP domain (Jaroslav Kysela) [1710702] - [sound] ALSA: firewire-lib: add a member into AMDTP domain for events per period (Jaroslav Kysela) [1710702] - [sound] ALSA: hda/realtek - Enable headset mic on Asus MJ401TA (Jaroslav Kysela) [1710702] - [sound] ALSA: hda/realtek: Reduce the Headphone static noise on XPS 9350/9360 (Jaroslav Kysela) [1710702] - [sound] ALSA: hda/realtek - Add support for ALC711 (Jaroslav Kysela) [1710702] - [sound] ALSA: hda - Force runtime PM on Nvidia HDMI codecs (Jaroslav Kysela) [1710702] - [sound] ALSA: hda - Add laptop imic fixup for ASUS M9V laptop (Jaroslav Kysela) [1710702] - [sound] ALSA: hda: Add Tigerlake/Jasperlake PCI ID (Jaroslav Kysela) [1710702] - [sound] ALSA: hda: Allow HDA to be runtime suspended when dGPU is not bound to a driver (Jaroslav Kysela) [1710702] - [sound] ALSA: hdac: clear link output stream mapping (Jaroslav Kysela) [1710702] - [sound] ALSA: ASoC: dapm: fix a memory leak bug (Jaroslav Kysela) [1710702] - [sound] ALSA: ASoC: SOF: debug: fix possible memory leak in sof_dfsentry_write() (Jaroslav Kysela) [1710702] - [sound] ALSA: ASoC: Intel: sof-rt5682: add a check for devm_clk_get (Jaroslav Kysela) [1710702] - [sound] ALSA: Fix Kconfig indentation (Jaroslav Kysela) [1710702] - [sound] ALSA: ASoC: SOF: control: return true when kcontrol values change (Jaroslav Kysela) [1710702] - [sound] ALSA: hda: fix intel DSP config (Jaroslav Kysela) [1710702] - [sound] ALSA: hda: add Intel DSP configuration / probe code (Jaroslav Kysela) [1710702] - [sound] ALSA: ASoC: core: Fix pcm code debugfs error (Jaroslav Kysela) [1710702] - [sound] ALSA: ASoc: rockchip: i2s: Fix RPM imbalance (Jaroslav Kysela) [1710702] - [sound] ALSA: ASoC: wm_adsp: Don't generate kcontrols without READ flags (Jaroslav Kysela) [1710702] - [sound] ALSA: ASoC: intel: bytcr_rt5651: add null check to support_button_press (Jaroslav Kysela) [1710702] - [sound] ALSA: ASoC: intel: sof_rt5682: add remove function to disable jack (Jaroslav Kysela) [1710702] - [sound] ALSA: ASoC: rt5682: add NULL handler to set_jack function (Jaroslav Kysela) [1710702] - [sound] ALSA: ASoC: intel: sof_rt5682: use separate route map for dmic (Jaroslav Kysela) [1710702] - [sound] ALSA: ASoC: SOF: Intel: hda: Disable DMI L1 entry during capture (Jaroslav Kysela) [1710702] - [sound] ALSA: ASoC: SOF: Intel: initialise and verify FW crash dump data. (Jaroslav Kysela) [1710702] - [sound] ALSA: ASoC: SOF: Intel: hda: fix warnings during FW load (Jaroslav Kysela) [1710702] - [sound] ALSA: ASoC: SOF: pcm: harden PCM STOP sequence (Jaroslav Kysela) [1710702] - [sound] ALSA: ASoC: SOF: pcm: fix resource leak in hw_free (Jaroslav Kysela) [1710702] - [sound] ALSA: ASoC: SOF: topology: fix parse fail issue for byte/bool tuple types (Jaroslav Kysela) [1710702] - [sound] ALSA: ASoC: SOF: loader: fix kernel oops on firmware boot failure (Jaroslav Kysela) [1710702] - [sound] ALSA: ASoC: wm_adsp: Fix theoretical NULL pointer for alg_region (Jaroslav Kysela) [1710702] - [sound] ALSA: ASoC: max98373: check for device node before parsing (Jaroslav Kysela) [1710702] - [sound] ALSA: ASoC: topology: Fix a signedness bug in soc_tplg_dapm_widget_create() (Jaroslav Kysela) [1710702] - [sound] ALSA: ASoC: soc-component: fix a couple missing error assignments (Jaroslav Kysela) [1710702] - [sound] ALSA: ASoC: wm8994: Do not register inapplicable controls for WM1811 (Jaroslav Kysela) [1710702] - [sound] ALSA: ASoC: samsung: arndale: Add missing OF node dereferencing (Jaroslav Kysela) [1710702] - [infiniband] RDMA/bnxt_re: Fix spelling mistake "missin_resp" -> "missing_resp" (Kamal Heib) [1724772] - [infiniband] RDMA: Fix goto target to release the allocated memory (Kamal Heib) [1724772] - [infiniband] IB/bnxt_re: Do not notifify GID change event (Kamal Heib) [1724772] - [infiniband] RDMA/bnxt_re: Honor vlan_id in GID entry comparison (Kamal Heib) [1724772] - [infiniband] ib/bnxt: Remove mention of idr_alloc from comment (Kamal Heib) [1724772] - [infiniband] RDMA/bnxt_re: Use correct sizing on buffers holding page DMA addresses (Kamal Heib) [1724772] - [infiniband] bnxt_re: Clean cq for kernel consumers only (Kamal Heib) [1724772] - [infiniband] bnxt_re: fix the regression due to changes in alloc_pbl (Kamal Heib) [1724772] - [scsi] scsi: lpfc: Make lpfc_debugfs_ras_log_data static (Dick Kennedy) [1768102] - [scsi] scsi: lpfc: Fix NULL check before mempool_destroy is not needed (Dick Kennedy) [1768102] - [scsi] scsi: lpfc: fix spelling error in MAGIC_NUMER_xxx (Dick Kennedy) [1768102] - [scsi] scsi: lpfc: fix build error of lpfc_debugfs.c for vfree/vmalloc (Dick Kennedy) [1768102] - [scsi] scsi: lpfc: lpfc_nvmet: Fix Use plain integer as NULL pointer (Dick Kennedy) [1768102] - [scsi] scsi: lpfc: lpfc_attr: Fix Use plain integer as NULL pointer (Dick Kennedy) [1768102] - [scsi] scsi: lpfc: Update lpfc version to 12.6.0.0 (Dick Kennedy) [1768102] - [scsi] scsi: lpfc: Add additional discovery log messages (Dick Kennedy) [1768102] - [scsi] scsi: lpfc: Add FC-AL support to lpe32000 models (Dick Kennedy) [1768102] - [scsi] scsi: lpfc: Add FA-WWN Async Event reporting (Dick Kennedy) [1768102] - [scsi] scsi: lpfc: Add log macros to allow print by serverity or verbosity setting (Dick Kennedy) [1768102] - [scsi] scsi: lpfc: Make FW logging dynamically configurable (Dick Kennedy) [1768102] - [scsi] scsi: lpfc: Revise interrupt coalescing for missing scenarios (Dick Kennedy) [1768102] - [scsi] scsi: lpfc: Remove lock contention target write path (Dick Kennedy) [1768102] - [scsi] scsi: lpfc: Slight fast-path performance optimizations (Dick Kennedy) [1768102] - [scsi] scsi: lpfc: fix coverity error of dereference after null check (Dick Kennedy) [1768102] - [scsi] scsi: lpfc: Fix hardlockup in lpfc_abort_handler (Dick Kennedy) [1768102] - [scsi] scsi: lpfc: Fix bad ndlp ptr in xri aborted handling (Dick Kennedy) [1768102] - [scsi] scsi: lpfc: Fix SLI3 hba in loop mode not discovering devices (Dick Kennedy) [1768102] - [scsi] scsi: lpfc: Fix lockdep errors in sli_ringtx_put (Dick Kennedy) [1768102] - [scsi] scsi: lpfc: Fix reporting of read-only fw error errors (Dick Kennedy) [1768102] - [scsi] scsi: lpfc: fix lpfc_nvmet_mrq to be bound by hdw queue count (Dick Kennedy) [1768102] - [scsi] scsi: lpfc: Make function lpfc_defer_pt2pt_acc static (Dick Kennedy) [1768102] - [scsi] scsi: lpfc: add support for posting FC events on FPIN reception (Dick Kennedy) [1768102] - [infiniband] RDMA/siw: Mark Software iWARP Driver as tech-preview (Kamal Heib) [1767292] - [crypto] crypto: ccp - Replace dma_pool_alloc + memset with dma_pool_zalloc (Gary Hook) [1724859] - [crypto] crypto: ccp/gcm - use const time tag comparison. (Gary Hook) [1724859] - [crypto] crypto: ccp - Switch to SPDX license identifiers (Gary Hook) [1724859] - [crypto] crypto: ccp - Validate the the error value used to index error messages (Gary Hook) [1724859] - [crypto] crypto: ccp - Make ccp_register_rsa_alg static (Gary Hook) [1724859] - [crypto] crypto: ccp - Update copyright notices and dates (Gary Hook) [1724859] - [crypto] cross-tree: phase out dma_zalloc_coherent() (Gary Hook) [1724859] - [x86] x86/umwait: Fix error handling in umwait_init() (Steve Best) [1724525] - [documentation] Documentation/ABI: Document umwait control sysfs interfaces (Steve Best) [1724525] - [x86] x86/umwait: Add sysfs interface to control umwait maximum time (Steve Best) [1724525] - [x86] x86/umwait: Add sysfs interface to control umwait C0.2 state (Steve Best) [1724525] - [x86] x86/umwait: Initialize umwait control values (Steve Best) [1724525] - [x86] x86/cpufeatures: Enumerate user wait instructions (Steve Best) [1724525] - [fs] virtiofs: Remove set but not used variable 'fc' (Vivek Goyal) [1694161] - [fs] virtiofs: Retry request submission from worker context (Vivek Goyal) [1694161] - [fs] virtiofs: Count pending forgets as in_flight forgets (Vivek Goyal) [1694161] - [fs] virtiofs: Set FR_SENT flag only after request has been sent (Vivek Goyal) [1694161] - [fs] virtiofs: No need to check fpq->connected state (Vivek Goyal) [1694161] - [fs] virtiofs: Do not end request in submission context (Vivek Goyal) [1694161] - [fs] fuse: don't advise readdirplus for negative lookup (Vivek Goyal) [1694161] - [fs] fuse: don't dereference req->args on finished request (Vivek Goyal) [1694161] - [fs] virtio-fs: don't show mount options (Vivek Goyal) [1694161] - [fs] virtio-fs: Change module name to virtiofs.ko (Vivek Goyal) [1694161] - [include] bitops: protect variables in bit_clear_unless() macro (Vivek Goyal) [1694161] - [include] bitops: protect variables in set_mask_bits() macro (Vivek Goyal) [1694161] - [fs] fuse: Make fuse_args_to_req static (Vivek Goyal) [1694161] - [fs] fuse: fix memleak in cuse_channel_open (Vivek Goyal) [1694161] - [fs] fuse: fix beyond-end-of-page access in fuse_parse_cache() (Vivek Goyal) [1694161] - [fs] fuse: unexport fuse_put_request (Vivek Goyal) [1694161] - [fs] fuse: kmemcg account fs data (Vivek Goyal) [1694161] - [fs] fuse: on 64-bit store time in d_fsdata directly (Vivek Goyal) [1694161] - [fs] fuse: fix missing unlock_page in fuse_writepage() (Vivek Goyal) [1694161] - [fs] virtio-fs: add virtiofs filesystem (Vivek Goyal) [1694161] - [fs] fuse: allow skipping control interface and forced unmount (Vivek Goyal) [1694161] - [fs] fuse: dissociate DESTROY from fuseblk (Vivek Goyal) [1694161] - [fs] fuse: delete dentry if timeout is zero (Vivek Goyal) [1694161] - [fs] fuse: separate fuse device allocation and installation in fuse_conn (Vivek Goyal) [1694161] - [fs] fuse: add fuse_iqueue_ops callbacks (Vivek Goyal) [1694161] - [fs] fuse: extract fuse_fill_super_common() (Vivek Goyal) [1694161] - [fs] fuse: export fuse_dequeue_forget() function (Vivek Goyal) [1694161] - [fs] fuse: export fuse_get_unique() (Vivek Goyal) [1694161] - [fs] fuse: export fuse_send_init_request() (Vivek Goyal) [1694161] - [fs] fuse: export fuse_len_args() (Vivek Goyal) [1694161] - [fs] fuse: export fuse_end_request() (Vivek Goyal) [1694161] - [fs] fuse: fix request limit (Vivek Goyal) [1694161] - [fs] fuse: stop copying pages to fuse_req (Vivek Goyal) [1694161] - [fs] fuse: stop copying args to fuse_req (Vivek Goyal) [1694161] - [fs] fuse: clean up fuse_req (Vivek Goyal) [1694161] - [fs] fuse: simplify request allocation (Vivek Goyal) [1694161] - [fs] fuse: unexport request ops (Vivek Goyal) [1694161] - [fs] fuse: convert retrieve to simple api (Vivek Goyal) [1694161] - [fs] fuse: convert release to simple api (Vivek Goyal) [1694161] - [fs] cuse: convert init to simple api (Vivek Goyal) [1694161] - [fs] fuse: convert init to simple api (Vivek Goyal) [1694161] - [fs] fuse: convert writepages to simple api (Vivek Goyal) [1694161] - [fs] fuse: convert readdir to simple api (Vivek Goyal) [1694161] - [fs] fuse: convert readpages to simple api (Vivek Goyal) [1694161] - [fs] fuse: convert direct_io to simple api (Vivek Goyal) [1694161] - [fs] fuse: add simple background helper (Vivek Goyal) [1694161] - [fs] fuse: convert sync write to simple api (Vivek Goyal) [1694161] - [fs] fuse: covert readpage to simple api (Vivek Goyal) [1694161] - [fs] fuse: fuse_short_read(): don't take fuse_req as argument (Vivek Goyal) [1694161] - [fs] fuse: convert ioctl to simple api (Vivek Goyal) [1694161] - [fs] fuse: move page alloc (Vivek Goyal) [1694161] - [fs] fuse: convert readlink to simple api (Vivek Goyal) [1694161] - [fs] fuse: add pages to fuse_args (Vivek Goyal) [1694161] - [fs] fuse: convert destroy to simple api (Vivek Goyal) [1694161] - [fs] fuse: add nocreds to fuse_args (Vivek Goyal) [1694161] - [fs] fuse: convert fuse_force_forget() to simple api (Vivek Goyal) [1694161] - [fs] fuse: add noreply to fuse_args (Vivek Goyal) [1694161] - [fs] fuse: convert flush to simple api (Vivek Goyal) [1694161] - [fs] fuse: simplify 'nofail' request (Vivek Goyal) [1694161] - [fs] fuse: rearrange and resize fuse_args fields (Vivek Goyal) [1694161] - [fs] fuse: flatten 'struct fuse_args' (Vivek Goyal) [1694161] - [fs] fuse: fix deadlock with aio poll and fuse_iqueue::waitq.lock (Vivek Goyal) [1694161] - [fs] cuse: fix broken release (Vivek Goyal) [1694161] - [fs] fuse: cleanup fuse_wait_on_page_writeback (Vivek Goyal) [1694161] - [fs] fuse: require /dev/fuse reads to have enough buffer capacity (take 2) (Vivek Goyal) [1694161] - [fs] Revert "fuse: require /dev/fuse reads to have enough buffer capacity" (Vivek Goyal) [1694161] - [fs] fuse: extract helper for range writeback (Vivek Goyal) [1694161] - [fs] fuse: add FUSE_WRITE_KILL_PRIV (Vivek Goyal) [1694161] - [fs] fuse: clean up fuse_alloc_inode (Vivek Goyal) [1694161] - [fs] fuse: Add ioctl flag for x32 compat ioctl (Vivek Goyal) [1694161] - [fs] fuse: document fuse_fsync_in.fsync_flags (Vivek Goyal) [1694161] - [fs] fuse: require /dev/fuse reads to have enough buffer capacity (Vivek Goyal) [1694161] - [fs] fuse: retrieve: cap requested size to negotiated max_write (Vivek Goyal) [1694161] - [fs] fuse: allow filesystems to have precise control over data cache (Vivek Goyal) [1694161] - [fs] fuse: convert printk -> pr_* (Vivek Goyal) [1694161] - [fs] fuse: fix writepages on 32bit (Vivek Goyal) [1694161] - [fs] fuse: cache readdir calls if filesystem opts out of opendir (Vivek Goyal) [1694161] - [fs] fuse: support clients that don't implement 'opendir' (Vivek Goyal) [1694161] - [fs] fuse: lift bad inode checks into callers (Vivek Goyal) [1694161] - [fs] fuse: multiplex cached/direct_io file operations (Vivek Goyal) [1694161] - [fs] fuse add copy_file_range to direct io fops (Vivek Goyal) [1694161] - [fs] fuse: use iov_iter based generic splice helpers (Vivek Goyal) [1694161] - [fs] fuse: Switch to using async direct IO for FOPEN_DIRECT_IO (Vivek Goyal) [1694161] - [fs] fuse: use atomic64_t for khctr (Vivek Goyal) [1694161] - [fs] fuse: clean up aborted (Vivek Goyal) [1694161] - [fs] fuse: Protect ff->reserved_req via corresponding fi->lock (Vivek Goyal) [1694161] - [fs] fuse: Protect fi->nlookup with fi->lock (Vivek Goyal) [1694161] - [fs] fuse: Introduce fi->lock to protect write related fields (Vivek Goyal) [1694161] - [fs] fuse: Convert fc->attr_version into atomic64_t (Vivek Goyal) [1694161] - [fs] fuse: Add fuse_inode argument to fuse_prepare_release() (Vivek Goyal) [1694161] - [fs] fuse: Verify userspace asks to requeue interrupt that we really sent (Vivek Goyal) [1694161] - [fs] fuse: Do some refactoring in fuse_dev_do_write() (Vivek Goyal) [1694161] - [fs] fuse: Wake up req->waitq of only if not background (Vivek Goyal) [1694161] - [fs] fuse: Optimize request_end() by not taking fiq->waitq.lock (Vivek Goyal) [1694161] - [fs] fuse: Kill fasync only if interrupt is queued in queue_interrupt() (Vivek Goyal) [1694161] - [fs] fuse: Remove stale comment in end_requests() (Vivek Goyal) [1694161] - [fs] fuse: Replace page without copying in fuse_writepage_in_flight() (Vivek Goyal) [1694161] - [fs] fuse: fix leaked aux requests (Vivek Goyal) [1694161] - [fs] fuse: only reuse auxiliary request in fuse_writepage_in_flight() (Vivek Goyal) [1694161] - [fs] fuse: clean up fuse_writepage_in_flight() (Vivek Goyal) [1694161] - [fs] fuse: extract fuse_find_writeback() helper (Vivek Goyal) [1694161] - [fs] cuse: fix ioctl (Vivek Goyal) [1694161] - [fs] fuse: Fix memory leak in fuse_dev_free() (Vivek Goyal) [1694161] - [fs] fuse: fix revalidation of attributes for permission check (Vivek Goyal) [1694161] - [fs] fuse: fix fsync on directory (Vivek Goyal) [1694161] - [fs] fuse: Add bad inode check in fuse_destroy_inode() (Vivek Goyal) [1694161] - [fs] fuse: enable caching of symlinks (Vivek Goyal) [1694161] - [fs] fuse: only invalidate atime in direct read (Vivek Goyal) [1694161] - [fs] fuse: realloc page array (Vivek Goyal) [1694161] - [fs] fuse: add max_pages to init_out (Vivek Goyal) [1694161] - [fs] fuse: allocate page array more efficiently (Vivek Goyal) [1694161] - [fs] fuse: reduce size of struct fuse_inode (Vivek Goyal) [1694161] - [fs] fuse: use iversion for readdir cache verification (Vivek Goyal) [1694161] - [fs] fuse: use mtime for readdir cache verification (Vivek Goyal) [1694161] - [fs] fuse: add readdir cache version (Vivek Goyal) [1694161] - [fs] fuse: allow using readdir cache (Vivek Goyal) [1694161] - [fs] fuse: allow caching readdir (Vivek Goyal) [1694161] - [fs] fuse: extract fuse_emit() helper (Vivek Goyal) [1694161] - [fs] fuse: add FOPEN_CACHE_DIR (Vivek Goyal) [1694161] - [fs] fuse: split out readdir.c (Vivek Goyal) [1694161] - [fs] fuse: Use hash table to link processing request (Vivek Goyal) [1694161] - [fs] fuse: kill req->intr_unique (Vivek Goyal) [1694161] - [fs] fuse: change interrupt requests allocation algorithm (Vivek Goyal) [1694161] - [fs] fuse: do not take fc->lock in fuse_request_send_background() (Vivek Goyal) [1694161] - [fs] fuse: introduce fc->bg_lock (Vivek Goyal) [1694161] - [fs] fuse: add locking to max_background and congestion_threshold changes (Vivek Goyal) [1694161] - [fs] fuse: use READ_ONCE on congestion_threshold and max_background (Vivek Goyal) [1694161] - [fs] fuse: use list_first_entry() in flush_bg_queue() (Vivek Goyal) [1694161] - [fs] fuse: reduce allocation size for splice_write (Vivek Goyal) [1694161] - [fs] fuse: use kvmalloc to allocate array of pipe_buffer structs. (Vivek Goyal) [1694161] - [fs] fuse: convert last timespec use to timespec64 (Vivek Goyal) [1694161] - [fs] fs: fuse: Adding new return type vm_fault_t (Vivek Goyal) [1694161] - [fs] fuse: simplify fuse_abort_conn() (Vivek Goyal) [1694161] - [infiniband] RDMA/siw: Fix IPv6 addr_list locking (Kamal Heib) [1725830 1720892] - [infiniband] RDMA/siw: Fix 64/32bit pointer inconsistency (Kamal Heib) [1725830 1720892] - [infiniband] RDMA/siw: Fix SGL mapping issues (Kamal Heib) [1725830 1720892] - [infiniband] RDMA/siw: Fix potential NULL de-ref (Kamal Heib) [1725830 1720892] - [infiniband] RDMA/siw: Change CQ flags from 64->32 bits (Kamal Heib) [1725830 1720892] - [infiniband] RDMA/siw: Fix a memory leak in siw_init_cpulist() (Kamal Heib) [1725830 1720892] - [infiniband] Do not dereference 'siw_crypto_shash' before checking (Kamal Heib) [1725830 1720892] - [infiniband] RDMA/siw: Remove set but not used variables 'rv' (Kamal Heib) [1725830 1720892] - [infiniband] RDMA/siw: Fix error return code in siw_init_module() (Kamal Heib) [1725830 1720892] - [infiniband] RMDA/siw: Require a 64 bit arch (Kamal Heib) [1725830 1720892] - [infiniband] RDMA/siw: Mark expected switch fall-throughs (Kamal Heib) [1725830 1720892] - [infiniband] rdma/siw: Remove set but not used variable 's' (Kamal Heib) [1725830 1720892] - [infiniband] rdma/siw: Add missing dependencies on LIBCRC32C and DMA_VIRT_OPS (Kamal Heib) [1725830 1720892] - [infiniband] RDMA/siw: Add missing rtnl_lock around access to ifa (Kamal Heib) [1725830 1720892] - [infiniband] rdma/siw: Use proper enumerated type in map_cqe_status (Kamal Heib) [1725830 1720892] - [infiniband] RDMA/siw: Remove unnecessary kthread create/destroy printouts (Kamal Heib) [1725830 1720892] - [infiniband] RDMA/siw: Fix DEFINE_PER_CPU compilation when ARCH_NEEDS_WEAK_PER_CPU (Kamal Heib) [1725830 1720892] - [infiniband] rdma/siw: addition to kernel build environment (Kamal Heib) [1725830 1720892] - [infiniband] rdma/siw: completion queue methods (Kamal Heib) [1725830 1720892] - [infiniband] rdma/siw: receive path (Kamal Heib) [1725830 1720892] - [infiniband] rdma/siw: transmit path (Kamal Heib) [1725830 1720892] - [infiniband] rdma/siw: queue pair methods (Kamal Heib) [1725830 1720892] - [infiniband] rdma/siw: application buffer management (Kamal Heib) [1725830 1720892] - [infiniband] rdma/siw: application interface (Kamal Heib) [1725830 1720892] - [infiniband] rdma/siw: connection management (Kamal Heib) [1725830 1720892] - [infiniband] rdma/siw: network and RDMA core interface (Kamal Heib) [1725830 1720892] - [infiniband] rdma/siw: main include file (Kamal Heib) [1725830 1720892] - [infiniband] rdma/siw: iWarp wire packet format (Kamal Heib) [1725830 1720892] - [infiniband] RDMA/cma: fix null-ptr-deref Read in cma_cleanup (Kamal Heib) [1720892] - [infiniband] RDMA/restrack: Rewrite PID namespace check to be reliable (Kamal Heib) [1720892] - [infiniband] RDMA/counters: Properly implement PID checks (Kamal Heib) [1720892] - [infiniband] IB/core: Fix NULL pointer dereference when bind QP to counter (Kamal Heib) [1720892] - [infiniband] RDMA/mlx5: Fix MR npages calculation for IB_ACCESS_HUGETLB (Kamal Heib) [1720892] - [infiniband] RDMA/core: Fix error code in stat_get_doit_qp() (Kamal Heib) [1720892] - [infiniband] RDMA/counter: Prevent QP counter binding if counters unsupported (Kamal Heib) [1720892] - [infiniband] RDMA/hns: Use for_each_sg_dma_page iterator on umem SGL (Kamal Heib) [1720892] - [infiniband] RDMA/core: Fix -Wunused-const-variable warnings (Kamal Heib) [1720892] - [infiniband] RDMA/nldev: Added configuration of RDMA dynamic interrupt moderation to netlink (Kamal Heib) [1720892] - [infiniband] RDMA/core: Provide RDMA DIM support for ULPs (Kamal Heib) [1720892] - [infiniband] linux/dim: Implement RDMA adaptive moderation (DIM) (Kamal Heib) [1720892] - [infiniband] IB/mad: Fix use-after-free in ib mad completion handling (Kamal Heib) [1720892] - [infiniband] RDMA/restrack: Track driver QP types in resource tracker (Kamal Heib) [1720892] - [infiniband] RDMA/devices: Remove the lock around remove_client_context (Kamal Heib) [1720892] - [infiniband] RDMA/devices: Do not deadlock during client removal (Kamal Heib) [1720892] - [infiniband] IB/core: Add mitigation for Spectre V1 (Kamal Heib) [1720892] - [infiniband] IB/counters: Always initialize the port counter object (Kamal Heib) [1720892] - [infiniband] IB/core: Fix querying total rdma stats (Kamal Heib) [1720892] - [infiniband] RDMA/core: Fix race when resolving IP address (Kamal Heib) [1720892] - [infiniband] xprtrdma: Modernize ops->connect (Kamal Heib) [1720892] - [infiniband] xprtrdma: Remove rpcrdma_req::rl_buffer (Kamal Heib) [1720892] - [infiniband] xprtrdma: Refactor chunk encoding (Kamal Heib) [1720892] - [infiniband] xprtrdma: Streamline rpcrdma_post_recvs (Kamal Heib) [1720892] - [infiniband] xprtrdma: Simplify rpcrdma_rep_create (Kamal Heib) [1720892] - [infiniband] xprtrdma: Wake RPCs directly in rpcrdma_wc_send path (Kamal Heib) [1720892] - [infiniband] xprtrdma: Reduce context switching due to Local Invalidation (Kamal Heib) [1720892] - [infiniband] xprtrdma: Add mechanism to place MRs back on the free list (Kamal Heib) [1720892] - [infiniband] xprtrdma: Remove fr_state (Kamal Heib) [1720892] - [infiniband] xprtrdma: Remove the RPCRDMA_REQ_F_PENDING flag (Kamal Heib) [1720892] - [infiniband] xprtrdma: Fix occasional transport deadlock (Kamal Heib) [1720892] - [infiniband] xprtrdma: Replace use of xdr_stream_pos in rpcrdma_marshal_req (Kamal Heib) [1720892] - [infiniband] xprtrdma: Fix use-after-free in rpcrdma_post_recvs (Kamal Heib) [1720892] - [infiniband] RDMA/core: Make rdma_counter.h compile stand alone (Kamal Heib) [1720892] - [infiniband] IB/core: Work on the caller socket net namespace in nldev_newlink() (Kamal Heib) [1663224 1720892] - [infiniband] RDMA/rxe: Fill in wc byte_len with IB_WC_RECV_RDMA_WITH_IMM (Kamal Heib) [1720892] - [infiniband] ibverbs/rxe: Remove variable self-initialization (Kamal Heib) [1720892] - [infiniband] RDMA/nldev: Allow get default counter statistics through RDMA netlink (Kamal Heib) [1720892] - [infiniband] RDMA/nldev: Allow get counter mode through RDMA netlink (Kamal Heib) [1720892] - [infiniband] RDMA/nldev: Allow counter manual mode configration through RDMA netlink (Kamal Heib) [1720892] - [infiniband] RDMA/counter: Allow manual mode configuration support (Kamal Heib) [1720892] - [infiniband] RDMA/core: Get sum value of all counters when perform a sysfs stat read (Kamal Heib) [1720892] - [infiniband] RDMA/netlink: Implement counter dumpit calback (Kamal Heib) [1720892] - [infiniband] RDMA/nldev: Allow counter auto mode configration through RDMA netlink (Kamal Heib) [1720892] - [infiniband] RDMA/counter: Add "auto" configuration mode support (Kamal Heib) [1720892] - [infiniband] RDMA/counter: Add set/clear per-port auto mode support (Kamal Heib) [1720892] - [infiniband] RDMA/restrack: Make is_visible_in_pid_ns() as an API (Kamal Heib) [1720892] - [infiniband] RDMA/restrack: Add an API to attach a task to a resource (Kamal Heib) [1720892] - [infiniband] RDMA/restrack: Introduce statistic counter (Kamal Heib) [1720892] - [infiniband] IB/ipoib: Add child to parent list only if device initialized (Kamal Heib) [1720892] - [infiniband] RDMA/uverbs: remove redundant assignment to variable ret (Kamal Heib) [1720892] - [infiniband] IB/ipoib: Remove memset after vzalloc in ipoib_cm.c (Kamal Heib) [1720892] - [infiniband] IB: Remove unneeded memset (Kamal Heib) [1720892] - [infiniband] RDMA/netlink: Audit policy settings for netlink attributes (Kamal Heib) [1720892] - [infiniband] docs: infiniband: convert docs to ReST and rename to *.rst (Kamal Heib) [1720892] - [infiniband] RDMA/rw: Use IB_WR_REG_MR_INTEGRITY for PI handover (Kamal Heib) [1720892] - [infiniband] RDMA/rw: Introduce rdma_rw_inv_key helper (Kamal Heib) [1720892] - [infiniband] RDMA/core: Validate integrity handover device cap (Kamal Heib) [1720892] - [infiniband] RDMA/core: Rename signature qp create flag and signature device capability (Kamal Heib) [1720892] - [infiniband] RDMA/core: Add an integrity MR pool support (Kamal Heib) [1720892] - [infiniband] IB/iser: Unwind WR union at iser_tx_desc (Kamal Heib) [1720892] - [infiniband] IB/iser: Use IB_WR_REG_MR_INTEGRITY for PI handover (Kamal Heib) [1720892] - [infiniband] RDMA/mlx5: Introduce and implement new IB_WR_REG_MR_INTEGRITY work request (Kamal Heib) [1720892] - [infiniband] RDMA/mlx5: Update set_sig_data_segment attribute for new signature API (Kamal Heib) [1720892] - [infiniband] RDMA/mlx5: Pass UMR segment flags instead of boolean (Kamal Heib) [1720892] - [infiniband] RDMA/mlx5: Add attr for max number page list length for PI operation (Kamal Heib) [1720892] - [infiniband] RDMA/mlx5: Implement mlx5_ib_map_mr_sg_pi and mlx5_ib_alloc_mr_integrity (Kamal Heib) [1720892] - [infiniband] RDMA/core: Add signature attrs element for ib_mr structure (Kamal Heib) [1720892] - [infiniband] RDMA/core: Introduce ib_map_mr_sg_pi to map data/protection sgl's (Kamal Heib) [1720892] - [infiniband] RDMA/core: Introduce IB_MR_TYPE_INTEGRITY and ib_alloc_mr_integrity API (Kamal Heib) [1720892] - [infiniband] RDMA/core: Save the MR type in the ib_mr structure (Kamal Heib) [1720892] - [infiniband] RDMA/core: Introduce new header file for signature operations (Kamal Heib) [1720892] - [infiniband] RDMA/odp: Do not leak dma maps when working with huge pages (Kamal Heib) [1720892] - [infiniband] RDMA/uverbs: Use offsetofend instead of opencoding (Kamal Heib) [1720892] - [infiniband] [scsi] scsi: RDMA/srp: Fix a sleep-in-invalid-context bug (Kamal Heib) [1720892] - [infiniband] RDMA: Check umem pointer validity prior to release (Kamal Heib) [1720892] - [infiniband] RDMA/hns: Remove asynchronic QP destroy (Kamal Heib) [1720892] - [infiniband] RDMA: Convert destroy_wq to be void (Kamal Heib) [1720892] - [infiniband] RDMA/netlink: Resort policy array (Kamal Heib) [1720892] - [infiniband] RDMA: Report available cdevs through RDMA_NLDEV_CMD_GET_CHARDEV (Kamal Heib) [1720892] - [infiniband] RDMA: Add NLDEV_GET_CHARDEV to allow char dev discovery and autoload (Kamal Heib) [1720892] - [infiniband] ipoib: correcly show a VF hardware address (Kamal Heib) [1720892] - [infiniband] RDMA: Move rdma_node_type to uapi/ (Kamal Heib) [1720892] - [infiniband] rdma: Remove nes (Kamal Heib) [1720892] - [infiniband] RDMA/ipoib: Remove check for ETH_SS_TEST (Kamal Heib) [1720892] - [infiniband] RDMA: Convert CQ allocations to be under core responsibility (Kamal Heib) [1720892] - [infiniband] RDMA/hns: Return correct error code from hns_roce_v1_rsv_lp_qp() (Kamal Heib) [1720892] - [infiniband] RDMA/cxgb3: Don't expose DMA addresses (Kamal Heib) [1720892] - [infiniband] RDMA/cxgb4: Don't expose DMA addresses (Kamal Heib) [1720892] - [infiniband] RDMA/cxgb3: Use sizeof() notation instead of plain sizeof (Kamal Heib) [1720892] - [infiniband] RDMA/cxgb3: Use for_each_sg_dma_page iterator on umem SGL (Kamal Heib) [1720892] - [infiniband] RDMA: Clear CQ objects during their allocation (Kamal Heib) [1720892] - [infiniband] RDMA: Clean destroy CQ in drivers do not return errors (Kamal Heib) [1720892] - [infiniband] RDMA/i40iw: Remove useless NULL checks (Kamal Heib) [1720892] - [infiniband] RDMA/cxgb3: Delete and properly mark unimplemented resize CQ function (Kamal Heib) [1720892] - [infiniband] RDMA/nes: Avoid memory allocation during CQ destroy (Kamal Heib) [1720892] - [infiniband] RDMA: Move owner into struct ib_device_ops (Kamal Heib) [1720892] - [infiniband] RDMA: Move uverbs_abi_ver into struct ib_device_ops (Kamal Heib) [1720892] - [infiniband] RDMA: Move driver_id into struct ib_device_ops (Kamal Heib) [1720892] - [infiniband] rdma: Delete the ib_ucm module (Kamal Heib) [1720892] - [infiniband] ucma: Convert ctx_idr to XArray (Kamal Heib) [1720892] - [infiniband] ucma: Convert multicast_idr to XArray (Kamal Heib) [1720892] - [infiniband] RDMA/ucma: Use struct_size() helper (Kamal Heib) [1720892] - [infiniband] RDMA/srp: Accept again source addresses that do not have a port number (Kamal Heib) [1720892] - [infiniband] RDMA/ipoib: implement ethtool .get_link() callback (Kamal Heib) [1720892] - [infiniband] RDMA/uverbs: check for allocation failure in uapi_add_elm() (Kamal Heib) [1720892] - [infiniband] RDMA: Convert put_page() to put_user_page*() (Kamal Heib) [1720892] - [infiniband] RDMA/nes: Remove second wait queue initialization call (Kamal Heib) [1720892] - [infiniband] RDMA/nes: Remove useless NULL checks (Kamal Heib) [1720892] - [infiniband] RDMA/core: Make ib_destroy_cq() void (Kamal Heib) [1720892] - [infiniband] RDMA/ipoib: Remove check of destroy CQ (Kamal Heib) [1720892] - [infiniband] RDMA/core: Return void from ib_device_check_mandatory() (Kamal Heib) [1720892] - [infiniband] RDMA/umem: Move page_shift from ib_umem to ib_odp_umem (Kamal Heib) [1720892] - [infiniband] RDMA/qedr: Use for_each_sg_dma_page iterator on umem SGL (Kamal Heib) [1720892] - [infiniband] RDMA/cxgb4: Use for_each_sg_dma_page iterator on umem SGL (Kamal Heib) [1720892] - [infiniband] RDMA/core: Fix doc typo (Kamal Heib) [1720892] - [infiniband] RDMA/rw: Add info regarding SG count failure (Kamal Heib) [1720892] - [infiniband] RDMA/rw: Print the correct number of sig MRs (Kamal Heib) [1720892] - [infiniband] RDMA/rw: Fix doc typo (Kamal Heib) [1720892] - [infiniband] IB/isert: Remove unused sig_attrs argument (Kamal Heib) [1720892] - [infiniband] IB/iser: Remove unused sig_attrs argument (Kamal Heib) [1720892] - [infiniband] IB/iser: Refactor iscsi_iser_check_protection function (Kamal Heib) [1720892] - [infiniband] RDMA/efa: Entropy in admin commands id (Kamal Heib) [1720892] - [infiniband] RDMA/efa: Print address on AH creation failure (Kamal Heib) [1720892] - [infiniband] RDMA/efa: Be consistent with success flow return value (Kamal Heib) [1720892] - [infiniband] RDMA/efa: Use API to get contiguous memory blocks aligned to device supported page size (Kamal Heib) [1720892] - [infiniband] RDMA/efa: Remove unused includes (Kamal Heib) [1720892] - [infiniband] RDMA/efa: Use rdma block iterator in chunk list creation (Kamal Heib) [1720892] - [infiniband] RDMA/efa: Remove unneeded admin commands abort flow (Kamal Heib) [1720892] - [infiniband] RDMA/efa: Use kvzalloc instead of kzalloc with fallback (Kamal Heib) [1720892] - [infiniband] RDMA/efa: Remove check that prevents destroy of resources in error flows (Kamal Heib) [1720892] - [infiniband] RDMA/efa: Handle mmap insertions overflow (Kamal Heib) [1720892] - [infiniband] RDMA/efa: Fix success return value in case of error (Kamal Heib) [1720892] - [infiniband] RDMA/efa: Remove MAYEXEC flag check from mmap flow (Kamal Heib) [1720892] - [infiniband] RDMA/efa: Add driver to Kconfig/Makefile (Kamal Heib) [1720892] - [infiniband] RDMA/efa: Add the efa module (Kamal Heib) [1720892] - [infiniband] RDMA/efa: Add EFA verbs implementation (Kamal Heib) [1720892] - [infiniband] RDMA/efa: Add common command handlers (Kamal Heib) [1720892] - [infiniband] RDMA/efa: Implement functions that submit and complete admin commands (Kamal Heib) [1720892] - [infiniband] RDMA/efa: Add the ABI definitions (Kamal Heib) [1720892] - [infiniband] RDMA/efa: Add the com service API definitions (Kamal Heib) [1720892] - [infiniband] RDMA/efa: Add the efa_com.h file (Kamal Heib) [1720892] - [infiniband] RDMA/efa: Add the efa.h header file (Kamal Heib) [1720892] - [infiniband] RDMA/efa: Add EFA device definitions (Kamal Heib) [1720892] - [infiniband] RDMA: Add EFA related definitions (Kamal Heib) [1720892] - [fs] CIFS: Fix use after free of file info structures (Dave Wysochanski) [1757865] - [mm] mm, memory_hotplug: fix scan_movable_pages() for gigantic hugepages (Rafael Aquini) [1730172] - [char] ipmi: Don't allow device module unload when in use (Tony Camuso) [1759916] - [netdrv] net: phy: Also request modules for C45 IDs (Gary Hook) [1764274] - [s390] s390/dasd: Fix error handling during online processing (Philipp Rudo) [1764492] - [s390] s390/cpumsf: Check for CPU Measurement sampling (Philipp Rudo) [1764490] - [edac] EDAC/amd64: Support asymmetric dual-rank DIMMs (Gary Hook) [1753384] - [edac] EDAC/amd64: Cache secondary Chip Select registers (Gary Hook) [1753384] - [edac] EDAC/amd64: Decode syndrome before translating address (Gary Hook) [1753384] - [edac] EDAC/amd64: Find Chip Select memory size using Address Mask (Gary Hook) [1753384] - [edac] EDAC/amd64: Initialize DIMM info for systems with more than two channels (Gary Hook) [1753384] - [edac] EDAC/amd64: Recognize DRAM device type ECC capability (Gary Hook) [1753384] - [edac] EDAC/amd64: Support more than two controllers for chip selects handling (Gary Hook) [1753384] - [scsi] scsi: fnic: fix msix interrupt allocation (Govindarajulu Varadarajan) [1745083] - [scsi] scsi: fnic: print port speed only at driver init or speed change (Govindarajulu Varadarajan) [1745083] - [netdrv] qmi_wwan: apply SET_DTR quirk to Sierra WP7607 (Lubomir Rintel) [1729083]- [tools] libbpf: remove compile time warning from libbpf_util.h (Yauheni Kaliuta) [1747341] - [tools] libbpf: remove dependency on barrier.h in xsk.h (Yauheni Kaliuta) [1747341] - [kernel] seccomp, bpf: disable preemption before calling into bpf prog (Yauheni Kaliuta) [1747341] - [lib] bpf: test_bpf: turn off preemption in function __run_once (Yauheni Kaliuta) [1747341] - [tools] libbpf: remove unnecessary cast-to-void (Yauheni Kaliuta) [1747341] - [kernel] bpf: fix sysctl.c warning (Yauheni Kaliuta) [1747341] - [tools] libbpf: fix using uninitialized ioctl results (Yauheni Kaliuta) [1747341] - [tools] libbpf: proper XSKMAP cleanup (Yauheni Kaliuta) [1747341] - [tools] libbpf: fix invalid munmap call (Yauheni Kaliuta) [1747341] - [tools] libbpf: fix XDP socket ring buffer memory ordering (Yauheni Kaliuta) [1747341] - [tools] libbpf: remove likely/unlikely in xsk.h (Yauheni Kaliuta) [1747341] - [bpf] samples/bpf: xdp_redirect, correctly get dummy program id (Yauheni Kaliuta) [1747341] - [net] bpf: fix access to skb_shared_info->gso_segs (Yauheni Kaliuta) [1747341] - [kernel] bpf: fix out of bounds backwards jmps due to dead code removal (Yauheni Kaliuta) [1747341] - [kernel] bpf: fix use after free in prog symbol exposure (Yauheni Kaliuta) [1747341] - [include] bpf: Fix preempt_enable_no_resched() abuse (Yauheni Kaliuta) [1747341] - [tools] selftests/bpf: test cases for pkt/null checks in subprogs (Yauheni Kaliuta) [1747341] - [kernel] bpf: mark registers in all frames after pkt/null checks (Yauheni Kaliuta) [1747341] - [tools] libbpf: add binary to gitignore (Yauheni Kaliuta) [1747341] - [net] bpf: Check address length before reading address family (Yauheni Kaliuta) [1747341] - [net] flow_dissector: disable preemption around BPF calls (Yauheni Kaliuta) [1747341] - [net] flow_dissector: switch kernel context to struct bpf_flow_dissector (Yauheni Kaliuta) [1747341] - [net] flow_dissector: fix clamping of BPF flow_keys for non-zero nhoff (Yauheni Kaliuta) [1747341] - [net] flow_dissector: allow access only to a subset of __sk_buff fields (Yauheni Kaliuta) [1747341] - [net] net/flow_dissector: pass flow_keys->n_proto to BPF programs (Yauheni Kaliuta) [1747341] - [tools] selftests/bpf: fix vlan handling in flow dissector program (Yauheni Kaliuta) [1747341] - [tools] bpf, libbpf: fix quiet install_headers (Yauheni Kaliuta) [1747341] - [tools] libbpf: add libelf dependency to shared library build (Yauheni Kaliuta) [1747341] - [tools] libbpf: add xsk.h to install_headers target (Yauheni Kaliuta) [1747341] - [tools] selftests/bpf: add btf_dedup test for VOID equivalence check (Yauheni Kaliuta) [1747341] - [tools] libbpf: fix btf_dedup equivalence check handling of different kinds (Yauheni Kaliuta) [1747341] - [documentation] bpf, doc: fix BTF docs reflow of bullet list (Yauheni Kaliuta) [1747341] - [tools] selftests/bpf: test case for invalid call stack in dead code (Yauheni Kaliuta) [1747341] - [kernel] bpf: remove incorrect 'verifier bug' warning (Yauheni Kaliuta) [1747341] - [kernel] bpf: Only print ref_obj_id for refcounted reg (Yauheni Kaliuta) [1747341] - [tools] tool: use bpf_program__get_prog_info_linear() in prog.c:do_dump() (Yauheni Kaliuta) [1747341] - [tools] tools lib bpf: Introduce bpf_program__get_prog_info_linear() (Yauheni Kaliuta) [1747341] - [tools] perf tools: Fix errors under optimization level '-Og' (Yauheni Kaliuta) [1747341] - [kernel] bpf: Try harder when allocating memory for large maps (Yauheni Kaliuta) [1747341] - [tools] tools: bpf: synchronise BPF UAPI header with tools (Yauheni Kaliuta) [1747341] - [tools] selftests/bpf: add fwd enum resolution test for btf_dedup (Yauheni Kaliuta) [1747341] - [tools] btf: resolve enum fwds in btf_dedup (Yauheni Kaliuta) [1747341] - [tools] bpf: Add an example for bpf_get_listener_sock (Yauheni Kaliuta) [1747341] - [tools] bpf: Test ref release issue in bpf_tcp_sock and bpf_sk_fullsock (Yauheni Kaliuta) [1747341] - [tools] bpf: Sync bpf.h to tools/ (Yauheni Kaliuta) [1747341] - [net] bpf: Add bpf_get_listener_sock(struct bpf_sock *sk) helper (Yauheni Kaliuta) [1747341] - [kernel] bpf: Fix bpf_tcp_sock and bpf_sk_fullsock issue related to bpf_sk_release (Yauheni Kaliuta) [1747341] - [tools] libbpf: fix to reject unknown flags in xsk_socket__create() (Yauheni Kaliuta) [1747341] - [tools] selftests/bpf: fix segfault of test_progs when prog loading failed (Yauheni Kaliuta) [1747341] - [kernel] bpf: fix replace_map_fd_with_map_ptr's ldimm64 second imm field (Yauheni Kaliuta) [1747341] - [tools] selftests: bpf: test_progs: initialize duration in singal_pending test (Yauheni Kaliuta) [1747341] - [tools] libbpf: force fixdep compilation at the start of the build (Yauheni Kaliuta) [1747341] - [tools] selftests: bpf: fix compilation with out-of-tree $(OUTPUT) (Yauheni Kaliuta) [1747341] - [tools] selftests/bpf: test that GSO works in lwt_ip_encap (Yauheni Kaliuta) [1747341] - [bpf] bpf: hbm: fix spelling mistake "deault" -> "default" (Yauheni Kaliuta) [1747341] - [tools] bpf: add test cases for non-pointer sanitiation logic (Yauheni Kaliuta) [1747341] - [tools] selftests: bpf: break up test_progs - misc (Yauheni Kaliuta) [1747341] - [tools] selftests: bpf: break up test_progs - spinlock (Yauheni Kaliuta) [1747341] - [tools] selftests: bpf: break up test_progs - tracepoint (Yauheni Kaliuta) [1747341] - [tools] selftests: bpf: break up test_progs - stackmap (Yauheni Kaliuta) [1747341] - [tools] selftests: bpf: break up test_progs - xdp (Yauheni Kaliuta) [1747341] - [tools] selftests: bpf: break up test_progs - pkt access (Yauheni Kaliuta) [1747341] - [tools] selftests: bpf: break up test_progs - preparations (Yauheni Kaliuta) [1747341] - [bpf] bpf: HBM test script (Yauheni Kaliuta) [1747341] - [bpf] bpf: User program for testing HBM (Yauheni Kaliuta) [1747341] - [bpf] bpf: Sample HBM BPF program to limit egress bw (Yauheni Kaliuta) [1747341] - [include] bpf: sync bpf.h to tools and update bpf_helpers.h (Yauheni Kaliuta) [1747341] - [net] bpf: add bpf helper bpf_skb_ecn_set_ce (Yauheni Kaliuta) [1747341] - [bpf] samples/bpf: silence compiler warning for xdpsock_user.c (Yauheni Kaliuta) [1747341] - [tools] selftests/bpf: set unlimited RLIMIT_MEMLOCK for test_sock_fields (Yauheni Kaliuta) [1747341] - [documentation] docs/bpf: minor casing/punctuation fixes (Yauheni Kaliuta) [1747341] - [documentation] docs/btf: reflow text to fill up to 78 characters (Yauheni Kaliuta) [1747341] - [documentation] docs/btf: fix typos, improve wording (Yauheni Kaliuta) [1747341] - [kernel] bpf: fix u64_stats_init() usage in bpf_prog_alloc() (Yauheni Kaliuta) [1747341] - [tools] selftests/bpf: add btf_dedup test of FWD/STRUCT resolution (Yauheni Kaliuta) [1747341] - [tools] btf: allow to customize dedup hash table size (Yauheni Kaliuta) [1747341] - [tools] libbpf: fix formatting for btf_ext__get_raw_data (Yauheni Kaliuta) [1747341] - [tools] selftests/bpf: fix btf_dedup testing code (Yauheni Kaliuta) [1747341] - [tools] tools: libbpf: make sure readelf shows full names in build checks (Yauheni Kaliuta) [1747341] - [bpf] samples: bpf: use libbpf where easy (Yauheni Kaliuta) [1747341] - [tools] tools: libbpf: add a correctly named define for map iteration (Yauheni Kaliuta) [1747341] - [bpf] samples: bpf: remove load_sock_ops in favour of bpftool (Yauheni Kaliuta) [1747341] - [bpf] samples: bpf: force IPv4 in ping (Yauheni Kaliuta) [1747341] - [tools] selftests/bpf: use __bpf_constant_htons in test_prog.c for flow dissector (Yauheni Kaliuta) [1747341] - [tools] bpf: add missing entries to bpf_helpers.h (Yauheni Kaliuta) [1747341] - [tools] tools/bpf: selftests: add map lookup to test_map_in_map bpf prog (Yauheni Kaliuta) [1747341] - [kernel] bpf: set inner_map_meta->spin_lock_off correctly (Yauheni Kaliuta) [1747341] - [bpf] samples: bpf: fix: broken sample regarding removed function (Yauheni Kaliuta) [1747341] - [tools] tools/bpftool: recognize bpf_prog_info run_time_ns and run_cnt (Yauheni Kaliuta) [1747341] - [tools] tools/bpf: sync bpf.h into tools (Yauheni Kaliuta) [1747341] - [kernel] bpf: expose program stats via bpf_prog_info (Yauheni Kaliuta) [1747341] - [kernel] bpf: fix build without bpf_syscall (Yauheni Kaliuta) [1747341] - [kernel] bpf: enable program stats (Yauheni Kaliuta) [1747341] - [kernel] bpf: check that BPF programs run with preemption disabled (Yauheni Kaliuta) [1747341] - [bpf] samples/bpf: convert xdpsock to use libbpf for AF_XDP access (Yauheni Kaliuta) [1747341] - [tools] libbpf: add support for using AF_XDP sockets (Yauheni Kaliuta) [1747341] - [tools] selftests/bpf: make sure signal interrupts BPF_PROG_TEST_RUN (Yauheni Kaliuta) [1747341] - [bpf] samples/bpf: Fix dummy program unloading for xdp_redirect samples (Yauheni Kaliuta) [1747341] - [s390] s390/net: convert pnetids to ascii (Yauheni Kaliuta) [1747341] - [net] bpf: add skb->queue_mapping write access from tc clsact (Yauheni Kaliuta) [1747341] - [tools] tools/libbpf: support bigger BTF data sizes (Yauheni Kaliuta) [1747341] - [tools] selftests: bpf: test_lwt_ip_encap: add negative tests. (Yauheni Kaliuta) [1747341] - [tools] libbpf: Introduce bpf_object__btf (Yauheni Kaliuta) [1747341] - [tools] libbpf: Introduce bpf_map__resize (Yauheni Kaliuta) [1747341] - [tools] tools/bpf: replace bzero with memset (Yauheni Kaliuta) [1747341] - [net] net: fix GSO in bpf_lwt_push_ip_encap (Yauheni Kaliuta) [1747341] - [net] net: fix double-free in bpf_lwt_xmit_reroute (Yauheni Kaliuta) [1747341] - [net] bpf: fix memory leak in bpf_lwt_xmit_reroute (Yauheni Kaliuta) [1747341] - [net] bpf: make LWTUNNEL_BPF dependent on INET (Yauheni Kaliuta) [1747341] - [tools] selftests: bpf: add test_lwt_ip_encap selftest (Yauheni Kaliuta) [1747341] - [include] bpf: sync /include/.../bpf.h with tools/include/.../bpf.h (Yauheni Kaliuta) [1747341] - [net] bpf: add handling of BPF_LWT_REROUTE to lwt_bpf.c (Yauheni Kaliuta) [1747341] - [net] ipv6_stub: add ipv6_route_input stub/proxy. (Yauheni Kaliuta) [1747341] - [net] bpf: handle GSO in bpf_lwt_push_encap (Yauheni Kaliuta) [1747341] - [net] bpf: implement BPF_LWT_ENCAP_IP mode in bpf_lwt_push_encap (Yauheni Kaliuta) [1747341] - [net] bpf: add plumbing for BPF_LWT_ENCAP_IP in bpf_lwt_push_encap (Yauheni Kaliuta) [1747341] - [net] bpf: offload: add priv field for drivers (Yauheni Kaliuta) [1747341] - [tools] tools: bpftool: doc, add text about feature-subcommand (Yauheni Kaliuta) [1747341] - [tools] selftests: bpf: relax sub-register mode compilation criteria (Yauheni Kaliuta) [1747341] - [tools] selftests: bpf: centre kernel bpf objects under new subdir "progs" (Yauheni Kaliuta) [1747341] - [tools] selftests: bpf: extend sub-register mode compilation to all bpf object files (Yauheni Kaliuta) [1747341] - [tools] selftests: bpf: add "alu32" to .gitignore (Yauheni Kaliuta) [1747341] - [tools] bpf: Add test_sock_fields for skb->sk and bpf_tcp_sock (Yauheni Kaliuta) [1747341] - [tools] bpf: Add skb->sk, bpf_sk_fullsock and bpf_tcp_sock tests to test_verifer (Yauheni Kaliuta) [1747341] - [nclude] bpf: Sync bpf.h to tools/ (Yauheni Kaliuta) [1747341] - [kernel] bpf: Add struct bpf_tcp_sock and BPF_FUNC_tcp_sock (Yauheni Kaliuta) [1747341] - [net] bpf: Refactor sock_ops_convert_ctx_access (Yauheni Kaliuta) [1747341] - [net] bpf: Add state, dst_ip4, dst_ip6 and dst_port to bpf_sock (Yauheni Kaliuta) [1747341] - [kernel] bpf: Add a bpf_sock pointer to __sk_buff and a bpf_sk_fullsock helper (Yauheni Kaliuta) [1747341] - [tools] tools/bpf: remove btf__get_strings() superseded by raw data API (Yauheni Kaliuta) [1747341] - [tools] btf: expose API to work with raw btf_ext data (Yauheni Kaliuta) [1747341] - [tools] btf: expose API to work with raw btf data (Yauheni Kaliuta) [1747341] - [tools] tools/bpf: add log_level to bpf_load_program_attr (Yauheni Kaliuta) [1747341] - [tools] tools/bpf: add missing strings.h include (Yauheni Kaliuta) [1747341] - [s390] s390/net: move pnet constants (Yauheni Kaliuta) [1747341] - [tools] bpf: test_maps: fix possible out of bound access warning (Yauheni Kaliuta) [1747341] - [tools] tools: bpftool: doc, fix incorrect text (Yauheni Kaliuta) [1747341] - [tools] selftests/bpf: test reading the offloaded program (Yauheni Kaliuta) [1747341] - [tools] selftests/bpf: add test for mixing generic and offload XDP (Yauheni Kaliuta) [1747341] - [tools] selftests/bpf: print traceback when test fails (Yauheni Kaliuta) [1747341] - [tools] selftests/bpf: fix the expected messages (Yauheni Kaliuta) [1747341] - [tools] tools/bpf: add const qualifier to btf__get_map_kv_tids() map_name parameter (Yauheni Kaliuta) [1747341] - [tools] selftests/bpf: add "any alignment" annotation for some tests (Yauheni Kaliuta) [1747341] - [tools] selftests/bpf: use localhost in tcp_{server, client}.py (Yauheni Kaliuta) [1747341] - [s390] s390: bpf: fix JMP32 code-gen (Yauheni Kaliuta) [1747341] - [tools] selftests/bpf: remove generated verifier/tests.h on 'make clean' (Yauheni Kaliuta) [1747341] - [bpf] samples/bpf: Check the prog id before exiting (Yauheni Kaliuta) [1747341] - [bpf] samples/bpf: Add a "force" flag to XDP samples (Yauheni Kaliuta) [1747341] - [bpf] samples/bpf: Extend RLIMIT_MEMLOCK for xdp_{sample_pkts, router_ipv4} (Yauheni Kaliuta) [1747341] - [bpf] samples/bpf: Convert XDP samples to libbpf usage (Yauheni Kaliuta) [1747341] - [bpf] samples/bpf: xdp_redirect_cpu have not need for read_trace_pipe (Yauheni Kaliuta) [1747341] - [tools] selftests/bpf: test for BPF_F_LOCK (Yauheni Kaliuta) [1747341] - [tools] tools/bpf: sync uapi/bpf.h (Yauheni Kaliuta) [1747341] - [kernel] bpf: introduce BPF_F_LOCK flag (Yauheni Kaliuta) [1747341] - [tools] selftests/bpf: add bpf_spin_lock C test (Yauheni Kaliuta) [1747341] - [tools] selftests/bpf: add simple BPF_PROG_TEST_RUN examples for flow dissector (Yauheni Kaliuta) [1747341] - [tools] selftests/bpf: add bpf_spin_lock verifier tests (Yauheni Kaliuta) [1747341] - [tools] tools/bpf: sync include/uapi/linux/bpf.h (Yauheni Kaliuta) [1747341] - [kernel] bpf: add support for bpf_spin_lock to cgroup local storage (Yauheni Kaliuta) [1747341] - [kernel] bpf: introduce bpf_spin_lock (Yauheni Kaliuta) [1747341] - [net] bpf: Correctly annotate implicit fall through in bpf_base_func_proto (Yauheni Kaliuta) [1747341] - [kernel] bpf, cgroups: clean up kerneldoc warnings (Yauheni Kaliuta) [1747341] - [kernel] bpf: fix bitrotted kerneldoc (Yauheni Kaliuta) [1747341] - [include] bpf: BPF_PROG_TYPE_CGROUP_{SKB, SOCK, SOCK_ADDR} require cgroups enabled (Yauheni Kaliuta) [1747341] - [tools] selftests/bpf: mark verifier test that uses bpf_trace_printk as BPF_PROG_TYPE_TRACEPOINT (Yauheni Kaliuta) [1747341] - [net] bpf: add BPF_PROG_TEST_RUN support for flow dissector (Yauheni Kaliuta) [1747341] - [net] net/flow_dissector: move bpf case into __skb_flow_bpf_dissect (Yauheni Kaliuta) [1747341] - [net] Revert "[net] flow_dissector: disable preemption around BPF calls" (Yauheni Kaliuta) [1747341] - [tools] tools: bpftool: warn about risky prog array updates (Yauheni Kaliuta) [1747341] - [tools] selftests: bpf: remove duplicated include (Yauheni Kaliuta) [1747341] - [tools] selftests: bpf: break up the rest of test_verifier (Yauheni Kaliuta) [1747341] - [tools] selftests: bpf: break up test_verifier (Yauheni Kaliuta) [1747341] - [tools] selftests: bpf: prepare for break up of verifier tests (Yauheni Kaliuta) [1747341] - [tools] selftests: bpf: makefile support sub-register code-gen test mode (Yauheni Kaliuta) [1747341] - [tools] selftests: bpf: functional and min/max reasoning unit tests for JMP32 (Yauheni Kaliuta) [1747341] - [s390] s390: bpf: implement jitting of JMP32 (Yauheni Kaliuta) [1747341] - [powerpc] ppc: bpf: implement jitting of JMP32 (Yauheni Kaliuta) [1747341] - [arm64] arm64: bpf: implement jitting of JMP32 (Yauheni Kaliuta) [1747341] - [x86] x86_64: bpf: implement jitting of JMP32 (Yauheni Kaliuta) [1747341] - [kernel] bpf: JIT blinds support JMP32 (Yauheni Kaliuta) [1747341] - [kernel] bpf: interpreter support for JMP32 (Yauheni Kaliuta) [1747341] - [tools] tools: bpftool: teach cfg code about JMP32 (Yauheni Kaliuta) [1747341] - [kernel] bpf: disassembler support JMP32 (Yauheni Kaliuta) [1747341] - [kernel] bpf: verifier support JMP32 (Yauheni Kaliuta) [1747341] - [kernel] bpf: refactor verifier min/max code for condition jump (Yauheni Kaliuta) [1747341] - [include] bpf: allocate 0x06 to new eBPF instruction class JMP32 (Yauheni Kaliuta) [1747341] - [tools] selftests/bpf: suppress readelf stderr when probing for BTF support (Yauheni Kaliuta) [1747341] - [net] bpf: allow BPF programs access skb_shared_info->gso_segs field (Yauheni Kaliuta) [1747341] - [tools] tool: feature probing, change default action (Yauheni Kaliuta) [1747341] - [kernel] bpf: notify offload JITs about optimizations (Yauheni Kaliuta) [1747341] - [kernel] bpf: verifier: record original instruction index (Yauheni Kaliuta) [1747341] - [tools] selftests: bpf: add tests for dead code removal (Yauheni Kaliuta) [1747341] - [kernel] bpf: verifier: remove unconditional branches by 0 (Yauheni Kaliuta) [1747341] - [kernel] bpf: verifier: remove dead code (Yauheni Kaliuta) [1747341] - [kernel] bpf: verifier: hard wire branches to dead code (Yauheni Kaliuta) [1747341] - [kernel] bpf: change parameters of call/branch offset adjustment (Yauheni Kaliuta) [1747341] - [tools] selftests/bpf: don't hardcode iptables/nc path in test_tcpnotify_user (Yauheni Kaliuta) [1747341] - [tools] libbpf: Show supported ELF section names when failing to guess prog/attach type (Yauheni Kaliuta) [1747341] - [documentation] bpf: btf: add btf documentation (Yauheni Kaliuta) [1747341] - [kernel] perf: Make perf_event_output() propagate the output() return (Yauheni Kaliuta) [1747341] - [kernel] bpf: fix a (false) compiler warning (Yauheni Kaliuta) [1747341] - [tools] tool: add bash completion for peek/push/enqueue/pop/dequeue (Yauheni Kaliuta) [1747341] - [tools] tool: add pop and dequeue commands (Yauheni Kaliuta) [1747341] - [tools] tool: add push and enqueue commands (Yauheni Kaliuta) [1747341] - [tools] tool: add peek command (Yauheni Kaliuta) [1747341] - [tools] tool: don't print empty key/value for maps (Yauheni Kaliuta) [1747341] - [tools] tool: make key optional in lookup command (Yauheni Kaliuta) [1747341] - [tools] tool: make key and value optional in update command (Yauheni Kaliuta) [1747341] - [tools] tools/bpf: support __int128 in bpftool map pretty dumper (Yauheni Kaliuta) [1747341] - [tools] tools/bpf: add bpffs pretty print test for int128 (Yauheni Kaliuta) [1747341] - [tools] tools/bpf: refactor test_btf pretty printing for multiple map value formats (Yauheni Kaliuta) [1747341] - [tools] tools/bpf: add int128 raw test in test_btf (Yauheni Kaliuta) [1747341] - [kernel] bpf: btf: support 128 bit integer type (Yauheni Kaliuta) [1747341] - [tools] libbpf: don't define CC and AR (Yauheni Kaliuta) [1747341] - [include] bpf: remove leftovers after v5.0 update (Yauheni Kaliuta) [1715770] - [target] scsi: target: cxgbit: add support for IEEE_8021QAZ_APP_SEL_STREAM selector (Vishal Kulkarni) [1725820] - [netdrv] cxgb4i: add support for IEEE_8021QAZ_APP_SEL_STREAM selector (Vishal Kulkarni) [1725818] - [net] SUNRPC: Fix possible autodisconnect during connect due to old last_used (Dave Wysochanski) [1724692] - [fs] NFSv4: Add lease_time and lease_expired to 'nfs4:' line of mountstats (Dave Wysochanski) [1727369] - [scsi] scsi: zfcp: fix reaction on bit error threshold notification (Philipp Rudo) [1764494] - [iommu] iommu/arm-smmu: Error out only if not enough context interrupts (Mark Langsdorf) [1658736] - [netdrv] cxgb4:Fix out-of-bounds MSI-X info array access (Vishal Kulkarni) [1763194] - [fs] vfs: Fix EOVERFLOW testing in put_compat_statfs64 (Eric Sandeen) [1757902] - [security] selinux: fix context string corruption in convert_context() (Ondrej Mosnacek) [1758086] - [fs] cifs: use cifsInodeInfo->open_file_lock while iterating to avoid a panic (Dave Wysochanski) [1757865] - [kernel] alarmtimer: Use EOPNOTSUPP instead of ENOTSUPP (Vladis Dronov) [1760638] - [netdrv] cxgb4: RHEL-only disable device dump (Jonathan Toppins) [1708456] - [fs] xfs: Fix deadlock between AGI and AGF with RENAME_WHITEOUT (Brian Foster) [1759564] - [x86] x86/stacktrace: Prevent access_ok() warnings in arch_stack_walk_user() (Jerome Marchand) [1757758] - [s390] s390/sclp: Fix bit checked for has_sipl (Philipp Rudo) [1748347] - [fs] dax: dax_layout_busy_page() should not unmap cow pages (Jeff Moyer) [1752109] - [fs] dax: Fix missed wakeup in put_unlocked_entry() (Jeff Moyer) [1752109] - [fs] dax: Fix missed wakeup with PMD faults (Jeff Moyer) [1752109] - [fs] dax: Fix xarray entry association for mixed mappings (Jeff Moyer) [1752109] - [mm] mm: page_mkclean vs MADV_DONTNEED race (Jeff Moyer) [1752109] - [fs] dax: Flush partial PMDs correctly (Jeff Moyer) [1752109 1724979] - [fs] dax: Use non-exclusive wait in wait_entry_unlocked() (Jeff Moyer) [1752109] - [x86] x86/mm: Fix decoy address handling vs 32-bit builds (Jeff Moyer) [1752109 1585079] - [fs] dax: Fix unlock mismatch with updated API (Jeff Moyer) [1752109 1724956] - [fs] dax: Don't access a freed inode (Jeff Moyer) [1752109 1724956] - [fs] dax: Check page->mapping isn't NULL (Jeff Moyer) [1752109 1585079 1724956] - [fs] dax: Avoid losing wakeup in dax_lock_mapping_entry (Jeff Moyer) [1752109] - [fs] dax: Fix huge page faults (Jeff Moyer) [1752109] - [fs] dax: Fix dax_unlock_mapping_entry for PMD pages (Jeff Moyer) [1752109] - [fs] dax: Reinstate RCU protection of inode (Jeff Moyer) [1752109] - [fs] dax: Make sure the unlocking entry isn't locked (Jeff Moyer) [1752109] - [fs] dax: Remove optimisation from dax_lock_mapping_entry (Jeff Moyer) [1752109] - [fs] dax: Convert page fault handlers to XArray (Jeff Moyer) [1752109] - [fs] dax: Convert dax_lock_mapping_entry to XArray (Jeff Moyer) [1752109] - [fs] dax: Convert dax writeback to XArray (Jeff Moyer) [1752109] - [fs] dax: Convert __dax_invalidate_entry to XArray (Jeff Moyer) [1752109] - [fs] dax: Convert dax_layout_busy_page to XArray (Jeff Moyer) [1752109] - [fs] dax: Convert dax_insert_pfn_mkwrite to XArray (Jeff Moyer) [1752109] - [fs] dax: Hash on XArray instead of mapping (Jeff Moyer) [1752109] - [fs] dax: Rename some functions (Jeff Moyer) [1752109] - [fs] dax: Fix deadlock in dax_lock_mapping_entry() (Jeff Moyer) [1752109 1585079 1641544] - [drivers] device-dax: Add missing address_space_operations (Jeff Moyer) [1752109 1585079] - [x86] x86/mm/pat: Prepare {reserve, free}_memtype() for "decoy" addresses (Jeff Moyer) [1752109 1585079] - [mm] mm, memory_failure: Teach memory_failure() about dev_pagemap pages (Jeff Moyer) [1703560 1752109 1585079] - [fs] filesystem-dax: Introduce dax_lock_mapping_entry() (Jeff Moyer) [1752109 1585079] - [mm] mm, memory_failure: Collect mapping size in collect_procs() (Jeff Moyer) [1752109 1585079] - [mm] mm, madvise_inject_error: Let memory_failure() optionally take a page reference (Jeff Moyer) [1752109 1585079] - [mm] mm, madvise_inject_error: Disable MADV_SOFT_OFFLINE for ZONE_DEVICE pages (Jeff Moyer) [1752109 1585079] - [fs] filesystem-dax: Set page->index (Jeff Moyer) [1752109 1585079] - [drivers] device-dax: Set page->index (Jeff Moyer) [1752109 1585079] - [drivers] device-dax: Enable page_mapping() (Jeff Moyer) [1752109 1585079] - [drivers] device-dax: Convert to vmf_insert_mixed and vm_fault_t (Jeff Moyer) [1752109 1585079] - [pci] PCI: Add quirk to disable MSI-X support for Amazon's Annapurna Labs Root Port (Myron Stowe) [1732357] - [pci] PCI/VPD: Prevent VPD access for Amazon's Annapurna Labs Root Port (Myron Stowe) [1732357] - [pci] PCI: Add ACS quirk for Amazon Annapurna Labs root ports (Myron Stowe) [1732357] - [pci] PCI: Add Amazon's Annapurna Labs vendor ID (Myron Stowe) [1732357] - [arm64] arm64: PCI: Preserve firmware configuration when desired (Myron Stowe) [1732372] - [arm64] arm64: PCI: Allow resource reallocation if necessary (Myron Stowe) [1732372] - [pci] PCI: Don't auto-realloc if we're preserving firmware config (Myron Stowe) [1732372] - [pci] PCI/ACPI: Evaluate PCI Boot Configuration _DSM (Myron Stowe) [1732372] - [irqchip] irqchip/gic-v2m: Add support for Amazon Graviton variant of GICv3+GICv2m (Myron Stowe) [1732382] - [pci] PCI: al: Add Amazon Annapurna Labs PCIe host controller driver (Myron Stowe) [1732357] - [netdrv] mlx4: fix spelling mistake "veify" -> "verify" (Alaa Hleihel) [1724340] - [netdrv] IB/mlx4: Fix memory leaks (Alaa Hleihel) [1724340] - [netdrv] net/mlx4_en: fix a memory leak bug (Alaa Hleihel) [1724340] - [netdrv] IB/mlx4: Delete unused func arg (Alaa Hleihel) [1724340] - [netdrv] net/mlx4_en: ethtool, Remove unsupported SFP EEPROM high pages query (Alaa Hleihel) [1724340 1724339] - [netdrv] net/mlx4_core: Change the error print to info print (Alaa Hleihel) [1724340 1724339] - [netdrv] mlx4: Convert pv_id_table to XArray (Alaa Hleihel) [1724340 1724339] - [netdrv] IB/mlx4: Fix race condition between catas error reset and aliasguid flows (Alaa Hleihel) [1724340 1724338] - [netdrv] net/mlx4_core: Fix qp mtt size calculation (Alaa Hleihel) [1724340 1724338] - [netdrv] net/mlx4_core: Fix locking in SRIOV mode when switching between events and polling (Alaa Hleihel) [1724340 1724338] - [netdrv] net/mlx4_core: Fix reset flow when in command polling mode (Alaa Hleihel) [1724340 1724338] - [netdrv] mellanox: Switch to bitmap_zalloc() (Alaa Hleihel) [1724340 1724338] - [netdrv] IB/mlx4: Increase the timeout for CM cache (Alaa Hleihel) [1724340 1724338] - [netdrv] net/mlx4_core: A write memory barrier is sufficient in EQ ci update (Alaa Hleihel) [1724340 1724338] - [netdrv] net/mlx4: Mark expected switch fall-through (Alaa Hleihel) [1724340 1724338] - [netdrv] net/mlx4: remove unneeded semicolon (Alaa Hleihel) [1724340 1724338] - [parport] parport: parport_serial: Add support for Sunix Multi I/O boards (John Linville) [1663781] - [tty] serial: 8250_pci: Add support for Sunix serial boards (John Linville) [1663781] - [scsi] hpsa: update driver version (Joseph Szczypek) [1761968] - [scsi] scsi: hpsa: add missing hunks in reset-patch (Joseph Szczypek) [1761968] - [netdrv] igc: Clean up unused shadow_vfta pointer (David Arcari) [1721713] - [netdrv] igc: Add Rx checksum support (David Arcari) [1721713] - [netdrv] igc: Add set_rx_mode support (David Arcari) [1721713] - [netdrv] igc: Add SCTP CRC checksumming functionality (David Arcari) [1721713] - [netdrv] igc: Add tx_csum offload functionality (David Arcari) [1721713] - [netdrv] igc: Remove unneeded PCI bus defines (David Arcari) [1721713] - [netdrv] igc: Add NVM checksum validation (David Arcari) [1721713] - [netdrv] igc: Remove useless forward declaration (David Arcari) [1721713] - [netdrv] ethernet: Delete unnecessary checks before the macro call dev_kfree_skb (David Arcari) [1721713] - [netdrv] igc: Add more SKUs for i225 device (David Arcari) [1721713] - [netdrv] igc: Update the MAC reset flow (David Arcari) [1721713] - [netdrv] igc: Remove the unused field from a device specification structure (David Arcari) [1721713] - [netdrv] igc: Remove the polarity field from a PHY information structure (David Arcari) [1721713] - [netdrv] net: Use skb accessors in network drivers (David Arcari) [1721713] - [netdrv] igc: Prefer pcie_capability_read_word() (David Arcari) [1721713] - [netdrv] igc: Cleanup the redundant code (David Arcari) [1721713] - [netdrv] igc: Add flow control support (David Arcari) [1721713] - [netdrv] igc: Remove the obsolete workaround (David Arcari) [1721713] - [netdrv] igc: Clean up unused pointers (David Arcari) [1721713] - [netdrv] igc: Fix double definitions (David Arcari) [1721713] - [netdrv] igb/igc: warn when fatal read failure happens (David Arcari) [1721713] - [scsi] scsi: qla2xxx: Fix different size DMA Alloc/Unmap (Himanshu Madhani) [1753031] - [scsi] qla2xxx: call dma_free_coherent with correct size in all cases in qla24xx_sp_unmap (Himanshu Madhani) [1753031] - [arm64] crypto: arm64/crc32 - remove PMULL based CRC32 driver (Mark Salter) [1742821] - [arm64] arm64/lib: improve CRC32 performance for deep pipelines (Mark Salter) [1742821] - [arm64] arm64/lib: add accelerated crc32 routines (Mark Salter) [1742821] - [arm64] arm64: cpufeature: add feature for CRC32 instructions (Mark Salter) [1742821] - [lib] lib/crc32: make core crc32() routines weak so they can be overridden (Mark Salter) [1742821] - [arm64] arm64: cpu: Move errata and feature enable callbacks closer to callers (Mark Salter) [1742821] - [arm64] arm64: kill config_sctlr_el1() (Mark Salter) [1742821] - [include] ethtool: Add SFF-8436 and SFF-8636 max EEPROM length definitions (Petr Oros) [1757522] - [net] bridge/mdb: remove wrong use of NLM_F_MULTI (Hangbin Liu) [1756799] - [net] bridge: mcast: don't delete permanent entries when fast leave is enabled (Hangbin Liu) [1756799] - [net] bridge: multicast: use rcu to access port list from br_multicast_start_querier (Hangbin Liu) [1756799] - [net] bridge: Fix ethernet header pointer before check skb forwardable (Hangbin Liu) [1756799] - [net] clear skb->tstamp in bridge forwarding path (Hangbin Liu) [1756799] - [net] bridge: br_arp_nd_proxy: set icmp6_router if neigh has NTF_ROUTER (Hangbin Liu) [1756799] - [net] vlan: Inherit MPLS features from parent device (Hangbin Liu) [1724306] - [netdrv] linux/dim: Fix overflow in dim calculation (Ivan Vecera) [1737807] - [lib] dim: Fix -Wunused-const-variable warnings (Ivan Vecera) [1737807] - [lib] linux/dim: Add completions count to dim_sample (Ivan Vecera) [1737807] - [netdrv] linux/dim: Move implementation to .c files (Ivan Vecera) [1737807] - [netdrv] linux/dim: Rename externally used net_dim members (Ivan Vecera) [1737807] - [netdrv] linux/dim: Rename net_dim_sample() to net_dim_update_sample() (Ivan Vecera) [1737807] - [netdrv] linux/dim: Rename externally exposed macros (Ivan Vecera) [1737807] - [include] linux/dim: Remove "net" prefix from internal DIM members (Ivan Vecera) [1737807] - [include] linux/dim: Move logic to dim.h (Ivan Vecera) [1737807] - [tools] selftests: add a test case for cls_lower handle overflow (Ivan Vecera) [1761512] - [net] idr: introduce idr_for_each_entry_continue_ul() (Ivan Vecera) [1761512] - [net] idr: fix overflow case for idr_for_each_entry_ul() (Ivan Vecera) [1761512] - [net] sctp: add chunks to sk_backlog when the newsk sk_socket is not set (Xin Long) [1734271] - [net] netns: enable to dump full nsid translation table (Petr Oros) [1757748] - [net] netns: enable to specify a nsid for a get request (Petr Oros) [1757748] - [net] netns: add support of NETNSA_TARGET_NSID (Petr Oros) [1757748] - [net] netns: introduce 'struct net_fill_args' (Petr Oros) [1757748] - [net] netns: remove net arg from rtnl_net_fill() (Petr Oros) [1757748] - [net] mpls: fix warning with multi-label encap (Hangbin Liu) [1756788] - [net] mpls: Return error for RTA_GATEWAY attribute (Hangbin Liu) [1756788] - [net] macsec: drop skb sk before calling gro_cells_receive (Xin Long) [1745819] - [net] team: add ethtool get_link_ksettings (Hangbin Liu) [1724896] - [net] sched: flower: don't call synchronize_rcu() on mask creation (Ivan Vecera) [1751856] - [net] sched: flower: refactor reoffload for concurrent access (Ivan Vecera) [1751856] - [net] sched: flower: fix filter net reference counting (Ivan Vecera) [1751856] - [net] sched: flower: use correct ht function to prevent duplicates (Ivan Vecera) [1751856] - [net] sched: flower: insert filter to ht before offloading it to hw (Ivan Vecera) [1751856] - [net] sched: ensure tc flower reoffload takes filter ref (Ivan Vecera) [1751856] - [net] sched: flower: set unlocked flag for flower proto ops (Ivan Vecera) [1751856] - [net] sched: flower: track rtnl lock state (Ivan Vecera) [1751856] - [net] sched: flower: protect flower classifier state with spinlock (Ivan Vecera) [1751856] - [net] sched: flower: handle concurrent tcf proto deletion (Ivan Vecera) [1751856] - [net] sched: flower: handle concurrent filter insertion in fl_change (Ivan Vecera) [1751856] - [net] sched: flower: protect masks list with spinlock (Ivan Vecera) [1751856] - [net] sched: flower: handle concurrent mask insertion (Ivan Vecera) [1751856] - [net] sched: flower: add reference counter to flower mask (Ivan Vecera) [1751856] - [net] sched: flower: track filter deletion with flag (Ivan Vecera) [1751856] - [net] sched: flower: introduce reference counting for filters (Ivan Vecera) [1751856] - [net] sched: flower: refactor fl_change (Ivan Vecera) [1751856] - [net] sched: flower: don't check for rtnl on head dereference (Ivan Vecera) [1751856] - [kernel] exit from RHEL 8.2 early ystream mode (Phillip Lougher)- [x86] kvm: svm: Remove unneeded WBINVD and DF_FLUSH when starting SEV guests (Janakarajan Natarajan) [1762517] - [x86] kvm: svm: Reduce WBINVD/DF_FLUSH invocations (Janakarajan Natarajan) [1762517] - [x86] kvm: svm: Guard against DEACTIVATE when performing WBINVD/DF_FLUSH (Janakarajan Natarajan) [1762517] - [x86] kvm: svm: Serialize access to the SEV ASID bitmap (Janakarajan Natarajan) [1762517] - [xen] remove pre-xen3 fallback handlers (Vitaly Kuznetsov) [1759997] - [net] SUNRPC: Count ops completing with tk_status < 0 (Dave Wysochanski) [1636572] - [net] SUNRPC: Use proper printk specifiers for unsigned long long (Dave Wysochanski) [1636572] - [net] SUNRPC: Move call to rpc_count_iostats before rpc_call_done (Dave Wysochanski) [1636572] - [net] SUNRPC: Add tracking of RPC level errors (Dave Wysochanski) [1636572] - [net] SUNRPC: Refactor rpc_restart_call/rpc_restart_call_prepare (Dave Wysochanski) [1636572] - [net] SUNRPC: Fix up task signalling (Dave Wysochanski) [1636572] - [net] SUNRPC: Track writers of the 'channel' file to improve cache_listeners_exist (Dave Wysochanski) [1741333] - [net] sunrpc/cache: handle missing listeners better. (Dave Wysochanski) [1741333] - [pci] PCI/ACPI: Advertise _HPX Type 3 support via _OSC (Myron Stowe) [1712756] - [pci] PCI/ACPI: Implement _HPX Type 3 Setting Record (Myron Stowe) [1712756] - [netdrv] e1000e: Add support for Comet Lake (David Arcari) [1764549] - [netdrv] e1000e: Add support for S0ix (Ken Cox) [1721709] - [netdrv] e1000e: Make speed detection on hotplugging cable more reliable (Ken Cox) [1721709] - [netdrv] ethernet: Delete unnecessary checks before the macro call dev_kfree_skb (Ken Cox) [1721709] - [netdrv] e1000e: add workaround for possible stalled packet (Ken Cox) [1721709] - [netdrv] e1000e: Use dev_get_drvdata where possible (Ken Cox) [1721709] - [netdrv] net: Use skb accessors in network drivers (Ken Cox) [1721709] - [netdrv] e1000e: PCIm function state support (Ken Cox) [1721709] - [netdrv] e1000e: Make watchdog use delayed work (Ken Cox) [1721709] - [netdrv] e1000e: Reduce boot time by tightening sleep ranges (Ken Cox) [1721709] - [netdrv] e1000e: Increase pause and refresh time (Ken Cox) [1721709] - [scsi] scsi: megaraid_sas: Introduce module parameter for default queue depth (Tomas Henzl) [1726251] - [scsi] scsi: megaraid_sas: Fix a compilation warning (Tomas Henzl) [1726251] - [scsi] scsi: megaraid_sas: Make a bunch of functions static (Tomas Henzl) [1726251] - [scsi] scsi: megaraid_sas: Make some functions static (Tomas Henzl) [1726251] - [scsi] scsi: megaraid_sas: fix panic on loading firmware crashdump (Tomas Henzl) [1726251] - [scsi] scsi: megaraid_sas: fix spelling mistake "megarid_sas" -> "megaraid_sas" (Tomas Henzl) [1726251] - [scsi] scsi: megaraid_sas: Update driver version to 07.710.50.00 (Tomas Henzl) [1726251] - [scsi] scsi: megaraid_sas: Add module parameter for FW Async event logging (Tomas Henzl) [1726251] - [scsi] scsi: megaraid_sas: Enable msix_load_balance for Invader and later controllers (Tomas Henzl) [1726251] - [scsi] scsi: megaraid_sas: Fix calculation of target ID (Tomas Henzl) [1726251] - [scsi] scsi: megaraid_sas: Make some symbols static (Tomas Henzl) [1726251] - [scsi] scsi: megaraid_sas: Update driver version to 07.710.06.00-rc1 (Tomas Henzl) [1726251] - [scsi] scsi: megaraid_sas: Introduce various Aero performance modes (Tomas Henzl) [1726251] - [scsi] scsi: megaraid_sas: Use high IOPS queues based on IO workload (Tomas Henzl) [1726251] - [scsi] scsi: megaraid_sas: Set affinity for high IOPS reply queues (Tomas Henzl) [1726251] - [scsi] scsi: megaraid_sas: Enable coalescing for high IOPS queues (Tomas Henzl) [1726251] - [scsi] scsi: megaraid_sas: Add support for High IOPS queues (Tomas Henzl) [1726251] - [scsi] scsi: megaraid_sas: Add support for MPI toolbox commands (Tomas Henzl) [1726251] - [scsi] scsi: megaraid_sas: Offload Aero RAID5/6 division calculations to driver (Tomas Henzl) [1726251] - [scsi] scsi: megaraid_sas: RAID1 PCI bandwidth limit algorithm is applicable for only Ventura (Tomas Henzl) [1726251] - [scsi] scsi: megaraid_sas: megaraid_sas: Add check for count returned by HOST_DEVICE_LIST DCMD (Tomas Henzl) [1726251] - [scsi] scsi: megaraid_sas: Handle sequence JBOD map failure at driver level (Tomas Henzl) [1726251] - [scsi] scsi: megaraid_sas: Don't send FPIO to RL Bypass queue (Tomas Henzl) [1726251] - [scsi] scsi: megaraid_sas: In probe context, retry IOC INIT once if firmware is in fault (Tomas Henzl) [1726251] - [scsi] scsi: megaraid_sas: Release Mutex lock before OCR in case of DCMD timeout (Tomas Henzl) [1726251] - [scsi] scsi: megaraid_sas: Call disable_irq from process IRQ poll (Tomas Henzl) [1726251] - [scsi] scsi: megaraid_sas: Remove few debug counters from IO path (Tomas Henzl) [1726251] - [scsi] scsi: megaraid_sas: Add support for Non-secure Aero PCI IDs (Tomas Henzl) [1726251] - [scsi] scsi: megaraid_sas: Add 32 bit atomic descriptor support to AERO adapters (Tomas Henzl) [1726251] - [scsi] scsi: megaraid_sas: Use struct_size() helper (Tomas Henzl) [1726251] - [scsi] scsi: megaraid_sas: Remove unused including (Tomas Henzl) [1726251] - [scsi] scsi: megaraid_sas: use DEVICE_ATTR_{RO, RW} (Tomas Henzl) [1726251] - [scsi] scsi: megaraid_sas: use octal permissions instead of constants (Tomas Henzl) [1726251] - [scsi] scsi: megaraid_sas: make max_sectors visible in sys (Tomas Henzl) [1726251] - [scsi] scsi: megaraid_sas: remove set but not used variables 'buff_addr' and 'ci_h' (Tomas Henzl) [1726251] - [scsi] scsi: megaraid_sas: remove set but not used variable 'sge_sz' (Tomas Henzl) [1726251] - [scsi] scsi: megaraid_sas: remove set but not used variables 'host' and 'wait_time' (Tomas Henzl) [1726251] - [scsi] scsi: megaraid_sas: remove set but not used variable 'cur_state' (Tomas Henzl) [1726251] - [scsi] scsi: megaraid_sas: Update driver version to 07.708.03.00 (Tomas Henzl) [1726251] - [scsi] scsi: megaraid_sas: Export RAID map through debugfs (Tomas Henzl) [1726251] - [scsi] scsi: megaraid_sas: Fix MSI-X vector print (Tomas Henzl) [1726251] - [scsi] scsi: megaraid_sas: Add debug prints for device list (Tomas Henzl) [1726251] - [scsi] scsi: megaraid_sas: Add prints in suspend and resume path (Tomas Henzl) [1726251] - [scsi] scsi: megaraid_sas: Print firmware interrupt status (Tomas Henzl) [1726251] - [scsi] scsi: megaraid_sas: Print FW fault information (Tomas Henzl) [1726251] - [scsi] scsi: megaraid_sas: Export RAID map id through sysfs (Tomas Henzl) [1726251] - [scsi] scsi: megaraid_sas: Print BAR information from driver (Tomas Henzl) [1726251] - [scsi] scsi: megaraid_sas: Dump system registers for debugging (Tomas Henzl) [1726251] - [scsi] scsi: megaraid_sas: Dump system interface regs from sysfs (Tomas Henzl) [1726251] - [scsi] scsi: megaraid_sas: Add formatting option for megasas_dump (Tomas Henzl) [1726251] - [scsi] scsi: megaraid_sas: Enhance internal DCMD timeout prints (Tomas Henzl) [1726251] - [scsi] scsi: megaraid_sas: Enhance prints in OCR and TM path (Tomas Henzl) [1726251] - [scsi] scsi: megaraid_sas: Load balance completions across all MSI-X (Tomas Henzl) [1726251] - [scsi] scsi: megaraid_sas: IRQ poll to avoid CPU hard lockups (Tomas Henzl) [1726251] - [scsi] scsi: megaraid_sas: Block PCI config space access from userspace during OCR (Tomas Henzl) [1726251] - [scsi] scsi: megaraid_sas: Rework code around controller reset (Tomas Henzl) [1726251] - [scsi] scsi: megaraid_sas: fw_reset_no_pci_access required for MFI adapters only (Tomas Henzl) [1726251] - [scsi] scsi: megaraid_sas: Remove unused variable target_index (Tomas Henzl) [1726251] - [x86] perf/x86/msr: Add Comet Lake CPU support (Michael Petlan) [1763290] - [x86] perf/x86/intel: Add Comet Lake CPU support (Michael Petlan) [1763290] - [x86] perf/x86/cstate: Add Comet Lake CPU support (Michael Petlan) [1763290] - [x86] perf/x86/intel: Update KBL Package C-state events to also include PC8/PC9/PC10 counters (Michael Petlan) [1763290] - [x86] x86/cpu: Add Comet Lake to the Intel CPU models header (Michael Petlan) [1763290] - [s390] s390/qeth: reject oversized SNMP requests (Philipp Rudo) [1726414] - [s390] s390/qeth: serialize cmd reply with concurrent timeout (Philipp Rudo) [1726414] - [s390] s390/qeth: move cast type selection into fill_header() (Philipp Rudo) [1726414] - [s390] s390/qeth: extract helper for route validation (Philipp Rudo) [1726414] - [s390] s390/qeth: consolidate skb RX processing in L3 driver (Philipp Rudo) [1726414] - [s390] s390/qeth: consolidate pm code (Philipp Rudo) [1726414] - [s390] s390/qeth: streamline SNMP cmd code (Philipp Rudo) [1726414] - [s390] s390/qeth: remove static cmd buffer infrastructure (Philipp Rudo) [1726414] - [s390] s390/qeth: dynamically allocate MPC cmds (Philipp Rudo) [1726414] - [s390] s390/qeth: dynamically allocate vnicc cmds (Philipp Rudo) [1726414] - [s390] s390/qeth: dynamically allocate diag cmds (Philipp Rudo) [1726414] - [s390] s390/qeth: dynamically allocate various cmds with sub-types (Philipp Rudo) [1726414] - [s390] s390/qeth: clarify parameter for simple assist cmds (Philipp Rudo) [1726414] - [s390] s390/qeth: dynamically allocate simple IPA cmds (Philipp Rudo) [1726414] - [s390] s390/qeth: allocate a single cmd on read channel (Philipp Rudo) [1726414] - [s390] s390/qeth: command-chain the IDX sequence (Philipp Rudo) [1726414] - [s390] s390/qeth: convert RCD code to common IO infrastructure (Philipp Rudo) [1726414] - [s390] s390/qeth: add support for dynamically allocated cmds (Philipp Rudo) [1726414] - [s390] s390/qeth: remove 'channel' parameter from callbacks (Philipp Rudo) [1726414] - [s390] s390/qeth: convert device-specific trace entries (Philipp Rudo) [1726414] - [s390] s390/qeth: remove OSN-specific IO code (Philipp Rudo) [1726414] - [s390] s390/qeth: remove qeth_wait_for_buffer() (Philipp Rudo) [1726414] - [s390] s390/qeth: clean up setting of BLKT defaults (Philipp Rudo) [1726414] - [s390] s390/qeth: restart pending READ cmd from callback (Philipp Rudo) [1726414] - [s390] s390/qeth: simplify DOWN state handling (Philipp Rudo) [1726414] - [s390] s390/qeth: use mm helpers (Philipp Rudo) [1726414] - [s390] s390/qeth: don't mask TX errors on IQD devices (Philipp Rudo) [1726414] - [s390] s390/qeth: handle error when updating TX queue count (Philipp Rudo) [1726414] - [s390] s390/qeth: fix VLAN attribute in bridge_hostnotify udev event (Philipp Rudo) [1726414] - [s390] s390/qeth: check dst entry before use (Philipp Rudo) [1726414] - [s390] s390/qeth: handle limited IPv4 broadcast in L3 TX path (Philipp Rudo) [1726414] - [s390] s390/qeth: trust non-IP cast type in qeth_l3_fill_header() (Philipp Rudo) [1726414] - [s390] s390/qeth: extract helper to determine L2 cast type (Philipp Rudo) [1726414] - [s390] s390/qeth: cache max number of available buffer elements (Philipp Rudo) [1726414] - [s390] s390/qeth: don't clear Output buffers on every queue init (Philipp Rudo) [1726414] - [s390] s390/qeth: use IS_* helpers for checking device type (Philipp Rudo) [1726414] - [s390] s390/qeth: clean up stale buffer state documentation (Philipp Rudo) [1726414] - [s390] s390/qeth: remove RX seqno in skb->cb (Philipp Rudo) [1726414] - [s390] s390: qeth: address type mismatch warning (Philipp Rudo) [1726414] - [s390] s390/qeth: stop/wake TX queues based on their fill level (Philipp Rudo) [1726414] - [s390] s390/qeth: simplify QoS code (Philipp Rudo) [1726414] - [s390] s390/qeth: add TX multiqueue support for OSA devices (Philipp Rudo) [1726414] - [s390] s390/qeth: add TX multiqueue support for IQD devices (Philipp Rudo) [1726414] - [s390] s390/qeth: don't keep statistics for tx timeout (Philipp Rudo) [1726414] - [s390] s390/qeth: don't bother updating the last-tx time (Philipp Rudo) [1726414] - [s390] s390/qeth: handle error from qeth_update_from_chp_desc() (Philipp Rudo) [1726414] - [s390] s390/qeth: clarify naming for some QDIO helpers (Philipp Rudo) [1726414] - [s390] s390/qeth: send IDX cmds via qeth_send_control_data() (Philipp Rudo) [1726414] - [s390] s390/qeth: use callback to finalize cmd (Philipp Rudo) [1726414] - [s390] s390/qeth: let qeth_notify_reply() set the notify reason (Philipp Rudo) [1726414] - [s390] s390/qeth: clarify default cmd callback (Philipp Rudo) [1726414] - [s390] s390/qeth: don't poll for cmd IO completion (Philipp Rudo) [1726414] - [s390] s390/qeth: convert IP table spinlock to mutex (Philipp Rudo) [1726414] - [s390] s390/qeth: defer IPv6 address notifier events (Philipp Rudo) [1726414] - [s390] s390/qeth: add wrapper for IP table access (Philipp Rudo) [1726414] - [s390] s390/qeth: remove locking for RX modeset cache (Philipp Rudo) [1726414] - [s390] s390/qeth: defer RX modesetting (Philipp Rudo) [1726414] - [s390] s390/qeth: fix race when initializing the IP address table (Philipp Rudo) [1726414] - [s390] s390/qeth: don't erase configuration while probing (Philipp Rudo) [1726414] - [s390] s390/qeth: drop redundant state checking (Philipp Rudo) [1726414] - [s390] s390/qeth: don't special-case HW trap during suspend (Philipp Rudo) [1726414] - [s390] s390/qeth: remove driver-wide workqueue (Philipp Rudo) [1726414] - [s390] s390/qeth: don't defer close_dev work during recovery (Philipp Rudo) [1726414] - [s390] s390/qeth: remove a redundant check for card->dev (Philipp Rudo) [1726414] - [s390] s390/qeth: call dev_close() during recovery (Philipp Rudo) [1726414] - [s390] s390/qeth: unconditionally clear MAC_REGISTERED flag (Philipp Rudo) [1726414] - [s390] s390/qeth: enable/disable the HW trap a little earlier (Philipp Rudo) [1726414] - [s390] s390/qeth: remove RECOVER state (Philipp Rudo) [1726414] - [s390] s390/qeth: split out OSN netdev ops (Philipp Rudo) [1726414] - [s390] s390/qeth: add support for ETHTOOL_GRINGPARAM (Philipp Rudo) [1726414] - [s390] s390/qeth: overhaul ethtool statistics (Philipp Rudo) [1726414] - [s390] s390/qeth: move ethtool code into its own file (Philipp Rudo) [1726414] - [s390] s390/qeth: reduce ethtool statistics (Philipp Rudo) [1726414] - [s390] s390/qeth: use a static Output Queue array (Philipp Rudo) [1726414] - [s390] s390/qeth: allow manual recovery when device is SOFTSETUP (Philipp Rudo) [1726414] - [s390] s390/qeth: convert remaining legacy cmd callbacks (Philipp Rudo) [1726414] - [s390] s390/qeth: convert bridgeport callbacks (Philipp Rudo) [1726414] - [s390] s390/qeth: allow cmd callbacks to return errnos (Philipp Rudo) [1726414] - [s390] s390/qeth: limit trace to valid data of command request (Philipp Rudo) [1726414] - [s390] s390/qeth: align csum offload with TSO control logic (Philipp Rudo) [1726414] - [s390] s390/qeth: enable only required csum offload features (Philipp Rudo) [1726414] - [s390] s390/qeth: consolidate filling of low-level cmd length fields (Philipp Rudo) [1726414] - [s390] s390/qeth: reduce data length for ARP cache query (Philipp Rudo) [1726414] - [s390] s390/qeth: remove VLAN tracking for L2 devices (Philipp Rudo) [1726414] - [s390] s390/qeth: detach netdevice while card is offline (Philipp Rudo) [1726414] - [s390] s390/qeth: delay netdevice registration (Philipp Rudo) [1726414] - [s390] s390/qeth: remove TX disable from online path (Philipp Rudo) [1726414] - [s390] s390/qeth: register MAC address earlier (Philipp Rudo) [1726414] - [s390] s390/qeth: consolidate open/stop netdev ops (Philipp Rudo) [1726414] - [s390] s390/qeth: remove bogus netif_wake_queue() (Philipp Rudo) [1726414] - [s390] s390/qeth: streamline TX buffer management (Philipp Rudo) [1726414] - [s390] s390/qeth: don't process hsuid in qeth_l3_setup_netdev() (Philipp Rudo) [1726414] - [s390] s390/qeth: remove unused fallback in Layer3's MAC code (Philipp Rudo) [1726414] - [s390] s390/qeth: remove two IPA command helpers (Philipp Rudo) [1726414] - [s390] s390/qeth: replace open-coded cmd setup (Philipp Rudo) [1726414] - [s390] s390/qeth: remove card list (Philipp Rudo) [1726414] - [s390] s390/qeth: unify transmit code (Philipp Rudo) [1726414] - [s390] s390/qeth: handle af_iucv skbs in qeth_l3_fill_header() (Philipp Rudo) [1726414] - [s390] s390/qeth: sanitize ARP requests (Philipp Rudo) [1726414] - [s390] s390/qdio: restrict QAOB usage to IQD unicast queues (Philipp Rudo) [1726414] - [s390] s390/qdio: add sanity checks to the fast-requeue path (Philipp Rudo) [1726414] - [s390] s390/qdio: don't touch the dsci in tiqdio_add_input_queues() (Philipp Rudo) [1726414] - [s390] s390/qdio: (re-)initialize tiqdio list entries (Philipp Rudo) [1726414] - [s390] s390/qdio: optimize state inspection of HW-owned SBALs (Philipp Rudo) [1726414] - [s390] s390/qdio: use get_buf_state() in debug_get_buf_state() (Philipp Rudo) [1726414] - [s390] s390/qdio: allow to scan all Output SBALs in one go (Philipp Rudo) [1726414] - [s390] s390/qdio: consolidate index tracking for queue scan (Philipp Rudo) [1726414] - [s390] s390/qdio: limit direct access to first_to_check cursor (Philipp Rudo) [1726414] - [s390] s390/qdio: eliminate queue's last_move cursor (Philipp Rudo) [1726414] - [s390] s390/qdio: simplify SBAL range calculation (Philipp Rudo) [1726414] - [s390] s390/qdio: pass up count of ready-to-process SBALs (Philipp Rudo) [1726414] - [s390] s390/qdio: fix output of DSCI value in debug file (Philipp Rudo) [1726414] - [s390] s390/qdio: clean up qdio_check_outbound_after_thinint() (Philipp Rudo) [1726414] - [s390] s390/qdio: clean up pci_out_supported() (Philipp Rudo) [1726414] - [s390] s390/qdio: make SBAL address array type-safe (Philipp Rudo) [1726414] - [s390] s390/qdio: clean up AOB handling (Philipp Rudo) [1726414] - [s390] s390/ccwgroup: add get_ccwgroupdev_by_busid() (Philipp Rudo) [1726414]- [net] xprtrdma: Remove stale comment (Kamal Heib) [1720891] - [net] xprtrdma: Update comments that reference ib_drain_qp (Kamal Heib) [1720891] - [net] xprtrdma: Remove pr_err() call sites from completion handlers (Kamal Heib) [1720891] - [net] xprtrdma: Eliminate struct rpcrdma_create_data_internal (Kamal Heib) [1720891] - [net] xprtrdma: Aggregate the inline settings in struct rpcrdma_ep (Kamal Heib) [1720891] - [net] xprtrdma: Remove rpcrdma_create_data_internal::rsize and wsize (Kamal Heib) [1720891] - [net] xprtrdma: Eliminate rpcrdma_ia::ri_device (Kamal Heib) [1720891] - [net] xprtrdma: More Send completion batching (Kamal Heib) [1720891] - [net] xprtrdma: Clean up sendctx functions (Kamal Heib) [1720891] - [net] xprtrdma: Trace marshaling failures (Kamal Heib) [1720891] - [net] xprtrdma: Increase maximum number of backchannel requests (Kamal Heib) [1720891] - [net] xprtrdma: Backchannel can use GFP_KERNEL allocations (Kamal Heib) [1720891] - [net] xprtrdma: Clean up regbuf helpers (Kamal Heib) [1720891] - [net] xprtrdma: De-duplicate "allocate new, free old regbuf" (Kamal Heib) [1720891] - [net] xprtrdma: Allocate req's regbufs at xprt create time (Kamal Heib) [1720891] - [net] xprtrdma: rpcrdma_regbuf alignment (Kamal Heib) [1720891] - [net] xprtrdma: Clean up rpcrdma_create_rep() and rpcrdma_destroy_rep() (Kamal Heib) [1720891] - [net] xprtrdma: Clean up rpcrdma_create_req() (Kamal Heib) [1720891] - [scsi] treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 502 (Kamal Heib) [1720891] - [infiniband] treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 288 (Kamal Heib) [1720891] - [net] xprtrdma: Use struct_size() in kzalloc() (Kamal Heib) [1720891] - [infiniband] RDMA/core: Fix panic when port_data isn't initialized (Kamal Heib) [1720891] - [infiniband] RDMA/uverbs: Pass udata on uverbs error unwind (Kamal Heib) [1720891] - [infiniband] RDMA/core: Clear out the udata before error unwind (Kamal Heib) [1720891] - [infiniband] RDMA/srp: Rename SRP sysfs name after IB device rename trigger (Kamal Heib) [1720891] - [infiniband] treewide: Add SPDX license identifier - Makefile/Kconfig (Kamal Heib) [1720891] - [infiniband] RDMA/core: Change system parameters callback from dumpit to doit (Kamal Heib) [1720891] - [infiniband] RDMA: Directly cast the sockaddr union to sockaddr (Kamal Heib) [1720891] - [infiniband] RDMA/ipoib: Allow user space differentiate between valid dev_port (Kamal Heib) [1720891] - [infiniband] RDMA/device: Don't fire uevent before device is fully initialized (Kamal Heib) [1720891] - [infiniband] RDMA/umem: Remove hugetlb flag (Kamal Heib) [1720891] - [infiniband] RDMA/bnxt_re: Use core helpers to get aligned DMA address (Kamal Heib) [1720891] - [infiniband] RDMA/bnxt_re: Use for_each_sg_dma_page iterator on umem SGL (Kamal Heib) [1720891] - [infiniband] RDMA/i40iw: Use core helpers to get aligned DMA address within a supported page size (Kamal Heib) [1720891] - [infiniband] RDMA/i40iw: Use for_each_sg_dma_page iterator on umem SGL (Kamal Heib) [1720891] - [infiniband] RDMA/verbs: Add a DMA iterator to return aligned contiguous memory blocks (Kamal Heib) [1720891] - [infiniband] RDMA/umem: Add API to find best driver supported page size in an MR (Kamal Heib) [1720891] - [infiniband] RDMA/core: Allow detaching gid attribute netdevice for RoCE (Kamal Heib) [1720891] - [infiniband] RDMA/rxe: Use rdma_read_gid_attr_ndev_rcu to access netdev (Kamal Heib) [1720891] - [infiniband] RDMA/cma: Use rdma_read_gid_attr_ndev_rcu to access netdev (Kamal Heib) [1720891] - [infiniband] RDMA: Introduce and use GID attr helper to read RoCE L2 fields (Kamal Heib) [1720891] - [infiniband] RDMA/hns: Add vlan enable bit for hip08 (Kamal Heib) [1720891] - [infiniband] RDMA/hns: Update some fields of qp context (Kamal Heib) [1720891] - [infiniband] RDMA/hns: Delete unused variable in hns_roce_v2_modify_qp function (Kamal Heib) [1720891] - [infiniband] RDMA/hns: Add enable judgement for UD vlan (Kamal Heib) [1720891] - [infiniband] IB/mlx5: Consider vlan of lower netdev for macvlan GID entries (Kamal Heib) [1720891] - [infiniband] IB/cm: Reduce dependency on gid attribute ndev check (Kamal Heib) [1720891] - [infiniband] RDMA/rxe: Consider skb reserve space based on netdev of GID (Kamal Heib) [1720891] - [infiniband] RDMA: Get rid of iw_cm_verbs (Kamal Heib) [1720891] - [infiniband] RDMA/cxgb4: Use ib_device_set_netdev() (Kamal Heib) [1720891] - [infiniband] RDMA/core: Do not invoke init_port on compat devices (Kamal Heib) [1720891] - [infiniband] IB/core: Set qp->real_qp before it may be accessed (Kamal Heib) [1720891] - [infiniband] RDMA/uverbs: Initialize uverbs_attr_bundle ucontext in ib_uverbs_get_context (Kamal Heib) [1720891] - [infiniband] RDMA/uverbs: Initialize udata struct on destroy flows (Kamal Heib) [1720891] - [infiniband] RDMA/umem: Handle page combining avoidance correctly in ib_umem_add_sg_table() (Kamal Heib) [1720891] - [infiniband] RDMA/core: Introduce RDMA subsystem ibdev_* print functions (Kamal Heib) [1720891] - [infiniband] uverbs: Convert idr to XArray (Kamal Heib) [1720891] - [infiniband] RDMA: Remove rdma_user_mmap_page (Kamal Heib) [1720891] - [infiniband] RDMA/mlx5: Use get_zeroed_page() for clock_info (Kamal Heib) [1720891] - [infiniband] RDMA/mlx5: Do not allow the user to write to the clock page (Kamal Heib) [1720891] - [infiniband] RDMA/cma: Consider scope_id while binding to ipv6 ll address (Kamal Heib) [1720891] - [infiniband] IB/core: Allow vlan link local address based RoCE GIDs (Kamal Heib) [1720891] - [infiniband] RDMA/core: Add a netlink command to change net namespace of rdma device (Kamal Heib) [1720891] - [infiniband] RDMA/core: Introduce a helper function to change net namespace of rdma device (Kamal Heib) [1720891] - [infiniband] RDMA/core: Avoid freeing netdevs in disable_device() (Kamal Heib) [1720891] - [infiniband] RDMA/ocrdma: Remove use of idr use pci bdf instead (Kamal Heib) [1720891] - [infiniband] RDMA/drivers: Convert easy drivers to use ib_device_set_netdev() (Kamal Heib) [1720891] - [infiniband] RDMA/umem: Use correct value for SG entries in sg_copy_to_buffer() (Kamal Heib) [1720891] - [infiniband] RDMA: Handle SRQ allocations by IB/core (Kamal Heib) [1720891] - [infiniband] qedr: Convert srqidr to XArray (Kamal Heib) [1720891] - [infiniband] qedr: Convert qpidr to XArray (Kamal Heib) [1720891] - [infiniband] RDMA: Handle AH allocations by IB/core (Kamal Heib) [1720891] - [infiniband] RDMA/hns: Fix bad endianess of port_pd variable (Kamal Heib) [1720891] - [infiniband] RDMA/mad: Reduce MAD scope to mlx5_ib only (Kamal Heib) [1720891] - [infiniband] RDMA/ocrdma: Remove a set-but-not-used variable (Kamal Heib) [1720891] - [infiniband] RDMA/core: Support object allocation in atomic context (Kamal Heib) [1720891] - [infiniband] IB: When attrs.udata/ufile is available use that instead of uobject (Kamal Heib) [1720891] - [infiniband] RDMA/nldev: Return device protocol (Kamal Heib) [1720891] - [infiniband] RDMA/cm: Move debug counters to be under relevant IB device (Kamal Heib) [1720891] - [infiniband] RDMA/umem: Combine contiguous PAGE_SIZE regions in SGEs (Kamal Heib) [1720891] - [infiniband] RDMA/cm: Remove useless zeroing of static global variable (Kamal Heib) [1720891] - [infiniband] RDMA/cma: Set proper port number as index (Kamal Heib) [1720891] - [infiniband] IB: Pass only ib_udata in function prototypes (Kamal Heib) [1720891] - [infiniband] IB: Remove 'uobject->context' dependency in object destroy APIs (Kamal Heib) [1720891] - [infiniband] cxgb4: Convert mmidr to XArray (Kamal Heib) [1720891] - [infiniband] cxgb4: Convert qpidr to XArray (Kamal Heib) [1720891] - [infiniband] cxgb4: Convert cqidr to XArray (Kamal Heib) [1720891] - [infiniband] IB: Pass uverbs_attr_bundle down ib_x destroy path (Kamal Heib) [1720891] - [infiniband] IB: Pass uverbs_attr_bundle down uobject destroy path (Kamal Heib) [1720891] - [infiniband] IB: ucontext should be set properly for all cmd & ioctl paths (Kamal Heib) [1720891] - [infiniband] RDMA/core: Don't compare specific bit after boolean AND (Kamal Heib) [1720891] - [infiniband] RDMA/netlink: Remove unused data structure (Kamal Heib) [1720891] - [infiniband] RDMA/core: Add command to set ib_core device net namspace sharing mode (Kamal Heib) [1720891] - [infiniband] RDMA/core: Add interface to read device namespace sharing mode (Kamal Heib) [1720891] - [infiniband] RDMA/core: Extend ib_device_get_by_index for net namespace (Kamal Heib) [1720891] - [infiniband] RDMA: Check net namespace access for uverbs, umad, cma and nldev (Kamal Heib) [1720891] - [infiniband] RDMA/core: Add module param to disable device sharing among net ns (Kamal Heib) [1720891] - [infiniband] RDMA/core: Support core port attributes in non init_net (Kamal Heib) [1720891] - [infiniband] RDMA/core: Implement compat device/sysfs tree in net namespace (Kamal Heib) [1720891] - [infiniband] RDMA/core: Restrict sysfs entries view to init_net (Kamal Heib) [1720891] - [infiniband] RDMA/core: Introduce ib_core_device to hold device (Kamal Heib) [1720891] - [infiniband] RDMA/rxe: Use correct sizing on buffers holding page DMA addresses (Kamal Heib) [1720891] - [infiniband] RDMA/mthca: Use correct sizing on buffers holding page DMA addresses (Kamal Heib) [1720891] - [infiniband] RDMA/uverbs: Allow the compiler to verify declaration and definition consistency (Kamal Heib) [1720891] - [infiniband] RDMA/uverbs: Annotate uverbs_request_next_ptr() return value as a __user pointer (Kamal Heib) [1720891] - [infiniband] RDMA/uverbs: Add a __user annotation to a pointer (Kamal Heib) [1720891] - [infiniband] IB/rxe: Replace av->network_type with skb->protocol (Kamal Heib) [1720891] - [infiniband] IB/MAD: Add SMP details to MAD tracing (Kamal Heib) [1720891] - [infiniband] IB/UMAD: Add umad trace points (Kamal Heib) [1720891] - [infiniband] IB/MAD: Add agent trace points (Kamal Heib) [1720891] - [infiniband] IB/MAD: Add recv path trace point (Kamal Heib) [1720891] - [infiniband] IB/MAD: Add send path trace points (Kamal Heib) [1720891] - [infiniband] RDMA/vmw_pvrdma: Skip zeroing device attrs (Kamal Heib) [1720891] - [infiniband] IB/iser: remove uninitialized variable len (Kamal Heib) [1720891] - [infiniband] IB/core: Ensure an invalidate_range callback on ODP MR (Kamal Heib) [1720891] - [infiniband] RDMA/rxe: Fix slab-out-bounds access which lead to kernel crash later (Kamal Heib) [1720891] - [infiniband] drivers: infiniband: Fix whitespace in kconfig (Kamal Heib) [1720891] - [infiniband] RDMA/nes: remove redundant check on udata (Kamal Heib) [1720891] - [infiniband] cma: Convert portspace IDRs to XArray (Kamal Heib) [1720891] - [infiniband] ucm: Convert ctx_id_table to XArray (Kamal Heib) [1720891] - [infiniband] ib core: Convert query_idr to XArray (Kamal Heib) [1720891] - [infiniband] RDMA/cm: Convert local_id_table to XArray (Kamal Heib) [1720891] - [infiniband] IB/mad: Convert ib_mad_clients to XArray (Kamal Heib) [1720891] - [infiniband] RDMA: Use __packed annotation instead of __attribute__ ((packed)) (Kamal Heib) [1720891] - [char] tpm: Remove a deprecated comments about implicit sysfs locking (Jerry Snitselaar) [1725580 1742257] - [char] tpm_tis_core: Set TPM_CHIP_FLAG_IRQ before probing for interrupts (Jerry Snitselaar) [1725580 1742257] - [char] tpm_tis_core: Turn on the TPM before probing IRQ's (Jerry Snitselaar) [1725580 1742257] - [char] tpm: Fix null pointer dereference on chip register error path (Jerry Snitselaar) [1725580 1742257] - [char] tpm: Fix TPM 1.2 Shutdown sequence to prevent future TPM operations (Jerry Snitselaar) [1725580 1742257] - [char] tpm: Actually fail on TPM errors during "get random" (Jerry Snitselaar) [1725580 1742257] - [char] tpm: Replace GPLv2 boilerplate/reference with SPDX - rule 505 (Jerry Snitselaar) [1725580 1742257] - [char] tpm: Replace GPLv2 boilerplate/reference with SPDX - rule 500 (Jerry Snitselaar) [1725580 1742257] - [char] tpm: Replace GPLv2 boilerplate/reference with SPDX - rule 441 (Jerry Snitselaar) [1725580 1742257] - [char] tpm: Replace GPLv2 boilerplate/reference with SPDX - rule 399 (Jerry Snitselaar) [1725580 1742257] - [char] tpm: Replace GPLv2 boilerplate/reference with SPDX - rule 152 (Jerry Snitselaar) [1725580 1742257] - [char] tpm: Replace GPLv2 boilerplate/reference with SPDX - rule 13 (Jerry Snitselaar) [1725580 1742257] - [char] tpm: Add SPDX license identifier - Makefile/Kconfig (Jerry Snitselaar) [1725580 1742257] - [tools] selftests/tpm2: Open tpm dev in unbuffered mode (Jerry Snitselaar) [1725580 1742257] - [tools] selftests/tpm2: Extend tests to cover partial reads (Jerry Snitselaar) [1725580 1742257] - [tools] selftests: add TPM 2.0 tests (Jerry Snitselaar) [1725580 1742257] - [security] KEYS: trusted: fix -Wvarags warning (Jerry Snitselaar) [1725580 1742257] - [security] KEYS: Move trusted.h to include/keys [ver #2] (Jerry Snitselaar) [1725580 1742257] - [security] KEYS: trusted: Expose common functionality [ver #2] (Jerry Snitselaar) [1725580 1742257] - [char] tpm: Wrap the buffer from the caller to tpm_buf in tpm_send() (Jerry Snitselaar) [1725580 1742257] - [security] KEYS: trusted: correctly initialize digests and fix locking issue (Jerry Snitselaar) [1725580 1742257] - [security] KEYS: trusted: allow module init if TPM is inactive or deactivated (Jerry Snitselaar) [1725580 1742257] - [net] net/smc: make sure EPOLLOUT is raised (Philipp Rudo) [1726415] - [net] net/smc: avoid fallback in case of non-blocking connect (Philipp Rudo) [1726415] - [net] net/smc: do not schedule tx_work in SMC_CLOSED state (Philipp Rudo) [1726415] - [net] net/smc: common release code for non-accepted sockets (Philipp Rudo) [1726415] - [net] net/smc: Fix error path in smc_init (Philipp Rudo) [1726415] - [net] net/smc: hold conns_lock before calling smc_lgr_register_conn() (Philipp Rudo) [1726415] - [dma] dmaengine: ioatdma: support latency tolerance report (LTR) for v3.4 (Jerry Snitselaar) [1661996] - [dma] dmaengine: ioatdma: add descriptor pre-fetch support for v3.4 (Jerry Snitselaar) [1661996] - [dma] dmaengine: ioatdma: disable DCA enabling on IOATDMA v3.4 (Jerry Snitselaar) [1661996] - [dma] dmaengine: ioatdma: Add Snow Ridge ioatdma device id (Jerry Snitselaar) [1661996] - [kernel] mutex: Fix up mutex_waiter usage (Waiman Long) [1736609] - [kernel] locking/mutex: Use mutex flags macro instead of hard code (Waiman Long) [1736609] - [kernel] locking/mutex: Make __mutex_owner static to mutex.c (Waiman Long) [1736609] - [kernel] locking/mutex: Test for initialized mutex (Waiman Long) [1736609] - [kernel] kernel/locking/mutex.c: remove caller signal_pending branch predictions (Waiman Long) [1736609] - [kernel] Revert "locking/pvqspinlock: Don't wait if vCPU is preempted" (Waiman Long) [1736609] - [kernel] locking/rwsem: Check for operations on an uninitialized rwsem (Waiman Long) [1736609] - [kernel] locking/rwsem: Make handoff writer optimistically spin on owner (Waiman Long) [1736609] - [kernel] locking/rwsem: Add ACQUIRE comments (Waiman Long) [1736609] - [tty] tty/ldsem, locking/rwsem: Add missing ACQUIRE to read_failed sleep loop (Waiman Long) [1736609] - [kernel] locking/rwsem: Add missing ACQUIRE to read_slowpath sleep loop (Waiman Long) [1736609] - [kernel] locking/rwsem: Add missing ACQUIRE to read_slowpath exit when queue is empty (Waiman Long) [1736609] - [kernel] locking/rwsem: Don't call owner_on_cpu() on read-owner (Waiman Long) [1736609] - [kernel] locking/rwsem: Guard against making count negative (Waiman Long) [1736609] - [kernel] locking/rwsem: Adaptive disabling of reader optimistic spinning (Waiman Long) [1736609] - [kernel] locking/rwsem: Enable time-based spinning on reader-owned rwsem (Waiman Long) [1736609] - [kernel] locking/rwsem: Make rwsem->owner an atomic_long_t (Waiman Long) [1736609] - [kernel] locking/rwsem: Enable readers spinning on writer (Waiman Long) [1736609] - [kernel] locking/rwsem: Clarify usage of owner's nonspinaable bit (Waiman Long) [1736609] - [kernel] locking/rwsem: Wake up almost all readers in wait queue (Waiman Long) [1736609] - [kernel] locking/rwsem: More optimal RT task handling of null owner (Waiman Long) [1736609] - [kernel] locking/rwsem: Always release wait_lock before waking up tasks (Waiman Long) [1736609] - [kernel] locking/rwsem: Implement lock handoff to prevent lock starvation (Waiman Long) [1736609] - [kernel] locking/rwsem: Make rwsem_spin_on_owner() return owner state (Waiman Long) [1736609] - [kernel] locking/rwsem: Code cleanup after files merging (Waiman Long) [1736609] - [kernel] locking/rwsem: Add rwsem_init.c to keep __init_rwsem() kABI (Waiman Long) [1736609] - [kernel] locking/rwsem: Merge rwsem.h and rwsem-xadd.c into rwsem.c (Waiman Long) [1736609] - [kernel] locking/rwsem: Implement a new locking scheme (Waiman Long) [1736609] - [kernel] locking/rwsem: Remove rwsem_wake() wakeup optimization (Waiman Long) [1736609] - [kernel] locking/rwsem: Make owner available even if !CONFIG_RWSEM_SPIN_ON_OWNER (Waiman Long) [1736609] - [kernel] locking/lock_events: Use raw_cpu_{add, inc}() for stats (Waiman Long) [1736609] - [kernel] locking/lock_events: Use this_cpu_add() when necessary (Waiman Long) [1736609] - [kernel] locking/rwsem: Revert "[kernel] locking/rwsem: Add missing ACQUIRE to read_slowpath ..." (Waiman Long) [1736609] - [block] block: don't release queue's sysfs lock during switching elevator (Ming Lei) [1760151] - [block] blk-mq: move lockdep_assert_held() into elevator_exit (Ming Lei) [1760151] - [block] block: fix race between switching elevator and removing queues (Ming Lei) [1760151] - [md] raid5: use bio_end_sector in r5_next_bio (Nigel Croxon) [1754949] - [md] raid5: remove STRIPE_OPS_REQ_PENDING (Nigel Croxon) [1754949] - [md] md: add feature flag MD_FEATURE_RAID0_LAYOUT (Nigel Croxon) [1754949] - [md] md/raid0: avoid RAID0 data corruption due to layout confusion. (Nigel Croxon) [1754949] - [md] raid5: don't set STRIPE_HANDLE to stripe which is in batch list (Nigel Croxon) [1754949] - [md] raid5: don't increment read_errors on EILSEQ return (Nigel Croxon) [1754949] - [md] md/raid5: use bio_end_sector to calculate last_sector (Nigel Croxon) [1730670] - [md] md/raid1: fail run raid1 array when active disk less than one (Nigel Croxon) [1730670] - [md] md raid0/linear: Mark array as 'broken' and fail BIOs if a member is gone (Nigel Croxon) [1730670] - [md] raid5 improve too many read errors msg by adding limits (Nigel Croxon) [1730670] - [md] md: don't report active array_state until after revalidate_disk() completes. (Nigel Croxon) [1730670] - [md] md: only call set_in_sync() when it is expected to succeed. (Nigel Croxon) [1730670] - [md] raid1: factor out a common routine to handle the completion of sync write (Nigel Croxon) [1730670] - [md] md: don't call spare_active in md_reap_sync_thread if all member devices can't work (Nigel Croxon) [1730670] - [md] md: don't set In_sync if array is frozen (Nigel Croxon) [1730670] - [md] md: allow last device to be forcibly removed from RAID1/RAID10. (Nigel Croxon) [1730670] - [md] md/raid10: end bio when the device faulty (Nigel Croxon) [1730670] - [md] md/raid1: end bio when the device faulty (Nigel Croxon) [1730670] - [md] md/raid6: Set R5_ReadError when there is read failure on parity disk (Nigel Croxon) [1730670] - [md] raid1: use an int as the return value of raise_barrier() (Nigel Croxon) [1730670] - [md] md/raid1: Fix a warning message in remove_wb() (Nigel Croxon) [1730670] - [crypto] crypto: ccp - Fix SEV_VERSION_GREATER_OR_EQUAL (Gary Hook) [1754634] - [crypto] crypto: ccp - Do not free psp_master when PLATFORM_INIT fails (Gary Hook) [1754634] - [crypto] crypto: ccp - Use kmemdup in ccp_copy_and_save_keypart() (Gary Hook) [1754634] - [crypto] crypto: ccp - introduce SEV_GET_ID2 command (Gary Hook) [1754634] - [netdrv] e1000e: start network tx queue only when link is up (Oleksandr Natalenko) [1747869] - [netdrv] Revert "e1000e: fix cyclic resets at link up with active tx" (Oleksandr Natalenko) [1747869] - [mm] mm/zsmalloc.c: fix build when CONFIG_COMPACTION=n (Rafael Aquini) [1735181] - [mm] mm/zsmalloc.c: fix race condition in zs_destroy_pool (Rafael Aquini) [1735181] - [mm] mm/zsmalloc.c: migration can leave pages in ZS_EMPTY indefinitely (Rafael Aquini) [1735181] - [mm] mm, page_owner: handle THP splits correctly (Rafael Aquini) [1735181] - [mm] hugetlbfs: fix hugetlb page migration/fault race causing SIGBUS (Rafael Aquini) [1735181] - [mm] mm/usercopy: use memory range to be accessed for wraparound check (Rafael Aquini) [1735181] - [mm] mm/memcontrol.c: fix use after free in mem_cgroup_iter() (Rafael Aquini) [1735181] - [mm] mm/hmm: fix bad subpage pointer in try_to_unmap_one (Rafael Aquini) [1735181] - [mm] mm: vmscan: check if mem cgroup is disabled or not before calling memcg slab shrinker (Rafael Aquini) [1735181] - [mm] mm: revert "kmemleak: allow to coexist with fault injection" (Rafael Aquini) [1735181] - [mm] mm/vmalloc: sync unmappings in __purge_vmap_area_lazy() (Rafael Aquini) [1735181] - [mm] mm/vmalloc.c: add priority threshold to __purge_vmap_area_lazy() (Rafael Aquini) [1735181] - [mm] mm/cma.c: fail if fixed declaration can't be honored (Rafael Aquini) [1735181] - [mm] mm/mmu_notifier: use hlist_add_head_rcu() (Rafael Aquini) [1735181] - [mm] mm/mincore.c: fix race between swapoff and mincore (Rafael Aquini) [1735181] - [mm] mm, swap: fix race between swapoff and some swap operations (Rafael Aquini) [1735181] - [mm] mm/failslab.c: by default, do not fail allocations with direct reclaim only (Rafael Aquini) [1735181] - [mm] mm: vmscan: scan anonymous pages on file refaults (Rafael Aquini) [1735181] - [mm] mm/vmscan.c: prevent useless kswapd loops (Rafael Aquini) [1735181] - [mm] mm/page_idle.c: fix oops because end_pfn is larger than max_pfn (Rafael Aquini) [1760459 1735181] - [mm] mm/mempolicy.c: fix an incorrect rebind node in mpol_rebind_nodemask (Rafael Aquini) [1735181] - [mm] mm/vmscan.c: fix trying to reclaim unevictable LRU page (Rafael Aquini) [1735181] - [mm] mm/mlock.c: change count_mm_mlocked_page_nr return type (Rafael Aquini) [1735181] - [mm] mm/mlock.c: mlockall error for flag MCL_ONFAULT (Rafael Aquini) [1735181] - [mm] mm/list_lru.c: fix memory leak in __memcg_init_list_lru_node (Rafael Aquini) [1735181] - [mm] memcg: make it work on sparse non-0-node systems (Rafael Aquini) [1735181] - [mm] prctl_set_mm: downgrade mmap_sem to read lock (Rafael Aquini) [1735181] - [mm] mm/debug.c: fix __dump_page when mapping->host is not set (Rafael Aquini) [1735181] - [mm] mm/debug.c: fix __dump_page() for poisoned pages (Rafael Aquini) [1735181] - [mm] mm: update references to page _refcount (Rafael Aquini) [1735181] - [mm] mm: lower the printk loglevel for __dump_page messages (Rafael Aquini) [1735181] - [mm] mm: print more information about mapping in __dump_page (Rafael Aquini) [1735181] - [mm] hugetlb: use same fault hash key for shared and private mappings (Rafael Aquini) [1735181] - [mm] mm/hugetlb.c: don't put_page in lock of hugetlb_lock (Rafael Aquini) [1735181] - [mm] mm: fix inactive list balancing between NUMA nodes and cgroups (Rafael Aquini) [1735181] - [mm] mm/migrate.c: add missing flush_dcache_page for non-mapped page migrate (Rafael Aquini) [1735181] - [mm] mm: mempolicy: make mbind() return -EIO when MPOL_MF_STRICT is specified (Rafael Aquini) [1734286 1735181] - [mm] mm/hotplug: fix offline undo_isolate_page_range() (Rafael Aquini) [1735181] - [mm] mm/sparse: fix a bad comparison (Rafael Aquini) [1735181] - [mm] mm, swap: bounds check swap_info array accesses to avoid NULL derefs (Rafael Aquini) [1735181] - [mm] mm/vmalloc.c: don't dereference possible NULL pointer in __vunmap() (Rafael Aquini) [1735181] - [mm] mm: hwpoison: fix thp split handing in soft_offline_in_use_page() (Rafael Aquini) [1735181] - [mm] hugetlbfs: fix races and page leaks during migration (Rafael Aquini) [1735181] - [mm] tmpfs: fix uninitialized return value in shmem_link (Rafael Aquini) [1735181] - [mm] tmpfs: fix link accounting when a tmpfile is linked in (Rafael Aquini) [1735181] - [mm] mm: migrate: don't rely on __PageMovable() of newpage after unlocking it (Rafael Aquini) [1735181] - [mm] oom, oom_reaper: do not enqueue same task twice (Rafael Aquini) [1735181] - [mm] mm: page_mapped: don't assume compound page is huge or THP (Rafael Aquini) [1735181] - [mm] mm, memcg: fix reclaim deadlock with writeback (Rafael Aquini) [1735181] - [mm] mm, swap: fix swapoff with KSM pages (Rafael Aquini) [1735181] - [mm] mm/huge_memory: fix lockdep complaint on 32-bit i_size_read() (Rafael Aquini) [1735181] - [mm] mm/huge_memory: splitting set mapping+index before unfreeze (Rafael Aquini) [1735181] - [mm] mm/huge_memory: rename freeze_page() to unmap_page() (Rafael Aquini) [1735181] - [mm] mm/page_alloc.c: fix calculation of pgdat->nr_zones (Rafael Aquini) [1735181] - [mm] mm: use swp_offset as key in shmem_replace_page() (Rafael Aquini) [1735181] - [mm] mm: cleancache: fix corruption on missed inode invalidation (Rafael Aquini) [1735181] - [mm] mm/vmstat.c: fix NUMA statistics updates (Rafael Aquini) [1735181] - [mm] mm, swap: make CONFIG_THP_SWAP depend on CONFIG_SWAP (Rafael Aquini) [1735181] - [mm] ARM: 8820/1: mm: Stop printing the virtual memory layout (Rafael Aquini) [1655192] - [netdrv] net: dsa: bcm_sf2: Remove print of base address (Rafael Aquini) [1655192] - [netdrv] net: systemport: Remove print of base address (Rafael Aquini) [1655192] - [netdrv] net: phy: mdio-bcm-unimac: Remove print of base address (Rafael Aquini) [1655192] - [x86] x86/mm: Don't leak kernel addresses (Rafael Aquini) [1655192] - [x86] x86/realmode: Make set_real_mode_mem() static inline (Rafael Aquini) [1655192] - [x86] x86/realmode: Don't leak the trampoline kernel address (Rafael Aquini) [1655192] - [arm64] arm64/vdso: don't leak kernel addresses (Rafael Aquini) [1655192] - [powerpc] powerpc/traps: Fix the message printed when stack overflows (Rafael Aquini) [1655192] - [kernel] kdb: print real address of pointers instead of hashed addresses (Rafael Aquini) [1655192] - [kernel] kdb: use correct pointer when 'btc' calls 'btt' (Rafael Aquini) [1655192]- [fs] signal: Allow cifs and drbd to receive their terminating signals (Leif Sahlberg) [1757670] - [fs] smb3: fix unmount hang in open_shroot (Leif Sahlberg) [1757670] - [fs] cifs: update internal module number (Leif Sahlberg) [1757670] - [fs] cifs: replace various strncpy with strscpy and similar (Leif Sahlberg) [1757670] - [fs] cifs: Use kzfree() to zero out the password (Leif Sahlberg) [1757670] - [fs] cifs: set domainName when a domain-key is used in multiuser (Leif Sahlberg) [1757670] - [fs] SMB3: Kernel oops mounting a encryptData share with CONFIG_DEBUG_VIRTUAL (Leif Sahlberg) [1757670] - [fs] smb3: send CAP_DFS capability during session setup (Leif Sahlberg) [1757670] - [fs] SMB3: Fix potential memory leak when processing compound chain (Leif Sahlberg) [1757670] - [fs] SMB3: Fix deadlock in validate negotiate hits reconnect (Leif Sahlberg) [1757670] - [fs] cifs: fix rmmod regression in cifs.ko caused by force_sig changes (Leif Sahlberg) [1757670] - [fs] cifs: update internal module number (Leif Sahlberg) [1757670] - [fs] cifs: flush before set-info if we have writeable handles (Leif Sahlberg) [1757670] - [fs] smb3: optimize open to not send query file internal info (Leif Sahlberg) [1757670] - [fs] CIFS: fix deadlock in cached root handling (Leif Sahlberg) [1757670] - [fs] cifs: fix crash in cifs_dfs_do_automount (Leif Sahlberg) [1757670] - [fs] cifs: fix parsing of symbolic link error response (Leif Sahlberg) [1757670] - [fs] cifs: refactor and clean up arguments in the reparse point parsing (Leif Sahlberg) [1757670] - [fs] SMB3: query inode number on open via create context (Leif Sahlberg) [1757670] - [fs] smb3: Send netname context during negotiate protocol (Leif Sahlberg) [1757670] - [fs] smb3: do not send compression info by default (Leif Sahlberg) [1757670] - [fs] smb3: add new mount option to retrieve mode from special ACE (Leif Sahlberg) [1757670] - [fs] smb3: Allow query of symlinks stored as reparse points (Leif Sahlberg) [1757670] - [fs] cifs: Fix a race condition with cifs_echo_request (Leif Sahlberg) [1757670] - [fs] cifs: always add credits back for unsolicited PDUs (Leif Sahlberg) [1757670] - [fs] fs: cifs: cifsssmb: Change return type of convert_ace_to_cifs_ace (Leif Sahlberg) [1757670] - [fs] add some missing definitions (Leif Sahlberg) [1757670] - [fs] cifs: fix typo in debug message with struct field ia_valid (Leif Sahlberg) [1757670] - [fs] smb3: minor cleanup of compound_send_recv (Leif Sahlberg) [1757670] - [fs] CIFS: Fix module dependency (Leif Sahlberg) [1757670] - [fs] cifs: simplify code by removing CONFIG_CIFS_ACL ifdef (Leif Sahlberg) [1757670] - [fs] cifs: Fix check for matching with existing mount (Leif Sahlberg) [1757670] - [fs] cifs: Properly handle auto disabling of serverino option (Leif Sahlberg) [1757670] - [fs] smb3: if max_credits is specified then display it in /proc/mounts (Leif Sahlberg) [1757670] - [fs] Fix match_server check to allow for auto dialect negotiate (Leif Sahlberg) [1757670] - [fs] cifs: add missing GCM module dependency (Leif Sahlberg) [1757670] - [fs] SMB3.1.1: Add GCM crypto to the encrypt and decrypt functions (Leif Sahlberg) [1757670] - [fs] SMB3: Add SMB3.1.1 GCM to negotiated crypto algorigthms (Leif Sahlberg) [1757670] - [fs] fs: cifs: Drop unlikely before IS_ERR(_OR_NULL) (Leif Sahlberg) [1757670] - [fs] cifs: Use kmemdup in SMB2_ioctl_init() (Leif Sahlberg) [1757670] - [fs] SMB3: retry on STATUS_INSUFFICIENT_RESOURCES instead of failing write (Leif Sahlberg) [1757670] - [fs] cifs: fix panic in smb2_reconnect (Leif Sahlberg) [1757670] - [fs] CIFS: cifs_read_allocate_pages: don't iterate through whole page array on ENOMEM (Leif Sahlberg) [1757670] - [fs] dfs_cache: fix a wrong use of kfree in flush_cache_ent() (Leif Sahlberg) [1757670] - [fs] fs/cifs/smb2pdu.c: fix buffer free in SMB2_ioctl_free (Leif Sahlberg) [1757670] - [fs] cifs: fix memory leak of pneg_inbuf on -EOPNOTSUPP ioctl case (Leif Sahlberg) [1757670] - [fs] cifs: add support for SEEK_DATA and SEEK_HOLE (Leif Sahlberg) [1757670] - [fs] cifs: Allocate memory for all iovs in smb2_ioctl (Leif Sahlberg) [1757670] - [fs] cifs: Don't match port on SMBDirect transport (Leif Sahlberg) [1757670] - [fs] cifs:smbd Use the correct DMA direction when sending data (Leif Sahlberg) [1757670] - [fs] cifs:smbd When reconnecting to server, call smbd_destroy() after all MIDs have been called (Leif Sahlberg) [1757670] - [fs] smb3: trivial cleanup to smb2ops.c (Leif Sahlberg) [1757670] - [fs] cifs: cleanup smb2ops.c and normalize strings (Leif Sahlberg) [1757670] - [fs] smb3: display session id in debug data (Leif Sahlberg) [1757670] - [fs] cifs: update module internal version number (Leif Sahlberg) [1757670] - [fs] cifs: fix crash querying symlinks stored as reparse-points (Leif Sahlberg) [1757670] - [fs] SMB3: Clean up query symlink when reparse point (Leif Sahlberg) [1757670] - [fs] cifs: fix strcat buffer overflow and reduce raciness in smb21_set_oplock_level() (Leif Sahlberg) [1757670] - [fs] Negotiate and save preferred compression algorithms (Leif Sahlberg) [1757670] - [fs] cifs: rename and clarify CIFS_ASYNC_OP and CIFS_NO_RESP (Leif Sahlberg) [1757670] - [fs] smb3: Add protocol structs for change notify support (Leif Sahlberg) [1757670] - [fs] cifs: fix smb3_zero_range for Azure (Leif Sahlberg) [1757670] - [fs] cifs: zero-range does not require the file is sparse (Leif Sahlberg) [1757670] - [fs] Add new flag on SMB3.1.1 read (Leif Sahlberg) [1757670] - [fs] cifs: add fiemap support (Leif Sahlberg) [1757670] - [fs] SMB3: Add defines for new negotiate contexts (Leif Sahlberg) [1757670] - [fs] cifs: fix bi-directional fsctl passthrough calls (Leif Sahlberg) [1757670] - [fs] cifs: smbd: take an array of reqeusts when sending upper layer data (Leif Sahlberg) [1757670] - [fs] SMB3: Add handling for different FSCTL access flags (Leif Sahlberg) [1757670] - [fs] cifs: Add support for FSCTL passthrough that write data to the server (Leif Sahlberg) [1757670] - [fs] cifs: remove superfluous inode_lock in cifs_{strict_}fsync (Leif Sahlberg) [1757670] - [fs] cifs: Call MID callback before destroying transport (Leif Sahlberg) [1757670] - [fs] smbd: Make upper layer decide when to destroy the transport (Leif Sahlberg) [1757670] - [fs] SMB3: update comment to clarify enumerating snapshots (Leif Sahlberg) [1757670] - [fs] CIFS: check CIFS_MOUNT_NO_DFS when trying to reuse existing sb (Leif Sahlberg) [1757670] - [fs] CIFS: Show locallease in /proc/mounts for cifs shares mounted with locallease feature. (Leif Sahlberg) [1757670] - [fs] cifs: Fix DFS cache refresher for DFS links (Leif Sahlberg) [1757670] - [fs] cifs: don't use __constant_cpu_to_le32() (Leif Sahlberg) [1757670] - [fs] SMB3: Track total time spent on roundtrips for each SMB3 command (Leif Sahlberg) [1757670] - [fs] cifs: use the right include for signal_pending() (Leif Sahlberg) [1757670] - [fs] CIFS: Mask off signals when sending SMB packets (Leif Sahlberg) [1757670] - [infiniband] RDMA/umem: Revert broken 'off by one' fix (Kamal Heib) [1720888] - [infiniband] RDMA/umem: minor bug fix in error handling path (Kamal Heib) [1720888] - [infiniband] RDMA/uverbs: Don't do double free of allocated PD (Kamal Heib) [1720888] - [infiniband] RDMA: Handle ucontext allocations by IB/core (Kamal Heib) [1720888] - [infiniband] cross-tree: phase out dma_zalloc_coherent() (Kamal Heib) [1720888] - [infiniband] RDMA/core: Fix a WARN() message (Kamal Heib) [1720888] - [infiniband] RDMA/uverbs: Store PR pointer before it is overwritten (Kamal Heib) [1720888] - [infiniband] RDMA/core: Cosmetic change - move member initialization to correct block (Kamal Heib) [1720888] - [infiniband] rdma_rxe: Use netlink messages to add/delete links (Kamal Heib) [1720888] - [infiniband] RDMA/core: Add RDMA_NLDEV_CMD_NEWLINK/DELLINK support (Kamal Heib) [1720888] - [infiniband] RDMA/rxe: Close a race after ib_register_device (Kamal Heib) [1720888] - [infiniband] RDMA/rxe: Add ib_device_get_by_name() and use it in rxe (Kamal Heib) [1720888] - [infiniband] RDMA/rxe: Use driver_unregister and new unregistration API (Kamal Heib) [1720888] - [infiniband] RDMA/device: Provide APIs from the core code to help unregistration (Kamal Heib) [1720888] - [infiniband] RDMA/rxe: Use ib_device_get_by_netdev() instead of open coding (Kamal Heib) [1720888] - [infiniband] RDMA/device: Add ib_device_get_by_netdev() (Kamal Heib) [1720888] - [infiniband] RDMA/device: Add ib_device_set_netdev() as an alternative to get_netdev (Kamal Heib) [1720888] - [infiniband] RDMA/cache: Move the cache per-port data into the main ib_port_data (Kamal Heib) [1720888] - [infiniband] RDMA/device: Consolidate ib_device per_port data into one place (Kamal Heib) [1720888] - [infiniband] RDMA: Add and use rdma_for_each_port (Kamal Heib) [1720888] - [infiniband] RDMA/nldev: Don't expose number of not-visible entries (Kamal Heib) [1720888] - [infiniband] RDMA/nldev: Connect QP number to .doit callback (Kamal Heib) [1720888] - [infiniband] RDMA/nldev: Provide parent IDs for PD, MR and QP objects (Kamal Heib) [1720888] - [infiniband] RDMA/nldev: Share with user-space object IDs (Kamal Heib) [1720888] - [infiniband] RDMA/restrack: Prepare restrack_root to addition of extra fields per-type (Kamal Heib) [1720888] - [infiniband] RDMA/restrack: Hide restrack DB from IB/core (Kamal Heib) [1720888] - [infiniband] RDMA/restrack: Reduce scope of synchronization lock while updating DB (Kamal Heib) [1720888] - [infiniband] RDMA/nldev: Add resource tracker doit callback (Kamal Heib) [1720888] - [infiniband] RDMA/restrack: Translate from ID to restrack object (Kamal Heib) [1720888] - [infiniband] RDMA/restrack: Convert internal DB from hash to XArray (Kamal Heib) [1720888] - [infiniband] RDMA/core: Move device addition deletion to device.c (Kamal Heib) [1720888] - [infiniband] RDMA/core: Introduce and use ib_setup_port_attrs() (Kamal Heib) [1720888] - [infiniband] RDMA/core: Use simpler device_del() instead of device_unregister() (Kamal Heib) [1720888] - [infiniband] RDMA/nes: Remove useless usecnt variable and redundant memset (Kamal Heib) [1720888] - [infiniband] IB/{hw, sw}: Remove 'uobject->context' dependency in object creation APIs (Kamal Heib) [1720888] - [infiniband] RDMA/qedr: remove set but not used variable 'ib_ctx' (Kamal Heib) [1720888] - [infiniband] RDMA/mthca: Use for_each_sg_dma_page iterator on umem SGL (Kamal Heib) [1720888] - [infiniband] RDMA: Cleanup undesired pd->uobject usage (Kamal Heib) [1720888] - [infiniband] RDMA/mthca: Clear QP objects during their allocation (Kamal Heib) [1720888] - [include] IB/verbs: Add helper function rdma_udata_to_drv_context (Kamal Heib) [1720888] - [infiniband] IB/uverbs: Add ib_ucontext to uverbs_attr_bundle sent from ioctl and cmd flows (Kamal Heib) [1720888] - [infiniband] IB/ipoib: Use __func__ instead of function's name (Kamal Heib) [1720888] - [infiniband] RDMA/iwpm: Remove set but not used variable 'msg_seq' (Kamal Heib) [1720888] - [infiniband] RDMA/nes: Use for_each_sg_dma_page iterator for umem SGL (Kamal Heib) [1720888] - [net] xprtrdma: Check inline size before providing a Write chunk (Kamal Heib) [1720888] - [infiniband] RDMA/ocrdma: Use for_each_sg_dma_page iterator on umem SGL (Kamal Heib) [1720888] - [infiniband] RDMA/vmw_pvrdma: Use for_each_sg_dma_page iterator on umem SGL (Kamal Heib) [1720888] - [infiniband] RDMA/devices: Re-organize device.c locking (Kamal Heib) [1720888] - [infiniband] RDMA/devices: Use xarray to store the client_data (Kamal Heib) [1720888] - [infiniband] RDMA/devices: Use xarray to store the clients (Kamal Heib) [1720888] - [infiniband] RDMA/device: Use an ida instead of a free page in alloc_name (Kamal Heib) [1720888] - [infiniband] RDMA/device: Get rid of reg_state (Kamal Heib) [1720888] - [infiniband] RDMA/device: Check that the rename is nop under the lock (Kamal Heib) [1720888] - [infiniband] RDMA: Handle PD allocations by IB/core (Kamal Heib) [1720888] - [infiniband] RDMA/hns: fix spelling mistake "reseved" -> "reserved" (Kamal Heib) [1720888] - [infiniband] RDMA/core: Share driver structure size with core (Kamal Heib) [1720888] - [infiniband] IB/cma: Define option to set ack timeout and pack tos_set (Kamal Heib) [1720888] - [infiniband] drivers/IB,core: reduce scope of mmap_sem (Kamal Heib) [1720888] - [infiniband] drivers/IB,usnic: reduce scope of mmap_sem (Kamal Heib) [1720888] - [net] svcrdma: Remove syslog warnings in work completion handlers (Kamal Heib) [1720888] - [net] svcrdma: Squelch compiler warning when SUNRPC_DEBUG is disabled (Kamal Heib) [1720888] - [net] svcrdma: Use struct_size() in kmalloc() (Kamal Heib) [1720888] - [infiniband] RDMA/iwpm: move kdoc comments to functions (Kamal Heib) [1720888] - [infiniband] RDMA/cma: Remove CM_ID statistics provided by rdma-cm module (Kamal Heib) [1720888] - [infiniband] scsi: RDMA/srpt: Rework I/O context allocation (Kamal Heib) [1720888] - [infiniband] scsi: RDMA/srpt: Fix handling of command / TMF submission failure (Kamal Heib) [1720888] - [infiniband] RDMA/IWPM: Support no port mapping requirements (Kamal Heib) [1720888] - [infiniband] RDMA/IWPM: refactor the IWPM message attribute names (Kamal Heib) [1720888] - [infiniband] RDMA/rxe: Improve loopback marking (Kamal Heib) [1720888] - [infiniband] RDMA/rxe: Move rxe_init_av() to rxe_av.c (Kamal Heib) [1720888] - [infiniband] IB/core: Remove ib_sg_dma_address() and ib_sg_dma_len() (Kamal Heib) [1720888] - [infiniband] IB/uverbs: Expose XRC ODP device capabilities (Kamal Heib) [1720888] - [include] IB/core: Allocate a bit for SRQ ODP support (Kamal Heib) [1720888] - [infiniband] RDMA/core: Use the ops infrastructure to keep all callbacks in one place (Kamal Heib) [1720888] - [infiniband] RDMA/cxgb4: Sort SRQ ops alphabetically (Kamal Heib) [1720888] - [infiniband] RDMA/restrack: Refactor user/kernel restrack additions (Kamal Heib) [1720888] - [infiniband] RDMA/core: Simplify restrack interface (Kamal Heib) [1720888] - [infiniband] RDMA/nldev: Prepare CAP_NET_ADMIN checks for .doit callbacks (Kamal Heib) [1720888] - [infiniband] RDMA/nldev: Factor out the PID namespace check (Kamal Heib) [1720888] - [infiniband] RDMA/nldev: Dynamically generate restrack dumpit callbacks (Kamal Heib) [1720888] - [infiniband] IB/usnic: Remove stub functions (Kamal Heib) [1720888] - [infiniband] RDMA: Add indication for in kernel API support to IB device (Kamal Heib) [1720888] - [infiniband] IB/mlx5: Introduce async DEVX obj query API (Kamal Heib) [1720888] - [infiniband] IB/mlx5: Introduce MLX5_IB_OBJECT_DEVX_ASYNC_CMD_FD (Kamal Heib) [1720888] - [infiniband] infiniband: prefix header search paths with $(srctree)/ (Kamal Heib) [1720888] - [infiniband] infiniband: remove unneeded header search paths (Kamal Heib) [1720888] - [infiniband] infiniband: ipoib: no need to check return value of debugfs_create functions (Kamal Heib) [1720888] - [infiniband] infiniband: usnic: no need to check return value of debugfs_create functions (Kamal Heib) [1720888] - [infiniband] infiniband: ocrdma: no need to check return value of debugfs_create functions (Kamal Heib) [1720888] - [infiniband] RDMA/ocrdma: Use PCI-ID as an identification in debugfs (Kamal Heib) [1720888] - [infiniband] IB/umad: Do not check status of nonseekable_open() (Kamal Heib) [1720888] - [infiniband] IB/umad: Avoid additional device reference during open()/close() (Kamal Heib) [1720888] - [infiniband] IB/rxe: Remove unnecessary rxe variable (Kamal Heib) [1720888] - [infiniband] IB/core: Simplify rdma cgroup registration (Kamal Heib) [1720888] - [infiniband] RDMA/device: Use __ib_device_get_by_name() in ib_device_rename() (Kamal Heib) [1720888] - [infiniband] RDMA: Rename port_callback to init_port (Kamal Heib) [1720888] - [infiniband] RDMA: Clear CTX objects during their allocation (Kamal Heib) [1720888] - [infiniband] RDMA: Clear PD objects during their allocation (Kamal Heib) [1720888] - [infiniband] RDMA/ocrdma: Fix out of bounds index check in query pkey (Kamal Heib) [1720888] - [infiniband] IB/{core, hw}: Have ib_umem_get extract the ib_ucontext from ib_udata (Kamal Heib) [1720888] - [infiniband] IB/{core, uverbs}: Move ib_umem_xxx functions from ib_core to ib_uverbs (Kamal Heib) [1720888] - [infiniband] RDMA/core: Don't depend device ODP capabilities on kconfig option (Kamal Heib) [1720888] - [infiniband] IB/srp: Use struct_size() in kzalloc() (Kamal Heib) [1720888] - [infiniband] IB/core: Use struct_size() in kzalloc() (Kamal Heib) [1720888] - [infiniband] IB/usnic: Use struct_size() in kmalloc() (Kamal Heib) [1720888] - [infiniband] IB/cm: Use struct_size() in kmalloc() (Kamal Heib) [1720888] - [mm] mm: introduce put_user_page*(), placeholder versions (Rafael Aquini) [1746371] - [mm] mm/gup: add FOLL_LONGTERM capability to GUP fast (Rafael Aquini) [1746371] - [mm] mm/gup: change GUP fast to use flags rather than a write 'bool' (Rafael Aquini) [1746371] - [mm] mm/gup: change write parameter to flags in fast walk (Rafael Aquini) [1746371] - [mm] mm/gup: replace get_user_pages_longterm() with FOLL_LONGTERM (Rafael Aquini) [1746371] - [s390] s390/mm: fix pxd_bad with folded page tables (Rafael Aquini) [1746371] - [s390] s390/mm: fix dump_pagetables top level page table walking (Rafael Aquini) [1746371] - [s390] s390/mm: convert to the generic get_user_pages_fast code (Rafael Aquini) [1746371] - [s390] s390/mm: make the pxd_offset functions more robust (Rafael Aquini) [1746371] - [mm] mm/gup: fix gup_pmd_range() for dax (Rafael Aquini) [1746371] - [mm] mm/gup: remove the 'write' parameter from gup_fast_permitted() (Rafael Aquini) [1746371] - [mm] mm/gup: fix follow_page_mask() kerneldoc comment (Rafael Aquini) [1746371] - [mm] mm/gup: fix __get_user_pages_fast() comment (Rafael Aquini) [1746371] - [mm] mm/gup_benchmark: prevent integer overflow in ioctl (Rafael Aquini) [1746371] - [mm] mm/gup_benchmark: add additional pinning methods (Rafael Aquini) [1746371] - [mm] mm/gup_benchmark: time put_page() (Rafael Aquini) [1746371] - [mm] mm/gup_benchmark: fix unsigned comparison to zero in __gup_benchmark_ioctl (Rafael Aquini) [1746371] - [mm] mm: remove caller signal_pending branch predictions (Rafael Aquini) [1746371] - [mm] mm: remove unnecessary local variable addr in __get_user_pages_fast() (Rafael Aquini) [1746371] - [mm] mm: change return type int to vm_fault_t for fault handlers (Rafael Aquini) [1746371] - [mm] mm: make mm->pinned_vm an atomic64 counter (Rafael Aquini) [1746371]- [kernel] sched/core: Schedule new worker even if PI-blocked (Waiman Long) [1758629] - [char] random: add a spinlock_t to struct batched_entropy (Waiman Long) [1758629] - [crypto] crypto: chacha20 - Fix chacha20_block() keystream alignment (again) (Waiman Long) [1758629] - [fs] locking/percpu-rwsem: Remove preempt_disable variants (Waiman Long) [1758629] - [x86] x86/tsc: Add option to disable tsc clocksource watchdog (Waiman Long) [1758629] - [x86] x86/irq: Handle spurious interrupt after shutdown gracefully (Waiman Long) [1758629] - [x86] x86/ioapic: Implement irq_get_irqchip_state() callback (Waiman Long) [1758629] - [kernel] genirq: Add optional hardware synchronization for shutdown (Waiman Long) [1758629] - [kernel] genirq: Fix misleading synchronize_irq() documentation (Waiman Long) [1758629] - [kernel] genirq: Delay deactivation in free_irq() (Waiman Long) [1758629] - [kernel] genirq: Remove redundant NULL pointer check in __free_irq() (Waiman Long) [1758629] - [kernel] genirq: Synchronize only with single thread on free_irq() (Waiman Long) [1758629] - [kernel] genirq: Update code comments wrt recycled thread_mask (Waiman Long) [1758629] - [usb] usb: core: remove flags variable in __usb_hcd_giveback_urb() (Waiman Long) [1758629] - [usb] usb: core: remove local_irq_save() around ->complete() handler (Waiman Long) [1758629] - [media] media: tm6000: use irqsave() in USB's complete callback (Waiman Long) [1758629] - [media] media: em28xx-audio: use irqsave() in USB's complete callback (Waiman Long) [1758629] - [x86] x86/mm/cpa: Optimize __cpa_flush_range() (Waiman Long) [1758629] - [x86] x86/mm/cpa: Factor common code between cpa_flush_*() (Waiman Long) [1758629] - [x86] x86/mm/cpa: Move CLFLUSH test into cpa_flush_array() (Waiman Long) [1758629] - [x86] x86/mm/cpa: Move CLFLUSH test into cpa_flush_range() (Waiman Long) [1758629] - [x86] x86/mm/cpa: Use flush_tlb_kernel_range() (Waiman Long) [1758629] - [x86] x86/mm/cpa: Unconditionally avoid WBINDV when we can (Waiman Long) [1758629] - [x86] x86/mm/cpa: Move flush_tlb_all() (Waiman Long) [1758629] - [x86] x86/mm/cpa: Use flush_tlb_all() (Waiman Long) [1758629] - [x86] x86/mm/cpa: Avoid the 4k pages check completely (Waiman Long) [1758629] - [x86] x86/mm/cpa: Do the range check early (Waiman Long) [1758629] - [x86] x86/mm/cpa: Optimize same protection check (Waiman Long) [1758629] - [x86] x86/mm/cpa: Add sanity check for existing mappings (Waiman Long) [1758629] - [x86] x86/mm/cpa: Avoid static protection checks on unmap (Waiman Long) [1758629] - [x86] x86/mm/cpa: Add large page preservation statistics (Waiman Long) [1758629] - [x86] x86/mm/cpa: Add debug mechanism (Waiman Long) [1758629] - [x86] x86/mm/cpa: Allow range check for static protections (Waiman Long) [1758629] - [x86] x86/mm/cpa: Rework static_protections() (Waiman Long) [1758629] - [x86] x86/mm/cpa: Split, rename and clean up try_preserve_large_page() (Waiman Long) [1758629] - [x86] x86/mm/init32: Mark text and rodata RO in one go (Waiman Long) [1758629] - [mm] mm/kasan/quarantine.c: make quarantine_lock a raw_spinlock_t (Waiman Long) [1758629] - [mm] mm/list_lru.c: fold __list_lru_count_one() into its caller (Waiman Long) [1758629] - [mm] mm: workingset: make shadow_lru_isolate() use locking suffix (Waiman Long) [1758629] - [mm] mm: workingset: remove local_irq_disable() from count_shadow_nodes() (Waiman Long) [1758629] - [iommu] iommu/amd: Remove redundant WARN_ON() (Waiman Long) [1758629] - [mm] mm/list_lru: introduce list_lru_shrink_walk_irq() (Waiman Long) [1758629] - [mm] mm/list_lru.c: pass struct list_lru_node* as an argument to __list_lru_walk_one() (Waiman Long) [1758629] - [mm] mm/list_lru.c: move locking from __list_lru_walk_one() to its caller (Waiman Long) [1758629] - [mm] mm/list_lru.c: use list_lru_walk_one() in list_lru_walk_node() (Waiman Long) [1758629] - [kernel] userns: use irqsave variant of refcount_dec_and_lock() (Waiman Long) [1758629] - [kernel] userns: use refcount_t for reference counting instead atomic_t (Waiman Long) [1758629] - [kernel] bdi: use irqsave variant of refcount_dec_and_lock() (Waiman Long) [1758629] - [mm] bdi: use refcount_t for reference counting instead atomic_t (Waiman Long) [1758629] - [char] random: remove preempt disabled region (Waiman Long) [1758629] - [misc] ocxl: Update for AFU descriptor template version 1.1 (Steve Best) [1751207] - [misc] ocxl: Make ocxl_remove() static (Steve Best) [1751207] - [misc] ocxl: do not use C++ style comments in uapi header (Steve Best) [1751207] - [misc] ocxl: Allow contexts to be attached with a NULL mm (Steve Best) [1751207] - [misc] ocxl: Fix return value check in afu_ioctl() (Steve Best) [1751207] - [misc] ocxl: Provide global MMIO accessors for external drivers (Steve Best) [1751207] - [misc] ocxl: move event_fd handling to frontend (Steve Best) [1751207] - [misc] ocxl: afu_irq only deals with IRQ IDs, not offsets (Steve Best) [1751207] - [misc] ocxl: Allow external drivers to use OpenCAPI contexts (Steve Best) [1751207] - [misc] ocxl: Create a clear delineation between ocxl backend & frontend (Steve Best) [1751207] - [misc] ocxl: Don't pass pci_dev around (Steve Best) [1751207] - [misc] ocxl: Split pci.c (Steve Best) [1751207] - [misc] ocxl: Remove some unused exported symbols (Steve Best) [1751207] - [misc] ocxl: Remove superfluous 'extern' from headers (Steve Best) [1751207] - [misc] ocxl: read_pasid never returns an error, so make it void (Steve Best) [1751207] - [misc] ocxl: Rename struct link to ocxl_link (Steve Best) [1751207] - [misc] ocxl: remove set but not used variables 'tid' and 'lpid' (Steve Best) [1751207] - [misc] ocxl: Fix endiannes bug in read_afu_name() (Steve Best) [1751207] - [misc] ocxl/afu_irq: Don't include (Steve Best) [1751207] - [misc] ocxl: Clarify error path in setup_xsl_irq() (Steve Best) [1751207] - [misc] ocxl: Fix endiannes bug in ocxl_link_update_pe() (Steve Best) [1751207] - [misc] ocxl: Fix access to the AFU Descriptor Data (Steve Best) [1751207] - [netdrv] gve: account for lack of netdev_xmit_more() definition (RHEL-only) (John Linville) [1728864] - [netdrv] gve: Copy and paste bug in gve_get_stats() (John Linville) [1728864] - [netdrv] gve: Fix case where desc_cnt and data_cnt can get out of sync (John Linville) [1728864] - [netdrv] gve: replace kfree with kvfree (John Linville) [1728864] - [netdrv] gve: Remove the exporting of gve_probe (John Linville) [1728864] - [netdrv] gve: fix unused variable/label warnings (John Linville) [1728864] - [netdrv] gve: Fix error return code in gve_alloc_qpls() (John Linville) [1728864] - [netdrv] gve: fix -ENOMEM null check on a page allocation (John Linville) [1728864] - [netdrv] gve: Fix u64_stats_sync to initialize start (John Linville) [1728864] - [netdrv] gve: Add ethtool support (John Linville) [1728864] - [netdrv] gve: Add workqueue and reset support (John Linville) [1728864] - [netdrv] gve: Add transmit and receive support (John Linville) [1728864] - [netdrv] gve: Add basic driver framework for Compute Engine Virtual NIC (John Linville) [1728864] - [mfd] mfd: intel-lpss: Add Intel Comet Lake PCI IDs (David Arcari) [1761586] - [scsi] scsi: core: save/restore command resid for error handling (Ewan Milne) [1760503] - [scsi] scsi: sd: Ignore a failure to sync cache due to lack of authorization (Ewan Milne) [1760503] - [scsi] scsi: core: Add sysfs attributes for VPD pages 0h and 89h (Ewan Milne) [1760503] - [scsi] scsi: core: Log SCSI command age with errors (Ewan Milne) [1760503] - [scsi] scsi: scsi_dh_rdac: zero cdb in send_mode_select() (Ewan Milne) [1760503] - [scsi] scsi: sd: Improve unaligned completion resid message (Ewan Milne) [1760503] - [scsi] scsi: core: Reduce memory required for SCSI logging (Ewan Milne) [1760503] - [scsi] scsi: core: Complain if scsi_target_block() fails (Ewan Milne) [1760503] - [scsi] scsi: core: Make scsi_internal_device_unblock_nowait() reject invalid new_state (Ewan Milne) [1760503] - [scsi] scsi: scsi_debugfs: Use for_each_set_bit to simplify code (Ewan Milne) [1760503] - [scsi] scsi: scsi_dh_alua: always use a 2 second delay before retrying RTPG (Ewan Milne) [1760503] - [scsi] scsi: sd_zbc: Fix compilation warning (Ewan Milne) [1760503] - [scsi] scsi: devinfo: BLIST_TRY_VPD_PAGES for SanDisk Cruzer Blade (Ewan Milne) [1760503] - [scsi] scsi: core: use scmd_printk() to print which command timed out (Ewan Milne) [1760503] - [scsi] scsi: Avoid that .queuecommand() gets called for a blocked SCSI device (Ewan Milne) [1760503] - [scsi] scsi: core: don't preallocate small SGL in case of NO_SG_CHAIN (Ewan Milne) [1760503] - [scsi] scsi: scsi_dh_alua: Fix possible null-ptr-deref (Ewan Milne) [1760503] - [scsi] scsi: st: add a SPDX tag to st.c (Ewan Milne) [1760503] - [scsi] scsi: sr: add a SPDX tag to sr.c (Ewan Milne) [1760503] - [scsi] scsi: sg: switch to SPDX tags (Ewan Milne) [1760503] - [scsi] scsi: sd: switch remaining files to SPDX tags (Ewan Milne) [1760503] - [scsi] scsi: sd: add a SPDX tag to sd.c (Ewan Milne) [1760503] - [scsi] scsi: scsi_transport_srp: switch to SPDX tags (Ewan Milne) [1760503] - [scsi] scsi: scsi_transport_spi: switch to SPDX tags (Ewan Milne) [1760503] - [scsi] scsi: scsi_transport_sas: switch to SPDX tags (Ewan Milne) [1760503] - [scsi] scsi: scsi_transport_iscsi: switch to SPDX tags (Ewan Milne) [1760503] - [scsi] scsi: scsi_transport_fc: switch to SPDX tags (Ewan Milne) [1760503] - [scsi] scsi: core: switch the remaining scsi midlayer files to use SPDX tags (Ewan Milne) [1760503] - [scsi] scsi: core: add SPDX tags to scsi midlayer files missing licensing information (Ewan Milne) [1760503] - [scsi] Revert "scsi: sd: Keep disk read-only when re-reading partition" (Ewan Milne) [1760503] - [scsi] scsi: core: set result when the command cannot be dispatched (Ewan Milne) [1760503] - [scsi] scsi: core: map PQ=1, PDT=other values to SCSI_SCAN_TARGET_PRESENT (Ewan Milne) [1760503] - [scsi] scsi: core: don't hold device refcount in IO path (Ewan Milne) [1760503] - [scsi] scsi: sd: Quiesce warning if device does not report optimal I/O size (Ewan Milne) [1760503] - [scsi] scsi: core: Use HCTX_TYPE_DEFAULT for blk_mq_tag_set->map (Ewan Milne) [1760503] - [scsi] scsi: core: Avoid that a kernel warning appears during system resume (Ewan Milne) [1760503] - [scsi] scsi: core: Also call destroy_rcu_head() for passthrough requests (Ewan Milne) [1760503] - [scsi] scsi: core: replace GFP_ATOMIC with GFP_KERNEL in scsi_scan.c (Ewan Milne) [1760503] - [scsi] scsi: sd: Optimal I/O size should be a multiple of physical block size (Ewan Milne) [1760503] - [scsi] scsi: sd: Fix typo in sd_first_printk() (Ewan Milne) [1760503] - [scsi] scsi: scsi_debug: Implement support for write protect (Ewan Milne) [1760503] - [scsi] scsi: sd_zbc: Fix zone information messages (Ewan Milne) [1760503] - [scsi] scsi: sd: Improve sd_print_capacity() (Ewan Milne) [1760503] - [scsi] scsi: scsi_debug: fix write_same with virtual_gb problem (Ewan Milne) [1760503] - [scsi] scsi: sd: Protect against READ(6) or WRITE(6) with zero block transfer length (Ewan Milne) [1760503] - [scsi] scsi: core: Remove an atomic instruction from the hot path (Ewan Milne) [1760503] - [scsi] scsi: sd: Rename 'SCpnt' into 'cmd' (Ewan Milne) [1760503] - [scsi] scsi: sd: Clean up sd_setup_read_write_cmnd() (Ewan Milne) [1760503] - [scsi] scsi: sd: Create helper functions for read/write commands (Ewan Milne) [1760503] - [scsi] scsi: sd: Simplify misaligned I/O check (Ewan Milne) [1760503] - [scsi] scsi: sd: Be consistent about blocks vs. sectors (Ewan Milne) [1760503] - [scsi] scsi: sd: Remove a local variable (Ewan Milne) [1760503] - [scsi] scsi: scsi_debug: add cmd abort option to every_nth (Ewan Milne) [1760503] - [scsi] scsi: scsi_debug: skip long delays when ndelay small (Ewan Milne) [1760503] - [x86] efi/x86: Do not clean dummy variable in kexec path (Bhupesh Sharma) [1724436] - [scsi] scsi: csiostor: create per port irq affinity mask set (Jonathan Toppins) [1725816] - [pci] PCI: let pci_disable_link_state propagate errors (Myron Stowe) [1735834] - [scsi] scsi: scsi_transport_fc: Add FPIN fc event codes (Ewan Milne) [1755587] - [scsi] scsi: scsi_transport_fc: refactor event posting routines (Ewan Milne) [1755587] - [scsi] scsi: fc: add FPIN ELS definition (Ewan Milne) [1755587] - [scsi] scsi: lib/sg_pool.c: clear 'first_chunk' in case of no preallocation (Ewan Milne) [1747162] - [scsi] scsi: core: Run queue when state is set to running after being blocked (Ewan Milne) [1691599] - [scsi] scsi: sd: Fix a race between closing an sd device and sd I/O (Ewan Milne) [1689118] - [net] net/ibmvnic: Fix EOI when running in XIVE mode. (Steve Best) [1761378] - [powerpc] powerpc/mce: Fix SLB rebolting during MCE recovery path. (Desnes Augusto Nunes do Rosario) [1725842] - [powerpc] powerpc/pseries: hwpoison the pages upon hitting UE (Desnes Augusto Nunes do Rosario) [1725842] - [x86] perf/x86/amd: Change/fix NMI latency mitigation to use a timestamp (David Arcari) [1730134] - [arm64] arm64: entry: Remove unneeded need_resched() loop (Mark Langsdorf) [1737075] - [arm64] arm64: preempt: Fix big-endian when checking preempt count in assembly (Mark Langsdorf) [1737075] - [arm64] arm64: preempt: Provide our own implementation of asm/preempt.h (Mark Langsdorf) [1737075] - [include] preempt: Move PREEMPT_NEED_RESCHED definition into arch code (Mark Langsdorf) [1737075] - [x86] x86/intel_rdt: Ensure a CPU remains online for the region's pseudo-locking sequence (Alexander Beregalov) [1724902] - [kernel] perf/core: Add sanity check to deal with pinned event failure (Alexander Beregalov) [1724902] - [arm64] arm64/sve: Fix wrong free for task->thread.sve_state (Andrew Jones) [1756450] - [scsi] scsi: lpfc: Update lpfc version to 12.4.0.1 (Dick Kennedy) [1757574] - [scsi] scsi: lpfc: cleanup: remove unused fcp_txcmlpq_cnt (Dick Kennedy) [1757574] - [scsi] scsi: lpfc: Complete removal of FCoE T10 PI support on SLI-4 adapters (Dick Kennedy) [1757574] - [scsi] scsi: lpfc: Update async event logging (Dick Kennedy) [1757574] - [scsi] scsi: lpfc: Fix list corruption detected in lpfc_put_sgl_per_hdwq (Dick Kennedy) [1757574] - [scsi] scsi: lpfc: Fix hdwq sgl locks and irq handling (Dick Kennedy) [1757574] - [scsi] scsi: lpfc: Fix spinlock_irq issues in lpfc_els_flush_cmd() (Dick Kennedy) [1757574] - [scsi] scsi: lpfc: Fix list corruption in lpfc_sli_get_iocbq (Dick Kennedy) [1757574] - [scsi] scsi: lpfc: Fix host hang at boot or slow boot (Dick Kennedy) [1757574] - [scsi] scsi: lpfc: Fix coverity errors on NULL pointer checks (Dick Kennedy) [1757574] - [scsi] scsi: lpfc: Fix NVMe ABTS in response to receiving an ABTS (Dick Kennedy) [1757574] - [scsi] scsi: lpfc: Fix discovery failures when target device connectivity bounces (Dick Kennedy) [1757574] - [scsi] scsi: lpfc: Fix GPF on scsi command completion (Dick Kennedy) [1757574] - [scsi] scsi: lpfc: Fix locking on mailbox command completion (Dick Kennedy) [1757574] - [scsi] scsi: lpfc: Fix device recovery errors after PLOGI failures (Dick Kennedy) [1757574] - [scsi] scsi: lpfc: Fix rpi release when deleting vport (Dick Kennedy) [1757574] - [scsi] scsi: lpfc: Fix NVME io abort failures causing hangs (Dick Kennedy) [1757574] - [scsi] scsi: lpfc: Fix miss of register read failure check (Dick Kennedy) [1757574] - [scsi] scsi: lpfc: Fix premature re-enabling of interrupts in lpfc_sli_host_down (Dick Kennedy) [1757574] - [scsi] scsi: lpfc: Fix pt2pt discovery on SLI3 HBAs (Dick Kennedy) [1757574] - [scsi] scsi: lpfc: Fix reset recovery paths that are not recovering (Dick Kennedy) [1757574] - [scsi] scsi: lpfc: Convert existing pf users to ps (Dick Kennedy) [1757574] - [scsi] scsi: lpfc: fix 12.4.0.0 GPF at boot (Dick Kennedy) [1757574] - [scsi] scsi: lpfc: Remove bg debugfs buffers (Dick Kennedy) [1757574] - [scsi] scsi: lpfc: Resolve checker warning for lpfc_new_io_buf() (Dick Kennedy) [1757574] - [scsi] scsi: lpfc: Update lpfc version to 12.4.0.0 (Dick Kennedy) [1757574] - [scsi] scsi: lpfc: Merge per-protocol WQ/CQ pairs into single per-cpu pair (Dick Kennedy) [1757574] - [scsi] scsi: lpfc: Add NVMe sequence level error recovery support (Dick Kennedy) [1757574] - [scsi] scsi: lpfc: Support dynamic unbounded SGL lists on G7 hardware. (Dick Kennedy) [1757574] - [scsi] scsi: lpfc: Add MDS driver loopback diagnostics support (Dick Kennedy) [1757574] - [scsi] scsi: lpfc: Add first and second level hardware revisions to sysfs reporting (Dick Kennedy) [1757574] - [scsi] scsi: lpfc: Migrate to px and pf in kernel print calls (Dick Kennedy) [1757574] - [scsi] scsi: lpfc: Add simple unlikely optimizations to reduce NVME latency (Dick Kennedy) [1757574] - [scsi] scsi: lpfc: Fix coverity warnings (Dick Kennedy) [1757574] - [scsi] scsi: lpfc: Fix nvme first burst module parameter description (Dick Kennedy) [1757574] - [scsi] scsi: lpfc: Fix BlockGuard enablement on FCoE adapters (Dick Kennedy) [1757574] - [scsi] scsi: lpfc: Fix reported physical link speed on a disabled trunked link (Dick Kennedy) [1757574] - [scsi] scsi: lpfc: Fix Max Frame Size value shown in fdmishow output (Dick Kennedy) [1757574] - [scsi] scsi: lpfc: Fix upcall to bsg done in non-success cases (Dick Kennedy) [1757574] - [scsi] scsi: lpfc: Fix sli4 adapter initialization with MSI (Dick Kennedy) [1757574] - [scsi] scsi: lpfc: Fix nvme sg_seg_cnt display if HBA does not support NVME (Dick Kennedy) [1757574] - [scsi] scsi: lpfc: Fix nvme target mode ABTSing a received ABTS (Dick Kennedy) [1757574] - [scsi] scsi: lpfc: Fix hang when downloading fw on port enabled for nvme (Dick Kennedy) [1757574] - [scsi] scsi: lpfc: Fix too many sg segments spamming in kernel log (Dick Kennedy) [1757574] - [scsi] scsi: lpfc: Fix crash due to port reset racing vs adapter error handling (Dick Kennedy) [1757574] - [scsi] scsi: lpfc: Fix deadlock on host_lock during cable pulls (Dick Kennedy) [1757574] - [scsi] scsi: lpfc: Fix error in remote port address change (Dick Kennedy) [1757574] - [scsi] scsi: lpfc: Fix driver nvme rescan logging (Dick Kennedy) [1757574] - [scsi] scsi: lpfc: Fix sg_seg_cnt for HBAs that don't support NVME (Dick Kennedy) [1757574] - [scsi] scsi: lpfc: Fix propagation of devloss_tmo setting to nvme transport (Dick Kennedy) [1757574] - [scsi] scsi: lpfc: Fix loss of remote port after devloss due to lack of RPIs (Dick Kennedy) [1757574] - [scsi] scsi: lpfc: Fix devices that don't return after devloss followed by rediscovery (Dick Kennedy) [1757574] - [scsi] scsi: lpfc: Fix null ptr oops updating lpfc_devloss_tmo via sysfs attribute (Dick Kennedy) [1757574] - [scsi] scsi: lpfc: Fix FLOGI handling across multiple link up/down conditions (Dick Kennedy) [1757574] - [scsi] scsi: lpfc: Fix irq raising in lpfc_sli_hba_down (Dick Kennedy) [1757574] - [scsi] scsi: lpfc: Fix Oops in nvme_register with target logout/login (Dick Kennedy) [1757574] - [scsi] scsi: lpfc: Fix issuing init_vpi mbox on SLI-3 card (Dick Kennedy) [1757574] - [scsi] scsi: lpfc: Fix ADISC reception terminating login state if a NVME target (Dick Kennedy) [1757574] - [scsi] scsi: lpfc: Fix discovery when target has no GID_FT information (Dick Kennedy) [1757574] - [scsi] scsi: lpfc: Fix leak of ELS completions on adapter reset (Dick Kennedy) [1757574] - [scsi] scsi: lpfc: Fix failure to clear non-zero eq_delay after io rate reduction (Dick Kennedy) [1757574] - [scsi] scsi: lpfc: Fix crash on driver unload in wq free (Dick Kennedy) [1757574] - [scsi] scsi: lpfc: Fix ELS field alignments (Dick Kennedy) [1757574] - [scsi] scsi: lpfc: Fix PLOGI failure with high remoteport count (Dick Kennedy) [1757574] - [scsi] scsi: lpfc: remove NULL check before some freeing functions (Dick Kennedy) [1757574] - [scsi] scsi: lpfc: use spin_lock_irqsave in IRQ context (Dick Kennedy) [1757574] - [scsi] scsi: lpfc: remove redundant code (Dick Kennedy) [1757574] - [scsi] scsi: lpfc: Remove unnecessary null check before kfree (Dick Kennedy) [1757574] - [scripts] scripts/spelling.txt: drop "sepc" from the misspelling list (Dick Kennedy) [1757574] - [scsi] scsi: lpfc: reduce stack size with CONFIG_GCC_PLUGIN_STRUCTLEAK_VERBOSE (Dick Kennedy) [1757574] - [scsi] lpfc: add sysfs interface to post NVME RSCN (Dick Kennedy) [1757574] - [scsi] lpfc: add support for translating an RSCN rcv into a discovery rescan (Dick Kennedy) [1757574] - [scsi] lpfc: add support to generate RSCN events for nport (Dick Kennedy) [1757574] - [scsi] scsi: lpfc: use sg helper to iterate over scatterlist (Dick Kennedy) [1757574] - [scsi] scsi: lpfc: Avoid unused function warnings (Dick Kennedy) [1757574] - [scsi] scsi: lpfc: Make some symbols static (Dick Kennedy) [1757574] - [scsi] scsi: lpfc: Remove set but not used variables 'qp' (Dick Kennedy) [1757574] - [lib] lib/vsprintf: Reinstate printing of legacy clock IDs (Prarit Bhargava) [1751075] - [lib] vsprintf: fix data type of variable in string_nocheck() (Prarit Bhargava) [1751075] - [scripts] kconfig: tests: fix recursive inclusion unit test (Prarit Bhargava) [1751075] - [kernel] printk: Replace GPLv2 boilerplate/reference with SPDX - rule 13 (Prarit Bhargava) [1751075] - [kernel] printk: Add SPDX license identifier for missed files (Prarit Bhargava) [1751075] - [kernel] printk: Add SPDX license identifier for more missed files (Prarit Bhargava) [1751075] - [kernel] panic: add an option to replay all the printk message in buffer (Prarit Bhargava) [1751075] - [kernel] panic: avoid the extra noise dmesg (Prarit Bhargava) [1751075] - [lib] vsprintf: Do not break early boot with probing addresses (Prarit Bhargava) [1751075] - [lib] lib/vsprintf: Make function pointer_string static (Prarit Bhargava) [1751075] - [lib] vsprintf: Limit the length of inlined error messages (Prarit Bhargava) [1751075] - [lib] vsprintf: Avoid confusion between invalid address and value (Prarit Bhargava) [1751075] - [lib] vsprintf: Prevent crash when dereferencing invalid pointers (Prarit Bhargava) [1751075] - [lib] vsprintf: Consolidate handling of unknown pointer specifiers (Prarit Bhargava) [1751075] - [lib] vsprintf: Factor out pO handler as kobject_string() (Prarit Bhargava) [1751075] - [lib] vsprintf: Factor out pV handler as va_format() (Prarit Bhargava) [1751075] - [lib] vsprintf: Factor out p[iI] handler as ip_addr_string() (Prarit Bhargava) [1751075] - [lib] vsprintf: Do not check address of well-known strings (Prarit Bhargava) [1751075] - [lib] vsprintf: Consistent pK handling for kptr_restrict == 0 (Prarit Bhargava) [1751075] - [lib] vsprintf: Shuffle restricted_pointer() (Prarit Bhargava) [1751075] - [kernel] printk: Tie printk_once / printk_deferred_once into .data.once for reset (Prarit Bhargava) [1751075] - [lib] lib: Use new kselftest header (Prarit Bhargava) [1751075] - [lib] lib/test_printf: Add empty module_exit function (Prarit Bhargava) [1751075] - [scripts] checkpatch: add pt as a valid vsprintf extension (Prarit Bhargava) [1751075] - [lib] lib/test_printf: Switch to bitmap_zalloc() (Prarit Bhargava) [1751075] - [lib] lib/vsprintf.c: move sizeof(struct printf_spec) next to its definition (Prarit Bhargava) [1751075] - [kernel] printk/docs: Add extra integer types to printk-formats (Prarit Bhargava) [1751075] - [kernel] printk: Remove no longer used LOG_PREFIX. (Prarit Bhargava) [1751075] - [lib] lib/vsprintf: Remove pCr remnant in comment (Prarit Bhargava) [1751075] - [kernel] printk: Pass caller information to log_store(). (Prarit Bhargava) [1751075] - [kernel] kernel/sysctl: add panic_print into sysctl (Prarit Bhargava) [1751075] - [kernel] panic: add options to print system info when panic happens (Prarit Bhargava) [1751075] - [include] include/linux/printk.h: drop silly "static inline asmlinkage" from dump_stack() (Prarit Bhargava) [1751075] - [kernel] printk: Add caller information to printk() output. (Prarit Bhargava) [1751075] - [kernel] printk: Remove print_prefix() calls with NULL buffer. (Prarit Bhargava) [1751075] - [lib] lib/vsprintf: Print time and date in human readable format via pt (Prarit Bhargava) [1751075] - [kernel] printk: fix printk_time race. (Prarit Bhargava) [1751075] - [kernel] printk: Make printk_emit() local function. (Prarit Bhargava) [1751075] - [documentation] doc: printk-formats: Remove bogus kobject references for device nodes (Prarit Bhargava) [1751075] - [lib] lib/vsprintf: Hash printed address for netdev bits fallback (Prarit Bhargava) [1751075] - [lib] lib/vsprintf: Hash legacy clock addresses (Prarit Bhargava) [1751075] - [lib] lib/vsprintf: Prepare for more general use of ptr_to_id() (Prarit Bhargava) [1751075] - [lib] lib/vsprintf: Make ptr argument conts in ptr_to_id() (Prarit Bhargava) [1751075] - [kernel] printk: fix integer overflow in setup_log_buf() (Prarit Bhargava) [1751075] - [kernel] printk: do not preliminary split up cont buffer (Prarit Bhargava) [1751075] - [kernel] printk: lock/unlock console only for new logbuf entries (Prarit Bhargava) [1751075] - [kernel] printk: keep kernel cont support always enabled (Prarit Bhargava) [1751075] - [kernel] printk: Give error on attempt to set log buffer length to over 2G (Prarit Bhargava) [1751075] - [kernel] printk: Add KBUILD_MODNAME and remove a redundant print prefix (Prarit Bhargava) [1751075] - [kernel] printk: Correct wrong casting (Prarit Bhargava) [1751075] - [kernel] printk: CON_PRINTBUFFER console registration is a bit racy (Prarit Bhargava) [1751075] - [kernel] printk: Do not miss new messages when replaying the log (Prarit Bhargava) [1751075] - [kernel] Revert "printk: make sure to print log on console." (Prarit Bhargava) [1751075] - [lib] vsprintf: print OF node name using full_name (Prarit Bhargava) [1751075] - [kernel] printk/tracing: Do not trace printk_nmi_enter() (Prarit Bhargava) [1751075] - [misc] notifier: Remove notifier header file wherever not used (Prarit Bhargava) [1751075] - [init] init: allow initcall tables to be emitted using relative references (Prarit Bhargava) [1751075] - [lib] lib/vsprintf: Do not handle pO[^F] as px (Prarit Bhargava) [1751075] - [kernel] console: Replace #if 0 with atomic var 'ignore_console_lock_warning' (Prarit Bhargava) [1751075] - [lib] vsprintf: Use hw RNG for ptr_key (Prarit Bhargava) [1751075] - [kernel] printk: Fix warning about unused suppress_message_printing (Prarit Bhargava) [1751075] - [char] random: Return nbytes filled from hw RNG (Prarit Bhargava) [1751075] - [char] random: Fix whitespace pre random-bytes work (Prarit Bhargava) [1751075] - [kernel] printk/nmi: Prevent deadlock when accessing the main log buffer in NMI (Prarit Bhargava) [1751075] - [kernel] printk: Create helper function to queue deferred console handling (Prarit Bhargava) [1751075] - [kernel] printk: Split the code for storing a message into the log buffer (Prarit Bhargava) [1751075] - [kernel] printk: Clean up syslog_print_all() (Prarit Bhargava) [1751075] - [kernel] printk: Export is_console_locked (Prarit Bhargava) [1751075] - [kernel] printk: Remove unnecessary kmalloc() from syslog during clear (Prarit Bhargava) [1751075] - [kernel] printk: Make CONSOLE_LOGLEVEL_QUIET configurable (Prarit Bhargava) [1751075] - [kernel] printk: make sure to print log on console. (Prarit Bhargava) [1751075] - [lib] lib/test_printf.c: accept "ptrval" as valid result for plain 'p' tests (Prarit Bhargava) [1751075] - [kernel] softirq: Remove tasklet_hrtimer (Prarit Bhargava) [1737073] - [include] list: add function list_rotate_to_front() (Prarit Bhargava) [1737073] - [clocksource] clocksource/drivers/tcb_clksrc: Rename the file for consistency (Prarit Bhargava) [1737073] - [clocksource] clocksource/drivers/tcb_clksrc: Move Kconfig option (Prarit Bhargava) [1737073] - [clocksource] clocksource/drivers/tcb_clksrc: Use tcb as sched_clock (Prarit Bhargava) [1737073] - [kernel] irq_work: Do not raise an IPI when queueing work on the local CPU (Prarit Bhargava) [1737073] - [tty] tty/sysrq: Convert show_lock to raw_spinlock_t (Prarit Bhargava) [1737073] - [net] xfrm: Replace hrtimer tasklet with softirq hrtimer (Prarit Bhargava) [1737073] - [netdrv] mac80211_hwsim: Replace hrtimer tasklet with softirq hrtimer (Prarit Bhargava) [1737073] - [kernel] kthread: Do not use TIMER_IRQSAFE (Prarit Bhargava) [1737073] - [kernel] kthread: Convert worker lock to raw spinlock (Prarit Bhargava) [1737073] - [netdrv] mac80211_hwsim: Timer should be initialized before device registered (Prarit Bhargava) [1737073] - [net] xfrm: use time64_t for in-kernel timestamps (Prarit Bhargava) [1737073] - [x86] x86/intel: Aggregate microserver naming (Prarit Bhargava) [1725644] - [x86] x86/intel: Aggregate big core graphics naming (Prarit Bhargava) [1725644] - [x86] x86/intel: Aggregate big core mobile naming (Prarit Bhargava) [1725644] - [x86] x86/intel: Aggregate big core client naming (Prarit Bhargava) [1725644] - [tools] turbostat: Replace GPLv2 boilerplate/reference with SPDX - rule 335 (Prarit Bhargava) [1725644] - [tools] tools/power turbostat: update version number (Prarit Bhargava) [1725644] - [tools] tools/power turbostat: rename has_hsw_msrs() (Prarit Bhargava) [1725644] - [tools] tools/power turbostat: Fix Haswell Core systems (Prarit Bhargava) [1725644] - [tools] tools/power turbostat: Add support for Hygon Fam 18h (Dhyana) RAPL (Prarit Bhargava) [1725644] - [tools] tools/power turbostat: Fix caller parameter of get_tdp_amd() (Prarit Bhargava) [1725644] - [tools] tools/power turbostat: Fix CPUC1 display value (Prarit Bhargava) [1725644] - [tools] tools/power turbostat: do not enforce 1ms (Prarit Bhargava) [1725644] - [tools] tools/power turbostat: read from pipes too (Prarit Bhargava) [1725644] - [tools] tools/power turbostat: Add Ice Lake NNPI support (Prarit Bhargava) [1725644] - [tools] tools/power turbostat: add Jacobsville support (Prarit Bhargava) [1725644] - [tools] tools/power turbostat: remove duplicate pc10 column (Prarit Bhargava) [1725644] - [tools] tools/power turbostat: fix file descriptor leaks (Prarit Bhargava) [1725644] - [tools] tools/power turbostat: fix leak of file descriptor on error return path (Prarit Bhargava) [1725644] - [tools] tools/power turbostat: fix buffer overrun (Prarit Bhargava) [1725644] - [tools] tools/power turbostat: Make interval calculation per thread to reduce jitter (Prarit Bhargava) [1725644] - [tools] tools/power/x86: Enable compiler optimisations and Fortify by default (Prarit Bhargava) [1725644] - [x86] x86/cpu: Add Ice Lake NNPI to Intel family (Prarit Bhargava) [1725644]- [tools] perf tools: Fix segfault in cpu_cache_level__read() (Michael Petlan) [1761995] - [scsi] qla2xxx: Update driver version to 10.01.00.19.08.2-k (Himanshu Madhani) [1728845] - [scsi] scsi: qla2xxx: Fix Nport ID display value (Himanshu Madhani) [1728845] - [scsi] scsi: qla2xxx: Fix N2N link up fail (Himanshu Madhani) [1728845] - [scsi] scsi: qla2xxx: Fix N2N link reset (Himanshu Madhani) [1728845] - [scsi] scsi: qla2xxx: Optimize NPIV tear down process (Himanshu Madhani) [1728845] - [scsi] scsi: qla2xxx: Fix stale mem access on driver unload (Himanshu Madhani) [1728845] - [scsi] scsi: qla2xxx: Fix unbound sleep in fcport delete path. (Himanshu Madhani) [1728845] - [scsi] scsi: qla2xxx: Silence fwdump template message (Himanshu Madhani) [1728845] - [scsi] scsi: qla2xxx: Fix stale session (Himanshu Madhani) [1728845] - [scsi] scsi: qla2xxx: Fix stuck login session (Himanshu Madhani) [1728845] - [scsi] scsi: qla2xxx: Fix driver reload for ISP82xx (Himanshu Madhani) [1728845] - [scsi] scsi: qla2xxx: Fix flash read for Qlogic ISPs (Himanshu Madhani) [1728845] - [scsi] scsi: qla2xxx: Fix message indicating vectors used by driver (Himanshu Madhani) [1728845] - [scsi] scsi: qla2xxx: fix spelling mistake "initializatin" -> "initialization" (Himanshu Madhani) [1728845] - [scsi] scsi: qla2xxx: Fix a recently introduced kernel warning (Himanshu Madhani) [1728845] - [scsi] scsi: qla2xxx: Fix a NULL pointer dereference (Himanshu Madhani) [1728845] - [scsi] scsi: qla2xxx: Simplify qla24xx_async_abort_cmd() (Himanshu Madhani) [1728845] - [scsi] scsi: qla2xxx: Remove two superfluous if-tests (Himanshu Madhani) [1728845] - [scsi] scsi: qla2xxx: Introduce qla2x00_els_dcmd2_free() (Himanshu Madhani) [1728845] - [scsi] scsi: qla2xxx: Inline the qla2x00_fcport_event_handler() function (Himanshu Madhani) [1728845] - [scsi] scsi: qla2xxx: Report invalid mailbox status codes (Himanshu Madhani) [1728845] - [scsi] scsi: qla2xxx: Remove superfluous sts_entry_* casts (Himanshu Madhani) [1728845] - [scsi] scsi: qla2xxx: Let the compiler check the type of the SCSI command context pointer (Himanshu Madhani) [1728845] - [scsi] scsi: qla2xxx: Complain if sp->done() is not called from the completion path (Himanshu Madhani) [1728845] - [scsi] scsi: qla2xxx: Make sure that aborted commands are freed (Himanshu Madhani) [1728845] - [scsi] scsi: qla2xxx: Introduce qla2xxx_get_next_handle() (Himanshu Madhani) [1728845] - [scsi] scsi: qla2xxx: Modify NVMe include directives (Himanshu Madhani) [1728845] - [scsi] scsi: qla2xxx: Make qlt_handle_abts_completion() more robust (Himanshu Madhani) [1728845] - [scsi] scsi: qla2xxx: Fix a race condition between aborting and completing a SCSI command (Himanshu Madhani) [1728845] - [scsi] scsi: qla2xxx: Introduce the function qla2xxx_init_sp() (Himanshu Madhani) [1728845] - [scsi] scsi: qla2xxx: Enable type checking for the SRB free and done callback functions (Himanshu Madhani) [1728845] - [scsi] scsi: qla2xxx: Rework key encoding in qlt_find_host_by_d_id() (Himanshu Madhani) [1728845] - [scsi] scsi: qla2xxx: Set the responder mode if appropriate for ELS pass-through IOCBs (Himanshu Madhani) [1728845] - [scsi] scsi: qla2xxx: Make it explicit that ELS pass-through IOCBs use little endian (Himanshu Madhani) [1728845] - [scsi] scsi: qla2xxx: Check secondary image if reading the primary image fails (Himanshu Madhani) [1728845] - [scsi] scsi: qla2xxx: Change the return type of qla24xx_read_flash_data() (Himanshu Madhani) [1728845] - [scsi] scsi: qla2xxx: Introduce the be_id_t and le_id_t data types for FC src/dst IDs (Himanshu Madhani) [1728845] - [scsi] scsi: qla2xxx: Complain if a soft reset fails (Himanshu Madhani) [1728845] - [scsi] scsi: qla2xxx: Use memcpy() and strlcpy() instead of strcpy() and strncpy() (Himanshu Madhani) [1728845] - [scsi] scsi: qla2xxx: Check the PCI info string output buffer size (Himanshu Madhani) [1728845] - [scsi] scsi: qla2xxx: Complain if waiting for pending commands times out (Himanshu Madhani) [1728845] - [scsi] scsi: qla2xxx: Declare fourth qla2x00_set_model_info() argument const (Himanshu Madhani) [1728845] - [scsi] scsi: qla2xxx: Always check the qla2x00_wait_for_hba_online() return value (Himanshu Madhani) [1728845] - [scsi] scsi: qla2xxx: Suppress multiple Coverity complaint about out-of-bounds accesses (Himanshu Madhani) [1728845] - [scsi] scsi: qla2xxx: Suppress a Coveritiy complaint about integer overflow (Himanshu Madhani) [1728845] - [scsi] scsi: qla2xxx: Remove unreachable code from qla83xx_idc_lock() (Himanshu Madhani) [1728845] - [scsi] scsi: qla2xxx: Fix qla24xx_process_bidir_cmd() (Himanshu Madhani) [1728845] - [scsi] scsi: qla2xxx: Simplify a debug statement (Himanshu Madhani) [1728845] - [scsi] scsi: qla2xxx: Remove dead code (Himanshu Madhani) [1728845] - [scsi] scsi: qla2xxx: Complain if parsing the version string fails (Himanshu Madhani) [1728845] - [scsi] scsi: qla2xxx: Complain if a mailbox command times out (Himanshu Madhani) [1728845] - [scsi] scsi: qla2xxx: Use strlcpy() instead of strncpy() (Himanshu Madhani) [1728845] - [scsi] scsi: qla2xxx: Do not corrupt vha->plogi_ack_list (Himanshu Madhani) [1728845] - [scsi] scsi: qla2xxx: Report the firmware status code if a mailbox command fails (Himanshu Madhani) [1728845] - [scsi] scsi: qla2xxx: Fix session lookup in qlt_abort_work() (Himanshu Madhani) [1728845] - [scsi] scsi: qla2xxx: Simplify qla24xx_abort_sp_done() (Himanshu Madhani) [1728845] - [scsi] scsi: qla2xxx: Remove two superfluous tests (Himanshu Madhani) [1728845] - [scsi] scsi: qla2xxx: Remove a superfluous pointer check (Himanshu Madhani) [1728845] - [scsi] scsi: qla2xxx: Simplify qlt_lport_dump() (Himanshu Madhani) [1728845] - [scsi] scsi: qla2xxx: Reduce the number of casts in GID list code (Himanshu Madhani) [1728845] - [scsi] scsi: qla2xxx: Verify locking assumptions at runtime (Himanshu Madhani) [1728845] - [scsi] scsi: qla2xxx: Change data_dsd into an array (Himanshu Madhani) [1728845] - [scsi] scsi: qla2xxx: Declare qla_tgt_cmd.cdb const (Himanshu Madhani) [1728845] - [scsi] scsi: qla2xxx: Reduce the scope of three local variables in qla2xxx_queuecommand() (Himanshu Madhani) [1728845] - [scsi] scsi: qla2xxx: Change the return type of qla2x00_update_ms_fdmi_iocb() into void (Himanshu Madhani) [1728845] - [scsi] scsi: qla2xxx: Declare the fourth ql_dump_buffer() argument const (Himanshu Madhani) [1728845] - [scsi] scsi: qla2xxx: Remove a superfluous forward declaration (Himanshu Madhani) [1728845] - [scsi] scsi: qla2xxx: Remove an include directive from qla_mr.c (Himanshu Madhani) [1728845] - [scsi] scsi: qla2xxx: Include the header file from qla_dsd.h (Himanshu Madhani) [1728845] - [scsi] scsi: qla2xxx: Use tabs instead of spaces for indentation (Himanshu Madhani) [1728845] - [scsi] scsi: qla2xxx: Improve Linux kernel coding style conformance (Himanshu Madhani) [1728845] - [scsi] scsi: qla2xxx: Really fix qla2xxx_eh_abort() (Himanshu Madhani) [1728845] - [scsi] scsi: qla2xxx: Make qla2x00_abort_srb() again decrease the sp reference count (Himanshu Madhani) [1728845] - [scsi] scsi: qla2xxx: Allow NVMe IO to resume with short cable pull (Himanshu Madhani) [1728845] - [scsi] scsi: qla2xxx: Fix hang in fcport delete path (Himanshu Madhani) [1728845] - [scsi] scsi: qla2xxx: Use common update-firmware-options routine for ISP27xx+ (Himanshu Madhani) [1728845] - [scsi] scsi: qla2xxx: Fix NVMe port discovery after a short device port loss (Himanshu Madhani) [1728845] - [scsi] scsi: qla2xxx: Correct error handling during initialization failures (Himanshu Madhani) [1728845] - [scsi] scsi: qla2xxx: Retry fabric Scan on IOCB queue full (Himanshu Madhani) [1728845] - [scsi] scsi: qla2xxx: Fix premature timer expiration (Himanshu Madhani) [1728845] - [scsi] scsi: qla2xxx: Fix Relogin to prevent modifying scan_state flag (Himanshu Madhani) [1728845] - [scsi] scsi: qla2xxx: Reject EH_{abort|device_reset|target_request} (Himanshu Madhani) [1728845] - [scsi] scsi: qla2xxx: Skip FW dump on LOOP initialization error (Himanshu Madhani) [1728845] - [scsi] scsi: qla2xxx: Use Correct index for Q-Pair array (Himanshu Madhani) [1728845] - [scsi] scsi: qla2xxx: Fix abort timeout race condition. (Himanshu Madhani) [1728845] - [scsi] scsi: qla2xxx: Fix DMA unmap leak (Himanshu Madhani) [1728845] - [scsi] scsi: qla2xxx: Replace vmalloc + memset with vzalloc (Himanshu Madhani) [1728845] - [scsi] scsi: qla2xxx: Remove unnecessary null check (Himanshu Madhani) [1728845] - [scsi] scsi: qla2xxx: remove double assignment in qla2x00_update_fcport (Himanshu Madhani) [1728845] - [scsi] scsi: qla2xxx: Add cleanup for PCI EEH recovery (Himanshu Madhani) [1728845] - [scsi] scsi: qla2xxx: Avoid that lockdep complains about unsafe locking in tcm_qla2xxx_close_session() (Himanshu Madhani) [1728845] - [scsi] scsi: qla2xxx: Avoid that qlt_send_resp_ctio() corrupts memory (Himanshu Madhani) [1728845] - [scsi] scsi: qla2xxx: Use __le64 instead of uint32_t[2] for sending DMA addresses to firmware (Himanshu Madhani) [1728845] - [scsi] scsi: qla2xxx: Introduce the dsd32 and dsd64 data structures (Himanshu Madhani) [1728845] - [scsi] scsi: qla2xxx: Check the size of firmware data structures at compile time (Himanshu Madhani) [1728845] - [scsi] scsi: qla2xxx: Pass little-endian values to the firmware (Himanshu Madhani) [1728845] - [scsi] scsi: qla2xxx: Make qla24xx_async_abort_cmd() static (Himanshu Madhani) [1728845] - [scsi] scsi: qla2xxx: Remove unnecessary locking from the target code (Himanshu Madhani) [1728845] - [scsi] scsi: qla2xxx: Remove qla_tgt_cmd.released (Himanshu Madhani) [1728845] - [scsi] scsi: qla2xxx: Complain if a command is released that is owned by the firmware (Himanshu Madhani) [1728845] - [scsi] scsi: qla2xxx: target: Fix offline port handling and host reset handling (Himanshu Madhani) [1728845] - [scsi] scsi: qla2xxx: Fix abort handling in tcm_qla2xxx_write_pending() (Himanshu Madhani) [1728845] - [scsi] scsi: qla2xxx: Fix error handling in qlt_alloc_qfull_cmd() (Himanshu Madhani) [1728845] - [scsi] scsi: qla2xxx: Simplify qlt_send_term_imm_notif() (Himanshu Madhani) [1728845] - [scsi] scsi: qla2xxx: Fix use-after-free issues in qla2xxx_qpair_sp_free_dma() (Himanshu Madhani) [1728845] - [scsi] scsi: qla2xxx: Fix a qla24xx_enable_msix() error path (Himanshu Madhani) [1728845] - [scsi] scsi: qla2xxx: Avoid that qla2x00_mem_free() crashes if called twice (Himanshu Madhani) [1728845] - [scsi] scsi: qla2xxx: Make qla2x00_mem_free() easier to verify (Himanshu Madhani) [1728845] - [scsi] scsi: qla2xxx: Increase the size of the mailbox arrays from 4 to 8 (Himanshu Madhani) [1728845] - [scsi] scsi: qla2xxx: Log the status code if a firmware command fails (Himanshu Madhani) [1728845] - [scsi] scsi: qla2xxx: Avoid that Coverity complains about dereferencing a NULL rport pointer (Himanshu Madhani) [1728845] - [scsi] scsi: qla2xxx: Uninline qla2x00_init_timer() (Himanshu Madhani) [1728845] - [scsi] scsi: qla2xxx: Move qla2x00_is_reserved_id() from qla_inline.h into qla_init.c (Himanshu Madhani) [1728845] - [scsi] scsi: qla2xxx: Move qla2x00_clear_loop_id() from qla_inline.h into qla_init.c (Himanshu Madhani) [1728845] - [scsi] scsi: qla2xxx: Remove a set-but-not-used variable (Himanshu Madhani) [1728845] - [scsi] scsi: qla2xxx: Declare qla2x00_find_new_loop_id() static (Himanshu Madhani) [1728845] - [scsi] scsi: qla2xxx: Move qla2x00_set_reserved_loop_ids() definition (Himanshu Madhani) [1728845] - [scsi] scsi: qla2xxx: Fix a format specifier (Himanshu Madhani) [1728845] - [scsi] scsi: qla2xxx: Update two source code comments (Himanshu Madhani) [1728845] - [scsi] scsi: qla2xxx: Silence Successful ELS IOCB message (Himanshu Madhani) [1728845] - [scsi] scsi: qla2xxx: Fix device staying in blocked state (Himanshu Madhani) [1728845] - [scsi] scsi: qla2xxx: Move qla2x00_set_fcport_state() from a .h into a .c file (Himanshu Madhani) [1728845] - [scsi] scsi: qla2xxx: Remove two superfluous casts (Himanshu Madhani) [1728845] - [scsi] scsi: qla2xxx: Remove qla_tgt_cmd.data_work and qla_tgt_cmd.data_work_free (Himanshu Madhani) [1728845] - [scsi] scsi: qla2xxx: Move the include directive (Himanshu Madhani) [1728845] - [scsi] scsi: qla2xxx: Declare qla24xx_build_scsi_crc_2_iocbs() static (Himanshu Madhani) [1728845] - [scsi] scsi: qla2xxx: Move the port_state_str[] definition from a .h to a .c file (Himanshu Madhani) [1728845] - [scsi] scsi: qla2xxx: Insert spaces where required (Himanshu Madhani) [1728845] - [scsi] scsi: qla2xxx: Fix formatting of pointer types (Himanshu Madhani) [1728845] - [scsi] scsi: qla2xxx: Leave a blank line after declarations (Himanshu Madhani) [1728845] - [scsi] scsi: qla2xxx: Use tabs to indent code (Himanshu Madhani) [1728845] - [scsi] scsi: qla2xxx: Fix FC-AL connection target discovery (Himanshu Madhani) [1728845] - [scsi] scsi: tcm_qla2xxx: Minimize #include directives (Himanshu Madhani) [1728845] - [scsi] scsi: qla2xxx: Unregister resources in the opposite order of the registration order (Himanshu Madhani) [1728845] - [scsi] scsi: qla2xxx: Unregister chrdev if module initialization fails (Himanshu Madhani) [1728845] - [scsi] scsi: qla2xxx: Use get/put_unaligned where appropriate (Himanshu Madhani) [1728845] - [scsi] scsi: qla2xxx: Make qla2x00_process_response_queue() easier to read (Himanshu Madhani) [1728845] - [scsi] scsi: qla2xxx: Declare local symbols static (Himanshu Madhani) [1728845] - [scsi] scsi: qla2xxx: Use ARRAY_SIZE() in the definition of QLA_LAST_SPEED (Himanshu Madhani) [1728845] - [scsi] scsi: qla2xxx: Remove a comment that refers to the SCSI host lock (Himanshu Madhani) [1728845] - [scsi] scsi: qla2xxx: Remove useless set memory to zero use memset() (Himanshu Madhani) [1728845] - [scsi] scsi: qla2xxx: Cleanup fcport memory to prevent leak (Himanshu Madhani) [1728845] - [scsi] scsi: qla2xxx: Further limit FLASH region write access from SysFS (Himanshu Madhani) [1728845] - [scsi] scsi: qla2xxx: Fix incorrect region-size setting in optrom SYSFS routines (Himanshu Madhani) [1728845] - [scsi] scsi: qla2xxx: Disable T10-DIF feature with FC-NVMe during probe (Himanshu Madhani) [1728845] - [scsi] scsi: qla2xxx: Increase the max_sgl_segments to 1024 (Himanshu Madhani) [1728845] - [scsi] scsi: qla2xxx: Reset the FCF_ASYNC_{SENT|ACTIVE} flags (Himanshu Madhani) [1728845] - [scsi] scsi: qla2xxx: Set the qpair in SRB to NULL when SRB is released (Himanshu Madhani) [1728845] - [scsi] scsi: qla2xxx: Fix a small typo in qla_bsg.c (Himanshu Madhani) [1728845] - [scsi] scsi: qla2xxx: Fix comment alignment in qla_bsg.c (Himanshu Madhani) [1728845] - [scsi] scsi: qla2xxx: Use HCTX_TYPE_DEFAULT for blk_mq_tag_set->map (Himanshu Madhani) [1728845] - [scsi] scsi: qla2xxx: deadlock by configfs_depend_item (Himanshu Madhani) [1728845] - [scsi] scsi: qla2xxx: use lower_32_bits and upper_32_bits instead of reinventing them (Himanshu Madhani) [1728845] - [md] dm snapshot: rework COW throttling to fix deadlock (Mike Snitzer) [1758605] - [md] dm snapshot: introduce account_start_copy() and account_end_copy() (Mike Snitzer) [1758605] - [netdrv] ice: Bump version (Jonathan Toppins) [1721711] - [netdrv] ice: Enable DDP package download (Jonathan Toppins) [1721711] - [netdrv] ice: Initialize DDP package structures (Jonathan Toppins) [1721711] - [netdrv] ice: Implement Dynamic Device Personalization (DDP) download (Jonathan Toppins) [1721711] - [netdrv] ice: Fix FW version formatting in dmesg (Jonathan Toppins) [1721711] - [netdrv] ice: send driver version to firmware (Jonathan Toppins) [1721711] - [netdrv] ice: Rework around device/function capabilities (Jonathan Toppins) [1721711] - [netdrv] ice: change default number of receive descriptors (Jonathan Toppins) [1721711] - [netdrv] ice: Minor refactor in queue management (Jonathan Toppins) [1721711] - [netdrv] ice: Allow for delayed LLDP MIB change registration (Jonathan Toppins) [1721711] - [netdrv] ice: update Tx context struct (Jonathan Toppins) [1721711] - [netdrv] ice: Report VF link status with opcode to get resources (Jonathan Toppins) [1721711] - [netdrv] ice: Check for DCB capability before initializing DCB (Jonathan Toppins) [1721711] - [netdrv] ice: report link down for VF when PF's queues are not enabled (Jonathan Toppins) [1721711] - [netdrv] ice: Reliably reset VFs (Jonathan Toppins) [1721711] - [netdrv] ice: change work limit to a constant (Jonathan Toppins) [1721711] - [netdrv] ice: small efficiency fixes (Jonathan Toppins) [1721711] - [netdrv] ice: move code closer together (Jonathan Toppins) [1721711] - [netdrv] ice: clean up arguments (Jonathan Toppins) [1721711] - [netdrv] ice: Check root pointer for validity (Jonathan Toppins) [1721711] - [netdrv] ice: Add ice_get_main_vsi to get PF/main VSI (Jonathan Toppins) [1721711] - [netdrv] ice: Update fields in ice_vsi_set_num_qs when reconfiguring (Jonathan Toppins) [1721711] - [netdrv] ice: Only disable VLAN pruning for the VF when all VLANs are removed (Jonathan Toppins) [1721711] - [netdrv] ice: Remove enable DCB when SW LLDP is activated (Jonathan Toppins) [1721711] - [netdrv] ice: Report stats when VSI is down (Jonathan Toppins) [1721711] - [netdrv] ice: Always notify FW of VF reset (Jonathan Toppins) [1721711] - [netdrv] ice: Correctly handle return values for init DCB (Jonathan Toppins) [1721711] - [netdrv] ice: Limit Max TCs on devices with more than 4 ports (Jonathan Toppins) [1721711] - [netdrv] ice: Cleanup defines in ice_type.h (Jonathan Toppins) [1721711] - [netdrv] ice: print extra message if topology issue (Jonathan Toppins) [1721711] - [netdrv] ice: add print of autoneg state to link message (Jonathan Toppins) [1721711] - [netdrv] ice: update driver unloading field for Queue Shutdown AQ command (Jonathan Toppins) [1721711] - [netdrv] ice: add needed PFR during driver unload (Jonathan Toppins) [1721711] - [netdrv] ice: Deduce TSA value from the priority value in the CEE mode (Jonathan Toppins) [1721711] - [netdrv] ice: Report what the user set for coalesce [tx|rx]-usecs (Jonathan Toppins) [1721711] - [netdrv] ice: Fix resource leak in ice_remove_rule_internal() (Jonathan Toppins) [1721711] - [netdrv] ice: Fix EMP reset handling (Jonathan Toppins) [1721711] - [netdrv] ice: fix adminq calls during remove (Jonathan Toppins) [1721711] - [netdrv] ice: Rework ice_ena_msix_range (Jonathan Toppins) [1721711] - [netdrv] ice: Fix VF configuration issues due to reset (Jonathan Toppins) [1721711] - [netdrv] ice: Alloc queue management bitmaps and arrays dynamically (Jonathan Toppins) [1721711] - [netdrv] ice: add support for virtchnl_queue_select.[tx|rx]_queues bitmap (Jonathan Toppins) [1721711] - [netdrv] ice: add support for enabling/disabling single queues (Jonathan Toppins) [1721711] - [netdrv] ice: fix potential infinite loop (Jonathan Toppins) [1721711] - [netdrv] ice: fix ice_is_tc_ena (Jonathan Toppins) [1721711] - [netdrv] ice: add validation in OP_CONFIG_VSI_QUEUES VF message (Jonathan Toppins) [1721711] - [netdrv] ice: Don't clog kernel debug log with VF MDD events errors (Jonathan Toppins) [1721711] - [netdrv] ice: Introduce a local variable for a VSI in the rebuild path (Jonathan Toppins) [1721711] - [netdrv] ice: shorten local and add debug prints (Jonathan Toppins) [1721711] - [netdrv] ice: Sanitize ice_ena_vsi and ice_dis_vsi (Jonathan Toppins) [1721711] - [netdrv] ice: added sibling head to parse nodes (Jonathan Toppins) [1721711] - [netdrv] ice: Fix ethtool port and PFC stats for 4x25G cards (Jonathan Toppins) [1721711] - [netdrv] ice: Don't allow VSI to remove unassociated ucast filter (Jonathan Toppins) [1721711] - [netdrv] ice: Fix issues updating VSI MAC filters (Jonathan Toppins) [1721711] - [netdrv] ice: update ethtool stats on-demand (Jonathan Toppins) [1721711] - [netdrv] ice: Add input handlers for virtual channel handlers (Jonathan Toppins) [1721711] - [netdrv] ice: Don't clear auto_fec bit in ice_cfg_phy_fec() (Jonathan Toppins) [1721711] - [netdrv] ice: Fix flag used for module query (Jonathan Toppins) [1721711] - [netdrv] ice: silence some bogus error messages (Jonathan Toppins) [1721711] - [netdrv] ice: Rename ethtool private flag for lldp (Jonathan Toppins) [1721711] - [netdrv] ice: reject VF attempts to enable head writeback (Jonathan Toppins) [1721711] - [netdrv] ice: Copy dcbx configuration only if mode is correct (Jonathan Toppins) [1721711] - [netdrv] ice: Treat DCBx state NOT_STARTED as valid (Jonathan Toppins) [1721711] - [netdrv] ice: Don't call synchronize_irq() for VF's from the host (Jonathan Toppins) [1721711] - [netdrv] ice: Account for all states of FW DCBx and LLDP (Jonathan Toppins) [1721711] - [netdrv] ice: Allow egress control packets from PF_VSI (Jonathan Toppins) [1721711] - [netdrv] ice: improve print for VF's when adding/deleting MAC filters (Jonathan Toppins) [1721711] - [netdrv] ice: Change type for queue counts (Jonathan Toppins) [1721711] - [netdrv] ice: Move VF resources definition to SR-IOV specific file (Jonathan Toppins) [1721711] - [netdrv] ice: Increase size of Mailbox receive queue for many VFs (Jonathan Toppins) [1721711] - [netdrv] ice: Reduce wait times during VF bringup/reset (Jonathan Toppins) [1721711] - [netdrv] ice: update GLINT_DYN_CTL and GLINT_VECT2FUNC register access (Jonathan Toppins) [1721711] - [netdrv] ice: Do not always bring up PF VSI in ice_ena_vsi() (Jonathan Toppins) [1721711] - [netdrv] ice: allow empty Rx descriptors (Jonathan Toppins) [1721711] - [netdrv] ice: Fix kernel hang with DCB reset in CEE mode (Jonathan Toppins) [1721711] - [netdrv] ice: Set WB_ON_ITR when we don't re-enable interrupts (Jonathan Toppins) [1721711] - [netdrv] ice: fix set pause param autoneg check (Jonathan Toppins) [1721711] - [netdrv] ice: Restructure VFs initialization flows (Jonathan Toppins) [1721711] - [netdrv] ice: Assume that more than one Rx queue is rare in ice_napi_poll (Jonathan Toppins) [1721711] - [netdrv] ice: Use the software based tail when checking for hung Tx ring (Jonathan Toppins) [1721711] - [netdrv] ice: Bump version number (Jonathan Toppins) [1721711] - [netdrv] ice: Remove flag to track VF interrupt status (Jonathan Toppins) [1721711] - [netdrv] ice: Remove unnecessary flag ICE_FLAG_MSIX_ENA (Jonathan Toppins) [1721711] - [netdrv] ice: Don't return error for disabling LAN Tx queue that does exist (Jonathan Toppins) [1721711] - [netdrv] ice: Remove duplicate code in ice_alloc_rx_bufs (Jonathan Toppins) [1721711] - [netdrv] ice: Add stats for Rx drops at the port level (Jonathan Toppins) [1721711] - [netdrv] ice: Update number of VF queue before setting VSI resources (Jonathan Toppins) [1721711] - [netdrv] ice: Set up Tx scheduling tree based on alloc VSI Tx queues (Jonathan Toppins) [1721711] - [netdrv] ice: Only bump Rx tail and release buffers once per napi_poll (Jonathan Toppins) [1721711] - [netdrv] ice: Disable VFs until reset is completed (Jonathan Toppins) [1721711] - [netdrv] ice: Do not configure port with no media (Jonathan Toppins) [1721711] - [netdrv] ice: separate out control queue lock creation (Jonathan Toppins) [1721711] - [netdrv] ice: Always set prefena when configuring an Rx queue (Jonathan Toppins) [1721711] - [netdrv] ice: Move vector base setup to PF VSI (Jonathan Toppins) [1721711] - [netdrv] ice: track hardware stat registers past rollover (Jonathan Toppins) [1721711] - [netdrv] ice: add lp_advertising flow control support (Jonathan Toppins) [1721711] - [netdrv] ice: Use struct_size() helper (Jonathan Toppins) [1721711] - [netdrv] ice: Use LLDP ethertype define ETH_P_LLDP (Jonathan Toppins) [1721711] - [netdrv] ice: Trivial cosmetic changes (Jonathan Toppins) [1721711] - [netdrv] ice: Recognize higher speeds (Jonathan Toppins) [1721711] - [netdrv] ice: Use a different ICE_DBG bit for firmware log messages (Jonathan Toppins) [1721711] - [netdrv] ice: Update function header (Jonathan Toppins) [1721711] - [netdrv] ice: Move define for ICE_AQC_DRIVER_UNLOADING (Jonathan Toppins) [1721711] - [netdrv] ice: Align to updated AQ command formats (Jonathan Toppins) [1721711] - [netdrv] ice: Use continue instead of an else block (Jonathan Toppins) [1721711] - [netdrv] ice: Change minimum descriptor count value for Tx/Rx rings (Jonathan Toppins) [1721711] - [netdrv] ice: Add switch rules to handle LLDP packets (Jonathan Toppins) [1721711] - [netdrv] ice: Cleanup ice_update_link_info (Jonathan Toppins) [1721711] - [netdrv] ice: Use right type for ice_cfg_vsi_lan return (Jonathan Toppins) [1721711] - [netdrv] ice: Add support for Forward Error Correction (FEC) (Jonathan Toppins) [1721711] - [netdrv] ice: Add support for virtchnl_vector_map.[rxq|txq]_map (Jonathan Toppins) [1721711] - [netdrv] ice: Introduce ice_init_mac_fltr and move ice_napi_del (Jonathan Toppins) [1721711] - [netdrv] ice: Use GLINT_DYN_CTL to disable VF's interrupts (Jonathan Toppins) [1721711] - [netdrv] ice: Add a helper to trigger software interrupt (Jonathan Toppins) [1721711] - [netdrv] ice: Configure RSS LUT key only if RSS is enabled (Jonathan Toppins) [1721711] - [netdrv] ice: Add ice_get_fw_log_cfg to init FW logging (Jonathan Toppins) [1721711] - [netdrv] ice: Minor cleanup in ice_switch.h (Jonathan Toppins) [1721711] - [netdrv] ice: Remove redundant and premature event config (Jonathan Toppins) [1721711] - [netdrv] ice: Change message level (Jonathan Toppins) [1721711] - [netdrv] ice: Check all VFs for MDD activity, don't disable (Jonathan Toppins) [1721711] - [netdrv] ice: Refactor interrupt tracking (Jonathan Toppins) [1721711] - [netdrv] ice: Add handler for ethtool selftest (Jonathan Toppins) [1721711] - [netdrv] ice: Don't call ice_cfg_itr() for SR-IOV (Jonathan Toppins) [1721711] - [netdrv] ice: Set minimum default Rx descriptor count to 512 (Jonathan Toppins) [1721711] - [netdrv] ice: Resolve static analysis warning (Jonathan Toppins) [1721711] - [netdrv] ice: Implement toggling ethtool rx-vlan-filter (Jonathan Toppins) [1721711] - [netdrv] ice: Remove direct write for GLLAN_RCTL_0 (Jonathan Toppins) [1721711] - [netdrv] ice: Fix LINE_SPACING style issue (Jonathan Toppins) [1721711] - [netdrv] ice: Silence semantic parser warnings (Jonathan Toppins) [1721711] - [netdrv] ice: Fix couple of issues in ice_vsi_release (Jonathan Toppins) [1721711] - [netdrv] ice: Reorganize ice_vf struct (Jonathan Toppins) [1721711] - [netdrv] ice: Use bitfields when possible (Jonathan Toppins) [1721711] - [netdrv] ice: Reorganize tx_buf and ring structs (Jonathan Toppins) [1721711] - [netdrv] ice: Format ethtool reported stats (Jonathan Toppins) [1721711] - [netdrv] ice: Gracefully handle reset failure in ice_alloc_vfs() (Jonathan Toppins) [1721711] - [netdrv] ice: Refactor the LLDP MIB change event handling (Jonathan Toppins) [1721711] - [netdrv] ice: Advertise supported link modes if none requested (Jonathan Toppins) [1721711] - [netdrv] ice: Fix hang when ethtool disables FW LLDP (Jonathan Toppins) [1721711] - [netdrv] ice: Call out dev/func caps when printing (Jonathan Toppins) [1721711] - [netdrv] ice: Remove braces for single statement blocks (Jonathan Toppins) [1721711] - [netdrv] ice: Cleanup an unnecessary variable initialization (Jonathan Toppins) [1721711] - [netdrv] ice: Implement LLDP persistence (Jonathan Toppins) [1721711] - [netdrv] ice: Fix double spacing (Jonathan Toppins) [1721711] - [kernel] sched/debug: Fix potential deadlock when writing to sched_features (Vladis Dronov) [1760060] - [kernel] sched/debug: Use match_string() helper instead of open-coded logic (Vladis Dronov) [1760060] - [hid] HID: intel-ish-hid: ipc: add EHL device id (Tony Camuso) [1716756] - [hid] HID: remove NO_D3 flag when remove driver (Tony Camuso) [1716756] - [hid] HID: intel-ish-hid: fix wrong driver_data usage (Tony Camuso) [1716756] - [hid] HID: intel-ish-hid: Fix a use after free in load_fw_from_host() (Tony Camuso) [1716756] - [hid] HID: intel-ish-hid: Replace GPLv2 boilerplate/reference with SPDX - rule 288 (Tony Camuso) [1716756] - [hid] HID: intel-ish-hid: Add SPDX license identifier - Makefile/Kconfig (Tony Camuso) [1716756] - [platform] platform/chrome: Add ChromeOS EC ISHTP driver (Tony Camuso) [1716756] - [hid] HID: intel-ish-hid: prefix header search paths with $(srctree)/ (Tony Camuso) [1716756] - [hid] HID: intel-ish-hid: Add Comet Lake PCI device ID (Tony Camuso) [1716756] - [platform] platform/chrome: cros_ec: Add EC host command support using rpmsg (Tony Camuso) [1716756] - [hid] HID: intel-ish-hid: fix spelling mistake "multipe" -> "multiple" (Tony Camuso) [1716756] - [hid] HID: intel-ish-hid: ISH firmware loader client driver (Tony Camuso) [1716756] - [hid] HID: intel-ish-hid: Add interface function for PCI device pointer (Tony Camuso) [1716756] - [hid] HID: intel-ish-hid: Use the new interface functions in HID ish client (Tony Camuso) [1716756] - [hid] HID: intel-ish-hid: Move functions related to bus and device (Tony Camuso) [1716756] - [hid] HID: intel-ish-hid: Add interface functions for struct ishtp_cl (Tony Camuso) [1716756] - [hid] HID: intel-ish-hid: Move the common functions from client.h (Tony Camuso) [1716756] - [hid] HID: intel-ish-hid: Store ishtp_cl_device instance in device (Tony Camuso) [1716756] - [hid] HID: intel-ish-hid: Move driver registry functions (Tony Camuso) [1716756] - [hid] HID: intel-ish-hid: Simplify ishtp_cl_link() (Tony Camuso) [1716756] - [hid] HID: intel-ish-hid: Hide members of struct ishtp_cl_device (Tony Camuso) [1716756] - [hid] HID: intel-ish-hid: Add match callback to ishtp bus type (Tony Camuso) [1716756] - [hid] HID: intel-ish: enable raw interface to HID devices on ISH (Tony Camuso) [1716756] - [hid] HID: intel-ish-hid: Use VID/PID from ISH (Tony Camuso) [1716756] - [hid] HID: intel-ish-hid: Switch to use new generic UUID API (Tony Camuso) [1716756] - [hid] HID: intel-ish: ipc: handle PIMR before ish_wakeup also clear PISR busy_clear bit (Tony Camuso) [1716756] - [hid] HID: intel-ish-hid: use helper function to search client id (Tony Camuso) [1716756] - [hid] HID: intel-ish-hid: ishtp: add helper function for client search (Tony Camuso) [1716756] - [hid] HID: intel-ish-hid: use helper function to access client buffer (Tony Camuso) [1716756] - [hid] HID: intel-ish-hid: ishtp: add helper functions for client buffer operation (Tony Camuso) [1716756] - [hid] HID: intel-ish-hid: use helper function for private driver data set/get (Tony Camuso) [1716756] - [hid] HID: intel-ish-hid: ishtp: add helper function for driver data get/set (Tony Camuso) [1716756] - [platform] platform/chrome: Move cros-ec transport drivers to drivers/platform. (Tony Camuso) [1716756] - [tools] tools: PCI: Fix compiler warning in pcitest (Myron Stowe) [1753749] - [iommu] iommu: Fix integer truncation (Myron Stowe) [1753749] - [pci] PCI/P2PDMA: Ignore root complex whitelist when an IOMMU is present (Myron Stowe) [1753749] - [pci] PCI: Cleanup setup-bus.c comments and whitespace (Myron Stowe) [1753749] - [include] CPER: Remove unnecessary use of user-space types (Myron Stowe) [1753749] - [include] CPER: Add UEFI spec references (Myron Stowe) [1753749] - [pci] PCI: Fix comment typos (Myron Stowe) [1753749] - [pci] PCI: Cleanup register definition width and whitespace (Myron Stowe) [1753749] - [pci] PCI: pciehp: Remove pointless MY_NAME definition (Myron Stowe) [1753749] - [pci] PCI: pciehp: Remove pointless PCIE_MODULE_NAME definition (Myron Stowe) [1753749] - [pci] PCI: pciehp: Remove unused dbg/err/info/warn() wrappers (Myron Stowe) [1753749] - [pci] PCI: pciehp: Log messages with pci_dev, not pcie_device (Myron Stowe) [1753749] - [pci] PCI: pciehp: Replace pciehp_debug module param with dyndbg (Myron Stowe) [1753749] - [pci] PCI: pciehp: Remove pciehp_debug uses (Myron Stowe) [1753749] - [pci] PCI/AER: Log messages with pci_dev, not pcie_device (Myron Stowe) [1753749] - [pci] PCI/DPC: Log messages with pci_dev, not pcie_device (Myron Stowe) [1753749] - [pci] PCI/PME: Replace dev_printk(KERN_DEBUG) with dev_info() (Myron Stowe) [1753749] - [pci] PCI/AER: Replace dev_printk(KERN_DEBUG) with dev_info() (Myron Stowe) [1753749] - [pci] PCI: Replace dev_printk(KERN_DEBUG) with dev_info(), etc (Myron Stowe) [1753749] - [pci] PCI: Replace printk(KERN_INFO) with pr_info(), etc (Myron Stowe) [1753749] - [pci] PCI: Use dev_printk() when possible (Myron Stowe) [1753749] - [iommu] iommu/dma: Reserve IOVA for PCIe inaccessible DMA address (Myron Stowe) [1753749] - [pci] PCI: Add dma_ranges window list (Myron Stowe) [1753749] - [pci] PCI: endpoint: Fix a potential NULL pointer dereference (Myron Stowe) [1753749] - [tools] tools: PCI: Handle pcitest.sh independently from pcitest (Myron Stowe) [1753749] - [tools] tools: PCI: Add 'h' in optstring of getopt() (Myron Stowe) [1753749] - [tools] tools: PCI: Change pcitest compiling process (Myron Stowe) [1753749] - [tools] tools: PCI: Fix compilation warnings (Myron Stowe) [1753749] - [tools] tools: PCI: Exit with error code when test fails (Myron Stowe) [1753749] - [pci] PCI: Mark Atheros AR9462 to avoid bus reset (Myron Stowe) [1753749] - [pci] switchtec: Fix unintended mask of MRPC event (Myron Stowe) [1753749] - [pci] switchtec: Increase PFF limit from 48 to 255 (Myron Stowe) [1753749] - [pci] PCI/LINK: Disable bandwidth notification interrupt during suspend (Myron Stowe) [1753749] - [pci] PCI/P2PDMA: Allow P2P DMA between any devices under AMD ZEN Root Complex (Myron Stowe) [1753749] - [maintainers] MAINTAINERS: Add Karthikeyan Mitran and Hou Zhiqiang for Mobiveil PCI (Myron Stowe) [1753749] - [platform] platform/chrome: chromeos_laptop: use pci_dev_id() helper (Myron Stowe) [1753749] - [iommu] iommu/amd: Use pci_dev_id() helper (Myron Stowe) [1753749] - [drm] drm/amdkfd: Use pci_dev_id() helper (Myron Stowe) [1753749] - [powerpc] powerpc/powernv/npu: Use pci_dev_id() helper (Myron Stowe) [1753749] - [x86] x86/PCI: Fix PCI IRQ routing table memory leak (Myron Stowe) [1753749] - [pci] PCI: Remove unused pci_request_region_exclusive() (Myron Stowe) [1753749] - [pci] PCI: Mark expected switch fall-throughs (Myron Stowe) [1753749] - [pci] PCI/ACPI: Remove the need for 'struct hotplug_params' (Myron Stowe) [1753749] - [pci] PCI/ACPI: Do not export pci_get_hp_params() (Myron Stowe) [1753749] - [pci] PCI: rpaphp: Get/put device node reference during slot alloc/dealloc (Myron Stowe) [1753749] - [pci] PCI: rpadlpar: Fix leaked device_node references in add/remove paths (Myron Stowe) [1753749] - [pci] PCI: Assign bus numbers present in EA capability for bridges (Myron Stowe) [1753749] - [pci] PCI: OF: Support "external-facing" property (Myron Stowe) [1753749] - [documentation] dt-bindings: Add "external-facing" PCIe port property (Myron Stowe) [1753749] - [pci] PCI: Init PCIe feature bits for managed host bridge alloc (Myron Stowe) [1753749] - [pci] PCI/AER: Change pci_aer_init() stub to return void (Myron Stowe) [1753749] - [s390] s390/zcrypt: CEX7S exploitation support (Philipp Rudo) [1726416] - [s390] s390/pkey: Add sysfs attributes to emit AES CIPHER key blobs (Philipp Rudo) [1726416] - [s390] s390/crypto: Support for SHA3 via CPACF (MSA6) (Philipp Rudo) [1726416] - [s390] s390/crypto: xts-aes-s390 fix extra run-time crypto self tests finding (Philipp Rudo) [1726416] - [s390] s390: vfio-ap: fix warning reset not completed (Philipp Rudo) [1726416] - [s390] crypto: s390 - Rename functions to avoid conflict with crypto/sha256.h (Philipp Rudo) [1726416] - [s390] s390/zcrypt: fix wrong handling of cca cipher keygenflags (Philipp Rudo) [1726416] - [s390] crypto: s390/xts-aes - invoke fallback for ciphertext stealing (Philipp Rudo) [1726416] - [s390] s390/paes: Prepare paes functions for large key blobs (Philipp Rudo) [1726416] - [s390] s390/pkey: add CCA AES cipher key support (Philipp Rudo) [1726416] - [s390] s390/zcrypt: Add low level functions for CCA AES cipher keys (Philipp Rudo) [1726416] - [s390] s390/zcrypt: extend cca_findcard function and helper (Philipp Rudo) [1726416] - [s390] s390/pkey: pkey cleanup: narrow in-kernel API, fix some variable types (Philipp Rudo) [1726416] - [s390] s390/zcrypt: adjust switch fall through comments for -Wimplicit-fallthrough (Philipp Rudo) [1726416] - [s390] crypto: s390/aes - fix name clash after AES library refactor (Philipp Rudo) [1726416] - [s390] s390/zcrypt: new sysfs attributes serialnr and mkvps (Philipp Rudo) [1726416] - [s390] s390/zcrypt: add base code for cca crypto card info support (Philipp Rudo) [1726416] - [s390] s390/zcrypt: move cca misc functions to new code file (Philipp Rudo) [1726416] - [s390] s390: use __u{16, 32, 64} instead of uint{16, 32, 64}_t in uapi header (Philipp Rudo) [1726416] - [s390] s390/zcrypt: remove the exporting of ap_query_configuration (Philipp Rudo) [1726416] - [s390] s390/crypto: sha: Use -ENODEV instead of -EOPNOTSUPP (Philipp Rudo) [1726416] - [s390] s390/crypto: prng: Use -ENODEV instead of -EOPNOTSUPP (Philipp Rudo) [1726416] - [s390] s390/crypto: ghash: Use -ENODEV instead of -EOPNOTSUPP (Philipp Rudo) [1726416] - [s390] s390/pkey: Use -ENODEV instead of -EOPNOTSUPP (Philipp Rudo) [1726416] - [s390] s390/zcrypt: support special flagged EP11 cprbs (Philipp Rudo) [1726416] - [s390] s390/crypto: fix possible sleep during spinlock aquired (Philipp Rudo) [1726416] - [s390] s390/crypto: use TRNG for seeding/reseeding (Philipp Rudo) [1726416] - [s390] s390/crypto: rework generate_entropy function for pseudo random dd (Philipp Rudo) [1726416] - [s390] s390: zcrypt: initialize variables before_use (Philipp Rudo) [1726416] - [powerpc] powerpc/pseries: Track LMB nid instead of using device tree (Steve Best) [1758742] - [powerpc] powerpc/pseries/memory-hotplug: Only update DT once per memory DLPAR request (Steve Best) [1758742] - [net] hv_sock: Fix hang when a connection is closed (Cathy Avery) [1739477] - [net] hv_sock: Use consistent types for UUIDs (Cathy Avery) [1739477] - [net] hvsock: fix epollout hang from race condition (Cathy Avery) [1739477] - [net] treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 288 (Cathy Avery) [1739477] - [net] hv_sock: perf: loop in send() to maximize bandwidth (Cathy Avery) [1739477] - [net] hv_sock: perf: Allow the socket buffer size options to influence the actual socket buffers (Cathy Avery) [1739477] - [net] hv_sock: Add support for delayed close (Cathy Avery) [1739477] - [powerpc] powerpc/rtas: allow rescheduling while changing cpu states (Steve Best) [1758651] - [powerpc] powerpc/pseries/mobility: use cond_resched when updating device tree (Steve Best) [1758651] - [tools] selftests/powerpc: Fix compile error on tlbie_test due to newer gcc (Desnes Augusto Nunes do Rosario) [1755707] - [tools] selftests/powerpc: Add test case for tlbie vs mtpidr ordering issue (Desnes Augusto Nunes do Rosario) [1755707] - [powerpc] powerpc/mm: Fixup tlbie vs mtpidr/mtlpidr ordering issue on POWER9 (Desnes Augusto Nunes do Rosario) [1755707] - [powerpc] powerpc/book3s64/radix: Rename CPU_FTR_P9_TLBIE_BUG feature flag (Desnes Augusto Nunes do Rosario) [1755707] - [powerpc] powerpc/book3s64/mm: Don't do tlbie fixup for some hardware revisions (Desnes Augusto Nunes do Rosario) [1755707] - [scsi] scsi: zfcp: make DIX experimental, disabled, and independent of DIF (Philipp Rudo) [1723829] - [s390] s390: add support for IBM z15 machines (Philipp Rudo) [1757015] - [s390] s390/pci: add mio_enabled attribute (Philipp Rudo) [1757118] - [s390] s390: fix setting of mio addressing control (Philipp Rudo) [1757118] - [s390] s390/pci: correctly handle MIO opt-out (Philipp Rudo) [1757118] - [s390] s390/pci: deal with devices that have no support for MIO instructions (Philipp Rudo) [1757118] - [s390] s390/pci: fix assignment of bus resources (Philipp Rudo) [1757118] - [s390] s390/pci: fix struct definition for set PCI function (Philipp Rudo) [1757118] - [s390] s390/pci: fix MSI message data (Philipp Rudo) [1757123] - [powerpc] powerpc/tm: Add tm-poison test (Steve Best) [1756721] - [powerpc] powerpc/powernv: Add new opal message type (Desnes Augusto Nunes do Rosario) [1706975] - [powerpc] powerpc/powernv: Enhance opal message read interface (Desnes Augusto Nunes do Rosario) [1706975] - [char] hwrng: core - don't wait on add_early_randomness() (Laurent Vivier) [1660802] - [firmware] efi: Export Runtime Configuration Interface table to sysfs (Al Stone) [1665518] - [nvme] nvme: Treat discovery subsystems as unique subsystems (Ewan Milne) [1757525] - [powerpc] powerpc/powernv/opal: Use standard interrupts property when available (Steve Best) [1757173] - [powerpc] powerpc: dump kernel log before carrying out fadump or kdump (Steve Best) [1756922] - [kernel] genirq/affinity: Create affinity mask for single vector (Ming Lei) [1733420] - [virt] kvm: arm/arm64: Only skip MMIO insn once (Andrew Jones) [1733928] - [vfio] type1: remove duplicate retrieval of reserved regions (Auger Eric) [1704597] - [vfio] type1: Add IOVA range capability support (Auger Eric) [1704597] - [vfio] type1: check dma map request is within a valid iova range (Auger Eric) [1704597] - [vfio] type1: Update iova list on detach (Auger Eric) [1704597] - [vfio] type1: Check reserved region conflict and update iova list (Auger Eric) [1704597] - [vfio] type1: Introduce iova list and add iommu aperture validity check (Auger Eric) [1704597] - [iommu] Revisit iommu_insert_resv_region() implementation (Auger Eric) [1704597] - [iommu] vt-d: Differentiate relaxable and non relaxable RMRRs (Auger Eric) [1704597] - [iommu] Introduce IOMMU_RESV_DIRECT_RELAXABLE reserved memory regions (Auger Eric) [1704597] - [iommu] vt-d: Handle PCI bridge RMRR device scopes in intel_iommu_get_resv_regions (Auger Eric) [1704597] - [iommu] vt-d: Handle RMRR with PCI bridge device scopes (Auger Eric) [1704597] - [iommu] vt-d: Introduce is_downstream_to_pci_bridge helper (Auger Eric) [1704597] - [iommu] vt-d: Duplicate iommu_resv_region objects per device list (Auger Eric) [1704597] - [iommu] Fix a leak in iommu_insert_resv_region (Auger Eric) [1704597] - [pci] hv: Avoid use of hv_pci_dev->pci_slot after freeing it (Mohammed Gamal) [1737569]- [x86] kvm: x86: omit "impossible" pmu MSRs from MSR list (Vitaly Kuznetsov) [1749495] - [x86] kvm: nvmx: Fix consistency check on injected exception error code (Vitaly Kuznetsov) [1749495] - [x86] kvm: x86: omit absent pmu MSRs from MSR list (Vitaly Kuznetsov) [1749495] - [tools] selftests: kvm: Fix libkvm build error (Vitaly Kuznetsov) [1749495] - [x86] kvm: vmx: Limit guest PMCs to those supported on the host (Vitaly Kuznetsov) [1749495] - [virt] kvm: x86, powerpc: do not allow clearing largepages debugfs entry (Vitaly Kuznetsov) [1749495] - [tools] kvm: selftests: x86: clarify what is reported on KVM_GET_MSRS failure (Vitaly Kuznetsov) [1749495] - [x86] kvm: vmx: Set VMENTER_L1D_FLUSH_NOT_REQUIRED if !X86_BUG_L1TF (Vitaly Kuznetsov) [1749495] - [tools] selftests: kvm: add test for dirty logging inside nested guests (Vitaly Kuznetsov) [1749495] - [x86] kvm: x86: fix nested guest live migration with PML (Vitaly Kuznetsov) [1749495] - [x86] kvm: x86: assign two bits to track SPTE kinds (Vitaly Kuznetsov) [1749495] - [x86] kvm: x86: Expose XSAVEERPTR to the guest (Vitaly Kuznetsov) [1749495] - [x86] kvm: x86: Enumerate support for CLZERO instruction (Vitaly Kuznetsov) [1749495] - [x86] kvm: x86: Use AMD CPUID semantics for AMD vCPUs (Vitaly Kuznetsov) [1749495] - [x86] kvm: x86: Improve emulation of CPUID leaves 0BH and 1FH (Vitaly Kuznetsov) [1749495] - [x86] kvm: x86: Fix userspace set invalid CR4 (Vitaly Kuznetsov) [1749495] - [x86] kvm: x86: Fix a spurious -E2BIG in __do_cpuid_func (Vitaly Kuznetsov) [1749495] - [x86] kvm: lapic: Loosen filter for adaptive tuning of lapic_timer_advance_ns (Vitaly Kuznetsov) [1749495] - [x86] kvm: nvmx: cleanup and fix host 64-bit mode checks (Vitaly Kuznetsov) [1749495] - [x86] kvm: vmx: fix build warnings in hv_enable_direct_tlbflush() on i386 (Vitaly Kuznetsov) [1749495] - [x86] kvm: x86: Don't check kvm_rebooting in __kvm_handle_fault_on_reboot() (Vitaly Kuznetsov) [1749495] - [x86] kvm: x86: Drop ____kvm_handle_fault_on_reboot() (Vitaly Kuznetsov) [1749495] - [x86] kvm: vmx: Add error handling to VMREAD helper (Vitaly Kuznetsov) [1749495] - [x86] kvm: vmx: Optimize VMX instruction error and fault handling (Vitaly Kuznetsov) [1749495] - [x86] kvm: x86: Check kvm_rebooting in kvm_spurious_fault() (Vitaly Kuznetsov) [1749495] - [x86] kvm: nvmx: limit atomic switch MSRs (Vitaly Kuznetsov) [1749495] - [x86] kvm: svm: Intercept RDPRU (Vitaly Kuznetsov) [1749495] - [x86] kvm: x86: Add "significant index" flag to a few CPUID leaves (Vitaly Kuznetsov) [1749495] - [x86] kvm: x86/mmu: Skip invalid pages during zapping iff root_count is zero (Vitaly Kuznetsov) [1749495] - [x86] kvm: x86/mmu: Explicitly track only a single invalid mmu generation (Vitaly Kuznetsov) [1749495] - [x86] kvm: x86/mmu: revert "kvm: x86/mmu: Remove is_obsolete() call" (Vitaly Kuznetsov) [1749495] - [x86] kvm: x86/mmu: revert "revert "kvm: mmu: reclaim the zapped-obsolete page first"" (Vitaly Kuznetsov) [1749495] - [x86] kvm: x86/mmu: revert "revert "kvm: mmu: collapse TLB flushes when zap all pages"" (Vitaly Kuznetsov) [1749495] - [x86] kvm: x86/mmu: revert "revert "kvm: mmu: zap pages in batch"" (Vitaly Kuznetsov) [1749495] - [x86] kvm: x86/mmu: revert "revert "kvm: mmu: add tracepoint for kvm_mmu_invalidate_all_pages"" (Vitaly Kuznetsov) [1749495] - [x86] kvm: x86/mmu: revert "revert "kvm: mmu: show mmu_valid_gen in shadow page related tracepoints"" (Vitaly Kuznetsov) [1749495] - [x86] kvm: x86/mmu: Use fast invalidate mechanism to zap MMIO sptes (Vitaly Kuznetsov) [1749495] - [x86] kvm: x86/mmu: Treat invalid shadow pages as obsolete (Vitaly Kuznetsov) [1749495] - [x86] kvm: lapic: Tune lapic_timer_advance_ns smoothly (Vitaly Kuznetsov) [1749495] - [x86] kvm: x86: Add comments to document various emulation types (Vitaly Kuznetsov) [1749495] - [x86] kvm: vmx: Handle single-step #DB for EMULTYPE_SKIP on EPT misconfig (Vitaly Kuznetsov) [1749495] - [x86] kvm: x86: Remove emulation_result enums, EMULATE_{DONE, FAIL, USER_EXIT} (Vitaly Kuznetsov) [1749495] - [x86] kvm: vmx: Remove EMULATE_FAIL handling in handle_invalid_guest_state() (Vitaly Kuznetsov) [1749495] - [x86] kvm: x86: Move triple fault request into RM int injection (Vitaly Kuznetsov) [1749495] - [x86] kvm: x86: Handle emulation failure directly in kvm_task_switch() (Vitaly Kuznetsov) [1749495] - [x86] kvm: x86: Exit to userspace on emulation skip failure (Vitaly Kuznetsov) [1749495] - [x86] kvm: x86: Move #UD injection for failed emulation into emulation code (Vitaly Kuznetsov) [1749495] - [x86] kvm: x86: Add explicit flag for forced emulation on #UD (Vitaly Kuznetsov) [1749495] - [x86] kvm: x86: Move #GP injection for VMware into x86_emulate_instruction() (Vitaly Kuznetsov) [1749495] - [x86] kvm: x86: Don't attempt VMWare emulation on #GP with non-zero error code (Vitaly Kuznetsov) [1749495] - [x86] kvm: x86: Refactor kvm_vcpu_do_singlestep() to remove out param (Vitaly Kuznetsov) [1749495] - [x86] kvm: x86: Clean up handle_emulation_failure() (Vitaly Kuznetsov) [1749495] - [x86] kvm: x86: Relocate MMIO exit stats counting (Vitaly Kuznetsov) [1749495] - [x86] kvm: nvmx: Check Host Address Space Size on vmentry of nested guests (Vitaly Kuznetsov) [1749495] - [tools] kvm: selftests: hyperv_cpuid: add check for NoNonArchitecturalCoreSharing bit (Vitaly Kuznetsov) [1749495] - [x86] kvm: x86: hyper-v: set NoNonArchitecturalCoreSharing CPUID bit when SMT is impossible (Vitaly Kuznetsov) [1749495] - [kernel] cpu/smt: create and export cpu_smt_possible() (Vitaly Kuznetsov) [1749495] - [x86] kvm: hyperv: Fix Direct Synthetic timers assert an interrupt w/o lapic_in_kernel (Vitaly Kuznetsov) [1749495] - [x86] kvm: x86: Manually flush collapsible SPTEs only when toggling flags (Vitaly Kuznetsov) [1749495] - [tools] kvm: selftests: Remove duplicate guest mode handling (Vitaly Kuznetsov) [1749495] - [tools] kvm: selftests: Introduce VM_MODE_PXXV48_4K (Vitaly Kuznetsov) [1749495] - [tools] kvm: selftests: Create VM earlier for dirty log test (Vitaly Kuznetsov) [1749495] - [tools] kvm: selftests: Move vm type into _vm_create() internally (Vitaly Kuznetsov) [1749495] - [x86] kvm: x86: announce KVM_CAP_HYPERV_ENLIGHTENED_VMCS support only when it is available (Vitaly Kuznetsov) [1749495] - [x86] kvm: x86: svm: remove unneeded nested_enable_evmcs() hook (Vitaly Kuznetsov) [1749495] - [x86] kvm/hyper-v/vmx: Add direct tlb flush support (Vitaly Kuznetsov) [1749495] - [documentation] kvm/hyper-v: Add new KVM capability KVM_CAP_HYPERV_DIRECT_TLBFLUSH (Vitaly Kuznetsov) [1749495] - [x86] hyper-v: Fix definition of struct hv_vp_assist_page (Vitaly Kuznetsov) [1749495] - [x86] kvm: x86: Add Intel PMU MSRs to msrs_to_save[] (Vitaly Kuznetsov) [1749495] - [x86] kvm: x86: Use IPI shorthands in kvm guest when support (Vitaly Kuznetsov) [1749495] - [x86] kvm: x86: Fix INIT signal handling in various CPU states (Vitaly Kuznetsov) [1749495] - [x86] kvm: vmx: Introduce exit reason for receiving INIT signal on guest-mode (Vitaly Kuznetsov) [1749495] - [x86] kvm: vmx: Stop the preemption timer during vCPU reset (Vitaly Kuznetsov) [1749495] - [x86] kvm: lapic: Micro optimize IPI latency (Vitaly Kuznetsov) [1749495] - [x86] kvm: Nested KVM MMUs need PAE root too (Vitaly Kuznetsov) [1749495] - [x86] kvm: x86: set ctxt->have_exception in x86_decode_insn() (Vitaly Kuznetsov) [1749495] - [x86] kvm: x86: always stop emulation on page fault (Vitaly Kuznetsov) [1749495] - [x86] kvm: nvmx: trace nested VM-Enter failures detected by H/W (Vitaly Kuznetsov) [1749495] - [x86] kvm: nvmx: add tracepoint for failed nested VM-Enter (Vitaly Kuznetsov) [1749495] - [x86] kvm: svm: Fix a check in nested_svm_vmrun() (Vitaly Kuznetsov) [1749495] - [x86] kvm: x86: Return to userspace with internal error on unexpected exit reason (Vitaly Kuznetsov) [1749495] - [x86] kvm: x86: Add kvm_emulate_{rd, wr}msr() to consolidate VXM/SVM code (Vitaly Kuznetsov) [1749495] - [x86] kvm: x86: Refactor up kvm_{g, s}et_msr() to simplify callers (Vitaly Kuznetsov) [1749495] - [documentation] doc: kvm: Fix return description of KVM_SET_MSRS (Vitaly Kuznetsov) [1749495] - [x86] kvm: x86: Tune PLE Window tracepoint (Vitaly Kuznetsov) [1749495] - [x86] kvm: vmx: Change ple_window type to unsigned int (Vitaly Kuznetsov) [1749495] - [x86] kvm: x86: Remove tailing newline for tracepoints (Vitaly Kuznetsov) [1749495] - [x86] kvm: x86: Trace vcpu_id for vmexit (Vitaly Kuznetsov) [1749495] - [x86] kvm: x86: Manually calculate reserved bits when loading PDPTRS (Vitaly Kuznetsov) [1749495] - [x86] kvm: x86: Disable posted interrupts for non-standard IRQs delivery modes (Vitaly Kuznetsov) [1749495] - [x86] kvm: vmx: Fix and tweak the comments for VM-Enter (Vitaly Kuznetsov) [1749495] - [x86] kvm: Assert that struct kvm_vcpu is always as offset zero (Vitaly Kuznetsov) [1749495] - [x86] kvm: x86: Add pv tlb shootdown tracepoint (Vitaly Kuznetsov) [1749495] - [x86] kvm: x86: Unconditionally call x86 ops that are always implemented (Vitaly Kuznetsov) [1749495] - [x86] kvm: x86/mmu: Consolidate "is MMIO SPTE" code (Vitaly Kuznetsov) [1749495] - [x86] kvm: x86/mmu: Add explicit access mask for MMIO SPTEs (Vitaly Kuznetsov) [1749495] - [documentation] kvm: x86: Rename access permissions cache member in struct kvm_vcpu_arch (Vitaly Kuznetsov) [1749495] - [x86] kvm: svm: eliminate hardcoded RIP advancement from vmrun_interception() (Vitaly Kuznetsov) [1749495] - [x86] kvm: svm: eliminate weird goto from vmrun_interception() (Vitaly Kuznetsov) [1749495] - [x86] kvm: svm: remove hardcoded instruction length from intercepts (Vitaly Kuznetsov) [1749495] - [x86] kvm: add xsetbv to the emulator (Vitaly Kuznetsov) [1749495] - [x86] kvm: clear interrupt shadow on EMULTYPE_SKIP (Vitaly Kuznetsov) [1749495] - [x86] kvm: svm: propagate errors from skip_emulated_instruction() (Vitaly Kuznetsov) [1749495] - [x86] kvm: svm: don't pretend to advance RIP in case wrmsr_interception() results in #GP (Vitaly Kuznetsov) [1749495] - [x86] kvm: x86: Fix x86_decode_insn() return when fetching insn bytes fails (Vitaly Kuznetsov) [1749495] - [x86] kvm: x86: use Intel speculation bugs and features as derived in generic x86 code (Vitaly Kuznetsov) [1749495] - [x86] kvm: x86: always expose VIRT_SSBD to guests (Vitaly Kuznetsov) [1749495] - [x86] kvm: x86: fix reporting of AMD speculation bug CPUID leaf (Vitaly Kuznetsov) [1749495] - [virt] kvm: Call kvm_arch_vcpu_blocking early into the blocking sequence (Vitaly Kuznetsov) [1749495] - [x86] kvm: x86/mmu: Reintroduce fast invalidate/zap for flushing memslot (Vitaly Kuznetsov) [1749495] - [x86] kvm: x86: work around leak of uninitialized stack contents (Vitaly Kuznetsov) [1749495] - [x86] kvm: nvmx: handle page fault in vmread (Vitaly Kuznetsov) [1749495] - [x86] kvm: x86: Don't update RIP or do single-step on faulting emulation (Vitaly Kuznetsov) [1749495] - [tools] selftests/kvm: make platform_info_test pass on AMD (Vitaly Kuznetsov) [1749495] - [x86] revert "kvm: x86/mmu: Zap only the relevant pages when removing a memslot" (Vitaly Kuznetsov) [1749495] - [tools] selftests: kvm: fix state save/load on processors without XSAVE (Vitaly Kuznetsov) [1749495] - [tools] selftests: kvm: fix vmx_set_nested_state_test (Vitaly Kuznetsov) [1749495] - [tools] selftests: kvm: provide common function to enable eVMCS (Vitaly Kuznetsov) [1749495] - [tools] selftests: kvm: do not try running the VM in vmx_set_nested_state_test (Vitaly Kuznetsov) [1749495] - [x86] kvm: x86: svm: remove redundant assignment of var new_entry (Vitaly Kuznetsov) [1749495] - [tools] selftests: kvm: Adding config fragments (Vitaly Kuznetsov) [1749495] - [tools] kvm: selftests: Update gitignore file for latest changes (Vitaly Kuznetsov) [1749495] - [virt] kvm: remove unnecessary PageReserved check (Vitaly Kuznetsov) [1749495] - [x86] kvm: remove useless calls to kvm_para_available (Vitaly Kuznetsov) [1749495] - [x86] kvm: no need to check return value of debugfs_create functions (Vitaly Kuznetsov) [1749495] - [s390] kvm: remove kvm_arch_has_vcpu_debugfs() (Vitaly Kuznetsov) [1749495] - [virt] kvm: Fix leak vCPU's VMCS value into other pCPU (Vitaly Kuznetsov) [1749495] - [virt] kvm: Check preempted_in_kernel for involuntary preemption (Vitaly Kuznetsov) [1749495] - [x86] kvm: lapic: Don't need to wakeup vCPU twice afer timer fire (Vitaly Kuznetsov) [1749495] - [x86] kvm: x86: Boost queue head vCPU to mitigate lock waiter preemption (Vitaly Kuznetsov) [1749495] - [documentation] documentation: move Documentation/virtual to Documentation/virt (Vitaly Kuznetsov) [1749495] - [x86] kvm: x86: Add fixed counters to PMU filter (Vitaly Kuznetsov) [1749495] - [x86] kvm: vmx: dump VMCS on failed entry (Vitaly Kuznetsov) [1749495] - [x86] kvm: x86/vpmu: refine kvm_pmu err msg when event creation failed (Vitaly Kuznetsov) [1749495] - [virt] kvm: Boost vCPUs that are delivering interrupts (Vitaly Kuznetsov) [1749495] - [tools] kvm: selftests: Remove superfluous define from vmx.c (Vitaly Kuznetsov) [1749495] - [x86] kvm: svm: Fix detection of AMD Errata 1096 (Vitaly Kuznetsov) [1749495] - [x86] kvm: lapic: Inject timer interrupt via posted interrupt (Vitaly Kuznetsov) [1749495] - [x86] kvm: Don't call kvm_spurious_fault() from .fixup (Vitaly Kuznetsov) [1749495] - [x86] kvm: Replace vmx_vmenter()'s call to kvm_spurious_fault() with UD2 (Vitaly Kuznetsov) [1749495] - [x86] kvm: Fix fastop function ELF metadata (Vitaly Kuznetsov) [1749495] - [x86] paravirt: Fix callee-saved function ELF sizes (Vitaly Kuznetsov) [1749495] - [x86] kvm: lapic: Make lapic timer unpinned (Vitaly Kuznetsov) [1749495] - [x86] kvm: x86/vpmu: reset pmc->counter to 0 for pmu fixed_counters (Vitaly Kuznetsov) [1749495] - [x86] kvm: nvmx: Ignore segment base for VMX memory operand when segment not FS or GS (Vitaly Kuznetsov) [1749495] - [x86] kvm: x86: ioapic and apic debug macros cleanup (Vitaly Kuznetsov) [1749495] - [x86] kvm: x86: some tsc debug cleanup (Vitaly Kuznetsov) [1749495] - [x86] kvm: vmx: fix coccinelle warnings (Vitaly Kuznetsov) [1749495] - [x86] kvm: avoid constant-conversion warning (Vitaly Kuznetsov) [1749495] - [x86] kvm: avoid -Wsometimes-uninitized warning (Vitaly Kuznetsov) [1749495] - [documentation] documentation: virtual: Add toctree hooks (Vitaly Kuznetsov) [1749495] - [documentation] documentation: kvm: Convert cpuid.txt to .rst (Vitaly Kuznetsov) [1749495] - [x86] kvm: x86: Unconditionally enable irqs in guest context (Vitaly Kuznetsov) [1749495] - [x86] kvm: x86: PMU Event Filter (Vitaly Kuznetsov) [1749495] - [kernel] kvm: x86: Fix -Wmissing-prototypes warnings (Vitaly Kuznetsov) [1749495] - [virt] kvm: Properly check if "page" is valid in kvm_vcpu_unmap (Vitaly Kuznetsov) [1749495] - [x86] kvm: lapic: Retry tune per-vCPU timer_advance_ns if adaptive tuning goes insane (Vitaly Kuznetsov) [1749495] - [x86] kvm: lapic: write down valid APIC registers (Vitaly Kuznetsov) [1749495] - [x86] kvm: lapic: ARBPRI is a reserved register for x2APIC (Vitaly Kuznetsov) [1749495] - [x86] kvm nvmx: Check Host Segment Registers and Descriptor Tables on vmentry of nested guests (Vitaly Kuznetsov) [1749495] - [x86] kvm: nvmx: Stash L1's CR3 in vmcs01.GUEST_CR3 on nested entry w/o EPT (Vitaly Kuznetsov) [1749495] - [x86] kvm: x86: add tracepoints around __direct_map and FNAME(fetch) (Vitaly Kuznetsov) [1749495] - [x86] kvm: x86: change kvm_mmu_page_get_gfn BUG_ON to WARN_ON (Vitaly Kuznetsov) [1749495] - [x86] kvm: x86: remove now unneeded hugepage gfn adjustment (Vitaly Kuznetsov) [1749495] - [x86] kvm: x86: make FNAME(fetch) and __direct_map more similar (Vitaly Kuznetsov) [1749495] - [x86] kvm: x86: Do not release the page inside mmu_set_spte() (Vitaly Kuznetsov) [1749495] - [x86] kvm: cpuid: remove has_leaf_count from struct kvm_cpuid_param (Vitaly Kuznetsov) [1749495] - [x86] kvm: cpuid: rename do_cpuid_1_ent (Vitaly Kuznetsov) [1749495] - [x86] kvm: cpuid: set struct kvm_cpuid_entry2 flags in do_cpuid_1_ent (Vitaly Kuznetsov) [1749495] - [x86] kvm: cpuid: extract do_cpuid_7_mask and support multiple subleafs (Vitaly Kuznetsov) [1749495] - [x86] kvm: cpuid: do_cpuid_ent works on a whole CPUID function (Vitaly Kuznetsov) [1749495] - [x86] kvm: lapic: remove the trailing newline used in the fmt parameter of TP_printk (Vitaly Kuznetsov) [1749495] - [x86] kvm: svm: add nrips module parameter (Vitaly Kuznetsov) [1749495] - [x86] kvm: x86: degrade WARN to pr_warn_ratelimited (Vitaly Kuznetsov) [1749495] - [x86] kvm: x86: Pass through AMD_STIBP_ALWAYS_ON in GET_SUPPORTED_CPUID (Vitaly Kuznetsov) [1749495] - [x86] kvm: nvmx: Remove unnecessary sync_roots from handle_invept (Vitaly Kuznetsov) [1749495] - [documentation] documentation: kvm: document CPUID bit for MSR_KVM_POLL_CONTROL (Vitaly Kuznetsov) [1749495] - [documentation] kvm: x86: Expose PV_SCHED_YIELD CPUID feature bit to guest (Vitaly Kuznetsov) [1749495] - [x86] kvm: x86: Implement PV sched yield hypercall (Vitaly Kuznetsov) [1749495] - [x86] kvm: x86: Yield to IPI target if necessary (Vitaly Kuznetsov) [1749495] - [x86] kvm: nvmx: list VMX MSRs in KVM_GET_MSR_INDEX_LIST (Vitaly Kuznetsov) [1749495] - [x86] kvm: nvmx: allow setting the VMFUNC controls MSR (Vitaly Kuznetsov) [1749495] - [x86] kvm: nvmx: include conditional controls in /dev/kvm KVM_GET_MSRS (Vitaly Kuznetsov) [1749495] - [x86] kvm: x86: Fix apic dangling pointer in vcpu (Vitaly Kuznetsov) [1749495] - [x86] kvm: vmx: check CPUID before allowing read/write of IA32_XSS (Vitaly Kuznetsov) [1749495] - [tools] tests: kvm: Check for a kernel warning (Vitaly Kuznetsov) [1749495] - [tools] kvm: tests: Sort tests in the Makefile alphabetically (Vitaly Kuznetsov) [1749495] - [documentation] kvm: fix typo in documentation (Vitaly Kuznetsov) [1749495] - [x86] kvm: nvmx: shadow pin based execution controls (Vitaly Kuznetsov) [1749495] - [x86] kvm: vmx: Leave preemption timer running when it's disabled (Vitaly Kuznetsov) [1749495] - [x86] kvm: vmx: Drop hv_timer_armed from 'struct loaded_vmcs' (Vitaly Kuznetsov) [1749495] - [x86] kvm: nvmx: Preset *DT exiting in vmcs02 when emulating UMIP (Vitaly Kuznetsov) [1749495] - [x86] kvm: nvmx: Preserve last USE_MSR_BITMAPS when preparing vmcs02 (Vitaly Kuznetsov) [1749495] - [x86] kvm: vmx: Explicitly initialize controls shadow at VMCS allocation (Vitaly Kuznetsov) [1749495] - [x86] kvm: nvmx: Don't reset VMCS controls shadow on VMCS switch (Vitaly Kuznetsov) [1749495] - [x86] kvm: nvmx: Shadow VMCS controls on a per-VMCS basis (Vitaly Kuznetsov) [1749495] - [x86] kvm: vmx: Shadow VMCS secondary execution controls (Vitaly Kuznetsov) [1749495] - [x86] kvm: vmx: Shadow VMCS primary execution controls (Vitaly Kuznetsov) [1749495] - [x86] kvm: vmx: Shadow VMCS pin controls (Vitaly Kuznetsov) [1749495] - [x86] kvm: vmx: Add builder macros for shadowing controls (Vitaly Kuznetsov) [1749495] - [x86] kvm: nvmx: Use adjusted pin controls for vmcs02 (Vitaly Kuznetsov) [1749495] - [x86] kvm: nvmx: Copy PDPTRs to/from vmcs12 only when necessary (Vitaly Kuznetsov) [1749495] - [x86] kvm: nvmx: Don't update GUEST_BNDCFGS if it's clean in HV eVMCS (Vitaly Kuznetsov) [1749495] - [x86] kvm: nvmx: Update vmcs12 for MSR_IA32_DEBUGCTLMSR when it's written (Vitaly Kuznetsov) [1749495] - [x86] kvm: nvmx: Update vmcs12 for SYSENTER MSRs when they're written (Vitaly Kuznetsov) [1749495] - [x86] kvm: nvmx: Update vmcs12 for MSR_IA32_CR_PAT when it's written (Vitaly Kuznetsov) [1749495] - [x86] kvm: nvmx: Don't speculatively write APIC-access page address (Vitaly Kuznetsov) [1749495] - [x86] kvm: nvmx: Don't speculatively write virtual-APIC page address (Vitaly Kuznetsov) [1749495] - [x86] kvm: nvmx: Don't dump VMCS if virtual APIC page can't be mapped (Vitaly Kuznetsov) [1749495] - [x86] kvm: nvmx: Don't reread VMCS-agnostic state when switching VMCS (Vitaly Kuznetsov) [1749495] - [x86] kvm: nvmx: Don't "put" vCPU or host state when switching VMCS (Vitaly Kuznetsov) [1749495] - [x86] kvm: vmx: simplify vmx_prepare_switch_to_{guest, host} (Vitaly Kuznetsov) [1749495] - [x86] kvm: nvmx: Don't rewrite GUEST_PML_INDEX during nested VM-Entry (Vitaly Kuznetsov) [1749495] - [x86] kvm: nvmx: Write ENCLS-exiting bitmap once per vmcs02 (Vitaly Kuznetsov) [1749495] - [x86] kvm: nvmx: Always sync GUEST_BNDCFGS when it comes from vmcs01 (Vitaly Kuznetsov) [1749495] - [x86] kvm: vmx: Always signal #GP on WRMSR to MSR_IA32_CR_PAT with bad value (Vitaly Kuznetsov) [1749495] - [x86] kvm: nvmx: Rename prepare_vmcs02_*_full to prepare_vmcs02_*_rare (Vitaly Kuznetsov) [1749495] - [x86] kvm: nvmx: Sync rarely accessed guest fields only when needed (Vitaly Kuznetsov) [1749495] - [x86] kvm: nvmx: Add helpers to identify shadowed VMCS fields (Vitaly Kuznetsov) [1749495] - [x86] kvm: nvmx: Use descriptive names for VMCS sync functions and flags (Vitaly Kuznetsov) [1749495] - [x86] kvm: nvmx: Lift sync_vmcs12() out of prepare_vmcs12() (Vitaly Kuznetsov) [1749495] - [x86] kvm: nvmx: Track vmcs12 offsets for shadowed VMCS fields (Vitaly Kuznetsov) [1749495] - [x86] kvm: nvmx: Intercept VMWRITEs to GUEST_{CS, SS}_AR_BYTES (Vitaly Kuznetsov) [1749495] - [x86] kvm: nvmx: Intercept VMWRITEs to read-only shadow VMCS fields (Vitaly Kuznetsov) [1749495] - [x86] kvm: vmx: Handle NMIs, #MCs and async #PFs in common irqs-disabled fn (Vitaly Kuznetsov) [1749495] - [x86] kvm: x86: Move kvm_{before, after}_interrupt() calls to vendor code (Vitaly Kuznetsov) [1749495] - [x86] kvm: vmx: Store the host kernel's IDT base in a global variable (Vitaly Kuznetsov) [1749495] - [x86] kvm: vmx: Read cached VM-Exit reason to detect external interrupt (Vitaly Kuznetsov) [1749495] - [x86] kvm: nvmx: small cleanup in handle_exception (Vitaly Kuznetsov) [1749495] - [x86] kvm: vmx: Fix handling of #MC that occurs during VM-Entry (Vitaly Kuznetsov) [1749495] - [x86] kvm: x86: move MSR_IA32_POWER_CTL handling to common code (Vitaly Kuznetsov) [1749495] - [x86] kvm: x86: offset is ensure to be in range (Vitaly Kuznetsov) [1749495] - [x86] kvm: x86: use same convention to name kvm_lapic_{set, clear}_vector() (Vitaly Kuznetsov) [1749495] - [x86] kvm: x86: check kvm_apic_sw_enabled() is enough (Vitaly Kuznetsov) [1749495] - [x86] kvm: x86: add host poll control msrs (Vitaly Kuznetsov) [1749495] - [x86] kvm: vmx: segment limit check: use access length (Vitaly Kuznetsov) [1749495] - [x86] kvm: vmx: fix limit checking in get_vmx_mem_address() (Vitaly Kuznetsov) [1749495] - [x86] kvm: x86: Add Intel CPUID.1F cpuid emulation support (Vitaly Kuznetsov) [1749495] - [x86] kvm: x86: Use DR_TRAP_BITS instead of hard-coded 15 (Vitaly Kuznetsov) [1749495] - [x86] kvm: x86: clean up conditions for asynchronous page fault handling (Vitaly Kuznetsov) [1749495] - [documentation] docs: amd-memory-encryption.rst get rid of warnings (Vitaly Kuznetsov) [1749495] - [virt] kvm: Convert kvm_lock to a mutex (Vitaly Kuznetsov) [1749495] - [x86] kvm: vmx: remove unneeded 'asm volatile ("")' from vmcs_write64 (Vitaly Kuznetsov) [1749495] - [virt] kvm: irqchip: Use struct_size() in kzalloc() (Vitaly Kuznetsov) [1749495] - [x86] kvm/vmx: drop bad asm() clobber from nested_vmx_check_vmentry_hw() (Vitaly Kuznetsov) [1749495] - [tools] kvm: selftests: hide vcpu_setup in processor code (Vitaly Kuznetsov) [1749495] - [x86] kvm: x86: Emulate MSR_IA32_MISC_ENABLE MWAIT bit (Vitaly Kuznetsov) [1749495] - [x86] kvm: x86: Provide a capability to disable cstate msr read intercepts (Vitaly Kuznetsov) [1749495] - [documentation] kvm: documentation: Add disable pause exits to KVM_CAP_X86_DISABLE_EXITS (Vitaly Kuznetsov) [1749495] - [x86] kvm: x86: refine kvm_get_arch_capabilities() (Vitaly Kuznetsov) [1749495] - [virt] kvm: Directly return result from kvm_arch_check_processor_compat() (Vitaly Kuznetsov) [1749495] - [x86] kvm: lapic: Optimize timer latency further (Vitaly Kuznetsov) [1749495] - [x86] kvm: lapic: Delay trace_kvm_wait_lapic_expire tracepoint to after vmexit (Vitaly Kuznetsov) [1749495] - [x86] kvm: lapic: Extract adaptive tune timer advancement logic (Vitaly Kuznetsov) [1749495] - [x86] kvm/nsvm: properly map nested VMCB (Vitaly Kuznetsov) [1749495] - [x86] kvm: x86: Fix reserved bits related calculation errors caused by MKTME (Vitaly Kuznetsov) [1749495] - [x86] kvm: x86: Move kvm_set_mmio_spte_mask() from x86.c to mmu.c (Vitaly Kuznetsov) [1749495] - [virt] kvm: fix compile on s390 part 2 (Vitaly Kuznetsov) [1749495] - [x86] kvm: x86: fix return value for reserved EFER (Vitaly Kuznetsov) [1749495] - [tools] kvm_stat: fix fields filter for child events (Vitaly Kuznetsov) [1749495] - [tools] kvm: selftests: aarch64: compile with warnings on (Vitaly Kuznetsov) [1749495] - [x86] kvm: x86/pmu: do not mask the value that is written to fixed PMUs (Vitaly Kuznetsov) [1749495] - [x86] kvm: x86/pmu: mask the result of rdpmc according to the width of the counters (Vitaly Kuznetsov) [1749495] - [x86] kvm/pmu: Set AMD's virt PMU version to 1 (Vitaly Kuznetsov) [1749495] - [x86] kvm: x86: do not spam dmesg with VMCS/VMCB dumps (Vitaly Kuznetsov) [1749495] - [virt] kvm: Check irqchip mode before assign irqfd (Vitaly Kuznetsov) [1749495] - [tools] kvm: selftests: Remove duplicated TEST_ASSERT in hyperv_cpuid.c (Vitaly Kuznetsov) [1749495] - [x86] kvm: lapic: Expose per-vCPU timer_advance_ns to userspace (Vitaly Kuznetsov) [1749495] - [x86] kvm: lapic: Fix lapic_timer_advance_ns parameter overflow (Vitaly Kuznetsov) [1749495] - [x86] kvm: vmx: Fix -Wmissing-prototypes warnings (Vitaly Kuznetsov) [1749495] - [x86] kvm: nvmx: Fix using __this_cpu_read() in preemptible context (Vitaly Kuznetsov) [1749495] - [virt] kvm: fix compilation on s390 (Vitaly Kuznetsov) [1749495] - [x86] kvm: x86: Include CPUID leaf 0x8000001e in kvm's supported CPUID (Vitaly Kuznetsov) [1749495] - [x86] kvm: x86: Include multiple indices with CPUID leaf 0x8000001d (Vitaly Kuznetsov) [1749495] - [tools] kvm: selftests: Fix a condition in test_hv_cpuid() (Vitaly Kuznetsov) [1749495] - [virt] kvm: Fix spinlock taken warning during host resume (Vitaly Kuznetsov) [1749495] - [virt] kvm: fix compilation on aarch64 (Vitaly Kuznetsov) [1749495] - [x86] revert "kvm: nvmx: Expose RDPMC-exiting only when guest supports PMU" (Vitaly Kuznetsov) [1749495] - [x86] kvm: x86: Fix L1TF mitigation for shadow MMU (Vitaly Kuznetsov) [1749495] - [x86] kvm: nvmx: Disable intercept for FS/GS base MSRs in vmcs02 when possible (Vitaly Kuznetsov) [1749495] - [tools] tests: kvm: Add tests to .gitignore (Vitaly Kuznetsov) [1749495] - [documentation] kvm: Introduce KVM_CAP_MANUAL_DIRTY_LOG_PROTECT2 (Vitaly Kuznetsov) [1749495] - [virt] kvm: Fix kvm_clear_dirty_log_protect off-by-(minus-)one (Vitaly Kuznetsov) [1749495] - [virt] kvm: Fix the bitmap range to copy during clear dirty (Vitaly Kuznetsov) [1749495] - [x86] kvm: x86: use direct accessors for RIP and RSP (Vitaly Kuznetsov) [1749495] - [x86] kvm: vmx: Use accessors for GPRs outside of dedicated caching logic (Vitaly Kuznetsov) [1749495] - [x86] kvm: x86: Omit caching logic for always-available GPRs (Vitaly Kuznetsov) [1749495] - [x86] kvm, x86: Properly check whether a pfn is an MMIO or not (Vitaly Kuznetsov) [1749495] - [x86] kvm/nvmx: Use page_address_valid in a few more locations (Vitaly Kuznetsov) [1749495] - [x86] kvm/nvmx: Use kvm_vcpu_map for accessing the enlightened VMCS (Vitaly Kuznetsov) [1749495] - [x86] kvm/nvmx: Use kvm_vcpu_map for accessing the shadow VMCS (Vitaly Kuznetsov) [1749495] - [x86] kvm/nsvm: Use the new mapping API for mapping guest memory (Vitaly Kuznetsov) [1749495] - [x86] kvm/x86: Use kvm_vcpu_map in emulator_cmpxchg_emulated (Vitaly Kuznetsov) [1749495] - [x86] kvm/nvmx: Use kvm_vcpu_map when mapping the posted interrupt descriptor table (Vitaly Kuznetsov) [1749495] - [x86] kvm/nvmx: Use kvm_vcpu_map when mapping the virtual APIC page (Vitaly Kuznetsov) [1749495] - [x86] kvm/nvmx: Use kvm_vcpu_map when mapping the L1 MSR bitmap (Vitaly Kuznetsov) [1749495] - [x86] nvmx: handle_vmptrld: Use kvm_vcpu_map when copying VMCS12 from guest memory (Vitaly Kuznetsov) [1749495] - [virt] kvm: Introduce a new guest mapping API (Vitaly Kuznetsov) [1749495] - [x86] kvm: Handle PFNs outside of kernel reach when touching GPTEs (Vitaly Kuznetsov) [1749495] - [x86] nvmx: Update the PML table without mapping and unmapping the page (Vitaly Kuznetsov) [1749495] - [x86] nvmx: handle_vmon: Read 4 bytes from guest memory (Vitaly Kuznetsov) [1749495] - [x86] kvm: Implement HWCR support (Vitaly Kuznetsov) [1749495] - [x86] kvm: vmx: Include architectural defs header in capabilities.h (Vitaly Kuznetsov) [1749495] - [x86] kvm: vmx: clean up some debug output (Vitaly Kuznetsov) [1749495] - [virt] kvm_main: fix some comments (Vitaly Kuznetsov) [1749495] - [x86] kvm: vmx: Skip delta_tsc shift-and-divide if the dividend is zero (Vitaly Kuznetsov) [1749495] - [x86] kvm: lapic: Check for a pending timer intr prior to start_hv_timer() (Vitaly Kuznetsov) [1749495] - [x86] kvm: lapic: Refactor ->set_hv_timer to use an explicit expired param (Vitaly Kuznetsov) [1749495] - [x86] kvm: lapic: Explicitly cancel the hv timer if it's pre-expired (Vitaly Kuznetsov) [1749495] - [x86] kvm: lapic: Busy wait for timer to expire when using hv_timer (Vitaly Kuznetsov) [1749495] - [x86] kvm: vmx: Nop emulation of MSR_IA32_POWER_CTL (Vitaly Kuznetsov) [1749495] - [x86] kvm: x86: Add support of clear Trace_ToPA_PMI status (Vitaly Kuznetsov) [1749495] - [x86] kvm: x86: Inject PMI for KVM guest (Vitaly Kuznetsov) [1749495] - [documentation] revert "kvm: doc: Document the life cycle of a VM and its resources" (Vitaly Kuznetsov) [1749495] - [documentation] documentation: kvm: fix dirty log ioctl arch lists (Vitaly Kuznetsov) [1749495] - [x86] kvm: Make steal_time visible (Vitaly Kuznetsov) [1749495] - [x86] kvm: x86: Inject #GP if guest attempts to set unsupported EFER bits (Vitaly Kuznetsov) [1749495] - [x86] kvm: x86: Skip EFER vs. guest CPUID checks for host-initiated writes (Vitaly Kuznetsov) [1749495] - [x86] kvm: nvmx: Return -EINVAL when signaling failure in VM-Entry helpers (Vitaly Kuznetsov) [1749495] - [x86] kvm: nvmx: Return -EINVAL when signaling failure in pre-VM-Entry helpers (Vitaly Kuznetsov) [1749495] - [x86] kvm: nvmx: Rename and split top-level consistency checks to match SDM (Vitaly Kuznetsov) [1749495] - [x86] kvm: nvmx: Move guest non-reg state checks to VM-Exit path (Vitaly Kuznetsov) [1749495] - [x86] kvm: nvmx: Check "load IA32_PAT" VM-entry control on vmentry (Vitaly Kuznetsov) [1749495] - [x86] kvm: nvmx: Check "load IA32_PAT" VM-exit control on vmentry (Vitaly Kuznetsov) [1749495] - [x86] kvm: x86: optimize check for valid PAT value (Vitaly Kuznetsov) [1749495] - [x86] kvm: x86: clear VM_EXIT_SAVE_IA32_PAT (Vitaly Kuznetsov) [1749495] - [x86] kvm: vmx: print more APICv fields in dump_vmcs (Vitaly Kuznetsov) [1749495] - [x86] kvm: x86: Raise #GP when guest vCPU do not support PMU (Vitaly Kuznetsov) [1749495] - [documentation] kvm: doc: Document the life cycle of a VM and its resources (Vitaly Kuznetsov) [1749495] - [x86] kvm: x86: skip populating logical dest map if apic is not sw enabled (Bandan Das) [1728503] - [powerpc] kvm: ppc: book3s: Fix incorrect guest-to-user-translation error handling (David Gibson) [1749504] - [powerpc] kvm: Fall through switch case explicitly (David Gibson) [1749504] - [powerpc] kvm: ppc: book3s hv: Fix CR0 setting in TM emulation (David Gibson) [1749504] - [powerpc] kvm: ppc: book3s hv: Invalidate ERAT when flushing guest TLB entries (David Gibson) [1749504] - [powerpc] kvm: ppc: book3s hv: Only write DAWR[X] when handling h_set_dawr in real mode (David Gibson) [1749504] - [powerpc] kvm: ppc: book3s hv: xive: Fix spelling mistake "acessing" -> "accessing" (David Gibson) [1749504] - [powerpc] kvm: ppc: book3s hv: Make sure to load LPID for radix VCPUs (David Gibson) [1749504] - [powerpc] kvm: ppc: book3s hv: Flush TLB on secondary radix threads (David Gibson) [1749504] - [powerpc] kvm: ppc: book3s hv: Move HPT guest TLB flushing to C code (David Gibson) [1749504] - [powerpc] kvm: ppc: book3s hv: Handle virtual mode in XIVE VCPU push code (David Gibson) [1749504] - [powerpc] kvm: ppc: book3s hv: smb->smp comment fixup (David Gibson) [1749504] - [powerpc] kvm: ppc: book3s: Allocate guest TCEs on demand too (David Gibson) [1749504] - [powerpc] kvm: ppc: book3s hv: Avoid lockdep debugging in TCE realmode handlers (David Gibson) [1749504] - [powerpc] kvm: ppc: book3s hv: Fix lockdep warning when entering the guest (David Gibson) [1749504] - [powerpc] kvm: ppc: book3s hv: Implement real mode H_PAGE_INIT handler (David Gibson) [1749504] - [powerpc] kvm: ppc: book3s hv: Implement virtual mode H_PAGE_INIT handler (David Gibson) [1749504] - [powerpc] kvm: ppc: book3s: Protect memslots while validating user address (David Gibson) [1749504] - [pci] PCI: hv: Use bytes 4 and 5 from instance ID as the PCI domain numbers (Mohammed Gamal) [1671288] - [pci] PCI: hv: Detect and fix Hyper-V PCI domain number collision (Mohammed Gamal) [1671288] - [fs] Revert "lockd: Show pid of lockd for remote locks" (Benjamin Coddington) [1732409] - [fs] NFSv4: Fix an Oops in nfs4_do_setattr (Benjamin Coddington) [1732409] - [fs] NFSv4: Check the return value of update_open_stateid() (Benjamin Coddington) [1732409] - [fs] NFSv4: Fix delegation state recovery (Benjamin Coddington) [1732409] - [fs] pnfs/flexfiles: Fix PTR_ERR() dereferences in ff_layout_track_ds_error (Benjamin Coddington) [1732409] - [fs] Revert "NFS: readdirplus optimization by cache mechanism" (memleak) (Benjamin Coddington) [1732409] - [fs] svcrdma: Ignore source port when computing DRC hash (Benjamin Coddington) [1732409] - [fs] NFS/flexfiles: Use the correct TCP timeout for flexfiles I/O (Benjamin Coddington) [1732409] - [fs] NFSv4.1: Fix bug only first CB_NOTIFY_LOCK is handled (Benjamin Coddington) [1732409] - [fs] NFSv4.1: Again fix a race where CB_NOTIFY_LOCK fails to wake a waiter (Benjamin Coddington) [1732409] - [fs] SUNRPC fix regression in umount of a secure mount (Benjamin Coddington) [1732409] - [fs] NFS4: Fix v4.0 client state corruption when mount (Benjamin Coddington) [1732409] - [fs] NFSv4: When recovering state fails with EAGAIN, retry the same recovery (Benjamin Coddington) [1732409] - [fs] pnfs: Fix a problem where we gratuitously start doing I/O through the MDS (Benjamin Coddington) [1732409] - [fs] SUNRPC: Ensure the bvecs are reset when we re-encode the RPC request (Benjamin Coddington) [1732409] - [fs] sunrpc/cache: remove the exporting of cache_seq_next (Benjamin Coddington) [1732409] - [fs] SUNRPC: Fix a use after free when a server rejects the RPCSEC_GSS credential (Benjamin Coddington) [1732409] - [fs] xprtrdma: Fix an frwr_map recovery nit (Benjamin Coddington) [1732409] - [fs] NFSv4.1 fix incorrect return value in copy_file_range (Benjamin Coddington) [1732409] - [fs] NFS: Fix handling of reply page vector (Benjamin Coddington) [1732409] - [fs] NFS: Forbid setting AF_INET6 to "struct sockaddr_in"->sin_family. (Benjamin Coddington) [1732409] - [fs] nfsd: Don't release the callback slot unless it was actually held (Benjamin Coddington) [1732409] - [fs] nfsd/nfsd3_proc_readdir: fix buffer count and page pointers (Benjamin Coddington) [1732409] - [fs] sunrpc: don't mark uninitialised items as VALID. (Benjamin Coddington) [1732409] - [fs] SUNRPC: fix uninitialized variable warning (Benjamin Coddington) [1732409] - [fs] pNFS/flexfiles: Fix layoutstats handling during read failovers (Benjamin Coddington) [1732409] - [fs] NFS: Fix a typo in nfs_init_timeout_values() (Benjamin Coddington) [1732409] - [fs] SUNRPC: Don't let RPC_SOFTCONN tasks time out if the transport is connected (Benjamin Coddington) [1732409] - [fs] NFS: fix mount/umount race in nlmclnt. (Benjamin Coddington) [1732409] - [fs] NFS: Fix nfs4_lock_state refcounting in nfs4_alloc_{lock, unlock}data() (Benjamin Coddington) [1732409] - [fs] SUNRPC: Remove redundant check for the reply length in call_decode() (Benjamin Coddington) [1732409] - [fs] SUNRPC: Handle the SYSTEM_ERR rpc error (Benjamin Coddington) [1732409] - [fs] SUNRPC: rpc_decode_header() must always return a non-zero value on error (Benjamin Coddington) [1732409] - [fs] SUNRPC: Use the ENOTCONN error on socket disconnect (Benjamin Coddington) [1732409] - [fs] SUNRPC: Fix the minimal size for reply buffer allocation (Benjamin Coddington) [1732409] - [fs] SUNRPC: Fix a client regression when handling oversized replies (Benjamin Coddington) [1732409] - [fs] pNFS: Fix a typo in pnfs_update_layout (Benjamin Coddington) [1732409] - [fs] SUNRPC: Take the transport send lock before binding+connecting (Benjamin Coddington) [1732409] - [fs] SUNRPC: Micro-optimise when the task is known not to be sleeping (Benjamin Coddington) [1732409] - [fs] SUNRPC: Check whether the task was transmitted before rebind/reconnect (Benjamin Coddington) [1732409] - [fs] SUNRPC: Remove redundant calls to RPC_IS_QUEUED() (Benjamin Coddington) [1732409] - [fs] SUNRPC: Clean up (Benjamin Coddington) [1732409] - [fs] nfsd: allow nfsv3 readdir request to be larger. (Benjamin Coddington) [1732409] - [fs] SUNRPC: Respect RPC call timeouts when retrying transmission (Benjamin Coddington) [1732409] - [fs] SUNRPC: Fix up RPC back channel transmission (Benjamin Coddington) [1732409] - [fs] SUNRPC: Prevent thundering herd when the socket is not connected (Benjamin Coddington) [1732409] - [fs] nfsd: fix wrong check in write_v4_end_grace() (Benjamin Coddington) [1732409] - [fs] nfsd: fix memory corruption caused by readdir (Benjamin Coddington) [1732409] - [fs] SUNRPC: Allow dynamic allocation of back channel slots (Benjamin Coddington) [1732409] - [fs] NFSv4.1: Bump the default callback session slot count to 16 (Benjamin Coddington) [1732409] - [fs] SUNRPC: Convert remaining GFP_NOIO, and GFP_NOWAIT sites in sunrpc (Benjamin Coddington) [1732409] - [fs] NFS/flexfiles: Clean up mirror DS initialisation (Benjamin Coddington) [1732409] - [fs] NFS/flexfiles: Remove dead code in ff_layout_mirror_valid() (Benjamin Coddington) [1732409] - [fs] NFS/flexfile: Simplify nfs4_ff_layout_select_ds_stateid() (Benjamin Coddington) [1732409] - [fs] NFS/flexfile: Simplify nfs4_ff_layout_ds_version() (Benjamin Coddington) [1732409] - [fs] NFS/flexfiles: Simplify ff_layout_get_ds_cred() (Benjamin Coddington) [1732409] - [fs] NFS/flexfiles: Simplify nfs4_ff_find_or_create_ds_client() (Benjamin Coddington) [1732409] - [fs] NFS/flexfiles: Simplify nfs4_ff_layout_select_ds_fh() (Benjamin Coddington) [1732409] - [fs] NFS/flexfiles: Speed up read failover when DSes are down (Benjamin Coddington) [1732409] - [fs] NFS/flexfiles: Don't invalidate DS deviceids for being unresponsive (Benjamin Coddington) [1732409] - [fs] NFS/flexfiles: Remove bogus checks for invalid deviceids (Benjamin Coddington) [1732409] - [fs] NFS/flexfiles: Avoid unnecessary layout invalidations (Benjamin Coddington) [1732409] - [fs] NFS/flexfiles: refactor calls to fs4_ff_layout_prepare_ds() (Benjamin Coddington) [1732409] - [fs] NFSv4: Handle early exit in layoutget by returning an error (Benjamin Coddington) [1732409] - [fs] NFS/flexfiles: Send LAYOUTERROR when failing over mirrored reads (Benjamin Coddington) [1732409] - [fs] NFSv4.2: Add client support for the generic 'layouterror' RPC call (Benjamin Coddington) [1732409] - [fs] NFSv4/flexfiles: Abort I/O early if the layout segment was invalidated (Benjamin Coddington) [1732409] - [fs] NFSv4/pnfs: Fix barriers in nfs4_mark_deviceid_unavailable() (Benjamin Coddington) [1732409] - [fs] NFS/flexfiles: Fix up sparse RCU annotations (Benjamin Coddington) [1732409] - [fs] NFSv4/flexfiles: Fix invalid deref in FF_LAYOUT_DEVID_NODE() (Benjamin Coddington) [1732409] - [fs] NFS: Add missing encode / decode sequence_maxsz to v4.2 operations (Benjamin Coddington) [1732409] - [fs] NFSv4.1: Don't process the sequence op more than once. (Benjamin Coddington) [1732409] - [fs] NFSv4.1: Reinitialise sequence results before retransmitting a request (Benjamin Coddington) [1732409] - [fs] SUNRPC: Fix an Oops in udp_poll() (Benjamin Coddington) [1732409] - [fs] NFS/pnfs: Bulk destroy of layouts needs to be safe w.r.t. umount (Benjamin Coddington) [1732409] - [fs] NFS: Fix a soft lockup in the delegation recovery code (Benjamin Coddington) [1732409] - [fs] nfsd: fix performance-limiting session calculation (Benjamin Coddington) [1732409] - [fs] svcrpc: fix UDP on servers with lots of threads (Benjamin Coddington) [1732409] - [fs] SUNRPC: Remove the redundant 'zerocopy' argument to xs_sendpages() (Benjamin Coddington) [1732409] - [fs] SUNRPC: Further cleanups of xs_sendpages() (Benjamin Coddington) [1732409] - [fs] SUNRPC: Convert socket page send code to use iov_iter() (Benjamin Coddington) [1732409] - [fs] SUNRPC: Convert xs_send_kvec() to use iov_iter_kvec() (Benjamin Coddington) [1732409] - [fs] SUNRPC: Initiate a connection close on an ESHUTDOWN error in stream receive (Benjamin Coddington) [1732409] - [fs] SUNRPC: Don't suppress socket errors when a message read completes (Benjamin Coddington) [1732409] - [fs] SUNRPC: Handle zero length fragments correctly (Benjamin Coddington) [1732409] - [fs] SUNRPC: Don't reset the stream record info when the receive worker is running (Benjamin Coddington) [1732409] - [fs] nfs: fix xfstest generic/099 failed on nfsv3 (Benjamin Coddington) [1732409] - [fs] NFS: Fix typo in comments of nfs_readdir_alloc_pages() (Benjamin Coddington) [1732409] - [fs] NFS: Remove redundant semicolon (Benjamin Coddington) [1732409] - [fs] NFS: readdirplus optimization by cache mechanism (Benjamin Coddington) [1732409] - [fs] fs/nfs: Fix nfs_parse_devname to not modify it's argument (Benjamin Coddington) [1732409] - [fs] SUNRPC: remove pointless test in unx_match() (Benjamin Coddington) [1732409] - [fs] NFS: drop useless LIST_HEAD (Benjamin Coddington) [1732409] - [fs] SUNRPC: Ensure rq_bytes_sent is reset before request transmission (Benjamin Coddington) [1732409] - [fs] SUNRPC: Use poll() to fix up the socket requeue races (Benjamin Coddington) [1732409] - [fs] SUNRPC: Set memalloc_nofs_save() on all rpciod/xprtiod jobs (Benjamin Coddington) [1732409] - [fs] NFS: Fix sparse annotations for nfs_set_open_stateid_locked() (Benjamin Coddington) [1732409] - [fs] NFS: Fix up documentation warnings (Benjamin Coddington) [1732409] - [fs] NFS: ENOMEM should also be a fatal error. (Benjamin Coddington) [1732409] - [fs] NFS: EINTR is also a fatal error. (Benjamin Coddington) [1732409] - [fs] NFS: Ensure NFS writeback allocations don't recurse back into NFS. (Benjamin Coddington) [1732409] - [fs] NFS: Pass error information to the pgio error cleanup routine (Benjamin Coddington) [1732409] - [fs] NFS: Clean up list moves of struct nfs_page (Benjamin Coddington) [1732409] - [fs] NFS: Don't recoalesce on error in nfs_pageio_complete_mirror() (Benjamin Coddington) [1732409] - [fs] NFS: Fix an I/O request leakage in nfs_do_recoalesce (Benjamin Coddington) [1732409] - [fs] NFS: Fix I/O request leakages (Benjamin Coddington) [1732409] - [fs] Revert "nfsd4: return default lease period" (Benjamin Coddington) [1732409] - [fs] SUNRPC: Use au_rslack when computing reply buffer size (Benjamin Coddington) [1732409] - [fs] SUNRPC: Add rpc_auth::au_ralign field (Benjamin Coddington) [1732409] - [fs] SUNRPC: Make AUTH_SYS and AUTH_NULL set au_verfsize (Benjamin Coddington) [1732409] - [fs] NFS: Account for XDR pad of buf->pages (Benjamin Coddington) [1732409] - [fs] SUNRPC: Introduce rpc_prepare_reply_pages() (Benjamin Coddington) [1732409] - [fs] SUNRPC: Remove xdr_buf_trim() (Benjamin Coddington) [1732409] - [fs] SUNRPC: Introduce trace points in rpc_auth_gss.ko (Benjamin Coddington) [1732409] - [fs] xprtrdma: Squelch a sparse warning (Benjamin Coddington) [1732409] - [fs] SUNRPC: Use struct xdr_stream when decoding RPC Reply header (Benjamin Coddington) [1732409] - [fs] SUNRPC: Clean up rpc_verify_header() (Benjamin Coddington) [1732409] - [fs] SUNRPC: Use struct xdr_stream when constructing RPC Call header (Benjamin Coddington) [1732409] - [fs] SUNRPC: Add build option to disable support for insecure enctypes (Benjamin Coddington) [1732409] - [fs] SUNRPC: Remove rpc_xprt::tsh_size (Benjamin Coddington) [1732409] - [fs] SUNRPC: Remove some dprintk() call sites from auth functions (Benjamin Coddington) [1732409] - [fs] NFS: Add trace events to report non-zero NFS status codes (Benjamin Coddington) [1732409] - [fs] NFS: Remove print_overflow_msg() (Benjamin Coddington) [1732409] - [fs] SUNRPC: Add trace event that reports reply page vector alignment (Benjamin Coddington) [1732409] - [fs] SUNRPC: Add XDR overflow trace event (Benjamin Coddington) [1732409] - [fs] SUNRPC: Add xdr_stream::rqst field (Benjamin Coddington) [1732409] - [fs] SUNRPC: Display symbolic flag names in RPC trace events (Benjamin Coddington) [1732409] - [fs] rpc: properly check debugfs dentry before using it (Benjamin Coddington) [1732409] - [fs] svcrpc: fix unlikely races preventing queueing of sockets (Benjamin Coddington) [1732409] - [fs] svcrpc: svc_xprt_has_something_to_do seems a little long (Benjamin Coddington) [1732409] - [fs] SUNRPC: Don't allow compiler optimisation of svc_xprt_release_slot() (Benjamin Coddington) [1732409] - [fs] nfsd: fix an IS_ERR() vs NULL check (Benjamin Coddington) [1732409] - [fs] nfsd: Fix error return values for nfsd4_clone_file_range() (Benjamin Coddington) [1732409] - [fs] nfs: Fix NULL pointer dereference of dev_name (Benjamin Coddington) [1732409] - [fs] SUNRPC: Address Kerberos performance/behavior regression (Benjamin Coddington) [1732409] - [fs] SUNRPC: Ensure we respect the RPCSEC_GSS sequence number limit (Benjamin Coddington) [1732409] - [fs] SUNRPC: Ensure rq_bytes_sent is reset before request transmission (Benjamin Coddington) [1732409] - [fs] NFSv4.2 fix unnecessary retry in nfs4_copy_file_range (Benjamin Coddington) [1732409] - [fs] sunrpc: kernel BUG at kernel/cred.c:825! (Benjamin Coddington) [1732409] - [fs] SUNRPC: Fix TCP receive code on archs with flush_dcache_page() (Benjamin Coddington) [1732409] - [fs] sunrpc: convert to DEFINE_SHOW_ATTRIBUTE (Benjamin Coddington) [1732409] - [fs] sunrpc: Add xprt after nfs4_test_session_trunk() (Benjamin Coddington) [1732409] - [fs] sunrpc: convert unnecessary GFP_ATOMIC to GFP_NOFS (Benjamin Coddington) [1732409] - [fs] sunrpc: handle ENOMEM in rpcb_getport_async (Benjamin Coddington) [1732409] - [fs] NFS: remove unnecessary test for IS_ERR(cred) (Benjamin Coddington) [1732409] - [fs] NFSv4.2 fix async copy reboot recovery (Benjamin Coddington) [1732409] - [fs] SUNRPC: Fix some kernel doc complaints (Benjamin Coddington) [1732409] - [fs] SUNRPC: Simplify defining common RPC trace events (Benjamin Coddington) [1732409] - [fs] NFS: Fix NFSv4 symbolic trace point output (Benjamin Coddington) [1732409] - [fs] nfs: fixed broken compilation in nfs_callback_up_net() (Benjamin Coddington) [1732409] - [fs] nfs: minor typo in nfs4_callback_up_net() (Benjamin Coddington) [1732409] - [fs] sunrpc: fix debug message in svc_create_xprt() (Benjamin Coddington) [1732409] - [fs] sunrpc: remove svc_rdma_bc_class (Benjamin Coddington) [1732409] - [fs] sunrpc: remove unused bc_up operation from rpc_xprt_ops (Benjamin Coddington) [1732409] - [fs] sunrpc: use SVC_NET() in svcauth_gss_* functions (Benjamin Coddington) [1732409] - [fs] nfsd: drop useless LIST_HEAD (Benjamin Coddington) [1732409] - [fs] SUNRPC discard cr_uid from struct rpc_cred. (Benjamin Coddington) [1732409] - [fs] SUNRPC: simplify auth_unix. (Benjamin Coddington) [1732409] - [fs] SUNRPC: remove crbind rpc_cred operation (Benjamin Coddington) [1732409] - [fs] SUNRPC: remove generic cred code. (Benjamin Coddington) [1732409] - [fs] NFS/NFSD/SUNRPC: replace generic creds with 'struct cred'. (Benjamin Coddington) [1732409] - [fs] NFS: struct nfs_open_dir_context: convert rpc_cred pointer to cred. (Benjamin Coddington) [1732409] - [fs] NFS: change access cache to use 'struct cred'. (Benjamin Coddington) [1732409] - [fs] SUNRPC: remove RPCAUTH_AUTH_NO_CRKEY_TIMEOUT (Benjamin Coddington) [1732409] - [fs] NFS: move credential expiry tracking out of SUNRPC into NFS. (Benjamin Coddington) [1732409] - [fs] SUNRPC: add side channel to use non-generic cred for rpc call. (Benjamin Coddington) [1732409] - [fs] SUNRPC: introduce RPC_TASK_NULLCREDS to request auth_none (Benjamin Coddington) [1732409] - [fs] NFS/SUNRPC: don't lookup machine credential until rpcauth_bindcred(). (Benjamin Coddington) [1732409] - [fs] SUNRPC: discard RPC_DO_ROOTOVERRIDE() (Benjamin Coddington) [1732409] - [fs] NFSv4: don't require lock for get_renew_cred or get_machine_cred (Benjamin Coddington) [1732409] - [fs] NFSv4: add cl_root_cred for use when machine cred is not available. (Benjamin Coddington) [1732409] - [fs] SUNRPC: remove machine_cred field from struct auth_cred (Benjamin Coddington) [1732409] - [fs] SUNRPC: remove uid and gid from struct auth_cred (Benjamin Coddington) [1732409] - [fs] SUNRPC: remove groupinfo from struct auth_cred. (Benjamin Coddington) [1732409] - [fs] SUNRPC: add 'struct cred *' to auth_cred and rpc_cred (Benjamin Coddington) [1732409] - [fs] cred: allow get_cred() and put_cred() to be given NULL. (Benjamin Coddington) [1732409] - [fs] cred: export get_task_cred(). (Benjamin Coddington) [1732409] - [fs] cred: add get_cred_rcu() (Benjamin Coddington) [1732409] - [fs] cred: add cred_fscmp() for comparing creds. (Benjamin Coddington) [1732409] - [fs] SUNRPC: allow /proc entries without CONFIG_SUNRPC_DEBUG (Benjamin Coddington) [1732409] - [fs] nfs: fix comment to nfs_generic_pg_test which does the opposite (Benjamin Coddington) [1732409] - [fs] NFSv4: cleanup remove unused nfs4_xdev_fs_type (Benjamin Coddington) [1732409] - [fs] SUNRPC: Remove xprt_connect_status() (Benjamin Coddington) [1732409] - [fs] SUNRPC: Fix a race with XPRT_CONNECTING (Benjamin Coddington) [1732409] - [fs] SUNRPC: Fix disconnection races (Benjamin Coddington) [1732409] - [fs] Revert "[net] Revert "sunrpc: Ensure we always close the socket after a connection shuts down"" (Benjamin Coddington) [1732409] - [fs] lockd: Show pid of lockd for remote locks (Benjamin Coddington) [1732409] - [fs] NFSD remove OP_CACHEME from 4.2 op_flags (Benjamin Coddington) [1732409] - [fs] SUNRPC: Don't force a redundant disconnection in xs_read_stream() (Benjamin Coddington) [1732409] - [fs] SUNRPC: Fix up socket polling (Benjamin Coddington) [1732409] - [fs] SUNRPC: Use the discard iterator rather than MSG_TRUNC (Benjamin Coddington) [1732409] - [fs] SUNRPC: Treat EFAULT as a truncated message in xs_read_stream_request() (Benjamin Coddington) [1732409] - [fs] SUNRPC: Fix up handling of the XDRBUF_SPARSE_PAGES flag (Benjamin Coddington) [1732409] - [fs] SUNRPC: Fix RPC receive hangs (Benjamin Coddington) [1732409] - [fs] nfsd: Return EPERM, not EACCES, in some SETATTR cases (Benjamin Coddington) [1732409] - [fs] sunrpc: fix cache_head leak due to queued request (Benjamin Coddington) [1732409] - [fs] SUNRPC: Fix a potential race in xprt_connect() (Benjamin Coddington) [1732409] - [fs] SUNRPC: Fix a memory leak in call_encode() (Benjamin Coddington) [1732409] - [fs] SUNRPC: Fix leak of krb5p encode pages (Benjamin Coddington) [1732409] - [fs] SUNRPC: call_connect_status() must handle tasks that got transmitted (Benjamin Coddington) [1732409] - [fs] nfs: don't dirty kernel pages read by direct-io (Benjamin Coddington) [1732409] - [fs] NFS: use locks_copy_lock() to copy locks. (Benjamin Coddington) [1732409] - [fs] nfsd: clean up indentation, increase indentation in switch statement (Benjamin Coddington) [1732409] - [fs] nfsd: fix a warning in __cld_pipe_upcall() (Benjamin Coddington) [1732409] - [fs] lockd: fix decoding of TEST results (Benjamin Coddington) [1732409] - [fs] nfsd4: fix crash on writing v4_end_grace before nfsd startup (Benjamin Coddington) [1732409] - [fs] nfsd4: skip unused assignment (Benjamin Coddington) [1732409] - [fs] nfsd4: forbid all renames during grace period (Benjamin Coddington) [1732409] - [fs] nfsd4: remove unused nfs4_check_olstateid parameter (Benjamin Coddington) [1732409] - [fs] nfsd4: zero-length WRITE should succeed (Benjamin Coddington) [1732409] - [fs] NFSv4.2 copy do not allocate memory under the lock (Benjamin Coddington) [1732409] - [fs] NFSv4: Fix a NFSv4 state manager deadlock (Benjamin Coddington) [1732409] - [fs] NFSv4: Fix an Oops during delegation callbacks (Benjamin Coddington) [1732409] - [fs] SUNRPC: Fix a bogus get/put in generic_key_to_expire() (Benjamin Coddington) [1732409] - [fs] SUNRPC: Fix a Oops when destroying the RPCSEC_GSS credential cache (Benjamin Coddington) [1732409] - [fs] NFSv4: Ensure that the state manager exits the loop on SIGKILL (Benjamin Coddington) [1732409] - [fs] NFSv4: Don't exit the state manager without clearing NFS4CLNT_MANAGER_RUNNING (Benjamin Coddington) [1732409] - [fs] SUNRPC: drop pointless static qualifier in xdr_get_next_encode_buffer() (Benjamin Coddington) [1732409] - [fs] nfsd: COPY and CLONE operations require the saved filehandle to be set (Benjamin Coddington) [1732409] - [fs] sunrpc: correct the computation for page_ptr when truncating (Benjamin Coddington) [1732409] - [fs] NFS: fix spelling mistake, EACCESS -> EACCES (Benjamin Coddington) [1732409] - [fs] SUNRPC: Use atomic(64)_t for seq_send(64) (Benjamin Coddington) [1732409] - [fs] nfsd: Fix an Oops in free_session() (Benjamin Coddington) [1732409] - [fs] nfsd: correctly decrement odstate refcount in error path (Benjamin Coddington) [1732409] - [fs] nfsd: fix fall-through annotations (Benjamin Coddington) [1732409] - [fs] knfsd: Improve lookup performance in the duplicate reply cache using an rbtree (Benjamin Coddington) [1732409] - [fs] knfsd: Further simplify the cache lookup (Benjamin Coddington) [1732409] - [fs] knfsd: Simplify NFS duplicate replay cache (Benjamin Coddington) [1732409] - [fs] knfsd: Remove dead code from nfsd_cache_lookup (Benjamin Coddington) [1732409] - [fs] SUNRPC: Simplify TCP receive code (Benjamin Coddington) [1732409] - [fs] SUNRPC: Replace the cache_detail->hash_lock with a regular spinlock (Benjamin Coddington) [1732409] - [fs] SUNRPC: Remove non-RCU protected lookup (Benjamin Coddington) [1732409] - [fs] NFS: Fix up a typo in nfs_dns_ent_put (Benjamin Coddington) [1732409] - [fs] NFS: Lockless DNS lookups (Benjamin Coddington) [1732409] - [fs] knfsd: Lockless lookup of NFSv4 identities. (Benjamin Coddington) [1732409] - [fs] SUNRPC: Lockless server RPCSEC_GSS context lookup (Benjamin Coddington) [1732409] - [fs] knfsd: Allow lockless lookups of the exports (Benjamin Coddington) [1732409] - [fs] SUNRPC: Make server side AUTH_UNIX use lockless lookups (Benjamin Coddington) [1732409] - [fs] SUNRPC: Allow cache lookups to use RCU protection rather than the r/w spinlock (Benjamin Coddington) [1732409] - [fs] SUNRPC: Convert the auth cred cache to use refcount_t (Benjamin Coddington) [1732409] - [fs] SUNRPC: Convert auth creds to use refcount_t (Benjamin Coddington) [1732409] - [fs] SUNRPC: Simplify lookup code (Benjamin Coddington) [1732409] - [fs] SUNRPC: Clean up the AUTH cache code (Benjamin Coddington) [1732409] - [fs] NFS: change sign of nfs_fh length (Benjamin Coddington) [1732409] - [fs] sunrpc: safely reallow resvport min/max inversion (Benjamin Coddington) [1732409] - [fs] nfs: remove redundant call to nfs_context_set_write_error() (Benjamin Coddington) [1732409] - [fs] SUNRPC: Fix a compile warning for cmpxchg64() (Benjamin Coddington) [1732409] - [fs] SUNRPC: use cmpxchg64() in gss_seq_send64_fetch_and_inc() (Benjamin Coddington) [1732409] - [fs] SUNRPC: Refactor sunrpc_cache_lookup (Benjamin Coddington) [1732409] - [fs] SUNRPC: Add lockless lookup of the server's auth domain (Benjamin Coddington) [1732409] - [fs] SUNRPC: Remove the server 'authtab_lock' and just use RCU (Benjamin Coddington) [1732409] - [fs] NFSv4: Fix lookup revalidate of regular files (Benjamin Coddington) [1732409] - [fs] NFS: Refactor nfs_lookup_revalidate() (Benjamin Coddington) [1732409] - [fs] SUNRPC: Replace krb5_seq_lock with a lockless scheme (Benjamin Coddington) [1732409] - [fs] SUNRPC: Lockless lookup of RPCSEC_GSS mechanisms (Benjamin Coddington) [1732409] - [fs] SUNRPC: Remove rpc_authflavor_lock in favour of RCU locking (Benjamin Coddington) [1732409] - [fs] NFS: Remove private spinlock in struct nfs_pgio_header (Benjamin Coddington) [1732409] - [fs] NFSv3: Improve NFSv3 performance when server returns no post-op attributes (Benjamin Coddington) [1732409] - [fs] NFSv4: Split out NFS v4.2 copy completion functions (Benjamin Coddington) [1732409] - [fs] NFS: Reduce indentation of nfs4_recovery_handle_error() (Benjamin Coddington) [1732409] - [fs] NFS: Reduce indentation of the switch statement in nfs4_reclaim_open_state() (Benjamin Coddington) [1732409] - [fs] NFS: Split out the body of nfs4_reclaim_open_state() (Benjamin Coddington) [1732409] - [fs] NFSv4.1: Fix the r/wsize checking (Benjamin Coddington) [1732409] - [fs] NFSv4: Convert struct nfs4_state to use refcount_t (Benjamin Coddington) [1732409] - [fs] NFSv4: Convert open state lookup to use RCU (Benjamin Coddington) [1732409] - [fs] NFS: Convert lookups of the open context to RCU (Benjamin Coddington) [1732409] - [fs] NFS: Simplify internal check for whether file is open for write (Benjamin Coddington) [1732409] - [fs] NFS: Convert lookups of the lock context to RCU (Benjamin Coddington) [1732409] - [fs] pNFS: Don't allocate more pages than we need to fit a layoutget response (Benjamin Coddington) [1732409] - [fs] pNFS: Don't zero out the array in nfs4_alloc_pages() (Benjamin Coddington) [1732409] - [fs] SUNRPC: Unexport xdr_partial_copy_from_skb() (Benjamin Coddington) [1732409] - [fs] SUNRPC: Clean up xs_udp_data_receive() (Benjamin Coddington) [1732409] - [fs] SUNRPC: Allow AF_LOCAL sockets to use the generic stream receive (Benjamin Coddington) [1732409] - [fs] SUNRPC: Clean up - rename xs_tcp_data_receive() to xs_stream_data_receive() (Benjamin Coddington) [1732409] - [fs] SUNRPC: Simplify TCP receive code by switching to using iterators (Benjamin Coddington) [1732409] - [fs] SUNRPC: Add a bvec array to struct xdr_buf for use with iovec_iter() (Benjamin Coddington) [1732409] - [fs] SUNRPC: Add a label for RPC calls that require allocation on receive (Benjamin Coddington) [1732409] - [fs] SUNRPC: Convert the xprt->sending queue back to an ordinary wait queue (Benjamin Coddington) [1732409] - [fs] SUNRPC: Fix priority queue fairness (Benjamin Coddington) [1732409] - [fs] SUNRPC: Convert xprt receive queue to use an rbtree (Benjamin Coddington) [1732409] - [fs] SUNRPC: Don't take transport->lock unnecessarily when taking XPRT_LOCK (Benjamin Coddington) [1732409] - [fs] SUNRPC: Cleanup: remove the unused 'task' argument from the request_send() (Benjamin Coddington) [1732409] - [fs] SUNRPC: Clean up transport write space handling (Benjamin Coddington) [1732409] - [fs] SUNRPC: Turn off throttling of RPC slots for TCP sockets (Benjamin Coddington) [1732409] - [fs] SUNRPC: Allow soft RPC calls to time out when waiting for the XPRT_LOCK (Benjamin Coddington) [1732409] - [fs] SUNRPC: Allow calls to xprt_transmit() to drain the entire transmit queue (Benjamin Coddington) [1732409] - [fs] SUNRPC: Enqueue swapper tagged RPCs at the head of the transmit queue (Benjamin Coddington) [1732409] - [fs] SUNRPC: Support for congestion control when queuing is enabled (Benjamin Coddington) [1732409] - [fs] SUNRPC: Improve latency for interactive tasks (Benjamin Coddington) [1732409] - [fs] SUNRPC: Move RPC retransmission stat counter to xprt_transmit() (Benjamin Coddington) [1732409] - [fs] SUNRPC: Simplify xprt_prepare_transmit() (Benjamin Coddington) [1732409] - [fs] SUNRPC: Don't reset the request 'bytes_sent' counter when releasing XPRT_LOCK (Benjamin Coddington) [1732409] - [fs] SUNRPC: Treat the task and request as separate in the xprt_ops->send_request() (Benjamin Coddington) [1732409] - [fs] SUNRPC: Fix up the back channel transmit (Benjamin Coddington) [1732409] - [fs] SUNRPC: Refactor RPC call encoding (Benjamin Coddington) [1732409] - [fs] SUNRPC: Add a transmission queue for RPC requests (Benjamin Coddington) [1732409] - [fs] SUNRPC: Distinguish between the slot allocation list and receive queue (Benjamin Coddington) [1732409] - [fs] SUNRPC: Minor cleanup for call_transmit() (Benjamin Coddington) [1732409] - [fs] SUNRPC: Refactor xprt_transmit() to remove wait for reply code (Benjamin Coddington) [1732409] - [fs] SUNRPC: Refactor xprt_transmit() to remove the reply queue code (Benjamin Coddington) [1732409] - [fs] SUNRPC: Rename xprt->recv_lock to xprt->queue_lock (Benjamin Coddington) [1732409] - [fs] SUNRPC: Don't wake queued RPC calls multiple times in xprt_transmit (Benjamin Coddington) [1732409] - [fs] SUNRPC: Test whether the task is queued before grabbing the queue spinlocks (Benjamin Coddington) [1732409] - [fs] SUNRPC: Add a helper to wake up a sleeping rpc_task and set its status (Benjamin Coddington) [1732409] - [fs] SUNRPC: Refactor the transport request pinning (Benjamin Coddington) [1732409] - [fs] SUNRPC: Simplify dealing with aborted partially transmitted messages (Benjamin Coddington) [1732409] - [fs] SUNRPC: Add socket transmit queue offset tracking (Benjamin Coddington) [1732409] - [fs] SUNRPC: Move reset of TCP state variables into the reconnect code (Benjamin Coddington) [1732409] - [fs] SUNRPC: Rename TCP receive-specific state variables (Benjamin Coddington) [1732409] - [fs] SUNRPC: Avoid holding locks across the XDR encoding of the RPC message (Benjamin Coddington) [1732409] - [fs] SUNRPC: Simplify identification of when the message send/receive is complete (Benjamin Coddington) [1732409] - [fs] SUNRPC: The transmitted message must lie in the RPCSEC window of validity (Benjamin Coddington) [1732409] - [fs] SUNRPC: If there is no reply expected, bail early from call_decode (Benjamin Coddington) [1732409] - [fs] nfsd: remove set but not used variable 'dirp' (Benjamin Coddington) [1732409] - [fs] NFSD introduce async copy feature (Benjamin Coddington) [1732409] - [fs] NFSD OFFLOAD_CANCEL xdr (Benjamin Coddington) [1732409] - [fs] NFSD OFFLOAD_STATUS xdr (Benjamin Coddington) [1732409] - [fs] NFSD CB_OFFLOAD xdr (Benjamin Coddington) [1732409] - [fs] NFS: Don't open code clearing of delegation state (Benjamin Coddington) [1732409] - [fs] NFSv4.1 fix infinite loop on I/O. (Benjamin Coddington) [1732409] - [fs] NFSv4: Fix a tracepoint Oops in initiate_file_draining() (Benjamin Coddington) [1732409] - [fs] pNFS: Ensure we return the error if someone kills a waiting layoutget (Benjamin Coddington) [1732409] - [fs] NFSv4: Fix a tracepoint Oops in initiate_file_draining() (Benjamin Coddington) [1732409] - [fs] sunrpc: Add comment defining gssd upcall API keywords (Benjamin Coddington) [1732409] - [fs] nfsd: Remove callback_cred (Benjamin Coddington) [1732409] - [fs] nfsd: Use correct credential for NFSv4.0 callback with GSS (Benjamin Coddington) [1732409] - [fs] sunrpc: Extract target name into svc_cred (Benjamin Coddington) [1732409] - [fs] sunrpc: Enable the kernel to specify the hostname part of service principals (Benjamin Coddington) [1732409] - [fs] pNFS: Remove unwanted optimisation of layoutget (Benjamin Coddington) [1732409] - [fs] pNFS/flexfiles: ff_layout_pg_init_read should exit on error (Benjamin Coddington) [1732409] - [fs] pNFS: Treat RECALLCONFLICT like DELAY... (Benjamin Coddington) [1732409] - [fs] pNFS: When updating the stateid in layoutreturn, also update the recall range (Benjamin Coddington) [1732409] - [fs] NFSv4: Fix a sleep in atomic context in nfs4_callback_sequence() (Benjamin Coddington) [1732409] - [fs] NFSv4: Fix locking in pnfs_generic_recover_commit_reqs (Benjamin Coddington) [1732409] - [fs] NFSv4: Fix a typo in nfs4_init_channel_attrs() (Benjamin Coddington) [1732409] - [fs] NFSv4: Don't busy wait if NFSv4 session draining is interrupted (Benjamin Coddington) [1732409] - [fs] NFS recover from destination server reboot for copies (Benjamin Coddington) [1732409] - [fs] nfsd: use true and false for boolean values (Benjamin Coddington) [1732409] - [fs] nfsd: constify write_op[] (Benjamin Coddington) [1732409] - [fs] fs/nfsd: Delete invalid assignment statements in nfsd4_decode_exchange_id (Benjamin Coddington) [1732409] - [fs] NFSD: Handle full-length symlinks (Benjamin Coddington) [1732409] - [fs] NFSD: Refactor the generic write vector fill helper (Benjamin Coddington) [1732409] - [fs] nfsd: Mark expected switch fall-through (Benjamin Coddington) [1732409] - [fs] nfsd: fix leaked file lock with nfs exported overlayfs (Benjamin Coddington) [1732409] - [fs] NFS add a simple sync nfs4_proc_commit after async COPY (Benjamin Coddington) [1732409] - [fs] NFS handle COPY ERR_OFFLOAD_NO_REQS (Benjamin Coddington) [1732409] - [fs] NFS send OFFLOAD_CANCEL when COPY killed (Benjamin Coddington) [1732409] - [fs] NFS export nfs4_async_handle_error (Benjamin Coddington) [1732409] - [fs] NFS handle COPY reply CB_OFFLOAD call race (Benjamin Coddington) [1732409] - [fs] NFS add support for asynchronous COPY (Benjamin Coddington) [1732409] - [fs] NFS COPY xdr handle async reply (Benjamin Coddington) [1732409] - [fs] NFS OFFLOAD_CANCEL xdr (Benjamin Coddington) [1732409] - [fs] NFS CB_OFFLOAD xdr (Benjamin Coddington) [1732409] - [fs] NFS: Use an appropriate work queue for direct-write completion (Benjamin Coddington) [1732409] - [fs] NFSv4: Fix error handling in nfs4_sp4_select_mode() (Benjamin Coddington) [1732409] - [fs] pnfs: Use true and false for boolean values (Benjamin Coddington) [1732409] - [fs] pnfs: pnfs_find_lseg() should not check NFS_LSEG_LAYOUTRETURN (Benjamin Coddington) [1732409] - [fs] NFS: Mark expected switch fall-throughs (Benjamin Coddington) [1732409] - [fs] NFSv4: Mark the inode change attribute up to date in update_changeattr() (Benjamin Coddington) [1732409] - [fs] NFSv4: Detect nlink changes on cross-directory renames too (Benjamin Coddington) [1732409] - [fs] NFSv4: bump/drop the nlink count on the parent dir when we mkdir/rmdir (Benjamin Coddington) [1732409] - [fs] pnfs: Fix handling of NFS4ERR_OLD_STATEID replies to layoutreturn (Benjamin Coddington) [1732409] - [fs] sunrpc: whitespace fixes (Benjamin Coddington) [1732409] - [fs] NFSv4 client live hangs after live data migration recovery (Benjamin Coddington) [1732409] - [fs] NFSv4.0 fix client reference leak in callback (Benjamin Coddington) [1732409] - [fs] sunrpc: kstrtoul() can also return -ERANGE (Benjamin Coddington) [1732409] - [fs] NFS: silence a harmless uninitialized variable warning (Benjamin Coddington) [1732409] - [fs] net/sunrpc: Make rpc_auth_create_args a const (Benjamin Coddington) [1732409] - [fs] pnfs/blocklayout: off by one in bl_map_stripe() (Benjamin Coddington) [1732409] - [fs] nfs: Referrals not inheriting proto setting from parent (Benjamin Coddington) [1732409] - [fs] nfs: initiate returning delegation when reclaiming one that's been recalled (Benjamin Coddington) [1732409] - [fs] fs: nfs: Adding new return type vm_fault_t (Benjamin Coddington) [1732409] - [fs] nfs: add error check in nfs_idmap_prepare_message() (Benjamin Coddington) [1732409] - [fs] NFS: More excessive attribute revalidation in nfs_execute_ok() (Benjamin Coddington) [1732409] - [fs] NFS: Fix excessive attribute revalidation in nfs_execute_ok() (Benjamin Coddington) [1732409] - [fs] NFS: Ensure we immediately start writeback on rescheduled writes (Benjamin Coddington) [1732409] - [fs] NFSv4.1: Fix a potential layoutget/layoutrecall deadlock (Benjamin Coddington) [1732409] - [fs] pNFS: Parse the results of layoutget on open even if permissions checks fail (Benjamin Coddington) [1732409] - [fs] NFS: Allow optimisation of lseek(fd, SEEK_CUR, 0) on directories (Benjamin Coddington) [1732409] - [fs] pNFS: Wait for stale layoutget calls to complete in pnfs_update_layout() (Benjamin Coddington) [1732409] - [fs] pNFS/flexfiles: Ensure we always return a layout if it has layoutstats (Benjamin Coddington) [1732409] - [fs] pNFS: Ignore non-recalled layouts in pnfs_layout_need_return() (Benjamin Coddington) [1732409] - [fs] pNFS: Don't update the stateid when replying NFS4ERR_DELAY to a layout recall (Benjamin Coddington) [1732409] - [fs] pNFS: Don't discard layout segments that are marked for return (Benjamin Coddington) [1732409] - [fs] nfsd: don't advertise a SCSI layout for an unsupported request_queue (Benjamin Coddington) [1732409] - [fs] nfsd: fix corrupted reply to badly ordered compound (Benjamin Coddington) [1732409] - [fs] nfsd: clarify check_op_ordering (Benjamin Coddington) [1732409] - [fs] nfsd: update obselete comment referencing the BKL (Benjamin Coddington) [1732409] - [fs] nfsd4: cleanup sessionid in nfsd4_destroy_session (Benjamin Coddington) [1732409] - [fs] nfsd4: less confusing nfsd4_compound_in_session (Benjamin Coddington) [1732409] - [fs] nfsd4: support change_attr_type attribute (Benjamin Coddington) [1732409] - [fs] nfsd: fix NFSv4 time_delta attribute (Benjamin Coddington) [1732409] - [fs] nfsd4: return default lease period (Benjamin Coddington) [1732409] - [fs] nfsd4: extend reclaim period for reclaiming clients (Benjamin Coddington) [1732409] - [netdrv] i40e: Do not check VF state in i40e_ndo_get_vf_config (Stefan Assmann) [1752498] - [netdrv] i40e: Add support for X710 device (Stefan Assmann) [1752891] - [mm] mm/oom_kill.c: add task UID to info message on an oom kill (Joel Savitz) [1693039] - [pci] ACPICA: Increase total number of possible Owner IDs (Al Stone) [1713050] - [powerpc] powerpc/pseries: correctly track irq state in default idle (Steve Best) [1751971] - [powerpc] powerpc/imc: Dont create debugfs files for cpu-less nodes (Steve Best) [1726031] - [fs] userfaultfd_release: always remove uffd flags and clear vm_userfaultfd_ctx (Alex Gladkov) [1749763] - [infiniband] RDMA/bnxt_re: Fix stack-out-of-bounds in bnxt_qplib_rcfw_send_message (Selvin Xavier) [1643312] - [drm] drm/bochs: Fix connector leak during driver unload (Sam Bobroff) [1463490] - [tools] selftests: Remove forced unbuffering for test running (Desnes Augusto Nunes do Rosario) [1721461] - [tools] selftests: Add test plan API to kselftest.h and adjust callers (Desnes Augusto Nunes do Rosario) [1721461] - [tools] selftests: Remove KSFT_TAP_LEVEL (Desnes Augusto Nunes do Rosario) [1721461] - [tools] selftests: Move test output to diagnostic lines (Desnes Augusto Nunes do Rosario) [1721461] - [tools] selftests: Distinguish between missing and non-executable (Desnes Augusto Nunes do Rosario) [1721461] - [tools] selftests: Add plan line and fix result line syntax (Desnes Augusto Nunes do Rosario) [1721461] - [tools] selftests: Extract logic for multiple test runs (Desnes Augusto Nunes do Rosario) [1721461] - [tools] selftests: Use runner.sh for emit targets (Desnes Augusto Nunes do Rosario) [1721461] - [tools] selftests: Extract single-test shell logic from lib.mk (Desnes Augusto Nunes do Rosario) [1721461] - [tools] x86/selftests/pkeys: Fork() to check for state being preserved (Vladis Dronov) [1738880] - [x86] x86/pkeys: Properly copy pkey state at fork() (Vladis Dronov) [1738880] - [netdrv] cxgb4: fix a memory leak bug (Jonathan Toppins) [1725776] - [netdrv] cxgb4: Prefer pcie_capability_read_word() (Jonathan Toppins) [1725776] - [netdrv] allocate_flower_entry: should check for null deref (Jonathan Toppins) [1725776] - [netdrv] cxgb4: reduce kernel stack usage in cudbg_collect_mem_region() (Jonathan Toppins) [1725776] - [netdrv] cxgb4: Add MPS refcounting for alloc/free mac filters (Jonathan Toppins) [1725776] - [netdrv] cxgb4: Add MPS TCAM refcounting for cxgb4 change mac (Jonathan Toppins) [1725776] - [netdrv] cxgb4: Add MPS TCAM refcounting for raw mac filters (Jonathan Toppins) [1725776] - [netdrv] cxgb4: Re-work the logic for mps refcounting (Jonathan Toppins) [1725776] - [netdrv] cxgb4/libcxgb/cxgb4i/cxgbit: enable eDRAM page pods for iSCSI (Jonathan Toppins) [1725776] - [netdrv] cxgb4: Set initial IRQ affinity hints (Jonathan Toppins) [1725776] - [netdrv] cxgb4: Make t4_get_tp_e2c_map static (Jonathan Toppins) [1725776] - [netdrv] cxgb4: Revert "cxgb4: Remove SGE_HOST_PAGE_SIZE dependency on page size" (Jonathan Toppins) [1725776] - [netdrv] cxgb4: offload VLAN flows regardless of VLAN ethtype (Jonathan Toppins) [1725776] - [netdrv] cxgb4: use firmware API for validating filter spec (Jonathan Toppins) [1725776] - [netdrv] cxgb4: Enable hash filter with offload (Jonathan Toppins) [1725776] - [netdrv] cxgb4: Fix error path in cxgb4_init_module (Jonathan Toppins) [1725776] - [netdrv] cxgb4: Delete all hash and TCAM filters before resource cleanup (Jonathan Toppins) [1725776] - [netdrv] cxgb4/cxgb4vf_main: Mark expected switch fall-through (Jonathan Toppins) [1725776] - [netdrv] cxgb4/cxgb4vf: Display advertised FEC in ethtool (Jonathan Toppins) [1725776] - [netdrv] cxgb4: Update 1.23.3.0 as the latest firmware supported. (Jonathan Toppins) [1725776] - [netdrv] cxgb4: Update 1.22.9.0 as the latest firmware supported. (Jonathan Toppins) [1725776] - [netdrv] cxgb4/l2t: Use struct_size() in kvzalloc() (Jonathan Toppins) [1725776] - [netdrv] cross-tree: phase out dma_zalloc_coherent() (Jonathan Toppins) [1725776] - [netdrv] crypto/chelsio/chtls: macro correction in tx path (Jonathan Toppins) [1725776]- [kernel] rcu: Add sparse check to rcu_assign_pointer() (Waiman Long) [1737054] - [kernel] rcu: Fix obsolete DYNTICK_IRQ_NONIDLE comment (Waiman Long) [1737054] - [kernel] rcu: Repair rcu_nmi_exit() docbook header (Waiman Long) [1737054] - [kernel] rcu: Remove preemption disabling from expedited CPU selection (Waiman Long) [1737054] - [kernel] rcu: Rename rcu_process_callbacks() to rcu_core() for Tree RCU (Waiman Long) [1737054] - [kernel] rcu: Rename rcu_check_callbacks() to rcu_sched_clock_irq() (Waiman Long) [1737054] - [kernel] rcu: Docbook for rcu_head_init() and rcu_head_after_call_rcu() (Waiman Long) [1737054] - [documentation] doc: Fix outdated links (Waiman Long) [1737054] - [documentation] doc: CPU-hotplug notifiers cannot invoke synchronize_srcu() or srcu_barrier() (Waiman Long) [1737054] - [documentation] doc: Now jiffies_till_sched_qs solicits help from cond_resched() (Waiman Long) [1737054] - [kernel] rcuperf: Stop abusing IS_ENABLED() (Waiman Long) [1737054] - [kernel] rcutorture: Add grace period after CPU offline (Waiman Long) [1737054] - [kernel] torture: Explain and simplify odd "for" loop in mkinitrd.sh (Waiman Long) [1737054] - [kernel] rcutorture: Record grace periods in forward-progress histogram (Waiman Long) [1737054] - [kernel] rcu: Prevent needless ->gp_seq_needed update in __note_gp_changes() (Waiman Long) [1737054] - [kernel] rcu: Do RCU GP kthread self-wakeup from softirq and interrupt (Waiman Long) [1737054] - [kernel] rcu: Add sysrq rcu_node-dump capability (Waiman Long) [1737054] - [kernel] rcu: Protect rcu_check_gp_kthread_starvation() access to ->gp_flags (Waiman Long) [1737054] - [kernel] rcu: Improve diagnostics for failed RCU grace-period start (Waiman Long) [1737054] - [kernel] rcu: Update NOCB comments (Waiman Long) [1737054] - [kernel] rcu: Remove unused rcu_cpu_kthread_cpu per-CPU variable (Waiman Long) [1737054] - [kernel] rcu: Move rcu_cpu_has_work to rcu_data structure (Waiman Long) [1737054] - [kernel] rcu: Remove unused rcu_cpu_kthread_loops per-CPU variable (Waiman Long) [1737054] - [kernel] rcu: Move rcu_cpu_kthread_status to rcu_data structure (Waiman Long) [1737054] - [kernel] rcu: Move rcu_cpu_kthread_task to rcu_data structure (Waiman Long) [1737054] - [kernel] rcu: Accommodate zero jiffies_till_first_fqs and kthread kicking (Waiman Long) [1737054] - [kernel] rcu: Remove wrapper definitions for obsolete RCU update functions (Waiman Long) [1737054] - [kernel] rcu: Discard separate per-CPU callback counts (Waiman Long) [1737054] - [kernel] rcu: Inline _synchronize_rcu_expedited() into synchronize_rcu_expedited() (Waiman Long) [1737054] - [kernel] rcu: Consolidate PREEMPT and !PREEMPT synchronize_rcu() (Waiman Long) [1737054] - [kernel] rcu: Consolidate PREEMPT and !PREEMPT synchronize_rcu_expedited() (Waiman Long) [1737054] - [kernel] rcu: Determine expedited-GP IPI handler at build time (Waiman Long) [1737054] - [kernel] rcu: Inline rcu_kthread_do_work() into its sole remaining caller (Waiman Long) [1737054] - [kernel] rcu: Eliminate RCU_BH_FLAVOR and RCU_SCHED_FLAVOR (Waiman Long) [1737054] - [kernel] rcu: Inline force_quiescent_state() into rcu_force_quiescent_state() (Waiman Long) [1737054] - [kernel] rcu: Make expedited IPI handler return after handling critical section (Waiman Long) [1737054] - [kernel] rcu: Rename and comment changes due to only one rcuo kthread per CPU (Waiman Long) [1737054] - [kernel] sched: Replace synchronize_sched() with synchronize_rcu() (Waiman Long) [1737054] - [kernel] sched: Replace call_rcu_sched() with call_rcu() (Waiman Long) [1737054] - [net] net/core: Replace call_rcu_bh() and synchronize_rcu_bh() (Waiman Long) [1737054] - [net] netpoll: allow cleanup to be synchronous (Waiman Long) [1737054] - [net] netfilter: Replace call_rcu_bh(), rcu_barrier_bh(), and synchronize_rcu_bh() (Waiman Long) [1737054] - [kernel] uprobes: Use synchronize_rcu() not synchronize_sched() (Waiman Long) [1737054] - [kernel] rcutorture: Don't do busted forward-progress testing (Waiman Long) [1737054] - [kernel] rcutorture: Use 100ms buckets for forward-progress callback histograms (Waiman Long) [1737054] - [kernel] rcutorture: Recover from OOM during forward-progress tests (Waiman Long) [1737054] - [kernel] rcutorture: Print forward-progress test age upon failure (Waiman Long) [1737054] - [kernel] rcutorture: Print time since GP end upon forward-progress failure (Waiman Long) [1737054] - [kernel] rcutorture: Print histogram of CB invocation at OOM time (Waiman Long) [1737054] - [kernel] rcutorture: Print GP age upon forward-progress failure (Waiman Long) [1737054] - [kernel] rcu: Print per-CPU callback counts for forward-progress failures (Waiman Long) [1737054] - [kernel] rcu: Account for nocb-CPU callback counts in RCU CPU stall warnings (Waiman Long) [1737054] - [kernel] rcutorture: Dump grace-period diagnostics upon forward-progress OOM (Waiman Long) [1737054] - [kernel] rcutorture: Prepare for asynchronous access to rcu_fwd_startat (Waiman Long) [1737054] - [kernel] torture: Remove unnecessary "ret" variables (Waiman Long) [1737054] - [kernel] rcutorture: Affinity forward-progress test to avoid housekeeping CPUs (Waiman Long) [1737054] - [kernel] rcutorture: Break up too-long rcu_torture_fwd_prog() function (Waiman Long) [1737054] - [kernel] rcutorture: Remove cbflood facility (Waiman Long) [1737054] - [kernel] torture: Bring any extra CPUs online during kernel startup (Waiman Long) [1737054] - [kernel] rcutorture: Add call_rcu() flooding forward-progress tests (Waiman Long) [1737054] - [tools] rcutorture/formal: Replace synchronize_sched() with synchronize_rcu() (Waiman Long) [1737054] - [tools] tools/kernel.h: Replace synchronize_sched() with synchronize_rcu() (Waiman Long) [1737054] - [net] net/decnet: Replace rcu_barrier_bh() with rcu_barrier() (Waiman Long) [1737054] - [net] net/core/skmsg: Replace call_rcu_sched() with call_rcu() (Waiman Long) [1737054] - [kernel] cgroups: Replace synchronize_sched() with synchronize_rcu() (Waiman Long) [1737054] - [kernel] types: Remove call_rcu_bh() and call_rcu_sched() (Waiman Long) [1737054] - [include] percpu-rwsem: Replace synchronize_sched() with synchronize_rcu() (Waiman Long) [1737054] - [net] net/bridge: Replace call_rcu_bh() and rcu_barrier_bh() (Waiman Long) [1737054] - [kernel] srcu: Use "ssp" instead of "sp" for srcu_struct pointer (Waiman Long) [1737054] - [kernel] srcu: Lock srcu_data structure in srcu_gp_start() (Waiman Long) [1737054] - [mm] mm: Replace call_rcu_sched() with call_rcu() (Waiman Long) [1737054] - [kernel] percpu-refcount: Replace call_rcu_sched() with call_rcu() (Waiman Long) [1737054] - [kernel] events: Replace synchronize_sched() with synchronize_rcu() (Waiman Long) [1737054] - [kernel] workqueue: Replace call_rcu_sched() with call_rcu() (Waiman Long) [1737054] - [kernel] modules: Replace synchronize_sched() and call_rcu_sched() (Waiman Long) [1737054] - [kernel] sched/membarrier: synchronize_sched() with synchronize_rcu() (Waiman Long) [1737054] - [kernel] lockdep: Replace synchronize_sched() with synchronize_rcu() (Waiman Long) [1737054] - [kernel] kprobes: Replace synchronize_sched() with synchronize_rcu() (Waiman Long) [1737054] - [init] main: Replace rcu_barrier_sched() with rcu_barrier() (Waiman Long) [1737054] - [kernel] tracing: Replace synchronize_sched() and call_rcu_sched() (Waiman Long) [1737054] - [kernel] tracepoints: Free early tracepoints after RCU is initialized (Waiman Long) [1737054] - [kernel] tracing: Fix synchronizing to event changes with tracepoint_synchronize_unregister() (Waiman Long) [1737054] - [kernel] tracepoint: Make rcuidle tracepoint callers use SRCU (Waiman Long) [1737054] - [fs] fs/file: Replace synchronize_sched() with synchronize_rcu() (Waiman Long) [1737054] - [cpufreq] cpufreq/cpufreq_governor: Replace synchronize_sched() with synchronize_rcu() (Waiman Long) [1737054] - [cpufreq] cpufreq/intel_pstate: Replace synchronize_sched() with synchronize_rcu() (Waiman Long) [1737054] - [vhost] drivers/vhost: Replace synchronize_rcu_bh() with synchronize_rcu() (Waiman Long) [1737054] - [netdrv] ethernet/sis: Replace synchronize_sched() with synchronize_rcu() (Waiman Long) [1737054] - [char] drivers/ipmi: Replace synchronize_sched() with synchronize_rcu() (Waiman Long) [1737054] - [crypto] crypto/pcrypt: Replace synchronize_rcu_bh() with synchronize_rcu() (Waiman Long) [1737054] - [mm] mm: Replace spin_is_locked() with lockdep (Waiman Long) [1737054] - [kernel] locking/mutex: Replace spin_is_locked() with lockdep (Waiman Long) [1737054] - [fs] userfaultfd: Replace spin_is_locked() with lockdep (Waiman Long) [1737054] - [net] smsc: Replace spin_is_locked() with lockdep (Waiman Long) [1737054] - [scripts] checkpatch.pl: Suggest lockdep instead of asserting !spin_is_locked() (Waiman Long) [1737054] - [scripts] checkpatch: Create table of obsolete APIs and apply to RCU (Waiman Long) [1737054] - [maintainers] MAINTAINERS: Add Joel Fernandes as RCU reviewer (Waiman Long) [1737054] - [kernel] rcu: Avoid signed integer overflow in rcu_preempt_deferred_qs() (Waiman Long) [1737054] - [kernel] rcu: Replace this_cpu_ptr() with __this_cpu_read() (Waiman Long) [1737054] - [kernel] rcu: Speed up expedited GPs when interrupting RCU reader (Waiman Long) [1737054] - [kernel] rcu: Trace end of grace period before end of grace period (Waiman Long) [1737054] - [kernel] rcu: Adjust the comment of function rcu_is_watching (Waiman Long) [1737054] - [kernel] rcu: Add jiffies-since-GP-activity to show_rcu_gp_kthreads() (Waiman Long) [1737054] - [kernel] rcu: Add state name to show_rcu_gp_kthreads() output (Waiman Long) [1737054] - [kernel] rcu: Parameterize rcu_check_gp_start_stall() (Waiman Long) [1737054] - [kernel] rcu: Avoid double multiply by HZ (Waiman Long) [1737054] - [documentation] doc: Fix "struction" typo in RCU memory-ordering documentation (Waiman Long) [1737054] - [documentation] doc: Correct parameter in stallwarn (Waiman Long) [1737054] - [documentation] doc: RCU scheduler spinlock rcu_read_unlock() restriction remains (Waiman Long) [1737054] - [documentation] doc: Make listing in RCU perf/scale requirements use rcu_assign_pointer() (Waiman Long) [1737054] - [documentation] doc: Remove obsolete (non-)requirement about disabling preemption (Waiman Long) [1737054] - [documentation] doc: Make reader aware of rcu_dereference_protected (Waiman Long) [1737054] - [documentation] doc: rcu: Encourage use of rcu_barrier in checklist (Waiman Long) [1737054] - [documentation] doc: rcu: Remove obsolete checklist item about synchronize_rcu usage (Waiman Long) [1737054] - [documentation] doc: rcu: Remove obsolete suggestion from checklist (Waiman Long) [1737054] - [documentation] doc: rcu: Add more rationale for using rcu_read_lock_sched in checklist (Waiman Long) [1737054] - [documentation] doc: rcu: Update core and full API in whatisRCU (Waiman Long) [1737054] - [documentation] doc: Document rcutorture forward-progress test kernel parameters (Waiman Long) [1737054] - [documentation] doc: rcu: Update description of gp_seq fields in rcu_data (Waiman Long) [1737054] - [documentation] doc: rcu: Better clarify the rcu_segcblist ->len field (Waiman Long) [1737054] - [documentation] doc: rcu: Update Data-Structures for RCU flavor consolidation (Waiman Long) [1737054] - [documentation] doc: Remove rcu_dynticks from Data-Structures (Waiman Long) [1737054] - [documentation] doc: Update information about resched_cpu (Waiman Long) [1737054] - [kernel] rcu: Eliminate BUG_ON() for kernel/rcu/update.c (Waiman Long) [1737054] - [kernel] rcu: Eliminate BUG_ON() for kernel/rcu/tree_plugin.h (Waiman Long) [1737054] - [kernel] rcu: Stop expedited grace periods from relying on stop-machine (Waiman Long) [1737054] - [kernel] srcu: Prevent __call_srcu() counter wrap with read-side critical section (Waiman Long) [1737054] - [include] srcu: Fix kernel-doc missing notation (Waiman Long) [1737054] - [x86] x86/PCI: Replace spin_is_locked() with lockdep (Waiman Long) [1737054] - [tools] rcutorture: Make use of nolibc when available (Waiman Long) [1737054] - [tools] rcutorture: Import a copy of nolibc (Waiman Long) [1737054] - [tools] rcutorture: Check initrd/init instead of initrd only (Waiman Long) [1737054] - [tools] rcutorture: Always strip using the cross-compiler (Waiman Long) [1737054] - [tools] rcutorture: Add cross-compile capability to initrd.sh (Waiman Long) [1737054] - [tools] rcutorture: Make initrd/init execute in userspace (Waiman Long) [1737054] - [tools] rcutorture: Add initrd support for systems lacking dracut (Waiman Long) [1737054] - [tools] rcutorture: Automatically create initrd directory (Waiman Long) [1737054] - [documentation] doc: Remove rcu_preempt_state reference in stallwarn (Waiman Long) [1737054] - [documentation] doc: Clarify RCU data-structure comment about rcu_tree fanout (Waiman Long) [1737054] - [documentation] doc: Set down forward-progress requirements (Waiman Long) [1737054] - [powerpc] powerpc: Convert hugepd_free() to use call_rcu() (Waiman Long) [1737054] - [s390] s390/mm: Convert tlb_table_flush() to use call_rcu() (Waiman Long) [1737054] - [kernel] sparc/oprofile: Convert timer_stop() to use synchronize_rcu() (Waiman Long) [1737054] - [kernel] sched/membarrier: Replace synchronize_sched() with synchronize_rcu() (Waiman Long) [1737054] - [kernel] rcu: Consolidate the RCU update functions invoked by sync.c (Waiman Long) [1737054] - [kernel] rcu: Eliminate synchronize_rcu_mult() (Waiman Long) [1737054] - [kernel] rcu: Fix rcu_{node, data} comments about gp_seq_needed (Waiman Long) [1737054] - [kernel] rcu: Remove unused rcu_state externs (Waiman Long) [1737054] - [kernel] rcu: Eliminate BUG_ON() for kernel/rcu/tree.c (Waiman Long) [1737054] - [kernel] rcu: Eliminate BUG_ON() for sync.c (Waiman Long) [1737054] - [include] srcu: Add notrace variant of srcu_dereference (Waiman Long) [1737054] - [documentation] PM/EM: Document the Energy Model framework (Phil Auld) [1718927] - [kernel] sched/doc: Document Energy Aware Scheduling (Phil Auld) [1718927] - [kernel] sched/fair: Remove unneeded prototype of capacity_of() (Phil Auld) [1718927] - [kernel] sched/fair: Skip LLC NOHZ logic for asymmetric systems (Phil Auld) [1718927] - [kernel] sched/fair: Tune down misfit NOHZ kicks (Phil Auld) [1718927] - [kernel] sched/fair: Comment some nohz_balancer_kick() kick conditions (Phil Auld) [1718927] - [kernel] sched/fair: Prune, fix and simplify the nohz_balancer_kick() comment block (Phil Auld) [1718927] - [kernel] sched/fair: Explain LLC nohz kick condition (Phil Auld) [1718927] - [kernel] sched/fair: Simplify nohz_balancer_kick() (Phil Auld) [1718927] - [kernel] sched/topology: Fix percpu data types in struct sd_data & struct s_data (Phil Auld) [1718927] - [kernel] sched/fair: Simplify post_init_entity_util_avg() by calling it with a task_struct pointer argument (Phil Auld) [1718927] - [kernel] sched/fair: Fix util_avg of new tasks for asymmetric systems (Phil Auld) [1718927] - [kernel] sched/fair: Optimize update_blocked_averages() (Phil Auld) [1718927] - [kernel] sched/topology: Introduce a sysctl for Energy Aware Scheduling (Phil Auld) [1718927] - [kernel] Revert "sched/core: Take the hotplug lock in sched_init_smp()" (Phil Auld) [1718927] - [kernel] cpu/hotplug: Mute hotplug lockdep during init (Phil Auld) [1718927] - [kernel] sched/fair: Select an energy-efficient CPU on task wake-up (Phil Auld) [1718927] - [kernel] sched/fair: Introduce an energy estimation helper function (Phil Auld) [1718927] - [kernel] sched/fair: Add over-utilization/tipping point indicator (Phil Auld) [1718927] - [kernel] sched/fair: Clean-up update_sg_lb_stats parameters (Phil Auld) [1718927] - [kernel] sched/toplogy: Introduce the 'sched_energy_present' static key (Phil Auld) [1718927] - [kernel] sched/topology: Make Energy Aware Scheduling depend on schedutil (Phil Auld) [1718927] - [kernel] sched/topology: Disable EAS on inappropriate platforms (Phil Auld) [1718927] - [kernel] sched/topology: Add lowest CPU asymmetry sched_domain level pointer (Phil Auld) [1718927] - [kernel] sched/topology: Reference the Energy Model of CPUs when available (Phil Auld) [1718927] - [kernel] PM: Introduce an Energy Model management framework (Phil Auld) [1718927] - [kernel] sched/cpufreq: Prepare schedutil for Energy Aware Scheduling (Phil Auld) [1718927] - [kernel] sched/topology: Relocate arch_scale_cpu_capacity() to the internal header (Phil Auld) [1718927] - [kernel] sched/core: Take the hotplug lock in sched_init_smp() (Phil Auld) [1718927] - [kernel] sched/core: Disable SD_PREFER_SIBLING on asymmetric CPU capacity domains (Phil Auld) [1718927] - [kernel] sched/fair: Don't move tasks to lower capacity CPUs unless necessary (Phil Auld) [1718927] - [kernel] sched/fair: Set rq->rd->overload when misfit (Phil Auld) [1718927] - [kernel] sched/fair: Wrap rq->rd->overload accesses with READ/WRITE_ONCE() (Phil Auld) [1718927] - [kernel] sched/core: Change root_domain->overload type to int (Phil Auld) [1718927] - [kernel] sched/fair: Change 'prefer_sibling' type to bool (Phil Auld) [1718927] - [kernel] sched/fair: Kick nohz balance if rq->misfit_task_load (Phil Auld) [1718927] - [kernel] sched/fair: Consider misfit tasks when load-balancing (Phil Auld) [1718927] - [kernel] sched/fair: Add sched_group per-CPU max capacity (Phil Auld) [1718927] - [kernel] sched/fair: Add 'group_misfit_task' load-balance type (Phil Auld) [1718927] - [kernel] sched/topology: Add static_key for asymmetric CPU capacity optimizations (Phil Auld) [1718927] - [kernel] sched/core, workqueues: Distangle worker accounting from rq lock (Phil Auld) [1737067] - [kernel] workqueue: Use normal rcu (Phil Auld) [1737067] - [kernel] tick/broadcast: Fix warning about undefined tick_broadcast_oneshot_offline() (Phil Auld) [1737067] - [kernel] timer/trace: Improve timer tracing (Phil Auld) [1737067] - [include] timer/trace: Replace deprecated vsprintf pointer extension pf by ps (Phil Auld) [1737067] - [kernel] timer: Move trace point to get proper index (Phil Auld) [1737067] - [kernel] tick/sched: Update tick_sched struct documentation (Phil Auld) [1737067] - [kernel] tick: Remove outgoing CPU from broadcast masks (Phil Auld) [1737067] - [kernel] timekeeping: Consistently use unsigned int for seqcount snapshot (Phil Auld) [1737067] - [kernel] sched/fair: Robustify CFS-bandwidth timer locking (Phil Auld) [1737067] - [kernel] tick/sched : Remove redundant cpu_online() check (Phil Auld) [1737067] - [misc] sched/swait: Rename to exclusive (Phil Auld) [1737067] - [kernel] sched/swait: Switch to full exclusive mode (Phil Auld) [1737067] - [kernel] sched/swait: Remove __prepare_to_swait (Phil Auld) [1737067] - [netdrv] net: ena: don't wake up tx queue when down (John Linville) [1722628] - [netdrv] Revert "net: ena: ethtool: add extra properties retrieval via get_priv_flags" (John Linville) [1722628] - [netdrv] net: ena: Fix bug where ring allocation backoff stopped too late (John Linville) [1722628] - [netdrv] net: ena: update driver version from 2.0.3 to 2.1.0 (John Linville) [1722628] - [netdrv] net: ena: remove inline keyword from functions in *.c (John Linville) [1722628] - [netdrv] net: ena: add ethtool function for changing io queue sizes (John Linville) [1722628] - [netdrv] net: ena: allow queue allocation backoff when low on memory (John Linville) [1722628] - [netdrv] net: ena: make ethtool show correct current and max queue sizes (John Linville) [1722628] - [netdrv] net: ena: enable negotiating larger Rx ring size (John Linville) [1722628] - [netdrv] net: ena: add MAX_QUEUES_EXT get feature admin command (John Linville) [1722628] - [netdrv] net: ena: use dev_info_once instead of static variable (John Linville) [1722628] - [netdrv] net: ena: add good checksum counter (John Linville) [1722628] - [netdrv] net: ena: optimise calculations for CQ doorbell (John Linville) [1722628] - [netdrv] net: ena: add support for changing max_header_size in LLQ mode (John Linville) [1722628] - [netdrv] net: ena: allow automatic fallback to polling mode (John Linville) [1722628] - [netdrv] net: ena: add newline at the end of pr_err prints (John Linville) [1722628] - [netdrv] net: ena: arrange ena_probe() function variables in reverse christmas tree (John Linville) [1722628] - [netdrv] net: ena: replace free_tx/rx_ids union with single free_ids field in ena_ring (John Linville) [1722628] - [netdrv] net: ena: ethtool: add extra properties retrieval via get_priv_flags (John Linville) [1722628] - [netdrv] net: ena: add handling of llq max tx burst size (John Linville) [1722628] - [netdrv] net: ena: gcc 8: fix compilation warning (John Linville) [1722628] - [netdrv] net: ena: fix ena_com_fill_hash_function() implementation (John Linville) [1722628] - [netdrv] net: ena: improve latency by disabling adaptive interrupt moderation by default (John Linville) [1722628] - [netdrv] net: ena: fix return value of ena_com_config_llq_info() (John Linville) [1722628] - [netdrv] net: ena: fix incorrect test of supported hash function (John Linville) [1722628] - [netdrv] net: ena: fix: Free napi resources when ena_up() fails (John Linville) [1722628] - [netdrv] net: ena: fix: set freed objects to NULL to avoid failing future allocations (John Linville) [1722628] - [netdrv] net: ena: fix swapped parameters when calling ena_com_indirect_table_fill_entry (John Linville) [1722628] - [arm64] arm64: kexec: Add comment to explain use of __flush_icache_range() (Mark Salter) [1757450] - [arm64] arm64: kexec: machine_kexec should call __flush_icache_range (Mark Salter) [1757450] - [arm64] arm64: Do not issue IPIs for user executable ptes (Mark Salter) [1757450] - [arm64] arm64: hibernate: Avoid sending cross-calling with interrupts disabled (Mark Salter) [1757450] - [arm64] arm64: mm: Export __flush_icache_range() to modules (Mark Salter) [1757450] - [arm64] arm64: IPI each CPU after invalidating the I-cache for kernel mappings (Mark Salter) [1757450] - [s390] s390/dasd: Handle out-of-space constraint (Philipp Rudo) [1525398] - [s390] s390/dasd: Use ALIGN_DOWN macro (Philipp Rudo) [1525398] - [s390] s390/dasd: Make dasd_setup_queue() a discipline function (Philipp Rudo) [1525398] - [s390] s390/dasd: Add new ioctl to release space (Philipp Rudo) [1525398] - [s390] s390/dasd: Add dasd_sleep_on_queue_interruptible() (Philipp Rudo) [1525398] - [s390] s390/dasd: Add missing intensity definition (Philipp Rudo) [1525398] - [s390] s390/dasd: Fix whitespace (Philipp Rudo) [1525398] - [s390] s390/dasd: Add dynamic formatting support for ESE volumes (Philipp Rudo) [1525398] - [s390] s390/dasd: Recognise data for ESE volumes (Philipp Rudo) [1525398] - [s390] s390/dasd: Put sub-order definitions in a separate section (Philipp Rudo) [1525398] - [s390] s390/dasd: Make layout analysis ESE compatible (Philipp Rudo) [1525398] - [s390] s390/dasd: Remove old defines and function (Philipp Rudo) [1525398] - [s390] s390/dasd: Remove unused structs and function prototypes (Philipp Rudo) [1525398] - [tools] perf report: Dump s390 counter set data to file (Philipp Rudo) [1731036] - [tools] perf report: Display arch specific diagnostic counter sets, starting with s390 (Philipp Rudo) [1731036] - [tools] perf report: Add s390 diagnosic sampling descriptor size (Philipp Rudo) [1731036] - [s390] s390/cpum_cf_diag: Add support for CPU-MF SVN 6 (Philipp Rudo) [1731036] - [s390] s390/cpumf: Fix warning from check_processor_id (Philipp Rudo) [1731036] - [s390] s390/cpum_cf_diag: Add support for s390 counter facility diagnostic trace (Philipp Rudo) [1731036] - [s390] s390/cpum_cf: Handle EBUSY return code from CPU counter facility reservation (Philipp Rudo) [1731036] - [s390] s390/cpum_cf: add ctr_stcctm() function (Philipp Rudo) [1731036] - [s390] s390/cpum_cf: move common functions into a separate file (Philipp Rudo) [1731036] - [s390] s390/cpum_cf: introduce kernel_cpumcf_avail() function (Philipp Rudo) [1731036] - [s390] s390/cpu_mf: replace stcctm5() with the stcctm() function (Philipp Rudo) [1731036] - [s390] s390/cpu_mf: add store cpu counter multiple instruction support (Philipp Rudo) [1731036] - [s390] s390/cpum_cf: Add minimal in-kernel interface for counter measurements (Philipp Rudo) [1731036] - [s390] s390/cpum_cf: introduce kernel_cpumcf_alert() to obtain measurement alerts (Philipp Rudo) [1731036] - [s390] s390/cpu_mf: move struct cpu_cf_events and per-CPU variable to header file (Philipp Rudo) [1731036] - [s390] s390/cpum_cf: rename per-CPU counter facility structure and variables (Philipp Rudo) [1731036] - [s390] s390/cpum_cf: prepare for in-kernel counter measurements (Philipp Rudo) [1731036] - [s390] s390/cpum_cf: move counter set controls to a new header file (Philipp Rudo) [1731036] - [s390] s390/cpum_cf: Reject request for sampling in event initialization (Philipp Rudo) [1731036] - [s390] s390/perf: Change CPUM_CF return code in event init function (Philipp Rudo) [1731036] - [acpi] ACPI / property: Add two new Thunderbolt property GUIDs to the list (Jarod Wilson) [1483494] - [acpi] ACPI: property: restore _DSD data subnodes GUID comment (Jarod Wilson) [1483494] - [thunderbolt] thunderbolt: Add support for Intel Ice Lake (Jarod Wilson) [1483494] - [thunderbolt] thunderbolt: Expose active parts of NVM even if upgrade is not supported (Jarod Wilson) [1483494] - [thunderbolt] thunderbolt: Hide switch attributes that are not set (Jarod Wilson) [1483494] - [thunderbolt] thunderbolt: Do not fail adding switch if some port is not implemented (Jarod Wilson) [1483494] - [thunderbolt] thunderbolt: Use 32-bit writes when writing ring producer/consumer (Jarod Wilson) [1483494] - [thunderbolt] thunderbolt: Move NVM upgrade support flag to struct icm (Jarod Wilson) [1483494] - [thunderbolt] thunderbolt: Correct path indices for PCIe tunnel (Jarod Wilson) [1483494] - [thunderbolt] thunderbolt: Show key using *pE not *pEp (Jarod Wilson) [1483494] - [thunderbolt] thunderbolt: Switch to use device_property_count_uXX() (Jarod Wilson) [1483494] - [include] device property: Add helpers to count items in an array (Jarod Wilson) [1483494] - [thunderbolt] thunderbolt: Implement CIO reset correctly for Titan Ridge (Jarod Wilson) [1483494] - [thunderbolt] thunderbolt: Make sure device runtime resume completes before taking domain lock (Jarod Wilson) [1483494] - [thunderbolt] thunderbolt: Add SPDX license identifier - Makefile/Kconfig (Jarod Wilson) [1483494] - [thunderbolt] thunderbolt: Add SPDX license identifier for more missed files (Jarod Wilson) [1483494] - [thunderbolt] thunderbolt: Make priority unsigned in struct tb_path (Jarod Wilson) [1483494] - [thunderbolt] thunderbolt: shash - remove shash_desc::flags (Jarod Wilson) [1483494] - [thunderbolt] thunderbolt: Start firmware on Titan Ridge Apple systems (Jarod Wilson) [1483494] - [thunderbolt] thunderbolt: Reword output of tb_dump_hop() (Jarod Wilson) [1483494] - [thunderbolt] thunderbolt: Make rest of the logging to happen at debug level (Jarod Wilson) [1483494] - [thunderbolt] thunderbolt: Make __TB_[SW|PORT]_PRINT take const parameters (Jarod Wilson) [1483494] - [thunderbolt] thunderbolt: Add support for XDomain connections (Jarod Wilson) [1483494] - [thunderbolt] thunderbolt: Make tb_switch_alloc() return ERR_PTR() (Jarod Wilson) [1483494] - [thunderbolt] thunderbolt: Add support for DMA tunnels (Jarod Wilson) [1483494] - [thunderbolt] thunderbolt: Add XDomain UUID exchange support (Jarod Wilson) [1483494] - [thunderbolt] thunderbolt: Run tb_xdp_handle_request() in system workqueue (Jarod Wilson) [1483494] - [thunderbolt] thunderbolt: Do not tear down tunnels when driver is unloaded (Jarod Wilson) [1483494] - [thunderbolt] thunderbolt: Add support for Display Port tunnels (Jarod Wilson) [1483494] - [thunderbolt] thunderbolt: Rework NFC credits handling (Jarod Wilson) [1483494] - [thunderbolt] thunderbolt: Generalize port finding routines to support all port types (Jarod Wilson) [1483494] - [thunderbolt] thunderbolt: Scan only valid NULL adapter ports in hotplug (Jarod Wilson) [1483494] - [thunderbolt] thunderbolt: Add support for full PCIe daisy chains (Jarod Wilson) [1483494] - [thunderbolt] thunderbolt: Discover preboot PCIe paths the boot firmware established (Jarod Wilson) [1483494] - [thunderbolt] thunderbolt: Deactivate all paths before restarting them (Jarod Wilson) [1483494] - [thunderbolt] thunderbolt: Extend tunnel creation to more than 2 adjacent switches (Jarod Wilson) [1483494] - [thunderbolt] thunderbolt: Add helper function to iterate from one port to another (Jarod Wilson) [1483494] - [thunderbolt] thunderbolt: Assign remote for both ports in case of dual link (Jarod Wilson) [1483494] - [thunderbolt] thunderbolt: Add functions for allocating and releasing HopIDs (Jarod Wilson) [1483494] - [thunderbolt] thunderbolt: Generalize tunnel creation functionality (Jarod Wilson) [1483494] - [thunderbolt] thunderbolt: Rename tunnel_pci to tunnel (Jarod Wilson) [1483494] - [thunderbolt] thunderbolt: Cache adapter specific capability offset into struct port (Jarod Wilson) [1483494] - [thunderbolt] thunderbolt: Properly disable path (Jarod Wilson) [1483494] - [thunderbolt] thunderbolt: Set sleep bit when suspending switch (Jarod Wilson) [1483494] - [thunderbolt] thunderbolt: Configure lanes when switch is initialized (Jarod Wilson) [1483494] - [thunderbolt] thunderbolt: Move LC specific functionality into a separate file (Jarod Wilson) [1483494] - [thunderbolt] thunderbolt: Add dummy read after port capability list walk on Light Ridge (Jarod Wilson) [1483494] - [thunderbolt] thunderbolt: Enable TMU access when accessing port space on legacy devices (Jarod Wilson) [1483494] - [thunderbolt] thunderbolt: Do not allocate switch if depth is greater than 6 (Jarod Wilson) [1483494] - [thunderbolt] thunderbolt: Take domain lock in switch sysfs attribute callbacks (Jarod Wilson) [1483494] - [thunderbolt] thunderbolt: Block reads and writes if switch is unplugged (Jarod Wilson) [1483494] - [thunderbolt] thunderbolt: Drop duplicated get_switch_at_route() (Jarod Wilson) [1483494] - [thunderbolt] thunderbolt: Remove unused work field in struct tb_switch (Jarod Wilson) [1483494] - [thunderbolt] thunderbolt: Fix to check the return value of kmemdup (Jarod Wilson) [1483494] - [thunderbolt] thunderbolt: property: Fix a missing check of kzalloc (Jarod Wilson) [1483494] - [thunderbolt] thunderbolt: xdomain: Fix to check return value of kmemdup (Jarod Wilson) [1483494] - [thunderbolt] thunderbolt: Fix to check return value of ida_simple_get (Jarod Wilson) [1483494] - [thunderbolt] thunderbolt: Fix to check for kmemdup failure (Jarod Wilson) [1483494] - [thunderbolt] thunderbolt: Fix a missing check of kmemdup (Jarod Wilson) [1483494] - [thunderbolt] thunderbolt: property: Fix a NULL pointer dereference (Jarod Wilson) [1483494] - [thunderbolt] thunderbolt: Prevent root port runtime suspend during NVM upgrade (Jarod Wilson) [1483494] - [netdrv] net/ibmvnic: prevent more than one thread from running in reset (Steve Best) [1756943] - [netdrv] net/ibmvnic: unlock rtnl_lock in reset so linkwatch_event can run (Steve Best) [1756943] - [netdrv] sfc: don't score irq moderation points for GRO (Jarod Wilson) [1736303] - [netdrv] sfc: Use dev_get_drvdata where possible (Jarod Wilson) [1736303] - [netdrv] sfc: Remove 'PCIE error reporting unavailable' (Jarod Wilson) [1736303] - [netdrv] sfc: Replace GPLv2 boilerplate/reference with SPDX - rule 500 (Jarod Wilson) [1736303] - [netdrv] sfc: Add SPDX license identifier - Makefile/Kconfig (Jarod Wilson) [1736303] - [netdrv] bonding: no need to print a message if debugfs_create_dir() fails (Jarod Wilson) [1756517] - [netdrv] bonding: Add vlan tx offload to hw_enc_features (Jarod Wilson) [1756517] - [netdrv] bonding: fix value exported by Netlink for peer_notif_delay (Jarod Wilson) [1756517] - [netdrv] bonding: add an option to specify a delay between peer notifications (Jarod Wilson) [1756517] - [netdrv] bonding: validate ip header before check IPPROTO_IGMP (Jarod Wilson) [1756517] - [netdrv] bonding/main: fix NULL dereference in bond_select_active_slave() (Jarod Wilson) [1756517] - [netdrv] bonding: Always enable vlan tx offload (Jarod Wilson) [1756517] - [netdrv] bonding/options: convert to using slave printk macros (Jarod Wilson) [1756517] - [netdrv] bonding/alb: convert to using slave printk macros (Jarod Wilson) [1756517] - [netdrv] bonding/802.3ad: convert to using slave printk macros (Jarod Wilson) [1756517] - [netdrv] bonding/main: convert to using slave printk macros (Jarod Wilson) [1756517] - [netdrv] bonding: add slave_foo printk macros (Jarod Wilson) [1756517] - [netdrv] bonding: fix error messages in bond_do_fail_over_mac (Jarod Wilson) [1756517] - [netdrv] bonding: improve event debug usability (Jarod Wilson) [1756517] - [netdrv] net: bonding: Inherit MPLS features from slave devices (Jarod Wilson) [1756517] - [netdrv] bonding: Replace GPLv2 boilerplate/reference with SPDX - rule 152 (Jarod Wilson) [1756517] - [netdrv] bonding: Replace GPLv2 boilerplate/reference with SPDX - rule 90 (Jarod Wilson) [1756517] - [netdrv] treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 5 (Jarod Wilson) [1756517] - [netdrv] bonding: Add SPDX license identifier - Makefile/Kconfig (Jarod Wilson) [1756517] - [powerpc] powerpc/fadump: support holes in kernel boot memory area (Desnes Augusto Nunes do Rosario) [1524687] - [powerpc] powerpc/fadump: remove RMA_START and RMA_END macros (Desnes Augusto Nunes do Rosario) [1524687] - [powerpc] powerpc/fadump: update documentation about option to release opalcore (Desnes Augusto Nunes do Rosario) [1524687] - [powerpc] powerpc/fadump: consider f/w load area (Desnes Augusto Nunes do Rosario) [1524687] - [powerpc] powerpc/opalcore: provide an option to invalidate /sys/firmware/opal/core file (Desnes Augusto Nunes do Rosario) [1524687] - [powerpc] powerpc/opalcore: enable CONFIG_OPAL_CORE for FADUMP (Desnes Augusto Nunes do Rosario) [1524687] - [powerpc] powerpc/opalcore: export /sys/firmware/opal/core for analysing opal crashes (Desnes Augusto Nunes do Rosario) [1524687] - [powerpc] powerpc/fadump: update documentation about CONFIG_PRESERVE_FA_DUMP (Desnes Augusto Nunes do Rosario) [1524687] - [powerpc] powerpc/fadump: add support to preserve crash data on FADUMP disabled kernel (Desnes Augusto Nunes do Rosario) [1524687] - [powerpc] powerpc/fadump: improve how crashed kernel's memory is reserved (Desnes Augusto Nunes do Rosario) [1524687] - [powerpc] powerpc/fadump: consider reserved ranges while releasing memory (Desnes Augusto Nunes do Rosario) [1524687] - [powerpc] powerpc/fadump: make crash memory ranges array allocation generic (Desnes Augusto Nunes do Rosario) [1524687] - [powerpc] powerpc/fadump: process architected register state data provided by firmware (Desnes Augusto Nunes do Rosario) [1524687] - [powerpc] powerpc/fadump: make use of memblock's bottom up allocation mode (Desnes Augusto Nunes do Rosario) [1524687] - [powerpc] powerpc/fadump: Update documentation about OPAL platform support (Desnes Augusto Nunes do Rosario) [1524687] - [powerpc] powerpc/fadump: handle invalidation of crashdump and re-registraion (Desnes Augusto Nunes do Rosario) [1524687] - [powerpc] powerpc/fadump: Warn before processing partial crashdump (Desnes Augusto Nunes do Rosario) [1524687] - [powerpc] powerpc/fadump: process the crashdump by exporting it as /proc/vmcore (Desnes Augusto Nunes do Rosario) [1524687] - [powerpc] powerpc/fadump: support copying multiple kernel boot memory regions (Desnes Augusto Nunes do Rosario) [1524687] - [powerpc] powerpc/fadump: define OPAL register/un-register callback functions (Desnes Augusto Nunes do Rosario) [1524687] - [powerpc] powerpc/fadump: reset metadata address during clean up (Desnes Augusto Nunes do Rosario) [1524687] - [powerpc] powerpc/fadump: register kernel metadata address with opal (Desnes Augusto Nunes do Rosario) [1524687] - [powerpc] powerpc/fadump: improve fadump_reserve_mem() (Desnes Augusto Nunes do Rosario) [1524687] - [powerpc] powerpc/fadump: add fadump support on powernv (Desnes Augusto Nunes do Rosario) [1524687] - [powerpc] powerpc/opal: add MPIPL interface definitions (Desnes Augusto Nunes do Rosario) [1524687] - [powerpc] powerpc/powernv: Make possible for user to force a full ipl cec reboot (Desnes Augusto Nunes do Rosario) [1524687] - [powerpc] powerpc/fadump: use FADump instead of fadump for how it is pronounced (Desnes Augusto Nunes do Rosario) [1524687] - [powerpc] pseries/fadump: move out platform specific support from generic code (Desnes Augusto Nunes do Rosario) [1524687] - [powerpc] powerpc/fadump: release all the memory above boot memory size (Desnes Augusto Nunes do Rosario) [1524687] - [powerpc] powerpc/fadump: add source info while displaying region contents (Desnes Augusto Nunes do Rosario) [1524687] - [powerpc] pseries/fadump: define RTAS register/un-register callback functions (Desnes Augusto Nunes do Rosario) [1524687] - [powerpc] powerpc/fadump: introduce callbacks for platform specific operations (Desnes Augusto Nunes do Rosario) [1524687] - [powerpc] powerpc/fadump: move rtas specific definitions to platform code (Desnes Augusto Nunes do Rosario) [1524687] - [powerpc] powerpc/fadump: define an empty fadump_cleanup() (Desnes Augusto Nunes do Rosario) [1524687] - [powerpc] powerpc/fadump: use helper functions to reserve/release cpu notes buffer (Desnes Augusto Nunes do Rosario) [1524687] - [powerpc] powerpc/fadump: Improve fadump documentation (Desnes Augusto Nunes do Rosario) [1524687] - [powerpc] powerpc/fadump: declare helper functions in internal header file (Desnes Augusto Nunes do Rosario) [1524687] - [powerpc] powerpc/fadump: add helper functions (Desnes Augusto Nunes do Rosario) [1524687] - [powerpc] powerpc/fadump: move internal macros/definitions to a new header (Desnes Augusto Nunes do Rosario) [1524687] - [watchdog] watchdog: iTCO: Add support for Cannon Lake PCH iTCO (Alexander Beregalov) [1724532] - [i2c] i2c: i801: Use iTCO version 6 in Cannon Lake PCH and beyond (Alexander Beregalov) [1724532] - [i2c] i2c: i801: Allow ACPI AML access I/O ports not reserved for SMBus (Alexander Beregalov) [1724532] - [block] loop: set PF_MEMALLOC_NOIO for the worker thread (Ming Lei) [1741392] - [fs] bdev: Fixup error handling in blkdev_get() (Ming Lei) [1741392] - [block] loop: Fix mount(2) failure due to race with LOOP_SET_FD (Ming Lei) [1741392] - [block] block, bfq: handle NULL return value by bfq_init_rq() (Ming Lei) [1741392] - [block] block, bfq: move update of waker and woken list to queue freeing (Ming Lei) [1741392] - [block] block, bfq: reset last_completed_rq_bfqq if the pointed queue is freed (Ming Lei) [1741392] - [block] block: aoe: Fix kernel crash due to atomic sleep when exiting (Ming Lei) [1741392] - [block] rq-qos: use a mb for got_token (Ming Lei) [1741392] - [block] rq-qos: set ourself TASK_UNINTERRUPTIBLE after we schedule (Ming Lei) [1741392] - [block] rq-qos: don't reset has_sleepers on spurious wakeups (Ming Lei) [1741392] - [block] rq-qos: fix missed wake-ups in rq_qos_throttle (Ming Lei) [1741392] - [include] wait: add wq_has_single_sleeper helper (Ming Lei) [1741392] - [block] block, bfq: check also in-flight I/O in dispatch plugging (Ming Lei) [1741392] - [block] block: fix sysfs module parameters directory path in comment (Ming Lei) [1741392] - [block] block: Allow mapping of vmalloc-ed buffers (Ming Lei) [1741392] - [block] block/bio-integrity: fix a memory leak bug (Ming Lei) [1741392] - [block] block: Disable write plugging for zoned block devices (Ming Lei) [1741392] - [block] blk-throttle: fix zero wait time for iops throttled group (Ming Lei) [1741392] - [block] block: Fix potential overflow in blk_report_zones() (Ming Lei) [1741392] - [block] blk-cgroup: turn on psi memstall stuff (Ming Lei) [1741392] - [block] block: init flush rq ref count to 1 (Ming Lei) [1741392] - [lib] sbitmap: Replace cmpxchg with xchg (Ming Lei) [1741392] - [block] block: Remove unused code (Ming Lei) [1741392] - [block] block, bfq: Init saved_wr_start_at_switch_to_srt in unlikely case (Ming Lei) [1741392] - [block] block, bfq: re-schedule empty queues if they deserve I/O plugging (Ming Lei) [1741392] - [block] block, bfq: preempt lower-weight or lower-priority queues (Ming Lei) [1741392] - [block] block, bfq: detect wakers and unconditionally inject their I/O (Ming Lei) [1741392] - [block] block, bfq: bring forward seek&think time update (Ming Lei) [1741392] - [block] block, bfq: update base request service times when possible (Ming Lei) [1741392] - [block] block, bfq: fix rq_in_driver check in bfq_update_inject_limit (Ming Lei) [1741392] - [block] block, bfq: reset inject limit when think-time state changes (Ming Lei) [1741392] - [kernel] cgroup: export css_next_descendant_pre for bfq (Ming Lei) [1741392] - [block] block: update print_req_error() (Ming Lei) [1741392] - [block] block: use blk_op_str() in blk-mq-debugfs.c (Ming Lei) [1741392] - [block] block: add centralize REQ_OP_XXX to string helper (Ming Lei) [1741392] - [block] block: improve print_req_error (Ming Lei) [1741392] - [block] block: rename CONFIG_DEBUG_BLK_CGROUP to CONFIG_BFQ_CGROUP_DEBUG (Ming Lei) [1741392] - [block] bfq-iosched: move bfq_stat_recursive_sum into the only caller (Ming Lei) [1741392] - [block] blk-cgroup: move struct blkg_stat to bfq (Ming Lei) [1741392] - [block] blk-cgroup: introduce a new struct blkg_rwstat_sample (Ming Lei) [1741392] - [block] blk-cgroup: pass blkg_rwstat structures by reference (Ming Lei) [1741392] - [block] blk-cgroup: factor out a helper to read rwstat counter (Ming Lei) [1741392] - [block] block: drbd: no need to check return value of debugfs_create functions (Ming Lei) [1741392] - [block] blk-core: Remove blk_end_request*() declarations (Ming Lei) [1741392] - [block] block: code cleanup queue_poll_stat_show() (Ming Lei) [1741392] - [block] block: use right format specifier for op (Ming Lei) [1741392] - [block] block: get rid of redundant else (Ming Lei) [1741392] - [block] block: use req_op() to maintain consistency (Ming Lei) [1741392] - [fs] blkcg, writeback: dead memcgs shouldn't contribute to writeback ownership arbitration (Ming Lei) [1741392] - [block] blkcg: blkcg_activate_policy() should initialize ancestors first (Ming Lei) [1741392] - [block] blkcg: perpcu_ref init/exit should be done from blkg_alloc/free() (Ming Lei) [1741392] - [block] blkcg: update blkcg_print_stat() to handle larger outputs (Ming Lei) [1741392] - [block] block: bio: Use struct_size() in kmalloc() (Ming Lei) [1741392] - [block] block: genhd: Use struct_size() helper (Ming Lei) [1741392] - [block] block: null_blk: fix race condition for null_del_dev (Ming Lei) [1741392] - [block] blk-mq/debugfs: Fix improper print qualifier (Ming Lei) [1741392] - [block] loop: Don't change loop device under exclusive opener (Ming Lei) [1741392]- [documentation] timekeeping.txt: Correct maxCount of n-bit binary counter (Jaroslav Kysela) [1738610] - [sound] ALSA: clk: Add (devm_)clk_get_optional() functions (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: SOF: uapi: align comments with firmware files (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: SOF: rename SOUNDWIRE to ALH (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: SOF: ipc: add ALH parameters (Jaroslav Kysela) [1738610] - [sound] ALSA: treewide: remove SPDX "WITH Linux-syscall-note" from kernel-space headers again (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: soc.h: fe_compr can be bit field (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: soc.h: fixup for_each_card_links() macro (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: Define a set of DAPM pre/post-up events (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: soc-dai: use bit field for bus_control (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: simple_card_utils.h: care NULL dai at asoc_simple_debug_dai() (Jaroslav Kysela) [1738610] - [sound] ALSA: hda: remove an unused field from struct hda_codec (Jaroslav Kysela) [1738610] - [sound] ALSA: line6: Avoid polluting led_* namespace (Jaroslav Kysela) [1738610] - [sound] ALSA: usb-audio: Add Hiby device family to quirks for native DSD support (Jaroslav Kysela) [1738610] - [sound] ALSA: usb-audio: Update DSD support quirks for Oppo and Rotel (Jaroslav Kysela) [1738610] - [sound] ALSA: usb-audio: DSD auto-detection for Playback Designs (Jaroslav Kysela) [1738610] - [sound] ALSA: usb-audio: remove some dead code (Jaroslav Kysela) [1738610] - [sound] ALSA: usb-audio: Fix possible NULL dereference at create_yamaha_midi_quirk() (Jaroslav Kysela) [1738610] - [sound] ALSA: usb-audio: Clean up check_input_term() (Jaroslav Kysela) [1738610] - [sound] ALSA: usb-audio: Remove superfluous bLength checks (Jaroslav Kysela) [1738610] - [sound] ALSA: usb-audio: Unify the release of usb_mixer_elem_info objects (Jaroslav Kysela) [1738610] - [sound] ALSA: usb-audio: Simplify parse_audio_unit() (Jaroslav Kysela) [1738610] - [sound] ALSA: usb-audio: More validations of descriptor units (Jaroslav Kysela) [1738610] - [sound] ALSA: usb-audio: Check mixer unit bitmap yet more strictly (Jaroslav Kysela) [1738610] - [sound] ALSA: line6: Fix memory leak at line6_init_pcm() error path (Jaroslav Kysela) [1738610] - [sound] ALSA: usb-audio: Fix invalid NULL check in snd_emuusb_set_samplerate() (Jaroslav Kysela) [1738610] - [sound] ALSA: usb-audio: Add implicit fb quirk for Behringer UFX1604 (Jaroslav Kysela) [1738610] - [sound] ALSA: usb-audio: Fix a stack buffer overflow bug in check_input_term (Jaroslav Kysela) [1738610] - [sound] ALSA: usb-audio: Fix an OOB bug in parse_audio_mixer_unit (Jaroslav Kysela) [1738610] - [sound] ALSA: hiface: fix multiple memory leak bugs (Jaroslav Kysela) [1738610] - [sound] ALSA: usb-audio: Add Pioneer DDJ-SX3 PCM quirck (Jaroslav Kysela) [1738610] - [sound] ALSA: usb-audio: Skip bSynchAddress endpoint check if it is invalid (Jaroslav Kysela) [1738610] - [sound] ALSA: usb-audio: fix PCM device order (Jaroslav Kysela) [1738610] - [sound] ALSA: usb-audio: Unify audioformat release code (Jaroslav Kysela) [1738610] - [sound] ALSA: usb-audio: fix a memory leak bug (Jaroslav Kysela) [1738610] - [sound] ALSA: usb-audio: Fix gpf in snd_usb_pipe_sanity_check (Jaroslav Kysela) [1738610] - [sound] ALSA: usb-audio: Scarlett Gen 2 mixer interface (Jaroslav Kysela) [1738610] - [sound] ALSA: line6: sizeof (byte) is always 1, use that fact. (Jaroslav Kysela) [1738610] - [sound] ALSA: line6: Fix a typo (Jaroslav Kysela) [1738610] - [sound] ALSA: line6: Fix wrong altsetting for LINE6_PODHD500_1 (Jaroslav Kysela) [1738610] - [sound] ALSA: usb-audio: fix Line6 Helix audio format rates (Jaroslav Kysela) [1738610] - [sound] ALSA: usb-audio: Fix parse of UAC2 Extension Units (Jaroslav Kysela) [1738610] - [sound] ALSA: line6: Fix write on zero-sized buffer (Jaroslav Kysela) [1738610] - [sound] ALSA: usb-audio: fix sign unintended sign extension on left shifts (Jaroslav Kysela) [1738610] - [sound] ALSA: usb-audio: Sanity checks for each pipe and EP types (Jaroslav Kysela) [1738610] - [sound] ALSA: usb-audio: Enable .product_name override for Emagic, Unitor 8. (Jaroslav Kysela) [1738610] - [sound] ALSA: line6: Use container_of() (Jaroslav Kysela) [1738610] - [sound] ALSA: line6: Drop superfluous timer helper function (Jaroslav Kysela) [1738610] - [sound] ALSA: line6: variax: Rewrite complex timer & work combo with a delayed work (Jaroslav Kysela) [1738610] - [sound] ALSA: line6: podhd: Rewrite complex timer & work combo with a delayed work (Jaroslav Kysela) [1738610] - [sound] ALSA: line6: pod: Rewrite complex timer & work combo with a delayed work (Jaroslav Kysela) [1738610] - [sound] ALSA: line6: Assure canceling delayed work at disconnection (Jaroslav Kysela) [1738610] - [sound] ALSA: treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 33 (Jaroslav Kysela) [1738610] - [sound] ALSA: sparc: Mark expected switch fall-throughs (Jaroslav Kysela) [1738610] - [sound] ALSA: fix a memory leak bug (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: ux500: mop500: consider CPU-Platform possibility (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: ux500: mop500: don't select unnecessary Platform (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: ux500: mop500: use modern dai_link style (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: txx9: txx9aclc-generic: use modern dai_link style (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: ti: rx51: consider CPU-Platform possibility (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: ti: rx51: don't select unnecessary Platform (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: ti: rx51: use modern dai_link style (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: ti: osk5912: use modern dai_link style (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: ti: omap3pandora: use modern dai_link style (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: ti: omap-twl4030: consider CPU-Platform possibility (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: ti: omap-twl4030: don't select unnecessary Platform (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: ti: omap-twl4030: use modern dai_link style (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: ti: omap-hdmi: consider CPU-Platform possibility (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: ti: omap-hdmi: don't select unnecessary Platform (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: ti: omap-hdmi: use modern dai_link style (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: ti: omap-abe-twl6040: consider CPU-Platform possibility (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: ti: omap-abe-twl6040: don't select unnecessary Platform (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: ti: omap-abe-twl6040: use modern dai_link style (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: ti: n810: use modern dai_link style (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: ti: davinci-mcasp: Fix slot mask settings when using multiple AXRs (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: ti: davinci-mcasp: Set unused serializers as INACTIVE (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: ti: Fix SDMA users not providing channel names (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: ti: davinci-mcasp: Support for auxclk-fs-ratio (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: ti: davinci-evm: consider CPU-Platform possibility (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: ti: davinci-evm: don't select unnecessary Platform (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: ti: davinci-evm: use modern dai_link style (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: ti: ams-delta: use modern dai_link style (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: tegra: trimslice: consider CPU-Platform possibility (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: tegra: trimslice: don't select unnecessary Platform (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: tegra: trimslice: use modern dai_link style (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: tegra: tegra_wm9712: consider CPU-Platform possibility (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: tegra: tegra_wm9712: don't select unnecessary Platform (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: tegra: tegra_wm9712: use modern dai_link style (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: tegra: tegra_wm8903: consider CPU-Platform possibility (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: tegra: tegra_wm8903: don't select unnecessary Platform (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: tegra: tegra_wm8903: use modern dai_link style (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: tegra: tegra_wm8753: consider CPU-Platform possibility (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: tegra: tegra_wm8753: don't select unnecessary Platform (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: tegra: tegra_wm8753: use modern dai_link style (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: tegra: tegra_sgtl5000: consider CPU-Platform possibility (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: tegra: tegra_sgtl5000: don't select unnecessary Platform (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: tegra: tegra_sgtl5000: use modern dai_link style (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: tegra: tegra_rt5677: consider CPU-Platform possibility (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: tegra: tegra_rt5677: don't select unnecessary Platform (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: tegra: tegra_rt5677: use modern dai_link style (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: tegra: tegra_rt5640: consider CPU-Platform possibility (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: tegra: tegra_rt5640: don't select unnecessary Platform (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: tegra: tegra_rt5640: use modern dai_link style (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: tegra: tegra_max98090: consider CPU-Platform possibility (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: tegra: tegra_max98090: don't select unnecessary Platform (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: tegra: tegra_max98090: use modern dai_link style (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: tegra: tegra_alc5632: consider CPU-Platform possibility (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: tegra: tegra_alc5632: don't select unnecessary Platform (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: tegra: tegra_alc5632: use modern dai_link style (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: SOF: topology: pass volume min/max linear value to FW (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: SOF: ignore unrecoverable CTX_SAVE IPC errors at suspend (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: sunxi: sun50i-codec-analog: Add earpiece (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: sunxi: sun4i-codec: use modern dai_link style (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: stm32: spdifrx: manage identification registers (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: stm32: dfsdm: add 16 bits audio record support (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: SOF: topology: add cpu_dai_name for DAIs (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: SOF: topology: add min/max step for volume_table (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: sof: use modern dai_link style (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: SOF: ipc: clarify operator precedence (Jaroslav Kysela) [1738610] - [sound] ALSA: ASOC: SOF: ipc: prevent logging trace messages (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: SOF: Intel: hda: add new macro hstream_to_sof_hda_stream() (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: SOF: Intel: hda: make sure RUN bit setting to 0 during clear stream status (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: SOF: Intel: hda-stream: fix a deadlock with bus->reg_lock (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: SOF: Intel: hda: modify stream interrupt handler (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: SOF: Intel: hda: save handle to sdev in sof_intel_hda_stream (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: SOF: Intel: hda: remove misleading error trace from IRQ thread (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: SOF: dont wake dsp up in kcontrol IO (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: dapm: Fix handling of custom_stop_condition on DAPM graph walks (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: compress: Fix memory leak from snd_soc_new_compress (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: sirf: sirf-audio: consider CPU-Platform possibility (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: sirf: sirf-audio: don't select unnecessary Platform (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: sirf: sirf-audio: use modern dai_link style (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: sh: sh7760-ac97: use modern dai_link style (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: rsnd: ssiu: tidyup SSI_MODE1/2 settings (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: rsnd: fixup mod ID calculation in rsnd_ctu_probe_ (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: rsnd: add missing pin sharing with SSI9 (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: sh: migor: use modern dai_link style (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: samsung: tobermory: use modern dai_link style (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: samsung: tm2_wm5110: consider CPU-Platform possibility (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: samsung: tm2_wm5110: don't select unnecessary Platform (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: samsung: tm2_wm5110: use modern dai_link style (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: samsung: speyside: use modern dai_link style (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: samsung: snow: consider CPU-Platform possibility (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: samsung: snow: don't select unnecessary Platform (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: samsung: snow: use modern dai_link style (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: samsung: smdk_wm8994pcm: use modern dai_link style (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: samsung: smdk_wm8994: consider CPU-Platform possibility (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: samsung: smdk_wm8994: don't select unnecessary Platform (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: samsung: smdk_wm8994: use modern dai_link style (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: samsung: smdk_wm8580: use modern dai_link style (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: samsung: smdk_spdif: use modern dai_link style (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: samsung: smartq_wm8987: use modern dai_link style (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: samsung: s3c24xx_uda134x: use modern dai_link style (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: samsung: s3c24xx_simtec_tlv320aic23: use modern dai_link style (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: samsung: s3c24xx_simtec_hermes: use modern dai_link style (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: samsung: rx1950_uda1380: use modern dai_link style (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: samsung: odroid: fix a double-free issue for cpu_dai (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: samsung: odroid: fix an use-after-free issue for codec (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: samsung: odroid: use modern dai_link style (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: samsung: neo1973_wm8753: use modern dai_link style (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: samsung: lowland: use modern dai_link style (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: samsung: littlemill: use modern dai_link style (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: samsung: jive_wm8750: use modern dai_link style (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: samsung: h1940_uda1380: use modern dai_link style (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: samsung: bells: use modern dai_link style (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: samsung: arndale_rt5631: consider CPU-Platform possibility (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: samsung: arndale_rt5631: don't select unnecessary Platform (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: samsung: arndale_rt5631: use modern dai_link style (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: rockchip: rockchip_rt5645: consider CPU-Platform possibility (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: rockchip: rockchip_rt5645: don't select unnecessary Platform (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: rockchip: rockchip_rt5645: use modern dai_link style (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: rockchip-max98090: Remove MICBIAS as supply of input pin IN34 (Jaroslav Kysela) [1738610] - [sound] ALSA: SoC: rockchip: rockchip_max98090: Enable MICBIAS for headset keypress detection (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: rockchip: rockchip_max98090: use modern dai_link style (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: rockchip: rk3399_gru_sound: consider CPU-Platform possibility (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: rockchip: rk3399_gru_sound: don't select unnecessary Platform (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: rockchip: rk3399_gru_sound: use modern dai_link style (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: rk3399_gru_sound: Support 32, 44.1 and 88.2 kHz sample rates (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: rockchip: rk3288_hdmi_analog: consider CPU-Platform possibility (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: rockchip: rk3288_hdmi_analog: don't select unnecessary Platform (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: rockchip: rk3288_hdmi_analog: use modern dai_link style (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: rockchip: pdm: select CONFIG_RATIONAL (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: qcom: storm: consider CPU-Platform possibility (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: qcom: storm: don't select unnecessary Platform (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: qcom: storm: use modern dai_link style (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: qcom: apq8016_sbc: Fix oops with multiple DAI links (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: qcom: apq8016_sbc: consider CPU-Platform possibility (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: qcom: apq8016_sbc: don't select unnecessary Platform (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: pxa: tosa: use modern dai_link style (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: pxa: hx4700: use modern dai_link style (Jaroslav Kysela) [1738610] - [sound] ALSA: kernel: fix typos and some coding style in comments (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: qdsp6: q6afe-dai: Add missing Slimbus0 audio route (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: qcom: apq8016_sbc: use modern dai_link style (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: pxa: zylonite: use modern dai_link style (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: pxa: z2: use modern dai_link style (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: pxa: ttc-dkb: use modern dai_link style (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: pxa: spitz: use modern dai_link style (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: pxa: pxa2xx-ac97.c: use devm_snd_soc_register_component() (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: pxa: poodle: use modern dai_link style (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: pxa: palm27x: use modern dai_link style (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: pxa: mioa701_wm9713: use modern dai_link style (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: pxa: magician: use modern dai_link style (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: pxa: imote2: use modern dai_link style (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: pxa: em-x270: use modern dai_link style (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: pxa: e800_wm9712: use modern dai_link style (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: pxa: e750_wm9705: use modern dai_link style (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: pxa: e740_wm9705: use modern dai_link style (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: pxa: corgi: use modern dai_link style (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: pxa: brownstone: use modern dai_link style (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: mxs: mxs-sgtl5000: consider CPU-Platform possibility (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: mxs: mxs-sgtl5000: don't select unnecessary Platform (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: mxs: mxs-sgtl5000: use modern dai_link style (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: meson: axg-toddr: add sm1 support (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: meson: axg-toddr: expose all 8 inputs (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: meson: tdmout: add sm1 support (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: meson: axg-tdmout: right_j is not supported (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: meson: tdmin: expose all 16 inputs (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: meson: axg-tdmin: right_j is not supported (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: meson: axg-tdm: fix sample clock inversion (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: meson: axg-tdm: consistently use SND_SOC_DAIFMT defines (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: meson: g12a-tohdmitx: require regmap mmio (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: meson: axg-tdm-formatter: free reset on device removal (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: meson: axg-tdm-formatter: add reset (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: meson: axg-spdifout: use devm_platform_ioremap_resource() to simplify code (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: meson: axg-spdifin: use devm_platform_ioremap_resource() to simplify code (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: meson: axg-pdm: use devm_platform_ioremap_resource() to simplify code (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: meson: axg-frddr: expose all 8 outputs (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: meson: axg-frddr: add sm1 support (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: meson: axg-fifo: use devm_platform_ioremap_resource() to simplify code (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: mediatek: mt8173-rt5650: use modern dai_link style (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: mediatek: mt8173-rt5650-rt5676: use modern dai_link style (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: mediatek: mt8173-rt5650-rt5514: use modern dai_link style (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: mediatek: mt8173-max98090: use modern dai_link style (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: mediatek: mt6797-mt6351: use modern dai_link style (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: mediatek: mt2701-wm8960: use modern dai_link style (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: mediatek: mt2701-cs42448: use modern dai_link style (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: Add missing newline at end of file (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: kirkwood: armada-370-db: consider CPU-Platform possibility (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: kirkwood: armada-370-db: don't select unnecessary Platform (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: kirkwood: armada-370-db: use modern dai_link style (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: jz4740: qi_lb60: use modern dai_link style (Jaroslav Kysela) [1738610] - [sound] ALSA: treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 239 (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: Intel: Skylake: Fix incorrect capture position reporting (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: Intel: Skylake: Fix NULL ptr dereference when unloading clk dev (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: Intel: Skylake: Don't return failure on machine driver reload (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: Intel: Skylake: Do not disable FW notifications (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: Intel: sof_rt5682: use GFP_KERNEL instead of GFP_ATOMIC (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: Intel: sof-rt5682: correct naming for dmic16k (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: Intel: sof_rt5682: use modern dai_link style (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: Intel: bytcht_es8316: Add quirk for Irbis NB41 netbook (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: Intel: bxt-da7219-max98357a: add BE dailink for dmic16k (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: Intel: sof-rt5682: add MCLK support for BYT platform (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: Intel: skl_rt286: use modern dai_link style (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: Intel: skl_nau88l25_ssm4567: use modern dai_link style (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: Intel: skl_nau88l25_max98357a: use modern dai_link style (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: Intel: skl_hda_dsp_common: use modern dai_link style (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: Intel: kbl_rt5663_rt5514_max98927: use modern dai_link style (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: Intel: kbl_rt5663_max98927: use modern dai_link style (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: Intel: kbl_rt5660: use modern dai_link style (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: Intel: kbl_da7219_max98927: use modern dai_link style (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: Intel: boards: kbl_da7219_max98927: add dai_trigger function (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: Intel: kbl_da7219_max98357a: use modern dai_link style (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: Intel: haswell: use modern dai_link style (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: Intel: glk_rt5682_max98357a: use modern dai_link style (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: Intel: cht_bsw_rt5672: use modern dai_link style (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: Intel: cht_bsw_rt5645: use modern dai_link style (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: Intel: cht_bsw_nau8824: use modern dai_link style (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: Intel: cht_bsw_max98090_ti: use modern dai_link style (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: Intel: bytcr_rt5651: use modern dai_link style (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: Intel: bytcr_rt5640: use modern dai_link style (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: Intel: bytcht_nocodec: use modern dai_link style (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: Intel: bytcht_es8316: use modern dai_link style (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: Intel: bytcht_da7213: use modern dai_link style (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: Intel: bytcht_cx2072x: use modern dai_link style (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: Intel: byt-rt5640: use modern dai_link style (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: Intel: byt-max98090: use modern dai_link style (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: Intel: bxt_rt298: use modern dai_link style (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: Intel: bxt_da7219_max98357a: use modern dai_link style (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: Intel: broadwell: use modern dai_link style (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: Intel: bdw-rt5677: use modern dai_link style (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: audio-graph-card: fix use-after-free in graph_for_each_link (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: audio-graph-card: add missing const at graph_get_dai_id() (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: fsl: phycore-ac97: use modern dai_link style (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: simple-card-utils: care no Platform for DPCM (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: audio-graph-card: fix use-after-free in graph_dai_link_of_dpcm() (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: audio-graph-card: fix an use-after-free in graph_get_dai_id() (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: fsl: wm1133-ev1: use modern dai_link style (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: fsl: pcm030-audio-fabric: use modern dai_link style (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: fsl: imx-es8328: consider CPU-Platform possibility (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: fsl: imx-es8328: don't select unnecessary Platform (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: fsl: imx-audmix: consider CPU-Platform possibility (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: fsl: imx-audmix: don't select unnecessary Platform (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: fsl: mx27vis-aic32x4: use modern dai_link style (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: fsl: imx-spdif: consider CPU-Platform possibility (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: fsl: imx-spdif: don't select unnecessary Platform (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: fsl: imx-spdif: use modern dai_link style (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: fsl: imx-sgtl5000: consider CPU-Platform possibility (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: fsl: imx-sgtl5000: don't select unnecessary Platform (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: fsl: imx-sgtl5000: use modern dai_link style (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: fsl: imx-mc13783: use modern dai_link style (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: fsl: imx-es8328: consider CPU-Platform possibility (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: fsl: imx-es8328: don't select unnecessary Platform (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: fsl: imx-es8328: use modern dai_link style (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: fsl: imx-audmix: consider CPU-Platform possibility (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: fsl: imx-audmix: don't select unnecessary Platform (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: fsl: imx-audmix: use modern dai_link style (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: fsl: mpc8610_hpcd/p1022_ds/p1022_rdk: use modern dai_link style (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: fsl: no need to check return value of debugfs_create functions (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: fsl: fsl-asoc-card: use modern dai_link style (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: fsl: eukrea-tlv320: use modern dai_link style (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: fsl: efika-audio-fabric: use modern dai_link style (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: wm_adsp: Allow bus error handler to be called directly (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: wm_adsp: no need to check return value of debugfs_create functions (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: wcd9335: remove multiple defines. (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: wcd9335: add irqflag IRQF_ONESHOT flag (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: wcd9335: Fix misuse of GENMASK macro (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: tlv320aic31xx: suppress error message for EPROBE_DEFER (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: tas571x: Fix -Wunused-const-variable (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: sgtl5000: Fix charge pump source assignment (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: sgtl5000: Fix of unmute outputs on probe (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: sgtl5000: add ADC mute control (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: sgtl5000: Improve VAG power and mute control (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: sgtl5000: Fix definition of VAG Ramp Control (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: rt5682: use devm_snd_soc_register_component() (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: rt5677-spi: Rename driver to differentiate from main codec (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: rt5665: remove redundant assignment to variable idx (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: rt5514-spi: don't use snd_soc_lookup_component() (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: rt1308: simplify the EFUSE read function (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: rt1308: Remove executable attribute from source files (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: rt1308: Fix platform_no_drv_owner.cocci warnings (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: rt1308: add silence detection and manual PDB control (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: rt1308: Convert headers to SPDX (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: rt1011: fix DC calibration offset not applying (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: Relocate my e-mail to .com domain zone (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: nau8825: fix fake interruption when booting (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: nau8822: support master mode (Jaroslav Kysela) [1738610] - [sound] ALSA: soc: codecs: mt6358: change return type of mt6358_codec_init_reg (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: msm8916-wcd-digital: Add sidetone support (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: max98383: fix i2c probe failure (Jaroslav Kysela) [1738610] - [sound] ALSA: treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 496 (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: hdac_hdmi: report codec link up/down status to bus (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: codec: hdac_hdmi: fix pin connections at cvt enable (Jaroslav Kysela) [1738610] - [sound] ALSA: treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 463 (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: cx2072x: mark PM function as __maybe_unused (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: max98357a: use mdelay for sdmode-delay (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: max98357a: avoid speaker pop when playback startup (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: cs42xx8: Fix MFREQ selection issue for async mode (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: cros_ec_codec: use devm_snd_soc_register_component() (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: ak4118: use devm_snd_soc_register_component() (Jaroslav Kysela) [1738610] - [sound] ALSA: spi: AD ASoC: declare missing of table (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: ab8500: add range to usleep_range (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: cirrus: snappercl15: use modern dai_link style (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: cirrus: simone: use modern dai_link style (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: cirrus: ep93xx-i2s.c: use devm_snd_soc_register_component() (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: cirrus: edb93xx: use modern dai_link style (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: bcm: cygnus-pcm: Unneeded variable: "ret". (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: au1x: psc-i2s.c: use devm_snd_soc_register_component() (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: au1x: db1200: use modern dai_link style (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: au1x: db1000: use modern dai_link style (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: atmel: tse850-pcm5142: consider CPU-Platform possibility (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: atmel: tse850-pcm5142: don't select unnecessary Platform (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: atmel: tse850-pcm5142: use modern dai_link style (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: atmel: sam9x5_wm8731: consider CPU-Platform possibility (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: atmel: sam9x5_wm8731: don't select unnecessary Platform (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: atmel: sam9x5_wm8731: use modern dai_link style (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: atmel: sam9g20_wm8731: use modern dai_link style (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: atmel: mikroe-proto: use modern dai_link style (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: atmel: atmel-wm8904: use modern dai_link style (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: atmel: atmel-pdmic: use modern dai_link style (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: atmel: atmel-pcm-dma.c: use devm_snd_dmaengine_pcm_register() (Jaroslav Kysela) [1738610] - [sound] ALSA: treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 234 (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: atmel: atmel-classd: use modern dai_link style (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: amd: acp-rt5645: use modern dai_link style (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: amd: acp-da7219-max98357a: use modern dai_link style (Jaroslav Kysela) [1738610] - [sound] ALSA: treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 200 (Jaroslav Kysela) [1738610] - [sound] ALSA: ps3: Remove Unneeded variable: "ret" (Jaroslav Kysela) [1738610] - [sound] ALSA: treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 277 (Jaroslav Kysela) [1738610] - [sound] ALSA: rme9652: Unneeded variable: "result". (Jaroslav Kysela) [1738610] - [sound] ALSA: treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 274 (Jaroslav Kysela) [1738610] - [sound] ALSA: hdspm: Fix single speed ADAT capture and playback with RME HDSPe AIO (Jaroslav Kysela) [1738610] - [sound] ALSA: treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 264 (Jaroslav Kysela) [1738610] - [sound] ALSA: treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 404 (Jaroslav Kysela) [1738610] - [sound] ALSA: lx6464es - Remove set but not used variables 'orun_mask, urun_mask' (Jaroslav Kysela) [1738610] - [sound] ALSA: lx6464es: Remove unneeded variable err (Jaroslav Kysela) [1738610] - [sound] ALSA: lx6464es - add support for LX6464ESe pci express variant (Jaroslav Kysela) [1738610] - [sound] ALSA: ice1712: Check correct return value to snd_i2c_sendbytes (EWS/DMX 6Fire) (Jaroslav Kysela) [1738610] - [sound] ALSA: treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 29 (Jaroslav Kysela) [1738610] - [sound] ALSA: treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 46 (Jaroslav Kysela) [1738610] - [sound] ALSA: emu10k1: Remove unneeded variable "change" (Jaroslav Kysela) [1738610] - [sound] ALSA: echoaudio: Replace kmalloc + memcpy with kmemdup (Jaroslav Kysela) [1738610] - [sound] ALSA: pci: echoaudio: remove variable which is a constant (Jaroslav Kysela) [1738610] - [sound] ALSA: treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 364 (Jaroslav Kysela) [1738610] - [sound] ALSA: treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 118 (Jaroslav Kysela) [1738610] - [sound] ALSA: cs4281: remove redundant assignment to variable val and remove a goto (Jaroslav Kysela) [1738610] - [sound] ALSA: treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 32 (Jaroslav Kysela) [1738610] - [sound] ALSA: treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 116 (Jaroslav Kysela) [1738610] - [sound] ALSA: treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 456 (Jaroslav Kysela) [1738610] - [sound] ALSA: au88x0: Remove unneeded variable: "changed" (Jaroslav Kysela) [1738610] - [sound] ALSA: asihpi: Remove unneeded variable change (Jaroslav Kysela) [1738610] - [sound] ALSA: treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 88 (Jaroslav Kysela) [1738610] - [sound] ALSA: ac97: remove unused variable 'snd_ac97_controls_master_mono' (Jaroslav Kysela) [1738610] - [sound] ALSA: dmasound_atari: Mark expected switch fall-through (Jaroslav Kysela) [1738610] - [sound] ALSA: treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 176 (Jaroslav Kysela) [1738610] - [sound] ALSA: i2c: ak4xxx-adda: Fix a possible null pointer dereference in build_adc_controls() (Jaroslav Kysela) [1738610] - [sound] ALSA: isa/wavefront: remove redundant assignment to pointer bptr (Jaroslav Kysela) [1738610] - [sound] ALSA: treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 370 (Jaroslav Kysela) [1738610] - [sound] ALSA: sb: remove redundant assignment to variable result (Jaroslav Kysela) [1738610] - [sound] ALSA: Revert "ALSA: hda: Add codec on bus address table lately" (Jaroslav Kysela) [1738610] - [sound] ALSA: hda: Unexport a few more stuff (Jaroslav Kysela) [1738610] - [sound] ALSA: hda: Drop export of snd_hdac_bus_add/remove_device() (Jaroslav Kysela) [1738610] - [sound] ALSA: hda: Add codec on bus address table lately (Jaroslav Kysela) [1738610] - [sound] ALSA: hda: readl/writel need linux/io.h (Jaroslav Kysela) [1738610] - [sound] ALSA: hda: intel-nhlt: handle NHLT VENDOR_DEFINED DMIC geometry (Jaroslav Kysela) [1738610] - [sound] ALSA: hda: move parts of NHLT code to new module (Jaroslav Kysela) [1738610] - [sound] ALSA: hda: Fix 1-minute detection delay when i915 module is not available (Jaroslav Kysela) [1738610] - [sound] ALSA: hda: Fix a headphone detection issue when using SOF (Jaroslav Kysela) [1738610] - [sound] ALSA: hda: fix: lock reg_lock before calling snd_hdac_bus_update_rirb (Jaroslav Kysela) [1738610] - [sound] ALSA: hda: add polling mode in snd_hdac_bus_get_response (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: sdm845: remove unneeded semicolon (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: dmaengine: Replace strncpy() with strscpy_pad() for pcm->name (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: wcd9335: remove redundant use of ret variable (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: hdmi-codec: Add an op to set callback function for plug event (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: soc-core: self contained soc_unbind_aux_dev() (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: soc-core: add soc_unbind_aux_dev() (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: soc-core: self contained soc_bind_aux_dev() (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: soc-core: move soc_probe_link_dais() next to soc_remove_link_dais() (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: soc-core: self contained soc_probe_link_dais() (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: soc-core: add new soc_link_init() (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: soc-core: move soc_probe_dai() next to soc_remove_dai() (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: soc-core: self contained soc_remove_link_dais() (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: soc-core: self contained soc_remove_link_components() (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: soc-core: self contained soc_probe_link_components() (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: rt1308: make array pd static const, makes object smaller (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: rt1305: make array pd static const, makes object smaller (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: rt1011: make array pd static const, makes object smaller (Jaroslav Kysela) [1738610] - [sound] ALSA: SoC: simple-card-utils: set 0Hz to sysclk when shutdown (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: rockchip: ignore 0Hz sysclk (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: codecs: ad193x: make two arrays static const, makes object smaller (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: codecs: ad193x: Use regmap_multi_reg_write() when initializing (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: codecs: ad193x: Reset used registers at probe (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: codecs: ad193x: Group register initialization at probe (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: codecs: ad193x: Fix memory corruption on BE 64b systems (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: es8316: support fixed and variable both clock rates (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: es8316: fix redundant codes of clock (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: es8316: add DT-bindings (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: dmaengine: Make the pcm->name equal to pcm->id if the name is not set (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: SOF: imx8: Fix COMPILE_TEST error (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: qcom: common: Include link-name in error messages (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: qcom: consider CPU-Platform possibility (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: qcom: don't select unnecessary Platform (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: qcom: common: Fix NULL pointer in of parser (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: qcom: common: Mark links as nonatomic (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: qcom: common: use modern dai_link style (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: soc-core: add comment to jack at soc_remove_component() (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: tegra: use devm_platform_ioremap_resource() to simplify code (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: sirf-audio: use devm_platform_ioremap_resource() to simplify code (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: ep93xx: use devm_platform_ioremap_resource() to simplify code (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: amd: use devm_platform_ioremap_resource() to simplify code (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: es8316: add clock control of MCLK (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: audio-graph: indicate rebind issue (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: simple-card: indicate rebind issue (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: simple-card: fix an use-after-free in simple_for_each_link() (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: simple-card: fix an use-after-free in simple_dai_link_of_dpcm() (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: simple-card: support snd_soc_dai_link_component style for cpu (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: soc-core: move soc_probe_link_components() position (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: soc-core: add snd_soc_dapm_init() (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: soc-core: dapm related setup at one place (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: soc-core: move soc_probe_component() position (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: soc-core: add soc_rtd_free() (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: mediatek: mt8183: fix space issues (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: mediatek: mt8183: remove forward declaration of headset_init (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: mediatek: mt8183: move headset jack to card-specific storage (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: mediatek: mt8183: move private structure (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: SOF/Intel: fix selection of SND_INTEL_NHTL (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: Intel: broadwell: Simplify device probe (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: Intel: bdw-rt5677: Simplify device probe (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: Intel: haswell: Simplify device probe (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: Intel: Haswell: Adjust machine device private context (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: ti: davinci-evm: Do not fail if the dai_set_sysclk returns -ENOTSUPP (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: ti: edma-pcm: Fix for legacy dma_slave_map based channel lookup (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: ti: davinci-i2s: Add S32_LE as support format (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: ti: davinci-i2s: Move the XSYNCERR workaround to .prepare callback (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: Intel: Baytrail: Fix implicit fallthrough warning (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: fsl_ssi: Fix clock control issue in master mode (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: wcd9335: Fix primary interpolator max rate (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: mediatek: mt8183: fix tdm out data is valid on rising edge (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: mediatek: mt8183: tdm hw support tdm out and 8ch i2s out (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: atmel_ssc_dai: implement left-justified data mode (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: atmel_ssc_dai: rework DAI format configuration (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: atmel: enable SOC_SSC_PDC and SOC_SSC_DMA in Kconfig (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: cs42xx8: Force suspend/resume during system suspend/resume (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: mediatek: mt8183: fix tdm out data align issue (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: rt1011: add mutex protection to set_fmt/set_tdm_slot (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: es8316: fix inverted L/R of headphone mixer volume (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: es8316: fix headphone mixer volume table (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: Intel: Skylake: Release topology when we are done with it (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: Intel: Skylake: Remove memory available check (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: Intel: Skylake: Remove MCPS available check (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: Intel: Skylake: Remove static table index when parsing topology (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: Intel: Skylake: Print module type instead of id (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: Intel: NHLT: Fix debug print format (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: dapm: Expose snd_soc_dapm_new_control_unlocked properly (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: topology: fix memory leaks on sm, se and sbe (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: topology: Consolidate and fix asoc_tplg_dapm_widget_*_create flow (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: topology: Consolidate how dtexts and dvalues are freed (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: soc-topology: fix modern dai link style (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: soc-topology: use modern dai_link style (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: Intel: Skylake: Use correct function to access iomem space (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: SOF: imx8: Fix an is IS_ERR() vs NULL check (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: sun4i: Revert A83t description (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: SOF: imx8: Fix return value check in imx8_probe() (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: mediatek: mt8183: remove unused DAPM-related variables (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: sunxi: Revert initial A83t support (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: imx-audmix: register the card on a proper dev (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: SOF: imx8: Make some functions static (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: soc-core: rename soc_post_component_init() to soc_rtd_init() (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: soc-core: initialize list at one place (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: SOF: topology: fix get control data return type and arguments (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: soc-core: initialize component list (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: soc-topology: use for_each_component_dais() at remove_dai() (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: soc-core: soc_cleanup_card_resources() become void (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: soc-core: add NOTE to snd_soc_rtdcom_lookup() (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: soc-core: use device_register() (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: mediatek: mt8183: switch tdm pins gpio function when playback on or off (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: mediatek: mt2701: Fix -Wunused-const-variable warnings (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: wm8988: fix typo in wm8988_right_line_controls (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: SOF: imx: Add i.MX8 HW support (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: SOF: Add OF DSP device support (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: AMD: Fix Kconfig warning without GPIOLIB (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: sun4i-i2s: Add support for DSP formats (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: sun4i-i2s: Replace call to params_width by local variable (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: sun4i-i2s: Use the actual format width instead of an hardcoded one (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: sun4i-i2s: Use the physical / slot width for the clocks (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: sun4i-i2s: Add support for TDM slots (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: soc-core: remove unneeded dai_link check from snd_soc_remove_dai_link() (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: soc-core: merge snd_soc_initialize_card_lists() (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: fsl_sai: Add support for imx8qm (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: mchp-i2s-mcc: Fix simultaneous capture and playback in master mode (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: mchp-i2s-mcc: Wait for RX/TX RDY only if controller is running (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: mchp-i2s-mcc: Fix unprepare of GCLK (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: sun4i-i2s: Support more channels (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: sun4i-i2s: Pass the channels number as an argument (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: sun4i-i2s: Remove duplicated quirks structure (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: sun4i-i2s: Fix the LRCK period on A83t (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: sun4i-i2s: Fix MCLK Enable bit offset on A83t (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: sun4i-i2s: Fix WSS and SR fields for the A83t (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: sun4i-i2s: Fix the LRCK polarity (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: sun4i-i2s: Fix LRCK and BCLK polarity offsets on newer SoCs (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: sun4i-i2s: RX and TX counter registers are swapped (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: sun4i-i2s: Fix the MCLK and BCLK dividers on newer SoCs (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: sun4i-i2s: Use module clock as BCLK parent on newer SoCs (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: sun4i-i2s: Move the format configuration to a callback (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: sun4i-i2s: Move the channel configuration to a callback (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: sun4i-i2s: Rework MCLK divider calculation (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: sun4i-i2s: Replace call to params_channels by local variable (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: sun4i-i2s: Don't use the oversample to calculate BCLK (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: sun4i-i2s: Switch to devm for PCM register (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: sun4i-i2s: Register regmap and PCM before our component (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: wm8904: implement input mode select as a mux (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: wm8904: fix typo in DAPM kcontrol name (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: intel: cht_bsw_max98090_ti: Add all Chromebooks that need pmc_plt_clk_0 quirk (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: uniphier: Fix double reset assersion when transitioning to suspend state (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: SOF: topology: initial support for Intel ALH DAI type (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: SOF: topology: Add dummy support for i.MX8 DAIs (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: imx-audmux: Add driver suspend and resume to support MEGA Fast (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: Intel: common: add ACPI matching tables for EHL (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: Intel: common: add ACPI matching tables for Tiger Lake (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: Intel: boards: Add Cometlake machine driver support (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: core: Move pcm_mutex up to card level from snd_soc_pcm_runtime (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: 88pm860x: remove unused variables 'pcm_switch_controls' and 'aif1_mux' (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: cs42l56: remove unused variable 'adc_swap_enum' (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: es8328: remove unused variable 'pga_tlv' (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: tlv320aic31xx: remove unused variable 'cm_m_enum' (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: tlv320aic23: remove unused variable 'tlv320aic23_rec_src' (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: rt1011: remove unused variable 'dac_vol_tlv' and 'adc_vol_tlv' (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: max98371: remove unused variable 'max98371_noload_gain_tlv' (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: cs42l73: remove unused variables 'vsp_output_mux' and 'xsp_output_mux' (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: Intel: Skylake: Print constant literals from format specifier (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: mediatek: mt6358: add delay after dmic clock on (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: mediatek: mt8183-mt6358-ts3a227-max98357: remove unused variables (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: mediatek: mt8183-da7219-max98357: remove unused variable (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: mediatek: mt8183-da7219-max98357: use modern dai_link style (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: mt2701: remove unused variables (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: soc-core: Fix -Wunused-const-variable warning (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: wm8737: Fix copy-paste error in wm8737_snd_controls (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: cs4349: Use PM ops 'cs4349_runtime_pm' (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: es8328: Fix copy-paste error in es8328_right_line_controls (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: Intel: hsw: remove i386 build warning w/ size_t argument (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: ti: Fix typos in ti/Kconfig (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: rockchip: rockchip_max98090: Set period size to 240 (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: pcm3168a: Allow reconfiguration of tdm_slots and slot_width (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: pcm3168a: Retain the independence of DAC and ADC side of the codec (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: mediatek: mt8183-mt6358-ts3a227-max98357: use snd_soc_dai_link_component for aux_dev (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: mediatek: mt8183: make headset codec optional (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: mediatek: mt8183-mt6358-ts3a227-max98357: use modern dai_link style (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: max9850: remove unused variable 'max9850_reg' (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: max98926: remove two unused variables (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: soc-core: remove legacy style of aux_dev (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: ti: rx51: use snd_soc_dai_link_component for aux_dev (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: sunxi: sun4i-codec: use snd_soc_dai_link_component for aux_dev (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: samsung: tm2_wm5110: use snd_soc_dai_link_component for aux_dev (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: samsung: speyside: use snd_soc_dai_link_component for aux_dev (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: samsung: neo1973_wm8753: use snd_soc_dai_link_component for aux_dev (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: rockchip: rockchip_max98090: use snd_soc_dai_link_component for aux_dev (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: mediatek: mt8183-da7219-max98357: use snd_soc_dai_link_component for aux_dev (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: intel: cht_bsw_max98090_ti: use snd_soc_dai_link_component for aux_dev (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: simple-card: use snd_soc_dai_link_component for aux_dev (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: soc-core: support snd_soc_dai_link_component for aux_dev (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: hdac_hdmi: Offload dapm update at jack detection (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: SOF: Intel: byt: Refactor fw ready / mem windows creation (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: SOF: Intel: bdw: Use generic function for fw ready / mem windows creation (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: SOF: Remove call to snd_sof_dsp_mailbox_init (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: ml26124: remove unused variable 'ngth' (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: mt6351: remove unused variable 'mt_lineout_control' (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: intel: skl_hda_dsp_common: create HDMI jack kctl (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: tscs454: remove unused variable 'PLL_48K_RATE' (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: soc-core: fix module_put() warning in soc_cleanup_component (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: soc-core: dai_link check under soc_dpcm_debugfs_add() (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: soc-core: define soc_dpcm_debugfs_add() for non CONFIG_DEBUG_FS (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: soc-core: tidyup for card->deferred_resume_work (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: soc-core: remove unneeded list_empty() check for snd_soc_try_rebind_card() (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: soc-core: call snd_soc_dapm_debugfs_init() at soc_init_card_debugfs() (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: soc-core: tidyup for snd_soc_add_card_controls() (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: soc-core: tidyup for snd_soc_dapm_add_routes() (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: soc-core: tidyup for snd_soc_add_component_controls() (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: hdac_hda: fix page fault issue by removing race (Jaroslav Kysela) [1738610] - [sound] ALSA: hda: Direct MMIO accesses (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: fsl_sai: Add support for imx7ulp/imx8mq (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: fsl_sai: mark regmap as fast_io (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: Intel: Skylake: large_config_get overhaul (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: fsl_sai: Implement set_bclk_ratio (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: fsl_sai: Add support for SAI new version (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: fsl_sai: derive TX FIFO watermark from FIFO depth (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: fsl_sai: add of_match data (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: fsl_sai: Update Tx/Rx channel enable mask (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: fsl_sai: Add registers definition for multiple datalines (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: soc-core: tidyup for snd_soc_dapm_new_controls() (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: soc-core: reuse rtdcom at snd_soc_rtdcom_add() (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: soc-core: don't use for_each_card_links_safe() at snd_soc_find_dai_link() (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: soc-core: check return value of snd_soc_add_dai_link() (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: soc-core: add comment for for_each_xxx (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: soc-core: set component->debugfs_root NULL (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: rt1011: Add a flag for the R0 calibration test (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: rt1011: Add R0 temperature and TDM1 ADC2DAT Swap control (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: rsnd: don't call clk_get_rate() under atomic context (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: max98373: Remove executable bits (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: soc-component: add snd_soc_pcm_component_pcm_free() (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: soc-component: add snd_soc_pcm_component_pcm_new() (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: soc-component: add snd_soc_pcm_component_mmap() (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: soc-component: add snd_soc_pcm_component_page() (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: soc-component: add snd_soc_pcm_component_copy_user() (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: soc-component: add snd_soc_pcm_component_ioctrl() (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: soc-component: add snd_soc_pcm_component_pointer() (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: soc-component: move snd_soc_component_set_bias_level() (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: soc-component: move snd_soc_component_stream_event() (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: soc-component: move snd_soc_component_seq_notifier() (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: soc-component: add snd_soc_component_of_xlate_dai_name() (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: soc-component: add snd_soc_component_of_xlate_dai_id() (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: soc-component: add snd_soc_component_remove() (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: soc-component: add snd_soc_component_probe() (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: soc-component: add snd_soc_component_is_suspended() (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: soc-component: add snd_soc_component_resume() (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: soc-component: add snd_soc_component_suspend() (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: soc-component: add snd_soc_component_trigger() (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: soc-component: add snd_soc_component_hw_free() (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: soc-component: add snd_soc_component_hw_params() (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: soc-component: add snd_soc_component_prepare() (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: soc-component: add snd_soc_component_close() (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: soc-component: add snd_soc_component_open() (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: soc-component: add snd_soc_component_get/put() (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: add soc-component.c (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: soc-pcm: remove soc_fill_silence() (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: soc-pcm: remove soc_rtdcom_copy_kernel() (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: soc-pcm: remove soc_rtdcom_ack() (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: amd: acp3x: use dma address for acp3x dma driver (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: amd: acp3x: use dma_ops of parent device for acp3x dma driver (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: zx-tdm: remove redundant assignment to ts_width on error return path (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: Intel: SoC: skylake: no need to check return value of debugfs_create functions (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: codec2codec: fill some of the runtime stream parameters (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: codec2codec: remove ephemeral variables (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: create pcm for codec2codec links as well (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: Intel: Skylake: use common NHLT module (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: Intel: Skylake: Merge skl_sst and skl into skl_dev struct (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: Intel: Skylake: Limit large_config_get to single frame (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: Intel: Fix use of potentially uninitialized variable (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: Intel: Update request-reply IPC model (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: Intel: Common: Fix NULL dereference in tx_wait_done (Jaroslav Kysela) [1738610] - [sound] ALSA: treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 174 (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: Intel: Fix race condition in IPC rx list (Jaroslav Kysela) [1738610] - [sound] ALSA: treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 490 (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: Intel: Skylake: Read HIPCT extension before clearing DONE bit (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: Intel: Skylake: move NHLT header to common directory (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: meson: axg-tdm-formatter: use devm_platform_ioremap_resource() to simplify code (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: meson: g12a-tohdmitx: use devm_platform_ioremap_resource() to simplify code (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: au1x: psc-i2s: use devm_platform_ioremap_resource() to simplify code (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: psc-ac97: use devm_platform_ioremap_resource() to simplify code (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: uniphier: aio-dma: use devm_platform_ioremap_resource() to simplify code (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: uniphier: evea: use devm_platform_ioremap_resource() to simplify code (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: inno_rk3036: use devm_platform_ioremap_resource() to simplify code (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: jz4740: use devm_platform_ioremap_resource() to simplify code (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: mmp-sspa: use devm_platform_ioremap_resource() to simplify code (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: codecs: jz4725b: use devm_platform_ioremap_resource() to simplify code (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: codecs: msm8916-wcd: use devm_platform_ioremap_resource() to simplify code (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: stm32: sai: use devm_platform_ioremap_resource() to simplify code (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: sun8i-codec: use devm_platform_ioremap_resource() to simplify code (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: sunxi: sun50i-codec-analog: use devm_platform_ioremap_resource() to simplify code (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: sun8i-codec-analog: use devm_platform_ioremap_resource() to simplify code (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: xlnx: use devm_platform_ioremap_resource() to simplify code (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: cs4271: Fix a typo in the CS4171_NR_RATIOS (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: ti: Mark expected switch fall-throughs (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: xtfpga-i2s: use devm_platform_ioremap_resource() to simplify code (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: kirkwood-i2s: use devm_platform_ioremap_resource() to simplify code (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: spear: use devm_platform_ioremap_resource() to simplify code (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: mxs-saif: use devm_platform_ioremap_resource() to simplify code (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: sirf: use devm_platform_ioremap_resource() to simplify code (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: bcm2835-i2s: use devm_platform_ioremap_resource() to simplify code (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: fsl_audmix: use devm_platform_ioremap_resource() to simplify code (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: imx-audmux: use devm_platform_ioremap_resource() to simplify code (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: mt6797: use devm_platform_ioremap_resource() to simplify code (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: mt8173: use devm_platform_ioremap_resource() to simplify code (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: ep93xx-i2s: use devm_platform_ioremap_resource() to simplify code (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: rockchip: use devm_platform_ioremap_resource() to simplify code (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: tegra: use devm_platform_ioremap_resource() to simplify code (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: tegra20_das: use devm_platform_ioremap_resource() to simplify code (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: meson: g12a-tohdmitx: override codec2codec params (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: max98373: add 88200 and 96000 sampling rate support (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: sun4i-i2s: Incorrect SR and WSS computation (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: codec2codec: fix missing return of error return code (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: ti: davinci-mcasp: Support for correct symmetric sample bits (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: ti: davinci-mcasp: Correct slot_width posed constraint (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: rockchip: Fix mono capture (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: Intel: Fix some acpi vs apci typo in somme comments (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: ti: davinci-mcasp: Fix clk PDIR handling for i2s master mode (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: codec2codec: deal with params when necessary (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: codec2codec: name link using stream direction (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: codec2codec: run callbacks in order (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: codecs: Add uda1334 codec driver (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: rt1308: Add RT1308 amplifier driver (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: SOF: Makefile - fix the top-level kernel module names (add snd- prefix) (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: ti: davinci-mcasp: Improve serializer handling in multi AXR setups (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: ti: davinci-mcasp: Add support for RIGHT_J format (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: Intel: Skylake: Cleanup skl_module_cfg declaration (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: Intel: Skylake: Make MCPS and CPS params obsolete (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: Intel: Skylake: Combine snd_soc_skl_ipc and snd_soc_skl (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: Intel: Skylake: Reset pipeline before its deletion (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: Intel: Skylake: Strip T and L from TLV IPCs (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: Intel: Skylake: Properly cleanup on component removal (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: Intel: Skylake: Initialize lists before access so they are safe to use (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: Intel: Skylake: Add function to cleanup debugfs interface (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: Intel: Skylake: Use recommended SDxFMT programming sequence (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: Intel: Skylake: Switch to modern UUID API (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: Intel: skl-pcm: use modern dai_link style (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: wm8955: Fix a typo in 'wm8995_pll_factors()' function name (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: Fail card instantiation if DAI format setup fails (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: soc-dai: move snd_soc_dai_stream_valid() to soc-dai.c (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: soc-core: use existing snd_soc_dai_digital_mute() (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: soc-dai: add snd_soc_dai_compress_new() (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: soc-dai: add snd_soc_dai_remove() (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: soc-dai: add snd_soc_dai_probe() (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: soc-dai: add snd_soc_dai_resume() (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: soc-dai: add snd_soc_dai_suspend() (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: soc-dai: add snd_soc_dai_delay() (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: soc-dai: add snd_soc_dai_bespoke_trigger() (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: soc-dai: add snd_soc_dai_trigger() (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: soc-dai: add snd_soc_dai_prepare() (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: soc-dai: add snd_soc_dai_shutdown() (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: soc-dai: add snd_soc_dai_startup() (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: soc-dai: add snd_soc_dai_hw_free() (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: soc-dai: mv soc_dai_hw_params() to soc-dai (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: add soc-dai.c (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: core: Return -ENOTSUPP from set_channel_map() if no operation provided (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: soc-core: support dai_link with platforms_num != 1 (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: soc-core: defer card registration if codec component is missing (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: soc-core: don't use soc_find_component() at snd_soc_find_dai() (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: soc-core: use soc_find_component() at snd_soc_find_dai() (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: soc-core: soc_find_component() uses snd_soc_dai_link_component (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: soc-core: soc_find_component() uses snd_soc_is_matching_component() (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: soc-core: move soc_find_component() (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: soc-core: call snd_soc_unbind_card() under mutex_lock; (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: soc-core: allow no Platform on dai_link (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: soc-core: remove legacy style dai_link (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: soc.h: add sound dai_link connection macro (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: rsnd: Support hw_free() callback at DAI level (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: rt5665: Fix a typo in the name of a function (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: Remove dev_err() usage after platform_get_irq() (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: fsl_esai: recover the channel swap after xrun (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: fsl_esai: Wrap some operations to be functions (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: fsl_esai: Add pm runtime function (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: SOF: Intel: ssp: BCLK delay parameter (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: SOF: Add DMIC token for unmute gain ramp time (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: SOF: Intel: hda: fix stream id setting (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: SOF: Intel: hda: fix link DMA config (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: SOF: Intel: hda: reset link DMA state in prepare (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: SOF: Intel: hda: reserve host DMA channel for hostless streams (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: SOF: Intel: hda: assign link DMA channel at run-time (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: SOF: Intel: initial support for Elkhart Lake (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: SOF: Intel: initial support for Tiger Lake. (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: SOF: Intel: hda: Use generic function for fw ready / mem windows creation (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: SOF: Intel: hda: make sure DMA is start/stop by read the RUN bit (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: SOF: fix HDA direct MMIO access (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: SOF: Intel: hda: remove duplicated clear WAKESTS (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: SOF: Intel: hda: clear stream status and wakests properly (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: SOF: Intel: hda: add function for hda stop chip (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: SOF: Intel: hda: set position buffer in init chip (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: SOF: Intel: hda: correct ROM state mask (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: SOF: Introduce snd_sof_dsp_get_window_offset (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: SOF: Introduce snd_sof_dsp_get_mailbox_offset (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: SOF: add runtime idle callback (Jaroslav Kysela) [1738610] - [sound] ALSA: docs: timers: convert docs to ReST and rename to *.rst (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: SOF: Intel: hda: use SOF defined init chip in resume (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: SOF: Intel: hda: Enable jack detection (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: SOF: Intel: hda: reduce ifdef usage for hda (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: SOF: remove unused state variable in suspend function (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: SOF: Intel: implement runtime idle for CNL/APL (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: SOF: Intel: hda: use the defined stop chip in suspend (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: SOF: Intel: hda: use the SOF defined ppcap functions (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: SOF: Intel: hda: release link DMA for paused streams during suspend (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: SOF: loader: Don't ignore SRAM block types (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: SOF: loader: Use the BAR provided by FW (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: SOF: Introduce snd_sof_dsp_get_bar_index ops (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: SOF: core: increase default IPC timeouts (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: SOF: ipc: use timeout configured at probe (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: SOF: pcm: add ALH support (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: SOF: use common code to send PCM_FREE IPC (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: SOF: reset DMA state in prepare (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: SOF: Intel: hda: couple host and link DMA during FE hw_free (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: SOF: pci: mark last_busy value at runtime PM init (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: SOF: Intel: hda: fixup HDaudio topology name with DMIC number (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: SOF: Intel: Add missing include file hdac_hda.h (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: SOF: Intel: Initialize hdaudio bus properly (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: SOF: Intel: hda: fix MSI handling (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: SOF: Intel: hda: Initialize HDA controller after i915 init (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: SOF: Intel: hda: add a parameter to disable MSI (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: SOF: Intel: hda: remove duplicated include from hda.c (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: SOF: disallow building without CONFIG_PCI again (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: SOF: intel: extend IPC dump information (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: pcm3168a: Allow all channels in case of parallel DIN/DOUT setup (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: pcm3168a: Fix a typo in the name of a constant (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: pcm3168a: Add support for multi DIN/DOUT with TDM slots parameter (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: pcm3168a: Rename min_frame_size to slot_width (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: Intel: skl-hda-dsp-generic: add dmic dapm widget and route (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: Intel: skl-hda-dsp-generic: add dependency to dmic driver (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: Intel: boards: Match Product Family instead of product (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: dapm: Invalidate only paths reachable for a given stream (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: SOF: topology: use set_get_data in process load (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: fsl_esai: Add compatible string for imx6ull (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: rt5677: keep analog power register at SND_SOC_BIAS_OFF (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: rt5677: Remove magic number register writes (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: rt5677: Revert remove superfluous set (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: rt5677: remove superfluous set (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: rt5677: depop stereo dac (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: rt5677: handle concurrent interrupts (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: rt5677: clear interrupts by polarity flip (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: rt5677: move jack-detect init to i2c probe (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: rt5677: fall back to DT prop names on error (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: rt5677: Add component driver name (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: rt5677: use more of the volume range from DACs (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: remove w90x900/nuc900 platform drivers (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: nuc900: nuc900-audio: use modern dai_link style (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: Intel: sof-rt5682: add dmic dapm widget to support dmic PCM (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: soc-core: add for_each_xxx macro for aux_dev (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: meson: axg-card: use snd_soc_dai_link_component for aux_dev (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: meson: axg-card: remove useless check on codec (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: meson: axg-card: fix null pointer dereference in clean up (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: meson: axg-card: use modern dai_link style (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: Intel: sst: fix kmalloc call with wrong flags (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: core: Fix deadlock in snd_soc_instantiate_card() (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: Remove erroneous soc_cleanup_card_resources() call (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: soc-core: use snd_soc_dai_link_component for CPU (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: core: move DAI pre-links initiation to snd_soc_instantiate_card (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: rt1011: fix warning reported by kbuild test robot and minor issue (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: rt1011: Mark format integer literals as unsigned (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: core: Tell codec that jack is being removed (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: sun4i-i2s: Change SR and WSS computation (Jaroslav Kysela) [1738610] - [sound] ALSA: SoC: rt274: Fix internal jack assignment in set_jack callback (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: Intel: cht_bsw_rt5672: fix kernel oops with platform_name override (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: Intel: cht_bsw_nau8824: fix kernel oops with platform_name override (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: Intel: bytcht_es8316: fix kernel oops with platform_name override (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: Intel: cht_bsw_max98090: fix kernel oops with platform_name override (Jaroslav Kysela) [1738610] - [sound] ALSA: treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 441 (Jaroslav Kysela) [1738610] - [sound] ALSA: treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 422 (Jaroslav Kysela) [1738610] - [sound] ALSA: treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 395 (Jaroslav Kysela) [1738610] - [sound] ALSA: treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 340 (Jaroslav Kysela) [1738610] - [sound] ALSA: treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 288 (Jaroslav Kysela) [1738610] - [sound] ALSA: treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 284 (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: sun4i-i2s: Add offset to RX channel select (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: sun4i-i2s: Fix sun8i tx channel offset mask (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: max98090: remove 24-bit format support if RJ is 0 (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: da7219: Fix build error without CONFIG_I2C (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: SOF: Intel: hda: Fix COMPILE_TEST build error (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: pcm3168a: Implement set_tdm_slot callback (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: mediatek: Make some symbols static (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: cx2072x: remove set but not used variable 'is_right_j ' (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: rt1011: Add RT1011 amplifier driver (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: SOF: debug: add new debugfs entries for IPC flood test (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: SOF: ipc: Introduce SOF_IPC_GLB_TEST_MSG IPC command (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: SOF: uapi: mirror firmware changes (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: SOF: send time stamp to FW for alignment (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: SOF: bump to ABI 3.6 (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: SOF: soundwire: add initial soundwire support (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: SOF: topology: add support for mux/demux component (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: SOF: fix DSP oops definitions in FW ABI (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: SOF: Intel: ipc: don't check for HIPCCTL register value (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: SOF: Intel: hda-ipc: re-enable IPC IRQ at end of handler (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: SOF: Intel: hda-ipc: read all IPC registers first (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: SOF: Intel: cnl-ipc: re-enable IPC IRQ at end of handler (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: SOF: Intel: cnl-ipc: move code around for clarity (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: SOF: Intel: cnl-ipc: read all IPC registers first (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: SOF: Do not send cmd via SHIM register (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: SOF: add mode parameter for snd_sof_debugfs_buf_item (Jaroslav Kysela) [1738610] - [sound] ALSA: Revert "ASoC: core: use component driver name as component name" (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: stm32: sai: manage identification registers (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: SOF: ipc: replace fw ready bitfield with explicit bit ordering (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: Intel: Baytrail: add quirk for Aegex 10 (RU2) tablet (Jaroslav Kysela) [1738610] - [sound] ALSA: treewide: fix typos of SPDX-License-Identifier (Jaroslav Kysela) [1738610] - [sound] ALSA: treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 201 (Jaroslav Kysela) [1738610] - [sound] ALSA: treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 194 (Jaroslav Kysela) [1738610] - [sound] ALSA: treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 177 (Jaroslav Kysela) [1738610] - [sound] ALSA: treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 162 (Jaroslav Kysela) [1738610] - [sound] ALSA: treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 149 (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: SOF: Intel: hda: use the defined ppcap functions (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: SOF: add COMPILE_TEST for PCI options (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: Intel: boards: Add COMPILE_TEST for new machine drivers (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: Intel: boards: remove dependency on asm/platform_sst_audio.h (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoc: fix sound/soc/intel/skylake/slk-ssp-clk.c build error on IA64 (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: Intel: use common helpers to detect CPUs (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: rt5677: Add missing voice activation register definitions (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: core: use component driver name as component name (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: cs42xx8: Fix build error with CONFIG_GPIOLIB is not set (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: Intel: sof-rt5682: fix undefined references with Baytrail-only support (Jaroslav Kysela) [1738610] - [sound] ALSA: wcd9335: fix a incorrect use of kstrndup() (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: sun4i-codec: fix first delay on Speaker (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: sun4i-spdif: Add support for H6 SoC (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: sun4i-spdif: Add TX fifo bit flush quirks (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: sun4i-spdif: Move quirks to the top (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: cx2072x: fix spelling mistake "configued" -> "configured" (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: cx2072x: fix integer overflow on unsigned int multiply (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: SOF: force end-of-file for debugfs trace at suspend (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: SOF: trace: remove code duplication in sof_wait_trace_avail() (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: SOF: Use struct_size() in kmemdup() (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: max98357a: Show KConfig entry (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: SOF: topology: Use struct_size() helper (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: cx2072x: remove redundant assignment to pulse_len (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: SOF: Intel: hda: fix the hda init chip (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: SOF: ipc: fix a race, leading to IPC timeouts (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: SOF: control: correct the copy size for bytes kcontrol put (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: SOF: pcm: remove warning - initialize workqueue on open (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: SOF: pcm: clear hw_params_upon_resume flag correctly (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: SOF: core: fix error handling with the probe workqueue (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: SOF: core: remove snd_soc_unregister_component in case of error (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: SOF: core: remove DSP after unregistering machine driver (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: soc-core: fixup references at soc_cleanup_card_resources() (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: SOF: Force polling mode on CFL and CNL (Jaroslav Kysela) [1738610] - [sound] ALSA: treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 119 (Jaroslav Kysela) [1738610] - [sound] ALSA: treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 64 (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: core: lock client_mutex while removing link components (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: simple-card: Restore original configuration of DAI format (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: qdsp6: q6core: Use struct_size() in kmemdup() (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: Intel: Skylake: Use struct_size() helper (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: dapm: Use struct_size() in krealloc() (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: Intel: boards: remove unnecessary inclusion of skl.h (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: mediatek: mt8183: move card registration to the end of probe (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: mediatek: mt8183: remove unused DAPM pins (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: Mediatek: MT8183: enable dev runtime suspend and resume (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: Intel: Add machine driver for CX2072X on BYT/CHT platforms (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: Add support for Conexant CX2072X CODEC (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: fsl_asrc: Unify the supported input and output rate (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: soc-pcm: fixup try_module_get()/module_put() timing (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: Intel: sof-rt5682: add newline for clarity (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: Mediatek: MT8183: fix compile error (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: Mediatek: MT8183: fix compile error (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: Intel: sof-rt5682: fix AMP quirk support (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: Intel: sof-rt5682: fix for codec button mapping (Jaroslav Kysela) [1738610] - [sound] ALSA: treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 4 (Jaroslav Kysela) [1738610] - [sound] ALSA: treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 3 (Jaroslav Kysela) [1738610] - [sound] ALSA: treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 1 (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: simple-card: Fix configuration of DAI format (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: soc-core: WARN() is not related to component->driver->probe (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: rsnd: move pcm_new from snd_soc_component_driver to snd_soc_dai_driver (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: Intel: glk_rt5682_max98357a: Remap button control-function (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: Mediatek: MT8183: enable IIR filter (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: rename functions that pollute the simple_xxx namespace (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: Intel: soc-acpi: Fix machine selection order (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: rt5677-spi: Handle over reading when flipping bytes (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: soc-dpm: fixup DAI active unbalance (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: tlv320aic3x: Add support for high power analog output (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: cs42xx8: Add reset gpio handling (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: cs42xx8: Add regcache mask dirty (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: fsl_asrc: replace the process_option table with function (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: fsl_asrc: Fix the issue about unsupported rate (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: meson: add g12a tohdmitx control (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: meson: axg-card: add basic codec-to-codec link support (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: dapm: allow muxes to force a disconnect (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: meson: axg-card: set link name based on link node name (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: Mediatek: MT8183: set data align (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: Mediatek: add memory interface data align (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: ak4458: rstn_control - return a non-zero on error only (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: hdmi-codec: re-introduce mutex locking (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: soc-pcm: add soc_pcm_components_open() (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: soc-pcm: add missing cpu_dai->rate = 0 (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: soc-pcm: do cpu_dai related operation at same place (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: soc-core: use soc_find_component() at snd_soc_get_dai_id() (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: soc-core: add soc_component_to_node() (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: soc-core: tidyup soc_bind_dai_link() comment balance (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: soc-core: don't use codec_dais on soc_bind_dai_link() (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: soc-core: use i on snd_soc_resume() (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: max98357a: request GPIO when device get probed (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: SOF: Intel: ICL add Icelake chip info struct (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: SOF: Intel: ICL: add Icelake SSP count (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: SOF: pcm: remove runtime PM calls during pcm open/close (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: Intel: Skylake: Add Cometlake PCI IDs (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: SOF: Add Comet Lake PCI IDs (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: amd: Reporting accurate hw_ptr for acp3x dma (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: soc-pcm: BE dai needs prepare when pause release after resume (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: ak4458: add return value for ak4458_probe (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC : cs4265 : readable register too low (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: SOF: fix error in verbose ipc command parsing (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: SOF: fix race in FW boot timeout handling (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: SOF: nocodec: fix undefined reference (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: soc-acpi: fix implicit header use of module.h/export.h (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: fsl_sai: Move clock operation to PM runtime (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: stm32: i2s: manage identification registers (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: hdmi-codec: remove ops dependency on the dai id (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: hdmi-codec: remove reference to the dai drivers in the private data (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: hdmi-codec: remove reference to the current substream (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: hdmi-codec: remove function name debug traces (Jaroslav Kysela) [1738610] - [sound] ALSA: treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 282 (Jaroslav Kysela) [1738610] - [sound] ALSA: xen-front: fix unintention integer overflow on left shifts (Jaroslav Kysela) [1738610] - [sound] ALSA: hda/realtek - PCI quirk for Medion E4254 (Jaroslav Kysela) [1738610] - [sound] ALSA: hda - Apply AMD controller workaround for Raven platform (Jaroslav Kysela) [1738610] - [sound] ALSA: hda/realtek - Fix alienware headset mic (Jaroslav Kysela) [1738610] - [sound] ALSA: Add Acer Aspire Ethos 8951G model quirk (Jaroslav Kysela) [1738610] - [sound] ALSA: hda/hdmi: remove redundant assignment to variable pcm_idx (Jaroslav Kysela) [1738610] - [sound] ALSA: hda/realtek - Fix the problem of two front mics on a ThinkCentre (Jaroslav Kysela) [1738610] - [sound] ALSA: hda/realtek - Enable internal speaker & headset mic of ASUS UX431FL (Jaroslav Kysela) [1738610] - [sound] ALSA: hda/realtek - Add quirk for HP Pavilion 15 (Jaroslav Kysela) [1738610] - [sound] ALSA: hda/realtek - Fix overridden device-specific initialization (Jaroslav Kysela) [1738610] - [sound] ALSA: hda - Fix potential endless loop at applying quirks (Jaroslav Kysela) [1738610] - [sound] ALSA: hda - Allow runtime PM for controller if component notifier is used (Jaroslav Kysela) [1738610] - [sound] ALSA: hda/realtek - Blacklist PC beep for Lenovo ThinkCentre M73/93 (Jaroslav Kysela) [1738610] - [sound] ALSA: hda/realtek - Check beep whitelist before assigning in all codecs (Jaroslav Kysela) [1738610] - [sound] ALSA: hda/ca0132 - Add new SBZ quirk (Jaroslav Kysela) [1738610] - [sound] ALSA: hda - Fixes inverted Conexant GPIO mic mute led (Jaroslav Kysela) [1738610] - [sound] ALSA: hda - Define a fallback_pin_fixup_tbl for alc269 family (Jaroslav Kysela) [1738610] - [sound] ALSA: hda - Expand pin_match function to match upcoming new tbls (Jaroslav Kysela) [1738610] - [sound] ALSA: hda - Drop unsol event handler for Intel HDMI codecs (Jaroslav Kysela) [1738610] - [sound] ALSA: hda - Add a generic reboot_notify (Jaroslav Kysela) [1738610] - [sound] ALSA: hda - Let all conexant codec enter D3 when rebooting (Jaroslav Kysela) [1738610] - [sound] ALSA: hda/sigmatel - remove unused variable 'stac9200_core_init' (Jaroslav Kysela) [1738610] - [sound] ALSA: hda/realtek - Add quirk for HP Envy x360 (Jaroslav Kysela) [1738610] - [sound] ALSA: hda: Set fifo_size for both playback and capture streams (Jaroslav Kysela) [1738610] - [sound] ALSA: hda - Fix a memory leak bug (Jaroslav Kysela) [1738610] - [sound] ALSA: hda - Add a quirk model for fixing Huawei Matebook X right speaker (Jaroslav Kysela) [1738610] - [sound] ALSA: hda/realtek - Add model description for Chrome headset button quirk (Jaroslav Kysela) [1738610] - [sound] ALSA: hda/realtek - Fix a typo in model documentation (Jaroslav Kysela) [1738610] - [sound] ALSA: hda - Inform too slow responses (Jaroslav Kysela) [1738610] - [sound] ALSA: hda - Apply workaround for another AMD chip 1022:1487 (Jaroslav Kysela) [1738610] - [sound] ALSA: hda: Remove page allocation redirection (Jaroslav Kysela) [1738610] - [sound] ALSA: hda - Workaround for crackled sound on AMD controller (1022:1457) (Jaroslav Kysela) [1738610] - [sound] ALSA: hda - Don't override global PCM hw info flag (Jaroslav Kysela) [1738610] - [sound] ALSA: hda: Add support of Zhaoxin controller (Jaroslav Kysela) [1738610] - [sound] ALSA: hda/intel: stop probe if DMICS are detected on Skylake+ platforms (Jaroslav Kysela) [1738610] - [sound] ALSA: hda - Show the fatal CORB/RIRB error more clearly (Jaroslav Kysela) [1738610] - [sound] ALSA: hda - Add a conexant codec entry to let mute led work (Jaroslav Kysela) [1738610] - [sound] ALSA: hda - Fix intermittent CORB/RIRB stall on Intel chips (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: SOF: Intel: hda: Make hdac_device device-managed (Jaroslav Kysela) [1738610] - [sound] ALSA: hda: Flush interrupts on disabling (Jaroslav Kysela) [1738610] - [sound] ALSA: hda/hdmi - Allow audio component for AMD/ATI and Nvidia HDMI (Jaroslav Kysela) [1738610] - [sound] ALSA: hda/hdmi - Don't report spurious jack state changes (Jaroslav Kysela) [1738610] - [sound] ALSA: hda - Optimize resume for codecs without jack detection (Jaroslav Kysela) [1738610] - [sound] ALSA: hda - Don't resume forcibly i915 HDMI/DP codec (Jaroslav Kysela) [1738610] - [sound] ALSA: hda/hdmi - Fix i915 reverse port/pin mapping (Jaroslav Kysela) [1738610] - [sound] ALSA: hda/hdmi - Remove duplicated define (Jaroslav Kysela) [1738610] - [sound] ALSA: hda/realtek: apply ALC891 headset fixup to one Dell machine (Jaroslav Kysela) [1738610] - [sound] ALSA: hda/realtek - Fixed Headphone Mic can't record on Dell platform (Jaroslav Kysela) [1738610] - [sound] ALSA: hda: Simplify snd_hdac_refresh_widgets() (Jaroslav Kysela) [1738610] - [sound] ALSA: hda: Fix widget_mutex incomplete protection (Jaroslav Kysela) [1738610] - [sound] ALSA: hda/ca0132 - remove redundant assignment to variable 'changed' (Jaroslav Kysela) [1738610] - [sound] ALSA: hda/realtek - Change front mic location for Lenovo M710q (Jaroslav Kysela) [1738610] - [sound] ALSA: hda/realtek: Add quirks for several Clevo notebook barebones (Jaroslav Kysela) [1738610] - [sound] ALSA: Revert "ALSA: hda/realtek - Improve the headset mic for Acer Aspire laptops" (Jaroslav Kysela) [1738610] - [sound] ALSA: hda: Add Elkhart Lake PCI ID (Jaroslav Kysela) [1738610] - [sound] ALSA: hda: fix a mask for unsolicited event tags (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: hda: fix unbalanced codec dev refcount for HDA_DEV_ASOC (Jaroslav Kysela) [1738610] - [sound] ALSA: hda/ca0132: Use struct_size() (Jaroslav Kysela) [1738610] - [sound] ALSA: hda: Use struct_size() (Jaroslav Kysela) [1738610] - [sound] ALSA: hda/realtek - Update headset mode for ALC256 (Jaroslav Kysela) [1738610] - [sound] ALSA: hda: move polling_mode flag to struct hdac_bus (Jaroslav Kysela) [1738610] - [sound] ALSA: hda: assign polling_mode after azx_bus_init (Jaroslav Kysela) [1738610] - [sound] ALSA: hda/realtek - Improve the headset mic for Acer Aspire laptops (Jaroslav Kysela) [1738610] - [sound] ALSA: hda - Force polling mode on CNL for fixing codec communication (Jaroslav Kysela) [1738610] - [sound] ALSA: hda/realtek - Enable micmute LED for Huawei laptops (Jaroslav Kysela) [1738610] - [sound] ALSA: hda/realtek - Set default power save node to 0 (Jaroslav Kysela) [1738610] - [sound] ALSA: hda/realtek - Check headset type by unplug and resume (Jaroslav Kysela) [1738610] - [sound] ALSA: hdac: Fix codec name after machine driver is unloaded and reloaded (Jaroslav Kysela) [1738610] - [sound] ALSA: hdac: fix memory release for SST and SOF drivers (Jaroslav Kysela) [1738610] - [sound] ALSA: treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 371 (Jaroslav Kysela) [1738610] - [sound] ALSA: treewide: Add SPDX license identifier for missed files (Jaroslav Kysela) [1738610] - [sound] ALSA: treewide: Add SPDX license identifier for more missed files (Jaroslav Kysela) [1738610] - [sound] ALSA: treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 130 (Jaroslav Kysela) [1738610] - [sound] ALSA: treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 336 (Jaroslav Kysela) [1738610] - [sound] ALSA: treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 157 (Jaroslav Kysela) [1738610] - [sound] ALSA: treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 13 (Jaroslav Kysela) [1738610] - [sound] ALSA: treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 285 (Jaroslav Kysela) [1738610] - [sound] ALSA: treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 295 (Jaroslav Kysela) [1738610] - [sound] ALSA: treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 273 (Jaroslav Kysela) [1738610] - [sound] ALSA: dice: fix wrong packet parameter for Alesis iO26 (Jaroslav Kysela) [1738610] - [sound] ALSA: firewire-tascam: check intermediate state of clock status and retry (Jaroslav Kysela) [1738610] - [sound] ALSA: firewire-tascam: handle error code when getting current source of clock (Jaroslav Kysela) [1738610] - [sound] ALSA: firewire-lib: remove WARN_ON() at destruction of AMDTP domain (Jaroslav Kysela) [1738610] - [sound] ALSA: firewire-tascam: add note for FE-8 (Jaroslav Kysela) [1738610] - [sound] ALSA: firewire-motu: add support for MOTU 4pre (Jaroslav Kysela) [1738610] - [sound] ALSA: firewire-lib: fix isoc cycle count to which rx packet is scheduled (Jaroslav Kysela) [1738610] - [sound] ALSA: dice: fix error path for initialization of stream structures (Jaroslav Kysela) [1738610] - [sound] ALSA: oxfw: fix to handle correct stream for PCM playback (Jaroslav Kysela) [1738610] - [sound] ALSA: oxfw: fix NULL pointer dereference to unused stream structure (Jaroslav Kysela) [1738610] - [sound] ALSA: firewire: fix a memory leak bug (Jaroslav Kysela) [1738610] - [sound] ALSA: firewire-lib: localize kernel APIs to start/stop each AMDTP stream (Jaroslav Kysela) [1738610] - [sound] ALSA: fireface: support AMDTP domain (Jaroslav Kysela) [1738610] - [sound] ALSA: firewire-motu: support AMDTP domain (Jaroslav Kysela) [1738610] - [sound] ALSA: firewire-tascam: support AMDTP domain (Jaroslav Kysela) [1738610] - [sound] ALSA: firewire-digi00x: support AMDTP domain (Jaroslav Kysela) [1738610] - [sound] ALSA: dice: support AMDTP domain (Jaroslav Kysela) [1738610] - [sound] ALSA: oxfw: support AMDTP domain (Jaroslav Kysela) [1738610] - [sound] ALSA: fireworks: support AMDTP domain (Jaroslav Kysela) [1738610] - [sound] ALSA: bebob: support AMDTP domain (Jaroslav Kysela) [1738610] - [sound] ALSA: fireface: code refactoring for initialization/destruction of AMDTP stream (Jaroslav Kysela) [1738610] - [sound] ALSA: firewire-motu: code refactoring for initialization/destruction of AMDTP stream (Jaroslav Kysela) [1738610] - [sound] ALSA: firewire-tascam: code refactoring for initialization/destruction of AMDTP stream (Jaroslav Kysela) [1738610] - [sound] ALSA: firewire-digi00x: code refactoring for initialization/destruction of AMDTP stream (Jaroslav Kysela) [1738610] - [sound] ALSA: fireworks: code refactoring for bus reset handler (Jaroslav Kysela) [1738610] - [sound] ALSA: fireworks: code refactoring for initialization/destruction of AMDTP streams (Jaroslav Kysela) [1738610] - [sound] ALSA: firewire-lib: add a kernel API to start AMDTP streams in AMDTP domain (Jaroslav Kysela) [1738610] - [sound] ALSA: firewire-lib: add a kernel API to add AMDTP stream into AMDTP domain (Jaroslav Kysela) [1738610] - [sound] ALSA: firewire-lib: add a kernel API to stop a couple of AMDTP streams in AMDTP domain (Jaroslav Kysela) [1738610] - [sound] ALSA: firewire-lib: add AMDTP domain structure to handle several isoc contexts (Jaroslav Kysela) [1738610] - [sound] ALSA: firewire-motu: more code refactoring for MOTU data block processing layer (Jaroslav Kysela) [1738610] - [sound] ALSA: firewire-lib: process payload of isoc context according to packet descriptors (Jaroslav Kysela) [1738610] - [sound] ALSA: fireface: code refactoring for FF data block processing layer (Jaroslav Kysela) [1738610] - [sound] ALSA: firewire-motu: code refactoring for MOTU data block processing layer (Jaroslav Kysela) [1738610] - [sound] ALSA: firewire-tascam: code refactoring for TASCAM data block processing layer (Jaroslav Kysela) [1738610] - [sound] ALSA: firewire-digi00x: code refactoring for DOT data block processing layer (Jaroslav Kysela) [1738610] - [sound] ALSA: firewire-lib: code refactoring for AM824 data block processing layer (Jaroslav Kysela) [1738610] - [sound] ALSA: firewire-lib: pass packet descriptor to data block processing layer (Jaroslav Kysela) [1738610] - [sound] ALSA: firewire-lib: code refactoring to process context payloads (Jaroslav Kysela) [1738610] - [sound] ALSA: firewire-lib: code refactoring to process PCM substream (Jaroslav Kysela) [1738610] - [sound] ALSA: firewire-lib: use packet descriptor for IR context (Jaroslav Kysela) [1738610] - [sound] ALSA: firewire-lib: use packet descriptor for IT context (Jaroslav Kysela) [1738610] - [sound] ALSA: firewire-lib: add list of packet descriptor (Jaroslav Kysela) [1738610] - [sound] ALSA: firewire-lib: pass no syt information to data block processing layer (Jaroslav Kysela) [1738610] - [sound] ALSA: firewire-lib: add syt_override member for some protocols (Jaroslav Kysela) [1738610] - [sound] ALSA: firewire-lib: operate data block counter in top level of processing for IR context (Jaroslav Kysela) [1738610] - [sound] ALSA: firewire-lib: operate data block counter in top level of processing for IT context (Jaroslav Kysela) [1738610] - [sound] ALSA: firewire-lib: pass data block counter to data block processing layer (Jaroslav Kysela) [1738610] - [sound] ALSA: firewire-lib: pass data block count as an argument to tracepoints event (Jaroslav Kysela) [1738610] - [sound] ALSA: firewire-lib: obsolete ctx_data.tx.first_dbc with CIP_UNALIGHED_DBC flag (Jaroslav Kysela) [1738610] - [sound] ALSA: firewire-lib: code refactoring for local variables (Jaroslav Kysela) [1738610] - [sound] ALSA: firewire-lib: code refactoring for post operation to data block counter (Jaroslav Kysela) [1738610] - [sound] ALSA: firewire-lib: code refactoring for error path of parser for CIP header (Jaroslav Kysela) [1738610] - [sound] ALSA: firewire-lib: fix different data block counter between probed event and transferred isochronous packet (Jaroslav Kysela) [1738610] - [sound] ALSA: firewire-lib: fix initial value of data block count for IR context without CIP_DBC_IS_END_EVENT (Jaroslav Kysela) [1738610] - [sound] ALSA: firewire-lib/fireface: fix initial value of data block counter for IR context with CIP_NO_HEADER (Jaroslav Kysela) [1738610] - [sound] ALSA: firewire-lib: fix invalid length of rx packet payload for tracepoint events (Jaroslav Kysela) [1738610] - [sound] ALSA: firewire-motu: fix wrong reference count for stream functionality at error path of rawmidi interface (Jaroslav Kysela) [1738610] - [sound] ALSA: firewire-digi00x: fix wrong reference count for stream functionality at error path of rawmidi interface (Jaroslav Kysela) [1738610] - [sound] ALSA: dice: fix wrong reference count for stream functionality at error path of rawmidi interface (Jaroslav Kysela) [1738610] - [sound] ALSA: oxfw: fix wrong reference count for stream functionality at error path of rawmidi interface (Jaroslav Kysela) [1738610] - [sound] ALSA: fireworks: fix wrong reference count for stream functionality at error path of rawmidi interface (Jaroslav Kysela) [1738610] - [sound] ALSA: bebob: fix wrong reference count for stream functionality at error path of rawmidi interface (Jaroslav Kysela) [1738610] - [sound] ALSA: firewire-lib/fireworks: fix miss detection of received MIDI messages (Jaroslav Kysela) [1738610] - [sound] ALSA: firewire-lib: fix to process MIDI conformant data channel for AM824 format (Jaroslav Kysela) [1738610] - [sound] ALSA: firewire-lib: cache next data_block_counter after probing tracepoints event for IR context (Jaroslav Kysela) [1738610] - [sound] ALSA: firewire-motu: unify common tracepoints for both direction (Jaroslav Kysela) [1738610] - [sound] ALSA: Revert "ALSA: firewire-lib: fix inverted node IDs for amdtp_packet events" (Jaroslav Kysela) [1738610] - [sound] ALSA: oxfw: ensure to release isochronous resources in pcm.hw_params callback (Jaroslav Kysela) [1738610] - [sound] ALSA: fireworks: ensure to release isochronous resources in pcm.hw_params callback (Jaroslav Kysela) [1738610] - [sound] ALSA: bebob: ensure to release isochronous resources in pcm.hw_params callback (Jaroslav Kysela) [1738610] - [sound] ALSA: dice: unify stop and release method for duplex streams (Jaroslav Kysela) [1738610] - [sound] ALSA: firewire-digi00x: unify stop and release method for duplex streams (Jaroslav Kysela) [1738610] - [sound] ALSA: firewire-motu: unify stop and release method for duplex streams (Jaroslav Kysela) [1738610] - [sound] ALSA: fireface: unify stop and release method for duplex streams (Jaroslav Kysela) [1738610] - [sound] ALSA: firewire-tascam: unify stop and release method for duplex streams (Jaroslav Kysela) [1738610] - [sound] ALSA: firewire-motu: code refactoring for pcm.hw_params/hw_free callbacks (Jaroslav Kysela) [1738610] - [sound] ALSA: firewire-motu: update isochronous resources when starting packet streaming after bus-reset (Jaroslav Kysela) [1738610] - [sound] ALSA: firewire-motu: reserve/release isochronous resources in pcm.hw_params/hw_free callbacks (Jaroslav Kysela) [1738610] - [sound] ALSA: firewire-motu: code refactoring to finish streaming session (Jaroslav Kysela) [1738610] - [sound] ALSA: firewire-motu: minor code refactoring to stop isochronous context (Jaroslav Kysela) [1738610] - [sound] ALSA: firewire-motu: rename helper functions to begin/finish streaming session (Jaroslav Kysela) [1738610] - [sound] ALSA: firewire-motu: code refactoring for condition to stop streaming (Jaroslav Kysela) [1738610] - [sound] ALSA: firewire-motu: add helper function to keep isochronous resources (Jaroslav Kysela) [1738610] - [sound] ALSA: firewire-motu: unify midi callback function (Jaroslav Kysela) [1738610] - [sound] ALSA: firewire-motu: unify the count of subscriber for packet streaming (Jaroslav Kysela) [1738610] - [sound] ALSA: firewire-lib: split allocation of isochronous resources from establishment of connection (Jaroslav Kysela) [1738610] - [sound] ALSA: fireworks: change the range of critical section for stream data in PCM.hw_free callback (Jaroslav Kysela) [1738610] - [sound] ALSA: bebob: code refactoring for error path to start duplex stream (Jaroslav Kysela) [1738610] - [sound] ALSA: bebob: change the range of critical section for stream data in PCM.hw_free callback (Jaroslav Kysela) [1738610] - [sound] ALSA: bebob: code refactoring for callback function to rawmidi interface (Jaroslav Kysela) [1738610] - [sound] ALSA: bebob: code rafactoring for callback functions to PCM interface (Jaroslav Kysela) [1738610] - [sound] ALSA: dice: fix compiler warning due to returning uninitialized value (Jaroslav Kysela) [1738610] - [sound] ALSA: oxfw: configure stream parameter in pcm.hw_params callback (Jaroslav Kysela) [1738610] - [sound] ALSA: oxfw: configure packet format in pcm.hw_params callback (Jaroslav Kysela) [1738610] - [sound] ALSA: oxfw: unify substreams counter (Jaroslav Kysela) [1738610] - [sound] ALSA: oxfw: rename helper functions for duplex streams (Jaroslav Kysela) [1738610] - [sound] ALSA: oxfw: expand stop procedure for packet streaming (Jaroslav Kysela) [1738610] - [sound] ALSA: oxfw: break packet streaming at bus-reset handler (Jaroslav Kysela) [1738610] - [sound] ALSA: oxfw: start duplex streams if supported (Jaroslav Kysela) [1738610] - [sound] ALSA: oxfw: set packet parameter according to current configuration (Jaroslav Kysela) [1738610] - [sound] ALSA: oxfw: code refactoring for stop condition of packet streaming (Jaroslav Kysela) [1738610] - [sound] ALSA: fireworks: don't set XRUN in stop streaming (Jaroslav Kysela) [1738610] - [sound] ALSA: fireworks: configure stream parameters in pcm.hw_params callback (Jaroslav Kysela) [1738610] - [sound] ALSA: fireworks: configure sampling transfer frequency in pcm.hw_params callback (Jaroslav Kysela) [1738610] - [sound] ALSA: fireworks: code refactoring for pcm.hw_params/hw_free (Jaroslav Kysela) [1738610] - [sound] ALSA: fireworks: code refactoring for rawmidi.open/close (Jaroslav Kysela) [1738610] - [sound] ALSA: fireworks: unify substream counter (Jaroslav Kysela) [1738610] - [sound] ALSA: bebob: code refactoring to initialize/destroy stream data (Jaroslav Kysela) [1738610] - [sound] ALSA: bebob: obsolete useless member of private structure (Jaroslav Kysela) [1738610] - [sound] ALSA: bebob: don't set XRUN in stop streaming (Jaroslav Kysela) [1738610] - [sound] ALSA: bebob: configure sampling transfer frequency in pcm.hw_params callback (Jaroslav Kysela) [1738610] - [sound] ALSA: dice: code refactoring for pcm.hw_params/hw_free callbacks (Jaroslav Kysela) [1738610] - [sound] ALSA: dice: update isochronous resources when starting packet streaming after bus-reset (Jaroslav Kysela) [1738610] - [sound] ALSA: dice: reserve/release isochronous resources in pcm.hw_params/hw_free callbacks (Jaroslav Kysela) [1738610] - [sound] ALSA: dice: code refactoring to keep isochronous resources (Jaroslav Kysela) [1738610] - [sound] ALSA: dice: code refactoring to stop packet streaming (Jaroslav Kysela) [1738610] - [sound] ALSA: firewire-digi00x: code refactoring for pcm.hw_params/hw_free callbacks (Jaroslav Kysela) [1738610] - [sound] ALSA: firewire-digi00x: update isochronous resources when starting packet streaming after bus-reset (Jaroslav Kysela) [1738610] - [sound] ALSA: firewire-digi00x: reserve/release isochronous resources in pcm.hw_params/hw_free callbacks (Jaroslav Kysela) [1738610] - [sound] ALSA: firewire-digi00x: code refactoring to keep isochronous resources (Jaroslav Kysela) [1738610] - [sound] ALSA: firewire-digi00x: simplify error path to begin streaming session (Jaroslav Kysela) [1738610] - [sound] ALSA: firewire-digi00x: code refactoring to finish streaming session (Jaroslav Kysela) [1738610] - [sound] ALSA: firewire-digi00x: refactoring to move timing of registration for isochronous channel (Jaroslav Kysela) [1738610] - [sound] ALSA: oxfw: allow PCM capture for Stanton SCS.1m (Jaroslav Kysela) [1738610] - [sound] ALSA: fireface: code refactoring for pcm.hw_params/hw_free callbacks (Jaroslav Kysela) [1738610] - [sound] ALSA: fireface: minor code refactoring to finish streaming session (Jaroslav Kysela) [1738610] - [sound] ALSA: fireface: update isochronous resources when starting packet streaming after bus-reset (Jaroslav Kysela) [1738610] - [sound] ALSA: fireface: reserve/release isochronous resources in pcm.hw_params/hw_free callbacks (Jaroslav Kysela) [1738610] - [sound] ALSA: fireface: support allocate_resources operation in latter protocol (Jaroslav Kysela) [1738610] - [sound] ALSA: fireface: support allocate_resources operation in ff400 protocol (Jaroslav Kysela) [1738610] - [sound] ALSA: fireface: support allocate_resources operation in ff800 protocol (Jaroslav Kysela) [1738610] - [sound] ALSA: fireface: add protocol-specific operation to allocate isochronous resources (Jaroslav Kysela) [1738610] - [sound] ALSA: firewire-tascam: code refactoring for pcm.hw_params/hw_free callbacks (Jaroslav Kysela) [1738610] - [sound] ALSA: firewire-tascam: minor code refactoring to finish streaming session (Jaroslav Kysela) [1738610] - [sound] ALSA: firewire-tascam: update isochronous resources when starting packet streaming after bus reset (Jaroslav Kysela) [1738610] - [sound] ALSA: firewire-tascam: reserve/release isochronous resources in pcm.hw_params/hw_free callbacks (Jaroslav Kysela) [1738610] - [sound] ALSA: firewire-tascam: code refactoring for release of isochronous resources (Jaroslav Kysela) [1738610] - [sound] ALSA: firewire-tascam: code refactoring for reservation of isochronous resources (Jaroslav Kysela) [1738610] - [sound] ALSA: firewire-tascam: code refactoring for registration of isochronous channels (Jaroslav Kysela) [1738610] - [sound] ALSA: firewire-motu: fix destruction of data for isochronous resources (Jaroslav Kysela) [1738610] - [sound] ALSA: fireface: Use ULL suffixes for 64-bit constants (Jaroslav Kysela) [1738610] - [sound] ALSA: firewire-lib: refactoring to obsolete IR packet handler (Jaroslav Kysela) [1738610] - [sound] ALSA: firewire-lib: refactoring to obsolete IT packet handler (Jaroslav Kysela) [1738610] - [sound] ALSA: firewire-lib: fix inverted node IDs for amdtp_packet events (Jaroslav Kysela) [1738610] - [sound] ALSA: firewire-lib: fix data block counter for incoming packet without CIP header (Jaroslav Kysela) [1738610] - [sound] ALSA: firewire-lib: use 8 byte packet header for IT context to separate CIP header from CIP payload (Jaroslav Kysela) [1738610] - [sound] ALSA: firewire-lib: code refactoring to queueing packets (Jaroslav Kysela) [1738610] - [sound] ALSA: firewire-lib: unify packet handler for IT context (Jaroslav Kysela) [1738610] - [sound] ALSA: firewire-lib: split helper function to generate CIP header (Jaroslav Kysela) [1738610] - [sound] ALSA: firewire-lib: unify packet handler for IR context (Jaroslav Kysela) [1738610] - [sound] ALSA: firewire-lib: use 16 bytes IR context header to separate CIP header (Jaroslav Kysela) [1738610] - [sound] ALSA: firewire-lib: split helper function to check incoming CIP header (Jaroslav Kysela) [1738610] - [sound] ALSA: firewire-lib: compute pointer to payload buffer in context handler (Jaroslav Kysela) [1738610] - [sound] ALSA: firewire-lib: calculate the length of packet payload in packet handler (Jaroslav Kysela) [1738610] - [sound] ALSA: firewire-lib: use clear name for variable of CIP header (Jaroslav Kysela) [1738610] - [sound] ALSA: firewire-lib: use IT context header to compute cycle count for scheduling packet (Jaroslav Kysela) [1738610] - [sound] ALSA: firewire-lib: obsolete macro for header of IT context (Jaroslav Kysela) [1738610] - [sound] ALSA: firewire-lib: add helper function to cancel context inner callback handler (Jaroslav Kysela) [1738610] - [sound] ALSA: firewire-lib: use union for directional parameters (Jaroslav Kysela) [1738610] - [sound] ALSA: firewire-lib: unify tracing events to 'amdtp_packet' event (Jaroslav Kysela) [1738610] - [sound] ALSA: firewire-lib: use dynamic array for CIP header of tracing events (Jaroslav Kysela) [1738610] - [sound] ALSA: firewire-lib: use the same unit for payload argument in tracing events (Jaroslav Kysela) [1738610] - [sound] ALSA: firewire-lib: add data_blocks/data_block_counter parameter to in_packet/out_packet tracing events (Jaroslav Kysela) [1738610] - [sound] ALSA: firewire-lib: use the same type of argument for CIP header for tracing event (Jaroslav Kysela) [1738610] - [sound] ALSA: dice: add stream format parameters for PreSonus FireStudio (Jaroslav Kysela) [1738610] - [sound] ALSA: treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 61 (Jaroslav Kysela) [1738610] - [sound] ALSA: treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 102 (Jaroslav Kysela) [1738610] - [sound] ALSA: aoa: onyx: always initialize register read value (Jaroslav Kysela) [1738610] - [sound] ALSA: treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 250 (Jaroslav Kysela) [1738610] - [sound] ALSA: ac97: Fix double free of ac97_codec_device (Jaroslav Kysela) [1738610] - [sound] ALSA: treewide: Add SPDX license identifier - Makefile/Kconfig (Jaroslav Kysela) [1738610] - [sound] ALSA: pcm: add support for 352.8KHz and 384KHz sample rate (Jaroslav Kysela) [1738610] - [sound] ALSA: seq: Fix potential concurrent access to the deleted pool (Jaroslav Kysela) [1738610] - [sound] ALSA: pcm: fix lost wakeup event scenarios in snd_pcm_drain (Jaroslav Kysela) [1738610] - [sound] ALSA: compress: Be more restrictive about when a drain is allowed (Jaroslav Kysela) [1738610] - [sound] ALSA: compress: Don't allow paritial drain operations on capture streams (Jaroslav Kysela) [1738610] - [sound] ALSA: compress: Prevent bypasses of set_params (Jaroslav Kysela) [1738610] - [sound] ALSA: compress: Fix regression on compressed capture streams (Jaroslav Kysela) [1738610] - [sound] ALSA: pcm: Fix refcount_inc() on zero usage (Jaroslav Kysela) [1738610] - [sound] ALSA: seq: Break too long mutex context in the write loop (Jaroslav Kysela) [1738610] - [sound] ALSA: seq: fix incorrect order of dest_client/dest_ports arguments (Jaroslav Kysela) [1738610] - [sound] ALSA: treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 (Jaroslav Kysela) [1738610] - [sound] ALSA: treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 372 (Jaroslav Kysela) [1738610] - [sound] ALSA: treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 345 (Jaroslav Kysela) [1738610] - [sound] ALSA: control: Use struct_size() (Jaroslav Kysela) [1738610] - [sound] ALSA: treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 167 (Jaroslav Kysela) [1738610] - [sound] ALSA: treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 156 (Jaroslav Kysela) [1738610] - [sound] ALSA: treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 152 (Jaroslav Kysela) [1738610] - [sound] ALSA: treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 151 (Jaroslav Kysela) [1738610] - [sound] ALSA: pcm: oss: Use struct_size() helper (Jaroslav Kysela) [1738610]- [tools] selftests/powerpc: Retry on host facility unavailable (Desnes Augusto Nunes do Rosario) [1739770] - [tools] selftests/powerpc: Do not fail with reschedule (Desnes Augusto Nunes do Rosario) [1739770] - [tools] libperf: Warn when exceeding MAX_NR_CPUS in cpumap (Frank Ramsay) [1753332] - [tools] perf header: Replace MAX_NR_CPUS with cpu__max_cpu() (Frank Ramsay) [1753332] - [tools] perf machine: Replace MAX_NR_CPUS with perf_env::nr_cpus_online (Frank Ramsay) [1753332] - [tools] perf session: Replace MAX_NR_CPUS with perf_env::nr_cpus_online (Frank Ramsay) [1753332] - [tools] perf stat: Replace MAX_NR_CPUS with cpu__max_cpu() (Frank Ramsay) [1753332] - [tools] perf svghelper: Replace MAX_NR_CPUS with perf_env::nr_cpus_online (Frank Ramsay) [1753332] - [tools] perf timechart: Refactor svg_build_topology_map() (Frank Ramsay) [1753332] - [tools] perf tools: Increase MAX_NR_CPUS and MAX_CACHES (Frank Ramsay) [1753332] - [crypto] crypto: chelsio - count incomplete block in IV (Jonathan Toppins) [1725813] - [crypto] crypto: chelsio - Fix softlockup with heavy I/O (Jonathan Toppins) [1725813] - [crypto] crypto: chelsio - Fix NULL pointer dereference (Jonathan Toppins) [1725813] - [nvme] nvme-pci: Allow PCI bus-level PM to be used if ASPM is disabled (Gopal Tiwari) [1718463 1711181 1724950 1725066] - [pci] PCI/ASPM: Add pcie_aspm_enabled() (Gopal Tiwari) [1718463 1711181 1724950 1725066] - [nvme] nvme-pci: Fix async probe remove race (Gopal Tiwari) [1718463 1711181 1724950 1725066] - [nvme] nvme: fix controller removal race with scan work (Gopal Tiwari) [1718463 1711181 1724950 1725066] - [nvme] nvme-rdma: fix possible use-after-free in connect error flow (Gopal Tiwari) [1718463 1711181 1724950 1725066] - [nvme] nvme: fix a possible deadlock when passthru commands sent to a multipath device (Gopal Tiwari) [1718463 1711181 1724950 1725066] - [nvme] nvme-core: Fix extra device_put() call on error path (Gopal Tiwari) [1718463 1711181 1724950 1725066] - [nvme] nvmet-file: fix nvmet_file_flush() always returning an error (Gopal Tiwari) [1718463 1711181 1724950 1725066] - [nvme] nvmet-loop: Flush nvme_delete_wq when removing the port (Gopal Tiwari) [1718463 1711181 1724950 1725066] - [nvme] nvmet: Fix use-after-free bug when a port is removed (Gopal Tiwari) [1718463 1711181 1724950 1725066] - [nvme] nvme-multipath: revalidate nvme_ns_head gendisk in nvme_validate_ns (Gopal Tiwari) [1718463 1711181 1724950 1725066] - [nvme] Revert "nvme-pci: don't create a read hctx mapping without read queues" (Gopal Tiwari) [1718463 1711181 1724950 1725066] - [nvme] nvme: fix multipath crash when ANA is deactivated (Gopal Tiwari) [1718463 1711181 1724950 1725066] - [nvme] nvme: fix memory leak caused by incorrect subsystem free (Gopal Tiwari) [1718463 1711181 1724950 1725066] - [nvme] nvme: ignore subnqn for ADATA SX6000LNP (Gopal Tiwari) [1718463 1711181 1724950 1725066] - [nvme] nvme: fix NULL deref for fabrics options (Gopal Tiwari) [1718463 1711181 1724950 1725066] - [nvme] nvme: fix regression upon hot device removal and insertion (Gopal Tiwari) [1718463 1711181 1724950 1725066] - [nvme] nvme-fc: fix module unloads while lports still pending (Gopal Tiwari) [1718463 1711181 1724950 1725066] - [nvme] nvme-tcp: set the STABLE_WRITES flag when data digests are enabled (Gopal Tiwari) [1718463 1711181 1724950 1725066] - [nvme] nvmet: print a hint while rejecting NSID 0 or 0xffffffff (Gopal Tiwari) [1718463 1711181 1724950 1725066] - [nvme] nvme-tcp: don't use sendpage for SLAB pages (Gopal Tiwari) [1718463 1711181 1724950 1725066] - [nvme] nvme-multipath: do not select namespaces which are about to be removed (Gopal Tiwari) [1718463 1711181 1724950 1725066] - [nvme] nvme-multipath: also check for a disabled path if there is a single sibling (Gopal Tiwari) [1718463 1711181 1724950 1725066] - [nvme] nvme-multipath: factor out a nvme_path_is_disabled helper (Gopal Tiwari) [1718463 1711181 1724950 1725066] - [nvme] nvmet: export I/O characteristics attributes in Identify (Gopal Tiwari) [1718463 1711181 1724950 1725066] - [nvme] nvme: set physical block size and optimal I/O size (Gopal Tiwari) [1718463 1711181 1724950 1725066] - [nvme] nvme-trace: add delete completion and submission queue to admin cmds tracer (Gopal Tiwari) [1718463 1711181 1724950 1725066] - [nvme] nvme-trace: fix spelling mistake "spcecific" -> "specific" (Gopal Tiwari) [1718463 1711181 1724950 1725066] - [nvme] nvme-pci: check for NULL return from pci_alloc_p2pmem() (Gopal Tiwari) [1718463 1711181 1724950 1725066] - [nvme] nvme-pci: limit max_hw_sectors based on the DMA max mapping size (Gopal Tiwari) [1718463 1711181 1724950 1725066] - [nvme] nvme-pci: don't fall back to a 32-bit DMA mask (Gopal Tiwari) [1718463 1711181 1724950 1725066] - [nvme] nvme-pci: don't create a read hctx mapping without read queues (Gopal Tiwari) [1718463 1711181 1724950 1725066] - [nvme] nvme-pci: make nvme_dev_pm_ops static (Gopal Tiwari) [1718463 1711181 1724950 1725066] - [nvme] nvme-fcloop: resolve warnings on RCU usage and sleep warnings (Gopal Tiwari) [1718463 1711181 1724950 1725066] - [nvme] nvme-fcloop: fix inconsistent lock state warnings (Gopal Tiwari) [1718463 1711181 1724950 1725066] - [pci] PCI: PM: Skip devices in D0 for (Gopal Tiwari) [1718463 1711181 1724950 1725066] - [pci] PCI: PM: Avoid possible suspend-to-idle issue (Gopal Tiwari) [1718463 1711181 1724950 1725066] - [nvme] nvme: add I/O characteristics fields (Gopal Tiwari) [1718463 1711181 1724950 1725066] - [nvme] nvme: enable to inject errors into admin commands (Gopal Tiwari) [1718463 1711181 1724950 1725066] - [nvme] nvme: prepare for fault injection into admin commands (Gopal Tiwari) [1718463 1711181 1724950 1725066] - [nvme] nvmet: introduce target-side trace (Gopal Tiwari) [1718463 1711181 1724950 1725066] - [nvme] nvme-trace: print result and status in hex format (Gopal Tiwari) [1718463 1711181 1724950 1725066] - [nvme] nvme-trace: support for fabrics commands in host-side (Gopal Tiwari) [1718463 1711181 1724950 1725066] - [nvme] nvme-trace: move opcode symbol print to nvme.h (Gopal Tiwari) [1718463 1711181 1724950 1725066] - [nvme] nvme-trace: do not export nvme_trace_disk_name (Gopal Tiwari) [1718463 1711181 1724950 1725066] - [nvme] nvme-pci: properly report state change failure in nvme_reset_work (Gopal Tiwari) [1718463 1711181 1724950 1725066] - [nvme] nvme-pci: clean up nvme_remove_dead_ctrl a bit (Gopal Tiwari) [1718463 1711181 1724950 1725066] - [nvme] nvme-pci: set the errno on ctrl state change error (Gopal Tiwari) [1718463 1711181 1724950 1725066] - [nvme] nvme-pci: adjust irq max_vector using num_possible_cpus() (Gopal Tiwari) [1718463 1711181 1724950 1725066] - [nvme] nvme-pci: use host managed power state for suspend (Gopal Tiwari) [1718463 1711181 1724950 1725066] - [nvme] nvme-pci: remove unnecessary zero for static var (Gopal Tiwari) [1718463 1711181 1724950 1725066] - [nvme] nvme: introduce nvme_is_fabrics to check fabrics cmd (Gopal Tiwari) [1718463 1711181 1724950 1725066] - [nvme] nvme-fc: add message when creating new association (Gopal Tiwari) [1718463 1711181 1724950 1725066] - [nvme] nvme-pci: remove queue_count_ops for write_queues and poll_queues (Gopal Tiwari) [1718463 1711181 1724950 1725066] - [nvme] nvme: fix possible io failures when removing multipathed ns (Gopal Tiwari) [1718463 1711181 1724950 1725066] - [nvme] nvme: export get and set features (Gopal Tiwari) [1718463 1711181 1724950 1725066] - [nvme] nvmet: add transport discovery change op (Gopal Tiwari) [1718463 1711181 1724950 1725066] - [nvme] nvme-fcloop: add support for nvmet discovery_event op (Gopal Tiwari) [1718463 1711181 1724950 1725066] - [block] block: remove blk_init_request_from_bio (Gopal Tiwari) [1718463 1711181 1724950 1725066] - [block] block: initialize the write priority (Gopal Tiwari) [1718463 1711181 1724950 1725066] - [nvme] nvme: Fix u32 overflow in the number of namespace list calculation (Gopal Tiwari) [1718463 1711181 1724950 1725066] - [nvme] nvmet-fc: add transport discovery change event callback support (Gopal Tiwari) [1718463 1711181 1724950 1725066] - [nvme] nvme-pci: don't limit DMA segement size (Gopal Tiwari) [1718463 1711181 1724950 1725066] - [nvme] nvmet: fix data_len to 0 for bdev-backed write_zeroes (Gopal Tiwari) [1718463 1711181 1724950 1725066] - [nvme] nvme-tcp: fix queue mapping when queue count is limited (Gopal Tiwari) [1718463 1711181 1724950 1725066] - [nvme] nvme-pci: use blk-mq mapping for unmanaged irqs (Gopal Tiwari) [1718463 1711181 1724950 1725066] - [nvme] nvme: copy MTFA field from identify controller (Gopal Tiwari) [1718463 1711181 1724950 1725066] - [nvme] nvme: release namespace SRCU protection before performing controller ioctls (Gopal Tiwari) [1718463 1711181 1724950 1725066] - [nvme] nvme: merge nvme_ns_ioctl into nvme_ioctl (Gopal Tiwari) [1718463 1711181 1724950 1725066] - [nvme] nvme: remove the ifdef around nvme_nvm_ioctl (Gopal Tiwari) [1718463 1711181 1724950 1725066] - [nvme] nvme: fix srcu locking on error return in nvme_get_ns_from_disk (Gopal Tiwari) [1718463 1711181 1724950 1725066] - [nvme] nvme: Fix known effects (Gopal Tiwari) [1718463 1711181 1724950 1725066] - [nvme] nvme-pci: Sync queues on reset (Gopal Tiwari) [1718463 1711181 1724950 1725066] - [nvme] nvme-pci: Unblock reset_work on IO failure (Gopal Tiwari) [1718463 1711181 1724950 1725066] - [nvme] nvme-pci: Don't disable on timeout in reset state (Gopal Tiwari) [1718463 1711181 1724950 1725066] - [nvme] nvme-pci: Fix controller freeze wait disabling (Gopal Tiwari) [1718463 1711181 1724950 1725066] - [nvme] nvme: validate cntlid during controller initialisation (Gopal Tiwari) [1718463 1711181 1724950 1725066] - [nvme] nvme: change locking for the per-subsystem controller list (Gopal Tiwari) [1718463 1711181 1724950 1725066] - [nvme] nvme: trace all async notice events (Gopal Tiwari) [1718463 1711181 1724950 1725066] - [nvme] nvme-fabrics: remove unused argument (Gopal Tiwari) [1718463 1711181 1724950 1725066] - [nvme] nvme-pci: add known admin effects to augument admin effects log page (Gopal Tiwari) [1718463 1711181 1724950 1725066] - [nvme] nvme-pci: init shadow doorbell after each reset (Gopal Tiwari) [1718463 1711181 1724950 1725066] - [nvme] nvme-pci: mark expected switch fall-through (Gopal Tiwari) [1718463 1711181 1724950 1725066] - [nvme] nvme: mark nvme_core_init and nvme_core_exit static (Gopal Tiwari) [1718463 1711181 1724950 1725066] - [nvme] nvmet: protect discovery change log event list iteration (Gopal Tiwari) [1718463 1711181 1724950 1725066] - [nvme] nvme: move command size checks to the core (Gopal Tiwari) [1718463 1711181 1724950 1725066] - [nvme] nvme-pci: check more command sizes (Gopal Tiwari) [1718463 1711181 1724950 1725066] - [nvme] nvme-fabrics: check more command sizes (Gopal Tiwari) [1718463 1711181 1724950 1725066] - [nvme] nvme-pci: remove an unneeded variable initialization (Gopal Tiwari) [1718463 1711181 1724950 1725066] - [nvme] nvme-pci: unquiesce admin queue on shutdown (Gopal Tiwari) [1718463 1711181 1724950 1725066] - [nvme] nvme-pci: shutdown on timeout during deletion (Gopal Tiwari) [1718463 1711181 1724950 1725066] - [nvme] nvme: set 0 capacity if namespace block size exceeds PAGE_SIZE (Gopal Tiwari) [1718463 1711181 1724950 1725066] - [nvme] nvme-rdma: fix a NULL deref when an admin connect times out (Gopal Tiwari) [1718463 1711181 1724950 1725066] - [nvme] nvmet-file: clamp-down file namespace lba_shift (Gopal Tiwari) [1718463 1711181 1724950 1725066] - [nvme] nvmet: include (Gopal Tiwari) [1718463 1711181 1724950 1725066] - [nvme] nvmet: rename nvme_completion instances from rsp to cqe (Gopal Tiwari) [1718463 1711181 1724950 1725066] - [nvme] nvmet-rdma: remove p2p_client initialization from fast-path (Gopal Tiwari) [1718463 1711181 1724950 1725066] - [nvme] nvmet: return a specified error it subsys_alloc fails (Gopal Tiwari) [1718463 1711181 1724950 1725066] - [nvme] nvmet: fix discover log page when offsets are used (Gopal Tiwari) [1718463 1711181 1724950 1725066] - [nvme] nvmet: never fail double namespace enablement (Gopal Tiwari) [1718463 1711181 1724950 1725066] - [nvme] nvme: log the error status on Identify Namespace failure (Gopal Tiwari) [1718463 1711181 1724950 1725066] - [nvme] nvme-pci: tidy up nvme_map_data (Gopal Tiwari) [1718463 1711181 1724950 1725066] - [nvme] nvmet: add safety check for subsystem lock during nvmet_ns_changed (Gopal Tiwari) [1718463 1711181 1724950 1725066] - [nvme] nvme-pci: only call nvme_unmap_data for requests transferring data (Gopal Tiwari) [1718463 1711181 1724950 1725066] - [nvme] nvme-pci: remove q_dmadev from nvme_queue (Gopal Tiwari) [1718463 1711181 1724950 1725066] - [nvme] nvme-pci: merge nvme_free_iod into nvme_unmap_data (Gopal Tiwari) [1718463 1711181 1724950 1725066] - [nvme] nvme-pci: move the call to nvme_cleanup_cmd out of nvme_unmap_data (Gopal Tiwari) [1718463 1711181 1724950 1725066] - [nvme] nvme-pci: remove nvme_init_iod (Gopal Tiwari) [1718463 1711181 1724950 1725066] - [nvme] nvme-pci: use a flag for polled queues (Gopal Tiwari) [1718463 1711181 1724950 1725066] - [block] block: add a rq_integrity_vec helper (Gopal Tiwari) [1718463 1711181 1724950 1725066] - [block] block: add dma_map_bvec helper (Gopal Tiwari) [1718463 1711181 1724950 1725066] - [block] block: add a rq_dma_dir helper (Gopal Tiwari) [1718463 1711181 1724950 1725066] - [nvme] nvmet-fc: use zero-sized array and struct_size() in kzalloc() (Gopal Tiwari) [1718463 1711181 1724950 1725066] - [nvme] nvme-pci: remove unused nvme_iod member (Gopal Tiwari) [1718463 1711181 1724950 1725066] - [nvme] nvmet: avoid double errno conversions (Gopal Tiwari) [1718463 1711181 1724950 1725066] - [nvme] nvme: avoid double dereference to convert le to cpu (Gopal Tiwari) [1718463 1711181 1724950 1725066] - [nvme] nvmet: fix error flow during ns enable (Gopal Tiwari) [1718463 1711181 1724950 1725066] - [nvme] nvme: add proper write zeroes setup for the multipath device (Gopal Tiwari) [1718463 1711181 1724950 1725066] - [nvme] nvme: disable Write Zeroes for qemu controllers (Gopal Tiwari) [1718463 1711181 1724950 1725066] - [nvme] nvmet-fc: bring Disconnect into compliance with FC-NVME spec (Gopal Tiwari) [1718463 1711181 1724950 1725066] - [nvme] nvme: add proper discard setup for the multipath device (Gopal Tiwari) [1718463 1711181 1724950 1725066] - [nvme] nvme: remove nvme_ns_config_oncs (Gopal Tiwari) [1718463 1711181 1724950 1725066] - [nvme] nvmet-fc: fix issues with targetport assoc_list list walking (Gopal Tiwari) [1718463 1711181 1724950 1725066] - [nvme] nvme: add get-feature to admin cmds tracer (Gopal Tiwari) [1718463 1711181 1724950 1725066] - [nvme] nvme-loop: init nvmet_ctrl fatal_err_work when allocate (Gopal Tiwari) [1718463 1711181 1724950 1725066] - [nvme] nvme: put ns_head ref if namespace fails allocation (Gopal Tiwari) [1718463 1711181 1724950 1725066] - [nvme] nvme-trace: fix cdw10 buffer overrun (Gopal Tiwari) [1718463 1711181 1724950 1725066] - [nvme] nvme: don't warn on block content change effects (Gopal Tiwari) [1718463 1711181 1724950 1725066] - [nvme] nvme: update comment to make the code easier to read (Gopal Tiwari) [1718463 1711181 1724950 1725066] - [nvme] nvme-pci: convert to SPDX identifiers (Gopal Tiwari) [1718463 1711181 1724950 1725066] - [nvme] nvme-lightnvm: convert to SPDX identifiers (Gopal Tiwari) [1718463 1711181 1724950 1725066] - [nvme] nvme: return error from (Gopal Tiwari) [1718463 1711181 1724950 1725066] - [nvme] nvme: avoid that deleting a controller triggers a circular locking complaint (Gopal Tiwari) [1718463 1711181 1724950 1725066] - [nvme] nvme: introduce a helper function for controller deletion (Gopal Tiwari) [1718463 1711181 1724950 1725066] - [nvme] nvme: unexport nvme_delete_ctrl_sync() (Gopal Tiwari) [1718463 1711181 1724950 1725066] - [nvme] nvme-pci: check kstrtoint() return value in queue_count_set() (Gopal Tiwari) [1718463 1711181 1724950 1725066] - [nvme] nvmet: fix indentation (Gopal Tiwari) [1718463 1711181 1724950 1725066] - [lightnvm] lightnvm: simplify geometry (Gopal Tiwari) [1718463 1711181 1724950 1725066] - [powerpc] powerpc/tm: Fix FP/VMX unavailable exceptions inside a transaction (Gustavo Duarte) [1750653] - [powerpc] powerpc/tm: Fix restoring FP/VMX facility incorrectly on interrupts (Gustavo Duarte) [1750653] - [block] block: split .sysfs_lock into two locks (Ming Lei) [1697383] - [block] block: add helper for checking if queue is registered (Ming Lei) [1697383] - [block] blk-mq: don't hold q->sysfs_lock in blk_mq_map_swqueue (Ming Lei) [1697383] - [block] block: don't hold q->sysfs_lock in elevator_init_mq (Ming Lei) [1697383] - [block] block: Remove blk_mq_register_dev() (Ming Lei) [1697383] - [x86] KVM: X86: Fix fpu state crash in kvm guest (Prarit Bhargava) [1737070] - [x86] x86/fpu: Don't use current->mm to check for a kthread (Prarit Bhargava) [1737070] - [x86] x86/fpu: Update kernel's FPU state before using for the fsave header (Prarit Bhargava) [1737070] - [x86] x86/fpu: Use fault_in_pages_writeable() for pre-faulting (Prarit Bhargava) [1737070] - [mm] mm/gup: continue VM_FAULT_RETRY processing even for pre-faults (Prarit Bhargava) [1737070] - [x86] x86/fpu: Fault-in user stack if copy_fpstate_to_sigframe() fails (Prarit Bhargava) [1737070] - [x86] x86/pkeys: Add PKRU value to init_fpstate (Prarit Bhargava) [1737070] - [x86] x86/fpu: Restore regs in copy_fpstate_to_sigframe() in order to use the fastpath (Prarit Bhargava) [1737070] - [x86] x86/fpu: Add a fastpath to copy_fpstate_to_sigframe() (Prarit Bhargava) [1737070] - [x86] x86/fpu: Add a fastpath to __fpu__restore_sig() (Prarit Bhargava) [1737070] - [x86] x86/fpu: Defer FPU state load until return to userspace (Prarit Bhargava) [1737070] - [x86] x86/fpu: Merge the two code paths in __fpu__restore_sig() (Prarit Bhargava) [1737070] - [x86] x86/fpu: Restore from kernel memory on the 64-bit path too (Prarit Bhargava) [1737070] - [x86] x86/fpu: Inline copy_user_to_fpregs_zeroing() (Prarit Bhargava) [1737070] - [x86] x86/fpu: Update xstate's PKRU value on write_pkru() (Prarit Bhargava) [1737070] - [x86] x86/fpu: Prepare copy_fpstate_to_sigframe() for TIF_NEED_FPU_LOAD (Prarit Bhargava) [1737070] - [x86] x86/fpu: Always store the registers in copy_fpstate_to_sigframe() (Prarit Bhargava) [1737070] - [x86] x86/entry: Add TIF_NEED_FPU_LOAD (Prarit Bhargava) [1737070] - [x86] x86/fpu: Eager switch PKRU state (Prarit Bhargava) [1737070] - [x86] x86/pkeys: Don't check if PKRU is zero before writing it (Prarit Bhargava) [1737070] - [x86] x86/fpu: Only write PKRU if it is different from current (Prarit Bhargava) [1737070] - [x86] x86/pkeys: Provide *pkru() helpers (Prarit Bhargava) [1737070] - [x86] x86/fpu: Use a feature number instead of mask in two more helpers (Prarit Bhargava) [1737070] - [x86] x86/fpu: Make __raw_xsave_addr() use a feature number instead of mask (Prarit Bhargava) [1737070] - [x86] x86/fpu: Add an __fpregs_load_activate() internal helper (Prarit Bhargava) [1737070] - [x86] x86/fpu: Remove user_fpu_begin() (Prarit Bhargava) [1737070] - [x86] x86/fpu: Remove fpu->initialized (Prarit Bhargava) [1737070] - [x86] x86/fpu: Don't save fxregs for ia32 frames in copy_fpstate_to_sigframe() (Prarit Bhargava) [1737070] - [x86] x86/fpu: Remove fpu->initialized usage in copy_fpstate_to_sigframe() (Prarit Bhargava) [1737070] - [x86] x86/fpu: Always init the state in fpu__clear() (Prarit Bhargava) [1737070] - [x86] x86/fpu: Remove preempt_disable() in fpu__clear() (Prarit Bhargava) [1737070] - [x86] x86/fpu: Remove fpu__restore() (Prarit Bhargava) [1737070] - [x86] x86/fpu: Remove fpu->initialized usage in __fpu__restore_sig() (Prarit Bhargava) [1737070] - [x86] x86/entry: Remove unneeded need_resched() loop (Prarit Bhargava) [1737070] - [x86] x86/uaccess: Introduce user_access_{save, restore}() (Prarit Bhargava) [1737070] - [x86] x86/fpu: Fix i486 + no387 boot crash by only saving FPU registers on context switch if there is an FPU (Prarit Bhargava) [1737070] - [x86] x86/fpu: Remove second definition of fpu in __fpu__restore_sig() (Prarit Bhargava) [1737070] - [net] udp: correct reuseport selection with connected sockets (Paolo Abeni) [1665807] - [net] udp6: add missing rehash callback to udplite (Paolo Abeni) [1665807] - [net] udp: add missing rehash callback to udplite (Paolo Abeni) [1665807] - [net] udp6: prefer listeners bound to an address (Paolo Abeni) [1665807] - [net] udp: prefer listeners bound to an address (Paolo Abeni) [1665807] - [net] sched: fix race between deactivation and dequeue for NOLOCK qdisc (Davide Caratti) [1744397] - [net] check extack._msg before print (Ivan Vecera) [1751279] - [net] report invalid mtu value via netlink extack (Ivan Vecera) [1751279] - [net] report min and max mtu network device settings (Ivan Vecera) [1751279] - [net] failover: change mtu has RTNL (Ivan Vecera) [1751279] - [net] neigh: fix multiple neigh timer scheduling (Lorenzo Bianconi) [1730632] - [net] virtchnl: fix 'Unknown bps' in dmesg for 2.5Gb/5Gb speeds (Ivan Vecera) [1748437] - [net] Add a define for LLDP ethertype (Ivan Vecera) [1748428] - [net] devlink: Add support for direct reporter health state update (Petr Oros) [1746363] - [netdrv] Add IANA_VXLAN_UDP_PORT definition to vxlan header file (Ivan Vecera) [1731347] - [netdrv] Move the definition of the default Geneve udp port to public header file (Ivan Vecera) [1731347] - [net] openvswitch: Add a new action check_pkt_len (Numan Siddique) [1700733]- [pci] PCI: Add pci_dev_id() helper (Myron Stowe) [1735874] - [netdrv] ibmvnic: Warn unknown speed message only when carrier is present (Steve Best) [1749873] - [netdrv] net/ibmvnic: Fix missing { in __ibmvnic_reset (Steve Best) [1749873] - [netdrv] net/ibmvnic: free reset work of removed device from queue (Steve Best) [1749873] - [netdrv] ibmvnic: Do not process reset during or after device removal (Steve Best) [1749873] - [cpufreq] cpufreq: intel_pstate: Show different max frequency with turbo 3 and HWP (Alexander Beregalov) [1752053] - [char] hpet: Fix missing '=' character in the __setup() code of hpet_mmap_enable (Prarit Bhargava) [1660796] - [hwtracing] intel_th: pci: Add support for another Lewisburg PCH (Jiri Olsa) [1714486] - [x86] x86/entry/32: Fix ENDPROC of common_spurious (Prarit Bhargava) [1730447] - [x86] x86/irq: Seperate unused system vectors from spurious entry again (Prarit Bhargava) [1730447] - [vfio] vfio/type1: Handle different mdev isolation type (Tarun Gupta) [1498341] - [vfio] vfio/type1: Add domain at(de)taching group helpers (Tarun Gupta) [1498341] - [vfio] vfio/mdev: Add iommu related member in mdev_device (Tarun Gupta) [1498341] - [documentation] ipmb: place it at driver-api and convert to ReST (Tony Camuso) [1752071] - [char] ipmi_si_intf: Fix race in timer shutdown handling (Tony Camuso) [1752071] - [char] ipmi_ssif: avoid registering duplicate ssif interface (Tony Camuso) [1752071] - [char] ipmi: Free receive messages when in an oops (Tony Camuso) [1752071] - [char] ipmi_si: Only schedule continuously in the thread in maintenance mode (Tony Camuso) [1752071] - [char] ipmi_si: Remove ipmi_ from the device attr names (Tony Camuso) [1752071] - [char] ipmi_si: Convert device attr permissions to octal (Tony Camuso) [1752071] - [char] ipmi_si: Rework some include files (Tony Camuso) [1752071] - [char] ipmi_si: Convert timespec64 to timespec (Tony Camuso) [1752071] - [char] Fix uninitialized variable in ipmb_dev_int.c (Tony Camuso) [1752071] - [char] fix platform_no_drv_owner.cocci warnings (Tony Camuso) [1752071] - [char] ipmi: ipmb: don't allocate i2c_client on stack (Tony Camuso) [1752071] - [char] ipmi: ipmb: Fix build error while CONFIG_I2C is set to m (Tony Camuso) [1752071] - [char] Add support for IPMB driver (Tony Camuso) [1752071] - [char] drivers: ipmi: Drop device reference (Tony Camuso) [1752071] - [char] ipmi_ssif: fix unexpected driver unregister warning (Tony Camuso) [1752071] - [char] Add SPDX license identifier - Makefile/Kconfig (Tony Camuso) [1752071] - [char] ipmi_si: use bool type for initialized variable (Tony Camuso) [1752071] - [char] ipmi_si: fix unexpected driver unregister warning (Tony Camuso) [1752071] - [char] ipmi: Remove warning if no slave address is present (Tony Camuso) [1752071] - [char] ipmi:ssif: Only unregister the platform driver if it was registered (Tony Camuso) [1752071] - [char] ipmi: Add the i2c-addr property for SSIF interfaces (Tony Camuso) [1752071] - [char] ipmi: avoid atomic_inc in exit function (Tony Camuso) [1752071] - [char] ipmi: Remove file from ipmi_file_private (Tony Camuso) [1752071] - [char] ipmi_si: remove an unused variable in try_smi_init() (Tony Camuso) [1752071] - [char] ipmi: Make ipmi_interfaces_srcu variable static (Tony Camuso) [1752071] - [char] ipmi: Change to ktime_get_ts64() (Tony Camuso) [1752071] - [char] ipmi: Free the address list on module cleanup (Tony Camuso) [1752071] - [edac] EDAC, skx, i10nm: Fix source ID register offset (Aristeu Rozanski) [1485543 1482412] - [edac] EDAC, i10nm: Check ECC enabling status per channel (Aristeu Rozanski) [1485543 1482412] - [edac] EDAC, i10nm: Add Intel additional Ice-Lake support (Aristeu Rozanski) [1485543 1482412] - [x86] x86/CPU: Add more Icelake model numbers (Aristeu Rozanski) [1485543 1482412] - [edac] EDAC, skx, i10nm: Make skx_common.c a pure library (Aristeu Rozanski) [1485543 1482412] - [edac] EDAC, skx_common: Add code to recognise new compound error code (Aristeu Rozanski) [1485543 1482412] - [edac] EDAC, i10nm: Fix randconfig builds (Aristeu Rozanski) [1485543 1482412] - [edac] EDAC, i10nm: Add a driver for Intel 10nm server processors (Aristeu Rozanski) [1485543 1482412] - [edac] EDAC, skx_edac: Delete duplicated code (Aristeu Rozanski) [1485543 1482412] - [edac] EDAC, skx_common: Separate common code out from skx_edac (Aristeu Rozanski) [1485543 1482412] - [edac] EDAC, skx: Let EDAC core show the decoded result for debugfs (Aristeu Rozanski) [1485543 1482412] - [edac] EDAC, skx: Move debugfs node under EDAC's hierarchy (Aristeu Rozanski) [1485543 1482412] - [edac] EDAC, skx: Prepend hex formatting with '0x' (Aristeu Rozanski) [1485543 1482412] - [edac] EDAC, skx: Fix function calling order in skx_exit() (Aristeu Rozanski) [1485543 1482412] - [edac] EDAC, skx_edac: Fix logical channel intermediate decoding (Aristeu Rozanski) [1485543 1482412] - [edac] EDAC, {i7core,sb,skx}_edac: Fix uncorrected error counting (Aristeu Rozanski) [1485543 1482412] - [edac] EDAC: Correct DIMM capacity unit symbol (Aristeu Rozanski) [1485543 1482412] - [x86] x86/mce: Add notifier_block forward declaration (Aristeu Rozanski) [1485543 1482412] - [netdrv] net: thunderx: fix NULL pointer dereference in nicvf_open/nicvf_stop (Dean Nelson) [1657380] - [netdrv] net: thunder: fix a potential NULL pointer dereference (Dean Nelson) [1657380] - [netdrv] net: thunderx: remove link change polling code and info from nicpf (Dean Nelson) [1657380] - [netdrv] net: thunderx: move link state polling function to VF (Dean Nelson) [1657380] - [netdrv] net: thunderx: add mutex to protect mailbox from concurrent calls for same VF (Dean Nelson) [1657380] - [netdrv] net: thunderx: rework xcast message structure to make it fit into 64 bit (Dean Nelson) [1657380] - [netdrv] net: thunderx: add nicvf_send_msg_to_pf result check for set_rx_mode_task (Dean Nelson) [1657380] - [netdrv] net: thunderx: make CFG_DONE message to run through generic send-ack sequence (Dean Nelson) [1657380] - [netdrv] net: thunderx: replace global nicvf_rx_mode_wq work queue for all VFs to private for each of them. (Dean Nelson) [1657380] - [netdrv] net: thunderx: set tso_hdrs pointer to NULL in nicvf_free_snd_queue (Dean Nelson) [1657380] - [x86] perf/x86/intel/rapl: Cosmetic rename internal variables in response to multi-die/pkg support (David Arcari) [1616309] - [x86] perf/x86/intel/uncore: Cosmetic renames in response to multi-die/pkg support (David Arcari) [1616309] - [hwmon] hwmon/coretemp: Cosmetic: Rename internal variables to zones from packages (David Arcari) [1616309] - [thermal] thermal/x86_pkg_temp_thermal: Cosmetic: Rename internal variables to zones from packages (David Arcari) [1616309] - [x86] perf/x86/intel/cstate: Support multi-die/package (David Arcari) [1616309] - [x86] perf/x86/intel/rapl: Support multi-die/package (David Arcari) [1616309] - [x86] perf/x86/intel/uncore: Support multi-die/package (David Arcari) [1616309] - [topology] topology: Create core_cpus and die_cpus sysfs attributes (David Arcari) [1616309] - [topology] topology: Create package_cpus sysfs attribute (David Arcari) [1616309] - [hwmon] hwmon/coretemp: Support multi-die/package (David Arcari) [1616309] - [powercap] powercap/intel_rapl: Update RAPL domain name and debug messages (David Arcari) [1616309] - [thermal] thermal/x86_pkg_temp_thermal: Support multi-die/package (David Arcari) [1616309] - [powercap] powercap/intel_rapl: Support multi-die/package (David Arcari) [1616309] - [powercap] powercap/intel_rapl: Simplify rapl_find_package() (David Arcari) [1616309] - [x86] x86/topology: Define topology_logical_die_id() (David Arcari) [1616309] - [x86] x86/topology: Define topology_die_id() (David Arcari) [1616309] - [topology] cpu/topology: Export die_id (David Arcari) [1616309] - [x86] x86/topology: Create topology_max_die_per_package() (David Arcari) [1616309] - [x86] x86/topology: Add CPUID.1F multi-die/package support (David Arcari) [1616309] - [x86] x86/smpboot: Rename match_die() to match_pkg() (David Arcari) [1616309] - [documentation] topology: Simplify cputopology.txt formatting and wording (David Arcari) [1616309] - [documentation] x86/topology: Fix documentation typo (David Arcari) [1616309] - [mm] mm: remove stale comment from page struct (Rafael Aquini) [1737065] - [mm] mm/slab.c: fix an infinite loop in leaks_show() (Rafael Aquini) [1737065] - [mm] mm/slub.c: update the comment about slab frozen (Rafael Aquini) [1737065] - [mm] mm/slab.c: remove unneed check in cpuup_canceled (Rafael Aquini) [1737065] - [mm] slub: remove useless kmem_cache_debug() before remove_full() (Rafael Aquini) [1737065] - [mm] slab: use slab_list instead of lru (Rafael Aquini) [1737065] - [mm] slub: use slab_list instead of lru (Rafael Aquini) [1737065] - [mm] slob: use slab_list instead of lru (Rafael Aquini) [1737065] - [mm] slob: respect list_head abstraction layer (Rafael Aquini) [1737065] - [mm] slab: fix a crash by reading /proc/slab_allocators (Rafael Aquini) [1737065] - [mm] mm: add support for kmem caches in DMA32 zone (Rafael Aquini) [1737065] - [mm] mm, slub: make the comment of put_cpu_partial() complete (Rafael Aquini) [1737065] - [mm] mm/slub.c: remove an unused addr argument (Rafael Aquini) [1737065] - [mm] mm/slab.c: kmemleak no scan alien caches (Rafael Aquini) [1737065] - [mm] mm/slub.c: freelist is ensured to be NULL when new_slab() fails (Rafael Aquini) [1737065] - [mm] slab: alien caches must not be initialized if the allocation of the alien cache failed (Rafael Aquini) [1737065] - [mm] include/linux/slab.h: fix sparse warning in kmalloc_type() (Rafael Aquini) [1737065] - [mm] mm/slub.c: record final state of slub action in deactivate_slab() (Rafael Aquini) [1737065] - [mm] mm/slub.c: page is always non-NULL in node_match() (Rafael Aquini) [1737065] - [mm] mm/slub.c: remove validation on cpu_slab in __flush_cpu_slab() (Rafael Aquini) [1737065] - [mm] mm, slab: remove unnecessary unlikely() (Rafael Aquini) [1737065] - [mm] mm: move obj_to_index to include/linux/slab_def.h (Rafael Aquini) [1737065] - [mm] slab: make kmem_cache_create{_usercopy} description proper kernel-doc (Rafael Aquini) [1737065] - [mm] slub: extend slub debug to handle multiple slabs (Rafael Aquini) [1737065] - [mm] mm/slub.c: switch to bitmap_zalloc() (Rafael Aquini) [1737065] - [fs] io_uring: add need_resched() check in inner poll loop (Jeff Moyer) [1706143] - [fs] io_uring: don't enter poll loop if we have CQEs pending (Jeff Moyer) [1706143] - [fs] io_uring: fix potential hang with polled IO (Jeff Moyer) [1706143] - [fs] io_uring: fix an issue when IOSQE_IO_LINK is inserted into defer list (Jeff Moyer) [1706143] - [fs] io_uring: fix manual setup of iov_iter for fixed buffers (Jeff Moyer) [1706143] - [fs] io_uring: fix KASAN use after free in io_sq_wq_submit_work (Jeff Moyer) [1706143] - [fs] io_uring: ensure ->list is initialized for poll commands (Jeff Moyer) [1706143] - [fs] io_uring: track io length in async_list based on bytes (Jeff Moyer) [1706143] - [fs] io_uring: don't use iov_iter_advance() for fixed buffers (Jeff Moyer) [1706143] - [fs] io_uring: add a memory barrier before atomic_read (Jeff Moyer) [1706143] - [fs] io_uring: fix counter inc/dec mismatch in async_list (Jeff Moyer) [1706143] - [fs] io_uring: fix the sequence comparison in io_sequence_defer (Jeff Moyer) [1706143] - [fs] io_uring: fix io_sq_thread_stop running in front of io_sq_thread (Jeff Moyer) [1706143] - [include] io_uring: add support for recvmsg() (Jeff Moyer) [1706143] - [include] io_uring: add support for sendmsg() (Jeff Moyer) [1706143] - [fs] signal: remove the wrong signal_pending() check in restore_user_sigmask() (Jeff Moyer) [1706143] - [fs] io_uring: add support for sqe links (Jeff Moyer) [1706143] - [fs] io_uring: ensure req->file is cleared on allocation (Jeff Moyer) [1706143] - [fs] io_uring: fix memory leak of UNIX domain socket inode (Jeff Moyer) [1706143] - [fs] io_uring: punt short reads to async context (Jeff Moyer) [1706143] - [fs] uio: make import_iovec()/compat_import_iovec() return bytes on success (Jeff Moyer) [1706143] - [fs] io_uring: Fix __io_uring_register() false success (Jeff Moyer) [1706143] - [tools] tools/io_uring: sync with liburing (Jeff Moyer) [1706143] - [tools] tools/io_uring: fix Makefile for pthread library link (Jeff Moyer) [1706143] - [fs] io_uring: use wait_event_interruptible for cq_wait conditional wait (Jeff Moyer) [1706143] - [fs] io_uring: adjust smp_rmb inside io_cqring_events (Jeff Moyer) [1706143] - [fs] io_uring: fix infinite wait in khread_park() on io_finish_async() (Jeff Moyer) [1706143] - [fs] io_uring: remove 'ev_flags' argument (Jeff Moyer) [1706143] - [fs] io_uring: fix failure to verify SQ_AFF cpu (Jeff Moyer) [1706143] - [fs] io_uring: fix race condition reading SQE data (Jeff Moyer) [1706143] - [fs] io_uring: use cpu_online() to check p->sq_thread_cpu instead of cpu_possible() (Jeff Moyer) [1706143] - [fs] io_uring: fix shadowed variable ret return code being not checked (Jeff Moyer) [1706143] - [fs] req->error only used for iopoll (Jeff Moyer) [1706143] - [fs] io_uring: add support for eventfd notifications (Jeff Moyer) [1706143] - [fs] io_uring: add support for IORING_OP_SYNC_FILE_RANGE (Jeff Moyer) [1706143] - [fs] fs: add sync_file_range() helper (Jeff Moyer) [1706143] - [fs] io_uring: add support for marking commands as draining (Jeff Moyer) [1706143] - [fs] io_uring: avoid page allocation warnings (Jeff Moyer) [1706143] - [include] iov_iter: fix iov_iter_type (Jeff Moyer) [1706143] - [fs] block: fix handling for BIO_NO_PAGE_REF (Jeff Moyer) [1706143] - [fs] io_uring: drop req submit reference always in async punt (Jeff Moyer) [1706143] - [fs] io_uring: free allocated io_memory once (Jeff Moyer) [1706143] - [fs] io_uring: fix SQPOLL cpu validation (Jeff Moyer) [1706143] - [fs] io_uring: have submission side sqe errors post a cqe (Jeff Moyer) [1706143] - [fs] io_uring: remove unnecessary barrier after unsetting IORING_SQ_NEED_WAKEUP (Jeff Moyer) [1706143] - [fs] io_uring: remove unnecessary barrier after incrementing dropped counter (Jeff Moyer) [1706143] - [fs] io_uring: remove unnecessary barrier before reading SQ tail (Jeff Moyer) [1706143] - [fs] io_uring: remove unnecessary barrier after updating SQ head (Jeff Moyer) [1706143] - [fs] io_uring: remove unnecessary barrier before reading cq head (Jeff Moyer) [1706143] - [fs] io_uring: remove unnecessary barrier before wq_has_sleeper (Jeff Moyer) [1706143] - [fs] io_uring: fix notes on barriers (Jeff Moyer) [1706143] - [fs] io_uring: fix handling SQEs requesting NOWAIT (Jeff Moyer) [1706143] - [fs] io_uring: remove 'state' argument from io_{read,write} path (Jeff Moyer) [1706143] - [fs] io_uring: fix poll full SQ detection (Jeff Moyer) [1706143] - [fs] io_uring: fix race condition when sq threads goes sleeping (Jeff Moyer) [1706143] - [fs] io_uring: fix race condition reading SQ entries (Jeff Moyer) [1706143] - [fs] io_uring: fail io_uring_register(2) on a dying io_uring instance (Jeff Moyer) [1706143] - [fs] io_uring: fix CQ overflow condition (Jeff Moyer) [1706143] - [fs] io_uring: fix possible deadlock between io_uring_{enter,register} (Jeff Moyer) [1706143] - [powerpc] arch: add pidfd and io_uring syscalls everywhere (Jeff Moyer) [1706143] - [fs] io_uring: drop io_file_put() 'file' argument (Jeff Moyer) [1706143] - [fs] io_uring: only test SQPOLL cpu after we've verified it (Jeff Moyer) [1706143] - [fs] io_uring: park SQPOLL thread if it's percpu (Jeff Moyer) [1706143] - [fs] io_uring: restrict IORING_SETUP_SQPOLL to root (Jeff Moyer) [1706143] - [tools] tools/io_uring: remove IOCQE_FLAG_CACHEHIT (Jeff Moyer) [1706143] - [fs] io_uring: fix double free in case of fileset regitration failure (Jeff Moyer) [1706143] - [fs] io_uring: offload write to async worker in case of -EAGAIN (Jeff Moyer) [1706143] - [fs] io_uring: fix big-endian compat signal mask handling (Jeff Moyer) [1706143] - [fs] block: add BIO_NO_PAGE_REF flag (Jeff Moyer) [1706143] - [fs] iov_iter: add ITER_BVEC_FLAG_NO_REF flag (Jeff Moyer) [1706143] - [maintainers] io_uring: mark me as the maintainer (Jeff Moyer) [1706143] - [fs] io_uring: retry bulk slab allocs as single allocs (Jeff Moyer) [1706143] - [fs] io_uring: fix poll races (Jeff Moyer) [1706143] - [fs] io_uring: fix fget/fput handling (Jeff Moyer) [1706143] - [fs] io_uring: add prepped flag (Jeff Moyer) [1706143] - [fs] io_uring: make io_read/write return an integer (Jeff Moyer) [1706143] - [fs] io_uring: use regular request ref counts (Jeff Moyer) [1706143] - [fs] mm: refactor readahead defines in mm.h (Jeff Moyer) [1706143] - [tools] io_uring: add a few test tools (Jeff Moyer) [1706143] - [fs] io_uring: allow workqueue item to handle multiple buffered requests (Jeff Moyer) [1706143] - [fs] io_uring: add support for IORING_OP_POLL (Jeff Moyer) [1706143] - [fs] io_uring: add io_kiocb ref count (Jeff Moyer) [1706143] - [fs] io_uring: add submission polling (Jeff Moyer) [1706143] - [fs] io_uring: add file set registration (Jeff Moyer) [1706143] - [net] net: split out functions related to registering inflight socket files (Jeff Moyer) [1706143] - [include] io_uring: add support for pre-mapped user IO buffers (Jeff Moyer) [1706143] - [block] block: implement bio helper to add iter bvec pages to bio (Jeff Moyer) [1706143] - [fs] io_uring: batch io_kiocb allocation (Jeff Moyer) [1706143] - [fs] io_uring: use fget/fput_many() for file references (Jeff Moyer) [1706143] - [fs] fs: add fget_many() and fput_many() (Jeff Moyer) [1706143] - [fs] io_uring: support for IO polling (Jeff Moyer) [1706143] - [fs] io_uring: add fsync support (Jeff Moyer) [1706143] - [include] Add io_uring IO interface (Jeff Moyer) [1706143] - [fs] iomap: wire up the iopoll method (Jeff Moyer) [1706143] - [fs] block: add bio_set_polled() helper (Jeff Moyer) [1706143] - [fs] block: wire up block device iopoll method (Jeff Moyer) [1706143] - [fs] signal: Add restore_user_sigmask() (Jeff Moyer) [1706143] - [fs] signal: Add set_user_sigmask() (Jeff Moyer) [1706143] - [net] iov_iter: Fix 9p virtio breakage (Benjamin Coddington) [1734762] - [lib] iov_iter: Add I/O discard iterator (Benjamin Coddington) [1734762] - [fs] iov_iter: Separate type from direction and use accessor functions (Benjamin Coddington) [1734762] - [fs] iov_iter: Use accessor function (Benjamin Coddington) [1734762]- [kernel] ftrace/x86: Anotate text_mutex split between ftrace_arch_code_modify_post_process() and ftrace_arch_code_modify_prepare() (Joe Lawrence) [1696461] - [kernel] ftrace/x86: Remove possible deadlock between register_kprobe() and ftrace_run_update_code() (Joe Lawrence) [1696461] - [kernel] Revert "livepatch: Remove reliable stacktrace check in klp_try_switch_task()" (Joe Lawrence) [1696461] - [kernel] selftests/livepatch: push and pop dynamic debug config (Joe Lawrence) [1696461] - [kernel] selftests/livepatch: add test skip handling (Joe Lawrence) [1696461] - [kernel] module: Fix livepatch/ftrace module text permissions race (Joe Lawrence) [1696461] - [kernel] kprobes: Mark ftrace mcount handler functions nokprobe (Joe Lawrence) [1696461] - [kernel] selftests/livepatch: Add functions.sh to TEST_PROGS_EXTENDED (Joe Lawrence) [1696461] - [kernel] selftests/livepatch: use TEST_PROGS for test scripts (Joe Lawrence) [1696461] - [kernel] livepatch/selftests: use "$@" to preserve argument list (Joe Lawrence) [1696461] - [kernel] livepatch: Module coming and going callbacks can proceed with all listed patches (Joe Lawrence) [1696461] - [kernel] livepatch: Proper error handling in the shadow variables selftest (Joe Lawrence) [1696461] - [kernel] livepatch: return -ENOMEM on ptr_id() allocation failure (Joe Lawrence) [1696461] - [kernel] livepatch: Introduce klp_for_each_patch macro (Joe Lawrence) [1696461] - [kernel] livepatch: core: Return EOPNOTSUPP instead of ENOSYS (Joe Lawrence) [1696461] - [kernel] livepatch: samples: non static warnings fix (Joe Lawrence) [1696461] - [kernel] livepatch: Remove signal sysfs attribute (Joe Lawrence) [1696461] - [kernel] livepatch: Send a fake signal periodically (Joe Lawrence) [1696461] - [kernel] selftests/livepatch: introduce tests (Joe Lawrence) [1696461] - [kernel] livepatch: Remove ordering (stacking) of the livepatches (Joe Lawrence) [1696461] - [kernel] livepatch: Atomic replace and cumulative patches documentation (Joe Lawrence) [1696461] - [kernel] livepatch: Remove Nop structures when unused (Joe Lawrence) [1696461] - [kernel] livepatch: Add atomic replace (Joe Lawrence) [1696461] - [kernel] livepatch: Use lists to manage patches, objects and functions (Joe Lawrence) [1696461] - [kernel] livepatch: Simplify API by removing registration step (Joe Lawrence) [1696461] - [kernel] livepatch: Don't block the removal of patches loaded after a forced transition (Joe Lawrence) [1696461] - [kernel] livepatch: Consolidate klp_free functions (Joe Lawrence) [1696461] - [kernel] livepatch: Shuffle klp_enable_patch()/klp_disable_patch() code (Joe Lawrence) [1696461] - [kernel] livepatch: Change unsigned long old_addr -> void *old_func in struct klp_func (Joe Lawrence) [1696461] - [kernel] livepatch: check kzalloc return values (Joe Lawrence) [1696461] - [kernel] livepatch: Replace synchronize_sched() with synchronize_rcu() (Joe Lawrence) [1696461] - [kernel] livepatch: Validate module/old func name length (Joe Lawrence) [1696461] - [kernel] livepatch: Remove reliable stacktrace check in klp_try_switch_task() (Joe Lawrence) [1696461] - [pci] PCI/LINK: Add Kconfig option (default off) (Myron Stowe) [1748141] - [pci] PCI/portdrv: Use shared MSI/MSI-X vector for Bandwidth Management (Myron Stowe) [1748141] - [pci] PCI: Fix issue with "pci=disable_acs_redir" parameter being ignored (Myron Stowe) [1748141] - [pci] PCI: Add function 1 DMA alias quirk for Marvell 9170 SATA controller (Myron Stowe) [1748141] - [pci] PCI/LINK: Deduplicate bandwidth reports for multi-function devices (Myron Stowe) [1748141] - [pci] PCI/LINK: Clear bandwidth notification interrupt before enabling it (Myron Stowe) [1748141] - [pci] PCI/LINK: Supply IRQ handler so level-triggered IRQs are acked (Myron Stowe) [1748141] - [pci] PCI/LINK: Report degraded links via link bandwidth notification (Myron Stowe) [1748141] - [pci] PCI/portdrv: Support PCIe services on subtractive decode bridges (Myron Stowe) [1748141] - [pci] PCI/portdrv: Use conventional Device ID table formatting (Myron Stowe) [1748141] - [pci] PCI: Update PCIEPORTBUS Kconfig help text (Myron Stowe) [1748141] - [pci] PCI: Clean up usage of __u32 type (Myron Stowe) [1748141] - [pci] PCI: Move Rohm Vendor ID to generic list (Myron Stowe) [1748141] - [pci] PCI: pciehp: Add HXT quirk for Command Completed errata (Myron Stowe) [1748141] - [pci] PCI: Add ACS quirk for HXT SD4800 (Myron Stowe) [1748141] - [pci] PCI: Add HXT vendor ID (Myron Stowe) [1748141] - [pci] PCI: Use of_node_name_eq() for node name comparisons (Myron Stowe) [1748141] - [pci] PCI: Mark expected switch fall-through (Myron Stowe) [1748141] - [pci] PCI: ibmphp: Turn semaphores into completions or mutexes (Myron Stowe) [1748141] - [pci] x86/PCI: Fixup RTIT_BAR of Intel Denverton Trace Hub (Myron Stowe) [1748141] - [pci] PCI: Rely on config space header type, not class code (Myron Stowe) [1748141] - [pci] PCI: Make pci_size() return real BAR size (Myron Stowe) [1748141] - [pci] PCI/DPC: Fix print AER status in DPC event handling (Myron Stowe) [1748141] - [pci] PCI/ASPM: Save LTR Capability for suspend/resume (Myron Stowe) [1748141] - [pci] PCI/ASPM: Use LTR if already enabled by platform (Myron Stowe) [1748141] - [pci] PCI: Enable SERR# forwarding for all bridges (Myron Stowe) [1748141] - [pci] PCI/AER: Use match_string() helper to simplify the code (Myron Stowe) [1748141] - [fs] gfs2: Use async glocks for rename (Robert S Peterson) [1737561] - [fs] gfs2: create function gfs2_glock_update_hold_time (Robert S Peterson) [1737561] - [fs] gfs2: separate holder for rgrps in gfs2_rename (Robert S Peterson) [1737561] - [netdrv] net: aquantia: reapply vlan filters on up (Igor Russkikh) [1740500] - [s390] s390/setup: Fix kernel lock down for s390 (Philipp Rudo) [1748343] - [powerpc] kvm: ppc: book3s hv: Fix XICS-on-XIVE H_IPI when priority = 0 (David Gibson) [1725800] - [s390] vfio-ap: fix irq registration (Thomas Huth) [1660910] - [s390] ap: kvm: Enable PQAP/AQIC facility for the guest (Thomas Huth) [1660910] - [s390] ap: implement PAPQ AQIC interception in kernel (Thomas Huth) [1660910] - [s390] vfio: ap: register IOMMU VFIO notifier (Thomas Huth) [1660910] - [s390] ap: kvm: add PQAP interception for AQIC (Thomas Huth) [1660910] - [s390] kvm: s390: Do not leak kernel stack data in the KVM_S390_INTERRUPT ioctl (Thomas Huth) [1749503] - [s390] kvm: s390: vsie: Return correct values for Invalid CRYCB format (Thomas Huth) [1749503] - [s390] kvm: s390: vsie: Do not shadow CRYCB when no AP and no keys (Thomas Huth) [1749503] - [s390] kvm: s390: change default halt poll time to 50us (Thomas Huth) [1749503] - [s390] kvm: s390: fix typo in parameter description (Thomas Huth) [1749503] - [s390] kvm: s390: provide kvm_arch_no_poll function (Thomas Huth) [1749503] - [kernel] kvm: polling: add architecture backend to disable polling (Thomas Huth) [1749503] - [s390] vtime: steal time exponential moving average (Thomas Huth) [1749503] - [tools] kvm: selftests: fix ucall on x86 (Thomas Huth) [1730412] - [tools] kvm: selftests: Test invalid bits in kvm_valid_regs and kvm_dirty_regs on s390x (Thomas Huth) [1730412] - [s390] kvm: s390: Disallow invalid bits in kvm_valid_regs and kvm_dirty_regs (Thomas Huth) [1730412] - [tools] kvm: selftests: Add a test for the KVM_S390_MEM_OP ioctl (Thomas Huth) [1730412] - [s390] kvm: s390: Test for bad access register and size at the start of S390_MEM_OP (Thomas Huth) [1730412] - [tools] kvm: selftests: Enable dirty_log_test on s390x (Thomas Huth) [1730412] - [tools] kvm: selftests: Implement ucall() for s390x (Thomas Huth) [1730412] - [tools] kvm: selftests: Split ucall.c into architecture specific files (Thomas Huth) [1730412] - [tools] kvm: selftests: ucall improvements (Thomas Huth) [1730412] - [tools] kvm: selftests: aarch64: dirty_log_test: fix unaligned memslot size (Thomas Huth) [1730412] - [tools] kvm: selftests: Compile code with warnings enabled (Thomas Huth) [1730412] - [tools] kvm: selftests: enable pgste option for the linker on s390 (Thomas Huth) [1730412] - [tools] kvm: selftests: Move kvm_create_max_vcpus test to generic code (Thomas Huth) [1730412] - [virt] kvm: s390: Do not report unusabled IDs via KVM_CAP_MAX_VCPU_ID (Thomas Huth) [1730412] - [documentation] kvm: move KVM_CAP_NR_MEMSLOTS to common code (Thomas Huth) [1730412] - [tools] kvm: selftests: Add the sync_regs test for s390x (Thomas Huth) [1730412] - [s390] kvm: s390: fix memory slot handling for KVM_SET_USER_MEMORY_REGION (Thomas Huth) [1730412] - [tools] kvm: selftests: Add processor code for s390x (Thomas Huth) [1730412] - [tools] kvm: selftests: Align memory region addresses to 1M on s390x (Thomas Huth) [1730412] - [tools] kvm: selftests: Introduce a VM_MODE_DEFAULT macro for the default bits (Thomas Huth) [1730412] - [tools] kvm: selftests: aarch64: fix default vm mode (Thomas Huth) [1730412] - [tools] kvm: selftests: Guard struct kvm_vcpu_events with __KVM_HAVE_VCPU_EVENTS (Thomas Huth) [1730412] - [tools] kvm: selftests: Wrap vcpu_nested_state_get/set functions with x86 guard (Thomas Huth) [1730412]- [fs] xfs: fix missing ILOCK unlock when xfs_setattr_nonsize fails due to EDQUOT (Bill O'Donnell) [1739607] - [fs] xfs: fix reflink source file racing with directio writes (Bill O'Donnell) [1739607] - [fs] xfs: implement cgroup aware writeback (Bill O'Donnell) [1274406] - [fs] xfs: simplify xfs_chain_bio (Bill O'Donnell) [1274406] - [fs] xfs: inode btree scrubber should calculate im_boffset correctly (Bill O'Donnell) [1739607] - [fs] xfs: fix broken log reservation debugging (Bill O'Donnell) [1739607] - [fs] xfs: don't reserve per-AG space for an internal log (Bill O'Donnell) [1739607] - [fs] xfs: change some error-less functions to void types (Bill O'Donnell) [1739607] - [fs] xfs: add online scrub for superblock counters (Bill O'Donnell) [1739607] - [fs] xfs: don't parse the mtpt mount option (Bill O'Donnell) [1739607] - [fs] xfs: scrub should check incore counters against ondisk headers (Bill O'Donnell) [1739607] - [fs] xfs: allow scrubbers to pause background reclaim (Bill O'Donnell) [1739607] - [fs] xfs: rename the speculative block allocation reclaim toggle functions (Bill O'Donnell) [1739607] - [fs] xfs: track delayed allocation reservations across the filesystem (Bill O'Donnell) [1739607] - [fs] xfs: fix broken bhold behavior in xrep_roll_ag_trans (Bill O'Donnell) [1739607] - [fs] xfs: unlock inode when xfs_ioctl_setattr_get_trans can't get transaction (Bill O'Donnell) [1739607] - [fs] xfs: kill the xfs_dqtrx_t typedef (Bill O'Donnell) [1739607] - [fs] xfs: widen inode delalloc block counter to 64-bits (Bill O'Donnell) [1739607] - [fs] xfs: widen quota block counters to 64-bit integers (Bill O'Donnell) [1739607] - [fs] xfs: assert that we don't enter agfl freeing with a non-permanent transaction (Bill O'Donnell) [1739607] - [fs] xfs: make tr_growdata a permanent transaction (Bill O'Donnell) [1739607] - [fs] xfs: merge adjacent io completions of the same type (Bill O'Donnell) [1739607] - [fs] xfs: remove unused m_data_workqueue (Bill O'Donnell) [1739607] - [fs] xfs: implement per-inode writeback completion queues (Bill O'Donnell) [1739607] - [fs] xfs: scrub should only cross-reference with healthy btrees (Bill O'Donnell) [1739607] - [fs] xfs: scrub/repair should update filesystem metadata health (Bill O'Donnell) [1739607] - [fs] xfs: hoist the already_fixed variable to the scrub context (Bill O'Donnell) [1739607] - [fs] xfs: collapse scrub bool state flags into a single unsigned int (Bill O'Donnell) [1739607] - [fs] xfs: refactor scrub context initialization (Bill O'Donnell) [1739607] - [fs] xfs: report inode health via bulkstat (Bill O'Donnell) [1739607] - [fs] xfs: report AG health via AG geometry ioctl (Bill O'Donnell) [1739607] - [fs] xfs: report fs and rt health via geometry structure (Bill O'Donnell) [1739607] - [fs] xfs: add a new ioctl to describe allocation group geometry (Bill O'Donnell) [1739607] - [fs] xfs: bump XFS_IOC_FSGEOMETRY to v5 structures (Bill O'Donnell) [1739607] - [fs] xfs: clear BAD_SUMMARY if unmounting an unhealthy filesystem (Bill O'Donnell) [1739607] - [fs] xfs: replace the BAD_SUMMARY mount flag with the equivalent health code (Bill O'Donnell) [1739607] - [fs] xfs: track metadata health status (Bill O'Donnell) [1739607] - [fs] xfs,fstrim: fix to return correct minlen (Bill O'Donnell) [1739607] - [fs] xfs: shutdown after buf release in iflush cluster abort path (Bill O'Donnell) [1739607] - [fs] xfs: wake commit waiters on CIL abort before log item abort (Bill O'Donnell) [1739607] - [fs] xfs: fix btree scrub checking with regards to root-in-inode (Bill O'Donnell) [1739607] - [fs] xfs: dabtree scrub needs to range-check level (Bill O'Donnell) [1739607] - [fs] xfs: clean up xfs_dir2_leaf_addname (Bill O'Donnell) [1739607] - [fs] xfs: zero initialize highstale and lowstale in xfs_dir2_leaf_addname (Bill O'Donnell) [1739607] - [fs] xfs: clean up xfs_dir2_leafn_add (Bill O'Donnell) [1739607] - [fs] xfs: Zero initialize highstale and lowstale in xfs_dir2_leafn_add (Bill O'Donnell) [1739607] - [fs] xfs: fix backwards endian conversion in scrub (Bill O'Donnell) [1739607] - [fs] xfs: fix uninitialized error variables (Bill O'Donnell) [1739607] - [fs] xfs: rework breaking of shared extents in xfs_file_iomap_begin (Bill O'Donnell) [1739607] - [fs] xfs: don't pass iomap flags to xfs_reflink_allocate_cow (Bill O'Donnell) [1739607] - [fs] xfs: fix uninitialized error variable (Bill O'Donnell) [1739607] - [fs] xfs: introduce an always_cow mode (Bill O'Donnell) [1739607] - [fs] xfs: report IOMAP_F_SHARED from xfs_file_iomap_begin_delay (Bill O'Donnell) [1739607] - [fs] xfs: make COW fork unwritten extent conversions more robust (Bill O'Donnell) [1739607] - [fs] xfs: merge COW handling into xfs_file_iomap_begin_delay (Bill O'Donnell) [1739607] - [fs] xfs: also truncate holes covered by COW blocks (Bill O'Donnell) [1739607] - [fs] xfs: don't use delalloc extents for COW on files with extsize hints (Bill O'Donnell) [1739607] - [fs] xfs: fix SEEK_DATA for speculative COW fork preallocation (Bill O'Donnell) [1739607] - [fs] xfs: make xfs_bmbt_to_iomap more useful (Bill O'Donnell) [1739607] - [fs] xfs: fix xfs_buf magic number endian checks (Bill O'Donnell) [1739607] - [fs] xfs: retry COW fork delalloc conversion when no extent was found (Bill O'Donnell) [1739607] - [fs] xfs: remove the truncate short cut in xfs_map_blocks (Bill O'Donnell) [1739607] - [fs] xfs: move xfs_iomap_write_allocate to xfs_aops.c (Bill O'Donnell) [1739607] - [fs] xfs: move stat accounting to xfs_bmapi_convert_delalloc (Bill O'Donnell) [1739607] - [fs] xfs: move transaction handling to xfs_bmapi_convert_delalloc (Bill O'Donnell) [1739607] - [fs] xfs: split XFS_BMAPI_DELALLOC handling from xfs_bmapi_write (Bill O'Donnell) [1739607] - [fs] xfs: factor out two helpers from xfs_bmapi_write (Bill O'Donnell) [1739607] - [fs] xfs: simplify the xfs_bmap_btree_to_extents calling conventions (Bill O'Donnell) [1739607] - [fs] xfs: remove the s_maxbytes checks in xfs_map_blocks (Bill O'Donnell) [1739607] - [fs] xfs: remove the io_type field from the writeback context and ioend (Bill O'Donnell) [1739607] - [fs] xfs: compile time offset checks for common v4/v5 metadata (Bill O'Donnell) [1739607] - [fs] xfs: use buf ops magic to detect btree block type (Bill O'Donnell) [1739607] - [fs] xfs: add magic numbers to dquot buffer ops (Bill O'Donnell) [1739607] - [fs] xfs: add inode magic to inode verifier (Bill O'Donnell) [1739607] - [fs] xfs: factor xfs_da3_blkinfo verification into common helper (Bill O'Donnell) [1739607] - [fs] xfs: miscellaneous verifier magic value fixups (Bill O'Donnell) [1739607] - [fs] xfs: use verifier magic field in dir2 leaf verifiers (Bill O'Donnell) [1739607] - [fs] xfs: distinguish between bnobt and cntbt magic values (Bill O'Donnell) [1739607] - [fs] xfs: split up allocation btree verifier (Bill O'Donnell) [1739607] - [fs] xfs: distinguish between inobt and finobt magic values (Bill O'Donnell) [1739607] - [fs] xfs: create a separate finobt verifier (Bill O'Donnell) [1739607] - [fs] xfs: always check magic values in on-disk byte order (Bill O'Donnell) [1739607] - [fs] xfs: clarify documentation for the function to reverify buffers (Bill O'Donnell) [1739607] - [fs] xfs: cache unlinked pointers in an rhashtable (Bill O'Donnell) [1739607] - [fs] xfs: add tracepoints for high level iunlink operations (Bill O'Donnell) [1739607] - [fs] xfs: refactor inode update in iunlink_remove (Bill O'Donnell) [1739607] - [fs] xfs: refactor unlinked list search and mapping to a separate function (Bill O'Donnell) [1739607] - [fs] xfs: refactor inode unlinked pointer update functions (Bill O'Donnell) [1739607] - [fs] xfs: strengthen AGI unlinked inode bucket pointer checks (Bill O'Donnell) [1739607] - [fs] xfs: refactor AGI unlinked bucket updates (Bill O'Donnell) [1739607] - [fs] xfs: add xfs_verify_agino_or_null helper (Bill O'Donnell) [1739607] - [fs] xfs: clean up iunlink functions (Bill O'Donnell) [1739607] - [fs] xfs: Introduce XFS_PTAG_VERIFIER_ERROR panic mask (Bill O'Donnell) [1739607] - [fs] xfs: remove duplicated xfs_defer.h (Bill O'Donnell) [1739607] - [fs] xfs: check attribute name validity (Bill O'Donnell) [1739607] - [fs] xfs: check directory name validity (Bill O'Donnell) [1739607] - [fs] xfs: fix off-by-one error in rtbitmap cross-reference (Bill O'Donnell) [1739607] - [fs] xfs: scrub should flag dir/attr offsets that aren't mappable with xfs_dablk_t (Bill O'Donnell) [1739607] - [fs] xfs: abort xattr scrub if fatal signals are pending (Bill O'Donnell) [1739607] - [fs] xfs: consolidate scrub dinode mapping code into a single function (Bill O'Donnell) [1739607] - [fs] xfs: scrub big block inode btrees correctly (Bill O'Donnell) [1739607] - [fs] xfs: clean up the inode cluster checking in the inobt scrub (Bill O'Donnell) [1739607] - [fs] xfs: hoist inode cluster checks out of loop (Bill O'Donnell) [1739607] - [fs] xfs: check inobt record alignment on big block filesystems (Bill O'Donnell) [1739607] - [fs] xfs: check the ir_startino alignment directly (Bill O'Donnell) [1739607] - [fs] xfs: never try to scrub more than 64 inodes per inobt record (Bill O'Donnell) [1739607] - [powerpc] powerpc: Allow flush_(inval_)dcache_range to work across ranges >4GB (Steve Best) [1744062] - [scsi] scsi: lpfc: Fix port relogin failure due to GID_FT interaction (Dick Kennedy) [1733217] - [rpmspec] redhat: Fix error messages during build of zfcpdump kernel (Philipp Rudo) [1745652] - [s390] s390/protvirt: avoid memory sharing for diag 308 set/store (Philipp Rudo) [1745614] - [infiniband] IB/hfi1: Remove extra brackets from an if (Petr Oros) [1737066] - [documentation] docs/memory-barriers.txt: Update I/O section to be clearer about CPU vs thread (Petr Oros) [1737066] - [documentation] docs/memory-barriers.txt: Fix style, spacing and grammar in I/O section (Petr Oros) [1737066] - [powerpc] arch: Remove dummy mmiowb() definitions from arch code (Petr Oros) [1737066] - [netdrv] net/ethernet/silan/sc92031: Remove stale comment about mmiowb() (Petr Oros) [1737066] - [infiniband] i40iw: Redefine i40iw_mmiowb() to do nothing (Petr Oros) [1737066] - [scsi] scsi/qla1280: Remove stale comment about mmiowb() (Petr Oros) [1737066] - [netdrv] drivers: Remove explicit invocations of mmiowb() (Petr Oros) [1737066] - [infiniband] drivers: Remove useless trailing comments from mmiowb() invocations (Petr Oros) [1737066] - [documentation] Documentation: Kill all references to mmiowb() (Petr Oros) [1737066] - [riscv] riscv/mmiowb: Hook up mmwiob() implementation to asm-generic code (Petr Oros) [1737066] - [powerpc] powerpc/mmiowb: Hook up mmwiob() implementation to asm-generic code (Petr Oros) [1737066] - [nds32] nds32/io: Remove useless definition of mmiowb() (Petr Oros) [1737066] - [x86] x86/io: Remove useless definition of mmiowb() (Petr Oros) [1737066] - [arm64] arm64/io: Remove useless definition of mmiowb() (Petr Oros) [1737066] - [include] mmiowb: Hook up mmiowb helpers to spinlocks and generic I/O accessors (Petr Oros) [1737066] - [arm64] arch: Use asm-generic header for asm/mmiowb.h (Petr Oros) [1737066] - [kernel] asm-generic/mmiowb: Add generic implementation of mmiowb() tracking (Petr Oros) [1737066] - [documentation] docs/memory-barriers.txt: Rewrite "KERNEL I/O BARRIER EFFECTS" section (Petr Oros) [1737066] - [s390] s390/cpum_sf: save TOD clock base in SDBs for time conversion (Philipp Rudo) [1743504] - [net] netns: provide pure entropy for net_hash_mix() (Paolo Abeni) [1737439] {CVE-2019-10639} - [net] netns: get more entropy from net_hash_mix() (Paolo Abeni) [1737439] {CVE-2019-10639} - [netdrv] net: phy: improve pause handling (Petr Oros) [1735763] - [netdrv] net: phy: fix reading fixed phy status (Petr Oros) [1735763] - [netdrv] net: phy: allow a PHY driver to define neither features nor get_features (Petr Oros) [1735763] - [netdrv] net: phy: Add support for asking the PHY its abilities (Petr Oros) [1735763] - [netdrv] net: phy: use genphy_read_abilities in genphy driver (Petr Oros) [1735763] - [netdrv] net: phy: add genphy_read_abilities (Petr Oros) [1735763] - [netdrv] net: phy: let genphy_c45_read_abilities also check aneg capability (Petr Oros) [1735763] - [netdrv] net: phy: Add generic support for 2.5GBaseT and 5GBaseT (Petr Oros) [1735763] - [netdrv] net: phy: Extract genphy_c45_pma_read_abilities from marvell10g (Petr Oros) [1735763] - [netdrv] net: phy: Move of_set_phy_eee_broken to phy-core.c (Petr Oros) [1735763] - [netdrv] net: phy: Mask-out non-compatible modes when setting the max-speed (Petr Oros) [1735763] - [netdrv] net: phy: don't allow __set_phy_supported to add unsupported modes (Petr Oros) [1735763] - [netdrv] net: phy: remove unneeded masking of PHY register read results (Petr Oros) [1735763] - [netdrv] net: phy: probe the PHY before determining the supported features (Petr Oros) [1735763] - [rpmspec] fix package summary and description for some kernel subpackages ("Herton R. Krzesinski") [1656863] - [fs] mm/huge_memory: fix vmf_insert_pfn_{pmd, pud}() crash, handle unaligned addresses (Jeff Moyer) [1743159] - [mm] mm/huge_memory.c: fix modifying of page protection by insert_pfn_pmd() (Jeff Moyer) [1743159] - [arm64] arm64: disable improved unwind tables (Mark Langsdorf) [1684694] - [arm64] arm64/stacktrace: Export save_stack_trace_regs() (Mark Langsdorf) [1684694] - [fs] nfs4: flex_file: ignore synthetic uid/gid for tightly coupled DSes (Steve Dickson) [1655712] - [include] futex: Update comments and docs about return values of arch futex code (Waiman Long) [1737058] - [arm64] arm64: futex: Avoid copying out uninitialised stack in failed cmpxchg() (Waiman Long) [1737058] - [arm64] arm64: futex: Bound number of LDXR/STXR loops in FUTEX_WAKE_OP (Waiman Long) [1737058] - [kernel] locking/futex: Allow low-level atomic operations to return -EAGAIN (Waiman Long) [1737058] - [arm64] arm64: futex: Fix FUTEX_WAKE_OP atomic ops with non-zero result value (Waiman Long) [1737058] - [kernel] futex: Ensure that futex address is aligned in handle_futex_death() (Waiman Long) [1737058] - [kernel] futex: Convert futex_pi_state.refcount to refcount_t (Waiman Long) [1737058] - [kernel] sched/wake_q: Reduce reference counting for special users (Waiman Long) [1737058] - [kernel] sched/wake_q: Add branch prediction hint to wake_q_add() cmpxchg (Waiman Long) [1737058] - [kernel] futex: No need to check return value of debugfs_create functions (Waiman Long) [1737058] - [kernel] futex: Handle early deadlock return correctly (Waiman Long) [1737058] - [kernel] futex: Fix barrier comment (Waiman Long) [1737058] - [kernel] futex: Cure exit race (Waiman Long) [1737058] - [kernel] futex: Replace spin_is_locked() with lockdep (Waiman Long) [1737058] - [kernel] futex: Mark expected switch fall-throughs (Waiman Long) [1737058] - [kernel] sched/deadline: Correctly handle active 0-lag timers (Phil Auld) [1735907] - [include] build_bug.h: add wrapper for _Static_assert (Ivan Vecera) [1735752] - [include] build_bug.h: remove most of dummy BUILD_BUG_ON stubs for Sparse (Ivan Vecera) [1735752] - [include] build_bug.h: remove negative-array fallback for BUILD_BUG_ON() (Ivan Vecera) [1735752] - [mm] percpu: remove spurious lock dependency between percpu and sched (Rafael Aquini) [1731180] - [mm] percpu: use chunk scan_hint to skip some scanning (Rafael Aquini) [1731180] - [mm] percpu: convert chunk hints to be based on pcpu_block_md (Rafael Aquini) [1731180] - [mm] percpu: make pcpu_block_md generic (Rafael Aquini) [1731180] - [mm] percpu: use block scan_hint to only scan forward (Rafael Aquini) [1731180] - [mm] percpu: remember largest area skipped during allocation (Rafael Aquini) [1731180] - [mm] percpu: add block level scan_hint (Rafael Aquini) [1731180] - [mm] percpu: set PCPU_BITMAP_BLOCK_SIZE to PAGE_SIZE (Rafael Aquini) [1731180] - [mm] percpu: relegate chunks unusable when failing small allocations (Rafael Aquini) [1731180] - [mm] percpu: manage chunks based on contig_bits instead of free_bytes (Rafael Aquini) [1731180] - [mm] percpu: introduce helper to determine if two regions overlap (Rafael Aquini) [1731180] - [mm] percpu: do not search past bitmap when allocating an area (Rafael Aquini) [1731180] - [mm] percpu: update free path with correct new free region (Rafael Aquini) [1731180] - [mm] mm/percpu: add checks for the return value of memblock_alloc*() (Rafael Aquini) [1731180] - [mm] percpu: km: no need to consider pcpu_group_offsets[0] (Rafael Aquini) [1731180] - [mm] percpu: use nr_groups as check condition (Rafael Aquini) [1731180] - [mm] percpu: convert spin_lock_irq to spin_lock_irqsave. (Rafael Aquini) [1731180] - [mm] mm: percpu: remove unnecessary unlikely() (Rafael Aquini) [1731180] - [fs] /proc/meminfo: add percpu populated pages count (Rafael Aquini) [1731180] - [netdrv] tg3: Use napi_alloc_frag() (Jonathan Toppins) [1724774] - [fs] fuse: fix copy_file_range() in the writeback case (Miklos Szeredi) [1650518] - [fs] fuse: add support for copy_file_range() (Miklos Szeredi) [1650518]- [x86] perf/x86/intel: Fix spurious NMI on fixed counter (Michael Petlan) [1755110] - [x86] perf/x86/intel: Fix race in intel_pmu_disable_event() (Michael Petlan) [1755110] - [netdrv] drivers: tap.c: fix wrong backport causing WARN_ON_ONCE(1) in skb_flow_dissect() (Davide Caratti) [1750711] - [virt] KVM: coalesced_mmio: add bounds checking (Bandan Das) [1746804] {CVE-2019-14821}- [fs] gfs2: clear buf_in_tr when ending a transaction in sweep_bh_for_rgrps (Robert S Peterson) [1750939] - [s390] kvm: s390: kvm_s390_vm_start_migration: check dirty_bitmap before using it as target for memset() (Thomas Huth) [1753260] - [fs] cifs: fix credits leak for SMB1 oplock breaks (Leif Sahlberg) [1752243]- Revert "[redhat] switch secureboot kernel image signing to release keys" (Phillip Lougher) - [iommu] iommu/amd: Add support for X2APIC IOMMU interrupts (Suravee Suthikulpanit) [1734842] - [vhost] vhost: make sure log_num < in_num (Eugenio Perez) [1750882] {CVE-2019-14835}- [kernel] open the RHEL 8.2 development (Phillip Lougher) - [md] Revert "[md] dm: eliminate 'split_discard_bios' flag from DM target interface" (Mike Snitzer) [1749929] - [md] Revert "[md] dm: make sure to obey max_io_len_target_boundary" (Mike Snitzer) [1749929] - [pci] PCI: Restore Resizable BAR size bits correctly for 1MB BARs (Myron Stowe) [1717760] - [net] netfilter: nft_fib_netdev: Terminate rule eval if protocol=IPv6 and ipv6 module is disabled (Phil Sutter) [1743945] - [net] netfilter: bridge: Drops IPv6 packets if IPv6 module is not loaded (Phil Sutter) [1743945] - [drm] drm/qxl: get vga ioports (Gerd Hoffmann) [1728936] - [drm] drm/i915: Call dma_set_max_seg_size() in i915_driver_hw_probe() (Lyude Paul) [1724363]- [md] Revert "[md] dm: eliminate 'split_discard_bios' flag from DM target interface" (Mike Snitzer) [1749929] - [md] Revert "[md] dm: make sure to obey max_io_len_target_boundary" (Mike Snitzer) [1749929] - [pci] PCI: Restore Resizable BAR size bits correctly for 1MB BARs (Myron Stowe) [1717760] - [net] netfilter: nft_fib_netdev: Terminate rule eval if protocol=IPv6 and ipv6 module is disabled (Phil Sutter) [1743945] - [net] netfilter: bridge: Drops IPv6 packets if IPv6 module is not loaded (Phil Sutter) [1743945] - [drm] drm/qxl: get vga ioports (Gerd Hoffmann) [1728936] - [drm] drm/i915: Call dma_set_max_seg_size() in i915_driver_hw_probe() (Lyude Paul) [1724363]- [net] netfilter: nft_set: fix allocation size overflow in privsize callback. (Florian Westphal) [1746338] - [net] net: route dump netlink NLM_F_MULTI flag missing (Stefano Brivio) [1745971] - [net] sched: pfifo_fast: fix wrong dereference in pfifo_fast_enqueue (Davide Caratti) [1745390] - [net] sched: pfifo_fast: fix wrong dereference when qdisc is reset (Davide Caratti) [1745387] - [scsi] scsi: vmw_pscsi: Fix use-after-free in pvscsi_queue_lck() (David Milburn) [1746597]- [drm] drm/virtio: use virtio_max_dma_size (Gerd Hoffmann) [1739291] - [mm] hwpoison, memory_hotplug: allow hwpoisoned pages to be offlined (Rafael Aquini) [1706088] - [powerpc] kvm: ppc: book3s: Enable XIVE native capability only if OPAL has required functions [BZ1744884] (David Gibson) [1744884] - [scsi] scsi: lpfc: Fix oops when fewer hdwqs than cpus (Dick Kennedy) [1745731] - [scsi] scsi: lpfc: Limit xri count for kdump environment (Dick Kennedy) [1745731] - [scsi] scsi: lpfc: Mitigate high memory pre-allocation by SCSI-MQ (Dick Kennedy) [1745731] - [scsi] scsi: qla2xxx: Fix hardirq-unsafe locking (Himanshu Madhani) [1719941] - [x86] Revert "[x86] x86/kexec/64: Prevent kexec from 5-level paging to a 4-level only kernel" (Baoquan He) [1669088] - [x86] Revert "[x86] x86/boot: Add xloadflags bits to check for 5-level paging support" (Baoquan He) [1669088]- [wireless] mwifiex: fix 802.11n/WPA detection (Jarod Wilson) [1714476] {CVE-2019-3846}- [x86] x86/kdump: Reserve extra memory when SME or SEV is active (Kairui Song) [1728519] - [scsi] scsi: qla2xxx: Fix hardlockup in abort command during driver remove (Himanshu Madhani) [1690041] - [scsi] qla2xxx: Update driver version to 10.01.00.15.08.1-k1 (Himanshu Madhani) [1690041] - [scsi] scsi: qla2xxx: Fix panic from use after free in qla2x00_async_tm_cmd (Himanshu Madhani) [1690041] - [scsi] scsi: qla2xxx: cleanup trace buffer initialization (Himanshu Madhani) [1690041] - [scsi] scsi: qla2xxx: qla2x00_alloc_fw_dump: set ha->eft (Himanshu Madhani) [1690041] - [scsi] scsi: qla2xxx: Use mutex protection during qla2x00_sysfs_read_fw_dump() (Himanshu Madhani) [1690041] - [scsi] scsi: qla2xxx: move IO flush to the front of NVME rport unregistration (Himanshu Madhani) [1690041] - [scsi] scsi: qla2xxx: Fix NVME cmd and LS cmd timeout race condition (Himanshu Madhani) [1690041] - [scsi] scsi: qla2xxx: Complain loudly about reference count underflow (Himanshu Madhani) [1690041] - [scsi] scsi: qla2xxx: Fix race conditions in the code for aborting SCSI commands (Himanshu Madhani) [1690041] - [scsi] scsi: qla2xxx: Use an on-stack completion in qla24xx_control_vp() (Himanshu Madhani) [1690041] - [scsi] scsi: qla2xxx: Change abort wait_loop from msleep to wait_event_timeout (Himanshu Madhani) [1690041] - [scsi] scsi: qla2xxx: Set the SCSI command result before calling the command done (Himanshu Madhani) [1690041] - [scsi] scsi: qla2xxx: on session delete, return nvme cmd (Himanshu Madhani) [1690041] - [scsi] scsi: qla2xxx: Fix kernel crash after disconnecting NVMe devices (Himanshu Madhani) [1690041] - [scsi] scsi: qla2xxx: Remove the fcport test from qla_nvme_abort_work() (Himanshu Madhani) [1690041] - [scsi] scsi: qla2xxx: Fix driver unload when FC-NVMe LUNs are connected (Himanshu Madhani) [1690041] - [scsi] scsi: qla2xxx: Set remote port devloss timeout to 0 (Himanshu Madhani) [1690041] - [scsi] scsi: qla2xxx: Fix panic in qla_dfs_tgt_counters_show (Himanshu Madhani) [1690041] - [scsi] scsi: qla2xxx: Fix fw dump corruption (Himanshu Madhani) [1690041] - [x86] kvm: disable nested virt on pre-haswell processors (Paolo Bonzini) [1739739] - [x86] kvm: taint kernel for tech-preview when using nested virtualization (Paolo Bonzini) [1739739] - [x86] kvm: x86: hyper-v: don't crash on KVM_GET_SUPPORTED_HV_CPUID when kvm_intel.nested is disabled (Vitaly Kuznetsov) [1746100]- [char] ipmi: move message error checking to avoid deadlock (Tony Camuso) [1731388 1718699] - [crypto] crypto: testmgr - mark crc32 checksum as FIPS allowed (Neil Horman) [1738887] - [include] dma-mapping: use dma_get_mask in dma_addressing_limited (Don Dutile) [1738631] - [kernel] dma-direct: correct the physical addr in dma_direct_sync_sg_for_cpu/device (Don Dutile) [1738631] - [kernel] dma-direct: only limit the mapping size if swiotlb could be used (Don Dutile) [1738631] - [include] dma-mapping: add a dma_addressing_limited helper (Don Dutile) [1738631] - [kernel] dma-direct: Force unencrypted DMA under SME for certain DMA masks (Don Dutile) [1738631] - [lib] lib/genalloc: introduce chunk owners (Don Dutile) [1738631] - [lib] lib/genalloc: add gen_pool_dma_zalloc() for zeroed DMA allocations (Don Dutile) [1738631] - [lib] lib/genalloc.c: fix allocation of aligned buffer from non-aligned chunk (Don Dutile) [1738631] - [include] dma-mapping: remove dma_max_pfn (Don Dutile) [1738631] - [mmc] mmc: core: let the dma map ops handle bouncing (Don Dutile) [1738631] - [mmc] mmc: core: align max segment size with logical block size (Don Dutile) [1738631] - [kernel] swiotlb: no need to check return value of debugfs_create functions (Don Dutile) [1738631] - [xen] swiotlb: fix phys_addr_t overflow warning (Don Dutile) [1738631] - [kernel] swiotlb: Return consistent SWIOTLB segments/nr_tbl (Don Dutile) [1738631] - [kernel] swiotlb: Group identical cleanup in swiotlb_cleanup() (Don Dutile) [1738631] - [kernel] swiotlb: save io_tlb_used to local variable before leaving critical section (Don Dutile) [1738631] - [kernel] swiotlb: dump used and total slots when swiotlb buffer is full (Don Dutile) [1738631] - [kernel] swiotlb: add checks for the return value of memblock_alloc*() (Don Dutile) [1738631] - [kernel] swiotlb: add debugfs to track swiotlb buffer usage (Don Dutile) [1738631] - [kernel] dma-direct: fix DMA_ATTR_NO_KERNEL_MAPPING (Don Dutile) [1738631] - [kernel] dma-direct: handle DMA_ATTR_NO_KERNEL_MAPPING in common code (Don Dutile) [1738631] - [kernel] dma-direct: fix DMA_ATTR_NO_KERNEL_MAPPING for remapped allocations (Don Dutile) [1738631] - [kernel] dma-mapping: remove a pointless memset in dma_atomic_pool_init (Don Dutile) [1738631] - [kernel] dma-mapping: fix lack of DMA address assignment in generic remap allocator (Don Dutile) [1738631] - [kernel] dma-remap: support DMA_ATTR_NO_KERNEL_MAPPING (Don Dutile) [1738631] - [kernel] dma-mapping: support highmem in the generic remap allocator (Don Dutile) [1738631] - [kernel] dma-direct: handle DMA_ATTR_NON_CONSISTENT in common code (Don Dutile) [1738631] - [kernel] dma-mapping: add a dma_alloc_need_uncached helper (Don Dutile) [1738631] - [kernel] dma-mapping: truncate dma masks to what dma_addr_t can hold (Don Dutile) [1738631] - [kernel] dma-remap: Avoid de-referencing NULL atomic_pool (Don Dutile) [1738631] - [include] dma-buf: add DMA_BUF_SET_NAME ioctls (Don Dutile) [1738631] - [include] dma-buf: give each buffer a full-fledged inode (Don Dutile) [1738631] - [fs] new wrapper: alloc_file_pseudo() (Don Dutile) [1738631] - [kernel] dma-direct: provide generic support for uncached kernel segments (Don Dutile) [1738631] - [include] dma-contiguous: fix !CONFIG_DMA_CMA version of dma_{alloc, free}_contiguous() (Don Dutile) [1738631] - [kernel] dma-contiguous: use fallback alloc_pages for single pages (Don Dutile) [1738631] - [kernel] dma-contiguous: add dma_{alloc,free}_contiguous() helpers (Don Dutile) [1738631] - [iommu] iommu/dma: Fix condition check in iommu_dma_unmap_sg (Don Dutile) [1738631] - [iommu] iommu/dma: move the arm64 wrappers to common code (Don Dutile) [1738631] - [iommu] iommu/dma-iommu.c: convert to use vm_map_pages() (Don Dutile) [1738631] - [mm] mm: introduce new vm_map_pages() and vm_map_pages_zero() API (Don Dutile) [1738631] - [mm] arm64/iommu: handle non-remapped addresses in ->mmap and ->get_sgtable (Don Dutile) [1738631] - [arm64] arm64/mm: wire up CONFIG_ARCH_HAS_SET_DIRECT_MAP (Don Dutile) [1738631] - [kernel] mm/hibernation: Make hibernation handle unmapped pages (Don Dutile) [1738631] - [mm] page_poison: play nicely with KASAN (Don Dutile) [1738631] - [mm] mm/vmalloc: Avoid rare case of flushing TLB with weird arguments (Don Dutile) [1738631] - [mm] mm/vmalloc: Fix calculation of direct map addr range (Don Dutile) [1738631] - [mm] mm/vmalloc: Add flag for freeing of special permsissions (Don Dutile) [1738631] - [x86] x86/mm/cpa: Add set_direct_map_*() functions (Don Dutile) [1738631] - [arm64] dma-mapping: add a kconfig symbol for arch_setup_dma_ops availability (Don Dutile) [1738631] - [iommu] iommu/dma: Remove the flush_page callback (Don Dutile) [1738631] - [include] iommu/dma: Cleanup dma-iommu.h (Don Dutile) [1738631] - [dma] dmaengine: Add matching device node validation in __dma_request_channel() (Don Dutile) [1738631] - [dma] dmaengine: dma_request_chan_by_mask() to handle deferred probing (Don Dutile) [1738631] - [include] dma-buf: start caching of sg_table objects v2 (Don Dutile) [1738631] - [kernel] dma-mapping: add a Kconfig symbol to indicate arch_dma_prep_coherent presence (Don Dutile) [1738631] - [iommu] iommu/dma-iommu: Remove iommu_dma_map_msi_msg() (Don Dutile) [1738631] - [irqchip] irqchip/ls-scfg-msi: Don't map the MSI page in ls_scfg_msi_compose_msg() (Don Dutile) [1738631] - [irqchip] irqchip/gic-v3-mbi: Don't map the MSI page in mbi_compose_m{b, s}i_msg() (Don Dutile) [1738631] - [irqchip] irqchip/gicv2m: Don't map the MSI page in gicv2m_compose_msi_msg() (Don Dutile) [1738631] - [irqchip] irqchip/gic-v3-its: Don't map the MSI page in its_irq_compose_msi_msg() (Don Dutile) [1738631] - [irqchip] irqchip/gic-v3-its: Align PCI Multi-MSI allocation on their size (Don Dutile) [1738631] - [iommu] iommu/dma-iommu: Split iommu_dma_map_msi_msg() in two parts (Don Dutile) [1738631] - [iommu] iommu/dma: Remove unused variable (Don Dutile) [1738631] - [iommu] iommu/dma: Use NUMA aware memory allocations in __iommu_dma_alloc_pages() (Don Dutile) [1738631] - [kernel] genirq/msi: Add a new field in msi_desc to store an IOMMU cookie (Don Dutile) [1738631] - [pci] PCI/MSI: Remove unused mask_msi_irq() and unmask_msi_irq() (Don Dutile) [1738631] - [include] PCI/MSI: Remove unused __write_msi_msg() and write_msi_msg() (Don Dutile) [1738631] - [include] genirq/msi: Clean up usage of __u8/__u16 types (Don Dutile) [1738631] - [base] platform-msi: Free descriptors in platform_msi_domain_free() (Don Dutile) [1738631] - [base] genirq/msi: Allow creation of a tree-based irqdomain for platform-msi (Don Dutile) [1738631] - [kernel] dma-debug: only skip one stackframe entry (Don Dutile) [1738631] - [dma] dmaengine: idma64: Move driver name to the header (Don Dutile) [1738631] - [kernel] dma-mapping: remove an unnecessary NULL check (Don Dutile) [1738631] - [include] dma-buf: Update [un]map documentation to match the other functions (Don Dutile) [1738631] - [include] dma-buf: Remove leftover [un]map_atomic comments (Don Dutile) [1738631] - [x86] x86/dma: Remove the x86_dma_fallback_dev hack (Don Dutile) [1738631] - [kernel] dma-mapping: remove leftover NULL device support (Don Dutile) [1738631] - [kernel] dma: select GENERIC_ALLOCATOR for DMA_REMAP (Don Dutile) [1738631] - [crypto] crypto: ccp - Ignore unconfigured CCP device on suspend/resume (Gary Hook) [1743999] - [md] dm snapshot: fix oversights in optional discard support (Mike Snitzer) [1744291] - [md] dm snapshot: add optional discard support features (Mike Snitzer) [1744291] - [md] dm snapshot: Use fine-grained locking scheme (Mike Snitzer) [1744291] - [md] dm snapshot: Make exception tables scalable (Mike Snitzer) [1744291] - [md] dm snapshot: Replace mutex with rw semaphore (Mike Snitzer) [1744291] - [md] dm snapshot: Don't sleep holding the snapshot lock (Mike Snitzer) [1744291] - [include] list_bl: Add hlist_bl_add_before/behind helpers (Mike Snitzer) [1744291] - [powerpc] powerpc/rtas: use device model APIs and serialization during LPM (Steve Best) [1741643] - [firmware] firmware/efi: Add NULL pointer checks in efivars API functions (Jarod Wilson) [1741949] - [fs] ovl: fix wrong flags check in FS_IOC_FS[SG]ETXATTR ioctls (Miklos Szeredi) [1724518] - [include] mm: page_cache_add_speculative(): refactor out some code duplication (Michael Petlan) [1738331] - [netdrv] ibmvnic: Unmap DMA address of TX descriptor buffers after use (Steve Best) [1743155] - [fs] NFSv4.1 don't free interrupted slot on open (Steve Dickson) [1708345] - [fs] NFSv4.1: Avoid false retries when RPC calls are interrupted (Steve Dickson) [1708345] - [net] ipv6: Fix return value of ipv6_mc_may_pull() for malformed packets (Stefano Brivio) [1743203] - [net] inet: frags: re-introduce skb coalescing for local delivery (Guillaume Nault) [1719418]- [net] xfrm: fix sa selector validation (Sabrina Dubroca) [1738871] - [net] xfrm: Fix xfrm sel prefix length validation (Sabrina Dubroca) [1738871] - [kernel] locking/rwsem: Prevent decrement of reader count before increment (Waiman Long) [1740338] - [include] include/list: Backport list_cut_before() (Waiman Long) [1740338] - [vhost] vhost: vsock: add weight support (Jason Wang) [1738494] - [vhost] vhost_net: fix possible infinite loop (Jason Wang) [1738494] - [vhost] vhost: introduce vhost_exceeds_weight() (Jason Wang) [1738494] - [vhost] vhost: reject zero size iova range (Jason Wang) [1738494] - [vhost] vhost: silence an unused-variable warning (Jason Wang) [1738494] - [vhost] vhost: correctly check the return value of translate_desc() in log_used() (Jason Wang) [1738494] - [vhost] vhost: return EINVAL if iovecs size does not match the message size (Jason Wang) [1738494] - [vhost] Revert "net: vhost: lock the vqs one by one" (Jason Wang) [1738494] - [vhost] vhost_net: switch to use mutex_trylock() in vhost_net_busy_poll() (Jason Wang) [1738494] - [vhost] vhost: make sure used idx is seen before log in vhost_add_used_n() (Jason Wang) [1738494] - [vhost] vhost: fix IOTLB locking (Jason Wang) [1738494] - [netdrv] tun: wake up waitqueues after IFF_UP is set (Jason Wang) [1738494] - [netdrv] tuntap: synchronize through tfiles array instead of tun->numqueues (Jason Wang) [1738494] - [netdrv] tuntap: fix dividing by zero in ebpf queue selection (Jason Wang) [1738494] - [netdrv] tun: Remove unused first parameter of tun_get_iff() (Jason Wang) [1738494] - [netdrv] tun: Add ioctl() TUNGETDEVNETNS cmd to allow obtaining real net ns of tun device (Jason Wang) [1738494] - [netdrv] tun: add a missing rcu_read_unlock() in error path (Jason Wang) [1738494] - [netdrv] tun: properly test for IFF_UP (Jason Wang) [1738494] - [netdrv] tun: remove unnecessary memory barrier (Jason Wang) [1738494] - [netdrv] tun: fix blocking read (Jason Wang) [1738494] - [netdrv] tun: move the call to tun_set_real_num_queues (Jason Wang) [1738494] - [netdrv] tun: publish tfile after it's fully initialized (Jason Wang) [1738494] - [netdrv] tun: replace get_cpu_ptr with this_cpu_ptr when bh disabled (Jason Wang) [1738494] - [netdrv] tun: remove skb access after netif_receive_skb (Jason Wang) [1738494] - [netdrv] tun: remove unnecessary check in tun_flow_update (Jason Wang) [1738494] - [netdrv] tuntap: fix multiqueue rx (Jason Wang) [1738494] - [netdrv] tun: Adjust on-stack tun_page initialization. (Jason Wang) [1738494] - [netdrv] tuntap: free XDP dropped packets in a batch (Jason Wang) [1738494] - [vhost] vhost_net: mitigate page reference counting during page frag refill (Jason Wang) [1738494] - [vhost] net: vhost: remove bad code line (Jason Wang) [1738494] - [vhost] net: vhost: add rx busy polling in tx path (Jason Wang) [1738494] - [vhost] net: vhost: factor out busy polling logic to vhost_net_busy_poll() (Jason Wang) [1738494] - [vhost] net: vhost: replace magic number of lock annotation (Jason Wang) [1738494] - [vhost] net: vhost: lock the vqs one by one (Jason Wang) [1738494] - [vhost] vhost_net: add a missing error return (Jason Wang) [1738494] - [netdrv] net: tun: remove useless codes of tun_automq_select_queue (Jason Wang) [1738494] - [vhost] vhost_net: batch submitting XDP buffers to underlayer sockets (Jason Wang) [1738494] - [netdrv] tap: accept an array of XDP buffs through sendmsg() (Jason Wang) [1738494] - [netdrv] tuntap: accept an array of XDP buffs through sendmsg() (Jason Wang) [1738494] - [netdrv] tun: switch to new type of msg_control (Jason Wang) [1738494] - [netdrv] tuntap: move XDP flushing out of tun_do_xdp() (Jason Wang) [1738494] - [netdrv] tuntap: split out XDP logic (Jason Wang) [1738494] - [netdrv] tuntap: tweak on the path of skb XDP case in tun_build_skb() (Jason Wang) [1738494] - [netdrv] tuntap: simplify error handling in tun_build_skb() (Jason Wang) [1738494] - [netdrv] tuntap: enable bh early during processing XDP (Jason Wang) [1738494] - [netdrv] tuntap: switch to use XDP_PACKET_HEADROOM (Jason Wang) [1738494] - [netdrv] net: sock: introduce SOCK_XDP (Jason Wang) [1738494] - [vhost] vhost: correctly check the iova range when waking virtqueue (Jason Wang) [1738494] - [vhost] vhost: switch to use new message format (Jason Wang) [1738494] - [vhost] vhost_net: batch update used ring for datacopy TX (Jason Wang) [1738494] - [vhost] vhost_net: rename VHOST_RX_BATCH to VHOST_NET_BATCH (Jason Wang) [1738494] - [vhost] vhost_net: rename vhost_rx_signal_used() to vhost_net_signal_used() (Jason Wang) [1738494] - [vhost] vhost_net: split out datacopy logic (Jason Wang) [1738494] - [vhost] vhost_net: introduce tx_can_batch() (Jason Wang) [1738494] - [vhost] vhost_net: introduce get_tx_bufs() (Jason Wang) [1738494] - [vhost] vhost_net: introduce vhost_exceeds_weight() (Jason Wang) [1738494] - [vhost] vhost_net: introduce helper to initialize tx iov iter (Jason Wang) [1738494] - [vhost] vhost_net: drop unnecessary parameter (Jason Wang) [1738494] - [vhost] vhost_net: Avoid rx vring kicks during busyloop (Jason Wang) [1738494] - [vhost] vhost_net: Avoid rx queue wake-ups during busypoll (Jason Wang) [1738494] - [vhost] vhost_net: Avoid tx vring kicks during busyloop (Jason Wang) [1738494] - [vhost] vhost_net: Rename local variables in vhost_net_rx_peek_head_len (Jason Wang) [1738494] - [mm] x86/mm/fault: Allow stack access below rsp (Waiman Long) [1739341] - [mm] x86/mm: Clarify hardware vs. software "error_code" (Waiman Long) [1739341] - [net] libceph: handle an empty authorize reply (Ilya Dryomov) [1720582]- [drm] drm: Don't retry infinitely when receiving no data on i2c over AUX (Lyude Paul) [1672361] - [scsi] scsi: hpsa: update revision to RH3 (Joseph Szczypek) [1739615] - [scsi] scsi: hpsa: remove printing internal cdb on tag collision (Joseph Szczypek) [1739615] - [scsi] scsi: hpsa: correct scsi command status issue after reset (Joseph Szczypek) [1739615] - [scsi] hpsa: docs: fix broken doc references due to renames (Joseph Szczypek) [1739615] - [scsi] hpsa: docs: pci: fix broken links due to conversion from pci.txt to pci.rst (Joseph Szczypek) [1739615]- [drm] drm/nouveau: Only recalculate PBN/VCPI on mode/connector changes (Lyude Paul) [1734452 1734444] - [drm] drm/nouveau: Only release VCPI slots on mode changes (Lyude Paul) [1734452 1734444] - [infiniband] RDMA/srp: turn off 'use_imm_data' by default (Honggang Li) [1725158] - [gpu] vga_switcheroo: Fix missing gpu_bound call at audio client registration (Lyude Paul) [1739727] - [net] Bluetooth: Fix faulty expression for minimum encryption key size check (Gopal Tiwari) [1743076] {CVE-2019-9506} - [net] Bluetooth: Fix regression with minimum encryption key size alignment (Gopal Tiwari) [1743076] {CVE-2019-9506} - [net] Bluetooth: Align minimum encryption key size for LE and BR/EDR connections (Gopal Tiwari) [1743076] {CVE-2019-9506}- [rpmspec] perf: package tips.txt (Michael Petlan) [1663816] - [mm] mm/memblock.c: skip kmemleak for kasan_init() (Mark Langsdorf) [1722741] - [kernel] mm/resource: Return real error codes from walk failures (Kairui Song) [1740443] - [tools] perf tests: Fix record+probe_libc_inet_pton.sh for powerpc64 (Michael Petlan) [1733231] - [tools] selftests/powerpc: Fix Makefiles for headers_install change (Steve Best) [1740127] - [tools] selftests/powerpc: Add more version checks to alignment_handler test (Steve Best) [1740127] - [tools] selftests/powerpc: Skip earlier in alignment_handler test (Steve Best) [1740127] - [tools] selftests/powerpc: Consolidate copy/paste test logic (Steve Best) [1740127] - [s390] s390/bpf: use 32-bit index for tail calls (Yauheni Kaliuta) [1719377] - [s390] s390/bpf: fix lcgr instruction encoding (Yauheni Kaliuta) [1719377] - [tools] selftests/bpf: fix "alu with different scalars 1" on s390 (Yauheni Kaliuta) [1719377] - [net] bpf: fix use after free in bpf_evict_inode (Yauheni Kaliuta) [1719377] - [arm64] bpf, arm64: remove prefetch insn in xadd mapping (Yauheni Kaliuta) [1719377] - [scsi] scsi: lpfc: Fix crash when cpu count is 1 and null irq affinity mask (Dick Kennedy) [1720905] - [md] md: add bitmap_abort label in md_run (Nigel Croxon) [1721944] - [md] md-bitmap: create and destroy wb_info_pool with the change of bitmap (Nigel Croxon) [1721944] - [md] md-bitmap: create and destroy wb_info_pool with the change of backlog (Nigel Croxon) [1721944] - [md] md: introduce mddev_create/destroy_wb_pool for the change of member device (Nigel Croxon) [1721944] - [md] md/raid1: fix potential data inconsistency issue with write behind device (Nigel Croxon) [1721944] - [md] md: fix for divide error in status_resync (Nigel Croxon) [1721944] - [md] md/raid10: read balance chooses idlest disk for SSD (Nigel Croxon) [1721944] - [md] md: raid1-10: Unify r{1,10}bio_pool_free (Nigel Croxon) [1721944] - [md] md: raid10: Use struct_size() in kmalloc() (Nigel Croxon) [1721944] - [md] md/raid1: get rid of extra blank line and space (Nigel Croxon) [1721944] - [md] md: fix spelling typo and add necessary space (Nigel Croxon) [1721944] - [md] md: md.c: Return -ENODEV when mddev is NULL in rdev_attr_show (Nigel Croxon) [1721944] - [md] raid5-cache: Need to do start() part job after adding journal device (Nigel Croxon) [1721944] - [md] drivers: md: Unify common definitions of raid1 and raid10 (Nigel Croxon) [1721944] - [kernel] userfaultfd: use RCU to free the task struct when fork fails (Andrea Arcangeli) [1718498]- [efi] efi/arm: Revert "Defer persistent reservations until after paging_init()" (Mark Salter) [1699961] - [s390] s390/ipl: Fix detection of has_secure attribute (Philipp Rudo) [1740653] - [fs] xfs: don't crash on null attr fork xfs_bmapi_read (Bill O'Donnell) [1719094] - [powerpc] powerpc/mm: Don't report PUDs as memory leaks when using kmemleak (Desnes Augusto Nunes do Rosario) [1716952] - [x86] kvm: x86: introduce is_pae_paging (Vitaly Kuznetsov) [1720556] - [s390] s390/kasan: Fix recursion loop when triggering kdump (Philipp Rudo) [1740249] - [s390] s390/dasd: fix endless loop after read unit address configuration (Philipp Rudo) [1740251] - [tools] selftests/powerpc: Give some tests longer to run (Steve Best) [1740420] - [nvme] nvme-rdma: use dynamic dma mapping per command (David Milburn) [1738252] - [nvme] nvme-rdma: remove redundant reference between ib_device and tagset (David Milburn) [1738252] - [x86] kvm: svm/avic: Do not send AVIC doorbell to self (Janakarajan Natarajan) [1720981] - [net] tipc: initialise addr_trial_end when setting node addresses (Jon Maloy) [1740317] - [net] tipc: ensure head->lock is initialised (Jon Maloy) [1740317] - [net] netfilter: nf_tables: fix oops during rule dump (Stefano Brivio) [1739734] - [include] netfilter: nf_tables: correct NFT_LOGLEVEL_MAX value (Stefano Brivio) [1739734] - [net] netfilter: nft_compat: do not dump private area (Stefano Brivio) [1739734] - [net] netfilter: nf_tables: fix register ordering (Stefano Brivio) [1739734] - [net] ipvs: defer hook registration to avoid leaks (Stefano Brivio) [1739734] - [net] ipvs: Fix use-after-free in ip_vs_in (Stefano Brivio) [1739734] - [net] netfilter: nf_conntrack_h323: restore boundary check correctness (Stefano Brivio) [1739734] - [net] netfilter: fix nf_l4proto_log_invalid to log invalid packets (Stefano Brivio) [1739734] - [net] netfilter: nf_tables: prevent shift wrap in nft_chain_parse_hook() (Stefano Brivio) [1739734] - [net] netfilter: nft_set_rbtree: check for inactive element after flag mismatch (Stefano Brivio) [1739734] - [net] netfilter: nft_compat: use-after-free when deleting targets (Stefano Brivio) [1739734] - [net] netfilter: nf_tables: fix leaking object reference count (Stefano Brivio) [1739734] - [net] ip6_gre: reload ipv6h in prepare_ip6gre_xmit_ipv6 (Stefano Brivio) [1739640] - [net] ipv6: Unlink sibling route in case of failure (Stefano Brivio) [1739640] - [net] ipv6: Default fib6_type to RTN_UNICAST when not set (Stefano Brivio) [1739640] - [net] inet: frags: call inet_frags_fini() after unregister_pernet_subsys() (Stefano Brivio) [1739640] - [net] ipv6: flowlabel: fl6_sock_lookup() must use atomic_inc_not_zero (Stefano Brivio) [1739640] - [net] netfilter: ipset: Fix rename concurrency with listing (Stefano Brivio) [1739578] - [net] netfilter: ipset: Fix error path in set_target_v3_checkentry() (Stefano Brivio) [1739578] - [net] netfilter: ipset: Fix the last missing check of nla_parse_deprecated() (Stefano Brivio) [1739578] - [net] netfilter: ipset: fix a missing check of nla_parse (Stefano Brivio) [1739578] - [netdrv] ipvlan, l3mdev: fix broken l3s mode wrt local routes (Guillaume Nault) [1738329] - [net] sched: use temporary variable for actions indexes (Marcelo Leitner) [1739244 1729822 1729818 1729398] - [net] sched: cbs: Fix error path of cbs_module_init (Marcelo Leitner) [1739244 1729822 1729818 1729398] - [net] netem: fix use after free and double free with packet corruption (Marcelo Leitner) [1739244 1729822 1729818 1729398] - [net] netem: fix backlog accounting for corrupted GSO frames (Marcelo Leitner) [1739244 1729822 1729818 1729398] - [netdrv] macsec: fix checksumming after decryption (Sabrina Dubroca) [1738237] - [netdrv] macsec: fix use-after-free of skb during RX (Sabrina Dubroca) [1738237] - [net] xfrm interface: fix memory leak on creation (Sabrina Dubroca) [1738267] - [net] tls: fix socket wmem accounting on fallback with netem (Sabrina Dubroca) [1739260] - [net] tls: fix poll ignoring partially copied records (Sabrina Dubroca) [1739260] - [net] tls: make sure offload also gets the keys wiped (Sabrina Dubroca) [1739260] - [net] tls: reject offload of TLS 1.3 (Sabrina Dubroca) [1739260] - [net] tls: fix page double free on TX cleanup (Sabrina Dubroca) [1739260] - [net] tls, correctly account for copied bytes with multiple sk_msgs (Sabrina Dubroca) [1739260] - [net] tcp: fix tcp_set_congestion_control() use from bpf hook (Guillaume Nault) [1738272] - [net] tcp: Reset bytes_acked and bytes_received when disconnecting (Guillaume Nault) [1738272] - [net] tcp: Ensure DCTCP reacts to losses (Guillaume Nault) [1738272] - [net] tcp: tcp_v4_err() should be more careful (Guillaume Nault) [1738272] - [net] tcp: avoid resetting ACK timer upon receiving packet with ECN CWR flag (Guillaume Nault) [1738272] - [net] tcp: always ACK immediately on hole repairs (Guillaume Nault) [1738272] - [net] tcp: avoid resetting ACK timer in DCTCP (Guillaume Nault) [1738272] - [net] tcp: mandate a one-time immediate ACK (Guillaume Nault) [1738272] - [net] tipc: fix unitilized skb list crash (Xin Long) [1734298] - [net] tipc: compat: allow tipc commands without arguments (Xin Long) [1738397] - [net] sctp: factor out sctp_connect_add_peer (Xin Long) [1738393] - [net] sctp: factor out sctp_connect_new_asoc (Xin Long) [1738393] - [net] sctp: clean up __sctp_connect (Xin Long) [1738393] - [net] sctp: check addr_size with sa_family_t size in __sctp_setsockopt_connectx (Xin Long) [1738393] - [net] sctp: only copy the available addr data in sctp_transport_init (Xin Long) [1738393] - [net] sctp: drop unneeded likely() call around IS_ERR() (Xin Long) [1738393] - [net] sctp: fix warning "NULL check before some freeing functions is not needed" (Xin Long) [1738393] - [net] sctp: remove rcu_read_lock from sctp_bind_addr_state (Xin Long) [1738393] - [net] sctp: rename sp strm_interleave to ep intl_enable (Xin Long) [1738393] - [net] sctp: rename asoc intl_enable to asoc peer.intl_capable (Xin Long) [1738393] - [net] sctp: remove prsctp_enable from asoc (Xin Long) [1738393] - [net] sctp: remove reconf_enable from asoc (Xin Long) [1738393] - [net] sctp: count data bundling sack chunk for outctrlchunks (Xin Long) [1738393] - [net] sctp: fix error handling on stream scheduler initialization (Xin Long) [1738393] - [net] sctp: not bind the socket in sctp_connect (Xin Long) [1738393] - [net] sctp: change to hold sk after auth shkey is created successfully (Xin Long) [1738393] - [net] sctp: Free cookie before we memdup a new one (Xin Long) [1738393] - [net] Fix memory leak in sctp_process_init (Xin Long) [1738393] - [net] sctp: deduplicate identical skb_checksum_ops (Xin Long) [1738393] - [net] sctp: Check address length before reading address family (Xin Long) [1738393] - [net] sctp: Pass sk_buff_head explicitly to sctp_ulpq_tail_event(). (Xin Long) [1738393] - [net] sctp: Make sctp_enqueue_event tak an skb list. (Xin Long) [1738393] - [net] sctp: Use helper for sctp_ulpq_tail_event() when hooked up to ->enqueue_event (Xin Long) [1738393] - [net] sctp: Always pass skbs on a list to sctp_ulpq_tail_event(). (Xin Long) [1738393] - [net] sctp: Remove superfluous test in sctp_ulpq_reasm_drain(). (Xin Long) [1738393] - [netdrv] ppp: Remove direct skb_queue_head list pointer access. (Xin Long) [1738393] - [net] ipv6: fix neighbour resolution with raw socket (Stefano Brivio) [1728320] - [net] ipv6: constify rt6_nexthop() (Stefano Brivio) [1728320] - [net] openvswitch: fix csum updates for MPLS actions (Marcelo Leitner) [1738654] - [net] udp_gso: Allow TX timestamp with UDP GSO (Paolo Abeni) [1738585] - [net] bpf: udp: ipv6: Avoid running reuseport's bpf_prog from __udp6_lib_err (Paolo Abeni) [1738585] - [net] fix ifindex collision during namespace removal (Paolo Abeni) [1738492] - [net] rtnl: return early from rtnl_unregister_all when protocol isn't registered (Paolo Abeni) [1738492] - [net] neigh: fix use-after-free read in pneigh_get_next (Paolo Abeni) [1738492] - [net] socket: set sock->sk to NULL after calling proto_ops::release() (Paolo Abeni) [1738492] - [net] socket: make bond ioctls go through compat_ifreq_ioctl() (Paolo Abeni) [1738492] - [net] socket: fix SIOCGIFNAME in compat (Paolo Abeni) [1738492] - [net] Revert "kill dev_ifsioc()" (Paolo Abeni) [1738492] - [net] revert "socket: fix struct ifreq size in compat ioctl" (Paolo Abeni) [1738492] - [net] ip6_tunnel: fix possible use-after-free on xmit (Guillaume Nault) [1737105] - [net] genetlink: Fix a memory leak on error path (Guillaume Nault) [1737821] - [net] netfilter: ipset: Copy the right MAC address in bitmap:ip, mac and hash:ip, mac sets (Stefano Brivio) [1723605] - [net] netfilter: ipset: Actually allow destination MAC address for hash:ip, mac sets too (Stefano Brivio) [1723605] - [net] igmp: fix memory leak in igmpv3_del_delrec() (Hangbin Liu) [1736816] - [net] don't clear sock->sk early to avoid trouble in strparser (Hangbin Liu) [1736816] - [net] ipv4/igmp: fix build error if !CONFIG_IP_MULTICAST (Hangbin Liu) [1736816] - [net] ipv4/igmp: fix another memory leak in igmpv3_del_delrec() (Hangbin Liu) [1736816] - [net] route: set the deleted fnhe fnhe_daddr to 0 in ip_del_fnhe to fix a race (Hangbin Liu) [1736816] - [net] netlabel: fix out-of-bounds memory accesses (Hangbin Liu) [1736816] - [net] ipv4: Fix memory leak in network namespace dismantle (Hangbin Liu) [1736816] - [net] bridge: delete local fdb on device init failure (Hangbin Liu) [1736824] - [net] bridge: stp: don't cache eth dest pointer before skb pull (Hangbin Liu) [1736824] - [net] bridge: don't cache ether dest pointer on input (Hangbin Liu) [1736824] - [net] bridge: mcast: fix stale ipv6 hdr pointer when handling v6 query (Hangbin Liu) [1736824] - [net] bridge: mcast: fix stale nsrcs pointer in igmp3/mld2 report handling (Hangbin Liu) [1736824] - [net] bridge: fix per-port af_packet sockets (Hangbin Liu) [1736824] - [include] ip: fix ip_mc_may_pull() return value (Hangbin Liu) [1736824] - [net] bridge: use struct_size() helper (Hangbin Liu) [1736824] - [net] bridge: simplify ip_mc_check_igmp() and ipv6_mc_check_mld() calls (Hangbin Liu) [1736824] - [net] net/bridge/br_multicast: remove redundant variable "err" (Hangbin Liu) [1736824] - [x86] x86/kdump/64: Restrict kdump kernel reservation to <64TB (Baoquan He) [1669090] - [x86] x86/kexec/64: Prevent kexec from 5-level paging to a 4-level only kernel (Baoquan He) [1669088] - [x86] x86/boot: Add xloadflags bits to check for 5-level paging support (Baoquan He) [1669088] - [tools] perf header: Fix wrong node write in NUMA_TOPOLOGY feature (Michael Petlan) [1722044] - [tools] perf c2c: Fix c2c report for empty numa node (Michael Petlan) [1722044] - [x86] kvm: svm/avic: fix off-by-one in checking host APIC ID (Janakarajan Natarajan) [1720983]- [fs] gfs2: gfs2_walk_metadata fix (Andreas Grunbacher) [1724361] - [netdrv] mlx4/en_netdev: allow offloading VXLAN over VLAN (Paolo Abeni) [1733532] - [fs] xfs: always rejoin held resources during defer roll (Bill O'Donnell) [1706588] - [bluetooth] Bluetooth: hci_uart: check for missing tty operations (Gopal Tiwari) [1734239] {CVE-2019-10207}- [documentation] Documentation: Add swapgs description to the Spectre v1 documentation (Josh Poimboeuf) [1724501] {CVE-2019-1125} - [documentation] Documentation: Add section about CPU vulnerabilities for Spectre (Josh Poimboeuf) [1724501] {CVE-2019-1125} - [x86] x86/speculation/swapgs: Exclude ATOMs from speculation through SWAPGS (Josh Poimboeuf) [1724501] {CVE-2019-1125} - [x86] x86/entry/64: Use JMP instead of JMPQ (Josh Poimboeuf) [1724501] {CVE-2019-1125} - [x86] x86/speculation: Enable Spectre v1 swapgs mitigations (Josh Poimboeuf) [1724501] {CVE-2019-1125} - [x86] x86/speculation: Prepare entry code for Spectre v1 swapgs mitigations (Josh Poimboeuf) [1724501] {CVE-2019-1125} - [x86] x86/cpufeatures: Combine word 11 and 12 into a new scattered features word (Josh Poimboeuf) [1724501] {CVE-2019-1125} - [x86] x86/cpufeatures: Carve out CQM features retrieval (Josh Poimboeuf) [1724501] {CVE-2019-1125} - [netdrv] ibmveth: fix DMA unmap error in ibmveth_xmit_start error path (Steve Best) [1739431] - [rpmspec] rpmspec: use make macro to do headers_install with rpm CFLAGS/LDFLAGS ("Herton R. Krzesinski") [1738659] - [rpmspec] rpmspec: use tools_make for building tools ("Herton R. Krzesinski") [1738659] - [tools] tools gpio: Allow overriding CFLAGS ("Herton R. Krzesinski") [1738659] - [tools] tools thermal tmon: Allow overriding CFLAGS assignments ("Herton R. Krzesinski") [1738659] - [tools] tools iio: Override CFLAGS assignments ("Herton R. Krzesinski") [1738659] - [fs] NFS: Fix dentry revalidation on NFSv4 lookup (Steve Dickson) [1667774] - [fs] pNFS: Avoid read/modify/write when it is not necessary (Benjamin Coddington) [1680649] - [fs] pNFS: Fix potential corruption of page being written (Benjamin Coddington) [1680649] - [fs] gfs2: Inode dirtying fix (Andreas Grunbacher) [1724361] - [net] sunrpc: make visible processing error in bc_svc_process() ("J. Bruce Fields") [1660823] {CVE-2018-16884} - [net] sunrpc: remove unused xpo_prep_reply_hdr callback ("J. Bruce Fields") [1660823] {CVE-2018-16884} - [net] sunrpc: remove svc_tcp_bc_class ("J. Bruce Fields") [1660823] {CVE-2018-16884} - [net] sunrpc: replace svc_serv->sv_bc_xprt by boolean flag ("J. Bruce Fields") [1660823] {CVE-2018-16884} - [net] sunrpc: use-after-free in svc_process_common() ("J. Bruce Fields") [1660823] {CVE-2018-16884}- [scsi] scsi: implement .cleanup_rq callback (Ming Lei) [1696256] - [md] blk-mq: add callback of .cleanup_rq (Ming Lei) [1696256] - [block] blk-mq: insert rq with DONTPREP to hctx dispatch list when requeue (Ming Lei) [1696256] - [scsi] scsi: core: Fix race on creating sense cache (Ming Lei) [1696256] - [block] blk-mq: balance mapping between present CPUs and queues (Ming Lei) [1733040] - [block] blk-mq: Fix spelling in a source code comment (Ming Lei) [1733040] - [drm] drm/i915: Don't dereference request if it may have been retired when printing (Lyude Paul) [1715997] - [drm] drm/i915/icl: whitelist PS_(DEPTH|INVOCATION)_COUNT (Lyude Paul) [1715997] - [drm] drm/i915: whitelist PS_(DEPTH|INVOCATION)_COUNT (Lyude Paul) [1715997] - [drm] drm/i915: Support flags in whitlist WAs (Lyude Paul) [1715997] - [drm] drm/i915: Disable SAMPLER_STATE prefetching on all Gen11 steppings. (Lyude Paul) [1715997] - [drm] drm/i915/userptr: Acquire the page lock around set_page_dirty() (Lyude Paul) [1715997] - [drm] drm/i915/perf: fix ICL perf register offsets (Lyude Paul) [1715997] - [drm] drm/virtio: Add memory barriers for capset cache. (Lyude Paul) [1715997] - [drm] drm/amd/display: Always allocate initial connector state state (Lyude Paul) [1715997] - [drm] drm/vkms: Forward timer right after drm_crtc_handle_vblank (Lyude Paul) [1715997] - [drm] drm/crc-debugfs: Also sprinkle irqrestore over early exits (Lyude Paul) [1715997] - [drm] drm/crc-debugfs: User irqsafe spinlock in drm_crtc_add_crc_entry (Lyude Paul) [1715997] - [drm] drm/amd/display: Increase Backlight Gain Step Size (Lyude Paul) [1715997] - [drm] drm/amd/display: CS_TFM_1D only applied post EOTF (Lyude Paul) [1715997] - [drm] drm/edid: Fix a missing-check bug in drm_load_edid_firmware() (Lyude Paul) [1715997] - [drm] drm/amdkfd: Fix sdma queue map issue (Lyude Paul) [1715997] - [drm] drm/amdkfd: Fix a potential memory leak (Lyude Paul) [1715997] - [drm] drm/amd/display: Disable ABM before destroy ABM struct (Lyude Paul) [1715997] - [drm] drm/amdgpu/sriov: Need to initialize the HDP_NONSURFACE_BAStE (Lyude Paul) [1715997] - [drm] drm/amdgpu: Reserve shared fence for eviction fence (Lyude Paul) [1715997] - [drm] drm/amd/display: Disable cursor when offscreen in negative direction (Lyude Paul) [1715997] - [drm] drm/amd/display: Fill prescale_params->scale for RGB565 (Lyude Paul) [1715997] - [drm] drm/virtio: set seqno for dma-fence (Lyude Paul) [1715997] - [drivers] dma-buf: Discard old fence_excl on retrying get_fences_rcu for realloc (Lyude Paul) [1715997] - [drivers] dma-buf: balance refcount inbalance (Lyude Paul) [1715997] - [drm] drm/edid: parse CEA blocks embedded in DisplayID (Lyude Paul) [1715997] - [drm] drm/nouveau/i2c: Enable i2c pads & busses during preinit (Lyude Paul) [1715997] - [drm] drm: return -EFAULT if copy_to_user() fails (Lyude Paul) [1715997] - [drm] drm/vmwgfx: fix a warning due to missing dma_parms (Lyude Paul) [1715997] - [drm] drm/vmwgfx: Honor the sg list segment size limitation (Lyude Paul) [1715997] - [drm] drm/virtio: move drm_connector_update_edid_property() call (Lyude Paul) [1715997] - [drm] drm/amdgpu/gfx9: use reset default for PA_SC_FIFO_SIZE (Lyude Paul) [1715997] - [drm] drm/amdgpu: Don't skip display settings in hwmgr_resume() (Lyude Paul) [1717138 1715997] - [drm] drm/amd/powerplay: use hardware fan control if no powerplay fan table (Lyude Paul) [1715997] - [drm] drm/i915/ringbuffer: EMIT_INVALIDATE *before* switch context (Lyude Paul) [1715997] - [drm] drm/i915: Skip modeset for cdclk changes if possible (Lyude Paul) [1715997] - [drm] drm/i915: Remove redundant store of logical CDCLK state (Lyude Paul) [1715997] - [drm] drm/i915: Save the old CDCLK atomic state (Lyude Paul) [1715997] - [drm] drm/i915: Force 2*96 MHz cdclk on glk/cnl when audio power is enabled (Lyude Paul) [1715997] - [drm] drm/i915: Don't clobber M/N values during fastset check (Lyude Paul) [1715997] - [drm] drm/vmwgfx: Use the backdoor port if the HB port is not available (Lyude Paul) [1715997] - [drm] drm: add fallback override/firmware EDID modes workaround (Lyude Paul) [1715997] - [drm] drm/edid: abstract override/firmware EDID retrieval (Lyude Paul) [1715997] - [drm] drm/vmwgfx: NULL pointer dereference from vmw_cmd_dx_view_define() (Lyude Paul) [1715997] - [drm] drm/vmwgfx: integer underflow in vmw_cmd_dx_set_shader() leading to an invalid read (Lyude Paul) [1715997] - [drm] drm/amdgpu: keep stolen memory on picasso (Lyude Paul) [1715997] - [drm] drm/i915/dmc: protect against reading random memory (Lyude Paul) [1715997] - [drm] drm/i915: Fix per-pixel alpha with CCS (Lyude Paul) [1715997] - [drm] drm/i915/dsi: Use a fuzzy check for burst mode clock check (Lyude Paul) [1715997] - [drm] drm/i915/sdvo: Implement proper HDMI audio support for SDVO (Lyude Paul) [1715997] - [drm] drm/amdgpu/{uvd,vcn}: fetch ring's read_ptr after alloc (Lyude Paul) [1715997] - [drm] drm/amd/display: Use plane->color_space for dpp if specified (Lyude Paul) [1715997] - [drm] drm/amd/display: disable link before changing link settings (Lyude Paul) [1715997] - [drm] Revert "drm: allow render capable master with DRM_AUTH ioctls" (Lyude Paul) [1715997] - [drm] drm/amd: fix fb references in async update (Lyude Paul) [1715997] - [drm] drm/i915/gvt: Initialize intel_gvt_gtt_entry in stack (Lyude Paul) [1715997] - [drm] drm: don't block fb changes for async plane updates (Lyude Paul) [1715997] - [drm] drm/i915/gvt: emit init breadcrumb for gvt request (Lyude Paul) [1715997] - [drm] drm/amdgpu: fix ring test failure issue during s3 in vce 3.0 (V2) (Lyude Paul) [1715997] - [drm] drm/amd/display: Add ASICREV_IS_PICASSO (Lyude Paul) [1715997] - [drm] drm/amdgpu/soc15: skip reset on init (Lyude Paul) [1715997] - [include] drm/i915: Fix I915_EXEC_RING_MASK (Lyude Paul) [1715997] - [drm] drm/amdgpu: remove ATPX_DGPU_REQ_POWER_FOR_DISPLAYS check when hotplug-in (Lyude Paul) [1715997] - [drm] drm/radeon: prefer lower reference dividers (Lyude Paul) [1715997] - [drm] drm/amdgpu/psp: move psp version specific function pointers to early_init (Lyude Paul) [1715997] - [drm] drm: add non-desktop quirks to Sensics and OSVR headsets. (Lyude Paul) [1715997] - [drm] drm: add non-desktop quirk for Valve HMDs (Lyude Paul) [1715997] - [drm] drm/cma-helper: Fix drm_gem_cma_free_object() (Lyude Paul) [1715997] - [drm] drm/lease: Make sure implicit planes are leased (Lyude Paul) [1715997] - [drm] drm: Expose "FB_DAMAGE_CLIPS" property to atomic aware user-space only (Lyude Paul) [1715997] - [drm] drm/atomic: Wire file_priv through for property changes (Lyude Paul) [1715997] - [drm] drm/fb-helper: generic: Call drm_client_add() after setup is done (Lyude Paul) [1715997] - [drm] drm/vmwgfx: Don't send drm sysfs hotplug events on initial master set (Lyude Paul) [1715997] - [drm] drm/vmwgfx: Fix compat mode shader operation (Lyude Paul) [1715997] - [drm] drm/vmwgfx: Fix user space handle equal to zero (Lyude Paul) [1715997] - [drm] drm: Wake up next in drm_read() chain if we are forced to putback the event (Lyude Paul) [1715997] - [drm] drm/drv: Hold ref on parent device during drm_device lifetime (Lyude Paul) [1715997] - [drm] drm/amd/display: Reset planes that were disabled in init_pipes (Lyude Paul) [1715997] - [drm] drm/amd/display: Fix exception from AUX acquire failure (Lyude Paul) [1715997] - [drm] drm: writeback: Fix leak of writeback job (Lyude Paul) [1715997] - [drm] drm/amd/display: Set stream->mode_changed when connectors change (Lyude Paul) [1715997] - [drm] drm/amd/display: half bandwidth for YCbCr420 during validation (Lyude Paul) [1715997] - [drm] drm/amd/display: Re-add custom degamma support (Lyude Paul) [1715997] - [drm] drm/amd/display: Fix Divide by 0 in memory calculations (Lyude Paul) [1715997] - [drm] drm/amd/display: add pipe lock during stream update (Lyude Paul) [1715997] - [drm] drm/amd/display: Reset alpha state for planes to the correct values (Lyude Paul) [1715997] - [drm] drm/amd/display: Update ABM crtc state on non-modeset (Lyude Paul) [1715997] - [drm] drm/amd/display: Link train only when link is DP and backend is enabled (Lyude Paul) [1715997] - [drm] drm/amd/display: fix releasing planes when exiting odm (Lyude Paul) [1715997] - [drm] drm/amd/display: Prevent cursor hotspot overflow for RV overlay planes (Lyude Paul) [1715997] - [drm] drm/amd/display: use proper formula to calculate bandwidth from timing (Lyude Paul) [1715997] - [drm] drm/amdgpu: fix old fence check in amdgpu_fence_emit (Lyude Paul) [1715997] - [drm] drm/nouveau/bar/nv50: ensure BAR is mapped (Lyude Paul) [1715997] - [pci] PCI: Mark AMD Stoney Radeon R7 GPU ATS as broken (Lyude Paul) [1715997] - [kernel] locking/rwsem: Add missing ACQUIRE to read_slowpath exit when queue is empty (Waiman Long) [1737089] - [tools] perf vendor events power9: Added missing event descriptions (Michael Petlan) [1581405] - [crypto] crypto: skcipher - fix crash flushing dcache in error path (David Gibson) [1724370] - [netdrv] bnx2x: Prevent load reordering in tx completion processing (Manish Chopra) [1729599] - [x86] x86/boot/KASLR: Always return a value from process_mem_region (Baoquan He) [1564822] - [x86] x86/kexec: Add the ACPI NVS region to the ident map (Baoquan He) [1564822] - [x86] x86/boot: Call get_rsdp_addr() after console_init() (Baoquan He) [1564822] - [x86] x86/boot: Use efi_setup_data for searching RSDP on kexec-ed kernels (Baoquan He) [1564822] - [x86] x86/kexec: Add the EFI system tables and ACPI tables to the ident map (Baoquan He) [1564822] - [x86] x86/boot: Fix incorrect ifdeffery scope (Baoquan He) [1564822] - [x86] x86/boot: Correct RSDP parsing with 32-bit EFI (Baoquan He) [1564822] - [x86] x86/boot: Fix randconfig build error due to MEMORY_HOTREMOVE (Baoquan He) [1564822] - [x86] x86/boot: Fix cmdline_find_option() prototype visibility (Baoquan He) [1564822] - [x86] x86/boot/KASLR: Limit KASLR to extract the kernel in immovable memory only (Baoquan He) [1564822] - [x86] x86/boot: Parse SRAT table and count immovable memory regions (Baoquan He) [1564822] - [x86] x86/boot: Early parse RSDP and save it in boot_params (Baoquan He) [1564822] - [x86] x86/boot: Search for RSDP in memory (Baoquan He) [1564822] - [x86] x86/boot: Search for RSDP in the EFI tables (Baoquan He) [1564822] - [x86] x86/boot: Add "acpi_rsdp=" early parsing (Baoquan He) [1564822] - [x86] x86/boot: Copy kstrtoull() to boot/string.c (Baoquan He) [1564822] - [x86] x86/boot: Use CC_SET()/CC_OUT() instead of open coding it (Baoquan He) [1564822] - [x86] x86/boot: Build the command line parsing code unconditionally (Baoquan He) [1564822] - [x86] x86/boot: Clear RSDP address in boot_params for broken loaders (Baoquan He) [1564822] - [x86] x86/acpi, x86/boot: Take RSDP address from boot params if available (Baoquan He) [1564822] - [x86] x86/boot: Mostly revert commit ae7e1238e68f2a ("Add ACPI RSDP address to setup_header") (Baoquan He) [1564822] - [x86] x86/acpi, x86/boot: Take RSDP address for boot params if available (Baoquan He) [1564822] - [x86] x86/boot: Add ACPI RSDP address to setup_header (Baoquan He) [1564822] - [x86] x86/xen: Fix boot loader version reported for PVH guests (Baoquan He) [1564822] - [x86] x86/boot: Add missing va_end() to die() (Baoquan He) [1564822] - [x86] x86/boot/KASLR: Remove return value from handle_mem_options() (Baoquan He) [1564822] - [x86] x86/boot/KASLR: Make local variable mem_limit static (Baoquan He) [1564822] - [crypto] crypto: user - prevent operating on larval algorithms (Herbert Xu) [1728835]- [scsi] scsi: mpt3sas: Use 63-bit DMA addressing on SAS35 HBA (Tomas Henzl) [1734769] - [netdrv] bonding: Force slave speed check after link state recovery for 802.3ad (Jarod Wilson) [1732820] - [pci] PCI: hv: Add pci_destroy_slot() in pci_devices_present_work(), if necessary (Mohammed Gamal) [1733302] - [pci] PCI: hv: Add hv_pci_remove_slots() when we unload the driver (Mohammed Gamal) [1733302] - [pci] PCI: hv: Fix a use-after-free bug in hv_eject_device_work() (Mohammed Gamal) [1733302] - [pci] PCI: hv: Fix a memory leak in hv_eject_device_work() (Mohammed Gamal) [1733302] - [nvme] nvmet: fix setting ns queue's segment boundary (Ming Lei) [1734458]- [tools] perf script python: Remove explicit shebang from setup.py (Michael Petlan) [1664768 1663814] - [tools] perf script python: Remove explicit shebang from tests/attr.c (Michael Petlan) [1664768 1663814] - [tools] perf script python: Remove explicit shebang from Python scripts (Michael Petlan) [1664768 1663814] - [tools] perf script python: Use PyBytes for attr in trace-event-python (Michael Petlan) [1664768 1663814] - [tools] perf script python: Add trace_context extension module to sys.modules (Michael Petlan) [1663814 1664768] - [tools] perf scripts python: exported-sql-viewer.py: Fix python3 support (Michael Petlan) [1663814 1664768] - [tools] perf script python: Add Python3 support to export-to-sqlite.py (Michael Petlan) [1663814 1664768] - [tools] perf script python: Add Python3 support to export-to-postgresql.py (Michael Petlan) [1663814 1664768] - [tools] perf script python: Add Python3 support to exported-sql-viewer.py (Michael Petlan) [1663814 1664768] - [tools] perf script python: Add Python3 support to intel-pt-events.py (Michael Petlan) [1663814 1664768] - [tools] perf script python: Add Python3 support to event_analyzing_sample.py (Michael Petlan) [1663814 1664768] - [tools] perf script python: add Python3 support to check-perf-trace.py (Michael Petlan) [1663814 1664768] - [tools] perf script python: Add Python3 support to futex-contention.py (Michael Petlan) [1663814 1664768] - [tools] perf script python: Remove mixed indentation (Michael Petlan) [1663814 1664768] - [tools] perf script python: Add Python3 support to syscall-counts-by-pid.py (Michael Petlan) [1663814 1664768] - [tools] perf script python: Add Python3 support to syscall-counts.py (Michael Petlan) [1663814 1664768] - [tools] perf script python: Add Python3 support to stackcollapse.py (Michael Petlan) [1663814 1664768] - [tools] perf script python: Add Python3 support to sctop.py (Michael Petlan) [1663814 1664768] - [tools] perf script python: Add Python3 support to powerpc-hcalls.py (Michael Petlan) [1663814 1664768] - [tools] perf script python: Add Python3 support to net_dropmonitor.py (Michael Petlan) [1663814 1664768] - [tools] perf script python: Add Python3 support to mem-phys-addr.py (Michael Petlan) [1663814 1664768] - [tools] perf script python: Add Python3 support to failed-syscalls-by-pid.py (Michael Petlan) [1663814 1664768] - [tools] perf script python: Add Python3 support to netdev-times.py (Michael Petlan) [1663814 1664768] - [powerpc] mm_iommu: Allow pinning large regions (David Gibson) [1629531] - [powerpc] mm_iommu: Fix potential deadlock (David Gibson) [1629531] - [powerpc] mm/iommu: allow large IOMMU page size only for hugetlb backing (David Gibson) [1629531] - [powerpc] mm/iommu: allow migration of cma allocated pages during mm_iommu_do_alloc (David Gibson) [1629531] - [mm] update get_user_pages_longterm to migrate pages allocated from CMA region (David Gibson) [1629531] - [kernel] mm/cma: add PF flag to force non cma alloc (David Gibson) [1629531] - [net] tcp: be more careful in tcp_fragment() (Marcelo Leitner) [1732103] - [net] tipc: initialize 'validated' field of received packets (Jon Maloy) [1730574] - [documentation] networking: fix default_ttl typo in mpls-sysctl (Hangbin Liu) [1724882]- [powerpc] powerpc/mm: Limit rma_size to 1TB when running without HV mode (Suraj Jitindar Singh) [1723297] - [x86] kvm: nvmx: Set cached_vmcs12 and cached_shadow_vmcs12 NULL after free (Paolo Bonzini) [1732096] - [x86] kvm: nvmx: do not use dangling shadow VMCS after guest reset (Paolo Bonzini) [1732096] - [x86] kvm: nvmx: Clear pending KVM_REQ_GET_VMCS12_PAGES when leaving nested (Paolo Bonzini) [1732096] - [x86] kvm: nvmx: Change KVM_STATE_NESTED_EVMCS to signal vmcs12 is copied from eVMCS (Paolo Bonzini) [1732096] - [x86] kvm: nvmx: Allow restore nested-state to enable eVMCS when vCPU in SMM (Paolo Bonzini) [1732096] - [tools] kvm: nvmx: reorganize initial steps of vmx_set_nested_state (Paolo Bonzini) [1732096] - [x86] kvm: x86: Modify struct kvm_nested_state to have explicit fields for data (Paolo Bonzini) [1732096] - [x86] kvm: nvmx: Clear nested_run_pending if setting nested state fails (Paolo Bonzini) [1732096] - [x86] kvm: nvmx: really fix the size checks on KVM_SET_NESTED_STATE (Paolo Bonzini) [1732096] - [x86] kvm: nvmx: Set nested_run_pending in vmx_set_nested_state after checks complete (Paolo Bonzini) [1732096] - [x86] kvm: nvmx: KVM_SET_NESTED_STATE - Tear down old EVMCS state before setting new state (Paolo Bonzini) [1732096] - [tools] kvm: selftests: avoid type punning (Paolo Bonzini) [1732096] - [tools] tests: kvm: Add tests for KVM_SET_NESTED_STATE (Paolo Bonzini) [1732096] - [x86] kvm: x86/mmu: Allocate PAE root array when using SVM's 32-bit NPT (Paolo Bonzini) [1732096] - [x86] kvm: lapic: Fix pending interrupt in IRR blocked by software disable LAPIC (Paolo Bonzini) [1732096] - [x86] kvm: x86: Dynamically allocate user_fpu (Paolo Bonzini) [1732096] - [x86] revert "kvm: x86: Use task structs fpu field for user" (Paolo Bonzini) [1732096] - [x86] hyperv: suppress "pci: fatal: No config space access function found" (Raghavendra Rao) [1734265] - [powerpc] [kvm] kvm: ppc: book3s hv: Save and restore guest visible PSSCR bits on pseries (Suraj Jitindar Singh) [1710726] - [powerpc] pmu: Set pmcregs_in_use in paca when running as LPAR (Suraj Jitindar Singh) [1710726] - [powerpc] [kvm] kvm: ppc: book3s hv: Always save guest pmu for guest capable of nesting (Suraj Jitindar Singh) [1710726] - [powerpc] kvm: ppc: book3s hv: xive: fix rollback when kvmppc_xive_create fails (David Gibson) [1731900] - [powerpc] powerpc/pseries: Fix xive=off command line (Desnes Augusto Nunes do Rosario) [1731400] - [powerpc] powerpc/prom_init: don't use string functions from lib/ (Desnes Augusto Nunes do Rosario) [1731400] - [powerpc] powerpc: remove CONFIG_CMDLINE #ifdef mess (Desnes Augusto Nunes do Rosario) [1731400] - [powerpc] powerpc: Move `path` variable inside DEBUG_PROM (Desnes Augusto Nunes do Rosario) [1731400] - [powerpc] powerpc/prom_init: Generate "phandle" instead of "linux, phandle" (Desnes Augusto Nunes do Rosario) [1731400] - [powerpc] powerpc/prom_init: Move a few remaining statics to appropriate sections (Desnes Augusto Nunes do Rosario) [1731400] - [powerpc] powerpc/prom_init: Move prom_radix_disable to __prombss (Desnes Augusto Nunes do Rosario) [1731400] - [powerpc] powerpc/prom_init: Remove support for OPAL v2 (Desnes Augusto Nunes do Rosario) [1731400] - [powerpc] powerpc/prom_init: Replace __initdata with __prombss when applicable (Desnes Augusto Nunes do Rosario) [1731400] - [powerpc] powerpc/prom_init: Make of_workarounds static (Desnes Augusto Nunes do Rosario) [1731400] - [powerpc] powerpc/powernv/idle: Restore AMR/UAMOR/AMOR after idle (David Gibson) [1730183] - [powerpc] powerpc/powernv/idle: Restore IAMR after idle (David Gibson) [1730183]- [kernel] fork: report pid exhaustion correctly (Don Dutile) [1726448] - [lib] idr: Fix idr_get_next race with idr_remove (Don Dutile) [1726448] - [kernel] Fix failure path in alloc_pid() (Don Dutile) [1726448] - [target] scsi: iscsi: set auth_protocol back to NULL if CHAP_A value is not supported (Maurizio Lombardi) [1733498]- [infiniband] IB/umem: Add missing down_read on umem_rwsem (Alaa Hleihel) [1733188] - [fs] gfs2: Fix rounding error in gfs2_iomap_page_prepare (Andreas Grunbacher) [1733621] - [s390] s390/qeth: cancel cmd on early error (Philipp Rudo) [1731430] - [s390] s390/qeth: simplify reply object handling (Philipp Rudo) [1731430] - [s390] s390/qeth: release cmd buffer in error paths (Philipp Rudo) [1731430] - [mm] mm: hugetlb: soft-offline: dissolve_free_huge_page() return zero on !PageHuge (Rafael Aquini) [1706088] - [mm] mm: soft-offline: return -EBUSY if set_hwpoison_free_buddy_page() fails (Rafael Aquini) [1706088] - [mm] mm: soft-offline: close the race against page allocation (Rafael Aquini) [1706088] - [mm] mm: fix race on soft-offlining free huge pages (Rafael Aquini) [1706088] - [pci] PCI: Probe bridge window attributes once at enumeration-time (Myron Stowe) [1730763] - [mm] swap_readpage(): avoid blk_wake_io_task() if !synchronous (Ming Lei) [1724016] - [mm] mm/page_io.c: fix polled swap page in (Ming Lei) [1724016] - [include] fs: fix kABI for struct pipe_buf_operations (Miklos Szeredi) [1705007] {CVE-2019-11487} - [fs] fs: prevent page refcount overflow in pipe_buf_get (Miklos Szeredi) [1705007] {CVE-2019-11487} - [mm] mm: prevent get_user_pages() from overflowing page refcount (Miklos Szeredi) [1705007] {CVE-2019-11487} - [include] mm: add 'try_get_page()' helper function (Miklos Szeredi) [1705007] {CVE-2019-11487} - [include] mm: make page ref count overflow check tighter and more explicit (Miklos Szeredi) [1705007] {CVE-2019-11487} - [fs] fuse: call pipe_buf_release() under pipe lock (Miklos Szeredi) [1705007] {CVE-2019-11487} - [kernel] trace: Fix preempt_enable_no_resched() abuse (Phil Auld) [1705550] - [kernel] sched/numa: Fix a possible divide-by-zero (Phil Auld) [1705550] - [kernel] sched/core: Fix buffer overflow in cgroup2 property cpu.max (Phil Auld) [1705550] - [kernel] sched/fair: Remove unused 'sd' parameter from select_idle_smt() (Phil Auld) [1705550] - [kernel] sched/topology: Remove the ::smt_gain field from 'struct sched_domain' cleanups (Phil Auld) [1705550] - [kernel] sched/numa: Remove unused code from update_numa_stats() (Phil Auld) [1705550]- [s390] virtio/s390: fix race on airq_areas[] (Cornelia Huck) [1733499] - [powerpc] powerpc: ignore __GFP_DMA/DMA32 if we left an empty ZONE_DMA/DMA32 enabled for kABI purposes (David Gibson) [1728314] - [netdrv] bnx2x: Disable multi-cos feature. (Manish Chopra) [1679024] - [char] tpm: tpm_ibm_vtpm: Fix unallocated banks (Jerry Snitselaar) [1726126] - [scsi] scsi: ibmvfc: fix WARN_ON during event pool release (Steve Best) [1731133] - [tools] perf vendor events power9: General metrics (Michael Petlan) [1694638] - [tools] perf vendor events power9: Branch_prediction, instruction_stats, latency, lsu_rejects, memory, prefetch & translation metrics (Michael Petlan) [1694638] - [tools] perf vendor events power9: Dl1_reloads, instruction_misses, l[23]_stats & pteg_reloads metrics (Michael Petlan) [1694638] - [tools] perf vendor events power9: Cpi_breakdown & estimated_dcache_miss_cpi metrics (Michael Petlan) [1694638] - [tools] perf vendor events power8: Translaton & general metrics (Michael Petlan) [1694638] - [tools] perf vendor events power8: Branch_prediction, latency, bus_stats, instruction_mix & instruction_stats metrics (Michael Petlan) [1694638] - [tools] perf vendor events power8: Dl1_reload, instruction_misses, l2_stats, lsu_rejects, memory & pteg_reloads metrics (Michael Petlan) [1694638] - [tools] perf vendor events power8: Cpi_breakdown & estimated_dcache_miss_cpi metrics (Michael Petlan) [1694638] - [powerpc] powerpc/tm: Fix oops on sigreturn on systems without TM (Steve Best) [1732753] - [net] net/mlx5e: Add ndo_set_feature for uplink representor (Alaa Hleihel) [1727708] - [misc] VMCI: Fix integer overflow in VMCI handle arrays (Cathy Avery) [1729587] - [tools] perf version: Fix segfault due to missing OPT_END() (Michael Petlan) [1732065] - [sound] ALSA: hda/realtek - Headphone Mic can't record after S3 (Jaroslav Kysela) [1727676] - [char] random: fix CRNG initialization when random.trust_cpu=1 (Oleksandr Natalenko) [1728583] - [char] random: move rand_initialize() earlier (Oleksandr Natalenko) [1728583] - [char] random: make CPU trust a boot parameter (Oleksandr Natalenko) [1728583] - [char] random: add a config option to trust the CPU's hwrng (Oleksandr Natalenko) [1728583] - [fs] blockdev: Fix livelocks on loop device (Ming Lei) [1683593] - [block] nbd: Use set_blocksize() to set device blocksize (Ming Lei) [1683593] - [kernel] ptrace: Fix ->ptracer_cred handling for PTRACE_TRACEME (Aristeu Rozanski) [1730959] {CVE-2019-13272}- [include] linux/printk.h: use DYNAMIC_DEBUG_BRANCH in pr_debug_ratelimited (Mike Snitzer) [1729301] - [include] dm: use printk ratelimiting functions (Mike Snitzer) [1729301] - [md] dm crypt: move detailed message into debug level (Mike Snitzer) [1729301] - [powerpc] powerpc/xive: Fix loop exit-condition in xive_find_target_in_mask() (Steve Best) [1731838] - [s390] s390/qeth: be drop monitor friendly (Philipp Rudo) [1731200] - [s390] s390/cpumf: Add extended counter set definitions for model 8561 and 8562 (Philipp Rudo) [1731195] - [s390] s390/qdio: handle PENDING state for QEBSM devices (Philipp Rudo) [1731194] - [net] net/af_iucv: build proper skbs for HiperTransport (Philipp Rudo) [1731193] - [net] net/af_iucv: remove GFP_DMA restriction for HiperTransport (Philipp Rudo) [1731193] - [wireless] iwlwifi: mvm: disable TX-AMSDU on older NICs (Jarod Wilson) [1728992] - [wireless] carl9170: fix misuse of device driver API (Jarod Wilson) [1728992] - [wireless] p54: fix crash during initialization (Jarod Wilson) [1728992] - [wireless] p54usb: Fix race between disconnect and firmware loading (Jarod Wilson) [1728992] - [wireless] mwifiex: Don't abort on small, spec-compliant vendor IEs (Jarod Wilson) [1728992] - [wireless] treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 507 (Jarod Wilson) [1728992] - [net] treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 505 (Jarod Wilson) [1728992] - [wireless] treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 501 (Jarod Wilson) [1728992] - [net] treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 (Jarod Wilson) [1728992] - [wireless] brcmfmac: sdio: Don't tune while the card is off (Jarod Wilson) [1728992] - [wireless] brcmfmac: sdio: Disable auto-tuning around commands expected to fail (Jarod Wilson) [1728992] - [mmc] mmc: core: Add sdio_retune_hold_now() and sdio_retune_release() (Jarod Wilson) [1728992] - [mmc] mmc: core: API to temporarily disable retuning for SDIO CRC errors (Jarod Wilson) [1728992] - [wireless] Revert "brcmfmac: disable command decode in sdio_aos" (Jarod Wilson) [1728992] - [net] cfg80211: report measurement start TSF correctly (Jarod Wilson) [1728992] - [net] cfg80211: fix memory leak of wiphy device name (Jarod Wilson) [1728992] - [net] cfg80211: util: fix bit count off by one (Jarod Wilson) [1728992] - [net] mac80211: do not start any work during reconfigure flow (Jarod Wilson) [1728992] - [net] cfg80211: use BIT_ULL in cfg80211_parse_mbssid_data() (Jarod Wilson) [1728992] - [net] mac80211: only warn once on chanctx_conf being NULL (Jarod Wilson) [1728992] - [net] mac80211: drop robust management frames from unknown TA (Jarod Wilson) [1728992] - [wireless] mwifiex: Fix heap overflow in mwifiex_uap_parse_tail_ies() (Jarod Wilson) [1728992 1721749] {CVE-2019-10126} - [wireless] iwlwifi: mvm: change TLC config cmd sent by rs to be async (Jarod Wilson) [1728992] - [wireless] iwlwifi: Fix double-free problems in iwl_req_fw_callback() (Jarod Wilson) [1728992] - [wireless] iwlwifi: fix AX201 killer sku loading firmware issue (Jarod Wilson) [1728992] - [wireless] iwlwifi: print fseq info upon fw assert (Jarod Wilson) [1728992] - [wireless] iwlwifi: clear persistence bit according to device family (Jarod Wilson) [1728992] - [wireless] iwlwifi: fix load in rfkill flow for unified firmware (Jarod Wilson) [1728992] - [wireless] iwlwifi: mvm: remove d3_sram debugfs file (Jarod Wilson) [1728992] - [wireless] mwifiex: Abort at too short BSS descriptor element (Jarod Wilson) [1728992 1714476] {CVE-2019-3846} - [wireless] mwifiex: Fix possible buffer overflows at parsing bss descriptor (Jarod Wilson) [1728992 1714476] {CVE-2019-3846} - [net] mac80211: free peer keys before vif down in mesh (Jarod Wilson) [1728992] - [wireless] rtw88: Make some symbols static (Jarod Wilson) [1728992] - [wireless] rtw88: avoid circular locking between local->iflist_mtx and rtwdev->mutex (Jarod Wilson) [1728992] - [wireless] rtw88: fix unassigned rssi_level in rtw_sta_info (Jarod Wilson) [1728992] - [wireless] rtw88: fix subscript above array bounds compiler warning (Jarod Wilson) [1728992] - [net] mac80211: mesh: fix RCU warning (Jarod Wilson) [1728992] - [net] nl80211: fix station_info pertid memory leak (Jarod Wilson) [1728992] - [net] mac80211: Do not use stack memory with scatterlist for GMAC (Jarod Wilson) [1728992] - [net] {nl,mac}80211: allow 4addr AP operation on crypto controlled devices (Jarod Wilson) [1728992] - [wireless] mac80211_hwsim: mark expected switch fall-through (Jarod Wilson) [1728992] - [net] mac80211: fix rate reporting inside cfg80211_calculate_bitrate_he() (Jarod Wilson) [1728992] - [net] mac80211: remove set but not used variable 'old' (Jarod Wilson) [1728992] - [net] mac80211: handle deauthentication/disassociation from TDLS peer (Jarod Wilson) [1728992] - [net] wireless: Skip directory when generating certificates (Jarod Wilson) [1728992] - [netdrv] i40e: Check and set the PF driver state first in i40e_ndo_set_vf_mac (Stefan Assmann) [1719538] - [fs] cifs: fix crash in smb2_compound_op()/smb2_set_next_command() (Leif Sahlberg) [1722704] - [firmware] efi/arm: Show SMBIOS bank/device location in CPER and GHES error logs (Robert Richter) [1721386]- [x86] x86/speculation: Allow guests to use SSBD even if host does not (Waiman Long) [1728341] - [block] block: kill BLK_MQ_F_SG_MERGE (Ming Lei) [1716595] - [block] block: kill QUEUE_FLAG_NO_SG_MERGE (Ming Lei) [1716595]- [x86] x86/insn-eval: Fix use-after-free access to LDT entry (Rafael Aquini) [1728561] {CVE-2019-13233} - [arm64] arm64/mm: Correct the cache line size warning with non coherent device (Mark Salter) [1715061] - [arm64] arm64: cacheinfo: Update cache_line_size detected from DT or PPTT (Mark Salter) [1715061] - [base] drivers: base: cacheinfo: Add variable to record max cache line size (Mark Salter) [1715061] - [arm64] arm64: cpufeature: Trap CTR_EL0 access only where it is necessary (Mark Salter) [1715061] - [arm64] arm64: cpufeature: Fix handling of CTR_EL0.IDC field (Mark Salter) [1715061] - [arm64] arm64: cpufeature: ctr: Fix cpu capability check for late CPUs (Mark Salter) [1715061] - [arm64] arm64: cpu_errata: Remove ARM64_MISMATCHED_CACHE_LINE_SIZE (Mark Salter) [1715061] - [fs] gfs2: Clean up freeing struct gfs2_sbd (Robert S Peterson) [1683698] - [target] scsi: target/iblock: Fix overrun in WRITE SAME emulation (Maurizio Lombardi) [1729503] - [x86] kvm/nvmx: fix VMCLEAR when Enlightened VMCS is in use (Vitaly Kuznetsov) [1717785] - [x86] kvm/nvmx: don't use clean fields data on enlightened VMLAUNCH (Vitaly Kuznetsov) [1717785] - [x86] kvm: nvmx: use correct clean fields when copying from eVMCS (Vitaly Kuznetsov) [1717785] - [fs] NFS4: Only set creation opendata if O_CREAT (Benjamin Coddington) [1708471] - [tools] perf test: Fix failure of 'evsel-tp-sched' test on s390 (Michael Petlan) [1729213] - [fs] PNFS fallback to MDS if no deviceid found (Benjamin Coddington) [1708386] - [mm] mm, memcg: add a memcg_slabinfo debugfs file (Waiman Long) [1699202] - [mm] mm: memcg/slab: reparent memcg kmem_caches on cgroup removal (Waiman Long) [1699202] - [mm] mm: memcg/slab: stop setting page->mem_cgroup pointer for slab pages (Waiman Long) [1699202] - [mm] mm: memcg/slab: rework non-root kmem_cache lifecycle management (Waiman Long) [1699202] - [mm] mm: memcg/slab: synchronize access to kmem_cache dying flag using a spinlock (Waiman Long) [1699202] - [mm] mm: memcg/slab: don't check the dying flag on kmem_cache creation (Waiman Long) [1699202] - [mm] mm: memcg/slab: unify SLAB and SLUB page accounting (Waiman Long) [1699202] - [mm] mm: memcg/slab: introduce __memcg_kmem_uncharge_memcg() (Waiman Long) [1699202] - [mm] mm: memcg/slab: generalize postponed non-root kmem_cache deactivation (Waiman Long) [1699202] - [mm] mm: memcg/slab: rename slab delayed deactivation functions and fields (Waiman Long) [1699202] - [mm] mm: memcg/slab: postpone kmem_cache memcg pointer initialization to memcg_link_cache() (Waiman Long) [1699202] - [mm] slub: add comments to endif pre-processor macros (Waiman Long) [1699202] - [mm] mm, slab: shorten kmalloc cache names for large sizes (Waiman Long) [1699202] - [base] mm, proc: add KReclaimable to /proc/meminfo (Waiman Long) [1699202] - [mm] mm: rename and change semantics of nr_indirectly_reclaimable_bytes (Waiman Long) [1699202] - [fs] dcache: allocate external names from reclaimable kmalloc caches (Waiman Long) [1699202] - [mm] mm, slab/slub: introduce kmalloc-reclaimable caches (Waiman Long) [1699202] - [mm] mm, slab: combine kmalloc_caches and kmalloc_dma_caches (Waiman Long) [1699202] - [mm] mm: don't warn about large allocations for slab (Waiman Long) [1699202] - [mm] slab: Replace synchronize_sched() with synchronize_rcu() (Waiman Long) [1699202] - [acpi] ACPI / PM: LPIT: Register sysfs attributes based on FADT (Lenny Szubowicz) [1493461] - [platform] platform/x86: intel_pmc_core: Quirk to ignore XTAL shutdown (Lenny Szubowicz) [1493461] - [platform] platform/x86: intel_pmc_core: Add Package cstates residency info (Lenny Szubowicz) [1493461] - [platform] platform/x86: intel_pmc_core: Add ICL platform support (Lenny Szubowicz) [1493461] - [platform] platform/x86: intel_pmc: Sort headers alphabetically (Lenny Szubowicz) [1493461] - [net] Revert "[net] net: openvswitch: Add a new action check_pkt_len" ("Herton R. Krzesinski")- [nvme] nvme-rdma: use nr_phys_segments when map rq to sgl (David Milburn) [1729113] - [nvme] nvme-loop: kill timeout handler (Ming Lei) [1692744] - [netdrv] bnxt_en: Suppress error messages when querying DSCP DCB capabilities. (Selvin Xavier) [1727972] - [netdrv] bnxt_en: Cap the returned MSIX vectors to the RDMA driver. (Selvin Xavier) [1727972] - [netdrv] bnxt_en: Fix statistics context reservation logic for RDMA driver. (Selvin Xavier) [1727972] - [netdrv] bnxt_en: Fix ethtool selftest crash under error conditions. (Selvin Xavier) [1727972] - [netdrv] bnxt_en: Disable bus master during PCI shutdown and driver unload. (Selvin Xavier) [1727972] - [netdrv] bnxt_en: Reduce memory usage when running in kdump kernel. (Selvin Xavier) [1727972] - [netdrv] bnxt_en: Fix possible BUG() condition when calling pci_disable_msix(). (Selvin Xavier) [1727972] - [netdrv] bnxt_en: Fix aggregation buffer leak under OOM condition. (Selvin Xavier) [1727972] - [netdrv] bnxt_en: Improve NQ reservations. (Selvin Xavier) [1727972] - [netdrv] bnxt_en: Fix uninitialized variable usage in bnxt_rx_pkt(). (Selvin Xavier) [1727972] - [netdrv] bnxt_en: Fix statistics context reservation logic. (Selvin Xavier) [1727972] - [netdrv] bnxt_en: Pass correct extended TX port statistics size to firmware. (Selvin Xavier) [1727972] - [netdrv] bnxt_en: Fix possible crash in bnxt_hwrm_ring_free() under error conditions. (Selvin Xavier) [1727972] - [netdrv] bnxt_en: Free short FW command HWRM memory in error path in bnxt_init_one() (Selvin Xavier) [1727972] - [netdrv] bnxt_en: Improve multicast address setup logic. (Selvin Xavier) [1727972] - [net] net: openvswitch: Add a new action check_pkt_len (Numan Siddique) [1700733]- [crypto] crypto: vmx - ghash: do nosimd fallback manually (Desnes Augusto Nunes do Rosario) [1729532] - [crypto] crypto: vmx - CTR: always increment IV as quadword (Desnes Augusto Nunes do Rosario) [1729532] - [net] vsock/virtio: fix flush of works during the .remove() (Stefano Garzarella) [1700312] - [net] vsock/virtio: stop workers during the .remove() (Stefano Garzarella) [1700312] - [net] vsock/virtio: use RCU to avoid use-after-free on the_virtio_vsock (Stefano Garzarella) [1700312] - [net] vsock/virtio: Initialize core virtio vsock before registering the driver (Stefano Garzarella) [1700312] - [nvme] nvme-fabrics: document the poll function argument (David Milburn) [1727784 1725132] - [nvme] nvme-rdma: fix queue mapping when queue count is limited (David Milburn) [1727784 1725132] - [nvme] nvme-rdma: rework queue maps handling (David Milburn) [1727784 1725132] - [nvme] nvme-rdma: implement polling queue map (David Milburn) [1727784 1725132] - [nvme] nvme-fabrics: allow nvmf_connect_io_queue to poll (David Milburn) [1727784 1725132] - [hid] HID: multitouch: Add pointstick support for ALPS Touchpad (Benjamin Tissoires) [1672423]- [tools] perf header: Assign proper ff->ph in perf_event__synthesize_features() (Michael Petlan) [1667983] - [pci] PCI/IOV: Assume SR-IOV VFs support extended config space. (Myron Stowe) [1714978] - [pci] Revert "PCI/IOV: Use VF0 cached config space size for other VFs" (Myron Stowe) [1714978] - [x86] x86/crash: Add e820 reserved ranges to kdump kernel's e820 table (Lianbo Jiang) [1630108] - [mm] x86/mm: Rework ioremap resource mapping determination (Lianbo Jiang) [1630108] - [x86] x86/e820, ioport: Add a new I/O resource descriptor IORES_DESC_RESERVED (Lianbo Jiang) [1630108] - [kernel] resource: Fix find_next_iomem_res() iteration issue (Lianbo Jiang) [1630108] - [kernel] resource: Include resource end in walk_*() interfaces (Lianbo Jiang) [1630108] - [x86] x86/kexec: Correct KEXEC_BACKUP_SRC_END off-by-one error (Lianbo Jiang) [1630108] - [scsi] scsi: lpfc: Update lpfc version to 12.2.0.3 (Dick Kennedy) [1717027] - [scsi] scsi: lpfc: Fix kernel warnings related to smp_processor_id() (Dick Kennedy) [1717027] - [scsi] scsi: lpfc: Fix BFS crash with DIX enabled (Dick Kennedy) [1717027] - [scsi] scsi: lpfc: Fix FDMI fc4type for nvme support (Dick Kennedy) [1717027] - [scsi] scsi: lpfc: Fix fcp_rsp_len checking on lun reset (Dick Kennedy) [1717027] - [scsi] scsi: lpfc: Fix poor use of hardware queues if fewer irq vectors (Dick Kennedy) [1717027] - [scsi] scsi: lpfc: Fix oops when driver is loaded with 1 interrupt vector (Dick Kennedy) [1717027] - [scsi] scsi: lpfc: Fix incorrect logical link speed on trunks when links down (Dick Kennedy) [1717027] - [scsi] scsi: lpfc: Fix memory leak in abnormal exit path from lpfc_eq_create (Dick Kennedy) [1717027] - [scsi] scsi: lpfc: Rework misleading nvme not supported in firmware message (Dick Kennedy) [1717027] - [scsi] scsi: lpfc: Fix hardlockup in scsi_cmd_iocb_cmpl (Dick Kennedy) [1717027] - [scsi] scsi: lpfc: Cancel queued work for an IO when processing a received ABTS (Dick Kennedy) [1717027] - [scsi] scsi: lpfc: Prevent 'use after free' memory overwrite in nvmet LS handling (Dick Kennedy) [1717027] - [scsi] scsi: lpfc: Fix PT2PT PLOGI collison stopping discovery (Dick Kennedy) [1717027] - [scsi] scsi: lpfc: Revert message logging on unsupported topology (Dick Kennedy) [1717027] - [scsi] scsi: lpfc: Fix nvmet handling of received ABTS for unmapped frames (Dick Kennedy) [1717027] - [scsi] scsi: lpfc: Separate CQ processing for nvmet_fc upcalls (Dick Kennedy) [1717027] - [scsi] scsi: lpfc: Revise message when stuck due to unresponsive adapter (Dick Kennedy) [1717027] - [scsi] scsi: lpfc: Correct nvmet buffer free race condition (Dick Kennedy) [1717027] - [scsi] scsi: lpfc: Fix nvmet target abort cmd matching (Dick Kennedy) [1717027] - [scsi] scsi: lpfc: Fix alloc context on oas lun creations (Dick Kennedy) [1717027]- [virt] kvm: fix guest initialization code mismerge (Marcelo Tosatti) [1726487] - [powerpc] powerpc/watchpoint: Restore NV GPRs while returning from exception (Steve Best) [1728557] - [fs] fs/proc/vmcore: Enable dumping of encrypted memory when SEV was active (Lianbo Jiang) [1646810] - [x86] x86/kexec: Set the C-bit in the identity map page table when SEV is active (Lianbo Jiang) [1646810] - [x86] x86/kexec: Do not map kexec area as decrypted when SEV is active (Lianbo Jiang) [1646810] - [mm] x86/mm: Do not use set_{pud, pmd}_safe() when splitting a large page (Lianbo Jiang) [1646810]- [net] sched: protect against stack overflow in TC act_mirred (Ivan Vecera) [1726399] - [net] sched: refactor reinsert action (Ivan Vecera) [1726399] - [net] mpls: Fix 6PE forwarding (Hangbin Liu) [1726533] - [net] make skb_dst_force return true when dst is refcounted (Florian Westphal) [1704809] - [net] ipv4: Fix off-by-one in route dump counter without netlink strict checking (Stefano Brivio) [1725383 1725381 1574290] - [net] ipv6: fix suspicious RCU usage in rt6_dump_route() (Stefano Brivio) [1725383 1725381 1574290] - [net] ipv4: fix suspicious RCU usage in fib_dump_info_fnhe() (Stefano Brivio) [1725383 1725381 1574290] - [net] ip6_fib: Don't discard nodes with valid routing information in fib6_locate_1() (Stefano Brivio) [1725383 1725381 1574290] - [net] ipv6: Dump route exceptions if requested (Stefano Brivio) [1725383 1725381 1574290] - [net] ipv6/route: Change return code of rt6_dump_route() for partial node dumps (Stefano Brivio) [1725383 1725381 1574290] - [net] revert "net/ipv6: Bail early if user only wants cloned entries" (Stefano Brivio) [1725383 1725381 1574290] - [net] ipv4: Dump route exceptions if requested (Stefano Brivio) [1725383 1725381 1574290] - [net] ipv4/route: Allow NULL flowinfo in rt_fill_info() (Stefano Brivio) [1725383 1725381 1574290] - [net] ipv4/fib_frontend: Allow RTM_F_CLONED flag to be used for filtering (Stefano Brivio) [1725383 1725381 1574290] - [net] fib_frontend, ip6_fib: Select routes or exceptions dump from RTM_F_CLONED (Stefano Brivio) [1725383 1725381 1574290] - [tools] selftests: bpf: disable test_lwt_seg6local (Jiri Benc) [1716346] - [netdrv] ipvlan: Fix ipvlan device tso disabled while NETIF_F_IP_CSUM is set (Matteo Croce) [1725125] - [netdrv] ipvlan: disallow userns cap_net_admin to change global mode/flags (Matteo Croce) [1725124] - [net] netfilter: nft_fib: Fix existence check support (Phil Sutter) [1680578] - [net] ipset: Fix memory accounting for hash types on resize (Stefano Brivio) [1714111] - [tools] selftests: pmtu: Make list_flush_ipv6_exception test more demanding (Stefano Brivio) [1725384] - [tools] selftests: pmtu: Introduce list_flush_ipv4_exception test case (Stefano Brivio) [1725384] - [tools] selftests: pmtu: Introduce list_flush_ipv6_exception test case (Stefano Brivio) [1725384] - [tools] selftests: pmtu: Add support for routing via nexthop objects (Stefano Brivio) [1725384] - [tools] selftests: pmtu: Move route installs to a new function (Stefano Brivio) [1725384] - [tools] selftests: pmtu: Move running of test into a new function (Stefano Brivio) [1725384] - [tools] selftests: pmtu: Fix encapsulating device in pmtu_vti6_link_change_mtu (Stefano Brivio) [1725384] - [tools] selftests: pmtu: Simplify cleanup and namespace names (Stefano Brivio) [1725384] - [tools] selftests: pmtu.sh: Remove quotes around commands in setup_xfrm (Stefano Brivio) [1725384] - [tools] selftests: Add debugging options to pmtu.sh (Stefano Brivio) [1725384] - [tools] selftests: pmtu: add explicit tests for PMTU exceptions cleanup (Stefano Brivio) [1725384] - [tools] selftests: pmtu: disable DAD in all namespaces (Stefano Brivio) [1725384] - [tools] selftests: pmtu: Introduce FoU and GUE PMTU exceptions tests (Stefano Brivio) [1725384] - [tools] selftests: pmtu: Introduce tests for IPv4/IPv6 over GENEVE over IPv4/IPv6 (Stefano Brivio) [1725384] - [tools] selftests: pmtu: Introduce tests for IPv4/IPv6 over VXLAN over IPv4/IPv6 (Stefano Brivio) [1725384] - [tools] selftests: pmtu: Add optional traffic captures for single tests (Stefano Brivio) [1725384] - [tools] selftests: pmtu: Allow selection of single tests (Stefano Brivio) [1725384] - [tools] selftests: pmtu: add basic IPv4 and IPv6 PMTU tests (Stefano Brivio) [1725384] - [tools] selftests: pmtu: extend MTU parsing helper to locked MTU (Stefano Brivio) [1725384] - [tools] selftests: pmtu: Introduce check_pmtu_value() (Stefano Brivio) [1725384] - [tools] selftests: pmtu: properly redirect stderr to /dev/null (Stefano Brivio) [1725384] - [tools] selftests: pmtu: detect correct binary to ping ipv6 addresses (Stefano Brivio) [1725384] - [net] ipv6: icmp: Updating pmtu for link local route (Guillaume Nault) [1721961] - [net] bridge: Mark FDB entries that were added by user as such (Ivan Vecera) [1724400] - [net] tipc: change to use register_pernet_device (Xin Long) [1719136] - [net] sched: cls_flower: fix infinite loop in fl_walk() (Davide Caratti) [1712739]- [rpmspec] redhat: fix vmlinux debuginfo on ppc64le (Jan Stancek) [1727638] - [powerpc] powerpc/rtas: retry when cpu offline races with suspend/migration (Steve Best) [1727051] - [kernel] arm64/crashkernel: Reduce crashkernel size to 448M by default (Bhupesh Sharma) [1564422]- [scsi] scsi: libiscsi: Fix race between iscsi_xmit_task and iscsi_complete_task (Chris Leech) [1718875] - [scsi] scsi: lpfc: Update lpfc version to 12.2.0.2 (Dick Kennedy) [1714795] - [scsi] scsi: lpfc: add check for loss of ndlp when sending RRQ (Dick Kennedy) [1714795] - [scsi] scsi: lpfc: correct rcu unlock issue in lpfc_nvme_info_show (Dick Kennedy) [1714795] - [scsi] scsi: lpfc: resolve lockdep warnings (Dick Kennedy) [1714795] - [scsi] scsi: lpfc: Make lpfc_sli4_oas_verify static (Dick Kennedy) [1714795] - [scsi] scsi: lpfc: Fix a recently introduced compiler warning (Dick Kennedy) [1714795] - [scsi] scsi: lpfc: Fix missing wakeups on abort threads (Dick Kennedy) [1714795] - [scsi] scsi: lpfc: Change smp_processor_id() into raw_smp_processor_id() (Dick Kennedy) [1714795] - [scsi] scsi: lpfc: Remove unused functions (Dick Kennedy) [1714795] - [scsi] scsi: lpfc: Remove set-but-not-used variables (Dick Kennedy) [1714795] - [scsi] scsi: lpfc: Move trunk_errmsg[] from a header file into a .c file (Dick Kennedy) [1714795] - [scsi] scsi: lpfc: Annotate switch/case fall-through (Dick Kennedy) [1714795] - [scsi] scsi: lpfc: Fix indentation and balance braces (Dick Kennedy) [1714795] - [scsi] scsi: lpfc: Declare local functions static (Dick Kennedy) [1714795] - [scsi] scsi: lpfc: avoid uninitialized variable warning (Dick Kennedy) [1714795] - [scsi] scsi: lpfc: change snprintf to scnprintf for possible overflow (Dick Kennedy) [1714795] - [net] Bluetooth: hidp: fix buffer overflow (Gopal Tiwari) [1723654] {CVE-2019-11884} - [s390] virtio/s390: make airq summary indicators DMA (Philipp Rudo) [1651752] - [s390] virtio/s390: use DMA memory for ccw I/O and classic notifiers (Philipp Rudo) [1651752] - [s390] virtio/s390: add indirection to indicators access (Philipp Rudo) [1651752] - [s390] virtio/s390: use cacheline aligned airq bit vectors (Philipp Rudo) [1651752] - [s390] s390/airq: use DMA memory for adapter interrupts (Philipp Rudo) [1651752] - [s390] s390/cio: add basic protected virtualization support (Philipp Rudo) [1651752] - [s390] s390/cio: introduce DMA pools to cio (Philipp Rudo) [1651752] - [s390] s390/mm: force swiotlb for protected virtualization (Philipp Rudo) [1651752] - [s390] virtio/s390: DMA support for virtio-ccw (Philipp Rudo) [1651752] - [s390] virtio/s390: use vring_create_virtqueue (Philipp Rudo) [1651752] - [block] virtio-blk: Consider virtio_max_dma_size() for maximum segment size (Philipp Rudo) [1651752] - [virtio] virtio: Introduce virtio_max_dma_size() (Philipp Rudo) [1651752] - [kernel] dma: Introduce dma_max_mapping_size() (Philipp Rudo) [1651752] - [kernel] swiotlb: Add is_swiotlb_active() function (Philipp Rudo) [1651752] - [kernel] swiotlb: Introduce swiotlb_max_mapping_size() (Philipp Rudo) [1651752] - [mm] x86/mm: Create a workarea in the kernel for SME early encryption (Lianbo Jiang) [1564427] - [x86] x86/mm: Identify the end of the kernel area to be reserved (Lianbo Jiang) [1564427] - [x86] x86/kdump: Export the SME mask to vmcoreinfo (Lianbo Jiang) [1564427] - [fs] proc/vmcore: Fix i386 build error of missing copy_oldmem_page_encrypted() (Lianbo Jiang) [1564427] - [fs] kdump, proc/vmcore: Enable kdumping encrypted memory with SME enabled (Lianbo Jiang) [1564427] - [iommu] iommu/amd: Remap the IOMMU device table with the memory encryption mask for kdump (Lianbo Jiang) [1564427] - [kernel] kexec: Allocate decrypted control pages for kdump if SME is enabled (Lianbo Jiang) [1564427] - [mm] x86/ioremap: Add an ioremap_encrypted() helper (Lianbo Jiang) [1564427] - [documentation] Documentation: Add ARM64 to kernel-parameters.rst (Jeremy Linton) [1640855] - [arm64] arm64/speculation: Support 'mitigations=' cmdline option (Jeremy Linton) [1640855] - [arm64] arm64: ssbs: Don't treat CPUs with SSBS as unaffected by SSB (Jeremy Linton) [1640855] - [arm64] arm64: enable generic CPU vulnerabilites support (Jeremy Linton) [1640855] - [arm64] arm64: add sysfs vulnerability show for speculative store bypass (Jeremy Linton) [1640855] - [arm64] arm64: Always enable ssb vulnerability detection (Jeremy Linton) [1640855] - [arm64] arm64: add sysfs vulnerability show for spectre-v2 (Jeremy Linton) [1640855] - [arm64] arm64: Always enable spectre-v2 vulnerability detection (Jeremy Linton) [1640855] - [arm64] arm64: Use firmware to detect CPUs that are not affected by Spectre-v2 (Jeremy Linton) [1640855] - [arm64] arm64: Advertise mitigation of Spectre-v2, or lack thereof (Jeremy Linton) [1640855] - [arm64] arm64: add sysfs vulnerability show for meltdown (Jeremy Linton) [1640855] - [arm64] arm64: Add sysfs vulnerability show for spectre-v1 (Jeremy Linton) [1640855] - [arm64] arm64: Provide a command line to disable spectre_v2 mitigation (Jeremy Linton) [1640855] - [documentation] powerpc/fsl: Add FSL_PPC_BOOK3E as supported arch for nospectre_v2 boot arg (Jeremy Linton) [1640855] - [documentation] Documentation: Document arm64 kpti control (Jeremy Linton) [1640855] - [arm64] arm64: kpti: Whitelist HiSilicon Taishan v110 CPUs (Jeremy Linton) [1640855] - [arm64] arm64: Add MIDR encoding for HiSilicon Taishan CPUs (Jeremy Linton) [1640855] - [arm64] arm64: kpti: Whitelist Cortex-A CPUs that don't implement the CSV3 field (Jeremy Linton) [1640855] - [arm64] arm64: kpti: Update arm64_kernel_use_ng_mappings() when forced on (Jeremy Linton) [1640855] - [arm64] arm64: kpti: Avoid rewriting early page tables when KASLR is enabled (Jeremy Linton) [1640855] - [arm64] arm64: capabilities: Merge duplicate Cavium erratum entries (Jeremy Linton) [1640855] - [arm64] arm64: capabilities: Merge entries for ARM64_WORKAROUND_CLEAN_CACHE (Jeremy Linton) [1640855] - [arm64] arm64: Use a raw spinlock in __install_bp_hardening_cb() (Jeremy Linton) [1640855] - [arm64] arm64: KVM: Guests can skip __install_bp_hardening_cb()s HYP work (Jeremy Linton) [1640855] - [arm64] arm64: fix SSBS sanitization (Jeremy Linton) [1640855] - [arm64] arm64: don't zero DIT on signal return (Jeremy Linton) [1640855] - [kvm] KVM: arm64: Set SCTLR_EL2.DSSBS if SSBD is forcefully disabled and !vhe (Jeremy Linton) [1640855] - [arm64] arm64: ssbd: Add support for PSTATE.SSBS rather than trapping to EL3 (Jeremy Linton) [1640855] - [arm64] arm64: ssbd: Drop #ifdefs for PR_SPEC_STORE_BYPASS (Jeremy Linton) [1640855] - [arm64] arm64: cpufeature: Detect SSBS and advertise to userspace (Jeremy Linton) [1640855] - [arm64] arm64: move SCTLR_EL{1,2} assertions to (Jeremy Linton) [1640855]- [powerpc] powerpc/mm/64s/hash: Reallocate context ids on fork (Steve Best) [1723808] - [powerpc] powerpc/perf: Use cpumask_last() to determine the designated cpu for nest/core units. (Steve Best) [1725746] - [fs] iomap: fix page_done callback for short writes (Andreas Grunbacher) [1724361] - [fs] fs: fold __generic_write_end back into generic_write_end (Andreas Grunbacher) [1724361] - [fs] iomap: don't mark the inode dirty in iomap_write_end (Andreas Grunbacher) [1724361] - [fs] gfs2: Fix iomap write page reclaim deadlock (Andreas Grunbacher) [1724361] - [fs] iomap: Add a page_prepare callback (Andreas Grunbacher) [1724361] - [fs] iomap: Fix use-after-free error in page_done callback (Andreas Grunbacher) [1724361] - [fs] fs: Turn __generic_write_end into a void function (Andreas Grunbacher) [1724361] - [fs] iomap: Clean up __generic_write_end calling (Andreas Grunbacher) [1724361] - [kvm] KVM: PPC: Book3S HV: Clear pending decrementer exceptions on nested guest entry (Suraj Jitindar Singh) [1718822] - [kvm] KVM: PPC: Book3S HV: Signed extend decrementer value if not using large decrementer (Suraj Jitindar Singh) [1718822]- [hid] HID: chicony: add another quirk for PixArt mouse (Oleksandr Natalenko) [1724967] - [scsi] scsi: smartpqi: properly set both the DMA mask and the coherent DMA mask (Don Brace) [1712272] - [tools] perf beauty waitid options: Fix up prefix showing logic (Michael Petlan) [1715507] - [include] redhat: perf kABI-check failure fix (Michael Petlan) [1715507] - [tools] perf script python: Add Python3 support to tests/attr.py (Michael Petlan) [1715507] - [tools] perf trace: Support multiple "vfs_getname" probes (Michael Petlan) [1715507] - [tools] perf symbols: Filter out hidden symbols from labels (Michael Petlan) [1715507] - [tools] perf symbols: Add fallback definitions for GELF_ST_VISIBILITY() (Michael Petlan) [1715507] - [tools] perf clang: Do not use 'return std::move(something)' (Michael Petlan) [1715507] - [tools] perf tests evsel-tp-sched: Fix bitwise operator (Michael Petlan) [1715507] - [tools] perf script: Fix crash when processing recorded stat data (Michael Petlan) [1715507] - [tools] perf top: Fix wrong hottest instruction highlighted (Michael Petlan) [1715507] - [tools] perf tools: Handle TOPOLOGY headers with no CPU (Michael Petlan) [1715507] - [tools] perf python: Remove -fstack-clash-protection when building with some clang versions (Michael Petlan) [1715507] - [tools] perf script: Fix crash with printing mixed trace point and other events (Michael Petlan) [1715507] - [tools] perf ordered_events: Fix crash in ordered_events__free (Michael Petlan) [1715507] - [tools] tools headers powerpc: Remove unistd.h (Michael Petlan) [1715507] - [tools] perf powerpc: Rework syscall table generation (Michael Petlan) [1715507] - [tools] perf symbols: Add 'arch_cpu_idle' to the list of kernel idle symbols (Michael Petlan) [1715507] - [tools] perf beauty: Switch from using uapi/linux/fs.h to uapi/linux/mount.h (Michael Petlan) [1715507] - [tools] tools include uapi: Grab a copy of linux/mount.h (Michael Petlan) [1715507] - [tools] perf top: Lift restriction on using callchains without "sym" in --sort (Michael Petlan) [1715507] - [tools] tools lib traceevent: Remove tep_data_event_from_type() API (Michael Petlan) [1715507] - [tools] tools lib traceevent: Rename tep_is_file_bigendian() to tep_file_bigendian() (Michael Petlan) [1715507] - [tools] tools lib traceevent: Changed return logic of tep_register_event_handler() API (Michael Petlan) [1715507] - [tools] tools lib traceevent: Changed return logic of trace_seq_printf() and trace_seq_vprintf() APIs (Michael Petlan) [1715507] - [tools] tools lib traceevent: Rename struct cmdline to struct tep_cmdline (Michael Petlan) [1715507] - [tools] tools lib traceevent: Initialize host_bigendian at tep_handle allocation (Michael Petlan) [1715507] - [tools] tools lib traceevent: Introduce new libtracevent API: tep_override_comm() (Michael Petlan) [1715507] - [tools] perf tests: Add a test for the ARM 32-bitpage (Michael Petlan) [1715507] - [tools] perf tools: Make find_vdso_map() more modular (Michael Petlan) [1715507] - [tools] perf trace: Fix alignment forlines (Michael Petlan) [1715507] - [tools] perf trace: Fix ')' placement in "interrupted" syscall lines (Michael Petlan) [1715507] - [tools] perf test shell: Use a fallback to get the pathname in vfs_getname (Michael Petlan) [1715507] - [tools] perf python: Make sure the python binding output directory is in place (Michael Petlan) [1715507] - [tools] perf strbuf: Remove redundant va_end() in strbuf_addv() (Michael Petlan) [1715507] - [tools] perf annotate: Pass filename to objdump via execl (Michael Petlan) [1715507] - [tools] perf report: Fix wrong iteration count in --branch-history (Michael Petlan) [1715507] - [tools] tools headers uapi: Sync copy of asm-generic/unistd.h with the kernel sources (Michael Petlan) [1715507] - [tools] tools beauty: Make the prctl option table generator catch all PR_ options (Michael Petlan) [1715507] - [tools] perf stat: Fix endless wait for child process (Michael Petlan) [1715507] - [tools] perf session: Add comment for perf_session__register_idle_thread() (Michael Petlan) [1715507] - [tools] perf thread-stack: Fix thread stack processing for the idle task (Michael Petlan) [1715507] - [tools] perf thread-stack: Allocate an array of thread stacks (Michael Petlan) [1715507] - [tools] perf thread-stack: Factor out thread_stack__init() (Michael Petlan) [1715507] - [tools] perf thread-stack: Allow for a thread stack array (Michael Petlan) [1715507] - [tools] perf thread-stack: Avoid direct reference to the thread's stack (Michael Petlan) [1715507] - [tools] perf thread-stack: Tidy thread_stack__bottom() usage (Michael Petlan) [1715507] - [tools] perf thread-stack: Simplify some code in thread_stack__process() (Michael Petlan) [1715507] - [tools] perf c2c: Increase the HITM ratio limit for displayed cachelines (Michael Petlan) [1715507] - [tools] perf c2c: Change the default coalesce setup (Michael Petlan) [1715507] - [tools] perf trace beauty ioctl: Beautify USBDEVFS_ commands (Michael Petlan) [1715507] - [tools] perf trace beauty: Export function to get the files for a thread (Michael Petlan) [1715507] - [tools] perf trace: Wire up ioctl's USBDEBFS_ cmd table generator (Michael Petlan) [1715507] - [tools] perf beauty ioctl: Add generator for USBDEVFS_ ioctl commands (Michael Petlan) [1715507] - [tools] tools headers uapi: Grab a copy of usbdevice_fs.h (Michael Petlan) [1715507] - [tools] perf trace: Store the major number for a file when storing its pathname (Michael Petlan) [1715507] - [tools] perf trace: Move the files table resizing to outside set_pathname() (Michael Petlan) [1715507] - [tools] perf trace: Rename thread_thread->paths to thread_trace->files (Michael Petlan) [1715507] - [tools] perf script: Fix LBR skid dump problems in brstackinsn (Michael Petlan) [1715507] - [tools] perf trace: Use correct SECCOMP prefix spelling, "SECOMP_*" -> "SECCOMP_*" (Michael Petlan) [1715507] - [tools] perf trace: Do not hardcode the size of the tracepoint common_ fields (Michael Petlan) [1715507] - [tools] perf build: Don't unconditionally link the libbfd feature test to -liberty and -lz (Michael Petlan) [1715507] - [tools] perf beauty mmap: PROT_WRITE should come before PROT_EXEC (Michael Petlan) [1715507] - [tools] perf trace: Check if the raw_syscalls:sys_{enter, exit} are setup before setting tp filter (Michael Petlan) [1715507] - [tools] perf symbols: Relax checks on perf-PID.map ownership (Michael Petlan) [1715507] - [tools] perf trace: Wire up the fadvise 'advice' table generator (Michael Petlan) [1715507] - [tools] perf beauty: Add generator for fadvise64's 'advice' arg constants (Michael Petlan) [1715507] - [tools] tools headers uapi: Grab a copy of fadvise.h (Michael Petlan) [1715507] - [tools] perf beauty mmap: Print mmap's 'offset' arg in hexadecimal (Michael Petlan) [1715507] - [tools] perf beauty mmap: Print PROT_READ before PROT_EXEC to match strace output (Michael Petlan) [1715507] - [tools] perf trace beauty: Beautify arch_prctl()'s arguments (Michael Petlan) [1715507] - [tools] perf trace: When showing string prefixes show prefix + ??? for unknown entries (Michael Petlan) [1715507] - [tools] perf trace: Move strarrays to beauty.h for further reuse (Michael Petlan) [1715507] - [tools] perf beauty: Wire up the x86_arch prctl code table generator (Michael Petlan) [1715507] - [tools] perf beauty: Add a string table generator for x86's 'arch_prctl' codes (Michael Petlan) [1715507] - [tools] tools include arch: Grab a copy of x86's prctl.h (Michael Petlan) [1715507] - [tools] perf trace: Show NULL when syscall pointer args are 0 (Michael Petlan) [1715507] - [tools] perf trace: Enclose the errno strings with () (Michael Petlan) [1715507] - [tools] perf augmented_raw_syscalls: Copy 'access' arg as well (Michael Petlan) [1715507] - [tools] perf trace: Add alignment spaces after the closing parens (Michael Petlan) [1715507] - [tools] perf trace beauty: Print O_RDONLY when (flags & O_ACCMODE) == 0 (Michael Petlan) [1715507] - [tools] perf trace: Allow asking for not suppressing common string prefixes (Michael Petlan) [1715507] - [tools] perf trace: Add a prefix member to the strarray class (Michael Petlan) [1715507] - [tools] perf trace: Enclose strings with double quotes (Michael Petlan) [1715507] - [tools] perf trace: Make the alignment of the syscall args be configurable (Michael Petlan) [1715507] - [tools] perf trace: Allow suppressing the syscall argument names (Michael Petlan) [1715507] - [tools] perf trace: Allow configuring if the syscall start timestamp should be printed (Michael Petlan) [1715507] - [tools] perf trace: Allow configuring default for perf_event_attr.inherit (Michael Petlan) [1715507] - [tools] perf config: Show the configuration when no arguments are provided (Michael Petlan) [1715507] - [tools] perf trace: Allow configuring if the syscall duration should be printed (Michael Petlan) [1715507] - [tools] perf trace: Allow configuring if zeroed syscall args should be printed (Michael Petlan) [1715507] - [tools] perf trace: Allow specifying a set of events to add in perfconfig (Michael Petlan) [1715507] - [tools] perf augmented_raw_syscalls: Do not include stdio.h (Michael Petlan) [1715507] - [tools] perf cs-etm: Generate branch sample for exception packet (Michael Petlan) [1715507] - [tools] perf cs-etm: Treat EO_TRACE element as trace discontinuity (Michael Petlan) [1715507] - [tools] perf cs-etm: Treat NO_SYNC element as trace discontinuity (Michael Petlan) [1715507] - [tools] perf cs-etm: Rename CS_ETM_TRACE_ON to CS_ETM_DISCONTINUITY (Michael Petlan) [1715507] - [tools] perf cs-etm: Refactor enumeration cs_etm_sample_type (Michael Petlan) [1715507] - [tools] perf cs-etm: Remove unused 'trace_on' in cs_etm_decoder (Michael Petlan) [1715507] - [tools] perf cs-etm: Avoid stale branch samples when flush packet (Michael Petlan) [1715507] - [tools] perf cs-etm: Correct packets swapping in cs_etm__flush() (Michael Petlan) [1715507] - [tools] perf trace: Switch to using a struct for the aumented_raw_syscalls syscalls map values (Michael Petlan) [1715507] - [tools] perf augmented_syscalls: Switch to using a struct for the syscalls map values (Michael Petlan) [1715507] - [tools] perf bpf: Move perf_event_output() from stdio.h to bpf.h (Michael Petlan) [1715507] - [tools] perf trace: Implement syscall filtering in augmented_syscalls (Michael Petlan) [1715507] - [tools] perf trace: Avoid using raw_syscalls in duplicity with eBPF augmentation (Michael Petlan) [1715507] - [tools] perf trace: Rename set_ev_qualifier_filter to clarify its a tracepoint filter (Michael Petlan) [1715507] - [tools] perf tools: Cast off_t to s64 to avoid warning on bionic libc (Michael Petlan) [1715507] - [tools] perf tools: Add missing open_memstream() prototype for systems lacking it (Michael Petlan) [1715507] - [tools] perf header: Fix up argument to ctime() (Michael Petlan) [1715507] - [tools] perf tools: Add missing sigqueue() prototype for systems lacking it (Michael Petlan) [1715507] - [tools] tools lib subcmd: Don't add the kernel sources to the include path (Michael Petlan) [1715507] - [tools] perf trace beauty: renameat's newdirfd may also be AT_FDCWD (Michael Petlan) [1715507] - [tools] perf trace: Beautify renameat2's flags argument (Michael Petlan) [1715507] - [tools] perf beauty: Wire up the renameat flags table generator to the Makefile (Michael Petlan) [1715507] - [tools] perf beauty: Add a string table generator for renameat2's flags constants (Michael Petlan) [1715507] - [tools] perf trace beauty: Beautify renameat2's fd arg wrt AT_FDCWD (Michael Petlan) [1715507] - [tools] perf trace: Allow selecting use the use of the ordered_events code (Michael Petlan) [1715507] - [tools] perf trace: Rename delivery functions to ease making ordered_events selectable (Michael Petlan) [1715507] - [tools] tools lib traceevent: Fix processing of dereferenced args in bprintk events (Michael Petlan) [1715507] - [tools] perf stat: Avoid segfaults caused by negated options (Michael Petlan) [1715507] - [tools] perf auxtrace: Alter addr_filter__entire_dso() to work if there are no symbols (Michael Petlan) [1715507] - [tools] perf dso: Export data_file_size() method there are no symbols (Michael Petlan) [1715507] - [tools] perf trace: Add ordered processing (Michael Petlan) [1715507] - [tools] perf ordered_events: Add first_time() method (Michael Petlan) [1715507] - [tools] perf trace: Move event delivery to a new deliver_event() function (Michael Petlan) [1715507] - [tools] perf ordered_events: Add ordered_events__flush_time interface (Michael Petlan) [1715507] - [tools] perf annotate: Introduce basic support for ARC (Michael Petlan) [1715507] - [tools] perf config: Modify size factor of snprintf (Michael Petlan) [1715507] - [tools] perf record: Fix memory leak on AIO objects deallocation (Michael Petlan) [1715507] - [tools] perf vendor events intel: Fix Load_Miss_Real_Latency on SKL/SKX (Michael Petlan) [1715507] - [tools] perf parse-events: Fix unchecked usage of strncpy() (Michael Petlan) [1715507] - [tools] perf probe: Fix unchecked usage of strncpy() (Michael Petlan) [1715507] - [tools] perf ui helpline: Use strlcpy() as a shorter form of strncpy() + explicit set nul (Michael Petlan) [1715507] - [tools] perf svghelper: Fix unchecked usage of strncpy() (Michael Petlan) [1715507] - [tools] perf help: Remove needless use of strncpy() (Michael Petlan) [1715507] - [tools] perf header: Fix unchecked usage of strncpy() (Michael Petlan) [1715507] - [tools] perf header: Fix unchecked usage of strncpy() (Michael Petlan) [1715507] - [tools] perf dso: Fix unchecked usage of strncpy() (Michael Petlan) [1715507] - [tools] perf cs-etm: Add support for PTMv1.1 decoding (Michael Petlan) [1715507] - [tools] perf cs-etm: Add support for ETMv3 trace decoding (Michael Petlan) [1715507] - [tools] perf cs-etm: Add configuration for ETMv3 trace protocol (Michael Petlan) [1715507] - [tools] perf top: Move perf_top__reset_sample_counters() to after counts display (Michael Petlan) [1715507] - [tools] perf top: Display slow reader warning when droping samples (Michael Petlan) [1715507] - [tools] perf top: Save and display the drop count stats (Michael Petlan) [1715507] - [tools] perf top: Drop samples which are behind the refresh rate (Michael Petlan) [1715507] - [tools] perf top: Set the 'session_done' volatile variable when exiting (Michael Petlan) [1715507] - [tools] perf top: Use cond variable instead of a lock (Michael Petlan) [1715507] - [tools] perf top: Add processing thread (Michael Petlan) [1715507] - [tools] perf top: Move lost events warning to helpline (Michael Petlan) [1715507] - [tools] perf top: Save and display the lost count stats (Michael Petlan) [1715507] - [tools] perf ordered_events: Add private data member (Michael Petlan) [1715507] - [tools] perf ordered_events: Rework show_progress for __ordered_events__flush (Michael Petlan) [1715507] - [tools] perf tools: Support 'srccode' output (Michael Petlan) [1715507] - [tools] perf trace: We need to consider "nr" if "__syscall_nr" is not there (Michael Petlan) [1715507] - [tools] perf tools: Allow specifying proc-map-timeout in config file (Michael Petlan) [1715507] - [tools] tools lib subcmd: Fix a few source code comment typos (Michael Petlan) [1715507] - [tools] perf tools: Fix diverse comment typos (Michael Petlan) [1715507] - [tools] perf bpf-loader: Fix debugging message typo (Michael Petlan) [1715507] - [tools] perf tools Documentation: Fix diverse typos (Michael Petlan) [1715507] - [tools] tools lib traceevent: Fix diverse typos in comments (Michael Petlan) [1715507] - [tools] perf vendor events intel: Fix diverse typos (Michael Petlan) [1715507] - [tools] perf tests ARM: Disable breakpoint tests 32-bit (Michael Petlan) [1715507] - [tools] perf cs-etm: Support for ARM A32/T32 instruction sets in CoreSight trace (Michael Petlan) [1715507] - [tools] perf beauty mmap_flags: Fixed syntax error Fixed missing ']' error (Michael Petlan) [1715507] - [tools] tools lib traceevent: traceevent API cleanup (Michael Petlan) [1715507] - [tools] perf tools: traceevent API cleanup, remove __tep_data2host*() (Michael Petlan) [1715507] - [tools] tools lib traceevent: Rename tep_free_format() to tep_free_event() (Michael Petlan) [1715507] - [tools] tools lib traceevent, perf tools: Rename 'struct tep_event_format' to 'struct tep_event' (Michael Petlan) [1715507] - [tools] tools lib traceevent: Install trace-seq.h API header file (Michael Petlan) [1715507] - [tools] tools lib traceevent: Added support for pkg-config (Michael Petlan) [1715507] - [tools] tools lib traceevent: Implement new API tep_get_ref() (Michael Petlan) [1715507] - [tools] perf report: Documentation average IPC and IPC coverage (Michael Petlan) [1715507] - [tools] perf report: Display average IPC and IPC coverage per symbol (Michael Petlan) [1715507] - [tools] perf annotate: Create a annotate2 flag in struct symbol (Michael Petlan) [1715507] - [tools] perf annotate: Compute average IPC and IPC coverage per symbol (Michael Petlan) [1715507] - [tools] tools lib traceevent: Add sanity check to is_timestamp_in_us() (Michael Petlan) [1715507] - [tools] perf beauty mmap_flags: Check if the arch has a mmap.h file (Michael Petlan) [1715507] - [tools] perf record: Extend trace writing to multi AIO (Michael Petlan) [1715507] - [tools] perf record: Enable asynchronous trace writing (Michael Petlan) [1715507] - [tools] perf mmap: Map data buffer for preserving collected data (Michael Petlan) [1715507] - [tools] tools build feature: Check if libaio is available (Michael Petlan) [1715507] - [tools] perf intel-pt: Fix error with config term "pt=0" (Michael Petlan) [1715507] - [tools] perf top: Allow passing a kallsyms file (Michael Petlan) [1715507] - [tools] perf bpf: Use ERR_CAST instead of ERR_PTR(PTR_ERR()) (Michael Petlan) [1715507] - [tools] tools include: Adopt ERR_CAST() from the kernel err.h header (Michael Petlan) [1715507] - [tools] perf tests record: Allow for 'sleep' being 'coreutils' (Michael Petlan) [1715507] - [tools] tools lib traceevent: Fix compile warnings in tools/lib/traceevent/event-parse.c (Michael Petlan) [1715507] - [tools] perf script: Use fallbacks for branch stacks (Michael Petlan) [1715507] - [tools] perf tools: Use fallback for sample_addr_correlates_sym() cases (Michael Petlan) [1715507] - [tools] perf thread: Add fallback functions for cases where cpumode is insufficient (Michael Petlan) [1715507] - [tools] perf machine: Record if a arch has a single user/kernel address space (Michael Petlan) [1715507] - [tools] perf env: Also consider env->arch == NULL as local operation (Michael Petlan) [1715507] - [tools] perf map: Remove extra indirection from map__find() (Michael Petlan) [1715507] - [tools] perf stat: Fix CSV mode column output for non-cgroup events (Michael Petlan) [1715507] - [tools] perf stat: Fix shadow stats for clock events (Michael Petlan) [1715507] - [tools] perf build: Give better hint about devel package for libssl (Michael Petlan) [1715507] - [tools] perf pmu: Move *_cpuid_str() weak functions to header.c (Michael Petlan) [1715507] - [tools] perf symbols: Fix slowness due to -ffunction-section (Michael Petlan) [1715507] - [tools] perf jvmti: Separate jvmti cmlr check (Michael Petlan) [1715507] - [tools] perf vendor events: Add JSON metrics for Cascadelake server (Michael Petlan) [1715507] - [tools] perf vendor events: Add stepping in CPUID string for x86 (Michael Petlan) [1715507] - [tools] perf stat: Use perf_evsel__is_clocki() for clock events (Michael Petlan) [1715507] - [tools] perf pmu: Suppress potential format-truncation warning (Michael Petlan) [1715507] - [tools] perf tools: Add Hygon Dhyana support (Michael Petlan) [1715507] - [tools] perf bench: Add epoll_ctl(2) benchmark (Michael Petlan) [1715507] - [tools] perf bench: Add epoll parallel epoll_wait benchmark (Michael Petlan) [1715507] - [tools] tools build feature: Check if eventfd() is available (Michael Petlan) [1715507] - [tools] perf bench: Move HAVE_PTHREAD_ATTR_SETAFFINITY_NP into bench.h (Michael Petlan) [1715507] - [tools] perf script: Share code and output format for uregs and iregs output (Michael Petlan) [1715507] - [tools] perf bpf: Reduce the hardcoded .max_entries for pid_maps (Michael Petlan) [1715507] - [tools] perf script: Add newline after uregs output (Michael Petlan) [1715507] - [tools] Revert "perf augmented_syscalls: Drop 'write', 'poll' for testing without self pid filter" (Michael Petlan) [1715507] - [tools] perf augmented_syscalls: Remove example hardcoded set of filtered pids (Michael Petlan) [1715507] - [tools] perf trace: Fill in BPF "filtered_pids" map when present (Michael Petlan) [1715507] - [tools] perf trace: See if there is a map named "filtered_pids" (Michael Petlan) [1715507] - [tools] perf trace: Add "_from_option" suffix to trace__set_filter() (Michael Petlan) [1715507] - [tools] perf evlist: Rename perf_evlist__set_filter* to perf_evlist__set_tp_filter* (Michael Petlan) [1715507] - [tools] perf augmented_syscalls: Use pid_filter (Michael Petlan) [1715507] - [tools] perf augmented_syscalls: Drop 'write', 'poll' for testing without self pid filter (Michael Petlan) [1715507] - [tools] perf bpf: Add simple pid_filter class accessible to BPF proggies (Michael Petlan) [1715507] - [tools] perf bpf: Add defines for map insertion/lookup (Michael Petlan) [1715507] - [tools] perf augmented_syscalls: Remove needless linux/socket.h include (Michael Petlan) [1715507] - [tools] perf augmented_syscalls: Filter on a hard coded pid (Michael Petlan) [1715507] - [tools] perf bpf: Add unistd.h to the headers accessible to bpf proggies (Michael Petlan) [1715507] - [kernel] perf/core: Fix impossible ring-buffer sizes warning (Michael Petlan) [1715507] - [x86] perf/x86: Add check_period PMU callback (Michael Petlan) [1715507] - [kernel] perf/core: Don't WARN() for impossible ring-buffer sizes (Michael Petlan) [1715507] - [x86] perf/x86/intel/uncore: Add Node ID mask (Michael Petlan) [1715507] - [kernel] perf core: Fix perf_proc_update_handler() bug (Michael Petlan) [1715507] - [tools] powerpc/perf: Update perf_regs structure to include MMCRA (Michael Petlan) [1715507] - [powerpc] powerpc/perf: Update perf_regs structure to include SIER (Michael Petlan) [1715507] - [include] perf/core: Declare the __percpu attribute on non-deref types (Michael Petlan) [1715507] - [kernel] perf: Fix typos in comments (Michael Petlan) [1715507] - [arm64] arm64: perf: Add support for Armv8.1 PMCEID register format (Michael Petlan) [1715507]- [fs] xfs: abort unaligned nowait directio early (Brian Foster) [1690458] - [fs] xfs: serialize unaligned dio writes against all other dio writes (Brian Foster) [1690458] - [sound] ALSA: hda/hdmi: consider eld_valid also in sync_eld_via_acomp() (Jaroslav Kysela) [1708555] - [fs] Fix error code in nfs_lookup_verify_inode() (Scott Mayhew) [1722315] - [md] dm table: don't copy from a NULL pointer in realloc_argv() (Jerome Marchand) [1571628] - [net] netfilter: ipset: replace a strncpy() with strscpy() (Jerome Marchand) [1571628] - [lib] lib/ubsan.c: don't mark __ubsan_handle_builtin_unreachable as noreturn (Jerome Marchand) [1571628] - [include] netfilter: avoid erronous array bounds warning (Jerome Marchand) [1571628] - [x86] x86/mm/KASLR: Compute the size of the vmemmap section properly (Baoquan He) [1669076] - [security] selinux: fix empty write to keycreate file (Ondrej Mosnacek) [1719067] - [netdrv] net: aquantia: fix vlans not working over bridged network (Igor Russkikh) [1718716] - [s390] s390/jump_label: replace stop_machine with smp_call_function (Philipp Rudo) [1722161] - [s390] s390/dumpstack: print psw mask and address again (Philipp Rudo) [1722157] - [s390] s390/crypto: fix gcm-aes-s390 selftest failures (Philipp Rudo) [1722156] - [wireless] Backport mt76 drivers from linux-5.2-rc5 (Stanislaw Gruszka) [1709867 1709828] - [wireless] Add rtw88 driver from linux-5.2-rc5 (Stanislaw Gruszka) [1487086 1709828] - [wireless] Backport mt7601u driver from linux-5.2-rc5 (Stanislaw Gruszka) [1709828] - [wireless] Backport mwifiex driver from linux-5.2-rc2 (Stanislaw Gruszka) [1709828] - [wireless] Backport rtl8xxxu driver from linux-5.2-rc5 (Stanislaw Gruszka) [1709828] - [wireless] Backport rtlwifi drivers from linux-5.2-rc5 (Stanislaw Gruszka) [1709828] - [wireless] Backport ath9k driver from linux-5.2-rc5 (Stanislaw Gruszka) [1709828] - [wireless] Backport ath10k driver from linux-5.2-rc5 (Stanislaw Gruszka) [1709828] - [wireless] Backport brcm80211 drivers from linux-5.2-rc5 (Stanislaw Gruszka) [1709828] - [wireless] Backport iwlwifi drivers from linux-5.2-rc5 (Stanislaw Gruszka) [1696052 1662020 1662015 1650016 1650015 1650014 1650013 1622445 1494008 1494001 1709828] - [net] Backport mac80211 from linux-5.2-rc5 (Stanislaw Gruszka) [1709828] - [net] Backport core wireless code from linux-5.2-rc5 (Stanislaw Gruszka) [1709828] - [include] netlink: add nl_set_extack_cookie_u64() (Stanislaw Gruszka) [1709828] - [netdrv] r8152: Fix an error on RTL8153-BD MAC Address Passthrough support (Torez Smith) [1683883 1683882] - [netdrv] r8152: Add support for MAC address pass through on RTL8153-BD (Torez Smith) [1683883 1683882] - [netdrv] nfp: abm: fix spelling mistake "offseting" -> "offsetting" (Pablo Cascon) [1713258] - [netdrv] nfp: flower: remove vlan CFI bit from push vlan action (Pablo Cascon) [1713258] - [netdrv] nfp: flower: replace CFI with vlan present (Pablo Cascon) [1713258] - [netdrv] nfp: flower: remove double new line (Pablo Cascon) [1713258] - [netdrv] nfp: bpf: fix ALU32 high bits clearance bug (Pablo Cascon) [1713258] - [netdrv] bpf: do not pass netdev to translate() and prepare() offload callbacks (Pablo Cascon) [1713258] - [netdrv] bpf: pass prog instead of env to bpf_prog_offload_verifier_prep() (Pablo Cascon) [1713258] - [netdrv] bpf: pass destroy() as a callback and remove its ndo_bpf subcommand (Pablo Cascon) [1713258] - [netdrv] bpf: pass translate() as a callback and remove its ndo_bpf subcommand (Pablo Cascon) [1713258] - [netdrv] bpf: call verifier_prep from its callback in struct bpf_offload_dev (Pablo Cascon) [1713258] - [netdrv] bpf: pass a struct with offload callbacks to bpf_offload_dev_create() (Pablo Cascon) [1713258] - [netdrv] nfp: bpf: move nfp_bpf_analyzer_ops from verifier.c to offload.c (Pablo Cascon) [1713258] - [netdrv] nfp: bpf: relax prog rejection through max_pkt_offset (Pablo Cascon) [1713258] - [netdrv] nfp: bpf: double check vNIC capabilities after object sharing (Pablo Cascon) [1713258] - [netdrv] nfp: bpf: optimise save/restore for R6~R9 based on register usage (Pablo Cascon) [1713258] - [netdrv] nfp: bpf: fix return address from register-saving subroutine to callee (Pablo Cascon) [1713258] - [netdrv] nfp: bpf: update fixup function for BPF-to-BPF calls support (Pablo Cascon) [1713258] - [netdrv] nfp: bpf: account for additional stack usage when checking stack limit (Pablo Cascon) [1713258] - [netdrv] nfp: bpf: add main logics for BPF-to-BPF calls support in nfp driver (Pablo Cascon) [1713258] - [netdrv] nfp: bpf: copy eBPF subprograms information from kernel verifier (Pablo Cascon) [1713258] - [netdrv] bpf: add verifier callback to get stack usage info for offloaded progs (Pablo Cascon) [1713258]- [rpmspec] Enable kernel signing for ppc64le (Gustavo Duarte) [1504169] - [nvme] nvme: fix memory leak for power latency tolerance (David Milburn) [1724793] - [rpmspec] redhat: fix missing files for mlxsw specific self-tests (Ivan Vecera) [1724735] - [rpmspec] redhat: Package the signing key for s390 (Philipp Rudo) [1714194] - [rpmspec] redhat: Enable kernel signing for s390 (Philipp Rudo) [1714194] - [rpmspec] redhat: Rename secure boot sources (Philipp Rudo) [1714194] - [powerpc] powerpc: fix max_zone_pfns initialization (Laurent Vivier) [1706560] - [crypto] crypto: dh - update test for public key verification (Herbert Xu) [1722692] - [hid] HID: i2c-hid: Don't reset device upon system resume (Perry Yuan) [1715385] - [rpmspec] correct the ghost initramfs attributes (Rafael Aquini) [1678881] - [s390] s390/mm: fix address space detection in exception handling (Philipp Rudo) [1722160] - [s390] s390/zcrypt: Fix wrong dispatching for control domain CPRBs (Philipp Rudo) [1722158] - [virt] kvm: arm/arm64: Fix emulated ptimer irq injection (Andrew Jones) [1716383] - [x86] kvm/nested: mark as TechPreview on first VM creation (Vitaly Kuznetsov) [1723447] - [powerpc] bpf: powerpc64: add JIT support for bpf line info (Yauheni Kaliuta) [1722423] - [fs] cifs: add spinlock for the openFileList to cifsInodeInfo (Leif Sahlberg) [1712197] - [fs] cifs: fix GlobalMid_Lock bug in cifs_reconnect (Leif Sahlberg) [1716743] - [mm] powerpc/numa: document topology_updates_enabled, disable by default (Desnes Augusto Nunes do Rosario) [1705465] - [mm] powerpc/numa: improve control of topology updates (Desnes Augusto Nunes do Rosario) [1705465] - [kernel] bpf: decouple the lifetime of cgroup_bpf from cgroup itself (Jiri Olsa) [1656432] - [netdrv] USB: hso: Fix OOB memory access in hso_probe/hso_get_config_data (Torez Smith) [1689308 1666662] {CVE-2018-19985} - [usb] USB: check usb_get_extra_descriptor for proper size (Torez Smith) [1689308 1666662] {CVE-2018-20169} - [kvm] KVM: PPC: Book3S HV: Restore SPRG3 in kvmhv_p9_guest_entry() (David Gibson) [1719524] - [kvm] KVM: PPC: Book3S HV: Fix lockdep warning when entering guest on POWER9 (David Gibson) [1719524] - [kvm] KVM: PPC: Book3S HV: XIVE: Fix page offset when clearing ESB pages (David Gibson) [1719524] - [kvm] KVM: PPC: Book3S HV: XIVE: Take the srcu read lock when accessing memslots (David Gibson) [1719524] - [kvm] KVM: PPC: Book3S HV: XIVE: Do not clear IRQ data of passthrough interrupts (David Gibson) [1719524] - [kvm] KVM: PPC: Book3S HV: XIVE: Introduce a new mutex for the XIVE device (David Gibson) [1719524] - [kvm] KVM: PPC: Book3S HV: XIVE: Fix the enforced limit on the vCPU identifier (David Gibson) [1719524] - [kvm] KVM: PPC: Book3S HV: XIVE: Do not test the EQ flag validity when resetting (David Gibson) [1719524] - [kvm] KVM: PPC: Book3S HV: XIVE: Clear file mapping when device is released (David Gibson) [1719524] - [kvm] KVM: PPC: Book3S HV: Don't take kvm->lock around kvm_for_each_vcpu (David Gibson) [1719524] - [kvm] KVM: PPC: Book3S: Use new mutex to synchronize access to rtas token list (David Gibson) [1719524] - [kvm] KVM: PPC: Book3S HV: Use new mutex to synchronize MMU setup (David Gibson) [1719524] - [kvm] KVM: PPC: Book3S HV: Avoid touching arch.mmu_ready in XIVE release functions (David Gibson) [1719524] - [mm] mm, oom: don't kill global init via memory.oom.group (Waiman Long) [1711604] - [mm] mm, oom: remove 'prefer children over parent' heuristic (Waiman Long) [1711604] - [mm] mm, oom: fix use-after-free in oom_kill_process (Waiman Long) [1711604] - [kernel] fork, memcg: fix crash in free_thread_stack on memcg charge fail (Waiman Long) [1711604] - [mm] memcg: localize memcg_kmem_enabled() check (Waiman Long) [1711604] - [mm] memcg, oom: notify on oom killer invocation from the charge path (Waiman Long) [1711604] - [mm] mm: handle no memcg case in memcg_kmem_charge() properly (Waiman Long) [1711604] - [kernel] mm: rework memcg kernel stack accounting (Waiman Long) [1711604] - [mm] mm/memcontrol.c: convert mem_cgroup_id::ref to refcount_t type (Waiman Long) [1711604] - [mm] memcg: remove memcg_kmem_skip_account (Waiman Long) [1711604] - [mm] mm/memcontrol.c: fix memory.stat item ordering (Waiman Long) [1711604] - [mm] mm: drain memcg stocks on css offlining (Waiman Long) [1711604] - [mm] mm: memcontrol: print proper OOM header when no eligible victim left (Waiman Long) [1711604] - [mm] mm, oom: introduce memory.oom.group (Waiman Long) [1711604] - [mm] mm, oom: refactor oom_kill_process() (Waiman Long) [1711604] - [mm] memcg: reduce memcg tree traversals for stats collection (Waiman Long) [1711604] - [mm] mm/vmscan.c: clear shrinker bit if there are no objects related to memcg (Waiman Long) [1711604] - [mm] mm: add SHRINK_EMPTY shrinker methods return value (Waiman Long) [1711604] - [mm] mm/vmscan.c: generalize shrink_slab() calls in shrink_node() (Waiman Long) [1711604] - [mm] mm/vmscan.c: iterate only over charged shrinkers during memcg shrink_slab() (Waiman Long) [1711604] - [mm] mm/list_lru.c: set bit in memcg shrinker bitmap on first list_lru item appearance (Waiman Long) [1711604] - [mm] mm/memcontrol.c: export mem_cgroup_is_root() (Waiman Long) [1711604] - [mm] mm/list_lru.c: pass lru argument to memcg_drain_list_lru_node() (Waiman Long) [1711604] - [mm] mm/list_lru: pass dst_memcg argument to memcg_drain_list_lru_node() (Waiman Long) [1711604] - [mm] mm/list_lru.c: add memcg argument to list_lru_from_kmem() (Waiman Long) [1711604] - [mm] fs: propagate shrinker::id to list_lru (Waiman Long) [1711604] - [fs] fs: Don't need to put list_lru into its own cacheline (Waiman Long) [1711604] - [fs] fs/super.c: refactor alloc_super() (Waiman Long) [1711604] - [mm] mm/workingset.c: refactor workingset_init() (Waiman Long) [1711604] - [mm] mm, memcg: assign memcg-aware shrinkers bitmap to memcg (Waiman Long) [1711604] - [mm] mm/memcontrol.c: move up for_each_mem_cgroup{, _tree} defines (Waiman Long) [1711604] - [mm] mm: assign id to every memcg-aware shrinker (Waiman Long) [1711604] - [mm] mm: introduce CONFIG_MEMCG_KMEM as combination of CONFIG_MEMCG && !CONFIG_SLOB (Waiman Long) [1711604] - [mm] mm/list_lru.c: combine code under the same define (Waiman Long) [1711604] - [mm] memcg, oom: move out_of_memory back to the charge path (Waiman Long) [1711604] - [fs] fs, mm: account buffer_head to kmemcg (Waiman Long) [1711604] - [fs] fs: fsnotify: account fsnotify metadata to kmemcg (Waiman Long) [1711604] - [include] mm: introduce mem_cgroup_put() helper (Waiman Long) [1711604] - [net] tcp: refine memory limit test in tcp_fragment() (Florian Westphal) [1724584] - [net] tcp: enforce tcp_min_snd_mss in tcp_mtu_probing() (Florian Westphal) [1719923] {CVE-2019-11479} - [net] tcp: add tcp_min_snd_mss sysctl (Florian Westphal) [1719923] {CVE-2019-11479} - [net] tipc: pass tunnel dev as NULL to udp_tunnel(6)_xmit_skb (Xin Long) [1722751] - [include] ip6_tunnel: allow not to count pkts on tstats by passing dev as NULL (Xin Long) [1722751] - [net] ip_tunnel: allow not to count pkts on tstats by setting skb's dev to NULL (Xin Long) [1722751] - [net] netfilter: ipv6: nf_defrag: accept duplicate fragments again (Guillaume Nault) [1717106] - [net] netfilter: ipv6: nf_defrag: fix leakage of unqueued fragments (Guillaume Nault) [1717106] - [net] ethtool: fix potential userspace buffer overflow (Paolo Abeni) [1718393] - [net] net-gro: fix use-after-free read in napi_gro_frags() (Paolo Abeni) [1718393] - [net] ethtool: Check for vlan etype or vlan tci when parsing flow_rule (Paolo Abeni) [1718393] - [include] test nouarg before dereferencing zerocopy pointers (Paolo Abeni) [1718393] - [net] avoid weird emergency message (Paolo Abeni) [1718393] - [net] net-gro: Fix GRO flush when receiving a GSO packet. (Paolo Abeni) [1718393] - [net] sock_diag: fix autoloading of the raw_diag module (Paolo Abeni) [1718393] - [net] make skb_partial_csum_set() more robust against overflows (Paolo Abeni) [1718393] - [net] packets: Always register packet sk in the same order (Paolo Abeni) [1718393] - [net] net-sysfs: call dev_hold if kobject_init_and_add success (Paolo Abeni) [1718393] - [net] gro_cells: make sure device is up in gro_cells_receive() (Paolo Abeni) [1718393] - [net] net-sysfs: Fix mem leak in netdev_register_kobject (Paolo Abeni) [1718393] - [include] avoid false positives in untrusted gso validation (Paolo Abeni) [1718393] - [include] net: validate untrusted gso packets without csum offload (Paolo Abeni) [1718393] - [net] Do not allocate page fragments that are not skb aligned (Paolo Abeni) [1718393] - [net] set default network namespace in init_dummy_netdev() (Paolo Abeni) [1718393] - [net] Fix usage of pskb_trim_rcsum (Paolo Abeni) [1718393] - [net] call sk_dst_reset when set SO_DONTROUTE (Paolo Abeni) [1718393] - [net] net, skbuff: do not prefer skb allocation fails early (Paolo Abeni) [1718393] - [net] ethtool: check the return value of get_regs_len (Paolo Abeni) [1718393] - [net] packet: copy user buffers before orphan or clone (Paolo Abeni) [1718393] - [net] don't keep lonely packets forever in the gro hash (Paolo Abeni) [1718393] - [net] net-gro: reset skb->pkt_type in napi_reuse_skb() (Paolo Abeni) [1718393] - [net] flow_dissector: do not dissect l4 ports for fragments (Paolo Abeni) [1718393] - [net] net-ethtool: ETHTOOL_GUFO did not and should not require CAP_NET_ADMIN (Paolo Abeni) [1718393] - [net] tipc: fix modprobe tipc failed after switch order of device registration (Jon Maloy) [1718064] - [net] tipc: switch order of device registration to fix a crash (Jon Maloy) [1718064] - [net] tipc: fix hanging clients using poll with EPOLLOUT flag (Jon Maloy) [1718064] - [net] tipc: fix missing Name entries due to half-failover (Jon Maloy) [1718064] - [net] tipc: remove rcu_read_unlock() left in tipc_udp_recv() (Jon Maloy) [1718064] - [net] tipc: tipc_udp_recv() cleanup vs rcu verbs (Jon Maloy) [1718064] - [net] tipc: introduce new socket option TIPC_SOCK_RECVQ_USED (Jon Maloy) [1718064] - [net] tipc: set sysctl_tipc_rmem and named_timeout right range (Jon Maloy) [1718064] - [net] tipc: fix link established but not in session (Jon Maloy) [1718064] - [net] tipc: use standard write_lock & unlock functions when creating node (Jon Maloy) [1718064] - [net] tipc: missing entries in name table of publications (Jon Maloy) [1718064] - [net] tipc: adapt link failover for new Gap-ACK algorithm (Jon Maloy) [1718064] - [net] tipc: reduce duplicate packets for unicast traffic (Jon Maloy) [1718064] - [net] tipc: improve TIPC throughput by Gap ACK blocks (Jon Maloy) [1718064] - [net] tipc: add NULL pointer check (Jon Maloy) [1718064] - [net] tipc: fix return value check in tipc_mcast_send_sync() (Jon Maloy) [1718064] - [net] tipc: fix a null pointer deref (Jon Maloy) [1718064] - [net] tipc: fix use-after-free in tipc_sk_filter_rcv (Jon Maloy) [1718064] - [net] tipc: smooth change between replicast and broadcast (Jon Maloy) [1718064] - [net] tipc: introduce new capability flag for cluster (Jon Maloy) [1718064] - [net] tipc: support broadcast/replicast configurable for bc-link (Jon Maloy) [1718064] - [net] sched: avoid double free on matchall reoffload (Ivan Vecera) [1688236 1687456] - [net] taprio: add null check on sched_nest to avoid potential null pointer dereference (Ivan Vecera) [1688236 1687456] - [net] nfp: flower: remove unused index from nfp_fl_pedit() (Ivan Vecera) [1688236 1687456] - [net] mlx5e: Fix calling wrong function to get inner vlan key and mask (Ivan Vecera) [1688236 1687456] - [net] flow_offload: support CVLAN match (Ivan Vecera) [1688236 1687456] - [net] nfp: flower: fix masks for tcp and ip flags fields (Ivan Vecera) [1688236 1687456] - [net] sched: use the hardware intermediate representation for matchall (Ivan Vecera) [1688236 1687456] - [net] sched: add sample action to the hardware intermediate representation (Ivan Vecera) [1688236 1687456] - [net] cls_cgroup: avoid panic when receiving a packet before filter set (Ivan Vecera) [1688236 1687456] - [net] cls_matchall: avoid panic when receiving a packet before filter set (Ivan Vecera) [1688236 1687456] - [net] add a generic tracepoint for TX queue timeout (Ivan Vecera) [1688236 1687456] - [net] sched: cls_u32: use struct_size() helper (Ivan Vecera) [1688236 1687456] - [net] taprio: Add support for cycle-time-extension (Ivan Vecera) [1688236 1687456] - [net] taprio: Add support for setting the cycle-time manually (Ivan Vecera) [1688236 1687456] - [net] taprio: Add support adding an admin schedule (Ivan Vecera) [1688236 1687456] - [net] taprio: Fix potencial use of invalid memory during dequeue() (Ivan Vecera) [1688236 1687456] - [net] sched: taprio: Fix taprio_dequeue() (Ivan Vecera) [1688236 1687456] - [net] sched: taprio: Fix taprio_peek() (Ivan Vecera) [1688236 1687456] - [net] sched: taprio: Remove should_restart_cycle() (Ivan Vecera) [1688236 1687456] - [net] sched: taprio: Refactor taprio_get_start_time() (Ivan Vecera) [1688236 1687456] - [net] sched: taprio: Remove pointless variable assigment (Ivan Vecera) [1688236 1687456] - [net] tc_act: drop include of module.h from tc_ife.h (Ivan Vecera) [1688236 1687456] - [net] fib: drop include of module.h from fib_notifier.h (Ivan Vecera) [1688236 1687456] - [net] ife: drop include of module.h from net/ife.h (Ivan Vecera) [1688236 1687456] - [net] psample: drop include of module.h from psample.h (Ivan Vecera) [1688236 1687456] - [net] sched: taprio: fix build without 64bit div (Ivan Vecera) [1688236 1687456] - [net] revert: "net: sched: put back q.qlen into a single location" (Ivan Vecera) [1688236 1687456] - [net] sched: when clearing NOLOCK, clear TCQ_F_CPUSTATS, too (Ivan Vecera) [1688236 1687456] - [net] sched: always do stats accounting according to TCQ_F_CPUSTATS (Ivan Vecera) [1688236 1687456] - [net] sched: prefer qdisc_is_empty() over direct qlen access (Ivan Vecera) [1688236 1687456] - [net] caif: avoid using qdisc_qlen() (Ivan Vecera) [1688236 1687456] - [net] sched: cbs: fix port_rate miscalculation (Ivan Vecera) [1688236 1687456] - [net] sched: taprio: fix picos_per_byte miscalculation (Ivan Vecera) [1688236 1687456] - [net] selftests: add a tc matchall test case (Ivan Vecera) [1688236 1687456] - [net] sch_cake: Make sure we can write the IP header before changing DSCP bits (Ivan Vecera) [1688236 1687456] - [net] sch_cake: Use tc_skb_protocol() helper for getting packet protocol (Ivan Vecera) [1688236 1687456] - [net] sched: act_sample: fix divide by zero in the traffic path (Ivan Vecera) [1688236 1687456] - [net] sched: don't set tunnel for decap action (Ivan Vecera) [1688236 1687456] - [net] sched: introduce and use qdisc tree flush/purge helpers (Ivan Vecera) [1688236 1687456] - [net] sched: introduce and use qstats read helpers (Ivan Vecera) [1688236 1687456] - [net] sched: fix ->get helper of the matchall cls (Ivan Vecera) [1688236 1687456] - [net] sched: Kconfig: update reference link for PIE (Ivan Vecera) [1688236 1687456] - [net] dev: introduce support for sch BYPASS for lockless qdisc (Ivan Vecera) [1688236 1687456] - [net] sched: add empty status flag for NOLOCK qdisc (Ivan Vecera) [1688236 1687456] - [net] sched: fix cleanup NULL pointer exception in act_mirr (Ivan Vecera) [1688236 1687456] - [net] sched: let actions use RCU to access 'goto_chain' (Ivan Vecera) [1688236 1687456] - [net] sched: don't dereference a->goto_chain to read the chain index (Ivan Vecera) [1688236 1687456] - [net] sched: act_vlan: validate the control action inside init() (Ivan Vecera) [1688236 1687456] - [net] sched: act_tunnel_key: validate the control action inside init() (Ivan Vecera) [1688236 1687456] - [net] sched: act_skbmod: validate the control action inside init() (Ivan Vecera) [1688236 1687456] - [net] sched: act_skbedit: validate the control action inside init() (Ivan Vecera) [1688236 1687456] - [net] sched: act_simple: validate the control action inside init() (Ivan Vecera) [1688236 1687456] - [net] sched: act_sample: validate the control action inside init() (Ivan Vecera) [1688236 1687456] - [net] sched: act_police: validate the control action inside init() (Ivan Vecera) [1688236 1687456] - [net] sched: act_pedit: validate the control action inside init() (Ivan Vecera) [1688236 1687456] - [net] sched: act_nat: validate the control action inside init() (Ivan Vecera) [1688236 1687456] - [net] sched: act_connmark: validate the control action inside init() (Ivan Vecera) [1688236 1687456] - [net] sched: act_mirred: validate the control action inside init() (Ivan Vecera) [1688236 1687456] - [net] sched: act_ife: validate the control action inside init() (Ivan Vecera) [1688236 1687456] - [net] sched: act_gact: validate the control action inside init() (Ivan Vecera) [1688236 1687456] - [net] sched: act_csum: validate the control action inside init() (Ivan Vecera) [1688236 1687456] - [net] sched: act_bpf: validate the control action inside init() (Ivan Vecera) [1688236 1687456] - [net] sched: prepare TC actions to properly validate the control action (Ivan Vecera) [1688236 1687456] - [net] sch_cake: Interpret fwmark parameter as a bitmask (Ivan Vecera) [1688236 1687456] - [net] net_sched: return correct value for *notify* functions (Ivan Vecera) [1688236 1687456] - [net] sched: fix potential use-after-free in __tcf_chain_put() (Ivan Vecera) [1688236 1687456] - [net] sched: flower: insert new filter to idr after setting its mask (Ivan Vecera) [1688236 1687456] - [net] sched: act_tunnel_key: Fix double free dst_cache (Ivan Vecera) [1688236 1687456] - [net] sched: avoid unused-label warning (Ivan Vecera) [1688236 1687456] - [net] sch_cake: Simplify logic in cake_select_tin() (Ivan Vecera) [1688236 1687456] - [net] sch_cake: Permit use of connmarks as tin classifiers (Ivan Vecera) [1688236 1687456] - [net] sch_cake: Make the dual modes fairer (Ivan Vecera) [1688236 1687456] - [net] tc-testing: Allow test cases to be skipped (Ivan Vecera) [1688236 1687456] - [net] sched: put back q.qlen into a single location (Ivan Vecera) [1688236 1687456] - [net] sched: pie: avoid slow division in drop probability decay (Ivan Vecera) [1688236 1687456] - [net] netem: fix skb length BUG_ON in __skb_to_sgvec (Ivan Vecera) [1688236 1687456] - [net] revert "net: sched: fw: don't set arg->stop in fw_walk() when empty" (Ivan Vecera) [1688236 1687456] - [net] sched: pie: fix 64-bit division (Ivan Vecera) [1688236 1687456] - [net] tc-testing: gitignore, ignore local tdc config file (Ivan Vecera) [1688236 1687456] - [net] sched: fix typo in walker_check_empty() (Ivan Vecera) [1688236 1687456] - [net] sched: pie: fix mistake in reference link (Ivan Vecera) [1688236 1687456] - [net] sched: act_csum: Fix csum calc for tagged packets (Ivan Vecera) [1688236 1687456] - [net] sched: pie: update references (Ivan Vecera) [1688236 1687456] - [net] sched: pie: add derandomization mechanism (Ivan Vecera) [1688236 1687456] - [net] sched: pie: add more cases to auto-tune alpha and beta (Ivan Vecera) [1688236 1687456] - [net] sched: pie: change initial value of pie_vars->burst_time (Ivan Vecera) [1688236 1687456] - [net] sched: pie: change default value of pie_params->tupdate (Ivan Vecera) [1688236 1687456] - [net] sched: pie: change default value of pie_params->target (Ivan Vecera) [1688236 1687456] - [net] sched: pie: change value of QUEUE_THRESHOLD (Ivan Vecera) [1688236 1687456] - [net] sched: don't release block->lock when dumping chains (Ivan Vecera) [1688236 1687456] - [net] sched: set dedicated tcf_walker flag when tp is empty (Ivan Vecera) [1688236 1687456] - [net] sched: act_tunnel_key: fix metadata handling (Ivan Vecera) [1688236 1687456] - [net] sched: act_tunnel_key: fix NULL pointer dereference during init (Ivan Vecera) [1688236 1687456] - [net] Use RCU_POINTER_INITIALIZER() to init static variable (Ivan Vecera) [1688236 1687456] - [net] selftests: concurrency: add test to verify parallel replace/delete (Ivan Vecera) [1688236 1687456] - [net] selftests: concurrency: add test to verify parallel add/delete (Ivan Vecera) [1688236 1687456] - [net] selftests: concurrency: add test to verify concurrent delete (Ivan Vecera) [1688236 1687456] - [net] selftests: concurrency: add test to verify concurrent replace (Ivan Vecera) [1688236 1687456] - [net] selftests: concurrency: add test to verify parallel rules replace (Ivan Vecera) [1688236 1687456] - [net] selftests: concurrency: add test to verify parallel rules deletion (Ivan Vecera) [1688236 1687456] - [net] selftests: concurrency: add test to verify parallel rules insertion (Ivan Vecera) [1688236 1687456] - [net] selftests: tdc_batch.py: add options needed for concurrency tests (Ivan Vecera) [1688236 1687456] - [net] sched: act_skbedit: fix refcount leak when replace fails (Ivan Vecera) [1688236 1687456] - [net] sched: act_ipt: fix refcount leak when replace fails (Ivan Vecera) [1688236 1687456] - [net] sched: act_tunnel_key: Add dst_cache support (Ivan Vecera) [1688236 1687456] - [net] net_sched: initialize net pointer inside tcf_exts_init() (Ivan Vecera) [1687456 1688236] - [net] sched: potential NULL dereference in tcf_block_find() (Ivan Vecera) [1688236 1687456] - [net] net_sched: fix a memory leak in cls_tcindex (Ivan Vecera) [1688236 1687456] - [net] net_sched: fix a race condition in tcindex_destroy() (Ivan Vecera) [1688236 1687456] - [net] sched: using kfree_rcu() to simplify the code (Ivan Vecera) [1688236 1687456] - [net] sched: route: don't set arg->stop in route4_walk() when empty (Ivan Vecera) [1688236 1687456] - [net] sched: fw: don't set arg->stop in fw_walk() when empty (Ivan Vecera) [1688236 1687456] - [net] sched: cgroup: verify that filter is not NULL during walk (Ivan Vecera) [1688236 1687456] - [net] sched: matchall: verify that filter is not NULL in mall_walk() (Ivan Vecera) [1688236 1687456] - [net] sched: remove duplicated include from cls_api.c (Ivan Vecera) [1688236 1687456] - [net] net_sched: fix two more memory leaks in cls_tcindex (Ivan Vecera) [1688236 1687456] - [net] net_sched: fix a memory leak in cls_tcindex (Ivan Vecera) [1688236 1687456] - [net] sched: unlock rules update API (Ivan Vecera) [1688236 1687456] - [net] sched: refactor tcf_block_find() into standalone functions (Ivan Vecera) [1688236 1687456] - [net] sched: add flags to Qdisc class ops struct (Ivan Vecera) [1688236 1687456] - [net] sched: extend proto ops to support unlocked classifiers (Ivan Vecera) [1688236 1687456] - [net] sched: extend proto ops with 'put' callback (Ivan Vecera) [1688236 1687456] - [net] sched: track rtnl lock status when validating extensions (Ivan Vecera) [1688236 1687456] - [net] sched: prevent insertion of new classifiers during chain flush (Ivan Vecera) [1688236 1687456] - [net] sched: refactor tp insert/delete for concurrent execution (Ivan Vecera) [1688236 1687456] - [net] sched: traverse classifiers in chain with tcf_get_next_proto() (Ivan Vecera) [1688236 1687456] - [net] sched: introduce reference counting for tcf_proto (Ivan Vecera) [1688236 1687456] - [net] sched: protect filter_chain list with filter_chain_lock mutex (Ivan Vecera) [1688236 1687456] - [net] sched: protect chain template accesses with block lock (Ivan Vecera) [1688236 1687456] - [net] sched: traverse chains in block with tcf_get_next_chain() (Ivan Vecera) [1688236 1687456] - [net] sched: protect block->chain0 with block->lock (Ivan Vecera) [1688236 1687456] - [net] sched: refactor tc_ctl_chain() to use block->lock (Ivan Vecera) [1688236 1687456] - [net] sched: protect chain->explicitly_created with block->lock (Ivan Vecera) [1688236 1687456] - [net] sched: protect block state with mutex (Ivan Vecera) [1688236 1687456] - [net] Change TCA_ACT_* to TCA_ID_* to match that of TCA_ID_POLICE (Ivan Vecera) [1688236 1687456] - [net] Move all TC actions identifiers to one place (Ivan Vecera) [1688236 1687456] - [net] sched: use struct_size() helper (Ivan Vecera) [1688236 1687456] - [net] documentation: bring operstate documentation up-to-date (Ivan Vecera) [1688236 1687456] - [net] cls_flower: Remove filter from mask before freeing it (Ivan Vecera) [1688236 1687456] - [net] cls_flower: don't expose TC actions to drivers anymore (Ivan Vecera) [1688236 1687456] - [net] drivers: net: use flow action infrastructure (Ivan Vecera) [1688236 1687456] - [net] flow_offload: add flow_rule and flow_match structures and use them (Ivan Vecera) [1688236 1687456] - [net] net_sched: add performance counters for basic filter (Ivan Vecera) [1688236 1687456] - [net] net_sched: add hit counter for matchall (Ivan Vecera) [1688236 1687456] - [net] sched: cls_flower: allocate mask dynamically in fl_change() (Ivan Vecera) [1688236 1687456] - [net] selftests: tc-testing: fix parsing of ife type (Ivan Vecera) [1688236 1687456] - [net] net_sched: refetch skb protocol for each filter (Ivan Vecera) [1688236 1687456] - [net] sched: act_tunnel_key: fix memory leak in case of action replace (Ivan Vecera) [1688236 1687456] - [net] sch_api: Change signature of qdisc_tree_reduce_backlog() to use ints (Ivan Vecera) [1688236 1687456] - [net] sch_cake: Correctly update parent qlen when splitting GSO packets (Ivan Vecera) [1688236 1687456] - [net] sched: Fix detection of empty queues in child qdiscs (Ivan Vecera) [1688236 1687456] - [net] sched: Avoid dereferencing skb pointer after child enqueue (Ivan Vecera) [1688236 1687456] - [net] sched: cls_flower: Remove old entries from rhashtable (Ivan Vecera) [1688236 1687456] - [net] sched: simplify the qdisc_leaf code (Ivan Vecera) [1688236 1687456] - [net] selftests: Fix test errors related to lib.mk khdr target (Ivan Vecera) [1688236 1687456] - [net] net_sched: fold tcf_block_cb_call() into tc_setup_cb_call() (Ivan Vecera) [1688236 1687456] - [net] sched: cls_flower: Reject duplicated rules also under skip_sw (Ivan Vecera) [1688236 1687456] - [net] tc-testing: gitignore, ignore generated test results (Ivan Vecera) [1688236 1687456] - [net] tc-testing: Implement the TdcResults module in tdc (Ivan Vecera) [1688236 1687456] - [net] tc-testing: Add new TdcResults module (Ivan Vecera) [1688236 1687456] - [net] tc-testing: Add command timeout feature to tdc (Ivan Vecera) [1688236 1687456] - [net] netem: use a list in addition to rbtree (Ivan Vecera) [1688236 1687456] - [net] Prevent invalid access to skb->prev in __qdisc_drop_all (Ivan Vecera) [1688236 1687456] - [net] tc-testing: tdc.py: Guard against lack of returncode in executed command (Ivan Vecera) [1688236 1687456] - [net] tc-testing: tdc.py: ignore errors when decoding stdout/stderr (Ivan Vecera) [1688236 1687456] - [net] etf: Drop all expired packets (Ivan Vecera) [1688236 1687456] - [net] etf: Split timersortedlist_erase() (Ivan Vecera) [1688236 1687456] - [net] etf: Use cached rb_root (Ivan Vecera) [1688236 1687456] - [net] etf: Cancel timer if there are no pending skbs (Ivan Vecera) [1688236 1687456] - [net] sched: cls_flower: Classify packets using port ranges (Ivan Vecera) [1688236 1687456] - [net] act_mirred: clear skb->tstamp on redirect (Ivan Vecera) [1688236 1687456] - [net] core: use __vlan_hwaccel helpers (Ivan Vecera) [1688236 1687456] - [net] sched: Replace call_rcu_bh() and rcu_barrier_bh() (Ivan Vecera) [1688236 1687456] - [net] sched: Remove egdev mechanism (Ivan Vecera) [1688236 1687456] - [net] sched: avoid writing on noop_qdisc (Ivan Vecera) [1688236 1687456] - [net] sched: cls_u32: simplify the hell out u32_delete() emptiness check (Ivan Vecera) [1688236 1687456] - [net] sched: cls_u32: keep track of knodes count in tc_u_common (Ivan Vecera) [1688236 1687456] - [net] sched: cls_u32: get rid of tp_c (Ivan Vecera) [1688236 1687456] - [net] sched: cls_u32: the tp_c argument of u32_set_parms() is always tp->data (Ivan Vecera) [1688236 1687456] - [net] sched: cls_u32: pass tc_u_common to u32_set_parms() instead of tc_u_hnode (Ivan Vecera) [1688236 1687456] - [net] sched: cls_u32: clean tc_u_common hashtable (Ivan Vecera) [1688236 1687456] - [net] sched: cls_u32: get rid of tc_u_common ->rcu (Ivan Vecera) [1688236 1687456] - [net] sched: cls_u32: get rid of tc_u_knode ->tp (Ivan Vecera) [1688236 1687456] - [net] sched: cls_u32: get rid of unused argument of u32_destroy_key() (Ivan Vecera) [1688236 1687456] - [net] sched: cls_u32: make sure that divisor is a power of 2 (Ivan Vecera) [1688236 1687456] - [net] sched: cls_u32: disallow linking to root hnode (Ivan Vecera) [1688236 1687456] - [net] sched: cls_u32: mark root hnode explicitly (Ivan Vecera) [1688236 1687456] - [net] sched: pie: fix coding style issues (Ivan Vecera) [1688236 1687456] - [net] treewide: Replace more open-coded allocation size multiplications (Ivan Vecera) [1688236 1687456] - [net] sched: remove unused helpers (Ivan Vecera) [1688236 1687456] - [net] tc-testing: use a plugin to build eBPF program (Ivan Vecera) [1688236 1687456] - [net] tc-testing: fix build of eBPF programs (Ivan Vecera) [1688236 1687456] - [net] tc: Add support for configuring the taprio scheduler (Ivan Vecera) [1688236 1687456] - [documentation] KVM: arm64: Clarify access behaviour for out-of-range SVE register slice IDs (Andrew Jones) [1550499] - [documentation] KVM: Clarify KVM_{SET,GET}_ONE_REG error code documentation (Andrew Jones) [1550499] - [documentation] KVM: Clarify capability requirements for KVM_ARM_VCPU_FINALIZE (Andrew Jones) [1550499] - [kvm] KVM: arm/arm64: Clean up vcpu finalization function parameter naming (Andrew Jones) [1550499] - [kvm] KVM: arm64/sve: Explain validity checks in set_sve_vls() (Andrew Jones) [1550499] - [kvm] KVM: arm64/sve: Simplify KVM_REG_ARM64_SVE_VLS array sizing (Andrew Jones) [1550499] - [kvm] KVM: arm64/sve: WARN when avoiding divide-by-zero in sve_reg_to_region() (Andrew Jones) [1550499] - [kvm] KVM: arm64/sve: Make register ioctl access errors more consistent (Andrew Jones) [1550499] - [kvm] KVM: arm64/sve: Miscellaneous tidyups in guest.c (Andrew Jones) [1550499] - [kvm] KVM: arm64/sve: Clean up UAPI register ID definitions (Andrew Jones) [1550499] - [kvm] KVM: arm64/sve: sys_regs: Demote redundant vcpu_has_sve() checks to WARNs (Andrew Jones) [1550499] - [virt] KVM: arm/arm64: Demote kvm_arm_init_arch_resources() to just set up SVE (Andrew Jones) [1550499] - [arm64] arm64/sve: Clarify vq map semantics (Andrew Jones) [1550499] - [kvm] arm64: KVM: Fix system register enumeration (Andrew Jones) [1550499] - [documentation] KVM: arm64/sve: Document KVM API extensions for SVE (Andrew Jones) [1550499] - [documentation] KVM: Document errors for KVM_GET_ONE_REG and KVM_SET_ONE_REG (Andrew Jones) [1550499] - [arm64] KVM: arm64: Add a capability to advertise SVE support (Andrew Jones) [1550499] - [kvm] KVM: arm64/sve: Allow userspace to enable SVE for vcpus (Andrew Jones) [1550499] - [kvm] KVM: arm64/sve: Add pseudo-register for the guest's vector lengths (Andrew Jones) [1550499] - [virt] KVM: arm/arm64: Add KVM_ARM_VCPU_FINALIZE ioctl (Andrew Jones) [1550499] - [virt] KVM: arm/arm64: Add hook for arch-specific KVM initialisation (Andrew Jones) [1550499] - [arm64] arm64/sve: In-kernel vector length availability query interface (Andrew Jones) [1550499] - [kvm] KVM: arm64: Enumerate SVE register indices for KVM_GET_REG_LIST (Andrew Jones) [1550499] - [arm64] KVM: arm64/sve: Add SVE support to register access ioctl interface (Andrew Jones) [1550499] - [kvm] KVM: arm64: Reject ioctl access to FPSIMD V-regs on SVE vcpus (Andrew Jones) [1550499] - [kvm] KVM: arm64: Factor out core register ID enumeration (Andrew Jones) [1550499] - [kvm] KVM: arm64: Add missing #include of in guest.c (Andrew Jones) [1550499] - [include] KVM: Allow 2048-bit register access via ioctl interface (Andrew Jones) [1550499] - [kvm] KVM: arm64/sve: Context switch the SVE registers (Andrew Jones) [1550499] - [kvm] KVM: arm64/sve: System register context switch and access support (Andrew Jones) [1550499] - [kvm] KVM: arm64: Support runtime sysreg visibility filtering (Andrew Jones) [1550499] - [kvm] KVM: arm64: Propagate vcpu into read_id_reg() (Andrew Jones) [1550499] - [arm64] KVM: arm64: Add a vcpu flag to control SVE visibility for the guest (Andrew Jones) [1550499] - [arm64] arm64/sve: Enable SVE state tracking for non-task contexts (Andrew Jones) [1550499] - [arm64] arm64/sve: Check SVE virtualisability (Andrew Jones) [1550499] - [arm64] arm64/sve: Clarify role of the VQ map maintenance functions (Andrew Jones) [1550499] - [arm64] KVM: arm64: Add missing #includes to kvm_host.h (Andrew Jones) [1550499] - [kvm] KVM: arm64: Refactor kvm_arm_num_regs() for easier maintenance (Andrew Jones) [1550499] - [arm64] KVM: arm64: Delete orphaned declaration for __fpsimd_enabled() (Andrew Jones) [1550499] - [arm64] arm64: fpsimd: Always set TIF_FOREIGN_FPSTATE on task state flush (Andrew Jones) [1550499] - [documentation] KVM: Documentation: Document arm64 core registers in detail (Andrew Jones) [1550499] - [arm64] arm64/sve: Disentangle from (Andrew Jones) [1550499] - [arm64] arm64/sve: ptrace: Fix SVE_PT_REGS_OFFSET definition (Andrew Jones) [1550499]- [fs] xfs: fix reporting supported extra file attributes for statx() (Bill O'Donnell) [1721034] - [scsi] scsi: hpsa: correct ioaccel2 chaining (Joseph Szczypek) [1706121] - [powerpc] powerpc/pseries/mobility: rebuild cacheinfo hierarchy post-migration (Steve Best) [1720929] - [powerpc] powerpc/pseries/mobility: prevent cpu hotplug during DT update (Steve Best) [1720929] - [powerpc] powerpc/cacheinfo: add cacheinfo_teardown, cacheinfo_rebuild (Steve Best) [1720929] - [kernel] cpuset: restore sanity to cpuset_cpus_allowed_fallback() (Joel Savitz) [1677311]- [scripts] scripts: override locale from environment when running recordmcount.pl (Prarit Bhargava) [1721515] - [netdrv] net: aquantia: fix wol configuration not applied sometimes (Igor Russkikh) [1662198] - [x86] x86/resctrl: Prevent NULL pointer dereference when local MBM is disabled (Prarit Bhargava) [1721208] - [fs] inotify: Fix fsnotify_mark refcount leak in inotify_update_existing_watch() (Miklos Szeredi) [1451863] - [fs] inotify: Fix fd refcount leak in inotify_add_watch(). (Miklos Szeredi) [1451863] - [fs] fanotify: Use inode_is_open_for_write (Miklos Szeredi) [1451863] - [fs] fanotify: Make sure to check event_len when copying (Miklos Szeredi) [1451863] - [fs] fsnotify/fdinfo: include fdinfo.h for inotify_show_fdinfo() (Miklos Szeredi) [1451863] - [include] fanotify: introduce new event mask FAN_OPEN_EXEC_PERM (Miklos Szeredi) [1451863] - [include] fsnotify: refactor fsnotify_parent()/fsnotify() paired calls when event is on path (Miklos Szeredi) [1451863] - [include] fanotify: introduce new event mask FAN_OPEN_EXEC (Miklos Szeredi) [1451863] - [fs] fanotify: return only user requested event types in event mask (Miklos Szeredi) [1451863] - [fs] fanotify: support reporting thread id instead of process id (Miklos Szeredi) [1451863] - [fs] fanotify: add BUILD_BUG_ON() to count the bits of fanotify constants (Miklos Szeredi) [1451863] - [fs] fsnotify: convert runtime BUG_ON() to BUILD_BUG_ON() (Miklos Szeredi) [1451863] - [fs] fanotify: deprecate uapi FAN_ALL_* constants (Miklos Szeredi) [1451863] - [fs] fanotify: simplify handling of FAN_ONDIR (Miklos Szeredi) [1451863] - [include] fanotify: fix collision of internal and uapi mark flags (Miklos Szeredi) [1451863] - [fs] fanotify: store fanotify_init() flags in group's fanotify_data (Miklos Szeredi) [1451863] - [fs] fanotify: clean up handling of "mark type" (Miklos Szeredi) [1451863] - [fs] fsnotify: fix false positive warning on inode delete (Miklos Szeredi) [1451863] - [include] inotify: Add flag IN_MASK_CREATE for inotify_add_watch() (Miklos Szeredi) [1451863] - [fs] fanotify: factor out helpers to add/remove mark (Miklos Szeredi) [1451863] - [fs] fsnotify: add helper to get mask from connector (Miklos Szeredi) [1451863] - [fs] fsnotify: let connector point to an abstract object (Miklos Szeredi) [1451863] - [fs] fsnotify: pass connp and object type to fsnotify_add_mark() (Miklos Szeredi) [1451863] - [fs] fsnotify: use typedef fsnotify_connp_t for brevity (Miklos Szeredi) [1451863] - [powerpc] powerpc/pseries: Fix oops in hotplug memory notifier (Steve Best) [1720932] - [netdrv] net: aquantia: tcp checksum 0xffff being handled incorrectly (Igor Russkikh) [1719176] - [netdrv] net: aquantia: fix LRO with FCS error (Igor Russkikh) [1719176] - [netdrv] net: aquantia: check rx csum for all packets in LRO session (Igor Russkikh) [1719176] - [netdrv] net: aquantia: tx clean budget logic error (Igor Russkikh) [1719176] - [security] selinux: log raw contexts as untrusted strings (Ondrej Mosnacek) [1719666] - [kernel] audit: add saddr_fam filter field (Richard Guy Briggs) [1715679] - [kernel] audit: re-structure audit field valid checks (Richard Guy Briggs) [1715679] - [kernel] audit: rename FILTER_TYPE to FILTER_EXCLUDE (Richard Guy Briggs) [1715679] - [kernel] audit: allow other filter list types for AUDIT_EXE (Richard Guy Briggs) [1715679] - [documentation] ovl: doc: add non-standard corner cases (Miklos Szeredi) [1718370] - [fs] ovl: support the FS_IOC_FSETXATTR ioctls (Miklos Szeredi) [1718370] - [fs] ovl: relax WARN_ON() for overlapping layers use case (Miklos Szeredi) [1718370] - [fs] ovl: check the capability before cred overridden (Miklos Szeredi) [1718370] - [fs] ovl: do not generate duplicate fsnotify events for "fake" path (Miklos Szeredi) [1718370] - [fs] ovl: support stacked SEEK_HOLE/SEEK_DATA (Miklos Szeredi) [1718370] - [fs] ovl: fix missing upper fs freeze protection on copy up for ioctl (Miklos Szeredi) [1718370] - [fs] fuse: fallocate: fix return with locked inode (Miklos Szeredi) [1717457] - [fs] fuse: honor RLIMIT_FSIZE in fuse_file_fallocate (Miklos Szeredi) [1717457] - [fs] fuse: decrement NR_WRITEBACK_TEMP on the right page (Miklos Szeredi) [1717457] - [fs] fuse: handle zero sized retrieve correctly (Miklos Szeredi) [1717457] - [fs] fuse: continue to send FUSE_RELEASEDIR when FUSE_OPEN returns ENOSYS (Miklos Szeredi) [1717457]- [mm] mm/mincore.c: make mincore() more conservative (Rafael Aquini) [1664203] {CVE-2019-5489} - [x86] x86/umip: Make the UMIP activated message generic (David Arcari) [1720014] - [x86] x86/umip: Print UMIP line only once (David Arcari) [1720014] - [crypto] crypto: vmac - separate tfm and request context (Desnes Augusto Nunes do Rosario) [1702702] - [crypto] crypto: ccp - Update driver messages to remove some confusion (David Arcari) [1719026] - [block] blk-mq: fix hang caused by freeze/unfreeze sequence (Ming Lei) [1719835] - [block] blk-mq: remove WARN_ON(!q->elevator) from blk_mq_sched_free_requests (Ming Lei) [1719835] - [block] block: free sched's request pool in blk_cleanup_queue (Ming Lei) [1719835] - [block] block: don't protect generic_make_request_checks with blk_queue_enter (Ming Lei) [1719835] - [block] block: move blk_exit_queue into __blk_release_queue (Ming Lei) [1719835] - [block] block: print offending values when cloned rq limits are exceeded (Ming Lei) [1719816] - [block] block: fix page leak when merging to same page (Ming Lei) [1662864] - [x86] RHEL: fix build of spec_ctrl.h for older assemblers (Jeff Moyer) [1719406] - [drm] drm/amd/display: Initialize stream_update with memset (Jeff Moyer) [1719406] - [mm] mm/gup: finish consolidating error handling (Jeff Moyer) [1641506] - [mm] mm/gup: cache dev_pagemap while pinning pages (Jeff Moyer) [1641506] - [rpmspec] kernel packaging: Fix extra namespace collision (Prarit Bhargava) [1699868] - [rpmspec] redhat: kernel-selftests-internal: add dependencies (Jiri Benc) [1717943] - [kernel] kernel/module.c: Only return -EEXIST for modules that have finished loading (Prarit Bhargava) [1666939] - [input] Input: elantech - remove P52 and P72 from SMBus blacklist (Benjamin Tissoires) [1703157] - [input] Input: elan_i2c - handle physical middle button (Benjamin Tissoires) [1703157] - [input] Input: elantech/SMBus - export all capabilities from the PS/2 node (Benjamin Tissoires) [1703157] - [input] Input: elan_i2c - do not query the info if they are provided (Benjamin Tissoires) [1703157] - [input] Input: elantech - detect middle button based on firmware version (Benjamin Tissoires) [1703157] - [input] Input: elantech - add helper function elantech_is_buttonpad() (Benjamin Tissoires) [1703157] - [input] Input: elantech - query the min/max information beforehand too (Benjamin Tissoires) [1703157] - [input] Input: elantech - enable middle button support on 2 ThinkPads (Benjamin Tissoires) [1703157] - [input] Input: elan_i2c - increment wakeup count if wake source (Benjamin Tissoires) [1703157] - [kernel] timekeeping: Update multiplier when NTP frequency is set directly (Prarit Bhargava) [1714164] - [fs] xfs: fix use after free in buf log item unlock assert (Brian Foster) [1666150] - [fs] xfs: add missing error check in xfs_prepare_shift() (Brian Foster) [1699214] - [documentation] Documentation: Fix grammatical error in sysctl/fs.txt & clarify negative dentry (Waiman Long) [1673955] - [fs] fs/dcache: Track & report number of negative dentries (Waiman Long) [1673955] - [fs] fs/dcache: Fix incorrect nr_dentry_unused accounting in shrink_dcache_sb() (Waiman Long) [1673955] - [net] tcp: tcp_fragment() should apply sane memory limits (Florian Westphal) [1719858] {CVE-2019-11478} - [net] tcp: limit payload size of sacked skbs (Florian Westphal) [1719603] {CVE-2019-11477}- [tools] kvm: selftests: make hyperv_cpuid test pass on AMD (Vitaly Kuznetsov) [1718501] - [scsi] vmw_pvscsi: Fixed to work with SG_CHAIN (Ewan Milne) [1717278] - [x86] mark AMD Rome processors supported (David Arcari) [1520002] - [fs] ext4: zero out the unused memory region in the extent tree block (Lukas Czerner) [1715276] {CVE-2019-11833} - [s390] s390/smp: Fix calling smp_call_ipl_cpu() from ipl CPU (David Hildenbrand) [1715041] - [vfio] vfio/type1: Limit DMA mappings per container (Alex Williamson) [1695592] {CVE-2019-3882} - [tools] selftests/powerpc: Remove Power9 paste tests (Diego Domingos) [1662374] - [tools] selftests/powerpc: Remove Power9 copy_unaligned test (Diego Domingos) [1662374] - [tools] selftests/powerpc: Fix ptrace tm failure (Diego Domingos) [1662374] - [netdrv] mlxsw: core: Prevent reading unsupported slave address from SFP EEPROM (Ivan Vecera) [1680241] - [netdrv] mlxsw: core: Prevent QSFP module initialization for old hardware (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum: Fix autoneg status in ethtool (Ivan Vecera) [1680241] - [netdrv] mlxsw: pci: Reincrease PCI reset timeout (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum: Put MC TCs into DWRR mode (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum_buffers: Add a multicast pool for Spectrum-2 (Ivan Vecera) [1680241] - [tools] selftests: mlxsw: Test VRF MAC vetoing (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum_router: Do not check VRF MAC address (Ivan Vecera) [1680241] - [netdrv] mlxsw: core: Do not use WQ_MEM_RECLAIM for mlxsw workqueue (Ivan Vecera) [1680241] - [netdrv] mlxsw: core: Do not use WQ_MEM_RECLAIM for mlxsw ordered workqueue (Ivan Vecera) [1680241] - [netdrv] mlxsw: core: Do not use WQ_MEM_RECLAIM for EMAD workqueue (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum_switchdev: Add MDB entries in prepare phase (Ivan Vecera) [1680241] - [netdrv] mlxsw: core: mlxsw: core: avoid -Wint-in-bool-context warning (Ivan Vecera) [1680241] - [netdrv] mlxsw: minimal: Initialize base_mac (Ivan Vecera) [1680241] - [netdrv] mlxsw: core: Prevent duplication during QSFP module initialization (Ivan Vecera) [1680241] - [netdrv] mellanox: Switch to bitmap_zalloc() (Ivan Vecera) [1680241] - [netdrv] mlxsw: i2c: Extend initialization by querying resources data (Ivan Vecera) [1680241] - [netdrv] mlxsw: i2c: Extend input parameters list of command API (Ivan Vecera) [1680241] - [netdrv] mlxsw: i2c: Modify input parameter name in initialization API (Ivan Vecera) [1680241] - [netdrv] mlxsw: i2c: Fix comment misspelling (Ivan Vecera) [1680241] - [netdrv] mlxsw: core: Move resource query API to common location (Ivan Vecera) [1680241] - [netdrv] mlxsw: minimal: Add ethtool support (Ivan Vecera) [1680241] - [netdrv] mlxsw: minimal: Make structures and variables names shorter (Ivan Vecera) [1680241] - [netdrv] mlxsw: core: Move ethtool module callbacks to a common location (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum_acl: Make mlxsw_sp_acl_tcam_vregion_rehash() return void (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum_acl: Remember where to continue rehash migration (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum_acl: Allow to interrupt/continue rehash work (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum_acl: Do rollback as another call to mlxsw_sp_acl_tcam_vchunk_migrate_all() (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum_acl: Put vchunk migrate start/end code into separate functions (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum_acl: Put this_is_rollback to rehash context struct (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum_acl: Rename variables in mlxsw_sp_acl_tcam_ventry_migrate() (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum_acl: assign vchunk->chunk by the newly created chunk (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum_acl: assign vregion->region by the newly created region (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum_acl: Push code start/end from mlxsw_sp_acl_tcam_vregion_migrate() (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum_acl: Push rehash start/end code into separate functions (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum_acl: Introduce new rehash context struct and save hint_priv there (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum_acl: Don't migrate already migrated entry (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum_acl: Push rehash dw struct into rehash sub-struct (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum_switchdev: Handle SWITCHDEV_PORT_ATTR_SET (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum: acl: Use struct_size() in kzalloc() (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum: remove set but not used variable 'autoneg_status' (Ivan Vecera) [1680241] - [tools] selftests: mlxsw: spectrum-2: Add massive delta rehash test (Ivan Vecera) [1680241] - [tools] selftests: mlxsw: spectrum-2: Check migrate end trace (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum_acl: Add vregion migration end tracepoint (Ivan Vecera) [1680241] - [tools] selftests: mlxsw: spectrum-2: Add IPv6 variant of simple delta rehash test (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum_acl: Don't take mutex in mlxsw_sp_acl_tcam_vregion_rehash_work() (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum_acl: Remove RTNL lock assertions from ERP code (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum_acl: Don't take rtnl lock during vregion_rehash_intrvl_set() (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum_acl: Introduce a mutex to guard objagg instance manipulation (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum_acl: Enable vregion rehash per-profile (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum_acl: Introduce mutex to guard Bloom Filter updates (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum_acl: Introduce vregion mutex (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum_acl: Refactor vregion association code (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum_acl: Introduce a mutex to guard region list updates (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum_acl: Split TCAM group structure into two (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum_acl: Remove unused ops field from group structure (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum: Add Spectrum-2 ASIC support for new port types and speeds (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum: Add Spectrum-2 ASIC port type-speed operations (Ivan Vecera) [1680241] - [netdrv] mlxsw: reg: Add new port type-speed fields for PTYS register (Ivan Vecera) [1680241] - [netdrv] mlxsw: reg: 80 columns wrapping change (Ivan Vecera) [1680241] - [netdrv] mlxsw: reg: Rename p_eth_proto_adm to full name p_eth_proto_admin (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum: Add port type-speed operations (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum: Rename port type-speed functions to ASIC specific (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum: Query port connector type from firmware (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum: Remove unsupported eth_proto_lp_advertise field in PTYS (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum: Remove duplicate port link mode entry (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum: Avoid -Wformat-truncation warnings (Ivan Vecera) [1680241] - [netdrv] net: Remove SWITCHDEV_ATTR_ID_PORT_BRIDGE_FLAGS_SUPPORT (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum_buffers: Reject overlarge headroom size requests (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum_buffers: Update port headroom configuration (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum_buffers: Add Spectrum-2 shared buffer configuration (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum_buffers: Keep mlxsw_sp_sb_mm in sb_vals (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum_buffers: Keep mlxsw_sp_sb_cm in sb_vals (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum_buffers: Keep mlxsw_sp_sb_prs in mlxsw_sp_sb_vals (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum_buffers: Keep mlxsw_sp_sb_pms in mlxsw_sp_sb_vals (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum_buffers: Keep pool descriptors in mlxsw_sp_sb_vals (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum_buffers: Allocate prs & pms dynamically (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum: Add struct mlxsw_sp_sb_vals (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum: Change IP2ME CPU policer rate and burst size values (Ivan Vecera) [1680241] - [netdrv] mlxsw: __mlxsw_sp_port_headroom_set(): Fix a use of local variable (Ivan Vecera) [1680241] - [tools] selftests: forwarding: Add some missing configuration symbols (Ivan Vecera) [1680241] - [netdrv] mlxsw: core: fix spelling mistake "temprature" -> "temperature" (Ivan Vecera) [1680241] - [netdrv] mlxsw: core: Extend thermal module with per QSFP module thermal zones (Ivan Vecera) [1680241] - [netdrv] mlxsw: core: Allow thermal zone binding to an external cooling device (Ivan Vecera) [1680241] - [netdrv] mlxsw: core: Add QSFP module temperature label attribute to hwmon (Ivan Vecera) [1680241] - [netdrv] mlxsw: core: Extend hwmon interface with QSFP module temperature attributes (Ivan Vecera) [1680241] - [netdrv] mlxsw: core: Extend hwmon interface with fan fault attribute (Ivan Vecera) [1680241] - [netdrv] mlxsw: core: Rename cooling device (Ivan Vecera) [1680241] - [netdrv] mlxsw: core: Replace thermal temperature trips with defines (Ivan Vecera) [1680241] - [netdrv] mlxsw: core: Modify thermal zone definition (Ivan Vecera) [1680241] - [netdrv] mlxsw: core: Set different thermal polling time based on bus frequency capability (Ivan Vecera) [1680241] - [netdrv] mlxsw: core: Add API for QSFP module temperature thresholds reading (Ivan Vecera) [1680241] - [netdrv] mlxsw: reg: Add Fan Out of Range Event Register (Ivan Vecera) [1680241] - [netdrv] mlxsw: reg: Add Management Temperature Bulk Register (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum: Move QSFP EEPROM definitions to common location (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum_switchdev: Remove unused variables (Ivan Vecera) [1680241] - [tools] selftests: mlxsw: avoid double sourcing of lib.sh (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum_flower: Fix VLAN modify action support (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum_router: Drop unnecessary WARN_ON_ONCE() (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum: Set LAG port collector only when active (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum_switchdev: Remove getting PORT_BRIDGE_FLAGS (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum_router: Use struct_size() in kzalloc() (Ivan Vecera) [1680241] - [tools] selftests: mlxsw: spectrum-2: Add simple delta rehash test (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum_acl: Add couple of vregion rehash tracepoints (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum: add "acl_region_rehash_interval" devlink param (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum_acl: Implement region migration according to hints (Ivan Vecera) [1680241] - [netdrv] mlxsw: reg: Add multi field to PAGT register (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum_acl: Pass hints priv all the way to ERP code (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum_acl: Implement basic ERP rehash hits creation (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum_acl: Split entry struct into entry and ventry (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum_acl: Split chunk struct into chunk and vchunk (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum_acl: Split region struct into region and vregion (Ivan Vecera) [1680241] - [netdrv] lib: objagg: implement optimization hints assembly and use hints for object creation (Ivan Vecera) [1680241] - [netdrv] devlink: publish params only after driver init is done (Ivan Vecera) [1680241] - [tools] selftests: mlxsw: Add a test for blackhole routes (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum_router: Offload blackhole routes (Ivan Vecera) [1680241] - [netdrv] mlxsw: Implement ndo_get_port_parent_id() (Ivan Vecera) [1680241] - [netdrv] mlxsw: core: Trace EMAD errors (Ivan Vecera) [1680241] - [netdrv] drivers: net: use flow action infrastructure (Ivan Vecera) [1680241] - [netdrv] flow_offload: add flow_rule and flow_match structures and use them (Ivan Vecera) [1680241] - [tools] selftests: forwarding: mirror_gre_flower: Fix test result handling (Ivan Vecera) [1680241] - [tools] selftests: forwarding: mirror_gre_bridge_1q_lag: Ignore ARP (Ivan Vecera) [1680241] - [tools] selftests: forwarding: mirror_gre_bridge_1q_lag: Enable forwarding (Ivan Vecera) [1680241] - [tools] selftests: forwarding: mirror_gre_bridge_1q_lag: Flush neighbors (Ivan Vecera) [1680241] - [tools] selftests: forwarding: mirror_gre_vlan_bridge_1q: Fix roaming test (Ivan Vecera) [1680241] - [tools] selftests: forwarding: mirror_lib: Wait for tardy mirrored packets (Ivan Vecera) [1680241] - [tools] selftests: forwarding: mirror_gre_changes: Fix TTL test (Ivan Vecera) [1680241] - [tools] selftests: mlxsw: Update ping limits (Ivan Vecera) [1680241] - [tools] selftests: forwarding: mirror_lib: Update ping limits (Ivan Vecera) [1680241] - [tools] selftests: forwarding: Make ping timeout configurable (Ivan Vecera) [1680241] - [tools] selftests: spectrum-2: Add delta two masks one key test (Ivan Vecera) [1680241] - [tools] selftests: spectrum-2: Fix multiple_masks_test (Ivan Vecera) [1680241] - [tools] selftests: spectrum-2: Extend and move trace helpers (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum_acl: Add C-TCAM spill tracepoint (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum_acl: Include delta bits into hashtable key (Ivan Vecera) [1680241] - [tools] selftests: forwarding: Use OK instead of PASS in test output (Ivan Vecera) [1680241] - [tools] selftests: net: forwarding: change devlink resource support checking (Ivan Vecera) [1680241] - [documentation] Documentation: add devlink param file for mlxsw driver (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum_switchdev: Add more extack messages (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum_acl: Fix rul/rule typo (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum_acl: Move mr_ruleset and mr_rule structs (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum_acl: Remove unnecessary arg on action_replace call path (Ivan Vecera) [1680241] - [netdrv] mlxfw: Replace license text with SPDX identifiers and adjust copyrights (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum_nve: Enable VXLAN on Spectrum-2 (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum_nve: Add support for VXLAN on Spectrum-2 (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum_nve: Breakout common code to a common function (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum: Expose functions to create and destroy underlay RIF (Ivan Vecera) [1680241] - [tools] selftests: forwarding: Add a test case for ARP suppression (Ivan Vecera) [1680241] - [tools] selftests: forwarding: Add a test for VXLAN symmetric routing (Ivan Vecera) [1680241] - [tools] selftests: forwarding: Add a test case for ARP decapsulation (Ivan Vecera) [1680241] - [tools] selftests: forwarding: Add a test for VXLAN asymmetric routing (Ivan Vecera) [1680241] - [tools] selftests: forwarding: Add IP-in-IP GRE hierarchical topology with keys test (Ivan Vecera) [1680241] - [tools] selftests: forwarding: Add IP-in-IP GRE hierarchical topology with key test (Ivan Vecera) [1680241] - [tools] selftests: forwarding: Add IP-in-IP GRE hierarchical topology test (Ivan Vecera) [1680241] - [tools] selftests: forwarding: Add IP-in-IP GRE flat topology with keys test (Ivan Vecera) [1680241] - [tools] selftests: forwarding: Add IP-in-IP GRE flat topology with key test (Ivan Vecera) [1680241] - [tools] selftests: forwarding: Add IP-in-IP GRE flat topology test (Ivan Vecera) [1680241] - [tools] selftests: forwarding: Add IP tunneling lib (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum_router: Add GRE tunnel support for Spectrum-2 (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum_router: Update tunnel decap properties (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum_router: Support RIF without device (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum_router: Change mlxsw_sp_ipip_lb_ul_vr_id() (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum_router: Add underlay RIF ID support (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum_router: Mark RIF index as taken before creation (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum_router: Adjust loopback RIF configuration (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum: Set RIF ops per ASIC type (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum_router: Split RIF ops array for Spectrum-2 support (Ivan Vecera) [1680241] - [netdrv] mlxsw: reg: Add underlay egress RIF field in RTDP register (Ivan Vecera) [1680241] - [netdrv] mlxsw: reg: Add fields to RITR - Router Interface Table Register (Ivan Vecera) [1680241] - [tools] selftests: forwarding: Add a test case for externally learned FDB entries (Ivan Vecera) [1680241] - [tools] selftests: mlxsw: Test FDB offload indication (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum_switchdev: Do not treat static FDB entries as sticky (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum_fid: Update dummy FID index (Ivan Vecera) [1680241] - [netdrv] mlxsw: pci: Return error on PCI reset timeout (Ivan Vecera) [1680241] - [netdrv] mlxsw: pci: Increase PCI SW reset timeout (Ivan Vecera) [1680241] - [netdrv] mlxsw: pci: Ring CQ's doorbell before RDQ's (Ivan Vecera) [1680241] - [tools] selftests: mlxsw: Test veto of unsupported VXLAN FDBs (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum: Add extack messages to VXLAN FDB rejection (Ivan Vecera) [1680241] - [netdrv] mlxsw: Add extack to mlxsw_sp_nve_ops.fdb_replay (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum_nve: Use struct_size() in kzalloc() (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum_acl_bloom_filter: use struct_size() in kzalloc() (Ivan Vecera) [1680241] - [tools] selftests: forwarding: Add a test for VLAN deletion (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum_switchdev: Set PVID correctly during VLAN deletion (Ivan Vecera) [1680241] - [net] net: bridge: Fix VLANs memory leak (Ivan Vecera) [1680241] - [tools] selftests: mlxsw: Add a test case for VLAN addition error flow (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum_nve: Replace error code with EINVAL (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum_switchdev: Avoid returning errors in commit phase (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum: Add VXLAN dependency for spectrum (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum: Disable lag port TX before removing it (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum_acl: Remove ASSERT_RTNL()s in module removal flow (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum_acl: Add cleanup after C-TCAM update error condition (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum: drop useless LIST_HEAD (Ivan Vecera) [1680241] - [tools] selftests: forwarding: Add router test with VID 1 (Ivan Vecera) [1680241] - [tools] selftests: mlxsw: Adjust test regarding VID 1 (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum: Remove limitation regarding VID 1 (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum: Switch to VID 4095 as default VID (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum: Add an helper function to cleanup VLAN entries (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum: Store pointer to default port VLAN in port struct (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum: Allow controlling destruction of default port VLAN (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum: Set PVID during port initialization (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum: Replace hard-coded default VID with a define (Ivan Vecera) [1680241] - [tools] selftests: mlxsw: Add a test case for L3 VNI (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum_router: Do not force specific configuration order (Ivan Vecera) [1680241] - [tools] selftests: mlxsw: Add rtnetlink tests (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum_router: Hold a reference on RIF's netdev (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum_router: Make RIF deletion more robust (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum_router: Propagate 'struct mlxsw_sp' further (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum: Properly cleanup LAG uppers when removing port from LAG (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum: Remove reference count from VLAN entries (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum: Handle VLAN device unlinking (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum_fid: Remove unused function (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum_router: Do not destroy RIFs based on FID's reference count (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum: Sanitize VLAN interface's uppers (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum_nve: Fix memory leak upon driver reload (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum: Add trap for decapsulated ARP packets (Ivan Vecera) [1680241] - [netdrv] mlxsw: core: Increase timeout during firmware flash process (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum: Update the supported firmware to version 13.1910.622 (Ivan Vecera) [1680241] - [tools] selftests: mlxsw: Add Bloom delta test (Ivan Vecera) [1680241] - [tools] selftests: mlxsw: Add Bloom filter complex test (Ivan Vecera) [1680241] - [tools] selftests: mlxsw: Add Bloom filter simple test (Ivan Vecera) [1680241] - [netdrv] mlxsw: reg: Activate Bloom filter (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum_acl: Set master RP index on transition to eRP (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum_acl: Update Bloom filter on eRP transitions (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum_acl: Set A-TCAM rules in Bloom filter (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum_acl: Add Bloom filter update (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum_acl: Add Bloom filter handling (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum_acl: Introduce Bloom filter (Ivan Vecera) [1680241] - [netdrv] mlxsw: resources: Add Spectrum-2 Bloom filter resource (Ivan Vecera) [1680241] - [netdrv] mlxsw: reg: Add Policy Engine Algorithmic Bloom Filter Entries Register (Ivan Vecera) [1680241] - [tools] selftests: mlxsw: Test FID RIF MAC vetoing (Ivan Vecera) [1680241] - [tools] selftests: mlxsw: Test RIF MAC vetoing (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum_router: Veto unsupported RIF MAC addresses (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum: Add mlxsw_sp.mac_mask (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum_router: Generalize mlxsw_sp_netdevice_router_port_event() (Ivan Vecera) [1680241] - [tools] selftests: mlxsw: extack: Test VLAN add on a port device (Ivan Vecera) [1680241] - [tools] selftests: mlxsw: extack: Test VLAN add on a VXLAN device (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum_switchdev: Propagate extack on port VLAN events (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum_switchdev: Propagate extack on VXLAN VLAN events (Ivan Vecera) [1680241] - [tools] selftests: forwarding: Add multicast routing test (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum_router: Add Multicast routing support for Spectrum-2 (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum_acl: Limit priority value (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum_acl: Support rule creation without action creation (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum_acl: Add replace rule action operation (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum_acl: Add multicast router profile operations (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum_acl: Add Spectrum-2 keys (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum: Change stage of ACL initialization (Ivan Vecera) [1680241] - [netdrv] mlxsw: reg: Add Policy Engine Multicast Router Binding Table Register (Ivan Vecera) [1680241] - [tools] selftests: forwarding: Add PVID test case for VXLAN with VLAN-aware bridges (Ivan Vecera) [1680241] - [tools] selftests: mlxsw: vxlan: Test FDB un/marking on VXLAN join/leave (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum_nve: Un/offload FDB on nve_fid_disable/enable (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum: Add mlxsw_sp_fid_ops.fdb_clear_offload (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum_nve: Add mlxsw_sp_nve_ops.fdb_clear_offload (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum_nve: Add mlxsw_sp_nve_ops.fdb_replay (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum_switchdev: Publish mlxsw_sp_switchdev_notifier (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum: Track NVE type at FIDs (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum_switchdev: Fix VLAN device deletion via ioctl (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum_router: Relax GRE decap matching check (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum_switchdev: Avoid leaking FID's reference count (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum_nve: Remove easily triggerable warnings (Ivan Vecera) [1680241] - [tools] selftests: mlxsw: Add a new test extack.sh (Ivan Vecera) [1680241] - [tools] selftests: mlxsw: Add one-armed router test (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum: Mirror loopbacked packets instead of trapping them (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum: Load firmware version based on devlink parameter (Ivan Vecera) [1680241] - [netdrv] mlxsw: core: Reset firmware after flash during driver initialization (Ivan Vecera) [1680241] - [tools] selftests: forwarding: Add VxLAN test with a VLAN-aware bridge (Ivan Vecera) [1680241] - [tools] selftests: mlxsw: Add a test for VxLAN configuration with a VLAN-aware bridge (Ivan Vecera) [1680241] - [tools] selftests: mlxsw: Consider VLAN-aware bridges as valid (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum: Enable VxLAN enslavement to VLAN-aware bridges (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum_switchdev: Prepare function for VLAN-aware bridges (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum_switchdev: Unify VxLAN leave function (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum_fid: Add API to lookup 802.1Q FIDs without creating them (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum: Flip driver to use emulated 802.1Q FIDs (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum_router: Introduce emulated VLAN RIFs (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum_fid: Introduce emulated 802.1Q FIDs (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum_fid: Make flood index calculation more robust (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum_switchdev: Do not set field when it is reserved (Ivan Vecera) [1680241] - [tools] selftests: mlxsw: Consider VxLAN learning enabled as valid (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum_nve: Allow VxLAN learning (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum_switchdev: Allow deletion of learned FDB entries (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum_switchdev: Process learned VxLAN FDB entries (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum_nve: Add API to resolve learned IP addresses (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum_fid: Allow FID lookup by its index (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum_fid: Store ifindex of NVE device in FID (Ivan Vecera) [1680241] - [netdrv] mlxsw: reg: Add definition of unicast tunnel record for SFN register (Ivan Vecera) [1680241] - [netdrv] mlxsw: core: Extend cooling device with cooling levels (Ivan Vecera) [1680241] - [tools] selftests: mlxsw: Add a test for VxLAN flooding (Ivan Vecera) [1680241] - [tools] selftests: mlxsw: Add a test for VxLAN configuration (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum: Expose discard counters via ethtool (Ivan Vecera) [1680241] - [tools] selftests: mlxsw: spectrum-2: Add simple delta test (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum: acl: Implement delta for ERP (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum: acl: Push code related to num_ctcam_erps inc/dec into separate helpers (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum: acl: Remove mlxsw_afk_encode() block range args and key/mask check (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum: acl: Don't encode the key again in mlxsw_sp_acl_atcam_12kb_lkey_id_get() (Ivan Vecera) [1680241] - [netdrv] mlxsw: core_acl: Change order of args of ops->encode_block() (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum: acl: Pass key pointer to master_mask_set/clear (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum: acl_erp: Convert to use objagg for tracking ERPs (Ivan Vecera) [1680241] - [tools] selftests: Adjust spectrum-2 ctcam_two_atcam_masks_test (Ivan Vecera) [1680241] - [tools] selftests: Adjust spectrum-2 two_mask_test (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum: Fix IP2ME CPU policer configuration (Ivan Vecera) [1680241] - [tools] selftests: mlxsw: qos_mc_aware: Add a test for UC awareness (Ivan Vecera) [1680241] - [tools] selftests: mlxsw: qos_mc_aware: Tweak for min shaper (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum: Set minimum shaper on MC TCs (Ivan Vecera) [1680241] - [netdrv] mlxsw: reg: QEEC: Add minimum shaper fields (Ivan Vecera) [1680241] - [netdrv] mlxsw: core: Fix devlink unregister flow (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum_switchdev: Don't ignore deletions of learned MACs (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum_switchdev: Add support for VxLAN encapsulation (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum: Enable VxLAN enslavement to bridges (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum_router: Configure matching local routes for NVE decap (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum_fid: Clear NVE configuration when destroying 802.1D FIDs (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum_nve: Implement VxLAN operations (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum_nve: Implement common NVE core (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum_router: Allow querying VR ID based on table ID (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum_router: Enable local routes promotion to perform NVE decap (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum_fid: Add APIs to lookup FID without creating it (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum_fid: Allow setting and clearing NVE properties on FID (Ivan Vecera) [1680241] - [netdrv] mlxsw: core: Fix use-after-free when flashing firmware during init (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum: Add NVE packet traps (Ivan Vecera) [1680241] - [netdrv] mlxsw: resources: Add NVE resources (Ivan Vecera) [1680241] - [netdrv] mlxsw: reg: Add Monitoring Parsing State Register (Ivan Vecera) [1680241] - [netdrv] mlxsw: reg: Add definition of unicast tunnel record for SFD register (Ivan Vecera) [1680241] - [netdrv] mlxsw: reg: Add Tunneling NVE QoS Default Register (Ivan Vecera) [1680241] - [netdrv] mlxsw: reg: Add Tunneling NVE QoS Configuration Register (Ivan Vecera) [1680241] - [netdrv] mlxsw: reg: Add Tunneling NVE Decapsulation ECN Mapping Register (Ivan Vecera) [1680241] - [netdrv] mlxsw: reg: Add Tunneling NVE Encapsulation ECN Mapping Register (Ivan Vecera) [1680241] - [netdrv] mlxsw: reg: Add Tunneling NVE Underlay Multicast Table Register (Ivan Vecera) [1680241] - [netdrv] mlxsw: reg: Add Tunnel Port Configuration Register (Ivan Vecera) [1680241] - [netdrv] mlxsw: reg: Add Tunneling NVE General Configuration Register (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum: Seed LAG hash function (Ivan Vecera) [1680241] - [netdrv] mlxsw: reg: Extend FDB flush types for NVE (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum: Add a new type of KVD linear record (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum: Move L3 protocol and address definitions to global header file (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum_switchdev: Do not assume notifier information type (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum_switchdev: Check notification relevance based on upper device (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum_switchdev: Prepare for VxLAN FDB notifications (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum: Remove misuses of private header file (Ivan Vecera) [1680241] - [tools] selftests: mlxsw: qos_mc_aware: Make executable (Ivan Vecera) [1680241] - [tools] selftests: forwarding: Have lldpad_app_wait_set() wait for unknown, too (Ivan Vecera) [1680241] - [netdrv] mlxsw: pci: Fix a typo (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum: Delete RIF when VLAN device is removed (Ivan Vecera) [1680241] - [netdrv] mlxsw: pci: Derive event type from event queue number (Ivan Vecera) [1680241] - [netdrv] mlxsw: Make MLXSW_SP1_FWREV_MINOR a hard requirement (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum: Bump required firmware version (Ivan Vecera) [1680241] - [tools] selftests: mlxsw: Add a test for UC behavior under MC flood (Ivan Vecera) [1680241] - [tools] selftests: forwarding: lib: Add mtu_set(), mtu_restore() (Ivan Vecera) [1680241] - [tools] selftests: forwarding: lib: Add ethtool_stats_get() (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum_buffers: Tweak SBMM configuration (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum_buffers: Configure MC pool (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum_buffers: Allow configuration of static pools (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum_buffers: Pass SBPM min_size in cells (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum_buffers: Allow an infinite maximum for per-TC pool limit (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum_buffers: Allow pools of infinite size (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum_buffers: Keep shared buffer size in mlxsw_sp_sb (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum_buffers: Split TC_COUNT into ingress and egress (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum_buffers: Use devlink pool indices throughout (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum: Init shaper for TCs 8..15 (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum_buffers: Set up a dedicated pool for BUM traffic (Ivan Vecera) [1680241] - [netdrv] mlxsw: remove unused arrays mlxsw_i2c_driver_name and mlxsw_pci_driver_name (Ivan Vecera) [1680241] - [netdrv] mlxsw: core: remove unnecessary function mlxsw_core_driver_put (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum: Expose counter for all 16 TCs (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum: Include RFC-2819 counters in stats length (Ivan Vecera) [1680241] - [netdrv] mlxsw: Replace license text with SPDX identifiers and adjust copyrights (Ivan Vecera) [1680241] - [tools] selftests: mlxsw: Add TC flower test for Spectrum-2 (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum: Reset FW after flash (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum: Update the supported firmware to version 13.1702.6 (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum_flower: Disallow usage of vlan_id key on egress (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum_flower: use PTR_ERR_OR_ZERO() (Ivan Vecera) [1680241] - [tools] selftests: forwarding: gre_multipath: Update next-hop statistics match criteria (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum: Configure MC-aware mode on mlxsw ports (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum: Fix a typo (Ivan Vecera) [1680241] - [netdrv] mlxsw: reg: Add QoS Switch Traffic Class Table is Multicast-Aware Register (Ivan Vecera) [1680241] - [tools] selftests: mlxsw: Add test for ip_forward_update_priority (Ivan Vecera) [1680241] - [tools] selftests: forwarding: Move DSCP capture to lib.sh (Ivan Vecera) [1680241] - [tools] selftests: forwarding: Move lldpad waiting to lib.sh (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum_router: Handle sysctl_ip_fwd_update_priority (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum: Extract work-scheduling into a new function (Ivan Vecera) [1680241] - [tools] selftests: forwarding: Test mirror-to-gretap w/ UL team LACP (Ivan Vecera) [1680241] - [tools] selftests: forwarding: Test mirror-to-gretap w/ UL team (Ivan Vecera) [1680241] - [tools] selftests: forwarding: Introduce $ARPING (Ivan Vecera) [1680241] - [tools] selftests: forwarding: lib: Support team devices (Ivan Vecera) [1680241] - [tools] selftests: forwarding: lib: Add require_command() (Ivan Vecera) [1680241] - [tools] selftests: mlxsw: qos_dscp_bridge: Fix (Ivan Vecera) [1680241] - [tools] selftests: mlxsw: Add test for trust-DSCP (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum: Support ieee_setapp, ieee_delapp (Ivan Vecera) [1680241] - [netdrv] mlxsw: reg: Add QoS Priority to DSCP Mapping Register (Ivan Vecera) [1680241] - [netdrv] mlxsw: reg: Add QoS ReWrite Enable Register (Ivan Vecera) [1680241] - [netdrv] mlxsw: reg: Add QoS Priority Trust State Register (Ivan Vecera) [1680241] - [netdrv] mlxsw: reg: Add QoS Port DSCP to Priority Mapping Register (Ivan Vecera) [1680241] - [tools] selftests: add a selftest for directed broadcast forwarding (Ivan Vecera) [1680241] - [tools] selftests: forwarding: add tests for TC chain get and dump operations (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum_acl: Start using A-TCAM (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum_acl: Add A-TCAM rule insertion and deletion (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum_acl: Pass C-TCAM region and entry to insert function (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum_acl: Add A-TCAM region initialization (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum_acl: Make global TCAM resources available to regions (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum_acl: Encapsulate C-TCAM region in A-TCAM region (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum_acl: Add A-TCAM initialization (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum_acl: Allow encoding a partial key (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum_acl: Extend Spectrum-2 region struct (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum_acl: Add support for C-TCAM eRPs (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum_acl: Enable C-TCAM only mode in eRP core (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum_acl: Implement common eRP core (Ivan Vecera) [1680241] - [netdrv] mlxsw: resources: Add Spectrum-2 eRP resources (Ivan Vecera) [1680241] - [netdrv] mlxsw: resources: Add Spectrum-2 maximum large key ID resource (Ivan Vecera) [1680241] - [netdrv] mlxsw: reg: Add Policy-Engine eRP Table Register (Ivan Vecera) [1680241] - [netdrv] mlxsw: reg: Add Policy-Engine TCAM Entry Register Version 3 (Ivan Vecera) [1680241] - [netdrv] mlxsw: reg: Prepare PERERP register for A-TCAM usage (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum_flower: Add extack messages (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum_acl: Add extack messages (Ivan Vecera) [1680241] - [netdrv] mlxsw: core_acl_flex_actions: Add extack messages (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum_acl: Propagate extack pointer (Ivan Vecera) [1680241] - [tools] selftests: forwarding: gre_multipath: Drop IPv6 tests (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum: Implement chain template hinting (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum: Extend to support Spectrum-2 ASIC (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum_acl: Add initial Spectrum-2 ACL implementation (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum_acl: Add region association callback (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum_acl: Add support for Spectrum-2 block encoding (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum_acl: Prepare for Spectrum-2 block encoding (Ivan Vecera) [1680241] - [netdrv] mlxsw: reg: Add Policy-Engine General Configuration Register (Ivan Vecera) [1680241] - [netdrv] mlxsw: reg: Add Policy-Engine Region eRP Register (Ivan Vecera) [1680241] - [netdrv] mlxsw: reg: Add Policy-Engine Region Configuration Register (Ivan Vecera) [1680241] - [netdrv] mlxsw: reg: Add Policy-Engine Region Association Register (Ivan Vecera) [1680241] - [netdrv] mlxsw: acl: Introduce activity get operation for action block/set (Ivan Vecera) [1680241] - [netdrv] mlxsw: reg: Add support for activity information from PEFA register (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum: Introduce flex key blocks for Spectrum-2 (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum: Add Spectrum-2 variant of flex actions ops (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum_mr_tcam: Add Spectrum-2 stubs (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum: Add KVDL manager implementation for Spectrum-2 (Ivan Vecera) [1680241] - [netdrv] mlxsw: reg: Add Infrastructure Entry Delete Register (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum: Expose counters for various packet sizes (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum_router: Optimize processing of VRRP MACs (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum: Add VRRP traps (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum_router: Direct macvlans' MACs to router (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum: Enable macvlan upper devices (Ivan Vecera) [1680241] - [tools] selftests: forwarding: mirror_gre_nh: Unset rp_filter on host VRF (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum_span: Change LAG lower selection (Ivan Vecera) [1680241] - [netdrv] mlxsw: resources: Add couple of Spectrum-2 KVD resources (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum: Prepare for multiple FW versions for Spectrum and Spectrum-2 (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum_acl: Implement priority setting for rules inserted to TCAM (Ivan Vecera) [1680241] - [netdrv] mlxsw: reg: Add priority field for PTCEV2 register (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum_acl: Move block items encoding into Spectrum op (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum_acl: Convert mlxsw_afk_create args to ops (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum_acl: Add tcam init/fini ops (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum_acl: Split TCAM handling 3 ways (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum_mr_tcam: Push Spectrum-specific operations into a separate file (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum_kvdl: Pass entry_count to free function (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum_kvdl: Pass entry type to alloc/free (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum_kvdl: Push out KVD linear management into ops (Ivan Vecera) [1680241] - [tools] selftests: forwarding: mirror_lib: Tighten up VLAN capture (Ivan Vecera) [1680241] - [netdrv] mlxsw: core_acl_flex_actions: Fix helper to get the first KVD linear index (Ivan Vecera) [1680241] - [netdrv] mlxsw: core_acl_flex_actions: Allow the first set to be dummy (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum: Put pointer to flex action ops to mlxsw_sp (Ivan Vecera) [1680241] - [netdrv] mlxsw: core_acl_flex_keys: Change SRC_SYS_PORT flex key element size (Ivan Vecera) [1680241] - [netdrv] mlxsw: core_acl_flex_keys: Split MAC and IP address flex key elements (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum_acl: Ignore always-zeroed bits in tp->prio (Ivan Vecera) [1680241] - [netdrv] mlxsw: reg: Introduce Flex2 key type for PTAR register (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum: Change name of mlxsw_sp_afk_blocks to mlxsw_sp1_afk_blocks (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum_router: avoid uninitialized variable access (Ivan Vecera) [1680241] - [tools] selftests: mlxsw: Add mlxsw-specific test for mirror to gretap (Ivan Vecera) [1680241] - [tools] selftests: forwarding: Allow importing dependent libraries (Ivan Vecera) [1680241] - [tools] selftests: forwarding: test for bridge port isolation (Ivan Vecera) [1680241] - [tools] selftests: forwarding: Test mirror-to-gretap w/ UL 802.1q (Ivan Vecera) [1680241] - [tools] selftests: forwarding: Test mirror-to-gretap w/ UL 802.1d (Ivan Vecera) [1680241] - [tools] selftests: mlxsw: Add scale test for resources (Ivan Vecera) [1680241] - [tools] selftests: mlxsw: Add target for mirror-to-gretap test on spectrum (Ivan Vecera) [1680241] - [tools] selftests: mlxsw: Add scale test for mirror-to-gretap (Ivan Vecera) [1680241] - [tools] selftests: mlxsw: Add target for tc flower test on spectrum (Ivan Vecera) [1680241] - [tools] selftests: mlxsw: Add tc flower scale test (Ivan Vecera) [1680241] - [tools] selftests: mlxsw: Add target for router test on spectrum (Ivan Vecera) [1680241] - [tools] selftests: mlxsw: Add router test (Ivan Vecera) [1680241] - [tools] selftests: mlxsw: Add devlink KVD resource test (Ivan Vecera) [1680241] - [tools] selftests: mlxsw: Add devlink_lib_spectrum.sh (Ivan Vecera) [1680241] - [tools] selftests: forwarding: Add devlink_lib.sh (Ivan Vecera) [1680241] - [tools] selftests: forwarding: lib: Parameterize NUM_NETIFS in two functions (Ivan Vecera) [1680241] - [tools] selftests: forwarding: lib: Add check_err_fail() (Ivan Vecera) [1680241] - [tools] selftests: forwarding: Allow lib.sh sourcing from other directories (Ivan Vecera) [1680241] - [tools] selftests: forwarding: mirror_gre_changes: Fix waiting for neighbor (Ivan Vecera) [1680241] - [tools] selftests: forwarding: lib: Split out setup_wait_dev() (Ivan Vecera) [1680241] - [tools] selftests: forwarding: Test multipath tunneling (Ivan Vecera) [1680241] - [tools] selftests: forwarding: mirror_gre_vlan_bridge_1q: Unset rp_filter (Ivan Vecera) [1680241] - [tools] selftests: forwarding: Test routed bridge interface (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum_switchdev: Ban PVID change if bridge has a RIF (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum_router: Add mlxsw_sp_rif_fid() (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum_router: Publish mlxsw_sp_rif_find_by_dev() (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum_router: Allocate FID according to PVID (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum_router: Propagate extack to .fid_get() (Ivan Vecera) [1680241] - [netdrv] net: phy: realtek: Dummy IRQ calls for RTL8366RB (Corinna Vinschen) [1680528] - [netdrv] net: phy: realtek: add generic Realtek PHY driver (Corinna Vinschen) [1680528] - [netdrv] net: phy: realtek: use new PHYID matching macros (Corinna Vinschen) [1680528] - [include] net: phy: add macros for PHYID matching (Corinna Vinschen) [1680528] - [netdrv] net: phy: realtek: load driver for all PHYs with a Realtek OUI (Corinna Vinschen) [1680528] - [netdrv] net: phy: realtek: fix RTL8201F sysfs name (Corinna Vinschen) [1680528] - [netdrv] net: phy: realtek: Support RTL8366RB variant (Corinna Vinschen) [1680528] - [netdrv] net: phy: realtek: add missing entry for RTL8211C to mdio_device_id table (Corinna Vinschen) [1680528] - [netdrv] net: phy: realtek: add support for RTL8211C (Corinna Vinschen) [1680528] - [netdrv] net: phy: realtek: add missing entry for RTL8211 to mdio_device_id table (Corinna Vinschen) [1680528] - [netdrv] net: phy: realtek: add support for RTL8211 (Corinna Vinschen) [1680528] - [netdrv] r8169: change irq handler to always trigger NAPI polling (Corinna Vinschen) [1680528] - [netdrv] r8169: create function pointer array for chip hw init functions (Corinna Vinschen) [1680528] - [netdrv] r8169: create function pointer array for PHY init functions (Corinna Vinschen) [1680528] - [netdrv] r8169: disable ASPM again (Corinna Vinschen) [1680528] - [netdrv] r8169: disable tx interrupt coalescing on RTL8168 (Corinna Vinschen) [1680528] - [netdrv] Revert "r8169: use netif_receive_skb_list batching" (Corinna Vinschen) [1680528] - [netdrv] r8169: use netif_receive_skb_list batching (Corinna Vinschen) [1680528] - [netdrv] r8169: disable default rx interrupt coalescing on RTL8168 (Corinna Vinschen) [1680528] - [netdrv] r8169: fix cable re-plugging issue (Corinna Vinschen) [1680528] - [netdrv] r8169: use netif_start_queue instead of netif_wake_qeueue in rtl8169_start_xmit (Corinna Vinschen) [1680528] - [netdrv] r8169: don't read interrupt mask register in interrupt handler (Corinna Vinschen) [1680528] - [netdrv] r8169: remove unneeded mmiowb barriers (Corinna Vinschen) [1680528] - [netdrv] Revert "r8169: make use of xmit_more and __netdev_sent_queue" (Corinna Vinschen) [1680528] - [netdrv] Revert "r8169: remove unneeded mmiowb barriers" (Corinna Vinschen) [1680528] - [netdrv] r8169: Avoid pointer aliasing (Corinna Vinschen) [1680528] - [netdrv] r8169: Load MAC address from device tree if present (Corinna Vinschen) [1680528] - [netdrv] r8169: remove rtl_wol_pll_power_down (Corinna Vinschen) [1680528] - [netdrv] r8169: improve WoL handling (Corinna Vinschen) [1680528] - [netdrv] r8169: enable EEE per default on RTL8168f (Corinna Vinschen) [1680528] - [netdrv] r8169: add EEE support for RTL8168f (Corinna Vinschen) [1680528] - [netdrv] r8169: enable EEE per default on chip versions from RTL8168g (Corinna Vinschen) [1680528] - [netdrv] r8169: add general EEE support for chip versions from RTL8168g (Corinna Vinschen) [1680528] - [netdrv] r8169: factor out PHY init sequence adjusting 10M and ALDPS (Corinna Vinschen) [1680528] - [netdrv] r8169: factor out disabling ALDPS (Corinna Vinschen) [1680528] - [netdrv] r8169: improve firmware handling (Corinna Vinschen) [1680528] - [netdrv] r8169: remove PCI DAC support (Corinna Vinschen) [1680528] - [netdrv] r8169: improve rx buffer allocation (Corinna Vinschen) [1680528] - [netdrv] r8169: factor out getting ether_clk (Corinna Vinschen) [1680528] - [netdrv] r8169: replace mii_bus member with phy_device member in struct rtl8169_private (Corinna Vinschen) [1680528] - [netdrv] r8169: reset chip synchronously in __rtl8169_resume (Corinna Vinschen) [1680528] - [netdrv] r8169: add helpers for locking / unlocking the config registers (Corinna Vinschen) [1680528] - [netdrv] r8169: improve rtl_pcie_state_l2l3_enable (Corinna Vinschen) [1680528] - [netdrv] r8169: initialize task workqueue only once (Corinna Vinschen) [1680528] - [netdrv] r8169: remove unneeded call in pcierr (Corinna Vinschen) [1680528] - [netdrv] r8169: remove rtl_get_events (Corinna Vinschen) [1680528] - [netdrv] r8169: load Realtek PHY driver module before r8169 (Corinna Vinschen) [1680528] - [netdrv] r8169: don't try to read counters if chip is in a PCI power-save state (Corinna Vinschen) [1680528] - [netdrv] r8169: Add support for new Realtek Ethernet (Corinna Vinschen) [1680528] - [netdrv] r8169: fix WoL device wakeup enable (Corinna Vinschen) [1680528] - [netdrv] r8169: improve spurious interrupt detection (Corinna Vinschen) [1680528] - [netdrv] r8169: fix crash if CONFIG_DEBUG_SHIRQ is enabled (Corinna Vinschen) [1680528] - [netdrv] r8169: remove unneeded mmiowb barriers (Corinna Vinschen) [1680528] - [netdrv] ethernet/realtek: Replace synchronize_sched() with synchronize_rcu() (Corinna Vinschen) [1680528] - [netdrv] r8169: make use of xmit_more and __netdev_sent_queue (Corinna Vinschen) [1680528] - [netdrv] r8169: replace macro TX_FRAGS_READY_FOR with a function (Corinna Vinschen) [1680528] - [netdrv] r8169: use napi_consume_skb where possible (Corinna Vinschen) [1680528] - [netdrv] r8169: simplify detecting chip versions with same XID (Corinna Vinschen) [1680528] - [netdrv] r8169: remove default chip versions (Corinna Vinschen) [1680528] - [netdrv] r8169: remove ancient GCC bug workaround in a second place (Corinna Vinschen) [1680528] - [netdrv] r8169: improve chip version identification (Corinna Vinschen) [1680528] - [netdrv] r8169: simplify ocp functions (Corinna Vinschen) [1680528] - [netdrv] r8169: remove workaround for ancient gcc bug (Corinna Vinschen) [1680528] - [netdrv] r8169: remove manual padding in struct ring_info (Corinna Vinschen) [1680528] - [netdrv] r8169: remove "not PCI Express" message (Corinna Vinschen) [1680528] - [netdrv] r8169: remove print_mac_version (Corinna Vinschen) [1680528] - [netdrv] r8169: use PCI_VDEVICE macro (Corinna Vinschen) [1680528] - [netdrv] r8169: replace event_slow with irq_mask (Corinna Vinschen) [1680528] - [netdrv] r8169: remove unused interrupt sources (Corinna Vinschen) [1680528] - [netdrv] r8169: use dev_get_drvdata where possible (Corinna Vinschen) [1680528] - [netdrv] r8169: merge rtl_irq_enable and rtl_irq_enable_all (Corinna Vinschen) [1680528] - [pci] PCI: add USR vendor id and use it in r8169 and w6692 driver (Corinna Vinschen) [1680528] - [netdrv] net: ethernet: Convert phydev advertize and supported from u32 to link mode (Corinna Vinschen) [1680528] - [netdrv] r8169: fix broken Wake-on-LAN from S5 (poweroff) (Corinna Vinschen) [1680528] - [netdrv] r8169: add support for Byte Queue Limits (Corinna Vinschen) [1680528] - [netdrv] r8169: handle all interrupt events in the hard irq handler (Corinna Vinschen) [1680528] - [netdrv] r8169: fix NAPI handling under high load (Corinna Vinschen) [1680528] - [netdrv] r8169: re-enable MSI-X on RTL8168g (Corinna Vinschen) [1680528] - [netdrv] r8169: remove unneeded call to netif_stop_queue in rtl8169_net_suspend (Corinna Vinschen) [1680528] - [netdrv] r8169: simplify rtl8169_set_magic_reg (Corinna Vinschen) [1680528] - [netdrv] r8169: Enable MSI-X on RTL8106e (Corinna Vinschen) [1680528] - [netdrv] r8169: set RX_MULTI_EN bit in RxConfig for 8168F-family chips (Corinna Vinschen) [1680528] - [netdrv] r8169: always autoneg on resume (Corinna Vinschen) [1680528] - [netdrv] r8169: fix network stalls due to missing bit TXCFG_AUTO_FIFO (Corinna Vinschen) [1680528] - [netdrv] r8169: Disable clk during suspend / resume (Corinna Vinschen) [1680528] - [netdrv] r8169: improve a check in rtl_init_one (Corinna Vinschen) [1680528] - [netdrv] r8169: improve rtl8169_irq_mask_and_ack (Corinna Vinschen) [1680528] - [netdrv] r8169: use default watchdog timeout (Corinna Vinschen) [1680528] - [netdrv] r8169: fix autoneg issue on resume with RTL8168E (Corinna Vinschen) [1680528] - [netdrv] r8169: remove duplicated RTL8169s PHY initialization steps (Corinna Vinschen) [1680528] - [netdrv] r8169: simplify RTL8169 PHY initialization (Corinna Vinschen) [1680528] - [netdrv] r8169: Get and enable optional ether_clk clock (Corinna Vinschen) [1680528] - [netdrv] r8169: enable ASPM on RTL8106E (Corinna Vinschen) [1680528] - [netdrv] r8169: Align ASPM/CLKREQ setting function with vendor driver (Corinna Vinschen) [1680528] - [netdrv] r8169: Clear RTL_FLAG_TASK_*_PENDING when clearing RTL_FLAG_TASK_ENABLED (Corinna Vinschen) [1680528] - [netdrv] r8169: set TxConfig register after TX / RX is enabled, just like RxConfig (Corinna Vinschen) [1680528] - [netdrv] r8169: don't configure max jumbo frame size per chip version (Corinna Vinschen) [1680528] - [netdrv] r8169: don't configure csum function per chip version (Corinna Vinschen) [1680528] - [netdrv] r8169: simplify interrupt handler (Corinna Vinschen) [1680528] - [netdrv] r8169: don't include asm headers directly (Corinna Vinschen) [1680528] - [netdrv] r8169: remove version info (Corinna Vinschen) [1680528] - [netdrv] r8169: restore previous behavior to accept BIOS WoL settings (Corinna Vinschen) [1680528] - [netdrv] r8169: power down chip in probe (Corinna Vinschen) [1680528] - [netdrv] r8169: don't read chip phy status register (Corinna Vinschen) [1680528] - [netdrv] r8169: remove mii_if_info member from struct rtl8169_private (Corinna Vinschen) [1680528] - [netdrv] r8169: remove rtl8169_set_speed_xmii (Corinna Vinschen) [1680528] - [netdrv] r8169: use phy_speed_down / phy_speed_up (Corinna Vinschen) [1680528] - [netdrv] r8169: use phy_mii_ioctl (Corinna Vinschen) [1680528] - [netdrv] r8169: use phy_ethtool_nway_reset (Corinna Vinschen) [1680528] - [netdrv] r8169: use phy_ethtool_(g|s)et_link_ksettings (Corinna Vinschen) [1680528] - [netdrv] r8169: replace open-coded PHY soft reset with genphy_soft_reset (Corinna Vinschen) [1680528] - [netdrv] r8169: use phy_resume/phy_suspend (Corinna Vinschen) [1680528] - [netdrv] r8169: add basic phylib support (Corinna Vinschen) [1680528] - [netdrv] r8169: fix runtime suspend (Corinna Vinschen) [1680528] - [netdrv] r8169: remove old PHY reset hack (Corinna Vinschen) [1680528] - [netdrv] r8169: remove TBI 1000BaseX support (Corinna Vinschen) [1680528] - [netdrv] r8169: use standard debug output functions (Corinna Vinschen) [1680528] - [netdrv] r8169: reject unsupported WoL options (Corinna Vinschen) [1680528] - [netdrv] r8169: don't check WoL when powering down PHY and interface is down (Corinna Vinschen) [1680528] - [netdrv] r8169: improve saved_wolopts handling (Corinna Vinschen) [1680528] - [netdrv] Revert "r8169: restore previous behavior to accept BIOS WoL settings" (Corinna Vinschen) [1680528] - [netdrv] r8169: improve phy initialization when resuming (Corinna Vinschen) [1680528] - [netdrv] r8169: enable ASPM on RTL8168E-VL (Corinna Vinschen) [1680528] - [netdrv] r8169: align ASPM entry latency setting with vendor driver (Corinna Vinschen) [1680528] - [netdrv] r8169: Reinstate ASPM Support (Corinna Vinschen) [1680528] - [netdrv] r8169: Don't disable ASPM in the driver (Corinna Vinschen) [1680528] - [kernel] kernel/sched/psi.c: expose pressure metrics on root cgroup (Waiman Long) [1678388] - [kernel] psi: introduce psi monitor (Waiman Long) [1678388] - [spi] include/: refactor headers to allow kthread.h inclusion in psi_types.h (Waiman Long) [1678388] - [kernel] psi: track changed states (Waiman Long) [1678388] - [kernel] psi: split update_stats into parts (Waiman Long) [1678388] - [kernel] psi: rename psi fields in preparation for psi trigger addition (Waiman Long) [1678388] - [kernel] psi: make psi_enable static (Waiman Long) [1678388] - [kernel] psi: introduce state_mask to represent stalled psi states (Waiman Long) [1678388] - [kernel] kernel: cgroup: add poll file operation (Waiman Long) [1678388] - [fs] fs: kernfs: add poll file operation (Waiman Long) [1678388] - [documentation] psi: clarify the units used in pressure files (Waiman Long) [1678388] - [kernel] psi: avoid divide-by-zero crash inside virtual machines (Waiman Long) [1678388] - [init] psi: clarify the Kconfig text for the default-disable option (Waiman Long) [1678388] - [kernel] psi: fix aggregation idle shut-off (Waiman Long) [1678388] - [init] psi: fix reference to kernel commandline enable (Waiman Long) [1678388] - [kernel] psi: make disabling/enabling easier for vendor kernels (Waiman Long) [1678388] - [kernel] kernel/sched/psi.c: simplify cgroup_move_task() (Waiman Long) [1678388] - [kernel] psi: cgroup support (Waiman Long) [1678388] - [kernel] psi: pressure stall information for CPU, memory, and IO (Waiman Long) [1678388] - [kernel] sched: introduce this_rq_lock_irq() (Waiman Long) [1678388] - [kernel] sched: sched.h: make rq locking and clock functions available in stats.h (Waiman Long) [1678388] - [kernel] sched: loadavg: make calc_load_n() public (Waiman Long) [1678388] - [kernel] sched: loadavg: consolidate LOAD_INT, LOAD_FRAC, CALC_LOAD (Waiman Long) [1678388] - [kernel] delayacct: track delays from thrashing cache pages (Waiman Long) [1678388] - [mm] mm: workingset: tell cache transitions from workingset thrashing (Waiman Long) [1678388] - [mm] mm: workingset: don't drop refault information prematurely (Waiman Long) [1678388] - [scsi] scsi: ibmvfc: Add failed PRLI to cmd_status lookup array (Diego Domingos) [1665716] - [scsi] scsi: ibmvfc: Byte swap status and error codes when logging (Diego Domingos) [1665716] - [scsi] scsi: ibmvfc: Remove "failed" from logged errors (Diego Domingos) [1665716] - [scsi] scsi: ibmvfc: Clean up transport events (Diego Domingos) [1665716] - [scsi] scsi: ibmvscsi: Don't use rc uninitialized in ibmvscsi_do_work (Gustavo Duarte) [1665715] - [scsi] scsi: ibmvscsi: fix tripping of blk_mq_run_hw_queue WARN_ON (Gustavo Duarte) [1665715] - [scsi] scsi: ibmvscsi: redo driver work thread to use enum action states (Gustavo Duarte) [1665715] - [scsi] scsi: ibmvscsi: Wire up host_reset() in the driver's scsi_host_template (Gustavo Duarte) [1665715] - [scsi] scsi: ibmvscsi: change strncpy+truncation to strlcpy (Gustavo Duarte) [1665715] - [fs] ext4: avoid panic during forced reboot due to aborted journal (Lukas Czerner) [1717831] - [fs] ext4: fix use-after-free in dx_release() (Lukas Czerner) [1717831] - [fs] ext4: fix data corruption caused by overlapping unaligned and aligned IO (Lukas Czerner) [1717831] - [fs] ext4: avoid drop reference to iloc.bh twice (Lukas Czerner) [1717831] - [nvme] nvme-tcp: mark NVMe/TCP as a technical preview (Chris Leech) [1696451] - [nvme] nvme-tcp: fix possible null deref on a timed out io queue connect (Chris Leech) [1696451] - [nvme] nvme-tcp: rename function to have nvme_tcp prefix (Chris Leech) [1696451] - [nvme] nvme-tcp: fix a NULL deref when an admin connect times out (Chris Leech) [1696451] - [nvme] nvmet-tcp: don't fail maxr2t greater than 1 (Chris Leech) [1696451] - [nvme] nvmet-tcp: implement C2HData SUCCESS optimization (Chris Leech) [1696451] - [nvme] nvme-tcp: fix an endianess miss-annotation (Chris Leech) [1696451] - [nvme] nvme-tcp: support C2HData with SUCCESS flag (Chris Leech) [1696451] - [nvme] nvme-tcp: use older iov_iter API to fix panic (Chris Leech) [1696451] - [nvme] nvmet: fix building bvec from sg list (Ming Lei) [1690287] - [nvme] nvmet: set loop queue's segment boundary mask as PAGE_SIZE - 1 (Ming Lei) [1690287] - [x86] x86/qspinlock: Fix compile error (Waiman Long) [1709451] - [kernel] locking/rwsem: Prevent unneeded warning during locking selftest (Waiman Long) [1709451] - [kernel] locking/rwsem: Enable lock event counting (Waiman Long) [1709451] - [kernel] locking/lock_events: Don't show pvqspinlock events on bare metal (Waiman Long) [1709451] - [kernel] locking/lock_events: Make lock_events available for all archs & other locks (Waiman Long) [1709451] - [kernel] locking/qspinlock_stat: Introduce generic lockevent_*() counting APIs (Waiman Long) [1709451] - [kernel] locking/rwsem: Enhance DEBUG_RWSEMS_WARN_ON() macro (Waiman Long) [1709451] - [kernel] locking/rwsem: Add debug check for __down_read*() (Waiman Long) [1709451] - [kernel] locking/rwsem: Micro-optimize rwsem_try_read_lock_unqueued() (Waiman Long) [1709451] - [kernel] locking/rwsem: Move rwsem internal function declarations to rwsem-xadd.h (Waiman Long) [1709451] - [kernel] locking/rwsem: Move owner setting code from rwsem.c to rwsem.h (Waiman Long) [1709451] - [kernel] locking/rwsem: Relocate rwsem_down_read_failed() (Waiman Long) [1709451] - [kernel] locking/rwsem: Optimize down_read_trylock() (Waiman Long) [1709451] - [kernel] locking/rwsem: Remove rwsem-spinlock.c & use rwsem-xadd.c for all archs (Waiman Long) [1709451] - [x86] locking/rwsem: Remove arch specific rwsem files (Waiman Long) [1709451] - [kernel] locking/qspinlock: Remove unnecessary BUG_ON() call (Waiman Long) [1709451] - [kernel] locking/qspinlock_stat: Track the no MCS node available case (Waiman Long) [1709451] - [kernel] locking/qspinlock: Handle > 4 slowpath nesting levels (Waiman Long) [1709451] - [kernel] locking/pvqspinlock: Extend node size when pvqspinlock is configured (Waiman Long) [1709451] - [kernel] locking/qspinlock_stat: Count instances of nested lock slowpaths (Waiman Long) [1709451] - [kernel] locking/qspinlock, x86: Provide liveness guarantee (Waiman Long) [1709451] - [kernel] locking/qspinlock: Rework some comments (Waiman Long) [1709451] - [kernel] locking/qspinlock: Re-order code (Waiman Long) [1709451] - [x86] x86/headers: Fix -Wmissing-prototypes warning (Waiman Long) [1709451] - [x86] Revert "x86/refcount: Work around GCC inlining bug" (Waiman Long) [1709451] - [x86] x86/asm: 'Simplify' GEN_*_RMWcc() macros (Waiman Long) [1709451] - [x86] x86/refcount: Work around GCC inlining bug (Waiman Long) [1709451] - [lib] locking/refcounts: Include fewer headers in (Waiman Long) [1709451] - [media] media: stk1160: Set the vb2_queue lock before calling vb2_queue_init (Torez Smith) [1697664] - [usb] USB: typec: fsusb302: Drop empty set_current_limit implementation (Torez Smith) [1697664] - [usb] USB: mark expected switch fall-throughs (Torez Smith) [1697664] - [usb] USB: musb: mark expected switch fall-throughs (Torez Smith) [1697664] - [usb] usb: wusbcore: security: cast sizeof to int for comparison (Torez Smith) [1697664] - [usb] usb: typec: tcpm: Support for Alternate Modes (Torez Smith) [1697664] - [usb] usb: typec: pi3usb30532: Start using generic state values (Torez Smith) [1697664] - [usb] usb: typec: Add driver for DisplayPort alternate mode (Torez Smith) [1697664] - [usb] usb: typec: Bus type for alternate modes (Torez Smith) [1697664] - [usb] usb: typec: Register a device for every mode (Torez Smith) [1697664] - [usb] usb: typec: mux: Get the mux identifier from function parameter (Torez Smith) [1697664] - [usb] usb: update for tcpci drivers moving out of staging (Torez Smith) [1697664] - [netdrv] net: usb: Mark expected switch fall-throughs (Torez Smith) [1697664] - [media] media: tm6000: add error handling for dvb_register_adapter (Torez Smith) [1697664] - [usb] usb: typec: function for checking cable plug orientation (Torez Smith) [1697664] - [include] usb: pd: include kernel.h (Torez Smith) [1697664] - [staging] staging: typec: tcpci: move tcpci drivers out of staging (Torez Smith) [1697664] - [usb] typec: tcpm: add starting value for drp toggling (Torez Smith) [1697664] - [usb] usb: typec: tcpm: support get typec and pd config from device properties (Torez Smith) [1697664] - [usb] usb: typec: add API to get typec basic port power and data config (Torez Smith) [1697664] - [staging] usb: typec: add fwnode to tcpc (Torez Smith) [1697664] - [documentation] dt-bindings: usb: add documentation for typec port controller(TCPCI) (Torez Smith) [1697664] - [documentation] dt-bindings: connector: add properties for typec (Torez Smith) [1697664] - [usb] usb: typec: tps6598x: Remove VLA usage (Torez Smith) [1697664] - [usb] usb: cdc-wdm: use irqsave() in USB's complete callback (Torez Smith) [1697664] - [usb] USB: cdc-wdm: don't enable interrupts in USB-giveback (Torez Smith) [1697664] - [usb] usb: legousbtower: use irqsave() in USB's complete callback (Torez Smith) [1697664] - [usb] usb: ldusb: use irqsave() in USB's complete callback (Torez Smith) [1697664] - [usb] usb: iowarrior: remove intr_idx_lock (Torez Smith) [1697664] - [usb] usb: adutux: use irqsave() in USB's complete callback (Torez Smith) [1697664] - [usb] usb: wusbcore: remove excessive irqsave (Torez Smith) [1697664] - [usb] usb: usb-skeleton: use irqsave() in USB's complete callback (Torez Smith) [1697664] - [usb] usb: usblp: use irqsave() in USB's complete callback (Torez Smith) [1697664] - [usb] usb: usbfs: use irqsave() in USB's complete callback (Torez Smith) [1697664] - [usb] usb: core: use irqsave() in sg_complete() complete callback (Torez Smith) [1697664] - [usb] usb: cdc-acm: use irqsave() in USB's complete callback (Torez Smith) [1697664] - [usb] USB: host: ehci-npcm7xx: Fix some error codes in probe (Torez Smith) [1697664] - [media] media: cx231xx: fix RC_CORE dependency (Torez Smith) [1697664] - [usb] USB: serial: digi_acceleport: rename tty flag variable (Torez Smith) [1697664] - [usb] USB: serial: usb_wwan: use irqsave() in USB's complete callback (Torez Smith) [1697664] - [usb] USB: serial: ti_usb_3410_5052: use irqsave() in USB's complete callback (Torez Smith) [1697664] - [usb] USB: serial: symbolserial: use irqsave() in USB's complete callback (Torez Smith) [1697664] - [usb] USB: serial: sierra: use irqsave() in USB's complete callback (Torez Smith) [1697664] - [usb] USB: serial: sierra: fix potential deadlock at close (Torez Smith) [1697664] - [usb] USB: serial: quatech2: use irqsave() in USB's complete callback (Torez Smith) [1697664] - [usb] USB: serial: mos7840: use irqsave() in USB's complete callback (Torez Smith) [1697664] - [usb] USB: serial: mos7720: use irqsave() in USB's complete callback (Torez Smith) [1697664] - [usb] USB: serial: io_ti: use irqsave() in USB's complete callback (Torez Smith) [1697664] - [usb] USB: serial: io_edgeport: use irqsave() in USB's complete callback (Torez Smith) [1697664] - [usb] USB: serial: digi_acceleport: use irqsave() in USB's complete callback (Torez Smith) [1697664] - [usb] USB: serial: cyberjack: use irqsave() in USB's complete callback (Torez Smith) [1697664] - [usb] usb: chipidea: tegra: Use aligned DMA on Tegra114/124 (Torez Smith) [1697664] - [documentation] dt-bindings: usb: new ehci-npcm7xx dt (Torez Smith) [1697664] - [usb] USB host: Add USB ehci support for nuvoton npcm7xx platform (Torez Smith) [1697664] - [usb] usb: cdc-acm: Decrement tty port's refcount if probe() fail (Torez Smith) [1697664] - [usb] USB: mon: use ktime_get_real_ts64 instead of getnstimeofday64 (Torez Smith) [1697664] - [usb] USB: xhci-hcd: Add get_resuming_ports method (Torez Smith) [1697664] - [usb] USB: ehci-hcd: Add get_resuming_ports method (Torez Smith) [1697664] - [usb] USB: Report wakeup events on root-hub ports (Torez Smith) [1697664] - [usb] USB: serial: cast sizeof() to int when comparing with error code (Torez Smith) [1697664] - [netdrv] net: drivers/net: Convert random_ether_addr to eth_random_addr (Torez Smith) [1697664] - [netdrv] net: usb: rtl8150: use irqsave() in USB's complete callback (Torez Smith) [1697664] - [netdrv] net: usb: r8152: use irqsave() in USB's complete callback (Torez Smith) [1697664] - [netdrv] net: usb: kaweth: use irqsave() in USB's complete callback (Torez Smith) [1697664] - [netdrv] net: usb: hso: use irqsave() in USB's complete callback (Torez Smith) [1697664] - [netdrv] net: usb: cdc-phonet: use irqsave() in USB's complete callback (Torez Smith) [1697664]- [net] selftests/tls: add test for sleeping even though there is data (Sabrina Dubroca) [1711821] - [net] tls: fix no wakeup on partial reads (Sabrina Dubroca) [1711821] - [net] selftests/tls: test for lowat overshoot with multiple records (Sabrina Dubroca) [1711821] - [net] tls: fix lowat calculation if some data came from previous record (Sabrina Dubroca) [1711821] - [net] tls: don't ignore netdev notifications if no TLS features (Sabrina Dubroca) [1711821] - [net] tls: fix state removal with feature flags off (Sabrina Dubroca) [1711821] - [net] tls: handle errors from padding_length() (Sabrina Dubroca) [1711821] - [net] tls: avoid NULL pointer deref on nskb->sk in fallback (Sabrina Dubroca) [1711821] - [net] tls: byte swap device req TCP seq no upon setting (Sabrina Dubroca) [1711821] - [net] tls: remove old exports of sk_destruct functions (Sabrina Dubroca) [1711821] - [net] tls: don't log errors every time offload can't proceed (Sabrina Dubroca) [1711821] - [net] tls: fix refcount adjustment in fallback (Sabrina Dubroca) [1711821] - [net] strparser: make it explicitly non-modular (Sabrina Dubroca) [1711821] - [net] strparser: partially revert "strparser: Call skb_unclone conditionally" (Sabrina Dubroca) [1711821] - [net] tls: fix the IV leaks (Sabrina Dubroca) [1711821] - [net] strparser: fix comment (Sabrina Dubroca) [1711821] - [net] tls: prevent false connection termination with offload (Sabrina Dubroca) [1711821] - [net] tls: Replace kfree_skb() with consume_skb() (Sabrina Dubroca) [1711821] - [net] strparser: fix a missing check for create_singlethread_workqueue (Sabrina Dubroca) [1711821] - [net] tls: Fix tls_device receive (Sabrina Dubroca) [1711821] - [net] tls: Fix mixing between async capable and async (Sabrina Dubroca) [1711821] - [net] tls: Return type of non-data records retrieved using MSG_PEEK in recvmsg (Sabrina Dubroca) [1711821] - [net] selftest/tls: Add test to verify received 'type' of non-data record (Sabrina Dubroca) [1711821] - [net] tls: Move protocol constants from cipher context to tls context (Sabrina Dubroca) [1711821] - [net] tls: Do not use async crypto for non-data records (Sabrina Dubroca) [1711821] - [net] tls: Disable async decrytion for tls1.3 (Sabrina Dubroca) [1711821] - [net] tls: Set async_capable for tls zerocopy only if we see EINPROGRESS (Sabrina Dubroca) [1711821] - [net] tls: Add tests for TLS 1.3 (Sabrina Dubroca) [1711821] - [net] tls: Add tls 1.3 support (Sabrina Dubroca) [1711821] - [net] tls: Refactor control message handling on recv (Sabrina Dubroca) [1711821] - [net] tls: Refactor tls aad space size calculation (Sabrina Dubroca) [1711821] - [net] tls: Support 256 bit keys (Sabrina Dubroca) [1711821] - [net] tls: free ctx in sock destruct (Sabrina Dubroca) [1711821] - [net] tls: build_protos moved to common routine (Sabrina Dubroca) [1711821] - [net] tls: Fix recvmsg() to be able to peek across multiple records (Sabrina Dubroca) [1711821] - [net] tls: Make function tls_sw_do_sendpage static (Sabrina Dubroca) [1711821] - [net] tls: remove unused function tls_sw_sendpage_locked (Sabrina Dubroca) [1711821] - [net] Optimize sk_msg_clone() by data merge to end dst sg entry (Sabrina Dubroca) [1711821] - [net] selftests/tls: Fix recv partial/large_buff test cases (Sabrina Dubroca) [1711821] - [net] tls: allocate tls context using GFP_ATOMIC (Sabrina Dubroca) [1711821] - [net] tls: Init routines in create_ctx (Sabrina Dubroca) [1711821] - [net] selftests/tls: Fix recv(MSG_PEEK) & splice() test cases (Sabrina Dubroca) [1711821] - [net] tls: fix currently broken MSG_PEEK behavior (Sabrina Dubroca) [1711821] - [net] selftests/tls: Add MSG_WAITALL in recv() syscall (Sabrina Dubroca) [1711821] - [net] tls: async support causes out-of-bounds access in crypto APIs (Sabrina Dubroca) [1711821] - [net] selftests/tls: Add test for recv(PEEK) spanning across multiple records (Sabrina Dubroca) [1711821] - [net] tls: Add support for async decryption of tls records (Sabrina Dubroca) [1711821] - [net] tls: Calculate nsg for zerocopy path without skb_cow_data (Sabrina Dubroca) [1711821] - [net] strparser: remove redundant variable 'rd_desc' (Sabrina Dubroca) [1711821] - [net] tls: Use kmemdup to simplify the code (Sabrina Dubroca) [1711821] - [net] tls: Use socket data_ready callback on record availability (Sabrina Dubroca) [1711821] - [net] selftests: tls: add selftests for TLS sockets (Sabrina Dubroca) [1711821] - [net] strparser: Call skb_unclone conditionally (Sabrina Dubroca) [1711821] - [net] tls: Remove VLA usage on nonce (Sabrina Dubroca) [1711821] - [net] tls: Removed unused variable (Sabrina Dubroca) [1711821] - [netdrv] veth: use generic helper to report timestamping info (Jiri Benc) [1718938] - [netdrv] veth: Fix -Wformat-truncation (Jiri Benc) [1718938] - [netdrv] veth: Mark expected switch fall-throughs (Jiri Benc) [1718938] - [net] Add extack argument to rtnl_create_link (Jiri Benc) [1718938] - [netdrv] veth: Add ethtool statistics support for XDP (Jiri Benc) [1718938] - [netdrv] veth: Account for XDP packet statistics on rx side (Jiri Benc) [1718938] - [netdrv] veth: Account for packet drops in ndo_xdp_xmit (Jiri Benc) [1718938] - [netdrv] veth: rename pcpu_vstats as pcpu_lstats (Jiri Benc) [1718938] - [netdrv] net: move definition of pcpu_lstats to header file (Jiri Benc) [1718938] - [netdrv] veth: add software timestamping (Jiri Benc) [1718938] - [net] tcp: tcp_grow_window() needs to respect tcp_space() (Marcelo Leitner) [1718344] - [net] tcp: fix a potential NULL pointer dereference in tcp_sk_exit (Marcelo Leitner) [1718344] - [net] tcp: do not use ipv6 header for ipv4 flow (Marcelo Leitner) [1718344] - [net] tcp: Don't access TCP_SKB_CB before initializing it (Marcelo Leitner) [1718344] - [net] tcp: do not report TCP_CM_INQ of 0 for closed connections (Marcelo Leitner) [1718344] - [net] tcp: clear icsk_backoff in tcp_write_queue_purge() (Marcelo Leitner) [1718344] - [net] tcp: allow MSG_ZEROCOPY transmission also in CLOSE_WAIT state (Marcelo Leitner) [1718344] - [net] tcp: change txhash on SYN-data timeout (Marcelo Leitner) [1718344] - [net] tcp: lack of available data can also cause TSO defer (Marcelo Leitner) [1718344] - [net] tcp: fix NULL ref in tail loss probe (Marcelo Leitner) [1718344] - [net] tcp: Do not underestimate rwnd_limited (Marcelo Leitner) [1718344] - [net] tcp: defer SACK compression after DupThresh (Marcelo Leitner) [1718344] - [net] tcp: do not release socket ownership in tcp_close() (Marcelo Leitner) [1718344] - [net] tcp: Fix SOF_TIMESTAMPING_RX_HARDWARE to use the latest timestamp during TCP coalescing (Marcelo Leitner) [1718344] - [net] inet: make sure to grab rcu_read_lock before using ireq->ireq_opt (Marcelo Leitner) [1718344] - [net] tcp/dccp: fix lockdep issue when SYN is backlogged (Marcelo Leitner) [1718344] - [net] xfrm4: Fix uninitialized memory read in _decode_session4 (Sabrina Dubroca) [1718812] - [net] esp4: add length check for UDP encapsulation (Sabrina Dubroca) [1718812] - [net] xfrm: clean up xfrm protocol checks (Sabrina Dubroca) [1718812] - [net] xfrm6_tunnel: Fix potential panic when unloading xfrm6_tunnel module (Sabrina Dubroca) [1718812] - [net] xfrm: Reset secpath in xfrm failure (Sabrina Dubroca) [1718812] - [net] xfrm: policy: Fix out-of-bound array accesses in __xfrm_policy_unlink (Sabrina Dubroca) [1718812] - [net] xfrm: destroy xfrm_state synchronously on net exit path (Sabrina Dubroca) [1718812] - [net] esp: Skip TX bytes accounting when sending from a request socket (Sabrina Dubroca) [1718812] - [net] xfrm: refine validation of template and selector families (Sabrina Dubroca) [1718812] - [net] xfrm: policy: increment xfrm_hash_generation on hash rebuild (Sabrina Dubroca) [1718812] - [net] xfrm6_tunnel: Fix spi check in __xfrm6_tunnel_alloc_spi (Sabrina Dubroca) [1718812] - [net] xfrm_user: fix freeing of xfrm states on acquire (Sabrina Dubroca) [1718812] - [net] xfrm: Fix NULL pointer dereference in xfrm_input when skb_dst_force clears the dst_entry (Sabrina Dubroca) [1718812] - [net] xfrm: Fix error return code in xfrm_output_one() (Sabrina Dubroca) [1718812] - [net] vti4: eliminated some duplicate code (Guillaume Nault) [1718443] - [net] vti4: removed duplicate log message (Guillaume Nault) [1718443] - [net] vti4: ipip tunnel deregistration fixes (Guillaume Nault) [1718443] - [net] vti4: Fix a ipip packet processing bug in 'IPCOMP' virtual tunnel (Guillaume Nault) [1718443] - [net] fou: do not use guehdr after iptunnel_pull_offloads in gue_udp_recv (Guillaume Nault) [1718443] - [netdrv] vxlan: test dev->flags & IFF_UP before calling gro_cells_receive() (Guillaume Nault) [1718443] - [netdrv] vxlan: test dev->flags & IFF_UP before calling netif_rx() (Guillaume Nault) [1718443] - [net] devlink: turn devlink into a built-in (Petr Oros) [1717458] - [net] ipv6: fix EFAULT on sendto with icmpv6 and hdrincl (Stefano Brivio) [1718503] - [net] ipv6: use READ_ONCE() for inet->hdrincl as in ipv4 (Stefano Brivio) [1718503] - [net] ipv6: Fix redirect with VRF (Stefano Brivio) [1718503] - [net] ipv6: Consider sk_bound_dev_if when binding a raw socket to an address (Stefano Brivio) [1718503] - [net] ipv6: prevent possible fib6 leaks (Stefano Brivio) [1718503] - [net] vrf: sit mtu should not be updated when vrf netdev is the link (Stefano Brivio) [1718503] - [net] ipv6: A few fixes on dereferencing rt->from (Stefano Brivio) [1718503] - [tools] selftests: fib_rule_tests: Fix icmp proto with ipv6 (Stefano Brivio) [1718503] - [net] ipv6: fix races in ip6_dst_destroy() (Stefano Brivio) [1718503] - [net] ipv6/flowlabel: wait rcu grace period before put_pid() (Stefano Brivio) [1718503] - [net] ipv6: invert flowlabel sharing check in process and user mode (Stefano Brivio) [1718503] - [net] route: Avoid crash from dereferencing NULL rt->from (Stefano Brivio) [1718503] - [net] udpv6: Check address length before reading address family (Stefano Brivio) [1718503] - [net] ip6_gre: fix possible use-after-free in ip6erspan_rcv (Stefano Brivio) [1718503] - [net] ip6_gre: remove gre_hdr_len from ip6erspan_rcv (Stefano Brivio) [1718503] - [net] ipv6: Fix dangling pointer when ipv6 fragment (Stefano Brivio) [1718503] - [net] ip6_tunnel: Match to ARPHRD_TUNNEL6 for dev type (Stefano Brivio) [1718503] - [net] inet: switch IP ID generator to siphash (Stefano Brivio) [1718503] - [net] sit: fix UBSAN Undefined behaviour in check_6rd (Stefano Brivio) [1718503] - [net] ip6mr: Do not call __IP6_INC_STATS() from preemptible context (Stefano Brivio) [1718503] - [net] sit: fix memory leak in sit_init_net() (Stefano Brivio) [1718503] - [net] ipv4: Add ICMPv6 support when parse route ipproto (Stefano Brivio) [1718503] - [net] ipv6: Return error for RTA_VIA attribute (Stefano Brivio) [1718503] - [net] Set rtm_table to RT_TABLE_COMPAT for ipv6 for tables > 255 (Stefano Brivio) [1718503] - [net] ip6_gre: do not report erspan_ver for ip6gre or ip6gretap (Stefano Brivio) [1718503] - [net] ipv6: route: enforce RCU protection in rt6_update_exception_stamp_rt() (Stefano Brivio) [1718503] - [net] ipv6: route: enforce RCU protection in ip6_route_check_nh_onlink() (Stefano Brivio) [1718503] - [net] ipv6: propagate genlmsg_reply return code (Stefano Brivio) [1718503] - [net] fix IPv6 prefix route residue (Stefano Brivio) [1718503] - [net] ip6mr: Fix notifiers call on mroute_clean_tables() (Stefano Brivio) [1718503] - [net] af_packet: fix raw sockets over 6in4 tunnel (Stefano Brivio) [1718503] - [net] ip6_gre: fix tunnel list corruption for x-netns (Stefano Brivio) [1718503] - [net] ipv6: fix kernel-infoleak in ipv6_local_error() (Stefano Brivio) [1718503] - [net] ip: on queued skb use skb_header_pointer instead of pskb_may_pull (Stefano Brivio) [1718503] - [net] ipv4: fix use-after-free in ip_cmsg_recv_dstaddr() (Stefano Brivio) [1718503] - [net] ipv6: Take rcu_read_lock in __inet6_bind for mapped addresses (Stefano Brivio) [1718503] - [net] ipv6: Consider sk_bound_dev_if when binding a socket to a v4 mapped address (Stefano Brivio) [1718503] - [net] ipv6: Consider sk_bound_dev_if when binding a socket to an address (Stefano Brivio) [1718503] - [net] ip: validate header length on virtual device xmit (Stefano Brivio) [1718503] - [net] ipv6: Fix a test against 'ipv6_find_idev()' return value (Stefano Brivio) [1718503] - [net] ipv6: tunnels: fix two use-after-free (Stefano Brivio) [1718503] - [net] ipv6: add missing tx timestamping on IPPROTO_RAW (Stefano Brivio) [1718503] - [net] clear skb->tstamp in forwarding paths (Stefano Brivio) [1718503] - [net] ipv6: sr: properly initialize flowi6 prior passing to ip6_route_output (Stefano Brivio) [1718503] - [net] always initialize pagedlen (Stefano Brivio) [1718503] - [net] ipv6: Fix PMTU updates for UDP/raw sockets in presence of VRF (Stefano Brivio) [1718503] - [net] ipv6: gro: do not use slow memcmp() in ipv6_gro_receive() (Stefano Brivio) [1718503] - [net] xfrm: fix out-of-bounds packet access (Stefano Brivio) [1718503] - [net] ipv6: take rcu lock in rawv6_send_hdrinc() (Stefano Brivio) [1718503] - [net] ip6_tunnel: be careful when accessing the inner header (Stefano Brivio) [1718503] - [net] revert "ipv6: fix double refcount of fib6_metrics" (Stefano Brivio) [1718503] - [net] ipv6: fix memory leak on dst->_metrics (Stefano Brivio) [1718503] - [net] ipv6: fix cleanup ordering for ip6_mr failure (Stefano Brivio) [1718503] - [net] ipv6: fix cleanup ordering for pingv6 registration (Stefano Brivio) [1718503] - [net] ip6_tunnel: collect_md xmit: Use ip_tunnel_key's provided src address (Stefano Brivio) [1718503] - [net] ipv6: fix addrconf_sysctl_addr_gen_mode (Stefano Brivio) [1718503] - [net] ipv6: don't reinitialize ndev->cnf.addr_gen_mode on new inet6_dev (Stefano Brivio) [1718503] - [net] ipv6: reserve room for IFLA_INET6_ADDR_GEN_MODE (Stefano Brivio) [1718503] - [net] ipv6: propagate net.ipv6.conf.all.addr_gen_mode to devices (Stefano Brivio) [1718503] - [net] openvswitch: check for null pointer return from nla_nest_start_noflag (Stefano Brivio) [1718408] - [net] openvswitch: add seqadj extension when NAT is used (Stefano Brivio) [1718408] - [net] netfilter: Replace spin_is_locked() with lockdep (Stefano Brivio) [1718392] - [net] netfilter: ipset: do not call ipset_nest_end after nla_nest_cancel (Stefano Brivio) [1718392] - [net] netfilter: ipset: Fix calling ip_set() macro at dumping (Stefano Brivio) [1718392] - [include] netfilter: ipset: Correct rcu_dereference() call in ip_set_put_comment() (Stefano Brivio) [1718392] - [net] netfilter: ipset: fix ip_set_list allocation failure (Stefano Brivio) [1718392] - [net] netfilter: ipset: Make invalid MAC address checks consistent (Stefano Brivio) [1649087] - [net] netfilter: ipset: Allow matching on destination MAC address for mac and ipmac sets (Stefano Brivio) [1649087] - [netdrv] rocker: Handle SWITCHDEV_PORT_ATTR_SET (Ivan Vecera) [1717892] - [net] switchdev: Add SWITCHDEV_PORT_ATTR_SET (Ivan Vecera) [1717892] - [netdrv] rocker: Add missing break for PRE_BRIDGE_FLAGS (Ivan Vecera) [1717892] - [net] bridge: Stop calling switchdev_port_attr_get() (Ivan Vecera) [1717892] - [netdrv] rocker: Check Handle PORT_PRE_BRIDGE_FLAGS (Ivan Vecera) [1717892] - [netdrv] mlxsw: spectrum: Handle PORT_PRE_BRIDGE_FLAGS (Ivan Vecera) [1717892] - [include] net: switchdev: Add PORT_PRE_BRIDGE_FLAGS (Ivan Vecera) [1717892] - [netdrv] rocker: Remove port_attr_bridge_flags_get assignment (Ivan Vecera) [1717892] - [netdrv] rocker: Remove getting PORT_BRIDGE_FLAGS (Ivan Vecera) [1717892] - [net] pktgen: do not sleep with the thread lock held (Paolo Abeni) [1715575] - [include] ipv6: fix the check before getting the cookie in rt6_get_cookie (Xin Long) [1709166] - [net] ipv4: not do cache for local delivery if bc_forwarding is enabled (Xin Long) [1712657] - [net] sctp: avoid running the sctp state machine recursively (Xin Long) [1717316] - [netdrv] netdevsim: use skb_sec_path helper (Hangbin Liu) [1711810] - [netdrv] netdevsim: convert to DEFINE_SHOW_ATTRIBUTE (Hangbin Liu) [1711810] - [netdrv] netdevsim: make debug dirs' dentries static (Hangbin Liu) [1711810] - [tools] selftests: rtnetlink: use internal netns switch for ip commands (Hangbin Liu) [1711810] - [tools] selftests: rtnetlink: add testcases for vxlan flag sets (Hangbin Liu) [1711810] - [tools] selftests: rtnetlink: Add a test case for multipath route get (Hangbin Liu) [1711810] - [tools] selftests: rtnetlink.sh: add testcase for neigh get (Hangbin Liu) [1711810] - [tools] selftests: net: rtnetlink.sh: add fdb get test (Hangbin Liu) [1711810] - [tools] selftests: rtnetlink.sh explicitly requires bash (Hangbin Liu) [1711810] - [net] udp: with udp_segment release on error path (Paolo Abeni) [1718079] - [net] ipv6: explicitly initialize udp6_addr in udp_sock_create6() (Paolo Abeni) [1718079] - [netdrv] geneve: Don't assume linear buffers in vxlan_err_lookup() (Stefano Brivio) [1652222] - [netdrv] vxlan: Don't assume linear buffers in vxlan_err_lookup() (Stefano Brivio) [1652222] - [netdrv] geneve: Initialize addr6 with memset (Stefano Brivio) [1652222] - [net] ip_tunnel: don't force DF when MTU is locked (Stefano Brivio) [1652222] - [netdrv] geneve: ICMP error lookup handler (Stefano Brivio) [1652222] - [netdrv] vxlan: ICMP error lookup handler (Stefano Brivio) [1652222] - [net] udp: Handle ICMP errors for tunnels with same destination port on both endpoints (Stefano Brivio) [1652222] - [net] udp: gro behind static key (Stefano Brivio) [1652222] - [net] bpf: in __bpf_redirect_no_mac pull mac only if present (Jiri Benc) [1687471] - [net] lwt_bpf: remove unnecessary rcu_read_lock in run_lwt_bpf (Jiri Benc) [1687471] - [net] bpf: add End.DT6 action to bpf_lwt_seg6_action helper (Jiri Benc) [1687471] - [net] bpf: fix out-of-bounds read in __bpf_skc_lookup (Jiri Benc) [1687459] - [net] bpf: Check sk_fullsock() before returning from bpf_sk_lookup() (Jiri Benc) [1687459] - [net] flow_dissector: disable preemption around BPF calls (Jiri Benc) [1687459] - [net] bpf: sockmap, only stop/flush strp if it was enabled at some point (Jiri Benc) [1687459] - [net] bpf: Stop the psock parser before canceling its work (Jiri Benc) [1687459] - [net] bpf: only test gso type on gso packets (Jiri Benc) [1687459] - [tools] selftests: add dummy xdp test helper (Jiri Benc) [1687459] - [net] filter: mark expected switch fall-through (Jiri Benc) [1687459] - [documentation] Update references to netdev-FAQ (Jiri Benc) [1687459] - [net] bpfilter: remove trailing newline (Jiri Benc) [1687459] - [net] core: filter: mark expected switch fall-through (Jiri Benc) [1687459] - [net] revert "xsk: simplify AF_XDP socket teardown" (Jiri Benc) [1687459] - [net] bpf/test_run: fix unkillable BPF_PROG_TEST_RUN (Jiri Benc) [1687459] - [net] xsk: share the mmap_sem for page pinning (Jiri Benc) [1687459] - [net] xsk: add missing smp_rmb() in xsk_mmap (Jiri Benc) [1687459] - [net] bpf: only adjust gso_size on bytestream protocols (Jiri Benc) [1687459] - [net] sk_msg: Always cancel strp work before freeing the psock (Jiri Benc) [1687459] - [net] bpf: sock recvbuff must be limited by rmem_max in bpf_setsockopt() (Jiri Benc) [1687459] - [net] bpf: fix SO_MAX_PACING_RATE to support TCP internal pacing (Jiri Benc) [1687459] - [net] bpf: bpf_setsockopt: reset sock dst on SO_MARK changes (Jiri Benc) [1687459] - [net] bpf: correctly set initial window on active Fast Open sender (Jiri Benc) [1687459] - [net] xsk: simplify AF_XDP socket teardown (Jiri Benc) [1687459] - [net] bpf: fix doc of bpf_skb_adjust_room() in uapi (Jiri Benc) [1687459] - [net] bpf: do not blindly change rlimit in reuseport net selftest (Jiri Benc) [1687459] - [net] xsk: proper AF_XDP socket teardown ordering (Jiri Benc) [1687459] - [net] bpf: typo fix in Documentation/networking/af_xdp.rst (Jiri Benc) [1687459] - [net] xdp: split code for map vs non-map redirect (Jiri Benc) [1687459] - [net] xdp: explicit inline __xdp_map_lookup_elem (Jiri Benc) [1687459] - [net] xdp: unlikely instrumentation for xdp map redirect (Jiri Benc) [1687459] - [net] xdp: remove redundant variable 'headroom' (Jiri Benc) [1687459] - [net] xsk: include XDP meta data in AF_XDP frames (Jiri Benc) [1687459] - [net] bpf: Enable BPF_PROG_TYPE_SK_REUSEPORT bpf prog in reuseport selection (Jiri Benc) [1687459] - [net] revert "xdp: add NULL pointer check in __xdp_return()" (Jiri Benc) [1687459] - [lib] test_rhashtable: Make test_insert_dup() allocate its hash table dynamically (Jiri Benc) [1717066] - [lib] test_rhashtable: remove semaphore usage (Jiri Benc) [1717066] - [lib] rhashtable: detect when object movement between tables might have invalidated a lookup (Jiri Benc) [1717066] - [lib] rhashtable: remove duplicated include from rhashtable.c (Jiri Benc) [1717066] - [lib] rhashtable: clean up dereference of ->future_tbl (Jiri Benc) [1717066] - [lib] rhashtable: use cmpxchg() to protect ->future_tbl (Jiri Benc) [1717066] - [lib] rhashtable: simplify nested_table_alloc() and rht_bucket_nested_insert() (Jiri Benc) [1717066] - [lib] rhashtable: simplify INIT_RHT_NULLS_HEAD() (Jiri Benc) [1717066] - [lib] rhashtable: remove nulls_base and related code (Jiri Benc) [1717066] - [lib] rhashtable: split rhashtable.h (Jiri Benc) [1717066] - [lib] rhashtable: silence RCU warning in rhashtable_test (Jiri Benc) [1717066] - [net] devlink: publish params only after driver init is done (Ivan Vecera) [1715929] - [net] iptunnel: NULL pointer deref for ip_md_tunnel_xmit (Hangbin Liu) [1712792] - [net] ip_gre: Refactor collect metatdata mode tunnel xmit to ip_md_tunnel_xmit (Hangbin Liu) [1712792] - [net] ip_tunnel: Fix route fl4 init in ip_md_tunnel_xmit (Hangbin Liu) [1712792] - [net] ip_tunnel: Add tnl_update_pmtu in ip_md_tunnel_xmit (Hangbin Liu) [1712792] - [net] ip_tunnel: Add ip tunnel dst_cache in ip_md_tunnel_xmit (Hangbin Liu) [1712792] - [net] vlan: Mark expected switch fall-through (Hangbin Liu) [1664359] - [net] vlan: disable SIOCSHWTSTAMP in container (Hangbin Liu) [1664359] - [netdrv] macvlan: Mark expected switch fall-through (Hangbin Liu) [1664359] - [netdrv] macvlan: disable SIOCSHWTSTAMP in container (Hangbin Liu) [1664359] - [netdrv] macvlan: pass get_ts_info and SIOC[SG]HWTSTAMP ioctl to real device (Hangbin Liu) [1664359] - [net] ethtool: add compat for flash update (Petr Oros) [1708339] - [net] devlink: add flash update command (Petr Oros) [1708339] - [net] devlink: Fix list access without lock while reading region (Petr Oros) [1708339] - [net] devlink: Return right error code in case of errors for region read (Petr Oros) [1708339] - [net] devlink: use direct return of genlmsg_reply (Petr Oros) [1708339] - [net] devlink: Rename devlink health attributes (Petr Oros) [1709874] - [net] devlink: Modify reply of DEVLINK_CMD_HEALTH_REPORTER_GET (Petr Oros) [1709874] - [net] devlink: Update reporter state to error even if recover aborted (Petr Oros) [1709874] - [documentation] devlink: Add Documentation/networking/devlink-health.txt (Petr Oros) [1709874] - [net] devlink: Add health dump {get, clear} commands (Petr Oros) [1709874] - [net] devlink: Add health diagnose command (Petr Oros) [1709874] - [net] devlink: Add health recover command (Petr Oros) [1709874] - [net] devlink: Add health set command (Petr Oros) [1709874] - [net] devlink: Add health get command (Petr Oros) [1709874] - [net] devlink: Add health report functionality (Petr Oros) [1709874] - [net] devlink: Add health reporter create/destroy functionality (Petr Oros) [1709874] - [net] devlink: Add devlink formatted message (fmsg) API (Petr Oros) [1709874] - [net] devlink: add hardware errors tracing facility (Petr Oros) [1709874] - [net] cnb: devlink: report cell size of shared buffers (Petr Oros) [1708348] - [net] devlink: skip info_get op call if it is not defined in dumpit (Petr Oros) [1708342] - [include] devlink: add a generic board.manufacture version name (Petr Oros) [1708342] - [net] devlink: don't allocate attrs on the stack (Petr Oros) [1708342] - [net] devlink: fix condition for compat device info (Petr Oros) [1708342] - [net] ethtool: add compat for devlink info (Petr Oros) [1708342] - [include] devlink: add generic info version names (Petr Oros) [1708342] - [net] devlink: add version reporting to devlink info API (Petr Oros) [1708342] - [net] devlink: add device information API (Petr Oros) [1708342] - [net] devlink: Add devlink notifications support for port params (Petr Oros) [1710228] - [net] devlink: Add support for driverinit set value for devlink_port (Petr Oros) [1710228] - [net] devlink: Add support for driverinit get value for devlink_port (Petr Oros) [1710228] - [net] devlink: Add port param set command (Petr Oros) [1710228] - [net] devlink: Add port param get command (Petr Oros) [1710228] - [net] devlink: Add devlink_param for port register and unregister (Petr Oros) [1710228] - [net] ipv6: properly check return value in inet6_dump_all() (Petr Oros) [1714656] - [net] Don't return invalid table id error when dumping all families (Petr Oros) [1714656] - [net] ipmr_base: Do not reset index in mr_table_dump (Petr Oros) [1714656] - [net] ipv6: Fix dump of specific table with strict checking (Petr Oros) [1714656] - [net] ipv4: avoid compile error in fib_info_nh_uses_dev (Petr Oros) [1714656] - [net] ipv4: Bail early if user only wants prefix entries (Petr Oros) [1714656] - [net] ipv6: Bail early if user only wants cloned entries (Petr Oros) [1714656] - [net] mpls: Handle kernel side filtering of route dumps (Petr Oros) [1714656] - [net] Enable kernel side filtering of route dumps (Petr Oros) [1714656] - [net] Plumb support for filtering ipv4 and ipv6 multicast route dumps (Petr Oros) [1714656] - [net] ipmr: Refactor mr_rtm_dumproute (Petr Oros) [1714656] - [net] mpls: Plumb support for filtering route dumps (Petr Oros) [1714656] - [net] ipv6: Plumb support for filtering route dumps (Petr Oros) [1714656] - [net] netfilter: nft_fib: Convert nft_fib4_eval to new dev helper (Petr Oros) [1714656] - [net] netfilter: rpfilter: Convert rpfilter_lookup_reverse to new dev helper (Petr Oros) [1714656] - [net] ipv4: Move device validation to helper (Petr Oros) [1714656] - [net] ipv4: Plumb support for filtering route dumps (Petr Oros) [1714656] - [net] Add struct for fib dump filter (Petr Oros) [1714656] - [lib] iov_iter: Fix build error without CONFIG_CRYPTO (Ivan Vecera) [1714213] - [net] datagram: introduce skb_copy_and_hash_datagram_iter helper (Ivan Vecera) [1714213] - [lib] iov_iter: introduce hash_and_copy_to_iter helper (Ivan Vecera) [1714213] - [net] datagram: consolidate datagram copy to iter helpers (Ivan Vecera) [1714213] - [lib] iov_iter: pass void csum pointer to csum_and_copy_to_iter (Ivan Vecera) [1714213] - [net] datagram: open-code copy_page_to_iter (Ivan Vecera) [1714213] - [include] net: enable mpls_ptr in net_device (Hangbin Liu) [1350011] - [net] netfilter: ipset: actually allow allowable CIDR 0 in hash:net, port, net (Stefano Brivio) [1680512] - [net] netfilter: ipset: fix ip_set_byindex function (Stefano Brivio) [1680512] - [net] netfilter: ipset: Introduction of new commands and protocol version 7 (Stefano Brivio) [1680512] - [net] ipv6: don't return positive numbers when nothing was dumped (Petr Oros) [1700306] - [net] rtnetlink: restore handling of dumpit return value in rtnl_dump_all() (Petr Oros) [1700306] - [net] netlink: fixup regression in RTM_GETADDR (Petr Oros) [1700306] - [net] {ipv4, ipv6}: Do not put target net if input nsid is invalid (Petr Oros) [1700306] - [net] rtnl_dump_all needs to propagate error from dumpit function (Petr Oros) [1700306] - [net] rtnetlink: Move ifm in valid_fdb_dump_legacy to closer to use (Petr Oros) [1700306] - [net] neighbor: NTF_PROXY is a valid ndm_flag for a dump request (Petr Oros) [1700306] - [net] mpls: Implement handler for strict data checking on dumps (Petr Oros) [1700306] - [net] rtnetlink: Update comment in rtnl_stats_dump regarding strict data checking (Petr Oros) [1700306] - [net] ipv6: Put target net when address dump fails due to bad attributes (Petr Oros) [1700306] - [net] ipv4: Put target net when address dump fails due to bad attributes (Petr Oros) [1700306] - [tools] headers uapi: Update linux/netlink.h header copy (Petr Oros) [1700306] - [net] neigh: fix NULL deref in pneigh_dump_table() (Petr Oros) [1700306] - [net] ipv6: Add support for dumping addresses for a specific device (Petr Oros) [1700306] - [net] ipv4: Add support for dumping addresses for a specific device (Petr Oros) [1700306] - [net] ipv6: Remove ip_idx arg to in6_dump_addrs (Petr Oros) [1700306] - [net] ipv4: Move loop over addresses on a device into in_dev_dump_addr (Petr Oros) [1700306] - [net] netlink: Add answer_flags to netlink_callback (Petr Oros) [1700306] - [net] rtnetlink: Update rtnl_fdb_dump for strict data checking (Petr Oros) [1700306] - [net] rtnetlink: Move input checking for rtnl_fdb_dump to helper (Petr Oros) [1700306] - [net] bridge: Update br_mdb_dump for strict data checking (Petr Oros) [1700306] - [net] Update netconf dump handlers for strict data checking (Petr Oros) [1700306] - [net] ipv6: Update ip6addrlbl_dump for strict data checking (Petr Oros) [1700306] - [net] fib_rules: Update fib_nl_dumprule for strict data checking (Petr Oros) [1700306] - [net] namespace: Update rtnl_net_dumpid for strict data checking (Petr Oros) [1700306] - [net] neighbor: Update neightbl_dump_info for strict data checking (Petr Oros) [1700306] - [net] neighbor: Update neigh_dump_info for strict data checking (Petr Oros) [1700306] - [net] rtnetlink: Update fib dumps for strict data checking (Petr Oros) [1700306] - [net] rtnetlink: Update ipmr_rtm_dumplink for strict data checking (Petr Oros) [1700306] - [net] rtnetlink: Update inet6_dump_ifinfo for strict data checking (Petr Oros) [1700306] - [net] rtnetlink: Update rtnl_stats_dump for strict data checking (Petr Oros) [1700306] - [net] rtnetlink: Update rtnl_bridge_getlink for strict data checking (Petr Oros) [1700306] - [net] rtnetlink: Update rtnl_dump_ifinfo for strict data checking (Petr Oros) [1700306] - [net] ipv6: Update inet6_dump_addr for strict data checking (Petr Oros) [1700306] - [net] ipv4: Update inet_dump_ifaddr for strict data checking (Petr Oros) [1700306] - [net] netlink: Add new socket option to enable strict checking on dumps (Petr Oros) [1700306] - [net] ipv6: Refactor address dump to push inet6_fill_args to in6_dump_addrs (Petr Oros) [1700306] - [lib] netlink: Add strict version of nlmsg_parse and nla_parse (Petr Oros) [1700306] - [net] Add extack to nlmsg_parse (Petr Oros) [1700306] - [include] netlink: Add extack message to nlmsg_parse for invalid header length (Petr Oros) [1700306] - [net] netlink: Pass extack to dump handlers (Petr Oros) [1700306] - [net] neigh: Extend dump filter to proxy neighbor dumps (Petr Oros) [1700306] - [lib] netlink: add nested array policy validation (Petr Oros) [1700306] - [lib] netlink: allow NLA_NESTED to specify nested policy to validate (Petr Oros) [1700306] - [lib] netlink: move extack setting into validate_nla() (Petr Oros) [1700306] - [lib] netlink: make validation_data const (Petr Oros) [1700306] - [lib] netlink: remove NLA_NESTED_COMPAT (Petr Oros) [1700306] - [lib] netlink: add ethernet address policy types (Petr Oros) [1700306] - [net] sched: cls_u32: add res to offload information (Ivan Vecera) [1711377] - [net] sched: gred: support reporting stats from offloads (Ivan Vecera) [1711377] - [net] sched: gred: add basic Qdisc offload (Ivan Vecera) [1711377] - [net] sched: gred: allow manipulating per-DP RED flags (Ivan Vecera) [1711377] - [net] sched: gred: store red flags per virtual queue (Ivan Vecera) [1711377] - [net] sched: gred: provide a better structured dump and expose stats (Ivan Vecera) [1711377] - [net] sched: gred: store bytesin as a 64 bit value (Ivan Vecera) [1711377] - [net] sched: gred: use extack to provide more details on configuration errors (Ivan Vecera) [1711377] - [net] sched: gred: pass extack to nla_parse_nested() (Ivan Vecera) [1711377] - [net] sched: gred: separate error and non-error path in gred_change() (Ivan Vecera) [1711377] - [net] netlink: add NLA_REJECT policy type (Ivan Vecera) [1711377] - [lib] netlink: Return extack message if attribute validation fails (Ivan Vecera) [1711377] - [net] sched: red: notify drivers about RED's limit parameter (Ivan Vecera) [1711039] - [net] sched: mq: offload a graft notification (Ivan Vecera) [1711039] - [net] sched: red: offload a graft notification (Ivan Vecera) [1711039] - [net] sched: provide notification for graft on root (Ivan Vecera) [1711039] - [net] sched: prio: delay destroying child qdiscs on change (Ivan Vecera) [1711039] - [net] sched: red: delay destroying child qdisc on replace (Ivan Vecera) [1711039] - [net] sched: refactor grafting Qdiscs with a parent (Ivan Vecera) [1711039] - [net] sched: add an offload graft helper (Ivan Vecera) [1711039] - [net] sched: set TCQ_F_OFFLOADED flag for MQ (Ivan Vecera) [1711039] - [net] sched: red: remove unnecessary red_dump_offload_stats parameter (Ivan Vecera) [1711039] - [net] sched: add an offload dump helper (Ivan Vecera) [1711039] - [netdrv] netdevsim: Implement ndo_get_port_parent_id() (Ivan Vecera) [1708368] - [netdrv] rocker: Implement ndo_get_port_parent_id() (Ivan Vecera) [1708368] - [net] Introduce ndo_get_port_parent_id() (Ivan Vecera) [1708368] - [net] use indirect calls helpers at early demux stage (Paolo Abeni) [1700747] - [net] use indirect calls helpers for L3 handler hooks (Paolo Abeni) [1700747] - [net] use indirect calls helpers at the socket layer (Paolo Abeni) [1700747] - [net] use indirect calls helpers for ptype hook (Paolo Abeni) [1700747] - [net] add documentation to socket.c (Paolo Abeni) [1700747] - [net] udp: use indirect call wrappers for GRO socket lookup (Paolo Abeni) [1700747] - [net] use indirect call wrappers at GRO transport layer (Paolo Abeni) [1700747] - [net] use indirect call wrappers at GRO network layer (Paolo Abeni) [1700747] - [net] indirect call wrappers: helpers to speed-up indirect calls of builtin (Paolo Abeni) [1700747] - [powerpc] powerpc: bpf: Fix generation of load/store DW instructions (Yauheni Kaliuta) [1700846] - [net] bpf: verifier: propagate liveness on all frames (Yauheni Kaliuta) [1700846] - [net] bpf: do not restore dst_reg when cur_state is freed (Yauheni Kaliuta) [1700846] - [tools] tools lib bpf: Fix the build by adding a missing stdarg.h include (Yauheni Kaliuta) [1700846] - [tools] bpf, libbpf: fix version info and add it to shared object (Yauheni Kaliuta) [1700846] - [tools] btf: fix bug with resolving STRUCT/UNION into corresponding FWD (Yauheni Kaliuta) [1700846] - [tools] tools/libbpf: signedness bug in btf_dedup_ref_type() (Yauheni Kaliuta) [1700846] - [tools] libbpf: fix libbpf_print (Yauheni Kaliuta) [1700846] - [tools] tools/bpf: simplify libbpf API function libbpf_set_print() (Yauheni Kaliuta) [1700846] - [tools] tools/bpftool: move set_max_rlimit() before __bpf_object__open_xattr() (Yauheni Kaliuta) [1700846] - [include] bpf: promote bpf_perf_event.h to mandatory UAPI header (Yauheni Kaliuta) [1700846] - [net] bpf: Avoid unnecessary instruction in convert_bpf_ld_abs() (Yauheni Kaliuta) [1700846] - [kernel] bpf: fix check of allowed specifiers in bpf_trace_printk (Yauheni Kaliuta) [1700846] - [documentation] bpf, doc: Document Jump X addressing mode (Yauheni Kaliuta) [1700846] - [tools] tools: bpf: fix license for a compat header file (Yauheni Kaliuta) [1700846] - [documentation] docs: bpf: Capitalise document heading (Yauheni Kaliuta) [1700846] - [documentation] docs: Add bpf/index to top level index (Yauheni Kaliuta) [1700846] - [documentation] docs: bpf: Add toctree to index (Yauheni Kaliuta) [1700846] - [documentation] docs: bpf: Rename README.rst to index.rst (Yauheni Kaliuta) [1700846] - [tools] selftests/bpf: skip verifier tests for unsupported map types (Yauheni Kaliuta) [1700846] - [tools] selftests/bpf: skip verifier tests for unsupported program types (Yauheni Kaliuta) [1700846] - [tools] selftests/bpf: skip sockmap in test_maps if kernel doesn't have support (Yauheni Kaliuta) [1700846] - [rpmspec] rpmspec: pack bpf-helpers, bpftool-net, bpftool-feature manpages (Yauheni Kaliuta) [1700846] - [net] bpf, tcp: correctly handle DONT_WAIT flags and timeo == 0 (Yauheni Kaliuta) [1700846] - [kernel] bpf: mark bpf_event_notify and bpf_event_init as static (Yauheni Kaliuta) [1700846] - [net] bpf: sockmap fix msg->sg.size account on ingress skb (Yauheni Kaliuta) [1700846] - [net] bpf: sockmap remove duplicate queue free (Yauheni Kaliuta) [1700846] - [net] net/tls: remove set but not used variables (Yauheni Kaliuta) [1700846] - [media] bpf: add map helper functions push, pop, peek in more BPF programs (Yauheni Kaliuta) [1700846] - [tools] tools: bpftool: fix infinite loop in map create (Yauheni Kaliuta) [1700846] - [net] net/tls: fix build without CONFIG_TLS_DEVICE (Yauheni Kaliuta) [1700846] - [net] net/tls: don't leak partially sent record in device mode (Yauheni Kaliuta) [1700846] - [net] xdp: fix cpumap redirect SKB creation bug (Yauheni Kaliuta) [1700846] - [net] net/core: Document reuseport_add_sock() bind_inany argument (Yauheni Kaliuta) [1700846] - [tools] bpf, libbpf: clarify bump in libbpf version info (Yauheni Kaliuta) [1700846] - [net] net/tls: Inform user space about send buffer availability (Yauheni Kaliuta) [1700846] - [tools] libbpf: handle BTF parsing and loading properly (Yauheni Kaliuta) [1700846] - [net] bpf: fix warning about using plain integer as NULL (Yauheni Kaliuta) [1700846] - [tools] bpf, libbpf: fixing leak when kernel does not support btf (Yauheni Kaliuta) [1700846] - [net] tls: Fix write space handling (Yauheni Kaliuta) [1700846] - [net] tls: Fix tls_device handling of partial records (Yauheni Kaliuta) [1700846] - [tools] bpf: bpftool, fix documentation for attach types (Yauheni Kaliuta) [1700846] - [tools] btf: separate btf creation and loading (Yauheni Kaliuta) [1700846] - [tools] tools/bpf: fix a selftest test_btf failure (Yauheni Kaliuta) [1700846] - [tools] selftests/btf: add initial BTF dedup tests (Yauheni Kaliuta) [1700846] - [tools] btf: add BTF types deduplication algorithm (Yauheni Kaliuta) [1700846] - [tools] btf: extract BTF type size calculation (Yauheni Kaliuta) [1700846] - [tools] tools/bpf: silence a libbpf unnecessary warning (Yauheni Kaliuta) [1700846] - [tools] tools/bpf: implement libbpf btf__get_map_kv_tids() API function (Yauheni Kaliuta) [1700846] - [tools] tools/bpf: expose functions btf_ext__* as API functions (Yauheni Kaliuta) [1700846] - [tools] libbpf: Add a support for getting xdp prog id on ifindex (Yauheni Kaliuta) [1700846] - [tools] libbpf: Add a helper for retrieving a map fd for a given name (Yauheni Kaliuta) [1700846] - [tools] libbpf: introduce bpf_map_lookup_elem_flags() (Yauheni Kaliuta) [1700846] - [tools] tools: bpftool: add bash completion for bpftool probes (Yauheni Kaliuta) [1700846] - [tools] tools: bpftool: add probes for a network device (Yauheni Kaliuta) [1700846] - [tools] tools: bpftool: add C-style "#define" output for probes (Yauheni Kaliuta) [1700846] - [tools] tools: bpftool: add probes for eBPF helper functions (Yauheni Kaliuta) [1700846] - [tools] tools: bpftool: add probes for eBPF map types (Yauheni Kaliuta) [1700846] - [tools] tools: bpftool: add probes for eBPF program types (Yauheni Kaliuta) [1700846] - [tools] tools: bpftool: add probes for kernel configuration options (Yauheni Kaliuta) [1700846] - [tools] tools: bpftool: add probes for /proc/ eBPF parameters (Yauheni Kaliuta) [1700846] - [tools] tools: bpftool: add basic probe capability, probe syscall availability (Yauheni Kaliuta) [1700846] - [tools] tools/bpf: print out btf log at LIBBPF_WARN level (Yauheni Kaliuta) [1700846] - [tools] tools/bpf: move libbpf pr_* debug print functions to headers (Yauheni Kaliuta) [1700846] - [net] net: tls: Fix deadlock in free_resources tx (Yauheni Kaliuta) [1700846] - [net] net: tls: Save iv in tls_rec for async crypto requests (Yauheni Kaliuta) [1700846] - [tools] bpf: pull in pkt_sched.h header for tooling to fix bpftool build (Yauheni Kaliuta) [1700846] - [net] net: bpfilter: change section name of bpfilter UMH blob (Yauheni Kaliuta) [1700846] - [netdrv] tap: call skb_probe_transport_header after setting skb->dev (Yauheni Kaliuta) [1700846] - [net] Prevent overflow of sk_msg in sk_msg_clone() (Yauheni Kaliuta) [1700846] - [net] tls: Do not call sk_memcopy_from_iter with zero length (Yauheni Kaliuta) [1700846] - [net] net: ipv4: Set skb->dev for output route resolution (Yauheni Kaliuta) [1700846] - [net] bpf: refactor bpf_test_run() to separate own failures and test program result (Yauheni Kaliuta) [1700846] - [include] bpf: fix pointer offsets in context for 32 bit (Yauheni Kaliuta) [1700846] - [tools] tools/bpftool: copy a few net uapi headers to tools directory (Yauheni Kaliuta) [1700846] - [net] bpf: tcp_bpf_recvmsg should return EAGAIN when nonblocking and no data (Yauheni Kaliuta) [1700846] - [net] bpf: skmsg, fix psock create on existing kcm/tls port (Yauheni Kaliuta) [1700846] - [net] tcp, ulp: remove socket lock assertion on ULP cleanup (Yauheni Kaliuta) [1700846] - [lib] bpf: test_bpf: add init_net to dev for flow_dissector (Yauheni Kaliuta) [1700846] - [net] flow_dissector: lookup netns by skb->sk if skb->dev is NULL (Yauheni Kaliuta) [1700846] - [net] tls: Fixed uninitialised vars warning (Yauheni Kaliuta) [1700846] - [include] cgroup: Simplify cgroup_ancestor (Yauheni Kaliuta) [1700846] - [netdrv] veth: Orphan skb before GRO (Yauheni Kaliuta) [1700846] - [net] net/core/filter: fix unused-variable warning (Yauheni Kaliuta) [1700846] - [net] bpf: fix build error with clang (Yauheni Kaliuta) [1700846] - [netdrv] veth: Free queues on link delete (Yauheni Kaliuta) [1700846] - [net] bpf: fix sanitation rewrite in case of non-pointers (Yauheni Kaliuta) [1700846] - [net] bpf: drop refcount if bpf_map_new_fd() fails in map_create() (Yauheni Kaliuta) [1700846] - [net] bpf: decrease usercnt if bpf_map_new_fd() fails in bpf_map_get_fd_by_id() (Yauheni Kaliuta) [1700846] - [net] bpf, lpm: fix lookup bug in map_delete_elem (Yauheni Kaliuta) [1700846] - [net] bpf: fix lockdep false positive in stackmap (Yauheni Kaliuta) [1700846] - [net] bpf: Fix narrow load on a bpf_sock returned from sk_lookup() (Yauheni Kaliuta) [1700846] - [net] bpf: Fix syscall's stackmap lookup potential deadlock (Yauheni Kaliuta) [1700846] - [kernel] bpf: fix potential deadlock in bpf_prog_register (Yauheni Kaliuta) [1700846] - [net] bpf: fix lockdep false positive in percpu_freelist (Yauheni Kaliuta) [1700846] - [net] bpf: run bpf programs with preemption disabled (Yauheni Kaliuta) [1700846] - [tools] bpf, selftests: fix handling of sparse CPU allocations (Yauheni Kaliuta) [1700846] - [tools] tools/bpf: fix test_btf for typedef func_proto case (Yauheni Kaliuta) [1700846] - [net] bpf: btf: allow typedef func_proto (Yauheni Kaliuta) [1700846] - [tools] tools: bpftool: fix crash with un-owned prog arrays (Yauheni Kaliuta) [1700846] - [tools] bpftool: fix percpu maps updating (Yauheni Kaliuta) [1700846] - [tools] tools: bpftool: Cleanup license mess (Yauheni Kaliuta) [1700846] - [net] bpf: Annotate implicit fall through in cgroup_dev_func_proto (Yauheni Kaliuta) [1700846] - [net] bpf: Make function btf_name_offset_valid static (Yauheni Kaliuta) [1700846] - [tools] selftests/bpf: retry tests that expect build-id (Yauheni Kaliuta) [1700846] - [net] bpf: zero out build_id for BPF_STACK_BUILD_ID_IP (Yauheni Kaliuta) [1700846] - [net] bpf: don't assume build-id length is always 20 bytes (Yauheni Kaliuta) [1700846] - [tools] tools/bpf: properly account for libbfd variations (Yauheni Kaliuta) [1700846] - [tools] bpf: libbpf: retry loading program on EAGAIN (Yauheni Kaliuta) [1700846] - [samples] samples/bpf: workaround clang asm goto compilation errors (Yauheni Kaliuta) [1700846] - [tools] selftests/bpf: install with_tunnels.sh for test_flow_dissector.sh (Yauheni Kaliuta) [1700846] - [net] net: bpfilter: disallow to remove bpfilter module while being used (Yauheni Kaliuta) [1700846] - [net] net: bpfilter: Fix type cast and pointer warnings (Yauheni Kaliuta) [1700846] - [net] net: bpfilter: restart bpfilter_umh when error occurred (Yauheni Kaliuta) [1700846] - [net] net: bpfilter: use cleanup callback to release umh_info (Yauheni Kaliuta) [1700846] - [kernel] umh: add exit routine for UMH process (Yauheni Kaliuta) [1700846] - [net] net: bpfilter: Set user mode helper's command line (Yauheni Kaliuta) [1700846] - [kernel] umh: Add command line to user mode helpers (Yauheni Kaliuta) [1700846] - [net] net: bpfilter: use get_pid_task instead of pid_task (Yauheni Kaliuta) [1700846] - [tools] tools/bpf: fix bpftool map dump with bitfields (Yauheni Kaliuta) [1700846] - [tools] tools/bpf: test btf bitfield with >=256 struct member offset (Yauheni Kaliuta) [1700846] - [net] bpf: fix bpffs bitfield pretty print (Yauheni Kaliuta) [1700846] - [net] bpf: fix panic in stack_map_get_build_id() on i386 and arm32 (Yauheni Kaliuta) [1700846] - [tools] selftests: bpf: install files tcp_(server|client)*.py (Yauheni Kaliuta) [1700846] - [samples] samples: bpf: user proper argument index (Yauheni Kaliuta) [1700846] - [tools] selftests/bpf: add missing executables to .gitignore (Yauheni Kaliuta) [1700846] - [tools] bpf, doc: add note for libbpf's stand-alone build (Yauheni Kaliuta) [1700846] - [documentation] bpf, doc: update design qa to reflect kern_version requirement (Yauheni Kaliuta) [1700846] - [tools] selftests/bpf: fix incorrect users of create_and_get_cgroup (Yauheni Kaliuta) [1700846] - [tools] bpf: add various test cases for alu op on mixed dst register types (Yauheni Kaliuta) [1700846] - [tools] selftests/bpf: Test [::] -> [::1] rewrite in sys_sendmsg in test_sock_addr (Yauheni Kaliuta) [1700846] - [net] bpf: Fix [::] -> [::1] rewrite in sys_sendmsg (Yauheni Kaliuta) [1700846] - [tools] bpf: add various test cases to selftests (Yauheni Kaliuta) [1700846] - [net] bpf: fix check_map_access smin_value test when pointer contains offset (Yauheni Kaliuta) [1700846] - [net] bpf: restrict stack pointer arithmetic for unprivileged (Yauheni Kaliuta) [1700846] - [net] bpf: restrict map value pointer arithmetic for unprivileged (Yauheni Kaliuta) [1700846] - [net] bpf: enable access to ax register also from verifier rewrite (Yauheni Kaliuta) [1700846] - [net] bpf: move tmp variable into ax register in interpreter (Yauheni Kaliuta) [1700846] - [tools] selftests/bpf: fix error printing in test_devmap() (Yauheni Kaliuta) [1700846] - [tools] bpf: fix segfault in test_verifier selftest (Yauheni Kaliuta) [1700846] - [net] bpf: tls_sw, init TLS ULP removes BPF proto hooks (Yauheni Kaliuta) [1700846] - [net] bpf: sk_msg, sock{map|hash} redirect through ULP (Yauheni Kaliuta) [1700846] - [net] bpf: sk_msg, zap ingress queue on psock down (Yauheni Kaliuta) [1700846] - [net] bpf: sk_msg, fix socket data_ready events (Yauheni Kaliuta) [1700846] - [net] bpf: skb_verdict, support SK_PASS on RX BPF path (Yauheni Kaliuta) [1700846] - [net] bpf: skmsg, replace comments with BUILD bug (Yauheni Kaliuta) [1700846] - [net] bpf: sk_msg, improve offset chk in _is_valid_access (Yauheni Kaliuta) [1700846] - [tools] bpf: sk_msg, fix sk_msg_md access past end test (Yauheni Kaliuta) [1700846] - [net] bpf/cpumap: make sure frame_size for build_skb is aligned if headroom isn't (Yauheni Kaliuta) [1700846] - [tools] selftests: bpf: add missing executables to .gitignore (Yauheni Kaliuta) [1700846] - [net] bpf: verifier: reorder stack size check with dead code sanitization (Yauheni Kaliuta) [1700846] - [tools] selftests: bpf: verifier: add tests for JSET interpretation (Yauheni Kaliuta) [1700846] - [net] bpf: verifier: teach the verifier to reason about the BPF_JSET instruction (Yauheni Kaliuta) [1700846] - [tools] selftests: bpf: add trivial JSET tests (Yauheni Kaliuta) [1700846] - [tools] bpf: Add BPF_LD_IMM64 to the line_info test (Yauheni Kaliuta) [1700846] - [net] bpf: Ensure line_info.insn_off cannot point to insn with zero code (Yauheni Kaliuta) [1700846] - [tools] tools: bpftool: do not force gcc as CC (Yauheni Kaliuta) [1700846] - [tools] bpf: fix up uapi helper description and sync bpf header with tools (Yauheni Kaliuta) [1700846] - [net] bpf: log struct/union attribute for forward type (Yauheni Kaliuta) [1700846] - [tools] bpf: sk_msg, add tests for size field (Yauheni Kaliuta) [1700846] - [tools] bpf: add tools lib/include support sk_msg_md size field (Yauheni Kaliuta) [1700846] - [include] bpf: sockmap, metadata support for reporting size of msg (Yauheni Kaliuta) [1700846] - [net] bpf: correct slot_type marking logic to allow more stack slot sharing (Yauheni Kaliuta) [1700846] - [kernel] bpf: support raw tracepoints in modules (Yauheni Kaliuta) [1700846] - [tools] tools: bpftool: add an option to prevent auto-mount of bpffs, tracefs (Yauheni Kaliuta) [1700846] - [tools] tools: bpftool: attempt to mount tracefs if required for tracelog cmd (Yauheni Kaliuta) [1700846] - [tools] tools/bpf: check precise {func, line, jited_line}_info_rec_size in test_btf (Yauheni Kaliuta) [1700846] - [tools] bpf: libbpf: fix memleak by freeing line_info (Yauheni Kaliuta) [1700846] - [tools] tools: bpftool: support pretty print with kind_flag set (Yauheni Kaliuta) [1700846] - [tools] tools: bpftool: refactor btf_dumper_int_bits() (Yauheni Kaliuta) [1700846] - [tools] tools/bpf: test kernel bpffs map pretty print with struct kind_flag (Yauheni Kaliuta) [1700846] - [tools] tools/bpf: add test_btf unit tests for kind_flag (Yauheni Kaliuta) [1700846] - [tools] tools/bpf: sync btf.h header from kernel to tools (Yauheni Kaliuta) [1700846] - [net] bpf: enable cgroup local storage map pretty print with kind_flag (Yauheni Kaliuta) [1700846] - [net] bpf: btf: fix struct/union/fwd types with kind_flag (Yauheni Kaliuta) [1700846] - [net] bpf: btf: refactor btf_int_bits_seq_show() (Yauheni Kaliuta) [1700846] - [net] bpf: remove useless version check for prog load (Yauheni Kaliuta) [1700846] - [tools] tools: bpftool: fix -Wmissing declaration warnings (Yauheni Kaliuta) [1700846] - [tools] tools: bpftool: fix warning on struct bpf_prog_linfo definition (Yauheni Kaliuta) [1700846] - [tools] tools: bpftool: add a prog array map update example to documentation (Yauheni Kaliuta) [1700846] - [tools] tools: bpftool: fix examples in documentation for bpftool prog (Yauheni Kaliuta) [1700846] - [tools] tools: bpftool: add doc for -m option to bpftool-prog.rst (Yauheni Kaliuta) [1700846] - [net] bpf: add self-check logic to liveness analysis (Yauheni Kaliuta) [1700846] - [net] bpf: improve stacksafe state comparison (Yauheni Kaliuta) [1700846] - [tools] selftests/bpf: check insn processed in test_verifier (Yauheni Kaliuta) [1700846] - [net] bpf: speed up stacksafe check (Yauheni Kaliuta) [1700846] - [net] bpf: verbose log bpf_line_info in verifier (Yauheni Kaliuta) [1700846] - [net] bpf: Create a new btf_name_by_offset() for non type name use case (Yauheni Kaliuta) [1700846] - [tools] selftests/bpf: Fix sk lookup usage in test_sock_addr (Yauheni Kaliuta) [1700846] - [net] bpf: remove obsolete prog->aux sanitation in bpf_insn_prepare_dump (Yauheni Kaliuta) [1700846] - [net] bpf: verifier: make sure callees don't prune with caller differences (Yauheni Kaliuta) [1700846] - [tools] bpf: sync tools/include/uapi/linux/bpf.h (Yauheni Kaliuta) [1700846] - [net] bpf: include sub program tags in bpf_prog_info (Yauheni Kaliuta) [1700846] - [tools] bpf: Remove !func_info and !line_info check from test_btf and bpftool (Yauheni Kaliuta) [1700846] - [net] bpf: Remove bpf_dump_raw_ok() check for func_info and line_info (Yauheni Kaliuta) [1700846] - [tools] tools: bpftool: dual license all files (Yauheni Kaliuta) [1700846] - [tools] tools: bpftool: replace Netronome boilerplate with SPDX license headers (Yauheni Kaliuta) [1700846] - [tools] tools: bpftool: fix SPDX format in headers (Yauheni Kaliuta) [1700846] - [tools] selftests/bpf: add btf annotations for cgroup_local_storage maps (Yauheni Kaliuta) [1700846] - [net] bpf: add bpffs pretty print for cgroup local storage maps (Yauheni Kaliuta) [1700846] - [net] bpf: pass struct btf pointer to the map_check_btf() callback (Yauheni Kaliuta) [1700846] - [tools] selftests/bpf: use __bpf_constant_htons in test_prog.c (Yauheni Kaliuta) [1700846] - [net] bpf: fix bpf_jit_limit knob for PAGE_SIZE >= 64K (Yauheni Kaliuta) [1700846] - [arm64] bpf: arm64: Enable arm64 jit to provide bpf_line_info (Yauheni Kaliuta) [1700846] - [tools] selftests/bpf: use proper type when passing prog_type (Yauheni Kaliuta) [1700846] - [tools] tools/bpf: rename *_info_cnt to nr_*_info (Yauheni Kaliuta) [1700846] - [tools] tools/bpf: sync kernel uapi bpf.h to tools directory (Yauheni Kaliuta) [1700846] - [net] bpf: rename *_info_cnt to nr_*_info in bpf_prog_info (Yauheni Kaliuta) [1700846] - [net] bpf: clean up bpf_prog_get_info_by_fd() (Yauheni Kaliuta) [1700846] - [tools] bpf: bpftool: Fix newline and p_err issue (Yauheni Kaliuta) [1700846] - [tools] selftests/bpf: add missing pointer dereference for map stacktrace fixup (Yauheni Kaliuta) [1700846] - [net] bpf: relax verifier restriction on BPF_MOV | BPF_ALU (Yauheni Kaliuta) [1700846] - [tools] media: bpf: add bpf function to report mouse movement (Yauheni Kaliuta) [1700846] - [include] bpf: fix documentation for eBPF helpers (Yauheni Kaliuta) [1700846] - [tools] bpf: libbpf: bpftool: Print bpf_line_info during prog dump (Yauheni Kaliuta) [1700846] - [tools] bpf: libbpf: Add btf_line_info support to libbpf (Yauheni Kaliuta) [1700846] - [tools] bpf: libbpf: Refactor and bug fix on the bpf_func_info loading logic (Yauheni Kaliuta) [1700846] - [tools] bpf: Add unit tests for bpf_line_info (Yauheni Kaliuta) [1700846] - [tools] bpf: Refactor and bug fix in test_func_type in test_btf.c (Yauheni Kaliuta) [1700846] - [tools] bpf: tools: Sync uapi bpf.h (Yauheni Kaliuta) [1700846] - [include] bpf: Add bpf_line_info support (Yauheni Kaliuta) [1700846] - [net] net/flow_dissector: correctly cap nhoff and thoff in case of BPF (Yauheni Kaliuta) [1700846] - [net] selftests/bpf: use thoff instead of nhoff in BPF flow dissector (Yauheni Kaliuta) [1700846] - [tools] selftests: bpf: update testcases for BPF_ALU | BPF_ARSH (Yauheni Kaliuta) [1700846] - [net] bpf: verifier remove the rejection on BPF_ALU | BPF_ARSH (Yauheni Kaliuta) [1700846] - [net] bpf: interpreter support BPF_ALU | BPF_ARSH (Yauheni Kaliuta) [1700846] - [s390] s390: bpf: implement jitting of BPF_ALU | BPF_ARSH | BPF_* (Yauheni Kaliuta) [1700846] - [powerpc] ppc: bpf: implement jitting of BPF_ALU | BPF_ARSH | BPF_* (Yauheni Kaliuta) [1700846] - [tools] bpf: Expect !info.func_info and insn_off name changes in test_btf/libbpf/bpftool (Yauheni Kaliuta) [1700846] - [tools] bpf: tools: Sync uapi bpf.h for the name changes in bpf_func_info (Yauheni Kaliuta) [1700846] - [net] bpf: Change insn_offset to insn_off in bpf_func_info (Yauheni Kaliuta) [1700846] - [net] bpf: Improve the info.func_info and info.func_info_rec_size behavior (Yauheni Kaliuta) [1700846] - [tools] tools: bpftool: add a command to dump the trace pipe (Yauheni Kaliuta) [1700846] - [arm64] arm64/bpf: don't allocate BPF JIT programs in module memory (Yauheni Kaliuta) [1700846] - [net] bpf: add __weak hook for allocating executable memory (Yauheni Kaliuta) [1700846] - [net] bpf: add per-insn complexity limit (Yauheni Kaliuta) [1700846] - [net] bpf: improve verifier branch analysis (Yauheni Kaliuta) [1700846] - [net] bpf: check pending signals while verifying programs (Yauheni Kaliuta) [1700846] - [tools] selftests: add a test for bpf_prog_test_run_xattr (Yauheni Kaliuta) [1700846] - [tools] libbpf: add bpf_prog_test_run_xattr (Yauheni Kaliuta) [1700846] - [tools] tools: sync uapi/linux/bpf.h (Yauheni Kaliuta) [1700846] - [net] bpf: respect size hint to BPF_PROG_TEST_RUN if present (Yauheni Kaliuta) [1700846] - [samples] samples: bpf: fix: seg fault with NULL pointer arg (Yauheni Kaliuta) [1700846] - [powerpc] bpf: powerpc64: optimize JIT passes for bpf function calls (Yauheni Kaliuta) [1700846] - [tools] bpf: allow BPF read access to qdisc pkt_len (Yauheni Kaliuta) [1700846] - [tools] libbpf: Fix license in README.rst (Yauheni Kaliuta) [1700846] - [net] bpf: Fix memleak in aux->func_info and aux->btf (Yauheni Kaliuta) [1700846] - [samples] samples: bpf: get ifindex from ifname (Yauheni Kaliuta) [1700846] - [samples] samples: bpf: improve xdp1 example (Yauheni Kaliuta) [1700846] - [tools] bpf: Apply F_NEEDS_EFFICIENT_UNALIGNED_ACCESS to more ACCEPT test cases (Yauheni Kaliuta) [1700846] - [tools] bpf: Make more use of 'any' alignment in test_verifier.c (Yauheni Kaliuta) [1700846] - [tools] bpf: Adjust F_NEEDS_EFFICIENT_UNALIGNED_ACCESS handling in test_verifier.c (Yauheni Kaliuta) [1700846] - [tools] bpf: Add BPF_F_ANY_ALIGNMENT (Yauheni Kaliuta) [1700846] - [tools] bpf: Improve socket lookup reuseport documentation (Yauheni Kaliuta) [1700846] - [tools] bpf: Support sk lookup in netns with id 0 (Yauheni Kaliuta) [1700846] - [tools] bpf: Fix verifier log string check for bad alignment (Yauheni Kaliuta) [1700846] - [tools] tools: bpftool: add owner_prog_type and owner_jited to bpftool output (Yauheni Kaliuta) [1700846] - [tools] tools: bpftool: mark offloaded programs more explicitly in plain output (Yauheni Kaliuta) [1700846] - [tools] tools: bpftool: fix bash completion for new map types (queue and stack) (Yauheni Kaliuta) [1700846] - [tools] tools: bpftool: fix bash completion for bpftool prog (attach|detach) (Yauheni Kaliuta) [1700846] - [tools] tools: bpftool: use "/proc/self/" i.o. crafting links with getpid() (Yauheni Kaliuta) [1700846] - [arm64] arm64/bpf: use movn/movk/movk sequence to generate kernel addresses (Yauheni Kaliuta) [1700846] - [tools] tools/bpf: make libbpf _GNU_SOURCE friendly (Yauheni Kaliuta) [1700846] - [tools] tools: bpftool: fix a bitfield pretty print issue (Yauheni Kaliuta) [1700846] - [tools] bpf: Fix various lib and testsuite build failures on 32-bit (Yauheni Kaliuta) [1700846] - [tools] tools/bpf: add addition type tests to test_btf (Yauheni Kaliuta) [1700846] - [tools] tools/bpf: fix two test_btf unit test cases (Yauheni Kaliuta) [1700846] - [net] bpf: btf: check name validity for various types (Yauheni Kaliuta) [1700846] - [tools] selftests/bpf: add config fragment CONFIG_FTRACE_SYSCALLS (Yauheni Kaliuta) [1700846] - [tools] bpf: test_sockmap, add options for msg_pop_data() helper (Yauheni Kaliuta) [1700846] - [tools] bpf: add msg_pop_data helper to tools (Yauheni Kaliuta) [1700846] - [tools] libbpf: Document API and ABI conventions (Yauheni Kaliuta) [1700846] - [tools] libbpf: Verify versioned symbols (Yauheni Kaliuta) [1700846] - [tools] libbpf: Add version script for DSO (Yauheni Kaliuta) [1700846] - [tools] libbpf: Name changing for btf_get_from_id (Yauheni Kaliuta) [1700846] - [tools] tools/bpf: change selftest test_btf for both jit and non-jit (Yauheni Kaliuta) [1700846] - [net] bpf: btf: support proper non-jit func info (Yauheni Kaliuta) [1700846] - [arm64] bpf, arm64: fix getting subprog addr from aux for calls (Yauheni Kaliuta) [1700846] - [net] bpf, ppc64: generalize fetching subprog into bpf_jit_get_func_addr (Yauheni Kaliuta) [1700846] - [tools] bpf: align map type names formatting (Yauheni Kaliuta) [1700846] - [net] bpf: btf: fix spelling mistake "Memmber" -> "Member" (Yauheni Kaliuta) [1700846] - [net] bpf, tags: Fix DEFINE_PER_CPU expansion (Yauheni Kaliuta) [1700846] - [tools] bpf: Add BPF_MAP_TYPE_QUEUE and BPF_MAP_TYPE_STACK to bpftool-map (Yauheni Kaliuta) [1700846] - [samples] samples: bpf: fix: error handling regarding kprobe_events (Yauheni Kaliuta) [1700846] - [tools] libbpf: make bpf_object__open default to UNSPEC (Yauheni Kaliuta) [1700846] - [tools] bpf: add skb->tstamp r/w access from tc clsact and cg skb progs (Yauheni Kaliuta) [1700846] - [net] bpf: fix integer overflow in queue_stack_map (Yauheni Kaliuta) [1700846] - [tools] tools/bpf: fix spelling mistake "memeory" -> "memory" (Yauheni Kaliuta) [1700846] - [net] bpf, lpm: make longest_prefix_match() faster (Yauheni Kaliuta) [1700846] - [tools] bpf: adding tests for map_in_map helpber in libbpf (Yauheni Kaliuta) [1700846] - [tools] bpf: adding support for map in map in libbpf (Yauheni Kaliuta) [1700846] - [tools] bpf: libbpf: don't specify prog name if kernel doesn't support it (Yauheni Kaliuta) [1700846] - [tools] bpf: libbpf: remove map name retry from bpf_create_map_xattr (Yauheni Kaliuta) [1700846] - [tools] bpf, libbpf: introduce bpf_object__probe_caps to test BPF capabilities (Yauheni Kaliuta) [1700846] - [tools] libbpf: make sure bpf headers are c++ include-able (Yauheni Kaliuta) [1700846] - [tools] bpf: fix a libbpf loader issue (Yauheni Kaliuta) [1700846] - [include] bpf: fix a compilation error when CONFIG_BPF_SYSCALL is not defined (Yauheni Kaliuta) [1700846] - [tools] tools/bpf: bpftool: add support for func types (Yauheni Kaliuta) [1700846] - [tools] tools/bpf: enhance test_btf file testing to test func info (Yauheni Kaliuta) [1700846] - [tools] tools/bpf: refactor to implement btf_get_from_id() in lib/bpf (Yauheni Kaliuta) [1700846] - [samples] tools/bpf: do not use pahole if clang/llvm can generate BTF sections (Yauheni Kaliuta) [1700846] - [tools] tools/bpf: add support to read .BTF.ext sections (Yauheni Kaliuta) [1700846] - [tools] tools/bpf: extends test_btf to test load/retrieve func_type info (Yauheni Kaliuta) [1700846] - [tools] tools/bpf: add new fields for program load in lib/bpf (Yauheni Kaliuta) [1700846] - [tools] tools/bpf: sync kernel uapi bpf.h header to tools directory (Yauheni Kaliuta) [1700846] - [net] bpf: Introduce bpf_func_info (Yauheni Kaliuta) [1700846] - [tools] tools/bpf: Add tests for BTF_KIND_FUNC_PROTO and BTF_KIND_FUNC (Yauheni Kaliuta) [1700846] - [tools] tools/bpf: Sync kernel btf.h header (Yauheni Kaliuta) [1700846] - [net] bpf: btf: Add BTF_KIND_FUNC and BTF_KIND_FUNC_PROTO (Yauheni Kaliuta) [1700846] - [net] bpf: btf: Break up btf_type_is_void() (Yauheni Kaliuta) [1700846] - [tools] tools: add selftest for BPF_F_ZERO_SEED (Yauheni Kaliuta) [1700846] - [tools] tools: sync linux/bpf.h (Yauheni Kaliuta) [1700846] - [include] bpf: move BPF_F_QUERY_EFFECTIVE after map flags (Yauheni Kaliuta) [1700846] - [net] bpf: allow zero-initializing hash map seed (Yauheni Kaliuta) [1700846] - [tools] bpf: libbpf: retry map creation without the name (Yauheni Kaliuta) [1700846] - [net] bpf: allocate local storage buffers using GFP_ATOMIC (Yauheni Kaliuta) [1700846] - [net] bpf: fix off-by-one error in adjust_subprog_starts (Yauheni Kaliuta) [1700846] - [net] bpf: fix null pointer dereference on pointer offload (Yauheni Kaliuta) [1700846] - [tools] bpftool: make libbfd optional (Yauheni Kaliuta) [1700846] - [net] net/bpf: split VLAN_PRESENT bit handling from VLAN_TCI (Yauheni Kaliuta) [1700846] - [powerpc] net/bpf_jit: PPC: split VLAN_PRESENT bit handling from VLAN_TCI (Yauheni Kaliuta) [1700846] - [net] net/skbuff: add macros for VLAN_PRESENT bit (Yauheni Kaliuta) [1700846] - [tools] selftest/bpf: Use bpf_sk_lookup_{tcp, udp} in test_sock_addr (Yauheni Kaliuta) [1700846] - [net] bpf: Support socket lookup in CGROUP_SOCK_ADDR progs (Yauheni Kaliuta) [1700846] - [net] bpf: Fix IPv6 dport byte order in bpf_sk_lookup_udp (Yauheni Kaliuta) [1700846] - [net] bpf: Extend the sk_lookup() helper to XDP hookpoint (Yauheni Kaliuta) [1700846] - [net] bpf: helper to pop data from messages (Yauheni Kaliuta) [1700846] - [net] bpf: fix wrong helper enablement in cgroup local storage (Yauheni Kaliuta) [1700846] - [include] bpf: sk_msg program helper bpf_msg_push_data (Yauheni Kaliuta) [1700846] - [net] bpf: Fix IPv6 dport byte-order in bpf_sk_lookup (Yauheni Kaliuta) [1700846] - [net] bpf: Allow sk_lookup with IPv6 module (Yauheni Kaliuta) [1700846] - [net] net: core: Fix build with CONFIG_IPV6=m (Yauheni Kaliuta) [1700846] - [net] bpf: Fix dev pointer dereference from sk_skb (Yauheni Kaliuta) [1700846] - [net] bpf: fix building without CONFIG_INET (Yauheni Kaliuta) [1700846] - [tools] bpf: libbpf: Fix bpf_program__next() API (Yauheni Kaliuta) [1700846] - [tools] selftests/bpf: Fix uninitialized duration warning (Yauheni Kaliuta) [1700846] - [tools] selftests/bpf: Test narrow loads with off > 0 for bpf_sock_addr (Yauheni Kaliuta) [1700846] - [tools] selftests/bpf: Test narrow loads with off > 0 in test_verifier (Yauheni Kaliuta) [1700846] - [net] bpf: Allow narrow loads with offset > 0 (Yauheni Kaliuta) [1700846] - [tools] bpftool: support loading flow dissector (Yauheni Kaliuta) [1700846] - [tools] bpftool: add pinmaps argument to the load/loadall (Yauheni Kaliuta) [1700846] - [tools] bpftool: add loadall command (Yauheni Kaliuta) [1700846] - [tools] libbpf: add internal pin_name (Yauheni Kaliuta) [1700846] - [tools] libbpf: bpf_program__pin: add special case for instances.nr == 1 (Yauheni Kaliuta) [1700846] - [tools] libbpf: cleanup after partial failure in bpf_object__pin (Yauheni Kaliuta) [1700846] - [tools] selftests/bpf: rename flow dissector section to flow_dissector (Yauheni Kaliuta) [1700846] - [netdrv] bpf: do not pass netdev to translate() and prepare() offload callbacks (Yauheni Kaliuta) [1700846] - [net] bpf: pass prog instead of env to bpf_prog_offload_verifier_prep() (Yauheni Kaliuta) [1700846] - [netdrv] bpf: pass destroy() as a callback and remove its ndo_bpf subcommand (Yauheni Kaliuta) [1700846] - [include] bpf: pass translate() as a callback and remove its ndo_bpf subcommand (Yauheni Kaliuta) [1700846] - [netdrv] bpf: call verifier_prep from its callback in struct bpf_offload_dev (Yauheni Kaliuta) [1700846] - [net] bpf: call finalize() from its callback in struct bpf_offload_dev (Yauheni Kaliuta) [1700846] - [net] bpf: call verify_insn from its callback in struct bpf_offload_dev (Yauheni Kaliuta) [1700846] - [netdrv] bpf: pass a struct with offload callbacks to bpf_offload_dev_create() (Yauheni Kaliuta) [1700846] - [tools] kselftests/bpf: use ping6 as the default ipv6 ping binary when it exists (Yauheni Kaliuta) [1700846] - [tools] bpftool: Improve handling of ENOENT on map dumps (Yauheni Kaliuta) [1700846] - [tools] selftests/bpf: add a test case for sock_ops perf-event notification (Yauheni Kaliuta) [1700846] - [net] bpf: add perf event notificaton support for sock_ops (Yauheni Kaliuta) [1700846] - [net] bpf: let verifier to calculate and record max_pkt_offset (Yauheni Kaliuta) [1700846] - [tools] tools: bpftool: update references to other man pages in documentation (Yauheni Kaliuta) [1700846] - [tools] tools: bpftool: pass an argument to silence open_obj_pinned() (Yauheni Kaliuta) [1700846] - [tools] tools: bpftool: fix plain output and doc for --bpffs option (Yauheni Kaliuta) [1700846] - [tools] tools: bpftool: prevent infinite loop in get_fdinfo() (Yauheni Kaliuta) [1700846] - [samples] bpf_load: add map name to load_maps error message (Yauheni Kaliuta) [1700846] - [tools] tools: bpftool: adjust rlimit RLIMIT_MEMLOCK when loading programs, maps (Yauheni Kaliuta) [1700846] - [tools] selftests/bpf: enable (uncomment) all tests in test_libbpf.sh (Yauheni Kaliuta) [1700846] - [net] bpf: fix bpf_prog_get_info_by_fd to return 0 func_lens for unpriv (Yauheni Kaliuta) [1700846] - [net] bpf: show main program address and length in bpf_prog_info (Yauheni Kaliuta) [1700846] - [net] bpf: show real jited address in bpf_prog_info->jited_ksyms (Yauheni Kaliuta) [1700846] - [net] bpf: show real jited prog address in /proc/kallsyms (Yauheni Kaliuta) [1700846] - [tools] bpf: test make sure to run unpriv test cases in test_verifier (Yauheni Kaliuta) [1700846] - [tools] bpf: add various test cases to test_verifier (Yauheni Kaliuta) [1700846] - [net] bpf: don't set id on after map lookup with ptr_to_map_val return (Yauheni Kaliuta) [1700846] - [tools] libbpf: Fix compile error in libbpf_attach_type_by_name (Yauheni Kaliuta) [1700846] - [tools] kselftests/bpf: use ping6 as the default ipv6 ping binary if it exists (Yauheni Kaliuta) [1700846] - [tools] tools/bpf: add unlimited rlimit for flow_dissector_load (Yauheni Kaliuta) [1700846] - [net] bpf: add bpf_jit_limit knob to restrict unpriv allocations (Yauheni Kaliuta) [1700846] - [net] bpf: make direct packet write unclone more robust (Yauheni Kaliuta) [1700846] - [net] bpf: fix leaking uninitialized memory on pop/peek helpers (Yauheni Kaliuta) [1700846] - [net] bpf: fix direct packet write into pop/peek helpers (Yauheni Kaliuta) [1700846] - [net] bpf: fix cg_skb types to hint access type in may_access_direct_pkt_data (Yauheni Kaliuta) [1700846] - [net] bpf: fix direct packet access for flow dissector progs (Yauheni Kaliuta) [1700846] - [net] bpf: disallow direct packet access for unpriv in cg_skb (Yauheni Kaliuta) [1700846] - [tools] bpf: fix test suite to enable all unpriv program types (Yauheni Kaliuta) [1700846] - [net] bpf, btf: fix a missing check bug in btf_parse (Yauheni Kaliuta) [1700846] - [tools] selftests/bpf: add config fragments BPF_STREAM_PARSER and XDP_SOCKETS (Yauheni Kaliuta) [1700846] - [net] bpf: devmap: fix wrong interface selection in notifier_call (Yauheni Kaliuta) [1700846] - [tools] tools: bpftool: fix completion for "bpftool map update" (Yauheni Kaliuta) [1700846] - [tools] tools: bpftool: print nb of cmds to stdout (not stderr) for batch mode (Yauheni Kaliuta) [1700846] - [tools] tools: bpftool: document restriction on '.' in names to pin in bpffs (Yauheni Kaliuta) [1700846] - [tools] selftests/bpf: fix return value comparison for tests in test_libbpf.sh (Yauheni Kaliuta) [1700846] - [tools] bpf, libbpf: simplify and cleanup perf ring buffer walk (Yauheni Kaliuta) [1700846] - [net] bpf, verifier: avoid retpoline for map push/pop/peek operation (Yauheni Kaliuta) [1700846] - [net] bpf, verifier: remove unneeded flow key in check_helper_mem_access (Yauheni Kaliuta) [1700846] - [net] bpf, verifier: reject xadd on flow key memory (Yauheni Kaliuta) [1700846] - [net] bpf, verifier: fix register type dump in xadd and st (Yauheni Kaliuta) [1700846] - [net] ulp: remove uid and user_visible members (Yauheni Kaliuta) [1700846] - [tools] bpf: test_sockmap add options to use msg_push_data (Yauheni Kaliuta) [1700846] - [tools] bpf: libbpf support for msg_push_data (Yauheni Kaliuta) [1700846] - [tools] Sync uapi/bpf.h to tools/include (Yauheni Kaliuta) [1700846] - [net] bpf: add tests for direct packet access from CGROUP_SKB (Yauheni Kaliuta) [1700846] - [net] bpf: add cg_skb_is_valid_access for BPF_PROG_TYPE_CGROUP_SKB (Yauheni Kaliuta) [1700846] - [tools] bpf, libbpf: use correct barriers in perf ring buffer walk (Yauheni Kaliuta) [1700846] - [tools] tools, perf: add and use optimized ring_buffer_{read_head, write_tail} helpers (Yauheni Kaliuta) [1700846] - [tools] selftests/bpf: add missing executables to .gitignore (Yauheni Kaliuta) [1700846] - [tools] selftests/bpf: add test cases for queue and stack maps (Yauheni Kaliuta) [1700846] - [net] bpf: add MAP_LOOKUP_AND_DELETE_ELEM syscall (Yauheni Kaliuta) [1700846] - [net] bpf: add queue and stack maps (Yauheni Kaliuta) [1700846] - [net] bpf/verifier: add ARG_PTR_TO_UNINIT_MAP_VALUE (Yauheni Kaliuta) [1700846] - [net] bpf/syscall: allow key to be null in map functions (Yauheni Kaliuta) [1700846] - [net] bpf: rename stack trace map operations (Yauheni Kaliuta) [1700846] - [tools] tools: bpftool: use 4 context mode for the NFP disasm (Yauheni Kaliuta) [1700846] - [tools] selftests/bpf: fix file resource leak in load_kallsyms (Yauheni Kaliuta) [1700846] - [tools] bpf: sockmap, add msg_peek tests to test_sockmap (Yauheni Kaliuta) [1700846] - [net] bpf: sockmap, support for msg_peek in sk_msg with redirect ingress (Yauheni Kaliuta) [1700846] - [net] bpf: sockmap, fix skmsg recvmsg handler to track size correctly (Yauheni Kaliuta) [1700846] - [include] bpf: skmsg, improve sk_msg_used_element to work in cork context (Yauheni Kaliuta) [1700846] - [tools] libbpf: Per-symbol visibility for DSO (Yauheni Kaliuta) [1700846] - [tools] bpf, tls: add tls header to tools infrastructure (Yauheni Kaliuta) [1700846] - [tools] tools: bpftool: add map create command (Yauheni Kaliuta) [1700846] - [tools] bpf: bpftool, add flag to allow non-compat map definitions (Yauheni Kaliuta) [1700846] - [tools] bpf: bpftool, add support for attaching programs to maps (Yauheni Kaliuta) [1700846] - [maintainers] bpf, doc: add maintainers entry to related files (Yauheni Kaliuta) [1700846] - [tools] bpf: add tls support for testing in test_sockmap (Yauheni Kaliuta) [1700846] - [net] tls: add bpf support to sk_msg handling (Yauheni Kaliuta) [1700846] - [net] tls: replace poll implementation with read hook (Yauheni Kaliuta) [1700846] - [net] tls: convert to generic sk_msg interface (Yauheni Kaliuta) [1700846] - [net] bpf, sockmap: convert to generic sk_msg interface (Yauheni Kaliuta) [1700846] - [net] tcp, ulp: remove ulp bits from sockmap (Yauheni Kaliuta) [1700846] - [net] tcp, ulp: enforce sock_owned_by_me upon ulp init and cleanup (Yauheni Kaliuta) [1700846] - [net] net/tls: Make function get_rec() static (Yauheni Kaliuta) [1700846] - [net] net/tls: Mark the end in scatterlist table (Yauheni Kaliuta) [1700846] - [net] tls: Fixed a memory leak during socket close (Yauheni Kaliuta) [1700846] - [net] net/tls: Removed redundant checks for non-NULL (Yauheni Kaliuta) [1700846] - [net] tls: Add support for inplace records encryption (Yauheni Kaliuta) [1700846] - [net] tls: Remove redundant vars from tls record structure (Yauheni Kaliuta) [1700846] - [net] net/tls: Fixed race condition in async encryption (Yauheni Kaliuta) [1700846] - [net] tls: Fix socket mem accounting error under async encryption (Yauheni Kaliuta) [1700846] - [net] net/tls: Add support for async encryption of records for performance (Yauheni Kaliuta) [1700846] - [net] tls: Remove dead code in tls_sw_sendmsg (Yauheni Kaliuta) [1700846] - [net] net/tls: Fixed return value when tls_complete_pending_work() fails (Yauheni Kaliuta) [1700846] - [net] bpf: wait for running BPF programs when updating map-in-map (Yauheni Kaliuta) [1700846] - [tools] selftests: bpf: install script with_addr.sh (Yauheni Kaliuta) [1700846] - [tools] selftests: bpf: add config fragment LWTUNNEL (Yauheni Kaliuta) [1700846] - [tools] tools/bpf: use proper type and uapi perf_event.h header for libbpf (Yauheni Kaliuta) [1700846] - [tools] selftests/bpf: add XDP selftests for modifying and popping VLAN headers (Yauheni Kaliuta) [1700846] - [tools] bpf: make TC vlan bpf_helpers avail to selftests (Yauheni Kaliuta) [1700846] - [net] net: fix generic XDP to handle if eth header was mangled (Yauheni Kaliuta) [1700846] - [tools] selftests/bpf: test_verifier, check bpf_map_lookup_elem access in bpf prog (Yauheni Kaliuta) [1700846] - [tools] selftests/bpf: test_verifier, change names of fixup maps (Yauheni Kaliuta) [1700846] - [tools] tools/bpf: bpftool, print strerror when map lookup error occurs (Yauheni Kaliuta) [1700846] - [tools] tools/bpf: bpftool, split the function do_dump() (Yauheni Kaliuta) [1700846] - [net] bpf: return EOPNOTSUPP when map lookup isn't supported (Yauheni Kaliuta) [1700846] - [net] bpf: error handling when map_lookup_elem isn't supported (Yauheni Kaliuta) [1700846] - [net] bpf: btf: Fix a missing check bug (Yauheni Kaliuta) [1700846] - [net] bpf: allow offload of programs with BPF-to-BPF function calls (Yauheni Kaliuta) [1700846] - [net] bpf: add verifier callback to get stack usage info for offloaded progs (Yauheni Kaliuta) [1700846] - [tools] libbpf: relicense libbpf as LGPL-2.1 OR BSD-2-Clause (Yauheni Kaliuta) [1700846] - [samples] bpf, tracex3_user: erase "ARRAY_SIZE" redefined (Yauheni Kaliuta) [1700846] - [tools] libbpf: Use __u32 instead of u32 in bpf_program__load (Yauheni Kaliuta) [1700846] - [tools] libbpf: Make include guards consistent (Yauheni Kaliuta) [1700846] - [tools] libbpf: Consistent prefixes for interfaces in str_error.h (Yauheni Kaliuta) [1700846] - [tools] libbpf: Consistent prefixes for interfaces in nlattr.h (Yauheni Kaliuta) [1700846] - [tools] libbpf: Consistent prefixes for interfaces in libbpf.h (Yauheni Kaliuta) [1700846] - [tools] libbpf: Move __dump_nlmsg_t from API to implementation (Yauheni Kaliuta) [1700846] - [documentation] Documentation: Describe bpf reference tracking (Yauheni Kaliuta) [1700846] - [tools] selftests/bpf: Add C tests for reference tracking (Yauheni Kaliuta) [1700846] - [tools] libbpf: Support loading individual progs (Yauheni Kaliuta) [1700846] - [tools] selftests/bpf: Add tests for reference tracking (Yauheni Kaliuta) [1700846] - [tools] selftests/bpf: Generalize dummy program types (Yauheni Kaliuta) [1700846] - [tools] bpf: Add helper to retrieve socket in BPF (Yauheni Kaliuta) [1700846] - [include] bpf: Introduce bpf_skb_ancestor_cgroup_id helper (Yauheni Kaliuta) [1700846] - [tools] bpf: sync include/uapi/linux/bpf.h to tools/include/uapi/linux/bpf.h (Yauheni Kaliuta) [1700846] - [tools] bpf: sync bpf.h uapi with tools/ (Yauheni Kaliuta) [1700846] - [tools] bpf: Sync bpf.h to tools/ (Yauheni Kaliuta) [1700846] - [tools] bpf: Sync bpf.h uapi to tools/ (Yauheni Kaliuta) [1700846] - [tools] bpf: sync bpf.h to tools/ (Yauheni Kaliuta) [1700846] - [net] bpf: Add reference tracking to verifier (Yauheni Kaliuta) [1700846] - [net] bpf: Macrofy stack state copy (Yauheni Kaliuta) [1700846] - [include] bpf: Add PTR_TO_SOCKET verifier type (Yauheni Kaliuta) [1700846] - [net] bpf: Generalize ptr_or_null regs check (Yauheni Kaliuta) [1700846] - [net] bpf: Reuse canonical string formatter for ctx errs (Yauheni Kaliuta) [1700846] - [net] bpf: Add iterator for spilled registers (Yauheni Kaliuta) [1700846] - [net] bpf: don't accept cgroup local storage with zero value size (Yauheni Kaliuta) [1700846] - [tools] selftests/bpf: cgroup local storage-based network counters (Yauheni Kaliuta) [1700846] - [samples] samples/bpf: extend test_cgrp2_attach2 test to use per-cpu cgroup storage (Yauheni Kaliuta) [1700846] - [tools] selftests/bpf: extend the storage test to test per-cpu cgroup storage (Yauheni Kaliuta) [1700846] - [tools] selftests/bpf: add verifier per-cpu cgroup storage tests (Yauheni Kaliuta) [1700846] - [tools] bpftool: add support for PERCPU_CGROUP_STORAGE maps (Yauheni Kaliuta) [1700846] - [net] bpf: don't allow create maps of per-cpu cgroup local storages (Yauheni Kaliuta) [1700846] - [net] bpf: introduce per-cpu cgroup local storage (Yauheni Kaliuta) [1700846] - [net] bpf: rework cgroup storage pointer passing (Yauheni Kaliuta) [1700846] - [net] bpf: extend cgroup bpf core to allow multiple cgroup storage types (Yauheni Kaliuta) [1700846] - [net] bpf/test_run: support cgroup local storage (Yauheni Kaliuta) [1700846] - [net] bpf: harden flags check in cgroup_storage_update_elem() (Yauheni Kaliuta) [1700846] - [net] bpf: permit CGROUP_DEVICE programs accessing helper bpf_get_current_cgroup_id() (Yauheni Kaliuta) [1700846] - [tools] selftests/bpf: Test libbpf_{prog,attach}_type_by_name (Yauheni Kaliuta) [1700846] - [tools] selftests/bpf: Use libbpf_attach_type_by_name in test_socket_cookie (Yauheni Kaliuta) [1700846] - [tools] libbpf: Support sk_skb/stream_{parser, verdict} section names (Yauheni Kaliuta) [1700846] - [tools] libbpf: Support cgroup_skb/{e,in}gress section names (Yauheni Kaliuta) [1700846] - [tools] libbpf: Introduce libbpf_attach_type_by_name (Yauheni Kaliuta) [1700846] - [tools] bpftool: Fix bpftool net output (Yauheni Kaliuta) [1700846] - [tools] bpftool: add support for BPF_MAP_TYPE_REUSEPORT_SOCKARRAY maps (Yauheni Kaliuta) [1700846] - [tools] bpf: test_maps, only support ESTABLISHED socks (Yauheni Kaliuta) [1700846] - [net] bpf: sockmap, fix transition through disconnect without close (Yauheni Kaliuta) [1700846] - [net] bpf: sockmap only allow ESTABLISHED sock state (Yauheni Kaliuta) [1700846] - [net] bpf: remove redundant null pointer check before consume_skb (Yauheni Kaliuta) [1700846] - [samples] samples/bpf: fix compilation failure (Yauheni Kaliuta) [1700846] - [net] flow_dissector: fix build failure without CONFIG_NET (Yauheni Kaliuta) [1700846] - [samples] samples/bpf: fix a compilation failure (Yauheni Kaliuta) [1700846] - [samples] samples/bpf: remove duplicated includes (Yauheni Kaliuta) [1700846] - [tools] tools/bpf: bpftool: improve output format for bpftool net (Yauheni Kaliuta) [1700846] - [tools] selftests/bpf: fix bpf_flow.c build (Yauheni Kaliuta) [1700846] - [tools] selftests/bpf: test bpf flow dissection (Yauheni Kaliuta) [1700846] - [tools] flow_dissector: implements eBPF parser (Yauheni Kaliuta) [1700846] - [tools] bpf: support flow dissector in libbpf and bpftool (Yauheni Kaliuta) [1700846] - [include] flow_dissector: implements flow dissector BPF hook (Yauheni Kaliuta) [1700846] - [net] bpf: btf: Fix end boundary calculation for type section (Yauheni Kaliuta) [1700846] - [tools] tools/bpf: fix a netlink recv issue (Yauheni Kaliuta) [1700846] - [tools] tools/bpf: bpftool: support prog array map and map of maps (Yauheni Kaliuta) [1700846] - [net] bpf: add bpffs pretty print for program array map (Yauheni Kaliuta) [1700846] - [tools] tools/bpf: bpftool: add net support (Yauheni Kaliuta) [1700846] - [tools] tools/bpf: add more netlink functionalities in lib/bpf (Yauheni Kaliuta) [1700846] - [tools] tools/bpf: move bpf/lib netlink related functions into a new file (Yauheni Kaliuta) [1700846] - [tools] selftests/bpf/test_progs: do not check errno == 0 (Yauheni Kaliuta) [1700846] - [tools] selftests/bpf: add missing executables to .gitignore (Yauheni Kaliuta) [1700846] - [net] bpf/verifier: fix verifier instability (Yauheni Kaliuta) [1700846] - [net] bpf: avoid misuse of psock when TCP_ULP_BPF collides with another ULP (Yauheni Kaliuta) [1700846] - [tools] tools/bpf: bpftool, add xskmap in map types (Yauheni Kaliuta) [1700846] - [tools] bpf: add selftest for bpf's (set|get)_sockopt for SAVE_SYN (Yauheni Kaliuta) [1700846] - [samples] samples/bpf: xdpsock, minor fixes (Yauheni Kaliuta) [1700846] - [samples] bpf: add TCP_SAVE_SYN/TCP_SAVED_SYN sample program (Yauheni Kaliuta) [1700846] - [net] bpf: add TCP_SAVE_SYN/TCP_SAVED_SYN options for bpf_(set|get)sockopt (Yauheni Kaliuta) [1700846] - [tools] tools/bpf: bpftool: add btf percpu map formated dump (Yauheni Kaliuta) [1700846] - [tools] tools/bpf: add bpffs percpu map pretty print tests in test_btf (Yauheni Kaliuta) [1700846] - [net] bpf: add bpffs pretty print for percpu arraymap/hash/lru_hash (Yauheni Kaliuta) [1700846] - [net] bpf/verifier: display non-spill stack slot types in print_verifier_state (Yauheni Kaliuta) [1700846] - [tools] bpf: use --cgroup in test_suite if supplied (Yauheni Kaliuta) [1700846] - [tools] bpf: sockmap test remove shutdown() calls (Yauheni Kaliuta) [1700846] - [net] bpf: remove duplicated include from syscall.c (Yauheni Kaliuta) [1700846] - [net] bpf: sockmap, decrement copied count correctly in redirect error case (Yauheni Kaliuta) [1700846] - [net] bpf, sockmap: fix psock refcount leak in bpf_tcp_recvmsg (Yauheni Kaliuta) [1700846] - [net] bpf, sockmap: fix potential use after free in bpf_tcp_close (Yauheni Kaliuta) [1700846] - [tools] tools: bpftool: return from do_event_pipe() on bad arguments (Yauheni Kaliuta) [1700846] - [net] bpf: use per htab salt for bucket hash (Yauheni Kaliuta) [1700846] - [net] bpf: sockmap: write_space events need to be passed to TCP handler (Yauheni Kaliuta) [1700846] - [net] bpf, sockmap: fix sock hash count in alloc_sock_hash_elem (Yauheni Kaliuta) [1700846] - [net] bpf, sockmap: fix sock_hash_alloc and reject zero-sized keys (Yauheni Kaliuta) [1700846] - [net] bpf: fix redirect to map under tail calls (Yauheni Kaliuta) [1700846] - [netdrv] veth: Support per queue XDP ring (Yauheni Kaliuta) [1700846] - [netdrv] veth: Add XDP TX and REDIRECT (Yauheni Kaliuta) [1700846] - [net] xdp: Helpers for disabling napi_direct of xdp_return_frame (Yauheni Kaliuta) [1700846] - [net] bpf: Make redirect_info accessible from modules (Yauheni Kaliuta) [1700846] - [netdrv] veth: Add ndo_xdp_xmit (Yauheni Kaliuta) [1700846] - [netdrv] veth: Handle xdp_frames in xdp napi ring (Yauheni Kaliuta) [1700846] - [netdrv] veth: Avoid drops by oversized packets when XDP is enabled (Yauheni Kaliuta) [1700846] - [netdrv] veth: Add driver XDP (Yauheni Kaliuta) [1700846] - [net] net: Export skb_headers_offset_update (Yauheni Kaliuta) [1700846] - [tools] tools/bpf: fix bpf selftest test_cgroup_storage failure (Yauheni Kaliuta) [1700846] - [net] bpf, sockmap: fix sock_map_ctx_update_elem race with exist/noexist (Yauheni Kaliuta) [1700846] - [net] bpf, sockmap: fix map elem deletion race with smap_stop_sock (Yauheni Kaliuta) [1700846] - [net] bpf, sockmap: fix leakage of smap_psock_map_entry (Yauheni Kaliuta) [1700846] - [net] bpf: fix a rcu usage warning in bpf_prog_array_copy_core() (Yauheni Kaliuta) [1700846] - [tools] bpf: test: fix spelling mistake "REUSEEPORT" -> "REUSEPORT" (Yauheni Kaliuta) [1700846] - [tools] selftests/bpf: Selftest for bpf_skb_ancestor_cgroup_id (Yauheni Kaliuta) [1700846] - [tools] selftests/bpf: Add cgroup id helpers to bpf_helpers.h (Yauheni Kaliuta) [1700846] - [net] bpf: decouple btf from seq bpf fs dump and enable more maps (Yauheni Kaliuta) [1700846] - [tools] bpf: Test BPF_PROG_TYPE_SK_REUSEPORT (Yauheni Kaliuta) [1700846] - [tools] bpf: test BPF_MAP_TYPE_REUSEPORT_SOCKARRAY (Yauheni Kaliuta) [1700846] - [tools] bpf: Refactor ARRAY_SIZE macro to bpf_util.h (Yauheni Kaliuta) [1700846] - [net] bpf: Introduce BPF_PROG_TYPE_SK_REUSEPORT (Yauheni Kaliuta) [1700846] - [net] bpf: Introduce BPF_MAP_TYPE_REUSEPORT_SOCKARRAY (Yauheni Kaliuta) [1700846] - [net] net: Add ID (if needed) to sock_reuseport and expose reuseport_lock (Yauheni Kaliuta) [1700846] - [tools] tools/bpf: add bpffs pretty print btf test for hash/lru_hash maps (Yauheni Kaliuta) [1700846] - [net] bpf: btf: add pretty print for hash/lru_hash maps (Yauheni Kaliuta) [1700846] - [net] bpf: fix bpffs non-array map seq_show issue (Yauheni Kaliuta) [1700846] - [powerpc] powerpc/Makefiles: Convert ifeq to ifdef where possible (Yauheni Kaliuta) [1700846] - [net] bpf: introduce update_effective_progs() (Yauheni Kaliuta) [1700846] - [s390] s390: fix br_r1_trampoline for machines without exrl (Yauheni Kaliuta) [1700846] - [tools] selftests/bpf: fix a typo in map in map test (Yauheni Kaliuta) [1700846] - [tools] tools: bpf: fix BTF code added twice to different trees (Yauheni Kaliuta) [1700846] - [samples] samples/bpf: extend test_cgrp2_attach2 test to use cgroup storage (Yauheni Kaliuta) [1700846] - [tools] selftests/bpf: add a cgroup storage test (Yauheni Kaliuta) [1700846] - [tools] selftests/bpf: add verifier cgroup storage tests (Yauheni Kaliuta) [1700846] - [tools] bpftool: add support for CGROUP_STORAGE maps (Yauheni Kaliuta) [1700846] - [net] bpf: introduce the bpf_get_local_storage() helper function (Yauheni Kaliuta) [1700846] - [net] bpf: don't allow create maps of cgroup local storages (Yauheni Kaliuta) [1700846] - [net] bpf/verifier: introduce BPF_PTR_TO_MAP_VALUE (Yauheni Kaliuta) [1700846] - [net] bpf: extend bpf_prog_array to store pointers to the cgroup storage (Yauheni Kaliuta) [1700846] - [net] bpf: allocate cgroup storage entries on attaching bpf programs (Yauheni Kaliuta) [1700846] - [net] bpf: pass a pointer to a cgroup storage using pcpu variable (Yauheni Kaliuta) [1700846] - [net] bpf: introduce cgroup storage maps (Yauheni Kaliuta) [1700846] - [net] bpf: add ability to charge bpf maps memory dynamically (Yauheni Kaliuta) [1700846] - [net] bpf: verifier: MOV64 don't mark dst reg unbounded (Yauheni Kaliuta) [1700846] - [tools] selftests/bpf: Test for get_socket_cookie (Yauheni Kaliuta) [1700846] - [tools] selftests/bpf: Add bpf_get_socket_cookie to bpf_helpers.h (Yauheni Kaliuta) [1700846] - [tools] bpf: Sync bpf.h to tools/ (Yauheni Kaliuta) [1700846] - [net] bpf: Support bpf_get_socket_cookie in more prog types (Yauheni Kaliuta) [1700846] - [samples] samples: bpf: convert xdpsock_user.c to libbpf (Yauheni Kaliuta) [1700846] - [samples] samples: bpf: convert xdp_fwd_user.c to libbpf (Yauheni Kaliuta) [1700846] - [tools] tools: libbpf: add bpf_object__find_program_by_title() (Yauheni Kaliuta) [1700846] - [tools] tools: libbpf: handle NULL program gracefully in bpf_program__nth_fd() (Yauheni Kaliuta) [1700846] - [samples] samples/bpf: Add BTF build flags to Makefile (Yauheni Kaliuta) [1700846] - [tools] tools/bpftool: ignore build products (Yauheni Kaliuta) [1700846] - [tools] bpf: Add Python 3 support to selftests scripts for bpf (Yauheni Kaliuta) [1700846] - [tools] bpf: btf: fix inconsistent IS_ERR and PTR_ERR (Yauheni Kaliuta) [1700846] - [net] bpf: sockmap: remove redundant pointer sg (Yauheni Kaliuta) [1700846] - [net] bpf: bpf_prog_array_alloc() should return a generic non-rcu pointer (Yauheni Kaliuta) [1700846] - [tools] tools: bpftool: don't pass FEATURES_DUMP to libbpf (Yauheni Kaliuta) [1700846] - [tools] tools: libbpf: remove libelf-getphdrnum feature detection (Yauheni Kaliuta) [1700846] - [samples] samples/bpf: test_cgrp2_sock2: fix an off by one (Yauheni Kaliuta) [1700846] - [samples] samples: bpf: ensure that we don't load over MAX_PROGS programs (Yauheni Kaliuta) [1700846] - [tools] selftests/bpf: Test case for BPF_SOCK_OPS_TCP_LISTEN_CB (Yauheni Kaliuta) [1700846] - [tools] selftests/bpf: Better verification in test_tcpbpf (Yauheni Kaliuta) [1700846] - [tools] selftests/bpf: Switch test_tcpbpf_user to cgroup_helpers (Yauheni Kaliuta) [1700846] - [tools] selftests/bpf: Fix const'ness in cgroup_helpers (Yauheni Kaliuta) [1700846] - [tools] bpf: Sync bpf.h to tools/ (Yauheni Kaliuta) [1700846] - [net] bpf: Add BPF_SOCK_OPS_TCP_LISTEN_CB (Yauheni Kaliuta) [1700846] - [tools] bpf: btf: print map dump and lookup with btf info (Yauheni Kaliuta) [1700846] - [tools] bpf: btf: add btf print functionality (Yauheni Kaliuta) [1700846] - [tools] bpf: btf: export btf types and name by offset from lib (Yauheni Kaliuta) [1700846] - [tools] tools: bpf: build and install man page for eBPF helpers from bpftool/ (Yauheni Kaliuta) [1700846] - [tools] tools: bpf: synchronise BPF UAPI header with tools (Yauheni Kaliuta) [1700846] - [include] bpf: fix documentation for eBPF helpers (Yauheni Kaliuta) [1700846] - [tools] bpftool: add bash completion for cgroup tree command (Yauheni Kaliuta) [1700846] - [tools] bpftool: document cgroup tree command (Yauheni Kaliuta) [1700846] - [tools] bpftool: introduce cgroup tree command (Yauheni Kaliuta) [1700846] - [tools] selftests/bpf: Test sys_connect BPF hooks with TFO (Yauheni Kaliuta) [1700846] - [samples] samples/bpf: Add xdp_sample_pkts example (Yauheni Kaliuta) [1700846] - [tools] trace_helpers.c: Add helpers to poll multiple perf FDs for events (Yauheni Kaliuta) [1700846] - [net] bpf: deal with kABI breakage in cgroups (Yauheni Kaliuta) [1700846] - [netdrv] nfp: bpf: fix static check error through tightening shift amount adjustment (Pablo Cascon) [1663986] - [netdrv] nfp: disable netpoll on representors (Pablo Cascon) [1663986] - [netdrv] nfp: validate the return code from dev_queue_xmit() (Pablo Cascon) [1663986] - [netdrv] nfp: fix simple vNIC mailbox length (Pablo Cascon) [1663986] - [netdrv] nfp: nsp: set higher timeout for flash bundle (Pablo Cascon) [1663986] - [netdrv] nfp: nsp: allow the use of DMA buffer (Pablo Cascon) [1663986] - [netdrv] nfp: nsp: move default buffer handling into its own function (Pablo Cascon) [1663986] - [netdrv] nfp: nsp: use fractional size of the buffer (Pablo Cascon) [1663986] - [netdrv] nfp: report RJ45 connector in ethtool (Pablo Cascon) [1663986] - [netdrv] nfp: remove ethtool flashing fallback (Pablo Cascon) [1663986] - [netdrv] nfp: Remove switchdev.h inclusion (Pablo Cascon) [1663986] - [netdrv] nfp: bpf: fix code-gen bug on BPF_ALU | BPF_XOR | BPF_K (Pablo Cascon) [1663986] - [netdrv] nfp: devlink: allow flashing the device via devlink (Pablo Cascon) [1663986] - [netdrv] nfp: devlink: include vendor/product info in serial number (Pablo Cascon) [1663986] - [netdrv] nfp: devlink: use the generic manufacture identifier instead of vendor (Pablo Cascon) [1663986] - [netdrv] nfp: flower: cmsg: use struct_size() helper (Pablo Cascon) [1663986] - [netdrv] nfp: Implement ndo_get_port_parent_id() (Pablo Cascon) [1663986] - [netdrv] nfp: bpf: complete ALU32 logic shift supports (Pablo Cascon) [1663986] - [netdrv] nfp: bpf: correct the behavior for shifts by zero (Pablo Cascon) [1663986] - [netdrv] nfp: devlink: report the running and flashed versions (Pablo Cascon) [1663986] - [netdrv] nfp: nsp: add support for versions command (Pablo Cascon) [1663986] - [netdrv] nfp: devlink: report fixed versions (Pablo Cascon) [1663986] - [netdrv] nfp: devlink: report driver name and serial number (Pablo Cascon) [1663986] - [netdrv] nfp: use struct_size() in kzalloc() (Pablo Cascon) [1663986] - [netdrv] nfp: flower: enable MAC address sharing for offloadable devs (Pablo Cascon) [1663986] - [netdrv] nfp: flower: ensure MAC cleanup on address change (Pablo Cascon) [1663986] - [netdrv] nfp: flower: add infastructure for non-repr priv data (Pablo Cascon) [1663986] - [netdrv] nfp: flower: ensure deletion of old offloaded MACs (Pablo Cascon) [1663986] - [netdrv] nfp: flower: remove list infastructure from MAC offload (Pablo Cascon) [1663986] - [netdrv] nfp: flower: ignore offload of VF and PF repr MAC addresses (Pablo Cascon) [1663986] - [netdrv] nfp: flower: tidy tunnel related private data (Pablo Cascon) [1663986] - [netdrv] nfp: flower: support multiple memory units for filter offloads (Pablo Cascon) [1663986] - [netdrv] nfp: flower: increase cmesg reply timeout (Pablo Cascon) [1663986] - [netdrv] nfp: bpf: optimize codegen for JSET with a constant (Pablo Cascon) [1663986] - [netdrv] nfp: bpf: remove the trivial JSET optimization (Pablo Cascon) [1663986] - [netdrv] nfp: flower: fix cb_ident duplicate in indirect block register (Pablo Cascon) [1663986] - [netdrv] nfp: abm: allow to opt-out of RED offload (Pablo Cascon) [1663986] - [netdrv] nfp: flower: ensure TCP flags can be placed in IPv6 frame (Pablo Cascon) [1663986] - [netdrv] nfp: bpf: implement jitting of BPF_ALU | BPF_ARSH | BPF_* (Pablo Cascon) [1663986] - [netdrv] nfp: convert to DEFINE_SHOW_ATTRIBUTE (Pablo Cascon) [1663986] - [netdrv] nfp: report more info when reconfiguration fails (Pablo Cascon) [1663986] - [netdrv] nfp: add offset to all TLV parsing errors (Pablo Cascon) [1663986] - [netdrv] nfp: add offloads on representors (Pablo Cascon) [1663986] - [netdrv] nfp: add locking around representor changes (Pablo Cascon) [1663986] - [netdrv] nfp: run don't require Qdiscs on representor netdevs (Pablo Cascon) [1663986] - [netdrv] nfp: run representor TX locklessly (Pablo Cascon) [1663986] - [netdrv] nfp: avoid oversized TSO headers with metadata prepend (Pablo Cascon) [1663986] - [netdrv] nfp: correct descriptor offsets in presence of metadata (Pablo Cascon) [1663986] - [netdrv] nfp: move queue variable init (Pablo Cascon) [1663986] - [netdrv] nfp: move temporary variables in nfp_net_tx_complete() (Pablo Cascon) [1663986] - [netdrv] nfp: copy only the relevant part of the TX descriptor for frags (Pablo Cascon) [1663986] - [netdrv] nfp: flower: prevent offload if rhashtable insert fails (Pablo Cascon) [1663986] - [netdrv] nfp: flower: release metadata on offload failure (Pablo Cascon) [1663986] - [netdrv] nfp: abm: add support for more threshold actions (Pablo Cascon) [1663986] - [netdrv] nfp: abm: add cls_u32 offload for simple band classification (Pablo Cascon) [1663986] - [netdrv] nfp: abm: add functions to update DSCP -> virtual queue map (Pablo Cascon) [1663986] - [netdrv] nfp: abm: calculate PRIO map len and check mailbox size (Pablo Cascon) [1663986] - [netdrv] nfp: abm: add GRED offload (Pablo Cascon) [1663986] - [netdrv] nfp: abm: wrap RED parameters in bands (Pablo Cascon) [1663986] - [netdrv] nfp: abm: add up bands for sto/non-sto stats (Pablo Cascon) [1663986] - [netdrv] nfp: abm: switch to extended stats for reading packet/byte counts (Pablo Cascon) [1663986] - [netdrv] nfp: abm: size threshold table to account for bands (Pablo Cascon) [1663986] - [netdrv] nfp: abm: pass band parameter to functions (Pablo Cascon) [1663986] - [netdrv] nfp: abm: map per-band symbols (Pablo Cascon) [1663986] - [netdrv] nfp: abm: restructure Qdisc handling (Pablo Cascon) [1663986] - [netdrv] nfp: abm: save RED's parameters (Pablo Cascon) [1663986] - [netdrv] nfp: abm: reset RED's child based on limit (Pablo Cascon) [1663986] - [netdrv] nfp: abm: build full Qdisc hierarchy based on graft notifications (Pablo Cascon) [1663986] - [netdrv] nfp: abm: allocate Qdisc child table (Pablo Cascon) [1663986] - [netdrv] nfp: abm: remember which Qdisc is root (Pablo Cascon) [1663986] - [netdrv] nfp: abm: track all offload-enabled qdiscs (Pablo Cascon) [1663986] - [netdrv] nfp: abm: keep track of all RED thresholds (Pablo Cascon) [1663986] - [netdrv] nfp: abm: rename qdiscs -> red_qdiscs (Pablo Cascon) [1663986] - [netdrv] nfp: flower: remove unnecessary code in flow lookup (Pablo Cascon) [1663986] - [netdrv] nfp: flower: remove TC egdev offloads (Pablo Cascon) [1663986] - [netdrv] nfp: flower: offload tunnel decap rules via indirect TC blocks (Pablo Cascon) [1663986] - [netdrv] nfp: flower: increase scope of netdev checking functions (Pablo Cascon) [1663986] - [netdrv] nfp: flower: allow non repr netdev offload (Pablo Cascon) [1663986] - [netdrv] nfp: use the new __netdev_tx_sent_queue() BQL optimisation (Pablo Cascon) [1663986] - [netdrv] nfp: abm: refuse RED offload with harddrop set (Pablo Cascon) [1663986] - [netdrv] nfp: abm: don't set negative threshold (Pablo Cascon) [1663986] - [netdrv] nfp: abm: provide more precise info about offload parameter validation (Pablo Cascon) [1663986] - [netdrv] nfp: parse vNIC TLV capabilities at alloc time (Pablo Cascon) [1663986] - [netdrv] nfp: pass ctrl_bar pointer to nfp_net_alloc (Pablo Cascon) [1663986] - [netdrv] nfp: abm: split qdisc offload code into a separate file (Pablo Cascon) [1663986] - [netdrv] nfp: flower: include geneve as supported offload tunnel type (Pablo Cascon) [1663986] - [netdrv] nfp: flower: use geneve and vxlan helpers (Pablo Cascon) [1663986] - [netdrv] nfp: flower: use the common netdev notifier (Pablo Cascon) [1663986] - [netdrv] nfp: register a notifier handler in a central location for the device (Pablo Cascon) [1663986] - [netdrv] nfp: flower: make nfp_fl_lag_changels_event() void (Pablo Cascon) [1663986] - [netdrv] nfp: flower: don't try to nack device unregister events (Pablo Cascon) [1663986] - [netdrv] nfp: flower: remove unnecessary iteration over devices (Pablo Cascon) [1663986] - [netdrv] nfp: bpf: protect against mis-initializing atomic counters (Pablo Cascon) [1663986] - [netdrv] nfp: devlink port split support for 1x100G CXP NIC (Pablo Cascon) [1663986] - [netdrv] nfp: replace long license headers with SPDX (Pablo Cascon) [1663986] - [netdrv] nfp: bpf: support pointers to other stack frames for BPF-to-BPF calls (Pablo Cascon) [1663986] - [netdrv] nfp: bpf: account for BPF-to-BPF calls when preparing nfp JIT (Pablo Cascon) [1663986] - [netdrv] nfp: bpf: ignore helper-related checks for BPF calls in nfp verifier (Pablo Cascon) [1663986] - [netdrv] nfp: bpf: rename nfp_prog->stack_depth as nfp_prog->stack_frame_depth (Pablo Cascon) [1663986] - [netdrv] nfp: bpf: allow control message sizing for map ops (Pablo Cascon) [1663986] - [netdrv] nfp: allow apps to request larger MTU on control vNIC (Pablo Cascon) [1663986] - [netdrv] nfp: bpf: parse global BPF ABI version capability (Pablo Cascon) [1663986] - [netdrv] nfp: warn on experimental TLV types (Pablo Cascon) [1663986] - [netdrv] nfp: remove ndo_poll_controller (Pablo Cascon) [1663986] - [netdrv] nfp: replace spin_lock_bh with spin_lock in tasklet callback (Pablo Cascon) [1663986] - [netdrv] nfp: separate VXLAN and GRE feature handling (Pablo Cascon) [1663986] - [netdrv] nfp: validate rtsym accesses fall within the symbol (Pablo Cascon) [1663986] - [netdrv] nfp: prefix rtsym error messages with symbol name (Pablo Cascon) [1663986] - [netdrv] nfp: fix readq on absolute RTsyms (Pablo Cascon) [1663986] - [netdrv] nfp: make RTsym users handle absolute symbols correctly (Pablo Cascon) [1663986] - [netdrv] nfp: support access to absolute RTsyms (Pablo Cascon) [1663986] - [netdrv] nfp: convert all RTsym users to use new read/write helpers (Pablo Cascon) [1663986] - [netdrv] nfp: convert existing RTsym helpers to full target decoding (Pablo Cascon) [1663986] - [netdrv] nfp: pass cpp_id to nfp_cpp_map_area() (Pablo Cascon) [1663986] - [netdrv] nfp: add RTsym access helpers (Pablo Cascon) [1663986] - [netdrv] nfp: add basic errors messages to target logic (Pablo Cascon) [1663986] - [netdrv] nfp: save the MU locality field offset (Pablo Cascon) [1663986] - [netdrv] nfp: refactor the per-chip PCIe config (Pablo Cascon) [1663986] - [netdrv] nfp: add support for NFP5000 (Pablo Cascon) [1663986] - [netdrv] nfp: abm: look up MAC addresses via management FW (Pablo Cascon) [1663986] - [netdrv] nfp: add support for indirect HWinfo lookup (Pablo Cascon) [1663986] - [netdrv] nfp: interpret extended FW load result codes (Pablo Cascon) [1663986] - [netdrv] nfp: attempt FW load from flash (Pablo Cascon) [1663986] - [netdrv] nfp: encapsulate NSP command arguments into structs (Pablo Cascon) [1663986] - [netdrv] nfp: clean up return types in kdoc comments (Pablo Cascon) [1663986] - [netdrv] nfp: flower: allow matching on ipv4 UDP tunnel tos and ttl (Pablo Cascon) [1663986] - [netdrv] nfp: bpf: xdp_adjust_tail support (Pablo Cascon) [1663986] - [netdrv] nfp: fix variable dereferenced before check in nfp_app_ctrl_rx_raw() (Pablo Cascon) [1663986] - [netdrv] nfp: bpf: improve map offload info messages (Pablo Cascon) [1663986] - [netdrv] nfp: bpf: remember maps by ID (Pablo Cascon) [1663986] - [netdrv] nfp: bpf: allow receiving perf events on data queues (Pablo Cascon) [1663986] - [netdrv] nfp: bpf: pass raw data buffer to nfp_bpf_event_output() (Pablo Cascon) [1663986] - [netdrv] nfp: allow control message reception on data queues (Pablo Cascon) [1663986] - [netdrv] nfp: move repr handling on RX path (Pablo Cascon) [1663986] - [netdrv] nfp: protect from theoretical size overflows on HW descriptor ring (Pablo Cascon) [1663986] - [netdrv] nfp: restore correct ordering of fields in rx ring structure (Pablo Cascon) [1663986] - [netdrv] nfp: bpf: allow program sharing within ASIC (Pablo Cascon) [1663986] - [netdrv] nfp: add .ndo_init() and .ndo_uninit() callbacks (Pablo Cascon) [1663986] - [netdrv] nfp: add support for simultaneous driver and hw XDP (Pablo Cascon) [1663986] - [netdrv] nfp: avoid using getnstimeofday64() (Pablo Cascon) [1663986] - [netdrv] nfp: bpf: migrate to advanced reciprocal divide in reciprocal_div.h (Pablo Cascon) [1663986] - [netdrv] nfp: bpf: support u32 divide using reciprocal_div.h (Pablo Cascon) [1663986] - [netdrv] nfp: bpf: support u16 and u32 multiplications (Pablo Cascon) [1663986] - [netdrv] nfp: bpf: copy range info for all operands of all ALU operations (Pablo Cascon) [1663986] - [netdrv] nfp: bpf: rename umin/umax to umin_src/umax_src (Pablo Cascon) [1663986] - [netdrv] nfp: make use of napi_consume_skb() (Pablo Cascon) [1663986] - [netdrv] nfp: implement netpoll ndo (thus enabling netconsole) (Pablo Cascon) [1663986] - [netdrv] nfp: fail probe if serial or interface id is missing (Pablo Cascon) [1663986] - [netdrv] nfp: expose ring stats of inactive rings via ethtool (Pablo Cascon) [1663986] - [netdrv] nfp: bpf: allow source ptr type be map ptr in memcpy optimization (Pablo Cascon) [1663986] - [netdrv] bpf: offload: keep the offload state per-ASIC (Pablo Cascon) [1663986] - [netdrv] bpf: offload: aggregate offloads per-device (Pablo Cascon) [1663986] - [tools] selftests/bpf: add test for sharing objects between netdevs (Ivan Vecera) [1708399] - [netdrv] netdevsim: allow program sharing between devices (Ivan Vecera) [1708399] - [net] bpf: offload: allow program and map sharing per-ASIC (Ivan Vecera) [1708399] - [netdrv] bpf: offload: keep the offload state per-ASIC (Ivan Vecera) [1708399] - [netdrv] bpf: offload: aggregate offloads per-device (Ivan Vecera) [1708399] - [net] bpf: offload: rename bpf_offload_dev_match() to bpf_offload_prog_map_match() (Ivan Vecera) [1708399] - [netdrv] netdevsim: associate bound programs with shared dev (Ivan Vecera) [1708399] - [netdrv] netdevsim: add shared netdevsim devices (Ivan Vecera) [1708399] - [netdrv] netdevsim: add switch_id attribute (Ivan Vecera) [1708399]- [infiniband] IB/mlx5: Remove set but not used variable (Alaa Hleihel) [1691238] - [infiniband] IB/mlx5: WQE dump jumps over first 16 bytes (Alaa Hleihel) [1691238] - [netdrv] net/mlx5: Fix false compilation warning (Alaa Hleihel) [1691238] - [netdrv] net/mlx5e: Remove redundant assignment (Alaa Hleihel) [1691238] - [netdrv] net/mlx5e: Fix compilation warning in en_tc.c (Alaa Hleihel) [1691238] - [netdrv] net/mlx5: Fix compilation warning in eq.c (Alaa Hleihel) [1691238] - [netdrv] net/mlx5e: Fix the max MTU check in case of XDP (Alaa Hleihel) [1691238] - [netdrv] net/mlx5e: Fix use-after-free after xdp_return_frame (Alaa Hleihel) [1691238] - [infiniband] IB/mlx5: Fix scatter to CQE in DCT QP creation (Alaa Hleihel) [1691238] - [netdrv] Revert "net/mlx5e: Enable reporting checksum unnecessary also for L3 packets" (Alaa Hleihel) [1691238] - [netdrv] net/mlx5e: Rx, Check ip headers sanity (Alaa Hleihel) [1691238] - [netdrv] net/mlx5: FPGA, tls, idr remove on flow delete (Alaa Hleihel) [1691238] - [netdrv] net/mlx5: FPGA, tls, hold rcu read lock a bit longer (Alaa Hleihel) [1691238] - [netdrv] net/mlx5e: Consider tunnel type for encap contexts (Alaa Hleihel) [1691238] - [netdrv] net/mlx5: E-Switch, Fix esw manager vport indication for more vport commands (Alaa Hleihel) [1691238] - [netdrv] net/mlx5e: Correctly use the namespace type when allocating pedit action (Alaa Hleihel) [1691238] - [netdrv] net/mlx5: ethtool, Allow legacy link-modes configuration via non-extended ptys (Alaa Hleihel) [1691238] - [netdrv] net/mlx5: ethtool, Fix type analysis of advertised link-mode (Alaa Hleihel) [1691238] - [netdrv] net: mlx5: Add a missing check on idr_find, free buf (Alaa Hleihel) [1691238] - [netdrv] net/mlx5e: Allow IPv4 ttl & IPv6 hop_limit rewrite for all L4 protocols (Alaa Hleihel) [1691238] - [infiniband] IB/mlx5: Use mlx5 core to create/destroy a DEVX DCT (Alaa Hleihel) [1691238] - [netdrv] net/mlx5: Fix DCT creation bad flow (Alaa Hleihel) [1691238] - [infiniband] IB/mlx5: Fix bad flow upon DEVX mkey creation (Alaa Hleihel) [1691238] - [infiniband] IB/mlx5: Add support for ODP for DEVX indirection mkey (Alaa Hleihel) [1691238] - [infiniband] IB/mlx5: Manage indirection mkey upon DEVX flow for ODP (Alaa Hleihel) [1691238] - [infiniband] IB/mlx5: DEVX handling for indirection MKEY (Alaa Hleihel) [1691238] - [netdrv] net/mlx5e: Fix access to non-existing receive queue (Alaa Hleihel) [1691238] - [netdrv] net/mlx5e: Properly get the PF number phys port name ndo (Alaa Hleihel) [1691238] - [netdrv] net/mlx5: Consolidate update FTE for all removal changes (Alaa Hleihel) [1691238] - [netdrv] net/mlx5: Add a locked flag to node removal functions (Alaa Hleihel) [1691238] - [netdrv] net/mlx5: Add modify FTE helper function (Alaa Hleihel) [1691238] - [netdrv] net/mlx5: Fix multiple updates of steering rules in parallel (Alaa Hleihel) [1691238] - [infiniband] IB/mlx5: Validate correct PD before prefetch MR (Alaa Hleihel) [1691238] - [infiniband] RDMA/mlx5: Introduce and reuse helper to identify ODP MR (Alaa Hleihel) [1691238] - [infiniband] IB/mlx5: Protect against prefetch of invalid MR (Alaa Hleihel) [1691238] - [infiniband] net/mlx5: Make mlx5_cmd_exec_cb() a safe API (Alaa Hleihel) [1691238] - [infiniband] RDMA: Clean structures from CONFIG_INFINIBAND_ON_DEMAND_PAGING (Alaa Hleihel) [1691238] - [infiniband] RDMA/mlx5: Embed into the code flow the ODP config option (Alaa Hleihel) [1691238] - [netdrv] net/mlx5e: Add missing static function annotation (Alaa Hleihel) [1691238] - [infiniband] IB/mlx5: Do not use hw_access_flags for be and CPU data (Alaa Hleihel) [1691238] - [netdrv] net/mlx5: Fix code style issue in mlx driver (Alaa Hleihel) [1691238] - [infiniband] IB/mlx5: Fix the locking of SRQ objects in ODP events (Alaa Hleihel) [1691238] - [infiniband] IB/mlx5: Make mlx5_ib_stage_odp_cleanup() static (Alaa Hleihel) [1691238] - [infiniband] IB/mlx5: Declare local functions 'static' (Alaa Hleihel) [1691238] - [netdrv] RDMA/mlx5: Delete declaration of already removed function (Alaa Hleihel) [1691238] - [netdrv] mlx5-core: Mark ConnectX-6 Dx as unsupported device (Alaa Hleihel) [1691236 1687434] - [netdrv] net/mlx5: Update the list of the PCI supported devices (Alaa Hleihel) [1691236 1687434] - [infiniband] IB/mlx5: Fix mapping of link-mode to IB width and speed (Alaa Hleihel) [1691236] - [netdrv] net/mlx5: ethtool, Add ethtool support for 50Gbps per lane link modes (Alaa Hleihel) [1691236 1683102] - [infiniband] IB/mlx5: Add support for 50Gbps per lane link modes (Alaa Hleihel) [1691236 1683102] - [netdrv] net/mlx5: Add support to ext_* fields introduced in Port Type and Speed register (Alaa Hleihel) [1691236 1683102] - [include] net/mlx5: Add new fields to Port Type and Speed register (Alaa Hleihel) [1691236 1683102] - [netdrv] net/mlx5: Refactor queries to speed fields in Port Type and Speed register (Alaa Hleihel) [1691236 1683102] - [netdrv] net/mlx5e: Set peer flow needed also for multipath (Alaa Hleihel) [1691236 1663236] - [netdrv] net/mlx5e: Update check for merged eswitch device (Alaa Hleihel) [1691236 1663236] - [netdrv] net/mlx5e: Use hint to resolve route when in HW multipath mode (Alaa Hleihel) [1691236 1663236] - [netdrv] net/mlx5e: Always query offloaded tc peer rule counter (Alaa Hleihel) [1691236 1663236] - [netdrv] net/mlx5e: Re-attempt to offload flows on multipath port affinity events (Alaa Hleihel) [1691236 1663236] - [netdrv] net/mlx5: Emit port affinity event for multipath offloads (Alaa Hleihel) [1691236 1663236] - [netdrv] net/mlx5e: Allow one failure when offloading tc encap rules under multipath (Alaa Hleihel) [1691236 1663236] - [netdrv] net/mlx5e: Don't inherit flow flags on peer flow creation (Alaa Hleihel) [1691236 1663236] - [netdrv] net/mlx5e: Activate HW multipath and handle port affinity based on FIB events (Alaa Hleihel) [1691236 1663236] - [netdrv] net/mlx5: Add multipath mode (Alaa Hleihel) [1691236 1663236] - [netdrv] net/mlx5: Use own workqueue for lag netdev events processing (Alaa Hleihel) [1691236 1663236] - [netdrv] net/mlx5: Expose lag operations in header file (Alaa Hleihel) [1691236 1663236] - [netdrv] net/mlx5: Use unsigned int bit instead of bool as a struct member (Alaa Hleihel) [1691236 1663236] - [netdrv] net/mlx5e: Don't make internal use of errno to denote missing neigh (Alaa Hleihel) [1691236 1663236] - [netdrv] net/mlx5e: Cleanup attach encap function (Alaa Hleihel) [1691236 1663236] - [netdrv] net/mlx5e: Remove 'parse_attr' argument in mlx5e_tc_add_fdb_flow() (Alaa Hleihel) [1691236] - [netdrv] net/mlx5e: Introduce mlx5e_flow_esw_attr_init() helper (Alaa Hleihel) [1691236] - [netdrv] net/mlx5e: Return the allocated flow directly from __mlx5e_add_fdb_flow (Alaa Hleihel) [1691236] - [netdrv] net/mlx5e: Fix GRE key by controlling port tunnel entropy calculation (Alaa Hleihel) [1691236 1663240] - [include] net/mlx5: Introduce tunnel entropy control in PCMR register (Alaa Hleihel) [1691236 1663240] - [netdrv] net/mlx5: Use read-modify-write when changing PCMR register values (Alaa Hleihel) [1691236 1663240] - [netdrv] net/mlx5e: Remove wrong and superfluous tc pedit header type check (Alaa Hleihel) [1691236] - [netdrv] drivers: net: use flow action infrastructure (Alaa Hleihel) [1691236] - [netdrv] net/mlx5e: support for two independent packet edit actions (Alaa Hleihel) [1691236] - [netdrv] flow_offload: add flow_rule and flow_match structures and use them (Alaa Hleihel) [1691236] - [netdrv] net/mlx5e: XDP, fix redirect resources availability check (Alaa Hleihel) [1691236] - [netdrv] net/mlx5: Fix a compilation warning in events.c (Alaa Hleihel) [1691236] - [netdrv] net/mlx5: No command allowed when command interface is not ready (Alaa Hleihel) [1691236] - [netdrv] net/mlx5e: Fix NULL pointer derefernce in set channels error flow (Alaa Hleihel) [1691236] - [netdrv] net/mlx5e: Don't overwrite pedit action when multiple pedit used (Alaa Hleihel) [1691236] - [netdrv] net/mlx5e: Update hw flows when encap source mac changed (Alaa Hleihel) [1691236] - [netdrv] net/mlx5e: Use the inner headers to determine tc/pedit offload limitation on decap flows (Alaa Hleihel) [1691236] - [netdrv] net/mlx5e: Properly set steering match levels for offloaded TC decap rules (Alaa Hleihel) [1691236 1663207] - [netdrv] net/mlx5e: Unblock setting vid 0 for VFs through the uplink rep (Alaa Hleihel) [1691236] - [netdrv] net/mlx5e: Move to use common phys port names for vport representors (Alaa Hleihel) [1691236] - [netdrv] net/mlx5e: Allow MAC invalidation while spoofchk is ON (Alaa Hleihel) [1691236] - [netdrv] net/mlx5: Take lock with IRQs disabled to avoid deadlock (Alaa Hleihel) [1691236] - [netdrv] net/mlx5e: Fix wrong private flag usage causing checksum disable (Alaa Hleihel) [1691236] - [netdrv] Revert "net/mlx5e: E-Switch, Initialize eswitch only if eswitch manager" (Alaa Hleihel) [1691236] - [infiniband] RDMA/mlx5: Fix flow creation on representors (Alaa Hleihel) [1691236] - [infiniband] IB/mlx5: Fix how advise_mr() launches async work (Alaa Hleihel) [1691236] - [infiniband] RDMA/mlx5: Fix check for supported user flags when creating a QP (Alaa Hleihel) [1691236] - [netdrv] net/mlx5e: Fix cb_ident duplicate in indirect block register (Alaa Hleihel) [1691236] - [netdrv] net/mlx5e: Fix wrong (zero) TX drop counter indication for representor (Alaa Hleihel) [1691236] - [netdrv] net/mlx5e: Fix wrong error code return on FEC query failure (Alaa Hleihel) [1691236] - [infiniband] Revert "IB/mlx5: Fix long EEH recover time with NVMe offloads" (Alaa Hleihel) [1691236] - [infiniband] IB/mlx5: Allow XRC INI usage via verbs in DEVX context (Alaa Hleihel) [1691236] - [netdrv] net/mlx5e: drop useless LIST_HEAD (Alaa Hleihel) [1691236] - [netdrv] net/mlx5e: fix semicolon.cocci warnings (Alaa Hleihel) [1691236] - [infiniband] RDMA/mlx5: Signedness bug in UVERBS_HANDLER() (Alaa Hleihel) [1691236] - [infiniband] IB/mlx5: Allocate the per-port Q counter shared when DEVX is supported (Alaa Hleihel) [1691236] - [netdrv] net/mlx5e: XDP, Add user control for XDP TX MPWQE feature (Alaa Hleihel) [1691236] - [netdrv] net/mlx5e: XDP, Support Enhanced Multi-Packet TX WQE (Alaa Hleihel) [1691236] - [netdrv] net/mlx5e: XDP, Add array for WQE info descriptors (Alaa Hleihel) [1691236] - [netdrv] net/mlx5e: XDP, Maintain a FIFO structure for xdp_info instances (Alaa Hleihel) [1691236] - [netdrv] net/mlx5e: XDP, Replace boolean doorbell indication with segment pointer (Alaa Hleihel) [1691236] - [netdrv] net/mlx5e: XDP, Warn upon polling an error CQE (Alaa Hleihel) [1691236] - [netdrv] net/mlx5e: XDP, Change the XDP SQ redirect indication (Alaa Hleihel) [1691236] - [netdrv] net/mlx5e: XDP, Precede XDP-related operations in RQ poll by a loaded program check (Alaa Hleihel) [1691236] - [netdrv] net/mlx5e: TX, Print opcode in error CQE warning (Alaa Hleihel) [1691236] - [infiniband] IB/mlx5: Fix wrong error unwind (Alaa Hleihel) [1691236] - [infiniband] IB/mlx5: Fix long EEH recover time with NVMe offloads (Alaa Hleihel) [1691236] - [infiniband] IB/mlx5: Simplify netdev unbinding (Alaa Hleihel) [1691236] - [infiniband] IB/mlx5: Use the correct commands for UMEM and UCTX allocation (Alaa Hleihel) [1691236] - [infiniband] IB/mlx5: Use uid as part of alloc/dealloc transport domain (Alaa Hleihel) [1691236] - [netdrv] net/mlx5: Fix LAG requirement when CONFIG_MLX5_ESWITCH is off (Alaa Hleihel) [1691236] - [netdrv] net/mlx5: Fix query_nic_sys_image_guid() error during init (Alaa Hleihel) [1691236] - [netdrv] net/mlx5e: Support tunnel encap over tagged Ethernet (Alaa Hleihel) [1691236 1663255] - [netdrv] net/mlx5e: Support VLAN encap ETH header generation (Alaa Hleihel) [1691236 1663255] - [netdrv] net/mlx5e: Re-order route and encap header memory allocation (Alaa Hleihel) [1691236 1663255] - [netdrv] net/mlx5e: Tunnel encap ETH header helper function (Alaa Hleihel) [1691236 1663255] - [netdrv] net/mlx5e: Fail attempt to offload e-switch TC encap flows with vlan on underlay (Alaa Hleihel) [1691236] - [netdrv] net/mlx5e: Tunnel routing output devs helper function (Alaa Hleihel) [1691236 1663255] - [netdrv] net/mlx5e: Fail attempt to offload e-switch TC flows with egress upper devices (Alaa Hleihel) [1691236] - [netdrv] net/mlx5e: Allow vlans on e-switch uplink reps (Alaa Hleihel) [1691236 1663255] - [netdrv] net/mlx5e: Increase VF representors' SQ size to 128 (Alaa Hleihel) [1691236] - [netdrv] mlx5: extend PTP gettime function to read system clock (Alaa Hleihel) [1691236] - [netdrv] mlx5: update timecounter at least twice per counter overflow (Alaa Hleihel) [1691236] - [include] IB/mlx5: Introduce uid as part of alloc/dealloc transport domain (Alaa Hleihel) [1691236] - [netdrv] drivers: net: ethernet: mellanox: use skb_sec_path helper (Alaa Hleihel) [1691236] - [infiniband] IB/mlx5: Fix compile issue when ODP disabled (Alaa Hleihel) [1691236] - [include] net/mlx5: Add shared Q counter bits (Alaa Hleihel) [1691236] - [infiniband] IB/mlx5: Add advise_mr() support (Alaa Hleihel) [1691236 1663248] - [infiniband] IB/uverbs: Add helper to get array size from ptr attribute (Alaa Hleihel) [1691236 1663248] - [infiniband] RDMA/mlx5: Fix function name typo 'fileds' -> 'fields' (Alaa Hleihel) [1691236] - [infiniband] RDMA/mlx5: Delete unreachable handle_atomic code by simplifying SW completion (Alaa Hleihel) [1691236] - [netdrv] net/mlx5: Continue driver initialization despite debugfs failure (Alaa Hleihel) [1691236] - [netdrv] net/mlx5e: Add some ethtool port control entries to the uplink rep netdev (Alaa Hleihel) [1691236 1663256] - [netdrv] net/mlx5e: Expose ethtool pause and link functions to mlx5e callers (Alaa Hleihel) [1691236 1663256] - [netdrv] net/mlx5e: Add sriov and udp tunnel ndo support for the uplink rep (Alaa Hleihel) [1691236 1663256] - [netdrv] net/mlx5e: Handle port mtu/link, dcb and lag for uplink reps (Alaa Hleihel) [1691236 1663256] - [netdrv] net/mlx5e: Uninstantiate esw manager vport netdev on switchdev mode (Alaa Hleihel) [1691236 1663256] - [netdrv] net/mlx5e: Remove leftover code from the PF netdev being uplink rep (Alaa Hleihel) [1691236 1663256] - [netdrv] net/mlx5e: Use dedicated uplink vport netdev representor (Alaa Hleihel) [1691236 1663256] - [netdrv] net/mlx5e: Use single argument for the esw representor build params helper (Alaa Hleihel) [1691236 1663256] - [netdrv] net/mlx5: E-Switch, Remove redundant reloading of the IB interface (Alaa Hleihel) [1691236 1663256 1663207] - [netdrv] net/mlx5: Handle LAG FW commands failure gracefully (Alaa Hleihel) [1691236 1663230] - [netdrv] net/mlx5: Make RoCE and SR-IOV LAG modes explicit (Alaa Hleihel) [1691236 1663230] - [netdrv] net/mlx5: Rename mlx5_lag_is_bonded() to __mlx5_lag_is_active() (Alaa Hleihel) [1691236 1663230] - [netdrv] net/mlx5: Allow co-enablement of uplink LAG and SRIOV (Alaa Hleihel) [1691236 1663230] - [netdrv] net/mlx5: Allow/disallow LAG according to pre-req only (Alaa Hleihel) [1691236 1663230] - [netdrv] net/mlx5: Adjustments for the activate LAG logic to run under sriov (Alaa Hleihel) [1691236 1663230] - [netdrv] net/mlx5e: Duplicate offloaded TC eswitch rules under uplink LAG (Alaa Hleihel) [1691236 1663230] - [netdrv] net/mlx5e: Offload TC e-switch rules with egress LAG device (Alaa Hleihel) [1691236 1663230] - [netdrv] net/mlx5e: In case of LAG, one switch parent id is used for all representors (Alaa Hleihel) [1691236 1663230] - [netdrv] net/mlx5e: Enhance flow counter scheme for offloaded TC eswitch rules (Alaa Hleihel) [1691236 1663230] - [netdrv] net/mlx5e: Infrastructure for duplicated offloading of TC flows (Alaa Hleihel) [1691236 1663230 1663207] - [netdrv] net/mlx5e: E-Switch, Add peer miss rules (Alaa Hleihel) [1691236 1663230 1663207] - [netdrv] net/mlx5: Introduce inter-device communication mechanism (Alaa Hleihel) [1691236 1663230] - [netdrv] net/mlx5: Fold the modify lag code into function (Alaa Hleihel) [1691236 1663230] - [netdrv] net/mlx5: Add lag affinity info to log (Alaa Hleihel) [1691236 1663230] - [netdrv] net/mlx5: Split the activate lag function into two routines (Alaa Hleihel) [1691236 1663230] - [include] net/mlx5: E-Switch, Introduce flow counter affinity (Alaa Hleihel) [1691236 1663230] - [infiniband] IB/mlx5: Unify e-switch representors load approach between uplink and VFs (Alaa Hleihel) [1691236] - [include] net/mlx5: Use lowercase 'X' for hex values (Alaa Hleihel) [1691236] - [netdrv] net/mlx5e: Remove set but not used variable 'upriv' (Alaa Hleihel) [1691236] - [netdrv] net/mlx5: Remove duplicated include from eswitch.c (Alaa Hleihel) [1691236] - [netdrv] net/mlx5e: Use monitor counters for update stats (Alaa Hleihel) [1691236] - [netdrv] net/mlx5e: Monitor counters commands support (Alaa Hleihel) [1691236] - [netdrv] net/mlx5e: Avoid query PPCNT register if not supported by the device (Alaa Hleihel) [1691236] - [netdrv] net/mlx5e: Use CQE padding for Ethernet CQs (Alaa Hleihel) [1691236] - [netdrv] net/mlx5e: Support multiple encapsulations for a TC flow (Alaa Hleihel) [1691236 1663239 1663207] - [netdrv] net/mlx5e: Allow association of a flow to multiple encaps (Alaa Hleihel) [1691236 1663239] - [netdrv] net/mlx5e: Change parse attr struct to accommodate multiple tunnel infos (Alaa Hleihel) [1691236 1663239] - [netdrv] net/mlx5e: Support header rewrite actions with remote port mirroring (Alaa Hleihel) [1691236 1663239 1663207] - [netdrv] net/mlx5e: Replace the split logic with extended destination (Alaa Hleihel) [1691236 1663239] - [netdrv] net/mlx5e: Annul encap action ordering requirement (Alaa Hleihel) [1691236 1663239 1663207] - [netdrv] net/mlx5e: Move flow attr reformat action bit to per dest flags (Alaa Hleihel) [1691236 1663239 1663207] - [netdrv] net/mlx5e: Refactor eswitch flow attr for destination specific properties (Alaa Hleihel) [1691236 1663239 1663207] - [netdrv] net/mlx5: E-Switch, Rename esw attr mirror count field (Alaa Hleihel) [1691236 1663239 1663207] - [netdrv] net/mlx5: Consider encapsulation properties when comparing destinations (Alaa Hleihel) [1691236 1663239] - [infiniband] RDMA/mlx5: Fail early if user tries to create flows on IB representors (Alaa Hleihel) [1691236] - [infiniband] IB/mlx5: Remove duplicated include from mlx5_ib.h (Alaa Hleihel) [1691236] - [infiniband] IB/mlx5: Add 2X width support to query_port (Alaa Hleihel) [1691236 1683102] - [infiniband] IB/mlx5: Add HDR speed support to query port (Alaa Hleihel) [1691236 1683102] - [infiniband] IB/mlx5: Report CapabilityMask2 in ib_query_port (Alaa Hleihel) [1691236 1683102] - [netdrv] net/mlx5e: Add GRE protocol offloading (Alaa Hleihel) [1691236 1663240] - [netdrv] net/mlx5e: Move TC tunnel offloading code to separate source file (Alaa Hleihel) [1691236 1663240] - [netdrv] net/mlx5e: Branch according to classified tunnel type (Alaa Hleihel) [1691236 1663240] - [netdrv] net/mlx5e: Refactor VXLAN tunnel decap offloading code (Alaa Hleihel) [1691236 1663240] - [netdrv] net/mlx5e: Refactor VXLAN tunnel encap offloading code (Alaa Hleihel) [1691236 1663240] - [netdrv] net/mlx5e: Replace egdev with indirect block notifications (Alaa Hleihel) [1691236 1663240] - [netdrv] net/mlx5e: Propagate the filter's net device to mlx5e structures (Alaa Hleihel) [1691236 1663240] - [netdrv] net/mlx5e: Provide the TC filter netdev as parameter to flower callbacks (Alaa Hleihel) [1691236 1663240] - [netdrv] net/mlx5e: Support TC indirect block notifications for eswitch uplink reprs (Alaa Hleihel) [1691236 1663240] - [netdrv] net/mlx5e: Store eswitch uplink representor state on a dedicated struct (Alaa Hleihel) [1691236 1663240] - [netdrv] net/mlx5: Remove the get protocol device interface entry (Alaa Hleihel) [1691236] - [netdrv] net/mlx5: Support extended destination format in flow steering command (Alaa Hleihel) [1691236 1663239] - [netdrv] net/mlx5: E-Switch, Change vhca id valid bool field to bit flag (Alaa Hleihel) [1691236 1663239 1663207] - [include] net/mlx5: Introduce extended destination fields (Alaa Hleihel) [1691236 1663239] - [infiniband] net/mlx5: Revise gre and nvgre key formats (Alaa Hleihel) [1691236 1663240] - [netdrv] net/mlx5: Add monitor commands layout and event data (Alaa Hleihel) [1691236] - [netdrv] net/mlx5: Add support for plugged-disabled cable status in PME (Alaa Hleihel) [1691236] - [netdrv] net/mlx5: Add support for PCIe power slot exceeded error in PME (Alaa Hleihel) [1691236] - [netdrv] net/mlx5: Rework handling of port module events (Alaa Hleihel) [1691236] - [netdrv] net/mlx5: Move flow counters data structures from flow steering header (Alaa Hleihel) [1691236] - [infiniband] IB/mlx5: Use helper to get CQE opcode (Alaa Hleihel) [1691236] - [netdrv] net/mlx5: Use helper to get CQE opcode (Alaa Hleihel) [1691236] - [netdrv] net/mlx5: When fetching CQEs return CQE instead of void pointer (Alaa Hleihel) [1691236] - [infiniband] IB/mlx5: Report packet based credit mode device capability (Alaa Hleihel) [1691236] - [infiniband] IB/mlx5: Add packet based credit mode support (Alaa Hleihel) [1691236] - [include] net/mlx5: Expose packet based credit mode (Alaa Hleihel) [1691236] - [infiniband] IB/mlx5: Enable TX on a DEVX flow table (Alaa Hleihel) [1691236] - [netdrv] net/mlx5e: Improve ethtool private-flags code structure (Alaa Hleihel) [1691236] - [netdrv] net/mlx5e: ethtool, Support user configuration for RX hash fields (Alaa Hleihel) [1691236] - [netdrv] net/mlx5e: Move RSS params to a dedicated struct (Alaa Hleihel) [1691236] - [netdrv] net/mlx5e: Refactor TIR configuration function (Alaa Hleihel) [1691236] - [netdrv] net/mlx5e: Move modify tirs hash functionality (Alaa Hleihel) [1691236] - [netdrv] net/mlx5e: Cleanup unused defines (Alaa Hleihel) [1691236] - [netdrv] net/mlx5e: Remove trailing space of tx_pause ethtool counter name (Alaa Hleihel) [1691236] - [infiniband] IB/mlx5: Allow XRC usage via verbs in DEVX context (Alaa Hleihel) [1691236] - [infiniband] IB/mlx5: Update the supported DEVX commands (Alaa Hleihel) [1691236] - [infiniband] IB/mlx5: Enforce DEVX privilege by firmware (Alaa Hleihel) [1691236] - [infiniband] IB/mlx5: Enable modify and query verbs objects via DEVX (Alaa Hleihel) [1691236] - [include] net/mlx5: Update mlx5_ifc with DEVX UCTX capabilities bits (Alaa Hleihel) [1691236] - [infiniband] RDMA/mlx5: Unfold modify RMP function (Alaa Hleihel) [1691236] - [infiniband] RDMA/mlx5: Unfold create RMP function (Alaa Hleihel) [1691236] - [infiniband] RDMA/mlx5: Initialize SRQ tables on mlx5_ib (Alaa Hleihel) [1691236] - [infiniband] RDMA/mlx5: Update SRQ functions signatures to mlx5_ib format (Alaa Hleihel) [1691236] - [infiniband] RDMA/mlx5: Use stages for callback to setup and release DEVX (Alaa Hleihel) [1691236] - [infiniband] RDMA/mlx5: Remove SRQ signature global flag (Alaa Hleihel) [1691236] - [infiniband] net/mlx5: Move SRQ functions to RDMA part (Alaa Hleihel) [1691236] - [netdrv] net/mlx5: Remove references to local mlx5_core functions (Alaa Hleihel) [1691236] - [netdrv] net/mlx5: Remove not-used lib/eq.h header file (Alaa Hleihel) [1691236] - [netdrv] net/mlx5: Remove dead transobj code (Alaa Hleihel) [1691236] - [infiniband] net/mlx5: Align SRQ licenses and copyright information (Alaa Hleihel) [1691236] - [netdrv] net/mlx5: Debug print for forwarded async events (Alaa Hleihel) [1691236] - [netdrv] net/mlx5: Forward SRQ resource events (Alaa Hleihel) [1691236] - [netdrv] net/mlx5: Forward QP/WorkQueues resource events (Alaa Hleihel) [1691236] - [netdrv] net/mlx5: Remove all deprecated software versions of FW events (Alaa Hleihel) [1691236] - [infiniband] IB/mlx5: Handle raw delay drop general event (Alaa Hleihel) [1691236] - [netdrv] net/mlx5: Allow forwarding event type general event as is (Alaa Hleihel) [1691236] - [infiniband] IB/mlx5: Handle raw port change event rather than the software version (Alaa Hleihel) [1691236] - [netdrv] net/mlx5: Remove unused events callback and logic (Alaa Hleihel) [1691236] - [infiniband] IB/mlx5: Use the new mlx5 core notifier API (Alaa Hleihel) [1691236] - [netdrv] net/mlx5: Forward all mlx5 events to mlx5 notifiers chain (Alaa Hleihel) [1691236] - [netdrv] net/mlx5e: Use the new mlx5 core notifier API (Alaa Hleihel) [1691236] - [netdrv] net/mlx5: Allow port change event to be forwarded to driver notifiers chain (Alaa Hleihel) [1691236] - [netdrv] net/mlx5: Driver events notifier API (Alaa Hleihel) [1691236] - [infiniband] IB/mlx5: Use fragmented QP's buffer for in-kernel users (Alaa Hleihel) [1691236] - [infiniband] IB/mlx5: Use fragmented SRQ's buffer for in-kernel users (Alaa Hleihel) [1691236] - [infiniband] RDMA/mlx5: Attach a DEVX counter via raw flow creation (Alaa Hleihel) [1691236] - [netdrv] net/mlx5: Improve core device events handling (Alaa Hleihel) [1691236] - [netdrv] net/mlx5: Device events, Use async events chain (Alaa Hleihel) [1691236] - [netdrv] net/mlx5: CQ ERR, Use async events chain (Alaa Hleihel) [1691236] - [netdrv] net/mlx5: Resource tables, Use async events chain (Alaa Hleihel) [1691236] - [netdrv] net/mlx5: CmdIF, Use async events chain (Alaa Hleihel) [1691236] - [netdrv] net/mlx5: FWPage, Use async events chain (Alaa Hleihel) [1691236] - [netdrv] net/mlx5: E-Switch, Use async events chain (Alaa Hleihel) [1691236] - [netdrv] net/mlx5: Clock, Use async events chain (Alaa Hleihel) [1691236] - [netdrv] net/mlx5: FPGA, Use async events chain (Alaa Hleihel) [1691236] - [netdrv] net/mlx5: FWTrace, Use async events chain (Alaa Hleihel) [1691236] - [netdrv] net/mlx5: EQ, Introduce atomic notifier chain subscription API (Alaa Hleihel) [1691236] - [infiniband] RDMA/mlx5: Use the uapi disablement APIs instead of code (Alaa Hleihel) [1691236] - [infiniband] RDMA/uverbs: Use a linear list to describe the compiled-in uapi (Alaa Hleihel) [1691236] - [netdrv] mlx5: use skb_vlan_tag_get_prio() (Alaa Hleihel) [1691236] - [infiniband] IB/mlx5: Allow modify AV in DCI QP to RTR (Alaa Hleihel) [1691236] - [netdrv] net/mlx5: EQ, Make EQE access methods inline (Alaa Hleihel) [1691236] - [netdrv] {net, IB}/mlx5: Move Page fault EQ and ODP logic to RDMA (Alaa Hleihel) [1691236] - [netdrv] net/mlx5: EQ, Generic EQ (Alaa Hleihel) [1691236] - [netdrv] net/mlx5: EQ, Different EQ types (Alaa Hleihel) [1691236] - [netdrv] net/mlx5: EQ, Privatize eq_table and friends (Alaa Hleihel) [1691236] - [netdrv] net/mlx5: EQ, irq_info and rmap belong to eq_table (Alaa Hleihel) [1691236] - [netdrv] net/mlx5: EQ, Create all EQs in one place (Alaa Hleihel) [1691236] - [netdrv] net/mlx5: EQ, Move all EQ logic to eq.c (Alaa Hleihel) [1691236] - [netdrv] net/mlx5: EQ, Remove redundant completion EQ list lock (Alaa Hleihel) [1691236] - [netdrv] net/mlx5: EQ, No need to store eq index as a field (Alaa Hleihel) [1691236] - [netdrv] net/mlx5: EQ, Remove unused fields and structures (Alaa Hleihel) [1691236] - [netdrv] net/mlx5: EQ, Use the right place to store/read IRQ affinity hint (Alaa Hleihel) [1691236] - [include] net/mlx5: Fix offsets of ifc reserved fields (Alaa Hleihel) [1691236] - [netdrv] net/mlx5e: Remove the false indication of software timestamping support (Alaa Hleihel) [1691234 1647734] - [netdrv] net/mlx5: Typo fix in del_sw_hw_rule (Alaa Hleihel) [1691234] - [netdrv] net/mlx5e: RX, Fix wrong early return in receive queue poll (Alaa Hleihel) [1691234] - [netdrv] net/mlx5e: Cancel DIM work on close SQ (Alaa Hleihel) [1691234] - [netdrv] net/mlx5e: Remove unused UDP GSO remaining counter (Alaa Hleihel) [1691234] - [netdrv] net/mlx5e: Avoid encap flows deletion attempt the 1st time a neigh is resolved (Alaa Hleihel) [1691234] - [netdrv] net/mlx5e: Properly initialize flow attributes for slow path eswitch rule deletion (Alaa Hleihel) [1691234] - [netdrv] net/mlx5e: Avoid overriding the user provided priority for offloaded tc rules (Alaa Hleihel) [1691234] - [netdrv] net/mlx5e: Err if asked to mirror a goto chain tc eswitch rule (Alaa Hleihel) [1691234] - [netdrv] net/mlx5e: Fix default amount of channels for VF representors (Alaa Hleihel) [1691234] - [include] net/mlx5: E-Switch, Fix fdb cap bits swap (Alaa Hleihel) [1691234] - [infiniband] IB/mlx5: Block DEVX umem from the non applicable cases (Alaa Hleihel) [1691234] - [infiniband] IB/mlx5: Fix XRC QP support after introducing extended atomic (Alaa Hleihel) [1691234] - [netdrv] net/mlx5e: Fix failing ethtool query on FEC query error (Alaa Hleihel) [1691234] - [netdrv] net/mlx5e: Fix wrong field name in FEC related functions (Alaa Hleihel) [1691234] - [netdrv] net/mlx5e: Fix a bug in turning off FEC policy in unsupported speeds (Alaa Hleihel) [1691234] - [include] net/mlx5: Fix XRC SRQ umem valid bits (Alaa Hleihel) [1691234] - [netdrv] net/mlx5: Allocate enough space for the FDB sub-namespaces (Alaa Hleihel) [1691234] - [netdrv] net/mlx5e: Added 'raw_errors_laneX' fields to ethtool statistics (Alaa Hleihel) [1691234] - [include] net/mlx5: Added "per_lane_error_counters" cap bit to PCAM (Alaa Hleihel) [1691234] - [netdrv] net/mlx5e: Ethtool driver callback for query/set FEC policy (Alaa Hleihel) [1691234] - [netdrv] net/mlx5e: Add port FEC get/set functions (Alaa Hleihel) [1691234] - [netdrv] net/mlx5: Add FEC fields to Port Phy Link Mode (PPLM) reg (Alaa Hleihel) [1691234] - [netdrv] net/mlx5: Remove counter from idr after removing it from list (Alaa Hleihel) [1691234] - [netdrv] net/mlx5: Take fs_counters dellist before addlist (Alaa Hleihel) [1691234] - [infiniband] net/mlx5: Refactor fragmented buffer struct fields and init flow (Alaa Hleihel) [1691234] - [netdrv] net/mlx5e: Support offloading tc priorities and chains for eswitch flows (Alaa Hleihel) [1691234] - [netdrv] net/mlx5e: Use a slow path rule instead if vxlan neighbour isn't available (Alaa Hleihel) [1691234] - [netdrv] net/mlx5: E-Switch, Enable setting goto slow path chain action (Alaa Hleihel) [1691234] - [netdrv] net/mlx5e: Avoid duplicated code for tc offloads add/del fdb rule (Alaa Hleihel) [1691234] - [netdrv] net/mlx5e: For TC offloads, always add new flow instead of appending the actions (Alaa Hleihel) [1691234] - [netdrv] net/mlx5: Add a no-append flow insertion mode (Alaa Hleihel) [1691234] - [netdrv] net/mlx5: E-Switch, Add chains and priorities (Alaa Hleihel) [1691234] - [netdrv] net/mlx5: E-Switch, Have explicit API to delete fwd rules (Alaa Hleihel) [1691234] - [netdrv] net/mlx5: Split FDB fast path prio to multiple namespaces (Alaa Hleihel) [1691234] - [include] net/mlx5: Add cap bits for multi fdb encap (Alaa Hleihel) [1691234] - [netdrv] net/mlx5e: Split TC add rule path for nic vs e-switch (Alaa Hleihel) [1691234] - [netdrv] net/mlx5e: Change return type of tc add flow functions (Alaa Hleihel) [1691234] - [netdrv] net/mlx5: Use flow counter IDs and not the wrapping cache object (Alaa Hleihel) [1691234] - [netdrv] net/mlx5: E-Switch, Get counters for offloaded flows from callers (Alaa Hleihel) [1691234] - [infiniband] IB/mlx5: Add support for extended atomic operations (Alaa Hleihel) [1691234] - [infiniband] IB/mlx5: Allow scatter to CQE without global signaled WRs (Alaa Hleihel) [1691234] - [infiniband] IB/mlx5: Verify that driver supports user flags (Alaa Hleihel) [1691234] - [infiniband] IB/mlx5: Support scatter to CQE for DC transport type (Alaa Hleihel) [1691234] - [include] net/mlx5: Expose DC scatter to CQE capability bit (Alaa Hleihel) [1691234] - [infiniband] RDMA/mlx5: Add support for flow tag to raw create flow (Alaa Hleihel) [1691234] - [infiniband] IB/mlx5: Verify DEVX object type (Alaa Hleihel) [1691234] - [netdrv] net/mlx5e: Add new counter for aRFS rule insertion failures (Alaa Hleihel) [1691234] - [netdrv] net/mlx5e: Add extack messages for TC offload failures (Alaa Hleihel) [1691234] - [netdrv] net/mlx5e: E-Switch, Add extack messages to devlink callbacks (Alaa Hleihel) [1691234] - [netdrv] net/mlx5e: Allow reporting of checksum unnecessary (Alaa Hleihel) [1691234] - [netdrv] net/mlx5e: Enable reporting checksum unnecessary also for L3 packets (Alaa Hleihel) [1691234] - [netdrv] net/mlx5e: Add ethtool control of ring params to VF representors (Alaa Hleihel) [1691234] - [netdrv] net/mlx5e: Enable multi-queue and RSS for VF representors (Alaa Hleihel) [1691234] - [netdrv] net/mlx5e: Expose ethtool rss key size / indirection table functions (Alaa Hleihel) [1691234] - [netdrv] net/mlx5e: Expose function for building RSS params (Alaa Hleihel) [1691234] - [netdrv] net/mlx5e: Provide explicit directive if to create inner indirect tirs (Alaa Hleihel) [1691234] - [netdrv] net/mlx5: E-Switch, Provide flow dest when creating vport rx rule (Alaa Hleihel) [1691234] - [netdrv] net/mlx5e: Extract creation of rep's default flow rule (Alaa Hleihel) [1691234] - [netdrv] net/mlx5e: Enable stateless offloads for VF representor netdevs (Alaa Hleihel) [1691234] - [netdrv] net/mlx5e: Change VF representors' RQ type (Alaa Hleihel) [1691234] - [netdrv] net/mlx5e: Ethtool steering, Support masks for l3/l4 filters (Alaa Hleihel) [1691234] - [infiniband] IB/mlx5: Enable DEVX on IB (Alaa Hleihel) [1691234] - [infiniband] IB/mlx5: Enable DEVX white list commands (Alaa Hleihel) [1691234] - [infiniband] IB/mlx5: Manage device uid for DEVX white list commands (Alaa Hleihel) [1691234] - [infiniband] IB/mlx5: Expose RAW QP device handles to user space (Alaa Hleihel) [1691234] - [infiniband] IB/mlx5: Set valid umem bit on DEVX (Alaa Hleihel) [1691234] - [infiniband] IB/mlx5: Set uid as part of TD commands (Alaa Hleihel) [1691234] - [infiniband] IB/mlx5: Set uid as part of XRCD commands (Alaa Hleihel) [1691234] - [infiniband] IB/mlx5: Set uid as part of CQ creation (Alaa Hleihel) [1691234] - [infiniband] IB/mlx5: Set uid upon PD allocation (Alaa Hleihel) [1691234] - [infiniband] IB/mlx5: Set uid as part of RQT commands (Alaa Hleihel) [1691234] - [infiniband] IB/mlx5: Set uid as part of TIS commands (Alaa Hleihel) [1691234] - [infiniband] IB/mlx5: Set uid as part of TIR commands (Alaa Hleihel) [1691234] - [infiniband] IB/mlx5: Set uid as part of MCG commands (Alaa Hleihel) [1691234] - [infiniband] IB/mlx5: Set uid as part of DCT commands (Alaa Hleihel) [1691234] - [infiniband] IB/mlx5: Set uid as part of SRQ commands (Alaa Hleihel) [1691234] - [infiniband] IB/mlx5: Set uid as part of SQ commands (Alaa Hleihel) [1691234] - [infiniband] IB/mlx5: Set uid as part of RQ commands (Alaa Hleihel) [1691234] - [infiniband] IB/mlx5: Set uid as part of QP creation (Alaa Hleihel) [1691234] - [infiniband] IB/mlx5: Use uid as part of PD commands (Alaa Hleihel) [1691234] - [include] net/mlx5: Update mlx5_ifc with DEVX UID bits (Alaa Hleihel) [1691234] - [netdrv] net/mlx5: Set uid as part of DCT commands (Alaa Hleihel) [1691234] - [netdrv] net/mlx5: Set uid as part of SRQ commands (Alaa Hleihel) [1691234] - [netdrv] net/mlx5: Set uid as part of SQ commands (Alaa Hleihel) [1691234] - [netdrv] net/mlx5: Set uid as part of RQ commands (Alaa Hleihel) [1691234] - [netdrv] net/mlx5: Set uid as part of QP commands (Alaa Hleihel) [1691234] - [netdrv] net/mlx5: Set uid as part of CQ commands (Alaa Hleihel) [1691234] - [infiniband] RDMA/mlx5: Enable vport loopback when user context or QP mandate (Alaa Hleihel) [1691234] - [infiniband] RDMA/mlx5: Allow creating RAW ethernet QP with loopback support (Alaa Hleihel) [1691234] - [infiniband] RDMA/mlx5: Refactor transport domain bookkeeping logic (Alaa Hleihel) [1691234] - [infiniband] net/mlx5: Rename incorrect naming in IFC file (Alaa Hleihel) [1691234] - [infiniband] RDMA/mlx5: Use rdma_user_mmap_io (Alaa Hleihel) [1691234] - [infiniband] RDMA/mlx5: Allow creating a matcher for a NIC TX flow table (Alaa Hleihel) [1691234 1663215] - [infiniband] RDMA/mlx5: Add NIC TX namespace when getting a flow table (Alaa Hleihel) [1691234 1663215] - [infiniband] RDMA/mlx5: Add flow actions support to raw create flow (Alaa Hleihel) [1691234 1663215] - [infiniband] RDMA/mlx5: Refactor raw flow creation (Alaa Hleihel) [1691234 1663215] - [infiniband] RDMA/mlx5: Don't overwrite action if already set (Alaa Hleihel) [1691234 1663215] - [infiniband] RDMA/mlx5: Refactor flow action parsing to be more generic (Alaa Hleihel) [1691234 1663215] - [infiniband] RDMA/mlx5: Enable attaching packet reformat action to steering flows (Alaa Hleihel) [1691234 1663215] - [infiniband] RDMA/mlx5: Enable reformat on NIC RX if supported (Alaa Hleihel) [1691234 1663215] - [infiniband] RDMA/mlx5: Enable attaching DECAP action to steering flows (Alaa Hleihel) [1691234 1663215] - [infiniband] RDMA/mlx5: Enable decap and packet reformat on flow tables (Alaa Hleihel) [1691234 1663215] - [infiniband] RDMA/mlx5: Enable attaching modify header to steering flows (Alaa Hleihel) [1691234 1663215] - [infiniband] RDMA/mlx5: Add NIC TX steering support (Alaa Hleihel) [1691234 1663215] - [netdrv] net/mlx5e: Replace PTP clock lock from RW lock to seq lock (Alaa Hleihel) [1691234] - [netdrv] net/mlx5e: Move Q counters allocation and drop RQ to init_rx (Alaa Hleihel) [1691234] - [netdrv] net/mlx5: Add flow counters idr (Alaa Hleihel) [1691234] - [netdrv] net/mlx5: Store flow counters in a list (Alaa Hleihel) [1691234] - [netdrv] net/mlx5: Add new list to store deleted flow counters (Alaa Hleihel) [1691234] - [netdrv] net/mlx5: Change flow counters addlist type to single linked list (Alaa Hleihel) [1691234] - [infiniband] RDMA/mlx5: Extend packet reformat verbs (Alaa Hleihel) [1691234 1663215] - [infiniband] RDMA/mlx5: Add new flow action verb - packet reformat (Alaa Hleihel) [1691234 1663215] - [infiniband] RDMA/uverbs: Add generic function to fill in flow action object (Alaa Hleihel) [1691234 1663215] - [infiniband] RDMA/mlx5: Add a new flow action verb - modify header (Alaa Hleihel) [1691234 1663215] - [netdrv] net/mlx5: Export packet reformat alloc/dealloc functions (Alaa Hleihel) [1691234 1663215] - [netdrv] net/mlx5: Pass a namespace for packet reformat ID allocation (Alaa Hleihel) [1691234 1663215] - [include] net/mlx5: Expose new packet reformat capabilities (Alaa Hleihel) [1691234 1663215] - [netdrv] {net, RDMA}/mlx5: Rename encap to reformat packet (Alaa Hleihel) [1691234 1663215] - [netdrv] net/mlx5: Move header encap type to IFC header file (Alaa Hleihel) [1691234 1663215] - [netdrv] net/mlx5: Break encap/decap into two separated flow table creation flags (Alaa Hleihel) [1691234 1663215] - [netdrv] net/mlx5: Add support for more namespaces when allocating modify header (Alaa Hleihel) [1691234 1663215] - [netdrv] net/mlx5: Export modify header alloc/dealloc functions (Alaa Hleihel) [1691234 1663215] - [netdrv] net/mlx5: Add proper NIC TX steering flow tables support (Alaa Hleihel) [1691234 1663215] - [netdrv] net/mlx5: Cleanup flow namespace getter switch logic (Alaa Hleihel) [1691234] - [infiniband] IB/mlx5: Change TX affinity assignment in RoCE LAG mode (Alaa Hleihel) [1691234] - [netdrv] net/mlx5: Add memic command opcode to command checker (Alaa Hleihel) [1691234] - [infiniband] IB/mlx5: Destroy the DEVX object upon error flow (Alaa Hleihel) [1691231] - [netdrv] net/mlx5e: TLS, Read capabilities only when it is safe (Alaa Hleihel) [1691231] - [netdrv] net/mlx5e: Ethtool steering, fix udp source port value (Alaa Hleihel) [1691231] - [netdrv] net/mlx5: Improve argument name for add flow API (Alaa Hleihel) [1691231] - [netdrv] net/mlx5e: Ethtool steering, l4 proto support (Alaa Hleihel) [1691231] - [netdrv] net/mlx5e: Ethtool steering, ip6 support (Alaa Hleihel) [1691231] - [netdrv] net/mlx5e: Ethtool steering flow parsing refactoring (Alaa Hleihel) [1691231] - [netdrv] net/mlx5e: Ethtool steering flow validation refactoring (Alaa Hleihel) [1691231] - [infiniband] IB/uverbs: Use uverbs_alloc for allocations (Alaa Hleihel) [1691231] - [netdrv] net/mlx5: Unexport functions that need not be exported (Alaa Hleihel) [1691231] - [netdrv] net/mlx5: Remove unused mlx5_query_vport_admin_state (Alaa Hleihel) [1691231] - [netdrv] net/mlx5: E-Switch, Remove unused argument when creating legacy FDB (Alaa Hleihel) [1691231] - [netdrv] net/mlx5: Rename modify/query_vport state related enums (Alaa Hleihel) [1691231] - [netdrv] net/mlx5e: Mark expected switch fall-throughs (Alaa Hleihel) [1691231] - [netdrv] mellanox: fix the dport endianness in call of __inet6_lookup_established() (Alaa Hleihel) [1691231] - [netdrv] mlx5: handle DMA mapping error case for XDP redirect (Alaa Hleihel) [1691231] - [infiniband] IB/uverbs: Add UVERBS_ATTR_FLAGS_IN to the specs language (Alaa Hleihel) [1691231] - [netdrv] net/mlx5e: Issue direct lookup on vxlan ports by vport representors (Alaa Hleihel) [1691231] - [netdrv] net/mlx5e: TX, Use function to access sq_dma object in fifo (Alaa Hleihel) [1691231] - [netdrv] net/mlx5e: TX, Move DB fields in TXQ-SQ struct (Alaa Hleihel) [1691231] - [netdrv] net/mlx5e: Add support for XDP_REDIRECT in device-out side (Alaa Hleihel) [1691231] - [netdrv] net/mlx5e: Re-order fields of struct mlx5e_xdpsq (Alaa Hleihel) [1691231] - [netdrv] net/mlx5e: Refactor XDP counters (Alaa Hleihel) [1691231] - [netdrv] net/mlx5e: Make XDP xmit functions more generic (Alaa Hleihel) [1691231] - [netdrv] net/mlx5e: Add counter for XDP redirect in RX (Alaa Hleihel) [1691231] - [infiniband] IB/mlx5: Enable driver uapi commands for flow steering (Alaa Hleihel) [1691231] - [infiniband] IB/mlx5: Add support for a flow table destination for driver flow steering (Alaa Hleihel) [1691231] - [infiniband] IB/mlx5: Support adding flow steering rule by raw description (Alaa Hleihel) [1691231] - [infiniband] IB/mlx5: Introduce driver create and destroy flow methods (Alaa Hleihel) [1691231] - [infiniband] IB/mlx5: Introduce flow steering matcher uapi object (Alaa Hleihel) [1691231] - [netdrv] net/mlx5: Add support for flow table destination number (Alaa Hleihel) [1691231] - [netdrv] net/mlx5: Add forward compatible support for the FTE match data (Alaa Hleihel) [1691231] - [netdrv] net/mlx5e: Support offloading double vlan push/pop tc actions (Alaa Hleihel) [1691231 1615127] - [netdrv] net/mlx5e: Refactor tc vlan push/pop actions offloading (Alaa Hleihel) [1691231 1615127] - [netdrv] net/mlx5e: Support offloading tc double vlan headers match (Alaa Hleihel) [1691231 1615127] - [netdrv] net/mlx5: FW tracer, Add debug prints (Alaa Hleihel) [1691231] - [netdrv] net/mlx5: FW tracer, Enable tracing (Alaa Hleihel) [1691231] - [netdrv] net/mlx5: FW tracer, parse traces and kernel tracing support (Alaa Hleihel) [1691231] - [netdrv] net/mlx5: FW tracer, events handling (Alaa Hleihel) [1691231] - [netdrv] net/mlx5: FW tracer, register log buffer memory key (Alaa Hleihel) [1691231] - [netdrv] net/mlx5: FW tracer, create trace buffer and copy strings database (Alaa Hleihel) [1691231] - [netdrv] net/mlx5: FW tracer, implement tracer logic (Alaa Hleihel) [1691231] - [infiniband] RDMA/mlx5: Remove set but not used variables (Alaa Hleihel) [1691231] - [netdrv] net/mlx5: Add XRQ commands definitions (Alaa Hleihel) [1691231] - [netdrv] net/mlx5: Add core support for double vlan push/pop steering action (Alaa Hleihel) [1691231 1615127] - [netdrv] net/mlx5: Expose MPEGC (Management PCIe General Configuration) structures (Alaa Hleihel) [1691231] - [netdrv] net/mlx5: FW tracer, add hardware structures (Alaa Hleihel) [1691231] - [netdrv] net/mlx5: fix an unused-function warning (Alaa Hleihel) [1691231] - [netdrv] net/mlx5e: IPsec, fix byte count in CQE (Alaa Hleihel) [1691231] - [netdrv] net/mlx5: Accel, add common metadata functions (Alaa Hleihel) [1691231] - [netdrv] net/mlx5e: TLS, build TLS netdev from capabilities (Alaa Hleihel) [1691231] - [netdrv] net/mlx5e: TLS, add software statistics (Alaa Hleihel) [1691231] - [netdrv] net/mlx5e: TLS, add Innova TLS rx data path (Alaa Hleihel) [1691231] - [netdrv] net/mlx5e: TLS, add innova rx support (Alaa Hleihel) [1691231] - [netdrv] net/mlx5: Accel, add TLS rx offload routines (Alaa Hleihel) [1691231] - [netdrv] net/mlx5e: TLS, refactor variable names (Alaa Hleihel) [1691231] - [infiniband] RDMA/mlx5: Check that supplied blue flame index doesn't overflow (Alaa Hleihel) [1691231] - [infiniband] RDMA/mlx5: Melt consecutive calls to alloc_bfreg() in one call (Alaa Hleihel) [1691231] - [netdrv] net/mlx5: Use 2-factor allocator calls (Alaa Hleihel) [1691231] - [infiniband] RDMA/mlx5: Remove unused port number parameter (Alaa Hleihel) [1691231] - [infiniband] IB/mlx5: Expose dump and fill memory key (Alaa Hleihel) [1691231] - [include] net/mlx5: Add hardware definitions for dump_fill_mkey (Alaa Hleihel) [1691231] - [infiniband] net/mlx5: Limit scope of dump_fill_mkey function (Alaa Hleihel) [1691231] - [infiniband] IB/mlx5: Add support for drain SQ & RQ (Alaa Hleihel) [1691231] - [infiniband] IB/mlx5: Support RoCE ICRC encapsulated error counter (Alaa Hleihel) [1691231 1663195] - [include] net/mlx5: Add RoCE RX ICRC encapsulated counter (Alaa Hleihel) [1691231 1663195] - [infiniband] RDMA/mlx5: Refactor transport domain checks (Alaa Hleihel) [1691231] - [infiniband] IB/mlx5: Expose DEVX tree (Alaa Hleihel) [1691231 1663190] - [infiniband] IB/mlx5: Add DEVX query EQN support (Alaa Hleihel) [1691231 1663190] - [infiniband] IB/mlx5: Add DEVX support for memory registration (Alaa Hleihel) [1691231 1663190] - [infiniband] IB/mlx5: Add support for DEVX query UAR (Alaa Hleihel) [1691231 1663190] - [infiniband] IB/mlx5: Add DEVX support for modify and query commands (Alaa Hleihel) [1691231 1663190] - [infiniband] IB/mlx5: Add obj create and destroy functionality (Alaa Hleihel) [1691231 1663190] - [infiniband] IB/mlx5: Add support for DEVX general command (Alaa Hleihel) [1691231 1663190] - [infiniband] IB/mlx5: Introduce DEVX (Alaa Hleihel) [1691231 1663190] - [netdrv] net/mlx5: Expose DEVX specification (Alaa Hleihel) [1691231]- [virt] kvm: arm/arm64: Don't emulate virtual timers on userspace ioctls (Andrew Jones) [1716066] - [virt] kvm: arm/arm64: Remove unused timer variable (Andrew Jones) [1716066] - [virt] kvm: arm/arm64: Rework the timer code to use a timer_map (Andrew Jones) [1716066] - [powerpc] powernv: Fix compile without CONFIG_TRACEPOINTS (David Gibson) [1524674] - [virt] kvm: ppc: book3s: Remove useless checks in 'release' method of KVM device (David Gibson) [1524674] - [powerpc] kvm: ppc: book3s hv: xive: Clear escalation interrupt pointers on device close (David Gibson) [1524674] - [powerpc] kvm: ppc: book3s hv: xive: Prevent races when releasing device (David Gibson) [1524674] - [powerpc] kvm: ppc: book3s hv: xive: Replace the 'destroy' method by a 'release' method (David Gibson) [1524674] - [virt] kvm: Introduce a 'release' method for KVM devices (David Gibson) [1524674] - [powerpc] kvm: ppc: book3s hv: xive: Activate XIVE exploitation mode (David Gibson) [1524674] - [powerpc] kvm: ppc: book3s hv: xive: Add passthrough support (David Gibson) [1524674] - [powerpc] kvm: ppc: book3s hv: xive: Add a mapping for the source ESB pages (David Gibson) [1524674] - [powerpc] kvm: ppc: book3s hv: xive: Add a TIMA mapping (David Gibson) [1524674] - [virt] kvm: Introduce a 'mmap' method for KVM devices (David Gibson) [1524674] - [powerpc] kvm: ppc: book3s hv: xive: Add get/set accessors for the VP XIVE state (David Gibson) [1524674] - [powerpc] kvm: ppc: book3s hv: xive: Add a control to dirty the XIVE EQ pages (David Gibson) [1524674] - [powerpc] kvm: ppc: book3s hv: xive: Add a control to sync the sources (David Gibson) [1524674] - [powerpc] kvm: ppc: book3s hv: xive: Add a global reset control (David Gibson) [1524674] - [powerpc] kvm: ppc: book3s hv: xive: Add controls for the EQ configuration (David Gibson) [1524674] - [powerpc] kvm: ppc: book3s hv: xive: Add a control to configure a source (David Gibson) [1524674] - [powerpc] kvm: ppc: book3s hv: xive: add a control to initialize a source (David Gibson) [1524674] - [powerpc] kvm: ppc: book3s hv: xive: Introduce a new capability KVM_CAP_PPC_IRQ_XIVE (David Gibson) [1524674] - [powerpc] kvm: ppc: book3s hv: Add a new KVM device for the XIVE native exploitation mode (David Gibson) [1524674] - [powerpc] xive: add OPAL extensions for the XIVE native exploitation support (David Gibson) [1524674] - [powerpc] powernv: move OPAL call wrapper tracing and interrupt handling to C (David Gibson) [1524674] - [thermal] thermal/intel_powerclamp: fix truncated kthread name (Lihong Yang) [1716810] - [kernel] kernel/signal.c: trace_signal_deliver when signal_group_exit (Waiman Long) [1548279] - [kernel] signal: unconditionally leave the frozen state in ptrace_stop() (Waiman Long) [1548279] - [kernel] cgroup: never call do_group_exit() with task->frozen bit set (Waiman Long) [1548279] - [kernel] kernel: cgroup: fix misuse of x (Waiman Long) [1548279] - [kernel] cgroup: get rid of cgroup_freezer_frozen_exit() (Waiman Long) [1548279] - [kernel] cgroup: prevent spurious transition into non-frozen state (Waiman Long) [1548279] - [kernel] cgroup: Remove unused cgrp variable (Waiman Long) [1548279] - [documentation] cgroup: document cgroup v2 freezer interface (Waiman Long) [1548279] - [kernel] cgroup: add tracing points for cgroup v2 freezer (Waiman Long) [1548279] - [kernel] cgroup: make TRACE_CGROUP_PATH irq-safe (Waiman Long) [1548279] - [tools] kselftests: cgroup: don't fail on cg_kill_all() error in cg_destroy() (Waiman Long) [1548279] - [kernel] cgroup: cgroup v2 freezer (Waiman Long) [1548279] - [kernel] cgroup: protect cgroup->nr_(dying_)descendants by css_set_lock (Waiman Long) [1548279] - [kernel] cgroup: implement __cgroup_task_count() helper (Waiman Long) [1548279] - [kernel] cgroup: rename freezer.c into legacy_freezer.c (Waiman Long) [1548279] - [kernel] cgroup: remove extra cgroup_migrate_finish() call (Waiman Long) [1548279] - [kernel] cgroup/cpuset: Update stale generate_sched_domains() comments (Waiman Long) [1548279] - [kernel] cgroup: saner refcounting for cgroup_root (Waiman Long) [1548279] - [fs] fix cgroup_do_mount() handling of failure exits (Waiman Long) [1548279] - [kernel] cgroup: Add named hierarchy disabling to cgroup_no_v1 boot param (Waiman Long) [1548279] - [kernel] cgroup: fix parsing empty mount option string (Waiman Long) [1548279] - [kernel] cgroup: fix CSS_TASK_ITER_PROCS (Waiman Long) [1548279] - [kernel] cgroup: Fix dom_cgrp propagation when enabling threaded mode (Waiman Long) [1548279] - [lib] lib: objagg: fix handling of object with 0 users when assembling hints (Ivan Vecera) [1704850] - [lib] test_objagg: Uninitialized variable in error handling (Ivan Vecera) [1704850] - [lib] test_objagg: Test the correct variable (Ivan Vecera) [1704850] - [lib] lib: objagg: Fix an error code in objagg_hints_get() (Ivan Vecera) [1704850] - [lib] lib: objagg: add root count to stats (Ivan Vecera) [1704850] - [lib] lib: objagg: implement optimization hints assembly and use hints for object creation (Ivan Vecera) [1704850] - [lib] lib: objagg: fix typo in objagg_stats_put() docstring (Ivan Vecera) [1704850] - [lib] lib: introduce initial implementation of object aggregation manager (Ivan Vecera) [1704850] - [netdrv] ibmvnic: Fix unchecked return codes of memory allocations (Steve Best) [1718919] - [netdrv] ibmvnic: Refresh device multicast list after reset (Steve Best) [1718919] - [netdrv] ibmvnic: Do not close unopened driver during reset (Steve Best) [1718919] - [target] scsi: target: tcmu: Switch to bitmap_zalloc() (Maurizio Lombardi) [1712917] - [target] scsi: target: tcmu: wait for nl reply only if there are listeners or during an add (Maurizio Lombardi) [1712917] - [target] scsi: target/iscsi: Simplify iscsit_handle_text_cmd() (Maurizio Lombardi) [1712917] - [target] scsi: target/iscsi: Simplify iscsit_dump_data_payload() (Maurizio Lombardi) [1712917] - [target] scsi: target/iscsi: Avoid iscsit_release_commands_from_conn() deadlock (Maurizio Lombardi) [1712917] - [target] scsi: target/iscsi: Rename a function and a function pointer (Maurizio Lombardi) [1712917] - [target] scsi: target/iscsi: Fix spelling of "unsolicited" (Maurizio Lombardi) [1712917] - [target] scsi: target/iscsi: Convert comments about locking into runtime checks (Maurizio Lombardi) [1712917] - [target] scsi: target/iscsi: Remove an incorrect comment (Maurizio Lombardi) [1712917] - [target] scsi: target/core: Add target_send_busy() (Maurizio Lombardi) [1712917] - [target] scsi: target/core: Inline transport_lun_remove_cmd() (Maurizio Lombardi) [1712917] - [target] scsi: target/core: Simplify the LUN RESET implementation (Maurizio Lombardi) [1712917] - [target] scsi: target/core: Remove several state tests from the TMF code (Maurizio Lombardi) [1712917] - [target] scsi: target/core: Remove the write_pending_status() callback function (Maurizio Lombardi) [1712917] - [target] scsi: target: make the pi_prot_format ConfigFS path readable (Maurizio Lombardi) [1712917] - [target] scsi: tcmu: fix use after free (Maurizio Lombardi) [1712917] - [target] scsi: tcmu: avoid cmd/qfull timers updated whenever a new cmd comes (Maurizio Lombardi) [1712917] - [target] scsi: target/iscsi: fix error msg typo when create lio_qr_cache failed (Maurizio Lombardi) [1712917] - [target] scsi: target/core: Use kmem_cache_free() instead of kfree() (Maurizio Lombardi) [1712917] - [target] scsi: target: perform t10_wwn ID initialisation in target_alloc_device() (Maurizio Lombardi) [1712917] - [target] scsi: target: remove hardcoded T10 Vendor ID in INQUIRY response (Maurizio Lombardi) [1712917] - [target] scsi: target: add device vendor_id configfs attribute (Maurizio Lombardi) [1712917] - [target] scsi: target: consistently null-terminate t10_wwn strings (Maurizio Lombardi) [1712917] - [target] scsi: target: use consistent left-aligned ASCII INQUIRY data (Maurizio Lombardi) [1712917] - [target] scsi: target/core: Reduce the amount of code executed with a spinlock held (Maurizio Lombardi) [1712917] - [target] scsi: target/core: Make ABORT and LUN RESET handling synchronous (Maurizio Lombardi) [1712917] - [target] scsi: target/core: Fix TAS handling for aborted commands (Maurizio Lombardi) [1712917] - [target] scsi: target/core: Simplify the code for aborting SCSI commands (Maurizio Lombardi) [1712917] - [target] scsi: target/core: Make it possible to wait from more than one context for command completion (Maurizio Lombardi) [1712917] - [target] scsi: target/core: Use system workqueues for TMF (Maurizio Lombardi) [1712917] - [target] scsi: target/core: Make sure that target_wait_for_sess_cmds() waits long enough (Maurizio Lombardi) [1712917] - [target] scsi: target: Fix target_wait_for_sess_cmds breakage with active signals (Maurizio Lombardi) [1712917] - [target] scsi: target/core: Simplify transport_clear_lun_ref() (Maurizio Lombardi) [1712917] - [target] scsi: target/core: Use kvcalloc() instead of open-coding it (Maurizio Lombardi) [1712917] - [target] scsi: target/tcmu: Fix queue_cmd_ring() declaration (Maurizio Lombardi) [1712917] - [target] scsi: target: replace fabric_ops.name with fabric_alias (Maurizio Lombardi) [1712917] - [target] scsi: target: drop unnecessary get_fabric_name() accessor from fabric_ops (Maurizio Lombardi) [1712917] - [target] scsi: target: drop unused pi_prot_format attribute storage (Maurizio Lombardi) [1712917] - [target] scsi: target: add emulate_pr backstore attr to toggle PR support (Maurizio Lombardi) [1712917] - [target] scsi: target/core: Avoid that a kernel oops is triggered when COMPARE AND WRITE fails (Maurizio Lombardi) [1712917] - [target] scsi: target: Don't request modules that aren't even built (Maurizio Lombardi) [1712917] - [target] scsi: target: Set response length for REPORT TARGET PORT GROUPS (Maurizio Lombardi) [1712917] - [target] scsi: target/core: Always call transport_complete_callback() upon failure (Maurizio Lombardi) [1712917] - [target] scsi: target/core: Use sg_alloc_table() instead of open-coding it (Maurizio Lombardi) [1712917] - [target] scsi: target/core: Use the SECTOR_SHIFT constant (Maurizio Lombardi) [1712917] - [target] scsi: target/core: Remove the SCF_COMPARE_AND_WRITE_POST flag (Maurizio Lombardi) [1712917] - [target] scsi: target/core: Remove an unused data member from struct xcopy_pt_cmd (Maurizio Lombardi) [1712917] - [target] scsi: target/core: Fix spelling in two source code comments (Maurizio Lombardi) [1712917] - [target] scsi: target: stash sess_err_stats on Data-Out timeout (Maurizio Lombardi) [1712917] - [target] scsi: target: split out helper for cxn timeout error stashing (Maurizio Lombardi) [1712917] - [target] scsi: target: log NOP ping timeouts as errors (Maurizio Lombardi) [1712917] - [target] scsi: target: log Data-Out timeouts as errors (Maurizio Lombardi) [1712917] - [include] scsi: target: use ISCSI_IQN_LEN in iscsi_target_stat (Maurizio Lombardi) [1712917] - [target] scsi: target: iblock: split T10 PI SGL across command bios (Maurizio Lombardi) [1712917] - [target] scsi: iscsi: target: fix spelling mistake "entires" -> "entries" (Maurizio Lombardi) [1712917] - [target] scsi: iscsi: target: Fix conn_ops double free (Maurizio Lombardi) [1712917] - [target] scsi: iscsi: target: Set conn->sess to NULL when iscsi_login_set_conn_values fails (Maurizio Lombardi) [1712917] - [target] scsi: target: loop, usb, vhost, xen: use target_remove_session (Maurizio Lombardi) [1712917] - [target] scsi: tcm_fc: use target_remove_session (Maurizio Lombardi) [1712917] - [target] scsi: target: make transport_init_session_tags static (Maurizio Lombardi) [1712917] - [target] scsi: iscsi target: have iscsit_start_nopin_timer call __iscsit_start_nopin_timer (Maurizio Lombardi) [1712917] - [target] scsi: target: fix __transport_register_session locking (Maurizio Lombardi) [1712917] - [target] Revert "scsi: target/iscsi: Reduce number of __iscsit_free_cmd() callers" (Maurizio Lombardi) [1712917] - [target] scsi: tcmu: use u64 for dev_size (Maurizio Lombardi) [1712917] - [target] scsi: tcmu: use match_int for dev params (Maurizio Lombardi) [1712917] - [target] scsi: tcmu: do not set max_blocks if data_bitmap has been setup (Maurizio Lombardi) [1712917] - [target] scsi: tcmu: unmap if dev is configured (Maurizio Lombardi) [1712917] - [target] scsi: tcmu: check if dev is configured before block/reset (Maurizio Lombardi) [1712917] - [target] scsi: tcmu: use lio core se_device configuration helper (Maurizio Lombardi) [1712917] - [target] scsi: target: add helper to check if dev is configured (Maurizio Lombardi) [1712917] - [target] scsi: tcmu: initialize list head (Maurizio Lombardi) [1712917] - [target] scsi: target_core_user: fix double unlock (Maurizio Lombardi) [1712917] - [target] scsi: target: Remove se_dev_entry.ua_count (Maurizio Lombardi) [1712917] - [target] scsi: target: Fix handling of removed LUNs (Maurizio Lombardi) [1712917] - [target] scsi: target: Send unit attention condition even if the sense buffer is too small (Maurizio Lombardi) [1712917] - [target] scsi: target: Do not duplicate the code that marks that a command has sense data (Maurizio Lombardi) [1712917] - [target] scsi: target/tcm_loop: Avoid that static checkers warn about dead code (Maurizio Lombardi) [1712917] - [target] scsi: target/iscsi: Reduce number of __iscsit_free_cmd() callers (Maurizio Lombardi) [1712917] - [target] scsi: target: Simplify the code for waiting for command completion (Maurizio Lombardi) [1712917] - [target] scsi: target: Simplify transport_generic_free_cmd() (2/2) (Maurizio Lombardi) [1712917] - [target] scsi: target: Simplify transport_generic_free_cmd() (1/2) (Maurizio Lombardi) [1712917] - [target] scsi: target: Fold core_tmr_handle_tas_abort() into transport_cmd_finish_abort() (Maurizio Lombardi) [1712917] - [target] scsi: target: Simplify core_tmr_handle_tas_abort() (Maurizio Lombardi) [1712917] - [target] scsi: target: Document when CMD_T_STOP and CMD_T_COMPLETE are set (Maurizio Lombardi) [1712917] - [target] scsi: target: Make the session shutdown code also wait for commands that are being aborted (Maurizio Lombardi) [1712917] - [target] scsi: target: Introduce transport_init_session() (Maurizio Lombardi) [1712917] - [target] scsi: target: Rename transport_init_session() into transport_alloc_session() (Maurizio Lombardi) [1712917] - [target] scsi: target: Move a list_del_init() statement (Maurizio Lombardi) [1712917] - [target] scsi: target: Avoid that EXTENDED COPY commands trigger lock inversion (Maurizio Lombardi) [1712917] - [target] scsi: target: Use config_item_name() instead of open-coding it (Maurizio Lombardi) [1712917] - [target] scsi: tcmu: Don't pass KERN_ERR to pr_err (Maurizio Lombardi) [1712917] - [target] scsi: target: remove target_find_device (Maurizio Lombardi) [1712917] - [target] scsi: tcmu: add module wide block/reset_netlink support (Maurizio Lombardi) [1712917] - [target] scsi: tcmu: misc nl code cleanup (Maurizio Lombardi) [1712917] - [target] scsi: tcmu: simplify nl interface (Maurizio Lombardi) [1712917] - [target] scsi: tcmu: track nl commands (Maurizio Lombardi) [1712917] - [target] scsi: tcmu: delete unused __wait (Maurizio Lombardi) [1712917] - [target] scsi: tcmu: remove useless code and clean up the code style (Maurizio Lombardi) [1712917]- [ipc] ipc: do cyclic id allocation for the ipc object. (Waiman Long) [1710480] - [ipc] ipc: conserve sequence numbers in ipcmni_extend mode (Waiman Long) [1710480] - [ipc] ipc: allow boot time extension of IPCMNI from 32k to 16M (Waiman Long) [1710480] - [ipc] ipc/mqueue: optimize msg_get() (Waiman Long) [1710480] - [ipc] ipc/mqueue: remove redundant wq task assignment (Waiman Long) [1710480] - [ipc] ipc: prevent lockup on alloc_msg and free_msg (Waiman Long) [1710480] - [ipc] ipc: IPCMNI limit check for semmni (Waiman Long) [1710480] - [ipc] ipc: IPCMNI limit check for msgmni and shmmni (Waiman Long) [1710480] - [ipc] ipc/shm.c: use ERR_CAST() for shm_lock() error return (Waiman Long) [1710480] - [ipc] ipc/shm: properly return EIDRM in shm_lock() (Waiman Long) [1710480] - [ipc] ipc/util.c: update return value of ipc_getref from int to bool (Waiman Long) [1710480] - [ipc] ipc/util.c: further variable name cleanups (Waiman Long) [1710480] - [ipc] ipc: simplify ipc initialization (Waiman Long) [1710480] - [ipc] ipc: get rid of ids->tables_initialized hack (Waiman Long) [1710480] - [lib] lib/rhashtable: guarantee initial hashtable allocation (Waiman Long) [1710480] - [lib] lib/rhashtable: simplify bucket_table_alloc() (Waiman Long) [1710480] - [ipc] ipc: drop ipc_lock() (Waiman Long) [1710480] - [ipc] ipc/util.c: correct comment in ipc_obtain_object_check (Waiman Long) [1710480] - [ipc] ipc: rename ipcctl_pre_down_nolock() (Waiman Long) [1710480] - [ipc] ipc/util.c: use ipc_rcu_putref() for failues in ipc_addid() (Waiman Long) [1710480] - [ipc] ipc: reorganize initialization of kern_ipc_perm.seq (Waiman Long) [1710480] - [ipc] ipc: compute kern_ipc_perm.id under the ipc lock (Waiman Long) [1710480] - [x86] x86/speculation/mds: Improve CPU buffer clear documentation (Waiman Long) [1713695 1690360 1690351 1690338] {CVE-2018-12126 CVE-2018-12127 CVE-2018-12130 CVE-2019-11091} - [x86] x86/speculation/mds: Revert CPU buffer clear on double fault exit (Waiman Long) [1713695 1690360 1690351 1690338] {CVE-2018-12126 CVE-2018-12127 CVE-2018-12130 CVE-2019-11091} - [x86] x86/speculation/mds: Add 'mitigations=' support for MDS (Waiman Long) [1713695 1690360 1690351 1690338] {CVE-2018-12126 CVE-2018-12127 CVE-2018-12130 CVE-2019-11091} - [s390] s390/speculation: Support 'mitigations=' cmdline option (Waiman Long) [1713695 1690360 1690351 1690338] {CVE-2018-12126 CVE-2018-12127 CVE-2018-12130 CVE-2019-11091} - [powerpc] powerpc/speculation: Support 'mitigations=' cmdline option (Waiman Long) [1713695 1690360 1690351 1690338] {CVE-2018-12126 CVE-2018-12127 CVE-2018-12130 CVE-2019-11091} - [mm] x86/speculation: Support 'mitigations=' cmdline option (Waiman Long) [1713695 1690360 1690351 1690338] {CVE-2018-12126 CVE-2018-12127 CVE-2018-12130 CVE-2019-11091} - [kernel] cpu/speculation: Add 'mitigations=' cmdline option (Waiman Long) [1713695 1690360 1690351 1690338] {CVE-2018-12126 CVE-2018-12127 CVE-2018-12130 CVE-2019-11091} - [documentation] x86/speculation/mds: Fix documentation typo (Waiman Long) [1713695 1690360 1690351 1690338] {CVE-2018-12126 CVE-2018-12127 CVE-2018-12130 CVE-2019-11091} - [documentation] Documentation: Correct the possible MDS sysfs values (Waiman Long) [1713695 1690360 1690351 1690338] {CVE-2018-12126 CVE-2018-12127 CVE-2018-12130 CVE-2019-11091} - [documentation] x86/mds: Add MDSUM variant to the MDS documentation (Waiman Long) [1713695 1690360 1690351 1690338] {CVE-2018-12126 CVE-2018-12127 CVE-2018-12130 CVE-2019-11091} - [x86] x86/speculation/mds: Print SMT vulnerable on MSBDS with mitigations off (Waiman Long) [1713695 1690360 1690351 1690338] {CVE-2018-12126 CVE-2018-12127 CVE-2018-12130 CVE-2019-11091} - [x86] x86/speculation/mds: Fix comment (Waiman Long) [1713695 1690360 1690351 1690338] {CVE-2018-12126 CVE-2018-12127 CVE-2018-12130 CVE-2019-11091} - [x86] x86/speculation/mds: Add SMT warning message (Waiman Long) [1713695 1690360 1690351 1690338] {CVE-2018-12126 CVE-2018-12127 CVE-2018-12130 CVE-2019-11091} - [x86] x86/speculation: Move arch_smt_update() call to after mitigation decisions (Waiman Long) [1713695 1690360 1690351 1690338] {CVE-2018-12126 CVE-2018-12127 CVE-2018-12130 CVE-2019-11091} - [documentation] x86/speculation/mds: Add mds=full,nosmt cmdline option (Waiman Long) [1713695 1690360 1690351 1690338] {CVE-2018-12126 CVE-2018-12127 CVE-2018-12130 CVE-2019-11091} - [documentation] Documentation: Add MDS vulnerability documentation (Waiman Long) [1713695 1690360 1690351 1690338] {CVE-2018-12126 CVE-2018-12127 CVE-2018-12130 CVE-2019-11091} - [documentation] documentation: Move L1TF to separate directory (Waiman Long) [1713695 1690360 1690351 1690338] {CVE-2018-12126 CVE-2018-12127 CVE-2018-12130 CVE-2019-11091} - [x86] x86/speculation/mds: Add mitigation mode VMWERV (Waiman Long) [1713695 1690360 1690351 1690338] {CVE-2018-12126 CVE-2018-12127 CVE-2018-12130 CVE-2019-11091} - [base] x86/speculation/mds: Add sysfs reporting for MDS (Waiman Long) [1713695 1690360 1690351 1690338] {CVE-2018-12126 CVE-2018-12127 CVE-2018-12130 CVE-2019-11091} - [x86] x86/speculation/mds: Add mitigation control for MDS (Waiman Long) [1713695 1690360 1690351 1690338] {CVE-2018-12126 CVE-2018-12127 CVE-2018-12130 CVE-2019-11091} - [x86] x86/speculation/mds: Conditionally clear CPU buffers on idle entry (Waiman Long) [1713695 1690360 1690351 1690338] {CVE-2018-12126 CVE-2018-12127 CVE-2018-12130 CVE-2019-11091} - [kvm] x86/kvm/vmx: Add MDS protection when L1D Flush is not active (Waiman Long) [1713695 1690360 1690351 1690338] {CVE-2018-12126 CVE-2018-12127 CVE-2018-12130 CVE-2019-11091} - [x86] x86/speculation/mds: Clear CPU buffers on exit to user (Waiman Long) [1713695 1690360 1690351 1690338] {CVE-2018-12126 CVE-2018-12127 CVE-2018-12130 CVE-2019-11091} - [documentation] x86/speculation/mds: Add mds_clear_cpu_buffers() (Waiman Long) [1713695 1690360 1690351 1690338] {CVE-2018-12126 CVE-2018-12127 CVE-2018-12130 CVE-2019-11091} - [kvm] x86/kvm: Expose X86_FEATURE_MD_CLEAR to guests (Waiman Long) [1713695 1690360 1690351 1690338] {CVE-2018-12126 CVE-2018-12127 CVE-2018-12130 CVE-2019-11091} - [x86] x86/speculation/mds: Add BUG_MSBDS_ONLY (Waiman Long) [1713695 1690360 1690351 1690338] {CVE-2018-12126 CVE-2018-12127 CVE-2018-12130 CVE-2019-11091} - [x86] x86/speculation/mds: Add basic bug infrastructure for MDS (Waiman Long) [1713695 1690360 1690351 1690338] {CVE-2018-12126 CVE-2018-12127 CVE-2018-12130 CVE-2019-11091} - [x86] x86/speculation: Consolidate CPU whitelists (Waiman Long) [1713695 1690360 1690351 1690338] {CVE-2018-12126 CVE-2018-12127 CVE-2018-12130 CVE-2019-11091} - [tools] x86/msr-index: Cleanup bit defines (Waiman Long) [1713695 1690360 1690351 1690338] {CVE-2018-12126 CVE-2018-12127 CVE-2018-12130 CVE-2019-11091} - [documentation] x86/speculation/l1tf: Drop the swap storage limit restriction when l1tf=off (Waiman Long) [1713695 1690360 1690351 1690338] {CVE-2018-12126 CVE-2018-12127 CVE-2018-12130 CVE-2019-11091} - [x86] x86/speculation: Cast ~SPEC_CTRL_STIBP atomic value to int (Waiman Long) [1713695 1690360 1690351 1690338] {CVE-2018-12126 CVE-2018-12127 CVE-2018-12130 CVE-2019-11091} - [tools] tools power x86_energy_perf_policy: Override CFLAGS assignments and add LDFLAGS to build command (Waiman Long) [1713695 1690360 1690351 1690338] {CVE-2018-12126 CVE-2018-12127 CVE-2018-12130 CVE-2019-11091} - [scsi] scsi: qla2xxx: Fix read offset in qla24xx_load_risc_flash() (Himanshu Madhani) [1665555] - [scsi] scsi: qla2xxx: Simplify conditional check again (Himanshu Madhani) [1665555] - [scsi] qla2xxx: Update driver version to 10.01.00.15.08.1-k (Himanshu Madhani) [1665555] - [scsi] scsi: qla2xxx: Secure flash update support for ISP28XX (Himanshu Madhani) [1665555] - [scsi] scsi: qla2xxx: Add 28xx flash primary/secondary status/image mechanism (Himanshu Madhani) [1665555] - [scsi] scsi: qla2xxx: Simplification of register address used in qla_tmpl.c (Himanshu Madhani) [1665555] - [scsi] scsi: qla2xxx: Correction and improvement to fwdt processing (Himanshu Madhani) [1665555] - [scsi] scsi: qla2xxx: Update flash read/write routine (Himanshu Madhani) [1665555] - [scsi] scsi: qla2xxx: Add support for multiple fwdump templates/segments (Himanshu Madhani) [1665555] - [scsi] scsi: qla2xxx: Cleanups for NVRAM/Flash read/write path (Himanshu Madhani) [1665555] - [scsi] scsi: qla2xxx: Correctly report max/min supported speeds (Himanshu Madhani) [1665555] - [scsi] scsi: qla2xxx: Add Serdes support for ISP28XX (Himanshu Madhani) [1665555] - [scsi] scsi: qla2xxx: Add Device ID for ISP28XX (Himanshu Madhani) [1665555] - [scsi] scsi: qla2xxx: Fix routine qla27xx_dump_{mpi|ram}() (Himanshu Madhani) [1665555] - [scsi] scsi: qla2xxx: Remove FW default template (Himanshu Madhani) [1665555] - [scsi] scsi: qla2xxx: Add fw_attr and port_no SysFS node (Himanshu Madhani) [1665555] - [netdrv] e1000e: Disable runtime PM on CNP+ (David Arcari) [1659179] - [netdrv] intel: correct return from set features callback (David Arcari) [1659179] - [netdrv] e1000e: Fix -Wformat-truncation warnings (David Arcari) [1659179] - [netdrv] e1000e: fix cyclic resets at link up with active tx (David Arcari) [1659179] - [netdrv] e1000e: fix a missing check for return value (David Arcari) [1659179] - [netdrv] e1000e: Exclude device from suspend direct complete optimization (David Arcari) [1659179] - [netdrv] cross-tree: phase out dma_zalloc_coherent() (David Arcari) [1659179] - [netdrv] ethernet/intel: consolidate NAPI and NAPI exit (David Arcari) [1659179] - [netdrv] e1000e: extend PTP gettime function to read system clock (David Arcari) [1659179] - [netdrv] e1000e: allow non-monotonic SYSTIM readings (David Arcari) [1659179] - [netdrv] intel-ethernet: use correct module license (David Arcari) [1659179] - [kernel] sched/cpufreq: Fix kobject memleak (Phil Auld) [1714719] - [kernel] sched/core: Check quota and period overflow at usec to nsec conversion (Phil Auld) [1714719] - [kernel] sched/core: Handle overflow in cpu_shares_write_u64 (Phil Auld) [1714719] - [kernel] sched/rt: Check integer overflow at usec to nsec conversion (Phil Auld) [1714719] - [base] arch_topology: Make cpu_capacity sysfs node as read-only (Phil Auld) [1714719] - [x86] sched/x86: Save [ER]FLAGS on context switch (Phil Auld) [1714719] - [kernel] sched/fair: Remove setting task's se->runnable_weight during PELT update (Phil Auld) [1714719] - [kernel] sched/fair: Disable LB_BIAS by default (Phil Auld) [1714719] - [arm64] sched/topology, arch/arm64: Rebuild the sched_domain hierarchy when the CPU capacity changes (Phil Auld) [1714719] - [base] sched/topology, drivers/base/arch_topology: Rebuild the sched_domain hierarchy when capacities change (Phil Auld) [1714719] - [kernel] sched/topology: Add SD_ASYM_CPUCAPACITY flag detection (Phil Auld) [1714719] - [kernel] sched/fair: Fix load_balance redo for !imbalance (Phil Auld) [1714719] - [tools] cpupower : frequency-set -r option misses the last cpu in related cpu list (Steve Best) [1717841] - [kernel] Uprobes: Fix kernel oops with delayed_uprobe_remove() (Gustavo Duarte) [1608798] - [kernel] trace_uprobe/sdt: Prevent multiple reference counter for same uprobe (Gustavo Duarte) [1608798] - [kernel] uprobes/sdt: Prevent multiple reference counter for same uprobe (Gustavo Duarte) [1608798] - [kernel] uprobes: Support SDT markers having reference count (semaphore) (Gustavo Duarte) [1608798] - [kernel] Uprobe: Additional argument arch_uprobe to uprobe_write_opcode() (Gustavo Duarte) [1608798] - [kernel] Uprobes: Simplify uprobe_register() body (Gustavo Duarte) [1608798] - [pci] PCI: Rework pcie_retrain_link() wait loop (Myron Stowe) [1707902] - [pci] PCI: Work around Pericom PCIe-to-PCI bridge Retrain Link erratum (Myron Stowe) [1707902] - [pci] PCI: Factor out pcie_retrain_link() function (Myron Stowe) [1707902] - [tools] selftests/powerpc: Fix strncpy usage (Diego Domingos) [1662372] - [tools] selftests: Fix test errors related to lib.mk khdr target (Diego Domingos) [1662372] - [nvme] nvme-fc: use separate work queue to avoid warning (Ewan Milne) [1715135] - [scsi] scsi: scsi_transport_fc: nvme: display FC-NVMe port roles (Ewan Milne) [1715135] - [nvme] nvme-fc: correct csn initialization and increments on error (Ewan Milne) [1715135] - [nvme] nvme-multipath: avoid crash on invalid subsystem cntlid enumeration (Ewan Milne) [1715135] - [nvme] nvme-multipath: don't print ANA group state by default (Ewan Milne) [1715135] - [nvme] nvme-multipath: split bios with the ns_head bio_set before submitting (Ewan Milne) [1715135] - [nvme] nvme-multipath: relax ANA state check (Ewan Milne) [1715135] - [drm] drm/i915: Bump gen7+ fb size limits to 16kx16k (Lyude Paul) [1664969] - [drm] drm/i915: Bump fb stride limit to 128KiB for gen4+ and 256KiB for gen7+ (Lyude Paul) [1664969] - [drm] drm/i915: Align dumb buffer stride to 4k to allow for gtt remapping (Lyude Paul) [1664969] - [drm] drm/i915: Overcome display engine stride limits via GTT remapping (Lyude Paul) [1664969] - [drm] drm/i915: Shuffle stride checking code around (Lyude Paul) [1664969] - [drm] drm/i915/selftests: Add live vma selftest (Lyude Paul) [1664969] - [drm] drm/i915/selftests: Add mock selftest for remapped vmas (Lyude Paul) [1664969] - [drm] drm/i915: Add a new "remapped" gtt_view (Lyude Paul) [1664969] - [md] dax: Arrange for dax_supported check to span multiple devices (Jeff Moyer) [1665364] - [mm] mm/memory_hotplug.c: drop memory device reference after find_memory_block() (Jeff Moyer) [1665367 1665364 1665362] - [tools] tools/testing/nvdimm: Retain security state after overwrite (Jeff Moyer) [1665367 1665364 1665362 1584976] - [nvdimm] libnvdimm/pmem: fix a possible OOB access when read and write pmem (Jeff Moyer) [1665367 1665364 1665362] - [acpi] libnvdimm/security, acpi/nfit: unify zero-key for all security commands (Jeff Moyer) [1665367 1665364 1665362 1584976] - [nvdimm] libnvdimm/security: provide fix for secure-erase to use zero-key (Jeff Moyer) [1665367 1665364 1665362 1584976] - [mm] mm/memory.c: fix modifying of page protection by insert_pfn() (Jeff Moyer) [1665367 1665364 1665362] - [nvdimm] libnvdimm/btt: Fix a kmemdup failure check (Jeff Moyer) [1665367 1665364 1665362] - [nvdimm] libnvdimm/namespace: Fix a potential NULL pointer dereference (Jeff Moyer) [1665367 1665364 1665362] - [acpi] acpi/nfit: Always dump _DSM output payload (Jeff Moyer) [1665367 1665364 1665362] - [fs] fs/dax: Deposit pagetable even when installing zero page (Jeff Moyer) [1665367 1665364 1665362] - [nvdimm] libnvdimm/namespace: Clean up holder_class_store() (Jeff Moyer) [1665367 1665364 1665362] - [nvdimm] libnvdimm/of_pmem: Fix platform_no_drv_owner.cocci warnings (Jeff Moyer) [1665367 1665364 1665362] - [acpi] acpi/nfit: Update NFIT flags error message (Jeff Moyer) [1665367 1665364 1665362] - [nvdimm] libnvdimm/btt: Fix LBA masking during 'free list' population (Jeff Moyer) [1665367 1665364 1665362] - [nvdimm] libnvdimm/btt: Remove unnecessary code in btt_freelist_init (Jeff Moyer) [1665367 1665364 1665362] - [nvdimm] libnvdimm/pfn: Remove dax_label_reserve (Jeff Moyer) [1665367 1665364 1665362] - [drivers] dax: Check the end of the block-device capacity with dax_direct_access() (Jeff Moyer) [1665367 1665364 1665362] - [acpi] nfit/ars: Avoid stale ARS results (Jeff Moyer) [1697175 1665367 1665364 1665362] - [acpi] nfit/ars: Allow root to busy-poll the ARS state machine (Jeff Moyer) [1665367 1665364 1665362] - [acpi] nfit/ars: Introduce scrub_flags (Jeff Moyer) [1665367 1665364 1665362] - [acpi] nfit/ars: Remove ars_start_flags (Jeff Moyer) [1665367 1665364 1665362] - [acpi] nfit/ars: Attempt short-ARS even in the no_init_ars case (Jeff Moyer) [1665367 1665364 1665362] - [acpi] nfit/ars: Attempt a short-ARS whenever the ARS state is idle at boot (Jeff Moyer) [1697194 1665367 1665364 1665362] - [fs] fs/dax: NIT fix comment regarding start/end vs range (Jeff Moyer) [1665367 1665364 1665362] - [fs] fs/dax: Convert to use vmf_error() (Jeff Moyer) [1665367 1665364 1665362] - [acpi] acpi/nfit: Require opt-in for read-only label configurations (Jeff Moyer) [1665367 1665364 1665362] - [nvdimm] libnvdimm/pmem: Honor force_raw for legacy pmem regions (Jeff Moyer) [1665367 1665364 1665362] - [nvdimm] libnvdimm/pfn: Account for PAGE_SIZE > info-block-size in nd_pfn_init() (Jeff Moyer) [1665367 1665364 1665362] - [nvdimm] libnvdimm: Fix altmap reservation size calculation (Jeff Moyer) [1665367 1665364 1665362] - [nvdimm] libnvdimm, pfn: Fix over-trim in trim_pfn_device() (Jeff Moyer) [1665367 1665364 1665362 1662227] - [nvdimm] libnvdimm/dimm: Add a no-BLK quirk based on NVDIMM family (Jeff Moyer) [1665367 1665364 1665362] - [acpi] nfit: Add Hyper-V NVDIMM DSM command set to white list (Jeff Moyer) [1665367 1665364 1665362] - [acpi] nfit: acpi_nfit_ctl(): Check out_obj->type in the right place (Jeff Moyer) [1665367 1665364 1665362] - [acpi] nfit: Fix nfit_intel_shutdown_status() command submission (Jeff Moyer) [1665367 1665364 1665362 1662217] - [nvdimm] libnvdimm/security: Require nvdimm_security_setup_events() to succeed (Jeff Moyer) [1665367 1665364 1665362 1584976] - [tools] nfit_test: fix security state pull for nvdimm security nfit_test (Jeff Moyer) [1665367 1665364 1665362 1584976] - [nvdimm] libnvdimm/security: Fix nvdimm_security_state() state request selection (Jeff Moyer) [1665367 1665364 1665362 1584976] - [nvdimm] libnvdimm/label: Clear 'updating' flag after label-set update (Jeff Moyer) [1665367 1665364 1665362] - [acpi] acpi/nfit: Remove duplicate set nd_set in acpi_nfit_init_interleave_set() (Jeff Moyer) [1665367 1665364 1665362] - [acpi] acpi/nfit: Fix race accessing memdev in nfit_get_smbios_id() (Jeff Moyer) [1665367 1665364 1665362] - [include] libnvdimm/dimm: Fix security capability detection for non-Intel NVDIMMs (Jeff Moyer) [1665367 1665364 1665362 1584976] - [acpi] nfit: Mark some functions as __maybe_unused (Jeff Moyer) [1665367 1665364 1665362 1584976] - [acpi] ACPI/nfit: delete the function to_acpi_nfit_desc (Jeff Moyer) [1665367 1665364 1665362] - [acpi] ACPI/nfit: delete the redundant header file (Jeff Moyer) [1665367 1665364 1665362] - [kernel] mm, devm_memremap_pages: add MEMORY_DEVICE_PRIVATE support (Jeff Moyer) [1665367 1665364 1665362] - [nvdimm] mm, devm_memremap_pages: fix shutdown handling (Jeff Moyer) [1665367 1665364 1665362] - [kernel] mm, devm_memremap_pages: kill mapping "System RAM" support (Jeff Moyer) [1665367 1665364 1665362] - [kernel] mm, devm_memremap_pages: mark devm_memremap_pages() EXPORT_SYMBOL_GPL (Jeff Moyer) [1665367 1665364 1665362] - [nvdimm] libnvdimm/security: Quiet security operations (Jeff Moyer) [1665367 1665364 1665362 1584976] - [documentation] libnvdimm/security: Add documentation for nvdimm security support (Jeff Moyer) [1665367 1665364 1665362 1584976] - [tools] tools/testing/nvdimm: add Intel DSM 1.8 support for nfit_test (Jeff Moyer) [1665367 1665364 1665362 1584976] - [tools] tools/testing/nvdimm: Add overwrite support for nfit_test (Jeff Moyer) [1665367 1665364 1665362 1584976] - [tools] tools/testing/nvdimm: Add test support for Intel nvdimm security DSMs (Jeff Moyer) [1665367 1665364 1665362 1584976] - [nvdimm] acpi/nfit, libnvdimm/security: add Intel DSM 1.8 master passphrase support (Jeff Moyer) [1665367 1665364 1665362 1584976] - [nvdimm] acpi/nfit, libnvdimm/security: Add security DSM overwrite support (Jeff Moyer) [1665367 1665364 1665362 1584976] - [nvdimm] acpi/nfit, libnvdimm: Add support for issue secure erase DSM to Intel nvdimm (Jeff Moyer) [1665367 1665364 1665362 1584976] - [nvdimm] acpi/nfit, libnvdimm: Add enable/update passphrase support for Intel nvdimms (Jeff Moyer) [1665367 1665364 1665362 1584976] - [nvdimm] acpi/nfit, libnvdimm: Add disable passphrase support to Intel nvdimm. (Jeff Moyer) [1665367 1665364 1665362 1584976] - [nvdimm] acpi/nfit, libnvdimm: Add unlock of nvdimm support for Intel DIMMs (Jeff Moyer) [1665367 1665364 1665362 1584976] - [nvdimm] acpi/nfit, libnvdimm: Add freeze security support to Intel nvdimm (Jeff Moyer) [1665367 1665364 1665362 1584976] - [acpi] acpi/nfit, libnvdimm: Introduce nvdimm_security_ops (Jeff Moyer) [1665367 1665364 1665362 1584976] - [security] keys-encrypted: add nvdimm key format type to encrypted keys (Jeff Moyer) [1665367 1665364 1665362 1584976] - [security] keys: Export lookup_user_key to external users (Jeff Moyer) [1665367 1665364 1665362 1584976] - [acpi] acpi/nfit, libnvdimm: Store dimm id as a member to struct nvdimm (Jeff Moyer) [1665367 1665364 1665362 1584976] - [nvdimm] libnvdimm, namespace: Replace kmemdup() with kstrndup() (Jeff Moyer) [1665367 1665364 1665362] - [nvdimm] libnvdimm, label: Switch to bitmap_zalloc() (Jeff Moyer) [1665367 1665364 1665362] - [acpi] ACPI/nfit: Adjust annotation for why return 0 if fail to find NFIT at start (Jeff Moyer) [1665367 1665364 1665362] - [nvdimm] libnvdimm, bus: Check id immediately following ida_simple_get (Jeff Moyer) [1665367 1665364 1665362] - [acpi] acpi/nfit: Fix user-initiated ARS to be "ARS-long" rather than "ARS-short" (Jeff Moyer) [1665367 1665364 1665362 1662224 1641487] - [nvdimm] libnvdimm, pfn: Pad pfn namespaces relative to other regions (Jeff Moyer) [1665367 1665364 1665362 1662227] - [tools] tools/testing/nvdimm: Align test resources to 128M (Jeff Moyer) [1665367 1665364 1665362 1662227] - [acpi] acpi/nfit: Add support for Intel DSM 1.8 commands (Jeff Moyer) [1665367 1665364 1665362 1584976] - [acpi] Revert "acpi, nfit: Further restrict userspace ARS start requests" (Jeff Moyer) [1665367 1665364 1665362] - [acpi] acpi, nfit: Fix ARS overflow continuation (Jeff Moyer) [1665367 1665364 1665362] - [tools] tools/testing/nvdimm: Fix the array size for dimm devices. (Jeff Moyer) [1665367 1665364 1665362 1658918] - [mm] mm: Fix warning in insert_pfn() (Jeff Moyer) [1665367 1665364 1665362] - [acpi] acpi, nfit: Further restrict userspace ARS start requests (Jeff Moyer) [1665367 1665364 1665362] - [acpi] acpi, nfit: Fix Address Range Scrub completion tracking (Jeff Moyer) [1665367 1665364 1665362 1662224 1641487] - [tools] tools/testing/nvdimm: Populate dirty shutdown data (Jeff Moyer) [1665367 1665364 1665362 1662217] - [acpi] acpi, nfit: Collect shutdown status (Jeff Moyer) [1665367 1665364 1665362 1662217] - [acpi] acpi, nfit: Introduce nfit_mem flags (Jeff Moyer) [1665367 1665364 1665362 1662217] - [nvdimm] libnvdimm, label: Fix sparse warning (Jeff Moyer) [1665367 1665364 1665362] - [nvdimm] libnvdimm, namespace: Drop the repeat assignment for variable dev->parent (Jeff Moyer) [1665367 1665364 1665362] - [nvdimm] libnvdimm, region: Fail badblocks listing for inactive regions (Jeff Moyer) [1665367 1665364 1665362] - [nvdimm] libnvdimm, pfn: during init, clear errors in the metadata area (Jeff Moyer) [1665367 1665364 1665362 1641565] - [nvdimm] libnvdimm: Set device node in nd_device_register (Jeff Moyer) [1665367 1665364 1665362] - [nvdimm] libnvdimm: Hold reference on parent while scheduling async init (Jeff Moyer) [1665367 1665364 1665362] - [nvdimm] libnvdimm: remove duplicate include (Jeff Moyer) [1665367 1665364 1665362] - [fs] filesystem-dax: Fix use of zero page (Jeff Moyer) [1665367 1665364 1665362] - [nvdimm] libnvdimm, pmem: Restore page attributes when clearing errors (Jeff Moyer) [1665367 1665364 1665362] - [drivers] device-dax: avoid hang on error before devm_memremap_pages() (Jeff Moyer) [1665367 1665364 1665362] - [tools] tools/testing/nvdimm: improve emulation of smart injection (Jeff Moyer) [1685043 1665367 1665364 1665362] - [fs] filesystem-dax: Do not request kaddr and pfn when not required (Jeff Moyer) [1665367 1665364 1665362] - [drivers] dax/super: Do not request a pointer kaddr when not required (Jeff Moyer) [1665367 1665364 1665362] - [tools] tools/testing/nvdimm: kaddr and pfn can be NULL to ->direct_access() (Jeff Moyer) [1665367 1665364 1665362] - [nvdimm] libnvdimm, pmem: kaddr and pfn can be NULL to ->direct_access() (Jeff Moyer) [1665367 1665364 1665362] - [acpi] acpi/nfit: queue issuing of ars when an uc error notification comes in (Jeff Moyer) [1665367 1665364 1665362 1641487] - [kernel] mm, dev_pagemap: Do not clear ->mapping on final put (Jeff Moyer) [1665367 1665364 1665362] - [tools] tools/testing/nvdimm: Fix support for emulating controller temperature (Jeff Moyer) [1665367 1665364 1665362] - [tools] tools/testing/nvdimm: Make DSM failure code injection an override (Jeff Moyer) [1665367 1665364 1665362 1658918] - [acpi] acpi, nfit: Prefer _DSM over _LSR for namespace label reads (Jeff Moyer) [1665367 1665364 1665362 1658918] - [nvdimm] libnvdimm: Introduce locked DIMM capacity support (Jeff Moyer) [1665367 1665364 1665362 1658918] - [drm] drm/nouveau: fix duplication of nv50_head_atom struct (Lyude Paul) [1707312 1688524 1685552 1685427 1665631 1665088 1664615 1664609 1664189 1664177 1664175 1664104 1662017 1660302 1643842 1640840 1639990 1639436 1637606 1633845 1633843 1633842 1504286] - [drm] drm/nouveau/disp/dp: respect sink limits when selecting failsafe link configuration (Lyude Paul) [1707312 1688524 1685552 1685427 1665631 1665088 1664615 1664609 1664189 1664177 1664175 1664104 1662017 1660302 1643842 1640840 1639990 1639436 1637606 1633845 1633843 1633842 1504286] - [drm] drm/nouveau/core: initial support for boards with TU117 chipset (Lyude Paul) [1707312 1688524 1685552 1685427 1665631 1665088 1664615 1664609 1664189 1664177 1664175 1664104 1662017 1660302 1643842 1640840 1639990 1639436 1637606 1633845 1633843 1633842 1504286] - [drm] drm/nouveau/core: allow detected chipset to be overridden (Lyude Paul) [1707312 1688524 1685552 1685427 1665631 1665088 1664615 1664609 1664189 1664177 1664175 1664104 1662017 1660302 1643842 1640840 1639990 1639436 1637606 1633845 1633843 1633842 1504286] - [drm] drm/nouveau/kms/gf119-gp10x: push HeadSetControlOutputResource() mthd when encoders change (Lyude Paul) [1707312 1688524 1685552 1685427 1665631 1665088 1664615 1664609 1664189 1664177 1664175 1664104 1662017 1660302 1643842 1640840 1639990 1639436 1637606 1633845 1633843 1633842 1504286] - [drm] drm/nouveau/kms/nv50-: fix bug preventing non-vsync'd page flips (Lyude Paul) [1707312 1688524 1685552 1685427 1665631 1665088 1664615 1664609 1664189 1664177 1664175 1664104 1662017 1660302 1643842 1640840 1639990 1639436 1637606 1633845 1633843 1633842 1504286] - [drm] drm/nouveau/kms/gv100-: fix spurious window immediate interlocks (Lyude Paul) [1707312 1688524 1685552 1685427 1665631 1665088 1664615 1664609 1664189 1664177 1664175 1664104 1662017 1660302 1643842 1640840 1639990 1639436 1637606 1633845 1633843 1633842 1504286] - [drm] drm/nouveau/nouveau: forward error generated while resuming objects tree (Lyude Paul) [1707312 1688524 1685552 1685427 1665631 1665088 1664615 1664609 1664189 1664177 1664175 1664104 1662017 1660302 1643842 1640840 1639990 1639436 1637606 1633845 1633843 1633842 1504286] - [drm] drm/nouveau/i2c: Disable i2c bus access after ->fini() (Lyude Paul) [1707312 1688524 1685552 1685427 1665631 1665088 1664615 1664609 1664189 1664177 1664175 1664104 1662017 1660302 1643842 1640840 1639990 1639436 1637606 1633845 1633843 1633842 1504286] - [drm] drm/i915/icl: Add WaDisableBankHangMode (Lyude Paul) [1707312 1688524 1685552 1685427 1665631 1665088 1664615 1664609 1664189 1664177 1664175 1664104 1662017 1660302 1643842 1640840 1639990 1639436 1637606 1633845 1633843 1633842 1504286] - [drm] drm/i915/fbc: disable framebuffer compression on GeminiLake (Lyude Paul) [1707312 1688524 1685552 1685427 1665631 1665088 1664615 1664609 1664189 1664177 1664175 1664104 1662017 1660302 1643842 1640840 1639990 1639436 1637606 1633845 1633843 1633842 1504286] - [drm] drm/i915/icl: Fix setting 10 bit deep color mode (Lyude Paul) [1707312 1688524 1685552 1685427 1665631 1665088 1664615 1664609 1664189 1664177 1664175 1664104 1662017 1660302 1643842 1640840 1639990 1639436 1637606 1633845 1633843 1633842 1504286] - [drm] drm/i915/icl: Add missing combo PHY lane power setup (Lyude Paul) [1707312 1688524 1685552 1685427 1665631 1665088 1664615 1664609 1664189 1664177 1664175 1664104 1662017 1660302 1643842 1640840 1639990 1639436 1637606 1633845 1633843 1633842 1504286] - [drm] drm/i915/icl: Factor out combo PHY lane power setup helper (Lyude Paul) [1707312 1688524 1685552 1685427 1665631 1665088 1664615 1664609 1664189 1664177 1664175 1664104 1662017 1660302 1643842 1640840 1639990 1639436 1637606 1633845 1633843 1633842 1504286] - [drm] drm/i915: Corrupt DSI picture fix for GeminiLake (Lyude Paul) [1707312 1688524 1685552 1685427 1665631 1665088 1664615 1664609 1664189 1664177 1664175 1664104 1662017 1660302 1643842 1640840 1639990 1639436 1637606 1633845 1633843 1633842 1504286] - [drm] drm/i915/icl: Fix clockgating issue when using scalers (Lyude Paul) [1707312 1688524 1685552 1685427 1665631 1665088 1664615 1664609 1664189 1664177 1664175 1664104 1662017 1660302 1643842 1640840 1639990 1639436 1637606 1633845 1633843 1633842 1504286] - [drm] drm/i915: Suppress spurious combo PHY B warning (Lyude Paul) [1707312 1688524 1685552 1685427 1665631 1665088 1664615 1664609 1664189 1664177 1664175 1664104 1662017 1660302 1643842 1640840 1639990 1639436 1637606 1633845 1633843 1633842 1504286] - [drm] drm/i915: Disable read only ppgtt support for gen11 (Lyude Paul) [1707312 1688524 1685552 1685427 1665631 1665088 1664615 1664609 1664189 1664177 1664175 1664104 1662017 1660302 1643842 1640840 1639990 1639436 1637606 1633845 1633843 1633842 1504286] - [drm] drm/i915: Use Engine1 instance for gen11 pm interrupts (Lyude Paul) [1707312 1688524 1685552 1685427 1665631 1665088 1664615 1664609 1664189 1664177 1664175 1664104 1662017 1660302 1643842 1640840 1639990 1639436 1637606 1633845 1633843 1633842 1504286] - [drm] drm/i915/icl: Disable video turbo mode for rp control (Lyude Paul) [1707312 1688524 1685552 1685427 1665631 1665088 1664615 1664609 1664189 1664177 1664175 1664104 1662017 1660302 1643842 1640840 1639990 1639436 1637606 1633845 1633843 1633842 1504286] - [drm] drm/i915/icl: Enable media sampler powergate (Lyude Paul) [1707312 1688524 1685552 1685427 1665631 1665088 1664615 1664609 1664189 1664177 1664175 1664104 1662017 1660302 1643842 1640840 1639990 1639436 1637606 1633845 1633843 1633842 1504286] - [drm] drm/i915: introduce REG_BIT() and REG_GENMASK() to define register contents (Lyude Paul) [1707312 1688524 1685552 1685427 1665631 1665088 1664609 1664189 1664177 1664175 1664104 1662017 1660302 1643842 1640840 1639990 1639436 1637606 1664615 1633845 1633843 1633842 1504286] - [drm] drm/i915/icl: Apply a recommended rc6 threshold (Lyude Paul) [1707312 1688524 1685552 1685427 1665631 1665088 1664615 1664609 1664189 1664177 1664175 1664104 1662017 1660302 1643842 1640840 1639990 1639436 1637606 1633845 1633843 1633842 1504286] - [drm] drm/i915: Use dedicated rc6 enabling sequence for gen11 (Lyude Paul) [1707312 1688524 1685552 1685427 1665631 1665088 1664615 1664609 1664189 1664177 1664175 1664104 1662017 1660302 1643842 1640840 1639990 1639436 1637606 1633845 1633843 1633842 1504286] - [drm] drm/i915/icl: Don't warn on spurious interrupts (Lyude Paul) [1707312 1688524 1685552 1685427 1665631 1665088 1664615 1664609 1664189 1664177 1664175 1664104 1662017 1660302 1643842 1640840 1639990 1639436 1637606 1633845 1633843 1633842 1504286] - [drm] drm/i915/icl: Handle rps interrupts without irq lock (Lyude Paul) [1707312 1688524 1685552 1685427 1665631 1665088 1664615 1664609 1664189 1664177 1664175 1664104 1662017 1660302 1643842 1640840 1639990 1639436 1637606 1633845 1633843 1633842 1504286] - [drm] drm/i915: Make sure we have enough memory bandwidth on ICL (Lyude Paul) [1707312 1688524 1685552 1685427 1665631 1665088 1664615 1664609 1664189 1664177 1664175 1664104 1662017 1660302 1643842 1640840 1639990 1639436 1637606 1633845 1633843 1633842 1504286] - [drm] drm/i915: Make sandybridge_pcode_read() deal with the second data register (Lyude Paul) [1707312 1688524 1685552 1685427 1665631 1665088 1664615 1664609 1664189 1664177 1664175 1664104 1662017 1660302 1643842 1640840 1639990 1639436 1637606 1633845 1633843 1633842 1504286] - [drm] drm/i915: Fix ONLY icl+ max plane width (Lyude Paul) [1707312 1688524 1685552 1685427 1665631 1665088 1664615 1664609 1664189 1664177 1664175 1664104 1662017 1660302 1643842 1640840 1639990 1639436 1637606 1633845 1633843 1633842 1504286] - [drm] drm/i915/icl: Fix MG_DP_MODE() register programming (Lyude Paul) [1707312 1688524 1685552 1685427 1665631 1665088 1664615 1664609 1664189 1664177 1664175 1664104 1662017 1660302 1643842 1640840 1639990 1639436 1637606 1633845 1633843 1633842 1504286] - [drm] drm/i915: Really calculate the cursor ddb based on the highest enabled wm level (Lyude Paul) [1707312 1688524 1685552 1685427 1665631 1665088 1664615 1664609 1664189 1664177 1664175 1664104 1662017 1660302 1643842 1640840 1639990 1639436 1637606 1633845 1633843 1633842 1504286] - [drm] drm/i915: Inline skl_update_pipe_wm() into its only caller (Lyude Paul) [1707312 1688524 1685552 1685427 1665631 1665088 1664615 1664609 1664189 1664177 1664175 1664104 1662017 1660302 1643842 1640840 1639990 1639436 1637606 1633845 1633843 1633842 1504286] - [drm] drm/i915: Don't pass pipe_wm around so much (Lyude Paul) [1707312 1688524 1685552 1685427 1665631 1665088 1664615 1664609 1664189 1664177 1664175 1664104 1662017 1660302 1643842 1640840 1639990 1639436 1637606 1633845 1633843 1633842 1504286] - [drm] drm/i915: Move some variables to tighter scope (Lyude Paul) [1707312 1688524 1685552 1685427 1665631 1665088 1664615 1664609 1664189 1664177 1664175 1664104 1662017 1660302 1643842 1640840 1639990 1639436 1637606 1633845 1633843 1633842 1504286] - [drm] drm/i915: Keep plane watermarks enabled more aggressively (Lyude Paul) [1707312 1688524 1685552 1685427 1665631 1665088 1664615 1664609 1664189 1664177 1664175 1664104 1662017 1660302 1643842 1640840 1639990 1639436 1637606 1633845 1633843 1633842 1504286] - [drm] drm/i915: Make sure cursor has enough ddb for the selected wm level (Lyude Paul) [1707312 1688524 1685552 1685427 1665631 1665088 1664615 1664609 1664189 1664177 1664175 1664104 1662017 1660302 1643842 1640840 1639990 1639436 1637606 1633845 1633843 1633842 1504286] - [drm] drm/i915: Allocate enough DDB for the cursor (Lyude Paul) [1707312 1688524 1685552 1685427 1665631 1665088 1664615 1664609 1664189 1664177 1664175 1664104 1662017 1660302 1643842 1640840 1639990 1639436 1637606 1633845 1633843 1633842 1504286] - [drm] drm/i915: Extract skl_compute_wm_params() (Lyude Paul) [1707312 1688524 1685552 1685427 1665631 1665088 1664615 1664609 1664189 1664177 1664175 1664104 1662017 1660302 1643842 1640840 1639990 1639436 1637606 1633845 1633843 1633842 1504286] - [drm] drm/i915: Don't pass plane state to skl_compute_plane_wm() (Lyude Paul) [1707312 1688524 1685552 1685427 1665631 1665088 1664615 1664609 1664189 1664177 1664175 1664104 1662017 1660302 1643842 1640840 1639990 1639436 1637606 1633845 1633843 1633842 1504286] - [drm] drm/i915: Accept alloc_size == blocks (Lyude Paul) [1707312 1688524 1685552 1685427 1665631 1665088 1664615 1664609 1664189 1664177 1664175 1664104 1662017 1660302 1643842 1640840 1639990 1639436 1637606 1633845 1633843 1633842 1504286] - [drm] drm/i915/cml: Introduce Comet Lake PCH (Lyude Paul) [1707312 1688524 1685552 1685427 1665631 1665088 1664615 1664609 1664189 1664177 1664175 1664104 1662017 1660302 1643842 1640840 1639990 1639436 1637606 1633845 1633843 1633842 1504286] - [drm] drm/i915/cml: Add CML PCI IDS (Lyude Paul) [1707312 1688524 1685552 1685427 1665631 1665088 1664615 1664609 1664189 1664177 1664175 1664104 1662017 1660302 1643842 1640840 1639990 1639436 1637606 1633845 1633843 1633842 1504286] - [drm] drm/i915: Fix PSR2 selective update corruption after PSR1 setup (Lyude Paul) [1707312 1688524 1685552 1685427 1665631 1665088 1664615 1664609 1664189 1664177 1664175 1664104 1662017 1660302 1643842 1640840 1639990 1639436 1637606 1633845 1633843 1633842 1504286] - [drm] drm/i915: Turn off the CUS when turning off a HDR plane (Lyude Paul) [1707312 1688524 1685552 1685427 1665631 1665088 1664615 1664609 1664189 1664177 1664175 1664104 1662017 1660302 1643842 1640840 1639990 1639436 1637606 1633845 1633843 1633842 1504286] - [drm] drm/i915: Fix legacy gamma mode for ICL (Lyude Paul) [1707312 1688524 1685552 1685427 1665631 1665088 1664615 1664609 1664189 1664177 1664175 1664104 1662017 1660302 1643842 1640840 1639990 1639436 1637606 1633845 1633843 1633842 1504286] - [drm] drm/i915: Refactor icl_is_hdr_plane (Lyude Paul) [1707312 1688524 1685552 1685427 1665631 1665088 1664615 1664609 1664189 1664177 1664175 1664104 1662017 1660302 1643842 1640840 1639990 1639436 1637606 1633845 1633843 1633842 1504286] - [include] drm/i915: Add new ICL PCI ID (Lyude Paul) [1707312 1688524 1685552 1685427 1665631 1665088 1664615 1664609 1664189 1664177 1664175 1664104 1662017 1660302 1643842 1640840 1639990 1639436 1637606 1633845 1633843 1633842 1504286] - [drm] drm/i915/icl: Fix CRC mismatch error for DP link layer compliance (Lyude Paul) [1707312 1688524 1685552 1685427 1665631 1665088 1664615 1664609 1664189 1664177 1664175 1664104 1662017 1660302 1643842 1640840 1639990 1639436 1637606 1633845 1633843 1633842 1504286] - [drm] drm/i915/icl: Prevent incorrect DBuf enabling (Lyude Paul) [1707312 1688524 1685552 1685427 1665631 1665088 1664615 1664609 1664189 1664177 1664175 1664104 1662017 1660302 1643842 1640840 1639990 1639436 1637606 1633845 1633843 1633842 1504286] - [drm] drm/i915: Read out memory type (Lyude Paul) [1707312 1688524 1685552 1685427 1665631 1665088 1664615 1664609 1664189 1664177 1664175 1664104 1662017 1660302 1643842 1640840 1639990 1639436 1637606 1633845 1633843 1633842 1504286] - [drm] drm/i915: Extract DIMM info on cnl+ (Lyude Paul) [1707312 1688524 1685552 1685427 1665631 1665088 1664615 1664609 1664189 1664177 1664175 1664104 1662017 1660302 1643842 1640840 1639990 1639436 1637606 1633845 1633843 1633842 1504286] - [drm] drm/i915: Clean up intel_get_dram_info() a bit (Lyude Paul) [1707312 1688524 1685552 1685427 1665631 1665088 1664615 1664609 1664189 1664177 1664175 1664104 1662017 1660302 1643842 1640840 1639990 1639436 1637606 1633845 1633843 1633842 1504286] - [drm] drm/i914: s/l_info/dimm_l/ etc. (Lyude Paul) [1707312 1688524 1685552 1685427 1665631 1665088 1664615 1664609 1664189 1664177 1664175 1664104 1662017 1660302 1643842 1640840 1639990 1639436 1637606 1633845 1633843 1633842 1504286] - [drm] drm/i915: Generalize intel_is_dram_symmetric() (Lyude Paul) [1707312 1688524 1685552 1685427 1665631 1665088 1664615 1664609 1664189 1664177 1664175 1664104 1662017 1660302 1643842 1640840 1639990 1639436 1637606 1633845 1633843 1633842 1504286] - [drm] drm/i915: Use dram_dimm_info more (Lyude Paul) [1707312 1688524 1685552 1685427 1665631 1665088 1664615 1664609 1664189 1664177 1664175 1664104 1662017 1660302 1643842 1640840 1639990 1639436 1637606 1633845 1633843 1633842 1504286] - [drm] drm/i915: Extract DIMM info on GLK too (Lyude Paul) [1707312 1688524 1685552 1685427 1665631 1665088 1664615 1664609 1664189 1664177 1664175 1664104 1662017 1660302 1643842 1640840 1639990 1639436 1637606 1633845 1633843 1633842 1504286] - [drm] drm/i915: Fix DRAM size reporting for BXT (Lyude Paul) [1707312 1688524 1685552 1685427 1665631 1665088 1664615 1664609 1664189 1664177 1664175 1664104 1662017 1660302 1643842 1640840 1639990 1639436 1637606 1633845 1633843 1633842 1504286] - [drm] drm/i915: Extract BXT DIMM helpers (Lyude Paul) [1707312 1688524 1685552 1685427 1665631 1665088 1664615 1664609 1664189 1664177 1664175 1664104 1662017 1660302 1643842 1640840 1639990 1639436 1637606 1633845 1633843 1633842 1504286] - [drm] drm/i915: Polish skl_is_16gb_dimm() (Lyude Paul) [1707312 1688524 1685552 1685427 1665631 1665088 1664615 1664609 1664189 1664177 1664175 1664104 1662017 1660302 1643842 1640840 1639990 1639436 1637606 1633845 1633843 1633842 1504286] - [drm] drm/i915: Extract functions to derive SKL+ DIMM info (Lyude Paul) [1707312 1688524 1685552 1685427 1665631 1665088 1664615 1664609 1664189 1664177 1664175 1664104 1662017 1660302 1643842 1640840 1639990 1639436 1637606 1633845 1633843 1633842 1504286] - [drm] drm/i915: Store DIMM rank information as a number (Lyude Paul) [1707312 1688524 1685552 1685427 1665631 1665088 1664615 1664609 1664189 1664177 1664175 1664104 1662017 1660302 1643842 1640840 1639990 1639436 1637606 1633845 1633843 1633842 1504286] - [drm] drm/i915/icl: Default to Thread Group preemption for compute workloads (Lyude Paul) [1707312 1688524 1685552 1685427 1665631 1665088 1664615 1664609 1664189 1664177 1664175 1664104 1662017 1660302 1643842 1640840 1639990 1639436 1637606 1633845 1633843 1633842 1504286] - [drm] drm/i915: Fix the state checker for ICL Y planes (Lyude Paul) [1707312 1688524 1685552 1685427 1665631 1665088 1664615 1664609 1664189 1664177 1664175 1664104 1662017 1660302 1643842 1640840 1639990 1639436 1637606 1633845 1633843 1633842 1504286] - [drm] drm/i915/icl: move MG pll hw_state readout (Lyude Paul) [1707312 1688524 1685552 1685427 1665631 1665088 1664615 1664609 1664189 1664177 1664175 1664104 1662017 1660302 1643842 1640840 1639990 1639436 1637606 1633845 1633843 1633842 1504286] - [drm] drm/i915: Finalize Wa_1408961008:icl (Lyude Paul) [1707312 1688524 1685552 1685427 1665631 1665088 1664615 1664609 1664189 1664177 1664175 1664104 1662017 1660302 1643842 1640840 1639990 1639436 1637606 1633845 1633843 1633842 1504286] - [drm] drm/i915: Call MG_DP_MODE() macro with the right parameters order (Lyude Paul) [1707312 1688524 1685552 1685427 1665631 1665088 1664615 1664609 1664189 1664177 1664175 1664104 1662017 1660302 1643842 1640840 1639990 1639436 1637606 1633845 1633843 1633842 1504286] - [drm] drm/i915/icl: Drop redundant gamma mode mask (Lyude Paul) [1707312 1688524 1685552 1685427 1665631 1665088 1664615 1664609 1664189 1664177 1664175 1664104 1662017 1660302 1643842 1640840 1639990 1639436 1637606 1633845 1633843 1633842 1504286] - [drm] drm/i915: Implement new w/a for underruns with wm1+ disabled (Lyude Paul) [1707312 1688524 1685552 1685427 1665631 1665088 1664615 1664609 1664189 1664177 1664175 1664104 1662017 1660302 1643842 1640840 1639990 1639436 1637606 1633845 1633843 1633842 1504286] - [drm] drm/i915: Include "ignore lines" in skl+ wm state (Lyude Paul) [1707312 1688524 1685552 1685427 1665631 1665088 1664615 1664609 1664189 1664177 1664175 1664104 1662017 1660302 1643842 1640840 1639990 1639436 1637606 1633845 1633843 1633842 1504286] - [drm] Revert "drm/i915: W/A for underruns with WM1+ disabled on icl" (Lyude Paul) [1707312 1688524 1685552 1685427 1665631 1665088 1664615 1664609 1664189 1664177 1664175 1664104 1662017 1660302 1643842 1640840 1639990 1639436 1637606 1633845 1633843 1633842 1504286] - [drm] drm/i915: Make MG PHY macros semantically consistent (Lyude Paul) [1707312 1688524 1685552 1685427 1665631 1665088 1664615 1664609 1664189 1664177 1664175 1664104 1662017 1660302 1643842 1640840 1639990 1639436 1637606 1633845 1633843 1633842 1504286] - [drm] drm/i915: Make combo PHY DDI macro definitions consistent for ICL and CNL (Lyude Paul) [1707312 1688524 1685552 1685427 1665631 1665088 1664615 1664609 1664189 1664177 1664175 1664104 1662017 1660302 1643842 1640840 1639990 1639436 1637606 1633845 1633843 1633842 1504286] - [drm] drm/i915/icl: Add degamma and gamma lut size to gen11 caps (Lyude Paul) [1707312 1688524 1685552 1685427 1665631 1665088 1664615 1664609 1664189 1664177 1664175 1664104 1662017 1660302 1643842 1640840 1639990 1639436 1637606 1633845 1633843 1633842 1504286] - [drm] drm/i915/icl: Enable pipe output csc (Lyude Paul) [1707312 1688524 1685552 1685427 1665631 1665088 1664615 1664609 1664189 1664177 1664175 1664104 1662017 1660302 1643842 1640840 1639990 1639436 1637606 1633845 1633843 1633842 1504286] - [drm] drm/i915/icl: Enable ICL Pipe CSC block (Lyude Paul) [1707312 1688524 1685552 1685427 1665631 1665088 1664615 1664609 1664189 1664177 1664175 1664104 1662017 1660302 1643842 1640840 1639990 1639436 1637606 1633845 1633843 1633842 1504286] - [drm] drm/i915/icl: Add icl pipe degamma and gamma support (Lyude Paul) [1707312 1688524 1685552 1685427 1665631 1665088 1664615 1664609 1664189 1664177 1664175 1664104 1662017 1660302 1643842 1640840 1639990 1639436 1637606 1633845 1633843 1633842 1504286] - [drm] drm/i915/glk: Fix degamma lut programming (Lyude Paul) [1707312 1688524 1685552 1685427 1665631 1665088 1664615 1664609 1664189 1664177 1664175 1664104 1662017 1660302 1643842 1640840 1639990 1639436 1637606 1633845 1633843 1633842 1504286] - [drm] drm/i915: Dump skl+ watermark changes (Lyude Paul) [1707312 1688524 1685552 1685427 1665631 1665088 1664615 1664609 1664189 1664177 1664175 1664104 1662017 1660302 1643842 1640840 1639990 1639436 1637606 1633845 1633843 1633842 1504286] - [drm] drm/i915: Update DSPCNTR gamma/csc bits during crtc_enable() (Lyude Paul) [1707312 1688524 1685552 1685427 1665631 1665088 1664615 1664609 1664189 1664177 1664175 1664104 1662017 1660302 1643842 1640840 1639990 1639436 1637606 1633845 1633843 1633842 1504286] - [drm] drm/i915: Disable pipe gamma when C8 pixel format is used (Lyude Paul) [1707312 1688524 1685552 1685427 1665631 1665088 1664615 1664609 1664189 1664177 1664175 1664104 1662017 1660302 1643842 1640840 1639990 1639436 1637606 1633845 1633843 1633842 1504286] - [drm] drm/i915: Turn off pipe CSC when it's not needed (Lyude Paul) [1707312 1688524 1685552 1685427 1665631 1665088 1664615 1664609 1664189 1664177 1664175 1664104 1662017 1660302 1643842 1640840 1639990 1639436 1637606 1633845 1633843 1633842 1504286] - [drm] drm/i915: Turn off pipe gamma when it's not needed (Lyude Paul) [1707312 1688524 1685552 1685427 1665631 1665088 1664615 1664609 1664189 1664177 1664175 1664104 1662017 1660302 1643842 1640840 1639990 1639436 1637606 1633845 1633843 1633842 1504286] - [drm] drm/i915: Track pipe csc enable in crtc state (Lyude Paul) [1707312 1688524 1685552 1685427 1665631 1665088 1664615 1664609 1664189 1664177 1664175 1664104 1662017 1660302 1643842 1640840 1639990 1639436 1637606 1633845 1633843 1633842 1504286] - [drm] drm/i915: Track pipe gamma enable/disable in crtc state (Lyude Paul) [1707312 1688524 1685552 1685427 1665631 1665088 1664615 1664609 1664189 1664177 1664175 1664104 1662017 1660302 1643842 1640840 1639990 1639436 1637606 1633845 1633843 1633842 1504286] - [drm] drm/i915: Populate gamma_mode for all platforms (Lyude Paul) [1707312 1688524 1685552 1685427 1665631 1665088 1664615 1664609 1664189 1664177 1664175 1664104 1662017 1660302 1643842 1640840 1639990 1639436 1637606 1633845 1633843 1633842 1504286] - [drm] drm: Main backport to rebase from 4.18 to 5.1 (Lyude Paul) [1713573 1707312 1688524 1685552 1685427 1665631 1665088 1664615 1664609 1664189 1664177 1664175 1664104 1662017 1660302 1643842 1640840 1639990 1639436 1637606 1633845 1633843 1633842 1504286] {CVE-2019-11085} - [include] list: Backport list_is_first() (Lyude Paul) [1707312 1688524 1685552 1685427 1665631 1665088 1664615 1664609 1664189 1664177 1664175 1664104 1662017 1660302 1643842 1640840 1639990 1639436 1637606 1633845 1633843 1633842 1504286] - [drm] lib/scatterlist: Provide a DMA page iterator (Lyude Paul) [1707312 1688524 1685552 1685427 1665631 1665088 1664615 1664609 1664189 1664177 1664175 1664104 1662017 1660302 1643842 1640840 1639990 1639436 1637606 1633845 1633843 1633842 1504286] - [acpi] ACPI / PMIC: Add support for executing PMIC MIPI sequence elements (Lyude Paul) [1707312 1688524 1685552 1685427 1665631 1665088 1664615 1664609 1664189 1664177 1664175 1664104 1662017 1660302 1643842 1640840 1639990 1639436 1637606 1633845 1633843 1633842 1504286] - [include] vfio: add edid api for display (vgpu) devices. (Lyude Paul) [1707312 1688524 1685552 1685427 1665631 1665088 1664615 1664609 1664189 1664177 1664175 1664104 1662017 1660302 1643842 1640840 1639990 1639436 1637606 1633845 1633843 1633842 1504286] - [mm] mm: don't miss the last page because of round-off error (Lyude Paul) [1707312 1688524 1685552 1685427 1665631 1665088 1664615 1664609 1664189 1664177 1664175 1664104 1662017 1660302 1643842 1640840 1639990 1639436 1637606 1633845 1633843 1633842 1504286] - [base] PM-runtime: Add new interface to get accounted time (Lyude Paul) [1707312 1688524 1685552 1685427 1665631 1665088 1664615 1664609 1664189 1664177 1664175 1664104 1662017 1660302 1643842 1640840 1639990 1639436 1637606 1633845 1633843 1633842 1504286] - [drm] drm: move i915_kick_out_vgacon to vgaarb (Lyude Paul) [1707312 1688524 1685552 1685427 1665631 1665088 1664615 1664609 1664189 1664177 1664175 1664104 1662017 1660302 1643842 1640840 1639990 1639436 1637606 1633845 1633843 1633842 1504286] - [scripts] tracing: Avoid calling cc-option -mrecord-mcount for every Makefile (Lyude Paul) [1707312 1688524 1685552 1685427 1665631 1665088 1664615 1664609 1664189 1664177 1664175 1664104 1662017 1660302 1643842 1640840 1639990 1639436 1637606 1633845 1633843 1633842 1504286] - [drm] drm/fb_helper: Allow leaking fbdev smem_start (Lyude Paul) [1707312 1688524 1685552 1685427 1665631 1665088 1664615 1664609 1664189 1664177 1664175 1664104 1662017 1660302 1643842 1640840 1639990 1639436 1637606 1633845 1633843 1633842 1504286] - [drm] drm/fb: Stop leaking physical address (Lyude Paul) [1707312 1688524 1685552 1685427 1665631 1665088 1664615 1664609 1664189 1664177 1664175 1664104 1662017 1660302 1643842 1640840 1639990 1639436 1637606 1633845 1633843 1633842 1504286] - [video] fbdev: Add FBINFO_HIDE_SMEM_START flag (Lyude Paul) [1707312 1688524 1685552 1685427 1665631 1665088 1664615 1664609 1664189 1664177 1664175 1664104 1662017 1660302 1643842 1640840 1639990 1639436 1637606 1633845 1633843 1633842 1504286] - [include] vt: Remove vc_panic_force_write (Lyude Paul) [1707312 1688524 1685552 1685427 1665631 1665088 1664615 1664609 1664189 1664177 1664175 1664104 1662017 1660302 1643842 1640840 1639990 1639436 1637606 1633845 1633843 1633842 1504286] - [drm] fbdev: Drop FBINFO_CAN_FORCE_OUTPUT flag (Lyude Paul) [1707312 1688524 1685552 1685427 1665631 1665088 1664615 1664609 1664189 1664177 1664175 1664104 1662017 1660302 1643842 1640840 1639990 1639436 1637606 1633845 1633843 1633842 1504286] - [video] fbdev: fix kerneldoc (Lyude Paul) [1707312 1688524 1685552 1685427 1665631 1665088 1664615 1664609 1664189 1664177 1664175 1664104 1662017 1660302 1643842 1640840 1639990 1639436 1637606 1633845 1633843 1633842 1504286] - [include] fbdev: add remove_conflicting_pci_framebuffers() (Lyude Paul) [1707312 1688524 1685552 1685427 1665631 1665088 1664615 1664609 1664189 1664177 1664175 1664104 1662017 1660302 1643842 1640840 1639990 1639436 1637606 1633845 1633843 1633842 1504286] - [media] media: cec-notifier: Get notifier by device and connector name (Lyude Paul) [1707312 1688524 1685552 1685427 1665631 1665088 1664615 1664609 1664189 1664177 1664175 1664104 1662017 1660302 1643842 1640840 1639990 1639436 1637606 1633845 1633843 1633842 1504286] - [base] driver core: Add device_link_remove function (Lyude Paul) [1707312 1688524 1685552 1685427 1665631 1665088 1664615 1664609 1664189 1664177 1664175 1664104 1662017 1660302 1643842 1640840 1639990 1639436 1637606 1633845 1633843 1633842 1504286] - [drm] include: Move ascii85 functions from i915 to linux/ascii85.h (Lyude Paul) [1707312 1688524 1685552 1685427 1665631 1665088 1664615 1664609 1664189 1664177 1664175 1664104 1662017 1660302 1643842 1640840 1639990 1639436 1637606 1633845 1633843 1633842 1504286] - [mm] mm, drm/i915: mark pinned shmemfs pages as unevictable (Lyude Paul) [1707312 1688524 1685552 1685427 1665631 1665088 1664615 1664609 1664189 1664177 1664175 1664104 1662017 1660302 1643842 1640840 1639990 1639436 1637606 1633845 1633843 1633842 1504286] - [include] list: introduce list_bulk_move_tail helper (Lyude Paul) [1707312 1688524 1685552 1685427 1665631 1665088 1664615 1664609 1664189 1664177 1664175 1664104 1662017 1660302 1643842 1640840 1639990 1639436 1637606 1633845 1633843 1633842 1504286] - [fs] sysfs: constify sysfs create/remove files harder (Lyude Paul) [1707312 1688524 1685552 1685427 1665631 1665088 1664615 1664609 1664189 1664177 1664175 1664104 1662017 1660302 1643842 1640840 1639990 1639436 1637606 1633845 1633843 1633842 1504286] - [drm] drm/i915/selftests: Remove unused dmabuf->kmap routines, fix the build (Lyude Paul) [1707312 1688524 1685552 1685427 1665631 1665088 1664615 1664609 1664189 1664177 1664175 1664104 1662017 1660302 1643842 1640840 1639990 1639436 1637606 1633845 1633843 1633842 1504286] - [drm] dma-buf: remove kmap_atomic interface (Lyude Paul) [1707312 1688524 1685552 1685427 1665631 1665088 1664615 1664609 1664189 1664177 1664175 1664104 1662017 1660302 1643842 1640840 1639990 1639436 1637606 1633845 1633843 1633842 1504286] - [include] include/linux/bitops.h: introduce BITS_PER_TYPE (Lyude Paul) [1707312 1688524 1685552 1685427 1665631 1665088 1664615 1664609 1664189 1664177 1664175 1664104 1662017 1660302 1643842 1640840 1639990 1639436 1637606 1633845 1633843 1633842 1504286] - [drm] dma_buf: remove device parameter from attach callback v2 (Lyude Paul) [1707312 1688524 1685552 1685427 1665631 1665088 1664615 1664609 1664189 1664177 1664175 1664104 1662017 1660302 1643842 1640840 1639990 1639436 1637606 1633845 1633843 1633842 1504286] - [pci] PCI: Export pcie_get_speed_cap and pcie_get_width_cap (Lyude Paul) [1707312 1688524 1685552 1685427 1665631 1665088 1664615 1664609 1664189 1664177 1664175 1664104 1662017 1660302 1643842 1640840 1639990 1639436 1637606 1633845 1633843 1633842 1504286] - [drm] drm: Add support for pps and compression mode command packet (Lyude Paul) [1707312 1688524 1685552 1685427 1665631 1665088 1664615 1664609 1664189 1664177 1664175 1664104 1662017 1660302 1643842 1640840 1639990 1639436 1637606 1633845 1633843 1633842 1504286] - [kernel] locking/mutex: Fix mutex debug call and ww_mutex documentation (Lyude Paul) [1707312 1688524 1685552 1685427 1665631 1665088 1664615 1664609 1664189 1664177 1664175 1664104 1662017 1660302 1643842 1640840 1639990 1639436 1637606 1633845 1633843 1633842 1504286] - [kernel] locking: Implement an algorithm choice for Wound-Wait mutexes (Lyude Paul) [1707312 1688524 1685552 1685427 1665631 1665088 1664615 1664609 1664189 1664177 1664175 1664104 1662017 1660302 1643842 1640840 1639990 1639436 1637606 1633845 1633843 1633842 1504286] - [kernel] locking: WW mutex cleanup (Lyude Paul) [1707312 1688524 1685552 1685427 1665631 1665088 1664615 1664609 1664189 1664177 1664175 1664104 1662017 1660302 1643842 1640840 1639990 1639436 1637606 1633845 1633843 1633842 1504286]- [netdrv] igb: Fix WARN_ONCE on runtime suspend (Corinna Vinschen) [1659168] - [netdrv] igb: use struct_size() helper (Corinna Vinschen) [1659168] - [netdrv] flow_offload: add flow_rule and flow_match structures and use them (Corinna Vinschen) [1659168] - [netdrv] igb: Bump version number (Corinna Vinschen) [1659168] - [netdrv] Revert "igb: reduce CPU0 latency when updating statistics" (Corinna Vinschen) [1659168] - [netdrv] igb: Fix an issue that PME is not enabled during runtime suspend (Corinna Vinschen) [1659168] - [netdrv] igb: Change RXPBSIZE size when setting Qav mode (Corinna Vinschen) [1659168] - [netdrv] igb: reduce CPU0 latency when updating statistics (Corinna Vinschen) [1659168] - [netdrv] igb: fix uninitialized variables (Corinna Vinschen) [1659168] - [netdrv] ethernet/intel: consolidate NAPI and NAPI exit (Corinna Vinschen) [1659168] - [netdrv] igb: Fix format with line continuation whitespace (Corinna Vinschen) [1659168] - [netdrv] igb: extend PTP gettime function to read system clock (Corinna Vinschen) [1659168] - [netdrv] i40e/ixgbe/igb: fail on new WoL flag setting WAKE_MAGICSECURE (Corinna Vinschen) [1659168] - [netdrv] intel-ethernet: software timestamp skbs as late as possible (Corinna Vinschen) [1659168] - [netdrv] igb: remove ndo_poll_controller (Corinna Vinschen) [1659168] - [netdrv] intel-ethernet: use correct module license (Corinna Vinschen) [1659168] - [netdrv] igb: Replace mdelay() with msleep() in igb_integrated_phy_loopback() (Corinna Vinschen) [1659168] - [netdrv] igb: Replace GFP_ATOMIC with GFP_KERNEL in igb_sw_init() (Corinna Vinschen) [1659168] - [netdrv] igb: Use an advanced ctx descriptor for launchtime (Corinna Vinschen) [1659168] - [netdrv] igb: e1000_phy: Mark expected switch fall-through (Corinna Vinschen) [1659168] - [netdrv] igb: e1000_82575: Mark expected switch fall-through (Corinna Vinschen) [1659168] - [netdrv] igb_main: Mark expected switch fall-throughs (Corinna Vinschen) [1659168] - [netdrv] igb: Use dma_wmb() instead of wmb() before doorbell writes (Corinna Vinschen) [1659168] - [netdrv] igb: Add support for ETF offload (Corinna Vinschen) [1659168] - [netdrv] igb: Only call skb_tx_timestamp after descriptors are ready (Corinna Vinschen) [1659168] - [netdrv] igb: Refactor igb_offload_cbs() (Corinna Vinschen) [1659168] - [netdrv] igb: Only change Tx arbitration when CBS is on (Corinna Vinschen) [1659168] - [netdrv] igb: Refactor igb_configure_cbs() (Corinna Vinschen) [1659168] - [fs] Revert "[fs] ext4: protect journal inode's blocks using block_validity" (Lukas Czerner) [1716549] - [fs] xfs: don't trip over uninitialized buffer on extent read of corrupted inode (Bill O'Donnell) [1715942] - [fs] xfs: always init bma in xfs_bmapi_write (Bill O'Donnell) [1715942] - [lib] rhashtable: Still do rehash when we get EEXIST (Vladis Dronov) [1712457] - [fs] vmcore: Add a kernel parameter novmcoredd (Kairui Song) [1705864] - [powerpc] powerpc/eeh: Correct retries in eeh_pe_reset_full() (Sam Bobroff) [1352405] - [powerpc] powerpc/eeh: Improve recovery of passed-through devices (Sam Bobroff) [1352405] - [powerpc] powerpc/eeh: Add include_passed to eeh_clear_pe_frozen_state() (Sam Bobroff) [1352405] - [powerpc] powerpc/eeh: Add include_passed to eeh_pe_state_clear() (Sam Bobroff) [1352405] - [powerpc] powerpc/eeh: remove sw_state from eeh_unfreeze_pe() (Sam Bobroff) [1352405] - [powerpc] powerpc/eeh: Cleanup eeh_pe_clear_frozen_state() (Sam Bobroff) [1352405] - [powerpc] powerpc/eeh: Cleanup control flow in eeh_handle_normal_event() (Sam Bobroff) [1352405] - [powerpc] powerpc/eeh: Cleanup eeh_ops.wait_state() (Sam Bobroff) [1352405] - [powerpc] powerpc/eeh: Cleanup eeh_pe_state_mark() (Sam Bobroff) [1352405] - [powerpc] powerpc/eeh: Cleanup unnecessary eeh_pe_state_mark_with_cfg() (Sam Bobroff) [1352405] - [powerpc] powerpc/eeh: Cleanup eeh_enabled() (Sam Bobroff) [1352405] - [powerpc] powerpc/eeh: Cleanup logic in eeh_rmv_from_parent_pe() (Sam Bobroff) [1352405] - [powerpc] powerpc/eeh: Cleanup field names in eeh_rmv_data (Sam Bobroff) [1352405] - [powerpc] powerpc/eeh: Cleanup list_head field names (Sam Bobroff) [1352405] - [powerpc] powerpc/eeh: Cleanup eeh_add_virt_device() (Sam Bobroff) [1352405] - [powerpc] powerpc/eeh: Cleanup unused field in eeh_dev (Sam Bobroff) [1352405] - [powerpc] powerpc/eeh: Cleanup EEH_POSTPONED_PROBE (Sam Bobroff) [1352405] - [powerpc] powerpc/eeh: Avoid misleading message "EEH: no capable adapters found" (Sam Bobroff) [1352405] - [powerpc] powerpc/eeh: Fix use of EEH_PE_KEEP on wrong field (Sam Bobroff) [1352405] - [powerpc] powerpc/eeh: Fix null deref for devices removed during EEH (Sam Bobroff) [1352405] - [powerpc] powerpc/eeh: Fix possible null deref in eeh_dump_dev_log() (Sam Bobroff) [1352405] - [edac] x86/MCE/AMD, EDAC/mce_amd: Add new error descriptions for some SMCA bank types (Janakarajan Natarajan) [1688469] - [x86] x86/MCE/AMD, EDAC/mce_amd: Add new McaTypes for CS, PSP, and SMU units (Janakarajan Natarajan) [1688469] - [x86] x86/MCE/AMD, EDAC/mce_amd: Add new MP5, NBIO, and PCIE SMCA bank types (Janakarajan Natarajan) [1688469] - [scsi] megaraid_sas: remove tech preview from Aero series (Tomas Henzl) [1668409] - [scsi] megaraid_sas: sync with mainline (Tomas Henzl) [1668409] - [scsi] scsi: megaraid_sas: fix spelling mistake "oustanding" -> "outstanding" (Tomas Henzl) [1668409] - [scsi] scsi: megaraid_sas: Make megasas_host_device_list_query() static (Tomas Henzl) [1668409] - [scsi] scsi: megaraid_sas: reduce module load time (Tomas Henzl) [1668409] - [scsi] scsi: megaraid_sas: Remove a bunch of set but not used variables (Tomas Henzl) [1668409] - [scsi] scsi: megaraid_sas: return error when create DMA pool failed (Tomas Henzl) [1668409] {CVE-2019-11810} - [scsi] scsi: megaraid_sas: driver version update (Tomas Henzl) [1668409] - [scsi] scsi: megaraid_sas: Update structures for HOST_DEVICE_LIST DCMD (Tomas Henzl) [1668409] - [scsi] scsi: megaraid_sas: Add support for DEVICE_LIST DCMD in driver (Tomas Henzl) [1668409] - [scsi] scsi: megaraid_sas: Rework device add code in AEN path (Tomas Henzl) [1668409] - [scsi] scsi: megaraid_sas: Rework code to get PD and LD list (Tomas Henzl) [1668409] - [scsi] scsi: megaraid_sas: correct an info message (Tomas Henzl) [1668409] - [scsi] cross-tree: phase out dma_zalloc_coherent() (Tomas Henzl) [1668409] - [scsi] scsi: megaraid: fix out-of-bound array accesses (Tomas Henzl) [1668409] - [scsi] scsi: megaraid_sas: changes to function prototypes (Tomas Henzl) [1668409] - [scsi] scsi: megaraid_sas: NULL check before some freeing functions is not needed (Tomas Henzl) [1668409] - [scsi] scsi: megaraid_sas_fusion: Mark expected switch fall-through (Tomas Henzl) [1668409] - [scsi] scsi: megaraid: megaraid_sas_base: Mark expected switch fall-through (Tomas Henzl) [1668409] - [scsi] scsi: megaraid_sas: modify max supported lds related print (Tomas Henzl) [1668409] - [scsi] scsi: megaraid_sas: remove unused macro (Tomas Henzl) [1668409] - [scsi] scsi: megaraid_sas: increase timeout for IOC INIT to 180seconds (Tomas Henzl) [1668409] - [scsi] scsi: megaraid_sas: Remove double endian conversion (Tomas Henzl) [1668409] - [scsi] scsi: megaraid_sas: Re-use max_mfi_cmds to calculate queue sizes (Tomas Henzl) [1668409] - [scsi] scsi: megaraid_sas: Rename scratch_pad registers (Tomas Henzl) [1668409] - [scsi] scsi: megaraid_sas: Remove spin lock for dpc operation (Tomas Henzl) [1668409] - [scsi] scsi: megaraid_sas: optimize raid context access in IO path (Tomas Henzl) [1668409] - [scsi] scsi: megaraid_sas: Fail init if heartbeat timer fails (Tomas Henzl) [1668409] - [scsi] scsi: megaraid_sas: For SRIOV, do not set STOP_ADP bit (Tomas Henzl) [1668409] - [scsi] scsi: megaraid_sas: Fix combined reply queue mode detection (Tomas Henzl) [1668409] - [scsi] scsi: megaraid_sas: Fix module parameter description (Tomas Henzl) [1668409] - [scsi] scsi: megaraid_sas: Fix goto labels in error handling (Tomas Henzl) [1668409] - [scsi] scsi: megaraid_sas: Update copyright information (Tomas Henzl) [1668409] - [scsi] scsi: megaraid_sas: Add check for reset adapter bit (Tomas Henzl) [1668409] - [scsi] scsi: megaraid_sas: Fix msleep granularity (Tomas Henzl) [1668409] - [scsi] scsi: megaraid_sas: Add support for FW snap dump (Tomas Henzl) [1668409] - [scsi] scsi: megaraid_sas: Add watchdog thread to detect Firmware fault (Tomas Henzl) [1668409] - [scsi] scsi: megaraid_sas: switch to generic DMA API (Tomas Henzl) [1668409] - [scsi] scsi: megaraid_sas: fix a missing-check bug (Tomas Henzl) [1668409] - [kernel] get_maintainer.pl: Add default .get_maintainer.conf file for RHEL (Prarit Bhargava) [1714630] - [scripts] get_maintainer: allow option --mpath to read all files in (Prarit Bhargava) [1714630] - [scripts] get_maintainer.pl: add -mpath= for MAINTAINERS file location (Prarit Bhargava) [1714630] - [scripts] get_maintainer: allow usage outside of kernel tree (Prarit Bhargava) [1714630] - [scripts] Revert "[scripts] get_maintainer.pl: Add optional .get_maintainer.MAINTAINERS override" (Prarit Bhargava) [1714630] - [include] signal: Make siginmask safe when passed a signal of 0 (Waiman Long) [1714351] - [fs] signal: Don't send signals to tasks that don't exist (Waiman Long) [1714351] - [kernel] signal: Restore the stop PTRACE_EVENT_EXIT (Waiman Long) [1714351] - [kernel] signal: Better detection of synchronous signals (Waiman Long) [1714351] - [kernel] signal: Always notice exiting tasks (Waiman Long) [1714351] - [kernel] signal: Always attempt to allocate siginfo for SIGSTOP (Waiman Long) [1714351] - [kernel] signal: Guard against negative signal numbers in copy_siginfo_from_user32 (Waiman Long) [1714351] - [kernel] signal: Guard against negative signal numbers in copy_siginfo_from_user (Waiman Long) [1714351] - [kernel] signal: In sigqueueinfo prefer sig not si_signo (Waiman Long) [1714351] - [include] signal: Use a smaller struct siginfo in the kernel (Waiman Long) [1714351] - [include] signal: Distinguish between kernel_siginfo and siginfo (Waiman Long) [1714351] - [kernel] signal: Introduce copy_siginfo_from_user and use it's return value (Waiman Long) [1714351] - [arm64] signal: Remove the need for __ARCH_SI_PREABLE_SIZE and SI_PAD_SIZE (Waiman Long) [1714351] - [kernel] signal: Fail sigqueueinfo if si_signo != sig (Waiman Long) [1714351] - [kernel] signal/sparc: Move EMT_TAGOVF into the generic siginfo.h (Waiman Long) [1714351] - [mm] signal/arm: Use force_sig_fault where appropriate (Waiman Long) [1714351] - [arm64] signal/arm64: Use send_sig_fault where appropriate (Waiman Long) [1714351] - [arm64] signal/arm64: Add and use arm64_force_sig_ptrace_errno_trap (Waiman Long) [1714351] - [arm64] signal/arm64: In ptrace_hbptriggered name the signal description string (Waiman Long) [1714351] - [arm64] signal/arm64: Remove arm64_force_sig_info (Waiman Long) [1714351] - [arm64] signal/arm64: Add and use arm64_force_sig_mceerr as appropriate (Waiman Long) [1714351] - [arm64] signal/arm64: Add and use arm64_force_sig_fault where appropriate (Waiman Long) [1714351] - [mm] signal/arm64: Only call set_thread_esr once in do_page_fault (Waiman Long) [1714351] - [mm] signal/arm64: Only perform one esr_to_fault_info call in do_page_fault (Waiman Long) [1714351] - [mm] signal/arm64: Expand __do_user_fault and remove it (Waiman Long) [1714351] - [mm] signal/arm64: For clarity separate the 3 signal sending cases in do_page_fault (Waiman Long) [1714351] - [mm] signal/arm64: Consolidate the two hwpoison cases in do_page_fault (Waiman Long) [1714351] - [mm] signal/arm64: Factor set_thread_esr out of __do_user_fault (Waiman Long) [1714351] - [arm64] signal/arm64: Factor out arm64_show_signal from arm64_force_sig_info (Waiman Long) [1714351] - [arm64] signal/arm64: Remove unneeded tsk parameter from arm64_force_sig_info (Waiman Long) [1714351] - [arm64] signal/arm64: Push siginfo generation into arm64_notify_die (Waiman Long) [1714351] - [powerpc] signal/powerpc: Use force_sig_fault where appropriate (Waiman Long) [1714351] - [powerpc] signal/powerpc: Simplify _exception_pkey by using force_sig_pkuerr (Waiman Long) [1714351] - [powerpc] signal/powerpc: Specialize _exception_pkey for handling pkey exceptions (Waiman Long) [1714351] - [powerpc] signal/powerpc: Call force_sig_fault from _exception (Waiman Long) [1714351] - [powerpc] signal/powerpc: Factor the common exception code into exception_common (Waiman Long) [1714351] - [powerpc] powerpc/traps: Print unhandled signals in a separate function (Waiman Long) [1714351] - [mm] signal/powerpc: Remove pkey parameter from __bad_area_nosemaphore (Waiman Long) [1714351] - [mm] signal/powerpc: Call _exception_pkey directly from bad_key_fault_exception (Waiman Long) [1714351] - [mm] signal/powerpc: Remove pkey parameter from __bad_area (Waiman Long) [1714351] - [mm] signal/powerpc: Use force_sig_mceerr as appropriate (Waiman Long) [1714351] - [x86] signal/x86: Use force_sig_fault where appropriate (Waiman Long) [1714351] - [mm] signal/x86: Pass pkey by value (Waiman Long) [1714351] - [mm] signal/x86: Replace force_sig_info_fault with force_sig_fault (Waiman Long) [1714351] - [mm] signal/x86: Call force_sig_pkuerr from __bad_area_nosemaphore (Waiman Long) [1714351] - [mm] signal/x86: Pass pkey not vma into __bad_area (Waiman Long) [1714351] - [mm] signal/x86: Don't compute pkey in __do_page_fault (Waiman Long) [1714351] - [mm] signal/x86: Remove pkey parameter from mm_fault_error (Waiman Long) [1714351] - [mm] signal/x86: Remove the pkey parameter from do_sigbus (Waiman Long) [1714351] - [mm] signal/x86: Remove pkey parameter from bad_area_nosemaphore (Waiman Long) [1714351] - [x86] signal/x86/traps: Simplify trap generation (Waiman Long) [1714351] - [x86] signal/x86/traps: Use force_sig instead of open coding it. (Waiman Long) [1714351] - [x86] signal/x86/traps: Use force_sig_bnderr (Waiman Long) [1714351] - [x86] signal/x86/traps: Move more code into do_trap_no_signal so it can be reused (Waiman Long) [1714351] - [x86] signal/x86/traps: Factor out show_signal (Waiman Long) [1714351] - [x86] signal/x86: Move mpx siginfo generation into do_bounds (Waiman Long) [1714351] - [x86] signal/x86: In trace_mpx_bounds_register_exception add __user annotations (Waiman Long) [1714351] - [mm] signal/x86: Move MCE error reporting out of force_sig_info_fault (Waiman Long) [1714351] - [x86] signal/x86: Inline fill_sigtrap_info in it's only caller send_sigtrap (Waiman Long) [1714351] - [powerpc] signal: Simplify tracehook_report_syscall_exit (Waiman Long) [1714351] - [kernel] signal: Pair exports with their functions (Waiman Long) [1714351] - [kernel] signal: Remove specific_send_sig_info (Waiman Long) [1714351] - [kernel] signal: Use group_send_sig_info to kill all processes in a pid namespace (Waiman Long) [1714351] - [tty] tty_io: Use group_send_sig_info in __do_SACK to note it is a session being killed (Waiman Long) [1714351] - [misc] signal/GenWQE: Fix sending of SIGKILL (Waiman Long) [1714351] - [include] signal: Remove SEND_SIG_FORCED (Waiman Long) [1714351] - [kernel] signal: Use SEND_SIG_PRIV not SEND_SIG_FORCED with SIGKILL and SIGSTOP (Waiman Long) [1714351] - [kernel] signal: Never allocate siginfo for SIGKILL or SIGSTOP (Waiman Long) [1714351] - [usb] signal: Don't send siginfo to kthreads. (Waiman Long) [1714351] - [usb] signal: Remove the siginfo paramater from kernel_dqueue_signal (Waiman Long) [1714351] - [tty] signal: send_sig_all no longer needs SEND_SIG_FORCED (Waiman Long) [1714351] - [kernel] signal: Always deliver the kernel's SIGKILL and SIGSTOP to a pid namespace init (Waiman Long) [1714351] - [x86] signal: Properly deliver SIGSEGV from x86 uprobes (Waiman Long) [1714351] - [kernel] signal: Properly deliver SIGILL from uprobes (Waiman Long) [1714351] - [kernel] signal: Always ignore SIGKILL and SIGSTOP sent to the global init (Waiman Long) [1714351] - [iommu] mm: convert return type of handle_mm_fault() caller to vm_fault_t (Waiman Long) [1714351] - [kernel] signal: make get_signal() return bool (Waiman Long) [1714351] - [kernel] signal: make sigkill_pending() return bool (Waiman Long) [1714351] - [kernel] signal: make legacy_queue() return bool (Waiman Long) [1714351] - [kernel] signal: make wants_signal() return bool (Waiman Long) [1714351] - [kernel] signal: make flush_sigqueue_mask() void (Waiman Long) [1714351] - [kernel] signal: make unhandled_signal() return bool (Waiman Long) [1714351] - [kernel] signal: make recalc_sigpending_tsk() return bool (Waiman Long) [1714351] - [kernel] signal: make has_pending_signals() return bool (Waiman Long) [1714351] - [kernel] signal: make sig_ignored() return bool (Waiman Long) [1714351] - [kernel] signal: make sig_task_ignored() return bool (Waiman Long) [1714351] - [kernel] signal: make sig_handler_ignored() return bool (Waiman Long) [1714351] - [kernel] signal: make kill_ok_by_cred() return bool (Waiman Long) [1714351] - [kernel] signal: simplify rt_sigaction() (Waiman Long) [1714351] - [kernel] signal: make do_sigpending() void (Waiman Long) [1714351] - [kernel] signal: make may_ptrace_stop() return bool (Waiman Long) [1714351] - [kernel] signal: make kill_as_cred_perm() return bool (Waiman Long) [1714351] - [kernel] signal: make force_sigsegv() void (Waiman Long) [1714351] - [kernel] signal: Don't restart fork when signals come in. (Waiman Long) [1714351] - [kernel] fork: Have new threads join on-going signal group stops (Waiman Long) [1714351] - [include] fork: Skip setting TIF_SIGPENDING in ptrace_init_task (Waiman Long) [1714351] - [kernel] signal: Add calculate_sigpending() (Waiman Long) [1714351] - [kernel] fork: Unconditionally exit if a fatal signal is pending (Waiman Long) [1714351] - [kernel] fork: Move and describe why the code examines PIDNS_ADDING (Waiman Long) [1714351] - [kernel] signal: Push pid type down into complete_signal. (Waiman Long) [1714351] - [kernel] signal: Push pid type down into __send_signal (Waiman Long) [1714351] - [kernel] signal: Push pid type down into send_signal (Waiman Long) [1714351] - [tty] signal: Pass pid type into do_send_sig_info (Waiman Long) [1714351] - [fs] signal: Pass pid type into send_sigio_to_task & send_sigurg_to_task (Waiman Long) [1714351] - [kernel] signal: Pass pid type into group_send_sig_info (Waiman Long) [1714351] - [kernel] signal: Pass pid and pid type into send_sigqueue (Waiman Long) [1714351] - [kernel] posix-timers: Noralize good_sigevent (Waiman Long) [1714351] - [fs] signal: Use PIDTYPE_TGID to clearly store where file signals will be sent (Waiman Long) [1714351] - [kernel] pid: Implement PIDTYPE_TGID (Waiman Long) [1714351] - [include] pids: Move the pgrp and session pid pointers from task_struct to signal_struct (Waiman Long) [1714351] - [fs] pids: Compute task_tgid using signal->leader_pid (Waiman Long) [1714351] - [kernel] pids: Move task_pid_type into sched/signal.h (Waiman Long) [1714351] - [init] pids: Initialize leader_pid in init_task (Waiman Long) [1714351]- [s390] s390: enable processes for mio instructions (Philipp Rudo) [1651734] - [s390] s390/pci: add parameter to disable usage of MIO instructions (Philipp Rudo) [1651734] - [s390] s390/pci: provide support for MIO instructions (Philipp Rudo) [1651734] - [s390] s390/pci: improve bar check (Philipp Rudo) [1651734] - [s390] s390/ism: move oddities of device IO to wrapper function (Philipp Rudo) [1651734] - [s390] s390/pci: move io address mapping code to pci_insn.c (Philipp Rudo) [1651734] - [s390] s390/pci: add parameter to force floating irqs (Philipp Rudo) [1651735] - [s390] s390/pci: gather statistics for floating vs directed irqs (Philipp Rudo) [1651735] - [s390] s390: show statistics for MSI IRQs (Philipp Rudo) [1651735] - [s390] s390/pci: provide support for CPU directed interrupts (Philipp Rudo) [1651735] - [s390] s390/airq: provide cacheline aligned ivs (Philipp Rudo) [1651735] - [s390] s390/pci: clarify interrupt vector usage (Philipp Rudo) [1651735] - [s390] s390/airq: recognize directed interrupts (Philipp Rudo) [1651735] - [s390] s390/sclp: detect DIRQ facility (Philipp Rudo) [1651735] - [s390] s390/pci: move everything irq related to pci_irq.c (Philipp Rudo) [1651735] - [s390] s390/pci: remove stale rc (Philipp Rudo) [1651735] - [s390] s390/pci: remove unused define (Philipp Rudo) [1651735] - [s390] s390/pci: mark command line parser data __initdata (Philipp Rudo) [1651735] - [cpufreq] cpufreq: intel_pstate: Ignore turbo active ratio in HWP (David Arcari) [1711970] - [scsi] mpt3sas: remove tech preview from Aero series (Tomas Henzl) [1684444] - [scsi] scsi: mpt3sas: fix indentation issue (Tomas Henzl) [1684444] - [scsi] scsi: mpt3sas: Update mpt3sas driver version to 28.100.00.00 (Tomas Henzl) [1684444] - [scsi] scsi: mpt3sas: Improve the threshold value and introduce module param (Tomas Henzl) [1684444] - [scsi] scsi: mpt3sas: Load balance to improve performance and avoid soft lockups (Tomas Henzl) [1684444] - [scsi] scsi: mpt3sas: Irq poll to avoid CPU hard lockups (Tomas Henzl) [1684444] - [scsi] scsi: mpt3sas: simplify interrupt handler (Tomas Henzl) [1684444] - [scsi] scsi: mpt3sas: Fix typo in request_desript_type (Tomas Henzl) [1684444] - [scsi] scsi: mpt3sas: Add missing breaks in switch statements (Tomas Henzl) [1684444] - [scsi] scsi: mpt3sas: Update driver version to 27.102.00.00 (Tomas Henzl) [1684444] - [scsi] scsi: mpt3sas: Add support for ATLAS PCIe switch (Tomas Henzl) [1684444] - [scsi] scsi: mpt3sas: Add support for NVMe Switch Adapter (Tomas Henzl) [1684444] - [scsi] scsi: mpt3sas: Rename mpi endpoint device ID macro. (Tomas Henzl) [1684444] - [scsi] scsi: mpt3sas: mpt3sas_scsih: Mark expected switch fall-through (Tomas Henzl) [1684444] - [scsi] scsi: mpt3sas: fix memory ordering on 64bit writes (Tomas Henzl) [1684444] - [scsi] scsi: mpt3sas: fix spelling mistake "manufaucturing" -> "manufacturing" (Tomas Henzl) [1684444] - [scsi] scsi: mpt3sas: Fix driver modifying persistent data in Manufacturing page11 (Tomas Henzl) [1684444] - [scsi] scsi: mpt3sas: Don't modify EEDPTagMode field setting on SAS3.5 HBA devices (Tomas Henzl) [1684444] - [scsi] scsi: mpt3sas: Fix Sync cache command failure during driver unload (Tomas Henzl) [1684444] - [scsi] scsi: mpt3sas: Call sas_remove_host before removing the target devices (Tomas Henzl) [1684444] - [scsi] scsi: mpt3sas: Refactor mpt3sas_wait_for_ioc function (Tomas Henzl) [1684444] - [scsi] scsi: mpt3sas: Separate out mpt3sas_wait_for_ioc (Tomas Henzl) [1684444] - [scsi] scsi: mpt3sas: Added new #define variable IOC_OPERATIONAL_WAIT_COUNT (Tomas Henzl) [1684444] - [scsi] scsi: mpt3sas: switch to generic DMA API (Tomas Henzl) [1684444] - [tools] perf tools beauty ioctl: Support new ISO7816 commands (Michael Petlan) [1709243] - [tools] perf tools: Restore proper cwd on return from mnt namespace (Michael Petlan) [1709243] - [tools] perf tools: Fix crash on synthesizing the unit (Michael Petlan) [1709243] - [tools] perf tools: Do not zero sample_id_all for group members (Michael Petlan) [1709243] - [tools] perf beauty: Use SRCARCH, ARCH=x86_64 must map to "x86" to find the headers (Michael Petlan) [1709243] - [tools] perf intel-pt: Add MTC and CYC timestamps to debug log (Michael Petlan) [1709243] - [tools] perf intel-pt: Add more event information to debug log (Michael Petlan) [1709243] - [tools] perf scripts python: exported-sql-viewer.py: Fix table find when table re-ordered (Michael Petlan) [1709243] - [tools] perf scripts python: exported-sql-viewer.py: Add help window (Michael Petlan) [1709243] - [tools] perf scripts python: exported-sql-viewer.py: Add Selected branches report (Michael Petlan) [1709243] - [tools] perf scripts python: exported-sql-viewer.py: Fall back to /usr/local/lib/libxed.so (Michael Petlan) [1709243] - [tools] perf top: Display the LBR stats in callchain entry (Michael Petlan) [1709243] - [tools] perf stat: Handle different PMU names with common prefix (Michael Petlan) [1709243] - [tools] perf record: Support weak groups (Michael Petlan) [1709243] - [tools] perf evlist: Move perf_evsel__reset_weak_group into evlist (Michael Petlan) [1709243] - [tools] perf augmented_syscalls: Start collecting pathnames in the BPF program (Michael Petlan) [1709243] - [tools] perf trace: Fix setting of augmented payload when using eBPF + raw_syscalls (Michael Petlan) [1709243] - [tools] perf trace: When augmenting raw_syscalls plug raw_syscalls:sys_exit too (Michael Petlan) [1709243] - [tools] perf examples bpf: Start augmenting raw_syscalls:sys_{start,exit} (Michael Petlan) [1709243] - [tools] perf intel-pt/bts: Calculate cpumode for synthesized samples (Michael Petlan) [1709243] - [tools] perf intel-pt: Insert callchain context into synthesized callchains (Michael Petlan) [1709243] - [tools] perf top: Start display thread earlier (Michael Petlan) [1709243] - [tools] perf trace beauty: Use the mmap flags table generated from headers (Michael Petlan) [1709243] - [tools] perf beauty: Wire up the mmap flags table generator to the Makefile (Michael Petlan) [1709243] - [tools] perf beauty: Add a generator for MAP_ mmap's flag constants (Michael Petlan) [1709243] - [tools] perf callchain: Honour the ordering of PERF_CONTEXT_{USER,KERNEL,etc} (Michael Petlan) [1709243] - [tools] perf cs-etm: Correct CPU mode for samples (Michael Petlan) [1709243] - [tools] perf unwind: Take pgoff into account when reporting elf to libdwfl (Michael Petlan) [1709243] - [tools] perf top: Do not use overwrite mode by default (Michael Petlan) [1709243] - [tools] perf trace: Beautify mount's first pathname arg (Michael Petlan) [1709243] - [tools] perf trace: Beautify the umount's 'name' argument (Michael Petlan) [1709243] - [tools] perf trace: Consider syscall aliases too (Michael Petlan) [1709243] - [tools] perf trace beauty: Beautify mount/umount's 'flags' argument (Michael Petlan) [1709243] - [tools] perf trace beauty: Allow syscalls to mask an argument before considering it (Michael Petlan) [1709243] - [tools] perf beauty: Introduce strarray__scnprintf_flags() (Michael Petlan) [1709243] - [tools] perf beauty: Switch from GPL v2.0 to LGPL v2.1 (Michael Petlan) [1709243] - [tools] perf beauty: Add a generator for MS_ mount/umount's flag constants (Michael Petlan) [1709243] - [tools] tools include uapi: Grab a copy of linux/fs.h (Michael Petlan) [1709243] - [tools] perf script: Support total cycles count (Michael Petlan) [1709243] - [tools] perf script: Make itrace script default to all calls (Michael Petlan) [1709243] - [tools] perf scripts python: exported-sql-viewer.py: Add All branches report (Michael Petlan) [1709243] - [tools] perf scripts python: exported-sql-viewer.py: Add ability to display all the database tables (Michael Petlan) [1709243] - [tools] perf scripts python: exported-sql-viewer.py: Add ability to shrink / enlarge font (Michael Petlan) [1709243] - [tools] perf scripts python: exported-sql-viewer.py: Add ability to find symbols in the call-graph (Michael Petlan) [1709243] - [tools] perf scripts python: exported-sql-viewer.py: Add support for multiple sub-windows (Michael Petlan) [1709243] - [tools] perf scripts python: call-graph-from-sql.py: Rename to exported-sql-viewer.py (Michael Petlan) [1709243] - [tools] perf scripts python: call-graph-from-sql.py: Refactor TreeItem class (Michael Petlan) [1709243] - [tools] perf scripts python: call-graph-from-sql.py: Add data helper functions (Michael Petlan) [1709243] - [tools] perf scripts python: call-graph-from-sql.py: Factor out CallGraphModel from TreeModel (Michael Petlan) [1709243] - [tools] perf scripts python: call-graph-from-sql.py: Remove use of setObjectName() (Michael Petlan) [1709243] - [tools] perf scripts python: call-graph-from-sql.py: Add a class for global data (Michael Petlan) [1709243] - [tools] perf scripts python: call-graph-from-sql.py: Separate the database details into a class (Michael Petlan) [1709243] - [tools] perf scripts python: call-graph-from-sql.py: Make a "Main" function (Michael Petlan) [1709243] - [tools] perf scripts python: call-graph-from-sql.py: Change icon (Michael Petlan) [1709243] - [tools] perf scripts python: call-graph-from-sql.py: Set a minimum window size (Michael Petlan) [1709243] - [tools] perf scripts python: call-graph-from-sql.py: Provide better default column sizes (Michael Petlan) [1709243] - [tools] perf scripts python: call-graph-from-sql.py: Use SPDX license identifier (Michael Petlan) [1709243] - [tools] perf trace: Introduce per-event maximum number of events property (Michael Petlan) [1709243] - [tools] perf script: Flush output stream after events in verbose mode (Michael Petlan) [1709243] - [tools] perf script: Allow extended console debug output (Michael Petlan) [1709243] - [tools] perf stat: Poll for monitored tasks being alive (Michael Petlan) [1709243] - [tools] perf trace: Drop thread refcount in trace__event_handler() (Michael Petlan) [1709243] - [tools] perf trace: Drop addr_location refcounts (Michael Petlan) [1709243] - [tools] perf evsel: Mark a evsel as disabled when asking the kernel do disable it (Michael Petlan) [1709243] - [tools] perf evsel: Introduce per event max_events property (Michael Petlan) [1709243] - [tools] tools lib subcmd: Introduce OPTION_ULONG (Michael Petlan) [1709243] - [tools] perf arm64: Fix generate system call table failed with /tmp mounted with noexec (Michael Petlan) [1709243] - [tools] perf symbols: Set PLT entry/header sizes properly on Sparc (Michael Petlan) [1709243] - [tools] perf jitdump: Add Sparc support. (Michael Petlan) [1709243] - [tools] perf annotate: Add Sparc support (Michael Petlan) [1709243] - [tools] perf record: Encode -k clockid frequency into Perf trace (Michael Petlan) [1709243] - [tools] perf probe: Support SDT markers having reference counter (semaphore) (Michael Petlan) [1709243] - [tools] tools lib traceevent, perf tools: Move struct tep_handler definition in a local header file (Michael Petlan) [1709243] - [tools] tools lib traceevent: Separate out tep_strerror() for strerror_r() issues (Michael Petlan) [1709243] - [tools] perf python: More portable way to make CFLAGS work with clang (Michael Petlan) [1709243] - [tools] perf python: Make clang_has_option() work on Python 3 (Michael Petlan) [1709243] - [tools] perf tools: Free temporary 'sys' string in read_event_files() (Michael Petlan) [1709243] - [tools] perf tools: Avoid double free in read_event_file() (Michael Petlan) [1709243] - [tools] perf tools: Free 'printk' string in parse_ftrace_printk() (Michael Petlan) [1709243] - [tools] perf tools: Cleanup trace-event-info 'tdata' leak (Michael Petlan) [1709243] - [tools] perf strbuf: Match va_{add,copy} with va_end (Michael Petlan) [1709243] - [tools] perf test: S390 does not support watchpoints in test 22 (Michael Petlan) [1709243] - [tools] perf auxtrace: Include missing asm/bitsperlong.h to get BITS_PER_LONG (Michael Petlan) [1709243] - [tools] tools include: Adopt linux/bits.h (Michael Petlan) [1709243] - [tools] perf intel-pt: Implement decoder flags for trace begin / end (Michael Petlan) [1709243] - [tools] perf intel-pt: Add decoder flags for trace begin / end (Michael Petlan) [1709243] - [tools] perf tools: Improve thread_stack__process() for trace begin / end (Michael Petlan) [1709243] - [tools] perf tools: Improve thread_stack__event() for trace begin / end (Michael Petlan) [1709243] - [tools] perf db-export: Add trace begin / end branch type variants (Michael Petlan) [1709243] - [tools] perf script: Enhance sample flags for trace begin / end (Michael Petlan) [1709243] - [tools] tools lib traceevent: Add prefix tep_ to enum filter_trivial_type (Michael Petlan) [1709243] - [tools] tools lib traceevent: Rename data2host*() APIs (Michael Petlan) [1709243] - [tools] tools lib traceevent: Rename struct plugin_list to struct tep_plugin_list (Michael Petlan) [1709243] - [tools] tools lib traceevent: Add prefix tep_ to structs filter_type and event_filter (Michael Petlan) [1709243] - [tools] tools lib traceevent: Add prefix tep_ to various structs filter_arg_*. (Michael Petlan) [1709243] - [tools] tools lib traceevent: Add prefix tep_ to struct filter_{arg,value_type} (Michael Petlan) [1709243] - [tools] tools lib traceevent: Add prefix tep_ to enums filter_{exp,arg}_type (Michael Petlan) [1709243] - [tools] tools lib traceevent: Add prefix tep_ to enums filter_{boolean,op,cmp}_type (Michael Petlan) [1709243] - [tools] tools lib traceevent, perf tools: Rename enum print_arg_type to enum tep_print_arg_type (Michael Petlan) [1709243] - [tools] tools lib traceevent, perf tools: Add prefix tep_ to all print_* structures (Michael Petlan) [1709243] - [tools] tools lib traceevent: Add prefix TEP_ to all EVENT_FL_* flags (Michael Petlan) [1709243] - [tools] tools lib traceevent: Rename enum event_{sort_}type to enum tep_event_{sort_}type (Michael Petlan) [1709243] - [tools] tools lib traceevent, perf tools: Rename enum format_flags to enum tep_format_flags (Michael Petlan) [1709243] - [tools] tools lib traceevent, perf tools: Rename struct format{_field} to struct tep_format{_field} (Michael Petlan) [1709243] - [tools] tools lib traceevent, perf tools: Rename struct event_format to struct tep_event_format (Michael Petlan) [1709243] - [tools] perf script: Print DSO for callindent (Michael Petlan) [1709243] - [tools] perf script: Allow sym and dso without ip, addr (Michael Petlan) [1709243] - [tools] tools lib subcmd: Support overwriting the pager (Michael Petlan) [1709243] - [tools] perf tools: Report itrace options in help (Michael Petlan) [1709243] - [tools] perf help: Add missing subcommand `version` (Michael Petlan) [1709243] - [tools] perf tools: Initialize perf_data_file fd field (Michael Petlan) [1709243] - [tools] perf util: Make copyfile_offset() global (Michael Petlan) [1709243] - [tools] perf tools: Add 'struct perf_mmap' arg to record__write() (Michael Petlan) [1709243] - [tools] perf auxtrace: Pass struct perf_mmap into mmap__read* functions (Michael Petlan) [1709243] - [tools] perf tools: Remove perf_tool from event_op3 (Michael Petlan) [1709243] - [tools] perf tools: Remove perf_tool from event_op2 (Michael Petlan) [1709243] - [tools] perf bpf-loader: use PTR_ERR_OR_ZERO inetead of return code (Michael Petlan) [1709243] - [tools] tools include: Adopt PTR_ERR_OR_ZERO from the kernel err.h header (Michael Petlan) [1709243] - [tools] perf ordered_events: Prevent crossing max_alloc_size (Michael Petlan) [1709243] - [tools] perf ordered_events: Add 'struct ordered_events_buffer' layer (Michael Petlan) [1709243] - [tools] perf test: Add watchpoint test (Michael Petlan) [1709243] - [tools] perf tests: Fix record+probe_libc_inet_pton.sh without ping's debuginfo (Michael Petlan) [1709243] - [tools] perf map: Turn some pr_warning() to pr_debug() (Michael Petlan) [1709243] - [tools] perf trace: Use the raw_syscalls:sys_enter for the augmented syscalls (Michael Petlan) [1709243] - [tools] perf trace: Setup augmented_args in the raw_syscalls:sys_enter handler (Michael Petlan) [1709243] - [tools] perf trace: Introduce syscall__augmented_args() method (Michael Petlan) [1709243] - [tools] perf augmented_syscalls: Avoid optimization to pass older BPF validators (Michael Petlan) [1709243] - [tools] perf augmented_syscalls: Check probe_read_str() return separately (Michael Petlan) [1709243] - [tools] perf annotate: Handle arm64 move instructions (Michael Petlan) [1709243] - [tools] perf trace beauty: Alias 'umount' to 'umount2' (Michael Petlan) [1709243] - [tools] perf stat: Move the display functions to stat-display.c (Michael Petlan) [1709243] - [tools] perf stat: Move 'metric_events' to 'struct perf_stat_config' (Michael Petlan) [1709243] - [tools] perf stat: Move 'walltime_*' data to 'struct perf_stat_config' (Michael Petlan) [1709243] - [tools] perf stat: Propagate 'struct target' arg to sort_aggr_thread() (Michael Petlan) [1709243] - [tools] perf stat: Move 'no_merge' data to 'struct perf_stat_config' (Michael Petlan) [1709243] - [tools] perf stat: Move 'big_num' data to 'struct perf_stat_config' (Michael Petlan) [1709243] - [tools] perf stat: Do not use the global 'evsel_list' in print functions (Michael Petlan) [1709243] - [tools] perf stat: Move *_aggr_* data to 'struct perf_stat_config' (Michael Petlan) [1709243] - [tools] perf stat: Move ru_* data to 'struct perf_stat_config' (Michael Petlan) [1709243] - [tools] perf stat: Move 'print_mixed_hw_group_error' to 'struct perf_stat_config' (Michael Petlan) [1709243] - [tools] perf stat: Move 'print_free_counters_hint' to 'struct perf_stat_config' (Michael Petlan) [1709243] - [tools] perf stat: Move 'null_run' to 'struct perf_stat_config' (Michael Petlan) [1709243] - [tools] perf stat: Add 'walltime_nsecs_stats' pointer to 'struct perf_stat_config' (Michael Petlan) [1709243] - [tools] perf stat: Pass 'evlist' to aggr_update_shadow() (Michael Petlan) [1709243] - [tools] perf stat: Pass 'struct perf_stat_config' to first_shadow_cpu() (Michael Petlan) [1709243] - [tools] perf stat: Move 'metric_only_len' to 'struct perf_stat_config' (Michael Petlan) [1709243] - [tools] perf stat: Move 'run_count' to 'struct perf_stat_config' (Michael Petlan) [1709243] - [tools] perf stat: Use 'evsel->evlist' instead of 'evsel_list' in collect_all_aliases() (Michael Petlan) [1709243] - [tools] perf stat: Pass 'evlist' argument to print functions (Michael Petlan) [1709243] - [tools] perf stat: Add 'target' argument to perf_evlist__print_counters() (Michael Petlan) [1709243] - [tools] perf stat: Move 'unit_width' to 'struct perf_stat_config' (Michael Petlan) [1709243] - [tools] perf stat: Move 'metric_only' to 'struct perf_stat_config' (Michael Petlan) [1709243] - [tools] perf stat: Move 'interval_clear' to 'struct perf_stat_config' (Michael Petlan) [1709243] - [tools] perf stat: Move csv_* to 'struct perf_stat_config' (Michael Petlan) [1709243] - [tools] perf stat: Pass a 'struct perf_stat_config' argument to global print functions (Michael Petlan) [1709243] - [tools] perf stat: Pass 'struct perf_stat_config' argument to local print functions (Michael Petlan) [1709243] - [tools] perf stat: Add 'struct perf_stat_config' argument to perf_evlist__print_counters() (Michael Petlan) [1709243] - [tools] perf stat: Move STAT_RECORD out of perf_evlist__print_counters() (Michael Petlan) [1709243] - [tools] perf stat: Introduce perf_evlist__print_counters() (Michael Petlan) [1709243] - [tools] perf stat: Move perf_stat_synthesize_config() to stat.c (Michael Petlan) [1709243] - [tools] perf stat: Add 'perf_event__handler_t' argument to perf_stat_synthesize_config() (Michael Petlan) [1709243] - [tools] perf stat: Add 'struct perf_evlist' argument to perf_stat_synthesize_config() (Michael Petlan) [1709243] - [tools] perf stat: Add 'struct perf_tool' argument to perf_stat_synthesize_config() (Michael Petlan) [1709243] - [tools] perf stat: Add 'struct perf_stat_config' argument to perf_stat_synthesize_config() (Michael Petlan) [1709243] - [tools] perf stat: Rename 'is_pipe' argument to 'attrs' in perf_stat_synthesize_config() (Michael Petlan) [1709243] - [tools] perf stat: Move create_perf_stat_counter() to stat.c (Michael Petlan) [1709243] - [tools] perf evsel: Introduce perf_evsel__store_ids() (Michael Petlan) [1709243] - [tools] perf tools: Switch 'session' argument to 'evlist' in perf_event__synthesize_attrs() (Michael Petlan) [1709243] - [tools] perf stat: Add 'identifier' flag to 'struct perf_stat_config' (Michael Petlan) [1709243] - [tools] perf stat: Use local config arg for scale in create_perf_stat_counter() (Michael Petlan) [1709243] - [tools] perf stat: Move 'no_inherit' to 'struct perf_stat_config' (Michael Petlan) [1709243] - [tools] perf stat: Move 'initial_delay' to 'struct perf_stat_config' (Michael Petlan) [1709243] - [tools] perf stat: Use evsel->threads in create_perf_stat_counter() (Michael Petlan) [1709243] - [tools] perf trace: Show comm and tid for tracepoint events (Michael Petlan) [1709243] - [tools] perf trace augmented_syscalls: Hook into syscalls:sys_exit_SYSCALL too (Michael Petlan) [1709243] - [tools] perf trace augmented_syscalls: Rename augmented_*_syscall__enter to just *_syscall (Michael Petlan) [1709243] - [tools] perf augmented_syscalls: Update the header comments (Michael Petlan) [1709243] - [tools] perf bpf: Add syscall_exit() helper (Michael Petlan) [1709243] - [tools] tools lib traceevent, perf tools: Split trace-seq related APIs in a separate header file (Michael Petlan) [1709243] - [tools] perf report: Create auxiliary trace data files for s390 (Michael Petlan) [1709243] - [tools] perf trace beauty: Reorganize 'struct sockaddr *' beautifier (Michael Petlan) [1709243] - [tools] perf trace augmented_syscalls: Augment sendto's 'addr' arg (Michael Petlan) [1709243] - [tools] perf trace augmented_syscalls: Augment bind's 'myaddr' sockaddr arg (Michael Petlan) [1709243] - [tools] perf trace augmented_syscalls: Add augmented_sockaddr_syscall_enter() (Michael Petlan) [1709243] - [tools] perf trace augmented_syscalls: Augment connect's 'sockaddr' arg (Michael Petlan) [1709243] - [tools] perf bpf: Add linux/socket.h to the headers accessible to bpf proggies (Michael Petlan) [1709243] - [tools] perf bpf: Give precedence to bpf header dir (Michael Petlan) [1709243] - [tools] perf trace: Add a etcsnoop.c augmented syscalls eBPF utility (Michael Petlan) [1709243] - [tools] perf trace: Augment 'newstat' (aka 'stat') filename ptr (Michael Petlan) [1709243] - [tools] perf trace: Introduce augmented_filename_syscall_enter() declarator (Michael Petlan) [1709243] - [tools] perf trace: Augment inotify_add_watch pathname syscall arg (Michael Petlan) [1709243] - [tools] perf trace: Augment the 'open' syscall 'filename' arg (Michael Petlan) [1709243] - [tools] perf trace: Use the augmented filename, expanding syscall enter pointers (Michael Petlan) [1709243] - [tools] perf trace: Show comm/tid for augmented_syscalls (Michael Petlan) [1709243] - [tools] perf trace: Extract the comm/tid printing for syscall enter (Michael Petlan) [1709243] - [tools] perf trace: Print the syscall name for augmented_syscalls (Michael Petlan) [1709243] - [tools] perf trace: Make the augmented_syscalls filter out the tracepoint event (Michael Petlan) [1709243] - [tools] perf trace: Pass augmented args to the arg formatters when available (Michael Petlan) [1709243] - [x86] perf/x86/intel: Disallow precise_ip on BTS events (Michael Petlan) [1709243] - [x86] perf/x86/intel: Add generic branch tracing check to intel_pmu_has_bts() (Michael Petlan) [1709243] - [x86] perf/x86/intel: Move branch tracing setup to the Intel-specific source file (Michael Petlan) [1709243] - [x86] perf/x86/intel: Fix regression by default disabling perfmon v4 interrupt handling (Michael Petlan) [1709243] - [x86] perf/x86/intel/uncore: Support CoffeeLake 8th CBOX (Michael Petlan) [1709243] - [x86] perf/x86/intel/uncore: Add more IMC PCI IDs for KabyLake and CoffeeLake CPUs (Michael Petlan) [1709243] - [tools] perf tools: Don't clone maps from parent when synthesizing forks (Michael Petlan) [1709243] - [tools] perf top: Allow disabling the overwrite mode (Michael Petlan) [1709243] - [kernel] perf/core: Clean up inconsisent indentation (Michael Petlan) [1709243] - [tools] perf script: Implement --graph-function (Michael Petlan) [1709243] - [tools] tools script: Add --call-trace and --call-ret-trace (Michael Petlan) [1709243] - [tools] perf script: Add --insn-trace for instruction decoding (Michael Petlan) [1709243] - [tools] perf trace: Introduce --max-events (Michael Petlan) [1709243] - [x86] perf/x86/intel: Add quirk for Goldmont Plus (Michael Petlan) [1709243] - [kernel] perf: Suppress AUX/OVERWRITE records (Michael Petlan) [1709243] - [x86] perf/x86/intel/pt: Annotate 'pt_cap_group' with __ro_after_init (Michael Petlan) [1709243] - [x86] perf/x86: Add __ro_after_init annotations (Michael Petlan) [1709243] - [x86] x86/mm/mem_encrypt: Disable all instrumentation for early SME setup (Janakarajan Natarajan) [1679265] - [fs] cifs: fix copy_file_range to allow write on the same file (Leif Sahlberg) [1689100] - [infiniband] Revert "[infiniband] IB/usnic: Remove stub functions" (Jonathan Toppins) [1713753] - [x86] Update stepping values for Whiskey Lake U/Y (David Arcari) [1704801] - [powerpc] powerpc/perf: Trace imc PMU functions (Jiri Olsa) [1608796] - [powerpc] powerpc/perf: Trace imc events detection and cpuhotplug (Jiri Olsa) [1608796] - [powerpc] powerpc/perf: Declare static identifier a such (Jiri Olsa) [1608796] - [powerpc] powerpc/perf: Add privileged access check for thread_imc (Jiri Olsa) [1608796] - [powerpc] powerpc/perf: Rearrange setting of ldbar for thread-imc (Jiri Olsa) [1608796] - [powerpc] powerpc/include: Add data structures and macros for IMC trace mode (Jiri Olsa) [1608796] - [scsi] hpsa: correct-static-checker-issue-in-reset-handler (Joseph Szczypek) [1713772] - [scsi] scsi: hpsa: update driver version (Joseph Szczypek) [1713772] - [scsi] scsi: hpsa: correct device resets (Joseph Szczypek) [1713772] - [scsi] scsi: hpsa: do-not-complete-cmds-for-deleted-devices (Joseph Szczypek) [1713772] - [scsi] scsi: hpsa: wait longer for ptraid commands (Joseph Szczypek) [1713772] - [scsi] scsi: hpsa: check for tag collision (Joseph Szczypek) [1713772] - [scsi] scsi: hpsa: use local workqueues instead of system workqueues (Joseph Szczypek) [1713772] - [scsi] scsi: hpsa: correct simple mode (Joseph Szczypek) [1713772] - [scsi] scsi: hpsa: bump driver version (Joseph Szczypek) [1713772] - [scsi] scsi: hpsa: correct device id issues (Joseph Szczypek) [1713772] - [scsi] scsi: hpsa: check for lv removal (Joseph Szczypek) [1713772] - [mm] mm, slub: restore the original intention of prefetch_freepointer() (Rafael Aquini) [1714671] - [fs] Revert "add KABI padding to dentry structure" (Waiman Long) [1714253] - [crypto] crypto: drbg - add FIPS 140-2 CTRNG for noise source (Herbert Xu) [1687905] - [infiniband] RDMA/qedr: Fix incorrect device rate. (Manish Chopra) [1713580] - [scsi] scsi: bnx2fc: remove unneeded variable (Nilesh Javali) [1665308] - [scsi] scsi: fcoe: make use of fip_mode enum complete (Nilesh Javali) [1665308] - [char] ipmi:ssif: compare block number correctly for multi-part return messages (Tony Camuso) [1712159] - [kernel] kernel/sysctl.c: define minmax conv functions in terms of non-minmax versions (Alex Gladkov) [1683922] - [kernel] kernel/sysctl.c: add missing range check in do_proc_dointvec_minmax_conv (Alex Gladkov) [1683922] - [tools] tools/testing/selftests/sysctl/sysctl.sh: add tests for >32-bit values written to 32-bit integers (Alex Gladkov) [1683922] - [kernel] sched/nohz: Run NOHZ idle load balancer on HK_FLAG_MISC CPUs (Desnes Augusto Nunes do Rosario) [1666614] - [kernel] nohz_full: Allow the boot CPU to be nohz_full (Desnes Augusto Nunes do Rosario) [1666614] - [kernel] sched/isolation: Require a present CPU in housekeeping mask (Desnes Augusto Nunes do Rosario) [1666614] - [kernel] kernel/cpu: Allow non-zero CPU to be primary for suspend / kexec freeze (Desnes Augusto Nunes do Rosario) [1666614] - [kernel] power/suspend: Add function to disable secondaries for suspend (Desnes Augusto Nunes do Rosario) [1666614] - [kernel] sched/core: Allow the remote scheduler tick to be started on CPU0 (Desnes Augusto Nunes do Rosario) [1666614] - [kernel] sched/fair: Use non-atomic cpumask_{set,clear}_cpu() (Desnes Augusto Nunes do Rosario) [1666614] - [lib] lib: reciprocal_div: implement the improved algorithm on the paper mentioned (Petr Oros) [1706982] - [kernel] kernel/sysctl.c: fix proc_do_large_bitmap for large input buffers (Eric Sandeen) [1667092] - [kernel] tools/testing/selftests/sysctl/sysctl.sh: add proc_do_large_bitmap() test case (Eric Sandeen) [1667092] - [tools] tools/testing/selftests/sysctl/sysctl.sh: allow graceful use on older kernels (Eric Sandeen) [1667092] - [tools] tools/testing/selftests/sysctl/sysctl.sh: ignore diff output on verify_diff_w() (Eric Sandeen) [1667092] - [tools] tools/testing/selftests/sysctl/sysctl.sh: load module before testing for it (Eric Sandeen) [1667092] - [tools] tools/testing/selftests/sysctl/sysctl.sh: remove superfluous test_reqs() (Eric Sandeen) [1667092] - [kernel] kernel/sysctl.c: fix out-of-bounds access when setting file-max (Eric Sandeen) [1694160] - [kernel] sysctl: handle overflow for file-max (Eric Sandeen) [1694160] - [kernel] sysctl: handle overflow in proc_get_long (Eric Sandeen) [1694160] - [s390] kvm: s390: Fix potential spectre warnings (Thomas Huth) [1702344] - [powerpc] mm: move warning from resize_hpt_for_hotplug() (Laurent Vivier) [1660737] - [powerpc] pseries: Use pr_xxx() in lpar.c (Laurent Vivier) [1660737] - [infiniband] RDMA/iw_cxgb4: Always disconnect when QP is transitioning to TERMINATE state (Arjun Vynipadath) [1664673] - [infiniband] cxgb4: kfree mhp after the debug print (Arjun Vynipadath) [1664673] - [infiniband] RDMA/cxbg: Use correct sizing on buffers holding page DMA addresses (Arjun Vynipadath) [1664673] - [infiniband] iw_cxgb4: Make function read_tcb() static (Arjun Vynipadath) [1664673] - [infiniband] RDMA/cxgb4: Remove kref accounting for sync operation (Arjun Vynipadath) [1664673] - [infiniband] iw_cxgb4: cq/qp mask depends on bar2 pages in a host page (Arjun Vynipadath) [1664673] - [infiniband] iw_cxgb4: fix srqidx leak during connection abort (Arjun Vynipadath) [1664673] - [infiniband] iw_cxgb4: complete the cached SRQ buffers (Arjun Vynipadath) [1664673] - [infiniband] rdma/cxgb4: Remove a set-but-not-used variable (Arjun Vynipadath) [1664673] - [infiniband] iw_cxgb4: use tos when finding ipv6 routes (Arjun Vynipadath) [1664673] - [infiniband] iw_cxgb4: use tos when importing the endpoint (Arjun Vynipadath) [1664673] - [infiniband] iw_cxgb4: use listening ep tos when accepting new connections (Arjun Vynipadath) [1664673] - [infiniband] iw_cxgb*: kzalloc the iwcm verbs struct (Arjun Vynipadath) [1664673] - [infiniband] RDMA/iw_cxgb4: Drop __GFP_NOFAIL (Arjun Vynipadath) [1664673] - [infiniband] infiniband: cxgb4: no need to check return value of debugfs_create functions (Arjun Vynipadath) [1664673] - [infiniband] RDMA/iw_cxgb4: Fix the unchecked ep dereference (Arjun Vynipadath) [1664673] - [infiniband] RDMA: Introduce and use rdma_device_to_ibdev() (Arjun Vynipadath) [1664673] - [infiniband] iw_cxgb4: Check for send WR also while posting write with completion WR (Arjun Vynipadath) [1664673] - [infiniband] iw_cxgb4: only reconnect with MPAv1 if the peer aborts (Arjun Vynipadath) [1664673] - [infiniband] iw_cxgb4: Use proper enumerated type in c4iw_bar2_addrs (Arjun Vynipadath) [1664673] - [infiniband] RDMA/cxgb4: remove redundant null pointer check before kfree_skb (Arjun Vynipadath) [1664673] - [infiniband] iw_cxgb4: Remove pci_unmap_addr() wrappers for DMA API (Arjun Vynipadath) [1664673] - [infiniband] iw_cxgb4: Declare ib_post_send() and ib_post_recv() arguments const (Arjun Vynipadath) [1664673] - [infiniband] rdma/cxgb4: Simplify a structure initialization (Arjun Vynipadath) [1664673] - [infiniband] rdma/cxgb4: Fix SRQ endianness annotations (Arjun Vynipadath) [1664673] - [infiniband] rdma/cxgb4: Add support for kernel mode SRQ's (Arjun Vynipadath) [1664673] - [infiniband] rdma/cxgb4: Add support for srq functions & structs (Arjun Vynipadath) [1664673] - [infiniband] RDMA/cxgb4: Restore the dropped uninitialized_var (Arjun Vynipadath) [1664673] - [infiniband] RDMA/cxgb4: Make c4iw_poll_cq_one() easier to analyze (Arjun Vynipadath) [1664673] - [fs] gfs2: clean_journal improperly set sd_log_flush_head (Robert S Peterson) [1693660]- [netdrv] bonding/802.3ad: fix slave link initialization transition states (Jarod Wilson) [1714387] - [iommu] iommu/vt-d: Disable ATS support on untrusted devices (Jerry Snitselaar) [1649210 1692246] - [documentation] thunderbolt: Export IOMMU based DMA protection support to userspace (Jerry Snitselaar) [1649210 1692246] - [iommu] iommu/vt-d: Do not enable ATS for untrusted devices (Jerry Snitselaar) [1649210 1692246] - [iommu] iommu/vt-d: Force IOMMU on for platform opt in hint (Jerry Snitselaar) [1649210 1692246] - [arm64] arm64: makefile fix build of .i file in external module case (Jerome Marchand) [1713052] - [s390] s390/protvirt: block kernel command line alteration (Philipp Rudo) [1651711] - [s390] s390/protvirt: add memory sharing for diag 308 set/store (Philipp Rudo) [1651711] - [s390] s390/uv: introduce guest side ultravisor code (Philipp Rudo) [1651711] - [netdrv] net: aquantia: fix undefined devm_hwmon_device_register_with_info reference (Igor Russkikh) [1706905] - [netdrv] net: aquantia: Make aq_ndev_driver_name static (Igor Russkikh) [1706905] - [netdrv] net: aquantia: remove outdated device ids (Igor Russkikh) [1706905] - [netdrv] net: aquantia: fixups on 64bit dma counters (Igor Russkikh) [1706905] - [netdrv] net: aquantia: get total counters from DMA block (Igor Russkikh) [1706905] - [netdrv] net: aquantia: fetch up to date statistics on ethtool request (Igor Russkikh) [1706905] - [netdrv] net: aquantia: extract timer cb into work job (Igor Russkikh) [1706905] - [netdrv] net: aquantia: introduce fwreq mutex (Igor Russkikh) [1706905] - [netdrv] net: aquantia: user correct MSI irq type (Igor Russkikh) [1706905] - [netdrv] net: aquantia: use macros for better visibility (Igor Russkikh) [1706905] - [netdrv] net: aquantia: improve ifup link detection (Igor Russkikh) [1706905] - [netdrv] net: aquantia: link status irq handling (Igor Russkikh) [1706905] - [netdrv] net: aquantia: create global service workqueue (Igor Russkikh) [1706905] - [netdrv] net: aquantia: link interrupt handling function (Igor Russkikh) [1706905] - [netdrv] net: aquantia: add link interrupt fields (Igor Russkikh) [1706905] - [netdrv] net: aquantia: implement hwmon api for chip temperature (Igor Russkikh) [1706905] - [netdrv] net: aquantia: add infrastructure to readout chip temperature (Igor Russkikh) [1706905] - [netdrv] net: aquantia: enable driver build for arm64 or compile_test (Igor Russkikh) [1706905] - [netdrv] net: aquantia: improve LRO configuration (Igor Russkikh) [1706905] - [netdrv] net: aquantia: Increase rx ring default size from 1K to 2K (Igor Russkikh) [1706905] - [netdrv] net: aquantia: Make RX default frame size 2K (Igor Russkikh) [1706905] - [netdrv] net: aquantia: Introduce rx refill threshold value (Igor Russkikh) [1706905] - [netdrv] net: aquantia: optimize rx performance by page reuse strategy (Igor Russkikh) [1706905] - [netdrv] net: aquantia: optimize rx path using larger preallocated skb len (Igor Russkikh) [1706905] - [netdrv] net: aquantia: fix rx checksum offload for UDP/TCP over IPv6 (Igor Russkikh) [1706905] - [netdrv] net: aquantia: use better wrappers for state registers (Igor Russkikh) [1706905] - [netdrv] net: aquantia: replace AQ_HW_WAIT_FOR with readx_poll_timeout_atomic (Igor Russkikh) [1706905] - [netdrv] net: aquantia: fixed instack structure overflow (Igor Russkikh) [1706905] - [netdrv] net: aquantia: fixed buffer overflow (Igor Russkikh) [1706905] - [netdrv] net: aquantia: added newline at end of file (Igor Russkikh) [1706905] - [netdrv] net: aquantia: fixed memcpy size (Igor Russkikh) [1706905] - [netdrv] net: aquantia: regression on cpus with high cores: set mode with 8 queues (Igor Russkikh) [1706905] - [netdrv] net: aquantia: add support of RSS configuration (Igor Russkikh) [1706905] - [netdrv] net: aquantia: fix initialization of RSS table (Igor Russkikh) [1706905] - [netdrv] net: aquantia: increase max number of hw queues (Igor Russkikh) [1706905] - [netdrv] net: aquantia: fix RSS table and key sizes (Igor Russkikh) [1706905] - [netdrv] net: aquantia: fix rx checksum offload bits (Igor Russkikh) [1706905] - [netdrv] net: aquantia: return 'err' if set MPI_DEINIT state fails (Igor Russkikh) [1706905] - [netdrv] net: aquantia: fix spelling mistake "specfield" -> "specified" (Igor Russkikh) [1706905] - [netdrv] net: aquantia: cleanup err handing in hw_atl_utils_fw_rpc_wait (Igor Russkikh) [1706905] - [netdrv] net: aquantia: add support of rx-vlan-filter offload (Igor Russkikh) [1706905] - [netdrv] net: aquantia: add ethertype and PCP to rx flow filters (Igor Russkikh) [1706905] - [netdrv] net: aquantia: add vlan id to rx flow filters (Igor Russkikh) [1706905] - [netdrv] net: aquantia: add support of L3/L4 ntuple filters (Igor Russkikh) [1706905] - [netdrv] net: aquantia: add infrastructure for ntuple rules (Igor Russkikh) [1706905] - [netdrv] net: aquantia: add rx-flow filter definitions (Igor Russkikh) [1706905] - [netdrv] net: aquantia: allow rx checksum offload configuration (Igor Russkikh) [1706905] - [netdrv] net: aquantia: invalid checksumm offload implementation (Igor Russkikh) [1706905] - [netdrv] net: aquantia: fixed enable unicast on 32 macvlan (Igor Russkikh) [1706905] - [netdrv] net: aquantia: fix potential IOMMU fault after driver unbind (Igor Russkikh) [1706905] - [netdrv] net: aquantia: synchronized flow control between mac/phy (Igor Russkikh) [1706905] - [netdrv] net: aquantia: make function aq_fw2x_update_stats static (Igor Russkikh) [1706905] - [netdrv] net: aquantia: remove some redundant variable initializations (Igor Russkikh) [1706905] - [netdrv] bnxt_en: Add device IDs 0x1806 and 0x1752 for 57500 devices. (Selvin Xavier) [1672208] - [scsi] scsi: fnic: Remove set but not used variable 'vdev' (Govindarajulu Varadarajan) [1656236] - [scsi] scsi: fnic: no need to check return value of debugfs_create functions (Govindarajulu Varadarajan) [1656236] - [scsi] scsi: fnic: Update fnic driver version to 1.6.0.47 (Govindarajulu Varadarajan) [1656236] - [scsi] scsi: fnic: Enable fnic devcmd2 interface (Govindarajulu Varadarajan) [1656236] - [scsi] scsi: fnic: Adding devcmd2 init and posting interfaces (Govindarajulu Varadarajan) [1656236] - [scsi] scsi: fnic: Add devcmd2 initialization helpers (Govindarajulu Varadarajan) [1656236] - [scsi] scsi: fnic: fnic devcmd2 controller definitions (Govindarajulu Varadarajan) [1656236] - [scsi] scsi: fnic: fnic devcmd2 interface definitions (Govindarajulu Varadarajan) [1656236] - [scsi] scsi: fnic: Impose upper limit on max. # of CQs processed per intr (Govindarajulu Varadarajan) [1656236] - [scsi] scsi: fnic: RQ enable and then post descriptors (Govindarajulu Varadarajan) [1656236] - [scsi] scsi: fnic: delaying vnic dev enable till after req intr (Govindarajulu Varadarajan) [1656236] - [scsi] scsi: fnic: Warn when calling done for IO not issued to fw (Govindarajulu Varadarajan) [1656236] - [scsi] scsi: fnic: fnic stats for max CQs processed and ISR time (Govindarajulu Varadarajan) [1656236] - [scsi] scsi: fnic: Add port speed stat to fnic debug stats (Govindarajulu Varadarajan) [1656236] - [scsi] scsi: fnic: use fnic_lock to guard fnic->state_flags (Govindarajulu Varadarajan) [1656236] - [scsi] scsi: fnic: vnic_rq_clean change BUG_ON to WARN_ON (Govindarajulu Varadarajan) [1656236] - [scsi] scsi: fnic: change fnic queue depth to 256 (Govindarajulu Varadarajan) [1656236] - [scsi] scsi: fnic: support to display 20G port speed (Govindarajulu Varadarajan) [1656236] - [scsi] scsi: fnic: Use vzalloc (Govindarajulu Varadarajan) [1656236] - [scsi] scsi: fnic: switch to generic DMA API (Govindarajulu Varadarajan) [1656236] - [pci] PCI/PME: Fix possible use-after-free on remove (Myron Stowe) [1701834] - [pci] PCI/PME: Fix hotplug/sysfs remove deadlock in pcie_pme_remove() (Myron Stowe) [1701834] - [pci] PCI: Blacklist power management of Gigabyte X299 DESIGNARE EX PCIe ports (Myron Stowe) [1701834] - [tools] perf arm64: Fix mksyscalltbl when system kernel headers are ahead of the kernel (Michael Petlan) [1709242] - [rpmspec] perf: remove bpf examples (Michael Petlan) [1709242] - [tools] perf tools: Stop fallbacking to kallsyms for vdso symbols lookup (Michael Petlan) [1709242] - [tools] perf report: Don't crash on invalid inline debug information (Michael Petlan) [1709242] - [tools] perf cpu_map: Align cpu map synthesized events properly. (Michael Petlan) [1709242] - [tools] perf tools: Fix tracing_path_mount proper path (Michael Petlan) [1709242] - [tools] perf evsel: Store ids for events with their own cpus perf_event__synthesize_event_update_cpus (Michael Petlan) [1709242] - [tools] perf vendor events intel: Fix wrong filter_band* values for uncore events (Michael Petlan) [1709242] - [tools] Revert "perf tools: Fix PMU term format max value calculation" (Michael Petlan) [1709242] - [tools] tools headers uapi: Sync kvm.h copy (Michael Petlan) [1709242] - [tools] perf record: Use unmapped IP for inline callchain cursors (Michael Petlan) [1709242] - [tools] perf python: Use -Wno-redundant-decls to build with PYTHON=python3 (Michael Petlan) [1709242] - [tools] perf report: Don't try to map ip to invalid map (Michael Petlan) [1709242] - [tools] perf script python: Fix export-to-sqlite.py sample columns (Michael Petlan) [1709242] - [tools] perf script python: Fix export-to-postgresql.py occasional failure (Michael Petlan) [1709242] - [tools] perf Documentation: Fix out-of-tree asciidoctor man page generation (Michael Petlan) [1709242] - [tools] perf tools: Fix maps__find_symbol_by_name() (Michael Petlan) [1709242] - [tools] tools headers uapi: Update tools's copy of linux/if_link.h (Michael Petlan) [1709242] - [tools] tools headers uapi: Update tools's copy of linux/vhost.h (Michael Petlan) [1709242] - [tools] tools headers uapi: Update tools's copies of kvm headers (Michael Petlan) [1709242] - [tools] tools headers uapi: Update tools's copy of drm/drm.h (Michael Petlan) [1709242] - [tools] tools headers uapi: Update tools's copy of asm-generic/unistd.h (Michael Petlan) [1709242] - [tools] tools headers uapi: Update tools's copy of linux/perf_event.h (Michael Petlan) [1709242] - [tools] perf annotate: Fix parsing aarch64 branch instructions after objdump update (Michael Petlan) [1709242] - [tools] perf probe powerpc: Ignore SyS symbols irrespective of endianness (Michael Petlan) [1709242] - [tools] perf event-parse: Use fixed size string for comms (Michael Petlan) [1709242] - [tools] perf util: Fix bad memory access in trace info. (Michael Petlan) [1709242] - [tools] perf tools: Streamline bpf examples and headers installation (Michael Petlan) [1709242] - [tools] perf evsel: Fix potential null pointer dereference in perf_evsel__new_idx() (Michael Petlan) [1709242] - [tools] perf arm64: Fix include path for asm-generic/unistd.h (Michael Petlan) [1709242] - [tools] perf tests: Add breakpoint modify tests (Michael Petlan) [1709242] - [tools] perf annotate: Properly interpret indirect call (Michael Petlan) [1709242] - [tools] tools/lib/lockdep: Add dummy task_struct state member (Michael Petlan) [1709242] - [tools] tools/lib/lockdep: Add empty nmi.h (Michael Petlan) [1709242] - [tools] tools lib traceevent: Change to SPDX License format (Michael Petlan) [1709242] - [tools] perf llvm: Allow passing options to llc in addition to clang (Michael Petlan) [1709242] - [tools] perf parser: Improve error message for PMU address filters (Michael Petlan) [1709242] - [tools] perf tools: Disable parallelism for 'make clean' (Michael Petlan) [1709242] - [tools] perf auxtrace: Fix queue resize (Michael Petlan) [1709242] - [tools] perf python: Remove -mcet and -fcf-protection when building with clang (Michael Petlan) [1709242] - [tools] perf arm spe: Fix uninitialized record error variable (Michael Petlan) [1709242] - [tools] perf tools: Move syscall_64.tbl check into check-headers.sh (Michael Petlan) [1709242] - [tools] perf tools: Make check-headers.sh check based on kernel dir (Michael Petlan) [1709242] - [tools] perf tools: Fix check-headers.sh AND list path of execution (Michael Petlan) [1709242] - [tools] tools lib traceevent: Rename static variables and functions in event-parse.c (Michael Petlan) [1709242] - [tools] tools lib traceevent: Rename various pevent APIs (Michael Petlan) [1709242] - [tools] tools lib traceevent: Rename internal parser related APIs (Michael Petlan) [1709242] - [tools] tools lib traceevent: Rename various pevent get/set/is APIs (Michael Petlan) [1709242] - [tools] tools lib traceevent: Rename pevent_find_* APIs (Michael Petlan) [1709242] - [tools] tools lib traceevent: Rename pevent field APIs (Michael Petlan) [1709242] - [tools] tools lib traceevent: Rename pevent_data_ APIs (Michael Petlan) [1709242] - [tools] tools lib traceevent: Rename pevent_register / unregister APIs (Michael Petlan) [1709242] - [tools] tools lib traceevent: Rename pevent_filter* APIs (Michael Petlan) [1709242] - [tools] tools lib traceevent, perf tools: Rename traceevent_plugin_* APIs (Michael Petlan) [1709242] - [tools] tools lib traceevent: Rename pevent_function* APIs (Michael Petlan) [1709242] - [tools] tools lib traceevent, tools lib lockdep: Rename 'enum pevent_errno' to 'enum tep_errno' (Michael Petlan) [1709242] - [tools] tools lib traceevent, perf tools: Rename 'enum pevent_flag' to 'enum tep_flag' (Michael Petlan) [1709242] - [tools] tools lib traceevent, perf tools: Rename traceevent_* APIs (Michael Petlan) [1709242] - [tools] tools lib traceevent, perf tools: Rename pevent_set_* APIs (Michael Petlan) [1709242] - [tools] tools lib traceevent, perf tools: Rename pevent_register_* APIs (Michael Petlan) [1709242] - [tools] tools lib traceevent, perf tools: Rename pevent_read_number_* APIs (Michael Petlan) [1709242] - [tools] tools lib traceevent, perf tools: Rename pevent print APIs (Michael Petlan) [1709242] - [tools] tools lib traceevent, perf tools: Rename pevent parse APIs (Michael Petlan) [1709242] - [tools] tools lib traceevent, perf tools: Rename pevent find APIs (Michael Petlan) [1709242] - [tools] tools lib traceevent, perf tools: Rename pevent alloc / free APIs (Michael Petlan) [1709242] - [tools] tools lib traceevent, perf tools: Rename pevent plugin related APIs (Michael Petlan) [1709242] - [tools] tools lib traceevent, perf tools: Rename 'struct pevent_record' to 'struct tep_record' (Michael Petlan) [1709242] - [tools] tools lib traceevent, perf tools: Rename struct pevent to struct tep_handle (Michael Petlan) [1709242] - [tools] perf probe powerpc: Fix trace event post-processing (Michael Petlan) [1709242] - [tools] perf map: Optimize maps__fixup_overlappings() (Michael Petlan) [1709242] - [tools] perf map: Synthesize maps only for thread group leader (Michael Petlan) [1709242] - [tools] perf trace: Wire up the augmented syscalls with the syscalls:sys_enter_FOO beautifier (Michael Petlan) [1709242] - [tools] perf trace: Setup the augmented syscalls bpf-output event fields (Michael Petlan) [1709242] - [tools] perf bpf: Make bpf__setup_output_event() return the bpf-output event (Michael Petlan) [1709242] - [tools] perf trace: Handle "bpf-output" events associated with "__augmented_syscalls__" BPF map (Michael Petlan) [1709242] - [tools] perf bpf: Add wrappers to BPF_FUNC_probe_read(_str) functions (Michael Petlan) [1709242] - [tools] perf bpf: Add bpf__setup_output_event() strerror() counterpart (Michael Petlan) [1709242] - [tools] perf bpf: Generalize bpf__setup_stdout() (Michael Petlan) [1709242] - [tools] perf bpf: Make bpf__for_each_stdout_map() generic (Michael Petlan) [1709242] - [tools] perf bpf: Add bpf/stdio.h wrapper to bpf_perf_event_output function (Michael Petlan) [1709242] - [tools] perf bpf: Add struct bpf_map struct (Michael Petlan) [1709242] - [tools] perf report: Add --percent-type option (Michael Petlan) [1709242] - [tools] perf annotate: Add --percent-type option (Michael Petlan) [1709242] - [tools] perf annotate: Display percent type in stdio output (Michael Petlan) [1709242] - [tools] perf annotate: Make local period the default percent type (Michael Petlan) [1709242] - [tools] perf annotate: Add support to toggle percent type (Michael Petlan) [1709242] - [tools] perf annotate: Pass browser percent_type in annotate_browser__calc_percent() (Michael Petlan) [1709242] - [tools] perf annotate: Pass 'struct annotation_options' to map_symbol__annotation_dump() (Michael Petlan) [1709242] - [tools] perf annotate: Pass struct annotation_options to symbol__calc_lines() (Michael Petlan) [1709242] - [tools] perf annotate: Add percent_type to struct annotation_options (Michael Petlan) [1709242] - [tools] perf annotate: Add PERCENT_PERIOD_GLOBAL percent value (Michael Petlan) [1709242] - [tools] perf annotate: Add PERCENT_PERIOD_LOCAL percent value (Michael Petlan) [1709242] - [tools] perf annotate: Add PERCENT_HITS_GLOBAL percent value (Michael Petlan) [1709242] - [tools] perf annotate: Switch struct annotation_data::percent to array (Michael Petlan) [1709242] - [tools] perf annotate: Loop group events directly in annotation__calc_percent() (Michael Petlan) [1709242] - [tools] perf annotate: Rename hist to sym_hist in annotation__calc_percent (Michael Petlan) [1709242] - [tools] perf annotate: Rename local sample variables to data (Michael Petlan) [1709242] - [tools] perf annotate: Rename struct annotation_line::samples* to data* (Michael Petlan) [1709242] - [tools] perf annotate: Get rid of annotation__scnprintf_samples_period() (Michael Petlan) [1709242] - [tools] perf annotate: Make annotation_line__max_percent static (Michael Petlan) [1709242] - [tools] perf annotate: Make symbol__annotate_fprintf2() local (Michael Petlan) [1709242] - [tools] perf bpf: Add 'syscall_enter' probe helper for syscall enter tracepoints (Michael Petlan) [1709242] - [tools] perf tools: Drop unneeded bitmap_zero() calls (Michael Petlan) [1709242] - [tools] perf vendor events arm64: Enable JSON events for eMAG (Michael Petlan) [1709242] - [tools] perf report: Add GUI report support for s390 auxiliary trace (Michael Petlan) [1709242] - [tools] perf report: Add raw report support for s390 auxiliary trace (Michael Petlan) [1709242] - [tools] perf auxtrace: Support for perf report -D for s390 (Michael Petlan) [1709242] - [tools] perf trace: Use perf_evsel__sc_tp_{uint,ptr} for "id"/"args" handling syscalls:* events (Michael Petlan) [1709242] - [tools] perf trace: Setup struct syscall_tp for syscalls:sys_{enter,exit}_NAME events (Michael Petlan) [1709242] - [tools] perf trace: Allow setting up a syscall_tp struct without a format_field (Michael Petlan) [1709242] - [tools] perf trace: Rename some syscall_tp methods to raw_syscall (Michael Petlan) [1709242] - [tools] perf trace: Use beautifiers on syscalls:sys_enter_ handlers (Michael Petlan) [1709242] - [tools] perf trace: Associate vfs_getname()'ed pathname with fd returned from 'openat' (Michael Petlan) [1709242] - [tools] perf trace: Do not require --no-syscalls to suppress strace like output (Michael Petlan) [1709242] - [tools] perf bpf: Include uapi/linux/bpf.h from the 'perf trace' script's bpf.h (Michael Petlan) [1709242] - [tools] perf tools: Allow overriding MAX_NR_CPUS at compile time (Michael Petlan) [1709242] - [tools] perf bpf: Show better message when failing to load an object (Michael Petlan) [1709242] - [tools] perf list: Unify metric group description format with PMU event description (Michael Petlan) [1709242] - [tools] perf cs-etm: Generate branch sample for CS_ETM_TRACE_ON packet (Michael Petlan) [1709242] - [tools] perf cs-etm: Generate branch sample when receiving a CS_ETM_TRACE_ON packet (Michael Petlan) [1709242] - [tools] perf cs-etm: Support dummy address value for CS_ETM_TRACE_ON packet (Michael Petlan) [1709242] - [tools] perf cs-etm: Fix start tracing packet handling (Michael Petlan) [1709242] - [tools] perf build: Fix installation directory for eBPF (Michael Petlan) [1709242] - [tools] perf c2c report: Fix crash for empty browser (Michael Petlan) [1709242] - [tools] perf tests: Fix indexing when invoking subtests (Michael Petlan) [1709242] - [tools] perf trace: Beautify the AF_INET & AF_INET6 'socket' syscall 'protocol' args (Michael Petlan) [1709242] - [tools] perf trace beauty: Add beautifiers for 'socket''s 'protocol' arg (Michael Petlan) [1709242] - [tools] perf trace beauty: Do not print NULL strarray entries (Michael Petlan) [1709242] - [tools] perf beauty: Add a generator for IPPROTO_ socket's protocol constants (Michael Petlan) [1709242] - [tools] tools include uapi: Grab a copy of linux/in.h (Michael Petlan) [1709242] - [tools] perf tests: Fix complex event name parsing (Michael Petlan) [1709242] - [tools] perf evlist: Fix error out while applying initial delay and LBR (Michael Petlan) [1709242] - [tools] perf trace beauty: Default header_dir to cwd to work without parms (Michael Petlan) [1709242] - [tools] perf test: Fix subtest number when showing results (Michael Petlan) [1709242] - [tools] perf stat: Get rid of extra clock display function (Michael Petlan) [1709242] - [tools] perf tools: Use perf_evsel__match instead of open coded equivalent (Michael Petlan) [1709242] - [tools] perf tools: Fix struct comm_str removal crash (Michael Petlan) [1709242] - [tools] perf machine: Use last_match threads cache only in single thread mode (Michael Petlan) [1709242] - [tools] perf machine: Add threads__set_last_match function (Michael Petlan) [1709242] - [tools] perf machine: Add threads__get_last_match function (Michael Petlan) [1709242] - [tools] perf tools: Synthesize GROUP_DESC feature in pipe mode (Michael Petlan) [1709242] - [tools] perf script: Show correct offsets for DWARF-based unwinding (Michael Petlan) [1709242] - [tools] perf trace arm64: Use generated syscall table (Michael Petlan) [1709242] - [tools] perf arm64: Generate system call table from asm/unistd.h (Michael Petlan) [1709242] - [tools] tools include: Grab copies of arm64 dependent unistd.h files (Michael Petlan) [1709242] - [tools] perf tests: Fix record+probe_libc_inet_pton.sh when event exists (Michael Petlan) [1709242] - [tools] perf tests: Fix record+probe_libc_inet_pton.sh to ensure cleanups (Michael Petlan) [1709242] - [tools] perf tests: Fix record+probe_libc_inet_pton.sh for powerpc64 (Michael Petlan) [1709242] - [tools] perf powerpc: Fix callchain ip filtering when return address is in a register (Michael Petlan) [1709242] - [tools] perf powerpc: Fix callchain ip filtering (Michael Petlan) [1709242] - [tools] perf list: Add missing documentation for --desc and --debug options (Michael Petlan) [1709242] - [tools] perf stat: Add transaction flag (-T) support for s390 (Michael Petlan) [1709242] - [tools] perf json: Add s390 transaction counter definition (Michael Petlan) [1709242] - [tools] perf list: Add s390 support for detailed PMU event description (Michael Petlan) [1709242] - [tools] Revert "perf list: Add s390 support for detailed/verbose PMU event description" (Michael Petlan) [1709242] - [tools] perf cs-etm: Bail out immediately for instruction sample failure (Michael Petlan) [1709242] - [tools] perf cs-etm: Introduce invalid address macro (Michael Petlan) [1709242] - [tools] perf hists: Clarify callchain disabling when available (Michael Petlan) [1709242] - [tools] perf tests: Check that complex event name is parsed correctly (Michael Petlan) [1709242] - [arm64] arm64: perf: Reject stand-alone CHAIN events for PMUv3 (Michael Petlan) [1709242] - [x86] perf/x86/amd/uncore: Set ThreadMask and SliceMask for L3 Cache perf events (Michael Petlan) [1709242] - [x86] perf/x86/intel/uncore: Fix PCI BDF address of M3UPI on SKX (Michael Petlan) [1709242] - [kernel] perf/ring_buffer: Prevent concurent ring buffer access (Michael Petlan) [1709242] - [x86] perf/x86/intel/uncore: Use boot_cpu_data.phys_proc_id instead of hardcorded physical package ID 0 (Michael Petlan) [1709242] - [kernel] perf/core: Fix perf_pmu_unregister() locking (Michael Petlan) [1709242] - [kernel] perf/core: Add sanity check to deal with pinned event failure (Michael Petlan) [1709242] - [kernel] perf/core: Force USER_DS when recording user stack data (Michael Petlan) [1709242] - [include] perf/UAPI: Clearly mark __PERF_SAMPLE_CALLCHAIN_EARLY as internal use (Michael Petlan) [1709242] - [x86] perf/x86/intel: Add support/quirk for the MISPREDICT bit on Knights Landing CPUs (Michael Petlan) [1709242] - [kernel] perf/hw_breakpoint: Simplify breakpoint enable in perf_event_modify_breakpoint (Michael Petlan) [1709242] - [kernel] perf/hw_breakpoint: Enable breakpoint in modify_user_hw_breakpoint (Michael Petlan) [1709242] - [kernel] perf/hw_breakpoint: Remove superfluous bp->attr.disabled = 0 (Michael Petlan) [1709242] - [kernel] arm64: perf: Add cap_user_time aarch64 (Michael Petlan) [1709242] - [include] arm_pmu: Add support for 64bit event counters (Michael Petlan) [1709242] - [x86] perf/x86/intel: Support Extended PEBS for Goldmont Plus (Michael Petlan) [1709242] - [x86] perf/x86/intel/ds: Handle PEBS overflow for fixed counters (Michael Petlan) [1709242] - [x86] perf/x86/intel: Support PEBS on fixed counters (Michael Petlan) [1709242] - [kernel] perf, tools: Use correct articles in comments (Michael Petlan) [1709242] - [kernel] perf/hw_breakpoint: Clean up and consolidate modify_user_hw_breakpoint_check() (Michael Petlan) [1709242] - [kernel] perf/hw_breakpoint: Pass new breakpoint type to modify_breakpoint_slot() (Michael Petlan) [1709242] - [kernel] perf/hw_breakpoint: Remove default hw_breakpoint_arch_parse() (Michael Petlan) [1709242] - [arm64] perf/arch/arm64: Implement hw_breakpoint_arch_parse() (Michael Petlan) [1709242] - [powerpc] perf/arch/powerpc: Implement hw_breakpoint_arch_parse() (Michael Petlan) [1709242] - [x86] perf/arch/x86: Implement hw_breakpoint_arch_parse() (Michael Petlan) [1709242] - [arm64] perf/hw_breakpoint: Pass arch breakpoint struct to arch_check_bp_in_kernelspace() (Michael Petlan) [1709242] - [kernel] perf/core: Change perf_mmap_fault() return type to 'vm_fault_t' (Michael Petlan) [1709242] - [x86] perf/x86/intel/lbr: Optimize context switches for the LBR call stack (Michael Petlan) [1709242] - [netdrv] cnic: Refactor code and mark expected switch fall-through (Nilesh Javali) [1665302] - [netdrv] cnic: remove use of VLAN_TAG_PRESENT (Nilesh Javali) [1665302] - [netdrv] cnic: use kvzalloc to allocate memory for csk_tbl (Nilesh Javali) [1665302] - [netdrv] cnic: remove redundant pointer req and variable func (Nilesh Javali) [1665302] - [scsi] drivers: Remove useless trailing comments from mmiowb() invocations (Nilesh Javali) [1665307] - [scsi] scsi: qedf: remove set but not used variables (Nilesh Javali) [1665301] - [scsi] scsi: qedf: Update the driver version to 8.37.25.20 (Nilesh Javali) [1665301] - [scsi] scsi: qedf: Add return value to log message if scsi_add_host fails (Nilesh Javali) [1665301] - [scsi] scsi: qedf: Print fcport information on wait for upload timeout (Nilesh Javali) [1665301] - [scsi] scsi: qedf: Check the return value of start_xmit (Nilesh Javali) [1665301] - [scsi] scsi: qedf: Log message if scsi_add_host fails (Nilesh Javali) [1665301] - [scsi] scsi: qedf: Check for fcoe_libfc_config failure (Nilesh Javali) [1665301] - [scsi] scsi: qedf: Add comment to display logging levels (Nilesh Javali) [1665301] - [scsi] scsi: qedf: Add port_id for fcport into initiate_cleanup debug message (Nilesh Javali) [1665301] - [scsi] scsi: qedf: Add LBA to underrun debug messages (Nilesh Javali) [1665301] - [scsi] scsi: qedf: Print scsi_cmd backpointer in good completion path if the command is still being used (Nilesh Javali) [1665301] - [scsi] scsi: qedf: Add driver state to 'driver_stats' debugfs node (Nilesh Javali) [1665301] - [scsi] scsi: qedf: Change MSI-X load error message (Nilesh Javali) [1665301] - [scsi] scsi: qedf: remove memset/memcpy to nfunc and use func instead (Nilesh Javali) [1665301] - [scsi] scsi: qedf: Remove set but not used variable 'fr_len' (Nilesh Javali) [1665301] - [scsi] scsi: qedf: Update the driver version to 8.37.25.19 (Nilesh Javali) [1665301] - [scsi] scsi: qedf: Fix lport may be used uninitialized warning (Nilesh Javali) [1665301] - [scsi] scsi: qedf: Correctly handle refcounting of rdata (Nilesh Javali) [1665301] - [scsi] scsi: qedf: Cleanup rrq_work after QEDF_CMD_OUTSTANDING is cleared (Nilesh Javali) [1665301] - [scsi] scsi: qedf: Check for tm_flags instead of cmd_type during cleanup (Nilesh Javali) [1665301] - [scsi] scsi: qedf: Add a flag to help debugging io_req which could not be cleaned (Nilesh Javali) [1665301] - [scsi] scsi: qedf: Don't send ABTS for under run scenario (Nilesh Javali) [1665301] - [scsi] scsi: qedf: Don't queue anything if upload is in progress (Nilesh Javali) [1665301] - [scsi] scsi: qedf: Check both the FCF and fabric ID before servicing clear virtual link (Nilesh Javali) [1665301] - [scsi] scsi: qedf: fc_rport_priv reference counting fixes (Nilesh Javali) [1665301] - [scsi] scsi: qedf: Add missing return in qedf_scsi_done() (Nilesh Javali) [1665301] - [scsi] scsi: qedf: Wait for upload and link down processing during soft ctx reset (Nilesh Javali) [1665301] - [scsi] scsi: qedf: Add additional checks for io_req->sc_cmd validity (Nilesh Javali) [1665301] - [scsi] scsi: qedf: fixup bit operations (Nilesh Javali) [1665301] - [scsi] scsi: qedf: fixup locking in qedf_restart_rport() (Nilesh Javali) [1665301] - [scsi] scsi: qedf: missing kref_put in qedf_xmit() (Nilesh Javali) [1665301] - [scsi] scsi: qedf: Check for link state before processing LL2 packets and send fipvlan retries (Nilesh Javali) [1665301] - [scsi] scsi: qedf: Add missing fc_disc_init call after allocating lport (Nilesh Javali) [1665301] - [scsi] scsi: qedf: Correct the memory barriers in qedf_ring_doorbell (Nilesh Javali) [1665301] - [scsi] scsi: qedf: Use a separate completion for cleanup commands (Nilesh Javali) [1665301] - [scsi] scsi: qedf: Modify abort and tmf handler to handle edge condition and flush (Nilesh Javali) [1665301] - [scsi] scsi: qedf: Modify flush routine to handle all I/Os and TMF (Nilesh Javali) [1665301] - [scsi] scsi: qedf: Simplify s/g list mapping (Nilesh Javali) [1665301] - [scsi] scsi: qedf: Add missing return in qedf_post_io_req() in the fcport offload check (Nilesh Javali) [1665301] - [scsi] scsi: qedf: Correct xid range overlap between offloaded requests and libfc requests (Nilesh Javali) [1665301] - [scsi] scsi: qedf: Do not retry ELS request if qedf_alloc_cmd fails (Nilesh Javali) [1665301] - [scsi] scsi: fcoe: make use of fip_mode enum complete (Nilesh Javali) [1665301] - [scsi] scsi: stop setting up request->special (Nilesh Javali) [1665301] - [scsi] scsi: qedf: no need to check return value of debugfs_create functions (Nilesh Javali) [1665301] - [scsi] cross-tree: phase out dma_zalloc_coherent() (Nilesh Javali) [1665301] - [scsi] scsi: qedf: NULL check before some freeing functions is not needed (Nilesh Javali) [1665301] - [scsi] scsi: qedf: fully convert to the generic DMA API (Nilesh Javali) [1665301] - [scsi] scsi: qedi: Adjust termination and offload ramrod timers (Nilesh Javali) [1665300] - [scsi] scsi: qedi: Abort ep termination if offload not scheduled (Nilesh Javali) [1665300] - [scsi] scsi: qedi: fix spelling mistake "oflload" -> "offload" (Nilesh Javali) [1665300] - [scsi] scsi: qedi: remove declaration of nvm_image from stack (Nilesh Javali) [1665300] - [scsi] scsi: qedi: Remove set but not used variable 'cls_sess' (Nilesh Javali) [1665300] - [scsi] scsi: qedi: Add ep_state for login completion on un-reachable targets (Nilesh Javali) [1665300] - [scsi] cross-tree: phase out dma_zalloc_coherent() (Nilesh Javali) [1665300] - [scsi] scsi: qedi: Update driver version to 8.33.0.21 (Nilesh Javali) [1665300] - [scsi] scsi: qedi: Move LL2 producer index processing in BH. (Nilesh Javali) [1665300] - [scsi] scsi: qedi: add module param to set ping packet size (Nilesh Javali) [1665300] - [scsi] scsi: qedi: Add packet filter in light L2 Rx path. (Nilesh Javali) [1665300] - [scsi] scsi: qedi: Check for session online before getting iSCSI TLV data. (Nilesh Javali) [1665300] - [scsi] scsi: qedi: Replace PAGE_SIZE with QEDI_PAGE_SIZE (Nilesh Javali) [1665300] - [scsi] scsi: qedi: Fix spelling mistake "OUSTANDING" -> "OUTSTANDING" (Nilesh Javali) [1665300] - [scsi] scsi: qedi: Cleanup redundant QEDI_PAGE_SIZE macro definition (Nilesh Javali) [1665300] - [scsi] scsi: qedi: fully convert to the generic DMA API (Nilesh Javali) [1665300] - [x86] x86/kdump: Fall back to reserve high crashkernel memory (Pingfan Liu) [1682984] - [x86] x86/kdump: Have crashkernel=X reserve under 4G by default (Pingfan Liu) [1682984] - [x86] Revert "[x86] x86/kdump: make the behavior of crashkernel=X consistent with kaslr" (Pingfan Liu) [1682984] - [scsi] scsi: core: avoid pre-allocating big SGL for data (Ewan Milne) [1698297] - [scsi] scsi: core: avoid pre-allocating big SGL for protection information (Ewan Milne) [1698297] - [nvme] scsi: lib/sg_pool.c: improve APIs for allocating sg pool (Ewan Milne) [1698297] - [kvm] KVM: PPC: Book3S HV: Save/restore vrsave register in kvmhv_p9_guest_entry() (Suraj Jitindar Singh) [1700272] - [fs] ext4: avoid kernel warning when writing the superblock to a dead device (Lukas Czerner) [1695021] - [fs] ext4: cond_resched in work-heavy group loops (Lukas Czerner) [1698815] - [fs] ext4: ignore e_value_offs for xattrs with value-in-ea-inode (Lukas Czerner) [1698815] - [fs] ext4: protect journal inode's blocks using block_validity (Lukas Czerner) [1698815] - [fs] ext4: use BUG() instead of BUG_ON(1) (Lukas Czerner) [1698815] - [fs] jbd2: check superblock mapped prior to committing (Lukas Czerner) [1698815] - [fs] ext4: remove incorrect comment for NEXT_ORPHAN() (Lukas Czerner) [1698815] - [fs] ext4: make sanity check in mballoc more strict (Lukas Czerner) [1698815] - [fs] ext4: fix use-after-free race with debug_want_extra_isize (Lukas Czerner) [1698815] - [fs] ext4: fix ext4_show_options for file systems w/o journal (Lukas Czerner) [1698815] - [fs] ext4: actually request zeroing of inode table after grow (Lukas Czerner) [1698815] - [fs] Revert "ext4: use ext4_write_inode() when fsyncing w/o a journal" (Lukas Czerner) [1698815] - [fs] ext4: fix some error pointer dereferences (Lukas Czerner) [1698815] - [fs] ext4: fix special inode number checks in __ext4_iget() (Lukas Czerner) [1698815] - [fs] ext4: prohibit fstrim in norecovery mode (Lukas Czerner) [1698815] - [fs] ext4: cleanup bh release code in ext4_ind_remove_space() (Lukas Czerner) [1698815] - [fs] ext4: brelse all indirect buffer in ext4_ind_remove_space() (Lukas Czerner) [1698815] - [fs] ext4: report real fs size after failed resize (Lukas Czerner) [1698815] - [fs] ext4: add missing brelse() in add_new_gdb_meta_bg() (Lukas Czerner) [1698815] - [fs] ext4: remove useless ext4_pin_inode() (Lukas Czerner) [1698815] - [fs] ext4: avoid panic during forced reboot (Lukas Czerner) [1698815] - [fs] ext4: fix data corruption caused by unaligned direct AIO (Lukas Czerner) [1698815] - [fs] ext4: fix NULL pointer dereference while journal is aborted (Lukas Czerner) [1698815] - [fs] jbd2: jbd2_get_transaction does not need to return a value (Lukas Czerner) [1698815] - [fs] jbd2: fix invalid descriptor block checksum (Lukas Czerner) [1698815] - [fs] ext4: fix bigalloc cluster freeing when hole punching under load (Lukas Czerner) [1698815] - [fs] ext4: add sysfs attr /sys/fs/ext4//journal_task (Lukas Czerner) [1698815] - [fs] ext4: Change debugging support help prefix from EXT4 to Ext4 (Lukas Czerner) [1698815] - [fs] ext4: fix compile error when using BUFFER_TRACE (Lukas Czerner) [1698815] - [fs] jbd2: fix compile warning when using JBUFFER_TRACE (Lukas Czerner) [1698815] - [fs] ext4: annotate more implicit fall throughs (Lukas Czerner) [1698815] - [fs] ext4: annotate implicit fall throughs (Lukas Czerner) [1698815] - [fs] ext4: don't update s_rev_level if not required (Lukas Czerner) [1698815] - [fs] jbd2: fold jbd2_superblock_csum_{verify,set} into their callers (Lukas Czerner) [1698815] - [fs] jbd2: fix race when writing superblock (Lukas Czerner) [1698815] - [fs] ext4: fix crash during online resizing (Lukas Czerner) [1698815] - [fs] ext4: disallow files with EXT4_JOURNAL_DATA_FL from EXT4_IOC_SWAP_BOOT (Lukas Czerner) [1698815] - [fs] ext4: add mask of ext4 flags to swap (Lukas Czerner) [1698815] - [fs] ext4: update quota information while swapping boot loader inode (Lukas Czerner) [1698815] - [fs] ext4: cleanup pagecache before swap i_data (Lukas Czerner) [1698815] - [fs] ext4: fix check of inode in swap_inode_boot_loader (Lukas Czerner) [1698815] - [fs] ext4: unlock unused_pages timely when doing writeback (Lukas Czerner) [1698815] - [fs] ext4: cleanup clean_bdev_aliases() calls (Lukas Czerner) [1698815] - [fs] jbd2: discard dirty data when forgetting an un-journalled buffer (Lukas Czerner) [1698815] - [fs] jbd2: clear dirty flag when revoking a buffer from an older transaction (Lukas Czerner) [1698815] - [fs] ext4: replace opencoded i_writecount usage with inode_is_open_for_write() (Lukas Czerner) [1698815] - [fs] jbd2: fix deadlock while checkpoint thread waits commit thread to finish (Lukas Czerner) [1698815] - [fs] ext4: use IS_ENCRYPTED() to check encryption status (Lukas Czerner) [1698815] - [fs] ext4: track writeback errors using the generic tracking infrastructure (Lukas Czerner) [1698815] - [fs] ext4: use ext4_write_inode() when fsyncing w/o a journal (Lukas Czerner) [1698815] - [fs] ext4: fix a potential fiemap/page fault deadlock w/ inline_data (Lukas Czerner) [1698815] - [fs] ext4: make sure enough credits are reserved for dioread_nolock writes (Lukas Czerner) [1698815] - [fs] ext4: check for shutdown and r/o file system in ext4_write_inode() (Lukas Czerner) [1698815] - [fs] ext4: force inode writes when nfsd calls commit_metadata() (Lukas Czerner) [1698815] - [fs] ext4: avoid declaring fs inconsistent due to invalid file handles (Lukas Czerner) [1698815] - [fs] ext4: include terminating u32 in size of xattr entries when expanding inodes (Lukas Czerner) [1698815] - [fs] ext4: compare old and new mode before setting update_mode flag (Lukas Czerner) [1698815] - [fs] ext4: fix EXT4_IOC_GROUP_ADD ioctl (Lukas Czerner) [1698815] - [fs] ext4: hard fail dax mount on unsupported devices (Lukas Czerner) [1698815] - [fs] ext4: remove redundant condition check (Lukas Czerner) [1698815] - [fs] jbd2: clean up indentation issue, replace spaces with tab (Lukas Czerner) [1698815] - [fs] ext4: clean up indentation issues, remove extraneous tabs (Lukas Czerner) [1698815] - [fs] ext4: missing unlock/put_page() in ext4_try_to_write_inline_data() (Lukas Czerner) [1698815] - [fs] ext4: fix possible use after free in ext4_quota_enable (Lukas Czerner) [1698815] - [fs] jbd2: avoid long hold times of j_state_lock while committing a transaction (Lukas Czerner) [1698815] - [fs] ext4: add ext4_sb_bread() to disambiguate ENOMEM cases (Lukas Czerner) [1698815] - [fs] ext4: remove unneeded brelse call in ext4_xattr_inode_update_ref() (Lukas Czerner) [1698815] - [fs] ext4: fix use-after-free race in ext4_remount()'s error path (Lukas Czerner) [1698815] - [fs] ext4: don't open-code ERR_CAST (Lukas Czerner) [1698815] - [fs] ext4: cache NULL when both default_acl and acl are NULL (Lukas Czerner) [1698815] - [fs] ext4: propagate error from dquot_initialize() in EXT4_IOC_FSSETXATTR (Lukas Czerner) [1698815] - [fs] ext4: fix setattr project check in fssetxattr ioctl (Lukas Czerner) [1698815] - [fs] ext4: convert fault handler to use vm_fault_t type (Lukas Czerner) [1698815] - [fs] ext4: fix EXT4_IOC_SWAP_BOOT (Lukas Czerner) [1698815] - [fs] ext4: fix argument checking in EXT4_IOC_MOVE_EXT (Lukas Czerner) [1698815] - [fs] ext4: fix reserved cluster accounting at page invalidation time (Lukas Czerner) [1698815] - [fs] ext4: adjust reserved cluster count when removing extents (Lukas Czerner) [1698815] - [fs] ext4: reduce reserved cluster count by number of allocated clusters (Lukas Czerner) [1698815] - [fs] ext4: fix reserved cluster accounting at delayed write time (Lukas Czerner) [1698815] - [fs] ext4: add new pending reservation mechanism (Lukas Czerner) [1698815] - [fs] ext4: generalize extents status tree search functions (Lukas Czerner) [1698815] - [fs] ext4: readpages() should submit IO as read-ahead (Lukas Czerner) [1698815] - [fs] ext4: improve code readability in ext4_iget() (Lukas Czerner) [1698815] - [fs] ext4: use swap macro in mext_page_double_lock (Lukas Czerner) [1698815] - [fs] ext4: fix warning message in ext4_enable_quotas() (Lukas Czerner) [1698815] - [fs] ext4: super: extend timestamps to 40 bits (Lukas Czerner) [1698815] - [fs] jbd2: replace current_kernel_time64 with ktime equivalent (Lukas Czerner) [1698815] - [fs] ext4: use timespec64 for all inode times (Lukas Czerner) [1698815] - [fs] ext4: use ktime_get_real_seconds for i_dtime (Lukas Czerner) [1698815] - [fs] ext4: use 64-bit timestamps for mmp_time (Lukas Czerner) [1698815] - [scsi] scsi: smartpqi: Use HCTX_TYPE_DEFAULT for blk_mq_tag_set->map (Don Brace) [1665565] - [scsi] scsi: smartpqi: bump driver version (Don Brace) [1665565] - [scsi] scsi: smartpqi: add spdx (Don Brace) [1665565] - [scsi] scsi: smartpqi: update copyright (Don Brace) [1665565] - [scsi] scsi: smartpqi: add H3C controller IDs (Don Brace) [1665565] - [scsi] scsi: smartpqi: increase LUN reset timeout (Don Brace) [1665565] - [scsi] scsi: smartpqi: Reporting 'logical unit failure' (Don Brace) [1665565] - [scsi] scsi: smartpqi_init: fix boolean expression in pqi_device_remove_start (Don Brace) [1665565] - [scsi] scsi: smartpqi: call pqi_free_interrupts() in pqi_shutdown() (Don Brace) [1665565] - [scsi] scsi: smartpqi: fix build warnings (Don Brace) [1665565] - [scsi] scsi: smartpqi: update driver version (Don Brace) [1665565] - [scsi] scsi: smartpqi: add ofa support (Don Brace) [1665565] - [scsi] scsi: smartpqi: increase fw status register read timeout (Don Brace) [1665565] - [scsi] scsi: smartpqi: bump driver version (Don Brace) [1665565] - [scsi] scsi: smartpqi: add smp_utils support (Don Brace) [1665565] - [scsi] scsi: smartpqi: correct lun reset issues (Don Brace) [1665565] - [scsi] scsi: smartpqi: correct volume status (Don Brace) [1665565] - [scsi] scsi: smartpqi: do not offline disks for transient did no connect conditions (Don Brace) [1665565] - [scsi] scsi: smartpqi: allow for larger raid maps (Don Brace) [1665565] - [scsi] scsi: smartpqi: check for null device pointers (Don Brace) [1665565] - [scsi] scsi: smartpqi: enhance numa node detection (Don Brace) [1665565] - [scsi] scsi: smartpqi: wake up drives after os resumes from suspend (Don Brace) [1665565] - [scsi] scsi: smartpqi: fix disk name mount point (Don Brace) [1665565] - [scsi] scsi: smartpqi: add h3c ssid (Don Brace) [1665565] - [scsi] scsi: smartpqi: add sysfs attributes (Don Brace) [1665565] - [scsi] scsi: smartpqi: refactor sending controller raid requests (Don Brace) [1665565] - [scsi] scsi: smartpqi: turn off lun data caching for ptraid (Don Brace) [1665565] - [scsi] scsi: smartpqi: correct host serial num for ssa (Don Brace) [1665565] - [scsi] scsi: smartpqi: add no_write_same for logical volumes (Don Brace) [1665565] - [scsi] scsi: smartpqi: Add retries for device reset (Don Brace) [1665565] - [scsi] scsi: smartpqi: add support for PQI Config Table handshake (Don Brace) [1665565] - [scsi] scsi: smartpqi: fully convert to the generic DMA API (Don Brace) [1665565] - [net] rtnetlink: always put IFLA_LINK for links with a link-netnsid (Sabrina Dubroca) [1711933] - [net] ipv6: add inet6_fill_args (Ivan Vecera) [1711956] - [net] ipv4: add inet_fill_args (Ivan Vecera) [1711956] - [net] rtnetlink: s/IFLA_IF_NETNSID/IFLA_TARGET_NETNSID/g (Ivan Vecera) [1711956] - [include] if_link: add IFLA_TARGET_NETNSID alias (Ivan Vecera) [1711956] - [net] rtnetlink: move type calculation out of loop (Ivan Vecera) [1711956] - [net] ipv6: enable IFA_TARGET_NETNSID for RTM_GETADDR (Ivan Vecera) [1711956] - [net] ipv4: enable IFA_TARGET_NETNSID for RTM_GETADDR (Ivan Vecera) [1711956] - [include] if_addr: add IFA_TARGET_NETNSID (Ivan Vecera) [1711956] - [net] rtnetlink: add rtnl_get_net_ns_capable() (Ivan Vecera) [1711956] - [tools] selftests: forwarding: mirror_gre_vlan_bridge_1q: Fix untagged test (Hangbin Liu) [1710283] - [tools] selftests: forwarding: Tweak tc filters for mirror-to-gretap tests (Hangbin Liu) [1710283] - [tools] selftests: forwarding: lib: Avoid trapping soft devices (Hangbin Liu) [1710283] - [tools] selftests: pmtu: maximum MTU for vti4 is 2^16-1-20 (Hangbin Liu) [1704659] - [net] sched: red: inform offloads about harddrop setting (Ivan Vecera) [1710999] - [net] tls: fix copy to fragments in reencrypt (Ivan Vecera) [1710366] - [net] tls: don't copy negative amounts of data in reencrypt (Ivan Vecera) [1710366] - [net] tls: don't leak IV and record seq when offload fails (Ivan Vecera) [1710366] - [net] tls: avoid potential deadlock in tls_set_device_offload_rx() (Ivan Vecera) [1710366] - [net] tls: prevent bad memory access in tls_is_sk_tx_device_offloaded() (Ivan Vecera) [1710366] - [net] tls: Combined memory allocation for decryption request (Ivan Vecera) [1710366] - [net] tls: Skip zerocopy path for ITER_KVEC (Ivan Vecera) [1710366] - [net] tls: Fix copy-paste error in tls_device_reencrypt (Ivan Vecera) [1710366] - [net] tls: Add rx inline crypto offload (Ivan Vecera) [1710366] - [net] tls: Fill software context without allocation (Ivan Vecera) [1710366] - [net] tls: Split tls_sw_release_resources_rx (Ivan Vecera) [1710366] - [net] tls: Split decrypt_skb to two functions (Ivan Vecera) [1710366] - [net] tcp: Don't coalesce decrypted and encrypted SKBs (Ivan Vecera) [1710366] - [include] Add TLS rx resync NDO (Ivan Vecera) [1710366] - [net] Add TLS RX offload feature (Ivan Vecera) [1710366] - [net] Add decrypted field to skb (Ivan Vecera) [1710366] - [net] tls: Use aead_request_alloc/free for request alloc/free (Ivan Vecera) [1710366] - [net] tls: Refactor tls_offload variable names (Ivan Vecera) [1703389]- [netdrv] qede: use ethtool_rx_flow_rule() to remove duplicated parser code (Manish Chopra) [1663274] - [netdrv] qede: place ethtool_rx_flow_spec after code after TC flower codebase (Manish Chopra) [1663274] - [netdrv] drivers: net: use flow action infrastructure (Manish Chopra) [1663274] - [netdrv] flow_offload: add flow_rule and flow_match structures and use them (Manish Chopra) [1663274] - [infiniband] RDMA: Cleanup undesired pd->uobject usage (Manish Chopra) [1663274] - [netdrv] qede: Populate mbi version in ethtool driver query data. (Manish Chopra) [1663274] - [netdrv] qed: Define new MF bit for no_vlan config (Manish Chopra) [1663274] - [netdrv] qed: fix spelling mistake "faspath" -> "fastpath" (Manish Chopra) [1663274] - [netdrv] qed: Fix the DORQ's attentions handling (Manish Chopra) [1663274] - [netdrv] qed: Fix missing DORQ attentions (Manish Chopra) [1663274] - [netdrv] qed: Fix the doorbell address sanity check (Manish Chopra) [1663274] - [netdrv] qed: Delete redundant doorbell recovery types (Manish Chopra) [1663274] - [netdrv] qede: fix write to free'd pointer error and double free of ptp (Manish Chopra) [1663274] - [netdrv] qede: Fix internal loopback failure with jumbo mtu configuration (Manish Chopra) [1663274] - [netdrv] qed: Read device port count from the shmem (Manish Chopra) [1663274] - [netdrv] qed: Fix iWARP syn packet mac address validation. (Manish Chopra) [1663274] - [netdrv] qed: Fix iWARP buffer size provided for syn packet processing. (Manish Chopra) [1663274] - [netdrv] qed: fix indentation issue with statements in an if-block (Manish Chopra) [1663274] - [netdrv] qede: Add ethtool interface for SmartAN query. (Manish Chopra) [1663274] - [netdrv] qed: Add API for SmartAN query. (Manish Chopra) [1663274] - [netdrv] qed*: Advance drivers version to 8.37.0.20 (Manish Chopra) [1663274] - [netdrv] qed: Change verbosity for coalescing message. (Manish Chopra) [1663274] - [netdrv] qede: Fix system crash on configuring channels. (Manish Chopra) [1663274] - [netdrv] qed: Consider TX tcs while deriving the max num_queues for PF. (Manish Chopra) [1663274] - [netdrv] qed: Assign UFP TC value to vlan priority in UFP mode. (Manish Chopra) [1663274] - [netdrv] qed: Fix EQ full firmware assert. (Manish Chopra) [1663274] - [netdrv] qed: Fix stack out of bounds bug (Manish Chopra) [1663274] - [netdrv] qed: Fix system crash in ll2 xmit (Manish Chopra) [1663274] - [netdrv] qed: Fix VF probe failure while FLR (Manish Chopra) [1663274] - [netdrv] qed: Fix LACP pdu drops for VFs (Manish Chopra) [1663274] - [netdrv] qed: Fix bug in tx promiscuous mode settings (Manish Chopra) [1663274] - [netdrv] qede: Error recovery process (Manish Chopra) [1663274] - [netdrv] qed: Add infrastructure for error detection and recovery (Manish Chopra) [1663274] - [netdrv] qed: Revise load sequence to avoid PCI errors (Manish Chopra) [1663274] - [netdrv] qed: Mark expected switch fall-through (Manish Chopra) [1663274] - [include] qed: remove duplicated include from qed_if.h (Manish Chopra) [1663274] - [infiniband] RDMA/qedr: Fix out of bounds index check in query pkey (Manish Chopra) [1663274] - [netdrv] qed: Fix qed_ll2_post_rx_buffer_notify_fw() by adding a write memory barrier (Manish Chopra) [1663274] - [include] qed: Fix qed_chain_set_prod() for PBL chains with non power of 2 page count (Manish Chopra) [1663274] - [infiniband] infiniband/qedr: Potential null ptr dereference of qp (Manish Chopra) [1663274] - [netdrv] qed: Fix an error code qed_ll2_start_xmit() (Manish Chopra) [1663274] - [netdrv] qed: fix spelling mistake "Dispalying" -> "Displaying" (Manish Chopra) [1663274] - [netdrv] qede: Register l2 queues with doorbell overflow recovery mechanism (Manish Chopra) [1663274] - [netdrv] qed: Expose the doorbell overflow recovery mechanism to the protocol drivers (Manish Chopra) [1663274] - [netdrv] qed: Register light L2 queues with doorbell overflow recovery mechanism (Manish Chopra) [1663274] - [netdrv] qed: Register slowpath queue doorbell with doorbell overflow recovery mechanism (Manish Chopra) [1663274] - [netdrv] qed: Use the doorbell overflow recovery mechanism in case of doorbell overflow (Manish Chopra) [1663274] - [netdrv] qed: Add doorbell overflow recovery mechanism (Manish Chopra) [1663274] - [netdrv] qede - Add a statistic for a case where driver drops tx packet due to memory allocation failure. (Manish Chopra) [1663274] - [netdrv] qed: fix spelling mistake "attnetion" -> "attention" (Manish Chopra) [1663274] - [netdrv] qed: Add support for MBI upgrade over MFW. (Manish Chopra) [1663274] - [netdrv] qede: Update link status only when interface is ready. (Manish Chopra) [1663274] - [netdrv] qede: Simplify the usage of qede-flags. (Manish Chopra) [1663274] - [netdrv] qed: Display port_id in the UFP debug messages. (Manish Chopra) [1663274] - [netdrv] qed: Fix QM getters to always return a valid pq (Manish Chopra) [1663274] - [netdrv] qed: Fix bitmap_weight() check (Manish Chopra) [1663274] - [netdrv] drivers/net/ethernet/qlogic/qed/qed_rdma.h: fix typo (Manish Chopra) [1663274] - [netdrv] qed: Fix reading wrong value in loop condition (Manish Chopra) [1663274] - [netdrv] qed: Fix rdma_info structure allocation (Manish Chopra) [1663274] - [netdrv] qed: Fix overriding offload_tc by protocols without APP TLV (Manish Chopra) [1663274] - [netdrv] qed: Fix PTT leak in qed_drain() (Manish Chopra) [1663274] - [netdrv] qed: Fix potential memory corruption (Manish Chopra) [1663274] - [netdrv] qed: Fix SPQ entries not returned to pool in error flows (Manish Chopra) [1663274] - [netdrv] qed: Fix blocking/unlimited SPQ entries leak (Manish Chopra) [1663274] - [netdrv] qed: Fix memory/entry leak in qed_init_sp_request() (Manish Chopra) [1663274] - [netdrv] qed: fix link config error handling (Manish Chopra) [1663274] - [netdrv] qed: Fix static checker warning (Manish Chopra) [1663274] - [netdrv] qed: fix spelling mistake "transcevier" -> "transceiver" (Manish Chopra) [1663274] - [netdrv] qed: Prevent link getting down in case of autoneg-off. (Manish Chopra) [1663274] - [netdrv] qede: Check available link modes before link set from ethtool. (Manish Chopra) [1663274] - [netdrv] qed: Add supported link and advertise link to display in ethtool. (Manish Chopra) [1663274] - [netdrv] qed: Added supported transceiver modes, speed capability and board config to HSI. (Manish Chopra) [1663274] - [netdrv] qed: Align local and global PTT to propagate through the APIs. (Manish Chopra) [1663274] - [netdrv] qed: fix spelling mistake "Ireelevant" -> "Irrelevant" (Manish Chopra) [1663274] - [netdrv] qed: Avoid implicit enum conversion in qed_ooo_submit_tx_buffers (Manish Chopra) [1663274] - [infiniband] RDMA/qedr: Remove enumerated type qed_roce_ll2_tx_dest (Manish Chopra) [1663274] - [netdrv] qed: fix spelling mistake "b_cb_registred" -> "b_cb_registered" (Manish Chopra) [1663274] - [netdrv] qed: Remove set but not used variable 'p_archipelago' (Manish Chopra) [1663274] - [netdrv] qed: Avoid implicit enum conversion in qed_iwarp_parse_rx_pkt (Manish Chopra) [1663274] - [netdrv] qed: Avoid constant logical operation warning in qed_vf_pf_acquire (Manish Chopra) [1663274] - [netdrv] qed: Avoid implicit enum conversion in qed_roce_mode_to_flavor (Manish Chopra) [1663274] - [netdrv] qed: Fix mask parameter in qed_vf_prep_tunn_req_tlv (Manish Chopra) [1663274] - [netdrv] qed: Avoid implicit enum conversion in qed_set_tunn_cls_info (Manish Chopra) [1663274] - [netdrv] qed: fix spelling mistake "toogle" -> "toggle" (Manish Chopra) [1663274] - [netdrv] net: qed: list usage cleanup (Manish Chopra) [1663274] - [netdrv] net: qede: Use FIELD_SIZEOF directly instead of reimplementing its function (Manish Chopra) [1663274] - [netdrv] qed: remove duplicated include from qed_cxt.c (Manish Chopra) [1663274] - [netdrv] qed*: Utilize FW 8.37.7.0 (Manish Chopra) [1663274] - [infiniband] RDMA/qedr: remove set but not used variable 'ctx' (Manish Chopra) [1663274] - [netdrv] qed: Lower the severity of a dcbx log message. (Manish Chopra) [1663274] - [netdrv] qed: fix spelling mistake "comparsion" -> "comparison" (Manish Chopra) [1663274] - [netdrv] net_sched: remove list_head from tc_action (Manish Chopra) [1663274] - [infiniband] qedr: Add user space support for SRQ (Manish Chopra) [1663274] - [infiniband] qedr: Add support for kernel mode SRQ's (Manish Chopra) [1663274] - [infiniband] qedr: Add wrapping generic structure for qpidr and adjust idr routines. (Manish Chopra) [1663274] - [netdrv] qed/qede: qede_setup_tc() can be static (Manish Chopra) [1663274] - [netdrv] qede: Ingress tc flower offload (drop action) support. (Manish Chopra) [1663274] - [netdrv] qede: Add destination ip based flow profile. (Manish Chopra) [1663274] - [netdrv] qed/qede: Multi CoS support. (Manish Chopra) [1663274] - [netdrv] qede: qede_fp: Mark expected switch fall-through (Manish Chopra) [1663274] - [netdrv] qed: qed_dev: Mark expected switch fall-throughs (Manish Chopra) [1663274] - [netdrv] qed: Add Multi-TC RoCE support (Manish Chopra) [1663274] - [netdrv] qed: Add DCBX API - qed_dcbx_get_priority_tc() (Manish Chopra) [1663274] - [netdrv] qed: Make some functions static (Manish Chopra) [1663274] - [netdrv] qed: remove redundant functions qed_get_cm_pq_idx_rl (Manish Chopra) [1663274] - [netdrv] qed: remove redundant functions qed_set_gft_event_id_cm_hdr (Manish Chopra) [1663274] - [netdrv] qede: Add driver callbacks for eeprom module query. (Manish Chopra) [1663274] - [netdrv] qed: Add qed APIs for PHY module query. (Manish Chopra) [1663274] - [netdrv] qed: remove redundant pointer 'name' (Manish Chopra) [1663274] - [iommu] iommu: Don't print warning when IOMMU driver only supports unmanaged domains (Jerry Snitselaar) [1707616 1694210 1689183] - [iommu] iommu/vt-d: Check capability before disabling protected memory (Jerry Snitselaar) [1694210] - [iommu] iommu/amd: fix sg->dma_address for sg->offset bigger than PAGE_SIZE (Jerry Snitselaar) [1694210 1694029] - [iommu] iommu/amd: Fix NULL dereference bug in match_hid_uid (Jerry Snitselaar) [1677737 1694210] - [iommu] iommu/vt-d: Fix NULL pointer reference in intel_svm_bind_mm() (Jerry Snitselaar) [1694210] - [iommu] iommu/vt-d: Remove unnecessary WARN_ON() (Jerry Snitselaar) [1694210] - [iommu] iommu/vt-d: Check identity map for hot-added devices (Jerry Snitselaar) [1694210] - [iommu] iommu/dmar: Fix buffer overflow during PCI bus notification (Jerry Snitselaar) [1694210] - [iommu] iommu/vt-d: Fix memory leak in intel_iommu_put_resv_regions() (Jerry Snitselaar) [1694210] - [iommu] iommu/amd: Fix amd_iommu=force_isolation (Jerry Snitselaar) [1694210] - [iommu] iommu/vt-d: Handle domain agaw being less than iommu agaw (Jerry Snitselaar) [1694210] - [iommu] iommu/vt-d: Use memunmap to free memremap (Jerry Snitselaar) [1694210] - [iommu] amd/iommu: Fix Guest Virtual APIC Log Tail Address Register (Jerry Snitselaar) [1694210] - [iommu] iommu/vt-d: Fix NULL pointer dereference in prq_event_thread() (Jerry Snitselaar) [1694210] - [iommu] iommu/amd: Return devid as alias for ACPI HID devices (Jerry Snitselaar) [1694210] - [iommu] iommu/rockchip: Free irqs in shutdown handler (Jerry Snitselaar) [1694210] - [iommu] iommu/rockchip: Move irq request past pm_runtime_enable (Jerry Snitselaar) [1694210] - [iommu] iommu/rockchip: Handle errors returned from PM framework (Jerry Snitselaar) [1694210] - [iommu] iommu/amd: make sure TLB to be flushed before IOVA freed (Jerry Snitselaar) [1694210] - [idle] intel_idle: Get rid of custom ICPU() macro (Alexander Beregalov) [1710976] - [security] selinux: do not report error on connect(AF_UNSPEC) (Ondrej Mosnacek) [1707828] - [security] selinux: Check address length before reading address family (Ondrej Mosnacek) [1707828] - [scsi] scsi: core: add new RDAC LENOVO/DE_Series device (Maurizio Lombardi) [1700912] - [infiniband] i40iw: Avoid panic when handling the inetdev event (Stefan Assmann) [1659180] - [infiniband] cross-tree: phase out dma_zalloc_coherent() (Stefan Assmann) [1659180] - [infiniband] infiniband: prefix header search paths with $(srctree)/ (Stefan Assmann) [1659180] - [infiniband] i40iw: remove use of VLAN_TAG_PRESENT (Stefan Assmann) [1659180] - [infiniband] RDMA/i40iw: Fix incorrect iterator type (Stefan Assmann) [1659180] - [infiniband] infiniband: i40iw, nes: don't use wall time for TCP sequence numbers (Stefan Assmann) [1659180] - [infiniband] i40iw: Reorganize acquire/release of locks in i40iw_manage_apbvt (Stefan Assmann) [1659180] - [netdrv] i40e: Changed maximum supported FW API version to 1.8 (Stefan Assmann) [1659174] - [netdrv] flow_offload: add flow_rule and flow_match structures and use them (Stefan Assmann) [1659174] - [netdrv] ethernet/intel: consolidate NAPI and NAPI exit (Stefan Assmann) [1659174] - [netdrv] intel-ethernet: software timestamp skbs as late as possible (Stefan Assmann) [1659174] - [netdrv] drivers: net: remove inclusion when not needed (Stefan Assmann) [1659174] - [netdrv] i40e: Memory leak in i40e_config_iwarp_qvlist (Stefan Assmann) [1659162] - [netdrv] i40e: Fix of memory leak and integer truncation in i40e_virtchnl.c (Stefan Assmann) [1659162] - [netdrv] i40e: Use struct_size() in kzalloc() (Stefan Assmann) [1659162] - [netdrv] i40e: Revert ShadowRAM checksum calculation change (Stefan Assmann) [1659162] - [netdrv] i40e: missing input validation on VF message handling by the PF (Stefan Assmann) [1659162] - [netdrv] i40e: Add support for X710 B/P & SFP+ cards (Stefan Assmann) [1659162] - [netdrv] i40e: Wrong truncation from u16 to u8 (Stefan Assmann) [1659162] - [netdrv] i40e: add num_vectors checker in iwarp handler (Stefan Assmann) [1659162] - [netdrv] i40e: Fix the typo in adding 40GE KR4 mode (Stefan Assmann) [1659162] - [netdrv] i40e: Setting VF to VLAN 0 requires restart (Stefan Assmann) [1659162] - [netdrv] i40e: add new pci id for X710/XXV710 N3000 cards (Stefan Assmann) [1659162] - [netdrv] i40e: VF's promiscuous attribute is not kept (Stefan Assmann) [1659162] - [netdrv] i40e: Introduce recovery mode support (Stefan Assmann) [1659162] - [netdrv] i40e: print PCI vendor and device ID during probe (Stefan Assmann) [1659162] - [netdrv] i40e: fix misleading message about promisc setting on un-trusted VF (Stefan Assmann) [1659162] - [netdrv] i40e: update version number (Stefan Assmann) [1659162] - [netdrv] i40e: remove out-of-range comparisons in i40e_validate_cloud_filter (Stefan Assmann) [1659162] - [netdrv] i40e: Further implementation of LLDP (Stefan Assmann) [1659162] - [netdrv] i40e: Report advertised link modes on 40GBase_LR4, CR4 and fibre (Stefan Assmann) [1659162] - [netdrv] i40e: ShadowRAM checksum calculation change (Stefan Assmann) [1659162] - [netdrv] i40e: remove error msg when vf with port vlan tries to remove vlan 0 (Stefan Assmann) [1659162] - [netdrv] i40e: change behavior on PF in response to MDD event (Stefan Assmann) [1659162] - [netdrv] i40e: Fix for allowing too many MDD events on VF (Stefan Assmann) [1659162] - [netdrv] i40e: Fix misleading error message (Stefan Assmann) [1659162] - [netdrv] i40e: Able to add up to 16 MAC filters on an untrusted VF (Stefan Assmann) [1659162] - [netdrv] i40e: Report advertised link modes on 40GBASE_SR4 (Stefan Assmann) [1659162] - [netdrv] i40e: The driver now prints the API version in error message (Stefan Assmann) [1659162] - [netdrv] i40e: Changed maximum supported FW API version to 1.8 (Stefan Assmann) [1659162] - [netdrv] i40e: Remove misleading messages for untrusted VF (Stefan Assmann) [1659162] - [netdrv] i40e: Update i40e_init_dcb to return correct error (Stefan Assmann) [1659162] - [netdrv] i40e: Fix for 10G ports LED not blinking (Stefan Assmann) [1659162] - [netdrv] i40e: save PTP time before a device reset (Stefan Assmann) [1659162] - [netdrv] i40e: don't allow changes to HW VLAN stripping on active port VLANs (Stefan Assmann) [1659162] - [netdrv] i40e: Implement DDP support in i40e driver (Stefan Assmann) [1659162] - [netdrv] i40e: Queues are reserved despite "Invalid argument" error (Stefan Assmann) [1659162] - [netdrv] i40e: add tracking of AF_XDP ZC state for each queue pair (Stefan Assmann) [1659162] - [netdrv] i40e: move i40e_xsk_umem function (Stefan Assmann) [1659162] - [netdrv] i40e: fix WoL support check (Stefan Assmann) [1659162] - [netdrv] i40e: fix i40e_ptp_adjtime when given a negative delta (Stefan Assmann) [1659162] - [netdrv] i40e: fix XDP_REDIRECT/XDP xmit ring cleanup race (Stefan Assmann) [1659162] - [netdrv] i40e: fix potential RX buffer starvation for AF_XDP (Stefan Assmann) [1659162] - [netdrv] net: bpf: remove XDP_QUERY_XSK_UMEM enumerator (Stefan Assmann) [1659162] - [netdrv] flow_offload: add flow_rule and flow_match structures and use them (Stefan Assmann) [1659162] - [netdrv] i40e: clean up several indentation issues (Stefan Assmann) [1659162] - [netdrv] i40e: increase indentation (Stefan Assmann) [1659162] - [netdrv] i40e: update version number (Stefan Assmann) [1659162] - [netdrv] i40e: remove debugfs tx_timeout support (Stefan Assmann) [1659162] - [netdrv] i40e: check queue pairs num in config queues handler (Stefan Assmann) [1659162] - [netdrv] i40e: Change unmatched function types (Stefan Assmann) [1659162] - [netdrv] i40e: Add support FEC configuration for Fortville 25G (Stefan Assmann) [1659162] - [netdrv] i40e: Limiting RSS queues to CPUs (Stefan Assmann) [1659162] - [netdrv] i40e: Remove umem from VSI (Stefan Assmann) [1659162] - [netdrv] cross-tree: phase out dma_zalloc_coherent() (Stefan Assmann) [1659162] - [netdrv] i40e: extend PTP gettime function to read system clock (Stefan Assmann) [1659162] - [netdrv] i40e: DRY rx_ptype handling code (Stefan Assmann) [1659162] - [netdrv] i40e: fix kerneldoc for xsk methods (Stefan Assmann) [1659162] - [netdrv] ethernet/intel: consolidate NAPI and NAPI exit (Stefan Assmann) [1659162] - [netdrv] i40e: suppress bogus error message (Stefan Assmann) [1659162] - [netdrv] i40e: Allow disabling FW LLDP on X722 devices (Stefan Assmann) [1659162] - [netdrv] i40e: update driver version (Stefan Assmann) [1659162] - [netdrv] i40e: Protect access to VF control methods (Stefan Assmann) [1659162] - [netdrv] i40e: Replace strncpy with strlcpy to ensure null termination (Stefan Assmann) [1659162] - [netdrv] i40e: Add capability flag for stopping FW LLDP (Stefan Assmann) [1659162] - [netdrv] i40e: Use a local variable for readability (Stefan Assmann) [1659162] - [netdrv] i40e: Replace spin_is_locked() with lockdep (Stefan Assmann) [1659162] - [netdrv] i40e/ixgbe/igb: fail on new WoL flag setting WAKE_MAGICSECURE (Stefan Assmann) [1659162] - [netdrv] intel-ethernet: software timestamp skbs as late as possible (Stefan Assmann) [1659162] - [netdrv] drivers: net: remove inclusion when not needed (Stefan Assmann) [1659162] - [netdrv] i40e: Remove unnecessary print statement (Stefan Assmann) [1659162] - [netdrv] i40e: Use proper enum in i40e_ndo_set_vf_link_state (Stefan Assmann) [1659162] - [nvme] nvmet: ignore EOPNOTSUPP for discard (Ewan Milne) [1696369] - [tools] tools: bpftool: fix potential NULL pointer dereference in do_load (Ivan Vecera) [1708560] - [tools] tools lib bpf: Provide wrapper for strerror_r to build in !_GNU_SOURCE systems (Ivan Vecera) [1708560] - [tools] libbpf: Remove the duplicate checking of function storage (Ivan Vecera) [1708560] - [tools] bpf: fix build error in libbpf with EXTRA_CFLAGS="-Wp, -D_FORTIFY_SOURCE=2 -O2" (Ivan Vecera) [1708560] - [tools] tools: include reallocarray feature test in FEATURE_TESTS_BASIC (Ivan Vecera) [1708560] - [tools] tools: bpftool: allow reuse of maps with bpftool prog load (Ivan Vecera) [1708560] - [tools] tools: libbpf: allow map reuse (Ivan Vecera) [1708560] - [tools] tools: bpf: make use of reallocarray (Ivan Vecera) [1708560] - [tools] tools: libbpf: move library error code into a separate file (Ivan Vecera) [1708560] - [tools] tools: bpftool: reimplement bpf_prog_load() for prog load (Ivan Vecera) [1708560] - [tools] tools: libbpf: add extended attributes version of bpf_object__open() (Ivan Vecera) [1708560] - [tools] tools: libbpf: recognize offload neutral maps (Ivan Vecera) [1708560] - [tools] tools: bpftool: allow users to specify program type for prog load (Ivan Vecera) [1708560] - [tools] tools: libbpf: expose the prog type guessing from section name logic (Ivan Vecera) [1708560] - [tools] tools: bpftool: add support for loading programs for offload (Ivan Vecera) [1708560] - [tools] tools: bpftool: refactor argument parsing for prog load (Ivan Vecera) [1708560] - [tools] selftests/bpf: add Error: prefix in check_extack helper (Ivan Vecera) [1708560] - [tools] selftests/bpf: remove duplicated word from test offloads (Ivan Vecera) [1708560] - [tools] tools: bpftool: deal with options upfront (Ivan Vecera) [1708560] - [tools] tools: bpftool: add missing --bpffs to completions (Ivan Vecera) [1708560] - [tools] tools: bpftool: drop unnecessary Author comments (Ivan Vecera) [1708560] - [tools] tools: libbpf: don't return '.text' as a program for multi-function programs (Ivan Vecera) [1708560] - [tools] tools: libbpf: restore the ability to load programs from .text section (Ivan Vecera) [1708560] - [tools] tools: libbpf: allow setting ifindex for programs and maps (Ivan Vecera) [1708560] - [tools] tools: libbpf: add section names for missing program types (Ivan Vecera) [1708560] - [tools] tools: bpftool: use correct make variable type to improve compilation time (Ivan Vecera) [1708560] - [scsi] scsi: lpfc: nvme: avoid hang / use-after-free when destroying localport (Dick Kennedy) [1588024]- [xen] ALSA: xen: Introduce shared buffer helpers for page directory... (Jaroslav Kysela) [1683051] - [drivers] ALSA: soundwire: Initialize completion for defer messages (Jaroslav Kysela) [1683051] - [drivers] ALSA: soundwire: intel: constify snd_soc_dai_ops structures (Jaroslav Kysela) [1683051] - [drivers] ALSA: soundwire: intel: Remove duplicate assignment (Jaroslav Kysela) [1683051] - [drivers] ALSA: soundwire: intel: Fix uninitialized adev deref (Jaroslav Kysela) [1683051] - [drivers] ALSA: soundwire: intel: Add pre/post bank switch ops (Jaroslav Kysela) [1683051] - [include] ALSA: soundwire: keep track of Masters in a stream (Jaroslav Kysela) [1683051] - [drivers] ALSA: soundwire: Add support for multi link bank switch (Jaroslav Kysela) [1683051] - [include] ALSA: soundwire: Handle multiple master instances in a stream (Jaroslav Kysela) [1683051] - [drivers] ALSA: soundwire: Add support to lock across bus instances (Jaroslav Kysela) [1683051] - [drivers] ALSA: soundwire: Fix acquiring bus lock twice during master release (Jaroslav Kysela) [1683051] - [drivers] ALSA: soundwire: Fix incorrect exit after configuring stream (Jaroslav Kysela) [1683051] - [drivers] ALSA: soundwire: Fix duplicate stream state assignment (Jaroslav Kysela) [1683051] - [sound] ALSA: hda/realtek - Fix for Lenovo B50-70 inverted internal microphone bug (Jaroslav Kysela) [1683051] - [sound] ALSA: hda: Fix race between creating and refreshing sysfs entries (Jaroslav Kysela) [1683051] - [include] ALSA: ASoC: uapi: fix sound/skl-tplg-interface.h userspace compilation errors (Jaroslav Kysela) [1683051] - [include] ALSA: uapi: #include in asound.h (Jaroslav Kysela) [1683051] - [include] ALSA: timer: fix wrong comment to refer to 'SNDRV_TIMER_PSFLG_*' (Jaroslav Kysela) [1683051] - [sound] ALSA: x86/cpu: Sanitize FAM6_ATOM naming (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: simple-card: don't select DPCM via simple-audio-card (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: audio-graph-card: don't select DPCM via audio-graph-card (Jaroslav Kysela) [1683051] - [sound] ALSA: hda/realtek - Corrected fixup for System76 Gazelle (gaze14) (Jaroslav Kysela) [1683051] - [sound] ALSA: hda/realtek - Avoid superfluous COEF EAPD setups (Jaroslav Kysela) [1683051] - [sound] ALSA: hda/realtek - Fixup headphone noise via runtime suspend (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: SOF: Fix unused variable warnings (Jaroslav Kysela) [1683051] - [sound] ALSA: line6: toneport: Fix broken usage of timer for delayed execution (Jaroslav Kysela) [1683051] - [sound] ALSA: aica: Fix a long-time build breakage (Jaroslav Kysela) [1683051] - [sound] ALSA: hda/realtek - Support low power consumption for ALC256 (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: stm32: i2s: update pcm hardware constraints (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: codec: hdac_hdmi: no checking monitor in hw_params (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: mediatek: mt6358: save PGA for mixer control (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: mediatek: mt6358: save output volume for mixer controls (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: mediatek: mt6358: initialize setting when ramping volume (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: SOF: core: fix undefined nocodec reference (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: SOF: xtensa: fix undefined references (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: SOF: Propagate sof_get_ctrl_copy_params() error properly (Jaroslav Kysela) [1683051] - [sound] ALSA: hdea/realtek - Headset fixup for System76 Gazelle (gaze14) (Jaroslav Kysela) [1683051] - [sound] ALSA: hda/intel: add CometLake PCI IDs (Jaroslav Kysela) [1683051] - [sound] ALSA: hda/realtek - Support low power consumption for ALC295 (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: rockchip: Fix an uninitialized variable compile warning (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: SOF: Fix a compile warning with CONFIG_PCI=n (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: da7219: Fix a compile warning at CONFIG_COMMON_CLK=n (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: sound/soc/sof/: fix kconfig dependency warning (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: stm32: spdifrx: change trace level on iec control (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: stm32: spdifrx: update pcm hardware constraints (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: max98090: Fix restore of DAPM Muxes (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: RT5677-SPI: Disable 16Bit SPI Transfers (Jaroslav Kysela) [1683051] - [sound] ALSA: hda/hdmi - Consider eld_valid when reporting jack event (Jaroslav Kysela) [1683051] - [sound] ALSA: hda/hdmi - Read the pin sense from register when repolling (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: sprd: Add reserved DMA memory support (Jaroslav Kysela) [1683051] - [sound] ALSA: synth: emux: soundfont.c: divide by zero in calc_gus_envelope_time() (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: Intel: kbl_da7219_max98357a: Map BTN_0 to KEY_PLAYPAUSE (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: Intel: add sof-rt5682 machine driver (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: Intel: skl_hda_dsp_generic:refine code style (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: Intel: skl_hda_dsp_generic: add DMIC support (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: SOF: Intel: CNL: add ipc dump function (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: SOF: Intel: APL: add ipc dump function (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: SOF: IPC: add ipc dump function (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: SOF: intel: hda: add hw_params_upon_resume flag for hda stream (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: SOF: Intel: hda-stream: handle real stream interrupts only (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: SOF: Intel: hda-stream: store stream capabilities (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: SOF: Intel: hda-ipc: simplify handling of IPC IRQ (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: SOF: ipc: use snd_sof_pcm_period_elapsed (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: SOF: Intel: use snd_sof_pcm_period_elapsed (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: SOF: PCM: add period_elapsed work to fix race condition in interrupt context (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: SOF: Intel: hda-pcm: remove useless dependency on hdac_ext (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: SOF: Intel: hda: set bus->idx as 0 (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: SOF: Intel: hda: set I2S slave before enabling DSP (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: SOF: Intel: hda: add SSP info to the chip info struct (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: SOF: Intel: hda: add the SSP Host Device memory space (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: SOF: Intel: cnl: add pointer ops to use DPIB position (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: SOF: topology: add support for stricter ABI checks (Jaroslav Kysela) [1683051] - [sound] ALSA: ASOC: SOF: ipc: add support for stricter ABI checks (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: SOF: add Kconfig option for strict ABI checks (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: Intel: avoid Oops if DMA setup fails (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: hdmi-codec: stream is already locked in hw_params (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: SOF: remove redundant null checks of dai (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: skip hw_free on codec dai for which the stream is invalid (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: fix valid stream condition (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: hdmi-codec: unlock the device on startup errors (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: da7219: Update the support rate list (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: da7219: Use clk_round_rate to handle enabled bclk/wclk case (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: rt5645: Headphone Jack sense inverts on the LattePanda board (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: fsl_esai: Fix missing break in switch statement (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: wm_adsp: Correct region base typo in wm_halo_setup_algs (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: SOF: Intel: fix spelling mistake "incompatble" -> "incompatible" (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: wm_adsp: Use DSP ops pointers to stop watchdog in error handlers (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: sprd: Fix to use list_for_each_entry_safe() when delete items (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: sprd: Fix return value check in sprd_mcdt_probe() (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: da7213: fix DAI_CLK_EN register bit overwrite (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: dapm: fix kcontrols for effect widgets (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: fsl_audmix: cache pdev->dev pointer (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: tlv320aic32x4: Fix potential uninitialized variable (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: Mediatek: MT8183: add I2S2 control path from UL2 and UL3 (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: Mediatek: MT8183: change supported formats of DL2 and UL1 (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: fsl_audmix: remove "model" attribute (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: imx-audmix: fix object reference leaks in probe (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: cs43130: fix a NULL pointer dereference (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: rt5645: fix a NULL pointer dereference (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: Intel: common: add Geminilake Realtek+Maxim machine driver entry (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: Intel: Make boards more available for compile test (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: mpc5200_dma: Fix invalid license ID (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: mpc5200_psc_i2s: Fix invalid license ID (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: atmel: tse850: Make some functions static (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: imx: fix fiq dependencies (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: amd: acp3x: Make acp3x_dai_i2s_ops static (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: tlv320aic32x4: Remove set but not used variable 'mclk_rate' (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: fsl_micfil: Remove set but not used variable 'osr' (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: pcm3168a: Enable TDM support for DSP_A/B modes (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: AMD: Configure wclk and bclk of master codec (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: Mediatek: MT8183: Fix build err while CONFIG_I2C set to module (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: hdmi-codec: fix spelling mistake "plalform" -> "platform" (Jaroslav Kysela) [1683051] - [sound] ALSA: hda/realtek - Apply the fixup for ASUS Q325UAR (Jaroslav Kysela) [1683051] - [sound] ALSA: hda - Register irq handler after the chip initialization (Jaroslav Kysela) [1683051] - [sound] ALSA: usx2y: fix a double free bug (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: hdac_hda: overwrite hdev type to HDA_DEV_ASOC (Jaroslav Kysela) [1683051] - [sound] ALSA: hda: fix unregister device twice on ASoC driver (Jaroslav Kysela) [1683051] - [sound] ALSA: line6: use dynamic buffers (Jaroslav Kysela) [1683051] - [sound] ALSA: usb-audio: Fix a memory leak bug (Jaroslav Kysela) [1683051] - [sound] ALSA: gus: fix misuse of x (Jaroslav Kysela) [1683051] - [sound] ALSA: hda/realtek - EAPD turn on later (Jaroslav Kysela) [1683051] - [sound] ALSA: hda/realtek - Fixed Dell AIO speaker noise (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: Intel: select relevant machine drivers for SOF (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: Intel: Make sure BDW based machine drivers build for SOF (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: SOF: Add Build support for SOF core and Intel drivers (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: Intel: Kconfig: expose common option between SST and SOF drivers (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: SOF: Intel: Add platform differentiation for APL and CNL (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: SOF: Intel: add SKL+ platform DAIs (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: SOF: Intel: Add support for HDAudio codecs (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: SOF: Intel: Add Intel specific HDA trace operations (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: SOF: Intel: Add Intel specific HDA stream operations (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: SOF: Intel: Add hda-bus support and initialization (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: SOF: Intel: Add Intel specific HDA PCM operations (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: SOF: Intel: Add Intel specific HDA firmware loader (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: SOF: Add PCI device support (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: SOF: Add ACPI device support (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: SOF: Intel: Add Intel specific HDA IPC mechanisms. (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: SOF: Intel: Add Intel specific HDA DSP HW operations (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: SOF: Intel: Add HDA controller for Intel DSP (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: SOF: Intel: Add APL/CNL HW DSP support (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: SOF: Intel: Add legacy IPC support (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: SOF: Intel: Add BDW HW DSP support (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: SOF: Intel: Add BYT, CHT and BSW DSP HW support. (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: SOF: Add utils (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: SOF: Add xtensa support (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: SOF: Add Nocodec machine driver support (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: SOF: Add PM support (Jaroslav Kysela) [1683051] - [include] ALSA: ASoC: SOF: Add userspace ABI support (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: SOF: Add firmware loader support (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: SOF: Add DSP HW abstraction operations (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: SOF: Add DSP firmware logger support (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: SOF: Add support for loading topologies (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: SOF: Add PCM operations support (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: SOF: Add support for IPC IO between DSP and Host (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: SOF: Add driver debug support. (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: SOF: Add Sound Open Firmware KControl support (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: SOF: Add Sound Open Firmware driver core (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: stm32: sai: simplify dai driver initialisation (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: simple-card: Read pin switches conf from devicetree (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: fsl_sai: Add missing return 0 in remove() (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: simple-card-utils: add asoc_simple_parse_pin_switches() (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: mediatek: btcvsd fix irq mask (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: Intel: bytcr_rt5651: align quirk override handling (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: Intel: bytcr_rt5640: align quirk override handling (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: Intel: bytcht_es8316: fix compilation warning (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: fsl_sai: Add support for runtime pm (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: fsl_sai: Update is_slave_mode with correct value (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: sprd: Add Spreadtrum multi-channel data transfer support (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: codecs: rt5682: initialize mutex before using (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: stm32: i2s: return the get_irq error (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: rsnd: fixup 6ch settings to 8ch (Jaroslav Kysela) [1683051] - [sound] ALSA: usb-audio: Handle the error from snd_usb_mixer_apply_create_quirk() (Jaroslav Kysela) [1683051] - [sound] ALSA: hda/realtek - Add new Dell platform for headset mode (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: codec: hdac_hdmi add device_link to card device (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: Intel: Haswell: Remove set but not used variable 'stage_type' (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: pcm: save fixed-up hw_params of BE (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: samsung: tobermory: Convert to SPDX License Identifier (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: samsung: tm2_wm5110: Convert to SPDX License Identifier (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: samsung: speyside: Convert to SPDX License Identifier (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: samsung: spdif: Convert to SPDX License Identifier (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: samsung: snow: Convert to SPDX License Identifier (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: samsung: smdk_wm8994*: Convert to SPDX License Identifier (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: samsung: smdk_wm8580: Convert to SPDX License Identifier (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: samsung: smdk_spdif: Convert to SPDX License Identifier (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: samsung: smartq_wm8987: Convert to SPDX License Identifier (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: samsung: s3c24xx_uda134x: Convert to SPDX License Identifier (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: samsung: s3c24xx_simtec*: Convert to SPDX License Identifier (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: samsung: s3c2412-i2s: Convert to SPDX License Identifier (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: samsung: rx1950_uda1380: Convert to SPDX License Identifier (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: samsung: s3c24xx-i2s: Convert to SPDX License Identifier (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: samsung: s3c-i2s-v2: Convert to SPDX License Identifier (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: samsung: pcm: Convert to SPDX License Identifier (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: samsung: odroid: Convert to SPDX License Identifier (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: samsung: neo1973_wm8753: Convert to SPDX License Identifier (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: samsung: lowland: Convert to SPDX License Identifier (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: samsung: littlemill: Convert to SPDX License Identifier (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: samsung: jive_wm8750: Convert to SPDX License Identifier (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: samsung: idma: Convert to SPDX License Identifier (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: samsung: i2s: Convert to SPDX License Identifier (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: samsung: h1940_uda1380: Convert to SPDX License Identifier (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: samsung: dmaengine: Convert to SPDX License Indentifier (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: samsung: bells: Convert to SPDX License Identifier (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: samsung: arndale: Convert to SPDX License Identifier (Jaroslav Kysela) [1683051] - [sound] ALSA: ps3: Remove set but not used variables 'start_vaddr' and 'pcm_index' (Jaroslav Kysela) [1683051] - [sound] ALSA: hda/realtek - add two more pin configuration sets to quirk table (Jaroslav Kysela) [1683051] - [sound] ALSA: core: Don't refer to snd_cards array directly (Jaroslav Kysela) [1683051] - [sound] ALSA: emu10k1: Drop superfluous id-uniquification behavior (Jaroslav Kysela) [1683051] - [sound] ALSA: core: Fix card races between register and disconnect (Jaroslav Kysela) [1683051] - [sound] ALSA: info: Fix racy addition/deletion of nodes (Jaroslav Kysela) [1683051] - [sound] ALSA: seq: Correct unlock sequence at snd_seq_client_ioctl_unlock() (Jaroslav Kysela) [1683051] - [sound] ALSA: usb-audio: Add quirk for Focusrite Scarlett Solo (Jaroslav Kysela) [1683051] - [sound] ALSA: hda: Initialize ext-bus-specific fields in snd_hdac_bus_init(), too (Jaroslav Kysela) [1683051] - [sound] ALSA: hda: Initialize power_state field properly (Jaroslav Kysela) [1683051] - [sound] ALSA: seq: Protect racy pool manipulation from OSS sequencer (Jaroslav Kysela) [1683051] - [sound] ALSA: seq: Simplify snd_seq_kernel_client_enqueue() helper (Jaroslav Kysela) [1683051] - [sound] ALSA: seq: Cover unsubscribe_port() in list_mutex (Jaroslav Kysela) [1683051] - [sound] ALSA: Revert "ALSA: seq: Protect in-kernel ioctl calls with mutex" (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: wcd9335: Fix missing regmap requirement (Jaroslav Kysela) [1683051] - [sound] ALSA: hda: Fix racy display power access (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: pcm: fix error handling when try_module_get() fails. (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: stm32: sai: fix master clock management (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: Intel: kbl: fix wrong number of channels (Jaroslav Kysela) [1683051] - [sound] ALSA: timer: Coding style fixes (Jaroslav Kysela) [1683051] - [sound] ALSA: timer: Simplify error path in snd_timer_open() (Jaroslav Kysela) [1683051] - [sound] ALSA: seq: Fix race of get-subscription call vs port-delete ioctls (Jaroslav Kysela) [1683051] - [sound] ALSA: seq: Protect in-kernel ioctl calls with mutex (Jaroslav Kysela) [1683051] - [sound] ALSA: seq: Remove superfluous irqsave flags (Jaroslav Kysela) [1683051] - [sound] ALSA: seq: Align temporary re-locking with irqsave version (Jaroslav Kysela) [1683051] - [sound] ALSA: seq: Use kvmalloc() for cell pools (Jaroslav Kysela) [1683051] - [sound] ALSA: timer: Revert active callback sync check at close (Jaroslav Kysela) [1683051] - [sound] ALSA: hda - Add two more machines to the power_save_blacklist (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: tlv320aic32x4: Fix spacing (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: Intel: kbl_da7219_max98927: remove headset (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: pcm: update module refcount if module_get_upon_open is set (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: core: conditionally increase module refcount on component open (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: Intel: bytcht_es8316: Add quirk for the Teclast X98+ II (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: Intel: bytcht_es8316: Add quirk for inverted jack detect (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: wm1133-ev1: Switch to SPDX identifier (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: phycore-ac97: Switch to SPDX identifier (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: pcm030-audio-fabric: Switch to SPDX identifier (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: p1022_rdk: Switch to SPDX identifier (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: p1022_ds: Switch to SPDX identifier (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: mx27vis-aic32x4: Switch to SPDX identifier (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: mpc8610_hpcd: Switch to SPDX identifier (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: mpc5200_psc_i2s: Switch to SPDX identifier (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: mpc5200_psc_ac97: Switch to SPDX identifier (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: mpc5200_dma: Switch to SPDX identifier (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: imx-ssi: Switch to SPDX identifier (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: imx-spdif: Switch to SPDX identifier (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: imx-pcm-fiq: Switch to SPDX identifier (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: imx-mc13783: Switch to SPDX identifier (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: imx-es8328: Switch to SPDX identifier (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: imx-audmux: Switch to SPDX identifier (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: fsl-dma: Switch to SPDX identifier (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: eukrea-tlv320: Switch to SPDX identifier (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: imx-pcm: Switch to SPDX identifier (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: stm32: fix sai driver name initialisation (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: topology: Use the correct dobj to free enum control values and texts (Jaroslav Kysela) [1683051] - [sound] ALSA: seq: Fix OOB-reads from strlcpy (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: cs42l51: change mic bias DAPM (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: fsl_esai: Support synchronous mode (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: topology: fix big-endian check (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: topology: fix endianness issues (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: meson: axg-tdmout: add g12a support (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: meson: axg-tdm-formatter: rework quirks settings (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: meson: axg-frddr: add g12a support (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: meson: axg-toddr: add g12a support (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: meson: axg-fifo: add g12a support (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: core: remove link components before cleaning up card resources (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: intel: skylake: add remove() callback for component driver (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: cs35l35: Disable regulators on driver removal (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: cs42l51: add adc volume control (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: cs42l51: add power management (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: cs42l51: add support of master mode (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: cs42l51: add reset management (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: cs42l51: add regulator management (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: wm_adsp: Avoid calling snd_compr_stop_error from WDT expiry (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: max98357a: add missing supported rates (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: tlv320aic32x4: Add Playback PowerTune Controls (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: tlv320aic32x4: Add Switch for Setting Common Mode Voltage (Jaroslav Kysela) [1683051] - [sound] ALSA: xen-front: Do not use stream buffer size before it is set (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: rockchip: pdm: Mark RXFIFO_DATA as volatile and precious (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: sprd: Fix spelling mistake "faied" -> "failed" (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: rockchip: pdm: Correct PDM_CTRL0 reg value (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: rockchip: pdm: adjust waterlevel in frame unit (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: rockchip: pdm: add compatible for rk1808 (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: rockchip: pdm: fixup pdm fractional div (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: rockchip: pdm: optimize clear logic (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: rockchip: pdm: add default regs (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: rockchip: pdm: using left justified store mode (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: rockchip: pdm: change dma burst to 8 (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: rockchip: pdm: fix regmap_ops hang issue (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: tlv320aic32x4: Update copyright and use SPDX identifier (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: sprd: Fix the smatch warning (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: Mediatek: MT8183: Fix platform_no_drv_owner.cocci warnings (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: Mediatek: MT8183: Fix platform_no_drv_owner.cocci warnings (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: tlv320aic32x4: Change author's name (Jaroslav Kysela) [1683051] - [sound] ALSA: hda/realtek - Add quirk for Tuxedo XC 1509 (Jaroslav Kysela) [1683051] - [sound] ALSA: hda/realtek - Move to ACT_INIT state (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: sprd: Fix modular build (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: Intel: cht_bsw_max98090_ti: Enable codec clock once and keep it enabled (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: Mediatek: MT8183: Fix build error in mt8183_da7219_max98357_dev_probe (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: Mediatek: MT8183: TS3A227: fix build error (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: wm_adsp: Make use of local variables (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: wm_adsp: Remove redundant NULL check in wm_adsp_buffer_free (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: tlv320aic31xx: aic31xx_set_jack() can be static (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: wm_adsp: Check for buffer in trigger stop (Jaroslav Kysela) [1683051] - [sound] ALSA: hda/realtek: Enable headset MIC of Acer TravelMate B114-21 with ALC233 (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: eukrea-tlv320: fix a leaked reference by adding missing of_node_put (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: fsl_utils: fix a leaked reference by adding missing of_node_put (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: wcd9335: fix a leaked reference by adding missing of_node_put (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: topology: Align tplg pointer increment across all kcontrols (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: core: support driver alias names for FE topology overrides (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: sprd: Add Spreadtrum audio compress offload support (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: fix SND_SOC_LOCHNAGAR_SC kconfig warning (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: dapm: set power_check callback for widgets that shouldnt be always on (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: tlv320aic31xx: Add button press detection (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: tlv320aic31xx: Add headphone/headset detection (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: dpcm: skip missing substream while applying symmetry (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: Intel: cht_bsw_rt5672: Convert to use acpi_dev_get_first_match_dev() (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: Intel: cht_bsw_rt5645: Convert to use acpi_dev_get_first_match_dev() (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: Intel: bytcr_rt5651: Convert to use acpi_dev_get_first_match_dev() (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: Intel: bytcr_rt5640: Convert to use acpi_dev_get_first_match_dev() (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: Intel: bytcht_es8316: Convert to use acpi_dev_get_first_match_dev() (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: Intel: bytcht_da7213: Convert to use acpi_dev_get_first_match_dev() (Jaroslav Kysela) [1683051] - [acpi] ALSA: ACPI / utils: Introduce acpi_dev_get_first_match_dev() helper (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: simple-card-utils: remove set but not used variable 'dai_name' (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: es8316: Add support for inverted jack detect (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: wm_adsp: Fix typo in comment (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: fsl: fix spelling mistake: "missign" -> "missing" (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: Mediatek: MT8183: Add machine driver with DA7219 (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: Mediatek: MT8183: Add machine driver with TS3A227 (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: rt5677-spi: Add ACPI ID (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: cs42l51: add multi endpoint support (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: tlv320aic32x4: Fix Common Pins (Jaroslav Kysela) [1683051] - [sound] ALSA: us122l: Use alloc_pages_exact() (Jaroslav Kysela) [1683051] - [sound] ALSA: Replace snd_malloc_pages() and snd_free_pages() with standard helpers, take#2 (Jaroslav Kysela) [1683051] - [sound] ALSA: timer: Make snd_timer_close() really kill pending actions (Jaroslav Kysela) [1683051] - [sound] ALSA: timer: Check ack_list emptiness instead of bit flag (Jaroslav Kysela) [1683051] - [sound] ALSA: timer: Make sure to clear pending ack list (Jaroslav Kysela) [1683051] - [sound] ALSA: timer: Unify timer callback process code (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: fsl_audmix: Fix kbuild failure (Jaroslav Kysela) [1683051] - [sound] ALSA: emux: Add support of loading GUS-patch (Jaroslav Kysela) [1683051] - [sound] ALSA: hda/realtek - Fix speakers on Acer Predator Helios 500 Ryzen laptops (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: fsl: Add Audio Mixer machine driver (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: fsl: Add Audio Mixer CPU DAI driver (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: Intel: Skylake: enable S24_LE format support (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: tlv320aic32x4: Only enable with common clock (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: tlv320aic32x4: Allow 192000 Sample Rate (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: tlv320aic32x4: Remove mclk references (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: tlv320aic32x4: Restructure set_dai_sysclk (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: tlv320aic32x4: Dynamically Determine Clocking (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: tlv320aic32x4: Move aosr and dosr setting to separate functions (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: tlv320aic32x4: Control clock gating with CCF (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: tlv320aic32x4: Model BDIV divider in CCF (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: tlv320aic32x4: Model DAC/ADC dividers in CCF (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: tlv320aic32x4: Model CODEC_CLKIN in CCF (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: tlv320aic32x4: Model PLL in CCF (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: dapm: Initialize private_value in snd_soc_dapm_new_dai (Jaroslav Kysela) [1683051] - [sound] ALSA: aloop: Support S24 sample formats (Jaroslav Kysela) [1683051] - [sound] ALSA: pcm: Don't suspend stream in unrecoverable PCM state (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: dapm: Fix NULL pointer dereference in snd_soc_dapm_free_kcontrol (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: sirf-audio: Remove redundant of_match_node call (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: stm32: sai: add power management (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: AMD: Fix incorrect extern (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: nau8810: fix the issue of 64 bits division (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: intel: Fix crash at suspend/resume after failed codec registration (Jaroslav Kysela) [1683051] - [sound] ALSA: hda/ca0132 - Simplify alt firmware loading code (Jaroslav Kysela) [1683051] - [sound] ALSA: pcm: Fix possible OOB access in PCM oss plugins (Jaroslav Kysela) [1683051] - [sound] ALSA: hda/realtek: Enable headset MIC of ASUS X430UN and X512DK with ALC256 (Jaroslav Kysela) [1683051] - [sound] ALSA: hda/realtek: Enable headset mic of ASUS P5440FF with ALC256 (Jaroslav Kysela) [1683051] - [sound] ALSA: hda/realtek: Enable ASUS X441MB and X705FD headset MIC with ALC256 (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: simple-card-utils: test memory allocation (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: lochnagar: Add driver to support Lochnagar 2 sound card (Jaroslav Kysela) [1683051] - [mfd] ALSA: mfd: lochnagar: Add support for the Cirrus Logic Lochnagar (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: tlv320aic32x4: Properly Set Processing Blocks (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: mchp-i2s-mcc: add driver for I2SC Multi-Channel Controller (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: simple-card-utils: rename asoc_simple_card_xxx() to asoc_simple_() (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: simple-card-utils: separate asoc_simple_card_parse_dai() (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: simple-card-utils: share asoc_simple_card_init_priv() (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: simple-card-utils: share asoc_simple_be_hw_params_fixup() (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: simple-card-utils: share asoc_simple_dai_init() (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: simple-card-utils: share asoc_simple_hw_param() (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: simple-card-utils: share asoc_simple_shutdown() (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: simple-card-utils: share asoc_simple_startup() (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: simple_card_utils: share common priv for simple-card/audio-graph (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: simple-card-utils: add asoc_simple_debug_info() (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: AMD: Update DA7219 DAI clock name to align with codec updates (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: da7219: Expose BCLK and WCLK control through CCF (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: fsl_esai: fix channel swap issue when stream starts (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: fsl_asrc: add constraint for the asrc of older version (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: cs4270: Set auto-increment bit for register writes (Jaroslav Kysela) [1683051] - [sound] ALSA: hda/realtek - Add support for Acer Aspire E5-523G/ES1-432 headset mic (Jaroslav Kysela) [1683051] - [sound] ALSA: hda/realtek: Enable headset MIC of Acer Aspire Z24-890 with ALC286 (Jaroslav Kysela) [1683051] - [sound] ALSA: seq: oss: Fix Spectre v1 vulnerability (Jaroslav Kysela) [1683051] - [sound] ALSA: rawmidi: Fix potential Spectre v1 vulnerability (Jaroslav Kysela) [1683051] - [sound] ALSA: hda/realtek: Enable headset MIC of Acer AIO with ALC286 (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: stm32: dfsdm: add mmap support (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: stm32: dfsdm: fix debugfs warnings on entry creation (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: stm32: dfsdm: manage multiple prepare (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: wm_adsp: Correct some minor issues (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: samsung: i2s: Don't use register read to determine slave/master mode (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: tlv320aic32x4: Break out clock setting into separate function (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: jz4740: Depend on MIPS instead of MACH_JZ4740 (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: wm_adsp: Add WDT expiry IRQ handling support for Halo core (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: wm_adsp: Add HALO MPU fault logging (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: wm_adsp: Add support for new Halo core DSPs (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: mediatek: Reduce repititive code on mtk_regmap_update_bits. (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: mediatek: Fix UBSAN warning. (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: wm_adsp: Factor out DSP specific operations (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: wm_adsp: Factor out parsing of firmware ID header (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: wm_adsp: Refactor firmware status reading (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: wm_adsp: Move wm_adsp2_set_dspclk to CODEC drivers (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: wm_adsp: Don't export wm_adsp2_lock (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: wm_adsp: Shutdown any compressed streams on DSP watchdog timeout (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: wm_adsp: Add locking to wm_adsp2_bus_error (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: wm_adsp: Correct handling of compressed streams that restart (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: topology: free link string in error (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: topology: free stream_name of dai_drv (Jaroslav Kysela) [1683051] - [sound] ALSA: hda - Enforces runtime_resume after S3 and S4 for each codec (Jaroslav Kysela) [1683051] - [sound] ALSA: hda - Don't trigger jackpoll_work in azx_resume (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: audio-graph: add graph_parse_mclk_fs() (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: audio-graph: rename graph_get_conversion() to graph_parse_convert() (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: simple-card: add simple_parse_mclk_fs() (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: simple-card: rename simple_get_conversion() to simple_parse_convert() (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: rt5682: recording has no sound after booting (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: rt5682: fix jack type detection issue (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: rt5682: Check JD status when system resume (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: mediatek: mt8183: skip for i2s5 in mck_disable (Jaroslav Kysela) [1683051] - [sound] ALSA: firewire-lib: use 8 byte header for IR context to get isochronous cycle (Jaroslav Kysela) [1683051] - [sound] ALSA: firewire-motu: add support MOTU 8pre FireWire (Jaroslav Kysela) [1683051] - [sound] ALSA: opl3: fix mismatch between snd_opl3_drum_switch definition and declaration (Jaroslav Kysela) [1683051] - [sound] ALSA: hda - add Lenovo IdeaCentre B550 to the power_save_blacklist (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: Intel: bytcr_rt5651: Add BYT_RT5651_JD_NOT_INV quirk (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: rt5651: Add support for active-high jack detect (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: stm32: spdifrx: add power management (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: simple-amplifier: Make gpio property optional (Jaroslav Kysela) [1683051] - [documentation] ALSA: ASoC: dt-bindings: add regulator property to simple amplifier (Jaroslav Kysela) [1683051] - [documentation] ALSA: ASoC: simple-amplifier: remame dio2125 documentation (Jaroslav Kysela) [1683051] - [sound] ALSA: firewire-motu: use 'version' field of unit directory to identify model (Jaroslav Kysela) [1683051] - [sound] ALSA: sb8: add a check for request_region (Jaroslav Kysela) [1683051] - [sound] ALSA: echoaudio: add a check for ioremap_nocache (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: topology: create tlv before soc_tplg_init_kcontrol (Jaroslav Kysela) [1683051] - [sound] ALSA: hda/realtek - Add support headset mode for New DELL WYSE NB (Jaroslav Kysela) [1683051] - [sound] ALSA: hda/realtek - Add support headset mode for DELL WYSE AIO (Jaroslav Kysela) [1683051] - [sound] ALSA: hda/realtek: merge alc_fixup_headset_jack to alc295_fixup_chromebook (Jaroslav Kysela) [1683051] - [sound] ALSA: hda: hdmi - add Icelake support (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: nau8810: automatic selecting BCLK in I2S master mode (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: nau8810: fix the typo of function name (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: nau8810: use 64-bit arithmetic instead of 32-bit (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: samsung: odroid: Fix clock configuration for 44100 sample rate (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: nau8810: fix the issue of widget with prefixed name (Jaroslav Kysela) [1683051] - [sound] ALSA: hda - add more quirks for HP Z2 G4 and HP Z240 (Jaroslav Kysela) [1683051] - [sound] ALSA: hda/realtek - Fixed Headset Mic JD not stable (Jaroslav Kysela) [1683051] - [sound] ALSA: hda/realtek: Enable headset MIC of Acer TravelMate X514-51T with ALC255 (Jaroslav Kysela) [1683051] - [sound] ALSA: hda/tegra: avoid build error without CONFIG_PM (Jaroslav Kysela) [1683051] - [sound] ALSA: usx2y: Fix potential NULL pointer dereference (Jaroslav Kysela) [1683051] - [sound] ALSA: hda: Avoid NULL pointer dereference at snd_hdac_stream_start() (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: axi-i2s: let both capture and playback be optional (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: rsnd: src: Avoid a potential deadlock (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: stm32: i2s: fix registers declaration in regmap (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: nau8824: fix the issue of the widget with prefix name (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: dpcm: prevent snd_soc_dpcm use after free (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC:intel:skl:fix a simultaneous playback & capture issue on hda platform (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC:hdac_hda:use correct format to setup hda codec (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC:soc-pcm:fix a codec fixup issue in TDM case (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: ti: fix davinci_mcasp_probe dependencies (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: ams-delta: remove duplicate 'const' (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: ti: remove compat dma probing (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: stm32: i2s: use default dai name (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: stm32: i2s: improve channel capabilities handling (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: stm32: i2s: change trigger traces (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: qcom: add i2c dependency for SND_SOC_SDM845 (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: davinci-mcasp: Fix clang warning without CONFIG_PM (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: rsnd: src: fix compiler warnings (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: samsung: i2s: Fix DAPM routes for capture stream (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: soc-core: Fix probe deferral following prelink failure (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: hdmi-codec: avoid limiting params->msbits in hw_params() (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: stm32: sai: fix set_sync service (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: stm32: sai: fix oversampling mode (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: stm32: sai: fix race condition in irq handler (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: stm32: sai: fix exposed capabilities in spdif mode (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: stm32: sai: fix iec958 controls indexation (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: ab8500: Mark expected switch fall-through (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: hdmi-codec: fix S/PDIF DAI (Jaroslav Kysela) [1683051] - [sound] ALSA: usb-audio: Add quirk for MOTU MicroBook II (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: mediatek: btcvsd add loopback (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: tlv320aic3x: fix reset gpio reference counting (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: stm32: i2s: skip useless write in slave mode (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: stm32: i2s: fix race condition in irq handler (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: stm32: i2s: remove useless callback (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: stm32: i2s: fix dma configuration (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: stm32: i2s: fix stream count management (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: stm32: i2s: fix 16 bit format support (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: stm32: i2s: fix IRQ clearing (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: qcom: Kconfig: fix dependency for sdm845 (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: Intel: Boards: Add Maxim98373 support (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: rsnd: gen: fix SSI9 4/5/6/7 busif related register address (Jaroslav Kysela) [1683051] - [sound] ALSA: firewire-motu: fix construction of PCM frame for capture direction (Jaroslav Kysela) [1683051] - [sound] ALSA: bebob: use more identical mod_alias for Saffire Pro 10 I/O against Liquid Saffire 56 (Jaroslav Kysela) [1683051] - [sound] ALSA: hda: Extend i915 component bind timeout (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: wm_adsp: Improve logging messages (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: wm_adsp: Add support for multiple compressed buffers (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: wm_adsp: Refactor compress stream initialisation (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: wm_adsp: Reorder some functions for improved clarity (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: wm_adsp: Factor out stripping padding from ADSP data (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: cs35l36: Fix an IS_ERR() vs NULL checking bug (Jaroslav Kysela) [1683051] - [sound] ALSA: hda/tegra: sound card name from device tree (Jaroslav Kysela) [1683051] - [sound] ALSA: hda/realtek: Enable audio jacks of ASUS UX362FA with ALC294 (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: samsung: odroid: Prevent uninitialized variable use (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: qcom: Fix of-node refcount unbalance in qcom_snd_parse_of() (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: qcom: Fix of-node refcount unbalance in apq8016_sbc_parse_of() (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: samsung: odroid: Fix of_node refcount unbalance (Jaroslav Kysela) [1683051] - [sound] ALSA: hda/realtek - Reduce click noise on Dell Precision 5820 headphone (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: simple-card: Fix of-node refcount unbalance in DAI-link parser (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: fsl: Fix of-node refcount unbalance in fsl_ssi_probe_from_dt() (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: wm_adsp: Allow compressed buffers in any memory region (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: wm_adsp: Update cached error state on trigger (Jaroslav Kysela) [1683051] - [sound] ALSA: ppc: Fix of-node refcount unbalance (Jaroslav Kysela) [1683051] - [sound] ALSA: aoa: Fix of-node refcount unbalance (Jaroslav Kysela) [1683051] - [sound] ALSA: ac97: Fix of-node refcount unbalance (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: codecs: pcm186x: Fix energysense SLEEP bit (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: codecs: pcm186x: fix wrong usage of DECLARE_TLV_DB_SCALE() (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: samsung: i2s: Fix multiple "IIS multi" devices initialization (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: samsung: i2s: Fix secondary platform device unregistration (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: Intel: glk: Add DAI links for Multi-Playback (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: Intel: Add Geminilake Dialog Maxim machine driver (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: Intel: Headset button support in broxton machine driver (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: sunxi: sun50i-codec-analog: Rename hpvcc regulator supply to cpvdd (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: adau1977: Add support for setting MICBIAS via DT (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: dapm: Potential small memory leak in dapm_cnew_widget() (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: samsung: odroid: Add missing DAPM routes (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: wm8741: Make function 'wm8741_mute' static (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: fsl_esai: fix register setting issue in RIGHT_J mode (Jaroslav Kysela) [1683051] - [sound] ALSA: SoC: imx-sgtl5000: add missing put_device() (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: simple-card: Fix missing of_node_put() at simple_dai_link_of() (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: simple-card: Fix refcount underflow (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: samsung: odroid: Ensure proper sample rate on pri/sec PCM (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: stm32: sai: remove set but not used variables 'mask, cr1' (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: topology: free created components in tplg load error (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: cs35l36: Make some symbols static (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: qcom: Kconfig: select dmic for sdm845 (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: fsl_spdif: fix sysclk_df type (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: fsl_spdif: fix TXCLK_DF mask (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: codecs: ad193x: Add support to disable on-chip PLL (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: codecs: ad193x: Add runtime support for DSP_A and I2S modes (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: codecs: ad193x: Fix frame polarity for DSP_A format (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: codecs: ad193x: Set constraint to always have 32 sample bits (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: codecs: ad193x: Remove capture support for codecs without ADC (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: fsi: fix spelling mistake "doens't" -> "doesn't" (Jaroslav Kysela) [1683051] - [sound] ALSA: usb-audio: Expose sample resolution through proc interface (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: samsung: i2s: Prevent potential NULL platform data dereference (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: dmaengine: Remove unused SND_DMAENGINE_PCM_FLAG_CUSTOM_CHANNEL_NAME flag (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: da7219: Update TDM usage to be more flexible (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: da7219: Add support for master mode BCLK rate adjustment (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: samsung: i2s: Convert to SPDX License Indentifier (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: samsung: i2s: Comments clean up (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: samsung: i2s: Change indentation in SAMSUNG_I2S_FMTS definition (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: samsung: i2s: Simplify pri_dai, sec_dai pointers usage (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: stm32: sai: add missing put_device() (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: samsung: Specify DMA channel names through custom DMA config (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: samsung: odroid: Add support for secondary CPU DAI (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: samsung: i2s: Get rid of a static spinlock (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: samsung: i2s: Move quirks data to common driver data structure (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: samsung: i2s: Move IP variant data to common driver data structure (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: samsung: i2s: Drop spinlock pointer from i2s_dai data structure (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: samsung: i2s: Move SFR pointer to common driver data structure (Jaroslav Kysela) [1683051] - [sound] ALSA: es1688: Remove set but not used variable 'hw' (Jaroslav Kysela) [1683051] - [sound] ALSA: hda/realtek: Disable PC beep in passthrough on alc285 (Jaroslav Kysela) [1683051] - [sound] ALSA: hda/realtek - Headset microphone and internal speaker support for System76 oryp5 (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: cros_ec_codec: Make symbol 'cros_ec_dai' static (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: mediatek: mt8183: make some functions static (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: cs35l36: Remove unused including (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: samsung: i2s: Move registers cache to common driver data structure (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: samsung: i2s: Move opclk data to common driver data structure (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: samsung: i2s: Move core clk to the driver common data structure (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: samsung: i2s: Add widgets and routes for DPCM support (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: samsung: i2s: Move clk supplier data to common driver data structure (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: samsung: i2s: Restore support for the secondary PCM (Jaroslav Kysela) [1683051] - [sound] ALSA: pcm: Comment why read blocks when PCM is not running (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: soc-acpi: remove new_mach_data field (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: soc-acpi: remove asoc_plat_name field (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: Intel: soc-acpi: cnl-match.c: remove asoc_plat_name field (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: Intel: soc-acpi: icl-match: remove asoc_plat_name field (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: Intel: soc-acpi: hsw-bdw-match: remove asoc_plat_name field (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: Intel: soc-acpi: glk-match: remove asoc_plat_name field (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: Intel: soc-acpi: cht-match: remove asoc_plat_name field (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: Intel: soc-acpi: byt-match: remove asoc_plat_name field (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: Intel: soc-acpi: bxt-match: remove asoc_plat_name field (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: Intel: icl-match: remove prefix for SOF files (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: Intel: hsw-bdw-match: remove prefix for SOF files (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: Intel: hda-match: remove prefix for SOF files (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: Intel: glk-match: remove prefix for SOF files (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: Intel: cnl-match: remove prefix for SOF files (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: Intel: cht-match: remove prefix for SOF files (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: Intel: byt-match.c: remove prefix for SOF files (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: Intel: bxt-match: remove prefix for SOF files (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: samsung: i2s: Convert to single component with multiple DAIs (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: samsung: dmaengine: Allow to specify custom DMA device (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: dmaengine: Extend use of chan_names provided in custom DMA config (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: dmaengine: Improve of_node test in dmaengine_pcm_request_chan_of() (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: samsung: i2s: Fix prescaler setting for the secondary DAI (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: Use __printf markup to silence compiler (Jaroslav Kysela) [1683051] - [sound] ALSA: tlv320aic32x4: delay i2c access by 1 ms after hardware reset (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: mediatek: btcvsd fix rx stream assign (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: wm8741: Set OSR mode in hw_params() (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: wm8741: Add digital mute callback (Jaroslav Kysela) [1683051] - [sound] ALSA: PCM: check if ops are defined before suspending PCM (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: hdac_hdmi: use devm_kzalloc for all structures (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: mediatek: use pOFn instead of device_node.name (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: pcm3060: Add clock select (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: pcm3060: Add soft reset on probe (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: Intel: Skylake: set .ignore_module_refcount field in component (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: core: don't increase component module refcount unconditionally (Jaroslav Kysela) [1683051] - [sound] ALSA: gpiolib: acpi: Introduce ACPI_GPIO_QUIRK_ONLY_GPIOIO (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: msm8916-wcd-digital: convert license header to SPDX (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: msm8916-wcd-analog: add missing license information (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: regulator notifier registration should be managed (Jaroslav Kysela) [1683051] - [sound] ALSA: i915/snd_hdac: I915 subcomponent for the snd_hdac (Jaroslav Kysela) [1683051] - [base] ALSA: components: multiple components for a device (Jaroslav Kysela) [1683051] - [documentation] ALSA: component: Add documentation (Jaroslav Kysela) [1683051] - [sound] ALSA: pcm: Revert capture stream behavior change in blocking mode (Jaroslav Kysela) [1683051] - [sound] ALSA: pcm: Fix function name in kernel-doc comment (Jaroslav Kysela) [1683051] - [sound] ALSA: pcm: Define snd_pcm_lib_preallocate_*() as returning void (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: xlnx: fix up for snd_pcm_lib_preallocate_pages_for_all() API change (Jaroslav Kysela) [1683051] - [sound] ALSA: SoC: stm32: i2s: manage clock power (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: stm32: i2s: add power management (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: codecs: jz4725b: Remove unnecessary const qualifier (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: cs35l36: Add support for Cirrus CS35L36 Amplifier (Jaroslav Kysela) [1683051] - [sound] ALSA: usb-audio: Fix implicit fb endpoint setup by quirk (Jaroslav Kysela) [1683051] - [sound] ALSA: hda - Add quirk for HP EliteBook 840 G5 (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: codecs: jz4725b: Use C++ style comments in header (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: codecs: Kconfig: Show knob, and depend on MIPS || COMPILE_TEST (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: codecs: jz4740: Add support for devicetree (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: codecs: jz4740: Use SPDX license notifier (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: samsung: Prevent clk_get_rate() calls in atomic context (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: sun4i-codec: Add Line Playback Volume, Line Boost Volume, Line Right, Line Left, Line Playback Switch (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: sun4i-codec: Add FM Playback Volume, FM Left, FM Right, FM Playback Switch (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: sun4i-codec: Add Mic1 Playback Switch, Mic2 Playback Switch (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: sun4i-codec: Merge sun4i_codec_left_mixer_controls and sun4i_codec_right_mixer_controls into sun4i_codec_mixer_controls (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: sun4i-codec: Add Mic1 Boost Volume, Mic2 Boost Volume (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: sun4i-codec: Add sun7i_codec_controls, sun7i_codec_codec (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: sun4i-codec: Add Mic Playback Volume (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: sun4i-codec: Add MIC2 Pre-Amplifier, Mic2 input (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: codecs: jz4725b: fix spelling mistake "Deemphatize" -> "Deemphasize" (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: wcd9335: fix semicolon.cocci warnings (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: rsnd: ssiu: correct shift bit for ssiu9 (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: codecs: Add jz4725b-codec driver (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: rsnd: fixup rsnd_ssi_master_clk_start() user count check (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: dapm: harden use of lookup tables (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: dmaengine: Drop superfluous PCM preallocation error checks (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: xtensa: Drop superfluous PCM preallocation error checks (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: uniphier: Drop superfluous PCM preallocation error checks (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: txx9: Drop superfluous PCM preallocation error checks (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: stm: Drop superfluous PCM preallocation error checks (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: sh: Drop superfluous PCM preallocation error checks (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: meson: Drop superfluous PCM preallocation error checks (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: mediatek: Drop superfluous PCM preallocation error checks (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: intel: Drop superfluous PCM preallocation error checks (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: dwc: Drop superfluous PCM preallocation error checks (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: amd: Drop superfluous PCM preallocation error checks (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: dapm: fix out-of-bounds accesses to DAPM lookup tables (Jaroslav Kysela) [1683051] - [sound] ALSA: cs46xx: Clean up proc file creations (Jaroslav Kysela) [1683051] - [sound] ALSA: info: Move card id proc creation into info.c (Jaroslav Kysela) [1683051] - [sound] ALSA: info: Minor optimization (Jaroslav Kysela) [1683051] - [sound] ALSA: info: Drop unused snd_info_entry.card field (Jaroslav Kysela) [1683051] - [sound] ALSA: usb: Clean up with new procfs helpers (Jaroslav Kysela) [1683051] - [sound] ALSA: sparc: Clean up with new procfs helpers (Jaroslav Kysela) [1683051] - [sound] ALSA: pcmcia: Clean up with new procfs helpers (Jaroslav Kysela) [1683051] - [sound] ALSA: pci: Clean up with new procfs helpers (Jaroslav Kysela) [1683051] - [sound] ALSA: i2c: Clean up with new procfs helpers (Jaroslav Kysela) [1683051] - [sound] ALSA: isa: Clean up with new procfs helpers (Jaroslav Kysela) [1683051] - [sound] ALSA: drivers: Clean up with new procfs helpers (Jaroslav Kysela) [1683051] - [sound] ALSA: info: Add standard helpers for card proc file entries (Jaroslav Kysela) [1683051] - [sound] ALSA: pci: Remove superfluous snd_info_register() calls (Jaroslav Kysela) [1683051] - [sound] ALSA: compress: Remove superfluous snd_info_register() calls (Jaroslav Kysela) [1683051] - [sound] ALSA: pcm: Remove superfluous snd_info_register() calls (Jaroslav Kysela) [1683051] - [sound] ALSA: emux: Remove superfluous snd_info_register() calls (Jaroslav Kysela) [1683051] - [sound] ALSA: opl4: Remove superfluous snd_info_register() calls (Jaroslav Kysela) [1683051] - [sound] ALSA: firewire: Remove superfluous snd_info_register() calls (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: ssm2602: switch to SPDX identifier (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: compress: Add helper functions for component trigger/set_params (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: compress: Clarify the intent of current compressed ops handling (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: wcd9335: remove some unnecessary NULL checks (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: ssm2602: Fix ADC powerup sequencing (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: dapm: Check for NULL widget in dapm_update_dai_unlocked (Jaroslav Kysela) [1683051] - [sound] ALSA: usb: Drop superfluous PCM preallocation error checks (Jaroslav Kysela) [1683051] - [sound] ALSA: spi: Drop superfluous PCM preallocation error checks (Jaroslav Kysela) [1683051] - [sound] ALSA: sparc: Drop superfluous PCM preallocation error checks (Jaroslav Kysela) [1683051] - [sound] ALSA: sh: Drop superfluous PCM preallocation error checks (Jaroslav Kysela) [1683051] - [sound] ALSA: ppc: Drop superfluous PCM preallocation error checks (Jaroslav Kysela) [1683051] - [sound] ALSA: pci: Drop superfluous PCM preallocation error checks (Jaroslav Kysela) [1683051] - [sound] ALSA: parisc: Drop superfluous PCM preallocation error checks (Jaroslav Kysela) [1683051] - [sound] ALSA: atmel: Drop superfluous PCM preallocation error checks (Jaroslav Kysela) [1683051] - [sound] ALSA: hda/ca0132 - Fix build error without CONFIG_PCI (Jaroslav Kysela) [1683051] - [sound] ALSA: compress: Fix stop handling on compressed capture streams (Jaroslav Kysela) [1683051] - [sound] ALSA: usb-audio: Add support for new T+A USB DAC (Jaroslav Kysela) [1683051] - [sound] ALSA: info: Always register entries recursively (Jaroslav Kysela) [1683051] - [sound] ALSA: core: Don't allow NULL device for memory allocation (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: sh: Avoid passing NULL to memory allocators (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: amd: Avoid passing NULL to memory allocators (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: ak4118: fix missing header (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: mediatek: btcvsd: fix spelling mistake "offest" -> "offset" (Jaroslav Kysela) [1683051] - [sound] ALSA: arm: Avoid passing NULL to memory allocators (Jaroslav Kysela) [1683051] - [sound] ALSA: x86: Avoid passing NULL to memory allocators (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: topology: unload physical dai link in remove (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: topology: add SND_SOC_DOBJ_GRAPH type for dapm routes (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: soc-core: clear platform pointers on error (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: fsl-asoc-card: fix object reference leaks in fsl_asoc_card_probe (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: dapm: Add warnings for widget overwrite when adding route (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: dapm: Only power up active channels from a DAI (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: topology: fix oops/use-after-free case with dai driver (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: dapm: fix use-after-free issue with dailink sname (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: mediatek: add btcvsd driver (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: arizona: Add channel numbers to AIFs (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: rsnd: fixup TDM Split mode check for CTU (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: rsnd: synchronize connection check for simple-card/audio-graph (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: rsnd: fixup MIX kctrl registration (Jaroslav Kysela) [1683051] - [sound] ALSA: isa: Avoid passing NULL to memory allocators (Jaroslav Kysela) [1683051] - [sound] ALSA: mips: pass struct device to DMA API functions (Jaroslav Kysela) [1683051] - [sound] ALSA: hal2: pass struct device to DMA API functions (Jaroslav Kysela) [1683051] - [sound] ALSA: hda - Serialize codec registrations (Jaroslav Kysela) [1683051] - [sound] ALSA: hda/realtek - Use a common helper for hp pin reference (Jaroslav Kysela) [1683051] - [sound] ALSA: hda/realtek - Fix lose hp_pins for disable auto mute (Jaroslav Kysela) [1683051] - [sound] ALSA: hda/realtek - Headset microphone support for System76 darp5 (Jaroslav Kysela) [1683051] - [sound] ALSA: pcm: remove a superfluous function declaration (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: sprd: Add Spreadtrum audio DMA platfrom driver (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: topology: modify dapm route loading routine and add dapm route unloading (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: topology: fix memory leak in soc_tplg_dapm_widget_create (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: topology: Fix memory leak from soc_tplg_denum_create_texts (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: topology: Remove widgets from dobj list (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: topology: Reduce number of dereferences when accessing dobj (Jaroslav Kysela) [1683051] - [sound] ALSA: hda - Use standard device registration for beep (Jaroslav Kysela) [1683051] - [sound] ALSA: hda/realtek - Apply ALC294 hp init also for S4 resume (Jaroslav Kysela) [1683051] - [sound] ALSA: hda - Record the current power state before suspend/resume calls (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: Intel: cht_bsw_rt5672: remove useless test (Jaroslav Kysela) [1683051] - [sound] ALSA: hda/realtek - Fixed hp_pin no value (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: cros_ec_codec: Add codec driver for Cros EC (Jaroslav Kysela) [1683051] - [documentation] ALSA: ASoC: Documentation: Add google, cros-ec-codec (Jaroslav Kysela) [1683051] - [maintainers] ALSA: MAINTAINERS: add maintainers for ChromeOS EC sub-drivers (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: wcd9335: Fix missing slimbus dependency (Jaroslav Kysela) [1683051] - [sound] ALSA: usb-audio: Cleanup DSD whitelist (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: apq8096: add slim support (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: wcd9335: add audio routings (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: wcd9335: add capture dapm widgets (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: wcd9335: add playback dapm widgets (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: wcd9335: add basic controls (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: wcd9335: add CLASS-H Controller support (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: wcd9335: add support to wcd9335 codec (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: Intel: glk_rt5682_max98357a: platform name fixup support (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: Intel: bxt_rt298: platform name fixup support (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: Intel: bxt_da7219_max98357a: platform name fixup support (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: Intel: cht_bsw_rt5672: platform name fixup support (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: Intel: cht_bsw_rt5645: platform name fixup support (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: Intel: cht_bsw_nau8824: platform name fixup support (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: Intel: cht_bsw_max98090_ti: platform name fixup support (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: Intel: bytcht_es8316: platform name fixup support (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: Intel: bytcht_da7213: platform name fixup support (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: Intel: bytcr_rt5651: platform name fixup support (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: Intel: bytcr_rt5640: platform name fixup support (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: Intel: bdw-rt5677: platform name fixup support (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: Intel: broadwell: platform name fixup support (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: Intel: haswell: platform name fixup support (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: add helper to change platform name for all dailinks (Jaroslav Kysela) [1683051] - [sound] ALSA: dice: add support for Solid State Logic Duende Classic/Mini (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: rt5651: Variable "ret" in function rt5651_i2c_probe() could be uninitialized (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: soc-acpi: add static inline fallbacks when CONFIG_ACPI=n (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: pcm512x: Fix clocking calculations when not using the PLL (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: pcm512x: Implement the set_bclk_ratio interface (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: soc-core: use for_each_link_codecs() for dai_link codecs V2 (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: Fixup build error for mt6358 (Jaroslav Kysela) [1683051] - [sound] ALSA: pcm: Fix tight loop of OSS capture stream (Jaroslav Kysela) [1683051] - [sound] ALSA: usb-audio: Add Opus #3 to quirks for native DSD support (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: mediatek: mt6358: add codec driver (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: mediatek: mt8183: add platform driver (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: core: Allow soc_find_component lookups to match parent of_node (Jaroslav Kysela) [1683051] - [sound] ALSA: pcm: Use the common error path in __snd_pcm_lib_xfer() (Jaroslav Kysela) [1683051] - [sound] ALSA: fireface: Off by one in latter_handle_midi_msg() (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: Intel: make const arrays static, reduces object code size (Jaroslav Kysela) [1683051] - [sound] ALSA: proc: Avoid possible leaks of snd_info_entry objects (Jaroslav Kysela) [1683051] - [sound] ALSA: pcm: Simplify proc file destruction (Jaroslav Kysela) [1683051] - [sound] ALSA: pcm: Drop unused snd_pcm_substream.file field (Jaroslav Kysela) [1683051] - [sound] ALSA: fireface: comment cleanup about destination address of async transactions for MIDI messages (Jaroslav Kysela) [1683051] - [sound] ALSA: pcm: Cleanup snd_pcm_stream_lock() & co (Jaroslav Kysela) [1683051] - [sound] ALSA: pcm: Remove down_write() hack for snd_pcm_link_rwsem (Jaroslav Kysela) [1683051] - [sound] ALSA: pcm: More fine-grained PCM link locking (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: core: Fix multi-CODEC setups (Jaroslav Kysela) [1683051] - [sound] ALSA: fireface: support rx MIDI functionality for Fireface UCX (Jaroslav Kysela) [1683051] - [sound] ALSA: fireface: add protocol-specific operation to fill transaction buffer with MIDI messages (Jaroslav Kysela) [1683051] - [sound] ALSA: fireface: add model-dependent parameter for address to receive async transaction for MIDI messages (Jaroslav Kysela) [1683051] - [sound] ALSA: fireface: support tx MIDI functionality of Fireface UCX (Jaroslav Kysela) [1683051] - [sound] ALSA: fireface: add model-dependent parameter for address range to receive async transaction (Jaroslav Kysela) [1683051] - [sound] ALSA: fireface: change prototype of handler for async transaction with MIDI messages (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: rt5682: Correct the setting while select ASRC clk for AD/DA filter (Jaroslav Kysela) [1683051] - [sound] ALSA: hda/tegra: add driver flag for runtime PM (Jaroslav Kysela) [1683051] - [sound] ALSA: hda/tegra: implement runtime suspend/resume (Jaroslav Kysela) [1683051] - [sound] ALSA: hda/tegra: remove redundant clock enable API (Jaroslav Kysela) [1683051] - [sound] ALSA: hda/tegra: add runtime PM callbacks (Jaroslav Kysela) [1683051] - [sound] ALSA: hda/tegra: get clock handles early in probe (Jaroslav Kysela) [1683051] - [sound] ALSA: hda/tegra: runtime power management support (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: simple-card: rename to asoc_simple_card_canonicalize_platform() (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: soc-core: use for_each_link_codecs() for dai_link codecs (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: soc-core: add soc_cleanup_component() (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: soc-core: reduce if/else nest on soc_probe_link_dais (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: soc-core: merge card resources cleanup method (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: soc-core: add new snd_soc_flush_all_delayed_work() (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: soc-core: add .num_platform for dai_link (Jaroslav Kysela) [1683051] - [sound] ALSA: pcm: Avoid confusing loop in snd_pcm_unlink() (Jaroslav Kysela) [1683051] - [sound] ALSA: pcm: Make PCM linked list consistent while re-grouping (Jaroslav Kysela) [1683051] - [sound] ALSA: pcm: Unify snd_pcm_group initialization (Jaroslav Kysela) [1683051] - [sound] ALSA: pcm: Call snd_card_unref() inside in_pcm_file() (Jaroslav Kysela) [1683051] - [sound] ALSA: hda - Add mute LED support for HP ProBook 470 G5 (Jaroslav Kysela) [1683051] - [sound] ALSA: fireface: add support for Fireface UCX (Jaroslav Kysela) [1683051] - [sound] ALSA: fireface: code refactoring to parse of clock configuration (Jaroslav Kysela) [1683051] - [sound] ALSA: fireface: code refactoring for dump of sync status (Jaroslav Kysela) [1683051] - [sound] ALSA: fireface: add protocol-dependent operation to get clock status (Jaroslav Kysela) [1683051] - [sound] ALSA: fireface: add protocol-dependent operation to switch mode to fetch PCM frame (Jaroslav Kysela) [1683051] - [sound] ALSA: fireface: add protocol-dependent operation to dump status (Jaroslav Kysela) [1683051] - [sound] ALSA: fireface: obsolete proc node to leave one node (Jaroslav Kysela) [1683051] - [sound] ALSA: fireface: unify protocol layer for FF400/FF800 (Jaroslav Kysela) [1683051] - [sound] ALSA: fireface: rename protocol layer for former models (Jaroslav Kysela) [1683051] - [sound] ALSA: hda - Fix unused variable warning (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: soc.h: add explanation of legacy/modern style of dai_link (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: fsl_sai: Remove expensive print in irq handler (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: soc-core: remove error due to probe deferral (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: imx-spdif: don't print EPROBE_DEFER as error (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: fsl_spdif: don't print EPROBE_DEFER as error (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: imx-sgtl5000: don't print EPROBE_DEFER as error (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: imx-sgtl5000: lower log level for potential probe deferral cases (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: imx-sgtl5000: put of nodes if finding codec fails (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: hdmi-codec: fix oops on re-probe (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: rt5682: add default pdata for i2s mode (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: sdm845: Set DAI format for dmic codec (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: qcom: Kconfig: select max98927 for sdm845 (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: amd: Fix potential NULL pointer dereference (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: imx-audmux: change snprintf to scnprintf for possible overflow (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: rt5514-spi: Fix potential NULL pointer dereference (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: dapm: change snprintf to scnprintf for possible overflow (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: rt5682: Fix PLL source register definitions (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: core: Don't defer probe on optional, NULL components (Jaroslav Kysela) [1683051] - [sound] ALSA: pcm: Make snd_pcm_suspend() local static (Jaroslav Kysela) [1683051] - [sound] ALSA: pcmcia: Remove superfluous snd_pcm_suspend*() calls (Jaroslav Kysela) [1683051] - [sound] ALSA: arm: Remove superfluous snd_pcm_suspend*() calls (Jaroslav Kysela) [1683051] - [sound] ALSA: aoa: Remove superfluous snd_pcm_suspend*() calls (Jaroslav Kysela) [1683051] - [sound] ALSA: ppc: Remove superfluous snd_pcm_suspend*() calls (Jaroslav Kysela) [1683051] - [sound] ALSA: x86: Remove superfluous snd_pcm_suspend*() calls (Jaroslav Kysela) [1683051] - [sound] ALSA: usb: Remove superfluous snd_pcm_suspend*() calls (Jaroslav Kysela) [1683051] - [sound] ALSA: pci: Remove superfluous snd_pcm_suspend*() calls (Jaroslav Kysela) [1683051] - [sound] ALSA: drivers: Remove superfluous snd_pcm_suspend*() calls (Jaroslav Kysela) [1683051] - [sound] ALSA: isa: Remove superfluous snd_pcm_suspend*() calls (Jaroslav Kysela) [1683051] - [sound] ALSA: atiixp: Move PCM suspend/resume code into trigger callback (Jaroslav Kysela) [1683051] - [sound] ALSA: pcm: Suspend streams globally via device type PM ops (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: core: Make snd_soc_find_component() more robust (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: soc-core: fix init platform memory handling (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: xlnx: parse AES audio parameters (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: msm8916-wcd-digital: Select REGMAP_MMIO to fix build error (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: msm8916-wcd-digital: remove few unused variables (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: cs4341: fix waring unused-function (Jaroslav Kysela) [1683051] - [sound] ALSA: hda: program stripe control for codec (Jaroslav Kysela) [1683051] - [sound] ALSA: hda: program stripe bits for controller (Jaroslav Kysela) [1683051] - [sound] ALSA: hda: add verbs for stripe control (Jaroslav Kysela) [1683051] - [sound] ALSA: hda: add register offset for stripe control (Jaroslav Kysela) [1683051] - [sound] ALSA: hda: Add api to program stripe control bits (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: intel: skl: Fix display power regression (Jaroslav Kysela) [1683051] - [sound] ALSA: hda/realtek - Fix typo for ALC225 model (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: soc-core: Hold client_mutex around soc_init_dai_link() (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: Intel: bytcht_es8316: use correct drvdata in snd_byt_cht_es8316_mc_remove() (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: Intel: Boards: move the codec PLL configuration to _init (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: tlv320aic32x4: SND_SOC_DAPM_MICBIAS is deprecated (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: da7219: Add recalc_rate function to return DAI clock rate (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: da7219: MCLK should be enabled before DAI clocks (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: soc-core: defer card probe until all component is added to list (Jaroslav Kysela) [1683051] - [sound] ALSA: usb-audio: Remove set but not used variable 'first_ch_bits' (Jaroslav Kysela) [1683051] - [sound] ALSA: hda: Fix a mask wrong issue in snd_hdac_stream_start() (Jaroslav Kysela) [1683051] - [sound] ALSA: hda: Fix mismatches for register mask and value in hdac controller (Jaroslav Kysela) [1683051] - [sound] ALSA: hda/realtek - Disable headset Mic VREF for headset mode of ALC225 (Jaroslav Kysela) [1683051] - [sound] ALSA: hda/realtek - Add unplug function into unplug state of Headset Mode for ALC225 (Jaroslav Kysela) [1683051] - [sound] ALSA: usb-audio: fix CM6206 register definitions (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: rt274: Variable "buf" in function rt274_jack_detect() could be uninitialized (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: ADAU7002: Add optional delay before start of capture (Jaroslav Kysela) [1683051] - [sound] ALSA: cs46xx: Potential NULL dereference in probe (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: Intel: bytcr_rt5651: Add quirk for PoV TAB-P1006W-232 (v1.0) tablet (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: Intel: bytcr_rt5651: Add support for jack-detect using an external GPIO (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: Intel: bytcr_rt5651: Add quirks module parameter (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: Intel: bytcr_rt5651: Revert "Fix DMIC map headsetmic mapping" (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: rt5651: Add support for jack detect using an external GPIO (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: rt5651: Add ACPI ID 10EC5640 (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: Intel: common: Add quirk for PoV P1006W tablet (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: rsnd: update BSDSR/BSDISR handling (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: sgtl5000: Allow SCLK pad drive strength to be changed (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: atom: fix a missing check of snd_pcm_lib_malloc_pages (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: xlnx: enable SPDIF driver build (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: xlnx: add SPDIF audio driver (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: tlv320aic32x4: Kernel OOPS while entering DAPM standby mode (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: Add MICFIL SoC Digital Audio Interface driver. (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: eliminate left-over from Raumfeld machine driver removal (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: rt298: fix boolean tests (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: rl6437a: use __be32 for a __be32 buf (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: rt5645: store eq kcontrol byte in __be (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: da7219: use logical AND (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: da7219: fix endianness issues (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: mt6351: remove unneeded variable (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: tscs42xx.c: fix boolean test (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: nau8824: fix boolean assignment (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: rt5651: fix boolean assignments (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: max98927: fix boolean assignments (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: rt5640: fix boolean assignments (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoc: rt286: fix boolean tests (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: rt274: fix boolean tests (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: cs4271: fix boolean assignments (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: max98383: fix boolean assignments to true/false (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: rt5670: remove unused mux/mixer define (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: rt5645: remove unused mux define (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: codecs: fix kernel doc descriptions (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: es8316: remove unused constant variables (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: max98090: remove unused constant variables (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: dmic: declare trigger function as static (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: ak4458: Add support for AK4497 (Jaroslav Kysela) [1683051] - [sound] ALSA: sb: fix a missing check of snd_ctl_add (Jaroslav Kysela) [1683051] - [sound] ALSA: line6: fix check on snd_card_register (Jaroslav Kysela) [1683051] - [sound] ALSA: ice1712: fix a missing check of snd_i2c_sendbytes (Jaroslav Kysela) [1683051] - [sound] ALSA: gus: add a check of the status of snd_ctl_add (Jaroslav Kysela) [1683051] - [sound] ALSA: oxygen: initialize spdif_playback_enable to 0 (Jaroslav Kysela) [1683051] - [sound] ALSA: virtuoso: add de-emphasis control (Jaroslav Kysela) [1683051] - [sound] ALSA: hda/realtek - Support Dell headset mode for New AIO platform (Jaroslav Kysela) [1683051] - [sound] ALSA: usb-audio: Fix an out-of-bound read in create_composite_quirks (Jaroslav Kysela) [1683051] - [sound] ALSA: usb-audio: Always check descriptor sizes in parser code (Jaroslav Kysela) [1683051] - [sound] ALSA: usb-audio: Check mixer unit descriptors more strictly (Jaroslav Kysela) [1683051] - [sound] ALSA: usb-audio: Avoid access before bLength check in build_audio_procunit() (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: ti: davinci-mcasp: Add support for GPIO mode of the pins (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: ti: davinci-mcasp: Move context save/restore to runtime_pm callbacks (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: ti: davinci-mcasp: No need for IS_MODULE/BUILTIN check for pcm driver (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: Intel: bytcr_rt5640: Add quirks for ASUS MeMO Pad 7 (ME176C) (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: Intel: sst: Fallback to BYT-CR if IRQ 5 is missing (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: Intel: sst: Simplify is_byt_cr() (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: Intel: Add ACPI match table entry for ES8316 codec on BYTCR platform (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: Intel: bytcht_es8316: Set card long_name based on quirks (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: Intel: bytcht_es8316: Add input-map support (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: Intel: bytcht_es8316: Add external speaker mux support (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: Intel: bytcht_es8316: Add jack-detect support (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: Intel: bytcht_es8316: Add support for SSP0 (BYTCR) (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: Intel: bytcht_es8316: Minor refactoring (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: Intel: bytcht_es8316: Sort includes alphabetically (Jaroslav Kysela) [1683051] - [regulator] ALSA: regulator: fixed: Let core handle GPIO descriptor (Jaroslav Kysela) [1683051] - [regulator] ALSA: regulator/gpio: Allow nonexclusive GPIO access (Jaroslav Kysela) [1683051] - [regulator] ALSA: regulator: fixed: Default enable high on DT regulators (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: es8316: Add DAC mono mix switch mixer control (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: es8316: Add jack-detect support (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: Variable "val" in function rt274_i2c_probe() could be uninitialized (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: rockchip: fix platform_no_drv_owner.cocci warnings (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: xlnx: fix error handling in xlnx_formatter_pcm_probe (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: rockchip: add workaround for silence of rk3288 ACODEC (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: rockchip: support ACODEC for rk3328 (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: simple-card: reduce naming prefix (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: simple-card: cleanup DAI link loop method - step2 (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: simple-card: cleanup DAI link loop method - step1 (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: simple-card: add link_info (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: simple-card: add 1 CPU : 1 Codec support again (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: simple-card: add asoc_simple_card_get_conversion() (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: audio-graph-card: reduce naming prefix (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: audio-graph-card: cleanup DAI link loop method - step2 (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: audio-graph-card: cleanup DAI link loop method - step1 (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: audio-graph-card: add link_info (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: audio-graph-card: add 1 CPU : 1 Codec support again (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: xlnx: enable audio formatter driver build (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: xlnx: add pcm formatter platform driver (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: simple-scu-card: remove simple-scu-card (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: audio-graph-scu-card: remove audio-graph-scu-card (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: audio-graph-card: add asoc_graph_card_get_conversion() (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: simple-card-utils: check "reg" property on asoc_simple_card_get_dai_id() (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: Intel: boards: use snd_mask_set_format in all machine drivers (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: Intel: Atom: simplify boolean tests (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: Intel: Baytrail: simplify boolean test (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: Intel: Baytrail: remove unneeded variable (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: Intel: Haswell: assign booleans to true/false (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: Intel: Haswell: remove unneeded semicolon (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: Intel: Skylake: simplify boolean tests (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: Intel: Skylake: remove useless cast (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: wm8904: enable MCLK in STANDBY (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: wm8904: save model id directly in of_device_id.data (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: wm8904: make the driver visible in Kconfig (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: cs4341: Add driver for CS4341 DAC (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: rt5682: Fix recording no sound issue (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: Intel: atom: Make PCI dependency explicit (Jaroslav Kysela) [1683051] - [sound] ALSA: compress: prevent potential divide by zero bugs (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: qdsp6: q6asm-dai: Fix a small memory leak (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: qdsp6: q6asm-dai: Fix a NULL vs IS_ERR() bug (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: qdsp6: q6asm-dai: Off by one in of_q6asm_parse_dai_data() (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: pcm512x: Fix a double unlock in pcm512x_digital_mute() (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: xlnx: change license header format style (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: Intel: Haswell/Broadwell: fix setting for .dynamic field (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: xlnx: Grammar s/the the/the/ (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: dma-sh7760: cleanup a debug printk (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: sdm845: set jack only for a specific backend (Jaroslav Kysela) [1683051] - [sound] ALSA: hda - Revert DSP detection on legacy HD-audio driver (Jaroslav Kysela) [1683051] - [sound] ALSA: hda/tegra: clear pending irq handlers (Jaroslav Kysela) [1683051] - [sound] ALSA: hda/realtek: Enable the headset mic auto detection for ASUS laptops (Jaroslav Kysela) [1683051] - [sound] ALSA: HD-Audio: SKL+: force HDaudio legacy or SKL+ driver selection (Jaroslav Kysela) [1683051] - [sound] ALSA: HD-Audio: SKL+: abort probe if DSP is present and Skylake driver selected (Jaroslav Kysela) [1683051] - [sound] ALSA: HDA: export process_unsol_events() (Jaroslav Kysela) [1683051] - [sound] ALSA: hda/realtek: Enable audio jacks of ASUS UX391UA with ALC294 (Jaroslav Kysela) [1683051] - [sound] ALSA: bebob: fix model-id of unit for Apogee Ensemble (Jaroslav Kysela) [1683051] - [sound] ALSA: xen-front: Use Xen common shared buffer implementation (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: ti: Kconfig: Remove the deprecated options (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: ti: Merge davinci and omap directories (Jaroslav Kysela) [1683051] - [sound] ALSA: hda: add mute LED support for HP EliteBook 840 G4 (Jaroslav Kysela) [1683051] - [sound] ALSA: fireface: code refactoring to handle model-specific registers (Jaroslav Kysela) [1683051] - [sound] ALSA: fireface: add support for packet streaming on Fireface 800 (Jaroslav Kysela) [1683051] - [sound] ALSA: fireface: allocate isochronous resources in mode-specific implementation (Jaroslav Kysela) [1683051] - [sound] ALSA: fireface: code refactoring to handle multiplier mode (Jaroslav Kysela) [1683051] - [sound] ALSA: fireface: share helper function to switch fetching mode (Jaroslav Kysela) [1683051] - [sound] ALSA: fireface: fix for state to fetch PCM frames (Jaroslav Kysela) [1683051] - [sound] ALSA: firewire-lib: use the same print format for 'without_header' tracepoints (Jaroslav Kysela) [1683051] - [sound] ALSA: firewire-lib: fix wrong assignment for 'out_packet_without_header' tracepoint (Jaroslav Kysela) [1683051] - [sound] ALSA: firewire-lib: fix wrong handling payload_length as payload_quadlet (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: qdsp6: q6routing: add display_port_rx port routing (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: qdsp6: q6afe-dai: add support to Display port RX dais (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: qdsp6: qdafe: add support for display_port_rx (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: qdsp6: q6asm-dai: Add support to compress offload (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: qdsp6: q6asm: add support to MP3 format (Jaroslav Kysela) [1683051] - [sound] ALSA: soc-compress: add support to snd_compr_set_runtime_buffer() (Jaroslav Kysela) [1683051] - [sound] ALSA: compress: make use of runtime buffer for copy (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: Intel: Skylake: Add more platform granularity (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: simple-card: tidyup prefix for snd_soc_codec_conf (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: simple-card: tidyup convert_rate/channel method (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: simple-card: tidyup mclk-fs method (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: simple-card: merge simple-scu-card (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: audio-graph-card: tidyup prefix for snd_soc_codec_conf (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: audio-graph-card: tidyup convert_rate/channel method (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: audio-graph-card: tidyup mclk-fs method (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: audio-graph-card: merge audio-graph-scu-card (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: simple-card-utils: fixup asoc_simple_card_get_dai_id() ID method (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: core: Invoke pcm_new() for all DAI-link (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: pcm512x: Implement the digital_mute interface (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: meson: fix do_div warning in spdifin (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: Intel: Skylake: add error logs on probe, remove dependency on NHLT (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: Intel: Skylake: remove useless tests on HDaudio capabilities (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: Intel: Skylake: stop probe if HDaudio capabilities don't exist (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: Intel: Skylake: Harden DSP detection with PCI class/subclass info (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: Intel: Skylake: Add CFL-S support (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: pcm3060: Add powersaving widgets for DAC and ADC (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: xlnx: enable i2s driver build (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: xlnx: Add i2s driver (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: Intel: kbl_rt5660: Add a new machine driver for kbl with rt5660 (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: meson: add axg spdif input (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: meson: axg-toddr: add support for spdifin backend (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: simple-card: Dereference pointer for memcpy sizeof in asoc_simple_card_probe (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: fsl: Fix SND_SOC_EUKREA_TLV320 build error on i.MX8M (Jaroslav Kysela) [1683051] - [sound] ALSA: hda: add support for Huawei WMI micmute LED (Jaroslav Kysela) [1683051] - [sound] ALSA: hda: fix front speakers on Huawei MBXP (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: rsnd: remove RSND_REG_ from rsnd_reg (Jaroslav Kysela) [1683051] - [sound] ALSA: fireface: add support for Fireface 800 with MIDI functionality only (Jaroslav Kysela) [1683051] - [sound] ALSA: fireface: localize a handler for MIDI messages on tx transaction (Jaroslav Kysela) [1683051] - [sound] ALSA: fireface: add driver data for register for MIDI high address (Jaroslav Kysela) [1683051] - [sound] ALSA: fireface: share register for async transaction of MIDI messages (Jaroslav Kysela) [1683051] - [sound] ALSA: fireface: add support for second optical interface for ADAT stream (Jaroslav Kysela) [1683051] - [sound] ALSA: fireface: share helper function to get current sampling rate and clock source (Jaroslav Kysela) [1683051] - [sound] ALSA: fireface: share status and configuration dump (Jaroslav Kysela) [1683051] - [sound] ALSA: fireface: share some registers for status of clock synchronization (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: simple-scu-card: care multi DPCM codec_conf (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: simple-scu-card: use cpu/codec pointer on graph_dai_props (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: simple-scu-card: tidyup "convert-rate/channels" parsing (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: simple-scu-card: care link / dai count (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: simple-scu-card: add dai-link support (Jaroslav Kysela) [1683051] - [sound] ALSA: hda/ca0132 - make pci_iounmap() call conditional (Jaroslav Kysela) [1683051] - [sound] ALSA: hda/hdmi: Always set display_power_control for Intel HSW+ codecs (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: hdac_hdmi: Add missing display power-off at driver removal (Jaroslav Kysela) [1683051] - [sound] ALSA: hda: Make snd_hdac_display_power() void function (Jaroslav Kysela) [1683051] - [sound] ALSA: hda/intel: Properly free the display power at error path (Jaroslav Kysela) [1683051] - [sound] ALSA: hda/intel: Drop superfluous AZX_DCAPS_I915_POWERWELL checks (Jaroslav Kysela) [1683051] - [sound] ALSA: hda: Refactor display power management (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: simple-scu-card: tidyup asoc_simple_card_parse_daifmt() timing (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: simple-card: use cpu/codec pointer on simple_dai_props (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: simple-card-utils: fix build warning without CONFIG_OF (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: sdm845: add rt5663 codec select (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: Intel: kbl_da7219_max98927: fix the audio jack button remapping (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: Intel: bytcr_rt5640: Add quirk for the Point of View Mobii TAB-P1005W-232 (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: Intel: bytcr_rt5640: Add quirk for the Prowise PT301 tablet (Jaroslav Kysela) [1683051] - [sound] ALSA: hda/realtek: Enable audio jacks of ASUS UX433FN/UX333FA with ALC294 (Jaroslav Kysela) [1683051] - [sound] ALSA: hda/realtek: Enable audio jacks of ASUS UX533FD with ALC294 (Jaroslav Kysela) [1683051] - [sound] ALSA: hda/realtek: ALC294 mic and headset-mode fixups for ASUS X542UN (Jaroslav Kysela) [1683051] - [sound] ALSA: hda/intel: Refactoring PM code (Jaroslav Kysela) [1683051] - [sound] ALSA: fireface: fix reference to wrong register for clock configuration (Jaroslav Kysela) [1683051] - [sound] ALSA: hda/realtek - Fix the mute LED regresion on Lenovo X1 Carbon (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: max9867: Add copyright and module author (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: sdm845: Add configuration for headset codec (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: sdm845: Add TDM configuration for speaker (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: max9867: Fix signal paths (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: max9867: Calculate LRCLK divider (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: max9867: Fix power management (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: max9867: Remove useless assignment (Jaroslav Kysela) [1683051] - [sound] ALSA: hda/realtek - Enable headset button support for new codec (Jaroslav Kysela) [1683051] - [sound] ALSA: hda - Add jack button support (Jaroslav Kysela) [1683051] - [sound] ALSA: hda - Add jack pointer and unsolicited event bits to callback (Jaroslav Kysela) [1683051] - [sound] ALSA: hda/realtek - Fixed headphone issue for ALC700 (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: rt5660: Add a new ACPI match ID (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: codecs: ak4104: move to GPIO consumer API (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: codecs: cs4270: move to GPIO consumer API (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: Use of_node_name_eq for node name comparisons (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: use dma_ops of parent device for acp_audio_dma (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: use DMA addr rather than CPU pa for acp_audio_dma (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: intel: cht_bsw_max98090_ti: Add pmc_plt_clk_0 quirk for Chromebook Gnawty (Jaroslav Kysela) [1683051] - [sound] ALSA: aoa: Use of_node_name_eq for node name comparisons (Jaroslav Kysela) [1683051] - [sound] ALSA: aoa: Remove direct OF name and type accesses (Jaroslav Kysela) [1683051] - [sound] ALSA: sparc: Use of_node_name_eq for node name comparisons (Jaroslav Kysela) [1683051] - [sound] ALSA: hda/realtek: Fix mic issue on Acer AIO Veriton Z4860G/Z6860G (Jaroslav Kysela) [1683051] - [sound] ALSA: hda/realtek: Fix mic issue on Acer AIO Veriton Z4660G (Jaroslav Kysela) [1683051] - [sound] ALSA: hda/realtek - Add support for Acer Aspire C24-860 headset mic (Jaroslav Kysela) [1683051] - [sound] ALSA: hda/realtek: ALC286 mic and headset-mode fixups for Acer Aspire U27-880 (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: max98373: Added max98373_reset for stable amp reset (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: audio-graph-card: use cpu/codec pointer on graph_dai_props (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: audio-graph-scu-card: care multi DPCM codec_conf (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: audio-graph-scu-card: use cpu/codec pointer on graph_dai_props (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: audio-graph-scu-card: care link / dai count (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: simple-card-utils: fixup asoc_simple_card_get_dai_id() counting (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: rsnd: add missing TDM Split mode support for simple-card (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: rsnd: fixup mod ID for CTU regmap read/write (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: rsnd: indicates Channel and Mode for debug (Jaroslav Kysela) [1683051] - [sound] ALSA: hda/hdmi - Add Tegra186 and Tegra194 support (Jaroslav Kysela) [1683051] - [sound] ALSA: hda/tegra - Probe up to 8 codecs (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: intel: cht_bsw_max98090_ti: Add pmc_plt_clk_0 quirk for Chromebook Clapper (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: pxa: remove raumfeld machine driver (Jaroslav Kysela) [1683051] - [sound] ALSA: usb-audio: Fix UAF decrement if card has no live interfaces in card.c (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: Intel: common: add ACPI matching tables for ICL (Jaroslav Kysela) [1683051] - [sound] ALSA: hda/realtek - Fix speaker output regression on Thinkpad T570 (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: au8540: use 64-bit arithmetic instead of 32-bit (Jaroslav Kysela) [1683051] - [sound] ALSA: hda: Add support for AMD Stoney Ridge (Jaroslav Kysela) [1683051] - [sound] ALSA: usb-audio: Add SMSL D1 to quirks for native DSD support (Jaroslav Kysela) [1683051] - [sound] ALSA: pcm: Fix starvation on down_write_nonblock() (Jaroslav Kysela) [1683051] - [sound] ALSA: pcm: Call snd_pcm_unlink() conditionally at closing (Jaroslav Kysela) [1683051] - [sound] ALSA: hda/tegra: compatible string as shortname (Jaroslav Kysela) [1683051] - [platform] ALSA: platform/x86: thinkpad_acpi: Add audio mute LED classdev support (Jaroslav Kysela) [1683051] - [platform] ALSA: platform/x86: dell-laptop: Add micmute LED trigger support (Jaroslav Kysela) [1683051] - [sound] ALSA: hda - Support led audio trigger (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: pcm3168a: Don't disable pcm3168a when CONFIG_PM defined (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: dmic: introduce module_param wakeup_delay (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: dmic: introduce mode switch delay (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: qcom: sdm845: Create and setup jack in init callback (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: qcom: sdm845: Add board specific dapm widgets (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: davinci-mcasp: Implement configurable dismod handling (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: davinci-mcasp: Update PDIR (pin direction) register handling (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: davinci-mcasp: Clear TXSTAT register before activating serializers (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: Intel: Skylake: Add FW reply for MCLK/SCLK IPC (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: Intel: Skylake: Make DSP replies more human readable (Jaroslav Kysela) [1683051] - [drivers] ALSA: leds: trigger: Introduce audio mute LED trigger (Jaroslav Kysela) [1683051] - [drivers] ALSA: leds: core: Introduce LED pattern trigger (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: rsnd: tidyup registering method for rsnd_kctrl_new() (Jaroslav Kysela) [1683051] - [sound] ALSA: hda/realtek - Support ALC300 (Jaroslav Kysela) [1683051] - [sound] ALSA: hda/realtek - Add auto-mute quirk for HP Spectre x360 laptop (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: max9867: Fix whitespace (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: soc.h: makes snd_soc_of_parse_audio_prefix() inline (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: amd: Fix a NULL vs IS_ERR() check in probe (Jaroslav Kysela) [1683051] - [sound] ALSA: hda/realtek - fix the pop noise on headphone for lenovo laptops (Jaroslav Kysela) [1683051] - [sound] ALSA: usb-audio: fix spelling mistake "Frequence" -> "Frequency" (Jaroslav Kysela) [1683051] - [sound] ALSA: Revert "ALSA: Replace snd_malloc_pages() and snd_free_pages() with standard helpers" (Jaroslav Kysela) [1683051] - [sound] ALSA: Replace snd_malloc_pages() and snd_free_pages() with standard helpers (Jaroslav Kysela) [1683051] - [sound] ALSA: control: Consolidate helpers for adding and replacing ctl elements (Jaroslav Kysela) [1683051] - [sound] ALSA: control: Fix race between adding and removing a user element (Jaroslav Kysela) [1683051] - [sound] ALSA: sparc: Fix invalid snd_free_pages() at error path (Jaroslav Kysela) [1683051] - [sound] ALSA: wss: Fix invalid snd_free_pages() at error path (Jaroslav Kysela) [1683051] - [sound] ALSA: hda/realtek - fix headset mic detection for MSI MS-B171 (Jaroslav Kysela) [1683051] - [sound] ALSA: hda: Add ASRock N68C-S UCC the power_save blacklist (Jaroslav Kysela) [1683051] - [sound] ALSA: ac97: Fix incorrect bit shift at AC97-SPSA control write (Jaroslav Kysela) [1683051] - [sound] ALSA: firewire-tascam: notify events of change of state for userspace applications (Jaroslav Kysela) [1683051] - [sound] ALSA: firewire-tascam: apply small refactoring to handle several type of event for hwdep interface (Jaroslav Kysela) [1683051] - [sound] ALSA: firewire-tascam: queue events for change of control surface (Jaroslav Kysela) [1683051] - [sound] ALSA: firewire-tascam: add new hwdep ioctl command to get state image (Jaroslav Kysela) [1683051] - [sound] ALSA: firewire-tascam: pick up data of state from tx isochronous pakcets (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: omap-dmic: Add pm_qos handling to avoid overruns with CPU_IDLE (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: omap-mcpdm: Add pm_qos handling to avoid under/overruns with CPU_IDLE (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: omap-mcbsp: Fix latency value calculation for pm_qos (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: audio-graph-card: tidyup define position (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: audio-graph-card: tidyup typo SND_AUDIO_GRAPH_CARD (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: audio-graph-scu-card: tidyup asoc_simple_card_parse_daifmt() timing (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: audio-graph-scu-card: tidyup "convert-rate/channels" parsing (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: audio-graph-scu-card: tidyup "prefix" parsing (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: simple-scu-card: tidyup "prefix" parsing (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: soc-core: add snd_soc_of_parse_node_prefix() (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: simple-amplifier: add VCC regulator widget (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: sunxi: sun50i-codec-analog: Add support for cpvdd regulator supply (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: simple_card_utils: remove "option" from asoc_simple_card_of_parse_routing() (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: simple-card-utils: tidyup asoc_simple_card_parse_convert() (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: simple-card-utils: accept NULL parameter on asoc_simple_card_xxx() (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: simple-card-utils: remove asoc_simple_card_clk_register() (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: rsnd: makes rsnd_ssi_is_dma_mode() static (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: rsnd: tidyup rsnd_parse_connect_ssiu_compatible() (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: sdm845: Add support for Secondary MI2S interface (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: sdm845: Update slot_width for Quaternary TDM port (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: Intel: use platform_data for machine drivers (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: Intel: fix interface for Chromebook machine drivers (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: acpi: define common interface for machine driver configuration (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: acpi: fix: continue searching when machine is ignored (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: Intel: Skylake: fix Kconfigs, make HDaudio codec optional (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: tlv320aic3x: Add support for CBM_CFS and CBS_CFM clocking modes (Jaroslav Kysela) [1683051] - [sound] ALSA: aoa: Use device_type helpers to access the node type (Jaroslav Kysela) [1683051] - [sound] ALSA: hda/ca0132 - fix AE-5 pincfg (Jaroslav Kysela) [1683051] - [sound] ALSA: hda/ca0132 - Add new ZxR quirk (Jaroslav Kysela) [1683051] - [sound] ALSA: asihpi: clean up indentation, replace spaces with tab (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: rt5663: Fix error handling of regulator_set_load (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: amd: fix spelling mistake "Inavlid" -> "Invalid" (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: qcom: clean up indentation, remove extraneous tab (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: arizona: fix indentation issue with return statement (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: tlv320dac33: clean up indentation, remove extraneous tab (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: tlv320aic31xx: asihpi: clean up indentation, remove extraneous tab (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: Convert a few more users to using pOFn instead of device_node.name (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: rt5663: Add regulator support (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: ak4118: Add support for AK4118 S/PDIF transceiver (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: pcm186x: Fix device reset-registers trigger value (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: amd: remove set but not used variable 'dma_buffer' (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: amd: Switch to SPDX identifier (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: amd: Fixed build errors (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: nau8822: convert to SPDX identifiers (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: nau8822: convert to SPDX identifiers (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: dapm: Recalculate audio map forcely when card instantiated (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: omap-abe-twl6040: Fix missing audio card caused by deferred probing (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: amd: fix memory leak of i2s_data on error return (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: pcm3060: Add DT property for single-ended output (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: pcm3060: Rename output widgets (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: qcom: Set dai_link id to each dai_link (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: sun8i-codec: add missing route for ADC (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: amd: enable acp3x drivers build (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: amd: add acp3x system resume pm op (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: amd: add acp3x runtime pm ops (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: amd: add acp3x tdm mode support (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: amd: add acp3x i2s ops (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: amd: add acp3x pcm driver dma ops (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: amd: Interrupt handler changes for ACP3x DMA driver (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: amd: add ACP3x PCM platform driver (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: amd: create ACP3x PCM platform device (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: AMD: add ACP3.0 PCI driver (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: AMD: add ACP 3.x IP register header (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: Intel: Power down links before turning off display audio power (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: Intel: hdac_hdmi: add Icelake support (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: wm_adsp: Factor out common init code (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: wm_adsp: Fix dma-unsafe read of scratch registers (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: rockchip: add missing slave_config setting for I2S (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: omap-mcbsp: No need to initialize max_xx_thres when it is not used (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: omap-mcbsp: Remove redundant check for mcbsp->pdata (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: omap-mcbsp: Re-arrange files for core McBSP and Sidetone function split (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: omap-mcbsp: Move out the FIFO check from set_threshold and get_delay (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: omap-mcbsp: Simplify the mcbsp_start/_stop function parameters (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: omap-mcbsp: Clean up the interrupt handlers (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: omap-mcbsp: Skip dma_data.maxburst initialization (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: omap-mcbsp: Clean up dma_data addr initialization code (Jaroslav Kysela) [1683051] - [sound] ALSA: oxfw: add support for APOGEE duet FireWire (Jaroslav Kysela) [1683051] - [sound] ALSA: hda/ca0132 - Call pci_iounmap() instead of iounmap() (Jaroslav Kysela) [1683051] - [sound] ALSA: hda/realtek - Add quirk entry for HP Pavilion 15 (Jaroslav Kysela) [1683051] - [sound] ALSA: hda/ca0132 - Optimize for non-PCI configuration (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: rsnd: use ring buffer for rsnd_mod_name() (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: sun8i-codec: fix crash on module removal (Jaroslav Kysela) [1683051] - [sound] ALSA: oss: Use kvzalloc() for local buffer allocations (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: fsl_ssi: Change to use DEFINE_SHOW_ATTRIBUTE macro (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: rsnd: add TDM Split mode support (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: rsnd: add SSIU BUSIF support (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: rsnd: handle DPCM converted rate/chan under core (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: rsnd: move HDMI information from ssi.c to core.c (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: rsnd: use defined io_playback/io_capture (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: rsnd: rename rsnd_runtime_is_ssi_xxx() (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: rsnd: remove endpoint bidirectional check (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: audio-graph-scu-card: remove error check which never happen (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: audio-graph-scu-card: remove endpoint bidirectional check (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: audio-graph-card: remove endpoint bidirectional check (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: Intel: common: add quirk for APL RVP boards (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: Intel: common: add SOF information for APL RVP (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: Intel: remove GFP_ATOMIC, use GFP_KERNEL (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: Intel: boards: fix Skylake typo (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: Intel: use standard interface for Atom machine drivers (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: Intel: use standard interface for Hdaudio machine driver (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: pxa: change ac97 dependencies (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: omap: Remove unused machine driver for AM3517-evm (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: pcm3168a: remove read-only status register from snd_kcontrol_new (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: ak5558: Remove redundant snd_soc_component_read32 calls (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: qdsp6: q6afe-dai: Fix the dai widgets (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: qdsp6: q6asm-dai: Only add routing once. (Jaroslav Kysela) [1683051] - [sound] ALSA: usb-audio: Define registers for CM6206 (Jaroslav Kysela) [1683051] - [sound] ALSA: hda - Fix incorrect clearance of thinkpad_acpi hooks (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: qdsp6: q6afe: Fix wrong MI2S SD line mask (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: intel: cht_bsw_max98090_ti: Add quirk for boards using pmc_plt_clk_0 (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: rsnd: rsnd_mod_name() handles both name and ID (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: rsnd: add .get_id/.get_id_sub (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: rsnd: move .get_status under rsnd_mod_ops (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: pcm3168a: cleanup hw_constraint for LEFT_J/I2S (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: omap-mcbsp: On OMAP1 and OMAP2420 only 16bit format is supported (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: AMD: constify regulator_desc structure (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: codecs: constify snd_soc_dai_ops structures (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: qdsp6: q6afe-dai: constify snd_soc_dai_ops structures (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: nau8825: remove unnecessary unlikely() (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: Intel: mrfld: fix uninitialized variable access (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: wm97xx: fix uninitialized regmap pointer problem (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: smd845: constify snd_soc_ops structure (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: stm32: sai: fix less than zero comparison on unsigned int (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: sunxi: rename SND_SUNXI_ADDA_PR_REGMAP to SND_SUN8I_ADDA_PR_REGMAP (Jaroslav Kysela) [1683051] - [sound] ALSA: x86: Rip out the lpe audio runtime suspend/resume hooks (Jaroslav Kysela) [1683051] - [sound] ALSA: x86: Fix runtime PM for hdmi-lpe-audio (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: rsnd: fixup clock start checker (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: fix oops w/ for_each_rtd_codec_dai_rollback() macro (Jaroslav Kysela) [1683051] - [sound] ALSA: firewire-lib: fix insufficient PCM rule for period/buffer size (Jaroslav Kysela) [1683051] - [sound] ALSA: ca0106: Disable IZD on SB0570 DAC to fix audio pops (Jaroslav Kysela) [1683051] - [sound] ALSA: dice: fix to wait for releases of all ALSA character devices (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: stm32: sai: fix noderef.cocci warnings (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: stm32: sai: fix master clock naming (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: stm32: add clock dependency for sai (Jaroslav Kysela) [1683051] - [sound] ALSA: hda/ca0132 - Actually fix microphone issue (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: sun4i-i2s: move code from startup/shutdown hooks into pm_runtime hooks (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: wm2000: Remove wm2000_read helper function (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: cs42l51: fix mclk support (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: wm_adsp: Log addresses as 8 digits in wm_adsp_buffer_populate (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: wm_adsp: Rename memory fields in wm_adsp_buffer (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: cs42l51: add mclk support (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: stm32: sai: set sai as mclk clock provider (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: soc-core: fix trivial checkpatch issues (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: dapm: Add support for hw_free on CODEC to CODEC links (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: Intel: kbl_da7219_max98927: minor white space clean up (Jaroslav Kysela) [1683051] - [sound] ALSA: i2c/cs8427: Fix int to char conversion (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: rsnd: tidyup SSICR::SWSP for TDM (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: rsnd: enable TDM settings for SSI parent (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: pcm3168a: add hw constraint for capture channel (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: sta32x: Add support for XTI clock (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: nau8822: new codec driver (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: tegra_sgtl5000: fix device_node refcounting (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: sunxi: allow the sun8i-codec driver to be built on ARM64 (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: sunxi: Add new driver for Allwinner A64 codec's analog path controls (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: sun8i-codec-analog: split regmap code into separate driver (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: sun8i-codec: Don't hardcode BCLK / LRCK ratio (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: sun4i-i2s: Add compatibility with A64 codec I2S (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: intel: don't pass GFP_DMA32 to dma_alloc_coherent (Jaroslav Kysela) [1683051] - [sound] ALSA: hda: Add 2 more models to the power_save blacklist (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: Intel: common: Add Kabylake Dialog+Maxim machine driver entry (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: Intel: Boards: Add KBL Dialog Maxim I2S machine driver (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: AMD: Add SND_JACK_LINEOUT jack type (Jaroslav Kysela) [1683051] - [sound] ALSA: asihpi: don't pass GFP_DMA32 to dma_alloc_coherent (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: pcm3168a: add I2S/Left_J TDM support (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: pcm3168a: add hw constraint for channel (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: pcm3168a: add HW constraint for non RIGHT_J (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: sta32x: set ->component pointer in private struct (Jaroslav Kysela) [1683051] - [sound] ALSA: au88xx: Add fall-through annotations (Jaroslav Kysela) [1683051] - [sound] ALSA: opti92xx-ad1848: Use the standard fall-through annotation (Jaroslav Kysela) [1683051] - [sound] ALSA: seq: oss: Use the standard fall-through annotation (Jaroslav Kysela) [1683051] - [sound] ALSA: caiaq: Add fall-through annotation (Jaroslav Kysela) [1683051] - [sound] ALSA: memalloc: Add fall-through annotation (Jaroslav Kysela) [1683051] - [sound] ALSA: firewire-motu: add missing entries to Kconfig (Jaroslav Kysela) [1683051] - [sound] ALSA: isight: fix leak of reference to firewire unit in error path of .probe callback (Jaroslav Kysela) [1683051] - [sound] ALSA: hda - Add mic quirk for the Lenovo G50-30 (17aa:3905) (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: max98373: Sort DHT Rot Pnt Volume in reverse order (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: max98373: Sort max98373_bde_gain_tlv in reverse order (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: max98373: Sort BDE Limiter Thresh Volume in reverse order (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: max98373: Sort Digital Volume in reverse order (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: audio-graph-card: enable mclk-fs on codec node (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: rsnd: use 32bit TDM width as default (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: max98988: add I2C dependency (Jaroslav Kysela) [1683051] - [sound] ALSA: firewire: simplify cleanup process when failing to register sound card (Jaroslav Kysela) [1683051] - [sound] ALSA: bebob/fireworks: simplify handling of local device entry table (Jaroslav Kysela) [1683051] - [sound] ALSA: firewire: release reference count of firewire unit in .remove callback of bus driver (Jaroslav Kysela) [1683051] - [sound] ALSA: firewire: block .remove callback of bus driver till all of ALSA character devices are released (Jaroslav Kysela) [1683051] - [sound] ALSA: hda/realtek - Fix the problem of the front MIC on the Lenovo M715 (Jaroslav Kysela) [1683051] - [sound] ALSA: hda - Fix headphone pin config for ASUS G751 (Jaroslav Kysela) [1683051] - [sound] ALSA: hda/ca0132 - Fix input effect controls for desktop cards (Jaroslav Kysela) [1683051] - [sound] ALSA: hda/ca0132 - Add error checking in ca0132_build_controls() (Jaroslav Kysela) [1683051] - [sound] ALSA: hda/ca0132 - Clean up patch_ca0132() (Jaroslav Kysela) [1683051] - [sound] ALSA: hda/ca0132 - Fix microphone inconsistency issues (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: max98988: make it selectable (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: max98088: Add master clock handling (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: wm8782: add support for regulators (Jaroslav Kysela) [1683051] - [sound] ALSA: hda - Add ASUS G751 quirk model entry (Jaroslav Kysela) [1683051] - [sound] ALSA: hda - Add quirk for ASUS G751 laptop (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: topology: Use the standard fall-through annotations (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: intel: skylake: Add fall-through annotation (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: rt274: Add fall-through annotations (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: pcm186x: Use the standard fall-through annotation (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: adau1761: Use the standard fall-through annotation (Jaroslav Kysela) [1683051] - [sound] ALSA: usb-audio: Add custom mixer status quirks for RME CC devices (Jaroslav Kysela) [1683051] - [sound] ALSA: usb-audio: update quirk for B&W PX to remove microphone (Jaroslav Kysela) [1683051] - [sound] ALSA: hda/sigmatel - Disable automute for Elo VuPoint (Jaroslav Kysela) [1683051] - [sound] ALSA: rawmidi: A lightweight function to discard pending bytes (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: add fault detect recovery property to DT bindings (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: pxa-ssp: enable and disable extclk if given (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: qdsp6: q6asm-dai: checking NULL vs IS_ERR() (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: intel: skylake: Add missing break in skl_tplg_get_token() (Jaroslav Kysela) [1683051] - [sound] ALSA: oxfw: use managed-resource to maintain cache of stream formats (Jaroslav Kysela) [1683051] - [sound] ALSA: oxfw: use managed-resource to maintain model-specific data (Jaroslav Kysela) [1683051] - [sound] ALSA: fireworks: use managed-resource to maintain response buffer (Jaroslav Kysela) [1683051] - [sound] ALSA: bebob: use managed-resource to maintain data specific to M-Audio FW-1814/ProjectMix I/O (Jaroslav Kysela) [1683051] - [sound] ALSA: firewire: use managed-resource of fw unit device for private data (Jaroslav Kysela) [1683051] - [sound] ALSA: hda/realtek - Cannot adjust speaker's volume on Dell XPS 27 7760 (Jaroslav Kysela) [1683051] - [sound] ALSA: intel8x0: Fix fall-through annotations (Jaroslav Kysela) [1683051] - [sound] ALSA: sb8: Fix fall-through annotations (Jaroslav Kysela) [1683051] - [sound] ALSA: firewire-lib: add PCM rules to obsolete PCM constraints based on LCM of SYT_INTERVAL (Jaroslav Kysela) [1683051] - [sound] ALSA: hda/ca0132 - Add ZxR exit commands (Jaroslav Kysela) [1683051] - [sound] ALSA: hda/ca0132 - Add ZxR 600 ohm gain control (Jaroslav Kysela) [1683051] - [sound] ALSA: hda/ca0132 - Remove input select enum for ZxR (Jaroslav Kysela) [1683051] - [sound] ALSA: hda/ca0132 - Add ZxR input/output select commands (Jaroslav Kysela) [1683051] - [sound] ALSA: hda/ca0132 - Add ZxR DSP post-download commands (Jaroslav Kysela) [1683051] - [sound] ALSA: hda/ca0132 - Add ZxR init commands (Jaroslav Kysela) [1683051] - [sound] ALSA: hda/ca0132 - Add DBpro hda_codec_ops (Jaroslav Kysela) [1683051] - [sound] ALSA: hda/ca0132 - Add ZxR pincfg (Jaroslav Kysela) [1683051] - [sound] ALSA: hda/ca0132 - Add ZxR quirks + new quirk check function (Jaroslav Kysela) [1683051] - [sound] ALSA: hda/ca0132 - Fix surround sound with output effects (Jaroslav Kysela) [1683051] - [sound] ALSA: hda/ca0132 - Fix AE-5 control type (Jaroslav Kysela) [1683051] - [sound] ALSA: hda: Fix mismatch for register mask and value in ext controller. (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: qcom: qdsp6: remove duplicated include (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: wm9712: fix unused variable warning (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: atmel: add SND_SOC_I2C_AND_SPI dependency (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: pxa: avoid AC97_BUS build warning (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: soc-utils: Rename dummy_dma_ops to snd_dummy_dma_ops (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: max98088: add OF support (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: cs4265: Add a MIC pre. route (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: add for_each_component_dais() macro (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: add for_each_component() macro (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: rsnd: fixup SSI clock during suspend/resume modes (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: qcom: qdsp6: remove duplicated include from q6adm.c (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: tidyup for_each_card_prelinks() dai_link (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: rt5663: Remove the boost volume in the beginning of playback (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: add for_each_dpcm_be() macro (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: add for_each_dpcm_fe() macro (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: add for_each_comp_order() macro (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: add for_each_card_components() macro (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: add for_each_card_rtds() macro (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: add for_each_card_links() macro (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: add for_each_card_prelinks() macro (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: rename for_each_rtd_codec_dai_reverse to rollback (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: convert for_each_rtd_codec_dai() for missing part (Jaroslav Kysela) [1683051] - [sound] ALSA: hda/ca0132 - Add AE-5 exit function (Jaroslav Kysela) [1683051] - [sound] ALSA: hda/ca0132 - Add AE-5 specific controls (Jaroslav Kysela) [1683051] - [sound] ALSA: hda/ca0132 - Add input selection commands for AE-5 (Jaroslav Kysela) [1683051] - [sound] ALSA: hda/ca0132 - Add output set commands for AE-5 (Jaroslav Kysela) [1683051] - [sound] ALSA: hda/ca0132 - Clean up ca0132_alt_out_select (Jaroslav Kysela) [1683051] - [sound] ALSA: hda/ca0132 - Add DSP setup functions for AE-5 (Jaroslav Kysela) [1683051] - [sound] ALSA: hda/ca0132 - Merge post-dsp functions + cleanup (Jaroslav Kysela) [1683051] - [sound] ALSA: hda/ca0132 - Change firmware name and usage (Jaroslav Kysela) [1683051] - [sound] ALSA: hda/ca0132 - Add AE-5 regular init setup (Jaroslav Kysela) [1683051] - [sound] ALSA: hda/ca0132 - Add AE-5 pre-init and ca0113 functions (Jaroslav Kysela) [1683051] - [sound] ALSA: hda/ca0132 - Change ca0132_mmio_init for AE-5 (Jaroslav Kysela) [1683051] - [sound] ALSA: hda/ca0132 - Set AE-5 bools and select mixer (Jaroslav Kysela) [1683051] - [sound] ALSA: hda/ca0132 - Add pincfg for AE-5 (Jaroslav Kysela) [1683051] - [sound] ALSA: hda/ca0132 - Add quirk for Sound BlasterX AE-5 (Jaroslav Kysela) [1683051] - [sound] ALSA: hda/ca0132 - Define new verbs and control params (Jaroslav Kysela) [1683051] - [sound] ALSA: xen-front: Refine indentations and constify snd_pcm_ops (Jaroslav Kysela) [1683051] - [sound] ALSA: hda: Fix the audio-component completion timeout (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: rt5677-spi: Drop unused GPIO include (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: rt5682: Minor code modification (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: AMD: Fix capture unstable in beginning for some runs (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: rt5682: Fix the boost volume at the begining of playback (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: rt5682: Update calibration function (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: rt5682: Remove HP volume control (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: rt5682: Improve HP performance (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: remove redundant include (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: rt5514-spi: Get the period_bytes in the copy work to make sure the value correctly (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: soc-core: add snd_soc_is_matching_component() (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: soc-core: manage platform name under snd_soc_init_platform() (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: qdsp6: q6asm-dai: remove duplicated include from q6asm-dai.c (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: hisilicon: fix fall-through annotations (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: es8328: Fix fall-through annotations (Jaroslav Kysela) [1683051] - [sound] ALSA: fireworks: fix memory leak of response buffer at error path (Jaroslav Kysela) [1683051] - [sound] ALSA: oxfw: fix memory leak of discovered stream formats at error path (Jaroslav Kysela) [1683051] - [sound] ALSA: oxfw: fix memory leak for model-dependent data at error path (Jaroslav Kysela) [1683051] - [sound] ALSA: bebob: fix memory leak for M-Audio FW1814 and ProjectMix I/O at error path (Jaroslav Kysela) [1683051] - [sound] ALSA: atiixp: fix fall-through annotations (Jaroslav Kysela) [1683051] - [sound] ALSA: hda - Enable runtime PM only for discrete GPU (Jaroslav Kysela) [1683051] - [sound] ALSA: oxfw: fix memory leak of private data (Jaroslav Kysela) [1683051] - [sound] ALSA: firewire-tascam: fix memory leak of private data (Jaroslav Kysela) [1683051] - [sound] ALSA: firewire-digi00x: fix memory leak of private data (Jaroslav Kysela) [1683051] - [sound] ALSA: intel8x0m: Register irq handler after register initializations (Jaroslav Kysela) [1683051] - [sound] ALSA: hda: Fix implicit definition of pci_iomap() on SH (Jaroslav Kysela) [1683051] - [sound] ALSA: don't call skl_init_chip() to reset intel skl soc (Jaroslav Kysela) [1683051] - [sound] ALSA: enable interrupt after dma buffer initialization (Jaroslav Kysela) [1683051] - [sound] ALSA: Revert "ASoC: Intel: Skylake: Acquire irq after RIRB allocation" (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: soc-core: remove dai->driver NULL check (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: core: add support to card rebind (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: remove unneeded static set .owner field in platform_driver (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: rockchip: add missing INTERLEAVED PCM attribute (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: soc-core: remove unused num_dai_links (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: soc-core: avoid nested code on soc_remove_dai() (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: rt5668: remove empty rt5668_i2c_remove() (Jaroslav Kysela) [1683051] - [sound] ALSA: hda: fix unused variable warning (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: Fix UBSAN warning at snd_soc_get/put_volsw_sx() (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: pxa: switch to new ac97 bus support (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: AMD: Fix simultaneous playback and capture on different channel (Jaroslav Kysela) [1683051] - [sound] ALSA: emu10k1: fix possible info leak to userspace on SNDRV_EMU10K1_IOCTL_INFO (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: dapm: Add missing return value check for snd_soc_dapm_new_dai (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: skl-topology: Use kmemdup to replace kzalloc + memcpy (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: q6core: Use kmemdup to replace kzalloc + memcpy (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: txx9: use devm_snd_soc_register_component() (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: sh: use devm_snd_soc_register_component() (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: omap: use devm_snd_soc_register_component() (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: nuc900: use devm_snd_soc_register_component() (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: tscs454: use devm_snd_soc_register_component() (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: rt5668: use devm_snd_soc_register_component() (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: hdac_hda: use devm_snd_soc_register_component() (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: bcm: use devm_snd_soc_register_component() (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: atmel_ssc_dai: use devm_snd_soc_register_component() (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: AMD: Ensure reset bit is cleared before configuring (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: qdsp6: q6asm-dai: clean up a return (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: dapm: Fix a couple uninitialized ret variables (Jaroslav Kysela) [1683051] - [sound] ALSA: fireface: fix memory leak in ff400_switch_fetching_mode() (Jaroslav Kysela) [1683051] - [sound] ALSA: bebob: use address returned by kmalloc() instead of kernel stack for streaming DMA mapping (Jaroslav Kysela) [1683051] - [sound] ALSA: pcm: Update hardware pointer before start capture (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: max98373: usleep_range() needs include/delay.h (Jaroslav Kysela) [1683051] - [sound] ALSA: regmap: split up regmap_config.use_single_rw (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: Intel: hdac_hdmi: Limit sampling rates at dai creation (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: dapm: Avoid uninitialised variable warning (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: sgtl5000: avoid division by zero if lo_vag is zero (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: rsnd: don't use p for dev_dbg() (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: rsnd: don't fallback to PIO mode when -EPROBE_DEFER (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: rsnd: adg: care clock-frequency size (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: rsnd: gen: use tab instead of white-space (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: hdac_hdmi: remove redundant check for !port condition (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: dapm: Move CODEC to CODEC params from the widget to the runtime (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: dapm: Add support for multi-CODEC CODEC to CODEC links (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: dapm: Move connection of CODEC to CODEC DAIs (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: dapm: Cosmetic tidy up of snd_soc_dapm_new_control (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: dapm: Move error handling to snd_soc_dapm_new_control_unlocked (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: add for_each_rtd_codec_dai() macro (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: add for_each_link_codecs() macro (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: tlv320aic31xx: Add overflow detection support (Jaroslav Kysela) [1683051] - [sound] ALSA: mips: Cleanup indirect PCM helper usages (Jaroslav Kysela) [1683051] - [sound] ALSA: cs46xx: Use SNDRV_PCM_INFO_SYNC_APPLPTR info flag (Jaroslav Kysela) [1683051] - [sound] ALSA: emu10k1: Use SNDRV_PCM_INFO_SYNC_APPLPTR info flag (Jaroslav Kysela) [1683051] - [sound] ALSA: mips: Use SNDRV_PCM_INFO_SYNC_APPLPTR info flag (Jaroslav Kysela) [1683051] - [sound] ALSA: rme32: Use SNDRV_PCM_INFO_SYNC_APPLPTR info flag (Jaroslav Kysela) [1683051] - [sound] ALSA: hda: Fix several mismatch for register mask and value (Jaroslav Kysela) [1683051] - [sound] ALSA: aoa: Convert to using pOFn instead of device_node.name (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: core: Don't schedule DAPM work if already in target state (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: Add driver for PROTO Audio CODEC (with a WM8731) (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: rsnd: merge .nolock_start and .prepare (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: rsnd: ssiu: Support to init different BUSIF instance (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: rsnd: ssiu: Support BUSIF other than BUSIF0 (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoc: rsnd: dma: Calculate PDMACHCRE with consider of BUSIF (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoc: rsnd: dma: Calculate dma address with consider of BUSIF (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: rsnd: ssi: Check runtime channel number rather than hw_params (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: rsnd: ssi: Fix issue in dma data address assignment (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: rsnd: remove is_play parameter from hw_rule function (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: rsnd: add support for 8 bit S8 format (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: rsnd: add support for the DSP_A/DSP_B formats (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: rsnd: add support for 16/24 bit slot widths (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: rsnd: add warning message to rsnd_kctrl_accept_runtime() (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: rsnd: fixup not to call clk_get/set under non-atomic (Jaroslav Kysela) [1683051] - [sound] ALSA: rawmidi: Initialize allocated buffers (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: tlv320aic31xx: Add short circuit detection support (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: fix soc-core.c kernel-doc warning (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: q6routing: initialize data correctly (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: tas6424: Add channel fault reporting (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: tas6424: Save last fault register even when clear (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: tas6424: Print full register name in error message (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: simple-card-util: remove dai_link compatible code for platform (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: audio-graph-scu-card: support snd_soc_dai_link_component style for platform (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: audio-graph-card: support snd_soc_dai_link_component style for platform (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: simple-scu-card: support snd_soc_dai_link_component style for platform (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: simple-card: support snd_soc_dai_link_component style for platform (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: simple-card-util: support snd_soc_dai_link_component style for platform (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: soc-core: use snd_soc_dai_link_component for platform (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: simple-card-util: remove dai_link compatible code for codec (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: audio-graph-scu-card: support snd_soc_dai_link_component style for codec (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: audio-graph-scu-card: use simple_dai_props (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: audio-graph-card: support snd_soc_dai_link_component style for codec (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: simple-scu-card: support snd_soc_dai_link_component style for codec (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: simple-scu-card: use simple_dai_props (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: simple-card: support snd_soc_dai_link_component style for codec (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: simple_card_utils: support snd_soc_dai_link_component style for codec (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: cs4265: Add a S/PDIF enable switch (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: cs4265: Add native 32bit I2S transport (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: cs4265: SOC_SINGLE register value error fix (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: codecs: tas5720: add TAS5722 TDM slot width setting support (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: codecs: tas5720: add TAS5722 specific volume control (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: davinci-mcasp: Add support for FIFO usage caused delay reporting (Jaroslav Kysela) [1683051] - [sound] ALSA: hda - Fix cancel_work_sync() stall from jackpoll work (Jaroslav Kysela) [1683051] - [sound] ALSA: hda - Clean up jackpoll_ms option handling (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: meson: add axg pdm input (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: dmic: add DT module alias (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: dmic: add Kconfig prompt for the generic dmic codec. (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: adau17x1: Unused exported functions changed to internal (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: pcm3060: Improve legibility of if-statements (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: pcm3060: Improve stylistics of file comments (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: atmel: tse850: switch to SPDX license identifier (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: AMD: Change MCLK to 48Mhz (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: AMD: Set constraints for DMIC and MAX98357a codec (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: pcm3060: Add codec driver (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: Intel: cht-bsw-rt5672: Add key-mappings for the headset buttons (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: Intel: common: Add quirk for Thinkpad 8 tablet (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: rt5670: Add quirk for Thinkpad 8 tablet (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: adau17x1: Implemented safeload support (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: sigmadsp: safeload should not have lower byte limit (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: hdac_hda: add asoc extension for legacy HDA codec drivers (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: Intel: Skylake: use hda_bus instead of hdac_bus (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: Intel: Skylake: add HDA BE DAIs (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: Intel: Skylake: use HDAudio if ACPI enumeration fails (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: Intel: Boards: Machine driver for SKL+ w/ HDAudio codecs (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: Intel: common: add table for HDA-based platforms (Jaroslav Kysela) [1683051] - [sound] ALSA: hda: move hda_codec.h to include/sound (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: wm8804: Add ACPI support (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: rt5682: Update calibration function (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: rt5682: Change DAC/ADC volume scale (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: max98373: Added 10ms sleep after amp software reset (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: meson: axg-tdm: restrict formats depending on slot width (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: meson: axg-fifo: report interrupt request failure (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: meson: imply clock and reset controllers (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: dpcm: Properly initialise hw->rate_max (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: dapm: Don't fail creating new DAPM control on NULL pinctrl (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: dapm: Remove clock framework ifdefs (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: Convert to using pOFn instead of device_node.name (Jaroslav Kysela) [1683051] - [sound] ALSA: intel_hdmi: Use the new non-cached allocation (Jaroslav Kysela) [1683051] - [sound] ALSA: intel8x0: Use the new non-cached allocation for 440MX workaround (Jaroslav Kysela) [1683051] - [sound] ALSA: hda: Remove substream allocation/free ops (Jaroslav Kysela) [1683051] - [sound] ALSA: hda: Use new non-cached allocation for non-snoop mode (Jaroslav Kysela) [1683051] - [sound] ALSA: hda: Check the non-cached stream buffers more explicitly (Jaroslav Kysela) [1683051] - [sound] ALSA: memalloc: Add non-cached buffer type (Jaroslav Kysela) [1683051] - [sound] ALSA: memalloc: Simplify snd_malloc_dev_pages() calls (Jaroslav Kysela) [1683051] - [sound] ALSA: memalloc: Don't align the size to power-of-two (Jaroslav Kysela) [1683051] - [sound] ALSA: seq: Do error checks at creating system ports (Jaroslav Kysela) [1683051] - [sound] ALSA: seq: add error check in snd_seq_system_client_init() (Jaroslav Kysela) [1683051] - [sound] ALSA: pcm: signedness bug in snd_pcm_plug_alloc() (Jaroslav Kysela) [1683051] - [sound] ALSA: hdspm: fix spelling mistake "Initializeing" -> "Initializing" (Jaroslav Kysela) [1683051] - [sound] ALSA: pcm: Return 0 when size < start_threshold in capture (Jaroslav Kysela) [1683051] - [kvm] ALSA: treewide: correct "differenciate" and "instanciate" typos (Jaroslav Kysela) [1683051] - [sound] ALSA: hda/realtek - Fix HP Headset Mic can't record (Jaroslav Kysela) [1683051] - [sound] ALSA: ac97: fix unbalanced pm_runtime_enable (Jaroslav Kysela) [1683051] - [sound] ALSA: ac97: fix check of pm_runtime_get_sync failure (Jaroslav Kysela) [1683051] - [sound] ALSA: ac97: fix device initialization in the compat layer (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: rt5514: Fix the issue of the delay volume applied again (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: max98373: Added speaker FS gain cotnrol register to volatile. (Jaroslav Kysela) [1683051] - [sound] ALSA: update dell-wmi mic-mute registration to new world order (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: dapm: Fix NULL pointer deference on CODEC to CODEC DAIs (Jaroslav Kysela) [1683051] - [sound] ALSA: seq: virmidi: Fix discarding the unsubscribed output (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: Intel: Skylake: Acquire irq after RIRB allocation (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: wm9712: fix replace codec to component (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: Intel: bytcr_rt5640: Add quirks for 2 more devices (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: adav80x: mark expected switch fall-through (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: da7219: Add delays to capture path to remove DC offset noise (Jaroslav Kysela) [1683051] - [sound] ALSA: usb-audio: Mark expected switch fall-through (Jaroslav Kysela) [1683051] - [sound] ALSA: mixart: Mark expected switch fall-through (Jaroslav Kysela) [1683051] - [sound] ALSA: opl3: Mark expected switch fall-through (Jaroslav Kysela) [1683051] - [sound] ALSA: hda/ca0132 - Add exit commands for Recon3D (Jaroslav Kysela) [1683051] - [sound] ALSA: hda/ca0132 - Change mixer controls for Recon3D (Jaroslav Kysela) [1683051] - [sound] ALSA: hda/ca0132 - Add Recon3D input and output select commands (Jaroslav Kysela) [1683051] - [sound] ALSA: hda/ca0132 - Add DSP setup defaults for Recon3D (Jaroslav Kysela) [1683051] - [sound] ALSA: hda/ca0132 - Add Recon3D startup functions and setup (Jaroslav Kysela) [1683051] - [sound] ALSA: hda/ca0132 - Add bool variable to enable/disable pci region2 mmio (Jaroslav Kysela) [1683051] - [sound] ALSA: hda/ca0132 - Add Recon3D pincfg (Jaroslav Kysela) [1683051] - [sound] ALSA: hda/ca0132 - Add quirk ID and enum for Recon3D (Jaroslav Kysela) [1683051] - [sound] ALSA: hda/ca0132 - Add alt_functions unsolicited response (Jaroslav Kysela) [1683051] - [sound] ALSA: hda/ca0132 - Clean up ca0132_init function. (Jaroslav Kysela) [1683051] - [sound] ALSA: hda/ca0132 - Create mmio gpio function to make code clearer (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: wm_adsp: Make DSP name configurable by codec driver (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: wm_adsp: Declare firmware controls from codec driver (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: max98373: Added software reset register to readable registers (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: wm_adsp: Correct DSP pointer for preloader control (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: rt5677: Fix initialization of rt5677_of_match.data (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: compress: make BE and FE order inline with dpcm (Jaroslav Kysela) [1683051] - [sound] ALSA: intel_hdmi: remove redundant variable cfg_val (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: AMD: Set delay value for the capture case (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: AMD: Modified DMA pointer for capture (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: AMD: Make ACP->SYSMEM DMA non circular (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: wm8994: Fix missing break in switch (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: qdsp6: q6afe-dai: add SLIM tx AIF_IN dapm (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: qcom: remove unused header files from common.h (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: sdm845: remove unused header files (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: apq8096: remove unused header files (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: qcom: make common.c as proper module (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: wm8903: use true and false for boolean values (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: da9055: use true and false for boolean values (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: wm5100-tables: use true and false for boolean values (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: da7213: use true and false for boolean values (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: twl6040: use true and false for boolean values (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: da7219: use true and false for boolean values (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: wm8996: use true and false for boolean values (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: cs4270: use true and false for boolean values (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: wm8990: use true and false for boolean values (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: tda7419: use true and false for boolean values (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: rt5631: use true and false for boolean values (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: max9850: use true and false for boolean values (Jaroslav Kysela) [1683051] - [sound] ALSA: dice: fix wrong copy to rx parameters for Alesis iO26 (Jaroslav Kysela) [1683051] - [sound] ALSA: echoaudio: Mark expected switch fall-throughs (Jaroslav Kysela) [1683051] - [sound] ALSA: emu10k1: Mark expected switch fall-throughs (Jaroslav Kysela) [1683051] - [sound] ALSA: mixart: Mark expected switch fall-through (Jaroslav Kysela) [1683051] - [sound] ALSA: hda/realtek - Add mute LED quirk for HP Spectre x360 (Jaroslav Kysela) [1683051] - [sound] ALSA: seq_oss: Mark expected switch fall-through (Jaroslav Kysela) [1683051] - [sound] ALSA: seq: Mark expected switch fall-through (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: samsung: i2s: Mark expected switch fall-through (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: omap-dmic: Mark expected switch fall-throughs (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: fsl_esai: Mark expected switch fall-through (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: core: mark expected switch fall-through (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: omap-mcpdm: Mark expected switch fall-throughs (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: davinci-i2s: mark expected switch fall-through (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: smd845: fix memory leak (Jaroslav Kysela) [1683051] - [sound] ALSA: synth: Remove empty init and exit (Jaroslav Kysela) [1683051] - [sound] ALSA: pci: Remove empty init and exit (Jaroslav Kysela) [1683051] - [sound] ALSA: i2c: Remove empty init and exit (Jaroslav Kysela) [1683051] - [sound] ALSA: isa: Remove empty init and exit (Jaroslav Kysela) [1683051] - [sound] ALSA: drivers: Remove empty init and exit (Jaroslav Kysela) [1683051] - [sound] ALSA: compress: Remove empty init and exit (Jaroslav Kysela) [1683051] - [sound] ALSA: gus: fix spelling mistake "acumulator" -> "accumulator" (Jaroslav Kysela) [1683051] - [sound] ALSA: es18xx: mark expected switch fall-through (Jaroslav Kysela) [1683051] - [sound] ALSA: opti9xx: mark expected switch fall-throughs (Jaroslav Kysela) [1683051] - [sound] ALSA: opti92x: mark expected switch fall-throughs (Jaroslav Kysela) [1683051] - [sound] ALSA: galaxy: Mark expected switch fall-throughs (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: Intel: bxt: Use refcap device for mono recording (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: core: remove support for card rebind using component framework (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: smd845: remove auto rebinding (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: apq8096: remove auto rebinding (Jaroslav Kysela) [1683051] - [sound] ALSA: hda: Correct Asrock B85M-ITX power_save blacklist entry (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: qcom: Fix unmet dependency warning for SND_SOC_SDM845 (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: wm8994: Mark expected switch fall-through (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: wm9081: Mark expected switch fall-through (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: wm8995: Mark expected switch fall-through (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: wm8962: Mark expected switch fall-through (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: wm8996: Mark expected switch fall-through (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: wm8904: Mark expected switch fall-through (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: wm8960: Mark expected switch fall-through (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: wm8955: Mark expected switch fall-through (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: rt5677: Mark expected switch fall-through (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: rt5640: Mark expected switch fall-through (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: wm8961: Mark expected switch fall-through (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: fsi: convert to SPDX identifiers (Jaroslav Kysela) [1683051] - [sound] ALSA: sb: Fix a typo (Jaroslav Kysela) [1683051] - [sound] ALSA: usb-audio: Fix invalid use of sizeof in parse_uac_endpoint_attributes() (Jaroslav Kysela) [1683051] - [sound] ALSA: seq: Drop unused 64bit division macros (Jaroslav Kysela) [1683051] - [sound] ALSA: seq: Use no intrruptible mutex_lock (Jaroslav Kysela) [1683051] - [sound] ALSA: seq: Fix leftovers at probe error path (Jaroslav Kysela) [1683051] - [sound] ALSA: seq: Remove dead codes (Jaroslav Kysela) [1683051] - [sound] ALSA: seq: Minor cleanup of MIDI event parser helpers (Jaroslav Kysela) [1683051] - [sound] ALSA: usb: Mark expected switch fall-through (Jaroslav Kysela) [1683051] - [sound] ALSA: pcm: Mark expected switch fall-through (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: soc-pcm: Use delay set in component pointer function (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: wcd9335: Fix build (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: wcd9335: Fix build due to CLASS-H Controller support (Jaroslav Kysela) [1683051] - [sound] ALSA: usb-audio: remove redundant pointer 'urb' (Jaroslav Kysela) [1683051] - [sound] ALSA: sonicvibes: remove redundant pointer 'dir' (Jaroslav Kysela) [1683051] - [sound] ALSA: ens137x: remove redundant array pcm_devs (Jaroslav Kysela) [1683051] - [sound] ALSA: emu10k1: remove redundant variable attn (Jaroslav Kysela) [1683051] - [sound] ALSA: cs5535audio: remove redundant pointer 'dma' (Jaroslav Kysela) [1683051] - [sound] ALSA: asihpi: remove redundant variable max_streams (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: stm32: remove redundant pointers 'priv' and 'rtd' (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: nau8540: remove redundant variable osrate (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: qcom: add sdm845 sound card support (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: qcom: Add support to parse common audio device nodes (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: wcd9335: add CLASS-H Controller support (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: wcd9335: add support to wcd9335 codec (Jaroslav Kysela) [1683051] - [sound] ALSA: usb-audio: Operate UAC3 Power Domains in PCM callbacks (Jaroslav Kysela) [1683051] - [sound] ALSA: usb-audio: Add UAC3 Power Domains to suspend/resume (Jaroslav Kysela) [1683051] - [sound] ALSA: usb-audio: AudioStreaming Power Domain parsing (Jaroslav Kysela) [1683051] - [sound] ALSA: usb-audio: Initial Power Domain support (Jaroslav Kysela) [1683051] - [sound] ALSA: seq: virmidi: Use READ_ONCE/WRITE_ONCE() macros (Jaroslav Kysela) [1683051] - [sound] ALSA: seq: virmidi: Offload the output event processing (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: uniphier: change functions to static (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: uniphier: add support for multichannel output (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: sirf: Fix potential NULL pointer dereference (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: tegra_alc5632: fix device_node refcounting (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: sh: Kconfig: convert to SPDX identifiers (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: ak4613: convert to SPDX identifiers (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: da7210: convert to SPDX identifiers (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: ak4554: convert to SPDX identifiers (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: ak4642: convert to SPDX identifiers (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: wm8988: fix typo in rate constraints (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: tegra: i2s: Fix typo/broken macro (Jaroslav Kysela) [1683051] - [sound] ALSA: hda/hdmi: Use single mutex unlock in error paths (Jaroslav Kysela) [1683051] - [sound] ALSA: hda - Sleep for 10ms after entering D3 on Conexant codecs (Jaroslav Kysela) [1683051] - [sound] ALSA: hda - Turn CX8200 into D3 as well upon reboot (Jaroslav Kysela) [1683051] - [sound] ALSA: ctxfi: cthw20k2: Replace mdelay() with msleep() and usleep_range() (Jaroslav Kysela) [1683051] - [sound] ALSA: ALSA:: ctxfi: cthw20k1: Replace mdelay() with msleep() (Jaroslav Kysela) [1683051] - [sound] ALSA: usb-audio: quirks: Replace mdelay() with msleep() and usleep_range() (Jaroslav Kysela) [1683051] - [sound] ALSA: sb: Proper endian notations (Jaroslav Kysela) [1683051] - [sound] ALSA: atiixp_modem: Proper endian notations (Jaroslav Kysela) [1683051] - [sound] ALSA: atiixp: Proper endian notations (Jaroslav Kysela) [1683051] - [sound] ALSA: bt87x: Proper endian notations (Jaroslav Kysela) [1683051] - [sound] ALSA: echoaudio: Proper endian notations (Jaroslav Kysela) [1683051] - [sound] ALSA: maestro3: Proper endian notations (Jaroslav Kysela) [1683051] - [sound] ALSA: intel8x0m: Proper endian notations (Jaroslav Kysela) [1683051] - [sound] ALSA: intel8x0: Proper endian notations (Jaroslav Kysela) [1683051] - [sound] ALSA: lola: Proper endian notations (Jaroslav Kysela) [1683051] - [sound] ALSA: mixart: Proper endian notations (Jaroslav Kysela) [1683051] - [sound] ALSA: riptide: Properly endian notations (Jaroslav Kysela) [1683051] - [sound] ALSA: hda: Proper endian notations for BDL pointers (Jaroslav Kysela) [1683051] - [sound] ALSA: trident: Proper endian notations (Jaroslav Kysela) [1683051] - [sound] ALSA: ymfpci: Proper endian notations (Jaroslav Kysela) [1683051] - [sound] ALSA: xen: Use standard pcm_format_to_bits() for ALSA format bits (Jaroslav Kysela) [1683051] - [sound] ALSA: sb: Fix sparse warning wrt PCM format type (Jaroslav Kysela) [1683051] - [sound] ALSA: sb: Fix PCM format bit calculation (Jaroslav Kysela) [1683051] - [sound] ALSA: wss: Fix sparse warning wrt PCM format type (Jaroslav Kysela) [1683051] - [sound] ALSA: asihpi: Fix PCM format notations (Jaroslav Kysela) [1683051] - [sound] ALSA: au88x0: Fix sparse warning wrt PCM format type (Jaroslav Kysela) [1683051] - [sound] ALSA: ad1816a: Fix sparse warning wrt PCM format type (Jaroslav Kysela) [1683051] - [sound] ALSA: pcm: Fix sparse warning wrt PCM format type (Jaroslav Kysela) [1683051] - [sound] ALSA: riptide: Fix PCM format type conversion (Jaroslav Kysela) [1683051] - [sound] ALSA: hda: Fix implicit PCM format type conversion (Jaroslav Kysela) [1683051] - [sound] ALSA: virmidi: Fix too long output trigger loop (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: dmaengine: Use standard pcm_format_to_bits() macro (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: pcm186x: Declare PCM format with snd_pcm_format_t (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: fsl: Use snd_mask_set_format() (Jaroslav Kysela) [1683051] - [sound] ALSA: pcm: Fix interval evaluation with openmin/max (Jaroslav Kysela) [1683051] - [sound] ALSA: pcm: Add snd_mask_set_format() helper for standard usages (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: intel: Fix snd_pcm_format_t handling (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: dapm: Use int for format bit position (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: dmaengine: Fix missing __user prefix in copy_user callback (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: zte: Fix incorrect PCM format bit usages (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: meson: align axg card driver with DT bindings documentation (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: meson: use IRQ_RETVAL in the fifo irq handler (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: AMD: Fix build warning (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: AMD: Add a fix voltage regulator for DA7219 and ADAU7002 (Jaroslav Kysela) [1683051] - [sound] ALSA: memalloc: Fix missing PAGE_SIZE definition (Jaroslav Kysela) [1683051] - [sound] ALSA: memalloc: declare snd_sgbuf_aligned_pages() unconditionally (Jaroslav Kysela) [1683051] - [sound] ALSA: emu10k1: Fix missing __force annotation for user/kernel pointer cast (Jaroslav Kysela) [1683051] - [sound] ALSA: korg1212: Add __force annotation to cast in user-copy callbacks (Jaroslav Kysela) [1683051] - [sound] ALSA: pcm: Use standard lower_32_bits() and upper_32_bits() (Jaroslav Kysela) [1683051] - [sound] ALSA: usb-audio: Declare the common variable in header file (Jaroslav Kysela) [1683051] - [sound] ALSA: opl3: Declare common variables properly (Jaroslav Kysela) [1683051] - [sound] ALSA: hda - Fix a sparse warning about snd_ctl_elem_iface_t (Jaroslav Kysela) [1683051] - [sound] ALSA: msnd: Use NULL instead of 0 (Jaroslav Kysela) [1683051] - [sound] ALSA: hda/ca0132 - Use NULL instead of 0 (Jaroslav Kysela) [1683051] - [sound] ALSA: msnd: Fix the default sample sizes (Jaroslav Kysela) [1683051] - [sound] ALSA: msnd: Add missing __iomem annotations (Jaroslav Kysela) [1683051] - [sound] ALSA: usb-audio: Fix multiple definitions in AU0828_DEVICE() macro (Jaroslav Kysela) [1683051] - [sound] ALSA: usb-audio: Add support for Encore mDSD USB DAC (Jaroslav Kysela) [1683051] - [sound] ALSA: cs5535audio: Fix invalid endian conversion (Jaroslav Kysela) [1683051] - [sound] ALSA: vxpocket: Fix invalid endian conversions (Jaroslav Kysela) [1683051] - [sound] ALSA: vx222: Fix invalid endian conversions (Jaroslav Kysela) [1683051] - [sound] ALSA: seq: Fix poll() error return (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: Intel: Skylake: fix widget handling (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: Intel: Atom: fix inversion between __iowrite32 and __ioread32 (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: Intel: Atom: simplify iomem address and casts (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: Intel: common: make sst_dma functions static (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: Intel: Skylake: BDL definitions should be __le32 (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: Intel: Haswell: fix endianness handling (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: rt5631: add Volume to the name of volume control (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: imx-sgtl5000: Switch to SPDX identifier (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: fsl_utils: Switch to SPDX identifier (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: fsl_asrc: Switch to SPDX identifier (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: fsl-asoc-card: Switch to SPDX identifier (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: core: add support to snd_soc_dai_get_channel_map() (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: rt5514: Fix the issue of the delay volume applied (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: meson: axg-spdifout: select SND_PCM_IEC958 (Jaroslav Kysela) [1683051] - [sound] ALSA: hda/i915: Allow delayed i915 audio component binding (Jaroslav Kysela) [1683051] - [sound] ALSA: usb-audio: Generic DSD detection for Thesycon-based implementations (Jaroslav Kysela) [1683051] - [sound] ALSA: memalloc: Don't exceed over the requested size (Jaroslav Kysela) [1683051] - [sound] ALSA: timer: catch invalid timer object creation (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: pxa: remove clock divider and pll setup from zylonite and magician (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: meson: add axg sound card support (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: export snd_soc_of_get_slot_mask (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: meson: add tdm input driver (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: meson: add tdm output driver (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: meson: add tdm interface driver (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: meson: add tdm formatter base driver (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: tegra: improve goto error label (Jaroslav Kysela) [1683051] - [usb] ALSA: powerpc/ps3: Set driver coherent_dma_mask (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: Intel: bytcr_rt5640: Add quirk for the "Connect Tablet 9" tablet (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: Intel: bytcr_rt5651: Add quirk table entries for various devices (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: Intel: bytcr_rt5651: Add mono speaker quirk (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: Intel: bytcr_rt5651: Add IN2 input mapping (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: Intel: bytcr_rt5651: Set OVCD limit for VIOS LTH17 to 2000uA (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: Intel: bytcr_rt5651: Fix using the wrong GPIO for the ext-amp on some boards (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: rt5651: Add IN3 Boost volume control (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: wm_adsp: Parse HOST_BUFFER controls (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: wm_adsp: Allow up to 8 channels for voice control (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: wm_adsp: Take prefix into account in control name length (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: wm_adsp: Correct algorithm list allocation size (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: wm_adsp: Ensure DSP boot work complete before preloader_put return (Jaroslav Kysela) [1683051] - [sound] ALSA: usb-audio: Allow changing from a bad sample rate (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: meson: add axg spdif output (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: meson: add axg toddr driver (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: meson: add axg frddr driver (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: meson: add axg fifo base driver (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: hdac_hdmi: Add documentation for power management (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: qcom: apq8096: remove component framework related code (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: qdsp6: q6routing: remove component framework related code (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: qdsp6: q6asm-dai: remove component framework related code (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: qdsp6: q6afe-dai: remove component fw related code (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: core: add support to card re-bind using component framework (Jaroslav Kysela) [1683051] - [sound] ALSA: pcm: Add __force to cast in snd_pcm_lib_read/write() (Jaroslav Kysela) [1683051] - [sound] ALSA: pcm: Nuke snd_pcm_lib_mmap_vmalloc() (Jaroslav Kysela) [1683051] - [sound] ALSA: rawmidi: Use kvmalloc() for buffers (Jaroslav Kysela) [1683051] - [sound] ALSA: rawmidi: Minor code refactoring (Jaroslav Kysela) [1683051] - [sound] ALSA: rawmidi: Simplify error paths (Jaroslav Kysela) [1683051] - [sound] ALSA: rawmidi: Tidy up coding styles (Jaroslav Kysela) [1683051] - [sound] ALSA: hda: Make audio component support more generic (Jaroslav Kysela) [1683051] - [sound] ALSA: hda/i915: Associate audio component with devres (Jaroslav Kysela) [1683051] - [sound] ALSA: drm/i915: Split audio component to a generic type (Jaroslav Kysela) [1683051] - [sound] ALSA: emu8000: Use swap macro in snd_emu8000_sample_new (Jaroslav Kysela) [1683051] - [sound] ALSA: emu10k1_patch: Use swap macro in snd_emu10k1_sample_new (Jaroslav Kysela) [1683051] - [gpu] ALSA: vga_switcheroo: set audio client id according to bound GPU id (Jaroslav Kysela) [1683051] - [sound] ALSA: hda: use PCI_BASE_CLASS_DISPLAY to replace PCI_CLASS_DISPLAY_VGA (Jaroslav Kysela) [1683051] - [sound] ALSA: usb-audio: Tidy up logic for Processing Unit min/max values (Jaroslav Kysela) [1683051] - [sound] ALSA: usb-audio: Unify virtual type units type to UAC3 values (Jaroslav Kysela) [1683051] - [include] ALSA: usb-audio: Add support for Processing Units in UAC3 (Jaroslav Kysela) [1683051] - [sound] ALSA: usb-audio: Processing Unit controls parsing in UAC2 (Jaroslav Kysela) [1683051] - [sound] ALSA: usb-audio: Add support for Selector Units in UAC3 (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: AMD: For capture have interrupts on I2S->ACP channel (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: AMD: Send correct channel for configuring DMA descriptors (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: Intel: Boards: Add GLK Realtek Maxim I2S machine driver (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: hdmi-codec: fix routing (Jaroslav Kysela) [1683051] - [sound] ALSA: cs46xx: remove redundant pointer 'ins' (Jaroslav Kysela) [1683051] - [sound] ALSA: ali5451: remove redundant pointer 'codec' (Jaroslav Kysela) [1683051] - [sound] ALSA: sb8: remove redundant pointer runtime (Jaroslav Kysela) [1683051] - [sound] ALSA: gus: remove redundant pointer private_data (Jaroslav Kysela) [1683051] - [sound] ALSA: es1688: remove redundant pointer chip (Jaroslav Kysela) [1683051] - [sound] ALSA: opl3: remove redundant pointer opl3 (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: qdsp6: q6routing: off by one in routing_hw_params() (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: qdsp6: q6afe-dai: fix a range check in of_q6afe_parse_dai_data() (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: allow soc-core to pick up name prefixes from component nodes (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: dpcm: add rate merge to the BE stream merge (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: dpcm: rework runtime stream merge (Jaroslav Kysela) [1683051] - [sound] ALSA: pcm: Fix snd_interval_refine first/last with open min/max (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: Intel: bytcr_rt5651: Reporting button presses (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: Intel: bytcr_rt5651: Disable jack-detect over suspend/resume (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: rt5651: Add button press support (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: rt5651: Allow disabling jack-detect by calling set_jack(NULL) (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: rt5651: Fix workqueue cancel vs irq free race on remove (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: Intel: bytcr_rt5651: Add support for externar amplifier enable GPIO (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: Intel: bytcr_rt5651: Move getting of codec_dev into probe() (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: Intel: bytcr_rt5651: Remove is_valleyview helper (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: Intel: bytcr_rt5640: Add quirk for the Lenovo Miix2 8 tablet (Jaroslav Kysela) [1683051] - [dma] ALSA: dmaengine: add support for reporting pause and resume separately (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: adau171x1: Connect playback DAI to the DSP (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: pxa: make SND_PXA_SOC_SSP depend on PLAT_PXA (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: stm32: replace "p" with "pK" (Jaroslav Kysela) [1683051] - [sound] ALSA: pcm: Allow drivers to set R/W wait time. (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: nau8824: use 64-bit arithmetic instead of 32-bit (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: pxa-ssp: add support for an external clock in devicetree (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: rsnd: cmd: Add missing newline to debug message (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: fsl_spdif: Use 64-bit arithmetic instead of 32-bit (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: qdsp6: q6afe-dai: Do not overwrite slim dai num_channels (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: qdsp6: q6routing: add slim rx routings (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: qdsp6: q6afe-dai: add support to slim tx dais (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: qdsp6: q6afe: Add missing slimbus capture ports (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: stm32: Use snd_pcm_stop_xrun() helper (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: sti: Use snd_pcm_stop_xrun() helper (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: qcom: Use snd_pcm_stop_xrun() helper (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: davinci: Use snd_pcm_stop_xrun() helper (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: nau8825: use 64-bit arithmetic instead of 32-bit (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: qdsp6: q6asm-dai: do not close port if its not opened (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: qdsp6: q6afe-dai: do not close port if its not opened (Jaroslav Kysela) [1683051] - [sound] ALSA: pcm: Use snd_pcm_stop_xrun() for xrun injection (Jaroslav Kysela) [1683051] - [sound] ALSA: pcm: trace XRUN event at injection, too (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: core: Allow topology to override machine driver FE DAI link config. (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: atmel-i2s: Remove unnecessary audio PLL clock (aclk) (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: es7134: add support for the es7154 (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: es7134: correct required power supplies (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: AMD: Simplify trigger handler (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: AMD: Reset bytescount when starting transaction (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: AMD: Do not generate interrups for every captured sample (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: AMD: Fix Capture DMA channel names (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: AMD: Always subtract bytescount (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: AMD: Always stop ch2 first (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: pxa-ssp: mark expected switch fall-through (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: es7241: add es7241 codec support (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: rt5682: add button detection mode control (Jaroslav Kysela) [1683051] - [sound] ALSA: usb-midi: use irqsave() in USB's complete callback (Jaroslav Kysela) [1683051] - [sound] ALSA: usb: caiaq: audio: use irqsave() in USB's complete callback (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: es7134: Add VDD and AVDD power supplies (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: es7134: check if mclk rate is valid (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: es7134: remove 64kHz rate from the supported rates (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: pxa-ssp: remove .set_pll() and .set_clkdiv() callbacks (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: pxa: select SND_PXA2XX_LIB for drivers that depend on it (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: ac97: convert to SPDX identifiers (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: soc-generic-dmaengine-pcm: convert to SPDX identifiers (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: soc-compress: convert to SPDX identifiers (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: soc-topology: convert to SPDX identifiers (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: soc-dapm: convert to SPDX identifiers (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: soc-core: convert to SPDX identifiers (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: soc-acpi: convert to SPDX identifiers (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: soc-devres.c: convert to SPDX identifiers (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: soc-utils.c: convert to SPDX identifiers (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: soc-jack.c: convert to SPDX identifiers (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: soc-dpcm.h: convert to SPDX identifiers (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: soc-pcm.c: convert to SPDX identifiers (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: soc-ops.c: convert to SPDX identifiers (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: soc-dai.h: convert to SPDX identifiers (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: soc-io.c: convert to SPDX identifiers (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: audio-graph-scu-card.c: convert to SPDX identifiers (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: audio-graph-card.c: convert to SPDX identifiers (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: simple-scu-card.c: convert to SPDX identifiers (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: simple-card-utils: convert to SPDX identifiers (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: simple-card: convert to SPDX identifiers (Jaroslav Kysela) [1683051] - [sound] ALSA: snd-aoa: add of_node_put() in error path (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: mt6797: sub dai use list_head (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: mediatek: sub dai use list_head (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: pxa: make SND_PXA2XX_SOC_I2S selectable (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: pxa: remove bindings from pxa2xx-pcm (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: pxa: provide PCM ops for ssp, i2s and ac97 components (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: pxa2xx-pcm-lib: fix indenting (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: pxa: move some functions to pxa2xx-lib (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: pxa: clean up function names in pxa2xx-lib (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: fold pxa2xx-pcm into its only user, pxa2xx-ac97 (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: pxa: remove the dmaengine compat need (Jaroslav Kysela) [1683051] - [sound] ALSA: hda/hdmi - Don't fall back to generic when i915 binding fails (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: dpcm: don't merge format from invalid codec dai (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: dpcm: extend channel merging to the backend cpu dai (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: qdsp6: qdafe: fix some off by one bugs (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: dpcm: improve runtime update predictability (Jaroslav Kysela) [1683051] - [sound] ALSA: hda: Add AZX_DCAPS_PM_RUNTIME for AMD Raven Ridge (Jaroslav Kysela) [1683051] - [sound] ALSA: hdac: add extended ops in the hdac_bus (Jaroslav Kysela) [1683051] - [sound] ALSA: hdac: remove memory allocation from snd_hdac_ext_bus_device_init (Jaroslav Kysela) [1683051] - [sound] ALSA: hda: split snd_hda_codec_new function (Jaroslav Kysela) [1683051] - [sound] ALSA: hdac: ext: add wait for codec to respond after link reset (Jaroslav Kysela) [1683051] - [sound] ALSA: hdac: Remove usage of struct hdac_ext_driver, use hdac_driver instead (Jaroslav Kysela) [1683051] - [sound] ALSA: hdac: Remove usage of struct hdac_ext_bus and use hdac_bus instead (Jaroslav Kysela) [1683051] - [sound] ALSA: hdac: Remove usage of struct hdac_ext_device and use hdac_device instead (Jaroslav Kysela) [1683051] - [sound] ALSA: hda - Move in_pm accessors to HDA core (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: tas517x: add tas5707 support (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: simple-amplifer: add simple-amplifier compatible (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: simple-amplifier: rename dio2125 to simple-amplifer (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: Intel: bytcr_rt5651: Sort DMI table entries alphabetically (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: Intel: bytcr_rt5651: Add BYT_RT5651_HP_LR_SWAPPED quirk (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: Intel: bytcr_rt5651: Simplify card long-name (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: Intel: bytcr_rt5651: Fix DMIC map headsetmic mapping (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: Intel: bytcr_rt5651: Fix IN1 map headsetmic mapping (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: Intel: bytcr_rt5651: Remove IN2 input mappings (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: Intel: bytcr_rt5651: Fix IN1_IN2_MAP quirk not being logged (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: Intel: bytcr_rt5651: Change default input map from in2 to in1 (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: Intel: bytcr_rt5651: Add BYT_RT5651_DEFAULT_QUIRKS define (Jaroslav Kysela) [1683051] - [sound] ALSA: hda - Kill snd_hda_codec_update_cache() (Jaroslav Kysela) [1683051] - [sound] ALSA: hda/realtek - Comprehensive model list for ALC882 & co (Jaroslav Kysela) [1683051] - [sound] ALSA: hda/realtek - Comprehensive model list for ALC262 (Jaroslav Kysela) [1683051] - [sound] ALSA: hda/realtek - Comprehensive model list for ALC268 (Jaroslav Kysela) [1683051] - [sound] ALSA: hda/realtek - Comprehensive model list for ALC259 & co (Jaroslav Kysela) [1683051] - [sound] ALSA: hda/realtek - Comprehensive model list for ALC662 & co (Jaroslav Kysela) [1683051] - [sound] ALSA: Fix references to Documentation/.*/MultiSound (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: qdsp6: q6asm: remove unused struct q6asm member (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: qdsp6: q6routing: add proper error check (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: qcom: apq8096: remove redundant owner assignment (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: qdsp6: q6routing: support dt based module loading (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: qdsp6: q6asm-dai: support dt based module loading (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: qdsp6: q6afe-dai: support dt based module loading (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: qdsp6: q6afe: use of_platform_populate/depopulate() (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: qdsp6: q6asm: use of_platform_populate/depopulate() (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: qdsp6: q6adm: use of_platform_populate/depopulate() (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: soc-utils: Fix unregistration order (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: cx20442: Don't ignore regulator_get() errors. (Jaroslav Kysela) [1683051] - [sound] ALSA: hda/realtek - Apply PRE_PROBE fixup after ALC269 codec variant setups (Jaroslav Kysela) [1683051] - [sound] ALSA: hda/via - Use standard verb containers (Jaroslav Kysela) [1683051] - [sound] ALSA: hda/via - Simplify control management (Jaroslav Kysela) [1683051] - [sound] ALSA: hda/via - Rewrite with error goto (Jaroslav Kysela) [1683051] - [sound] ALSA: hda/cirrus - Simplify creation of new controls (Jaroslav Kysela) [1683051] - [sound] ALSA: hda/conexant - Clean up beep code (Jaroslav Kysela) [1683051] - [sound] ALSA: hda/realtek - Use common helper for creating beep controls (Jaroslav Kysela) [1683051] - [sound] ALSA: hda/realtek - Use common helper for creating ALC268 beep controls (Jaroslav Kysela) [1683051] - [sound] ALSA: hda/realtek - Use common GPIO mask for ALC660VD ASUS fixup (Jaroslav Kysela) [1683051] - [sound] ALSA: hda/realtek - Simplify Dell XPS13 GPIO handling (Jaroslav Kysela) [1683051] - [sound] ALSA: hda/realtek - Convert some manual GPIO setups (Jaroslav Kysela) [1683051] - [sound] ALSA: hda/realtek - Simplify mute LED GPIO handling (Jaroslav Kysela) [1683051] - [sound] ALSA: hda/realtek - Simplify alc885_fixup_macpro_gpio() (Jaroslav Kysela) [1683051] - [sound] ALSA: hda/realtek - Consolidate gpio_data and gpio_led (Jaroslav Kysela) [1683051] - [sound] ALSA: hda/realtek - Add GPIO data update helper (Jaroslav Kysela) [1683051] - [sound] ALSA: hda/realtek - Manage GPIO bits commonly (Jaroslav Kysela) [1683051] - [sound] ALSA: hda/realtek - Allow skipping spec->init_amp detection (Jaroslav Kysela) [1683051] - [sound] ALSA: ac97: add codecs devicetree binding (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: soc-pcm: DPCM cares BE channel constraint (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: AMD: Configure channel 1 or channel 0 for capture (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: AMD: Change codec to channel link as per hardware redesign (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: uniphier: remove redundant check of PLL ID (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: rt1305: use devm_snd_soc_register_component() (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: rt5682: use devm_snd_soc_register_component() (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: Intel: common: fix missing rename from 'reef' to 'sof' (Jaroslav Kysela) [1683051] - [sound] ALSA: hda/realtek - Simplify alc269_fixup_hp_line1_mic1_led() (Jaroslav Kysela) [1683051] - [sound] ALSA: hda - Sanity check of unexpected cap_sync_hook override (Jaroslav Kysela) [1683051] - [sound] ALSA: hda/sigmatel - Use common helper for mic mute LED (Jaroslav Kysela) [1683051] - [sound] ALSA: hda - Allow multiple ADCs for mic mute LED controls (Jaroslav Kysela) [1683051] - [sound] ALSA: hda/conexant - Use the mic-mute LED helper (Jaroslav Kysela) [1683051] - [sound] ALSA: hda/realtek - Use the mic-mute LED helper for HP and others (Jaroslav Kysela) [1683051] - [sound] ALSA: hda - Use the common helper for thinkpad_acpi mic mute LED handling (Jaroslav Kysela) [1683051] - [sound] ALSA: hda - Move mic mute LED helper to the generic parser (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: Intel: common: rename 'reef' to 'sof' in ACPI matching table (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: arizona: Set compressed IRQ to a wake source (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: wm_adsp: Simplify handling of alg offset and length (Jaroslav Kysela) [1683051] - [sound] ALSA: firewire-motu: add support for Motu Traveler (Jaroslav Kysela) [1683051] - [sound] ALSA: firewire-motu: cancel chunk alignment for protocol version 2 (Jaroslav Kysela) [1683051] - [sound] ALSA: firewire-motu: add a flag for AES/EBU on XLR interface (Jaroslav Kysela) [1683051] - [sound] ALSA: firewire-motu: add a flag for chunks for main 1/2 out (Jaroslav Kysela) [1683051] - [sound] ALSA: firewire-motu: suppless consumption for unused element of array in stack (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: pcm: Tidy up open/hw_params handling (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: Intel: common: fix copy/paste issue with SOF/broadwell topology file (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: Intel: common: add entries for SOF-based machine drivers (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: Intel: common: add firmware/topology information for SOF (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: Intel: common: Add Geminilake Dialog+Maxim machine driver entry (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: Intel: move SKL+ codec ACPI tables to common directory (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: Intel: Skylake: cleanup before moving ACPI tables (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: Intel: broxton: reduce machine name for bxt_da7219_max98357a (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: Intel: kbl_da7219_max98357a: add fe_ops for kbl Audio Capture Port (Jaroslav Kysela) [1683051] - [sound] ALSA: ARM: pxa: change SSP DMA channels allocation (Jaroslav Kysela) [1683051] - [sound] ALSA: line6: stop using get_seconds() (Jaroslav Kysela) [1683051] - [sound] ALSA: ctxfi: use enum type CT_SUM_CTL where appropriate (Jaroslav Kysela) [1683051] - [sound] ALSA: ice1724: remove unused array (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: Intel: bytcr_rt5640: Fix Acer Iconia 8 over-current detect threshold (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: Intel: bytcr_rt5640: Add quirk for the Nuvison/TMax TM800W560 tablet (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: tegra: fix device_node refcounting (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: pxa: add devicetree support (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: codecs: PCM1789: unconditionally flush work (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: rt5682: add rt5682 codec driver (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: TSCS42xx: Add headphone auto switching (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: TSCS42xx: Remove Playback/Capture in names (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: TSCS42xx: Add mic bias boost control (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: ak4458: make structure soc_codec_dev_ak4458 static const (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: ak5558: make two structures static (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: twl6040: make pointer dmic_codec_dev static (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: qcom: apq8096: set card as device drvdata (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: rsnd: add rsnd_daidrv_get() (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: audio-graph-card: add hp and mic detect gpios same as simple-card (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: simple-card: move hp and mic detection to soc_card probe (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: simple-card-utils: move hp and mic detect gpios from simple-card (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: Intel: bytcr_rt5640: Add quirk for the Chuwi Vi10 tablet (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: rt1305: Use ULL suffixes for 64-bit constants (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: rockchip: add config for rockchip dmaengine pcm register (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: rockchip: put device_node on remove (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: stm32: sai: add iec958 controls support (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: AMD: Add NULL pointer check (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: rsnd: SSI parent cares SWSP bit (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: rsnd: has .symmetric_rates if SSIs are sharing WS pin (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: sh7760-ac97: convert to SPDX identifiers (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: dma-sh7760: convert to SPDX identifiers (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: migor: convert to SPDX identifiers (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: rsnd: convert to SPDX identifiers (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: siu: convert to SPDX identifiers (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: ssi: convert to SPDX identifiers (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: hac: convert to SPDX identifiers (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: fsi: convert to SPDX identifiers (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: topology: Add callback for DAPM route load/unload (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: topology: Give more data to clients via callbacks (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: dapm: Fix potential DAI widget pointer deref when linking DAIs (Jaroslav Kysela) [1683051] - [fs] gfs2: Fix loop in gfs2_rbm_find (v2) (Andreas Grunbacher) [1690483] - [fs] gfs2: Rename bitmap.bi_{len => bytes} (Andreas Grunbacher) [1690483]- [vfio] vfio/pci: Mask buggy SR-IOV VF INTx support (Myron Stowe) [1678076] - [netdrv] net/ibmvnic: Update carrier state after link state change (Steve Best) [1711282] - [netdrv] net/ibmvnic: Update MAC address settings after adapter reset (Steve Best) [1711282] - [scsi] scsi: storvsc: Reduce default ring buffer size to 128 Kbytes (Cathy Avery) [1691370] - [scsi] scsi: storvsc: Fix calculation of sub-channel count (Cathy Avery) [1691370] - [powercap] powercap: RAPL: Get rid of custom RAPL_CPU() macro (Alexander Beregalov) [1706827] - [tools] tools/power turbostat: Increase default buffer size (Prarit Bhargava) [1711260] - [char] virtio_console: initialize vtermno value for ports (Pankaj Gupta) [1460636] - [rpmspec] redhat: exclude kvm_stat from pathfix.py's tenure (Vitaly Kuznetsov) [1692804] - [virt] kvm: arm: Skip stage2 huge mappings for unaligned ipa backed by THP (Vitaly Kuznetsov) [1692804] - [virt] KVM: arm/arm64: Ensure vcpu target is unset on reset failure (Vitaly Kuznetsov) [1692804] - [virt] KVM: arm/arm64: vgic-v3: Retire pending interrupts on disabling LPIs (Vitaly Kuznetsov) [1692804] - [virt] KVM: arm/arm64: arch_timer: Fix CNTP_TVAL calculation (Vitaly Kuznetsov) [1692804] - [kvm] KVM: VMX: Move RSB stuffing to before the first RET after VM-Exit (Vitaly Kuznetsov) [1692804] - [kvm] KVM: nVMX: Fix size checks in vmx_set_nested_state (Vitaly Kuznetsov) [1692804] - [kvm] KVM: lapic: Check for in-kernel LAPIC before deferencing apic pointer (Vitaly Kuznetsov) [1692804] - [virt] KVM: fix KVM_CLEAR_DIRTY_LOG for memory slots of unaligned size (Vitaly Kuznetsov) [1692804] - [kvm] x86/kvm/mmu: reset MMU context when 32-bit guest switches PAE (Vitaly Kuznetsov) [1692804] - [kvm] KVM: x86: Whitelist port 0x7e for pre-incrementing rip (Vitaly Kuznetsov) [1692804] - [kvm] KVM: lapic: Convert guest TSC to host time domain if necessary (Vitaly Kuznetsov) [1692804] - [kvm] KVM: lapic: Allow user to disable adaptive tuning of timer advancement (Vitaly Kuznetsov) [1692804] - [kvm] KVM: lapic: Track lapic timer advance per vCPU (Vitaly Kuznetsov) [1692804] - [kvm] KVM: lapic: Disable timer advancement if adaptive tuning goes haywire (Vitaly Kuznetsov) [1692804] - [kvm] x86: kvm: hyper-v: deal with buggy TLB flush requests from WS2012 (Vitaly Kuznetsov) [1692804] - [kvm] KVM: x86: Consider LAPIC TSC-Deadline timer expired if deadline too short (Vitaly Kuznetsov) [1692804] - [kvm] KVM: x86: avoid misreporting level-triggered irqs as edge-triggered in tracing (Vitaly Kuznetsov) [1692804] - [virt] KVM: fix spectrev1 gadgets (Vitaly Kuznetsov) [1692804] - [kvm] KVM: x86: fix warning Using plain integer as NULL pointer (Vitaly Kuznetsov) [1692804] - [tools] selftests: kvm: add a selftest for SMM (Vitaly Kuznetsov) [1692804] - [tools] selftests: kvm: fix for compilers that do not support -no-pie (Vitaly Kuznetsov) [1692804] - [tools] selftests: kvm/evmcs_test: complete I/O before migrating guest state (Vitaly Kuznetsov) [1692804] - [kvm] KVM: x86: Always use 32-bit SMRAM save state for 32-bit kernels (Vitaly Kuznetsov) [1692804] - [kvm] KVM: x86: Don't clear EFER during SMM transitions for 32-bit vCPU (Vitaly Kuznetsov) [1692804] - [kvm] KVM: x86: clear SMM flags before loading state while leaving SMM (Vitaly Kuznetsov) [1692804] - [kvm] KVM: x86: Open code kvm_set_hflags (Vitaly Kuznetsov) [1692804] - [kvm] KVM: x86: Load SMRAM in a single shot when leaving SMM (Vitaly Kuznetsov) [1692804] - [kvm] KVM: nVMX: Expose RDPMC-exiting only when guest supports PMU (Vitaly Kuznetsov) [1692804] - [kvm] x86/kvm: move kvm_load/put_guest_xcr0 into atomic context (Vitaly Kuznetsov) [1692804] - [kvm] KVM: x86: svm: make sure NMI is injected after nmi_singlestep (Vitaly Kuznetsov) [1692804] - [kvm] svm/avic: Fix invalidate logical APIC id entry (Vitaly Kuznetsov) [1692804] - [kvm] Revert "svm: Fix AVIC incomplete IPI emulation" (Vitaly Kuznetsov) [1692804] - [kvm] kvm: mmu: Fix overflow on kvm mmu page limit calculation (Vitaly Kuznetsov) [1692804] - [kvm] KVM: nVMX: always use early vmcs check when EPT is disabled (Vitaly Kuznetsov) [1692804] - [kvm] KVM: nVMX: allow tests to use bad virtual-APIC page address (Vitaly Kuznetsov) [1692804] - [kvm] KVM: x86/mmu: Fix an inverted list_empty() check when zapping sptes (Vitaly Kuznetsov) [1692804] - [kvm] KVM: x86: nVMX: fix x2APIC VTPR read intercept (Vitaly Kuznetsov) [1692804] - [kvm] KVM: x86: nVMX: close leak of L0's x2APIC MSRs (CVE-2019-3887) (Vitaly Kuznetsov) [1692804] - [kvm] KVM: SVM: prevent DBG_DECRYPT and DBG_ENCRYPT overflow (Vitaly Kuznetsov) [1692804] - [kvm] kvm: svm: fix potential get_num_contig_pages overflow (Vitaly Kuznetsov) [1692804] - [documentation] Documentation: kvm: clarify KVM_SET_USER_MEMORY_REGION (Vitaly Kuznetsov) [1692804] - [tools] KVM: selftests: complete IO before migrating guest state (Vitaly Kuznetsov) [1692804] - [tools] KVM: selftests: disable stack protector for all KVM tests (Vitaly Kuznetsov) [1692804] - [tools] KVM: selftests: explicitly disable PIE for tests (Vitaly Kuznetsov) [1692804] - [tools] KVM: selftests: assert on exit reason in CR4/cpuid sync test (Vitaly Kuznetsov) [1692804] - [kvm] KVM: x86: update rip after emulating IO (Vitaly Kuznetsov) [1692804] - [kvm] x86/kvm/hyper-v: avoid spurious pending stimer on vCPU init (Vitaly Kuznetsov) [1692804] - [kvm] kvm/x86: Move MSR_IA32_ARCH_CAPABILITIES to array emulated_msrs (Vitaly Kuznetsov) [1692804] - [kvm] KVM: x86: Emulate MSR_IA32_ARCH_CAPABILITIES on AMD hosts (Vitaly Kuznetsov) [1692804] - [virt] kvm: don't redefine flags as something else (Vitaly Kuznetsov) [1692804] - [kvm] kvm: mmu: Used range based flushing in slot_handle_level_range (Vitaly Kuznetsov) [1692804] - [x86] x86/hyper-v: Fix definition of HV_MAX_FLUSH_REP_COUNT (Vitaly Kuznetsov) [1692804] - [kvm] KVM: x86: remove check on nr_mmu_pages in kvm_arch_commit_memory_region() (Vitaly Kuznetsov) [1692804] - [kvm] kvm: nVMX: Add a vmentry check for HOST_SYSENTER_ESP and HOST_SYSENTER_EIP fields (Vitaly Kuznetsov) [1692804] - [kvm] KVM: SVM: Workaround errata#1096 (insn_len maybe zero on SMAP violation) (Vitaly Kuznetsov) [1692804] - [virt] KVM: Reject device ioctls from processes other than the VM's creator (Vitaly Kuznetsov) [1692804] - [documentation] KVM: doc: Fix incorrect word ordering regarding supported use of APIs (Vitaly Kuznetsov) [1692804] - [kvm] KVM: x86: fix handling of role.cr4_pae and rename it to 'gpte_size' (Vitaly Kuznetsov) [1692804] - [kvm] KVM: nVMX: Do not inherit quadrant and invalid for the root shadow EPT (Vitaly Kuznetsov) [1692804] - [virt] KVM: arm/arm64: Comments cleanup in mmu.c (Vitaly Kuznetsov) [1692804] - [virt] KVM: arm/arm64: vgic-its: Make attribute accessors static (Vitaly Kuznetsov) [1692804] - [virt] KVM: arm/arm64: Fix handling of stage2 huge mappings (Vitaly Kuznetsov) [1692804] - [virt] KVM: arm/arm64: Enforce PTE mappings at stage2 when needed (Vitaly Kuznetsov) [1692804] - [virt] KVM: arm/arm64: vgic-its: Take the srcu lock when parsing the memslots (Vitaly Kuznetsov) [1692804] - [virt] KVM: arm/arm64: vgic-its: Take the srcu lock when writing to guest memory (Vitaly Kuznetsov) [1692804] - [virt] arm64: KVM: Always set ICH_HCR_EL2.EN if GICv4 is enabled (Vitaly Kuznetsov) [1692804] - [kvm] KVM: arm64: Reset the PMU in preemptible context (Vitaly Kuznetsov) [1692804] - [kvm] kvm: vmx: fix formatting of a comment (Vitaly Kuznetsov) [1692804] - [documentation] KVM: doc: Document the life cycle of a VM and its resources (Vitaly Kuznetsov) [1692804] - [kvm] Revert "KVM/MMU: Flush tlb directly in the kvm_zap_gfn_range()" (Vitaly Kuznetsov) [1692804] - [documentation] virtio-ccw: diag 500 may return a negative cookie (Vitaly Kuznetsov) [1692804] - [kvm] KVM: PPC: Book3S: Add count cache flush parameters to kvmppc_get_cpu_char() (Vitaly Kuznetsov) [1692804] - [virt] kvm: properly check debugfs dentry before using it (Vitaly Kuznetsov) [1692804] - [powerpc] KVM: PPC: Fix compilation when KVM is not enabled (Vitaly Kuznetsov) [1692804] - [powerpc] powerpc: Avoid circular header inclusion in mmu-hash.h (Vitaly Kuznetsov) [1692804] - [kvm] KVM: MMU: record maximum physical address width in kvm_mmu_extended_role (Vitaly Kuznetsov) [1692804] - [kvm] kvm: x86: Return LA57 feature based on hardware capability (Vitaly Kuznetsov) [1692804] - [kvm] x86/kvm/mmu: fix switch between root and guest MMUs (Vitaly Kuznetsov) [1692804] - [virt] KVM: Minor cleanups for kvm_main.c (Vitaly Kuznetsov) [1692804] - [kvm] arm64: KVM: Fix architecturally invalid reset value for FPEXC32_EL2 (Vitaly Kuznetsov) [1692804] - [kvm] powerpc/kvm: Save and restore host AMR/IAMR/UAMOR (Vitaly Kuznetsov) [1692804] - [kvm] KVM: PPC: Book3S: Improve KVM reference counting (Vitaly Kuznetsov) [1692804] - [kvm] KVM: PPC: Book3S HV: Fix build failure without IOMMU support (Vitaly Kuznetsov) [1692804] - [powerpc] powerpc/64s: Better printing of machine check info for guest MCEs (Vitaly Kuznetsov) [1692804] - [kvm] KVM: PPC: Book3S HV: Simplify machine check handling (Vitaly Kuznetsov) [1692804] - [kvm] KVM: PPC: Book3S HV: Context switch AMR on Power9 (Vitaly Kuznetsov) [1692804] - [virt] Revert "KVM: Eliminate extra function calls in kvm_get_dirty_log_protect()" (Vitaly Kuznetsov) [1692804] - [x86] x86: kvmguest: use TSC clocksource if invariant TSC is exposed (Vitaly Kuznetsov) [1692804] - [virt] KVM: Never start grow vCPU halt_poll_ns from value below halt_poll_ns_grow_start (Vitaly Kuznetsov) [1692804] - [virt] KVM: Expose the initial start value in grow_halt_poll_ns() as a module parameter (Vitaly Kuznetsov) [1692804] - [virt] KVM: grow_halt_poll_ns() should never shrink vCPU halt_poll_ns (Vitaly Kuznetsov) [1692804] - [kvm] KVM: x86/mmu: Consolidate kvm_mmu_zap_all() and kvm_mmu_zap_mmio_sptes() (Vitaly Kuznetsov) [1692804] - [kvm] KVM: x86/mmu: WARN if zapping a MMIO spte results in zapping children (Vitaly Kuznetsov) [1692804] - [kvm] KVM: x86/mmu: Differentiate between nr zapped and list unstable (Vitaly Kuznetsov) [1692804] - [kvm] Revert "KVM: MMU: fast invalidate all pages" (Vitaly Kuznetsov) [1692804] - [kvm] KVM: x86/mmu: Voluntarily reschedule as needed when zapping all sptes (Vitaly Kuznetsov) [1692804] - [kvm] KVM: x86/mmu: skip over invalid root pages when zapping all sptes (Vitaly Kuznetsov) [1692804] - [kvm] Revert "KVM: x86: use the fast way to invalidate all pages" (Vitaly Kuznetsov) [1692804] - [kvm] Revert "KVM: MMU: show mmu_valid_gen in shadow page related tracepoints" (Vitaly Kuznetsov) [1692804] - [kvm] Revert "KVM: MMU: add tracepoint for kvm_mmu_invalidate_all_pages" (Vitaly Kuznetsov) [1692804] - [kvm] Revert "KVM: MMU: zap pages in batch" (Vitaly Kuznetsov) [1692804] - [kvm] Revert "KVM: MMU: collapse TLB flushes when zap all pages" (Vitaly Kuznetsov) [1692804] - [kvm] Revert "KVM: MMU: reclaim the zapped-obsolete page first" (Vitaly Kuznetsov) [1692804] - [kvm] KVM: x86/mmu: Remove is_obsolete() call (Vitaly Kuznetsov) [1692804] - [kvm] KVM: x86/mmu: Voluntarily reschedule as needed when zapping MMIO sptes (Vitaly Kuznetsov) [1692804] - [kvm] Revert "KVM: MMU: drop kvm_mmu_zap_mmio_sptes" (Vitaly Kuznetsov) [1692804] - [x86] Revert "KVM: MMU: document fast invalidate all pages" (Vitaly Kuznetsov) [1692804] - [kvm] KVM: x86/mmu: Zap only the relevant pages when removing a memslot (Vitaly Kuznetsov) [1692804] - [kvm] KVM: x86/mmu: Split remote_flush+zap case out of kvm_mmu_flush_or_zap() (Vitaly Kuznetsov) [1692804] - [kvm] KVM: x86/mmu: Move slot_level_*() helper functions up a few lines (Vitaly Kuznetsov) [1692804] - [virt] KVM: Move the memslot update in-progress flag to bit 63 (Vitaly Kuznetsov) [1692804] - [virt] KVM: Remove the hack to trigger memslot generation wraparound (Vitaly Kuznetsov) [1692804] - [kvm] KVM: x86: Refactor the MMIO SPTE generation handling (Vitaly Kuznetsov) [1692804] - [kvm] KVM: x86: Use a u64 when passing the MMIO gen around (Vitaly Kuznetsov) [1692804] - [virt] KVM: Explicitly define the "memslot update in-progress" bit (Vitaly Kuznetsov) [1692804] - [kvm] KVM: x86/mmu: Do not cache MMIO accesses while memslots are in flux (Vitaly Kuznetsov) [1692804] - [kvm] KVM: x86/mmu: Detect MMIO generation wrap in any address space (Vitaly Kuznetsov) [1692804] - [virt] KVM: Call kvm_arch_memslots_updated() before updating memslots (Vitaly Kuznetsov) [1692804] - [kvm] kvm: vmx: Add memcg accounting to KVM allocations (Vitaly Kuznetsov) [1692804] - [kvm] kvm: svm: Add memcg accounting to KVM allocations (Vitaly Kuznetsov) [1692804] - [kvm] kvm: x86: Add memcg accounting to KVM allocations (Vitaly Kuznetsov) [1692804] - [virt] kvm: Add memcg accounting to KVM allocations (Vitaly Kuznetsov) [1692804] - [kvm] KVM: nVMX: do not start the preemption timer hrtimer unnecessarily (Vitaly Kuznetsov) [1692804] - [kvm] kvm: vmx: Fix typos in vmentry/vmexit control setting (Vitaly Kuznetsov) [1692804] - [kvm] KVM: x86: cleanup freeing of nested state (Vitaly Kuznetsov) [1692804] - [kvm] KVM: x86: Sync the pending Posted-Interrupts (Vitaly Kuznetsov) [1692804] - [kvm] KVM: x86: expose MOVDIR64B CPU feature into VM. (Vitaly Kuznetsov) [1692804] - [kvm] KVM: x86: expose MOVDIRI CPU feature into VM. (Vitaly Kuznetsov) [1692804] - [kvm] kvm, x86, mmu: Use kernel generic dynamic physical address mask (Vitaly Kuznetsov) [1692804] - [kvm] KVM: nVMX: remove useless is_protmode check (Vitaly Kuznetsov) [1692804] - [kvm] KVM: nVMX: Ignore limit checks on VMX instructions using flat segments (Vitaly Kuznetsov) [1692804] - [kvm] KVM: nVMX: Apply addr size mask to effective address for VMX instructions (Vitaly Kuznetsov) [1692804] - [kvm] KVM: nVMX: Sign extend displacements of VMX instr's mem operands (Vitaly Kuznetsov) [1692804] - [kvm] svm: Fix improper check when deactivate AVIC (Vitaly Kuznetsov) [1692804] - [kvm] KVM: x86: cull apicv code when userspace irqchip is requested (Vitaly Kuznetsov) [1692804] - [kvm] svm: Fix AVIC DFR and LDR handling (Vitaly Kuznetsov) [1692804] - [virt] kvm: Use struct_size() in kmalloc() (Vitaly Kuznetsov) [1692804] - [x86] x86/kvmclock: set offset for kvm unstable clock (Vitaly Kuznetsov) [1692804] - [kvm] KVM: VMX: Reorder clearing of registers in the vCPU-run assembly flow (Vitaly Kuznetsov) [1692804] - [kvm] KVM: VMX: Call vCPU-run asm sub-routine from C and remove clobbering (Vitaly Kuznetsov) [1692804] - [kvm] KVM: VMX: Preserve callee-save registers in vCPU-run asm sub-routine (Vitaly Kuznetsov) [1692804] - [kvm] KVM: VMX: Return VM-Fail from vCPU-run assembly via standard ABI reg (Vitaly Kuznetsov) [1692804] - [kvm] KVM: VMX: Pass @launched to the vCPU-run asm via standard ABI regs (Vitaly Kuznetsov) [1692804] - [kvm] KVM: VMX: Use RAX as the scratch register during vCPU-run (Vitaly Kuznetsov) [1692804] - [kvm] KVM: VMX: Rename ____vmx_vcpu_run() to __vmx_vcpu_run() (Vitaly Kuznetsov) [1692804] - [kvm] KVM: VMX: Fold __vmx_vcpu_run() back into vmx_vcpu_run() (Vitaly Kuznetsov) [1692804] - [kvm] KVM: VMX: Move vCPU-run code to a proper assembly routine (Vitaly Kuznetsov) [1692804] - [kvm] KVM: VMX: Create a stack frame in vCPU-run (Vitaly Kuznetsov) [1692804] - [kvm] KVM: VMX: Use #defines in place of immediates in VM-Enter inline asm (Vitaly Kuznetsov) [1692804] - [x86] KVM: x86: Explicitly #define the VCPU_REGS_* indices (Vitaly Kuznetsov) [1692804] - [virt] KVM: arm/arm64: Remove unused gpa_end variable (Vitaly Kuznetsov) [1692804] - [arm64] KVM: arm64: Fix comment for KVM_PHYS_SHIFT (Vitaly Kuznetsov) [1692804] - [virt] KVM: arm/arm64: fix spelling mistake: "auxilary" -> "auxiliary" (Vitaly Kuznetsov) [1692804] - [kvm] KVM: arm/arm64: Prefix header search paths with $(srctree)/ (Vitaly Kuznetsov) [1692804] - [kvm] KVM: arm/arm64: Remove -I. header search paths (Vitaly Kuznetsov) [1692804] - [virt] KVM: arm/arm64: Fix TRACE_INCLUDE_PATH (Vitaly Kuznetsov) [1692804] - [virt] KVM: arm/arm64: arch_timer: Mark physical interrupt active when a virtual interrupt is pending (Vitaly Kuznetsov) [1692804] - [kvm] arm64: KVM: Describe data or unified caches as having 1 set and 1 way (Vitaly Kuznetsov) [1692804] - [arm64] arm64: KVM: Expose sanitised cache type register to guest (Vitaly Kuznetsov) [1692804] - [virt] KVM: arm/arm64: Move kvm_is_write_fault to header file (Vitaly Kuznetsov) [1692804] - [virt] KVM: arm/arm64: arch_timer: Assign the phys timer on VHE systems (Vitaly Kuznetsov) [1692804] - [include] clocksource/arm_arch_timer: Store physical timer IRQ number for KVM on VHE (Vitaly Kuznetsov) [1692804] - [virt] KVM: arm/arm64: timer: Rework data structures for multiple timers (Vitaly Kuznetsov) [1692804] - [virt] KVM: arm/arm64: consolidate arch timer trap handlers (Vitaly Kuznetsov) [1692804] - [kvm] KVM: arm64: Reuse sys_reg() macro when searching the trap table (Vitaly Kuznetsov) [1692804] - [virt] KVM: arm64: Fix ICH_ELRSR_EL2 sysreg naming (Vitaly Kuznetsov) [1692804] - [virt] KVM: arm/arm64: Simplify bg_timer programming (Vitaly Kuznetsov) [1692804] - [arm64] KVM: arm/arm64: Factor out VMID into struct kvm_vmid (Vitaly Kuznetsov) [1692804] - [virt] arm/arm64: KVM: Statically configure the host's view of MPIDR (Vitaly Kuznetsov) [1692804] - [kvm] arm64: KVM: Drop VHE-specific HYP call stub (Vitaly Kuznetsov) [1692804] - [arm64] arm64: KVM: Allow for direct call of HYP functions when using VHE (Vitaly Kuznetsov) [1692804] - [virt] arm/arm64: KVM: Introduce kvm_call_hyp_ret() (Vitaly Kuznetsov) [1692804] - [kvm] KVM: PPC: Release all hardware TCE tables attached to a group (Vitaly Kuznetsov) [1692804] - [kvm] KVM: PPC: Book3S HV: Optimise mmio emulation for devices on FAST_MMIO_BUS (Vitaly Kuznetsov) [1692804] - [kvm] KVM: PPC: Book3S: Allow XICS emulation to work in nested hosts using XIVE (Vitaly Kuznetsov) [1692804] - [kvm] KVM: PPC: Book3S HV: Replace kmalloc_node+memset with kzalloc_node (Vitaly Kuznetsov) [1692804] - [kvm] KVM: PPC: Book3S PR: Add emulation for slbfee. instruction (Vitaly Kuznetsov) [1692804] - [kvm] kvm: vmx: Fix entry number check for add_atomic_switch_msr() (Vitaly Kuznetsov) [1692804] - [kvm] KVM: x86: Recompute PID.ON when clearing PID.SN (Vitaly Kuznetsov) [1692804] - [kvm] KVM: nVMX: Restore a preemption timer consistency check (Vitaly Kuznetsov) [1692804] - [kvm] x86/kvm/nVMX: read from MSR_IA32_VMX_PROCBASED_CTLS2 only when it is available (Vitaly Kuznetsov) [1692804] - [kvm] KVM: VMX: Use vcpu->arch.regs directly when saving/loading guest state (Vitaly Kuznetsov) [1692804] - [kvm] KVM: VMX: Don't save guest registers after VM-Fail (Vitaly Kuznetsov) [1692804] - [kvm] KVM: VMX: Invert the ordering of saving guest/host scratch reg at VM-Enter (Vitaly Kuznetsov) [1692804] - [kvm] KVM: VMX: Pass "launched" directly to the vCPU-run asm blob (Vitaly Kuznetsov) [1692804] - [kvm] KVM: VMX: Update VMCS.HOST_RSP via helper C function (Vitaly Kuznetsov) [1692804] - [kvm] KVM: VMX: Load/save guest CR2 via C code in __vmx_vcpu_run() (Vitaly Kuznetsov) [1692804] - [kvm] KVM: nVMX: Cache host_rsp on a per-VMCS basis (Vitaly Kuznetsov) [1692804] - [kvm] KVM: nVMX: Let the compiler select the reg for holding HOST_RSP (Vitaly Kuznetsov) [1692804] - [kvm] KVM: nVMX: Reference vmx->loaded_vmcs->launched directly (Vitaly Kuznetsov) [1692804] - [kvm] KVM: nVMX: Capture VM-Fail via CC_{SET, OUT} in nested early checks (Vitaly Kuznetsov) [1692804] - [kvm] KVM: nVMX: Capture VM-Fail to a local var in nested_vmx_check_vmentry_hw() (Vitaly Kuznetsov) [1692804] - [kvm] KVM: nVMX: Explicitly reference the scratch reg in nested early checks (Vitaly Kuznetsov) [1692804] - [kvm] KVM: nVMX: Drop STACK_FRAME_NON_STANDARD from nested_vmx_check_vmentry_hw() (Vitaly Kuznetsov) [1692804] - [kvm] KVM: nVMX: Remove a rogue "rax" clobber from nested_vmx_check_vmentry_hw() (Vitaly Kuznetsov) [1692804] - [kvm] KVM: VMX: Let the compiler save/load RDX during vCPU-run (Vitaly Kuznetsov) [1692804] - [kvm] KVM: VMX: Manually load RDX in vCPU-run asm blob (Vitaly Kuznetsov) [1692804] - [kvm] KVM: VMX: Save RSI to an unused output in the vCPU-run asm blob (Vitaly Kuznetsov) [1692804] - [kvm] KVM: VMX: Modify only RSP when creating a placeholder for guest's RCX (Vitaly Kuznetsov) [1692804] - [kvm] KVM: VMX: Zero out *all* general purpose registers after VM-Exit (Vitaly Kuznetsov) [1692804] - [kvm] KVM: nVMX: Check a single byte for VMCS "launched" in nested early checks (Vitaly Kuznetsov) [1692804] - [kvm] KVM: VMX: Compare only a single byte for VMCS' "launched" in vCPU-run (Vitaly Kuznetsov) [1692804] - [tools] selftests: kvm: add selftest for releasing VM file descriptor while in L2 (Vitaly Kuznetsov) [1692804] - [arm64] KVM: arm/arm64: Add kvm_ras.h to collect kvm specific RAS plumbing (Vitaly Kuznetsov) [1692804] - [kvm] KVM: x86: work around leak of uninitialized stack contents (CVE-2019-7222) (Vitaly Kuznetsov) [1692804] - [kvm] KVM: arm64: Forbid kprobing of the VHE world-switch code (Vitaly Kuznetsov) [1692804] - [virt] KVM: arm64: Relax the restriction on using stage2 PUD huge mapping (Vitaly Kuznetsov) [1692804] - [virt] KVM: arm/arm64: vgic: Always initialize the group of private IRQs (Vitaly Kuznetsov) [1692804] - [kvm] arm/arm64: KVM: Don't panic on failure to properly reset system registers (Vitaly Kuznetsov) [1692804] - [virt] arm/arm64: KVM: Allow a VCPU to fully reset itself (Vitaly Kuznetsov) [1692804] - [kvm] KVM: arm/arm64: Reset the VCPU without preemption and vcpu state loaded (Vitaly Kuznetsov) [1692804] - [kvm] KVM: s390: fix possible null pointer dereference in pending_irqs() (Vitaly Kuznetsov) [1692804] - [kvm] KVM: s390: start using the GIB (Vitaly Kuznetsov) [1692804] - [s390] KVM: s390: add gib_alert_irq_handler() (Vitaly Kuznetsov) [1692804] - [kvm] KVM: s390: kvm_s390_gisa_clear() now clears the IPM only (Vitaly Kuznetsov) [1692804] - [kvm] KVM: s390: add functions to (un)register GISC with GISA (Vitaly Kuznetsov) [1692804] - [kvm] KVM: s390: add kvm reference to struct sie_page2 (Vitaly Kuznetsov) [1692804] - [kvm] KVM: s390: add the GIB and its related life-cyle functions (Vitaly Kuznetsov) [1692804] - [s390] s390/cio: add function chsc_sgib() (Vitaly Kuznetsov) [1692804] - [kvm] KVM: s390: introduce struct kvm_s390_gisa_interrupt (Vitaly Kuznetsov) [1692804] - [kvm] KVM: s390: remove kvm_s390_ from gisa static inline functions (Vitaly Kuznetsov) [1692804] - [kvm] KVM: s390: use pending_irqs_no_gisa() where appropriate (Vitaly Kuznetsov) [1692804] - [kvm] KVM: s390: coding style kvm_s390_gisa_init/clear() (Vitaly Kuznetsov) [1692804] - [kvm] KVM: s390: move bitmap idle_mask into arch struct top level (Vitaly Kuznetsov) [1692804] - [virt] virt/kvm: Replace spin_is_locked() with lockdep (Vitaly Kuznetsov) [1692804] - [kvm] KVM: x86: Mark expected switch fall-throughs (Vitaly Kuznetsov) [1692804] - [kvm] KVM: x86: fix TRACE_INCLUDE_PATH and remove -I. header search paths (Vitaly Kuznetsov) [1692804] - [tools] KVM: selftests: check returned evmcs version range (Vitaly Kuznetsov) [1692804] - [kvm] x86/kvm/hyper-v: nested_enable_evmcs() sets vmcs_version incorrectly (Vitaly Kuznetsov) [1692804] - [kvm] KVM: VMX: Move vmx_vcpu_run()'s VM-Enter asm blob to a helper function (Vitaly Kuznetsov) [1692804] - [tools] kvm: selftests: Fix region overlap check in kvm_util (Vitaly Kuznetsov) [1692804] - [kvm] kvm: vmx: fix some -Wmissing-prototypes warnings (Vitaly Kuznetsov) [1692804] - [kvm] KVM: nSVM: clear events pending from svm_complete_interrupts() when exiting to L1 (Vitaly Kuznetsov) [1692804] - [kvm] svm: Fix AVIC incomplete IPI emulation (Vitaly Kuznetsov) [1692804] - [kvm] svm: Add warning message for AVIC IPI invalid target (Vitaly Kuznetsov) [1692804] - [x86] KVM: x86: WARN_ONCE if sending a PV IPI returns a fatal error (Vitaly Kuznetsov) [1692804] - [kvm] KVM: x86: Fix PV IPIs for 32-bit KVM host (Vitaly Kuznetsov) [1692804] - [kvm] x86/kvm/hyper-v: recommend using eVMCS only when it is enabled (Vitaly Kuznetsov) [1692804] - [kvm] x86/kvm/hyper-v: don't recommend doing reset via synthetic MSR (Vitaly Kuznetsov) [1692804] - [kvm] kvm: x86/vmx: Use kzalloc for cached_vmcs12 (Vitaly Kuznetsov) [1692804] - [kvm] KVM: VMX: Use the correct field var when clearing VM_ENTRY_LOAD_IA32_PERF_GLOBAL_CTRL (Vitaly Kuznetsov) [1692804] - [kvm] KVM: x86: Fix single-step debugging (Vitaly Kuznetsov) [1692804] - [kvm] x86/kvm/hyper-v: don't announce GUEST IDLE MSR support (Vitaly Kuznetsov) [1692804] - [kvm] arm64: KVM: Don't generate UNDEF when LORegion feature is present (Vitaly Kuznetsov) [1692804] - [virt] KVM: arm/arm64: vgic: Make vgic_cpu->ap_list_lock a raw_spinlock (Vitaly Kuznetsov) [1692804] - [virt] KVM: arm/arm64: vgic: Make vgic_dist->lpi_list_lock a raw_spinlock (Vitaly Kuznetsov) [1692804] - [virt] KVM: arm/arm64: vgic: Make vgic_irq->irq_lock a raw_spinlock (Vitaly Kuznetsov) [1692804] - [kvm] KVM: powerpc: remove -I. header search paths (Vitaly Kuznetsov) [1692804] - [documentation] Documentation/virtual/kvm: Update URL for AMD SEV API specification (Vitaly Kuznetsov) [1692804] - [kvm] KVM/VMX: Avoid return error when flush tlb successfully in the hv_remote_flush_tlb_with_range() (Vitaly Kuznetsov) [1692804] - [kvm] kvm: sev: Fail KVM_SEV_INIT if already initialized (Vitaly Kuznetsov) [1692804] - [virt] KVM: validate userspace input in kvm_clear_dirty_log_protect() (Vitaly Kuznetsov) [1692804] - [kvm] KVM: x86: Fix bit shifting in update_intel_pt_cfg (Vitaly Kuznetsov) [1692804] - [kvm] KVM: PPC: Book3S HV: radix: Fix uninitialized var build error (Vitaly Kuznetsov) [1692804] - [tools] kvm: selftests: ucall: fix exit mmio address guessing (Vitaly Kuznetsov) [1692804] - [kvm] KVM: VMX: Move VM-Enter + VM-Exit handling to non-inline sub-routines (Vitaly Kuznetsov) [1692804] - [kvm] KVM: VMX: Explicitly reference RCX as the vmx_vcpu pointer in asm blobs (Vitaly Kuznetsov) [1692804] - [kvm] KVM/x86: Use SVM assembly instruction mnemonics instead of .byte streams (Vitaly Kuznetsov) [1692804] - [kvm] KVM/MMU: Flush tlb directly in the kvm_zap_gfn_range() (Vitaly Kuznetsov) [1692804] - [kvm] KVM/MMU: Flush tlb directly in kvm_set_pte_rmapp() (Vitaly Kuznetsov) [1692804] - [virt] KVM/MMU: Move tlb flush in kvm_set_pte_rmapp() to kvm_mmu_notifier_change_pte() (Vitaly Kuznetsov) [1692804] - [kvm] KVM: Make kvm_set_spte_hva() return int (Vitaly Kuznetsov) [1692804] - [kvm] KVM: Replace old tlb flush function with new one to flush a specified range. (Vitaly Kuznetsov) [1692804] - [kvm] KVM/MMU: Add tlb flush with range helper function (Vitaly Kuznetsov) [1692804] - [kvm] KVM/VMX: Add hv tlb range flush support (Vitaly Kuznetsov) [1692804] - [x86] x86/hyper-v: Add HvFlushGuestAddressList hypercall support (Vitaly Kuznetsov) [1692804] - [x86] KVM: Add tlb_remote_flush_with_range callback in kvm_x86_ops (Vitaly Kuznetsov) [1692804] - [kvm] KVM: x86: Disable Intel PT when VMXON in L1 guest (Vitaly Kuznetsov) [1692804] - [kvm] KVM: x86: Set intercept for Intel PT MSRs read/write (Vitaly Kuznetsov) [1692804] - [kvm] KVM: x86: Implement Intel PT MSRs read/write emulation (Vitaly Kuznetsov) [1692804] - [kvm] KVM: x86: Introduce a function to initialize the PT configuration (Vitaly Kuznetsov) [1692804] - [kvm] KVM: x86: Add Intel PT context switch for each vcpu (Vitaly Kuznetsov) [1692804] - [kvm] KVM: x86: Add Intel Processor Trace cpuid emulation (Vitaly Kuznetsov) [1692804] - [kvm] KVM: x86: Add Intel PT virtualization work mode (Vitaly Kuznetsov) [1692804] - [x86] perf/x86/intel/pt: add new capability for Intel PT (Vitaly Kuznetsov) [1692804] - [x86] perf/x86/intel/pt: Add new bit definitions for PT MSRs (Vitaly Kuznetsov) [1692804] - [x86] perf/x86/intel/pt: Introduce intel_pt_validate_cap() (Vitaly Kuznetsov) [1692804] - [x86] perf/x86/intel/pt: Export pt_cap_get() (Vitaly Kuznetsov) [1692804] - [x86] perf/x86/intel/pt: Move Intel PT MSRs bit defines to global header (Vitaly Kuznetsov) [1692804] - [tools] kvm: selftests: aarch64: dirty_log_test: support greater than 40-bit IPAs (Vitaly Kuznetsov) [1692804] - [tools] kvm: selftests: add pa-48/va-48 VM modes (Vitaly Kuznetsov) [1692804] - [tools] kvm: selftests: dirty_log_test: improve mode param management (Vitaly Kuznetsov) [1692804] - [tools] kvm: selftests: dirty_log_test: reset guest test phys offset (Vitaly Kuznetsov) [1692804] - [tools] kvm: selftests: dirty_log_test: always use -t (Vitaly Kuznetsov) [1692804] - [tools] kvm: selftests: dirty_log_test: don't identity map the test mem (Vitaly Kuznetsov) [1692804] - [tools] kvm: selftests: x86_64: dirty_log_test: fix -t (Vitaly Kuznetsov) [1692804] - [virt] KVM: fix some typos (Vitaly Kuznetsov) [1692804] - [x86] x86/kvmclock: convert to SPDX identifiers (Vitaly Kuznetsov) [1692804] - [kvm] KVM: x86: Remove KF() macro placeholder (Vitaly Kuznetsov) [1692804] - [kvm] kvm: vmx: Allow guest read access to IA32_TSC (Vitaly Kuznetsov) [1692804] - [kvm] kvm: nVMX: NMI-window and interrupt-window exiting should wake L2 from HLT (Vitaly Kuznetsov) [1692804] - [kvm] KVM: nSVM: Fix nested guest support for PAUSE filtering. (Vitaly Kuznetsov) [1692804] - [kvm] KVM: VMX: Remove duplicated include from vmx.c (Vitaly Kuznetsov) [1692804] - [tools] selftests: kvm: report failed stage when exit reason is unexpected (Vitaly Kuznetsov) [1692804] - [kvm] KVM: x86: fix size of x86_fpu_cache objects (Vitaly Kuznetsov) [1692804] - [kvm] powerpc/fsl: Flush branch predictor when entering KVM (Vitaly Kuznetsov) [1692804] - [kvm] powerpc/fsl: Emulate SPRN_BUCSR register (Vitaly Kuznetsov) [1692804] - [kvm] KVM: x86: nSVM: fix switch to guest mmu (Vitaly Kuznetsov) [1692804] - [kvm] arm64: KVM: Add trapped system register access tracepoint (Vitaly Kuznetsov) [1692804] - [kvm] KVM: arm64: Make vcpu const in vcpu_read_sys_reg (Vitaly Kuznetsov) [1692804] - [virt] KVM: arm/arm64: arch_timer: Simplify kvm_timer_vcpu_terminate (Vitaly Kuznetsov) [1692804] - [virt] KVM: arm/arm64: Remove arch timer workqueue (Vitaly Kuznetsov) [1692804] - [virt] KVM: fix unregistering coalesced mmio zone from wrong bus (Vitaly Kuznetsov) [1692804] - [arm64] KVM: arm64: Add support for creating PUD hugepages at stage 2 (Vitaly Kuznetsov) [1692804] - [arm64] KVM: arm64: Update age handlers to support PUD hugepages (Vitaly Kuznetsov) [1692804] - [arm64] KVM: arm64: Support handling access faults for PUD hugepages (Vitaly Kuznetsov) [1692804] - [arm64] KVM: arm64: Support PUD hugepage in stage2_is_exec() (Vitaly Kuznetsov) [1692804] - [virt] KVM: arm64: Support dirty page tracking for PUD hugepages (Vitaly Kuznetsov) [1692804] - [virt] KVM: arm/arm64: Introduce helpers to manipulate page table entries (Vitaly Kuznetsov) [1692804] - [virt] KVM: arm/arm64: Re-factor setting the Stage 2 entry to exec on fault (Vitaly Kuznetsov) [1692804] - [virt] KVM: arm/arm64: Share common code in user_mem_abort() (Vitaly Kuznetsov) [1692804] - [kvm] KVM: arm/arm64: Log PSTATE for unhandled sysregs (Vitaly Kuznetsov) [1692804] - [kvm] arm64: KVM: Consistently advance singlestep when emulating instructions (Vitaly Kuznetsov) [1692804] - [virt] arm64: KVM: Skip MMIO insn after emulation (Vitaly Kuznetsov) [1692804] - [kvm] KVM: PPC: Book3S HV: Allow passthrough of an emulated device to an L3 guest (Vitaly Kuznetsov) [1692804] - [kvm] KVM: PPC: Book3S: Introduce new hcall H_COPY_TOFROM_GUEST to access quadrants 1 & 2 (Vitaly Kuznetsov) [1692804] - [kvm] KVM: PPC: Book3S HV: Allow passthrough of an emulated device to an L2 guest (Vitaly Kuznetsov) [1692804] - [kvm] KVM: PPC: Update kvmppc_st and kvmppc_ld to use quadrants (Vitaly Kuznetsov) [1692804] - [kvm] KVM: PPC: Add load_from_eaddr and store_to_eaddr to the kvmppc_ops struct (Vitaly Kuznetsov) [1692804] - [powerpc] KVM: PPC: Book3S HV: Implement functions to access quadrants 1 & 2 (Vitaly Kuznetsov) [1692804] - [kvm] KVM: PPC: Book3S HV: Add function kvmhv_vcpu_is_radix() (Vitaly Kuznetsov) [1692804] - [kvm] KVM: PPC: Book3S: Only report KVM_CAP_SPAPR_TCE_VFIO on powernv machines (Vitaly Kuznetsov) [1692804] - [tools] kvm: selftests: ucall: improve ucall placement in memory, fix unsigned comparison (Vitaly Kuznetsov) [1692804] - [kvm] kvm: x86: Dynamically allocate guest_fpu (Vitaly Kuznetsov) [1692804] - [kvm] kvm: x86: Use task structs fpu field for user (Vitaly Kuznetsov) [1692804] - [kvm] KVM: nVMX: Move the checks for Guest Non-Register States to a separate helper function (Vitaly Kuznetsov) [1692804] - [kvm] KVM: nVMX: Move the checks for Host Control Registers and MSRs to a separate helper function (Vitaly Kuznetsov) [1692804] - [kvm] KVM: nVMX: Move the checks for VM-Entry Control Fields to a separate helper function (Vitaly Kuznetsov) [1692804] - [kvm] KVM: nVMX: Move the checks for VM-Exit Control Fields to a separate helper function (Vitaly Kuznetsov) [1692804] - [kvm] KVM: nVMX: Remove param indirection from nested_vmx_check_msr_switch() (Vitaly Kuznetsov) [1692804] - [kvm] KVM: nVMX: Move the checks for VM-Execution Control Fields to a separate helper function (Vitaly Kuznetsov) [1692804] - [kvm] KVM: nVMX: Prepend "nested_vmx_" to check_vmentry_{pre, post}reqs() (Vitaly Kuznetsov) [1692804] - [kvm] KVM/VMX: Check ept_pointer before flushing ept tlb (Vitaly Kuznetsov) [1692804] - [kvm] KVM nVMX: MSRs should not be stored if VM-entry fails during or after loading guest state (Vitaly Kuznetsov) [1692804] - [kvm] kvm: x86: Don't modify MSR_PLATFORM_INFO on vCPU reset (Vitaly Kuznetsov) [1692804] - [kvm] kvm: vmx: add cpu into VMX preemption timer bug list (Vitaly Kuznetsov) [1692804] - [kvm] x86/hyper-v: Stop caring about EOI for direct stimers (Vitaly Kuznetsov) [1692804] - [kvm] x86/kvm/hyper-v: avoid open-coding stimer_mark_pending() in kvm_hv_notify_acked_sint() (Vitaly Kuznetsov) [1692804] - [kvm] x86/kvm/hyper-v: direct mode for synthetic timers (Vitaly Kuznetsov) [1692804] - [x86] x86/kvm/hyper-v: use stimer config definition from hyperv-tlfs.h (Vitaly Kuznetsov) [1692804] - [tools] KVM: selftests: Add hyperv_cpuid test (Vitaly Kuznetsov) [1692804] - [tools] KVM: selftests: implement an unchecked version of vcpu_ioctl() (Vitaly Kuznetsov) [1692804] - [kvm] x86/kvm/hyper-v: Introduce KVM_GET_SUPPORTED_HV_CPUID (Vitaly Kuznetsov) [1692804] - [kvm] x86/hyper-v: Do some housekeeping in hyperv-tlfs.h (Vitaly Kuznetsov) [1692804] - [x86] x86/hyper-v: Mark TLFS structures packed (Vitaly Kuznetsov) [1692804] - [kvm] x86/kvm/hyper-v: Introduce nested_get_evmcs_version() helper (Vitaly Kuznetsov) [1692804] - [kvm] x86: kvm: hyperv: don't retry message delivery for periodic timers (Vitaly Kuznetsov) [1692804] - [kvm] x86: kvm: hyperv: simplify SynIC message delivery (Vitaly Kuznetsov) [1692804] - [kvm] kvm: x86: remove unnecessary recalculate_apic_map (Vitaly Kuznetsov) [1692804] - [kvm] kvm: svm: remove unused struct definition (Vitaly Kuznetsov) [1692804] - [kvm] kvm: vmx: Skip all SYSCALL MSRs in setup_msrs() when !EFER.SCE (Vitaly Kuznetsov) [1692804] - [kvm] kvm: vmx: Don't set hardware IA32_CSTAR MSR on VM-entry (Vitaly Kuznetsov) [1692804] - [kvm] kvm: vmx: Document the need for MSR_STAR in i386 builds (Vitaly Kuznetsov) [1692804] - [kvm] kvm: vmx: Set IA32_TSC_AUX for legacy mode guests (Vitaly Kuznetsov) [1692804] - [kvm] KVM: nVMX: Move nested code to dedicated files (Vitaly Kuznetsov) [1692804] - [kvm] KVM: VMX: Expose nested_vmx_allowed() to nested VMX as a non-inline (Vitaly Kuznetsov) [1692804] - [kvm] KVM: VMX: Expose various getters and setters to nested VMX (Vitaly Kuznetsov) [1692804] - [kvm] KVM: VMX: Expose misc variables needed for nested VMX (Vitaly Kuznetsov) [1692804] - [kvm] KVM: nVMX: Move "vmcs12 to shadow/evmcs sync" to helper function (Vitaly Kuznetsov) [1692804] - [kvm] KVM: nVMX: Call nested_vmx_setup_ctls_msrs() iff @nested is true (Vitaly Kuznetsov) [1692804] - [kvm] KVM: nVMX: Set callbacks for nested functions during hardware setup (Vitaly Kuznetsov) [1692804] - [kvm] KVM: VMX: Move the hardware {un}setup functions to the bottom (Vitaly Kuznetsov) [1692804] - [kvm] KVM: x86: nVMX: Allow nested_enable_evmcs to be NULL (Vitaly Kuznetsov) [1692804] - [kvm] KVM: VMX: Move nested hardware/vcpu {un}setup to helper functions (Vitaly Kuznetsov) [1692804] - [kvm] KVM: VMX: Move VMX instruction wrappers to a dedicated header file (Vitaly Kuznetsov) [1692804] - [kvm] KVM: VMX: Move eVMCS code to dedicated files (Vitaly Kuznetsov) [1692804] - [kvm] KVM: VMX: Add vmx.h to hold VMX definitions (Vitaly Kuznetsov) [1692804] - [kvm] KVM: nVMX: Move vmcs12 code to dedicated files (Vitaly Kuznetsov) [1692804] - [kvm] KVM: VMX: Move VMCS definitions to dedicated file (Vitaly Kuznetsov) [1692804] - [kvm] KVM: VMX: Expose various module param vars via capabilities.h (Vitaly Kuznetsov) [1692804] - [kvm] KVM: VMX: Move capabilities structs and helpers to dedicated file (Vitaly Kuznetsov) [1692804] - [kvm] KVM: VMX: Pass vmx_capability struct to setup_vmcs_config() (Vitaly Kuznetsov) [1692804] - [kvm] KVM: VMX: Properly handle dynamic VM Entry/Exit controls (Vitaly Kuznetsov) [1692804] - [kvm] KVM: VMX: Move caching of MSR_IA32_XSS to hardware_setup() (Vitaly Kuznetsov) [1692804] - [kvm] KVM: VMX: Drop the "vmx" prefix from vmx_evmcs.h (Vitaly Kuznetsov) [1692804] - [kvm] KVM: VMX: rename vmx_shadow_fields.h to vmcs_shadow_fields.h (Vitaly Kuznetsov) [1692804] - [kvm] KVM: VMX: Move VMX specific files to a "vmx" subdirectory (Vitaly Kuznetsov) [1692804] - [kvm] KVM: x86: Add requisite includes to hyperv.h (Vitaly Kuznetsov) [1692804] - [kvm] KVM: x86: Add requisite includes to kvm_cache_regs.h (Vitaly Kuznetsov) [1692804] - [kvm] KVM: VMX: Alphabetize the includes in vmx.c (Vitaly Kuznetsov) [1692804] - [kvm] KVM: nVMX: Allocate and configure VM{READ, WRITE} bitmaps iff enable_shadow_vmcs (Vitaly Kuznetsov) [1692804] - [tools] kvm: introduce manual dirty log reprotect (Vitaly Kuznetsov) [1692804] - [virt] kvm: rename last argument to kvm_get_dirty_log_protect (Vitaly Kuznetsov) [1692804] - [virt] kvm: make KVM_CAP_ENABLE_CAP_VM architecture agnostic (Vitaly Kuznetsov) [1692804] - [kvm] KVM: PPC: Book3S PR: Set hflag to indicate that POWER9 supports 1T segments (Vitaly Kuznetsov) [1692804] - [kvm] KVM: PPC: Book3S HV: Change to use DEFINE_SHOW_ATTRIBUTE macro (Vitaly Kuznetsov) [1692804] - [arm64] arm64: Don't trap host pointer auth use to EL2 (Vitaly Kuznetsov) [1692804] - [kvm] arm64/kvm: hide ptrauth from guests (Vitaly Kuznetsov) [1692804] - [arm64] arm64: add pointer authentication register bits (Vitaly Kuznetsov) [1692804] - [arm64] arm64: add comments about EC exception levels (Vitaly Kuznetsov) [1692804] - [arm64] arm64/kvm: consistently handle host HCR_EL2 flags (Vitaly Kuznetsov) [1692804] - [arm64] arm64: Add configuration/documentation for Cortex-A76 erratum 1165522 (Vitaly Kuznetsov) [1692804] - [kvm] arm64: KVM: Handle ARM erratum 1165522 in TLB invalidation (Vitaly Kuznetsov) [1692804] - [kvm] arm64: KVM: Add synchronization on translation regime change for erratum 1165522 (Vitaly Kuznetsov) [1692804] - [arm64] arm64: KVM: Force VHE for systems affected by erratum 1165522 (Vitaly Kuznetsov) [1692804] - [arm64] arm64: Add TCR_EPD{0,1} definitions (Vitaly Kuznetsov) [1692804] - [virt] KVM: arm64: Rework detection of SVE, !VHE systems (Vitaly Kuznetsov) [1692804] - [kvm] nVMX x86: Check VMX-preemption timer controls on vmentry of L2 guests (Vitaly Kuznetsov) [1692804] - [kvm] KVM/nVMX: Remove unneeded forward jump in nested_vmx_check_vmentry_hw asm (Vitaly Kuznetsov) [1692804] - [kvm] KVM: nVMX: Unrestricted guest mode requires EPT (Vitaly Kuznetsov) [1692804] - [tools] tools/kvm_stat: switch to python3 (Vitaly Kuznetsov) [1692804] - [kvm] KVM: x86: Trace changes to active TSC offset regardless if vCPU in guest-mode (Vitaly Kuznetsov) [1692804] - [kvm] KVM: nVMX: vmcs12 revision_id is always VMCS12_REVISION even when copied from eVMCS (Vitaly Kuznetsov) [1692804] - [kvm] KVM: nVMX: Verify eVMCS revision id match supported eVMCS version on eVMCS VMPTRLD (Vitaly Kuznetsov) [1692804] - [kvm] x86/kvm/vmx: fix old-style function declaration (Vitaly Kuznetsov) [1692804] - [kvm] KVM: x86: fix empty-body warnings (Vitaly Kuznetsov) [1692804] - [kvm] KVM: nVMX: Fix kernel info-leak when enabling KVM_CAP_HYPERV_ENLIGHTENED_VMCS more than once (Vitaly Kuznetsov) [1692804] - [virt] KVM: arm/arm64: vgic: Replace spin_is_locked() with lockdep (Vitaly Kuznetsov) [1692804] - [kvm] KVM: PPC: Move and undef TRACE_INCLUDE_PATH/FILE (Vitaly Kuznetsov) [1692804] - [kvm] KVM: PPC: Use exported tb_to_ns() function in decrementer emulation (Vitaly Kuznetsov) [1692804] - [tools] selftests: kvm: Fix -Wformat warnings (Vitaly Kuznetsov) [1692804] - [tools] kvm: selftests: fix spelling mistake "Insufficent" -> "Insufficient" (Vitaly Kuznetsov) [1692804] - [kvm] Revert "kvm: x86: optimize dr6 restore" (Vitaly Kuznetsov) [1692804] - [kvm] KVM: PPC: Optimize clearing TCEs for sparse tables (Vitaly Kuznetsov) [1692804] - [kvm] x86/kvm/nVMX: tweak shadow fields (Vitaly Kuznetsov) [1692804] - [tools] selftests/kvm: add missing executables to .gitignore (Vitaly Kuznetsov) [1692804] - [kvm] KVM: PPC: Book3S HV: Don't use streamlined entry path on early POWER9 chips (Vitaly Kuznetsov) [1692804] - [virt] arm/arm64: KVM: Enable 32 bits kvm vcpu events support (Vitaly Kuznetsov) [1692804] - [virt] arm/arm64: KVM: Rename function kvm_arch_dev_ioctl_check_extension() (Vitaly Kuznetsov) [1692804] - [kvm] KVM: VMX: enable nested virtualization by default (Vitaly Kuznetsov) [1692804] - [kvm] KVM/x86: Use 32bit xor to clear registers in svm.c (Vitaly Kuznetsov) [1692804] - [kvm] kvm: x86: Introduce KVM_CAP_EXCEPTION_PAYLOAD (Vitaly Kuznetsov) [1692804] - [kvm] kvm: vmx: Defer setting of DR6 until #DB delivery (Vitaly Kuznetsov) [1692804] - [kvm] kvm: x86: Defer setting of CR2 until #PF delivery (Vitaly Kuznetsov) [1692804] - [kvm] kvm: x86: Add payload operands to kvm_multiple_exception (Vitaly Kuznetsov) [1692804] - [x86] kvm: x86: Add exception payload fields to kvm_vcpu_events (Vitaly Kuznetsov) [1692804] - [kvm] kvm: x86: Add has_payload and payload to kvm_queued_exception (Vitaly Kuznetsov) [1692804] - [documentation] KVM: Documentation: Fix omission in struct kvm_vcpu_events (Vitaly Kuznetsov) [1692804] - [tools] KVM: selftests: add Enlightened VMCS test (Vitaly Kuznetsov) [1692804] - [kvm] x86/kvm/nVMX: nested state migration for Enlightened VMCS (Vitaly Kuznetsov) [1692804] - [tools] KVM: selftests: state_test: test bare VMXON migration (Vitaly Kuznetsov) [1692804] - [kvm] x86/kvm/hyperv: don't clear VP assist pages on init (Vitaly Kuznetsov) [1692804] - [kvm] KVM: nVMX: optimize prepare_vmcs02{, _full} for Enlightened VMCS case (Vitaly Kuznetsov) [1692804] - [kvm] KVM: nVMX: implement enlightened VMPTRLD and VMCLEAR (Vitaly Kuznetsov) [1692804] - [kvm] KVM: nVMX: add enlightened VMCS state (Vitaly Kuznetsov) [1692804] - [kvm] KVM: nVMX: add KVM_CAP_HYPERV_ENLIGHTENED_VMCS capability (Vitaly Kuznetsov) [1692804] - [kvm] KVM: VMX: refactor evmcs_sanitize_exec_ctrls() (Vitaly Kuznetsov) [1692804] - [virt] KVM: refine the comment of function gfn_to_hva_memslot_prot() (Vitaly Kuznetsov) [1692804] - [kvm] KVM: x86: reintroduce pte_list_remove, but including mmu_spte_clear_track_bits (Vitaly Kuznetsov) [1692804] - [kvm] KVM: x86: rename pte_list_remove to __pte_list_remove (Vitaly Kuznetsov) [1692804] - [virt] kvm/x86 : add coalesced pio support (Vitaly Kuznetsov) [1692804] - [documentation] kvm/x86 : add document for coalesced mmio (Vitaly Kuznetsov) [1692804] - [kvm] kvm/x86 : fix some typo (Vitaly Kuznetsov) [1692804] - [kvm] KVM/VMX: Change hv flush logic when ept tables are mismatched. (Vitaly Kuznetsov) [1692804] - [kvm] KVM/x86: Use 32bit xor to clear register (Vitaly Kuznetsov) [1692804] - [x86] KVM/x86: Use assembly instruction mnemonics instead of .byte streams (Vitaly Kuznetsov) [1692804] - [kvm] KVM/x86: Fix invvpid and invept register operand size in 64-bit mode (Vitaly Kuznetsov) [1692804] - [kvm] x86/kvm/mmu: check if MMU reconfiguration is needed in init_kvm_nested_mmu() (Vitaly Kuznetsov) [1692804] - [kvm] x86/kvm/mmu: check if tdp/shadow MMU reconfiguration is needed (Vitaly Kuznetsov) [1692804] - [kvm] x86/kvm/nVMX: introduce source data cache for kvm_init_shadow_ept_mmu() (Vitaly Kuznetsov) [1692804] - [kvm] x86/kvm/mmu: make space for source data caching in struct kvm_mmu (Vitaly Kuznetsov) [1692804] - [kvm] x86/kvm/mmu: get rid of redundant kvm_mmu_setup() (Vitaly Kuznetsov) [1692804] - [kvm] x86/kvm/mmu: introduce guest_mmu (Vitaly Kuznetsov) [1692804] - [kvm] x86/kvm/mmu.c: add kvm_mmu parameter to kvm_mmu_free_roots() (Vitaly Kuznetsov) [1692804] - [kvm] x86/kvm/mmu.c: set get_pdptr hook in kvm_init_shadow_ept_mmu() (Vitaly Kuznetsov) [1692804] - [kvm] x86/kvm/mmu: make vcpu->mmu a pointer to the current MMU (Vitaly Kuznetsov) [1692804] - [kvm] kvm: x86: optimize dr6 restore (Vitaly Kuznetsov) [1692804] - [kvm] KVM: x86: hyperv: optimize sparse VP set processing (Vitaly Kuznetsov) [1692804] - [kvm] KVM: x86: hyperv: fix 'tlb_lush' typo (Vitaly Kuznetsov) [1692804] - [virt] vgic: Add support for 52bit guest physical address (Vitaly Kuznetsov) [1692804] - [kvm] KVM: nVMX: WARN if nested run hits VMFail with early consistency checks enabled (Vitaly Kuznetsov) [1692804] - [kvm] KVM: nVMX: add option to perform early consistency checks via H/W (Vitaly Kuznetsov) [1692804] - [kvm] KVM: vmx: write HOST_IA32_EFER in vmx_set_constant_host_state() (Vitaly Kuznetsov) [1692804] - [kvm] KVM: nVMX: call kvm_skip_emulated_instruction in nested_vmx_{fail, succeed} (Vitaly Kuznetsov) [1692804] - [kvm] KVM: nVMX: do not call nested_vmx_succeed() for consistency check VMExit (Vitaly Kuznetsov) [1692804] - [kvm] KVM: nVMX: do not skip VMEnter instruction that succeeds (Vitaly Kuznetsov) [1692804] - [kvm] KVM: nVMX: do early preparation of vmcs02 before check_vmentry_postreqs() (Vitaly Kuznetsov) [1692804] - [kvm] KVM: nVMX: initialize vmcs02 constant exactly once (per VMCS) (Vitaly Kuznetsov) [1692804] - [kvm] KVM: nVMX: split pieces of prepare_vmcs02() to prepare_vmcs02_early() (Vitaly Kuznetsov) [1692804] - [kvm] KVM: VMX: remove ASSERT() on vmx->pml_pg validity (Vitaly Kuznetsov) [1692804] - [kvm] KVM: vVMX: rename label for post-enter_guest_mode consistency check (Vitaly Kuznetsov) [1692804] - [kvm] KVM: nVMX: assimilate nested_vmx_entry_failure() into nested_vmx_enter_non_root_mode() (Vitaly Kuznetsov) [1692804] - [kvm] KVM: nVMX: rename enter_vmx_non_root_mode to nested_vmx_enter_non_root_mode (Vitaly Kuznetsov) [1692804] - [kvm] KVM: nVMX: try to set EFER bits correctly when initializing controls (Vitaly Kuznetsov) [1692804] - [kvm] KVM: vmx: do not unconditionally clear EFER switching (Vitaly Kuznetsov) [1692804] - [kvm] KVM: nVMX: reset cache/shadows when switching loaded VMCS (Vitaly Kuznetsov) [1692804] - [kvm] KVM: nVMX: use vm_exit_controls_init() to write exit controls for vmcs02 (Vitaly Kuznetsov) [1692804] - [kvm] KVM: nVMX: move vmcs12 EPTP consistency check to check_vmentry_prereqs() (Vitaly Kuznetsov) [1692804] - [kvm] KVM: nVMX: move host EFER consistency checks to VMFail path (Vitaly Kuznetsov) [1692804] - [virt] KVM: leverage change to adjust slots->used_slots in update_memslots() (Vitaly Kuznetsov) [1692804] - [kvm] KVM: x86: hyperv: implement PV IPI send hypercalls (Vitaly Kuznetsov) [1692804] - [kvm] KVM: x86: hyperv: optimize kvm_hv_flush_tlb() for vp_index == vcpu_idx case (Vitaly Kuznetsov) [1692804] - [kvm] KVM: x86: hyperv: valid_bank_mask should be 'u64' (Vitaly Kuznetsov) [1692804] - [kvm] KVM: x86: hyperv: keep track of mismatched VP indexes (Vitaly Kuznetsov) [1692804] - [virt] KVM: x86: hyperv: optimize 'all cpus' case in kvm_hv_flush_tlb() (Vitaly Kuznetsov) [1692804] - [kvm] kvm/x86: return meaningful value from KVM_SIGNAL_MSI (Vitaly Kuznetsov) [1692804] - [kvm] KVM: x86: move definition PT_MAX_HUGEPAGE_LEVEL and KVM_NR_PAGE_SIZES together (Vitaly Kuznetsov) [1692804] - [kvm] KVM/VMX: Remve unused function is_external_interrupt(). (Vitaly Kuznetsov) [1692804] - [kvm] KVM: x86: return 0 in case kvm_mmu_memory_cache has min number of objects (Vitaly Kuznetsov) [1692804] - [kvm] nVMX x86: Make nested_vmx_check_pml_controls() concise (Vitaly Kuznetsov) [1692804] - [x86] KVM: x86: adjust kvm_mmu_page member to save 8 bytes (Vitaly Kuznetsov) [1692804] - [tools] kvm: selftests: support high GPAs in dirty_log_test (Vitaly Kuznetsov) [1692804] - [tools] kvm: selftests: stop lying to aarch64 tests about PA-bits (Vitaly Kuznetsov) [1692804] - [tools] kvm: selftests: dirty_log_test: also test 64K pages on aarch64 (Vitaly Kuznetsov) [1692804] - [tools] kvm: selftests: port dirty_log_test to aarch64 (Vitaly Kuznetsov) [1692804] - [tools] kvm: selftests: introduce new VM mode for 64K pages (Vitaly Kuznetsov) [1692804] - [tools] kvm: selftests: add vcpu support for aarch64 (Vitaly Kuznetsov) [1692804] - [tools] kvm: selftests: add virt mem support for aarch64 (Vitaly Kuznetsov) [1692804] - [tools] kvm: selftests: add vm_phy_pages_alloc (Vitaly Kuznetsov) [1692804] - [tools] kvm: selftests: tidy up kvm_util (Vitaly Kuznetsov) [1692804] - [tools] kvm: selftests: add cscope make target (Vitaly Kuznetsov) [1692804] - [tools] kvm: selftests: move arch-specific files to arch-specific locations (Vitaly Kuznetsov) [1692804] - [tools] kvm: selftests: introduce ucall (Vitaly Kuznetsov) [1692804] - [tools] kvm: selftests: vcpu_setup: set cr4.osfxsr (Vitaly Kuznetsov) [1692804] - [kvm] KVM: LAPIC: Tune lapic_timer_advance_ns automatically (Vitaly Kuznetsov) [1692804] - [kvm] KVM: nVMX: Do not flush TLB on L1<->L2 transitions if L1 uses VPID and EPT (Vitaly Kuznetsov) [1692804] - [kvm] KVM: nVMX: Flush linear and combined mappings on VPID02 related flushes (Vitaly Kuznetsov) [1692804] - [kvm] KVM: nVMX: Use correct VPID02 when emulating L1 INVVPID (Vitaly Kuznetsov) [1692804] - [kvm] KVM: nVMX: Flush TLB entries tagged by dest EPTP on L1<->L2 transitions (Vitaly Kuznetsov) [1692804] - [kvm] KVM: vmx: rename KVM_GUEST_CR0_MASK tp KVM_VM_CR0_ALWAYS_OFF (Vitaly Kuznetsov) [1692804] - [kvm] KVM: PPC: Remove redundand permission bits removal (Vitaly Kuznetsov) [1692804] - [kvm] KVM: PPC: Propagate errors to the guest when failed instead of ignoring (Vitaly Kuznetsov) [1692804] - [kvm] KVM: PPC: Book3S HV: Provide mode where all vCPUs on a core must be the same VM (Vitaly Kuznetsov) [1692804] - [kvm] KVM: PPC: Book3S PR: Exiting split hack mode needs to fixup both PC and LR (Vitaly Kuznetsov) [1692804] - [kvm] arm64: KVM: Remove some extra semicolon in kvm_target_cpu (Vitaly Kuznetsov) [1692804] - [kvm] KVM: PPC: Validate all tces before updating tables (Vitaly Kuznetsov) [1692804] - [documentation] arm64: Add silicon-errata.txt entry for ARM erratum 1188873 (Vitaly Kuznetsov) [1692804] - [arm64] arm64: arch_timer: Add workaround for ARM erratum 1188873 (Vitaly Kuznetsov) [1692804] - [virt] signal/arm/kvm: Use send_sig_mceerr (Vitaly Kuznetsov) [1692804] - [arm64] arm64/cpufeatures: Introduce ESR_ELx_SYS64_ISS_RT() (Vitaly Kuznetsov) [1692804] - [kvm] signal/x86: Use send_sig_mceerr as apropriate (Vitaly Kuznetsov) [1692804] - [x86] x86/kvm: Use __bss_decrypted attribute in shared variables (Vitaly Kuznetsov) [1692804] - [x86] x86/mm: Add .bss..decrypted section to hold shared variables (Vitaly Kuznetsov) [1692804] - [kvm] KVM: vmx: Inject #UD for SGX ENCLS instruction in guest (Vitaly Kuznetsov) [1692804] - [x86] KVM: vmx: Add defines for SGX ENCLS exiting (Vitaly Kuznetsov) [1692804] - [documentation] KVM: Documentation: rename the capability of KVM_CAP_ARM_SET_SERROR_ESR (Vitaly Kuznetsov) [1692804] - [x86] x86/kvmclock: Mark kvm_get_preset_lpj() as __init (Vitaly Kuznetsov) [1692804] - [virt] kvm: Don't open code task_pid in kvm_vcpu_ioctl (Vitaly Kuznetsov) [1692804] - [virt] KVM: arm64: Share the parts of get/set events useful to 32bit (Vitaly Kuznetsov) [1692804] - [kvm] arm64: KVM: export the capability to set guest SError syndrome (Vitaly Kuznetsov) [1692804] - [kvm] arm/arm64: KVM: Add KVM_GET/SET_VCPU_EVENTS (Vitaly Kuznetsov) [1692804] - [x86] x86/kvmclock: Switch kvmclock data to a PER_CPU variable (Vitaly Kuznetsov) [1692804] - [x86] x86/kvmclock: Move kvmclock vsyscall param and init to kvmclock (Vitaly Kuznetsov) [1692804] - [x86] x86/kvmclock: Mark variables __initdata and __ro_after_init (Vitaly Kuznetsov) [1692804] - [x86] x86/kvmclock: Cleanup the code (Vitaly Kuznetsov) [1692804] - [x86] x86/kvmclock: Decrapify kvm_register_clock() (Vitaly Kuznetsov) [1692804] - [x86] x86/kvmclock: Remove page size requirement from wall_clock (Vitaly Kuznetsov) [1692804] - [x86] x86/kvmclock: Remove memblock dependency (Vitaly Kuznetsov) [1692804] - [kvm] kvm/arm: use PSR_AA32 definitions (Vitaly Kuznetsov) [1692804] - [kvm] arm64: KVM: Handle Set/Way CMOs as NOPs if FWB is present (Vitaly Kuznetsov) [1692804] - [arm64] arm64: KVM: Add support for Stage-2 control of memory types and cacheability (Vitaly Kuznetsov) [1692804] - [arm64] arm64: Handle mismatched cache type (Vitaly Kuznetsov) [1692804] - [arm64] arm64: Fix mismatched cache line size detection (Vitaly Kuznetsov) [1692804]- [lib] rhel-kabi: Add RH_KABI_FORCE_CHANGE() to radix-tree and idr functions (Don Dutile) [1692079] - [lib] XArray: Fix xa_reserve for 2-byte aligned entries (Don Dutile) [1692079] - [lib] XArray: Fix xa_erase of 2-byte aligned entries (Don Dutile) [1692079] - [lib] XArray: Use xa_cmpxchg to implement xa_reserve (Don Dutile) [1692079] - [lib] XArray: Fix xa_release in allocating arrays (Don Dutile) [1692079] - [lib] XArray: Mark xa_insert and xa_reserve as must_check (Don Dutile) [1692079] - [lib] XArray: Add cyclic allocation (Don Dutile) [1692079] - [lib] XArray: Redesign xa_alloc API (Don Dutile) [1692079] - [lib] XArray: Add support for 1s-based allocation (Don Dutile) [1692079] - [lib] XArray: Change xa_insert to return -EBUSY (Don Dutile) [1692079] - [lib] XArray: Update xa_erase family descriptions (Don Dutile) [1692079] - [lib] XArray tests: RCU lock prohibits GFP_KERNEL (Don Dutile) [1692079] - [include] XArray: Fix an arithmetic error in xa_is_err (Don Dutile) [1692079] - [lib] XArray tests: Check mark 2 gets squashed (Don Dutile) [1692079] - [include] XArray: Fix typo in comment (Don Dutile) [1692079] - [lib] XArray: Honour reserved entries in xa_insert (Don Dutile) [1692079] - [lib] XArray: Permit storing 2-byte-aligned pointers (Don Dutile) [1692079] - [lib] XArray: Change xa_for_each iterator (Don Dutile) [1692079] - [lib] XArray: Turn xa_init_flags into a static inline (Don Dutile) [1692079] - [lib] XArray tests: Add RCU locking (Don Dutile) [1692079] - [lib] XArray: Fix xa_alloc when id exceeds max (Don Dutile) [1692079] - [lib] XArray tests: Check iterating over multiorder entries (Don Dutile) [1692079] - [lib] XArray tests: Handle larger indices more elegantly (Don Dutile) [1692079] - [include] XArray: Add xa_cmpxchg_irq and xa_cmpxchg_bh (Don Dutile) [1692079] - [tools] radix tree: Don't return retry entries from lookup (Don Dutile) [1692079] - [lib] XArray tests: Add missing locking (Don Dutile) [1692079] - [lib] XArray tests: Correct some 64-bit assumptions (Don Dutile) [1692079] - [lib] XArray: Correct xa_store_range (Don Dutile) [1692079] - [lib] XArray: Fix Documentation (Don Dutile) [1692079] - [lib] XArray: Handle NULL pointers differently for allocation (Don Dutile) [1692079] - [lib] XArray: Unify xa_store and __xa_store (Don Dutile) [1692079] - [include] XArray: Add xa_store_bh() and xa_store_irq() (Don Dutile) [1692079] - [lib] XArray: Turn xa_erase into an exported function (Don Dutile) [1692079] - [lib] XArray: Unify xa_cmpxchg and __xa_cmpxchg (Don Dutile) [1692079] - [lib] XArray: Regularise xa_reserve (Don Dutile) [1692079] - [lib] XArray: Export __xa_foo to non-GPL modules (Don Dutile) [1692079] - [lib] XArray: Fix xa_for_each with a single element at 0 (Don Dutile) [1692079] - [lib] xarray: Add range store functionality (Don Dutile) [1692079] - [lib] xarray: Move multiorder_check to in-kernel tests (Don Dutile) [1692079] - [lib] xarray: Move multiorder_shrink to kernel tests (Don Dutile) [1692079] - [lib] xarray: Move multiorder account test in-kernel (Don Dutile) [1692079] - [tools] radix tree test suite: Convert iteration test to XArray (Don Dutile) [1692079] - [tools] radix tree test suite: Convert tag_tagged_items to XArray (Don Dutile) [1692079] - [tools] radix tree test suite: Convert regression1 to XArray (Don Dutile) [1692079] - [lib] ida: Convert to XArray (Don Dutile) [1692079] - [lib] xarray: Track free entries in an XArray (Don Dutile) [1692079] - [lib] xarray: Add xa_reserve and xa_release (Don Dutile) [1692079] - [lib] xarray: Add xas_create_range (Don Dutile) [1692079] - [lib] xarray: Add xas_for_each_conflict (Don Dutile) [1692079] - [lib] xarray: Step through an XArray (Don Dutile) [1692079] - [lib] xarray: Destroy an XArray (Don Dutile) [1692079] - [lib] xarray: Extract entries from an XArray (Don Dutile) [1692079] - [lib] xarray: Add XArray iterators (Don Dutile) [1692079] - [lib] xarray: Add XArray conditional store operations (Don Dutile) [1692079] - [tools] xarray: Add XArray unconditional store operations (Don Dutile) [1692079] - [tools] xarray: Add XArray marks (Don Dutile) [1692079] - [tools] xarray: Add XArray load operation (Don Dutile) [1692079] - [documentation] xarray: Add documentation (Don Dutile) [1692079] - [include] xarray: Define struct xa_node (Don Dutile) [1692079] - [tools] xarray: Add definition of struct xarray (Don Dutile) [1692079] - [lib] test_ida: Fix lockdep warning (Don Dutile) [1692079] - [lib] xarray: Change definition of sibling entries (Don Dutile) [1692079] - [mm] xarray: Replace exceptional entries (Don Dutile) [1692079] - [lib] idr: Permit any valid kernel pointer to be stored (Don Dutile) [1692079] - [pci] Update email address (Don Dutile) [1692079] - [lib] ida: Change ida_get_new_above to return the id (Don Dutile) [1692079] - [lib] ida: Remove old API (Don Dutile) [1692079] - [target] target/iscsi: Allocate session IDs from an IDA (Don Dutile) [1692079] - [target] iscsi target: fix session creation failure handling (Don Dutile) [1692079] - [drm] drm/vmwgfx: Return 0 when gmrid::get_node runs out of ID's (Don Dutile) [1692079] - [drm] drm/vmwgfx: Convert to new IDA API (Don Dutile) [1692079] - [dma] dmaengine: Convert to new IDA API (Don Dutile) [1692079] - [powerpc] ppc: Convert vas ID allocation to new IDA API (Don Dutile) [1692079] - [media] media: Convert entity ID allocation to new IDA API (Don Dutile) [1692079] - [mm] ppc: Convert mmu context allocation to new IDA API (Don Dutile) [1692079] - [net] Convert net_namespace to new IDA API (Don Dutile) [1692079] - [misc] cb710: Convert to new IDA API (Don Dutile) [1692079] - [block] rsxx: Convert to new IDA API (Don Dutile) [1692079] - [scsi] osd: Convert to new IDA API (Don Dutile) [1692079] - [scsi] sd: Convert to new IDA API (Don Dutile) [1692079] - [fs] devpts: Convert to new IDA API (Don Dutile) [1692079] - [fs] fs: Convert namespace IDAs to new API (Don Dutile) [1692079] - [fs] fs: Convert unnamed_dev_ida to new API (Don Dutile) [1692079] - [lib] test_ida: check_ida_destroy and check_ida_alloc (Don Dutile) [1692079] - [lib] test_ida: Convert check_ida_conv to new API (Don Dutile) [1692079] - [lib] test_ida: Move ida_check_max (Don Dutile) [1692079] - [lib] test_ida: Move ida_check_leaf (Don Dutile) [1692079] - [tools] idr-test: Convert ida_check_nomem to new API (Don Dutile) [1692079] - [tools] ida: Start new test_ida module (Don Dutile) [1692079] - [lib] ida: Lock the IDA in ida_destroy (Don Dutile) [1692079] - [lib] radix-tree: Fix UBSAN warning (Don Dutile) [1692079] - [include] rh_kabi: Indirect EXTEND macros so nesting of other macros will resolve. (Don Dutile) [1692079] - [s390] s390/pkey: add one more argument space for debug feature entry (Philipp Rudo) [1710033] - [s390] s390/zcrypt: fix possible deadlock situation on ap queue remove (Philipp Rudo) [1710033] - [s390] zcrypt: handle AP Info notification from CHSC SEI command (Philipp Rudo) [1710033] - [s390] s390/zcrypt: revisit ap device remove procedure (Philipp Rudo) [1710033] - [s390] pkey: Indicate old mkvp only if old and current mkvp are different (Philipp Rudo) [1710033] - [s390] s390/zcrypt: use new state UNBOUND during queue driver rebind (Philipp Rudo) [1710033] - [s390] s390/zcrypt: fix specification exception on z196 during ap probe (Philipp Rudo) [1710033] - [s390] s390/zcrypt: rework ap scan bus code (Philipp Rudo) [1710033] - [s390] s390/zcrypt: make sysfs reset attribute trigger queue reset (Philipp Rudo) [1710033] - [s390] s390/zcrypt: improve special ap message cmd handling (Philipp Rudo) [1710033] - [s390] s390: vfio-ap: include for test_facility() (Philipp Rudo) [1710033] - [fs] flexfiles: enforce per-mirror stateid only for v4 DSes (Scott Mayhew) [1709556] - [fs] flexfiles: use per-mirror specified stateid for IO (Scott Mayhew) [1709556] - [powerpc] powerpc/pseries: Fix build break due to pnv_npu2_init() (Sam Bobroff) [1704567] - [powerpc] powerpc/powernv/sriov: Register IOMMU groups for VFs (Sam Bobroff) [1704567] - [powerpc] powerpc/powernv/npu: Allocate enough memory in pnv_try_setup_npu_table_group() (Sam Bobroff) [1704567] - [powerpc] powerpc/powernv/npu: Fix oops in pnv_try_setup_npu_table_group() (Sam Bobroff) [1704567] - [mm] mm: defer ZONE_DEVICE page initialization to the point where we init pgmap (Waiman Long) [1666538 1634343] - [mm] mm: create non-atomic version of SetPageReserved for init use (Waiman Long) [1666538 1634343] - [mm] mm: provide kernel parameter to allow disabling page init poisoning (Waiman Long) [1666538 1634343] - [x86] x86/resctrl: Initialize a new resource group with default MBA values (David Arcari) [1688127] - [x86] x86/resctrl: Move per RDT domain initialization to a separate function (David Arcari) [1688127] - [x86] x86/resctrl: Do not repeat rdtgroup mode initialization (David Arcari) [1688127] - [x86] x86/resctrl: Fix rdt_find_domain() return value and checks (David Arcari) [1688127] - [x86] x86/resctrl: Use rdt_last_cmd_puts() where possible (David Arcari) [1688127]- [s390] s390/pci: map IOV resources (Philipp Rudo) [1659411] - [powerpc] powerpc/book3s/64: check for NULL pointer in pgd_alloc() (Steve Best) [1710310] - [md] dm thin metadata: do not write metadata if no changes occurred (Mike Snitzer) [1710030] - [md] dm thin metadata: add wrappers for managing write locking of metadata (Mike Snitzer) [1710030] - [md] dm thin metadata: check __commit_transaction()'s return (Mike Snitzer) [1710030] - [md] dm space map common: zero entire ll_disk (Mike Snitzer) [1710030] - [powerpc] powerpc/tm: Fix stack pointer corruption (Desnes Augusto Nunes do Rosario) [1707635] - [pci] PCI/MSI: Remove obsolete sanity checks for multiple interrupt sets (Prarit Bhargava) [1686678] - [kernel] genirq/affinity: Remove the leftovers of the original set support (Prarit Bhargava) [1686678] - [nvme] nvme-pci: Simplify interrupt allocation (Prarit Bhargava) [1686678] - [include] genirq/affinity: Add new callback for (re)calculating interrupt sets (Prarit Bhargava) [1686678] - [nvme] genirq/affinity: Store interrupt sets size in struct irq_affinity (Prarit Bhargava) [1686678] - [kernel] genirq/affinity: Code consolidation (Prarit Bhargava) [1686678] - [kernel] genirq/affinity: Move allocation of 'node_to_cpumask' to irq_build_affinity_masks() (Prarit Bhargava) [1686678] - [kernel] genirq/irqdesc: Fix double increment in alloc_descs() (Prarit Bhargava) [1686678] - [include] genirq: Fix the kerneldoc comment for struct irq_affinity_desc (Prarit Bhargava) [1686678] - [kernel] genirq/affinity: Add is_managed to struct irq_affinity_desc (Prarit Bhargava) [1686678] - [kernel] genirq/core: Introduce struct irq_affinity_desc (Prarit Bhargava) [1686678] - [kernel] genirq/affinity: Remove excess indentation (Prarit Bhargava) [1686678]- [md] dm: make sure to obey max_io_len_target_boundary (Mike Snitzer) [1712607]- [mm] x86/dump_pagetables: Fix LDT remap address marker (Baoquan He) [1639560] - [x86] x86/mm: Fix guard hole handling (Baoquan He) [1639560] - [x86] x86/mm: Move LDT remap out of KASLR region on 5-level paging (Baoquan He) [1639560] - [x86] x86/ldt: Define LDT_END_ADDR (Baoquan He) [1639560] - [mm] x86/ldt: Reserve address-space range on 32 bit for the LDT (Baoquan He) [1639560] - [documentation] x86/mm/doc: Enhance the x86-64 virtual memory layout descriptions (Baoquan He) [1639560] - [documentation] x86/mm/doc: Clean up the x86-64 virtual memory layout descriptions (Baoquan He) [1639560] - [fs] cifs: fix page reference leak with readv/writev (Leif Sahlberg) [1708033] - [fs] cifs: do not attempt cifs operation on smb2+ rename error (Leif Sahlberg) [1708033] - [fs] cifs: fix memory leak in SMB2_read (Leif Sahlberg) [1708033] - [fs] CIFS: keep FileInfo handle live during oplock break (Leif Sahlberg) [1708033] - [fs] cifs: fix handle leak in smb2_query_symlink() (Leif Sahlberg) [1708033] - [fs] cifs: Fix lease buffer length error (Leif Sahlberg) [1708033] - [fs] cifs: Fix use-after-free in SMB2_read (Leif Sahlberg) [1708033] - [fs] cifs: Fix use-after-free in SMB2_write (Leif Sahlberg) [1708033] - [fs] cifs: a smb2_validate_and_copy_iov failure does not mean the handle is invalid. (Leif Sahlberg) [1708033] - [fs] SMB3: Allow persistent handle timeout to be configurable on mount (Leif Sahlberg) [1708033] - [fs] smb3: Fix enumerating snapshots to Azure (Leif Sahlberg) [1708033] - [fs] cifs: fix kref underflow in close_shroot() (Leif Sahlberg) [1708033] - [fs] cifs: update internal module version number (Leif Sahlberg) [1708033] - [fs] SMB3: Fix SMB3.1.1 guest mounts to Samba (Leif Sahlberg) [1708033] - [fs] cifs: Fix slab-out-of-bounds when tracing SMB tcon (Leif Sahlberg) [1708033] - [fs] cifs: allow guest mounts to work for smb3.11 (Leif Sahlberg) [1708033] - [fs] fix incorrect error code mapping for OBJECTID_NOT_FOUND (Leif Sahlberg) [1708033] - [fs] cifs: fix that return -EINVAL when do dedupe operation (Leif Sahlberg) [1708033] - [fs] CIFS: Fix an issue with re-sending rdata when transport returning -EAGAIN (Leif Sahlberg) [1708033] - [fs] CIFS: Fix an issue with re-sending wdata when transport returning -EAGAIN (Leif Sahlberg) [1708033] - [fs] CIFS: fix POSIX lock leak and invalid ptr deref (Leif Sahlberg) [1708033] - [fs] SMB3: Allow SMB3 FSCTL queries to be sent to server from tools (Leif Sahlberg) [1708033] - [fs] cifs: fix incorrect handling of smb2_set_sparse() return in smb3_simple_falloc (Leif Sahlberg) [1708033] - [fs] smb2: fix typo in definition of a few error flags (Leif Sahlberg) [1708033] - [fs] CIFS: make mknod() an smb_version_op (Leif Sahlberg) [1708033] - [documentation] cifs: minor documentation updates (Leif Sahlberg) [1708033] - [documentation] cifs: minor updates to documentation (Leif Sahlberg) [1708033] - [fs] cifs: remove unused value pointed out by Coverity (Leif Sahlberg) [1708033] - [fs] SMB3: passthru query info doesn't check for SMB3 FSCTL passthru (Leif Sahlberg) [1708033] - [fs] smb3: add dynamic tracepoints for simple fallocate and zero range (Leif Sahlberg) [1708033] - [fs] cifs: fix smb3_zero_range so it can expand the file-size when required (Leif Sahlberg) [1708033] - [fs] cifs: add SMB2_ioctl_init/free helpers to be used with compounding (Leif Sahlberg) [1708033] - [fs] smb3: Add dynamic trace points for various compounded smb3 ops (Leif Sahlberg) [1708033] - [fs] cifs: cache FILE_ALL_INFO for the shared root handle (Leif Sahlberg) [1708033] - [fs] smb3: display volume serial number for shares in /proc/fs/cifs/DebugData (Leif Sahlberg) [1708033] - [fs] cifs: simplify how we handle credits in compound_send_recv() (Leif Sahlberg) [1708033] - [fs] smb3: add dynamic tracepoint for timeout waiting for credits (Leif Sahlberg) [1708033] - [fs] smb3: display security information in /proc/fs/cifs/DebugData more accurately (Leif Sahlberg) [1708033] - [fs] cifs: add a timeout argument to wait_for_free_credits (Leif Sahlberg) [1708033] - [fs] cifs: prevent starvation in wait_for_free_credits for multi-credit requests (Leif Sahlberg) [1708033] - [fs] cifs: wait_for_free_credits() make it possible to wait for >=1 credits (Leif Sahlberg) [1708033] - [fs] cifs: pass flags down into wait_for_free_credits() (Leif Sahlberg) [1708033] - [fs] cifs: change wait_for_free_request() to take flags as argument (Leif Sahlberg) [1708033] - [fs] fs: cifs: Kconfig: pedantic formatting (Leif Sahlberg) [1708033] - [fs] smb3: request more credits on normal (non-large read/write) ops (Leif Sahlberg) [1708033] - [fs] CIFS: Return -EAGAIN instead of -ENOTSOCK (Leif Sahlberg) [1708033] - [fs] CIFS: Only send SMB2_NEGOTIATE command on new TCP connections (Leif Sahlberg) [1708033] - [fs] CIFS: Fix read after write for files with read caching (Leif Sahlberg) [1708033] - [fs] smb3: for kerberos mounts display the credential uid used (Leif Sahlberg) [1708033] - [fs] cifs: use correct format characters (Leif Sahlberg) [1708033] - [fs] smb3: add dynamic trace point for query_info_enter/done (Leif Sahlberg) [1708033] - [fs] smb3: add dynamic trace point for smb3_cmd_enter (Leif Sahlberg) [1708033] - [fs] smb3: improve dynamic tracing of open and posix mkdir (Leif Sahlberg) [1708033] - [fs] smb3: add missing read completion trace point (Leif Sahlberg) [1708033] - [fs] smb3: Add tracepoints for read, write and query_dir enter (Leif Sahlberg) [1708033] - [fs] smb3: add tracepoints for query dir (Leif Sahlberg) [1708033] - [fs] smb3: Update POSIX negotiate context with POSIX ctxt GUID (Leif Sahlberg) [1708033] - [fs] cifs: update internal module version number (Leif Sahlberg) [1708033] - [fs] CIFS: Try to acquire credits at once for compound requests (Leif Sahlberg) [1708033] - [fs] CIFS: Return error code when getting file handle for writeback (Leif Sahlberg) [1708033] - [fs] CIFS: Move open file handling to writepages (Leif Sahlberg) [1708033] - [fs] CIFS: Move unlocking pages from wdata_send_pages() (Leif Sahlberg) [1708033] - [fs] CIFS: Find and reopen a file before get MTU credits in writepages (Leif Sahlberg) [1708033] - [fs] CIFS: Reopen file before get SMB2 MTU credits for async IO (Leif Sahlberg) [1708033] - [fs] CIFS: Remove custom credit adjustments for SMB2 async IO (Leif Sahlberg) [1708033] - [fs] CIFS: Adjust MTU credits before reopening a file (Leif Sahlberg) [1708033] - [fs] CIFS: Check for reconnects before sending compound requests (Leif Sahlberg) [1708033] - [fs] CIFS: Check for reconnects before sending async requests (Leif Sahlberg) [1708033] - [fs] CIFS: Respect reconnect in non-MTU credits calculations (Leif Sahlberg) [1708033] - [fs] CIFS: Respect reconnect in MTU credits calculations (Leif Sahlberg) [1708033] - [fs] CIFS: Set reconnect instance to one initially (Leif Sahlberg) [1708033] - [fs] CIFS: Respect SMB2 hdr preamble size in read responses (Leif Sahlberg) [1708033] - [fs] CIFS: Count SMB3 credits for malformed pending responses (Leif Sahlberg) [1708033] - [fs] CIFS: Do not log credits when unmounting a share (Leif Sahlberg) [1708033] - [fs] CIFS: Always reset read error to -EIO if no response (Leif Sahlberg) [1708033] - [fs] cifs: Accept validate negotiate if server return NT_STATUS_NOT_SUPPORTED (Leif Sahlberg) [1708033] - [fs] CIFS: Do not skip SMB2 message IDs on send failures (Leif Sahlberg) [1708033] - [fs] smb3: request more credits on tree connect (Leif Sahlberg) [1708033] - [fs] smb3: make default i/o size for smb3 mounts larger (Leif Sahlberg) [1708033] - [fs] CIFS: Do not reset lease state to NONE on lease break (Leif Sahlberg) [1708033] - [fs] smb3: fix bytes_read statistics (Leif Sahlberg) [1708033] - [fs] cifs: return -ENODATA when deleting an xattr that does not exist (Leif Sahlberg) [1708033] - [fs] cifs: add credits from unmatched responses/messages (Leif Sahlberg) [1708033] - [fs] cifs: replace snprintf with scnprintf (Leif Sahlberg) [1708033] - [fs] cifs: Fix NULL pointer dereference of devname (Leif Sahlberg) [1708033] - [fs] CIFS: Fix leaking locked VFS cache pages in writeback retry (Leif Sahlberg) [1708033] - [fs] cifs: update internal module version number (Leif Sahlberg) [1708033] - [fs] CIFS: fix use-after-free of the lease keys (Leif Sahlberg) [1708033] - [fs] CIFS: Do not consider -ENODATA as stat failure for reads (Leif Sahlberg) [1708033] - [fs] CIFS: Do not count -ENODATA as failure for query directory (Leif Sahlberg) [1708033] - [fs] CIFS: Fix trace command logging for SMB2 reads and writes (Leif Sahlberg) [1708033] - [fs] CIFS: Fix possible oops and memory leaks in async IO (Leif Sahlberg) [1708033] - [fs] cifs: limit amount of data we request for xattrs to CIFSMaxBufSize (Leif Sahlberg) [1708033] - [fs] cifs: fix computation for MAX_SMB2_HDR_SIZE (Leif Sahlberg) [1708033] - [fs] cifs: print CIFSMaxBufSize as part of /proc/fs/cifs/DebugData (Leif Sahlberg) [1708033] - [fs] smb3: add credits we receive from oplock/break PDUs (Leif Sahlberg) [1708033] - [fs] CIFS: Fix mounts if the client is low on credits (Leif Sahlberg) [1708033] - [fs] CIFS: Do not assume one credit for async responses (Leif Sahlberg) [1708033] - [fs] CIFS: Fix credit calculations in compound mid callback (Leif Sahlberg) [1708033] - [fs] CIFS: Fix credit calculation for encrypted reads with errors (Leif Sahlberg) [1708033] - [fs] CIFS: Fix credits calculations for reads with errors (Leif Sahlberg) [1708033] - [fs] CIFS: Do not reconnect TCP session in add_credits() (Leif Sahlberg) [1708033] - [fs] smb3: Cleanup license mess (Leif Sahlberg) [1708033] - [fs] CIFS: Fix possible hang during async MTU reads and writes (Leif Sahlberg) [1708033] - [fs] cifs: fix memory leak of an allocated cifs_ntsd structure (Leif Sahlberg) [1708033] - [fs] cifs: update internal module version number (Leif Sahlberg) [1708033] - [fs] CIFS: Fix error paths in writeback code (Leif Sahlberg) [1708033] - [fs] CIFS: Move credit processing to mid callbacks for SMB3 (Leif Sahlberg) [1708033] - [fs] CIFS: Fix credits calculation for cancelled requests (Leif Sahlberg) [1708033] - [fs] cifs: Fix potential OOB access of lock element array (Leif Sahlberg) [1708033] - [fs] cifs: Limit memory used by lock request calls to a page (Leif Sahlberg) [1708033] - [fs] cifs: move large array from stack to heap (Leif Sahlberg) [1708033] - [fs] CIFS: Do not hide EINTR after sending network packets (Leif Sahlberg) [1708033] - [fs] CIFS: Fix credit computation for compounded requests (Leif Sahlberg) [1708033] - [fs] CIFS: Do not set credits to 1 if the server didn't grant anything (Leif Sahlberg) [1708033] - [fs] CIFS: Fix adjustment of credits for MTU requests (Leif Sahlberg) [1708033] - [fs] cifs: Fix a tiny potential memory leak (Leif Sahlberg) [1708033] - [fs] cifs: Fix a debug message (Leif Sahlberg) [1708033] - [fs] smb3: add smb3.1.1 to default dialect list (Leif Sahlberg) [1708033] - [fs] cifs: fix confusing warning message on reconnect (Leif Sahlberg) [1708033] - [fs] smb3: fix large reads on encrypted connections (Leif Sahlberg) [1708033] - [fs] cifs: update internal module version number (Leif Sahlberg) [1708033] - [fs] cifs: we can not use small padding iovs together with encryption (Leif Sahlberg) [1708033] - [fs] cifs: Minor Kconfig clarification (Leif Sahlberg) [1708033] - [fs] cifs: Always resolve hostname before reconnecting (Leif Sahlberg) [1708033] - [fs] cifs: Add support for failover in cifs_reconnect_tcon() (Leif Sahlberg) [1708033] - [fs] cifs: Add support for failover in smb2_reconnect() (Leif Sahlberg) [1708033] - [fs] cifs: Only free DFS target list if we actually got one (Leif Sahlberg) [1708033] - [fs] cifs: start DFS cache refresher in cifs_mount() (Leif Sahlberg) [1708033] - [fs] cifs: Use GFP_ATOMIC when a lock is held in cifs_mount() (Leif Sahlberg) [1708033] - [fs] cifs: Add support for failover in cifs_reconnect() (Leif Sahlberg) [1708033] - [fs] cifs: Add support for failover in cifs_mount() (Leif Sahlberg) [1708033] - [fs] cifs: remove set but not used variable 'sep' (Leif Sahlberg) [1708033] - [fs] cifs: Make use of DFS cache to get new DFS referrals (Leif Sahlberg) [1708033] - [fs] cifs: check kzalloc return (Leif Sahlberg) [1708033] - [fs] cifs: remove set but not used variable 'server' (Leif Sahlberg) [1708033] - [fs] cifs: Use kzfree() to free password (Leif Sahlberg) [1708033] - [fs] cifs: Fix to use kmem_cache_free() instead of kfree() (Leif Sahlberg) [1708033] - [fs] cifs: update for current_kernel_time64() removal (Leif Sahlberg) [1708033] - [fs] cifs: Add DFS cache routines (Leif Sahlberg) [1708033] - [fs] cifs: Save TTL value when parsing DFS referrals (Leif Sahlberg) [1708033] - [fs] cifs: auto disable 'serverino' in dfs mounts (Leif Sahlberg) [1708033] - [fs] cifs: Make devname param optional in cifs_compose_mount_options() (Leif Sahlberg) [1708033] - [fs] cifs: Skip any trailing backslashes from UNC (Leif Sahlberg) [1708033] - [fs] cifs: Refactor out cifs_mount() (Leif Sahlberg) [1708033] - [fs] CIFS: Fix error mapping for SMB2_LOCK command which caused OFD lock problem (Leif Sahlberg) [1708033] - [fs] CIFS: return correct errors when pinning memory failed for direct I/O (Leif Sahlberg) [1708033] - [fs] CIFS: use the correct length when pinning memory for direct I/O for write (Leif Sahlberg) [1708033] - [fs] cifs: check ntwrk_buf_start for NULL before dereferencing it (Leif Sahlberg) [1708033] - [fs] cifs: remove coverity warning in calc_lanman_hash (Leif Sahlberg) [1708033] - [fs] cifs: remove set but not used variable 'smb_buf' (Leif Sahlberg) [1708033] - [fs] cifs: suppress some implicit-fallthrough warnings (Leif Sahlberg) [1708033] - [fs] cifs: change smb2_query_eas to use the compound query-info helper (Leif Sahlberg) [1708033] - [fs] Add vers=3.0.2 as a valid option for SMBv3.0.2 (Leif Sahlberg) [1708033] - [fs] cifs: create a helper function for compound query_info (Leif Sahlberg) [1708033] - [fs] cifs: address trivial coverity warning (Leif Sahlberg) [1708033] - [fs] cifs: smb2 commands can not be negative, remove confusing check (Leif Sahlberg) [1708033] - [fs] cifs: use a compound for setting an xattr (Leif Sahlberg) [1708033] - [fs] cifs: clean up indentation, replace spaces with tab (Leif Sahlberg) [1708033] - [fs] smb3: Fix rmdir compounding regression to strict servers (Leif Sahlberg) [1708033] - [fs] CIFS: Avoid returning EBUSY to upper layer VFS (Leif Sahlberg) [1708033] - [fs] cifs: Fix separator when building path from dentry (Leif Sahlberg) [1708033] - [fs] cifs: In Kconfig CONFIG_CIFS_POSIX needs depends on legacy (insecure cifs) (Leif Sahlberg) [1708033] - [fs] cifs: fix signed/unsigned mismatch on aio_read patch (Leif Sahlberg) [1708033] - [fs] cifs: don't dereference smb_file_target before null check (Leif Sahlberg) [1708033] - [fs] CIFS: Add direct I/O functions to file_operations (Leif Sahlberg) [1708033] - [fs] CIFS: Add support for direct I/O write (Leif Sahlberg) [1708033] - [fs] CIFS: Add support for direct I/O read (Leif Sahlberg) [1708033] - [fs] smb3: missing defines and structs for reparse point handling (Leif Sahlberg) [1708033] - [fs] smb3: allow more detailed protocol info on open files for debugging (Leif Sahlberg) [1708033] - [fs] smb3: on kerberos mount if server doesn't specify auth type use krb5 (Leif Sahlberg) [1708033] - [fs] smb3: add trace point for tree connection (Leif Sahlberg) [1708033] - [fs] cifs: fix spelling mistake, EACCESS -> EACCES (Leif Sahlberg) [1708033] - [fs] cifs: fix return value for cifs_listxattr (Leif Sahlberg) [1708033] - [fs] cifs: update internal module version number for cifs.ko to 2.14 (Leif Sahlberg) [1708033] - [fs] smb3: add debug for unexpected mid cancellation (Leif Sahlberg) [1708033] - [fs] cifs: allow calling SMB2_xxx_free(NULL) (Leif Sahlberg) [1708033] - [fs] smb3 - clean up debug output displaying network interfaces (Leif Sahlberg) [1708033] - [fs] smb3: show number of current open files in /proc/fs/cifs/Stats (Leif Sahlberg) [1708033] - [fs] cifs: add support for ioctl on directories (Leif Sahlberg) [1708033] - [fs] cifs: fallback to older infolevels on findfirst queryinfo retry (Leif Sahlberg) [1708033] - [fs] smb3: do not attempt cifs operation in smb3 query info error path (Leif Sahlberg) [1708033] - [fs] smb3: send backup intent on compounded query info (Leif Sahlberg) [1708033] - [fs] cifs: track writepages in vfs operation counters (Leif Sahlberg) [1708033] - [fs] smb2: fix uninitialized variable bug in smb2_ioctl_query_info (Leif Sahlberg) [1708033] - [fs] cifs: add IOCTL for QUERY_INFO passthrough to userspace (Leif Sahlberg) [1708033] - [fs] cifs: minor clarification in comments (Leif Sahlberg) [1708033] - [fs] CIFS: Print message when attempting a mount (Leif Sahlberg) [1708033] - [fs] CIFS: Adds information-level logging function (Leif Sahlberg) [1708033] - [fs] cifs: OFD locks do not conflict with eachothers (Leif Sahlberg) [1708033] - [fs] CIFS: SMBD: Do not call ib_dereg_mr on invalidated memory registration (Leif Sahlberg) [1708033] - [fs] CIFS: pass page offsets on SMB1 read/write (Leif Sahlberg) [1708033] - [fs] fs/cifs: fix uninitialised variable warnings (Leif Sahlberg) [1708033] - [fs] smb3: add tracepoint for sending lease break responses to server (Leif Sahlberg) [1708033] - [fs] cifs: do not return atime less than mtime (Leif Sahlberg) [1708033] - [fs] smb3: update default requested iosize to 4MB from 1MB for recent dialects (Leif Sahlberg) [1708033] - [fs] smb3: Add debug message later in smb2/smb3 reconnect path (Leif Sahlberg) [1708033] - [fs] CIFS: make 'nodfs' mount opt a superblock flag (Leif Sahlberg) [1708033] - [fs] smb3: track the instance of each session for debugging (Leif Sahlberg) [1708033] - [fs] smb3: minor missing defines relating to reparse points (Leif Sahlberg) [1708033] - [fs] smb3: add way to control slow response threshold for logging and stats (Leif Sahlberg) [1708033] - [fs] cifs: minor updates to module description for cifs.ko (Leif Sahlberg) [1708033] - [fs] cifs: protect against server returning invalid file system block size (Leif Sahlberg) [1708033] - [fs] smb3: allow stats which track session and share reconnects to be reset (Leif Sahlberg) [1708033] - [fs] SMB3: Backup intent flag missing from compounded ops (Leif Sahlberg) [1708033] - [fs] cifs: create a define for the max number of iov we need for a SMB2 set_info (Leif Sahlberg) [1708033] - [fs] cifs: change SMB2_OP_RENAME and SMB2_OP_HARDLINK to use compounding (Leif Sahlberg) [1708033] - [fs] cifs: remove the is_falloc argument to SMB2_set_eof (Leif Sahlberg) [1708033] - [fs] cifs: change SMB2_OP_SET_INFO to use compounding (Leif Sahlberg) [1708033] - [fs] cifs: change SMB2_OP_SET_EOF to use compounding (Leif Sahlberg) [1708033] - [fs] cifs: make rmdir() use compounding (Leif Sahlberg) [1708033] - [fs] cifs: create helpers for SMB2_set_info_init/free() (Leif Sahlberg) [1708033] - [fs] cifs: change unlink to use a compound (Leif Sahlberg) [1708033] - [fs] cifs: change mkdir to use a compound (Leif Sahlberg) [1708033] - [fs] cifs: add a smb2_compound_op and change QUERY_INFO to use it (Leif Sahlberg) [1708033] - [fs] cifs: fix a credits leak for compund commands (Leif Sahlberg) [1708033] - [fs] smb3: add tracepoint to catch cases where credit refund of failed op overlaps reconnect (Leif Sahlberg) [1708033] - [fs] cifs: remove set but not used variable 'cifs_sb' (Leif Sahlberg) [1708033] - [fs] cifs: Use kmemdup rather than duplicating its implementation in smb311_posix_mkdir() (Leif Sahlberg) [1708033] - [fs] smb3: do not display confusing message on mount to Azure servers (Leif Sahlberg) [1708033] - [fs] smb3: fix lease break problem introduced by compounding (Leif Sahlberg) [1708033] - [fs] cifs: only wake the thread for the very last PDU in a compound (Leif Sahlberg) [1708033] - [fs] cifs: add a warning if we try to to dequeue a deleted mid (Leif Sahlberg) [1708033] - [fs] smb2: fix missing files in root share directory listing (Leif Sahlberg) [1708033] - [fs] cifs: read overflow in is_valid_oplock_break() (Leif Sahlberg) [1708033] - [fs] cifs: integer overflow in in SMB2_ioctl() (Leif Sahlberg) [1708033] - [fs] CIFS: fix wrapping bugs in num_entries() (Leif Sahlberg) [1708033] - [fs] cifs: prevent integer overflow in nxt_dir_entry() (Leif Sahlberg) [1708033] - [fs] fs/cifs: suppress a string overflow warning (Leif Sahlberg) [1708033] - [fs] cifs: connect to servername instead of IP for IPC$ share (Leif Sahlberg) [1708033] - [fs] smb3: check for and properly advertise directory lease support (Leif Sahlberg) [1708033] - [fs] smb3: minor debugging clarifications in rfc1001 len processing (Leif Sahlberg) [1708033] - [fs] SMB3: Backup intent flag missing for directory opens with backupuid mounts (Leif Sahlberg) [1708033] - [fs] fs/cifs: don't translate SFM_SLASH (U+F026) to backslash (Leif Sahlberg) [1708033] - [fs] cifs: update internal module version number for cifs.ko to 2.12 (Leif Sahlberg) [1708033] - [fs] cifs: check kmalloc before use (Leif Sahlberg) [1708033] - [fs] cifs: check if SMB2 PDU size has been padded and suppress the warning (Leif Sahlberg) [1708033] - [fs] cifs: create a define for how many iovs we need for an SMB2_open() (Leif Sahlberg) [1708033] - [fs] smb3: create smb3 equivalent alias for cifs pseudo-xattrs (Leif Sahlberg) [1708033] - [fs] smb3: allow previous versions to be mounted with snapshot= mount parm (Leif Sahlberg) [1708033] - [fs] cifs: don't show domain= in mount output when domain is empty (Leif Sahlberg) [1708033] - [fs] cifs: add missing support for ACLs in SMB 3.11 (Leif Sahlberg) [1708033] - [fs] smb3: enumerating snapshots was leaving part of the data off end (Leif Sahlberg) [1708033] - [fs] cifs: update smb2_queryfs() to use compounding (Leif Sahlberg) [1708033] - [fs] cifs: update receive_encrypted_standard to handle compounded responses (Leif Sahlberg) [1708033] - [fs] cifs: create SMB2_open_init()/SMB2_open_free() helpers. (Leif Sahlberg) [1708033] - [fs] cifs: add SMB2_query_info_[init|free]() (Leif Sahlberg) [1708033] - [fs] cifs: add SMB2_close_init()/SMB2_close_free() (Leif Sahlberg) [1708033] - [fs] smb3: display stats counters for number of slow commands (Leif Sahlberg) [1708033] - [fs] CIFS: fix uninitialized ptr deref in smb2 signing (Leif Sahlberg) [1708033] - [fs] smb3: Do not send SMB3 SET_INFO if nothing changed (Leif Sahlberg) [1708033] - [fs] smb3: fix minor debug output for CONFIG_CIFS_STATS (Leif Sahlberg) [1708033] - [fs] smb3: add tracepoint for slow responses (Leif Sahlberg) [1708033] - [fs] cifs: add compound_send_recv() (Leif Sahlberg) [1708033] - [fs] cifs: make smb_send_rqst take an array of requests (Leif Sahlberg) [1708033] - [fs] cifs: update init_sg, crypt_message to take an array of rqst (Leif Sahlberg) [1708033] - [fs] smb3: fix reset of bytes read and written stats (Leif Sahlberg) [1708033] - [fs] smb3: display bytes_read and bytes_written in smb3 stats (Leif Sahlberg) [1708033] - [fs] cifs: simple stats should always be enabled (Leif Sahlberg) [1708033] - [fs] cifs: use a refcount to protect open/closing the cached file handle (Leif Sahlberg) [1708033] - [fs] smb3: add reconnect tracepoints (Leif Sahlberg) [1708033] - [fs] smb3: add tracepoint for session expired or deleted (Leif Sahlberg) [1708033] - [fs] cifs: remove unused stats (Leif Sahlberg) [1708033] - [fs] smb3: don't request leases in symlink creation and query (Leif Sahlberg) [1708033] - [fs] smb3: remove per-session operations from per-tree connection stats (Leif Sahlberg) [1708033] - [fs] SMB3: Number of requests sent should be displayed for SMB3 not just CIFS (Leif Sahlberg) [1708033] - [fs] smb3: snapshot mounts are read-only and make sure info is displayable about the mount (Leif Sahlberg) [1708033] - [fs] smb3: remove noisy warning message on mount (Leif Sahlberg) [1708033] - [fs] cifs: add missing debug entries for kconfig options (Leif Sahlberg) [1708033] - [fs] smb3: fill in statfs fsid and correct namelen (Leif Sahlberg) [1708033] - [fs] cifs: Make sure all data pages are signed correctly (Leif Sahlberg) [1708033] - [fs] CIFS: fix memory leak and remove dead code (Leif Sahlberg) [1708033] - [fs] cifs: use 64-bit timestamps for fscache (Leif Sahlberg) [1708033] - [fs] cifs: use timespec64 internally (Leif Sahlberg) [1708033] - [fs] cifs: Silence uninitialized variable warning (Leif Sahlberg) [1708033] - [fs] fs/cifs: Simplify ib_post_(send|recv|srq_recv)() calls (Leif Sahlberg) [1708033]- [edac] EDAC/amd64: Set maximum channel layer size depending on family (Gary Hook) [1690984] - [edac] EDAC/amd64: Adjust printed chip select sizes when interleaved (Gary Hook) [1690984] - [edac] EDAC/amd64: Recognize x16 symbol size (Gary Hook) [1690984] - [edac] EDAC/amd64: Support more than two Unified Memory Controllers (Gary Hook) [1690984] - [edac] EDAC/amd64: Use a macro for iterating over Unified Memory Controllers (Gary Hook) [1690984] - [edac] EDAC, amd64: Add Family 17h, models 10h-2fh support (Gary Hook) [1670609 1690984] - [md] dm mpath: fix missing call of path selector type->end_io (Mike Snitzer) [1686227] - [rpmspec] redhat: do not generate debuginfo for self-tests and samples (Ivan Vecera) [1708375] - [netdrv] broadcom: Mark expected switch fall-throughs (Kamal Heib) [1684380] - [netdrv] cross-tree: phase out dma_zalloc_coherent() (Kamal Heib) [1684380] - [netdrv] broadcom: tg3: fix use of SPEED_UNKNOWN ethtool constant (Kamal Heib) [1684380] - [netdrv] tg3: allow ethtool -p to work for NICs in down state (Kamal Heib) [1684380] - [netdrv] tg3: optionally use eth_platform_get_mac_address() to get mac address (Kamal Heib) [1684380] - [netdrv] tg3: extend PTP gettime function to read system clock (Kamal Heib) [1684380] - [netdrv] tg3: Fix fall-through annotations (Kamal Heib) [1684380] - [netdrv] tg3: Mark expected switch fall-throughs (Kamal Heib) [1684380] - [mm] x86/mm/KASLR: Fix the size of the direct mapping section (Baoquan He) [1669075] - [netdrv] net/mlx4_en: fix spelling mistake: "quiting" -> "quitting" (Alaa Hleihel) [1691235 1691228] - [netdrv] net/mlx4_core: Fix error handling when initializing CQ bufs in the driver (Alaa Hleihel) [1691235 1691228] - [netdrv] net/mlx4_core: Add masking for a few queries on HCA caps (Alaa Hleihel) [1691235 1691228] - [infiniband] IB/mlx4: Fix using wrong function to destroy sqp AHs under SRIOV (Alaa Hleihel) [1691235 1691228] - [netdrv] net/mlx4: replace pci_{,un}map_sg with dma_{,un}map_sg (Alaa Hleihel) [1691235 1691228] - [netdrv] net/mlx4: Get rid of page operation after dma_alloc_coherent (Alaa Hleihel) [1691235 1691228] - [netdrv] net/mlx4_core: drop useless LIST_HEAD (Alaa Hleihel) [1691235 1691228] - [infiniband] IB/mlx4: Remove set but not used variable 'pd' (Alaa Hleihel) [1691235 1691228] - [infiniband] IB/mlx4: Utilize macro to calculate SQ spare size (Alaa Hleihel) [1691235 1691228] - [netdrv] net/mlx4_en: remove fallback after kzalloc_node() (Alaa Hleihel) [1691235 1691228] - [infiniband] IB/mlx4: Remove unneeded NULL check (Alaa Hleihel) [1691235 1691228] - [infiniband] mlx4: Use snprintf instead of complicated strcpy (Alaa Hleihel) [1691235 1691228] - [netdrv] net/mlx4_core: Fix several coding style errors (Alaa Hleihel) [1691235 1691228] - [netdrv] net/mlx4_core: Fix return codes of unsupported operations (Alaa Hleihel) [1691235 1691228] - [netdrv] {net, IB}/mlx4: Initialize CQ buffers in the driver when possible (Alaa Hleihel) [1691235 1691228] - [netdrv] mlx4: use __vlan_hwaccel helpers (Alaa Hleihel) [1691235 1691228] - [netdrv] net/mlx4_en: Fix build break when CONFIG_INET is off (Alaa Hleihel) [1691233 1691228] - [netdrv] net/mlx4_en: use __netdev_tx_sent_queue() (Alaa Hleihel) [1691233 1691228] - [netdrv] net/mlx4_en: add a missing include (Alaa Hleihel) [1691233 1691228] - [infiniband] IB/mlx4: Add port and TID to MAD debug print (Alaa Hleihel) [1691233 1691228] - [infiniband] IB/mlx4: Enable debug print of SMPs (Alaa Hleihel) [1691233 1691228] - [infiniband] RDMA: Fix dependencies for rdma_user_mmap_io (Alaa Hleihel) [1691233 1691228] - [infiniband] IB/mlx4: Remove unnecessary parentheses (Alaa Hleihel) [1691233 1691228] - [infiniband] RDMA/mlx4: Use rdma_user_mmap_io (Alaa Hleihel) [1691233 1691228] - [netdrv] net/mlx4_core: Fix warnings during boot on driverinit param set failures (Alaa Hleihel) [1691228] - [netdrv] net/mlx4_core: Use devlink region_snapshot parameter (Alaa Hleihel) [1691228] - [netdrv] net/mlx4_core: Add Crdump FW snapshot support (Alaa Hleihel) [1691228] - [netdrv] net/mlx4_core: Add health buffer address capability (Alaa Hleihel) [1691228] - [netdrv] mlx4: Add support for devlink reload and load driverinit values (Alaa Hleihel) [1691228 1663198] - [netdrv] mlx4: Add mlx4 initial parameters table and register it (Alaa Hleihel) [1691228 1663198] - [infiniband] IB/mlx4: Create slave AH's directly (Alaa Hleihel) [1691228] - [infiniband] IB/mlx4: Add support for drain SQ & RQ (Alaa Hleihel) [1691228] - [net] openvswitch: return an error instead of doing BUG_ON() (Eelco Chaudron) [1700468] - [include] net: add netif_is_geneve() (Petr Oros) [1707002] - [netdrv] team: fix possible recursive locking when add slaves (Hangbin Liu) [1700679] - [netdrv] phy: Fix ioctl handler when modifing MII_ADVERTISE (Petr Oros) [1691676] - [netdrv] mii: Add mii_lpa_mod_linkmode_lpa_t (Petr Oros) [1691676] - [netdrv] phy: marvell: Rename mii_lpa_to_linkmode_lpa_t (Petr Oros) [1691676] - [netdrv] mii: Rename mii_stat1000_to_linkmode_lpa_t (Petr Oros) [1691676] - [include] mii: Fix autoneg in mii_lpa_to_linkmode_lpa_t() (Petr Oros) [1691676] - [netdrv] phy: remove unused code in phy_probe (Petr Oros) [1691676] - [netdrv] phy: check if advertising is zero using linkmode_empty (Petr Oros) [1691676] - [netdrv] phy: marvell: remove set but not used variable 'pause' (Petr Oros) [1691676] - [netdrv] phy: Add support for resolving 5G and 2.5G autoneg (Petr Oros) [1691676] - [netdrv] phy: Add more link modes to the settings table (Petr Oros) [1691676] - [netdrv] phy: Fixup kerneldoc markup. (Petr Oros) [1691676] - [netdrv] phy: Convert u32 phydev->lp_advertising to linkmode (Petr Oros) [1691676] - [netdrv] ethernet: Convert phydev advertize and supported from u32 to link mode (Petr Oros) [1691676] - [netdrv] bonding: Issue NETDEV_PRE_CHANGEADDR (Ivan Vecera) [1705509] - [netdrv] bonding: Give bond_set_dev_addr() a return value (Ivan Vecera) [1705509] - [netdrv] ipvlan: Issue NETDEV_PRE_CHANGEADDR (Ivan Vecera) [1705509] - [net] bridge: Handle NETDEV_PRE_CHANGEADDR from ports (Ivan Vecera) [1705509] - [net] bridge: Issue NETDEV_PRE_CHANGEADDR (Ivan Vecera) [1705509] - [net] dev: Issue NETDEV_PRE_CHANGEADDR (Ivan Vecera) [1705509] - [net] dev: Add NETDEV_PRE_CHANGEADDR (Ivan Vecera) [1705509] - [net] dev: Add extack argument to dev_set_mac_address() (Ivan Vecera) [1705509] - [netdrv] phy: phy driver features are mandatory (Petr Oros) [1691720] - [netdrv] phy: add missing phy driver features (Petr Oros) [1691720] - [netdrv] phy: Add missing features to PHY drivers (Petr Oros) [1691720] - [netdrv] phy: genphy_10g_driver: Avoid NULL pointer dereference (Petr Oros) [1691720] - [netdrv] phy: phy_support_sym_pause: Clear Asym Pause (Petr Oros) [1691720] - [netdrv] phy: Replace phy driver features u32 with link_mode bitmap (Petr Oros) [1691720] - [netdrv] ethernet: xgbe: expand PHY_GBIT_FEAUTRES (Petr Oros) [1691720] - [net] net: phy: Add limkmode equivalents to some of the MII ethtool helpers (Petr Oros) [1691720] - [netdrv] phy: Add helper for advertise to lcl value (Petr Oros) [1691720] - [net] phy: Add helper to convert MII ADV register to a linkmode (Petr Oros) [1691720] - [netdrv] phy: Add phydev_info() (Petr Oros) [1691720] - [netdrv] phy: Add phydev_warn() (Petr Oros) [1691720] - [netdrv] phy: Move linkmode helpers to somewhere public (Petr Oros) [1691720] - [netdrv] ethernet: dpaa: remove unused variables (Petr Oros) [1691720] - [netdrv] ravb: Disable Pause Advertisement (Petr Oros) [1691720] - [netdrv] ethernet: Add helper to determine if pause configuration is supported (Petr Oros) [1691720] - [netdrv] ethernet: Add helper for set_pauseparam for Pause (Petr Oros) [1691720] - [netdrv] ethernet: Add helper for set_pauseparam for Asym Pause (Petr Oros) [1691720] - [netdrv] ethernet: Add helper for MACs which support pause (Petr Oros) [1691720] - [netdrv] ethernet: Add helper for MACs which support asym pause (Petr Oros) [1691720] - [netdrv] ethernet: Add helper to remove a supported link mode (Petr Oros) [1691720] - [netdrv] ethernet: Fix up drivers masking pause support (Petr Oros) [1691720] - [netdrv] bcmgenet: Fix speed selection for reverse MII (Petr Oros) [1691720] - [netdrv] ethernet: Use phy_set_max_speed() to limit advertised speed (Petr Oros) [1691720] - [netdrv] phy: bcm63xx: Allow to be built with COMPILE_TEST (Petr Oros) [1691720] - [netdrv] phy: et1011c: Remove incorrect missing 1000 Half (Petr Oros) [1691720] - [netdrv] phy: ste10Xp: Remove wrong SUPPORTED_Pause (Petr Oros) [1691720] - [tools] selftests: net: ip_defrag: cover new IPv6 defrag behavior (Guillaume Nault) [1660282] - [tools] selftests: net: fix/improve ip_defrag selftest (Guillaume Nault) [1660282] - [tools] selftests: use posix-style redirection in ip_defrag.sh (Guillaume Nault) [1660282] - [tools] selftests: net: Clean up an unused variable (Guillaume Nault) [1660282] - [tools] selftests/net: add ipv6 tests to ip_defrag selftest (Guillaume Nault) [1660282] - [tools] selftests/net: add ip_defrag selftest (Guillaume Nault) [1660282] - [net] ip6: fix skb leak in ip6frag_expire_frag_queue() (Guillaume Nault) [1660282] - [net] IP6 defrag: use rbtrees in nf_conntrack_reasm.c (Guillaume Nault) [1660282] - [net] IP6 defrag: use rbtrees for IPv6 defrag (Guillaume Nault) [1660282] - [net] IP defrag: encapsulate rbtree defrag code into callable functions (Guillaume Nault) [1660282] - [net] ipv4: do not handle duplicate fragments as overlapping (Guillaume Nault) [1660282] - [net] ipv4: ipv6: netfilter: Adjust the frag mem limit when truesize changes (Guillaume Nault) [1660282] - [net] ipv6: remove dependency of nf_defrag_ipv6 on ipv6 module (Guillaume Nault) [1660282] - [net] ipv6: fix typo in net/ipv6/reassembly.c (Guillaume Nault) [1660282] - [net] core: dev: Attach extack to NETDEV_PRE_UP (Ivan Vecera) [1705501] - [net] core: dev: Add call_netdevice_notifiers_extack() (Ivan Vecera) [1705501] - [net] core: dev: Add extack argument to __dev_change_flags() (Ivan Vecera) [1705501] - [net] core: dev: Add extack argument to dev_change_flags() (Ivan Vecera) [1705501] - [netdrv] ipvlan: ipvlan_set_port_mode(): Add an extack argument (Ivan Vecera) [1705501] - [netdrv] vrf: cycle_netdev(): Add an extack argument (Ivan Vecera) [1705501] - [net] net: core: dev: Add extack argument to dev_open() (Ivan Vecera) [1705501] - [net] vlan: conditional inclusion of FCoE hooks to match netdevice.h and bnx2x (Chris Leech) [1685894] - [net] Do not route unicast IP packets twice (Ivan Vecera) [1704923] - [net] skbuff: Rename 'offload_mr_fwd_mark' to 'offload_l3_fwd_mark' (Ivan Vecera) [1704923] - [net] devlink: Add 'fw_load_policy' generic parameter (Ivan Vecera) [1704902] - [net] bridge: Extend br_vlan_get_pvid() for bridge ports (Ivan Vecera) [1704863] - [net] ipv4: Notify about changes to ip_forward_update_priority (Ivan Vecera) [1704697] - [net] ipv4: Control SKB reprioritization after forwarding (Ivan Vecera) [1704697] - [net] dcb: Add priority-to-DSCP map getters (Ivan Vecera) [1704639] - [net] xsk: export xdp_get_umem_from_qid (Ivan Vecera) [1704606] - [net] net: Add lag.h, net_lag_port_dev_txable() (Ivan Vecera) [1704297] - [netdrv] team: Publish team_port_get_rcu() (Ivan Vecera) [1704297] - [net] sched: sch_api: set an error msg when qdisc_alloc_handle() fails (Ivan Vecera) [1677094] - [net] ethtool: Remove unnecessary null check in ethtool_rx_flow_rule_create (Ivan Vecera) [1691738] - [net] flow_offload: fix block stats (Ivan Vecera) [1691738] - [net] sched: flower: only return error from hw offload if skip_sw (Ivan Vecera) [1691738] - [net] flow_offload: Fix flow action infrastructure (Ivan Vecera) [1691738] - [net] ethtool: add ethtool_rx_flow_spec to flow_rule structure translator (Ivan Vecera) [1691738] - [net] flow_offload: add wake-up-on-lan and queue to flow_action (Ivan Vecera) [1691738] - [net] flow_offload: add statistics retrieval infrastructure and use it (Ivan Vecera) [1691738] - [net] cls_api: add translator to flow_action representation (Ivan Vecera) [1691738] - [net] flow_offload: add flow action infrastructure (Ivan Vecera) [1691738] - [net] flow_offload: add flow_rule and flow_match structures and use them (Ivan Vecera) [1691738] - [net] netfilter: ipv6: Don't preserve original oif for loopback address (Florian Westphal) [1702813] - [net] netfilter: ipv6: Preserve link scope traffic original oif (Florian Westphal) [1702813] - [net] sctp: implement memory accounting on rx path (Xin Long) [1665243] {CVE-2019-3874} - [net] sctp: implement memory accounting on tx path (Xin Long) [1665243] {CVE-2019-3874} - [net] openvswitch: fix flow actions reallocation (Eelco Chaudron) [1700468] - [net] openvswitch: fix missing checks for nla_nest_start (Eelco Chaudron) [1700468] - [net] openvswitch: fix a NULL pointer dereference (Eelco Chaudron) [1700468] - [net] openvswitch: meter: Use struct_size() in kzalloc() (Eelco Chaudron) [1700468] - [net] openvswitch: Fix IPv6 later frags parsing (Eelco Chaudron) [1700468] - [net] openvswitch: fix spelling mistake "execeeds" -> "exceeds" (Eelco Chaudron) [1700468] - [net] openvswitch: remove BUG_ON from get_dpdev (Eelco Chaudron) [1700468] - [net] openvswitch: fix linking without CONFIG_NF_CONNTRACK_LABELS (Eelco Chaudron) [1700468] - [net] revert "openvswitch: Fix template leak in error cases." (Eelco Chaudron) [1700468] - [net] openvswitch: Use correct reply values in datapath and vport ops (Eelco Chaudron) [1700468] - [net] ovs: fix return type of ndo_start_xmit function (Eelco Chaudron) [1700468] - [net] openvswitch: Derive IP protocol number for IPv6 later frags (Eelco Chaudron) [1700468] - [net] openvswitch: kernel datapath clone action (Eelco Chaudron) [1700468] - [net] openvswitch: Avoid OOB read when parsing flow nlattrs (Eelco Chaudron) [1700468] - [net] net/vlan: remove unused #define HAVE_VLAN_GET_TAG (Ivan Vecera) [1700369] - [net] vlan: include the shift in skb_vlan_tag_get_prio() (Ivan Vecera) [1700369] - [net] vlan: introduce __vlan_hwaccel_copy_tag() helper (Ivan Vecera) [1700369] - [net] vlan: introduce __vlan_hwaccel_clear_tag() helper (Ivan Vecera) [1700369] - [net] sctp: initialize _pad of sockaddr_in before copying to user memory (Xin Long) [1699076] - [net] sctp: use memdup_user instead of vmemdup_user (Xin Long) [1699076] - [net] sctp: fix ignoring asoc_id for tcp-style sockets on SCTP_STREAM_SCHEDULER sockopt (Xin Long) [1699076] - [net] sctp: fix ignoring asoc_id for tcp-style sockets on SCTP_EVENT sockopt (Xin Long) [1699076] - [net] sctp: fix ignoring asoc_id for tcp-style sockets on SCTP_ENABLE_STREAM_RESET sockopt (Xin Long) [1699076] - [net] sctp: fix ignoring asoc_id for tcp-style sockets on SCTP_DEFAULT_PRINFO sockopt (Xin Long) [1699076] - [net] sctp: fix ignoring asoc_id for tcp-style sockets on SCTP_AUTH_DEACTIVATE_KEY sockopt (Xin Long) [1699076] - [net] sctp: fix ignoring asoc_id for tcp-style sockets on SCTP_AUTH_DELETE_KEY sockopt (Xin Long) [1699076] - [net] sctp: fix ignoring asoc_id for tcp-style sockets on SCTP_AUTH_ACTIVE_KEY sockopt (Xin Long) [1699076] - [net] sctp: fix ignoring asoc_id for tcp-style sockets on SCTP_AUTH_KEY sockopt (Xin Long) [1699076] - [net] sctp: fix ignoring asoc_id for tcp-style sockets on SCTP_MAX_BURST sockopt (Xin Long) [1699076] - [net] sctp: fix ignoring asoc_id for tcp-style sockets on SCTP_CONTEXT sockopt (Xin Long) [1699076] - [net] sctp: fix ignoring asoc_id for tcp-style sockets on SCTP_DEFAULT_SNDINFO sockopt (Xin Long) [1699076] - [net] sctp: fix ignoring asoc_id for tcp-style sockets on SCTP_DELAYED_SACK sockopt (Xin Long) [1699076] - [net] sctp: fix ignoring asoc_id for tcp-style sockets on SCTP_DEFAULT_SEND_PARAM sockopt (Xin Long) [1699076] - [net] sctp: not copy sctp_sock pd_lobby in sctp_copy_descendant (Xin Long) [1699076] - [net] sctp: get sctphdr by offset in sctp_compute_cksum (Xin Long) [1699076] - [net] sctp: call sctp_auth_init_hmacs() in sctp_sock_migrate() (Xin Long) [1699076] - [net] sctp: move up sctp_auth_init_hmacs() in sctp_endpoint_init() (Xin Long) [1699076] - [net] sctp: sctp_sock_migrate() returns error if sctp_bind_addr_dup() fails (Xin Long) [1699076] - [net] sctp: remove sched init from sctp_stream_init (Xin Long) [1699076] - [net] sctp: call iov_iter_revert() after sending ABORT (Xin Long) [1699076] - [net] ipvs: get sctphdr by sctphoff in sctp_csum_check (Xin Long) [1699076] - [net] sctp: chunk.c: correct format string for size_t in printk (Xin Long) [1699076] - [net] sctp: don't compare hb_timer expire date before starting it (Xin Long) [1699076] - [net] doc: sctp: Merge and clean up rst files (Xin Long) [1699076] - [net] sctp: set stream ext to NULL after freeing it in sctp_stream_outq_migrate (Xin Long) [1699076] - [net] sctp: add SCTP_FUTURE_ASOC and SCTP_CURRENT_ASSOC for SCTP_STREAM_SCHEDULER sockopt (Xin Long) [1699076] - [net] sctp: use SCTP_FUTURE_ASSOC and add SCTP_CURRENT_ASSOC for SCTP_EVENT sockopt (Xin Long) [1699076] - [net] sctp: use SCTP_FUTURE_ASSOC and add SCTP_CURRENT_ASSOC for SCTP_ENABLE_STREAM_RESET sockopt (Xin Long) [1699076] - [net] sctp: use SCTP_FUTURE_ASSOC and add SCTP_CURRENT_ASSOC for SCTP_DEFAULT_PRINFO sockopt (Xin Long) [1699076] - [net] sctp: use SCTP_FUTURE_ASSOC and add SCTP_CURRENT_ASSOC for SCTP_AUTH_DEACTIVATE_KEY sockopt (Xin Long) [1699076] - [net] sctp: use SCTP_FUTURE_ASSOC and add SCTP_CURRENT_ASSOC for SCTP_AUTH_DELETE_KEY sockopt (Xin Long) [1699076] - [net] sctp: use SCTP_FUTURE_ASSOC and add SCTP_CURRENT_ASSOC for SCTP_AUTH_ACTIVE_KEY sockopt (Xin Long) [1699076] - [net] sctp: use SCTP_FUTURE_ASSOC and add SCTP_CURRENT_ASSOC for SCTP_AUTH_KEY sockopt (Xin Long) [1699076] - [net] sctp: use SCTP_FUTURE_ASSOC and add SCTP_CURRENT_ASSOC for SCTP_MAX_BURST sockopt (Xin Long) [1699076] - [net] sctp: use SCTP_FUTURE_ASSOC and add SCTP_CURRENT_ASSOC for SCTP_CONTEXT sockopt (Xin Long) [1699076] - [net] sctp: use SCTP_FUTURE_ASSOC and add SCTP_CURRENT_ASSOC for SCTP_DEFAULT_SNDINFO sockopt (Xin Long) [1699076] - [net] sctp: use SCTP_FUTURE_ASSOC and add SCTP_CURRENT_ASSOC for SCTP_DEFAULT_SEND_PARAM sockopt (Xin Long) [1699076] - [net] sctp: use SCTP_FUTURE_ASSOC and add SCTP_CURRENT_ASSOC for SCTP_DELAYED_SACK sockopt (Xin Long) [1699076] - [net] sctp: add SCTP_CURRENT_ASSOC for SCTP_STREAM_SCHEDULER_VALUE sockopt (Xin Long) [1699076] - [net] sctp: use SCTP_FUTURE_ASSOC for SCTP_INTERLEAVING_SUPPORTED sockopt (Xin Long) [1699076] - [net] sctp: use SCTP_FUTURE_ASSOC for SCTP_RECONFIG_SUPPORTED sockopt (Xin Long) [1699076] - [net] sctp: use SCTP_FUTURE_ASSOC for SCTP_PR_SUPPORTED sockopt (Xin Long) [1699076] - [net] sctp: add SCTP_FUTURE_ASSOC for SCTP_PEER_ADDR_THLDS sockopt (Xin Long) [1699076] - [net] sctp: use SCTP_FUTURE_ASSOC for SCTP_LOCAL_AUTH_CHUNKS sockopt (Xin Long) [1699076] - [net] sctp: use SCTP_FUTURE_ASSOC for SCTP_MAXSEG sockopt (Xin Long) [1699076] - [net] sctp: use SCTP_FUTURE_ASSOC for SCTP_ASSOCINFO sockopt (Xin Long) [1699076] - [net] sctp: use SCTP_FUTURE_ASSOC for SCTP_RTOINFO sockopt (Xin Long) [1699076] - [net] sctp: use SCTP_FUTURE_ASSOC for SCTP_PEER_ADDR_PARAMS sockopt (Xin Long) [1699076] - [net] sctp: introduce SCTP_FUTURE/CURRENT/ALL_ASSOC (Xin Long) [1699076] - [net] sctp: set flow sport from saddr only when it's 0 (Xin Long) [1699076] - [net] sctp: set chunk transport correctly when it's a new asoc (Xin Long) [1699076] - [net] sctp: improve the events for sctp stream adding (Xin Long) [1699076] - [net] sctp: improve the events for sctp stream reset (Xin Long) [1699076] - [net] sctp: allocate sctp_sockaddr_entry with kzalloc (Xin Long) [1699076] - [net] sctp: initialize sin6_flowinfo for ipv6 addrs in sctp_inet6addr_event (Xin Long) [1699076] - [net] sctp: frag_point sanity check (Xin Long) [1699076] - [net] sctp: kfree_rcu asoc (Xin Long) [1699076] - [net] sctp: update frag_point when stream_interleave is set (Xin Long) [1699076] - [net] sctp: add sockopt SCTP_EVENT (Xin Long) [1699076] - [net] sctp: rename enum sctp_event to sctp_event_type (Xin Long) [1699076] - [net] sctp: add subscribe per asoc (Xin Long) [1699076] - [net] sctp: define subscribe in sctp_sock as __u16 (Xin Long) [1699076] - [net] sctp: process sk_reuseport in sctp_get_port_local (Xin Long) [1699076] - [net] sctp: add sock_reuseport for the sock in __sctp_hash_endpoint (Xin Long) [1699076] - [net] sctp: do reuseport_select_sock in __sctp_rcv_lookup_endpoint (Xin Long) [1699076] - [net] sctp: Fix SKB list traversal in sctp_intl_store_ordered(). (Xin Long) [1699076] - [net] sctp: Fix SKB list traversal in sctp_intl_store_reasm(). (Xin Long) [1699076] - [net] sctp: define SCTP_SS_DEFAULT for Stream schedulers (Xin Long) [1699076] - [net] sctp: clear the transport of some out_chunk_list chunks in sctp_assoc_rm_peer (Xin Long) [1699076] - [net] sctp: use sk_wmem_queued to check for writable space (Xin Long) [1699076] - [net] sctp: count both sk and asoc sndbuf with skb truesize and sctp_chunk size (Xin Long) [1699076] - [net] sctp: use the pmtu from the icmp packet to update transport pathmtu (Xin Long) [1699076] - [net] sctp: fix fall-through annotation (Xin Long) [1699076] - [net] sctp: Use skb_queue_is_first(). (Xin Long) [1699076] - [net] sctp: not traverse asoc trans list if non-ipv6 trans exists for ipv6_flowlabel (Xin Long) [1699076] - [net] sctp: fix invalid reference to the index variable of the iterator (Xin Long) [1699076] - [net] sctp: remove useless start_fail from sctp_ht_iter in proc (Xin Long) [1699076] - [net] sctp: Make wrappers for accessing in/out streams (Xin Long) [1699076] - [net] sctp: whitespace fixes (Xin Long) [1699076] - [net] sctp: check for ipv6_pinfo legal sndflow with flowlabel in sctp_v6_get_dst (Xin Long) [1699076] - [net] sctp: add support for setting flowlabel when adding a transport (Xin Long) [1699076] - [net] sctp: add spp_ipv6_flowlabel and spp_dscp for sctp_paddrparams (Xin Long) [1699076] - [net] sctp: add support for dscp and flowlabel per transport (Xin Long) [1699076] - [net] ipv4: add __ip_queue_xmit() that supports tos param (Xin Long) [1699076] - [net] sctp: add support for SCTP_REUSE_PORT sockopt (Xin Long) [1699076] - [netdrv] pptp: dst_release sk_dst_cache in pptp_sock_destruct (Xin Long) [1671606] - [net] datagram: fix unbounded loop in __skb_try_recv_datagram() (Paolo Abeni) [1692379] - [net] ipv6: route: purge exception on removal (Paolo Abeni) [1669049] - [net] vsock: cope with memory allocation failure at socket creation time (Paolo Abeni) [1671619] - [net] ptp: fix Spectre v1 vulnerability (Hangbin Liu) [1664624]- [infiniband] RDMA/bnxt_re: fix or'ing of data into an uninitialized struct member (Selvin Xavier) [1664798] - [netdrv] RDMA/bnxt_en: Enable RDMA driver support for 57500 chip (Selvin Xavier) [1664798] - [infiniband] RDMA/bnxt_re: Update kernel user abi to pass chip context (Selvin Xavier) [1664798] - [infiniband] RDMA/bnxt_re: Add extended psn structure for 57500 adapters (Selvin Xavier) [1664798] - [infiniband] RDMA/bnxt_re: Enable GSI QP support for 57500 series (Selvin Xavier) [1664798] - [infiniband] RDMA/bnxt_re: Skip backing store allocation for 57500 series (Selvin Xavier) [1664798] - [infiniband] RDMA/bnxt_re: Add 64bit doorbells for 57500 series (Selvin Xavier) [1664798] - [infiniband] RDMA/bnxt_re: Add chip context to identify 57500 series (Selvin Xavier) [1664798] - [infiniband] RDMA/bnxt_re: fix a size calculation (Selvin Xavier) [1664798] - [infiniband] infiniband: bnxt_re: qplib: Check the return value of send_message (Selvin Xavier) [1664798] - [infiniband] RDMA/bnxt_re: Increase depth of control path command queue (Selvin Xavier) [1664798] - [infiniband] RDMA/bnxt_re: Query HWRM Interface version from FW (Selvin Xavier) [1664798] - [infiniband] RDMA/bnxt_re: Make use of destroy AH sleepable flag (Selvin Xavier) [1664798] - [infiniband] RDMA/bnxt_re: Make use of create AH sleepable flag (Selvin Xavier) [1664798] - [infiniband] RDMA/bnxt_re: Avoid accessing the device structure after it is freed (Selvin Xavier) [1664798] - [infiniband] RDMA/bnxt_re: Fix system hang when registration with L2 driver fails (Selvin Xavier) [1664798] - [infiniband] RDMA/bnxt_re: Avoid resource leak in case the NQ registration fails (Selvin Xavier) [1664798] - [infiniband] RDMA/bnxt_re: Wait for delayed work to finish before device removal (Selvin Xavier) [1664798] - [infiniband] RDMA/bnxt_re: Limit max_pkey to 16 bit value (Selvin Xavier) [1664798] - [infiniband] RDMA/bnxt_re: Fix qp async event reporting (Selvin Xavier) [1664798] - [infiniband] RDMA/bnxt_re: Report out of sequence hw counters (Selvin Xavier) [1664798] - [infiniband] RDMA/bnxt_re: Expose rx discards and drop counters (Selvin Xavier) [1664798] - [infiniband] RDMA/bnxt_re: Prevent driver crash due to NULL pointer in error message print (Selvin Xavier) [1664798] - [infiniband] RDMA/bnxt_re: Drop L2 async events silently (Selvin Xavier) [1664798] - [infiniband] RDMA/bnxt_re: Avoid accessing nq->bar_reg_iomem in failure case (Selvin Xavier) [1664798] - [infiniband] RDMA/bnxt_re: Avoid NULL check after accessing the pointer (Selvin Xavier) [1664798] - [infiniband] RDMA/bnxt_re: Remove the unnecessary version macro definition (Selvin Xavier) [1664798] - [infiniband] RDMA/bnxt_re: Fix recursive lock warning in debug kernel (Selvin Xavier) [1664798] - [infiniband] RDMA/bnxt_re: Add missing spin lock initialization (Selvin Xavier) [1664798] - [infiniband] RDMA/bnxt_re: QPLIB: Add and use #define dev_fmt(fmt) "QPLIB: " fmt (Selvin Xavier) [1664798] - [infiniband] RDMA/bnxt_re: Modify a fall-through annotation (Selvin Xavier) [1664798] - [infiniband] RDMA/bnxt_re: Fix a bunch of off by one bugs in qplib_fp.c (Selvin Xavier) [1664798] - [infiniband] RDMA/bnxt_re: Fix a couple off by one bugs (Selvin Xavier) [1664798] - [powerpc] powerpc/fadump: Do not allow hot-remove memory from fadump reserved area. (Gustavo Duarte) [1524686] - [powerpc] powerpc/fadump: Throw proper error message on fadump registration failure (Gustavo Duarte) [1524686] - [powerpc] powerpc/fadump: Reservationless firmware assisted dump (Gustavo Duarte) [1524686] - [infiniband] IB/hfi1: Fix WQ_MEM_RECLAIM warning (Alex Estrin) [1660618] - [infiniband] IB/hfi1: Implement CCA for TID RDMA protocol (Alex Estrin) [1660618] - [infiniband] IB/hfi1: Remove WARN_ON when freeing expected receive groups (Alex Estrin) [1660618] - [infiniband] IB/hfi1: Unify the software PSN check for TID RDMA READ/WRITE (Alex Estrin) [1660618] - [infiniband] IB/hfi1: Add a function to read next expected psn from hardware flow (Alex Estrin) [1660618] - [infiniband] IB/hfi1: Delay the release of destination mr for TID RDMA WRITE DATA (Alex Estrin) [1660618] - [infiniband] IB/hfi1: Do not flush send queue in the TID RDMA second leg (Alex Estrin) [1660618] - [infiniband] IB/hfi1: Fix the allocation of RSM table (Alex Estrin) [1660618] - [infiniband] IB/hfi1: Eliminate opcode tests on mr deref (Alex Estrin) [1660618] - [infiniband] IB/hfi1: Clear the IOWAIT pending bits when QP is put into error state (Alex Estrin) [1660618] - [infiniband] IB/hfi1: Failed to drain send queue when QP is put into error state (Alex Estrin) [1660618] - [infiniband] IB/hfi1: Add missing break in switch statement (Alex Estrin) [1660618] - [infiniband] IB/hfi1: Fix a build warning for TID RDMA READ (Alex Estrin) [1660618] - [infiniband] RDMA/rdmavt: Adapt to handle non-uniform sizes on umem SGEs (Alex Estrin) [1660618] - [infiniband] IB/hfi1: Prioritize the sending of ACK packets (Alex Estrin) [1660618] - [infiniband] IB/hfi1: Add static trace for TID RDMA WRITE protocol (Alex Estrin) [1660618] - [infiniband] IB/hfi1: Enable TID RDMA WRITE protocol (Alex Estrin) [1660618] - [infiniband] IB/hfi1: Add interlock between TID RDMA WRITE and other requests (Alex Estrin) [1660618] - [infiniband] IB/hfi1: Add TID RDMA WRITE functionality into RDMA verbs (Alex Estrin) [1660618] - [infiniband] IB/hfi1: Add the dual leg code (Alex Estrin) [1660618] - [infiniband] IB/hfi1: Add the TID second leg ACK packet builder (Alex Estrin) [1660618] - [infiniband] IB/hfi1: Add the TID second leg send packet builder (Alex Estrin) [1660618] - [infiniband] IB/hfi1: Resend the TID RDMA WRITE DATA packets (Alex Estrin) [1660618] - [infiniband] IB/hfi1: Add a function to receive TID RDMA RESYNC packet (Alex Estrin) [1660618] - [infiniband] IB/hfi1: Add a function to build TID RDMA RESYNC packet (Alex Estrin) [1660618] - [infiniband] IB/hfi1: Add TID RDMA retry timer (Alex Estrin) [1660618] - [infiniband] IB/hfi1: Add a function to receive TID RDMA ACK packet (Alex Estrin) [1660618] - [infiniband] IB/hfi1: Add a function to build TID RDMA ACK packet (Alex Estrin) [1660618] - [infiniband] IB/hfi1: Add a function to receive TID RDMA WRITE DATA packet (Alex Estrin) [1660618] - [infiniband] IB/hfi1: Add a function to build TID RDMA WRITE DATA packet (Alex Estrin) [1660618] - [infiniband] IB/hfi1: Add a function to receive TID RDMA WRITE response (Alex Estrin) [1660618] - [infiniband] IB/hfi1: Add TID resource timer (Alex Estrin) [1660618] - [infiniband] IB/hfi1: Add a function to build TID RDMA WRITE response (Alex Estrin) [1660618] - [infiniband] IB/hfi1: Add functions to receive TID RDMA WRITE request (Alex Estrin) [1660618] - [infiniband] IB/hfi1: Add an s_acked_ack_queue pointer (Alex Estrin) [1660618] - [infiniband] IB/hfi1: Allow for extra entries in QP's s_ack_queue (Alex Estrin) [1660618] - [infiniband] IB/hfi1: Build TID RDMA WRITE request (Alex Estrin) [1660618] - [infiniband] IB/hfi1: Add static trace for TID RDMA READ protocol (Alex Estrin) [1660618] - [infiniband] IB/hfi1: Enable TID RDMA READ protocol (Alex Estrin) [1660618] - [infiniband] IB/hfi1: Add interlock between a TID RDMA request and other requests (Alex Estrin) [1660618] - [infiniband] IB/hfi1: Integrate TID RDMA READ protocol into RC protocol (Alex Estrin) [1660618] - [include] IB/hfi1: Increment the retry timeout value for TID RDMA READ request (Alex Estrin) [1660618] - [infiniband] IB/hfi1: Add functions for restarting TID RDMA READ request (Alex Estrin) [1660618] - [infiniband] IB/hfi1: Add TID RDMA handlers (Alex Estrin) [1660618] - [infiniband] IB/hfi1: Add functions to receive TID RDMA READ response (Alex Estrin) [1660618] - [infiniband] IB/hfi1: Add a function to build TID RDMA READ response (Alex Estrin) [1660618] - [infiniband] IB/hfi1: Add functions to receive TID RDMA READ request (Alex Estrin) [1660618] - [infiniband] IB/hfi1: Set PbcInsertHcrc for TID RDMA packets (Alex Estrin) [1660618] - [infiniband] IB/hfi1: Add functions to build TID RDMA READ request (Alex Estrin) [1660618] - [infiniband] IB/hfi1: Add static trace for flow and TID management functions (Alex Estrin) [1660618] - [infiniband] IB/hfi1: Add the counter n_tidwait (Alex Estrin) [1660618] - [infiniband] IB/hfi1: TID RDMA RcvArray programming and TID allocation (Alex Estrin) [1660618] - [infiniband] IB/hfi1: TID RDMA flow allocation (Alex Estrin) [1660618] - [infiniband] IB/hfi: Move RC functions into a header file (Alex Estrin) [1660618] - [infiniband] IB/hfi1: Add static trace for OPFN (Alex Estrin) [1660618] - [infiniband] IB/hfi1: Integrate OPFN into RC transactions (Alex Estrin) [1660618] - [infiniband] IB/hfi1, IB/rdmavt: Allow for extending of QP's s_ack_queue (Alex Estrin) [1660618] - [infiniband] IB/hfi1: OPFN interface (Alex Estrin) [1660618] - [infiniband] IB/hfi1: Add OPFN helper functions for TID RDMA feature (Alex Estrin) [1660618] - [infiniband] IB/hfi1: OPFN support discovery (Alex Estrin) [1660618] - [infiniband] IB/{hfi1, qib, rvt} Cleanup open coded sge usage (Alex Estrin) [1660618] - [infiniband] IB/{hfi1,qib}: Cleanup open coded sge sizing (Alex Estrin) [1660618] - [infiniband] RDMA/qib: Use GUP longterm for PSM page pining (Alex Estrin) [1660618] - [infiniband] infiniband: qib: no need to check return value of debugfs_create functions (Alex Estrin) [1660618] - [infiniband] infiniband: hfi1: no need to check return value of debugfs_create functions (Alex Estrin) [1660618] - [infiniband] infiniband: hfi1: drop crazy DEBUGFS_SEQ_FILE_CREATE() macro (Alex Estrin) [1660618] - [infiniband] IB/{hfi1, qib}: Fix WC.byte_len calculation for UD_SEND_WITH_IMM (Alex Estrin) [1660618] - [infiniband] IB/qib: Fix an error code in qib_sdma_verbs_send() (Alex Estrin) [1660618] - [infiniband] IB/hfi1: Reduce lock contention on iowait_lock for sdma and pio (Alex Estrin) [1660618] - [infiniband] IB/hfi1: Close VNIC sdma_progress sleep window (Alex Estrin) [1660618] - [infiniband] IB/hfi1: Allow the driver to initialize QP priv struct (Alex Estrin) [1660618] - [infiniband] IB/hfi1: Add OPFN and TID RDMA capability bits (Alex Estrin) [1660618] - [infiniband] IB/hfi1: Unreserve a reserved request when it is completed (Alex Estrin) [1660618] - [infiniband] IB/hfi1: Consider LMC in 16B/bypass ingress packet check (Alex Estrin) [1660618] - [infiniband] IB/hfi1: Limit VNIC use of SDMA engines to the available count (Alex Estrin) [1660618] - [infiniband] IB/hfi1: Correctly process FECN and BECN in packets (Alex Estrin) [1660618] - [infiniband] IB/hfi1: Ignore LNI errors before DC8051 transitions to Polling state (Alex Estrin) [1660618] - [infiniband] IB/hfi1: Dump pio info for non-user send contexts (Alex Estrin) [1660618] - [infiniband] IB/hfi1: Fix a latency issue for small messages (Alex Estrin) [1660618] - [infiniband] RDMA/qib: Remove all occurrences of BUG_ON() (Alex Estrin) [1660618] - [infiniband] IB/qib: fix spelling mistake "colescing" -> "coalescing" (Alex Estrin) [1660618] - [infiniband] IB/hfi1: Use VL15 for SM packets (Alex Estrin) [1660618] - [infiniband] IB/hfi1: Add mtu check for operational data VLs (Alex Estrin) [1660618] - [infiniband] IB/hfi1: Add static trace for iowait (Alex Estrin) [1660618] - [infiniband] IB/hfi1: Prepare resource waits for dual leg (Alex Estrin) [1660618] - [infiniband] IB/hfi1: Error path MAD response size is incorrect (Alex Estrin) [1660618] - [infiniband] IB/hfi1: Move UnsupportedVL bits definitions to the correct header (Alex Estrin) [1660618] - [infiniband] IB/hfi1: set_intr_bits uses incorrect source for register modification (Alex Estrin) [1660618] - [infiniband] IB/hfi1: Missing return value in error path for user sdma (Alex Estrin) [1660618] - [infiniband] IB/hfi1: Right size user_sdma sequence numbers and related variables (Alex Estrin) [1660618] - [infiniband] IB/hfi1: Move URGENT IRQ enable to hfi1_rcvctrl() (Alex Estrin) [1660618] - [infiniband] IB/hfi1: Rework the IRQ API to be more flexible (Alex Estrin) [1660618] - [infiniband] IB/hfi1: PCIe bus width retry (Alex Estrin) [1660618] - [infiniband] IB/hfi1: Make the MSIx resource allocation a bit more flexible (Alex Estrin) [1660618] - [infiniband] IB/hfi1: Prepare for new HFI1 MSIx API (Alex Estrin) [1660618] - [infiniband] IB/hfi1: Get the hfi1_devdata structure as early as possible (Alex Estrin) [1660618] - [infiniband] IB/hfi1: tune_pcie_caps is arbitrarily placed, poorly (Alex Estrin) [1660618] - [infiniband] IB/hfi1: Remove duplicated defines (Alex Estrin) [1660618] - [infiniband] IB/hfi1: Rework file list in Makefile (Alex Estrin) [1660618] - [infiniband] IB/hfi1: Remove incorrect call to do_interrupt callback (Alex Estrin) [1660618] - [infiniband] IB/hfi1: Set in_use_ctxts bits for user ctxts only (Alex Estrin) [1660618] - [include] include/rdma/opa_addr.h: Fix an endianness issue (Alex Estrin) [1660618] - [infiniband] IB/hfi1: Remove INTx support and simplify MSIx usage (Alex Estrin) [1660618] - [infiniband] IB/hfi1: Reorg ctxtdata and rightsize fields (Alex Estrin) [1660618] - [infiniband] IB/hfi1: Remove caches of chip CSRs (Alex Estrin) [1660618] - [infiniband] IB/hfi1: Remove unused/writeonly devdata fields (Alex Estrin) [1660618] - [infiniband] IB/hfi1: Rightsize ctxt_eager_bufs fields (Alex Estrin) [1660618] - [infiniband] IB/hfi1: Remove rcvctrl from ctxtdata (Alex Estrin) [1660618] - [infiniband] IB/hfi1: Remove rcvhdrq_size (Alex Estrin) [1660618] - [infiniband] IB/hfi1: Remove rcvhdrsize (Alex Estrin) [1660618] - [infiniband] IB/hfi1: Move rhf_offset from devdata to ctxtdata (Alex Estrin) [1660618] - [infiniband] IB/hfi1: Move normal functions from hfi1_devdata to const array (Alex Estrin) [1660618] - [infiniband] scsi: RDMA/srpt: Fix handling of TMF submission failure (Jonathan Toppins) [1685313] - [infiniband] scsi: RDMA/srpt: Fix a credit leak for aborted commands (Jonathan Toppins) [1685313] - [net] xprtrdma: Reduce the doorbell rate (Receive) (Jonathan Toppins) [1685313] - [net] xprtrdma: Fix sparse warnings (Jonathan Toppins) [1685313] - [net] xprtrdma: Fix helper that drains the transport (Jonathan Toppins) [1685313] - [netdrv] enic: fix build warning without CONFIG_CPUMASK_OFFSTACK (Jonathan Toppins) [1685313] - [infiniband] IB/usnic: Fix out of bounds index check in query pkey (Jonathan Toppins) [1685313] - [infiniband] IB/usnic: Remove stub functions (Jonathan Toppins) [1685313] - [infiniband] rdma: fix build errors on s390 and MIPS due to bad ZERO_PAGE use (Jonathan Toppins) [1685313] - [infiniband] RDMA/ucontext: Fix regression with disassociate (Jonathan Toppins) [1685313] - [infiniband] IB/iser: Fix dma_nents type definition (Jonathan Toppins) [1685313] - [infiniband] IB/iser: Pass the correct number of entries for dma mapped SGL (Jonathan Toppins) [1685313] - [infiniband] RDMA/rxe: Use for_each_sg_page iterator on umem SGL (Jonathan Toppins) [1685313] - [infiniband] RDMA/vmw_pvrdma: Fix memory leak on pvrdma_pci_remove (Jonathan Toppins) [1685313] - [infiniband] RDMA/vmw_pvrdma: Support upto 64-bit PFNs (Jonathan Toppins) [1683475] - [include] IB/mlx5: Remove dead code (Jonathan Toppins) [1685313] - [infiniband] IB/mlx5: Ranges in implicit ODP MR inherit its write access (Jonathan Toppins) [1685313] - [infiniband] IB/rdmavt: Fix frwr memory registration (Jonathan Toppins) [1685313] - [infiniband] IB/rdmavt: Add wc_flags and wc_immdata to cq entry trace (Jonathan Toppins) [1685313] - [infiniband] IB/rdmavt: Fix concurrency panics in QP post_send and modify to error (Jonathan Toppins) [1685313] - [infiniband] IB/rdmavt: Fix loopback send with invalidate ordering (Jonathan Toppins) [1685313] - [infiniband] IB/hfi1: Add limit test for RC/UC send via loopback (Jonathan Toppins) [1685313] - [infiniband] RDMA/iwcm: Fix string truncation error (Jonathan Toppins) [1685313] - [infiniband] RDMA/iwcm: add tos_set bool to iw_cm struct (Jonathan Toppins) [1685313] - [infiniband] RDMA/cma: listening device cm_ids should inherit tos (Jonathan Toppins) [1685313] - [infiniband] RDMA/cma: Rollback source IP address if failing to acquire device (Jonathan Toppins) [1685313] - [infiniband] RDMA/device: Call ib_cache_release_one() only from ib_device_release() (Jonathan Toppins) [1685313] - [infiniband] RDMA/device: Ensure that security memory is always freed (Jonathan Toppins) [1685313] - [infiniband] RDMA/uverbs: Fix an error flow in ib_uverbs_poll_cq (Jonathan Toppins) [1685313] - [infiniband] IB/ipoib: Make ipoib_intercept_dev_id_attr() static (Jonathan Toppins) [1685313] - [infiniband] RDMA: Provide safe ib_alloc_device() function (Jonathan Toppins) [1685313] - [infiniband] IB/core, ipoib: Do not overreact to SM LID change event (Jonathan Toppins) [1685313] - [infiniband] IB/core: Abort page fault handler silently during owning process exit (Jonathan Toppins) [1685313] - [infiniband] RDMA/core: Verify that memory window type is legal (Jonathan Toppins) [1685313] - [infiniband] IB/core: Don't register each MAD agent for LSM notifier (Jonathan Toppins) [1711086 1685313] - [include] IB/core: Eliminate a hole in MAD agent struct (Jonathan Toppins) [1711086 1685313] - [infiniband] IB/core: Fix potential memory leak while creating MAD agents (Jonathan Toppins) [1711086 1685313] - [infiniband] IB/core: Unregister notifier before freeing MAD security (Jonathan Toppins) [1711086 1685313] - [infiniband] IB/core: Destroy QP if XRC QP fails (Jonathan Toppins) [1685313] - [infiniband] IB/core: Declare local functions 'static' (Jonathan Toppins) [1685313] - [infiniband] RDMA/i40iw: Make sure to initialize ib_device_ops (Jonathan Toppins) [1685313] - [rpmspec] Update the kernel rpm package description to mention backports/bug fixes ("Herton R. Krzesinski") [1701064] - [netdrv] bonding: fix arp_validate toggling in active-backup mode (Jarod Wilson) [1654214] - [scsi] scsi: bnx2i: fix indentation issue, remove a tab (Maurizio Lombardi) [1665626] - [scsi] scsi: bnx2i: remove set but not used variable 'cid_num' (Maurizio Lombardi) [1665626] - [scsi] scsi: bnx2i: add error handling for ioremap_nocache (Maurizio Lombardi) [1665626] - [wireless] iwlwifi: mvm: Send LQ command as async when necessary (Stanislaw Gruszka) [1687265] - [scsi] scsi: bnx2fc: Fix error handling in probe() (Maurizio Lombardi) [1665625] - [scsi] scsi: bnx2fc: Fix NULL dereference in error handling (Maurizio Lombardi) [1665625] - [scsi] scsi: bnx2fc: Remove set but not used variable 'oxid' (Maurizio Lombardi) [1665625] - [scsi] bnx2fc_fcoe: Use skb_queue_walk_safe(). (Maurizio Lombardi) [1665625] - [netdrv] hv_netvsc: Fix rndis_per_packet_info internal field initialization (Mohammed Gamal) [1691375] - [netdrv] hv_netvsc: Add handler for LRO setting change (Mohammed Gamal) [1691375] - [netdrv] hv_netvsc: Add support for LRO/RSC in the vSwitch (Mohammed Gamal) [1691375] - [netdrv] hv_netvsc: Fix unwanted wakeup after tx_disable (Mohammed Gamal) [1691375] - [netdrv] hv_netvsc: Fix IP header checksum for coalesced packets (Mohammed Gamal) [1691375] - [netdrv] hv_netvsc: fix typos in code comments (Mohammed Gamal) [1691375] - [netdrv] hv_netvsc: Fix hash key value reset after other ops (Mohammed Gamal) [1691375] - [netdrv] hv_netvsc: Refactor assignments of struct netvsc_device_info (Mohammed Gamal) [1691375] - [netdrv] hv_netvsc: Fix ethtool change hash key error (Mohammed Gamal) [1691375] - [netdrv] ice: Disable sniffing VF traffic on PF (Kamal Heib) [1659176] - [netdrv] ice: Use more efficient structures (Kamal Heib) [1659176] - [netdrv] ice: Use bitfields where possible (Kamal Heib) [1659176] - [netdrv] ice: Add function to program ethertype based filter rule on VSIs (Kamal Heib) [1659176] - [netdrv] ice: Separate if conditions for ice_set_features() (Kamal Heib) [1659176] - [netdrv] ice: Remove __always_unused attribute (Kamal Heib) [1659176] - [netdrv] ice: Suppress false-positive style issues reported by static analyzer (Kamal Heib) [1659176] - [netdrv] ice: Refactor getting/setting coalesce (Kamal Heib) [1659176] - [netdrv] ice: Always free/allocate q_vectors (Kamal Heib) [1659176] - [netdrv] ice: Do not unnecessarily initialize local variable (Kamal Heib) [1659176] - [netdrv] ice: Add more validation in ice_vc_cfg_irq_map_msg (Kamal Heib) [1659176] - [netdrv] ice: Don't remove VLAN filters that were never programmed (Kamal Heib) [1659176] - [netdrv] ice: Preserve VLAN Rx stripping settings (Kamal Heib) [1659176] - [netdrv] ice: Fix for allowing too many MDD events on VF (Kamal Heib) [1659176] - [netdrv] ice: Use pf instead of vsi-back (Kamal Heib) [1659176] - [netdrv] ice: Use dev_err when ice_cfg_vsi_lan fails (Kamal Heib) [1659176] - [netdrv] ice: Refactor link event flow (Kamal Heib) [1659176] - [netdrv] ice: Add missing PHY type to link settings (Kamal Heib) [1659176] - [netdrv] ice: Add reg_idx variable in ice_q_vector structure (Kamal Heib) [1659176] - [netdrv] ice: Remove runtime change of PFINT_OICR_ENA register (Kamal Heib) [1659176] - [netdrv] ice: Fix issue when adding more than allowed VLANs (Kamal Heib) [1659176] - [netdrv] ice: Remove unnecessary wait when disabling/enabling Rx queues (Kamal Heib) [1659176] - [netdrv] ice: Add ability to update rx-usecs-high (Kamal Heib) [1659176] - [netdrv] ice: Add 52 byte RSS hash key support (Kamal Heib) [1659176] - [netdrv] ice: Use ice_for_each_q_vector macro where possible (Kamal Heib) [1659176] - [netdrv] ice: Validate ring existence and its q_vector per VSI (Kamal Heib) [1659176] - [netdrv] ice: Reduce scope of variable in ice_vsi_cfg_rxqs (Kamal Heib) [1659176] - [netdrv] ice: Resolve static analysis reported issue (Kamal Heib) [1659176] - [netdrv] ice: Return configuration error without queue to disable (Kamal Heib) [1659176] - [netdrv] ice: Create framework for VSI queue context (Kamal Heib) [1659176] - [netdrv] ice: Calculate ITR increment based on direct calculation (Kamal Heib) [1700995 1659176] - [netdrv] ice: Bump driver version (Kamal Heib) [1700995 1659176] - [netdrv] ice: Add code to control FW LLDP and DCBX (Kamal Heib) [1700995 1659176] - [netdrv] ice: Add code for DCB rebuild (Kamal Heib) [1700995 1659176] - [netdrv] ice: Add code to get DCB related statistics (Kamal Heib) [1700995 1659176] - [netdrv] ice: Add priority information into VLAN header (Kamal Heib) [1700995 1659176] - [netdrv] ice: Update rings based on TC information (Kamal Heib) [1700995 1659176] - [netdrv] ice: Add code to process LLDP MIB change events (Kamal Heib) [1700995 1659176] - [netdrv] ice: Add code for DCB initialization part 4/4 (Kamal Heib) [1700995 1659176] - [netdrv] ice: Add code for DCB initialization part 3/4 (Kamal Heib) [1700995 1659176] - [netdrv] ice: Add code for DCB initialization part 2/4 (Kamal Heib) [1700995 1659176] - [netdrv] ice: Add code for DCB initialization part 1/4 (Kamal Heib) [1700995 1659176] - [netdrv] ice: Bump version (Kamal Heib) [1700995 1659176] - [netdrv] ice: Fix incorrect use of abbreviations (Kamal Heib) [1700995 1659176] - [netdrv] ice: Fix typos in code comments (Kamal Heib) [1700995 1659176] - [netdrv] ice: Remove "2 BITS" comment (Kamal Heib) [1659176] - [netdrv] ice: Update comment regarding the ITR_GRAN_S (Kamal Heib) [1659176] - [netdrv] ice: Update function header for __ice_vsi_get_qs (Kamal Heib) [1659176] - [netdrv] ice: Remove unnecessary braces (Kamal Heib) [1659176] - [netdrv] ice: Remove unused function prototype (Kamal Heib) [1659176] - [netdrv] ice: Add missing case in print_link_msg for printing flow control (Kamal Heib) [1659176] - [netdrv] ice: Audit hotpath structures with pahole (Kamal Heib) [1659176] - [netdrv] ice: Do not bail out when filter already exists (Kamal Heib) [1659176] - [netdrv] ice: Fix issue with VF attempt to delete default MAC address (Kamal Heib) [1659176] - [netdrv] ice: enable VF admin queue interrupts (Kamal Heib) [1659176] - [netdrv] ice: Fix for adaptive interrupt moderation (Kamal Heib) [1659176] - [netdrv] ice: Implement pci_error_handler ops (Kamal Heib) [1659176] - [netdrv] ice: Put __ICE_PREPARED_FOR_RESET check in ice_prepare_for_reset (Kamal Heib) [1659176] - [netdrv] ice: use virt channel status codes (Kamal Heib) [1659176] - [netdrv] ice: Remove unnecessary newlines from log messages (Kamal Heib) [1659176] - [netdrv] ice: Create a generic name for the ice_rx_flg64_bits structure (Kamal Heib) [1659176] - [netdrv] ice: add and use new ice_for_each_traffic_class() macro (Kamal Heib) [1659176] - [netdrv] ice: change VF VSI tc info along with num_queues (Kamal Heib) [1659176] - [netdrv] ice: Prevent unintended multiple chain resets (Kamal Heib) [1659176] - [netdrv] ice: map Rx buffer pages with DMA attributes (Kamal Heib) [1659176] - [netdrv] ice: Limit the ice_add_rx_frag to frag addition (Kamal Heib) [1659176] - [netdrv] ice: Gather the rx buf clean-up logic for better reuse (Kamal Heib) [1659176] - [netdrv] ice: Introduce bulk update for page count (Kamal Heib) [1659176] - [netdrv] ice: Get rid of ice_pull_tail (Kamal Heib) [1659176] - [netdrv] ice: Pull out page reuse checks onto separate function (Kamal Heib) [1659176] - [netdrv] ice: Retrieve rx_buf in separate function (Kamal Heib) [1659176] - [netdrv] ice: Enable link events over the ARQ (Kamal Heib) [1659176] - [netdrv] ice: use irq_num var in ice_vsi_req_irq_msix (Kamal Heib) [1659176] - [netdrv] ice: Restore VLAN switch rule if port VLAN existed before (Kamal Heib) [1659176] - [netdrv] ice: update VSI config dynamically (Kamal Heib) [1659176] - [netdrv] ice: Get VF VSI instances directly via PF (Kamal Heib) [1659176] - [netdrv] ice: Don't let VF know that it is untrusted (Kamal Heib) [1659176] - [netdrv] ice: Set LAN_EN for all directional rules (Kamal Heib) [1659176] - [netdrv] ice: Do not set LB_EN for prune switch rules (Kamal Heib) [1659176] - [netdrv] ice: Enable LAN_EN for the right recipes (Kamal Heib) [1659176] - [netdrv] ice: Add support for PF/VF promiscuous mode (Kamal Heib) [1659176] - [netdrv] ice: code cleanup in ice_sched.c (Kamal Heib) [1659176] - [netdrv] ice: Remove unused vsi_id field (Kamal Heib) [1659176] - [netdrv] ice: fix some function prototype and signature style issues (Kamal Heib) [1659176] - [netdrv] ice: fix the divide by zero issue (Kamal Heib) [1659176] - [netdrv] ice: Fix issue reconfiguring VF queues (Kamal Heib) [1659176] - [netdrv] ice: Remove unused function prototype (Kamal Heib) [1659176] - [netdrv] ice: fix static analysis warnings (Kamal Heib) [1659176] - [netdrv] ice: Fix issue reclaiming resources back to the pool after reset (Kamal Heib) [1659176] - [netdrv] ice: Enable MAC anti-spoof by default (Kamal Heib) [1659176] - [netdrv] ice: Determine descriptor count and ring size based on PAGE_SIZE (Kamal Heib) [1659176] - [netdrv] ice: Reset all VFs with VFLR during SR-IOV init flow (Kamal Heib) [1659176] - [netdrv] ice: Get resources per function (Kamal Heib) [1659176] - [netdrv] ice: Implement flow to reset VFs with PFR and other resets (Kamal Heib) [1659176] - [netdrv] ice: configure GLINT_ITR to always have an ITR gran of 2 (Kamal Heib) [1659176] - [netdrv] ice: use ice_for_each_vsi macro when possible (Kamal Heib) [1659176] - [netdrv] ice : Ensure only valid bits are set in ice_aq_set_phy_cfg (Kamal Heib) [1659176] - [netdrv] ice: remove redundant variable and if condition (Kamal Heib) [1659176] - [netdrv] ice: avoid multiple unnecessary de-references in probe (Kamal Heib) [1659176] - [netdrv] ice: Fix issue with VF reset and multiple VFs support on PFs (Kamal Heib) [1659176] - [netdrv] ice: Fix broadcast traffic in port VLAN mode (Kamal Heib) [1659176] - [netdrv] ice: fix overlong string, update stats output (Kamal Heib) [1659176] - [netdrv] ice: Fix for FC get rx/tx pause params (Kamal Heib) [1659176] - [netdrv] ice: use absolute vector ID for VFs (Kamal Heib) [1659176] - [netdrv] ice: check for a leaf node presence (Kamal Heib) [1659176] - [netdrv] ice: flush Tx pipe on disable queue timeout (Kamal Heib) [1659176] - [netdrv] ice: clear VF ARQLEN register on reset (Kamal Heib) [1659176] - [netdrv] ice: don't spam VFs with link messages (Kamal Heib) [1659176] - [netdrv] ice: only use the VF for ICE_VSI_VF in ice_vsi_release (Kamal Heib) [1659176] - [netdrv] ice: fix numeric overflow warning (Kamal Heib) [1659176] - [netdrv] ice: fix issue where host reboots on unload when iommu=on (Kamal Heib) [1659176] - [netdrv] ice: fix ice_remove_rule_internal vsi_list handling (Kamal Heib) [1659176] - [netdrv] ice: fix stack hogs from struct ice_vsi_ctx structures (Kamal Heib) [1659176] - [netdrv] ice: sizeof() should be avoided (Kamal Heib) [1659176] - [netdrv] ice: Fix added in VSI supported nodes calc (Kamal Heib) [1659176] - [netdrv] ice: Fix the calculation of ICE_MAX_MTU (Kamal Heib) [1659176] - [netdrv] ice: Mark extack argument as __always_unused (Kamal Heib) [1659176] - [netdrv] ice: add const qualifier to mac_addr parameter (Kamal Heib) [1659176] - [netdrv] ice: Add support for new PHY types (Kamal Heib) [1659176] - [netdrv] ice: Offload SCTP checksum (Kamal Heib) [1659176] - [netdrv] ice: Allow for software timestamping (Kamal Heib) [1659176] - [netdrv] ice: Implement getting and setting ethtool coalesce (Kamal Heib) [1659176] - [netdrv] ice: Add support for adaptive interrupt moderation (Kamal Heib) [1659176] - [netdrv] ice: Move aggregator list into ice_hw instance (Kamal Heib) [1659176] - [netdrv] ice: Rework queue management code for reuse (Kamal Heib) [1659176] - [netdrv] ice: Add ethtool private flag to make forcing link down optional (Kamal Heib) [1659176] - [netdrv] ice: Set physical link up/down when an interface is set up/down (Kamal Heib) [1659176] - [netdrv] ice: Implement support for normal get_eeprom[_len] ethtool ops (Kamal Heib) [1659176] - [netdrv] ice: Add ethtool set_phys_id handler (Kamal Heib) [1659176] - [netdrv] ice: Configure RSS LUT and HASH KEY in rebuild path (Kamal Heib) [1659176] - [netdrv] ice: Refactor a few Tx scheduler functions (Kamal Heib) [1659176] - [netdrv] ice: Fix unused variable build warning (Kamal Heib) [1659176] - [netdrv] ice: Do not enable NAPI on q_vectors that have no rings (Kamal Heib) [1659176] - [netdrv] ethernet/intel: consolidate NAPI and NAPI exit (Kamal Heib) [1659176] - [netdrv] ice: Fix possible NULL pointer de-reference (Kamal Heib) [1659176] - [netdrv] ice: Use Tx|Rx in comments (Kamal Heib) [1659176] - [netdrv] ice: Cosmetic formatting changes (Kamal Heib) [1659176] - [netdrv] ice: Cleanup short function signatures (Kamal Heib) [1659176] - [netdrv] ice: Cleanup ice_tx_timeout() (Kamal Heib) [1659176] - [netdrv] ice: Fix return value from NAPI poll (Kamal Heib) [1659176] - [netdrv] ice: Constify global structures that can/should be (Kamal Heib) [1659176] - [netdrv] ice: Do not set LAN_EN for MAC-VLAN filters (Kamal Heib) [1659176] - [netdrv] ice: Pass the return value of ice_init_def_sw_recp() (Kamal Heib) [1659176] - [netdrv] ice: Cleanup duplicate control queue code (Kamal Heib) [1659176] - [netdrv] ice: Remove ICE_MAX_TXQ_PER_TXQG check when configuring Tx queue (Kamal Heib) [1659176] - [netdrv] ice: Destroy scheduler tree in reset path (Kamal Heib) [1659176] - [netdrv] ice: Fix to make VLAN priority tagged traffic to appear on all TCs (Kamal Heib) [1659176] - [netdrv] ice: Call pci_disable_sriov before stopping queues for VF (Kamal Heib) [1659176] - [netdrv] ice: Increase Rx queue disable timeout (Kamal Heib) [1659176] - [netdrv] ice: Fix NVM mask defines (Kamal Heib) [1659176] - [netdrv] ice: Avoid nested RTNL locking in ice_dis_vsi (Kamal Heib) [1659176] - [netdrv] ice: Calculate guaranteed VSIs per function and use it (Kamal Heib) [1659176] - [netdrv] ice: Remove node before releasing VSI (Kamal Heib) [1659176] - [netdrv] ice: Check for q_vector when stopping rings (Kamal Heib) [1659176] - [netdrv] ice: Fix debug print in ice_tx_timeout (Kamal Heib) [1659176] - [netdrv] intel-ethernet: use correct module license (Kamal Heib) [1659176] - [netdrv] bnx2x: Add support for detection of P2P event packets. (Manish Chopra) [1638306 1663271] - [netdrv] bnx2x: Replace magic numbers with macro definitions. (Manish Chopra) [1638306 1663271] - [netdrv] bnx2x: fix spelling mistake "dicline" -> "decline" (Manish Chopra) [1663271] - [netdrv] bnx2x: Utilize FW 7.13.11.0. (Manish Chopra) [1663271] - [netdrv] bnx2x: Remove set but not used variable 'mfw_vn' (Manish Chopra) [1663271] - [netdrv] bnx2x: Use struct_size() in kzalloc() (Manish Chopra) [1663271] - [netdrv] broadcom: Mark expected switch fall-throughs (Manish Chopra) [1663271] - [netdrv] bnx2x: Bump up driver version to 1.713.36 (Manish Chopra) [1663271] - [netdrv] bnx2x: fix various indentation issues (Manish Chopra) [1663271] - [netdrv] cross-tree: phase out dma_zalloc_coherent() on headers (Manish Chopra) [1663271] - [netdrv] bnx2x: Fix NULL pointer dereference in bnx2x_del_all_vlans() on some hw (Manish Chopra) [1663271] - [netdrv] bnx2x: Send update-svid ramrod with retry/poll flags enabled (Manish Chopra) [1663271] - [netdrv] bnx2x: Enable PTP only on the PF that initializes the port (Manish Chopra) [1663271] - [netdrv] bnx2x: Remove configured vlans as part of unload sequence. (Manish Chopra) [1663271] - [netdrv] bnx2x: Clear fip MAC when fcoe offload support is disabled (Manish Chopra) [1663271] - [netdrv] bnx2x: Add storm FW version to ethtool driver query output. (Manish Chopra) [1663271] - [netdrv] bnx2x: Add MBI version to ethtool driver query output. (Manish Chopra) [1663271] - [netdrv] drivers: net: remove inclusion when not needed (Manish Chopra) [1663271] - [netdrv] bnx2x: remove ndo_poll_controller (Manish Chopra) [1663271] - [netdrv] bnx2x: Provide VF link status in ndo_get_vf_config (Manish Chopra) [1663271] - [netdrv] bnx2x: Ignore bandwidth attention in single function mode (Manish Chopra) [1663271] - [block] block: remove CONFIG_LBDAF (Ming Lei) [1708452] - [kernel] sched/pelt: Fix warning and clean up IRQ PELT config (Phil Auld) [1637824] - [kernel] sched/pelt: Fix update_blocked_averages() for RT and DL classes (Phil Auld) [1637824] - [mm] mm, sched/numa: Remove remaining traces of NUMA rate-limiting (Phil Auld) [1637824] - [kernel] sched/fair: Fix cpu_util_wake() for 'execl' type workloads (Phil Auld) [1637824] - [kernel] sched/fair: Consider SD_NUMA when selecting the most idle group to schedule on (Phil Auld) [1637824] - [kernel] sched/numa: Migrate pages to local nodes quicker early in the lifetime of a task (Phil Auld) [1637824] - [mm] mm, sched/numa: Remove rate-limiting of automatic NUMA balancing migration (Phil Auld) [1637824] - [kernel] sched/numa: Avoid task migration for small NUMA improvement (Phil Auld) [1637824] - [mm] mm/migrate: Use spin_trylock() while resetting rate limit (Phil Auld) [1637824] - [kernel] sched/numa: Limit the conditions where scan period is reset (Phil Auld) [1637824] - [kernel] sched/numa: Reset scan rate whenever task moves across nodes (Phil Auld) [1637824] - [kernel] sched/numa: Pass destination CPU as a parameter to migrate_task_rq (Phil Auld) [1637824] - [kernel] sched/numa: Stop multiple tasks from moving to the CPU at the same time (Phil Auld) [1637824] - [kernel] sched/fair: Fix scale_rt_capacity() for SMT (Phil Auld) [1637824] - [kernel] sched/numa: Move task_numa_placement() closer to numa_migrate_preferred() (Phil Auld) [1637824] - [kernel] sched/numa: Use group_weights to identify if migration degrades locality (Phil Auld) [1637824] - [kernel] sched/numa: Update the scan period without holding the numa_group lock (Phil Auld) [1637824] - [kernel] sched/numa: Remove numa_has_capacity() (Phil Auld) [1637824] - [kernel] sched/numa: Modify migrate_swap() to accept additional parameters (Phil Auld) [1637824] - [kernel] sched/numa: Remove unused task_capacity from 'struct numa_stats' (Phil Auld) [1637824] - [kernel] sched/numa: Skip nodes that are at 'hoplimit' (Phil Auld) [1637824] - [kernel] sched/debug: Reverse the order of printing faults (Phil Auld) [1637824] - [kernel] sched/numa: Use task faults only if numa_group is not yet set up (Phil Auld) [1637824] - [kernel] sched/numa: Set preferred_node based on best_cpu (Phil Auld) [1637824] - [kernel] sched/numa: Simplify load_too_imbalanced() (Phil Auld) [1637824] - [kernel] sched/numa: Evaluate move once per node (Phil Auld) [1637824] - [kernel] sched/fair: Remove #ifdefs from scale_rt_capacity() (Phil Auld) [1637824] - [kernel] sched/cpufreq: Clarify sugov_get_util() (Phil Auld) [1637824] - [kernel] sched/sysctl: Remove unused sched_time_avg_ms sysctl (Phil Auld) [1637824] - [kernel] sched/core: Remove the rt_avg code (Phil Auld) [1637824] - [kernel] sched/core: Use PELT for scale_rt_capacity() (Phil Auld) [1637824] - [kernel] sched/cpufreq: Remove sugov_aggregate_util() (Phil Auld) [1637824] - [kernel] cpufreq/schedutil: Take time spent in interrupts into account (Phil Auld) [1637824] - [kernel] sched/irq: Add IRQ utilization tracking (Phil Auld) [1637824] - [kernel] cpufreq/schedutil: Use DL utilization tracking (Phil Auld) [1637824] - [kernel] sched/dl: Add dl_rq utilization tracking (Phil Auld) [1637824] - [kernel] cpufreq/schedutil: Use RT utilization tracking (Phil Auld) [1637824] - [kernel] sched/rt: Add rt_rq utilization tracking (Phil Auld) [1637824] - [kernel] sched/pelt: Move PELT related code in a dedicated file (Phil Auld) [1637824] - [char] ipmi_si: Potential array underflow in hotmod_handler() (Tony Camuso) [1665131] - [char] ipmi_si: Remove hacks for adding a dummy platform devices (Tony Camuso) [1665131] - [char] ipmi_si: Consolidate scanning the platform bus (Tony Camuso) [1665131] - [char] ipmi_si: Remove hotmod devices on removal and exit (Tony Camuso) [1665131] - [char] ipmi_si: Remove hardcode IPMI devices by scanning the platform bus (Tony Camuso) [1665131] - [char] ipmi_si: Switch hotmod to use a platform device (Tony Camuso) [1665131] - [char] ipmi: Fix failure on SMBIOS specified devices (Tony Camuso) [1665131] - [char] ipmi: Consolidate the adding of platform devices (Tony Camuso) [1665131] - [char] ipmi_si: Rename addr_type to addr_space to match what it does (Tony Camuso) [1665131] - [char] ipmi_si: Convert some types into unsigned (Tony Camuso) [1665131] - [char] ipmi: ipmi_si_hardcode.c: init si_type array to fix a crash (Tony Camuso) [1665131] - [char] ipmi_si: Fix crash when using hard-coded device (Tony Camuso) [1665131] - [char] ipmi: Use dedicated API for copying a UUID (Tony Camuso) [1665131] - [char] ipmi: Use defined constant for UUID representation (Tony Camuso) [1665131] - [char] ipmi:ssif: Change some pr_xxx to dev_xxx calls (Tony Camuso) [1665131] - [char] ipmi: kcs_bmc: handle devm_kasprintf() failure case (Tony Camuso) [1665131] - [char] ipmi: Fix return value when a message is truncated (Tony Camuso) [1665131] - [char] ipmi: clean an indentation issue, remove extraneous space (Tony Camuso) [1665131] - [char] ipmi: Make the smi watcher be disabled immediately when not needed (Tony Camuso) [1665131] - [char] ipmi: Fix how the lower layers are told to watch for messages (Tony Camuso) [1665131] - [char] ipmi: Fix SSIF flag requests (Tony Camuso) [1665131] - [char] ipmi_si: fix use-after-free of resource->name (Tony Camuso) [1665131] - [char] ipmi: Don't initialize anything in the core until something uses it (Tony Camuso) [1665131] - [char] ipmi:ssif: Fix handling of multi-part return messages (Tony Camuso) [1665131] - [char] ipmi:dmi: Use pr_fmt in the IPMI DMI code (Tony Camuso) [1665131] - [char] ipmi: Remove platform driver overrides and use the id_table (Tony Camuso) [1665131] - [char] ipmi: msghandler: Add and use pr_fmt and dev_fmt, remove PFX (Tony Camuso) [1665131] - [char] ipmi: Use more common logging styles (Tony Camuso) [1665131] - [acpi] ACPI / glue: Split dev_is_platform() out of module for wide use (Tony Camuso) [1665131]- [scsi] scsi: hpsa: bump driver version (Joseph Szczypek) [1672669] - [scsi] scsi: hpsa: remove timeout from TURs (Joseph Szczypek) [1672669] - [scsi] scsi: hpsa: clean up two indentation issues (Joseph Szczypek) [1672669] - [scsi] scsi: hpsa: mark expected switch fall-throughs (Joseph Szczypek) [1672669] - [scsi] scsi: hpsa: switch to generic DMA API (Joseph Szczypek) [1672669] - [scsi] scsi: hpsa: Use vmemdup_user to replace the open code (Joseph Szczypek) [1672669] - [netdrv] ibmvnic: Add device identification to requested IRQs (Steve Best) [1665717] - [crypto] crypto: authenc - fix parsing key with misaligned rta_len (Herbert Xu) [1707546] - [block] block: don't drain in-progress dispatch in blk_cleanup_queue() (Ming Lei) [1694879] - [block] blk-mq: move cancel of hctx->run_work into blk_mq_hw_sysfs_release (Ming Lei) [1694879] - [include] blk-mq: always free hctx after request queue is freed (Ming Lei) [1694879] - [block] blk-mq: split blk_mq_alloc_and_init_hctx into two parts (Ming Lei) [1694879] - [block] blk-mq: free hw queue's resource in hctx's release handler (Ming Lei) [1694879] - [block] blk-mq: move cancel of requeue_work into blk_mq_release (Ming Lei) [1694879] - [block] blk-mq: grab .q_usage_counter when queuing request from plug code path (Ming Lei) [1694879] - [block] block: fix use-after-free on gendisk (Ming Lei) [1694879] - [netdrv] bonding: fix event handling for stacked bonds (Jarod Wilson) [1708390] - [netdrv] bonding: show full hw address in sysfs for slave entries (Jarod Wilson) [1708390] - [netdrv] bonding: fix PACKET_ORIGDEV regression (Jarod Wilson) [1708390] - [netdrv] bonding: check slave set command firstly (Jarod Wilson) [1708390] - [netdrv] bonding: count master 3ad stats separately (Jarod Wilson) [1708390] - [netdrv] bonding: add support for xstats and export 3ad stats (Jarod Wilson) [1708390] - [netdrv] bonding: add 3ad stats (Jarod Wilson) [1708390] - [netdrv] bonding: 3ad: remove bond_3ad_rx_indication's length argument (Jarod Wilson) [1708390] - [netdrv] bonding: adjust style of bond_3ad_rx_indication (Jarod Wilson) [1708390] - [netdrv] bonding: update nest level on unlink (Jarod Wilson) [1708390] - [netdrv] bonding: fix indentation issues, remove extra spaces (Jarod Wilson) [1708390] - [netdrv] bonding: convert to DEFINE_SHOW_ATTRIBUTE (Jarod Wilson) [1708390] - [netdrv] bonding: fix 802.3ad state sent to partner when unbinding slave (Jarod Wilson) [1708390] - [netdrv] bonding: use netpoll_poll_dev() helper (Jarod Wilson) [1708390] - [net] netpoll: do not test NAPI_STATE_SCHED in poll_one_napi() (Jarod Wilson) [1708390] - [net] netpoll: make ndo_poll_controller() optional (Jarod Wilson) [1708390] - [netdrv] bonding: don't cast const buf in sysfs store (Jarod Wilson) [1708390] - [netdrv] netdevsim: fix sa_idx out of bounds check (Ivan Vecera) [1708373] - [tools] selftests: rtnetlink: add ipsec offload API test (Ivan Vecera) [1708373] - [netdrv] netdevsim: add ipsec offload testing (Ivan Vecera) [1708373] - [tools] selftests: rtnetlink: use dummydev as a test device (Ivan Vecera) [1708373] - [tools] selftests: rtnetlink: clear the return code at start of ipsec test (Ivan Vecera) [1708373] - [tools] selftests: rtnetlink: use a local IP address for IPsec tests (Ivan Vecera) [1708373] - [tools] selftests: rtnetlink: hide complaint from terminated monitor (Ivan Vecera) [1708373] - [powerpc] powerpc/watchdog: Use hrtimers for per-CPU heartbeat (Steve Best) [1708327] - [netdrv] ixgbevf: Update driver version for RHEL-8.1.0 (Ken Cox) [1659166] - [netdrv] drivers: net: intel: use secpath helpers in more places (Ken Cox) [1659166] - [netdrv] ethernet/intel: consolidate NAPI and NAPI exit (Ken Cox) [1659166] - [netdrv] ixgbevf: add support for software timestamps (Ken Cox) [1659166] - [netdrv] ixgbe/ixgbevf: fix XFRM_ALGO dependency (Ken Cox) [1659166] - [netdrv] ixgbevf: off by one in ixgbevf_ipsec_tx() (Ken Cox) [1659166] - [netdrv] ixgbevf: fix msglen for ipsec mbx messages (Ken Cox) [1659166] - [netdrv] ixgbevf: remove ndo_poll_controller (Ken Cox) [1659166] - [netdrv] intel-ethernet: use correct module license (Ken Cox) [1659166] - [netdrv] ixgbevf: enable VF IPsec offload operations (Ken Cox) [1659166] - [netdrv] ixgbevf: add VF IPsec offload code (Ken Cox) [1659166] - [netdrv] ixgbevf: add defines for IPsec offload request (Ken Cox) [1659166] - [netdrv] ixgbevf: VF2VF TCP RSS (Ken Cox) [1659166] - [netdrv] ixgbe: Update driver version for RHEL-8.1.0 (Ken Cox) [1659164] - [netdrv] intel: correct return from set features callback (Ken Cox) [1659164] - [netdrv] ixgbe: don't do any AF_XDP zero-copy transmit if netif is not OK (Ken Cox) [1659164] - [netdrv] ixgbe: fix potential RX buffer starvation for AF_XDP (Ken Cox) [1659164] - [netdrv] ixgbe: fix older devices that do not support IXGBE_MRQC_L3L4TXSWEN (Ken Cox) [1659164] - [netdrv] net: bpf: remove XDP_QUERY_XSK_UMEM enumerator (Ken Cox) [1659164] - [netdrv] ixgbe: Use struct_size() helper (Ken Cox) [1659164] - [netdrv] ixgbe: remove magic constant in ixgbe_reset_hw_82599() (Ken Cox) [1659164] - [netdrv] ixgbe: use mii_bus to handle MII related ioctls (Ken Cox) [1659164] - [netdrv] ixgbe: register a mdiobus (Ken Cox) [1659164] - [netdrv] drivers: net: intel: use secpath helpers in more places (Ken Cox) [1659164] - [netdrv] ixgbe: Fix race when the VF driver does a reset (Ken Cox) [1659164] - [netdrv] ixgbe: recognize 1000BaseLX SFP modules as 1Gbps (Ken Cox) [1659164] - [netdrv] ixgbe: Replace synchronize_sched() with synchronize_rcu() (Ken Cox) [1659164] - [netdrv] i40e/ixgbe/igb: fail on new WoL flag setting WAKE_MAGICSECURE (Ken Cox) [1659164] - [netdrv] intel-ethernet: software timestamp skbs as late as possible (Ken Cox) [1659164] - [netdrv] ixgbe: allow IPsec Tx offload in VEPA mode (Ken Cox) [1659164] - [netdrv] ixgbe: don't clear_bit on xdp_ring->state if xdp_ring is null (Ken Cox) [1659164] - [netdrv] ixgbe: fix MAC anti-spoofing filter after VFLR (Ken Cox) [1659164] - [netdrv] ixgbe/ixgbevf: fix XFRM_ALGO dependency (Ken Cox) [1659164] - [netdrv] drivers: net: remove inclusion when not needed (Ken Cox) [1659164] - [netdrv] ixgbe: check return value of napi_complete_done() (Ken Cox) [1659164] - [netdrv] ixgbe: add AF_XDP zero-copy Tx support (Ken Cox) [1659164] - [netdrv] ixgbe: move common Tx functions to ixgbe_txrx_common.h (Ken Cox) [1659164] - [netdrv] ixgbe: add AF_XDP zero-copy Rx support (Ken Cox) [1659164] - [netdrv] ixgbe: move common Rx functions to ixgbe_txrx_common.h (Ken Cox) [1659164] - [netdrv] ixgbe: added Rx/Tx ring disable/enable functions (Ken Cox) [1659164] - [netdrv] ixgbe: Fix crash with VFs and flow director on interface flap (Ken Cox) [1659164] - [netdrv] ixgbe: remove redundant function ixgbe_fw_recovery_mode() (Ken Cox) [1659164] - [netdrv] ixgbe: Fix ixgbe TX hangs with XDP_TX beyond queue limit (Ken Cox) [1659164] - [netdrv] ixgbe: remove ndo_poll_controller (Ken Cox) [1659164] - [netdrv] intel-ethernet: use correct module license (Ken Cox) [1659164] - [netdrv] ixgbe: fix the return value for unsupported VF offload (Ken Cox) [1659164] - [netdrv] ixgbe: disallow IPsec Tx offload when in SR-IOV mode (Ken Cox) [1659164] - [netdrv] ixgbe: add VF IPsec offload request message handling (Ken Cox) [1659164] - [netdrv] ixgbe: add VF IPsec offload enable flag (Ken Cox) [1659164] - [netdrv] ixgbe: add VF IPsec management (Ken Cox) [1659164] - [netdrv] ixgbe: prep IPsec constants for later use (Ken Cox) [1659164] - [netdrv] ixgbe: reload IPsec IP table after sa tables (Ken Cox) [1659164] - [netdrv] ixgbe: don't clear IPsec sa counters on HW clearing (Ken Cox) [1659164] - [netdrv] ixgbe: firmware recovery mode (Ken Cox) [1659164] - [netdrv] ixgbe: fix driver behaviour after issuing VFLR (Ken Cox) [1659164] - [netdrv] ixgbe: Prevent unsupported configurations with XDP (Ken Cox) [1659164] - [netdrv] ixgbe: Refactor queue disable logic to take completion time into account (Ken Cox) [1659164] - [netdrv] ixgbe: Reorder Tx/Rx shutdown to reduce time needed to stop device (Ken Cox) [1659164] - [netdrv] ixgbe: add ipsec security registers into ethtool register dump (Ken Cox) [1659164] - [netdrv] ixgbe: Do not allow LRO or MTU change with XDP (Ken Cox) [1659164] - [wireless] brcmfmac: add subtype check for event handling in data path (Stanislaw Gruszka) [1705386] {CVE-2019-9500} - [wireless] brcmfmac: assure SSID length from firmware is limited (Stanislaw Gruszka) [1705386] {CVE-2019-9500} - [base] driver core: Postpone DMA tear-down until after devres release (Maurizio Lombardi) [1698053]- [of] of: Add missing exports of node name compare functions (Neil Horman) [1665660] - [of] of: add node name compare helper functions (Neil Horman) [1665660] - [include] gpio: Add API to explicitly name a consumer (Neil Horman) [1665660] - [drivers] spi: spi-gpio: fix SPI_CS_HIGH capability (Neil Horman) [1665660] - [drivers] spi: use gpio[d]_set_value_cansleep for setting chipselect GPIO (Neil Horman) [1665660] - [drivers] spi: gpio: Advertise support for SPI_CS_HIGH (Neil Horman) [1665660] - [include] spi: support inter-word delay requirement for devices (Neil Horman) [1665660] - [drivers] spi: dw: Fix default polarity of native chipselect (Neil Horman) [1665660] - [drivers] spi: Support high CS when using descriptors (Neil Horman) [1665660] - [include] spi: Go back to immediate teardown (Neil Horman) [1665660] - [drivers] spi: dw: change snprintf to scnprintf for possible overflow (Neil Horman) [1665660] - [drivers] spi: dw: fix warning unused variable 'ret' (Neil Horman) [1665660] - [include] spi: core: avoid waking pump thread from spi_sync instead run teardown delayed (Neil Horman) [1665660] - [drivers] spi: dw: Convert to use CS GPIO descriptors (Neil Horman) [1665660] - [include] spi: Optionally use GPIO descriptors for CS GPIOs (Neil Horman) [1665660] - [drivers] spi: dw: fix potential variable assignment error (Neil Horman) [1665660] - [drivers] spi: Use of_node_name_eq for node name comparisons (Neil Horman) [1665660] - [drivers] spi: dw-mmio: add ACPI support (Neil Horman) [1665660] - [include] spi: add support for octal mode I/O data transfer (Neil Horman) [1665660] - [drivers] spi: Fix formatting of header block (Neil Horman) [1665660] - [drivers] spi: Fix core transfer waits after slave support (Neil Horman) [1665660] - [drivers] spi: Deal with slaves that return from transfer_one() unfinished (Neil Horman) [1665660] - [include] spi: gpio: Support 3WIRE high-impedance turn-around (Neil Horman) [1665660] - [drivers] spi: Make GPIO CSs honour the SPI_NO_CS flag (Neil Horman) [1665660] - [drivers] dw: spi: add support for Amazon's Alpine spi controller (Neil Horman) [1665660] - [include] spi: Add driver_override SPI device attribute (Neil Horman) [1665660] - [include] spi: make OF helper available for others (Neil Horman) [1665660] - [include] spi: switch to SPDX license identifier (Neil Horman) [1665660] - [drivers] spi: always use software fallback for SPI_CS_WORD when using cs_gio (Neil Horman) [1665660] - [drivers] spi: add software implementation for SPI_CS_WORD (Neil Horman) [1665660] - [include] spi: add new SPI_CS_WORD flag (Neil Horman) [1665660] - [drivers] spi: gpio: No MISO does not imply no RX (Neil Horman) [1665660] - [drivers] spi: dw: support 4-16 bits per word (Neil Horman) [1665660] - [drivers] spi: spi-gpio: Remove set but not used variable 'pdata' (Neil Horman) [1665660] - [drivers] spi: Do not print a message if spi_controller_{suspend,resume}() fails (Neil Horman) [1665660] - [drivers] spi: gpio: Fix copy-and-paste error (Neil Horman) [1665660] - [drivers] spi: dw-mmio: avoid hardcoded field mask (Neil Horman) [1665660] - [drivers] spi: dw-mmio: add MSCC Jaguar2 support (Neil Horman) [1665660] - [include] spi: Introduce one new field to set word delay (Neil Horman) [1665660] - [drivers] spi: Fix double IDR allocation with DT aliases (Neil Horman) [1665660] - [drivers] spi: fix IDR collision on systems with both fixed and dynamic SPI bus numbers (Neil Horman) [1665660] - [drivers] spi: spi-gpio: add SPI_3WIRE support (Neil Horman) [1665660] - [drivers] spi: add flags parameter to txrx_word function pointers (Neil Horman) [1665660] - [drivers] spi: dw-mmio: add MSCC Ocelot support (Neil Horman) [1665660] - [drivers] spi: dw: export dw_spi_set_cs (Neil Horman) [1665660] - [drivers] spi: dw: allow providing own set_cs callback (Neil Horman) [1665660] - [drivers] spi: dw: fix possible race condition (Neil Horman) [1665660] - [acpi] ACPI / APD: Add clock frequency for Hisilicon Hip08 SPI controller (Neil Horman) [1665660] - [md] md/raid: raid5 preserve the writeback action after the parity check (Nigel Croxon) [1702309] - [md] Revert "Don't jump to compute_result state from check_result state" (Nigel Croxon) [1702309] - [md] md: return -ENODEV if rdev has no mddev assigned (Nigel Croxon) [1702309] - [md] md: add __acquires/__releases annotations to handle_active_stripes (Nigel Croxon) [1702309] - [md] md: add __acquires/__releases annotations to (un)lock_two_stripes (Nigel Croxon) [1702309] - [md] md: mark md_cluster_mod static (Nigel Croxon) [1702309] - [md] md: use correct type in super_1_sync (Nigel Croxon) [1702309] - [md] md: use correct type in super_1_load (Nigel Croxon) [1702309] - [md] md: use correct types in md_bitmap_print_sb (Nigel Croxon) [1702309] - [md] md: add a missing endianness conversion in check_sb_changes (Nigel Croxon) [1702309] - [md] md: add mddev->pers to avoid potential NULL pointer dereference (Nigel Croxon) [1702309] - [md] md: batch flush requests. (Nigel Croxon) [1702309] - [md] Revert "MD: fix lock contention for flush bios" (Nigel Croxon) [1702309] - [md] Don't jump to compute_result state from check_result state (Nigel Croxon) [1702309] - [netdrv] bnxt_en: Reset device on RX buffer errors. (Selvin Xavier) [1664477] - [netdrv] bnxt_en: Improve RX consumer index validity check. (Selvin Xavier) [1664477] - [netdrv] bnxt_en: Drop oversize TX packets to prevent errors. (Selvin Xavier) [1664477] - [netdrv] bnxt_en: Wait longer for the firmware message response to complete. (Selvin Xavier) [1664477] - [netdrv] bnxt_en: Fix typo in firmware message timeout logic. (Selvin Xavier) [1664477] - [netdrv] bnxt_en: Return relevant error code when offload fails (Selvin Xavier) [1664477] - [netdrv] bnxt_en: Add support for mdio read/write to external PHY (Selvin Xavier) [1664477] - [netdrv] bnxt_en: Propagate trusted VF attribute to firmware. (Selvin Xavier) [1664477] - [netdrv] bnxt_en: Add support for BCM957504 (Selvin Xavier) [1664477] - [netdrv] bnxt_en: Update firmware interface spec. to 1.10.0.47. (Selvin Xavier) [1664477] - [netdrv] bnxt_en: Disable interrupts when allocating CP rings or NQs. (Selvin Xavier) [1664477] - [netdrv] bnxt_en: Fix context memory allocation. (Selvin Xavier) [1664477] - [netdrv] bnxt_en: Fix ring checking logic on 57500 chips. (Selvin Xavier) [1664477] - [netdrv] bnxt_en: Adjust default RX coalescing ticks to 10 us. (Selvin Xavier) [1664477] - [netdrv] bnxt_en: Support for 64-bit flow handle. (Selvin Xavier) [1664477] - [netdrv] bnxt_en: Increase context memory allocations on 57500 chips for RDMA. (Selvin Xavier) [1664477] - [netdrv] bnxt_en: Add Level 2 context memory paging support. (Selvin Xavier) [1664477] - [netdrv] bnxt_en: Enhance bnxt_alloc_ring()/bnxt_free_ring(). (Selvin Xavier) [1664477] - [netdrv] bnxt_en: Add support for 2nd firmware message channel. (Selvin Xavier) [1664477] - [netdrv] bnxt_en: Introduce bnxt_get_hwrm_resp_addr & bnxt_get_hwrm_seq_id routines. (Selvin Xavier) [1664477] - [netdrv] bnxt_en: Avoid arithmetic on void * pointer. (Selvin Xavier) [1664477] - [netdrv] bnxt_en: Use macros for firmware message doorbell offsets. (Selvin Xavier) [1664477] - [netdrv] bnxt_en: Set hwrm_intr_seq_id value to its inverted value. (Selvin Xavier) [1664477] - [netdrv] bnxt_en: Update firmware interface spec. to 1.10.0.33. (Selvin Xavier) [1664477] - [netdrv] bnxt_en: Fix ethtool self-test loopback. (Selvin Xavier) [1664477] - [netdrv] bnxt_en: query force speeds before disabling autoneg mode. (Selvin Xavier) [1664477] - [netdrv] bnxt_en: Do not free port statistics buffer when device is down. (Selvin Xavier) [1664477] - [netdrv] bnxt_en: Save ring statistics before reset. (Selvin Xavier) [1664477] - [netdrv] bnxt_en: Return linux standard errors in bnxt_ethtool.c (Selvin Xavier) [1664477] - [netdrv] bnxt_en: Don't set ETS on unused TCs. (Selvin Xavier) [1664477] - [netdrv] bnxt_en: Add ethtool -S priority counters. (Selvin Xavier) [1664477] - [netdrv] bnxt_en: Add SR-IOV support for 57500 chips. (Selvin Xavier) [1664477] - [netdrv] bnxt_en: Disable MSIX before re-reserving NQs/CMPL rings. (Selvin Xavier) [1664477] - [netdrv] bnxt_en: Reserve 1 stat_ctx for RDMA driver. (Selvin Xavier) [1664477] - [netdrv] bnxt_en: Do not modify max_stat_ctxs after RDMA driver requests/frees stat_ctxs (Selvin Xavier) [1664477] - [netdrv] bnxt_en: get rid of num_stat_ctxs variable (Selvin Xavier) [1664477] - [netdrv] bnxt_en: Add bnxt_get_avail_cp_rings_for_en() helper function. (Selvin Xavier) [1664477] - [netdrv] bnxt_en: Store the maximum NQs available on the PF. (Selvin Xavier) [1664477] - [netdrv] bnxt: remove printing of hwrm message (Selvin Xavier) [1664477] - [netdrv] bnxt_en: Fix _bnxt_get_max_rings() for 57500 chips. (Selvin Xavier) [1664477] - [netdrv] bnxt_en: Fix NQ/CP rings accounting on the new 57500 chips. (Selvin Xavier) [1664477] - [netdrv] bnxt_en: Keep track of reserved IRQs. (Selvin Xavier) [1664477] - [netdrv] bnxt_en: Fix CNP CoS queue regression. (Selvin Xavier) [1664477] - [netdrv] bnxt_en: Fix filling time in bnxt_fill_coredump_record() (Selvin Xavier) [1664477] - [netdrv] bnxt_en: Add software "missed_irqs" counter. (Selvin Xavier) [1664477] - [netdrv] bnxt_en: Workaround occasional TX timeout on 57500 A0. (Selvin Xavier) [1664477] - [netdrv] bnxt_en: Disable RDMA support on the 57500 chips. (Selvin Xavier) [1664477] - [netdrv] bnxt_en: Fix rx_l4_csum_errors counter on 57500 devices. (Selvin Xavier) [1664477] - [netdrv] bnxt_en: Fix RSS context allocation. (Selvin Xavier) [1664477] - [netdrv] bnxt_en: Copy and paste bug in extended tx_stats (Selvin Xavier) [1664477] - [netdrv] bnxt_en: Add PCI ID for BCM57508 device. (Selvin Xavier) [1664477] - [netdrv] bnxt_en: Add new NAPI poll function for 57500 chips. (Selvin Xavier) [1664477] - [netdrv] bnxt_en: Refactor bnxt_poll_work(). (Selvin Xavier) [1664477] - [netdrv] bnxt_en: Add coalescing setup for 57500 chips. (Selvin Xavier) [1664477] - [netdrv] bnxt_en: Use bnxt_cp_ring_info struct pointer as parameter for RX path. (Selvin Xavier) [1664477] - [netdrv] bnxt_en: Add RSS support for 57500 chips. (Selvin Xavier) [1664477] - [netdrv] bnxt_en: Increase RSS context array count and skip ring groups on 57500 chips. (Selvin Xavier) [1664477] - [netdrv] bnxt_en: Allocate/Free CP rings for 57500 series chips. (Selvin Xavier) [1664477] - [netdrv] bnxt_en: Modify bnxt_ring_alloc_send_msg() to support 57500 chips. (Selvin Xavier) [1664477] - [netdrv] bnxt_en: Add helper functions to get firmware CP ring ID. (Selvin Xavier) [1664477] - [netdrv] bnxt_en: Allocate completion ring structures for 57500 series chips. (Selvin Xavier) [1664477] - [netdrv] bnxt_en: Modify the ring reservation functions for 57500 series chips. (Selvin Xavier) [1664477] - [netdrv] bnxt_en: Adjust MSIX and ring groups for 57500 series chips. (Selvin Xavier) [1664477] - [netdrv] bnxt_en: Re-structure doorbells. (Selvin Xavier) [1664477] - [netdrv] bnxt_en: Add 57500 new chip ID and basic structures. (Selvin Xavier) [1664477] - [netdrv] bnxt_en: Configure context memory on new devices. (Selvin Xavier) [1664477] - [netdrv] bnxt_en: Check context memory requirements from firmware. (Selvin Xavier) [1664477] - [netdrv] bnxt_en: Add new flags to setup new page table PTE bits on newer devices. (Selvin Xavier) [1664477] - [netdrv] bnxt_en: Refactor bnxt_ring_struct. (Selvin Xavier) [1664477] - [netdrv] bnxt_en: Update interrupt coalescing logic. (Selvin Xavier) [1664477] - [netdrv] bnxt_en: Add maximum extended request length fw message support. (Selvin Xavier) [1664477] - [netdrv] bnxt_en: Add additional extended port statistics. (Selvin Xavier) [1664477] - [netdrv] bnxt_en: Update firmware interface spec. to 1.10.0.3. (Selvin Xavier) [1664477] - [netdrv] bnxt_en: Remove unnecessary unsigned integer comparison and initialize variable (Selvin Xavier) [1664477] - [netdrv] bnxt_en: get the reduced max_irqs by the ones used by RDMA (Selvin Xavier) [1664477] - [netdrv] bnxt_en: free hwrm resources, if driver probe fails. (Selvin Xavier) [1664477] - [netdrv] bnxt_en: Fix enables field in HWRM_QUEUE_COS2BW_CFG request (Selvin Xavier) [1664477] - [netdrv] bnxt_en: Fix VNIC reservations on the PF. (Selvin Xavier) [1664477] - [netdrv] bnxt_en: Add a driver specific gre_ver_check devlink parameter. (Selvin Xavier) [1664477] - [netdrv] bnxt_en: Use msix_vec_per_pf_max and msix_vec_per_pf_min devlink params. (Selvin Xavier) [1664477] - [netdrv] bnxt_en: return proper error when FW returns HWRM_ERR_CODE_RESOURCE_ACCESS_DENIED (Selvin Xavier) [1664477] - [netdrv] bnxt_en: Use ignore_ari devlink parameter (Selvin Xavier) [1664477] - [netdrv] bnxt_en: Fix TX timeout during netpoll. (Selvin Xavier) [1664477] - [netdrv] bnxt: remove ndo_poll_controller (Selvin Xavier) [1664477] - [netdrv] bnxt_en: don't try to offload VLAN 'modify' action (Selvin Xavier) [1664477] - [netdrv] bnxt_en: remove set but not used variable 'addr_type' (Selvin Xavier) [1664477] - [netdrv] bnxt_en: remove set but not used variable 'rx_stats' (Selvin Xavier) [1664477] - [netdrv] net: bnxt: Fix a uninitialized variable warning. (Selvin Xavier) [1664477] - [netdrv] bnxt_en: take coredump_record structure off stack (Selvin Xavier) [1664477] - [netdrv] bnxt_en: avoid string overflow for record->system_name (Selvin Xavier) [1664477] - [netdrv] bnxt_en: Fix strcpy() warnings in bnxt_ethtool.c (Selvin Xavier) [1664477] - [netdrv] bnxt_en: Do not use the CNP CoS queue for networking traffic. (Selvin Xavier) [1664477] - [netdrv] bnxt_en: Add DCBNL DSCP application protocol support. (Selvin Xavier) [1664477] - [netdrv] bnxt_en: Add hwmon sysfs support to read temperature (Selvin Xavier) [1664477] - [netdrv] bnxt_en: Notify firmware about IF state changes. (Selvin Xavier) [1664477] - [netdrv] bnxt_en: Move firmware related flags to a new fw_cap field in struct bnxt. (Selvin Xavier) [1664477] - [netdrv] bnxt_en: Add BNXT_NEW_RM() macro. (Selvin Xavier) [1664477] - [netdrv] bnxt_en: Add support for ethtool get dump. (Selvin Xavier) [1664477] - [netdrv] bnxt_en: Update RSS setup and GRO-HW logic according to the latest spec. (Selvin Xavier) [1664477] - [netdrv] bnxt_en: Add new VF resource allocation strategy mode. (Selvin Xavier) [1664477] - [netdrv] bnxt_en: Add PHY retry logic. (Selvin Xavier) [1664477] - [netdrv] bnxt_en: Add external loopback test to ethtool selftest. (Selvin Xavier) [1664477] - [netdrv] bnxt_en: Adjust timer based on ethtool stats-block-usecs settings. (Selvin Xavier) [1664477] - [netdrv] bnxt_en: Update firmware interface version to 1.9.2.25. (Selvin Xavier) [1664477] - [netdrv] bnxt_en: combine 'else if' and 'else' into single branch (Selvin Xavier) [1664477] - [netdrv] bnxt_en: remove redundant debug register dma mem allocation (Selvin Xavier) [1664477] - [netdrv] bnxt_en: Add bnxt_en initial params table and register it. (Selvin Xavier) [1664477] - [netdrv] sfc: mcdi_port: Mark expected switch fall-through (Jarod Wilson) [1685478] - [netdrv] sfc: ensure recovery after allocation failures (Jarod Wilson) [1685478] - [netdrv] sfc: Replace dev_kfree_skb_any by dev_consume_skb_any (Jarod Wilson) [1685478] - [netdrv] sfc: add bundle partition definitions to mtd (Jarod Wilson) [1685478] - [netdrv] sfc: Replace spin_is_locked() with lockdep (Jarod Wilson) [1685478] - [netdrv] sfc: remove ndo_poll_controller (Jarod Wilson) [1685478] - [iommu] iommu/amd: Set exclusion range correctly (Jerry Snitselaar) [1702766] - [iommu] iommu/amd: Reserve exclusion range in iova-domain (Jerry Snitselaar) [1694835] - [scsi] scsi: mpt3sas: Fix kernel panic during expander reset (Tomas Henzl) [1677693] - [mm] mm/vmstat.c: fix /proc/vmstat format for CONFIG_DEBUG_TLBFLUSH=y CONFIG_SMP=n (Waiman Long) [1705607] - [mm] x86/mm: Drop usage of __flush_tlb_all() in kernel_physical_mapping_init() (Waiman Long) [1705607] - [include] x86/mm: Validate kernel_physical_mapping_init() PTE population (Waiman Long) [1705607] - [include] generic/pgtable: Introduce set_pte_safe() (Waiman Long) [1705607] - [include] generic/pgtable: Introduce {p4d,pgd}_same() (Waiman Long) [1705607] - [include] generic/pgtable: Make {pmd, pud}_same() unconditionally available (Waiman Long) [1705607] - [mm] percpu: stop printing kernel addresses (Waiman Long) [1705607] - [x86] x86/speculation: Prevent deadlock on ssb_state::lock (Waiman Long) [1705607] - [fs] debugfs: fix use-after-free on symlink traversal (Waiman Long) [1705607] - [lib] debugobjects: avoid recursive calls with kmemleak (Waiman Long) [1705607] - [mm] mm/swapfile.c: use kvzalloc for swap_info_struct allocation (Waiman Long) [1705607] - [mm] hugetlbfs: fix kernel BUG at fs/hugetlbfs/inode.c:444! (Waiman Long) [1705607] - [include] watchdog/core: Add missing prototypes for weak functions (Waiman Long) [1705607] - [mm] memory_hotplug: cond_resched in __remove_pages (Waiman Long) [1705607] - [kernel] genirq: Fix race on spurious interrupt detection (Waiman Long) [1705607] - [kernel] printk: Fix panic caused by passing log_buf_len to command line (Waiman Long) [1705607] - [mm] mm/hmm: fix race between hmm_mirror_unregister() and mmu_notifier callback (Waiman Long) [1705607] - [mm] mm/rmap: map_pte() was not handling private ZONE_DEVICE page properly (Waiman Long) [1705607] - [mm] hugetlbfs: dirty pages as they are added to pagecache (Waiman Long) [1705607] - [fs] mm: /proc/pid/smaps_rollup: fix NULL pointer deref in smaps_pte_range() (Waiman Long) [1705607] - [kernel] sched/fair: Fix the min_vruntime update logic in dequeue_entity() (Waiman Long) [1705607] - [mm] x86/mm/pat: Disable preemption around __flush_tlb_all() (Waiman Long) [1705607] - [x86] x86/corruption-check: Fix panic in memory_corruption_check() when boot option without value is provided (Waiman Long) [1705607] - [x86] x86/time: Correct the attribute on jiffies' definition (Waiman Long) [1705607] - [x86] x86/percpu: Fix this_cpu_read() (Waiman Long) [1705607] - [x86] x86/tsc: Force inlining of cyc2ns bits (Waiman Long) [1705607] - [mm] mm/migrate.c: split only transparent huge pages when allocation fails (Waiman Long) [1705607] - [mm] mm/thp: fix call to mmu_notifier in set_pmd_migration_entry() v2 (Waiman Long) [1705607] - [mm] mm/mmap.c: don't clobber partially overlapping VMA with MAP_FIXED_NOREPLACE (Waiman Long) [1705607] - [mm] percpu: stop leaking bitmap metadata blocks (Waiman Long) [1705607] - [lib] vsprintf: Fix off-by-one bug in bstr_printf() processing dereferenced pointers (Waiman Long) [1705607] - [mm] mm/vmstat.c: fix outdated vmstat_text (Waiman Long) [1705607] - [base] PM / core: Clear the direct_complete flag on errors (Waiman Long) [1705607] - [tools] x86/vdso: Fix vDSO syscall fallback asm constraint regression (Waiman Long) [1705607] - [x86] x86/vdso: Only enable vDSO retpolines when enabled and supported (Waiman Long) [1705607] - [tools] selftests/x86: Add clock_gettime() tests to test_vdso (Waiman Long) [1705607] - [x86] x86/vdso: Fix asm constraints on vDSO syscall fallbacks (Waiman Long) [1705607] - [drivers] clocksource/drivers/timer-atmel-pit: Properly handle error cases (Waiman Long) [1705607] - [mm] mm/vmstat.c: skip NR_TLB_REMOTE_FLUSH* properly (Waiman Long) [1705607] - [mm] mm, thp: fix mlocking THP page with migration enabled (Waiman Long) [1705607] - [mm] mm: migration: fix migration of huge PMD shared pages (Waiman Long) [1705607] - [net] net/smc: improve smc_conn_create reason codes (Philipp Rudo) [1703471] - [net] net/smc: improve smc_listen_work reason codes (Philipp Rudo) [1703471] - [net] net/smc: code cleanup smc_listen_work (Philipp Rudo) [1703471] - [net] net/smc: cleanup of get vlan id (Philipp Rudo) [1703471] - [net] net/smc: consolidate function parameters (Philipp Rudo) [1703471] - [net] net/smc: check for ip prefix and subnet (Philipp Rudo) [1703471] - [net] net/smc: fallback to TCP after connect problems (Philipp Rudo) [1703471] - [net] net/smc: nonblocking connect rework (Philipp Rudo) [1703471] - [net] net/smc: move unhash before release of clcsock (Philipp Rudo) [1703471] - [net] net/smc: fix return code from FLUSH command (Philipp Rudo) [1703471] - [net] net/smc: propagate file from SMC to TCP socket (Philipp Rudo) [1703471] - [net] net/smc: fix a NULL pointer dereference (Philipp Rudo) [1703471] - [net] net/smc: wait for pending work before clcsock release_sock (Philipp Rudo) [1703471] - [net] net/smc: allow pnetid-less configuration (Philipp Rudo) [1700797] - [net] net/smc: allow PCI IDs as ib device names in the pnet table (Philipp Rudo) [1700797] - [net] net/smc: add pnet table namespace support (Philipp Rudo) [1700797] - [net] net/smc: add smcd support to the pnet table (Philipp Rudo) [1700797] - [net] net/smc: rework pnet table (Philipp Rudo) [1700797] - [net] net/smc: cleanup for smcr_tx_sndbuf_nonempty (Philipp Rudo) [1700797]- [tools] tools power turbostat: Override CFLAGS assignments and add LDFLAGS to build command (Steve Best) [1705959] - [tools] tools/power turbostat: update version number (Steve Best) [1705959] - [tools] tools/power turbostat: Add checks for failure of fgets() and fscanf() (Steve Best) [1705959] - [tools] tools/power turbostat: Warn on bad ACPI LPIT data (Steve Best) [1705959] - [tools] tools/power turbostat: Also read package power on AMD F17h (Zen) (Steve Best) [1705959] - [tools] tools/power turbostat: Add support for AMD Fam 17h (Zen) RAPL (Steve Best) [1705959] - [tools] tools/power turbostat: Do not display an error on systems without a cpufreq driver (Steve Best) [1705959] - [tools] tools/power turbostat: Add Die column (Steve Best) [1705959] - [tools] tools/power turbostat: Cleanup CNL-specific code (Steve Best) [1705959] - [tools] tools/power turbostat: Cleanup CC3-skip code (Steve Best) [1705959] - [tools] tools/power turbostat: Restore ability to execute in topology-order (Steve Best) [1705959] - [tools] tools/power turbostat: fix goldmont C-state limit decoding (Steve Best) [1705959] - [tools] tools/power turbostat: reduce debug output (Steve Best) [1705959] - [tools] tools/power turbosat: fix AMD APIC-id output (Steve Best) [1705959] - [mmc] mmc: sdhci-iproc: Add ACPI support (Mark Langsdorf) [1576966] - [mmc] mmc: sdhci-pltfm: Convert DT properties to generic device properties (Mark Langsdorf) [1576966] - [tty] serial: 8250_dw: Add ACPI support for uart on Broadcom SoC (Mark Langsdorf) [1576966] - [watchdog] watchdog: sp805: Add clock-frequency property (Mark Langsdorf) [1576966] - [watchdog] watchdog: sp805: set WDOG_HW_RUNNING when appropriate (Mark Langsdorf) [1576966] - [thermal] thermal: broadcom: Add Stingray thermal driver (Mark Langsdorf) [1576966] - [hv] hv: vmbus: Change server monitor_pages index to 0 (Mohammed Gamal) [1691383] - [kernel] hv: vmbus: Expose counters for interrupts and full conditions (Mohammed Gamal) [1691383] - [kernel] vmbus: Switch to use new generic UUID API (Mohammed Gamal) [1691383] - [hv] hv: vmbus: Check for ring when getting debug info (Mohammed Gamal) [1691383] - [x86] hyper-v: move synic/stimer control structures definitions to hyperv-tlfs.h (Mohammed Gamal) [1691383] - [hv] hv: vmbus: Return -EINVAL for the sys files for unopened channels (Mohammed Gamal) [1691383] - [hv] x86, hyperv: remove PCI dependency (Mohammed Gamal) [1691383] - [hv] hv: vmbus: Offload the handling of channels to two workqueues (Mohammed Gamal) [1691383] - [hv] hv: vmbus: check the creation_status in vmbus_establish_gpadl() (Mohammed Gamal) [1691383] - [hv] hv: vmbus: Remove the useless API vmbus_get_outgoing_channel() (Mohammed Gamal) [1691383] - [hv] hv: kvp: Use u to print U32 (Mohammed Gamal) [1691383] - [hv] hv_utils: update name in struct hv_driver util_drv (Mohammed Gamal) [1691383] - [hv] hv: vmbus: Get rid of unnecessary state in hv_context (Mohammed Gamal) [1691383] - [hv] hv: kvp: Fix the recent regression caused by incorrect clean-up (Mohammed Gamal) [1691383] - [hv] hv_balloon: Replace spin_is_locked() with lockdep (Mohammed Gamal) [1691383] - [hv] hv: vmbus: Use cpumask_var_t for on-stack cpu mask (Mohammed Gamal) [1691383] - [hv] hv: kvp: Fix two "this statement may fall through" warnings (Mohammed Gamal) [1691383] - [hv] hv: kvp: Fix the indentation of some "break" statements (Mohammed Gamal) [1691383] - [hv] hv: vmbus: Fix the descriptions of some function parameters (Mohammed Gamal) [1691383] - [hv] hv: vmbus: Use get/put_cpu() in vmbus_connect() (Mohammed Gamal) [1691383] - [hv] hv: vmbus: Fix synic per-cpu context initialization (Mohammed Gamal) [1691383] - [hv] hv: vmbus: Cleanup synic memory free path (Mohammed Gamal) [1691383] - [hv] hv: vmbus: Remove use of slow_virt_to_phys() (Mohammed Gamal) [1691383] - [hv] hv: vmbus: add numa_node to sysfs (Mohammed Gamal) [1691383] - [x86] hv: vmbus: Get rid of MSR access from vmbus_drv.c (Mohammed Gamal) [1691383] - [hv] hv: vmbus: Fix the issue with freeing up hv_ctl_table_hdr (Mohammed Gamal) [1691383] - [hv] hv: vmus: Fix the check for return value from kmsg get dump buffer (Mohammed Gamal) [1691383] - [hv] hv: Send one page worth of kmsg dump over Hyper-V during panic (Mohammed Gamal) [1691383] - [hv] hv: vmbus: Remove x86 MSR refs in arch independent code (Mohammed Gamal) [1691383] - [hv] hv: vmbus: Fix the offer_in_progress in vmbus_process_offer() (Mohammed Gamal) [1691383] - [hv] hv: vmbus: Add comments on ring buffer signaling (Mohammed Gamal) [1691383] - [video] use the new async probing feature for the hyperv drivers (Mohammed Gamal) [1691383] - [rpmspec] kernel-packaging: Remove kernel files from kernel-modules-extra package (Prarit Bhargava) [1705216] - [fs] xfs: don't ever put nlink > 0 inodes on the unlinked list (Brian Foster) [1693063] - [fs] xfs: reserve blocks for ifree transaction during log recovery (Brian Foster) [1693063] - [fs] xfs: rename m_inotbt_nores to m_finobt_nores (Brian Foster) [1693063] - [net] xfrm: Honor original L3 slave device in xfrmi policy lookup (Herbert Xu) [1702198] - [net] xfrm: Fix inbound traffic via XFRM interfaces across network namespaces (Herbert Xu) [1702198] - [net] xfrm: Make set-mark default behavior backward compatible (Herbert Xu) [1702198] - [net] xfrm: remove unnecessary check in xfrmi_get_stats64 (Herbert Xu) [1702198] - [net] xfrm: fix gro_cells leak when remove virtual xfrm interfaces (Herbert Xu) [1702198] - [net] xfrm: Make function xfrmi_get_link_net() static (Herbert Xu) [1702198] - [net] xfrm: fix ptr_ret.cocci warnings (Herbert Xu) [1702198] - [net] xfrm: Return detailed errors from xfrmi_newlink (Herbert Xu) [1702198] - [net] xfrm: Allow xfrmi if_id to be updated by UPDSA (Herbert Xu) [1702198] - [net] xfrm: Remove xfrmi interface ID from flowi (Herbert Xu) [1702198] - [net] xfrm: Allow Set Mark to be Updated Using UPDSA (Herbert Xu) [1702198] - [net] xfrm: Add virtual xfrm interfaces (Herbert Xu) [1702198] - [net] xfrm: Add a new lookup key to match xfrm interfaces. (Herbert Xu) [1702198] - [net] flow: Extend flow informations with xfrm interface id. (Herbert Xu) [1702198] - [net] xfrm: Extend the output_mark to support input direction and masking. (Herbert Xu) [1702198] - [fs] xfs: don't account extra agfl blocks as available (Brian Foster) [1656687] - [scsi] scsi: hisi_sas: Some misc tidy-up (Xiaojun Tan) [1702614] - [scsi] scsi: hisi_sas: Don't fail IT nexus reset for Open Reject timeout (Xiaojun Tan) [1702614] - [scsi] scsi: hisi_sas: Don't hard reset disk during controller reset (Xiaojun Tan) [1702614] - [scsi] scsi: hisi_sas: Support all RAS events with MSI interrupts (Xiaojun Tan) [1702614] - [scsi] scsi: hisi_sas: allocate different SAS address for directly attached situation (Xiaojun Tan) [1702614] - [scsi] scsi: hisi_sas: Adjust the printk format of functions hisi_sas_init_device() (Xiaojun Tan) [1702614] - [scsi] scsi: hisi_sas: Fix for setting the PHY linkrate when disconnected (Xiaojun Tan) [1702614] - [scsi] scsi: hisi_sas: Remedy inconsistent PHY down state in software (Xiaojun Tan) [1702614] - [scsi] scsi: hisi_sas: add host reset interface for test (Xiaojun Tan) [1702614] - [hid] HID: Increase maximum report size allowed by hid_field_extract() (Tony Camuso) [1688112] - [hid] HID: intel-ish-hid: remove data[128] usage on stack when sending HBM request (Tony Camuso) [1688112] - [hid] HID: intel-ish-hid: move doorbell writing before flush (Tony Camuso) [1688112] - [hid] HID: intel-ish-hid: Optimize writing ipc message from queue (Tony Camuso) [1688112] - [hid] HID: intel-ish-hid: avoid binding wrong ishtp_cl_device (Tony Camuso) [1688112] - [hid] HID: intel-ish-hid: Enable Ice Lake mobile (Tony Camuso) [1688112] - [hid] HID: increase maximum global item tag report size to 256 (Tony Camuso) [1688112] - [hid] HID: intel-ish-hid: Enable Sunrise Point-H ish driver (Tony Camuso) [1688112] - [hid] HID: intel-ish-hid: remove redundant variable num_frags (Tony Camuso) [1688112]- [s390] Disable kexec_load via kernel_lockdown for s390 (Philipp Rudo) [1659399] - [s390] s390/ipl: Provide has_secure sysfs attribute (Philipp Rudo) [1659399] - [s390] s390/kexec_file: Create ipl report and pass to next kernel (Philipp Rudo) [1659399] - [s390] s390/kexec_file: Signature verification prototype (Philipp Rudo) [1659399] - [s390] s390/kexec_file: Load new kernel to absolute 0 (Philipp Rudo) [1659399] - [s390] s390/kexec_file: Unify loader code (Philipp Rudo) [1659399] - [s390] s390/kexec_file: Simplify parmarea access (Philipp Rudo) [1659399] - [s390] s390/purgatory: Omit use of bin2c (Philipp Rudo) [1659399] - [s390] s390/purgatory: Reduce purgatory size (Philipp Rudo) [1659399] - [s390] s390/kexec_file: Fix detection of text segment in ELF loader (Philipp Rudo) [1659399] - [s390] s390/kexec_file: Fix potential segment overlap in ELF loader (Philipp Rudo) [1659399] - [s390] s390/zcore: Rename ipl_block to mitigate name collision (Philipp Rudo) [1659399] - [s390] s390/boot: pad bzImage to 4K (Philipp Rudo) [1659399] - [s390] s390/ipl: add helper functions to create an IPL report (Philipp Rudo) [1659399] - [s390] s390/ipl: read IPL report at early boot (Philipp Rudo) [1659399] - [s390] s390/ipl: add definitions for the IPL report block (Philipp Rudo) [1659399] - [s390] s390/ipl: provide uapi header for list directed IPL (Philipp Rudo) [1659399] - [s390] s390/ipl: make ipl_info less confusing (Philipp Rudo) [1659399] - [s390] s390: introduce .boot.preserved.data section compile time validation (Philipp Rudo) [1659399] - [s390] s390: move ipl block to .boot.preserved.data section (Philipp Rudo) [1659399] - [s390] s390: introduce .boot.preserved.data section (Philipp Rudo) [1659399] - [mm] s390: clean up redundant facilities list setup (Philipp Rudo) [1659399] - [s390] s390/als: remove duplicated in-place implementation of stfle (Philipp Rudo) [1659399] - [netdrv] fm10k: Fix a potential NULL pointer dereference (Neil Horman) [1659172] - [netdrv] fm10k: use struct_size() in kzalloc() (Neil Horman) [1659172] - [netdrv] fm10k: TRIVIAL cleanup of extra spacing in function comment (Neil Horman) [1659172] - [netdrv] ethernet/intel: consolidate NAPI and NAPI exit (Neil Horman) [1659172] - [netdrv] fm10k: bump driver version to match out-of-tree release (Neil Horman) [1659172] - [netdrv] fm10k: add missing device IDs to the upstream driver (Neil Horman) [1659172] - [netdrv] fm10k: ensure completer aborts are marked as non-fatal after a resume (Neil Horman) [1659172] - [netdrv] fm10k: fix SM mailbox full condition (Neil Horman) [1659172] - [netdrv] fm10k: remove ndo_poll_controller (Neil Horman) [1659172] - [netdrv] intel-ethernet: use correct module license (Neil Horman) [1659172] - [scsi] Revert "scsi: fcoe: clear FC_RP_STARTED flags when receiving a LOGO" (Nilesh Javali) [1701545] - [tools] tools: introduce test_and_clear_bit (Peter Xu) [1694926] - [net] bridge: fix netlink export of vlan_stats_per_port option (Ivan Vecera) [1703551] - [net] bridge: fix vlan stats use-after-free on destruction (Ivan Vecera) [1703551] - [tools] headers uapi: Update linux/if_link.h header copy (Ivan Vecera) [1703551] - [net] bridge: fix a possible memory leak in __vlan_add (Ivan Vecera) [1703551] - [net] bridge: add support for per-port vlan stats (Ivan Vecera) [1703551] - [net] bridge: mcast: Default back to multicast enabled state (Ivan Vecera) [1703551] - [net] bridge: pack net_bridge better (Ivan Vecera) [1703551] - [net] bridge: convert mtu_set_by_user to a bit (Ivan Vecera) [1703551] - [net] bridge: convert neigh_suppress_enabled option to a bit (Ivan Vecera) [1703551] - [net] bridge: convert mcast options to bits (Ivan Vecera) [1703551] - [net] bridge: convert and rename mcast disabled (Ivan Vecera) [1703551] - [net] bridge: convert group_addr_set option to a bit (Ivan Vecera) [1703551] - [net] bridge: convert nf call options to bits (Ivan Vecera) [1703551] - [net] bridge: add bitfield for options and convert vlan opts (Ivan Vecera) [1703551] - [net] bridge: make struct opening bracket consistent (Ivan Vecera) [1703551] - [net] Add netif_is_gretap()/netif_is_ip6gretap() (Ivan Vecera) [1701208] - [net] sched: register callbacks for indirect tc block binds (Ivan Vecera) [1701214] - [tools] selftests: tc-testing: fix tunnel_key failure if dst_port is unspecified (Ivan Vecera) [1701210] - [tools] selftests: tc-testing: drop test on missing tunnel key id (Ivan Vecera) [1701210] - [net] sched: act_tunnel_key: Don't dump dst port if it wasn't set (Ivan Vecera) [1701210] - [net] sched: act_tunnel_key: Allow key-less tunnels (Ivan Vecera) [1701210] - [net] ethtool: Added support for 50Gbps per lane link modes (Ivan Vecera) [1701215] - [net] ip_gre: fix parsing gre header in ipgre_err (Hangbin Liu) [1702212] - [net] vxlan: Free a leaked vetoed multicast rdst (Ivan Vecera) [1691695] - [net] switchdev: Add extack argument to call_switchdev_notifiers() (Ivan Vecera) [1691695] - [netdrv] vxlan: Add extack to switchdev operations (Ivan Vecera) [1691695] - [net] net: Add extack argument to ndo_fdb_add() (Ivan Vecera) [1691695] - [netdrv] vxlan: changelink: Delete remote after update (Ivan Vecera) [1691695] - [netdrv] vxlan: changelink: Postpone vxlan_config_apply() (Ivan Vecera) [1691695] - [netdrv] vxlan: changelink: Inline vxlan_dev_configure() (Ivan Vecera) [1691695] - [netdrv] vxlan: Allow vetoing of FDB notifications (Ivan Vecera) [1691695] - [netdrv] vxlan: Have vxlan_fdb_replace() save original rdst value (Ivan Vecera) [1691695] - [netdrv] vxlan: Split vxlan_fdb_update() in two (Ivan Vecera) [1691695] - [netdrv] vxlan: Move up vxlan_fdb_free(), vxlan_fdb_destroy() (Ivan Vecera) [1691695] - [net] bridge: Add br_fdb_clear_offload() (Ivan Vecera) [1691695] - [netdrv] vxlan: Add vxlan_fdb_clear_offload() (Ivan Vecera) [1691695] - [netdrv] vxlan: Add vxlan_fdb_replay() (Ivan Vecera) [1691695] - [net] route: add support for directed broadcast forwarding (Xin Long) [1562384] - [net] erspan: build the header with the right proto according to erspan_ver (Xin Long) [1663862] - [net] ipv6: make ip6_create_rt_rcu return ip6_null_entry instead of NULL (Xin Long) [1688617] - [net] tipc: handle the err returned from cmd header function (Jon Maloy) [1693452] - [net] tipc: check link name with right length in tipc_nl_compat_link_set (Jon Maloy) [1693452] - [net] tipc: check bearer name with right length in tipc_nl_compat_bearer_enable (Jon Maloy) [1693452] - [net] tipc: change to check tipc_own_id to return in tipc_net_stop (Jon Maloy) [1693452] - [net] tipc: tipc clang warning (Jon Maloy) [1693452] - [net] tipc: fix cancellation of topology subscriptions (Jon Maloy) [1693452] - [net] tipc: allow service ranges to be connect()'ed on RDM/DGRAM (Jon Maloy) [1693452] - [net] net: tipc: fix a missing check for nla_nest_start (Jon Maloy) [1693452] - [net] net: tipc: fix a missing check of nla_nest_start (Jon Maloy) [1693452] - [net] tipc: fix RDM/DGRAM connect() regression (Jon Maloy) [1693452] - [net] tipc: fix race condition causing hung sendto (Jon Maloy) [1693452] - [net] tipc: improve function tipc_wait_for_rcvmsg() (Jon Maloy) [1693452] - [net] tipc: improve function tipc_wait_for_cond() (Jon Maloy) [1693452] - [net] tipc: fix link session and re-establish issues (Jon Maloy) [1693452] - [net] tipc: fix skb may be leaky in tipc_link_input (Jon Maloy) [1693452] - [net] tipc: remove dead code in struct tipc_topsrv (Jon Maloy) [1693452] - [net] tipc: mark expected switch fall-throughs (Jon Maloy) [1693452] - [net] tipc: remove unneeded semicolon in trace.c (Jon Maloy) [1693452] - [net] tipc: fix uninit-value in tipc_nl_compat_doit (Jon Maloy) [1693452] - [net] tipc: fix uninit-value in tipc_nl_compat_name_table_dump (Jon Maloy) [1693452] - [net] tipc: fix uninit-value in tipc_nl_compat_link_set (Jon Maloy) [1693452] - [net] tipc: fix uninit-value in tipc_nl_compat_bearer_enable (Jon Maloy) [1693452] - [net] tipc: fix uninit-value in tipc_nl_compat_link_reset_stats (Jon Maloy) [1693452] - [net] tipc: fix uninit-value in in tipc_conn_rcv_sub (Jon Maloy) [1693452] - [net] tipc: fix memory leak in tipc_nl_compat_publ_dump (Jon Maloy) [1693452] - [net] tipc: fix a missing check of genlmsg_put (Jon Maloy) [1693452] - [net] tipc: fix a double free in tipc_enable_bearer() (Jon Maloy) [1693452] - [net] net/netlink_compat: Fix a missing check of nla_parse_nested (Jon Maloy) [1693452] - [net] tipc: fix uninitialized value for broadcast retransmission (Jon Maloy) [1693452] - [net] tipc: add trace_events for tipc bearer (Jon Maloy) [1693452] - [net] tipc: add trace_events for tipc node (Jon Maloy) [1693452] - [net] tipc: add trace_events for tipc socket (Jon Maloy) [1693452] - [net] tipc: add trace_events for tipc link (Jon Maloy) [1693452] - [net] tipc: enable tracepoints in tipc (Jon Maloy) [1693452] - [net] tipc: handle broadcast NAME_DISTRIBUTOR packet when receiving it (Jon Maloy) [1693452] - [net] tipc: check group dests after tipc_wait_for_cond() (Jon Maloy) [1693452] - [net] tipc: check tsk->group in tipc_wait_for_cond() (Jon Maloy) [1693452] - [net] tipc: compare remote and local protocols in tipc_udp_enable() (Jon Maloy) [1693452] - [net] tipc: use lock_sock() in tipc_sk_reinit() (Jon Maloy) [1693452] - [net] tipc: fix node keep alive interval calculation (Jon Maloy) [1693452] - [net] tipc: fix lockdep warning during node delete (Jon Maloy) [1693452] - [net] tipc: don't assume linear buffer when reading ancillary data (Jon Maloy) [1693452] - [net] tipc: fix lockdep warning when reinitilaizing sockets (Jon Maloy) [1693452] - [net] tipc: fix link re-establish failure (Jon Maloy) [1693452] - [net] tipc: improve broadcast retransmission algorithm (Jon Maloy) [1693452] - [net] tipc: use destination length for copy string (Jon Maloy) [1693452] - [net] tipc: support binding to specific ip address when activating UDP bearer (Jon Maloy) [1677371 1693452] - [net] tipc: remainder of commit ignore STATE_MSG on wrong link session (Jon Maloy) [1693452] - [net] tipc: buffer overflow handling in listener socket (Jon Maloy) [1693452] - [net] tipc: add SYN bit to connection setup messages (Jon Maloy) [1693452] - [net] tipc: refactor function tipc_sk_filter_connect() (Jon Maloy) [1693452] - [net] tipc: refactor function tipc_sk_timeout() (Jon Maloy) [1693452] - [net] tipc: refactor function tipc_msg_reverse() (Jon Maloy) [1693452] - [net] tipc: Add and use skb_mark_not_on_list(). (Jon Maloy) [1693452] - [net] tipc: correct spelling errors for tipc_topsrv_queue_evt() comments (Jon Maloy) [1693452] - [net] tipc: correct spelling errors for struct tipc_bc_base's comment (Jon Maloy) [1693452] - [net] tipc: correct structure parameter comments for topsrv (Jon Maloy) [1693452] - [net] net/tipc: remove redundant variables 'tn' and 'oport' (Jon Maloy) [1693452] - [net] net: tipc: bcast: Replace GFP_ATOMIC with GFP_KERNEL in tipc_bcast_init() (Jon Maloy) [1693452] - [net] net: tipc: name_table: Replace GFP_ATOMIC with GFP_KERNEL in tipc_nametbl_init() (Jon Maloy) [1693452] - [net] tipc: make some functions static (Jon Maloy) [1693452] - [net] tipc: make link capability update thread safe (Jon Maloy) [1693452] - [net] tipc: remove unused tipc_group_size (Jon Maloy) [1693452] - [net] tipc: remove unused tipc_link_is_active (Jon Maloy) [1693452] - [net] tipc: check session number before accepting link protocol messages (Jon Maloy) [1693452] - [net] tipc: add sequence number check for link STATE messages (Jon Maloy) [1693452] - [net] tipc: mark expected switch fall-throughs (Jon Maloy) [1693452] - [net] tipc: extend sock diag for group communication (Jon Maloy) [1693452] - [net] tipc: Auto removal of peer down node instance (Jon Maloy) [1693452] - [net] tipc: optimize function tipc_node_timeout() (Jon Maloy) [1693452] - [net] tipc: eliminate buffer cloning in function tipc_msg_extract() (Jon Maloy) [1693452] - [net] netfilter: nf_conncount: fix argument order to find_next_bit (Florian Westphal) [1531074] - [net] netfilter: nf_conncount: speculative garbage collection on empty lists (Florian Westphal) [1531074] - [net] netfilter: nf_conncount: move all list iterations under spinlock (Florian Westphal) [1531074] - [net] netfilter: nf_conncount: merge lookup and add functions (Florian Westphal) [1531074] - [net] netfilter: nf_conncount: restart search when nodes have been erased (Florian Westphal) [1531074] - [net] netfilter: nf_conncount: split gc in two phases (Florian Westphal) [1531074] - [net] netfilter: nf_conncount: don't skip eviction when age is negative (Florian Westphal) [1531074] - [net] netfilter: nf_conncount: replace CONNCOUNT_LOCK_SLOTS with CONNCOUNT_SLOTS (Florian Westphal) [1531074] - [net] netfilter: nf_conncount: use rb_link_node_rcu() instead of rb_link_node() (Florian Westphal) [1531074] - [net] netfilter: nf_conncount: remove wrong condition check routine (Florian Westphal) [1531074] - [net] netfilter: nf_conncount: fix unexpected permanent node of list. (Florian Westphal) [1531074] - [net] netfilter: nf_conncount: fix list_del corruption in conn_free (Florian Westphal) [1531074] - [net] netfilter: nf_conncount: use spin_lock_bh instead of spin_lock (Florian Westphal) [1531074] - [net] netfilter: nf_conncount: Add list lock and gc worker, and RCU for init tree search (Florian Westphal) [1531074] - [net] netfilter: nf_conncount: Split insert and traversal (Florian Westphal) [1531074] - [net] netfilter: nf_conncount: Move locking into count_tree() (Florian Westphal) [1531074] - [net] netfilter: nf_conncount: Early exit in nf_conncount_lookup() and cleanup (Florian Westphal) [1531074] - [net] netfilter: nf_conncount: Switch to plain list (Florian Westphal) [1531074] - [net] netfilter: nf_conncount: Early exit for garbage collection (Florian Westphal) [1531074] - [net] ptp: uapi: change _IOW to IOWR in PTP_SYS_OFFSET_EXTENDED definition (Hangbin Liu) [1677215] - [net] ptp: check that rsv field is zero in struct ptp_sys_offset_extended (Hangbin Liu) [1677215] - [net] ptp: deprecate gettime64() in favor of gettimex64() (Hangbin Liu) [1677215] - [net] ptp: add PTP_SYS_OFFSET_EXTENDED ioctl (Hangbin Liu) [1677215] - [net] ptp: check gettime64 return code in PTP_SYS_OFFSET ioctl (Hangbin Liu) [1677215] - [net] ptp: reorder declarations in ptp_ioctl() (Hangbin Liu) [1677215] - [net] tuntap: fix multiqueue rx (Guillaume Nault) [1686563]- [edac] EDAC/amd64: Add Family 17h Model 30h PCI IDs (Aristeu Rozanski) [1696603] - [x86] Update stepping values for coffee lake desktop (David Arcari) [1704800] - [security] KEYS: trusted: allow trusted.ko to initialize w/o a TPM (Jerry Snitselaar) [1694208] - [security] tpm: pass an array of tpm_extend_digest structures to tpm_pcr_extend() (Jerry Snitselaar) [1665130 1665129] - [security] KEYS: trusted: explicitly use tpm_chip structure from tpm_default_chip() (Jerry Snitselaar) [1665130 1665129] - [char] tpm/ppi: Enable submission of optional command parameter for PPI 1.3 (Jerry Snitselaar) [1665130] - [char] tpm/ppi: Possibly show command parameter if TPM PPI 1.3 is used (Jerry Snitselaar) [1665130] - [char] tpm/ppi: Display up to 101 operations as define for version 1.3 (Jerry Snitselaar) [1665130] - [char] tpm/ppi: rename TPM_PPI_REVISION_ID to TPM_PPI_REVISION_ID_1 (Jerry Snitselaar) [1665130] - [char] tpm/ppi: pass function revision ID to tpm_eval_dsm() (Jerry Snitselaar) [1665130] - [char] tpm: Fix the type of the return value in calc_tpm2_event_size() (Jerry Snitselaar) [1694208 1665129] - [char] tpm: fix an invalid condition in tpm_common_poll (Jerry Snitselaar) [1694208] - [char] tpm: turn on TPM on suspend for TPM 1.x (Jerry Snitselaar) [1694208 1665130] - [char] tpm: move tpm_chip definition to include/linux/tpm.h (Jerry Snitselaar) [1665129] - [char] tpm: retrieve digest size of unknown algorithms with PCR read (Jerry Snitselaar) [1665130 1665129] - [char] tpm: rename and export tpm2_digest and tpm2_algorithms (Jerry Snitselaar) [1665130 1665129] - [char] tpm: dynamically allocate the allocated_banks array (Jerry Snitselaar) [1665130 1665129] - [char] tpm: remove @flags from tpm_transmit() (Jerry Snitselaar) [1665130 1665129] - [char] tpm: take TPM chip power gating out of tpm_transmit() (Jerry Snitselaar) [1665130 1665129] - [char] tpm: introduce tpm_chip_start() and tpm_chip_stop() (Jerry Snitselaar) [1665130 1665129] - [char] tpm: remove TPM_TRANSMIT_UNLOCKED flag (Jerry Snitselaar) [1665130 1665129] - [char] tpm: use tpm_try_get_ops() in tpm-sysfs.c. (Jerry Snitselaar) [1665130] - [char] tpm: remove @space from tpm_transmit() (Jerry Snitselaar) [1665130 1665129] - [char] tpm: move TPM space code out of tpm_transmit() (Jerry Snitselaar) [1665130 1665129] - [char] tpm: move tpm_validate_commmand() to tpm2-space.c (Jerry Snitselaar) [1665130 1665129] - [char] tpm: clean up tpm_try_transmit() error handling flow (Jerry Snitselaar) [1665130 1665129] - [char] tpm: encapsulate tpm_dev_transmit() (Jerry Snitselaar) [1665130 1665129] - [char] tpm: access command header through struct in tpm_try_transmit() (Jerry Snitselaar) [1665130 1665129] - [char] tpm: declare struct tpm_header (Jerry Snitselaar) [1665130 1665129] - [char] tpm: print tpm2_commit_space() error inside tpm2_commit_space() (Jerry Snitselaar) [1665129] - [char] tpm: return 0 from pcrs_show() when tpm1_pcr_read() fails (Jerry Snitselaar) [1665130] - [char] tpm: fix invalid return value in pubek_show() (Jerry Snitselaar) [1694208 1665130] - [char] tpm: use tpm_buf in tpm_transmit_cmd() as the IO parameter (Jerry Snitselaar) [1665130 1665129] - [char] tpm: don't return bool from update_timeouts (Jerry Snitselaar) [1665130] - [char] tpm: don't print error message in tpm_transmit_cmd when tpm still testing (Jerry Snitselaar) [1665129] - [char] tpm: add _head suffix to tcg_efi_specid_event and tcg_pcr_event2 (Jerry Snitselaar) [1665129] - [char] tpm: Fix off-by-one when reading binary_bios_measurements (Jerry Snitselaar) [1694208 1665130] - [char] tpm: Simplify the measurements loop (Jerry Snitselaar) [1665130] - [char] tpm/tpm_i2c_atmel: Return -E2BIG when the transfer is incomplete (Jerry Snitselaar) [1694208] - [char] tpm: Unify the send callback behaviour (Jerry Snitselaar) [1665129] - [char] tpm: Fix some name collisions with drivers/char/tpm.h (Jerry Snitselaar) [1694208] - [char] tpm/tpm_crb: Avoid unaligned reads in crb_recv() (Jerry Snitselaar) [1694208 1665129] - [char] tpm: add support for partial reads (Jerry Snitselaar) [1665129] - [char] tpm: tpm_ibmvtpm: fix kdoc warnings (Jerry Snitselaar) [1665129] - [char] tpm: fix kdoc for tpm2_flush_context_cmd() (Jerry Snitselaar) [1694208 1665129] - [char] tpm: tpm_try_transmit() refactor error flow. (Jerry Snitselaar) [1694208 1665129] - [char] tpm: use u32 instead of int for PCR index (Jerry Snitselaar) [1665130 1665129] - [security] ima: Get rid of ima_used_chip and use ima_tpm_chip != NULL instead (Jerry Snitselaar) [1665130 1665129] - [security] ima: Use tpm_default_chip() and call TPM functions with a tpm_chip (Jerry Snitselaar) [1665129] - [char] tpm1: reimplement tpm1_continue_selftest() using tpm_buf (Jerry Snitselaar) [1665130] - [char] tpm1: reimplement SAVESTATE using tpm_buf (Jerry Snitselaar) [1665130] - [char] tpm1: rename tpm1_pcr_read_dev to tpm1_pcr_read() (Jerry Snitselaar) [1665130] - [char] tpm1: implement tpm1_pcr_read_dev() using tpm_buf structure (Jerry Snitselaar) [1665130] - [char] tpm: tpm1: rewrite tpm1_get_random() using tpm_buf structure (Jerry Snitselaar) [1665130] - [char] tpm: tpm-space.c remove unneeded semicolon (Jerry Snitselaar) [1665129] - [char] tpm: tpm-interface.c drop unused macros (Jerry Snitselaar) [1694208 1665130] - [char] tpm: add tpm_auto_startup() into tpm-interface.c (Jerry Snitselaar) [1665129] - [char] tpm: factor out tpm_startup function (Jerry Snitselaar) [1665130 1665129] - [char] tpm: factor out tpm 1.x pm suspend flow into tpm1-cmd.c (Jerry Snitselaar) [1665130] - [char] tpm: move tpm 1.x selftest code from tpm-interface.c tpm1-cmd.c (Jerry Snitselaar) [1665130] - [char] tpm: factor out tpm1_get_random into tpm1-cmd.c (Jerry Snitselaar) [1665130] - [char] tpm: move tpm_getcap to tpm1-cmd.c (Jerry Snitselaar) [1665130] - [char] tpm: move tpm1_pcr_extend to tpm1-cmd.c (Jerry Snitselaar) [1665130] - [char] tpm: factor out tpm_get_timeouts() (Jerry Snitselaar) [1665130 1665129] - [char] tpm: add tpm_calc_ordinal_duration() wrapper (Jerry Snitselaar) [1665130 1665129] - [char] tpm: factor out tpm 1.x duration calculation to tpm1-cmd.c (Jerry Snitselaar) [1665130 1665129] - [char] tpm: sort objects in the Makefile (Jerry Snitselaar) [1665129] - [char] tpm2: add new tpm2 commands according to TCG 1.36 (Jerry Snitselaar) [1665129] - [char] tpm: tpm_i2c_nuvoton: use correct command duration for TPM 2.x (Jerry Snitselaar) [1665129] - [char] tpm: add support for nonblocking operation (Jerry Snitselaar) [1665129] - [char] tpm: add ptr to the tpm_space struct to file_priv (Jerry Snitselaar) [1665129] - [char] tpm: Make SECURITYFS a weak dependency (Jerry Snitselaar) [1665129] - [char] tpm: suppress transmit cmd error logs when TPM 1.2 is disabled/deactivated (Jerry Snitselaar) [1665130] - [char] tpm: fix response size validation in tpm_get_random() (Jerry Snitselaar) [1694208 1665129] - [char] tpm: replace TPM_TRANSMIT_RAW with TPM_TRANSMIT_NESTED (Jerry Snitselaar) [1665129] - [char] tpm: Convert tpm_find_get_ops() to use tpm_default_chip() (Jerry Snitselaar) [1665129] - [char] tpm: Implement tpm_default_chip() to find a TPM chip (Jerry Snitselaar) [1665129] - [char] tpm: rename tpm_chip_find_get() to tpm_find_get_ops() (Jerry Snitselaar) [1665129] - [char] tpm: Allow tpm_tis drivers to set hwrng quality. (Jerry Snitselaar) [1665129] - [char] tpm: Return the actual size when receiving an unsupported command (Jerry Snitselaar) [1694208 1665129] - [char] tpm/tpm_i2c_infineon: switch to i2c_lock_bus(..., I2C_LOCK_SEGMENT) (Jerry Snitselaar) [1665129] - [char] tpm_tis_spi: Pass the SPI IRQ down to the driver (Jerry Snitselaar) [1665129] - [char] tpm: migrate tpm2_get_random() to use struct tpm_buf (Jerry Snitselaar) [1665129] - [char] tpm: migrate tpm2_get_tpm_pt() to use struct tpm_buf (Jerry Snitselaar) [1665129] - [char] tpm: migrate tpm2_probe() to use struct tpm_buf (Jerry Snitselaar) [1665129] - [char] tpm: migrate tpm2_shutdown() to use struct tpm_buf (Jerry Snitselaar) [1665129] - [pci] PCI: Fix __initdata issue with "pci=disable_acs_redir" parameter (Myron Stowe) [1704979] - [s390] s390/pci: skip VF scanning (Myron Stowe) [1704979] - [pci] PCI/IOV: Add flag so platforms can skip VF scanning (Myron Stowe) [1704979] - [pci] PCI/IOV: Factor out sriov_add_vfs() (Myron Stowe) [1704979] - [pci] switchtec: Add MRPC DMA mode support (Myron Stowe) [1704979] - [pci] switchtec: Improve MRPC efficiency by enabling write combining (Myron Stowe) [1704979] - [pci] switchtec: Fix SWITCHTEC_IOCTL_EVENT_IDX_ALL flags overwrite (Myron Stowe) [1704979] - [pci] switchtec: Set DMA coherent mask (Myron Stowe) [1704979] - [pci] switchtec: Remove immediate status check after submitting MRPC command (Myron Stowe) [1704979] - [pci] PCI / PM: Allow runtime PM without callback functions (Myron Stowe) [1704979] - [pci] PCI/P2PDMA: Clean up documentation and kernel-doc (Myron Stowe) [1704979] - [pci] PCI: Remove unnecessary space before function pointer arguments (Myron Stowe) [1704979] - [maintainers] MAINTAINERS: Add x86 early-quirks.c file pattern to PCI subsystem (Myron Stowe) [1704979] - [pci] PCI: Expand the "PF" acronym in Kconfig help text (Myron Stowe) [1704979] - [x86] x86/PCI: Fix Broadcom CNB20LE unintended sign extension (redux) (Myron Stowe) [1704979] - [pci] PCI/ASPM: Remove unused lists from struct pcie_link_state (Myron Stowe) [1704979] - [pci] PCI / ACPI: Identify untrusted PCI devices (Myron Stowe) [1704979]- [documentation] x86/resctrl: Update Documentation/x86/resctrl_ui.txt (Prarit Bhargava) [1504489] - [x86] x86/resctrl: Remove unnecessary check for cbm_validate() (Prarit Bhargava) [1504489] - [maintainers] MAINTAINERS: Update resctrl filename patterns (Prarit Bhargava) [1504489] - [documentation] Documentation: Rename and update intel_rdt_ui.txt to resctrl_ui.txt (Prarit Bhargava) [1504489] - [x86] x86/resctrl: Introduce AMD QOS feature (Prarit Bhargava) [1504489] - [x86] x86/resctrl: Fixup the user-visible strings (Prarit Bhargava) [1504489] - [x86] x86/resctrl: Add AMD's X86_FEATURE_MBA to the scattered CPUID features (Prarit Bhargava) [1504489] - [x86] x86/resctrl: Rename the config option INTEL_RDT to RESCTRL (Prarit Bhargava) [1504489] - [x86] x86/resctrl: Add vendor check for the MBA software controller (Prarit Bhargava) [1504489] - [x86] x86/resctrl: Bring cbm_validate() into the resource structure (Prarit Bhargava) [1504489] - [x86] x86/resctrl: Initialize the vendor-specific resource functions (Prarit Bhargava) [1504489] - [x86] x86/resctrl: Move all the macros to resctrl/internal.h (Prarit Bhargava) [1504489] - [x86] x86/resctrl: Re-arrange the RDT init code (Prarit Bhargava) [1504489] - [x86] x86/resctrl: Rename the RDT functions and definitions (Prarit Bhargava) [1504489] - [x86] x86/resctrl: Rename and move rdt files to a separate directory (Prarit Bhargava) [1504489] - [x86] x86/intel_rdt: Prevent pseudo-locking from using stale pointers (Prarit Bhargava) [1504489] - [x86] x86/intel_rdt: Fix initial allocation to consider CDP (Prarit Bhargava) [1504489] - [x86] x86/intel_rdt: CBM overlap should also check for overlap with CDP peer (Prarit Bhargava) [1504489] - [x86] x86/intel_rdt: Introduce utility to obtain CDP peer (Prarit Bhargava) [1504489] - [x86] x86/intel_rdt: Fix out-of-bounds memory access in CBM tests (Prarit Bhargava) [1504489] - [x86] perf/x86: Add helper to obtain performance counter index (Prarit Bhargava) [1504489] - [x86] x86/intel_rdt: Switch to bitmap_zalloc() (Prarit Bhargava) [1504489] - [x86] x86/intel_rdt: Re-enable pseudo-lock measurements (Prarit Bhargava) [1504489] - [x86] x86/cpu: Sanitize FAM6_ATOM naming (David Arcari) [1504489] - [x86] x86/intel_rdt: Use perf infrastructure for measurements (Prarit Bhargava) [1504489] - [x86] x86/intel_rdt: Create required perf event attributes (Prarit Bhargava) [1504489] - [x86] x86/intel_rdt: Remove local register variables (Prarit Bhargava) [1504489] - [x86] x86/intel_rdt: Fix incorrect loop end condition (Prarit Bhargava) [1504489] - [x86] x86/intel_rdt: Fix exclusive mode handling of MBA resource (Prarit Bhargava) [1504489] - [x86] x86/intel_rdt: Fix incorrect loop end condition (Prarit Bhargava) [1504489] - [x86] x86/intel_rdt: Do not allow pseudo-locking of MBA resource (Prarit Bhargava) [1504489] - [x86] x86/intel_rdt: Fix unchecked MSR access (Prarit Bhargava) [1504489] - [x86] x86/intel_rdt: Fix invalid mode warning when multiple resources are managed (Prarit Bhargava) [1504489] - [x86] x86/intel_rdt: Global closid helper to support future fixes (Prarit Bhargava) [1504489] - [x86] x86/intel_rdt: Fix size reporting of MBA resource (Prarit Bhargava) [1504489] - [x86] x86/intel_rdt: Fix data type in parsing callbacks (Prarit Bhargava) [1504489] - [x86] x86/intel_rdt: Disable PMU access (Prarit Bhargava) [1504489] - [x86] x86/intel_rdt: Fix possible circular lock dependency (Prarit Bhargava) [1504489] - [x86] x86/intel_rdt: Make CPU information accessible for pseudo-locked regions (Prarit Bhargava) [1504489] - [x86] x86/intel_rdt: Support restoration of subset of permissions (Prarit Bhargava) [1504489] - [x86] x86/intel_rdt: Fix cleanup of plr structure on error (Prarit Bhargava) [1504489] - [x86] x86/intel_rdt: Move pseudo_lock_region_clear() (Prarit Bhargava) [1504489] - [x86] x86/intel_rdt: Limit C-states dynamically when pseudo-locking active (Prarit Bhargava) [1504489] - [x86] x86/intel_rdt: Support L3 cache performance event of Broadwell (Prarit Bhargava) [1504489] - [x86] x86/intel_rdt: More precise L2 hit/miss measurements (Prarit Bhargava) [1504489] - [x86] x86/intel_rdt: Create character device exposing pseudo-locked region (Prarit Bhargava) [1504489] - [x86] x86/intel_rdt: Create debugfs files for pseudo-locking testing (Prarit Bhargava) [1504489] - [x86] x86/intel_rdt: Create resctrl debug area (Prarit Bhargava) [1504489] - [x86] x86/intel_rdt: Ensure RDT cleanup on exit (Prarit Bhargava) [1504489] - [x86] x86/intel_rdt: Resctrl files reflect pseudo-locked information (Prarit Bhargava) [1504489] - [x86] x86/intel_rdt: Support creation/removal of pseudo-locked region (Prarit Bhargava) [1504489] - [x86] x86/intel_rdt: Pseudo-lock region creation/removal core (Prarit Bhargava) [1504489] - [x86] x86/intel_rdt: Discover supported platforms via prefetch disable bits (Prarit Bhargava) [1504489] - [x86] x86/intel_rdt: Add utilities to test pseudo-locked region possibility (Prarit Bhargava) [1504489] - [x86] x86/intel_rdt: Split resource group removal in two (Prarit Bhargava) [1504489] - [x86] x86/intel_rdt: Enable entering of pseudo-locksetup mode (Prarit Bhargava) [1504489] - [x86] x86/intel_rdt: Support enter/exit of locksetup mode (Prarit Bhargava) [1504489] - [x86] x86/intel_rdt: Introduce pseudo-locked region (Prarit Bhargava) [1504489] - [x86] x86/intel_rdt: Add check to determine if monitoring in progress (Prarit Bhargava) [1504489] - [x86] x86/intel_rdt: Utilities to restrict/restore access to specific files (Prarit Bhargava) [1504489] - [x86] x86/intel_rdt: Protect against resource group changes during locking (Prarit Bhargava) [1504489] - [x86] x86/intel_rdt: Add utility to restrict/restore access to resctrl files (Prarit Bhargava) [1504489] - [x86] x86/intel_rdt: Add utility to test if tasks assigned to resource group (Prarit Bhargava) [1504489] - [x86] x86/intel_rdt: Respect read and write access (Prarit Bhargava) [1504489] - [x86] x86/intel_rdt: Introduce the Cache Pseudo-Locking modes (Prarit Bhargava) [1504489] - [x86] x86/intel_rdt: Display resource groups' allocations' size in bytes (Prarit Bhargava) [1504489] - [x86] x86/intel_rdt: Introduce "bit_usage" to display cache allocations details (Prarit Bhargava) [1504489] - [x86] x86/intel_rdt: Ensure requested schemata respects mode (Prarit Bhargava) [1504489] - [x86] x86/intel_rdt: Support flexible data to parsing callbacks (Prarit Bhargava) [1504489] - [x86] x86/intel_rdt: Making CBM name and type more explicit (Prarit Bhargava) [1504489] - [x86] x86/intel_rdt: Enable setting of exclusive mode (Prarit Bhargava) [1504489] - [x86] x86/intel_rdt: Introduce new "exclusive" mode (Prarit Bhargava) [1504489] - [x86] x86/intel_rdt: Initialize new resource group with sane defaults (Prarit Bhargava) [1504489] - [x86] x86/intel_rdt: Make useful functions available internally (Prarit Bhargava) [1504489] - [x86] x86/intel_rdt: Introduce test to determine if closid is in use (Prarit Bhargava) [1504489] - [x86] x86/intel_rdt: Introduce resource group's mode resctrl file (Prarit Bhargava) [1504489] - [x86] x86/intel_rdt: Associate mode with each RDT resource group (Prarit Bhargava) [1504489] - [x86] x86/intel_rdt: Introduce RDT resource group mode (Prarit Bhargava) [1504489] - [x86] x86/intel_rdt: Provide pseudo-locking hooks within rdt_mount (Prarit Bhargava) [1504489] - [x86] perf/x86: Make perf callchains work without CONFIG_FRAME_POINTER (Jiri Olsa) [1699780]- [kernel] sched/fair: Do not re-read ->h_load_next during hierarchical load calculation (Phil Auld) [1701762] - [s390] kvm: s390: enable MSA9 keywrapping functions depending on cpu model (Thomas Huth) [1660913] - [s390] kvm: s390: add deflate conversion facilty to cpu model (Thomas Huth) [1660913] - [s390] kvm: s390: add enhanced sort facilty to cpu model (Thomas Huth) [1660913] - [s390] kvm: s390: provide query function for instructions returning 32 byte (Thomas Huth) [1660913] - [s390] kvm: s390: add MSA9 to cpumodel (Thomas Huth) [1660913] - [s390] kvm: s390: add vector BCD enhancements facility to cpumodel (Thomas Huth) [1660913] - [s390] kvm: s390: add vector enhancements facility 2 to cpumodel (Thomas Huth) [1660913] - [s390] kvm: s390: add debug logging for cpu model subfunctions (Thomas Huth) [1660913] - [s390] kvm: s390: implement subfunction processor calls (Thomas Huth) [1660913] - [powercap] powercap: intel_rapl: add support for Jacobsville (Steve Best) [1482401] - [x86] x86/cpu: Add Atom Tremont (Jacobsville) (Steve Best) [1482401]- [crypto] crypto: qat - Remove unused goto label (Neil Horman) [1660313] - [crypto] crypto: prefix header search paths with $(srctree)/ (Neil Horman) [1660313] - [crypto] crypto: qat - no need to check return value of debugfs_create functions (Neil Horman) [1660313] - [crypto] cross-tree: phase out dma_zalloc_coherent() (Neil Horman) [1660313] - [crypto] crypto: qat - move temp buffers off the stack (Neil Horman) [1660313] - [crypto] crypto: qat - Remove VLA usage (Neil Horman) [1660313] - [include] block: kill all_q_node in request_queue (Ming Lei) [1702865] - [block] bfq: update internal depth state when queue depth changes (Ming Lei) [1702865] - [fs] block: fix the return errno for direct IO (Ming Lei) [1702865] - [block] block: do not leak memory in bio_copy_user_iov() (Ming Lei) [1702865] - [nvme] nvme: cancel request synchronously (Ming Lei) [1702865] - [block] blk-mq: introduce blk_mq_complete_request_sync() (Ming Lei) [1702865] - [scsi] scsi: virtio_scsi: limit number of hw queues by nr_cpu_ids (Ming Lei) [1702865] - [block] virtio-blk: limit number of hw queues by nr_cpu_ids (Ming Lei) [1702865] - [block] block, bfq: fix use after free in bfq_bfqq_expire (Ming Lei) [1702865] - [block] paride/pcd: Fix potential NULL pointer dereference and mem leak (Ming Lei) [1702865] - [block] blk-mq: do not reset plug->rq_count before the list is sorted (Ming Lei) [1702865] - [block] paride/pf: Fix potential NULL pointer dereference (Ming Lei) [1702865] - [block] blk-mq: add trace block plug and unplug for multiple queues (Ming Lei) [1702865] - [block] block: use blk_free_flush_queue() to free hctx->fq in blk_mq_init_hctx (Ming Lei) [1702865] - [block] paride/pcd: cleanup queues when detection fails (Ming Lei) [1702865] - [block] paride/pf: cleanup queues when detection fails (Ming Lei) [1702865] - [crypto] crypto: chelsio - Fixed Traffic Stall (Arjun Vynipadath) [1664679] - [crypto] crypto: chelsio - Fix passing zero to 'PTR_ERR' warning in chcr_aead_op (Arjun Vynipadath) [1664679] - [crypto] crypto: chelsio - Inline single pdu only (Arjun Vynipadath) [1664679] - [crypto] crypto: chelsio - avoid using sa_entry imm (Arjun Vynipadath) [1664679] - [crypto] crypto: chelsio - remove set but not used variables 'adap' (Arjun Vynipadath) [1664679] - [crypto] crypto: chelsio - check set_msg_len overflow in generate_b0 (Arjun Vynipadath) [1664679] - [crypto] crypto: chelsio - Fix wrong error counter increments (Arjun Vynipadath) [1664679] - [crypto] crypto: chelsio - Reset counters on cxgb4 Detach (Arjun Vynipadath) [1664679] - [crypto] crypto: chelsio - Handle PCI shutdown event (Arjun Vynipadath) [1664679] - [crypto] crypto: chelsio - cleanup:send addr as value in function argument (Arjun Vynipadath) [1664679] - [crypto] crypto: chelsio - Use same value for both channel in single WR (Arjun Vynipadath) [1664679] - [crypto] crypto: chelsio - Swap location of AAD and IV sent in WR (Arjun Vynipadath) [1664679] - [crypto] crypto: chelsio - remove set but not used variable 'kctx_len' (Arjun Vynipadath) [1664679] - [crypto] drivers: chelsio: use skb_sec_path helper (Arjun Vynipadath) [1664679] - [crypto] crypto: chcr - ESN for Inline IPSec Tx (Arjun Vynipadath) [1664679] - [crypto] crypto: chcr - small packet Tx stalls the queue (Arjun Vynipadath) [1664679] - [crypto] crypto: chelsio - clean up various indentation issues (Arjun Vynipadath) [1664679] - [crypto] crypto: chelsio - Update ntx queue received from cxgb4 (Arjun Vynipadath) [1664679]- [platform] platform/x86: intel_pmc_core: Convert to INTEL_CPU_FAM6 macro (David Arcari) [1658080] - [platform] platform/x86: intel_pmc_core: Avoid a u32 overflow (David Arcari) [1658080] - [platform] platform/x86: intel_pmc_core: Include Reserved IP for LTR (David Arcari) [1658080] - [platform] platform/x86: intel_pmc_core: Fix file permissions for ltr_show (David Arcari) [1658080] - [platform] platform/x86: intel_pmc_core: Fix PCH IP name (David Arcari) [1658080] - [platform] platform/x86: intel_pmc_core: Fix PCH IP sts reading (David Arcari) [1658080] - [platform] platform/x86: intel_pmc_core: Handle CFL regmap properly (David Arcari) [1658080] - [platform] platform/x86: intel_pmc_core: convert to DEFINE_SHOW_ATTRIBUTE (David Arcari) [1658080] - [platform] platform/x86: intel_pmc_core: Decode Snoop / Non Snoop LTR (David Arcari) [1658080] - [platform] platform/x86: intel_pmc_core: Fix LTR IGNORE Max offset (David Arcari) [1658080] - [platform] platform/x86: intel_pmc_core: Show Latency Tolerance info (David Arcari) [1658080] - [platform] platform/x86: intel_pmc: Convert to use SPDX identifier (David Arcari) [1658080] - [platform] platform/x86: intel_pmc_core: Add CNP SLPS0 debug registers (David Arcari) [1658080] - [x86] x86/cpu: Introduce INTEL_CPU_FAM*() helper macros (David Arcari) [1658080] - [include] locking/atomics, asm-generic: Move some macros from to a new file (David Arcari) [1658080] - [s390] s390/kasan: fix strncpy_from_user kasan checks (Philipp Rudo) [1665182] - [s390] s390: correct some inline assembly constraints (Philipp Rudo) [1665182] - [s390] s390/kasan: improve string/memory functions checks (Philipp Rudo) [1665182] - [include] compiler: remove __no_sanitize_address_or_inline again (Philipp Rudo) [1665182] - [s390] s390/kasan: increase instrumented stack size to 64k (Philipp Rudo) [1665182] - [mm] s390/kasan: support preemptible kernel build (Philipp Rudo) [1665182] - [mm] s390/kasan: add support for mem= kernel parameter (Philipp Rudo) [1665182] - [mm] s390/kasan: optimize kasan vmemmap allocation (Philipp Rudo) [1665182] - [mm] s390/kasan: avoid kasan crash with standby memory defined (Philipp Rudo) [1665182] - [s390] s390/head: avoid doubling early boot stack size under KASAN (Philipp Rudo) [1665182] - [mm] s390/mm: improve debugfs ptdump markers walking (Philipp Rudo) [1665182] - [mm] s390/mm: optimize debugfs ptdump kasan zero page walking (Philipp Rudo) [1665182] - [s390] s390/kasan: add option for 4-level paging support (Philipp Rudo) [1665182] - [mm] s390/kasan: free early identity mapping structures (Philipp Rudo) [1665182] - [s390] s390/kasan: enable stack and global variables access checks (Philipp Rudo) [1665182] - [s390] s390/dumpstack: disable __dump_trace kasan instrumentation (Philipp Rudo) [1665182] - [s390] s390/kasan: reipl and kexec support (Philipp Rudo) [1665182] - [s390] s390/smp: kasan stack instrumentation support (Philipp Rudo) [1665182] - [include] compiler: introduce __no_sanitize_address_or_inline (Philipp Rudo) [1665182] - [s390] s390/kasan: use noexec and large pages (Philipp Rudo) [1665182] - [mm] s390/kasan: dynamic shadow mem allocation for modules (Philipp Rudo) [1665182] - [mm] s390/mm: add kasan shadow to the debugfs pgtable dump (Philipp Rudo) [1665182] - [s390] s390/kasan: avoid user access code instrumentation (Philipp Rudo) [1665182] - [s390] s390/kasan: double the stack size (Philipp Rudo) [1665182] - [s390] s390/kasan: add initialization code and enable it (Philipp Rudo) [1665182] - [s390] s390: add pgd_page primitive (Philipp Rudo) [1665182] - [s390] s390: introduce MAX_PTRS_PER_P4D (Philipp Rudo) [1665182] - [s390] s390/kasan: replace some memory functions (Philipp Rudo) [1665182] - [s390] s390/kasan: avoid instrumentation of early C code (Philipp Rudo) [1665182] - [s390] s390/kasan: avoid vdso instrumentation (Philipp Rudo) [1665182] - [s390] s390/mm: add missing pfn_to_kaddr helper (Philipp Rudo) [1665182] - [s390] s390/cpum_cf: Add support for CPU-MF SVN 6 (Philipp Rudo) [1683278] - [s390] s390: report new CPU capabilities (Philipp Rudo) [1685086] - [net] net/smc: fix smc_poll in SMC_INIT state (Philipp Rudo) [1700812] - [net] net/smc: fix byte_order for rx_curs_confirmed (Philipp Rudo) [1700812] - [net] net/smc: check port_idx of ib event (Philipp Rudo) [1700799] - [net] net/smc: check connections in smc_lgr_free_work (Philipp Rudo) [1700799] - [net] net/smc: reduce amount of status updates to peer (Philipp Rudo) [1700799] - [net] net/smc: no delay for free tx buffer wait (Philipp Rudo) [1700799] - [net] net/smc: move wake up of close waiter (Philipp Rudo) [1700799] - [net] net/smc: reset cursor update required flag (Philipp Rudo) [1700799] - [net] net/smc: correct state change for peer closing (Philipp Rudo) [1700799] - [net] net/smc: delete rkey first before switching to unused (Philipp Rudo) [1700799] - [net] net/smc: fix sender_free computation (Philipp Rudo) [1700799] - [net] net/smc: preallocated memory for rdma work requests (Philipp Rudo) [1700799] - [net] net/smc: fix use of variable in cleared area (Philipp Rudo) [1700799] - [net] net/smc: use device link provided in qp_context (Philipp Rudo) [1700799] - [net] net/smc: call smc_cdc_msg_send() under send_lock (Philipp Rudo) [1700799] - [net] net/smc: do not wait under send_lock (Philipp Rudo) [1700799] - [net] net/smc: recvmsg and splice_read should return 0 after shutdown (Philipp Rudo) [1700799] - [net] net/smc: don't wait for send buffer space when data was already sent (Philipp Rudo) [1700799] - [net] net/smc: prevent races between smc_lgr_terminate() and smc_conn_free() (Philipp Rudo) [1700799] - [net] net/smc: allow 16 byte pnetids in netlink policy (Philipp Rudo) [1700799] - [net] net/smc: fix another sizeof to int comparison (Philipp Rudo) [1700799] - [net] net/smc: move code to clear the conn->lgr field (Philipp Rudo) [1700799] - [net] net/smc: use client and server LGR pending locks for SMC-R (Philipp Rudo) [1700799] - [net] net/smc: unlock LGR pending lock earlier for SMC-D (Philipp Rudo) [1700799] - [net] net/smc: use smc_curs_copy() for SMC-D (Philipp Rudo) [1700799] - [net] net/smc: postpone release of clcsock (Philipp Rudo) [1700799] - [net] smc: move unhash as early as possible in smc_release() (Philipp Rudo) [1700799] - [net] net/smc: fix TCP fallback socket release (Philipp Rudo) [1700799] - [s390] s390/ism: ignore some errors during deregistration (Philipp Rudo) [1700799] - [infiniband] mlx4: trigger IB events needed by SMC (Philipp Rudo) [1700799] - [s390] s390/smp: fix CPU hotplug deadlock with CPU rescan (Philipp Rudo) [1700836] - [block] s390/dasd: fix panic for failed online processing (Philipp Rudo) [1700811] - [netdrv] s390/qeth: fix use-after-free in error path (Philipp Rudo) [1700803] - [netdrv] s390/qeth: cancel close_dev work before removing a card (Philipp Rudo) [1700802] - [netdrv] s390/qeth: conclude all event processing before offlining a card (Philipp Rudo) [1700800] - [scsi] scsi: zfcp: fix posting too many status read buffers leading to adapter shutdown (Philipp Rudo) [1700775] - [fs] xfs: prohibit fstrim in norecovery mode (Bill O'Donnell) [1697749] - [x86] perf/x86: Fixup typo in stub functions (Waiman Long) [1688789] - [x86] perf/x86/intel: Fix memory corruption (Waiman Long) [1688789] - [x86] perf/x86/intel: Implement support for TSX Force Abort (Waiman Long) [1688789] - [x86] x86: Add TSX Force Abort CPUID/MSR (Waiman Long) [1688789] - [x86] perf/x86/intel: Generalize dynamic constraint creation (Waiman Long) [1688789] - [x86] perf/x86/intel: Make cpuc allocations consistent (Waiman Long) [1688789] - [x86] perf/x86/intel: Delay memory deallocation until x86_pmu_dead_cpu() (Waiman Long) [1688789] - [x86] perf/x86/intel: Export mem events only if there's PEBS support (Waiman Long) [1688789] - [x86] perf/x86/intel: Add a separate Arch Perfmon v4 PMI handler (Waiman Long) [1688789] - [x86] perf/x86/intel: Factor out common code of PMI handler (Waiman Long) [1688789] - [x86] perf/x86/intel: Introduce PMU flag for Extended PEBS (Waiman Long) [1688789] - [x86] x86/speculation: Add PR_SPEC_DISABLE_NOEXEC (Waiman Long) [1671512]- [kernel] exit from RHEL 8.1 early ystream mode ("Herton R. Krzesinski") - [net] Bluetooth: Verify that l2cap_get_conf_opt provides large enough buffer (Gopal Tiwari) [1700507] {CVE-2019-3459} - [target] scsi: target: iscsi: cxgbit: fix csk leak (Arjun Vynipadath) [1664683] - [target] scsi: target: iscsi: cxgbit: add missing spin_lock_init() (Arjun Vynipadath) [1664683] - [scsi] scsi: cxgb4i: fix incorrect spelling "reveive" -> "receive" (Arjun Vynipadath) [1664685] - [scsi] scsi: libcxgbi: update route finding logic (Arjun Vynipadath) [1664685] - [scsi] scsi: libcxgbi: find cxgbi device by MAC address (Arjun Vynipadath) [1664685] - [scsi] scsi: cxgbi: remove redundant __kfree_skb call on skb and free cst->atid (Arjun Vynipadath) [1664685] - [scsi] scsi: libcxgbi: remove uninitialized variable len (Arjun Vynipadath) [1664685] - [scsi] scsi: cxgb4i: validate tcp sequence number only if chip version <= T5 (Arjun Vynipadath) [1664685] - [scsi] scsi: cxgb4i: get pf number from lldi->pf (Arjun Vynipadath) [1664685] - [scsi] scsi: cxgb4i: add wait_for_completion() (Arjun Vynipadath) [1664685] - [scsi] scsi: cxgb4i: fix thermal configuration dependencies (Arjun Vynipadath) [1664685] - [scsi] scsi: cxgb4i: add DCB support for iSCSI connections (Arjun Vynipadath) [1664685] - [netdrv] cxgb4: Don't return EAGAIN when TCAM is full. (Arjun Vynipadath) [1664670] - [netdrv] chelsio: use BUG() instead of BUG_ON(1) (Arjun Vynipadath) [1664670] - [netdrv] cxgb4/chtls: Prefix adapter flags with CXGB4 (Arjun Vynipadath) [1664670] - [netdrv] cxgb4vf: Call netif_carrier_off properly in pci_probe (Arjun Vynipadath) [1664682 1664670] - [netdrv] cxgb4vf: Revert force link up behaviour (Arjun Vynipadath) [1664682] - [netdrv] cxgb4: Add VF Link state support (Arjun Vynipadath) [1664670] - [netdrv] cxgb4vf: Prefix adapter flags with CXGB4VF (Arjun Vynipadath) [1664682] - [netdrv] cxgb4vf: Enter debugging mode if FW is inaccessible (Arjun Vynipadath) [1664682] - [netdrv] cxgb4: Enable outer UDP checksum offload for T6 (Arjun Vynipadath) [1664670] - [netdrv] cxgb4/cxgb4vf: Fix up netdev->hw_features (Arjun Vynipadath) [1664682 1664670] - [netdrv] cxgb4: Mask out interrupts that are not enabled. (Arjun Vynipadath) [1664670] - [netdrv] cxgb4: Export sge_host_page_size to ulds (Arjun Vynipadath) [1664670] - [netdrv] cxgb4: Add capability to get/set SGE Doorbell Queue Timer Tick (Arjun Vynipadath) [1664670] - [netdrv] cxgb4/cxgb4vf: Add support for SGE doorbell queue timer (Arjun Vynipadath) [1664682 1664670] - [netdrv] cxgb4vf: Few more link management changes. (Arjun Vynipadath) [1664682] - [netdrv] cxgb4: add tcb flags and tcb rpl struct (Arjun Vynipadath) [1664670] - [netdrv] cxgb4: Add new T6 PCI device ids 0x608b (Arjun Vynipadath) [1664670] - [netdrv] cxgb4/cxgb4vf: Program hash region for {t4/t4vf}_change_mac() (Arjun Vynipadath) [1664682 1664670] - [netdrv] cxgb4: smt: use struct_size() in kvzalloc() (Arjun Vynipadath) [1664670] - [netdrv] cxgb4: sched: use struct_size() in kvzalloc() (Arjun Vynipadath) [1664670] - [netdrv] cxgb4: cxgb4_tc_u32: use struct_size() in kvzalloc() (Arjun Vynipadath) [1664670] - [netdrv] cxgb4vf: Update port information in cxgb4vf_open() (Arjun Vynipadath) [1664682] - [netdrv] cxgb4/cxgb4vf: Link management changes (Arjun Vynipadath) [1664682 1664670] - [netdrv] cxgb4: TLS record offload enable (Arjun Vynipadath) [1664670] - [netdrv] cxgb4: clip_tbl: Use struct_size() in kvzalloc() (Arjun Vynipadath) [1664670] - [netdrv] net: cxgb4: fix various indentation issues (Arjun Vynipadath) [1664670] - [netdrv] net: chelsio: Add a missing check on cudg_get_buffer (Arjun Vynipadath) [1664670] - [netdrv] cxgb4: remove DEFINE_SIMPLE_DEBUGFS_FILE() (Arjun Vynipadath) [1664670] - [netdrv] cxgb4: number of VFs supported is not always 16 (Arjun Vynipadath) [1664670] - [netdrv] cxgb4: remove set but not used variables 'multitrc, speed' (Arjun Vynipadath) [1664670] - [netdrv] cxgb4: use new fw interface to get the VIN and smt index (Arjun Vynipadath) [1664670] - [netdrv] cxgb4/cxgb4vf: Fix mac_hlist initialization and free (Arjun Vynipadath) [1664682 1664670] - [netdrv] cxgb4vf: fix memleak in mac_hlist initialization (Arjun Vynipadath) [1664682] - [netdrv] cxgb4vf: free mac_hlist properly (Arjun Vynipadath) [1664682] - [netdrv] cxgb4: free mac_hlist properly (Arjun Vynipadath) [1664670] - [netdrv] cxgb4: fix thermal zone build error (Arjun Vynipadath) [1664670] - [netdrv] cxgb4: fix thermal configuration dependencies (Arjun Vynipadath) [1664670] - [netdrv] cxgb4: Add thermal zone support (Arjun Vynipadath) [1664670] - [infiniband] cxgb4: use __vlan_hwaccel helpers (Arjun Vynipadath) [1664670] - [netdrv] cxgb4: Add new T6 PCI device ids 0x608a (Arjun Vynipadath) [1664670] - [netdrv] cxgb4: fix the error path of cxgb4_uld_register() (Arjun Vynipadath) [1664670] - [netdrv] cxgb4: use FW_PORT_ACTION_L1_CFG32 for 32 bit capability (Arjun Vynipadath) [1664670] - [netdrv] cxgb4: remove the unneeded locks (Arjun Vynipadath) [1664670] - [netdrv] cxgb4: Use proper enum in IEEE_FAUX_SYNC (Arjun Vynipadath) [1664670] - [netdrv] cxgb4: Use proper enum in cxgb4_dcb_handle_fw_update (Arjun Vynipadath) [1664670] - [netdrv] cxgb4: remove duplicated include from cxgb4_main.c (Arjun Vynipadath) [1664670] - [netdrv] cxgb4: add per rx-queue counter for packet errors (Arjun Vynipadath) [1664670] - [netdrv] cxgb4: Fix endianness issue in t4_fwcache() (Arjun Vynipadath) [1664670] - [netdrv] cxgb4: fix abort_req_rss6 struct (Arjun Vynipadath) [1664670] - [netdrv] cxgb4: remove redundant assignment to vlan_cmd.dropnovlan_fm (Arjun Vynipadath) [1664670] - [netdrv] cxgb4: collect hardware queue descriptors (Arjun Vynipadath) [1664670] - [netdrv] cxgb4: Add new T5 PCI device ids 0x50af and 0x50b0 (Arjun Vynipadath) [1664670] - [netdrv] cxgb4: remove set but not used variable 'spd' (Arjun Vynipadath) [1664670] - [netdrv] cxgb4: add support to display DCB info (Arjun Vynipadath) [1664670] - [netdrv] cxgb4/t4_hw: mark expected switch fall-throughs (Arjun Vynipadath) [1664670] - [netdrv] cxgb4/l2t: Mark expected switch fall-through (Arjun Vynipadath) [1664670] - [netdrv] cxgb4: fix endian to test F_FW_PORT_CMD_DCBXDIS32 (Arjun Vynipadath) [1664670] - [netdrv] cxgb4: print ULD queue information managed by LLD (Arjun Vynipadath) [1664670] - [netdrv] cxgb4: move Tx/Rx free pages collection to common code (Arjun Vynipadath) [1664670] - [netdrv] cxgb4: Add support to read actual provisioned resources (Arjun Vynipadath) [1664670] - [netdrv] cxgb4: Add new T5 PCI device id 0x50ae (Arjun Vynipadath) [1664670] - [netdrv] cxgb4: collect number of free PSTRUCT page pointers (Arjun Vynipadath) [1664670] - [netdrv] cxgb4: display number of rx and tx pages free (Arjun Vynipadath) [1664670] - [netdrv] cxgb4: collect ASIC LA dumps from ULP TX (Arjun Vynipadath) [1664670] - [netdrv] libcxgb: replace vmalloc and memset with vzalloc (Arjun Vynipadath) [1664670] - [netdrv] enic: fix checksum validation for IPv6 (Jonathan Toppins) [1685309] - [infiniband] RDMA/vmw_pvrdma: Return the correct opcode when creating WR (Jonathan Toppins) [1688010 1685309] - [infiniband] RDMA/vmw_pvrdma: Use atomic memory allocation in create AH (Jonathan Toppins) [1685309] - [infiniband] IB/usnic: fix spelling mistake "miniumum" -> "minimum" (Jonathan Toppins) [1685309] - [infiniband] RDMA/drivers: Fix spelling mistake "initalize" -> "initialize" (Jonathan Toppins) [1685309] - [infiniband] IB/rxe: Reuse code which sets port state (Jonathan Toppins) [1685309] - [infiniband] IB/rxe: Make counters thread safe (Jonathan Toppins) [1685309] - [infiniband] RDMA: Cleanup undesired pd->uobject usage (Jonathan Toppins) [1685309] - [infiniband] IB/{mlx5, ocrdma, qedr, rxe}: Omit port validation from IB verbs (Jonathan Toppins) [1685309] - [infiniband] IB/rxe: Fix incorrect cache cleanup in error flow (Jonathan Toppins) [1685309] - [infiniband] IB/rxe: Utilize generic function to validate port number (Jonathan Toppins) [1685309] - [infiniband] IB/rxe: Make function rxe_pool_cleanup return void (Jonathan Toppins) [1685309] - [infiniband] rxe: IB_WR_REG_MR does not capture MR's iova field (Jonathan Toppins) [1685309] - [infiniband] IB/rxe: make rxe_unregister_device void (Jonathan Toppins) [1685309] - [infiniband] IB/rxe: move the variable into the function that uses it (Jonathan Toppins) [1685309] - [infiniband] RDMA/rxe: Add link_down, rdma_sends, rdma_recvs stats counters (Jonathan Toppins) [1685309] - [infiniband] RDMA/rxe: Distinguish between down links and disabled links (Jonathan Toppins) [1685309] - [infiniband] rxe: fix error completion wr_id and qp_num (Jonathan Toppins) [1685309] - [infiniband] IB/rxe: clean skb queue directly (Jonathan Toppins) [1685309] - [net] xprtrdma: Make sure Send CQ is allocated on an existing compvec (Jonathan Toppins) [1685309] - [infiniband] RDMA/srp: Rework SCSI device reset handling (Jonathan Toppins) [1685309] - [infiniband] IB/ipoib: Fix for use-after-free in ipoib_cm_tx_start (Jonathan Toppins) [1685309] - [net] xprtrdma: Double free in rpcrdma_sendctxs_create() (Jonathan Toppins) [1685309] - [net] xprtrdma: Fix error code in rpcrdma_buffer_create() (Jonathan Toppins) [1685309] - [infiniband] IB/ipoib: drop useless LIST_HEAD (Jonathan Toppins) [1685309] - [net] xprtrdma: Prevent leak of rpcrdma_rep objects (Jonathan Toppins) [1685309] - [net] xprtrdma: Don't leak freed MRs (Jonathan Toppins) [1685309] - [net] xprtrdma: Add documenting comment for rpcrdma_buffer_destroy (Jonathan Toppins) [1685309] - [net] xprtrdma: Replace outdated comment for rpcrdma_ep_post (Jonathan Toppins) [1685309] - [net] xprtrdma: Update comments in frwr_op_send (Jonathan Toppins) [1685309] - [net] xprtrdma: Trace mapping, alloc, and dereg failures (Jonathan Toppins) [1685309] - [net] xprtrdma: Add trace points for calls to transport switch methods (Jonathan Toppins) [1685309] - [net] xprtrdma: Relocate the xprtrdma_mr_map trace points (Jonathan Toppins) [1685309] - [net] xprtrdma: Clean up of xprtrdma chunk trace points (Jonathan Toppins) [1685309] - [net] xprtrdma: Remove unused fields from rpcrdma_ia (Jonathan Toppins) [1685309] - [net] xprtrdma: Cull dprintk() call sites (Jonathan Toppins) [1685309] - [net] xprtrdma: Simplify locking that protects the rl_allreqs list (Jonathan Toppins) [1685309] - [net] xprtrdma: Expose transport header errors (Jonathan Toppins) [1685309] - [net] xprtrdma: Remove request_module from backchannel (Jonathan Toppins) [1685309] - [net] xprtrdma: Plant XID in on-the-wire RDMA offset (FRWR) (Jonathan Toppins) [1685309] - [net] xprtrdma: Remove rpcrdma_memreg_ops (Jonathan Toppins) [1685309] - [net] xprtrdma: Remove support for FMR memory registration (Jonathan Toppins) [1685309] - [net] xprtrdma: Reduce max_frwr_depth (Jonathan Toppins) [1685309] - [net] xprtrdma: Fix ri_max_segs and the result of ro_maxpages (Jonathan Toppins) [1685309] - [net] xprtrdma: Don't wake pending tasks until disconnect is done (Jonathan Toppins) [1685309] - [net] xprtrdma: No qp_event disconnect (Jonathan Toppins) [1685309] - [net] xprtrdma: Replace rpcrdma_receive_wq with a per-xprt workqueue (Jonathan Toppins) [1685309] - [net] xprtrdma: Refactor Receive accounting (Jonathan Toppins) [1685309] - [net] xprtrdma: Ensure MRs are DMA-unmapped when posting LOCAL_INV fails (Jonathan Toppins) [1685309] - [net] xprtrdma: Yet another double DMA-unmap (Jonathan Toppins) [1685309] - [infiniband] RDMA/srpt: Use kmem_cache_free() instead of kfree() (Jonathan Toppins) [1685309] - [infiniband] RDMA/srpt: Add support for immediate data (Jonathan Toppins) [1685309] - [infiniband] RDMA/srpt: Rework the srpt_alloc_srq() error path (Jonathan Toppins) [1685309] - [infiniband] RDMA/srpt: Remove driver version and release date (Jonathan Toppins) [1685309] - [infiniband] RDMA/srpt: Make kernel-doc headers complete (Jonathan Toppins) [1685309] - [infiniband] RDMA/srpt: Join split strings (Jonathan Toppins) [1685309] - [infiniband] RDMA/srpt: Improve coding style conformance (Jonathan Toppins) [1685309] - [infiniband] RDMA/srpt: Fix a use-after-free in the channel release code (Jonathan Toppins) [1685309] - [infiniband] RDMA/srp: Add support for immediate data (Jonathan Toppins) [1685309] - [infiniband] RDMA/srp: Rework handling of the maximum information unit length (Jonathan Toppins) [1685309] - [infiniband] RDMA/srp: Move srp_rdma_ch.max_ti_iu_len declaration (Jonathan Toppins) [1685309] - [infiniband] RDMA/srp: Propagate ib_post_send() failures to the SCSI mid-layer (Jonathan Toppins) [1685309] - [infiniband] RDMA/srp: Handle large SCSI CDBs correctly (Jonathan Toppins) [1685309] - [infiniband] RDMA/srp: Document srp_parse_in() arguments (Jonathan Toppins) [1685309] - [infiniband] include/scsi/srp.h: Add support for immediate data (Jonathan Toppins) [1685309] - [infiniband] include/scsi/srp.h: Move response flag definitions into this file (Jonathan Toppins) [1685309] - [net] svcrdma: Optimize the logic that selects the R_key to invalidate (Jonathan Toppins) [1685309] - [infiniband] IB/srpt: Drop pointless static qualifier in srpt_make_tpg() (Jonathan Toppins) [1685309] - [infiniband] IB/uverbs: Fix OOPs in uverbs_user_mmap_disassociate (Jonathan Toppins) [1685309] - [infiniband] IB/uverbs: Fix ioctl query port to consider device disassociation (Jonathan Toppins) [1685309] - [infiniband] IB/uverbs: Fix OOPs upon device disassociation (Jonathan Toppins) [1685309] - [infiniband] RDMA/umem: Add missing initialization of owning_mm (Jonathan Toppins) [1685309] - [infiniband] RDMA/device: Expose ib_device_try_get(() (Jonathan Toppins) [1685309] - [infiniband] RDMA/uverbs: Mark ioctl responses with UVERBS_ATTR_F_VALID_OUTPUT (Jonathan Toppins) [1685309] - [infiniband] RDMA/cma: Add cm_id restrack resource based on kernel or user cm_id type (Jonathan Toppins) [1685309] - [infiniband] RDMA/nldev: Don't expose unsafe global rkey to regular user (Jonathan Toppins) [1685309] - [infiniband] RDMA/uverbs: Fix post send success return value in case of error (Jonathan Toppins) [1685309] - [infiniband] IB/core: Add advise_mr to the list of known ops (Jonathan Toppins) [1685309] - [infiniband] IB/uverbs: Signedness bug in UVERBS_HANDLER() (Jonathan Toppins) [1685309] - [infiniband] IB/umad: Start using dev_groups of class (Jonathan Toppins) [1685309] - [infiniband] IB/umad: Use class_groups and let core create class file (Jonathan Toppins) [1685309] - [infiniband] IB/umad: Refactor code to use cdev_device_add() (Jonathan Toppins) [1685309] - [infiniband] IB/umad: Avoid destroying device while it is accessed (Jonathan Toppins) [1685309] - [infiniband] IB/umad: Simplify and avoid dynamic allocation of class (Jonathan Toppins) [1685309] - [infiniband] RDMA/iwcm: Don't copy past the end of dev_name() string (Jonathan Toppins) [1685309] - [infiniband] IB/core: Move query port to ioctl (Jonathan Toppins) [1685309] - [infiniband] RDMA/nldev: Expose port_cap_flags2 (Jonathan Toppins) [1685309] - [infiniband] IB/core: uverbs copy to struct or zero helper (Jonathan Toppins) [1685309] - [infiniband] RDMA: Mark if destroy address handle is in a sleepable context (Jonathan Toppins) [1685309] - [infiniband] RDMA: Mark if create address handle is in a sleepable context (Jonathan Toppins) [1685309] - [infiniband] RDMA/restrack: Resource-tracker should not use uobject pointers (Jonathan Toppins) [1685309] - [include] IB/uverbs: Add support to advise_mr (Jonathan Toppins) [1685309] - [include] IB/uverbs: Add helper to get array size from ptr attribute (Jonathan Toppins) [1685309] - [infiniband] RDMA/uverbs: Add an ioctl method to destroy an object (Jonathan Toppins) [1685309] - [infiniband] RDMA/uverbs: Add a method to introspect handles in a context (Jonathan Toppins) [1685309] - [infiniband] RDMA/core: Delete RoCE GID in hw when corresponding IP is deleted (Jonathan Toppins) [1685309] - [infiniband] RDMA/uverbs: Implement an ioctl that can call write and write_ex handlers (Jonathan Toppins) [1685309] - [infiniband] RDMA: Start use ib_device_ops (Jonathan Toppins) [1685309] - [infiniband] RDMA/rdmavt: Initialize ib_device_ops struct (Jonathan Toppins) [1685309] - [infiniband] RDMA/rxe: Initialize ib_device_ops struct (Jonathan Toppins) [1685309] - [infiniband] RDMA/vmw_pvrdma: Initialize ib_device_ops struct (Jonathan Toppins) [1685309] - [infiniband] RDMA/usnic: Initialize ib_device_ops struct (Jonathan Toppins) [1685309] - [infiniband] RDMA/qib: Initialize ib_device_ops struct (Jonathan Toppins) [1685309] - [infiniband] RDMA/qedr: Initialize ib_device_ops struct (Jonathan Toppins) [1685309] - [infiniband] RDMA/ocrdma: Initialize ib_device_ops struct (Jonathan Toppins) [1685309] - [infiniband] RDMA/nes: Initialize ib_device_ops struct (Jonathan Toppins) [1685309] - [infiniband] RDMA/mthca: Initialize ib_device_ops struct (Jonathan Toppins) [1685309] - [infiniband] RDMA/mlx5: Initialize ib_device_ops struct (Jonathan Toppins) [1685309] - [infiniband] RDMA/mlx4: Initialize ib_device_ops struct (Jonathan Toppins) [1685309] - [infiniband] RDMA/i40iw: Initialize ib_device_ops struct (Jonathan Toppins) [1685309] - [infiniband] RDMA/hns: Initialize ib_device_ops struct (Jonathan Toppins) [1685309] - [infiniband] RDMA/hfi1: Initialize ib_device_ops struct (Jonathan Toppins) [1685309] - [infiniband] RDMA/cxgb4: Initialize ib_device_ops struct (Jonathan Toppins) [1685309] - [infiniband] RDMA/cxgb3: Initialize ib_device_ops struct (Jonathan Toppins) [1685309] - [infiniband] RDMA/bnxt_re: Initialize ib_device_ops struct (Jonathan Toppins) [1685309] - [infiniband] RDMA/core: Introduce ib_device_ops (Jonathan Toppins) [1685309] - [infiniband] RDMA/uverbs: Optimize clearing of extra bytes in response (Jonathan Toppins) [1685309] - [infiniband] IB/core: Add new IB rates (Jonathan Toppins) [1685309] - [include] IB/core: Add 2X port width (Jonathan Toppins) [1685309] - [include] IB/core: Add CapabilityMask2 to port attributes (Jonathan Toppins) [1685309] - [infiniband] RDMA/core: Validate port number in query_pkey verb (Jonathan Toppins) [1685309] - [include] RDMA/uverbs: Fix typo in string concatenation macro (Jonathan Toppins) [1685309] - [infiniband] IB/core: Enable getting an object type from a given uobject (Jonathan Toppins) [1685309] - [infiniband] IB/core: Introduce UVERBS_IDR_ANY_OBJECT (Jonathan Toppins) [1685309] - [infiniband] RDMA/nldev: Export to user space number of contexts (Jonathan Toppins) [1685309] - [infiniband] RDMA/uverbs: Annotate alloc/deallloc paths with context tracking (Jonathan Toppins) [1685309] - [include] RDMA/restrack: Track ucontext (Jonathan Toppins) [1685309] - [infiniband] RDMA/uverbs: Use only attrs for the write() handler signature (Jonathan Toppins) [1685309] - [infiniband] RDMA/uverbs: Do not check the input length on create_cq/qp paths (Jonathan Toppins) [1685309] - [infiniband] RDMA/uverbs: Use the iterator for ib_uverbs_unmarshall_recv() (Jonathan Toppins) [1685309] - [infiniband] RDMA/uverbs: Add a simple iterator interface for reading the command (Jonathan Toppins) [1685309] - [infiniband] RDMA/uverbs: Simplify ib_uverbs_ex_query_device (Jonathan Toppins) [1685309] - [infiniband] RDMA/uverbs: Fill in the response for IB_USER_VERBS_EX_CMD_MODIFY_QP (Jonathan Toppins) [1685309] - [infiniband] RDMA/uverbs: Use uverbs_request() and core for write_ex handlers (Jonathan Toppins) [1685309] - [infiniband] RDMA/uverbs: Use uverbs_request() for request copying (Jonathan Toppins) [1685309] - [infiniband] RDMA/uverbs: Use uverbs_response() for remaining response copying (Jonathan Toppins) [1685309] - [infiniband] RDMA/uverbs: Get rid of the 'callback' scheme in the compat path (Jonathan Toppins) [1685309] - [infiniband] RDMA/uverbs: Use uverbs_attr_bundle to pass ucore for write/write_ex (Jonathan Toppins) [1685309] - [infiniband] RDMA/uverbs: Remove out_len checks that are now done by the core (Jonathan Toppins) [1685309] - [infiniband] RDMA/uverbs: fix ptr_ret.cocci warnings (Jonathan Toppins) [1685309] - [infiniband] RDMA/uverbs: Use uverbs_attr_bundle to pass udata for ioctl() (Jonathan Toppins) [1685309] - [infiniband] RDMA/uverbs: Use uverbs_attr_bundle to pass udata for write (Jonathan Toppins) [1685309] - [infiniband] RDMA/uverbs: Use uverbs_attr_bundle to pass udata for write_ex (Jonathan Toppins) [1685309] - [infiniband] RDMA/uverbs: Prohibit write() calls with too small buffers (Jonathan Toppins) [1685309] - [infiniband] RDMA/uverbs: Add structure size info to write commands (Jonathan Toppins) [1685309] - [infiniband] RDMA/uverbs: Do not pass ib_uverbs_file to ioctl methods (Jonathan Toppins) [1685309] - [infiniband] RDMA/uverbs: Make write() handlers return 0 on success (Jonathan Toppins) [1685309] - [infiniband] RDMA/uverbs: Replace ib_uverbs_file with uverbs_attr_bundle for write (Jonathan Toppins) [1685309] - [include] RDMA/uverbs: Add missing driver_data (Jonathan Toppins) [1685309] - [infiniband] RDMA/core: Sync unregistration with netlink commands (Jonathan Toppins) [1685309] - [infiniband] RDMA/cma: Move cma module specific functions to cma_priv.h (Jonathan Toppins) [1685309] - [infiniband] RDMA/uverbs: Check for NULL driver methods for every write call (Jonathan Toppins) [1685309] - [infiniband] RDMA/uverbs: Make all the method functions in uverbs_cmd static (Jonathan Toppins) [1685309] - [infiniband] RDMA/uverbs: Convert the write interface to use uverbs_api (Jonathan Toppins) [1685309] - [infiniband] RDMA/verbs: Store the write/write_ex uapi entry points in the uverbs_api (Jonathan Toppins) [1685309] - [infiniband] RDMA/uverbs: Require all objects to have a driver destroy function (Jonathan Toppins) [1685309] - [infiniband] RDMA/uverbs: Add helpers to mark uapi functions as unsupported (Jonathan Toppins) [1685309] - [infiniband] RDMA/uverbs: Factor out the add/get pattern into a helper (Jonathan Toppins) [1685309] - [infiniband] RDMA/uverbs: Use a linear list to describe the compiled-in uapi (Jonathan Toppins) [1685309] - [infiniband] IB/core: Make function ib_fmr_pool_unmap return void (Jonathan Toppins) [1685309] - [include] RDMA/core: Remove unused header files mm.h, socket.h, scatterlist.h (Jonathan Toppins) [1685309] - [include] IB/uverbs: fix a typo (Jonathan Toppins) [1685309] - [fs] coredump: fix race condition between mmget_not_zero()/get_task_mm() and core dumping (Andrea Arcangeli) [1696081] {CVE-2019-3892} - [scsi] scsi: csiostor: fix missing data copy in csio_scsi_err_handler() (Arjun Vynipadath) [1664680] - [scsi] scsi: csiostor: drop serial_number usage (Arjun Vynipadath) [1664680] - [scsi] scsi: csiostor: fix calls to dma_set_mask_and_coherent() (Arjun Vynipadath) [1664680] - [scsi] scsi: csiostor: Remove set but not used variable 'pln' (Arjun Vynipadath) [1664680] - [scsi] scsi: csiostor: no need to check return value of debugfs_create functions (Arjun Vynipadath) [1664680] - [scsi] scsi: csiostor: fix NULL pointer dereference in csio_vport_set_state() (Arjun Vynipadath) [1664680] - [scsi] scsi: csiostor: fix incorrect dma device in case of vport (Arjun Vynipadath) [1664680] - [scsi] scsi: csiostor: switch to generic DMA API (Arjun Vynipadath) [1664680] - [netdrv] thunderx: eliminate extra calls to put_page() for pages held for recycling (Dean Nelson) [1644011] - [netdrv] thunderx: enable page recycling for non-XDP case (Dean Nelson) [1644011] - [cpufreq] cpufreq: intel_pstate: Also use CPPC nominal_perf for base_frequency (Prarit Bhargava) [1696131] - [acpi] ACPI / CPPC: Fix guaranteed performance handling (Prarit Bhargava) [1696131] - [netdrv] ethernet/intel: consolidate NAPI and NAPI exit (Corinna Vinschen) [1659169] - [netdrv] igbvf: Replace spin_is_locked() with lockdep (Corinna Vinschen) [1659169] - [netdrv] intel-ethernet: use correct module license (Corinna Vinschen) [1659169] - [netdrv] igbvf: netdev: Mark expected switch fall-through (Corinna Vinschen) [1659169] - [x86] x86/MCE: Initialize mce.bank in the case of a fatal error in mce_no_way_out() (David Arcari) [1698959] - [x86] x86/mce: Restore MCE injector's module name (David Arcari) [1698959] - [x86] x86/mce: Streamline MCE subsystem's naming (David Arcari) [1698959] - [x86] x86: Fix various typos in comments (David Arcari) [1698959] - [x86] x86/MCE/AMD: Fix the thresholding machinery initialization order (David Arcari) [1698959] - [x86] x86/mce: Fix -Wmissing-prototypes warnings (David Arcari) [1698959] - [x86] acpi/nfit, x86/mce: Validate a MCE's address before using it (David Arcari) [1698959] - [x86] acpi/nfit, x86/mce: Handle only uncorrectable machine checks (David Arcari) [1698959] - [x86] x86: Clean up 'sizeof x' => 'sizeof(x)' (David Arcari) [1698959] - [x86] x86/mcelog: Remove one mce_helper definition (David Arcari) [1698959] - [x86] x86/mce-inject: Reset injection struct after injection (David Arcari) [1698959] - [mm] x86/mce: Fix set_mce_nospec() to avoid #GP fault (David Arcari) [1698959] - [x86] x86/memory_failure: Introduce {set, clear}_mce_nospec() (David Arcari) [1698959] - [x86] x86/mce: Cleanup __mc_scan_banks() (David Arcari) [1698959] - [x86] x86/mce: Carve out bank scanning code (David Arcari) [1698959] - [x86] x86/mce: Carve out the crashing_cpu check (David Arcari) [1698959] - [x86] x86/mce: Always use 64-bit timestamps (David Arcari) [1698959] - [x86] x86/mce: Remove !banks check (David Arcari) [1698959] - [md] dm cache metadata: Fix loading discard bitset (Mike Snitzer) [1701618] - [block] null_blk: prevent crash from bad home_node value (Ming Lei) [1696951] - [powerpc] powerpc/security: Fix spectre_v2 reporting (Gustavo Duarte) [1694456] - [powerpc] powerpc/powernv: Query firmware for count cache flush settings (Gustavo Duarte) [1694456] - [powerpc] powerpc/pseries: Query hypervisor for count cache flush settings (Gustavo Duarte) [1694456] - [powerpc] powerpc/64s: Add support for software count cache flush (Gustavo Duarte) [1694456] - [powerpc] powerpc/64s: Add new security feature flags for count cache flush (Gustavo Duarte) [1694456] - [powerpc] powerpc/asm: Add a patch_site macro & helpers for patching instructions (Gustavo Duarte) [1694456] - [powerpc] powerpc/64: Call setup_barrier_nospec() from setup_arch() (Gustavo Duarte) [1694456] - [powerpc] powerpc/64: Add CONFIG_PPC_BARRIER_NOSPEC (Gustavo Duarte) [1694456] - [powerpc] powerpc64s: Show ori31 availability in spectre_v1 sysfs file not v2 (Gustavo Duarte) [1694456]- [kernel] sched/fair: Limit sched_cfs_period_timer() loop to avoid hard lockup (Joel Savitz) [1695651] - [crypto] crypto: ux500 - Forbid 2-key 3DES in FIPS mode (Herbert Xu) [1687908] - [crypto] crypto: talitos - Forbid 2-key 3DES in FIPS mode (Herbert Xu) [1687908] - [crypto] crypto: sun4i-ss - Forbid 2-key 3DES in FIPS mode (Herbert Xu) [1687908] - [crypto] crypto: stm32 - Forbid 2-key 3DES in FIPS mode (Herbert Xu) [1687908] - [crypto] crypto: rockchip - Forbid 2-key 3DES in FIPS mode (Herbert Xu) [1687908] - [crypto] crypto: qce - Forbid 2-key 3DES in FIPS mode (Herbert Xu) [1687908] - [crypto] crypto: picoxcell - Forbid 2-key 3DES in FIPS mode (Herbert Xu) [1687908] - [crypto] crypto: omap - Forbid 2-key 3DES in FIPS mode (Herbert Xu) [1687908] - [crypto] crypto: n2 - Forbid 2-key 3DES in FIPS mode (Herbert Xu) [1687908] - [crypto] crypto: marvell - Forbid 2-key 3DES in FIPS mode (Herbert Xu) [1687908] - [crypto] crypto: ixp4xx - Forbid 2-key 3DES in FIPS mode (Herbert Xu) [1687908] - [crypto] crypto: hifn_795x - Forbid 2-key 3DES in FIPS mode (Herbert Xu) [1687908] - [crypto] crypto: ccree - Forbid 2-key 3DES in FIPS mode (Herbert Xu) [1687908] - [crypto] crypto: ccp - Forbid 2-key 3DES in FIPS mode (Herbert Xu) [1687908] - [crypto] crypto: cavium - Forbid 2-key 3DES in FIPS mode (Herbert Xu) [1687908] - [crypto] crypto: caam - Forbid 2-key 3DES in FIPS mode (Herbert Xu) [1687908] - [crypto] crypto: bcm - Forbid 2-key 3DES in FIPS mode (Herbert Xu) [1687908] - [crypto] crypto: atmel - Forbid 2-key 3DES in FIPS mode (Herbert Xu) [1687908] - [crypto] crypto: sparc - Forbid 2-key 3DES in FIPS mode (Herbert Xu) [1687908] - [s390] crypto: s390 - Forbid 2-key 3DES in FIPS mode (Herbert Xu) [1687908] - [crypto] crypto: des_generic - Forbid 2-key in 3DES and add helpers (Herbert Xu) [1687908] - [crypto] crypto: mxc-scc - Remove broken driver (Herbert Xu) [1687908] - [kernel] ntp: Audit NTP parameters adjustment (Ondrej Mosnacek) [1680034] - [kernel] timekeeping: Audit clock adjustments (Ondrej Mosnacek) [1680034] - [kernel] ntp: Remove duplicated include (Ondrej Mosnacek) [1680034] - [kernel] timekeeping/ntp: Constify some function arguments (Ondrej Mosnacek) [1680034] - [kernel] ntp: Use kstrtos64 for s64 variable (Ondrej Mosnacek) [1680034] - [kernel] ntp: Remove redundant arguments (Ondrej Mosnacek) [1680034] - [kernel] timekeeping: Use ktime_get_real_ts64() instead of getnstimeofday64() (Ondrej Mosnacek) [1680034] - [netdrv] hinic: Add pci device ids (Xiaojun Tan) [1662040] - [netdrv] net-next/hinic:add shutdown callback (Xiaojun Tan) [1662040] - [netdrv] hinic: optmize rx refill buffer mechanism (Xiaojun Tan) [1662040] - [netdrv] net: hinic: remove redundant pointer pfhwdev (Xiaojun Tan) [1662040] - [netdrv] net: hns: fix unsigned comparison to less than zero (Xiaojun Tan) [1661885] - [netdrv] net: hns: Fix sparse: some warnings in HNS drivers (Xiaojun Tan) [1661885] - [netdrv] net: hns: Fix WARNING when remove HNS driver with SMMU enabled (Xiaojun Tan) [1661885] - [netdrv] net: hns: fix ICMP6 neighbor solicitation messages discard problem (Xiaojun Tan) [1661885] - [netdrv] net: hns: Fix probabilistic memory overwrite when HNS driver initialized (Xiaojun Tan) [1661885] - [netdrv] net: hns: Use NAPI_POLL_WEIGHT for hns driver (Xiaojun Tan) [1661885] - [netdrv] net: hns: fix KASAN: use-after-free in hns_nic_net_xmit_hw() (Xiaojun Tan) [1661885] - [netdrv] net: hns: use struct_size() in devm_kzalloc() (Xiaojun Tan) [1661885] - [netdrv] net: hns: Fixes the missing put_device in positive leg for roce reset (Xiaojun Tan) [1661885] - [netdrv] net: hns: Fix object reference leaks in hns_dsaf_roce_reset() (Xiaojun Tan) [1661885] - [netdrv] net: hns: Restart autoneg need return failed when autoneg off (Xiaojun Tan) [1661885] - [netdrv] net: hns: Fix for missing of_node_put() after of_parse_phandle() (Xiaojun Tan) [1661885] - [netdrv] net: hns: Use struct_size() in devm_kzalloc() (Xiaojun Tan) [1661885] - [netdrv] net: hns: Fix use after free identified by SLUB debug (Xiaojun Tan) [1661885] - [netdrv] net: hns: make function hns_gmac_wait_fifo_clean() static (Xiaojun Tan) [1661885] - [netdrv] net: hns: use eth_get_headlen interface instead of hns_nic_get_headlen (Xiaojun Tan) [1661885] - [netdrv] net: hns: Mark expected switch fall-through (Xiaojun Tan) [1661885] - [netdrv] net: hns: remove redundant variables 'max_frm' and 'tmp_mac_key' (Xiaojun Tan) [1661885] - [netdrv] net: hisilicon: hns: Replace mdelay() with msleep() (Xiaojun Tan) [1661885] - [netdrv] net: hns: make hns_dsaf_roce_reset non static (Xiaojun Tan) [1661885] - [netdrv] net: hns: Make many functions static (Xiaojun Tan) [1661885] - [bluetooth] Bluetooth: btusb: Add support for Intel bluetooth device 8087:0029 (Gopal Tiwari) [1678084] - [bluetooth] Bluetooth: btusb: Use bt_dev_err for Intel firmware loading errors (Gopal Tiwari) [1678084]- [vfio] vfio/pci: Restore device state on PM transition (Alex Williamson) [1700254] - [vfio] vfio/pci: Parallelize device open and release (Alex Williamson) [1700254] - [pci] Revert "PCI/ASPM: Do not initialize link state when aspm_disabled is set" (Myron Stowe) [1694143] - [pci] PCI: Fix incorrect value returned from pcie_get_speed_cap() (Myron Stowe) [1694143] - [x86] x86/PCI: Apply VMD's AERSID fixup generically (Myron Stowe) [1694143] - [pci] PCI/IOV: Remove unnecessary include of (Myron Stowe) [1694143] - [pci] PCI: pcie: Remove redundant 'default n' from Kconfig (Myron Stowe) [1694143] - [documentation] NTB: switchtec_ntb: Update switchtec documentation with prerequisites for NTB (Myron Stowe) [1694143] - [pci] PCI: Fix Switchtec DMA aliasing quirk dmesg noise (Myron Stowe) [1694143] - [pci] PCI: Add macro for Switchtec quirk declarations (Myron Stowe) [1694143] - [pci] PCI: Add Device IDs for Intel GPU "spurious interrupt" quirk (Myron Stowe) [1694143] - [pci] PCI / ACPI: Mark expected switch fall-through (Myron Stowe) [1694143] - [pci] PCI: Remove set but unused variable (Myron Stowe) [1694143] - [pci] PCI: Fix pci.c kernel-doc parameter warning (Myron Stowe) [1694143] - [pci] PCI: Allocate dma_alias_mask with bitmap_zalloc() (Myron Stowe) [1694143] - [include] PCI: Remove unused NFP32xx IDs (Myron Stowe) [1694143] - [maintainers] maintainers: Add Hyper-V IOMMU driver into Hyper-V CORE AND DRIVERS scope (Vitaly Kuznetsov) [1663292 1669989] - [iommu] hyper-v: Add Hyper-V stub IOMMU driver (Vitaly Kuznetsov) [1663292 1669989] - [x86] hyper-v: Set x2apic destination mode to physical when x2apic is available (Vitaly Kuznetsov) [1663292 1669989] - [x86] hyper-v: Enable PIT shutdown quirk (Vitaly Kuznetsov) [1663292 1669989] - [clocksource] clockevents/drivers/i8253: Add support for PIT shutdown quirk (Vitaly Kuznetsov) [1663292 1669989] - [x86] hyperv: Enable PV qspinlock for Hyper-V (Vitaly Kuznetsov) [1663292 1669989] - [x86] hyperv: Add GUEST_IDLE_MSR support (Vitaly Kuznetsov) [1663292 1669989] - [x86] hv: vmbus: Make TLFS #define names architecture neutral (Vitaly Kuznetsov) [1663292 1669989] - [x86] hyperv: Add interrupt handler annotations (Vitaly Kuznetsov) [1663292 1669989] - [pci] hv: Refactor hv_irq_unmask() to use cpumask_to_vpset() (Vitaly Kuznetsov) [1663292 1669989] - [pci] hv: Replace hv_vp_set with hv_vpset (Vitaly Kuznetsov) [1663292 1669989] - [pci] hv: Add __aligned(8) to struct retarget_msi_interrupt (Vitaly Kuznetsov) [1663292 1669989] - [vfio] vfio-pci/nvlink2: Fix ancient gcc warnings (Sam Bobroff) [1524679] - [vfio] vfio/pci: Cleanup license mess (Sam Bobroff) [1524679] - [vfio] vfio/pci: set TRACE_INCLUDE_PATH to fix the build error (Sam Bobroff) [1524679] - [vfio] vfio_pci: Add NVIDIA GV100GL [Tesla V100 SXM2] subdriver (Sam Bobroff) [1524679] - [vfio] vfio_pci: Allow regions to add own capabilities (Sam Bobroff) [1524679] - [vfio] vfio_pci: Allow mapping extra regions (Sam Bobroff) [1524679] - [powerpc] powerpc/powernv/npu: Fault user page into the hypervisor's pagetable (Sam Bobroff) [1524679] - [powerpc] powerpc/powernv/npu: Check mmio_atsd array bounds when populating (Sam Bobroff) [1524679] - [powerpc] powerpc/powernv/npu: Add release_ownership hook (Sam Bobroff) [1524679] - [powerpc] powerpc/powernv/npu: Add compound IOMMU groups (Sam Bobroff) [1524679] - [powerpc] powerpc/powernv/npu: Convert NPU IOMMU helpers to iommu_table_group_ops (Sam Bobroff) [1524679] - [powerpc] powerpc/powernv/npu: Move single TVE handling to NPU PE (Sam Bobroff) [1524679] - [powerpc] powerpc/powernv: Reference iommu_table while it is linked to a group (Sam Bobroff) [1524679] - [powerpc] powerpc/iommu_api: Move IOMMU groups setup to a single place (Sam Bobroff) [1524679] - [powerpc] powerpc/powernv/pseries: Rework device adding to IOMMU groups (Sam Bobroff) [1524679] - [powerpc] powerpc/pseries: Remove IOMMU API support for non-LPAR systems (Sam Bobroff) [1524679] - [powerpc] powerpc/pseries/npu: Enable platform support (Sam Bobroff) [1524679] - [powerpc] powerpc/pseries/iommu: Use memory@ nodes in max RAM address calculation (Sam Bobroff) [1524679] - [powerpc] powerpc/powernv/npu: Move OPAL calls away from context manipulation (Sam Bobroff) [1524679] - [powerpc] powerpc/powernv: Move npu struct from pnv_phb to pci_controller (Sam Bobroff) [1524679] - [powerpc] powerpc/vfio/iommu/kvm: Do not pin device memory (Sam Bobroff) [1524679] - [vfio] powerpc/mm/iommu/vfio_spapr_tce: Change mm_iommu_get to reference a region (Sam Bobroff) [1524679] - [powerpc] powerpc/ioda/npu: Call skiboot's hot reset hook when disabling NPU2 (Sam Bobroff) [1524679] - [powerpc] powerpc/powernv/ioda: Allocate indirect TCE levels of cached userspace addresses on demand (Sam Bobroff) [1524679] - [powerpc] powerpc/powernv/ioda1: Remove dead code for a single device PE (Sam Bobroff) [1524679] - [rpmspec] redhat: add TC selftests to kernel-selftests-internal (Ivan Vecera) [1691376] - [rpmspec] redhat: add net selftests to kernel-selftests-internal (Ivan Vecera) [1691376] - [rpmspec] redhat: add pktgen samples to kernel-selftests-internal (Ivan Vecera) [1691376] - [rpmspec] redhat: rename bpf_samples to kernel-selftests-internal (Ivan Vecera) [1691376] - [rpmspec] redhat: remove bpf_samples dependency on glibc-static and build it by default (Ivan Vecera) [1691376] - [tools] selftests: bpf: modify urandom_read and link it non-statically (Ivan Vecera) [1691376]- [netdrv] ibmvnic: Fix netdev feature clobbering during a reset (Steve Best) [1699018] - [netdrv] ibmvnic: Enable GRO (Steve Best) [1699018] - [x86] x86/perf/amd: Remove need to check "running" bit in NMI handler (David Arcari) [1640238] - [x86] x86/perf/amd: Resolve NMI latency issues for active PMCs (David Arcari) [1640238] - [x86] x86/perf/amd: Resolve race condition when disabling PMC (David Arcari) [1640238] - [netdrv] qed: Fix qed_mcp_halt|resume() (Manish Chopra) [1697310]- [x86] x86/kexec: Fix a kexec_file_load() failure (Bhupesh Sharma) [1666078] - [arm64] arm64: kexec_file: include linux/vmalloc.h (Bhupesh Sharma) [1666078] - [arm64] arm64: kexec_file: handle empty command-line (Bhupesh Sharma) [1666078] - [arm64] arm64: kexec_file: return successfully even if kaslr-seed doesn't exist (Bhupesh Sharma) [1666078] - [arm64] arm64: kexec_file: Refactor setup_dtb() to consolidate error checking (Bhupesh Sharma) [1666078] - [arm64] arm64: kexec_file: add kaslr support (Bhupesh Sharma) [1666078] - [char] random: Make crng state queryable (Bhupesh Sharma) [1666078] - [include] include: pe.h: remove message[] from mz header definition (Bhupesh Sharma) [1666078] - [arm64] arm64: kexec_file: invoke the kernel without purgatory (Bhupesh Sharma) [1666078] - [arm64] arm64: kexec_file: allow for loading Image-format kernel (Bhupesh Sharma) [1666078] - [arm64] arm64: kexec_file: load initrd and device-tree (Bhupesh Sharma) [1666078] - [arm64] arm64: enable KEXEC_FILE config (Bhupesh Sharma) [1666078] - [arm64] arm64: cpufeature: add MMFR0 helper functions (Bhupesh Sharma) [1666078] - [arm64] arm64: add image head flag definitions (Bhupesh Sharma) [1666078] - [kernel] kexec_file: kexec_walk_memblock() only walks a dedicated region at kdump (Bhupesh Sharma) [1666078] - [kernel] powerpc, kexec_file: factor out memblock-based arch_kexec_walk_mem() (Bhupesh Sharma) [1666078] - [kernel] s390, kexec_file: drop arch_kexec_mem_walk() (Bhupesh Sharma) [1666078] - [kernel] kexec_file: make kexec_image_post_load_cleanup_default() global (Bhupesh Sharma) [1666078] - [include] asm-generic: add kexec_file_load system call to unistd.h (Bhupesh Sharma) [1666078] - [include] asm-generic: unistd.h: Wire up sys_rseq (Bhupesh Sharma) [1666078] - [fs] xfs: don't overflow xattr listent buffer (Bill O'Donnell) [1683531] - [drm] drm/i915/gvt: Add in context mmio 0x20D8 to gen9 mmio list (Paul Lai) [1651589] - [fs] copy_mount_string: Limit string length to PATH_MAX (Miklos Szeredi) [1655272] - [include] redhat: Reuse other arch's cpuhp_state to protect kABI (Robert Richter) [1658476] - [drivers] drivers/perf: Add Cavium ThunderX2 SoC UNCORE PMU driver (Robert Richter) [1658476] - [documentation] Documentation: perf: Add documentation for ThunderX2 PMU uncore driver (Robert Richter) [1658476]- [arm64] arm64: apply workaround on A64FX v1r0 (Mark Langsdorf) [1692306] - [fs] kernfs: fix xattr name handling in LSM helpers (Ondrej Mosnacek) [1558179] - [include] LSM: lsm_hooks.h - fix missing colon in docstring (Ondrej Mosnacek) [1558179] - [security] selinux: Make selinux_kernfs_init_security static (Ondrej Mosnacek) [1558179] - [fs] kernfs: initialize security of newly created nodes (Ondrej Mosnacek) [1558179] - [security] selinux: implement the kernfs_init_security hook (Ondrej Mosnacek) [1558179] - [include] LSM: add new hook for kernfs node initialization (Ondrej Mosnacek) [1558179] - [fs] kernfs: use simple_xattrs for security attributes (Ondrej Mosnacek) [1558179] - [security] selinux: try security xattr after genfs for kernfs filesystems (Ondrej Mosnacek) [1558179] - [fs] kernfs: do not alloc iattrs in kernfs_xattr_get (Ondrej Mosnacek) [1558179] - [fs] kernfs: clean up struct kernfs_iattrs (Ondrej Mosnacek) [1558179] - [fs] kernfs: allow creating kernfs objects with arbitrary uid/gid (Ondrej Mosnacek) [1558179] - [tools] tools/power turbostat: Add Icelake support (Steve Best) [1698546] - [tools] tools/power turbostat: consolidate duplicate model numbers (Steve Best) [1698546] - [mm] s390/mm: silence compiler warning when compiling without CONFIG_PGSTE (Thomas Huth) [1698848] - [scripts] unifdef: use memcpy instead of strncpy (Thomas Huth) [1698848] - [s390] s390: align struct lowcore to double page size (Thomas Huth) [1698848] - [powerpc] KVM: PPC: Book3S HV: Perserve PSSCR FAKE_SUSPEND bit on guest exit (Suraj Jitindar Singh) [1689768]- [virtio] virtio: Honour 'may_reduce_num' in vring_create_virtqueue (Cornelia Huck) [1697505] - [s390] setup: set control program code via diag 318 (Thomas Huth) [1592336] - [s390] kvm: s390: set host program identifier (Thomas Huth) [1592336] - [edac] EDAC, skx: Fix randconfig builds in a better way (Aristeu Rozanski) [1501612 1649988 1571534] - [edac] EDAC, skx: Fix randconfig builds (Aristeu Rozanski) [1501612 1649988 1571534] - [edac] EDAC, skx_edac: Add address translation for non-volatile DIMMs (Aristeu Rozanski) [1501612 1649988 1571534] - [acpi] ACPI/ADXL: Add address translation interface using an ACPI DSM (Aristeu Rozanski) [1501612 1649988 1571534] - [x86] x86/mce: Add macros for the corrected error count bit field (Aristeu Rozanski) [1501612 1649988 1571534] - [x86] x86/mce: Use BIT_ULL(x) for bit mask definitions (Aristeu Rozanski) [1501612 1649988 1571534] - [crypto] crypto: ecc - regularize scalar for scalar multiplication (Neil Horman) [1687888] - [crypto] crypto: ecc - check for invalid values in the key verification test (Neil Horman) [1687888] - [crypto] crypto: dh - make crypto_dh_encode_key() make robust (Neil Horman) [1687888] - [crypto] crypto: dh - fix calculating encoded key size (Neil Horman) [1687888] - [crypto] crypto: ecdh - fix typo of P-192 b value (Neil Horman) [1687888] - [crypto] crypto: ecdh - add public key verification test (Neil Horman) [1687888] - [crypto] crypto: dh - fix memory leak (Neil Horman) [1687888] - [crypto] crypto: dh - add public key verification test (Neil Horman) [1687888] - [scsi] scsi: hisi_sas: Add softreset in hisi_sas_I_T_nexus_reset() (Xiaojun Tan) [1662038] - [scsi] scsi: hisi_sas: Change SERDES_CFG init value to increase reliability of HiLink (Xiaojun Tan) [1662038] - [scsi] scsi: hisi_sas: Send HARD RESET to clear the previous affiliation of STP target port (Xiaojun Tan) [1662038] - [scsi] scsi: hisi_sas: Set PHY linkrate when disconnected (Xiaojun Tan) [1662038] - [scsi] scsi: hisi_sas: print PHY RX errors count for later revision of v3 hw (Xiaojun Tan) [1662038] - [scsi] scsi: hisi_sas: Fix a timeout race of driver internal and SMP IO (Xiaojun Tan) [1662038] - [scsi] scsi: hisi_sas: Change return variable type in phy_up_v3_hw() (Xiaojun Tan) [1662038] - [scsi] scsi: hisi_sas: fix calls to dma_set_mask_and_coherent() (Xiaojun Tan) [1662038] - [scsi] scsi: hisi_sas: Do some more tidy-up (Xiaojun Tan) [1662038] - [scsi] scsi: hisi_sas: Use pci_irq_get_affinity() for v3 hw as experimental (Xiaojun Tan) [1662038] - [scsi] scsi: hisi_sas: Issue internal abort on all relevant queues (Xiaojun Tan) [1662038] - [scsi] scsi: hisi_sas: change queue depth from 512 to 4096 (Xiaojun Tan) [1662038] - [scsi] scsi: hisi_sas: Add manual trigger for debugfs dump (Xiaojun Tan) [1662038] - [scsi] scsi: hisi_sas: Add support for DIX feature for v3 hw (Xiaojun Tan) [1662038] - [scsi] scsi: hisi_sas: Add missing seq_printf() call in hisi_sas_show_row_32() (Xiaojun Tan) [1662038] - [scsi] scsi: hisi_sas: Fix to only call scsi_get_prot_op() for non-NULL scsi_cmnd (Xiaojun Tan) [1662038] - [scsi] scsi: hisi_sas: Some misc tidy-up (Xiaojun Tan) [1662038] - [scsi] scsi: hisi_sas: Correct memory allocation size for DQ debugfs (Xiaojun Tan) [1662038] - [scsi] scsi: hisi_sas: Fix losing directly attached disk when hot-plug (Xiaojun Tan) [1662038] - [scsi] scsi: hisi_sas: Reject setting programmed minimum linkrate > 1.5G (Xiaojun Tan) [1662038] - [scsi] scsi: hisi_sas: Remove unused parameter of function hisi_sas_alloc() (Xiaojun Tan) [1662038] - [scsi] scsi: hisi_sas: remove the check of sas_dev status in hisi_sas_I_T_nexus_reset() (Xiaojun Tan) [1662038] - [scsi] scsi: hisi_sas: shutdown axi bus to avoid exception CQ returned (Xiaojun Tan) [1662038] - [scsi] scsi: hisi_sas: send primitive NOTIFY to SSP situation only (Xiaojun Tan) [1662038] - [scsi] scsi: hisi_sas: Add debugfs ITCT file and add file operations (Xiaojun Tan) [1662038] - [scsi] scsi: hisi_sas: Fix type casting and missing static qualifier in debugfs code (Xiaojun Tan) [1662038] - [scsi] scsi: hisi_sas: No need to check return value of debugfs_create functions (Xiaojun Tan) [1662038] - [scsi] scsi: hisi_sas: Set protection parameters prior to adding SCSI host (Xiaojun Tan) [1662038] - [scsi] scsi: hisi_sas: Add debugfs IOST file and add file operations (Xiaojun Tan) [1662038] - [scsi] scsi: hisi_sas: Add debugfs DQ file and add file operations (Xiaojun Tan) [1662038] - [scsi] scsi: hisi_sas: Add debugfs CQ file and add file operations (Xiaojun Tan) [1662038] - [scsi] scsi: hisi_sas: Add debugfs for port registers (Xiaojun Tan) [1662038] - [scsi] scsi: hisi_sas: Debugfs global register create file and add file operations (Xiaojun Tan) [1662038] - [scsi] scsi: hisi_sas: Take debugfs snapshot for all regs (Xiaojun Tan) [1662038] - [scsi] scsi: hisi_sas: Alloc debugfs snapshot buffer memory for all registers (Xiaojun Tan) [1662038] - [scsi] scsi: hisi_sas: Create root and device debugfs directories (Xiaojun Tan) [1662038] - [scsi] scsi: hisi_sas: Add support for DIF feature for v2 hw (Xiaojun Tan) [1662038] - [scsi] scsi: hisi_sas: Make sg_tablesize consistent value (Xiaojun Tan) [1662038] - [scsi] scsi: hisi_sas: Relocate some code to reduce complexity (Xiaojun Tan) [1662038] - [scsi] scsi: hisi_sas: Fix warnings detected by sparse (Xiaojun Tan) [1662038] - [scsi] scsi: hisi_sas: change the time of SAS SSP connection (Xiaojun Tan) [1662038] - [scsi] scsi: hisi_sas: Relocate some codes to avoid an unused check (Xiaojun Tan) [1662038] - [scsi] scsi: hisi_sas: Add support for interrupt coalescing for v3 hw (Xiaojun Tan) [1662038] - [scsi] scsi: hisi_sas: Add support for interrupt converge for v3 hw (Xiaojun Tan) [1662038] - [scsi] scsi: hisi_sas: Create separate host attributes per HBA (Xiaojun Tan) [1662038] - [scsi] scsi: hisi_sas: use dma_set_mask_and_coherent (Xiaojun Tan) [1662038] - [scsi] scsi: hisi_sas: Remove set but not used variable 'dq_list' (Xiaojun Tan) [1662038] - [scsi] scsi: hisi_sas: Fix NULL pointer dereference (Xiaojun Tan) [1662038] - [nvme] nvme-pci: add missing unlock for reset error (Gopal Tiwari) [1665354] - [nvme] nvme-pci: fix rapid add remove sequence (Gopal Tiwari) [1665354] - [nvme] nvme: remove the .stop_ctrl callout (Gopal Tiwari) [1665354] - [nvme] nvme: add support for the Write Zeroes command (Gopal Tiwari) [1665354] - [nvme] nvmet-rdma: fix null dereference under heavy load (Gopal Tiwari) [1665354] - [nvme] nvme-rdma: fix timeout handler (Gopal Tiwari) [1665354] - [nvme] nvme-tcp: fix timeout handler (Gopal Tiwari) [1665354] - [nvme] nvmet-tcp: fix uninitialized variable access (Gopal Tiwari) [1665354] - [nvme] nvme: don't initlialize ctrl->cntlid twice (Gopal Tiwari) [1665354] - [nvme] nvme: introduce NVME_QUIRK_IGNORE_DEV_SUBNQN (Gopal Tiwari) [1665354] - [nvme] nvme-tcp: remove dead code (Gopal Tiwari) [1665354] - [nvme] nvme-tcp: don't ask if controller is fabrics (Gopal Tiwari) [1665354] - [nvme] nvme-fabrics: unset write/poll queues for discovery controllers (Gopal Tiwari) [1665354] - [nvme] nvme: pad fake subsys NQN vid and ssvid with zeros (Gopal Tiwari) [1665354] - [nvme] nvme-pci: fix out of bounds access in nvme_cqe_pending (Gopal Tiwari) [1665354] - [nvme] nvme-pci: use the same attributes when freeing host_mem_desc_bufs. (Gopal Tiwari) [1665354] - [nvme] nvme-pci: fix the wrong setting of nr_maps (Gopal Tiwari) [1665354] - [nvme] nvme-pci: rerun irq setup on IO queue init errors (Gopal Tiwari) [1665354] - [nvme] nvme-pci: trace SQ status on completions (Gopal Tiwari) [1665354] - [nvme] nvme-fabrics: allow user to pass in nr_poll_queues (Gopal Tiwari) [1665354] - [nvme] nvme-core: optionally poll sync commands (Gopal Tiwari) [1665354] - [nvme] nvme-tcp: fix spelling mistake "attepmpt" -> "attempt" (Gopal Tiwari) [1665354] - [nvme] nvme-tcp: fix endianess annotations (Gopal Tiwari) [1665354] - [nvme] nvmet-tcp: fix endianess annotations (Gopal Tiwari) [1665354] - [nvme] nvme-pci: refactor nvme_poll_irqdisable to make sparse happy (Gopal Tiwari) [1665354] - [nvme] nvme-pci: only set nr_maps to 2 if poll queues are supported (Gopal Tiwari) [1665354] - [nvme] nvmet: use a macro for default error location (Gopal Tiwari) [1665354] - [nvme] nvmet: fix comparison of a u16 with -1 (Gopal Tiwari) [1665354] - [nvme] nvme: fix kernel paging oops (Gopal Tiwari) [1665354] - [nvme] nvme-rdma: support separate queue maps for read and write (Gopal Tiwari) [1665354] - [nvme] nvme-tcp: support separate queue maps for read and write (Gopal Tiwari) [1665354] - [include] block: make request_to_qc_t public (Gopal Tiwari) [1665354] - [nvme] nvme-fabrics: allow user to set nr_write_queues for separate queue maps (Gopal Tiwari) [1665354] - [nvme] nvme-fabrics: add missing nvmf_ctrl_options documentation (Gopal Tiwari) [1665354] - [nvme] blk-mq-rdma: pass in queue map to blk_mq_rdma_map_queues (Gopal Tiwari) [1665354] - [nvme] nvmet: update smart log with num err log entries (Gopal Tiwari) [1665354] - [nvme] nvmet: add error log support for file backend (Gopal Tiwari) [1665354] - [nvme] nvmet: add error log page cmd handler (Gopal Tiwari) [1665354] - [nvme] nvmet: add error log support for bdev backend (Gopal Tiwari) [1665354] - [nvme] nvmet: add error log support for admin-cmd (Gopal Tiwari) [1665354] - [nvme] nvmet: add error log support for fabrics-cmd (Gopal Tiwari) [1665354] - [nvme] nvmet: add error log support for rdma backend (Gopal Tiwari) [1665354] - [nvme] nvmet: add error log support in the core (Gopal Tiwari) [1665354] - [nvme] nvmet: add interface to update error-log page (Gopal Tiwari) [1665354] - [include] nvme: add error log page slot definition (Gopal Tiwari) [1665354] - [nvme] nvmet: add error-log definitions (Gopal Tiwari) [1665354] - [nvme] nvme: remove nvme_common command cdw10 array (Gopal Tiwari) [1665354] - [nvme] nvme: provide fallback for discard alloc failure (Gopal Tiwari) [1665354] - [nvme] nvmet: remove unused variable (Gopal Tiwari) [1665354] - [nvme] nvme: add __exit annotation (Gopal Tiwari) [1665354] - [nvme] nvmet: allow configfs tcp trtype configuration (Gopal Tiwari) [1665354] - [nvme] nvme-tcp: add NVMe over TCP host driver (Gopal Tiwari) [1665354] - [nvme] nvmet-tcp: add NVMe over TCP target driver (Gopal Tiwari) [1665354] - [nvme] nvme-fabrics: allow user passing data digest (Gopal Tiwari) [1665354] - [nvme] nvme-fabrics: allow user passing header digest (Gopal Tiwari) [1665354] - [nvme] nvmet: Add install_queue callout (Gopal Tiwari) [1665354] - [nvme] nvmet: use unlikely for req status check (Gopal Tiwari) [1665354] - [include] nvme-tcp: Add protocol header (Gopal Tiwari) [1665354] - [nvme] nvmet-rdma: Add unlikely for response allocated check (Gopal Tiwari) [1665354] - [nvme] nvmet: fix the structure member indentation (Gopal Tiwari) [1665354] - [nvme] nvme: implement Enhanced Command Retry (Gopal Tiwari) [1665354] - [nvme] nvme: remove unused function nvme_ctrl_ready (Gopal Tiwari) [1665354] - [nvme] nvmet: support fabrics sq flow control (Gopal Tiwari) [1665354] - [nvme] nvmet: enable Discovery Controller AENs (Gopal Tiwari) [1665354] - [nvme] nvmet: expose support for fabrics SQ flow control disable in treq (Gopal Tiwari) [1665354] - [nvme] nvme: disable fabrics SQ flow control when asked by the user (Gopal Tiwari) [1665354] - [nvme] nvmet-fc: remove the IN_ISR deferred scheduling options (Gopal Tiwari) [1665354] - [nvme] nvme: Remove unused forward declaration (Gopal Tiwari) [1665354] - [nvme] nvmet: allow host connect even if no allowed subsystems are exported (Gopal Tiwari) [1665354] - [nvme] nvmet: don't override treq upon modification. (Gopal Tiwari) [1665354] - [nvme] nvmet: mark nvmet_genctr static (Gopal Tiwari) [1665354] - [nvme] nvmet: add defines for discovery change async events (Gopal Tiwari) [1665354] - [nvme] nvmet: support for traffic based keep-alive (Gopal Tiwari) [1665354] - [nvme] nvmet: make kato and AEN processing for use by other controllers (Gopal Tiwari) [1665354] - [nvme] nvmet: change aen mask functions to use bit numbers (Gopal Tiwari) [1665354] - [nvme] nvmet: provide aen bit functions for multiple controller types (Gopal Tiwari) [1665354] - [nvme] nvmet: add support to Discovery controllers for commands (Gopal Tiwari) [1665354] - [nvme] nvmet: use IOCB_NOWAIT for file-ns buffered I/O (Gopal Tiwari) [1665354] - [nvme] nvmet: allow Keep Alive for Discovery controller (Gopal Tiwari) [1665354] - [nvme] nvme: support traffic based keep-alive (Gopal Tiwari) [1665354] - [nvme] nvme: cache controller attributes (Gopal Tiwari) [1665354] - [nvme] nvme: introduce ctrl attributes enumeration (Gopal Tiwari) [1665354] - [nvme] nvme: consolidate memset calls in the nvme_setup_cmd path (Gopal Tiwari) [1665354] - [nvme] nvme: warn when finding multi-port subsystems without multipathing enabled (Gopal Tiwari) [1665354] - [nvme] Revert "nvmet-rdma: use a private workqueue for delete" (Gopal Tiwari) [1665354] - [nvme] nvme-fabrics: move controller options matching to fabrics (Gopal Tiwari) [1665354] - [nvme] nvme-rdma: always have a valid trsvcid (Gopal Tiwari) [1665354] - [nvme] nvme-pci: remove duplicate check (Gopal Tiwari) [1665354] - [nvme] nvme-pci: fix hot removal during error handling (Gopal Tiwari) [1665354] - [nvme] nvmet-fcloop: suppress a compiler warning (Gopal Tiwari) [1665354] - [nvme] nvme-core: make implicit seed truncation explicit (Gopal Tiwari) [1665354] - [nvme] nvmet-fc: fix kernel-doc headers (Gopal Tiwari) [1665354] - [nvme] nvmet: avoid integer overflow in the discard code (Gopal Tiwari) [1665354] - [nvme] nvmet-rdma: declare local symbols static (Gopal Tiwari) [1665354] - [nvme] nvmet: use strlcpy() instead of strcpy() (Gopal Tiwari) [1665354] - [nvme] nvme-pci: fix nvme_suspend_queue() kernel-doc header (Gopal Tiwari) [1665354] - [nvme] nvme-core: declare local symbols static (Gopal Tiwari) [1665354] - [nvme] nvme-core: rework a NQN copying operation (Gopal Tiwari) [1665354] - [nvme] nvmet: use strcmp() instead of strncmp() for subsystem lookup (Gopal Tiwari) [1665354] - [nvme] nvmet-rdma: check for timeout in nvme_rdma_wait_for_cm() (Gopal Tiwari) [1665354] - [nvme] nvmet: remove unreachable code (Gopal Tiwari) [1665354] - [nvme] nvme: update node paths after adding new path (Gopal Tiwari) [1665354] - [nvme] nvme: remove ns sibling before clearing path (Gopal Tiwari) [1665354] - [nvme] nvmet-rdma: use a private workqueue for delete (Gopal Tiwari) [1665354] - [nvme] nvmet: don't split large I/Os unconditionally (Gopal Tiwari) [1665354] - [nvme] nvme-core: add async event trace helper (Gopal Tiwari) [1665354] - [nvme] nvmet_fc: support target port removal with nvmet layer (Gopal Tiwari) [1665354] - [nvme] nvmet: remove redundant module prefix (Gopal Tiwari) [1665354] - [nvme] nvme: fix typo in nvme_identify_ns_descs (Gopal Tiwari) [1665354] - [nvme] nvme: register ns_id attributes as default sysfs groups (Gopal Tiwari) [1665354] - [block] block: genhd: add 'groups' argument to device_add_disk (Gopal Tiwari) [1665354] - [nvme] nvme: count all ANA groups for ANA Log page (Gopal Tiwari) [1665354] - [nvme] nvmet-rdma: fix possible bogus dereference under heavy load (Gopal Tiwari) [1665354] - [nvme] nvmet: free workqueue object if module init fails (Gopal Tiwari) [1665354] - [nvme] nvme-fcloop: Fix dropped LS's to removed target port (Gopal Tiwari) [1665354] - [nvme] nvme-pci: add a memory barrier to nvme_dbbuf_update_and_check_event (Gopal Tiwari) [1665354] - [nvme] nvmet: add ns write protect support (Gopal Tiwari) [1665354] - [nvme] nvme: set gendisk read only based on nsattr (Gopal Tiwari) [1665354] - [include] nvme.h: add support for ns write protect definitions (Gopal Tiwari) [1665354] - [nvme] nvmet: use Retain Async Event bit to clear AEN (Gopal Tiwari) [1665354] - [nvme] nvmet: support configuring ANA groups (Gopal Tiwari) [1665354] - [nvme] nvmet: add minimal ANA support (Gopal Tiwari) [1665354] - [nvme] nvmet: track and limit the number of namespaces per subsystem (Gopal Tiwari) [1665354] - [nvme] nvmet: keep a port pointer in nvmet_ctrl (Gopal Tiwari) [1665354] - [nvme] nvmet: check fileio lba range access boundaries (Gopal Tiwari) [1665354] - [nvme] nvmet: don't use uuid_le type (Gopal Tiwari) [1665354] - [nvme] nvme-rdma: centralize admin/io queue teardown sequence (Gopal Tiwari) [1665354] - [nvme] nvmet: fix file discard return status (Gopal Tiwari) [1665354] - [nvme] nvme-rdma: centralize controller setup sequence (Gopal Tiwari) [1665354] - [nvme] nvme-rdma: unquiesce queues when deleting the controller (Gopal Tiwari) [1665354] - [nvme] nvme: add disk name to trace events (Gopal Tiwari) [1665354] - [nvme] nvme-rdma: mark expected switch fall-through (Gopal Tiwari) [1665354] - [nvme] nvme: add controller name to trace events (Gopal Tiwari) [1665354] - [nvme] nvme: use hw qid in trace events (Gopal Tiwari) [1665354] - [nvme] nvmet: add buffered I/O support for file backed ns (Gopal Tiwari) [1665354] - [nvme] nvme: move init of keep_alive work item to controller initialization (Gopal Tiwari) [1665354] - [nvme] nvmet: add commands supported and effects log page (Gopal Tiwari) [1665354] - [nvme] lightnvm: limit get chunk meta request size (Gopal Tiwari) [1665354] - [nvme] lightnvm: Remove redundant rq->__data_len initialization (Gopal Tiwari) [1665354] - [block] nbd: restrict use to AF_UNIX sockets (Mike Christie) [1673307] - [block] nbd: don't allow invalid blocksize settings (Mike Christie) [1673307] - [documentation] doc, block, bfq: add information on bfq execution time (Ming Lei) [1686682] - [block] block, bfq: save & resume weight on a queue merge/split (Ming Lei) [1686682] - [block] block, bfq: print SHARED instead of pid for shared queues in logs (Ming Lei) [1686682] - [block] block, bfq: always protect newly-created queues from existing active queues (Ming Lei) [1686682] - [block] block, bfq: do not tag totally seeky queues as soft rt (Ming Lei) [1686682] - [block] block, bfq: do not merge queues on flash storage with queueing (Ming Lei) [1686682] - [block] block, bfq: tune service injection basing on request service times (Ming Lei) [1686682] - [block] block, bfq: do not idle for lowest-weight queues (Ming Lei) [1686682] - [block] block, bfq: increase idling for weight-raised queues (Ming Lei) [1686682] - [block] block/bfq: fix ifdef for CONFIG_BFQ_GROUP_IOSCHED=y (Ming Lei) [1686682] - [block] block, bfq: fix in-service-queue check for queue merging (Ming Lei) [1686682] - [block] block, bfq: do not overcharge writes in asymmetric scenarios (Ming Lei) [1686682] - [block] block, bfq: port commit "cfq-iosched: improve hw_tag detection" (Ming Lei) [1686682] - [block] block, bfq: reduce threshold for detecting command queueing (Ming Lei) [1686682] - [block] block, bfq: fix queue removal from weights tree (Ming Lei) [1686682] - [block] block, bfq: fix sequential rq detection in rate estimation (Ming Lei) [1686682] - [block] block, bfq: unconditionally plug I/O in asymmetric scenarios (Ming Lei) [1686682] - [block] block, bfq: do not plug I/O of in-service queue when harmful (Ming Lei) [1686682] - [block] block, bfq: split function bfq_better_to_idle (Ming Lei) [1686682] - [block] block, bfq: consider also ioprio classes in symmetry detection (Ming Lei) [1686682] - [block] block, bfq: remove case of redirected bic from insert_request (Ming Lei) [1686682] - [block] block, bfq: make sure queue budgets are not below service received (Ming Lei) [1686682] - [block] block, bfq: avoid selecting a queue w/o budget (Ming Lei) [1686682] - [block] block, bfq: do not consider interactive queues in srt filtering (Ming Lei) [1686682] - [net] net: switchdev: Add extack to switchdev_handle_port_obj_add() callback (Ivan Vecera) [1690125] - [net] switchdev: Add extack to struct switchdev_notifier_info (Ivan Vecera) [1690125] - [net] vxlan: Add a function to init switchdev_notifier_vxlan_fdb_info (Ivan Vecera) [1690125] - [net] switchdev: Add extack argument to switchdev_port_obj_add() (Ivan Vecera) [1690125] - [net] bridge: Propagate extack to switchdev (Ivan Vecera) [1690125] - [net] ndo_bridge_setlink: Add extack (Ivan Vecera) [1690125] - [net] rocker, dsa, ethsw: Don't filter VLAN events on bridge itself (Ivan Vecera) [1690125] - [net] switchdev: Replace port obj add/del SDO with a notification (Ivan Vecera) [1690125] - [net] ocelot: Handle SWITCHDEV_PORT_OBJ_ADD/_DEL (Ivan Vecera) [1690125] - [net] mlxsw: spectrum_switchdev: Handle SWITCHDEV_PORT_OBJ_ADD/_DEL (Ivan Vecera) [1690125] - [net] switchdev: Add helpers to aid traversal through lower devices (Ivan Vecera) [1690125] - [net] staging: fsl-dpaa2: ethsw: Handle SWITCHDEV_PORT_OBJ_ADD/_DEL (Ivan Vecera) [1690125] - [net] staging: fsl-dpaa2: ethsw: Introduce ethsw_port_dev_check() (Ivan Vecera) [1690125] - [net] dsa: slave: Handle SWITCHDEV_PORT_OBJ_ADD/_DEL (Ivan Vecera) [1690125] - [net] rocker: Handle SWITCHDEV_PORT_OBJ_ADD/_DEL (Ivan Vecera) [1690125] - [net] switchdev: Add SWITCHDEV_PORT_OBJ_ADD, SWITCHDEV_PORT_OBJ_DEL (Ivan Vecera) [1690125] - [net] switchdev: Add a blocking notifier chain (Ivan Vecera) [1690125] - [net] switchdev: SWITCHDEV_OBJ_PORT_{VLAN, MDB}(): Sanitize (Ivan Vecera) [1690125] - [net] selftests: forwarding: Fix test for different devices (Ivan Vecera) [1693316] - [net] selftests: forwarding: vxlan_bridge_1d: Add learning test (Ivan Vecera) [1693316] - [net] bridge: Allow querying bridge port flags (Ivan Vecera) [1693316] - [netdrv] vxlan: Allow changing ageing time (Ivan Vecera) [1693316] - [netdrv] vxlan: Add hardware FDB learning (Ivan Vecera) [1693316] - [netdrv] vxlan: Don't override user-added entries with ext-learned ones (Ivan Vecera) [1693316] - [netdrv] vxlan: Mark user-added FDB entries (Ivan Vecera) [1693316] - [netdrv] vxlan: vxlan_fdb_notify(): Make switchdev notification configurable (Ivan Vecera) [1693316] - [netdrv] vxlan: __vxlan_fdb_delete(): Drop unused argument vid (Ivan Vecera) [1693316] - [netdrv] vxlan: support NTF_USE refresh of fdb entries (Ivan Vecera) [1693316] - [net] selftests: forwarding: vxlan_bridge_1d_port_8472: New test (Ivan Vecera) [1693316] - [net] selftests: forwarding: vxlan_bridge_1d: Add an ECN decap test (Ivan Vecera) [1693316] - [net] selftests: forwarding: vxlan_bridge_1d: Add an ECN encap test (Ivan Vecera) [1693316] - [net] selftests: forwarding: vxlan_bridge_1d: Add a TOS test (Ivan Vecera) [1693316] - [net] selftests: forwarding: vxlan_bridge_1d: Add a TTL test (Ivan Vecera) [1693316] - [net] selftests: forwarding: vxlan_bridge_1d: Reconfigure & rerun tests (Ivan Vecera) [1693316] - [net] selftests: forwarding: vxlan_bridge_1d: Add unicast test (Ivan Vecera) [1693316] - [net] selftests: forwarding: vxlan_bridge_1d: Add flood test (Ivan Vecera) [1693316] - [net] selftests: forwarding: vxlan_bridge_1d: Add ping test (Ivan Vecera) [1693316] - [net] selftests: forwarding: Add a skeleton of vxlan_bridge_1d (Ivan Vecera) [1693316] - [net] selftests: forwarding: lib: Add link_stats_rx_errors_get() (Ivan Vecera) [1693316] - [net] selftests: forwarding: ping{6, }_do(): Allow passing ping arguments (Ivan Vecera) [1693316] - [net] selftests: forwarding: ping{6, }_test(): Add description argument (Ivan Vecera) [1693316] - [net] selftests: forwarding: lib: Add in_ns() (Ivan Vecera) [1693316] - [net] selftests: forwarding: lib: Support NUM_NETIFS of 0 (Ivan Vecera) [1693316] - [net] skb_scrub_packet(): Scrub offload_fwd_mark (Ivan Vecera) [1693316] - [net] selftests: forwarding: lib: extract ping and ping6 so they can be reused (Ivan Vecera) [1693316] - [net] selftests: forwarding: README: Require diagrams (Ivan Vecera) [1693316] - [net] selftests: forwarding: lib: Extract interface-init functions (Ivan Vecera) [1693316] - [net] selftests: forwarding: tc_rule_stats_get: Parameterize direction (Ivan Vecera) [1693316] - [net] selftests: forwarding: multipath_eval(): Improve style (Ivan Vecera) [1693316] - [net] selftests: forwarding: Move multipath_eval() to lib.sh (Ivan Vecera) [1693316] - [net] selftests: Add test_vxlan_fdb_changelink.sh (Ivan Vecera) [1690309] - [netdrv] vxlan: changelink: Fix handling of default remotes (Ivan Vecera) [1690309] - [netdrv] vxlan: Fix error path in __vxlan_dev_create() (Ivan Vecera) [1690309] - [netdrv] vxlan: Unmark offloaded bit on replaced FDB entries (Ivan Vecera) [1690309] - [net] bridge: switchdev: Allow clearing FDB entry offload indication (Ivan Vecera) [1690309] - [netdrv] vxlan: Notify for each remote of a removed FDB entry (Ivan Vecera) [1690309] - [netdrv] vxlan: Support marking RDSTs as offloaded (Ivan Vecera) [1690309] - [netdrv] vxlan: Add vxlan_fdb_find_uc() for FDB querying (Ivan Vecera) [1690309] - [netdrv] vxlan: Add switchdev notifications (Ivan Vecera) [1690309] - [netdrv] net: Add netif_is_vxlan() (Ivan Vecera) [1690309] - [net] inet: Refactor INET_ECN_decapsulate() (Ivan Vecera) [1690309] - [netdrv] vxlan: Export address checking functions (Ivan Vecera) [1690309] - [net] vxlan: Remove duplicated include from vxlan.h (Ivan Vecera) [1690309] - [netdrv] geneve: correctly handle ipv6.disable module parameter (Jiri Benc) [1692390] - [net] ipv6: sit: reset ip header pointer in ipip6_rcv (Lorenzo Bianconi) [1691626] - [net] vxlan: Don't call gro_cells_destroy() before device is unregistered (Andrea Claudi) [1692499] - [net] xsk: do not remove umem from netdevice on fall-back to copy-mode (Petr Oros) [1690568] - [net] xsk: Check if a queue exists during umem setup (Petr Oros) [1690568] - [net] xsk: simplify xdp_clear_umem_at_qid implementation (Petr Oros) [1690568] - [net] ethtool: don't allow disabling queues with umem installed (Petr Oros) [1690568] - [net] ethtool: rename local variable max -> curr (Petr Oros) [1690568] - [net] xsk: fix bug when trying to use both copy and zero-copy on one queue id (Petr Oros) [1690568] - [net] add umem reference in netdev{_rx}_queue (Petr Oros) [1690568] - [net] xsk: remove unnecessary assignment (Petr Oros) [1690568] - [net] xsk: fix return value of xdp_umem_assign_dev() (Petr Oros) [1690568] - [net] xsk: don't allow umem replace at stack level (Petr Oros) [1690568] - [net] xsk: refactor xdp_umem_assign_dev() (Petr Oros) [1690568] - [net] update real_num_rx_queues even when !CONFIG_SYSFS (Petr Oros) [1690568] - [net] core: add __netdev_sent_queue as variant of __netdev_tx_sent_queue (Petr Oros) [1690127] - [net] net: do not abort bulk send on BQL status (Petr Oros) [1690129] - [net] net: bql: add __netdev_tx_sent_queue() (Petr Oros) [1690129] - [net] net: ip6_gre: fix possible NULL pointer dereference in ip6erspan_set_version (Lorenzo Bianconi) [1666315] - [net] net: ip6_gre: initialize erspan_ver just for erspan tunnels (Lorenzo Bianconi) [1666315] - [net] net: ip6_gre: always reports o_key to userspace (Lorenzo Bianconi) [1666315] - [net] net: ip_gre: always reports o_key to userspace (Lorenzo Bianconi) [1666315] - [net] tcp: handle inet_csk_reqsk_queue_add() failures (Guillaume Nault) [1690157] - [net] ip_gre: use erspan key field for tunnel lookup (Lorenzo Bianconi) [1664570] - [net] ip6_gre: simplify gre header parsing in ip6gre_err (Lorenzo Bianconi) [1664570] - [net] ipv4: use a dedicated counter for icmp_v4 redirect packets (Lorenzo Bianconi) [1664209] - [net] virtchnl: Fix off by one error (Ivan Vecera) [1690114] - [net] virtchnl: white space and reorder (Ivan Vecera) [1690114] - [net] i40e: Update status codes (Ivan Vecera) [1690114] - [net] ethtool: Add WAKE_FILTER and RX_CLS_FLOW_WAKE (Ivan Vecera) [1690091] - [net] geneve: allow to clear ttl inherit (Hangbin Liu) [1671251] - [net] geneve: add ttl inherit support (Hangbin Liu) [1671251] - [net] tipc: fix a double kfree_skb() (Jon Maloy) [1684290] - [net] vxlan: Fix GRO cells race condition between receive and link delete (Andrea Claudi) [1687046] - [net] sock: consistent handling of extreme SO_SNDBUF/SO_RCVBUF values (Guillaume Nault) [1686564] - [net] tun: implement carrier change (Guillaume Nault) [1686566] - [net] ip6_tunnel: respect ttl inherit for ip6tnl (Hangbin Liu) [1664944] - [net] ip6_gre: update version related info when changing link (Hangbin Liu) [1664900] - [net] ipv4/route: fail early when inet dev is missing (Paolo Abeni) [1685424] - [net] bonding/802.3ad: fix link_failure_count tracking (Matteo Croce) [1657905] - [net] bonding: avoid possible dead-lock (Matteo Croce) [1657905] - [net] bonding: fix length of actor system (Matteo Croce) [1657905] - [net] bonding: fix warning message (Matteo Croce) [1657905] - [net] bonding: pass link-local packets to bonding master also. (Matteo Croce) [1657905]- [infiniband] IB/usnic: fix spelling mistake "unvalid" -> "invalid" (Jonathan Toppins) [1685307] - [infiniband] RDMA/uverbs: Get rid of ucontext->tgid (Jonathan Toppins) [1685307] - [infiniband] RDMA/usnic: Do not use ucontext->tgid (Jonathan Toppins) [1685307] - [infiniband] infiniband: remove redundant condition check before debugfs_remove (Jonathan Toppins) [1685307] - [infiniband] RDMA/rdmavt: Fix rvt_create_ah function signature (Jonathan Toppins) [1685307] - [infiniband] RDMA/drivers: Use core provided API for registering device attributes (Jonathan Toppins) [1685307] - [infiniband] IB/rxe: Remove unnecessary enum values (Jonathan Toppins) [1685307] - [infiniband] IB/{hfi1, qib, rdmavt}: Move ruc_loopback to rdmavt (Jonathan Toppins) [1685307] - [infiniband] IB/{hfi1, qib, rdmavt}: Move send completion logic to rdmavt (Jonathan Toppins) [1685307] - [infiniband] IB/{hfi1, qib, rdmavt}: Move copy SGE logic into rdmavt (Jonathan Toppins) [1685307] - [infiniband] RDMA/rxe: Remove unused addr_same() (Jonathan Toppins) [1685307] - [infiniband] IB/rxe: avoid srq memory leak (Jonathan Toppins) [1685307] - [infiniband] IB/rxe: replace kvfree with vfree (Jonathan Toppins) [1685307] - [infiniband] RDMA/drivers: Use dev_name instead of ibdev->name (Jonathan Toppins) [1685307 1663226] - [infiniband] RDMA/drivers: Use dev_err/dbg/etc instead of pr_* + ibdev->name (Jonathan Toppins) [1685307 1663226] - [infiniband] IB/rxe: fixes for rdma read retry (Jonathan Toppins) [1685307] - [infiniband] IB/rxe: avoid back-to-back retries (Jonathan Toppins) [1685307] - [infiniband] IB/rxe: Refactor lookup memory function (Jonathan Toppins) [1685307] - [infiniband] IB/rxe: Avoid NULL check when search is successful (Jonathan Toppins) [1685307] - [infiniband] IB/rxe: Change pool state enums to capital letters (Jonathan Toppins) [1685307] - [infiniband] IB/rxe: Replace spinlock with rwlock (Jonathan Toppins) [1685307] - [infiniband] IB/rxe: Simplify rxe_find_route() to avoid GID query for netdev (Jonathan Toppins) [1685307] - [infiniband] IB/rxe: remove redudant qpn check (Jonathan Toppins) [1685307] - [infiniband] IB/rxe: vary the source udp port for receive scaling (Jonathan Toppins) [1685307] - [infiniband] iser: set sector for ambiguous mr status errors (Jonathan Toppins) [1685307] - [net] svcrdma: Remove try_module_get from backchannel (Jonathan Toppins) [1685307] - [net] svcrdma: Remove ->release_rqst call in bc reply handler (Jonathan Toppins) [1685307] - [net] xprtrdma: Clean up xprt_rdma_disconnect_inject (Jonathan Toppins) [1685307] - [net] xprtrdma: Add documenting comments (Jonathan Toppins) [1685307] - [net] xprtrdma: Report when there were zero posted Receives (Jonathan Toppins) [1685307] - [net] xprtrdma: Move rb_flags initialization (Jonathan Toppins) [1685307] - [net] xprtrdma: Don't disable BH's in backchannel server (Jonathan Toppins) [1685307] - [net] xprtrdma: Remove memory address of "ep" from an error message (Jonathan Toppins) [1685307] - [net] xprtrdma: Rename rpcrdma_qp_async_error_upcall (Jonathan Toppins) [1685307] - [net] xprtrdma: Simplify RPC wake-ups on connect (Jonathan Toppins) [1685307] - [net] xprtrdma: Re-organize the switch() in rpcrdma_conn_upcall (Jonathan Toppins) [1685307] - [net] xprtrdma: Eliminate "connstate" variable from rpcrdma_conn_upcall() (Jonathan Toppins) [1685307] - [net] xprtrdma: Conventional variable names in rpcrdma_conn_upcall (Jonathan Toppins) [1685307] - [net] xprtrdma: Rename rpcrdma_conn_upcall (Jonathan Toppins) [1685307] - [net] sunrpc: Report connect_time in seconds (Jonathan Toppins) [1685307] - [net] sunrpc: Fix connect metrics (Jonathan Toppins) [1685307] - [net] xprtrdma: Name MR trace events consistently (Jonathan Toppins) [1685307] - [net] xprtrdma: Explicitly resetting MRs is no longer necessary (Jonathan Toppins) [1685307] - [net] xprtrdma: Create more MRs at a time (Jonathan Toppins) [1685307] - [net] xprtrdma: xprt_release_rqst_cong is called outside of transport_lock (Jonathan Toppins) [1685307] - [infiniband] IB/ipoib: Log sysfs 'dev_id' accesses from userspace (Jonathan Toppins) [1685307] - [infiniband] IB/ipoib: Use dev_port to expose network interface port numbers (Jonathan Toppins) [1685307] - [infiniband] IB/ipoib: Ensure that MTU isn't less than minimum permitted (Jonathan Toppins) [1685307] - [infiniband] IB/srp: Remove unnecessary unlikely() (Jonathan Toppins) [1685307] - [infiniband] IB/core: Fix oops in netdev_next_upper_dev_rcu() (Jonathan Toppins) [1685307] - [infiniband] IB/umem: Set correct address to the invalidation function (Jonathan Toppins) [1685307] - [infiniband] RDMA/core: Add GIDs while changing MAC addr only for registered ndev (Jonathan Toppins) [1685307] - [infiniband] RDMA/core: Fix comment for hw stats init for port == 0 (Jonathan Toppins) [1685307] - [infiniband] RDMA/core: Refactor ib_register_device() function (Jonathan Toppins) [1685307] - [infiniband] IB/mlx4: Refer to the device kobject instead of ports_parent (Jonathan Toppins) [1685307] - [include] RDMA/core: Allow existing drivers to set one sysfs group per device (Jonathan Toppins) [1685307] - [infiniband] RDMA/umad: Use kernel API to allocate umad indexes (Jonathan Toppins) [1685307] - [infiniband] RDMA/uverbs: Use kernel API to allocate uverbs indexes (Jonathan Toppins) [1685307] - [infiniband] RDMA/core: Increase total number of RDMA ports across all devices (Jonathan Toppins) [1685307] - [infiniband] RDMA/core: Rename ports_parent to ports_kobj (Jonathan Toppins) [1685307] - [infiniband] RDMA/nldev: Allow IB device rename through RDMA netlink (Jonathan Toppins) [1685307 1663226] - [infiniband] RDMA/core: Implement IB device rename function (Jonathan Toppins) [1685307 1663226] - [infiniband] RDMA/core: Annotate timeout as unsigned long (Jonathan Toppins) [1685307] - [infiniband] RDMA/core: Align multiple functions to kernel coding style (Jonathan Toppins) [1685307] - [infiniband] RDMA/cma: Remove unused timeout_ms parameter from cma_resolve_iw_route() (Jonathan Toppins) [1685307] - [infiniband] RDMA/cm: Respect returned status of cm_init_av_by_path (Jonathan Toppins) [1685307] - [infiniband] RDMA/restrack: Protect from reentry to resource return path (Jonathan Toppins) [1685307] - [infiniband] RDMA/restrack: Release task struct which was hold by CM_ID object (Jonathan Toppins) [1685307] - [infiniband] RDMA/restrack: Consolidate task name updates in one place (Jonathan Toppins) [1685307] - [infiniband] RDMA/restrack: Un-inline set task implementation (Jonathan Toppins) [1685307] - [infiniband] RDMA/core: Check error status of rdma_find_ndev_for_src_ip_rcu (Jonathan Toppins) [1685307] - [include] IB/mlx4: Avoid implicit enumerated type conversion (Jonathan Toppins) [1685307] - [infiniband] RDMA/netlink: Simplify netlink listener existence check (Jonathan Toppins) [1685307] - [infiniband] RDMA: Remove unused parameter from ib_modify_qp_is_ok() (Jonathan Toppins) [1685307] - [infiniband] RDMA/uverbs: Fix RCU annotation for radix slot deference (Jonathan Toppins) [1685307] - [infiniband] RDMA: Fix building with CONFIG_MMU=n (Jonathan Toppins) [1685307] - [infiniband] RDMA/cma: Introduce and use cma_ib_acquire_dev() (Jonathan Toppins) [1685307] - [infiniband] RDMA/cma: Introduce and use cma_acquire_dev_by_src_ip() (Jonathan Toppins) [1685307] - [infiniband] RDMA/cma: Allow accepting requests for multi port rdma device (Jonathan Toppins) [1685307] - [infiniband] IB/rdmavt: Rename check_send_wqe as setup_wqe (Jonathan Toppins) [1685307] - [infiniband] RDMA/core: Acquire and release mmap_sem on page range (Jonathan Toppins) [1685307] - [infiniband] IB/sa: simplify return code logic for ib_nl_send_msg() (Jonathan Toppins) [1685307] - [infiniband] RDMA/ulp: Use dev_name instead of ibdev->name (Jonathan Toppins) [1685307 1663226] - [infiniband] RDMA/core: Use dev_name instead of ibdev->name (Jonathan Toppins) [1685307 1663226] - [infiniband] RDMA/core: Use dev_err/dbg/etc instead of pr_* + ibdev->name (Jonathan Toppins) [1685307 1663226] - [infiniband] RDMA: Fully setup the device name in ib_register_device (Jonathan Toppins) [1685307 1663226] - [infiniband] RDMA/umem: Fix potential addition overflow (Jonathan Toppins) [1685307] - [infiniband] RDMA/umem: Minor optimizations (Jonathan Toppins) [1685307] - [infiniband] RDMA/umem: Avoid synchronize_srcu in the ODP MR destruction path (Jonathan Toppins) [1685307] - [infiniband] RDMA/umem: Handle a half-complete start/end sequence (Jonathan Toppins) [1685307] - [infiniband] RDMA/umem: Get rid of per_mm->notifier_count (Jonathan Toppins) [1685307] - [infiniband] RDMA/umem: Use umem->owning_mm inside ODP (Jonathan Toppins) [1685307] - [infiniband] RDMA/umem: Move all the ODP related stuff out of ucontext and into per_mm (Jonathan Toppins) [1685307] - [infiniband] RDMA/umem: Get rid of struct ib_umem.odp_data (Jonathan Toppins) [1685307] - [infiniband] RDMA/umem: Make ib_umem_odp into a sub structure of ib_umem (Jonathan Toppins) [1685307] - [infiniband] RDMA/umem: Use ib_umem_odp in all function signatures connected to ODP (Jonathan Toppins) [1685307] - [infiniband] RDMA/umem: Do not use current->tgid to track the mm_struct (Jonathan Toppins) [1685307] - [infiniband] RDMA/ucontext: Get rid of the old disassociate flow (Jonathan Toppins) [1685307] - [infiniband] RDMA/ucontext: Add a core API for mmaping driver IO memory (Jonathan Toppins) [1685307] - [infiniband] RDMA/uverbs: Fix error unwind in ib_uverbs_add_one (Jonathan Toppins) [1685307] - [infiniband] RDMA/core: Properly return the error code of rdma_set_src_addr_rcu (Jonathan Toppins) [1685307] - [infiniband] RDMA/uverbs: Remove is_closed from ib_uverbs_file (Jonathan Toppins) [1685307] - [include] IB/rxe: Revise the ib_wr_opcode enum (Jonathan Toppins) [1685307] - [include] RDMA: Remove duplicated include from ib_addr.h (Jonathan Toppins) [1685307] - [infiniband] RDMA/core: Consider net ns of gid attribute for RoCE (Jonathan Toppins) [1685307] - [infiniband] RDMA/core: Introduce rdma_read_gid_attr_ndev_rcu() to check GID attribute (Jonathan Toppins) [1685307] - [infiniband] RDMA/core: Simplify roce_resolve_route_from_path() (Jonathan Toppins) [1685307] - [infiniband] RDMA/core: Protect against changing dst->dev during destination resolve (Jonathan Toppins) [1685307] - [infiniband] RDMA/core: Refer to network type instead of device type (Jonathan Toppins) [1685307] - [infiniband] RDMA/core: Use common code flow for IPv4/6 for addr resolve (Jonathan Toppins) [1685307] - [infiniband] RDMA/core: Rename rdma_copy_addr to rdma_copy_src_l2_addr (Jonathan Toppins) [1685307] - [infiniband] RDMA/core: Introduce and use rdma_set_src_addr() between IPv4 and IPv6 (Jonathan Toppins) [1685307] - [infiniband] RDMA/core: Let protocol specific function typecast sockaddr structure (Jonathan Toppins) [1685307] - [infiniband] RDMA/core: Avoid unnecessary sa_family overwrite (Jonathan Toppins) [1685307] - [infiniband] RDMA/core Introduce and use rdma_find_ndev_for_src_ip_rcu (Jonathan Toppins) [1685307] - [infiniband] IB/{hfi1, qib, rdmavt}: Schedule multi RC/UC packets instead of posting (Jonathan Toppins) [1685307] - [infiniband] RDMA/uverbs: Move flow resources initialization (Jonathan Toppins) [1685307] - [infiniband] IB/uverbs: Add IDRs array attribute type to ioctl() interface (Jonathan Toppins) [1685307] - [include] RDMA/core: Document QP @event_handler function (Jonathan Toppins) [1685307] - [include] RDMA/core: Document CM @event_handler function (Jonathan Toppins) [1685307] - [infiniband] RDMA/core: Assign device ifindex before publishing the device (Jonathan Toppins) [1685307] - [infiniband] RDMA/core: Follow correct unregister order between sysfs and cgroup (Jonathan Toppins) [1685307] - [infiniband] RDMA/umem: Restore lockdep check while downgrading lock (Jonathan Toppins) [1685307] - [infiniband] RDMA/core: Define client_data_lock as rwlock instead of spinlock (Jonathan Toppins) [1685307] - [infiniband] RDMA/core: Use simpler spin lock irq API from blocking context (Jonathan Toppins) [1685307] - [infiniband] RDMA/core: Remove context entries from list while unregistering device (Jonathan Toppins) [1685307] - [infiniband] RDMA/core: Use simplified list_for_each (Jonathan Toppins) [1685307] - [infiniband] RDMA/core: No need to protect kfree with spin lock and semaphore (Jonathan Toppins) [1685307] - [infiniband] RDMA/{cma, core}: Avoid callback on rdma_addr_cancel() (Jonathan Toppins) [1685307] - [infiniband] RDMA/core: Rate limit MAD error messages (Jonathan Toppins) [1685307] - [infiniband] RDMA/core: Fail early if unsupported QP is provided (Jonathan Toppins) [1685307] - [infiniband] RDMA/uverbs: Use device.groups to initialize device attributes (Jonathan Toppins) [1685307] - [infiniband] RDMA/uverbs: Use cdev_device_add() instead of cdev_add() (Jonathan Toppins) [1685307] - [infiniband] RDMA/core: Depend on device_add() to add device attributes (Jonathan Toppins) [1685307] - [infiniband] RDMA/core: Replace open-coded variant of get_device (Jonathan Toppins) [1685307] - [infiniband] RDMA/uverbs: Declare closing variable as boolean (Jonathan Toppins) [1685307] - [infiniband] IB/core: Add an unbound WQ type to the new CQ API (Jonathan Toppins) [1685307] - [infiniband] RDMA/uverbs: Add generic function to fill in flow action object (Jonathan Toppins) [1685307] - [infiniband] RDMA/uverbs: Add UVERBS_ATTR_CONST_IN to the specs language (Jonathan Toppins) [1685307] - [netdrv] ibmvnic: Fix completion structure initialization (Steve Best) [1697103] - [rpmspec] redhat: limit headers_install_all to arches we care about (Denys Vlasenko) [1692404] - [lib] ida: Add new API (Jonathan Toppins) [1697588] - [edac] EDAC: Drop per-memory controller buses (Frank Ramsay) [1686477] - [edac] EDAC: Don't add devices under /sys/bus/edac (Frank Ramsay) [1686477] - [x86] x86/platform/UV: Use efi_runtime_lock to serialise BIOS calls (Frank Ramsay) [1677695]- [pci] PCI: pciehp: Fix re-enabling the slot marked for safe removal (Myron Stowe) [1695922] - [rpmspec] redhat: Enable gdb_index (Juri Lelli) [1696747] - [fs] ovl: Do not lose security.capability xattr over metadata file copy-up (Vivek Goyal) [1694757] - [fs] ovl: During copy up, first copy up data and then xattrs (Vivek Goyal) [1694757]- [netdrv] mark the intel igc driver as tech preview (David Arcari) [1495358] - [netdrv] igc: Remove unneeded hw_dbg prints (David Arcari) [1495358] - [netdrv] igc: Fix the typo in igc_base.h header definition (David Arcari) [1495358] - [netdrv] igc: Add support for the ntuple feature (David Arcari) [1495358] - [netdrv] igc: Add support for statistics (David Arcari) [1495358] - [netdrv] igc: Extend the ethtool supporting (David Arcari) [1495358] - [netdrv] igc: Add multiple receive queues control supporting (David Arcari) [1495358] - [netdrv] igc: Use struct_size() helper (David Arcari) [1495358] - [netdrv] igc: Add ethtool support (David Arcari) [1495358] - [netdrv] igc: Remove the 'igc_get_phy_id_base' method (David Arcari) [1495358] - [netdrv] igc: Remove the 'igc_read_mac_addr_base' method (David Arcari) [1495358] - [netdrv] igc: Remove unneeded code (David Arcari) [1495358] - [netdrv] igc: Remove unused code (David Arcari) [1495358] - [netdrv] igc: Fix code redundancy (David Arcari) [1495358] - [netdrv] igc: Remove unreachable code from igc_phy.c file (David Arcari) [1495358] - [netdrv] igc: Remove obsolete IGC_ERR define (David Arcari) [1495358] - [netdrv] ethernet/intel: consolidate NAPI and NAPI exit (David Arcari) [1495358] - [netdrv] igc: Clean up code (David Arcari) [1495358] - [netdrv] igc: Tidy up some white space (David Arcari) [1495358] - [netdrv] igc: fix error return handling from call to netif_set_real_num_tx_queues (David Arcari) [1495358] - [netdrv] igc: Remove set but not used variable 'pci_using_dac' (David Arcari) [1495358] - [netdrv] igc: Remove set but not used variables 'ctrl_ext, link_mode' (David Arcari) [1495358] - [netdrv] intel-ethernet: software timestamp skbs as late as possible (David Arcari) [1495358] - [netdrv] igc: Add watchdog (David Arcari) [1495358] - [netdrv] igc: Add setup link functionality (David Arcari) [1495358] - [netdrv] igc: Add code for PHY support (David Arcari) [1495358] - [netdrv] igc: Add NVM support (David Arcari) [1495358] - [netdrv] igc: Add HW initialization code (David Arcari) [1495358] - [netdrv] igc: Add transmit and receive fastpath and interrupt handlers (David Arcari) [1495358] - [netdrv] igc: Add support for Tx/Rx rings (David Arcari) [1495358] - [netdrv] igc: Add interrupt support (David Arcari) [1495358] - [netdrv] igc: Add netdev (David Arcari) [1495358] - [netdrv] igc: Add support for PF (David Arcari) [1495358] - [netdrv] igc: Add skeletal frame for Intel(R) 2.5G Ethernet Controller support (David Arcari) [1495358] - [s390] virtio-ccw: wire up ->bus_name callback (Cornelia Huck) [1695630] - [s390] s390/virtio: handle find on invalid queue gracefully (Cornelia Huck) [1695630] - [s390] virtio/s390: fix race in ccw_io_helper() (Cornelia Huck) [1695630] - [s390] virtio/s390: avoid race on vcdev->config (Cornelia Huck) [1695630] - [kvm] KVM: s390: make bitmap declaration consistent (Thomas Huth) [1695090] - [kvm] KVM: s390: drop obsolete else path (Thomas Huth) [1695090] - [kvm] KVM: s390: clarify kvm related kernel message (Thomas Huth) [1695090] - [kvm] s390: vsie: Use effective CRYCBD.31 to check CRYCBD validity (Thomas Huth) [1695090] - [kvm] KVM: s390: fix kmsg component kvm-s390 (Thomas Huth) [1695090] - [kvm] KVM: s390: unregister debug feature on failing arch init (Thomas Huth) [1695090] - [kvm] KVM: s390/vsie: avoid sparse warning (Thomas Huth) [1695090]- [powerpc] powerpc: use mm zones more sensibly (David Gibson) [1654978] - [s390] s390/mem_detect: add missing include (Philipp Rudo) [1695615] - [s390] s390: avoid vmlinux segments overlap (Philipp Rudo) [1695615] - [s390] s390/decompressor: add missing FORCE to build targets (Philipp Rudo) [1695615] - [s390] s390: move ipl block and cmd line handling to early boot phase (Philipp Rudo) [1695615] - [s390] s390/sclp: introduce sclp_early_get_hsa_size (Philipp Rudo) [1695615] - [s390] s390/mem_detect: add info source debug print (Philipp Rudo) [1695615] - [s390] s390/mem_detect: replace tprot loop with binary search (Philipp Rudo) [1695615] - [s390] s390/mem_detect: use SCLP info for continuous memory detection (Philipp Rudo) [1695615] - [s390] s390/mem_detect: introduce z/VM specific diag260 call (Philipp Rudo) [1695615] - [s390] s390/mem_detect: introduce SCLP storage info (Philipp Rudo) [1695615] - [s390] s390: introduce .boot.data section compile time validation (Philipp Rudo) [1695615] - [s390] s390/mem_detect: move tprot loop to early boot phase (Philipp Rudo) [1695615] - [s390] s390/sclp: move sclp_early_read_info to sclp_early_core.c (Philipp Rudo) [1695615] - [s390] s390: introduce .boot.data section (Philipp Rudo) [1695615] - [s390] s390/decompressor: clean up and rename compressed/misc.c (Philipp Rudo) [1695615] - [s390] s390: rescue initrd as early as possible (Philipp Rudo) [1695615] - [s390] s390/sclp: simplify early hsa_size detection (Philipp Rudo) [1695615] - [s390] s390/decompressor: get rid of .bss usage (Philipp Rudo) [1695615] - [s390] s390/decompressor: rework uncompressed image info collection (Philipp Rudo) [1695615] - [s390] s390: remove decompressor's head.S (Philipp Rudo) [1695615] - [s390] s390: clean up stacks setup (Philipp Rudo) [1695615] - [s390] s390: add initial 64-bit restart PSW (Philipp Rudo) [1695615] - [s390] s390/hibernate: fix error handling when suspend cpu != resume cpu (Philipp Rudo) [1695615] - [s390] s390/decompressor: support extra debug flags (Philipp Rudo) [1695615] - [s390] s390/build: add *.o.chkbss files to targets list (Philipp Rudo) [1695615] - [s390] s390/decompressor: avoid packing *.o.chkbss files into startup.a (Philipp Rudo) [1695615] - [s390] s390/decompressor: avoid constant startup.a rebuilds (Philipp Rudo) [1695615] - [s390] s390/boot: block uncompressed vmlinux booting attempts (Philipp Rudo) [1695615] - [s390] s390/decompressor: correct EXCLUDE_FILE construct (Philipp Rudo) [1695615] - [s390] s390: move _text to an actual .text start (Philipp Rudo) [1695615] - [s390] s390: correct _stext offset (Philipp Rudo) [1695615] - [s390] s390: get rid of the first mb of uncompressed image (Philipp Rudo) [1695615] - [s390] s390: remove unused _ehead symbol (Philipp Rudo) [1695615] - [s390] s390: put expoline execute-trampolines into .text section (Philipp Rudo) [1695615] - [s390] s390/decompressor: discard ___kcrctab section (Philipp Rudo) [1695615] - [s390] s390/setup: do not reserve the decompressor code (Philipp Rudo) [1695615] - [s390] s390/decompressor: support uncompressed kernel (Philipp Rudo) [1695615] - [init] init/Kconfig: add an option for uncompressed kernel (Philipp Rudo) [1695615] - [s390] s390/decompressor: allow to pack uncompressed vmlinux.bin into piggy.o (Philipp Rudo) [1695615] - [s390] s390/decompressor: allow preprocessor in piggy.o linker script (Philipp Rudo) [1695615] - [s390] s390/decompressor: extend .bss check for early code (Philipp Rudo) [1695615] - [s390] s390: add custom target and make path extension optional for .bss check (Philipp Rudo) [1695615] - [s390] s390/decompressor: avoid repeating objects list in Makefile (Philipp Rudo) [1695615] - [s390] s390/decompressor: reuse lib/mem.S for mem functions (Philipp Rudo) [1695615] - [s390] s390/decompressor: avoid reusing uncompressed image objects (Philipp Rudo) [1695615] - [s390] s390/als: avoid .init.* sections usage (Philipp Rudo) [1695615] - [s390] s390/decompressor: rename entry point to startup_decompressor (Philipp Rudo) [1695615] - [s390] s390/boot: make head.S and als.c be part of the decompressor only (Philipp Rudo) [1695615] - [s390] s390/decompressor: trim the kernel image up to 1M (Philipp Rudo) [1695615] - [s390] s390: remove uncompressed kernel image build (Philipp Rudo) [1695615] - [s390] s390/decompressor: correct build flags (Philipp Rudo) [1695615] - [s390] s390/build: remove obsolete -mkernel-backchain flag (Philipp Rudo) [1695615] - [tools] tools/power turbostat: return the exit status of a command (David Arcari) [1642739] - [misc] misc: hpilo: Do not claim unsupported hardware (Joseph Szczypek) [1665635] - [misc] misc: hpilo: Exclude unsupported device via blacklist (Joseph Szczypek) [1665635]- [fs] xfs: set buffer ops when repair probes for btree type (Bill O'Donnell) [1689281] - [fs] xfs: end sync buffer I/O properly on shutdown error (Bill O'Donnell) [1689281] - [fs] xfs: xfs_fsops: drop useless LIST_HEAD (Bill O'Donnell) [1689281] - [fs] xfs: xfs_buf: drop useless LIST_HEAD (Bill O'Donnell) [1689281] - [fs] iomap: fix a use after free in iomap_dio_rw (Bill O'Donnell) [1689281] - [fs] xfs: reallocate realtime summary cache on growfs (Bill O'Donnell) [1689281] - [fs] xfs: stringify scrub types in ftrace output (Bill O'Donnell) [1689281] - [fs] xfs: stringify btree cursor types in ftrace output (Bill O'Donnell) [1689281] - [fs] xfs: move XFS_INODE_FORMAT_STR mappings to libxfs (Bill O'Donnell) [1689281] - [fs] xfs: move XFS_AG_BTREE_CMP_FORMAT_STR mappings to libxfs (Bill O'Donnell) [1689281] - [fs] xfs: fix symbolic enum printing in ftrace output (Bill O'Donnell) [1689281] - [fs] xfs: fix function pointer type in ftrace format (Bill O'Donnell) [1689281] - [fs] xfs: Fix x32 ioctls when cmd numbers differ from ia32. (Bill O'Donnell) [1689281] - [fs] xfs: Fix bulkstat compat ioctls on x32 userspace. (Bill O'Donnell) [1689281] - [fs] xfs: Align compat attrlist_by_handle with native implementation. (Bill O'Donnell) [1689281] - [fs] xfs: require both realtime inodes to mount (Bill O'Donnell) [1689281] - [fs] xfs: cache minimum realtime summary level (Bill O'Donnell) [1689281] - [fs] xfs: count inode blocks correctly in inobt scrub (Bill O'Donnell) [1689281] - [fs] xfs: precalculate cluster alignment in inodes and blocks (Bill O'Donnell) [1689281] - [fs] xfs: precalculate inodes and blocks per inode cluster (Bill O'Donnell) [1689281] - [fs] xfs: add a block to inode count converter (Bill O'Donnell) [1689281] - [fs] xfs: remove xfs_rmap_ag_owner and friends (Bill O'Donnell) [1689281] - [fs] xfs: const-ify xfs_owner_info arguments (Bill O'Donnell) [1689281] - [fs] xfs: streamline defer op type handling (Bill O'Donnell) [1689281] - [fs] xfs: idiotproof defer op type configuration (Bill O'Donnell) [1689281] - [fs] xfs: clean up indentation issues, remove an unwanted space (Bill O'Donnell) [1689281] - [fs] xfs: libxfs: move xfs_perag_put late (Bill O'Donnell) [1689281] - [fs] xfs: split up the xfs_reflink_end_cow work into smaller transactions (Bill O'Donnell) [1689281] - [crypto] crypto: testmgr - add AES-CFB tests (Neil Horman) [1687897] - [scsi] scsi: iscsi: flush running unbind operations when removing a session (Maurizio Lombardi) [1695007] - [crypto] crypto: vmx - fix copy-paste error in CTR mode (Herbert Xu) [1693350] - [rpmspec] Fix cross builds (Jiri Olsa) [1694956] - [lib] sbitmap: order READ/WRITE freed instance and setting clear bit (Ming Lei) [1694521] - [block] blk-mq: fix sbitmap ws_active for shared tags (Ming Lei) [1694521] - [block] blk-mq: update comment for blk_mq_hctx_has_pending() (Ming Lei) [1694521] - [block] blk-mq: use blk_mq_put_driver_tag() to put tag (Ming Lei) [1694521] - [include] sbitmap: trivial - update comment for sbitmap_deferred_clear_bit (Ming Lei) [1694521] - [block] blkcg: Fix kernel-doc warnings (Ming Lei) [1694521] - [block] block: Unexport blk_mq_add_to_requeue_list() (Ming Lei) [1694521] - [block] block: add BLK_MQ_POLL_CLASSIC for hybrid poll and return EINVAL for unexpected value (Ming Lei) [1694521] - [include] blk-mq: remove unused 'nr_expired' from blk_mq_hw_ctx (Ming Lei) [1694521] - [block] loop: access lo_backing_file only when the loop device is Lo_bound (Ming Lei) [1694521] - [block] blk-mq: use blk_mq_sched_mark_restart_hctx to set RESTART (Ming Lei) [1694521] - [kernel] blkcg: annotate implicit fall through (Ming Lei) [1694521] - [block] block: Replace function name in string with __func__ (Ming Lei) [1694521] - [block] block: fix NULL pointer dereference in register_disk (Ming Lei) [1694521] - [fs] fs: fix guard_bio_eod to check for real EOD errors (Ming Lei) [1694521] - [block] blk-mq: use HCTX_TYPE_DEFAULT but not 0 to index blk_mq_tag_set->map (Ming Lei) [1694521] - [include] block: remove bvec_iter_rewind() (Ming Lei) [1694521] - [block] block: don't use bio->bi_vcnt to figure out segment number (Ming Lei) [1694521] - [fs] btrfs: look at bi_size for repair decisions (Ming Lei) [1694521] - [block] block: avoid setting none scheduler if it's already none (Ming Lei) [1694521] - [block] block: avoid setting wbt_lat_usec to current value (Ming Lei) [1694521] - [block] blk-sysfs: Rework documention of __blk_release_queue (Ming Lei) [1694521] - [block] blk-cgroup: Fix doc related to blkcg_exit_queue (Ming Lei) [1694521] - [block] block: kill QUEUE_FLAG_FLUSH_NQ (Ming Lei) [1694521] - [block] block: avoid setting nr_requests to current value (Ming Lei) [1694521] - [block] blk-mq: save default hctx into ctx->hctxs for not-supported type (Ming Lei) [1694521] - [block] blk-mq: save queue mapping result into ctx directly (Ming Lei) [1694521] - [block] block: mq-deadline: Fix write completion handling (Ming Lei) [1694521] - [crypto] crypto: user - fix leaking uninitialized memory to userspace (Herbert Xu) [1657880] {CVE-2018-19854} - [char] ipmi: fix sleep-in-atomic in free_user at cleanup SRCU user->release_barrier (Xiaojun Tan) [1689480] - [infiniband] usnic_verbs: fix deadlock (Govindarajulu Varadarajan) [1688505] - [infiniband] IB/usnic: Fix locking when unregistering (Govindarajulu Varadarajan) [1688505] - [infiniband] IB/usnic: Fix potential deadlock (Govindarajulu Varadarajan) [1688505] - [netdrv] net: hns3: fix improper error handling in the hclge_init_ae_dev() (Xiaojun Tan) [1687060] - [netdrv] net: hns3: fix netif_napi_del() not do problem when unloading (Xiaojun Tan) [1687060] - [netdrv] net: hns3: Fix NULL deref when unloading driver (Xiaojun Tan) [1687060] - [netdrv] net: hns3: Modify the order of initializing command queue register (Xiaojun Tan) [1687060] - [netdrv] net: hns3: remove the Redundant put_vector in hns3_client_uninit (Xiaojun Tan) [1687060] - [netdrv] net: hns3: reuse reinitialization interface in the hns3_set_channels (Xiaojun Tan) [1687060]- [powercap] powercap/intel_rapl: add Ice Lake mobile (Steve Best) [1483427] - [x86] x86/CPU: Add Icelake model number (Steve Best) [1483427] - [watchdog] watchdog/hpwdt: Update Kconfig documentation (Joseph Szczypek) [1664861] - [watchdog] watchdog/hpwdt: Update driver version. (Joseph Szczypek) [1664861] - [watchdog] watchdog/hpwdt: Do not claim unsupported hardware (Joseph Szczypek) [1664861] - [watchdog] watchdog/hpwdt: Exclude via blacklist (Joseph Szczypek) [1664861] - [fs] autofs: add strictexpire mount option (Ian Kent) [1672134] - [fs] autofs: change catatonic setting to a bit flag (Ian Kent) [1672134] - [fs] autofs: simplify parse_options() function call (Ian Kent) [1672134] - [fs] autofs: add AUTOFS_EXP_FORCED flag (Ian Kent) [1672134] - [fs] autofs: make expire flags usage consistent with v5 params (Ian Kent) [1672134] - [fs] autofs: make autofs_expire_indirect() static (Ian Kent) [1672134] - [fs] autofs: make autofs_expire_direct() static (Ian Kent) [1672134] - [fs] autofs: fix clearing AUTOFS_EXP_LEAVES in autofs_expire_indirect() (Ian Kent) [1672134] - [fs] autofs: fix inconsistent use of now variable (Ian Kent) [1672134] - [md] md: Fix failed allocation of md_register_thread (Nigel Croxon) [1665346] - [md] It's wrong to add len to sector_nr in raid10 reshape twice (Nigel Croxon) [1665346] - [md] raid5: set write hint for PPL (Nigel Croxon) [1665346] - [netdrv] amd-xgbe: Fix mdio access for non-zero ports and clause 45 PHYs (Gary Hook) [1669565]- [x86] x86/retpolines: Disable switch jump tables when retpolines are enabled (Waiman Long) [1688258] - [x86] x86, retpolines: Raise limit for generating indirect calls from switch-case (Waiman Long) [1688258] - [net] vsock/virtio: fix kernel panic from virtio_transport_reset_no_sock (Stefano Garzarella) [1676595] - [net] vsock/virtio: reset connected sockets on device removal (Stefano Garzarella) [1676595] - [net] vsock/virtio: fix kernel panic after device hot-unplug (Stefano Garzarella) [1676595] - [powerpc] powerpc/livepatch: return -ERRNO values in save_stack_trace_tsk_reliable() (Joe Lawrence) [1659856] - [powerpc] powerpc/livepatch: small cleanups in save_stack_trace_tsk_reliable() (Joe Lawrence) [1659856] - [powerpc] powerpc/livepatch: relax reliable stack tracer checks for first-frame (Joe Lawrence) [1659856] - [powerpc] powerpc/64s: Make reliable stacktrace dependency clearer (Joe Lawrence) [1659856] - [powerpc] powerpc/64s: Clear on-stack exception marker upon exception return (Joe Lawrence) [1659856] - [infiniband] iw_cxgb4: Support FW write completion WR (Arjun Vynipadath) [1671320] - [infiniband] iw_cxgb4: RDMA write with immediate support (Arjun Vynipadath) [1671320] - [infiniband] rdma/cxgb4: fix some info leaks (Arjun Vynipadath) [1671320] - [infiniband] rdma/cxgb4: Add support for 64Byte cqes (Arjun Vynipadath) [1671320] - [pci] pci: remove unused functionality (Tomas Henzl) [1622638] - [scsi] Revert "[scsi] aacraid: add removed id table" (Tomas Henzl) [1622638] - [scsi] Revert "[scsi] be2iscsi: add removed id table" (Tomas Henzl) [1622638] - [scsi] Revert "[scsi] mpt3sas: add removed id table" (Tomas Henzl) [1622638] - [scsi] Revert "[scsi] qla2xxx: add removed id table" (Tomas Henzl) [1622638] - [scsi] Revert "[scsi] qla4xxx: add removed id table" (Tomas Henzl) [1622638] - [scsi] Revert "[scsi] megaraid_sas: add removed id table" (Tomas Henzl) [1622638] - [scsi] lfpc: remove Lancer FCoE (Tomas Henzl) [1622638] - [scsi] Revert "[scsi] lpfc: add removed id table" (Tomas Henzl) [1622638] - [scsi] Revert "[scsi] lfpc: add Lancer FCoE to the removed devices" (Tomas Henzl) [1622638]- [kernel] printk: Export console_printk (Prarit Bhargava) [1642870] - [video] fbcon: Silence fbcon logo on 'quiet' boots (Prarit Bhargava) [1642870] - [scsi] scsi: ibmvscsi: Fix empty event pool access during host removal (Steve Best) [1692463] - [scsi] scsi: ibmvscsi: Protect ibmvscsi_head from concurrent modificaiton (Steve Best) [1692463] - [scsi] scsi: ibmvscsi: Improve strings handling (Steve Best) [1692463] - [x86] x86/mce: Handle varying MCA bank counts (David Arcari) [1668779] - [block] virtio_blk: add discard and write zeroes support (Stefano Garzarella) [1692939] - [arm64] arm64: kaslr: ensure randomized quantities are clean also when kaslr is off (Mark Salter) [1673068] - [arm64] arm64: kaslr: ensure randomized quantities are clean to the PoC (Mark Salter) [1673068] - [tools] perf annotate: Fix getting source line failure (Michael Petlan) [1614435] - [infiniband] IB/hfi1: Remove overly conservative VM_EXEC flag check (Alex Estrin) [1680018]- [scsi] scsi: qla2xxx: Fix NULL pointer crash due to stale CPUID (Himanshu Madhani) [1685013] - [scsi] scsi: core: Avoid that system resume triggers a kernel warning (Ewan Milne) [1691903] - [scsi] scsi: core: reset host byte in DID_NEXUS_FAILURE case (Ewan Milne) [1691903] - [scsi] scsi: core: Synchronize request queue PM status only on successful resume (Ewan Milne) [1691903] - [scsi] scsi: sd: Fix cache_type_store() (Ewan Milne) [1691903] - [scsi] scsi: sd: use mempool for discard special page (Ewan Milne) [1691903] - [scsi] scsi: core: Remove scsi_block_when_processing_errors: message (Ewan Milne) [1691903] - [scsi] scsi: core: Allow state transitions from OFFLINE to BLOCKED (Ewan Milne) [1691903] - [scsi] scsi: core: remove unnecessary unlikely() (Ewan Milne) [1691903] - [scsi] scsi: st: remove redundant pointer STbuffer (Ewan Milne) [1691903] - [scsi] scsi: core: Avoid that SCSI device removal through sysfs triggers a deadlock (Ewan Milne) [1691903] - [fs] scsi: sysfs: Introduce sysfs_{un,}break_active_protection() (Ewan Milne) [1691903] - [scsi] scsi sg: remove incorrect scsi command checking logic (Ewan Milne) [1691903] - [scsi] scsi: read host_busy via scsi_host_busy() (Ewan Milne) [1691903] - [scsi] scsi: sd: Remove a superfluous assignment (Ewan Milne) [1691903] - [scsi] scsi: don't add scsi command result bytes (Ewan Milne) [1691903] - [scsi] scsi: core: check for equality of result byte values (Ewan Milne) [1691903] - [scsi] scsi: scsi_transport_fc: use 64-bit timestamps consistently (Ewan Milne) [1691903] - [scsi] scsi: sg: clean up gfp_mask in sg_build_indirect (Ewan Milne) [1691903] - [scsi] scsi: core: remove Scsi_Cmnd typedef (Ewan Milne) [1691903] - [netdrv] ibmvnic: Report actual backing device speed and duplex values (Steve Best) [1691862] - [kernel] sched/fair: Fix O(nr_cgroups) in the load balancing path (Phil Auld) [1685636] {CVE-2018-20784} - [kernel] sched/fair: Fix insertion in rq->leaf_cfs_rq_list (Phil Auld) [1685636] {CVE-2018-20784} - [kernel] sched/fair: Add tmp_alone_branch assertion (Phil Auld) [1685636] {CVE-2018-20784} - [kernel] sched/fair: Fix infinite loop in update_blocked_averages() by reverting a9e7f6544b9c (Phil Auld) [1685636] {CVE-2018-20784} - [kernel] tracing: Do a WARN_ON() if start_thread() in hwlat is called when thread exists (Jerome Marchand) [1693050] - [kernel] ftrace: Add missing check for existing hwlat thread (Jerome Marchand) [1693050] - [kernel] tracing: Do not call start/stop() functions when tracing_on does not change (Jerome Marchand) [1693050]- [scsi] scsi: lpfc: Fixup eq_clr_intr references (Dick Kennedy) [1692882] - [scsi] scsi: lpfc: Fix build error (Dick Kennedy) [1692882] - [scsi] scsi: be2iscsi: lpfc: fix typo (Dick Kennedy) [1692882] - [scsi] scsi: lpfc: Update lpfc version to 12.2.0.1 (Dick Kennedy) [1692882] - [scsi] scsi: lpfc: Update Copyright in driver version (Dick Kennedy) [1692882] - [scsi] scsi: lpfc: Enhance 6072 log string (Dick Kennedy) [1692882] - [scsi] scsi: lpfc: Fix duplicate log message numbers (Dick Kennedy) [1692882] - [scsi] scsi: lpfc: Specify node affinity for queue memory allocation (Dick Kennedy) [1692882] - [scsi] scsi: lpfc: Reduce memory footprint for lpfc_queue (Dick Kennedy) [1692882] - [scsi] scsi: lpfc: Add loopback testing to trunking mode (Dick Kennedy) [1692882] - [scsi] scsi: lpfc: Fix link speed reporting for 4-link trunk (Dick Kennedy) [1692882] - [scsi] scsi: lpfc: Fix handling of trunk links state reporting (Dick Kennedy) [1692882] - [scsi] scsi: lpfc: Fix protocol support on G6 and G7 adapters (Dick Kennedy) [1692882] - [scsi] scsi: lpfc: Correct boot bios information to FDMI registration (Dick Kennedy) [1692882] - [scsi] scsi: lpfc: Fix HDMI2 registration string for symbolic name (Dick Kennedy) [1692882] - [scsi] scsi: lpfc: Fix fc4type information for FDMI (Dick Kennedy) [1692882] - [scsi] scsi: lpfc: Fix FDMI manufacturer attribute value (Dick Kennedy) [1692882] - [scsi] scsi: lpfc: Fix io lost on host resets (Dick Kennedy) [1692882] - [scsi] scsi: lpfc: Fix mailbox hang on adapter init (Dick Kennedy) [1692882] - [scsi] scsi: lpfc: Fix driver crash in target reset handler (Dick Kennedy) [1692882] - [scsi] scsi: lpfc: Correct localport timeout duration error (Dick Kennedy) [1692882] - [scsi] scsi: lpfc: nvmet: avoid hang / use-after-free when destroying targetport (Dick Kennedy) [1692882] - [scsi] scsi: lpfc: Convert bootstrap mbx polling from msleep to udelay (Dick Kennedy) [1692882] - [scsi] scsi: lpfc: Coordinate adapter error handling with offline handling (Dick Kennedy) [1692882] - [scsi] scsi: lpfc: Stop adapter if pci errors detected (Dick Kennedy) [1692882] - [scsi] scsi: lpfc: Fix deadlock due to nested hbalock call (Dick Kennedy) [1692882] - [scsi] scsi: lpfc: Fix nvmet handling of first burst cmd (Dick Kennedy) [1692882] - [scsi] scsi: lpfc: Fix lpfc_nvmet_mrq attribute handling when 0 (Dick Kennedy) [1692882] - [scsi] scsi: lpfc: Fix nvmet async receive buffer replenishment (Dick Kennedy) [1692882] - [scsi] scsi: lpfc: Fix location of SCSI ktime counters (Dick Kennedy) [1692882] - [scsi] scsi: lpfc: Fix SLI3 commands being issued on SLI4 devices (Dick Kennedy) [1692882] - [scsi] scsi: lpfc: Fix use-after-free mailbox cmd completion (Dick Kennedy) [1692882] - [scsi] scsi: lpfc: Resolve irq-unsafe lockdep heirarchy warning in lpfc_io_free (Dick Kennedy) [1692882] - [scsi] scsi: lpfc: Resolve inconsistent check of hdwq in lpfc_scsi_cmd_iocb_cmpl (Dick Kennedy) [1692882] - [scsi] scsi: lpfc: Fix error codes in lpfc_sli4_pci_mem_setup() (Dick Kennedy) [1692882] - [scsi] scsi: lpfc: fix 32-bit format string warning (Dick Kennedy) [1692882] - [scsi] scsi: lpfc: fix unused variable warning (Dick Kennedy) [1692882] - [scsi] scsi: lpfc: resolve static checker warning in lpfc_sli4_hba_unset (Dick Kennedy) [1692882] - [scsi] scsi: lpfc: Correct __lpfc_sli_issue_iocb_s4 lockdep check (Dick Kennedy) [1692882] - [scsi] scsi: lpfc: fix calls to dma_set_mask_and_coherent() (Dick Kennedy) [1692882] - [scsi] scsi: lpfc: use dma_set_mask_and_coherent (Dick Kennedy) [1692882] - [scsi] scsi: lpfc: Remove set but not used variable 'phys_id' (Dick Kennedy) [1692882] - [scsi] scsi: lpfc: fix a handful of indentation issues (Dick Kennedy) [1692882] - [scsi] scsi: lpfc: Fix error code if kcalloc() fails (Dick Kennedy) [1692882] - [security] security/selinux: fix SECURITY_LSM_NATIVE_LABELS on reused superblock (Ondrej Mosnacek) [1683296] - [security] selinux: add the missing walk_size + len check in selinux_sctp_bind_connect (Ondrej Mosnacek) [1683296] - [security] selinux: fix avc audit messages (Ondrej Mosnacek) [1670039 1683296] - [security] selinux: replace BUG_ONs with WARN_ONs in avc.c (Ondrej Mosnacek) [1670039 1683296] - [security] selinux: log invalid contexts in AVCs (Ondrej Mosnacek) [1670039 1683296] - [security] selinux: replace some BUG_ON()s with a WARN_ON() (Ondrej Mosnacek) [1670039 1683296] - [security] selinux: inline some AVC functions used only once (Ondrej Mosnacek) [1670039 1683296] - [security] selinux: do not override context on context mounts (Ondrej Mosnacek) [1683296] - [security] selinux: never allow relabeling on context mounts (Ondrej Mosnacek) [1683296] - [security] selinux: stop passing MAY_NOT_BLOCK to the AVC upon follow_link (Ondrej Mosnacek) [1683296] - [security] selinux: avoid silent denials in permissive mode under RCU walk (Ondrej Mosnacek) [1683296] - [security] selinux: fix GPF on invalid policy (Ondrej Mosnacek) [1683296] - [security] selinux: overhaul sidtab to fix bug and improve performance (Ondrej Mosnacek) [1656787 1683296] - [security] selinux: use separate table for initial SID lookup (Ondrej Mosnacek) [1656787 1683296] - [security] selinux: make "selinux_policycap_names[]" const char * (Ondrej Mosnacek) [1683296] - [security] selinux: always allow mounting submounts (Ondrej Mosnacek) [1647723 1683296] - [security] selinux: refactor sidtab conversion (Ondrej Mosnacek) [1656787 1683296] - [security] selinux: fix non-MLS handling in mls_context_to_sid() (Ondrej Mosnacek) [1683296] - [security] selinux: check length properly in SCTP bind hook (Ondrej Mosnacek) [1683296] - [security] selinux: policydb - fix byte order and alignment issues (Ondrej Mosnacek) [1668222 1683296] - [security] selinux: Add __GFP_NOWARN to allocation at str_read() (Ondrej Mosnacek) [1683296] - [security] selinux: refactor mls_context_to_sid() and make it stricter (Ondrej Mosnacek) [1683296] - [security] selinux: fix mounting of cgroup2 under older policies (Ondrej Mosnacek) [1683296] - [security] selinux: cleanup dentry and inodes on error in selinuxfs (Ondrej Mosnacek) [1683296] - [security] selinux: constify write_op[] (Ondrej Mosnacek) [1683296] - [security] selinux: Cleanup printk logging in netnode (Ondrej Mosnacek) [1683296] - [security] selinux: Cleanup printk logging in avc (Ondrej Mosnacek) [1683296] - [security] selinux: Cleanup printk logging in netif (Ondrej Mosnacek) [1683296] - [security] selinux: Cleanup printk logging in netport (Ondrej Mosnacek) [1683296] - [security] selinux: Cleanup printk logging in sidtab (Ondrej Mosnacek) [1683296] - [security] selinux: Cleanup printk logging in netlink (Ondrej Mosnacek) [1683296] - [security] selinux: Cleanup printk logging in selinuxfs (Ondrej Mosnacek) [1683296] - [security] selinux: Cleanup printk logging in services (Ondrej Mosnacek) [1683296] - [security] selinux: Cleanup printk logging in avtab (Ondrej Mosnacek) [1683296] - [security] selinux: Cleanup printk logging in hooks (Ondrej Mosnacek) [1683296] - [security] selinux: Cleanup printk logging in policydb (Ondrej Mosnacek) [1683296] - [security] selinux: Cleanup printk logging in ebitmap (Ondrej Mosnacek) [1683296] - [security] selinux: Cleanup printk logging in conditional (Ondrej Mosnacek) [1683296] - [fs] fs/proc/kcore.c: fix invalid memory access in multi-page read optimization (Bhupesh Sharma) [1627539] - [fs] proc/kcore: add vmcoreinfo note to /proc/kcore (Bhupesh Sharma) [1627539] - [kernel] crash_core: use VMCOREINFO_SYMBOL_ARRAY() for swapper_pg_dir (Bhupesh Sharma) [1627539] - [fs] proc/kcore: optimize multiple page reads (Bhupesh Sharma) [1627539] - [fs] proc/kcore: clean up ELF header generation (Bhupesh Sharma) [1627539] - [fs] proc/kcore: hold lock during read (Bhupesh Sharma) [1627539] - [fs] proc/kcore: fix memory hotplug vs multiple opens race (Bhupesh Sharma) [1627539] - [fs] proc/kcore: replace kclist_lock rwlock with rwsem (Bhupesh Sharma) [1627539] - [fs] proc/kcore: don't grab lock for memory hotplug notifier (Bhupesh Sharma) [1627539] - [fs] proc/kcore: don't grab lock for kclist_add() (Bhupesh Sharma) [1627539]- [net] Merge branch 'linus/master' into rdma.git for-next (Jonathan Toppins) [1685304] - [netdrv] net: cisco: enic: Replace GFP_ATOMIC with GFP_KERNEL (Jonathan Toppins) [1685304] - [infiniband] RDMA/providers: Remove pointless functions (Jonathan Toppins) [1685304] - [infiniband] RDMA/usnic: Suppress a compiler warning (Jonathan Toppins) [1685304] - [infiniband] IB/usnic: usnic should not select INFINIBAND_USER_ACCESS (Jonathan Toppins) [1685304] - [infiniband] RDMA/vmw_pvrdma: Delete unused function (Jonathan Toppins) [1685304] - [infiniband] IB/usnic: Update with bug fixes from core code (Jonathan Toppins) [1685304] - [infiniband] RDMA/providers: Fix return value from create_srq callbacks (Jonathan Toppins) [1685304] - [infiniband] RDMA/rxe: Simplify the error handling code in rxe_create_ah() (Jonathan Toppins) [1685304] - [infiniband] IB/rxe: avoid unnecessary NULL check (Jonathan Toppins) [1685304] - [infiniband] IB/rxe: increase max MR limit (Jonathan Toppins) [1685304] - [infiniband] IB/rxe: Do not hide uABI stuff in memcpy (Jonathan Toppins) [1685304] - [net] rpc: remove unneeded variable 'ret' in rdma_listen_handler (Jonathan Toppins) [1685304] - [net] svcrdma: Clean up Read chunk path (Jonathan Toppins) [1685304] - [net] svcrdma: Avoid releasing a page in svc_xprt_release() (Jonathan Toppins) [1685304] - [net] sunrpc: remove redundant variables 'checksumlen', 'blocksize' and 'data' (Jonathan Toppins) [1685304] - [scsi] scsi: target: srp, vscsi, sbp, qla: use target_remove_session (Jonathan Toppins) [1685304] - [target] scsi: target: add session removal function (Jonathan Toppins) [1685304] - [target] scsi: target: rename target_alloc_session (Jonathan Toppins) [1685304] - [infiniband] RDMA/ipoib: Fix check for return code from ib_create_srq (Jonathan Toppins) [1685304] - [infiniband] IB/ipoib: Fix error return code in ipoib_dev_init() (Jonathan Toppins) [1685304] - [infiniband] IPoIB: use kvzalloc to allocate an array of bucket pointers (Jonathan Toppins) [1685304] - [infiniband] ib_srpt: use kvmalloc to allocate ring pointers (Jonathan Toppins) [1685304] - [infiniband] RDMA/ipoib: Fix return code from ipoib_cm_dev_init (Jonathan Toppins) [1685304] - [infiniband] IB/iser: Remove set-but-not-used variables (Jonathan Toppins) [1685304] - [infiniband] RDMA/ipoib: Prefer unsigned int to bare use of unsigned (Jonathan Toppins) [1685304] - [infiniband] RDMA/ipoib: Use min_t() macro instead of min() (Jonathan Toppins) [1685304] - [infiniband] IB/srp: Remove driver version and release data information (Jonathan Toppins) [1685304] - [target] scsi: target: Remove second argument from fabric_make_tpg() (Jonathan Toppins) [1685304] - [infiniband] IB/iser: set can_queue earlier to allow setting higher queue depth (Jonathan Toppins) [1685304] - [infiniband] RDMA/core: Set right entry state before releasing reference (Jonathan Toppins) [1685304] - [infiniband] IB/uverbs: Free uapi on destroy (Jonathan Toppins) [1685304] - [infiniband] RDMA/uverbs: Fix error cleanup path of ib_uverbs_add_one() (Jonathan Toppins) [1685304] - [infiniband] IB/core: Release object lock if destroy failed (Jonathan Toppins) [1685304] - [infiniband] IB/ucm: fix UCM link error (Jonathan Toppins) [1685304] - [infiniband] IB/core: Change filter function return type from int to bool (Jonathan Toppins) [1685304] - [infiniband] IB/core: Update GID entries for netdevice whose mac address changes (Jonathan Toppins) [1685304] - [infiniband] IB/core: Add default GIDs of the bond master netdev (Jonathan Toppins) [1685304] - [infiniband] IB/core: Consider adding default GIDs of bond device (Jonathan Toppins) [1685304] - [infiniband] IB/core: Delete lower netdevice default GID entries in bonding scenario (Jonathan Toppins) [1685304] - [infiniband] IB/core: Avoid confusing del_netdev_default_ips (Jonathan Toppins) [1685304] - [infiniband] IB/core: Add comment for change upper netevent handling (Jonathan Toppins) [1685304] - [infiniband] IB/ucm: Fix compiling ucm.c (Jonathan Toppins) [1685304] - [infiniband] IB/uverbs: Do not check for device disassociation during ioctl (Jonathan Toppins) [1685304] - [infiniband] IB/uverbs: Remove struct uverbs_root_spec and all supporting code (Jonathan Toppins) [1685304] - [infiniband] IB/uverbs: Use uverbs_api to unmarshal ioctl commands (Jonathan Toppins) [1685304] - [infiniband] IB/uverbs: Use uverbs_alloc for allocations (Jonathan Toppins) [1685304] - [infiniband] IB/uverbs: Add a simple allocator to uverbs_attr_bundle (Jonathan Toppins) [1685304] - [infiniband] IB/uverbs: Remove the ib_uverbs_attr pointer from each attr (Jonathan Toppins) [1685304] - [infiniband] IB/uverbs: Provide implementation private memory for the uverbs_attr_bundle (Jonathan Toppins) [1685304] - [infiniband] IB/uverbs: Use uverbs_api to manage the object type inside the uobject (Jonathan Toppins) [1685304] - [infiniband] IB/uverbs: Build the specs into a radix tree at runtime (Jonathan Toppins) [1685304] - [infiniband] IB/uverbs: Have the core code create the uverbs_root_spec (Jonathan Toppins) [1685304] - [infiniband] IB/uverbs: Fix reading of 32 bit flags (Jonathan Toppins) [1685304] - [infiniband] IB/ucm: Initialize sgid request GID attribute pointer (Jonathan Toppins) [1685304] - [infiniband] IB/uverbs: Allow all DESTROY commands to succeed after disassociate (Jonathan Toppins) [1685304] - [infiniband] IB/uverbs: Do not block disassociate during write() (Jonathan Toppins) [1685304] - [infiniband] IB/uverbs: Do not pass struct ib_device to the ioctl methods (Jonathan Toppins) [1685304] - [infiniband] IB/uverbs: Do not pass struct ib_device to the write based methods (Jonathan Toppins) [1685304] - [infiniband] IB/uverbs: Lower the test for ongoing disassociation (Jonathan Toppins) [1685304] - [infiniband] IB/uverbs: Allow uobject allocation to work concurrently with disassociate (Jonathan Toppins) [1685304] - [infiniband] IB/uverbs: Allow RDMA_REMOVE_DESTROY to work concurrently with disassociate (Jonathan Toppins) [1685304] - [include] IB/uverbs: Convert 'bool exclusive' into an enum (Jonathan Toppins) [1685304] - [include] IB/uverbs: Consolidate uobject destruction (Jonathan Toppins) [1685304] - [infiniband] IB/uverbs: Make the write path destroy methods use the same flow as ioctl (Jonathan Toppins) [1685304] - [infiniband] IB/uverbs: Remove rdma_explicit_destroy() from the ioctl methods (Jonathan Toppins) [1685304] - [infiniband] RDMA/core: Prefix _ib to IB/RoCE specific functions (Jonathan Toppins) [1685304] - [infiniband] RDMA/core: Simplify gid type check in cma_acquire_dev() (Jonathan Toppins) [1685304] - [infiniband] RDMA/core: Return bool instead of int (Jonathan Toppins) [1685304] - [infiniband] RDMA/cma: Get rid of 1 bit boolean (Jonathan Toppins) [1685304] - [infiniband] RDMA/cma: Constify path record, ib_cm_event, listen_id pointers (Jonathan Toppins) [1685304] - [infiniband] RDMA/core: Constify dst_addr argument (Jonathan Toppins) [1685304] - [infiniband] RDMA/cma: Simplify rdma_resolve_addr() error flow (Jonathan Toppins) [1685304] - [infiniband] RDMA/cma: Initialize resource type in __rdma_create_id() (Jonathan Toppins) [1685304] - [infiniband] RDMA/core: Check for verbs callbacks before using them (Jonathan Toppins) [1685304] - [infiniband] RDMA/core: Remove {create,destroy}_ah from mandatory verbs (Jonathan Toppins) [1685304] - [infiniband] IB/uverbs: Add UVERBS_ATTR_FLAGS_IN to the specs language (Jonathan Toppins) [1685304] - [infiniband] RDMA, core and ULPs: Declare ib_post_send() and ib_post_recv() arguments const (Jonathan Toppins) [1685304] - [infiniband] IB/mlx5, ib_post_send(), IB_WR_REG_SIG_MR: Do not modify the 'wr' argument (Jonathan Toppins) [1685304] - [net] net/xprtrdma: Restore needed argument to ib_post_send (Jonathan Toppins) [1685304] - [net] net/xprtrdma: Simplify ib_post_(send|recv|srq_recv)() calls (Jonathan Toppins) [1685304] - [nvme] nvmet-rdma: Simplify ib_post_(send|recv|srq_recv)() calls (Jonathan Toppins) [1685304] - [nvme] nvme-rdma: Simplify ib_post_(send|recv|srq_recv)() calls (Jonathan Toppins) [1685304] - [infiniband] IB/srpt: Simplify ib_post_(send|recv|srq_recv)() calls (Jonathan Toppins) [1685304] - [infiniband] IB/srp: Simplify ib_post_(send|recv|srq_recv)() calls (Jonathan Toppins) [1685304] - [infiniband] IB/isert: Simplify ib_post_(send|recv|srq_recv)() calls (Jonathan Toppins) [1685304] - [infiniband] IB/iser: Simplify ib_post_(send|recv|srq_recv)() calls (Jonathan Toppins) [1685304] - [infiniband] IB/IPoIB: Simplify ib_post_(send|recv|srq_recv)() calls (Jonathan Toppins) [1685304] - [infiniband] RDMA: Constify the argument of the work request conversion functions (Jonathan Toppins) [1685304] - [infiniband] IB/iser: Inline two work request conversion functions (Jonathan Toppins) [1685304] - [infiniband] RDMA/cma: Consider netdevice for RoCE ports (Jonathan Toppins) [1685304] - [infiniband] IB/core: Introduce and use sgid_attr in CM requests (Jonathan Toppins) [1685304] - [infiniband] IB/core: Remove extra parentheses (Jonathan Toppins) [1685304] - [infiniband] IB/uverbs: Fix locking around struct ib_uverbs_file ucontext (Jonathan Toppins) [1685304] - [infiniband] IB/uverbs: Move the FD uobj type struct file allocation to alloc_commit (Jonathan Toppins) [1685304] - [infiniband] IB/uverbs: Always propagate errors from rdma_alloc_commit_uobject() (Jonathan Toppins) [1685304] - [infiniband] IB/uverbs: Rework the locking for cleaning up the ucontext (Jonathan Toppins) [1685304] - [infiniband] IB/uverbs: Revise and clarify the rwsem and uobjects_lock (Jonathan Toppins) [1685304] - [infiniband] IB/uverbs: Clarify and revise uverbs_close_fd (Jonathan Toppins) [1685304] - [infiniband] IB/uverbs: Revise the placement of get/puts on uobject (Jonathan Toppins) [1685304] - [infiniband] IB/uverbs: Clarify the kref'ing ordering for alloc_commit (Jonathan Toppins) [1685304] - [infiniband] IB/uverbs: Handle IDR and FD types without truncation (Jonathan Toppins) [1685304] - [infiniband] IB/uverbs: Get rid of null_obj_type (Jonathan Toppins) [1685304] - [infiniband] RDMA/core: Simplify ib_post_(send|recv|srq_recv)() calls (Jonathan Toppins) [1685304] - [include] IB/core: Allow ULPs to specify NULL as the third ib_post_(send|recv|srq_recv)() argument (Jonathan Toppins) [1685304] - [include] IB/mlx5: Introduce driver create and destroy flow methods (Jonathan Toppins) [1685304] - [infiniband] IB: Support ib_flow creation in drivers (Jonathan Toppins) [1685304] - [infiniband] IB/mlx5: Introduce flow steering matcher uapi object (Jonathan Toppins) [1685304] - [include] IB/uverbs: Move ib_access_flags and ib_read_counters_flags to uapi (Jonathan Toppins) [1685304] - [infiniband] IB/cm: Remove cma_multicast->igmp_joined (Jonathan Toppins) [1685304] - [infiniband] RDMA/umem: Refactor exit paths in ib_umem_get (Jonathan Toppins) [1685304] - [infiniband] IB: Enable uverbs_destroy_def_handler to be used by drivers (Jonathan Toppins) [1685304] - [include] IB/uverbs: Pass IB_UVERBS_QPF_GRH_REQUIRED to user space (Jonathan Toppins) [1685304] - [infiniband] RDMA: Validate grh_required when handling AVs (Jonathan Toppins) [1685304] - [infiniband] RDMA/hfi1: Move grh_required into update_sm_ah (Jonathan Toppins) [1685304] - [infiniband] IB/core: Simplify check for RoCE route resolve (Jonathan Toppins) [1685304] - [infiniband] IB/uverbs: Do not use uverbs_cmd_mask in the ioctl path (Jonathan Toppins) [1685304] - [infiniband] RDMA/rw: Fix rdma_rw_ctx_signature_init() kernel-doc header (Jonathan Toppins) [1685304] - [infiniband] RDMA/core: Remove set-but-not-used variables (Jonathan Toppins) [1685304] - [infiniband] RDMA/core: Remove ib_find_cached_gid() and ib_find_cached_gid_by_port() (Jonathan Toppins) [1685304] - [infiniband] IB/cm: Remove unused and erroneous msg sequence encoding (Jonathan Toppins) [1685304] - [infiniband] IB/uverbs: Replace ib_ucq_object uverbs_file with the one in ib_uobject (Jonathan Toppins) [1685304] - [infiniband] IB/uverbs: Remove ib_uobject_file (Jonathan Toppins) [1685304] - [infiniband] IB/uverbs: Tidy up remaining references to ucontext (Jonathan Toppins) [1685304] - [infiniband] IB/uverbs: Replace file->ucontext with file in uverbs_cmd.c (Jonathan Toppins) [1685304] - [infiniband] IB/uverbs: Replace ib_ucontext with ib_uverbs_file in core function calls (Jonathan Toppins) [1685304] - [infiniband] IB/uverbs: Move non driver related elements from ib_ucontext to ib_ufile (Jonathan Toppins) [1685304] - [infiniband] IB/uverbs: Add a uobj_perform_destroy helper (Jonathan Toppins) [1685304] - [infiniband] RDMA/uverbs: Combine MIN_SZ_OR_ZERO with UVERBS_ATTR_STRUCT (Jonathan Toppins) [1685304] - [infiniband] RDMA/uverbs: Use UVERBS_ATTR_MIN_SIZE correctly and uniformly (Jonathan Toppins) [1685304] - [infiniband] RDMA/uverbs: Remove UA_FLAGS (Jonathan Toppins) [1685304] - [infiniband] RDMA/uverbs: Get rid of the & in method specifications (Jonathan Toppins) [1685304] - [infiniband] IB: Improve uverbs_cleanup_ucontext algorithm (Jonathan Toppins) [1685304] - [infiniband] RDMA/uverbs: Simplify UVERBS_OBJECT and _TREE family of macros (Jonathan Toppins) [1685304] - [infiniband] RDMA/uverbs: Simplify method definition macros (Jonathan Toppins) [1685304] - [infiniband] RDMA/uverbs: Simplify UVERBS_ATTR family of macros (Jonathan Toppins) [1685304] - [infiniband] RDMA/uverbs: Split UVERBS_ATTR_FLOW_ACTION_ESP_HANDLE (Jonathan Toppins) [1685304] - [infiniband] RDMA/uverbs: Store the specs_root in the struct ib_uverbs_device (Jonathan Toppins) [1685304] - [infiniband] IB/cm: Remove now useless rcu_lock in dst_fetch_ha (Jonathan Toppins) [1685304] - [infiniband] IB/core: Check for rdma_protocol_ib only after validating port_num (Jonathan Toppins) [1685304] - [infiniband] RDMA/uverbs: Remove redundant check (Jonathan Toppins) [1685304] - [infiniband] RDMA/umem: Don't check for a negative return value of dma_map_sg_attrs() (Jonathan Toppins) [1685304] - [infiniband] RDMA/verbs: Drop kernel variant of destroy_flow (Jonathan Toppins) [1685304] - [infiniband] RDMA/verbs: Drop kernel variant of create_flow (Jonathan Toppins) [1685304] - [infiniband] RDMA/uverbs: Check existence of create_flow callback (Jonathan Toppins) [1685304] - [infiniband] RDMA/core: Remove unused ib cache functions (Jonathan Toppins) [1685304] - [infiniband] Revert "[infiniband] RDMA/hns: Only assgin the fields of the av if IB_QP_AV bit is set" (Jonathan Toppins) [1685304] - [infiniband] RDMA: Convert drivers to use the AH's sgid_attr in post_wr paths (Jonathan Toppins) [1685304] - [infiniband] IB/mlx4: Use GID attribute from ah attribute (Jonathan Toppins) [1685304] - [infiniband] IB/rxe: Use rdma GID API (Jonathan Toppins) [1685304] - [infiniband] IB/cm: Use sgid_attr from the AV (Jonathan Toppins) [1685304] - [infiniband] IB/cm: Replace members of sa_path_rec with 'struct sgid_attr *' (Jonathan Toppins) [1685304] - [infiniband] IB/cm: Pass the sgid_attr through various events (Jonathan Toppins) [1685304] - [infiniband] IB/cm: Keep track of the sgid_attr that created the cm id (Jonathan Toppins) [1685304] - [infiniband] IB: Make init_ah_attr_grh_fields set sgid_attr (Jonathan Toppins) [1685304] - [infiniband] IB: Make ib_init_ah_from_mcmember set sgid_attr (Jonathan Toppins) [1685304] - [infiniband] IB: Make ib_init_ah_attr_from_wc set sgid_attr (Jonathan Toppins) [1685304] - [infiniband] IB/core: Free GID table entry during GID deletion (Jonathan Toppins) [1685304] - [infiniband] RDMA/cma: Consider net namespace while leaving multicast group (Jonathan Toppins) [1685304] - [infiniband] IB/uverbs: Delete type and id from uverbs_obj_attr (Jonathan Toppins) [1685304] - [infiniband] IB/rdmavt, IB/hfi1: Create device dependent s_flags (Jonathan Toppins) [1685304] - [infiniband] IB/core: Expose ib_ucontext from a given ib_uverbs_file (Jonathan Toppins) [1685304] - [include] IB/core: Introduce DECLARE_UVERBS_GLOBAL_METHODS (Jonathan Toppins) [1685304] - [infiniband] IB/uverbs: Allow an empty namespace in ioctl() framework (Jonathan Toppins) [1685304] - [infiniband] IB/uverbs: Add a macro to define a type with no kernel known size (Jonathan Toppins) [1685304] - [infiniband] IB/uverbs: Add PTR_IN attributes that are allocated/copied automatically (Jonathan Toppins) [1685304] - [infiniband] IB/uverbs: Refactor uverbs_finalize_objects (Jonathan Toppins) [1685304] - [infiniband] IB/uverbs: Export uverbs idr and fd types (Jonathan Toppins) [1685304] - [infiniband] IB/mad: Use IDR for agent IDs (Jonathan Toppins) [1685304] - [infiniband] RDMA: Hold the sgid_attr inside the struct ib_ah/qp (Jonathan Toppins) [1685304] - [infiniband] RDMA: Convert drivers to use sgid_attr instead of sgid_index (Jonathan Toppins) [1685304] - [infiniband] IB{cm, core}: Introduce and use ah_attr copy, move, replace APIs (Jonathan Toppins) [1685304] - [infiniband] IB/core: Tidy ib_resolve_eth_dmac (Jonathan Toppins) [1685304] - [infiniband] IB/core: Add a sgid_attr pointer to struct rdma_ah_attr (Jonathan Toppins) [1685304] - [infiniband] IB: Ensure that all rdma_ah_attr's are zero initialized (Jonathan Toppins) [1685304] - [infiniband] IB/mad: Agent registration is process context only (Jonathan Toppins) [1685304] - [infiniband] RDMA/uverbs: Refactor flow_resources_alloc() function (Jonathan Toppins) [1685304] - [infiniband] RDMA/nldev: Return port capability flag for IB only (Jonathan Toppins) [1685304] - [net] RDMA/smc: Replace ib_query_gid with rdma_get_gid_attr (Jonathan Toppins) [1685304] - [include] IB/cache: Restore compatibility for ib_query_gid (Jonathan Toppins) [1685304] - [infiniband] IB: Replace ib_query_gid/ib_get_cached_gid with rdma_query_gid (Jonathan Toppins) [1685304] - [infiniband] IB/core: Make rdma_find_gid_by_filter support all protocols (Jonathan Toppins) [1685304] - [infiniband] IB/core: Provide rdma_ versions of the gid cache API (Jonathan Toppins) [1685304] - [infiniband] IB/core: Replace ib_query_gid with rdma_get_gid_attr (Jonathan Toppins) [1685304] - [infiniband] IB/core: Introduce GID attribute get, put and hold APIs (Jonathan Toppins) [1685304] - [infiniband] RDMA: Use GID from the ib_gid_attr during the add_gid() callback (Jonathan Toppins) [1685304] - [infiniband] IB/core: Introduce GID entry reference counts (Jonathan Toppins) [1685304] - [infiniband] IB/core: Store default GID property per-table instead of per-entry (Jonathan Toppins) [1685304] - [infiniband] IB/core: Do not set the gid type when reserving default entries (Jonathan Toppins) [1685304] - [include] IDR: Expose the XArray lock (Jonathan Toppins) [1688319] - [x86] x86/cpufeatures: Enumerate MOVDIR64B instruction (Steve Best) [1482754] - [x86] x86/cpufeatures: Enumerate MOVDIRI instruction (Steve Best) [1482754] - [nvme] nvme: allow ANA support to be independent of native multipathing (Ewan Milne) [1690940] - [nvme] nvme: multipath: Change default of kernel NVMe multipath to be disabled (Ewan Milne) [1690940] - [nvme] nvme: convert to SPDX identifiers (Ewan Milne) [1690940] - [nvme] nvme-multipath: round-robin I/O policy (Ewan Milne) [1690940] - [nvme] nvme-multipath: drop optimization for static ANA group IDs (Ewan Milne) [1690940] - [nvme] nvme-multipath: zero out ANA log buffer (Ewan Milne) [1690940] - [nvme] nvme-fc: fix numa_node when dev is null (Ewan Milne) [1690940] - [nvme] nvme: add a numa_node field to struct nvme_ctrl (Ewan Milne) [1690940] - [nvme] nvme: update node paths after adding new path (Ewan Milne) [1690940] - [nvme] nvme: take node locality into account when selecting a path (Ewan Milne) [1690940] - [s390] s390/mm: Fix ERROR: "__node_distance" undefined! (Ewan Milne) [1690940] - [nvme] nvme: call nvme_complete_rq when nvmf_check_ready fails for mpath I/O (Ewan Milne) [1690940] - [nvme] nvme: properly propagate errors in nvme_mpath_init (Ewan Milne) [1690940] - [nvme] nvme: fixup crash on failed discovery (Ewan Milne) [1690940] - [nvme] nvme: add ANA support (Ewan Milne) [1690940] - [include] nvme.h: fixup ANA group descriptor format (Ewan Milne) [1690940] - [include] nvme.h: add ANA definitions (Ewan Milne) [1690940] - [nvme] nvme: remove nvme_req_needs_failover (Ewan Milne) [1690940] - [nvme] nvme: simplify the API for getting log pages (Ewan Milne) [1690940] - [include] nvme.h: add support for the log specific field (Ewan Milne) [1690940]- [md] dm writecache: set "Tech Preview" taint using mark_tech_preview() (Mike Snitzer) [1690587] - [md] dm integrity: limit the rate of error messages (Mike Snitzer) [1690105] - [md] dm snapshot: don't define direct_access if we don't support it (Mike Snitzer) [1690105] - [md] dm cache: add support for discard passdown to the origin device (Mike Snitzer) [1690105] - [md] dm writecache: fix typo in name for writeback_wq (Mike Snitzer) [1690105] - [md] dm thin: add sanity checks to thin-pool and external snapshot creation (Mike Snitzer) [1690105] - [md] dm block manager: remove redundant unlikely annotation (Mike Snitzer) [1690105] - [md] dm verity fec: remove redundant unlikely annotation (Mike Snitzer) [1690105] - [md] dm integrity: remove redundant unlikely annotation (Mike Snitzer) [1690105] - [md] dm switch: use struct_size() in kzalloc() (Mike Snitzer) [1690105] - [md] dm: remove unused _rq_tio_cache and _rq_cache (Mike Snitzer) [1690105] - [md] dm crypt: don't overallocate the integrity tag space (Mike Snitzer) [1690105] - [md] dm: eliminate 'split_discard_bios' flag from DM target interface (Mike Snitzer) [1690105] - [md] dm: always call blk_queue_split() in dm_process_bio() (Mike Snitzer) [1690105] - [md] dm: update dm_process_bio() to split bio if in ->make_request_fn() (Mike Snitzer) [1690105] - [md] dm rq: remove unused arguments from rq_completed() (Mike Snitzer) [1690105] - [md] dm integrity: replace open-coded allocation size multiplication (Mike Snitzer) [1690105] - [md] dm: Remove VLA usage from hashes (Mike Snitzer) [1690105] - [crypto] crypto: hash - Remove VLA usage (Mike Snitzer) [1690105] - [md] dm: Avoid namespace collision with bitmap API (Mike Snitzer) [1690105] - [md] md/dm-writecache: Don't request pointer dummy_addr when not required (Mike Snitzer) [1690105] - [scsi] scsi: qla2xxx: avoid printf format warning (Himanshu Madhani) [1664534] - [scsi] scsi: qla2xxx: Fix issue reported by static checker for qla2x00_els_dcmd2_sp_done() (Himanshu Madhani) [1664534] - [scsi] qla2xxx: Update driver version to 10.00.00.14.08.1-k (Himanshu Madhani) [1664534] - [scsi] scsi: qla2xxx: Avoid PCI IRQ affinity mapping when multiqueue is not supported (Himanshu Madhani) [1664534] - [scsi] scsi: qla2xxx: Add new FW dump template entry types (Himanshu Madhani) [1664534] - [scsi] scsi: qla2xxx: Fix code indentation for qla27xx_fwdt_entry (Himanshu Madhani) [1664534] - [scsi] scsi: qla2xxx: Move marker request behind QPair (Himanshu Madhani) [1664534] - [scsi] scsi: qla2xxx: Prevent SysFS access when chip is down (Himanshu Madhani) [1664534] - [scsi] scsi: qla2xxx: Add support for setting port speed (Himanshu Madhani) [1664534] - [scsi] scsi: qla2xxx: Prevent multiple ADISC commands per session (Himanshu Madhani) [1664534] - [scsi] scsi: qla2xxx: Check for FW started flag before aborting (Himanshu Madhani) [1664534] - [scsi] scsi: qla2xxx: Fix unload when NVMe devices are configured (Himanshu Madhani) [1664534] - [scsi] scsi: qla2xxx: Add First Burst support for FC-NVMe devices (Himanshu Madhani) [1664534] - [scsi] scsi: qla2xxx: Fix LUN discovery if loop id is not assigned yet by firmware (Himanshu Madhani) [1664534] - [scsi] scsi: qla2xxx: remove redundant null check on pointer sess (Himanshu Madhani) [1664534] - [scsi] scsi: qla2xxx: Move debug messages before sending srb preventing panic (Himanshu Madhani) [1664534] - [scsi] scsi: qla2xxx: Use complete switch scan for RSCN events (Himanshu Madhani) [1664534] - [scsi] scsi: qla2xxx: Fix fw options handle eh_bus_reset() (Himanshu Madhani) [1664534] - [scsi] scsi: qla2xxx: Restore FAWWPN of Physical Port only for loop down (Himanshu Madhani) [1664534] - [scsi] scsi: qla2xxx: Prevent memory leak for CT req/rsp allocation (Himanshu Madhani) [1664534] - [scsi] scsi: qla2xxx: Fix SRB allocation flag to avoid sleeping in IRQ context (Himanshu Madhani) [1664534] - [scsi] scsi: qla2xxx: allow session delete to finish before create. (Himanshu Madhani) [1664534] - [scsi] scsi: qla2xxx: fix fcport null pointer access. (Himanshu Madhani) [1664534] - [scsi] scsi: qla2xxx: flush IO on chip reset or sess delete (Himanshu Madhani) [1664534] - [scsi] scsi: qla2xxx: Fix session cleanup hang (Himanshu Madhani) [1664534] - [scsi] scsi: qla2xxx: Change default ZIO threshold. (Himanshu Madhani) [1664534] - [scsi] scsi: qla2xxx: Add pci function reset support. (Himanshu Madhani) [1664534] - [scsi] scsi: qla2xxx: Fix N2N target discovery with Local loop (Himanshu Madhani) [1664534] - [scsi] scsi: qla2xxx: no need to check return value of debugfs_create functions (Himanshu Madhani) [1664534] - [scsi] scsi: qla2xxx: Fix DMA error when the DIF sg buffer crosses 4GB boundary (Himanshu Madhani) [1664534] - [scsi] scsi: qla2xxx: Add protection mask module parameters (Himanshu Madhani) [1664534] - [scsi] scsi: qla2xxx: Fix for FC-NVMe discovery for NPIV port (Himanshu Madhani) [1664534] - [scsi] scsi: qla2xxx: Fix NPIV handling for FC-NVMe (Himanshu Madhani) [1664534] - [scsi] scsi: qla2xxx: Enable FC-NVME on NPIV ports (Himanshu Madhani) [1664534] - [scsi] Revert "scsi: qla2xxx: Fix NVMe Target discovery" (Himanshu Madhani) [1664534] - [scsi] scsi: qla2xxx: NULL check before some freeing functions is not needed (Himanshu Madhani) [1664534] - [scsi] scsi: qla2xxx: Split the __qla2x00_abort_all_cmds() function (Himanshu Madhani) [1664534] - [scsi] scsi: qla2xxx: Introduce a switch/case statement in qlt_xmit_tm_rsp() (Himanshu Madhani) [1664534] - [scsi] scsi: qla2xxx: Fix a typo in MODULE_PARM_DESC (Himanshu Madhani) [1664534] - [scsi] scsi: qla2xxx: Remove two arguments from qlafx00_error_entry() (Himanshu Madhani) [1664534] - [scsi] scsi: qla2xxx: Make sure that qlafx00_ioctl_iosb_entry() initializes 'res' (Himanshu Madhani) [1664534] - [scsi] scsi: qla2xxx: Remove a set-but-not-used variable (Himanshu Madhani) [1664534] - [scsi] scsi: qla2xxx: Make qla2x00_sysfs_write_nvram() easier to analyze (Himanshu Madhani) [1664534] - [scsi] scsi: qla2xxx: Declare local functions 'static' (Himanshu Madhani) [1664534] - [scsi] scsi: qla2xxx: Improve several kernel-doc headers (Himanshu Madhani) [1664534] - [scsi] scsi: qla2xxx: Modify fall-through annotations (Himanshu Madhani) [1664534] - [scsi] scsi: qla2xxx: fully convert to the generic DMA API (Himanshu Madhani) [1664534] - [scsi] scsi: qla2xxx: Simplify conditional check (Himanshu Madhani) [1664534] - [scsi] scsi: qla2xxx: Remove unnecessary self assignment (Himanshu Madhani) [1664534] - [scsi] scsi: qla2xxx: Return switch command on a timeout (Himanshu Madhani) [1664534] - [scsi] scsi: qla2xxx: Move log messages before issuing command to firmware (Himanshu Madhani) [1664534] - [scsi] scsi: qla2xxx: Fix for double free of SRB structure (Himanshu Madhani) [1664534] - [scsi] scsi: qla2xxx: Fix recursive mailbox timeout (Himanshu Madhani) [1664534] - [scsi] scsi: qla2xxx: Fix NVMe Target discovery (Himanshu Madhani) [1664534] - [scsi] scsi: qla2xxx: don't allow negative thresholds (Himanshu Madhani) [1664534] - [scsi] scsi: qla2xxx: Fix comment in MODULE_PARM_DESC in qla2xxx (Himanshu Madhani) [1664534] - [scsi] scsi: qla2xxx: Remove set but not used variable 'ptr_dma' (Himanshu Madhani) [1664534] - [scsi] scsi: qla2xxx: fix typo "CT-PASSTRHU" -> "CT-PASSTHRU" (Himanshu Madhani) [1664534] - [scsi] scsi: qla2xxx: Fix an endian bug in fcpcmd_is_corrupted() (Himanshu Madhani) [1664534] - [scsi] scsi: qla2xxx: Fix double increment of switch scan retry count (Himanshu Madhani) [1664534] - [scsi] scsi: qla2xxx: Fix duplicate switch's Nport ID entries (Himanshu Madhani) [1664534] - [scsi] scsi: qla2xxx: Remove stale debug trace message from tcm_qla2xxx (Himanshu Madhani) [1664534] - [scsi] scsi: qla2xxx: Fix premature command free (Himanshu Madhani) [1664534] - [scsi] scsi: qla2xxx: Reject bsg request if chip is down. (Himanshu Madhani) [1664534] - [scsi] scsi: qla2xxx: shutdown chip if reset fail (Himanshu Madhani) [1664534] - [scsi] scsi: qla2xxx: Fix stuck session in PLOGI state (Himanshu Madhani) [1664534] - [scsi] scsi: qla2xxx: Fix early srb free on abort (Himanshu Madhani) [1664534] - [scsi] scsi: qla2xxx: Add mode control for each physical port (Himanshu Madhani) [1664534] - [scsi] scsi: qla2xxx: Fix race condition for resource cleanup (Himanshu Madhani) [1664534] - [scsi] scsi: qla2xxx: Fix dropped srb resource. (Himanshu Madhani) [1664534] - [scsi] scsi: qla2xxx: Fix port speed display on chip reset (Himanshu Madhani) [1664534] - [scsi] scsi: qla2xxx: Check for Register disconnect (Himanshu Madhani) [1664534] - [scsi] scsi: qla2xxx: Increase abort timeout value (Himanshu Madhani) [1664534] - [scsi] scsi: qla2xxx: Allow FC-NVMe underrun to be handled by transport (Himanshu Madhani) [1664534] - [scsi] scsi: qla2xxx: Move ABTS code behind qpair (Himanshu Madhani) [1664534] - [scsi] scsi: qla2xxx: Remove stale ADISC_DONE event (Himanshu Madhani) [1664534] - [scsi] scsi: qla2xxx: Fix Remote port registration (Himanshu Madhani) [1664534] - [scsi] scsi: qla2xxx: Remove ASYNC GIDPN switch command (Himanshu Madhani) [1664534] - [scsi] scsi: qla2xxx: Reduce holding sess_lock to prevent CPU lock-up (Himanshu Madhani) [1664534] - [scsi] scsi: qla2xxx: Move {get|rel}_sp to base_qpair struct (Himanshu Madhani) [1664534] - [scsi] scsi: qla2xxx: Add support for ZIO6 interrupt threshold (Himanshu Madhani) [1664534] - [scsi] scsi: qla2xxx: Fix out of order Termination and ABTS response (Himanshu Madhani) [1664534] - [scsi] scsi: qla2xxx: Add logic to detect ABTS hang and response completion (Himanshu Madhani) [1664534] - [scsi] scsi: qla2xxx: Add appropriate debug info for invalid RX_ID (Himanshu Madhani) [1664534] - [scsi] scsi: qla2xxx: Fix deadlock between ATIO and HW lock (Himanshu Madhani) [1664534] - [scsi] scsi: qla2xxx: Serialize mailbox request (Himanshu Madhani) [1664534] - [scsi] scsi: qla2xxx: Terminate Plogi/PRLI if WWN is 0 (Himanshu Madhani) [1664534] - [scsi] scsi: qla2xxx: Defer chip reset until target mode is enabled (Himanshu Madhani) [1664534] - [scsi] scsi: qla2xxx: Remove all rports if fabric scan retry fails (Himanshu Madhani) [1664534] - [scsi] scsi: qla2xxx: Force fw cleanup on ADISC error (Himanshu Madhani) [1664534] - [scsi] scsi: qla2xxx: Turn off IOCB timeout timer on IOCB completion (Himanshu Madhani) [1664534] - [scsi] scsi: qla2xxx: Decrement login retry count for only plogi (Himanshu Madhani) [1664534] - [scsi] scsi: qla2xxx: Move rport registration out of internal work_list (Himanshu Madhani) [1664534] - [scsi] scsi: qla2xxx: Remove redundant check for fcport deletion (Himanshu Madhani) [1664534] - [scsi] scsi: qla2xxx: Update rscn_rcvd field to more meaningful scan_needed (Himanshu Madhani) [1664534] - [scsi] scsi: qla2xxx: Use correct qpair for ABTS/CMD (Himanshu Madhani) [1664534] - [scsi] scsi: qla2xxx: Fix process response queue for ISP26XX and above (Himanshu Madhani) [1664534] - [scsi] scsi: qla2xxx: Migrate NVME N2N handling into state machine (Himanshu Madhani) [1664534] - [scsi] scsi: qla2xxx: Save frame payload size from ICB (Himanshu Madhani) [1664534] - [scsi] scsi: qla2xxx: Fix race between switch cmd completion and timeout (Himanshu Madhani) [1664534] - [scsi] scsi: qla2xxx: Fix Management Server NPort handle reservation logic (Himanshu Madhani) [1664534] - [scsi] scsi: qla2xxx: Flush mailbox commands on chip reset (Himanshu Madhani) [1664534] - [scsi] scsi: qla2xxx: Fix session state stuck in Get Port DB (Himanshu Madhani) [1664534] - [scsi] scsi: qla2xxx: Fix redundant fc_rport registration (Himanshu Madhani) [1664534] - [scsi] scsi: qla2xxx: Silent erroneous message (Himanshu Madhani) [1664534] - [scsi] scsi: qla2xxx: Prevent sysfs access when chip is down (Himanshu Madhani) [1664534] - [scsi] scsi: qla2xxx: Add longer window for chip reset (Himanshu Madhani) [1664534] - [scsi] scsi: qla2xxx: Fix login retry count (Himanshu Madhani) [1664534] - [scsi] scsi: qla2xxx: Fix N2N link re-connect (Himanshu Madhani) [1664534] - [scsi] scsi: qla2xxx: Cleanup for N2N code (Himanshu Madhani) [1664534] - [scsi] scsi: qla2xxx: remove irq save in qla2x00_poll() (Himanshu Madhani) [1664534] - [netdrv] ice: Do autoneg based on VSI state (Jonathan Toppins) [1687903] - [fs] xfs: use the latest extent at writeback delalloc conversion time (Brian Foster) [1661968] - [fs] xfs: create delalloc bmapi wrapper for full extent allocation (Brian Foster) [1661968] - [fs] xfs: remove superfluous writeback mapping eof trimming (Brian Foster) [1661968] - [fs] xfs: validate writeback mapping using data fork seq counter (Brian Foster) [1661968] - [fs] xfs: update fork seq counter on data fork changes (Brian Foster) [1661968] - [fs] xfs: eof trim writeback mapping as soon as it is cached (Brian Foster) [1661968] - [perf] drivers/perf: hisi: update the sccl_id/ccl_id when MT is supported (Xiaojun Tan) [1677815]- [x86] x86/hyperv: Fix kernel panic when kexec on HyperV (Kairui Song) [1684451] - [rpmspec] apply linux-kernel-test.patch when building ("Herton R. Krzesinski") [1690534] - [netdrv] net: ena: update driver version from 2.0.2 to 2.0.3 (John Linville) [1690106] - [netdrv] net: ena: fix race between link up and device initalization (John Linville) [1690106] - [netdrv] net: phy: add phy_speed_down and phy_speed_up (Petr Oros) [1690131] - [netdrv] net: phy: add helper phy_config_aneg (Petr Oros) [1690131] - [nvme] nvme-fabrics: convert to SPDX identifiers (Ewan Milne) [1690909] - [nvme] nvme-fabrics: fix ctrl_loss_tmo < 0 to reconnect forever (Ewan Milne) [1690909] - [nvme] nvme-fc: reject reconnect if io queue count is reduced to zero (Ewan Milne) [1690601] - [nvme] nvme-fc: use nr_phys_segments to determine existence of sgl (Ewan Milne) [1690601] - [include] nvme-fc: convert to SPDX identifiers (Ewan Milne) [1690601] - [nvme] nvme-fc: initialize nvme_req(rq)->ctrl after calling __nvme_fc_init_request() (Ewan Milne) [1690601] - [nvme] nvme-fc: fix request private initialization (Ewan Milne) [1690601] - [nvme] nvme-fc: rework the request initialization code (Ewan Milne) [1690601] - [nvme] nvme-fc: introduce struct nvme_fcp_op_w_sgl (Ewan Milne) [1690601] - [nvme] nvme: cache struct nvme_ctrl reference to struct nvme_request (Ewan Milne) [1690601] - [nvme] nvme-fc: fix kernel-doc headers (Ewan Milne) [1690601] - [nvme] nvme_fc: add 'nvme_discovery' sysfs attribute to fc transport device (Ewan Milne) [1690601] - [nvme] nvme-fc: fix for a minor typos (Ewan Milne) [1690601] - [crypto] crypto: arm64/aes-ccm - fix logical bug in AAD MAC handling (Neil Horman) [1689185] - [mm] mm: enforce min addr even if capable() in expand_downwards() (Rafael Aquini) [1687667] {CVE-2019-9213} - [pci] PCI/VMD: Configure MPS settings before adding devices (Prarit Bhargava) [1659270] - [pci] PCI: vmd: Detach resources after stopping root bus (Prarit Bhargava) [1659270] - [char] tpm: separate cmd_ready/go_idle from runtime_pm (Jerry Snitselaar) [1677735] - [block] loop: set GENHD_FL_NO_PART_SCAN after blkdev_reread_part() (Ming Lei) [1683593] - [block] loop: do not print warn message if partition scan is successful (Ming Lei) [1683593] - [block] loop: drop caches if offset or block_size are changed (Ming Lei) [1683593] - [block] block: loop: remove redundant code (Ming Lei) [1683593] - [block] block: loop: check error using IS_ERR instead of IS_ERR_OR_NULL in loop_add() (Ming Lei) [1683593] - [block] loop: Fix double mutex_unlock(&loop_ctl_mutex) in loop_control_ioctl() (Ming Lei) [1683593] - [block] loop: Get rid of 'nested' acquisition of loop_ctl_mutex (Ming Lei) [1683593] - [block] loop: Avoid circular locking dependency between loop_ctl_mutex and bd_mutex (Ming Lei) [1683593] - [block] loop: Fix deadlock when calling blkdev_reread_part() (Ming Lei) [1683593] - [block] loop: Move loop_reread_partitions() out of loop_ctl_mutex (Ming Lei) [1683593] - [block] loop: Move special partition reread handling in loop_clr_fd() (Ming Lei) [1683593] - [block] loop: Push loop_ctl_mutex down to loop_change_fd() (Ming Lei) [1683593] - [block] loop: Push loop_ctl_mutex down to loop_set_fd() (Ming Lei) [1683593] - [block] loop: Push loop_ctl_mutex down to loop_set_status() (Ming Lei) [1683593] - [block] loop: Push loop_ctl_mutex down to loop_get_status() (Ming Lei) [1683593] - [block] loop: Push loop_ctl_mutex down into loop_clr_fd() (Ming Lei) [1683593] - [block] loop: Split setting of lo_state from loop_clr_fd (Ming Lei) [1683593] - [block] loop: Push lo_ctl_mutex down into individual ioctls (Ming Lei) [1683593] - [block] loop: Get rid of loop_index_mutex (Ming Lei) [1683593] - [block] loop: Fold __loop_release into loop_release (Ming Lei) [1683593] - [block] block/loop: Use global lock for ioctl() operation. (Ming Lei) [1683593] - [block] block/loop: Don't grab "struct file" for vfs_getattr() operation. (Ming Lei) [1683593] - [crypto] crypto: cfb - fix decryption (Herbert Xu) [1653188]- [misc] VMCI: Support upto 64-bit PPNs (Cathy Avery) [1683479] - [mm] mm, page_alloc: fix has_unmovable_pages for HugePages (David Gibson) [1688114] - [pci] PCI: pciehp: Disable Data Link Layer State Changed event on suspend (Myron Stowe) [1688393 1537397] - [pci] PCI: pciehp: Assign ctrl->slot_ctrl before writing it to hardware (Myron Stowe) [1688393 1537397] - [pci] PCI/AER: Queue one GHES event, not several uninitialized ones (Myron Stowe) [1688393 1537397] - [pci] PCI/AER: Refactor error injection fallbacks (Myron Stowe) [1688393] - [pci] PCI/AER: Reuse existing pcie_port_find_device() interface (Myron Stowe) [1688393] - [pci] PCI/AER: Use managed resource allocations (Myron Stowe) [1688393] - [pci] PCI/AER: Use threaded IRQ for bottom half (Myron Stowe) [1688393] - [pci] PCI/AER: Use kfifo_in_spinlocked() to insert locked elements (Myron Stowe) [1688393] - [pci] PCI/AER: Use kfifo for tracking events instead of reimplementing it (Myron Stowe) [1688393] - [pci] PCI/AER: Remove error source from AER struct aer_rpc (Myron Stowe) [1688393] - [pci] PCI/AER: Remove unused aer_error_resume() (Myron Stowe) [1688393] - [pci] PCI: pnv_php: Use kmemdup() (Myron Stowe) [1688393] - [pci] PCI: cpqphp: Remove set but not used variable 'physical_slot' (Myron Stowe) [1688393] - [pci] PCI/ERR: Remove duplicated include from err.c (Myron Stowe) [1688393] - [pci] PCI: Equalize hotplug memory and io for occupied and empty slots (Myron Stowe) [1688393] - [pci] PCI / ACPI: Whitelist D3 for more PCIe hotplug ports (Myron Stowe) [1688393 1537397] - [acpi] ACPI / property: Allow multiple property compatible _DSD entries (Myron Stowe) [1688393 1537397] - [pci] PCI: pciehp: Implement runtime PM callbacks (Myron Stowe) [1688393 1537397] - [pci] PCI/portdrv: Resume upon exit from system suspend if left runtime suspended (Myron Stowe) [1688393 1537397] - [pci] PCI: pciehp: Do not handle events if interrupts are masked (Myron Stowe) [1688393 1537397] - [pci] PCI: pciehp: Disable hotplug interrupt during suspend (Myron Stowe) [1688393 1537397] - [pci] PCI / ACPI: Enable wake automatically for power managed bridges (Myron Stowe) [1688393 1537397] - [pci] PCI: Do not skip power-managed bridges in pci_enable_wake() (Myron Stowe) [1688393 1537397] - [pci] PCI: Unify device inaccessible (Myron Stowe) [1688393] - [pci] PCI/ERR: Always report current recovery status for udev (Myron Stowe) [1688393] - [pci] PCI/ERR: Simplify broadcast callouts (Myron Stowe) [1688393] - [pci] PCI/ERR: Run error recovery callbacks for all affected devices (Myron Stowe) [1688393] - [pci] PCI/ERR: Handle fatal error recovery (Myron Stowe) [1688393] - [pci] PCI/ERR: Use slot reset if available (Myron Stowe) [1688393] - [pci] PCI/AER: Don't read upstream ports below fatal errors (Myron Stowe) [1688393] - [pci] PCI/AER: Take reference on error devices (Myron Stowe) [1688393] - [pci] PCI/DPC: Save and restore config state (Myron Stowe) [1688393] - [pci] PCI: portdrv: Restore PCI config state on slot reset (Myron Stowe) [1688393] - [pci] PCI: portdrv: Initialize service drivers directly (Myron Stowe) [1688393] - [x86] x86/intel_rdt: Show missing resctrl mount options (David Arcari) [1689043] - [xen] xen/balloon: Fix mapping PG_offline pages to user space (David Hildenbrand) [1652790] - [kernel] PM/Hibernate: exclude all PageOffline() pages (David Hildenbrand) [1652790] - [kernel] PM/Hibernate: use pfn_to_online_page() (David Hildenbrand) [1652790] - [hv] hv_balloon: mark inflated pages PG_offline (David Hildenbrand) [1652790] - [xen] xen/balloon: mark inflated pages PG_offline (David Hildenbrand) [1652790] - [kernel] kexec: export PG_offline to VMCOREINFO (David Hildenbrand) [1652790] - [include] mm: convert PG_balloon to PG_offline (David Hildenbrand) [1652790] - [include] mm: balloon: update comment about isolation/migration/compaction (David Hildenbrand) [1652790] - [mm] mm/page_alloc.c: memory hotplug: free pages as higher order (David Hildenbrand) [1652790] - [mm] mm/memory.c: do_fault: avoid usage of stale vm_area_struct ("Herton R. Krzesinski") [1684734] - [kernel] cpuset: remove unused task_has_mempolicy() (Waiman Long) [1548268] - [kernel] cpuset: Remove set but not used variable 'cs' (Waiman Long) [1548268] - [kernel] cgroup: Add .__DEBUG__. prefix to debug file names (Waiman Long) [1548268] - [kernel] cpuset: Minor cgroup2 interface updates (Waiman Long) [1548268] - [kernel] cpuset: Expose cpuset.cpus.subpartitions with cgroup_debug (Waiman Long) [1548268] - [documentation] cpuset: Add documentation about the new "cpuset.sched.partition" flag (Waiman Long) [1548268] - [kernel] cpuset: Use descriptive text when reading/writing cpuset.sched.partition (Waiman Long) [1548268] - [kernel] cpuset: Expose cpus.effective and mems.effective on cgroup v2 root (Waiman Long) [1548268] - [kernel] cpuset: Make generate_sched_domains() work with partition (Waiman Long) [1548268] - [kernel] cpuset: Make CPU hotplug work with partition (Waiman Long) [1548268] - [kernel] cpuset: Track cpusets that use parent's effective_cpus (Waiman Long) [1548268] - [kernel] cpuset: Add an error state to cpuset.sched.partition (Waiman Long) [1548268] - [kernel] cpuset: Add new v2 cpuset.sched.partition flag (Waiman Long) [1548268] - [kernel] cpuset: Simply allocation and freeing of cpumasks (Waiman Long) [1548268] - [kernel] cpuset: Define data structures to support scheduling partition (Waiman Long) [1548268] - [kernel] cpuset: Enable cpuset controller in default hierarchy (Waiman Long) [1548268] - [kernel] cgroup/tracing: Move taking of spin lock out of trace event handlers (Waiman Long) [1548268] - [powerpc] powerpc/powernv/ioda: Fix locked_vm counting for memory used by IOMMU tables (David Gibson) [1674410] - [pci] PCI: dwc: Fix MSI-X EP framework address calculation bug (Myron Stowe) [1687935] - [pci] PCI: cadence: Correct probe behaviour when failing to get PHY (Myron Stowe) [1687935] - [pci] PCI: mvebu: Fix PCI I/O mapping creation sequence (Myron Stowe) [1687935] - [maintainers] MAINTAINERS: Remove obsolete drivers/pci pattern from ACPI section (Myron Stowe) [1687935] - [pci] PCI: dwc: Fix scheduling while atomic issues (Myron Stowe) [1687935] - [maintainers] MAINTAINERS: Move mobiveil PCI driver entry where it belongs (Myron Stowe) [1687935] - [maintainers] MAINTAINERS: Update PPC contacts for PCI core error handling (Myron Stowe) [1687935] - [maintainers] MAINTAINERS: Add Gustavo Pimentel as DesignWare PCI maintainer (Myron Stowe) [1687935] - [maintainers] MAINTAINERS: Add entries for PPC64 RPA PCI hotplug drivers (Myron Stowe) [1687935] - [pci] PCI: mvebu: Drop bogus comment above mvebu_pcie_map_registers() (Myron Stowe) [1687935] - [pci] PCI: mvebu: Convert to use pci_host_bridge directly (Myron Stowe) [1687935] - [pci] PCI: mvebu: Use resource_size() to remap I/O space (Myron Stowe) [1687935] - [pci] PCI: mvebu: Only remap I/O space if configured (Myron Stowe) [1687935] - [pci] PCI: mvebu: Fix I/O space end address calculation (Myron Stowe) [1687935] - [pci] PCI: mvebu: Remove redundant platform_set_drvdata() call (Myron Stowe) [1687935] - [pci] PCI: mobiveil: Add Kconfig/Makefile entries (Myron Stowe) [1687935] - [pci] PCI: mobiveil: Add missing ../pci.h include (Myron Stowe) [1687935] - [pci] PCI: mobiveil: Fix struct mobiveil_pcie.pcie_reg_base address type (Myron Stowe) [1687935] - [pci] PCI: endpoint: Add MSI set maximum restriction (Myron Stowe) [1687935] - [tools] tools: PCI: Add MSI-X support (Myron Stowe) [1687935] - [documentation] pci_endpoint_test: Add 2 ioctl commands (Myron Stowe) [1687935] - [documentation] pci-epf-test/pci_endpoint_test: Add MSI-X support (Myron Stowe) [1687935] - [misc] pci-epf-test/pci_endpoint_test: Use irq_type module parameter (Myron Stowe) [1687935] - [misc] pci-epf-test/pci_endpoint_test: Cleanup PCI_ENDPOINT_TEST memspace (Myron Stowe) [1687935] - [pci] PCI: dwc: Add legacy interrupt callback handler (Myron Stowe) [1687935] - [pci] PCI: dwc: Rework MSI callbacks handler (Myron Stowe) [1687935] - [pci] PCI: dwc: Add MSI-X callbacks handler (Myron Stowe) [1687935] - [pci] PCI: Update xxx_pcie_ep_raise_irq() and pci_epc_raise_irq() signatures (Myron Stowe) [1687935] - [pci] PCI: endpoint: Add MSI-X interfaces (Myron Stowe) [1687935] - [pci] PCI: dwc: Fix EP link notification implementation (Myron Stowe) [1687935] - [pci] PCI: spear13xx: Drop unnecessary root_bus_nr setting (Myron Stowe) [1687935] - [pci] PCI: qcom: Drop unnecessary root_bus_nr setting (Myron Stowe) [1687935] - [pci] PCI: histb: Drop unnecessary root_bus_nr setting (Myron Stowe) [1687935] - [pci] PCI: designware-plat: Drop unnecessary root_bus_nr setting (Myron Stowe) [1687935] - [pci] PCI: artpec6: Drop unnecessary root_bus_nr setting (Myron Stowe) [1687935] - [pci] PCI: armada8k: Drop unnecessary root_bus_nr setting (Myron Stowe) [1687935] - [pci] PCI: keystone: Drop unnecessary root_bus_nr setting (Myron Stowe) [1687935] - [pci] PCI: imx6: Drop unnecessary root_bus_nr setting (Myron Stowe) [1687935] - [pci] PCI: exynos: Drop unnecessary root_bus_nr setting (Myron Stowe) [1687935] - [pci] PCI: kirin: Add MSI support (Myron Stowe) [1687935] - [pci] PCI: pcie-cadence-ep: Remove redundant variable mmc (Myron Stowe) [1687935] - [pci] PCI: cadence: Add shutdown callback to host driver (Myron Stowe) [1687935] - [pci] PCI: cadence: Add Power Management ops for host and EP (Myron Stowe) [1687935] - [documentation] dt-bindings: PCI: cadence: Add DT bindings for optional PHYs (Myron Stowe) [1687935] - [pci] PCI: cadence: Add generic PHY support to host and EP drivers (Myron Stowe) [1687935] - [pci] PCI: cadence: Update cdns_pcie_writel() function signature (Myron Stowe) [1687935] - [pci] PCI: aardvark: Convert to use pci_host_probe() (Myron Stowe) [1687935] - [pci] PCI: aardvark: Size bridges before resources allocation (Myron Stowe) [1687935] - [pci] PCI: aardvark: Remove PCIe outbound window configuration (Myron Stowe) [1687935] - [pci] PCI: aardvark: Introduce an advk_pcie_valid_device() helper (Myron Stowe) [1687935] - [pci] PCI/xilinx: Depend on OF instead of the ARCH (Myron Stowe) [1687935] - [md] md: convert to kvmalloc (Nigel Croxon) [1661200] - [md] raid1: simplify raid1_error function (Nigel Croxon) [1661200] - [md] md-linear: use struct_size() in kzalloc() (Nigel Croxon) [1661200] - [md] md/raid5: fix 'out of memory' during raid cache recovery (Nigel Croxon) [1661200] - [md] md: Make bio_alloc_mddev use bio_alloc_bioset (Nigel Croxon) [1661200] - [md] raid10: refactor common wait code from regular read/write request (Nigel Croxon) [1661200] - [md] md: remvoe redundant condition check (Nigel Croxon) [1661200] - [lib] lib/raid6: add option to skip algo benchmarking (Nigel Croxon) [1661200] - [include] lib/raid6: avoid __attribute_const__ redefinition (Nigel Croxon) [1661200] - [include] lib/raid6: add missing include for raid6test (Nigel Croxon) [1661200] - [md] md: remove set but not used variable 'bi_rdev' (Nigel Croxon) [1661200] - [md] MD: Memory leak when flush bio size is zero (Nigel Croxon) [1661200] - [md] md: fix memleak for mempool (Nigel Croxon) [1661200] - [md] md-cluster: remove suspend_info (Nigel Croxon) [1661200] - [md] md-cluster: send BITMAP_NEEDS_SYNC message if reshaping is interrupted (Nigel Croxon) [1661200] - [md] md-cluster/bitmap: don't call md_bitmap_sync_with_cluster during reshaping stage (Nigel Croxon) [1661200] - [md] md-cluster/raid10: don't call remove_and_add_spares during reshaping stage (Nigel Croxon) [1661200] - [md] md-cluster/raid10: call update_size in md_reap_sync_thread (Nigel Croxon) [1661200] - [md] md-cluster: introduce resync_info_get interface for sanity check (Nigel Croxon) [1661200] - [md] md-cluster/raid10: support add disk under grow mode (Nigel Croxon) [1661200] - [md] md-cluster/raid10: resize all the bitmaps before start reshape (Nigel Croxon) [1661200] - [md] MD: fix invalid stored role for a disk - try2 (Nigel Croxon) [1661200] - [md] md/bitmap: use mddev_suspend/resume instead of ->quiesce() (Nigel Croxon) [1661200] - [md] md: remove redundant code that is no longer reachable (Nigel Croxon) [1661200] - [md] md: allow metadata updates while suspending an array - fix (Nigel Croxon) [1661200] - [md] MD: fix invalid stored role for a disk (Nigel Croxon) [1661200] - [md] md/raid10: Fix raid10 replace hang when new added disk faulty (Nigel Croxon) [1661200] - [md] raid5: block failing device if raid will be failed (Nigel Croxon) [1661200] - [md] md-cluster: release RESYNC lock after the last resync message (Nigel Croxon) [1661200] - [md] RAID10 BUG_ON in raise_barrier when force is true and conf->barrier is 0 (Nigel Croxon) [1661200] - [md] md/raid5-cache: disable reshape completely (Nigel Croxon) [1661200] - [md] md/raid5: fix data corruption of replacements after originals dropped (Nigel Croxon) [1661200] - [md] drivers/md/raid5: Do not disable irq on release_inactive_stripe_list() call (Nigel Croxon) [1661200] - [md] drivers/md/raid5: Use irqsave variant of atomic_dec_and_lock() (Nigel Croxon) [1661200] - [md] md/r5cache: remove redundant pointer bio (Nigel Croxon) [1661200] - [md] md-cluster: don't send msg if array is closing (Nigel Croxon) [1661200] - [md] md-cluster: show array's status more accurate (Nigel Croxon) [1661200] - [md] md-cluster: clear another node's suspend_area after the copy is finished (Nigel Croxon) [1661200] - [powerpc] KVM: PPC: Book3S HV: Add KVM stat largepages_[2M/1G] (Suraj Jitindar Singh) [1581563] - [tools] perf mem/c2c: Fix perf_mem_events to support powerpc (Steve Best) [1685084] - [powerpc] powerpc/perf: Add mem access events to sysfs (Steve Best) [1685084] - [netdrv] net-next/hinic: replace disable_irq_nosync/enable_irq (Xiaojun Tan) [1668958] - [powerpc] Fix access_ok() fallout for sparc32 and powerpc (Joe Lawrence) [1673980] - [x86] Remove 'type' argument from access_ok() function (Joe Lawrence) [1673980] - [arm64] arm64: move untagged_addr macro from uaccess.h to memory.h (Joe Lawrence) [1673980] - [powerpc] powerpc/uaccess: fix warning/error with access_ok() (Joe Lawrence) [1673980] - [netdrv] igb: shorten maximum PHC timecounter update interval (Corinna Vinschen) [1637098] - [netdrv] igb: shorten maximum PHC timecounter update interval (Corinna Vinschen) [1637098]- [rpmspec] redhat: speed up binary rpm compression (Denys Vlasenko) [1686921] - [netdrv] net/mlx5e: RX, Verify MPWQE stride size is in range (Alaa Hleihel) [1683589] - [fs] debugfs: Fix EPERM regression from kernel lockdown check (Lenny Szubowicz) [1686755] - [infiniband] IB/hfi1: Close race condition on user context disable and close (Alex Estrin) [1682927] - [rpmspec] redhat: parallelize modules compression (Denys Vlasenko) [1686404] - [arm64] arm64: Add workaround for Fujitsu A64FX erratum 010001 (Mark Langsdorf) [1666951] - [s390] vfio_ap: link the vfio_ap devices to the vfio_ap bus subsystem (Cornelia Huck) [1686044] - [drm] drm/cirrus: fix connector leak at unload (Rob Clark) [1685773] - [powerpc] powerpc/hugetlb: Handle mmap_min_addr correctly in get_unmapped_area callback (Steve Best) [1685181] - [netdrv] net/mlx4_en: Force CHECKSUM_NONE for short ethernet frames (Alaa Hleihel) [1663914 1651509] - [netdrv] net/mlx5e: Force CHECKSUM_UNNECESSARY for short ethernet frames (Alaa Hleihel) [1651509] - [include] Fix RH_KABI_SET_SIZE to use dereference operator (Tony Camuso) [1670118]- [x86] x86/tsc: Make calibration refinement more robust (David Arcari) [1686254] - [powerpc] powerpc/hugetlb: Don't do runtime allocation of 16G pages in LPAR configuration (Steve Best) [1686756] - [rpmspec] parallelize "make mrproper" (Denys Vlasenko) [1686865] - [rpmspec] use "make -jN" (via _smp_mflags) for modules_install (Denys Vlasenko) [1686308] - [fs] xfs: zero length symlinks are not valid (Carlos Maiolino) [1589618] - [drm] drm/bufs: Fix Spectre v1 vulnerability (Rob Clark) [1663467] - [drm] drm/ioctl: Fix Spectre v1 vulnerabilities (Rob Clark) [1663467] - [scsi] scsi: lpfc: Update lpfc version to 12.2.0.0 (Dick Kennedy) [1665288] - [scsi] scsi: lpfc: Update 12.2.0.0 file copyrights to 2019 (Dick Kennedy) [1665288] - [scsi] scsi: lpfc: Fix nvmet issues when link bounce under IO load (Dick Kennedy) [1665288] - [scsi] scsi: lpfc: Correct upcalling nvmet_fc transport during io done downcall (Dick Kennedy) [1665288] - [scsi] scsi: lpfc: Fix default driver parameter collision for allowing NPIV support (Dick Kennedy) [1665288] - [scsi] scsi: lpfc: Rework locking on SCSI io completion (Dick Kennedy) [1665288] - [scsi] scsi: lpfc: Enable SCSI and NVME fc4s by default (Dick Kennedy) [1665288] - [scsi] scsi: lpfc: Resize cpu maps structures based on possible cpus (Dick Kennedy) [1665288] - [scsi] scsi: lpfc: Utilize new IRQ API when allocating MSI-X vectors (Dick Kennedy) [1665288] - [scsi] scsi: lpfc: Rework EQ/CQ processing to address interrupt coalescing (Dick Kennedy) [1665288] - [scsi] scsi: lpfc: cleanup: convert eq_delay to usdelay (Dick Kennedy) [1665288] - [scsi] scsi: lpfc: Support non-uniform allocation of MSIX vectors to hardware queues (Dick Kennedy) [1665288] - [scsi] scsi: lpfc: Fix setting affinity hints to correlate with hardware queues (Dick Kennedy) [1665288] - [scsi] scsi: lpfc: Allow override of hardware queue selection policies (Dick Kennedy) [1665288] - [scsi] scsi: lpfc: Adapt partitioned XRI lists to efficient sharing (Dick Kennedy) [1665288] - [scsi] scsi: lpfc: Synchronize hardware queues with SCSI MQ interface (Dick Kennedy) [1665288] - [scsi] scsi: lpfc: Convert ring number to hardware queue for nvme wqe posting. (Dick Kennedy) [1665288] - [scsi] scsi: lpfc: Move SCSI and NVME Stats to hardware queue structures (Dick Kennedy) [1665288] - [scsi] scsi: lpfc: Adapt cpucheck debugfs logic to Hardware Queues (Dick Kennedy) [1665288] - [scsi] scsi: lpfc: cleanup: Remove unused FCP_XRI_ABORT_EVENT slowpath event (Dick Kennedy) [1665288] - [scsi] scsi: lpfc: Partition XRI buffer list across Hardware Queues (Dick Kennedy) [1665288] - [scsi] scsi: lpfc: Replace io_channels for nvme and fcp with general hdw_queues per cpu (Dick Kennedy) [1665288] - [scsi] scsi: lpfc: Remove extra vector and SLI4 queue for Expresslane (Dick Kennedy) [1665288] - [scsi] scsi: lpfc: Implement common IO buffers between NVME and SCSI (Dick Kennedy) [1665288] - [scsi] scsi: lpfc: cleanup: Remove excess check on NVME io submit code path (Dick Kennedy) [1665288] - [scsi] scsi: lpfc: cleanup: remove nrport from nvme command structure (Dick Kennedy) [1665288] - [scsi] scsi: lpfc: no need to check return value of debugfs_create functions (Dick Kennedy) [1665288] - [scsi] scsi: lpfc: Update lpfc version to 12.0.0.10 (Dick Kennedy) [1665288] - [scsi] scsi: lpfc: Adding ability to reset chip via pci bus reset (Dick Kennedy) [1665288] - [scsi] scsi: lpfc: Add log messages to aid in debugging fc4type discovery issues (Dick Kennedy) [1665288] - [scsi] scsi: lpfc: Fix discovery failure when PLOGI is defered (Dick Kennedy) [1665288] - [scsi] scsi: lpfc: update fault value on successful trunk events. (Dick Kennedy) [1665288] - [scsi] scsi: lpfc: Correct MDS loopback diagnostics support (Dick Kennedy) [1665288] - [scsi] scsi: lpfc: Fix link state reporting for trunking when adapter is offline (Dick Kennedy) [1665288] - [scsi] scsi: lpfc: do not set queue->page_count to 0 if pc_sli4_params.wqpcnt is invalid (Dick Kennedy) [1665288] - [scsi] scsi: lpfc: update driver version to 12.0.0.9 (Dick Kennedy) [1665288] - [scsi] scsi: lpfc: Fix dif and first burst use in write commands (Dick Kennedy) [1665288] - [scsi] scsi: lpfc: Fix driver release of fw-logging buffers (Dick Kennedy) [1665288] - [scsi] scsi: lpfc: Correct topology type reporting on G7 adapters (Dick Kennedy) [1665288] - [scsi] scsi: lpfc: Correct code setting non existent bits in sli4 ABORT WQE (Dick Kennedy) [1665288] - [scsi] scsi: lpfc: Defer LS_ACC to FLOGI on point to point logins (Dick Kennedy) [1665288] - [scsi] scsi: lpfc: ls_rjt erroneus FLOGIs (Dick Kennedy) [1665288] - [scsi] scsi: lpfc: Cap NPIV vports to 256 (Dick Kennedy) [1665288] - [scsi] scsi: lpfc: Fix kernel Oops due to null pring pointers (Dick Kennedy) [1665288] - [scsi] scsi: lpfc: Fix a duplicate 0711 log message number. (Dick Kennedy) [1665288] - [scsi] scsi: lpfc: Fix panic when FW-log buffsize is not initialized (Dick Kennedy) [1665288] - [scsi] scsi: lpfc: fix block guard enablement on SLI3 adapters (Dick Kennedy) [1665288] - [scsi] scsi: lpfc: Use dma_zalloc_coherent (Dick Kennedy) [1665288] - [scsi] scsi: lpfc: update driver version to 12.0.0.8 (Dick Kennedy) [1665288] - [scsi] scsi: lpfc: add Trunking support (Dick Kennedy) [1665288] - [scsi] scsi: lpfc: Implement GID_PT on Nameserver query to support faster failover (Dick Kennedy) [1665288] - [scsi] scsi: lpfc: Fix odd recovery in duplicate FLOGIs in point-to-point (Dick Kennedy) [1665288] - [scsi] scsi: lpfc: Correct LCB RJT handling (Dick Kennedy) [1665288] - [scsi] scsi: lpfc: fcoe: Fix link down issue after 1000+ link bounces (Dick Kennedy) [1665288] - [scsi] scsi: lpfc: Correct errors accessing fw log (Dick Kennedy) [1665288] - [scsi] scsi: lpfc: Reset link or adapter instead of doing infinite nameserver PLOGI retry (Dick Kennedy) [1665288] - [scsi] scsi: lpfc: Fix LOGO/PLOGI handling when triggerd by ABTS Timeout event (Dick Kennedy) [1665288] - [scsi] scsi: lpfc: Fix lpfc_sli4_read_config return value check (Dick Kennedy) [1665288] - [scsi] scsi: lpfc: Correct speeds on SFP swap (Dick Kennedy) [1665288] - [scsi] scsi: lpfc: fix remoteport access (Dick Kennedy) [1665288] - [scsi] scsi: lpfc: Remove set but not used variables 'tgtp' (Dick Kennedy) [1665288] - [scsi] scsi: lpfc: Remove set but not used variable 'psli' (Dick Kennedy) [1665288] - [scsi] scsi: lpfc: Remove set but not used variables 'fc_hdr' and 'hw_page_size' (Dick Kennedy) [1665288] - [scsi] scsi: lpfc: fix spelling mistake "Resrouce" -> "Resource" (Dick Kennedy) [1665288] - [scsi] scsi: lpfc: remove a bogus pci_dma_sync_single_for_device call (Dick Kennedy) [1665288] - [netdrv] PCI/AER: Remove pci_cleanup_aer_uncorrect_error_status() calls (Dick Kennedy) [1665288] - [scsi] scsi: lpfc: Synchronize access to remoteport via rport (Dick Kennedy) [1665288] - [scsi] scsi: lpfc: Remove set but not used variable 'sgl_size' (Dick Kennedy) [1665288] - [scsi] scsi: lpfc: update driver version to 12.0.0.7 (Dick Kennedy) [1665288] - [scsi] scsi: lpfc: add support to retrieve firmware logs (Dick Kennedy) [1665288] - [scsi] scsi: lpfc: reduce locking when updating statistics (Dick Kennedy) [1665288] - [scsi] scsi: lpfc: Fix errors in log messages. (Dick Kennedy) [1665288] - [scsi] scsi: lpfc: Correct invalid EQ doorbell write on if_type=6 (Dick Kennedy) [1665288] - [scsi] scsi: lpfc: Correct irq handling via locks when taking adapter offline (Dick Kennedy) [1665288] - [scsi] scsi: lpfc: Correct soft lockup when running mds diagnostics (Dick Kennedy) [1665288] - [scsi] scsi: lpfc: Correct race with abort on completion path (Dick Kennedy) [1665288] - [scsi] scsi: lpfc: Raise nvme defaults to support a larger io and more connectivity (Dick Kennedy) [1665288] - [scsi] scsi: lpfc: raise sg count for nvme to use available sg resources (Dick Kennedy) [1665288] - [scsi] scsi: lpfc: Fix GFT_ID and PRLI logic for RSCN (Dick Kennedy) [1665288] - [scsi] scsi: lpfc: remove an unnecessary NULL check (Dick Kennedy) [1665288] - [scsi] scsi: lpfc: Default fdmi_on to on (Dick Kennedy) [1665288] - [powerpc] powerpc/mm/hash: Increase vmalloc space with hash translation mode (Steve Best) [1676974] - [net] sunrpc: fix 4 more call sites that were using stack memory with a scatterlist (Scott Mayhew) [1679183] - [net] sunrpc: Don't use stack buffer with scatterlist (Scott Mayhew) [1679183] - [powerpc] powerpc/pseries: Perform full re-add of CPU for topology update post-migration (Steve Best) [1678209] - [fs] proc/stat: Make the interrupt statistics more efficient (Waiman Long) [1675168] - [kernel] genirq: Avoid summation loops for /proc/stat (Waiman Long) [1675168] - [powerpc] powerpc/pseries: fix EEH recovery of some IOV devices (Steve Best) [1676889] - [block] nvme: lock NS list changes while handling command effects (David Milburn) [1672759] - [powerpc] powerpc/radix: Fix kernel crash with mremap() (Steve Best) [1674186] - [crypto] crypto: ccp - fix the SEV probe in kexec boot path (Gary Hook) [1658806] - [netdrv] HDLC Frame Relay: mark driver unsupported in RHEL8 (John Linville) [1660627] - [netdrv] DLCI: mark driver unsupported in RHEL8 (John Linville) [1660627] - [netdrv] ethoc: mark hardware unsupported in RHEL8 (John Linville) [1660627] - [netdrv] dnet: mark hardware unsupported in RHEL8 (John Linville) [1660627] - [netdrv] dl2k: mark hardware unsupported in RHEL8 (John Linville) [1660627] - [netdrv] mark qla3xxx driver as unsupported (John Linville) [1658840] - [netdrv] sfc: initialise found bitmap in efx_ef10_mtd_probe (Jarod Wilson) [1668656] - [netdrv] sfc: suppress duplicate nvmem partition types in efx_ef10_mtd_probe (Jarod Wilson) [1668656] - [netdrv] sfc: extend MTD support for newer hardware (Jarod Wilson) [1668656] - [netdrv] sfc: add missing NVRAM partition types for EF10 (Jarod Wilson) [1668656] - [netdrv] ibmvnic: Fix non-atomic memory allocation in IRQ context (Steve Best) [1671474] - [netdrv] ibmvnic: Convert reset work item mutex to spin lock (Steve Best) [1671474] - [powerpc] powerpc/pseries: Export raw per-CPU VPA data via debugfs (Steve Best) [1608797] - [powerpc] powerpc/pseries: Export maximum memory value (Steve Best) [1608797] - [netdrv] ibmveth: Do not process frames after calling napi_reschedule (Desnes Augusto Nunes do Rosario) [1635577] - [cpufreq] cpufreq: powernv: Remove global pstate ramp-down timer in POWER9 (Steve Best) [1670030] - [of] of: __of_detach_node() - remove node from phandle cache (Steve Best) [1669198] - [of] of: of_node_get()/of_node_put() nodes held in phandle cache (Steve Best) [1669198] - [edac] EDAC, sb_edac: Fix signedness bugs in *_get_ha() functions (Aristeu Rozanski) [1641574] - [edac] EDAC, sb_edac: Fix reporting for patrol scrubber errors (Aristeu Rozanski) [1641574] - [documentation] proc.txt: Adding 'HardwareCorrupted' field and description. (Prashant Dhamdhere) [1658233] - [netdrv] qed: Fix command number mismatch between driver and the mfw (Chad Dupuis) [1663500] - Revert "[redhat] switch secureboot kernel image signing to release keys" ("Herton R. Krzesinski")- [arm64] revert "arm64: tlb: Avoid synchronous TLBIs when freeing page tables" (Christoph von Recklinghausen) [1685697]- [firmware] drivers/firmware: psci_checker: stash and use topology_core_cpumask for hotplug tests (Josh Poimboeuf) [1687101] - [arm64] arm64: topology: re-introduce numa mask check for scheduler MC selection (Josh Poimboeuf) [1687101] - [arm64] arm64: topology: rename llc_siblings to align with other struct members (Josh Poimboeuf) [1687101] - [arm64] arm64: smp: remove cpu and numa topology information when hotplugging out CPU (Josh Poimboeuf) [1687101] - [arm64] arm64: topology: restrict updating siblings_masks to online cpus only (Josh Poimboeuf) [1687101] - [arm64] arm64: topology: add support to remove cpu topology sibling masks (Josh Poimboeuf) [1687101] - [arm64] arm64: numa: separate out updates to percpu nodeid and NUMA node cpumap (Josh Poimboeuf) [1687101] - [arm64] arm64: topology: refactor reset_cpu_topology to add support for removing topology (Josh Poimboeuf) [1687101]- [fs] gfs2: Fix missed wakeups in find_insert_glock (Andreas Grunbacher) [1678907]- [firmware] efi: Reduce the amount of memblock reservations for persistent allocations (Bhupesh Sharma) [1682988] - [firmware] efi: Permit multiple entries in persistent memreserve data structure (Bhupesh Sharma) [1682988] - [kernel] cpu/hotplug: Create SMT sysfs interface for all arches (Josh Poimboeuf) [1686068] - [net] netfilter: nft_set_hash: bogus element self comparison from deactivation path (Florian Westphal) [1678574] - [net] netfilter: nft_set_hash: fix lookups with fixed size hash on big endian (Florian Westphal) [1678574]- [security] revert "Add a SysRq option to lift kernel lockdown" (Lenny Szubowicz) [1684348] - [s390] s390/setup: fix boot crash for machine without EDAT-1 (Philipp Rudo) [1677357] - [s390] s390/setup: fix early warning messages (Philipp Rudo) [1677357]- [netdrv] net: hns3: add 8 BD limit for tx flow (Xiaojun Tan) [1676771] - [netdrv] net: hns3: fix a SSU buffer checking bug (Xiaojun Tan) [1676771] - [netdrv] net: hns3: aligning buffer size in SSU to 256 bytes (Xiaojun Tan) [1676771] - [netdrv] net: hns3: getting tx and dv buffer size through firmware (Xiaojun Tan) [1676771] - [net] netfilter: nf_nat_snmp_basic: add missing length checks in ASN.1 cbs (Florian Westphal) [1676602] - [char] ipmi: fix use-after-free of user->release_barrier.rda (Xiaojun Tan) [1677550] - [char] ipmi: Prevent use-after-free in deliver_response (Xiaojun Tan) [1677550]- [x86] revert "cpu/hotplug: Add SMT policy options" (Josh Poimboeuf) [1683690] - [crypto] net: crypto set sk to NULL when af_alg_release (Neil Horman) [1679450] {CVE-2019-8912} - [drm] drm/i915/gvt: update force-to-nonpriv register whitelist (Paul Lai) [1643972] - [kernel] MODSIGN: Also check platform keyring in mod_verify_sig() (Lenny Szubowicz) [1568532] - [kernel] Fix for module sig verification (Lenny Szubowicz) [1568532] - [security] efi: Lock down the kernel if booted in secure boot mode (Lenny Szubowicz) [1568532] - [firmware] efi: Add an EFI_SECURE_BOOT flag to indicate secure boot mode (Lenny Szubowicz) [1568532] - [x86] Copy secure_boot flag in boot params across kexec reboot (Lenny Szubowicz) [1568532] - [fs] debugfs: Restrict debugfs when the kernel is locked down (Lenny Szubowicz) [1568532] - [mm] x86/mmiotrace: Lock down the testmmiotrace module (Lenny Szubowicz) [1568532] - [kernel] Lock down module params that specify hardware parameters (eg. ioport) (Lenny Szubowicz) [1568532] - [tty] Lock down TIOCSSERIAL (Lenny Szubowicz) [1568532] - [pcmcia] Prohibit PCMCIA CIS storage when the kernel is locked down (Lenny Szubowicz) [1568532] - [acpi] acpi: Disable ACPI table override if the kernel is locked down (Lenny Szubowicz) [1568532] - [acpi] acpi: Ignore acpi_rsdp kernel param when the kernel has been locked down (Lenny Szubowicz) [1568532] - [acpi] ACPI: Limit access to custom_method when the kernel is locked down (Lenny Szubowicz) [1568532] - [x86] x86/msr: Restrict MSR access when the kernel is locked down (Lenny Szubowicz) [1568532] - [x86] x86: Lock down IO port access when the kernel is locked down (Lenny Szubowicz) [1568532] - [pci] PCI: Lock down BAR access when the kernel is locked down (Lenny Szubowicz) [1568532] - [kernel] uswsusp: Disable when the kernel is locked down (Lenny Szubowicz) [1568532] - [kernel] hibernate: Disable when the kernel is locked down (Lenny Szubowicz) [1568532] - [kernel] kexec_load: Disable at runtime if the kernel is locked down (Lenny Szubowicz) [1568532] - [char] Restrict /dev/{mem, kmem, port} when the kernel is locked down (Lenny Szubowicz) [1568532] - [kernel] MODSIGN: Enforce module signatures if the kernel is locked down (Lenny Szubowicz) [1568532] - [security] Add a SysRq option to lift kernel lockdown (Lenny Szubowicz) [1568532] - [security] Add the ability to lock down access to the running kernel image (Lenny Szubowicz) [1568532]- [net] tun: forbid iface creation with rtnl ops (Sabrina Dubroca) [1680969] - [net] revert "bridge: do not add port to router list when receives query with source 0.0.0.0" (Hangbin Liu) [1679896] - [net] sctp: walk the list of asoc safely (Marcelo Leitner) [1679920] {CVE-2019-8956} - [net] netfilter: nf_nat: skip nat clash resolution for same-origin entries (Florian Westphal) [1677647] - [net] netfilter: nf_conntrack: resolve clash for matching conntracks (Florian Westphal) [1677647] - [net] netfilter: nf_tables: fix flush after rule deletion in the same batch (Phil Sutter) [1677672] - [net] gro_cell: add napi_disable in gro_cells_destroy (Stefano Brivio) [1674408] - [net] sctp: call gso_reset_checksum when computing checksum in sctp_gso_segment (Xin Long) [1669386] - [net] ipvs: fix dependency on nf_defrag_ipv6 (Andrea Claudi) [1660808] - [net] sctp: check and update stream->out_curr when allocating stream_out (Xin Long) [1651877]- [x86] cpu/hotplug: Add SMT policy options (Josh Poimboeuf) [1677405]- [kernel] open the RHEL 8.1 development ("Herton R. Krzesinski") - [pci] pci/quirks: Add quirk to reset nvgpu at boot for the Lenovo ThinkPad P50 (Lyude Paul) [1677022] - [arm64] arm64, vmcoreinfo : Append 'MAX_USER_VA_BITS' to vmcoreinfo (Bhupesh Sharma) [1672962] - [md] dm thin: fix bug where bio that overwrites thin block ignores FUA (Mike Snitzer) [1679211] - [pci] PCI: Fix "try" semantics of bus and slot reset (Myron Stowe) [1662901] - [acpi] acpi/nfit: Fix bus command validation (Jeff Moyer) [1673958] - [pci] PCI/MSI: Return -ENOSPC from pci_alloc_irq_vectors_affinity() (Myron Stowe) [1667773] - [fs] NFS: Don't use page_file_mapping after removing the page (Benjamin Coddington) [1664190] - [fs] NFS: Fix up return value on fatal errors in nfs_page_async_flush() (Benjamin Coddington) [1664190] - [md] md: fix raid10 hang issue caused by barrier (Xiao Ni) [1630921] - [md] md/raid1: don't clear bitmap bits on interrupted recovery. (Xiao Ni) [1677360] - [virt] kvm: fix kvm_ioctl_create_device() reference counting (CVE-2019-6974) (Paolo Bonzini) [1673843] {CVE-2019-6974} - [block] blk-mq: fix a hung issue when fsync (Ming Lei) [1674399] - [block] Revert "block: cover another queue enter recursion via BIO_QUEUE_ENTERED" (Ming Lei) [1673966] - [tools] perf tools: Check for null when copying nsinfo. (Jiri Olsa) [1676451] - [iommu] iommu/amd: Fix IOMMU page flush when detach device from a domain (Suravee Suthikulpanit) [1672476]- [kernel] namespace: Add padding fix to user_table[] (Prarit Bhargava) [1677103] - [x86] KVM: nVMX: unconditionally cancel preemption timer in free_nested (CVE-2019-7221) (Paolo Bonzini) [1673841] {CVE-2019-7221} - [scsi] scsi: sd: fix entropy gathering for most rotational disks (Ewan Milne) [1676735] - [scsi] scsi: sd: Contribute to randomness when running rotational device (Ewan Milne) [1676735] - [rpmspec] Revert "Drop -doc subpackage" (Prarit Bhargava) [1657609] - [net] svcrdma: Remove max_sge check at connect time (Don Dutile) [1638869] - [net] svcrdma: Reduce max_send_sges (Don Dutile) [1638869] - [arm64] arm64: mm: Introduce MAX_USER_VA_BITS definition (Christoph von Recklinghausen) [1672997] - [arm64] arm64: tlb: Rewrite stale comment in asm/tlbflush.h (Christoph von Recklinghausen) [1672997] - [arm64] arm64: tlb: Avoid synchronous TLBIs when freeing page tables (Christoph von Recklinghausen) [1672997] - [arm64] arm64: tlb: Remove redundant !CONFIG_HAVE_RCU_TABLE_FREE code (Christoph von Recklinghausen) [1672997] - [arm64] arm64: tlbflush: Allow stride to be specified for __flush_tlb_range() (Christoph von Recklinghausen) [1672997] - [arm64] arm64: tlb: Justify non-leaf invalidation in flush_tlb_range() (Christoph von Recklinghausen) [1672997] - [arm64] arm64: tlb: Add DSB ISHST prior to TLBI in __flush_tlb_[kernel_]pgtable() (Christoph von Recklinghausen) [1672997] - [arm64] arm64: tlb: Use last-level invalidation in flush_tlb_kernel_range() (Christoph von Recklinghausen) [1672997] - [mm] arm64: mm: EXPORT vabits_user to modules (Christoph von Recklinghausen) [1672997] - [arm64] arm64: fix ARM64_USER_VA_BITS_52 builds (Christoph von Recklinghausen) [1672997] - [arm64] arm64: Kconfig: Re-jig CONFIG options for 52-bit VA (Christoph von Recklinghausen) [1672997] - [arm64] arm64: mm: Allow forcing all userspace addresses to 52-bit (Christoph von Recklinghausen) [1672997] - [arm64] arm64: mm: introduce 52-bit userspace support (Christoph von Recklinghausen) [1672997] - [arm64] arm64: mm: Prevent mismatched 52-bit VA support (Christoph von Recklinghausen) [1672997] - [arm64] arm64: mm: Offset TTBR1 to allow 52-bit PTRS_PER_PGD (Christoph von Recklinghausen) [1672997] - [arm64] arm64: mm: Define arch_get_mmap_end, arch_get_mmap_base (Christoph von Recklinghausen) [1672997] - [firmware] arm64: mm: Introduce DEFAULT_MAP_WINDOW (Christoph von Recklinghausen) [1672997] - [mm] mm: mmap: Allow for "high" userspace addresses (Christoph von Recklinghausen) [1672997] - [mm] arm64: mm: apply r/o permissions of VM areas to its linear alias as well (Christoph von Recklinghausen) [1672997] - [mm] arm64: mm: purge lazily unmapped vm regions before changing permissions (Christoph von Recklinghausen) [1672997] - [arm64] arm64: mm: Don't wait for completion of TLB invalidation when page aging (Christoph von Recklinghausen) [1672997] - [mm] arm64: mm: Use __pa_symbol() for set_swapper_pgd() (Christoph von Recklinghausen) [1672997] - [mm] arm64: mm: Drop the unused cpu parameter (Christoph von Recklinghausen) [1672997] - [arm64] arm64/mm: move runtime pgds to rodata (Christoph von Recklinghausen) [1672997] - [mm] arm64/mm: use fixmap to modify swapper_pg_dir (Christoph von Recklinghausen) [1672997] - [arm64] arm64/mm: Separate boot-time page tables from swapper_pg_dir (Christoph von Recklinghausen) [1672997] - [arm64] arm64/mm: Pass ttbr1 as a parameter to __enable_mmu() (Christoph von Recklinghausen) [1672997] - [mm] arm64: fix erroneous warnings in page freeing functions (Christoph von Recklinghausen) [1672997] - [mm] arm64: Implement page table free interfaces (Christoph von Recklinghausen) [1672997] - [arm64] arm64: tlbflush: Introduce __flush_tlb_kernel_pgtable (Christoph von Recklinghausen) [1672997] - [lib] ioremap: Update pgtable free interfaces with addr (Christoph von Recklinghausen) [1672997] - [mm] x86/mm: Disable ioremap free page handling on x86-PAE (Christoph von Recklinghausen) [1672997] - [arm64] arm64: KVM: Enable Common Not Private translations (Christoph von Recklinghausen) [1504991] - [arm64] arm64: mm: Support Common Not Private translations (Christoph von Recklinghausen) [1504991] - [kernel] cpu/hotplug: Fix "SMT disabled by BIOS" detection for KVM (Igor Mammedov) [1668147] - [tools] perf tools: Compile perf with -g instead of -ggdb3 to workaround gdb crash (Jiri Olsa) [1667109]- [fs] Revert "gfs2: Fix loop in gfs2_rbm_find" (Andreas Grunbacher) [1658528] - [net] bpf: fix sanitation of alu op with pointer / scalar type from different paths (Jiri Olsa) [1673631] {CVE-2019-7308} - [net] bpf: prevent out of bounds speculation on pointer arithmetic (Jiri Olsa) [1673631] {CVE-2019-7308} - [net] bpf: move {prev_,}insn_idx into verifier env (Jiri Olsa) [1673631] {CVE-2019-7308} - [net] bpf/verifier: per-register parent pointers (Jiri Olsa) [1673631] {CVE-2019-7308} - [net] bpf: restrict unknown scalars of mixed signed bounds for unprivileged (Jiri Olsa) [1673631] {CVE-2019-7308} - [net] bpf: Simplify ptr_min_max_vals adjustment (Jiri Olsa) [1673631] {CVE-2019-7308} - [net] bpf: fix inner map masking to prevent oob under speculation (Jiri Olsa) [1673631] {CVE-2019-7308} - [include] KABI: struct class padding (Prarit Bhargava) [1670035] - [include] KABI: struct timer_list padding (Prarit Bhargava) [1670035] - [include] KABI: struct irq_domain padding (Prarit Bhargava) [1670035] - [nvdimm] libnvdimm, pmem: Fix badblocks population for 'raw' namespaces (Jeff Moyer) [1672315] - [netdrv] net/mlx5e: FPGA, fix Innova IPsec TX offload data path performance (Alaa Hleihel) [1648230] - [kernel] exec: increase BINPRM_BUF_SIZE to 256 (Oleg Nesterov) [1447445]- [include] KABI: struct kset padding (Prarit Bhargava) [1669796] - [include] KABI: struct kobject and kobj_type padding (Prarit Bhargava) [1669796] - [include] KABI: struct delayed_work padding (Prarit Bhargava) [1669796] - [include] KABI: struct work_struct padding (Prarit Bhargava) [1669796] - [include] KABI: struct hrtimer padding (Prarit Bhargava) [1669796] - [include] KABI: struct user_namespace padding (Prarit Bhargava) [1669796] - [include] KABI: struct resource padding (Prarit Bhargava) [1669796] - [include] KABI: Protect device_driver struct (Prarit Bhargava) [1666316] - [include] KABI: Protect radix functions (Prarit Bhargava) [1669079] - [char] ipmi: msghandler: Fix potential Spectre v1 vulnerabilities (Tony Camuso) [1672582] - [vhost] vhost: fix OOB in get_rx_bufs() (Jason Wang) [1668665] {CVE-2018-16880}- [md] dm: don't use bio_trim() afterall (Mike Snitzer) [1673657] - [md] dm: add memory barrier before waitqueue_active (Mike Snitzer) [1673110] - [x86] x86: uaccess: Inhibit speculation past access_ok() in user_access_begin() (Joe Lawrence) [1670113] {CVE-2018-20669} - [kernel] make 'user_access_begin()' do 'access_ok()' (Joe Lawrence) [1670113] {CVE-2018-20669} - [drm] i915: fix missing user_access_end() in page fault exception case (Joe Lawrence) [1670113] {CVE-2018-20669} - [drm] drm/i915: Force the slow path after a user-write error (Joe Lawrence) [1670113] {CVE-2018-20669} - [x86] x86/microcode/amd: Don't falsely trick the late loading mechanism (David Arcari) [1654904] - [fs] iomap: get/put the page in iomap_page_create/release() (Artem Savkov) [1664298] - [scsi] scsi: qla2xxx: Add new FC-NVMe enable BIT to enable FC-NVMe feature (Himanshu Madhani) [1671569] - [message] mptsas: pci-id table changes (Tomas Henzl) [1666730] - [message] mptsas: Taint kernel if mptsas is loaded (Tomas Henzl) [1666730] - [kernel] genirq/matrix: Improve target CPU selection for managed interrupts. (Gary Hook) [1669557] - [kernel] irq/matrix: Spread managed interrupts on allocation (Gary Hook) [1669557] - [kernel] irq/matrix: Split out the CPU selection code into a helper (Gary Hook) [1669557] - [net] sit: check if IPv6 enabled before calling ip6_err_gen_icmpv6_unreach() (Stefano Brivio) [1671680] - [net] geneve: should not call rt6_lookup() when ipv6 was disabled (Stefano Brivio) [1671680] - [net] netfilter: physdev: relax br_netfilter dependency (Phil Sutter) [1650382] - [net] netfilter: nf_tables: add NFTA_RULE_POSITION_ID to nla_policy (Phil Sutter) [1670563] - [net] netfilter: nf_tables: Support RULE_ID reference in new rule (Phil Sutter) [1670563] - [net] rtnetlink: fix incorrect handling of device stats passed to userspace (Ivan Vecera) [1668298] - [net] netfilter: nf_tables: handle nft_object lookups via rhltable (Phil Sutter) [1659725] - [net] netfilter: nf_tables: prepare nft_object for lookups via hashtable (Phil Sutter) [1659725] - [net] netfilter: nf_tables: selective rule dump needs table to be specified (Phil Sutter) [1659725] - [net] netfilter: nf_tables: Fix for endless loop when dumping ruleset (Phil Sutter) [1659725] - [net] netfilter: nf_tables: Speed up selective rule dumps (Phil Sutter) [1659725] - [net] exclude sock_reuseport from kABI protection (Paolo Abeni) [1665984] - [include] KABI: struct device padding (Don Dutile) [1664445] - [include] KABI: struct dma_map_ops padding (Don Dutile) [1664482] - [kernel] swiotlb: clear io_tlb_start and io_tlb_end in swiotlb_exit (Don Dutile) [1664484] - [kernel] dma-mapping: remove a few unused exports (Don Dutile) [1664484] - [include] dma-mapping: properly stub out the DMA API for !CONFIG_HAS_DMA (Don Dutile) [1664484] - [kernel] dma-mapping: remove dmam_{declare,release}_coherent_memory (Don Dutile) [1664484] - [kernel] dma-mapping: implement dmam_alloc_coherent using dmam_alloc_attrs (Don Dutile) [1664484] - [include] dma-mapping: implement dma_map_single_attrs using dma_map_page_attrs (Don Dutile) [1664484] - [include] dma-mapping: fix flags in dma_alloc_wc (Don Dutile) [1664484] - [include] dma-mapping: deprecate dma_zalloc_coherent (Don Dutile) [1664484] - [arm64] arm64: default to the direct mapping in get_arch_dma_ops (Don Dutile) [1664484] - [kernel] dma-mapping: fix inverted logic in dma_supported (Don Dutile) [1664484] - [include] dma-mapping: bypass indirect calls for dma-direct (Don Dutile) [1664484] - [kernel] dma-direct: merge swiotlb_dma_ops into the dma_direct code (Don Dutile) [1664484] - [kernel] dma-direct: do not include SME mask in the DMA supported check (Don Dutile) [1664484] - [kernel] dma-direct: use dma_direct_map_page to implement dma_direct_map_sg (Don Dutile) [1664484] - [kernel] dma-direct: improve addressability error reporting (Don Dutile) [1664484] - [kernel] dma-direct: remove the mapping_error dma_map_ops method (Don Dutile) [1664484] - [xen] swiotlb: remove dma_mark_clean (Don Dutile) [1664484] - [xen] swiotlb: remove SWIOTLB_MAP_ERROR (Don Dutile) [1664484] - [xen] xen-swiotlb: remove the mapping_error dma_map_ops method (Don Dutile) [1664484] - [kernel] swiotlb: Skip cache maintenance on map error (Don Dutile) [1664484] - [kernel] swiotlb: add support for non-coherent DMA (Don Dutile) [1664484] - [kernel] swiotlb: mark is_swiotlb_buffer static (Don Dutile) [1664484] - [kernel] swiotlb: remove a pointless comment (Don Dutile) [1664484] - [kernel] swiotlb: clean up reporting (Don Dutile) [1664484] - [kernel] dma-direct: reject highmem pages from dma_alloc_from_contiguous (Don Dutile) [1664484] - [kernel] dma-direct: provide page based alloc/free helpers (Don Dutile) [1664484] - [include] dma-direct: Make DIRECT_MAPPING_ERROR viable for SWIOTLB (Don Dutile) [1664484] - [kernel] dma-direct: respect DMA_ATTR_NO_WARN (Don Dutile) [1664484] - [kernel] dma-direct: document the zone selection logic (Don Dutile) [1664484] - [kernel] dma-direct: fix return value of dma_direct_supported (Don Dutile) [1664484] - [kernel] dma-direct: always allow dma mask <= physiscal memory size (Don Dutile) [1664484] - [kernel] dma-direct: implement complete bus_dma_mask handling (Don Dutile) [1664484] - [kernel] dma-direct: refine dma_direct_alloc zone selection (Don Dutile) [1664484] - [kernel] dma-direct: add an explicit dma_direct_get_required_mask (Don Dutile) [1664484] - [kernel] kernel/dma/direct: take DMA offset into account in dma_direct_supported (Don Dutile) [1664484] - [kernel] dma-mapping: factor out dummy DMA ops (Don Dutile) [1664484] - [mm] arm64: dma-mapping: Fix FORCE_CONTIGUOUS buffer clearing (Don Dutile) [1664484] - [iommu] iommu/dma-iommu: remove the mapping_error dma_map_ops method (Don Dutile) [1664484] - [iommu] iommu/vt-d: remove the mapping_error dma_map_ops method (Don Dutile) [1664484] - [iommu] iommu/intel: small map_page cleanup (Don Dutile) [1664484] - [iommu] intel-iommu: mark intel_dma_ops static (Don Dutile) [1664484] - [iommu] ia64: remove iommu_dma_supported (Don Dutile) [1664484] - [iommu] iommu: remove the mapping_error dma_map_ops method (Don Dutile) [1664484] - [iommu] iommu/dma: Use fast DMA domain lookup (Don Dutile) [1664484] - [x86] x86/amd_gart: fix unmapping of non-GART mappings (Don Dutile) [1664484] - [x86] x86/amd_gart: remove the mapping_error dma_map_ops method (Don Dutile) [1664484] - [mm] arm64: remove the dummy_dma_ops mapping_error method (Don Dutile) [1664484] - [powerpc] powerpc: Do not redefine NEED_DMA_MAP_STATE (Don Dutile) [1664484] - [powerpc] powerpc/iommu: remove the mapping_error dma_map_ops method (Don Dutile) [1664484] - [s390] s390: remove the mapping_error dma_map_ops method (Don Dutile) [1664484] - [kernel] dma-mapping: always build the direct mapping code (Don Dutile) [1664484] - [kernel] dma-mapping: move dma_cache_sync out of line (Don Dutile) [1664484] - [kernel] dma-mapping: move various slow path functions out of line (Don Dutile) [1664484] - [base] dma-mapping: move dma_get_required_mask to kernel/dma (Don Dutile) [1664484] - [base] dma-mapping: move dma_default_get_required_mask under ifdef (Don Dutile) [1664484] - [include] dma-mapping: merge dma_unmap_page_attrs and dma_unmap_single_attrs (Don Dutile) [1664484] - [include] dma-mapping: simplify the dma_sync_single_range_for_{cpu,device} implementation (Don Dutile) [1664484] - [include] dma-mapping: return an error code from dma_mapping_error (Don Dutile) [1664484] - [pci] dma-mapping: remove the mapping_error dma_map_ops method (Don Dutile) [1664484] - [include] dma-mapping: provide a generic DMA_MAPPING_ERROR (Don Dutile) [1664484] - [kernel] dma-mapping: move the arm64 noncoherent alloc/free support to common code (Don Dutile) [1664484] - [mm] arm64: fix warnings without CONFIG_IOMMU_DMA (Don Dutile) [1664484] - [arm64] arm64: use the generic swiotlb_dma_ops (Don Dutile) [1664484] - [kernel] swiotlb: don't dip into swiotlb pool for coherent allocations (Don Dutile) [1664484] - [kernel] swiotlb: refactor swiotlb_map_page (Don Dutile) [1664484] - [kernel] swiotlb: use swiotlb_map_page in swiotlb_map_sg_attrs (Don Dutile) [1664484] - [kernel] swiotlb: merge swiotlb_unmap_page and unmap_single (Don Dutile) [1664484] - [kernel] swiotlb: remove the overflow buffer (Don Dutile) [1664484] - [kernel] swiotlb: do not panic on mapping failures (Don Dutile) [1664484] - [mm] arm64/dma-mapping: Mildly optimise non-coherent IOMMU ops (Don Dutile) [1664484] - [iommu] iommu: Add fast hook for getting DMA domains (Don Dutile) [1664484] - [iommu] iommu: Remove the ->map_sg indirection (Don Dutile) [1664484] - [iommu] kernel/dma: remove unsupported gfp_mask parameter from dma_alloc_from_contiguous() (Don Dutile) [1664484] - [mm] mm/cma: remove unsupported gfp_mask parameter from cma_alloc() (Don Dutile) [1664484] - [kernel] dma-mapping: move the remap helpers to a separate file (Don Dutile) [1664484] - [include] dma-mapping: fix return type of dma_set_max_seg_size() (Don Dutile) [1664484] - [include] dma-mapping: translate __GFP_NOFAIL to DMA_ATTR_NO_WARN (Don Dutile) [1664484] - [include] dma-debug: Check for drivers mapping invalid addresses in dma_map_single() (Don Dutile) [1664484] - [base] dma-mapping: make the get_required_mask method available unconditionally (Don Dutile) [1664484] - [xen] dma-mapping: support non-coherent devices in dma_common_get_sgtable (Don Dutile) [1664484] - [kernel] dma-mapping: consolidate the dma mmap implementations (Don Dutile) [1664484] - [kernel] dma-mapping: merge direct and noncoherent ops (Don Dutile) [1664484] - [include] dma-mapping: move the dma_coherent flag to struct device (Don Dutile) [1664484] - [include] dma-mapping: remove dma_deconfigure (Don Dutile) [1664484] - [base] dma-mapping: remove dma_configure (Don Dutile) [1664484] - [include] dma-mapping: relax warning for per-device areas (Don Dutile) [1664484] - [kernel] dma-mapping: add the missing ARCH_HAS_SYNC_DMA_FOR_CPU_ALL declaration (Don Dutile) [1664484] - [kernel] dma-noncoherent: add a arch_sync_dma_for_cpu_all hook (Don Dutile) [1664484] - [block] deprecate elevator= kernel parameter (Jeff Moyer) [1665295] - [rpmspec] kernel.spec: disable kabi checks until RC (=?UTF-8?q?=C4=8Cestm=C3=ADr=20Kalina?=) [1671007] - [iommu] iommu/amd: Unmap all mapped pages in error path of map_sg (Jerry Snitselaar) [1668448] - [iommu] iommu/amd: Call free_iova_fast with pfn in map_sg (Jerry Snitselaar) [1668448]- [arm64] arm64, vmcoreinfo : Append 'MAX_PHYSMEM_BITS' to vmcoreinfo (Bhupesh Sharma) [1666679] - [kernel] sched/debug: Initialize sd_sysctl_cpus if !CONFIG_CPUMASK_OFFSTACK (Joe Lawrence) [1667840] - [init] Small change to the message about certified hardware (Steve Best) [1671765] - [x86] x86/kdump: make the behavior of crashkernel=X consistent with kaslr (Pingfan Liu) [1640799] - [x86] Add back support for Intel processors (Steve Best) [1670529] - [net] SUNRPC: Clean up initialisation of the struct rpc_rqst (Benjamin Coddington) [1650494] - [x86] KABI, x86/paravirt: Protect paravirt ops structures (Waiman Long) [1669957] - [include] KABI: struct module padding (Prarit Bhargava) [1669480] - [include] KABI: struct stack_trace_struct padding (Prarit Bhargava) [1669480] - [documentation] iommu: Fix passthrough option documentation (Gary Hook) [1658391] - [iommu] iommu: Add config option to set passthrough as default (Gary Hook) [1658391] - [kernel] redhat: kernel: clean up taint flags (Jiri Benc) [1654313]- [scsi] scsi: qedi: Add the CRC size within iSCSI NVM image (Charles Rose) [1670186] - [fs] iomap: don't search past page end in iomap_is_partially_uptodate (Eric Sandeen) [1657588] - [netdrv] cxgb4: update supported DCB version (Arjun Vynipadath) [1668571] - [x86] kexec, KEYS: Make use of platform keyring for signature verify (Kairui Song) [1640486] - [security] integrity, KEYS: add a reference to platform keyring (Kairui Song) [1640486] - [security] efi: Allow the "db" UEFI variable to be suppressed (Kairui Song) [1640486] - [security] efi: Import certificates from UEFI Secure Boot (Kairui Song) [1640486] - [security] efi: Add an EFI signature blob parser (Kairui Song) [1640486] - [include] efi: Add EFI signature data types (Kairui Song) [1640486] - [security] integrity: Load certs to the platform keyring (Kairui Song) [1640486] - [security] integrity: Define a trusted platform keyring (Kairui Song) [1640486] - [security] security/integrity: remove unnecessary 'init_keyring' variable (Kairui Song) [1640486] - [x86] Fix kexec forbidding kernels signed with keys in the secondary keyring to boot (Kairui Song) [1640486] - [crypto] Replace magic for trusting the secondary keyring with #define (Kairui Song) [1640486] - [acpi] acpi/nfit: Fix command-supported detection (Jeff Moyer) [1665812] - [acpi] acpi/nfit: Block function zero DSMs (Jeff Moyer) [1665812] - [md] dm: add missing trace_block_split() to __split_and_process_bio() (Mike Snitzer) [1645283] - [md] dm: fix dm_wq_work() to only use __split_and_process_bio() if appropriate (Mike Snitzer) [1645283] - [md] dm: fix redundant IO accounting for bios that need splitting (Mike Snitzer) [1645283] - [md] dm: fix clone_bio() to trigger blk_recount_segments() (Mike Snitzer) [1645283] - [block] block: cover another queue enter recursion via BIO_QUEUE_ENTERED (Mike Snitzer) [1645283] - [md] dm thin: fix passdown_double_checking_shared_status() (Mike Snitzer) [1668039] - [tools] bpftool: Fix prog dump by tag (Jiri Olsa) [1667305] - [arm64] arm64: ftrace: Fix to enable syscall events on arm64 (Don Dutile) [1668035] - [arm64] arm64: implement syscall wrappers (Don Dutile) [1668035] - [arm64] arm64: convert compat wrappers to C (Don Dutile) [1668035] - [arm64] arm64: use SYSCALL_DEFINE6() for mmap (Don Dutile) [1668035] - [arm64] arm64: use {COMPAT,}SYSCALL_DEFINE0 for sigreturn (Don Dutile) [1668035] - [arm64] arm64: remove in-kernel call to sys_personality() (Don Dutile) [1668035] - [include] kernel: add ksys_personality() (Don Dutile) [1668035] - [arm64] arm64: drop alignment from syscall tables (Don Dutile) [1668035] - [arm64] arm64: entry: remove unused register aliases (Don Dutile) [1668035] - [arm64] arm64: convert native/compat syscall entry to C (Don Dutile) [1668035] - [arm64] arm64: svc: Ensure hardirq tracing is updated before return (Don Dutile) [1668035] - [arm64] arm64: convert syscall trace logic to C (Don Dutile) [1668035] - [arm64] arm64: move sve_user_{enable,disable} to (Don Dutile) [1668035] - [arm64] arm64: kill change_cpacr() (Don Dutile) [1668035] - [arm64] arm64: convert raw syscall invocation to C (Don Dutile) [1668035] - [arm64] arm64: introduce syscall_fn_t (Don Dutile) [1668035] - [arm64] arm64: remove sigreturn wrappers (Don Dutile) [1668035] - [arm64] arm64: rseq: Implement backend rseq calls and select HAVE_RSEQ (Don Dutile) [1668035] - [sound] ALSA: usb-audio: Add vendor and product name for Dell WD19 Dock (Jaroslav Kysela) [1664249] - [infiniband] IB/hfi1: Fix an out-of-bounds access in get_hw_stats (Alex Estrin) [1667104] - [infiniband] IB/hfi1: Incorrect sizing of sge for PIO will OOPs (Alex Estrin) [1667095] - [drm] drm/nouveau: register backlight on pascal and newer (Ben Skeggs) [1664899] - [drm] drm/nouveau/disp/gm200-: enforce identity-mapped SOR assignment for LVDS/eDP panels (Ben Skeggs) [1664899] - [drm] drm/nouveau/disp: move eDP panel power handling (Ben Skeggs) [1664899] - [drm] drm/nouveau/devinit: don't fail when PMU/PRE_OS is missing from VBIOS (Ben Skeggs) [1664899] - [kernel] locking/rwsem: Fix (possible) missed wakeup (Waiman Long) [1668014] - [kernel] futex: Fix (possible) missed wakeup (Waiman Long) [1668014] - [kernel] sched/wake_q: Fix wakeup ordering for wake_q (Waiman Long) [1668014] - [kernel] sched/wake_q: Document wake_q_add() (Waiman Long) [1668014] - [kernel] sched/wait: Fix rcuwait_wake_up() ordering (Waiman Long) [1668014] - [kernel] sched/Documentation: Update wake_up() & co. memory-barrier guarantees (Waiman Long) [1668014] - [kvm] KVM: PPC: Book3S HV: Flush guest mappings when turning dirty tracking on/off (Laurent Vivier) [1650386] - [kvm] KVM: PPC: Book3S HV: Cleanups - constify memslots, fix comments (Laurent Vivier) [1650386] - [kvm] KVM: PPC: Book3S HV: Map single pages when doing dirty page logging (Laurent Vivier) [1650386] - [kvm] KVM: PPC: Pass change type down to memslot commit function (Laurent Vivier) [1650386] - [vhost] vhost: log dirty page correctly (Jason Wang) [1657578] - [netdrv] netxen: taint as unsupported in RHEL8 (Tony Camuso) [1654825] - [hid] HID: hiddev: fix potential Spectre v1 (Benjamin Tissoires) [1664611] - [net] resort to custom code for sk_buff padding (Paolo Abeni) [1665984] - [net] add padding to cipher_context (Paolo Abeni) [1665984] - [net] add padding to tls_crypto_context (Paolo Abeni) [1665984] - [net] add padding to ipv4_devconf (Paolo Abeni) [1665984] - [net] ip6mr: Fix potential Spectre v1 vulnerability (Stefano Brivio) [1663472] - [net] ipv4: Fix potential Spectre v1 vulnerability (Stefano Brivio) [1663472] - [include] add KABI padding to file_system_type (Eric Sandeen) [1665320 1650565] - [include] add KABI padding to multiple fs ops vectors (Eric Sandeen) [1665320] - [fs] add KABI padding to dentry structure (Eric Sandeen) [1665320] - [fs] add KABI padding to inode structure (Eric Sandeen) [1665320] - [include] add KABI padding to file_lock structure (Eric Sandeen) [1665320] - [include] KABI: add an iopoll method to struct file_operations (Eric Sandeen) [1665320] - [sound] ALSA: emux: Fix potential Spectre v1 vulnerabilities (Jaroslav Kysela) [1663477] - [sound] ALSA: pcm: Fix potential Spectre v1 vulnerability (Jaroslav Kysela) [1663477] - [sound] ALSA: rme9652: Fix potential Spectre v1 vulnerability (Jaroslav Kysela) [1663477] - [sound] ALSA: emu10k1: Fix potential Spectre v1 vulnerabilities (Jaroslav Kysela) [1663477] - [powerpc] powerpc/tm: Unset MSR[TS] if not recheckpointing (Gustavo Duarte) [1663853] - [netdrv] r8152: Add support for MAC address pass through on RTL8153-BND (Perry Yuan) [1658433] - [hid] HID: debug: fix the ring buffer implementation (Tony Camuso) [1669469] {CVE-2019-3819}- [netdrv] net: hns: Fix WARNING when hns modules installed (Xiaojun Tan) [1662120] - [netdrv] net: hns: Fix ping failed when use net bridge and send multicast (Xiaojun Tan) [1662120] - [netdrv] net: hns: Add mac pcs config when enable|disable mac (Xiaojun Tan) [1662120] - [netdrv] net: hns: Fix ntuple-filters status error. (Xiaojun Tan) [1662120] - [netdrv] net: hns: Free irq when exit from abnormal branch (Xiaojun Tan) [1662120] - [netdrv] net: hns: Clean rx fbd when ae stopped. (Xiaojun Tan) [1662120] - [netdrv] net: hns: Some registers use wrong address according to the datasheet. (Xiaojun Tan) [1662120] - [netdrv] net: hns: All ports can not work when insmod hns ko after rmmod. (Xiaojun Tan) [1662120] - [netdrv] net: hns: Incorrect offset address used for some registers. (Xiaojun Tan) [1662120] - [include] ipmi: RH_KABI macros to pad kabi exposed structs (Tony Camuso) [1658175] - [scsi] reserve space in structures for KABI (Ewan Milne) [1664397]- [include] PCI: Add reserved fields to 'struct hotplug_slot' (Myron Stowe) [1663534] - [include] PCI: Add reserved fields to 'struct hotplug_slot_ops' (Myron Stowe) [1663534] - [pci] PCI: Add reserved fields to 'struct pci_sriov' (Myron Stowe) [1663534] - [include] PCI: Add reserved fields to 'struct pci_driver' (Myron Stowe) [1663534] - [include] PCI: Add reserved fields to 'struct pci_bus' (Myron Stowe) [1663534] - [include] PCI: Add reserved fields, and extension, to 'struct pci_dev' (Myron Stowe) [1663534] - [pci] PCI: Add missing include to drivers/pci.h (Myron Stowe) [1663534] - [pci] PCI/IOV: Use VF0 cached config space size for other VFs (Myron Stowe) [1663534] - [include] PCI: always include 'p2pdma' in 'struct pci_dev' (Myron Stowe) [1663534] - [ata] PCI: Remove pci_set_dma_max_seg_size() (Myron Stowe) [1663534] - [pci] PCI: Remove pci_set_dma_seg_boundary() (Myron Stowe) [1663534] - [include] PCI: Remove pci_unmap_addr() wrappers for DMA API (Myron Stowe) [1663534] - [pci] PCI/AER: Abstract AER interrupt handling (Myron Stowe) [1663534] - [pci] PCI: Uninline PCI bus accessors for better ftracing (Myron Stowe) [1663534] - [pci] PCI/portdrv: Add runtime PM hooks for port service drivers (Myron Stowe) [1663534] - [pci] PCI: Make link active reporting detection generic (Myron Stowe) [1663534] - [block] block: don't lose track of REQ_INTEGRITY flag (Ming Lei) [1665684] - [nvme] nvme-pci: fix nvme_setup_irqs() (Ming Lei) [1661439] - [lib] sbitmap: Protect swap_lock from hardirq (Ming Lei) [1666192] - [lib] sbitmap: Protect swap_lock from softirqs (Ming Lei) [1666192] - [scsi] scsi: isci: initialize shost fully before calling scsi_add_host() (Ming Lei) [1664918] - [nvme] nvmet-fc: Mark NVMe/FC target mode driver as unsupported (Ewan Milne) [1664838] - [netdrv] bnx2x: Assign unique DMAE channel number for FW DMAE transactions. (Jonathan Toppins) [1638306] - [fs] block: don't use un-ordered __set_current_state(TASK_UNINTERRUPTIBLE) (Ming Lei) [1664580] - [netdrv] qed: Wait for ready indication before rereading the shmem (Chad Dupuis) [1652417] - [netdrv] qed: Avoid sending mailbox commands when MFW is not responsive (Chad Dupuis) [1652417] - [netdrv] qed: Wait for MCP halt and resume commands to take place (Chad Dupuis) [1652417] - [netdrv] qed: Prevent a possible deadlock during driver load and unload (Chad Dupuis) [1652417] - [fs] gfs2: Fix loop in gfs2_rbm_find (Andreas Grunbacher) [1658528] - [fs] gfs2: Get rid of potential double-freeing in gfs2_create_inode (Andreas Grunbacher) [1658539]- [vhost] vhost/vsock: fix vhost vsock cid hashing inconsistent (Stefan Hajnoczi) [1619848] {CVE-2018-14625} - [vhost] vhost/vsock: fix use-after-free in network stack callers (Stefan Hajnoczi) [1619848] {CVE-2018-14625} - [netdrv] bnx2x: Add VF spoof-checking configuration (Jonathan Toppins) [1646842] - [netdrv] net-next: hinic: fix a problem in free_tx_poll() (Xiaojun Tan) [1642016] - [netdrv] net: hns: fix for unmapping problem when SMMU is on (Xiaojun Tan) [1640526] - [netdrv] net: hns: add netif_carrier_off before change speed and duplex (Xiaojun Tan) [1640526] - [netdrv] net: hns: add the code for cleaning pkt in chip (Xiaojun Tan) [1640526] - [netdrv] net: hns: modify variable type in hns_nic_reuse_page (Xiaojun Tan) [1640526]- [irqchip] Mark GICv2 deprecated (Wei Huang) [1609391] - [scsi] qla2xxx: Use correct number of vectors for online CPUs (Himanshu Madhani) [1644058] - [scsi] megaraid_sas: mark Aero controllers as tech preview (Tomas Henzl) [1659972] - [scsi] megaraid_sas: add retry logic in megasas_readl (Tomas Henzl) [1659972] - [scsi] scsi: megaraid_sas: Introduce new Aero adapter type (Tomas Henzl) [1659972] - [scsi] scsi: megaraid_sas: Fix Ventura series based checks (Tomas Henzl) [1659972] - [scsi] scsi: libfc: retry PRLI if we cannot analyse the payload (Chris Leech) [1631843] - [scsi] scsi: libfc: check fc_frame_payload_get() return value for null (Chris Leech) [1631843] - [scsi] scsi: libfc: hold disc_mutex in fc_disc_stop_rports() (Chris Leech) [1631843] - [scsi] scsi: libfc: fixup lockdep annotations (Chris Leech) [1631843] - [scsi] scsi: libfc: fixup 'sleeping function called from invalid context' (Chris Leech) [1631843] - [scsi] scsi: libfc: Add lockdep annotations (Chris Leech) [1631843] - [md] dm crypt: fix parsing of extended IV arguments (Mike Snitzer) [1665290] - [kernel] redhat: kabi: reserved padding for kernel sched data structures (Rafael Aquini) [1664858] - [kernel] redhat: kabi: reserved padding for MM related data structures (Rafael Aquini) [1664858] - [vfio] vfio/type1: Fix unmap overflow off-by-one (Alex Williamson) [1662291] - [message] mptspi: pci-id table changes (Tomas Henzl) [1651803] - [message] mptspi: Taint kernel if mptspi is loaded (Tomas Henzl) [1651803] - [block] kabi: reserve space for public data structure (Ming Lei) [1551939] - [block] kabi: reserve space for blk-mq related structure (Ming Lei) [1551939] - [block] kabi: reserve space for bsg related structure (Ming Lei) [1551939] - [block] kabi: reserve space for integrity related structure (Ming Lei) [1551939] - [block] kabi: reserve space for CONFIG_BLK_DEV_ZONED (Ming Lei) [1551939] - [ata] ata: Disable AHCI ALPM feature for Ampere Computing eMAG SATA (David Milburn) [1663347] - [kvm] KVM: x86: Add CPUID support for new instruction WBNOINVD (Andrew Jones) [1659491] - [x86] KVM: x86: Use jmp to invoke kvm_spurious_fault() from .fixup (Andrew Jones) [1659491] - [virt] kvm: Change offset in kvm_write_guest_offset_cached to unsigned (Andrew Jones) [1659491] - [virt] kvm: Disallow wraparound in kvm_gfn_to_hva_cache_init (Andrew Jones) [1659491] - [kvm] KVM: x86: svm: report MSR_IA32_MCG_EXT_CTL as unsupported (Andrew Jones) [1659491] - [virt] arm/arm64: KVM: Add ARM_EXCEPTION_IS_TRAP macro (Andrew Jones) [1659491] - [arm64] arm64: KVM: Avoid setting the upper 32 bits of VTCR_EL2 to 1 (Andrew Jones) [1659491] - [virt] KVM: arm/arm64: Fix unintended stage 2 PMD mappings (Andrew Jones) [1659491] - [virt] arm/arm64: KVM: vgic: Force VM halt when changing the active state of GICv3 PPIs/SGIs (Andrew Jones) [1659491] - [arm64] KVM: arm/arm64: Fixup the kvm_exit tracepoint (Andrew Jones) [1659491] - [virt] KVM: arm/arm64: vgic: Consider priority and active state for pending irq (Andrew Jones) [1659491] - [virt] KVM: arm/arm64: vgic: Fix off-by-one bug in vgic_get_irq() (Andrew Jones) [1659491] - [kvm] KVM: X86: Fix NULL deref in vcpu_scan_ioapic (Andrew Jones) [1659491] - [kvm] KVM: Fix UAF in nested posted interrupt processing (Andrew Jones) [1659491] - [virt] KVM: arm/arm64: vgic: Cap SPIs to the VM-defined maximum (Andrew Jones) [1659491] - [virt] KVM: arm/arm64: vgic: Do not cond_resched_lock() with IRQs disabled (Andrew Jones) [1659491] - [virt] KVM: arm/arm64: vgic-v2: Set active_source to 0 when restoring state (Andrew Jones) [1659491] - [virt] KVM: arm/arm64: Fix VMID alloc race by reverting to lock-less (Andrew Jones) [1659491] - [kvm] KVM: nVMX: Free the VMREAD/VMWRITE bitmaps if alloc_kvm_area() fails (Andrew Jones) [1659491] - [kvm] arm64: KVM: Install stage-2 translation before enabling traps (Andrew Jones) [1659491] - [kvm] arm64: KVM: Make VHE Stage-2 TLB invalidation operations non-interruptible (Andrew Jones) [1659491] - [arm64] arm64: entry: Remove confusing comment (Andrew Jones) [1659491] - [kvm] arm64: entry: Place an SB sequence following an ERET instruction (Andrew Jones) [1659491] - [arm64] arm64: Add support for SB barrier and patch in over DSB; ISB sequences (Andrew Jones) [1659491] - [kvm] kvm: nVMX: Set VM instruction error for VMPTRLD of unbacked page (Andrew Jones) [1659491] - [kvm] kvm: svm: Ensure an IBPB on all affected CPUs when freeing a vmcb (Andrew Jones) [1659491] - [kvm] kvm: mmu: Fix race in emulated page table writes (Andrew Jones) [1659491] - [kvm] KVM: nVMX/nSVM: Fix bug which sets vcpu->arch.tsc_offset to L1 tsc_offset (Andrew Jones) [1659491] - [kvm] KVM: VMX: Update shared MSRs to be saved/restored on MSR_EFER.LMA changes (Andrew Jones) [1659491] - [kvm] KVM: x86: Fix kernel info-leak in KVM_HC_CLOCK_PAIRING hypercall (Andrew Jones) [1659491] - [kvm] svm: Add mutex_lock to protect apic_access_page_done on AMD systems (Andrew Jones) [1659491] - [kvm] KVM/nVMX: Do not validate that posted_intr_desc_addr is page aligned (Andrew Jones) [1659491] - [kvm] KVM: arm64: Safety check PSTATE when entering guest and handle IL (Andrew Jones) [1659491] - [virt] KVM: arm64: Fix caching of host MDCR_EL2 value (Andrew Jones) [1659491] - [kvm] x86/kvm/nVMX: allow bare VMXON state migration (Andrew Jones) [1659491] - [kvm] x86/kvm/lapic: preserve gfn_to_hva_cache len on cache reinit (Andrew Jones) [1659491] - [kvm] KVM: hyperv: define VP assist page helpers (Andrew Jones) [1659491] - [kvm] KVM: nVMX: move check_vmentry_postreqs() call to nested_vmx_enter_non_root_mode() (Andrew Jones) [1659491] - [kvm] KVM: nVMX: Always reflect #NM VM-exits to L1 (Andrew Jones) [1659491] - [kvm] KVM: x86: hyperv: consistently use 'hv_vcpu' for 'struct kvm_vcpu_hv' variables (Andrew Jones) [1659491] - [kvm] KVM: x86: hyperv: enforce vp_index < KVM_MAX_VCPUS (Andrew Jones) [1659491] - [kvm] KVM: nVMX: restore host state in nested_vmx_vmexit for VMFail (Andrew Jones) [1659491] - [kvm] KVM: nVMX: Clear reserved bits of #DB exit qualification (Andrew Jones) [1659491] - [virt] KVM: arm/arm64: Ensure only THP is candidate for adjustment (Andrew Jones) [1659491] - [kvm] x86: kvm: avoid unused variable warning (Andrew Jones) [1659491] - [kvm] powerpc64/ftrace: Include ftrace.h needed for enable/disable calls (Andrew Jones) [1659491] - [kvm] x86/kvm/vmx: Remove duplicate l1d flush definitions (Andrew Jones) [1659491] - [tools] perf kvm: Fix subcommands on s390 (Andrew Jones) [1659491] - [arm64] arm64: add PSR_AA32_* definitions (Andrew Jones) [1659491] - [pci] PCI: hotplug: Document TODOs (Myron Stowe) [1664454] - [pci] PCI: hotplug: Embed hotplug_slot (Myron Stowe) [1664454] - [pci] PCI: hotplug: Drop hotplug_slot_info (Myron Stowe) [1664454] - [pci] PCI: hotplug: Constify hotplug_slot_ops (Myron Stowe) [1664454] - [pci] PCI: pciehp: Reshuffle controller struct for clarity (Myron Stowe) [1664454] - [pci] PCI: pciehp: Rename controller struct members for clarity (Myron Stowe) [1664454] - [pci] PCI: pciehp: Unify controller and slot structs (Myron Stowe) [1664454] - [pci] PCI: pciehp: Tolerate Presence Detect hardwired to zero (Myron Stowe) [1664454] - [pci] PCI: pciehp: Drop hotplug_slot_ops wrappers (Myron Stowe) [1664454] - [pci] PCI: pciehp: Drop unnecessary includes (Myron Stowe) [1664454] - [pci] PCI: pciehp: Differentiate between surprise and safe removal (Myron Stowe) [1664454] - [pci] PCI: Simplify disconnected marking (Myron Stowe) [1664454] - [tools] perf vendor events arm64: Revise core JSON events for eMAG (Jiri Olsa) [1663353] - [tools] perf vendor events arm64: Enable JSON events for eMAG (Jiri Olsa) [1663353] - [perf] drivers/perf: xgene: Add CPU hotplug support (Jiri Olsa) [1663349] - [scsi] mpt3sas: mark Aero controllers as tech preview (Tomas Henzl) [1663281] - [powerpc] KVM: PPC: Book3S HV: Keep rc bits in shadow pgtable in sync with host (Suraj Jitindar Singh) [1662029] - [powerpc] KVM: PPC: Book3S HV: Introduce kvmhv_update_nest_rmap_rc_list() (Suraj Jitindar Singh) [1662029] - [powerpc] KVM: PPC: Book3S HV: Apply combination of host and l1 pte rc for nested guest (Suraj Jitindar Singh) [1662029] - [powerpc] KVM: PPC: Book3S HV: Align gfn to L1 page size when inserting nest-rmap entry (Suraj Jitindar Singh) [1662029] - [powerpc] KVM: PPC: Book3S HV: Hold kvm->mmu_lock across updating nested pte rc bits (Suraj Jitindar Singh) [1662029] - [tools] perf python: Do not force closing original perf descriptor in evlist.get_pollfd (Jiri Olsa) [1659445] - [mm] mm: thp: relax __GFP_THISNODE for MADV_HUGEPAGE mappings (Andrea Arcangeli) [1613993] - [rpmspec] spec: Add libperf-jvmti.so into perf debuginfo rpm (Jiri Olsa) [1653570] - [scsi] scsi: hisi_sas: Fix spin lock management in slot_index_alloc_quirk_v2_hw() (Xiaojun Tan) [1642819] - [scsi] scsi: hisi_sas: Update v3 hw AIP_LIMIT and CFG_AGING_TIME register values (Xiaojun Tan) [1642819] - [scsi] scsi: hisi_sas: Use block layer tag instead for IPTT (Xiaojun Tan) [1642819] - [scsi] scsi: hisi_sas: unmask interrupts ent72 and ent74 (Xiaojun Tan) [1642819] - [scsi] scsi: hisi_sas: Free slot later in slot_complete_vx_hw() (Xiaojun Tan) [1642819] - [scsi] scsi: hisi_sas: Fix the race between IO completion and timeout for SMP/internal IO (Xiaojun Tan) [1642819] - [scsi] scsi: hisi_sas: Move evaluation of hisi_hba in hisi_sas_task_prep() (Xiaojun Tan) [1642819] - [scsi] scsi: hisi_sas: Feed back linkrate(max/min) when re-attached (Xiaojun Tan) [1642819] - [hwtracing] intel_th: pci: Add Ice Lake PCH support (Jiri Olsa) [1485529]- [kernel] userns: also map extents in the reverse map to kernel IDs (Chris von Recklinghausen) [1652679] {CVE-2018-18955} - [net] ipv6: route: Fix return value of ip6_neigh_lookup() on neigh_create() error (Stefano Brivio) [1662789] - [net] ipv6: frags: Fix bogus skb->sk in reassembled packets (Herbert Xu) [1645839] - [net] redhat: blacklist auto-loadable net modules in modules-extra (Marcelo Leitner) [1642795] - [net] redhat: move sctp modules to kernel-modules-extra (Marcelo Leitner) [1642795] - [net] add reserved fields to neighbour (Paolo Abeni) [1655084] - [net] add reserved fields to rtnl_link_stats* (Paolo Abeni) [1655084] - [net] reserve bits in netdev_features_t for future features (Paolo Abeni) [1655084] - [net] add reserved fields to sk_buff (Paolo Abeni) [1655084] - [net] add reserved fields to ipv6_devconf (Paolo Abeni) [1655084] - [net] add reserved fields to fib_rule (Paolo Abeni) [1655084] - [net] add reserved fields to sock (Paolo Abeni) [1655084] - [net] add reserved fields to genl_family (Paolo Abeni) [1655084] - [net] add reserved fields to proto_ops (Paolo Abeni) [1655084] - [net] add reserved fields to proto (Paolo Abeni) [1655084] - [net] add reserved fields to genl_ops (Paolo Abeni) [1655084] - [net] add reserved fields to dst_ops (Paolo Abeni) [1655084] - [net] add reserved fields to dst_entry (Paolo Abeni) [1655084] - [net] add reserved fields to lwtunnel_state (Paolo Abeni) [1655084] - [net] add reserved fields to packet_type (Paolo Abeni) [1655084] - [net] add reserved fields to napi_struct (Paolo Abeni) [1655084] - [net] add reserved fields to net_device (Paolo Abeni) [1655084] - [net] exclude wireless_dev from KABI protection (Paolo Abeni) [1655084] - [net] add reserved fields to dcbnl_rtnl_ops (Paolo Abeni) [1655084] - [net] add reserved fields to xfrm_* (Paolo Abeni) [1655084] - [net] add reserved fields to switchdev_obj (Paolo Abeni) [1655084] - [net] add reserved fields to switchdev_ops (Paolo Abeni) [1655084] - [net] add reserved fields to l3mdev_ops (Paolo Abeni) [1655084] - [net] exclude ndisc_ops from kABI protection (Paolo Abeni) [1655084] - [net] add reserved fields to xfrmdev_ops (Paolo Abeni) [1655084] - [net] add reserved fields to tlsdev_ops (Paolo Abeni) [1655084] - [net] add reserved fields to netdev_rx_queue (Paolo Abeni) [1655084] - [net] add reserved fields to netdev_queue (Paolo Abeni) [1655084] - [net] add reserved fields to rtnl_link_ops (Paolo Abeni) [1655084] - [net] add reserved fields to ethtool_ops (Paolo Abeni) [1655084] - [net] add reserved fields to header_ops (Paolo Abeni) [1655084] - [net] add reserved fields to net_device_ops (Paolo Abeni) [1655084] - [net] add reserved fields to flowi* structs (Paolo Abeni) [1655084] - [arm64] KVM: arm64: Clarify explanation of STAGE2_PGTABLE_LEVELS (Christoph von Recklinghausen) [1643586 1643522] - [arm64] KVM: arm/arm64: Rename kvm_arm_config_vm to kvm_arm_setup_stage2 (Christoph von Recklinghausen) [1643586 1643522] - [virt] KVM: arm64: Drop __cpu_init_stage2 on the VHE path (Christoph von Recklinghausen) [1643586 1643522] - [kvm] kvm: arm64: Allow tuning the physical address size for VM (Christoph von Recklinghausen) [1643586 1643522] - [kvm] kvm: arm64: Limit the minimum number of page table levels (Christoph von Recklinghausen) [1643586 1643522] - [virt] kvm: arm64: Set a limit on the IPA size (Christoph von Recklinghausen) [1643586 1643522] - [kvm] kvm: arm64: Add 52bit support for PAR to HPFAR conversoin (Christoph von Recklinghausen) [1643586 1643522] - [arm64] kvm: arm64: Switch to per VM IPA limit (Christoph von Recklinghausen) [1643586 1643522] - [kvm] kvm: arm64: Configure VTCR_EL2.SL0 per VM (Christoph von Recklinghausen) [1643586 1643522] - [arm64] kvm: arm64: Dynamic configuration of VTTBR mask (Christoph von Recklinghausen) [1643586 1643522] - [arm64] kvm: arm64: Make stage2 page table layout dynamic (Christoph von Recklinghausen) [1643586 1643522] - [arm64] kvm: arm64: Prepare for dynamic stage2 page table layout (Christoph von Recklinghausen) [1643586 1643522] - [arm64] kvm: arm/arm64: Prepare for VM specific stage2 translations (Christoph von Recklinghausen) [1643586 1643522] - [arm64] kvm: arm64: Configure VTCR_EL2 per VM (Christoph von Recklinghausen) [1643586 1643522] - [virt] kvm: arm/arm64: Allow arch specific configurations for VM (Christoph von Recklinghausen) [1643586 1643522] - [kvm] kvm: arm64: Clean up VTCR_EL2 initialisation (Christoph von Recklinghausen) [1643586 1643522] - [arm64] arm64: Add a helper for PARange to physical shift conversion (Christoph von Recklinghausen) [1643586 1643522] - [kvm] kvm: arm64: Add helper for loading the stage2 setting for a VM (Christoph von Recklinghausen) [1643586 1643522] - [virt] kvm: arm/arm64: Remove spurious WARN_ON (Christoph von Recklinghausen) [1643586 1643522] - [virt] kvm: arm/arm64: Fix stage2_flush_memslot for 4 level page table (Christoph von Recklinghausen) [1643586 1643522] - [hv] hv_balloon: avoid touching uninitialized struct page during tail onlining (Vitaly Kuznetsov) [1662277] - [x86] Mark AMD EPYC guests as supported (David Arcari) [1663356] - [netdrv] be2net: Disable queue dump in be_tx_timeout handler (Petr Oros) [1646838] - [vhost] vhost: Fix Spectre V1 vulnerability (Jason Wang) [1663469] - [mm] mm/hugetlb.c: teach follow_hugetlb_page() to handle FOLL_NOWAIT (Andrea Arcangeli) [1575028] - [tools] cpupower: Fix AMD Family 0x17 msr_pstate size (Prarit Bhargava) [1659883] - [tools] cpupower: Fix coredump on VMWare (Prarit Bhargava) [1659883] - [scsi] scsi: csiostor: remove flush_scheduled_work() (Arjun Vynipadath) [1663973] - [powerpc] KVM: PPC: Book3S HV: Fix race between kvm_unmap_hva_range and MMU mode switch (David Gibson) [1663225] - [fs] userfaultfd: check VM_MAYWRITE was set after verifying the uffd is registered (Andrea Arcangeli) [1657615] {CVE-2018-18397} - [mm] userfaultfd: shmem: UFFDIO_COPY: set the page dirty if VM_WRITE is not set (Andrea Arcangeli) [1657615] {CVE-2018-18397} - [mm] userfaultfd: shmem: add i_size checks (Andrea Arcangeli) [1657615] {CVE-2018-18397} - [mm] userfaultfd: shmem/hugetlbfs: only allow to register VM_MAYWRITE vmas (Andrea Arcangeli) [1657615] {CVE-2018-18397} - [mm] userfaultfd: shmem: allocate anonymous memory for MAP_PRIVATE shmem (Andrea Arcangeli) [1657615] {CVE-2018-18397} - [mm] userfaultfd: use ENOENT instead of EFAULT if the atomic copy user fails (Andrea Arcangeli) [1657615] {CVE-2018-18397} - [mm] userfaultfd: allow get_mempolicy(MPOL_F_NODE|MPOL_F_ADDR) to trigger userfaults (Andrea Arcangeli) [1657615] {CVE-2018-18397} - [fs] userfaultfd: clear flag if remap event not enabled (Andrea Arcangeli) [1657615] {CVE-2018-18397} - [fs] userfaultfd: disable irqs when taking the waitqueue lock (Andrea Arcangeli) [1657615] {CVE-2018-18397} - [fs] fs/userfaultfd.c: remove redundant pointer uwq (Andrea Arcangeli) [1657615] {CVE-2018-18397} - [fs] NFS: nfs_compare_mount_options always compare auth flavors. (Steve Dickson) [1661619] - [infiniband] RDMA/hns: Bugfix for RoCE loopback test (Xiaojun Tan) [1663359] - [infiniband] RDMA/hns: Update posting & querying mailbox (Xiaojun Tan) [1663359] - [infiniband] RDMA/hns: Fix the bug while use multi-hop of pbl (Xiaojun Tan) [1663359] - [infiniband] RDMA/hns: Init qp context when modify qp from reset to init (Xiaojun Tan) [1663359] - [infiniband] RDMA/hns: Bugfix pbl configuration for rereg mr (Xiaojun Tan) [1663359] - [security] selinux: add support for RTM_NEWCHAIN, RTM_DELCHAIN, and RTM_GETCHAIN (Ondrej Mosnacek) [1660564] - [scsi] scsi: megaraid_sas: driver version update (Tomas Henzl) [1656261] - [scsi] scsi: megaraid_sas: Use 63-bit DMA addressing (Tomas Henzl) [1656261] - [x86] x86/kvm: mark as TechPreview when running as a nested hypervisor (Vitaly Kuznetsov) [1519039] - [rpmspec] kernel.spec: Fix kernel-tools files section logic (Prarit Bhargava) [1661247] - [crypto] crypto: ccp - Make function sev_get_firmware() static (Gary Hook) [1632894] - [crypto] crypto: ccp - Allow SEV firmware to be chosen based on Family and Model (Gary Hook) [1632894] - [crypto] crypto: ccp - Fix static checker warning (Gary Hook) [1632894] - [crypto] crypto: ccp - add timeout support in the SEV command (Gary Hook) [1632894] - [nvdimm] nvdimm: Use namespace index data to reduce number of label reads needed (Jeff Moyer) [1634345] - [nvdimm] nvdimm: Split label init out from the logic for getting config data (Jeff Moyer) [1634345] - [nvdimm] nvdimm: Remove empty if statement (Jeff Moyer) [1634345] - [nvdimm] nvdimm: Clarify comment in sizeof_namespace_index (Jeff Moyer) [1634345] - [nvdimm] nvdimm: Sanity check labeloff (Jeff Moyer) [1634345] - [nvdimm] libnvdimm, dimm: Maximize label transfer size (Jeff Moyer) [1634345] - [mm] mm/page-writeback.c: fix range_cyclic writeback vs writepages deadlock (Brian Foster) [1659528] - [input] Input: elantech - disable elan-i2c for P52 and P72 (Benjamin Tissoires) [1658602] - [fs] cachefiles: avoid deprecated get_seconds() (David Howells) [1655613] - [fs] fscache, cachefiles: remove redundant variable 'cache' (David Howells) [1655613] - [fs] cachefiles: Explicitly cast enumerated type in put_object (David Howells) [1655613] - [fs] fscache: fix race between enablement and dropping of object (David Howells) [1655613] - [fs] cachefiles: Fix page leak in cachefiles_read_backing_file while vmscan is active (David Howells) [1655613] - [fs] fscache: Fix race in fscache_op_complete() due to split atomic_sub & read (David Howells) [1655613] - [fs] cachefiles: Fix an assertion failure when trying to update a failed object (David Howells) [1655613] - [fs] fscache: Fix out of bound read in long cookie keys (David Howells) [1655613] - [fs] fscache: Fix incomplete initialisation of inline key space (David Howells) [1655613] - [fs] cachefiles: fix the race between cachefiles_bury_object() and rmdir(2) (David Howells) [1655613] - [kernel] ebpf: record usage of eBPF (Jiri Benc) [1654279] - [kernel] add rh_features to /proc (Jiri Benc) [1654279] - [kernel] add support for rh_features (Jiri Benc) [1654279] - [fs] fs/lock: show locks taken by processes from another pidns (Miklos Szeredi) [1616125] - [iommu] iommu/arm-smmu: Support non-strict mode (Xiaojun Tan) [1643114] - [iommu] iommu/io-pgtable-arm-v7s: Add support for non-strict mode (Xiaojun Tan) [1643114] - [iommu] iommu/arm-smmu-v3: Add support for non-strict mode (Xiaojun Tan) [1643114] - [iommu] iommu/io-pgtable-arm: Add support for non-strict mode (Xiaojun Tan) [1643114] - [iommu] iommu: Add "iommu.strict" command line option (Xiaojun Tan) [1643114] - [iommu] iommu/dma: Add support for non-strict mode (Xiaojun Tan) [1643114] - [iommu] iommu/arm-smmu: Ensure that page-table updates are visible before TLBI (Xiaojun Tan) [1643114] - [iommu] iommu/arm-smmu-v3: Implement flush_iotlb_all hook (Xiaojun Tan) [1643114] - [iommu] iommu/arm-smmu-v3: Avoid back-to-back CMD_SYNC operations (Xiaojun Tan) [1643114] - [iommu] iommu/arm-smmu-v3: Fix unexpected CMD_SYNC timeout (Xiaojun Tan) [1643114] - [iommu] iommu/io-pgtable-arm: Fix race handling in split_blk_unmap() (Xiaojun Tan) [1643114] - [infiniband] RDMA/hns: Update some attributes of the RoCE device (Xiaojun Tan) [1639578] - [infiniband] RDMA/hns: Limit the size of extend sge of sq (Xiaojun Tan) [1639578] - [infiniband] RDMA/hns: Bugfix for CM test (Xiaojun Tan) [1639578] - [infiniband] RDMA/hns: Submit bad wr when post send wr exception (Xiaojun Tan) [1639578] - [infiniband] RDMA/hns: Bugfix for reserved qp number (Xiaojun Tan) [1639578] - [infiniband] RDMA/hns: Refactor the codes for setting transport opode (Xiaojun Tan) [1639578] - [infiniband] RDMA/hns: Move all prints out of irq handle (Xiaojun Tan) [1639578] - [infiniband] RDMA/hns: Fix an error code in hns_roce_v2_init_eq_table() (Xiaojun Tan) [1639578] - [infiniband] RDMA/hns: Fix usage of bitmap allocation functions return values (Xiaojun Tan) [1639578] - [infiniband] RDMA/hns: Support flush cqe for hip08 in kernel space (Xiaojun Tan) [1639578] - [infiniband] RDMA/hns: Program the tclass and flow label into the hardware (Xiaojun Tan) [1639578] - [infiniband] RDMA/hns: Use macro instead of magic number (Xiaojun Tan) [1639578] - [infiniband] RDMA/hns: Modify qp will return errno when qp type is illegal (Xiaojun Tan) [1639578] - [infiniband] RDMA/hns: Assign the value for vlan field of qp context (Xiaojun Tan) [1639578] - [infiniband] RDMA/hns: Only assgin the fields of the av if IB_QP_AV bit is set (Xiaojun Tan) [1639578] - [infiniband] RDMA/hns: Enable modify_cq for uverbs. (Xiaojun Tan) [1639578] - [infiniband] RDMA/hns: Update the data type of immediate data (Xiaojun Tan) [1639578] - [infiniband] RDMA/hns: Use delay instead of usleep (Xiaojun Tan) [1639578] - [infiniband] RDMA/hns: Add illegal hop_num judgement (Xiaojun Tan) [1639578] - [infiniband] RDMA/hns: Add 50GE type of hnae3 device match (Xiaojun Tan) [1639578] - [infiniband] RDMA/hns: Do not overwrite the error code during error unwind in hns_roce_init (Xiaojun Tan) [1639578] - [infiniband] hns: Remove a set-but-not-used variable (Xiaojun Tan) [1639578] - [infiniband] RDMA/hns: Update the implementation of set_mac (Xiaojun Tan) [1639578] - [infiniband] RDMA/hns: Update the implementation of set_gid (Xiaojun Tan) [1639578] - [infiniband] RDMA/hns: Add TPQ link table support (Xiaojun Tan) [1639578] - [infiniband] RDMA/hns: Add TSQ link table support (Xiaojun Tan) [1639578] - [infiniband] RDMA/hns: Fix endian conversions and annotations (Xiaojun Tan) [1639578] - [scsi] scsi: hisi_sas: Add SATA FIS check for v3 hw (Zhou Wang) [1639541] - [scsi] scsi: hisi_sas: add memory barrier in task delivery function (Zhou Wang) [1639541] - [scsi] scsi: hisi_sas: Tidy hisi_sas_task_prep() (Zhou Wang) [1639541] - [scsi] scsi: hisi_sas: Implement handlers of PCIe FLR for v3 hw (Zhou Wang) [1639541] - [scsi] scsi: hisi_sas: relocate some common code for v3 hw (Zhou Wang) [1639541] - [scsi] scsi: hisi_sas: tidy host controller reset function a bit (Zhou Wang) [1639541] - [scsi] scsi: hisi_sas: Fix the failure of recovering PHY from STP link timeout (Zhou Wang) [1639541] - [scsi] scsi: hisi_sas: tidy channel interrupt handler for v3 hw (Zhou Wang) [1639541] - [scsi] scsi: hisi_sas: Drop hisi_sas_slot_abort() (Zhou Wang) [1639541] - [scsi] scsi: hisi_sas: Update a couple of register settings for v3 hw (Zhou Wang) [1639541] - [scsi] scsi: hisi_sas: Add missing PHY spinlock init (Zhou Wang) [1639541] - [scsi] scsi: hisi_sas: Pre-allocate slot DMA buffers (Zhou Wang) [1639541] - [scsi] scsi: hisi_sas: Release all remaining resources in clear nexus ha (Zhou Wang) [1639541] - [scsi] scsi: hisi_sas: Add a flag to filter PHY events during reset (Zhou Wang) [1639541] - [scsi] scsi: hisi_sas: Adjust task reject period during host reset (Zhou Wang) [1639541] - [scsi] scsi: hisi_sas: Fix the conflict between dev gone and host reset (Zhou Wang) [1639541] - [scsi] scsi: hisi_sas: Only process broadcast change in phy_bcast_v3_hw() (Zhou Wang) [1639541] - [scsi] scsi: hisi_sas: Use dmam_alloc_coherent() (Zhou Wang) [1639541] - [netdrv] xen/netfront: fix waiting for xenbus state change (Petr Oros) [1638456]- [x86] expand cpu feature/bug bits (David Arcari) [1662434] - [x86] add kabi support for cpuinfo_x86 (David Arcari) [1662434] - [init] Display a message about certified hardware (Steve Best) [1660523] - [scsi] scsi: t10-pi: Return correct ref tag when queue has no integrity profile (Ming Lei) [1660719] - [scsi] scsi: storvsc: Fix a race in sub-channel creation that can cause panic (Mohammed Gamal) [1650149] - [uio] uio_hv_generic: set callbacks on open (Mohammed Gamal) [1650149] - [hv] vmbus: fix subchannel removal (Mohammed Gamal) [1650149] - [uio] uio_hv_generic: defer opening vmbus until first use (Mohammed Gamal) [1650149] - [hv] vmbus: split ring buffer allocation from open (Mohammed Gamal) [1650149] - [hv] vmbus: pass channel to hv_process_channel_removal (Mohammed Gamal) [1650149] - [hv] Drivers: hv: vmbus: Reset the channel callback in vmbus_onoffer_rescind() (Mohammed Gamal) [1650149] - [uio] hv_uio_generic: map ringbuffer phys addr (Mohammed Gamal) [1650149] - [uio] uio: introduce UIO_MEM_IOVA (Mohammed Gamal) [1650149] - [hv] vmbus: add driver_override support (Mohammed Gamal) [1650149] - [hv] vmbus: keep pointer to ring buffer page (Mohammed Gamal) [1650149] - [uio] uio_hv_generic: increase size of receive and send buffers (Mohammed Gamal) [1650149] - [uio] uio: add SPDX license tags (Mohammed Gamal) [1650149] - [fs] gfs2: take jdata unstuff into account in do_grow (Robert S Peterson) [1660519] - [drm] drm/dp_mst: Check if primary mstb is null (Lyude Paul) [1658711] - [tools] perf tests: Use shebangs in the shell scripts (Michael Petlan) [1613523]- [mm] mm: put_and_wait_on_page_locked() while page is migrated (Baoquan He) [1649214] - [netdrv] i40e: define proper net_device::neigh_priv_len (Stefan Assmann) [1658743] - [netdrv] i40e: fix VLAN.TCI == 0 RX HW offload (Stefan Assmann) [1658743] - [netdrv] i40e: fix mac filter delete when setting mac address (Stefan Assmann) [1658743] - [netdrv] i40e: prevent overlapping tx_timeout recover (Stefan Assmann) [1658743] - [netdrv] i40e: Use correct shift for VLAN priority (Stefan Assmann) [1658743] - [netdrv] i40e: always set ks->base.speed in i40e_get_settings_link_up (Stefan Assmann) [1658743] - [netdrv] i40e: don't restart nway if autoneg not supported (Stefan Assmann) [1658743] - [netdrv] i40e: enable NETIF_F_NTUPLE and NETIF_F_HW_TC at driver load (Stefan Assmann) [1658743] - [netdrv] i40e: restore NETIF_F_GSO_IPXIP[46] to netdev features (Stefan Assmann) [1658743] - [acpi] ACPI/APEI: Clear GHES block_status before panic() (David Arcari) [1662442] - [misc] VMCI: Resource wildcard match fixed (Vitaly Kuznetsov) [1652868] - [mm] mm/page_alloc.c: don't call kasan_free_pages() at deferred mem init (Waiman Long) [1655964] - [block] block/bio: Do not zero user pages (Ming Lei) [1662502] - [vhost] disable zerocopy by default (Jason Wang) [1582756] - [block] kyber: use sbitmap add_wait_queue/list_del wait helpers (Ming Lei) [1661426] - [lib] sbitmap: add helpers for add/del wait queue handling (Ming Lei) [1661426] - [net] Revert "sunrpc: Ensure we always close the socket after a connection shuts down" (Dave Wysochanski) [1657449] - [vhost] vhost/vsock: fix reset orphans race with close timeout (Stefan Hajnoczi) [1660445] - [misc] genwqe: Fix size check (Steve Best) [1660126] - [fs] aio: fix spectre gadget in lookup_ioctx (Jeff Moyer) [1660963] - [block] block: save irq state in blkg_lookup_create() (Ming Lei) [1660299] - [md] dm: don't reuse bio for flushes (Ming Lei) [1660401] - [wireless] mac80211_hwsim: Fix possible Spectre-v1 for hwsim_world_regdom_custom (Stanislaw Gruszka) [1637113] - [wireless] nl80211: Fix possible Spectre-v1 for NL80211_TXRATE_HT (Stanislaw Gruszka) [1637113] - [wireless] nl80211: Fix possible Spectre-v1 for CQM RSSI thresholds (Stanislaw Gruszka) [1637113] - [block] blk-mq: enable IO poll if .nr_queues of type poll > 0 (Ming Lei) [1660826] - [powerpc] powerpc/rtas: Fix a potential race between CPU-Offline & Migration (Desnes Augusto Nunes do Rosario) [1639266] - [x86] kvm: x86: Add AMD's EX_CFG to the list of ignored MSRs (Eduardo Habkost) [1625111] - [scsi] scsi_sysfs: make unpriv_sgio queue attribute accessible for non-block devices (Paolo Bonzini) [1584504] - [block] scsi_ioctl: introduce unpriv_sgio queue flag (Paolo Bonzini) [1584504] - [block] scsi_ioctl: pass request_queue to blk_verify_command (Paolo Bonzini) [1584504] - [fs] ext4: missing !bh check in ext4_xattr_inode_write() (Lukas Czerner) [1659481] - [fs] ext4: fix buffer leak in __ext4_read_dirblock() on error path (Lukas Czerner) [1659481] - [fs] ext4: fix buffer leak in ext4_expand_extra_isize_ea() on error path (Lukas Czerner) [1659481] - [fs] ext4: fix buffer leak in ext4_xattr_move_to_block() on error path (Lukas Czerner) [1659481] - [fs] ext4: release bs.bh before re-using in ext4_xattr_block_find() (Lukas Czerner) [1659481] - [fs] ext4: fix buffer leak in ext4_xattr_get_block() on error path (Lukas Czerner) [1659481] - [fs] ext4: fix possible leak of s_journal_flag_rwsem in error path (Lukas Czerner) [1659481] - [fs] ext4: fix possible leak of sbi->s_group_desc_leak in error path (Lukas Czerner) [1659481] - [fs] ext4: avoid possible double brelse() in add_new_gdb() on error path (Lukas Czerner) [1659481] - [fs] ext4: avoid buffer leak in ext4_orphan_add() after prior errors (Lukas Czerner) [1659481] - [fs] ext4: avoid buffer leak on shutdown in ext4_mark_iloc_dirty() (Lukas Czerner) [1659481] - [fs] ext4: fix possible inode leak in the retry loop of ext4_resize_fs() (Lukas Czerner) [1659481] - [fs] ext4: fix missing cleanup if ext4_alloc_flex_bg_array() fails while resizing (Lukas Czerner) [1659481] - [fs] ext4: add missing brelse() update_backups()'s error path (Lukas Czerner) [1659481] - [fs] ext4: add missing brelse() add_new_gdb_meta_bg()'s error path (Lukas Czerner) [1659481] - [fs] ext4: add missing brelse() in set_flexbg_block_bitmap()'s error path (Lukas Czerner) [1659481] - [fs] ext4: avoid potential extra brelse in setup_new_flex_group_blocks() (Lukas Czerner) [1659481] - [scsi] scsi: lpfc: Enable Management features for IF_TYPE=6 (Dick Kennedy) [1658755] - [scsi] scsi: mpt3sas: Update driver version to 27.101.00.00 (Tomas Henzl) [1659035] - [scsi] scsi: mpt3sas: Replace readl with ioc->base_readl (Tomas Henzl) [1659035] - [scsi] scsi: mpt3sas: Add separate function for aero doorbell reads (Tomas Henzl) [1659035] - [scsi] scsi: mpt3sas: Introduce flag for aero based controllers (Tomas Henzl) [1659035] - [md] dm: do not allow readahead to limit IO size (Mike Snitzer) [1658757] - [md] dm raid: fix false -EBUSY when handling check/repair message (Mike Snitzer) [1658757] - [block] blk-mq: change blk_mq_queue_busy() to blk_mq_queue_inflight() (Mike Snitzer) [1658757] - [md] dm rq: cleanup leftover code from recently removed q->mq_ops branching (Mike Snitzer) [1658757] - [md] dm verity: log the hash algorithm implementation (Mike Snitzer) [1658757] - [md] dm crypt: log the encryption algorithm implementation (Mike Snitzer) [1658757] - [md] dm integrity: fix spelling mistake in workqueue name (Mike Snitzer) [1658757] - [md] dm flakey: Properly corrupt multi-page bios. (Mike Snitzer) [1658757] - [md] dm: Check for device sector overflow if CONFIG_LBDAF is not set (Mike Snitzer) [1658757] - [md] dm crypt: use u64 instead of sector_t to store iv_offset (Mike Snitzer) [1658757] - [md] dm kcopyd: Fix bug causing workqueue stalls (Mike Snitzer) [1658757] - [md] dm snapshot: Fix excessive memory usage and workqueue stalls (Mike Snitzer) [1658757] - [md] dm bufio: update comment in dm-bufio.c (Mike Snitzer) [1658757] - [md] dm writecache: fix typo in error msg for creating writecache_flush_thread (Mike Snitzer) [1658757] - [md] dm: remove indirect calls from __send_changing_extent_only() (Mike Snitzer) [1658757] - [md] dm mpath: only flush workqueue when needed (Mike Snitzer) [1658757] - [md] dm: avoid indirect call in __dm_make_request (Mike Snitzer) [1658757] - [md] dm thin: bump target version (Mike Snitzer) [1658757] - [md] dm thin: send event about thin-pool state change _after_ making it (Mike Snitzer) [1658757] - [md] dm cache metadata: verify cache has blocks in blocks_are_clean_separate_dirty() (Mike Snitzer) [1658757] - [md] dm writecache: remove disabled code in memory_entry() (Mike Snitzer) [1658757] - [md] dm raid: avoid bitmap with raid4/5/6 journal device (Mike Snitzer) [1658757] - [md] dm crypt: make workqueue names device-specific (Mike Snitzer) [1658757] - [md] dm: add dm_table_device_name() (Mike Snitzer) [1658757] - [md] dm ioctl: harden copy_params()'s copy_from_user() from malicious users (Mike Snitzer) [1658757] - [md] dm: remove unnecessary unlikely() around WARN_ON_ONCE() (Mike Snitzer) [1658757] - [md] dm thin: use refcount_t for thin_c reference counting (Mike Snitzer) [1658757] - [netdrv] nfp: provide a better warning when ring allocation fails (Pablo Cascon) [1645456] - [netdrv] nfp: use kvcalloc() to allocate SW buffer descriptor arrays (Pablo Cascon) [1645456] - [scsi] scsi: lpfc: rport port swap discovery issue. (Dick Kennedy) [1656635] - [scsi] scsi: lpfc: Fix discovery failures during port failovers with lots of vports (Dick Kennedy) [1656635] - [scsi] scsi: lpfc: refactor mailbox structure context fields (Dick Kennedy) [1656635] - [scsi] scsi: lpfc: Correct loss of fc4 type on remote port address change (Dick Kennedy) [1656635] - [hid] HID: multitouch: Add pointstick support for Cirque Touchpad (Perry Yuan) [1656673] - [powerpc] KVM: PPC: Book3S HV: Fix handling for interrupted H_ENTER_NESTED (Suraj Jitindar Singh) [1649980] - [powerpc] powerpc: Select CONFIG_SWIOTLB (Gustavo Duarte) [1648466] - [fs] nfs: Fix a missed page unlock after pg_doio() (Benjamin Coddington) [1651287] - [arm64] arm64: fix possible spectre-v1 write in ptrace_hbp_set_event() (Mark Salter) [1637585] - [fs] fsnotify: Fix busy inodes during unmount (Lukas Czerner) [1650462] - [tools] perf vendor events arm64: Update ThunderX2 implementation defined pmu core events (Robert Richter) [1501638] - [tools] perf tools: Fix undefined symbol scnprintf in libperf-jvmti.so (Jiri Olsa) [1579484]- [block] blk-mq: export hctx->type in debugfs instead of sysfs (Ming Lei) [1660040] - [block] blk-mq: fix dispatch from sw queue (Ming Lei) [1660040] - [block] blk-mq: skip zero-queue maps in blk_mq_map_swqueue (Ming Lei) [1660040] - [nvme] nvme-pci: don't share queue maps (Ming Lei) [1660040] - [block] blk-mq: only dispatch to non-defauly queue maps if they have queues (Ming Lei) [1660040] - [x86] KVM: LAPIC: Fix pv ipis use-before-initialization (Paul Lai) [1657702] - [fs] autofs: fix directory and symlink access (Ian Kent) [1611967] - [infiniband] IB/iser: Fix possible NULL deref at iser_inv_desc() (Don Dutile) [1657574] - [infiniband] RDMA/core: Fix unwinding flow in case of error to register device (Don Dutile) [1657574] - [infiniband] IB/rxe: fix for duplicate request processing and ack psns (Don Dutile) [1657574] - [infiniband] IB/ipoib: Clear IPCB before icmp_send (Don Dutile) [1657574] - [infiniband] RDMA/core: Do not expose unsupported counters (Don Dutile) [1657574] - [infiniband] IB/ucm: Fix Spectre v1 vulnerability (Don Dutile) [1657574] - [infiniband] RDMA/ucma: Fix Spectre v1 vulnerability (Don Dutile) [1657574] - [infiniband] RDMA/uverbs: Don't overwrite NULL pointer with ZERO_SIZE_PTR (Don Dutile) [1657574] - [infiniband] RDMA/cma: Do not ignore net namespace for unbound cm_id (Don Dutile) [1657574] - [net] xprtrdma: Reset credit grant properly after a disconnect (Don Dutile) [1657574] - [input] Input: hyper-v - fix wakeup from suspend-to-idle (Vitaly Kuznetsov) [1588888] - [kernel] kernel: hung_task.c: disable on suspend (Vitaly Kuznetsov) [1588888] - [kernel] redhat: add a comment with warning about RH_KABI_EXCLUDE usage (Jiri Benc) [1656933] - [rpmspec] Sign the aarch64 kernel (Jeremy Linton) [1659158]- [netdrv] nfp: flower: add geneve option match offload (Pablo Cascon) [1655604] - [netdrv] nfp: flower: add geneve option push action offload (Pablo Cascon) [1655604] - [netdrv] nfp: flower: offload tos and tunnel flags for ipv4 udp tunnels (Pablo Cascon) [1655604] - [netdrv] nfp: flower: set ip tunnel ttl from encap action (Pablo Cascon) [1655604] - [netdrv] nfp: flower: extract ipv4 udp tunnel ttl from route (Pablo Cascon) [1655604] - [net] sctp: hold transport before accessing its asoc in sctp_transport_get_next (Marcelo Leitner) [1656271] - [net] sctp: fix the data size calculation in sctp_data_size (Marcelo Leitner) [1656271] - [net] sctp: fix race on sctp_id2asoc (Marcelo Leitner) [1656271] - [net] rtnetlink: ndo_dflt_fdb_dump() only work for ARPHRD_ETHER devices (Hangbin Liu) [1657120] - [netdrv] mlx5e: fix csum adjustments caused by RXFCS (Hangbin Liu) [1657120] - [net] drop skb on failure in ip_check_defrag() (Hangbin Liu) [1657120] - [net] rtnl_configure_link: fix dev flags changes arg to __dev_notify_flags (Hangbin Liu) [1657120] - [net] socket: fix a missing-check bug (Hangbin Liu) [1657120] - [net] rtnetlink: Disallow FDB configuration for non-Ethernet device (Hangbin Liu) [1657120] - [net] rtnetlink: Fail dump if target netnsid is invalid (Hangbin Liu) [1657120] - [net] rtnetlink: fix rtnl_fdb_dump() for ndmsg header (Hangbin Liu) [1657120] - [net] rtnl: limit IFLA_NUM_TX_QUEUES and IFLA_NUM_RX_QUEUES to 4096 (Hangbin Liu) [1657120] - [net] socket: fix struct ifreq size in compat ioctl (Hangbin Liu) [1657120] - [net] fix pskb_trim_rcsum_slow() with odd trim offset (Hangbin Liu) [1657120] - [net] gso_segment: Reset skb->mac_len after modifying network header (Hangbin Liu) [1657120] - [net] Use __kernel_clockid_t in uapi net_stamp.h (Davide Caratti) [1638022] - [net] tun: Consistently configure generic netdev params via rtnetlink (Matteo Croce) [1657910] - [net] tun: napi flags belong to tfile (Matteo Croce) [1657910] - [net] tun: initialize napi_mutex unconditionally (Matteo Croce) [1657910] - [net] tun: remove unused parameters (Matteo Croce) [1657910] - [net] team: Forbid enslaving team device to itself (Matteo Croce) [1658725] - [net] sched: Remove TCA_OPTIONS from policy (Davide Caratti) [1658516] - [net] sched: cls_api: add missing validation of netlink attributes (Davide Caratti) [1658516] - [net] sched: gred: pass the right attribute to gred_change_table_def() (Davide Caratti) [1658516] - [net] sched: cls_u32: fix hnode refcounting (Davide Caratti) [1658516] - [net] sched: Add policy validation for tc attributes (Davide Caratti) [1658516] - [net] bpf: use __GFP_COMP while allocating page (Andrea Claudi) [1658231] - [net] xsk: do not call synchronize_net() under RCU read lock (Andrea Claudi) [1658231] - [net] bpf: fix partial copy of map_ptr when dst is scalar (Andrea Claudi) [1658231] - [net] bpf: Fix bpf_msg_pull_data() (Andrea Claudi) [1658231] - [net] bpf: fix shift upon scatterlist ring wrap-around in bpf_msg_pull_data (Andrea Claudi) [1658231] - [net] bpf: fix sg shift repair start offset in bpf_msg_pull_data (Andrea Claudi) [1658231] - [net] bpf: fix msg->data/data_end after sg shift repair in bpf_msg_pull_data (Andrea Claudi) [1658231] - [net] bpf: fix several offset tests in bpf_msg_pull_data (Andrea Claudi) [1658231] - [net] vlan: add support for tunnel offload (Andrea Claudi) [1656804] - [net] 8021q: move vlan offload registrations into vlan_core (Hangbin Liu) [1657658] - [net] ipv6/ndisc: Preserve IPv6 control buffer if protocol error handlers are called (Stefano Brivio) [1658010] - [net] ipv6: Allow onlink routes to have a device mismatch if it is the default route (Stefano Brivio) [1658010] - [net] ipv6: Fix index counter for unicast addresses in in6_dump_addrs (Stefano Brivio) [1658010] - [net] ipv6: mcast: fix a use-after-free in inet6_mc_check (Stefano Brivio) [1658010] - [net] ipv6: rate-limit probes for neighbourless routes (Stefano Brivio) [1658010] - [net] ipv6: stop leaking percpu memory in fib6 info (Stefano Brivio) [1658010] - [net] ipv6: Remove extra call to ip6_convert_metrics for multipath case (Stefano Brivio) [1658010] - [net] ipv6: Display all addresses in output of /proc/net/if_inet6 (Stefano Brivio) [1658010] - [net] ipv6: do not copy dst flags on rt init (Stefano Brivio) [1658010] - [net] ipv6: Only update MTU metric if it set (Stefano Brivio) [1658010] - [net] ipv6: don't get lwtstate twice in ip6_rt_copy_init() (Stefano Brivio) [1658010] - [net] ipv6: Put lwtstate when destroying fib6_info (Stefano Brivio) [1658010] - [net] ip6_tunnel: Fix encapsulation layout (Stefano Brivio) [1658008] - [net] vxlan: fill ttl inherit info (Stefano Brivio) [1658008] - [net] ip_tunnel: be careful when accessing the inner header (Stefano Brivio) [1658008] - [net] vti6: remove !skb->ignore_df check from vti6_xmit() (Stefano Brivio) [1658008] - [net] ip6_vti: fix a null pointer deference when destroy vti6 tunnel (Stefano Brivio) [1658008] - [net] ip6_vti: fix creating fallback tunnel device for vti6 (Stefano Brivio) [1658008] - [net] ip_vti: fix a null pointer deferrence when create vti fallback tunnel (Stefano Brivio) [1658008] - [net] l2tp: use sk_dst_check() to avoid race on sk->sk_dst_cache (Stefano Brivio) [1658008] - [net] macsec: let the administrator set UP state even if lowerdev is down (Sabrina Dubroca) [1645540] - [net] macsec: update operstate when lower device changes (Sabrina Dubroca) [1645540] - [net] tcp: do not restart timewait timer on rst reception (Paolo Abeni) [1657988] - [net] tcp: really ignore MSG_ZEROCOPY if no SO_ZEROCOPY (Paolo Abeni) [1657988] - [net] tcp, ulp: add alias for all ulp modules (Paolo Abeni) [1657988] - [net] tcp, ulp: fix leftover icsk_ulp_ops preventing sock from reattach (Paolo Abeni) [1657988] - [net] ipv4: tcp: send zero IPID for RST and ACK sent in SYN-RECV and TIME-WAIT state (Paolo Abeni) [1657988] - [net] neighbour: Avoid writing before skb->head in neigh_hh_output() (Stefano Brivio) [1643336] - [net] ipv6: Check available headroom in ip6_xmit() even without options (Stefano Brivio) [1643336] - [net] ipv6: fix possible use-after-free in ip6_xmit() (Stefano Brivio) [1643336] - [net] openvswitch: Fix push/pop ethernet validation (Hangbin Liu) [1657226] - [net] cgroup, netclassid: add a preemption point to write_classid (Hangbin Liu) [1657226] - [net] ethtool: fix a privilege escalation bug (Hangbin Liu) [1657226] - [net] llc: set SOCK_RCU_FREE in llc_sap_add_socket() (Hangbin Liu) [1657226] - [net] dcb: For wild-card lookups, use priority -1, not 0 (Hangbin Liu) [1657226] - [net] packet: fix packet drop as of virtio gso (Hangbin Liu) [1657226] - [net] netlabel: check for IPV4MASK in addrinfo_get (Hangbin Liu) [1657226] - [net] netfilter: seqadj: re-load tcp header pointer after possible head reallocation (Florian Westphal) [1654259] - [net] netfilter: nf_tables: avoid BUG_ON usage (Florian Westphal) [1654259] - [net] netfilter: nf_tables: deactivate expressions in rule replecement routine (Florian Westphal) [1654259] - [net] netfilter: nat: fix double register in masquerade modules (Florian Westphal) [1654259] - [net] netfilter: add missing error handling code for register functions (Florian Westphal) [1654259] - [net] netfilter: nf_tables: fix use-after-free when deleting compat expressions (Florian Westphal) [1654259] - [net] netfilter: xt_RATEEST: remove netns exit routine (Florian Westphal) [1654259] - [net] netfilter: nf_tables: don't use position attribute on rule replacement (Florian Westphal) [1654259] - [net] revert "netfilter: nft_numgen: add map lookups for numgen random operations" (Florian Westphal) [1654259] - [net] netfilter: xt_IDLETIMER: add sysfs filename checking routine (Florian Westphal) [1654259] - [net] netfilter: conntrack: fix calculation of next bucket number in early_drop (Florian Westphal) [1654259] - [net] netfilter: conntrack: get rid of double sizeof (Florian Westphal) [1654259] - [net] netfilter: nft_set_rbtree: add missing rb_erase() in GC routine (Florian Westphal) [1654259] - [net] netfilter: nfnetlink_queue: Solve the NFQUEUE/conntrack clash for NF_REPEAT (Florian Westphal) [1654259] - [net] netfilter: nf_tables: release chain in flushing set (Florian Westphal) [1654259] - [net] netfilter: xt_checksum: ignore gso skbs (Florian Westphal) [1654259] - [net] netfilter: xt_cluster: add dependency on conntrack module (Florian Westphal) [1654259] - [net] netfilter: fix memory leaks on netlink_dump_start error (Florian Westphal) [1654259] - [net] netfilter: x_tables: do not fail xt_alloc_table_info too easilly (Florian Westphal) [1654259] - [net] ipvs: fix race between ip_vs_conn_new() and ip_vs_del_dest() (Florian Westphal) [1654259] - [net] netfilter: ip6t_rpfilter: set F_IFACE for linklocal addresses (Florian Westphal) [1654259] - [net] xfrm: policy: use hlist rcu variants on insert (Sabrina Dubroca) [1657272] - [net] xfrm: validate template mode (Sabrina Dubroca) [1657272] - [net] xfrm: Fix NULL pointer dereference when skb_dst_force clears the dst_entry. (Sabrina Dubroca) [1657272] - [net] xfrm: reset transport header back to network header after all input transforms ahave been applied (Sabrina Dubroca) [1657272] - [net] xfrm: reset crypto_done when iterating over multiple input xfrms (Sabrina Dubroca) [1657272] - [net] xfrm: Validate address prefix lengths in the xfrm selector. (Sabrina Dubroca) [1657272] - [net] tls: fix currently broken MSG_PEEK behavior (Sabrina Dubroca) [1657225] - [net] tls: zero the crypto information from tls_context before freeing (Sabrina Dubroca) [1657225] - [net] tls: clear key material from kernel memory when do_tls_setsockopt_conf fails (Sabrina Dubroca) [1657225] - [net] tls: don't copy the key out of tls12_crypto_info_aes_gcm_128 (Sabrina Dubroca) [1657225] - [net] tls: Set count of SG entries if sk_alloc_sg returns -ENOSPC (Sabrina Dubroca) [1657225] - [net] tls: possible hang when do_tcp_sendpages hits sndbuf is full case (Sabrina Dubroca) [1657225] - [net] tls: Fix improper revert in zerocopy_from_iter (Sabrina Dubroca) [1657225] - [net] tls: Fix zerocopy_from_iter iov handling (Sabrina Dubroca) [1657225] - [net] netfilter: conntrack: reset tcp maxwin on re-register (Florian Westphal) [1647310] - [net] configs: Enable CONFIG_IP_SET_HASH_IPMAC as a module (Stefano Brivio) [1655301] - [net] udp: fix handling of CHECKSUM_COMPLETE packets (Paolo Abeni) [1655656] - [net] udp: Unbreak modules that rely on external __skb_recv_udp() availability (Paolo Abeni) [1655656] - [net] udp6: fix encap return code for resubmitting (Paolo Abeni) [1655656] - [net] team: no need to do team_notify_peers or team_mcast_rejoin when disabling port (Hangbin Liu) [1653197] - [net] sctp: not increase stream's incnt before sending addstrm_in request (Xin Long) [1651428] - [net] sctp: not allow to set asoc prsctp_enable by sockopt (Xin Long) [1647272] - [net] revert "sctp: remove sctp_transport_pmtu_check" (Xin Long) [1643330] - [net] fix XPS static_key accounting (Ivan Vecera) [1651781] - [net] restore call to netdev_queue_numa_node_write when resetting XPS (Ivan Vecera) [1651781] - [net] allow fallback function to pass netdev (Ivan Vecera) [1651781] - [net] allow ndo_select_queue to pass netdev (Ivan Vecera) [1651781] - [net] Add generic ndo_select_queue functions (Ivan Vecera) [1651781] - [net] Add support for subordinate traffic classes to netdev_pick_tx (Ivan Vecera) [1651781] - [net] ixgbe: Add code to populate and use macvlan TC to Tx queue map (Ivan Vecera) [1651781] - [net] Add support for subordinate device traffic classes (Ivan Vecera) [1651781] - [net] net-sysfs: Drop support for XPS and traffic_class on single queue device (Ivan Vecera) [1651781] - [net] Provide stub for __netif_set_xps_queue if there is no CONFIG_XPS (Ivan Vecera) [1651781] - [net] allow to call netif_reset_xps_queues() under cpus_read_lock (Ivan Vecera) [1651781] - [net] documentation: Add explanation for XPS using Rx-queue(s) map (Ivan Vecera) [1651781] - [net] net-sysfs: Add interface for Rx queue(s) map per Tx queue (Ivan Vecera) [1651781] - [net] Enable Tx queue selection based on Rx queues (Ivan Vecera) [1651781] - [net] Record receive queue number for a connection (Ivan Vecera) [1651781] - [net] sock: Change tx_queue_mapping in sock_common to unsigned short (Ivan Vecera) [1651781] - [net] Use static_key for XPS maps (Ivan Vecera) [1651781] - [net] Refactor XPS for CPUs and Rx queues (Ivan Vecera) [1651781] - [net] devlink: Add helper function for safely copy string param (Ivan Vecera) [1647914] - [net] devlink: Fix param cmode driverinit for string type (Ivan Vecera) [1647914] - [net] devlink: Fix param set handling for string type (Ivan Vecera) [1647914] - [net] devlink: Add Documentation/networking/devlink-params-bnxt.txt (Ivan Vecera) [1647914] - [net] devlink: Add Documentation/networking/devlink-params.txt (Ivan Vecera) [1647914] - [net] devlink: Add generic parameter msix_vec_per_pf_min (Ivan Vecera) [1647914] - [net] devlink: Add generic parameter msix_vec_per_pf_max (Ivan Vecera) [1647914] - [net] devlink: Add generic parameter ignore_ari (Ivan Vecera) [1647914] - [net] devlink: double free in devlink_resource_fill() (Ivan Vecera) [1647914] - [net] devlink: Add extack for eswitch operations (Ivan Vecera) [1647914] - [net] devlink: Add generic parameters region_snapshot (Ivan Vecera) [1647914] - [net] devlink: Add support for region snapshot read command (Ivan Vecera) [1647914] - [net] devlink: Add support for region snapshot delete command (Ivan Vecera) [1647914] - [net] devlink: Extend the support querying for region snapshot IDs (Ivan Vecera) [1647914] - [net] devlink: Add support for region get command (Ivan Vecera) [1647914] - [net] devlink: Add support for creating region snapshots (Ivan Vecera) [1647914] - [net] devlink: Add callback to query for snapshot id before snapshot create (Ivan Vecera) [1647914] - [net] devlink: Add support for creating and destroying regions (Ivan Vecera) [1647914] - [net] devlink: fix incorrect return statement (Ivan Vecera) [1647914] - [net] devlink: Add enable_sriov boolean generic parameter (Ivan Vecera) [1647914] - [net] devlink: Add generic parameters internal_err_reset and max_macs (Ivan Vecera) [1647914] - [net] devlink: Add devlink notifications support for params (Ivan Vecera) [1647914] - [net] devlink: Add support for get/set driverinit value (Ivan Vecera) [1647914] - [net] devlink: Add param set command (Ivan Vecera) [1647914] - [net] devlink: Add param get command (Ivan Vecera) [1647914] - [net] devlink: Add devlink_param register and unregister (Ivan Vecera) [1647914] - [net] ipvs: call ip_vs_dst_notifier earlier than ipv6_dev_notf (Xin Long) [1645064] - [net] ipv6: fix a dst leak when removing its exception (Xin Long) [1645064] - [net] netfilter: ipset: list:set: Decrease refcount synchronously on deletion and replace (Stefano Brivio) [1649089] - [net] bridge: remove ipv6 zero address check in mcast queries (Hangbin Liu) [1639666] - [net] bridge: do not add port to router list when receives query with source 0.0.0.0 (Hangbin Liu) [1639666] - [net] netfilter: ipv6: fix oops when defragmenting locally generated fragments (Florian Westphal) [1642341] - [net] xfrm6: call kfree_skb when skb is toobig (Sabrina Dubroca) [1628851] - [net] sched: act_police: fix memory leak in case of invalid control action (Ivan Vecera) [1638022] - [net] sched: act_police: add missing spinlock initialization (Ivan Vecera) [1638022] - [net] netfilter: xt_socket: check sk before checking for netns. (Ivan Vecera) [1638022] - [net] sched: act_police: fix race condition on state variables (Ivan Vecera) [1638022] - [net] sched: cls_flower: validate nested enc_opts_policy to avoid warning (Ivan Vecera) [1638022] - [net] sched: act_pedit: fix memory leak when IDR allocation fails (Ivan Vecera) [1638022] - [net] configs: disable CAKE, ETF & SKBPRIO qdisc in config (Ivan Vecera) [1638022] - [net] tc-tests: test denial of 'goto chain' for exceed traffic in police.json (Ivan Vecera) [1638022] - [net] tc-tests: test denial of 'goto chain' on 'random' traffic in gact.json (Ivan Vecera) [1638022] - [net] sched: act_police: disallow 'goto chain' on fallback control action (Ivan Vecera) [1638022] - [net] sched: act_gact: disallow 'goto chain' on fallback control action (Ivan Vecera) [1638022] - [net] net_sched: fix a crash in tc_new_tfilter() (Ivan Vecera) [1638022] - [net] core: make function ___gnet_stats_copy_basic() static (Ivan Vecera) [1638022] - [net] net_sched: convert idrinfo->lock from spinlock to a mutex (Ivan Vecera) [1638022] - [net] loopback: clear skb->tstamp before netif_rx() (Ivan Vecera) [1638022] - [net] skbuff: preserve sock reference when scrubbing the skb. (Ivan Vecera) [1638022] - [net] netfilter: check if the socket netns is correct. (Ivan Vecera) [1638022] - [net] sched: make function qdisc_free_cb() static (Ivan Vecera) [1638022] - [net] sched: use reference counting for tcf blocks on rules update (Ivan Vecera) [1638022] - [net] sched: implement tcf_block_refcnt_{get|put}() (Ivan Vecera) [1638022] - [net] sched: protect block idr with spinlock (Ivan Vecera) [1638022] - [net] sched: implement functions to put and flush all chains (Ivan Vecera) [1638022] - [net] sched: change tcf block reference counter type to refcount_t (Ivan Vecera) [1638022] - [net] sched: use Qdisc rcu API instead of relying on rtnl lock (Ivan Vecera) [1638022] - [net] sched: add helper function to take reference to Qdisc (Ivan Vecera) [1638022] - [net] sched: extend Qdisc with rcu (Ivan Vecera) [1638022] - [net] sched: rename qdisc_destroy() to qdisc_put() (Ivan Vecera) [1638022] - [net] core: netlink: add helper refcount dec and lock function (Ivan Vecera) [1638022] - [net] sched: act_ipt: check for underflow in __tcf_ipt_init() (Ivan Vecera) [1638022] - [net] sched: Add hardware specific counters to TC actions (Ivan Vecera) [1638022] - [net] core: Add new basic hardware counter (Ivan Vecera) [1638022] - [net] net_sched: change tcf_del_walker() to take idrinfo->lock (Ivan Vecera) [1638022] - [net] sched: Use FIELD_SIZEOF directly instead of reimplementing its function (Ivan Vecera) [1638022] - [net] sched: act_sample: fix NULL dereference in the data path (Ivan Vecera) [1638022] - [net] sched: act_police: don't use spinlock in the data path (Ivan Vecera) [1638022] - [net] sched: act_police: use per-cpu counters (Ivan Vecera) [1638022] - [net] net_sched: notify filter deletion when deleting a chain (Ivan Vecera) [1638022] - [net] htb: use anonymous union for simplicity (Ivan Vecera) [1638022] - [net] net_sched: remove redundant qdisc lock classes (Ivan Vecera) [1638022] - [net] sched: cls_flower: dump offload count value (Ivan Vecera) [1638022] - [net] net_sched: properly cancel netlink dump on failure (Ivan Vecera) [1638022] - [net] sched: fix memory leak in act_tunnel_key_init() (Ivan Vecera) [1638022] - [net] sched: action_ife: take reference to meta module (Ivan Vecera) [1638022] - [net] act_ife: fix a potential use-after-free (Ivan Vecera) [1638022] - [net] sched: act_nat: remove dependency on rtnl lock (Ivan Vecera) [1638022] - [net] sched: act_skbedit: remove dependency on rtnl lock (Ivan Vecera) [1638022] - [net] sched: null actions array pointer before releasing action (Ivan Vecera) [1638022] - [net] sched: fix type of htb statistics (Ivan Vecera) [1638022] - [net] net_sched: add missing tcf_lock for act_connmark (Ivan Vecera) [1638022] - [net] revert "net: sched: act: add extack for lookup callback" (Ivan Vecera) [1638022] - [net] tc-testing: add test-cases for numeric and invalid control action (Ivan Vecera) [1638022] - [net] net_sched: reject unknown tcfa_action values (Ivan Vecera) [1638022] - [net] sched: act_pedit: fix dump of extended layered op (Ivan Vecera) [1638022] - [net] sched: return -ENOENT when trying to remove filter from non-existent chain (Ivan Vecera) [1638022] - [net] sched: fix extack error message when chain is failed to be created (Ivan Vecera) [1638022] - [net] sched: Fix memory exposure from short TCA_U32_SEL (Ivan Vecera) [1638022] - [net] net_sched: fix unused variable warning in stmmac (Ivan Vecera) [1638022] - [net] sch_cake: Fix TC filter flow override and expand it to hosts as well (Ivan Vecera) [1638022] - [net] sch_cake: Remove unused including (Ivan Vecera) [1638022] - [net] act_ife: fix a potential deadlock (Ivan Vecera) [1638022] - [net] act_ife: move tcfa_lock down to where necessary (Ivan Vecera) [1638022] - [net] revert "net: sched: act_ife: disable bh when taking ife_mod_lock" (Ivan Vecera) [1638022] - [net] net_sched: remove unused tcfa_capab (Ivan Vecera) [1638022] - [net] net_sched: remove list_head from tc_action (Ivan Vecera) [1638022] - [net] net_sched: remove unused tcf_idr_check() (Ivan Vecera) [1638022] - [net] net_sched: remove unused parameter for tcf_action_delete() (Ivan Vecera) [1638022] - [net] net_sched: remove unnecessary ops->delete() (Ivan Vecera) [1638022] - [net] net_sched: improve and refactor tcf_action_put_many() (Ivan Vecera) [1638022] - [net] sched: always disable bh when taking tcf_lock (Ivan Vecera) [1638022] - [net] sched: act_ife: always release ife action on init error (Ivan Vecera) [1638022] - [net] cls_matchall: fix tcf_unbind_filter missing (Ivan Vecera) [1638022] - [net] sched: act_ife: disable bh when taking ife_mod_lock (Ivan Vecera) [1638022] - [net] sched: act_mirred method rename for grep-ability and consistency (Ivan Vecera) [1638022] - [net] sched: act_vlan method rename for grep-ability and consistency (Ivan Vecera) [1638022] - [net] sched: act_skbmod method rename for grep-ability and consistency (Ivan Vecera) [1638022] - [net] sched: act_skbedit method rename for grep-ability and consistency (Ivan Vecera) [1638022] - [net] sched: act_simple method rename for grep-ability and consistency (Ivan Vecera) [1638022] - [net] sched: act_police method rename for grep-ability and consistency (Ivan Vecera) [1638022] - [net] sched: act_pedit method rename for grep-ability and consistency (Ivan Vecera) [1638022] - [net] sched: act_nat method rename for grep-ability and consistency (Ivan Vecera) [1638022] - [net] sched: act_ipt method rename for grep-ability and consistency (Ivan Vecera) [1638022] - [net] sched: act_gact method rename for grep-ability and consistency (Ivan Vecera) [1638022] - [net] sched: act_sum method rename for grep-ability and consistency (Ivan Vecera) [1638022] - [net] sched: act_bpf method rename for grep-ability and consistency (Ivan Vecera) [1638022] - [net] sched: act_connmark method rename for grep-ability and consistency (Ivan Vecera) [1638022] - [net] sched: act_police: remove dependency on rtnl lock (Ivan Vecera) [1638022] - [net] core: protect rate estimator statistics pointer with lock (Ivan Vecera) [1638022] - [net] sched: act_mirred: remove dependency on rtnl lock (Ivan Vecera) [1638022] - [net] sched: extend action ops with put_dev callback (Ivan Vecera) [1638022] - [net] sched: act_vlan: remove dependency on rtnl lock (Ivan Vecera) [1638022] - [net] sched: act_tunnel_key: remove dependency on rtnl lock (Ivan Vecera) [1638022] - [net] sched: act_skbmod: remove dependency on rtnl lock (Ivan Vecera) [1638022] - [net] sched: act_simple: remove dependency on rtnl lock (Ivan Vecera) [1638022] - [net] sched: act_sample: remove dependency on rtnl lock (Ivan Vecera) [1638022] - [net] sched: act_pedit: remove dependency on rtnl lock (Ivan Vecera) [1638022] - [net] sched: act_ipt: remove dependency on rtnl lock (Ivan Vecera) [1638022] - [net] sched: act_ife: remove dependency on rtnl lock (Ivan Vecera) [1638022] - [net] sched: act_gact: remove dependency on rtnl lock (Ivan Vecera) [1638022] - [net] sched: act_csum: remove dependency on rtnl lock (Ivan Vecera) [1638022] - [net] sched: act_bpf: remove dependency on rtnl lock (Ivan Vecera) [1638022] - [net] tc: Update README and add config (Ivan Vecera) [1638022] - [net] sched: fix block->refcnt decrement (Ivan Vecera) [1638022] - [net] tc-tests: initial version of nat action unit tests (Ivan Vecera) [1638022] - [net] sched: allow flower to match tunnel options (Ivan Vecera) [1638022] - [net] flow_dissector: allow dissection of tunnel options from metadata (Ivan Vecera) [1638022] - [net] tc-testing: remove duplicate spaces in skbedit match patterns (Ivan Vecera) [1638022] - [net] tc-testing: remove duplicate spaces in connmark match patterns (Ivan Vecera) [1638022] - [net] tc-testing: flush gact actions on test teardown (Ivan Vecera) [1638022] - [net] tc-testing: fix ip address in u32 test (Ivan Vecera) [1638022] - [net] sched: cls_flower: Fix an error code in fl_tmplt_create() (Ivan Vecera) [1638022] - [net] sched: fix flush on non-existing chain (Ivan Vecera) [1638022] - [net] sched: make tcf_chain_{get, put}() static (Ivan Vecera) [1638022] - [net] sched: fix notifications for action-held chains (Ivan Vecera) [1638022] - [net] sched: change name of zombie chain to "held_by_acts_only" (Ivan Vecera) [1638022] - [net] act_mirred: use TC_ACT_REINSERT when possible (Ivan Vecera) [1638022] - [net] tc: introduce TC_ACT_REINSERT. (Ivan Vecera) [1638022] - [net] tc/act: remove unneeded RCU lock in action callback (Ivan Vecera) [1638022] - [net] sched: user-space can't set unknown tcfa_action values (Ivan Vecera) [1638022] - [net] Add and use skb_mark_not_on_list(). (Ivan Vecera) [1638022] - [net] sch_netem: Move private queue handler to generic location. (Ivan Vecera) [1638022] - [net] sch_htb: Remove local SKB queue handling code. (Ivan Vecera) [1638022] - [net] act_bpf: Use kmemdup instead of duplicating it in tcf_bpf_init_from_ops (Ivan Vecera) [1638022] - [net] cls_bpf: Use kmemdup instead of duplicating it in cls_bpf_prog_from_ops (Ivan Vecera) [1638022] - [net] act_pedit: remove unnecessary semicolon (Ivan Vecera) [1638022] - [net] sched: don't dump chains only held by actions (Ivan Vecera) [1638022] - [net] sch_cake: Make gso-splitting configurable from userspace (Ivan Vecera) [1638022] - [net] sched: unmark chain as explicitly created on delete (Ivan Vecera) [1638022] - [net] sched: cls_api: fix dead code in switch (Ivan Vecera) [1638022] - [net] sched: cls_flower: Use correct inline function for assignment of vlan tpid (Ivan Vecera) [1638022] - [net] sched: fix trailing whitespace (Ivan Vecera) [1638022] - [net] cbs: Add support for the graft function (Ivan Vecera) [1638022] - [net] sched: add skbprio scheduler (Ivan Vecera) [1638022] - [net] selftests: forwarding: add tests for TC chain templates (Ivan Vecera) [1638022] - [net] selftests: forwarding: add tests for TC chains creation adn destruction (Ivan Vecera) [1638022] - [net] selftests: forwarding: move shblock tc support check to a separate helper (Ivan Vecera) [1638022] - [net] sched: cls_flower: propagate chain teplate creation and destruction to drivers (Ivan Vecera) [1638022] - [net] sched: cls_flower: implement chain templates (Ivan Vecera) [1638022] - [net] sched: cls_flower: change fl_init_dissector to accept mask and dissector (Ivan Vecera) [1638022] - [net] sched: cls_flower: move key/mask dumping into a separate function (Ivan Vecera) [1638022] - [net] sched: introduce chain templates (Ivan Vecera) [1638022] - [net] sched: introduce chain object to uapi (Ivan Vecera) [1638022] - [net] sched: Avoid implicit chain 0 creation (Ivan Vecera) [1638022] - [net] sched: push ops lookup bits into tcf_proto_lookup_ops() (Ivan Vecera) [1638022] - [net] nfp: bring back support for offloading shared blocks (Ivan Vecera) [1638022] - [net] sched: use PTR_ERR_OR_ZERO macro in tcf_block_cb_register (Ivan Vecera) [1638022] - [net] tc-tests: initial version of fw filter unit tests (Ivan Vecera) [1638022] - [net] sch_cake: Fix tin order when set through skb->priority (Ivan Vecera) [1638022] - [net] sched: act_skbedit: don't use spinlock in the data path (Ivan Vecera) [1638022] - [net] sched: skbedit: use per-cpu counters (Ivan Vecera) [1638022] - [net] tc-testing: add geneve options in tunnel_key unit tests (Ivan Vecera) [1638022] - [net] sched: fix unprotected access to rcu cookie pointer (Ivan Vecera) [1638022] - [net] sched: act_ife: fix memory leak in ife init (Ivan Vecera) [1638022] - [net] sched: refactor flower walk to iterate over idr (Ivan Vecera) [1638022] - [net] sched: flower: Fix null pointer dereference when run tc vlan command (Ivan Vecera) [1638022] - [net] sched: Fix warnings from xchg() on RCU'd cookie pointer. (Ivan Vecera) [1638022] - [net] cls_flower: fix error values for commands not supported by drivers (Ivan Vecera) [1638022] - [net] nfp: handle cls_flower command default case (Ivan Vecera) [1638022] - [net] bnxt: simplify cls_flower command switch and handle default case (Ivan Vecera) [1638022] - [net] sch_cake: Conditionally split GSO segments (Ivan Vecera) [1638022] - [net] sch_cake: Add overhead compensation support to the rate shaper (Ivan Vecera) [1638022] - [net] sch_cake: Add DiffServ handling (Ivan Vecera) [1638022] - [net] sch_cake: Add NAT awareness to packet classifier (Ivan Vecera) [1638022] - [net] netfilter: Add nf_ct_get_tuple_skb global lookup function (Ivan Vecera) [1638022] - [net] sch_cake: Add optional ACK filter (Ivan Vecera) [1638022] - [net] sch_cake: Add ingress mode (Ivan Vecera) [1638022] - [net] sched: Add Common Applications Kept Enhanced (cake) qdisc (Ivan Vecera) [1638022] - [net] Use __u32 in uapi net_stamp.h (Ivan Vecera) [1638022] - [net] sched: flower: Add supprt for matching on QinQ vlan headers (Ivan Vecera) [1638022] - [net] sched: flower: Dump the ethertype encapsulated in vlan (Ivan Vecera) [1638022] - [net] flow_dissector: Add support for QinQ dissection (Ivan Vecera) [1638022] - [net] sched: flower: Add support for matching on vlan ethertype (Ivan Vecera) [1638022] - [net] flow_dissector: Save vlan ethertype from headers (Ivan Vecera) [1638022] - [net] sched: change action API to use array of pointers to actions (Ivan Vecera) [1638022] - [net] sched: atomically check-allocate action (Ivan Vecera) [1638022] - [net] sched: use reference counting action init (Ivan Vecera) [1638022] - [net] sched: don't release reference on action overwrite (Ivan Vecera) [1638022] - [net] sched: implement reference counted action release (Ivan Vecera) [1638022] - [net] sched: add 'delete' function to action ops (Ivan Vecera) [1638022] - [net] sched: implement action API that deletes action by index (Ivan Vecera) [1638022] - [net] sched: always take reference to action (Ivan Vecera) [1638022] - [net] sched: implement unlocked action init API (Ivan Vecera) [1638022] - [net] sched: change type of reference and bind counters (Ivan Vecera) [1638022] - [net] sched: use rcu for action cookie update (Ivan Vecera) [1638022] - [net] sched: Make etf report drops on error_queue (Ivan Vecera) [1638022] - [net] sched: Add HW offloading capability to ETF (Ivan Vecera) [1638022] - [net] sched: Introduce the ETF Qdisc (Ivan Vecera) [1638022] - [net] sched: Allow creating a Qdisc watchdog with other clocks (Ivan Vecera) [1638022] - [net] packet: Hook into time based transmission. (Ivan Vecera) [1638022] - [net] ipv6: Hook into time based transmission (Ivan Vecera) [1638022] - [net] ipv4: Hook into time based transmission (Ivan Vecera) [1638022] - [net] Add a new socket option for a future transmit time. (Ivan Vecera) [1638022] - [net] Clear skb->tstamp only on the forwarding path (Ivan Vecera) [1638022] - [net] sched: act_pedit: fix possible memory leak in tcf_pedit_init() (Ivan Vecera) [1638022] - [net] net sched actions: add extack messages in pedit action (Ivan Vecera) [1638022] - [net] net:sched: add action inheritdsfield to skbedit (Ivan Vecera) [1638022] - [net] tc-testing: initial version of tunnel_key unit tests (Ivan Vecera) [1638022] - [net] net sched actions: avoid bitwise operation on signed value in pedit (Ivan Vecera) [1638022] - [net] net sched actions: fix misleading text strings in pedit action (Ivan Vecera) [1638022] - [net] net sched actions: use sizeof operator for buffer length (Ivan Vecera) [1638022] - [net] net sched actions: fix sparse warning (Ivan Vecera) [1638022] - [net] net sched actions: fix coding style in pedit headers (Ivan Vecera) [1638022] - [net] net sched actions: fix coding style in pedit action (Ivan Vecera) [1638022] - [net] netem: slotting with non-uniform distribution (Ivan Vecera) [1638022] - [net] check tunnel option type in tunnel flags (Ivan Vecera) [1638022] - [net] sched: act_tunnel_key: add extended ack support (Ivan Vecera) [1638022] - [net] tc-tests: add an extreme-case csum action test (Ivan Vecera) [1638022] - [net] net_sched: remove unused htb drop_list (Ivan Vecera) [1638022]- [rpmspec] always run make with HOSTCFLAGS/HOSTLDFLAGS set (Jiri Olsa) [1624124] - [rpmspec] Pass global build flags to tools build (Jiri Olsa) [1624124] - [rpmspec] Pass global build flags to bpftool build (Jiri Olsa) [1624124] - [kernel] kbuild: Use HOST*FLAGS options from the command line (Jiri Olsa) [1624124] - [scripts] kbuild: Rename HOST_LOADLIBES to KBUILD_HOSTLDLIBS (Jiri Olsa) [1624124] - [tools] kbuild: Rename HOSTLDFLAGS to KBUILD_HOSTLDFLAGS (Jiri Olsa) [1624124] - [scripts] kbuild: Rename HOSTCXXFLAGS to KBUILD_HOSTCXXFLAGS (Jiri Olsa) [1624124] - [tools] kbuild: Rename HOSTCFLAGS to KBUILD_HOSTCFLAGS (Jiri Olsa) [1624124] - [tools] tools cpupower: Override CFLAGS assignments (Jiri Olsa) [1624124] - [tools] tools cpupower debug: Allow to use outside build flags (Jiri Olsa) [1624124] - [tools] perf tools: Pass build flags to traceevent build (Jiri Olsa) [1624124] - [tools] tools lib traceevent: Use LDFLAGS in the build commands (Jiri Olsa) [1624124] - [tools] perf tools: Link libperf-jvmti.so with LDFLAGS variable (Jiri Olsa) [1624124] - [tools] bpftool: Allow add linker flags via EXTRA_LDFLAGS variable (Jiri Olsa) [1624124] - [tools] bpftool: Allow to add compiler flags via EXTRA_CFLAGS variable (Jiri Olsa) [1624124] - [block] blkcg: handle dying request_queue when associating a blkg (Ming Lei) [1655485] - [block] block: deactivate blk_stat timer in wbt_disable_default() (Ming Lei) [1655485] - [lib] sbitmap: flush deferred clears for resize and shallow gets (Ming Lei) [1655485] - [md] dm: fix request-based dm's use of dm_wait_for_completion (Ming Lei) [1655485] - [nvme] nvme: fix irq vs io_queue calculations (Ming Lei) [1655485] - [md] dm: fix inflight IO check (Ming Lei) [1655485] - [md] dm: remove the pending IO accounting (Ming Lei) [1655485] - [block] block: return just one value from part_in_flight (Ming Lei) [1655485] - [block] block: switch to per-cpu in-flight counters (Ming Lei) [1655485] - [block] block: delete part_round_stats and switch to less precise counting (Ming Lei) [1655485] - [block] block: stop passing 'cpu' to all percpu stats methods (Ming Lei) [1655485] - [md] dm rq: leverage blk_mq_queue_busy() to check for outstanding IO (Ming Lei) [1655485] - [md] dm: dont rewrite dm_disk(md)->part0.in_flight (Ming Lei) [1655485] - [lib] sbitmap: silence bogus lockdep IRQ warning (Ming Lei) [1655485] - [scsi] scsi: Fix a harmless double shift bug (Ming Lei) [1655485] - [block] blk-mq: re-build queue map in case of kdump kernel (Ming Lei) [1655485] - [block] blkcg: put back rcu lock in blkcg_bio_issue_check() (Ming Lei) [1655485] - [block] block: convert io-latency to use rq_qos_wait (Ming Lei) [1655485] - [block] block: convert wbt_wait() to use rq_qos_wait() (Ming Lei) [1655485] - [block] block: add rq_qos_wait to rq_qos (Ming Lei) [1655485] - [block] blkcg: rename blkg_try_get() to blkg_tryget() (Ming Lei) [1655485] - [block] blkcg: change blkg reference counting to use percpu_ref (Ming Lei) [1655485] - [block] blkcg: remove bio_disassociate_task() (Ming Lei) [1655485] - [block] blkcg: remove additional reference to the css (Ming Lei) [1655485] - [block] blkcg: remove bio->bi_css and instead use bio->bi_blkg (Ming Lei) [1655485] - [block] blkcg: associate writeback bios with a blkg (Ming Lei) [1655485] - [block] blkcg: associate a blkg for pages being evicted by swap (Ming Lei) [1655485] - [block] blkcg: consolidate bio_issue_init() to be a part of core (Ming Lei) [1655485] - [block] blkcg: associate blkg when associating a device (Ming Lei) [1655485] - [block] dm: set the static flush bio device on demand (Ming Lei) [1655485] - [block] blkcg: introduce common blkg association logic (Ming Lei) [1655485] - [block] blkcg: convert blkg_lookup_create() to find closest blkg (Ming Lei) [1655485] - [block] blkcg: update blkg_lookup_create() to do locking (Ming Lei) [1655485] - [block] blkcg: fix ref count issue with bio_blkcg() using task_css (Ming Lei) [1655485] - [block] blk-mq: remove QUEUE_FLAG_POLL from default MQ flags (Ming Lei) [1655485] - [block] block: enable polling by default if a poll map is initalized (Ming Lei) [1655485] - [block] block: only allow polling if a poll queue_map exists (Ming Lei) [1655485] - [block] block: remove ->poll_fn (Ming Lei) [1655485] - [nvme] nvme-mpath: remove I/O polling support (Ming Lei) [1655485] - [nvme] nvme-rdma: remove I/O polling support (Ming Lei) [1655485] - [nvme] nvme-pci: remove the CQ lock for interrupt driven queues (Ming Lei) [1655485] - [nvme] nvme-pci: don't poll from irq context when deleting queues (Ming Lei) [1655485] - [nvme] nvme-pci: refactor nvme_disable_io_queues (Ming Lei) [1655485] - [nvme] nvme-pci: consolidate code for polling non-dedicated queues (Ming Lei) [1655485] - [nvme] nvme-pci: only allow polling with separate poll queues (Ming Lei) [1655485] - [nvme] nvme-pci: cleanup SQ allocation a bit (Ming Lei) [1655485] - [nvme] nvme-pci: use atomic bitops to mark a queue enabled (Ming Lei) [1655485] - [block] block: move queues types to the block layer (Ming Lei) [1655485] - [fs] aio: clear IOCB_HIPRI (Ming Lei) [1655485] - [lib] sbitmap: fix sbitmap_for_each_set() (Ming Lei) [1655485] - [block] blk-mq: don't call ktime_get_ns() if we don't need it (Ming Lei) [1655485] - [block] block: add cmd_flags to print_req_error (Ming Lei) [1655485] - [lib] sbitmap: optimize wakeup check (Ming Lei) [1655485] - [lib] sbitmap: ammortize cost of clearing bits (Ming Lei) [1655485] - [block] block: avoid extra bio reference for async O_DIRECT (Ming Lei) [1655485] - [lib] sbitmap: don't loop for find_next_zero_bit() for !round_robin (Ming Lei) [1655485] - [block] blk-mq: use plug for devices that implement ->commits_rqs() (Ming Lei) [1655485] - [block] blk-mq: use bd->last == true for list inserts (Ming Lei) [1655485] - [block] ataflop: implement mq_ops->commit_rqs() hook (Ming Lei) [1655485] - [block] virtio_blk: implement mq_ops->commit_rqs() hook (Ming Lei) [1655485] - [nvme] nvme: implement mq_ops->commit_rqs() hook (Ming Lei) [1655485] - [block] blk-mq: add mq_ops->commit_rqs() (Ming Lei) [1655485] - [block] block: improve logic around when to sort a plug list (Ming Lei) [1655485] - [block] blk-mq: Add a NULL check in blk_mq_free_map_and_requests() (Ming Lei) [1655485] - [block] ataflop: fix error handling in atari_floppy_init() (Ming Lei) [1655485] - [block] block: add io timeout to sysfs (Ming Lei) [1655485] - [block] block: use rcu_work instead of call_rcu to avoid sleep in softirq (Ming Lei) [1655485] - [block] blk-mq: fix failure to decrement plug count on single rq removal (Ming Lei) [1655485] - [block] sunvdc: Do not spin in an infinite loop when vio_ldc_send() returns EAGAIN (Ming Lei) [1655485] - [block] block: sum requests in the plug structure (Ming Lei) [1655485] - [block] blk-mq: Simplify request completion state (Ming Lei) [1655485] - [scsi] scsi: Do not rely on blk-mq for double completions (Ming Lei) [1655485] - [block] blk-mq: Return true if request was completed (Ming Lei) [1655485] - [block] blk-mq: never redirect polled IO completions (Ming Lei) [1655485] - [block] blk-mq: ensure mq_ops ->poll() is entered at least once (Ming Lei) [1655485] - [block] block: make blk_poll() take a parameter on whether to spin or not (Ming Lei) [1655485] - [nvme] nvme: remove opportunistic polling from bdev target (Ming Lei) [1655485] - [block] blk-mq: remove 'tag' parameter from mq_ops->poll() (Ming Lei) [1655485] - [block] blk-mq: when polling for IO, look for any completion (Ming Lei) [1655485] - [block] block: fix attempt to assign NULL io_context (Ming Lei) [1655485] - [block] block: Initialize BIO I/O priority early (Ming Lei) [1655485] - [block] block: prevent merging of requests with different priorities (Ming Lei) [1655485] - [fs] aio: Fix fallback I/O priority value (Ming Lei) [1655485] - [block] block: Introduce get_current_ioprio() (Ming Lei) [1655485] - [block] block: Remove bio->bi_ioc (Ming Lei) [1655485] - [fs] aio: Comment use of IOCB_FLAG_IOPRIO aio flag (Ming Lei) [1655485] - [nvme] nvme-fc: remove ->poll implementation (Ming Lei) [1655485] - [block] block: have ->poll_fn() return number of entries polled (Ming Lei) [1655485] - [block] block: avoid ordered task state change for polled IO (Ming Lei) [1655485] - [nvme] nvme: default to 0 poll queues (Ming Lei) [1655485] - [block] floppy: remove now unused 'flags' variable (Ming Lei) [1655485] - [mmc] mmc: stop abusing the request queue_lock pointer (Ming Lei) [1655485] - [block] ide: don't acquire queue_lock in ide_complete_pm_rq (Ming Lei) [1655485] - [block] ide: don't acquire queue lock in ide_pm_execute_rq (Ming Lei) [1655485] - [block] pktcdvd: remove queue_lock around blk_queue_max_hw_sectors (Ming Lei) [1655485] - [block] floppy: remove queue_lock around floppy_end_request (Ming Lei) [1655485] - [block] block: remove the rq_alloc_data request_queue field (Ming Lei) [1655485] - [block] block: don't plug for aio/O_DIRECT HIPRI IO (Ming Lei) [1655485] - [block] block: for async O_DIRECT, mark us as polling if asked to (Ming Lei) [1655485] - [block] block: add polled wakeup task helper (Ming Lei) [1655485] - [block] blk-rq-qos: inline check for q->rq_qos functions (Ming Lei) [1655485] - [block] block: add queue_is_mq() helper (Ming Lei) [1655485] - [nvme] nvme: provide optimized poll function for separate poll queues (Ming Lei) [1655485] - [block] ide: clear ide_req()->special for non-passthrough requests (Ming Lei) [1655485] - [nvme] nvme: fix handling of EINVAL on pci_alloc_irq_vectors_affinity() (Ming Lei) [1655485] - [block] block: add wbt_disable_default export for BFQ (Ming Lei) [1655485] - [block] block: remove the queue_lock indirection (Ming Lei) [1655485] - [block] block: remove the lock argument to blk_alloc_queue_node (Ming Lei) [1655485] - [mmc] mmc: stop abusing the request queue_lock pointer (Ming Lei) [1655485] - [mmc] mmc: simplify queue initialization (Ming Lei) [1655485] - [block] umem: don't override the queue_lock (Ming Lei) [1655485] - [block] drbd: don't override the queue_lock (Ming Lei) [1655485] - [block] blk-cgroup: move locking into blkg_destroy_all (Ming Lei) [1655485] - [block] blk-cgroup: consolidate error handling in blkcg_init_queue (Ming Lei) [1655485] - [block] block: remove a few unused exports (Ming Lei) [1655485] - [block] block: update a few comments for the legacy request removal (Ming Lei) [1655485] - [block] block: remove the unused lock argument to rq_qos_throttle (Ming Lei) [1655485] - [block] block: remove queue_lockdep_assert_held (Ming Lei) [1655485] - [block] block: use atomic bitops for ->queue_flags (Ming Lei) [1655485] - [block] block: don't hold the queue_lock over blk_abort_request (Ming Lei) [1655485] - [block] block: remove deadline __deadline manipulation helpers (Ming Lei) [1655485] - [block] block: remove QUEUE_FLAG_BYPASS and ->bypass (Ming Lei) [1655485] - [nvme] nvmet-rdma: fix response use after free (Ming Lei) [1655485] - [nvme] nvme: validate controller state before rescheduling keep alive (Ming Lei) [1655485] - [block] block, bfq: fix decrement of num_active_groups (Ming Lei) [1655485] - [ata] libata: whitelist all SAMSUNG MZ7KM* solid-state disks (Ming Lei) [1655485] - [nvme] nvme-rdma: fix double freeing of async event data (Ming Lei) [1655485] - [nvme] nvme-pci: fix surprise removal (Ming Lei) [1655485] - [nvme] nvme: Free ctrl device name on init failure (Ming Lei) [1655485] - [nvme] nvme-fc: resolve io failures during connect (Ming Lei) [1655485] - [nvme] nvme: make sure ns head inherits underlying device limits (Ming Lei) [1655485] - [nvme] nvmet: don't try to add ns to p2p map unless it actually uses it (Ming Lei) [1655485] - [nvme] nvme-pci: fix conflicting p2p resource adds (Ming Lei) [1655485] - [nvme] nvmet: Optionally use PCI P2P memory (Ming Lei) [1655485] - [nvme] nvmet: Introduce helper functions to allocate and free request SGLs (Ming Lei) [1655485] - [nvme] nvme-pci: Add support for P2P memory in requests (Ming Lei) [1655485] - [nvme] nvme-pci: Use PCI p2pmem subsystem to manage the CMB (Ming Lei) [1655485] - [infiniband] IB/core: Ensure we map P2P memory correctly in rdma_rw_ctx_[init|destroy]() (Ming Lei) [1655485] - [block] block: Add PCI P2P flag for request queue (Ming Lei) [1655485] - [documentation] PCI/P2PDMA: Add P2P DMA driver writer's documentation (Ming Lei) [1655485] - [documentation] docs-rst: Add a new directory for PCI documentation (Ming Lei) [1655485] - [pci] PCI/P2PDMA: Introduce configfs/sysfs enable attribute helpers (Ming Lei) [1655485] - [pci] PCI/P2PDMA: Add PCI p2pmem DMA mappings to adjust the bus offset (Ming Lei) [1655485] - [pci] PCI/P2PDMA: Add sysfs group to display p2pmem stats (Ming Lei) [1655485] - [pci] PCI/P2PDMA: Support peer-to-peer memory (Ming Lei) [1655485] - [nvme] nvmet-rdma: support max(16KB, PAGE_SIZE) inline data (Ming Lei) [1655485] - [nvme] nvme-rdma: support up to 4 segments of inline data (Ming Lei) [1655485] - [fs] aio: fix failure to put the file pointer (Ming Lei) [1655485] - [lib] scsi: Remove percpu_ida (Ming Lei) [1655485] - [scsi] scsi: target: Convert target drivers to use sbitmap (Ming Lei) [1655485] - [scsi] scsi: target: Abstract tag freeing (Ming Lei) [1655485] - [block] mmc: block: Fix unsupported parallel dispatch of requests (Ming Lei) [1655485] - [scsi] scsi: target: sbitmap: add seq_file forward declaration (Ming Lei) [1655485] - [mm] mm, memory_hotplug: do not clear numa_node association after hot_remove (Waiman Long) [1657422] - [fs] iomap: partially revert 4721a601099 (simulated directio short read on EFAULT) (Brian Foster) [1654713] - [fs] splice: don't read more than available pipe space (Brian Foster) [1654713] - [fs] vfs: allow some remap flags to be passed to vfs_clone_file_range (Brian Foster) [1654713] - [fs] xfs: fix inverted return from xfs_btree_sblock_verify_crc (Brian Foster) [1654713] - [fs] xfs: fix PAGE_MASK usage in xfs_free_file_space (Brian Foster) [1654713] - [fs] fs/xfs: fix f_ffree value for statfs when project quota is set (Brian Foster) [1654713] - [fs] iomap: readpages doesn't zero page tail beyond EOF (Brian Foster) [1654713] - [fs] vfs: vfs_dedupe_file_range() doesn't return EOPNOTSUPP (Brian Foster) [1654713] - [fs] iomap: dio data corruption and spurious errors when pipes fill (Brian Foster) [1654713] - [fs] iomap: sub-block dio needs to zeroout beyond EOF (Brian Foster) [1654713] - [fs] iomap: FUA is wrong for DIO O_DSYNC writes into unwritten extents (Brian Foster) [1654713] - [fs] xfs: delalloc -> unwritten COW fork allocation can go wrong (Brian Foster) [1654713] - [fs] xfs: flush removing page cache in xfs_reflink_remap_prep (Brian Foster) [1654713] - [fs] xfs: extent shifting doesn't fully invalidate page cache (Brian Foster) [1654713] - [fs] xfs: finobt AG reserves don't consider last AG can be a runt (Brian Foster) [1654713] - [fs] xfs: fix transient reference count error in xfs_buf_resubmit_failed_buffers (Brian Foster) [1654713] - [fs] xfs: uncached buffer tracing needs to print bno (Brian Foster) [1654713] - [fs] xfs: make xfs_file_remap_range() static (Brian Foster) [1654713] - [fs] xfs: fix shared extent data corruption due to missing cow reservation (Brian Foster) [1654713] - [fs] xfs: fix overflow in xfs_attr3_leaf_verify (Brian Foster) [1654713] - [fs] xfs: print buffer offsets when dumping corrupt buffers (Brian Foster) [1654713] - [fs] xfs: Fix error code in 'xfs_ioc_getbmap()' (Brian Foster) [1654713] - [fs] xfs: cancel COW blocks before swapext (Brian Foster) [1654713] - [fs] xfs: clear ail delwri queued bufs on unmount of shutdown fs (Brian Foster) [1654713] - [fs] xfs: use offsetof() in place of offset macros for __xfsstats (Brian Foster) [1654713] - [fs] xfs: Fix xqmstats offsets in /proc/fs/xfs/xqmstat (Brian Foster) [1654713] - [fs] xfs: fix use-after-free race in xfs_buf_rele (Brian Foster) [1654713] - [fs] xfs: Add attibute remove and helper functions (Brian Foster) [1654713] - [fs] xfs: Add attibute set and helper functions (Brian Foster) [1654713] - [fs] xfs: Add helper function xfs_attr_try_sf_addname (Brian Foster) [1654713] - [fs] xfs: Move fs/xfs/xfs_attr.h to fs/xfs/libxfs/xfs_attr.h (Brian Foster) [1654713] - [fs] xfs: issue log message on user force shutdown (Brian Foster) [1654713] - [fs] xfs: fix buffer state management in xrep_findroot_block (Brian Foster) [1654713] - [fs] xfs: always assign buffer verifiers when one is provided (Brian Foster) [1654713] - [fs] xfs: xrep_findroot_block should reject root blocks with siblings (Brian Foster) [1654713] - [fs] xfs: add a define for statfs magic to uapi (Brian Foster) [1654713] - [fs] xfs: print dangling delalloc extents (Brian Foster) [1654713] - [fs] xfs: fix fork selection in xfs_find_trim_cow_extent (Brian Foster) [1654713] - [fs] xfs: remove the unused trimmed argument from xfs_reflink_trim_around_shared (Brian Foster) [1654713] - [fs] xfs: remove the unused shared argument to xfs_reflink_reserve_cow (Brian Foster) [1654713] - [fs] xfs: handle zeroing in xfs_file_iomap_begin_delay (Brian Foster) [1654713] - [fs] xfs: remove suport for filesystems without unwritten extent flag (Brian Foster) [1654713] - [fs] xfs: remove XFS_IO_INVALID (Brian Foster) [1654713] - [fs] xfs: remove [cm]time update from reflink calls (Brian Foster) [1654713] - [fs] xfs: remove xfs_reflink_remap_range (Brian Foster) [1654713] - [fs] xfs: remove redundant remap partial EOF block checks (Brian Foster) [1654713] - [fs] xfs: support returning partial reflink results (Brian Foster) [1654713] - [fs] xfs: clean up xfs_reflink_remap_blocks call site (Brian Foster) [1654713] - [fs] xfs: fix pagecache truncation prior to reflink (Brian Foster) [1654713] - [fs] vfs: clean up generic_remap_file_range_prep return value (Brian Foster) [1654713] - [fs] vfs: hide file range comparison function (Brian Foster) [1654713] - [fs] vfs: enable remap callers that can handle short operations (Brian Foster) [1654713] - [fs] vfs: plumb remap flags through the vfs dedupe functions (Brian Foster) [1654713] - [fs] vfs: plumb remap flags through the vfs clone functions (Brian Foster) [1654713] - [fs] vfs: make remap_file_range functions take and return bytes completed (Brian Foster) [1654713] - [fs] vfs: remap helper should update destination inode metadata (Brian Foster) [1654713] - [fs] vfs: pass remap flags to generic_remap_checks (Brian Foster) [1654713] - [fs] vfs: pass remap flags to generic_remap_file_range_prep (Brian Foster) [1654713] - [fs] vfs: combine the clone and dedupe into a single remap_file_range (Brian Foster) [1654713] - [fs] vfs: rename clone_verify_area to remap_verify_area (Brian Foster) [1654713] - [fs] vfs: rename vfs_clone_file_prep to be more descriptive (Brian Foster) [1654713] - [fs] vfs: skip zero-length dedupe requests (Brian Foster) [1654713] - [fs] vfs: avoid problematic remapping requests into partial EOF block (Brian Foster) [1654713] - [fs] vfs: strengthen checking of file range inputs to generic_remap_checks (Brian Foster) [1654713] - [fs] vfs: exit early from zero length remap operations (Brian Foster) [1654713] - [fs] vfs: check file ranges before cloning files (Brian Foster) [1654713] - [fs] vfs: vfs_clone_file_prep_inodes should return EINVAL for a clone from beyond EOF (Brian Foster) [1654713] - [block] blk-mq: not embed .mq_kobj and ctx->kobj into queue instance (Ming Lei) [1653124] - [fs] fs: fix lost error code in dio_complete (Ming Lei) [1655364] - [iommu] iommu/iova: Optimise attempts to allocate iova from 32bit address range (Robert Richter) [1639202]- [drm] drm/nouveau/drm/nouveau: Check rc from drm_dp_mst_topology_mgr_resume() (Lyude Paul) [1658810] - [x86] Mark Intel Apollo Lake supported (David Arcari) [1653799] - [infiniband] IB/mlx5: Fix implicit ODP interrupted page fault (Alaa Hleihel) [1658085] - [infiniband] IB/mlx5: Improve ODP debugging messages (Alaa Hleihel) [1658085] - [netdrv] net/mlx5: Use multi threaded workqueue for page fault handling (Alaa Hleihel) [1658085] - [netdrv] net/mlx5: Return success for PAGE_FAULT_RESUME in internal error state (Alaa Hleihel) [1658085] - [infiniband] IB/mlx5: Lock QP during page fault handling (Alaa Hleihel) [1658085] - [netdrv] net/mlx5: Enumerate page fault types (Alaa Hleihel) [1658085] - [netdrv] net/mlx5: Add interface to hold and release core resources (Alaa Hleihel) [1658085] - [netdrv] net/mlx5: Release resource on error flow (Alaa Hleihel) [1658085] - [netdrv] net/mlx4_core: Correctly set PFC param if global pause is turned off. (Alaa Hleihel) [1658085] - [netdrv] net/mlx4_en: Change min MTU size to ETH_MIN_MTU (Alaa Hleihel) [1658085] - [netdrv] mlx5: fix get_ip_proto() (Alaa Hleihel) [1658085] - [infiniband] IB/mlx5: Fix page fault handling for MW (Alaa Hleihel) [1658085] - [infiniband] RDMA/mlx5: Initialize return variable in case pagefault was skipped (Alaa Hleihel) [1658085] - [infiniband] IB/mlx5: Skip non-ODP MR when handling a page fault (Alaa Hleihel) [1658085] - [net] net/dim: Update DIM start sample after each DIM iteration (Alaa Hleihel) [1658085] - [infiniband] IB/mlx5: Avoid load failure due to unknown link width (Alaa Hleihel) [1658085] - [infiniband] RDMA/mlx5: Fix fence type for IB_WR_LOCAL_INV WR (Alaa Hleihel) [1658085] - [netdrv] net/mlx5e: Removed unnecessary warnings in FEC caps query (Alaa Hleihel) [1658085] - [netdrv] net/mlx5e: Fix selftest for small MTUs (Alaa Hleihel) [1658085] - [netdrv] net/mlx5e: RX, verify received packet size in Linear Striding RQ (Alaa Hleihel) [1658085] - [netdrv] net/mlx5e: Apply the correct check for supporting TC esw rules split (Alaa Hleihel) [1658085] - [netdrv] net/mlx5e: Adjust to max number of channles when re-attaching (Alaa Hleihel) [1658085] - [netdrv] net/mlx5e: Always use the match level enum when parsing TC rule match (Alaa Hleihel) [1658085] - [netdrv] net/mlx5e: Claim TC hw offloads support only under a proper build config (Alaa Hleihel) [1658085] - [netdrv] net/mlx5e: Don't match on vlan non-existence if ethertype is wildcarded (Alaa Hleihel) [1658085] - [netdrv] net/mlx5e: IPoIB, Reset QP after channels are closed (Alaa Hleihel) [1658085] - [netdrv] net/mlx4: Fix UBSAN warning of signed integer overflow (Alaa Hleihel) [1658085] - [netdrv] net/mlx4_core: Fix uninitialized variable compilation warning (Alaa Hleihel) [1658085] - [netdrv] net/mlx4_core: Zero out lkey field in SW2HW_MPT fw command (Alaa Hleihel) [1658085] - [infiniband] IB/mlx5: Fix MR cache initialization (Alaa Hleihel) [1658085] - [infiniband] RDMA/mlx5: Remove extraneous error check (Alaa Hleihel) [1658085] - [netdrv] net/mlx5: Take only bit 24-26 of wqe.pftype_wq for page fault type (Alaa Hleihel) [1658085] - [netdrv] net/mlx5: Fix memory leak when setting fpga ipsec caps (Alaa Hleihel) [1658085] - [infiniband] IB/mlx5: Unmap DMA addr from HCA before IOMMU (Alaa Hleihel) [1658085] - [infiniband] RDMA/mlx5: Remove superfluous version print (Alaa Hleihel) [1658085] - [infiniband] IB/mlx5: Allow transition of DCI QP to reset (Alaa Hleihel) [1658085] - [infiniband] IB/mlx5: Don't hold spin lock while checking device state (Alaa Hleihel) [1658085] - [netdrv] net/mlx5e: Move mlx5e_priv_flags into en_ethtool.c (Alaa Hleihel) [1658085] - [netdrv] net/mlx5: Fix atomic_mode enum values (Alaa Hleihel) [1658085] - [netdrv] net/mlx5e: Delete unneeded function argument (Alaa Hleihel) [1658085] - [netdrv] net/mlx5e: RX, Prefetch the xdp_frame data area (Alaa Hleihel) [1658085] - [drm] drm/i915: Synchronize hpd work in i915_hpd_storm_ctl_show() (Lyude Paul) [1658376] - [drm] drm/i915: Add short HPD IRQ storm detection for non-MST systems (Lyude Paul) [1658376] - [drm] drm/i915: Clarify flow for disabling IRQs on storms (Lyude Paul) [1658376] - [drm] drm/i915: Fix threshold check in intel_hpd_irq_storm_detect() (Lyude Paul) [1658376] - [drm] drm/i915: Fix NULL deref when re-enabling HPD IRQs on systems with MST (Lyude Paul) [1658376] - [drm] drm/i915: Fix possible race in intel_dp_add_mst_connector() (Lyude Paul) [1658376] - [x86] kvm: x86: bump KVM_(SOFT_)MAX_VCPUS to 384 (Radim Krcmar) [1635205] - [block] blk-mq: punt failed direct issue to dispatch list (Ming Lei) [1656653] - [block] blk-mq: fix corruption with direct issue (Ming Lei) [1656653] - [pci] PCI: Add support for Immediate Readiness (Myron Stowe) [1483409] - [x86] x86/PCI: Remove node-local allocation when initialising host controller (Myron Stowe) [1483409] - [arm64] arm64: PCI: Remove node-local allocations when initialising host controller (Myron Stowe) [1483409] - [cpufreq] cpufreq: intel_pstate: Add base_frequency attribute (Prarit Bhargava) [1648207] - [acpi] ACPI / CPPC: Add support for guaranteed performance (Prarit Bhargava) [1648207] - [block] block: fix single range discard merge (Ming Lei) [1654096] - [scsi] SCSI: fix queue cleanup race before queue initialization is done (Ming Lei) [1642404] - [netdrv] net: hinic: fix null pointer dereference on pointer hwdev (Xiaojun Tan) [1654207] - [netdrv] net-next/hinic: fix a bug in rx data flow (Xiaojun Tan) [1654207] - [netdrv] net-next/hinic:fix a bug in set mac address (Xiaojun Tan) [1654207] - [netdrv] net-next/hinic:add rx checksum offload for HiNIC (Xiaojun Tan) [1654207] - [netdrv] net-next/hinic:replace multiply and division operators (Xiaojun Tan) [1654207] - [netdrv] hinic: Fix l4_type parameter in hinic_task_set_tunnel_l4 (Xiaojun Tan) [1654207] - [netdrv] net-next/hinic: add checksum offload and TSO support (Xiaojun Tan) [1654207] - [netdrv] cxgb4: Remove SGE_HOST_PAGE_SIZE dependency on page size (Arjun Vynipadath) [1651082]- [x86] kvm: x86: Report STIBP on GET_SUPPORTED_CPUID (Eduardo Habkost) [1644870] - [kernel] power: remove possible deadlock when unregistering power_supply (Benjamin Tissoires) [1657623] - [md] dm: call blk_queue_split() to impose device limits on bios (Mike Snitzer) [1657340] - [pinctrl] Revert "pinctrl: intel: Do pin translation when lock IRQ" (Benjamin Tissoires) [1658075] - [pinctrl] pinctrl: cannonlake: Fix HOSTSW_OWN register offset of H variant (Benjamin Tissoires) [1658075] - [pinctrl] pinctrl: intel: Do pin translation in other GPIO operations as well (Benjamin Tissoires) [1658075] - [pinctrl] pinctrl: cannonlake: Fix gpio base for GPP-E (Benjamin Tissoires) [1658075] - [pinctrl] pinctrl: intel: Don't shadow error code of gpiochip_lock_as_irq() (Benjamin Tissoires) [1658075] - [pinctrl] pinctrl: cannonlake: Fix community ordering for H variant (Benjamin Tissoires) [1658075] - [pinctrl] pinctrl: intel: Do pin translation when lock IRQ (Benjamin Tissoires) [1658075] - [firmware] efi: Prevent GICv3 WARN() by mapping the memreserve table before first use (Bhupesh Sharma) [1638640] - [firmware] efi: Permit calling efi_mem_reserve_persistent() from atomic context (Bhupesh Sharma) [1638640] - [firmware] efi/arm: Defer persistent reservations until after paging_init() (Bhupesh Sharma) [1638640] - [firmware] efi/arm: Revert deferred unmap of early memmap mapping (Bhupesh Sharma) [1638640] - [arm64] arm64: memblock: don't permit memblock resizing until linear mapping is up (Bhupesh Sharma) [1638640] - [arm64] arm64: Fix /proc/iomem for reserved but not memory regions (Bhupesh Sharma) [1638640] - [tty] tty: wipe buffer. (Christoph von Recklinghausen) [1655051] - [tty] tty: wipe buffer if not echoing data (Christoph von Recklinghausen) [1655051]- [powerpc] powerpc/perf: Remove sched_task function defined for thread-imc (Steve Best) [1657153] - [s390] Add reserved fields to mm_context_t (Philipp Rudo) [1656874] - [s390] Add reserved fields to thread_struct (Philipp Rudo) [1656874] - [documentation] kdump: correct crashkernel=auto threshold (Raghavendra Rao) [1656698] - [fs] NFSv4.x: fix lock recovery during delegation recall (Steve Dickson) [1656410] - [x86] x86/spec_ctrl: Synchronize RHEL8 percpu SPEC_CTRL MSR states with new STIBP logic (Waiman Long) [1655662] - [x86] x86/speculation: Provide IBPB always command line options (Waiman Long) [1655662] - [x86] x86/speculation: Add seccomp Spectre v2 user space protection mode (Waiman Long) [1655662] - [x86] x86/speculation: Enable prctl mode for spectre_v2_user (Waiman Long) [1655662] - [x86] x86/speculation: Add prctl() control for indirect branch speculation (Waiman Long) [1655662] - [x86] x86/speculation: Prepare arch_smt_update() for PRCTL mode (Waiman Long) [1655662] - [x86] x86/speculation: Prevent stale SPEC_CTRL msr content (Waiman Long) [1655662] - [x86] x86/speculation: Split out TIF update (Waiman Long) [1655662] - [x86] ptrace: Remove unused ptrace_may_access_sched() and MODE_IBRS (Waiman Long) [1655662] - [x86] x86/speculation: Prepare for conditional IBPB in switch_mm() (Waiman Long) [1655662] - [x86] x86/speculation: Avoid __switch_to_xtra() calls (Waiman Long) [1655662] - [x86] x86/process: Consolidate and simplify switch_to_xtra() code (Waiman Long) [1655662] - [x86] x86/speculation: Prepare for per task indirect branch speculation control (Waiman Long) [1655662] - [x86] x86/speculation: Add command line control for indirect branch speculation (Waiman Long) [1655662] - [x86] x86/speculation: Unify conditional spectre v2 print functions (Waiman Long) [1655662] - [x86] x86/speculataion: Mark command line parser data __initdata (Waiman Long) [1655662] - [x86] x86/speculation: Mark string arrays const correctly (Waiman Long) [1655662] - [x86] x86/speculation: Reorder the spec_v2 code (Waiman Long) [1655662] - [x86] x86/l1tf: Show actual SMT state (Waiman Long) [1655662] - [x86] x86/speculation: Rework SMT state change (Waiman Long) [1655662] - [x86] sched/smt: Expose sched_smt_present static key (Waiman Long) [1655662] - [x86] x86/Kconfig: Select SCHED_SMT if SMP enabled (Waiman Long) [1655662] - [x86] sched/smt: Make sched_smt_present track topology (Waiman Long) [1655662] - [x86] x86/speculation: Reorganize speculation control MSRs update (Waiman Long) [1655662] - [x86] x86/speculation: Rename SSBD update functions (Waiman Long) [1655662] - [x86] x86/speculation: Disable STIBP when enhanced IBRS is in use (Waiman Long) [1655662] - [x86] x86/speculation: Move STIPB/IBPB string conditionals out of cpu_show_common() (Waiman Long) [1655662] - [x86] x86/speculation: Remove unnecessary ret variable in cpu_show_common() (Waiman Long) [1655662] - [x86] x86/speculation: Clean up spectre_v2_parse_cmdline() (Waiman Long) [1655662] - [x86] x86/speculation: Update the TIF_SSBD comment (Waiman Long) [1655662] - [x86] x86/retpoline: Remove minimal retpoline support (Waiman Long) [1655662] - [x86] x86/retpoline: Make CONFIG_RETPOLINE depend on compiler support (Waiman Long) [1655662] - [x86] x86/spec_ctrl: Temporarily remove the IBRS code from process.c & bugs.c (Waiman Long) [1655662] - [nvme] nvme: flush namespace scanning work just before removing namespaces (Ewan Milne) [1656028] - [netdrv] i40e: Fix deletion of MAC filters (Stefan Assmann) [1646847] - [scsi] mpt3sas: Display message on Configurable secure HBA (Tomas Henzl) [1649314] - [scsi] scsi: mpt3sas: Add support for Aero controllers (Tomas Henzl) [1649314] - [scsi] scsi: mpt3sas: Update MPI headers to support Aero controllers (Tomas Henzl) [1649314] - [scsi] megaraid_sas: Add support for MegaRAID Aero controllers (Tomas Henzl) [1649384] - [netdrv] nfp: flower: enabled offloading of Team LAG (Pablo Cascon) [1649876] - [netdrv] net/mlx5: IPSec, Fix the SA context hash key (Alaa Hleihel) [1645857] - [hwmon] hwmon/k10temp: Add support for AMD family 17h, model 30h CPUs (Gary Hook) [1640681] - [x86] x86/amd_nb: Add PCI device IDs for family 17h, model 30h (Gary Hook) [1640681] - [x86] x86/amd_nb: Add support for newer PCI topologies (Gary Hook) [1640681] - [hwmon] hwmon/k10temp, x86/amd_nb: Consolidate shared device IDs (Gary Hook) [1640681] - [net] tipc: fix info leak from kernel tipc_event (Jon Maloy) [1643279] - [net] tipc: eliminate message disordering during binding table update (Jon Maloy) [1643279] - [net] tipc: fix unsafe rcu locking when accessing publication list (Jon Maloy) [1643279] - [net] tipc: queue socket protocol error messages into socket receive buffer (Jon Maloy) [1643279] - [net] tipc: ignore STATE_MSG on wrong link session (Jon Maloy) [1643279] - [net] tipc: fix failover problem (Jon Maloy) [1643279] - [net] tipc: eliminate possible recursive locking detected by LOCKDEP (Jon Maloy) [1643279] - [net] tipc: lock wakeup & inputq at tipc_link_reset() (Jon Maloy) [1643279] - [net] tipc: reset bearer if device carrier not ok (Jon Maloy) [1643279] - [net] tipc: fix flow control accounting for implicit connect (Jon Maloy) [1643279] - [net] tipc: check return value of __tipc_dump_start() (Jon Maloy) [1643279] - [net] tipc: call start and done ops directly in __tipc_nl_compat_dumpit() (Jon Maloy) [1643279] - [net] tipc: orphan sock in tipc_release() (Jon Maloy) [1643279] - [net] tipc: switch to rhashtable iterator (Jon Maloy) [1643279] - [net] tipc: fix a missing rhashtable_walk_exit() (Jon Maloy) [1643279] - [net] tipc: add missing dev_put() on error in tipc_enable_l2_media (Jon Maloy) [1643279] - [net] tipc: initialize broadcast link stale counter correctly (Jon Maloy) [1643279] - [net] tipc: set link tolerance correctly in broadcast link (Jon Maloy) [1643279] - [net] tipc: extend link reset criteria for stale packet retransmission (Jon Maloy) [1643279] - [crypto] crypto: ccp - Add support for new CCP/PSP device ID (Gary Hook) [1634201] - [crypto] crypto: ccp - Support register differences between PSP devices (Gary Hook) [1634201] - [crypto] crypto: ccp - Remove unused #defines (Gary Hook) [1634201] - [crypto] crypto: ccp - Add psp enabled message when initialization succeeds (Gary Hook) [1634201] - [crypto] crypto: ccp - Fix command completion detection race (Gary Hook) [1634201] - [crypto] crypto: ccp - Check for NULL PSP pointer at module unload (Gary Hook) [1634201] - [net] sctp: increase sk_wmem_alloc when head->truesize is increased (Xin Long) [1645419] - [net] sctp: count sk_wmem_alloc by skb truesize in sctp_packet_transmit (Xin Long) [1645419] - [net] ipv6: re-do dad when interface has IFF_NOARP flag change (Hangbin Liu) [1644594] - [net] netfilter: nf_tables: don't skip inactive chains during update (Florian Westphal) [1643746] - [net] inet: frags: better deal with smp races (Sabrina Dubroca) [1645397] - [net] geneve, vxlan: Don't set exceptions if skb->len < mtu (Xin Long) [1642842] - [net] geneve, vxlan: Don't check skb_dst() twice (Xin Long) [1642842] - [net] sctp: fix strchange_flags name for Stream Change Event (Xin Long) [1641852] - [net] sctp: update dst pmtu with the correct daddr (Xin Long) [1644478] - [net] sctp: not free the new asoc when sctp_wait_for_connect returns err (Xin Long) [1644155] - [net] l2tp: fix a sock refcnt leak in l2tp_tunnel_register (Xin Long) [1642749] - [net] sctp: check policy more carefully when getting pr status (Xin Long) [1637786] - [net] sctp: get pr_assoc and pr_stream all status with SCTP_PR_SCTP_ALL instead (Xin Long) [1637786] - [net] ipv4/igmp: fix v1/v2 switchback timeout based on rfc3376, 8.12 (Hangbin Liu) [1638598] - [net] netfilter: nft_compat: ebtables 'nat' table is normal chain type (Florian Westphal) [1645377] - [net] sched: exclude TC from kABI guarantee (Ivan Vecera) [1628454] - [net] netfilter: nft_set_rbtree: allow loose matching of closing element in interval (Phil Sutter) [1641993] - [net] netfilter: xt_nat: fix DNAT target for shifted portmap ranges (Paolo Abeni) [1634258] - [net] sched: Fix for duplicate class dump (Phil Sutter) [1631179] - [x86] KVM: X86: Fix scan ioapic use-before-initialization (Bandan Das) [1653835] {CVE-2018-19407}- [scsi] scsi: vmw_pscsi: Rearrange code to avoid multiple calls to free_irq during unload (Cathy Avery) [1590875] - [netdrv] net/ibmvnic: Fix RTNL deadlock during device reset (Steve Best) [1656076] - [s390] s390/qeth: fix length check in SNMP processing (Philipp Rudo) [1655612] - [s390] s390/ism: clear dmbe_mask bit before SMC IRQ handling (Philipp Rudo) [1655611] - [net] net/smc: use after free fix in smc_wr_tx_put_slot() (Philipp Rudo) [1655611] - [net] net/smc: atomic SMCD cursor handling (Philipp Rudo) [1655611] - [net] net/smc: add SMC-D shutdown signal (Philipp Rudo) [1655611] - [net] net/smc: use queue pair number when matching link group (Philipp Rudo) [1655611] - [net] net/smc: abort CLC connection in smc_release (Philipp Rudo) [1655611] - [net] net/smc: unregister rkeys of unused buffer (Philipp Rudo) [1655611] - [net] net/smc: add infrastructure to send delete rkey messages (Philipp Rudo) [1655611] - [net] net/smc: avoid a delay by waiting for nothing (Philipp Rudo) [1655611] - [net] net/smc: cleanup listen worker mutex unlocking (Philipp Rudo) [1655611] - [net] net/smc: short wait for late smc_clc_wait_msg (Philipp Rudo) [1655611] - [net] net/smc: no link delete for a never active link (Philipp Rudo) [1655611] - [net] net/smc: allow fallback after clc timeouts (Philipp Rudo) [1655611] - [net] net/smc: remove sock_error detour in clc-functions (Philipp Rudo) [1655611] - [net] net/smc: make smc_lgr_free() static (Philipp Rudo) [1655611] - [net] net/smc: cleanup tcp_listen_worker initialization (Philipp Rudo) [1655611] - [net] net/smc: fix smc_buf_unuse to use the lgr pointer (Philipp Rudo) [1655611] - [net] Revert "net: simplify sock_poll_wait" (Philipp Rudo) [1655611] - [powerpc] powerpc/pseries: Fix unitialized timer reset on migration (Steve Best) [1655053] - [powerpc] powerpc/pseries/mobility: Extend start/stop topology update scope (Steve Best) [1655053] - [x86] Mark Intel Cascade Lake supported (Steve Best) [1641425]- [x86] KVM: VMX: re-add ple_gap module parameter (Gary Hook) [1652953] - [netdrv] tg3: Add PHY reset for 5717/5719/5720 in change ring and flow control paths (Steve Best) [1655515] - [pci] PCI/ASPM: Do not initialize link state when aspm_disabled is set (Myron Stowe) [1655246] - [pci] PCI/ACPI: Allow _OSC presence to be optional for PCI (Myron Stowe) [1655246] - [pci] PCI/ACPI: Correct error message for ASPM disabling (Myron Stowe) [1655246] - [pci] PCI/ASPM: Fix link_state teardown on device removal (Myron Stowe) [1655246] - [netdrv] ice: Change req_speeds to be u16 (Jonathan Toppins) [1644403] - [netdrv] ice: Fix the bytecount sent to netdev_tx_sent_queue (Jonathan Toppins) [1644403] - [netdrv] ice: Fix tx_timeout in PF driver (Jonathan Toppins) [1644403] - [netdrv] ice: Fix napi delete calls for remove (Jonathan Toppins) [1644403] - [netdrv] ice: Fix typo in error message (Jonathan Toppins) [1644403] - [netdrv] ice: Fix flags for port VLAN (Jonathan Toppins) [1644403] - [netdrv] ice: Remove duplicate addition of VLANs in replay path (Jonathan Toppins) [1644403] - [netdrv] ice: Free VSI contexts during for unload (Jonathan Toppins) [1644403] - [netdrv] ice: Fix dead device link issue with flow control (Jonathan Toppins) [1644403] - [netdrv] ice: Check for reset in progress during remove (Jonathan Toppins) [1644403] - [netdrv] ice: Set carrier state and start/stop queues in rebuild (Jonathan Toppins) [1644403] - [netdrv] virtchnl: Added support to exchange additional speed values (Jonathan Toppins) [1644403] - [netdrv] ice: Poll for link status change (Jonathan Toppins) [1644403] - [netdrv] ice: Allocate VF interrupts and set queue map (Jonathan Toppins) [1644403] - [netdrv] ice: Introduce ice_dev_onetime_setup (Jonathan Toppins) [1644403] - [netdrv] ice: Use capability count returned by the firmware (Jonathan Toppins) [1644403] - [netdrv] ice: Update expected FW version (Jonathan Toppins) [1644403] - [netdrv] ice: Change device ID define names to align with branding string (Jonathan Toppins) [1644403] - [netdrv] ice: Make ice_msix_clean_rings static (Jonathan Toppins) [1644403] - [netdrv] ice: Update version string (Jonathan Toppins) [1644403] - [netdrv] ice: Use the right function to enable/disable VSI (Jonathan Toppins) [1644403] - [netdrv] ice: Add more flexibility on how we assign an ITR index (Jonathan Toppins) [1644403] - [netdrv] ice: Fix potential null pointer issues (Jonathan Toppins) [1644403] - [netdrv] ice: Add code to go from ICE_FWD_TO_VSI_LIST to ICE_FWD_TO_VSI (Jonathan Toppins) [1644403] - [netdrv] ice: Fix forward to queue group logic (Jonathan Toppins) [1644403] - [netdrv] ice: Extend malicious operations detection logic (Jonathan Toppins) [1644403] - [netdrv] ice: Notify VF of link status change (Jonathan Toppins) [1644403] - [netdrv] ice: Implement virtchnl commands for AVF support (Jonathan Toppins) [1644403] - [netdrv] ice: Add handlers for VF netdevice operations (Jonathan Toppins) [1644403] - [netdrv] ice: Add support for VF reset events (Jonathan Toppins) [1644403] - [netdrv] ice: Update VSI and queue management code to handle VF VSI (Jonathan Toppins) [1644403] - [netdrv] ice: Add handler to configure SR-IOV (Jonathan Toppins) [1644403] - [netdrv] ice: Add support to detect SR-IOV capability and mailbox queues (Jonathan Toppins) [1644403] - [netdrv] ice: Fix error on driver remove (Jonathan Toppins) [1644403] - [netdrv] ice: Add support for dynamic interrupt moderation (Jonathan Toppins) [1644403] - [netdrv] ice: Align ice_reset_req enum values to hardware reset values (Jonathan Toppins) [1644403] - [netdrv] ice: Implement ethtool hook for RSS switch (Jonathan Toppins) [1644403] - [netdrv] ice: Split irq_tracker into sw_irq_tracker and hw_irq_tracker (Jonathan Toppins) [1644403] - [netdrv] ice: Check for actual link state of port after reset (Jonathan Toppins) [1644403] - [netdrv] ice: Implement VSI replay framework (Jonathan Toppins) [1644403] - [netdrv] ice: Expand use of VSI handles part 2/2 (Jonathan Toppins) [1644403] - [netdrv] ice: Expand use of VSI handles part 1/2 (Jonathan Toppins) [1644403] - [netdrv] ice: Change pf state behavior to protect reset path (Jonathan Toppins) [1644403] - [netdrv] ice: Move common functions out of ice_main.c part 7/7 (Jonathan Toppins) [1644403] - [netdrv] ice: Move common functions out of ice_main.c part 6/7 (Jonathan Toppins) [1644403] - [netdrv] ice: Move common functions out of ice_main.c part 5/7 (Jonathan Toppins) [1644403] - [netdrv] ice: Move common functions out of ice_main.c part 4/7 (Jonathan Toppins) [1644403] - [netdrv] ice: Move common functions out of ice_main.c part 3/7 (Jonathan Toppins) [1644403] - [netdrv] ice: Move common functions out of ice_main.c part 2/7 (Jonathan Toppins) [1644403] - [netdrv] ice: Move common functions out of ice_main.c part 1/7 (Jonathan Toppins) [1644403] - [netdrv] ice: fix changing of ring descriptor size (ethtool -G) (Jonathan Toppins) [1644403] - [netdrv] ice: Update to capabilities admin queue command (Jonathan Toppins) [1644403] - [netdrv] ice: Query the Tx scheduler node before adding it (Jonathan Toppins) [1644403] - [netdrv] ice: Update comment for ice_fltr_mgmt_list_entry (Jonathan Toppins) [1644403] - [netdrv] ice: update fw version check logic (Jonathan Toppins) [1644403] - [netdrv] ice: update branding strings and supported device ids (Jonathan Toppins) [1644403] - [netdrv] ice: replace unnecessary memcpy with direct assignment (Jonathan Toppins) [1644403] - [netdrv] ice: use [sr]q.count when checking if queue is initialized (Jonathan Toppins) [1644403] - [netdrv] ice: remove ndo_poll_controller (Jonathan Toppins) [1644403] - [fs] fanotify: fix handling of events on child sub-directory (Miklos Szeredi) [1652432] - [fs] fsnotify: generalize handling of extra event flags (Miklos Szeredi) [1652432] - [netdrv] net: hns3: add common validation in hclge_dcb (Xiaojun Tan) [1640945] - [netdrv] net: hns3: fix for multiple unmapping DMA problem (Xiaojun Tan) [1640945] - [netdrv] net: hns3: rename hns_nic_dma_unmap (Xiaojun Tan) [1640945] - [netdrv] net: hns3: add handling for big TX fragment (Xiaojun Tan) [1640945] - [netdrv] net: hns3: move DMA map into hns3_fill_desc (Xiaojun Tan) [1640945] - [netdrv] net: hns3: remove hns3_fill_desc_tso (Xiaojun Tan) [1640945] - [netdrv] net: hns3: Resume promisc mode and vlan filter status after loopback test (Xiaojun Tan) [1640945] - [netdrv] net: hns3: Resume promisc mode and vlan filter status after reset (Xiaojun Tan) [1640945] - [netdrv] net: hns3: Enable promisc mode when mac vlan table is full (Xiaojun Tan) [1640945] - [netdrv] net: hns3: Fix for rx vlan id handle to support Rev 0x21 hardware (Xiaojun Tan) [1640945] - [netdrv] net: hns3: Add egress/ingress vlan filter for revision 0x21 (Xiaojun Tan) [1640945] - [netdrv] net: hns3: Optimize for unicast mac vlan table (Xiaojun Tan) [1640945] - [netdrv] net: hns3: Fix loss of coal configuration while doing reset (Xiaojun Tan) [1640945] - [netdrv] net: hns3: Modify hns3_get_max_available_channels (Xiaojun Tan) [1640945] - [netdrv] net: hns3: Change return type of hclge_tm_schd_info_update() (Xiaojun Tan) [1640945] - [netdrv] net: hns3: Fix for netdev not up problem when setting mtu (Xiaojun Tan) [1640945] - [netdrv] net: hns3: Fix for packet buffer setting bug (Xiaojun Tan) [1640945] - [netdrv] net: hns3: Set extra mac address of pause param for HW (Xiaojun Tan) [1640945] - [netdrv] net: hns3: Fix speed/duplex information loss problem when executing ethtool ethx cmd of VF (Xiaojun Tan) [1640945] - [netdrv] net: hns3: Add get_media_type ops support for VF (Xiaojun Tan) [1640945] - [netdrv] net: hns3: Remove print messages for error packet (Xiaojun Tan) [1640945] - [netdrv] net: hns3: Add nic state check before calling netif_tx_wake_queue (Xiaojun Tan) [1640945] - [netdrv] net: hns3: Add handle for default case (Xiaojun Tan) [1640945] - [netdrv] net: hns3: Unify the prefix of vf functions (Xiaojun Tan) [1640945] - [netdrv] net: hns3: Fix tqp array traversal condition for vf (Xiaojun Tan) [1640945] - [netdrv] net: hns3: Fix ets validate issue (Xiaojun Tan) [1640945] - [netdrv] net: hns3: Fix parameter type for q_id in hclge_tm_q_to_qs_map_cfg() (Xiaojun Tan) [1640945] - [netdrv] net: hns3: Fix client initialize state issue when roce client initialize failed (Xiaojun Tan) [1640945] - [netdrv] net: hns3: Clear client pointer when initialize client failed or unintialize finished (Xiaojun Tan) [1640945] - [netdrv] net: hns3: Fix cmdq registers initialization issue for vf (Xiaojun Tan) [1640945] - [netdrv] net: hns3: Fix for setting speed for phy failed problem (Xiaojun Tan) [1640945] - [netdrv] net: hns3: Check hdev state when getting link status (Xiaojun Tan) [1640945] - [netdrv] net: hns3: Set STATE_DOWN bit of hdev state when stopping net (Xiaojun Tan) [1640945] - [netdrv] net: hns3: Remove packet statistics of public (Xiaojun Tan) [1640945] - [netdrv] net: hns3: Remove tx budget to clean more TX descriptors in a napi (Xiaojun Tan) [1640945] - [netdrv] net: hns3: Refine hns3_get_link_ksettings() (Xiaojun Tan) [1640945] - [netdrv] net: hns3: Remove redundant codes of query advertised flow control abilitiy (Xiaojun Tan) [1640945] - [netdrv] net: hns3: Change the dst mac addr of loopback packet (Xiaojun Tan) [1640945] - [netdrv] net: hns3: Only update mac configuation when necessary (Xiaojun Tan) [1640945] - [netdrv] net: hns3: Preserve vlan 0 in hardware table (Xiaojun Tan) [1640945] - [netdrv] net: hns3: Fix ping exited problem when doing lp selftest (Xiaojun Tan) [1640945] - [netdrv] net: hns3: Fix for loopback selftest failed problem (Xiaojun Tan) [1640945] - [netdrv] net: hns3: Fix error of checking used vlan id (Xiaojun Tan) [1640945] - [netdrv] net: hns3: Fix for multicast failure (Xiaojun Tan) [1640945] - [netdrv] net: hns3: Fix for vf vlan delete failed problem (Xiaojun Tan) [1640945] - [netdrv] net: hns3: modify variable type in hns3_nic_reuse_page (Xiaojun Tan) [1640945] - [netdrv] net: hns3: Add vlan filter setting by ethtool command -K (Xiaojun Tan) [1640945] - [netdrv] net: hns3: Set tx ring' tc info when netdev is up (Xiaojun Tan) [1640945] - [netdrv] net: hns3: Fix desc num set to default when setting channel (Xiaojun Tan) [1640945] - [netdrv] net: hns3: Fix for information of phydev lost problem when down/up (Xiaojun Tan) [1640945] - [netdrv] net: hns3: Add support for serdes loopback selftest (Xiaojun Tan) [1640945] - [netdrv] net: hns3: Refine the MSIX allocation for PF (Xiaojun Tan) [1640945] - [netdrv] net: hns3: Fix MSIX allocation issue for VF (Xiaojun Tan) [1640945] - [netdrv] net: hns3: fix return value error while hclge_cmd_csq_clean failed (Xiaojun Tan) [1640945] - [netdrv] net: hns3: Modify inconsistent bit mask macros (Xiaojun Tan) [1640945] - [netdrv] net: hns3: Fix for using wrong mask and shift in hclge_get_ring_chain_from_mbx (Xiaojun Tan) [1640945] - [netdrv] net: hns3: Correct reset event status register (Xiaojun Tan) [1640945] - [netdrv] net: hns3: Prevent to request reset frequently (Xiaojun Tan) [1640945] - [netdrv] net: hns3: Prevent sending command during global or core reset (Xiaojun Tan) [1640945] - [netdrv] net: hns3: Add configure for mac minimal frame size (Xiaojun Tan) [1640945] - [netdrv] net: hns3: Fix for l4 checksum offload bug (Xiaojun Tan) [1640945] - [netdrv] net: hns3: Fix for waterline not setting correctly (Xiaojun Tan) [1640945] - [netdrv] net: hns3: Fix tc setup when netdev is first up (Xiaojun Tan) [1640945] - [netdrv] net: hns3: modify hnae_ to hnae3_ (Xiaojun Tan) [1640945] - [netdrv] net: hns3: simplify hclge_cmd_csq_clean (Xiaojun Tan) [1640945] - [netdrv] net: hns3: remove some redundant assignments (Xiaojun Tan) [1640945] - [netdrv] net: hns3: remove back in struct hclge_hw (Xiaojun Tan) [1640945] - [netdrv] net: hns3: add unlikely for error check (Xiaojun Tan) [1640945] - [netdrv] net: hns3: add l4_type check for both ipv4 and ipv6 (Xiaojun Tan) [1640945] - [netdrv] net: hns3: add vector status check before free vector (Xiaojun Tan) [1640945] - [netdrv] net: hns3: rename the interface for init_client_instance and uninit_client_instance (Xiaojun Tan) [1640945] - [netdrv] net: hns3: remove hclge_get_vector_index from hclge_bind_ring_with_vector (Xiaojun Tan) [1640945] - [kernel] redhat: Enable -Werror for architectures (Laura Abbott) [1582754] - [drm] drm/atomic_helper: Remove dangling variable (Laura Abbott) [1582754] - [s390] s390/tools: fix gcc 8 stringop-truncation warnings (Laura Abbott) [1582754] - [tty] kgdboc: Fix restrict error (Laura Abbott) [1582754] - [misc] misc: kgdbts: Fix restrict error (Laura Abbott) [1582754] - [scsi] scsi: ibmvscsis: Fix a stringop-overflow warning (Laura Abbott) [1582754] - [s390] s390/extmem: fix gcc 8 stringop-overflow warning (Laura Abbott) [1582754] - [s390] s390/perf: fix gcc 8 array-bounds warning (Laura Abbott) [1582754] - [kernel] kdb: Use strscpy with destination buffer size (Laura Abbott) [1582754] - [fs] configfs: replace strncpy with memcpy (Laura Abbott) [1582754] - [fs] kernfs: Replace strncpy with memcpy (Laura Abbott) [1582754] - [kernel] disable stringop truncation warnings for now (Laura Abbott) [1582754] - [sound] ALSA: intel_hdmi: Use strlcpy() instead of strncpy() (Laura Abbott) [1582754] - [sound] ALSA: trident: Suppress gcc string warning (Laura Abbott) [1582754] - [lib] kobject: Replace strncpy with memcpy (Laura Abbott) [1582754] - [tty] TTY: isdn: Replace strncpy with memcpy (Laura Abbott) [1582754] - [target] scsi: target/iscsi: Make iscsit_ta_authentication() respect the output buffer size (Laura Abbott) [1582754] - [fs] fuse: don't need GETATTR after every READ (Miklos Szeredi) [1650538] - [fs] fuse: allow fine grained attr cache invaldation (Miklos Szeredi) [1650538]- [mm] mm: mremap: properly flush TLB before releasing the page (Rafael Aquini) [1645122] {CVE-2018-18281} - [x86] x86/spec_ctrl: Change default Skylake Spectre v2 mitigation to retpoline (Waiman Long) [1651806] - [fs] gfs2: write revokes should traverse sd_ail1_list in reverse (Andreas Grunbacher) [1652763] - [fs] gfs2: Fix marking bitmaps non-full (Andreas Grunbacher) [1652762] - [fs] GFS2: Flush the GFS2 delete workqueue before stopping the kernel threads (Andreas Grunbacher) [1652761] - [fs] gfs2: Don't leave s_fs_info pointing to freed memory in init_sbd (Andreas Grunbacher) [1652759] - [fs] gfs2: Use fs_* functions instead of pr_* function where we can (Andreas Grunbacher) [1652757] - [fs] gfs2: slow the deluge of io error messages (Andreas Grunbacher) [1652757] - [fs] gfs2_meta: ->mount() can get NULL dev_name (Andreas Grunbacher) [1652754] - [powerpc] powerpc/vdso: Correct call frame information (Steve Best) [1651281] - [i2c] i2c: i801: Add support for Intel Ice Lake (David Arcari) [1637435] - [usb] xhci: Add quirk to workaround the errata seen on Cavium Thunder-X2 Soc (Robert Richter) [1649829] - [x86] x86: numa_emulation: fix uniform-split numa emulation (Rafael Aquini) [1620341] - [x86] x86: numa_emulation: introduce uniform split capability (Rafael Aquini) [1620341] - [kernel] perf/hw_breakpoint: Modify breakpoint even if the new attr has disabled set (Mark Salter) [1643174] - [x86] KVM: vmx: hyper-v: don't pass EPT configuration info to vmx_hv_remote_flush_tlb() (Paolo Bonzini) [1636610] - [x86] KVM: x86: support CONFIG_KVM_AMD=y with CONFIG_CRYPTO_DEV_CCP_DD=m (Paolo Bonzini) [1636610] - [x86] kvm: nVMX: fix entry with pending interrupt if APICv is enabled (Paolo Bonzini) [1636610] - [x86] KVM: VMX: hide flexpriority from guest when disabled at the module level (Paolo Bonzini) [1636610] - [x86] KVM: VMX: check for existence of secondary exec controls before accessing (Paolo Bonzini) [1636610] - [x86] KVM: x86: fix L1TF's MMIO GFN calculation (Paolo Bonzini) [1636610] - [tools] tools/kvm_stat: cut down decimal places in update interval dialog (Paolo Bonzini) [1636610] - [x86] KVM: nVMX: Fix emulation of VM_ENTRY_LOAD_BNDCFGS (Paolo Bonzini) [1636610] - [x86] KVM: x86: Do not use kvm_x86_ops->mpx_supported() directly (Paolo Bonzini) [1636610] - [x86] KVM: nVMX: Do not expose MPX VMX controls when guest MPX disabled (Paolo Bonzini) [1636610] - [x86] KVM: x86: never trap MSR_KERNEL_GS_BASE (Paolo Bonzini) [1636610] - [x86] KVM: LAPIC: Fix pv ipis out-of-bounds access (Paolo Bonzini) [1636610] - [x86] KVM: nVMX: Fix loss of pending IRQ/NMI before entering L2 (Paolo Bonzini) [1636610] - [tools] tools/kvm_stat: re-animate display of dead guests (Paolo Bonzini) [1636610] - [tools] tools/kvm_stat: indicate dead guests as such (Paolo Bonzini) [1636610] - [tools] tools/kvm_stat: handle guest removals more gracefully (Paolo Bonzini) [1636610] - [tools] tools/kvm_stat: don't reset stats when setting PID filter for debugfs (Paolo Bonzini) [1636610] - [tools] tools/kvm_stat: fix updates for dead guests (Paolo Bonzini) [1636610] - [tools] tools/kvm_stat: fix handling of invalid paths in debugfs provider (Paolo Bonzini) [1636610] - [tools] tools/kvm_stat: fix python3 issues (Paolo Bonzini) [1636610] - [x86] KVM: x86: Unexport x86_emulate_instruction() (Paolo Bonzini) [1636610] - [x86] KVM: x86: Rename emulate_instruction() to kvm_emulate_instruction() (Paolo Bonzini) [1636610] - [x86] KVM: x86: Do not re-{try, execute} after failed emulation in L2 (Paolo Bonzini) [1636610] - [x86] KVM: x86: Default to not allowing emulation retry in kvm_mmu_page_fault (Paolo Bonzini) [1636610] - [x86] KVM: x86: Merge EMULTYPE_RETRY and EMULTYPE_ALLOW_REEXECUTE (Paolo Bonzini) [1636610] - [x86] KVM: x86: Invert emulation re-execute behavior to make it opt-in (Paolo Bonzini) [1636610] - [x86] KVM: x86: SVM: Set EMULTYPE_NO_REEXECUTE for RSM emulation (Paolo Bonzini) [1636610] - [x86] KVM: VMX: Do not allow reexecute_instruction() when skipping MMIO instr (Paolo Bonzini) [1636610] - [x86] KVM: SVM: remove unused variable dst_vaddr_end (Paolo Bonzini) [1636610] - [x86] KVM: nVMX: avoid redundant double assignment of nested_run_pending (Paolo Bonzini) [1636610] - [x86] KVM: nVMX: Fix bad cleanup on error of get/set nested state IOCTLs (Paolo Bonzini) [1636610] - [tools] kvm: selftests: Add platform_info_test (Paolo Bonzini) [1636610] - [x86] KVM: x86: Control guest reads of MSR_PLATFORM_INFO (Paolo Bonzini) [1636610] - [x86] KVM: x86: Turbo bits in MSR_PLATFORM_INFO (Paolo Bonzini) [1636610] - [x86] nVMX x86: Check VPID value on vmentry of L2 guests (Paolo Bonzini) [1636610] - [x86] nVMX x86: check posted-interrupt descriptor addresss on vmentry of L2 (Paolo Bonzini) [1636610] - [x86] KVM: nVMX: Wake blocked vCPU in guest-mode if pending interrupt in virtual APICv (Paolo Bonzini) [1636610] - [x86] KVM: VMX: check nested state and CR4.VMXE against SMM (Paolo Bonzini) [1636610] - [x86] kvm: x86: make kvm_{load|put}_guest_fpu() static (Paolo Bonzini) [1636610] - [x86] x86/hyper-v: rename ipi_arg_{ex, non_ex} structures (Paolo Bonzini) [1636610] - [x86] KVM: VMX: use preemption timer to force immediate VMExit (Paolo Bonzini) [1636610] - [x86] KVM: VMX: modify preemption timer bit only when arming timer (Paolo Bonzini) [1636610] - [x86] KVM: VMX: immediately mark preemption timer expired only for zero value (Paolo Bonzini) [1636610] - [x86] KVM: SVM: Switch to bitmap_zalloc() (Paolo Bonzini) [1636610] - [lib] bitmap: Add bitmap_alloc(), bitmap_zalloc() and bitmap_free() (Paolo Bonzini) [1636610] - [x86] KVM/MMU: Fix comment in walk_shadow_page_lockless_end() (Paolo Bonzini) [1636610] - [tools] kvm: selftests: use -pthread instead of -lpthread (Paolo Bonzini) [1636610] - [tools] kvm: selftest: add dirty logging test (Paolo Bonzini) [1636610] - [tools] kvm: selftest: pass in extra memory when create vm (Paolo Bonzini) [1636610] - [tools] kvm: selftest: include the tools headers (Paolo Bonzini) [1636610] - [tools] kvm: selftest: unify the guest port macros (Paolo Bonzini) [1636610] - [x86] KVM: x86: don't reset root in kvm_mmu_setup() (Paolo Bonzini) [1636610] - [x86] kvm: mmu: Don't read PDPTEs when paging is not enabled (Paolo Bonzini) [1636610] - [x86] x86/kvm/lapic: always disable MMIO interface in x2APIC mode (Paolo Bonzini) [1636610] - [s390] KVM: s390: Make huge pages unavailable in ucontrol VMs (Paolo Bonzini) [1636610] - [s390] s390/mm: Check for valid vma before zapping in gmap_discard (Paolo Bonzini) [1636610] - [tools] selftests: add headers_install to lib.mk (Paolo Bonzini) [1636610] - [tools] selftests: kselftest: Remove outdated comment (Paolo Bonzini) [1636610] - [tools] selftests: android: move config up a level (Paolo Bonzini) [1636610] - [md] md: Avoid namespace collision with bitmap API (Paolo Bonzini) [1636610]- [cpufreq] cpufreq / CPPC: Add cpuinfo_cur_freq support for CPPC (Prarit Bhargava) [1654361] - [netdrv] nfp: flower: add ipv6 set flow label and hop limit offload (Pablo Cascon) [1651639] - [netdrv] nfp: flower: add ipv4 set ttl and tos offload (Pablo Cascon) [1651639] - [netdrv] ibmvnic: Update driver queues after change in ring size support (Steve Best) [1651947] - [netdrv] ibmvnic: Fix RX queue buffer cleanup (Steve Best) [1651947] - [netdrv] net/ibmnvic: Fix deadlock problem in reset (Steve Best) [1651947] - [netdrv] ibmvnic: fix accelerated VLAN handling (Steve Best) [1651947] - [netdrv] ibmvnic: Add ethtool private flag for driver-defined queue limits (Steve Best) [1651947] - [netdrv] ibmvnic: Introduce driver limits for ring sizes (Steve Best) [1651947] - [netdrv] ibmvnic: Increase maximum queue size limit (Steve Best) [1651947] - [netdrv] ibmvnic: remove ndo_poll_controller (Steve Best) [1651947] - [powerpc] powerpc/powernv/npu: Remove atsd_threshold debugfs setting (Steve Best) [1653661] - [powerpc] powerpc/powernv/npu: Use size-based ATSD invalidates (Steve Best) [1653661] - [powerpc] powerpc/powernv/npu: Reduce eieio usage when issuing ATSD invalidates (Steve Best) [1653661] - [powerpc] powerpc/powernv/npu: Add a debugfs setting to change ATSD threshold (Steve Best) [1653661] - [net] libceph: fall back to sendmsg for slab pages (Ilya Dryomov) [1653395] - [s390] s390/qeth: utilize virtual MAC for Layer2 OSD devices (Philipp Rudo) [1653246] - [fs] vfs: fix FIGETBSZ ioctl on an overlayfs file (Miklos Szeredi) [1651362] - [fs] ovl: fix decode of dir file handle with multi lower layers (Miklos Szeredi) [1651362] - [fs] ovl: fix missing override creds in link of a metacopy upper (Miklos Szeredi) [1651362] - [fs] ovl: automatically enable redirect_dir on metacopy=on (Miklos Szeredi) [1651362] - [fs] ovl: check whiteout in ovl_create_over_whiteout() (Miklos Szeredi) [1651362] - [fs] ovl: fix recursive oi->lock in ovl_link() (Miklos Szeredi) [1651362] - [fs] ovl: fix error handling in ovl_verify_set_fh() (Miklos Szeredi) [1651362] - [mm] mm, memory_hotplug: check zone_movable in has_unmovable_pages (Baoquan He) [1643839] - [netdrv] hv_netvsc: fix vf serial matching with pci slot info (Vitaly Kuznetsov) [1637519] - [netdrv] hv_netvsc: remove ndo_poll_controller (Vitaly Kuznetsov) [1637519] - [netdrv] hv_netvsc: pair VF based on serial number (Vitaly Kuznetsov) [1637519] - [netdrv] hv_netvsc: fix schedule in RCU context (Vitaly Kuznetsov) [1637519] - [pci] PCI: hv: Fix return value check in hv_pci_assign_slots() (Vitaly Kuznetsov) [1637519] - [pci] PCI: hv: support reporting serial number as slot information (Vitaly Kuznetsov) [1637519] - [pci] PCI: hv: Replace GFP_ATOMIC with GFP_KERNEL in new_pcichild_device() (Vitaly Kuznetsov) [1637519] - [char] ipmi: Fix timer race with module unload (Robert Richter) [1649812] - [arm64] arm64: hugetlb: Avoid unnecessary clearing in huge_ptep_set_access_flags (Christoph von Recklinghausen) [1635192] - [arm64] arm64: hugetlb: Fix handling of young ptes (Christoph von Recklinghausen) [1635192] - [mm] mm: Preserve _PAGE_DEVMAP across mprotect() calls (Jeff Moyer) [1647647]- [crypto] crypto: vmx - Fix sleep-in-atomic bugs (Steve Best) [1653662] - [netdrv] net: ena: update driver version from 2.0.1 to 2.0.2 (John Linville) [1634044] - [netdrv] net: ena: fix crash during ena_remove() (John Linville) [1634044] - [netdrv] net: ena: fix crash during failed resume from hibernation (John Linville) [1634044] - [netdrv] net: ena: enable CONFIG_ENA_ETHERNET for aarch64 (John Linville) [1634044] - [netdrv] net: ena: enable Low Latency Queues (John Linville) [1634044] - [netdrv] net: ena: Fix Kconfig dependency on X86 (John Linville) [1634044] - [netdrv] net: ena: fix indentations in ena_defs for better readability (John Linville) [1634044] - [netdrv] net: ena: update driver version to 2.0.1 (John Linville) [1634044] - [netdrv] net: ena: remove redundant parameter in ena_com_admin_init() (John Linville) [1634044] - [netdrv] net: ena: change rx copybreak default to reduce kernel memory pressure (John Linville) [1634044] - [netdrv] net: ena: limit refill Rx threshold to 256 to avoid latency issues (John Linville) [1634044] - [netdrv] net: ena: explicit casting and initialization, and clearer error handling (John Linville) [1634044] - [netdrv] net: ena: use CSUM_CHECKED device indication to report skb's checksum status (John Linville) [1634044] - [netdrv] net: ena: add functions for handling Low Latency Queues in ena_netdev (John Linville) [1634044] - [netdrv] net: ena: add functions for handling Low Latency Queues in ena_com (John Linville) [1634044] - [netdrv] net: ena: introduce Low Latency Queues data structures according to ENA spec (John Linville) [1634044] - [netdrv] net: ena: complete host info to match latest ENA spec (John Linville) [1634044] - [netdrv] net: ena: minor performance improvement (John Linville) [1634044] - [netdrv] net: ena: fix auto casting to boolean (John Linville) [1634044] - [netdrv] net: ena: fix NULL dereference due to untimely napi initialization (John Linville) [1634044] - [netdrv] net: ena: fix rare bug when failed restart/resume is followed by driver removal (John Linville) [1634044] - [netdrv] net: ena: fix warning in rmmod caused by double iounmap (John Linville) [1634044] - [netdrv] net: ena: remove ndo_poll_controller (John Linville) [1634044] - [netdrv] net: ena: fix incorrect usage of memory barriers (John Linville) [1634044] - [netdrv] net: ena: fix missing calls to READ_ONCE (John Linville) [1634044] - [netdrv] net: ena: fix missing lock during device destruction (John Linville) [1634044] - [netdrv] net: ena: fix potential double ena_destroy_device() (John Linville) [1634044] - [netdrv] net: ena: fix device destruction to gracefully free resources (John Linville) [1634044] - [netdrv] net: ena: fix driver when PAGE_SIZE == 64kB (John Linville) [1634044] - [netdrv] net: ena: fix surprise unplug NULL dereference kernel crash (John Linville) [1634044] - [s390] s390/zcrypt: reinit ap queue state machine during device probe (Philipp Rudo) [1653668] - [s390] s390/kdump: Make elfcorehdr size calculation ABI compliant (Philipp Rudo) [1653245] - [s390] s390/kdump: Fix elfcorehdr size calculation (Philipp Rudo) [1653245] - [block] block: fix 32 bit overflow in __blkdev_issue_discard() (Ming Lei) [1638826] - [ata] libata: blacklist SAMSUNG MZ7TD256HAFV-000L9 SSD (Ming Lei) [1638826] - [block] block: copy ioprio in __bio_clone_fast() and bounce (Ming Lei) [1638826] - [trace] kyber: fix wrong strlcpy() size in trace_kyber_latency() (Ming Lei) [1638826] - [block] floppy: fix race condition in __floppy_read_block_0() (Ming Lei) [1638826] - [block] block: make blk_try_req_merge() static (Ming Lei) [1638826] - [block] block: remove dead queue members (Ming Lei) [1638826] - [block] block: clean up dead code that is now redundant (Ming Lei) [1638826] - [nvme] nvme: fix boot hang with only being able to get one IRQ vector (Ming Lei) [1638826] - [block] ide: don't clear special on ide_queue_rq() entry (Ming Lei) [1638826] - [block] null_blk: remove unused nullb device (Ming Lei) [1638826] - [block] ide: don't use req->special (Ming Lei) [1638826] - [block] pd: replace ->special use with private data in the request (Ming Lei) [1638826] - [block] aoe: replace ->special use with private data in the request (Ming Lei) [1638826] - [block] skd_main: don't use req->special (Ming Lei) [1638826] - [block] nullb: remove leftover legacy request code (Ming Lei) [1638826] - [scsi] fnic: fix fnic_scsi_host_{start,end}_tag (Ming Lei) [1638826] - [block] block: remove set but not used variable 'et' (Ming Lei) [1638826] - [block] block: remove the BLKPREP_* values. (Ming Lei) [1638826] - [scsi] scsi: return blk_status_t from device handler ->prep_fn (Ming Lei) [1638826] - [scsi] scsi: return blk_status_t from scsi_init_io and ->init_command (Ming Lei) [1638826] - [scsi] scsi: clean up error handling in scsi_init_io (Ming Lei) [1638826] - [scsi] scsi: push blk_status_t up into scsi_setup_{fs,scsi}_cmnd (Ming Lei) [1638826] - [scsi] scsi: simplify scsi_prep_state_check (Ming Lei) [1638826] - [block] ide: cleanup ->prep_rq calling convention (Ming Lei) [1638826] - [block] block: remove req->timeout_list (Ming Lei) [1638826] - [block] blk-mq: provide a helper to check if a queue is busy (Ming Lei) [1638826] - [block] blk-mq-tag: change busy_iter_fn to return whether to continue or not (Ming Lei) [1638826] - [block] ms_block: remove unused pointer 'set' (Ming Lei) [1638826] - [block] sunvdc: fix compiler warning (Ming Lei) [1638826] - [nvme] nvme: add separate poll queue map (Ming Lei) [1638826] - [block] block: add REQ_HIPRI and inherit it from IOCB_HIPRI (Ming Lei) [1638826] - [nvme] nvme: utilize two queue maps, one for reads and one for writes (Ming Lei) [1638826] - [block] blk-mq: initial support for multiple queue maps (Ming Lei) [1638826] - [block] blk-mq: improve plug list sorting (Ming Lei) [1638826] - [block] blk-mq: cleanup and improve list insertion (Ming Lei) [1638826] - [block] blk-mq: cache request hardware queue mapping (Ming Lei) [1638826] - [block] blk-mq: separate number of hardware queues from nr_cpu_ids (Ming Lei) [1638826] - [block] blk-mq: support multiple hctx maps (Ming Lei) [1638826] - [block] blk-mq: add 'type' attribute to the sysfs hctx directory (Ming Lei) [1638826] - [block] blk-mq: allow software queue to map to multiple hardware queues (Ming Lei) [1638826] - [block] blk-mq: pass in request/bio flags to queue mapping (Ming Lei) [1638826] - [block] blk-mq: provide dummy blk_mq_map_queue_type() helper (Ming Lei) [1638826] - [block] blk-mq: abstract out queue map (Ming Lei) [1638826] - [block] blk-mq: kill q->mq_map (Ming Lei) [1638826] - [kernel] genirq/affinity: Add support for allocating interrupt sets (Ming Lei) [1638826] - [kernel] genirq/affinity: Pass first vector to __irq_build_affinity_masks() (Ming Lei) [1638826] - [kernel] genirq/affinity: Move two stage affinity spreading into a helper function (Ming Lei) [1638826] - [kernel] genirq/affinity: Spread IRQs to all available NUMA nodes (Ming Lei) [1638826] - [block] block: kill request ->cpu member (Ming Lei) [1638826] - [block] block: get rid of q->softirq_done_fn() (Ming Lei) [1638826] - [block] block: get rid of blk_queued_rq() (Ming Lei) [1638826] - [block] blk-merge: kill dead queue lock held check (Ming Lei) [1638826] - [block] block: remove req_no_special_merge() from merging code (Ming Lei) [1638826] - [block] block: kill request slab cache (Ming Lei) [1638826] - [block] block: remove request_list code (Ming Lei) [1638826] - [block] bsg: move bsg-lib parts outside of request queue (Ming Lei) [1638826] - [block] block: kill legacy parts of timeout handling (Ming Lei) [1638826] - [block] block: remove __blk_put_request() (Ming Lei) [1638826] - [block] block: get rid of MQ scheduler ops union (Ming Lei) [1638826] - [block] block: remove dead elevator code (Ming Lei) [1638826] - [block] block: remove legacy IO schedulers (Ming Lei) [1638826] - [block] block: cleanup kick/queued handling (Ming Lei) [1638826] - [block] block: remove non mq parts from the flush code (Ming Lei) [1638826] - [block] block: remove legacy rq tagging (Ming Lei) [1638826] - [block] blk-cgroup: remove legacy queue bypassing (Ming Lei) [1638826] - [block] blk-wbt: kill check for legacy queue type (Ming Lei) [1638826] - [block] block: remove blk_complete_request() (Ming Lei) [1638826] - [block] bsg: convert to use blk-mq (Ming Lei) [1638826] - [block] bsg: provide bsg_remove_queue() helper (Ming Lei) [1638826] - [block] bsg: pass in desired timeout handler (Ming Lei) [1638826] - [s390] dasd: remove dead code (Ming Lei) [1638826] - [block] block: remove q->lld_busy_fn() (Ming Lei) [1638826] - [scsi] scsi: kill off the legacy IO path (Ming Lei) [1638826] - [scsi] scsi: provide mq_ops->busy() hook (Ming Lei) [1638826] - [block] blk-mq: provide mq_ops->busy() hook (Ming Lei) [1638826] - [block] blk-mq: remove legacy check in queue blk_freeze_queue() (Ming Lei) [1638826] - [block] blk-mq: remove the request_list usage (Ming Lei) [1638826] - [block] ide: convert to blk-mq (Ming Lei) [1638826] - [block] mspro_block: convert to blk-mq (Ming Lei) [1638826] - [block] ms_block: convert to blk-mq (Ming Lei) [1638826] - [block] sunvdc: convert to blk-mq (Ming Lei) [1638826] - [block] null_blk: Add conventional zone configuration for zoned support (Ming Lei) [1638826] - [ata] libata: Apply NOLPM quirk for SAMSUNG MZ7TD256HAFV-000L9 (Ming Lei) [1638826] - [block] block, bfq: fix asymmetric scenarios detection (Ming Lei) [1638826] - [cdrom] gdrom: fix mistake in assignment of error (Ming Lei) [1638826] - [block] blk-mq: place trace_block_getrq() in correct place (Ming Lei) [1638826] - [block] block: Introduce blk_revalidate_disk_zones() (Ming Lei) [1638826] - [block] block: add a report_zones method (Ming Lei) [1638826] - [block] block: Expose queue nr_zones in sysfs (Ming Lei) [1638826] - [block] block: Improve zone reset execution (Ming Lei) [1638826] - [block] block: Introduce BLKGETNRZONES ioctl (Ming Lei) [1638826] - [block] block: Introduce BLKGETZONESZ ioctl (Ming Lei) [1638826] - [block] block: Limit allocation of zone descriptors for report zones (Ming Lei) [1638826] - [block] block: Introduce blkdev_nr_zones() helper (Ming Lei) [1638826] - [scsi] scsi: sd_zbc: Fix sd_zbc_check_zones() error checks (Ming Lei) [1638826] - [scsi] scsi: sd_zbc: Reduce boot device scan and revalidate time (Ming Lei) [1638826] - [scsi] scsi: sd_zbc: Rearrange code (Ming Lei) [1638826] - [scsi] scsi: sd_zbc: Remove an assignment from sd_zbc_setup_report_cmnd() (Ming Lei) [1638826] - [scsi] scsi: sd: don't crash the host on invalid commands (Ming Lei) [1638826] - [pci] PCI/MSI: Warn and return error if driver enables MSI/MSI-X twice (Ming Lei) [1638826] - [fs] f2fs: remove request_list check in is_idle() (Ming Lei) [1638826] - [scsi] scsi: osd: initiator should use mq variant of request ending (Ming Lei) [1638826] - [scsi] scsi: fnic: replace gross legacy tag hack with blk-mq hack (Ming Lei) [1638826] - [infiniband] ib_srp: Remove WARN_ON in srp_terminate_io() (Ming Lei) [1638826] - [scsi] scsi: ufs: Disable blk-mq for now (Ming Lei) [1638826] - [block] sx8: convert to blk-mq (Ming Lei) [1638826] - [block] z2ram: convert to blk-mq (Ming Lei) [1638826] - [cdrom] gdrom: convert to blk-mq (Ming Lei) [1638826] - [block] floppy: convert to blk-mq (Ming Lei) [1638826] - [block] ataflop: convert to blk-mq (Ming Lei) [1638826] - [block] ataflop: fix error handling during setup (Ming Lei) [1638826] - [block] ataflop: fold headers into C file (Ming Lei) [1638826] - [block] amiflop: convert to blk-mq (Ming Lei) [1638826] - [block] amiflop: clean up on errors during setup (Ming Lei) [1638826] - [block] amiflop: fold headers into C file (Ming Lei) [1638826] - [block] swim3: convert to blk-mq (Ming Lei) [1638826] - [block] swim3: add real error handling in setup (Ming Lei) [1638826] - [block] swim: convert to blk-mq (Ming Lei) [1638826] - [block] swim: fix cleanup on setup error (Ming Lei) [1638826] - [mtd] mtd_blkdevs: convert to blk-mq (Ming Lei) [1638826] - [block] xsysace: convert to blk-mq (Ming Lei) [1638826] - [block] paride: convert pf to blk-mq (Ming Lei) [1638826] - [block] paride: convert pd to blk-mq (Ming Lei) [1638826] - [block] paride: convert pcd to blk-mq (Ming Lei) [1638826] - [block] ps3disk: convert to blk-mq (Ming Lei) [1638826] - [block] blk-mq: provide helper for setting up an SQ queue and tag set (Ming Lei) [1638826] - [block] null_blk: remove set but not used variable 'q' (Ming Lei) [1638826] - [cdrom] cdrom: don't attempt to fiddle with cdo->capability (Ming Lei) [1638826] - [block] block: remove bogus check for queue_lock assignment (Ming Lei) [1638826] - [block] null_blk: remove legacy IO path (Ming Lei) [1638826] - [block] um: Convert ubd driver to blk-mq (Ming Lei) [1638826] - [block] skd: fixup usage of legacy IO API (Ming Lei) [1638826] - [block] aoe: convert aoeblk to blk-mq (Ming Lei) [1638826] - [block] ide: remove redundant variables queue_run_ms and left (Ming Lei) [1638826] - [scsi] scsi: core: scsi_io_completion convert BUGs to WARNs (Ming Lei) [1638826] - [scsi] scsi: core: scsi_io_completion hints on fastpath (Ming Lei) [1638826] - [scsi] scsi: core: add scsi_io_completion_reprep helper (Ming Lei) [1638826] - [scsi] scsi: core: add scsi_io_completion_action helper (Ming Lei) [1638826] - [scsi] scsi: core: add scsi_io_completion_nz_result function (Ming Lei) [1638826] - [scsi] scsi: core: scsi_io_completion: rename variables (Ming Lei) [1638826] - [scsi] scsi: core: scsi_io_completion: comment on end_request return (Ming Lei) [1638826] - [scsi] scsi: core: use blk_mq_run_hw_queues in scsi_kick_queue (Ming Lei) [1638826] - [scsi] scsi: sg: remove bad blk_end_request_all() call (Ming Lei) [1638826] - [block] blk-mq: complete req in softirq context in case of single queue (Ming Lei) [1638826] - [block] block, bfq: improve asymmetric scenarios detection (Ming Lei) [1638826] - [block] block: remove redundant 'default n' from Kconfig-s (Ming Lei) [1638826] - [block] blk-mq-debugfs: Also show requests that have not yet been started (Ming Lei) [1638826] - [block] block: Finish renaming REQ_DISCARD into REQ_OP_DISCARD (Ming Lei) [1638826] - [block] kyber: fix integer overflow of latency targets on 32-bit (Ming Lei) [1638826] - [block] kyber: add tracepoints (Ming Lei) [1638826] - [block] kyber: implement improved heuristics (Ming Lei) [1638826] - [block] kyber: don't make domain token sbitmap larger than necessary (Ming Lei) [1638826] - [block] block: export blk_stat_enable_accounting() (Ming Lei) [1638826] - [block] block: move call of scheduler's ->completed_request() hook (Ming Lei) [1638826] - [block] blk-mq: Enable support for runtime power management (Ming Lei) [1638826] - [block] block: Make blk_get_request() block for non-PM requests while suspended (Ming Lei) [1638826] - [block] block: Allow unfreezing of a queue while requests are in progress (Ming Lei) [1638826] - [lib] percpu-refcount: Introduce percpu_ref_resurrect() (Ming Lei) [1638826] - [block] block: Schedule runtime resume earlier (Ming Lei) [1638826] - [block] block: Split blk_pm_add_request() and blk_pm_put_request() (Ming Lei) [1638826] - [block] block, scsi: Change the preempt-only flag into a counter (Ming Lei) [1638826] - [block] block: Move power management code into a new source file (Ming Lei) [1638826] - [block] Blk-throttle: update to use rbtree with leftmost node cached (Ming Lei) [1638826] - [block] block: use bio_add_page in bio_iov_iter_get_pages (Ming Lei) [1638826] - [block] blok, bfq: do not plug I/O if all queues are weight-raised (Ming Lei) [1638826] - [block] block, bfq: inject other-queue I/O into seeky idle queues on NCQ flash (Ming Lei) [1638826] - [block] block, bfq: correctly charge and reset entity service in all cases (Ming Lei) [1638826]- [rpmspec] redhat: fix bpf_samples build (Jiri Benc) [1611579] - [fs] mnt: fix __detach_mounts infinite loop (Benjamin Coddington) [1628736] - [pci] pcie: Enable Broadom iProc PCIE and mark it is as tech preview (Mark Langsdorf) [1576958] - [pci] PCI/ACPI: Add iProc PCIe MCFG quirk (Mark Langsdorf) [1576958] - [pci] PCI: iproc: Add ACPI/ECAM support (Mark Langsdorf) [1576958] - [pci] PCI: iproc: Remove PAXC slot check to allow VF support (Mark Langsdorf) [1576958] - [pci] PCI: iproc: Reduce inbound/outbound mapping print level (Mark Langsdorf) [1576958] - [pci] PCI: iproc: Reject unconfigured physical functions from PAXC (Mark Langsdorf) [1576958] - [pci] PCI: iproc: Disable MSI parsing in certain PAXC blocks (Mark Langsdorf) [1576958] - [pci] PCI: iproc: Fix up corrupted PAXC root complex config registers (Mark Langsdorf) [1576958] - [pci] PCI: iproc: Activate PAXC bridge quirk for more devices (Mark Langsdorf) [1576958]- [s390] s390/mm: fix mis-accounting of pgtable_bytes (Joe Lawrence) [1644481] - [mm] mm: add mm_pxd_folded checks to pgtable_bytes accounting functions (Joe Lawrence) [1644481] - [mm] mm: introduce mm_[p4d|pud|pmd]_folded (Joe Lawrence) [1644481] - [mm] mm: make the __PAGETABLE_PxD_FOLDED defines non-empty (Joe Lawrence) [1644481] - [x86] x86/cpu/vmware: Do not trace vmware_sched_clock() (Vitaly Kuznetsov) [1650273] - [fs] fuse: fix possibly missed wake-up after abort (Lukas Czerner) [1649244] - [fs] fuse: fix leaked notify reply (Lukas Czerner) [1649244] - [fs] fuse: fix blocked_waitq wakeup (Lukas Czerner) [1649244] - [fs] fuse: set FR_SENT while locked (Lukas Czerner) [1649244] - [fs] fuse: Fix use-after-free in fuse_dev_do_write() (Lukas Czerner) [1649244] - [fs] fuse: Fix use-after-free in fuse_dev_do_read() (Lukas Czerner) [1649244] - [fs] fuse: Add missed unlock_page() to fuse_readpages_fill() (Lukas Czerner) [1649244] - [fs] fuse: Don't access pipe->buffers without pipe_lock() (Lukas Czerner) [1649244] - [fs] fuse: fix initial parallel dirops (Lukas Czerner) [1649244] - [fs] fuse: Fix oops at process_init_reply() (Lukas Czerner) [1649244] - [fs] fuse: umount should wait for all requests (Lukas Czerner) [1649244] - [fs] fuse: fix unlocked access to processing queue (Lukas Czerner) [1649244] - [fs] fuse: fix double request_end() (Lukas Czerner) [1649244] - [fs] fuse: fix use-after-free in fuse_direct_IO() (Lukas Czerner) [1599195]- [firmware] efi: Fix debugobjects warning on 'efi_rts_work' (Waiman Long) [1652190] - [rpmspec] kernel.spec: Do not zip modules on noarch builds (Prarit Bhargava) [1646471] - [iommu] iommu/amd: Clear memory encryption mask from physical address (Gary Hook) [1640384]- [powerpc] powerpc/mm/radix: Only need the Nest MMU workaround for R -> RW transition (Steve Best) [1651276] - [powerpc] powerpc/mm/books3s: Add new pte bit to mark pte temporarily invalid (Steve Best) [1651276] - [powerpc] powerpc/tm: Fix HFSCR bit for no suspend case (Steve Best) [1651275]- [powerpc] powerpc/powernv: Fix concurrency issue with npu->mmio_atsd_usage (Steve Best) [1651267] - [tools] perf tools: Remove ext from struct kmod_path (Jiri Olsa) [1581390] - [tools] perf tools: Add gzip_is_compressed function (Jiri Olsa) [1581390] - [tools] perf tools: Add lzma_is_compressed function (Jiri Olsa) [1581390] - [tools] perf tools: Add is_compressed callback to compressions array (Jiri Olsa) [1581390] - [tools] perf tools: Move the temp file processing into decompress_kmodule (Jiri Olsa) [1581390] - [tools] perf tools: Use compression id in decompress_kmodule() (Jiri Olsa) [1581390] - [tools] perf tools: Store compression id into struct dso (Jiri Olsa) [1581390] - [tools] perf tools: Add compression id into 'struct kmod_path' (Jiri Olsa) [1581390] - [tools] perf tools: Make is_supported_compression() static (Jiri Olsa) [1581390] - [tools] perf tools: Make decompress_to_file() function static (Jiri Olsa) [1581390] - [tools] perf tools: Get rid of dso__needs_decompress() call in __open_dso() (Jiri Olsa) [1581390] - [tools] perf tools: Get rid of dso__needs_decompress() call in symbol__disassemble() (Jiri Olsa) [1581390] - [tools] perf tools: Get rid of dso__needs_decompress() call in read_object_code() (Jiri Olsa) [1581390] - [rpmspec] redhat: Enable kernel-tools (for kvm_stat) on s390x, too (Thomas Huth) [1631222]- [drm] drm/atomic_helper: Stop modesets on unregistered connectors harder (Lyude Paul) [1631575] - [drm] drm/nouveau: Fix nv50_mstc->best_encoder() (Lyude Paul) [1631575] - [drm] drm/atomic_helper: Allow DPMS On<->Off changes for unregistered connectors (Lyude Paul) [1631575] - [drm] drm/i915: Fix intel_dp_mst_best_encoder() (Lyude Paul) [1631575] - [drm] drm/i915: Skip vcpi allocation for MSTB ports that are gone (Lyude Paul) [1631575] - [drm] drm/i915: Don't unset intel_connector->mst_port (Lyude Paul) [1631575] - [drm] drm/atomic_helper: Disallow new modesets on unregistered connectors (Lyude Paul) [1631575] - [s390] s390/qeth: fix HiperSockets sniffer (Philipp Rudo) [1649773] - [s390] s390/qeth: report 25Gbit link speed (Philipp Rudo) [1649772] - [s390] s390/qeth: sanitize strings in debug messages (Philipp Rudo) [1649770] - [s390] s390/qeth: fix initial operstate (Philipp Rudo) [1649769] - [s390] s390/qeth: unregister netdevice only when registered (Philipp Rudo) [1649769] - [powerpc] powerpc/64s: consolidate MCE counter increment (Steve Best) [1633550] - [powerpc] powerpc/64s: move machine check SLB flushing to mm/slb.c (Steve Best) [1633550] - [powerpc] powernv/pseries: consolidate code for mce early handling (Steve Best) [1633550] - [powerpc] powerpc/pseries: Dump the SLB contents on SLB MCE errors (Steve Best) [1633550] - [powerpc] powerpc/pseries: Display machine check error details (Steve Best) [1633550] - [powerpc] powerpc/pseries: Flush SLB contents on SLB MCE errors (Steve Best) [1633550] - [powerpc] powerpc/pseries: Define MCE error event section (Steve Best) [1633550] - [powerpc] powerpc/pseries: Avoid using the size greater than RTAS_ERROR_LOG_MAX (Steve Best) [1633550] - [powerpc] powerpc/pseries: Defer the logging of rtas error to irq work queue (Steve Best) [1633550] - [powerpc] powerpc/pseries: Fix endianness while restoring of r3 in MCE handler (Steve Best) [1633550] - [cdrom] cdrom: fix improper type cast, which can leat to information leak (Maurizio Lombardi) [1650476]- [drm] drm/amdgpu/pm: Fix potential Spectre v1 (Rob Clark) [1637115] - [drm] drm/i915/kvmgt: Fix potential Spectre v1 (Rob Clark) [1637115] - [fs] gfs2: Fix metadata read-ahead during truncate (2) (Andreas Grunbacher) [1647982] - [block] block: make sure writesame bio is aligned with logical block size (Ming Lei) [1648750] - [block] block: cleanup __blkdev_issue_discard() (Ming Lei) [1648750] - [block] block: make sure discard bio is aligned with logical block size (Ming Lei) [1648750] - [block] block: Clear kernel memory before copying to user (Ming Lei) [1648752] - [block] block: respect virtual boundary mask in bvecs (Ming Lei) [1648756] - [block] xen: don't include from and (Ming Lei) [1648756] - [block] block: remove ARCH_BIOVEC_PHYS_MERGEABLE (Ming Lei) [1648756] - [block] xen: provide a prototype for xen_biovec_phys_mergeable in xen.h (Ming Lei) [1648756] - [block] xen: remove the xen_biovec_phys_mergeable export (Ming Lei) [1648756] - [block] arm: remove the unused BIOVEC_MERGEABLE define (Ming Lei) [1648756] - [block] block: don't include bug.h from bio.h (Ming Lei) [1648756] - [block] block: don't include io.h from bio.h (Ming Lei) [1648756] - [block] block: remove bvec_to_phys (Ming Lei) [1648756] - [block] block: merge BIOVEC_SEG_BOUNDARY into biovec_phys_mergeable (Ming Lei) [1648756] - [block] block: add a missing BIOVEC_SEG_BOUNDARY check in bio_add_pc_page (Ming Lei) [1648756] - [block] block: simplify BIOVEC_PHYS_MERGEABLE (Ming Lei) [1648756] - [block] block: move req_gap_back_merge to blk.h (Ming Lei) [1648756] - [block] block: move req_gap_{back,front}_merge to blk-merge.c (Ming Lei) [1648756] - [block] block: move integrity_req_gap_{back,front}_merge to blk.h (Ming Lei) [1648756] - [fs] gfs2: Fix iomap buffer head reference counting bug (Andreas Grunbacher) [1647073] - [scsi] qla2xxx: Update driver version to 10.00.00.07.08.0-k1 (Himanshu Madhani) [1615896] - [scsi] scsi: qla2xxx: Initialize port speed to avoid setting lower speed (Himanshu Madhani) [1615896] - [scsi] scsi: qla2xxx: Fix incorrect port speed being set for FC adapters (Himanshu Madhani) [1615896] - [block] block: brd: associate with queue until adding disk (Ming Lei) [1644602] - [block] block: call rq_qos_exit() after queue is frozen (Ming Lei) [1641558] - [block] block: fix the DISCARD request merge (Ming Lei) [1646776] - [block] blk-mq: fallback to previous nr_hw_queues when updating fails (Ming Lei) [1642218] - [block] blk-mq: realloc hctx when hw queue is mapped to another node (Ming Lei) [1642218] - [block] blk-mq: change gfp flags to GFP_NOIO in blk_mq_realloc_hw_ctxs (Ming Lei) [1642218] - [block] blk-mq: adjust debugfs and sysfs register when updating nr_hw_queues (Ming Lei) [1642218] - [block] block: remove bio_rewind_iter() (Ming Lei) [1642208]- [fs] jbd2: fix use after free in jbd2_log_do_checkpoint() (Lukas Czerner) [1644694] - [fs] ext4: initialize retries variable in ext4_da_write_inline_data_begin() (Lukas Czerner) [1644694] - [fs] ext4: fix build error when DX_DEBUG is defined (Lukas Czerner) [1644694]- [pinctrl] pinctrl: intel: Add Ice Lake PCH pin controller support (David Arcari) [1483413] - [netdrv] nfp: flower: fix vlan match by checking both vlan id and vlan pcp (Pablo Cascon) [1645220] - [netdrv] nfp: flower: reject tunnel encap with ipv6 outer headers for offloading (Pablo Cascon) [1646644] - [netdrv] nfp: populate bus-info on representors (Pablo Cascon) [1643998] - [powerpc] KVM: PPC: Validate TCEs against preregistered memory page sizes (David Gibson) [1625821] - [powerpc] KVM: PPC: Inform the userspace about TCE update failures (David Gibson) [1625821] - [powerpc] KVM: PPC: Book3S: Fix guest DMA when guest partially backed by THP pages (David Gibson) [1625821]- [kernel] locking/lockdep: Fix debug_locks off performance problem (Waiman Long) [1647560] - [kernel] locking/lockdep: Remove duplicated 'lock_class_ops' percpu array (Waiman Long) [1647560] - [kernel] locking/lockdep: Make class->ops a percpu counter and move it under CONFIG_DEBUG_LOCKDEP=y (Waiman Long) [1647560] - [kernel] locking/lockdep: Add a faster path in __lock_release() (Waiman Long) [1647560] - [kernel] locking/lockdep: Eliminate redundant IRQs check in __lock_acquire() (Waiman Long) [1647560] - [kernel] locking/lockdep: Remove add_chain_cache_classes() (Waiman Long) [1647560] - [fs] gfs2: Put bitmap buffers in put_super (Andreas Grunbacher) [1647073] - [scsi] scsi: hpsa: limit transfer length to 1MB, not 512kB (Joseph Szczypek) [1643956] - [netdrv] nfp: report FW vNIC stats in interface stats (Pablo Cascon) [1645032] - [rpmspec] spec: Add bpftool debuginfo package (Jiri Olsa) [1633018] - [crypto] crypto: chelsio: Fix memory corruption in DMA Mapped buffers (Arjun Vynipadath) [1631750] - [cdrom] cdrom: Fix info leak/OOB read in cdrom_ioctl_drive_status (Maurizio Lombardi) [1627732] {CVE-2018-16658}- [kernel] srcu: Make early-boot call_srcu() reuse workqueue lists (Waiman Long) [1644375] - [tools] rcutorture: Test early boot call_srcu() (Waiman Long) [1644375] - [kernel] srcu: Make call_srcu() available during very early boot (Waiman Long) [1644375] - [kernel] rcu: Convert rcu_state.ofl_lock to raw_spinlock_t (Waiman Long) [1644375] - [kernel] rcu: Remove obsolete ->dynticks_fqs and ->cond_resched_completed (Waiman Long) [1644375] - [kernel] rcu: Switch ->dynticks to rcu_data structure, remove rcu_dynticks (Waiman Long) [1644375] - [kernel] rcu: Switch dyntick nesting counters to rcu_data structure (Waiman Long) [1644375] - [kernel] rcu: Switch urgent quiescent-state requests to rcu_data structure (Waiman Long) [1644375] - [kernel] rcu: Switch lazy counts to rcu_data structure (Waiman Long) [1644375] - [kernel] rcu: Switch last accelerate/advance to rcu_data structure (Waiman Long) [1644375] - [kernel] rcu: Switch ->tick_nohz_enabled_snap to rcu_data structure (Waiman Long) [1644375] - [kernel] rcu: Merge rcu_dynticks structure into rcu_data structure (Waiman Long) [1644375] - [kernel] rcu: Remove unused rcu_dynticks_snap() from Tiny RCU (Waiman Long) [1644375] - [kernel] rcu: Convert "1UL << x" to "BIT(x)" (Waiman Long) [1644375] - [kernel] rcu: Avoid resched_cpu() when rescheduling the current CPU (Waiman Long) [1644375] - [kernel] rcu: More aggressively enlist scheduler aid for nohz_full CPUs (Waiman Long) [1644375] - [kernel] rcu: Compute jiffies_till_sched_qs from other kernel parameters (Waiman Long) [1644375] - [kernel] rcu: Provide functions for determining if call_rcu() has been invoked (Waiman Long) [1644375] - [kernel] rcu: Eliminate ->rcu_qs_ctr from the rcu_dynticks structure (Waiman Long) [1644375] - [kernel] rcu: Motivate Tiny RCU forward progress (Waiman Long) [1644375] - [kernel] rcutorture: Dump reader protection sequence if failures or close calls (Waiman Long) [1644375] - [kernel] rcu: Provide improved interrupt-from-idle check in rcu_check_callbacks() (Waiman Long) [1644375] - [kernel] rcu: Make need_resched() respond to urgent RCU-QS needs (Waiman Long) [1644375] - [kernel] rcu: Inline _rcu_barrier() into its sole remaining caller (Waiman Long) [1644375] - [kernel] rcu: Define rcu_all_qs() only in !PREEMPT builds (Waiman Long) [1644375] - [kernel] rcu: Remove !PREEMPT code from rcu_note_voluntary_context_switch() (Waiman Long) [1644375] - [kernel] rcu: Clean up flavor-related definitions and comments in update.c (Waiman Long) [1644375] - [kernel] rcu: Clean up flavor-related definitions and comments in tree_plugin.h (Waiman Long) [1644375] - [kernel] rcu: Clean up flavor-related definitions and comments in tree_exp.h (Waiman Long) [1644375] - [kernel] rcu: Clean up flavor-related definitions and comments in tree.c (Waiman Long) [1644375] - [kernel] rcu: Clean up flavor-related definitions and comments in tiny.c (Waiman Long) [1644375] - [kernel] rcu: Clean up flavor-related definitions and comments in srcutree.h (Waiman Long) [1644375] - [kernel] rcu: Clean up flavor-related definitions and comments in rcutorture.c (Waiman Long) [1644375] - [kernel] rcu: Clean up flavor-related definitions and comments in rcu.h (Waiman Long) [1644375] - [kernel] rcu: Clean up flavor-related definitions and comments in Kconfig (Waiman Long) [1644375] - [kernel] rcu: Clean up flavor-related definitions and comments in rcupdate_wait.h (Waiman Long) [1644375] - [kernel] rcu: Clean up flavor-related definitions and comments in rculist.h (Waiman Long) [1644375] - [kernel] rcu: Clean up flavor-related definitions and comments in rcupdate.h (Waiman Long) [1644375] - [kernel] rcu: Remove now-unused rcutorture APIs (Waiman Long) [1644375] - [kernel] rcuperf: Remove the "rcu_bh" and "sched" torture types (Waiman Long) [1644375] - [kernel] rcutorture: Remove the "rcu_bh" and "sched" torture types (Waiman Long) [1644375] - [kernel] rcu: Stop testing RCU-bh and RCU-sched (Waiman Long) [1644375] - [kernel] rcutorture: Add RCU-bh and RCU-sched support for extended readers (Waiman Long) [1644375] - [kernel] rcu: Consolidate RCU-sched update-side function definitions (Waiman Long) [1644375] - [kernel] rcu: Consolidate RCU-bh update-side function definitions (Waiman Long) [1644375] - [kernel] rcu: Pull rcu_gp_kthread() FQS loop into separate function (Waiman Long) [1644375] - [kernel] rcu: Inline increment_cpu_stall_ticks() into its sole caller (Waiman Long) [1644375] - [kernel] rcu: Fix typo in force_qs_rnp()'s parameter's parameter (Waiman Long) [1644375] - [kernel] rcu: Eliminate initialization-time use of rsp (Waiman Long) [1644375] - [kernel] rcu: Eliminate RCU-barrier use of rsp (Waiman Long) [1644375] - [kernel] rcu: Eliminate quiescent-state and grace-period-nonstart use of rsp (Waiman Long) [1644375] - [kernel] rcu: Eliminate callback-invocation/invocation use of rsp (Waiman Long) [1644375] - [kernel] rcu: Eliminate grace-period management code use of rsp (Waiman Long) [1644375] - [kernel] rcu: Eliminate stall-warning use of rsp (Waiman Long) [1644375] - [kernel] rcu: Restructure rcu_check_gp_kthread_starvation() (Waiman Long) [1644375] - [kernel] rcu: Simplify rcutorture_get_gp_data() (Waiman Long) [1644375] - [kernel] rcu: Remove for_each_rcu_flavor() flavor-traversal macro (Waiman Long) [1644375] - [kernel] rcu: Remove last non-flavor-traversal rsp local variable from tree_plugin.h (Waiman Long) [1644375] - [kernel] rcu: Remove rcu_data structure's ->rsp field (Waiman Long) [1644375] - [kernel] rcu: Remove rsp parameter from rcu_node tree accessor macros (Waiman Long) [1644375] - [kernel] rcu: Remove rsp parameter from expedited grace-period functions (Waiman Long) [1644375] - [kernel] rcu: Remove rsp parameter from no-CBs CPU functions (Waiman Long) [1644375] - [kernel] rcu: Remove rsp parameter from print_cpu_stall_info() (Waiman Long) [1644375] - [kernel] rcu: Remove rsp parameter from rcu_spawn_one_boost_kthread() (Waiman Long) [1644375] - [kernel] rcu: Remove rsp parameter from dump_blkd_tasks() and friend (Waiman Long) [1644375] - [kernel] rcu: Remove rsp parameter from rcu_print_detail_task_stall() (Waiman Long) [1644375] - [kernel] rcu: Remove rsp parameter from rcu_init_one() and friends (Waiman Long) [1644375] - [kernel] rcu: Remove rsp parameter from rcu_boot_init_percpu_data() and friends (Waiman Long) [1644375] - [kernel] rcu: Remove rsp parameter from _rcu_barrier() and friends (Waiman Long) [1644375] - [kernel] rcu: Remove rsp parameter from __rcu_pending() (Waiman Long) [1644375] - [kernel] rcu: Remove rsp parameter from __call_rcu() and friend (Waiman Long) [1644375] - [kernel] rcu: Remove rsp parameter from __rcu_process_callbacks() (Waiman Long) [1644375] - [kernel] rcu: Remove rsp parameter from rcu_check_gp_start_stall() (Waiman Long) [1644375] - [kernel] rcu: Remove rsp parameter from force-quiescent-state functions (Waiman Long) [1644375] - [kernel] rcu: Remove rsp parameter from rcu_do_batch() (Waiman Long) [1644375] - [kernel] rcu: Remove rsp parameter from CPU hotplug functions (Waiman Long) [1644375] - [kernel] rcu: Remove rsp parameter from rcu_check_quiescent_state() (Waiman Long) [1644375] - [kernel] rcu: Remove rsp parameter from rcu_gp_kthread() and friends (Waiman Long) [1644375] - [kernel] rcu: Remove rsp parameter from rcu_gp_slow() (Waiman Long) [1644375] - [kernel] rcu: Remove rsp parameter from note_gp_changes() (Waiman Long) [1644375] - [kernel] rcu: Remove rsp parameter from __note_gp_changes() (Waiman Long) [1644375] - [kernel] rcu: Remove rsp parameter from rcu_advance_cbs() (Waiman Long) [1644375] - [kernel] rcu: Remove rsp parameter from rcu_accelerate_cbs_unlocked() (Waiman Long) [1644375] - [kernel] rcu: Remove rsp parameter from rcu_accelerate_cbs() (Waiman Long) [1644375] - [kernel] rcu: Remove rsp parameter from rcu_gp_kthread_wake() (Waiman Long) [1644375] - [kernel] rcu: Remove rsp parameter from rcu_future_gp_cleanup() (Waiman Long) [1644375] - [kernel] rcu: Remove rsp parameter from check_cpu_stall() (Waiman Long) [1644375] - [kernel] rcu: Remove rsp parameter from print_cpu_stall() (Waiman Long) [1644375] - [kernel] rcu: Remove rsp parameter from print_other_cpu_stall() (Waiman Long) [1644375] - [kernel] rcu: Remove rsp parameter from rcu_stall_kick_kthreads() (Waiman Long) [1644375] - [kernel] rcu: Remove rsp parameter from rcu_dump_cpu_stacks() (Waiman Long) [1644375] - [kernel] rcu: Remove rsp parameter from rcu_check_gp_kthread_starvation() (Waiman Long) [1644375] - [kernel] rcu: Remove rsp parameter from record_gp_stall_check_time() (Waiman Long) [1644375] - [kernel] rcu: Remove rsp parameter from rcu_get_root() (Waiman Long) [1644375] - [kernel] rcu: Remove rsp parameter from rcu_gp_in_progress() (Waiman Long) [1644375] - [kernel] rcu: Remove rsp parameter from rcu_report_qs_rdp() (Waiman Long) [1644375] - [kernel] rcu: Remove rsp parameter from rcu_report_unblock_qs_rnp() (Waiman Long) [1644375] - [kernel] rcu: Remove rsp parameter from rcu_report_qs_rsp() (Waiman Long) [1644375] - [kernel] rcu: Remove rsp parameter from rcu_report_qs_rnp() (Waiman Long) [1644375] - [kernel] rcu: Remove rcu_data_p pointer to default rcu_data structure (Waiman Long) [1644375] - [kernel] rcu: Remove rcu_state_p pointer to default rcu_state structure (Waiman Long) [1644375] - [kernel] rcu: Remove rcu_state structure's ->rda field (Waiman Long) [1644375] - [kernel] rcu: Eliminate rcu_state structure's ->call field (Waiman Long) [1644375] - [kernel] rcu: Remove RCU_STATE_INITIALIZER() (Waiman Long) [1644375] - [kernel] rcu: Express Tiny RCU updates in terms of RCU rather than RCU-sched (Waiman Long) [1644375] - [kernel] rcu: Define RCU-sched API in terms of RCU for Tree RCU PREEMPT builds (Waiman Long) [1644375] - [kernel] rcu: Fix typo in rcu_get_gp_kthreads_prio() header comment (Waiman Long) [1644375] - [kernel] rcu: Drop "wake" parameter from rcu_report_exp_rdp() (Waiman Long) [1644375] - [kernel] rcu: Update comments and help text for no more RCU-bh updaters (Waiman Long) [1644375] - [kernel] rcu: Define RCU-bh update API in terms of RCU (Waiman Long) [1644375] - [kernel] rcu: Report expedited grace periods at context-switch time (Waiman Long) [1644375] - [kernel] rcu: Apply RCU-bh QSes to RCU-sched and RCU-preempt when safe (Waiman Long) [1644375] - [kernel] rcu: Add warning to detect half-interrupts (Waiman Long) [1644375] - [kernel] rcu: Remove now-unused ->b.exp_need_qs field from the rcu_special union (Waiman Long) [1644375] - [kernel] rcu: Allow processing deferred QSes for exiting RCU-preempt readers (Waiman Long) [1644375] - [kernel] rcutorture: Test extended "rcu" read-side critical sections (Waiman Long) [1644375] - [kernel] rcu: Defer reporting RCU-preempt quiescent states when disabled (Waiman Long) [1644375] - [kernel] rcu: Refactor rcu_{nmi,irq}_{enter,exit}() (Waiman Long) [1644375] - [documentation] doc: Fix broken HTML directive (Waiman Long) [1644375] - [documentation] doc: Update removal of RCU-bh/sched update machinery (Waiman Long) [1644375] - [kernel] rcutorture: Maintain self-propagating CB only during forward-progress test (Waiman Long) [1644375] - [kernel] rcutorture: Check GP completion at stutter end (Waiman Long) [1644375] - [kernel] rcutorture: Print forward-progress test interval on error (Waiman Long) [1644375] - [kernel] rcutorture: Adjust number of reader kthreads per CPU-hotplug operations (Waiman Long) [1644375] - [kernel] rcutorture: Reduce priority of forward-progress testing (Waiman Long) [1644375] - [kernel] rcutorture: Limit reader duration if irq or bh disabled (Waiman Long) [1644375] - [kernel] rcutorture: Increase rcu_read_delay() longdelay_ms (Waiman Long) [1644375] - [kernel] rcutorture: Add self-propagating callback to forward-progress testing (Waiman Long) [1644375] - [kernel] rcutorture: Vary forward-progress test interval (Waiman Long) [1644375] - [kernel] rcutorture: Avoid no-test complaint if too few forward-progress tries (Waiman Long) [1644375] - [kernel] rcutorture: Also use GP sequence to judge forward progress (Waiman Long) [1644375] - [kernel] rcutorture: Add forward-progress tests for RCU grace periods (Waiman Long) [1644375] - [tools] rcutorture: Remove TREE06 and TREE08 from the default test list (Waiman Long) [1644375] - [kernel] rcuperf: Warn on bad perf type for built-in tests (Waiman Long) [1644375] - [kernel] rcutorture: Warn on bad torture type for built-in tests (Waiman Long) [1644375] - [kernel] rcutorture: Force occasional reader waits (Waiman Long) [1644375] - [tools] torture: Stop overwriting Make.out file with obsolete version (Waiman Long) [1644375] - [documentation] doc: Improve rcu_dynticks::dynticks documentation (Waiman Long) [1644375] - [documentation] doc: Fix broken RCU-requirements link to LKML archive (Waiman Long) [1644375] - [documentation] doc: Add design documentation on interruption of NMI handlers (Waiman Long) [1644375] - [kernel] rcutorture: Fix rcu_barrier successes counter (Waiman Long) [1644375] - [kernel] rcutorture: Add support to detect if boost kthread prio is too low (Waiman Long) [1644375] - [kernel] rcutorture: Use monotonic timestamp for stall detection (Waiman Long) [1644375] - [kernel] rcutorture: Make boost test more robust (Waiman Long) [1644375] - [kernel] rcutorture: Disable RT throttling for boost tests (Waiman Long) [1644375] - [kernel] rcutorture: Emphasize testing of single reader protection type (Waiman Long) [1644375] - [kernel] rcutorture: Handle extended read-side critical sections (Waiman Long) [1644375] - [kernel] rcutorture: Make rcu_torture_timer() use rcu_torture_one_read() (Waiman Long) [1644375] - [kernel] rcutorture: Use per-CPU random state for rcu_torture_timer() (Waiman Long) [1644375] - [kernel] rcutorture: Use atomic increment for n_rcu_torture_timers (Waiman Long) [1644375] - [kernel] rcutorture: Extract common code from rcu_torture_reader() (Waiman Long) [1644375] - [kernel] rcuperf: Remove unused torturing_tasks() function (Waiman Long) [1644375] - [kernel] rcu: Remove rcutorture test version and sequence number (Waiman Long) [1644375] - [kernel] rcutorture: Change units of onoff_interval to jiffies (Waiman Long) [1644375] - [kernel] rcu: Assign higher prio to RCU threads if rcutorture is built-in (Waiman Long) [1644375] - [documentation] rculist: Improve documentation for list_for_each_entry_from_rcu() (Waiman Long) [1644375] - [kernel] srcu: Add grace-period number to rcutorture statistics printout (Waiman Long) [1644375] - [kernel] rcu: Print stall-warning NMI dyntick state in hexadecimal (Waiman Long) [1644375] - [maintainers] MAINTAINERS: Update RCU, SRCU, and TORTURE-TEST entries (Waiman Long) [1644375] - [kernel] rcu: Make rcu_seq_diff() more exact (Waiman Long) [1644375] - [documentation] doc: Update synchronize_rcu() definition in whatisRCU.txt (Waiman Long) [1644375] - [kernel] rcu: Check the range of jiffies_till_{first, next}_fqs when setting them (Waiman Long) [1644375] - [kernel] rcu: Add diagnostics for rcutorture writer stall warning (Waiman Long) [1644375] - [kernel] rcu: Add comment to the last sleep in the rcu tasks loop (Waiman Long) [1644375] - [kernel] rcu: Speed up calling of RCU tasks callbacks (Waiman Long) [1644375] - [kernel] rcu: Add comment documenting how rcu_seq_snap works (Waiman Long) [1644375] - [kernel] rcu: Use RCU CPU stall timeout for rcu_check_gp_start_stall() (Waiman Long) [1644375] - [kernel] rcu: Remove __maybe_unused from rcu_cpu_has_callbacks() (Waiman Long) [1644375] - [kernel] rcu: Remove "inline" from rcu_perf_print_module_parms() (Waiman Long) [1644375] - [kernel] rcu: Remove "inline" from rcu_torture_print_module_parms() (Waiman Long) [1644375] - [kernel] rcu: Remove "inline" from panic_on_rcu_stall() and rcu_blocking_is_gp() (Waiman Long) [1644375] - [kernel] rcu: Remove unused local variable "cpu" (Waiman Long) [1644375] - [kernel] rcu: Remove unused rcu_kick_nohz_cpu() function (Waiman Long) [1644375] - [kernel] rcu: Clarify and correct the rcu_preempt_qs() header comment (Waiman Long) [1644375] - [kernel] rcu: Inline rcu_dynticks_momentary_idle() into its sole caller (Waiman Long) [1644375] - [kernel] rcu: Mark task as .need_qs less aggressively (Waiman Long) [1644375] - [kernel] rcu: Improve RCU-tasks naming and comments (Waiman Long) [1644375] - [kernel] rcu: Use pr_fmt to prefix "rcu: " to logging output (Waiman Long) [1644375] - [kernel] rcu: rcupdate.h: Get rid of Sphinx warnings at rcu_pointer_handoff() (Waiman Long) [1644375] - [kernel] rcu: Improve rcu_note_voluntary_context_switch() reporting (Waiman Long) [1644375] - [kernel] rcu: Make rcu_read_unlock_special() static (Waiman Long) [1644375] - [kernel] rcu: Add diagnostics for offline CPUs failing to report QS (Waiman Long) [1644375] - [kernel] rcu: Record ->gp_state for both phases of grace-period initialization (Waiman Long) [1644375] - [kernel] rcu: Add CPU online/offline state to dump_blkd_tasks() (Waiman Long) [1644375] - [kernel] rcu: Add up-tree information to dump_blkd_tasks() diagnostics (Waiman Long) [1644375] - [kernel] rcu: Remove CPU-hotplug failsafe from force-quiescent-state code path (Waiman Long) [1644375] - [kernel] rcu: Remove failsafe check for lost quiescent state (Waiman Long) [1644375] - [kernel] rcu: Move grace-period pre-init delay after pre-init (Waiman Long) [1644375] - [kernel] rcu: Add RCU-preempt check for waiting on newly onlined CPU (Waiman Long) [1644375] - [kernel] rcu: Fix grace-period hangs due to race with CPU offline (Waiman Long) [1644375] - [kernel] rcu: Fix grace-period hangs from mid-init task resume (Waiman Long) [1644375] - [kernel] rcu: Suppress false-positive splats from mid-init task resume (Waiman Long) [1644375] - [kernel] rcu: Suppress more involved false-positive preempted-task splats (Waiman Long) [1644375] - [kernel] rcu: Suppress false-positive preempted-task splats (Waiman Long) [1644375] - [kernel] rcu: Suppress false-positive offline-CPU lockdep-RCU splat (Waiman Long) [1644375] - [kernel] rcu: Prevent useless FQS scan after all CPUs have checked in (Waiman Long) [1644375] - [kernel] rcu: Replace smp_wmb() with smp_store_release() for stall check (Waiman Long) [1644375] - [kernel] rcu: Fix typo and add additional debug (Waiman Long) [1644375] - [kernel] rcu: Make rcu_report_unblock_qs_rnp() warn on violated preconditions (Waiman Long) [1644375] - [kernel] rcu: Make rcu_init_new_rnp() stop upon already-set bit (Waiman Long) [1644375] - [kernel] rcu: Fix an obsolete ->qsmaskinit comment (Waiman Long) [1644375] - [kernel] rcu: Clean up handling of tasks blocked across full-rcu_node offline (Waiman Long) [1644375] - [kernel] rcu: Identify grace period is in progress as we advance up the tree (Waiman Long) [1644375] - [kernel] rcu: Use better variable names in funnel locking loop (Waiman Long) [1644375] - [kernel] rcu: Rename the grace-period-request variables and parameters (Waiman Long) [1644375] - [kernel] rcu: Regularize resetting of rcu_data wrap indicator (Waiman Long) [1644375] - [kernel] rcutorture: Correctly handle grace-period sequence wrap (Waiman Long) [1644375] - [kernel] rcu: Make rcu_start_this_gp() check for grace period already started (Waiman Long) [1644375] - [kernel] rcu: Fix cpustart tracepoint gp_seq number (Waiman Long) [1644375] - [kernel] rcu: Produce last "CleanupMore" trace only if late-breaking request (Waiman Long) [1644375] - [kernel] rcu: Don't funnel-lock above leaf node if GP in progress (Waiman Long) [1644375] - [documentation] doc: Update RCU CPU stall-warning documentation (Waiman Long) [1644375] - [documentation] doc: Update memory-ordering documentation for ->gp-seq (Waiman Long) [1644375] - [documentation] doc: Update data-structure documentation for ->gp_seq (Waiman Long) [1644375] - [kernel] rcu: Make simple callback acceleration refer to rdp->gp_seq_needed (Waiman Long) [1644375] - [kernel] rcu: Remove ->gpnum and ->completed (Waiman Long) [1644375] - [kernel] rcu: Convert rcu_fqs tracepoint to ->gp_seq (Waiman Long) [1644375] - [kernel] rcu: Convert rcu_quiescent_state_report tracepoint to ->gp_seq (Waiman Long) [1644375] - [kernel] rcu: Convert rcu_unlock_preempted_task tracepoint to ->gp_seq (Waiman Long) [1644375] - [kernel] rcu: Convert rcu_preempt_task tracepoint to ->gp_seq (Waiman Long) [1644375] - [kernel] rcu: Convert rcu_grace_period_init tracepoint to gp_seq (Waiman Long) [1644375] - [kernel] rcu: Convert rcu_future_grace_period tracepoint to gp_seq (Waiman Long) [1644375] - [kernel] rcu: Convert rcu_grace_period tracepoint to gp_seq (Waiman Long) [1644375] - [kernel] rcu: Make rcu_nocb_wait_gp() check if GP already requested (Waiman Long) [1644375] - [kernel] rcu: Move from ->need_future_gp[] to ->gp_seq_needed (Waiman Long) [1644375] - [kernel] rcutorture: Convert rcutorture_get_gp_data() to ->gp_seq (Waiman Long) [1644375] - [kernel] rcu: Make RCU CPU stall warnings use ->gp_seq (Waiman Long) [1644375] - [kernel] rcu: Convert grace-period requests to ->gp_seq (Waiman Long) [1644375] - [kernel] rcu: Convert ->completedqs to ->gp_seq (Waiman Long) [1644375] - [kernel] rcu: Convert ->rcu_iw_gpnum to ->gp_seq (Waiman Long) [1644375] - [kernel] rcu: Move rcu_gp_in_progress() to ->gp_seq (Waiman Long) [1644375] - [kernel] rcu: Move rcu_nocb_gp_get() to ->gp_seq (Waiman Long) [1644375] - [kernel] rcu: Move rcu_try_advance_all_cbs() to ->gp_seq (Waiman Long) [1644375] - [kernel] rcu: Move rcu_implicit_dynticks_qs() to ->gp_seq (Waiman Long) [1644375] - [kernel] rcu: Convert rcu_gpnum_ovf() to ->gp_seq (Waiman Long) [1644375] - [kernel] rcu: Move RCU's grace-period-change code to ->gp_seq (Waiman Long) [1644375] - [kernel] rcu: Convert conditional grace-period primitives to ->gp_seq (Waiman Long) [1644375] - [kernel] rcu: Make quiescent-state reporting use ->gp_seq (Waiman Long) [1644375] - [kernel] rcu: Convert rcu_check_gp_kthread_starvation() to GP sequence number (Waiman Long) [1644375] - [kernel] rcu: Make rcutorture's batches-completed API use ->gp_seq (Waiman Long) [1644375] - [kernel] rcu: Move rcu_gp_slow() to ->gp_seq (Waiman Long) [1644375] - [kernel] rcu: Introduce grace-period sequence numbers (Waiman Long) [1644375] - [kernel] rcu: Make rcu_gp_cleanup() write only once to ->gp_flags (Waiman Long) [1644375] - [kernel] rcu: Diagnostics for grace-period startup hangs (Waiman Long) [1644375] - [kernel] rcu: Exclude near-simultaneous RCU CPU stall warnings (Waiman Long) [1644375] - [kernel] rcu: Use the proper lockdep annotation in dump_blkd_tasks() (Waiman Long) [1644375] - [kernel] rcu: Add debugging info to assertion (Waiman Long) [1644375] - [kernel] torture: Keep old-school dmesg format (Waiman Long) [1644375] - [kernel] torture: Make online/offline messages appear only for verbose=2 (Waiman Long) [1644375] - [tools] rcutorture: Make kvm-find-errors.sh find close calls (Waiman Long) [1644375] - [tools] rcutorture: Remove obsolete TREE08-T.boot file (Waiman Long) [1644375] - [tools] torture: Use a single build directory for torture scenarios (Waiman Long) [1644375] - [kernel] srcu: Introduce srcu_read_{un,}lock_notrace() (Waiman Long) [1644375] - [kernel] srcu: Add address of first callback to rcutorture output (Waiman Long) [1644375] - [kernel] srcu: Document that srcu_funnel_gp_start() implies srcu_funnel_exp_start() (Waiman Long) [1644375] - [kernel] srcu: Fix typos in __call_srcu() header comment (Waiman Long) [1644375] - [kernel] rcu: Make expedited grace period use direct call on last leaf (Waiman Long) [1644375]- [netdrv] nfp: flower: use offsets provided by pedit instead of index for ipv6 (Pablo Cascon) [1645132] - [netdrv] nfp: flower: fix multiple keys per pedit action (Pablo Cascon) [1645132] - [netdrv] nfp: flower: fix pedit set actions for multiple partial masks (Pablo Cascon) [1645132] - [netdrv] nfp: flower: ignore checksum actions when performing pedit actions (Pablo Cascon) [1644400] - [kernel] sched/fair: Fix throttle_list starvation with low CFS quota (Phil Auld) [1638526] - [net] tipc: fix the big/little endian issue in tipc_dest (Jon Maloy) [1640712] - [rpmspec] kernel.spec: Include kernel-signing-ca.cer public key (Prarit Bhargava) [1638465] - [block] block: don't deal with discard limit in blkdev_issue_discard() (Ming Lei) [1631255] - [powerpc] powerpc/mm: Check memblock_add against MAX_PHYSMEM_BITS range (Gustavo Duarte) [1561402] - [powerpc] powerpc/mm: Increase MAX_PHYSMEM_BITS to 128TB with SPARSEMEM_VMEMMAP config (Gustavo Duarte) [1561402]- [s390] s390/crypto: Enhance paes cipher to accept variable length key material (Philipp Rudo) [1644387] - [s390] s390/pkey: move pckmo subfunction available checks away from module init (Philipp Rudo) [1644387] - [s390] s390/pkey: Load pkey kernel module automatically (Philipp Rudo) [1644387] - [s390] s390/zcrypt: fix broken zcrypt_send_cprb in-kernel api function (Philipp Rudo) [1644387] - [s390] s390/pkey: Introduce new API for transforming key blobs (Philipp Rudo) [1644387] - [s390] s390/pkey: Introduce new API for random protected key verification (Philipp Rudo) [1644387] - [s390] s390/pkey: Add sysfs attributes to emit secure key blobs (Philipp Rudo) [1644387] - [s390] s390/pkey: Add sysfs attributes to emit protected key blobs (Philipp Rudo) [1644387] - [s390] s390/pkey: Define protected key blob format (Philipp Rudo) [1644387] - [s390] s390/pkey: Introduce new API for random protected key generation (Philipp Rudo) [1644387] - [s390] s390/zcrypt: add ap_adapter_mask sysfs attribute (Philipp Rudo) [1644387] - [s390] s390/zcrypt: provide apfs failure code on type 86 error reply (Philipp Rudo) [1644387] - [s390] s390/zcrypt: zcrypt device driver cleanup (Philipp Rudo) [1644387] - [s390] s390/zcrypt: multiple zcrypt device nodes support (Philipp Rudo) [1644387] - [s390] s390/zcrypt: enable AP bus scan without a valid default domain (Philipp Rudo) [1644387] - [s390] s390/zcrypt: Use kmemdup to replace kmalloc + memcpy (Philipp Rudo) [1644387] - [s390] s390/qeth: add TSO support for L2 devices (Philipp Rudo) [1644381] - [s390] s390/qeth: add support for IPv6 TSO (Philipp Rudo) [1644381] - [s390] s390/qeth: enhance TSO control sequence (Philipp Rudo) [1644381] - [s390] s390/qeth: make TSO controls protocol-agnostic (Philipp Rudo) [1644381] - [s390] s390: qeth: Fix potential array overrun in cmd/rc lookup (Philipp Rudo) [1644381] - [s390] s390: qeth_core_mpc: Use ARRAY_SIZE instead of reimplementing its function (Philipp Rudo) [1644381] - [scsi] scsi: mpt3sas: Remove unnecessary parentheses and simplify null checks (Tomas Henzl) [1638649] - [scsi] scsi: mpt3sas: Use dma_pool_zalloc (Tomas Henzl) [1638649] - [scsi] scsi: mpt3sas: Remove unused macro MPT3SAS_FMT (Tomas Henzl) [1638649] - [scsi] scsi: mpt3sas: Convert logging uses with MPT3SAS_FMT without logging levels (Tomas Henzl) [1638649] - [scsi] scsi: mpt3sas: Remove KERN_WARNING from panic uses (Tomas Henzl) [1638649] - [scsi] scsi: mpt3sas: Convert logging uses with MPT3SAS_FMT and reply_q_name to s: (Tomas Henzl) [1638649] - [scsi] scsi: mpt3sas: Convert mlsleading uses of pr_ with MPT3SAS_FMT (Tomas Henzl) [1638649] - [scsi] scsi: mpt3sas: Convert uses of pr_ with MPT3SAS_FMT to ioc_ (Tomas Henzl) [1638649] - [scsi] scsi: mpt3sas: Add ioc_ logging macros (Tomas Henzl) [1638649] - [scsi] scsi: mpt3sas: Fix calltrace observed while running IO & reset (Tomas Henzl) [1638649] - [scsi] scsi: mpt3sas: Improve kernel-doc headers (Tomas Henzl) [1638649] - [scsi] scsi: mpt3sas: Split _base_reset_handler(), mpt3sas_scsih_reset_handler() and mpt3sas_ctl_reset_handler() (Tomas Henzl) [1638649] - [scsi] scsi: mpt3sas: Fix a race condition in mpt3sas_base_hard_reset_handler() (Tomas Henzl) [1638649] - [scsi] scsi: mpt3sas: Fix _transport_smp_handler() error path (Tomas Henzl) [1638649] - [scsi] scsi: mpt3sas: Introduce struct mpt3sas_nvme_cmd (Tomas Henzl) [1638649] - [scsi] scsi: mpt3sas: Annotate switch/case fall-through (Tomas Henzl) [1638649] - [scsi] scsi: mpt3sas: Remove set-but-not-used variables (Tomas Henzl) [1638649] - [scsi] scsi: mpt3sas: Fix indentation (Tomas Henzl) [1638649] - [scsi] scsi: mpt3sas: Update driver version "26.100.00.00" (Tomas Henzl) [1638649] - [scsi] scsi: mpt3sas: As per MPI-spec, use combined reply queue for SAS3.5 controllers when HBA supports more than 16 MSI-x vectors (Tomas Henzl) [1638649] - [scsi] scsi: mpt3sas: Fix, False timeout prints for ioctl and other internal commands during controller reset (Tomas Henzl) [1638649] - [scsi] scsi: mpt3sas: Don't access the structure after decrementing it's instance reference count (Tomas Henzl) [1638649] - [scsi] scsi: mpt3sas: Incorrect command status was set/marked as not used (Tomas Henzl) [1638649] - [scsi] scsi: mpt3sas: Don't abort I/Os issued to NVMe drives while processing Async Broadcast primitive event (Tomas Henzl) [1638649] - [netdrv] net/mlx5e: Do not ignore netdevice TX/RX queues number (Alaa Hleihel) [1643103] - [netdrv] net/mlx5e: Use non-delayed work for update stats (Alaa Hleihel) [1643103] - [netdrv] net/mlx5e: Initialize all netdev common structures in one place (Alaa Hleihel) [1643103] - [netdrv] net/mlx5e: Always initialize update stats delayed work (Alaa Hleihel) [1643103] - [netdrv] net/mlx5e: Gather common netdev init/cleanup functionality in one place (Alaa Hleihel) [1643103] - [infiniband] RDMA/netdev: Fix netlink support in IPoIB (Alaa Hleihel) [1643103] - [infiniband] RDMA/netdev: Hoist alloc_netdev_mqs out of the driver (Alaa Hleihel) [1643103] - [infiniband] IB/ipoib: Consolidate checking of the proposed child interface (Alaa Hleihel) [1643103] - [infiniband] IB/ipoib: Maintain the child_intfs list from ndo_init/uninit (Alaa Hleihel) [1643103] - [infiniband] IB/ipoib: Do not remove child devices from within the ndo_uninit (Alaa Hleihel) [1643103] - [infiniband] IB/ipoib: Get rid of the sysfs_mutex (Alaa Hleihel) [1643103] - [infiniband] RDMA/netdev: Use priv_destructor for netdev cleanup (Alaa Hleihel) [1643103] - [infiniband] IB/ipoib: Move init code to ndo_init (Alaa Hleihel) [1643103] - [infiniband] IB/ipoib: Move all uninit code into ndo_uninit (Alaa Hleihel) [1643103] - [infiniband] IB/ipoib: Use cancel_delayed_work_sync for neigh-clean task (Alaa Hleihel) [1643103] - [infiniband] IB/ipoib: Get rid of IPOIB_FLAG_GOING_DOWN (Alaa Hleihel) [1643103] - [infiniband] RDMA/ipoib: Fix use of sizeof() (Alaa Hleihel) [1643103] - [netdrv] net/mlx5e: Do not recycle RX pages in interface down flow (Alaa Hleihel) [1643103 1643047] - [netdrv] net/mlx5e: Replace call to MPWQE free with dealloc in interface down flow (Alaa Hleihel) [1643103 1643047] - [net] net/xdp: Fix suspicious RCU usage warning (Alaa Hleihel) [1643103 1643047] - [netdrv] net/mlx5: WQ, fixes for fragmented WQ buffers API (Alaa Hleihel) [1643103 1636183] - [netdrv] net/mlx4_en: Use minimal rx and tx ring sizes on kdump kernel (Alaa Hleihel) [1643103 1615267] - [x86] mark coffeelake-s/h 8+2 as supported (David Arcari) [1575461 1575460] - [x86] x86/spec_ctrl: Synchronize STIBP changes with RHEL IBRS code (Waiman Long) [1643233] - [x86] x86/speculation: Propagate information about RSB filling mitigation to sysfs (Waiman Long) [1643233] - [x86] x86/speculation: Enable cross-hyperthread spectre v2 STIBP mitigation (Waiman Long) [1643233] - [x86] x86/speculation: Apply IBPB more strictly to avoid cross-process data leak (Waiman Long) [1643233] - [x86] x86/speculation: Add RETPOLINE_AMD support to the inline asm CALL_NOSPEC variant (Waiman Long) [1643233] - [x86] x86/CPU: Fix unused variable warning when !CONFIG_IA32_EMULATION (Waiman Long) [1643233] - [x86] x86/pti/64: Remove the SYSCALL64 entry trampoline (Waiman Long) [1643233] - [x86] x86/entry/64: Use the TSS sp2 slot for SYSCALL/SYSRET scratch space (Waiman Long) [1643233] - [x86] x86/entry/64: Document idtentry (Waiman Long) [1643233] - [x86] x86/asm-offsets: Move TSS_sp0 and TSS_sp1 to asm-offsets.c (Waiman Long) [1643233] - [x86] x86: Add entry trampolines to kcore (Waiman Long) [1643233] - [kernel] kallsyms, x86: Export addresses of PTI entry trampolines (Waiman Long) [1643233] - [kernel] kallsyms: Simplify update_iter_mod() (Waiman Long) [1643233] - [scsi] scsi: csiostor: fix incorrect port capabilities (Arjun Vynipadath) [1628866] - [scsi] scsi: csiostor: add a check for NULL pointer after kmalloc() (Arjun Vynipadath) [1628866] - [scsi] scsi: csiostor: update ingress pack and pad boundary value (Arjun Vynipadath) [1628866]- [netdrv] nfp: flower: use host context count provided by firmware (Pablo Cascon) [1639609] - [netdrv] nfp: flower: use stats array instead of storing stats per flow (Pablo Cascon) [1639609] - [netdrv] nfp: flower: use rhashtable for flow caching (Pablo Cascon) [1639609] - [netdrv] nfp: avoid soft lockups under control message storm (Pablo Cascon) [1639609] - [kernel] sched: disable autogroups by default (Phil Auld) [1568166] - [s390] s390/keyboard: sanitize array index in do_kdsk_ioctl (Steve Best) [1637591] - [char] ipmi:ssif: Add support for multi-part transmit messages > 2 parts (Tony Camuso) [1622053] - [scsi] scsi: libsas: fix a race condition when smp task timeout (Zhou Wang) [1640426] - [scsi] scsi: libsas: check the ata device status by ata_dev_enabled() (Zhou Wang) [1640426] - [scsi] scsi: libsas: always unregister the old device if going to discover new (Zhou Wang) [1640426] - [scsi] scsi: libsas: dynamically allocate and free ata host (Zhou Wang) [1640426] - [scsi] scsi: libsas: remove irq save in sas_ata_qc_issue() (Zhou Wang) [1640426]- [video] fbdev: make FB_BACKLIGHT a tristate (Rob Clark) [1643333 1589158] - [netdrv] Taint kernel if e1000 is loaded (Neil Horman) [1643617] - [netdrv] iavf: fix a typo (Stefan Assmann) [1627882] - [netdrv] i40evf: remove ndo_poll_controller (Stefan Assmann) [1627882] - [netdrv] intel-ethernet: use correct module license (Stefan Assmann) [1627882] - [netdrv] iavf: finish renaming files to iavf (Stefan Assmann) [1627882] - [netdrv] iavf: rename most of i40e strings (Stefan Assmann) [1627882] - [netdrv] iavf: tracing infrastructure rename (Stefan Assmann) [1627882] - [netdrv] iavf: replace i40e_debug with iavf version (Stefan Assmann) [1627882] - [netdrv] iavf: rename i40e_hw to iavf_hw (Stefan Assmann) [1627882] - [netdrv] iavf: rename I40E_ADMINQ_DESC (Stefan Assmann) [1627882] - [netdrv] iavf: rename device ID defines (Stefan Assmann) [1627882] - [netdrv] iavf: remove references to old names (Stefan Assmann) [1627882] - [netdrv] iavf: move i40evf files to new name (Stefan Assmann) [1627882] - [netdrv] iavf: rename i40e_status to iavf_status (Stefan Assmann) [1627882] - [netdrv] iavf: rename functions and structs to new name (Stefan Assmann) [1627882] - [netdrv] iavf: diet and reformat (Stefan Assmann) [1627882] - [netdrv] configs: enable CONFIG_IAVF=m (Stefan Assmann) [1627882] - [netdrv] intel-ethernet: rename i40evf to iavf (Stefan Assmann) [1627882] - [netdrv] i40e(vf): remove i40e_ethtool_stats.h header file (Stefan Assmann) [1627882] - [netdrv] i40evf: cancel workqueue sync for adminq when a VF is removed (Stefan Assmann) [1627882] - [netdrv] i40evf: Don't enable vlan stripping when rx offload is turned on (Stefan Assmann) [1627882] - [netdrv] i40evf: set IFF_UNICAST_FLT flag for the VF (Stefan Assmann) [1627882] - [netdrv] i40evf: Validate the number of queues a PF sends (Stefan Assmann) [1627882] - [netdrv] i40evf: Change a VF mac without reloading the VF driver (Stefan Assmann) [1627882] - [netdrv] i40evf: update ethtool stats code and use helper functions (Stefan Assmann) [1627882] - [netdrv] i40e: Add AQ command for rearrange NVM structure (Stefan Assmann) [1627882] - [netdrv] i40e: Add additional return code to i40e_asq_send_command (Stefan Assmann) [1627882] - [netdrv] i40e/i40evf: remove redundant functions i40evf_aq_(set/get)_phy_register (Stefan Assmann) [1627882] - [netdrv] cls_flower: fix error values for commands not supported by drivers (Stefan Assmann) [1627882] - [init] init/main.c: Enable watchdog_thresh control from kernel line (Prarit Bhargava) [1643161] - [s390] s390/purgatory: Remove duplicate variable definitions (Philipp Rudo) [1642447] - [s390] s390/purgatory: Add missing FORCE to Makefile targets (Philipp Rudo) [1642447] - [s390] s390/purgatory: Fix crash with expoline enabled (Philipp Rudo) [1642447] - [s390] s390: disable asm code expolines if cc does not support it (Philipp Rudo) [1642447] - [netdrv] Revert be2net: remove desc field from be_eq_obj (Ivan Vecera) [1639867]- [rpmspec] redhat: add optional bpf_samples package (Jiri Benc) [1611579] - [powerpc] powerpc/time: Fix clockevent_decrementer initalisation for PR KVM (Steve Best) [1641615] - [net] ip: frags: fix crash in ip_do_fragment() (Sabrina Dubroca) [1616058] {CVE-2018-5391} - [net] ipfrag: let ip(6)frag_high_thresh in ns be higher than in init_net (Sabrina Dubroca) [1616058] {CVE-2018-5391} - [net] ipv6: discard IP frag queue on more errors (Sabrina Dubroca) [1616058] {CVE-2018-5391} - [net] ip: fail fast on IP defrag errors (Sabrina Dubroca) [1616058] {CVE-2018-5391} - [net] ip: process in-order fragments efficiently (Sabrina Dubroca) [1616058] {CVE-2018-5391} - [net] ip: add helpers to process in-order fragments faster (Sabrina Dubroca) [1616058] {CVE-2018-5391} - [net] ipv6: defrag: drop non-last frags smaller than min mtu (Sabrina Dubroca) [1616058] {CVE-2018-5391} - [net] ipv4: frags: precedence bug in ip_expire() (Sabrina Dubroca) [1616058] {CVE-2018-5391} - [net] ip: use rb trees for IP frag queue (Sabrina Dubroca) [1616058] {CVE-2018-5391} - [net] modify skb_rbtree_purge to return the truesize of all purged skbs (Sabrina Dubroca) [1616058] {CVE-2018-5391} - [net] ip: discard IPv4 datagrams with overlapping segments (Sabrina Dubroca) [1616058] {CVE-2018-5391} - [fs] ovl: fix format of setxattr debug (Miklos Szeredi) [1636875] - [fs] ovl: fix access beyond unterminated strings (Miklos Szeredi) [1636875] - [fs] ovl: make symbol 'ovl_aops' static (Miklos Szeredi) [1636875] - [fs] vfs: swap names of (do,vfs)_clone_file_range() (Miklos Szeredi) [1636875] - [fs] ovl: fix freeze protection bypass in ovl_clone_file_range() (Miklos Szeredi) [1636875] - [fs] ovl: fix freeze protection bypass in ovl_write_iter() (Miklos Szeredi) [1636875] - [fs] ovl: fix memory leak on unlink of indexed file (Miklos Szeredi) [1636875] - [fs] ovl: fix oopses in ovl_fill_super() failure paths (Miklos Szeredi) [1636875] - [fs] ovl: add ovl_fadvise() (Miklos Szeredi) [1636875] - [fs] vfs: implement readahead(2) using POSIX_FADV_WILLNEED (Miklos Szeredi) [1636875] - [fs] vfs: add the fadvise() file operation (Miklos Szeredi) [1636875] - [fs] Documentation/filesystems: update documentation of file_operations (Miklos Szeredi) [1636875] - [fs] ovl: fix GPF in swapfile_activate of file from overlayfs over xfs (Miklos Szeredi) [1636875] - [fs] ovl: respect FIEMAP_FLAG_SYNC flag (Miklos Szeredi) [1636875] - [fs] ovl: Enable metadata only feature (Miklos Szeredi) [1636875] - [fs] ovl: Do not do metacopy only for ioctl modifying file attr (Miklos Szeredi) [1636875] - [fs] ovl: Do not do metadata only copy-up for truncate operation (Miklos Szeredi) [1636875] - [fs] ovl: add helper to force data copy-up (Miklos Szeredi) [1636875] - [fs] ovl: Check redirect on index as well (Miklos Szeredi) [1636875] - [fs] ovl: Set redirect on upper inode when it is linked (Miklos Szeredi) [1636875] - [fs] ovl: Set redirect on metacopy files upon rename (Miklos Szeredi) [1636875] - [fs] ovl: Do not set dentry type ORIGIN for broken hardlinks (Miklos Szeredi) [1636875] - [fs] ovl: Add an inode flag OVL_CONST_INO (Miklos Szeredi) [1636875] - [fs] ovl: Treat metacopy dentries as type OVL_PATH_MERGE (Miklos Szeredi) [1636875] - [fs] ovl: Check redirects for metacopy files (Miklos Szeredi) [1636875] - [fs] ovl: Move some dir related ovl_lookup_single() code in else block (Miklos Szeredi) [1636875] - [fs] ovl: Do not expose metacopy only dentry from d_real() (Miklos Szeredi) [1636875] - [fs] ovl: Open file with data except for the case of fsync (Miklos Szeredi) [1636875] - [fs] ovl: Add helper ovl_inode_realdata() (Miklos Szeredi) [1636875] - [fs] ovl: Store lower data inode in ovl_inode (Miklos Szeredi) [1636875] - [fs] ovl: Fix ovl_getattr() to get number of blocks from lower (Miklos Szeredi) [1636875] - [fs] ovl: Add helper ovl_dentry_lowerdata() to get lower data dentry (Miklos Szeredi) [1636875] - [fs] ovl: Copy up meta inode data from lowest data inode (Miklos Szeredi) [1636875] - [fs] ovl: Modify ovl_lookup() and friends to lookup metacopy dentry (Miklos Szeredi) [1636875] - [fs] ovl: Use out_err instead of out_nomem (Miklos Szeredi) [1636875] - [fs] ovl: A new xattr OVL_XATTR_METACOPY for file on upper (Miklos Szeredi) [1636875] - [fs] ovl: Add helper ovl_already_copied_up() (Miklos Szeredi) [1636875] - [fs] ovl: Copy up only metadata during copy up where it makes sense (Miklos Szeredi) [1636875] - [fs] ovl: During copy up, first copy up metadata and then data (Miklos Szeredi) [1636875] - [fs] ovl: Provide a mount option metacopy=on/off for metadata copyup (Miklos Szeredi) [1636875] - [fs] ovl: Move the copy up helpers to copy_up.c (Miklos Szeredi) [1636875] - [fs] ovl: Initialize ovl_inode->redirect in ovl_get_inode() (Miklos Szeredi) [1636875] - [fs] ovl: fix documentation of non-standard behavior (Miklos Szeredi) [1636875] - [fs] ovl: obsolete "check_copy_up" module option (Miklos Szeredi) [1636875] - [fs] vfs: remove open_flags from d_real() (Miklos Szeredi) [1636875] - [fs] Revert "fsnotify: support overlayfs" (Miklos Szeredi) [1636875] - [fs] Partially revert "locks: fix file locking on overlayfs" (Miklos Szeredi) [1636875] - [fs] Revert "vfs: do get_write_access() on upper layer of overlayfs" (Miklos Szeredi) [1636875] - [fs] Revert "vfs: add flags to d_real()" (Miklos Szeredi) [1636875] - [fs] Revert "vfs: update ovl inode before relatime check" (Miklos Szeredi) [1636875] - [fs] Revert "ovl: fix relatime for directories" (Miklos Szeredi) [1636875] - [fs] vfs: fix freeze protection in mnt_want_write_file() for overlayfs (Miklos Szeredi) [1636875] - [fs] Revert "ovl: don't allow writing ioctl on lower layer" (Miklos Szeredi) [1636875] - [fs] Revert "ovl: fix may_write_real() for overlayfs directories" (Miklos Szeredi) [1636875] - [fs] vfs: don't open real (Miklos Szeredi) [1636875] - [fs] ovl: add reflink/copyfile/dedup support (Miklos Szeredi) [1636875] - [fs] ovl: add O_DIRECT support (Miklos Szeredi) [1636875] - [fs] ovl: add ovl_fiemap() (Miklos Szeredi) [1636875] - [fs] ovl: add lsattr/chattr support (Miklos Szeredi) [1636875] - [fs] ovl: add ovl_fallocate() (Miklos Szeredi) [1636875] - [fs] ovl: add ovl_mmap() (Miklos Szeredi) [1636875] - [fs] ovl: add ovl_fsync() (Miklos Szeredi) [1636875] - [fs] ovl: add ovl_write_iter() (Miklos Szeredi) [1636875] - [fs] ovl: add ovl_read_iter() (Miklos Szeredi) [1636875] - [fs] ovl: add helper to return real file (Miklos Szeredi) [1636875] - [fs] ovl: stack file ops (Miklos Szeredi) [1636875] - [fs] ovl: deal with overlay files in ovl_d_real() (Miklos Szeredi) [1636875] - [fs] ovl: copy up file size as well (Miklos Szeredi) [1636875] - [fs] Revert "Revert "ovl: get_write_access() in truncate"" (Miklos Szeredi) [1636875] - [fs] ovl: copy up inode flags (Miklos Szeredi) [1636875] - [fs] ovl: copy up times (Miklos Szeredi) [1636875] - [fs] vfs: export vfs_dedupe_file_range_one() to modules (Miklos Szeredi) [1636875] - [fs] vfs: export vfs_ioctl() to modules (Miklos Szeredi) [1636875] - [fs] vfs: make open_with_fake_path() not contribute to nr_files (Miklos Szeredi) [1636875] - [fs] ovl: fix wrong use of impure dir cache in ovl_iterate() (Miklos Szeredi) [1636875] - [fs] new helper: open_with_fake_path() (Miklos Szeredi) [1636875] - [fs] now we can fold open_check_o_direct() into do_dentry_open() (Miklos Szeredi) [1636875] - [fs] lift fput() on late failures into path_openat() (Miklos Szeredi) [1636875] - [fs] fold put_filp() into fput() (Miklos Szeredi) [1636875] - [fs] introduce FMODE_OPENED (Miklos Szeredi) [1636875] - [fs] ->file_open(): lose cred argument (Miklos Szeredi) [1636875] - [fs] security_file_open(): lose cred argument (Miklos Szeredi) [1636875] - [fs] get rid of cred argument of vfs_open() and do_dentry_open() (Miklos Szeredi) [1636875] - [fs] pass ->f_flags value to alloc_empty_file() (Miklos Szeredi) [1636875] - [fs] pass creds to get_empty_filp(), make sure dentry_open() passes the right creds (Miklos Szeredi) [1636875] - [fs] alloc_file(): switch to passing O_... flags instead of FMODE_... mode (Miklos Szeredi) [1636875] - [fs] make sure do_dentry_open() won't return positive as an error (Miklos Szeredi) [1636875] - [fs] create_pipe_files(): use fput() if allocation of the second file fails (Miklos Szeredi) [1636875] - [fs] turn filp_clone_open() into inline wrapper for dentry_open() (Miklos Szeredi) [1636875] - [fs] fold security_file_free() into file_free() (Miklos Szeredi) [1636875] - [fs] vfs: dedupe: extract helper for a single dedup (Miklos Szeredi) [1636875] - [fs] vfs: dedupe: rationalize args (Miklos Szeredi) [1636875] - [fs] vfs: dedupe: return int (Miklos Szeredi) [1636875] - [fs] vfs: limit size of dedupe (Miklos Szeredi) [1636875] - [fs] ovl: set I_CREATING on inode being created (Miklos Szeredi) [1636875]- [rpmspec] redhat spec: Add new perf tools file (Jiri Olsa) [1579484] - [tools] perf tools: Fix use of alternatives to find JDIR (Jiri Olsa) [1579484] - [net] net: sock_diag: Fix spectre v1 gadget in __sock_diag_cmd() (Paolo Abeni) [1637576] - [thunderbolt] thunderbolt: Add Intel as copyright holder (Jarod Wilson) [1588929] - [thunderbolt] thunderbolt: Convert rest of the driver files to use SPDX identifier (Jarod Wilson) [1588929] - [thunderbolt] thunderbolt: Print connected devices (Jarod Wilson) [1588929] - [thunderbolt] thunderbolt: Make the driver less verbose (Jarod Wilson) [1588929] - [thunderbolt] thunderbolt: Remove a meaningless NULL pointer check before dma_pool_destroy (Jarod Wilson) [1588929] - [thunderbolt] thunderbolt: Initialize after IOMMUs (Jarod Wilson) [1588929] - [thunderbolt] thunderbolt: Do not handle ICM events after domain is stopped (Jarod Wilson) [1588929] - [thunderbolt] thunderbolt: Add support for runtime PM (Jarod Wilson) [1588929] - [thunderbolt] thunderbolt: Remove redundant variable 'approved' (Jarod Wilson) [1588929] - [thunderbolt] thunderbolt: Use correct ICM commands in system suspend (Jarod Wilson) [1588929] - [thunderbolt] thunderbolt: No need to take tb->lock in domain suspend/complete (Jarod Wilson) [1588929] - [thunderbolt] thunderbolt: Do not unnecessarily call ICM get route (Jarod Wilson) [1588929] - [thunderbolt] thunderbolt: Use 64-bit DMA mask if supported by the platform (Jarod Wilson) [1588929] - [thunderbolt] thunderbolt: Fix small typo in variable name (Jarod Wilson) [1588929] - [mm] Revert x86/e820: put !E820_TYPE_RAM regions into memblock.reserved (Baoquan He) [1639450] - [mm] mm: return zero_resv_unavail optimization (Baoquan He) [1639450] - [mm] mm: zero remaining unavailable struct pages (Baoquan He) [1639450] - [mm] mm: skip invalid pages block at a time in zero_resv_unresv() (Baoquan He) [1639450] - [mm] docs/mm: memblock: update kernel-doc comments (Baoquan He) [1639450] - [mm] mm/memblock: add a name for memblock flags enumeration (Baoquan He) [1639450] - [block] blk-wbt: wake up all when we scale up, not down (Ming Lei) [1640035]- [video] fbdev: make FB_BACKLIGHT a tristate (Rob Clark) [1589158] - [kernel] EDAC: Raise the maximum number of memory controllers (Aristeu Rozanski) [1634077] - [netdrv] i40e: disallow changing the number of descriptors when AF_XDP is on (Stefan Assmann) [1630760] - [netdrv] i40e: clean zero-copy XDP Rx ring on shutdown/reset (Stefan Assmann) [1630760] - [netdrv] i40e: clean zero-copy XDP Tx ring on shutdown/reset (Stefan Assmann) [1630760] - [netdrv] i40e: Remove unused msglen parameter from virtchnl functions (Stefan Assmann) [1630760] - [netdrv] i40e: fix double 'NIC Link is Down' messages (Stefan Assmann) [1630760] - [netdrv] i40e: add a helper function to validate a VF based on the vf id (Stefan Assmann) [1630760] - [netdrv] i40e: use declared variables for pf and hw (Stefan Assmann) [1630760] - [netdrv] i40e: Unset promiscuous settings on VF reset (Stefan Assmann) [1630760] - [netdrv] i40e: Fix VF's link state notification (Stefan Assmann) [1630760] - [netdrv] intel-ethernet: use correct module license (Stefan Assmann) [1630760] - [netdrv] i40e(vf): remove i40e_ethtool_stats.h header file (Stefan Assmann) [1630760] - [netdrv] i40e: fix possible compiler warning in xsk TX path (Stefan Assmann) [1630760] - [netdrv] i40e: add AF_XDP zero-copy Tx support (Stefan Assmann) [1630760] - [netdrv] i40e: move common Tx functions to i40e_txrx_common.h (Stefan Assmann) [1630760] - [netdrv] xsk: i40e: get rid of useless struct xdp_umem_props (Stefan Assmann) [1630760] - [netdrv] i40e: add AF_XDP zero-copy Rx support (Stefan Assmann) [1630760] - [netdrv] i40e: move common Rx functions to i40e_txrx_common.h (Stefan Assmann) [1630760] - [netdrv] i40e: refactor Rx path for re-use (Stefan Assmann) [1630760] - [netdrv] i40e: added queue pair disable/enable functions (Stefan Assmann) [1630760] - [netdrv] i40e: Prevent deleting MAC address from VF when set by PF (Stefan Assmann) [1630760] - [netdrv] i40e: hold the rtnl lock on clearing interrupt scheme (Stefan Assmann) [1630760] - [netdrv] i40e: Check and correct speed values for link on open (Stefan Assmann) [1630760] - [netdrv] i40e: report correct statistics when XDP is enabled (Stefan Assmann) [1630760] - [netdrv] i40e: static analysis report from community (Stefan Assmann) [1630760] - [netdrv] i40e: use correct length for strncpy (Stefan Assmann) [1630760] - [netdrv] i40evf: Change a VF mac without reloading the VF driver (Stefan Assmann) [1630760] - [netdrv] i40e: move ethtool stats boiler plate code to i40e_ethtool_stats.h (Stefan Assmann) [1630760] - [netdrv] i40e: convert queue stats to i40e_stats array (Stefan Assmann) [1630760] - [netdrv] i40e: fix condition of WARN_ONCE for stat strings (Stefan Assmann) [1630760] - [netdrv] i40e_txrx: mark expected switch fall-through (Stefan Assmann) [1630760] - [netdrv] i40e_main: mark expected switch fall-through (Stefan Assmann) [1630760] - [netdrv] i40e: fix i40e_add_queue_stats data pointer update (Stefan Assmann) [1630760] - [netdrv] i40e: Add AQ command for rearrange NVM structure (Stefan Assmann) [1630760] - [netdrv] i40e: Add additional return code to i40e_asq_send_command (Stefan Assmann) [1630760] - [netdrv] i40e: fix warning about shadowed ring parameter (Stefan Assmann) [1630760] - [netdrv] i40e: remove unnecessary i variable causing -Wshadow warning (Stefan Assmann) [1630760] - [netdrv] i40e: convert priority flow control stats to use helpers (Stefan Assmann) [1630760] - [netdrv] i40e: convert VEB TC stats to use an i40e_stats array (Stefan Assmann) [1630760] - [netdrv] i40e: Set fec_config when forcing link state (Stefan Assmann) [1630760] - [netdrv] i40e: add helper to copy statistic values into ethtool buffer (Stefan Assmann) [1630760] - [netdrv] i40e: add helper function for copying strings from stat arrays (Stefan Assmann) [1630760] - [netdrv] i40e: Remove duplicated prepare call in i40e_shutdown (Stefan Assmann) [1630760] - [netdrv] cls_flower: fix error values for commands not supported by drivers (Stefan Assmann) [1630760] - [netdrv] net: drivers/net: Convert random_ether_addr to eth_random_addr (Stefan Assmann) [1630760] - [net] ipv4: don't let PMTU updates increase route MTU (Sabrina Dubroca) [1638845] - [net] ipv4: update fnhe_pmtu when first hop's MTU changes (Sabrina Dubroca) [1638845] - [net] xsk: add a simple buffer reuse queue (Ivan Vecera) [1634774] - [net] samples/bpf: add -c/--copy -z/--zero-copy flags to xdpsock (Ivan Vecera) [1634774] - [net] add napi_if_scheduled_mark_missed (Ivan Vecera) [1634774] - [net] xsk: expose xdp_umem_get_(data, dma) to drivers (Ivan Vecera) [1634774] - [net] xdp: export xdp_rxq_info_unreg_mem_model (Ivan Vecera) [1634774] - [net] xdp: implement convert_to_xdp_frame for MEM_TYPE_ZERO_COPY (Ivan Vecera) [1634774] - [net] xdp: Helper function to clear kernel pointers in xdp_frame (Ivan Vecera) [1634774] - [net] xsk: i40e: get rid of useless struct xdp_umem_props (Ivan Vecera) [1631809] - [net] xdp: fix uninitialized 'err' variable (Ivan Vecera) [1631805] - [tools] headers uapi: Update tools's copy of linux/if_link.h (Ivan Vecera) [1631805] - [tools] selftests/bpf: add test for multiple programs (Ivan Vecera) [1631805] - [net] netdevsim: add support for simultaneous driver and hw XDP (Ivan Vecera) [1631805] - [net] xdp: support simultaneous driver and hw XDP attachment (Ivan Vecera) [1631805] - [net] xdp: factor out common program/flags handling from drivers (Ivan Vecera) [1631805] - [net] xdp: don't make drivers report attachment mode (Ivan Vecera) [1631805] - [net] xdp: add per mode attributes for attached programs (Ivan Vecera) [1631805] - [net] sched: cls_flower: set correct offload data in fl_reoffload (Ivan Vecera) [1631522] - [net] sched: call reoffload op on block callback reg (Ivan Vecera) [1631522] - [net] sched: cls_bpf: implement offload tcf_proto_op (Ivan Vecera) [1631522] - [net] sched: cls_u32: implement offload tcf_proto_op (Ivan Vecera) [1631522] - [net] sched: cls_matchall: implement offload tcf_proto_op (Ivan Vecera) [1631522] - [net] sched: cls_flower: implement offload tcf_proto_op (Ivan Vecera) [1631522] - [net] sched: add tcf_proto_op to offload a rule (Ivan Vecera) [1631522] - [net] sched: pass extack pointer to block binds and cb registration (Ivan Vecera) [1631522]- [rpmspec] kernel.spec: s390/zfcpdump: add -zfcpdump kernel variant (Philipp Rudo) [1567291] - [kernel] rh_taint: correct loaddable module support dependencies (Philipp Rudo) [1567291] - [powerpc] KVM: PPC: Book3S HV: Avoid crash from THP collapse during radix page fault (David Gibson) [1639555] - [irqchip] irqchip/gic-v3-its: Allow use of LPI tables in reserved memory (Jeremy Linton) [1625746] - [irqchip] irqchip/gic-v3-its: Register LPI tables with EFI config table (Jeremy Linton) [1625746] - [irqchip] irqchip/gic-v3-its: Check that all RDs have the same property table (Jeremy Linton) [1625746] - [irqchip] irqchip/gic-v3-its: Use pre-programmed redistributor tables with kdump kernels (Jeremy Linton) [1625746] - [irqchip] irqchip/gic-v3-its: Allow use of pre-programmed LPI tables (Jeremy Linton) [1625746] - [irqchip] irqchip/gic-v3-its: Keep track of property table's PA and VA (Jeremy Linton) [1625746] - [irqchip] irqchip/gic-v3-its: Move pending table allocation to init time (Jeremy Linton) [1625746] - [irqchip] irqchip/gic-v3-its: Split property table clearing from allocation (Jeremy Linton) [1625746] - [irqchip] irqchip/gic-v3-its: Simplify LPI_PENDBASE_SZ usage (Jeremy Linton) [1625746] - [irqchip] irqchip/gic-v3-its: Change initialization ordering for LPIs (Jeremy Linton) [1625746] - [firmware] efi: add API to reserve memory persistently across kexec reboot (Jeremy Linton) [1625746] - [firmware] efi/arm: libstub: add a root memreserve config table (Jeremy Linton) [1625746] - [firmware] efi: honour memory reservations passed via a linux specific config table (Jeremy Linton) [1625746] - [irqchip] irqchip/gic-v3-its: Cap lpi_id_bits to reduce memory footprint (Jeremy Linton) [1625746] - [infiniband] RDMA/bnxt_re: Fix system crash during RDMA resource initialization (Selvin Xavier) [1637122] - [infiniband] RDMA/bnxt_re: Fix couple of memory leaks that could lead to IOMMU call traces (Selvin Xavier) [1637120] - [arm64] arm64: KVM: Sanitize PSTATE.M when being set from userspace (Wei Huang) [1635721] {CVE-2018-18021} - [arm64] arm64: KVM: Tighten guest core register access from userspace (Wei Huang) [1635721] {CVE-2018-18021} - [fs] fs/cifs: require sha512 (Leif Sahlberg) [1610619] - [fs] smb3: simplify code by removing CONFIG_CIFS_SMB311 (Leif Sahlberg) [1610619] - [fs] smb3: add support for statfs for smb3.1.1 posix extensions (Leif Sahlberg) [1610619] - [fs] cifs: allow disabling insecure dialects in the config (Leif Sahlberg) [1610619] - [fs] smb3: if server does not support posix do not allow posix mount option (Leif Sahlberg) [1610619]- [security] cap_inode_getsecurity: use d_find_any_alias() instead of d_find_alias() (Joe Lawrence) [1638647] - [powerpc] powerpc/cacheinfo: Report the correct shared_cpu_map on big-cores (Steve Best) [1639265] - [powerpc] powerpc: Use cpu_smallcore_sibling_mask at SMT level on bigcores (Steve Best) [1639265] - [powerpc] powerpc: Detect the presence of big-cores via ibm, thread-groups (Steve Best) [1639265] - [x86] mark amd rome as unsupported (David Arcari) [1638506] - [netdrv] qed: Add support for virtual link (Chad Dupuis) [1638013] - [netdrv] qede: Add driver support for 20G link speed (Chad Dupuis) [1638013] - [netdrv] qed: Add driver support for 20G link speed (Chad Dupuis) [1638013] - [netdrv] qed: Fix shmem structure inconsistency between driver and the mfw (Chad Dupuis) [1638013] - [netdrv] qed: Add missing device config for RoCE EDPM in UFP mode (Chad Dupuis) [1638013] - [netdrv] qed: Add a flag which indicates if offload TC is set (Chad Dupuis) [1638013] - [netdrv] qed: Do not add VLAN 0 tag to untagged frames in multi-function mode (Chad Dupuis) [1638013] - [netdrv] qed: Fix populating the invalid stag value in multi function mode (Chad Dupuis) [1638013] - [tools] perf python: Fix pyrf_evlist__read_on_cpu() interface (Jiri Olsa) [1628229] - [tools] perf mmap: Store real cpu number in 'struct perf_mmap' (Jiri Olsa) [1628229]- [fs] gfs2: Fix iomap buffered write support for journaled files (2) (Andreas Grunbacher) [1637944] - [xen] xen/manage: don't complain about an empty value in control/sysrq node (Vitaly Kuznetsov) [1623344] - [drm] drm/amdgpu: Silence harmless WARN_ON() during MST disable (Lyude Paul) [1638137] - [netdrv] net: macb: Fix regression breaking non-MDIO fixed-link PHYs (Petr Oros) [1638259] - [netdrv] net: macb: do not disable MDIO bus at open/close time (Petr Oros) [1638259] - [fs] proc: restrict kernel stack dumps to root (Waiman Long) [1638044] - [base] firmware: Always initialize the fw_priv list object (Waiman Long) [1638044] - [base] firmware: Fix security issue with request_firmware_into_buf() (Waiman Long) [1638044] - [fs] sysfs: Do not return POSIX ACL xattrs via listxattr (Waiman Long) [1638044] - [fs] vfs: don't evict uninitialized inode (Waiman Long) [1638044] - [fs] new primitive: discard_new_inode() (Waiman Long) [1638044] - [arm64] arm64: jump_label.h: use asm_volatile_goto macro instead of "asm goto" (Waiman Long) [1638044] - [kernel] sched/topology: Set correct NUMA topology type (Waiman Long) [1638044] - [kernel] bpf: 32-bit RSH verification must truncate input before the ALU op (Waiman Long) [1638044] - [mm] mm: madvise(MADV_DODUMP): allow hugetlbfs pages (Waiman Long) [1638044] - [x86] x86/pti: Fix section mismatch warning/error (Waiman Long) [1638044] - [kernel] uaccess: Fix is_source param for check_copy_size() in copy_to_iter_mcsafe() (Waiman Long) [1638044] - [x86] x86/mm: Expand static page table for fixmap space (Waiman Long) [1638044] - [fs] fs/lock: skip lock owner pid translation in case we are in init_pid_ns (Waiman Long) [1638044] - [x86] perf/x86/intel/lbr: Fix incomplete LBR call stack (Waiman Long) [1638044] - [kernel] perf/hw_breakpoint: Split attribute parse and commit (Waiman Long) [1638044] - [kernel] bitfield: fix *_encode_bits() (Waiman Long) [1638044] - [kernel] posix-timers: Sanitize overrun handling (Waiman Long) [1638044] - [kernel] posix-timers: Make forward callback return s64 (Waiman Long) [1638044] - [kernel] alarmtimer: Prevent overflow for relative nanosleep (Waiman Long) [1638044] - [x86] x86/entry/64: Add two more instruction suffixes (Waiman Long) [1638044] - [powerpc] powerpc/kdump: Handle crashkernel memory reservation failure (Waiman Long) [1638044] - [s390] s390/mm: correct allocate_pgste proc_handler callback (Waiman Long) [1638044] - [x86] x86/numa_emulation: Fix emulated-to-physical node mapping (Waiman Long) [1638044] - [x86] x86/paravirt: Fix some warning messages (Waiman Long) [1638044] - [kernel] sched/fair: Fix vruntime_normalized() for remote non-migration wakeup (Waiman Long) [1638044] - [kernel] bpf/verifier: disallow pointer subtraction (Waiman Long) [1638044] - [mm] mm: shmem.c: Correctly annotate new inodes for lockdep (Waiman Long) [1638044] - [kernel] sched/core: Use smp_mb() in wake_woken_function() (Waiman Long) [1638044] - [kernel] bpf: fix rcu annotations in compute_effective_progs() (Waiman Long) [1638044] - [x86] x86/mm/pti: Add an overflow check to pti_clone_pmds() (Waiman Long) [1638044] - [x86] x86/pti: Check the return value of pti_user_pagetable_walk_pmd() (Waiman Long) [1638044] - [x86] x86/pti: Check the return value of pti_user_pagetable_walk_p4d() (Waiman Long) [1638044] - [powerpc] powerpc/pseries/mm: call H_BLOCK_REMOVE (Steve Best) [1637116] - [powerpc] powerpc/pseries/mm: factorize PTE slot computation (Steve Best) [1637116] - [powerpc] powerpc/pseries/mm: Introducing FW_FEATURE_BLOCK_REMOVE (Steve Best) [1637116] - [watchdog] watchdog/hpwdt: Disable PreTimeout when Timeout is smaller (Joseph Szczypek) [1632945] - [watchdog] watchdog: hpwdt: Update Driver Documentation (Joseph Szczypek) [1632945] - [watchdog] watchdog: hpwdt: Update version number (Joseph Szczypek) [1632945] - [watchdog] watchdog: hpwdt: Module parameter alias (Joseph Szczypek) [1632945] - [watchdog] watchdog: hpwdt: Display module parameters (Joseph Szczypek) [1632945] - [watchdog] watchdog: hpwdt: Claim NMI from iLO (Joseph Szczypek) [1632945] - [watchdog] watchdog: hpwdt: Initialize pretimeout from module parameter (Joseph Szczypek) [1632945]- [mm] mm/sparse: delete old sparse_init and enable new one (Baoquan He) [1625105] - [mm] mm/sparse: add new sparse_init_nid() and sparse_init() (Baoquan He) [1625105] - [mm] mm/sparse: move buffer init/fini to the common place (Baoquan He) [1625105] - [mm] mm/sparse: use the new sparse buffer functions in non-vmemmap (Baoquan He) [1625105] - [mm] mm/sparse: abstract sparse buffer allocations (Baoquan He) [1625105] - [mm] mm/sparse: optimize memmap allocation during sparse_init() (Baoquan He) [1625105] - [mm] mm/sparse.c: add a new parameter 'data_unit_size' for alloc_usemap_and_memmap (Baoquan He) [1625105] - [mm] mm/sparsemem.c: defer the ms->section_mem_map clearing (Baoquan He) [1625105] - [mm] mm/sparse.c: add a static variable nr_present_sections (Baoquan He) [1625105] - [mm] mm/sparse.c: make sparse_init_one_section void and remove check (Baoquan He) [1625105] - [target] scsi: target: iscsi: cxgbit: fix csk leak (Arjun Vynipadath) [1628864] - [target] scsi: target: iscsi: cxgbit: use pr_debug() instead of pr_info() (Arjun Vynipadath) [1628864] - [infiniband] iw_cxgb4: only allow 1 flush on user qps (Arjun Vynipadath) [1628865] - [infiniband] iw_cxgb4: pass window scale in flowc work request (Arjun Vynipadath) [1628865] - [infiniband] iw_cxgb4: remove duplicate memcpy() in c4iw_create_listen() (Arjun Vynipadath) [1628865] - [netdrv] mlxsw: spectrum_switchdev: Do not leak RIFs when removing bridge (Petr Oros) [1638268] - [tty] tty: vt_ioctl: fix potential Spectre v1 (Prarit Bhargava) [1637123] - [powerpc] powerpc/time: Add set_state_oneshot_stopped decrementer callback (Steve Best) [1638287] - [powerpc] powerpc/time: Use clockevents_register_device(), fixing an issue with large decrementer (Steve Best) [1638287] - [hwmon] hwmon: (nct6775) Fix potential Spectre v1 (Dean Nelson) [1637464] - [vfio] vfio-pci: Disable binding to PFs with SR-IOV enabled (Alex Williamson) [1637871] - [netdrv] net: hns3: fix page_offset overflow when CONFIG_ARM64_64K_PAGES (Petr Oros) [1638385] - [netdrv] net: hns: fix skb->truesize underestimation (Petr Oros) [1638385] - [netdrv] net: hns: fix length and page_offset overflow when CONFIG_ARM64_64K_PAGES (Petr Oros) [1638385] - [netdrv] net: hns3: Fix get_vector ops in hclgevf_main module (Petr Oros) [1638385] - [netdrv] net: hns3: Fix warning bug when doing lp selftest (Petr Oros) [1638385] - [netdrv] net: hns3: Fix for mac pause not disable in pfc mode (Petr Oros) [1638385] - [netdrv] net: hns3: Fix for mailbox message truncated problem (Petr Oros) [1638385] - [netdrv] net: hns3: Fix return value error in hns3_reset_notify_down_enet (Petr Oros) [1638385] - [netdrv] net: hns3: Fix for reset_level default assignment probelm (Petr Oros) [1638385] - [netdrv] net: hns3: Reset net device with rtnl_lock (Petr Oros) [1638385] - [netdrv] net: hns3: Fix for phy link issue when using marvell phy driver (Petr Oros) [1638385] - [netdrv] net: hns3: Fix for command format parsing error in hclge_is_all_function_id_zero (Petr Oros) [1638385] - [net] xprtrdma: Fix disconnect regression (Don Dutile) [1635418] - [infiniband] RDMA/uverbs: Fix validity check for modify QP (Don Dutile) [1635418] - [infiniband] IB/srp: Avoid that sg_reset -d $srp_device triggers an infinite loop (Don Dutile) [1635418] - [infiniband] ucma: fix a use-after-free in ucma_resolve_ip() (Don Dutile) [1635418] - [infiniband] RDMA/uverbs: Atomically flush and mark closed the comp event queue (Don Dutile) [1635418] - [infiniband] RDMA/mlx4: Ensure that maximal send/receive SGE less than supported by HW (Don Dutile) [1635418 1623100] - [infiniband] RDMA/cma: Protect cma dev list with lock (Don Dutile) [1635418] - [infiniband] IB/ipoib: Avoid a race condition between start_xmit and cm_rep_handler (Don Dutile) [1635418] - [infiniband] RDMA/ucma: check fd type in ucma_migrate_id() (Don Dutile) [1635418] - [infiniband] RDMA/rxe: Set wqe->status correctly if an unexpected response is received (Don Dutile) [1635418] - [infiniband] IB/IPoIB: Set ah valid flag in multicast send flow (Don Dutile) [1635418] - [infiniband] RDMA/core: Avoid holding lock while initializing fields on stack (Don Dutile) [1635418] - [infiniband] IB/rxe: Drop QP0 silently (Don Dutile) [1635418] - [infiniband] RDMA/umem: Don't hold mmap_sem for too long (Don Dutile) [1635418] - [infiniband] IB/srpt: Fix srpt_cm_req_recv() error path (2/2) (Don Dutile) [1635418] - [infiniband] IB/srpt: Fix srpt_cm_req_recv() error path (1/2) (Don Dutile) [1635418] - [infiniband] RDMA: Fix storage of PortInfo CapabilityMask in the kernel (Don Dutile) [1635418] - [infiniband] IB/core: type promotion bug in rdma_rw_init_one_mr() (Don Dutile) [1635418] - [infiniband] RDMA/i40w: Hold read semaphore while looking after VMA (Don Dutile) [1635418] - [infiniband] vmw_pvrdma: Release netdev when vmxnet3 module is removed (Don Dutile) [1635418] - [infiniband] ib_srpt: Fix a use-after-free in __srpt_close_all_ch() (Don Dutile) [1635418] - [infiniband] ib_srpt: Fix a use-after-free in srpt_close_ch() (Don Dutile) [1635418] - [infiniband] IB/srpt: Support HCAs with more than two ports (Don Dutile) [1635418] - [infiniband] IB/rxe: don't clear the tx queue on every transfer (Don Dutile) [1635418] - [infiniband] IB/core: add max_send_sge and max_recv_sge attributes (Don Dutile) [1635418 1623100] - [infiniband] IB/rxe: support for 802.1q VLAN on the listener (Don Dutile) [1635418] - [netdrv] cxgb4: impose mandatory VLAN usage when non-zero TAG ID (Arjun Vynipadath) [1628863] - [netdrv] cxgb4: when max_tx_rate is 0 disable tx rate limiting (Arjun Vynipadath) [1628863] - [netdrv] cxgb4: do not return DUPLEX_UNKNOWN when link is down (Arjun Vynipadath) [1628863] - [netdrv] cxgb4: expose stats fetched from firmware via debugfs (Arjun Vynipadath) [1628863] - [netdrv] cxgb4: remove stats fetched from firmware (Arjun Vynipadath) [1628863] - [netdrv] cxgb4: specify IQTYPE in fw_iq_cmd (Arjun Vynipadath) [1628863] - [netdrv] cxgb4: Fix the condition to check if the card is T5 (Arjun Vynipadath) [1628863] - [netdrv] cxgb4: Support ethtool private flags (Arjun Vynipadath) [1628863] - [netdrv] cxgb4: Add support for FW_ETH_TX_PKT_VM_WR (Arjun Vynipadath) [1628863] - [netdrv] cxgb4: Add flag tc_flower_initialized (Arjun Vynipadath) [1628863] - [s390] s390/zcrypt: remove VLA usage from the AP bus (Philipp Rudo) [1637865] - [s390] s390/ap_bus: replace PTR_RET with PTR_ERR_OR_ZERO (Philipp Rudo) [1637865] - [s390] s390/crypto: fix gcc 8 stringop-truncation warning (Philipp Rudo) [1637865] - [s390] s390/zcrypt: code beautify (Philipp Rudo) [1637865] - [s390] s390/zcrypt: add copy_from_user length plausibility checks (Philipp Rudo) [1637865] - [s390] s390/zcrypt: Show load of cards and queues in sysfs (Philipp Rudo) [1637865] - [s390] s390/kvm: fix deadlock when killed by oom (Philipp Rudo) [1638264] - [fs] xfs: fix data corruption w/ unaligned reflink ranges (Brian Foster) [1633476] - [fs] xfs: fix data corruption w/ unaligned dedupe ranges (Brian Foster) [1633476] - [fs] xfs: update ctime and remove suid before cloning files (Brian Foster) [1633476] - [fs] xfs: zero posteof blocks when cloning above eof (Brian Foster) [1633476] - [fs] xfs: refactor clonerange preparation into a separate helper (Brian Foster) [1633476] - [netdrv] nfp: avoid buffer leak when FW communication fails (Petr Oros) [1638233] - [netdrv] nfp: don't fail probe on pci_sriov_set_totalvfs() errors (Petr Oros) [1638233] - [netdrv] nfp: wait for posted reconfigs when disabling the device (Petr Oros) [1638233] - [netdrv] liquidio: fix hang when re-binding VF host drv after running DPDK VF driver (Petr Oros) [1638224] - [netdrv] r8169: set RxConfig after tx/rx is enabled for RTL8169sb/8110sb devices (Petr Oros) [1638210] - [netdrv] r8169: add support for NCube 8168 network card (Petr Oros) [1638210] - [netdrv] r8169: don't use MSI-X on RTL8106e (Petr Oros) [1638210] - [netdrv] r8169: don't use MSI-X on RTL8168g (Petr Oros) [1638210] - [powerpc] KVM: PPC: Book3S HV: Fix guest r11 corruption with POWER9 TM workarounds (David Gibson) [1637766] - [drm] drm/amdgpu: Suppress keypresses from ACPI_VIDEO events (Lyude Paul) [1631918] - [infiniband] IB/hfi1: Remove race conditions in user_sdma send path (Alex Estrin) [1637068] - [infiniband] IB/hfi1: Eliminate races in the SDMA send error path (Alex Estrin) [1637068] - [infiniband] IB/hfi1: Fix destroy_qp hang after a link down (Alex Estrin) [1637068] - [infiniband] IB/hfi1: Fix context recovery when PBC has an UnsupportedVL (Alex Estrin) [1637068] - [infiniband] IB/hfi1: Invalid user input can result in crash (Alex Estrin) [1637068] - [infiniband] IB/hfi1: Fix SL array bounds check (Alex Estrin) [1637068] - [powerpc] powerpc/fadump: re-register firmware-assisted dump if already registered (Steve Best) [1637383] - [powerpc] powerpc/fadump: cleanup crash memory ranges support (Steve Best) [1637383] - [powerpc] powerpc/fadump: merge adjacent memory ranges to reduce PT_LOAD segements (Steve Best) [1637383] - [powerpc] powerpc/fadump: handle crash memory ranges array index overflow (Steve Best) [1637383] - [scsi] scsi: qedi: Initialize the stats mutex lock (Chad Dupuis) [1637245] - [fs] gfs2: Fix iomap buffered write support for journaled files (Andreas Grunbacher) [1637944] - [fs] gfs2: eliminate update_rgrp_lvb_unlinked (Andreas Grunbacher) [1637944] - [fs] gfs2: Fix gfs2_testbit to use clone bitmaps (Andreas Grunbacher) [1637944] - [fs] gfs2: Get rid of gfs2_ea_strlen (Andreas Grunbacher) [1637944] - [fs] GFS2: rgrp free blocks used incorrectly (Andreas Grunbacher) [1637944] - [fs] gfs2: remove redundant variable 'moved' (Andreas Grunbacher) [1637944] - [fs] gfs2: use iomap_readpage for blocksize == PAGE_SIZE (Andreas Grunbacher) [1637944] - [fs] gfs2: Use iomap for stuffed direct I/O reads (Andreas Grunbacher) [1637944] - [fs] gfs2: fallocate_chunk: Always initialize struct iomap (Andreas Grunbacher) [1637944] - [fs] gfs2: Remove gfs2_write_(begin,end) (Andreas Grunbacher) [1637944] - [fs] gfs2: iomap direct I/O support (Andreas Grunbacher) [1637944] - [fs] gfs2: gfs2_extent_length cleanup (Andreas Grunbacher) [1637944] - [fs] gfs2: iomap buffered write support (Andreas Grunbacher) [1637944] - [fs] gfs2: Further iomap cleanups (Andreas Grunbacher) [1637944] - [fs] fs: gfs2: Adding new return type vm_fault_t (Andreas Grunbacher) [1637944] - [fs] gfs2: using posix_acl_xattr_size instead of posix_acl_to_xattr (Andreas Grunbacher) [1637944] - [fs] gfs2: Don't reject a supposedly full bitmap if we have blocks reserved (Andreas Grunbacher) [1637944] - [fs] gfs2: Eliminate redundant ip->i_rgd (Andreas Grunbacher) [1637944] - [fs] gfs2: Stop messing with ip->i_rgd in the rlist code (Andreas Grunbacher) [1637944] - [fs] gfs2: call ktime_get_coarse_real_ts64() directly (Andreas Grunbacher) [1637944] - [fs] gfs2: Minor clarification to __gfs2_punch_hole (Andreas Grunbacher) [1637944] - [fs] gfs2: Don't withdraw under a spin lock (Andreas Grunbacher) [1637944] - [fs] gfs2: eliminate rs_inum and reduce the size of gfs2 inodes (Andreas Grunbacher) [1637944] - [drm] drm/nouveau/drm/nouveau: Grab runtime PM ref in nv50_mstc_detect() (Lyude Paul) [1628749] - [drm] drm/nouveau/disp: fix DP disable race (Lyude Paul) [1628749] - [drm] drm/nouveau/drm/nouveau: Don't forget to cancel hpd_work on suspend/unload (Lyude Paul) [1628749] - [drm] drm/nouveau/drm/nouveau: Prevent handling ACPI HPD events too early (Lyude Paul) [1628749] - [drm] drm/nouveau: Reset MST branching unit before enabling (Lyude Paul) [1628749] - [drm] drm/nouveau: Only write DP_MSTM_CTRL when needed (Lyude Paul) [1628749] - [drm] drm/nouveau: Remove useless poll_enable() call in drm_load() (Lyude Paul) [1628749] - [drm] drm/nouveau: Remove useless poll_disable() call in switcheroo_set_state() (Lyude Paul) [1628749] - [drm] drm/nouveau: Remove useless poll_enable() call in switcheroo_set_state() (Lyude Paul) [1628749] - [drm] drm/nouveau: Fix deadlocks in nouveau_connector_detect() (Lyude Paul) [1628749] - [drm] drm/nouveau/drm/nouveau: Use pm_runtime_get_noresume() in connector_detect() (Lyude Paul) [1628749] - [drm] drm/nouveau/drm/nouveau: Fix deadlock with fb_helper with async RPM requests (Lyude Paul) [1628749] - [drm] drm/nouveau: Remove duplicate poll_enable() in pmops_runtime_suspend() (Lyude Paul) [1628749] - [drm] drm/nouveau/drm/nouveau: Fix bogus drm_kms_helper_poll_enable() placement (Lyude Paul) [1628749] - [md] dm table: require that request-based DM be layered on blk-mq devices (Mike Snitzer) [1637682] - [md] dm: rename DM_TYPE_MQ_REQUEST_BASED to DM_TYPE_REQUEST_BASED (Mike Snitzer) [1637682] - [md] dm: remove legacy request-based IO path (Mike Snitzer) [1637682] - [md] dm linear: fix linear_end_io conditional definition (Mike Snitzer) [1637682] - [md] dm linear: eliminate linear_end_io call if CONFIG_DM_ZONED disabled (Mike Snitzer) [1637682] - [md] dm: fix report zone remapping to account for partition offset (Mike Snitzer) [1637682] - [md] dm cache: destroy migration_cache if cache target registration failed (Mike Snitzer) [1637682] - [md] dm cache: fix resize crash if user doesn't reload cache table (Mike Snitzer) [1637682] - [md] dm cache metadata: ignore hints array being too small during resize (Mike Snitzer) [1637682] - [md] dm raid: remove bogus const from decipher_sync_action() return type (Mike Snitzer) [1637682] - [md] dm mpath: fix attached_handler_name leak and dangling hw_handler_name pointer (Mike Snitzer) [1637682] - [md] dm thin metadata: fix __udivdi3 undefined on 32-bit (Mike Snitzer) [1637682] - [md] dm thin metadata: try to avoid ever aborting transactions (Mike Snitzer) [1637682] - [md] dm raid: bump target version, update comments and documentation (Mike Snitzer) [1637682] - [md] dm raid: fix RAID leg rebuild errors (Mike Snitzer) [1637682] - [md] dm raid: fix rebuild of specific devices by updating superblock (Mike Snitzer) [1637682] - [md] dm raid: fix stripe adding reshape deadlock (Mike Snitzer) [1637682] - [md] dm raid: fix reshape race on small devices (Mike Snitzer) [1637682] - [md] dm: disable CRYPTO_TFM_REQ_MAY_SLEEP to fix a GFP_KERNEL recursion deadlock (Mike Snitzer) [1637682] - [md] dm verity: fix crash on bufio buffer that was allocated with vmalloc (Mike Snitzer) [1637682] - [md] dm writecache: fix a crash due to reading past end of dirty_bitmap (Mike Snitzer) [1637682] - [md] dm crypt: don't decrease device limits (Mike Snitzer) [1637682] - [md] dm cache metadata: set dirty on all cache blocks after a crash (Mike Snitzer) [1637682] - [md] dm snapshot: remove stale FIXME in snapshot_map() (Mike Snitzer) [1637682] - [md] dm snapshot: improve performance by switching out_of_order_list to rbtree (Mike Snitzer) [1637682] - [md] dm kcopyd: avoid softlockup in run_complete_job (Mike Snitzer) [1637682] - [md] dm cache metadata: save in-core policy_hint_size to on-disk superblock (Mike Snitzer) [1637682] - [md] dm thin: stop no_space_timeout worker when switching to write-mode (Mike Snitzer) [1637682] - [md] dm kcopyd: return void from dm_kcopyd_copy() (Mike Snitzer) [1637682] - [md] dm thin: include metadata_low_watermark threshold in pool status (Mike Snitzer) [1637682] - [md] dm writecache: report start_sector in status line (Mike Snitzer) [1637682] - [md] dm crypt: convert essiv from ahash to shash (Mike Snitzer) [1637682] - [md] dm crypt: use wake_up_process() instead of a wait queue (Mike Snitzer) [1637682] - [md] dm integrity: recalculate checksums on creation (Mike Snitzer) [1637682] - [md] dm integrity: flush journal on suspend when using separate metadata device (Mike Snitzer) [1637682] - [md] dm integrity: use version 2 for separate metadata (Mike Snitzer) [1637682] - [md] dm integrity: allow separate metadata device (Mike Snitzer) [1637682] - [md] dm integrity: add ic->start in get_data_sector() (Mike Snitzer) [1637682] - [md] dm integrity: report provided data sectors in the status (Mike Snitzer) [1637682] - [md] dm integrity: implement fair range locks (Mike Snitzer) [1637682] - [md] dm integrity: decouple common code in dm_integrity_map_continue() (Mike Snitzer) [1637682] - [md] dm integrity: change 'suspending' variable from bool to int (Mike Snitzer) [1637682] - [md] dm delay: add flush as a third class of IO (Mike Snitzer) [1637682] - [md] dm delay: refactor repetitive code (Mike Snitzer) [1637682] - [md] dm cache: only allow a single io_mode cache feature to be requested (Mike Snitzer) [1637682] - [md] dm thin: update stale "Status" Documentation (Mike Snitzer) [1637682] - [pci] PCI: Reprogram bridge prefetch registers on resume (Myron Stowe) [1637155] - [input] Input: xen-kbdfront - fix multi-touch XenStore node's locations (Benjamin Tissoires) [1637027] - [input] Input: elantech - enable middle button of touchpad on ThinkPad P72 (Benjamin Tissoires) [1637027] - [hid] HID: i2c-hid: Use devm to allocate i2c_hid struct (Benjamin Tissoires) [1637027] - [hid] HID: input: fix leaking custom input node name (Benjamin Tissoires) [1637027] - [hid] HID: core: fix grouping by application (Benjamin Tissoires) [1637027] - [hid] HID: multitouch: fix Elan panels with 2 input modes declaration (Benjamin Tissoires) [1637027] - [input] Input: do not use WARN() in input_alloc_absinfo() (Benjamin Tissoires) [1637027] - [s390] s390: vfio-ap: setup APCB mask using KVM dedicated function (Cornelia Huck) [1508118] - [s390] KVM: s390: Tracing APCB changes (Cornelia Huck) [1508118] - [s390] KVM: s390: fix locking for crypto setting error path (Cornelia Huck) [1508118] - [s390] s390: doc: detailed specifications for AP virtualization (Cornelia Huck) [1508118] - [s390] KVM: s390: CPU model support for AP virtualization (Cornelia Huck) [1508118] - [s390] KVM: s390: device attrs to enable/disable AP interpretation (Cornelia Huck) [1508118] - [s390] KVM: s390: vsie: allow guest FORMAT-0 CRYCB on host FORMAT-2 (Cornelia Huck) [1508118] - [s390] KVM: s390: vsie: allow guest FORMAT-1 CRYCB on host FORMAT-2 (Cornelia Huck) [1508118] - [s390] KVM: s390: vsie: allow guest FORMAT-0 CRYCB on host FORMAT-1 (Cornelia Huck) [1508118] - [s390] KVM: s390: vsie: allow CRYCB FORMAT-0 (Cornelia Huck) [1508118] - [s390] KVM: s390: vsie: allow CRYCB FORMAT-1 (Cornelia Huck) [1508118] - [s390] KVM: s390: vsie: Allow CRYCB FORMAT-2 (Cornelia Huck) [1508118] - [s390] KVM: s390: vsie: Make use of CRYCB FORMAT2 clear (Cornelia Huck) [1508118] - [s390] KVM: s390: vsie: Do the CRYCB validation first (Cornelia Huck) [1508118] - [s390] KVM: s390: Clear Crypto Control Block when using vSIE (Cornelia Huck) [1508118] - [s390] s390: vfio-ap: implement VFIO_DEVICE_RESET ioctl (Cornelia Huck) [1508118] - [s390] s390: vfio-ap: zeroize the AP queues (Cornelia Huck) [1508118] - [s390] s390: vfio-ap: implement VFIO_DEVICE_GET_INFO ioctl (Cornelia Huck) [1508118] - [s390] s390: vfio-ap: implement mediated device open callback (Cornelia Huck) [1508118] - [s390] KVM: s390: interface to clear CRYCB masks (Cornelia Huck) [1508118] - [s390] s390: vfio-ap: sysfs interface to view matrix mdev matrix (Cornelia Huck) [1508118] - [s390] s390: vfio-ap: sysfs interfaces to configure control domains (Cornelia Huck) [1508118] - [s390] s390: vfio-ap: sysfs interfaces to configure domains (Cornelia Huck) [1508118] - [s390] s390: vfio-ap: sysfs interfaces to configure adapters (Cornelia Huck) [1508118] - [s390] s390: vfio-ap: register matrix device with VFIO mdev framework (Cornelia Huck) [1508118] - [s390] s390: vfio-ap: base implementation of VFIO AP device driver (Cornelia Huck) [1508118] - [s390] KVM: s390: refactor crypto initialization (Cornelia Huck) [1508118] - [s390] KVM: s390: introduce and use KVM_REQ_VSIE_RESTART (Cornelia Huck) [1508118] - [s390] KVM: s390: vsie: simulate VCPU SIE entry/exit (Cornelia Huck) [1508118] - [s390] s390/zcrypt: hex string mask improvements for apmask and aqmask (Cornelia Huck) [1508118] - [s390] s390/zcrypt: AP bus support for alternate driver(s) (Cornelia Huck) [1508118] - [s390] s390/zcrypt: switch return type to bool for ap_instructions_available() (Cornelia Huck) [1508118] - [s390] s390/zcrypt: fix ap_instructions_available() returncodes (Cornelia Huck) [1508118] - [s390] s390/zcrypt: Integrate ap_asm.h into include/asm/ap.h (Cornelia Huck) [1508118] - [s390] s390/zcrypt: Review inline assembler constraints (Cornelia Huck) [1508118] - [s390] s390/zcrypt: Add ZAPQ inline function (Cornelia Huck) [1508118] - [net] ipv6: use rt6_info members when dst is set in rt6_fill_node (Xin Long) [1625864 1625803 1625117]- [netdrv] amd-xgbe: use dma_mapping_error to check map errors (David Arcari) [1637666] - [crypto] crypto: qat - Fix KASAN stack-out-of-bounds bug in adf_probe() (Waiman Long) [1629547] - [powerpc] powerpc: fix csum_ipv6_magic() on little endian platforms (Diego Domingos) [1625579] - [net] smc: generic netlink family should be __ro_after_init (Philipp Rudo) [1632435] - [net] net/smc: fix sizeof to int comparison (Philipp Rudo) [1632435] - [net] net/smc: no urgent data check for listen sockets (Philipp Rudo) [1632435] - [net] net/smc: enable fallback for connection abort in state INIT (Philipp Rudo) [1632435] - [net] net/smc: remove duplicate mutex_unlock (Philipp Rudo) [1632435] - [net] net/smc: fix non-blocking connect problem (Philipp Rudo) [1632435] - [net] net/smc: send response to test link signal (Philipp Rudo) [1632435] - [net] net: simplify sock_poll_wait (Philipp Rudo) [1632435] - [net] net/smc: Simplify ib_post_(send|recv|srq_recv)() calls (Philipp Rudo) [1632435] - [net] net/smc: Remove a WARN_ON() statement (Philipp Rudo) [1632435] - [powerpc] KVM: PPC: Book3S HV: Add NO_HASH flag to GET_SMMU_INFO ioctl result (Suraj Jitindar Singh) [1505999] - [powerpc] KVM: PPC: Book3S HV: Add a VM capability to enable nested virtualization (Suraj Jitindar Singh) [1505999] - [powerpc] KVM: PPC: Book3S HV: Add nested shadow page tables to debugfs (Suraj Jitindar Singh) [1505999] - [powerpc] KVM: PPC: Book3S HV: Allow HV module to load without hypervisor mode (Suraj Jitindar Singh) [1505999] - [powerpc] KVM: PPC: Book3S HV: Handle differing endianness for H_ENTER_NESTED (Suraj Jitindar Singh) [1505999] - [powerpc] KVM: PPC: Book3S HV: Sanitise hv_regs on nested guest entry (Suraj Jitindar Singh) [1505999] - [powerpc] KVM: PPC: Book3S HV: Add one-reg interface to virtual PTCR register (Suraj Jitindar Singh) [1505999] - [powerpc] KVM: PPC: Book3S HV: Don't access HFSCR, LPIDR or LPCR when running nested (Suraj Jitindar Singh) [1505999] - [powerpc] KVM: PPC: Book3S HV: Invalidate TLB when nested vcpu moves physical cpu (Suraj Jitindar Singh) [1505999] - [powerpc] KVM: PPC: Book3S HV: Use hypercalls for TLB invalidation when nested (Suraj Jitindar Singh) [1505999] - [powerpc] KVM: PPC: Book3S HV: Implement H_TLB_INVALIDATE hcall (Suraj Jitindar Singh) [1505999] - [powerpc] KVM: PPC: Book3S HV: Introduce rmap to track nested guest mappings (Suraj Jitindar Singh) [1505999] - [powerpc] KVM: PPC: Book3S HV: Handle page fault for a nested guest (Suraj Jitindar Singh) [1505999] - [powerpc] KVM: PPC: Book3S HV: Handle hypercalls correctly when nested (Suraj Jitindar Singh) [1505999] - [powerpc] KVM: PPC: Book3S HV: Use XICS hypercalls when running as a nested hypervisor (Suraj Jitindar Singh) [1505999] - [powerpc] KVM: PPC: Book3S HV: Nested guest entry via hypercall (Suraj Jitindar Singh) [1505999] - [powerpc] KVM: PPC: Book3S HV: Framework and hcall stubs for nested virtualization (Suraj Jitindar Singh) [1505999] - [powerpc] KVM: PPC: Book3S HV: Use kvmppc_unmap_pte() in kvm_unmap_radix() (Suraj Jitindar Singh) [1505999] - [powerpc] KVM: PPC: Book3S HV: Refactor radix page fault handler (Suraj Jitindar Singh) [1505999] - [powerpc] KVM: PPC: Book3S HV: Make kvmppc_mmu_radix_xlate process/partition table agnostic (Suraj Jitindar Singh) [1505999] - [powerpc] KVM: PPC: Book3S HV: Clear partition table entry on vm teardown (Suraj Jitindar Singh) [1505999] - [powerpc] KVM: PPC: Use ccr field in pt_regs struct embedded in vcpu struct (Suraj Jitindar Singh) [1505999] - [powerpc] KVM: PPC: Book3S HV: Add a debugfs file to dump radix mappings (Suraj Jitindar Singh) [1505999] - [powerpc] KVM: PPC: Book3S HV: Handle hypervisor instruction faults better (Suraj Jitindar Singh) [1505999] - [powerpc] KVM: PPC: Book3S HV: Streamlined guest entry/exit path on P9 for radix guests (Suraj Jitindar Singh) [1505999] - [powerpc] KVM: PPC: Book3S HV: Call kvmppc_handle_exit_hv() with vcore unlocked (Suraj Jitindar Singh) [1505999] - [powerpc] KVM: PPC: Book3S: Rework TM save/restore code and make it C-callable (Suraj Jitindar Singh) [1505999] - [powerpc] KVM: PPC: Book3S HV: Simplify real-mode interrupt handling (Suraj Jitindar Singh) [1505999] - [powerpc] KVM: PPC: Book3S HV: Extract PMU save/restore operations as C-callable functions (Suraj Jitindar Singh) [1505999] - [powerpc] KVM: PPC: Book3S HV: Move interrupt delivery on guest entry to C code (Suraj Jitindar Singh) [1505999] - [powerpc] KVM: PPC: Book3S HV: Remove left-over code in XICS-on-XIVE emulation (Suraj Jitindar Singh) [1505999] - [powerpc] KVM: PPC: Book3S: Simplify external interrupt handling (Suraj Jitindar Singh) [1505999] - [powerpc] powerpc: Turn off CPU_FTR_P9_TM_HV_ASSIST in non-hypervisor mode (Suraj Jitindar Singh) [1505999] - [powerpc] powerpc/64s: Remove POWER9 DD1 support (Suraj Jitindar Singh) [1505999] - [netdrv] net/mlx5: Add Fast teardown support (Alaa Hleihel) [1636554] - [netdrv] net/mlx5e: Set vlan masks for all offloaded TC rules (Alaa Hleihel) [1636554] - [netdrv] net/mlx5: E-Switch, Fix out of bound access when setting vport rate (Alaa Hleihel) [1636554] - [netdrv] net/mlx5e: Avoid unbounded peer devices when unpairing TC hairpin rules (Alaa Hleihel) [1636554] - [netdrv] net/mlx5: Cache the system image guid (Alaa Hleihel) [1636554] - [netdrv] mlx5: remove ndo_poll_controller (Alaa Hleihel) [1636554] - [netdrv] net/mlx5: Check for SQ and not RQ state when modifying hairpin SQ (Alaa Hleihel) [1636554] - [netdrv] net/mlx5: Fix read from coherent memory (Alaa Hleihel) [1636554] - [netdrv] net/mlx5e: don't set CHECKSUM_COMPLETE on SCTP packets (Alaa Hleihel) [1636554] - [netdrv] net/mlx5e: Set ECN for received packets using CQE indication (Alaa Hleihel) [1636554] - [netdrv] net/mlx5: Fix possible deadlock from lockdep when adding fte to fg (Alaa Hleihel) [1636554] - [netdrv] net/mlx5: Check for error in mlx5_attach_interface (Alaa Hleihel) [1636554] - [netdrv] net/mlx5: Consider PCI domain in search for next dev (Alaa Hleihel) [1636554] - [netdrv] net/mlx5: Fix not releasing read lock when adding flow rules (Alaa Hleihel) [1636554] - [netdrv] net/mlx5: E-Switch, Fix memory leak when creating switchdev mode FDB tables (Alaa Hleihel) [1636554] - [netdrv] net/mlx5: Use u16 for Work Queue buffer strides offset (Alaa Hleihel) [1636554] - [netdrv] net/mlx5: Use u16 for Work Queue buffer fragment size (Alaa Hleihel) [1636554] - [netdrv] net/mlx5: Fix debugfs cleanup in the device init/remove flow (Alaa Hleihel) [1636554] - [netdrv] net/mlx5: Fix use-after-free in self-healing flow (Alaa Hleihel) [1636554] - [netdrv] net/mlx5e: Make function mlx5i_grp_sw_update_stats() static (Alaa Hleihel) [1636554] - [netdrv] net/mlx5e: IPoIB, Use priv stats in completion rx flow (Alaa Hleihel) [1636554] - [netdrv] net/mlx5e: IPoIB, Add ndo stats support for IPoIB child devices (Alaa Hleihel) [1636554] - [netdrv] net/mlx5e: IPoIB, Add ndo stats support for IPoIB netdevices (Alaa Hleihel) [1636554] - [netdrv] net/mlx5e: IPoIB, Initialize max_opened_tc in mlx5i_init flow (Alaa Hleihel) [1636554] - [netdrv] IB/mlx5: Fix leaking stack memory to userspace (Alaa Hleihel) [1636554] - [netdrv] net/mlx5: Reorganize the makefile (Alaa Hleihel) [1636554] - [netdrv] net/mlx5e: clock.c depends on CONFIG_PTP_1588_CLOCK (Alaa Hleihel) [1636554] - [netdrv] net/mlx5e: vxlan.c depends on CONFIG_VXLAN (Alaa Hleihel) [1636554] - [netdrv] net/mlx5e: Move flow steering declarations into en/fs.h (Alaa Hleihel) [1636554] - [netdrv] net/mlx5e: Add CONFIG_MLX5_EN_ARFS for accelerated flow steering support (Alaa Hleihel) [1636554] - [netdrv] net/mlx5e: Add CONFIG_MLX5_EN_RXNFC for ethtool rx nfc (Alaa Hleihel) [1636554] - [netdrv] net/mlx5e: Ethtool steering, move ethtool callbacks (Alaa Hleihel) [1636554] - [netdrv] net/mlx5: Reduce command polling interval (Alaa Hleihel) [1636554] - [netdrv] net/mlx5: Use max_num_eqs for calculation of required MSIX vectors (Alaa Hleihel) [1636554] - [netdrv] RDMA/mlx5: Fix shift overflow in mlx5_ib_create_wq (Alaa Hleihel) [1636554] - [netdrv] overflow.h: Add arithmetic shift helper (Alaa Hleihel) [1636554] - [netdrv] net/mlx5e: Fix uninitialized variable (Alaa Hleihel) [1636554] - [netdrv] RDMA: Fix return code check in rdma_set_cq_moderation (Alaa Hleihel) [1636554] - [netdrv] net/mlx5e: Vxlan, move vxlan logic to core driver (Alaa Hleihel) [1636554] - [netdrv] net/mlx5e: Vxlan, add sync lock for add/del vxlan port (Alaa Hleihel) [1636554] - [netdrv] net/mlx5e: Vxlan, return values for add/del port (Alaa Hleihel) [1636554] - [netdrv] net/mlx5e: Vxlan, rename from mlx5e to mlx5 (Alaa Hleihel) [1636554] - [netdrv] net/mlx5e: Vxlan, rename struct mlx5e_vxlan to mlx5_vxlan_port (Alaa Hleihel) [1636554] - [netdrv] net/mlx5e: Vxlan, move netdev only logic to en_main.c (Alaa Hleihel) [1636554] - [netdrv] net/mlx5e: Vxlan, add direct delete function (Alaa Hleihel) [1636554] - [netdrv] net/mlx5e: Vxlan, cleanup an unused member in vxlan work (Alaa Hleihel) [1636554] - [netdrv] net/mlx5e: Vxlan, replace ports radix-tree with hash table (Alaa Hleihel) [1636554] - [netdrv] net/mlx5e: Vxlan, check maximum number of UDP ports (Alaa Hleihel) [1636554] - [netdrv] net/mlx5e: Vxlan, reflect 4789 UDP port default addition to software database (Alaa Hleihel) [1636554] - [netdrv] net/mlx5e: Move XDP related code into new XDP files (Alaa Hleihel) [1636554] - [netdrv] net/mlx5e: Restrict the combination of large MTU and XDP (Alaa Hleihel) [1636554] - [netdrv] net/mlx5e: Gather all XDP pre-requisite checks in a single function (Alaa Hleihel) [1636554] - [netdrv] IB/mlx5: avoid excessive warning msgs when creating VFs on 2nd port (Alaa Hleihel) [1636554] - [netdrv] net/mlx5e: Use PARTIAL_GSO for UDP segmentation (Alaa Hleihel) [1636554] - [netdrv] net/mlx5e: Remove redundant WARN when we cannot find neigh entry (Alaa Hleihel) [1636554] - [netdrv] net/mlx5: Fix tristate and description for MLX5 module (Alaa Hleihel) [1636554] - [netdrv] net/mlx5: Better return types for CQE API (Alaa Hleihel) [1636554] - [netdrv] net/mlx5: Use ERR_CAST() instead of coding it (Alaa Hleihel) [1636554] - [netdrv] net/mlx5: Add missing SET_DRIVER_VERSION command translation (Alaa Hleihel) [1636554] - [netdrv] net/mlx5: fix uaccess beyond "count" in debugfs read/write handlers (Alaa Hleihel) [1636554] - [netdrv] IB/mlx5: Honor cnt_set_id_valid flag instead of set_id (Alaa Hleihel) [1636554] - [infiniband] IB/mlx5: fix uaccess beyond "count" in debugfs read/write handlers (Alaa Hleihel) [1636554] - [infiniband] IB/mlx5: Fix GRE flow specification (Alaa Hleihel) [1636554] - [infiniband] IB/mlx5: Remove set-but-not-used variables (Alaa Hleihel) [1636554] - [infiniband] RDMA/mlx5: Don't leak UARs in case of free fails (Alaa Hleihel) [1636554] - [netdrv] net/mlx5e: Update NIC HW stats on demand only (Alaa Hleihel) [1636554] - [netdrv] net/mlx5e: Add counter for total num of NOP operations (Alaa Hleihel) [1636554] - [netdrv] net/mlx5e: Add counter for MPWQE filler strides (Alaa Hleihel) [1636554] - [netdrv] net/mlx5e: Add channel events counter (Alaa Hleihel) [1636554] - [netdrv] net/mlx5e: Add a counter for congested UMRs (Alaa Hleihel) [1636554] - [netdrv] net/mlx5e: Add NAPI statistics (Alaa Hleihel) [1636554] - [netdrv] net/mlx5e: Add XDP_TX completions statistics (Alaa Hleihel) [1636554] - [netdrv] net/mlx5e: Add TX completions statistics (Alaa Hleihel) [1636554] - [netdrv] net/mlx5e: RX, Use existing WQ local variable (Alaa Hleihel) [1636554] - [netdrv] net/mlx5e: Convert large order kzalloc allocations to kvzalloc (Alaa Hleihel) [1636554] - [netdrv] net/mlx5e: Add UDP GSO remaining counter (Alaa Hleihel) [1636554] - [netdrv] net/mlx5e: Add UDP GSO support (Alaa Hleihel) [1636554] - [netdrv] net/mlx5: Rate limit errors in command interface (Alaa Hleihel) [1636554] - [netdrv] net/mlx5: Prevent warns in dmesg upon firmware commands (Alaa Hleihel) [1636554] - [netdrv] mlx4: remove ndo_poll_controller (Alaa Hleihel) [1636553] - [netdrv] net/mlx4: Use cpumask_available for eq->affinity_mask (Alaa Hleihel) [1636553] - [netdrv] net/mlx4/en_rx: Mark expected switch fall-throughs (Alaa Hleihel) [1636553] - [netdrv] net/mlx4/mcg: Mark expected switch fall-throughs (Alaa Hleihel) [1636553] - [infiniband] IB/mlx4: Use 4K pages for kernel QP's WQE buffer (Alaa Hleihel) [1636553] - [netdrv] net/mlx4_core: Allow MTTs starting at any index (Alaa Hleihel) [1636553] - [infiniband] IB/mlx4: Test port number before querying type (Alaa Hleihel) [1636553] - [powerpc] powerpc/numa: Skip onlining a offline node in kdump path (Steve Best) [1637118] - [netdrv] net: aquantia: Make function aq_fw1x_set_power() static (David Arcari) [1636533] - [netdrv] net: aquantia: memory corruption on jumbo frames (David Arcari) [1636533 1630377] - [netdrv] net: aquantia: bump driver version (David Arcari) [1636533] - [netdrv] net: aquantia: renaming for better visibility (David Arcari) [1636533] - [netdrv] net: aquantia: whitespace changes (David Arcari) [1636533] - [netdrv] net: aquantia: implement EEE support (David Arcari) [1636533] - [netdrv] net: aquantia: implement WOL support (David Arcari) [1636533] - [netdrv] net: aquantia: definitions for WOL (David Arcari) [1636533] - [netdrv] net: aquantia: fix hw_atl_utils_fw_upload_dwords (David Arcari) [1636533] - [netdrv] net: aquantia: Make some functions static (David Arcari) [1636533] - [netdrv] net: aquantia: bump driver version (David Arcari) [1636533] - [netdrv] net: aquantia: Add renegotiate ethtool operation support (David Arcari) [1636533] - [netdrv] net: aquantia: Implement rx/tx flow control ethtools callback (David Arcari) [1636533] - [netdrv] net: aquantia: Improve adapter init/deinit logic (David Arcari) [1636533] - [netdrv] net: aquantia: Ethtool based ring size configuration (David Arcari) [1636533] - [wireless] ath10k: fix memory leak of tpc_stats (Petr Oros) [1637528] - [wireless] ath10k: snoc: use correct bus-specific pointer in RX retry (Petr Oros) [1637528] - [wireless] ath10k: fix incorrect size of dma_free_coherent in ath10k_ce_alloc_src_ring_64 (Petr Oros) [1637528] - [wireless] brcmsmac: fix wrap around in conversion from constant to s16 (Petr Oros) [1637528] - [wireless] mt76x2: fix mrr idx/count estimation in mt76x2_mac_fill_tx_status() (Petr Oros) [1637528] - [wireless] ath10k: transmit queued frames after processing rx packets (Petr Oros) [1637528] - [wireless] ath10k: protect ath10k_htt_rx_ring_free with rx_ring.lock (Petr Oros) [1637528] - [wireless] ath10k: use locked skb_dequeue for rx completions (Petr Oros) [1637528] - [wireless] ath10k: sdio: set skb len for all rx packets (Petr Oros) [1637528] - [wireless] ath10k: sdio: use same endpoint id for all packets in a bundle (Petr Oros) [1637528] - [wireless] iwlwifi: cancel the injective function between hw pointers to tfd entry index (Petr Oros) [1637528] - [wireless] ath10k: disable bundle mgmt tx completion event support (Petr Oros) [1637528] - [wireless] ath10k: prevent active scans on potential unusable channels (Petr Oros) [1637528] - [wireless] ath9k_hw: fix channel maximum power level test (Petr Oros) [1637528] - [wireless] ath9k: report tx status on EOSP (Petr Oros) [1637528] - [wireless] iwlwifi: pcie: don't access periphery registers when not available (Petr Oros) [1637528] - [wireless] brcmfmac: fix brcmf_wiphy_wowl_params() NULL pointer dereference (Petr Oros) [1637528] - [netdrv] be2net: don't flip hw_features when VXLANs are added/deleted (Petr Oros) [1637133] - [netdrv] be2net: Fix memory leak in be_cmd_get_profile_config() (Petr Oros) [1637133] - [netdrv] be2net: Mark expected switch fall-through (Petr Oros) [1637133] - [netdrv] be2net: fix spelling mistake "seqence" -> "sequence" (Petr Oros) [1637133] - [netdrv] be2net: Update the driver version to 12.0.0.0 (Petr Oros) [1637133] - [netdrv] be2net: gather debug info and reset adapter (only for Lancer) on a tx-timeout (Petr Oros) [1637133] - [netdrv] be2net: move rss_flags field in rss_info to ensure proper alignment (Petr Oros) [1637133] - [netdrv] be2net: re-order fields in be_error_recovert to avoid hole (Petr Oros) [1637133] - [netdrv] be2net: remove unused tx_jiffies field from be_tx_stats (Petr Oros) [1637133] - [netdrv] be2net: move txcp field in be_tx_obj to eliminate holes in the struct (Petr Oros) [1637133] - [netdrv] be2net: reorder fields in be_eq_obj structure (Petr Oros) [1637133] - [netdrv] be2net: remove desc field from be_eq_obj (Petr Oros) [1637133] - [netdrv] be2net: remove unused old custom busy-poll fields (Petr Oros) [1637133] - [netdrv] be2net: remove unused old AIC info (Petr Oros) [1637133] - [x86] x86/spec_ctrl/compat: Call IBRS_ENTRY only after valid kernel stack (Waiman Long) [1636843] - [acpi] ACPI/PPTT: Handle architecturally unknown cache types (Jeremy Linton) [1636567] - [base] drivers: base: cacheinfo: Do not populate sysfs for unknown cache types (Jeremy Linton) [1636567] - [fs] getxattr: use correct xattr length (Lukas Czerner) [1637049] - [x86] Mark Intel Cascade Lake supported (Steve Best) [1636651] - [x86] x86/boot: Fix kexec booting failure in the SEV bit detection code (Kairui Song) [1632514] - [scsi] scsi: megaraid_sas: driver version upgrade (Tomas Henzl) [1635565] - [scsi] scsi: megaraid_sas: Support FW provided TM timeout values (Tomas Henzl) [1635565] - [scsi] scsi: megaraid_sas: Return immediately from wait_for_adapter_operational after kill adapter (Tomas Henzl) [1635565] - [scsi] scsi: megaraid_sas: Update controller info during resume (Tomas Henzl) [1635565] - [scsi] scsi: megaraid_sas: Do not do Kill adapter if GET_CTRL_INFO times out (Tomas Henzl) [1635565] - [scsi] qla2xxx: Update driver version to 10.00.00.07.08.0-k (Himanshu Madhani) [1633373] - [scsi] scsi: qla2xxx: Check for Register disconnect (Himanshu Madhani) [1633373] - [scsi] scsi: qla2xxx: Fix driver hang when FC-NVMe LUNs are configured (Himanshu Madhani) [1633373] - [scsi] scsi: qla2xxx: Fix re-using LoopID when handle is in use (Himanshu Madhani) [1633373] - [scsi] scsi: qla2xxx: Fix duplicate switch database entries (Himanshu Madhani) [1633373] - [scsi] scsi: qla2xxx: Fix NVMe session hang on unload (Himanshu Madhani) [1633373] - [scsi] scsi: qla2xxx: Fix iIDMA error (Himanshu Madhani) [1633373] - [scsi] scsi: qla2xxx: Fix stalled relogin (Himanshu Madhani) [1633373] - [scsi] scsi: qla2xxx: Fix unintended Logout (Himanshu Madhani) [1633373] - [powerpc] powerpc/pseries: Disable CPU hotplug across migrations (Steve Best) [1633587] - [block] blk-mq: I/O and timer unplugs are inverted in blktrace (Ming Lei) [1634330] - [block] block: fix deadline elevator drain for zoned block devices (Ming Lei) [1634333] - [block] blk-mq: Allow blocking queue tag iter callbacks (Ming Lei) [1634328] - [block] block: use nanosecond resolution for iostat (Ming Lei) [1634329] - [block] null_blk: fix zoned support for non-rq based operation (Ming Lei) [1634324] - [block] blk-cgroup: increase number of supported policies (Ming Lei) [1634335] - [block] block: bfq: swap puts in bfqg_and_blkg_put (Ming Lei) [1634334] - [block] block: don't warn when doing fsync on read-only devices (Ming Lei) [1634331] - [block] blkcg: use tryget logic when associating a blkg with a bio (Ming Lei) [1634332] - [block] blkcg: delay blkg destruction until after writeback has (Ming Lei) [1634332] - [block] Revert "blk-throttle: fix race between (Ming Lei) [1634332] - [block] blk-wbt: remove dead code (Ming Lei) [1634326] - [block] blk-wbt: improve waking of tasks (Ming Lei) [1634326] - [block] blk-wbt: abstract out end IO completion handler (Ming Lei) [1634326]- [dma] driver/dma/ioat: Call del_timer_sync() without holding prep_lock (Waiman Long) [1607654] - [netdrv] bnxt_en: Fix VF mac address regression (Jonathan Toppins) [1635846] - [netdrv] bnxt_en: Do not adjust max_cp_rings by the ones used by RDMA (Jonathan Toppins) [1635846] - [netdrv] bnxt_en: Clean up unused functions (Jonathan Toppins) [1635846] - [fs] fsnotify: fix ignore mask logic in fsnotify() (Lukas Czerner) [1635537] - [net] net/af_iucv: locate IUCV header via skb_network_header() (Philipp Rudo) [1635332] - [net] net/af_iucv: drop inbound packets with invalid flags (Philipp Rudo) [1635332] - [net] net/af_iucv: fix skb handling on HiperTransport xmit error (Philipp Rudo) [1635332] - [hid] HID: i2c-hid: Fix flooded incomplete report after S3 on Rayd touchscreen (David Arcari) [1635746] - [i2c] i2c: core: ACPI: Make acpi_gsb_i2c_read_bytes() check i2c_transfer return value (David Arcari) [1635746] - [i2c] i2c: designware: Re-init controllers with pm_disabled set on resume (David Arcari) [1635746] - [i2c] i2c: core: ACPI: Properly set status byte to 0 for multi-byte writes (David Arcari) [1635746] - [fs] fs/quota: Fix spectre gadget in do_quotactl (Lukas Czerner) [1635521] - [fs] xfs: fix error handling in xfs_bmap_extents_to_btree (Brian Foster) [1633171] - [fs] xfs: remove invalid log recovery first/last cycle check (Brian Foster) [1633171] - [fs] xfs: validate inode di_forkoff (Brian Foster) [1633171] - [fs] xfs: skip delalloc COW blocks in xfs_reflink_end_cow (Brian Foster) [1633171] - [fs] xfs: don't treat unknown di_flags2 as corruption in scrub (Brian Foster) [1633171] - [fs] xfs: remove duplicated include from alloc.c (Brian Foster) [1633171] - [fs] xfs: don't bring in extents in xfs_bmap_punch_delalloc_range (Brian Foster) [1633171] - [fs] xfs: fix transaction leak in xfs_reflink_allocate_cow() (Brian Foster) [1633171] - [fs] xfs: avoid lockdep false positives in xfs_trans_alloc (Brian Foster) [1633171] - [fs] xfs: refactor xfs_buf_log_item reference count handling (Brian Foster) [1633171] - [fs] xfs: clean up xfs_trans_brelse() (Brian Foster) [1633171] - [fs] xfs: don't unlock invalidated buf on aborted tx commit (Brian Foster) [1633171] - [fs] xfs: remove last of unnecessary xfs_defer_cancel() callers (Brian Foster) [1633171] - [fs] xfs: don't crash the vfs on a garbage inline symlink (Brian Foster) [1633171] - [fs] iomap: set page dirty after partial delalloc on mkwrite (Brian Foster) [1633171] - [fs] xfs: sanity check ag header values in xrep_calc_ag_resblks (Brian Foster) [1633171] - [fs] xfs: recalculate summary counters at mount time if icount is bad (Brian Foster) [1633171] - [fs] xfs: fix a null pointer dereference in xfs_bmap_extents_to_btree (Brian Foster) [1633171] - [fs] xfs: remove b_last_holder & associated macros (Brian Foster) [1633171] - [fs] xfs: repair the AGI (Brian Foster) [1633171] - [fs] xfs: repair the AGFL (Brian Foster) [1633171] - [fs] xfs: repair the AGF (Brian Foster) [1633171] - [fs] xfs: remove dead error handling code in xfs_dquot_disk_alloc() (Brian Foster) [1633171] - [fs] xfs: use WRITE_ONCE to update if_seq (Brian Foster) [1633171] - [fs] xfs: fix a comment in xfs_log_reserve (Brian Foster) [1633171] - [fs] xfs: only validate summary counts on primary superblock (Brian Foster) [1633171] - [fs] xfs: substitute spaces with tabs (Brian Foster) [1633171] - [fs] xfs: fold dfops into the transaction (Brian Foster) [1633171] - [fs] xfs: always defer agfl block frees (Brian Foster) [1633171] - [fs] xfs: pass transaction to xfs_defer_add() (Brian Foster) [1633171] - [fs] xfs: replace xfs_defer_ops ->dop_pending with on-stack list (Brian Foster) [1633171] - [fs] xfs: cancel dfops on xfs_defer_finish() error (Brian Foster) [1633171] - [fs] xfs: clean out superfluous dfops dop params/vars (Brian Foster) [1633171] - [fs] xfs: drop dop param from xfs_defer_op_type ->finish_item() callback (Brian Foster) [1633171] - [fs] xfs: automatic dfops inode relogging (Brian Foster) [1633171] - [fs] xfs: automatic dfops buffer relogging (Brian Foster) [1633171] - [fs] xfs: add missing defer ijoins for held inodes (Brian Foster) [1633171] - [fs] xfs: replace dop_low with transaction flag (Brian Foster) [1633171] - [fs] xfs: pass transaction to dfops reset/move helpers (Brian Foster) [1633171] - [fs] xfs: remove unused __xfs_defer_cancel() internal helper (Brian Foster) [1633171] - [fs] xfs: use transaction for intent recovery instead of raw dfops (Brian Foster) [1633171] - [fs] xfs: refactor internal dfops initialization (Brian Foster) [1633171] - [fs] xfs: check da node magic in _node_lookup_int (Brian Foster) [1633171] - [fs] xfs: use a local variable for magic number in xfs_da3_node_lookup_int (Brian Foster) [1633171] - [fs] xfs: refactor log recovery check (Brian Foster) [1633171] - [fs] xfs: move extent busy tree initialization to xfs_initialize_perag (Brian Foster) [1633171] - [fs] xfs: avoid COW fork extent lookups in writeback if the fork didn't change (Brian Foster) [1633171] - [fs] xfs: maintain a sequence count for inode fork manipulations (Brian Foster) [1633171] - [fs] xfs: check for unknown v5 feature bits in superblock write verifier (Brian Foster) [1633171] - [fs] xfs: verify icount in superblock write (Brian Foster) [1633171] - [fs] libxfs: add more bounds checking to sb sanity checks (Brian Foster) [1633171] - [fs] xfs: refactor superblock verifiers (Brian Foster) [1633171] - [fs] xfs: refactor the xrep_extent_list into xfs_bitmap (Brian Foster) [1633171] - [fs] xfs: introduce a new xfs_inode_has_cow_data helper (Brian Foster) [1633171] - [fs] xfs: remove the xfs_ifork_t typedef (Brian Foster) [1633171] - [fs] xfs: simplify xfs_idata_realloc (Brian Foster) [1633171] - [fs] xfs: remove if_real_bytes (Brian Foster) [1633171] - [fs] xfs: move the repair extent list into its own file (Brian Foster) [1633171] - [fs] xfs: pass transaction lock while setting up agresv on cyclic metadata (Brian Foster) [1633171] - [fs] xfs: remove deprecated barrier/nobarrier mount (Brian Foster) [1633171] - [fs] xfs: clean up IRELE/iput callsites (Brian Foster) [1633171] - [fs] xfs: kill IHOLD (Brian Foster) [1633171] - [fs] xfs: bypass final dfops roll in trans commit path (Brian Foster) [1633171] - [fs] xfs: drop unnecessary xfs_defer_finish() dfops parameter (Brian Foster) [1633171] - [fs] xfs: remove unnecessary dfops init calls in xattr code (Brian Foster) [1633171] - [fs] xfs: remove all boilerplate defer init/finish code (Brian Foster) [1633171] - [fs] xfs: use internal dfops during (b|c)ui recovery (Brian Foster) [1633171] - [fs] xfs: use internal dfops in attr code (Brian Foster) [1633171] - [fs] xfs: use internal dfops in cow blocks cancel (Brian Foster) [1633171] - [fs] xfs: support embedded dfops in transaction (Brian Foster) [1633171] - [fs] xfs: pack holes in xfs_defer_ops and xfs_trans (Brian Foster) [1633171] - [fs] xfs: reset dfops to initial state after finish (Brian Foster) [1633171] - [fs] xfs: remove unused deferred ops committed field (Brian Foster) [1633171] - [fs] xfs: make deferred processing safe for embedded dfops (Brian Foster) [1633171] - [fs] xfs: fix transaction leak on remote attr set/remove failure (Brian Foster) [1633171] - [fs] xfs: use ->t_dfops in log recovery intent processing (Brian Foster) [1633171] - [fs] xfs: pull up dfops from xfs_itruncate_extents() (Brian Foster) [1633171] - [fs] xfs: force summary counter recalc at next mount (Brian Foster) [1633171] - [fs] xfs: refactor unmount record write (Brian Foster) [1633171] - [fs] xfs: detect and fix bad summary counts at mount (Brian Foster) [1633171] - [fs] xfs: fix indentation and other whitespace problems in scrub/repair (Brian Foster) [1633171] - [fs] xfs: shorten struct xfs_scrub_context to struct xfs_scrub (Brian Foster) [1633171] - [fs] xfs: shorten xfs_repair_ prefix to xrep_ (Brian Foster) [1633171] - [fs] xfs: shorten xfs_scrub_ prefix (Brian Foster) [1633171] - [fs] xfs: clean up xfs_btree_del_cursor callers (Brian Foster) [1633171] - [fs] xfs: trivial xfs_btree_del_cursor cleanups (Brian Foster) [1633171] - [fs] xfs: return from _defer_finish with a clean transaction (Brian Foster) [1633171] - [fs] xfs: check leaf attribute block freemap in verifier (Brian Foster) [1633171] - [fs] libxfs: Fix a couple of sparse complaintis (Brian Foster) [1633171] - [fs] xfs: use swap macro in xfs_dir2_leafn_rebalance (Brian Foster) [1633171] - [fs] xfs_bmap_util: use swap macro (Brian Foster) [1633171] - [fs] xfs_attr_leaf: use swap macro in xfs_attr3_leaf_rebalance (Brian Foster) [1633171] - [fs] xfs: don't assume a left rmap when allocating a new rmap (Brian Foster) [1633171] - [fs] xfs: kill __xfs_buf_submit_common() (Brian Foster) [1633171] - [fs] xfs: combine (a)sync buffer submission apis (Brian Foster) [1633171] - [fs] xfs: use sync buffer I/O for sync delwri queue submission (Brian Foster) [1633171] - [fs] xfs: refactor buffer submission into a common helper (Brian Foster) [1633171] - [fs] xfs: remove xfs_defer_init() firstblock param (Brian Foster) [1633171] - [fs] xfs: use ->t_firstblock in inode inactivate (Brian Foster) [1633171] - [fs] xfs: use ->t_firstblock in extent swap (Brian Foster) [1633171] - [fs] xfs: use ->t_firstblock in reflink cow block cancel (Brian Foster) [1633171] - [fs] xfs: replace no-op firstblock init with ->t_firstblock (Brian Foster) [1633171] - [fs] xfs: use ->t_firstblock in dq alloc (Brian Foster) [1633171] - [fs] xfs: remove xfs_alloc_arg firstblock field (Brian Foster) [1633171] - [fs] xfs: remove xfs_btree_cur private firstblock field (Brian Foster) [1633171] - [fs] xfs: remove bmap format helpers firstblock params (Brian Foster) [1633171] - [fs] xfs: remove bmap extent add helper firstblock params (Brian Foster) [1633171] - [fs] xfs: remove xfs_bmalloca firstblock field (Brian Foster) [1633171] - [fs] xfs: use ->t_firstblock in bmap extent split (Brian Foster) [1633171] - [fs] xfs: remove bmap insert/collapse firstblock param (Brian Foster) [1633171] - [fs] xfs: remove xfs_bunmapi() firstblock param (Brian Foster) [1633171] - [fs] xfs: remove xfs_bmapi_write() firstblock param (Brian Foster) [1633171] - [fs] xfs: use ->t_firstblock in insert/collapse range (Brian Foster) [1633171] - [fs] xfs: use ->t_firstblock in xfs_bmapi_remap() (Brian Foster) [1633171] - [fs] xfs: use ->t_firstblock for all xfs_bunmapi() callers (Brian Foster) [1633171] - [fs] xfs: use ->t_firstblock for all xfs_bmapi_write() callers (Brian Foster) [1633171] - [fs] xfs: use ->t_firstblock in xattr ops (Brian Foster) [1633171] - [fs] xfs: use ->t_firstblock in attrfork add (Brian Foster) [1633171] - [fs] xfs: remove firstblock param from xfs dir ops (Brian Foster) [1633171] - [fs] xfs: use ->t_firstblock in dir ops (Brian Foster) [1633171] - [fs] xfs: add firstblock field to xfs_trans (Brian Foster) [1633171] - [fs] xfs: allow null firstblock in xfs_bmapi_write() when tp is null (Brian Foster) [1633171] - [fs] xfs: refactor dfops init to attach to transaction (Brian Foster) [1633171] - [fs] xfs: use ->t_dfops in reflink cow recover path (Brian Foster) [1633171] - [fs] xfs: use ->t_dfops in cancel cow blocks operation (Brian Foster) [1633171] - [fs] xfs: use ->t_dfops for rmap extent swap operations (Brian Foster) [1633171] - [fs] xfs: remove unused btree cursor bc_private.a.dfops field (Brian Foster) [1633171] - [fs] xfs: remove xfs_btree_cur bmbt dfops field (Brian Foster) [1633171] - [fs] xfs: remove dfops param from internal bmap extent helpers (Brian Foster) [1633171] - [fs] xfs: use ->t_dfops for collapse/insert range operations (Brian Foster) [1633171] - [fs] xfs: remove struct xfs_bmalloca dfops field (Brian Foster) [1633171] - [fs] xfs: remove xfs_bmapi_remap() dfops param (Brian Foster) [1633171] - [fs] xfs: remove xfs_bunmapi() dfops param (Brian Foster) [1633171] - [fs] xfs: use ->t_dfops for all xfs_bunmapi() callers (Brian Foster) [1633171] - [fs] xfs: remove xfs_bmapi_write() dfops param (Brian Foster) [1633171] - [fs] xfs: use ->t_dfops for all xfs_bmapi_write() callers (Brian Foster) [1633171] - [fs] xfs: use ->t_dfops in dqalloc transaction (Brian Foster) [1633171] - [fs] xfs: replace xfs_da_args->dfops accesses with ->t_dfops and remove (Brian Foster) [1633171] - [fs] xfs: use ->t_dfops in extent split tx and remove param (Brian Foster) [1633171] - [fs] xfs: remove dfops param in attr fork add path (Brian Foster) [1633171] - [fs] xfs: use ->t_dfops for attr set/remove operations (Brian Foster) [1633171] - [fs] xfs: use ->t_dfops for recovery of (b|c)ui log items (Brian Foster) [1633171] - [fs] xfs: remove dfops param from high level dirname calls (Brian Foster) [1633171] - [fs] xfs: remove dfops parameter from ifree call stack (Brian Foster) [1633171] - [fs] xfs: rename xfs_trans ->t_agfl_dfops to ->t_dfops (Brian Foster) [1633171] - [fs] xfs: cow unwritten conversion uses uninitialized dfops (Brian Foster) [1633171] - [fs] xfs: update my copyrights for the writeback and iomap code (Brian Foster) [1633171] - [fs] xfs: add support for sub-pagesize writeback without buffer_heads (Brian Foster) [1633171] - [fs] xfs: allow writeback on pages without buffer heads (Brian Foster) [1633171] - [fs] xfs: refactor the tail of xfs_writepage_map (Brian Foster) [1633171] - [fs] xfs: remove xfs_start_page_writeback (Brian Foster) [1633171] - [fs] xfs: move all writeback buffer_head manipulation into xfs_map_at_offset (Brian Foster) [1633171] - [fs] xfs: don't look at buffer heads in xfs_add_to_ioend (Brian Foster) [1633171] - [fs] xfs: remove the imap_valid flag (Brian Foster) [1633171] - [fs] xfs: simplify xfs_map_blocks by using xfs_iext_lookup_extent directly (Brian Foster) [1633171] - [fs] xfs: remove xfs_reflink_find_cow_mapping (Brian Foster) [1633171] - [fs] xfs: remove the now unused XFS_BMAPI_IGSTATE flag (Brian Foster) [1633171] - [fs] xfs: make xfs_writepage_map extent map centric (Brian Foster) [1633171] - [fs] xfs: rename the offset variable in xfs_writepage_map (Brian Foster) [1633171] - [fs] xfs: remove xfs_map_cow (Brian Foster) [1633171] - [fs] xfs: remove xfs_reflink_trim_irec_to_next_cow (Brian Foster) [1633171] - [fs] xfs: don't use XFS_BMAPI_IGSTATE in xfs_map_blocks (Brian Foster) [1633171] - [fs] xfs: don't clear imap_valid for a non-uptodate buffers (Brian Foster) [1633171] - [fs] xfs: do not set the page uptodate in xfs_writepage_map (Brian Foster) [1633171] - [fs] xfs: move locking into xfs_bmap_punch_delalloc_range (Brian Foster) [1633171] - [fs] xfs: simplify xfs_aops_discard_page (Brian Foster) [1633171] - [fs] xfs: use iomap for blocksize == PAGE_SIZE readpage and readpages (Brian Foster) [1633171] - [fs] iomap: fix WARN_ON_ONCE on uninitialized variable (Brian Foster) [1633171] - [fs] iomap: Switch to offset_in_page for clarity (Brian Foster) [1633171] - [fs] iomap: add support for sub-pagesize buffered I/O without buffer heads (Brian Foster) [1633171] - [fs] iomap: add inline data support to iomap_readpage_actor (Brian Foster) [1633171] - [fs] iomap: support direct I/O to inline data (Brian Foster) [1633171] - [fs] iomap: refactor iomap_dio_actor (Brian Foster) [1633171] - [fs] iomap: add initial support for writes without buffer heads (Brian Foster) [1633171] - [fs] iomap: add an iomap-based readpage and readpages implementation (Brian Foster) [1633171] - [fs] iomap: add private pointer to struct iomap (Brian Foster) [1633171] - [fs] iomap: add a page_done callback (Brian Foster) [1633171] - [fs] iomap: generic inline data handling (Brian Foster) [1633171] - [fs] iomap: complete partial direct I/O writes synchronously (Brian Foster) [1633171] - [fs] iomap: mark newly allocated buffer heads as new (Brian Foster) [1633171] - [fs] fs: factor out a __generic_write_end helper (Brian Foster) [1633171] - [netdrv] amd-xgbe: mark driver as tech preview (David Arcari) [1633209] - [fs] ext4, dax: set ext4_dax_aops for dax files (Lukas Czerner) [1633239] - [fs] ext4, dax: add ext4_bmap to ext4_dax_aops (Lukas Czerner) [1633239] - [fs] ext4: don't mark mmp buffer head dirty (Lukas Czerner) [1633239] - [fs] ext4: show test_dummy_encryption mount option in /proc/mounts (Lukas Czerner) [1633239] - [fs] ext4: fix online resizing for bigalloc file systems with a 1k block size (Lukas Czerner) [1633239] - [fs] ext4: fix online resize's handling of a too-small final block group (Lukas Czerner) [1633239] - [fs] ext4: recalucate superblock checksum after updating free blocks/inodes (Lukas Czerner) [1633239] - [fs] ext4: avoid arithemetic overflow that can trigger a BUG (Lukas Czerner) [1633239] - [fs] ext4: avoid divide by zero fault when deleting corrupted inline directories (Lukas Czerner) [1633239] - [fs] ext4: check to make sure the rename(2)'s destination is not freed (Lukas Czerner) [1633239] - [fs] ext4: remove unneeded variable "err" in ext4_mb_release_inode_pa() (Lukas Czerner) [1633239] - [fs] ext4: fix spectre gadget in ext4_mb_regular_allocator() (Lukas Czerner) [1633239] - [fs] ext4: check for NUL characters in extended attribute's name (Lukas Czerner) [1633239] - [fs] ext4: use ext4_warning() for sb_getblk failure (Lukas Czerner) [1633239] - [fs] ext4: fix race when setting the bitmap corrupted flag (Lukas Czerner) [1633239] - [fs] ext4: reset error code in ext4_find_entry in fallback (Lukas Czerner) [1633239] - [fs] ext4: check allocation failure when duplicating "data" in ext4_remount() (Lukas Czerner) [1633239] - [fs] ext4: sysfs: print ext4_super_block fields as little-endian (Lukas Czerner) [1633239] - [firmware] efi/x86: Handle page faults occurring while running EFI runtime services (Bhupesh Sharma) [1627557] - [firmware] efi: Make efi_rts_work accessible to efi page fault handler (Bhupesh Sharma) [1627557] - [firmware] efi: Remove the declaration of efi_late_init() as the function is unused (Bhupesh Sharma) [1627557] - [firmware] efi: Use a work queue to invoke EFI Runtime Services (Bhupesh Sharma) [1627557] - [firmware] efi/x86: Use non-blocking SetVariable() for efi_delete_dummy_variable() (Bhupesh Sharma) [1627557] - [fs] gfs2: Special-case rindex for gfs2_grow (Robert S Peterson) [1628360] - [fs] GFS2: Fix recovery issues for spectators (Robert S Peterson) [1628298]- [powerpc] powerpc/pkeys: Fix reading of ibm, processor-storage-keys property (Steve Best) [1633551] - [powerpc] powerpc/pseries: Remove unneeded uses of dlpar work queue (Steve Best) [1633544] - [powerpc] powerpc/pseries: Remove prrn_work workqueue (Steve Best) [1633544] - [pci] ACPI / hotplug / PCI: Don't scan for non-hotplug bridges if slot is not bridge (Myron Stowe) [1634816] - [pci] PCI: Fix enabling of PASID on RC integrated endpoints (Myron Stowe) [1634816] - [pci] IB/hfi1,PCI: Allow bus reset while probing (Myron Stowe) [1634816] - [pci] PCI: Fix faulty logic in pci_reset_bus() (Myron Stowe) [1634816] - [pci] PCI: pciehp: Fix hot-add vs powerfault detection order (Myron Stowe) [1634816] - [pci] Revert "PCI: Add ACS quirk for Intel 300 series" (Myron Stowe) [1634816] - [powerpc] powerpc/numa: Use associativity if VPHN hcall is successful (Steve Best) [1633569] - [pci] PCI: vmd: White list for fast interrupt handlers (Myron Stowe) [1632816] - [pci] PCI: Add function 1 DMA alias quirk for Marvell 88SS9183 (Myron Stowe) [1632816] - [pci] PCI: Rename pci_try_reset_bus() to pci_reset_bus() (Myron Stowe) [1632816] - [pci] PCI: Deprecate pci_reset_bus() and pci_reset_slot() functions (Myron Stowe) [1632816] - [pci] PCI: Unify try slot and bus reset API (Myron Stowe) [1632816] - [pci] PCI: Hide pci_reset_bridge_secondary_bus() from drivers (Myron Stowe) [1632816] - [pci] IB/hfi1: Use pci_try_reset_bus() for initiating PCI Secondary Bus Reset (Myron Stowe) [1632816] - [pci] PCI: Handle error return from pci_reset_bridge_secondary_bus() (Myron Stowe) [1632816] - [pci] PCI/IOV: Tidy pci_sriov_set_totalvfs() (Myron Stowe) [1632816] - [pci] PCI: Enable PASID only if entire path supports End-End TLP prefixes (Myron Stowe) [1632816] - [pci] PCI: Expand documentation for pci_add_dma_alias() (Myron Stowe) [1632816] - [pci] PCI: Add DMA alias quirk for Microsemi Switchtec NTB (Myron Stowe) [1632816] - [pci] switchtec: Use generic PCI Vendor ID and Class Code (Myron Stowe) [1632816] - [pci] PCI: Make pci_get_rom_size() static (Myron Stowe) [1632816] - [pci] PCI: Add check code for last image indicator not set (Myron Stowe) [1632816] - [pci] PCI: Avoid accessing memory outside the ROM BAR (Myron Stowe) [1632816] - [pci] PCI: Make early dump functionality generic (Myron Stowe) [1632816] - [pci] PCI: Cleanup PCI_REBAR_CTRL_BAR_SHIFT handling (Myron Stowe) [1632816] - [pci] PCI: Restore resized BAR state on resume (Myron Stowe) [1632816] - [pci] PCI: Clean up resource allocation in devm_of_pci_get_host_bridge_resources() (Myron Stowe) [1632816] - [pci] PCI: Add ACS Redirect disable quirk for Intel Sunrise Point (Myron Stowe) [1632816] - [pci] PCI: Add device-specific ACS Redirect disable infrastructure (Myron Stowe) [1632816] - [pci] PCI: Convert device-specific ACS quirks from NULL termination to ARRAY_SIZE (Myron Stowe) [1632816] - [pci] PCI: Add "pci=disable_acs_redir=" parameter for peer-to-peer support (Myron Stowe) [1632816] - [pci] PCI: Allow specifying devices using a base bus and path of devfns (Myron Stowe) [1632816] - [pci] PCI: Make specifying PCI devices in kernel parameters reusable (Myron Stowe) [1632816] - [pci] PCI: Hide ACS quirk declarations inside PCI core (Myron Stowe) [1632816] - [pci] PCI: Document ACPI description of PCI host bridges (Myron Stowe) [1632816] - [pci] PCI/MSI: Set IRQCHIP_ONESHOT_SAFE for PCI-MSI irqchips (Myron Stowe) [1632816] - [pci] PCI: Limit config space size for Netronome NFP5000 (Myron Stowe) [1632816] - [pci] PCI: Add PCI_DEVICE_DATA() macro to fully describe device ID entry (Myron Stowe) [1632816] - [pci] PCI: Unify PCI and normal DMA direction definitions (Myron Stowe) [1632816] - [pci] PCI: Use IRQF_ONESHOT if pci_request_irq() called with no handler (Myron Stowe) [1632816] - [pci] PCI: Call dma_debug_add_bus() for pci_bus_type from PCI core (Myron Stowe) [1632816] - [pci] PCI: Mark fall-through switch cases before enabling -Wimplicit-fallthrough (Myron Stowe) [1632816]- [s390] s390/sclp: Allow to request adapter reset (Philipp Rudo) [1635273] - [char] ipmi: Fix NULL pointer dereference in ssif_probe (Tony Camuso) [1635366] - [char] ipmi: Fix I2C client removal in the SSIF driver (Tony Camuso) [1635366] - [char] ipmi: kcs_bmc: don't change device name (Tony Camuso) [1635366] - [kernel] timers: Clear timer_base::must_forward_clk with timer_base::lock held (Waiman Long) [1632820] - [pci] switchtec: Fix Spectre v1 vulnerability (Waiman Long) [1632820] - [kernel] cpu/hotplug: Prevent state corruption on error rollback (Waiman Long) [1632820] - [kernel] cpu/hotplug: Adjust misplaced smb() in cpuhp_thread_fun() (Waiman Long) [1632820] - [base] memory_hotplug: fix kernel_panic on offline page processing (Waiman Long) [1632820] - [mm] mm/hugetlb: filter out hugetlb pages if HUGEPAGE migration is not supported (Waiman Long) [1632820] - [lib] debugobjects: Make stack check warning more informative (Waiman Long) [1632820] - [fs] fs/dcache.c: fix kmemcheck splat at take_dentry_name_snapshot() (Waiman Long) [1632820] - [x86] x86/process: Don't mix user/kernel regs in 64bit __show_regs() (Waiman Long) [1632820] - [x86] x86/dumpstack: Don't dump kernel memory based on usermode RIP (Waiman Long) [1632820] - [x86] x86: Avoid pr_cont() in show_opcodes() (Waiman Long) [1632820] - [x86] x86/entry/64: Wipe KASAN stack shadow before rewind_stack_do_exit() (Waiman Long) [1632820] - [x86] x86/speculation/l1tf: Increase l1tf memory limit for Nehalem+ (Waiman Long) [1632820] - [x86] x86/spectre: Add missing family 6 check to microcode check (Waiman Long) [1632820] - [x86] x86/nmi: Fix NMI uaccess race against CR3 switching (Waiman Long) [1632820] - [x86] x86/vdso: Fix lsl operand order (Waiman Long) [1632820] - [x86] x86/vdso: Fix vDSO build if a retpoline is emitted (Waiman Long) [1632820] - [x86] x86/speculation/l1tf: Suggest what to do on systems with too much RAM (Waiman Long) [1632820] - [x86] x86/speculation/l1tf: Fix off-by-one error when warning that system has too much RAM (Waiman Long) [1632820] - [x86] x86/speculation/l1tf: Fix overflow in l1tf_pfn_limit() on 32bit (Waiman Long) [1632820] - [x86] x86/speculation/l1tf: Exempt zeroed PTEs from inversion (Waiman Long) [1632820] - [x86] x86/mm/pti: Clear Global bit more aggressively (Waiman Long) [1632820] - [x86] x86/paravirt: Fix spectre-v2 mitigations for paravirt guests (Waiman Long) [1632820] - [target] scsi: target: iscsi: Use bin2hex instead of a re-implementation (Maurizio Lombardi) [1632184] {CVE-2018-14633} - [target] scsi: target: iscsi: Use hex2bin instead of a re-implementation (Maurizio Lombardi) [1632184] {CVE-2018-14633}- [netdrv] ibmvnic: Include missing return code checks in reset function (Steve Best) [1633553] - [netdrv] ibmvnic: Update firmware error reporting with cause string (Steve Best) [1633553] - [netdrv] ibmvnic: Remove code to request error information (Steve Best) [1633553] - [s390] s390/qeth: remove duplicated carrier state tracking (Hendrik Brueckner) [1633841] - [s390] s390/qeth: clean up drop conditions for received cmds (Hendrik Brueckner) [1633841] - [s390] s390/qeth: re-indent qeth_check_ipa_data() (Hendrik Brueckner) [1633841] - [s390] s390/qeth: consume local address events (Hendrik Brueckner) [1633841] - [s390] s390/qeth: remove various redundant code (Hendrik Brueckner) [1633841] - [s390] s390/qeth: remove CARD_FROM_CDEV helper (Hendrik Brueckner) [1633841] - [s390] s390/qeth: pass card pointer in iob callback (Hendrik Brueckner) [1633841] - [s390] s390/qeth: re-use qeth_notify_skbs() (Hendrik Brueckner) [1633841] - [s390] s390/qeth: remove additional skb refcount (Hendrik Brueckner) [1633841] - [s390] s390/qeth: replace open-coded skb_queue_walk() (Hendrik Brueckner) [1633841] - [s390] s390/qeth: on gdev release, reset drvdata (Hendrik Brueckner) [1633841] - [s390] s390/qeth: fix discipline unload after setup error (Hendrik Brueckner) [1633841] - [s390] s390/qeth: use DEFINE_MUTEX for qeth_mod_mutex (Hendrik Brueckner) [1633841] - [s390] s390/qeth: convert layer attribute to enum (Hendrik Brueckner) [1633841] - [s390] s390/qeth: reduce 0-initializing when building IPA cmds (Hendrik Brueckner) [1633841] - [s390] s390/qeth: fine-tune spinlocks (Hendrik Brueckner) [1633841] - [s390] s390/qeth: fix typo in return value (Hendrik Brueckner) [1633841] - [s390] s390/qeth: invoke softirqs after napi_schedule() (Hendrik Brueckner) [1633841] - [s390] s390/qeth: uninstall IRQ handler on device removal (Hendrik Brueckner) [1633841] - [s390] s390/qeth: remove qeth_hdr_chk_and_bounce() (Hendrik Brueckner) [1633841] - [s390] s390/qeth: speed up TSO transmission (Hendrik Brueckner) [1633841] - [s390] s390/qeth: prepare for copy-free TSO transmission (Hendrik Brueckner) [1633841] - [s390] s390/qeth: check size of required HW header cache object (Hendrik Brueckner) [1633841] - [s390] s390/qeth: fix up protocol headers early (Hendrik Brueckner) [1633841] - [s390] s390/qeth: limit csum offload erratum to L3 devices (Hendrik Brueckner) [1633841] - [s390] s390/qeth: remove qeth_get_elements_no() (Hendrik Brueckner) [1633841] - [s390] s390/qeth: remove unused L3 xmit code (Hendrik Brueckner) [1633841] - [s390] s390/qeth: run non-offload L3 traffic over common xmit path (Hendrik Brueckner) [1633841] - [s390] s390/qeth: move L2 xmit code to core module (Hendrik Brueckner) [1633841] - [s390] s390/qdio: reset old sbal_state flags (Hendrik Brueckner) [1633841] - [s390] s390/qeth: don't dump past end of unknown HW header (Hendrik Brueckner) [1633841] - [s390] s390/qeth: use vzalloc for QUERY OAT buffer (Hendrik Brueckner) [1633841] - [s390] s390/qeth: switch on SG by default for IQD devices (Hendrik Brueckner) [1633841] - [s390] s390/qeth: indicate error when netdev allocation fails (Hendrik Brueckner) [1633841] - [s390] s390/qeth: use true and false for boolean values (Hendrik Brueckner) [1633841] - [s390] s390/qeth: don't restrict qeth_card to DMA memory (Hendrik Brueckner) [1633841] - [s390] s390/qeth: clean up card initialization (Hendrik Brueckner) [1633841] - [s390] s390/qeth: do basic setup for data channel (Hendrik Brueckner) [1633841] - [s390] s390/qeth: use qeth_setup_ccw() to set up all CCWs (Hendrik Brueckner) [1633841] - [s390] s390/qeth: reduce hard-coded access to ccw channels (Hendrik Brueckner) [1633841] - [s390] s390/qeth: extract helper for MPC protocol type (Hendrik Brueckner) [1633841] - [s390] s390/qeth: speed up L2 IQD xmit (Hendrik Brueckner) [1633841] - [s390] s390/qeth: add support for constrained HW headers (Hendrik Brueckner) [1633841] - [s390] s390/qeth: merge linearize-check into HW header construction (Hendrik Brueckner) [1633841] - [s390] s390/qeth: add statistics for consumed buffer elements (Hendrik Brueckner) [1633841] - [s390] s390/qeth: use core MTU range checking (Hendrik Brueckner) [1633841] - [s390] s390/qeth: simplify max MTU handling (Hendrik Brueckner) [1633841] - [s390] s390/qeth: don't cache HW port number (Hendrik Brueckner) [1633841] - [s390] s390/qeth: allocate netdevice early (Hendrik Brueckner) [1633841] - [s390] s390/qeth: remove redundant netif_carrier_ok() checks (Hendrik Brueckner) [1633841] - [s390] s390/qeth: reset layer2 attribute on layer switch (Hendrik Brueckner) [1633841] - [s390] s390/qeth: fix race in used-buffer accounting (Hendrik Brueckner) [1633841] - [s390] s390/qeth: speed-up IPv4 OSA xmit (Hendrik Brueckner) [1633841] - [s390] s390/qeth: speed-up L3 IQD xmit (Hendrik Brueckner) [1633841] - [s390] s390/qeth: add a L3 xmit wrapper (Hendrik Brueckner) [1633841] - [s390] s390/qeth: increase GSO max size for eligible L3 devices (Hendrik Brueckner) [1633841] - [s390] s390/qeth: clean up exported symbols (Hendrik Brueckner) [1633841] - [s390] s390/qeth: consolidate ccwgroup driver definition (Hendrik Brueckner) [1633841] - [s390] s390/qeth: clean up Output Queue selection (Hendrik Brueckner) [1633841] - [s390] s390/qeth: fine-tune RX modesetting (Hendrik Brueckner) [1633841] - [s390] s390/qeth: remove unused buffer->aob pointer (Hendrik Brueckner) [1633841] - [s390] s390/qeth: various buffer management cleanups (Hendrik Brueckner) [1633841] - [powerpc] powerpc: Avoid code patching freed init sections (Steve Best) [1633545] - [powerpc] powerpc/tm: Fix userspace r13 corruption (Steve Best) [1633543] - [powerpc] powerpc/tm: Avoid possible userspace r1 corruption on reclaim (Steve Best) [1633543] - [drm] drm/i915/cfl: Add a new CFL PCI ID (Rob Clark) [1626883] - [drm] drm/i915/aml: Introducing Amber Lake platform (Rob Clark) [1626883] - [drm] drm/i915/whl: Introducing Whiskey Lake platform (Rob Clark) [1626883] - [char] ipmi: Move BT capabilities detection to the detect call (Frank Ramsay) [1618774] - [char] ipmi: Rework SMI registration failure (Frank Ramsay) [1618774]- [s390] s390: detect etoken facility (Thomas Huth) [1634069] - [s390] s390/lib: use expoline for all bcr instructions (Thomas Huth) [1634069] - [documentation] vm.txt: Adding 'nr_hugepages_mempolicy' parameter description (Prashant Dhamdhere) [1626547]- [scsi] scsi: ipr: System hung while dlpar adding primary ipr adapter back (Steve Best) [1633217] - [target] scsi: iscsi: target: Don't use stack buffer for scatterlist (Maurizio Lombardi) [1631342] - [rpmspec] Forward port weak-modules support from RHEL 7 to RHEL 8 ("Herton R. Krzesinski") [1596884] - [fs] xfs: Close race between direct IO and xfs_break_layouts() (Eric Sandeen) [1622191] - [fs] xfs: remove unused iolock arg from xfs_break_dax_layouts (Eric Sandeen) [1622191] - [fs] ext4: Close race between direct IO and ext4_break_layouts() (Eric Sandeen) [1616303] - [fs] ext4: handle layout changes to pinned DAX mappings (Eric Sandeen) [1614154] - [fs] dax: dax_layout_busy_page() warn on !exceptional (Eric Sandeen) [1614154] - [fs] dax: mark tech preview (Eric Sandeen) [1627455] - [mm] usercopy: Allow boot cmdline disabling of hardening (Christoph von Recklinghausen) [1589928]- [s390] s390/crypto: Fix return code checking in cbc_paes_crypt() (Philipp Rudo) [1633266] - [drm] amd/display/dc/basics/logger.c: fix build error with CONFIG_FORTIFY_SOURCE=y ("Herton R. Krzesinski") [1548068] - [acpi] ACPICA: AML Parser: skip opcodes that open a scope upon parse failure (Jeremy Linton) [1609885] - [acpi] ACPICA: ACPICA: add status check for acpi_hw_read before assigning return value (Jeremy Linton) [1609885] - [acpi] ACPICA: AML Parser: ignore all exceptions resulting from incorrect AML during table load (Jeremy Linton) [1609885] - [rpmspec] spec: Add missing BuildRequires for bpftool (Jiri Olsa) [1632756] - [powerpc] KVM: PPC: Avoid marking DMA-mapped pages dirty in real mode (David Gibson) [1628412] - [powerpc] powerpc/powernv/ioda: Allocate indirect TCE levels on demand (David Gibson) [1628412] - [powerpc] powerpc/powernv: Rework TCE level allocation (David Gibson) [1628412] - [powerpc] powerpc/powernv: Add indirect levels to it_userspace (David Gibson) [1628412] - [powerpc] KVM: PPC: Make iommu_table::it_userspace big endian (David Gibson) [1628412] - [powerpc] powerpc/powernv: Move TCE manupulation code to its own file (David Gibson) [1628412] - [net] net_sched: fix NULL pointer dereference when delete tcindex filter (Andrea Claudi) [1627648] - [net] net_sched: Fix missing res info when create new tc_index filter (Andrea Claudi) [1627648] - [samples] samples/bpf: xdpsock: order memory on AArch64 (Jesper Brouer) [1615959] - [samples] samples/bpf: xdp_redirect_cpu load balance like Suricata (Jesper Brouer) [1615959] - [samples] samples/bpf: add Paul Hsieh's (LGPL 2.1) hash function SuperFastHash (Jesper Brouer) [1615959] - [samples] samples/bpf: xdp_redirect_cpu handle parsing of double VLAN tagged packets (Jesper Brouer) [1615959] - [samples] samples/bpf: all XDP samples should unload xdp/bpf prog on SIGTERM (Jesper Brouer) [1615959] - [samples] samples/bpf: xdp_rxq_info action XDP_TX must adjust MAC-addrs (Jesper Brouer) [1615959] - [samples] samples/bpf: extend xdp_rxq_info to read packet payload (Jesper Brouer) [1615959] - [powerpc] KVM: PPC: Book3S HV: Use correct pagesize in kvm_unmap_radix() (David Gibson) [1625498] - [net] igmp: fix incorrect unsolicit report count after link down and up (Hangbin Liu) [1625538] - [net] igmp: fix incorrect unsolicit report count when join group (Hangbin Liu) [1625538] - [netdrv] cxgb4: update 1.20.8.0 as the latest firmware supported (Arjun Vynipadath) [1622555] - [virt] svm: nested virt support off by default (Bandan Das) [1571993]- [powerpc] KVM: PPC: Book3S HV: Don't use compound_order to determine host mapping size (David Gibson) [1625860] - [virt] arm64: KVM: Remove pgd_lock (Wei Huang) [1627474] - [virt] KVM: Remove obsolete kvm_unmap_hva notifier backend (Wei Huang) [1627474] - [virt] arm64: KVM: Only force FPEXC32_EL2.EN if trapping FPSIMD (Wei Huang) [1627474] - [virt] KVM: arm/arm64: Clean dcache to PoC when changing PTE due to CoW (Wei Huang) [1627474] - [virt] KVM: arm/arm64: Skip updating PTE entry if no change (Wei Huang) [1627474] - [virt] KVM: arm/arm64: Skip updating PMD entry if no change (Wei Huang) [1627474] - [virt] KVM: arm/arm64: vgic: Move DEBUG_SPINLOCK_BUG_ON to vgic.h (Wei Huang) [1627474] - [virt] KVM: arm/arm64: vgic: Do not use spin_lock_irqsave/restore with irq disabled (Wei Huang) [1627474] - [virt] KVM: arm: vgic-v3: Add support for ICC_SGI0R and ICC_ASGI1R accesses (Wei Huang) [1627474] - [virt] KVM: arm64: vgic-v3: Add support for ICC_SGI0R_EL1 and ICC_ASGI1R_EL1 accesses (Wei Huang) [1627474] - [virt] KVM: arm/arm64: vgic-v3: Add core support for Group0 SGIs (Wei Huang) [1627474] - [virt] KVM: arm64: Remove non-existent AArch32 ICC_SGI1R encoding (Wei Huang) [1627474] - [virt] KVM: arm/arm64: Fix lost IRQs from emulated physcial timer when blocked (Wei Huang) [1627474] - [virt] KVM: arm/arm64: Fix potential loss of ptimer interrupts (Wei Huang) [1627474] - [virt] KVM: arm/arm64: vgic: Fix possible spectre-v1 write in vgic_mmio_write_apr() (Wei Huang) [1627474] - [virt] KVM: arm/arm64: vgic: Update documentation of the GIC devices wrt IIDR (Wei Huang) [1627474] - [virt] KVM: arm/arm64: vgic: Let userspace opt-in to writable v2 IGROUPR (Wei Huang) [1627474] - [virt] KVM: arm/arm64: vgic: Allow configuration of interrupt groups (Wei Huang) [1627474] - [virt] KVM: arm/arm64: vgic: Return error on incompatible uaccess GICD_IIDR writes (Wei Huang) [1627474] - [virt] KVM: arm/arm64: vgic: Permit uaccess writes to return errors (Wei Huang) [1627474] - [virt] KVM: arm/arm64: vgic: Signal IRQs using their configured group (Wei Huang) [1627474] - [virt] KVM: arm/arm64: vgic: Add group field to struct irq (Wei Huang) [1627474] - [virt] KVM: arm/arm64: vgic: GICv2 IGROUPR should read as zero (Wei Huang) [1627474] - [virt] KVM: arm/arm64: vgic: Keep track of implementation revision (Wei Huang) [1627474] - [virt] KVM: arm/arm64: vgic: Define GICD_IIDR fields for GICv2 and GIv3 (Wei Huang) [1627474] - [virt] arm64: KVM: Cleanup tpidr_el2 init on non-VHE (Wei Huang) [1627474] - [virt] KVM: arm/arm64: vgic-debug: Show LPI status (Wei Huang) [1627474] - [virt] KVM: arm64: vgic-its: Remove VLA usage (Wei Huang) [1627474] - [virt] KVM: arm/arm64: Fix vgic init race (Wei Huang) [1627474] - [virt] KVM: arm/arm64: Enable adaptative WFE trapping (Wei Huang) [1627474] - [virt] KVM: arm/arm64: Remove unnecessary CMOs when creating HYP page tables (Wei Huang) [1627474] - [virt] KVM: arm/arm64: Stop using the kernel's (pmd, pud, pgd)_populate helpers (Wei Huang) [1627474] - [virt] KVM: arm/arm64: Consolidate page-table accessors (Wei Huang) [1627474] - [virt] arm64: KVM: Avoid marking pages as XN in Stage-2 if CTR_EL0.DIC is set (Wei Huang) [1627474] - [tools] radix tree test suite: Enable ubsan (Waiman Long) [1630244] - [tools] radix tree test suite: Fix compilation (Waiman Long) [1630244] - [block] blk-wbt: don't maintain inflight counts if disabled (Ming Lei) [1622790] - [block] blk-wbt: fix has-sleeper queueing check (Ming Lei) [1622790] - [block] blk-wbt: use wq_has_sleeper() for wq active check (Ming Lei) [1622790] - [block] blk-wbt: move disable check into get_limit() (Ming Lei) [1622790] - [block] block/DAC960.c: make some arrays static const, shrinks object (Ming Lei) [1622790] - [block] blk-mq: sync the update nr_hw_queues with (Ming Lei) [1617959] - [block] blk-mq: init hctx sched after update ctx and hctx mapping (Ming Lei) [1617959] - [block] block: remove duplicate initialization (Ming Lei) [1622790] - [block] tracing/blktrace: Fix to allow setting same value (Ming Lei) [1622790] - [block] pktcdvd: fix setting of 'ret' error return for a few cases (Ming Lei) [1622790] - [block] block: change return type to bool (Ming Lei) [1622790] - [block] block, bfq: return nbytes and not zero from struct cftype (Ming Lei) [1622790] - [block] block, bfq: improve code of bfq_bfqq_charge_time (Ming Lei) [1622790] - [block] block, bfq: reduce write overcharge (Ming Lei) [1622790] - [block] block, bfq: always update the budget of an entity when needed (Ming Lei) [1622790] - [block] block, bfq: readd missing reset of parent-entity service (Ming Lei) [1622790] - [block] block: don't warn for flush on read-only device (Ming Lei) [1622809]- [kernel] locking/rwsem: Make owner store task pointer of last owning reader (Waiman Long) [1631842] - [kernel] locking/rwsem: Exit read lock slowpath if queue empty & no writer (Waiman Long) [1631842] - [x86] x86/microcode: Update the new microcode revision unconditionally (Prarit Bhargava) [1630931] - [x86] x86/microcode: Make sure boot_cpu_data.microcode is up-to-date (Prarit Bhargava) [1630931] - [arm64] arm64: tlb: Provide forward declaration of tlb_flush() before including tlb.h (Waiman Long) [1630521] - [x86] x86/mm: Only use tlb_remove_table() for paravirt (Waiman Long) [1630521] - [mm] mm: mmu_notifier fix for tlb_end_vma (Waiman Long) [1630521] - [mm] mm/tlb, x86/mm: Support invalidating TLB caches for RCU_TABLE_FREE (Waiman Long) [1630521] - [mm] mm/tlb: Remove tlb_remove_table() non-concurrent condition (Waiman Long) [1630521] - [mm] mm: move tlb_table_flush to tlb_flush_mmu_free (Waiman Long) [1630521] - [kernel] clocksource: Revert Remove kthread (Waiman Long) [1628402] - [cpuidle] cpuidle: menu: Retain tick when shallow state is selected (Waiman Long) [1628402] - [cpufreq] cpufreq: governor: Avoid accessing invalid governor_data (Waiman Long) [1628402] - [cpuidle] cpuidle: menu: Handle stopped tick more aggressively (Waiman Long) [1628402] - [kernel] sched: idle: Avoid retaining the tick when it has been stopped (Waiman Long) [1628402] - [net] netfilter: xt_hashlimit: do not crash when reading proc file (Florian Westphal) [1630131] - [x86] x86/boot/KASLR: Skip specified number of 1GB huge pages when doing physical randomization (KASLR) (Baoquan He) [1564824] - [x86] x86/boot/KASLR: Add two new functions for 1GB huge pages handling (Baoquan He) [1564824] - [mfd] mfd: intel-lpss: Add Ice Lake PCI IDs (Gopal Tiwari) [1483477] - [mmc] mmc: sdhci-pci: Add support for Intel ICP (Gopal Tiwari) [1483496]- [mm] mm: get rid of vmacache_flush_all() entirely (Waiman Long) [1631297] {CVE-2018-17182} - [mm] mm, vmacache: hash addresses based on pmd (Waiman Long) [1631297] {CVE-2018-17182} - [mm] mm: Allocate the mm_cpumask (mm->cpu_bitmap) dynamically based on nr_cpu_ids (Waiman Long) [1631297] {CVE-2018-17182} - [infiniband] IB/hfi1: Invalid NUMA node information can cause a divide by zero (Alex Estrin) [1622222] - [nvdimm] libnvdimm: Export max available extent (Jeff Moyer) [1627874] - [nvdimm] libnvdimm: Use max contiguous area for namespace size (Jeff Moyer) [1627874] - [netdrv] ice: Fix and update driver version string (Jonathan Toppins) [1611786] - [netdrv] ice: Introduce SERVICE_DIS flag and service routine functions (Jonathan Toppins) [1611786] - [netdrv] ice: Enable VSI Rx/Tx pruning only when VLAN 0 is active (Jonathan Toppins) [1611786] - [netdrv] ice: Enable firmware logging during device initialization (Jonathan Toppins) [1611786] - [netdrv] ice: Implement ice_bridge_getlink and ice_bridge_setlink (Jonathan Toppins) [1611786] - [netdrv] ice: Add support for Tx hang, Tx timeout and malicious driver detection (Jonathan Toppins) [1611786] - [netdrv] ice: Clean up register file (Jonathan Toppins) [1611786] - [netdrv] ice: Implement handlers for ethtool PHY/link operations (Jonathan Toppins) [1611786] - [netdrv] ice: Refactor VSI allocation, deletion and rebuild flow (Jonathan Toppins) [1611786] - [netdrv] ice: Refactor switch rule management structures and functions (Jonathan Toppins) [1611786] - [netdrv] ice: Code optimization for ice_fill_sw_rule() (Jonathan Toppins) [1611786] - [netdrv] ice: Prevent control queue operations during reset (Jonathan Toppins) [1611786] - [netdrv] ice: Update request resource command to latest specification (Jonathan Toppins) [1611786] - [netdrv] ice: Updates to Tx scheduler code (Jonathan Toppins) [1611786] - [netdrv] ice: Rework flex descriptor programming (Jonathan Toppins) [1611786] - [netdrv] net/mlx5: Fix SQ offset in QPs with small RQ (Alaa Hleihel) [1623367] - [x86] x86/spec_ctrl: Make IBRS code work with SSBD mitigation (Waiman Long) [1565180] - [x86] x86/spec_ctrl: Auto-enable IBRS on Skylake (Waiman Long) [1565180] - [x86] x86/spec_ctrl: Extend spectre_v2 boot option to support IBRS (Waiman Long) [1565180] - [x86] x86/spec_ctrl: Boot time IBRS initialization (Waiman Long) [1565180] - [x86] x86/spec_ctrl: Add IBRS code to the 64-bit assembly entry code (Waiman Long) [1565180] - [x86] x86/cpufeatures: Increase NCAPINTS for future extension (Waiman Long) [1565180] - [netdrv] ice: Trivial formatting fixes (Jonathan Toppins) [1611783] - [netdrv] ice: Change struct members from bool to u8 (Jonathan Toppins) [1611783] - [netdrv] ice: Fix potential return of uninitialized value (Jonathan Toppins) [1611783] - [netdrv] ice: Fix a few null pointer dereference issues (Jonathan Toppins) [1611783] - [netdrv] ice: Update to interrupts enabled in OICR (Jonathan Toppins) [1611783] - [netdrv] ice: Set VLAN flags correctly (Jonathan Toppins) [1611783] - [netdrv] ice: Use order_base_2 to calculate higher power of 2 (Jonathan Toppins) [1611783] - [netdrv] ice: Fix bugs in control queue processing (Jonathan Toppins) [1611783] - [netdrv] ice: Clean control queues only when they are initialized (Jonathan Toppins) [1611783] - [netdrv] ice: Report stats for allocated queues via ethtool stats (Jonathan Toppins) [1611783] - [netdrv] ice: Cleanup magic number (Jonathan Toppins) [1611783] - [netdrv] ice: Remove unnecessary node owner check (Jonathan Toppins) [1611783] - [netdrv] ice: Fix multiple static analyser warnings (Jonathan Toppins) [1611783] - [virt] KVM: VMX: fixes for vmentry_l1d_flush module parameter (Waiman Long) [1616248] {CVE-2018-15572} - [virt] KVM: x86: SVM: Call x86_spec_ctrl_set_guest/host() with interrupts disabled (Waiman Long) [1616248] {CVE-2018-15572} - [virt] x86/kvm/vmx: Fix coding style in vmx_setup_l1d_flush() (Waiman Long) [1616248] {CVE-2018-15572} - [x86] x86/speculation: Support Enhanced IBRS on future CPUs (Waiman Long) [1614144] - [x86] x86/speculation: Protect against userspace-userspace spectreRSB (Waiman Long) [1616248] {CVE-2018-15572} - [x86] x86/speculation: Remove SPECTRE_V2_IBRS in enum spectre_v2_mitigation (Waiman Long) [1616248] {CVE-2018-15572} - [cpufreq] cpufreq: Fix a circular lock dependency problem (Waiman Long) [1599154] - [kernel] cpu/hotplug: Add a cpus_read_trylock() function (Waiman Long) [1599154] - [virt] xen/spinlock: Don't use pvqspinlock if only 1 vCPU (Waiman Long) [1618486]- [mailbox] mailbox: PCC: handle parse error (David Arcari) [1630382] - [hv] vmbus: don't return values for uninitalized channels (Vitaly Kuznetsov) [1617954] - [mm] kernel/memremap, kasan: make ZONE_DEVICE with work with KASAN (Bill O'Donnell) [1629578] - [mm] mm: fix BUG_ON() in vmf_insert_pfn_pud() from VM_MIXEDMAP removal (Jeff Moyer) [1622171] - [mm] dax: remove VM_MIXEDMAP for fsdax and device dax (Jeff Moyer) [1622171]- [i2c] i2c: i801: fix DNV's SMBCTRL register offset (David Arcari) [1628861] - [fs] ceph: avoid a use-after-free in ceph_destroy_options() (Ilya Dryomov) [1629884] - [fs] ceph: fix incorrect use of strncpy (Ilya Dryomov) [1629884] - [block] rbd: support cloning across namespaces (Ilya Dryomov) [1629884] - [block] rbd: factor out get_parent_info() (Ilya Dryomov) [1629884] - [block] rbd: support for images within namespaces (Ilya Dryomov) [1629884] - [block] rbd: pass rbd_spec into parse_rbd_opts_token() (Ilya Dryomov) [1629884] - [net] libceph: weaken sizeof check in ceph_x_verify_authorizer_reply() (Ilya Dryomov) [1629884] - [net] libceph: check authorizer reply/challenge length before reading (Ilya Dryomov) [1629884] - [net] libceph: implement CEPHX_V2 calculation mode (Ilya Dryomov) [1629884] - [net] libceph: add authorizer challenge (Ilya Dryomov) [1629884] - [net] libceph: factor out encrypt_authorizer() (Ilya Dryomov) [1629884] - [net] libceph: factor out __ceph_x_decrypt() (Ilya Dryomov) [1629884] - [net] libceph: factor out __prepare_write_connect() (Ilya Dryomov) [1629884] - [net] libceph: store ceph_auth_handshake pointer in ceph_connection (Ilya Dryomov) [1629884] - [pci] PCI: pciehp: Deduplicate presence check on probe & resume (Myron Stowe) [1583983] - [pci] PCI: pciehp: Avoid implicit fallthroughs in switch statements (Myron Stowe) [1583983] - [pci] PCI: Whitelist Thunderbolt ports for runtime D3 (Myron Stowe) [1583983] - [pci] PCI: Whitelist native hotplug ports for runtime D3 (Myron Stowe) [1583983] - [pci] PCI: sysfs: Resume to D0 on function reset (Myron Stowe) [1583983] - [pci] PCI: pciehp: Resume parent to D0 on config space access (Myron Stowe) [1583983] - [pci] PCI: pciehp: Resume to D0 on enable/disable (Myron Stowe) [1583983] - [pci] PCI: pciehp: Support interrupts sent from D3hot (Myron Stowe) [1583983] - [pci] PCI: pciehp: Obey compulsory command delay after resume (Myron Stowe) [1583983] - [pci] PCI: pciehp: Clear spurious events earlier on resume (Myron Stowe) [1583983] - [pci] PCI: portdrv: Deduplicate PM callback iterator (Myron Stowe) [1583983] - [pci] PCI: pciehp: Avoid slot access during reset (Myron Stowe) [1583983] - [pci] PCI: pciehp: Always enable occupied slot on probe (Myron Stowe) [1583983] - [pci] PCI: pciehp: Become resilient to missed events (Myron Stowe) [1583983] - [pci] PCI: pciehp: Tolerate initially unstable link (Myron Stowe) [1583983] - [pci] PCI: pciehp: Declare pciehp_enable/disable_slot() static (Myron Stowe) [1583983] - [pci] PCI: pciehp: Drop enable/disable lock (Myron Stowe) [1583983] - [pci] PCI: pciehp: Enable/disable exclusively from IRQ thread (Myron Stowe) [1583983] - [pci] PCI: pciehp: Track enable/disable status (Myron Stowe) [1583983] - [pci] PCI: pciehp: Publish to user space last on probe (Myron Stowe) [1583983] - [pci] PCI: hotplug: Demidlayer registration with the core (Myron Stowe) [1583983] - [pci] PCI: pciehp: Drop slot workqueue (Myron Stowe) [1583983] - [pci] PCI: pciehp: Handle events synchronously (Myron Stowe) [1583983] - [pci] PCI: pciehp: Stop blinking on slot enable failure (Myron Stowe) [1583983] - [pci] PCI: pciehp: Convert to threaded polling (Myron Stowe) [1583983] - [pci] PCI: pciehp: Convert to threaded IRQ (Myron Stowe) [1583983] - [pci] PCI: pciehp: Document struct slot and struct controller (Myron Stowe) [1583983] - [pci] PCI: pciehp: Declare pciehp_unconfigure_device() void (Myron Stowe) [1583983] - [pci] PCI: pciehp: Drop unnecessary NULL pointer check (Myron Stowe) [1583983] - [pci] PCI: pciehp: Fix unprotected list iteration in IRQ handler (Myron Stowe) [1583983] - [pci] PCI: pciehp: Fix use-after-free on unplug (Myron Stowe) [1583983] - [pci] PCI: hotplug: Don't leak pci_slot on registration failure (Myron Stowe) [1583983] - [pci] PCI: hotplug: Delete skeleton driver (Myron Stowe) [1583983] - [netdrv] be2net: Use Kconfig flag to support for enabling/disabling adapters (Petr Oros) [1611768] - [acpi] ACPICA: Reference Counts: increase max to 0x4000 for large servers (Frank Ramsay) [1618760]- [net] udp6: add missing checks on edumux packet processing (Paolo Abeni) [1625954] - [net] udp4: fix IP_CMSG_CHECKSUM for connected sockets (Paolo Abeni) [1625954] - [s390] s390/pci: fix out of bounds access during irq setup (Hendrik Brueckner) [1627462] - [nvdimm] libnvdimm: fix ars_status output length calculation (Jeff Moyer) [1616307]- [scsi] scsi: lpfc: Correct MDS diag and nvmet configuration (Dick Kennedy) [1628323] - [iommu] iommu/arm-smmu: workaround DMA mode issues (Mark Salter) [1624077] - [x86] x86/microcode: Allow late microcode loading with SMT disabled (Waiman Long) [1616046] {CVE-2018-3620 CVE-2018-3646} - [x86] tools headers: Synchronise x86 cpufeatures.h for L1TF additions (Waiman Long) [1616046] {CVE-2018-3620 CVE-2018-3646} - [x86] x86/mm/kmmio: Make the tracer robust against L1TF (Waiman Long) [1616046] {CVE-2018-3620 CVE-2018-3646} - [x86] x86/mm/pat: Make set_memory_np() L1TF safe (Waiman Long) [1616046] {CVE-2018-3620 CVE-2018-3646} - [x86] x86/speculation/l1tf: Make pmd/pud_mknotpresent() invert (Waiman Long) [1616046] {CVE-2018-3620 CVE-2018-3646} - [x86] x86/speculation/l1tf: Invert all not present mappings (Waiman Long) [1616046] {CVE-2018-3620 CVE-2018-3646} - [x86] cpu/hotplug: Fix SMT supported evaluation (Waiman Long) [1616046] {CVE-2018-3620 CVE-2018-3646} - [x86] KVM: VMX: Tell the nested hypervisor to skip L1D flush on vmentry (Waiman Long) [1616046] {CVE-2018-3620 CVE-2018-3646} - [x86] x86/speculation: Use ARCH_CAPABILITIES to skip L1D flush on vmentry (Waiman Long) [1616046] {CVE-2018-3620 CVE-2018-3646} - [x86] x86/speculation: Simplify sysfs report of VMX L1TF vulnerability (Waiman Long) [1616046] {CVE-2018-3620 CVE-2018-3646} - [x86] Documentation/l1tf: Remove Yonah processors from not vulnerable list (Waiman Long) [1616046] {CVE-2018-3620 CVE-2018-3646} - [x86] x86/KVM/VMX: Don't set l1tf_flush_l1d from vmx_handle_external_intr() (Waiman Long) [1616046] {CVE-2018-3620 CVE-2018-3646} - [x86] x86/irq: Let interrupt handlers set kvm_cpu_l1tf_flush_l1d (Waiman Long) [1616046] {CVE-2018-3620 CVE-2018-3646} - [x86] x86: Don't include linux/irq.h from asm/hardirq.h (Waiman Long) [1616046] {CVE-2018-3620 CVE-2018-3646} - [x86] x86/KVM/VMX: Introduce per-host-cpu analogue of l1tf_flush_l1d (Waiman Long) [1616046] {CVE-2018-3620 CVE-2018-3646} - [x86] x86/irq: Demote irq_cpustat_t::__softirq_pending to u16 (Waiman Long) [1616046] {CVE-2018-3620 CVE-2018-3646} - [x86] x86/KVM/VMX: Move the l1tf_flush_l1d test to vmx_l1d_flush() (Waiman Long) [1616046] {CVE-2018-3620 CVE-2018-3646} - [x86] x86/KVM/VMX: Replace 'vmx_l1d_flush_always' with 'vmx_l1d_flush_cond' (Waiman Long) [1616046] {CVE-2018-3620 CVE-2018-3646} - [x86] x86/KVM/VMX: Don't set l1tf_flush_l1d to true from vmx_l1d_flush() (Waiman Long) [1616046] {CVE-2018-3620 CVE-2018-3646} - [x86] cpu/hotplug: detect SMT disabled by BIOS (Waiman Long) [1616046] {CVE-2018-3620 CVE-2018-3646} - [x86] Documentation/l1tf: Fix typos (Waiman Long) [1616046] {CVE-2018-3620 CVE-2018-3646} - [x86] x86/KVM/VMX: Initialize the vmx_l1d_flush_pages' content (Waiman Long) [1616046] {CVE-2018-3620 CVE-2018-3646} - [x86] x86/speculation/l1tf: Unbreak !__HAVE_ARCH_PFN_MODIFY_ALLOWED architectures (Waiman Long) [1616046] {CVE-2018-3620 CVE-2018-3646} - [x86] Documentation: Add section about CPU vulnerabilities (Waiman Long) [1616046] {CVE-2018-3620 CVE-2018-3646} - [x86] x86/bugs, kvm: Introduce boot-time control of L1TF mitigations (Waiman Long) [1616046] {CVE-2018-3620 CVE-2018-3646} - [x86] cpu/hotplug: Set CPU_SMT_NOT_SUPPORTED early (Waiman Long) [1616046] {CVE-2018-3620 CVE-2018-3646} - [x86] cpu/hotplug: Expose SMT control init function (Waiman Long) [1616046] {CVE-2018-3620 CVE-2018-3646} - [x86] x86/kvm: Allow runtime control of L1D flush (Waiman Long) [1616046] {CVE-2018-3620 CVE-2018-3646} - [x86] x86/kvm: Serialize L1D flush parameter setter (Waiman Long) [1616046] {CVE-2018-3620 CVE-2018-3646} - [x86] x86/kvm: Add static key for flush always (Waiman Long) [1616046] {CVE-2018-3620 CVE-2018-3646} - [x86] x86/kvm: Move l1tf setup function (Waiman Long) [1616046] {CVE-2018-3620 CVE-2018-3646} - [x86] x86/l1tf: Handle EPT disabled state proper (Waiman Long) [1616046] {CVE-2018-3620 CVE-2018-3646} - [x86] x86/kvm: Drop L1TF MSR list approach (Waiman Long) [1616046] {CVE-2018-3620 CVE-2018-3646} - [x86] x86/litf: Introduce vmx status variable (Waiman Long) [1616046] {CVE-2018-3620 CVE-2018-3646} - [x86] cpu/hotplug: Online siblings when SMT control is turned on (Waiman Long) [1616046] {CVE-2018-3620 CVE-2018-3646} - [x86] x86/KVM/VMX: Use MSR save list for IA32_FLUSH_CMD if required (Waiman Long) [1616046] {CVE-2018-3620 CVE-2018-3646} - [x86] x86/KVM/VMX: Extend add_atomic_switch_msr() to allow VMENTER only MSRs (Waiman Long) [1616046] {CVE-2018-3620 CVE-2018-3646} - [x86] x86/KVM/VMX: Separate the VMX AUTOLOAD guest/host number accounting (Waiman Long) [1616046] {CVE-2018-3620 CVE-2018-3646} - [x86] x86/KVM/VMX: Add find_msr() helper function (Waiman Long) [1616046] {CVE-2018-3620 CVE-2018-3646} - [x86] x86/KVM/VMX: Split the VMX MSR LOAD structures to have an host/guest numbers (Waiman Long) [1616046] {CVE-2018-3620 CVE-2018-3646} - [x86] x86/KVM/VMX: Add L1D flush logic (Waiman Long) [1616046] {CVE-2018-3620 CVE-2018-3646} - [x86] x86/KVM/VMX: Add L1D MSR based flush (Waiman Long) [1616046] {CVE-2018-3620 CVE-2018-3646} - [x86] x86/KVM/VMX: Add L1D flush algorithm (Waiman Long) [1616046] {CVE-2018-3620 CVE-2018-3646} - [x86] x86/KVM/VMX: Add module argument for L1TF mitigation (Waiman Long) [1616046] {CVE-2018-3620 CVE-2018-3646} - [x86] x86/KVM: Warn user if KVM is loaded SMT and L1TF CPU bug being present (Waiman Long) [1616046] {CVE-2018-3620 CVE-2018-3646} - [x86] cpu/hotplug: Boot HT siblings at least once (Waiman Long) [1616046] {CVE-2018-3620 CVE-2018-3646} - [x86] Revert "x86/apic: Ignore secondary threads if nosmt=force" (Waiman Long) [1616046] {CVE-2018-3620 CVE-2018-3646} - [x86] x86/speculation/l1tf: Fix up pte->pfn conversion for PAE (Waiman Long) [1616046] {CVE-2018-3620 CVE-2018-3646} - [x86] x86/speculation/l1tf: Protect PAE swap entries against L1TF (Waiman Long) [1616046] {CVE-2018-3620 CVE-2018-3646} - [x86] x86/CPU/AMD: Move TOPOEXT reenablement before reading smp_num_siblings (Waiman Long) [1616046] {CVE-2018-3620 CVE-2018-3646} - [x86] x86/cpufeatures: Add detection of L1D cache flush support (Waiman Long) [1616046] {CVE-2018-3620 CVE-2018-3646} - [x86] x86/speculation/l1tf: Extend 64bit swap file size limit (Waiman Long) [1616046] {CVE-2018-3620 CVE-2018-3646} - [x86] x86/apic: Ignore secondary threads if nosmt=force (Waiman Long) [1616046] {CVE-2018-3620 CVE-2018-3646} - [x86] x86/cpu/AMD: Evaluate smp_num_siblings early (Waiman Long) [1616046] {CVE-2018-3620 CVE-2018-3646} - [x86] x86/CPU/AMD: Do not check CPUID max ext level before parsing SMP info (Waiman Long) [1616046] {CVE-2018-3620 CVE-2018-3646} - [x86] x86/cpu/intel: Evaluate smp_num_siblings early (Waiman Long) [1616046] {CVE-2018-3620 CVE-2018-3646} - [x86] x86/cpu/topology: Provide detect_extended_topology_early() (Waiman Long) [1616046] {CVE-2018-3620 CVE-2018-3646} - [x86] x86/cpu/common: Provide detect_ht_early() (Waiman Long) [1616046] {CVE-2018-3620 CVE-2018-3646} - [x86] x86/cpu/AMD: Remove the pointless detect_ht() call (Waiman Long) [1616046] {CVE-2018-3620 CVE-2018-3646} - [x86] x86/cpu: Remove the pointless CPU printout (Waiman Long) [1616046] {CVE-2018-3620 CVE-2018-3646} - [x86] cpu/hotplug: Provide knobs to control SMT (Waiman Long) [1616046] {CVE-2018-3620 CVE-2018-3646} - [x86] cpu/hotplug: Split do_cpu_down() (Waiman Long) [1616046] {CVE-2018-3620 CVE-2018-3646} - [x86] cpu/hotplug: Make bringup/teardown of smp threads symmetric (Waiman Long) [1616046] {CVE-2018-3620 CVE-2018-3646} - [x86] x86/topology: Provide topology_smt_supported() (Waiman Long) [1616046] {CVE-2018-3620 CVE-2018-3646} - [x86] x86/smp: Provide topology_is_primary_thread() (Waiman Long) [1616046] {CVE-2018-3620 CVE-2018-3646} - [x86] sched/smt: Update sched_smt_present at runtime (Waiman Long) [1616046] {CVE-2018-3620 CVE-2018-3646} - [x86] x86/bugs: Move the l1tf function and define pr_fmt properly (Waiman Long) [1616046] {CVE-2018-3620 CVE-2018-3646} - [x86] x86/speculation/l1tf: Limit swap file size to MAX_PA/2 (Waiman Long) [1616046] {CVE-2018-3620 CVE-2018-3646} - [x86] x86/speculation/l1tf: Disallow non privileged high MMIO PROT_NONE mappings (Waiman Long) [1616046] {CVE-2018-3620 CVE-2018-3646} - [x86] x86/speculation/l1tf: Add sysfs reporting for l1tf (Waiman Long) [1616046] {CVE-2018-3620 CVE-2018-3646} - [x86] x86/speculation/l1tf: Make sure the first page is always reserved (Waiman Long) [1616046] {CVE-2018-3620 CVE-2018-3646} - [x86] x86/speculation/l1tf: Protect PROT_NONE PTEs against speculation (Waiman Long) [1616046] {CVE-2018-3620 CVE-2018-3646} - [x86] x86/speculation/l1tf: Protect swap entries against L1TF (Waiman Long) [1616046] {CVE-2018-3620 CVE-2018-3646} - [x86] x86/speculation/l1tf: Change order of offset/type in swap entry (Waiman Long) [1616046] {CVE-2018-3620 CVE-2018-3646} - [x86] x86/speculation/l1tf: Increase 32bit PAE __PHYSICAL_PAGE_SHIFT (Waiman Long) [1616046] {CVE-2018-3620 CVE-2018-3646}- [pci] PCI/DPC: Remove indirection waiting for inactive link (Myron Stowe) [1485556] - [pci] PCI/DPC: Use threaded IRQ for bottom half handling (Myron Stowe) [1485556] - [pci] PCI/DPC: Print AER status in DPC event handling (Myron Stowe) [1485556] - [pci] PCI/DPC: Remove rp_pio_status from dpc struct (Myron Stowe) [1485556] - [pci] PCI/DPC: Defer event handling to work queue (Myron Stowe) [1485556] - [pci] PCI/DPC: Leave interrupts enabled while handling event (Myron Stowe) [1485556] - [net] net/mlx5e: Offload TC matching on tos/ttl for ip tunnels (Erez Alfasi) [1615121] - [net] net/mlx5e: Support setup of tos and ttl for tunnel key TC action offload (Erez Alfasi) [1615121] - [net] net/mlx5e: Use ttl from route lookup on tc encap offload only if needed (Erez Alfasi) [1615121] - [net] net/sched: cls_flower: Support matching on ip tos and ttl for tunnels (Erez Alfasi) [1615121] - [net] flow_dissector: Dissect tos and ttl from the tunnel info (Erez Alfasi) [1615121] - [net] net/sched: tunnel_key: Allow to set tos and ttl for tc based ip tunnels (Erez Alfasi) [1615121] - [net] net/sched: act_tunnel_key: disambiguate metadata dst error cases (Erez Alfasi) [1615121] - [net] net/sched: add tunnel option support to act_tunnel_key (Erez Alfasi) [1615121] - [iommu] iommu/amd: Add support for IOMMU XT mode (Suravee Suthikulpanit) [1504485] - [iommu] iommu/amd: Add support for higher 64-bit IOMMU Control Register (Suravee Suthikulpanit) [1504485] - [x86] x86: irq_remapping: Move irq remapping mode enum (Suravee Suthikulpanit) [1504485] - [firmware] dcdbas: Add support for WSMT ACPI table (Charles Rose) [1502286]- [documentation] scsi: documentation: add scsi_mod.use_blk_mq to scsi-parameters (Ewan Milne) [1600014] - [scsi] scsi: core: Update SCSI_MQ_DEFAULT help text to match default (Ewan Milne) [1600014] - [scsi] scsi: core: switch to scsi-mq by default (Ewan Milne) [1600014] - [pci] PCI: Match Root Port's MPS to endpoint's MPSS as necessary (Myron Stowe) [1502324] - [pci] PCI: Skip MPS logic for Virtual Functions (VFs) (Myron Stowe) [1502324] - [pci] PCI: Check for PCIe Link downtraining (Myron Stowe) [1502324] - [pci] PCI: Workaround IDT switch ACS Source Validation erratum (Myron Stowe) [1502324] - [of] OF: Don't set default coherent DMA mask (Mark Salter) [1581822] - [acpi] ACPI/IORT: Don't set default coherent DMA mask (Mark Salter) [1581822] - [iommu] iommu/dma: Respect bus DMA limit for IOVAs (Mark Salter) [1581822] - [of] of/device: Set bus DMA mask as appropriate (Mark Salter) [1581822] - [acpi] ACPI/IORT: Set bus DMA mask as appropriate (Mark Salter) [1581822] - [kernel] dma-mapping: Generalise dma_32bit_limit flag (Mark Salter) [1581822] - [acpi] ACPI/IORT: Support address size limit for root complexes (Mark Salter) [1581822] - [of] of/platform: Initialise default DMA masks (Mark Salter) [1581822] - [net] Bluetooth: hidp: buffer overflow in hidp_process_report (Gopal Tiwari) [1623073] {CVE-2018-9363} - [irqchip] irqchip/gic-v3-its: Reduce minimum LPI allocation to 1 for PCI devices (Mark Salter) [1550500] - [irqchip] irqchip/gic-v3-its: Honor hypervisor enforced LPI range (Mark Salter) [1550500] - [irqchip] irqchip/gic-v3: Expose GICD_TYPER in the rdist structure (Mark Salter) [1550500] - [irqchip] irqchip/gic-v3-its: Drop chunk allocation compatibility (Mark Salter) [1550500] - [irqchip] irqchip/gic-v3-its: Move minimum LPI requirements to individual busses (Mark Salter) [1550500] - [irqchip] irqchip/gic-v3-its: Use full range of LPIs (Mark Salter) [1550500] - [irqchip] irqchip/gic-v3-its: Refactor LPI allocator (Mark Salter) [1550500]- [netdrv] hv_netvsc: Fix a deadlock by getting rtnl lock earlier in netvsc_probe() (Vitaly Kuznetsov) [1625609] - [netdrv] hv_netvsc: ignore devices that are not PCI (Vitaly Kuznetsov) [1625609] - [netdrv] hv/netvsc: Fix NULL dereference at single queue mode fallback (Vitaly Kuznetsov) [1625609] - [netdrv] hv_netvsc: Add per-cpu ethtool stats for netvsc (Vitaly Kuznetsov) [1625609] - [pci] PCI: shpchp: Separate existence of SHPC and permission to use it (Steve Best) [1622953] - [powerpc] KVM: PPC: Book3S HV: Don't truncate HPTE index in xlate function (David Gibson) [1625513] - [kernel] rh_kabi: Add macros to size and extend structs (Prarit Bhargava) [1564570] - [pci] PCI: Remove unnecessary include of (Myron Stowe) [1622672] - [wireless] iwlwifi: Remove unnecessary include of (Myron Stowe) [1622672] - [wireless] ath9k: Remove unnecessary include of (Myron Stowe) [1622672] - [netdrv] igb: Remove unnecessary include of (Myron Stowe) [1622672] - [pci] PCI/ASPM: Convert to use sysfs_match_string() helper (Myron Stowe) [1622672] - [virt] KVM: s390: Properly lock mm context allow_gmap_hpage_1m setting (Thomas Huth) [1623513] - [virt] KVM: s390: vsie: copy wrapping keys to right place (Thomas Huth) [1623513] - [virt] KVM: s390: Fix pfmf and conditional skey emulation (Thomas Huth) [1623513] - [virt] KVM: s390: Fix storage attributes migration with memory slots (Thomas Huth) [1623513] - [virt] KVM: s390: a utility function for migration (Thomas Huth) [1623513]- [lib] vsprintf: Add command line option debug_boot_weak_hash (Prarit Bhargava) [1625687] - [netdrv] i40e: Fix for Tx timeouts when interface is brought up if DCB is enabled (Stefan Assmann) [1616147] - [misc] ocxl: Fix page fault handler in case of fault on dying process (Steve Best) [1624644] - [edac] EDAC, sb_edac: Add support for systems with segmented PCI buses (Aristeu Rozanski) [1621849] - [netdrv] xen-netfront: fix warn message as irq device name has '/' (Vitaly Kuznetsov) [1576160] - [arm64] arm64, kaslr: export offset in VMCOREINFO ELF notes (Bhupesh Sharma) [1624246] - [rpmspec] redhat: Move gfs2 and dlm out of kernel-modules-extra (Andrew Price) [1623511] - [powerpc] powerpc/topology: Get topology for shared processors at boot (Steve Best) [1620039] - [fs] gfs2: Don't set GFS2_RDF_UPTODATE when the lvb is updated (Robert S Peterson) [1622057] - [fs] gfs2: improve debug information when lvb mismatches are found (Robert S Peterson) [1622057] - [fs] gfs2: cleanup: call gfs2_rgrp_ondisk2lvb from gfs2_rgrp_out (Robert S Peterson) [1622057] - [x86] Fix x86 32-bit invalid cpu boot failure message (Prarit Bhargava) [1571456] - [net] net/ipv6: init ip6 anycast rt->dst.input as ip6_input (Hangbin Liu) [1615671] - [pci] PCI/AER: Don't clear AER bits if error handling is Firmware-First (Myron Stowe) [1621933] - [pci] PCI/AER: Remove duplicate PCI_EXP_AER_FLAGS definition (Myron Stowe) [1621933] - [pci] PCI/portdrv: Remove pcie_portdrv_err_handler.slot_reset (Myron Stowe) [1621933] - [pci] PCI/AER: Clear device status bits during ERR_COR handling (Myron Stowe) [1621933] - [pci] PCI/AER: Clear device status bits during ERR_FATAL and ERR_NONFATAL (Myron Stowe) [1621933] - [pci] PCI/AER: Remove ERR_FATAL code from ERR_NONFATAL path (Myron Stowe) [1621933] - [pci] PCI/AER: Factor out ERR_NONFATAL status bit clearing (Myron Stowe) [1621933] - [pci] PCI/AER: Clear only ERR_NONFATAL bits during non-fatal recovery (Myron Stowe) [1621933] - [pci] PCI/AER: Clear only ERR_FATAL status bits during fatal recovery (Myron Stowe) [1621933] - [pci] PCI/AER: Honor "pcie_ports=native" even if HEST sets FIRMWARE_FIRST (Myron Stowe) [1621933] - [pci] PCI/AER: Add sysfs attributes for rootport cumulative stats (Myron Stowe) [1621933] - [pci] PCI/AER: Add sysfs attributes to provide AER stats and breakdown (Myron Stowe) [1621933] - [pci] PCI/AER: Define aer_stats structure for AER capable devices (Myron Stowe) [1621933] - [pci] PCI/AER: Move internal declarations to drivers/pci/pci.h (Myron Stowe) [1621933] - [pci] PCI/AER: Adopt lspci names for AER error decoding (Myron Stowe) [1621933] - [pci] PCI/AER: Expose internal API for obtaining AER information (Myron Stowe) [1621933] - [kernel] rcu: Make expedited GPs handle CPU 0 being offline (Gustavo Duarte) [1610262] - [rpmspec] Generate BootLoaderSpec config fragments ("Herton R. Krzesinski") [1619766]- [net] erspan: set erspan_ver to 1 by default when adding an erspan dev (Xin Long) [1619118] - [hv] x86/hyper-v: Fix wrong merge conflict resolution (Vitaly Kuznetsov) [1597652] - [hv] x86/hyper-v: Check for VP_INVAL in hyperv_flush_tlb_others() (Vitaly Kuznetsov) [1597652] - [hv] x86/hyper-v: Check cpumask_to_vpset() return value in hyperv_flush_tlb_others_ex() (Vitaly Kuznetsov) [1597652] - [hv] x86/hyper-v: Trace PV IPI send (Vitaly Kuznetsov) [1597652] - [hv] x86/hyper-v: Use cheaper HVCALL_SEND_IPI hypercall when possible (Vitaly Kuznetsov) [1597652] - [hv] x86/hyper-v: Use 'fast' hypercall for HVCALL_SEND_IPI (Vitaly Kuznetsov) [1597652] - [hv] x86/hyper-v: Implement hv_do_fast_hypercall16 (Vitaly Kuznetsov) [1597652] - [hv] x86/hyper-v: Use cheaper HVCALL_FLUSH_VIRTUAL_ADDRESS_(LIST, SPACE) hypercalls when possible (Vitaly Kuznetsov) [1597652] - [netdrv] xen-netfront: fix queue name setting (Vitaly Kuznetsov) [1576160] - [scsi] lfpc: add Lancer FCoE to the removed devices (Tomas Henzl) [1602033] - [scsi] megaraid_sas: add removed id table (Tomas Henzl) [1602033] - [scsi] aacraid: add removed id table (Tomas Henzl) [1602033] - [scsi] qla4xxx: add removed id table (Tomas Henzl) [1602033] - [scsi] lpfc: add removed id table (Tomas Henzl) [1602033] - [scsi] qla2xxx: add removed id table (Tomas Henzl) [1602033] - [scsi] mpt3sas: add removed id table (Tomas Henzl) [1602033] - [scsi] be2iscsi: add removed id table (Tomas Henzl) [1602033] - [scsi] rh_taint, pci : add information about removed hardware (Tomas Henzl) [1602033] - [kernel] kernel: add SUPPORT_REMOVED kernel taint (Tomas Henzl) [1602033] - [net] sunrpc: Change rpc_print_iostats to rpc_clnt_show_stats and handle rpc_clnt clones (Dave Wysochanski) [1610373] - [net] sunrpc: Add _add_rpc_iostats() to add rpc_iostats metrics (Dave Wysochanski) [1610373] - [net] sunrpc: add _print_rpc_iostats() to output metrics for one RPC op (Dave Wysochanski) [1610373]- [net] xdp: exclude XDP from kABI guarantee (Jiri Benc) [1568551] - [kernel] rh_kabi: introduce RH_KABI_EXCLUDE (Jiri Benc) [1568551] - [powerpc] powerpc/powernv/pci: Work around races in PCI bridge enabling (Steve Best) [1620035] - [block] blk-wbt: fix IO hang in wbt_wait() (Ming Lei) [1614198] - [block] blkcg: Make blkg_root_lookup() work for queues in bypass mode (Ming Lei) [1614198] - [block] null_blk: add lock drop/acquire annotation (Ming Lei) [1614198] - [block] Blk-throttle: reduce tail io latency when iops limit is (Ming Lei) [1614198] - [block] block: paride: pd: mark expected switch fall-throughs (Ming Lei) [1614198] - [block] block: Ensure that a request queue is dissociated from the (Ming Lei) [1614198] - [block] block: Introduce blk_exit_queue() (Ming Lei) [1614198] - [block] blkcg: Introduce blkg_root_lookup() (Ming Lei) [1614198] - [block] block: Remove two superfluous #include directives (Ming Lei) [1614198] - [block] blk-mq: count the hctx as active before allocating tag (Ming Lei) [1614198] - [block] block: bvec_nr_vecs() returns value for wrong slab (Ming Lei) [1614198] - [block] drivers/block/drbd: remove the null check for (Ming Lei) [1614198] - [block] drivers/block/aoe/aoedev: NULL check is not needed for (Ming Lei) [1614198] - [block] drivers/block/mtip32xx: remove the null check for (Ming Lei) [1614198] - [block] cfq: Suppress compiler warnings about comparisons (Ming Lei) [1614198] - [block] cfq: Annotate fall-through in a switch statement (Ming Lei) [1614198] - [block] blk-wbt: Avoid lock contention and thundering herd issue in (Ming Lei) [1590363] - [block] target/loop: depend on SCSI (Ming Lei) [1614198] - [block] xen-blkfront: use true and false for boolean values (Ming Lei) [1614198] - [block] lightnvm: remove minor version check for 2.0 (Ming Lei) [1614198] - [block] scsi: Check sense buffer size at build time (Ming Lei) [1614198] - [block] libata-scsi: Move sense buffers onto stack (Ming Lei) [1614198] - [block] cdrom: Use struct scsi_sense_hdr internally (Ming Lei) [1614198] - [block] ide-cd: Remove redundant sense buffer (Ming Lei) [1614198] - [block] block: Switch struct packet_command to use struct (Ming Lei) [1614198] - [block] target: don't depend on SCSI (Ming Lei) [1614198] - [block] scsi: build scsi_common.o for all scsi passthrough request (Ming Lei) [1614198] - [block] scsi: cxlflash: Drop unused sense buffers (Ming Lei) [1614198] - [block] ide-cd: Drop unused sense buffers (Ming Lei) [1614198] - [block] blk-mq: fix updating tags depth (Ming Lei) [1611900] - [block] block: really disable runtime-pm for blk-mq (Ming Lei) [1611902] - [block] aoe: mark expected switch fall-through (Ming Lei) [1614198] - [block] block: make iolatency avg_lat exponentially decay (Ming Lei) [1614198] - [block] blk-cgroup: clear the throttle queue on fork (Ming Lei) [1614198] - [block] blk-cgroup: hold the queue ref during throttling (Ming Lei) [1614198] - [block] blk-iolatency: fix blkg leak in timer_fn (Ming Lei) [1614198] - [block] block/bsg-lib: use PTR_ERR_OR_ZERO to simplify the flow path (Ming Lei) [1614198] - [block] t10-pi: provide empty t10_pi_complete() for (Ming Lei) [1614198] - [block] block: blk_init_allocated_queue() set q->fq as NULL in the (Ming Lei) [1614198] - [block] nvme: use blk API to remap ref tags for IOs with metadata (Ming Lei) [1614198] - [block] block: move dif_prepare/dif_complete functions to block layer (Ming Lei) [1614198] - [block] block: move ref_tag calculation func to the block layer (Ming Lei) [1614198] - [block] block: don't account for split bio's size in cgroup stats (Ming Lei) [1614198] - [block] pktcdvd: Fix possible Spectre-v1 for pkt_devs (Ming Lei) [1614198] - [block] partitions/aix: append null character to print data from disk (Ming Lei) [1614198] - [block] partitions/aix: fix usage of uninitialized lv_info and lvname (Ming Lei) [1614198] - [block] readahead: stricter check for bdi io_pages (Ming Lei) [1614198] - [block] scsi: virtio_scsi: fix pi_bytes(out, in) on 4 KiB block size (Ming Lei) [1614198] - [block] block: move bio_integrity_(intervals, bytes) into blkdev.h (Ming Lei) [1614198] - [block] xen/blkfront: remove unused macros (Ming Lei) [1614198] - [block] block: allow max_discard_segments to be stacked (Ming Lei) [1614198] - [block] block: unexport bio_clone_bioset (Ming Lei) [1614198] - [block] md: remove a bogus comment (Ming Lei) [1614198] - [block] block: remove bio_clone_kmalloc (Ming Lei) [1614198] - [block] exofs: use bio_clone_fast in _write_mirror (Ming Lei) [1614198] - [block] bcache: don't clone bio in bch_data_verify (Ming Lei) [1614198] - [block] block: bio_set_pages_dirty can't see NULL bv_page in a valid (Ming Lei) [1614198] - [block] block: simplify bio_check_pages_dirty (Ming Lei) [1614198] - [block] block: Rename the null_blk_mod kernel module back into (Ming Lei) [1614198] - [block] blk-mq: fail the request in case issue failure (Ming Lei) [1614305] - [block] blk-rq-qos: make depth comparisons unsigned (Ming Lei) [1614198] - [block] blkcg: Track DISCARD statistics and output them in cgroup (Ming Lei) [1614198] - [block] block: Track DISCARD statistics and output them in stat and (Ming Lei) [1614198] - [block] block: Add and use op_stat_group() for indexing disk_stat (Ming Lei) [1614198] - [block] block: Define and use STAT_READ and STAT_WRITE (Ming Lei) [1614198] - [block] block: Add part_stat_read_accum to read across field entries (Ming Lei) [1614198] - [block] block: make bdev_ops->rw_page() take a REQ_OP instead of bool (Ming Lei) [1614198] - [block] pktcdvd: remove assignment in if condition (Ming Lei) [1614198] - [block] blk-mq: issue directly if hw queue isn't busy in case of (Ming Lei) [1614305] - [block] blk-iolatency: truncate our current time (Ming Lei) [1614198] - [block] blk-iolatency: don't change the latency window (Ming Lei) [1614198] - [block] block: remove blkdev_entry_to_request() macro (Ming Lei) [1614198] - [block] block: skd: Use pad printk format for dma_addr_t values (Ming Lei) [1614198] - [block] bsg: remove read/write support (Ming Lei) [1614198] - [block] blk-iolatency: fix max_depth comparisons (Ming Lei) [1614198] - [block] block: iolatency: avoid 64-bit division (Ming Lei) [1614198] - [block] block/DAC960.c: fix defined but not used build warnings (Ming Lei) [1614198] - [block] null_blk: add zone support (Ming Lei) [1614198] - [block] null_blk: move shared definitions to header file (Ming Lei) [1614198] - [block] block: Add default switch case to blk_pm_allow_request() to (Ming Lei) [1614198] - [block] block: fix infinite loop if the device loses discard (Ming Lei) [1614198] - [block] block, mm: remove unnecessary __GFP_HIGH flag (Ming Lei) [1614198] - [block] null_blk: remove NULLB_DEV_FL_CONFIGURED on turning off nullb (Ming Lei) [1614198] - [block] mm: skip readahead if the cgroup is congested (Ming Lei) [1614198] - [block] Documentation: add a doc for blk-iolatency (Ming Lei) [1614198] - [block] block: introduce blk-iolatency io controller (Ming Lei) [1614198] - [block] rq-qos: introduce dio_bio callback (Ming Lei) [1614198] - [block] block: remove external dependency on wbt_flags (Ming Lei) [1614198] - [block] blk-rq-qos: refactor out common elements of blk-wbt (Ming Lei) [1614198] - [block] blk-stat: export helpers for modifying blk_rq_stat (Ming Lei) [1614198] - [block] memcontrol: schedule throttling if we are congested (Ming Lei) [1614198] - [block] blkcg: add generic throttling mechanism (Ming Lei) [1614198] - [block] swap, blkcg: issue swap io with the appropriate context (Ming Lei) [1614198] - [block] blk: introduce REQ_SWAP (Ming Lei) [1614198] - [block] blk-cgroup: allow controllers to output their own stats (Ming Lei) [1614198] - [block] block: introduce bio_issue_as_root_blkg (Ming Lei) [1614198] - [block] block: add bi_blkg to the bio for cgroups (Ming Lei) [1614198] - [block] blk-mq: dequeue request one by one from sw queue if hctx is (Ming Lei) [1614305] - [block] block/loop: mark expected switch fall-through (Ming Lei) [1614198] - [block] drbd: mark expected switch fall-throughs (Ming Lei) [1614198] - [block] blk-mq: only attempt to merge bio if there is rq in sw queue (Ming Lei) [1614305] - [block] blk-mq: use list_splice_tail_init() to insert requests (Ming Lei) [1614305] - [block] blk-mq: fix typo in a function comment (Ming Lei) [1614198] - [block] blk-mq: code clean-up by adding an API to clear set->mq_map (Ming Lei) [1614198] - [block] paride: remove redundant variable n (Ming Lei) [1614198] - [block] partitions/ldm: remove redundant pointer dgrp (Ming Lei) [1614198] - [block] loop: remove redundant pointer inode (Ming Lei) [1614198] - [block] block/floppy: remove redundant variable dflags (Ming Lei) [1614198] - [block] Block: blk-throttle: set low_valid immediately once one (Ming Lei) [1614198] - [block] Blktrace: bail out early if block debugfs is not configured (Ming Lei) [1614198] - [block] block: Document how blk_update_request() handles (Ming Lei) [1614198] - [block] drbd: Do not redefine __must_hold() (Ming Lei) [1614198] - [block] blk-mq: avoid to synchronize rcu inside blk_cleanup_queue() (Ming Lei) [1597067] - [block] blk-mq: remove synchronize_rcu() from (Ming Lei) [1597067] - [block] blk-mq: introduce new lock for protecting hctx->dispatch_wait (Ming Lei) [1597067] - [block] blk-mq: don't pass **hctx to blk_mq_mark_tag_wait() (Ming Lei) [1597067] - [block] blk-mq: cleanup blk_mq_get_driver_tag() (Ming Lei) [1597067] - [block] block, bfq: give a better name to bfq_bfqq_may_idle (Ming Lei) [1614198] - [block] block, bfq: fix service being wrongly set to zero in case of (Ming Lei) [1614198] - [block] block, bfq: do not expire a queue that will deserve dispatch (Ming Lei) [1614198] - [block] block, bfq: add/remove entity weights correctly (Ming Lei) [1614198] - [block] block: Make struct request_queue smaller for (Ming Lei) [1614198] - [block] block: Inline blk_queue_nr_zones() (Ming Lei) [1614198] - [block] block: Remove bdev_nr_zones() (Ming Lei) [1614198] - [block] include/uapi/linux/blkzoned.h: Remove a superfluous __packed (Ming Lei) [1614198] - [block] block: Remove a superfluous cast from blkdev_report_zones() (Ming Lei) [1614198]- [net] tls: mark as Tech Preview (Sabrina Dubroca) [1570255] - [pci] PCI/VPD: Check for VPD access completion before checking for timeout (Myron Stowe) [1618820] - [rpmspec] redhat: remove bootwrapper subpackage (Gustavo Duarte) [1578399] - [virt] kvm: x86: Set highest physical address bits in non-present/reserved SPTEs (Paolo Bonzini) [1614808] - [virt] KVM/x86: Use CC_SET()/CC_OUT in arch/x86/kvm/vmx.c (Paolo Bonzini) [1614808] - [virt] KVM: X86: Implement PV IPIs in linux guest (Paolo Bonzini) [1614808] - [virt] KVM: X86: Add kvm hypervisor init time platform setup callback (Paolo Bonzini) [1614808] - [virt] KVM: X86: Implement "send IPI" hypercall (Paolo Bonzini) [1614808] - [virt] KVM/x86: Move X86_CR4_OSXSAVE check into kvm_valid_sregs() (Paolo Bonzini) [1614808] - [virt] KVM: x86: Skip pae_root shadow allocation if tdp enabled (Paolo Bonzini) [1614808] - [virt] KVM/MMU: Combine flushing remote tlb in mmu_set_spte() (Paolo Bonzini) [1614808] - [virt] KVM: vmx: skip VMWRITE of HOST_(FS, GS)_BASE when possible (Paolo Bonzini) [1614808] - [virt] KVM: vmx: skip VMWRITE of HOST_(FS, GS)_SEL when possible (Paolo Bonzini) [1614808] - [virt] KVM: vmx: always initialize HOST_(FS, GS)_BASE to zero during setup (Paolo Bonzini) [1614808] - [virt] KVM: vmx: move struct host_state usage to struct loaded_vmcs (Paolo Bonzini) [1614808] - [virt] KVM: vmx: compute need to reload FS/GS/LDT on demand (Paolo Bonzini) [1614808] - [virt] KVM: nVMX: remove a misleading comment regarding vmcs02 fields (Paolo Bonzini) [1614808] - [virt] KVM: vmx: rename __vmx_load_host_state() and vmx_save_host_state() (Paolo Bonzini) [1614808] - [virt] KVM: vmx: add dedicated utility to access guest's kernel_gs_base (Paolo Bonzini) [1614808] - [virt] KVM: vmx: track host_state.loaded using a loaded_vmcs pointer (Paolo Bonzini) [1614808] - [virt] KVM: vmx: refactor segmentation code in vmx_save_host_state() (Paolo Bonzini) [1614808] - [virt] kvm: nVMX: Fix fault priority for VMX operations (Paolo Bonzini) [1614808] - [virt] kvm: nVMX: Fix fault vector for VMX operation at CPL > 0 (Paolo Bonzini) [1614808] - [virt] KVM: try __get_user_pages_fast even if not in atomic context (Paolo Bonzini) [1614808] - [virt] KVM: vmx: Add tlb_remote_flush callback support (Paolo Bonzini) [1614808] - [virt] KVM: x86: Add tlb remote flush callback in kvm_x86_ops (Paolo Bonzini) [1614808] - [virt] X86/Hyper-V: Add hyperv_nested_flush_guest_mapping ftrace support (Paolo Bonzini) [1614808] - [virt] X86/Hyper-V: Add flush HvFlushGuestPhysicalAddressSpace hypercall support (Paolo Bonzini) [1614808] - [virt] x86/kvm: Don't use pvqspinlock code if only 1 vCPU (Paolo Bonzini) [1614808] - [virt] KVM/MMU: Simplify __kvm_sync_page() function (Paolo Bonzini) [1614808] - [virt] kvm: x86: Remove CR3_PCID_INVD flag (Paolo Bonzini) [1614808] - [virt] kvm: x86: Add multi-entry LRU cache for previous CR3s (Paolo Bonzini) [1614808] - [virt] kvm: x86: Flush only affected TLB entries in kvm_mmu_invlpg* (Paolo Bonzini) [1614808] - [virt] kvm: x86: Skip shadow page resync on CR3 switch when indicated by guest (Paolo Bonzini) [1614808] - [virt] kvm: x86: Support selectively freeing either current or previous MMU root (Paolo Bonzini) [1614808] - [virt] kvm: x86: Add a root_hpa parameter to kvm_mmu->invlpg() (Paolo Bonzini) [1614808] - [virt] kvm: x86: Skip TLB flush on fast CR3 switch when indicated by guest (Paolo Bonzini) [1614808] - [virt] kvm: vmx: Support INVPCID in shadow paging mode (Paolo Bonzini) [1614808] - [virt] kvm: x86: Propagate guest PCIDs to host PCIDs (Paolo Bonzini) [1614808] - [virt] kvm: x86: Add ability to skip TLB flush when switching CR3 (Paolo Bonzini) [1614808] - [virt] kvm: x86: Use fast CR3 switch for nested VMX (Paolo Bonzini) [1614808] - [virt] kvm: x86: Support resetting the MMU context without resetting roots (Paolo Bonzini) [1614808] - [virt] kvm: x86: Add support for fast CR3 switch across different MMU modes (Paolo Bonzini) [1614808] - [virt] kvm: x86: Introduce KVM_REQ_LOAD_CR3 (Paolo Bonzini) [1614808] - [virt] kvm: x86: Introduce kvm_mmu_calc_root_page_role() (Paolo Bonzini) [1614808] - [virt] kvm: x86: Add fast CR3 switch code path (Paolo Bonzini) [1614808] - [virt] kvm: x86: Avoid taking MMU lock in kvm_mmu_sync_roots if no sync is needed (Paolo Bonzini) [1614808] - [virt] kvm: x86: Make sync_page() flush remote TLBs once only (Paolo Bonzini) [1614808] - [virt] KVM: MMU: drop vcpu param in gpte_access (Paolo Bonzini) [1614808] - [virt] KVM: nVMX: Separate logic allocating shadow vmcs to a function (Paolo Bonzini) [1614808] - [virt] KVM: VMX: Mark vmcs header as shadow in case alloc_vmcs_cpu() allocate shadow vmcs (Paolo Bonzini) [1614808] - [virt] KVM: nVMX: Expose VMCS shadowing to L1 guest (Paolo Bonzini) [1614808] - [virt] KVM: nVMX: Do not forward VMREAD/VMWRITE VMExits to L1 if required so by vmcs12 vmread/vmwrite bitmaps (Paolo Bonzini) [1614808] - [virt] KVM: nVMX: vmread/vmwrite: Use shadow vmcs12 if running L2 (Paolo Bonzini) [1614808] - [virt] KVM: selftests: add tests for shadow VMCS save/restore (Paolo Bonzini) [1614808] - [virt] KVM: nVMX: include shadow vmcs12 in nested state (Paolo Bonzini) [1614808] - [virt] KVM: nVMX: Cache shadow vmcs12 on VMEntry and flush to memory on VMExit (Paolo Bonzini) [1614808] - [virt] KVM: nVMX: Verify VMCS shadowing VMCS link pointer (Paolo Bonzini) [1614808] - [virt] KVM: nVMX: Verify VMCS shadowing controls (Paolo Bonzini) [1614808] - [virt] KVM: nVMX: Introduce nested_cpu_has_shadow_vmcs() (Paolo Bonzini) [1614808] - [virt] KVM: nVMX: Fail VMLAUNCH and VMRESUME on shadow VMCS (Paolo Bonzini) [1614808] - [virt] KVM: nVMX: Allow VMPTRLD for shadow VMCS if vCPU supports VMCS shadowing (Paolo Bonzini) [1614808] - [virt] KVM: VMX: Change vmcs12(read, write)_any() to receive vmcs12 as parameter (Paolo Bonzini) [1614808] - [virt] KVM: VMX: Create struct for VMCS header (Paolo Bonzini) [1614808] - [virt] kvm: selftests: add test for nested state save/restore (Paolo Bonzini) [1614808] - [virt] kvm: nVMX: Introduce KVM_CAP_NESTED_STATE (Paolo Bonzini) [1614808] - [virt] KVM: x86: do not load vmcs12 pages while still in SMM (Paolo Bonzini) [1614808] - [virt] kvm: selftests: add basic test for state save and restore (Paolo Bonzini) [1614808] - [virt] kvm: selftests: ensure vcpu file is released (Paolo Bonzini) [1614808] - [virt] kvm: selftests: actually use all of lib/vmx.c (Paolo Bonzini) [1614808] - [virt] kvm: selftests: create a GDT and TSS (Paolo Bonzini) [1614808] - [virt] KVM: x86: ensure all MSRs can always be KVM_GET/SET_MSR'd (Paolo Bonzini) [1614808] - [virt] KVM: vmx: remove save/restore of host BNDCGFS MSR (Paolo Bonzini) [1614808] - [virt] KVM: Switch 'requests' to be 64-bit (explicitly) (Paolo Bonzini) [1614808] - [virt] kvm: selftests: add cr4_cpuid_sync_test (Paolo Bonzini) [1614808] - [virt] KVM: PPC: Book3S HV: Read kvm->arch.emul_smt_mode under kvm->lock (Paolo Bonzini) [1614808] - [virt] KVM: PPC: Book3S HV: Allow creating max number of VCPUs on POWER9 (Paolo Bonzini) [1614808] - [virt] KVM: PPC: Book3S HV: Pack VCORE IDs to access full VCPU ID space (Paolo Bonzini) [1614808] - [virt] KVM: PPC: Book3S HV: Fix constant size warning (Paolo Bonzini) [1614808] - [virt] KVM: PPC: Book3S HV: Add of_node_put() in success path (Paolo Bonzini) [1614808] - [virt] KVM: PPC: Book3S: Fix matching of hardware and emulated TCE tables (Paolo Bonzini) [1614808] - [virt] KVM: PPC: Remove mmio_vsx_tx_sx_enabled in KVM MMIO emulation (Paolo Bonzini) [1614808]- [net] tcp: Add tcp_clamp_rto_to_user_timeout() helper to improve accuracy (Michael Cambria) [1605024] - [net] tcp: Add tcp_retransmit_stamp() helper routine (Michael Cambria) [1605024] - [net] tcp: convert icsk_user_timeout from jiffies to msecs (Michael Cambria) [1605024] - [kernel] Revert sched/fair: Consider SD_NUMA when selecting the most idle group to schedule on (Lauro Ramos Venancio) [1585746] - [kernel] redhat: makefile: adjust KBUILD_CFLAGS to reflect kernel.spec for powerpc builds (Gustavo Duarte) [1582568] - [rpmspec] redhat: spec: build ppc64le kernel with -O3 (Gustavo Duarte) [1582568] - [scsi] scsi: csiostor: update csio_get_flash_params() (Arjun Vynipadath) [1503574] - [scsi] csiostor: Add a soft dep on cxgb4 driver (Arjun Vynipadath) [1503574] - [firmware] dell_rbu: make firmware payload memory uncachable (Charles Rose) [1584401]- [scsi] scsi: lpfc: update driver version to 12.0.0.6 (Dick Kennedy) [1613913] - [scsi] scsi: lpfc: Remove lpfc_enable_pbde as module parameter (Dick Kennedy) [1613913] - [scsi] scsi: lpfc: Correct LCB ACCept payload (Dick Kennedy) [1613913] - [scsi] scsi: lpfc: Limit tracking of tgt queue depth in fast path (Dick Kennedy) [1613913] - [scsi] scsi: lpfc: Fix driver crash when re-registering NVME rports (Dick Kennedy) [1613913] - [scsi] scsi: lpfc: Fix list corruption on the completion queue (Dick Kennedy) [1613913] - [scsi] scsi: lpfc: Fix sysfs Speed value on CNA ports (Dick Kennedy) [1613913] - [scsi] scsi: lpfc: Fix ELS abort on SLI-3 adapters (Dick Kennedy) [1613913] - [scsi] scsi: lpfc: remove null check on nvmebuf (Dick Kennedy) [1613913] - [arm64] arm64: fix ACPI dependencies (Bhupesh Sharma) [1556832] - [arm64] arm64: acpi: fix alignment fault in accessing ACPI (Bhupesh Sharma) [1556832] - [firmware] efi/arm: map UEFI memory map even w/o runtime services enabled (Bhupesh Sharma) [1556832] - [firmware] efi/arm: preserve early mapping of UEFI memory map longer for BGRT (Bhupesh Sharma) [1556832] - [acpi] drivers: acpi: add dependency of EFI for arm64 (Bhupesh Sharma) [1556832] - [arm64] arm64: export memblock_reserve()d regions via /proc/iomem (Bhupesh Sharma) [1556832] - [arm64] arm64: kconfig: Ensure spinlock fastpaths are inlined if !PREEMPT (Waiman Long) [1607924] - [arm64] arm64: locking: Replace ticket lock implementation with qspinlock (Waiman Long) [1607924] - [arm64] arm64: barrier: Implement smp_cond_load_relaxed (Waiman Long) [1607924] - [scsi] scsi: lpfc: Revise copyright for new company language (Dick Kennedy) [1600946] - [scsi] scsi: lpfc: update driver version to 12.0.0.5 (Dick Kennedy) [1600946] - [scsi] scsi: lpfc: devloss timeout race condition caused null pointer reference (Dick Kennedy) [1600946] - [scsi] scsi: lpfc: Fix NVME Target crash in defer rcv logic (Dick Kennedy) [1600946] - [scsi] scsi: lpfc: Support duration field in Link Cable Beacon V1 command (Dick Kennedy) [1600946] - [scsi] scsi: lpfc: Make PBDE optimizations configurable (Dick Kennedy) [1600946] - [scsi] scsi: lpfc: Fix abort error path for NVMET (Dick Kennedy) [1600946] - [scsi] scsi: lpfc: Fix panic if driver unloaded when port is offline (Dick Kennedy) [1600946] - [scsi] scsi: lpfc: Fix driver not setting dpp bits correctly in doorbell word (Dick Kennedy) [1600946] - [scsi] scsi: lpfc: Add Buffer overflow check, when nvme_info larger than PAGE_SIZE (Dick Kennedy) [1600946] - [scsi] scsi: lpfc: use monotonic timestamps for statistics (Dick Kennedy) [1600946] - [x86] mark intel knights landing and knights mill unsupported (David Arcari) [1610493] - [netdrv] igb: Remove superfluous reset to PHY and page 0 selection (Corinna Vinschen) [1612824] - [tools] selftests/powerpc: Fix ptrace-pkey for default execute permission change (Steve Best) [1498799] - [tools] selftests/powerpc: Fix core-pkey for default execute permission change (Steve Best) [1498799] - [powerpc] powerpc/pkeys: make protection key 0 less special (Steve Best) [1498799] - [powerpc] powerpc/pkeys: Preallocate execute-only key (Steve Best) [1498799] - [powerpc] powerpc/pkeys: Fix calculation of total pkeys (Steve Best) [1498799] - [powerpc] powerpc/pkeys: Save the pkey registers before fork (Steve Best) [1498799] - [powerpc] powerpc/pkeys: key allocation/deallocation must not change pkey registers (Steve Best) [1498799] - [powerpc] powerpc/pkeys: Deny read/write/execute by default (Steve Best) [1498799] - [powerpc] powerpc/pkeys: Give all threads control of their key permissions (Steve Best) [1498799] - [s390] KVM: s390: Add huge page enablement control (David Hildenbrand) [1508102] - [s390] s390/mm: Add huge page gmap linking support (David Hildenbrand) [1508102] - [s390] s390/mm: hugetlb pages within a gmap can not be freed (David Hildenbrand) [1508102] - [s390] KVM: s390: Beautify skey enable check (David Hildenbrand) [1508102] - [s390] KVM: s390: Add skey emulation fault handling (David Hildenbrand) [1508102] - [s390] s390/mm: Add huge pmd storage key handling (David Hildenbrand) [1508102] - [s390] s390/mm: Clear skeys for newly mapped huge guest pmds (David Hildenbrand) [1508102] - [s390] s390/mm: Clear huge page storage keys on enable_skey (David Hildenbrand) [1508102] - [s390] s390/mm: Add huge page dirty sync support (David Hildenbrand) [1508102] - [s390] s390/mm: Add gmap pmd invalidation and clearing (David Hildenbrand) [1508102] - [s390] s390/mm: Add gmap pmd notification bit setting (David Hildenbrand) [1508102] - [s390] s390/mm: Add gmap pmd linking (David Hildenbrand) [1508102] - [s390] s390/mm: Abstract gmap notify bit setting (David Hildenbrand) [1508102] - [s390] s390/mm: Make gmap_protect_range more modular (David Hildenbrand) [1508102] - [s390] KVM: s390: Replace clear_user with kvm_clear_guest (David Hildenbrand) [1508102] - [hwmon] hwmon: (ibmpowernv) Add attributes to enable/disable sensor groups (Steve Best) [1524684] - [powerpc] powerpc/powernv: Add support to enable sensor groups (Steve Best) [1524684] - [net] net/smc: improve delete link processing (Hendrik Brueckner) [1548452] - [net] net/smc: provide fallback reason code (Hendrik Brueckner) [1548452] - [net] net/smc: use correct vlan gid of RoCE device (Hendrik Brueckner) [1548452] - [net] net/smc: fewer parameters for smc_llc_send_confirm_link() (Hendrik Brueckner) [1548452] - [net] net/smc: remove local variable page in smc_rx_splice() (Hendrik Brueckner) [1548452] - [net] net/smc: use DECLARE_BITMAP for rtokens_used_mask (Hendrik Brueckner) [1548452] - [net] net/smc: add function to get link group from link (Hendrik Brueckner) [1548452] - [net] net/smc: eliminate cursor read and write calls (Hendrik Brueckner) [1548452] - [net] net/smc: provide smc mode in smc_diag.c (Hendrik Brueckner) [1548452] - [s390] s390/ism: add device driver for internal shared memory (Hendrik Brueckner) [1548452] - [net] net/smc: add SMC-D diag support (Hendrik Brueckner) [1548452] - [net] net/smc: add SMC-D support in af_smc (Hendrik Brueckner) [1548452] - [net] net/smc: add SMC-D support in data transfer (Hendrik Brueckner) [1548452] - [net] net/smc: add SMC-D support in CLC messages (Hendrik Brueckner) [1548452] - [net] net/smc: add pnetid support for SMC-D and ISM (Hendrik Brueckner) [1548452] - [net] net/smc: add base infrastructure for SMC-D and ISM (Hendrik Brueckner) [1548452] - [net] net/smc: add pnetid support (Hendrik Brueckner) [1548452] - [net] net/smc: determine port attributes independent from pnet table (Hendrik Brueckner) [1548452] - [x86] mark whiskey-lake processor supported (David Arcari) [1609604] - [s390] KVM: s390: add etoken support for guests (Thomas Huth) [1612110] - [char] ipmi: do not configure ipmi for HPE m400 (Tony Camuso) [1583537] - [scsi] scsi: ipr: Format HCAM overlay ID 0x41 (Steve Best) [1498222] - [x86] x86/stacktrace: Enable HAVE_RELIABLE_STACKTRACE for the ORC unwinder (Joe Lawrence) [1587952] - [x86] x86/unwind/orc: Detect the end of the stack (Joe Lawrence) [1587952] - [x86] x86/stacktrace: Do not fail for ORC with regs on stack (Joe Lawrence) [1587952] - [x86] x86/stacktrace: Clarify the reliable success paths (Joe Lawrence) [1587952] - [x86] x86/stacktrace: Remove STACKTRACE_DUMP_ONCE (Joe Lawrence) [1587952] - [x86] x86/stacktrace: Do not unwind after user regs (Joe Lawrence) [1587952] - [infiniband] IB/rxe: Mark Soft-RoCE Transport driver as tech-preview (Don Dutile) [1605216] - [scsi] scsi: smartpqi: bump driver version to 1.1.4-130 (Don Brace) [1503736] - [scsi] scsi: smartpqi: fix critical ARM issue reading PQI index registers (Don Brace) [1503736] - [scsi] scsi: smartpqi: add inspur advantech ids (Don Brace) [1503736] - [scsi] scsi: smartpqi: improve error checking for sync requests (Don Brace) [1503736] - [scsi] scsi: smartpqi: improve handling for sync requests (Don Brace) [1503736] - [netdrv] ice: mark driver as tech-preview (Jonathan Toppins) [1495347] - [init] init/Kconfig: remove EXPERT from CHECKPOINT_RESTORE (Adrian Reber) [1568995 1557617 1525389] - [scsi] be2iscsi: remove BE3 family support (Maurizio Lombardi) [1598366] - [x86] update rh_check_supported processor list (David Arcari) [1595918] - [kernel] kABI: Add generic kABI macros to use for kABI workarounds (Myron Stowe) [1546831] - [pci] add pci_hw_vendor_status() (Maurizio Lombardi) [1590829] - [ata] ahci: thunderx2: Fix for errata that affects stop engine (Robert Richter) [1563590] - [pci] Vulcan: AHCI PCI bar fix for Broadcom Vulcan early silicon (Robert Richter) [1563590] - [kernel] bpf: set default values for bpf_jit_harden and bpf_jit_kallsyms (Eugene Syromiatnikov) [1569061] - [kernel] bpf: Add tech preview taint for syscall (Eugene Syromiatnikov) [1559877] - [kernel] bpf: set unprivileged_bpf_disabled to 1 by default, add a boot parameter (Eugene Syromiatnikov) [1561171] - [kernel] add Red Hat-specific taint flags (Eugene Syromiatnikov) [1559877] - [tools] perf tests: Add Python 3 support to attr.py ("Herton R. Krzesinski") [1561505] - [tools] perf scripts python: Add Python 3 support to stat-cpi.py ("Herton R. Krzesinski") [1561505] - [kernel] kdump: fix a grammar issue in a kernel message (Dave Young) [1507353] - [scripts] tags.sh: Ignore redhat/rpm (Prarit Bhargava) [1582586] - [kernel] put RHEL info into generated headers (Prarit Bhargava) [1544999] - [kernel] kdump: add support for crashkernel=auto (Dave Young) [1507353] - [kernel] kdump: round up the total memory size to 128M for crashkernel reservation (Dave Young) [1507353] - [arm64] acpi: prefer booting with ACPI over DTS (Mark Salter) [1576869] - [acpi] aarch64: acpi scan: Fix regression related to X-Gene UARTs (Mark Salter) [1519554] - [acpi] ACPI / irq: Workaround firmware issue on X-Gene based m400 (Mark Salter) [1519554] - [x86] add rh_check_supported (David Arcari) [1565717] - [scsi] qla2xxx: Remove PCI IDs of deprecated adapter (Himanshu Madhani) [1572233] - [scsi] be2iscsi: remove unsupported device IDs (Chris Leech) [1574502] - [scsi] Removing Obsolete hba pci-ids from rhel8 (Dick Kennedy) [1572321] - [scsi] hpsa: modify hpsa driver version (Joseph Szczypek) [1471185] - [scsi] hpsa: remove old cciss-based smartarray pci ids (Joseph Szczypek) [1471185] - [kernel] rh_taint: add support for marking driver as unsupported (Jonathan Toppins) [1565704] - [kernel] rh_taint: add support (David Arcari) [1565704] - [scsi] qla4xxx: Remove deprecated PCI IDs from RHEL 8 (Chad Dupuis) [1518874] - [scsi] aacraid: Remove depreciated device and vendor PCI id's (Raghava Aditya Renukunta) [1495307] - [scsi] megaraid_sas: remove deprecated pci-ids (Tomas Henzl) [1509329] - [scsi] mpt*: remove certain deprecated pci-ids (Tomas Henzl) [1511953] - [kernel] modules: add rhelversion MODULE_INFO tag (Prarit Bhargava) [1544999] - [acpi] ACPI: APEI: arm64: Ignore broken HPE moonshot APEI support (Al Stone) [1518076] - [rpmspec] compute content hash for kernel-headers (Rafael Aquini) [1613003] - [rpmspec] compress modules on all architectures ("Herton R. Krzesinski") [1614556] - [rpmspec] add gcov rpm packaging support (Jan Stancek) [1601733] - [rpmspec] don't ship spdxcheck.py (Jakub Racek) - [rpmspec] clean stray bpf files (Jakub Racek) [1593309] - [rpmspec] Copy symvers.gz to /lib/modules (Eugene Syromiatnikov) [1609695] - [rpmspec] Add kabi-dup related code into specfile (Petr Oros) [1585672] - [rpmspec] kernel spec: Add and enable kabi check (Petr Oros) [1585672] - [rpmspec] Enable warning checks for configs in rpm build (Prarit Bhargava) [1589858] - [rpmspec] remove workaround for rst2man-3 from python3-docutils ("Herton R. Krzesinski") [1602148] - [rpmspec] fix dist tag used for hardlink in kernel-devel post ("Herton R. Krzesinski") [1596397] - [scripts] get_maintainer.pl: Add optional .get_maintainer.MAINTAINERS override (Prarit Bhargava) [1595727] - [rpmspec] drop kernel package dependency on python2 ("Herton R. Krzesinski") [1561505] - [kernel] Makefile: Move RHEL definitions down (Jakub Racek) [1576568] - [rpmspec] eBPF: Add bpftool package to spec file (Jerome Marchand) [1559607] - [rpmspec] fix conflicts with COPYING file while installing newer 4.17 kernel ("Herton R. Krzesinski") [1579563] - [rpmspec] do not build kernel meta-package on noarch ("Herton R. Krzesinski") [1579512] - [rpmspec] kernel spec: remove copy of arch/x86/purgatory/sha256.* ("Herton R. Krzesinski") - [rpmspec] spec: Add new arch/powerpc/kernel/module.lds file to kernel-devel rpm (Steve Best) [1572553] - [rpmspec] kernel spec: fix recent build errors from brp-mangle-shebangs ("Herton R. Krzesinski") [1575966] - [rpmspec] Add i386 to ExclusiveArch to fix noarch package build ("Herton R. Krzesinski") [1575152] - [rpmspec] Build kernel-abi-whitelists package (Petr Oros) [1571189] - [rpmspec] kernel spec: build bzImage for s390 (Hendrik Brueckner) [1570041] - [rpmspec] kernel spec: arm64: package module.lds in kernel-devel (Mark Salter) [1569014] - [rpmspec] Re-enable debuginfo packages and fix build with current dist tag ("Herton R. Krzesinski") [1568901] - [rpmspec] kernel spec: build kernel-debug on all architectures ("Herton R. Krzesinski") [1567367] - [rpmspec] don't build kernel meta-package if we are only building kernel headers ("Herton R. Krzesinski") - [rpmspec] remove use_vdso macro ("Herton R. Krzesinski") - [rpmspec] build perf and tools man pages instead of relying on a separate tarball ("Herton R. Krzesinski") - [rpmspec] disable debug build if arch is in nobuildarches list ("Herton R. Krzesinski") - [rpmspec] remove fedora changelog from spec file ("Herton R. Krzesinski") - [rpmspec] only support ppc64le builds ("Herton R. Krzesinski") - [rpmspec] remove x86 32-bit package support ("Herton R. Krzesinski") - [rpmspec] remove arm 32-bit package support ("Herton R. Krzesinski") - [rpmspec] remove configuration generation support from kernel spec file ("Herton R. Krzesinski") - [rpmspec] remove broken out patches from kernel spec file ("Herton R. Krzesinski") - [rpmspec] import kernel spec from rhel8 bootstrap dist-git ("Herton R. Krzesinski")/bin/sh  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~                           ! " # $ % & ' ( ) * + , - . / 0 1 2 3 4 5 6 7 8 9 : ; < = > ? @ A B C D E F G H I J K L M N O P Q R S T U V W X Y Z [ \ ] ^ _ ` a b c d e f g h i j k l m n o p q r s t u v w x y z { | } ~                            ! " # $ % & ' ( ) * + , - . / 0 1 2 3 4 5 6 7 8 9 : ; < = > ? @ A B C D E F G H I J K L M N O P Q R S T U V W X Y Z [ \ ] ^ _ ` a b c d e f g h i j k l m n o p q r s t u v w x y z { | } ~                            ! " # $ % & ' ( ) * + , - . / 0 1 2 3 4 5 6 7 8 9 : ; < = > ? @ A B C D E F G H I J K L M N O P Q R S T U V W X Y Z [ \ ] ^ _ ` a b c d e f g h i j k l m n o p q r s t u v w x y z { | } ~                            ! " # $ % & ' ( ) * + , - . / 0 1 2 3 4 5 6 7 8 9 : ; < = > ? @ A B C D E F G H I J K L M N O P Q R S T U V W X Y Z [ \ ] ^ _ ` a b c d e f g h i j k l m n o p q r s t u v w x y z { | } ~                            ! " # $ % & ' ( ) * + , - . / 0 1 2 3 4 5 6 7 8 9 : ; < = > ? @ A B C D E F G H I J K L M N O P Q R S T U V W X Y Z [ \ ] ^ _ ` a b c d e f g h i j k l m n o p q r s t u v w x y z { | } ~        !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~                           ! " # $ % & ' ( ) * + , - . / 0 1 2 3 4 5 6 7 8 9 : ; < = > ? @ A B C D E F G H I J K L M N O P Q R S T U V W X Y Z [ \ ] ^ _ ` a b c d e f g h i j k l m n o p q r s t u v w x y z { | } ~  !!!!!!!!!! ! ! ! ! !!!!!!!!!!!!!!!!!!! !!!"!#!$!%!&!'!(!)!*!+!,!-!.!/!0!1!2!3!4!5!6!7!8!9!:!;!<!=!>!?!@!A!B!C!D!E!F!G!H!I!J!K!L!M!N!O!P!Q!R!S!T!U!V!W!X!Y!Z![!\!]!^!_!`!a!b!c!d!e!f!g!h!i!j!k!l!m!n!o!p!q!r!s!t!u!v!w!x!y!z!{!|!}!~!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!"""""""""" " " " " """"""""""""""""""" "!"""#"$"%"&"'"(")"*"+","-"."/"0"1"2"3"4"5"6"7"8"9":";"<"=">"?"@"A"B"C"D"E"F"G"H"I"J"K"L"M"N"O"P"Q"R"S"T"U"V"W"X"Y"Z"["\"]"^"_"`"a"b"c"d"e"f"g"h"i"j"k"l"m"n"o"p"q"r"s"t"u"v"w"x"y"z"{"|"}"~"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""########## # # # # ################### #!#"###$#%#&#'#(#)#*#+#,#-#.#/#0#1#2#3#4#5#6#7#8#9#:#;#<#=#>#?#@#A#B#C#D#E#F#G#H#I#J#K#L#M#N#O#P#Q#R#S#T#U#V#W#X#Y#Z#[#\#]#^#_#`#a#b#c#d#e#f#g#h#i#j#k#l#m#n#o#p#q#r#s#t#u#v#w#x#y#z#{#|#}#~#################################################################################################################################$$$$$$$$$$ $ $ $ $ $$$$$$$$$$$$$$$$$$$ $!$"$#$$$%$&$'$($)$*$+$,$-$.$/$0$1$2$3$4$5$6$7$8$9$:$;$<$=$>$?$@$A$B$C$D$E$F$G$H$I$J$K$L$M$N$O$P$Q$R$S$T$U$V$W$X$Y$Z$[$\$]$^$_$`$a$b$c$d$e$f$g$h$i$j$k$l$m$n$o$p$q$r$s$t$u$v$w$x$y$z${$|$}$~$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$%%%%%%%%%% % % % % %%%%%%%%%%%%%%%%%%% %!%"%#%$%%%&%'%(%)%*%+%,%-%.%/%0%1%2%3%4%5%6%7%8%9%:%;%<%=%>%?%@%A%B%C%D%E%F%G%H%I%J%K%L%M%N%O%P%Q%R%S%T%U%V%W%X%Y%Z%[%\%]%^%_%`%a%b%c%d%e%f%g%h%i%j%k%l%m%n%o%p%q%r%s%t%u%v%w%x%y%z%{%|%}%~%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%&&&&&&&&&& & & & & &&&&&&&&&&&&&&&&&&& &!&"&#&$&%&&&'&(&)&*&+&,&-&.&/&0&1&2&3&4&5&6&7&8&9&:&;&<&=&>&?&@&A&B&C&D&E&F&G&H&I&J&K&L&M&N&O&P&Q&R&S&T&U&V&W&X&Y&Z&[&\&]&^&_&`&a&b&c&d&e&f&g&h&i&j&k&l&m&n&o&p&q&r&s&t&u&v&w&x&y&z&{&|&}&~&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&'''''''''' ' ' ' ' ''''''''''''''''''' '!'"'#'$'%'&'''(')'*'+','-'.'/'0'1'2'3'4'5'6'7'8'9':';'<'='>'?'@'A'B'C'D'E'F'G'H'I'J'K'L'M'N'O'P'Q'R'S'T'U'V'W'X'Y'Z'['\']'^'_'`'a'b'c'd'e'f'g'h'i'j'k'l'm'n'o'p'q'r's't'u'v'w'x'y'z'{'|'}'~'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''(((((((((( ( ( ( ( ((((((((((((((((((( (!("(#($(%(&('((()(*(+(,(-(.(/(0(1(2(3(4(5(6(7(8(9(:(;(<(=(>(?(@(A(B(C(D(E(F(G(H(I(J(K(L(M(N(O(P(Q(R(S(T(U(V(W(X(Y(Z([(\(](^(_(`(a(b(c(d(e(f(g(h(i(j(k(l(m(n(o(p(q(r(s(t(u(v(w(x(y(z({(|(}(~((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((()))))))))) ) ) ) ) ))))))))))))))))))) )!)")#)$)%)&)')()))*)+),)-).)/)0)1)2)3)4)5)6)7)8)9):);)<)=)>)?)@)A)B)C)D)E)F)G)H)I)J)K)L)M)N)O)P)Q)R)S)T)U)V)W)X)Y)Z)[)\)])^)_)`)a)b)c)d)e)f)g)h)i)j)k)l)m)n)o)p)q)r)s)t)u)v)w)x)y)z){)|)})~)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))********** * * * * ******************* *!*"*#*$*%*&*'*(*)***+*,*-*.*/*0*1*2*3*4*5*6*7*8*9*:*;*<*=*>*?*@*A*B*C*D*E*F*G*H*I*J*K*L*M*N*O*P*Q*R*S*T*U*V*W*X*Y*Z*[*\*]*^*_*`*a*b*c*d*e*f*g*h*i*j*k*l*m*n*o*p*q*r*s*t*u*v*w*x*y*z*{*|*}*~*********************************************************************************************************************************++++++++++ + + + + +++++++++++++++++++ +!+"+#+$+%+&+'+(+)+*+++,+-+.+/+0+1+2+3+4+5+6+7+8+9+:+;+<+=+>+?+@+A+B+C+D+E+F+G+H+I+J+K+L+M+N+O+P+Q+R+S+T+U+V+W+X+Y+Z+[+\+]+^+_+`+a+b+c+d+e+f+g+h+i+j+k+l+m+n+o+p+q+r+s+t+u+v+w+x+y+z+{+|+}+~+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++,,,,,,,,,, , , , , ,,,,,,,,,,,,,,,,,,, ,!,",#,$,%,&,',(,),*,+,,,-,.,/,0,1,2,3,4,5,6,7,8,9,:,;,<,=,>,?,@,A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z,[,\,],^,_,`,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,{,|,},~,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,---------- - - - - ------------------- -!-"-#-$-%-&-'-(-)-*-+-,---.-/-0-1-2-3-4-5-6-7-8-9-:-;-<-=->-?-@-A-B-C-D-E-F-G-H-I-J-K-L-M-N-O-P-Q-R-S-T-U-V-W-X-Y-Z-[-\-]-^-_-`-a-b-c-d-e-f-g-h-i-j-k-l-m-n-o-p-q-r-s-t-u-v-w-x-y-z-{-|-}-~---------------------------------------------------------------------------------------------------------------------------------.......... . . . . ................... .!.".#.$.%.&.'.(.).*.+.,.-.../.0.1.2.3.4.5.6.7.8.9.:.;.<.=.>.?.@.A.B.C.D.E.F.G.H.I.J.K.L.M.N.O.P.Q.R.S.T.U.V.W.X.Y.Z.[.\.].^._.`.a.b.c.d.e.f.g.h.i.j.k.l.m.n.o.p.q.r.s.t.u.v.w.x.y.z.{.|.}.~.................................................................................................................................////////// / / / / /////////////////// /!/"/#/$/%/&/'/(/)/*/+/,/-/.///0/1/2/3/4/5/6/7/8/9/:/;/</=/>/?/@/A/B/C/D/E/F/G/H/I/J/K/L/M/N/O/P/Q/R/S/T/U/V/W/X/Y/Z/[/\/]/^/_/`/a/b/c/d/e/f/g/h/i/j/k/l/m/n/o/p/q/r/s/t/u/v/w/x/y/z/{/|/}/~/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////0000000000 0 0 0 0 0000000000000000000 0!0"0#0$0%0&0'0(0)0*0+0,0-0.0/000102030405060708090:0;0<0=0>0?0@0A0B0C0D0E0F0G0H0I0J0K0L0M0N0O0P0Q0R0S0T0U0V0W0X0Y0Z0[0\0]0^0_0`0a0b0c0d0e0f0g0h0i0j0k0l0m0n0o0p0q0r0s0t0u0v0w0x0y0z0{0|0}0~0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001111111111 1 1 1 1 1111111111111111111 1!1"1#1$1%1&1'1(1)1*1+1,1-1.1/101112131415161718191:1;1<1=1>1?1@1A1B1C1D1E1F1G1H1I1J1K1L1M1N1O1P1Q1R1S1T1U1V1W1X1Y1Z1[1\1]1^1_1`1a1b1c1d1e1f1g1h1i1j1k1l1m1n1o1p1q1r1s1t1u1v1w1x1y1z1{1|1}1~1111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111112222222222 2 2 2 2 2222222222222222222 2!2"2#2$2%2&2'2(2)2*2+2,2-2.2/202122232425262728292:2;2<2=2>2?2@2A2B2C2D2E2F2G2H2I2J2K2L2M2N2O2P2Q2R2S2T2U2V2W2X2Y2Z2[2\2]2^2_2`2a2b2c2d2e2f2g2h2i2j2k2l2m2n2o2p2q2r2s2t2u2v2w2x2y2z2{2|2}2~2222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222223333333333 3 3 3 3 3333333333333333333 3!3"3#3$3%3&3'3(3)3*3+3,3-3.3/303132333435363738393:3;3<3=3>3?3@3A3B3C3D3E3F3G3H3I3J3K3L3M3N3O3P3Q3R3S3T3U3V3W3X3Y3Z3[3\3]3^3_3`3a3b3c3d3e3f3g3h3i3j3k3l3m3n3o3p3q3r3s3t3u3v3w3x3y3z3{3|3}3~3333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333334444444444 4 4 4 4 4444444444444444444 4!4"4#4$4%4&4'4(4)4*4+4,4-4.4/404142434445464748494:4;4<4=4>4?4@4A4B4C4D4E4F4G4H4I4J4K4L4M4N4O4P4Q4R4S4T4U4V4W4X4Y4Z4[4\4]4^4_4`4a4b4c4d4e4f4g4h4i4j4k4l4m4n4o4p4q4r4s4t4u4v4w4x4y4z4{4|4}4~4444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444445555555555 5 5 5 5 5555555555555555555 5!5"5#5$5%5&5'5(5)5*5+5,5-5.5/505152535455565758595:5;5<5=5>5?5@5A5B5C5D5E5F5G5H5I5J5K5L5M5N5O5P5Q5R5S5T5U5V5W5X5Y5Z5[5\5]5^5_5`5a5b5c5d5e5f5g5h5i5j5k5l5m5n5o5p5q5r5s5t5u5v5w5x5y5z5{5|5}5~5555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555556666666666 6 6 6 6 6666666666666666666 6!6"6#6$6%6&6'6(6)6*6+6,6-6.6/606162636465666768696:6;6<6=6>6?6@6A6B6C6D6E6F6G6H6I6J6K6L6M6N6O6P6Q6R6S6T6U6V6W6X6Y6Z6[6\6]6^6_6`6a6b6c6d6e6f6g6h6i6j6k6l6m6n6o6p6q6r6s6t6u6v6w6x6y6z6{6|6}6~6666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666667777777777 7 7 7 7 7777777777777777777 7!7"7#7$7%7&7'7(7)7*7+7,7-7.7/707172737475767778797:7;7<7=7>7?7@7A7B7C7D7E7F7G7H7I7J7K7L7M7N7O7P7Q7R7S7T7U7V7W7X7Y7Z7[7\7]7^7_7`7a7b7c7d7e7f7g7h7i7j7k7l7m7n7o7p7q7r7s7t7u7v7w7x7y7z7{7|7}7~7777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777778888888888 8 8 8 8 8888888888888888888 8!8"8#8$8%8&8'8(8)8*8+8,8-8.8/808182838485868788898:8;8<8=8>8?8@8A8B8C8D8E8F8G8H8I8J8K8L8M8N8O8P8Q8R8S8T8U8V8W8X8Y8Z8[8\8]8^8_8`8a8b8c8d8e8f8g8h8i8j8k8l8m8n8o8p8q8r8s8t8u8v8w8x8y8z8{8|8}8~8888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888889999999999 9 9 9 9 9999999999999999999 9!9"9#9$9%9&9'9(9)9*9+9,9-9.9/909192939495969798999:9;9<9=9>9?9@9A9B9C9D9E9F9G9H9I9J9K9L9M9N9O9P9Q9R9S9T9U9V9W9X9Y9Z9[9\9]9^9_9`9a9b9c9d9e9f9g9h9i9j9k9l9m9n9o9p9q9r9s9t9u9v9w9x9y9z9{9|9}9~999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999:::::::::: : : : : ::::::::::::::::::: :!:":#:$:%:&:':(:):*:+:,:-:.:/:0:1:2:3:4:5:6:7:8:9:::;:<:=:>:?:@:A:B:C:D:E:F:G:H:I:J:K:L:M:N:O:P:Q:R:S:T:U:V:W:X:Y:Z:[:\:]:^:_:`:a:b:c:d:e:f:g:h:i:j:k:l:m:n:o:p:q:r:s:t:u:v:w:x:y:z:{:|:}:~:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::;;;;;;;;;; ; ; ; ; ;;;;;;;;;;;;;;;;;;; ;!;";#;$;%;&;';(;);*;+;,;-;.;/;0;1;2;3;4;5;6;7;8;9;:;;;<;=;>;?;@;A;B;C;D;E;F;G;H;I;J;K;L;M;N;O;P;Q;R;S;T;U;V;W;X;Y;Z;[;\;];^;_;`;a;b;c;d;e;f;g;h;i;j;k;l;m;n;o;p;q;r;s;t;u;v;w;x;y;z;{;|;};~;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;<<<<<<<<<< < < < < <<<<<<<<<<<<<<<<<<< =?=@=A=B=C=D=E=F=G=H=I=J=K=L=M=N=O=P=Q=R=S=T=U=V=W=X=Y=Z=[=\=]=^=_=`=a=b=c=d=e=f=g=h=i=j=k=l=m=n=o=p=q=r=s=t=u=v=w=x=y=z={=|=}=~=================================================================================================================================>>>>>>>>>> > > > > >>>>>>>>>>>>>>>>>>> >!>">#>$>%>&>'>(>)>*>+>,>->.>/>0>1>2>3>4>5>6>7>8>9>:>;><>=>>>?>@>A>B>C>D>E>F>G>H>I>J>K>L>M>N>O>P>Q>R>S>T>U>V>W>X>Y>Z>[>\>]>^>_>`>a>b>c>d>e>f>g>h>i>j>k>l>m>n>o>p>q>r>s>t>u>v>w>x>y>z>{>|>}>~>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>?????????? ? ? ? ? ??????????????????? ?!?"?#?$?%?&?'?(?)?*?+?,?-?.?/?0?1?2?3?4?5?6?7?8?9?:?;?<?=?>???@?A?B?C?D?E?F?G?H?I?J?K?L?M?N?O?P?Q?R?S?T?U?V?W?X?Y?Z?[?\?]?^?_?`?a?b?c?d?e?f?g?h?i?j?k?l?m?n?o?p?q?r?s?t?u?v?w?x?y?z?{?|?}?~?????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????@@@@@@@@@@ @ @ @ @ @@@@@@@@@@@@@@@@@@@ @!@"@#@$@%@&@'@(@)@*@+@,@-@.@/@0@1@2@3@4@5@6@7@8@9@:@;@<@=@>@?@@@A@B@C@D@E@F@G@H@I@J@K@L@M@N@O@P@Q@R@S@T@U@V@W@X@Y@Z@[@\@]@^@_@`@a@b@c@d@e@f@g@h@i@j@k@l@m@n@o@p@q@r@s@t@u@v@w@x@y@z@{@|@}@~@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@AAAAAAAAAA A A A A AAAAAAAAAAAAAAAAAAA A!A"A#A$A%A&A'A(A)A*A+A,A-A.A/A0A1A2A3A4A5A6A7A8A9A:A;A<A=A>A?A@AAABACADAEAFAGAHAIAJAKALAMANAOAPAQARASATAUAVAWAXAYAZA[A\A]A^A_A`AaAbAcAdAeAfAgAhAiAjAkAlAmAnAoApAqArAsAtAuAvAwAxAyAzA{A|A}A~AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABBBBBBBBBB B B B B BBBBBBBBBBBBBBBBBBB B!B"B#B$B%B&B'B(B)B*B+B,B-B.B/B0B1B2B3B4B5B6B7B8B9B:B;B<B=B>B?B@BABBBCBDBEBFBGBHBIBJBKBLBMBNBOBPBQBRBSBTBUBVBWBXBYBZB[B\B]B^B_B`BaBbBcBdBeBfBgBhBiBjBkBlBmBnBoBpBqBrBsBtBuBvBwBxByBzB{B|B}B~BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBCCCCCCCCCC C C C C CCCCCCCCCCCCCCCCCCC C!C"C#C$C%C&C'C(C)C*C+C,C-C.C/C0C1C2C3C4C5C6C7C8C9C:C;C<C=C>C?C@CACBCCCDCECFCGCHCICJCKCLCMCNCOCPCQCRCSCTCUCVCWCXCYCZC[C\C]C^C_C`CaCbCcCdCeCfCgChCiCjCkClCmCnCoCpCqCrCsCtCuCvCwCxCyCzC{C|C}C~CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCDDDDDDDDDD D D D D DDDDDDDDDDDDDDDDDDD D!D"D#D$D%D&D'D(D)D*D+D,D-D.D/D0D1D2D3D4D5D6D7D8D9D:D;D<D=D>D?D@DADBDCDDDEDFDGDHDIDJDKDLDMDNDODPDQDRDSDTDUDVDWDXDYDZD[D\D]D^D_D`DaDbDcDdDeDfDgDhDiDjDkDlDmDnDoDpDqDrDsDtDuDvDwDxDyDzD{D|D}D~DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDEEEEEEEEEE E E E E EEEEEEEEEEEEEEEEEEE E!E"E#E$E%E&E'E(E)E*E+E,E-E.E/E0E1E2E3E4E5E6E7E8E9E:E;E<E=E>E?E@EAEBECEDEEEFEGEHEIEJEKELEMENEOEPEQERESETEUEVEWEXEYEZE[E\E]E^E_E`EaEbEcEdEeEfEgEhEiEjEkElEmEnEoEpEqErEsEtEuEvEwExEyEzE{E|E}E~EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEFFFFFFFFFF F F F F FFFFFFFFFFFFFFFFFFF F!F"F#F$F%F&F'F(F)F*F+F,F-F.F/F0F1F2F3F4F5F6F7F8F9F:F;F<F=F>F?F@FAFBFCFDFEFFFGFHFIFJFKFLFMFNFOFPFQFRFSFTFUFVFWFXFYFZF[F\F]F^F_F`FaFbFcFdFeFfFgFhFiFjFkFlFmFnFoFpFqFrFsFtFuFvFwFxFyFzF{F|F}F~FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFGGGGGGGGGG G G G G GGGGGGGGGGGGGGGGGGG G!G"G#G$G%G&G'G(G)G*G+G,G-G.G/G0G1G2G3G4G5G6G7G8G9G:G;G<G=G>G?G@GAGBGCGDGEGFGGGHGIGJGKGLGMGNGOGPGQGRGSGTGUGVGWGXGYGZG[G\G]G^G_G`GaGbGcGdGeGfGgGhGiGjGkGlGmGnGoGpGqGrGsGtGuGvGwGxGyGzG{G|G}G~GGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGHHHHHHHHHH H H H H HHHHHHHHHHHHHHHHHHH H!H"H#H$H%H&H'H(H)H*H+H,H-H.H/H04.18.0-488.el84.18.0-488.el84.18.0-488.el84.18.0-488.el8.ppc64le          !!""#$%%%&&''(())**+++,,---..//0001122233445566667788999:::;;;<<<==>>>??@@AABBCCDDEEFFGGHHHIIJJKKLLLMMNNOOPPQQRRRSSTTUUVVWWWXXYYZZZ[[\\]]^^___``aabbccddeeffggghhhiiijjkkllmnopqqrssttuuvvwvxyz{|}}}}}~~}}}}}}}}}          !!!"!#$$$%&'''(')'*+++,,-+.+/+01234555657589::;<<<=<>??@@AABACDEEFGHHIJJJKJLJMJNOPPPQPRPSPTPUVWWXWYWZ[[[[\\][^^_[`[abbbbccdbebfbgbhhiiijkiliminooooppqorosotouovwwwwwxwywz{{{{{{{{{{{{{{|}}}}|~~~~~~~~~~~~~~~~~~||{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{zzwwwwwwwwwwww      !!"##$#%#&''(')'*+++,+-./00102033435363738090:;;<=>>?@ABCCDCECFCGCHCCIIJCKLCMCNCOCPCQCRSTUVVWXYYYZY[\]]^^^^__`_a_b_c^d^e^f^g^hihjhkllllmmnnoooppoqqrrrssstruuuvuwwuxxuyyuzzu{{u||r}}r~~rrrrrrrrrrrrrrrrrrrrrrr       r  rrrrrrrr  r!!"""#$$#%%#&&#'''('))*)+),)-).)/)0)1)2)3)4)5)6)7)8)9):);)<)=)>)?)@)A)B)C)D)E)F)G)H'IJ'KLKMKNKOKP#QQRQSSTSUQVVWVXVY"ZZ"[["\\"]]"^^"___``_aa_bb_cc_dd"ee"ff"gg"hh"ii"jj"kkkllkmm"n"oo"p"qqqqqqr"ss"tt"uu"vv"ww"x"yy"zz"{{"|"}}}~~}""""""""""""""""""""""""""""""""""!!!rrrrrrrrrrrrr    r      rrrrr   !r""r##r$$$%%$&&r'''((')))**)++),,)--)..'//'00011022'33'4445466477488494::4;;'<<<=='>>>??>@@>AA>BB>CC>DD>EE>FF>GG>HH>IIJJ>KK>LL>MM>NN>OO>PP>QQ>RR>SS>TT>UU>VV>WW>XX>YY>ZZ>[[>\\']]]^^]__]``]a]b]cc]d]ee]ff]g]h]i]j]k]ll]m]nonp]qq]rs]t]u]v]w]x]yy]z{z||z}z~z]]]]]]]''''''rrrrrrrrr           !"""##$$%%&&&'&(&)&*+++,+-+.+/+000102+344555667788999::;;<<<==>>??@@@AA@BB@CCDDEEEFGGGHGIIJIKLLMMMNNOOPPPQPRRSSSTSUSVSWSXSYSZS[S\S]S^S_```abbcccddcefffgfhfiijfkflfmfnfofpcqqcrrcssttuuvvvwxxyyzzz{||}}}~     r  !!""##$$%%r&&&'''(('))'**'++',,&--r.r//r00011022r33r4445r66r77r88r999:::;;9<<<==9>>9??9@@rAArBBBCrDDDEEDFFDGGDHHDIIDJJDKKDLLDMMDNNDOODPPDQQDRRDSSDTTrUUUVVUWWUXXUYYUZZU[[U\\U]]U^^U__U``UaaUbbUccUdUeeUffUggUhhUiiUjjUkkUllUmmrnnnoonppnqqnrrnsntttutvvvwwvxxvyyrzzz{{z||z}}r~~~~~rrrrrrrrrrrrrrrrrrrrrrrrrr            !!""##$$%%&&''(())*++,,--..//001122334445566678899:::;:<==>>??@@AAABBACCADDEEFFFGGFHHIIJJKKLLMMNNOOrPPPQQQRRPSSPTTPUUrVrWWWXXrYYYZZY[[[\\Y]]Y^^Y__Y``Yaarbbrcccddcecffcghhgggigjckrllrmmmnnmomppmqqmrrmssmttmuumvmwwwxwyywzzz{{z||m}}}~mmmmmmmmmmmmmmrrrrrrrrrrrrrr               !!"##$$%%&&'(((((((((((((((((((((((((((((()))))))((('*****************+++++++++++++++++++++***********************************************************************************************************,*****'------'...../.00.1.2..3.45.6...7..8.9.:;<:=>?:@A@BB@CD:EFGEHIEJEKELMENEOPEQEERESETEUVEEWXYEZ[EE\E]E^E_E``EabEcEd:efg:h:i:jkl:m:nopp:qrrssrttuu::vw:xx:yzy{y|y}y:~~::::........................................................................             . .. . .              ..   .   .        ! " #. $. % % % % % % & & % % % % %.. '. (. ). * + * , * * * * -. . / / /. 0.. 1 2 3 1 1 4 1 1 5 1 1 6 7 1. 8.. 9. :. ; < <. =.. >.. ? @..... A B A C A D. E.. F G G F F. H I H. J.. K L M N.. O. P P Q R S Q T U T T T T T T T Q P P V W W P P X P... Y. Z Z. [ [ \ [... ]... ^ _.. ` ` ` ` ` ` ` ` ` ` a ` ` ` ` ` ` ` b ` ` c ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` d d d e d d f f g g d d h ` ` i i i i ` ` ` ` ` ` ` j ` ` ` ` ` k ` ` ` ` ` ` ` ` l l ` ` ` ` ` ` ` m ` ` ` ` ` ` ` ` ` ` ` n ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` o ` ` p p q q q q ` ` ` ` `... r s t r r r... u.. v v v v. w.. x. y z.. {. | | | | } } | | | ~ |  | |.. . . . . ... ... .. . . ..... . . . . . ... . .... . . . .. .. .. . . .. . . . .. .... . ... .. . . . .. .. . ..      . .. . .  ..   . .. . . . .       ...       .. ...   .   . ..     .. .   !. ".. #. $ $ $ $ % $ & $ $ ' ' $ $ $ ( ( ( ( ) $ * $ + $ , $ - $ . / $ 0 1 $ 2 $ 3 $... 4 5 6. 7 7 8 9. : : : :.. ; ; ; ;.. < = <. >. ?.. @. A A B. C D. E. F F F G. H I I J I I K L L M I N I O I I P H Q R H S H T T H U U V W H X H Y Z H [ H \ ] H ^ _ ^ H ` H a b H c d H e H H f H g H h i j k h l H m m H H n o H H p p q p p p r s H t u v w H H x H y H z { H | H H } H H H ~ H     H H H H H H H .. .. .. .. . . . . . . .. . .. . .. . ... .. .. .. .. . .. ...... . . .. .... .... .. .. . .. . . . . ..  ..        .  . . . .. .                                                                      ! " # $ $ % $ $ $ $ & ' ( . ) * * * * + + + + + + + + + * * * * , , , ,. -. . / . . 0 0 . 1 . . . . .. 2.. 3 3 3 3 4 5 3 6 3 7 3 8 3 9 3 : 3 ; 3 3 < 3 3... = > > = = = ? ? = @ = A B = = C = D = E = F = = G = = H = = I = =. J K J L J J M J J.. N O. P Q P P R P.. S S S T T T U T S S V W W W W V V S S S S S X S Y... Z.. [ [ [.. \... ] ] ^ _.. ` ` a. b. c d c e c.. f f... g g. h.. i.. j j k j. l.. m n.... o p o o q o.. r s s t t s s u r r r r r.. v v v v. w x w. y z. { { | } { { { { { { { ~ { { { {          {...... .. .. ... .. .. . . . . .. . .. .. .. . . . . .. .... . . . . .. .. . . . ... . . . ... . . . . . . ... . .. . . .. .. ... . .. ..                             .... . .. .  ..  .  . ..                   ..   .. .. !. " " " ". # $ % # & # ' ( ) * # + ,.. - . . . . . . . . . . . . . . / . - - 0 0 0 0 0 0 0 0 0 0 0 0 0 - - - 1 - - - 2 2 2 2 2 2 2 - - - 3 - - 4 - - 5 5 - - - - 6 - 7 8 - 9 - - - : - - ; - < - - = > - ? ? ? ? ? ? ? ? ? ? ? ? @ ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? - - A - - B C - - D E E E E E - F - G G G G G G G G G G G G G G G G G G G G G G G -.. H.... I I I J J I I I K L K K I I M M M N N N N N N N N N N N N N N N N N N N N N N N N N N N N N N N N N N N N N N N N N N M M M O O O O O O O O O O O O O O O O O O O O O O O O I.. P.. Q Q R Q. S. T. U U V V V V V V V V V W V V V V V V V V V V U X X Y Y X Z Z Z Z U [ [ U \ \ \ U ] ] ^ ^ ^ U _ _ _ _ U U ` ` ` ` ` ` ` ` ` ` a ` U U b b U c c U U d d d d d d d U e e.. f g h g. i j i i i i i k l i i m i i n n o p q n n r.. s s s t s s u s s v w. x y x x x x x z z z x x { { { { x | x } x x x x x x x x x x x x ~ ~ ~ x x x....       . . . . . . .. .. . . .... .. . . . .. ... . . .. .. . . ... . . ... . .. .. ... . . . .. . . . .. .. .. . . . . .. .. ... ..... .. . . ... . .             ...  ..  .. . .. ..      .... . ..   ...  . .   .  ... .      .    !  "  #. $ $ $ $ $ $. % %. & &. ' ' ( (.. )... *. + ,.. - -. .. / 0 1 2. 3. 4 4 5 6 5. 7 8 7 7 7 9 7 7 7 7 7 7 7 7. :.. ; <... = > =. ? @ ? ?. A A B B B B B B B B B B B B B C B B B B B B B D B B B B B B B B B B B B B B B B A A E A F G A H H H A A I A. J K. L M N.. O O P O O Q R O... S T. U U U U U V W U U.. X.. Y Y Z Y [ Y \ Y Y ] Y Y Y ^ ^ ^ _ ^ Y Y Y ` Y Y Y a Y Y Y Y b b Y c Y Y Y Y Y Y Y d e Y Y f g Y Y h Y i i Y j j j k j Y l Y Y m Y n Y. o p q q o r s t. u.. v. w x y.. z z z { z z z | } | | ~ | | |  | z z.. . . .. .. . . . . .. ... . . ... .. .. . .. . . . . .. . . .. . .. .. . ... .. .... . . . .. .. .... . . .. .. .. .. .    ...    .. .     ........... !"#$%$&.'.(.))..*..+..,,,--...../0/.1.22233.445..676..88.99:.;;..<.=...>?@..ABAACAAAAA.D...EEEFEGE..HH.I.J.K...LLLMLLNOLLPQLLLRLLLLLSLTTUVTTWXTYLLLLZL[LLL\\\\\\\\\\\\\\]\\\\\\\\\\\\\\\\\\\\\\\\\\\^\LLL_LL`LLLLLLLLLLabLLLLLLcdcceeeeefcccgccccccccchcicccLjklljjmmnnoojpLLLLqLLrsLtLuLLLLLvvvvvvvvwvvxvvyvvvzvvvvvvvv{vv|v}v~vvvvvvvvvvvvvvvvvvvvvvvvvLLLLLLLLLLLLLLLLLLLLLLL..................................................................''''' '             '    '      '                                                                                                                                                                                                                                                                                                                                                                                          !""""""!!!!                         ####                            $$                                                 %&%''%%%%%(((((%%%)))))%%%**%+%%%,%%%-%%%%..%%%%%                //////////////////////                                             00000000000000000            111                                                                                                     2222222                3                              444444555555444466644444444444444477748884994:::4;;4444444444444444444444444444444444444444444444444<<4==444>>>>>>4444444444???????????4444444444444@@@@@@@444444444444444444444444444AAAAAAAAAA4BBBBBBBB4444CCCC4              DDDDDDD EEEEEEEEEEEEEEEEE        FFFFFFFFFFFF                        GGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGG  HH          IJJ    KLLLLLLLLLLKKKKKKKKKKKKKKKKKKKKKKK M  NN    O  P                                                                                                     Q        R        SSSSSSTS       UUUUUUUU     VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVWWWWWWWWWWWWWVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVXXXXXV                         YYYYYYYYYYYYYYYY                                          ZZZZZZZZZZZZZZZZZZZZ      [[[[                               \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\   ]]     ^                       __   `````                  aaaaaaaaaaaaaaaaaaaaaaaaaaaaa                                                                           bcbdbebffbgggggggbhhbiibjbkkkk          llll mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm               nnnnnnnn                       ooooooooooooooooooooooooooooooooo                                                                                                  ppp  qqqqqqqqqq    rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr             ssss                                               t                       'uuuuuuuuu'vvvvwwwwwwwwwwwwwvvvxxxxxxxxxxxxxvvvvvvvvvvvyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyvvvvvvvvvzvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv'{'|||||||'}}~~~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}''''''''''''           !!""#$%%&''&&(()))*)++,,,-,..//0012233445566778899::;;;<<;==>>??@AAABBACCDDEEFFGGHHIIJJKKLMMNNOOPPQQRRRSRTUUVVWWXXYYZZ[[\\]]^^___`_aa_b_c_d_e_f_g_h_i_j_k_lm_n_o_p_q_r_s_t_u_v_w_x_yzzzzzzzzzzzzzzzzzzzzzzzzz{{{{{{zzzzzzzzzzzzz||zzzzz}~~~~~~~~~~~~~~~}}}}}}zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz       !!""###$#%#&#'#())**++,,,-..//0001222332442552666768299::;;<<==>>??@@AABBCCDDEEFFGGHHHIJKJJJLJMJNJOOJPJQRRSSTTUUVUWXYUZZ[\[Z]Z^U_____`_abUcUdUeUfUgUhiiUjUklUmnmoUpUqrqsqtquvuqwqxyxxzU{U|U}U~~~~~~UUUU   U  UUUU  4.18.0-488.el8.ppc64le.configKconfigKconfig.redhatMakefileMakefile.rhelverModule.symversSystem.maparchKconfigalphaKconfigKconfig.debugMakefilebootMakefilekernelMakefilelibMakefilemath-emuMakefilemmMakefileoprofileMakefilearcKconfigKconfig.debugMakefilebootMakefiledtsMakefilekernelMakefilelibMakefilemmMakefileoprofileMakefileplat-axs10xKconfigMakefileplat-eznpsKconfigMakefileplat-hsdkKconfigMakefileplat-simMakefileplat-tb10xKconfigMakefilearmKconfigKconfig-nommuKconfig.debugMakefilebootMakefilebootpMakefilecompressedMakefiledtsMakefilecommonKconfigMakefilecryptoKconfigMakefilefirmwareKconfigMakefilekernelMakefilelibMakefilemach-actionsKconfigMakefilemach-alpineKconfigMakefilemach-artpecKconfigMakefilemach-asm9260Kconfigmach-aspeedKconfigmach-at91KconfigMakefileMakefile.bootmach-axxiaKconfigMakefilemach-bcmKconfigMakefilemach-berlinKconfigMakefilemach-clps711xKconfigMakefilemach-cns3xxxKconfigMakefilemach-davinciKconfigMakefileMakefile.bootmach-digicolorKconfigMakefilemach-doveKconfigMakefileMakefile.bootmach-ebsa110MakefileMakefile.bootmach-efm32MakefileMakefile.bootmach-ep93xxKconfigMakefileMakefile.bootmach-exynosKconfigMakefilemach-footbridgeKconfigMakefileMakefile.bootmach-geminiKconfigMakefilemach-highbankKconfigMakefilemach-hisiKconfigMakefilemach-imxKconfigMakefileMakefile.bootdevicesKconfigMakefilemach-integratorKconfigMakefilemach-iop13xxKconfigMakefileMakefile.bootmach-iop32xKconfigMakefileMakefile.bootmach-iop33xKconfigMakefileMakefile.bootmach-ixp4xxKconfigMakefileMakefile.bootmach-keystoneKconfigMakefilemach-ks8695KconfigMakefileMakefile.bootmach-lpc18xxMakefileMakefile.bootmach-lpc32xxMakefileMakefile.bootmach-mediatekKconfigMakefilemach-mesonKconfigMakefilemach-mmpKconfigMakefilemach-moxartKconfigMakefilemach-mv78xx0KconfigMakefilemach-mvebuKconfigMakefilemach-mxsKconfigMakefilemach-netxKconfigMakefileMakefile.bootmach-nomadikKconfigMakefilemach-npcmKconfigMakefilemach-nspireKconfigMakefilemach-omap1KconfigMakefileMakefile.bootmach-omap2KconfigMakefilemach-orion5xKconfigMakefilemach-oxnasKconfigMakefilemach-picoxcellKconfigMakefilemach-prima2KconfigMakefilemach-pxaKconfigMakefileMakefile.bootmach-qcomKconfigMakefilemach-realviewKconfigMakefilemach-rockchipKconfigMakefilemach-rpcMakefileMakefile.bootmach-s3c24xxKconfigMakefileMakefile.bootmach-s3c64xxKconfigMakefilemach-s5pv210KconfigMakefilemach-sa1100KconfigMakefileMakefile.bootmach-shmobileKconfigMakefilemach-socfpgaKconfigMakefilemach-spearKconfigMakefilemach-stiKconfigMakefilemach-stm32KconfigMakefileMakefile.bootmach-sunxiKconfigMakefilemach-tangoKconfigMakefilemach-tegraKconfigMakefilemach-u300KconfigMakefilemach-uniphierKconfigMakefilemach-ux500KconfigMakefilemach-versatileKconfigMakefilemach-vexpressKconfigMakefileMakefile.bootmach-vt8500KconfigMakefileMakefile.bootmach-w90x900KconfigMakefileMakefile.bootmach-zxKconfigMakefilemach-zynqKconfigMakefilemmKconfigMakefilenetMakefilenwfpeMakefileoprofileMakefileplat-iopMakefileplat-omapKconfigMakefileplat-orionMakefileplat-pxaKconfigMakefileplat-samsungKconfigMakefileplat-versatileKconfigMakefileprobesMakefilekprobesMakefileuprobesMakefiletoolsMakefilevdsoMakefilevfpMakefilexenMakefilearm64KconfigKconfig.debugKconfig.platformsMakefilebootMakefiledtsMakefileactionsMakefilealMakefileallwinnerMakefilealteraMakefileamdMakefileamlogicMakefileapmMakefilearmMakefilebroadcomMakefilenorthstar2MakefilestingrayMakefilecaviumMakefileexynosMakefilefreescaleMakefilehisiliconMakefilelgMakefilemarvellMakefilemediatekMakefilenvidiaMakefileqcomMakefilerealtekMakefilerenesasMakefilerockchipMakefilesocionextMakefilesprdMakefilesynapticsMakefilexilinxMakefilezteMakefilecryptoKconfigMakefilehypervMakefilekernelMakefileprobesMakefilevdsoMakefilevdso32MakefilekvmKconfigMakefilehypMakefilenvheMakefilevheMakefilelibMakefilemmMakefilenetMakefiletoolsMakefilexenMakefilec6xKconfigMakefilebootMakefiledtsMakefilekernelMakefilelibMakefilemmMakefileplatformsKconfigMakefileh8300KconfigKconfig.cpuMakefilebootMakefilecompressedMakefiledtsMakefilekernelMakefilelibMakefilemmMakefilehexagonKconfigMakefilekernelMakefilelibMakefilemmMakefileia64KconfigKconfig.debugMakefiledigMakefilehpcommonMakefilesimKconfigMakefilebootMakefilezx1MakefilekernelMakefileMakefile.gatelibMakefilemmMakefileoprofileMakefilepciMakefilesnMakefilekernelMakefilesn2MakefilepciMakefilepcibrMakefileuvMakefilekernelMakefilem68k68000MakefileKconfigKconfig.busKconfig.cpuKconfig.debugKconfig.devicesKconfig.machineMakefileamigaMakefileapolloMakefileatariMakefilebvme6000MakefilecoldfireMakefileemuMakefilefpsp040Makefilehp300Makefileifpsp060MakefilekernelMakefilelibMakefilemacMakefilemath-emuMakefilemmMakefilemvme147Makefilemvme16xMakefileq40Makefilesun3MakefilepromMakefilesun3xMakefiletoolsamigaMakefilemicroblazeKconfigKconfig.debugKconfig.platformMakefilebootMakefiledtsMakefilekernelMakefilecpuMakefilelibMakefilemmMakefileoprofileMakefilepciMakefilemipsKconfigKconfig.debugMakefileMakefile.postlinkalchemyKconfigMakefilecommonMakefiledevboardsMakefilear7Makefileath25KconfigMakefileath79KconfigMakefilebcm47xxKconfigMakefilebcm63xxKconfigMakefileboardsKconfigMakefilebmipsKconfigMakefilebootMakefilecompressedMakefiledtsMakefilebrcmMakefilecavium-octeonMakefileimgMakefileingenicMakefilelantiqMakefilemsccMakefilemtiMakefilenetlogicMakefileniMakefilepic32MakefileqcaMakefileralinkMakefilexilfpgaMakefiletoolsMakefilecavium-octeonKconfigMakefilecryptoMakefileexecutiveMakefilecobaltMakefilecryptoMakefiledecMakefilepromMakefileemmaMakefilecommonMakefilemarkeinsMakefilefwarcMakefilecfeMakefilelibMakefilesniMakefilegenericKconfigMakefilejazzKconfigMakefilejz4740KconfigMakefilekernelMakefilekvmKconfigMakefilelantiqKconfigMakefilefalconMakefilexwayMakefilelasatKconfigMakefileimageMakefilelibMakefileloongson32KconfigMakefilecommonMakefilels1bMakefilels1cMakefileloongson64KconfigMakefilecommonMakefilecs5536Makefilefuloong-2eMakefilelemote-2fMakefileloongson-3Makefilemath-emuMakefilemmMakefilemti-maltaMakefilenetMakefilenetlogicKconfigMakefilecommonMakefilexlpMakefilexlrMakefileoprofileMakefileparavirtKconfigMakefilepciMakefilepic32KconfigMakefilecommonMakefilepic32mzdaMakefilepistachioKconfigMakefilepmcs-msp71xxKconfigMakefilepnx833xMakefilecommonMakefilestb22xMakefilepowerMakefileralinkKconfigMakefilerb532Makefilesgi-ip22Makefilesgi-ip27KconfigMakefilesgi-ip32MakefilesibyteKconfigMakefilebcm1480MakefilecommonMakefilesb1250MakefileswarmMakefilesniMakefiletxx9KconfigMakefilegenericMakefilejmr3927Makefilerbtx4927Makefilerbtx4938Makefilerbtx4939MakefilevdsoMakefilevr41xxKconfigcasio-e55MakefilecommonMakefileibm-workpadMakefilends32KconfigKconfig.cpuMakefilebootMakefiledtsMakefilekernelMakefilevdsoMakefilelibMakefilemmMakefilenios2KconfigKconfig.debugMakefilebootMakefilecompressedMakefilekernelMakefilelibMakefilemmMakefileplatformKconfig.platformMakefileopenriscKconfigMakefilebootdtsMakefilekernelMakefilelibMakefilemmMakefilepariscKconfigKconfig.debugMakefilebootMakefilecompressedMakefilekernelMakefilelibMakefilemath-emuMakefilemmMakefileoprofileMakefilepowerpcKconfigKconfig.debugMakefileMakefile.postlinkbootMakefilecryptoMakefileincludeasm8xx_immap.hKbuildaccounting.hagp.harchrandom.hasm-compat.hasm-offsets.hasm-prototypes.hasync_tx.hatomic.hbacklight.hbarrier.hbitops.hbook3s32hash.hmmu-hash.hpgalloc.hpgtable.h64hash-4k.hhash-64k.hhash.hhugetlb.hkup-radix.hmmu-hash.hmmu.hpgalloc.hpgtable-4k.hpgtable-64k.hpgtable.hradix-4k.hradix-64k.hradix.hslice.htlbflush-hash.htlbflush-radix.htlbflush.hpgalloc.hpgtable.hbootx.hbpf_perf_event.hbtext.hbug.hbugs.hcache.hcacheflush.hcell-pmu.hcell-regs.hchecksum.hcmpxchg.hcode-patching-asm.hcode-patching.hcompat.hcontext_tracking.hcopro.hcpm.hcpm1.hcpm2.hcpu_has_feature.hcpu_setup_power.hcpufeature.hcpuidle.hcputable.hcputhreads.hcputime.hcrashdump-ppc64.hcurrent.hdbdma.hdbell.hdcr-generic.hdcr-mmio.hdcr-native.hdcr-regs.hdcr.hdebug.hdebugfs.hdelay.hdevice.hdisassemble.hdma-direct.hdma-mapping.hdma.hdrmem.hdt_cpu_ftrs.hdtl.hedac.heeh.heeh_event.hehv_pic.helf.helfnote.hemergency-restart.hemulated_ops.hepapr_hcalls.hexception-64e.hexception-64s.hexec.hextable.hfadump-internal.hfadump.hfb.hfeature-fixups.hfirmware.hfixmap.hfloppy.hfs_pd.hfsl_85xx_cache_sram.hfsl_gtm.hfsl_hcalls.hfsl_lbc.hfsl_pamu_stash.hfsl_pm.hftrace.hfutex.hgrackle.hhardirq.hhead-64.hheathrow.hhighmem.hhmi.hhugetlb.hhvcall.hhvconsole.hhvcserver.hhvsi.hhw_breakpoint.hhw_irq.hhydra.hi8259.hibmebus.hicswx.hide.hidle.hima.himc-pmu.himmap_cpm2.hinst.hio-defs.hio-workarounds.hio.hio_event_irq.hiommu.hipic.hirq.hirq_work.hirqflags.hisa-bridge.hjump_label.hkdebug.hkdump.hkexec.hkexec_ranges.hkeylargo.hkgdb.hkprobes.hkup.hkvm_asm.hkvm_book3s.hkvm_book3s_32.hkvm_book3s_64.hkvm_book3s_asm.hkvm_book3s_uvmem.hkvm_booke.hkvm_booke_hv_asm.hkvm_fpu.hkvm_guest.hkvm_host.hkvm_para.hkvm_ppc.hlibata-portmap.hlinkage.hlivepatch.hlocal.hlppaca.hlv1call.hmachdep.hmacio.hmc146818rtc.hmce.hmediabay.hmem_encrypt.hmembarrier.hmm-arch-hooks.hmman.hmmiowb.hmmu-40x.hmmu-44x.hmmu-8xx.hmmu-book3e.hmmu.hmmu_context.hmmzone.hmodule.hmpc5121.hmpc52xx.hmpc52xx_psc.hmpc5xxx.hmpc6xx.hmpc8260.hmpc85xx.hmpic.hmpic_msgr.hmpic_timer.hmsi_bitmap.hnmi.hnohash32pgalloc.hpgtable.hpte-40x.hpte-44x.hpte-8xx.hpte-fsl-booke.hslice.h64pgalloc.hpgtable-4k.hpgtable.hslice.hpgalloc.hpgtable.hpte-book3e.hnvram.hohare.hopal-api.hopal.hoprofile_impl.hpaca.hpage.hpage_32.hpage_64.hparavirt.hparport.hpasemi_dma.hpci-bridge.hpci.hpercpu.hperf_event.hperf_event_fsl_emb.hperf_event_server.hpgalloc.hpgtable-be-types.hpgtable-types.hpgtable.hpkeys.hplpar_wrappers.hpmac_feature.hpmac_low_i2c.hpmac_pfunc.hpmc.hpmi.hpnv-ocxl.hpnv-pci.hpowernv.hppc-opcode.hppc-pci.hppc4xx.hppc4xx_ocm.hppc_asm.hprobes.hprocessor.hprom.hps3.hps3av.hps3gpu.hps3stor.hpte-common.hpte-walk.hptrace.hqspinlock.hqspinlock_paravirt.hreg.hreg_8xx.hreg_a2.hreg_booke.hreg_fsl_emb.hrheap.hrio.hrtas.hrunlatch.hscom.hseccomp.hsections.hsecure_boot.hsecurity_features.hsecvar.hserial.hsetjmp.hsetup.hsfp-machine.hshmparam.hsignal.hsimple_spinlock.hsimple_spinlock_types.hslice.hsmp.hsmu.hsparsemem.hspinlock.hspinlock_types.hspu.hspu_csa.hspu_info.hspu_priv1.hsstep.hstackprotector.hstacktrace.hstring.hsvm.hswab.hswiotlb.hswitch_to.hsynch.hsyscall.hsyscalls.hsystbl.htask_size_32.htask_size_64.htce.htermios.hthread_info.htime.htimex.htlb.htlbflush.htm.htopology.htrace.htrace_clock.htsi108.htsi108_irq.htsi108_pci.htypes.huaccess.hudbg.huic.hultravisor-api.hultravisor.hunaligned.huninorth.hunistd.huprobes.huser.hvas.hvdso.hvdso_datapage.hvga.hvio.hword-at-a-time.hxics.hxilinx_intc.hxilinx_pci.hxive-regs.hxive.hxmon.hxor.hxor_altivec.hgeneratedasmdiv64.hexport.hirq_regs.hirq_work.hkmap_size.hkvm_types.hlocal64.hmcs_spinlock.hmsi.hpreempt.hqrwlock.hvtime.huapiasmbpf_perf_event.hparam.hpoll.hresource.hsiginfo.hsockios.hstatfs.huapiasmKbuildauxvec.hbitsperlong.hbootx.hbyteorder.hcputable.heeh.helf.hepapr_hcalls.herrno.hfcntl.hioctl.hioctls.hipcbuf.hkvm.hkvm_para.hmman.hmsgbuf.hnvram.hopal-prd.hpapr_pdsm.hperf_event.hperf_regs.hposix_types.hps3fb.hptrace.hsembuf.hsetup.hshmbuf.hsigcontext.hsignal.hsocket.hspu_info.hstat.hswab.htermbits.htermios.htm.htypes.hucontext.hunistd.hvas-api.hkernelMakefilemodule.ldsptraceMakefiletraceMakefilevdso32Makefilevdso64MakefilekvmKconfigMakefilelibMakefilecrtsavres.Smath-emuMakefilemmMakefilebook3s32Makefilebook3s64MakefilenetMakefileoprofileMakefileperfMakefileplatforms40xKconfigMakefile44xKconfigMakefile4xxMakefile512xKconfigMakefile52xxKconfigMakefile82xxKconfigMakefile83xxKconfigMakefile85xxKconfigMakefile86xxKconfigMakefile8xxKconfigMakefileKconfigKconfig.cputypeMakefileamigaoneKconfigMakefilebook3sKconfigMakefilecellKconfigMakefilespufsMakefilechrpKconfigMakefileembedded6xxKconfigMakefilemapleKconfigMakefilepasemiKconfigMakefilepowermacKconfigMakefilepowernvKconfigMakefileps3KconfigMakefilepseriesKconfigMakefilepurgatoryMakefilesysdevKconfigMakefilegeMakefilexicsKconfigMakefilexiveKconfigMakefilexmonMakefileriscvKconfigMakefilekernelMakefilevdsoMakefilelibMakefilemmMakefiles390KconfigKconfig.debugMakefileappldataMakefilebootMakefilecompressedMakefilecryptoMakefilehypfsMakefilekernelMakefilesyscallsMakefilevdso32Makefilevdso64MakefilekvmKconfigMakefilelibMakefilemmMakefilenetMakefilenumaMakefileoprofileMakefilepciMakefilepurgatoryMakefilescriptsMakefile.chkbsstoolsMakefileshKconfigKconfig.cpuKconfig.debugMakefileboardsKconfigMakefilemach-ap325rxaMakefilemach-caymanMakefilemach-dreamcastMakefilemach-ecovec24Makefilemach-highlanderKconfigMakefilemach-hp6xxMakefilemach-kfr2r09Makefilemach-landiskMakefilemach-lboxre2Makefilemach-microdevMakefilemach-migorKconfigMakefilemach-r2dKconfigMakefilemach-rskKconfigMakefilemach-sdk7780KconfigMakefilemach-sdk7786Makefilemach-se7206Makefile7343Makefile770xMakefile7721Makefile7722Makefile7724Makefile7751Makefile7780MakefileMakefilemach-sh03Makefilemach-sh7763rdpMakefilemach-x3protoMakefilebootMakefilecompressedMakefiledtsMakefileromimageMakefilecchipsKconfighd6446xMakefiledriversKconfigMakefiledmaKconfigMakefilepciMakefilesuperhywayMakefilekernelMakefilecpuMakefileirqMakefilesh2Makefilesh2aMakefilesh3Makefilesh4Makefilesh4aMakefilesh5MakefileshmobileMakefilevsyscallMakefilelibMakefilelib64Makefilemath-emuMakefilemmKconfigMakefileoprofileMakefiletoolsMakefilesparcKconfigKconfig.debugMakefilebootMakefilecryptoMakefilekernelMakefilelibMakefilemath-emuMakefilemmMakefilenetMakefileoprofileMakefilepowerMakefilepromMakefilevdsoMakefileumKconfig.charKconfig.commonKconfig.debugKconfig.netKconfig.restKconfig.umMakefileMakefile-os-LinuxMakefile-skasdriversMakefilekernelMakefileskasMakefileos-LinuxMakefiledriversMakefileskasMakefilescriptsMakefile.rulesunicore32KconfigKconfig.debugMakefilebootMakefilecompressedMakefilekernelMakefilelibMakefilemmKconfigMakefilex86KconfigKconfig.cpuKconfig.debugMakefileMakefile.umMakefile_32.cpubootMakefilecompressedMakefilecocoMakefiletdxMakefilecryptoMakefilesha1-mbMakefilesha256-mbMakefilesha512-mbMakefileentryMakefilesyscallsMakefilevdsoMakefilevsyscallMakefileeventsKconfigMakefileamdMakefileintelMakefilehypervMakefileia32MakefilekernelMakefileacpiMakefileapicMakefilecpuMakefilemceMakefilemicrocodeMakefilemtrrMakefileresctrlMakefilesgxMakefilefpuMakefilekprobesMakefilekvmKconfigMakefilelibMakefilemath-emuMakefilemmMakefilepatMakefilenetMakefileoprofileMakefilepciMakefileplatformMakefileatomMakefilece4100MakefileefiMakefilegeodeMakefilegoldfishMakefileintelintel-midMakefiledevice_libsMakefileintel-quarkMakefileMakefileirisMakefileolpcMakefilescx200MakefilesfiMakefilets5500MakefileuvMakefilepowerMakefilepurgatoryMakefilerasKconfigrealmodeMakefilermMakefiletoolsMakefileumKconfigMakefileos-LinuxMakefilevdsoMakefilevideoMakefilexenKconfigMakefilextensaKconfigKconfig.debugMakefilebootMakefileboot-elfMakefileboot-redbootMakefiledtsMakefilelibMakefilekernelMakefilelibMakefilemmMakefileoprofileMakefileplatformsissMakefilext2000MakefilextfpgaMakefileblockKconfigKconfig.ioschedMakefilepartitionsKconfigMakefilecertsKconfigMakefilecryptoKconfigMakefileasymmetric_keysKconfigMakefileasync_txKconfigMakefiledriversKconfigMakefileaccessibilityKconfigMakefilebrailleMakefileacpiKconfigMakefileacpicaMakefileapeiKconfigMakefilearm64KconfigMakefiledptfKconfigMakefilenfitKconfigMakefilenumaKconfigMakefilepmicKconfigMakefileambaKconfigMakefileandroidKconfigMakefileataKconfigMakefileatmKconfigMakefileauxdisplayKconfigMakefilebaseKconfigMakefilefirmware_loaderKconfigMakefilepowerMakefileregmapKconfigMakefiletestKconfigMakefilebcmaKconfigMakefileblockKconfigMakefileaoeMakefiledrbdKconfigMakefilemtip32xxKconfigMakefileparideKconfigMakefilersxxMakefilexen-blkbackMakefilezramKconfigMakefilebluetoothKconfigMakefilebusKconfigMakefilefsl-mcKconfigMakefilemhiKconfigMakefileepKconfigMakefilehostKconfigMakefilecdromMakefilecharKconfigMakefileagpKconfigMakefilehw_randomKconfigMakefileipmiKconfigMakefilemwaveMakefilepcmciaKconfigMakefiletpmKconfigMakefilest33zp24KconfigMakefilexilinx_hwicapMakefilexillybusKconfigMakefileclkKconfigMakefileactionsKconfigMakefileat91MakefileaxisMakefileaxs10xMakefilebcmKconfigMakefileberlinMakefiledavinciMakefileh8300MakefilehisiliconKconfigMakefileimgtecKconfigMakefileimxMakefileingenicMakefilekeystoneKconfigMakefileloongson1MakefilemediatekKconfigMakefilemesonKconfigMakefilemicrochipMakefilemmpMakefilemvebuKconfigMakefilemxsMakefilenxpMakefilepistachioMakefilepxaMakefileqcomKconfigMakefilerenesasKconfigMakefilerockchipMakefilesamsungKconfigMakefilesirfMakefilesocfpgaMakefilespearMakefilesprdKconfigMakefilestMakefilesunxisunxi-ngKconfigMakefileMakefiletegraKconfigMakefiletiKconfigMakefileuniphierKconfigMakefileux500MakefileversatileKconfigMakefilex86MakefilezteMakefilezynqMakefileclocksourceKconfigMakefileconnectorKconfigMakefilecounterKconfigMakefilecpufreqKconfigKconfig.armKconfig.powerpcKconfig.x86MakefilecpuidleKconfigKconfig.armKconfig.mipsKconfig.powerpcMakefilegovernorsMakefilecryptoKconfigMakefileamccMakefileaxisMakefilebcmMakefilecaamKconfigMakefilecaviumMakefilecptKconfigMakefilenitroxKconfigMakefilezipMakefileccpKconfigMakefileccreeMakefilechelsioKconfigMakefilechtlsMakefileinside-secureMakefilemarvellMakefilemediatekMakefilenxKconfigMakefileqatKconfigMakefileqat_4xxxMakefileqat_c3xxxMakefileqat_c3xxxvfMakefileqat_c62xMakefileqat_c62xvfMakefileqat_commonMakefileqat_dh895xccMakefileqat_dh895xccvfMakefileqceMakefilerockchipMakefilestm32KconfigMakefilesunxi-ssMakefileux500KconfigMakefilecrypMakefilehashMakefilevirtioKconfigMakefilevmxKconfigMakefiledaxKconfigMakefilehmemMakefilepmemMakefiledcaKconfigMakefiledevfreqKconfigMakefileeventKconfigMakefiledioMakefiledmadma-bufKconfigMakefileheapsKconfigMakefileKconfigMakefilebestcommKconfigMakefiledwdw-axi-dmacMakefileKconfigMakefilehsuKconfigMakefileidxdMakefileioatMakefileipuMakefilemediatekKconfigMakefileppc4xxMakefileptdmaKconfigMakefileqcomKconfigMakefileshKconfigMakefiletiKconfigMakefilexilinxMakefileedacKconfigMakefileeisaKconfigMakefileextconKconfigMakefilefirewireKconfigMakefilefirmwareKconfigMakefilearm_scmiMakefilebroadcomKconfigMakefilecirrusKconfigMakefileefiKconfigMakefilelibstubMakefiletestMakefilegoogleKconfigMakefilemesonKconfigMakefilepsciKconfigMakefilesmcccKconfigMakefiletegraKconfigMakefilefmcKconfigMakefilefpgaKconfigMakefilefsiKconfigMakefilegpioKconfigMakefilegpuMakefiledrmKconfigMakefileamdacpKconfigMakefileamdgpuKconfigMakefileamdkfdKconfigMakefiledisplayKconfigMakefileamdgpu_dmMakefiledcMakefilebasicsMakefilebiosMakefileclk_mgrMakefiledceMakefiledce100Makefiledce110Makefiledce112Makefiledce120Makefiledce60Makefiledce80Makefiledcn10Makefiledcn20Makefiledcn201Makefiledcn21Makefiledcn30Makefiledcn301Makefiledcn302Makefiledcn303Makefiledcn31Makefiledcn314Makefiledcn315Makefiledcn316Makefiledcn32Makefiledcn321MakefiledmlMakefiledscMakefilegpioMakefilehdcpMakefileirqMakefilelinkMakefilevirtualMakefiledmubsrcMakefilemodulescolorMakefilefreesyncMakefilehdcpMakefileinfo_packetMakefilepowerMakefilepmMakefilelegacy-dpmMakefilepowerplayMakefilehwmgrMakefilesmumgrMakefileswsmuMakefilesmu11Makefilesmu12Makefilesmu13MakefilearmKconfigMakefilearmadaKconfigMakefileaspeedKconfigMakefileastKconfigMakefileatmel-hlcdcKconfigMakefilebridgeKconfigMakefileadv7511KconfigMakefileanalogixKconfigMakefilecadenceKconfigMakefileimxKconfigMakefilesynopsysKconfigMakefiledisplayKconfigMakefileetnavivKconfigMakefileexynosKconfigMakefilefsl-dcuKconfigMakefilegma500KconfigMakefilegudKconfigMakefilehisiliconKconfigMakefilehibmcKconfigMakefilekirinKconfigMakefilehypervMakefilei2cKconfigMakefilei810Makefilei915KconfigKconfig.debugKconfig.profileKconfig.unstableMakefilegvtMakefileimxKconfigMakefilekmbKconfigMakefilelogicvcKconfigMakefilemediatekKconfigMakefilemesonKconfigMakefilemgaMakefilemgag200KconfigMakefilemsmKconfigMakefilemxsfbKconfigMakefilenouveauKconfigomapdrmKconfigMakefiledisplaysKconfigMakefiledssKconfigMakefilepanelKconfigMakefilepl111KconfigMakefileqxlKconfigMakefiler128MakefileradeonKconfigMakefilercar-duKconfigMakefilerockchipKconfigMakefilesavageMakefileschedulerMakefileselftestsMakefileshmobileKconfigMakefilesisMakefilesolomonKconfigMakefilesprdKconfigMakefilestiKconfigMakefilestmKconfigMakefilesun4iKconfigMakefiletdfxMakefiletegraKconfigMakefiletestsMakefiletilcdcKconfigMakefiletinyKconfigMakefilettmMakefiletve200KconfigMakefileudlKconfigMakefilev3dKconfigMakefilevboxvideoKconfigMakefilevc4KconfigMakefilevgemMakefileviaMakefilevirtioKconfigMakefilevkmsMakefilevmwgfxKconfigMakefilexenKconfigMakefilehost1xKconfigMakefileipu-v3KconfigMakefilevgaKconfigMakefilehidKconfigMakefileamd-sfh-hidKconfigMakefilei2c-hidKconfigMakefileintel-ish-hidKconfigMakefilesurface-hidKconfigMakefileusbhidKconfigMakefilehsiKconfigMakefileclientsKconfigMakefilecontrollersKconfigMakefilehvKconfigMakefilehwmonKconfigMakefilepmbusKconfigMakefilehwspinlockKconfigMakefilehwtracingKconfigcoresightKconfigMakefileintel_thKconfigMakefilestmKconfigMakefilei2cKconfigMakefilealgosKconfigMakefilebussesKconfigMakefilemuxesKconfigMakefileideKconfigMakefileidleKconfigMakefileiioKconfigMakefileaccelKconfigMakefileadcKconfigMakefileafeKconfigMakefileamplifiersKconfigMakefilebufferKconfigMakefilechemicalKconfigMakefilecommonKconfigMakefilecros_ec_sensorsKconfigMakefilehid-sensorsKconfigMakefilems_sensorsKconfigMakefilessp_sensorsKconfigMakefilest_sensorsKconfigMakefilecounterKconfigMakefiledacKconfigMakefiledummyKconfigMakefilefrequencyKconfigMakefilegyroKconfigMakefilehealthKconfigMakefilehumidityKconfigMakefileimuKconfigMakefilebmi160KconfigMakefileinv_mpu6050KconfigMakefilest_lsm6dsxKconfigMakefilelightKconfigMakefilemagnetometerKconfigMakefilemultiplexerKconfigMakefileorientationKconfigMakefilepotentiometerKconfigMakefilepotentiostatKconfigMakefilepressureKconfigMakefileproximityKconfigMakefileresolverKconfigMakefiletemperatureKconfigMakefiletriggerKconfigMakefileinfinibandKconfigMakefilecoreMakefilehwMakefilebnxt_reKconfigMakefilecxgb4KconfigMakefileefaKconfigMakefilehfi1KconfigMakefilehnsKconfigMakefileirdmaKconfigMakefilemlx4KconfigMakefilemlx5KconfigMakefilemthcaKconfigMakefileocrdmaKconfigMakefileqedrKconfigMakefileqibKconfigMakefileusnicKconfigMakefilevmw_pvrdmaKconfigMakefileswMakefilerdmavtKconfigMakefilerxeKconfigMakefilesiwKconfigMakefileulpMakefileipoibKconfigMakefileiserKconfigMakefileisertKconfigMakefileopa_vnicKconfigMakefilesrpKconfigsrptKconfigMakefileinputKconfigMakefilegameportKconfigMakefilejoystickKconfigMakefileiforceKconfigMakefilekeyboardKconfigMakefilemiscKconfigMakefilemouseKconfigMakefilermi4KconfigMakefileserioKconfigMakefiletabletKconfigMakefiletouchscreenKconfigMakefileiommuKconfigMakefileamdKconfigMakefilearmMakefilearm-smmuarm-smmu-v3MakefileMakefileintelKconfigMakefileipackKconfigMakefilecarriersKconfigMakefiledevicesKconfigMakefileirqchipKconfigMakefileisdnKconfigMakefilecapiKconfigMakefiledivertMakefilegigasetKconfigMakefilehardwareKconfigMakefileavmKconfigMakefileeiconKconfigMakefilemISDNKconfigMakefilehisaxKconfigMakefilehysdnKconfigMakefilei4lKconfigMakefileisdnloopMakefilemISDNKconfigMakefileledsKconfigMakefiletriggerKconfigMakefilelightnvmKconfigMakefilemacintoshKconfigMakefileamsMakefilemailboxKconfigMakefilemcbKconfigMakefilemdKconfigMakefilebcacheKconfigMakefilepersistent-dataKconfigMakefilemediaKconfigMakefilececKconfigMakefilecommonKconfigMakefileb2c2KconfigMakefilesaa7146KconfigMakefilesianoKconfigMakefilev4l2-tpgKconfigMakefilevideobuf2KconfigMakefiledvb-coreKconfigMakefiledvb-frontendsKconfigMakefilecxd2880KconfigMakefiledrx39xyjKconfigMakefilefirewireKconfigMakefilei2cKconfigMakefileadv748xMakefilecx25840KconfigMakefileet8ek8KconfigMakefilem5molsKconfigMakefiles5c73m3MakefilesmiappKconfigMakefilesoc_cameraKconfigMakefilemmcKconfigMakefilesianoKconfigMakefilepciKconfigMakefileb2c2KconfigMakefilebt8xxKconfigMakefilecobaltKconfigMakefilecx18KconfigMakefilecx23885KconfigMakefilecx25821KconfigMakefilecx88KconfigMakefileddbridgeKconfigMakefiledm1105KconfigMakefiledt3155KconfigMakefileintelMakefileipu3KconfigMakefileivtvKconfigMakefilemantisKconfigMakefilemeyeKconfigMakefilenetup_unidvbKconfigMakefilengeneKconfigMakefilepluto2KconfigMakefilept1KconfigMakefilept3KconfigMakefilesaa7134KconfigMakefilesaa7146KconfigMakefilesaa7164KconfigMakefilesmipcieKconfigMakefilesolo6x10KconfigMakefilesta2x11KconfigMakefilettpciKconfigMakefiletw5864KconfigMakefiletw68KconfigMakefiletw686xKconfigMakefileplatformKconfigMakefileam437xKconfigMakefileatmelKconfigMakefilecadenceKconfigMakefilecec-gpioMakefilecodaMakefiledavinciKconfigMakefileexynos-gscMakefileexynos4-isKconfigMakefilemarvell-ccicKconfigMakefilemesonMakefilemtk-jpegMakefilemtk-mdpMakefilemtk-vcodecMakefilemtk-vpuMakefileomapKconfigMakefileomap3ispMakefileqcomcamss-8x16MakefilevenusMakefilercar-vinKconfigMakefilerockchiprgaMakefiles3c-camifMakefiles5p-cecMakefiles5p-g2dMakefiles5p-jpegMakefiles5p-mfcMakefilesoc_cameraKconfigMakefilestibdispMakefilec8sectpfeKconfigMakefilececMakefiledeltaMakefilehvaMakefilestm32Makefiletegra-cecMakefileti-vpeMakefilevimcKconfigMakefilevividKconfigMakefilevsp1MakefilexilinxKconfigMakefileradioKconfigMakefilesi470xKconfigMakefilesi4713KconfigMakefilewl128xKconfigMakefilercKconfigMakefileimg-irKconfigMakefilekeymapsKconfigMakefilespiKconfigMakefiletunersKconfigMakefileusbKconfigMakefileairspyKconfigMakefileas102KconfigMakefileau0828KconfigMakefileb2c2KconfigMakefilecpia2KconfigMakefilecx231xxKconfigMakefiledvb-usbdvb-usb-v2KconfigMakefileKconfigMakefileem28xxKconfigMakefilego7007KconfigMakefilegspcaKconfigMakefilegl860KconfigMakefilem5602KconfigMakefilestv06xxKconfigMakefilehackrfKconfigMakefilehdpvrKconfigMakefilemsi2500KconfigMakefilepulse8-cecKconfigMakefilepvrusb2KconfigMakefilepwcKconfigMakefilerainshadow-cecKconfigMakefiles2255KconfigMakefilesianoKconfigMakefilestk1160KconfigMakefilestkwebcamKconfigMakefiletm6000KconfigMakefilettusb-budgetKconfigMakefilettusb-decKconfigMakefileusbtvKconfigMakefileusbvisionKconfigMakefileuvcKconfigMakefilezr364xxKconfigMakefilev4l2-coreKconfigMakefilememoryKconfigMakefileMakefile.asm-offsetssamsungKconfigMakefiletegraKconfigMakefilememstickKconfigMakefilecoreKconfigMakefilehostKconfigMakefilemessageMakefilefusionKconfigMakefilemfdKconfigMakefilemiscKconfigMakefilealtera-staplKconfigMakefilec2portKconfigMakefilecardreaderKconfigMakefilecb710KconfigMakefilecxlKconfigMakefileechoKconfigMakefileeepromKconfigMakefilegenwqeKconfigMakefileibmasmMakefilelis3lv02dKconfigMakefilelkdtmMakefilemeiKconfigMakefilehdcpKconfigMakefilepxpKconfigMakefilemicKconfigMakefilebusMakefilecardMakefilecosmMakefilecosm_clientMakefilehostMakefilescifMakefilevopMakefileocxlKconfigMakefilesgi-gruMakefilesgi-xpMakefileti-stKconfigMakefilevmw_vmciKconfigMakefilemmcKconfigMakefilecoreKconfigMakefilehostKconfigMakefilemtdKconfigMakefilechipsKconfigMakefiledevicesKconfigMakefilelpddrKconfigMakefilemapsKconfigMakefilenandKconfigMakefileonenandKconfigMakefilerawKconfigMakefileatmelMakefilebcm47xxnflashMakefilebrcmnandMakefilegpmi-nandMakefileparsersKconfigMakefilespi-norKconfigMakefiletestsMakefileubiKconfigMakefilemuxKconfigMakefilenetKconfigMakefileappletalkKconfigMakefilearcnetKconfigMakefilebondingMakefilecaifKconfigMakefilecanKconfigMakefilec_canKconfigMakefilecc770KconfigMakefileifi_canfdKconfigMakefilem_canKconfigMakefilemscanKconfigMakefilepeak_canfdKconfigMakefilercarKconfigMakefilesja1000KconfigMakefilesoftingKconfigMakefilespiKconfigMakefileusbKconfigMakefilekvaser_usbMakefilepeak_usbMakefiledsaKconfigMakefileb53KconfigMakefilemicrochipKconfigMakefilemv88e6xxxKconfigMakefileethernet3comKconfigMakefile8390KconfigMakefileKconfigMakefileadaptecKconfigMakefileaeroflexKconfigMakefileagereKconfigMakefilealacritechKconfigMakefileallwinnerKconfigMakefilealteonKconfigMakefilealteraKconfigMakefileamazonKconfigMakefileenaMakefileamdKconfigMakefilexgbeMakefileapmKconfigMakefilexgenexgene-v2KconfigMakefileKconfigMakefileappleKconfigMakefileaquantiaKconfigMakefileatlanticMakefilehw_atlMakefilearcKconfigMakefileatherosKconfigMakefilealxMakefileatl1cMakefileatl1eMakefileatlxMakefileauroraKconfigMakefilebroadcomKconfigMakefilebnx2xMakefilebnxtMakefilegenetMakefilebrocadeKconfigMakefilebnaKconfigMakefilecadenceKconfigMakefilecalxedaKconfigMakefilecaviumKconfigMakefilecommonMakefileliquidioMakefileocteonMakefilethunderMakefilechelsioKconfigMakefilecxgbMakefilecxgb3Makefilecxgb4Makefilecxgb4vfMakefileinline_cryptoKconfigMakefilech_ipsecMakefilech_ktlsMakefilelibcxgbMakefilecirrusKconfigMakefileciscoKconfigMakefileenicKconfigMakefilecortinaKconfigMakefiledavicomKconfigMakefiledecKconfigMakefiletulipKconfigMakefiledlinkKconfigMakefileemulexKconfigMakefilebenetKconfigMakefileezchipKconfigMakefilefaradayKconfigMakefilefreescaleKconfigMakefiledpaaKconfigMakefilefmanKconfigMakefilefs_enetKconfigMakefilefujitsuKconfigMakefilegoogleKconfigMakefilegveMakefilehisiliconKconfigMakefilehnsMakefilehns3Makefilehns3pfMakefilehns3vfMakefilehpKconfigMakefilehuaweiKconfigMakefilehinicKconfigMakefilei825xxKconfigMakefileibmKconfigMakefileeheaMakefileemacKconfigMakefileintelKconfigMakefilee1000Makefilee1000eMakefilefm10kMakefilei40eMakefileiavfMakefileiceMakefileigbMakefileigbvfMakefileigcMakefileixgbMakefileixgbeMakefileixgbevfMakefilemarvellKconfigMakefilemvpp2MakefilemediatekKconfigMakefilemellanoxKconfigMakefilemlx4KconfigMakefilemlx5coreKconfigMakefileaccelMakefilediagMakefileenMakefilexskMakefileen_accelMakefileeswMakefilefpgaMakefileipoibMakefilelibMakefilesteeringMakefilemlxbf_gigeKconfigMakefilemlxfwKconfigMakefilemlxswKconfigMakefilemicrelKconfigMakefilemicrochipKconfigMakefilemicrosoftKconfigMakefilemanaMakefilemoxaKconfigMakefilemsccKconfigMakefilemyricomKconfigMakefilemyri10geMakefilenatsemiKconfigMakefileneterionKconfigMakefilevxgeMakefilenetronomeKconfigMakefilenfpMakefilebpfMakefileflowerMakefilenfpcoreMakefilenfp6000MakefilenicMakefileniKconfigMakefilenuvotonKconfigMakefilenvidiaKconfigMakefilenxpKconfigMakefileoki-semiKconfigMakefilepch_gbeKconfigMakefilepacketenginesKconfigMakefilepasemiKconfigMakefilepensandoKconfigMakefileionicMakefileqlogicKconfigMakefilenetxenMakefileqedMakefileqedeMakefileqlcnicMakefileqlgeMakefilequalcommKconfigMakefileemacMakefilermnetKconfigMakefilerdcKconfigMakefilerealtekKconfigMakefilerenesasKconfigMakefilerockerKconfigMakefilesamsungKconfigMakefilesxgbeMakefileseeqKconfigMakefilesfcKconfigMakefilefalconKconfigMakefilesienaKconfigMakefilesgiKconfigMakefilesilanKconfigMakefilesisKconfigMakefilesmscKconfigMakefilesocionextKconfigMakefilestmicroKconfigMakefilestmmacKconfigMakefilesunKconfigMakefilesynopsysKconfigMakefiletehutiKconfigMakefiletiKconfigMakefiletoshibaKconfigMakefiletundraKconfigMakefileviaKconfigMakefilewiznetKconfigMakefilexilinxKconfigMakefilexircomKconfigMakefilexscaleKconfigMakefilefddiKconfigMakefileskfpMakefilefjesMakefilehamradioKconfigMakefilehippiKconfigMakefilehypervKconfigMakefileieee802154KconfigMakefileipvlanMakefilenetdevsimMakefilepcsKconfigMakefilephyKconfigMakefileplipKconfigMakefilepppKconfigMakefileslipKconfigMakefileteamKconfigMakefileusbKconfigMakefilevmxnet3MakefilewanKconfigMakefilelmcMakefilewimaxKconfigMakefilei2400mKconfigMakefilewirelessKconfigMakefileadmtekKconfigMakefileathKconfigMakefilear5523KconfigMakefileath10kKconfigMakefileath11kKconfigMakefileath5kKconfigMakefileath6klKconfigMakefileath9kKconfigMakefilecarl9170KconfigMakefilewcn36xxKconfigMakefilewil6210KconfigMakefileatmelKconfigMakefilebroadcomKconfigMakefileb43KconfigMakefileb43legacyKconfigMakefilebrcm80211KconfigMakefilebrcmfmacKconfigMakefilebrcmsmacMakefilebrcmutilMakefileciscoKconfigMakefileintelKconfigMakefileipw2x00KconfigMakefileiwlegacyKconfigMakefileiwlwifiKconfigMakefiledvmMakefilemeiMakefilemvmMakefileintersilKconfigMakefilehostapKconfigMakefileorinocoKconfigMakefilep54KconfigMakefileprism54MakefilemarvellKconfigMakefilelibertasKconfigMakefilelibertas_tfKconfigMakefilemwifiexKconfigMakefilemediatekKconfigMakefilemt76KconfigMakefilemt7603KconfigMakefilemt7615KconfigMakefilemt76x0KconfigMakefilemt76x2KconfigMakefilemt7915KconfigMakefilemt7921KconfigMakefilemt7601uKconfigMakefilequantennaKconfigMakefileqtnfmacKconfigMakefileralinkKconfigMakefilert2x00KconfigMakefilerealtekKconfigMakefilertl818xKconfigMakefilertl8180Makefilertl8187Makefilertl8xxxuKconfigMakefilertlwifiKconfigMakefilebtcoexistMakefilertl8188eeMakefilertl8192cMakefilertl8192ceMakefilertl8192cuMakefilertl8192deMakefilertl8192eeMakefilertl8192seMakefilertl8723aeMakefilertl8723beMakefilertl8723comMakefilertl8821aeMakefilertw88KconfigMakefilertw89KconfigMakefilersiKconfigMakefilestKconfigMakefilecw1200KconfigMakefiletiKconfigMakefilewl1251KconfigMakefilewl12xxKconfigMakefilewl18xxKconfigMakefilewlcoreKconfigMakefilezydasKconfigMakefilezd1211rwKconfigMakefilexen-netbackMakefilenfcKconfigMakefilefdpKconfigMakefilemicroreadKconfigMakefilenfcmrvlKconfigMakefilenxp-nciKconfigMakefilepn533KconfigMakefilepn544KconfigMakefiles3fwrn5KconfigMakefilest-nciKconfigMakefilest21nfcaKconfigMakefilest95hfKconfigMakefilentbKconfigMakefilehwKconfigMakefileamdKconfigMakefileepfKconfigMakefileidtKconfigMakefileintelKconfigMakefilemsccKconfigMakefiletestKconfigMakefilenubusMakefilenvdimmKconfigMakefilenvmeKconfigMakefilehostKconfigMakefiletargetKconfigMakefilenvmemKconfigMakefileofKconfigMakefileunittest-dataMakefileoppKconfigMakefilepariscKconfigMakefileparportKconfigMakefilepciKconfigMakefilecontrollerKconfigMakefiledwcKconfigMakefileendpointKconfigMakefilefunctionsKconfigMakefilehotplugKconfigMakefilepcieKconfigMakefileswitchKconfigMakefilepcmciaKconfigMakefileperfKconfigMakefilehisiliconMakefilephyKconfigMakefileallwinnerKconfigMakefileamlogicKconfigMakefilebroadcomKconfigMakefilehisiliconKconfigMakefilelantiqKconfigMakefilemarvellKconfigMakefilemediatekKconfigMakefilemotorolaKconfigMakefilequalcommKconfigMakefileralinkKconfigMakefilerenesasKconfigMakefilerockchipKconfigMakefilesamsungKconfigMakefilestKconfigMakefiletegraKconfigMakefiletiKconfigMakefilepinctrlKconfigMakefileactionsKconfigMakefileaspeedKconfigMakefilebcmKconfigMakefileberlinKconfigMakefilefreescaleKconfigMakefileintelKconfigMakefilemediatekKconfigMakefilemesonKconfigMakefilemvebuKconfigMakefilenomadikKconfigMakefilepxaKconfigMakefileqcomKconfigMakefilesamsungKconfigMakefilesh-pfcKconfigMakefilesirfMakefilespearKconfigMakefilesprdKconfigMakefilestm32KconfigMakefilesunxiKconfigMakefiletegraKconfigMakefiletiKconfigMakefileuniphierKconfigMakefilevt8500KconfigMakefilezteKconfigMakefileplatformKconfigMakefilechromeKconfigMakefilegoldfishKconfigMakefilemellanoxKconfigMakefilemipsKconfigMakefileolpcMakefilex86KconfigMakefiledell-wmi-sysmanMakefileintelKconfigMakefilepmcKconfigMakefilepmtKconfigMakefilespeed_select_ifKconfigMakefilepnpKconfigMakefileisapnpKconfigMakefilepnpacpiKconfigMakefilepnpbiosKconfigMakefilepowerKconfigMakefileavsKconfigMakefileresetKconfigMakefilesupplyKconfigMakefilepowercapKconfigMakefileppsKconfigMakefileclientsKconfigMakefilegeneratorsKconfigMakefileps3MakefileptpKconfigMakefilepwmKconfigMakefilerapidioKconfigMakefiledevicesKconfigMakefileswitchesKconfigMakefilerasKconfigMakefileregulatorKconfigMakefileremoteprocKconfigMakefileresetKconfigMakefilehisiliconKconfigMakefilestiKconfigMakefiletegraKconfigMakefilerpmsgKconfigMakefilertcKconfigMakefiles390MakefileblockKconfigMakefilecharKconfigMakefilecioMakefilecryptoMakefilenetKconfigMakefilescsiMakefilevirtioMakefilesbusMakefilecharKconfigMakefilescsiKconfigMakefileaacraidMakefileaic7xxxKconfig.aic79xxKconfig.aic7xxxMakefileaicasmMakefileaic94xxKconfigMakefilearcmsrMakefilearmKconfigMakefilebe2iscsiKconfigMakefilebfaMakefilebnx2fcKconfigMakefilebnx2iKconfigMakefilecsiostorKconfigMakefilecxgbiKconfigMakefilecxgb3iKconfigcxgb4iKconfigcxlflashKconfigMakefiledevice_handlerKconfigMakefileesas2rKconfigMakefilefcoeMakefilefnicMakefilehisi_sasKconfigMakefileibmvscsiMakefileibmvscsi_tgtMakefileisciMakefilelibfcMakefilelibsasKconfigMakefilelpfcMakefilemegaraidKconfig.megaraidMakefilempi3mrKconfigMakefilempt3sasKconfigMakefilemvsasKconfigMakefilepcmciaKconfigMakefilepm8001MakefileqedfKconfigMakefileqediKconfigMakefileqla2xxxKconfigMakefileqla4xxxKconfigMakefilesmartpqiKconfigMakefilesnicMakefilesym53c8xx_2MakefileufsKconfigMakefilesfiKconfigMakefileshKconfigMakefileclkMakefileintcKconfigMakefilemapleMakefilesuperhywayMakefilesioxKconfigMakefileslimbusKconfigMakefilesnKconfigMakefilesocKconfigMakefileactionsKconfigMakefileamlogicKconfigMakefileatmelKconfigMakefilebcmKconfigMakefilebrcmstbKconfigMakefilepmMakefiledoveMakefilefslKconfigMakefileqbmanKconfigMakefileqeKconfigMakefilegeminiMakefileimxKconfigMakefilelantiqMakefilemediatekKconfigMakefileqcomKconfigMakefilerenesasKconfigMakefilerockchipKconfigMakefilesamsungKconfigMakefilesunxiKconfigMakefiletegraKconfigMakefilefuseMakefiletiKconfigMakefileux500KconfigMakefileversatileKconfigMakefilexilinxKconfigMakefilezteKconfigMakefilesoundwireKconfigMakefilespiKconfigMakefilespmiKconfigMakefilessbKconfigMakefilestagingKconfigMakefileandroidKconfigMakefileionKconfigMakefileboardKconfigMakefileclocking-wizardKconfigMakefilecomediKconfigMakefiledriversMakefilekcomedilibMakefiledgncKconfigMakefileemxx_udcKconfigMakefilefbtftKconfigMakefilefsl-dpaa2KconfigMakefileethernetMakefileethswMakefilertcMakefilefsl-mcKconfigMakefilebusKconfigMakefiledpioMakefilefwserialKconfigMakefilegdm724xKconfigMakefilegoldfishKconfigMakefilegreybusKconfigMakefiletoolsMakefilegs_fpgabootKconfigMakefileiioKconfigMakefileaccelKconfigMakefileadcKconfigMakefileaddacKconfigMakefilecdcKconfigMakefilefrequencyKconfigMakefilegyroKconfigMakefileimpedance-analyzerKconfigMakefilemeterKconfigMakefileresolverKconfigMakefileks7010KconfigMakefilemediaKconfigMakefilebcm2048KconfigMakefiledavinci_vpfeKconfigMakefileimxKconfigMakefileimx074KconfigMakefilemt9t031KconfigMakefileomap4issKconfigMakefiletegra-vdeKconfigMakefilezoranKconfigMakefilemostKconfigMakefilecdevKconfigMakefiledim2KconfigMakefilei2cKconfigMakefilenetKconfigMakefilesoundKconfigMakefileusbKconfigMakefilevideoKconfigMakefilemt29f_spinandKconfigMakefilemt7621-dmaKconfigMakefilemt7621-dtsKconfigMakefilemt7621-ethKconfigMakefilemt7621-gpioKconfigMakefilemt7621-mmcKconfigMakefilemt7621-pciMakefilemt7621-pinctrlKconfigMakefilemt7621-spiKconfigMakefilenetlogicKconfigMakefilenvecKconfigMakefileocteonocteon-usbKconfigMakefileKconfigMakefileolpc_dconKconfigMakefilepi433KconfigMakefilertl8188euKconfigMakefilertl8192eKconfigMakefilertl8192eKconfigMakefilertl8192uKconfigMakefileieee80211Makefilertl8712KconfigMakefilertl8723bsKconfigMakefilertlwifiKconfigMakefilebtcoexistMakefilertl8822beMakefilerts5208KconfigMakefileskeinKconfigMakefilesm750fbKconfigMakefilespeakupKconfigMakefileunisysKconfigMakefilevisorhbaKconfigMakefilevisorinputKconfigMakefilevisornicKconfigMakefilevboxvideoKconfigMakefilevc04_servicesKconfigMakefilebcm2835-audioKconfigMakefilebcm2835-cameraKconfigMakefilevmeMakefiledevicesKconfigMakefilevt6655KconfigMakefilevt6656KconfigMakefilewilc1000KconfigMakefilewlan-ngKconfigMakefilexgifbKconfigMakefiletargetKconfigMakefileiscsiKconfigMakefilecxgbitKconfigMakefileloopbackKconfigMakefilesbpKconfigMakefiletcm_fcKconfigMakefiletcMakefileteeKconfigMakefileopteeKconfigMakefilethermalKconfigMakefilebroadcomKconfigMakefileintelKconfigMakefileint340x_thermalKconfigMakefileqcomKconfigMakefilesamsungKconfigMakefilestKconfigMakefiletegraKconfigMakefileti-soc-thermalKconfigMakefilethunderboltKconfigMakefilettyKconfigMakefilehvcKconfigMakefileipwirelessMakefileserdevKconfigMakefileserial8250KconfigMakefileKconfigMakefilecpm_uartMakefilejsmMakefilevtMakefileuioKconfigMakefileusbKconfigMakefileatmKconfigMakefilec67x00MakefilechipideaKconfigMakefileclassKconfigMakefilecommonKconfigMakefilecoreKconfigMakefiledwc2KconfigMakefiledwc3KconfigMakefileearlyMakefilegadgetKconfigMakefilefunctionMakefilelegacyKconfigMakefileudcKconfigMakefileaspeed-vhubKconfigMakefilebdcKconfigMakefilehostKconfigMakefilewhciMakefileimageKconfigMakefileisp1760KconfigMakefilemiscKconfigMakefilesisusbvgaKconfigMakefilemonKconfigMakefilemtu3KconfigMakefilemusbKconfigMakefilephyKconfigMakefilerenesas_usbhsKconfigMakefilerolesKconfigMakefileserialKconfigMakefileMakefile-keyspan_pda_fwstorageKconfigMakefiletypecKconfigMakefilealtmodesKconfigMakefilemuxKconfigMakefiletcpmKconfigMakefiletipdKconfigMakefileucsiKconfigMakefileusbipKconfigMakefilewusbcoreKconfigMakefileuwbKconfigMakefilei1480MakefiledfuMakefilevdpaKconfigMakefilealibabaMakefileifcvfMakefilemlx5Makefilevdpa_simMakefilevirtio_pciMakefilevfioKconfigMakefilemdevKconfigMakefilepciKconfigMakefileplatformKconfigMakefileresetKconfigMakefilevhostKconfigKconfig.vringhMakefilevideoKconfigMakefilebacklightKconfigMakefileconsoleKconfigMakefilefbdevKconfigMakefileatyMakefilecoreMakefilegeodeKconfigMakefilei810MakefileintelfbMakefilekyroMakefilematroxMakefilemb862xxMakefilembxMakefilemmpKconfigMakefilefbKconfigMakefilehwKconfigMakefilepanelKconfigMakefilenvidiaMakefileomapKconfigMakefileomap2KconfigMakefileomapfbKconfigMakefiledisplaysKconfigMakefiledssKconfigMakefilerivaMakefilesavageMakefilesisMakefilevermilionMakefileviaMakefilelogoKconfigMakefilevirtKconfigMakefilecocosev-guestKconfigMakefiletdx-guestKconfigMakefilenitro_enclavesKconfigMakefilevboxguestKconfigMakefilevirtioKconfigMakefilevisorbusKconfigMakefilevlynqKconfigMakefilevmeKconfigMakefileboardsKconfigMakefilebridgesKconfigMakefilew1KconfigMakefilemastersKconfigMakefileslavesKconfigMakefilewatchdogKconfigMakefilexenKconfigMakefileeventsMakefilexen-pcibackMakefilexenbusMakefilexenfsMakefilezorroKconfigMakefilefirmwareMakefilefs9pKconfigMakefileKconfigKconfig.binfmtMakefileadfsKconfigMakefileaffsKconfigMakefileafsKconfigMakefileautofsKconfigMakefilebefsKconfigMakefilebfsKconfigMakefilebtrfsKconfigMakefilecachefilesKconfigMakefilecephKconfigMakefilecifsKconfigMakefilecodaKconfigMakefileconfigfsKconfigMakefilecramfsKconfigMakefilecryptoKconfigMakefiledebugfsMakefiledevptsMakefiledlmKconfigMakefileecryptfsKconfigMakefileefivarfsKconfigMakefileefsKconfigMakefileexportfsMakefileext2KconfigMakefileext4KconfigMakefilef2fsKconfigMakefilefatKconfigMakefilefreevxfsKconfigMakefilefscacheKconfigMakefilefuseKconfigMakefilegfs2KconfigMakefilehfsKconfigMakefilehfsplusKconfigMakefilehostfsMakefilehpfsKconfigMakefilehugetlbfsMakefileiomapMakefileisofsKconfigMakefilejbd2KconfigMakefilejffs2KconfigMakefilejfsKconfigMakefilekernfsKconfigMakefilelockdMakefileminixKconfigMakefilenfsKconfigMakefileblocklayoutMakefilefilelayoutMakefileflexfilelayoutMakefilenfs_commonMakefilenfsdKconfigMakefilenilfs2KconfigMakefilenlsKconfigMakefilenotifyKconfigMakefilednotifyKconfigMakefilefanotifyKconfigMakefileinotifyKconfigMakefilentfsKconfigMakefileocfs2KconfigMakefileclusterMakefiledlmMakefiledlmfsMakefileomfsKconfigMakefileopenpromfsMakefileorangefsKconfigMakefileoverlayfsKconfigMakefileprocKconfigMakefilepstoreKconfigMakefileqnx4KconfigMakefileqnx6KconfigMakefilequotaKconfigMakefileramfsMakefilereiserfsKconfigMakefileromfsKconfigMakefilesquashfsKconfigMakefilesysfsKconfigMakefilesysvKconfigMakefiletracefsMakefileubifsKconfigMakefileudfKconfigMakefileufsKconfigMakefilexfsKconfigMakefileincludeacpiacbuffer.hacconfig.hacexcep.hacnames.hacoutput.hacpi.hacpi_bus.hacpi_drivers.hacpi_io.hacpi_lpat.hacpi_numa.hacpiosxf.hacpixf.hacrestyp.hactbl.hactbl1.hactbl2.hactbl3.hactypes.hacuuid.hapei.hbattery.hbutton.hcppc_acpi.hghes.hhed.hnfit.hpcc.hpdc_intel.hplatformacenv.hacenvex.hacgcc.hacgccex.hacintel.haclinux.haclinuxex.hprocessor.hreboot.hvideo.hasm-generic4level-fixup.h5level-fixup.hasm-offsets.hasm-prototypes.hatomic-instrumented.hatomic-long.hatomic.hatomic64.haudit_change_attr.haudit_dir_write.haudit_read.haudit_signal.haudit_write.hbarrier.hbitopsbitops-instrumented.hbitops.h__ffs.h__fls.harch_hweight.hatomic.hbuiltin-__ffs.hbuiltin-__fls.hbuiltin-ffs.hbuiltin-fls.hconst_hweight.hext2-atomic-setbit.hext2-atomic.hffs.hffz.hfind.hfls.hfls64.hhweight.hle.hlock.hnon-atomic.hsched.hbitsperlong.hbug.hbugs.hcache.hcacheflush.hchecksum.hcmpxchg-local.hcmpxchg.hcompat.hcurrent.hdelay.hdevice.hdiv64.hdma-contiguous.hdma-mapping.hdma.hearly_ioremap.hemergency-restart.herror-injection.hexec.hexport.hextable.hfb.hfixmap.hftrace.hfutex.hgetorder.hgpio.hhardirq.hhugetlb.hhw_irq.hhyperv-tlfs.hide_iops.hint-ll64.hio.hioctl.hiomap.hirq.hirq_regs.hirq_work.hirqflags.hkdebug.hkmap_size.hkprobes.hkvm_para.hkvm_types.hlinkage.hlocal.hlocal64.hmcs_spinlock.hmemory_model.hmm-arch-hooks.hmm_hooks.hmmiowb.hmmiowb_types.hmmu.hmmu_context.hmodule.hmshyperv.hmsi.hnuma.hpage.hparam.hparport.hpci.hpci_iomap.hpercpu.hpgalloc.hpgtable-nop4d-hack.hpgtable-nop4d.hpgtable-nopmd.hpgtable-nopud.hpgtable.hpgtable_uffd.hpreempt.hptrace.hqrwlock.hqrwlock_types.hqspinlock.hqspinlock_types.hresource.hseccomp.hsections.hsegment.hserial.hset_memory.hsignal.hsimd.hsizes.hspinlock.hstatfs.hstring.hswitch_to.hsyscall.hsyscalls.htermios-base.htermios.htimex.htlb.htlbflush.htopology.htrace_clock.huaccess.hunaligned.hunistd.huser.hvdsovsyscall.hvga.hvmlinux.lds.hvtime.hword-at-a-time.hxor.hclocksourcearm_arch_timer.hhyperv_timer.hpxa.hsamsung_pwm.htimer-sp804.htimer-ti-dm.hconfig64bit.h6lowpan.h8139cp.h8139too8139too.h8129.h842compress.hdecompress.hac97bus.hadvisesyscalls.haio.halim7101wdt.hallowdevcoredump.halterastapl.haltivec.halx.hamdphy.hapds9802als.haperturehelpers.haquantiaphy.harchcpuproberelease.hdmaaddrt64bit.henablehugepagemigration.hmemoryhotplug.hhotremove.hsplitpmdptlock.hhasdevmemisallowed.hdmamapdirect.helfrandomize.hfastmultiplier.hforcedmaunencrypted.hfortifysource.hgcovprofileall.hgiganticpage.hhugepd.hkexecpurgatory.hmemencrypt.hmembarriercallbacks.hmemremapcompatalign.hmmiowb.hnonoverlappingaddressspace.hphystodma.hpkeys.hpmemapi.hptespecial.hsgchain.htickbroadcast.huaccessflushcache.hmcsafe.hubsansanitizeall.hwalkmemory.hzonedevice.hhavenmisafecmpxchg.hhibernationpossible.hkeepmemblock.hmayhavepcfdc.hmemoryprobe.hmighthavepcparport.hserio.hmmaprndbitsbits.hmax.hmin.hcompatbitsbits.hmax.hmin.hrandom.hselectmemorymodel.hsparsememdefault.henable.hsupportsatomicrmw.hdebugpagealloc.hmemoryfailure.hnumabalancing.huprobes.hsuspendnonzerocpu.hpossible.husebuiltinbswap.hcmpxchglockref.huseshighvmaflags.hwantcompatipcparseversion.hipcparseversion.hirqsoffactivatemm.holdcompatipc.hweakreleaseacquire.harmgicmaxnr.hasn1.hassociativearray.hasymmetrickeytype.hpublickeysubtype.hasynccore.hmemcpy.hpq.hraid6recov.htest.htxdma.hxor.hataata.hbmdma.hgeneric.hpiix.hsff.hverboseerror.hatl1.hatl1c.hatl1e.hatl2.hatmatm.hbr2684.hclip.hlane.hatomic64selftest.hauditaudit.harch.hauditsyscall.hauto.confauto.conf.cmdautofsfs.hautofs4fs.hauxiliarybus.hbacklightclassdevice.hlcdsupport.hlp855x.hpwm.hballooncompaction.hbareudp.hbasefull.hsmall.hbcmnetphylib.hbcm7xxxphy.hbcm87xxphy.hbcmabcma.hdrivergmaccmn.hgpio.hpci.hhostpcipci.hpossible.hpossible.hbe2iscsi.hbe2netbe2net.hhwmon.hlancer.hskyhawk.hbfqgroupiosched.hbigkeys.hbinaryprintf.hbinfmtelf.hmisc.hscript.hbitfieldkunittest.hbitreverse.hbitskunittest.hblkcgroupcgroup.hfcappid.hiolatency.hrwstat.hdebugfs.hdevdev.hbsg.hbsglib.hdmdm.hbuiltin.hinitrd.hintegrityintegrity.ht10.hiotrace.hlooploop.hmincount.hmd.hnbd.hnullblk.hnvme.hpmem.hramram.hcount.hsize.hrbd.hrsxx.hsd.hsr.hthrottling.hmqpci.hrdma.hvirtio.hpm.hscsirequest.hwbtwbt.hmq.hblockblock.hcompat.hbnx2.hbnx2xbnx2x.hsriov.hbnxtbnxt.hdcb.hfloweroffload.hhwmon.hsriov.hbonding.hbootparamhardlockuppanicvalue.hhungtaskpanicvalue.hsoftlockuppanicvalue.hbootxtext.hbounce.hbpfbpf.hevents.hjitjit.halwayson.hdefaulton.hlsm.hstreamparser.hsyscall.hunprivdefaultoff.hbql.hbranchprofilenone.hbridgebridge.hebt8023.hamong.harp.harpreply.hbroute.hdnat.hip.hip6.hlimit.hlog.hmarkmark.ht.hnflog.hpkttype.hredirect.hsnat.hstp.htfilter.hnat.hvlan.higmpsnooping.hnetfilter.hnfebtables.hvlanfiltering.hbroadcomphy.hbsddisklabel.hprocessacctacct.hv3.hbtbt.hath3k.hbcm.hbnepbnep.hmcfilter.hprotofilter.hbredr.hcmtp.hdebugfs.hhcibcm203x.hhcibfusb.hhcibpa10x.hhcibtsdio.hhcibtusbhcibtusb.hautosuspend.hbcm.hrtl.hhciuarthciuart.hath3k.hbcsp.hh4.hhcivhci.hhidp.hhs.hintel.hle.hmrvlmrvl.hsdio.hrfcommrfcomm.htty.hrtl.hbtree.hbtt.hbugbug.hondatacorruption.hbuildbin2c.hbuildtimeextablesort.hcachefiles.hcancan.h8devusb.hbcm.hccancan.hpci.hplatform.hcalcbittiming.hcc770cc770.hplatform.hdev.hemspci.husb.hesdusb2.hgw.hkvaserpci.husb.hleds.hpeakpci.hpciec.husb.hplxpci.hraw.hsja1000sja1000.hplatform.hslcan.hsofting.hucan.hvcan.hcapiavm.hcardbus.hcaviumptp.hcb710core.hdebugassumptions.hcccanlink.hhaskasangeneric.hsancovtracepc.hstackprotectornone.hworkingnosanitizeaddress.hisgcc.hoptimizeforperformance.hcdromcdrom.hpktcdvdpktcdvd.hbuffers.hceccore.hplatformdrivers.hcephfsfs.hposixacl.hsecuritylabel.hliblib.husednsresolver.hcfsbandwidth.hcgroupbpf.hcpuacct.hdevice.hfreezer.hhugetlb.hnetclassid.hprio.hperf.hpids.hrdma.hsched.hwriteback.hcgroups.hchargersmb347.hchecksignature.hcheckpointrestore.hchelsioinlinecrypto.hipsecinline.hlib.ht4.ht4vf.htlsdevice.hchrdevsch.hsg.hst.hcicadaphy.hcifscifs.hallowinsecurelegacy.hdebug.hdfsupcall.hposix.hsmbdirect.hupcall.hweakpwhash.hxattr.hclangversion.hcleancache.hclkbldi8253.hclonebackwards.hclsu32mark.hperf.hclztab.hcmacma.hareas.hcmdlinecmdline.hkunittest.hcmm.hcnic.hcompaction.hcompatcompat.h32bittime.hbinfmtelf.holdsigaction.hconfigfsfs.hconnector.hconsolelogleveldefault.hquiet.hpoll.htranslations.hcontextswitchtracer.htracking.hcontigalloc.hcordic.hcoredumpdefaultelfheaders.hcoredump.hcortinaphy.hcpufreqfreq.hdefaultgovperformance.hgovattrset.hcommon.hconservative.hondemand.hperformance.hpowersave.hschedutil.huserspace.hstat.hidleidle.hgovhaltpoll.hmenu.hisolation.hlittleendian.hrmap.hcpusets.hcramfscramfs.hblockdev.hcrashcore.hdump.hcrcccitt.hitut.ht10dif.hcrc16.hcrc32crc32.hsliceby8.hcrc7.hcrc8.hcrossmemoryattach.hcryptocrypto.h842.hacomp2.haead.haead2.haes.hakcipher.hakcipher2.halgapi.halgapi2.hansicprng.hanubis.harc4.hauthenc.hblkcipher.hblkcipher2.hblowfishblowfish.hcommon.hcamellia.hcastcommon.hcast5.hcast6.hcbc.hccm.hcfb.hchacha20.hchacha20poly1305.hcmac.hcrc32.hcrc32c.hcrct10dif.hcryptd.hctr.hcts.hdeflate.hdes.hdevchelsio.hnitroxnitrox.hcnn55xx.hnxnx.hcompresscompress.hpowernv.hpseries.hvmxvmx.hencrypt.hdrbgdrbg.hctr.hhash.hhmac.hmenu.hecb.hecdh.hechainiv.hessiv.hfcrypt.hfipsfips.hname.hgcm.hgf128mul.hghash.hhashhash.hinfo.hhash2.hhmac.hhw.hjitterentropy.hkhazad.hkpp.hkpp2.hlibarc4.hsha256.hlrw.hlzo.hmanager.hmanager2.hmd4.hmd5.hmichaelmic.hnull.hnull2.hpcbc.hpcrypt.hpoly1305.hrmd128.hrmd160.hrmd256.hrmd320.hrngrng.hdefault.hrng2.hrsa.hsalsa20.hseed.hseqiv.hserpent.hsha1.hsha256.hsha3.hsha512.htea.htest.htgr192.htwofishtwofish.hcommon.huseruser.hapiapi.haead.hhash.hrng.hskcipher.hvmac.hworkqueue.hwp512.hxcbc.hxts.hcuse.hcxlcxl.hafudriverops.hbase.hbimodal.hlib.hcxlflash.hcyclades.hcypressfirmware.hdamondamon.hdbgfs.hpaddr.hreclaim.hvaddr.hdavicomphy.hdaxdax.hdriver.hdcachewordaccess.hdcb.hdeaoc.hdebugbugverbose.hfs.hinfoinfo.hbtf.hdwarf4.hkernel.hlist.hmemoryinit.hsectionmismatch.hshirq.hstackoverflow.hdebugger.hdecompressbzip2.hgzip.hlz4.hlzma.hlzo.hxz.hdefaultcubic.hfqcodel.hhostname.hhungtasktimeout.hmmapminaddr.hnetsch.hsecurityselinux.htcpcong.hdetecthungtask.hdevcoredump.hdaxdax.hpmempmem.hcompat.hdeviceprivate.hdevmem.hdevtmpfsdevtmpfs.hmount.hdimlib.hdlcidlci.hmax.hdlmdlm.hdebug.hdmbioprison.hbufio.hcachecache.hsmq.hcrypt.hdebug.hdelay.hera.hflakey.hintegrity.hloguserspace.hwrites.hmirror.hmultipathmultipath.hhst.hioa.hql.hst.hpersistentdata.hraid.hsnapshot.hswitch.hthinprovisioning.huevent.hverity.hwritecache.hzero.hdmaengineengine.hraid.hof.hopsops.hbypass.hsharedbuffer.hdmadevices.hdmatest.hdnet.hdnotify.hdnsresolver.hdp83640phy.hdp83822phy.hdp83848phy.hdp83867phy.hdp83tc811phy.hdql.hdrmdrm.hamdacp.hdc.hamdgpuamdgpu.huserptr.hast.hbochs.hbridge.hbuddy.hcirrusqemu.hdisplaydphelper.hhdmihelper.hhelper.hdpauxchardev.hfbdevemulation.hoveralloc.hgemshmemhelper.hi2cch7006.hsil164.hkmshelper.hloadedidfirmware.hmgag200.hnomodeset.hnouveaunouveau.hbacklight.hpanelpanel.hbridge.horientationquirks.hqxl.hradeonradeon.huserptr.hsched.httmttm.hhelper.hudl.hvirtiogpu.hvkms.hvramhelper.hdstcache.hdtc.hdtl.hdummydummy.hconsoleconsole.hcolumns.hrows.hdvba8293.haf9013.haf9033.hatbm8830.hau8522au8522.hdtv.hv4l.hav7110av7110.hir.hosd.hb2c2flexcopflexcop.hpci.husb.hbcm3510.hbt8xx.hbudgetbudget.hav.hci.hcore.hpatch.hcore.hcx22700.hcx22702.hcx24110.hcx24116.hcx24117.hcx24120.hcx24123.hcxd2099.hcxd2820r.hcxd2841er.hddbridge.hdib3000mb.hdib3000mc.hdib7000m.hdib7000p.hdib8000.hdm1105.hdrx39xyj.hdrxd.hdrxk.hds3000.hdummyfe.hdynamicminors.hec100.hfiredtvfiredtv.hinput.hgp8pskfe.hhopper.hisl6405.hisl6421.hisl6423.hix2505v.hl64781.hlg2160.hlgdt3305.hlgdt3306a.hlgdt330x.hlgs8gxx.hlnbh25.hlnbp21.hlnbp22.hm88ds3103.hm88rs2000.hmantis.hmaxadapters.hmb86a16.hmb86a20s.hmn88472.hmn88473.hmt312.hmt352.hmxl5xx.hnet.hngene.hnxt200x.hnxt6000.hor51132.hor51211.hpll.hpluto2.hpt1.hrtl2830.hrtl2832.hs5h1409.hs5h1411.hs5h1420.hs921.hsi2165.hsi2168.hsi21xx.hsp8870.hsp887x.hstb0899.hstb6000.hstb6100.hstv0288.hstv0297.hstv0299.hstv0367.hstv0900.hstv090x.hstv0910.hstv6110.hstv6110x.hstv6111.htc90522.htda10021.htda10023.htda10048.htda1004x.htda10071.htda10086.htda18271c2dd.htda665x.htda8083.htda8261.htda826x.hts2020.httusbbudget.hdec.htua6100.htunercx24113.hdib0070.hdib0090.hitd1000.husbusb.ha800.haf9005af9005.hremote.haf9015.haf9035.hanysee.hau6610.haz6007.haz6027.hce6230.hcinergyt2.hcxusb.hdib0700.hdib3000mc.hdibusbmb.hmc.hdigitv.hdtt200u.hdtv5100.hdw2102.hec168.hgl861.hgp8psk.hlme2510.hm920x.hmxl111sf.hnovatusb2.hopera1.hpctv452e.hrtl28xxu.htechnisatusb2.httusb2.humt010.hv2.hvp702x.hvp7045.hves1820.hves1x93.hzl10036.hzl10039.hzl10353.hdwdmacdmac.hcore.hdynamicdebug.hftraceftrace.hwithregs.he1000e.hearlyprintk.hedacedac.hatomicscrub.hcpc925.hlegacysysfs.hsupport.heeh.heeprom93cx6.hat24.hlegacy.hmax6875.hefipartition.helfcore.helfcore.henablemustcheck.henclosureservices.hencryptedkeys.henergymodel.henic.hepaprboot.hparavirt.hepoll.hethernet.hethoc.hethtoolnetlink.heventtracing.heventfd.hevmevm.hattrfsuuid.hexportfsexportfs.hblockops.hext4fsfs.hposixacl.hsecurity.hkunittests.huseforext2.hextrafirmware.htargets.hfadump.hfailover.hfairgroupsched.hfanotifyfanotify.haccesspermissions.hfatdefaultcodepage.hiocharset.hfs.hkunittest.hfbfb.hbacklight.hcfbcopyarea.hfillrect.himageblit.hcmdline.hdeferredio.hibmgxt4500.hmacmodes.hmatroxmatrox.hg.hmodehelpers.hnotify.hnvidianvidia.hbacklight.hof.hradeonradeon.hbacklight.hssd1307.hsyscopyarea.hfillrect.hfops.himageblit.htileblitting.hvga16.hfcappid.hfhandle.hfibrules.hfilelocking.hfipssignatureselftest.hfirewirefirewire.hnet.hohci.hsbp2.hfixedphy.hfm10k.hfont8x16.h8x8.hsupport.hforcemaxzoneorder.hsmp.hfortifysource.hframewarn.hframebufferconsoleconsole.hdeferredtakeover.hdetectprimary.hrotation.hfreezer.hfrontswap.hfsdaxdax.hpmd.hiomap.hmbcache.hposixacl.hfscachefscache.hstats.hfsnotify.hftraceftrace.hmcountrecord.hsyscalls.hfunctiongraphtracer.htracer.hfusefs.hfusionfusion.hlogging.hmaxsge.hsas.hspi.hfutexfutex.hpi.hfwloaderloader.hsysfs.huserhelper.hgactprob.hgarp.hgccversion.hgenericallocator.hbug.hclockeventsclockevents.hbroadcast.hcmosupdate.hcpucpu.hautoprobe.hvulnerabilities.hhweight.hiomap.hirqinjection.hmigration.hshowshow.hlevel.hisadma.hmsiirq.hnetutils.hpciiomap.hsmpidlethread.hstrncpyfromuser.hstrnlenuser.htimevsyscall.htracer.hgeneve.hgenwqegenwqe.hplatformerrorrecovery.hgfs2fsfs.hlockingdlm.hgigasetbase.hcapi.hm101.hm105.hglob.hgpiopca953x.hpcf857x.hsysfs.hviperboard.hgpiolibgpiolib.hfastpathlimit.hirqchip.hgraceperiod.hgrocells.hgve.hhangchecktimer.hhardenedusercopyusercopy.hfallback.hhardirqsswresend.hhardlockupdetector.hhasdma.hiomem.hioportmap.hhavearchauditsyscall.hjumplabel.hkgdb.hmmaprndbits.hcompatbits.hseccompfilter.hsoftdirty.htracehook.htransparenthugepage.hbootmeminfonode.hcontexttracking.hdebugkmemleak.hstackoverflow.hdynamicftraceftrace.hwithregs.hebpfjit.hefficientunalignedaccess.hfastgup.hftracemcountrecord.hfunctiongraphtracer.htracer.hgccplugins.hhardenedusercopyallocator.hhardlockupdetectorarch.hhwbreakpoint.hide.himakexec.hioremapprot.hirqexitonirqstack.htimeaccounting.hkernelgzip.hxz.hkprobeskprobes.honftrace.hkretprobes.hkvmeventfd.hirqbypass.hirqchip.hirqfd.hvcpuasyncioctl.hlddeadcodedataelimination.hlivepatch.hmemorypresent.hmemorylessnodes.hmodarchspecific.hnetdsa.hnminmi.hwatchdog.hoprofile.hoptprobes.hpcspkrplatform.hperfeventsevents.hnmi.hregs.huserstackdump.hregsandstackaccessapi.hreliablestacktrace.hrseq.hsetuppercpuarea.hstackprotector.hsyscalltracepoints.hvirtcpuaccountingaccounting.hgen.hhdlchdlc.hcisco.hfr.hppp.hraw.hhdmi.hheaderscheck.hhidhid.ha4tech.hacrux.happle.happleir.haureal.hbatterystrength.hbelkin.hcherry.hchicony.hcypress.hdragonrise.helan.helecom.hezkey.hgeneric.hgreenasia.hgyration.hholtek.hicade.hite.hjabra.hkensington.hkeytouch.hkye.hlcpower.hled.hlogitechlogitech.hdj.hhidpp.hmagicmouse.hmicrosoft.hmonterey.hmultitouch.hnti.hntrig.hortek.hpantherlord.hpetalynx.hpicolcdpicolcd.hbacklight.hcir.hfb.hlcd.hleds.hpid.hprimax.hprodikeys.hrmi.hroccat.hsaitek.hsamsung.hsmartjoyplus.hsony.hspeedlink.hsteelseries.hsunplus.hthingm.hthrustmaster.htivo.htopseed.htwinhan.huclogic.hwacom.hwaltop.hwiimote.hzeroplus.hzydacron.hhidraw.hhighrestimers.hhisax163.h1tr6.havma1pcmcia.hbkma4t.hdiehldiva.helsa.heuro.hfritzpcipnp.hgazel.hhfcsx.hhfc4s8s.hmaxcards.hni1.hniccy.hnokeypad.hllc.hsendcomplete.hs0box.hsctquadro.hsedlbauer.hst5481.hw6692.hhisttriggers.hhmmmirror.hhotplugcpu.hpcipci.hpowernv.hrparpa.hdlpar.hshpc.hhsaamdamd.hsvm.hhugetlbpagepage.hsizevariable.hhugetlbfs.hhvperfctrs.hhvcconsole.hdriver.hirq.hopal.hrtas.hhvcs.hhwconsole.hrandomrandom.hpowernv.hpseries.htimeriomem.htpm.hvirtio.hhwlattracer.hhwmonhwmon.hvid.hhwpoisoninject.hhwspinlock.hhysdnhysdn.hcapi.hhzhz.h100.hi2ci2c.halgobit.halgopca.hboardinfo.hchardev.hcompat.hdesignwarecore.hplatform.hdiolanu2c.hhelperauto.hmpc.hmuxmux.hmlxcpld.hnforce2.hopal.hparportparport.hlight.hpcaplatform.hsimtec.hsmbus.hstub.htinyusb.hviperboard.hi40ei40e.hdcb.hi40evf.hi6300esbwdt.hi8253lock.hiavf.hibmbsr.hibmveth.hibmvio.hibmvmc.hibmvnic.hiceice.hswitchdev.hicplusphy.hidlepagetracking.hieee802154ieee802154.h6lowpan.hdrivers.hfakelb.hsocket.hifb.hifcvf.higbigb.hhwmon.higbvf.higc.hikheaders.hillegalpointervalue.himaima.happraiseappraise.hbootparam.hmodsig.harchpolicy.hdefaulthashhash.hsha256.htemplate.hkexec.hlsmrules.hmeasurepcridx.hreadpolicy.hsecureandortrustedboot.hsigtemplate.htrustedkeyring.hwritepolicy.hinetinet.hah.hdiag.hespesp.hoffload.hespintcp.hipcomp.hmptcpdiag.hrawdiag.hsctpdiag.htcpdiag.htunnel.hudpdiag.hxfrmtunnel.hinet6ah.hespesp.hoffload.hespintcp.hipcomp.htunnel.hxfrmtunnel.hinfinibandinfiniband.haddrtranstrans.hconfigfs.hbnxtre.hcxgb4.hipoibipoib.hcm.hdebug.hirdma.hiser.hisert.hondemandpaging.hqedr.hsrp.hsrpt.huseraccess.hmad.hmem.hvirtdma.hinitenvarglimit.hinitramfssource.hinlinereadunlockunlock.hirq.hspinunlockirq.hwriteunlockunlock.hirq.hinotifyuser.hinputinput.hatiremote2.hcm109.hevdev.hffmemless.hgpiorotaryencoder.hkeyboard.hkeyspanremote.hleds.hmisc.hmouse.hmousedevmousedev.hscreenx.hy.hpolldev.hpowermate.hpwmbeeper.hsparsekmap.htablet.htouchscreen.huinput.hyealink.hintegrityintegrity.hasymmetrickeys.haudit.hplatformkeyring.hsignature.htrustedkeyring.hintelxwayphy.hintervaltree.hioeventirq.hiommuapi.hdefaultdmastrict.hhelper.hiova.hsupport.hionic.hioschedbfq.hipadvancedrouter.hfibtriestats.hmroutemroute.hcommon.hmultipletables.hmulticast.hmultipletables.hnfarpmangle.harpfilter.harptables.hfilter.hiptables.hmangle.hmatchah.hecn.hrpfilter.httl.hnat.hraw.hsecurity.htargetecn.hmasquerade.hnetmap.hredirect.hreject.hsynproxy.httl.hpimsmv1.hv2.hrouteclassid.hmultipath.hverbose.hsctp.hsetset.hbitmapip.hipmac.hport.hhaship.hipmac.hipmark.hipport.hipportip.hipportnet.hmac.hnet.hnetiface.hnetnet.hnetport.hnetportnet.hlistset.hmax.hvsvs.hdh.hfo.hftp.hipv6.hlblc.hlblcr.hlc.hmhmh.htabindex.hnfct.hnq.hovf.hpesip.hprotoahah.hesp.hesp.hsctp.htcp.hudp.hrr.hsed.hshsh.htabbits.htabbits.hwlc.hwrr.hip6nffilter.hiptables.hmangle.hmatchah.heui64.hfrag.hhl.hipv6header.hmh.hopts.hrpfilter.hrt.hnat.hraw.hsecurity.htargetmasquerade.hnpt.hreject.hsynproxy.hipcns.hipmideviceinterface.hhandler.hpanicevent.hstring.hplatdata.hpowernv.hpoweroff.hsi.hssif.hwatchdog.hipppfilter.hipv6ipv6.hgre.hmip6.hmroutemroute.hmultipletables.hmultipletables.hndiscnodetype.hoptimisticdad.hpimsmv2.hrouteinfo.hrouterpref.hsitsit.h6rd.htunnel.hvti.hipvlan.hipvtap.hirgpiocir.htx.higuana.himonimon.hdecoder.hraw.hjvcdecoder.hmcekbddecoder.hmceusb.hnecdecoder.hpwmtx.hrc5decoder.hrc6decoder.hredrat3.hsanyodecoder.hserialserial.htransmitter.hsir.hsonydecoder.hstreamzap.httusbir.hirqallcpus.hbypassmanager.hdomain.hforcedthreading.hpoll.hwork.hirqchip.hisadmaapi.hiscsibootsysfs.htargettarget.hcxgb4.htcp.hisdnisdn.haudio.hcapicapi.hcapi20.hcapidrvcapidrv.hverbose.hmiddleware.hdiversion.hdrvavmb1b1pci.hb1pciv4.hc4.ht1pci.hgigaset.hhisax.hhdlc.hi4l.hmpp.hpppppp.hvj.httyfax.hisl29003.hisl29020.hiso9660fs.hixgbeixgbe.hdcb.hhwmon.hipsec.hixgbevfixgbevf.hipsec.hjbd2.hjoliet.hjumplabellabel.hfeaturechecks.hkallsymskallsyms.hall.hbaserelative.hkarmapartition.hkdbcontinuecatastrophic.hdefaultenable.hkeyboard.hkernelkernel.releasegzip.hstart.hkernfs.hkexeckexec.hcore.hfile.hkeyboardatkbd.hkeyskeys.hcompat.hkgdbkgdb.hkdb.hserialconsole.htests.hkprobeevents.hkprobeskprobes.honftrace.hkretprobes.hksm.hkunitkunit.halltests.hdebugfs.hexampletest.htest.hkvmkvm.hbook3s6464.hhandler.hhv.hhandler.hhvpossible.hcompat.hguest.hvfio.hxics.hxive.hl2tpl2tp.hdebugfs.heth.hip.hv3.hlcdclassdevice.hplatform.hledtriggerphy.hledsblinkm.hbrightnesshwchanged.hclass.hlm3530.hlp3944.hlp5521.hlp5523.hlp5562.hlp55xxcommon.hlt3593.hmlxreg.hpowernv.htriggerbacklight.hcamera.hdefaulton.hdisk.hgpio.hheartbeat.honeshot.htimer.htransient.htriggers.hlibcrc32c.hlibfc.hlibfcoe.hlibfdt.hlibnvdimm.hlinearrangesranges.hkunittest.hliquidioliquidio.hvf.hlirc.hlistkunittest.hlivepatch.hllc.hloadppckeys.hlocalversion.hlockdebuggingsupport.hdownkernel.hspinonowner.htorturetest.hlockdlockd.hv4.hlockdepsupport.hlockupdetector.hlogbufshift.hcpumaxbufshift.hlogitechff.hlogologo.hlinuxclut224.hloopbacktarget.hlparcfg.hlsiet1011cphy.hlsmlsm.hmmapminaddr.hlwtunnellwtunnel.hbpf.hlxtphy.hlz4decompress.hlzocompress.hdecompress.hmacemumousebtn.hpartition.hmac802154.hmacintoshdrivers.hmacsec.hmacvlan.hmacvtap.hmagicsysrqsysrq.hdefaultenable.hserial.hmantiscore.hmarvell10gphy.hphy.hmaxrawdevs.hmaxlineargphy.hmdmd.hautodetect.hcluster.hfaulty.hlinear.hraid0.hraid1.hraid10.hraid456.hmdiomdio.hbcmunimac.hbitbang.hbus.hcavium.hdevice.hgpio.hhisifemac.hmsccmiim.hocteon.hthunder.hmediaalteraci.hanalogtvsupport.hattach.hcamerasupport.hcecsupport.hcommonoptions.hdigitaltvsupport.hpcisupport.hradiosupport.hsubdrvautoselect.hsupport.htunertuner.he4000.hfc0011.hfc0012.hfc0013.hfc2580.hit913x.hm88rs6000t.hmax2165.hmc44s803.hmt2060.hmt2063.hmt20xx.hmt2131.hmt2266.hmxl5005s.hmxl5007t.hqm1d1b0004.hqm1d1c0042.hqt1010.hr820t.hsi2157.hsimple.htda18212.htda18218.htda18250.htda18271.htda827x.htda8290.htda9887.htea5761.htea5767.htua9001.hxc2028.hxc4000.hxc5000.husbsupport.hmegaraidsas.hmemsoftdirty.hmembarrier.hmemcgmemcg.hkmem.hswap.hmemcpykunittest.hmemfdcreate.hmemoryballoon.hfailure.hhotplug.hhotremove.hisolation.hmemregion.hmemstickmemstick.hjmicron38x.hr592.hrealtekpci.htifmms.hmessagelogleveldefault.hmfdcore.hsm501sm501.hgpio.hviperboard.hvx855.hmhibusbus.hpcigeneric.hmicrelphy.hmicrochipphy.ht1phy.hmicrosemiphy.hmigration.hmii.hminixsubpartition.hmiscfilesystems.hrtsxrtsx.hpci.husb.hmisdnmisdn.havmfritz.hdsp.hhfcmulti.hhfcpci.hhfcusb.hinfineon.hipac.hisar.hl1oip.hnetjet.hspeedfax.hw6692.hmlx4core.hdebug.henen.hdcb.hinfiniband.hmlx5bridge.hclsact.hcorecore.henen.hdcb.hipoib.henarfs.hipsec.hrxnfc.htls.heswitch.hfpga.hinfiniband.hmpfs.hsfsf.hmanager.hswsteering.htcct.hsample.hvdpavdpa.hnet.hmlxfw.hmlxswcorecore.hhwmon.hthermal.hi2c.hminimal.hpci.hspectrumspectrum.hdcb.hswitchib.hswitchx2.hmmcmmc.hblockblock.hminors.hcb710.hcqhci.hrealtekpci.husb.hricohmmc.hsdhcisdhci.hpci.hpltfm.htifmsd.hushc.hviasdmmc.hvub300.hmmiowb.hmmummu.hgathermergevmas.hpagesize.hrcutablefree.htablefree.hnotifier.hmoduleforceload.hrelcrcs.hsigsig.hall.hformat.hhash.hkey.hsha256.hsrcversionall.hunload.hmodulesmodules.htreelookup.huseelfrela.hmodversions.hmouseappletouch.hbcm5974.hcyapa.helani2ci2c.hi2c.hsmbus.hps2ps2.halps.hbyd.hcypress.helantechelantech.hsmbus.hfocaltech.hlogips2pp.hsentelic.hsmbus.hsynapticssynaptics.hsmbus.htrackpoint.hserial.hsynapticsi2c.husb.hvsxxxaa.hmpic.hmpilib.hmplsmpls.hiptunnel.hrouting.hmprofilekernel.hmptcpmptcp.hipv6.hkunittest.hmqioscheddeadline.hkyber.hmrp.hmsdosfs.hpartition.hmsibitmapselftest.hmsproblock.hmtdmtd.hcfii1.hi2.hmapbankwidth1.h2.h4.hofparts.hpowernvflash.hubiubi.hbeblimit.hwlthreshold.hmultiuser.hmutexspinonowner.hmyri10ge.hngsm.hhdlc.hnamespaces.hnationalphy.hndblk.hbtt.hclaim.hpfn.hneeddmamapstate.hmultiplenodes.hpercpuembedfirstchunk.hsgdmalength.hnetnet.hactbpf.hcsum.hct.hgact.hmirred.hmpls.hnat.hpedit.hpolice.hsample.hsimp.hskbedit.hskbmod.htunnelkey.hvlan.hclscls.hact.hbasic.hbpf.hcgroup.hflow.hflower.hfw.hmatchall.hroute4.hrsvp.hrsvp6.htcindex.hu32.hcore.hdevlink.hdropmonitor.hegress.hematchematch.hcmp.hipset.hmeta.hnbyte.hstack.htext.hu32.hfailover.hfc.hflowlimit.hingress.hiptunnel.hipgreipgre.hbroadcast.hdemux.hipip.hipvti.hkeykey.hmigrate.hl3masterdev.hmplsgso.hns.hnsh.hpacketengine.hpktgen.hpollcontroller.hptpclassify.hredirect.hrxbusypoll.hschatm.hcbq.hcbs.hchoke.hcodel.hdefault.hdrr.hdsmark.hets.hfifo.hfqfq.hcodel.hgred.hhfsc.hhhf.hhtb.hingress.hmqprio.hmultiq.hnetem.hpie.hplug.hprio.hqfq.hred.hsfb.hsfq.htbf.hteql.hsched.hsockmsg.hswitchdev.htcskbext.hteamteam.hmodeactivebackup.hbroadcast.hloadbalance.hrandom.hroundrobin.hudptunnel.hvendoramazon.haquantia.hatheros.hbroadcom.hbrocade.hcavium.hchelsio.hcisco.hdec.hemulex.hgoogle.hibm.hintel.hmellanox.hmicrosoft.hmyri.hnetronome.hoki.hpensando.hqlogic.hrealtek.hrocker.hsolarflare.hvrf.hnetconsolenetconsole.hdynamic.hnetdevices.hnetdevsim.hnetfilternetfilter.hadvanced.hconncount.hfamilyarp.hbridge.hingress.hnetlinknetlink.hgluect.hlog.hqueue.hsynproxy.hxtconnmark.hmark.hmatchaddrtype.hbpf.hcgroup.hcluster.hcomment.hconnbytes.hconnlabel.hconnlimit.hconnmark.hconntrack.hcpu.hdccp.hdevgroup.hdscp.hecn.hesp.hhashlimit.hhelper.hhl.hiprange.hipvs.hlength.hlimit.hmac.hmark.hmultiport.hosf.howner.hphysdev.hpkttype.hpolicy.hquota.hrateest.hrealm.hrecent.hsctp.hsocket.hstate.hstatistic.hstring.htcpmss.hu32.hnat.hset.htargetaudit.hchecksum.hclassify.hconnmark.hconnsecmark.hct.hdscp.hhl.hhmark.hidletimer.hlog.hmark.hnetmap.hnflog.hnfqueue.hnotrack.hrateest.hredirect.hsecmark.htcpmss.htcpoptstrip.htee.htproxy.htrace.hxtables.hnetlabel.hnetlinkdiag.hnetpoll.hnetworkfilesystems.hphytimestamping.hsecmark.hnetxennic.hnewleds.hnfconntrackconntrack.hamanda.hbroadcast.hevents.hftp.hh323.hirc.hlabels.hmark.hnetbiosns.hpptp.hprocfs.hsane.hsecmark.hsip.hsnmp.htftp.htimeout.htimestamp.hzones.hctnetlinknetlink.hhelper.htimeout.hprotodccp.hgre.hsctp.hudplite.hdefragipv4.hipv6.hdupipv4.hipv6.hnetdev.hflowtabletable.hinet.hipv4.hipv6.hlogarp.hipv4.hipv6.hsyslog.hnatnat.hamanda.hftp.hh323.hirc.hmasquerade.hneeded.hpptp.hredirect.hsip.hsnmpbasic.htftp.hosf.hrejectipv4.hipv6.hsocketipv4.hipv6.htablestables.harp.hbridge.hinet.hipv4.hipv6.hnetdev.hset.htproxyipv4.hipv6.hnfpnfp.happabmnic.hflower.hnfsaclsupport.hcommon.hdebug.hfs.hfscache.husekerneldns.hv3v3.hacl.hv4v4.h11.himplementationiddomain.h2.hsecuritylabel.hnfsdnfsd.hpnfs.hscsilayout.hv2acl.hv3v3.hacl.hv4v4.hsecuritylabel.hnftbridgereject.hcompat.hconnlimit.hcounter.hct.hdupipv4.hipv6.hnetdev.hfibfib.hinet.hipv4.hipv6.hnetdev.hflowoffload.hfwdnetdev.hhash.hlimit.hlog.hmasq.hnat.hnumgen.hobjref.hqueue.hquota.hredir.hrejectreject.hinet.hipv4.hipv6.hsocket.htproxy.hxfrm.hnlattr.hnlmon.hnlsnls.hascii.hcodepage1250.h1251.h437.h737.h775.h850.h852.h855.h857.h860.h861.h862.h863.h864.h865.h866.h869.h874.h932.h936.h949.h950.hdefault.hiso88591.h13.h14.h15.h2.h3.h4.h5.h6.h7.h8.h9.hkoi8r.hu.hmacceltic.hcenteuro.hcroatian.hcyrillic.hgaelic.hgreek.hiceland.hinuit.hroman.hromanian.hturkish.hutf8.hnmiipi.hnohzhz.hcommon.hfull.hnodesshift.hnonstatickernel.hnoptracer.hnouveaudebugdebug.hdefault.hnozomi.hnrcpus.hirqs.hnumanuma.hbalancingbalancing.hdefaultenabled.hkeepmeminfo.hnvdimmdax.hkeys.hpfn.hnvmecore.hfabrics.hfc.hmultipath.hrdma.htargettarget.hfc.hfcloop.hloop.hrdma.htcp.htcp.hverboseerrors.hnvmem.hobjagg.hocxlocxl.hbase.hofof.haddress.hdynamic.hearlyflattree.hflattree.hgpio.hiommu.hirq.hkobj.hmdio.hnet.hpmem.hreservedmem.hoidregistry.holdsigsuspend.hopalcore.hprd.hopenvswitchopenvswitch.hgeneve.hgre.hvxlan.hoprofile.hoptprobes.hosfpartition.hosnoisetracer.hoverlayfs.hpacketpacket.hdiag.hpadata.hpagecounter.hextension.hoffset.howner.hpoisoning.hpool.hreporting.hpaniconoopsoops.hvalue.htimeout.hpaprscm.hparman.hparportparport.h1284.hnotpc.hpc.hserial.hpartitionadvanced.hpataofplatform.hplatform.hpccard.hpcipci.hats.hdomains.hiov.hmsimsi.harchfallbacks.hpasid.hpri.hquirks.hstub.hsyscall.hpciedpc.hecrc.hpme.hpcieaerpcieaer.hinject.hpcieaspmpcieaspm.hdefault.hpcieportbus.hpcipcwatchdog.hpcspkrplatform.hperfevents.hpersistentkeyrings.hpgtablelevels.hphylib.hphysaddrt64bit.hphysicalstart.hpidns.hpkcs7messageparser.hpldmfw.hpluginhostcc.hpmpm.hdebug.hgenericdomainsdomains.hof.hsleep.hsleepsleep.hdebug.hsmpsmp.hnonzerocpu.hpmbus.hpmusysfs.hpnfsblock.hfilelayout.hflexfilelayout.hposixmqueuemqueue.hsysctl.htimers.hpowerresetreset.hgpio.hsupply.hpowernvcpufreq.hcpuidle.hoppanel.hppcppc.h64kpages.hbarriernospec.hbook3sbook3s.h64.hcoprobase.hdawr.hdenormalisation.hdisablewerror.hdoorbell.hdtcpuftrs.hemulatedstats.hfpu.hhavepmusupport.hi8259.hicphv.hnative.hicsrtas.hindirectpio.hmemkeys.hmmslices.hmsibitmap.hnative.hofboottrampoline.hp7nap.hperfctrs.hpowernv.hpseries.hradixmmummu.hdefault.hrtasrtas.hdaemon.hfilter.hscom.hsecureboot.hsecvarsysfs.hsmlpar.hsmpmuxedipi.hsplpar.hstdmmu.hsubpageprot.hsvm.htransactionalmem.hudbg16550.huv.hvas.hwatchdog.hxics.hxivexive.hnative.hspapr.hppc64ppc64.hbootwrapper.hsupportsmemoryfailure.hppdev.hpppppp.hasync.hbsdcomp.hdeflate.hfilter.hmppe.hmultilink.hsynctty.hpppoatm.hpppoe.hpppol2tp.hppspps.hclientgpio.hldisc.hparport.hpptp.hpreemptnotifiers.hvoluntary.hpreventfirmwarebuild.hprintquotawarning.hstackdepth.hprinter.hprintkprintk.hnmi.hsafelogbufshift.htime.hprobeevents.hprocchildren.hevents.hfs.hkcore.hpagemonitor.hpidcpuset.hsysctl.hvmcorevmcore.hdevicedump.hprofiling.hpsample.hpseriescpuidle.henergy.hpsipsi.hdefaultdisabled.hpstorepstore.hcompresscompress.hdefault.hdeflatecompresscompress.hdefault.hram.hptp1588clock.hpwmpwm.hsysfs.hqedqed.hfcoe.hiscsi.hll2.hooo.hrdma.hsriov.hqede.hqedf.hqedi.hqfmtv2.hqsemiphy.hquotaquota.hnetlinkinterface.htree.hquotactl.hr8169.hradioadapters.htea575x.hraidattrs.hraid6pqpq.hbenchmark.hrandomtrustcpu.hras.hrational.hrawdriver.hrcatiremote.hcore.hdecoders.hdevices.hmap.hrcucpustalltimeout.hneedsegcblist.hnocbcpu.hstallcommon.hrdbzip2.hgzip.hlz4.hlzma.hlzo.hxz.hrdmarxe.hsiw.hrealtekautopm.hphy.hreedsolomonsolomon.hdec8.henc8.hregmapregmap.hi2c.hrelay.hrelocatable.hrenesasphy.hresourcekunittest.hrfkillrfkill.hinput.hleds.hrfsaccel.hrhkabisizealignchecks.hrheldifferences.hringbufferbuffer.hallowswap.hbenchmark.hrmi42dsensor.hcore.hf03f03.hserio.hf11.hf12.hf30.hf34.hf3a.hf55.hi2c.hsmb.hrockchipphy.hrocker.hrpcsecgsskrb5.hrps.hrseq.hrtgroupsched.hmutexes.hrtaserrorlogging.hflash.hproc.hrtcclass.hdrvbq32k.hbq4802.hcmos.hds1286.hds1307.hds1374.hds1511.hds1553.hds1672.hds1742.hds2404.hds3232ds3232.hhwmon.hem3027.hfm3130.hgeneric.hisl12022.hisl1208.hm41t80m41t80.hwdt.hm48t35.hm48t59.hmax6900.hmsm6242.hopal.hpcf8523.hpcf8563.hpcf8583.hrp5c01.hrs5c372.hrv3029c2.hrx8025.hrx8581.hstk17ta8.hv3020.hx1205.hhctosyshctosys.hdevice.hi2candspi.hintfdev.hproc.hsysfs.hlib.hmc146818lib.hnvmem.hruntimetestingmenu.hrwsemspinonowner.hsamples.hsataahciahci.hplatform.hhost.hmobilelpmpolicy.hpmp.hsbitmap.hscanlog.hscftorturetest.hschedautogroup.hdebug.hhrtick.hinfo.homitframepointer.hsmt.htracer.hschedstats.hscomdebugfs.hscsiscsi.haacraid.hbnx2iscsi.hbnx2xfcoe.hchelsiofcoe.hconstants.hcxgb4iscsi.hdebug.hdhdh.halua.hemc.hhpsw.hrdac.hdma.henclosure.hfcattrs.hhpsa.hibmvfcibmvfc.htrace.hibmvscsi.hibmvscsis.hipripr.hdump.htrace.hiscsiattrs.hlogging.hlowlevel.hlpfc.hmod.hmpi3mr.hmpt2sasmpt2sas.hmaxsge.hmpt3sasmpt3sas.hmaxsge.hnetlink.hprocfs.hqlafc.hiscsi.hsasata.hattrs.hhostsmp.hlibsas.hscanasync.hsmartpqi.hspiattrs.hsrpattrs.hvirtio.hsctpcookiehmacmd5.hsha1.hdefaultcookiehmacsha1.hsdiouart.hseccompseccomp.hfilter.hsectionmismatchwarnonly.hsecuritysecurity.hinfiniband.hnetworknetwork.hxfrm.hpath.hselinuxselinux.havcstats.hbootparam.hcheckreqprotvalue.hdevelop.hdisable.hsid2strcachesize.hsidtabhashbits.hwritablehooks.hyama.hsecurityfs.hselectmemorymodel.hsensorsad7414.had7418.hadm1021.hadm1025.hadm1026.hadm1029.hadm1031.hadm1275.hadm9240.hads1015.hads7828.hadt7410.hadt7411.hadt7462.hadt7470.hadt7475.hadt7x10.hamc6821.hapds990x.hasc7621.hatxp1.hbh1770.hds1621.hds620.hemc1403.hemc6w201.hf75375s.hg760a.hgl518sm.hgl520sm.hibmaem.hibmpex.hibmpowernv.hina209.hina2xx.hjc42.hlineage.hlis3i2c.hlis3lv02d.hlm25066.hlm63.hlm73.hlm75.hlm77.hlm78.hlm80.hlm83.hlm85.hlm87.hlm90.hlm92.hlm93.hlm95234.hlm95241.hlm95245.hltc2978.hltc4151.hltc4215.hltc4245.hltc4261.hmax16064.hmax16065.hmax1619.hmax1668.hmax197.hmax34440.hmax6639.hmax6642.hmax6650.hmax6697.hmax8688.hmcp3021.hntcthermistor.hpcf8591.hpmbus.hsht15.hsht21.hsis5595.hsmsc47m192.hthmc50.htmp102.htmp401.htmp421.htsl2550.hucd9000.hucd9200.hvia686a.hvt8231.hw83781d.hw83791d.hw83792d.hw83793.hw83795.hw83l785ts.hw83l786ng.hzl6100.hserial82508250.hconsole.hdma.hexar.hextended.hfsl.hmanyports.hnruarts.hpci.hrsa.hruntimeuarts.hshareirq.harcarc.hnrports.hcorecore.hconsole.hearlycon.hicom.hjsm.hnonstandard.hofplatform.huartliteuartlite.hnruarts.hserioserio.halteraps2.harcps2.hi8042.hlibps2.hraw.hserport.hsfcsfc.hmcdilogging.hmon.hmtd.hsienasiena.hmcdilogging.hmon.hmtd.hsriov.hsriov.hsgpool.hsgetmasksyscall.hsgipartition.hsglalloc.hshmem.hshufflepageallocator.hsignalfd.hsignature.hsimplegpio.hskbextensions.hslabfreelisthardened.hrandom.hslhc.hslipslip.hcompressed.hsmart.hslubslub.hcpupartial.hdebug.hkunittest.hsmp.hsmssdiodrv.hsianomdtv.hrc.husbdrv.hsmscphy.hsndsnd.hac97codec.hpowersavesave.hdefault.had1889.hali5451.haloop.hatiixpatiixp.hmodem.hau8810.hau8820.hau8830.hbcd2000.hbebob.hbt87x.hca0106.hcmipci.hcs46xxcs46xx.hnewdsp.hctlfastlookup.hctxfi.hdarla20.hdarla24.hdice.hdrivers.hdummy.hdynamicminors.hecho3g.hemu10k1emu10k1.hseq.hemu10k1x.hens1370.hens1371.hes1968es1968.hinput.hradio.hfireface.hfirewirefirewire.hdigi00x.hlib.hmotu.htascam.hfireworks.hgina20.hgina24.hhdapreallocsize.hhdsp.hhdspm.hhrtimer.hhwdep.hice1712.hice1724.hindigo.hindigodj.hindigodjx.hindigoio.hindigoiox.hintel8x0.hintel8x0m.hisight.hjackjack.hinputdev.hkorg1212.hlayla20.hlayla24.hlola.hlx6464es.hmaestro3maestro3.hinput.hmaxcards.hmia.hmixart.hmona.hmpu401mpu401.huart.hmtpav.hopl3liblib.hseq.hossemul.hoxfw.hoxygenoxygen.hlib.hpci.hpcmpcm.htimer.hpcxhr.hppc.hprocfs.hrawmidi.hrme32.hrme96.hrme9652.hseqdevice.hdummy.hhrtimerdefault.hmidimidi.hemul.hevent.hvirmidi.hsequencersequencer.hoss.hsynthemux.htimer.htrident.husbusb.h6fire.haudio.hcaiaqcaiaq.hinput.hhiface.hline6.hpod.hpodhd.htoneport.hua101.husx2y.hvariax.hverboseprocfs.hvia82xxvia82xx.hmodem.hvirmidi.hvirtio.hvirtuoso.hvmaster.hvxlib.hvx222.hsockcgroupdata.hvalidatexmit.hsoftwatchdog.hsoftlockupdetector.hsolarisx86partition.hsoundsound.hosscorecore.hpreclaim.hspaprtceiommu.hsparseirq.hsparsememsparsemem.hextreme.hmanual.hvmemmapvmemmap.henable.hsplitptlockcpus.hsquashfssquashfs.hdecompmultipercpu.hfiledirect.hfragmentcachesize.hlzo.hxattr.hxz.hzlib.hsrcu.hssbpossible.hstacktracer.hstackdepot.hstackprotectorstackprotector.hstrong.hstacktracestacktrace.hsupport.hstandalone.hste10xp.hstp.hstreamparser.hstrictdevmem.hstripasmsyms.hsunpartition.hsunrpcsunrpc.hbackchannel.hdebug.hgss.hxprtrdma.hsuspendsuspend.hfreezer.hswap.hswiotlb.hswphy.hsymbolicerrname.hsyncookies.hsyncfile.hsynclinksynclink.hgt.hsynclinkmp.hsyssupportshugetlbfs.hsysctlsysctl.hexceptiontrace.hkunittest.hsysfssysfs.hsyscall.hsystemblacklisthashlist.hkeyring.hdataverification.hextracertificatecertificate.hsize.htrustedkeyring.hkeys.hsysvipcsysvipc.hcompat.hsysctl.htabletserialwacom4.husbacecad.haiptek.hgtco.hkbtab.htap.htargetcore.htaskdelayacct.hioaccounting.hxacct.htasksrcugeneric.hrudercu.htracercu.htaskstats.htcgibmvtpm.htistis.hcore.hi2catmel.hinfineon.hnuvoton.hst33zp24st33zp24.hi2c.htpm.htcmfileio.hiblock.hpscsi.huser2.htcpcongadvanced.hbbr.hbic.hcubic.hdctcp.hhstcp.hhtcp.hhybla.hillinois.hlp.hnv.hscalable.hvegas.hveno.hwestwood.hyeah.hmd5sig.hteraneticsphy.htestbpf.hhmm.hkstrtox.hlistsort.hlivepatch.hvmalloc.htextsearchtextsearch.hbm.hfsm.hkmp.hthermalthermal.hdefaultgovstepwise.hemergencypoweroffdelayms.hgovfairshare.hstepwise.hhwmon.hof.hthreadshift.htickoneshot.htifm7xx1.hcore.htigon3tigon3.hhwmon.htimerfd.htimerlattracer.htipctipc.hcrypto.hdiag.hmediaib.hudp.htlstls.hdevice.htmpfstmpfs.hposixacl.hxattr.htorturetest.htouchscreenelo.hproperties.hwacomi2c.hw8001.htraceclock.hirqflagssupport.htracepoints.htracermaxtrace.hsnapshot.htracingtracing.hmap.hsupport.htransparenthugepagehugepage.hmadvise.htreercu.hsrcu.htristate.conftrustedkeys.httpcieeprom.htty.htuntun.hvnetcrossle.htypectypec.hdpaltmode.hfusb302.hmuxpi3usb30532.hrt1711h.htcpci.htcpm.htps6598x.hucsi.hudffs.huhid.huiouio.haec.hcif.hpcigeneric.hpdrvgenirq.hsercos3.hunixunix.hdiag.hscm.hunix98ptys.hunixwaredisklabel.huprobeevents.huprobes.husbusb.hacm.hadutux.halim5632.han2720.hannouncenewdevices.happledisplay.harchhashcd.harmlinux.hatm.hautosuspenddelay.hbelkin.hcatc.hcommon.hcxacru.hdefaultpersist.hehcihcdhcd.hppcof.hpci.hroothubtt.httnewsched.hemi26.hemi62.hepson2888.hezusbfx2.hftdielan.hgl860.hgspcagspca.hbenq.hconex.hcpia1.hetoms.hfinepix.hjeilinj.hjl2005bcd.hkonica.hmars.hmr97310a.hnw80x.hov519.hov534ov534.h9.hpac207.hpac7302.hpac7311.hse401.hsn9c2028.hsn9c20x.hsonixb.hsonixj.hspca1528.hspca500.hspca501.hspca505.hspca506.hspca508.hspca561.hsq905.hsq905c.hsq930x.hstk014.hstv0680.hsunplus.ht613.htopro.htv8532.hvc032x.hvicam.hxirlinkcit.hzc3xx.hhid.hhiddev.hhsicusb3503.hhso.hhwahcd.hidmouse.hiowarrior.hipheth.hisightfw.hkaweth.hkc2190.hlan78xx.hlcd.hld.hledstriggerusbport.hlegotower.hm5602.hmdc800.hmicrotek.hmon.hnetax88179178a.hax8817x.hcdceem.hmbim.hncm.hsubsetsubset.henable.hcdcether.hch9200.hcx82310eth.hdm9601.hdrivers.hgl620a.hint51x1.hkalmia.hmcs7830.hnet1080.hplusb.hqmiwwan.hrndishost.hsmsc75xx.hsmsc95xx.hzaurus.hohcibigendiandesc.hmmio.hhcdhcd.hpci.hppcofof.hbe.hle.hlittleendian.hpci.hpegasus.hprinter.hpulse8cec.hpwcpwc.hinputevdev.hrainshadowcec.hroleswitch.hrtl8150.hrtl8152.hs2255.hserialserial.haircable.hark3116.hbelkin.hch341.hconsole.hcp210x.hcyberjack.hcypressm8.hdebug.hdigiacceleport.hedgeportedgeport.hti.hempeg.hf8153x.hftdisio.hgarmin.hgeneric.hipaq.hipw.hir.hiuu.hkeyspankeyspan.hpda.hklsi.hkobilsct.hmctu232.hmos7715parport.hmos7720.hmos7840.hmxuport.hnavman.homninet.hopticon.hoption.hoti6858.hpl2303.hqcaux.hqt2.hqualcomm.hsafesafe.hpadded.hsierrawireless.hspcp8x5.hssu100.hsymbol.hti.hupd78f0730.hvisor.hwhiteheat.hwwan.hxircom.hxsensmt.hsevseg.hsierranet.hsisusbvga.hspeedtouch.hstkwebcam.hstoragestorage.halauda.hcypressatacb.hdatafab.heneub6250.hfreecom.hjumpshot.hkarma.honetouch.hrealtek.hsddr09.hsddr55.husbat.hstv06xx.hsupport.htmc.huas.hueagleatm.huhcihcd.husbnet.huss720.hvideoclassclass.hinputevdev.hvl600.hwdm.hwusbwusb.hcbaf.hxhcihcd.hpci.hxusbatm.hzr364xx.husb4usb4.hnet.husbpcwatchdog.husepercpunumanodeid.huserns.huserfaultfd.hutsns.huwbuwb.hhwa.hi1480u.hwhci.hvdpavdpa.hsimsim.hblock.hnet.hveth.hvfatfs.hvfiovfio.hiommuspaprtce.hpcipci.hintx.hmmap.hnvlink2.hspapreeh.hvirqfd.hvgaarbarb.hmaxgpus.hconsole.hvgastate.hvhostvhost.hcrossendianlegacy.hiotlb.hmenu.hnet.hring.hvdpa.hvsock.hvideoau0828au0828.hv4l2.hbt848.hcs3308.hcs5345.hcs53l32a.hcx18cx18.halsa.hcx231xxcx231xx.halsa.hdvb.hrc.hcx2341x.hcx23885.hcx25840.hcx88cx88.halsa.hblackbird.hdvb.hmpeg.hdev.hem28xxem28xx.halsa.hdvb.hrc.hfbivtv.hhdpvr.hiri2c.hivtv.hm52790.hmsp3400.hpvrusb2pvrusb2.hdvb.hsysfs.hsaa6588.hsaa6752hs.hsaa711x.hsaa7127.hsaa7134saa7134.halsa.hdvb.hrc.hsaa7146saa7146.hvv.hsaa7164.hsaa717x.htda7432.htm6000tm6000.halsa.hdvb.htuner.htvaudio.htveeprom.hupd64031a.hupd64083.husbvision.hv4l2.hvp27smpx.hwm8739.hwm8775.hvideobufdmasg.hgen.hvmalloc.hvideobuf2core.hdmasg.hdvb.hmemops.hv4l2.hvmalloc.hvirtcpuaccountingaccounting.hgen.hdrivers.hvirtiovirtio.hballoon.hblk.hconsole.hfs.hinput.hmenu.hnet.hpcipci.hlegacy.hlib.hvdpa.hvsocketsvsockets.hcommon.hvirtualization.hvitessephy.hvlan8021q8021q.hgvrp.hmvrp.hvmeventcounters.hvpvdpa.hvsocketsvsockets.hdiag.hloopback.hvsockmon.hvsx.hvtvt.hconsoleconsole.hsleep.hhwconsolebinding.hvxlan.hwan.hwantdevcoredump.hwatchdogwatchdog.hcore.hhandlebootenabled.hopentimeout.hrtas.hsysfs.hwdtpci.hx509certificateparser.hxarraymulti.hxdpsocketssockets.hdiag.hxfrmxfrm.halgo.hespintcp.hinterface.hipcomp.hmigrate.hoffload.hstatistics.hsubpolicy.huser.hxfsfs.hposixacl.hquota.hxilinxgmii2rgmii.hxmonxmon.hdefaultromode.hdisassembly.hxorblocks.hxps.hxzdecdec.harm.harmthumb.hbcj.hia64.hpowerpc.hsparc.hx86.hyentayenta.henetune.ho2.hricoh.hti.htoshiba.hzbud.hzisofs.hzlibdeflate.hinflate.hzonedevice.hdma.hdma32.hzpool.hzramzram.hwriteback.hzsmalloczsmalloc.hstat.hzswap.hcryptoacompress.haead.haes.hakcipher.halgapi.harc4.hauthenc.hb128ops.hblowfish.hcast5.hcast6.hcast_common.hcbc.hchacha20.hcryptd.hcrypto_wq.hctr.hdes.hdh.hdrbg.hecdh.hengine.hgcm.hgf128mul.hghash.hhash.hhash_info.hhmac.hif_alg.hinternalacompress.haead.hakcipher.hgeniv.hhash.hkpp.hrng.hrsa.hscompress.hsimd.hskcipher.hkpp.hmcryptd.hmd5.hmorus1280_glue.hmorus640_glue.hmorus_common.hnull.hpadlock.hpcrypt.hpkcs7.hpoly1305.hpublic_key.hrng.hscatterwalk.hserpent.hsha.hsha1_base.hsha256_base.hsha3.hsha512_base.hskcipher.hsm3.hsm3_base.hsm4.hspeck.htwofish.hxts.hdrmdrm-backportREADME.txtlinuxmmu_notifier.hamd_asic_type.hbridgeanalogix_dp.hdw_hdmi.hdw_mipi_dsi.hmhl.hdisplaydrm_dp.hdrm_dp_aux_bus.hdrm_dp_dual_mode_helper.hdrm_dp_helper.hdrm_dp_mst_helper.hdrm_dsc.hdrm_dsc_helper.hdrm_hdcp.hdrm_hdcp_helper.hdrm_hdmi_helper.hdrm_scdc.hdrm_scdc_helper.hdrm_aperture.hdrm_atomic.hdrm_atomic_helper.hdrm_atomic_state_helper.hdrm_atomic_uapi.hdrm_audio_component.hdrm_auth.hdrm_blend.hdrm_bridge.hdrm_bridge_connector.hdrm_buddy.hdrm_cache.hdrm_client.hdrm_color_mgmt.hdrm_connector.hdrm_crtc.hdrm_crtc_helper.hdrm_damage_helper.hdrm_debugfs.hdrm_debugfs_crc.hdrm_device.hdrm_displayid.hdrm_drv.hdrm_edid.hdrm_encoder.hdrm_encoder_slave.hdrm_fb_cma_helper.hdrm_fb_helper.hdrm_file.hdrm_fixed.hdrm_flip_work.hdrm_format_helper.hdrm_fourcc.hdrm_framebuffer.hdrm_gem.hdrm_gem_atomic_helper.hdrm_gem_cma_helper.hdrm_gem_framebuffer_helper.hdrm_gem_shmem_helper.hdrm_gem_ttm_helper.hdrm_gem_vram_helper.hdrm_ioctl.hdrm_lease.hdrm_legacy.hdrm_managed.hdrm_mipi_dbi.hdrm_mipi_dsi.hdrm_mm.hdrm_mode_config.hdrm_mode_object.hdrm_modes.hdrm_modeset_helper.hdrm_modeset_helper_vtables.hdrm_modeset_lock.hdrm_module.hdrm_of.hdrm_panel.hdrm_pciids.hdrm_plane.hdrm_plane_helper.hdrm_prime.hdrm_print.hdrm_privacy_screen_consumer.hdrm_privacy_screen_driver.hdrm_privacy_screen_machine.hdrm_probe_helper.hdrm_property.hdrm_rect.hdrm_self_refresh_helper.hdrm_simple_kms_helper.hdrm_syncobj.hdrm_sysfs.hdrm_util.hdrm_utils.hdrm_vblank.hdrm_vblank_work.hdrm_vma_manager.hdrm_writeback.hgma_drm.hgpu_scheduler.hgud.hi2cch7006.hsil164.htda998x.hi915_component.hi915_drm.hi915_mei_hdcp_interface.hi915_pciids.hi915_pxp_tee_interface.hintel-gtt.hintel_lpe_audio.hspsc_queue.htask_barrier.httmttm_bo_api.httm_bo_driver.httm_caching.httm_device.httm_execbuf_util.httm_kmap_iter.httm_placement.httm_pool.httm_range_manager.httm_resource.httm_tt.hdt-bindingsarmux500_pm_domains.hbusti-sysc.hclkti-dra7-atl.hclockactions,s900-cmu.halphascale,asm9260.ham3.ham4.haspeed-clock.hat91.hath79-clk.haxg-aoclkc.haxg-clkc.haxis,artpec6-clkctrl.hbcm-cygnus.hbcm-ns2.hbcm-nsp.hbcm-sr.hbcm21664.hbcm281xx.hbcm2835-aux.hbcm2835.hberlin2.hberlin2q.hboston-clock.hclps711x-clock.hcortina,gemini-clock.hdm814.hdm816.hdra7.hefm32-cmu.hexynos-audss-clk.hexynos3250.hexynos4.hexynos5250.hexynos5260-clk.hexynos5410.hexynos5420.hexynos5433.hexynos5440.hexynos7-clk.hgxbb-aoclkc.hgxbb-clkc.hhi3516cv300-clock.hhi3519-clock.hhi3620-clock.hhi3660-clock.hhi6220-clock.hhip04-clock.hhistb-clock.hhix5hd2-clock.himx1-clock.himx21-clock.himx27-clock.himx5-clock.himx6qdl-clock.himx6sl-clock.himx6sll-clock.himx6sx-clock.himx6ul-clock.himx7d-clock.hjz4740-cgu.hjz4770-cgu.hjz4780-cgu.hlpc18xx-ccu.hlpc18xx-cgu.hlpc32xx-clock.hlsi,axm5516-clks.hmarvell,mmp2.hmarvell,pxa168.hmarvell,pxa1928.hmarvell,pxa910.hmaxim,max77620.hmaxim,max77686.hmaxim,max77802.hmeson8b-clkc.hmicrochip,pic32-clock.hmpc512x-clock.hmt2701-clk.hmt2712-clk.hmt6797-clk.hmt7622-clk.hmt8135-clk.hmt8173-clk.hnuvoton,npcm7xx-clock.homap4.homap5.hoxsemi,ox810se.hoxsemi,ox820.hpistachio-clk.hpxa-clock.hqcom,gcc-apq8084.hqcom,gcc-ipq4019.hqcom,gcc-ipq806x.hqcom,gcc-ipq8074.hqcom,gcc-mdm9615.hqcom,gcc-msm8660.hqcom,gcc-msm8916.hqcom,gcc-msm8960.hqcom,gcc-msm8974.hqcom,gcc-msm8994.hqcom,gcc-msm8996.hqcom,gcc-msm8998.hqcom,gcc-sdm845.hqcom,lcc-ipq806x.hqcom,lcc-mdm9615.hqcom,lcc-msm8960.hqcom,mmcc-apq8084.hqcom,mmcc-msm8960.hqcom,mmcc-msm8974.hqcom,mmcc-msm8996.hqcom,rpmcc.hqcom,rpmh.hqcom,videocc-sdm845.hr7s72100-clock.hr8a73a4-clock.hr8a7740-clock.hr8a7743-cpg-mssr.hr8a7745-cpg-mssr.hr8a77470-cpg-mssr.hr8a7778-clock.hr8a7779-clock.hr8a7790-clock.hr8a7790-cpg-mssr.hr8a7791-clock.hr8a7791-cpg-mssr.hr8a7792-clock.hr8a7792-cpg-mssr.hr8a7793-clock.hr8a7793-cpg-mssr.hr8a7794-clock.hr8a7794-cpg-mssr.hr8a7795-cpg-mssr.hr8a7796-cpg-mssr.hr8a77965-cpg-mssr.hr8a77970-cpg-mssr.hr8a77980-cpg-mssr.hr8a77990-cpg-mssr.hr8a77995-cpg-mssr.hrenesas-cpg-mssr.hrk3036-cru.hrk3066a-cru.hrk3128-cru.hrk3188-cru-common.hrk3188-cru.hrk3228-cru.hrk3288-cru.hrk3328-cru.hrk3368-cru.hrk3399-cru.hrockchip,rk808.hrv1108-cru.hs3c2410.hs3c2412.hs3c2443.hs5pv210-audss.hs5pv210.hsamsung,s2mps11.hsamsung,s3c64xx-clock.hsh73a0-clock.hsprd,sc9860-clk.hste-ab8500.hstih407-clks.hstih410-clks.hstih416-clks.hstih418-clks.hstm32fx-clock.hstm32h7-clks.hstm32mp1-clks.hstratix10-clock.hsun4i-a10-ccu.hsun4i-a10-pll2.hsun50i-a64-ccu.hsun50i-h6-ccu.hsun50i-h6-r-ccu.hsun5i-ccu.hsun6i-a31-ccu.hsun7i-a20-ccu.hsun8i-a23-a33-ccu.hsun8i-a83t-ccu.hsun8i-de2.hsun8i-h3-ccu.hsun8i-r-ccu.hsun8i-r40-ccu.hsun8i-v3s-ccu.hsun9i-a80-ccu.hsun9i-a80-de.hsun9i-a80-usb.htegra114-car.htegra124-car-common.htegra124-car.htegra186-clock.htegra194-clock.htegra20-car.htegra210-car.htegra30-car.hvf610-clock.hzx296702-clock.hzx296718-clock.hdisplaytda998x.hdmaat91.haxi-dmac.hjz4780-dma.hnbpfaxi.hsun4i-a10.hgpioaspeed-gpio.hgpio.hmeson-axg-gpio.hmeson-gxbb-gpio.hmeson-gxl-gpio.hmeson8-gpio.hmeson8b-gpio.htegra-gpio.htegra186-gpio.htegra194-gpio.huniphier-gpio.hi2ci2c.hiioadcfsl-imx25-gcq.hadi,ad5592r.hqcom,spmi-vadc.hinputgpio-keys.hinput.hlinux-event-codes.hti-drv260x.hinterrupt-controllerarm-gic.hirq-st.hirq.hmips-gic.hmvebu-icu.hledscommon.hleds-netxbig.hleds-ns2.hleds-pca9532.hleds-pca955x.hmailboxtegra186-hsp.hmediac8sectpfe.homap3-isp.htda1997x.htvp5150.hxilinx-vip.hmemorymt2701-larb-port.hmt8173-larb-port.htegra114-mc.htegra124-mc.htegra186-mc.htegra20-mc.htegra210-mc.htegra30-mc.hmfdarizona.has3722.hatmel-flexcom.hdbx500-prcmu.hmax77620.hpalmas.hqcom-rpm.hst-lpc.hstm32f4-rcc.hstm32f7-rcc.hstm32h7-rcc.hmipslantiq_rcu_gphy.hmuxmux.hnetmicrochip-lan78xx.hmscc-phy-vsc8531.hqca-ar803x.hti-dp83867.hti-dp83869.hphyphy-pistachio-usb.hphy-qcom-qusb2.hphy.hpinctrlam33xx.ham43xx.hat91.hbcm2835.hbrcm,pinctrl-stingray.hdm814x.hdra.hhisi.hkeystone.hmt6397-pinfunc.hmt65xx.hmt7623-pinfunc.hnomadik.homap.hpinctrl-tegra-xusb.hpinctrl-tegra.hqcom,pmic-gpio.hqcom,pmic-mpp.hr7s72100-pinctrl.hrockchip.hsamsung.hstm32-pinfunc.hsun4i-a10.hpowerimx7-power.hmt2701-power.hmt2712-power.hmt6797-power.hmt7622-power.hmt7623a-power.hmt8173-power.howl-s500-powergate.howl-s700-powergate.hpx30-power.hr8a7743-sysc.hr8a7745-sysc.hr8a77470-sysc.hr8a7779-sysc.hr8a7790-sysc.hr8a7791-sysc.hr8a7792-sysc.hr8a7793-sysc.hr8a7794-sysc.hr8a7795-sysc.hr8a7796-sysc.hr8a77965-sysc.hr8a77970-sysc.hr8a77980-sysc.hr8a77990-sysc.hr8a77995-sysc.hraspberrypi-power.hrk3036-power.hrk3128-power.hrk3228-power.hrk3288-power.hrk3328-power.hrk3366-power.hrk3368-power.hrk3399-power.htegra186-powergate.htegra194-powergate.hpwmpwm.hregulatormaxim,max77802.hresetaltr,rst-mgr-a10.haltr,rst-mgr-a10sr.haltr,rst-mgr-s10.haltr,rst-mgr.hamlogic,meson-axg-reset.hamlogic,meson-gxbb-reset.hamlogic,meson8b-clkc-reset.hamlogic,meson8b-reset.haxg-aoclkc.hcortina,gemini-reset.hgxbb-aoclkc.hhisi,hi6220-resets.himx7-reset.hmt2701-resets.hmt7622-reset.hmt8135-resets.hmt8173-resets.hoxsemi,ox810se.hoxsemi,ox820.hpistachio-resets.hqcom,gcc-apq8084.hqcom,gcc-ipq806x.hqcom,gcc-mdm9615.hqcom,gcc-msm8660.hqcom,gcc-msm8916.hqcom,gcc-msm8960.hqcom,gcc-msm8974.hqcom,mmcc-apq8084.hqcom,mmcc-msm8960.hqcom,mmcc-msm8974.hsnps,hsdk-reset.hstih407-resets.hstih415-resets.hstih416-resets.hstm32mp1-resets.hsun4i-a10-ccu.hsun50i-a64-ccu.hsun50i-h6-ccu.hsun50i-h6-r-ccu.hsun5i-ccu.hsun6i-a31-ccu.hsun8i-a23-a33-ccu.hsun8i-a83t-ccu.hsun8i-de2.hsun8i-h3-ccu.hsun8i-r-ccu.hsun8i-r40-ccu.hsun8i-v3s-ccu.hsun9i-a80-ccu.hsun9i-a80-de.hsun9i-a80-usb.htegra124-car.htegra186-reset.htegra194-reset.htegra210-car.hti-syscon.hsocqcom,apr.hqcom,gsbi.hrockchip,boot-mode.hzte,pm_domains.hsoundadi,adau1977.hapq8016-lpass.haudio-jack-events.hcs35l32.hcs42l42.hfsl-imx-audmux.hqcom,q6afe.hqcom,q6asm.hrt5640.hrt5651.hsamsung-i2s.htas2552.htlv320aic31xx.hspmispmi.hthermallm90.htegra124-soctherm.htegra186-bpmp-thermal.hthermal.hthermal_exynos.husbpd.hgeneratedasm-offsets.hautoconf.hbounds.hcompile.htimeconst.huapilinuxversion.hutsrelease.hkeysasymmetric-parser.hasymmetric-subtype.hasymmetric-type.hbig_key-type.hceph-type.hdns_resolver-type.hencrypted-type.hkeyring-type.hrxrpc-type.hsystem_keyring.htrusted-type.htrusted_tpm.huser-type.hkunitassert.htest-bug.htest.htry-catch.hkvmarm_arch_timer.harm_hypercalls.harm_pmu.harm_psci.harm_vgic.hiodev.hlinux8250_pci.ha.out.hacct.hacpi.hacpi_dma.hacpi_iort.hacpi_pmtmr.hadb.hadfs_fs.hadxl.haer.hagp_backend.hagpgart.hahci-remap.hahci_platform.haio.halarmtimer.haltera_jtaguart.haltera_uart.hambabus.hclcd-regs.hclcd.hkmi.hmmci.hpl022.hpl080.hpl08x.hpl093.hserial.hsp810.hamd-iommu.hanon_inodes.haperture.hapm-emulation.hapm_bios.happle-gmux.happle_bl.harch_topology.harm-cci.harm-smccc.harm_sdei.hascii85.hasn1.hasn1_ber_bytecode.hasn1_decoder.hassoc_array.hassoc_array_priv.hasync.hasync_tx.hata.hata_platform.hatalk.hath9k_platform.hatm.hatm_suni.hatm_tcp.hatmdev.hatmel-mci.hatmel-ssc.hatmel_pdc.hatmel_tc.hatomic.hattribute_container.haudit.haudit_arch.hauto_dev-ioctl.hauto_fs.hauxiliary_bus.hauxvec.haverage.havfvirtchnl.hb1pcmcia.hbacking-dev-defs.hbacking-dev.hbacklight.hbadblocks.hballoon_compaction.hbcd.hbch.hbcm47xx_nvram.hbcm47xx_sprom.hbcm47xx_wdt.hbcm963xx_nvram.hbcm963xx_tag.hbcmabcma.hbcma_driver_arm_c9.hbcma_driver_chipcommon.hbcma_driver_gmac_cmn.hbcma_driver_mips.hbcma_driver_pci.hbcma_driver_pcie2.hbcma_regs.hbcma_soc.hbinfmts.hbio.hbit_spinlock.hbitfield.hbitmap.hbitops.hbitrev.hbits.hblk-cgroup.hblk-mq-pci.hblk-mq-rdma.hblk-mq-virtio.hblk-mq.hblk-pm.hblk_types.hblkdev.hblkpg.hblktrace_api.hblockgroup_lock.hbma150.hbottom_half.hbpf-cgroup.hbpf-netns.hbpf.hbpf_lirc.hbpf_local_storage.hbpf_lsm.hbpf_trace.hbpf_types.hbpf_verifier.hbpfilter.hbpfptr.hbrcmphy.hbsearch.hbsg-lib.hbsg.hbtf.hbtf_ids.hbtree-128.hbtree-type.hbtree.hbtrfs.hbuffer_head.hbug.hbuild_bug.hbuildid.hbvec.hbyteorderbig_endian.hgeneric.hlittle_endian.hc2port.hcache.hcacheinfo.hcancore.hdevdev.hpeak_canfd.hled.hplatformcc770.hmcp251x.hrcar_can.hsja1000.hrx-offload.hskb.hcapability.hcb710.hcc_platform.hcciss_ioctl.hccp.hcdev.hcdrom.hcephauth.hbuffer.hceph_debug.hceph_features.hceph_frag.hceph_fs.hceph_hash.hcls_lock_client.hdebugfs.hdecode.hlibceph.hmdsmap.hmessenger.hmon_client.hmsgpool.hmsgr.hosd_client.hosdmap.hpagelist.hrados.hstring_table.hstriper.htypes.hcfag12864b.hcgroup-defs.hcgroup.hcgroup_rdma.hcgroup_subsys.hcirc_buf.hcleancache.hclkclk-provider.hclk.hat91_pmc.hclk-conf.hdavinci.hmmp.hmxs.hrenesas.hsunxi-ng.htegra.hti.hzynq.hclkdev.hclock_cooling.hclockchips.hclocksource.hcm4000_cs.hcma.hcmdline-parser.hcn_proc.hcnt32_to_63.hcoda.hcoda_psdev.hcompaction.hcompat.hcompat_time.hcompiler-clang.hcompiler-gcc.hcompiler-intel.hcompiler.hcompiler_types.hcompletion.hcomponent.hconcap.hconfigfs.hconnector.hconsole.hconsole_struct.hconsolemap.hconst.hcontainer.hcontainer_of.hcontext_tracking.hcontext_tracking_state.hcookie.hcordic.hcoredump.hcoresight-pmu.hcoresight-stm.hcoresight.hcount_zeros.hcounter.hcounter_enum.hcper.hcpu.hcpu_cooling.hcpu_pm.hcpu_rmap.hcpufeature.hcpufreq.hcpuhotplug.hcpuidle.hcpuidle_haltpoll.hcpumask.hcpuset.hcrash_core.hcrash_dump.hcrc-ccitt.hcrc-itu-t.hcrc-t10dif.hcrc16.hcrc32.hcrc32c.hcrc32poly.hcrc4.hcrc7.hcrc8.hcred.hcrushcrush.hhash.hmapper.hcrypto.hcryptohash.hcs5535.hctype.hcuda.hcxl_err.hcyclades.hdamon.hdavinci_emac.hdax.hdca.hdcache.hdccp.hdcookies.hdebug_locks.hdebugfs.hdebugobjects.hdecompressbunzip2.hgeneric.hinflate.hmm.hunlz4.hunlzma.hunlzo.hunxz.hdelay.hdelayacct.hdelayed_call.hdell-led.hdev_printk.hdevcoredump.hdevfreq-event.hdevfreq.hdevfreq_cooling.hdevice-mapper.hdevice.hdevice_cgroup.hdevpts_fs.hdigsig.hdim.hdio.hdirent.hdlm.hdlm_plock.hdm-bufio.hdm-dirty-log.hdm-io.hdm-kcopyd.hdm-region-hash.hdm9000.hdmadma-buf.hdma-contiguous.hdma-direct.hdma-direction.hdma-fence-array.hdma-fence-chain.hdma-fence-unwrap.hdma-fence.hdma-iommu.hdma-map-ops.hdma-mapping.hdma-resv.hdw.hhsu.hidma64.hipu-dma.hmmp-pdma.hpxa-dma.hqcom_bam_dma.hsprd-dma.hxilinx_dma.hdmaengine.hdmapool.hdmar.hdmi.hdnotify.hdns_resolver.hdqblk_qtree.hdqblk_v1.hdqblk_v2.hdrbd.hdrbd_genl.hdrbd_genl_api.hdrbd_limits.hds2782_battery.hdsalan9303.hdtlk.hdw_apb_timer.hdynamic_debug.hdynamic_queue_limits.hearlycpio.hecryptfs.hedac.hedd.hedma.heeprom_93cx6.heeprom_93xx46.hefi-bgrt.hefi.hefs_vh.heisa.helevator.helf-fdpic.helf-randomize.helf.helfcore-compat.helfcore.helfnote.henclosure.henergy_model.herr.herrname.herrno.herror-injection.herrqueue.herrseq.hetherdevice.hethtool.hethtool_netlink.heventfd.heventpoll.hevm.hexport.hexportfs.hext2_fs.hextable.hextconextcon-provider.hextcon.hextcon-adc-jack.hf2fs_fs.hf75375s.hfalloc.hfanotify.hfault-inject.hfb.hfbcon.hfcdevice.hfcntl.hfd.hfddidevice.hfdtable.hfec.hfile.hfilter.hfips.hfirewire.hfirmwarefirmware-map.hfirmware.hcirruscs_dsp.hwmfw.hintelstratix10-smc.hstratix10-svc-client.hmesonmeson_sm.hfixp-arith.hflat.hflex_array.hflex_proportions.hfmc-sdb.hfmc.hfont.hfortify-string.hfpgaadi-axi-common.haltera-pr-ip-core.hfpga-bridge.hfpga-mgr.hfpga-region.hfreezer.hfrontswap.hfs.hfs_context.hfs_enet_pd.hfs_parser.hfs_pin.hfs_stack.hfs_struct.hfs_uart_pd.hfscache-cache.hfscache.hfscrypt.hfscrypt_notsupp.hfscrypt_supp.hfsi.hfslfsl-diu-fb.hbestcommata.hbestcomm.hbestcomm_priv.hfec.hgen_bd.hsram.hedac.hguts.hmc.hptp_qoriq.hfsl_devices.hfsl_hypervisor.hfsl_ifc.hfsldma.hfsnotify.hfsnotify_backend.hftrace.hftrace_irq.hfutex.hfwnode.hgameport.hgcd.hgenalloc.hgeneric-radix-tree.hgenetlink.hgenhd.hgenl_magic_func.hgenl_magic_struct.hgetcpu.hgfp.hglob.hgoldfish.hgpiogpio-pxa.hgpio.hconsumer.hdriver.hgpio-reg.hmachine.hgpio_keys.hhardirq.hhash.hhashtable.hhdlc.hhdlcdrv.hhdmi.hhid-debug.hhid-roccat.hhid-sensor-hub.hhid-sensor-ids.hhid.hhidden.hhiddev.hhidraw.hhighmem-internal.hhighmem.hhighuid.hhil.hhil_mlc.hhippidevice.hhmm.hhost1x.hhp_sdc.hhpet.hhrtimer.hhrtimer_defs.hhsihsi.hssi_protocol.hhtcpld.hhuge_mm.hhugetlb.hhugetlb_cgroup.hhugetlb_inline.hhw_breakpoint.hhw_random.hhwmon-sysfs.hhwmon-vid.hhwmon.hhwspinlock.hhyperv.hhypervisor.hi2c-algo-bit.hi2c-algo-pca.hi2c-algo-pcf.hi2c-dev.hi2c-mux.hi2c-pxa.hi2c-smbus.hi2c.hi8042.hi8253.hicmp.hicmpv6.hide.hidr.hieee80211.hieee802154.hif_arp.hif_bridge.hif_eql.hif_ether.hif_fddi.hif_frad.hif_link.hif_ltalk.hif_macvlan.hif_phonet.hif_pppol2tp.hif_pppox.hif_tap.hif_team.hif_tun.hif_tunnel.hif_vlan.higmp.hihex.hiioaccelkxcjk_1013.hadcad_sigma_delta.hstm32-dfsdm-adc.hbuffer-dma.hbuffer-dmaengine.hbuffer.hbuffer_impl.hcommoncros_ec_sensors_core.hssp_sensors.hst_sensors.hst_sensors_i2c.hst_sensors_spi.hconfigfs.hconsumer.hdacad5421.had5504.had5791.hmax517.hmcp4725.hdriver.hevents.hfrequencyad9523.hadf4350.hgyroitg3200.hhw-consumer.hiio.himuadis.hkfifo_buf.hmachine.hmagnetometerak8975.hsw_device.hsw_trigger.hsysfs.htimerstm32-lptim-trigger.hstm32-timer-trigger.htrigger.htrigger_consumer.htriggered_buffer.htriggered_event.htypes.hima.himx-media.hin.hin6.hindirect_call_wrapper.hinet.hinet_diag.hinetdevice.hinit.hinit_ohci1394_dma.hinit_task.hinitrd.hinotify.hinputinput-polldev.hinput.had714x.hadp5589.hadxl34x.has5011.hauo-pixcir-ts.hbu21013.hcma3000.hcy8ctmg110_pdata.hcyttsp.helan-i2c-ids.hgp2ap002a00f.hili210x.hkxtj9.hlm8333.hmatrix_keypad.hmt.hnavpoint.hsamsung-keypad.hsh_keysc.hsparse-keymap.htouchscreen.htps6507x-ts.hinstrumented.hintegrity.hintel-iommu.hintel-ish-client-if.hintel-pti.hintel-svm.hintel_rapl.hintel_th.hinterrupt.hinterval_tree.hinterval_tree_generic.hio-64-nonatomic-hi-lo.hio-64-nonatomic-lo-hi.hio-mapping.hio-pgtable.hio.hioasid.hioc3.hioc4.hiocontext.hiomap.hiommu-helper.hiommu.hiopoll.hioport.hioprio.hiosys-map.hiova.hip.hipack.hipc.hipc_namespace.hipmi-fru.hipmi.hipmi_smi.hipv6.hipv6_route.hirq.hirq_cpustat.hirq_poll.hirq_sim.hirq_work.hirqbypass.hirqchipirqchip.harm-gic-common.harm-gic-v3.harm-gic-v4.harm-gic.harm-vgic-info.harm-vic.hchained_irq.hingenic.hirq-bcm2836.hirq-omap-intc.hirq-partition-percpu.hirq-sa11x0.hmmp.hmxs.hversatile-fpga.hxtensa-mx.hxtensa-pic.hirqdesc.hirqdomain.hirqflags.hirqhandler.hirqnr.hirqreturn.hisa.hisapnp.hiscsi_boot_sysfs.hiscsi_ibft.hisdnisdn.hcapilli.hcapiutil.hhdlc.hisdn_divertif.hisdn_ppp.hisdnif.hisicom.hiversion.hjbd2.hjhash.hjiffies.hjournal-head.hjoystick.hjump_label.hjump_label_ratelimit.hjz4740-adc.hjz4780-nemc.hkallsyms.hkasan-checks.hkasan.hkbd_diacr.hkbd_kern.hkbuild.hkconfig.hkcore.hkcov.hkcsan-checks.hkcsan.hkdb.hkdebug.hkdev_t.hkern_levels.hkernel-page-flags.hkernel.hkernel_stat.hkernelcapi.hkernfs.hkexec.hkey-type.hkey.hkeyboard.hkfifo.hkgdb.hkhugepaged.hklist.hkmemleak.hkmod.hkmsg_dump.hkobj_map.hkobject.hkobject_ns.hkprobes.hkref.hks0108.hks8842.hks8851_mll.hksm.hkthread.hktime.hkvm_dirty_ring.hkvm_host.hkvm_irqfd.hkvm_para.hkvm_types.hl2tp.hlapb.hlatencytop.hlcd.hlcm.hled-class-flash.hled-lm3530.hleds-bd2802.hleds-lp3944.hleds-lp3952.hleds-pca9532.hleds-regulator.hleds-tca6507.hleds.hleds_pwm.hlibata.hlibfdt.hlibfdt_env.hlibgcc.hlibnvdimm.hlibps2.hlicense.hlightnvm.hlimits.hlinear_range.hlinkage.hlinkmode.hlinux_logo.hlis3lv02d.hlist.hlist_bl.hlist_lru.hlist_nulls.hlist_sort.hlivepatch.hllc.hllist.hlocal_lock.hlocal_lock_internal.hlockdbind.hdebug.hlockd.hnlm.hshare.hxdr.hxdr4.hlockdep.hlockdep_types.hlockref.hlog2.hlogic_pio.hlp.hlru_cache.hlsm_audit.hlsm_hook_defs.hlsm_hooks.hlz4.hlzo.hmISDNdsp.hmISDNhw.hmISDNif.hmailboxbrcm-message.hmailbox_client.hmailbox_controller.hmaple.hmarvell_phy.hmath64.hmax17040_battery.hmbcache.hmbus.hmc146818rtc.hmc6821.hmcb.hmdev.hmdio-bitbang.hmdio-gpio.hmdio-mux.hmdio.hmei_aux.hmei_cl_bus.hmem_encrypt.hmemblock.hmemcontrol.hmemfd.hmemory.hmemory_hotplug.hmempolicy.hmempool.hmemregion.hmemremap.hmemstick.hmfd88pm80x.h88pm860x.haat2870.hab3100.habx500abx500.hab8500-bm.hab8500-codec.hab8500-gpadc.hab8500-sysctrl.hab8500.hux500_chargalg.hac100.hadp5520.haltera-a10sr.harizonacore.hpdata.hregisters.has3711.has3722.hasic3.hatmel-hlcdc.haxp20x.hbcm590xx.hbd9571mwv.hcore.hcros_ec.hcros_ec_commands.hcros_ec_lpc_mec.hcros_ec_lpc_reg.hda8xx-cfgchip.hda903x.hda9052da9052.hpdata.hreg.hda9055core.hpdata.hreg.hda9062core.hregisters.hda9063core.hpdata.hregisters.hda9150core.hregisters.hdavinci_voicecodec.hdb8500-prcmu.hdbx500-prcmu.hdln2.hdm355evm_msp.hds1wm.hezx-pcap.hhi6421-pmic.hhi655x-pmic.hhtc-pasic3.himx25-tsadc.hintel_msic.hintel_soc_pmic.hintel_soc_pmic_bxtwc.hipaq-micro.hjanz.hkempld.hlm3533.hlochnagar.hlochnagar1_regs.hlochnagar2_regs.hlp3943.hlp873x.hlp87565.hlp8788-isink.hlp8788.hlpc_ich.hmax14577-private.hmax14577.hmax77620.hmax77686-private.hmax77686.hmax77693-common.hmax77693-private.hmax77693.hmax77843-private.hmax8907.hmax8925.hmax8997-private.hmax8997.hmax8998-private.hmax8998.hmc13783.hmc13892.hmc13xxx.hmcp.hmenelaus.hmotorola-cpcap.hmt6323core.hregisters.hmt6397core.hregisters.hmxs-lradc.hpalmas.hpcf50633adc.hbacklight.hcore.hgpio.hmbc.hpmic.hqcom_rpm.hrave-sp.hrc5t583.hrdc321x.hretu.hrk808.hrn5t618.hrt5033-private.hrt5033.hsamsungcore.hirq.hrtc.hs2mpa01.hs2mps11.hs2mps13.hs2mps14.hs2mps15.hs2mpu02.hs5m8763.hs5m8767.hsi476x-core.hsi476x-platform.hsi476x-reports.hsky81452.hsmsc.hsta2x11-mfd.hstm32-lptimer.hstm32-timers.hstmpe.hstw481x.hsun4i-gpadc.hsysconsyscon.hatmel-matrix.hatmel-mc.hatmel-smc.hatmel-st.hclps711x.himx6q-iomuxc-gpr.himx7-iomuxc-gpr.ht7l66xb.htc3589x.htc6387xb.htc6393xb.hti-lmu-register.hti-lmu.hti_am335x_tscadc.htmio.htps6105x.htps65010.htps6507x.htps65086.htps65090.htps65217.htps65218.htps6586x.htps65910.htps65912.htps68470.htps80031.htwl.htwl4030-audio.htwl6040.hucb1x00.hviperboard.hwl1273-core.hwm831xauxadc.hcore.hgpio.hirq.hotp.hpdata.hpmu.hregulator.hstatus.hwatchdog.hwm8350audio.hcomparator.hcore.hgpio.hpmic.hrtc.hsupply.hwdt.hwm8400-audio.hwm8400-private.hwm8400.hwm8994core.hgpio.hpdata.hregisters.hwm97xx.hmhi.hmhi_ep.hmic_bus.hmicrel_phy.hmicrochipphy.hmigrate.hmigrate_mode.hmii.hmii_timestamper.hmin_heap.hminmax.hmisc_cgroup.hmiscdevice.hmlx4cmd.hcq.hdevice.hdoorbell.hdriver.hqp.hsrq.hmlx5cq.hdevice.hdoorbell.hdriver.heq.heswitch.hfs.hfs_helpers.hmlx5_ifc.hmlx5_ifc_fpga.hmlx5_ifc_vdpa.hmpfs.hport.hqp.hrsc_dump.htransobj.hvport.hmm-arch-hooks.hmm.hmm_inline.hmm_types.hmm_types_task.hmman.hmmap_lock.hmmccard.hcore.hhost.hmmc.hpm.hsd.hsdhci-pci-data.hsdio.hsdio_func.hsdio_ids.hsh_mmcif.hslot-gpio.hmmdebug.hmmiotrace.hmmu_context.hmmu_notifier.hmmzone.hmnt_namespace.hmod_devicetable.hmodule.hmodule_signature.hmoduleloader.hmoduleparam.hmount.hmpage.hmpi.hmpls.hmpls_iptunnel.hmroute.hmroute6.hmroute_base.hmsdos_fs.hmsdos_partition.hmsg.hmsi.hmtdbbm.hblktrans.hcfi.hcfi_endian.hconcat.hdoc2000.hflashchip.hftl.hgen_probe.hinftl.hlatch-addr-flash.hlpc32xx_mlc.hlpc32xx_slc.hmap.hmtd.hmtdram.hnand-gpio.hnand.hnand_bch.hnand_ecc.hndfc.hnftl.honenand.honenand_regs.hpartitions.hpfow.hphysmap.hpismo.hplat-ram.hqinfo.hrawnand.hsh_flctl.hsharpsl.hspear_smi.hspi-nor.hsuper.hubi.hxip.hmutex.hmuxconsumer.hdriver.hmv643xx.hmv643xx_eth.hmv643xx_i2c.hmvebu-pmsu.hmxm-wmi.hn_r3964.hnamei.hnd.hnetnet.hinteli40e_client.hiidc.hnetdev_features.hnetdevice.hnetfilternetfilter.hipsetip_set.hip_set_bitmap.hip_set_comment.hip_set_counter.hip_set_getport.hip_set_hash.hip_set_list.hip_set_skbinfo.hip_set_timeout.hpfxlen.hnf_conntrack_amanda.hnf_conntrack_common.hnf_conntrack_dccp.hnf_conntrack_ftp.hnf_conntrack_h323.hnf_conntrack_h323_asn1.hnf_conntrack_h323_types.hnf_conntrack_irc.hnf_conntrack_pptp.hnf_conntrack_proto_gre.hnf_conntrack_sane.hnf_conntrack_sctp.hnf_conntrack_sip.hnf_conntrack_snmp.hnf_conntrack_tcp.hnf_conntrack_tftp.hnf_conntrack_zones_common.hnf_osf.hnfnetlink.hnfnetlink_acct.hx_tables.hxt_hashlimit.hxt_physdev.hnetfilter_arparp_tables.hnetfilter_bridgenetfilter_bridge.hebt_802_3.hebtables.hnetfilter_defs.hnetfilter_ingress.hnetfilter_ipv4netfilter_ipv4.hip_tables.hnetfilter_ipv6netfilter_ipv6.hip6_tables.hnetlink.hnetpoll.hnfs.hnfs3.hnfs4.hnfs_fs.hnfs_fs_i.hnfs_fs_sb.hnfs_iostat.hnfs_page.hnfs_xdr.hnfsacl.hnitro_enclaves.hnl802154.hnls.hnmi.hnode.hnodemask.hnospec.hnotifier.hns_common.hnsc_gpio.hnsproxy.hntb.hntb_transport.hnubus.hnuma.hnvme-fc-driver.hnvme-fc.hnvme-rdma.hnvme-tcp.hnvme.hnvmem-consumer.hnvmem-provider.hnvram.hobjagg.hobjtool.hof.hof_address.hof_clk.hof_device.hof_dma.hof_fdt.hof_gpio.hof_graph.hof_iommu.hof_irq.hof_mdio.hof_net.hof_pci.hof_pdt.hof_platform.hof_reserved_mem.hoid_registry.holpc-ec.homap-dma.homap-dmaengine.homap-gpmc.homap-iommu.homap-mailbox.homapfb.honce.hoom.hopenvswitch.hoprofile.hosq_lock.hoverflow.hpadata.hpage-flags-layout.hpage-flags.hpage-isolation.hpage_counter.hpage_ext.hpage_idle.hpage_owner.hpage_ref.hpage_reporting.hpageblock-flags.hpagemap.hpagevec.hpagewalk.hparman.hparport.hparport_pc.hparser.hpata_arasan_cf_data.hpatchkey.hpath.hpch_dma.hpci-acpi.hpci-ats.hpci-dma-compat.hpci-ecam.hpci-ep-cfs.hpci-epc.hpci-epf.hpci-p2pdma.hpci.hpci_hotplug.hpci_ids.hpcspcs-xpcs.hpda_power.hpe.hpercpu-defs.hpercpu-refcount.hpercpu-rwsem.hpercpu.hpercpu_counter.hperfarm_pmu.hperf_event.hperf_regs.hpersonality.hpfn.hpfn_t.hphonet.hphyphy.homap_control_phy.homap_usb.hphy-qcom-ufs.hphy-sun4i-usb.hphy.htegraxusb.hulpi_phy.hphy_fixed.hphy_led_triggers.hphylink.hpid.hpid_namespace.hpim.hpinctrlconsumer.hdevinfo.hmachine.hpinconf-generic.hpinconf.hpinctrl-state.hpinctrl.hpinmux.hpipe_fs_i.hpkeys.hpktcdvd.hpl320-ipc.hplatform_dataad5449.had5755.had5761.had7266.had7291.had7298.had7303.had7791.had7793.had7879.had7887.hadau17x1.hadp5588.hadp8860.hadp8870.hads1015.hads7828.hapds990x.harm-ux500-pm.hasoc-imx-ssi.hasoc-kirkwood.hasoc-mx27vis.hasoc-palm27x.hasoc-s3c.hasoc-s3c24xx_simtec.hasoc-ti-mcbsp.hasoc-ux500-msp.hat24.hat91_adc.hata-pxa.hata-samsung_cf.hatmel.hb53.hbcmgenet.hbd6107.hbh1770glc.hbrcmfmac.hbt-nokia-h4p.hclk-da8xx-cfgchip.hclk-davinci-pll.hclk-fch.hclk-integrator.hclk-u300.hcpuidle-exynos.hcrypto-atmel.hcrypto-ux500.hcyttsp4.hdavinci_asp.hdb8500_thermal.hdma-atmel.hdma-coh901318.hdma-dw.hdma-ep93xx.hdma-hsu.hdma-imx-sdma.hdma-imx.hdma-mmp_tdma.hdma-mv_xor.hdma-s3c24xx.hdma-ste-dma40.hdmtimer-omap.hds620.hdwc3-omap.hedma.hefm32-spi.hefm32-uart.hehci-sh.helm.hemif_plat.heth-netx.hfsa9480.hg762.hgpio-ath79.hgpio-davinci.hgpio-dwapb.hgpio-htc-egpio.hgpio-omap.hgpio-ts5500.hgpio_backlight.hgpmc-omap.hhsmmc-omap.hhwmon-s3c.hi2c-cbus-gpio.hi2c-davinci.hi2c-gpio.hi2c-imx.hi2c-mux-gpio.hi2c-mux-reg.hi2c-ocores.hi2c-omap.hi2c-pca-platform.hi2c-pxa.hi2c-s3c2410.hi2c-xiic.hina2xx.hintel-mid_wdt.hintel-spi.hinvensense_mpu6050.hiommu-omap.hirda-pxaficp.hirda-sa11x0.hisl9305.hitco_wdt.hkeyboard-pxa930_rotary.hkeyboard-spear.hkeypad-ep93xx.hkeypad-nomadik-ske.hkeypad-omap.hkeypad-pxa27x.hkeypad-w90p910.hkeyscan-davinci.hlcd-mipid.hleds-kirkwood-netxbig.hleds-kirkwood-ns2.hleds-lm355x.hleds-lm3642.hleds-lp55xx.hleds-omap.hleds-pca963x.hleds-s3c24xx.hlm3630a_bl.hlm3639_bl.hlm8323.hlp855x.hlp8727.hlp8755.hltc4245.hlv5207lp.hmacb.hmax197.hmax3421-hcd.hmax6639.hmax6697.hmax732x.hmcs.hmdio-bcm-unimac.hmdio-gpio.hmediacamera-mx2.hcamera-mx3.hcamera-pxa.hcoda.hmmp-camera.homap1_camera.homap4iss.hs5p_hdmi.hsi4713.hsii9234.hsoc_camera_platform.htimb_radio.htimb_video.hmfd-mcp-sa11x0.hmicrochip-ksz.hmlxcpld.hmlxreg.hmmc-davinci.hmmc-esdhc-imx.hmmc-mxcmmc.hmmc-omap.hmmc-pxamci.hmmc-s3cmci.hmmc-sdhci-s3c.hmmp_audio.hmmp_dma.hmouse-pxa930_trkball.hmtd-davinci-aemif.hmtd-davinci.hmtd-mxc_nand.hmtd-nand-omap2.hmtd-nand-pxa3xx.hmtd-nand-s3c2410.hmtd-orion_nand.hmv88e6xxx.hmv_usb.hnet-cw1200.hnfcmrvl.hntc_thermistor.hnxp-nci.homap-twl4030.homap-wd-timer.homap1_bl.homapdss.hpca953x.hpca954x.hpcf857x.hpcmcia-pxa2xx_viper.hphy-da8xx-usb.hpinctrl-single.hpixcir_i2c_ts.hpm33xx.hpwm_omap_dmtimer.hpxa2xx_udc.hpxa_sdhci.hregulator-haptic.hremoteproc-omap.hrtc-ds2404.hrtc-v3020.hs3c-hsotg.hs3c-hsudc.hsa11x0-serial.hsc18is602.hsdhci-pic32.hserial-imx.hserial-omap.hserial-sccnxp.hshmob_drm.hsht3x.hshtc1.hsi5351.hsimplefb.hsky81452-backlight.hspi-clps711x.hspi-davinci.hspi-ep93xx.hspi-imx.hspi-mt65xx.hspi-nuc900.hspi-omap2-mcspi.hspi-s3c64xx.hssm2518.hst33zp24.hst_sensors_pdata.hsyscon.htc35876x.htda9950.hti-aemif.hti-sysc.htouchscreen-s3c2410.htsc2007.htsl2563.htsl2772.huio_dmem_genirq.huio_pruss.husb-davinci.husb-ehci-mxc.husb-ehci-orion.husb-musb-ux500.husb-mx2.husb-ohci-pxa27x.husb-ohci-s3c2410.husb-omap.husb-omap1.husb-pxa3xx-ulpi.husb-s3c2410_udc.husb3503.hux500_wdt.hvideo-clcd-versatile.hvideo-ep93xx.hvideo-imxfb.hvideo-mx3fb.hvideo-nuc900fb.hvideo-pxafb.hvideo_s3c.hvoltage-omap.hwiznet.hwkup_m3.hx86apple.hclk-lpss.hclk-pmc-atom.hpmc_atom.hsoc.hzforce_ts.hplatform_device.hplatform_profile.hpldmfw.hplist.hpm-trace.hpm.hpm2301_charger.hpm_clock.hpm_domain.hpm_opp.hpm_qos.hpm_runtime.hpm_wakeirq.hpm_wakeup.hpmbus.hpmu.hpnfs_osd_xdr.hpnp.hpoison.hpoll.hposix-clock.hposix-timers.hposix_acl.hposix_acl_xattr.hpowerab8500.hbq2415x_charger.hbq24190_charger.hbq24735-charger.hbq27xxx_battery.hcharger-manager.hgeneric-adc-battery.hgpio-charger.hisp1704_charger.hjz4740-battery.hmax17042_battery.hmax8903_charger.hsbs-battery.hsmartreflex.hsmb347-charger.htwl4030_madc_battery.hpower_supply.hpowercap.hppp-comp.hppp_channel.hppp_defs.hpps-gpio.hpps_kernel.hpr.hprandom.hpreempt.hprefetch.hprime_numbers.hprintk.hprmt.hproc_fs.hproc_ns.hprocessor.hprofile.hprojid.hproperty.hpsci.hpseudo_fs.hpsi.hpsi_types.hpsp-sev.hpsp-tee.hpstore.hpstore_ram.hpti.hptp_classify.hptp_clock_kernel.hptr_ring.hptrace.hpurgatory.hpvclock_gtod.hpwm.hpwm_backlight.hpxa168_eth.hpxa2xx_ssp.hqcom-geni-se.hqcom_scm.hqedcommon_hsi.heth_common.hfcoe_common.hiscsi_common.hiwarp_common.hnvmetcp_common.hqed_chain.hqed_eth_if.hqed_fcoe_if.hqed_if.hqed_iov_if.hqed_iscsi_if.hqed_ll2_if.hqed_nvmetcp_if.hqed_rdma_if.hqede_rdma.hrdma_common.hroce_common.hstorage_common.htcp_common.hqnx6_fs.hquicklist.hquota.hquotaops.hradix-tree.hraiddetect.hmd_u.hpq.hxor.hraid_class.hramfs.hrandom.hrange.hras.hratelimit.hratelimit_types.hrational.hrbtree.hrbtree_augmented.hrbtree_latch.hrbtree_types.hrcu_node_tree.hrcu_segcblist.hrcu_sync.hrculist.hrculist_bl.hrculist_nulls.hrcupdate.hrcupdate_trace.hrcupdate_wait.hrcutiny.hrcutree.hrcuwait.hreboot-mode.hreboot.hreciprocal_div.hrefcount.hregmap.hregset.hregulatorab8500.hact8865.harizona-ldo1.harizona-micsupp.hconsumer.hda9211.hdb8500-prcmu.hdriver.hfan53555.hfixed.hgpio-regulator.hlp3971.hlp3972.hlp872x.hmachine.hmax1586.hmax8649.hmax8660.hmax8952.hmax8973-regulator.hmt6311.hmt6323-regulator.hmt6380-regulator.hmt6397-regulator.hof_regulator.hpfuze100.htps51632-regulator.htps62360.htps6507x.huserspace-consumer.hrelay.hremoteprocremoteproc.hqcom_rproc.hst_slim_rproc.hresctrl.hreservation.hresetreset-controller.hreset.hbcm63xx_pmb.hresource.hresource_ext.hrestart_block.hrfkill.hrh_flags.hrh_kabi.hrh_kabi_aux.hrh_kabi_memcg.hrh_tasklist_lock.hrhashtable-types.hrhashtable.hring_buffer.hrio.hrio_drv.hrio_ids.hrio_regs.hrmap.hrmi.hrndis.hrodata_test.hroot_dev.hrpmsgrpmsg.hqcom_glink.hqcom_smd.hrslib.hrtcrtc.hds1286.hds1307.hds1685.hm48t59.hsirfsoc_rtciobrg.hrtmutex.hrtnetlink.hrtsx_common.hrtsx_pci.hrtsx_usb.hrwbase_rt.hrwlock.hrwlock_api_smp.hrwlock_rt.hrwlock_types.hrwsem.hs3c_adc_battery.hsa11x0-dma.hsbitmap.hscatterlist.hscc.hschedsched.hautogroup.hclock.hcoredump.hcpufreq.hcputime.hdeadline.hdebug.hhotplug.hidle.hinit.hisolation.hjobctl.hloadavg.hmm.hnohz.hnuma_balancing.hprio.hrt.hsignal.hsmt.hstat.hsysctl.htask.htask_stack.htopology.htypes.huser.hwake_q.hxacct.hsched_clock.hscif.hscmi_protocol.hscpi_protocol.hscreen_info.hscs.hsctp.hscx200.hscx200_gpio.hsdb.hsdla.hseccomp.hsecurebits.hsecurity.hsed-opal.hseg6.hseg6_genl.hseg6_hmac.hseg6_iptunnel.hseg6_local.hselection.hsem.hsemaphore.hseq_buf.hseq_file.hseq_file_net.hseqlock.hseqno-fence.hserdev.hserial.hserial_8250.hserial_bcm63xx.hserial_core.hserial_max3100.hserial_pnx8xxx.hserial_s3c.hserial_sci.hserio.hset_memory.hsfi.hsfi_acpi.hsfp.hsh_clk.hsh_dma.hsh_eth.hsh_intc.hsh_timer.hshdma-base.hshm.hshmem_fs.hshrinker.hsignal.hsignal_types.hsignalfd.hsiox.hsiphash.hsirfsoc_dma.hsizes.hskb_array.hskbuff.hskmsg.hslab.hslab_def.hslimbus.hslub_def.hsm501-regs.hsm501.hsmc911x.hsmc91x.hsmp.hsmp_types.hsmpboot.hsmsc911x.hsmscphy.hsocactionsowl-sps.hbrcmstbbrcmstb.hdovepmu.hmediatekinfracfg.hmtk_wed.hqcomapr.hmdt_loader.hqmi.hsmd-rpm.hsmem.hsmem_state.hwcnss_ctrl.hrenesasrcar-rst.hrcar-sysc.hsamsungexynos-pmu.hexynos-regs-pmu.hsunxisunxi_sram.htiknav_dma.hknav_qmss.hti-msgmgr.hti_sci_protocol.hsock_diag.hsocket.hsockptr.hsonet.hsony-laptop.hsonypi.hsort.hsound.hsoundcard.hsoundwiresdw.hsdw_intel.hsdw_registers.hsdw_type.hspiad7877.hadi_spi3.hads7846.hat73c213.hat86rf230.hcc2520.hcorgi_lcd.hds1305.heeprom.hflash.hifx_modem.hl4f00242t03.hlibertas_spi.hlms283gf05.hmax7301.hmc33880.hmcp23s08.hmmc_spi.hmxs-spi.hpxa2xx_spi.hrspi.hs3c24xx.hsh_hspi.hsh_msiof.hspi-fsl-dspi.hspi-mem.hspi.hspi_bitbang.hspi_gpio.hspi_oc_tiny.htdo24m.htle62x0.hxilinx_spi.hspinlock.hspinlock_api_smp.hspinlock_api_up.hspinlock_rt.hspinlock_types.hspinlock_types_raw.hspinlock_types_up.hspinlock_up.hsplice.hspmi.hsram.hsrcu.hsrcutiny.hsrcutree.hssbssb.hssb_driver_chipcommon.hssb_driver_extif.hssb_driver_gige.hssb_driver_mips.hssb_driver_pci.hssb_embedded.hssb_regs.hssbi.hstackdepot.hstackprotector.hstacktrace.hstart_kernel.hstat.hstatfs.hstatic_call.hstatic_call_types.hstatic_key.hstddef.hstm.hstmmac.hstmp3xxx_rtc_wdt.hstmp_device.hstop_machine.hstring.hstring_helpers.hstringhash.hstringify.hsudmac.hsungem_phy.hsunrpcaddr.hauth.hauth_gss.hbc_xprt.hcache.hclnt.hdebug.hgss_api.hgss_asn1.hgss_err.hgss_krb5.hgss_krb5_enctypes.hmetrics.hmsg_prot.hrpc_pipe_fs.hrpc_rdma.hrpc_rdma_cid.hsched.hstats.hsvc.hsvc_rdma.hsvc_rdma_pcl.hsvc_xprt.hsvcauth.hsvcauth_gss.hsvcsock.htimer.htypes.hxdr.hxprt.hxprtmultipath.hxprtrdma.hxprtsock.hsunserialcore.hsunxi-rsb.hsuperhyway.hsuspend.hsvga.hsw842.hswab.hswait.hswap.hswap_cgroup.hswap_slots.hswapfile.hswapops.hswiotlb.hswitchtec.hsxgbe_platform.hsync_core.hsync_file.hsynclink.hsys.hsys_soc.hsyscalls.hsyscore_ops.hsysctl.hsysfs.hsyslog.hsysrq.hsysv_fs.ht10-pi.htask_io_accounting.htask_io_accounting_ops.htask_work.htaskstats_kern.htboot.htc.htca6416_keypad.htcp.htee_drv.htextsearch.htextsearch_fsm.htfrc.hthermal.hthinkpad_acpi.hthread_info.hthreads.hthunderbolt.hti-emif-sram.hti_wilink_st.htick.htifm.htimb_dma.htimb_gpio.htime.htime32.htime64.htime_namespace.htimecounter.htimekeeper_internal.htimekeeping.htimekeeping32.htimer.htimerfd.htimeriomem-rng.htimerqueue.htimex.htnum.htopology.htorture.htoshiba.htpm.htpm_command.htpm_eventlog.htrace.htrace_clock.htrace_events.htrace_seq.htracefs.htracehook.htracepoint-defs.htracepoint.htransport_class.hts-nbus.htsacct_kern.htty.htty_driver.htty_flip.htty_ldisc.htypecheck.htypes.hu64_stats_sync.huaccess.hucb1400.hucs2_string.hudp.huidgid.huio.huio_driver.hulpidriver.hinterface.hregs.humh.hunalignedaccess_ok.hbe_byteshift.hbe_memmove.hbe_struct.hgeneric.hle_byteshift.hle_memmove.hle_struct.hmemmove.hpacked_struct.hunits.huprobes.husbusb.hassociation.haudio-v2.haudio-v3.haudio.hc67x00.hccid.hcdc-wdm.hcdc.hcdc_ncm.hch9.hchipidea.hcomposite.hehci-dbgp.hehci_def.hehci_pdriver.hezusb.hfunctionfs.hg_hid.hgadget.hgadget_configfs.hgpio_vbus.hhcd.hinput.hiowarrior.hirda.hisp116x.hisp1301.hisp1362.hm66592.hmusb-ux500.hmusb.hnet2280.hof.hohci_pdriver.hotg-fsm.hotg.hpd.hpd_ado.hpd_bdo.hpd_ext_sdb.hpd_vdo.hphy.hphy_companion.hquirks.hr8152.hr8a66597.hrenesas_usbhs.hrndis_host.hrole.hserial.hsl811.hstorage.htcpci.htcpm.htegra_usb_phy.htypec.htypec_altmode.htypec_dp.htypec_mux.htypec_retimer.htypec_tbt.huas.hulpi.husb338x.husb_phy_generic.husbnet.hwusb-wa.hwusb.hxhci-dbgp.husb_usual.husbdevice_fs.huser-return-notifier.huser.huser_namespace.huserfaultfd_k.husermode_driver.hutil_macros.huts.hutsname.huuid.huwbuwb.hdebug-cmd.hspec.humc.hwhci.hvbox_utils.hvdpa.hverification.hvermagic.hvexpress.hvfio.hvfs.hvga_switcheroo.hvgaarb.hvhost_iotlb.hvia-core.hvia-gpio.hvia.hvia_i2c.hvideodev2.hvirtio.hvirtio_byteorder.hvirtio_caif.hvirtio_config.hvirtio_console.hvirtio_dma_buf.hvirtio_net.hvirtio_pci_modern.hvirtio_ring.hvirtio_vsock.hvisorbus.hvlynq.hvm_event_item.hvmacache.hvmalloc.hvme.hvmpressure.hvmstat.hvmw_vmci_api.hvmw_vmci_defs.hvringh.hvt.hvt_buffer.hvt_kern.hvtime.hw1-gpio.hw1.hwait.hwait_bit.hwanrouter.hwatchdog.hwimaxdebug.hwin_minmax.hwireless.hwkup_m3_ipc.hwl12xx.hwm97xx.hwmi.hworkqueue.hwriteback.hww_mutex.hxarray.hxattr.hxxhash.hxz.hyam.hz2_battery.hzbud.hzconf.hzlib.hzorro.hzpool.hzsmalloc.hzstd.hzutil.hmath-emudouble.hop-1.hop-2.hop-4.hop-8.hop-common.hquad.hsingle.hsoft-fp.hmediacec-notifier.hcec-pin.hcec.hdavinciccdc_types.hdm355_ccdc.hdm644x_ccdc.hisif.hvpbe.hvpbe_display.hvpbe_osd.hvpbe_types.hvpbe_venc.hvpfe_capture.hvpfe_types.hvpif_types.hvpss.hdemux.hdmxdev.hdrv-intfcx2341x.hcx25840.hexynos-fimc.hmsp3400.hrenesas-ceu.hs3c_camif.hsaa7146.hsaa7146_vv.hsh_mobile_ceu.hsh_vou.hsi476x.hsoc_mediabus.htea575x.hdvb-usb-ids.hdvb_ca_en50221.hdvb_demux.hdvb_frontend.hdvb_math.hdvb_net.hdvb_ringbuffer.hdvb_vb2.hdvbdev.hframe_vector.hi2cad9389b.hadp1653.hadv7183.hadv7343.hadv7393.hadv7511.hadv7604.hadv7842.hak881x.hbt819.hcs5345.hcs53l32a.hir-kbd-i2c.hlm3560.hlm3646.hm52790.hm5mols.hmt9m032.hmt9p031.hmt9t001.hmt9t112.hmt9v011.hmt9v022.hmt9v032.hnoon010pc30.hov2659.hov7670.hov772x.hov9650.hrj54n1cb0c.hs5c73m3.hs5k4ecgx.hs5k6aa.hsaa6588.hsaa7115.hsaa7127.hsmiapp.hsr030pc30.htc358743.htda1997x.hths7303.htvaudio.htvp514x.htvp7002.htw9910.huda1342.hupd64031a.hupd64083.hwm8775.himx.hmedia-device.hmedia-devnode.hmedia-entity.hrc-core.hrc-map.hrcar-fcp.hsoc_camera.htpgv4l2-tpg.htuner-types.htuner.htveeprom.hv4l2-async.hv4l2-clk.hv4l2-common.hv4l2-ctrls.hv4l2-dev.hv4l2-device.hv4l2-dv-timings.hv4l2-event.hv4l2-fh.hv4l2-flash-led-class.hv4l2-fwnode.hv4l2-image-sizes.hv4l2-ioctl.hv4l2-mc.hv4l2-mediabus.hv4l2-mem2mem.hv4l2-rect.hv4l2-subdev.hvideobuf-core.hvideobuf-dma-contig.hvideobuf-dma-sg.hvideobuf-vmalloc.hvideobuf2-core.hvideobuf2-dma-contig.hvideobuf2-dma-sg.hvideobuf2-dvb.hvideobuf2-memops.hvideobuf2-v4l2.hvideobuf2-vmalloc.hvsp1.hmemoryjedec_ddr.hmiscaltera.hcharlcd.hcxl-base.hcxl.hcxllib.hocxl-config.hocxl.hnet6lowpan.h9p9p.hclient.htransport.hSpace.hact_api.haddrconf.haf_ieee802154.haf_rxrpc.haf_unix.haf_vsock.hah.harp.hatmclip.hax25.hax88796.hbareudp.hbluetoothbluetooth.hhci.hhci_core.hhci_mon.hhci_sock.hl2cap.hmgmt.hrfcomm.hsco.hbond_3ad.hbond_alb.hbond_options.hbonding.hbpf_sk_storage.hbusy_poll.hcaifcaif_dev.hcaif_device.hcaif_hsi.hcaif_layer.hcaif_spi.hcfcnfg.hcfctrl.hcffrml.hcfmuxl.hcfpkt.hcfserl.hcfsrvl.hcalipso.hcfg80211-wext.hcfg80211.hcfg802154.hchecksum.hcipso_ipv4.hcls_cgroup.hcodel.hcodel_impl.hcodel_qdisc.hcompat.hdatalink.hdcbevent.hdcbnl.hdevlink.hdn.hdn_dev.hdn_fib.hdn_neigh.hdn_nsp.hdn_route.hdrop_monitor.hdropreason.hdsa.hdsfield.hdst.hdst_cache.hdst_metadata.hdst_ops.herspan.hesp.hespintcp.hethoc.hfailover.hfib_notifier.hfib_rules.hfirewire.hflow.hflow_dissector.hflow_offload.hfou.hfq.hfq_impl.hgarp.hgen_stats.hgenetlink.hgeneve.hgre.hgro_cells.hgtp.hgue.hhwbm.hicmp.hieee80211_radiotap.hieee802154_netdev.hif_inet6.hife.hila.hinet6_connection_sock.hinet6_hashtables.hinet_common.hinet_connection_sock.hinet_ecn.hinet_frag.hinet_hashtables.hinet_sock.hinet_timewait_sock.hinetpeer.hip.hip6_checksum.hip6_fib.hip6_route.hip6_tunnel.hip_fib.hip_tunnels.hip_vs.hipcomp.hipconfig.hipv6.hipv6_frag.hipv6_stubs.hipx.hiucvaf_iucv.hiucv.hiw_handler.hkcm.hl3mdev.hlag.hlapb.hlib80211.hllc.hllc_c_ac.hllc_c_ev.hllc_c_st.hllc_conn.hllc_if.hllc_pdu.hllc_s_ac.hllc_s_ev.hllc_s_st.hllc_sap.hlwtunnel.hmac80211.hmac802154.hmanagdma.hhw_channel.hmana.hmana_auxiliary.hshm_channel.hmip6.hmld.hmpls.hmpls_iptunnel.hmptcp.hmrp.hncsi.hndisc.hneighbour.hnet_failover.hnet_namespace.hnet_ratelimit.hnetevent.hnetfilterbr_netfilter.hipv4nf_conntrack_ipv4.hnf_defrag_ipv4.hnf_dup_ipv4.hnf_nat_masquerade.hnf_reject.hipv6nf_conntrack_icmpv6.hnf_conntrack_ipv6.hnf_defrag_ipv6.hnf_dup_ipv6.hnf_nat_masquerade.hnf_reject.hnf_conntrack.hnf_conntrack_acct.hnf_conntrack_core.hnf_conntrack_count.hnf_conntrack_ecache.hnf_conntrack_expect.hnf_conntrack_extend.hnf_conntrack_helper.hnf_conntrack_l4proto.hnf_conntrack_labels.hnf_conntrack_seqadj.hnf_conntrack_synproxy.hnf_conntrack_timeout.hnf_conntrack_timestamp.hnf_conntrack_tuple.hnf_conntrack_zones.hnf_dup_netdev.hnf_flow_table.hnf_log.hnf_nat.hnf_nat_helper.hnf_nat_redirect.hnf_queue.hnf_reject.hnf_socket.hnf_tables.hnf_tables_core.hnf_tables_ipv4.hnf_tables_ipv6.hnf_tables_offload.hnf_tproxy.hnfnetlink_log.hnft_fib.hnft_reject.hxt_rateest.hnetlabel.hnetlink.hnetnsbpf.hcan.hconntrack.hcore.hdccp.hgeneric.hhash.hieee802154_6lowpan.hipv4.hipv6.hmib.hmpls.hnetfilter.hnftables.hpacket.hsctp.hsmc.hunix.hx_tables.hxdp.hxfrm.hnetprio_cgroup.hnetrom.hnexthop.hnfcdigital.hhci.hllc.hnci.hnci_core.hnfc.hnl802154.hnsh.hp8022.hpage_pool.hphonetgprs.hpep.hphonet.hpn_dev.hpie.hping.hpkt_cls.hpkt_sched.hpptp.hprotocol.hpsample.hpsnap.hraw.hrawv6.hred.hregulatory.hrequest_sock.hrose.hroute.hrsi_91x.hrtnetlink.hsch_generic.hscm.hsctpauth.hchecksum.hcommand.hconstants.hsctp.hsm.hstream_interleave.hstream_sched.hstructs.htsnmap.hulpevent.hulpqueue.hsecure_seq.hseg6.hseg6_hmac.hseg6_local.hslhc_vj.hsmc.hsnmp.hsock.hsock_reuseport.hstp.hstrparser.hswitchdev.htc_acttc_bpf.htc_connmark.htc_csum.htc_ct.htc_ctinfo.htc_defact.htc_gact.htc_gate.htc_ife.htc_ipt.htc_mirred.htc_mpls.htc_nat.htc_pedit.htc_police.htc_sample.htc_skbedit.htc_skbmod.htc_tunnel_key.htc_vlan.htcp.htcp_states.htimewait_sock.htipc.htls.htls_toe.htransp_v6.htso.htun_proto.hudp.hudp_tunnel.hudplite.hvsock_addr.hvxlan.hwext.hwimax.hx25.hx25device.hxdp.hxdp_priv.hxdp_sock.hxdp_sock_drv.hxfrm.hxsk_buff_pool.hpcmciaciscode.hcisreg.hcistpl.hdevice_id.hds.hss.hrasras_event.hrdmaib.hib_addr.hib_cache.hib_cm.hib_hdrs.hib_mad.hib_marshall.hib_pack.hib_pma.hib_sa.hib_smi.hib_sysfs.hib_umem.hib_umem_odp.hib_verbs.hiba.hibta_vol1_c12.hiw_cm.hiw_portmap.hlag.hmr_pool.hopa_addr.hopa_port_info.hopa_smi.hopa_vnic.hrdma_cm.hrdma_cm_ib.hrdma_counter.hrdma_netlink.hrdma_vt.hrdmavt_cq.hrdmavt_mr.hrdmavt_qp.hrestrack.hrw.hsignature.htid_rdma_defs.huverbs_ioctl.huverbs_named_ioctl.huverbs_std_types.huverbs_types.hscsifcfc_encaps.hfc_fc2.hfc_fcoe.hfc_fcp.hfc_fip.hfc_ms.hfc_frame.hfcoe_sysfs.hiscsi_if.hiscsi_proto.hiser.hlibfc.hlibfcoe.hlibiscsi.hlibiscsi_tcp.hlibsas.hosd_attributes.hosd_protocol.hosd_sec.hosd_sense.hosd_types.hsas.hsas_ata.hscsi.hscsi_bsg_iscsi.hscsi_cmnd.hscsi_common.hscsi_dbg.hscsi_device.hscsi_devinfo.hscsi_dh.hscsi_driver.hscsi_eh.hscsi_host.hscsi_ioctl.hscsi_proto.hscsi_request.hscsi_tcq.hscsi_transport.hscsi_transport_fc.hscsi_transport_iscsi.hscsi_transport_sas.hscsi_transport_spi.hscsi_transport_srp.hscsicam.hsg.hsrp.hviosrp.hsocarcaux.hmcip.htimers.hat91at91sam9_ddrsdr.hat91sam9_sdramc.hatmel-secumod.hatmel-sfr.hbcm2835raspberrypi-firmware.hbrcmstbcommon.hfslbman.hqeimmap_qe.hqe.hqe_ic.hqe_tdm.hucc.hucc_fast.hucc_slow.hqman.himxcpuidle.hrevision.htimer.hmediateksmi.hnpscommon.hmtm.hqcomcmd-db.hrockchiprockchip_sip.hsa1100pwer.htegraahb.hbpmp-abi.hbpmp.hcommon.hcpuidle.hemc.hflowctrl.hfuse.hivc.hmc.hpm.hpmc.hsoundac97codec.hcompat.hcontroller.hregs.hac97_codec.haci.had1816a.had1843.hadau1373.haess.hak4113.hak4114.hak4117.hak4531_codec.hak4641.hak4xxx-adda.halc5623.hasequencer.hasound.hasoundef.hcompress_driver.hcontrol.hcore.hcs35l33.hcs35l34.hcs35l35.hcs35l36.hcs35l41.hcs4231-regs.hcs4271.hcs42l42.hcs42l52.hcs42l56.hcs42l73.hcs8403.hcs8427.hda7213.hda7218.hda7219-aad.hda7219.hda9055.hdesignware_i2s.hdmaengine_pcm.hemu10k1.hemu10k1_synth.hemu8000.hemu8000_reg.hemux_legacy.hemux_synth.hes1688.hgraph_card.hgus.hhda_chmap.hhda_codec.hhda_component.hhda_hwdep.hhda_i915.hhda_register.hhda_regmap.hhda_verbs.hhdaudio.hhdaudio_ext.hhdmi-codec.hhwdep.hi2c.hinfo.hinitval.hintel-dsp-config.hintel-nhlt.hjack.hl3.hmax9768.hmax98088.hmax98090.hmax98095.hmemalloc.hminors.hmixer_oss.hmpu401.homap-hdmi-audio.hopl3.hopl4.hpcm-indirect.hpcm.hpcm_drm_eld.hpcm_iec958.hpcm_oss.hpcm_params.hpt2258.hpxa2xx-lib.hrawmidi.hrt1015.hrt286.hrt298.hrt5514.hrt5659.hrt5660.hrt5663.hrt5665.hrt5668.hrt5682.hrt5682s.hs3c24xx_uda134x.hsb.hsb16_csp.hseq_device.hseq_kernel.hseq_midi_emul.hseq_midi_event.hseq_oss.hseq_oss_legacy.hseq_virmidi.hsh_dac_audio.hsh_fsi.hsimple_card.hsimple_card_utils.hsnd_wavefront.hsoc-acpi-intel-match.hsoc-acpi.hsoc-card.hsoc-component.hsoc-dai.hsoc-dapm.hsoc-dpcm.hsoc-jack.hsoc-link.hsoc-topology.hsoc.hsofsof.hchannel_map.hcontrol.hdai-amd.hdai-imx.hdai-intel.hdai-mediatek.hdai.hdebug.hext_manifest.hext_manifest4.hheader.hinfo.hipc4header.hpm.hstream.htopology.htrace.hxtensa.hsoundfont.hspear_dma.hspear_spdif.hsta32x.hsta350.htas2552-plat.htas5086.htea6330t.htimer.htlv.htlv320aic32x4.htlv320aic3x.htlv320dac33-plat.htpa6130a2-plat.huda134x.huda1380.hutil_mem.hvx_core.hwavefront.hwm0010.hwm1250-ev1.hwm2000.hwm2200.hwm5100.hwm8903.hwm8904.hwm8955.hwm8960.hwm8962.hwm8993.hwm8996.hwm9081.hwm9090.hwss.htargetiscsiiscsi_target_core.hiscsi_target_stat.hiscsi_transport.htarget_core_backend.htarget_core_base.htarget_core_fabric.htracebpf_probe.hdefine_trace.hevents9p.hafs.halarmtimer.hasoc.havc.hbcache.hblock.hbpf_test_run.hbridge.hbtrfs.hcachefiles.hcgroup.hclk.hcma.hcompaction.hcontext_tracking.hcpuhp.hdamon.hdevlink.hdma_fence.hext4.hf2fs.hfib.hfib6.hfilelock.hfilemap.hfs.hfs_dax.hfscache.hfsi.hfsi_master_gpio.hgpio.hhost1x.hhuge_memory.hi2c.hib_mad.hib_umad.hinitcall.hintel-sst.hintel_iommu.hintel_ish.hio_uring.hiocost.hiommu.hipi.hirq.hirq_matrix.hiscsi.hjbd2.hkmem.hkvm.hkyber.hlibata.hlock.hmce.hmdio.hmigrate.hmlxsw.hmmc.hmmflags.hmodule.hmptcp.hnapi.hneigh.hnet.hnet_probe_common.hnetlink.hnfs.hnilfs2.hnmi.hobjagg.hoom.hosnoise.hpage_isolation.hpage_pool.hpage_ref.hpagemap.hpercpu.hpower.hpower_cpu_migrate.hpreemptirq.hprintk.hpwc.hqdisc.hqla.hqrtr.hrandom.hrcu.hrdma.hrdma_core.hregulator.hrpcgss.hrpcrdma.hrpm.hrseq.hrtc.hrxrpc.hsched.hscsi.hsctp.hsignal.hsiox.hskb.hsmbus.hsock.hspi.hspmi.hsunrpc.hsunrpc_base.hsunvnet.hswiotlb.hsyscalls.htarget.htask.htcp.hthermal.hthermal_power_allocator.hthp.htimer.htlb.hudp.hufs.hv4l2.hvb2.hvmscan.hvsock_virtio_transport_common.hwbt.hworkqueue.hwriteback.hxdp.hxen.hperf.hsyscall.htrace_events.huapiasm-genericKbuild.asmauxvec.hbitsperlong.hbpf_perf_event.herrno-base.herrno.hfcntl.hhugetlb_encode.hint-l64.hint-ll64.hioctl.hioctls.hipcbuf.hkvm_para.hmman-common.hmman.hmsgbuf.hparam.hpoll.hposix_types.hresource.hsembuf.hsetup.hshmbuf.hshmparam.hsiginfo.hsignal-defs.hsignal.hsocket.hsockios.hstat.hstatfs.hswab.htermbits.htermios.htypes.hucontext.hunistd.hdrmamdgpu_drm.harmada_drm.hdrm.hdrm_fourcc.hdrm_mode.hdrm_sarea.hetnaviv_drm.hexynos_drm.hi810_drm.hi915_drm.hlima_drm.hmga_drm.hmsm_drm.hnouveau_drm.homap_drm.hpanfrost_drm.hqxl_drm.hr128_drm.hradeon_drm.hsavage_drm.hsis_drm.htegra_drm.hv3d_drm.hvc4_drm.hvgem_drm.hvia_drm.hvirtgpu_drm.hvmwgfx_drm.hlinuxKbuilda.out.hacct.hadb.hadfs_fs.haffs_hardblocks.hagpgart.haio_abi.ham437x-vpfe.handroidbinder.hapm_bios.harcfb.harm_sdei.haspeed-lpc-ctrl.hatalk.hatm.hatm_eni.hatm_he.hatm_idt77105.hatm_nicstar.hatm_tcp.hatm_zatm.hatmapi.hatmarp.hatmbr2684.hatmclip.hatmdev.hatmioc.hatmlec.hatmmpc.hatmppp.hatmsap.hatmsvc.haudit.hauto_dev-ioctl.hauto_fs.hauto_fs4.hauxvec.hax25.hb1lli.hbatadv_packet.hbatman_adv.hbaycom.hbcache.hbcm933xx_hcs.hbfs_fs.hbinfmts.hblkpg.hblktrace_api.hblkzoned.hbpf.hbpf_common.hbpf_perf_event.hbpfilter.hbpqether.hbsg.hbt-bmc.hbtf.hbtrfs.hbtrfs_tree.hbyteorderbig_endian.hlittle_endian.hcaifcaif_socket.hif_caif.hcancan.hbcm.herror.hgw.hnetlink.hraw.hvxcan.hcapability.hcapi.hcciss_defs.hcciss_ioctl.hcdrom.hcec-funcs.hcec.hcfm_bridge.hcgroupstats.hchio.hcifscifs_mount.hcifs_netlink.hclose_range.hcm4000_cs.hcn_proc.hcoda.hcoda_psdev.hcoff.hconnector.hconst.hcoresight-stm.hcramfs_fs.hcryptouser.hcuda.hcyclades.hcycx_cfm.hdcbnl.hdccp.hdevlink.hdlm.hdlm_device.hdlm_netlink.hdlm_plock.hdlmconstants.hdm-ioctl.hdm-log-userspace.hdma-buf.hdn.hdqblk_xfs.hdvbaudio.hca.hdmx.hfrontend.hnet.hosd.hversion.hvideo.hedd.hefs_fs_sb.helf-em.helf-fdpic.helf.helfcore.herrno.herrqueue.herspan.hethtool.hethtool_netlink.heventpoll.hfadvise.hfalloc.hfanotify.hfb.hfcntl.hfd.hfdreg.hfib_rules.hfiemap.hfilter.hfirewire-cdev.hfirewire-constants.hflat.hfou.hfpga-dfl.hfs.hfsl_hypervisor.hfsmap.hfuse.hfutex.hgameport.hgen_stats.hgenetlink.hgenwqegenwqe_card.hgfs2_ondisk.hgigaset_dev.hgpio.hgsmmux.hgtp.hhash_info.hhdlchdlc.hioctl.hhdlcdrv.hhdreg.hhid.hhiddev.hhidraw.hhpet.hhsics-protocol.hhsi_char.hhsr_netlink.hhw_breakpoint.hhyperv.hhysdn_if.hi2c-dev.hi2c.hi2o-dev.hi8k.hicmp.hicmpv6.hidxd.hif.hif_addr.hif_addrlabel.hif_alg.hif_arcnet.hif_arp.hif_bonding.hif_bridge.hif_cablemodem.hif_eql.hif_ether.hif_fc.hif_fddi.hif_frad.hif_hippi.hif_infiniband.hif_link.hif_ltalk.hif_macsec.hif_packet.hif_phonet.hif_plip.hif_ppp.hif_pppol2tp.hif_pppox.hif_slip.hif_team.hif_tun.hif_tunnel.hif_vlan.hif_x25.hif_xdp.hife.higmp.hiioevents.htypes.hila.hin.hin6.hin_route.hinet_diag.hinotify.hinput-event-codes.hinput.hio_uring.hioctl.hiommu.hip.hip6_tunnel.hip_vs.hipc.hipmi.hipmi_bmc.hipmi_msgdefs.hipsec.hipv6.hipv6_route.hipx.hirqnr.hisdnisdn.hcapicmd.hisdn_divertif.hisdn_ppp.hisdnif.hiso_fs.hisst_if.hivtv.hivtvfb.hjffs2.hjoystick.hkcm.hkcmp.hkcov.hkd.hkdev_t.hkernel-page-flags.hkernel.hkernelcapi.hkexec.hkeyboard.hkeyctl.hkfd_ioctl.hkfd_sysfs.hkvm.hkvm_para.hl2tp.hlibc-compat.hlightnvm.hlimits.hlirc.hllc.hloop.hlp.hlwtunnel.hmagic.hmajor.hmap_to_7segment.hmatroxfb.hmax2175.hmdio.hmedia-bus-format.hmedia.hmei.hmembarrier.hmemfd.hmempolicy.hmeye.hmic_common.hmic_ioctl.hmii.hminix_fs.hmman.hmmcioctl.hmmtimer.hmodule.hmount.hmpls.hmpls_iptunnel.hmptcp.hmqueue.hmroute.hmroute6.hmrp_bridge.hmsdos_fs.hmsg.hmtio.hn_r3964.hnbd-netlink.hnbd.hncsi.hndctl.hneighbour.hnet.hnet_dropmon.hnet_namespace.hnet_tstamp.hnetconf.hnetdevice.hnetfilternetfilter.hipsetip_set.hip_set_bitmap.hip_set_hash.hip_set_list.hnf_conntrack_common.hnf_conntrack_ftp.hnf_conntrack_sctp.hnf_conntrack_tcp.hnf_conntrack_tuple_common.hnf_log.hnf_nat.hnf_osf.hnf_tables.hnf_tables_compat.hnfnetlink.hnfnetlink_acct.hnfnetlink_compat.hnfnetlink_conntrack.hnfnetlink_cthelper.hnfnetlink_cttimeout.hnfnetlink_log.hnfnetlink_queue.hx_tables.hxt_AUDIT.hxt_CHECKSUM.hxt_CLASSIFY.hxt_CONNMARK.hxt_CONNSECMARK.hxt_CT.hxt_DSCP.hxt_HMARK.hxt_IDLETIMER.hxt_LED.hxt_LOG.hxt_MARK.hxt_NFLOG.hxt_NFQUEUE.hxt_RATEEST.hxt_SECMARK.hxt_SYNPROXY.hxt_TCPMSS.hxt_TCPOPTSTRIP.hxt_TEE.hxt_TPROXY.hxt_addrtype.hxt_bpf.hxt_cgroup.hxt_cluster.hxt_comment.hxt_connbytes.hxt_connlabel.hxt_connlimit.hxt_connmark.hxt_conntrack.hxt_cpu.hxt_dccp.hxt_devgroup.hxt_dscp.hxt_ecn.hxt_esp.hxt_hashlimit.hxt_helper.hxt_ipcomp.hxt_iprange.hxt_ipvs.hxt_l2tp.hxt_length.hxt_limit.hxt_mac.hxt_mark.hxt_multiport.hxt_nfacct.hxt_osf.hxt_owner.hxt_physdev.hxt_pkttype.hxt_policy.hxt_quota.hxt_rateest.hxt_realm.hxt_recent.hxt_rpfilter.hxt_sctp.hxt_set.hxt_socket.hxt_state.hxt_statistic.hxt_string.hxt_tcpmss.hxt_tcpudp.hxt_time.hxt_u32.hnetfilter_arpnetfilter_arp.harp_tables.harpt_mangle.hnetfilter_bridgenetfilter_bridge.hebt_802_3.hebt_among.hebt_arp.hebt_arpreply.hebt_ip.hebt_ip6.hebt_limit.hebt_log.hebt_mark_m.hebt_mark_t.hebt_nat.hebt_nflog.hebt_pkttype.hebt_redirect.hebt_stp.hebt_vlan.hebtables.hnetfilter_decnet.hnetfilter_ipv4netfilter_ipv4.hip_tables.hipt_CLUSTERIP.hipt_ECN.hipt_LOG.hipt_REJECT.hipt_TTL.hipt_ah.hipt_ecn.hipt_ttl.hnetfilter_ipv6netfilter_ipv6.hip6_tables.hip6t_HL.hip6t_LOG.hip6t_NPT.hip6t_REJECT.hip6t_ah.hip6t_frag.hip6t_hl.hip6t_ipv6header.hip6t_mh.hip6t_opts.hip6t_rt.hip6t_srh.hnetlink.hnetlink_diag.hnetrom.hnexthop.hnfc.hnfs.hnfs2.hnfs3.hnfs4.hnfs4_mount.hnfs_fs.hnfs_idmap.hnfs_mount.hnfsacl.hnfsdcld.hdebug.hexport.hstats.hnilfs2_api.hnilfs2_ondisk.hnitro_enclaves.hnl80211.hnsfs.hnubus.hnvme_ioctl.hnvram.homap3isp.homapfb.hoom.hopenat2.hopenvswitch.hpacket_diag.hparam.hparport.hpatchkey.hpci.hpci_regs.hpcitest.hperf_event.hpersonality.hpfkeyv2.hpfrut.hpg.hphantom.hphonet.hpkt_cls.hpkt_sched.hpktcdvd.hpmu.hpoll.hposix_acl.hposix_acl_xattr.hposix_types.hppdev.hppp-comp.hppp-ioctl.hppp_defs.hpps.hpr.hprctl.hpsample.hpsci.hpsp-sev.hptp_clock.hptrace.hqemu_fw_cfg.hqnx4_fs.hqnxtypes.hqrtr.hquota.hradeonfb.hraidmd_p.hmd_u.hrandom.hraw.hrds.hreboot.hreiserfs_fs.hreiserfs_xattr.hresource.hrfkill.hrio_cm_cdev.hrio_mport_cdev.hromfs_fs.hrose.hroute.hrpmsg.hrseq.hrtc.hrtnetlink.hrxrpc.hscc.hschedsched.htypes.hscif_ioctl.hscreen_info.hsctp.hsdla.hseccomp.hsecurebits.hsed-opal.hseg6.hseg6_genl.hseg6_hmac.hseg6_iptunnel.hseg6_local.hselinux_netlink.hsem.hserial.hserial_core.hserial_reg.hserio.hsev-guest.hshm.hsignal.hsignalfd.hsmc.hsmc_diag.hsmiapp.hsnmp.hsock_diag.hsocket.hsockios.hsonet.hsonypi.hsound.hsoundcard.hspispidev.hstat.hstddef.hstm.hstring.hsunrpcdebug.hsuspend_ioctls.hswab.hswitchtec_ioctl.hsync_file.hsynclink.hsysctl.hsysinfo.htarget_core_user.htaskstats.htc_acttc_bpf.htc_connmark.htc_csum.htc_ct.htc_ctinfo.htc_defact.htc_gact.htc_gate.htc_ife.htc_ipt.htc_mirred.htc_mpls.htc_nat.htc_pedit.htc_sample.htc_skbedit.htc_skbmod.htc_tunnel_key.htc_vlan.htc_ematchtc_em_cmp.htc_em_ipt.htc_em_meta.htc_em_nbyte.htc_em_text.htcp.htcp_metrics.htdx-guest.htee.htermios.hthermal.htime.htime_types.htimerfd.htimes.htimex.htiocl.htipc.htipc_config.htipc_netlink.htipc_sockets_diag.htls.htoshiba.htty.htty_flags.htypes.hudf_fs_i.hudp.huhid.huinput.huio.huleds.hultrasound.hun.hunistd.hunix_diag.husbaudio.hcdc-wdm.hcdc.hch11.hch9.hcharger.hfunctionfs.hg_printer.hg_uvc.hgadgetfs.hmidi.htmc.hvideo.husbdevice_fs.husbip.huserfaultfd.huserio.hutime.hutsname.huuid.huvcvideo.hv4l2-common.hv4l2-controls.hv4l2-dv-timings.hv4l2-mediabus.hv4l2-subdev.hvbox_err.hvbox_vmmdev_types.hvboxguest.hvdpa.hveth.hvfio.hvfio_ccw.hvfio_zdev.hvhost.hvhost_types.hvideodev2.hvirtio_9p.hvirtio_balloon.hvirtio_blk.hvirtio_bt.hvirtio_config.hvirtio_console.hvirtio_crypto.hvirtio_fs.hvirtio_gpu.hvirtio_ids.hvirtio_input.hvirtio_iommu.hvirtio_mmio.hvirtio_net.hvirtio_pci.hvirtio_ring.hvirtio_rng.hvirtio_scsi.hvirtio_snd.hvirtio_types.hvirtio_vsock.hvm_sockets.hvm_sockets_diag.hvmcore.hvsockmon.hvt.hvtpm_proxy.hwait.hwanrouter.hwatchdog.hwimaxwimax.hi2400m.hwireless.hwmi.hx25.hxattr.hxdp_diag.hxfrm.hxilinx-v4l2-controls.hzorro.hzorro_ids.hmisccxl.hocxl.hpvpanic.hmtdinftl-user.hmtd-abi.hmtd-user.hnftl-user.hubi-user.hrdmabnxt_re-abi.hcxgb4-abi.hefa-abi.hhfihfi1_ioctl.hhfi1_user.hhns-abi.hib_user_ioctl_cmds.hib_user_ioctl_verbs.hib_user_mad.hib_user_sa.hib_user_verbs.hirdma-abi.hmlx4-abi.hmlx5-abi.hmlx5_user_ioctl_cmds.hmlx5_user_ioctl_verbs.hmthca-abi.hocrdma-abi.hqedr-abi.hrdma_netlink.hrdma_user_cm.hrdma_user_ioctl.hrdma_user_ioctl_cmds.hrdma_user_rxe.hrvt-abi.hsiw-abi.hvmw_pvrdma-abi.hscsicxlflash_ioctl.hfcfc_els.hfc_fs.hfc_gs.hfc_ns.hscsi_bsg_fc.hscsi_bsg_mpi3mr.hscsi_netlink.hscsi_netlink_fc.hsoundasequencer.hasoc.hasound.hasound_fm.hcompress_offload.hcompress_params.hemu10k1.hfirewire.hhdsp.hhdspm.hintelavstokens.hsb16_csp.hsfnt_info.hskl-tplg-interface.hsnd_sst_tokens.hsofabi.hfw.hheader.htokens.htlv.husb_stream.hvideoedid.hsisfb.huvesafb.hxenevtchn.hgntalloc.hgntdev.hprivcmd.hvdsobits.hclocksource.hconst.hdatapage.hhelpers.hjiffies.hktime.hlimits.hmath64.hprocessor.htime.htime32.htime64.hvsyscall.hvideoatmel_lcdc.haty128.hbroadsheetfb.hcirrus.hcvisionppc.hda8xx-fb.hdisplay_timing.hedid.hgbe.hhecubafb.hili9320.himx-ipu-image-convert.himx-ipu-v3.hkyro.hmach64.hmaxinefb.hmbxfb.hmetronomefb.hmipi_display.hmmp_disp.hneomagic.hnewport.hof_display_timing.hof_videomode.homap-panel-data.homapfb_dss.homapvrfb.hpermedia2.hplatform_lcd.hpm3fb.hpmag-ba-fb.hpmagb-b-fb.hpxa168fb.hradeon.hs1d13xxxfb.hsa1100fb.hsamsung_fimd.hsh_mobile_lcdc.hsisfb.hsstfb.htdfx.htgafb.htrident.hudlfb.huvesafb.hvga.hvideomode.hw100fb.hxenacpi.harmhypercall.hhypervisor.hinterface.hpage-coherent.hpage.hballoon.hevents.hfeatures.hgrant_table.hhvc-console.hhvm.hinterfacecallback.helfnote.hevent_channel.hfeatures.hgrant_table.hhvmdm_op.hhvm_op.hhvm_vcpu.hparams.hstart_info.hio9pfs.hblkif.hconsole.hdisplif.hfbif.hkbdif.hnetif.hpciif.hprotocols.hpvcalls.hring.hsndif.htpmif.hvscsiif.hxenbus.hxs_wire.hmemory.hnmi.hphysdev.hplatform.hsched.hvcpu.hversion.hxen-mca.hxen.hxenpmu.hpage.hplatform_pci.hswiotlb-xen.htmem.hxen-front-pgdir-shbuf.hxen-ops.hxen.hxenbus.hxenbus_dev.hinitKconfigMakefileipcMakefilekernelKconfig.freezerKconfig.hzKconfig.locksKconfig.preemptMakefilebpfKconfigMakefilepreloadKconfigMakefileiteratorsMakefilecgroupMakefiledebugMakefilekdbMakefiledmaKconfigMakefileeventsMakefilegcovKconfigMakefileirqKconfigMakefilekcsanMakefilelivepatchKconfigMakefilelockingMakefilepowerKconfigMakefileprintkMakefilercuKconfigKconfig.debugMakefileschedMakefiletimeKconfigMakefiletraceKconfigMakefilelib842MakefileKconfigKconfig.debugKconfig.kasanKconfig.kcsanKconfig.kgdbKconfig.ubsanMakefilecryptoMakefiledimMakefilefontsKconfigMakefilekunitKconfigMakefilelivepatchMakefilelz4MakefilelzoMakefilemathKconfigMakefilempiMakefilepldmfwMakefileraid6MakefiletestMakefilereed_solomonMakefilevdsoKconfigMakefilexzKconfigMakefilezlib_deflateMakefilezlib_dfltccMakefilezlib_inflateMakefilezstdMakefilemmKconfigKconfig.debugMakefiledamonKconfigMakefilekasanMakefilenet6lowpanKconfigMakefile802KconfigMakefile8021qKconfigMakefile9pKconfigMakefileKconfigMakefileappletalkMakefileatmKconfigMakefileax25KconfigMakefilebatman-advKconfigMakefilebluetoothKconfigMakefilebnepKconfigMakefilecmtpKconfigMakefilehidpKconfigMakefilerfcommKconfigMakefilebpfMakefilebpfilterKconfigMakefilebridgeKconfigMakefilenetfilterKconfigMakefilecaifKconfigMakefilecanKconfigMakefilecephKconfigMakefilecoreMakefiledcbKconfigMakefiledccpKconfigMakefileccidsKconfigdecnetKconfigMakefilenetfilterKconfigMakefiledns_resolverKconfigMakefiledsaKconfigMakefileethernetMakefileethtoolMakefilehsrKconfigMakefileieee8021546lowpanKconfigMakefileKconfigMakefileifeKconfigMakefileipv4KconfigMakefilebpfilterMakefilenetfilterKconfigMakefileipv6KconfigMakefileilaMakefilenetfilterKconfigMakefileiucvKconfigMakefilekcmKconfigMakefilekeyMakefilel2tpKconfigMakefilel3mdevKconfigMakefilelapbKconfigMakefilellcKconfigMakefilemac80211KconfigMakefilemac802154KconfigMakefilemplsKconfigMakefilemptcpKconfigMakefilencsiKconfigMakefilenetfilterKconfigMakefileipsetKconfigMakefileipvsKconfigMakefilenetlabelKconfigMakefilenetlinkKconfigMakefilenetromMakefilenfcKconfigMakefilehciKconfigMakefilenciKconfigMakefilenshKconfigMakefileopenvswitchKconfigMakefilepacketKconfigMakefilephonetKconfigMakefilepsampleKconfigMakefileqrtrKconfigMakefilerdsKconfigMakefilerfkillKconfigMakefileroseMakefilerxrpcKconfigMakefileschedKconfigMakefilesctpKconfigMakefilesmcKconfigMakefilestrparserKconfigMakefilesunrpcKconfigMakefileauth_gssMakefilexprtrdmaMakefileswitchdevKconfigMakefiletipcKconfigMakefiletlsKconfigMakefileunixKconfigMakefilevmw_vsockKconfigMakefilewimaxKconfigMakefilewirelessKconfigMakefilex25KconfigMakefilexdpKconfigMakefilexfrmKconfigMakefilesamplesKconfigMakefileauxdisplayMakefilebpfMakefileMakefile.targetconfigfsMakefileconnectorMakefilehidrawMakefilehw_breakpointMakefilekdbMakefilekfifoMakefilekobjectMakefilekprobesMakefilelivepatchMakefilemeiMakefilemicmpssdMakefilenitro_enclavesMakefileqmiMakefilerpmsgMakefileseccompMakefiletimersMakefiletrace_eventsMakefiletrace_printkMakefileuhidMakefilev4lMakefilevfio-mdevMakefilevfsMakefilewatchdogMakefilescriptsKbuild.includeKconfig.includeLindentMakefileMakefile.asm-genericMakefile.buildMakefile.cleanMakefile.dtbinstMakefile.extrawarnMakefile.gcc-pluginsMakefile.headersinstMakefile.hostMakefile.kasanMakefile.kcovMakefile.kcsanMakefile.libMakefile.modbuiltinMakefile.modinstMakefile.modpostMakefile.modsignMakefile.ubsanadjust_autoksyms.shasn1_compilerasn1_compiler.cbasicMakefilebin2cbin2c.cfixdepfixdep.cmodules.orderbloat-o-meterbootgraph.plbpf_doc.pycc-can-link.shcheck_00index.shcheck_extable.shcheckincludes.plcheckkconfigsymbols.pycheckpatch.plcheckstack.plchecksyscalls.shcheckversion.plclang-toolsgen_compile_commands.pyrun-clang-tools.pyclang-version.shcleanfilecleanpatchcoccicheckcoccinelleapiallocalloc_cast.coccipool_zalloc-simple.coccizalloc-simple.coccicheck_bq27xxx_data.coccid_find_alias.coccidebugfsdebugfs_simple_attr.coccidrm-get-put.coccierr_cast.coccikstrdup.coccimemdup.coccimemdup_user.cocciplatform_no_drv_owner.coccipm_runtime.cocciptr_ret.cocciresource_size.coccisimple_open.coccivma_pages.coccifreeclk_put.coccidevm_free.cocciifnullfree.cocciiounmap.coccikfree.coccikfreeaddr.coccipci_free_consistent.cocciiteratorsdevice_node_continue.coccifen.cocciitnull.coccilist_entry_update.cocciuse_after_iter.coccilockscall_kern.coccidouble_lock.cocciflags.coccimini_lock.coccimiscarray_size.coccibadty.cocciboolconv.cocciboolinit.cocciboolreturn.coccibugon.coccicond_no_effect.coccicstptr.coccidoubleinit.cocciifaddr.cocciifcol.cocciirqf_oneshot.coccinewline_in_nl_msg.coccinoderef.cocciof_table.cocciorplus.coccireturnvar.coccisemicolon.cocciwarn.coccinullbadzero.coccideref_null.coccieno.coccikmerr.coccitestsdoublebitand.coccidoubletest.cocciodd_ptr_err.cocciunsigned_lesser_than_zero.cocciconfigconmakehashconmakehash.cconst_structs.checkpatchdecode_stacktrace.shdecodecodedepmod.shdiffconfigdocumentation-file-ref-checkdtcMakefileMakefile.dtcchecks.cdata.cdt_to_configdtcdtc-lexer.ldtc-lexer.lex.cdtc-parser.tab.cdtc-parser.tab.hdtc-parser.ydtc.cdtc.hdtx_difffdtdump.cfdtget.cfdtput.cflattree.cfstree.cinclude-prefixesarcarmarm64c6xdt-bindingsh8300microblazemipsnios2openriscpowerpcshxtensalibfdtMakefile.libfdtfdt.cfdt.hfdt_addresses.cfdt_empty_tree.cfdt_overlay.cfdt_ro.cfdt_rw.cfdt_strerror.cfdt_sw.cfdt_wip.clibfdt.hlibfdt_env.hlibfdt_internal.hlivetree.cmodules.ordersrcpos.csrcpos.htreesource.cupdate-dtc-source.shutil.cutil.hversion_gen.hyamltree.cexport_report.plextract-certextract-cert.cextract-ikconfigextract-module-sig.plextract-sys-certs.plextract-vmlinuxextract_xc3028.plfaddr2linefile-size.shfind-unused-docs.shgcc-goto.shgcc-ldgcc-plugin.shgcc-pluginsMakefilecyc_complexity_plugin.cgcc-common.hgcc-generate-gimple-pass.hgcc-generate-ipa-pass.hgcc-generate-rtl-pass.hgcc-generate-simple_ipa-pass.hgen-random-seed.shlatent_entropy_plugin.crandomize_layout_plugin.csancov_plugin.cstructleak_plugin.cgcc-version.shgcc-x86_32-has-stack-protector.shgcc-x86_64-has-stack-protector.shgdbMakefilelinuxMakefile__init__.pyconstants.py.incpus.pydmesg.pylists.pymodules.pyproc.pysymbols.pytasks.pyutils.pyvmlinux-gdb.pygen_initramfs_list.shgenksymsMakefilegenksymsgenksyms.cgenksyms.hkeywords.clex.llex.lex.cmodules.orderparse.tab.cparse.tab.hparse.yget_dvb_firmwareget_maintainer.plgfp-translateheaderdep.plheaders.shheaders_check.plheaders_install.shinsert-sys-certinsert-sys-cert.ckallsymskallsyms.ckconfigMakefileconfconf.cconfdata.cexpr.cexpr.hgconf-cfg.shgconf.cgconf.gladeimages.ckconf_id.clist.hlkc.hlkc_proto.hlxdialogBIG.FAT.WARNINGchecklist.cdialog.hinputbox.cmenubox.ctextbox.cutil.cyesno.cmconf-cfg.shmconf.cmenu.cmerge_config.shnconf-cfg.shnconf.cnconf.gui.cnconf.hpreprocess.cqconf-cfg.shqconf.ccqconf.hstreamline_config.plsymbol.ctestsauto_submenuKconfig__init__.pyexpected_stdoutchoiceKconfig__init__.pyalldef_expected_configallmod_expected_configallno_expected_configallyes_expected_configoldask0_expected_stdoutoldask1_configoldask1_expected_stdoutchoice_value_with_m_depKconfig__init__.pyconfigexpected_configexpected_stdoutconftest.pyerr_recursive_depKconfig__init__.pyexpected_stderrerr_recursive_incKconfigKconfig.inc1Kconfig.inc2Kconfig.inc3__init__.pyexpected_stderrinter_choiceKconfig__init__.pydefconfigexpected_confignew_choice_with_depKconfig__init__.pyconfigexpected_stdoutno_write_if_dep_unmetKconfig__init__.pyconfigexpected_configpreprocessbuiltin_funcKconfig__init__.pyexpected_stderrexpected_stdoutcircular_expansionKconfig__init__.pyexpected_stderrescapeKconfig__init__.pyexpected_stderrvariableKconfig__init__.pyexpected_stderrpytest.inirand_nested_choiceKconfig__init__.pyexpected_stdout0expected_stdout1expected_stdout2util.czconf.lzconf.lex.czconf.tab.czconf.ykernel-docksymoopsREADMEld-version.shleaking_addresses.pllink-vmlinux.shmakelstmarkup_oops.plmkcompile_hmkmakefilemksysmapmkuboot.shmodMakefiledevicetable-offsets.cdevicetable-offsets.c.000i.ipa-clonesdevicetable-offsets.hdevicetable-offsets.selfconfig.hempty.cempty.c.000i.ipa-clonesfile2alias.cmk_elfconfigmk_elfconfig.cmodpostmodpost.cmodpost.hmodules.ordersumversion.cmodule-common.ldsmodules.ordernamespace.plobjdiffpackageMakefilebuilddebbuildtarmkdebianmkspecsnapcraft.templateparse-maintainers.plpatch-kernelpnmtologopnmtologo.cprofile2linkerlist.plprune-kernelrecordmcount.crecordmcount.hrecordmcount.plselinuxMakefileREADMEgenheadersMakefilegenheadersgenheaders.cmodules.orderinstall_policy.shmdpMakefiledbus_contextsmdpmdp.cmodules.ordermodules.ordersetlocalversionshow_deltasign-filesign-file.csortextablesortextable.csortextable.hspelling.txtsphinx-pre-installsplit-man.plstackdeltastackusagesubarch.includetags.shtest_fortify.shunifdefunifdef.cver_linuxxen-hypercalls.shxz_wrap.shsecurityKconfigKconfig.hardeningMakefileapparmorKconfigMakefilebpfMakefileintegrityKconfigMakefileevmKconfigMakefileimaKconfigMakefilekeysKconfigMakefileencrypted-keysMakefiletrusted-keysMakefileloadpinKconfigMakefileselinuxKconfigMakefileincludeclassmap.hinitial_sid_to_string.hsmackKconfigMakefiletomoyoKconfigMakefileyamaKconfigMakefilesoundKconfigMakefileac97KconfigMakefileaoaKconfigMakefilecodecsKconfigMakefilecoreMakefilefabricsKconfigMakefilesoundbusKconfigMakefilei2sbusMakefilearmKconfigMakefileatmelKconfigMakefilecoreKconfigMakefileossMakefileseqKconfigMakefileossMakefiledriversKconfigMakefilempu401Makefileopl3Makefileopl4MakefilepcspMakefilevxMakefilefirewireKconfigMakefilebebobMakefilediceMakefiledigi00xMakefilefirefaceMakefilefireworksMakefilemotuMakefileoxfwMakefiletascamMakefilehdaKconfigMakefileextMakefilei2cMakefileotherMakefileisaKconfigMakefilead1816aMakefilead1848Makefilecs423xMakefilees1688MakefilegalaxyMakefilegusMakefilemsndMakefileopti9xxMakefilesbMakefilewavefrontMakefilewssMakefilemipsKconfigMakefileossdmasoundKconfigMakefilepariscKconfigMakefilepciKconfigMakefileac97Makefileali5451MakefileasihpiMakefileau88x0Makefileaw2Makefileca0106Makefilecs46xxMakefilecs5535audioMakefilectxfiMakefileechoaudioMakefileemu10k1MakefilehdaKconfigMakefileice1712Makefilekorg1212MakefilelolaMakefilelx6464esMakefilemixartMakefilenm256MakefileoxygenMakefilepcxhrMakefileriptideMakefilerme9652MakefiletridentMakefilevx222MakefileymfpciMakefilepcmciaKconfigMakefilepdaudiocfMakefilevxMakefileppcKconfigMakefileshKconfigMakefilesocKconfigMakefileadiKconfigMakefileamdKconfigMakefileacpKconfigMakefileravenMakefilerenoirMakefilerplMakefilevangoghMakefileycMakefileatmelKconfigMakefileau1xKconfigMakefilebcmKconfigMakefilecirrusKconfigMakefilecodecsKconfigMakefiledwcKconfigMakefilefslKconfigMakefilegenericKconfigMakefilehisiliconKconfigMakefileimgKconfigMakefileintelKconfigMakefileatomMakefilesstMakefileavsMakefileboardsKconfigMakefileboardsKconfigMakefilecatptMakefilecommonMakefilekeembayMakefileskylakeMakefilejz4740KconfigMakefilekirkwoodKconfigMakefilemediatekKconfigMakefilecommonMakefilemt2701Makefilemt6797Makefilemt8173Makefilemt8183MakefilemesonKconfigMakefilemxsKconfigMakefilepxaKconfigMakefileqcomKconfigMakefileqdsp6MakefilerockchipKconfigMakefilesamsungKconfigMakefileshKconfigMakefilercarMakefilesofKconfigMakefileamdKconfigMakefileimxKconfigMakefileintelKconfigMakefilemediatekKconfigMakefilemt8186Makefilemt8195MakefilextensaKconfigMakefilespearKconfigMakefilesprdKconfigMakefilestiKconfigMakefilestmKconfigMakefilesunxiKconfigMakefiletegraKconfigMakefiletiKconfigMakefiletxx9KconfigMakefileuniphierKconfigMakefileux500KconfigMakefilexilinxKconfigMakefilextensaKconfigMakefilesparcKconfigMakefilespiKconfigMakefilesynthKconfigMakefileemuxMakefileusb6fireMakefileKconfigMakefilebcd2000MakefilecaiaqMakefilehifaceMakefileline6KconfigMakefilemiscMakefileusx2yMakefilevirtioKconfigMakefilex86KconfigMakefilexenKconfigMakefiletoolsMakefileaccountingMakefilearchx86intel_sdsiMakefilebpfMakefilebpftoolDocumentationMakefileMakefileresolve_btfidsMakefilerunqslowerMakefilebuildMakefileMakefile.buildMakefile.featureMakefile.includefeatureMakefiletestsexMakefilecgroupMakefilefirewireMakefilegpioMakefilehvMakefileiioMakefileincludetoolsbe_byteshift.hle_byteshift.hio_uringMakefilekvmkvm_statMakefilelaptopdslmMakefilefreefallMakefileledsMakefilelibapiMakefilebpfMakefilelockdepMakefileperfDocumentationMakefileMakefilesubcmdMakefiletraceeventDocumentationMakefileMakefilepluginsMakefileobjtoolMakefilepciMakefilepcmciaMakefileperfDocumentationMakefileMakefileMakefile.configMakefile.perfarcharmMakefilearm64MakefilecskyMakefilemipsMakefilepowerpcMakefiles390MakefileshMakefilesparcMakefilex86MakefilextensaMakefilescriptsperlPerf-Trace-UtilMakefile.PLpoweracpiMakefileMakefile.configMakefile.rulestoolsacpidbgMakefileacpidumpMakefileecMakefilecpupowerMakefilebenchMakefiledebugi386MakefilekernelMakefilex86_64Makefilepm-graphMakefilex86intel-speed-selectMakefileturbostatMakefilex86_energy_perf_policyMakefilescriptsMakefile.archMakefile.includespiMakefiletestingnvdimmMakefileradix-treeMakefilescatterlistMakefileselftestsMakefileandroidMakefileionMakefilebpfMakefileMakefile.docsbpf_testmodMakefilebreakpointsMakefilecapabilitiesMakefilecgroupMakefilecoreMakefilecpu-hotplugMakefilecpufreqMakefiledamonMakefiledriversnetbondingMakefileteamMakefileefivarfsMakefileexecMakefilefilesystemsMakefilefirmwareMakefilefpuMakefileftraceMakefilefutexMakefilefunctionalMakefilegpioMakefileia64Makefileintel_pstateMakefileipcMakefilekcmpMakefilekexecMakefilekmodMakefilekvmMakefilelibMakefilelivepatchMakefilelockingMakefilemedia_testsMakefilemembarrierMakefilememfdMakefilememory-hotplugMakefilemountMakefilemqueueMakefilenetMakefileforwardingMakefilemptcpMakefilenetfilterMakefilensfsMakefilepowerpcMakefilealignmentMakefilebenchmarksMakefilecache_shapeMakefilecopyloopsMakefiledscrMakefileeehMakefilemathMakefilemceMakefilemmMakefilepapr_attributesMakefilepmuMakefileebbMakefilesampling_testsMakefileprimitivesMakefileptraceMakefilesignalMakefilestringloopsMakefileswitch_endianMakefilesyscallsMakefiletmMakefilevphnMakefileprctlMakefileprocMakefilepstoreMakefileptpMakefileptraceMakefilercutortureMakefileformalsrcu-cbmcMakefiletestsstore_bufferingMakefilerseqMakefilertcMakefileseccompMakefilesgxMakefilesigaltstackMakefilesizeMakefilesparc64MakefiledriversMakefilespliceMakefilestatic_keysMakefilesyncMakefilesysctlMakefiletc-testingMakefiletdxMakefiletimensMakefiletimersMakefiletpm2MakefileueventMakefileuserMakefilevDSOMakefilevmMakefilewatchdogMakefilex86MakefilezramMakefilevsockMakefilethermaltmonMakefileusbMakefileffs-aio-examplemultibuffhost_appMakefilesimplehost_appMakefileusbipMakefile.amlibsrcMakefile.amsrcMakefile.amvirtioMakefileringtestMakefilevhost_testMakefilevirtio-traceMakefilevmMakefilewmiMakefileusrKconfigMakefilevirtMakefilekvmKconfigMakefile.kvmlibKconfigMakefilevmlinux.hvmlinux.id/usr/src/kernels//usr/src/kernels/4.18.0-488.el8.ppc64le//usr/src/kernels/4.18.0-488.el8.ppc64le/arch//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/alpha//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/alpha/boot//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/alpha/kernel//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/alpha/lib//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/alpha/math-emu//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/alpha/mm//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/alpha/oprofile//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/arc//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/arc/boot//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/arc/boot/dts//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/arc/kernel//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/arc/lib//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/arc/mm//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/arc/oprofile//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/arc/plat-axs10x//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/arc/plat-eznps//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/arc/plat-hsdk//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/arc/plat-sim//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/arc/plat-tb10x//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/arm//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/arm/boot//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/arm/boot/bootp//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/arm/boot/compressed//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/arm/boot/dts//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/arm/common//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/arm/crypto//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/arm/firmware//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/arm/kernel//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/arm/lib//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/arm/mach-actions//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/arm/mach-alpine//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/arm/mach-artpec//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/arm/mach-asm9260//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/arm/mach-aspeed//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/arm/mach-at91//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/arm/mach-axxia//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/arm/mach-bcm//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/arm/mach-berlin//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/arm/mach-clps711x//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/arm/mach-cns3xxx//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/arm/mach-davinci//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/arm/mach-digicolor//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/arm/mach-dove//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/arm/mach-ebsa110//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/arm/mach-efm32//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/arm/mach-ep93xx//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/arm/mach-exynos//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/arm/mach-footbridge//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/arm/mach-gemini//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/arm/mach-highbank//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/arm/mach-hisi//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/arm/mach-imx//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/arm/mach-imx/devices//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/arm/mach-integrator//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/arm/mach-iop13xx//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/arm/mach-iop32x//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/arm/mach-iop33x//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/arm/mach-ixp4xx//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/arm/mach-keystone//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/arm/mach-ks8695//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/arm/mach-lpc18xx//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/arm/mach-lpc32xx//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/arm/mach-mediatek//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/arm/mach-meson//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/arm/mach-mmp//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/arm/mach-moxart//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/arm/mach-mv78xx0//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/arm/mach-mvebu//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/arm/mach-mxs//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/arm/mach-netx//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/arm/mach-nomadik//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/arm/mach-npcm//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/arm/mach-nspire//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/arm/mach-omap1//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/arm/mach-omap2//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/arm/mach-orion5x//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/arm/mach-oxnas//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/arm/mach-picoxcell//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/arm/mach-prima2//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/arm/mach-pxa//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/arm/mach-qcom//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/arm/mach-realview//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/arm/mach-rockchip//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/arm/mach-rpc//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/arm/mach-s3c24xx//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/arm/mach-s3c64xx//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/arm/mach-s5pv210//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/arm/mach-sa1100//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/arm/mach-shmobile//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/arm/mach-socfpga//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/arm/mach-spear//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/arm/mach-sti//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/arm/mach-stm32//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/arm/mach-sunxi//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/arm/mach-tango//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/arm/mach-tegra//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/arm/mach-u300//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/arm/mach-uniphier//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/arm/mach-ux500//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/arm/mach-versatile//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/arm/mach-vexpress//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/arm/mach-vt8500//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/arm/mach-w90x900//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/arm/mach-zx//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/arm/mach-zynq//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/arm/mm//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/arm/net//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/arm/nwfpe//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/arm/oprofile//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/arm/plat-iop//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/arm/plat-omap//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/arm/plat-orion//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/arm/plat-pxa//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/arm/plat-samsung//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/arm/plat-versatile//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/arm/probes//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/arm/probes/kprobes//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/arm/probes/uprobes//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/arm/tools//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/arm/vdso//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/arm/vfp//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/arm/xen//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/arm64//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/arm64/boot//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/arm64/boot/dts//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/arm64/boot/dts/actions//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/arm64/boot/dts/al//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/arm64/boot/dts/allwinner//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/arm64/boot/dts/altera//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/arm64/boot/dts/amd//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/arm64/boot/dts/amlogic//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/arm64/boot/dts/apm//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/arm64/boot/dts/arm//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/arm64/boot/dts/broadcom//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/arm64/boot/dts/broadcom/northstar2//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/arm64/boot/dts/broadcom/stingray//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/arm64/boot/dts/cavium//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/arm64/boot/dts/exynos//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/arm64/boot/dts/freescale//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/arm64/boot/dts/hisilicon//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/arm64/boot/dts/lg//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/arm64/boot/dts/marvell//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/arm64/boot/dts/mediatek//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/arm64/boot/dts/nvidia//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/arm64/boot/dts/qcom//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/arm64/boot/dts/realtek//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/arm64/boot/dts/renesas//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/arm64/boot/dts/rockchip//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/arm64/boot/dts/socionext//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/arm64/boot/dts/sprd//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/arm64/boot/dts/synaptics//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/arm64/boot/dts/xilinx//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/arm64/boot/dts/zte//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/arm64/crypto//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/arm64/hyperv//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/arm64/kernel//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/arm64/kernel/probes//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/arm64/kernel/vdso//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/arm64/kernel/vdso32//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/arm64/kvm//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/arm64/kvm/hyp//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/arm64/kvm/hyp/nvhe//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/arm64/kvm/hyp/vhe//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/arm64/lib//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/arm64/mm//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/arm64/net//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/arm64/tools//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/arm64/xen//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/c6x//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/c6x/boot//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/c6x/boot/dts//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/c6x/kernel//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/c6x/lib//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/c6x/mm//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/c6x/platforms//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/h8300//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/h8300/boot//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/h8300/boot/compressed//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/h8300/boot/dts//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/h8300/kernel//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/h8300/lib//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/h8300/mm//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/hexagon//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/hexagon/kernel//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/hexagon/lib//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/hexagon/mm//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/ia64//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/ia64/dig//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/ia64/hp//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/ia64/hp/common//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/ia64/hp/sim//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/ia64/hp/sim/boot//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/ia64/hp/zx1//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/ia64/kernel//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/ia64/lib//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/ia64/mm//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/ia64/oprofile//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/ia64/pci//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/ia64/sn//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/ia64/sn/kernel//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/ia64/sn/kernel/sn2//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/ia64/sn/pci//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/ia64/sn/pci/pcibr//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/ia64/uv//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/ia64/uv/kernel//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/m68k//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/m68k/68000//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/m68k/amiga//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/m68k/apollo//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/m68k/atari//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/m68k/bvme6000//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/m68k/coldfire//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/m68k/emu//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/m68k/fpsp040//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/m68k/hp300//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/m68k/ifpsp060//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/m68k/kernel//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/m68k/lib//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/m68k/mac//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/m68k/math-emu//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/m68k/mm//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/m68k/mvme147//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/m68k/mvme16x//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/m68k/q40//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/m68k/sun3//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/m68k/sun3/prom//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/m68k/sun3x//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/m68k/tools//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/m68k/tools/amiga//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/microblaze//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/microblaze/boot//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/microblaze/boot/dts//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/microblaze/kernel//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/microblaze/kernel/cpu//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/microblaze/lib//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/microblaze/mm//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/microblaze/oprofile//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/microblaze/pci//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/mips//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/mips/alchemy//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/mips/alchemy/common//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/mips/alchemy/devboards//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/mips/ar7//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/mips/ath25//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/mips/ath79//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/mips/bcm47xx//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/mips/bcm63xx//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/mips/bcm63xx/boards//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/mips/bmips//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/mips/boot//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/mips/boot/compressed//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/mips/boot/dts//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/mips/boot/dts/brcm//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/mips/boot/dts/cavium-octeon//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/mips/boot/dts/img//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/mips/boot/dts/ingenic//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/mips/boot/dts/lantiq//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/mips/boot/dts/mscc//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/mips/boot/dts/mti//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/mips/boot/dts/netlogic//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/mips/boot/dts/ni//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/mips/boot/dts/pic32//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/mips/boot/dts/qca//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/mips/boot/dts/ralink//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/mips/boot/dts/xilfpga//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/mips/boot/tools//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/mips/cavium-octeon//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/mips/cavium-octeon/crypto//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/mips/cavium-octeon/executive//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/mips/cobalt//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/mips/crypto//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/mips/dec//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/mips/dec/prom//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/mips/emma//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/mips/emma/common//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/mips/emma/markeins//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/mips/fw//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/mips/fw/arc//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/mips/fw/cfe//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/mips/fw/lib//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/mips/fw/sni//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/mips/generic//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/mips/jazz//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/mips/jz4740//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/mips/kernel//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/mips/kvm//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/mips/lantiq//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/mips/lantiq/falcon//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/mips/lantiq/xway//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/mips/lasat//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/mips/lasat/image//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/mips/lib//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/mips/loongson32//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/mips/loongson32/common//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/mips/loongson32/ls1b//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/mips/loongson32/ls1c//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/mips/loongson64//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/mips/loongson64/common//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/mips/loongson64/common/cs5536//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/mips/loongson64/fuloong-2e//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/mips/loongson64/lemote-2f//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/mips/loongson64/loongson-3//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/mips/math-emu//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/mips/mm//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/mips/mti-malta//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/mips/net//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/mips/netlogic//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/mips/netlogic/common//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/mips/netlogic/xlp//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/mips/netlogic/xlr//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/mips/oprofile//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/mips/paravirt//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/mips/pci//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/mips/pic32//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/mips/pic32/common//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/mips/pic32/pic32mzda//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/mips/pistachio//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/mips/pmcs-msp71xx//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/mips/pnx833x//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/mips/pnx833x/common//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/mips/pnx833x/stb22x//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/mips/power//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/mips/ralink//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/mips/rb532//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/mips/sgi-ip22//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/mips/sgi-ip27//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/mips/sgi-ip32//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/mips/sibyte//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/mips/sibyte/bcm1480//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/mips/sibyte/common//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/mips/sibyte/sb1250//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/mips/sibyte/swarm//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/mips/sni//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/mips/txx9//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/mips/txx9/generic//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/mips/txx9/jmr3927//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/mips/txx9/rbtx4927//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/mips/txx9/rbtx4938//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/mips/txx9/rbtx4939//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/mips/vdso//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/mips/vr41xx//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/mips/vr41xx/casio-e55//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/mips/vr41xx/common//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/mips/vr41xx/ibm-workpad//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/nds32//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/nds32/boot//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/nds32/boot/dts//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/nds32/kernel//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/nds32/kernel/vdso//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/nds32/lib//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/nds32/mm//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/nios2//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/nios2/boot//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/nios2/boot/compressed//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/nios2/kernel//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/nios2/lib//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/nios2/mm//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/nios2/platform//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/openrisc//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/openrisc/boot//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/openrisc/boot/dts//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/openrisc/kernel//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/openrisc/lib//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/openrisc/mm//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/parisc//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/parisc/boot//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/parisc/boot/compressed//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/parisc/kernel//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/parisc/lib//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/parisc/math-emu//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/parisc/mm//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/parisc/oprofile//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/powerpc//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/powerpc/boot//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/powerpc/crypto//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/powerpc/include//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/powerpc/include/asm//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/powerpc/include/asm/book3s//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/powerpc/include/asm/book3s/32//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/powerpc/include/asm/book3s/64//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/powerpc/include/asm/nohash//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/powerpc/include/asm/nohash/32//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/powerpc/include/asm/nohash/64//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/powerpc/include/generated//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/powerpc/include/generated/asm//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/powerpc/include/generated/uapi//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/powerpc/include/generated/uapi/asm//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/powerpc/include/uapi//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/powerpc/include/uapi/asm//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/powerpc/kernel//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/powerpc/kernel/ptrace//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/powerpc/kernel/trace//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/powerpc/kernel/vdso32//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/powerpc/kernel/vdso64//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/powerpc/kvm//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/powerpc/lib//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/powerpc/math-emu//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/powerpc/mm//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/powerpc/mm/book3s32//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/powerpc/mm/book3s64//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/powerpc/net//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/powerpc/oprofile//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/powerpc/perf//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/powerpc/platforms//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/powerpc/platforms/40x//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/powerpc/platforms/44x//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/powerpc/platforms/4xx//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/powerpc/platforms/512x//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/powerpc/platforms/52xx//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/powerpc/platforms/82xx//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/powerpc/platforms/83xx//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/powerpc/platforms/85xx//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/powerpc/platforms/86xx//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/powerpc/platforms/8xx//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/powerpc/platforms/amigaone//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/powerpc/platforms/book3s//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/powerpc/platforms/cell//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/powerpc/platforms/cell/spufs//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/powerpc/platforms/chrp//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/powerpc/platforms/embedded6xx//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/powerpc/platforms/maple//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/powerpc/platforms/pasemi//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/powerpc/platforms/powermac//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/powerpc/platforms/powernv//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/powerpc/platforms/ps3//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/powerpc/platforms/pseries//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/powerpc/purgatory//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/powerpc/sysdev//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/powerpc/sysdev/ge//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/powerpc/sysdev/xics//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/powerpc/sysdev/xive//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/powerpc/xmon//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/riscv//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/riscv/kernel//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/riscv/kernel/vdso//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/riscv/lib//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/riscv/mm//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/s390//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/s390/appldata//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/s390/boot//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/s390/boot/compressed//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/s390/crypto//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/s390/hypfs//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/s390/kernel//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/s390/kernel/syscalls//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/s390/kernel/vdso32//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/s390/kernel/vdso64//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/s390/kvm//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/s390/lib//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/s390/mm//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/s390/net//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/s390/numa//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/s390/oprofile//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/s390/pci//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/s390/purgatory//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/s390/scripts//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/s390/tools//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/sh//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/sh/boards//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/sh/boards/mach-ap325rxa//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/sh/boards/mach-cayman//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/sh/boards/mach-dreamcast//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/sh/boards/mach-ecovec24//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/sh/boards/mach-highlander//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/sh/boards/mach-hp6xx//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/sh/boards/mach-kfr2r09//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/sh/boards/mach-landisk//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/sh/boards/mach-lboxre2//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/sh/boards/mach-microdev//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/sh/boards/mach-migor//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/sh/boards/mach-r2d//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/sh/boards/mach-rsk//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/sh/boards/mach-sdk7780//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/sh/boards/mach-sdk7786//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/sh/boards/mach-se//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/sh/boards/mach-se/7206//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/sh/boards/mach-se/7343//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/sh/boards/mach-se/770x//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/sh/boards/mach-se/7721//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/sh/boards/mach-se/7722//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/sh/boards/mach-se/7724//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/sh/boards/mach-se/7751//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/sh/boards/mach-se/7780//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/sh/boards/mach-sh03//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/sh/boards/mach-sh7763rdp//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/sh/boards/mach-x3proto//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/sh/boot//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/sh/boot/compressed//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/sh/boot/dts//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/sh/boot/romimage//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/sh/cchips//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/sh/cchips/hd6446x//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/sh/drivers//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/sh/drivers/dma//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/sh/drivers/pci//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/sh/drivers/superhyway//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/sh/kernel//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/sh/kernel/cpu//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/sh/kernel/cpu/irq//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/sh/kernel/cpu/sh2//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/sh/kernel/cpu/sh2a//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/sh/kernel/cpu/sh3//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/sh/kernel/cpu/sh4//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/sh/kernel/cpu/sh4a//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/sh/kernel/cpu/sh5//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/sh/kernel/cpu/shmobile//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/sh/kernel/vsyscall//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/sh/lib//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/sh/lib64//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/sh/math-emu//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/sh/mm//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/sh/oprofile//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/sh/tools//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/sparc//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/sparc/boot//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/sparc/crypto//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/sparc/kernel//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/sparc/lib//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/sparc/math-emu//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/sparc/mm//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/sparc/net//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/sparc/oprofile//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/sparc/power//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/sparc/prom//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/sparc/vdso//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/um//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/um/drivers//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/um/kernel//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/um/kernel/skas//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/um/os-Linux//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/um/os-Linux/drivers//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/um/os-Linux/skas//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/um/scripts//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/unicore32//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/unicore32/boot//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/unicore32/boot/compressed//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/unicore32/kernel//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/unicore32/lib//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/unicore32/mm//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/x86//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/x86/boot//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/x86/boot/compressed//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/x86/coco//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/x86/coco/tdx//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/x86/crypto//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/x86/crypto/sha1-mb//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/x86/crypto/sha256-mb//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/x86/crypto/sha512-mb//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/x86/entry//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/x86/entry/syscalls//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/x86/entry/vdso//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/x86/entry/vsyscall//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/x86/events//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/x86/events/amd//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/x86/events/intel//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/x86/hyperv//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/x86/ia32//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/x86/kernel//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/x86/kernel/acpi//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/x86/kernel/apic//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/x86/kernel/cpu//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/x86/kernel/cpu/mce//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/x86/kernel/cpu/microcode//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/x86/kernel/cpu/mtrr//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/x86/kernel/cpu/resctrl//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/x86/kernel/cpu/sgx//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/x86/kernel/fpu//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/x86/kernel/kprobes//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/x86/kvm//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/x86/lib//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/x86/math-emu//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/x86/mm//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/x86/mm/pat//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/x86/net//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/x86/oprofile//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/x86/pci//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/x86/platform//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/x86/platform/atom//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/x86/platform/ce4100//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/x86/platform/efi//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/x86/platform/geode//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/x86/platform/goldfish//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/x86/platform/intel-mid//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/x86/platform/intel-mid/device_libs//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/x86/platform/intel-quark//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/x86/platform/intel//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/x86/platform/iris//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/x86/platform/olpc//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/x86/platform/scx200//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/x86/platform/sfi//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/x86/platform/ts5500//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/x86/platform/uv//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/x86/power//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/x86/purgatory//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/x86/ras//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/x86/realmode//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/x86/realmode/rm//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/x86/tools//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/x86/um//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/x86/um/os-Linux//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/x86/um/vdso//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/x86/video//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/x86/xen//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/xtensa//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/xtensa/boot//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/xtensa/boot/boot-elf//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/xtensa/boot/boot-redboot//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/xtensa/boot/dts//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/xtensa/boot/lib//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/xtensa/kernel//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/xtensa/lib//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/xtensa/mm//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/xtensa/oprofile//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/xtensa/platforms//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/xtensa/platforms/iss//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/xtensa/platforms/xt2000//usr/src/kernels/4.18.0-488.el8.ppc64le/arch/xtensa/platforms/xtfpga//usr/src/kernels/4.18.0-488.el8.ppc64le/block//usr/src/kernels/4.18.0-488.el8.ppc64le/block/partitions//usr/src/kernels/4.18.0-488.el8.ppc64le/certs//usr/src/kernels/4.18.0-488.el8.ppc64le/crypto//usr/src/kernels/4.18.0-488.el8.ppc64le/crypto/asymmetric_keys//usr/src/kernels/4.18.0-488.el8.ppc64le/crypto/async_tx//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/accessibility//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/accessibility/braille//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/acpi//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/acpi/acpica//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/acpi/apei//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/acpi/arm64//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/acpi/dptf//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/acpi/nfit//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/acpi/numa//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/acpi/pmic//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/amba//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/android//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/ata//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/atm//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/auxdisplay//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/base//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/base/firmware_loader//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/base/power//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/base/regmap//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/base/test//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/bcma//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/block//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/block/aoe//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/block/drbd//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/block/mtip32xx//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/block/paride//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/block/rsxx//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/block/xen-blkback//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/block/zram//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/bluetooth//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/bus//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/bus/fsl-mc//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/bus/mhi//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/bus/mhi/ep//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/bus/mhi/host//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/cdrom//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/char//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/char/agp//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/char/hw_random//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/char/ipmi//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/char/mwave//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/char/pcmcia//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/char/tpm//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/char/tpm/st33zp24//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/char/xilinx_hwicap//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/char/xillybus//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/clk//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/clk/actions//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/clk/at91//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/clk/axis//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/clk/axs10x//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/clk/bcm//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/clk/berlin//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/clk/davinci//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/clk/h8300//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/clk/hisilicon//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/clk/imgtec//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/clk/imx//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/clk/ingenic//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/clk/keystone//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/clk/loongson1//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/clk/mediatek//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/clk/meson//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/clk/microchip//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/clk/mmp//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/clk/mvebu//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/clk/mxs//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/clk/nxp//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/clk/pistachio//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/clk/pxa//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/clk/qcom//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/clk/renesas//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/clk/rockchip//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/clk/samsung//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/clk/sirf//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/clk/socfpga//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/clk/spear//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/clk/sprd//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/clk/st//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/clk/sunxi-ng//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/clk/sunxi//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/clk/tegra//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/clk/ti//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/clk/uniphier//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/clk/ux500//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/clk/versatile//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/clk/x86//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/clk/zte//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/clk/zynq//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/clocksource//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/connector//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/counter//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/cpufreq//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/cpuidle//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/cpuidle/governors//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/crypto//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/crypto/amcc//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/crypto/axis//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/crypto/bcm//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/crypto/caam//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/crypto/cavium//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/crypto/cavium/cpt//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/crypto/cavium/nitrox//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/crypto/cavium/zip//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/crypto/ccp//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/crypto/ccree//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/crypto/chelsio//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/crypto/chelsio/chtls//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/crypto/inside-secure//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/crypto/marvell//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/crypto/mediatek//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/crypto/nx//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/crypto/qat//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/crypto/qat/qat_4xxx//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/crypto/qat/qat_c3xxx//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/crypto/qat/qat_c3xxxvf//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/crypto/qat/qat_c62x//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/crypto/qat/qat_c62xvf//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/crypto/qat/qat_common//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/crypto/qat/qat_dh895xcc//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/crypto/qat/qat_dh895xccvf//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/crypto/qce//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/crypto/rockchip//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/crypto/stm32//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/crypto/sunxi-ss//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/crypto/ux500//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/crypto/ux500/cryp//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/crypto/ux500/hash//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/crypto/virtio//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/crypto/vmx//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/dax//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/dax/hmem//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/dax/pmem//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/dca//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/devfreq//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/devfreq/event//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/dio//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/dma-buf//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/dma-buf/heaps//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/dma//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/dma/bestcomm//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/dma/dw-axi-dmac//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/dma/dw//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/dma/hsu//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/dma/idxd//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/dma/ioat//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/dma/ipu//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/dma/mediatek//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/dma/ppc4xx//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/dma/ptdma//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/dma/qcom//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/dma/sh//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/dma/ti//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/dma/xilinx//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/edac//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/eisa//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/extcon//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/firewire//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/firmware//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/firmware/arm_scmi//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/firmware/broadcom//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/firmware/cirrus//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/firmware/efi//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/firmware/efi/libstub//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/firmware/efi/test//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/firmware/google//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/firmware/meson//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/firmware/psci//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/firmware/smccc//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/firmware/tegra//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/fmc//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/fpga//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/fsi//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/gpio//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/gpu//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/gpu/drm//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/gpu/drm/amd//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/gpu/drm/amd/acp//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/gpu/drm/amd/amdgpu//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/gpu/drm/amd/amdkfd//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/gpu/drm/amd/display//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/gpu/drm/amd/display/amdgpu_dm//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/gpu/drm/amd/display/dc//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/gpu/drm/amd/display/dc/basics//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/gpu/drm/amd/display/dc/bios//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/gpu/drm/amd/display/dc/clk_mgr//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/gpu/drm/amd/display/dc/dce//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/gpu/drm/amd/display/dc/dce100//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/gpu/drm/amd/display/dc/dce110//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/gpu/drm/amd/display/dc/dce112//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/gpu/drm/amd/display/dc/dce120//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/gpu/drm/amd/display/dc/dce60//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/gpu/drm/amd/display/dc/dce80//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/gpu/drm/amd/display/dc/dcn10//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/gpu/drm/amd/display/dc/dcn20//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/gpu/drm/amd/display/dc/dcn201//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/gpu/drm/amd/display/dc/dcn21//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/gpu/drm/amd/display/dc/dcn30//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/gpu/drm/amd/display/dc/dcn301//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/gpu/drm/amd/display/dc/dcn302//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/gpu/drm/amd/display/dc/dcn303//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/gpu/drm/amd/display/dc/dcn31//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/gpu/drm/amd/display/dc/dcn314//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/gpu/drm/amd/display/dc/dcn315//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/gpu/drm/amd/display/dc/dcn316//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/gpu/drm/amd/display/dc/dcn32//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/gpu/drm/amd/display/dc/dcn321//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/gpu/drm/amd/display/dc/dml//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/gpu/drm/amd/display/dc/dsc//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/gpu/drm/amd/display/dc/gpio//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/gpu/drm/amd/display/dc/hdcp//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/gpu/drm/amd/display/dc/irq//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/gpu/drm/amd/display/dc/link//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/gpu/drm/amd/display/dc/virtual//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/gpu/drm/amd/display/dmub//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/gpu/drm/amd/display/dmub/src//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/gpu/drm/amd/display/modules//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/gpu/drm/amd/display/modules/color//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/gpu/drm/amd/display/modules/freesync//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/gpu/drm/amd/display/modules/hdcp//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/gpu/drm/amd/display/modules/info_packet//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/gpu/drm/amd/display/modules/power//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/gpu/drm/amd/pm//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/gpu/drm/amd/pm/legacy-dpm//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/gpu/drm/amd/pm/powerplay//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/gpu/drm/amd/pm/powerplay/hwmgr//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/gpu/drm/amd/pm/powerplay/smumgr//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/gpu/drm/amd/pm/swsmu//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/gpu/drm/amd/pm/swsmu/smu11//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/gpu/drm/amd/pm/swsmu/smu12//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/gpu/drm/amd/pm/swsmu/smu13//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/gpu/drm/arm//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/gpu/drm/armada//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/gpu/drm/aspeed//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/gpu/drm/ast//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/gpu/drm/atmel-hlcdc//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/gpu/drm/bridge//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/gpu/drm/bridge/adv7511//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/gpu/drm/bridge/analogix//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/gpu/drm/bridge/cadence//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/gpu/drm/bridge/imx//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/gpu/drm/bridge/synopsys//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/gpu/drm/display//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/gpu/drm/etnaviv//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/gpu/drm/exynos//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/gpu/drm/fsl-dcu//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/gpu/drm/gma500//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/gpu/drm/gud//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/gpu/drm/hisilicon//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/gpu/drm/hisilicon/hibmc//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/gpu/drm/hisilicon/kirin//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/gpu/drm/hyperv//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/gpu/drm/i2c//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/gpu/drm/i810//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/gpu/drm/i915//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/gpu/drm/i915/gvt//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/gpu/drm/imx//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/gpu/drm/kmb//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/gpu/drm/logicvc//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/gpu/drm/mediatek//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/gpu/drm/meson//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/gpu/drm/mga//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/gpu/drm/mgag200//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/gpu/drm/msm//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/gpu/drm/mxsfb//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/gpu/drm/nouveau//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/gpu/drm/omapdrm//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/gpu/drm/omapdrm/displays//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/gpu/drm/omapdrm/dss//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/gpu/drm/panel//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/gpu/drm/pl111//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/gpu/drm/qxl//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/gpu/drm/r128//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/gpu/drm/radeon//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/gpu/drm/rcar-du//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/gpu/drm/rockchip//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/gpu/drm/savage//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/gpu/drm/scheduler//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/gpu/drm/selftests//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/gpu/drm/shmobile//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/gpu/drm/sis//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/gpu/drm/solomon//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/gpu/drm/sprd//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/gpu/drm/sti//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/gpu/drm/stm//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/gpu/drm/sun4i//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/gpu/drm/tdfx//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/gpu/drm/tegra//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/gpu/drm/tests//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/gpu/drm/tilcdc//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/gpu/drm/tiny//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/gpu/drm/ttm//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/gpu/drm/tve200//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/gpu/drm/udl//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/gpu/drm/v3d//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/gpu/drm/vboxvideo//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/gpu/drm/vc4//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/gpu/drm/vgem//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/gpu/drm/via//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/gpu/drm/virtio//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/gpu/drm/vkms//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/gpu/drm/vmwgfx//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/gpu/drm/xen//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/gpu/host1x//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/gpu/ipu-v3//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/gpu/vga//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/hid//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/hid/amd-sfh-hid//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/hid/i2c-hid//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/hid/intel-ish-hid//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/hid/surface-hid//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/hid/usbhid//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/hsi//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/hsi/clients//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/hsi/controllers//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/hv//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/hwmon//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/hwmon/pmbus//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/hwspinlock//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/hwtracing//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/hwtracing/coresight//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/hwtracing/intel_th//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/hwtracing/stm//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/i2c//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/i2c/algos//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/i2c/busses//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/i2c/muxes//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/ide//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/idle//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/iio//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/iio/accel//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/iio/adc//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/iio/afe//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/iio/amplifiers//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/iio/buffer//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/iio/chemical//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/iio/common//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/iio/common/cros_ec_sensors//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/iio/common/hid-sensors//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/iio/common/ms_sensors//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/iio/common/ssp_sensors//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/iio/common/st_sensors//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/iio/counter//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/iio/dac//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/iio/dummy//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/iio/frequency//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/iio/gyro//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/iio/health//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/iio/humidity//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/iio/imu//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/iio/imu/bmi160//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/iio/imu/inv_mpu6050//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/iio/imu/st_lsm6dsx//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/iio/light//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/iio/magnetometer//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/iio/multiplexer//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/iio/orientation//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/iio/potentiometer//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/iio/potentiostat//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/iio/pressure//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/iio/proximity//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/iio/resolver//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/iio/temperature//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/iio/trigger//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/infiniband//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/infiniband/core//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/infiniband/hw//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/infiniband/hw/bnxt_re//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/infiniband/hw/cxgb4//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/infiniband/hw/efa//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/infiniband/hw/hfi1//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/infiniband/hw/hns//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/infiniband/hw/irdma//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/infiniband/hw/mlx4//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/infiniband/hw/mlx5//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/infiniband/hw/mthca//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/infiniband/hw/ocrdma//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/infiniband/hw/qedr//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/infiniband/hw/qib//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/infiniband/hw/usnic//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/infiniband/hw/vmw_pvrdma//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/infiniband/sw//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/infiniband/sw/rdmavt//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/infiniband/sw/rxe//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/infiniband/sw/siw//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/infiniband/ulp//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/infiniband/ulp/ipoib//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/infiniband/ulp/iser//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/infiniband/ulp/isert//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/infiniband/ulp/opa_vnic//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/infiniband/ulp/srp//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/infiniband/ulp/srpt//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/input//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/input/gameport//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/input/joystick//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/input/joystick/iforce//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/input/keyboard//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/input/misc//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/input/mouse//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/input/rmi4//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/input/serio//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/input/tablet//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/input/touchscreen//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/iommu//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/iommu/amd//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/iommu/arm//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/iommu/arm/arm-smmu-v3//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/iommu/arm/arm-smmu//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/iommu/intel//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/ipack//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/ipack/carriers//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/ipack/devices//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/irqchip//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/isdn//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/isdn/capi//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/isdn/divert//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/isdn/gigaset//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/isdn/hardware//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/isdn/hardware/avm//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/isdn/hardware/eicon//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/isdn/hardware/mISDN//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/isdn/hisax//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/isdn/hysdn//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/isdn/i4l//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/isdn/isdnloop//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/isdn/mISDN//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/leds//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/leds/trigger//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/lightnvm//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/macintosh//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/macintosh/ams//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/mailbox//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/mcb//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/md//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/md/bcache//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/md/persistent-data//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/media//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/media/cec//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/media/common//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/media/common/b2c2//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/media/common/saa7146//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/media/common/siano//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/media/common/v4l2-tpg//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/media/common/videobuf2//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/media/dvb-core//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/media/dvb-frontends//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/media/dvb-frontends/cxd2880//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/media/dvb-frontends/drx39xyj//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/media/firewire//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/media/i2c//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/media/i2c/adv748x//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/media/i2c/cx25840//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/media/i2c/et8ek8//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/media/i2c/m5mols//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/media/i2c/s5c73m3//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/media/i2c/smiapp//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/media/i2c/soc_camera//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/media/mmc//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/media/mmc/siano//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/media/pci//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/media/pci/b2c2//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/media/pci/bt8xx//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/media/pci/cobalt//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/media/pci/cx18//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/media/pci/cx23885//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/media/pci/cx25821//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/media/pci/cx88//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/media/pci/ddbridge//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/media/pci/dm1105//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/media/pci/dt3155//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/media/pci/intel//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/media/pci/intel/ipu3//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/media/pci/ivtv//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/media/pci/mantis//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/media/pci/meye//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/media/pci/netup_unidvb//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/media/pci/ngene//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/media/pci/pluto2//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/media/pci/pt1//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/media/pci/pt3//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/media/pci/saa7134//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/media/pci/saa7146//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/media/pci/saa7164//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/media/pci/smipcie//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/media/pci/solo6x10//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/media/pci/sta2x11//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/media/pci/ttpci//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/media/pci/tw5864//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/media/pci/tw68//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/media/pci/tw686x//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/media/platform//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/media/platform/am437x//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/media/platform/atmel//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/media/platform/cadence//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/media/platform/cec-gpio//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/media/platform/coda//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/media/platform/davinci//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/media/platform/exynos-gsc//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/media/platform/exynos4-is//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/media/platform/marvell-ccic//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/media/platform/meson//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/media/platform/mtk-jpeg//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/media/platform/mtk-mdp//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/media/platform/mtk-vcodec//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/media/platform/mtk-vpu//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/media/platform/omap//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/media/platform/omap3isp//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/media/platform/qcom//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/media/platform/qcom/camss-8x16//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/media/platform/qcom/venus//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/media/platform/rcar-vin//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/media/platform/rockchip//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/media/platform/rockchip/rga//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/media/platform/s3c-camif//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/media/platform/s5p-cec//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/media/platform/s5p-g2d//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/media/platform/s5p-jpeg//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/media/platform/s5p-mfc//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/media/platform/soc_camera//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/media/platform/sti//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/media/platform/sti/bdisp//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/media/platform/sti/c8sectpfe//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/media/platform/sti/cec//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/media/platform/sti/delta//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/media/platform/sti/hva//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/media/platform/stm32//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/media/platform/tegra-cec//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/media/platform/ti-vpe//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/media/platform/vimc//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/media/platform/vivid//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/media/platform/vsp1//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/media/platform/xilinx//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/media/radio//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/media/radio/si470x//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/media/radio/si4713//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/media/radio/wl128x//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/media/rc//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/media/rc/img-ir//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/media/rc/keymaps//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/media/spi//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/media/tuners//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/media/usb//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/media/usb/airspy//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/media/usb/as102//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/media/usb/au0828//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/media/usb/b2c2//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/media/usb/cpia2//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/media/usb/cx231xx//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/media/usb/dvb-usb-v2//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/media/usb/dvb-usb//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/media/usb/em28xx//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/media/usb/go7007//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/media/usb/gspca//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/media/usb/gspca/gl860//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/media/usb/gspca/m5602//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/media/usb/gspca/stv06xx//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/media/usb/hackrf//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/media/usb/hdpvr//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/media/usb/msi2500//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/media/usb/pulse8-cec//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/media/usb/pvrusb2//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/media/usb/pwc//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/media/usb/rainshadow-cec//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/media/usb/s2255//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/media/usb/siano//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/media/usb/stk1160//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/media/usb/stkwebcam//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/media/usb/tm6000//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/media/usb/ttusb-budget//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/media/usb/ttusb-dec//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/media/usb/usbtv//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/media/usb/usbvision//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/media/usb/uvc//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/media/usb/zr364xx//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/media/v4l2-core//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/memory//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/memory/samsung//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/memory/tegra//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/memstick//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/memstick/core//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/memstick/host//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/message//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/message/fusion//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/mfd//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/misc//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/misc/altera-stapl//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/misc/c2port//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/misc/cardreader//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/misc/cb710//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/misc/cxl//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/misc/echo//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/misc/eeprom//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/misc/genwqe//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/misc/ibmasm//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/misc/lis3lv02d//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/misc/lkdtm//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/misc/mei//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/misc/mei/hdcp//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/misc/mei/pxp//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/misc/mic//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/misc/mic/bus//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/misc/mic/card//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/misc/mic/cosm//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/misc/mic/cosm_client//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/misc/mic/host//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/misc/mic/scif//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/misc/mic/vop//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/misc/ocxl//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/misc/sgi-gru//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/misc/sgi-xp//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/misc/ti-st//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/misc/vmw_vmci//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/mmc//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/mmc/core//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/mmc/host//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/mtd//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/mtd/chips//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/mtd/devices//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/mtd/lpddr//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/mtd/maps//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/mtd/nand//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/mtd/nand/onenand//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/mtd/nand/raw//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/mtd/nand/raw/atmel//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/mtd/nand/raw/bcm47xxnflash//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/mtd/nand/raw/brcmnand//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/mtd/nand/raw/gpmi-nand//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/mtd/parsers//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/mtd/spi-nor//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/mtd/tests//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/mtd/ubi//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/mux//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/net//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/net/appletalk//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/net/arcnet//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/net/bonding//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/net/caif//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/net/can//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/net/can/c_can//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/net/can/cc770//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/net/can/ifi_canfd//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/net/can/m_can//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/net/can/mscan//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/net/can/peak_canfd//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/net/can/rcar//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/net/can/sja1000//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/net/can/softing//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/net/can/spi//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/net/can/usb//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/net/can/usb/kvaser_usb//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/net/can/usb/peak_usb//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/net/dsa//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/net/dsa/b53//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/net/dsa/microchip//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/net/dsa/mv88e6xxx//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/net/ethernet//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/net/ethernet/3com//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/net/ethernet/8390//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/net/ethernet/adaptec//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/net/ethernet/aeroflex//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/net/ethernet/agere//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/net/ethernet/alacritech//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/net/ethernet/allwinner//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/net/ethernet/alteon//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/net/ethernet/altera//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/net/ethernet/amazon//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/net/ethernet/amazon/ena//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/net/ethernet/amd//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/net/ethernet/amd/xgbe//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/net/ethernet/apm//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/net/ethernet/apm/xgene-v2//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/net/ethernet/apm/xgene//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/net/ethernet/apple//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/net/ethernet/aquantia//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/net/ethernet/aquantia/atlantic//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/net/ethernet/aquantia/atlantic/hw_atl//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/net/ethernet/arc//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/net/ethernet/atheros//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/net/ethernet/atheros/alx//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/net/ethernet/atheros/atl1c//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/net/ethernet/atheros/atl1e//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/net/ethernet/atheros/atlx//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/net/ethernet/aurora//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/net/ethernet/broadcom//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/net/ethernet/broadcom/bnx2x//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/net/ethernet/broadcom/bnxt//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/net/ethernet/broadcom/genet//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/net/ethernet/brocade//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/net/ethernet/brocade/bna//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/net/ethernet/cadence//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/net/ethernet/calxeda//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/net/ethernet/cavium//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/net/ethernet/cavium/common//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/net/ethernet/cavium/liquidio//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/net/ethernet/cavium/octeon//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/net/ethernet/cavium/thunder//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/net/ethernet/chelsio//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/net/ethernet/chelsio/cxgb//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/net/ethernet/chelsio/cxgb3//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/net/ethernet/chelsio/cxgb4//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/net/ethernet/chelsio/cxgb4vf//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/net/ethernet/chelsio/inline_crypto//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/net/ethernet/chelsio/inline_crypto/ch_ipsec//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/net/ethernet/chelsio/inline_crypto/ch_ktls//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/net/ethernet/chelsio/libcxgb//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/net/ethernet/cirrus//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/net/ethernet/cisco//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/net/ethernet/cisco/enic//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/net/ethernet/cortina//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/net/ethernet/davicom//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/net/ethernet/dec//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/net/ethernet/dec/tulip//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/net/ethernet/dlink//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/net/ethernet/emulex//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/net/ethernet/emulex/benet//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/net/ethernet/ezchip//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/net/ethernet/faraday//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/net/ethernet/freescale//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/net/ethernet/freescale/dpaa//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/net/ethernet/freescale/fman//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/net/ethernet/freescale/fs_enet//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/net/ethernet/fujitsu//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/net/ethernet/google//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/net/ethernet/google/gve//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/net/ethernet/hisilicon//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/net/ethernet/hisilicon/hns//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/net/ethernet/hisilicon/hns3//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/net/ethernet/hisilicon/hns3/hns3pf//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/net/ethernet/hisilicon/hns3/hns3vf//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/net/ethernet/hp//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/net/ethernet/huawei//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/net/ethernet/huawei/hinic//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/net/ethernet/i825xx//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/net/ethernet/ibm//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/net/ethernet/ibm/ehea//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/net/ethernet/ibm/emac//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/net/ethernet/intel//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/net/ethernet/intel/e1000//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/net/ethernet/intel/e1000e//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/net/ethernet/intel/fm10k//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/net/ethernet/intel/i40e//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/net/ethernet/intel/iavf//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/net/ethernet/intel/ice//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/net/ethernet/intel/igb//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/net/ethernet/intel/igbvf//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/net/ethernet/intel/igc//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/net/ethernet/intel/ixgb//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/net/ethernet/intel/ixgbe//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/net/ethernet/intel/ixgbevf//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/net/ethernet/marvell//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/net/ethernet/marvell/mvpp2//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/net/ethernet/mediatek//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/net/ethernet/mellanox//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/net/ethernet/mellanox/mlx4//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/net/ethernet/mellanox/mlx5//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/net/ethernet/mellanox/mlx5/core//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/net/ethernet/mellanox/mlx5/core/accel//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/net/ethernet/mellanox/mlx5/core/diag//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/net/ethernet/mellanox/mlx5/core/en//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/net/ethernet/mellanox/mlx5/core/en/xsk//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/net/ethernet/mellanox/mlx5/core/en_accel//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/net/ethernet/mellanox/mlx5/core/esw//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/net/ethernet/mellanox/mlx5/core/fpga//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/net/ethernet/mellanox/mlx5/core/ipoib//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/net/ethernet/mellanox/mlx5/core/lib//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/net/ethernet/mellanox/mlx5/core/steering//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/net/ethernet/mellanox/mlxbf_gige//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/net/ethernet/mellanox/mlxfw//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/net/ethernet/mellanox/mlxsw//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/net/ethernet/micrel//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/net/ethernet/microchip//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/net/ethernet/microsoft//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/net/ethernet/microsoft/mana//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/net/ethernet/moxa//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/net/ethernet/mscc//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/net/ethernet/myricom//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/net/ethernet/myricom/myri10ge//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/net/ethernet/natsemi//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/net/ethernet/neterion//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/net/ethernet/neterion/vxge//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/net/ethernet/netronome//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/net/ethernet/netronome/nfp//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/net/ethernet/netronome/nfp/bpf//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/net/ethernet/netronome/nfp/flower//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/net/ethernet/netronome/nfp/nfpcore//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/net/ethernet/netronome/nfp/nfpcore/nfp6000//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/net/ethernet/netronome/nfp/nic//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/net/ethernet/ni//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/net/ethernet/nuvoton//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/net/ethernet/nvidia//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/net/ethernet/nxp//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/net/ethernet/oki-semi//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/net/ethernet/oki-semi/pch_gbe//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/net/ethernet/packetengines//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/net/ethernet/pasemi//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/net/ethernet/pensando//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/net/ethernet/pensando/ionic//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/net/ethernet/qlogic//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/net/ethernet/qlogic/netxen//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/net/ethernet/qlogic/qed//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/net/ethernet/qlogic/qede//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/net/ethernet/qlogic/qlcnic//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/net/ethernet/qlogic/qlge//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/net/ethernet/qualcomm//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/net/ethernet/qualcomm/emac//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/net/ethernet/qualcomm/rmnet//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/net/ethernet/rdc//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/net/ethernet/realtek//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/net/ethernet/renesas//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/net/ethernet/rocker//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/net/ethernet/samsung//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/net/ethernet/samsung/sxgbe//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/net/ethernet/seeq//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/net/ethernet/sfc//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/net/ethernet/sfc/falcon//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/net/ethernet/sfc/siena//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/net/ethernet/sgi//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/net/ethernet/silan//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/net/ethernet/sis//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/net/ethernet/smsc//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/net/ethernet/socionext//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/net/ethernet/stmicro//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/net/ethernet/stmicro/stmmac//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/net/ethernet/sun//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/net/ethernet/synopsys//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/net/ethernet/tehuti//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/net/ethernet/ti//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/net/ethernet/toshiba//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/net/ethernet/tundra//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/net/ethernet/via//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/net/ethernet/wiznet//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/net/ethernet/xilinx//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/net/ethernet/xircom//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/net/ethernet/xscale//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/net/fddi//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/net/fddi/skfp//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/net/fjes//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/net/hamradio//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/net/hippi//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/net/hyperv//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/net/ieee802154//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/net/ipvlan//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/net/netdevsim//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/net/pcs//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/net/phy//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/net/plip//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/net/ppp//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/net/slip//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/net/team//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/net/usb//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/net/vmxnet3//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/net/wan//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/net/wan/lmc//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/net/wimax//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/net/wimax/i2400m//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/net/wireless//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/net/wireless/admtek//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/net/wireless/ath//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/net/wireless/ath/ar5523//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/net/wireless/ath/ath10k//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/net/wireless/ath/ath11k//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/net/wireless/ath/ath5k//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/net/wireless/ath/ath6kl//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/net/wireless/ath/ath9k//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/net/wireless/ath/carl9170//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/net/wireless/ath/wcn36xx//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/net/wireless/ath/wil6210//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/net/wireless/atmel//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/net/wireless/broadcom//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/net/wireless/broadcom/b43//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/net/wireless/broadcom/b43legacy//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/net/wireless/broadcom/brcm80211//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/net/wireless/broadcom/brcm80211/brcmfmac//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/net/wireless/broadcom/brcm80211/brcmsmac//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/net/wireless/broadcom/brcm80211/brcmutil//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/net/wireless/cisco//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/net/wireless/intel//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/net/wireless/intel/ipw2x00//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/net/wireless/intel/iwlegacy//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/net/wireless/intel/iwlwifi//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/net/wireless/intel/iwlwifi/dvm//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/net/wireless/intel/iwlwifi/mei//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/net/wireless/intel/iwlwifi/mvm//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/net/wireless/intersil//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/net/wireless/intersil/hostap//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/net/wireless/intersil/orinoco//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/net/wireless/intersil/p54//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/net/wireless/intersil/prism54//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/net/wireless/marvell//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/net/wireless/marvell/libertas//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/net/wireless/marvell/libertas_tf//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/net/wireless/marvell/mwifiex//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/net/wireless/mediatek//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/net/wireless/mediatek/mt76//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/net/wireless/mediatek/mt76/mt7603//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/net/wireless/mediatek/mt76/mt7615//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/net/wireless/mediatek/mt76/mt76x0//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/net/wireless/mediatek/mt76/mt76x2//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/net/wireless/mediatek/mt76/mt7915//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/net/wireless/mediatek/mt76/mt7921//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/net/wireless/mediatek/mt7601u//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/net/wireless/quantenna//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/net/wireless/quantenna/qtnfmac//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/net/wireless/ralink//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/net/wireless/ralink/rt2x00//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/net/wireless/realtek//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/net/wireless/realtek/rtl818x//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/net/wireless/realtek/rtl818x/rtl8180//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/net/wireless/realtek/rtl818x/rtl8187//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/net/wireless/realtek/rtl8xxxu//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/net/wireless/realtek/rtlwifi//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/net/wireless/realtek/rtlwifi/btcoexist//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/net/wireless/realtek/rtlwifi/rtl8188ee//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/net/wireless/realtek/rtlwifi/rtl8192c//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/net/wireless/realtek/rtlwifi/rtl8192ce//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/net/wireless/realtek/rtlwifi/rtl8192cu//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/net/wireless/realtek/rtlwifi/rtl8192de//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/net/wireless/realtek/rtlwifi/rtl8192ee//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/net/wireless/realtek/rtlwifi/rtl8192se//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/net/wireless/realtek/rtlwifi/rtl8723ae//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/net/wireless/realtek/rtlwifi/rtl8723be//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/net/wireless/realtek/rtlwifi/rtl8723com//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/net/wireless/realtek/rtlwifi/rtl8821ae//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/net/wireless/realtek/rtw88//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/net/wireless/realtek/rtw89//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/net/wireless/rsi//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/net/wireless/st//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/net/wireless/st/cw1200//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/net/wireless/ti//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/net/wireless/ti/wl1251//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/net/wireless/ti/wl12xx//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/net/wireless/ti/wl18xx//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/net/wireless/ti/wlcore//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/net/wireless/zydas//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/net/wireless/zydas/zd1211rw//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/net/xen-netback//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/nfc//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/nfc/fdp//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/nfc/microread//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/nfc/nfcmrvl//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/nfc/nxp-nci//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/nfc/pn533//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/nfc/pn544//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/nfc/s3fwrn5//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/nfc/st-nci//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/nfc/st21nfca//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/nfc/st95hf//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/ntb//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/ntb/hw//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/ntb/hw/amd//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/ntb/hw/epf//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/ntb/hw/idt//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/ntb/hw/intel//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/ntb/hw/mscc//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/ntb/test//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/nubus//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/nvdimm//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/nvme//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/nvme/host//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/nvme/target//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/nvmem//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/of//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/of/unittest-data//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/opp//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/parisc//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/parport//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/pci//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/pci/controller//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/pci/controller/dwc//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/pci/endpoint//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/pci/endpoint/functions//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/pci/hotplug//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/pci/pcie//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/pci/switch//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/pcmcia//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/perf//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/perf/hisilicon//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/phy//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/phy/allwinner//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/phy/amlogic//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/phy/broadcom//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/phy/hisilicon//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/phy/lantiq//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/phy/marvell//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/phy/mediatek//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/phy/motorola//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/phy/qualcomm//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/phy/ralink//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/phy/renesas//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/phy/rockchip//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/phy/samsung//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/phy/st//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/phy/tegra//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/phy/ti//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/pinctrl//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/pinctrl/actions//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/pinctrl/aspeed//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/pinctrl/bcm//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/pinctrl/berlin//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/pinctrl/freescale//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/pinctrl/intel//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/pinctrl/mediatek//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/pinctrl/meson//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/pinctrl/mvebu//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/pinctrl/nomadik//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/pinctrl/pxa//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/pinctrl/qcom//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/pinctrl/samsung//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/pinctrl/sh-pfc//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/pinctrl/sirf//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/pinctrl/spear//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/pinctrl/sprd//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/pinctrl/stm32//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/pinctrl/sunxi//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/pinctrl/tegra//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/pinctrl/ti//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/pinctrl/uniphier//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/pinctrl/vt8500//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/pinctrl/zte//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/platform//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/platform/chrome//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/platform/goldfish//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/platform/mellanox//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/platform/mips//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/platform/olpc//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/platform/x86//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/platform/x86/dell-wmi-sysman//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/platform/x86/intel//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/platform/x86/intel/pmc//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/platform/x86/intel/pmt//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/platform/x86/intel/speed_select_if//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/pnp//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/pnp/isapnp//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/pnp/pnpacpi//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/pnp/pnpbios//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/power//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/power/avs//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/power/reset//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/power/supply//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/powercap//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/pps//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/pps/clients//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/pps/generators//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/ps3//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/ptp//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/pwm//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/rapidio//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/rapidio/devices//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/rapidio/switches//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/ras//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/regulator//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/remoteproc//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/reset//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/reset/hisilicon//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/reset/sti//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/reset/tegra//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/rpmsg//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/rtc//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/s390//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/s390/block//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/s390/char//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/s390/cio//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/s390/crypto//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/s390/net//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/s390/scsi//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/s390/virtio//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/sbus//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/sbus/char//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/scsi//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/scsi/aacraid//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/scsi/aic7xxx//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/scsi/aic7xxx/aicasm//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/scsi/aic94xx//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/scsi/arcmsr//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/scsi/arm//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/scsi/be2iscsi//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/scsi/bfa//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/scsi/bnx2fc//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/scsi/bnx2i//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/scsi/csiostor//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/scsi/cxgbi//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/scsi/cxgbi/cxgb3i//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/scsi/cxgbi/cxgb4i//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/scsi/cxlflash//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/scsi/device_handler//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/scsi/esas2r//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/scsi/fcoe//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/scsi/fnic//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/scsi/hisi_sas//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/scsi/ibmvscsi//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/scsi/ibmvscsi_tgt//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/scsi/isci//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/scsi/libfc//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/scsi/libsas//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/scsi/lpfc//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/scsi/megaraid//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/scsi/mpi3mr//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/scsi/mpt3sas//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/scsi/mvsas//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/scsi/pcmcia//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/scsi/pm8001//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/scsi/qedf//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/scsi/qedi//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/scsi/qla2xxx//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/scsi/qla4xxx//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/scsi/smartpqi//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/scsi/snic//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/scsi/sym53c8xx_2//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/scsi/ufs//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/sfi//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/sh//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/sh/clk//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/sh/intc//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/sh/maple//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/sh/superhyway//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/siox//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/slimbus//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/sn//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/soc//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/soc/actions//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/soc/amlogic//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/soc/atmel//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/soc/bcm//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/soc/bcm/brcmstb//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/soc/bcm/brcmstb/pm//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/soc/dove//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/soc/fsl//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/soc/fsl/qbman//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/soc/fsl/qe//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/soc/gemini//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/soc/imx//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/soc/lantiq//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/soc/mediatek//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/soc/qcom//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/soc/renesas//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/soc/rockchip//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/soc/samsung//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/soc/sunxi//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/soc/tegra//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/soc/tegra/fuse//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/soc/ti//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/soc/ux500//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/soc/versatile//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/soc/xilinx//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/soc/zte//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/soundwire//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/spi//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/spmi//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/ssb//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/staging//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/staging/android//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/staging/android/ion//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/staging/board//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/staging/clocking-wizard//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/staging/comedi//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/staging/comedi/drivers//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/staging/comedi/kcomedilib//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/staging/dgnc//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/staging/emxx_udc//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/staging/fbtft//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/staging/fsl-dpaa2//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/staging/fsl-dpaa2/ethernet//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/staging/fsl-dpaa2/ethsw//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/staging/fsl-dpaa2/rtc//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/staging/fsl-mc//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/staging/fsl-mc/bus//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/staging/fsl-mc/bus/dpio//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/staging/fwserial//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/staging/gdm724x//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/staging/goldfish//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/staging/greybus//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/staging/greybus/tools//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/staging/gs_fpgaboot//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/staging/iio//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/staging/iio/accel//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/staging/iio/adc//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/staging/iio/addac//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/staging/iio/cdc//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/staging/iio/frequency//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/staging/iio/gyro//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/staging/iio/impedance-analyzer//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/staging/iio/meter//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/staging/iio/resolver//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/staging/ks7010//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/staging/media//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/staging/media/bcm2048//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/staging/media/davinci_vpfe//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/staging/media/imx//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/staging/media/imx074//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/staging/media/mt9t031//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/staging/media/omap4iss//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/staging/media/tegra-vde//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/staging/media/zoran//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/staging/most//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/staging/most/cdev//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/staging/most/dim2//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/staging/most/i2c//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/staging/most/net//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/staging/most/sound//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/staging/most/usb//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/staging/most/video//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/staging/mt29f_spinand//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/staging/mt7621-dma//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/staging/mt7621-dts//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/staging/mt7621-eth//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/staging/mt7621-gpio//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/staging/mt7621-mmc//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/staging/mt7621-pci//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/staging/mt7621-pinctrl//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/staging/mt7621-spi//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/staging/netlogic//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/staging/nvec//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/staging/octeon-usb//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/staging/octeon//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/staging/olpc_dcon//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/staging/pi433//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/staging/rtl8188eu//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/staging/rtl8192e//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/staging/rtl8192e/rtl8192e//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/staging/rtl8192u//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/staging/rtl8192u/ieee80211//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/staging/rtl8712//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/staging/rtl8723bs//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/staging/rtlwifi//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/staging/rtlwifi/btcoexist//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/staging/rtlwifi/rtl8822be//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/staging/rts5208//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/staging/skein//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/staging/sm750fb//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/staging/speakup//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/staging/unisys//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/staging/unisys/visorhba//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/staging/unisys/visorinput//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/staging/unisys/visornic//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/staging/vboxvideo//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/staging/vc04_services//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/staging/vc04_services/bcm2835-audio//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/staging/vc04_services/bcm2835-camera//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/staging/vme//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/staging/vme/devices//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/staging/vt6655//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/staging/vt6656//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/staging/wilc1000//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/staging/wlan-ng//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/staging/xgifb//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/target//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/target/iscsi//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/target/iscsi/cxgbit//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/target/loopback//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/target/sbp//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/target/tcm_fc//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/tc//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/tee//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/tee/optee//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/thermal//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/thermal/broadcom//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/thermal/intel//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/thermal/intel/int340x_thermal//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/thermal/qcom//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/thermal/samsung//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/thermal/st//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/thermal/tegra//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/thermal/ti-soc-thermal//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/thunderbolt//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/tty//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/tty/hvc//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/tty/ipwireless//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/tty/serdev//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/tty/serial//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/tty/serial/8250//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/tty/serial/cpm_uart//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/tty/serial/jsm//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/tty/vt//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/uio//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/usb//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/usb/atm//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/usb/c67x00//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/usb/chipidea//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/usb/class//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/usb/common//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/usb/core//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/usb/dwc2//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/usb/dwc3//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/usb/early//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/usb/gadget//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/usb/gadget/function//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/usb/gadget/legacy//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/usb/gadget/udc//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/usb/gadget/udc/aspeed-vhub//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/usb/gadget/udc/bdc//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/usb/host//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/usb/host/whci//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/usb/image//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/usb/isp1760//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/usb/misc//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/usb/misc/sisusbvga//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/usb/mon//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/usb/mtu3//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/usb/musb//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/usb/phy//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/usb/renesas_usbhs//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/usb/roles//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/usb/serial//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/usb/storage//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/usb/typec//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/usb/typec/altmodes//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/usb/typec/mux//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/usb/typec/tcpm//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/usb/typec/tipd//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/usb/typec/ucsi//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/usb/usbip//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/usb/wusbcore//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/uwb//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/uwb/i1480//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/uwb/i1480/dfu//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/vdpa//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/vdpa/alibaba//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/vdpa/ifcvf//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/vdpa/mlx5//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/vdpa/vdpa_sim//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/vdpa/virtio_pci//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/vfio//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/vfio/mdev//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/vfio/pci//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/vfio/platform//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/vfio/platform/reset//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/vhost//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/video//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/video/backlight//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/video/console//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/video/fbdev//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/video/fbdev/aty//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/video/fbdev/core//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/video/fbdev/geode//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/video/fbdev/i810//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/video/fbdev/intelfb//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/video/fbdev/kyro//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/video/fbdev/matrox//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/video/fbdev/mb862xx//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/video/fbdev/mbx//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/video/fbdev/mmp//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/video/fbdev/mmp/fb//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/video/fbdev/mmp/hw//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/video/fbdev/mmp/panel//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/video/fbdev/nvidia//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/video/fbdev/omap//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/video/fbdev/omap2//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/video/fbdev/omap2/omapfb//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/video/fbdev/omap2/omapfb/displays//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/video/fbdev/omap2/omapfb/dss//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/video/fbdev/riva//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/video/fbdev/savage//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/video/fbdev/sis//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/video/fbdev/vermilion//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/video/fbdev/via//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/video/logo//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/virt//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/virt/coco//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/virt/coco/sev-guest//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/virt/coco/tdx-guest//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/virt/nitro_enclaves//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/virt/vboxguest//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/virtio//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/visorbus//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/vlynq//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/vme//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/vme/boards//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/vme/bridges//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/w1//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/w1/masters//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/w1/slaves//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/watchdog//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/xen//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/xen/events//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/xen/xen-pciback//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/xen/xenbus//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/xen/xenfs//usr/src/kernels/4.18.0-488.el8.ppc64le/drivers/zorro//usr/src/kernels/4.18.0-488.el8.ppc64le/firmware//usr/src/kernels/4.18.0-488.el8.ppc64le/fs//usr/src/kernels/4.18.0-488.el8.ppc64le/fs/9p//usr/src/kernels/4.18.0-488.el8.ppc64le/fs/adfs//usr/src/kernels/4.18.0-488.el8.ppc64le/fs/affs//usr/src/kernels/4.18.0-488.el8.ppc64le/fs/afs//usr/src/kernels/4.18.0-488.el8.ppc64le/fs/autofs//usr/src/kernels/4.18.0-488.el8.ppc64le/fs/befs//usr/src/kernels/4.18.0-488.el8.ppc64le/fs/bfs//usr/src/kernels/4.18.0-488.el8.ppc64le/fs/btrfs//usr/src/kernels/4.18.0-488.el8.ppc64le/fs/cachefiles//usr/src/kernels/4.18.0-488.el8.ppc64le/fs/ceph//usr/src/kernels/4.18.0-488.el8.ppc64le/fs/cifs//usr/src/kernels/4.18.0-488.el8.ppc64le/fs/coda//usr/src/kernels/4.18.0-488.el8.ppc64le/fs/configfs//usr/src/kernels/4.18.0-488.el8.ppc64le/fs/cramfs//usr/src/kernels/4.18.0-488.el8.ppc64le/fs/crypto//usr/src/kernels/4.18.0-488.el8.ppc64le/fs/debugfs//usr/src/kernels/4.18.0-488.el8.ppc64le/fs/devpts//usr/src/kernels/4.18.0-488.el8.ppc64le/fs/dlm//usr/src/kernels/4.18.0-488.el8.ppc64le/fs/ecryptfs//usr/src/kernels/4.18.0-488.el8.ppc64le/fs/efivarfs//usr/src/kernels/4.18.0-488.el8.ppc64le/fs/efs//usr/src/kernels/4.18.0-488.el8.ppc64le/fs/exportfs//usr/src/kernels/4.18.0-488.el8.ppc64le/fs/ext2//usr/src/kernels/4.18.0-488.el8.ppc64le/fs/ext4//usr/src/kernels/4.18.0-488.el8.ppc64le/fs/f2fs//usr/src/kernels/4.18.0-488.el8.ppc64le/fs/fat//usr/src/kernels/4.18.0-488.el8.ppc64le/fs/freevxfs//usr/src/kernels/4.18.0-488.el8.ppc64le/fs/fscache//usr/src/kernels/4.18.0-488.el8.ppc64le/fs/fuse//usr/src/kernels/4.18.0-488.el8.ppc64le/fs/gfs2//usr/src/kernels/4.18.0-488.el8.ppc64le/fs/hfs//usr/src/kernels/4.18.0-488.el8.ppc64le/fs/hfsplus//usr/src/kernels/4.18.0-488.el8.ppc64le/fs/hostfs//usr/src/kernels/4.18.0-488.el8.ppc64le/fs/hpfs//usr/src/kernels/4.18.0-488.el8.ppc64le/fs/hugetlbfs//usr/src/kernels/4.18.0-488.el8.ppc64le/fs/iomap//usr/src/kernels/4.18.0-488.el8.ppc64le/fs/isofs//usr/src/kernels/4.18.0-488.el8.ppc64le/fs/jbd2//usr/src/kernels/4.18.0-488.el8.ppc64le/fs/jffs2//usr/src/kernels/4.18.0-488.el8.ppc64le/fs/jfs//usr/src/kernels/4.18.0-488.el8.ppc64le/fs/kernfs//usr/src/kernels/4.18.0-488.el8.ppc64le/fs/lockd//usr/src/kernels/4.18.0-488.el8.ppc64le/fs/minix//usr/src/kernels/4.18.0-488.el8.ppc64le/fs/nfs//usr/src/kernels/4.18.0-488.el8.ppc64le/fs/nfs/blocklayout//usr/src/kernels/4.18.0-488.el8.ppc64le/fs/nfs/filelayout//usr/src/kernels/4.18.0-488.el8.ppc64le/fs/nfs/flexfilelayout//usr/src/kernels/4.18.0-488.el8.ppc64le/fs/nfs_common//usr/src/kernels/4.18.0-488.el8.ppc64le/fs/nfsd//usr/src/kernels/4.18.0-488.el8.ppc64le/fs/nilfs2//usr/src/kernels/4.18.0-488.el8.ppc64le/fs/nls//usr/src/kernels/4.18.0-488.el8.ppc64le/fs/notify//usr/src/kernels/4.18.0-488.el8.ppc64le/fs/notify/dnotify//usr/src/kernels/4.18.0-488.el8.ppc64le/fs/notify/fanotify//usr/src/kernels/4.18.0-488.el8.ppc64le/fs/notify/inotify//usr/src/kernels/4.18.0-488.el8.ppc64le/fs/ntfs//usr/src/kernels/4.18.0-488.el8.ppc64le/fs/ocfs2//usr/src/kernels/4.18.0-488.el8.ppc64le/fs/ocfs2/cluster//usr/src/kernels/4.18.0-488.el8.ppc64le/fs/ocfs2/dlm//usr/src/kernels/4.18.0-488.el8.ppc64le/fs/ocfs2/dlmfs//usr/src/kernels/4.18.0-488.el8.ppc64le/fs/omfs//usr/src/kernels/4.18.0-488.el8.ppc64le/fs/openpromfs//usr/src/kernels/4.18.0-488.el8.ppc64le/fs/orangefs//usr/src/kernels/4.18.0-488.el8.ppc64le/fs/overlayfs//usr/src/kernels/4.18.0-488.el8.ppc64le/fs/proc//usr/src/kernels/4.18.0-488.el8.ppc64le/fs/pstore//usr/src/kernels/4.18.0-488.el8.ppc64le/fs/qnx4//usr/src/kernels/4.18.0-488.el8.ppc64le/fs/qnx6//usr/src/kernels/4.18.0-488.el8.ppc64le/fs/quota//usr/src/kernels/4.18.0-488.el8.ppc64le/fs/ramfs//usr/src/kernels/4.18.0-488.el8.ppc64le/fs/reiserfs//usr/src/kernels/4.18.0-488.el8.ppc64le/fs/romfs//usr/src/kernels/4.18.0-488.el8.ppc64le/fs/squashfs//usr/src/kernels/4.18.0-488.el8.ppc64le/fs/sysfs//usr/src/kernels/4.18.0-488.el8.ppc64le/fs/sysv//usr/src/kernels/4.18.0-488.el8.ppc64le/fs/tracefs//usr/src/kernels/4.18.0-488.el8.ppc64le/fs/ubifs//usr/src/kernels/4.18.0-488.el8.ppc64le/fs/udf//usr/src/kernels/4.18.0-488.el8.ppc64le/fs/ufs//usr/src/kernels/4.18.0-488.el8.ppc64le/fs/xfs//usr/src/kernels/4.18.0-488.el8.ppc64le/include//usr/src/kernels/4.18.0-488.el8.ppc64le/include/acpi//usr/src/kernels/4.18.0-488.el8.ppc64le/include/acpi/platform//usr/src/kernels/4.18.0-488.el8.ppc64le/include/asm-generic//usr/src/kernels/4.18.0-488.el8.ppc64le/include/asm-generic/bitops//usr/src/kernels/4.18.0-488.el8.ppc64le/include/asm-generic/vdso//usr/src/kernels/4.18.0-488.el8.ppc64le/include/clocksource//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/8139too//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/842//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/ac97//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/advise//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/alim7101//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/allow//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/allow/dev//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/altera//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/amd//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/aperture//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/aquantia//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/arch//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/arch/cpu//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/arch/cpu/probe//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/arch/dma//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/arch/dma/addr//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/arch/dma/addr/t//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/arch/enable//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/arch/enable/hugepage//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/arch/enable/memory//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/arch/enable/split//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/arch/enable/split/pmd//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/arch/has//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/arch/has/devmem//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/arch/has/devmem/is//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/arch/has/dma//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/arch/has/dma/map//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/arch/has/elf//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/arch/has/fast//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/arch/has/force//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/arch/has/force/dma//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/arch/has/fortify//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/arch/has/gcov//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/arch/has/gcov/profile//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/arch/has/gigantic//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/arch/has/kexec//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/arch/has/mem//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/arch/has/membarrier//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/arch/has/memremap//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/arch/has/memremap/compat//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/arch/has/non//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/arch/has/non/overlapping//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/arch/has/non/overlapping/address//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/arch/has/phys//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/arch/has/phys/to//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/arch/has/pmem//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/arch/has/pte//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/arch/has/sg//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/arch/has/tick//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/arch/has/uaccess//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/arch/has/ubsan//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/arch/has/ubsan/sanitize//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/arch/has/walk//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/arch/has/zone//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/arch/have//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/arch/have/nmi//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/arch/have/nmi/safe//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/arch/hibernation//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/arch/keep//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/arch/may//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/arch/may/have//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/arch/may/have/pc//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/arch/memory//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/arch/might//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/arch/might/have//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/arch/might/have/pc//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/arch/mmap//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/arch/mmap/rnd//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/arch/mmap/rnd/bits//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/arch/mmap/rnd/compat//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/arch/mmap/rnd/compat/bits//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/arch/select//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/arch/select/memory//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/arch/sparsemem//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/arch/supports//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/arch/supports/atomic//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/arch/supports/debug//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/arch/supports/memory//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/arch/supports/numa//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/arch/suspend//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/arch/suspend/nonzero//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/arch/use//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/arch/use/builtin//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/arch/use/cmpxchg//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/arch/uses//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/arch/uses/high//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/arch/uses/high/vma//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/arch/want//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/arch/want/compat//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/arch/want/compat/ipc//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/arch/want/compat/ipc/parse//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/arch/want/ipc//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/arch/want/ipc/parse//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/arch/want/irqs//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/arch/want/irqs/off//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/arch/want/irqs/off/activate//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/arch/want/old//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/arch/want/old/compat//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/arch/weak//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/arch/weak/release//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/arm//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/arm/gic//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/arm/gic/max//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/associative//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/asymmetric//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/asymmetric/key//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/asymmetric/public//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/asymmetric/public/key//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/async//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/async/raid6//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/async/tx//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/ata//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/ata/verbose//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/atm//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/atomic64//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/audit//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/autofs//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/autofs4//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/auxiliary//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/backlight//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/backlight/class//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/backlight/lcd//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/balloon//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/base//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/bcm//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/bcm/net//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/bcm7xxx//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/bcm87xx//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/bcma//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/bcma/driver//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/bcma/driver/gmac//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/bcma/host//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/bcma/host/pci//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/be2net//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/bfq//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/bfq/group//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/big//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/binary//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/binfmt//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/bitfield//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/bitfield/kunit//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/bits//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/bits/kunit//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/blk//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/blk/cgroup//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/blk/cgroup/fc//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/blk/debug//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/blk/dev//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/blk/dev/dm//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/blk/dev/integrity//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/blk/dev/io//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/blk/dev/loop//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/blk/dev/loop/min//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/blk/dev/null//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/blk/dev/ram//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/blk/mq//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/blk/scsi//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/blk/wbt//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/block//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/bnx2x//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/bnxt//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/bnxt/flower//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/bootparam//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/bootparam/hardlockup//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/bootparam/hardlockup/panic//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/bootparam/hung//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/bootparam/hung/task//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/bootparam/hung/task/panic//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/bootparam/softlockup//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/bootparam/softlockup/panic//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/bootx//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/bpf//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/bpf/jit//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/bpf/jit/always//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/bpf/jit/default//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/bpf/stream//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/bpf/unpriv//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/bpf/unpriv/default//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/branch//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/branch/profile//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/bridge//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/bridge/ebt//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/bridge/ebt/802//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/bridge/ebt/mark//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/bridge/ebt/t//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/bridge/igmp//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/bridge/nf//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/bridge/vlan//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/broadcom//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/bsd//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/bsd/process//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/bsd/process/acct//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/bt//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/bt/bnep//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/bt/bnep/mc//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/bt/bnep/proto//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/bt/hcibtusb//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/bt/hciuart//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/bt/mrvl//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/bt/rfcomm//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/bug//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/bug/on//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/bug/on/data//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/build//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/buildtime//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/buildtime/extable//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/can//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/can/8dev//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/can/c//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/can/c/can//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/can/calc//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/can/cc770//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/can/ems//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/can/esd//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/can/kvaser//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/can/peak//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/can/plx//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/can/sja1000//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/capi//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/cavium//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/cb710//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/cb710/debug//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/cc//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/cc/can//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/cc/has//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/cc/has/kasan//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/cc/has/sancov//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/cc/has/sancov/trace//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/cc/has/stackprotector//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/cc/has/working//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/cc/has/working/nosanitize//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/cc/is//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/cc/optimize//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/cc/optimize/for//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/cdrom//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/cdrom/pktcdvd//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/cec//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/cec/platform//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/ceph//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/ceph/fs//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/ceph/fs/posix//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/ceph/fs/security//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/ceph/lib//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/ceph/lib/use//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/ceph/lib/use/dns//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/cfs//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/cgroup//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/cgroup/net//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/charger//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/check//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/checkpoint//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/chelsio//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/chelsio/inline//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/chelsio/ipsec//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/chelsio/tls//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/chr//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/chr/dev//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/cicada//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/cifs//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/cifs/allow//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/cifs/allow/insecure//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/cifs/dfs//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/cifs/smb//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/cifs/weak//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/cifs/weak/pw//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/clang//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/clkbld//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/clone//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/cls//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/cls/u32//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/clz//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/cma//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/cmdline//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/cmdline/kunit//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/compat//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/compat/32bit//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/compat/binfmt//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/compat/old//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/configfs//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/console//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/console/loglevel//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/context//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/context/switch//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/contig//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/core//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/core/dump//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/core/dump/default//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/core/dump/default/elf//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/cortina//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/cpu//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/cpu/freq//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/cpu/freq/default//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/cpu/freq/default/gov//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/cpu/freq/gov//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/cpu/freq/gov/attr//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/cpu/idle//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/cpu/idle/gov//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/cpu/little//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/cramfs//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/crash//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/crc//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/crc/itu//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/crc32//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/cross//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/cross/memory//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/crypto//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/crypto/ansi//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/crypto/blowfish//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/crypto/cast//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/crypto/dev//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/crypto/dev/nitrox//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/crypto/dev/nx//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/crypto/dev/nx/compress//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/crypto/dev/vmx//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/crypto/drbg//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/crypto/fips//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/crypto/hash//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/crypto/lib//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/crypto/michael//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/crypto/rng//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/crypto/twofish//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/crypto/user//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/crypto/user/api//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/cxl//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/cxl/afu//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/cxl/afu/driver//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/cypress//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/damon//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/davicom//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/dax//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/dcache//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/dcache/word//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/de//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/debug//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/debug/info//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/debug/memory//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/debug/section//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/decompress//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/default//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/default/fq//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/default/hung//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/default/hung/task//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/default/mmap//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/default/mmap/min//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/default/net//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/default/security//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/default/tcp//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/detect//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/detect/hung//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/dev//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/dev/dax//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/dev/dax/pmem//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/device//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/devtmpfs//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/dlci//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/dlm//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/dm//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/dm/bio//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/dm/cache//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/dm/log//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/dm/multipath//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/dm/persistent//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/dm/thin//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/dma//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/dma/engine//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/dma/ops//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/dma/shared//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/dns//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/dp83640//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/dp83822//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/dp83848//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/dp83867//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/dp83tc811//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/drm//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/drm/amd//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/drm/amdgpu//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/drm/cirrus//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/drm/display//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/drm/display/dp//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/drm/display/hdmi//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/drm/dp//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/drm/dp/aux//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/drm/fbdev//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/drm/gem//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/drm/gem/shmem//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/drm/i2c//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/drm/kms//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/drm/load//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/drm/load/edid//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/drm/nouveau//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/drm/panel//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/drm/panel/orientation//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/drm/radeon//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/drm/ttm//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/drm/virtio//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/drm/vram//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/dst//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/dummy//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/dummy/console//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/dvb//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/dvb/au8522//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/dvb/av7110//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/dvb/b2c2//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/dvb/b2c2/flexcop//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/dvb/budget//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/dvb/dummy//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/dvb/dynamic//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/dvb/firedtv//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/dvb/gp8psk//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/dvb/max//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/dvb/ttusb//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/dvb/tuner//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/dvb/usb//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/dvb/usb/af9005//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/dvb/usb/cinergy//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/dvb/usb/dibusb//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/dvb/usb/nova//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/dvb/usb/nova/t//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/dvb/usb/technisat//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/dvb/usb/umt//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/dw//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/dw/dmac//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/dynamic//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/dynamic/ftrace//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/dynamic/ftrace/with//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/early//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/edac//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/edac/atomic//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/edac/legacy//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/eeprom//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/efi//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/elf//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/enable//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/enable/must//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/enclosure//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/encrypted//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/energy//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/epapr//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/ethtool//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/event//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/evm//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/evm/attr//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/exportfs//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/exportfs/block//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/ext4//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/ext4/fs//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/ext4/fs/posix//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/ext4/kunit//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/ext4/use//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/ext4/use/for//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/extra//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/fa//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/fair//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/fair/group//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/fanotify//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/fanotify/access//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/fat//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/fat/default//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/fat/kunit//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/fb//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/fb/cfb//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/fb/deferred//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/fb/ibm//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/fb/matrox//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/fb/mode//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/fb/nvidia//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/fb/radeon//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/fb/sys//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/fc//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/fib//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/file//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/fips//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/fips/signature//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/firewire//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/fixed//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/font//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/force//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/force/max//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/fortify//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/frame//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/framebuffer//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/framebuffer/console//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/framebuffer/console/deferred//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/framebuffer/console/detect//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/fs//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/fs/dax//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/fs/posix//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/fscache//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/ftrace//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/ftrace/mcount//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/function//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/function/graph//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/fuse//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/fusion//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/fusion/max//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/futex//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/fw//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/fw/loader//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/fw/loader/user//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/gact//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/gcc//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/generic//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/generic/clockevents//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/generic/cmos//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/generic/cpu//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/generic/irq//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/generic/irq/show//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/generic/isa//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/generic/msi//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/generic/net//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/generic/pci//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/generic/smp//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/generic/smp/idle//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/generic/strncpy//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/generic/strncpy/from//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/generic/strnlen//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/generic/time//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/genwqe//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/genwqe/platform//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/genwqe/platform/error//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/gfs2//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/gfs2/fs//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/gfs2/fs/locking//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/gigaset//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/gpio//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/gpiolib//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/gpiolib/fastpath//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/grace//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/gro//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/hangcheck//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/hardened//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/hardened/usercopy//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/hardirqs//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/hardirqs/sw//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/hardlockup//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/has//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/has/ioport//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/have//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/have/arch//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/have/arch/jump//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/have/arch/mmap//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/have/arch/mmap/rnd//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/have/arch/mmap/rnd/compat//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/have/arch/seccomp//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/have/arch/soft//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/have/arch/transparent//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/have/bootmem//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/have/bootmem/info//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/have/context//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/have/debug//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/have/dynamic//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/have/dynamic/ftrace//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/have/dynamic/ftrace/with//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/have/ebpf//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/have/efficient//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/have/efficient/unaligned//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/have/fast//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/have/ftrace//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/have/ftrace/mcount//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/have/function//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/have/function/graph//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/have/gcc//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/have/hardened//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/have/hardened/usercopy//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/have/hardlockup//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/have/hardlockup/detector//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/have/hw//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/have/ima//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/have/ioremap//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/have/irq//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/have/irq/exit//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/have/irq/exit/on//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/have/irq/exit/on/irq//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/have/irq/time//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/have/kernel//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/have/kprobes//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/have/kprobes/on//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/have/kvm//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/have/kvm/irq//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/have/kvm/vcpu//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/have/kvm/vcpu/async//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/have/ld//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/have/ld/dead//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/have/ld/dead/code//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/have/ld/dead/code/data//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/have/memory//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/have/memoryless//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/have/mod//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/have/mod/arch//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/have/net//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/have/nmi//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/have/pcspkr//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/have/perf//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/have/perf/events//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/have/perf/user//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/have/perf/user/stack//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/have/regs//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/have/regs/and//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/have/regs/and/stack//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/have/regs/and/stack/access//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/have/reliable//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/have/setup//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/have/setup/per//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/have/setup/per/cpu//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/have/syscall//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/have/virt//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/have/virt/cpu//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/have/virt/cpu/accounting//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/hdlc//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/headers//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/hid//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/hid/battery//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/hid/logitech//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/hid/picolcd//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/high//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/high/res//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/hisax//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/hisax/16//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/hisax/avm//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/hisax/avm/a1//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/hisax/bkm//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/hisax/fritz//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/hisax/hfc//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/hisax/max//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/hisax/no//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/hisax/sct//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/hist//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/hmm//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/hotplug//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/hotplug/pci//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/hotplug/pci/rpa//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/hsa//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/hsa/amd//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/hugetlb//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/hugetlb/page//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/hugetlb/page/size//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/hv//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/hv/perf//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/hvc//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/hw//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/hw/random//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/hwlat//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/hwmon//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/hwpoison//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/hysdn//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/hz//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/i2c//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/i2c/designware//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/i2c/diolan//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/i2c/helper//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/i2c/mux//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/i2c/parport//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/i2c/pca//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/i2c/tiny//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/i40e//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/i6300esb//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/i8253//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/ibm//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/ice//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/icplus//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/idle//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/idle/page//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/ieee802154//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/igb//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/illegal//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/illegal/pointer//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/ima//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/ima/appraise//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/ima/arch//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/ima/default//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/ima/default/hash//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/ima/lsm//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/ima/measure//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/ima/measure/pcr//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/ima/read//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/ima/secure//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/ima/secure/and//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/ima/secure/and/or//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/ima/secure/and/or/trusted//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/ima/sig//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/ima/trusted//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/ima/write//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/inet//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/inet/esp//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/inet/mptcp//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/inet/raw//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/inet/sctp//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/inet/tcp//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/inet/udp//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/inet/xfrm//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/inet6//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/inet6/esp//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/inet6/xfrm//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/infiniband//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/infiniband/addr//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/infiniband/addr/trans//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/infiniband/bnxt//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/infiniband/ipoib//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/infiniband/on//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/infiniband/on/demand//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/infiniband/user//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/infiniband/virt//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/init//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/init/env//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/init/env/arg//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/initramfs//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/inline//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/inline/read//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/inline/read/unlock//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/inline/spin//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/inline/spin/unlock//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/inline/write//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/inline/write/unlock//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/inotify//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/input//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/input/ati//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/input/ff//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/input/gpio//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/input/gpio/rotary//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/input/keyspan//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/input/mousedev//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/input/mousedev/screen//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/input/pwm//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/integrity//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/integrity/asymmetric//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/integrity/platform//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/integrity/trusted//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/intel//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/intel/xway//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/interval//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/io//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/io/event//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/iommu//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/iommu/default//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/iommu/default/dma//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/iosched//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/ip//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/ip/advanced//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/ip/fib//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/ip/fib/trie//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/ip/mroute//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/ip/mroute/multiple//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/ip/multiple//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/ip/nf//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/ip/nf/arp//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/ip/nf/match//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/ip/nf/target//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/ip/pimsm//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/ip/route//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/ip/set//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/ip/set/bitmap//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/ip/set/hash//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/ip/set/list//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/ip/vs//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/ip/vs/mh//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/ip/vs/mh/tab//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/ip/vs/pe//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/ip/vs/proto//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/ip/vs/proto/ah//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/ip/vs/sh//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/ip/vs/sh/tab//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/ip/vs/tab//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/ip6//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/ip6/nf//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/ip6/nf/match//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/ip6/nf/target//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/ipc//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/ipmi//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/ipmi/device//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/ipmi/panic//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/ipmi/plat//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/ippp//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/ipv6//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/ipv6/mroute//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/ipv6/mroute/multiple//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/ipv6/multiple//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/ipv6/ndisc//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/ipv6/optimistic//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/ipv6/pimsm//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/ipv6/route//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/ipv6/router//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/ipv6/sit//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/ir//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/ir/gpio//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/ir/imon//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/ir/jvc//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/ir/mce//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/ir/mce/kbd//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/ir/nec//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/ir/pwm//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/ir/rc5//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/ir/rc6//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/ir/sanyo//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/ir/serial//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/ir/sony//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/irq//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/irq/all//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/irq/bypass//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/irq/forced//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/isa//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/isa/dma//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/iscsi//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/iscsi/boot//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/iscsi/target//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/isdn//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/isdn/capi//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/isdn/capi/capidrv//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/isdn/drv//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/isdn/drv/avmb1//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/isdn/ppp//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/isdn/tty//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/iso9660//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/ixgbe//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/ixgbevf//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/jump//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/jump/label//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/jump/label/feature//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/kallsyms//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/kallsyms/base//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/karma//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/kdb//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/kdb/continue//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/kdb/default//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/kernel//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/kexec//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/keyboard//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/keys//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/kgdb//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/kgdb/serial//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/kprobe//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/kprobes//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/kprobes/on//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/kunit//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/kunit/all//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/kunit/example//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/kvm//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/kvm/book3s//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/kvm/book3s/64//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/kvm/book3s/hv//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/l2tp//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/lcd//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/lcd/class//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/led//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/led/trigger//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/leds//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/leds/brightness//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/leds/brightness/hw//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/leds/lp55xx//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/leds/trigger//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/leds/trigger/default//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/linear//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/linear/ranges//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/linear/ranges/kunit//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/liquidio//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/list//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/list/kunit//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/load//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/load/ppc//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/lock//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/lock/debugging//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/lock/down//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/lock/spin//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/lock/spin/on//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/lock/torture//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/lockd//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/lockdep//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/lockup//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/log//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/log/buf//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/log/cpu//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/log/cpu/max//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/log/cpu/max/buf//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/logitech//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/logo//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/logo/linux//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/loopback//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/lsi//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/lsi/et1011c//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/lsm//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/lsm/mmap//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/lsm/mmap/min//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/lwtunnel//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/lxt//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/lz4//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/lzo//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/mac//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/macintosh//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/magic//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/magic/sysrq//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/magic/sysrq/default//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/mantis//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/marvell//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/marvell/10g//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/max//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/max/raw//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/maxlinear//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/md//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/mdio//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/mdio/bcm//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/mdio/hisi//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/mdio/mscc//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/media//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/media/altera//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/media/analog//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/media/analog/tv//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/media/camera//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/media/cec//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/media/common//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/media/digital//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/media/digital/tv//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/media/pci//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/media/radio//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/media/subdrv//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/media/tuner//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/media/usb//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/megaraid//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/mem//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/mem/soft//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/memcg//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/memcpy//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/memcpy/kunit//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/memfd//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/memory//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/memstick//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/memstick/jmicron//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/memstick/realtek//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/memstick/tifm//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/message//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/message/loglevel//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/mfd//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/mfd/sm501//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/mhi//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/mhi/bus//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/mhi/bus/pci//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/micrel//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/microchip//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/microchip/t1//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/microsemi//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/minix//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/misc//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/misc/rtsx//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/misdn//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/mlx4//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/mlx4/en//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/mlx5//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/mlx5/cls//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/mlx5/core//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/mlx5/core/en//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/mlx5/en//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/mlx5/sf//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/mlx5/sw//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/mlx5/tc//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/mlx5/vdpa//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/mlxsw//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/mlxsw/core//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/mlxsw/spectrum//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/mmc//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/mmc/block//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/mmc/realtek//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/mmc/ricoh//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/mmc/sdhci//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/mmc/tifm//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/mmc/via//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/mmu//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/mmu/gather//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/mmu/gather/merge//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/mmu/gather/page//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/mmu/gather/rcu//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/mmu/gather/rcu/table//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/mmu/gather/table//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/module//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/module/force//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/module/rel//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/module/sig//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/module/srcversion//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/modules//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/modules/tree//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/modules/use//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/modules/use/elf//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/mouse//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/mouse/elan//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/mouse/elan/i2c//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/mouse/ps2//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/mouse/ps2/elantech//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/mouse/ps2/synaptics//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/mouse/synaptics//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/mpls//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/mprofile//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/mptcp//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/mptcp/kunit//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/mq//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/mq/iosched//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/msdos//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/msi//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/msi/bitmap//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/mspro//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/mtd//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/mtd/cfi//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/mtd/map//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/mtd/map/bank//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/mtd/map/bank/width//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/mtd/of//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/mtd/powernv//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/mtd/ubi//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/mtd/ubi/beb//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/mtd/ubi/wl//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/mutex//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/mutex/spin//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/mutex/spin/on//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/n//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/national//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/nd//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/need//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/need/dma//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/need/dma/map//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/need/multiple//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/need/per//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/need/per/cpu//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/need/per/cpu/embed//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/need/per/cpu/embed/first//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/need/sg//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/need/sg/dma//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/net//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/net/act//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/net/act/tunnel//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/net/cls//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/net/drop//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/net/ematch//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/net/flow//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/net/ip//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/net/ipgre//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/net/key//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/net/l3//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/net/l3/master//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/net/mpls//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/net/packet//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/net/poll//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/net/ptp//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/net/rx//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/net/rx/busy//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/net/sch//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/net/sch/fq//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/net/sock//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/net/tc//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/net/tc/skb//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/net/team//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/net/team/mode//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/net/udp//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/net/vendor//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/netconsole//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/netfilter//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/netfilter/family//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/netfilter/netlink//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/netfilter/netlink/glue//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/netfilter/xt//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/netfilter/xt/match//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/netfilter/xt/target//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/netlink//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/network//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/network/phy//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/netxen//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/new//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/nf//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/nf/conntrack//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/nf/conntrack/netbios//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/nf/ct//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/nf/ct/netlink//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/nf/ct/proto//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/nf/defrag//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/nf/dup//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/nf/flow//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/nf/flow/table//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/nf/log//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/nf/nat//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/nf/nat/snmp//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/nf/reject//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/nf/socket//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/nf/tables//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/nf/tproxy//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/nfp//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/nfp/app//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/nfp/app/abm//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/nfs//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/nfs/acl//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/nfs/use//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/nfs/use/kernel//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/nfs/v3//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/nfs/v4//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/nfs/v4/1//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/nfs/v4/1/implementation//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/nfs/v4/1/implementation/id//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/nfs/v4/security//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/nfsd//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/nfsd/v2//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/nfsd/v3//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/nfsd/v4//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/nfsd/v4/security//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/nft//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/nft/bridge//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/nft/dup//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/nft/fib//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/nft/flow//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/nft/fwd//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/nft/reject//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/nls//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/nls/codepage//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/nls/iso8859//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/nls/koi8//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/nls/mac//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/nmi//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/no//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/no/hz//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/nodes//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/nonstatic//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/nop//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/nouveau//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/nouveau/debug//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/nr//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/numa//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/numa/balancing//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/numa/balancing/default//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/numa/keep//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/nvdimm//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/nvme//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/nvme/target//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/nvme/verbose//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/ocxl//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/of//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/of/early//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/of/reserved//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/oid//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/old//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/opal//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/openvswitch//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/osf//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/osnoise//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/overlay//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/packet//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/page//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/panic//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/panic/on//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/panic/on/oops//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/papr//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/parport//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/parport/not//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/partition//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/pata//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/pata/of//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/pci//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/pci/msi//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/pci/msi/arch//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/pcie//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/pcieaer//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/pcieaspm//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/pcspkr//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/perf//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/persistent//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/pgtable//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/phys//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/phys/addr//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/phys/addr/t//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/physical//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/pid//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/pkcs7//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/pkcs7/message//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/plugin//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/pm//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/pm/generic//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/pm/generic/domains//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/pm/sleep//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/pm/sleep/smp//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/pm/sleep/smp/nonzero//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/pmu//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/pnfs//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/pnfs/file//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/pnfs/flexfile//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/posix//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/posix/mqueue//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/power//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/power/reset//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/powernv//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/powernv/op//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/ppc//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/ppc/64k//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/ppc/barrier//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/ppc/book3s//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/ppc/copro//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/ppc/disable//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/ppc/dt//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/ppc/dt/cpu//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/ppc/emulated//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/ppc/have//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/ppc/have/pmu//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/ppc/icp//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/ppc/ics//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/ppc/indirect//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/ppc/mem//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/ppc/mm//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/ppc/msi//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/ppc/of//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/ppc/of/boot//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/ppc/p7//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/ppc/perf//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/ppc/radix//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/ppc/radix/mmu//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/ppc/rtas//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/ppc/secure//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/ppc/secvar//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/ppc/smp//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/ppc/smp/muxed//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/ppc/std//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/ppc/subpage//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/ppc/transactional//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/ppc/udbg//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/ppc/xive//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/ppc64//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/ppc64/boot//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/ppc64/supports//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/ppc64/supports/memory//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/ppp//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/ppp/sync//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/pps//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/pps/client//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/preempt//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/prevent//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/prevent/firmware//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/print//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/print/quota//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/print/stack//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/printk//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/printk/safe//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/printk/safe/log//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/printk/safe/log/buf//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/probe//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/proc//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/proc/page//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/proc/pid//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/proc/vmcore//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/proc/vmcore/device//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/pseries//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/psi//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/psi/default//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/pstore//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/pstore/compress//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/pstore/deflate//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/pstore/deflate/compress//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/ptp//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/ptp/1588//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/pwm//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/qed//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/qfmt//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/qsemi//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/quota//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/quota/netlink//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/radio//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/raid//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/raid6//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/raid6/pq//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/random//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/random/trust//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/raw//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/rc//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/rc/ati//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/rcu//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/rcu/cpu//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/rcu/cpu/stall//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/rcu/need//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/rcu/nocb//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/rcu/stall//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/rd//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/rdma//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/realtek//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/reed//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/reed/solomon//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/regmap//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/renesas//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/resource//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/resource/kunit//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/rfkill//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/rfs//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/rh//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/rh/kabi//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/rh/kabi/size//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/rh/kabi/size/align//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/rhel//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/ring//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/ring/buffer//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/ring/buffer/allow//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/rmi4//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/rmi4/2d//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/rmi4/f03//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/rockchip//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/rpcsec//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/rpcsec/gss//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/rt//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/rt/group//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/rtas//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/rtas/error//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/rtc//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/rtc/drv//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/rtc/drv/ds3232//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/rtc/drv/m41t80//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/rtc/hctosys//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/rtc/i2c//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/rtc/i2c/and//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/rtc/intf//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/rtc/mc146818//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/runtime//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/runtime/testing//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/rwsem//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/rwsem/spin//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/rwsem/spin/on//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/sata//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/sata/ahci//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/sata/mobile//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/sata/mobile/lpm//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/scf//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/scf/torture//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/sched//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/sched/omit//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/sched/omit/frame//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/scom//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/scsi//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/scsi/bnx2//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/scsi/bnx2x//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/scsi/chelsio//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/scsi/cxgb4//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/scsi/dh//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/scsi/dh/hp//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/scsi/fc//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/scsi/ibmvfc//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/scsi/ipr//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/scsi/iscsi//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/scsi/mpt2sas//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/scsi/mpt2sas/max//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/scsi/mpt3sas//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/scsi/mpt3sas/max//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/scsi/proc//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/scsi/qla//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/scsi/sas//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/scsi/sas/host//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/scsi/scan//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/scsi/spi//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/scsi/srp//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/sctp//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/sctp/cookie//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/sctp/cookie/hmac//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/sctp/default//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/sctp/default/cookie//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/sctp/default/cookie/hmac//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/sdio//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/seccomp//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/section//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/section/mismatch//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/section/mismatch/warn//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/security//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/security/network//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/security/selinux//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/security/selinux/avc//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/security/selinux/checkreqprot//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/security/selinux/sid2str//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/security/selinux/sid2str/cache//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/security/selinux/sidtab//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/security/selinux/sidtab/hash//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/security/writable//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/select//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/select/memory//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/sensors//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/sensors/lis3//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/sensors/ntc//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/serial//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/serial/8250//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/serial/8250/many//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/serial/8250/nr//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/serial/8250/runtime//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/serial/8250/share//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/serial/arc//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/serial/arc/nr//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/serial/core//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/serial/of//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/serial/uartlite//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/serial/uartlite/nr//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/serio//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/serio/altera//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/serio/arc//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/sfc//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/sfc/mcdi//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/sfc/siena//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/sfc/siena/mcdi//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/sg//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/sgetmask//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/sgi//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/sgl//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/shuffle//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/shuffle/page//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/simple//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/skb//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/slab//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/slab/freelist//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/slip//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/slub//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/slub/cpu//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/slub/kunit//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/sms//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/sms/sdio//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/sms/siano//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/sms/usb//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/smsc//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/snd//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/snd/ac97//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/snd/ac97/power//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/snd/ac97/power/save//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/snd/atiixp//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/snd/cs46xx//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/snd/cs46xx/new//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/snd/ctl//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/snd/ctl/fast//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/snd/dynamic//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/snd/emu10k1//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/snd/es1968//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/snd/firewire//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/snd/hda//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/snd/hda/prealloc//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/snd/jack//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/snd/jack/input//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/snd/maestro3//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/snd/max//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/snd/mpu401//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/snd/opl3//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/snd/opl3/lib//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/snd/oxygen//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/snd/pcm//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/snd/proc//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/snd/seq//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/snd/seq/hrtimer//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/snd/seq/midi//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/snd/sequencer//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/snd/synth//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/snd/usb//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/snd/usb/caiaq//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/snd/verbose//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/snd/via82xx//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/snd/vx//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/sock//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/sock/cgroup//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/sock/validate//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/soft//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/softlockup//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/solaris//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/solaris/x86//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/sound//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/sound/oss//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/sound/oss/core//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/spapr//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/spapr/tce//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/sparse//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/sparsemem//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/sparsemem/vmemmap//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/split//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/split/ptlock//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/squashfs//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/squashfs/decomp//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/squashfs/decomp/multi//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/squashfs/file//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/squashfs/fragment//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/squashfs/fragment/cache//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/ssb//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/stack//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/stackprotector//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/stacktrace//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/stream//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/strict//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/strip//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/strip/asm//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/sun//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/sunrpc//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/sunrpc/xprt//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/suspend//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/symbolic//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/syn//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/sync//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/synclink//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/sys//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/sys/supports//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/sysctl//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/sysctl/exception//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/sysctl/kunit//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/sysfs//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/system//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/system/blacklist//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/system/blacklist/hash//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/system/data//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/system/extra//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/system/extra/certificate//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/system/trusted//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/sysvipc//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/tablet//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/tablet/serial//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/tablet/usb//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/target//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/task//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/task/delay//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/task/io//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/tasks//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/tasks/rcu//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/tasks/rude//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/tasks/trace//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/tcg//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/tcg/tis//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/tcg/tis/i2c//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/tcg/tis/st33zp24//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/tcm//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/tcp//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/tcp/cong//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/teranetics//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/test//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/test/list//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/textsearch//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/thermal//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/thermal/default//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/thermal/default/gov//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/thermal/default/gov/step//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/thermal/emergency//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/thermal/emergency/poweroff//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/thermal/emergency/poweroff/delay//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/thermal/gov//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/thermal/gov/fair//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/thermal/gov/step//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/thread//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/tick//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/tifm//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/tigon3//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/timerlat//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/tipc//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/tipc/media//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/tls//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/tmpfs//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/tmpfs/posix//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/torture//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/touchscreen//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/touchscreen/wacom//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/trace//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/trace/irqflags//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/tracer//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/tracer/max//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/tracing//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/transparent//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/transparent/hugepage//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/tree//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/trusted//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/ttpci//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/tun//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/tun/vnet//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/tun/vnet/cross//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/typec//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/typec/dp//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/typec/mux//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/udf//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/uio//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/uio/pci//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/uio/pdrv//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/unix//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/unix98//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/unixware//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/uprobe//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/usb//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/usb/ali//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/usb/announce//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/usb/announce/new//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/usb/arch//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/usb/arch/has//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/usb/autosuspend//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/usb/default//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/usb/ehci//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/usb/ehci/hcd//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/usb/ehci/hcd/ppc//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/usb/ehci/root//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/usb/ehci/root/hub//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/usb/ehci/tt//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/usb/ezusb//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/usb/ftdi//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/usb/gspca//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/usb/gspca/ov534//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/usb/gspca/xirlink//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/usb/hsic//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/usb/hwa//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/usb/leds//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/usb/leds/trigger//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/usb/net//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/usb/net/ax88179//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/usb/net/cdc//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/usb/net/cdc/subset//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/usb/net/cx82310//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/usb/net/qmi//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/usb/net/rndis//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/usb/ohci//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/usb/ohci/big//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/usb/ohci/big/endian//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/usb/ohci/hcd//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/usb/ohci/hcd/ppc//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/usb/ohci/hcd/ppc/of//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/usb/ohci/little//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/usb/pulse8//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/usb/pwc//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/usb/pwc/input//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/usb/rainshadow//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/usb/role//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/usb/serial//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/usb/serial/cypress//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/usb/serial/digi//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/usb/serial/edgeport//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/usb/serial/ftdi//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/usb/serial/keyspan//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/usb/serial/kobil//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/usb/serial/mct//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/usb/serial/mos7715//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/usb/serial/safe//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/usb/serial/xsens//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/usb/sierra//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/usb/storage//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/usb/storage/cypress//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/usb/storage/ene//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/usb/uhci//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/usb/video//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/usb/video/class//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/usb/video/class/input//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/usb/wusb//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/usb/xhci//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/usb4//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/use//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/use/percpu//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/use/percpu/numa//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/use/percpu/numa/node//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/user//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/uts//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/uwb//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/vdpa//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/vdpa/sim//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/vfat//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/vfio//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/vfio/iommu//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/vfio/iommu/spapr//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/vfio/pci//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/vfio/spapr//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/vga//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/vga/arb//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/vga/arb/max//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/vhost//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/vhost/cross//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/vhost/cross/endian//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/video//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/video/au0828//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/video/cx18//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/video/cx231xx//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/video/cx88//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/video/em28xx//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/video/fb//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/video/ir//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/video/pvrusb2//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/video/saa7134//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/video/saa7146//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/video/tm6000//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/videobuf//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/videobuf/dma//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/videobuf2//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/videobuf2/dma//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/virt//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/virt/cpu//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/virt/cpu/accounting//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/virtio//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/virtio/pci//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/virtio/vsockets//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/vitesse//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/vlan//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/vlan/8021q//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/vm//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/vm/event//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/vp//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/vsockets//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/vt//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/vt/console//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/vt/hw//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/vt/hw/console//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/want//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/want/dev//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/watchdog//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/watchdog/handle//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/watchdog/handle/boot//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/watchdog/open//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/x509//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/x509/certificate//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/xarray//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/xdp//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/xdp/sockets//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/xfrm//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/xfrm/sub//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/xfs//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/xfs/posix//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/xilinx//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/xmon//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/xmon/default//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/xmon/default/ro//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/xor//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/xz//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/xz/dec//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/yenta//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/yenta/ene//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/zlib//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/zone//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/zram//usr/src/kernels/4.18.0-488.el8.ppc64le/include/config/zsmalloc//usr/src/kernels/4.18.0-488.el8.ppc64le/include/crypto//usr/src/kernels/4.18.0-488.el8.ppc64le/include/crypto/internal//usr/src/kernels/4.18.0-488.el8.ppc64le/include/drm-backport//usr/src/kernels/4.18.0-488.el8.ppc64le/include/drm-backport/linux//usr/src/kernels/4.18.0-488.el8.ppc64le/include/drm//usr/src/kernels/4.18.0-488.el8.ppc64le/include/drm/bridge//usr/src/kernels/4.18.0-488.el8.ppc64le/include/drm/display//usr/src/kernels/4.18.0-488.el8.ppc64le/include/drm/i2c//usr/src/kernels/4.18.0-488.el8.ppc64le/include/drm/ttm//usr/src/kernels/4.18.0-488.el8.ppc64le/include/dt-bindings//usr/src/kernels/4.18.0-488.el8.ppc64le/include/dt-bindings/arm//usr/src/kernels/4.18.0-488.el8.ppc64le/include/dt-bindings/bus//usr/src/kernels/4.18.0-488.el8.ppc64le/include/dt-bindings/clk//usr/src/kernels/4.18.0-488.el8.ppc64le/include/dt-bindings/clock//usr/src/kernels/4.18.0-488.el8.ppc64le/include/dt-bindings/display//usr/src/kernels/4.18.0-488.el8.ppc64le/include/dt-bindings/dma//usr/src/kernels/4.18.0-488.el8.ppc64le/include/dt-bindings/gpio//usr/src/kernels/4.18.0-488.el8.ppc64le/include/dt-bindings/i2c//usr/src/kernels/4.18.0-488.el8.ppc64le/include/dt-bindings/iio//usr/src/kernels/4.18.0-488.el8.ppc64le/include/dt-bindings/iio/adc//usr/src/kernels/4.18.0-488.el8.ppc64le/include/dt-bindings/input//usr/src/kernels/4.18.0-488.el8.ppc64le/include/dt-bindings/interrupt-controller//usr/src/kernels/4.18.0-488.el8.ppc64le/include/dt-bindings/leds//usr/src/kernels/4.18.0-488.el8.ppc64le/include/dt-bindings/mailbox//usr/src/kernels/4.18.0-488.el8.ppc64le/include/dt-bindings/media//usr/src/kernels/4.18.0-488.el8.ppc64le/include/dt-bindings/memory//usr/src/kernels/4.18.0-488.el8.ppc64le/include/dt-bindings/mfd//usr/src/kernels/4.18.0-488.el8.ppc64le/include/dt-bindings/mips//usr/src/kernels/4.18.0-488.el8.ppc64le/include/dt-bindings/mux//usr/src/kernels/4.18.0-488.el8.ppc64le/include/dt-bindings/net//usr/src/kernels/4.18.0-488.el8.ppc64le/include/dt-bindings/phy//usr/src/kernels/4.18.0-488.el8.ppc64le/include/dt-bindings/pinctrl//usr/src/kernels/4.18.0-488.el8.ppc64le/include/dt-bindings/power//usr/src/kernels/4.18.0-488.el8.ppc64le/include/dt-bindings/pwm//usr/src/kernels/4.18.0-488.el8.ppc64le/include/dt-bindings/regulator//usr/src/kernels/4.18.0-488.el8.ppc64le/include/dt-bindings/reset//usr/src/kernels/4.18.0-488.el8.ppc64le/include/dt-bindings/soc//usr/src/kernels/4.18.0-488.el8.ppc64le/include/dt-bindings/sound//usr/src/kernels/4.18.0-488.el8.ppc64le/include/dt-bindings/spmi//usr/src/kernels/4.18.0-488.el8.ppc64le/include/dt-bindings/thermal//usr/src/kernels/4.18.0-488.el8.ppc64le/include/dt-bindings/usb//usr/src/kernels/4.18.0-488.el8.ppc64le/include/generated//usr/src/kernels/4.18.0-488.el8.ppc64le/include/generated/uapi//usr/src/kernels/4.18.0-488.el8.ppc64le/include/generated/uapi/linux//usr/src/kernels/4.18.0-488.el8.ppc64le/include/keys//usr/src/kernels/4.18.0-488.el8.ppc64le/include/kunit//usr/src/kernels/4.18.0-488.el8.ppc64le/include/kvm//usr/src/kernels/4.18.0-488.el8.ppc64le/include/linux//usr/src/kernels/4.18.0-488.el8.ppc64le/include/linux/amba//usr/src/kernels/4.18.0-488.el8.ppc64le/include/linux/avf//usr/src/kernels/4.18.0-488.el8.ppc64le/include/linux/bcma//usr/src/kernels/4.18.0-488.el8.ppc64le/include/linux/byteorder//usr/src/kernels/4.18.0-488.el8.ppc64le/include/linux/can//usr/src/kernels/4.18.0-488.el8.ppc64le/include/linux/can/dev//usr/src/kernels/4.18.0-488.el8.ppc64le/include/linux/can/platform//usr/src/kernels/4.18.0-488.el8.ppc64le/include/linux/ceph//usr/src/kernels/4.18.0-488.el8.ppc64le/include/linux/clk//usr/src/kernels/4.18.0-488.el8.ppc64le/include/linux/crush//usr/src/kernels/4.18.0-488.el8.ppc64le/include/linux/decompress//usr/src/kernels/4.18.0-488.el8.ppc64le/include/linux/dma//usr/src/kernels/4.18.0-488.el8.ppc64le/include/linux/dsa//usr/src/kernels/4.18.0-488.el8.ppc64le/include/linux/extcon//usr/src/kernels/4.18.0-488.el8.ppc64le/include/linux/firmware//usr/src/kernels/4.18.0-488.el8.ppc64le/include/linux/firmware/cirrus//usr/src/kernels/4.18.0-488.el8.ppc64le/include/linux/firmware/intel//usr/src/kernels/4.18.0-488.el8.ppc64le/include/linux/firmware/meson//usr/src/kernels/4.18.0-488.el8.ppc64le/include/linux/fpga//usr/src/kernels/4.18.0-488.el8.ppc64le/include/linux/fsl//usr/src/kernels/4.18.0-488.el8.ppc64le/include/linux/fsl/bestcomm//usr/src/kernels/4.18.0-488.el8.ppc64le/include/linux/gpio//usr/src/kernels/4.18.0-488.el8.ppc64le/include/linux/hsi//usr/src/kernels/4.18.0-488.el8.ppc64le/include/linux/iio//usr/src/kernels/4.18.0-488.el8.ppc64le/include/linux/iio/accel//usr/src/kernels/4.18.0-488.el8.ppc64le/include/linux/iio/adc//usr/src/kernels/4.18.0-488.el8.ppc64le/include/linux/iio/common//usr/src/kernels/4.18.0-488.el8.ppc64le/include/linux/iio/dac//usr/src/kernels/4.18.0-488.el8.ppc64le/include/linux/iio/frequency//usr/src/kernels/4.18.0-488.el8.ppc64le/include/linux/iio/gyro//usr/src/kernels/4.18.0-488.el8.ppc64le/include/linux/iio/imu//usr/src/kernels/4.18.0-488.el8.ppc64le/include/linux/iio/magnetometer//usr/src/kernels/4.18.0-488.el8.ppc64le/include/linux/iio/timer//usr/src/kernels/4.18.0-488.el8.ppc64le/include/linux/input//usr/src/kernels/4.18.0-488.el8.ppc64le/include/linux/irqchip//usr/src/kernels/4.18.0-488.el8.ppc64le/include/linux/isdn//usr/src/kernels/4.18.0-488.el8.ppc64le/include/linux/lockd//usr/src/kernels/4.18.0-488.el8.ppc64le/include/linux/mailbox//usr/src/kernels/4.18.0-488.el8.ppc64le/include/linux/mfd//usr/src/kernels/4.18.0-488.el8.ppc64le/include/linux/mfd/abx500//usr/src/kernels/4.18.0-488.el8.ppc64le/include/linux/mfd/arizona//usr/src/kernels/4.18.0-488.el8.ppc64le/include/linux/mfd/da9052//usr/src/kernels/4.18.0-488.el8.ppc64le/include/linux/mfd/da9055//usr/src/kernels/4.18.0-488.el8.ppc64le/include/linux/mfd/da9062//usr/src/kernels/4.18.0-488.el8.ppc64le/include/linux/mfd/da9063//usr/src/kernels/4.18.0-488.el8.ppc64le/include/linux/mfd/da9150//usr/src/kernels/4.18.0-488.el8.ppc64le/include/linux/mfd/mt6323//usr/src/kernels/4.18.0-488.el8.ppc64le/include/linux/mfd/mt6397//usr/src/kernels/4.18.0-488.el8.ppc64le/include/linux/mfd/pcf50633//usr/src/kernels/4.18.0-488.el8.ppc64le/include/linux/mfd/samsung//usr/src/kernels/4.18.0-488.el8.ppc64le/include/linux/mfd/syscon//usr/src/kernels/4.18.0-488.el8.ppc64le/include/linux/mfd/wm831x//usr/src/kernels/4.18.0-488.el8.ppc64le/include/linux/mfd/wm8350//usr/src/kernels/4.18.0-488.el8.ppc64le/include/linux/mfd/wm8994//usr/src/kernels/4.18.0-488.el8.ppc64le/include/linux/mlx4//usr/src/kernels/4.18.0-488.el8.ppc64le/include/linux/mlx5//usr/src/kernels/4.18.0-488.el8.ppc64le/include/linux/mmc//usr/src/kernels/4.18.0-488.el8.ppc64le/include/linux/mtd//usr/src/kernels/4.18.0-488.el8.ppc64le/include/linux/mux//usr/src/kernels/4.18.0-488.el8.ppc64le/include/linux/net//usr/src/kernels/4.18.0-488.el8.ppc64le/include/linux/net/intel//usr/src/kernels/4.18.0-488.el8.ppc64le/include/linux/netfilter//usr/src/kernels/4.18.0-488.el8.ppc64le/include/linux/netfilter/ipset//usr/src/kernels/4.18.0-488.el8.ppc64le/include/linux/netfilter_arp//usr/src/kernels/4.18.0-488.el8.ppc64le/include/linux/netfilter_bridge//usr/src/kernels/4.18.0-488.el8.ppc64le/include/linux/netfilter_ipv4//usr/src/kernels/4.18.0-488.el8.ppc64le/include/linux/netfilter_ipv6//usr/src/kernels/4.18.0-488.el8.ppc64le/include/linux/pcs//usr/src/kernels/4.18.0-488.el8.ppc64le/include/linux/perf//usr/src/kernels/4.18.0-488.el8.ppc64le/include/linux/phy//usr/src/kernels/4.18.0-488.el8.ppc64le/include/linux/phy/tegra//usr/src/kernels/4.18.0-488.el8.ppc64le/include/linux/pinctrl//usr/src/kernels/4.18.0-488.el8.ppc64le/include/linux/platform_data//usr/src/kernels/4.18.0-488.el8.ppc64le/include/linux/platform_data/media//usr/src/kernels/4.18.0-488.el8.ppc64le/include/linux/platform_data/x86//usr/src/kernels/4.18.0-488.el8.ppc64le/include/linux/power//usr/src/kernels/4.18.0-488.el8.ppc64le/include/linux/qed//usr/src/kernels/4.18.0-488.el8.ppc64le/include/linux/raid//usr/src/kernels/4.18.0-488.el8.ppc64le/include/linux/regulator//usr/src/kernels/4.18.0-488.el8.ppc64le/include/linux/remoteproc//usr/src/kernels/4.18.0-488.el8.ppc64le/include/linux/reset//usr/src/kernels/4.18.0-488.el8.ppc64le/include/linux/rpmsg//usr/src/kernels/4.18.0-488.el8.ppc64le/include/linux/rtc//usr/src/kernels/4.18.0-488.el8.ppc64le/include/linux/sched//usr/src/kernels/4.18.0-488.el8.ppc64le/include/linux/soc//usr/src/kernels/4.18.0-488.el8.ppc64le/include/linux/soc/actions//usr/src/kernels/4.18.0-488.el8.ppc64le/include/linux/soc/brcmstb//usr/src/kernels/4.18.0-488.el8.ppc64le/include/linux/soc/dove//usr/src/kernels/4.18.0-488.el8.ppc64le/include/linux/soc/mediatek//usr/src/kernels/4.18.0-488.el8.ppc64le/include/linux/soc/qcom//usr/src/kernels/4.18.0-488.el8.ppc64le/include/linux/soc/renesas//usr/src/kernels/4.18.0-488.el8.ppc64le/include/linux/soc/samsung//usr/src/kernels/4.18.0-488.el8.ppc64le/include/linux/soc/sunxi//usr/src/kernels/4.18.0-488.el8.ppc64le/include/linux/soc/ti//usr/src/kernels/4.18.0-488.el8.ppc64le/include/linux/soundwire//usr/src/kernels/4.18.0-488.el8.ppc64le/include/linux/spi//usr/src/kernels/4.18.0-488.el8.ppc64le/include/linux/ssb//usr/src/kernels/4.18.0-488.el8.ppc64le/include/linux/sunrpc//usr/src/kernels/4.18.0-488.el8.ppc64le/include/linux/ulpi//usr/src/kernels/4.18.0-488.el8.ppc64le/include/linux/unaligned//usr/src/kernels/4.18.0-488.el8.ppc64le/include/linux/usb//usr/src/kernels/4.18.0-488.el8.ppc64le/include/linux/uwb//usr/src/kernels/4.18.0-488.el8.ppc64le/include/linux/wimax//usr/src/kernels/4.18.0-488.el8.ppc64le/include/math-emu//usr/src/kernels/4.18.0-488.el8.ppc64le/include/media//usr/src/kernels/4.18.0-488.el8.ppc64le/include/media/davinci//usr/src/kernels/4.18.0-488.el8.ppc64le/include/media/drv-intf//usr/src/kernels/4.18.0-488.el8.ppc64le/include/media/i2c//usr/src/kernels/4.18.0-488.el8.ppc64le/include/media/tpg//usr/src/kernels/4.18.0-488.el8.ppc64le/include/memory//usr/src/kernels/4.18.0-488.el8.ppc64le/include/misc//usr/src/kernels/4.18.0-488.el8.ppc64le/include/net//usr/src/kernels/4.18.0-488.el8.ppc64le/include/net/9p//usr/src/kernels/4.18.0-488.el8.ppc64le/include/net/bluetooth//usr/src/kernels/4.18.0-488.el8.ppc64le/include/net/caif//usr/src/kernels/4.18.0-488.el8.ppc64le/include/net/iucv//usr/src/kernels/4.18.0-488.el8.ppc64le/include/net/mana//usr/src/kernels/4.18.0-488.el8.ppc64le/include/net/netfilter//usr/src/kernels/4.18.0-488.el8.ppc64le/include/net/netfilter/ipv4//usr/src/kernels/4.18.0-488.el8.ppc64le/include/net/netfilter/ipv6//usr/src/kernels/4.18.0-488.el8.ppc64le/include/net/netns//usr/src/kernels/4.18.0-488.el8.ppc64le/include/net/nfc//usr/src/kernels/4.18.0-488.el8.ppc64le/include/net/phonet//usr/src/kernels/4.18.0-488.el8.ppc64le/include/net/sctp//usr/src/kernels/4.18.0-488.el8.ppc64le/include/net/tc_act//usr/src/kernels/4.18.0-488.el8.ppc64le/include/pcmcia//usr/src/kernels/4.18.0-488.el8.ppc64le/include/ras//usr/src/kernels/4.18.0-488.el8.ppc64le/include/rdma//usr/src/kernels/4.18.0-488.el8.ppc64le/include/scsi//usr/src/kernels/4.18.0-488.el8.ppc64le/include/scsi/fc//usr/src/kernels/4.18.0-488.el8.ppc64le/include/soc//usr/src/kernels/4.18.0-488.el8.ppc64le/include/soc/arc//usr/src/kernels/4.18.0-488.el8.ppc64le/include/soc/at91//usr/src/kernels/4.18.0-488.el8.ppc64le/include/soc/bcm2835//usr/src/kernels/4.18.0-488.el8.ppc64le/include/soc/brcmstb//usr/src/kernels/4.18.0-488.el8.ppc64le/include/soc/fsl//usr/src/kernels/4.18.0-488.el8.ppc64le/include/soc/fsl/qe//usr/src/kernels/4.18.0-488.el8.ppc64le/include/soc/imx//usr/src/kernels/4.18.0-488.el8.ppc64le/include/soc/mediatek//usr/src/kernels/4.18.0-488.el8.ppc64le/include/soc/nps//usr/src/kernels/4.18.0-488.el8.ppc64le/include/soc/qcom//usr/src/kernels/4.18.0-488.el8.ppc64le/include/soc/rockchip//usr/src/kernels/4.18.0-488.el8.ppc64le/include/soc/sa1100//usr/src/kernels/4.18.0-488.el8.ppc64le/include/soc/tegra//usr/src/kernels/4.18.0-488.el8.ppc64le/include/sound//usr/src/kernels/4.18.0-488.el8.ppc64le/include/sound/ac97//usr/src/kernels/4.18.0-488.el8.ppc64le/include/sound/sof//usr/src/kernels/4.18.0-488.el8.ppc64le/include/sound/sof/ipc4//usr/src/kernels/4.18.0-488.el8.ppc64le/include/target//usr/src/kernels/4.18.0-488.el8.ppc64le/include/target/iscsi//usr/src/kernels/4.18.0-488.el8.ppc64le/include/trace//usr/src/kernels/4.18.0-488.el8.ppc64le/include/trace/events//usr/src/kernels/4.18.0-488.el8.ppc64le/include/uapi//usr/src/kernels/4.18.0-488.el8.ppc64le/include/uapi/asm-generic//usr/src/kernels/4.18.0-488.el8.ppc64le/include/uapi/drm//usr/src/kernels/4.18.0-488.el8.ppc64le/include/uapi/linux//usr/src/kernels/4.18.0-488.el8.ppc64le/include/uapi/linux/android//usr/src/kernels/4.18.0-488.el8.ppc64le/include/uapi/linux/byteorder//usr/src/kernels/4.18.0-488.el8.ppc64le/include/uapi/linux/caif//usr/src/kernels/4.18.0-488.el8.ppc64le/include/uapi/linux/can//usr/src/kernels/4.18.0-488.el8.ppc64le/include/uapi/linux/cifs//usr/src/kernels/4.18.0-488.el8.ppc64le/include/uapi/linux/dvb//usr/src/kernels/4.18.0-488.el8.ppc64le/include/uapi/linux/genwqe//usr/src/kernels/4.18.0-488.el8.ppc64le/include/uapi/linux/hdlc//usr/src/kernels/4.18.0-488.el8.ppc64le/include/uapi/linux/hsi//usr/src/kernels/4.18.0-488.el8.ppc64le/include/uapi/linux/iio//usr/src/kernels/4.18.0-488.el8.ppc64le/include/uapi/linux/isdn//usr/src/kernels/4.18.0-488.el8.ppc64le/include/uapi/linux/mmc//usr/src/kernels/4.18.0-488.el8.ppc64le/include/uapi/linux/netfilter//usr/src/kernels/4.18.0-488.el8.ppc64le/include/uapi/linux/netfilter/ipset//usr/src/kernels/4.18.0-488.el8.ppc64le/include/uapi/linux/netfilter_arp//usr/src/kernels/4.18.0-488.el8.ppc64le/include/uapi/linux/netfilter_bridge//usr/src/kernels/4.18.0-488.el8.ppc64le/include/uapi/linux/netfilter_ipv4//usr/src/kernels/4.18.0-488.el8.ppc64le/include/uapi/linux/netfilter_ipv6//usr/src/kernels/4.18.0-488.el8.ppc64le/include/uapi/linux/nfsd//usr/src/kernels/4.18.0-488.el8.ppc64le/include/uapi/linux/raid//usr/src/kernels/4.18.0-488.el8.ppc64le/include/uapi/linux/sched//usr/src/kernels/4.18.0-488.el8.ppc64le/include/uapi/linux/spi//usr/src/kernels/4.18.0-488.el8.ppc64le/include/uapi/linux/sunrpc//usr/src/kernels/4.18.0-488.el8.ppc64le/include/uapi/linux/tc_act//usr/src/kernels/4.18.0-488.el8.ppc64le/include/uapi/linux/tc_ematch//usr/src/kernels/4.18.0-488.el8.ppc64le/include/uapi/linux/usb//usr/src/kernels/4.18.0-488.el8.ppc64le/include/uapi/linux/wimax//usr/src/kernels/4.18.0-488.el8.ppc64le/include/uapi/misc//usr/src/kernels/4.18.0-488.el8.ppc64le/include/uapi/mtd//usr/src/kernels/4.18.0-488.el8.ppc64le/include/uapi/rdma//usr/src/kernels/4.18.0-488.el8.ppc64le/include/uapi/rdma/hfi//usr/src/kernels/4.18.0-488.el8.ppc64le/include/uapi/scsi//usr/src/kernels/4.18.0-488.el8.ppc64le/include/uapi/scsi/fc//usr/src/kernels/4.18.0-488.el8.ppc64le/include/uapi/sound//usr/src/kernels/4.18.0-488.el8.ppc64le/include/uapi/sound/intel//usr/src/kernels/4.18.0-488.el8.ppc64le/include/uapi/sound/intel/avs//usr/src/kernels/4.18.0-488.el8.ppc64le/include/uapi/sound/sof//usr/src/kernels/4.18.0-488.el8.ppc64le/include/uapi/video//usr/src/kernels/4.18.0-488.el8.ppc64le/include/uapi/xen//usr/src/kernels/4.18.0-488.el8.ppc64le/include/vdso//usr/src/kernels/4.18.0-488.el8.ppc64le/include/video//usr/src/kernels/4.18.0-488.el8.ppc64le/include/xen//usr/src/kernels/4.18.0-488.el8.ppc64le/include/xen/arm//usr/src/kernels/4.18.0-488.el8.ppc64le/include/xen/interface//usr/src/kernels/4.18.0-488.el8.ppc64le/include/xen/interface/hvm//usr/src/kernels/4.18.0-488.el8.ppc64le/include/xen/interface/io//usr/src/kernels/4.18.0-488.el8.ppc64le/init//usr/src/kernels/4.18.0-488.el8.ppc64le/ipc//usr/src/kernels/4.18.0-488.el8.ppc64le/kernel//usr/src/kernels/4.18.0-488.el8.ppc64le/kernel/bpf//usr/src/kernels/4.18.0-488.el8.ppc64le/kernel/bpf/preload//usr/src/kernels/4.18.0-488.el8.ppc64le/kernel/bpf/preload/iterators//usr/src/kernels/4.18.0-488.el8.ppc64le/kernel/cgroup//usr/src/kernels/4.18.0-488.el8.ppc64le/kernel/debug//usr/src/kernels/4.18.0-488.el8.ppc64le/kernel/debug/kdb//usr/src/kernels/4.18.0-488.el8.ppc64le/kernel/dma//usr/src/kernels/4.18.0-488.el8.ppc64le/kernel/events//usr/src/kernels/4.18.0-488.el8.ppc64le/kernel/gcov//usr/src/kernels/4.18.0-488.el8.ppc64le/kernel/irq//usr/src/kernels/4.18.0-488.el8.ppc64le/kernel/kcsan//usr/src/kernels/4.18.0-488.el8.ppc64le/kernel/livepatch//usr/src/kernels/4.18.0-488.el8.ppc64le/kernel/locking//usr/src/kernels/4.18.0-488.el8.ppc64le/kernel/power//usr/src/kernels/4.18.0-488.el8.ppc64le/kernel/printk//usr/src/kernels/4.18.0-488.el8.ppc64le/kernel/rcu//usr/src/kernels/4.18.0-488.el8.ppc64le/kernel/sched//usr/src/kernels/4.18.0-488.el8.ppc64le/kernel/time//usr/src/kernels/4.18.0-488.el8.ppc64le/kernel/trace//usr/src/kernels/4.18.0-488.el8.ppc64le/lib//usr/src/kernels/4.18.0-488.el8.ppc64le/lib/842//usr/src/kernels/4.18.0-488.el8.ppc64le/lib/crypto//usr/src/kernels/4.18.0-488.el8.ppc64le/lib/dim//usr/src/kernels/4.18.0-488.el8.ppc64le/lib/fonts//usr/src/kernels/4.18.0-488.el8.ppc64le/lib/kunit//usr/src/kernels/4.18.0-488.el8.ppc64le/lib/livepatch//usr/src/kernels/4.18.0-488.el8.ppc64le/lib/lz4//usr/src/kernels/4.18.0-488.el8.ppc64le/lib/lzo//usr/src/kernels/4.18.0-488.el8.ppc64le/lib/math//usr/src/kernels/4.18.0-488.el8.ppc64le/lib/mpi//usr/src/kernels/4.18.0-488.el8.ppc64le/lib/pldmfw//usr/src/kernels/4.18.0-488.el8.ppc64le/lib/raid6//usr/src/kernels/4.18.0-488.el8.ppc64le/lib/raid6/test//usr/src/kernels/4.18.0-488.el8.ppc64le/lib/reed_solomon//usr/src/kernels/4.18.0-488.el8.ppc64le/lib/vdso//usr/src/kernels/4.18.0-488.el8.ppc64le/lib/xz//usr/src/kernels/4.18.0-488.el8.ppc64le/lib/zlib_deflate//usr/src/kernels/4.18.0-488.el8.ppc64le/lib/zlib_dfltcc//usr/src/kernels/4.18.0-488.el8.ppc64le/lib/zlib_inflate//usr/src/kernels/4.18.0-488.el8.ppc64le/lib/zstd//usr/src/kernels/4.18.0-488.el8.ppc64le/mm//usr/src/kernels/4.18.0-488.el8.ppc64le/mm/damon//usr/src/kernels/4.18.0-488.el8.ppc64le/mm/kasan//usr/src/kernels/4.18.0-488.el8.ppc64le/net//usr/src/kernels/4.18.0-488.el8.ppc64le/net/6lowpan//usr/src/kernels/4.18.0-488.el8.ppc64le/net/802//usr/src/kernels/4.18.0-488.el8.ppc64le/net/8021q//usr/src/kernels/4.18.0-488.el8.ppc64le/net/9p//usr/src/kernels/4.18.0-488.el8.ppc64le/net/appletalk//usr/src/kernels/4.18.0-488.el8.ppc64le/net/atm//usr/src/kernels/4.18.0-488.el8.ppc64le/net/ax25//usr/src/kernels/4.18.0-488.el8.ppc64le/net/batman-adv//usr/src/kernels/4.18.0-488.el8.ppc64le/net/bluetooth//usr/src/kernels/4.18.0-488.el8.ppc64le/net/bluetooth/bnep//usr/src/kernels/4.18.0-488.el8.ppc64le/net/bluetooth/cmtp//usr/src/kernels/4.18.0-488.el8.ppc64le/net/bluetooth/hidp//usr/src/kernels/4.18.0-488.el8.ppc64le/net/bluetooth/rfcomm//usr/src/kernels/4.18.0-488.el8.ppc64le/net/bpf//usr/src/kernels/4.18.0-488.el8.ppc64le/net/bpfilter//usr/src/kernels/4.18.0-488.el8.ppc64le/net/bridge//usr/src/kernels/4.18.0-488.el8.ppc64le/net/bridge/netfilter//usr/src/kernels/4.18.0-488.el8.ppc64le/net/caif//usr/src/kernels/4.18.0-488.el8.ppc64le/net/can//usr/src/kernels/4.18.0-488.el8.ppc64le/net/ceph//usr/src/kernels/4.18.0-488.el8.ppc64le/net/core//usr/src/kernels/4.18.0-488.el8.ppc64le/net/dcb//usr/src/kernels/4.18.0-488.el8.ppc64le/net/dccp//usr/src/kernels/4.18.0-488.el8.ppc64le/net/dccp/ccids//usr/src/kernels/4.18.0-488.el8.ppc64le/net/decnet//usr/src/kernels/4.18.0-488.el8.ppc64le/net/decnet/netfilter//usr/src/kernels/4.18.0-488.el8.ppc64le/net/dns_resolver//usr/src/kernels/4.18.0-488.el8.ppc64le/net/dsa//usr/src/kernels/4.18.0-488.el8.ppc64le/net/ethernet//usr/src/kernels/4.18.0-488.el8.ppc64le/net/ethtool//usr/src/kernels/4.18.0-488.el8.ppc64le/net/hsr//usr/src/kernels/4.18.0-488.el8.ppc64le/net/ieee802154//usr/src/kernels/4.18.0-488.el8.ppc64le/net/ieee802154/6lowpan//usr/src/kernels/4.18.0-488.el8.ppc64le/net/ife//usr/src/kernels/4.18.0-488.el8.ppc64le/net/ipv4//usr/src/kernels/4.18.0-488.el8.ppc64le/net/ipv4/bpfilter//usr/src/kernels/4.18.0-488.el8.ppc64le/net/ipv4/netfilter//usr/src/kernels/4.18.0-488.el8.ppc64le/net/ipv6//usr/src/kernels/4.18.0-488.el8.ppc64le/net/ipv6/ila//usr/src/kernels/4.18.0-488.el8.ppc64le/net/ipv6/netfilter//usr/src/kernels/4.18.0-488.el8.ppc64le/net/iucv//usr/src/kernels/4.18.0-488.el8.ppc64le/net/kcm//usr/src/kernels/4.18.0-488.el8.ppc64le/net/key//usr/src/kernels/4.18.0-488.el8.ppc64le/net/l2tp//usr/src/kernels/4.18.0-488.el8.ppc64le/net/l3mdev//usr/src/kernels/4.18.0-488.el8.ppc64le/net/lapb//usr/src/kernels/4.18.0-488.el8.ppc64le/net/llc//usr/src/kernels/4.18.0-488.el8.ppc64le/net/mac80211//usr/src/kernels/4.18.0-488.el8.ppc64le/net/mac802154//usr/src/kernels/4.18.0-488.el8.ppc64le/net/mpls//usr/src/kernels/4.18.0-488.el8.ppc64le/net/mptcp//usr/src/kernels/4.18.0-488.el8.ppc64le/net/ncsi//usr/src/kernels/4.18.0-488.el8.ppc64le/net/netfilter//usr/src/kernels/4.18.0-488.el8.ppc64le/net/netfilter/ipset//usr/src/kernels/4.18.0-488.el8.ppc64le/net/netfilter/ipvs//usr/src/kernels/4.18.0-488.el8.ppc64le/net/netlabel//usr/src/kernels/4.18.0-488.el8.ppc64le/net/netlink//usr/src/kernels/4.18.0-488.el8.ppc64le/net/netrom//usr/src/kernels/4.18.0-488.el8.ppc64le/net/nfc//usr/src/kernels/4.18.0-488.el8.ppc64le/net/nfc/hci//usr/src/kernels/4.18.0-488.el8.ppc64le/net/nfc/nci//usr/src/kernels/4.18.0-488.el8.ppc64le/net/nsh//usr/src/kernels/4.18.0-488.el8.ppc64le/net/openvswitch//usr/src/kernels/4.18.0-488.el8.ppc64le/net/packet//usr/src/kernels/4.18.0-488.el8.ppc64le/net/phonet//usr/src/kernels/4.18.0-488.el8.ppc64le/net/psample//usr/src/kernels/4.18.0-488.el8.ppc64le/net/qrtr//usr/src/kernels/4.18.0-488.el8.ppc64le/net/rds//usr/src/kernels/4.18.0-488.el8.ppc64le/net/rfkill//usr/src/kernels/4.18.0-488.el8.ppc64le/net/rose//usr/src/kernels/4.18.0-488.el8.ppc64le/net/rxrpc//usr/src/kernels/4.18.0-488.el8.ppc64le/net/sched//usr/src/kernels/4.18.0-488.el8.ppc64le/net/sctp//usr/src/kernels/4.18.0-488.el8.ppc64le/net/smc//usr/src/kernels/4.18.0-488.el8.ppc64le/net/strparser//usr/src/kernels/4.18.0-488.el8.ppc64le/net/sunrpc//usr/src/kernels/4.18.0-488.el8.ppc64le/net/sunrpc/auth_gss//usr/src/kernels/4.18.0-488.el8.ppc64le/net/sunrpc/xprtrdma//usr/src/kernels/4.18.0-488.el8.ppc64le/net/switchdev//usr/src/kernels/4.18.0-488.el8.ppc64le/net/tipc//usr/src/kernels/4.18.0-488.el8.ppc64le/net/tls//usr/src/kernels/4.18.0-488.el8.ppc64le/net/unix//usr/src/kernels/4.18.0-488.el8.ppc64le/net/vmw_vsock//usr/src/kernels/4.18.0-488.el8.ppc64le/net/wimax//usr/src/kernels/4.18.0-488.el8.ppc64le/net/wireless//usr/src/kernels/4.18.0-488.el8.ppc64le/net/x25//usr/src/kernels/4.18.0-488.el8.ppc64le/net/xdp//usr/src/kernels/4.18.0-488.el8.ppc64le/net/xfrm//usr/src/kernels/4.18.0-488.el8.ppc64le/samples//usr/src/kernels/4.18.0-488.el8.ppc64le/samples/auxdisplay//usr/src/kernels/4.18.0-488.el8.ppc64le/samples/bpf//usr/src/kernels/4.18.0-488.el8.ppc64le/samples/configfs//usr/src/kernels/4.18.0-488.el8.ppc64le/samples/connector//usr/src/kernels/4.18.0-488.el8.ppc64le/samples/hidraw//usr/src/kernels/4.18.0-488.el8.ppc64le/samples/hw_breakpoint//usr/src/kernels/4.18.0-488.el8.ppc64le/samples/kdb//usr/src/kernels/4.18.0-488.el8.ppc64le/samples/kfifo//usr/src/kernels/4.18.0-488.el8.ppc64le/samples/kobject//usr/src/kernels/4.18.0-488.el8.ppc64le/samples/kprobes//usr/src/kernels/4.18.0-488.el8.ppc64le/samples/livepatch//usr/src/kernels/4.18.0-488.el8.ppc64le/samples/mei//usr/src/kernels/4.18.0-488.el8.ppc64le/samples/mic//usr/src/kernels/4.18.0-488.el8.ppc64le/samples/mic/mpssd//usr/src/kernels/4.18.0-488.el8.ppc64le/samples/nitro_enclaves//usr/src/kernels/4.18.0-488.el8.ppc64le/samples/qmi//usr/src/kernels/4.18.0-488.el8.ppc64le/samples/rpmsg//usr/src/kernels/4.18.0-488.el8.ppc64le/samples/seccomp//usr/src/kernels/4.18.0-488.el8.ppc64le/samples/timers//usr/src/kernels/4.18.0-488.el8.ppc64le/samples/trace_events//usr/src/kernels/4.18.0-488.el8.ppc64le/samples/trace_printk//usr/src/kernels/4.18.0-488.el8.ppc64le/samples/uhid//usr/src/kernels/4.18.0-488.el8.ppc64le/samples/v4l//usr/src/kernels/4.18.0-488.el8.ppc64le/samples/vfio-mdev//usr/src/kernels/4.18.0-488.el8.ppc64le/samples/vfs//usr/src/kernels/4.18.0-488.el8.ppc64le/samples/watchdog//usr/src/kernels/4.18.0-488.el8.ppc64le/scripts//usr/src/kernels/4.18.0-488.el8.ppc64le/scripts/basic//usr/src/kernels/4.18.0-488.el8.ppc64le/scripts/clang-tools//usr/src/kernels/4.18.0-488.el8.ppc64le/scripts/coccinelle//usr/src/kernels/4.18.0-488.el8.ppc64le/scripts/coccinelle/api//usr/src/kernels/4.18.0-488.el8.ppc64le/scripts/coccinelle/api/alloc//usr/src/kernels/4.18.0-488.el8.ppc64le/scripts/coccinelle/api/debugfs//usr/src/kernels/4.18.0-488.el8.ppc64le/scripts/coccinelle/free//usr/src/kernels/4.18.0-488.el8.ppc64le/scripts/coccinelle/iterators//usr/src/kernels/4.18.0-488.el8.ppc64le/scripts/coccinelle/locks//usr/src/kernels/4.18.0-488.el8.ppc64le/scripts/coccinelle/misc//usr/src/kernels/4.18.0-488.el8.ppc64le/scripts/coccinelle/null//usr/src/kernels/4.18.0-488.el8.ppc64le/scripts/coccinelle/tests//usr/src/kernels/4.18.0-488.el8.ppc64le/scripts/dtc//usr/src/kernels/4.18.0-488.el8.ppc64le/scripts/dtc/include-prefixes//usr/src/kernels/4.18.0-488.el8.ppc64le/scripts/dtc/libfdt//usr/src/kernels/4.18.0-488.el8.ppc64le/scripts/gcc-plugins//usr/src/kernels/4.18.0-488.el8.ppc64le/scripts/gdb//usr/src/kernels/4.18.0-488.el8.ppc64le/scripts/gdb/linux//usr/src/kernels/4.18.0-488.el8.ppc64le/scripts/genksyms//usr/src/kernels/4.18.0-488.el8.ppc64le/scripts/kconfig//usr/src/kernels/4.18.0-488.el8.ppc64le/scripts/kconfig/lxdialog//usr/src/kernels/4.18.0-488.el8.ppc64le/scripts/kconfig/tests//usr/src/kernels/4.18.0-488.el8.ppc64le/scripts/kconfig/tests/auto_submenu//usr/src/kernels/4.18.0-488.el8.ppc64le/scripts/kconfig/tests/choice//usr/src/kernels/4.18.0-488.el8.ppc64le/scripts/kconfig/tests/choice_value_with_m_dep//usr/src/kernels/4.18.0-488.el8.ppc64le/scripts/kconfig/tests/err_recursive_dep//usr/src/kernels/4.18.0-488.el8.ppc64le/scripts/kconfig/tests/err_recursive_inc//usr/src/kernels/4.18.0-488.el8.ppc64le/scripts/kconfig/tests/inter_choice//usr/src/kernels/4.18.0-488.el8.ppc64le/scripts/kconfig/tests/new_choice_with_dep//usr/src/kernels/4.18.0-488.el8.ppc64le/scripts/kconfig/tests/no_write_if_dep_unmet//usr/src/kernels/4.18.0-488.el8.ppc64le/scripts/kconfig/tests/preprocess//usr/src/kernels/4.18.0-488.el8.ppc64le/scripts/kconfig/tests/preprocess/builtin_func//usr/src/kernels/4.18.0-488.el8.ppc64le/scripts/kconfig/tests/preprocess/circular_expansion//usr/src/kernels/4.18.0-488.el8.ppc64le/scripts/kconfig/tests/preprocess/escape//usr/src/kernels/4.18.0-488.el8.ppc64le/scripts/kconfig/tests/preprocess/variable//usr/src/kernels/4.18.0-488.el8.ppc64le/scripts/kconfig/tests/rand_nested_choice//usr/src/kernels/4.18.0-488.el8.ppc64le/scripts/ksymoops//usr/src/kernels/4.18.0-488.el8.ppc64le/scripts/mod//usr/src/kernels/4.18.0-488.el8.ppc64le/scripts/package//usr/src/kernels/4.18.0-488.el8.ppc64le/scripts/selinux//usr/src/kernels/4.18.0-488.el8.ppc64le/scripts/selinux/genheaders//usr/src/kernels/4.18.0-488.el8.ppc64le/scripts/selinux/mdp//usr/src/kernels/4.18.0-488.el8.ppc64le/security//usr/src/kernels/4.18.0-488.el8.ppc64le/security/apparmor//usr/src/kernels/4.18.0-488.el8.ppc64le/security/bpf//usr/src/kernels/4.18.0-488.el8.ppc64le/security/integrity//usr/src/kernels/4.18.0-488.el8.ppc64le/security/integrity/evm//usr/src/kernels/4.18.0-488.el8.ppc64le/security/integrity/ima//usr/src/kernels/4.18.0-488.el8.ppc64le/security/keys//usr/src/kernels/4.18.0-488.el8.ppc64le/security/keys/encrypted-keys//usr/src/kernels/4.18.0-488.el8.ppc64le/security/keys/trusted-keys//usr/src/kernels/4.18.0-488.el8.ppc64le/security/loadpin//usr/src/kernels/4.18.0-488.el8.ppc64le/security/selinux//usr/src/kernels/4.18.0-488.el8.ppc64le/security/selinux/include//usr/src/kernels/4.18.0-488.el8.ppc64le/security/smack//usr/src/kernels/4.18.0-488.el8.ppc64le/security/tomoyo//usr/src/kernels/4.18.0-488.el8.ppc64le/security/yama//usr/src/kernels/4.18.0-488.el8.ppc64le/sound//usr/src/kernels/4.18.0-488.el8.ppc64le/sound/ac97//usr/src/kernels/4.18.0-488.el8.ppc64le/sound/aoa//usr/src/kernels/4.18.0-488.el8.ppc64le/sound/aoa/codecs//usr/src/kernels/4.18.0-488.el8.ppc64le/sound/aoa/core//usr/src/kernels/4.18.0-488.el8.ppc64le/sound/aoa/fabrics//usr/src/kernels/4.18.0-488.el8.ppc64le/sound/aoa/soundbus//usr/src/kernels/4.18.0-488.el8.ppc64le/sound/aoa/soundbus/i2sbus//usr/src/kernels/4.18.0-488.el8.ppc64le/sound/arm//usr/src/kernels/4.18.0-488.el8.ppc64le/sound/atmel//usr/src/kernels/4.18.0-488.el8.ppc64le/sound/core//usr/src/kernels/4.18.0-488.el8.ppc64le/sound/core/oss//usr/src/kernels/4.18.0-488.el8.ppc64le/sound/core/seq//usr/src/kernels/4.18.0-488.el8.ppc64le/sound/core/seq/oss//usr/src/kernels/4.18.0-488.el8.ppc64le/sound/drivers//usr/src/kernels/4.18.0-488.el8.ppc64le/sound/drivers/mpu401//usr/src/kernels/4.18.0-488.el8.ppc64le/sound/drivers/opl3//usr/src/kernels/4.18.0-488.el8.ppc64le/sound/drivers/opl4//usr/src/kernels/4.18.0-488.el8.ppc64le/sound/drivers/pcsp//usr/src/kernels/4.18.0-488.el8.ppc64le/sound/drivers/vx//usr/src/kernels/4.18.0-488.el8.ppc64le/sound/firewire//usr/src/kernels/4.18.0-488.el8.ppc64le/sound/firewire/bebob//usr/src/kernels/4.18.0-488.el8.ppc64le/sound/firewire/dice//usr/src/kernels/4.18.0-488.el8.ppc64le/sound/firewire/digi00x//usr/src/kernels/4.18.0-488.el8.ppc64le/sound/firewire/fireface//usr/src/kernels/4.18.0-488.el8.ppc64le/sound/firewire/fireworks//usr/src/kernels/4.18.0-488.el8.ppc64le/sound/firewire/motu//usr/src/kernels/4.18.0-488.el8.ppc64le/sound/firewire/oxfw//usr/src/kernels/4.18.0-488.el8.ppc64le/sound/firewire/tascam//usr/src/kernels/4.18.0-488.el8.ppc64le/sound/hda//usr/src/kernels/4.18.0-488.el8.ppc64le/sound/hda/ext//usr/src/kernels/4.18.0-488.el8.ppc64le/sound/i2c//usr/src/kernels/4.18.0-488.el8.ppc64le/sound/i2c/other//usr/src/kernels/4.18.0-488.el8.ppc64le/sound/isa//usr/src/kernels/4.18.0-488.el8.ppc64le/sound/isa/ad1816a//usr/src/kernels/4.18.0-488.el8.ppc64le/sound/isa/ad1848//usr/src/kernels/4.18.0-488.el8.ppc64le/sound/isa/cs423x//usr/src/kernels/4.18.0-488.el8.ppc64le/sound/isa/es1688//usr/src/kernels/4.18.0-488.el8.ppc64le/sound/isa/galaxy//usr/src/kernels/4.18.0-488.el8.ppc64le/sound/isa/gus//usr/src/kernels/4.18.0-488.el8.ppc64le/sound/isa/msnd//usr/src/kernels/4.18.0-488.el8.ppc64le/sound/isa/opti9xx//usr/src/kernels/4.18.0-488.el8.ppc64le/sound/isa/sb//usr/src/kernels/4.18.0-488.el8.ppc64le/sound/isa/wavefront//usr/src/kernels/4.18.0-488.el8.ppc64le/sound/isa/wss//usr/src/kernels/4.18.0-488.el8.ppc64le/sound/mips//usr/src/kernels/4.18.0-488.el8.ppc64le/sound/oss//usr/src/kernels/4.18.0-488.el8.ppc64le/sound/oss/dmasound//usr/src/kernels/4.18.0-488.el8.ppc64le/sound/parisc//usr/src/kernels/4.18.0-488.el8.ppc64le/sound/pci//usr/src/kernels/4.18.0-488.el8.ppc64le/sound/pci/ac97//usr/src/kernels/4.18.0-488.el8.ppc64le/sound/pci/ali5451//usr/src/kernels/4.18.0-488.el8.ppc64le/sound/pci/asihpi//usr/src/kernels/4.18.0-488.el8.ppc64le/sound/pci/au88x0//usr/src/kernels/4.18.0-488.el8.ppc64le/sound/pci/aw2//usr/src/kernels/4.18.0-488.el8.ppc64le/sound/pci/ca0106//usr/src/kernels/4.18.0-488.el8.ppc64le/sound/pci/cs46xx//usr/src/kernels/4.18.0-488.el8.ppc64le/sound/pci/cs5535audio//usr/src/kernels/4.18.0-488.el8.ppc64le/sound/pci/ctxfi//usr/src/kernels/4.18.0-488.el8.ppc64le/sound/pci/echoaudio//usr/src/kernels/4.18.0-488.el8.ppc64le/sound/pci/emu10k1//usr/src/kernels/4.18.0-488.el8.ppc64le/sound/pci/hda//usr/src/kernels/4.18.0-488.el8.ppc64le/sound/pci/ice1712//usr/src/kernels/4.18.0-488.el8.ppc64le/sound/pci/korg1212//usr/src/kernels/4.18.0-488.el8.ppc64le/sound/pci/lola//usr/src/kernels/4.18.0-488.el8.ppc64le/sound/pci/lx6464es//usr/src/kernels/4.18.0-488.el8.ppc64le/sound/pci/mixart//usr/src/kernels/4.18.0-488.el8.ppc64le/sound/pci/nm256//usr/src/kernels/4.18.0-488.el8.ppc64le/sound/pci/oxygen//usr/src/kernels/4.18.0-488.el8.ppc64le/sound/pci/pcxhr//usr/src/kernels/4.18.0-488.el8.ppc64le/sound/pci/riptide//usr/src/kernels/4.18.0-488.el8.ppc64le/sound/pci/rme9652//usr/src/kernels/4.18.0-488.el8.ppc64le/sound/pci/trident//usr/src/kernels/4.18.0-488.el8.ppc64le/sound/pci/vx222//usr/src/kernels/4.18.0-488.el8.ppc64le/sound/pci/ymfpci//usr/src/kernels/4.18.0-488.el8.ppc64le/sound/pcmcia//usr/src/kernels/4.18.0-488.el8.ppc64le/sound/pcmcia/pdaudiocf//usr/src/kernels/4.18.0-488.el8.ppc64le/sound/pcmcia/vx//usr/src/kernels/4.18.0-488.el8.ppc64le/sound/ppc//usr/src/kernels/4.18.0-488.el8.ppc64le/sound/sh//usr/src/kernels/4.18.0-488.el8.ppc64le/sound/soc//usr/src/kernels/4.18.0-488.el8.ppc64le/sound/soc/adi//usr/src/kernels/4.18.0-488.el8.ppc64le/sound/soc/amd//usr/src/kernels/4.18.0-488.el8.ppc64le/sound/soc/amd/acp//usr/src/kernels/4.18.0-488.el8.ppc64le/sound/soc/amd/raven//usr/src/kernels/4.18.0-488.el8.ppc64le/sound/soc/amd/renoir//usr/src/kernels/4.18.0-488.el8.ppc64le/sound/soc/amd/rpl//usr/src/kernels/4.18.0-488.el8.ppc64le/sound/soc/amd/vangogh//usr/src/kernels/4.18.0-488.el8.ppc64le/sound/soc/amd/yc//usr/src/kernels/4.18.0-488.el8.ppc64le/sound/soc/atmel//usr/src/kernels/4.18.0-488.el8.ppc64le/sound/soc/au1x//usr/src/kernels/4.18.0-488.el8.ppc64le/sound/soc/bcm//usr/src/kernels/4.18.0-488.el8.ppc64le/sound/soc/cirrus//usr/src/kernels/4.18.0-488.el8.ppc64le/sound/soc/codecs//usr/src/kernels/4.18.0-488.el8.ppc64le/sound/soc/dwc//usr/src/kernels/4.18.0-488.el8.ppc64le/sound/soc/fsl//usr/src/kernels/4.18.0-488.el8.ppc64le/sound/soc/generic//usr/src/kernels/4.18.0-488.el8.ppc64le/sound/soc/hisilicon//usr/src/kernels/4.18.0-488.el8.ppc64le/sound/soc/img//usr/src/kernels/4.18.0-488.el8.ppc64le/sound/soc/intel//usr/src/kernels/4.18.0-488.el8.ppc64le/sound/soc/intel/atom//usr/src/kernels/4.18.0-488.el8.ppc64le/sound/soc/intel/atom/sst//usr/src/kernels/4.18.0-488.el8.ppc64le/sound/soc/intel/avs//usr/src/kernels/4.18.0-488.el8.ppc64le/sound/soc/intel/avs/boards//usr/src/kernels/4.18.0-488.el8.ppc64le/sound/soc/intel/boards//usr/src/kernels/4.18.0-488.el8.ppc64le/sound/soc/intel/catpt//usr/src/kernels/4.18.0-488.el8.ppc64le/sound/soc/intel/common//usr/src/kernels/4.18.0-488.el8.ppc64le/sound/soc/intel/keembay//usr/src/kernels/4.18.0-488.el8.ppc64le/sound/soc/intel/skylake//usr/src/kernels/4.18.0-488.el8.ppc64le/sound/soc/jz4740//usr/src/kernels/4.18.0-488.el8.ppc64le/sound/soc/kirkwood//usr/src/kernels/4.18.0-488.el8.ppc64le/sound/soc/mediatek//usr/src/kernels/4.18.0-488.el8.ppc64le/sound/soc/mediatek/common//usr/src/kernels/4.18.0-488.el8.ppc64le/sound/soc/mediatek/mt2701//usr/src/kernels/4.18.0-488.el8.ppc64le/sound/soc/mediatek/mt6797//usr/src/kernels/4.18.0-488.el8.ppc64le/sound/soc/mediatek/mt8173//usr/src/kernels/4.18.0-488.el8.ppc64le/sound/soc/mediatek/mt8183//usr/src/kernels/4.18.0-488.el8.ppc64le/sound/soc/meson//usr/src/kernels/4.18.0-488.el8.ppc64le/sound/soc/mxs//usr/src/kernels/4.18.0-488.el8.ppc64le/sound/soc/pxa//usr/src/kernels/4.18.0-488.el8.ppc64le/sound/soc/qcom//usr/src/kernels/4.18.0-488.el8.ppc64le/sound/soc/qcom/qdsp6//usr/src/kernels/4.18.0-488.el8.ppc64le/sound/soc/rockchip//usr/src/kernels/4.18.0-488.el8.ppc64le/sound/soc/samsung//usr/src/kernels/4.18.0-488.el8.ppc64le/sound/soc/sh//usr/src/kernels/4.18.0-488.el8.ppc64le/sound/soc/sh/rcar//usr/src/kernels/4.18.0-488.el8.ppc64le/sound/soc/sof//usr/src/kernels/4.18.0-488.el8.ppc64le/sound/soc/sof/amd//usr/src/kernels/4.18.0-488.el8.ppc64le/sound/soc/sof/imx//usr/src/kernels/4.18.0-488.el8.ppc64le/sound/soc/sof/intel//usr/src/kernels/4.18.0-488.el8.ppc64le/sound/soc/sof/mediatek//usr/src/kernels/4.18.0-488.el8.ppc64le/sound/soc/sof/mediatek/mt8186//usr/src/kernels/4.18.0-488.el8.ppc64le/sound/soc/sof/mediatek/mt8195//usr/src/kernels/4.18.0-488.el8.ppc64le/sound/soc/sof/xtensa//usr/src/kernels/4.18.0-488.el8.ppc64le/sound/soc/spear//usr/src/kernels/4.18.0-488.el8.ppc64le/sound/soc/sprd//usr/src/kernels/4.18.0-488.el8.ppc64le/sound/soc/sti//usr/src/kernels/4.18.0-488.el8.ppc64le/sound/soc/stm//usr/src/kernels/4.18.0-488.el8.ppc64le/sound/soc/sunxi//usr/src/kernels/4.18.0-488.el8.ppc64le/sound/soc/tegra//usr/src/kernels/4.18.0-488.el8.ppc64le/sound/soc/ti//usr/src/kernels/4.18.0-488.el8.ppc64le/sound/soc/txx9//usr/src/kernels/4.18.0-488.el8.ppc64le/sound/soc/uniphier//usr/src/kernels/4.18.0-488.el8.ppc64le/sound/soc/ux500//usr/src/kernels/4.18.0-488.el8.ppc64le/sound/soc/xilinx//usr/src/kernels/4.18.0-488.el8.ppc64le/sound/soc/xtensa//usr/src/kernels/4.18.0-488.el8.ppc64le/sound/sparc//usr/src/kernels/4.18.0-488.el8.ppc64le/sound/spi//usr/src/kernels/4.18.0-488.el8.ppc64le/sound/synth//usr/src/kernels/4.18.0-488.el8.ppc64le/sound/synth/emux//usr/src/kernels/4.18.0-488.el8.ppc64le/sound/usb//usr/src/kernels/4.18.0-488.el8.ppc64le/sound/usb/6fire//usr/src/kernels/4.18.0-488.el8.ppc64le/sound/usb/bcd2000//usr/src/kernels/4.18.0-488.el8.ppc64le/sound/usb/caiaq//usr/src/kernels/4.18.0-488.el8.ppc64le/sound/usb/hiface//usr/src/kernels/4.18.0-488.el8.ppc64le/sound/usb/line6//usr/src/kernels/4.18.0-488.el8.ppc64le/sound/usb/misc//usr/src/kernels/4.18.0-488.el8.ppc64le/sound/usb/usx2y//usr/src/kernels/4.18.0-488.el8.ppc64le/sound/virtio//usr/src/kernels/4.18.0-488.el8.ppc64le/sound/x86//usr/src/kernels/4.18.0-488.el8.ppc64le/sound/xen//usr/src/kernels/4.18.0-488.el8.ppc64le/tools//usr/src/kernels/4.18.0-488.el8.ppc64le/tools/accounting//usr/src/kernels/4.18.0-488.el8.ppc64le/tools/arch//usr/src/kernels/4.18.0-488.el8.ppc64le/tools/arch/x86//usr/src/kernels/4.18.0-488.el8.ppc64le/tools/arch/x86/intel_sdsi//usr/src/kernels/4.18.0-488.el8.ppc64le/tools/bpf//usr/src/kernels/4.18.0-488.el8.ppc64le/tools/bpf/bpftool//usr/src/kernels/4.18.0-488.el8.ppc64le/tools/bpf/bpftool/Documentation//usr/src/kernels/4.18.0-488.el8.ppc64le/tools/bpf/resolve_btfids//usr/src/kernels/4.18.0-488.el8.ppc64le/tools/bpf/runqslower//usr/src/kernels/4.18.0-488.el8.ppc64le/tools/build//usr/src/kernels/4.18.0-488.el8.ppc64le/tools/build/feature//usr/src/kernels/4.18.0-488.el8.ppc64le/tools/build/tests//usr/src/kernels/4.18.0-488.el8.ppc64le/tools/build/tests/ex//usr/src/kernels/4.18.0-488.el8.ppc64le/tools/cgroup//usr/src/kernels/4.18.0-488.el8.ppc64le/tools/firewire//usr/src/kernels/4.18.0-488.el8.ppc64le/tools/gpio//usr/src/kernels/4.18.0-488.el8.ppc64le/tools/hv//usr/src/kernels/4.18.0-488.el8.ppc64le/tools/iio//usr/src/kernels/4.18.0-488.el8.ppc64le/tools/include//usr/src/kernels/4.18.0-488.el8.ppc64le/tools/include/tools//usr/src/kernels/4.18.0-488.el8.ppc64le/tools/io_uring//usr/src/kernels/4.18.0-488.el8.ppc64le/tools/kvm//usr/src/kernels/4.18.0-488.el8.ppc64le/tools/kvm/kvm_stat//usr/src/kernels/4.18.0-488.el8.ppc64le/tools/laptop//usr/src/kernels/4.18.0-488.el8.ppc64le/tools/laptop/dslm//usr/src/kernels/4.18.0-488.el8.ppc64le/tools/laptop/freefall//usr/src/kernels/4.18.0-488.el8.ppc64le/tools/leds//usr/src/kernels/4.18.0-488.el8.ppc64le/tools/lib//usr/src/kernels/4.18.0-488.el8.ppc64le/tools/lib/api//usr/src/kernels/4.18.0-488.el8.ppc64le/tools/lib/bpf//usr/src/kernels/4.18.0-488.el8.ppc64le/tools/lib/lockdep//usr/src/kernels/4.18.0-488.el8.ppc64le/tools/lib/perf//usr/src/kernels/4.18.0-488.el8.ppc64le/tools/lib/perf/Documentation//usr/src/kernels/4.18.0-488.el8.ppc64le/tools/lib/subcmd//usr/src/kernels/4.18.0-488.el8.ppc64le/tools/lib/traceevent//usr/src/kernels/4.18.0-488.el8.ppc64le/tools/lib/traceevent/Documentation//usr/src/kernels/4.18.0-488.el8.ppc64le/tools/lib/traceevent/plugins//usr/src/kernels/4.18.0-488.el8.ppc64le/tools/objtool//usr/src/kernels/4.18.0-488.el8.ppc64le/tools/pci//usr/src/kernels/4.18.0-488.el8.ppc64le/tools/pcmcia//usr/src/kernels/4.18.0-488.el8.ppc64le/tools/perf//usr/src/kernels/4.18.0-488.el8.ppc64le/tools/perf/Documentation//usr/src/kernels/4.18.0-488.el8.ppc64le/tools/perf/arch//usr/src/kernels/4.18.0-488.el8.ppc64le/tools/perf/arch/arm//usr/src/kernels/4.18.0-488.el8.ppc64le/tools/perf/arch/arm64//usr/src/kernels/4.18.0-488.el8.ppc64le/tools/perf/arch/csky//usr/src/kernels/4.18.0-488.el8.ppc64le/tools/perf/arch/mips//usr/src/kernels/4.18.0-488.el8.ppc64le/tools/perf/arch/powerpc//usr/src/kernels/4.18.0-488.el8.ppc64le/tools/perf/arch/s390//usr/src/kernels/4.18.0-488.el8.ppc64le/tools/perf/arch/sh//usr/src/kernels/4.18.0-488.el8.ppc64le/tools/perf/arch/sparc//usr/src/kernels/4.18.0-488.el8.ppc64le/tools/perf/arch/x86//usr/src/kernels/4.18.0-488.el8.ppc64le/tools/perf/arch/xtensa//usr/src/kernels/4.18.0-488.el8.ppc64le/tools/perf/scripts//usr/src/kernels/4.18.0-488.el8.ppc64le/tools/perf/scripts/perl//usr/src/kernels/4.18.0-488.el8.ppc64le/tools/perf/scripts/perl/Perf-Trace-Util//usr/src/kernels/4.18.0-488.el8.ppc64le/tools/power//usr/src/kernels/4.18.0-488.el8.ppc64le/tools/power/acpi//usr/src/kernels/4.18.0-488.el8.ppc64le/tools/power/acpi/tools//usr/src/kernels/4.18.0-488.el8.ppc64le/tools/power/acpi/tools/acpidbg//usr/src/kernels/4.18.0-488.el8.ppc64le/tools/power/acpi/tools/acpidump//usr/src/kernels/4.18.0-488.el8.ppc64le/tools/power/acpi/tools/ec//usr/src/kernels/4.18.0-488.el8.ppc64le/tools/power/cpupower//usr/src/kernels/4.18.0-488.el8.ppc64le/tools/power/cpupower/bench//usr/src/kernels/4.18.0-488.el8.ppc64le/tools/power/cpupower/debug//usr/src/kernels/4.18.0-488.el8.ppc64le/tools/power/cpupower/debug/i386//usr/src/kernels/4.18.0-488.el8.ppc64le/tools/power/cpupower/debug/kernel//usr/src/kernels/4.18.0-488.el8.ppc64le/tools/power/cpupower/debug/x86_64//usr/src/kernels/4.18.0-488.el8.ppc64le/tools/power/pm-graph//usr/src/kernels/4.18.0-488.el8.ppc64le/tools/power/x86//usr/src/kernels/4.18.0-488.el8.ppc64le/tools/power/x86/intel-speed-select//usr/src/kernels/4.18.0-488.el8.ppc64le/tools/power/x86/turbostat//usr/src/kernels/4.18.0-488.el8.ppc64le/tools/power/x86/x86_energy_perf_policy//usr/src/kernels/4.18.0-488.el8.ppc64le/tools/scripts//usr/src/kernels/4.18.0-488.el8.ppc64le/tools/spi//usr/src/kernels/4.18.0-488.el8.ppc64le/tools/testing//usr/src/kernels/4.18.0-488.el8.ppc64le/tools/testing/nvdimm//usr/src/kernels/4.18.0-488.el8.ppc64le/tools/testing/radix-tree//usr/src/kernels/4.18.0-488.el8.ppc64le/tools/testing/scatterlist//usr/src/kernels/4.18.0-488.el8.ppc64le/tools/testing/selftests//usr/src/kernels/4.18.0-488.el8.ppc64le/tools/testing/selftests/android//usr/src/kernels/4.18.0-488.el8.ppc64le/tools/testing/selftests/android/ion//usr/src/kernels/4.18.0-488.el8.ppc64le/tools/testing/selftests/bpf//usr/src/kernels/4.18.0-488.el8.ppc64le/tools/testing/selftests/bpf/bpf_testmod//usr/src/kernels/4.18.0-488.el8.ppc64le/tools/testing/selftests/breakpoints//usr/src/kernels/4.18.0-488.el8.ppc64le/tools/testing/selftests/capabilities//usr/src/kernels/4.18.0-488.el8.ppc64le/tools/testing/selftests/cgroup//usr/src/kernels/4.18.0-488.el8.ppc64le/tools/testing/selftests/core//usr/src/kernels/4.18.0-488.el8.ppc64le/tools/testing/selftests/cpu-hotplug//usr/src/kernels/4.18.0-488.el8.ppc64le/tools/testing/selftests/cpufreq//usr/src/kernels/4.18.0-488.el8.ppc64le/tools/testing/selftests/damon//usr/src/kernels/4.18.0-488.el8.ppc64le/tools/testing/selftests/drivers//usr/src/kernels/4.18.0-488.el8.ppc64le/tools/testing/selftests/drivers/net//usr/src/kernels/4.18.0-488.el8.ppc64le/tools/testing/selftests/drivers/net/bonding//usr/src/kernels/4.18.0-488.el8.ppc64le/tools/testing/selftests/drivers/net/team//usr/src/kernels/4.18.0-488.el8.ppc64le/tools/testing/selftests/efivarfs//usr/src/kernels/4.18.0-488.el8.ppc64le/tools/testing/selftests/exec//usr/src/kernels/4.18.0-488.el8.ppc64le/tools/testing/selftests/filesystems//usr/src/kernels/4.18.0-488.el8.ppc64le/tools/testing/selftests/firmware//usr/src/kernels/4.18.0-488.el8.ppc64le/tools/testing/selftests/fpu//usr/src/kernels/4.18.0-488.el8.ppc64le/tools/testing/selftests/ftrace//usr/src/kernels/4.18.0-488.el8.ppc64le/tools/testing/selftests/futex//usr/src/kernels/4.18.0-488.el8.ppc64le/tools/testing/selftests/futex/functional//usr/src/kernels/4.18.0-488.el8.ppc64le/tools/testing/selftests/gpio//usr/src/kernels/4.18.0-488.el8.ppc64le/tools/testing/selftests/ia64//usr/src/kernels/4.18.0-488.el8.ppc64le/tools/testing/selftests/intel_pstate//usr/src/kernels/4.18.0-488.el8.ppc64le/tools/testing/selftests/ipc//usr/src/kernels/4.18.0-488.el8.ppc64le/tools/testing/selftests/kcmp//usr/src/kernels/4.18.0-488.el8.ppc64le/tools/testing/selftests/kexec//usr/src/kernels/4.18.0-488.el8.ppc64le/tools/testing/selftests/kmod//usr/src/kernels/4.18.0-488.el8.ppc64le/tools/testing/selftests/kvm//usr/src/kernels/4.18.0-488.el8.ppc64le/tools/testing/selftests/lib//usr/src/kernels/4.18.0-488.el8.ppc64le/tools/testing/selftests/livepatch//usr/src/kernels/4.18.0-488.el8.ppc64le/tools/testing/selftests/locking//usr/src/kernels/4.18.0-488.el8.ppc64le/tools/testing/selftests/media_tests//usr/src/kernels/4.18.0-488.el8.ppc64le/tools/testing/selftests/membarrier//usr/src/kernels/4.18.0-488.el8.ppc64le/tools/testing/selftests/memfd//usr/src/kernels/4.18.0-488.el8.ppc64le/tools/testing/selftests/memory-hotplug//usr/src/kernels/4.18.0-488.el8.ppc64le/tools/testing/selftests/mount//usr/src/kernels/4.18.0-488.el8.ppc64le/tools/testing/selftests/mqueue//usr/src/kernels/4.18.0-488.el8.ppc64le/tools/testing/selftests/net//usr/src/kernels/4.18.0-488.el8.ppc64le/tools/testing/selftests/net/forwarding//usr/src/kernels/4.18.0-488.el8.ppc64le/tools/testing/selftests/net/mptcp//usr/src/kernels/4.18.0-488.el8.ppc64le/tools/testing/selftests/netfilter//usr/src/kernels/4.18.0-488.el8.ppc64le/tools/testing/selftests/nsfs//usr/src/kernels/4.18.0-488.el8.ppc64le/tools/testing/selftests/powerpc//usr/src/kernels/4.18.0-488.el8.ppc64le/tools/testing/selftests/powerpc/alignment//usr/src/kernels/4.18.0-488.el8.ppc64le/tools/testing/selftests/powerpc/benchmarks//usr/src/kernels/4.18.0-488.el8.ppc64le/tools/testing/selftests/powerpc/cache_shape//usr/src/kernels/4.18.0-488.el8.ppc64le/tools/testing/selftests/powerpc/copyloops//usr/src/kernels/4.18.0-488.el8.ppc64le/tools/testing/selftests/powerpc/dscr//usr/src/kernels/4.18.0-488.el8.ppc64le/tools/testing/selftests/powerpc/eeh//usr/src/kernels/4.18.0-488.el8.ppc64le/tools/testing/selftests/powerpc/math//usr/src/kernels/4.18.0-488.el8.ppc64le/tools/testing/selftests/powerpc/mce//usr/src/kernels/4.18.0-488.el8.ppc64le/tools/testing/selftests/powerpc/mm//usr/src/kernels/4.18.0-488.el8.ppc64le/tools/testing/selftests/powerpc/papr_attributes//usr/src/kernels/4.18.0-488.el8.ppc64le/tools/testing/selftests/powerpc/pmu//usr/src/kernels/4.18.0-488.el8.ppc64le/tools/testing/selftests/powerpc/pmu/ebb//usr/src/kernels/4.18.0-488.el8.ppc64le/tools/testing/selftests/powerpc/pmu/sampling_tests//usr/src/kernels/4.18.0-488.el8.ppc64le/tools/testing/selftests/powerpc/primitives//usr/src/kernels/4.18.0-488.el8.ppc64le/tools/testing/selftests/powerpc/ptrace//usr/src/kernels/4.18.0-488.el8.ppc64le/tools/testing/selftests/powerpc/signal//usr/src/kernels/4.18.0-488.el8.ppc64le/tools/testing/selftests/powerpc/stringloops//usr/src/kernels/4.18.0-488.el8.ppc64le/tools/testing/selftests/powerpc/switch_endian//usr/src/kernels/4.18.0-488.el8.ppc64le/tools/testing/selftests/powerpc/syscalls//usr/src/kernels/4.18.0-488.el8.ppc64le/tools/testing/selftests/powerpc/tm//usr/src/kernels/4.18.0-488.el8.ppc64le/tools/testing/selftests/powerpc/vphn//usr/src/kernels/4.18.0-488.el8.ppc64le/tools/testing/selftests/prctl//usr/src/kernels/4.18.0-488.el8.ppc64le/tools/testing/selftests/proc//usr/src/kernels/4.18.0-488.el8.ppc64le/tools/testing/selftests/pstore//usr/src/kernels/4.18.0-488.el8.ppc64le/tools/testing/selftests/ptp//usr/src/kernels/4.18.0-488.el8.ppc64le/tools/testing/selftests/ptrace//usr/src/kernels/4.18.0-488.el8.ppc64le/tools/testing/selftests/rcutorture//usr/src/kernels/4.18.0-488.el8.ppc64le/tools/testing/selftests/rcutorture/formal//usr/src/kernels/4.18.0-488.el8.ppc64le/tools/testing/selftests/rcutorture/formal/srcu-cbmc//usr/src/kernels/4.18.0-488.el8.ppc64le/tools/testing/selftests/rcutorture/formal/srcu-cbmc/tests//usr/src/kernels/4.18.0-488.el8.ppc64le/tools/testing/selftests/rcutorture/formal/srcu-cbmc/tests/store_buffering//usr/src/kernels/4.18.0-488.el8.ppc64le/tools/testing/selftests/rseq//usr/src/kernels/4.18.0-488.el8.ppc64le/tools/testing/selftests/rtc//usr/src/kernels/4.18.0-488.el8.ppc64le/tools/testing/selftests/seccomp//usr/src/kernels/4.18.0-488.el8.ppc64le/tools/testing/selftests/sgx//usr/src/kernels/4.18.0-488.el8.ppc64le/tools/testing/selftests/sigaltstack//usr/src/kernels/4.18.0-488.el8.ppc64le/tools/testing/selftests/size//usr/src/kernels/4.18.0-488.el8.ppc64le/tools/testing/selftests/sparc64//usr/src/kernels/4.18.0-488.el8.ppc64le/tools/testing/selftests/sparc64/drivers//usr/src/kernels/4.18.0-488.el8.ppc64le/tools/testing/selftests/splice//usr/src/kernels/4.18.0-488.el8.ppc64le/tools/testing/selftests/static_keys//usr/src/kernels/4.18.0-488.el8.ppc64le/tools/testing/selftests/sync//usr/src/kernels/4.18.0-488.el8.ppc64le/tools/testing/selftests/sysctl//usr/src/kernels/4.18.0-488.el8.ppc64le/tools/testing/selftests/tc-testing//usr/src/kernels/4.18.0-488.el8.ppc64le/tools/testing/selftests/tdx//usr/src/kernels/4.18.0-488.el8.ppc64le/tools/testing/selftests/timens//usr/src/kernels/4.18.0-488.el8.ppc64le/tools/testing/selftests/timers//usr/src/kernels/4.18.0-488.el8.ppc64le/tools/testing/selftests/tpm2//usr/src/kernels/4.18.0-488.el8.ppc64le/tools/testing/selftests/uevent//usr/src/kernels/4.18.0-488.el8.ppc64le/tools/testing/selftests/user//usr/src/kernels/4.18.0-488.el8.ppc64le/tools/testing/selftests/vDSO//usr/src/kernels/4.18.0-488.el8.ppc64le/tools/testing/selftests/vm//usr/src/kernels/4.18.0-488.el8.ppc64le/tools/testing/selftests/watchdog//usr/src/kernels/4.18.0-488.el8.ppc64le/tools/testing/selftests/x86//usr/src/kernels/4.18.0-488.el8.ppc64le/tools/testing/selftests/zram//usr/src/kernels/4.18.0-488.el8.ppc64le/tools/testing/vsock//usr/src/kernels/4.18.0-488.el8.ppc64le/tools/thermal//usr/src/kernels/4.18.0-488.el8.ppc64le/tools/thermal/tmon//usr/src/kernels/4.18.0-488.el8.ppc64le/tools/usb//usr/src/kernels/4.18.0-488.el8.ppc64le/tools/usb/ffs-aio-example//usr/src/kernels/4.18.0-488.el8.ppc64le/tools/usb/ffs-aio-example/multibuff//usr/src/kernels/4.18.0-488.el8.ppc64le/tools/usb/ffs-aio-example/multibuff/host_app//usr/src/kernels/4.18.0-488.el8.ppc64le/tools/usb/ffs-aio-example/simple//usr/src/kernels/4.18.0-488.el8.ppc64le/tools/usb/ffs-aio-example/simple/host_app//usr/src/kernels/4.18.0-488.el8.ppc64le/tools/usb/usbip//usr/src/kernels/4.18.0-488.el8.ppc64le/tools/usb/usbip/libsrc//usr/src/kernels/4.18.0-488.el8.ppc64le/tools/usb/usbip/src//usr/src/kernels/4.18.0-488.el8.ppc64le/tools/virtio//usr/src/kernels/4.18.0-488.el8.ppc64le/tools/virtio/ringtest//usr/src/kernels/4.18.0-488.el8.ppc64le/tools/virtio/vhost_test//usr/src/kernels/4.18.0-488.el8.ppc64le/tools/virtio/virtio-trace//usr/src/kernels/4.18.0-488.el8.ppc64le/tools/vm//usr/src/kernels/4.18.0-488.el8.ppc64le/tools/wmi//usr/src/kernels/4.18.0-488.el8.ppc64le/usr//usr/src/kernels/4.18.0-488.el8.ppc64le/virt//usr/src/kernels/4.18.0-488.el8.ppc64le/virt/kvm//usr/src/kernels/4.18.0-488.el8.ppc64le/virt/lib/-O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fexceptions -fstack-protector-strong -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -mcpu=power8 -mtune=power8 -funwind-tables -fstack-clash-protectioncpioxz3Tppc64le-redhat-linux-gnu                                   !  "# $ %&  ' ()directoryLinux make config build file, ASCII textASCII textmakefile script, ASCII textemptyOS/2 REXX batch file, ASCII textAlgol 68 source, ASCII textC source, ASCII textC source, UTF-8 Unicode textUTF-8 Unicode textOS/2 REXX batch file, UTF-8 Unicode textISO-8859 textPOSIX shell script, ASCII text executableELF 64-bit LSB shared object, 64-bit PowerPC or cisco 7500, version 1 (SYSV), dynamically linked, interpreter /lib64/ld64.so.2, for GNU/Linux 3.10.0, BuildID[sha1]=d9b2a287527ac33593cb6e1aeb6aa9f29d84a4b6, strippedELF 64-bit LSB shared object, 64-bit PowerPC or cisco 7500, version 1 (SYSV), dynamically linked, interpreter /lib64/ld64.so.2, for GNU/Linux 3.10.0, BuildID[sha1]=7a2703c9d25502549481075693e7fea243627906, strippedELF 64-bit LSB shared object, 64-bit PowerPC or cisco 7500, version 1 (SYSV), dynamically linked, interpreter /lib64/ld64.so.2, for GNU/Linux 3.10.0, BuildID[sha1]=f914c5acb0f294f01d6a13053a97ee5a658cc359, strippedPython script, ASCII text executablePerl script text executableBourne-Again shell script, ASCII text executableELF 64-bit LSB shared object, 64-bit PowerPC or cisco 7500, version 1 (SYSV), dynamically linked, interpreter /lib64/ld64.so.2, for GNU/Linux 3.10.0, BuildID[sha1]=c9b0705d454f5b0f814460cc7269bae248495bd7, strippedELF 64-bit LSB shared object, 64-bit PowerPC or cisco 7500, version 1 (SYSV), dynamically linked, interpreter /lib64/ld64.so.2, for GNU/Linux 3.10.0, BuildID[sha1]=29e1e3cae66873b6776454acd88e2d71f816128e, strippedELF 64-bit LSB shared object, 64-bit PowerPC or cisco 7500, version 1 (SYSV), dynamically linked, interpreter /lib64/ld64.so.2, for GNU/Linux 3.10.0, BuildID[sha1]=51d8a485273c989e29cca3c8e6f8a32eb4b08cf7, strippedC++ source, ASCII textexported SGML document, ASCII textELF 64-bit LSB shared object, 64-bit PowerPC or cisco 7500, version 1 (SYSV), dynamically linked, interpreter /lib64/ld64.so.2, for GNU/Linux 3.10.0, BuildID[sha1]=b11706807027d72eb698248086876ec0f7d9179d, strippedELF 64-bit LSB shared object, 64-bit PowerPC or cisco 7500, version 1 (SYSV), dynamically linked, interpreter /lib64/ld64.so.2, for GNU/Linux 3.10.0, BuildID[sha1]=b781e2c40b9eac5e23151d8301af5142025458c9, strippedELF 64-bit LSB shared object, 64-bit PowerPC or cisco 7500, version 1 (SYSV), dynamically linked, interpreter /lib64/ld64.so.2, for GNU/Linux 3.10.0, BuildID[sha1]=298b2b0128cf965adfd47af39e8c2dff2370e3dc, strippedELF 64-bit LSB shared object, 64-bit PowerPC or cisco 7500, version 1 (SYSV), dynamically linked, interpreter /lib64/ld64.so.2, for GNU/Linux 3.10.0, BuildID[sha1]=b8fef55452c268e9d3534d1559d6aa3fd6ca2ed0, strippedXML 1.0 document, ASCII textawk script, ASCII text executableassembler source, ASCII textELF 64-bit LSB shared object, 64-bit PowerPC or cisco 7500, version 1 (SYSV), dynamically linked, interpreter /lib64/ld64.so.2, for GNU/Linux 3.10.0, BuildID[sha1]=90b48550981f1af1d8aeb7b9d74ead9e3109c665, strippedELF 64-bit LSB shared object, 64-bit PowerPC or cisco 7500, version 1 (SYSV), dynamically linked, interpreter /lib64/ld64.so.2, for GNU/Linux 3.10.0, BuildID[sha1]=c3c4378c10e8c83549037b323a8f233e63a1988f, strippedELF 64-bit LSB shared object, 64-bit PowerPC or cisco 7500, version 1 (SYSV), dynamically linked, interpreter /lib64/ld64.so.2, for GNU/Linux 3.10.0, BuildID[sha1]=d087397929a3ba2605865f9011310b8c555370b6, strippedELF 64-bit LSB shared object, 64-bit PowerPC or cisco 7500, version 1 (SYSV), dynamically linked, interpreter /lib64/ld64.so.2, for GNU/Linux 3.10.0, BuildID[sha1]=a6a77dd0447b9314f378a155fd2172d3041b6c18, strippedELF 64-bit LSB shared object, 64-bit PowerPC or cisco 7500, version 1 (SYSV), dynamically linked, interpreter /lib64/ld64.so.2, for GNU/Linux 3.10.0, BuildID[sha1]=c2178f69e94a763678de861ac30426b895d15e40, strippedELF 64-bit LSB shared object, 64-bit PowerPC or cisco 7500, version 1 (SYSV), dynamically linked, interpreter /lib64/ld64.so.2, for GNU/Linux 3.10.0, BuildID[sha1]=3292c492842a38451be84d1f1956a02a9060f41a, strippedELF 64-bit LSB shared object, 64-bit PowerPC or cisco 7500, version 1 (SYSV), dynamically linked, interpreter /lib64/ld64.so.2, for GNU/Linux 3.10.0, BuildID[sha1]=a9908761f1511c88f0ff97c896500c4ed2d1edfd, strippedELF 64-bit LSB shared object, 64-bit PowerPC or cisco 7500, version 1 (SYSV), dynamically linked, interpreter /lib64/ld64.so.2, for GNU/Linux 3.10.0, BuildID[sha1]=4d067f8a7306c6fa81d9d9e952c73848cd26e7ce, strippedASCII text, with very long linesautomake makefile script, ASCII textbisonelfutils-libelf-develflexgccmakeopenssl-develutf-802e3613e4136ca7634b27eaa33aff0dd8125dac1fe9d956a10a2331e9b1505df? 7zXZ !] b2u jӫ`(y/)Kskt8gqQƧxkQy@Stg^tfaX)dwR{d\[53NfCvmnDmʿNY㹤yq*#щP׉`)OD] AJX@)j^;Hi|,{@HX08}iu^yB-"ڇ#\'gD9]P"Te|.-LF '*m9f9WilKH-E^N^96NAda( LM$"^a_YHPL`_&U }ocIuΨ_Q~N_99g)}umt,Mp(Z]^ۦSY<> EP1uW@JY=^N\%%Ǯ|c$7Ѕ;@wv~ѿv9f=!^$nQ գ1[b#d7caBh$P5K}C//(H!Yn ~gOlmmuveo;]."59qcݕ U]!3 j?Of܈_⤼p$)Z: j]Pp~} [|(K6!Jkn Ms]jrxM:Vr&_V=&z[`3yWpw ék-xKZGEa F_M=Jv9ˡ.?LgG.BrlZٱ9G#eI4*R,5aU,z%&Z!n :=pRsmE1peּ4I4Fu"GWk=gu4bh2`u1Z+BRP-~ o/ j`#Defs~8<e OpD&!>U5F箒6 /g2UҚˀRzur&uIaʩr>4Hxsl^r 6m Z|b+0q p@NUg|6~e@չ=qxRF]!ck6$o"]Ɖ&#<<1ds=vZc_9n u8eNf2i +f,r IQ5RJĞ_ppφueC6ip0vsS5VPg2$w5[_"%eizKw[y.ćDaNfY˒$V`0(C[;=wfZ@-bPsr5)IfG4TCH{t:&fG嗬ZqDRu-=$;tGLgz`Ǫ yۥw|::Jqݡ_@ƿ4u_YѼ xxuvWƒ?wBjPSeM-AÌ]EҦD7clVq_VHȜ_sqP#_:l:.YhX}{%(Jo2UD{ g" H6x0c fGm$~DX K޻j 7*:ѥp0J]4q9~8ix18d!4<.AM=S&@dYF7\ժr 0ep$ʉ={s # }|&wIn'YRדChʖ~@s9zFΆ8I2-MvEǿIT6U8`+Ԯ{ bb6eVԇ?oq;RDT\#`g)rBŒu?u0@vm#pظ]yv@f~t(BϥO LA"$ˬuϷʚMG$Nj#E!'B\شÚCj~QSؔo/I8z + ӧt"j`BVw|r38$36-KP-w7e0GU) y-:g~EVMgah)b^[ Sɤw@mݷfF!tΪ6;U)=, ֺ)S)*sh'/;kH Al]paݾ@s2:`\WHnRեrZbM~'& 4Fns%6vq]jFBΟ>;/ػd>KVP/k=::czxMJ ^ۯmODs/r#"P+9Rgݫ$jƄCJ 5gp؊oV.ZQڢ9%}\9Ӻy i aWZ&!vN Y7D'£9&>^OR+yېJe}/'VdFG"h(c+Wh؎<|k9c(?X2Fn\aOo%~Ȯ<3^ϥro؁o]̍o7FgnӚEF(,6`oܑ˃|ڄjȌ B=CubeDt7 Č]_=0߀\_޺#? 3>N5UTh+ ɿ╘NiAX#&kWN;ܼSQ .#%.D/F(%MyAaY OE5毃E-a2(Y&_Y[bS7Hg("$EH h.UlUp/3Z-M@s\~d4&;Ȓ|gT>#)[,)"+s$`N\Uw$(q|ebXqBjZ<*ř#ݥnP+, "#ǡy]u 8 ݹ7=mVA|#h[h!^cV/g;Z"ZsO P@TwQjufq/UDE3!^b(O2*\D_C ߥ ա Fo64~]IT`o.Tǯ::|$M"l!O* jF"CEs?*[9@3ow9`EVO .޲l?9@Uz5 Wɝ=@ l\ChgR[zoO(P(%RTk cབPFZ;1*քx"vzqFB7y- l_Ąz/{=66ZFD?OHnx%>ƱtoXJD́hKG./i4:ǥO(и-IONHmsObzvl[RB߭a%mKR5Naؙ<1K?9ͻ UC:h[1kIEs[D 0 ⢿TlE\Yyڿbz2|78qWp U3y:koLv?1>4 Lu$Ié ~~7ϥNPjYjkwz85Z4_«=Oe-'\H͵M,3\d'V*C@֠>jp7ƪx绶ikbuDY;rJ#,Jp?y5j YlQ s_!zW.kocMLnKg҉|a[^PR}}kfv/q; ntDa”CW`^ -Pڴ/ɟh苊yV@_ j}S{CuNMf!݌MkTpi';.#Ow<4.`(w_aշXx;D*Ou`@w؂Eɯ@2O 1e%v0\}:1CRHOf`B(7'RBg"zcϗ,c(ha2^ =/Y.⮆ZB_֞ ?<DAP2HPMd">}z@w㩝ɭi# nD22s8(H H`̔߁cgbf6)MT:yh!}k(ҍ{LūwDyDmYO_\$*ExHzlEFm~8[4.֞y4F%:EK= كL17J,=5RU1) RjR1r$ \;%>_@)j8@MVHi4^,IJ 1lޙtA ]Pz%&?|jhw3 !Lv oۃO<՟3ܧƀg(/e)_VZa+A3Yu?aR GH}Qvit۽i%/F]UA';7/3bKbh<)ÖFa(/Izo|IaU7ip#ח뢘v)B\߇ϝ@1 G"K-G OiM'c` %d7UNcj@|DpX8|!f'5OS7g5裂#jO#>kt]iY̒a"ledJi b"버יqzm=]{g1l(̯V݉ASdx\~3YqG0Hh$Miۭz?qM`|fN=[4U8, $6<Qrgnɧxn&zSgܲk\w)ONu!OJ$u}- ׬"V5]G"I,@ R^e4?LP6Ij?`\M>k楂c6h~cNtsԧ\BH\>v9BUf7oo$ %!jKJUFXp0C)v "YɢO׽JQPxZ}Ec6Fb'i0+m4әzdu_T]:dr.]*jUH~oAG'u:r'| bpyk \=-nRjnEXC#Weu2%σV?wzF]8 Bsqˁg2 Ouyʟh. 5 W?py#2<1',P <0NCiSfž7ST$q2ieBbs:ς)(7Y\&x: rK26ʷ<'hǿWC;? պKmt0)\W]y@vJDtc} &8wYjX6#젹E(D ;`YΗ^,R:kW hLEp$pYhv9Z 6j v;Bݠq(×6:wH^naKJP@`!Kk Fn N jr͎ҁ"֞PSC=">gb0z˽ޝ2/g>ŷ$.qFq<é>_"x$U  czw!ȸK䲏)tbo=ƍ #Pf|NZrtFUē $Q$u Ey6`굅˱X/X@wi|5@~-"i/:a|>2P}A$p$f; lu?u𥙐լ{3NLeuT2HF^n#@7|g!G;qiuWQ'^+WefĖx7@F{eĜi'ǚN1gL1g;7 jk+c?ŏFCv6 N)(Ib%}XPDFDe]D}u>EWSAWgt!"ѣ*3݋m $rb+(%&;?:"n6fS5vqhY(P^c2G ?ǟ g Az&p )̟lh 'q=Ԉ/!uŦXEOGPjZ>~PΨw@tg&pTNjΕҳiweZ4-0/|H|[(3QF4}z`'~/xro -+AS*ǽad@_UQOFD#{Z{έN{؇8?4xQ wrۏg2=}oV˶Tqϙ.-t m)3 "D]K6Ȳ=g~(Yk} .{IS}#uw-K!(cVBf0R9y-IMIa З ̲r`G@9-:Z *+-ع8OˀBǠS]ޠ, OKX.O+{,ϱsKd=#Q0K?> sCBb ?2mRc.V p#"NKO9 #3O@[:ϜL[ƹO$)_O N;? 6}.K,ؑl=G]dp:f`pP Ҹʗ,mT@vǩx\ciTgxQ p8'݅ لj>+2:,x[@;(>ASI#$=+Az̹j{vl_bꡞ>>1 RKWmXK^vg=ǧv\6Y o[b!,i0=(f7VIvc#bY8'pĮsC,:NˣhCT]iאUGvNo=`y:K ,ݠK2Ɇռpxk4JRZ[o/@Vu>81FMfKp,A, G.*$*O8Yv m-][1sjZ] z|?MfǼ9N}Ns5ћx"61%[Q.10<6}J1ܷ˄mu]B3"%`i{EE#k&KbxIg}ێM:D\~p4 FN[.-[:$/H|m5~^!g)O~AL>=ġGZLt mp0f B/xş2, &&Ai RLh$]-Bx,ṣ _Bi܉4&;c`bCH$g5rw̢MH}2~jdm&aTإ]vVAtWTtIt-w.W*ԋ jy' DD~j \+`m(<"k] F1U١c/YG \(%ַ BXJM0ύn=tA -D_ Qg>C )LyEj`"(ҤaEfw !&iBe*P^|njr+,.i S]oΖ]tG4E79Y-l5UqIG[fl^u_(趿j73A|sApg=bNW*m tmfY%s]HAzJ}  쫖X++S X"IfT ~,,O3GQ|=圚qX61\7+nN&+ŀR }{31t44OP;W#Zw_^r'&FvT[4@#顛 &xᾯy6<=#eY-3zzgJ|#<`H}eݳR0 *۫&U H; *eGaoə=Q)7e9+4gLaJ _sBq`&IpڄO iRe]ؾUs|J (}o&($WFq&qo(|k%PGIs,=teMe1_`:ȶnlٜDG3/'4֡&=u4XuXu|j #[,g~7L80({)J !o.}˚2|X ep{) V`-O/aeaQ(@ .T..r9כ ::I+Sx9ٷ61{-\P߃!h^ܨ4>d> l9ͷ=T ,$ Bs)L+\ $Ʀз= {FA޴CdŅ5M1"&orƅwSJ]HDCȞ'6k~[p"跲q+*&Zhn։ ʛ$Lut+f@- rdt Q݁Wgf, \AH(q>uj`lSVѶ*4C(4c5Klsl|kLKPCg}r@1o/N< w)3PV FX"ip1u:]IO߼'tW ?|ltgI6X)m]Mf篣`3bͭ\{W#Gy?þH>ZxBi"a U0@Z`웁R7^v{$D 'm 7jtCųI |;伕9E$e=Z!fg.8 cdNHiߕhYYvxv ܒq `}ߪJ:xEt9l5s;ɂ@ 9'+I#Z6 U B'r4~{j9Bq)k HMET%K]0Nv5A6d],[zYZPhs7Q|!t+bD6YzNh+-#9~\^% JvzR렮Z3Vc !ڛ]hŗ争p8hr" w_.׈>M¤"4^$KDgc'4* u1p'i)֯ulлg55!G1x@z/#mWX lO$vTJ`'f6RԨG}vWBM#t2[c"˄ "-f=tq4swb)]$Ȍ-.pV%)d1D,&O})5 oONg!r/:t: OCPims7-Qt?a h3f_2xX/ C Ѕm?1z:&)ޒWRN0?J: 7nfOyBi^_"0Rsnkv-'gAsn4`pw5%kQZ* ;/ouҔ{}$V:N]W5R'lXcE(* mX yhSПmXy}Dҹ }M$-s-|zgo˽ eְ˛\I^sɅB6uJV(Q$DlP{Su0Bt]NHB>esA MDKZUyq׹dSbiSw3(\Jrz`y!!{㊟"ME}%b2:k20RrRY(0A[5k}'q^tPc(dB:ƗMp#ޗv|鱖|Nړ|Phcq7K9ĴH 8 o%OO'ƎS kىKc؆~ &X_Pհ b3$l)^Zz%o"zay(D, p+{Z 5Nn+NCX|a+ǎ8C8Z03}[rɱ%7lH\F5v`ާ~-*6@*"$j8+kCqbF%C5NMR2הÓ;L 43hdX& q+f`lX3bB6U7*s=m88']9e@\K}H~#,;|?zhO;} [(`rC!-mp";p9:31n p4BRF}?<.Rݸy)I"A\C/ɪjTh{+$f^G{1毈 F+ҭuT]%?vV̍/8\$,g P>u`]1Xs%؉^U`y#Cs׳ :yD16CyVK7Z`h v +r([ IV'y3r`\z:HDb7\m@vҸ9 H.Af}zωE`"SUJ=-NaO.F;I`KqA?xOEяHZ18p, ciIf¼dAPgGWYq7|$H~P)fVvxR (}^xpbDLvr&};DCdT9HrTd˭0!,qfȖ 0[ +|&jG}l+ClYlHk KA(`e6FqPAx0\fg,(ܒս@:D"!Osӄo {zd;8!Š|x 2]e"FV]]"TI|`OY/9o&R|D4 ,]o冇Yz+ |r =+H' fjq]LD?7 A1k'4@PK_d^T0! UlT.VҀUbB\,M+̉xK=|?ugr t5N-tײF>S+wƞ.' iu헍AfY[^rވM>>!<<W"(MO-(2yN߾H\[DydPʈk"Gw#"d6nnOF^;ORŎƜC 7> -S}k5?wVgTLI%6?..L`,>?Q` L?1|ĉ\Z/ȩZE /ws4IbMKK4˾1S}dIV ѱ  z  5Iy#,49,@mHr} Z:U_ ,TO'Ín=؎]"C'\HSgRF<S)xwB6ɮeN-J91p9Y=z`nfwדC@B{žxqZƊEN16.o#1jGĶGM|͞5~9mqhctYݯª td#juR KRG܈<ޗ,hE#k9g ߅HnUlIx&Nv^+#zo۾>b _emB*3jL|HG= I jgQ QR5I`;Mڜ5TUhZQp-Z^SBlz\kw&=N,6/Umrp +g7M,NIly6gYJ Ly?FVh# 'lSsRѣᜒ_A5;}a;Alt=]?JkApoN H9@pTOZ//1 fٳYGHzHi#8z=gh7W+>K$ixgg1$!gMO|H)PhAx-?nO2h5X-KU#Ya5&{ΩaQ\{}] <څn8~?QcIqӘ4 9!an4UA-Ic ]Kv4Vyw ?s𛎛%ZnM5פbQT8~#%%0v}1p8ۗtp:q>KX_]~nV] +[ɰ?P a*Hj[~k3%؈ªsm nϦ8⼺Lٞ:%u[9:}\[#fzav c0O0<宪':Iu69A"ѩ7 {O鮆 oiŲ"`gK(ON)f듲`p &LX:Rg(QDȘcbWl~5MIvfwyj)-M#0l ,-H3RJpenItZ | n`SLfFꅐazw Z0-{d -PCt1a<``-8mz.cCH/&yd]KXPf"J5uC}!br@֮LoBVpԓt.e{2Eh&,9vv=H[3]\.J0җ0FNb9ȎDgiC.yU |&Q[JbYټ)@M#Iȣim2Kz#?4fg(HGѿ! Iul%MC)'rpmU2з/z"&YkqM`Qݭb {)] zV[x{=spO)̢ ܑڣ//]FŘ$ARZS,]99+%cFچ.yK5ƶnb_ -́Jz;<ѕ`$K+>Q=E3P}P8]puoT[WWE#e;?$cVDp3[9j:J$W8Z|p걵`sRMf ]Ot0T @E:u[Qb>_YxRkWޞKcA~*$ߞ`HaQ}3ˢsYŽ81Ǔ*u*o+䈝Sqb.7/l(rG'-zû} `55K!md#:?$xV/o7y&c?9SCx i+]wYW]u~Ma&@ %6TF{ۧpZ~s9в/zVm(P"OyG5uKc)YIegk-kM)nHKyiiaM)TMDe~E&à(<|O Zpvz:U Zo2+Yr" RF-;WWEȫu@fɸPF\ L}o&2?=K'.bdf-NpȀQ?('TW1 | tؓ|K}jTya遇RXdF8KﲌzR*~lvw yHA([z_3*sH/)*zC&VBG,9.גdphl,| =px5Zk9 M{V G@1; CF%J[\vYCpIQ5jKojy=?Գ4_y0rmEHvN}}-;1M[MW%H9}~wVx8𒖨9[XMaWH#PM7*[SxB7pM=GЁ轉B{"3r4/c*] ;T9Ot|YCtSҤW'\ $in`W82@B?Q3_25B\ ̝r>78ʷ1C[ir,ZiI%%-qP m+rau@s(* "ī\B֮t0\3sm`&uzC![&7uQx3$Rbfe+h/L˞ј.AA; oTJ*f6ss؈=)-i Wgi~,\Nv&5m. 1HFFGRI"(c$7HoҒuTstJK-EߝzGC_n # eE |DhRlG?>U/OMŘY%gq>"J{?u@tV.oq9<R8<0E %rTuI$}ǺΣ=OVdA- b|8l sFB9fq}o[p +V7,:3 {k t.Kuʐh?>;ڄ>}sŮm^5п:!ԇk+?TS:b=^[5"|Ǯ[8Fk}t:*7 H} *XK;]\lnDoׯ ]鎢rI$Tty/J3.Lf  㤈I$׬'i+Ai% # ڤ! *ɷuw?:U>noUΫݫm]cL{>|~mžYsn]SIP yD; 5h4u1[" y8$?].2U\xv CIz#YNOm$qscľ7-Z1];hEro{}M$cG:MR-J#˅-K%ߤ_[j=ف-hJ7ޅ΂c4aM*I HV1M@ԥ&vo^UV_~,="[ypLzT z_w*#h {pD.e.}8I rpnBVV":\-*"2Osxx82<'k_GDR7.#t%:K71$S4%tQ) 'c0@[藚%)nfz"jemXW9hQ 7/;㽙 Sb&5~Cu|Fӏj9f[zc?ɖߙ/ @Ҏr>JFtB֏+rV$Lpqؑ\ bJGyQ99$9q[16uz"5k_ ^-Z[Tq`9Ȧ#楟GaQYAgHϮڂ.?T?0huh OmE$A?MiWLסzέyze6<~_+ X߰jo2A[_kE{ (nqcS(Y=3йoa&oB`0puFH<:?W=GPV:/!EqyB f!Ĉy|VjuI}E ǐpw Q>h#Z?$ \MDdpB4CigdLC uj93Klf1JƹX\* ;;27jV/cdQMH_ʚ}ND+0U'rň#)1L< Bu.bRX"tst &{A#{c6T@ `:KcG[aN}ȇ:uˆɠ-R\dY<:9D'.RI*?8wR rE4Ȁb0}`u#_Xx) `]| zL~N}2^hHG߆hB|_d)9SȁbiVGV2-6 []DZI}7 5eyTxN$7Ze՜f@1PQ&Cf 4lw ''$Gjc{شC.27aV ![Yz`~ע% S]Uwpؒ>d9F0{ǍOSy9{cMEIIՇ m2mb>EDĖc:eUW*d Vh.r,e#ܪ I~<8xDV])L>\r. l4LOPkhO$!R:$9wD<9{'wSvD5. Jxy6'f^omSe2g骤R6jKMYKڻ?lR)S7Z>Ref2uRT1|a5Om] P 0I(A"66,ባaկH]> *o flyh%z+â%%@Y7k(GA)ڞ zLl>pTiwj{; 9@"$Cź8SrKTt*+ytsW5X.ӗ$g?^n["ux&-.$$AD+F>DdU[:nj'StA\O蓊ǛcmO ?#/ip*H2j(LHru/-VE"ךS\C.\I. OtN./zXysx͒ȿ״e65QV:R@V"k^a|zvUaokm@^"9'c[? #_o7*{WJ [ֻv~ G{v5J9'^m`4'5 ugg^<( JEK'lj"q7E_IW6L^׬biv lV9a%,N7RP8pi |e$5fTBF7+Wk7DnNCgШ |H q K!у[.73`~JۇUkK9t&e7/]HjY:)FNy@a鋐w l!5UFfмdVx-HpXcO <^#ƻ%(O4:I(9FI0H2ē sV[i&Lsȷ21Lb7LH 64/FR`x=P84Uܯ8T=O|NK(ǎf)d ;i'(u0 E7 uLmT`TCX䜛} KF1&SmYC`3@Z}1I=gbl:?x6ð}ٔ]6CIE۔~Ͻ蠼+xEܼɏ. Pp|h{- ܉N3$[V@?2/ x@p ΁, DGVB{gBR҈7w3#e0Է%D3W.0K >4˓NuZ(MOx4Uß* pn|ƪ݆q HbXyqqLQҰ CĬzs>&y*$x-46Td~w~zu-X7_`8A6POJCfp': CS Գʪp*R}8Lwb~ 2B2|-ӡRVE#y/襭Vv5Hj=[t!Q";F~1<婏oEeSc&aUTbźeRv le풺: p4$- x-M'T7hDf%7>q+_39KȦSò{v gJoo\)wxJRPġKޕys= C<潷񩪻NzPAaX@ټC@^Dv(z]zaEw 4%+H I&syīq~fT4oU^D!o+S#a"(YaBB-H87Dl.9H45е|mM 9!$Agv-x Y~n]{&Cbv% }hHa|7EgRvP nE8y L@u q|\"Nluۄ\]ws-8:9쟊W!*mG(lNlHϽjOEpHeCKDv6G&,iB'nj4U"~?b%~Es[,j恵ERĨ]8`u7ȅin]UܰZ$^+Դ%.b+(=HA7K5ߗK"khC\Cg_/Kw'JMؑsper*q<\&Φ : f{fH%!x"W𣆉A[M)WmW-unub؅MӾHul/D_HBqН_YkyiLS͇H%t<UR'U JpYe.0IeT{S.} ) sp;QҁZ"-|%Ll O&6 \.'WC .S߉vӳfSw3:>L#R{3vè޹ȓ`!HDaJ1V^HQ/D6wE*T'#&`k]ۿcr[^ΚuzYzBe!*JYCu뚙Ih9Xhie6%#lȞe4 ,%:gnWJ)iPNPY'fGd6%  #66D UQ/u2Z4]2ە*݃qW\\me?H+H]([>y~8Y g5}׬$G^E% [E'.uP=B鸻ݴ(Qt;؝1xϕx3ExAhWu'9=}k)mr5OqoHsWyW@-R 쀎H 5BonO\ڃzTSoAo.'- me{<O?C`KCsMHM?R8:M:*uG ROX)4vF:䖓=#SgO%tRk`p hilmI8X%ǃtɔ/44ʊȔTh}"!ҭءX N@Sj t>&_?S;`p^wtYѫ@]Ű[)V/,q`ܱ,7C~:\Q=wakBYVNRG؏{t ^ac8k6H}S<քk>PcJhlbXZR0P,UUpCE'GWh {"n i@طͶzh`URCom39= GI0Q[PV$]3_K@z8H3Z͓ dtoe+1t]Q5Li82X y]c!mɢ]nћ+qT!jAc!:ZGCw;֦x;{BŤkI*k \E X qo 47pɀ=Dt[}s'Z^bz:J*,Sl,J_ -"ɒ-,GA4\(j6L|ԻPߡXS?6~_$5 RRhOQ.c.?vν_):&3Lu,ղBk pr|W­5E+ HO R\ox0mp4.w}kl8k=8ㅫN(-QtS߬%lG=='22YԎRk-^>,tM&3pʺ4닇 -%&& vtn@ٯ-t-$h8qvU|3uVT,(H^61 sZYr s}A+ugx9JO="]y!)ZQ.I2{P2HRqSPR`F;Y/H{H}H;ў'#ei4b\wˡcbBj8]Y dK}u`CMVlo)b]HqjcaҵP`G|3[mZW X5^0eɬ-{ Aw*|Sn+*$;BLL^SH;Ⱦ@Fh`dαf,9x cHpd3cEy!CR3l,d)2>u'DK9  ,g 3-=qI2)?w $6@ ɷ43ڰ x 'ijs$~2He1ХrSF |981-^JZr'ޠ-bfɟKr2/;vS{BB&Ǡ-R8Ң9 ^!f-PO$s@'1L&=Nb[D^<覛IOWUc;.^`9oŠHZN-6d)x;_Cx,q1oP:0TjZ=W(‹\B^_mÊwx' vc6\ K* ,fpkֳ/4zJ2 *hT<_m*u|ٙa<wӔJ*b&~ 9.T d xOiWa4:S6q_,UL /`[nRٶI\$i5,, O5:VօJ> ުںd7ȠXdڑ9ͬA.Ih: m p1 D]RĶTT.D6wdˎ``Nb C*>cH&]O"gyj[["*7uq/?^LR 'aC-ۭ8EiqNa.']^4R_GjC-,;*bll53/'jSA+҉^Q}s RوI f7C5?%? "˗^i%kI͌ 9p~U<\1Ӥ̷8݁v =̵ɟJ%ePƯ:~߮hCئMa"MRGqK/:33Z*[ŮvfҵNg+YRmba3032 KH>D\eBf&/2GG-vS[ )oَm;/?!rowuRV(wRL;i VBl@~پz?x.EDݕN̑+]R^s:j)O6Uz ㅄ5[>L"k k OK KFf  &,Q{Y98Tj?ꅅ'y~W"h",#Pc[([NeƄa(`*,Ɩ:W&p D1b^0K"P$ +F0*j*<C @ 6('E!/0 pyNJI$gw|&f'l8(ٮd ZXnYљS AuGH{?(..v08D̩rPndpS]X9躢H23scJPM(w?.DGxį g[w@0䒚MUnYHLR'y7o-ULy_O=Ȝ7h˱0}7j*͐Wlad:Ý  ?-kpz;E}!Ж6[Ȱ/ye.Lpĉ]0Y,2O ei$ɳh0tPDQ%!F0G#0||0dн u n'|1X?J {(ÙjXࣅ'5 K}t*H 7ts/Zr ߪPC qGw`dhg Jsxg:H6E!4"GVKISwjsP]2g?D"lcI_A9Z:kuo4 Ɠ=\R =۳do?_qCRT9:<ӪNX0H,t> tʇIVV̕IS@ tOmsH٢ITyغD'Y:M [G-@ntub=Uܑ(A|x)M.%{! mepT["r)q9TA~L}ǑMFLRh!PIqBCɇLCѓLDTơa MM o<ƎJ$bqm(sZf e3ͥɴ %d^6Bk!z$ъo1엏n)b%hT(* Jѵõ rv#]"4-I @,1ʷ% r;0n72[K [t-yc~T[4Rj&j8cG%ˁ9C5dո8`߰\_&/3hQ6YE G"elNɆOkn6OG7\K Fz.wy PF ڡ~-\d ZkKZEeh&M?&TnvI$bfx: O-ui]hur0D-kN̨A~;>e`e2Ur'Q}sI5ۘ%;כ*{PSy$&;>mZWQAvJ)swQm /=8`΀y1q lofn~A5Te, Ο_/=_=Ƞ!׹ wdȘq"C\ ha2Wj&T1| iNK,o$CBY>׹@=ݛtt m`RZvCP+k8)KA%'CN\`ijf BWHz3 wHG#uj o#dcx.*,TǞV y|&mx3#q\4;zEjM[t*&1&iqcAMJr ʟǺ>흸aٔH-4KNm3-T ˖6c#_&faf TdAT.5h -^^bӕKKP 3J{ `q} }\GcZPzS!HE-5Yz14Ou38oƗ_|DAO}6W1I4jw]_LCnkI>w|6GE_NcŎG!0YqA51: QE&^Q+{?f yޘSO#>;Ealo+lM-aAZ0uhw,_WqW\{ymYr9TS ԵE,/eP6~05iLb{<ഗhw֧TG *]}]O;tnSF/]ps/dM;CobP!3]׷YazZA\.u g%: Q7>'|HI)}-Bȑ+9+Z:sk8n[dЂ*ta5q[hz%BD?gRewzJ]f[P#؁$ڬ$w`~f4vQg)*dqlYyI.p)àF89X& YhMxXKҍ]S;+zSVTׁal k/k8I]S h1#5%.;":=4gF>fϙ"ܶ:q c[]wp;u;t{ :ceͤ"En!<]Ҵm8kَbH V[v*oz:"~1Xq|e(+{̈́u{.Z{qVGBQVG"{I#V#҆o+!ғ? ^RQ43 pM9zyNbQ=R,5;ڿ$^"!?6 Fh7,lji۩TCuo {-4r䚱c$|(QF~>O)*bqǿzیLunHJvf[eDxc=@uuz秭An$y@E\ybVH5 as}cs 0 M$ 8 whg}$vov6%’'ı 9:tK^3KL.ZS1f< hȳ誊ps~̪YJ3je9iqkRBS?;Չ14a\OIWLDJJ0Arf'/VxNNS0yu9/EOPBj|>+dۓEF축P\A@spcb|8Y%<ju{io$3OF/y/䥭TdUd] ~]v0^\S*wg2t A,Ri\[!q2#oR0 ~1@q[ TknSZ:?|Ѽk7fUlO`y~>E'Q;^Fµ,ٟsoJ#A_O\jaXQl8̳ݴ&-o܋¤^C$iN 2Z$66+#ǪKNP^juHB湃 zV|!>KTX "HepaH(J%?hԷYfb/`<e"(UrvAhwV6/# rR*g o`Խ(ww9 S=(iSЃ)>}f*.L`+imx<&|2QWW#n-VS1en4c~*K$g_ q'x9f1_b?y.NHn#3O f.n>>>!γ{3sn9Iebr$P,ێ>|+m S(QoG` h ԡ<,{~ R3yÝ#>ey eB!Ft_~- 5 |_m܎" F b,$_#_w|yヤ9x:%f>{ky= P%KVNAC{Cr ly;֥#aXPW'mnO1ia}dj J">w(JlHhI3a*i޿YeSKo ??2M:" Ef01YaKُУ=Ռ$aM$Zr!d# f0Dݧ (0Y8ciOKؠ zII}vqd $3*G_@ː1W#_} d#Yjeϲ<4ƇzpJGOf( O5H.ڐtb~\%g]UFEύsjD-Y\LW~Pt-yL1_/goEtfͬ^ V ֣NXծp:cg&(q΍1UH70Sf'WOI{Gj`Є޴ԠEvdlI Oo.ȠMfY7.4%/!+24$F G\\shN9{=2bja`kxa& }g(k. tOGJ#Pt,(Z U!*,$*_ŠnռM a2za%dCj-XM"I\bL5FMÎu~D+oϗ4װa%~{ޯ]*8T)J4>hzc dΒ||ReD&ʕ!؛| %J JrǹfLonp9j4_c ~AU2J7.'(N^M*\)-6E2rפXMtҒ|il]ډ&0uM2:xbU1H~Ӱ'X AuX;}#V.?!HtJF)mRCyQ/YƉ{-uQhLc%F7 cN'fFmxmז+ydQ= sÏ|%~Me])7v%+diܡcРDjBLmvGgDÙGit%~Q)sҘ[D5f)Ϲ#H ,<,NޫAO!k kTm|Խ?XJvgTA-3#TOy[\0X(1h.iAD&^ۯx哌GE#!^V=3/B@u1T3﷦jMW,˓X@7ݎ mMgIuo;+> BPEp=5^il1K1xBuȘل;* [0{P)7 mD mgpOT0bd{UBht430|@}Sd9@_!3Le1jjbE1G{h\,N+\Z;/r nǻgOZVHyL\5$jyzglgu4.hfeCu:Su)htʮp`Gkpx,U Q4צ$yror:p.m5$~ Kھq>5y 1Ӻ Y&hҌ@r? U)P%me' =;띬-Bw"'J~AR~;`f%GXпgǚU)(M-(u(=(EMRS2 P^4ғb@1=d5 o0<@EO#i{snvtd`R7^ݾSH*}-/jҬٗrpk:򦶴+R}m?>Rk,P5L"XK^k/ߎljѱqBwnzޔ]krj6? x\ ! 짇C}Ӈ4b*$Sܧ}Z2kfA?vSʚ=/ijFQ)76;tKн:y} 7.UGJ| z޿-*1#8l$hxc1&mDZN>C CMf) l[͋&*zmtr%)@ȧ11rA~yFf6M 0(AքVV2F!V=Ɗ~BZ{.n0߭h(CsjY[8~c<'}E9`2MbЪ}?3wu2J+l )=$N yG!=,ɡ櫮)ҜЕԣF6ntg4V@6”mB QArDAzE_Odwk6 T7a'*>TCVP  +ѻKƴ,'?Rﺓ3n>:T>i@3PFoH$Ch~sEWߥ]. 0B &OqQYpC`jDB|O8fmiMmĂ|JRL_;Mn17\k*!0WDʭj[[w^Y$Grͬg ePT5st sCxC3k@=$)3yB=[,]g0 f]ݢDYeA㫎Ϫʺ*KQT54U/c77T8%w{2Ȋ5!48pĤ@_sOX7a|JQ#RE'ϊ%^%yZy$yqR#o>Фc"\P BS/{iHPRK3/}gHwJPx 0[.NTD6Q^Osz ABY^9>[ab€)Z?~W¨_aͤ p850Xߙ[SbvPH37>Q;13-С] }pBۇ쏟E㓗] 5׵)XSi%ؑRzS("fL"-Լg쫨M ,Ljb- 5v{1{D|e3;xSQw"jc +cZTZj$%an(FFn+S@7IJvLww9 άg6EpsdS|ݮEu|f޿YwQ ø&]~ƙf~vN4[I~aF ~)eGBKH!˴+!>ļR+tܗW2BVXLyន64<K7]-߰}ݭlrno &a<Y@OH -PwH ]!Ė;x3îȴ- `"2? zܿii+[RADn;W|1Z2> ;{XSw Й=$paJIZDpZy2C*"R=|R@4>",a_𩿐|u.+0)('?hJ,)P+(Gnuؑdŝ{xd1%+V#EC3(ވR?9'/ً2Sh4LpV7  :Tա,(Dd}J#Km>T̸kԯ3eg`NTЎâ$L(( 2f+Q.؄bg>"5PF[n'` +\a@V39S·h"F6#OfAL{mbRMI՗|5\|vZ?:=فr`x܇ԯO]J|}]z0j84.3Μ F‎ⓩ̦ew0-}#m=r6)yZ=!?O :CxCwt`JqJyeh[5R{[ ͕}"ZG3 %LAEpxaZ0(kz 1J]ÙX 7qά,(Bo7J569X//ž\O6Y fA../Wb\XC߽e^~SB1>SLaAs&4ft_J n mZ4gב{"82":d/xc9-ٚbї-1D2NԴ:  Z" A 4~(NiJ yrW!-q)ǝib4 [%lk8ekwFKDasHvaqoZ?Ti[EW^7rtV!t+['Ҷ+5Wm +#rY20 Iޤ`Cg@R~nE/f%i=(n6&k`QlbCOu7L,v~F#;[ ?^_汉Lګ%=h  4*>|_G4dT}زŃ+ұsWy+.e2:=a?Z8J9̮ࣗ|EQ;ʈm sv4YfN /ڝE9@,dbԔHV-iD+1֦jw#;.N- -?+Ub(69sA 3l):94d9] Yvw %UQU9gʸe56g?4w$)Ƃ~@2&Ӭ^ƮTQhY r>0= Z)0{>m/MO ,ݻ'3W57`sBcڰ8nwW{*q2/ݐY-_=)6\0jQ,Sxd;DˁfU] 9,'ON<<&MT G2i)-Qn=Foga)ґSHYYvU{>L :y!kn*p;w] . c_OiH Ը-Zj ׅH}L =}O!0*|wπƭjg4I]~;4@,->mn.} R <ˁUsx*[f/Ec5Esf4Gܿ໐7ј)˵u{Y#6cD13iο21ן"2+|K7qZx଒`ȕ >vI|[PyHY8% Cܢ)E^z$QA)a4Y=L| :a2A%)IZDV]m+drih,t d,zw?xkj)7zcd &Bx7".m,Ol4ݨش[*ɠ4D􈶯Vn!"c ½n:'ړx!ߵYF_"]%4Ȉ3(l*.+Yild4waT2 9T7䷭z4?V!;~Vl1ړG煠Cyݙʕ@]!3r,#4L@۱lMlP ^ZwNnL%$^r: 8%LEq$d6hvېLAaF-8RT 0 %T?"&FNr'w\EMSPpRZfv@(Bu#~'Fb9 vk oTT٪> FK;'hB{_io7:^NQVtAsjڪdF,쓷bD}+I2bgA:x}"INi"s P"-Po`Û(y#TvLa'!"d)\ok6A uRHN|_P~q\si /Z|B>Eϐ>kuMs,PtGpQepKV0,]F.B I+m#F*sl7$B eiY0+|=k8KieÅ3-̕F9BA9rB[,sa1t" ֎FJ3i0JdJUX ݉FUُkU(]'N#bMhGyF&gzd+ZP Ɨ6K-m]ЖG&]u}K:t0Wϓvѧ8?I*!P*u`nZAA1kJE R0P|WFed}QI[GErѨ R*~4V $W8l)LK ݄}xL!-NT 7BEx0Qݞ痑yiz/u\ؔ*r}쎬:/MZ+Sg® @[ <)3v i*ZAs ؓ':rNt56?܊[q]v}kSDYU*ēi\Rx1;S {Mo c 5f/#<$gE~ t它zݾV^B~W}ZףT2pR\ :̭!+1@M <7u_].!yStm-v{ 6t7Z:!3{,Fy?M]J2) D*27x겦  9Lad!W+1@`y g* HK :̕wj-öNQ6 w?K~w?2." >qkW/K 8DK|5oJOݷs0.CLOC+j&Urn!&En-ԆƮ >Z}u`=)`  ^M9ꭶDC" `k,Čɕ 8/Jg=ӲjWhkf?F6g%a/Z2 P@&xCGffch]-AK`;|KU!oэwڙ3K='ǑN'aaۺ:UQ gtFASVZR^g#'xhwA>]J > :eY0 Lk@E,3iR_.<tG.pU+Ж@gK#tr#fk`#yǪ{HR.DOcr=:ɤݩx nPz`zG&زyr'8e12]^ l`sB"ӉF9rr͙cˣ>_''ULcVwtG1ˀW+,>ܧ܋^!j'{)n8Bqi7~T!O-YS%M 9?+k'gwƩd 2= D!㏠U4ѷJ3Kx/6^BiSz^ʙ +>˗rBOl363<;~:BSq7$ė3u:55$L6[>o=BwA/,(fdlj}D#ab^PJ'FTK]12%/Ir변¬Mb3𠉼֩՛._$>Z ōvub' &DhT&ż"Jj%1hSPDQ>vs^$` 1[26O1C 仪TpZEH/1h4R#Ck:_T" 8}ƫX$cL{q#|A!Ǔ:XѹlP07^yHCі(4”LӮ$Sk'uKJ@d =l8ub$GzA;nDbkC@HGN?h蚊B1*@eoRNk#&K1ϡ/5Txv拱RpY-5die~B[ qdӭ?6:ⴥA⁁]q[ds, cNS]J _NM* (bEFPΨ=rK-޵ =:Ӊ2c0^a _JG4QbдuP.bi>bq+tp(J˹ěܸьPv\y0?W<.R*||'qSZ7trhg0cEZxr9A#hoˏ|`P4(d٥EkccȠ i.$VܩP["o&FRA`˗[M.7  ~iaSv>ӊ j,6CnVg3O˚9߶υF':Ӯ;*j Sמ;JG9z@Axخm`˦9ܦ ]K@8s@N,4t,%@nu jC86>ԍrFʝ UߩK8Jo9iw["7(-eլW-Q2&n6܍,;ܘMiԏ Jn*^EO7y:'zg[FF/.xBb UCJE 3:F sΊEy%S\>,3/ 5v͏jFYД fUf@VW@0~?`U\99 8څPt8Ie]ٹA ²=!US/c~c+1O4ۑe6i50-|ҥ~hv2|O^_O^̠15Lx萢axdS,ݨNIV Ҷ,z@bRN`h_BKAK%ba..ʾ-MD","ZZxIQ@Q&GR 8 '˃jR'=eN[шSNOtYtT5wֿq } v.[^# cc@+4ᯁ^Out%"X\ ꘶ZG$$ !cl5=ba nw728#rlk:*2K.aߨ_Lm-afm>O`A0| ɶ?N뽴D5PĔCV!SSd/U*Y l0U}gmsg^ZA?_ #hxpxP'-b8lBMyy6-K]ZF,&ʣ?2LYQjS4x@2 pw㇚sBH~:|i IOfuTcz ~ &E'ɹ2 xw+'ʀYϻÖ~z0aW̃cfSVZ f=] `.Nuz~5'ofjP\8gyq/4MK:ABvQ8 !ȷ41ՉX.+2q/c}N :'#&`[o_ǝqs[΃JG ?)ΤF䓂eʫ 0(m1Hj(8DoQ2Inנ\I.!ˉ(eϷ<ҊHxXW qm;v9F1Q]PUJe>bd`k 00;v|& 8㪢Ay pjYXEVcGK}bv\HEvV+Z`ڊ& W9G;$`ױ. Mg#z 3e"-V6$@#li⏕vWS Y:4J*MJ*82=Dt PK?J.J7Bo %JT?͉`iT4rcqi:UpktwT_N$rM=clA.ã孡бڭj4ho7z9 >R,߄OS+S;SDPl$ 5xX6pdu oh準]5rt! f U-'Q%|]MH"M.Xi|\s4^(*}&D$@B-ϒ>P2CFķHOQ߮ a^Ojfd$^b#:8cP{^" ɥq2$MW\>l7Fe@c@߸> xk@4u BԵW.AЖXy1e< G qQа]bǟ2Njdy9YrxÚt_7νsfQk<[up*W^ >^6binS9>RNP&[ʧ<2sc%aX?R0ag ~!+G?׫Mb/ \TK3m  Z}ǯ]>QqKcE',^ 5x2 } ,~sSM9m:zIbkG17.}3j|tca ^q ISb[s |OA¸>ј-F͏ݵ'W ÿd6|}z%B#6{D΃'g_}O)+e<?8̷x? mX /}lw&F}I@dlؘI\ZףCF:"Fo&(K*]̧Cy=6;Ev`hRqAYW*_W)M.#(Jfo5'go{[͎}L igxC~f%KQČ9NMUwmR4ZdMݸF/SġH e?R^0VܧcxAJ [$6wMTUWJ/ۃ@8ܸ\çȪX"qG\.Yο@#))"⣴уRƭg[܍\ +A3I@0ísBk<7!'4j.rěҤW(&9.HM,$[^qV-VO'AGF3ZTscÉPvW\2|xf\2s0'Top;Ay!w7`AOsI*LRs8H ڛMtNq$eWɘk/K ]LVyS J XMO^xM͠]RbFH&W )hR 0R]a$SR Yꅮœ1N`1V&+ՋR5-saQ%tcO4Ikd[qڝJWW)77ܥWU":8l0AFin4O_Uh0Zldf9R%LEIZ}km8kƙ @'a,{ z<6\uꗔ5|Ew`k4/dZ,ߋs/3κUP9檺uA!q1} MAoOVP/X~,hy}]=r˫ *J2L^ .dVÍ hB˯/1̀6z"$/\(hXv 6B쌲Wf7JAMQp(ٞg 9gby\We*쎨/OxF%aҸ{ ĉ X:7#|rf[c6JQ7?Tdh/"7bu"=I]b,H+t JPc$3J=diM79:zEJDpBu!?U!rF{K[Wjt$4/'9k kqlV%P1&B<17ߎ[y<;nASO= g]cW?=K.Ab S@.DԚ q^\JNM7]Y(P֥u?zh0bλC)g~.o}-Y -9֎iYg2z`s?g)ˢ [W;(- #I[jXx bٸ2 Nr8mlleAau)ٌfFi' r kڦa0*k[~@]dȡ n3"6"wxd\vgJ(>@aOL҆Zqv]g^+ 2/{Q@&D3{Ew{ F1(,/_VDh(_C<ч_=zy9*Nǹ (vTN|Z5Xrɉ:$xhL>Բbu^ˮ&vp:@nw^-1z,4]~&L^S!QY䑒5C!d,iH^#h๿ 4 ҹon0$M˛6V3F#nج!S8=a^f`揜;Z "+ĽGN'xif`~9A!m7^bSD+R0F\gU\xF.&Q9$HG;s <ҥ2*ctw &ƲG|&[ 4΢K 8z M;\;,qR#%.|ɩ plO$rDv[LU/QRfW~VX*0򵮱%,Qn-yetͶ|1T<}QGLMY 9r(_D&E+0KXVc?W'k7?{GD M{Ly*?\P߅μgl&NɪVh$*YB?~/ȵDF3d{$MS6t<جb?&CCZ F 29LV%54N6%F  늿h@ø!4,$-m> v&|67] [R]7_ˍ9ƚ3PH0+yQO.t}ٿ 8ږ#$"=\ :n$m.>hK6C4S*2 S7h:՘IY4s9—<ڦ_n _z_+=4Qv6Rf远ơw8<՗*u?| I;0t߷ޭ{JyqtgO rVP疣_d#wQR8B\YC˽i4Ib|b.K'ÝN٦zh.DgH#U,ѕD!Fzk9zT;|5<]㐁j.)<څlxDTY`.zQL=88zXGFNإ\ SxJ^;.2YW H!QpdK'zo 4On͌'u>RWKՆwFSH7?{ iIr Rs` AZ5];LG{l_(gqUl~ѭjBW)o3G{@|ǔX]>1hVm+moR4Ѩ/(x qE@PoNnVazste|cB# $bi k4Үo7,3UDؙ/% 1&QHx 0۹ͥCru.:&9OS"#%|I?1ChM7!WY.>KBp_ (ld*LRraƀ;\$?q7Sir8E}d/wA 2 @5'~h9x]C6{0#Jz%<9b KtLuh5Z 08 "ˋp%X0pm6c!f7G[QOOM$+,O':J)nTRjD,d=aflky=՛}cn^KDr;C|VOBoT?3V~nO!E^yi5V^9רˇl\k \ޟmDN%;62䟄Cڙ4ɭڪ=3% nV,+lmUx4hbD( 'o#aŗbzE]JmElSDk-, ZNgʷNJ{7_ M3kN3qnDZӚ8Ʌm{"38S +ĩƫgR<_"k|n+ǿ*o 2ʯ86(Bq=!=zbږ' Pc@]S*&,g?c9)y@bԍ\?# JU@C8oCL[(S;UM 2Ў,ddZs[w+kJ~9II7z)_S3̄w)lJCg!b_i9p WoBOV.W<፬n`}d7`q 8Sb5D)ː h7@„͠j*: VPL*=( 뱶 O4ɤR=g_rQ9ؐG)\@as6B۸#KN ]62!./&CMC[(2Z{`:%u!Ty$0;7/H_# ~#j1 }17kKBB|:Zk<c/L)C$:䎋 ƾyLyk2"kHPәt7>7]nGϻia-Ym(p tE]Ҡ)"{85T#AW?2J~Je~1{[\,v5QUPwſJ@8mb:5n3kȈdv$|c&1HounϽK}aQr>D3[xN}x3]9`fa.`@ecs{ngN^\KDN+87DXaS %wv}>/ǂ2[I^a41J,[v}$]aXb(|g_9  Crua3$vDA37&Q$JcuiH}:mW@-fr(hT\?͜:9p)*N(۽d"^jd0F~Ss8M|)Kt*Q;+NuHO2\ kH'ʲ=H1b |dꄶǕ"y[F0z .I#ՓyhʴYZ,v^2!1}Nw8yyN |VP0h&uyYd!Ʋ2-L:V)tբpJ;ad&1!ba eeqI7?c!MR/7]~Q2̡y[YP.Lsl{:ג~V]x5lo17F`W辙w'.*_ៅس N#wҠCN4O/w/KyWf^Q95T]E嘆 2E0sխ-0rC?!V踢>7u|ej\ "oxkm /k#jHB*]PB0O C1G{Cd _z|mUK~Z 54EھН9ƿ}%>`c07޴khb<2>P:~pw$!WWbrGK M |ZɤWKy!f|9L W7%ta_A@2IVڹ-Ǡ d8 :|քUH6GbtnvW{5jaBBQI2>aDNH&k>JL@` CuKhV\XW~f{K}mGໞLd:TÒxB5e?Y>ɹeiAH3 uKУ=y |4]iiKAq\Q&hc%髭40+X}w-I@3*Ghv-PUs(<|yAr ^gM94oedn\DкU"ꭽ9\w!|J8 ~w??D,cOatބt z<żTb,UN犲he&v]gVH5 @Ϧ=WSD6=I]˙س%l غg[ `h3sO*E-䮢X?Tp kc̏Fr0P;uvF/VW5#tս9#.XƫUnOr֥$3xtinr9 [ A<)~ ʄ2=.\!6]1'kvOf [IjMlۙ7S<9lS+j6O_嬟4}8 xb#*Ey)1̉8hP 3J`XB(AϘ\'n?'3%O14؝㨤љ 26Dm !g2*YhQ)wW#G$Dq/i{Ҭ'ZRBTpٸЃBups4O'c}B0]ig=x6LM`uef5 zAr_-*S(|Së.NS˂)"r()V ꆐpI.5BъdLﵰVCy_))raz>{An( J.`ߴx]>pf/~3i\?~ z=In Fj88g\MJ,4l]28xwW /Ks!bRN;ͭ nYFp*q^p[7YdF٧)hv|R΍r<>,׊MPX x`񗊆!-m|-3b60G)8Qsl&$Sr* O{{Ƽǧŭrv+ND#ugFwm!0wlp([RU6 R UR© تBeȠ8yҊ5a_&ac # 42DG$n"׀L X*ig+种pScdw$i?e\.rN&c٤ƅO|d7b)iwHDOCtz[k#G3x!==ؼ%;h|1.#h !m$x7Ua\1M/q3GP"(UBzZvk_Og#6nݖBFEI}D+)mO)Cu$K=΄V#CC)VGK''HցzqY o3hݳ*ҷ#/Gz9ҁ:7 \"Gfv] W+?ĊȻ"#a)[K&VE9 IFR9܏3uo*HVqXCk : =`]kElr`s{;ȍ4K3!] %hM]ScBQmP ɡTr!Xje:?Ct]}DU4gSij IeP6 ӷTSil dJoToktt+pZ.B6}<~|F7(u=ҧAz+]|9t0,BhZvENkn <6/^\l"vI^X,?R+ATd5֐ PY2?uC! 0>9gBf0y[Ou([ LPt(tMW[QYf$nSif”c.uU@HEu'wJmDIiV&>^Hf%QUEB9HMS@LՆ4E?OUkՈN%#u!y?)yQobׅhEO\ qb7,2⪜J8hŇsf:HzZW#)ExdaTL=53(rZPgPѸ%v#X`H,09"^Jݻᤩ"'~ ['Rk43JNrq!\u>@~3 ,D4>N$L/#>E` X'b|`VDC{ǂ5!6MD]+) otǫuùD_&P;r.:vR$z~/3%ͩ4(fm 3; JFT6>}bxJ`Fn W9]m'k#sSuH#\E`ˀ!=qӕ& mDϙ1S־FILp\!9M]>+f%J 7,/] 0B%hZh7VI&\艪3=jҹnD |B#"%V q7e}Vm唫cboƱC1sVi6wTzYv;P͆DۏGcqe1dt\("BeR)*# 2>}GM&/X45q ZR=›>R >U>2ruvk p8@$Ay`j="z"+ hE%[lw:=fzF MV5wbG Nhz Tux]?y*NY:#a7*:C^™V;^Xʧ6= ͇X]|;CƶxlVcnhKڒ]IeG*x>` Ieg;BE lq5C*^A`?Sa%~+*l DfZ'Fk"UPwhkw [vߜ]#^ vfVz:݃MD4e|tb3t{ O~ɒ;`xWDzs(AMJUE92~_`&ž+ 쉸Џɑm4nۂ:ֲs]fKPu "1ENz6/囊:7QMیDXir§:Պ `~tfoM= 5"aՃDX.fV{;K@cK8w {؀-Rv!#n틹oeФ1S;e2} ΙFZZTb1rk8-%^ڱFq/r,YuVPwZw^xyp>L|Ntsb>XMs"=C-ya;Pb>k% Saa*z*/$|e bWUeb Zm \To.2AŰUbwv3+@xhg[ '@f1k {\ fk2e y/kJ~̍Ѐp71j %6?IQ sJ 6`v2 `| 'x E綾^#i~u8_݈cb$N "P|:·l _y=/Jciu'RP*C8qB ?O+o7a\ ;2[3Zw~akӡ<h(l1uel\ SP[+>է$ۯ&@Mo\*_49qI}%ˍΚ+ų?m;TY3 ?59$^Yy!.l 6 ܗY;)<(jQ2z6<}l⇡ miQHG3.Eh@θ-3Rehq{t 4@fN^TuUhsPO%Q9_6[?s ^$1'~PM?vt59[AKVG-G iLwI"ĔjOhaE7P뱱%ng5V0ɶn:6&sޕu_xvTU4ւCsMMdqk*kÿlP{r`-De010#bM lUz8FV1I|ۅWYG:kjΰ +)RkQ֋`D3imX9D,2ךy񚇦Sǫ bE)\wll>lA,|Zf汃b(lm"Y$L d1hVm il犻sۉ(Q1 G${pvܭ;h1e_Sjyŷop\o|hʮd ch7:RZTJxCj8iMpOO9 JWH*Ņ]N}tuTp 6qTq真mU׻wc/(EZA9]vk[JthD|T&ј3/mGr0vje- , J3+ubϙȵ[U ߊ}7)lӅn}GsWhm7]=ZԉLL !lU~K!t  HWAp=J缰#BwZgZ{u~%!;1.Ğx 'q'J1"C.47n1ktDYPF6R{:ǃ?|B׼3rǫ Mڬ^WS+] 5`wҬP;%P5O# 2C }X*Ǝ}CdiX <4z.U!hkPfLN.-nC(Y0ҦryG~=X;7W_a1* r7HqKJ161[kyy Y0 =!543*+G-lr?a@d&rd<%DIl-9V4Jݭ#Yoʪ^*C^n9 )L mPdhuol5E' 'j7T&Û?ZźG8a vw.j=I͚q~mDAKA%SMe0E\^G]_^HOHUG?&2 4=8*ދtrW,;")N,j>U@dmۮzEۋk"=$Pйr)4fo)Jƙ`)e`oT:pYCn@(&z<2sv)%/fSTL eRN泤~x>8M+#L0=OٺH?ZBs WpҾ`M'<ޓ05|?r(iؠ'w[(WFcJCVWEbm-oL5sTzbzp@cO~ː/avq [=Q{Xtg?'/4z$)T0 rp;iKgeT0j7գgtQ37< AsEm^, I@'D@GLq, %!t:B.,Ո!n|"q&變\B'~M1 +;I (r0f,t&cv{8׃rS%WITlοdo~9Ec˦;ckdO$ߡq}f*v'grйlC+[hx(qIZ3 XtNP8Geqw{X*ұ%#^yS#=t)='9ONlp3OH|hvSut$j݉TСT1 ZIrO,Ȁ049uhJu$KC<}q9ר=iۧcUM~_]e> 35] /)+ gOrx`xnlZy9qa(8l:V 4KRC U*;]'WawxK]7WH淿 $MA"N`rON܀hK12` ϱs!y&A#!i%:u0N腷Sfӯ7ae r*%f:4_/Yjʢƣϛ$z.9ønY |B%9tlQs6cVﰖYl>J@Q$}ܙm<4"KBZr|9|A}JQͯwxsLȅPPͨ]{wWTUG ;|ξq{6( 0Kل|&J_H L-m҂>K77׺0/*KJܫۦi?5a#X%r ;,H$@~¿h^))|A8?('{P!TdKb KOxdJ*E_22xJaKjN ]ܛ~4{Y=!o~ix LET1x3B6J5|IY+Qf Ԧbiv 'u M>̘y8 y~0JqT6קu~i|VaP쮂3~_ByU_/.ڞ8`KNg[m|z4 U~mut[) YǤPr) +ҕ_O1rө?"y?âJ<^j+E }4_Kcl;r/ !4$d)(eoΩV{յĬ@MvJO&oy0HAљqXCz+awޱڍULO~th׼N]K莫BWhVOVZc3kRүh9$KRDyz9ƶ^6dbUCWjRsT\K#"p[pR7НFJbYKHVq)>;eI?R1n &1BL3.{=z?gx\ϰy8"X4GEG*ɬe*f.G#Jgك & Tϼχ (#hTeo v AI9%sQ8оS6L ]" .P%DɖNX$U%G4O!P~tZOH ƴl8ZNP=z_dx 2Ŀ$GС ltɍ+<@A&E-;Z-?[_`'I8/trU-4 曏C1]fAR JG|<.#`M$Ġ3aA"w-b/ 7H5*Ow^|tE6M7V8ڴ7$yCkb|M4Jq83cdyQg2ʲ:#'݅>WƿE>{=ݔ#ZVe9K/mR4GL0GHB JK<=ut,-D~ wʠ?R q BAeOآ !O{$}kEЃs(c&\DG6b.d۰ɷ'  $B_'۴M^z)Vnav RV g\>W(a+9YuνTbL*)U3fVl2Ɩtfc GX}fJ'PiPB^|-ϫ]"eL;+0*Mq^. f%]ܺ/8m_߁0.Wɡʓb*lҳglnpux!|7x?y9{1nw. H1$@ԛOK]`DD҅hͰ*1>6()%BQ%2gpk=mrHn!"'mYp f7&Y#^4k.,s]*UR2X|H \r ,(n^ni7kGHI,hjj \ǵ(Obear=$aՕc7%/i0$Tf4F)ZoY9>GFy\ !ݪjA=-j;fI+؝(#ګ77U.R`7W"o @lk-QZx`J#tG{yg (Պq Dw\ssZDfMsi6Gdߖ~Nd;D]=bY7@,xx0K7hg^sCkM[XA"Lb,dUgP'6"S/ćHa9p Q;,ϳq.?= ]{oV ۛ@kH΢H48YRR'h@HHWxNQ^lr6q1ڼ8+ `N nv֔ D՚ ߔf UbdZ(Mmͦ23*o"밂-!r>~L'",]tlJ.fVې0&FX]NTR|o +E?h^PN(4u4/dfZ"o5ҟm驖m#&vMxƣǃd0)|}oƌx' H,K +5*L[L! "Ϭ ;IB3T5x;uTHއ"[~Q2O:*ncqq%p4`vw"#{Jp,)ߛ_&oD꫾zalt^tW`*@'Jpv dȜQCw:Kuo Q=x3%E37" 2*5mf*S@''ʾh&nSw8lt*[{>qZiE Dv9|rjv;~]P 9ɨ-ߙƩO I(Gv$yYBĒœ zXV [y|,r&-!NzUTGN,U%1D=5$poK]Bm:m խIב(EK=RBx\ J܇ @hF5,/X0U;)`1LaV$(NIn0:f95@+`@";[ҾGb9jaj< K*MF-b\q!#Ꜩi(8d^C^tIj}՚| O^,-VͭF689q}HN5Cijq+m+KۼJ^mGm 1ٕQ~Z\.\_#È@$zzm#w"nwٺ؅k9 |Лs];kvǏuzb. ),[x5J=K83΀:yM=D ;&vb)*Qn!sˍ;fzJ0O虹tLmxZ%S`^ڿ]ťx|W}:0"Jc=] 4l5Sm߹gzc[3`=D,c2-a܋q^8ѱ>s Pex8S:)f#cU/pq}YqY[\[o4v'DģQ<^|;[:Ѐ~/Vh; | Typ?-X $R!K*R=RojaĔ!Xƌ2LfޮA(U-ϲU]IN;n <"8eŠ-ɱb7>`석f㺇H"KbUaACպ=4N`C Å'H>tp 7ce2IcH^E#= 56m?38"@D{K6pƓ=YʷNPcdg>0IY563YM5@:2<;m} c-ڙH&$@5Pb`8I -#   ʼԱc)R~ S469:AX)|˹~YQ^Q`5cEV%~7}8GxX r꼬X(8@:ͥ])6PH3XGT^=<%'zfHų~6 [e'vp?iO)jW:@SQ|cQ͕TeGϰ&vf 3#bBRy@MPIWMX͗zE~kQ jn,l͟G6ko(ev2h){ڨGphu?)SEEdPC| cE>.0wCQ_v4~)93I6nIKI|m5.U#}Cļ?zao){,(tj% n{E^a?P'b1JwFl$d`z\i'kutޓqu`O(Zة\mC 9ˏdԶų-)35_JA˚Av0`T rl.ʮ|ٵ޻D\4JngbZJv`8aY 0E(S%0}ɸ~S, w7ӌsdIC̄ܝN LFP4& 4֒j>:'׳oÅ$.3Q;TDXKp'ڢM9\څXTNb[0-s c"ZF/ẺL5a ϹYe"if7Lj& `({W'̑듖,?&"5 ; aIV2ϙT Tv 4V3 f3nYEfAq{(l`ehuBj]RpTqt/AWuw}^kIÏo}Iy$D3Q!^ Sv ȱr]rh%Xj'oYT$ʁ'ynySg[i^HZ΂3X4)cWS-w}91 (#E3\U$4O(I#!d^eARM S ᩅ;8|> JO:n.hk;gs)3tjFq-،E[ $V?00%lµ@o XAF*!"|KG9Gx߰^ZnpA WUO΂Xb 9#)+s*t\!I4Kr)d"Kkf-C1`ڋ{Kڿ^E wu;AR8C<rT:D8>Яb?F.aa73=P(]Ь&+U| (͗![cS]<@߲`XsG7jۢ}s t~t 6ޛtN}^D&;rG"t_`6]]^@y9ыXȃJIFď [L_ŵTº+o)273zr(&.:]c"ߤu1 /GDd}UTm׳3О|us+Frc;Pq*oUMAl fmBB؅|ٰ~~pBOҋ%8$mzKS"ycN.S$B q2gDVa3'~w:lmFN& (B~!Sa]M. 5->ʗoTV=d/W8UE?pwVu͆ Nq5VVU^bd)uĦ(߭ȺǼ>puC*T'v|HZ\$G8Ӎaa5BϨ*W3z@s%[a:=Tէ *8ҡn#V[Y<[Q,DT+dG6;d9%6Ď~~&h62GXy*Zx!E-8Kyg1UD}E@¹o kjKLn,I!xA4^ ΡcQ] f22%b0:0c23oD\wVjj&KRg 0A`mXwќtm[Uy 0ޗHFVuk:@A>pb 0%CWtSHӰvhr;O8h38eĕfV|RaSsieBFٱ-Lɔλ[OLOv5)jg[(25NكKOwT! qJ&dOW\1@4"r8oj m,w)F_l?HȎzy,ӭ`:q!|{.b-kQ;;~=ogR\d!]qpu@7|(7>) 'TX/Mw،L˛V&SʗD߫LVJXhV{xW ^!!@?/q-M1EcxncUFžOBe |<S?;6-1Щ[SiCc@6T5X7+u-c,ȌGhL 2r[5 ̿gA.!!t!Z\lY;Bsiqm P&X]nB>;vDA:9]ϛKHC#^̩ s^l yݼ^vo~!J,56G-$ B}/Rkc02c )B h 0a4CMy]Ichvz oF׭4 ͺz?P ?: zp^ T kte-V_p!O[X `󳑑7Uyfcn|fD#@S=Da^-t%c[ޏn=qLJϸ'A=h8 ae cXA>G ٣lOӨƫծ6Olwi *%u_ 8So$eD{dngCMp=FC; n_{Dk+TYpp$bTT8m"6Oȅ.uy )za{)<`T99A6~Je>)<^ E*<s=[l#g`qmh /9-@T)zK?7uu+<쁙ߣz9aiYR#g5*mA5%koaR!O্hX,hJiʓ$왷9RO7Eyi%#~lLMAbʔHS%?sS[6T76"'5"䒓y ,z qv.b.G]$Wr1$SJFKk \Z@9Pˠ\ϕբldcR\y)҄ӥ920n*PLFT~xtedK|w5 wٜ(e>V ,b}MtNk~B+uГ(wXdЧ|EE?uyYZ7ի 0A\DDr&iGc# Dܿ=20\l=jSwħhVVVi+.\ .~]I5f^t&.QD_`i{xK<<^:\lWr3b=ߜy~vq>ȟ’/]eDJ?@&t.b# 5бb z&;꫸T6(uIwuBU#:Uy1qh* Ұ9 A@D% tIj*eY{; U:E0mp#ˌǃ!Xn~𨃰%&&ߒLTT/1{ͮnڦ.A| o_󃠇.Mm}`u VJ i^F1v% 7ͬg2eu{#¬bL?TdkFQD<>+I0Zad6\@ztSAwLBO(Q)ARanHT [=\aa_Kz C AlY!g0zhi|O?!j~W,ÅR: SSxOB2 #p]NL`o/3e2#U]*y@Ki+AG8tdmNF#t,x,n|b+اyvsO$jix9~=5vwS_'Vw^ }sI{b*㠹duO5]9eR\'UF3%TbɧL(YkWlQYFrykBrN[FEjն&6֋tu0K ]?K͍/pVִAe$b3\,,xwGhYQb郣|I:Bx~uغZdۮJ-v@C$#O-& )QNt e @3R˔ZZ V u6Ru0K6]7K(3NPlsl;jvќTs*$QI;*aq&W4 b/f%1NC'Yw}g*7y4Vsm:-^1fUv kL;w,m#r]\Oèe9oW[-pq33Fkû8H0ɕchh~ʨ; !=_zLv=W@y.zj\k*x^;l$ D]> X&寠~k\:j}^.c2:ߙo x7M|RER)Z*oQ7_{ k-P%,pV6;zf\eˆfql-k%F3 W4J1ÏyNK>};XTAk_ƜMoo75-I|9ߟHqz=ֱz5qImhI$Tg+fV'mܸ lJG?} k9Eje)**qziĤwU[r^15ʟk/DzU\/Eq6TBL!ڣ\=Svgɮn#N|+,?/!tg>UgݐFc[+(qA]|&oV dψ6 KOUDXoa^mlGފX36͔67>YKbo}BO.@ bS6ܚqYߓv!R3L/j48s# 3(ְ$md`(N;PDf6_˖GGЧ%ՏSl Dj:oB8luĠy8U+45dUP#mY_;hs…Ѣ֪o_ A+sM,ȴW_3pm6a_fLyPIXuTmДn,Gi~<73D%&& lCܩd,n{f:ofH<@$݂b)bT0!  e-N98 L)ɟC{qD=bv ?:-= Ի܀ :ځq&6]gC+%tUl*&-ږ)Н&CJuT8vfaOZ48r\{]#Ȑa?t 5EQC VIsx9Ͳ5-6#XyCe3)[(/+{짂e3{:lraan1`!H+> U0!>hҪR M-T̻y?l[=R![)3i[F_$'<v@@s-8\Pqo᧧b{ñ[Y89\#zlOF!pBֽt)s qMqjkH9R[Malt]d(㾎Gi,I&o *H+ 71$0 .3ͲTpxNҰo(';_A#"R/x!/rkt0UTƑMwf`5{G ucjЦ'cT&,q]e7@ۋǏ-p@@A]fu[߮G &B@ôTB`쀎< ox92RBO25?_dM_K"Hwf/Tv.Pe-q\>eFLN]Ǥ7z 5T4[.bWsaHaۧ'mN=8(S;_9"v+>Juw+AnMQREHHLh:eOhz(vPzlY)ৎah?,Ň U;(4=+xh`HI&?a{`.E{jE-q AУ1Ɵg%Li/?]Som9 5oʚ8P$'oĎJzr YG _>.*#/VU_d [ FSͬ#՘XL/nL\CQLe`h!9v{{4s#aILN$W8S QptlG͌5{ 9H s oTApo 9\x+eu*N( Fx&o @^B2:&==fX>G%s*Zãjvw9[M.,KdiP Ra㦶(#Ju!x A:2V Ԍ!|~3k`i0g-?BeK`t~-KK+"C팢Pq`AU;-XRyt }iK k߅YrKp޵+1uֲ0䬕~nݬQ[Vqkv㴀;؟ֿxd_}3%n#{8 N+" ( wqktSB{ ۽U JΊvyӳJd8Ń%|kbI(yt\ڵB7:`ܝ5d␊S=ڙ#Ç L:}nX0Lݦ#|0߲-L @rԧ27=cÐ&#Z mddC{a0L/4D>+; #==1rHb?@8/8]yiuNĻ?*=xhq*d@2fe1)8L8C?.M&p5oris05?5"NmXCDiZAvH\ K,حƗ~pC壈]\]by0X7Y-vnE,:ֳ߃@5[_vt[аY@=f]-@}J^݅ 5REf0]cu? .rC Fs/~ N$rm O UqfҞ+4<0riQ70PB"S`0|FCb -SHb= ö,]E}xcQTq[cV.ZÔq@GN8)73%W| 1P-[Le0I68 _NӐ EIU@ZMɟ&sG5C0QlNMTݍmԢ hk޲m|gpk72VOa-<1bo!'I)/$  tAz#/)rKJ@Oӵ"ҽ7lFa)oyՕ"ƌܪn) $!l43ߑ)~Y lcm;<8MmJίpRT_%_yT{{ϙ%ܹM}p4pi˨10M[ϲg,\͗Kq4`ɝMgLV({^\J;{ο;"g wɵ"čj@ (Y`Ϭ2fHrh\^aIff9\Erղk ?] E"uzajc$9^wE ~m*cBkSt[ ״x 85H;lV @!Q;̉gjtR+BbxeKTN˗e5"Nƀ LONt~ţ>S+mӴl-K6ބwp) \eaJm\U[9=AME;&@Ґ5p,ML7 =q`|veisqQWۣiQ_0U͕u[ȍУ)܄,<@u-CGU(?C|߲ڋ]zc 8 9.~OD GҴٶ jMl ]jHڎB~ZT: cqӯNHPW8C6^𪢋-_]V/_&[9Y-ixFu(R%0eH#w.پKLn_!4y;!spgp]_{{j>ī-͵(/ ),I)ok=ˎj&.bguڭ#3Rw ;5l9Vbkc⢹)Ano>I+Yt~;mTSH¨ i0ˁ DiSrg 騂y&L!HmR) 6x5 !g aałxFQ:L!TLe dxrnc@E J59,LDݰ=ǐn8F]jiFk}.:` ;tA~%lͪo޿"f;:-^Y.eD 1٢T, ʐ 75MY˖XwʱCxXJDsY+דR_cJxuѭ4QI0((J ,iA yŰ}+$cHJd:9k"/eCYV`XScvQ!0k.azA>dIYeABf_Zz@o?0C5稦LA_诙kǚb WsoK]Hy*JJ|qfjys[,tyو$SHC&)ҒFr]CcQo=)! 1f"y *uM AEJbF"]W%8.j}H'\_Yn=x((wM#O{_B^(ͯqa \6 l}Pbe@MquiF9j2Z"9{! yqٛa=1pfrTHGdURa{~] pD c-%>"]9~o]|$ܗYET? ve6tl{Χ"wwz ծa@JԸ6a_GV^H=vt.FL)d,aQ!P{QWqql3!`7X? qH =|L wGvWD֜y>na=Rq*5pbBSF3{sbW?c3w0RFXCE;ȸc̄%3LA_!`J8UN2h""4nG1/6:SmfnS9v&qmbzRGlUdJ탻A,uԜ*[c I螈\* +$OȖ^a "RB vK FmF#,JW|;҉.7[jovJ?x/oࣔ[g'FKKF\ uzRvyjz&@x6gjP ݡhcѲ$uՉm?7c ݱV!n)gQ2h2uXAe/~oe=LWޛ,>[f'L۶Q&rQ.%_ 9dNNtx'5 Lvm[ ӽW4bۆ22{qX2hx,W Y\tUj'K [$359T1WCYoBe GbG";Ee]3{7!%>bWi`fR-e #jA"Ls(_wV8D% ϣOcyC|rFi1o wޯi{,sG- QA**nE3 R#r#ahDHBj^Y뵅o_Z5=,daٰ9Kf |4mE_Pzy kk䒷N >/C=.MPQAJɮDz)~IMssQc4(녩W4 حSp3\kcrJTn%3 'dw"cۮ+WpTr`xX7f9@҃?ɦV?mvn'8z<Ҝ/`lr)&UG0`0?8 ^`יa(&If,tE@sh;(T'r(>xܪ e>M.lH{-,]4x񧉴h[`"}P7VbnYڛ`#ԟ&Z\ ffP,M|`* j8Qs/L'NlnwY~VݗIHh̙:߄r {kzy6Mm1be}z,r{Z;0c4 bjY*P (n rJξjFvH3^_2ݲ(U.Ы_my(U]GY˿t0& 1 J弋%GDٶ/(&PRP]. OAvGZ~$.\Q,4\7׳Gbvkĉ$ z~L (kitp E\uՔqEǹ"GPW2,دAtu_d92"3;\W3 oʷ=#V}|)rACBlT[^QϷy DY8GzӾVʄ![UhɁHľ;{F`X8 \S̵7%{Scfo3`*F*cu9Xf)điƐ>C+*3!)R6 *>`D q 40 ِj8㏘Ubw ;wIS,VrMg:&ۤZSh Y'Rnyͽ7qE{K"-9wBْ!(*;:Q@U_6JLjkv\̿']Vz >ޕAe״ωb? cٝ K1Ua$〯%"' Elojچ' BXKMdrAތSb`_fxGʮR/p2mŀ\ ;76nt57jgAWCsqǙߒe b =`Ĭ~p[K!̪ӣؑ*|]0" i1v\ iT>pw &mzI[^gɔ3*H'u Z@nNex́L R?@uE?8&[dYY!HB,7i5>rs ޻-.DoL}b, UDN&7m8-|"ƗMc0;U: ;| 389w`ː~Cwm Gϥ|$?z$h#HcĶ?vlՊ hpX[rz{Э6|_wmdߞ 3eS FkE Ǘv.E̚3 i ң{FQz{mh\܄1r_u Md0aH-@>Fzf^}boǮmާPX|.D;5~7["[i.qE+O,qzA[wte֬.NR$Ӿ~ GL @Ij#ҌHCt V8H&?@FSߣ3\H%`(OMV$Y ]A{ Kֈj l8(ED3O _?BE1Kan~9#Չ7ُ: D_@VisY|(Zre_g:ïbK]I <҆jdTvHez˨V?a2C`l%_>iG훀V_Gsc_|E5 @k)NH}ߧ 2g* JXz~bR4K}*+/#;~USĤ.b- x~ߢ>BǜQg y":Z^X> ZFTx51'mzf$i((ir':JDnH^Dqth},5,{(҄2*j7kWpcG=_ŊPL|`dzJȣ>:F֎AO02uSCqO2-^h cK9xF0*o%: z>S"X POzo1-טDGaŬwbڅhȾV؂lMBGo2/6 hqmԅP&¾KI;\tmo@=]V%- (iT Y / B5ip-_['Jۼ٪@8B2Mv*lJ /AFjs W_,` j y2qU? uv'ϭۺS60'p(\ k)JԦyk5ۺJR`M:g~v&3Kd%qaDPH fr̳/5.|~mx5Vˉ2IEW:K8xyyM40lC`lwDz,Fŗ ׸ʟ]~yBM8<!D ӌ;W[6m-r-*I>{ɺ>\v.)6&rNm]*P6JVL-J.ypt1(l%ߊ:R$0ft^Z,vrd/<̵̢Lfi򼰹ɖV=ՖϛY::4!~T{1B/Ry`UO-[u-ZǮ-\a ;k`]!f%?Lp|y/LD:'x$lWS݆6>#`b8oMOV pB]P 5Co K=;᧔>63Y9X\cLd9`[Ì (/3EV#R<- 'l\T I!jC}r`'@mylyPl*z,5ǀ! P0!OZ7ymWre;F @\> >F2tT=O|Cś &}e,1;`4 L{ʽV]v;h^#-@s-VZ-tA\]Le?c - fR`kP|^<u%m9tEymTGؼSRt{bfcr0ۂtȌ V(-BTY򮮩 Wµ%Nw8~TCkO) )j߳ǭ7;ܘ~lͭ0+6FΚ/A:)Ij|QFϡHrƪwS3e(ho\'m:j3Em[quN@Dz0n-tPOpcgVAfe$JYR (EsTȑ_͸)͗$⩪ g>::~0ILHT h[wvL/S=45a -Y.(5y Ic1$P!3dRCCа`<qOEdcl5ZO앳bƓ(xM5:DϺU#y]?7ǜ!,=0z* ?po)뤊3#d6)x!x:<)¡ SxeՖ誺q>|󌦂! W@?9Qk1Ӣ]%/֦@4eGBlbnn6;xAfsw ;cER4<<~bV1gvI=eSո{/N_WƠHĩG hn'w;j&n@m QywBhP#$mȕ2MX_GjT1)$? =k mG+\F]p$yH^M4Iq#ąYɗJ+v+w"/]vf'NMmXÿkt; |G _yB+܇a3 "phnWu B=h{#H~,Z9@^DHĮFS锓sQqaSu6ؖ?63ԧ~ 8")x%AA9fUy,R" [4p-u/ k|詚{xs,qrþO1Ph4Mfy'G]1Da)B+]fq|bpDG? (z53vW^^O@U" mq vB;{xUƶ_.TשeۢV*,2+K W4 ʋP < >RŖ*!p2Å%(Y2µg\fT -?5߰t2-Ls}?FOXۯ psJJSzi{^V6ne3X#B]r@P/KWx^@[Y51{^Dq6UnJPv,Ԗ!)nAafN5nr@ڸX_n6fJN|a=& } 26&B0 LM6 i0+X2Hep7WfOz[YN{7SH`ޭ)txilV,`;߉͔iy9l,K!2~n)hZY(M&5+W(1!}pCw&9Gbwp2c-8bQv6t1zC;EE*P-D[/P^ȏj8) i=iJ~ q/^5rzO)jkʽAHAa ĝӺ@aT!5vL 񇞩$WbXl$ҊӴ$$ i1'.؉XTYEx&Ldi9 45ɳnf=~ j[pK~$SK=bS$~aQ1Ԕ DٞO=(-]ўđBB<9M%c?]gZEeNŷPۢ g\k2) ofXf&Uq'uNૼ$Wkt!|dP6mv<ͻ)iw*^Z*5j N1*8xnݚ&9T=R.aN 7.Z'{/.%KX>Y#*Ʋ>ƃxhk_6Y^e8UHK?Pljƃ`.aM9p4˺BV8uW85'B=CD{`Df:q( H>>.>HI@ɿOWsZ>zh])ȡ}Oʿ5z֣nC?L>6[.|l?7ýV4VFP SnqIS6*$aRG=7UpTXMck30b3lBw߽3lf9<>LWآ U48 mi7,'\Lm9._"5PbcC)+ 5(uc_"07!%cF}eg-X)zxA,JT;*,8,u*Vbjb*㷐OҸE3~-RW-Kn\GFc$Ⱥ>RO ND3BCԔLsoG {#IacK)\{Ycr [`ԟO51AɟCv1~f~6 ,8ЗjY쨼@=!ÿiE{iJX?Ijp" Bu}HG 47V:沗FvB U L*iEّK=Osup2XU(tݵ,9QrGݓ^#< 7!Zm|(.Ǵc AmD~ȩ.̗.?Ij_eizoET%Eg27}:Yaobvvhh&\Hlh-G j>Yoazдo`Nd>&ׅ'0K_NW=R#Hok52P?}ݝO ֏FѮv(A"4jD.ij0~9g7ס S3U}XI>/8A~ 6,;*pTdp6~]i?W&?޿pU{ i: a ]3%9Ze B%i]U{l"C %8u90.w=.W}E;4%dKJdm~p N.bu@Ö˶ Y 0H^mL.]x%ӄ}p42E(cwXEE :^啷V8rZ.vƺly^ψS^y[[2r{~>B;= [6p$XǛ81f׳ Blk Aι3 3b,h0ҾM+;avߚB^ps~,mǞ t3!zӼ:Ջ,*#z;4.oGA_gb&h+,, !2Sd˰$&gQWTV=)_G fuԛ!L+2M^ ;mczݲZ١06^k/Ns DpM]F*~g0@65U{(pjea0gڶމ?VsLHyiDi KҲqJl'>Jb ^>Z ΄.%ป,6ɂ_?h{> L[qkd /~.Z 8u<|WMlt{= zW㷒-P; z7P")䑴B> b&Ӱ{ZHBFmAN| 3m^* !4( 7P ^̵k>Z 0ޡ큡`A}5AE:pƿYb B jvыY͠`R2#`l&kQrHž> ʨSf{QTR=nF_Z`WyTzy *56,T?8l:t"zW?U f n"dVcEʃ b%"PANQ/H'OFO&M"'؋9-T15X; {xDžwu(F{' 1v|upyսEDUrdޥ*];Ut>tz HvA`Rؠ< u;:ۇH: o4$e4y[X8 :FO`61ʽ,~dC*+ǯ?qRma7^VlۙCҺ K|3;rr>>+Y!0gAdF^d䓐g'3](Gĥ444! `c;?5/[γ>}-öZ7΢\rQ8G:eHB i <;)Yw˒g}kWJvVEGnD.kO hsFd:!弮($2p߂XŖgl\FҴQܙY3D%vw#p(ߏ`;9|ESiww*sڋ/Gk:5^)1DN$5pkg IP `L"-'iou${YL?LəVa\4}6? EۊS\,˞Խ`L<W'̀軛5dq]+o5Wg ǂmur~Ka0WNZ,\{E/p,4XK 52f x|RcJŰf7/%퍾ꋕ\OZA'ic3w%7Ct;3 ^7:2+"m \j4"qĴF(9B iBJ>ʠ[ޔM* cNj$\K>5/"aDde:ebTiQ-UG%ug"/zKD٠pN;we#HAϛO*~:[?>앢sU1I -7Y5.ƭAD~Fo˝G~nw*z-oKDyNL_+_qusDY rGT<55TVuYsG#VD2|^|\%Wiz/ZXOVZog"%`aTQ^sCdoz !bpIF/cUBOAܱaO54bي5%{EZm3 sC!nˮze`Mb8ܔw &)Ne>YlKǙ|C#tYA;N9d;'DyО xű X5QМy,`k Еߡo0[;G)ȑd]s a[o}7{3WK _uEY|ꀄWRֲ&x1HњI9dկX(Dm8roWtKm4N@ҾRk@ ,QNR+ l_{Yh|2iap:c-6hmL|'–n=x 3nL%\ٍmh3]$7^e-u(hCRg&meuL}-[#7&,AfbK '[>}|nGh8T4I/][;s5lj**hĆ tsE]$ST[-qhGP+gK2b]{Ұ'.4 J:Z3s{nd[#ojߑս:Z#Sb$;8"^J,x49/| Րֆ,HBe#4vE2A1ˮ!: IpDf>ΰ>t` } S,"/M@F4oYu&cA9~|'t,@Q1k=l_[yFT}PcGrI6GyA_ O*P,v. DB/kܽ9T+$W*p5di𴛓]%ݛh9c+FbeE~uꑅ5ΗN`\J3I4uNuU /ţ2 jd Oϋn>EBѫ+6>2zZ08qh7nQ,Js@[E%qѶs XQfC$FGRwh0J]Ћ瞟Y' SHI.3J< 6[.e,̵'prATk]zNjub`ƚMi6SfZF r+7<[|c )"7/U1pUO"B+71M~gv%Q\>9΄u@Ib1w7{E0]u޴gߎڄ%1iUm4eHh^Ί]VowM=7 ʧ(J=} e[Uڰ_L ONϐ!ʗ̖[Z1~_;hETG.G36=$+LMn4}$eR!d,5 AAC—Pm̀> Eb9G" ë5ʳ6fFF~C\ϱB\5k 2:I7D̿/'SIA*Perrcu>1nN Is]),Jr1 CV5yUT|5īZM'&SG&/SNd>jvUPT&sv~H攄l-KHliЛD~;FKe}Z]8GbLg=m%0eX)A4gVӞS^A:mƛf-Ug`vm70tl6{vucx67uj-U /:VqK@TW:Yh42aa/٪;+er!2C6S]V6WG.Yg+)RɃ7m;߆+uV4@q>zm)IԯJyjzDʏG.<$6Ǝt1JT(): |Y=j3K97QIç]:"et?o\LO 6#_6g]d^յ}Qb2eDefr460DrrEt2 b}w2vOl* ȍ1{j9vjvz)^ZQ]&' r[*9eYCj‚ugk_hWDhh# O_ۺ~r }Κ$ Ē$&u^-.Vo|ʌ$3Siٴ%gPwqm²T5<, c\1ȜVaêVC-2x!VA (b8[T'O1 {XX; "NK(m(n'90$a`v,uuQJ$Kk {Y7aQ*AXEAʳ'u >)q_;}Br 8j.? AGlyA#ۼOY^c*9b&yq<10ښ^#:؊Zb&tDkf /W $l9 zigiS`ɻf?Aaa/ "w:u]˫ȶsAYLx]jꧤ.+\FnMe*2ma@tZQ rCAY5m*OCϗdti:Qt8|N(o$փd$ɦbuJ}ɴu$+ 41 QhdpMřyM9xK=Ňapۥc&^a&R҇ݟI2 PZF r:$jİ -,ChFCFt`Iu3ȋIۭFIjGjnAD~*yJaly:/'ɘDܿv_KWPb))/?͗H9u95WI->gݑY;0gD^>]<]>LFTZzn6aJ|A~ s:{yCAС"4wA~ W0όL+;kʞ: K3'$SZ_͎;\TI=S]lrk^#&RÌ>Hwxڹ[9?`B!+ed_ ƨ"HU␰e8y=^9JݫjՋ><"j|0s6=_KfS^++-QgTVw̼BD4Eٳ(8" )AhMQ+Y;xPJ }^fiF$IU4zT'+!ͬ &/ɰ)m7H&(oIum'K*" kuFM\tS`nH)oJ/oQEV3BDó w$Oߋb D8M6"rl7seer [0t$*Z,*EEV)%t H 2=1ۀei1isN@vE>NXZ|*߲=uG]PxmId=[FzGJ'F N *TuN_U2!8r_\v I<.di;͵T=8PZ+Jk\|+ ׉r9캱ݪ ;_ʷI#AorHzWd)'?vv}ږ VxÇU7?=dy^q5d$j'r\Rn.?幻G>l^L`WLIm}Ob4zQЏDETi`)urpH \&u|Zrgaץ4#~D3B2׾>_o[kќY6>Uuq4*U׏":o.9H3x uN"PRNimǛ|&lC34ClB!ns R5IeTg{aUo= = Mㆀ`H&U"/ITz0m:6\CʭՂ KM:\Mδ29jl[5X>H_)MPO=WJ\пB3(z 礀Y$H -nq-0t>9{:(M=Զ"WZ39"z*o`bcR-H讪 mb66^.4""4CL+~Ĕ9?Puj-^h?xiL[;ޒ{=7PR;SoWvY~w̔`4)Sdv}J} ֜d27#s$OqLśxWQMӟUq-CbULҫ)(]Qxf; jjX~/!XV8 dW<}o iӃ ػXhVCa _\I7y}.{F ;4U &{0W!i_oZĺs=ؽP:P ]܏F~!p9}-InF͸cbJȰ!e8fL.&a0SDǠk5U/D<$q#uu*}v G-p1U[; ;֊\im,s2l;\U|*؊|)6ИsM^G$?:ǣQ\wHA j(BCKOӣ ԡqa)88еfAaR6KDb}D!S+d3E?bƷqq_~^~6"ZT:<˦*zp| ?b0H1%=2fy1|ZMfZ2!h嚖C:U&AΣ;9ת}'m-Yw ӋWSEgH<'ĉ鉹r=wtaXwȃ7UMlVl|%Y32&w}4ng=!G?@*y[hvRѯC%` Aζ6rI^uL뤼"vnP%'>7xȴgn@&C=AX ∲TS oRƪp>  siɣ$ eHƪЎ*yΑ þY^Kj5Pb .Q3fe in޹y꨺m s~Q/ͥ Ru \K-O+KOY ;,Z#ąy|՛^u/6EoEc* _=Ͷ́tKLkd6˫ 7{>n(?IHT陌UYR p_)5NbZsnڇvQ0'c @ȡVL\sO j 9cάo$| 2@t>FYZ,-J0o6]AU@I7Kt/T4WсLu\haj  kOL^0H<-wkl|>ё雅X䥧:C*i`23G\ْ}ɥSA54TjX)O(1 1}0)!B4q`0B"^/u]%p{Am5}|Cڙ6 vد<*YpW#B_yZtf) ta_-d/..5n12Z̉I(Z[B!/Uؕ>xJYD϶q=8U3s<^Nh"Aǣc_J5ٰaFv%Po(0k]xutDsx$^e נssM[!o~tU2 'P&Oy.S[^ ^*S1&$Û^ɓAJdyH8pDƻHѐ#Rݗ8#c5?$1CvQQ? [xH"?$5{f!!U B}@zт SzH3Rj-p=ģcQzGk<< o 2,Y%PUFnG,[ fҍE5K_H/ܾaўEIcӓDfQ(9/L=Ks{а꫊pƚ M[Cb t[wD |.ѵ0Q>ΪiBGIfͩ֞OKTM `JI7Ҡd_oK^M HpE*2>A̐.j7ac?北6},iGlo$ &r&INAga]S;ɇAJf7Z {k~NӪPhd/ w[2]V*zgG=.} Vcr@CMOůCLoyܫgꌷFIJS+^S6I0'3g`a-/ʹ!6@^KCB$ݾM7b mIk=^J(|w^ %&D%f:O[t?lnDE__O +0b~* Ozgz@ݳZr2{/K-OoURu a (դm%<'4= \5S^|rA+aZ=~dhfIx#O1i8 EHwۻ./ =X>nfZgv3ݿ|C6.!JB9J,$ON=AG-E$9WHnY3a_ڮ"q@_C%6cu'-u*џS>x:_k0z0FxW2k6f_|דWvp5qm}[C˫MC貗. ұP/HI8j~*McگN޸`Y}{CB߳1ɦ/2`'98XbrBd,0IA 2^IA%ܕ w;mwr6n{sܧ2VTF|tA;`*5E1k4l (W͞D@К¸:-}v/A2c>Mw$RS@3b';Nw G0[}ER6!|sg!BIvR3<@}M'^d)d!T~TqRo>o/ ᣸. swFP蚎C1hbyr44GdJZ?kCF9pÌr8*c5D,QOqaA3[T΁/}=tEp6DW|x@[d#:JN '=FŢWc 1xf b*Mm+-fJ RMJ M9G9`c\&%zpyuCp趮g)&; Ls*7/:?aif);w]"N%V50q-tjω9v ZCF2&c]?]8C`Vsy P]FD븧0GxPjTvMV71*XҷnJ+k@ yIv>uj](BXC*on-qqA}7)@ǀpxU61^~t&MPtj_4v˄- .|%okPVDJoƅQ,P+JQr^dG~@%$H`g%N;++1蜪-H sSj]EJYqgבIJY ^Ӣ(z:iq$U.ը(BXy <7o C½qn- K;F,_21ĔMtRw;NIȌvl؆Zp|ɩrHDnT"U)it>5RXl8uq*kLMhq!?>FФ.FFQkmS42QUB8p'~p2o͇-׬h:21tȣfn$׾fi+/hKs酶On"rdT;7M<2/Lk L8LT/92 Er4iQ83Μ FvmL@zjQd61rt4Lv*뼿<Op"q֟jwK`ڑiz` z1Yw5_"D +JKBHnbO.ȀlWYGp?I*tg*mV߿H2T\!1yN $\-ܚ_Sf"BVs8܎!瓳r>[[ QңL#Uc[3m!VhDuR>P߬Q9ZkWӈ_6w^]̉]fhSe:'c_Fs@xKMulXՋ]7ZiI[\_1-|Dqzq0B0ix<d}N-}9`ĻtP 3bno+ z1%*\ )o)<]ɨ eޝu v!hA2})vb:ƽ14rR6Sj7~k[[cK2NF6ʈuMR}/L[h o8ܽoNjCWA[dPJTaD߯BDJr{vko?uQcs6\+/Rd\gqS@Ov|aH%ݨMP/,uo*6ϵýnxy 71l3yLFAD.[bW櫴 vS:7r;R$?r87MdZG-r DT Yg~LhxuRjN1CZY{ULstpj״(KyʮV_eTD^sqSJ%j™^E1dD41¯Cr^v 62! I¼Ntt}\_*@'^rwT%)>Mjx|:]H8(/ib5K4ǗV&6*JSEЉdzVFh,dʯ/diż8 e[}@\lFml;TPb}NXLױiKB2brTS9}7t'UJo v}_q:9,RwߑսW3 CPph'JPO!(pAg2Yzo ʚ:2Icĕt%\׺'~E]$mS 'ڢv ;S3*iv[a҅6=m8_zjz4:K ;'Q; +&<&v(KH= ?|7747&eIoY #n$Z[4%~r$gc" -xFBIS9L,AhmJjVlc:B#kNN^  K];cZB2Xs_,}\Q ARGc=_P&vi @Lm*.$)k?+rԭ٠]P1NAB=팂0 uZn>eI.5~nWiN[F=xr28L:8i`pE%6۵ wR?@/x+d)cщV}ȡd;PUFTUpC# $Ɠַ8>ɚ*w01$jbe744Qjk\h&jrK~爡;[R_ltp:0?ivǴ=UpܱvRt޾ۥ]J̗bq~I2r6wM2uxHU 8G^#WtM3׌<ۜ ]pi8jH %r.1,h Lz?Gg/m .MKo(#za_0q:XN˹"6+#E"nxz 3W,iر@JAns3v l%T&E2/%8`:ou:nN1Vu),|R Ke tq:c_!n4솅b{f՞;Vb`hu}hc)N_7>u{Tj A56jn:P O)c:ٟ} w$3r\&{gA{̔oNV` R`1x{_BJx z a/;@*)}LT{cG ^[.}| ߭u!>b]9 cG(FlG@>9_АVr P.iJ,3rr4"9]m_ɋ2Q^qzͻQ =bB61J? v$` B./o2&Z̓lZi$L2$?a1&܎v(q ^6:lw| +Ey˫՞\ZW5Yh=euc DƀDGI-u1LjK\X)'3Ʉ/;a,  2}[ Nu^*Oe*~1; ޘpsy!=l> ։$ˣOh-L1/C6:$+՝V umO'dPWUƂ=cgh@̊G+d9瀨\HmݺCn`{uW櫆w?.!(0_wr ϥsg3-P+ H5p V9!V*&\ gɔJ~S♒Z;\57Z\p +HϢ 'éQ7`rK>/kM3 n~sIc=U5>sC)Xވb=(÷PavZDDž :3gb-=<iqH#)Zik wK;ҒיUv h38nnLg%{~Oy]ܛNg* 7"]7y4U#{|gk/Tl$Nz2Bbx(|JW:G$w_(U4zx%%+\fSUS}8hÈ}e;~2ͅXVqO@U8 EWh#o-0iɣ'`Mb>GC5KfTDߔr A`^"of9}e>^-1iŅF^#x$yNϞ50M!nlhl)YC2V1<f9N4ýd60U)LiU#:nqH*~IBHDXM'?^wۖ TKw"_9>&7q5חiԐ;N).0i ыy> N NHһOU`,G]Rq%PeU+Z{RjiIr]`zBxbQ3g)TGNVb$]~{-#۹Op􃭇"Üq[ľqʎr^,d2(e7ڟ Y(bvT1n GI "T5!A#r]MF)X[ӕWжD݀ ~3BT[UZ2M I+zEM+H /4}7n;` 8wIKWTOw| d N݂:zؽ_]NUuGz;l I,)VbҽNN͒(Ps0;jԳ b,9fmlf1fw:-4>z,]=kw|*7 (쳩ꫵAM{,XN*η-KbF2@.NNQxȓ\4~ܺ}mݹխhJGAYq:%Y/|XZJgz Y=OYP?cL.J@2Q V}De TE@U6:X]0*1Q49|"k,_;pX,m($>%tɔ'W֤7AĦ@}{;RCT4Jcȡ ?gbhP ]|ZE 栤_sWEK*,є?T+5=L2`uCGߵ3]>ZJo]x'|ǂjHbp} ΛRWM<|+g(g}"?VtL%%F|s=}-1а Fk/Um"9dE&m[UyhkSn%ݚ|)ONv!x\q|:`z1u~<>AAmutBU}QVk,6͍0aq9H7e3CU TrT5qW:ڼɂYBqWw^ڨ2^U.\*k0w>悝bˉY@ qEiliK1ޤ6jJI; 8,$VBP@ၚʇK5,2vQFԻ)/\B6q wkcGBA ySka2}X=b0NwJP[5a:^=RQ'ŭ$ HJ43=k \ Tcu76#em]%9D~$";DPۊ۪ +=L^/JkN%" 3[ &^j M;+S.˫Im7gl]JahuRAȐ6}J9Va.aZ(U&bԋC>+wry0wU^R^r ZL #33ܤ\#/3놑~\/ 6&rU'͈ۺD!tHe֢NA{hc>Q既0*JXZIT r)!=u[pPj.Y)4<2UxЫz@e۰dyXрEZjVGc+ [TymĚ:ٛ/&I:Yr u&[GӍbLB0Z;Fg"M Ӛ*~bVՃ$HSs 4ȳu (4(!}ճ'J^^ϰ3J Mշ|Io-fpEg4$moc+nq?JoYY +wx"^TU}QH,' PZQ8sN.y^Γ~ 195A3O=ʼȔd[h`X糅-+W'@SԌ7>6Պ fٷ¥ڕX̵-'x~wpQ jS%8)FQƽ%:Q%{4N3k]+R=џ~w33FHAHfh qYSr69B]H,J[ V WV&": %=~!\q}}":9-o+œL&ܓ@Ǹ/n0s= qPWk6u``u^ň.!ʋd+7TӅG$crZ9t)uj !uWgE?_ 8G>{U]N0FIul$Fn!G+Py'zZUUaL^kD$EN}LxD91x㮕cZ]Q6UZTNkLo9%na:wZSzc/ZzdB^,g D4βo I]zsNNݣ-1A63uC&B16_WsӴxrG "V.>Do$eW(zv21Nlô$r$^((`v{Y##q`,xNjl;&mRp|?G4`ܿsZ걌ky!~mf~,/(ƞz^B}0P9jշ%;Q+_b?Dk` ;G2#. U%~mbjd R_zcvsjZ+ph;SnD/Br* D뾓Z3{0MDW88ٲa}t*glJ~[=OD/k%q*]ܲ8ݒ9g%lP |õ2Gй2;Bg…P.U1騂3&߬A:aOV)5U8gZ-onwf,:M{}a@]QΌS+xrI9fğv6MO+ ucI_ \}K=F )ش_ ]`P *9qm~Lk0 /c]gG "sچ@ l[C)WThHd5$9f4P )1^#xYΐQ<4௦W7opWw5kL7k r{09jً/ ~+?*bL᫃ZVvOj؇W[lU'DGWoblFf1?zFdRgQŸ :\Efw]#(=1+B\TpF^j`BPPUO WI{Xz{Qȼ7WdoWI C.zqH ,/ЄƂz"lZ,QtXM)P"ze mZ2WżhGS="H;>0CIx@O>Z x "JUq>xQ7IZmCsvԃV@lA(x`>eCިC*Z;e'53].ZF1Zkc –ᘝP̚7 r9(PCIb f?~-%VRJnlw8hO1eV8@RJH#P+ɷH.m;ە hr<bHhvJ2  &:~1)4le^TZoǥ6-ΎB#Uӵ/6ca+!1;{'ȝN%W'ӠpO'N/hcļcn'{ v0"@hB ƶє4a.xt炦:pQɞNY^V2e uxxRFSf>]ȈԻ,Cav Ҽ\"[EF2=]~a3C9OE~;5Y dQҍ wn>NNJE.4&|gV eJ0 a,X| lY#ބQ[3S/(1utI`bl5ݝ-_Mz+Z<"zVS–5#N",7j#1`ވfx |f>`kX@%> 0iUS[I#l?|3Msμ}m&KaγBF[Xhvj׃͸Y( cz"^4'J՛𽁒Vy!2  IRQUs<=vS;"{Y@bcaa-0fյDc-~{Gvl luɇÉ+nzI!"z_Z)!I ٮ@1\ŶJ`+ck6ܣzcu#E\{&V%~|i/$fIzz,Ly" F3.k:.XUr)0e6mkss,P8s#*,;۟n^vۉ'@jn,?q@45N]"og ʖ<Ƭ= ZAu@+\hF.wekAAw8C3&C`jׁP "T0a;K]P7jzD.?8W|pp5b%~fkڐlR찎:R9l8NWjNt[g1`v #ݩ ]!T+U+*[kK7[X9}\wiS݀ƇqOp\Nܨd>|lkBڨ{lxIS R#Tm.s*ЧvRaJ!vAײܜɨ_dDy`w5cLLI"cdνm~_ȦKeC.N.n+F]<0p.';xC;Kf/0jԅ%QIK"/kp~w ͏Pߑm7߫1;k醷h0F \^n\DX ~&W=[!yIJɻli1B!iDꊙB -J q%',z(3eӵ/9K&^* z3sڛx*TLU =3;7#:j=}sy<{@y-C!]/K3 /^caH fo֔\72I M}װ~,9s~^b2^tWTBr iLt9) i"KE)jdbq?kh|_?pb,@.ߞ5ϤrYP Ff HlաpZa +a.ˌ!@Kms6ά-p'U%')F0p*-z zLg-]`q:0$oLlchB1X<&#-]k~ [uG&{uU@@Q8 u,U9]?Y|F `m`wƹzLCLmDʹs] 3RԝoMZjhf&Cr1EgOEj=X?Z)]@|!o%jLcq1'MCOM[P?  $Nua. HU].w EY;=6HЫ۔TWgq4YvbtWϙlLWaXLCx:ʆ½}~-7oI,0ƚJ3[߇fs؀gA3uӛUxŴR*$V+9薿dND{vscSxH˥& UXBK. B1f()9~}5 H Jt 94Ii DIC(ݡG}o)MM5O>5"ݷR #溝FX諨ΨbevJ'2&\: S&Î]q 'Юg=Ll .yifLV) [U($7n%Vaz4Ǚtň#n*@?lt=(飣w :'J[K3wW@=-8.8^)#5"jp;ZQuOqO ڴ,724lWIy2ӛaJ?J OIY/HD';XaCRbP)MT(o/OVTHB^ɞƽN M4*\FtBrj-FAUvЭ 0wBIv kV!T@2{x}i*\ݟr(/Z0TfY_v1#puƢ4Ʋ#œ_۫ud#$fyi!ߖE2ǥxCAIu$'reTۚ4_[J`(t6Nx!OŅ"k?@h `KXJpsKٹ7*y)0)ThUne-˜ȇUByǺ 'ȭX5FU! >|>ke$zMߦ|PtmE&0zm-Zv/ @Jx=hu K^V2VjC`B0AGr{{g rl4xC{ 0n\22~_Yʳ4X3?tEErz(%u&H ~YT͑)<"əIIwK?բmpR.Vo[ْuћvDC{K 1Ul[w]F$T!˭O|!Wyrx!`2q䊣oۡ {I_ ٜ]AD8$h6j3v0BÀ.1tqȅ 3һ.vnS*¤,^11rriَ8H5H,!Yvh:QkS&UZec8m"wR;,j'l aNЧ r[Ss@X)^ vT[X&fyZ'd z|G`exڛ}C]o*W[[@ R`fIn9+[ط/`M[oqԶXǫ(iaShpBʨXG|d˻"jnLU}; D墂b,,>towY5Jmk "Kkur0 D}uprǞ3)B8-M)9tn_*8mDR~ڊ&==Pdc`~1!▧MnVF ML;Tv> zu*dTAV? n&Vzs釰H.O4'3X.(#ެ;@@aUҕSQ|Ki\1VvG &XJg P7\\WjY*b+ o*5"ekb3 hz̑/pq|<ڰ햸e]4\k&WZ e3%>v?bng8?BDTpS?:;*ڌmG&>̗|ˏ**H;2$HϜ2|BVlC E Ka-_k];?WGRrq=uJM|oLcL ֧a3@6-tk6U*6OAZ{D/CCP-V;= nwwh)<.*FNLe% VxGS%ϣS(` d~P>";n|7I{ gsцNWr$ |§%S(`P\D\&kz|W௣Kt)/E ڙ5d]X݈LD\;?^ۏFG=ȨOg`PpSDg`pak]뵚؅*[CjWPɜH|UQm޺ (u.׸RJmZL[y;!o7gR{lz=2G*cgk!L/QP+KttY_%%i;Dۛ]}c$R\`GI6E/0`̩dk(b/TȮ>r8RUUޞ[\ҎK> ͉@(}7$u} v&qүJDd!`˙ ӸrJ$Jvёf$QS> Df![v[C%<:,A7YʧRiٚQ6x5f{ir+K E2Ү3"5o0LlnI> >`>yC]P"\@s; 6.- )Mm|x:Q̖~ &s ^&9kXlIb.ľ\2 xD'8u$Tvcl5}f*fgOhWb:I)"@I-9v.2T H}<[d.?:ʬ)$ 6LҀxH`-Pt2e[ -W[9SԨ$N#!āwDz$4lz>sK$H wKU~MA[lL9Na&erb8K5®DDۧa ~o%J'ėn8!Tt0^( m2kZ[;&t5R(a]ФiXA7tAd֎vA7 F!EK !tEٸ=n;"A+zt@O4aGLk #*'г殮&meTm[]=hY"Muq蕉UB_h ?mUi^rhrƭe+ۚqL<>~4~6ngڗ?Kmԕ;w [ "IY~g)˙h~KR\Y 5up#@cs@PER*3+as^"%G /|eT1Cw5Sr?ū>/mkq/Ol? $/ w(^mP_%x(vczU):x0B먭 ."ۥq@!z'nٛwagr/̃}#o&$h_u6kD͹ C.&3na 'So{! L ZS3UIrYp!58#2ٻG?\}~;-w7G&Unbί.=3E+So@'en[p5^] A`kIߔv_K% Ap.Tw.#33aTbmD ~;$4]Df Nrq -E2w |&WU9ro 'n̞ݫG89|䉍'ߨYOO<̜D(l4͌Lsk=P ?| -  IX&1)s䚀KXOٱlYva.0SDCSl)%սRϨR'_G͌҂R${*F3p^Vo  YU8y~?(hb#e ^y9duQif?o,߸ l K68%O7kޢVV`r]AZ>{ 򸑳{,/Ohz ;տjƂWX v pUrv9:bF0Y9$*-Wr7x-1e-4Ŗ_9º >ߚ-\6_=!gvjTP SJeV#WCi>' dkҊˣ)dFsRR 07T8xIiƔȐcوjtn vp% gt9O;wh,hP{Oϔ lpVQpuM40CH\RLH65Uo }rvwh/ڡxKGĂ}.k"TMTo[{Y-0a@sl&RF6vpϗ_2 Ɂ>`*cT_-?S^+Vl^B; QPdeK&H i˼ͳQ4"&ѵ^Cb53Zhb2'`l T:J' c Dqux!cUDZ%1w]3egǂv{bXKCA#H6si8j'FϾ[*Eiuّ~O'F0Yr^2)?Fr:TG!Musq\Q,c-QZFX84.7ߦ9y6Љ?149tB7' q7z\ͩGgh)8{ #GA5o{dyrG^{_rGr O{ZQIni|Kbϭ#贌{>->nE4_+~4P2'[v\Lܘ8b"tѳOw E_(C_gn8 Φ+dJ\C7(+, 6^ޚhh2GױbrO YXWrg4%nH<@6ǖ<+B2bn\;<8 uy:2_2op>0%NDu%âBNYS MVwQyXJl%2د ,S*醻a+>G7am M2d5kQP*Yld:㵕T6Mc}KF4 g4rk5l.<悿(mFdda/ALH3ñxq@$kOp;ɻE|79B/Jt:*-}D'Qvӄ(!"h|HJH}>V1!䷲ բ7*bNZ3ЩQ̅h n#%F uO5M9j:m}T%k>d՜n2xw'1X.̷x2IߪYbrXJq>{1{l6k {7qNW;ؕKEMv~[+I@yZDE!מP5epNAT`P'I .f,6To0:]P{?hPT=s$6aFM?Uqxcs(5u)}DX xo5(o~Id( bbg$38c -LClBNƈ^3Vُ] QwJ[CM@=Ύt̹ʦ__+a;{w^ݬ\^|v)SFbD,/iYVFe;t{*s'$_||dMh' _͏E2#l 5z'_#B[HK`&ph4ޠܒGrKW95>lDY*P9 <+b8:X%".nb\s^"V 8k^JCA*Y(a-3-'QQa{gȵo Bg&Tԡָ.6Տ^Ϧ5݋zs3|[SKU15FЮ5II'$tHrΨyw;A &Ȯ'EYB_S12pzxӤ#-Ӄ^Wi [pmc~>XigO[S@q~ %iC syu| Ro>(kF3_{P~<}ã^%?h(K_$ScE2AOݾI"8-я\ҶNxR"KGkKN:yJ"~kyQMRe,h.u AV?zO -Pneͧ}xV++/ȃעα8qg"Ꜷ!/@QH EFp+Ak_8:t9S?lk!n]io/u%Mb_f_E] :!&Q;  %*OKBGHXyatK>o|9QLh1'@C`$ROtM!I##oW*%qVh<8 _^MTIpwpȧyU~2U?(r&(_1rМbq9O*|y#c͆# *EfW&@P}4Rᘫgc`Λpt&R~z!q39Wq=K% kZLE϶tey(۠ZBV/"k N:>T)5]U@xu:U̝ˉЖyd 9]$6zwAo15Q38 Sm|{WZFOgԔqqQҗ^L@kMf\[3F^k^m*p)?G[ws1{8GgTڻ)dObBruy{Xpb)r^uAjB:Ħ+>)T3>kl~g233 &mQ@pr_ loS}VK:E.bR߻F \\oeG30Hٓ^|Ē)K'ƾ pJVd<7&rl:Jr_7C!X챟B:J 6i+9x4 <}ݒѡz|{ tuI.ʨWD:#xqR^2" q""܁JB;14M@P01(h$፬̾ 9:omdeV} :`|K_-*쎝 h:Ҭ@'Lҟ\`랄B4su!c G@L%y+b?̏;,ږ2>_9Tlr ZG,Qprxuv9st8 o efD1% -XI2}HTSbN dKG6n]38״ݹd}y \P5(e{.T% ,)CJ/ KaOc~]YR_'(Fx]$F gèBe"J+@dԹB =5^i:1R2Gjf$#(cm~IӔf%2d~1>lhU^ ^z/UP3-!:>x6@@%򣁌Cl [ :!459YRsBǘΉ +Iᦫ_+Ԅxv# 0FO8Il(ohYGqR {aljFanf^/' @z:?ocd 4d\nNeH7{TB"rsTC xH8lbZUr(]%uZ{F#Bݴ %~;=| Pi>%0_xд0f ҁdhO`:ЗeѲ5ʪ9fOLukL+Z\4"$=F|N8@ xZnL޴ /,po_?(+; oaj`8JOHm̆NwJI*嬮n 8Rcׅ5wh'NyPJ=Xt/-H5=r ^H Y(Xeh%^2^?ن/k˰ƟY#"t0 EldmDW+Apk0j T7lp9q6:f/饫222-aTĥ!1{Hv׃EZ ͯ<8P1^d^K"J|LQtxۡTq\XεVQG)훳"S콅X88 Qe fVhb bC$I2RyJ+aȸ@TRgRImzUvQ`۞Ƭ=}&W8Vg@@GCKbړfVsۙ=1|DU .ψQ+-,!]M Rؽd`og,'Z9&Sv,jcmSIqn*'Gk\hw<>~pX葔LjNۑDNݛ Qě$کs {jY r&Y(K$cBK;咓Y6)R G;H`0"q$Y wR Rq):ׄnܔruX3S[cKQ?'0ؽtpE :ma/\EF:Jΐry@< }Y+vL"ļz\1*#xI\ VCi0PgyḄ@ A~=ZCz9?݉2:uB V]1,kYBzݦ UTPnF`!בlw-s=ը&FmBݭ3t+폻pNTˤ8uI2fqE6#)?QʿȖ!ZByӀvΞst@ԋ:{}K6ǐcmyI]WT⽪Ò/4#+&&c)3)v)b_nguG)1q}^j`ܤt[C`4٦m{ 84w2Mx5,s![ed,hWhkHZ8q[DXLsZ_)v.x/>) {( B+Uɟ61eu3#ju&{05OxW .ӖsFn:k=܊r3S3Y,yE 9!DKkp> R0Wr2X#@\#m1ߒ~&HbsW@4ט[YBLxz#e++?Ņ%;Ҳ +[x4vZ`?[VtB) _'!9r;2駓 8R#;/. NP6Sk&VQ\_HԖ.QR(MtdWň9_ЗS1hHy9$ͪ6Z(4I ݽ5J藡]&fm+e̾E{mb)f͉#i )n8r"7n9^kŏ&˛ybO7ԄϞ.bఒ +|G&'9*:% @u͸r+Y=`f"2~7l\,Kaōwu"a͵AO)pDPhZaR^=e@8"{ss>[J@L'AM<L>(<ܱ~݄V v`߽Wr?5U ^;ɺb_d,!Ցke}"Q}܂1M?n+radc}j47խݯt*=Tj S͐ Y2vFúc2ڂ_:mŠ 7!kBb0r˵vNЬk\t(s‡{-ȗLcsg '; ?:ɽQ7wy=7Hc˶Qٴe1_NELB#}y ]~ fIǂ!xycM#-d>Eݖ89RE묌w`[< kz*2OPH8f?oIڞHeX4B}0iob|9UIRDL5<ß!H씢<.fTy Թws`KCh90Ӂf.|go/;yz3md0*b4ĢͿʋ@ >bc HӪw!7dO"ў <. /"(?]K;|;H', kf`M؏+ѓHZF3# r|qAKP[mN G|Zju=ꖘ~_,ÍcTRCZ_&*x&a(i/mB]H<@0.]ECD&Nf7;m jUā(X9 ΫtPV:AƜSR܄9%ه׃keCnLkA~H  y4L;CT&+yzܣۈM>IPim4 U+ebHYCӵ3Cջ֦ù1Uo{^t=$=qMH &22H" {E1֏,xHE6zOG2^>jM( dz{%yJX9PWkloS|{(햍 GɡElnBQ-vx (Ӯ9"N]@Z$gc!H۪w2)zjU/ ߴ{_x9ׅEM% g"2,\m{)Lح;5a'Fќ^-5JU^dz5F C=UK$zgiKA7MIڹG; A8f(TYO&Qvr{gc1=ͪ@  Kp#:eF.I?sQֆxpN6Ez5L'h};|A {x1tOv^'x#VA]eCW"8[Zw^CDx?|ȼH:H9~b#)$! Oȣ\ *"FY;Ư{Wn#Θ<~YQW&:l@MՕg+HX R"rfг9+3ZӔь39N@Rp@8g6WymjWO hN6Qg"0{6q̝WT("y'`Lp8btOi2C+T}gVٚ{{8 Σ}zlه!- 9I3t{ܾȆ}[_-$ wΰGEe\5[ =G+xtstFc|C:3E|47Y8v$0wqiUwu%& %9>{O2h!/WI 2W;y&|<)xR\i2ڙ Sљ_sP!J-@9Yz%c;MX۵2 9쬥/ci;Z +6l{ya[K>״J\04VIb줶/>I΍RLpP VQrVPBhSG&(m>[♍a$;40Rͱ$>lMID%]c-+"*B1X<:o>eyfEBu!}K ߻X ?F)L*xKT?]{+pC .$SFGBo`S4pvXd .*PaE=Ͳ;ʠS~kA<`dgB@| 6~Ơ^xzT:4 C$qf;&nhn~A.1X]OE=xW#-z꬟|7t@Caj>FKUxȧ1VUFܠ5Jg!" ã :SºCXh^*~~q 7|N7,<OxMM1g*Cʙf~K>@CᦤQt.:-z3CG ;RB fKK_ juC^5lteNUG26DK:K%lVH*^l!zn͕Plj7Rgg]v^tJ7d L9o@\.`KwCR\xZpADGUds_x^@Û})#Yp.c"P=e;4%[^7t7Wv. w{>Z5k5*.Y,Jq<n#/9rjQ_I~tp 8Tm7rM+QljZ,>2DQ.s~QY<榔Tj +/Nw^f#p60:&<;K+b-b==d͉zH\=̱d0l|B8q|m>;R9Z.*JCר5ع3 cbFAt& >qv(v4'C8W!mo8z.z $ӫ>G'tr9>x\͔2/֑i&66waqX@X,MC4L#6qs4ԿbyN9ݒA[\_tG7nu\BsL̫[pCx|T!`KegggɚܧqBsJTrpI|%` ߃\Cʴz35^2;ƿ1m>55ر&YT@j!T'ݔ`h5MDF5p*ݢ io 0Mh| I8 Z]Cߎ,4ԏ Le>̕nY19U  C>W";)Νl~%y  rޣ bZ8I4Gڠ$5G} E[zWmhEG bɤz-إsC sf+R$uO(Uߚ?j@0lif<*#9t;f|ÆOwX5#g.t|7޳r 6IQT;9eV"ĝl66J4/dhO{ɷcHlEÍ0y,i)ҍCS֞|MqckPjv{Մ;b@P^[N T9:c>hB=ݾ7(LҊ1XQu90#'`xk˫?r7~"YZe0CE&'H&Sf X6 ҧ"AgEh xQjz-_y\@J X%@a)`ko6.XPAPN7>9'x_—%{m紎1D*۔.BC'hScfpyqJ/AKt!pY[~ {8S%kGRw`]Z~Or S ݛʼ3N׌{[P:$##5(%o2+Cj1Op5z>'dy:L+TY6rYT ?(wl[FPxarߴ\5W[EMԈ߉!=SgVe8.*gmos ƾ 2-[ *j=PsS\bZ`C =P>f]ޱf#+HfU>oXJ\bݪv~eBxUz:Iՠ2)",,x4@8Ā't܆MK!H "a h6'>Uapv;5 ٨8x4̳VG,k8,C`_di|~'[iZս:M]<5]aaH߾!ԥm15]Y:IOXU}D(A*/S @gC\f@(jtC.'B)]_E%"g ANj[.mucL#QK]W<'L[_jEHyjP/M0uOS?kmB{\z SP% 1q7ݽEwMPK[Fn:! 6FlBң|fȕvʲWpz]V;XQ!*w@"w!tX #BpfhmU|9TLGe2$9ZSϋFp2y_rw֡71@DHUU8TqSڏ0-_U9L RJ`fnH9xD?GRBE`ᲅl 0x5o? P<[=;#`qe[lqa:`CZ\w#.$es&QջEB1 7`TF?*h@ Z"8bڋ;O`QX'7Mf6E6)ْO ͠ǣE\ G Zw >|iJ}Z#Kzƒbcىuǰ)+: Ք>?dPjto[dGݑٜ³Tvu)GO܍6opr]#q&&xq dDszƑIcdSA+T 5TCJIj:p2zǦAiAZcځg`\Pw-#o$߸xm!7Lҧ<톴9urZfFD-yKBbe:3JE DrR-w`!ϤTOTXo&N*\#xsyiIACyؿ^^_>}ƋS=qaoWeZUd Q!ʧ gPNΔEk\a.ep4q YQK (|j|CCf ]#Imw$:MgJQDtt0 ` oYL`+?XZԕ6q^GkfFIWcO৐o4I//Ĕur–5"CVݞ*"WZtʉt@=NzI7Dq-GT}),;F6 V8,Nãq vK֩T !ɞEYiah}#f@=vYǿubK#ӎtp 4W$y(JH °qymqq/DzH^Uan@.9"ZSWIH5ܧTwRT^ խPd!X(N`mMRll@0-"Q8anpf%'S4vo֧4S~NiPÿ_[.9/}ҞҜپPX֗2U1J3u  84##[+Ud/w㛒=9GgJcy5$ylԏW(/O2vtsZt8 ,@"sۧYg)L LQ* 7N a劣|ۅP45D҄y r*_{'_kvD :R{y%B9@ZRTF\+6s,)tADTғw ~HQ]es5SsBn64¶BȆ`|;|#&G yH%K:#Tt0XIbڒu0uAzuyp[*ݖW'u:D'TGJhlxkr')\_-T^ܐS1`˨rdEa"x)jY-{L*>c.^tnt/LDNgRa?/5fvUϸdg!+<"%1Vd6ZԓvcŨv{b^շܮg r΂<+eB gq3xw9,÷RSDA9's&&hfB5C?ؑ ]LxFҾBʔΐ..7S)h#9 y L{|~{߁ &`|d)#u%t,Om/a"Tj/~_x_}85L _g-˜i;CJIahWu@Jy^`÷ *:8BҴP;S?'>gŬ2yfē?8;AL;< C0N"8z`_0ϥh)(&ȪX=~|k_YhGgI!h8̭ jS SjD\hGS=9Nx9NkV`E[[d%}W͗ZngwpL3_19w;ti \jhf=S6Ȃ}Zp߾+`f(|9%oq\"^]6#i>R2e(ʘ@\mK$83?NZ̍w*&?51kVwjW0fȵj{_bs,keG֖N7V\Dݧ1ѩӑȶ ={ AVp|; i-6w%_vt_v'զp2X@Wc%o`UYѪ*\a2q+F-C蜳[s[ZWF':Ў&#C_,?`qdlO;~/I&0RIQ~hEo3L;_J"߽ͩp6Cq4mAm"a!ðNGngp& %QcO-@?+T[K#NڛJ+WnGx渾Zމ$73> Z.An뾺N^sל+b]16-YMޏ˜#A7gd6~COW%iF\sr e_65"Yy ļ OXXFKO7_9@e{_, {dvFOL4܊&wP&ϙ`oӳU?3Q'h ck~Ts/V֬i-LnXf*c;MA#ZFLF1 3UA3Mbgh5t!rHiw6O4V#[Rg5hĎg븀hk]x$H٭DЕㅛQY˕!߻nj{@h~Ts #;6% Q9Z_O*>%!p5㊆A,h$04T#Kϑ`o&TTotVgh#$.vGcYnĮ?C C@*&3f_U'׉^`:R%/9Ϡؚ8Ӽy3֛˘`l&Qwgǖ:j9OyA 5QHi1bnw5ђIHD/3Kkoy[]sglf DY4F4fR*2JfB'd!l4,htf4QH|= f,UVktP6K,%!<@2+zĿ`XcTҤMڕP}yc9"WUd|;2^6fЭknbS"]9f}@X4r :x- u#ܖZKMPig y*+Wp+sqf+,6w#n):6 j,](ߞA5*ZXZۣG4v4mV-j16pZ lJ6*PӪ.ޝ}jЉ C̆z@zJɱANAA,Nb_{3qك_x_ʂ;®o Z0&7'DеLx ( U?A2l@"Jg5\HR" t;?&s5J|c[1CWm>?a;ޛ6S*w3+h~e]*z"Ќ$3Lg[gC@UY;|3CD+oAw8*1Q%|Rs0?YW_ jĠ:aNU+Qߑn^F P^OkA0rVO٧y; WQZ@ZM!99>+0<'֞V/I#Sụp%xt?$8t]e9v%Vx#Ox'e'aS¥{'̔ ӽ5W=-CTZ#,IБfYb&/3?l>>hģw1߀V?3U_/qTC<'q23],¦U?6 QKg,c9Za20[T#Gu.EO|l j(7݉|sX]O>OOw 6“m!xڮؚ]//\Gc^Ï۪T zf'p|5Z`v髗I$x)2 _U"6̒v@=3]JU~BߏPmB44`G:xپFnqg;`k|vatu\VԪӲ'`(am1Pp,@Qu^Yֽ_i՟OqQH n#b`wˋԟ6c$-J%[Xe! 0MG8^V@cvb5>G4JFivXM׼]G f:Rb a}*˰Ӂt_/% -9xP7Zh}b XbR8b6;;Sozlǘ*lUx Q6 f34d釓݂x:X _6 |wE*9!PRDi KRDRܿ ^_5`wn?֝Qw£vavs#v,àƀ^;#y t?펢xhL6'> ?IdhbR\*!_Eĝ>7al/haf!吵XaMk~bD'_b:pNdk֧t<Ԛ&d %&t Ƚ B+,[i ] ;MX GXTVHƢU)AjZ+|}\7wH)UBtlbfe4.q9OM[ϩ槁 eBmyhDf fhA8-{։#OOu(PjYm3YP:ϝIi$;#Y2* G0NiÚv'[ވPe&R$ ';8W`Y5XL7ۜG3vGf(}wל n?`;m(밇}M?:v@~ކ[EGzi g->2v3p|V@L5LjAR-)C6I~&Ο*=˼qAUK%ŅZ#% }mKd6m ]fsEŢ~[rQ-2P?"(-,Sx᥯Y]&r}B#j2:YD'ζT/BnrfR[u3|ږ"gDn] м#.17)crqJM -鱯..CBJ:mmI}'26rD땇#_+L9k,De%i;FPt~i;v $e`k5nZ+5~uй) G]3(1aP=\=~X0!β{&8l0P$ӑ!рowIrO{XbpFB 48p #aOQ=qT3~`D,-lx>~&C?OhAx{ӿWz# He ,pǵG4jm[. `7Rdt]⣝S $ZF8!U|1nCXOl\&1)8i0 uةUR#>?}00}b#מ8Lؘ~CJM`%xX/~l Hl^ko_CY9AԴvT*)o[Qk8vB"_W9W ߖվq6Ƴ V3!`1#MS,n+\SqQ飢e#ɼAESo|f4EI<%J 0( tp m 7cF^e!KƢT^HQJ5X q27Qf=`#PR$/34Gّx:r2laWy#?o!ob n~Msʋ9YYԬ:^+4#[.1k\Q3odQoRXɴUy{{a;` _MsX#nٚ iΆ~i,U.Rv|rvM BJއUbnr5S\P?W$3_0 2dL{iSeG]M?O O9oSu3+;5/|F aj=Ȥ6*C{mM/g,&Z~&J"_ :??NhT*擎i[1`Z(|rE3W`)[b݄UNDHOhX>ܦɪHU6N þg ޛ{wȞ-ٴ8,Nݭ*n{LӜVvgwn&gpMH[6C]/MT| $7C\sϜnfgO9!c.*O@&"^;ʰy 9`:,)\"wGޫ}&Đew Ix|(h`!NQWTy4C`Xvbrl x+sî=V? ̪ ~QfM0e)vKZ qiU5 F#YY|Z{~sPZݩe6O_!cC^uM^|G佽/I)E.|sU~< +lzr?7IӢ"$}Àk5%' ![t>tLph,v9B3_B}`J~0{x&e2l̎Hx4`h ҁNRbe\e;IVj7笄zB?!5̿Ȕ՝f?'\Ǧ暡 ҕ;mjOa y*?#M֏(#vBF0If5ECƕǧ,S|/Y&,M"bƶgwdW :iQYBr>4al> o :"gĎe!* Ψku 5WXM5wZ3yUBb ?B&9. ?1b۳X 9k^B`}*<ŕdt- Y H(#C ;鵃rk(C6`L⫌= =4⧷tĈh`&z2yAiKP!f|y>:!e3>1XAн&xlƨfUjIAGߊJ@4@ -l?NnGnly]rRO#.OENKl@FeVfF`h~G 5HS| lZҸI =?OԦE gBo28m[㋙99үUl$ɬ;jh?B("nUi4+^u>%e0C M>ۮEYF)qv;Kh]%},9kroے?Y116&YiP-0%gi;uuI_I }կ$0 A ƭx=(H)[n]eΤ־>Y^Ӭ&@-h =,p[J/+x툉SAm*@5,J0:f[MӪR\QhBG[מ21t kC*j3G1=<(M玉L״O\2=wϋPOy\=#frչAW5Eb,M0WɛULkY8وa$%WVM E{ HRi&#=xݔ~nlMG58RzwXM9) >! 3~rgKF)p2q[۳ΝOBbӺ*7&svt2 &RJD/'$D`i7Xu`N`#3O +AtTg%GU[l ‰|WZ} Zn4YrUh9BQjwəRJhfnqպV ݆ڿ}d}o~'l94oI` ^ -pȒ<a.lx.aWm 4 hMtc=6@n"6wBah\1EP1q^GJP1rZ(&q Z<3W{a*\(RLA.-8:YVsDqaUȸ84'pPv;e| gl3X~*(B&ZF"§;CSAIHn-.:P9rI&MS+]em/E CyX<0F )Ą;_ F/mpL/v΁!XB?;+ $QBiQo%2Z/E/j:9R25G+4Jkt~jmZy0b[x*?(D[=5zw|/ 9yL<5&bXl1BNצܛT< ބ7c{ d6X{&Ђnr~ƨ\sr{yH_,GsV]XH\~tKkIHj_W &qH*8PǑؾ8.4gJodiAU!U>*u~{[bnbIZ˘ƒ/E9a:@sStZuw[ 2\.zP;u\9Gk>(^Bteqӿ@6Z|GH4W0谹8I[{P;o,M X]g$]XFYLK~RH(ؓ48pXmGQ 6&R?!BE7(uä:nx1뙥߰ցCH^)UGF8ip( Y[ک no`Y_:_կY6z"f_aئxeL0;0h|aNbVr󯙰U%m+5RΙ7Y3a; L3tB2wrc^+9EYi. VzI͘$}Hh#g@$y~L x^Q_BOG‰ @5}VJ`˙s=_?Lì2Hv.Q'> z6za0m[z,B^;ә2. \ !)MX6/xa-z'voF꠫zNIjezM}T;U]#h)y͢"w_L(n콼:Ωݥ%/p{̮epjfkovF4XI.[lM*Uzd#a4]ybD5/M q RZrlhP""!1A8IU"19Mٹ-vU5Zf|Dm s2 54=sOƣa,F.]:ɒL mKhCV|Yq6(Fұo`D5lC T LYjfPP` tK~y7E3LJF jR9}pl" x ^E-;cvYے@J3\1GGbR`]"CƤ++699KW!aZ_YryQm&7_-' s5spߵ*), w:Tj;wo^︻7^ V(rdU /w[p#cr~~)iY} Kh˛ &`KI!N1Z|nEhNr^ R3MOOg> Z\@0a&E?!Dfw&(;UbnA8W#9'q`s#DRg." |ph!O饔k;UQəæMIɹ3,%(;aip:*{qݢO-HEVN6`P)!ɶ~( }kvb쓰S| *…`)X߅x]~Sha>N!TL7 -|N` P"|ġzc6AVɼ kNn\T ]LK3{CPꋲ9 /_}et; y:{|կ:lYD`2zwLDĴV -{e:y>칗-o s/ TI6*cNhSUR:7U!>;44w2.0kmjI^x "VJcal[0PvaV˨@x8z2/*WsŔ/>; {MWi/F#1 t[BQNN ~tqS>wpgB;Ȋ25k5=fulM!k8DJbuNQvzפH&~ڌ%p(BL`l//_m[B|%(8zk@Nި>}0yp5Z?>{3]EͅG=4*s1ۧ$/nwͬ&9='hXeF-`PC(K|=p{QqRnUm,)VJ ,9*%\!P[hXO#YnsrLVJB(\Hk@4@ܨKJ|6 |JWwGG;l'4Vcֿj6l5̝]Tep!?os01ZFLg;DV`~I1*G}roAJuq4,jEl#zN厊b-y4 ;ίǺ={mڎ(NS\` eIk$$, `\$a Zf=‹6 ~{Jajzo*%'n~22ZyX$j}z(1bO\mȆq7ⷓ (RcLq@\(rV 7Έ7f:IoE4w0 GWlβ\A%&Jv4jj&J [R^@z\4>Q[{.hv!w{AuW5ӪS²W'Ϊ}s8";qC-ν ԯ?j,"G*]ۯ=e>3~! D^̲yYJG;~)'D )NG[-liq7gԌ!~M7OiD#K\d%ScR#~($/f&) eWr(F1OXF(j0o0ZMn 붲'zL1I6aͣa$5gbf}~՛e-LvSe!%I!<sPtJ<1,0hm%y@RJfB+oPQJHazm+ο`e@KOMdQLeR3eRQG}а:|319aIFbm?Ȳt丑GsLc4n*FBt ,"P :3{Zdm*q$ɦ'I&Nrm4TtƓfBHf 4XL__θM<8d$޳T; K*0dc,9RGPةhaҐr K#%yxfmN2FB-X3mⷐs kBr` <4oLHBVP֨\+k`RF1f3gb/Hvr"T(j`-Z͠* L$]YQ)6柍Yn6u"}7f/{dqx̹yiϯxI#vzKRX"1_խG<`KE2PnR@/ (y{R^Dw9OLZKqVS s?IΦEbgp3OR<xۆ +WŰDVp- 螟Za.,| *oC'T}#Rr (<\47C܃5Sg&G d&t0C䶶l&؛"4j\uà:%PU4`{k,$cü{\H-Va v'Ђ+bݼ)XyːjYOv)%3x<$RwZ;6i<)!s|>n)iې[qIZ^ i,v9VotN]~0\}*yo NCd߱=>mf ƴAs L*-fO:T vcJv$8SR1#"^'")oohXE\ pV>E$v'/ބ{-EȲ?N.#k @nUUF8HX1рYskh6n|}[; E6 eV>t Rpźpd=F*ef>AR—V:-n;"΍C=ۉsө"CYs($`7󖠋@冀>MdžS2k䆩A:*+o[ oz:'_KKi2 aC GVA$YSTq?nl͉!XO*+8bn3jsC-n94V-~/%)Oݧ_b]ӒNMl8!˜4lR>Adzt'`tsS-3<mјI{X& 3xGXF ״Dž‡fYILkCXòO/նr{CI+^+S982r-Ow1!fLdViʿu"< #9z8ؼ4)*0BR~&&$IDl W#Be#n" Ht>iUi/: g)qyh׍qLv#Rw x&" &vEQԂ\K.Aq8_ Z]SI[_3[n*;¸.XDZ3k3ا0 Ațj^WK>_-'gߦ7>m|u2M0|,2Xbf%엪eGF덙xx1E,\>{Mp1)Ҝx1xvQ^M Q]?Y9KZt;;~5Ec=AelX>Ȁ3<>O=9eAF7{\Bu!s:Q&6_s$H40ڔUtgOqS 9q v`?dc衞3as[`#<Ǧ0:bnR;y-P7QC<.O`g ]gߛ/FEW {Bɮ 'ڳ'k4n:-iM?X &0 6}>/ʌb<}ԡ֓,=Zas`Pt-[N,>WM&ׯ^ N/Y_Aa#Ay>K$!2 z@kd %jh'j PuWYV@<aȷ7Bm:=enچ?4M83mo<,mW'by L;b|Db~lO}VOm5LǛisbLBlN FG'l!QvȎJXn;90?Oػ$&>{z/K.K{ÈV6I*T`Py8OdUȉ!St۳s./Bg<.!؁"uqU=4*)*G39 = _] X++eؾPՁB}У7NI Ѿ.VYu\cCˋ WdxY6٘g!37"sSkf6[% ɤa^78WI j8< \(3lx5M1csgnǯ#!ɷt[4pTpIeo[0;]L|8t%xI2Ảh#tiZsNA ֞-5ۗ?yG'/$&{׮_ ]r$6&sY=UlZ|qQ=ectc&! `:yJXW\Gbc@q.\.1dݗˆ~T1G"A܋ nUڈMLQ~nRN6 !B'6+$BlS_=?mba@֛2|CA8+iXK&լKѓ[Y#K!^̰)/>':2c^߬Ѭ!YZ?ֳyVtYB^P *! uH޼}ol?d7 C ]oYޤ} EŴ5pgn v DlcR^p@0P¢e)Q'by[3S>zy8.O{8-.oC~WH_T3@@ r'E4zį"F=g)4ՉOO>_=|r BY@o0}&W$M ,J)..jm wZW9}fCa͇\2p2qlؾr72 b5O^&!C~N?tǹC(ըY?`o+f)4 Cwkr jN钄WIsRSE,.bO}adzؽCz },8Ar&2?7|2 RDl/Ԁv_8xO7ևjTPg3٥XIk+li#kːwXZ9:(׫y80e?8 ISU1N;,[rG:7 =[R;F ycSz,~+nu 8>Cqn6ӟOk1{!КcpBB}(F|W֬,G"o}b:\[n8oz)T$ D:i1LDt=IC>;gy>$Yg,d>4Af6-mXPt{ ůpCMP͊{b~ZV T5k_ vLFHE0Mnj9[+ qd|1 fG+̿sW nG+[Es2`o"[t84K"-*Q{(/ \$3<..[4HN8YiLpCZ9$ӽk+R7d  g޵>fnNu蝶?>p+e@T9dq]'~RQ5kֲU;+:+ m14m HA:xLge\j= 0ѴxTVAᬗC8%qt_?E}(G[h f}4@%cmpN5iQ(/4]eK '(Y6#dKUqo_h$}^MN5Zǡu"zVN}Ȑ0y@rM{ i.`"訵GW4bο~2Ca>KQы|[aބmSOdݼϖ γT@)0_H*5[P?[UTm<jHɞ<0Lp1脰)56ܦC* s{e\ u΃u\`ݯSɡ (?kѐ{.N +ٌ' ZcdtßõqS'Mēi|SFc' " W~ҕ}Y*-AtM̒eWy! ΃mP$ZHIOdA\MD'ҍcO-Sa$G<6$1)H!Uľ& Y&\ds܅G))3Ekׯɲ fS,7$_Һx?3?aF = LKi"9}-H7:rViFY@2L?6"yp 2띻pyШ9$Í#]TN.U0kd.Vrx$$$^ uF{|%}*ytT>,fKJ}'' yML]I$}%a<Sܸ m$l4zS >< R"kF,+7a.i3T N( ]u@XLG?; 8.ZUjm̲'W\uGzJbOm؁NIJ7t84JqH ͛/(s\V@AYwآ!swYtÊWCr;-V>UzڤdW5 7m-gʨ g(e CBZ״,;U2 R 7sYHW'\TYsBۺLא|T]%zPn?Fk_÷bl 7BfnjQ Ɔ|]L f􅠻UPݟͷwDYiTiWPU=}ň;iHq/A#9nbߪFyc<jLԭAl}zС}dh1U zrǷt[ÄdVp5M}+if:`R_3Kyzl=[pP86R~&+XLVGt ٲčTpI&b9+ [@t9/pi&X,yo T^D 836lkYgGpؙ_ T"+PtuxZa}o듬!UG{=.J!EHKE,=ρ5CtK Fo_3J?EnjG%!>fP?FĖ'_EUf _ c^XNZ}Rۙl$0>Oɭ=E/8==אQRXtGȶh~ֆ+𤽾9>f1:&K{岧6##Yhi5}3f+\IdS Y7lɠΜqEl_$ynY]5vߵVu)Xʆ2 w˅Tk+bGp[ B{A/O9KRaz$H4L*ʝ̔_BBy+9^ԖԒBH_!ց^2Sy嚼͆ n_QOcSñW<Dk~DMirrM\j!(ng v,Y ,ձ D@/H4{KG^abY}=[9:nL3)s8:!+rtCuFɮ#tvl8v<Ь eOZ\ [ B̎[<9lB Јswԑ/C:p=bR\ZV|2HH1y|zC<Ĕfx'M5!P;tHu%0 cT pߓ}-S@}m%HNAENj n> S .Np<xku733)jFdN0{)o spv=Xz*Z9r^>$ ]^uZx8yXf8(AFi,>|+4R7_i9\1-JtZA017$(a"@Gn{ EKM^8_c:ص*z WP?`!=`nw$*H8;^nϵz9+=-^yCN-J':tIQJ R&`S3"in.MQ#4Kjc VϢ` .`,>Ozzɞ/oaTX跶dl˧]j.FD䑀,}*4KvgFQp)zcO Q萲z1-g=sH%>ӇTc t2^r,pM+S?UKa[qKam Y\4ȈL5hΞIiU0d@cή@5#YP8\!e\da&9{?6>xOVHMsYS'-J;-J {{NVOlʢY3̇w#CqHx~TI.))?|iavbYE0Cҽ{1.xݍ?X7WA9:3sۙ/ŎAzbWz36v} yӣq[ՆaqM;h4AN(NVuF4\,-?х|5K%펕I FQCGq.sK[LƿNL+i]%wcok'qN-]p[G},?IU3J05p1cN;RGvFu~-ĉ&gcCT{#RQ{ ^!^O?c ",T<[(pha帵MXЯ{4 6瓼t 9`Od] i !79'o vɪrM9U7k2<N=*`0s;<}A^`xYM,{ Q!Чd6_{n>tߗ~z#?YI/9]rxnD XRZ jB3 :DdB%-R#kgR @ %k'=Z)ggAo*eG\TVi6__nBys9yܘ2򻷰`#n Վ((sNn;kHAal-;ގ&ұZTJ{v@8?Lw?FҨT!)T}h= ?Rr‚ۓl)zQ3*ο%`F<'箜>sbmi\~~=(ZG3n`FηG:LwPˡwDwz>:` WX@TC#,Ώ um +$n m^ޟ!z=>~'m­lDE&fiT ;k/h^kZlҤ WlNSt:-I4c jRZooo.o-첎7)IO0EP!@!¥մQATmtӢ;V%ż=fOT"ݑemoGx*՘qPRD6& ^]! ?)Wc"^|N[0yT 4?qa4C)E'*?ug\TCY[:I)wFfue^Mһ ZvZ? Cx[$>[̺;DO 7^4U^7؁)ab5Ydlkqa0M\cc;5 [䪋s'!N/" c2d]qxn ]A: ಊutkvղ\׌dpW-}ӮImc֦ F F~" BA;` TES+ U6Q+%_tbrY O-E-/>y f&x"y3#Y08y顐3 Nc/F6U=Z cjGQ%A\ȓ=yZ<P*&ۄ*I 2qw-yhrWRFw+eQHJA * :Y1F=PfSL@,SMT9oM}&'=!ess:F+6⹲yƔghyILx#,zV?-2Arjb/jcKbiJG^|y]At{FBS|$*E$ܓ!Q=|Bk+?DlbLYwٙ( JgK.*zPQ!^u]%ZΝAX%9xGfV|U_x21Q7Ĥl>5ИCV#p$uuLѻXrά>s_ȧ8 W@: g`cb-[?vQKH;ׂ_VPn3RACKq:B֌ƕ u0UwsN$.ʥTj|b &"%ŊX1Фs w0B <̶TG-.܌m]5A}$l 9խc23vkdc8=@Fx9b0TC6>Pmr?Sg ţǻu5N*4264~ OԞj_/ϾhߺuPϿ|7sR gK0=IuvEsF X4RhR'+/n/}w`E^vԝH]YWa/>z1cθYWŠ-Up XyU֥1b?=ͿZE٤5 iAIbؒZm'Dti6^dD6$Ɛ1@"~~d$R`rNU(}"eh*1i<VKj}2^Xm>bVFS. Ues>51{,S&4\Wxo~AmD (ޜ 2)W36, I&[y[G*vCgY|d,:JǀPC_g:3K-u 3ubu5Q2W93MWW̨ɛP"03N ؃~7 >*rP%`2ɹ9МZW ky_σH ].[2!1՗.u%HcN)gʣ?7!bZbkGÿ<ŸE]f^,u(eKBɀ<=66OT5%+\\EuH2EL,L6 8VYWRF3 h:.0Z0 2)`Y1OVJ0ӇOi*15Q˳O~M zxN VlmKk0Y9~_WEh{ș1lÜR(Z)OI;J3;|Mx,B"=x>vb҇*ǖLiOKhakY+S,@<:Tg#Nʄ_[z؊H ^ނY6x0+in -SuS%!iHjULYӳ GhH.zrTJ^,?Zy~Mr!2e嫾YyeYڅUx  yŋ!«Ņ<ӗZ 6Ӱ8Ѥ{aE.äW@%~$3 ^-.؎l}4mHF~t|KۣDx[9N3p<#GuI]oRַ:\reu-L)xQt .+CY5Hbp)_Nu+>zȖ42ť֓J(QR¯t$Y@ٌ`Duyp{O{'X{3lI)NҺK*ZQP*Qס -wtG?=ٛSg&GU,SHz YK3ɼWyCVt]m"y.D4.Ut0}X|&p叺=2GVH[xbr6ݱ ,HlݯBhS4wg0Y F+hnҹ֭ rr V5GQ s9ґ+2QBYrƏp0kZ X|plN",k#&k5CTU)x°۟-̄b03}l;wy0rRbQ68U3`Ym3|ZY+H>znLƑeG- i|,0"Zw&rBrRFMS2<n7o6)m^sX= Gs[8NnBsO>~ JE͝c[&\1Vlq<''g/НnQ:͘3芣Q1+me-O$ s<$Rz&HX!(:k.n`~vZ, z}7gp%Wغ#abg?^,{Us3FذXi4Pؾf[CH1L_N[*PR`5/{0gA_re%#2= ,15~T*Ef M,?gg{ԋb"MSub$mr!Y10hY\ +`EQ9m?q$#Rz`: v^'c4ń[l`KSiN).{$; TriQ`n j]kjS^:.\gqEϧDH^wPr6 Q?9rB~Xxvqkȍ9tS{'eͦ(!R\AôzY~XELn F0vt9]_&U6M6>ޏl\X5c5Z =PX4ܱc&h^XqҠ3_:G,y` tWTJDVEs*wf#zK4pꠦ5\֏C){'3 go*1;vAYdqoԒwJ4@PI?s{p {mq[yѸƵp/)pJ| D}$fqM:08w j!*Uij/$ hjđ"t~i{IWnbr o{mFY JU-1ObY!M=_ FH0 洺%VD}n->9* Xal=4zgZ䶴M6jC|VD;*f`%Մb!bgwPڦ-!r2}qM/ V hy 8RN84t뙳'5v2xb" cNHTp#olLocRVRj8fi7rN$pٽf -v@jYq1IǪw5lD}VtFid%h38>`Gp1hqn̦H4 bAspԔKGxaeTW1ϪGE!x@p"`܊ ڢ*8Y:ډӻOU'iH&S%usn/I8u]+jFt>[@R0Їz>0L#n}=$ihʂ䅳#L + ҅@IN-jA# F҆#a3)g hHcBu9p ~m0$3K0 !_> k UxƒaL2y|;è-4[ގH#O+VU< `ocﳧibRNQ^-3aͣ0[ oM"`/u %t"K XqAvGDJ ,lyS3,,aJMu g 9eenȂbb/n՚e)nfs $%P#]sah"z)&*Ͳ,lS0Nk  -qkaYZQe0Z*lf;b jRZ_FU bV#pKrX*˥v o9/:/:cțe&ӮK<ǐ+=\E24 XŎoTc$x`_DLlOwO7{ k}BKc .UA{); ]k]#nLzeEF-$F7ebp`PW;y$%ܽRrtgV˸vjs{;ָa ƌﹿ;7/1wZPsnvQݴYגoi$.)תW ki5k,Ŧşfv網` Svr9χmW=H@܊M~ʄ]N; Y]2eE2pd+I kS퇑Ն ),!̚p`MkW?hMQvC(Nv܅Ep% s6@e*%#'IµXglB~Ru//wY/Y#ֱE?C7jD ?j-w\?:U?nke++9լfˤG.*i3%L5 +bNDx]LXrtqS.1pn,}.B|t,;p(d9B:7o|֓gp34ɓO b|ݺcxX˹e6쳠{aeVINV_GfÞeԵGݯ=N=2 ]Zpd] HzW- zЇ'Et`dld]\ړ'!SQA~istOrj`ۤvO5S)P^g%Ο@pkZ[%W#dS)4{x~Uǭ=v0;MsTl ޗ ;`5JzWޥ^ۚH]?|[cz#Ȓ#\E.9DqcmBC%\49#-É8XB; HB+F)26r|²~J,;~`]RLWdBɞHеȃL Fڹ&?6)_;4?<~ny$Qh7#-;eG+ \=X=UOQβxwcTOZ4Mr'_FIFTs,J4԰Q XF~a"Vt$دΚ1/.OJ,G`ښD V,Ra_ʭ8Q~z'j"]fQ* qL#̺rf;i׃\L>oJ,aP-\Eѱ=S~LjC,̍*(z|kӋ0',xftn}ϙa Ȍ!}[wccI!%Oݢ#%~4HX3Xr}7('Ɍ!3K`W\ K{Kt.- 6#՟ {QnFUt9hRxT-dNmD'lͧ Aڼ0 goÏ$mx0D[Ii''2ɢNV4y۰ɉY(Sax2l=QՒO={#l*pqli3GU :gK&|1E++]CiAʹe' }DP>}^`Io$qV֟1G,zY8Ȩ`!O}@8{|{ !F ؁m(om[ 7 1G<*6-1#&0>+jӉwP6K]e\VYº1iٷyP/;Sj?)_W$7#wTd{2!d)|O&̐޽ JH-k]gYK8TmIKzJM=X{P-GGM[G̝q 0V?|gec_9E^ZC&F >ۨNt .ɓĸ <Ï=`om2{(lYj-NI8ڨ)eIro~}3&>; !:Y'E\%UbF ,{GyŲ91\\KmxZl?ߢ-<5̋q o4ԗջG7buyQB#MNl0߮2@ " Ya [rU{۲YQ`,KWjW]&]5Y$IVF+V, <:@ Mzu`pbqAWțb4u} f@0<>uTBODWm~(6ʎZ #c_I}s3#6+j2`Q*d hFL:d3rBBڴ*rbc{'1D㉆gZCP,-u Kah&nUYHPȓÕp|?>Pr?vْBiiڶoA*5~[@;-~P Z;SveGL~ȾQJNUmD.DTP]z2A\Ӓ?E+ ><ײBW4 KG֛|:D |Ztm%%^uEػm :ˍ*R2_Tҩ8o@p=7UKc*Me;vNv(ܨsЗci܇t J_@F"쾜=P[{?Jçj `I8s!Ng#vTϪTN Ms,VAimQ -}Ѹ4QCb!=z4[/Ceh5GxyQjzO= L 0y 0Utϸ^^2u;`Yg<E?G:Fw:iB♆AYe| 1:` !MAXbi`Ր#͌yT$]!P!gu '$yͮH+L)s.G6 (}ЊuMf(rj'~|ȴmmYݽyF|Qr Z531 QS`EQcUwբY zr^bƀŵjjC)SQl% ٷ9 crB8졃Xg!\m' p"5R{W<` d,k :Ȅ%X7_{eM_j?B_0vu;t Яb83` 2j}uܻNZT\` !#n˓B}1q0>\؆dfe; ~Tw&?`̫ ּ uv'fXM8zHiViz k p,~<9:nFUde 3yHeV+ᰤ[[]*;:_(Р~[oMk~O6ˤ壙eIǬ du^p+?aA7 R[r{;Sw/+N:~6ucK*6]:FRVĢpi5}kcgJ.LX$6i -Jx+4+%9#dTS7?x7O ̀ %Q/™٢ڸ!D޽O'/̷Z XdVinwLv7YW+нZ}|~V@[abBX[ -?[5沆42^aOwtI?Fc z;ű`]q ]C[nM$K!B]ak#rԣDЇu'lA0og/0nV̾ضPS(#.pϻd.{GlMGK.Cz>)Yw~ <@*\A'di!vrsLR W9%(Xk'ЭI٣lWI<`-:g\ˍTFv.Zd Pa!K_K|=t^|,$9",LT#4I!q,1ׯN(mYj,lT8NNzH8x֖\shSm]\ >?x[D؇j;b>H!i7Hg aDFac£9aټ3O/(IE"afK`:e:HʢE9YUxa+`#O)Q]{ 0'[pc09e6_6K/Oqlu'5OZvr:yo+΢:_( YG!^2-x;H@%mzc -#w_C;X>;^ũ>MƬhQ9~Jrk$ْ눅JjC['D_2k{RC)xC]bHVa7u).iql c̝Yml1 3cϊO]aA4Lfc!]T3ӕ UpEk6FD"YǬj9f t< _eXr^]2@ǎBR9dƳLmxiNW<lw= Lv̾;NAiz* H\N]"`ycא`]]CYZ]ȗ44h{ 2f\w[\aT\47#+.~mޥvS2*-%ߜDLsv-X.n> QcE[XU[.k) w2SA0P j*E xo>]8Nl ڣݾcSN}[7'a_wn86 zom'^j%Фu:Р*UĖֱ.c@rI-8}0C#0??? }uwRk5iy6~{iь<%p/wѐ$&_ugO=jR"Eь2`vʯlt:?naSv/]-x[PӿuLzm|28rX~/Ź ڵWĀz@52St[&A }@(?2 Mdzkq,S^5lz<#|hV%BѦ0t zQ1(?/m;vV#Bq^漴G\+ޤ?'InD;n"3W&}ٟ[=#/71+qP2s6`&p:%$ X(LN M̪r7g>ϔڢ)p֢ʅr,q{ F_18*$l F V92mY QL\-~ `oxrV`\mh.nP4h =44Gn<:zlIgg1H:EH5% :Vlg8hGz[[PSHU nnnQcW >fMϏGvx!&j$A. <VY Ztsݕ@KfM.R3U < i%1d?k>y6rMJy: 'pC?@}~Ӂ,>"f H}/ Sƚ-)P*:@r䇺-` 2ȵ:[uԭt y/Y8泆=Vw&fi(JVZ DzaBWfG"@rXK)tz٫3yCh:9y2vu襇׫;s=ʿ( !)XzТkϧ9g,.!(4- 'Wr!o:`V篯k6_\U R dCfAONˍ+AY-+$bFXSK"v::gQszDIal ;fsؼ>ʾ9lcm%?d8:@q|f, g [uZ@FHzY׭ 73T[j75oM;EC] qvgGtLə:;4AE[" #?zbOrUP\_ijAx^<-mDNtM&rx"p>7Z@ a:d>K~mXQuI0o33éǧ+} Jw{3b|2ڰU3c -~0P & [TWGX BQ1BUwOh&"Y,*,knғ1E]xBLP3r9?}߰H TPR(֏pD깑ኸyGHzhu&Nq}Qs19}FҸGXָ+UWh8'5}{7ZB7D8_Vw!NڰaNZv7ԅLU)3'Eu`U#cf}XONi1l1j*" U6 >H8DR֛ V\Bm{C԰rӲRKwp2 7Еo7~ȴİ=G>= WLdQxkUןKr8R6RxNxPs\j>' BLԆgN8  \;|o=z 3R^)am,|km2#gl[7)oH-pLrƓ.J5X5 Pi(\kzoj?uLOơ N33/*B1B?Q1Y/}SA=ʊB8Ӣ]G  ԀC!yg%  k a@*FܙW /[R)o?~]JoGs- QV7%!ug`gnqe58y_N~\@_4xOa/I{Gālcw1gSЃMd޸*"PXA-n !gODtOy Ϯ.+G6@xw_ YKg:Y3J㧬 &NLA%|]lnut* pt1 sVSOf?׿0W쓚9)^AhC(>Xg :lZĜ@`ltB 5:w|'Tw(6vwLxU}iې~ׇzp:pnD75PyZSCoP~%3YÃqJ|؞6L XR 6p SE |k=x?66n)tu@btiv-bZ<??U9zi43WYai3_4V G$/Kk}͚vHrcQڷFTWKm9mRs|n@ zlc<J#g #$bwa:}K1&׀rCTMז{RJʣo7V#4XWŏXݓ>,DԲ,K?y&VudNC ٱ72ԓSe{&yCd* ޔ&4lbZ]ɤ!5!)EfYЄju 5 A(# Eq$ChCɡ C+y4-&9"V7*/ LZEuOn֩-bH֭VxJ$|a.W.'ܐj^+H03)9ZkI$vP eo4 O5S|n8{pUd'6:5(N Cx;X?vF~pF6 ؖ]Avߖsl,XLZ\P.i+\Ć:1A()m5|K 1ϝ%O51wsq2nXjj$m4B(㜹HLR^DV=]`hx>dת4+HLTN Q[3W`UT_mŏ2O3 "8G՝DP;Jk5J̬ $Qɏs:Ķ8Q-w/!E\A'(\yԿ#G5]]-/2H_*\rɈOf.[X+RڴvkZ%!)` 'WUgݓߛ0w[̞wk ՌX#ɐ×)B8g\k)I-WFF^XȶOw3,ίvHB=4\ ]0!2%1 U㜫ZbU82QDž69+0g6:1kBpaS6"$㪗@~.>6x-a~C!QaWc$YL[CrѺ3 ".\,)-;: Cl%x4qzp6 'WaqDҬm,csN U[ڋW,/z0{+ XQZL}R: o(4"- )% {0e&OBRBA`"$D~?D㮰f7δu¬W;ϽkZU"B]P0Hj(PXDtE`, 2s|D>'tMGCpP ϩ ULvrgDe++*_M;QYZzKc/o1ΣsmT$S09UHIv5f]t%^we빃ۭ[(3 !uQ2U;ӧ00Ie֠ [/M-bJ`,=$MJ" vSԌdOuGu:2ب\bGcҞ{N{vB tI3ۣ{V-&QA~w1_(^H=KvUGao/O,*ksG ڙ(p&#zjcէ]Kw;߹3 ̮<ԯo3`tڤ#I}ZEHt4Zt*bM`~VOsI$uyȣ m'1%'붫g{..+A \SjjjʸEm=ZcXcǜR^ݫe5pE]+&O% %kʵ#_4ƴEt!mΤ79kUqlY,0MMKtj`5|$wI+{4o{vv5Bw>J]?O *WK2"|Iu۵Y]y39'fA>O;6vDbenGH,1oL%010G'(b/ԉコ@Ekş6 _~ gMd^ȅYa?RG\Xæ @3׳YD!QsQIɗFYN![y` Gؘң Lq̟RY8mLZ۟mu7 }:E0-T[6`J한)Y|W1_33;%^lK&ׂ|낒oc}vڭ ]ӯ)| 7>Mt^jLiᆴ$1=qڅY7 sysVkF ^&`V J/!yt~aAvN4O, } 2̹/WxRRpw 2%Ėb;"IUcIVIFlI0swE!GŊgn"_GإJ,۝JP>ERxNAmYU\ĵgd-vfy۷WFʓV3|Y~#@e[/eoZ0in9G͚MA0V`,τRvLG D0G?[欴XFOjQ.AsXiSDƿӼ@׏w$J2ȫu[特EʈYy,HpoagƋMr"x]>޻gK%c=3me侧+SI=;C׉Xi $?-~y&z?BGۂB ݾdf!?FЛ?39`wǪ C+0,+53uҴ+ M!47*=s7QLf^w?_u"KgM7zYڼw0:(RٔLkz Y(s y\nIΉ|l/ZJ$;vbՀ]|,;l\nU+-^YxUkc@H -2ؒv^1hHpБ ̉3gC>yoDryG9Jr`8^ YIdc@*[["eV [Uy;$JE1}F"9c cZyE"d3OB@̂16X\>.oK5Fn&^F$Y/| c wZŦrG>J'/7=B vQg)M˛(.wJoxa Dn =trMP_H`?28$(~3) }IGb+DB`El (_^Lŕ({L[qon_J_2t3S\VmaeQVV5(yXItKɁk *INJ{_1'~>" <'!zӕ9.%:` S-<\@?/HLUt2A a`f"ͭ(󚋥Qg õ7j*0|[.dj}!&ֈw7꘵*XT,jK`}1P,.^(d\Ǐ?iLBJZtP ->Vܰ;"ħΉ:jD9J&n9QL0Q!ߋ#`A}_ijo17']95-cz~҇v\NGcA,-'ŀdڝL>;sO ^٪+' ,fv5TFGt#[ydu4i|YԖl{gA@㩢 (?[YY>v7'uF=,iQg?HvGALZh3;4=Oj1>S SB/Lۢ>k%tx~Ϲ#rN@,:$*=4MvdgqJK株Ѭ𹢬:b,ɤ ,KCW0,^/J75l9Ȏ{?܃)߇2 ߫%*2) <olD,4>S[c}~~:Bѣy^7Thok PNKv^)GX\s4@T5};i5i#)M0gZR:*x. qW 4ʒ?g L(7`Ob}(}߸Q*Fs39[]^/VWyHBQ0IL f_i׋ӏ )o %圏HF^:ޥD-})GZEcY}Þy(G"r;i}{&'^dh#cE1 nj!5rvo2&iwD7Jv6`-.%tyo(!oHJP@QaDHP>o-guo\2*Bh}lg muӊooWWۙ"[rx/*vm<xͳa(>\S'Ս\aXsҌ$-'tƉ77|VŔc *Esn~-w4Iމ\Z}TSh\9IaݐG(:xi#?`uI3s$g=6]uD0SewW0vC:+qAb} t&0H /CyyFUe4cMuKP/oTĭ2c 03s>Bf,UXYvm?K>wlF%A_>MS>mb۸g.duӜ#2VbQZ!ǔ[n}a@3E' j v lo4Քl*i1uAK)NlaOƚk Esm'󕉏1 $Tkq>IT.sh70:3KGF"/uF$U벥T[ҷS tMz$5Q,(&vЀ#`3uMMa>.ԟRI49;t ;PDHzG6SӎvSjCȲ4Y,`\#6쨸V>gmD̾)Sp* i+mJVūvj0l vQ4ɚ`yz|Y8'RM>r(+` 4{Ew/t4J%هlOɹioj'h>-Zo29iT$3h9Z~_ DQ\W-G5@MyTC>qq_&Z6}+$]b 1]MX6@gw_"]zٛRܩڋ4k]x5iOћKw{ӚR'W ",sT9g 6 %N1Srv@\IʹKh[tKM,3s'o\PfcC DΑ6 M#r gЪM>;֜5Ezx U9*;I]vEmlScc"Ncմ@u*vQuS+dž Vu4<?$ z5# O,96MHl6J~x/ߺf~Z@,'pǃd;$n )+ ^0{FrҦVHx,nArNg8a-KV`[\ QrXzbSn䠹=vA6ӿY4o*#= -̈Z ;;,se}`~=6\̀^各Uf mCS8#TgQy^4˾8XW޸g;wjN5Qu'ŗc_Mq2;-.F֏PҴuJFx)PgwՅZ?gFWnԙl 'GKtDʱhmE!н$zTJMnt"R`s urE~O h [)FP=$E*ZY#> l=9C$@ƕ>GY`oDpPuÁ>Yg(Iou%}, FZg e7P-yUDjRvH~N;G<ѕnToA/HJ ;g!]qӟ[ q :tr)ar–qtpM\BB(jm tߛ18*;5r@āPdA!VH)?EU ygS12iҪҮ<bS2RC͏./Z BY V&:,-!Y`-^dMwjD! tU*`m`X4`a( iBgL tHc#e_"k@e U ^Us9do$ /t{SlW,E[0䬓>Ĉ# 04x2,.}XzRZkVo9xF`+EC9&Ȳ5C.~2NcZi2Ț^$_՝Wc;/_*It鮇lqՀʼML+󸆜[`Cq`^oݴ7w #o4Kv5݋W`bcTOwM + Hۭm 5HrDȬەW6>.gu,tgWXECe8҈Y\>ဥ:l` 2tuӷm JTmL]EIzk!/ m70;f#ẸTVSTl[8Z|ԩ5_" Xd|<+JY,H|%}&!GϾl@Q-ڻ<]'b_..#wZ &G?@b*P@8cL1Rs\AutdNgM]HGB86.LAݨ"®5 ]],=׼.Vr;*`dt*eARMmǟKΧi hg8V |&wM.乮몃ֹZ*^nuf#nhpZji@%aEsY i!(NlD:pN?ypY~[u*ou(C//"~}h(pzx[ [ 0_NtrR+0Uܪ_/fXl3ؔj>YvX{4o+}~wV!k(@l͵ZXR)Ji0bT-| (Watق\l@Io&x7Ia, zѳe#sOZ#g2,N1_GV\ SϤcɖr-H5f\3b)ߖ0OQ>@l;^&{ٟ@;=QIؒDv~ȁ|Z?zztUEZ`?#C韘~}D'aLdrq/ Ғ}I#h48%oV[1٣;e\ ˾ԳAg狅%B=׺5{'vhe.ݦ ilA1y!uj]&Hs%P^{7Dj|3`hQ\$`=G!AubQ_aQ.(mR], j]dؿ@`{ZmGk!6:gd/7e:E+ "櫞EħR⻌ $|0L kgc6]O5q<x5b@Q73'U DD9'LjpF]&nY؉<0`6?!Yspo6Ɉ㼠if"1a/Jz݌XyB*T .'张#-cJ v;hmemHQh=bh{\D6R%wJT{u{DԪT@OL+;Viҹ4ʒp)ZP WW):jO_S]G{z_ P928;ւֿUDQQ$! +*Xw#ԇ(枚Ĵ. 6-4GRni1Uak9g)F"bkC, Oɰn+0g*n3(ay?qZB_M!sH0Y䢛q1Ϛ1^ӒS_O o B{icaW+h.)lTn3qy 6qoI%=6.W tQ.YGEtlcg0+6%Z[O0='W *]gJvk@,"={1gWn5j2H.# |vܭ!C@M1Hm7d49$s.ArS+Ϛ, WľZG6K\+VuE{sn[AKɂ񓟍qڻ4y]-D}E6B5Km4`]!88`F@]9N :YddwČq^~΂2jfAPm2wEh 6{r/g\汭u9km`.=Ql7xaCKܡ[-_&Pŷy0?NLFfn-Me(9lgΙmߡBƳUAcmT!@cyN .s~= (N إ P9H648xulZ؛JU ImQ2;O[5guּw|xR?u5qn'4jXVH E|v)݀3HX=vlľt AzAơI@9D5CM pEtHrAgv5 dy6.Mcxc/OF0,GHF3a:E= "Y'ըhzg#w ɟ<95?;4OI)cќpa`S?C'\Jh* u>8~Ų.hv ̔qG$sO5C,a}V^x9zo>W? ?Vp ?dVSZg RcTeV3TH^le)cJL0^tC.Fc+9P[ L܆ Am<0IV\|s xYI]4p4M fl.ok5'Jc6Qqz}TSk eEx+_-Z4bUv (w KmZXp݅+4l~i^0=1k*_Z4 iK\#WoɅ^ߴNBa4)l]x k6Q+f$|i dOc>}1.moGe 4ҵWNƕD\%Pʇ(א+9T`S*Ү-mW*KXқaV!PK-}"A(p"B f;ZcuZ>BE)AAUFzLʍ /z(XR'8L6H"5$':'S!ZZ/a*@ӃDdڜCN .i{ǝ ^ bf(Me'\IVsŋө,Q tkzKl M7 usI4lfQ >=juR-ɀ p. 7M UN$E^+pf UڵS}^Ɗڻj5QLFc4wTi1Zϥth-@QB$'O C@H8QHq$7~idKcWy L.%Fd[9FT <=Ys 'M觴]y8N r(*iG\\eXA+OhooSk^p]uz4C*MY`<4IS֛1] ̨'] dəQhfcb uvGpA=zB?@qxTi"PiwZSM47$Ϭ{8'f@vU8zwWZ}XҞKcuω|Žd@U) *' lmbQ\߰XDqۥC^~pqvTA2ݑei %1 (WmtmO9ǹƹW[3]cO4TYHād (hE驯~.d8Gd/dHo?$GXlAJv^0pG1X ?@gX|wI ogaǬ0IHZJ)]=߁>&^J-I:RBESY<8b݁!HaҚ! m[؞`sг ǞqulqIl]*6[lncgco3oWY6zf)6W3/}eatJ]S]@Q2 »[Mtg`|CH˚o iHf+gN~+㊓IZ%Z]-bύa?$#=D:V2$h&Aܓ D2ሆyiN'O,GtYg$椤l?ls`].`8אHpB;W7.b%SKa,aNj* 4*He8.#Y:#z$$с:2OӃ!,K+K8Y_c~؋GPτnqi18ٰd'w?. EZը$50$炳Hn[;7RLj'D|NYu FNM/?@{$pd_n%.3ELq nN=Q(3~Sdȫ'&x7xH^•\VBpF0R7/eբ*u|tr?iIS HSh&ƍQn8)_/%0(*h$'e:@WYrue zJI8?`|` AXIE"!6ЦȘQzlr<[D"~hW% PR=̔6=j?UiAp Ixꋐ)%ƾ\:rY7CbiV(">.F28 $tN%I&EhI Z<;.a[,Nr-[$Fj%9Nf)]ؠp@-ԋ78C]ҢnJnLZ xVZWGN, .L_ pe,:rkF6)r/wi=-,YKq.]46 ַ/e o pdQW>;!-%$@fB8 1sRU0o{/ wi<M\iRrv\1;*{]z}ʗ];C#`&uXѿ*eh"Oe&vUC? sAylmXYv'J-7ll$;!P.tqot lw9'8d ,׭sTч ^MصQ˾LR-?|VȒֽ>G K񌥧?%;U9a1/ Gxt)%,21D fT $fkzCDdaB̠% v5u>Z٤-^i tΏZf_6먇e]<4:N~OS#8A9 rɺY|e8#J\h~;FMݭ^8в@rw\~(/cQZ-k._PBag'-'*r9yycQRi\5nղjJIpJLn_CRʲ/[!;R%(9( 2js[@777}y>ltXcWV>qQoi;_přxw1)r S)\YVK= se7OWGG= dFE- r jJR1fg,σ9:h]ڤt}%W)DՉUnȊ;B`^{*dDhJt8 B\騍d̈́){z[O.9HJߤヿv>YS۔.x:ag+S>Ovo!16!q,U_&vooEHnOeKQp4_םڥCS\v oXFA/3E h0݊J9av#)VRͱf,VRYkoyisV"/n^hUsvd\Lpg rV 7uG!]'ЊOuByo:\hM?uϋZ|a=R'["csA gisXg~m]F]bR-9xʜ8\yAY&ڨu[@%~LA-hK_xV~jz`wq1Rgݦ>V$xV sk;h? > xF2Dc'cY{B_ +Ppmo$W+w=y@׃b$DzJ*_LvwC+1$h[]~vZ|E^,O)hׄ}epE}DpR*@@bTd(:Mt ~xN%bqI?ڔ9uCڑŸv\ݭ\]̺:҈௬5ٍdn倄#pghu؁~g3Xm& ڊ%`I[p9wbt(_Ik/^uߚf/ʒvE]*Ѡzgpo?DWt1;[Atd is~.GSΊ^&m+Дe%0'sJOh`ڒdX ?Lob#!0??RL04XΚFһWX[K|*gv'fNinٽiւ*V]#xɢ`:_|]g$s̙u I@V3Z81y픠j0dq#Dv+O[ޱ]34GC!pS4!f[.m ,Lzp%;b c!`S0Kj~帘D""͈KF-鋻MT֧Vkg&R^dc.|K1-4Wf3ɑ*Xr8fA*c-$B(z5[hdKm*R%Ks+ߌU$XkCˀK^A! Zy^Eo@MA d/XƷ2MfQA%6?"ֳ,}<ИJ5O0Xf?" *bU"]=scW:ld }o5:EFOZ~Aviqv֘Y0,+ܡeͲ|~AAڋ+ۆLd: %Cn7"޻l>nPk3~:(` 36pf^b~2~BH/2I*jL vw v'ؓ@.MCfOɵ'\"3fo:‘_,]#9 !A6rĂ‹10tL>nt /C(I[kf3g_t$>0jH"1)vRvpFWkdJP{$AH-H>b/ ΓJ2[.rH(8mH^>n4j]_js3ֈ=Q ItTaMyF- ]ƟgSm7fu[|ellFN0"[)Uk8ݣ|64|pw Ohz/>/ _\lYAJx*E"}h`?{"Riw x.TQ5]<}ßt2AdXDH ηq(Գ&:Xρr=*L>HbSvgEOa)|a&"R a^#fBī bЯ˘+0jF#vU|ZV=dQۚ93ȱ%luS[ooE<=f "B ԅi>4?qA$pI?F>"cd ~HD̋o\ɩɼCn[sXRx-NUAօhaE[on㧦n!w##X1qʄAOwy]\,`@hth<}P9pWUTą/#bIL0Zl\lr+v^W5L4XSmeU|34W{:̉ngRK9"ag&'71\E3?^gN5pTK|uM,S F<)iE(2w~Qr1 CaW"ӛ_%vՂr7F畁05ga~3aFbAf6ƼvdԽ:R.1"%(2rzSBb$#|"".+g6gPzQ~l:S*[5ˊs P߬#;p^;=Vsi3m5w7%YnupSkZbJעis0S. B,&GF^Y-\ ; ϒ14\|#Ag;vƨ1''~BOHIg "Ns 5lLp"p:6mTKl)bm-;U\a=yᑒkq,1b?~P XsJ6"CJI1Ѻ17$H 頲J!b lw$Ucmڔn kG&Ży-w5G):5UXFq'^ x 1(Y $6}x7!\&݃+34ZO ڡtXQWd)16]`Ie@XrSJّOޙ#! CX argld0U\KZG+p̄8dS퍌pVJ%;2cBwQazVEWܴfxdfWag:9lCٰ"mC ;s\ ͕ kU 9+ۛ3.t>wUCV*K$s"g>Uhi"RN9+>sJ9Gqz\ h*.Vs^Uo+3(* "g+\x +tf"X'~7;w~V*vt%Kz+9O>'`@P[s^aR (@ gJs,4\aqu@Aw8?PvbUtk~GȲX~-$םbox f-^&nHُÛwr^~np4)˽IbQ:Ү%FhWaCX*ªM ^ӕ9 lZ6,o^Gni&q?ALN(s"ԘwwR1AZjYfFG]4dx?J\O8E3&NNf6VFd}tB8nQ_f"{eCmJٸ9C 2me}@7lQj-L2/, ט-wϋ똔:6vs֡\7=c#.@|$ 3d*yݘYWL"{' Bҵ<#dE5g9a !Vbu~ FTJJB ^)5Ӈmly5u>J0/> sHSHQl&,g껭U|Ƅ=Q؉i0p##IK0 %ҁInh E~y 7ň`q~yEІ\A؅s՟\>% j)0Ck*n=dA#2}n$N %1Pƅ~U .>J9TX\6^i_U (MYђgͨp/{>ZGK8T 7@6ǎ`]XKi/8Pql1*\OB`yk!'+UyPbLXpDv~oc}ڱA2껸\FM)WNbH\n ۅh]dxnWeX;\TS9(Hdd>ECHHȊmxsU n;I;؏D#owӷ w ?t SA$}2=uC6W@lYnsz?DxD}kVKiXv%F[^jj(G#J*YN,d X1N'h\WyZ8"Zt-yIgK]NI/d!,qU GPd hYNa2P%8Iȏ͢] %j㸎""т̿K¢O ͶJT-5I!crYRwx%%U׾i/bh@1)gQ1wamñ×$/L03/!YcA{H>_%:*P[{8d(pOo ԅ=ǵOFڴcFIE'nSAܭ F[n@#mskŎF))]8DC_Ԗ'#2y'p 6rt< a7yMoI=~ʾ!8XoFΫK~B0 w 7(CDvw# #-A_ZMeMB+_\-̝G+BS׸X!rm(K"9avY-GiA7GJHw?I<*b,]Cz{K#P|MlkJraL>&yrc}b?_጗Ȼ8k{-dbZ:_}a0JVSӶ0b Vn^(@mcGH\յPnS cN ä!R{6#I-#7loWşq.oiY\r;oTޓ t_>\Xaoi)F^^:͘kjelb<1OɃĒk:ӽ0%^qG"&@a!>䌥uX Iaw³ʹCYP]]OGf"UlUML>NF:w g'R}:. `i D ?3R lwFq!?D'wexz7v5(<kmq+ƒ /H*tNɫ}ݛCLQ"kϛ89FFdW{5 C:qC雰w{r7~_.͎b[@m(J*qD|'2-"FH[GWv-Ig*7lθ8*ve%!ncoA^AFJ cK.s2+e /\EIb;B\*,qP"zaj-QY٪BNsu}:~{3_rWuI !IY1bFrQryd鉸%YO#:/tc1F[ WE~a& p8b(cġOSlheI޴R)aim& )>5qҵH@{T7?32p9]K* }2\E,gk" &\x׌hp~=^ߣ$!ۣ6eIuSiĮB=TX"2":5›qHғ<}wx]~'0l+uQixoQ:8C~JVC+Ug/)0-UU07 3[G̰?Tq7aalOu&](IVF\?x27- nHLw,p] Z}Ή:e/>ΛSF9\Hyk@NE2_Nc{L ΫCQ;j%!(ۡVƠɺI>4nSSa[vn+"՜n5+c3/OB,8(텂<˦T7A F>v/x^2*NyqeO#TƣS[(r*o}3TYպ:M5NlO0; x(&Bs0-*`/;]ѹ*DHvX>X.4^!I-$>{3⎾xOn`Q v4Ə`Wo(<&͏Ʀ'U0l `Q KuTpՏ&nbCrE+BKs237I3-'?8m6%楮2D=T~EhIY@ ;""# ɡK+q{t~砳b]/`@|Mʻ  sc4ӌޝR O:/zh/xEIPyPlJfrLG@~- ɘg61=*CfwJ4fLA}Ͳ&-+c[88N!A'lcr=)ПM{$y޻]3 3ِ\*J[׋ K`d݂hϾL,Hx6XKp,!4y7*Z/Qrbā$cL"We1Ȫ`/ۧxOy2 RCZ9DtBlu?z2_I봕k)Z嬨kƆ3&]Hr|@5KeuhBW7(B>K*NCJ\(>7颁|&E%iCdYp9>ĦJ싪Xd<)RfTKddƹeu>}7diM7#>$Ơ;B h|a'SXh`AZft!2l'%.'n!("%u/&:ƔTy.G>/2eeb/eLAʒ(#3 ~,Ǣ8z/'FeI IםهJ>)&ĥ @Axjz^̱OQI.x.Nbܸ(-gQN8~jCgr2LrT )@ɔ@.Q;?#,j0s~MѮ R`6]~;T <=L!D`̪*=2ʜ{Mq_EC{[S  &VeL%FMO.0Xa4sY2MZTo"0]Kgi U$aܥr&YRzz\ ؽ)yZ|}D\[[HQ(? ߞC+ #F ʲp veWԻL:vLą.M^p ȹe#{ʊ]0a]A~"sJP85\Epe@n6ыxj&{nX&$(1Gr$~JLisVO9`(4vթ=MYܧiQP%cԐkX:*킥use<蚈yφ!`+:q;Cotb摟g%GxH\б,aEoyqQTO1DwWoBk3SF/odOe$*a b[a/W(HS!9c'84q.'f FkeLLj xƙ (^j12}qM.kq5֞5Tv{qs ?\yOu7u8;x 8.%DMPวd>)i뵂;mUӊY%R 1ѭ̆F."n]ϵjFe#SUKhИ; /YdI-6?>Gyý=rI&BTo/# 44P,Rcdinw ^ D(¢#]aEH3b7%F}6Vm1ٺ*2s|UsiuBAŴ`,5v!\M#ޓO̅e|K nᄹ ƚj,ʋ؛e&qbJ7 r!̍UY"Zm!3sM뺟 wAhN\Qpc.44U=1DFxF|,t5}Ԙi^caoqK s@4HUyXѐP*&gBjS?j5q TFVdK>XVnQJf*M)YS>2̾Qv`v$R@=?*_thE*y$!T2t˔ͪ([s<>]ǚN:6xSQ"_)E$~.8)ATH et?1f' 寈6R&(4M~*_ 7֜O0]TԗZwo5Ne֪-*dw]$rVA4mmDİ%4v>J0cN X[gj)]p?U'%2чTRMDVW2Wdtp!^K%4zE9C}JW.vU?u'l I:Fš( 'O&̐|]K+®?CN 3ܚOFsODm_@'`8z]:Bm" +(j"XbݛGv_kͳ8ݔE4Wl'T2= SAyh=}*wªD4g}ю3US|K~xPG$wǂdaC`k;L,qh)eLQwzZnfD;X1 6^o\'%1ZaHs;lƀ57Wv@@ V2|eMds]E9pw73 y @dV^-[< ) Ǡ27{sâ aJ Іȝc6(^ۛQLnRoFGe+i~INA}mwF ٌ"1t9Z;1pةJ4gV}!WK Ul[sWoh6}vQQ!Ƀ$ g Cլ*OfƵ1'*g|G!rN 鉢4V/#qĄ}| ^ Xcwjla-}+x09vj{\f EOiy]Zu.:_8>`.\h}CL*'cP-e{W- bF-SoЌU܉F*Zm6I5T\e>zhK0ڐ-"ԟX N˜p+d0QXB) _izuփ45>2Cb.M>ư;O/ ƭMmmJЇuO"b 8jJw.Ðp$9z n't'@cu=H@k~mNeu+w(4me" \;gQvZ:ٝJX[g!CP="hm8e'>f"ejBڼ=;uBU{Lm %mokbPhؽ2Q8}xee?@>Twֹ^6FLprk`=n e~*}F|Qْ ?0Ec؞vPOq!5HF9֠>Kn"K[t)jbKO{"sf zJÐtEONqo qXĺAZҐ=װW Isq/lfrؤt. |Uv -Ȧam&e6abư5W ")n?8Wo\:t23H=agxO@?J$B=2Fs?;;) י3M[JS?Q&R}s2hxJ|O1Z5Eəͱ"ԍ!3 6Y !z #r߈ܘJ!OW,Qu Ī6gZ \3cE 9ǻ.(x~:ϐ4^Eg-*v1neCv;bWedH~XvӖ>ِD\Sл:?1"2Yͦ>=|$hܦeHJ C|$$H P-f)TLd <ڗ9Y7ܑH0wZwn~жeR1;8)08k-RVϪa>wARؖ?noKJG_puB)6[ϼ_:جN`WڒP8rTcozY8V~g.õ(Z,^w?g%!|W-* ,TE 3ufRW509?QIa0jT݊0@f4&ĦWXV TJdx^]z0PuHϴ4=#"Ln!:!G%–Ro)#ɧ`\exk.c 7/Gs]$$'ߑ,,kKV:4"LoyRtV+6)'8vOSb<<GPIf9ZW)[9L8w\p{$S oJd/(|֊Lu^=fыŽo[NԃhK59M ynVިi"^GD9K@ 6{Cb퉽Zbgg >mbtJusk?D% NP v 0b?/טSQ})_"K fNBXC\'ٓj8{g oN%xa|n-$vtܭz*otl1u E׊]v=swc P?K:+%95~h06lFMW^k:]ɻTQaU^L2g5!lDΪ-!j0O%8e`'FEoX~Z!(z kg`x b!+kJfGNz#u\+dr|#%w8 Rrwlohww-ulR^~]栰:`,͠r}š.y`4cuJ6w¢v)`.zd3TqjR :1}8<Û?̇6wd =*&|SNoSWxLj\$yp0rӔ.J"Ժ垊 |=rl鹥>Ŭp5vߚFL]UzkO+`"bE`jr+E+B |<1 *e!V}xPA[jDϭ7Ul>^I Em[̈`҉KJWgԘw-&Z"jlk)惑אӁ&iF%qq΅6wj |68vE.(fftܜI6 &<%ɋ ^Bw.2r&Eeaf&vSp&oM*耠"[ Aedw'OjDb=7=p<D,/71#Sـ'De 4_~&] NZ/Eߐ/1HV$<}fL􍖪n 6ViO*z~fd.iJ-SX*V$1[!}0ڼ=sZM8(Kk)= 3]d KxFoO!_iW8U'-΄Ec<'!vN]'vjC䂑n<LY0m:æf]&ߧ$FVM#3E#O<1g]毊ky<`K ҎP4ҒE)Vҟ /]`Ǽȷf.GIN'`j=<|VO?yzA#%e*3ѓ,uw.H~ysJB|\d( HeEcj lHqORGSƉɹ"F=\^c݌2G/FT,CZNh"9t(Pq`ie %zG<\m13eQiW H~?oEӗG(+̟XC/]l ͺ֊z?&r#C3M .Jb4d=a8 ^5(Pux{5:^T hrv;d +uX6$ ĥ&Zj5drEvu(N۠"4N, Ea,5#&ji31d%a Ů"lwhݍ `,jjO:nHD (q+;+iy+xJDn5rm E`+5v8vF2 ތHÐ~'(۷Q"6D9j@ȶ.Px虑9Tqv ͏/AL y 1t/unbO6˞1XVr79; 2Xlw (fJެ1]}a쥣v1Q[^.`.lؗD6NdsBA6޽%O)(](\قkBv!9o*~G:;:eH^%z>:(x ۳oQm`".ԙzq (N6꯫nW1Ьs(i~^7\ VIb`\_&>7R)uA ABA5 cD;.0 "<ѭt ر7 5hzlػTL0P) 9M.ۛ$Y7kίyCV?udTan*e!1YC!^2ZaLin1M:1ȳK]87)!eFB\Nr%YllRga'%-Gdt/;L05烁0㛓ΧSQ0+Ș}*Iu͑ \THgNZN#P8ٚkf%\[^pڠcv=rD\.cătΐ X/_jjPH?1wRM|u2¼l܎DImE>yY_gzW *Latvs)6z7RMu\vö}ɾ >љfQI$pׄ-S4BĦP\ ] Ϣ$e̤Ov!aUYfc=SJ}ODEgY٢Er%m:U4es$Gr +\o9^֒0ݥ꧘,`Ё1yƑeN-^kҡFb%l^6e_GAweϴL)YST\vӎgҦ흄 _#?0A o I I|Ƙm{9$62U({ݤ;aj̳i?w(@?U[/\PF>VJs%w/=fmw77k49j7xP4+% QK=8QS`r(Uy5偖|tcsb9qE&­#mZ֊yA~ߟٵtlaxJ>Q^d`,B[4l!Z'#C#peЖ3"iR&nb`R&Gw,XD[lR|B|s'g ~%D:$DsƿO,ڴiUyMHN!.E84n; =Aͪj7Zf@CXg(?3U!`p6Imdk$W5A 5?IFq拽He諐E`OR\c@ ov7\vB|\߳B\f)Ƀeܝ=YlH,kk1a=%Qp.9 ZXŻ#B`RZ" %auh6-Gө/LvZ>pHSJ%񨂦 oU| D%DwI(5Gd7vZPv=WmGX#R>h=Gdv?fJTbqa! 1d7~ e$V$kt,eF)ty{,7L.}xv\R$bً\+n'*+g3ZsӟGWf'O7;S; x1^+1ڼG_ oB: 0v%#{L̟(ߺKcO]M۝b6WD %N.;]NXIyM6[e8sӭLBԱ`Ic¡02 j4̀rkcoZk̂"5~.U Xȟ" fq$ t`6aT1 9x2VKg gmW{kgtG5Rů~E8@G$WDn] ,褎c;خWBs45UHWA]YwGWኤ(.IxzL$Cgf ШHX[[i MJBl]ތZ))I}AvFpu.NSxph:I]k$|};]PªC:uWʜ_> SFD*`h`SqDrQ`aF.>S'!h\2LuȈ/sz e_R82.R hlψdi0-`jW?3A։ϘnfzfZw<ƿ%4azrGkzZWX:`rF3yu+K ~ egJdhi뛣'WvYt~:^,>,)KqE$/giNS>/ /dr1eE cz ]H(8t} ս^o'IJN t'j^j;FOZ}jb}OdID)~&;x <R$⪞.mr{zx\|s.`/]1eOY$?hBe*pvVMh@1W|Č"mr;pu;_}'*-h~_sWCllK}NN 009R'bnw+w_s8iu1cZA}iZs(!]uqen0|W㰖"\X7RՇ4s%U*LIj)?~$K55%X '& рJ .H 7|43QeJA,2+nmojAV׬+%gat9j89U4P:wx5h=UKE:g6mĖSm'e|Y s[x|\͊l*;1.@eLk?% ʤT%fiGف624 YZ̟-7he=;g.'&aIxF3dÃ۬2 ɠrgY^.<`Aԥܨ#{\;sþJL ㄤt@ofY?q̝dAwYIV1,L#pP\=bUu!_"{IY\Lm.AsEgTH"u :oLHZv]]/c;jt2:Yg`brKv ?i>f``hZ\8U ҽd"T(H-G\:!\:rM\GghTU*f}> Oȣ&4 Ym"qhKv?@)'cn>ŬF (ePDWbRYMG:ܺ98kiLѿQKx m!Z].ւ"SZab #RFxR.T}l;+ph; 5/o'/̀zdøuKE:38Gk 4|PW, $~OGAEHqœ IbnIZ%ю[/ʖ5m]RU){^e=y drf9 PWo>ͯj]d ÊHQyT= yGf @r` kۅIRhSCۧ&nI1ctlդH:cX['QZ7nΈ8C3hx }v@&^g s>_8쪓"M1J~Rިl.ɝIi3:c@~霖5*!*6 ݋0z?KJʶEZ^Ia9Wu/uǒSjmx`I>9'1%qw9¢.$YO;.w%EcCp`y@K2\$ՙLJٗ&DRkظxO'/ 2 utiԍR%2bř-)-ՅaybQO+yB MF ABT+X퓍J qnQBfp229UqF^UVxϽIx6|[ Uc2W~?1x"յD [ 3qP@7ƃ-e+)N#Z&4ń#TtT ǹ~P]*=.)M3'PA"v~6) N4üh#(T49!V&hn(KW5roy%+l'io4GnmXL+7 /8+*'ftoDz f_ ~Ҵ08`8rgU2ruR xnH)j MG7ɡ^(M}$au͌ HձwP1ĚF KZ/^wa=&̴Ի}$eҥ|0r}ZZ.hӼ]3Kn9Kb _Yr0J'@G3w~ xu|K%;.`K&҇H,鏦>!5Γ#΢F |W呓6/iu-l6e$׏Z iOOo9ז?#;PcgY \|"c9 WR%,,dKF {U So&@L^P$U? g!n?1 ulB& "NzSBLHq*}&"I")}P]|Eҿxxm NZm>`m:ߜg>!MyN6)Վ7PHWGGz }@g2;sZF WU qv} E.01qC'hF1S|]cmܪZjxMtoh~MҢ$sXyf\`x Q\G`.{Tj!{dY?ZLu] Ræn_g~ɯ_cU|#kjW/nQ?? %d<Elچ6[zf<3Z D r팶 6;V6#ِrw֍goh˟@d"N˴l7,ʏa!5Q)u$eeEҙIgE/cf6}UHdM@BĜ_茞 =f$/ңܣqx&'z T覥9+~av\Cna,el0;+tcȽQlTȇut7Rľ3f=,B3 ''L=i[H6xF5U]oU7FRR|nɯT}8'D.U\d2jG3]llc/HzՕ&T&D-/橮æז PK+ìiiVTo6~`B'?.U5v5H> ]) YlEdJѵ\Ypc\9⚈EYn+Uc5z9M0W@㞙V^62o,0H}.`%k nx! /=h w{ftrT^/Z*ê׸!;+27I$cJN׌Ыp2\ܶjh3~w40ѼgEa5BNa={R`GFF:kM" ON0{OcE ` n OoQ?O (oV׬;np| <M X\|Q̰$ui|:fɮ ^˒ MSd|k}!eW~g+sVcMvU!U i>S;(د통,8t7f?̏5)H*l\%D lD<)5aCb ,֒*kj}Q 1G)KA̳iT"lVMAY<6 p. :4T2ccb4ӱ#l#')f^O5ʋlz 598FĂk8_6<͗eorcǹ^l c1C<ʴ+}`ZHiy`bhR7CvZS_(s Dʑ,BL,G^Ly>Fi]SBh2-Hx-\QX\})B]4dă%2">HӈSC&܀VK~Lԫ4+].UroZ̈?n £OCroAX>D uf_-Cm\]CT% YWU&( Lx8iW24y|mc$E@mhH %K+8yGVP)r(>2s $f4Y/^Ǽ0&|$sυF%jV ChghFm񴀾ycw(hMX&+!z5h7zʣ9^ >fh&* +]Dr(oFc{J.r}eas`ǘ_0274FUE&aK^ (uLUĊ&\d(5^@ F:O3k1"2AF*-z4kZzR ?s³r` ,^Yxoz@tyl݁hTg zu4Yp;~i aS%ÉO6IAOx0n%CqcFȝOdj_sլ$S\PCfkڭVb✠=Mi`-ߴU}P+ǭaJ76󌈌Jgʨk }mdF /ꖓ44s8H5\V&/i; 00GGk^UXw ) &s6 JRf%t.=2ld5$$ r*yvwW z,ٔ[õXk5*B m%-qЩDXZW6[^PUնr>ZR@lxu|$I변 2&]8o?e)jqdb3p[o&ie (⠝6Sp];qj嶮JMwA/FPM$8Z dÂ9rӾ UjQu>hí~z<y.3nugE(WF>1k>#qr<:£_ A|  SkS֦] e4lݒ:w$W]OZ NN!ㆴfUTN LjSVUkm ۙOq_!q*_` :i-?6 ?صh6z#xzЛR((֎1z*ܨ r}rZ+t3݄{C9ס5Oq<6P+UXlEDM-v[g3M IT7ME^7Q/.6੎!rRU/^6r>]msOS{3+SJ/LdC_("̨* ejp·ǀrJKu6 +whGH`BQ::̄wFPGc2v|J֧&& 3* A/Cݸ&d0g6ٍ脖*h,ldNzȵ{$W\p?7,wtxУmg gQ4q-<*`1^0y&ʦKr.:%[JDW[ֺ: =T4"j$V}EUA7gZ|_}* *+/H1\uCDS|uฐ_Mmb&c?BQ()<][T&=5ĖU?XwݲY$y::՟9MI;}%4YN_>XƖW3A[hF:|>R?T\0  s&v(~ђWSJe?|Q)I4GLeO(gK&MJ=;.[TR'1^6;}:DHeUKQYJrȹu ޘ'Ȩ [cRɯ@w 冚 hy{|ֲl|(bM@I_Yaφ4m\ynPzaWI|`!pt>G7٧wihT=zpBّCFٯoؚ2 E$xwdL'ƚh(ɡuw>VAkB)W3 7ֳ3?^g5di#S'zФMWنOЌǚK9wU4t˲@.F/Cҟ Et,5YZGI4NnFd;*,\j<i1VB``Ð8qfALVvIј^ Ή^9cX7π:_Z9s3  ߑ`%~4qFeI{x:\Vg0/H`nnOHW$i0 1rt| uςX1x[Zɂǖz2U4~k]]$DlCKpvƛc яk`,9+PSsƝˁy=D='8u䪐P=q[r lijҊ>$׎Ljf<}zQ LUfms5)(qIB gyzh hm5`< Efqri5e"f%gM4zF[-(vSqSG3J bdlB]D2}Q:2V/G75 $3R\v7Q}Nb%a0]XN(XgY^&vNU].C}iK܃btyGw[rry*Ue=jn:*LnːwkI/\k#58,I Q?Ȱ̧&DG&>'ᦡpsA1lM`y0zĻ}J1s̽cs,%?FTT_ `?^$V*lm7-Cw"R\~k:W\Xɑ͆YyIgVqU[+%i:7ƽ$½'9j.=^˖JFktLv[EqƁsk/XaH&W6k@DB#f-h8XCo/^=6l;2(k.>A臊rw]R0̓'2pcϷl x;E>[Ԏ3l*5Kzz铯ks;&~cQ*dU| XC/s.{c.\Q7|-̄$jÝ8dO"˃{[Az݉e(夃TQ Jԉ1veҷٱ=/aHFn`C.5T PB,1 9L{*:kb qT"EH\9ُ3L=4QXKrn- 3uX֚.&0b:?x)D(hBXQq@y/Sj3Sݑ34 BPz:xʜ9nYDTx&,V_1t[ 9Y~f#\ c m} Nsr pIX(=Z_@ %V cέ4ÃC[7`cS3 eϙ1s1Prm_TTѱB+ 6|oxƻZv&21nEQ=ϕ#dYeL 20k 2GgVdG@zY6OFmvI3T aam-`d`!0T&*7Մ<fH0W[hQ}7Ծ|":u"HG&3vV3:j$bSڷh%CSVn̘Ke@pa\=ӆxbZ|[ͥPzfH 'O=F4w<MJ!YME]g>ɚݏu5fuzM82X{GnQJMOVV[@˥:gI-:wj}>{y՝=' uUm>G}_uxg^y1ÄD]NMRdlSQ`urbPy͞hj0FCp'lJu] S~xJM_b~&h2 |Ϟy;4{ HxVĚzHm7UC S< Td9<EU\ɛZ'*]̕=Y(+| ].`) hs=)nF| %Odθpנءzh8 `yiޣ @{=Uvo I>ba9[scw̛ 3[қbEk?mbHw{d7ԀJz,NKD&Mظ=SGqy_|V@:'2Kx8.9qe` 0{ s:=Ng\{T"(C!\k^3f\yˉOtЧӄ"'h `POdvXÿAjBCwl"M 5|߫g[4)>M)n!>sRq͵δZ!uu( gD~Y3fh QyTUBY2rνea!'(v!,DEYM1s{gfyOw?OF-3:E5jYLqt\nd6R If@+R=3/ 5f ˵˩`ڃ!h9ϭUy 4U&DfUwGiNR~ B } l|-f6-[W{"^U#Au'vn2p8 ɈA% = 7URz)j80^a/"i[}5@^ ܅l7SI O sR v?#<}K̴Uaډl &zT^YFIyް}@ >U&Wrϗrȴ{6hh O=B-v՘(=T%D3BۅgzntOD!)уla'B]7Lt8wjv! k>=\ ̉=[]ю+FjKň ,M83cekWc]M؍P n=bL( zkc:8_Z7s8>#i|,YUC2ՒAF^c_ ^vlfSG`kJ:oMc1ϊ=L| (ٚ C'wΘ,0(l?&PD'׷c<&^ڎL.˒wzͩ˾Y=!bJM䖏%+uG;\uZ/@cg>cmؚ-x2>x֨c)OjejH 8a!lqyX}0fSuo78{Y,/cjqŦ}!i>n5Ip4q>v kώgMg"M'̅}L,ioqlI)dH"rFIflZy<IË1XVN@M!dNk߷LKAӜ-ÜwZrWMm"{^w-.# QT \U-䷀wo/h(G\ [M>j3 Bfvhr.cd +]?N0"QǍ<* p͕Zu#svl/1=';,⭈k[ Xg-Aww8V>l`_7b}H/_ENwC`{yOt,c~, 0ڲƈQ$gY}VjjRYUFzp(w OT1Xx@hc62A7I p1r&> gDQ둁JxDi;+9m_3HdI2{1Ξ]+āAlQXv'\JIcqK޳׊b[uʌ7rΰf-^;jk@}0X|/ ,pVsׯ. *ls0Y4`X9(?d{_C+h'|Aqv| c 2@Iy )7~Օ55(6xmN** 4A|@؈2)遵l, pHsmTذ ̮Ez)'[^1syNe,UCWP40 R[ɟ<0۠OH XLyŦPs)O3)e'7Ѿ)F5wUv%,}E&s_m6K [d5A74WqyIy iL TK 0&jWn\c,O5&-'9NzRT%h U &7A9!v{=KK +2a*b}̦ҭ8Eҥ)_f]梏WlSy;ItД6t~K 2T` cf =Xxᨁ,NqRdQcCftwAv܇Lܙːe>y#HӪ9lO}u~!)R?X1ZnX0 L~13`#r8.;qjؕ޿S~fT,$&ޱAZY_ȃ2҆}P#5$ Lx"=TTG0Q/L|jCm%̟QW)X>ᬆ> zz1d9[Z)ƹ}Ո}>k|+V%$;&ÄԽ|j, : $%Uݦ |Hub_<-j&uV/ܕ)Uj!-颁`y#qfǭ+Bwd qu@3P;I"n%YM< /nj2< Bd1N_ ʁ5Sr$?p~?{=(&ƫ""OIKrS 42>IcE5C4}%\SMd]YG> )Ku9'iCt_'5/-?; R7t#zI`YYSX7[f$x[1*n`%<̥v`|loKTvIӵ52q Ӄn+0"*ź` 9,s!׀aQ <@=.f[= nWynáŷ (л3p9.8@Z؁g΍ 㸪O? [bbL dJP H2TYЯK8hOzo*Y'J=Rx;Q`ٔwڂ ] TnC6} ^Ũ(:90 !ZpVQyэ@UMqWvDY!B㊒Wu&];vZmdbi|3Ad h;*Vz,bX3/ĨW9be"&kK\e`Ԑ NkI@ck"h׎A}|^a`ZuIΐHpaSr <55g 7(H~<2 3YR4Ө٪ Wsv*E뭼~N} PP/3mbo:#U[Tk.f?bƵTn Qݜ1VE ~\Xh,r&Qp~3IT-J-W)ղdY^ |hq:VJF0j`fEOdU>ӁéP i> f'B尃G<Дf{{m\ %)XS-n\Qȵ25cëy̅ wVVqOd5)x9[)lЀFp/yUJy<lg SxgJ2ꕠ?] ߾֚Y}5@aᬦ\2wN)AT4-\EDJTW"u['dPQOiV:W^NW ƎL4*pnq\iw =9]Ƈ6W=ϟ\ِ2CD<a@D`ntUшq{ { , $4$Ox GT'to>w0Pxʃ(*t驸qEK|"WDw9שSh?e#/1 7[{yoIb=":sNqÏZg:@XG[:w\poMH щ$6O^۪$$vVX 3BSv֡`a)1LcXo|uBxG(fXcs02G$Bj [fqƈ19/(Q[ﵘ45߼8$@rTq R6܎V~Z%v)51+$pѤ=3]1OVf1یo=+23윣M?]gV;|ĕh%7*" 3zbktG B;,ozlNsmF2OC@S(&!$PrOHk7{)fVX%۱t'jH2qUgyަ=VF+9+zU1=(cor ĽVR|J2Wl 9^A9TygG0gUkIVj *:)uRXdlApqh&o<bX}SX5-k>ZKCi㛝q˩ m=zRz9 hs6F5o@V7;- L>?nD N3S[xLֱ dk%/oc`޻:ɠF,kP"K%`ߏwMI%SaQ1u%sV@ӔuEkNq`snz0UX<"'ƽ -ɷ6p 8_aV`!]YS'D|l&O>.#('Hff&w|E^ݶ 2]v3~ZMNrKex*P\Y%W v.I XR g(Hi8HclnPUݺQBJ`gDU%exK8)8t1B]&L / iEKIicOQNlstsLg6ciJޙн(6댑)lgRdm ) -&4Es+zl-'αPE<;!S+\ ~!lVfA-Nz٭':̉ MvwLwsЉŷK^rGBT)"{t >/Z$vb@P$>EHO}% \?9ڀjv 5a fnx4 ny9FA7]bD5/G╍lL ؐ_f0oҐ^RMqQQUQVU*ON7 2O=\4{0&!{^DvCZ?'У{,A%ZLL=34vCUU44Dy~u.b @ Gj}x;ז"^I[-HuчX]}>zᅴT?~聩L.l] '"~ Fyvp|f/Am9woM)\igTRr3 #eTWABh=Of6zϿOfqT|U3ˍC~DH p!~L{љZ3R6>Kȅzh;yLt⎅~awN?*/M֘s}ﲝ gxli7ۛCrm &" i˔cvّVp3^m_NʧZ(? WHI\څj~>D>jwΜO@PPOT1w  s,H%M<SXxXC m 5LK%zD| 7`eapɊ|ĝy/*+LKxqG9t.vz~ ΄ S*D5 ~0ʒ 0#I e]oa@.lZnFr "===U&֟$щң00K)ҧ u$N A}[GC% ʿkKxsu;xU,lT j-FѪk=[l}%u kea0O^O4^ΒX=?z7I\n/jə5FLeOm[oY,U _%["&dš*:NdO̅JHO 낆D#ޒ?[Pmdc9 G-?⌼o$y92MqN)ٟ"s.U .7Y1Ƌ3 b \Mȃ՘( ŬdUIN$JƎӃ*&0粡1pY`ⵤC>1dApo*eC˯+Jt=;ܪ?R2Ϥ,e hM΂StbH=.haG]u*ze/O̽z);`R-{n?/!@BX(Aq +ɲfX=877 \1#[Euok ){c;{8Ar絕i*,b5[O*`;I7Uj`du(¯F5++XKMi]Nv೴j5 B^!űo,{(@u^ܖx4NI\۟c;>km#N!h ޤy>M+ vE#"fC7sb FB NBp_5x{ D`4uWAJ1\j<(](+DK姧FKh@B_<|kɗA"Fa%[_zŕoR淂Nn@f)V@knL R\qgT1s?AR&'FXQ懭 h}khpBίd3箇P){ 8XSSXg.sB{<֗C碧8]S cY?9 Rػ^&Cفr9S~ U.hD^S&Eߔ,1yA{6Iodج.EG C!-65U( fةegШi]Y~E8F.Ɓ ~Gt+̮čWxb[*q&FVů%sW}-R9YIqJ3Θ&B2lOy;3N:8.Ѡe HQw!sEEZ|nKaV5K8٫W0upV73 (0 ^3IJVWxz;JZ-A,Mϕ|REfYjMK$TJ᧙줟sNY Mꍶ\_RbR@`fUd=9{; 74ffg41-;ӗ 86K'wNk{wT3Vgd,8R"Da"t9D_sɎ@<_YTf,Y{s`c3QRk4NyPnbjOklt-#9W:\Իwag6qD)]%d+1ɫ;([y[fދj-b-{u׫|MI!p*lVχAYj~Z՝$ "8`K}.ЊPfkjt#jTa0 t. Rխq3̀%-3FaYq\UV85hʽYNrzV#=N*jⰫ//rXIZ* Ьdd}p_qKoFiZUM@(!6KD9~[UmwCG=PnPO[5JNmHg%=C+1z hRA*Z>lIM{5LjU- &΄:yY"-G~K|'*Tq,Hy"5UD[+>o RI^0Z 'T fa aȜ̻ҡeD}e@ XȣD3 3 ٌ7緐~F}IHJ[XwzfdpPMWV4كyɍna:Yvostخՠ؛8YM8t߄8mTMqm4a!uun_;DFfONp9<`}7Zl<1ܘ( *\evB\M=>Y;B>6iKPY/%\W-eLnMNYc¿ 3_gAdXbEwUeq:iIqJqF?#L@ @e^FlhU2us &+av~WW(Y خv|go뻄QoJD$PȉM9ǰ4yb]S*1ߒ/! @zvܶڊ^sץ/] {4{Q==TE#(8 !,uiNdR0ņVlRgVC޴=4VpfXx|f>[A~ny)"/q+p6ZKE>rtG2 R 1{U]:|~ȸ(AyrlJbP0cB0EP+<ă$&$^TNkRRSޥ <~GOy5< Q ꁠe>~ׁifwNL5CKA#ݑ&{̽Ֆ hnIq >FUJln%]JvIm, *,x?9N4Nb]< gEkS % g8EU eL#Hע'U$`d)e"Rd&&1?}!-U{{QQ]x#>@BaV؜zыqLan:rr!CfrOD }˩ݺ&UI>NZ c^_jUI>&N_hzm'[!sr|Tx5?Q&҃HŇM59ĝ}d c?BrDg- /~֫JZԂkY}l|KJ 8H2S_㳻s)lZ GAI$[XUM5XM>©T@='7=4-}a0Q%}̈`o$m#.cvZ;T]=W@!!xu9;GɎk.lDN 7*(8@04BB-b2/(KhDKի*{fm6fp0z]^?%JgUzu]|Vc[YNU{ys*gL{[9D~hjR|9l J^C#N#f[#@Tk—أ%u N|/Wt"4uTJDf-/;Yn^lμ=Y5Y@S?at fl'.] Fw=s4jfM3o)} KF ] "-rmY<'ťE%kfVԳj9ի00"]yF|0`uKާ|}.1Ћ`y$D[ K}Sߟz\%3b98o &T<5-5VAF66(XP% %V# p5dN5r3%*W.V_MԒߞT) )A_aoHd唠c{~/2N=*P &pV9ٓه5j-˃+' }Z|I6FDتpNm2>ԋ#:mDCO,Aa_9W65>w!M`CZ(B^nޭm>]D+3Ug JA7KQ [ /t6ۜ 9W/ur_H|C,_ VOɹ<٫7(7(᭡c>"xo,jY`98> 6-^i|(y2P4 ?P<V{T>\j?FC3n- ]8KVN?G[-v}UpwGi=@3-nQ5==̌kl*N/Zw.5n^Ԭ%ATG,DyEpN,xxIF Cs]zvț4ѐrs0zlz~qY3!Lأpr?krt^Q˄ FQ{j)s`{?qt3E: {-x(xiVT**,Rl]91bBx7I3s!ֿH_l[O([]3HD0hKf`6(Cg>Xpfgo9< Ͻ[e /ڛP|2] DZe{\DoCᄷ}-1uTEx;J)4;뎽|`uVU邰MINpyؠ7ԁ."ːpN~?"A߳+kiƱFOR e3=g)+lfM^8`x\s-ܪYy'z f]WYa%hB|GX⇽,Z܅ᶸijmu5 ៸jԧ\(+ Hg&d, [9.:֗U|}齝,Ex3㽑(Lz9Go͞hu=&!Q5sh̲ML[ ]|qH.3j t5V&'vwp#l~],:5`;{p]kL,!El-öZ]kZ'%>a >X8% 5kghjyzY9sŔHVolU^x|Mga srǴnvF] K GZhdaٜC'"FR(G8gP#ٟ͹:227a3zs8'#&`CE\a؀XY_Ia5o# Ҏ)'j14CgkK/OHKr' )[ 'V5ܙ((2gpzr<@X7^dTʐp3Ws$7l!?mAx%WB̀/ ,$Jzʝb`$8 M~Z-p.䣾M,5#lؼiϯK\<}X&9dHu8@{{c[xGz~!Cp֬bJ0t} qm^nSg117ew\@Dy_MlSķ>T:)R#n1 ʺzl|^ktoœcUPUߺqR8Re4_$##a _!,#/t:5S4҈9!OK`.}bcR>ઠ}OAx!9Is ٫l]P[*P `wWnmk"e}y18FGS7GE-5%Dc1M| r zr!uL<Z}`͑ C9/⭋kf bL'D'Ou 8q cgBU(k7><޹9 ZyW7xDF)n '񖲔神d'kqtpGjɄI \( SΏf>W=WyDQ|=*CߧiBcǶMb 1gȎ3oZ `}cl5ǨJ]D?~L&Tο`ni?LVl,/EGYfO%F\e뷊' ?EZf&2,ȈAg7y}vr2rEȞe !@-o >S~,0͵Q{ حUz*ܮs FPcc- ,cߋ4-Xw쟦⼙#Ϟ<$KyS (~R%ZSMWZ\ćb֎^F6+"Fqw`ԣtVCH]wɘY_"ɨ0^ԠOC4!z2Qݢۙ!"PbWx[_B&^04uMsHʚGװ5! uC?1W]R2&xߋVLVz4 a$KDJ[HI]v(eAk +M+'ڸYIԨ#Ӵ`oq8ozs=6,Ǥ8fhh.i8o_00 2n<_vTWveBD:y,JZVg_*v Hu+t9t2X|4RA[`] YQ$x続C Z}c 3)R1 =|xnۧL~Jyz֑U,LC\x 7) (LbY}\0`՗KfBDc kI!+R!-it-ZJV.ZgQal3+j8Zw˖T|2UBb([{qpK.K`=DL #D w&z#}09б1W^'2b ts] ώbJH"LVriBCC,si`Q͉p>ذ\gT#Jkܸâ}㥺;&Y[u|HIRn^ԴW 4ru/d=Tfr:o{0ץ#ߖk3zX2:~UuDH,x ~KABu~"j29Io?d^@gYu2Mg(#{TJ$t Z zbu2hXR+usX%|rJǘo{T/R*5+x˨DXr5=c=8Kaѹf׭C%jOn/}b {U[TsVi} 0ۀ9<f" ᕖNhDsBb͒RMp-67Ih֧h!}U@ S{1 t+,,o ?HUqk(eNzUSCX%C{Dp.ߊ-0{\ R`s 'rg]">ۭ5+Y=7DGAo9IjZ(eSə3!(^ISR겡w 8FS#*gF6 P=E U̻߯* )?N}Cm6CRsأq4ko*ݕQo>~cn0D#^1r5/6 EYSRTfz/XG*@U7nLeoR Y0ՋrpV>>J0.\QҲ ZD\K-BuHnDTfL}g4Va@Je% N{7 Y_Jq4JS' ,{pɮԋIN6 *ҟ{/ I˛A5iw(xev|O0p-L9C:|Y$@$sikbݻ"~"|ЛذV,`2Εfp*Ϧ(iy=J#gŀ4gu0$| 'A1( V)aTh+g$K\P]FrմjJma &QYUsPa^^p랟ƽjeV < DPlykV}a_F geT(ђo?_s֠:0In_D$Q{ }Q!*ikq5?nq~XC\GZ~dC5Yئj%U7MA3\$j:#M$,.0O]QC-Gt]\i3;<1z9.m͜r_Q׋{ВuG(￰dڍϱM #pğgn>XC5Ts̊ȧee8?*K>qp5jg[uQ|lIm5+uoL=5J\;n–*>."-LѪXyN GTHpZ T V2^x^^sx74+gb 0 R>j5׎܄v7ڻlRBJy&gt'a2]BzFy$M'o#햂2@n?yz$`2A8-z%;ҖTiqiS9&fr}?3vlkn{ e!X|s'j~߈KQk6h<`xC "lAbJ!?2Kv(x (iW=0q2bX Qi7ŋaH:rbf&eÉH EJ^?knߛȋzB1\ik>$@hEk+\vV"ݥ^ biԺ¿綠PF \=(NLˌ%vzcuO)A 3H@m5YGYVVX,y9?A kcrYHS!ڂV;)8Bt/8Yag!Sa ;&q~xYHm7k t{BEsJvhhwWpSUҜoƒ{0Gxb$S4isӉi5r2Bf\v1xplg]5U$=u>[_^ZcV<>7)V .$H:.mᅵϯ8P@.  űBGxT+{}H-9 S294"a7Q=IgHA q?U<#gg5(_X+ w>8 %kMR)9U+6,m ؃m+N::ă Ï8JL4)F}*X<7d@WOkă Zp'Edt<asn__}r=+lUe+rۭ H}fv;=c`oМw0RF,%E_vG{ H lz? 3QkIkx>Mx֮6ʘm\ƙݍ9bYND$yڞk8V)#}" ZMWSW|x}mlYjhΘ/?ac L;駬 Ji{3P]dY\:xK1WJ= E>IBZ}$ڸB\bWpds|0[99 ^N#2Z&AjRnqV/p!`p:&҃DQ\v4&ZAOcT8%"&m|xO#Y& &Er˼db08XXnU7v*(s:~:1i ` û6pҹ}>δzn V)J)ɿ{LPohu뤔2✕!e9*pOl ?Aye?׀IqO>c|_,>pD*Nd>M!c4v kAQSbgm \P49}@j ϮrVĸwqP:4o/fc֚>Z%+U円^Xʖ3dGn1VcHgNES3;qKdDރ":kKr=xڧDW"рi:{~Tg{/I2"P{Pĝ2oBW q)w"1QhY"r[=RB v􇸃 ,Cք\gO  f kO'6Wl׼xm` !\T(;Wy{(66E},ҾA yWcyGk^ '߄ϋ 3N7 Mk8]'hƽ)B_\JH :߬flk_WCY(ncNgܞ q34`E_vAeMgDV yKш5;fm`0ز_QT߫jO 5j< ʶf<}0LAiOwR[ۮ"Zg{wJ͉p'k:f[7CJa,W"ɧiڜn b Kfa-S@-xk?E]>k~ZQIh»N!ECUJ+!aè7~  !BnA\#-ՉzҼ䘧Zk30 V#Q}Dr­q_-w>zvR {J0Qxn-zB E@H4otD`;* O^tg 3ݴ:.(LJ@Fۯa=E> ߩ5 RLr؏&cg_5PTR5cPҜ^SE[**tȺ$ANDfQ|Z’Keh0~>s^7@tOi6TR],l4>a4'(B}g:1+dG"c.8Y睙ቑ )'T-Al-rIQenAˮ]+,DGiz߂tQiJ-Ǥ_Zy..u>/9Y;,ԏTjHSeMy$Zи 6D~jE`'*9:V78u`tPC7Al. -Ŗ\6l#x&*beO[(K<Xl l;;hJ-46X758#!ŖbǙl_?V =:])^;E:C-E*lJ+}lzf =|%!٪8zDl-2 zY W8eQI6JcX&i+n$=%XPp'Îhik˃̛\ }m|㤉c@]4tzwɞv5oLJ. ߳mzA,pU69@o5#T' ]],)*`$~\;.e %H$ TEaxu5L_57.(~8Ix4ģ-1޺4oj[AzUsGʛm (WX7;,F[*Rm:CIn"FᄕJ5RL@H(GbD/ÅUMu?A]#i~K>M#2g`eFuG },jŪN"kye#xь^)zy{L`yޱaS8c':ȅY¤IaI2mg"#o_ZR/\=k `v8\!xBdܞZrw(C U$O^م l4<6pFov_{vA,e 4~:E`ꬵ{vxéu X_؅' @`-vNJt/{ yWA (QX|hح}^ZYX pkKuDʏteG<jbyS7Zּ`4XlUCKb'#7HhXj eX&2҄H8E :ijD r{q UԀO 0tJܔH !bnLd~14c/UjN{3Z=Cz4 HCYScOGr&lu4,\Lr*\co] ։E9'Qۘ$swص./EFjۼ\8#_IGBR{qj8&C*(IEwyr0/g՗ͣF9W%jS,ӎ}$~di7fÙ]s2B 1}5:}Xt:lL~J{hb1bs>Dg /"81[T;<;\:yOp&,T;u?1L_PPq ORM_gW9P8~iNGZEY?//VveȵSk`ù0lE=|h*$UM.R b"۫M_sUz?/Ya/ԭY!g[];ɢ*y{XAYcZd os JY}eXQA2N_j:Jwn =}잼Ezuik yz V?в~[p+sBLjC+R2>j!6\bþ/ x:DVU3=\'lR-Sĝ -Wi۽DA*Kpjpw2,0DNҎKc7R@fG|( 4%m(kXscJ"fn%bk 9W(P| pm+' d\LPǢc#J=dZ!У<\akU 7^Zux'GPvm[64F&>__T˦aAoË; 0_ YpqT 0Df[:-b.XO$ 3f'Dm;_1?YN 6-EZLw@7$~  kL ~H5Jq|+y լ g$b sGrw`< s?1b Ew;~!e΅84FJW$H_5aZV4/Fza}GVcwTP,y4 &_W ߙ<:cYpTُU|4'&TR9wW RY&r.Gw0sh!ifixظY*o)-K<^搲4bfd=P138ekA\\.I3 \pb۞3l\T MܟԥB)>w\ kX{r6a24ʹ׆uO{([XiiȧG`_] f9[0d8bѻgBwhrt:-f o.%RvhZ[:u`:kx,nNXA9궼,\30|4c1kk~2;-cPaSa`ȇ#]_pkN='~n-M3 8j>\xW:-X _8i,(x4t$OH1;:{qٶvI4쎔qYP!IZDeUptaWvMG`FVlo9-ݠ8v2I{k$3U~2}sxtG̸p 4*oQ1m͖esAM9fkjš=UCC_Q\zg_h&~1K&aKYא,˫gWuI %߄ l$99LB~ϟ}*L&ȩiZC<}`٤3]aj3 )mӓ[c1oF ֋lXX9B$J_8k:[_x(prؑ>*ߵBR} N8$4a'A<;5(CADQMĎ-Ҹ |+$j5cξ!9Qy,% ʓ(b~P~l>[Axa=J+$<:_2J8۝721v]S6$E'U^M~v #|Z.#WT י_ydlE1DݕF~y읞\0r՜orM!VS&K!e{'#HXF_Yt,@鯂p >b+ꍵ5:t#S dK̄㪭Eqe_u6KAAw&ܷYtD+"k핂*6jYv/)Ԁǻ񝟟Bá| eZ+]dO26*k5?Ŷ K;?rKP Z.&GɊxu(f O}vnm =̚{&8ֳThs rKM#`50.g !3D6(1j BP[riRξ1W MN2 =R>9f)^JQAKo q \›)Gi`]ڕzG&[?} 2r ̧?P +p+hk~FO-]Fzc.XĘ˼0irebmOJcʷiQ,&Z g):=9xdtg |̜`Mh{*^aZM`TM%!9b[,^*~&&n"3w~?~g#oCEXu19 &4cc+>R%XCQKYVduLJ~xz텵M N'jhG̅Z@wl)>,XW)TEޜW0{T~>A&z"с}61u*fN^hE".n#G]jRRQl@؇%,%x1> Qa!}w\"h8i{tBv (oQ39}%}4_My/s\%S2b"Ej\vo62)ŀ=Eۀw!+fvN8_ﲔH4п.l}͞#rFvŏgRgs! mo#NtǥtجJڭ^7ipB$V^|1]YsTG>R6hMTXwB֚Kz1 dGNo-Ur9keyhίec2 D"ߥ6%[_'%l z6 Ÿ6@qN!f=&e|sEPo_oX'tcmUC\Bg֥J?# —[.h6 O/'H_C1I6믛lӶŸYk/&[L * q"n 'F\4vmlQi8;sl;#3yu1!{"lfg~ vbwT4Uo!;(޸Yջ^z(vY34}T5?@^^j[!d^CnF%bWl7K`K1.ԸUp?aUĘ]r 7)ڦQ{/>sz(Z|VY~;&:FҠO/e2%'ѡI5 $QޕVs*"?C,~l1k/GJ ^#FVM)dP`x4өEc)ULʳїmƤ CZL-n|6E<}.%-Ԩ4~aمk2\OYŸҵZYnHkH.+1_&@7n/\ڏ5?ďfW!/D,!=C uj &_*?Owy>"=i1T,↬2`GFtO!u \^>~Fi^qjbW&dtf-:/Xhdş~̮^`]@ (ri@|N54 z€TEں5j''ݣ<*}E'M$E@B2|L(aO|۹#Eɛۊ-O)'' tsC/&agYڐK]o}'eC<IKϱڹtpH0~fWj y SaoMG;jKTUΐ+ :v[ im!*2pmI6;.bEtpu('Pey^n\=2ߌ{*“ 3V!X!{^ ~`EL4VibUKLbB4HQ`wylS5.sO(]Gkeg6ml5銣cnS#?WȟvU,hշu @@QP!k) έl N: wU42,ܜ>E7<b}n-uD `x o/C Kt䖍o8->Jn Xm)ZsOq|K_ȯqplDπ5}m[yƇAl@|rW" hؑ^NiKuQw:=:{0^"\cB~]qQ "ю&.Z3(ޔK#uc(I9Sp.jf@dmsL NG}.F(mG1 T [WZn*p)YIY2JrGnő]L WsKX}~]O4S1qk"Ie{9ܯ{'SSo@C`|T22*f>,:]_|DlRjJ{rj*rFa[%ශ CgNp~]4aOPE,U~*2Jڋ@O FFpqs&H$7KWuvW_0Ʉs{%>%i6kmsKSosW^TЉS@Rt[Mds2# >i]ye85\^+rRur6 ig'̳4H8p_}Lʎnހ֩RPg.D)C9ph: s NIaaŏALwv1-o\䍶c'5QvJU*_˙1H`#bm$l~ tQ/7D@ 2bSvJ3-!!GUܹ#ƃ֋-Ҏޖ;CԱ_fJ?\!B4=,MNt,*P:yq9]-jc3X<pTW54*b5M+/Yv'}1+Q6\ U뷕Ҍ9%$fp8.yroY::IT>#Zwm/MpĶ:h9DExH[p 9WP|a 8\ʓrc.Q%7Gڜ'>b\xAFcdwpHVmRUNX5riCmDF'0ZtwZ fm8., T9IPdF[t. ΫճUB=)ck<]` %^Tw#ւ0ߒƗyqdY4"XT-ܗw ,nU.*l+5oJ΄-[ΤUDOOт9Ȫp<Xj(PT)~]H]p,8e.nIGxCTMK%iL{Wժ-هt[~$F[+ڦo{DFﭬ ';4pVcBL1D[qi4* ,%"7H7.bƆRIK X6_GFr=.myvSke4 "K }<̵@Dus km.|Υ! **GVʹ$`. jtgHŞBg`7b%gl f# (l*A5ʏ7B+elF޻pˌ(Ċ5yxxЦ܂HKOA +m]m;qV-! EGaCS/).di*xE,* 6E@NR`TGlz̿}F,nV!~jz49Zy|qStg‹Ot< ioAG>4~xUXinL^BW9ZXN4ԧ-j{D2&:8/}x%Vx/{X:+lKe&AuGOR /&_Zoc_U]Z$`܈c"{]z*F'Jklk+xeƁӁos|o sQ" d ~Y25 X#Kۅ~56اh5iwv|za=d @ g|oBTax)s2)~·,$$ 7fM{6W#~FkH%4Yyܗ?_1Ht`A>@8 6rOҷg%NL@  H98"릵ylv6!\,vKCcYpu隊澤 R7Xy]c`${  /'bblAń?j"q孍1&`TjkȔz_l&k5ÝiШx{"HuVem.}{ mg͆,L[rQHK2dNɧ;p+OOAdp hܥZL=Gƛ z1_2<*%B@*1[p@6Y[Y&5CmRߙG!GOӲ)})z[rw̤Fl";xH2q+?c@1=#}S{vF^5?"օ%_JG`>A2!h˳* oru-8Zra꘳j1k~v\1}v acpnrc~ F ("nLn;F>gBlptk/[:ܦϳ%k^l!KmK6IvGi1T#MV}}V[R`zSARK}3u{=]NΩ{']R+7umi֛ 8%he3:3pBwIf h,:/EbOCH AK|[ڿa.ͦTs_.8>'W,)"bN㨁E t l> :@_+#ޒh1`0SQv{Y5؈f9sۤUAr$&:]OqOڙ5\Kl~:Y{澹F83P2@IPpc=]]ՠª/Wd.'t.?8]7w{ qIpݮx'Obڪ6Ұ뻦IE B|ݽ'ִ!| /e"w h!Po;T]'ׯ鯄PR+,LSϛ$ vqBP AɗzLLy6OuC#a{4|yhꤞ-u,E}tR2Q^"J(2z0"B?0]M>{ҚAt!c<gKI㰺l[8!,AGX_dCK7FZUVw=#\9E3U 4ylfs$| VT8FZEE8)DfgxlW7vJc `K FWDp&dVr߻jgzmLoSv>8㏱)x0f{bO3v{〦[n 2<ڸ$c)]^~sf!\,K:gX,#5_>C柊 nt-<{]DA˚ ȵ̨w'm! ˘ig..|6BTiq9#81gtTˈv.4ޖGS ĚRf+2ӥc_sK)/+ky3xv`pD\ 9|aVYTxjO46Gtkpqbb⍎DL:KXGNH{@zK-xCpES~5߸;-X?M<'n!@)0wY";~xlۼ`l x_} `x GJ'; (.y%\h/Y~%),ߑ[_c}‰7o7EiȝpA.~r<{]"rSɦSQ7nD/0뻥d7Y''|q'Y{p뵠E! -նC}~]TDre7}Z!vdtz6NA E6eN"+m<#mx6}f|Q,1"̀ol*rO霧P:w"Y/cf=4}cmW +F'}e63԰4EIҏBS3)ڡ8J_<]* {%3} cZh벧tav/y<% FنKfA pG.0ϦdmJ@ B͂F,%hʘɷ>t6'[SsTGC Ƴyu-yu׿(^]jd^ϟuKwMdpԒ ,9ug@S=+Ymh,qA/~[zQE%e }k23 c~@"4ދüOQ Nr+P%r e;JjTvr5$ͱsT|:B5 T +FcTpto%pT''Y<08%g2Fiv\CMtLe#?U.@7 K_YMM'?rV{+4u |a9||v G:ɖ)T31$BUBѡ}(p#h }3bn&QW7z4V,?YoP,)L$:V5<^Q]>h/\qtϥ8x&6։=t"\auv~ RZezHT -ST^ wo *ls fJT6i!Q[_G/7uT5F_$cBjXVEg3ݬ?5~cB6Di1 'oǵLWVP;Ie)0˵/{fDP2cHǩ@Y mE ~ r$WD-->Ӻ]IwI@inev))d[fzȩfQGׂ?fW< LAB67(0ǹ\) zւjf <6| 晓 z0 r31Ԣgri*znzւF/c)'Z9IGhd3*#Cl~`@" )OUD$;l%/ ^AcjnY]71nŬ(A()rx cC ?^G]T*c93{V5ͱS q NxeJKhK[kOV&WXײIwB7Ţŷr(G=gy{dn0*;cs5<>DivK- ࢇ1U+1k#ЌS v!IǂŚA#C~#)b=y>j,_VWi0sw;kl@. vv7.RAcQP̳ #Lȟ8#0(ss0nmJ%f;- TFYGf QъI׋X[VϭQTnOD6:ӂzGN[7Y'%v45Sբde%twO ^/aGzW]/5Y튯j! +24/xQy\KW.b?}W/Si adޫ'朎u)3z uQG:tWehܳ+i`)[C/Rܾs6\Ŧ1jeI\{)BGQ?6z(ϓߋU%< $LI'BoqADodsR3O0$+HI*ٽA\4;m7rtZ`|JBv+hN&=OYFKgWV{0b.ޚҴF!nQF+ IhTq!}|2bF/.wkx(ISZU"^q,|i}x+ 7O{CR 7XT3i8:ɒ3ɘc 6w#YV!`a@c߃%#g["$e} Z~AVuiJ*@)MeIjKJotjrC{E{WTY?kwmOz dbR0'@9`KcЉ՟ϞUq Q;>Z6phѱ~z_ۦ1F^GS:swP@) ENm|3Eon·oW$z(%dv{Uƚ"rZ ETKZ2[rN➎[W`$gw %/]zGx}ZّUȒH=rAFi?R\؄Ll=g1R&Eָǝ0fڟę}Q0͵7+ .RH?XfԆ`n6nM2y$Ɏ <)vW[⻳u %oХ)s5U@l1|-A)9=>~M<'GZU& DZBiw;脡 *بu"\0=z*Ŝ+s-e)YNKͭFFe|p;4W-N:-=:E%C*WGl2f)*FrRrN`=%bDFGvir &m24˭i]vE7[B:[C3Ti"~wvB c 2_KED]4>n@Mtw?ngDLV/8Jf [ 8N֦zljI[tFol]vIR3&ß&Zg>L60丛ᅴ)S9(}ր8I;[ xAh ݑ Lؐk?Kt#1h = _6TV]W}OR,rX qs Х,лz>(48UF"Z8 tM5yN5{]4YVj`SD>Bzn=0P8)&őɑTfBN^UEīz4H/nAkZ:7Q0tnC;뿿pJѷp C|=F pFjf@&C@i]@гA.kv {:^efZWBc[EYbASu_!4{*SΙBI#ᚁnA{P %ЂRO( u!*yIu~58:hm7 NE;Eu\f[e6XhdZ( 'PX|j47GS6úc>KOu9fH$AU8OՂY{ a;:35>׌D]2Lyyq',T0RVhB)17ȡĵdz%+w$Х:}?0Aqęz^PH>EdzK#!lC92eA:Vn9"ϕHeL`T%e,LVw]xtcU0c3 (jYr] ^oZY-@U^m{:/?gv4",UM|RmrJJR<2kb:yjUmM0:ucDnRnIZj=Dd]GQWoC C\Bd9"0 7M;ߝc U!נ$bJ.$Ӣ _btv $,KK׆ƥ%d_ȚY}} Asg8kBԱpSI!MVx<'ϸy7R.>='{;9ږ98rZ=ᇥ :Kcq2Kp:v֘>]'?aR|ү@TOL{syEZP%5@Z\Т/M<|,xk7%|ihiހˆQ.|gOrrfQ_ ~wرP5Y};8[e&ɖ# {ӤM}jT%~/<>%棰4saLvqT{˭?|$^22NpJnrc#3dڍaootw~ط1l(Ӵϗ<\d_*ڕ+w^M`2>U=GYAW_HoHh"zѶmu\ Ȉg>¢0~r5Xw_;jr]L%Hۈew'n(4!#N|j{.8"S+ˋxio T"{{iPNFfO/J`ťĺRjtٜN kTW࿌}j˸isڽ׏V$MY0ߚ!ei^ а?끅|Nq%v*glI.}'V>"#_ L82qs8;&D%+23l96N`[26lϭVaPp8 Ь(p(Kקg؎ˢKǴ~Ѐ_56hX WVA=@mrU~ɳ"q{g8)cc詔cv[nkkf؇GYi?)k)p^7$҆8ѳ &7>a6gȉ' [nNk܋!;cԜǏRNxReŤC y]Gh Uxw?x* UY~"2jMmot B.~M5M_ɪ yC~aA禜28Ň0+'O-n9yye8mV,=fNTPO:YJVdTeR K4,!_yZ_*Ȝ!hm'٭إ4S2<0 ~ً\8rϧW Z/\*@غc3峮Qq 5Ap3 V)ۭبalWQ^7k.>&0*j8^.40+^%EP,j֩׽ۿD(eAk-,, ya&m6<hsC2_'̸!5BĆkqR 8˙54D؛sjo_,(ʼnzn%]yp㳇C4c~&(_~?DÙ_я=e9 A?x**5ܻ82'8dƟn[D B$hxkY!cMmvLİ&6 ъ-7d\'Svs1FŸ w9E@J:f$_h+/^gI~4^J.1ze,TWnQgpWq*.K2wp\̀y[Q ~): ySLysI[d spz`+$KFCFF f@&+wG$[!Qpm15߫ՉRvڍqde{Np5E[`a{_!;,2NfвwK7<(HIYu_l=oΑi$w#4,Ss RT7hz:1gp#]k&&t<QR~`jhJW-*3Oyp#H@nGna<_7)d |KdVLTB _҄ZعErelqS{Ic]u_jwGδF%QU O>̐=mlP."LxF& :[|iS~HwQRRQF4ۤAS#PPяq 꿸(*MSz?s~B1uf2D16^i¥xxܼ~PS@=Np4oӣ/ xpS(z[֟l(ƙD?qWqߍɀs5psJ<Ocj8I+UC2Umݞ6(/\hu4 {{a&05Ў!-7Uu M{u(3N"l]M8Q\5or~d(r#b~Nb1k/x4署>z= k' )FN1`j3׽]'kRؼxd3};GE2o..4&h#DƓ"fIP:*XVS#/a+,fjJ`K*jZw) [JQ:BtwG֑st6ϯ!E/#˵\[f̀IeNJvmj.}6l"[%~)y \XDVJ}ϩ\rjPc7CiLgʈ'zRd L~Jt~[I*n20hq<C̅v( kTC`3kU=IK22w̽=#`X,s+!eeiB 3mgG26 9A*'(s=>0eAޙO KzFק3DB|/7,y*EdRS)ސ' N" +^æ2Y<8`Pjme#kk% Tt³%8q,ۯ&i$e0 uOqHu5 ?](gB':.Y.tޔsS]l9>q ~oY X{ΆL1*W+L K!igH'`]̚"ufh7Y~{>x]{c^ $Jmۼ[3ـΕb=Z5ק|Y;яs5R)p$6 ^1tQQZkQpGxf $h|a`C]ט3.zpw:VվͶ&t"}:fG!h:g_Tݿ7ey58IiriY3$Ƣ&ANZw ?|` Yq 0tH%{,鏰FDB~x-Ȋj_Z5&,sL3žV M+8TƮsytwx 7A/A$v@/Oe8o0nTB3_a x:Fg]:솴80в#$;^Ssv퓞X>bMX}j sf1? aRfR۪+Z:Y Q[K!i,\8 tؖ623DtCZεkYD0&9?ị J b%gEĒQ iJ<ŧBB#GN: l댢0M'Tp;1-[lNE" Xy-AxSNV;^Iw3;Lx2A5_I.WP4uX|͌ʋ&h'bg%C[Wg 4- w69{.Tlsmd:qj~eIZu~gyװg'G[O-j6t}'lb}tkR7n"^H9 @qJKSu%أa+ a]h`{,'/%tܪd tV{j;^!<{x˶ѓ3qO2ie^?\ATgqdU."43u&VjIAePaG$۸k鱬 Y{5f˛;Ϗ{8l~LA. H[ (x1U}EߥWZQQ&K[k~bGC{>͢bIqAR& 6h~M\1f-p]]-Qn%#2&ޑly..: C?ԧ;N\lewKVA:hqZr-2ϤScSAP2)~FNad8ǜ<{SԿڌhH\.m ?Yٝ|h{Z@w^VzG]ijqCZZ,ȓ.zr*BV 2ה ƙoƫc}bP/s8 |y4(+hBsv q.$ 0$j@ ?a&c'nи5npO0]6bܴB>4/*\EEDnj̣vN~'ND@\ODDo*/>fGYoe25CpZ#1zQ幛G>_]fV-yQH0~!At٠ c?13R>]QδNL13nt2F!/f*>^qhB sdC ؂8{þ59Οc,>?qjE9Յ< KUzkȘW\8ҎA*Cg$)ELؠeiƇݗKE%V`}Y\Wo(,Z+$P>j-CϹVA,Wnൻ 2O7iE&W5{=_YVPQbIo},|iU(ebrT y~;Oe3z8g;E.Xm'Gz<㜗 /19E4@Ʋqa"eB Men!~_\v".#q#`)jemu$,Zo mB.`38Lޏ݃VŪB=-7[6Ls;]@jS6k3+d~D[c}V#}똢@ -$̉jZȾl8O',79LD~C4xop,[KHNO!98" tƃ^\&7O%?v> ,r5-U0QDo9$V`uz9H-N T١m p~b@j-iiI<9L<ڪM^!qVA=f8G8'\4$oؾ/#4U)b-Ue9hZ`q8|NČdQB] dSeHW/AYM ؘ:/ cv/}6I^7R}w~t/DsR6+}A|fYf)՛}>[M- JS-r+wBX<'y >UBuqKĤ$Z+ 5v2;huAeNRz|P(\MIMq꒑'W&ܕ8Y?0_)q}:j Q;c92 ssԂy4_L xu.#LWpw}3ɴf4!y?fo53i׍p@0Kžc.PpS'I*!S9%$bˍtr :Ri`sB{PG2x -s 4kŪYgh]1I?CB&+얧Z*Q/|-Y~XSew1^_&L} 9lm8|EWX77]sWj3 IB?Vi329/,!y#Mx,9@z[m4Jm=YMO6`G\vrE gBX7 [NfD-e%tQ|BfW8qf@p~",((N 0=UzD>^;+8"KĶ0E^"4#ome/xuQܰLb9 lgyb3/WTZu9 t=ƕ1.("?R1Vɘ"2#[2?GEW9(}/VmZ* ]#TWD'$֎DkNs8a6~Zj_9,x&)F7CNqڒՅ^'-R|z,@gv碴\"Wjyi\(XifEd= N6Dh"[$dX/ QeoLլIw*lK:H,5}lH.d^XH[?<\_\<3%PXi+ŒS4s:F (XvV!p艐Hg\N琂1J1|a3Y)uiT|=4~ʯ0:sKxi^K 9msC^;dNtwAmإzg]$ۓ1dY`ZÃ3卵F(MH^Pʉ&NEdC)nZ+~ZSmH+Mٚ:C}CenmNUi8M 7yܻd0YpnYuCe|>l6 kl( D`ýF|IEkA)dMk1`536ϸ$zpifaw&BM}"j SG/^Je@ue (zӫ| -EG(nvQ!]^o.,C#~YG76m8}^-hFfzoJĽ$LRDyM.yC/ʜf'FҶčA@%*&|y IJ ׂ m5+Ĉ&Jqq44jkcQbEA)U> ď$e0B1Er6 kD&",d:GJ)< >c?+[\_uQ-p2sJMIW[,bx+-BKX~ ,~gk/ X4LqE,N>A(̅ABZb|msF^m]䇫ю:bU o2t@L0CT|nxԉ>}<!Hm1FYAP9+e/)"cA +{/Ǹ:qJ^\VZy x$P;QFj|`pytkzcXwuь&h0Ea|iBMK=l0{VbcL=B`roϞ}l~&O̐(_T35bv2ڦge,ג3{A41l]"^H!gI:%e3o11v\%Pz=xL.NE0L`:x`֛a(|$s;F<:A Jqv BYŸ wP<(iUvF$,Sj[UDA 79\N!~87:V[Dg ՗@M[_hWQMELx_g8 gMA:@@]T`OwVnkx `{zSݜyEҾ$S?`[rjԢ]g g-e5zvG +!5\m b'hu|V)sy#郕;D/cl],?U3&n ݦFڈZ/`@IYvrX1?¼8v u{ WqMeuGGV+]YɜjAxqSI);4&Eyȗ&ũ{4qi؀˿P pfeND[TєyvnN-r dUB]]1]k+ )io{ *ѿֱ)> B1V-͍u.C#xx`TYvF!6i~ً %$@y}̪M!aC@;qSH>'/"_s)`p;z&w0 AҷSU3I̽v gQ:;r#Vpuګ^O-1-]cKT*N"E bH+N MۅzcV5!X.!kM_Onc F!ky"&2W׾ڗ|N0'%%V}>\v 7H@#|+rUJ1:>/꾁rw KGlwK;4z`}yЎ=m*Zch&֭<9TQk7ivSݢ wd}z`= E D)a,Y'w(b$0 ݼjn0?rOWkc^UdRT3|O)SH>̱[UgJZ=J+sF\QԍiCw@E6++мT%oq?T>M@.Ӈa 2yjEo Z /m{Fzdœ-a*oGs w_SP5Y zSjoK,r}>ĢܳtԤ<7Uw* n:Cċ}eim/s ,GEsQ/9 qeڕ5fP[@xP4 ]=9֎_| .|ʣykE'Չq* XϔڵUK|;Est<__trGr? Èǃ 69 R%z'ڈek.21}IsJf;&8y(o>_41R(2Ő/ 12˯=)}mE;5)'\vd9Gden_o1. l2ۗs.gl?9z5e&pM[כ9in= y:G3ȓ@ nE/mMߗoy#9_2֑}'*N%˺#6ul"u͆@#Mi 69IF?"LKٲf7@&cX%~2P8J;"LS7hvtC^ma%2~D%Fǹ:f}j"!'.N=" QC|LZ71>R H=3$qj1]{NPa P9}}P,twCREى/{  p'7Y\_ϛ`j (̘pqP+Ľn{ᶀCի: PtἄaxbdGi@{ii&ZKj47UA:<4ʮ1]&Oy5 =H( o$!Hm|]|#J ũ+jMZ? /:hCl+W[NMqM>":P}>%sme/V 0]dd3Q sJ.,D'Ƙ7rѠT) RGV&!kAĎhtvnnUP5_V'x4F]oe*]Q3)eazCvZq ЏNNw(:4 zz3^V(}1m2r,i2FAka_+b_:W;CIqʇ_N±yjKưlnɘVou2jnC=1OkzmR*H&HYLI[O*&եԶr^*ssBp,H#$<\*@'Š;O%EmrIՅbUy\i1d5~$eÙd[N-bL0RvA_%[[2D;v뭎K]H\ ?*;Ĉ/HXCeaI[=;@Daqi0w"o&A#&oS-è0䡅S {s_ ~[n! Lw-^~B|$|wa_W [ 9rq/p!{ء*SI^LUu f`*LZ-NpLy=X3{cz${|ј @eȓV *<G4l%`An -^3UL_͟*daS#[i{} 'S{|8lp'3Vu`Rq uTA-#Hj겁+P8JS;wDl6CLl=۴^\{.뙽S|8YO<$hZI [&W79,BD)Vh?X~BAM$A6P7 ۖFʞRToGa'%<*XIOus܃C;V_3|p߫^Zx:́>BϚη/fe\7֧  ߒ{Rw4G_#:%K.qP'æxV3ofEy; YTIZ%F0+OqbB0ج:57جL]la|-ʟ?~%3+KB[pQp-BMhꈳ5h) Yq`l)w 4(w$s-%YWmCר"z",q{HxPǬ!lqAKG /BAm^U󼱐ڥ#JJJztxO2B>(qt"eR}]y笳)_ Y1[r8״ ewC*azS -#w[NBF~/ʫ[F!iDPgǷQ6J-&D}=V`q9ɘ6eb}ڡf%+Y"~.0hi1اah[ɿ&2> D$ySk&SU}Yaa(77b¾tof~De^ ߃}I.\v@,vRZbPs כM5u;hZR6:?N9zʣw3f7cұM>&ƍNW@Jɡ|jq,Dlq ʮSf_Gm iIq4-phcW?am#@lGb\wKI#֕FAbDW%nz9IZ2Bil(BSd;1ڰ΁*5jVI@:s9bS:êp&l2i}P:<0CuMZVٟ[9 bo4,)EQX3~bP]$0`1p}ҭ_ JURڜ 3?yrZ)n m(ׁ`+Jv[)nHOww0г<If6ժ0 #wՐ:v ڇ/EAF*هs ہ_( ,JWEk"Z*@or[E!Cz>D,Y Y'\D!Y"pSh` w0ۻoѝH+?|WD~/ Q5X.f ޥQ A۹ò{M4= ʤ 1EhW`:e0kk}G%`1)8CsiVg|QUk3I$n:q<%e7mكEHzm~JXͨ:[GԎ^bZ"0hlIqH^%L_бzrz4@ah,H1 z&%0O]> )N%UЂE1@mTȴ:sȈ 4O@V}X Ԕ'j>ӣT5N6)W;4zIxIL7VL*gmtfva/)a}a1^n*-}RYB(Fe#"0 w([z-d∘qM_K$?YsIgs9{͚5C\jT;B 6{0)O3̞nr-o̚ZZ)`"˗M{iIֱFGvIA+dOK:(bhϥn~R-WCi=MrfJ,d0 o)-}XJ~ÌNTEFWٟ0Fq 6RYrmrAEh&9a{lqdi-6Cx.ƢO^+ aUoo4IrX%Eq|(h'׹]u55t ?-ZS>.J}m_aiIe=.XɄ9Zr>yI@klx9*Qw")@7TcpDewKʜl㜏# N^7u0_ΌԏB?S(a[}`E3-ơZ~ >ǫI=y#SC qr~5ݓn'eKp9Z1z/Oxʫ8M(CC I 5ȥ/湤AF2w ʩé۠OPlpAqA4ݦ??Γc]b2zw+{+]jpjc޹leGқ~1Lp|6[֥5@Dm dyx n*C}I[Ff2}4h&=h7~̉i+afE2+w".r׍äE_Dܻئ^HtcGDdT)_bt,^= -rE;ri[y.q|^ђiBPL?3^_1:)&6&G 14m5;ݹIHJw©ZExƵkReE~-n=en5$ZڜqX2|5Eb&%V^m7< u xGOq5vOB|D& g .J8r"j8i>2r%ґbӗ__{Y5]d* }sכDRXm,ok@Em/Œ-,nW)|F䐏Ϝ4ʳWrlXr8mnA " 8`pYƋ]587W{O*Y>̟wEbM"ֽ9o,2Z<+JG:E![oN(Yl 18h60=O)ǔ0Bl,S'Cy+If3nG4۸}bE-sN3#Cj0_2&>O>cg(rpˏ/=^#< dn,JkA_ޣ9Ū16võfW~B8Hd[|[ kWd$S;jX́AyH714!]q WVV 2(뀂꾙2zt0G "~W+@nw?3PEѺ+ c3w/, ̚&k~=J++%hac`l^ewsu)EL98o>,ijtRxjbPS lW@L?5 o7MÏ A:zA%%pmnJDldu.[G3l(ykZ}´:ED_?SvPaZ/qyHvX(Xڅ#_O=|fz;RC|&sf[5vKʾw$6i*9*˩p*pc!"0H##6S2U/ౣYAday9 5 j!{ 46nlCJ22k 9E,xQX8Xo&?-?we7j fe㰁S6cȘ9vH-{ڹ:/,k(WsOW5}6s0|ٙ%GƈKRu؊TEO/'QI:AK!W8#Y|-L j Њ?;YZ>OJmJr\+ ['(阅gtE\׆Bk#1^`9aF{`HZ)uH BJ5../[9yrl7$iem]x+z-Nc[խlD 5*zr8퉑0H{Du w=g)wg]X4V3ZV<(o]lJNG۱/O\^px,T1+R/aU~G9E}qy'Vqyߗ#5Qa8@dÊ̶u4u.UN@!H ith'S"d/Q:-<4&Kxݝڄ6;<1i&oX~o$ /HJq0u=#/B}u##4ЉjFUInWbCmCW $$d|TI6 <Nf5Bu 6iaLt`$8䫕2oNЀȾתT ?g8 Zin\w.H1 y0:tԫ Cπr's-؂@W2 %oF>3J # PEQvٓ3[7[Fav( T]?1[ěLDMHnODG?a]?5+_c}5&Pgq-}JvIҲ'ȻOwKb0͐*aoO;3-`bxZ,bgWg'c_DA9 :3aא)Ck-ߗy|V7p{psTՆePJqCm+cd_ag\$@3/"',dsbPF0T+Dd7 LVVCf} 'tLc+xoO_Ƒz8TDҼc#5K(Px?Mk>6Ot?U$`K"4L;_Bp*N}:M,ڶVŲޓRixwyf3([QJ`pd)vX}Q}+@zVxR}Kan{RB]~{J S{C#aϐ/]0 k*b֐́݃[ XaEd{Ϧt0(\ zۼL/--D4a,DU.TG]J- w0=i.3kz|*fI 7oeyTY9k|p)3wᡧsu|~ク&P(/"$帨)'>KrS¡ QPKgU٪%=>EOSojSDڍұXsjMKe!&c~F2p=n\LT+I3Dj>t?[bI22Po6t—uHO"x(O +ӲOmf1ע<`u!3ĚcJHIwxء3}e6%d#_N/aނ~S.+:Cf)qoo(h˽XKyR\B_nZi(bn szxva=ls+Bn4;vt815-{`7UNTLTTP0EiLyrd3?a$Z:R=܀)[ccmE6w'ц͝i*ú.XLMF}}hl_/N:GZʬ\q4c 9OAK jxcmѡX]LE ;ɠ@Emn9ߌQ5#,kyt gA|/o8(8+E%>D&+&t~}lL`?g )6ݘ8 d\E7˸{i5ÉuE3dЯO~ j)ugrXa)F1Qǽc]:!5ءmk?ev"Gtx̕2ёʓ8H]ہ eD6\^9/eT1ԉ0$: U|Vyڱ(#b6X-jl9.5 `?̀g'3zIyP1 2 ]/_A·96_ z5/QB)Ҍ0&fY_Z!8_o;̪̅ۛҟϫh\PQy 6|b-Q]q>JbP2.MDé MnR{RNSm/W ˙à3c! Vc`7g;c)㴉\!7PcbT FR[ʻGTY`'S c@N;:Zxt]%+]&kW=4\W*;/$n㳐FLbZC3Kc6%vhF`W^云183gvRdd31ΟMsfV(y'5i]1ooӨh-,@EƜSp%:4_7k"L >)ab0DҰ%?%3NKǓ ͑<%2}.U dc$)]b޵KQ[cWF\ꟃ}׹zV #St"JL?![JWWH@#PNg 2/vK<}X)!~}lyX*0ƥcF>v#k) =dL7>jb/W_? Mt!=*! c9҅ }L 4+[둆%`U )-:D+ #)&.:[O^sbp"/1(w-I1B BuԁTH]畹s ˎdOJag0`Ƕ%~SeՃl`4 BEeXȾjQn3[uLE$eX7 Ž1رԝ4+R2ߕ!'(=IY'upJ~7YywђB ;ἏH ulL+/ tORt4}E{H^h$|f݀]B4¢1KLaE RCgb&'|78Y$AUSb`WQ] us| c,ET˝нqQ#T#yکqW'OO4hoSB?^B"}} Tm%ϰ[Gœ Dl:-}xIv'w0\%*>o<Ù˒o}.1&c#li7)Ά_VN{l~@P͛t]gz(h ̢Ⴒm #7>#{`W60ٹ(!SnZmǃ(!631##?NNIcfUu:WT_EFuC9ŊC47#w_؟ӿMm'.ד Ktv``ڎ}牌A: e ՠ6-p֬'t}඘$е2Ʀ|ApC;zpB3>ꚧ[`&*d83(4]TQ^cGwl);묅mډXZ_FТ=;v<*LZ9@'lmR2eѻY4oH*Trhm5hM~`|SXF+N`psVvOlc{)⫕<-{+xmrf}V^m=XIGΣܸNӚ~Yͽz)!b QY y{=4$0r_ᖥ~qM5$_ikҩ39;sCF~HM"cAsd۰G"`D(li(Rab}81=H ̜[)KbbiGNjHcNTwyWڀ'4oo9M&R(G/lo;I܇#^_ao)l(+f"%&N$gT]4&Z{"չ}~~i ?Cq$L.M ZE?A x 51xN0$|~& 8e1%aW{8Պ"Ր'}6GiAs?# ПfGN V<[_>kS I-p_Qe; (/myh u7>[gw#%Ǧ|߯TI {f0nNrPQcA/IN1cz0>rcnayx`J ˞ ?)Tϼo5J̈́Y'/Ur5–ZȀD Ǡ3S :p# ?@.N`4_﹝i<$7E+QM#oAWDŽaкZ!1<ǻSv`{_",/laveIXf-.5?NE17qƘ2@`,+T4dٳ\V6t3xI2Ee$2{vz޾I9p/t=;/o͇yns e|&f$Xc;}h\i C'Fѝp]nsk0SDYG_6("8âbVU :AvTl{ڲQ!H?ׇxM M.>˓1:\^CZ)g  [pQtATYIfCt?IT;Sq)+¢NI_\5gP?x=K35?m? teY\Y^AJ9%y$HIa*/S%~WDڎ9/&D M.€)JN\^Ľ?ópp?.R>ҏ\wrQ\!|7&O#ڞB!+CQw 鑥-a'GWmYs 4!N$LzZ":=8_FnۚF1p9 % қM7Րm\lr=i,. `o''`XXVVN iX2w3/BfyRj?Ęjr"*vvI˂,[ a/( 4c_͏]T$=/Zjt??nd6zKm)UVzSVѹ= ~[S"dB[_5ܛ棠{!;|(~6++7f /=fEmn FL!kS?ev("QE[o5[ZHs80赟#%,fb#JiƧ(1+v]kn_i.UOcZ\D@-萞F[3++O_>-`“͞_6@$&ԠO(Q,R'&WZۢ-m1ʸ9'uq6 &VKYB"`]_rvNHuC>%REL@i˶Q͠-ץm_ 8RQǪK#;g:luPӔG{]Dxpc *L;"ҿa6J5(N:L6sƥ_3`GK \3zϦx\Va#+feZw`b2"ҺOKـvh"OC6ہZAh .Vم};uO? :{3M" OA~xc?c rW^|Yz`uVe={fV8)6cFbs,ezWY] D 3dQ|̔ȴyTyH1G=~r[H5OmaR2lSѨT͝٠"mnH>TLOk y>4]T-m]3ڜ'd Ro+;#gEYGVK%q+gmBk%W,=\)?A7_̓ ա )w=_r(4 ZcB;X,ry8ǥӨ{:-u×r)3. Q3l7wW0]褷ى͠3cF^%Wҕ X5o"^R n9rB_.?0}9($E{!>ZB8q z:7Ց㋍ ˟*5 쇗GaԵ.)D ,zvf$d;;COޘ`Fh!#4!X.߳MBH){ /|kw'EnpIkc_LJj&f-m$뮒X$%7@ä큖 C8~7/kB}yhFOP}zy|QfYԋ?oFvJdUA Un??F |Ă!Xqҗ- a >c]1.4U@\n\f0/)]US"a~F(K=/ҡ9aFi9Tsq!O!U"lY啝;vm%iz)qE2!y0G:2Tr|/$q(=^Ku'Wastؚ|'ОjlC!RnU1 mc0RYUC/X_i˾: q\feq)XkhwAI%F%U\⾗izZBߨ#n&lX)ekmR`r}QQc^3λ5,a'<R`z G@37s'EU"l1ݾ1cRY5٫r@j!w璐 Fy?i.nuB(}ҥY Va 3 R! 1qfbnVb@tѧcHNP07gK۾};*;2.^w((sֳ GmsJsDVmd DsC '6|Wy^ ֯3`_?j](xT%J=?B2IH&X*AkNK]~#y\[b|8.ښ<'x((8 Q]J:<,8J%VLUf?싅5W 8sMO=A1L:#ƒ>_249 zo$^q $0$B+jNzPӑؾv3gŽSNH\kZ]?3Ɖl0"ovz3|_Ii={DJ硴c;ԭw8jM,^(-De mu4p69to긱߁T^I[+;TG܅Wdn']דGEzu<ͤ[ay r(1Lf0Ow IIXjX;s;Fdb@nL>bE b]yhDK*q'mkQhT5a5+ټlCe`kofb 66< Js{r<95_泠04* /94 ʕpIp|C2$b~}ScA(P;#T}WiM/Wsk{lqoXVo3y%-Sfu4\R] bo2;83EGВ۴,H5b9egN/4|뗣 W[$$ؙIڳ%~iINjy7_IY3$CNx-xF/C7Q)wĖL}` ldN-47Am#맿Y{@.h 2:Xla'؉ՑZuI/}Wgxh#&̲}O"_ݸA^rA9Tq䦸T>ǒԀTYwsWj+uW6Ȅs(d0/N]oᛰE '>raih>NhLYDDQ4"Sx8_j0G`^v{mbJPmQQcH?6? iEE8}HCP4k!/~l%C-ԟV+?t˷Xl@aFMڮ :08vv?+Qh^u(QD0 WPoWǦ/Fj/.*A;& NZYF[uodQL,H֢`N7džX z!ٜ`-Atd?fÐ/%"jz=t@.kfåvpҀG2Lp.,gұ@[cYV4Z ()93,/AhifV &Bh9\}KmK1Olplnuȝлv YY1g(`W`wRRA}Ñ#ԫ4"`Ruel`:~Bl4tr,QnD^C`+[7CHeqǜ hUvFbe0`/H'$)1bK?^m / X+H>o ~ @4PJBoWuHFbj1AQ_wp3Lw96Ed{8l@錪*7CSej aL3,YB=Cr_xr6 ֘5'oXb @1ٮ:˱V\{aϨA~&G[(v3~ r뇕 S;}.7=,z> ;fs;0{z jKy` Sku7}_*C|ч_`p!,6|Kr0a}ɉnS|=Ew/ H/gBC8$͍rRM |Ջ!wQc5J2gs Gضk^m$q,gJT-arVm7pzPC|)Mc Zƴ Xw &(PנSph6GM 9 LΠБO40-NMwu Wu x™\};kCE CGPhM~bYMή¸Gʽ2-bTo|"J@o^.){^09\c7p5uCfC_!\l]<̲]?zc9=vA;I84o_1_ 2qEi YI>Mv:;+q:ARe>zWQU@YU65hfnG=n;9:*hL㓾GB4he`gwԱX[-9b+G=ZG͉s:q ?kʑQ$Zs8j |%t~*]cZs w8RlL: )V8@v_ypʲb`B*5wX2r >vPGp2?i^`)~e UUj v+~^Ƽ#]NWP qRnӅW*wwcd>_p;u%Y]92㍙Vcم;sPkDŽj+ I'`b#%w>h Y_lBq< n  %x_kDOÊ=+C+ee^^Hc>~3t(Z:J5Xes@ݳ!E̾1kgRykߌ,Naj7/z)W‰fH=,ژ09E̞IObb|SkdeHl[0;e1`&\1ω50!_ViuX(ZLuY+Q3`&7T\dYU _`mo߶kZ"-!}W1tڤ3;!2P3p%&Nj&Y5Cs1T ַސH޺ZU[)$HH?!y5VlMBy.w H_3<=aPnI77vh19K.-N d=4jaA µc[G3@\E XqP Wa [u)V^ȏMkJ@|cր:qN̗N'2U?R*Ԇ ."Pmm lL8#xb"Om/Or y<*x- v9܀ȟ{4wՅar7 O2 ^c\u^;IB0Us]j|!I{de7>qj3pBj mQ:]WZv@dάLbVX8GDp  GЌc|)(wAV6L1v(|[Dm.7g  Yy ?Ftj20(xɅKBL Hu,ֳ ))),WyGXdA~"'|Fݰ``U`XZM< T(Lp_~{=?X#vNL鍏LſRuadͱ8f_M+BQe#ib ֬tN͗n aӐSn PQ,6M{gŖ&yOh׼+U ͋ĸ {]~`~yebqe^N)X2(⮖p7S^_*ʓ![ЉƬޒ,DowSZT^&|p\%W 4He CLg>]>rf@4Zwm~t5Ir\ъn$6'z bH?;2wgO#ՂUX }~ ۺ8DIxb)Iݝw3|h3`*IGpyIh! MCA_Fl fG<Љ^ףdjs^E3UM JkAg_At>S͸3t=}T m"Ѵhj~#foBtU3h]6zԓcbAIr (uL^yǷ!~M*יZ[Hs[8{1ʳZ mTYҗ&7XήY8*yCZS DAf wlekW|V\f}q%gtV;m!D IIREITƇ0^%okyLEJS(JOA ),an\L6hx|^u "l-xh%Ms x7SwJ' fI#)$ v?ĒV.W:P떔1xop.|ثa]'>h MfR2ϯƎo8 ik`}b*m$w]ws{``וZNJ)h& U[52/ B0ϓ(%:ۏm:Ӌ j>`j(G~Gxyv*qH}zUFf,۳JE*>jLv 7VDq l1\zҺn 99,S *G_vqr{B}cik#ub}oh7oI8~! NHdC5~}ϡ]dFh@ RSsQ;.Wf?oRYY'Nd'juXT'By8I_YC^ƛGga)N ѵu.V@f2(W'U)Z,HF/~ 1lܘ w bQVYY6t!!j%cƗkZh?[bRMԋ1$vYp.m)CES$xzB$XM+&"ypz[ůRJ,+z$$r{b,hB>8"g,ț;rcVڱSy]h LזMƣ,~M@+{4!ԃuYa}w0=bY`䃗s7v]$RZri[%?7#*zm#c%!E'<Yx[!&Gs?\|+v K_=O%M,]U*_-zBw)Sgz#2~xjB~uM5]E.bΫzzdxR\36 Λ@u'TI =,@>!MBz8;5Ff7msmf\:gh{`ÊKX Cꊐ{G!H7ՙa}dZ3/H!Er,ڃRN7v!ބ.hBս lL;.b paϼ#<Χp%6c}~Fr`Gom+SY,:"S•e8G{R=?hYi+cZT]?J*8Jetad+]ZäA"8΄|-X*i-eC۴-v!?N~{唄vݹ)SE)fMV#Mf2ll\ NXnuwW)%GG{'+|!HRi}s5ywc8ۺ@(=aHG+Ш1҃ u;rx:߷Ԏ&2G3Zd4Htܕ鹒iTC̶)Cb!@,dѬ?WpZ!|PgArADj;]֋#dsZ }ww>_VXwHTh(Wp;$}._F:? X4$7[fzSISn0#(RhYM-~u"4`'Dod]!(>OjBzc^y(/~UXu!+W$P"|@#GLNddF8YISvVlzN~b-,A"'LW9UwFFMňe\UIށ2ht5ڶBY9+I'}.@g72pB}Q?#,PgAc*HeWzʼ6 <|ԁ-ɨ=PiE  Uy֜;O21I{|}eNmՊ4j$rw^ j-Jq}@=&ɓ웉Ow{+ˡG >McHV "5}&| Yt?scZdP )a Ctr{е' H:DURIsTj#PBLVYSZJGA݀t5zsP&q %v8kUS|yhS@e ~T Ý6HSWG-`bGC&{ݼR ,P紩΀wNɮ,b6|}66˲WjM,숤H.qU{Yt%G.E î~_$fV.ӜEKn4JgCrٚds XPŸb^ H?-5lʐo5,D0'9L݃)Iɂ\e~>.C',*,(wB-YeDeqLSfrm\L:ȶ_lW9^A\]bހ󦴝"b&Ym~gX4P+\JГ gV'Vd%otqYFMu$6 j] )3Y` ~GLcbѲ'D/|z ѥ6ͩH^WIune Ψ(%XM&ᵟY|NэMV2rEs9pjضVVk{h?VT-$DJg}ma!zz 0ޑfO]ߠ(# ?7uvy'_7K5=u5UsW .fYn%ϲXC52U;[ 8k ag \*9ok+T(A NJi^ol&칠/lE@K|AE ,~ ؠ[> k O㭴|_f <$ HBfĎn/Iܻ jK[v\,P1%B]CCjYud6@z C:c+ "~-9 '(fAX혨>-jI,x cҫ,Q'^tZ*E=Έ߉o gXECf78:7SߍŦ*8pNeߦX$A KK4_1ko˼Ȋ}(֩܃h_azƉ`&ԓlw=ʚ".,'5lKn _z*#LEL7͢TcjW[KZ헃qӥMW[l{iǖr F>S%}HlfL1h{t7;.Ahv%R |qmC ]?ڠ!QWW#۸wo8`*|^rLN&7X:A gb 3Dy/ovxd&B>]p?S[ܜ۩zr,!pmZrk+go^Ο_i~…k}Sڗpbyf"jBq6D~3+B{l54p[Yjո[m#oy7r0T ϩ'O)bC]ao2q8R'ܢI*^" Rܩ)c!U% WOZ:=޽%)0̗) ' 7Yb E< ,CL^5+>h)My('tAu ?Cm7(%e#%e{7}*& iO"^e)owÛJ wC#W-TzQw&8%meuj߮N& SQsayp aWZ{\ KJ4ųL{K-H]&E-IĈ]SDQ|q{Qխ7u1' AFt{ۨQQF-3%BJВ !s38W2MY"0O&1QCZhbXt`'I_c]ApZh2 5PC8`R,ABoMAU>1;P_"h]!tgOY|5qL$l#dE |/pNvK1#V֟ ߃ҝ*0z܀rڞi(.ҲcInofLȿAXHʫ$^Wzv`:A9%u0 ԡ Vkdm{H-E2.(mV׭TIq M.z(tM+ORzi긝 ]^6af@l pLHM9jNUjX$,%brӧuy!KC<k2~r[<=hp0~Q XՃ 3MM,~SkO^ aq 0I> "f #ܔm˾|tA1L/dD f\XuuTgb AECYzSIJ<N)3q;c\8f%.]eV/ Veي!ɖK?Mif>,$D --3p?N'QDRN`eLLB{7פ/!f? ϖ3t1w2>.2%fNzdy$T=td 04H&e7B<!.Pـ| ?X8<$Kt_հ{HaH !u[8/8nկiA0j1"LTix*d߄*9aK@hTC[.p0"76NTl;Z2qz^0xF7cbM NJV0h1dl+G4aݐi|T~{ !4b2L"2ƣȡ0oeyw"Q>8eֈq; 0hg 9E;TU޺ZH80AP( !췘 :fy^#^fg01Ϩ=_ %MH[U)KNC_ْqw!‡T]ӫ%+EǂhYx.hC| EG'lE4WG!?1x !g\/1řgOČثTVZ>q+6/oT0)<zeH|V3!vWP{?N碲=wHc_T-IվZ5`Q<7t0Jq5u_Mkpc:ӫxWo;+M$AllIزl /m zwq3y#R- S^v;1Q43tB)49$A(vt/0:|[3JfnL\If xL~|j>% B㵞l8fR S=lf oUy|wEe`3sY2S ث!45UMXS2.Y25˾@KC@]&t أHd6fp9{`M_h6:c>JX$G55HP05,&K0^U<?TL;Jqzy{^#b s$$?I6J4Qeޯǘa%B>ܛ߄5PՆpe:Mm$TeW |wShn$k@n^m^&?z:% a.mBbwuƸtafU?2P}}uՙh,ySZ]훾aN ɀP4/Q*q7|hdNFi|M?ࠩ'\^T$i7R'pLj|ʎD4aM|.^u]~9'U4loQ] uny ̂Q>)6&!~T_UxJ]p]e^h֍#G~Yip|dJ<׫X`0E1&zXG-'4#ISN#GvyXޔ foE94gw9KGF[!YhX=ڄ?W$ДE (zjiu }\un Xcm=k7HA|4aHnNdDP%m?}uA2Z?dmXr 4Y׽ ^A#W:_f{;wCohf$jH !n:+0{:\C`iV=U[-hx\UJ-+#(Gr: ABiE X~}A`_3iz2sm` ؙalJ+@t+W%SqG2u`ueMP<]Bn>6 Eb: brI: Ū5ވP aGjb'q^E!3h~"?\n\+̢aAdC&nLcFALvԊ{Ǽ mZXsHN"ԡo6Δ R&KsgyOʙ1Ǯp>jOam~V;1il'v][(nB*nbY<)O)bXƔj9'}$N{2+X̭.q.LPy2~y#K*.T/>5GUvqQS3ҚNB4WEԸ~d: ,FKpשׁ DD{dA +6Kܰ#썛Pf B24a5yLC*tŚA(GKyY b?ZƨҬLAJ ?!؎Kƽm|)\R( wAR9\ p"U$FgWc\6K  CH0C͵e2ǀ7!${EcIPvWZͤ.a0C zE*2M㚤.|eS"uw2:Ss @usod7F˫}q405WS= +/eaDm!r AkQD*Wl й"A=&a{J?y%w;Lϣ\$γ+C,>!Yoy鹕<c\{ÿ́Bc:jT}Og٩fY7QݗDB*Of2%ŢwzqЧU=' koNByq$[%vP* x(8 -Inv׍(XY8 w-2વ'b @{y(|#7c~+҂mLVjZ0nW#-uNE{@$GgY+=w3 /HޮYJ"uW הK)Y_}1F$*78ǯVOR(aoS2 2o 0 ~++ſY20'4M3vBoB8X\Pj -l6&<*&!9}2syÂ4,ezJg#Q1昲$OfC\ێ:d\;rf5mCQWǼaɢҀ=@9QN3Ъ%:'r@AZ+s Ϗfh> Ӿ SciBpg4&2&kpP]:6]r 9 -.b1y3bC#xΎxU#JrGi0/lo@'mH8*7Ł=6xRI,ȚSQc^n2X;yqqSIY|s>Z[eb'm%c.KFnps,93&>jXtF6a^}]hتc| g$d4%wR{d%$.#@x0؊o'趕Ww3<$<ݦ),~0]?] `a|5p K^`92S#rZ᪂`W=&<ߙ`lӏ\Hj n/];$uDn7U- Vg:Gv 4p^\&+3F vr|) g`bB<(SwUqHǻkhJa4 )k2ɡK걀՜2a7tVDe?K9(CA,i3g\[#KKhDk3磷rj?M:4S*^rd?!uܬVӻ\$ >|Mt`lJk'm)9!H\ ѷc;68A$H,nbF1J(>8-Hѥqs`GWC m:^+i* aŐsce}줍,5>w-Xt-'dl.Hp! |;ھR@@("4Am^l هfMr*N7H#ϘTǻZPP7L>3]z`}ِ"Z fqO`YJhȊ)g`Uj'b!*~^EӰpc pίdݮVĪ˻T0KYf&m}S{>ozVя=2;", MTgjMzs8B 4w~T6kMtX8"x`ujTR#6S/pZYFA /UG%Y+ޘZL(%<8LS Ɨ"cp?CH:zJe5п81O62M,bg$!t_:Ǟ$k\a-1lkmd%w@N77Z/#X[[ua#i4*t2N֎F9R)E"pd5mf:hz)L%}toDć1BBUb'N!u吮'%=7=_bqDs"bC@bg&a>v~ D#R!9&mcTFs'M!`(njB LXu ($?@(<5Ds*|;Fd̷ ̞t隘> 0O(ۡa?ڡض E^:$IŸE4.J2vB‡9$87&Ly5> `KL#]9հ.0c3M2CZ7炵M) ?[]_nbĠw26ؾmgU[D""5;L3m{ j)FOlIrƷ!@EA" Bފcij9>;BKVR)PmwBt>AŦ[)4|>AH;(3zAכL*Q<SN[!6qd ^b Thta=xM'P𥉉<!MHg8O-֚}5vP"5=mѦ"Fuױij6UPX^bҚ-F@ 8^0z"W=In j#U,p>0;`kPՊ~Oxέȵ쮺CSz6i&.{|m%tdiZYº f ^wO@aJ>+[u 2TJS!C;NPyEI^YE#>\[GsF\:UUOVRC3ղ}+lɕ1q򂮉 E6{4;-LFsD*)zj$\GPϟwC2³F2o`'yn.^cFnM-<# m3;Mt?UEG~=Pdyɗ9ъ>&-.6,B]!`$p цX =L:@qFB̀jPm[f!;ط_裛mS"x%93sHMˡsAɵH VX&F8̕lH^!)D>k1d=4? kw.zktL='Ԑ&<{vCEׄE OL*6E_cRv܌N_Zǘo|-r6KGt*$M Q[iň3Ц{bG݀"x1Ϥm szLr(56CzuYNK2쁓 ¼HԅuRYU h1q8܁i.pڞlf}9 'ox5^X(n9ONeHp:#g!X4Li'ԅ7bo fzZ79ԅ}H!#ph#i5w32^$ +>]Zhƙ\"UP%}_i3ĥZ4rU&N@ 0 Mt6~<%s;.xop)!Lh!<¯P -F Pyr IQCSd5bgA +[UHpiW?|!DOr4E*v)lF{,@enzuz&(V)ʊbE6fQ'vAekVdLiG_` 0^ښ#/]j# ]eV5'=UKh_*().;h&1Z8-TeX%AO5"P?sCӝaѽ(u+#0D# |k}>%.oԤ<91 ش 9g 4d]/h}Ĝ癎Ou3`oN1ρi-2kT^!Z( :nNmw͋ !Mn x{#r-;wx]ųWA" Oxmhd@C@LSbLLCmϖ/\a1UK+('rW56NX_ƭ |/vhg.ڸjkg'5ξ2^- xekڌ2+~z1l,VF)~iߕ$E+|[ƶ_B؝{9a,gxʖnjsfsI'7 O8R2:wC>Jb_ ߾FoL/݉]8$a>  J(5qdvb(m[mENUrD?SM5{FA835uM̐yL1+S{$~ӟ/6Zy +IJ[K.L9Z+n{ʬT5t]'fS7١dxD WWI.Yny7.,VImM=-yP^!}x& 6Hʪ3zÀJXX;\^@޺ET{/ET&G=_nq#zƕ5KS;]%vDvU-jb)EDb vKh2S4ip 3Tg(lľjOfCaYRDwqt0A: j߱:-SvxFQ}Ɖ{ 4UV4[=?fܸzɛ(HN` u+Ⓡ!gw3["I /i*ZgwAPa%slD# ؟wS̓P\rSF ,,>e~aMa6qzg?W31x zίRK HS"F@.V7˨b1m쉜P^\d-ÀȎq .wL6AhBQa} w=7vt/!j+_^W0[s +Oj ̙,nu+ $3=id !P_~t`^!ҟ9| "L7a#8Tvrn 2 sef`ڨHJc(e0"BU eNOxRDJTze'Is}!ox7-!q) y3SY{;fDr |0C^?m0-.`c:|8n·3z*J2Q+9f;6X)Q%&b6=_,S[_.-4lz^g߸xm&ހT)fo|O#x4oh!Ȓ +nXIW5YM<{6uM>5JZx=ײ]Bѻ Mp rR <"f< zm5䊯qQ+r z?L4A3m #sA;'3$W@aIv3JѹRr~?Gۼf0-4&)Mq?g'r*eG#g?9HhOYKe0F SCpKdJ; ӎclٵ"B咻yOJ2I-M6PXXPW "j5_,  ~9 R 62SIEBaB HU)Wh\QQ#)T f;1#57C{i3>=;R|8(K$MEcAz`RRP?# i j~{z0#%_Giw/0R+/_ . 8GRy5=!܄k h-NY.U8ghMadX {z-a;\4Oz Vz¯(JKM^bx1F]n[ 5s-FHLKC3ϖ{'W"BH='FWQW9 F;3?DvחvCV*hA<*7zn-4Аe'&ނ[/mgo |kS p1m6`xw%tST*0:w`sANߙLW߮P vo nsƞՖEqcWr s6j&zH肃g'2zTDy`"mzT=FrBʩ<&bd&*TQ`ixެ+,MxBr-!7Ȱh&fV6YЅ M?f 59_ m(fpE2͹E xAHu^:̚a nڋgú˔}\IAi*ao~~e AV|:k0%J˭#_WD(O&X~.ќopii$خݞǯXhK?b{7$HӃ? Z'k\VSTQP+rlDĖI,Xg$Ck؜caXN BT`5pu~EEsq6ݱj$ 1:=m{ PZ;RHPzAm0& &b{|6R'% ^Ԩq dRw+t**Gx|ڒD3crGP?L$,\]sxG/˧IMa݆-ih~`mb8"#TS2=nI4 ÛuEu2 PiT7^Kc@$AV K]6_Q QC맠Ogf'x,ͨu2n9S =.3 cydX+LO^8^fd8ܟ>fT¯ T@=ne΀ 19\tށ_N -Ew l:S]l6=IVxnhf$׹XܓS7K"V~a{cy)V}C!7O"rXI%Sy܄Ϻ#]G$&ە"_WYvJg3] eHvo*k;/1^<1 _o|qi,IeAY Ȉt;FYv>6IzNeH0)NqU<]M= g++>UG3<+wZ1!P1[E*-& V 78ɉ<}0`z7 h9ޕ.NLB0_#ÍwHD 60'#b{)І$Xpw6k<.yF H,$pH3c@]D`Ufz,'qشXFP. Gy/vޏN)bQ3uyn/lDNG20fxR&ֻE vސd)*2 6m|RdpBV42,ؚNI W'gQmVW~?ɸ3x,~CoZ0`{zω>݅]71tX#Oz_ZCS}w"]ciG'C7k="elv>P"`̛UhkRH>t*s_:y(f? Tvni798)@~;mx*)Pd=Bp HYU(9ٻWk E {|C ј|yQFuUp{wC4U]1ǁ KpEg5 q˥&Yw4%a&ZCXZSmk. LO4wGsVϸu[S]Ѣ*] FĂe" {Bu/t>>lroB`S&t^!7j\`ŞgiQ\ ԁd}'6$>{*s:~ Lփis q}U0g-G-!yugY15|ʟr❩Rb'i59N'(dp~Zț!-U_Pcv~Jaa5| /TbŰO9ʭXo"8`*|@+ ^KI^DZ y1)"Ze8w{x*ԚD EoϾ*DIDQ OlIJV$ڋv1de:m"gw)S] ?K4?[<<,%^4)$e?ǛٖSVwN]CQYq2Ng~*N M]~#l}>/DI#IAp[|taRxUIk ?!6MEعEawIᬼo}Rg(hJ U[=yC fz V*L7v;%V4I,gg="'5q-JD?6}qKcOTE{:jzway!|%uk?k4yOX)1_C2BCet ьDbpiVtyӅ/rC ȴ\cf. ApLA/*O~|''1DqZps,AFbM+@ ޠ> ƨe%%HX~Okz5`b@e M} $0nxЛ_@:%dYLWxtNSJ_2SNy֥D3eG7EܱyEB; <`qLL0bg8LeD#5ò&@fMS;:u4&.@(7X.Q -hȐ )S[%phxe;z.0¾f<]J^PHt( b2Ee.Jv |YCp}pkp΀=#0lT;1]` s>D.pGA7.ҪZg)8>!I&^㦢_9Xk_xOLEJ"_5Ew9κZ+ji8{:(L,Bx%t(UaF`f6qd1RS<.zR,脦5ai:8A`f*Ii5k7Sڇ1q ؕ}K[H4h͢BWk0bl۠aUMA~pH!J@"D`@ svU&@Z> %1|Ϻ(Tir`&gKӤ 4Rm{)5ͮZZI{|| D2mtWP;s,b.ı _痥ղ  㟴G .;!4tw:Ȕpt|) r$ m @ijd%'EuZSb\Fڻc߆C c 튠UJQ0 oEKE:8l Ԁt띥KM:j\ip!.||T:L[R' ;a?Yfs>,u;tD"3v4} 'Y-è\X{QL>qW[Nx&7s <0"Ip"eyp7D(a&$`czhetEdb{軧F1(+UlFO9 3ecpqD˯ZPmYΕ{mIVlO2H OuDrN>zZ2Rb<$a*'z-qKQ@fnyc>H4lR25,^;]>! o ݏ8P{6k>cx$O1'2Ջ/|z+ּ`$(ire;l$֕XE'AapN u$k3◉n=^ɗo7\YU#u>t 5?kNdK.'nڶogBBOZE< 4Uz" >|a`v}:ei8\c rPhqR8)0]gCzzT3 ic}car4i'{ Ή7ˆa?<ϸ계/8)'F0U/v>rlEvx^wv{$, =!Ӹ%RNh68l+Z]Fv@ nb:-<#V#F^J+A=]KY&9c{~,Co{eYJ\\IQwP/My'Ȏ1Zf,R;|& .^?b̫c=9 hW_Rmcv l[`YBA8 ""Rj9!uDP rhgk,(4z=[`S, S}qA+ΛmݦmeR[1ʫ}hsL9_VMEc4/+aS7͖"D-'#N\Yj <M )a7}O6LU`stElh% iEPCG=e[a7yʂ6&e1v*B};į<hѸ " PYz IJ"+%V8Nw[3B#Cl<A0?GMfĝ7W[Q׵nxtɡ]ƷahqcC҆,BecFrJtQQ-3Gz(bt<䛾-G>P:(ܟS{YXUPZ57ѯ4 ᙤ}]-F:[Cs/B1PޒiŶFo9suzX/;1DԀNw9K])ƽu)rr0]Q>N iG$Z'k}vt\ ҇ǎ_u5&[ ߁91;2 _ PVA^}VnWg9_@n ;2bdäU&PKmtz@2!mgض˾ r=S);XFNIN,qJaw-y hA$xaN[RR8'+r3L*ϭFMuF{܀S5lYp;$مIZ@xklgkAl-"2)'4'5+8g XmJʛjj S[AD-+ ?+.H8_. t}NZ ?M!/ ZU9`ޕ與MۣlDL9)7\05k11$X+_ mˆ*W%(J6:Or [Bbϯ=\&-K3jTsm}!E`N.%!,)uT>5!G":N\& "Πmu[XRkQN:d4+ `5x̼TXBS~gi^cK Uᇌ7^+&N>qK,2:}⟧ m)W`m\ `sq0+jh2R% Z#o%f~րkaT]a&vE 5 `zv,`,nkC)?2ZHLJ!A!ùp5y}lCwʞ/&L@:t̆<(~>gL7Va.TطbYur`IQP6 ~|uծ&fӼ`ě,C}E(n4hpfY@z+EK;l1` ^A~2c%,V'J:DKz2>!b,mTwR1d2@|֛߭3d 0,OPIkiLƊ薔QZ Bn:D؜nK FC{ j*ʰ|@j=I$ã)M 楻Y:D*Q2oXqr[x:%k!Aur!)qYHk(Q8)}ٴVgmY ,Nb=} _uQڞ6]k3elHmM2- [U/ .1%^8NYtfXSiJM{ThwYaw"b Ydw7z.xsbTq꓎l=1q80UlAOD) o\ vCf+sڅzs0TBi,:Au$D ѓx{ g셞yw>lh WS%~%+FGc'0]fSp@o]jni1ƙ&tP$TswA~%܎K 'msk6Ԓ=uM3%oN ZҎ ljHCcNBSSeVF[w~0K?3ݝ-~Uf9.1] `#zBo}@P>Hq 5_AE{Fy݃')tax6yUxH qjTԽkh~Eۇ._{@*oJ9| oW%4]kA/E}W82-= .V/sЁV~գ`M l@W&nѦ. ~KP"!CEgJ2eQ &2>*]E@ȚOZ5Xɓ9JJɂ:Uց'#;Q>9_g>J?\lX[sr(* QqlTz[al䨶; ^.n(v홚ɉǴp5>ԾV4Ϋَ?>`Vʎx퓕GtfUP @jLPsɭ*;0oo8D"Q#߇:"ڮdæQX+LE4~9'RRȴO!o<'\ _KiT2 Z5^_Rx UanK(O݅U;yS;Uyz<ӽ/t"z ֍&_ WkUܧfFfU8dYR+uϟh9 dw]žf5:ƽ SŮ=ex=G,yI롺Gk|\ B2jҟSMҏj^ؚl&H)]3_0:<- Y#BZNޡ,5kKyu5cy6kL}70 &3ST;x ߊmx^m+:{ǸDPj œȯgqoMyvQn ԭ<̡m|ȼxn:XB~"< ḅnlS/>pS*ZI/H߇L)}~" Wf*8}t:puWhzф^=#Vkջ~!.{y'ՍO󍆢f'sIT%<a,/U8ip-Xb̶s \=#Co [ 5<7 .esKjޓ0?:=I ^mRz:qBʍ4㵦̠ M-d^+MPj\˥8Z.RS6tS8?c$m[n@q2ıI["Z !v-·jXIA(CǴ.8Aҁd PDfb^Գް ^E8~5ݞdt޵;vÑ{G9&tb%Cf%I,X4Vl*DsʺUSk4aiP|Z.y偓'TPz^7i5\џt {"qU썌 w&ϑPV=(* J>%ȥZF1 y<+(B @:o*A,YBYeҷ߮u/O|9iM-TK<ػ9M(Zlch}-s2kh 2oem g n\?7' ӛOgLd:BAul8plSq}eaՓSN:F8 &hKMaEHt%U@sfY~;:ۘڰ5#'XJG>[vEhBW1/ff d-Tl -VES>f=6T"x 2ۀe M+B5*=<,jӀW̕&u!+~<w7O.SfpJ\V$~GOv5![^I ,cNP]Xh%- ޠMSn_CLޙp{e%^PU1]CƳJEIg%1Β·bכ3`W8 ͦ:lqd#mJT}VG%-5&Zu5l=h创 ԌGf5)IʁWz`77rϖ=:rD?O~42 bZP4@l, iD1)fHK{ܣYcOPwCa+&ZI{$7L@jZ`Rj}耚rp8`wsd{n7\H (/h/i(0da{ &Sd6w=X<V!x H OKx: cAНe_^Xa&mJ 3QZKelI(f*07WϘ=5l -dCExӅ˛?! =#ێ3_M(P4=TA^͠aGv"Dsa$I~iL+z9 2gcvR0,rz^,e,3i?HD;&#_|$Q#9ic+v)cBFe@P=82] _ga2bg3ܗbT1HNk0W:> Y:b͆ڵ'Y4XFOYc.A@LLpAPx~RVलKI[gH: uBȱ  $i譽N1W/R8uսr% &$I0{yTJP`REш,Yk$\~'MClKRջ|tm8rC y]>S4l>q WIWwHɄFi˕  SPqUdm_{ZOg?&FΏ:b6ϛۨq?Ox}su>dUcAQN'x0Uv"o(PV W}҅7:{b/u*l+&Qn*:]vW}yC1>x&?A sC{v&D3z.Gus)1ϲTxcY)*fǼј5kj=Y7D,oف[Ճ 8auLȾE6ES]qDoDO&&h΃q{oő (|f8C \bb+ V.rǂG:Ld]Gh8^VDyO>UهTzg [:[lðƈ( 2=ȀeEey#H> v6n{uԗJ$8v*_gHWR? ?($h&e\^J-ToOZ}>WI,Z,h >sxtCOY65vQMo +IIj>Ťem/@ZDq5@Uml8شy%2)]Aרd^fQer$R!2/O.!Al {'eᕼVtqtNæ7%#٪E]O bk0)6ᙯbXH ) $Jm9r y4Ox_kTMP'eZbna TH_eIjSw'XG\gzRyMBŽ`,:=Þ%JlxӚfc7))& LsT[FO'΋F~CbSMz>@"ܡ u>Q8 )6=&5>ݗl%I2 S a_ ;O,A%NUγt,ǥ#4yUbLm(Tt@^d4&Q b?֩D>UxXAa:GDy4OT&nގx`"fC̪2r/uB9CYcmry8I* $n{Bd3 ›l?'FN h-ٯnp"lmѪL`Cd oԈ+av3wpuA'vYf}-A*F]+9vQ$6g[[3Tk c8B _‘ÍSt1G"n6&\@@Z1:TmC-HwB\oS ſtXV-!QD_<< w UOM4a-nJ=aqD0Q8!HgTg1WaA?u׏}Vjxb_2W Xu?L_Xs䴢 >19 jdtl(m{d!'pb1_:jzdyq\Qoxeؕ܏&# ~X)=JѾA7rp;r ~U%_2O+snKB?4dxpvz^g 0%' MܟRO˸G9CBxfrlsXt "FM L? հ. s`N8la16% ojH8e9IR]+߇FU LEe '7Χ2HqPkZbk)!YxӾas'"*)i>O)}n ~44:ckC%+g7%Dn#6TCl|pن̍Д< .P& nǿԍYԙkF鿧a(7 *\Sixt8|!Oj+ ۏQdem%sʱ,=NtRY-ѥ%o":%+PL&wڭC p/AVUV : \1ퟦIb%>ج,RD""SyL>$y^=;̭"v}n9UK: aGEm.te,/۝:P2A{)pZ-yS+jv9W3(4cWyRRaWj:w Ʌ1t!?8fRjnsjʹ hAR% ۢNj=Mz5P&&˪bQy,R|$T4l%E˺vov&$B,,+?~+ -.=r=!rVG֪M7;(>pZ_?oL-9FpZ#:0S}Jv1 :UʷYrD0rJ"Fwޘdl64A,9ێq%'TЯek{GW:'D= =ԞtH/8/x86Q6(GA7ψPO_Pm|`.HYMY%ävhƌ/'qT(ET/(9 iDGs2|PGܹݎsT\݂h’Nv (U_*3@#An [^;w')'V+Vb6 +!sުGH_ڏ<\[Z:B9myN{~˦ש3h>/30EG (!SX\"P%|tλʈ}^P:–K$& G#MG ;&"Ud>5~wAjx> 9VŒk_<^Y--nOyK?m! p M#"Q~lWVd,GI~ H94LCNp Ѵg!G eڧ+myYĜ |JmoONejoNLDO}v%'1~z cڕypi9 "fY}Z wK*fnn9C{2_e.&ظbE VmZK0KXU%TMrGTVzNQyG24!Ic8q;X܇X85/JA$7]fA>rqx`MS'# !Fyz+UgY2'B*Қ0Au0XLZ-6#Qp꼠˺+bD tOsV k k`ܼ OyY{6WhV %s>P}ta02N:.K6<N;Ko` X~@L\|Nwߋ2&ĒWfZ5/ʻRf`oZ8i̽E{) yx%9"~ 9`((Ny+sRcї.s;K=N"U?j8UfMGT i6I_0l:cc @gn%g|ӥBn?|gRJ1O\mZlTZ톪''O*GuDFٍCxjT!ԏ[1)k am 0aCd6?ͨ3%a^T>ˮ8{:i{b(A3$1^@0U {ts!:m"ꦰiA]^Y4C0 |k#:'V p!aQ0 Hg^.jӠG P* ^JGF7rsa&}@&àPzO#Yyr3i8Z4Q!b2$)2  edܔ4{8(oOϱ?)X Mׄ9i6+0 :-0i/J=_Fǒ%vd6*!o5ofM4},FPlgpTEˁ3⇭ ݢ͢ ZӠ9%}2KVM8raXiE@!"ԏe$hM\|oBGM5uuh838Hlz3#"f꼟5eѴCc79[dRz#޽i,| ކv$*;ƪ,nǵQ|m_6~%_Pou++x-"/T\[cІam/&fj*zXw\]Nd~*Di6o@ڀ6}픸WhosVގOfS5I;E֒< A'ۄj݃\r#Uq2=!xߟ\Ɖ:MK8vLzVk&? TN47f@;k xD\XRe+,BQ6 S2axcmjNv=`:޵ihiWCHn2hU3[TyG sz>s6ݡȋ5eXv{uo"Qre~C%bn>ƽhak(˫'$HZw! Uv\c Z ܫ>KbR %E{GݎEOa}4cɨ[x*.$-RIw }=jy+oO%{f]ط֖'T)- j8Jޛ@tƿTRjt'Y|{/BSIjQ4&XqB*A=aɿ8 ҉z?Q Ӂ|',[}K <<5|BFV,"}: S > z^v;pSG|3 HQzD{?n"ܳ0;\ӊr;2-N~^X@("eW4H.~Br=^-wj@ t%(,ֺH%㩥 [ٶʎzbM 93=2k-k~\ԛa @̅Y_m{fȿWI7CQ*K.!i"'2g"F^ZñJF`%1p& yi@zG6&^׹X`.ԄM%9ءlC1;jT@ưsYsoV9Ԁ8W w}^+rnE%`xaT ¹ӵ,` + =5S7z"mv֐d:M/d](AJr _>S-c>92`f$dPeqSϛL=(!9ϐxщ%o|eO-銬faG6wZRBNE{|Gp {Wе,C~P=S w5MH޹!SFVn,#T(4ZPG÷vu<]'mi iL2/ .R%twd"{rL'"lt1hrMrJjح{*rw9fra+q; ;˒/ %& 3.6mg8GLe/?skvQ>`Bref6S%z2;V/r)B;W⚢h:m!ޭ{ ҍD@5L1%FUd:܄ `X4FSP?6 ظ#ʷb tP|G$t7)D0%tU`lrHb*`GT~25yg~9vNhE蟟ajDILz%w;)ŷA__[4^ t{p7vDpS5 Q19 HϦ[ѡ h5mstb_lj"+!L,B2M T6s9$g҂)_6)K.ot 3l^t~.NdC[$N6eѓXGDYvdɉ͒ `ڝu~ d=2O\t;ZԢ<~z$l^^~u)/ȮwœJr`|G?ENALٿ՚xlΣTNB*½&dŽ^ "p-xdvӑ/=oDA:a$/N]6ܓĥ Eb+H(r^k>)#XEa}L%d^ex8-B[~B܂h۱N#Y_:Z_KUL#:ٓv} mkJ3 2[ЇMZjԑ1 LJ2x_ ؍W(u+-_{C`.^ mNڨAD:R"1{Lc/\,BΣ`U#kjU.q VAHv\m=b*:)Ke(PMwu\M߄ԁRs bZ]})̷AunG`^ og#鈂"jtfk/'Uz&-(0<Ƃt:R}0f<8λBrF.DLq0LQo^N4T3-S9H3L4&< nti*h%s@ f_oHUlWՕD`}wo`<ĪrDe *8.8m&.o{h-gA7fZ7R8dbOÄ$) [|3a#0" Dŷ]k#h ҹkSg o0ԝrV-ھgXcSƘ pDpOAsc$FSe$*)ũ%D`aJRxƫ0:0M ⿏58z4/!.㗙 Qm㋞@ S*I^ե'inJόL(Nhl߶;*:`vFP?p XMhx9!zGlHv8Ǽ\eAf_\(dLW)[d#)NE6 ?+"ViPԂ5 (*х;K:kJQq(7v8 S%[ àDnV%K7M)g_,V\B<}X1):E ޮv`*د<_zMK`VOb.RyhNʩ{6a4:= åABCe"+_jc>~r@*w̰Ija3`/fF$*`f{+(SJ#4 BB rr4f4lLϣj:+zxɞz3&G uzf*^r5ʏ  gg9oXnKrFiN;)gEo츕KKU",*D n}onH9έ4-M}Q\P NhU?du}J{J l Q`Ej-+1k-[i~JsE xߖRR:V0 x:j.16Gۙɯ7;SgT猷0ܑ()# ĥkil$JU DYm&]?Q4[3pR`;]x،g.E%};((~N,guMqQTӤ+.I}lֶ`SkP%6$l:t0V YOՍ_4Ë%J~zm $:{meJ^#ڇZ>E8^àS#JljW!w-i; sb{)tpbXl> ihkJCۧ__=?l 00Fz-(5Y #~ÃÊvJoxXx̓dC>ȁt@vXmʴSSVP#8_s]kF2E[MX8lbP\\Ɖ91l:"qh9#M$]bi6c8ﷹ  (!?kLNS5L){ªc>Ŋd[Wkzشt'4_QECRiqU[w&K3Qήz= %t냪&GRag0Gr(`:Eq !thw6n׽U,Cǥ=!4Pt[$4#9ni{լOt2*%Q;J5m" ߏ!+$Sҥf1YV񟍶j1oDžIK `5tx d,ٰ}ET5RWI4dTP2ڢ5wxoq~9\ݡ B'v[a}lPI_^Pʖut ۈ4S3bgDۍ6oAfLqy-( p|Fa-B#\:CY:JAoؿ?Ҡ~w\b O$;c `J셺rZsG/ܵ/$߂E{zJl{~#R&Fp+Lmgpm&O^"jQ<9]'d&ͤٔvJWXޖԷ$i3tSN||1̡]JaJeo Qmb78b,鷸JzJ)ݍ[Ĥ@L?"m%س $K[s6.Cj2 ~Jm*u+g~ӳI(]q6p'qNz0!UlI>;k jn lA.vM37~ċu.qbSSژ(P ڪ$Y1Oq~6^+I~$= C]F{Pzu` Ag}>Ens{? l>8vIeP<*voKn vv֖,Y#]""hzqN$DFWt+5Ѩ-yٖ9^K3}5']oml$EgVo)kAϔyC|WiY۠Lt|qBJ5pxf+E\Ln_c|o'ORA(*)/խm,^-݉NƁ\  hm爠O Uj2V'>'`8+ڹuX][^0&OAfD<+S+na'^ÈGnsnϥ/CݾcFY%ǜD[Jr(@res=!'>^8vPb>H>?D/۽<4Yjs!6I1RDDzwԶptEk6QO+\pc̿d9un-IqzA1]QZ)^ _ u̓㩖}GÖx{BSLM=0Qo?wd +apQK}{j9X_``x^ًӺJ2u<|@EPJX]OaJ$rȻ~> }ZBԻcCm z_₡҈9D=`M!Q[m#Q_wzScL̈rKHv@9[E_Fl6rbѐܠ ȗ&GX=vU( QJCn5N*ui Lv|Itsm[]> Z+=Y顏V^i;EE?DKP e1 +` 3xH~(oRZW˹#Qc%r;s) ~PBsc˕9vѕC&-8|a+j'F,*n,M(w`F65-hAZxBoU=%3r$}pymWp(wĊX> *Vgq_Wtҋc5ΓBgqQկxZ፷nk@ m9)ixCt \N.5\M`a[eDCc2"_^i(0SU ՇhRvY²QKЋ,zNۉ`Te]Q~j$zqF{nEU*@S9Rnvcgۙg,tSY?\;?xeegzPM`̶5fICF: Zfp Tgyb]=&KF&&3&7B칔ӟ )n*MGdUA{6/A.f(<ȕC _3Fh#~@Vȍ& 8cj GSP!N? _1MItUpXVTNTœtFVX:H2gl.4y$nˇa;ؖEs6&k1- n8E,j,W,;)|bHz\I߉xjE&fi#.kwC5fYgG(g]mb#KSC"bI ~vW&Bae Fsbc{ހMIg܍{~pbayn$"I E7#g)ZEkY}!Dy ɷO*-jw,[H8q|[n{,>Wkb-F8BZPIO,E:ЬeП#Udn^ˡEUuzԁz^S+l…cK>E^ke\altuJQ>x*?r'`;~Q*:U:6(5r ( 'B$Y>ALňCטg aBA8[R$ʹ Tٓ=&J?i)om।Pc &rPQzNb 縩t#~("(J|jF#o(E=DN`/ߺ-13TE_iX6`찒Fՙʅy]Ȕrf=b3x =~5^}[9Rh`׻K~ZG5_}29>[ Ema2DcCeujpMOilBa5`5`G{ӌ l̒/.quķ#E-l_b 3Ɍ9哻+JSLA>#(0I j3=4 h%QZnfTUtm@6kW͚ F\ 1O ^c+M,zU ш2*],I^Le[Bt,+GȂcɴ̖ =>[WV|&h~oGRIst%*:t^\#ܽ\s6or.oVŸ#8vc"Ș bL9N/ROyn%ÍAl؃Sx3~kB0ൿuQD4f[{ú܋]>W9w!4)oPTWw4xto's0IbG``EG'"͓sx-Pg_=1>x 4yl@A+Sʆv8J /jnɯ֞*]Yf3%k;ZbpF56q\$e oOxJ=URqEjBtO[sLaA%`b+|5WKI#r>hOɯ S{Aճhh6MD+GgLvmAnig|+=r Lˋ\hh~TC5=`M3xlzãER0L@Zd$Z%(9mirAR [ur!17b{NUĞנhx]X`G*^;_7HΜQ @u1Eɩ4VI7&Sk1I}%74shb$:ɲ2ggƜMZUY# $X:[K% y_iD7 ?&褞e`G\At^b?v32]iWEZA|zMʏ;2?{PJR8vQQ__W5G gw7a,ۺy7@mP(1f+mz#,)  ޤiWvhg&$ȜQ7!9$o|EIy z+;(3~zGÇB:ߠxꉊZIy+HtEGiu!A &Nl˗廸>64Jn2 sѺ \'!,@WjW@vL%(nXIt/8ؤcʇ@=fmHߵ V6MI U,{ߣ4X A7E0 wQ?6_:{Qo |B}EГFTFg8JK“>A},wXbrEJ$W8"fg5{(%A߾ h0;HNPZ#C2K *fg|]p 0]4ZgZAeK" &8 GP괘B~I /::Db~) [$ܚ!qrV5O<#Y'&  8ێ=H/8 Toco3SJJ5]!_ Vu&H-ܸ_I έ^DG0ԋ4'rì@^͐҇}&2YZعh$W]ЊtPSF*i?4먫%)bY7aj~E 7/phrݦFB W(2\?VyS^yyjyaɞz$[]m^0r]wo|cM15~53~1}2o2xQ#b޵+zE.xj?*>lLYwբkl|_/йE]HQ&A̝ ꨸Su^Ӡ)1oޏ*/LС2,{vv' (G\}LUgT8ĕ73%sPzE%Fo^3%#E60_jbs9O[w@2ң/5ӧuwFa"%p*F*E0|9X|+r.S8&3JPJa  ~_nIWcdaԵBO*'|ǯzjM3 \@`\Mg6廽,%ܢɆ.GW n7cPRJ#Nup^Re'm̰ͪPK͛ӞgG#i#i%Ղ56o禺pD1ʹ(,@6V{'#d?mHy8o+)h8 GrgkfsΕt'#Uo147[0egO z C/lQ 13}StSct㏈^̧A2jL'eY)60 j4)φXAhL`Sjx٥ɤ[J'Gq]8izN\աO$A QoݼzKvm-w$`Yl]=ۍ$`2[4k XJ'$ғXJ5vD+}[ cܺ?bZ׋r}x(B"YUP N½UeWH*^>sepizj}n+I5z6Co"ǘˣer׌+E^=8<Ϲ{tBaU ۣej2e/?h^ {`x3=i(Z "g-#ZQWյaY |qVt43+F4džsN uCbdWL4IZh3I/td:sL/F{B~딐䰴Yn\fzt=Z oVFj@g@ қpR\ޗ1ogນ++%0wuT/Oft3mKΧĐ q=lcFgT1-m\-3(840XNJ8u=~45m祀RQ9ZAF-'&뇬}DwK35{Vۏh@^=(ǩ2`otRxNQ@M$K|s0ȟroB̸0ѱ["V%5Km~OTӻm N{\Q4oȴuC s~Zݐ܍&7Rq1fm5m= ~dyMIk)'W?01Vkix8_r>֖! r8/ {.JI4X3ݥk$$ 0eO ȯx|^B;N"Nxp^rQϸt-m%@PRNR$4Ml>!W :rTS!>#yc&WN [lg*W=cĮjW,\QLtu%鼳Q%TQg娱S&xEW1kM- dNQ Yd:dU_b4}p 3^& vsgZ߄ 6^\e/g椑:g d( <"_ve22DW3Vc8Љ6Yh W, {wf_40U]S0)9_b<5yA\g7ҮgBh;eRgz< y#K1XZBdx(('7 g%|45lO51سf:PnfD !,lgAdgKBʣSK蟜'ir ,7  ޲jS4nߊ ‹Y J|6 $*QHO٠p}~񅨸bs^ZjwUdM9{ RЋGK5ߨ=`.>dDE%@BB̮wMJ+DT. l`etfǰɵCBGk7-O-FMjr!k:vZi$mټ cQsE"q6c }FDR.qeWt'*@'eCNW(#h͵ pbnD0JgbyrϚɬ,čRm>"tyg׸cvx(Ջ ̢g0Pǀvqho|UdXP:j*43> /VAQ@2WLۜ!/9NIhv[X:l{ݪzҝ͘^6WW>U jkipIɄtG g"$>-. +0Wq87qu[d_5-AѡZUAX?7ɱ$HoEh΍mHO}44D|״"yS"NP" i=]͘4t_a_I734J<,۪9;o dH ]lɠ (M>3.H:Zؑ^ #P$) ~Z[6;d#3kˇH;ġ1qzSJuG_@D0~WI&b*LPvf$̑i;u ac?K[Ĺ4 ;=GӬ:J0%G_6-Uਠ66PA=-t͹SLiAJ';0rVbgdQ{B4o"3r>R )~@e}xd;R g:ƧH'L9G ?ZoQ";PFv~\X'y ׆Em+Vಪe|~gDgd> ]u_K 738|)|ILSsR(:K4?M,h粝^XbPwy9֎"hBF2Q_xDetzSnXA~҈+ә=AYG3ʮX E{EA(z55,~D\t̔~/okR x/=OӠ7FT;ӕ\B7ێ՜0ЫbBcwL# \.B`U^Ʋݟ}ktE)j2hvFYI紇R/TXrF&܅KLb< %^]@0rmq{ G~_#aB رV~drN1 i#%Vo9>ƌ X:w偧 9Plkny'aV_: ;/{ JsG$}C"TD=.L{7_rk}b쇰{Jĉ&0Q^d</KUS3WE` ,|f'୔jqhEB6{jYCd}ܖMHXisF!ܲkЩ?b9Ы'f)/ܷgE<L8W0BIbWDw ֭ t,3ʄQiEJ e0:\Lpk-oA8bA7S 05.3k+ZG74TJw ^նt8\H4쎕Ϯ8rnX|q  ő"|ˀS&EϋLczDɛwa?8ln$=>\ЫۆiIc`Up4G1m ĵR Yyk_ `wj6 m1/\ld(\.8D0fB ]ㅶe4p&u׬sEP($R=X,ٙîn< Cq@:# Nve\ x #0 lɅ'jؚ -ha nUr7ג"x?=-^;#B 1EJ'%q:g."7 ]ѸCz^{V'NU )։y{>Ĕ_ɞ[@BϦ0>p ('zZ1Z2ߥ̿px憎?u XcA2'/gO Y̧ǯfAn^@TB8toG-c|ci#ɟG¦ 7ZK<01J[ V!'.) |old-!g!ȥp~\o]N*A xkmE\Iv.ƄRc"N.rI\8f "띴|A$-W)11H Js&Jm5^!G˓wPVhb| DF9R0q\?|EAA9Tlu,  %,jTb="qo)=0,[ަRYeB]L܀򐐉aZ̀Q-*.D>jL.b=`Xw]wJu`e_M/iz>n>Z?,ìOc*DK=Nw # oIT>8~>i&yf3/+Dl+q1&Ю(mC>N}Ik]K00DIdr+iQY#"z-{U_ﵸ!'PǺ3&\ݩB5G>fgH4 Tp,}~^\ 5D"ߺFu,P7#Mhdc|UdQ=(|n01hg:W9|b*@>TfR /?V^$+Kn}Q۴_Y!v0=e?6rKZD׀J'6J((#Nz]F@ys͈dqաr7Oȸ \j? @Wa*idiҏi7Ke%[dkC:7"O}&nõ>T{R^<@wݣ.fe ~Jwa_k$\v2[Rn/ z*hv5'J4^t{Y 'ۯ: An?0T} 5HAHsֻrW_wAq*\.~eFQ^sll] o/x,4wB*X0&5#F;D<+EC}ص_!Vr Lzb1Ѡ^{+Կb2od{C!m}`xL$<#!9N)ԩm&QDՍQjޯOIl58`<0,ףTL䢠 [t%НJL؉c(W_&T>*к:{7eqGl5"&} ˷838B%uV8NfׅwB!VPǎ^13I) ZZ拿0!aFܕ8> ;rb\h(>'@\β.3Sň 'XlP}p2 RS_8 /}l:x12~Exi\"OOwȹ(:,`qq9@.fU]nt*&- 0_e( Uqlİvm4O0gdNM -tFuI?lb3Sr&rl:c%q59]g\v)O F;[(Kxtחxǰ/mg9~ّؼwBjY-+"u8K3 f!sԴX"yv'z@golP=+<kE5uEg>(S]DOɴVmc-33)f$u%isH{r6?gʩi'!@1ZM~ 'xqP6(;q@ρ6^ :>ÙOz~E氢#,CI'm?"tm (y[2>GY߹a{Vog -EC`gTɦg+$KEd"Šo@-ָ:z@ϢTW4&{79=AH$r ב}zA縜M 3B!=l.M|%Ь1{k6S^f)uos!?<~$$M`Yl@TUgEucLo3"gA'EB'{ƯPA=/F7s̐%L~d2ՠ emЃE Ct6B^3p{K/T͕+~7>"OF8Px7CГv +Uw8}ѵרP{H^,UyPkX3~(K"t]RAH]K@[)ܢ wa+Rf??̋jKfMI6md=ed ʡQ;27 j/)O YL'aզ ?2dj0J0 ,6L,,Sş˾x|LOj:P9EGeWߺj0Zs6.Hr=+]dc̡Rǟ<`?ᱩxvi!شQe>:%jbac,O_\Vۼ:߮Ohbw5S8B[pocI?qN]n6Jd=hfW$X>RL,u~9Ky.SAԢ_V@F|x%â%Z0XeE^y~ծwnF{"UbS,)_e=N-4A!}N}^(.hmT \kЩeC`ȪRe B;AnIGRx[?h=ߗBMb$t*<”wtUUc@duy:yt* FV; t[ M2Ǥmڢ龫hY^_7hȿ>+y׾}ص6H3W7i#Gcma7T$)1̡ E+_pKz@#O:_@c WH_Z5qTf -6xp/AǑ](ߏ9hy_ %7I){qQZ.p2hO6m |08H*/% ^S)|_RcH25b=z2ٸ6`n];Ev>#N)8~`Pn[UAʗ^KYkӳ\8>r H+UjNI/n:hH&_9hp`I=tFx$ųOB(:m!%#)ɰ8B8Y./W >}86CXˌ-Cs]h )tp4n_KZZr<<|辻hx~iVЧ=Ć'E2-?D7nEMx44&6jTېn[ą,9ԜB,f)]_ZȦ0V[\uvfUdb22u -[x$~.%6H=h DtXu, s6q\99|.볗#oD?បZ?wF@%RhZ ׷6~234*>o+oJ 1+qzӜlh`FŃ5?=F'8OT4ht izϡy~'\r7קe?ծ6F8Nn^bGr J᜜T¯ f2y|v/J!.x8h#BneHXyMG0ゲ+uzcǾ$xzEϥbgUq}BQ5]+lYtc N"Bf |))cF%<4>y"đ9 -+N70$s*6jfF nL/272A.~_.`/ )d}kV AGef-&`@(7F~Å6&LiYX^G?F'd ηA'^|N22r¢0h[avy^}\ =Ь0|z `ircU2Z=1LkVUA,? evd}T)ެsu9\g`Rhs&=y0LNHfK-9_a[ '(j=ofqc33g{EY(Y59hX9@)_P:Ck%6aG6$6> 4I`5n+iphHe85/'J[m4?䟢 t&Kf VS vGͥ)\Ay7!/ҋ>ꡗLۢ#=[KVOB?*fFPö e&Tak.{^>fv'}1 Əj孑P(60\ɩ/yb1s={C)žP_P΅Y]bx9.Y;Hn7wI%基ENac'Eiv1JI Lã~ʏXfƴ("o!=w'I -6u\*C >/6tՔH+`JZLK;9++[cN:D!QӶxF58zГyn2XA4LgxEv[lԞX>'Q635yHqKLTU+#*B0!AAԑ)Sh%]eQE9)ŒLp jdSFi|(N׉][19H6q5?z4l}I_7OOWU3g:%zq?:.k>WK&;qg gD}wgG$ݦn$~@[6 Vv,쿓]Pl "FԷ-A Cގujf*u"tRx7"l2lZ6Hk| DAb*,L"nA֚R.B<)?!i>Z~rJ,Vm^y"obdp=>f^ON3tn!hHأQ^Hk 1;VpB2KqFxy)P?  )zlrjW(`P-\xtAO@wfæ_YH=9yyg #`ԴI@&ۮuٌL`υ4 IiNluygPHzVὓZ%z!Ugy*1; : [.xT>/!X~*} &;WsD18- aI;H[M*m(yi< \ínʿ3yۺQ]'df!ʦ[iq2oyL21A;  zi8(HF͛99p-ZvL?F2L FY]+O%~ $˷)77G,Cb>5+.2YcQRAbʵ4 G>61_a0"!Q. -bW0^=jDDQCϕ䖦3__E7e9o~AvϘ؛R>i}f$Pz}!~jiU)t~nkH@dmKc 7K?Ĩ~0}(d) Ӕp󱵛8}CB_ =]qM=M=cWo z,ԡLr(2ї~2a߼JXVW*,@3>~C_wȎr.؜ _[: - aJ❥Hr֝-}h.AKCw9Oz5wS W߱rXw8~-y"m(٭hoxPWSx% /?Bc>0ICe[笰VFWJ,*᧹*V?!7۾o tsiݶ)_;-dSJnߠ9{$DBK*[W-g HY Q+Uw!5U#qOXSa1'/Z$ Xra9e`m;u ^}jRUy%xL}r@5x.|ɌOeq9Ax [ e8oq#{Bd+xQe2{X˟O KԵwQ#ڲ( %Sot,TrBLSV QY8wl2--BwåA,(ͷtz]%cdfWlaCÕp H#fb笳%Dp7mUx= Ϥ+,j #n-s"2|pELx|"%v #lN0(M!ʜ,ʩT>S0RKT)~#d0 ~$۷QҹbLhz /cOML/['s̉S+YڐU20>ЪyD}0i6 Bo5HDBE(W0ÓDπh !p~\=cdCM{fЙ޵:3^ĪHmf;S~+Az/wԑ^ @m0< )a$Rjk[ >N+\~2xevjV-<ĝ$P7P}XG~hNꌙ ߴ{%a~(ʏIcW2!H[E0u)V"`[Vyq ˼EbCjO :?6\zkJqi'Q'@&O#kͻ?gƋ'ץ@8XocQ(ZبA{DΑ0"r`p&bT Hɍ|֣~W.6jlJuZ{btȻ&F d`yE[rDW66s sFURfbukݷImDM Ha _*%Z],͹TLvc/熼ˠAw>} R|.7c`h+xXfdq## SL ڭ<,tFи[2czh~c^PT۟ɵf86\Gp=XzjdւߛXo b{lRb萍zug#u)*d()t xpE haQK+Na? z?f}[E թleޖoʢgRx[ "Ez6_۹x1"]J~P<8t^+!Bڧ[enz&O0Sc'h3 ͞e:sϲy%pQSI'dy]C ,0Ap at?ڋ.!Txpӌ>:[ e~i m|Mєn'(p ke?ᡉ"w,Us{ExVet\/v]9*'gsǓ ϳNOk)3&kY0Dq"C,$Iy|XY4Y6pp<Օc'\Ɲt"?_f3,pV! F_H^ԨeP6H*X - G+), ?<ؚNvEbL |o&d6+'3XqTfħ[|;yqCٖY,k!Cqsܤ\"Щ}hKT9d 1'r߻1- op)ݫ_JE=fM[ Jʜ/`xBEx(ϙx+O~-ĪQ$ IWpqSTn⧸.2Fksh rZOv )zb'hn'޿K(!fH4هWJRKC*y?&.HVzt)gu̇ 2 a8_Om:^ ]eLpC:0ؚDD cs};:'`aި<3,N]c(}+mo;cLFr!.S"jOۂvV=gGgMvfq h>ye<.`Bd~?laCjǦƧ~H)FpXuV0*zS$۔U= h8LE%q, -8#imE=@}Ms`ӍxR`m[f>dvZl;8kV(x%.1$I`l_'\ptGpHll9cxy1ڸ2__#8D\.9vv/ ƀșb2բ.|"jʋ5D [}ITi3z S 7yve&fa,s9މﭰVLԖ ļg(npfJX-fiffAPsP9 _./j+iexw;"z!H1(ʩfG+7bFk Ǖ Y %Q\# , q$#Z#z*KwśC _plIrqJL6 :i+ό0o?U1$4`=ݤtHwO}Z US۾R4N|K~)Ouɴ#-ޖ#jcOw C3I؍)Pol瀃5heZ`28]|2?=pEF1=@ *憮p/936ic %tEUo<;_ QiN{+,L6"u[a!HmcI;@'z s'<_; e~ύZm6"_mRu$RDTT+J+3I4@ ·.YUM-(&`WP)Y_[&†Uvz^O}: qVZCwס,pINk.=ls Bp ǝOEx򤍙UFv\y9J\%Z֙܅m!M,*V"2adR'-/../HªŵPx asx:?eѥ A_Y0t2tV,aY#3p3>NT̪6B09N6Lk!Ռ,ԬHxWTZx/$!3̚Dņr6̬N;RuUFoΆB̤3['pu47AhYL9`W+Pl?EȘ%|9zл׸⋫QAA*Hbr9r'88as]V`Wࡕͫ<1'.-F6U!VГnxv`Iw)3; T`p޵ Sk,:%[sM$PR*DW$Х8[7~@t*! e$hŵ,.xT$\oqws|E@ZYt"LfpTNZ8Ŗ ҁF|P'aK&1\k#־ۺ@9j"+xe Yg}g;%"LY)OoL18ox: ^$[Q.tO],nJ֭_<9˄Y>k4y0_^Ј>yCB\SR<]1j͝뻚$S<>jnÄkh6uoexL@_J VBdԇ| ~m4& F+6f5ZDbm fz%wb|Μ1XD"at@}rweIŔR3핲 e0oaXa?_'*&Ȝ@OFw{'7iq|[w)-dP,!C{(C,2!>9*5*EOɩ|eYwJ#;A{ k$7C> :fh+xn/;%/ēx'hػia_8x'qv>msCiWYDe;:c+zG<땁Kk(c+-P{nQf,Hľkozg"=qzf̎\e,"ytw aLv;Guܨp< <80fҚM]H=^ ͘59&K*) HTM7c\23ՍhT@*)m! dv HBa+z}181kG҉3p% ҕoQ\?urm_ۂ[_kvaR)H8[ ;x(kW,@xZqUd(q7o–JȔN!|{_O{j}:-3 M/)f-9ZH G~8@tj['zӦEİHg,gmǀqFXFdx!}h̓=?vG4/qIn\ٜ{2,TV-m<7ر|K}^bb,/waNoz瞆pzicSUD^Id{‹cV _j3,w:h D9}'Xd+r+?+--~5A83ܴ>)hB̺IxeOǏNUoď+{q5]䠎m^ܯ;xŇ,_(Gm2.μj :VU:ؾ[z.tYo:nt :')LK ERmew 'w93)3\]50K@Z G\x0+%bfv#Eo:" k>YUu; ]Mh<[hxd3A?$EEM*L9 U7i*okѽ$JL+cXcM6r?qgT) G]4PQu*/lDOs_&\FCY vEӾ! KW^.'ӻ pɿ~ ص=E P>ې^H}^yCy?ή<,_j]nic0M.WjŁ eѧ$]Q֧{):rQe_IA".=E$-jO]fqսň}cHjno>.#u6zڕwk  b5dЋ22]M _UtHy &~cdˎ6[P)*~bqS5n<k9 -pT8A JuxGp%tDu&`?\UoX '6[D\"~}`Nji%90cݾ݅Eڙ5i0OFN~Km8h_\ܖWgw7ᰗj?1eݱ69,00^xKAtlGeyl0TGkŤKqK=uyqZ^P[18SU@y8HYUQv_w9䫜b~ F{/'AAh=_"΃JC. @U2@83Y XYd`-d&YbWbYߧŷd5d1<'q\vvuw]Jl]B᱆ɹHAͬDO]`) & 7Liwhy/]M' cOklyo"J8 ϼIȨySWĘF@ʟ= V NEeٷ8N2;3:\g.SQQ_D۽knv? h&/?,j%2 4 Q+: q48؉ ]ԡŌgf.@JXX`GiAg!s$w3fRFxg R$ܰ~jhmiʤ\EΣsr*0& \/zű):F&&fg`h־ϭuo95A.,855yjahzEQndWLG-\CC[ya7i}Gq:EfC|SAn9&*o{@%2|hL]=S_=۬ 4gX~k@Df- {V5D9+ƝDL7O΢bs,VW#YF-yNצ ϓd 9P RY-VdF٬ 7cU}-}%1hrX'Htibww3LJ "%%a嬋UW#d6}=%q;F&XW}B=1C40pXl+VQBЙ !w.v>AL~`>N,[E w_v5, piK٢8k:׃g/ $>s/˜Gk \3اA-; tH2+ev ) ]:U!gP8JYa#CNDCAQZunZ5֙Q*S7*ZSzj >AZp[L Rvol=Y.9j.4V[Zqg."(AA 2w{R΍i7opLa*8/L{~Tu  i\}܏[.Đ0+х@BbBxv mv/8v s5"be(Ϻh&0OEqt|(d^V^ ̾TPirGȭ6-T0yLjP6AA*LY2*x$ʸ8نC9PF p:p2VK0@OPk в6sI)VGIOQXYiԠͧB +'{yJETDwf >sԝ7%Lp1,ޑo[t2xD/O"A*R_uv+i%S]\Cbo[IAN;|@};ecE)[9? Dd*SCp [S4H7< K rPBRk+4 e:e>>_7ʚ~LR < C ꣃI)"yJ+&]i6QVb^׬-`?zPs2à[X#;) S9od C6IF=ȺЙ/*N̎Ԥ һaEALZQ>xǶ.FS{`>vhex :dti^j2GCۜA/oQW:!D tP/?F:柆H[|Uo=uhPn6)TnwGZ( O`@3RCkO1xaS'H/`47uOIgtg]M\+\1IR:C=d&L<%@ eXS+vF`b4_&ڣ&ӯ)^̀بNxh2]!vDdէ=WVVN_fN0+E) Y/0?3S3*\Y])\m̈́L̊@)WMe1{Hkr"6d8=n,Jʢϛ@ CH *%.1a+z^pH;6fu#~`kc~(*-2Wi`~Z5rSqS5`lJhҜ اwxQNx0ٝ\C(ǭVCW$j rFLCۋ Sn2nFxi!/Pt"wIio/[F(F.4wHۿ1#bHH?NbL;z ikޱZr\W7]:HO*͞bU&!HBR>N8p|?zg"egPqK!Ro xb"9# v{f|ߐX[%],U5vDhlyM!/-4>lr3חǩZqZ?A}Gtiʀ2T|E~0۪1:#6:MGWڱ|Jnslڠz%+;e\8^x4{7fC\_'W]q:,: -c7Mu|;9%Sa̜7VcUЕOGem!Qb[}8+aZO9>Gք֖ڵ ۝ 0؛9%}[!]7ݿR\]=ݨNoWrh 0" ?adWs Ej!Jqa_Z 9S3+Sب`r9`^O>GiNBTo1VR|YGJ< UK%ekroY`s΂^F-?q>-*DnS7>IW%2W^"S?d^^}(,- (猽PqH~yj[( k6l/1AUbbI 9 v̡3>ͪp;Gg7@D<N , U O@)JT" c#J\16O=Ylc^Ѹݩ*f6Ģ,U΃фj`Y̖DlIn=Q"5C~%N>ptpc)d:z?v$md Jއ7vXG :J%DَK> 47L1.M9.][9U bwDUSЗS&bUbq[VK 1gtnFJ@Wʚ0o-k}KɣYyF^OLSIyׇ !E~͛N~۽['/& h /6|&؉f& "Ug U48{P=L=2ࡡ8xg.8?r3fF[U{0p!l`+zl1 )^s>Ǘb80Peb n1ں$lհk%ypPtA%Fȼk"W.6Xߢf (j(3'7l?& hڞ}-3՜ʑ*f^+"z5ƥ$ "r}lQ$ 7n>v]`2)*;1xbp6 \ӣhÝHai .:J>j4-(~L StB;W)f2#rqgb'oAO=p3=lFN@\ :3G>:I`71S<AxJ$-v`=?^N6l6Rbfe!W@n}îV_NRK#RZs2Sis"=8 сRm]=%nYi-͒bO6ɚ>z%i`ζ %=bU Iگútqg8)=XXNa~Y]|H ةe .Pk>\);N F\VPL_8 %uHKpՅ_y}!cńTOe] "a+:iJݕAoH׃z66 Ҝ^Dj)lQWT)(s ۑlk<=k[A?W EGbcwEwR/ˑW*b\;*] ǧ/ŨNT܃ԅ*52Q|i|Wknj'Q+/Ӻ ]59 )(6ˮ$hb&1&Pv&/VK4_sRANYM앩AƛXOxΈ7C]5^Hh<|4*FT=C`sKGb4]Dwb-s5(Ϊ\6y+9 icSQ̴)Mt^ IBSqG$z8l.Øq_ G7@=8N:"ne;U%+# W]Ju:fܖ( ;ȹ|\ژJrEu%ĘQ gOUՖÝraߤk8m:t=;]%>]Jo񱻆 A/.cGTپ%&Զ n8^³cg1:?X`m47[=1+ 84ϭ]$UuW00\]X%40(ا &5 j ?!@Q%Z˰ȸ8.:&6kO3ݼ4(p4R9. U/!n6؋MZ_";Qޜ(Jh)o 9NGK1b^ #N!6OcH oAbh=&K4Dn Eu,i30'\v?C+ݎl!E;?ҊB# qOA?FUR38Q~"/qXLp*8~.5;@Vӏrc2df6?*s}+-}7j2h%gUlÈXӓIA՝J-6&-v{$w{涫 뗒\,1H 0l6)߿֕? { bl7jS@"] \eNBMunH8vP 5@D~yo(HLnwjC_# k_]{awUR x7moW[œ}PzYA cOs&Ġ!dSX kctJi!۳bC!FfX.CFbMR\~ e@#iz <8Дg ׬CܢPHC}#Fo@Ý( Yu HFnӈer,W9m >>,֓[=%h{k 9lF ;>̹: 5GpRȲLEW5lh#Ksg%X}Yb}D%31 B(>H |% {)唝}Vym}}UPfL&X]R=bփG1di ƬeI0w {96Tp[~]EX80]˽%%yY8Ḉ3W 0R$xw-(//NyjGYey&?XR_+fwRZwCuiC-񄑁S5OF y\!+-Z%$m_6t PT$wj) d[]$)[;|U7bQuvEitoN)(*A5 H6?6M` I\@=fp}g*12+u)iYP8 Gx,gl.xƥ)Y?~~ɉ$|pJו]Ա2E芥g'=Tv) i}Kݳʟp fr"v:Ϙ٦ Ӏ [ϡ'`а%!lK\]q !D/|$FYM3|$@Xw6/0Ǭct=I땵W(أn<ԥ2k< ❯vU|{Gn_=ᢈR,{"x_\0ha#` Ӗ Nr$y¤Iqj?sL uI_mhC7de^po^s.krb{ Rz2H*^5.r^v0*Y4&߹|+ o1$\{ץ Fo^OǗ hq+` *8lW`⻁{\gn*< ݚiiaB[ }I@KD^x+s SJS/l= n SX@4{v _xc%CFpCkpEotvD dk^/FVfw}Ό!Q CUmZ|LHȚ zDZ8zQmMQ*3RLJ!8g|bwӟ+W ,/,ݳb. ahڌS $_f>!0  ZH[J..l'XOlɮp.@ôE͏@\kD:bbom@tyѕ_& Oy]oDh[{C} :`K}ڹWbVF6LIs]Y?\!~e*])V.i1^v.$=IJ6H)añ'G"5*/>RFc #T@N N0C,Ƚ緳J*)F mG"`B]t_})߀^2QG$A+Z8e?{̭$8T&T3b|%%QmWԕrE6kjX5D /1b !- ~dO!Yp\Tūw㨫2je wJfF lc`gIMH$Hh-87I8= SnwKaf+g$lƩpz6-c$Hw"3x|BπPF >.o"%< gTTG1g<ɫ@t:}>@=̈rA 2lTA~`7-.YÌ ~~S-iS=*!w` 9,MN15yJK$Gϟ(y13Ȍɮ$]A{]j8>r`kgbYeX "$\O!W!VlV* bWY3C$Kr7BA',BHðbn0w7ڃQƩuw,a4MpvLy|MDa"6r54{WHhة&hS\*9gֵNDhSGC&6Sxl1oj۹Rxd/Mr{52e{߸u? 'Hǜ{kv>ΨP!y&3՟Sg U תL&-y($ E\ Y/csէ,"{Y $:X+5.or.+L`Ub'hۛA` ^REƾI8Z7[PUMk!6kn>pncwitYqbĹ?KJl<|#RjWb3dW;(/I_)HN[r'|rV ,S n\  z7шx5 ӕb!e\2RKS<(iilI:B"-@r"CGɴHה'''^ÏT"IBarDL_{ a d( ?^vPu c6 gsq{x E|r9eꔪ,|!:4Ċ1 6N? 6㈠e̒OD0)6`:fp,E_(%sM~,5z,!bs/^T!b lR$9.vl0gf%sPzEMLTZZ\0 lf|Mk$K1U7| 5Tښ'y^G}mQdRUZK@ XRe6!} ;_~>j/zn".@&5f[j)=M92\ZZuÊg&RCq9.a@o3&^ COYQ5|hsO:?ũ#Cd 7@_(%uUn$-:b묖b0Va c2xb\mST˪Vv[ /i d96`9Z=2'[ ={F­q+mddGjw'V!;+hLli!`^qD2F&QVoAR4=#]Z &d;Hs`+F9 D~dq/t*TóD/Cf( 4fOA[WAIWvlASj 񀙠VqdʵoڴG{wjs=ol6|FW;~J"")-#Kf15}3|=|QTzO_r_QY?Mڠ`চ`a.|i})טJ /jʜEK}M]oe0ǘMu0F]D#(JxKkw^`fj>kQZ#\_((5њ1'[{5Th]ɵa{ 0}K&#oOuw_ϴs+Y59]F{ׅݸXEnlnpFݤB-}ÈoWH;t;ioey6#F-8P˅ Nepɞ068ض$"6yrS;qaslf ms7LK3QeC|ϠGU&zBN@Vj >[Z=iyV! ZADd `Ll6 Ϧa<>ŻHC l#}r qݕqQ8 H/{ؑM6,|]]?Pu[=s<5cn}{ja[ǛLq!eD2 ))i].ySQָ<:Qٟoqd=[@i7Bʲ yzɤ-ʪmC1цB/r|JW[ ||9F9'|k]HxgԳRՍ;EZ&_ -8$ 2&Ӛ,GҼVlh0Ǿn|X)*xFb ci`sȊS1C!Y*my?-<V~@k_LWE_ͮ6콣7A0hJ͔o aW@05ɼ _[YȼۓJ j'Wn.~3?p"#6B'k[nōlR#g"4pLsg5獳ue$T;䳠gmiE+e"i|pyXl=x%;V{ټy`vjb0]>m`.%QElLgv/2A @˕H ̋$K&%G6 OGZKY;s~HQT4U _9#:@*9GL/B1NXCr^3Ld!p')+[Z'݈4tr z_")ˋ t`Π PDpTOŅv3t^=ͱ{8M*?GЬ)+1\:s_a35V1e*.ٚn ^)4-{%N5fN;,8>9^QxhyjDmI/}PK"ʰJ!~ ^B}Ċ.~CЇ 4Nt8mn$Ue{,=dSKWg٫s\BG {VUlhXn-=HԻ3>ZekO犑Q;y6XHtK1ӰgQoeLV#_kk#aZ| um5 5$#b|A R8GG(p;G'n@sEvz1Ki34]twY̘CY~MފEA4J¯́VS+c9Y\*h}"R_bY&i|::D۳+Zz]ړR[}G J =g91B\~)C~Uvhա5L5vBbԌsu899ʪ^Y)z7ܤ/uqi vt}WB=_Ԅ|FI/;^[G/p= m ԔxӞ)-ZZ ya cZ JDBeĊ)mZp@Nmhabi'*|oފ{GrMuORS\iAlL7T[SyCq}#}Id^up ZT?dUf: >Z K$ߍeꎫQ]eПnDr4ؔ^au-G?,8h^u *o z-^Yc:M {\l)}#ږ||/se$-_WKAvDh!~H-W yJ#ZL*WeZ⇰*} |ƒpdl'E޺J&mhF Z -Ͼԅ'jD>ϙt)B5n6 ÓOlj ]$M9 );#aVm_x‡4ka$*fCQ&VL m:Ն><0EV|aT4td]S`[H`?v sC[Է7ѫ *~H<^FyTժy ["sjMP>JraһL[%.{UYv@#wѲ od~܆1b4} LʘcLuiD,w$q.ퟦ"XyP|"mUGt[t_vIM8Cl4 'uu s<VEXeٳC+^)G!mo4$==U* Y@!)L ,yݵF/fߥ_ma|iWXȿ BԆ;f}&?#>B,K>0MmH Mj ޜSaVFhPtk3NcH3:4sX a!,k#g;)Sa+TQe ̘"$51Ii˒uɇYY,b# ?cd)"Q@.UHH/S0f?E #!oMz!ݜQ-WPck{a[t7)JzeD~ͮB::BjVlP.hU9EP }VT8XY} ˺fh;w5^ PaPNݼ]0IQNkH<+½ͬ0K@$E=\pḧ/=¯`x'+Bz`YXn^9PT aiEE;J76,͙2#lMG= (D%YZ}w=d3tn={d%l3BȺg,|K),nBT;A3S \gHDsr1e1؇bOY`'8x 7Hc躿f`-yU[5F=Gn)sq=oJK8jLU_l~tua`CĦ'DpI=Չӱ pfuVcy٣]enhY5f0d&v!vG*[(7½Y5rbHأE"pk*PhN6K mAJƲ-bi7bE:go?7C"!IeCWdEuHpnӭ~lS%dVæ7ڧU-Zp-G-F_ NV{ H@Qq۽5%%XB2DIzf[,G#jLEו}#r<}E} 6n՚-G?fM ZSto,%yxTdA9^(ƶrCr@&Bo'bo&מ(U(Zml "48e064ENnskM3G](/38MG͢YrǮ0[0}تn]??Z@3 PÀ@5zP|" L}b{ h!=[@JXtj'ld =C>,8FD$ NݝB)t] hbDtGr!ؿWLm/fDP\HnǨ_Zc,ίFfM4/]zӢMTZvgRN tc/7y.FG4d,;N̵(K1ǴP'U} 00ɾ^j.;a',@m@Mw:6SY v+\圬a ˺ D^3\|X PKU+6#Jhq *oɶ;H*hMf#f66~z-Eb˲㼼OH.,NЉ7R /iLǯL D,V{+u emƣ5 sIy߂D'aLJy(Y9,!X1"RELc}vGN0E ;L 5LQcC'v9yfH4)vS^tLrC7XYX XPGe:tdEV?suTıVW.%im~,ρ$5s3 49<&3tnN tR\G:`_$OX _EpE]ه:MNB6v3T`yQ{ 6*V;:"q.^d4jTӪ皣QpOgį{TƜwOWmSW Ji4C.B2K3K۩;bTeQQ0)'k3t43E'[q9G-tOƣ53~DSBkHGc8^ES?9'5ΆmwIeQaiM7AF^>sw P[_Bjl>t?ЏmξA% *(ַG.g^{c,y/XRw e!`6Fde{H׬}.2>_G,3rnT_V:^+0ʀ,/]h%c w9cb :ޞO+ֆ>05x-km*c\@p&m:֨j!J0iTqD{דqEG’bI+#i_'$1W>dX\$vi%Xl%e͈ ]F4oNJ]uIP(l>;>_D%WҠpnn:QhVV',U@Hg1f@U<6,2&Q̐l5AQ>tc!'h;6Aźod۾:* 2".;BP%RSMq:gfls@A?FB0hDhCld]5_eg< P%לHn!"2/r(eDWK ѡkEE/_[M E_}ҔDZ!Hd!TaTʊKfAwj@6kN?= H_N KY]44I"C|$t1yzPJ1L2^Lo_.@Yy> BE\R =>_e2!k&`s- + +x9B9]q Y TO98(-yu;_i?z =}Q ` *+؟ul9$GQJyӜz-( ஡4ه>-v mE?' ?a8,u%S5y+V%`g*=WJY)޵^R0+u.& W:]ƆL=qdx"a書u,PQx7CdbM9;+Dnjj\jFnV~ LfVZKrp;).~2Aq [AeWŲ$ͤCsF_2/(= ږrU&UfnR9?Tr,A`ߴPDžuwt@QT;;vs yO< 9 yCD l@?_1z7<AH326 7A&Na&jdsMXC@sSMQzWZYltU J-vIs.nP+4ܔ [OڐC<'f^ྦ2r(,~cJMb*69+E3yb"KC|+(Fε.fdXFqmGZ;zB7U^WG+) Gl{I$y,P=9o/=h_QHX@n9c~UQ6'󕅿/5\[ǪLq ,S떍ϓPbC6OW DB_z2zpwtYMJ4ޡGInnv_U#Z ] K"PiBmKH~P#?A,ub ԺP@L8(\֝Ah u6 U.Fh@V^G~01Nw n7O޼o!^]G c{L} Kil@>|k !<^[Q}ۍ;²~3v]\N** 6+eS=5yQ>`vU-iƜ5ٱ]}"Wr"ݘ?<.vc%'GR>M.(L 8O(rRR! {E L%_.?քܐL \5G) FYgqkF xF]@SaKRk&S\ F\⩜ "Tj87QϢѪ%yZvօG&ASsfZ!2W.|ӦE"M Ц ]@ %D5Rg^86™909KsrrTwb!HA@U+&fЋfFxLo\Yȸ?@t^!<ᛖT }Ay ZǺ/oNg q*"3ãE?  ;NfiQ>m@.<@LF+Lym0^M%ի;IPbV\l><=R8dҢM84 QE0/[ Y F%̫6v'lgC{S!M`.SB;?X4 \Oh 13R$lo+_ȤZn ϟݩdR-yZ,h+;jV JMqIR8aj%[hj:Bly?d&z!}6oo}vY+ lMF|8Bf429ĸGa74c -:}*zo_qڌ #[vE쥜Ԕjk2@%iܷUjt)))볊V%[ƿ'Ŷ'V1\  aB!5JS@Q' Zjڧ1JL=e,ֲҹrGd+PU}ۊ)K T(/5Z2G2Qs΍]JR8r%JCݗL38@Iq14aU Xû"= {0k(ȩ<#- (:PNNWZ%xZ~|2`^F"nhw YbrτXm!c\F{fB{ADMv} uɒJ`kG*+U<${ 3-]'D U.84xKH$f|Y>(!0 J'J$"8j›UMvwM_H|Ν충'%Ak[Wߢ`h|VN7φj$WyTfDg)%GJs]#3dD#ϱU8Do!+CN([f*UFX5KOt#VR+k D.hJ>~$'9RlZFO63JsE\i/C#C\M+'xmiKnr 6mmѼYV S3%0g< PJ F*:e&fqٍ`$a_-:_x6Tj0$ƾBx] i6M;4 VYD*tfN20} y>w8|l}j,-wC$),[cOQ L-G̷+A1)(:[,-hi<ܿh;lZ+%ayxrHz2g*Çt)҅05O-60/-5[ &?;糌n{Q܆&'mĝY)98K["g22yOm3Aّ0~7gx,*Og ZlKxMpX*رw&%+xYL)b,7KY*ޒVYyM#ȵ%"R#h4)׉o!C6P!fG𑶬ZqCFJ,_/uufm7PG\(!(H?64λ3[ P0RK_ d>3Zyׄrj*Z,5) ayX1jzsbE>ٯHghzbq֏0EIA]@jIvTCBFHWmـ[3{8O9Xc&ae FpޙQt۶ 9fb^ʐ(B){Ԥ"Yo-#H{bXs*%qdÜ(HֈvmZMFB#t&U+AQA!CaoŤfL4{qlW:N<?|Z/q㘥nUg~vR=O)J[gFue>dj͚Q9wb j +1쥸lcDM2Yla 73`[s#-, >;'6G\Az^LVGÓ.==rV@b/qy1)ӿ~OoyvUȴ\UItKDKXU8PSE5ϣ5(ԕP|*/%CK)_<=!2Ků:)R"kkؾd3618%db:#^}ր Y(HHPg.5 @wE՛9Ѵ(}fQ4EgAP M#H8Шf`u8zpT%kƏ$R26,EJygI ,}vpj1iV+X~T&:/Y=MT&JUbv3n{M=`U\|N u[ۗV4'9d`]TfgowD9.p=yK 0V.B>XW7SX 1%~Y3l_T :Ls4޵Aٽ١[D]4H@)dw5&属B,PVF>zrQ,Z5.ZPZMsfB?ʥG `jQ_83q/Ks FY`;uB,}^]:ٞ9“j>M%~]bny68D[;F&dF9:ٌg|^uX9nZTH#[ьbT.ǔjN̖iel5uX+գԊA{s&OdWony"20CKT c#ZCs#aJJ (pYDMꛉ :v0 {|0>=E8Q|݇6iGM$l߳`nZآ`YFdA/,+ukW}m?mtueE=u -]]:l=m' jU`i&;OBr_EZQ/ :06h>(f[|;X9y>;-πW~5]PT704GJiSL3\>Z J-1ï#l8C^(UrWgZ&cmE "vNhL:ovc et(;9iW'r|wYC*L{6a$3]o\7 oRc"1wɿX7b}/5# !$$H'+7+umLPGJ+vM@&MZ KuFR$YZR4Iy>31jLR:3q' s-bV%XMBr°GFWiht[\dA ITP/ʰ=HQ؍ vwzp_@].д(Nc4:F  )B7rmM!ͣEMLn-ao\st" X¾dc+8h~۰W>H;a5GEtiՃ*Q:I%KB8AUCJDewW0- ܆ӫկ XGETj(6rP-FtmAhFֈeP((n]6og8O#kP4=崃y >η S3\\)75CĂ(t3C<2L|"G 2(igW2 `nsSgH<s'HYc1q1X\NΝc( XtRFAB3P=LOyW bH)?e^24.;-\>is{-'_`Z a1sHg'>Z =tȦDv 6t[C2Weqi{}dAlTQ!Po{]~?1W4)pas(}P[7f8>'W͒5(ſ~|57CJߚUv x^>Ӌ6+PQpOԻވɯ~$u i=S Wz[dR8= 'HGILY3v `ӎDa qdrx]*fG-V 譙@Cr竂%&%Te:/T 1~fKk .e?{|ʞMĿ?C]< ª;2&v&9RMXmN$c=Fl:M@#TFս2g8p' K ms KGz8# xn2XR󭯛9D<Atiݏ͍ϵlg0Urϐ=uZѳqm{v ;j-Va?DZZ x_3ߦH΍]T*]}q|P .v ~RF1#oKuPFO /]8c<\:{6lZHn^7b׌rb)I#s!ZSX>vN@p%kKvRݘs]-vmVo*n{yA+J⫈#?];hOEYMIR63t_"Ɵ>fHvX3,ݳA}]q];uPtR!OpF>o(0 UWoɲ2jyH4ҭ: 'e?V&)>y9[fV&[mq5 i z CRYS˝Z<ϯui! |V*37xhwȴ'e^tw*@|!^ L\^EDZ_'gNܶK9ac}1E”=go_ s4`:@lj'ª'f=&.D ֛ZE w6\9,=hm{;Pzgם i),Nh*YyN<|K%*8֜=aE8ԣԹd@ 3 M/AjeRHQXt?` ti2Fk~Al\G&H ӑrgSUSq]umKZktzK<J;{W%nǧ 3JLDiTN/I 8YǓq*6;лڳ^[>`[VĎ!\bQZz)C/`TG-%5*яqg(@<uADLV5eX_I۠Lw$~@ۗx*z jij6E Kjxy2mDQmoB4$;B+SU/ǸdR^'\ 7Bmͼ?BL3 -@D{iu֮)r`(ƥvQ,r@(A5/E𒐩?+|pi&ef(bpw4^¸Umu +{ P91tɂ,Z#FK2͊ P!q Qy영47mGVt$[t<д|*>۬)sE+\ESVՎt碣ggӡoֈuu2Y`Пӂ;_f!.,z)I+LZ٫IHt/Fk[&ys+<+sg/SO<&Iތຝ"m'p`FzGЛ#Pn''NHfB\``0LZS[|By&1Mj"?+IR%If>rakwj6#d2 d~Lȶw}D\0kez s{iU<EmNUhs`0Ify_d\< !pb3Ӎ$UFO'FR*08=kˢf(کBZȪMFj 8>>נ@FJ59&pgn.XI)\u[sE+pnx߭mB /bŖHk%P~eSHn/djb6dj&cݎ-GMIr3 }ٚQ1$A?3MC`$ÌlM:I{`qx! w5xs5{!o/ b?aB\$CeqGlɱ66k廉wXe‡Cv{JGoP{ؗC{PtMOeፂ )sTC\=xQ0BqkT6?k3>#Cq ^YnU5FA_]]*2̔/?fb 魄E.R̯65"  xZlT_jFr7hzCq.rCйin%a^ߠS;ډ.q;ӱ;2ۥC=},4b9sKwbW;Ckwyn_) ZLH} Lln@WT8٪j7TANL#1F*]$)kXbJFp8 ^BԈ;PᰡG2KdBGK+gĕU˟UwgiLQHOfU H1)ĜN&YGTT{Y 9M8N`OҩTT@eaL3Zb(gГP" L'3Vp u8I7,%qm@Sl=KJl=<džlH;`,D4V<,!)AvyqҏF_weVZuڱwcsd -mU9E6k.TN~7/BEi MOy9d *Q[zxIWI97 CU^i;]l㨈B@B3;Eb4@H(ja`ч@~'UV>c>D0T( &[XHo1ޏ֟miaf ^d6Vű\KO;OdfZ?9՝\H>-gѺN8t闲2:GVm#l47౷8]S?4)usrbZ;$]:f0`|V$"'M0_8P.iW! YII*uoFLymGq _8G7i%q-et%=]*L}%뼂8 pӟΧg"yJQ+̳oz_iz$ &X!xv|FMvr>R6~$=eghaRpsJ)(9 2$K/rPUl\ZCc-_wzhu3ăalC)kue0B15RdGz8{qL8'e{iD$>arKf{ fI! _j=d (Ż@x$(=pIͶ'bsC s @CE2S&)uFbe& y0cL6H8"fѱ(;ir379CZi9iBGqAvbxߵ{nJi'\1ۧӊ}yIu<- |~=xTѺ0W &TzЁ=TgܬIE8t`!ޮM|pʚ)(%`̛ ;f^(b,eɴYb?!/)*j N# ``3adCͼ^w$Gf+Q2PzS$8^d>6's'<ҭjF,auu@]/{&KN-٥fd-D3zτ<ϝ}S-X#8!/ DgsbX[;*,r2%:R%L 7U?(}1aD jk`nxѣ$ܒGH:4(u zr_W~@QWP&z5ptq@d9RTYߝjS mF<53]2 *T}ˢ\ʸ( BOW_03ݑѪ C!^haKʧs&`϶2,E+BٸHƙw hW%줟xb5f*cVYsq|g,㖾rWO[^|$h:g\i@.\,X J\[4yKWlˋmQ[  8Kdord[KcCڙiZm&<~}|¡ gGk_OTI/3k748ܺIb1kʭ |gַؙn_–F@"iQ\3͂G؍,;K}#hbf4͢d) ]扱I),~IÌib>\(V.L3VD kS/5(G1 ~h_pb\*Pyk2l>4\s@L>*\IuulsO]w/jr'qY5ji@teGRo)u;𲷕I5Hv{H8V \iˀЫVn r>Ӷ: e<v$餭*=:NbvGp0~>/Y~q*% OGc?)lMޝ$%: V/se87MTe{$:c02BH|LIu!"?0\ӎuX0 l1}mW^NH.|:TyFqiD4ĿzqCS%&sO-\$ٚo|;/=Wُ,'UcԎ7/,wMH77PSjJ%E4r_E(a@.S6"7W-[㕊)5O_PUwWid ,>"dةC*{dW QIJRX5nypboM*3d1^-C8(7+- q&j)娾Y &IL/>tk=PB Kj PwNDk5W^pb/˃ޥ򠟲NKHҽya@W0 ^f6 XWEioϘ͐zSؖ3=DR>rezEeW>MYN* 2* q+%sI3%Mpƥ:"Et Qxћ=Qj3oj]݊Cv"rFU[~Ԟ4,gS$hd+6n)4"f}T 糄&2/]}/Y@1JX-ZIAce~#Y<?`2$aԺs:n" $)7y{C7ĕpB "3}a+^fƧg.KM|*_[(~ X:>!V^,e7=[ߠ|saDz=;q#Ku]\[ZOѤ*-;ZvFꞼN[16`_3頎jOt. ڣ^ }i=MzO9xxKgHh6^z # )FuM֑ 1| [߆ " s{;zxڟ$A2j8\.6coTi\pGaH -˃GQ2mT'ˈZQp9r˘N_Fsmyd[gUE+wzel{ )oZdQ;gFKv[;%G >0kz-u^6M; f#:E'G")*+V+675E`#` P3OramU,we\ G4&|!!&*,9e̿IWמo㩃,uj@;T_w,o_o<ww=bB)f;/J˧^x29$f肉U0>|>4ڸÅ䅛-t  Z+nżފKv*i^祙%* =<ro_=U(WwoQr C3:^϶ssjV2Z'ËiF$ZYA̽PN2GDsF AƈI j`nMY?V +m/:eIy_RiNB-pH9 IR:-/Q2ϱfI D}J܊ lesZ~~# /E1I>L(|k|2 6Pyvy}W9)MAC: x+:$?|e ǿ& |qd(¦NVz WPʜfP,bVxILy5s ?8 tӶ}|8TmH,K-DFG&]4UZ3-}K[(zu&:!PC`2pŃМ_|u6ƚpׇGƑY AC[g%3g |\'+OG24;-ľB8UIR?' \yMՏ/s'e($L(j܎N^ć?<`]kdRlNto'l雳͌ tU6C x̅@Hd1jCL&(i{d;_67ZG4TR_=R'("?JM I2GޠZtXHHvʭCx_u~ 6ku3--gl%r5*V%sefY>4XX(z>VČNodSjt~Vx; G҄0w[ĖL\8g`ZbF Hz'""M,M O 9-ϔcQo =Ӄ/G:• v(*n~ Ps{w΢ dD֍Or;2jT(1P^[n/ ]=qb- :?E Xq#v5u.MEDaB˿o4,|z!5. 6/j5(,@c1R297(|yUUsߖ Z檮cȲ'ClP673}}kbT^jѵvm!9z 5hPq߉0 K,8`JQق(jpPb&B)5 T$4J(=nHv&*͞q1k \q3EW /3cp")¯(qٹzWZ8p΃DO׬ Ixtqc-\sHs΋"UjYԆx!l"+s6w')s7ΆKVG=[xNCDj7],ښ<}{_IP|4@X]8=8/澶T5IY!?Ppwö֝Ld]8U]T\T۝<@0(BKnǤ%*|ȥ}=HtiRyng.X-)Hnb r.ppsd4L,=(c>AQ; ?;ys:Q(bt\:lNT%-~]#)@b+OOD8Lmn3hl--!i J~YxddJ v&ې)OMtoC 4,@ɭX),oSz>O~(a;7X(YbmJm&J!HY2z2!@VIJ/x긹Ө+Q){}Js Dt5f~G԰ @ z}b}uU5!ޙ\5AF_+-RlMxF ;t@t|@ڜ˼n!½_QYGh >L3#mRE˸gWP3O 6d xQbIrJ p=0*`B^#V.=pɣ5=*ƓuAo-AN"pW TsBtOI^rg i'~ɤs s)G0q^"]CWOqrCG[+~$-֤זRW~DQ@0s倬tSٖV>eVbde6MSamipOx-6.wuBH9$F}v|iE'd.\}uhZuSB+"~:sT88{=92[AԭFIJy!!q0Lw:|:~V?k߈Ko*z7ky3' g9*ç}ky\O  &H,4-žA=X7Zr,v xm ì`XiҚ[ gEAW/)z4aHA/pVmdppZa*QNtb8 u#߼|alX ĺ{oҀB&s 稉?N]봺1y(_ ӆ*ܽx.\l,c3^s@$ 59B ;Aƹ?Ɉ 7_!`7U[支M[\d]ſ0ɔIOJBv^Bc׌ҖMrd 2ܩT5lꚚ BZ, tɒevnQq@a1*mQU6>1:N- hÅVRtB&S ndAK$IQIU ?n:x:鈟 fHĮW)C4?I["8bh Boz\^^}'1sĚ4]b{t *ZrHrI*[;ՑngC ] P='WpKSE,pfwUH/۳c% =CoKJkM :ITɄ6鑊QPf=Lβs F*M2y&V F\4^[15jqǐl{U+N☂JmE%YH|+7l=0Y a7-*+O/EJ @q"Ꙗb69L`Hsr>O q/U,9n[^*$[c'.2"m Z}ڈd.q7˜w#!: p,]o%z`\hW.p:KL,~LBXebzn!{!ZUUIݑ줤GKӣZa gc2D! )˔M\}`Q#o}ڇ_ߙ>Zr>`S8%1H ѥ:%/C#G# :mqPhGcU)+ ;B3lI;Jq>{ egݐ*VqD瓡q-s X̐ Gf8h&Bp%Jr3* ao d75&ss**#-Ky8dQ(@.vG𥝽m!,4A싂d&;& S1 ))*,Kr ˸\qS3 } L~?;\c.~o#=S>q*^bܐFpoa?c}N+<D XgoX"(2 8P&<ĂsnILbüU P,BŒRD4x 36 2ȑ%\V@3̩ ^/)L R }XנwoQϤCW=K>ceb;97ɨE$ZYY!>LABƆB ?n q-GtX;2N* u9!wcTi>^ ]HF#><qkD/VLq9<%Ԛӑ&{h%F6s=U3hMu^QFY.̐$_8,w@z/&@/N@*MtYXcl6Gx[$oQ)Ao7AULDѽnQGZ91pKEƥH87PG,m[%-`Ó=^Zı Xm)oejb _D~'JAWݑOfl'} &hMw=w0 f]kcB>$(ݰCܗ^uF A) H0/sSVa|Ibw~}1xٞȍ%ji^Jg3C4tDI#ژmA/jEɇ7 +l.mO{}%)|g%eTS)#RaViJٻ+Wǰx5\ao;Ρ|@ϸmg@x.} 6WC>]*"a̢Ĝ ץׂz5* B8jd4;n"Z^Q 4@!iaO!1T/}7n4!,y#{:2gZ*.@qKyS ZaR`gXh`~Fs5aL0[G\NK 䠉kMmH#*ΐ DcTaucs Tuw' DN7eÿ-:-@ΗŝK,(gq}QF!m7bOnʡ[(l_/]uYaA^xW!Yx=f1 +!)':\dav@=q.&D}lXIz*52udX/M0g%J!Lt%OaSʸ/lSIvD[B~%M֗RCk ו"R=Z/e:sQ09= u]ZaZoL`Y盐*jˌO8U&񀒔 1r1Շn lKxr&/ pOHv87*LA -%[c=2;B"U;<'#ϓw7Dm֏yH=1WW5T8<9[924Žfog 8/!⑧qLbNF5sa&w珡;Vg!xCTJKQ9[`!PIoSu6 T1d O^w@J^_ѭ֎(V8/}n L Mp*,_JH'*+e `Nt "|֩;@tyHBT sQ^& ׬~A)ZAcoiLh*vcz L}"0]hQk IKA7ghJuܷTXBAfdÔs+B/Dće~cMI܈ 'ZѾ.܈ysuQ6cI†bA_2ZS]Hv!E2kv9# D%3'V>:8aSa>*)00 , bkHc@3Ta `.~iKNnқLl: R?^E1um0iƜmZb# b $nfE19!Rc-e!:(uf ۃ~Ֆwϩ % uR磽_lwrؓ$ YB$ȌGtŝ{E$GQ}aB԰V,Np(65JަZcR72GKqˁ̲rI$KvќULH$U]"V Ů,K7BE@]ř=Ԕ4|gCr/zVxO٭ޒ{˫Y\)9:PKox[F^KjGƭʳA\'f.>L-:5]Pg%4iז>?yu' N|/#!=$MoH!S鹿_'%b.X+jfMZ5E.̥z ^N$ڥO҅>Au3u)Y=šB<#)g[ǩaX~M;IU 7Y`P@/gNR+EsQ9RkuɭkP ȋU8H0e)H𹒿N$ˬe $raRӴL# [F(5?4LZÿC"o"eþ"A_[)Jmo)A\aL1zbdU/ƩE")`6f\;H7aܥ@]yX6_TfY:=ap,@(Q&Z(Ir0CѹT%ᓥׄ L.~Q |vy"Y+kފSQg` }H]ҍcMjT:I4e6&e'=6-Jo }6{bԃM6͙;Pvg;z]AA:Mod(`'.>eCuF1gWkCCu[Jfx1!uM1Ne =ɛU&Mp3AQDdr De6(d50,YP\epHC:.lAL\cP_ر[FMJ]-Ĺp 6mEd#V0 Om~י,vɸqt2/C2u#G^ Ga99XOWOLW0+;>=hQAF {[ef6֝I@͎aL6M^JC0lhj1d7SYN*Q5ZQPv fbqoD_c\tٜ[(6ŀQ펔\;Y'Tm7bgV6Zl2rJvu~A{71-0Uk/eNKPOkVT(x `_sJ XÔ4*<ǒةA(}\Nݹ"EEPB i(3m`Aˬ / Ҋh>[`1OcO{k7mRKVIX|Ŝlc( CvFYW+69˪%pAU`ܕVTkȐx ciyiZy6O ΠͨKy˻{ePJT}G> u!r^y,o*NesϼI8Y"@hx$B/'zyKQs~n0]6iVưXQE1S6(aIr6x"T6ގ]nӟ*d !^Ucj<KHf_xn39mQ ɴP'60:N"{}?"ahi.uI{!ݨqK!8}g;gK{×$18 ByңNɽZd4ض=)bZsVڃ/Z$F!cȵrk}~&!";뱂7(= ՟mO}+,ԉZbg 7Yrۑma5I"ߐґ]-$ G9.pByL-瀨WOMҷA@IPdH墂0+Y5*dM\_ ]a 7WvI*AWdψIXRBܙH^7 wV4|ʀ)v Pަ날fnѬIlwKbH6*NB?/3}vMDiPK{;ս F (Hg`hZ^ ,Wj>a1@)SOQ?h萳Ju+LnZA܃a-^8qw?sp;KGF @}U*9A+F_"Þj(EKTZk#}N#$sL8 ?P!ʢx-L*.Ԧ׽i-^# )~ԵWz!:om|h^,y-$L)ʱD m5whc\5 )(Tʣ$3fRTL2 gHHbNABwTFBم\\ >G_isLC 4qW[|ZE4L#D^ƾoxȸ$mVTd7U՛=(0d&>d u=,VM&;c1T2~9h~zHއ; ^=t}DUG {D*m *X ޳d {u"4%8a8J g/49_f\ݞ #yD q\d=[.cn @uOZ 5rJ~I=x+/ftL/HW?}нXB]29˹r0斕O%5 ܠ}3;}N?|=۴jokt8F$i~24hRB^>xyZyEƵ5JW--:{+&:"c p&&s+I$τFT^mfbЛa;Ց.{ۅ=;oF^-rċ uBGJ"R[ vYOgd}k/RN[ICKD"Ƶ#g)3$`eE[4Jn"ʦUƒx]$ޑycTc/zL,f,nwv m°&QD;11+M둳l z#8Om \jhWcI+nEZ.v$W ~8fGzN +Kƣ&wqN'ևӸF7v'qB oNveI5Gd!-WEIk䯽5Y@*j9iO8~/r@-^%qQjtP>7Iub.$!6)𬉺rV,={iԦ= ҨǟE!_ՖC&$k#y"e.o~  sE`Sϳ*uV)T"-bٗ,_ _aje{!`[P86D+a˺: B"xm`1Xڭ; { tb/E@HBh[iHW'?W 58 2MyEPO;uR$Jszf\Q>8ں,vky\.l 663Zl&ӗntz?[ƸMed;N_ugu4Ux'R`QJH(Rg)^>|d].$\տ0ZٚsB_lZCBo{wR8J+R{p,>vIyl5Ejxpݽۨ'9a$thT㍯7E/UԚj(/iCF)˜p4_!^ |_k퓲͸krebp+̥.@gS:!Q[ Wؾm;q'Fn_ 3tZm"ps:8]8< /X֩ώٳx/̉8wnHTgM:縄#c;v l{3Ƌ,`(!Ih@ڸ @•k%><0k@SXAftQ$! \ ?@"]^0QDazST鬱z&0޶@l}hLd\4= %:0M׵RT,d]7'Gq2D#ЛpIj [r I]鍒<_44:sMx2k jYRK@*4A"qЏ@G.qp\`kWgC3u.t #^4!T9&m瓌h!z"Aƙ'$sM@*6?cQ'hk&R'k'@M1ie.deZTZi@ ߹}ĝd-XYQ#$4tGFј*4œ"3 ?NQ>I)Ƹri" tBg2W1Z^{P?q.->M[owm=?M/r5« ek7NgOPBx(8Zy4zzNP7phrI2^ʯ?lNO~%!Ac W&&%{Ǻ?%wZE{T`t N-Hw==pE#&kZ.%k~01}\Ox4Mw" Z>4M;!A]EѹcƑ9<"ϋv Q?ܶGJ,֝wCY[eM5E1pU9 | _D@aUjOW`g̬[?XBF8{;W>\>it&Zc`,g3>y£^liP(Mx/dc^d5 ~: xQRA=)WMW<6rÇn N[C_LP+L)/ Ȭl]1;b_Zǐbt|$'GhA!' p + f8q|Snsи=Q?7,=8WrL #ʌ'%mܓiDYZ"_^,݀ ^|&#gV LbȑE+xζ|~$䩹vsAC~E/Y_@ <{˝Z^} v<8r@(AA*SCC +b A" 7 p|UC:==t7Wpo`/vo"H ֨&|:?P!"gZ }Rm疷HAϾĄzNC5I;F>LJփ02yaBU;܄!N60g<v?*u3nv^<)UDq+ϑ mՈF =BGlz>EOh%V#tYv.)Jwi+w"-m5:ݫ~њ~*5>Q[Rm{$@M>hgGK ?Gc @}jW}C}L(9VF{>):L`!dDq" PoLMNMlܠWHE?\Tn]Ќw/43Ynj15 Tem*8aIXe*c2<: PQK5q6t&!=4PҬ'j~YYjR8b_ۼMDVؘQ]!seU5X#Hq=g;Df+1XosaxSx&nNrafuDBXd̍Ͼg({1"kQBY8͸KàrWGaTv0WӢrNђFvdmNz~>tàA%=,ǒag(M}K'+=( ؄A}\;MU3yi{ͽ\BTbA.`U$1Ik0uwг];ޟ8 syW&#vKhL)SUpz_J}=]17;VZƯ<ء֒Gjǿ?rS[r› 2Yvىf/#T`4ŭH_c*qݭͱ^T9Ab!S +hDU[CGPt>Qwr\Z >F8FC"Xn:Qu;l$>W$ۮ]Q#J#Rs<$&bbY,T0#< td8uEX9t;|K`f9_?Y=S̉@tG/;kwD x izɑJԄ8xC[Gl]b|k<4ehe$p}Ņ !]3B<65_ɉZQdm\]`n}͂+?w>9a5UL> MTgElK4Loyќ`"Ft$䩖0qq(ex{@Zr Cu4i[YN"hb=_2yZr#φ-D3Jު #d`$dyf}WvwpUec$0TrZso|n4WSI \rc%)K̬nZ* J$i6ȢOhNPʽpu +K):` &a"iR@X]&Ebos &$+XJ{?Τ{wIn)k'!$WCxewWmJHD_nX[( 7PG YR2#\iORO!Xhm3 9I1iCxLV1M^N&yvvC3HN {cVN~TY|dدfR-Eώf+,&Of97R.V. 04$ٹ+sUz:`1v pyB.ů8NF_Hb-CEƅBsPs2Y)`D-=)&>md-ch@wv,$W7*bCt@ PTCm#M 2fsSLn?KJ3\ReȈOY)C]p)ʩ?Bhp|䬶x?k'PwYC,(|-#BҪ% Zff-L{~_4}P/%Dlc~_-Jdھn:kw2ƣ'6ўI;4'D.Im=P؄ +-9^/ӾR#ݣ+/kmmE|pt+n 6%@aA d,%zeܜўBFT~aˤ[%_rTS|!4J]H(7j%F%^k_ 6qzΘ[47؈ٿ7/2a522݀Lg"߄[ↂ% ѾIst|uHtxob!"eKofk/="uliUbԩ\yʁW)d]C74IеF4P7e?/1A蕩jO9|Xp?_uFɋ*0g5^I:3ȾiacGDpGx9 +#sek!Q v 50%Lx`h g"w64TZJPFUQgδ}3Pb5LZ6†Y`xn.dߺ'~-F&%'rpLC/:6pu5n7MzE ٯ?C0'6B[+*!Ά}oX;,}'돻ڻ΀>JuJM*̙ _t Q̃/j'Sn"Yx͞ _xa`eʵ/xGfsSWsG4i;RhxVͶ;a yjL=Zs pxJIFt/#p5BAJ;#)15$)Povˑ&D2d2Zؼy8Y7!Nuj&h ocܴn% m^ ~n@a\:&X$8jo@&=k.supXDpp+̲ W%aZ6!%Y/yb>;jOm(Pcw }W\h[oqF,i)VXq4QaLvήCd29#޲؎0="ciz:B 9"BÄCaQNd!HBfEtdgut" ]##RiѐAb7H>yWg^ud[*gE Pؕfpx׫닩Ni Ki`b=꽗n,vUA9?DBЗqgՋLD0Wj{Lx5?QycVyZL4?LnOhFUT@Ywߙ3*RFJ^~|ȡW\ L]UunB(oBw(l'k&p5KGJY]7N* ˯"Dsd }{8Z-[ vS'Oյ>Dy.yAjVc~i}i9U HTW.eQpB>v6=Q("rС&&~QK`# @ƨ Z K=? ܵv#aܡ ]mb?O_6I r97c>@yŘ@0m8N`oy3sL*pWDzII[LfMƌSy2j+og'q{!k#_( 'éߢ(NI^֕IwWNB"szp-]B 0T(bḂ-B'".f͏"QUDrKeAߝ],!Z8KbI +;r#G$\w4_ؽ1ơ-QmL ׻J1&}:;(P!{nlN-xkV$x?Zxp" 8+gH_y|߄GO -˜iw$+wIbA!{+X qlk,;kMNi<{ZlθO{q(yO @+=PcIըȥ>t-=w_ ؁/8$49GUpd߾RC:V; I’]yT:StYr`֣ X)zd4<ݘumhzy [kT-VDl~wΡLr=º^ț𖀰ǀLk 0 M[:]'a#=tClzrd']r-ǨhAJ]`\P=,:jxDTg4%T_oms]f_r7j FUJɖz])dh-8EX! c)87FEv.\|AZ 'dLb;nNe#$qTAH2d- Ψ¸-GɺR/D2/ ) ZzĬԊcC£ D[1afL˯kAp#} F8hE3|^3/6l.z0.(ò,i*$֛!CO)(#pQW֘Y}N E!vT|ga31o⾡,Bő[r1Vr4lՈ( u! \dowH~Krr*Js6o'THs-j X NrnV"p-Sp==" 9)cMB J 85n2 RZ<$ ӮxT{41S `LM-1U:[w˒ gֆ;iTM2 |s^Eg.䗸«s@ͤW۹TII6ɌY5!(b]bR?q=tge2ECjǔ\|\W@Yߜk+QHLV-pʼHPB醃/b/"Ab}&ZOKb H:};qXpsu=nDcTA7w. p4FM@&2S ;[~r,ۤ:~KcjL=uwg5p&Jsr9rʼ V}fj"#1K׻j7D*EK0ouW.g*s/SZUUV7XKխı0a @z|nj# dlKjߓXYn Lj:( Ir]VV3$Ddٮs]@aVt4#g>* DrxQmtzTڿ9n8j-1:O`s`q w#|ᬠn@r łl-TV]öcFBw"Š@}OT]ԍʌlv+tUej.O!QnغVMϚ­t{7~Vi<2,0S{ƣ!-0M#,(0L1}ax䵓ST}b+Ve>Z|PHۙmwe]|+35,p& f\+Ef@KPW~V9Aj4ߘ郊Uu5%, ڄ<)ԑWEq6LϐHm3zl`8rVb=k+*ِsԲxe%KqЅr:1 wbu:m7g+ ӓ$о_NϕSle)nBm&;qA_29Kz`]^jtbrV#l 0)3L>l G dsI˒b$;SYRV>J3+Kn.rc$_*>H7%anp \.!e9wy,SPhM_xu|BP/Z:E/h$~rv`nMyK_mWQ/($4K>9@HOEKZ 멍.{75 o6FwbcZf<]Muk [,9b"{0mԩ* <)>2mVmAɆu|?Q~-`9Gx/KA B1q Le51$>@J~}ڣR,@hQ4ΉarlTO) :'Jǩ!}G&sa`D4vIY; ZysA=MN-F>$X`7+6Vc(p8 Ew3GK. G 6H˱/׹q`i\ [gy?X& EO=\2){U0drb!]Ү,QZRnEѰA>ST ѷNnv+>K!O[Qδ AL*`Uxkϖ'fgJ׶x@/B`i?at-4'Ga"`A,,hQP\\g1F S'>S 0˹jy_|npñ’uLjY͐$KгJCgJph;^@D".4(owOH/43p]_)jGf̯rw4~CF,B}Ar9໲l{ZUkp&zZF&,E>Iv =m459w2u C+k!V$0ꄇbSh/ށ,7;:qNPP|ߣ?p]|B QA+YT\} #p2n Q$;)T1{/? 8W$Ν &ȋmAa=H =z5 1TͲ&D PyPl5BفR̭VVO.LMR&5pN XddVMGA@AXlF OZ|稆7y: K'O Gq8?udYET3 LCdC d_MS1Aæ;|Ȯ)JD7&c@Q9~fS03uP INɏN@t"S5j$Ų* ec|H.ޯ \;I)CzVx^B )Fh D?MI% ],L_&u[/sy {ZO@(.9$fE6AEċHwS'd!8_7%#.!eILpf+XwA_l"p֜XtE}A%?ALNG4! ::B8q0:LHF©+Fs ,\,UUK͝k{.7Tȅmncqobv"T-Iwh-n|%>Iɺr+R#՗5ZT)!9SJ2TƉչ ,$SlWS(<ٴ]s$,A2Q4Ÿ6\ e+#K|0JT˲'pB.h aR֦ȿ?~*5,SG$D|.$h#͠N~[-7ooݩ~w_UcGlº2;c ~˅g>x@_ּ3,P+c,`@F}"&2\M(&PUNK=Ÿt5?e\zh9@V\?nc[p sVaٹYGEE%irGH݆*1!3| yJICU[=f|1_,)+[-vB5l"#}PȊrq+M8湽Ƽje&QR$N'ց Зi_)98WRثe <·V2:pe!Q,^I(^,hV?( ZbW>uU=a=jeB Kd/ºXVh&t[(=1FT_W.h)'zhdܑ^QQ*0gڥQ  Q[ 7<hս<߽ެwAt+5{~VL@v^ܯ&YKZo{teOl~Kjiv dBQX|oP[gc:M6xnL9DWtGvM5R(м +._lɮwU/y9$DVR|}UO'#$vʯ83`UOY+?t(xf~kӑ0"Y@ø=Qtl7 q9{pW1j@ubd%gݲI3Cvb @qI/>{M)*jPzZ^߿ SԏaH`Uc*F 耰 Y('(Y.~ڒ1X+ٯe ʐ_Ժ ުI^#"qEQffTAI,sd:`ͫaҎ w2pjxo#2"-;ng4kMwv_=Ʊ.qP5#YpP+Txdwc[703=>V,-.] VbZmm( !  !y z'M0$;TL8Dv`CrTKRϟuq}+Iy'DkG7?>rᩎQ y \!RQ'Q=_\\~%%%ei/N顾dIdžbm2$bxIkzg.o~&VdueG,.vh]62d]`gQ?o Fv$t8K6نҩdS^ }2q{4y>^O ]$8"!qkx\%JVάQ+OnU\,YzF示%C2Q 1ODr{8cc:;,꺑th[u[:)*N]p^Nz1457hƁح񺬃+ #1hdne4sjr)ڤH[M{,|yM4Bkʇ Vic ML\+'hvGm^{7%@Lq6.gZEΆE T݅M+L[Fz^>S6X9hpQVlLhS+`O"݇.[i2;CS+.4SgkWc_ -|rKU[-X KFNC( J:!v!_#_/NC4^DdK>ZrIOZ$#Q+CYD]@+luؖx`0 @s\)˃Qq O'15i %=B "1Udo *FhBnUi,]2(\ 1v5M=} nl#v7]UO>~C~:,Q3q;!\7ueW5Bx뿤ظb$7 enDȁ2dIc=d _#ϵߗ A@)ҹUdϋ/=Nzͷd`Ńͤ[ӺGpxDB~Qg 8%𺔪w10GSKCx*3vi$^v B2= ~ZLY7G?8@T#ō-FfoCNU9"$R $f`%/V,ȶ@ڄrkA?FNA`M_A&.B2 ۤ7=z}ð[]yCŜXeC O37ey. 7Oj(jX bQ)*coC+g;zGCo$b[[P 0f" ayQ]`6> )2Y+ꫵRhn5i `W-Nk";,4R{Gsk5Ӿ="Ai,v:wLSoί~ t"|n{3k{ReMB\C(;q _6zO- U9]sW%(&?ϴпN:*]1CG 9 j:ֶo7 hE-7 `GқnK8#\2+nR!rmG;a3≃NP˫{]D4rUO ʫt҆H7|Rn fdi41-e}쑢`o!?ɰr䡃0`_)ĨC_ L2yI;&%* V zr:_;Ʋ-#GgA5E0WQЄq&Abs},4嵑`ߥ0h~p8SqvqY(:=:,W454m Ia+Z !qn@Ło_{AtTl /<`yh]ӉUnByf&c˓\CQyT L[8" :mISe1ˆASyxZbCjȆm!D9Im)pWLb'VK_y=45/lR~`9&TNb'kLz"Y`*f<YIF􆪓]E| !k&A,1df r|W.aF!АfU۔gn,~ fY$1Oj!t?|62--v1$~]ڲ@ɐV8o"+s) 4Wx[okQA&i Z-b\$D1*7r4ov6؝w T>x.xaPTz/ZldC87jSBMHT`yܾ`;1I"π ÏV=8/ o^Iu}é\0al2L?-5eO&-▥]mIR<>S36fBGp=2&ӈ^gyꆅdy<7u1z%~њ >38lTMGc6_a"Z_M\OB xt/$Ui `xXЭ{k@vN)}p7LhZ;g繿2%2'՛З8e)DnnfԖB|@9b#kϳB;ODuId4(3ԆBlYEjV"D5ﷇݪum2W8<[@ K,[ԎvrFuҩ᎐aρ7S_[!)lxlL{m>q9 hC뷉({&`EfDAeomiIEUȢp88RG3*ծ\ . 5~53])Ye٣|1c;qg|g*u;k)Hh沗(XHxm25c!!JwH7^ΜlKUO^Wf` ѦInk;Bg:A".T쨫 lc ;R0F$.-"f 吇fp oU>^>8W|KJt EMff'DwKy,UIs\!336>p^?''pvN$ʡla-柡b(&nh๪=D{5y]x]tI'bM+e`Tzq}bw0 Z:~htȝ$DpzbBuҕn»:lF|#KU  SICBKJϜ# K-("s[7|tȧ^UN@F{x׌e*c .WrtdߎfEѺh4Fz"T[mhckuiNܐBNI`Fw߫_,& aO64i2 adYʾcDPvf-v8OIg?&tY륊iCk\Vb@uʨ뷴꟔B/(+/e&t@p/M}g vo9W%|k99g;O$ҋ;0/5 74:vn} %GpoS*+Y 04:Vz志NN%zecbh-7^B@ɹ'ŗAmF hV_ZTASۧ  67o kl|g6GwOXs*ǀ$dv. nCw:'qodAb}_~ЯEh}^4S l<:hRKp*Cֳi|mS?ZXfPP՚G]: ?s|CgL??bEkȢF<E Ӧ-s5-D50TΩtpҿL8F+b8og)>Rvre¬^NKPD1 wسו-S`'6Z u3lǝS6/ǂctXnhR1)]!MYqCqyAsN-m(% z܉` t=^輬 `ZR`l% !~(_GxR+a@KОe`^xRe6i#ʶ.:bE^f+E k`>}G/ l\tm鑲_B??injdU}9ޤ4dj*6%խf3?zw ᩘ{ OV{@:A XUi?A?c8UJZ!x!sUR*ť0<;TO@tMQV-NhzA$^աNW|(wu?òa[&DԻ |%?xegԏZ=d$Edž| ZU;q* jX]cqjMd22һ]Ӷ!,jh׸'~uO$𕷾}J 6:ӈߘp nrXԝ饨S ͷԩ/C)^bᱰ V^v@z*.\Ͷ\-xM|#Im?RuP[8AA/M4,`GMݙ=Йe8AVV\EH7ϯ  hk49vZL$|jLNkregJrB]9+%lwPqoz zɪ>cЈ < SSQ6j62]boy$R}r_׸K?>n t2ag#ЕlGo;F>@0طh nsTĦهir`#FL{M1 =rP8s森&M咥tje>FmxzGAY{׾Դ!GWj3 )tpjN1kK$F3ߓ!fީW=vq!i죜 :@ߧ<1M!3oO)KzM[=eS$r+_3? ,~[CM5]DCRZ-Ep]Ӹ:eS`'KVEVPo7OHe!3Ʃ_nfKU !ROAR$Ҥpoc>x%R7}wDa xgkmY$.vw|Tp&A!"VBdDO 3uB tl|r+_Kp[.mvN}R(' |Z@C<):RĨV֛avZ/}ظDOw疣s{]ÎLS[[%ރ Xy!48ɑ7ߵ/lѢ}pn/2])yْV^7X^s㦄ުV[E<cd .TsB^v @"z4X% tּ!xµfnZ>?V@_XuIfjaI}{>KmR 4`GkcT{(r~(q=_Z&vHJD"x1Gy^JyUUpO5CSZmA;%̈́]}l}ׯm}ߟh- 5?T >_Fɰj6HyJ p}]/0ycTËU,Z[>(g`WLa'g]IPrg90M8AM@ Sd]DqSŘd0+M!珅 VҤq"~ >%?4&8/Cݑ|R9LCr{#8ɸ8@(# Gv`ls?c?hIq,C;[B-4Z'lc֤"5h>fGZVʥȵvʜ(ss"{{̏]roށ#ĔZ'qqh?]To*}12Еm[~;LhX\矹W-8K 'ǥB1͎c[:K^4 [ni2N  Ag٠^ qdf[rfclV~^M0݊0&EqS}&*wY33pז 9"N3ن!|(P3ݭ{dFN#RHe3u8M !Vm+ :f/&#Hc෵u _G`J-`y≷v2IB@+lWBP(8[7P%ґJw=:yːSZ"^,~F}gJ)?NfN[aǢ?8k np[X>gp5qE65A0& //i5]tKu_]Tw"¬ˢO=cۺ< (Mj(K32u%O]bҽt"a;)WD i+L҇6c&#-Ebgĝ0+qW°Vv6xdtrhj97k:rN'G2ץa)6tO+r`Hm _ZMxֈT%qS;vF5C!# NŪ(,"S_=.(u6ԏaJ x{zI' [M *>KZjUy—*rՁ57Ml2|y"5U%I|z@JFO~ITt&J{ײΉ_A8e[pnL[y9Wv<2Oo #.8&aMH_2oupsY-|K 1õKjZBP!m9 EZ4MYj#GVLC=vOY4i,VTUi\H& [ Xhbp3f09 @T ^d\UghStb ?(zWt,M~nv<\P"/]d;:Otp)**ehU.|ztumo:BuSlM|PRڷP_'D (uh|{$w_=sWvw?A\&{je(i |ct+v;NsCD e%.h%${^t@lƴ_uY0WS*ecHgo2vD[3k*XFV?@nGׁ.fÛ^.q@#uɇ|: u 嚿^ 07URpvەȈ5D71@Py5~̭o m~l=HWL%9ChW}!6ŝj qbj5cd)o~ R=~fyv̩񇘩msWD6M^=e`}UK[LZSoikIr}>ЖDY7o{oR=Mp8?X_℆ rSG^u#eYl@M ;DC}x"*,rM.4IWKe5ͪd7Z/K;[n?r{\,O:J'5'j&PiHNUn=g-j]Ysy//'aM 9!H4\36oj(D;p&ٕt3( yn3<Oc ]E0JX98UuTg̐zSʣ 8!1jyq+T0fv /ڙsqx1A2_^ym'\ta#LQv< xRi͐"!x.|qleRN>0enB#U9|(nQ9qCX fŔ@7UV?H`] A`'[ޭo|iqz& 64'C|N!>#|GtI&gzHЋ$IAZ79K6 䉎kjR*8ѩctKkF9Pw%,(oN"sov!,7)(aΰB tS|l6R^ߪm#_z{Nw'b9[Oڛ]'Jf[tX1=I9OvJ{OÇ*< _$Ckk7$8]'(+Pi< P6z$@ l[]5: ~Æ'ZR8̌܋pPEx2 !TE?@\2/`_BXm sg}sтBm:M/ABTlzVk^OJ`@}dUdOi:dnD@c  0uQMzɌzWiyBkA7оn1& HӺWn/zu=?u |^D,F6+ 6o,Vi1X:,*i!)eWۯN 4‡ )}Yu-NmRmbj\N^#2ӹ.Rd9RlP {^p@VZYBىNl,Av}؜夯NyޱGQ{?ZX1By ^F5a@]e-b&P`ar4x]z(%wrP 12't5lQYwV)8a;J48fI Q90K$LZ ~_B͕"dV ȦHcQ~p<W7apBѳ}ZFGё!XN՞='2QNJ TZ\ v3uUkI?GN<ع.͵@k.)i @zpa:yipIZWz+ִ"“4U!q$:sA[4ڪ}l !_DXEU& XRH ׻6r|S~+TRWc 6H/|7b$u:`?3.R9S9#VłBUfs?\N[QI8bw`EPF ߓMDfXU6k.e"&}y 7)lW53>L(tQ􄍕[vTSq\g޲k0.jPd&ZWSyB|mDsXV`P{q)Ţ6~F!Rz9*Q:4IJuU;vWy$_LwK** ˽(id^Xzݾ$=Lme~duhVu+&MZ:]cҁ-ʷc~sGKYH!T,Z/mBCASZx4qV[#b2ABuusFw $jm@Y-i~ì~9"NB(i$F <} dR WX!o6s$*+a?pO^>!_i?fLڜ\G!) jRMnr9.`U||12~0|ncY*NS\/ogzذELporrǗō*9@OzH0ơzl+@,5N(4ƭpF -q#gy"tC27&@ybFykjs>aeb'mcn%Z fn-n7>Sw7aɉqf 0j˒W2В9*V$uD_ }#`_,_>}TLJj-QcgE)b*CTK̒.:Z'!~pT:'M,(;QȘ8zj]1]%ۨeޘ4eXjmjXɒNJ _&PeH%n@jR84/'fv2;B+XjN[}f+~QOaʔAAg;rzex?K~E[9@qqr!eHVXl07"`3%vNot;u礕weA+V#mBR`AnJ3~05WЦ@ՂX'%O*}oa2xRMcYŽK(B` 3A\͊RJN~aQʰJ`<";NA>9 FH8PI]U%$H]hEQeֳBs%zDOQn,XZJ68azS.&7 t X{9pRn7/_yʦS@+H/7D"X Ͱ)&YB#ˊ56CsOwz.o'8.\2zET[;7Wd}6 Lы]1 2p*S%5P"jO%#%K~yQͶm`1U Kn C qbTe#+~ h9[_΂~A 8>VkgՉPB?5YC㋕Ms (dK@82-{w0  yꅮ{alH@D/6e U:b&̠pnjy3%B?{RPAvKQŠw?^r0|`Y@#~xSW?&Hj#ƿ?DTaڵXc.`\h/]F_&- eWf7]%1OI)<% s@qVlat' ּIS6~FVuT u-¿_1Qo<^yغ$PjDIu0_SHea/;'W,V+-pPcAL@5ǠjK@ð` h _X-͞WcQ]3"GeJl  ؼ V-A\T 3-hἾ7?yPۣӜRbTjK;h KlD`p+ 44^ڮCOo)Joȥ)M4vKm[ E6!^:8r'KyH@+4M$MP8ԃN{?L*|~ϐ-r7.{&6Vӻ;h %JB 8QvW`:5e5֝1ىٍP'_y(8f14EGC*jf HXw|*mDxrZ0%+7E'8A./#Tqp$v|C$M䉐<U *-: Ce}SH wOH/k,% ZH7˹fNprOV|`> 5QDn@j2>>~wY_FnZW""@%њ95Qj4ԂDX;邔U e8m _R=m(=!^ ߾Պ@0י=QWa=!!8ȷ97~b6t-Rfn2υ1.EDC%(<7'pG>m_DQ!jxs80Mј̇+#R͈/uަ4.M>К*s䢘EYIG;y!Y|Bi#ăyuFwYC)|nJ5K|5(nebkۋ4N#Cx(3HK1 h=^;ÂO |2zSukBy{H+XB=_?̯BuRi} %#v`=%bG#"g|#jp:sOڟ\u6rTXI=aVnج*s/vŸ!켶GBx@vvBzK* D /ox. 5K}7In LjJ]Np~ۏ`2y嗻9/fdEQ>]0.?wk`x?htw:*Teؐ_.lwSU4̌$Ƨ[QHˡSDaM2M7UgxSv"qVإ:ҿs'YZ%behGbj7q & ΐ!dH`UX$Xrñ̕ h&< )\o勄r֢`bn9yv񲷖Vl$QOH~5!\A<4EPZ"D2l71Jmx2pid|_/2/7$ч15W١>Ơ2gnD 5 A̘,5{U0F|DWNQ]M+CL ڵ^3׽E% _;pˑJ:FČ;4a4)6nnV{|!s`Jq]DlEy$K-C;xz|Ϯ# qēKd7VGAm|OJ0|+2'_s*]2L=@TFJJ[gKP=UyLEy`OγK8&(j^M=2Lك=ü hJ*2}Z@7 >g3h YѠ:nE1v=&]6=(9&ca;d^\Y1p_w'O.n=1Baddbp蒖#>t%`O5vW?͗Xgfl4DKg:ouډiZSq3g.񑮆(t, U"JI$-[ FG_M3F-%U04+rtV_h8K;̀?АEB ykھwvߜ-*L!B eGwD E;*XJie,q+9.q=˺# ~xWRڲ{;#Y%4|.tĖ?rY%Z'4k!n`pSxcy~XuH.Tyʩi3](ӌ S ϰqG"^uk>96?=?]Lm=F#ڄ('VviQK]"rϡ$$Wؔ*fXL{P).ׁBAOC' c3Ţ#UǔQBgbӴHk8k56 t[kƀfj5ڏwCC Q"#sɛB_4PG@ɏdm3ؠq=b7_8fMp7clWO)>ǿ#43Ckpų?P4dgP6w' !Ҳf}HBBɝv¸u&| 3&6juT>n;ktԳ y4JQxA5j NǬqnZ;:-ĵ++px:My^B-R7KMLX%%1 6.:u3ny(U-@=cMQJyM2m9-5uف^,9'$sg>Hpj*G*+-ux꬗r{>J㘍-d nw̘̞x0yJMUmo'PLb3BQT?^#[6{*rwzPJDQjF,G8\ȭ IDih@Ts|@4y;qvo6΋z L9!w B?^spoDpcrǯ2v]Xic,@.DiՇmDA*P=qcr1jAO0>nyts5ʓIOX$ΧNnYo*CwYf2V2/R$$ݨCc_4ɘ}gGa3]43GOg^!S`/Y9'56bn iPC,@0嘝>e ~s!QcpVrUY{KoBj㸹H9}fzԥudD!#IG[-u C.p8#^d1BuSЙ{|9?-3>Xò8*G3*q1}8AN+Iг!KXoX~i7x )]DŽOR L_AFUgA-Z:La6 d2Dȭ7?[P /^|,]}v9U4[[qY5dÙ=;xRdY23r+)- ,ށ2ތG?U|\6)37Hߵ#)~i$:#RehQt51m%,f{{aB@(lf< >y1Zȇ 2" BIO㽱k A K=i| k+uH,Ev)cER=0ߺje{ h1>@\btT=rmF]T `EOS8:^"-r]G;*2hQCUۛ!# /0AgkYvR0"yX ɋ%|U_ ѺM3Yd)s,Ds#QalF ``~**{Ws޾n><(gYa2 X6})_g {^Plu7t\-J5-1Ob9y/2r@!3Ħ/yi/3z 4 m'k`){jQ ɔfks,s/ |AH<ˍT/,1wy( [>AeZ; eoiz/Sc=PA?z4Fϥ$BbbyB2ԓƋN' ֮2hJ,%Јj57ࠁ5Oȗ2$jd'tLzk$BYie. xNo60+ euex; .z[mL~,0anns@k2"fu4Lzd5up\*.1zQqwũ]-dDa ĽEr_r-BGj𷦹rO,1ޡ tX8#"Lb75s*|xzT%p8-B]R3'PITHXͮsA넿F @.bPJсfd'EXiY'/7r!Dbc%fG!5J:W柛W=YڐFj2J{r!]4'<ثFC2ـͿ6'$-~3 v` ͐7>I;(6ktۼMosżY #ƄcBBT= l˻]CsQNҸZIwȄ&d j1Q_*sr1/ǪnQGB.VC@<îeM L64R`%Tk&Pe YHčYW#CLX1:6o (qД+h U($?"Cց33ڒ׀1ҷdo90f@V_"%adQssk'1SΌM$urڄlEaG1Kx+N-YCȮUp戸3%Q6fL J%Ehe,+m{&QAV)LWY9$9΋ ap=k]I9jdb/} `( %E:RKH޳*#qz |1L7W:ϚB[㔝xQAQX]/)}7dz NQ)Y ލhyi/Z CF״`{QT6F8j1`nI1ll08|Nވ o-RG$=WBR%K؆w»w-ɝO27j Q^{; PvZ -w1N$,>&[`L(5obU)EC'\e~ k\Ha0"o]~ꢦT!̹TQ %iowY?W(. (7#(t,ۄݥI+_T:é (+X<Ï7$<^Uig5'Ė$_ k-km3 ܤDM-T Wh?kޚ}$qq~6O[?p7Rpy׶`c{凜U6#PaK;$*Iƍ D _+HKyH}ހЉw/wHzvWLS|> mDY3y0&,U{{:D@l'"vj¾(o.ƭvZ9=GSNMZ>F\݊1WR"+ z5f; Av~l ,|RrT90̄=4\}uxe7׬V+ewU5ufsGE\UyZsq>2-SL˶3鰨J-Z0IDw53Aϑ6V~,)G(lHdlYxR+m8' -0Ba-^`\8NU$_c?.V:՜ܻ &R 5X065cUWr.g|yWТO\^b/*R0ɻ x׀i%Rca!=uLD4`dxqݻр+ Jva)=̀jV>hXO,S*<5*t;'PDTq 2g E%IҜqQ܇1?;k 'C[@ujj#2j̓V[4!#$) L/vG͹p7w vV_° AG`Z ϧd/go(M4$1p)jrjgV OBMTz? I$ALG+5MtPAaz8on\B6E ib]b'wkncNc1{poR%yCB$46tp4`u%Lsq#EѱV7wY`=+ |<,EyͻM>Jݙʃ6$L঴D 1i D]Ѽ+RߎD)="B::VJ3)$ؓ`5h.{ N`%[%ҢA0~,؝0Nt9/?뜨xgB(w)#UPzHD է|58v-[N.(/ TE1S8N,WSevY7rXP,io`5{ b⪈ lן22 ӌ4 (N: f˫7&T<ч%HZݬ~ʡ_q*I9qRUѓQ]`mԖgQt3a6Xni/_*N{W]ћ^AR^Jhk!7:йvT}lk.\)28`ʊ=jW8jp c9 m8Uzں$u< `J2KdUsT XbB}u$2Ϻ ČXi9{(?P7;Yoش,tU2ħ-Xp@ϯkϧg)x1Lu_Gr v֔hD`v('%)>Sg+ 2mSaOvrx y)rUڛ:yTD/n15t)1DK@"lD %{^8J?%(՝"?I9zu Y|,ġ.ǎCA1|ԗ#N藩9^ Js˙QK+ D9bsPb0GK5Z"K-qpb-G.Sfš4D(?= k"% eQ*Q ࢏൦2%M҄a!1C\v;90 Dhv8L~`"=;%efh >v:K-JKttzv"y|d^caC>$0bסZ}雤9<;C_:E%2=0cIʒLzGPJY%#( Tdࣨ^YѴO} ty 蠦[=5#_@alm+Y X3 :ridvVяvO8'qy8-/9#:I,W|:M)N悕TiՖq+Tt49**AQЕ \kB(2.%Wk:čHTǃg%G͙ZLig*IL6O|CUT_xgu(bY A+|=p9tҝ1Gߪlq T9cj7"ҫ^ꫭ$@ڍߥ릭W,D!aW<9C,C=8hDRy+D,Z잘)r06ooNt MA{}}Աbg$zb|%ML4 =8{zEFkpu^ J})wLO05e\wZk­_UųPN5+ZO{%&C;Kdq yޠ :Q=VޙEB|֠憹D?ؒ3h򺞬ws)!iRT*>YO2ߘ6wlaOuUo JQJHrH@mʹu s^YX@.g'{ )'-dDFuXIOEydvs#Qukk·#70ov*P"R)iϹz7:pPe ]KkR[\ DxBQȆ=lS|d=*\=6& jMZ`M+R`#B{S=O'.6#ǴY.P-N2]SzwO;q Cb:+rBp{&hFJebLڍI%{l &ݢJRێA/[xC5a"=G& B1o^h4&#ʉNᛗK6RfRMۏ:Ea=k'遇s(ΓK?9ZF(k5)՜4\ ئ"ybhd}5"jh&y[=Tdтd J ]Kn w7[Ab%cygJQ*wM}qqW)L,/s3M|iDWo>s 0 vAc!vRx%8l!U!XbrFzқ`.U,3`w~ՀCtn;akCw u-(45}Х' -Հhʰ0;"NZK굽0_,⌕\.Sӏw'Qh!7x9AH Hz00-X qiԉ[k+懎qeSm^yUj iD i9lU,C{fO—T,$2K6"^˰%YtbMrgU{ŧ-O|΄gK`_V̊7`rF!W8Dh\Bvai&+vՀkˉ mTKɈfZ7D_L QSˉW<$D:'o r?4};1i1Tk,RHɎ$*LR،W\}_C 2k3d5yGIcc>_NGkU! n~v{]?Md_gJ$rBHgRߜuqwRRf9b6fɺ!uc;n512:c`1tdbZ FZO3 n{'|8iɅvb,P>qgD40;,;7.k9$O`rRKaCV?1QVv5?tf+;κۥzўYb6]:~3jn]%]h)p,`@i=~ ꖬE07=zxc+R-gj:WQ;wfGq]&UVLl7".mAxHu# 7wM *~dj!􇠫!}жR+/=~16&k)Gtq}IbIhT6a}rh*zķ8IQW&v65BohGP.,O?f])ɄjE0qVr>&j,swQ%Az)?n#Oeԅ5B*$BXCtmL1LS9|Kqv7pRA\g"PLl}vq1}nzX~1Wl9,trmLEwGj`NG6Z 1ߓI+uRud0 >C5 Be=Χ4=rU?TUכIUe0': [ĺcU7fVI8 9Z^Z7 R2Y7qC%g>mʶOUHh% [>vֲsrNYjg+QRF_wF+w`\i^eǫ3#).jQ]Lqm $Å;O&=NXy&pٲc%6:5?',pxW D41} ;!*O"VB%3K |N~C"# mP "Ge#5d}?{e0QWUpnC,[74$ YڗPokc%m"dNǐ--+gWk9Kwz>m^ Zɲc9gRr{zTJdޱG.uO/3h c BnEG4,trF$sa*υ$Tiaue:ww^;:`gi/$Tjh)D]e!mSX]k%e-.';cҧ`I|}$jTeyJ 3RhV8rk]*-څZ/2Md* i1HQ/j;ȟki߰C,#2I콈'adZ8Nۮystb;JVOn~Nͪm *b6rps9W=ܞL]vmWN00^L̨Enze s^i/-+T >ܭHw5ޤ]T&:vd VO'_FݔXgnPCc[j\kc_$ om 1RPx&W\ }9K 'n'--w/80s׊ݳRMV^v=m6/:OvweYJ9^_RO؃֤噃(XXa~&)wqaVL!i3/3Vz}֭Z-[CMbhʟ#3vtp6Qɜ!P]1rbxRgUC}Ch?nY5nլZ<1OlCar&fklF TZjSpH:3#"aξ4d+:\Lk-I?4=.=XjCZM}S^u3w4%{ӆiO%|(ݙ5V*݉ʷ'g|`eҌ–x{YhxU18xXϒ{^rUIS~$ |j3kh4/ ab Tq>!fl#u,Jd];wfhR^*ulޕԎC.v/ 5 6.u@"#m=1ݐP `Ph>v10㰻<W*kN];KZhL6V.!qbpȃaKRtBXylVdN@m-^1 Zeݳ'چc(+H8&0 [&ub u% >䉋/Wn*"Xҗh-D% ؐyѴC &8Y_{*~&7Ӣ 4&ͷd&\0M3A5]̲ġ= *7'sf|949/Kjt-.W}G6hOUQ4-"sj%o ɫ KbOPŤWRSgR)ްUSԡE`%()+V;#l{6QǃjlܺSE^3yJ [K cRu7{:?>ZedJ[zGOaN P\vִJaX"lbaq0J] ؘ(OzC]Oħ3xEP{7-& Yvu,{rU^>KI#|TM-?lދEq iܒ7)˹Icx=R 7W> )Ach0(n'Z|plʜ,x:5kI4XHИW9#6HCNf;N!͖so#ƒ$ /% $˗kD+bj${u[]F[ ĄG ͆)ߵ(sw13eI(&N=&sq`~ITF}/n/>^s[eAױ`:֙Ņ .>U BL =$ ҃5ou?GV&qL 3<+]Ɣ!#~~X1wͦ[\ü'fwtI A\P^VR!=z6Dkͥo+ʊ=+/=㝑IymF7 Bjz<4{6de\mn]r.UwL2ʇR .I9;VЏewfU&Sma-Eb _ /2pppkG^~ц&^L0 z+ <6kr&-mҫhES8R>֓zHNR%|h cl[9aX1Є5݅jlO_Br6&ErnEQ'  қi7C,$, ӠBna3jƪʄ>Ah<' E:K{Qhe,&/v1lp0Z#q ȱڪY2wv^_ۣ%%Ԣ`<{͌xOL%f+p`%scja͐t~};%"o_~V: %%o˽ڙ E5$wJyBJz k\HSUAR3ౘxt۲F$hWD {O5A +] #HޢDn{'gˑWLAZp]䒷U^Ud$4$\PMIclBǙa] aؿ 5<G칢6y/m#-b)bBA{ĩ Χyn:;r,yԜT}?1\1Uü9a=ՂXv7)8P5^|w!KZZ~qyI Lnju3G}?kk='t6 +MW¡'o^T[P̠-z ?}mP_?ffv56X) wg8杗s;L s?aUc>h ǞABb'SI ataZ;$˵j g+Wg^1Ss5@Ck y Gt=hÜi[ƽ/W]/ K_ mfZ䆮G&N>D/Ydzk$~6@학oPqY@qzvV? |--0Z7٬,s G lEѐlFF_L_o.%+܋MrV MYuOGSAگk* ؊s: c(jm*?H*e" sHIf\+#Σ*Qٵl 3%JZ46es֬ : lA u[T%WXu'l3u3RJGLmO)➪Qk+Kr` ٕhzP`=IA|áiBG ^p)՚6%'8qe~NpP֑v+} Z;ς8 r^ݨT8A,n|rf{4ҿ_?yTJǝU׾Wpkkem 8<9L-dG8\ݤF +Xr@` 8o (+ɓe+LJV Lu %fr._ޛt'(rU2k8Xa.z&nXϗ}'8̈́% ]{8O5-YHl<݉攦PSG59 <;C_̓&LrIvt\YG,Ag${B= K+s%"W,h%/:FtJ(H ߢ<1V{JI&ۍѦ 1Iw \iI IއtpNˇ:nN{z2Jt4}o6T$2}foUA[_+)Wh`fghEt Z)H9Y,]43X2qtokmOy쇟U D鱀~"=*RMy!i9_Ue*eu|lsd;tJPޮ^jm`aVKERxgOW Tnd8z 13rxt:iڊo\dMpڊ~~5 Wb{%mI\\ R2^%w ~ N1N]5cvo("c+( ~H#}+`u%Mfz \ۂT9JN]z"&R Tl 5[cJ;P$H6aىy2ymy ꟮n S3uO:[ a -KEO`}Fg/UK'V*7D ]a"A*lސfQB+hPPUլ&^!4er L,f>>eI'[*^K•]Xx0 J< V:g)ZXY1g8[4>IjlAG7}zz?},9eƷɟ#gEy4yK*VnʸS.p dP2'KF BV9*aƒʠG{U5w\Br'}R{Q[Hϧ7{׋$?:VAj]s0S31MLʬ̘ALW| , YeUzb)a5!Ǵmk>EꬅoC7%2ڎfN&N%AMzMZw^ĕN5`NM_1d :#{Ϫn:7`}=Ĺ_K@M\FX硷!Pzŀ㟆l]%.tiw.czqE2Ymf'S8Bf;@̻lrozW1mNЯ]ijEol|!,F `p3<§`JcZ,[ mPܫRI=qa(MbƮmAvp)-ElRɓz6MfUFS.w+,)bK7+>ߔô汃٭hZ>x(B%z&/Jfyz7 mR"&28gK+oҦSI2%o2*ꭋYUX,ddzX%:hː f SCCn/ f\VC1[^LQi60W+Cq^:㶙ݸyi&VK\-3|,5J>NvZK fZ6FswG0}d}1֧AypމŸ;w;Da KL6طAnHFhݯTdS?kc<ůFypW@`ՈaKxݙs#ٛ>eat&V= ?MUMcƞKR}$'>w0b YN/ݺT4%>rKr!TUJ. /Cyѝ)h),A<d@ggR 1LNZi|jW# ZA{mP-OA^=]Q5~Xψ\]G:R3".k}7Z`Gh*SRc{u@Gҭj0Ore4sxFjЃɭ عV)=dC/ Ft:$)~lAD!yw-qb@ H7m{Q:|3Qi/ٚ3V%2 H~*[-5tGZa@בIZ( HShA2q`2FZI 9ڈ-=SD(W10މP_@䞢2qJ1e|+Z ݳ a A0hSf;S+o~}E/$H"MuO_IC.VH͏yD_# P!nPMv/؎c4l"@ O˳2L$NumOQS~OwڰUrL2ɔU$-~XE1C௟XeZN…:~F3y<^[N-rjiY 03F)\5Ϧr靹m9^Ou/MukREn=QEY!}xG8\c9],x ՠ GĐ .pnHE .߶wy.B 'PYosP7ӏRyHбtZӟb7DEa(tzQ@iݙ5% ?RK2?"5$|jL}O/j?7[Tpm> &-3$ibE8y+J$#ȸ!Anj5>.`0 &-d諰= f"({džQXC |Sý"'<`x IsBgr#Mo мB17TYﭗWbį@IX\/XrʼnMBӚ)p6LՎ阭[&ƹQ:z{7-@[hp4dkqhѧҵDyf3@z&62~BQuf D ޣ!P]ZyE`eƀ%{}/h!|#IyekpMIh;@[~Ki>v90+L甇D2v!X!PQKJK6}_x>RVHrHOX'@&NؠL f1Y1jo`ˏ#j# Ǡlzn ]ɷɫ.UD`P?ԞƂ5Qbub^ld5Wnn4`!6FeGdʑZ}L><gPfQǡ60t}! <bNw䑼V7<mdqpF5TsZ,HLsn^&2+P{]dG?++>|ؐ fK 7>Ff DLHZ ػ@,h^P=G/ I##ٌ݈v((yiA;86T!K7/DlVS紇6z(x6{* [10OU=-XCE-,֞:8,mbk40D'tLk7@X$S?\o P%O;ΥZlCE ehg fֱG}/:n( ҙs f7^|EMwQI|HQTVH{) .iX }e@ ǘ-G5Ǎ򔉉"??\69PgGYҦ8I?VvbjB-lλ{Ellqq i;ey$E2fQ]H+!uwt U.Pμ!^B愁ZHKm?N1TѣSY+25]y$"lPg]$1gfm&S }d5TI j+E&&Q}+o,04!SԸ,;[>'74B̞0Xdz!W0.FUR_V#ˮ XCג2^W^( jhhSyjnںq3. B3&͡$(P;Y/N$v $bdOMOFz)mܧ3n,V>٣"TIZ@9\<A v2DA42=WºIL&+Smj\}9ONz$Yy\4 O7F1T*ٙ ~m&%b (h k }^<dz]P5ix`tv YF5A=e1Jx   7;399r&J(%`2{9:>l(5q-@yc7>yAAQ\Ū1"=znS1Z6x=H+@=eB/0=qjpck>Gg˚zIkQ׻NRl+; )MXH:UO-ԉj!ZfqoH{if!$un{`5Hyr8Dz$L~NjLaͤ\&dzd1'L>-~a'2w7HWFn,olŶ0ϙqM(rO!S}/F&hXOSd;h-Iq\W(츯mYPސ/jh,j7 pbۨ\GJP " pT!xES_}țq ᫨ Ӧѕڸ λX=+6i:} L,~hj ɯ#{9$+0_a4"^o)WgY_&5}ߌ5L!nH2 pqjxv4sy)<ԾD#HjBd3,ML` ع'|WGwކ *ʧyuebc7wA\/lΰfEV>[ِ#q [W-p :lFKO)n|L68B[EƸ` ~*J:Zi9d 2 3ʦA=O21 qbF"yĝ‚2Mh‚bK{[}|u FC|}Ax;U%cdHٶO(-N,B8PXmP}㪶x#MA6ό1 ń$=vm5Xϯ2JT [4#\$/ta;tflw2r5OB!ЍMՁ-#A@I5 s\᜺7S'9m * [E-gVl2.BX}ƈ '(L&]$&hKqz9p8Q'ږZW-L5_R.dwɶPPQ'*x9A.)hF.AgΎ}ʨ~S ]*1' m!wH]QV0ݥo@1ah{kJbpOTiT ˈnudksQH\su8-M KšnWQ O4s`Jojl-uZTUMnH h=E*5dfM!bK 'ziia#A"#,|J}(K%.+h&xF )z"L!1Qg3 ^㥠ۛNr"F6-g> p͕==;{(2pgb{YbR@ν( %tVP#މcBf1aT{\DWiJۖxT5]?rTe^"}W8{/ؑMP 4,ϒ E~PKԂ퓠mnYoD@c 0~7YܜV&`3rɅ֩H!4jl; X袰]ה6(goDΑT"oP$7\;9"ñpD4οibU3F>W\IPHuǒ/HmC5"ao*[X MjדӴ|r 2}XO1[qbڻfC |3-#bi 1QҾ}=6rB=;,)~<:Q@N^0!DRE6Ng{VחCc U!BC9sZmҖuNo{ ewL5X:⻉mϞbbtBs~+&!Z{:Se<3Zęۑ7H_U;d4[]"+;xEڝxh:ySA%hVmQɐ'v a8Ζ <^{lW~v|.; s٦K/MOv _.'垡<~Z*D带2֧R^Ba/r ׁQOK8ij"|s,܏Ōqw=BZ,,b:^23bi_i̊&-)S[KTb5bɛ_t1["uڠFޗJ߰%B ;%P _ێik[i pJxGX@.'c<0SLNpg~tB'2v8ka&7< Z_I97CHr/m;fCņn>\HE/J,X5x p9nUc^SaOGuQ#%0D~a'mTq}M@Ô8[w ׭~;Gy {QMLkN\ҽ{Iğfb6jkrDҁ$9y.?*.#:W!D鶗3˞!,v(,|~sܬ(7ӈJhx%hH1j55aou;`sSpb\,U7= '}w_T}/~ X3d%%8dc'qr:l0I\COi:ͺԕH 1]西hD![2+ Jr .)LYM 4|5?5l&8EP%}s M$GF.E~,& Ė Y+K1@ *+a}(é00[ch9X_{qw&B\anl6Q.7(Y0uByEqkx'[ofwB,G E@G}$HEo62b٘^T|*K}p%)-XUg;<]ވ䤇U[н:Da";/#fhUט N= @4@ȟV J>mj%nk& 6}o'y>Hk$ }SvjR{ut-40ޑ>7VyXQ13}qg1+; T[&>>T^9vքax}-!t8(JW-i oEr^]4^75ɹe ١h!X\oAl[t- Wbuoĵ{9nHUUX?Z.7r}L)#s8஧ ?ɞh88{E\v{z8Pۙ>WOgx@ v !>cd:=^\?iF}<7'F{<7-Qbߥ:8=Gkj7J[;?7rBefCJ ׈ioM\)q~ mt /lBT.Tw@ib$g|\I2N.i {u #H[edUQaQc Sj{!yU-A@Z<kL|~B6lZm˘sMܧنV>ڣeZӚpJqF.Zc-/zϻmY>:&uUdeSQ@AAw #SvJ~OX4wPl˫ OL\=M,F Bxh[ Pb@ lLIL$y&{C꦳* ;պ?X kH>3и8>(3']UEނc"u}[+REݷ,s ɴQ]ׇ>1g,O 3s?2ڠ/R#Fu٭RQki;bVFxkAƙ.0*75Y \G]ԅ!kRJdu̹7rkZlˣ1* 쬩LQ쭻RKY6o`=uW,%y`'Ykڠy baBdqRo<꿡;kSsiP@T]} ַ(j&wIq&O.ǙyRQ(8˒fhH}b\['І[\XKr̤yP۫=O1[C%B /}˟wQ@nP S{L@uuN(gy0^iXG0 z<i׆1 p=?/LLM,ojɗ.KCm.Gs@̿(:5< frk=VT6\`mj&Ġ[D )+svtQl< 4;h[B5s3N"x^Xu%2e5R¿ 3<}rҁMY|TŶ6nEY5UNDw cFY,vۢ`rTm_"C8K9zt ,j7u%i~Ecú L-K\Jn0I\$s~ KWFV`KK_nm{iS'V 1(0'#+dEg$1Xё?Y3yO7@)6;>TZJMUasIԱ0t[v珙 Uo9g)D_n^p쟗s` !+%C7JM|ׁ`NFhPeZXQGW l+% 24ԞF˂&3X'ĬE$K\%~ܞ&}S1s{sx#ܩ38"YoVKԅkJZ?#ڞ1@Y=V1u#5XrZKk3/;QKj7X\E>]nN4@GdE:6"N<6\hZ}86\u*u'}ꔦO^MW#\NR]4J^6APǺWSg.YvCao9Cqvsy,S#NAD=_ {fk_GWt>b!G "ǽ|Lrl-2-ze;z=LMH.D^3(qD|2Jy 4 h.YF?VϏԃ'| ~.H6F/l݀2xFBi HK̠,.lG1}]œ&A. 9"t[{fU:B#_&Ĥ F^fp;T͏An,A tN?׮LekiH*W #$2cT,ss8hgQ_PCj]6'&)g<)+}&hs(3!wJt#[Rwkv,;I& ֪YsDf34 SZu!Ҷ5x"\ ?dnE!#Չh3e zW+wx㦝8SXnX1nP{I 7ȕ*Lo8PQo[7cxW#!$"xȞZO6O}̴oYcƵ=C;?==-TtqчHII#>ܡҲ!fπT;CSZ+)5nLy^iੈ$y3ಊ. 7X>p/y2V զ7]A,]Q_P`<:W;]o#|j69YN=j1(c=׷>s8?P/sT DN 0EPx rlI*ƌ6&[;ݬ*qnf4RUqoWIА8{("0N^qj|Y]CTKJ( L|y o4m8qP``?dp 430J8n}g};Y$B[✙N.K#|"w6C6s)@TPs,vyܔ>uP(-#*`t]~a!xw*MN,N7ÉB|rR1ծpIB~Xѭf&._IWʳ5 !d-'.}^D8 a,Q޴F68Sl_m*W~cgvE9ElE$3kkn# 1&9xc;oC/|뮕s&@a5Y }'i7ItZI򺨩V]L7ಬc3 ߅Vf? TƋw0!(Нݽ$.0=P_LhkFfz:,z"G \^MGDt|j e`@0N9uNQ8#߯l|ޮu,4erW|%o rpPŧOD"8 ^ᵮGoa&h |0FTxUHXX Z. CZ"WEwwPlhI診u]3qS/j3T 6ʬ>Hީ$ëx3zƅD.5*6’{9-Jޞl6.n~Kt=zT30b<eqzL:`r[0R3OB Wf. ~%KK3-c(D F\$Tǽ׶DifcYN;J"Vܰ+Sy}q>z?١h&y`ֱ!lqB$ƞN5A/Ḙ Swǎr،2qoi4&FPߑ.m):jOZ|{G zF x"o5k7E$]ٝLNIzKAsۧc}Y!8S#|#r'}kC9sFBGH*( S | 4 KބhauIWLB E<QVAP7Jb%7̣ܲb^"B@uQyA .q5>GjrS) |q&E9NxXܭ)? }Yb[j0G:"[=s鰿4OZ?Ⱦ˰JEA*b܉e2iK|\vyhBv^۬+9+h% >6^f?S> I !QY]z+F0TSDow_&?cOTltx U0E"D]RljJv2sho쿶Q*Cw?X{G+'GZ*(`?_^OgR$&0g~{2Bo~=}yT8Mu&`d`<@/\ʋ*NnY]!B=m8 2)/dewでQ4 |VI+>).qBYRaR=[4mZ[r/Z!VfPN8!.]дyLMNlR2D%CQ;Cnkδ ǯ:F"æ'<L޹t+6N]_kRD/3.X3Q9 {Jа)@1F5 rySRmFг 5Ɖth䐿J  seZA+MiCk' k J/4W FtbiȚ 5~p5(i'YUp}y2F3.U*y 5/|Dܧ{hMgѴE? M\=1ˑ~MFdFap Iox}ח­<)EbG^4mz(OW#ܽ׎ɂm*si K :OM'Wֹ3>O)nV/aʝ0ChM W7{'wU4[٠)' 望mjCu ΌdQעהa_">ѐ4N~n@"kK 0<Ŷ^^gvέ O:..&`$֋镍hoR- ( vf|qFG?~k|o_cq}|vf2_Cyd.rm4lA<^Ҝkƃb֊{:B+fD|=쮊sqkAcwDt(,v-5ʫaNJ$KQZ`~v>4g>9$t _,/+(6*<gƉPl^L"5~OUXr]>ju.T˦0F{.,ޏ%O HD'L-l`%8yfiAҹhڞn{9֍#f)/9<ܼGE%ڸFmyv>1Rdl O6[V st11S"5Q%p?ے8TRk^ru_ wކȱ~ ׊ecEȠVwV1p5gTtט?G#Huc|ci (ZDzĚM|/Ҫo5viK%)Ri7.=/~UnޖK.tdbSd( tمsMiyd?^\`shn.ƂRipglOa(ۓ \٬CVvvǬLoa@X8;C{?czW̍$"iw&YytK6#W,zK&f2M 2o"ꆏAuA4$Q!f἖BnVx xojf2雧>-qPB$9C,\A%߃?N^-2NLazdfCqLiIUƿ5˾v'UZKfrk5>y/JVE\Mиh'Z2+iv63 M<\Zdd0>ڠDg$Q;7--V]& ֍ ;<IVTP_&BU(By,P ^ه۪5AqaW@ҥsl@8Re`n̐8< 8bHoڒ tÁ]hTP|qO:.2;F CQds[mff,&-E"Ye#)_Υ߹a{O'{cFIk(2YLo㋞ WgvZo狳eEhL?:ae1.kӵI hhGk2 0X[y VH6ZI:9 Ž֧@3>:<-zBDS*Vkc͐ fl>] \mj-Z3^N?Jۻ[cE^š5hs&s̖/9[\\fE<&ns{cyDj" EVuj85e$4=Updu%9hAbs"j( 'ȪcBOF鯟:O.TLۛ'۟ qό,7? @E4 Ef\X`n9>y-7&9p8Tr?t\0M+r_A๬x9/>4ӱVUf M6Ka^Μ $c9C}rL93Krנlkx7Y#Xg@~͋Q4ڛ #(aDj?{B/&GAU&/hۡ#|3ORL la(ZӪ=, ~ Ù\!ҥװMނݯgRFJЉ=BܭRKDd<@9xQK@yIcwF IwRw6Y׭`,N)/1 O=ak)rvP:oRܗy$==ڭ6Ov5 ^B̀TUH,.&KMg`Ϛ7`k;, ]S[r]/N5w)ԴWyyx\o\Vw#&զRg3B_3OɶGbߋъ̻C}Ws1 ~(A%cDջZ!Ms`GYH:CAZ9JА6#vK]`rgqHH+Rdh; t,MsnCI9/*) `z<&5< Np'|oٽ#oSPb-L#IV\ھެ}/.EpWO&haZސbUkR2΄53L/ 7-TM&v+Fl@O|NW`L8Dj%iM:hye?uPGԡ#/G#Z@"2UQ #G^v!-N(]+_)+[,R)s9 z9;:K[&}Re% 8}iaǨȾ|x#ZАQ[>98['+Ǔ-웑7M"L J +sC:^E1.ɝVY+(87ȱxtY:}a%vܢ(l¡bJPF4l7b9Qrqj]=*X&}2W͹s()cc1t4*5Dxl|s޾'I <0~ܣ |mBup|Jo{ R}1zQ_-Y -G\]6tW& mux},L?tS,gNjŊ}QwR)SmmB$/x"14 k;maIL5]". M fЀE2Y> jj" 'Pk+ qNda~QT)pPXAj q0DZ!B1f}Z<"x1Ó0̝< Z,:AUu{2xcdx{TL OFCey[2-Scsqkt9Q9xX))3immDSL.73Q+ЕvvɮQPh20OCcL3)TIllbcWyM"Ze`*e>LXL(B- IYqlBRBX- ƫSSvpXLkvP\pS5+?g` zC{3~ irYjWZE=FR\C:]w۽TE^Cz;Ɛհ8P.auUa^"[YMge8}c V>77p+|$ &Pxw?0ƚzA,5/1ҽ= saIRnacs䬯 ҘÂO NS$ ptfFRLB 0i~ 0c}nrrtd]A@oBȜ;xM6qt:4î;Ax#|Ta*.fB)3P݉0=&dyϚbL&ø\ 9 %GHdWC[4jn{H I _jdV IR =!''lb`z\kŴ9xniݯg:^绁ᅲU'`;bލI~zr~TFS|cm7>?f*DO#['0" JM)b,u?@‘oAqj*.9alrcQ6͚MI>@I2,3''˼_ȟCY|}+t;Knp77t춾 մUihBےt#(=l6vjuk6KB@#26wN8.o9h{TQ"澿ou+x5/4g|v#Kp GF\+S3g UG\&fPudt/?Xyi:r/JQ@u\ B4 PFfY0^y 覵}3; О'a>Q/Y GIs4PCþ Já[+6.ǮAnH[D:>#J8X?ybַ -A`c v^گW[YlD TLb+l0,r_۳" RR>p-k -[f(Н.-^O!3rmIR5WgQR# 7Rޕ`Y0A/ 5ՀCYgZ)p7~m6 H{.0Кȡ5"b/Уj> =I>Q0DXu7j7Hڠo2pFe~]cSmm)),hn┘KCPÖgMgs(S|FmlKz?bՠNi|slpnbDO#n o^6{C6!gnCo5?۰Ȝh?kSw0Mc @څ*wWhwp|SV k萱yFؓx$@meS5~Eg>{jGCפ_vv]ZK?=S?r6u  h(:H9}ު/oo;<&U쪡z#EiݏHcJ94:o4g0(cSNpKxe}y!٣a=p+hlr##[ٞJ zH0R/fQ hr/mHaFԤj ( An{4~XWAo% ԹqzѤsm5(il HpNv[~oI,C7ݛɤRyA39h5,5\ KZ_e#V;\3C|Hva#ڒ< pqyt\g&8Ju=rԂ8(%x~pΈZ{qc 奺rN aBrmXr̿L^U'@"3cmu^FBtޚC(w} sCk2X^-jyQHvC? 9ƥ?aӘͻDE8X6?^D.\fkqj;暖e 7S VdGȨv7֏X{tJyąnĕ-q`J_׉ %2UW)ym:{z\;DJP)!t$5Cr|6>f`/Êt$meа$8x$3Bl>PQǫ|5UJFg<*5q%3#]B1 !K* qFy'rJ7Ր-"KY8$  T56=S&x)i%FD{fO.DQ (ƸF**b"1x݃j;4A#*j. 3h[P[k23+" m~f$yW7ĭu4KcyC>z%H{#p`⽓~u8ۏO߈;짳py|x@f c"Spyd!H4uSѓ\KuWȎ@7ćȼi(v9z|@?e r+ ׽e}<#LDtT5\ɹ!*4s b76OVfY؋2 L(hQ2ϡCOݸ R_fu;w.]!%FR_.hE"Hx#Icű 67yxl^bbڼ%0NQ/!jбzF ]TfbfB.eiA70 BZ3$BW7ihQ*G=Ye#Fw.?Ta>LZe7G0 _.pDh3q>L}Bym-R ϛC U"ܖ)Fq w B*䄓6,JDӑ5kRO=4 )g!Ck:P;Iou{W-/oC/D9mz !Af?\rMB*ch&r-sUE!.GDbc=a01f|+Kߦ9^D0ÄbCjdN^%"gXwЧn'7Gy,pA2t>KM%T@>p%AK,!0ݗ$H i"LOǃ_aldKPOK[y$Xlt%t1xwsX$t6dUʴbLǮ ^x:G F4}=0{8QPOÚwN\Zbxy.~0>|>lҍ| t g,~37L%ۭwœ[~5p}ac֫6Du<aI|b#ՠ 4| L,VV]PVv\mBu]{-֩[K^˓GʀH)Ȝz2rh ORFMn!AJN~B:^5*o"y[B۱C<2Ls]7bh!x+8<(8d#%H|Ã<Ts1psv4M]%A}֍ُA~ H)7J#[ܶ"PNu#Iz\7cv/ $ha|%)WL4d!p|X7hn04x"|U۸U2kng۷3Pf:oeץwaq5Weje<_i S$,HENdP#فAAiN1/8&QB@Lad=F,؛ξE:mUj9@OɵmE˲ )k\ }72iVs뀚[fm:)Ĥ0G_3"˥XFb7zo|'}01Ta$(s7AH)8Q(xמErD{ Z=Z mɗ,&0Q1xFB܁tc[ (;&Kz vBXInLkS3lp_v}ش?Uꡘfbx>@_M[3(Ɵ$+ +"SU&:\5Ch7:'pvG;ݡ/'@i.zJ W*VMSJAU.;oLA'SE]L%@3^7U.n_k$ȋޖK!:SQ t~%'TPkRC0+J)H?| s,?a'*)S$^FEae#{F;Io/!}p5HE0@8G]ebJP; bY >Б%fQ:Uɪ{߁\9-5pHCݚUp}+[v7&Eal Y\oGj~@F_Ŧhep} KpT-O414S@c:fx8+"cٍYbb_=}ʺl{Ш@ =izymN}GW$p-i#SR"렺=DE*5ݰPʲs[:\9="\t96|$.G/ 28yzx'Wl1L|4t:v4%D})`!픒92uO=.^^- `t;ը@-ڲqB +Ⱦq|cŔѐs.gk:zPш3R Z0*)n (eȉ@ʅt4OMq;tayiP i8Q! ˏE#SDʩqΝRjH;bj3{vpƧY7W&H ݋f1_؀2 #7č{DGP*Ա#ˁEO $˪ ʳذt$֯Pa"kS@%:VXʥrG߾Si:\R}urv*TF8Gmh:aׅiVy7Zm:AK?P tÀ $հ7^EM&Haɹx[w8z}r⥳T=&SkMT^/ܩK]ހoc['6 T< b0 *qm?љ@s|׆Љlgt,'< Ҥ/@-Za@9sJ++b_q^E?s,Y%ѻhFlQWEn%h~F{NCcR`~<)3 u"D'Jox ;r W)ƨ81hۆs#62n'bǀ>2@\+|:M%+_3[6r.$1G'EV| T6a!7O0;oޟfs}Y,6NwW_]0 `!iA򍴲hm !NT{>L'Mv5C0$#sвaiwU0DW < 4)Ӽ]]Sp;mq?&<~ P0a+5c W(s6~d69_g~a K@,4z0VWkmb'FyS?G}6A[rhV{d"ߕL['EYI)U h[B|"2U$T7nYLxtx+OV w" ug#qc5 X@D'D_5&h05YՕ2w (Mɐ1񚫂-5dwUXqIBXT !oK}㜋īrO D;>>t;m\I5zmf{:M!e?p ")RĔ8rA~/+aDK|ǂu 7&*y-Zx*zuVƴp18o.!0kmh>(FyjbC0Jl~ndխ8\M5r_Tx>m *CkpPGG2`7/ d5m開c3 `dԴ@|ïh"]hv{gB5eQl]{ߩuC].Gv흊zk dM,Tn F)0,إl%^ δ4 Bj< {pggj*k(1P/Z-%1Чhe,1A6Z-CTA>}xxzה0xNB,AǕIe^H)[֮Fn2,Ѕ}͂:RdÀ?S}tk??e̚bUF18) Rw"U粻m> Px&p:1=}4ۼ%We2,Ht~bRjT5* k9tyRV2Fy[SWMP j}SZn>E5ɇϞi BƜއ[C #: [$3#bfwV&ZMz X(e>ε4`t+h4HZEѴYylwE'l)+yrRI]?sБ}AHa4Dr40oٰ:oeFLJs=ˀbД6rCjnj~ 5\9'#C~2loճ;MWau σ#9i d ,,*0Q z)ja9v\ xZO>F´&Տ` KR1[f+#pC;SG:`>ȂrG1%pP6fΘkVPmvts[1B!p+0~Nj#}剥ܭLsGq4e{lnaHI wBB5ڸI 1Gf n0uFUf#f@Yhg-BkGk|4HR!/m 83CJK%N+ZӢr. /S8iMkr{ȵ M5,lh +!v+3,9ȼ @- ~K7썏z4xl4~X<6a k!#up0<6(|[|gvpxE0%5ZV(tl<7#~k~Rγ"^`(E%5 YH*XUR|AHAv8$Z@]Xt< ~IM;1.xT[3vv'z)=;KhĖZW-PY>=Ff?/r s@EvEa/fI}B e۵Qo f✋iD=8^86?KIPE8xݤw4v9׎*'zl櫁Pyb7bZWt*[P|M@ 쑧Y#at:r7=kϛ Ҿݺ# N4X9 eZ\: fI\ >0S4VP{b!v"af&3g `e.{oz90} wxۏe#yݛ:x>E}eP ,֯< -q"UAItdV3iڤBw&ȇDHݞERqیv}mr# TSN,NSroD4M>6Q d0*/)5՟m`5\Kj"80K͝U|D)PpP! I(yQp^|'Z6:Pss~ˮ $_ x4a7R唇Rq艹C҂hsoS$0jigSnq&v39:׊i28@ck$H2Y5QS1xY$ŢlhHX#Ď {#Ut˖+qBzVQV~WYidGf_tn=2BFZo6Ղ+F}{KC;˽099tr?vpTlI0uZAl&.y DӬ:NQ*,|;pLڃ=xdzh:Ru.7jzw=POVhZwK#\!<[c;"y|Rnͭ^ <²ZR7XQ7(6EԟK\)IEFo-ۓ [qAOa}qTOujoǖi`.b@=s0P`8Jozk [yPmc'Ϲ&}VgR.-g( zc˴Ͽ_?[yeJiu0B/=TR¡)t;vmC^rA+X/fUi*|TE4,f)1 9o vba9ͲsGm'7 keQyZrJPGE3|n\3"|=$[M=6ŴrEŷm[C_1e:'pa@J۰ vx}gqR;7aЈv\:$Dv;86y>bH0Z/[Ǘy*&:N>,}peIXɐ`?\\iwwz]ȗ]yTl0kHG],\? ]S!G7aF^\v v@ϓb(= e"vw,F2Ҍ;dJ9->)7CT@㺽߭K-[!?R ?cΟ߽48Бj (+=.=Y7M{Mpg҅ޜ(*g Wj+q?] ]ł;dΦ4' <0K |:둧gf3s s®+5W}>?˜dcZ FD`9A('7s\CfR}e)Y%+y&w7]Dx*Ae O'|x{߰^6q1he0^e>c~6fkNE&@AӓGז,a9'!Rn2e:.vt˴ݾGe"{\qDh`c=ឯxʋ){&䓞pz\29A3rSV-"`~ތkFw@ܴ_x@D|RFR [)CQǚ~ķo(E Mɻ3fˬ~z't#H*M7]OI;x;!ǁ[%؟mIϐpkJON/*0"GE@l <⨚sďrPB'V15q#eڦՆ l/' S` x l<]õ>L*ws4j{:< eI3;F4syiow Ao( BԄp]o (+Oŀn 8K&{3'Ҹ@/)}hqkߑ[#DN?fnSEZZF?ejXTMbe t*q.iKB7ihyCIBvTu*iL JFB`.LHKWtZȝ0w[r$E]6h SɴtYYɏ_AJЬ ә_0d*?Ӕ3!|îVUɐS, /=x|x^lj654%e%!PҏG,kGQkc*g'cU0MD1ۅԧ+:{k-1zB3j0 'ވW+@ !ʺ 13T-(Ȟ{ʾ+|LGmN)MO`j(~j1YM/S`A"!ac:lz[nMGo$:sq'4@jRy"e--+ ^aS< \4aWlY~60u Lw|j|?ywBeA$}9O6ʘw{tdLs)$^G DJȅiqa-iUu韻]P+\p:x‡`VFo>7sKLQܙ$x>|q;K7T榌А"X\APϭ?e4ӨUN4\m|'zq`8`dK l"x'?Fh@W[8U@63SZ lDzY)8X7O<$J,xDB}Tɩaވ `LXąX,9ю#5A۫Hc[ MaE]yJ m f.V+>PC UHdµ? d0+_wFp@~.s5P^jd4*2ٙ\"/Fu@ yvDԩՌg\XARjIE֞VQ>?Ⱥ.q ࢔*Hت?ЙDhqkm@ . xH;ҼywaY3{BPmZ s9 /G b>s\^4Y3ׁdS[Yѓ'%UR!*f7D8ΰ[:i(`n%E4}}feMtQd+#fwkt|5'u[ܢ͞ 3*q9O@@)s>f] V末t-L#<ҘI 񱸚[.ΊMp|MeeL&L>v-h UcS@|*:2PnOp|^|c#_ؚ2` `ujC(mX)wg(3 6Y^ :d:zcse!6jhw}lXgZhg@yG%>'3b# =w#"2QxZĢk t3̲[rc-<ǜtWkDtiFϿ`wӥaz9A;Zf/Qƕ ajmfҴS A&VIOT/H@%'-Cd(Ġϭ$fDt|1siq{px'ySLzc=2$0< wewb)'q h yYfOo %g-­Àn`>>c{;ۖq7F[!]z&rq`׭55B_/scJڄy6kܙV#?EitTFBkX %2?D`cb/;Um>Yb/fXƱ섬rJ=b6͎@¦<+Y7q|Y ' W<%[hidKg(ZK7 =;-Xǔ 56UJmI559aY>D/LhGGMu9 qεS_&hQG5Gaѥj~>UV[V* sXx2[JfN UѥSq&>c;⠣lcnIYȑI5X(3SXUs{|!i @u-]ȥOwt,cdvj9?A+'$$lsyhjJ#Mi$=CS^r]ۍiw\hfq$1Np} \# #s] {L]fCez_fReBF.Ӽcj,&Y" ]l'5.q-eS\-0͓ߟMEԤHh+ɛw> -ʏ*S5预%t;ǕR&b8]R. Z)y6/NCx]j*UI5op񡓆L%)Q䨬k2 Z5zybB6J'?xSS()o_9ۭ멺a9Y)`X!8uӚ}[?DGŴ6TNq ="_ӧ~ u6ΑjCjL ?svN.zSm۸TY%QOɅQ@8a`p19̞vCD}@ss21պ8j R%Xq2Ruo)/[mr 3EeͧcΔNtD`4Ll_^3Z֬21,̯EBpYe1a9ж)It_WjֹFf$\!L3dY #|y n\]|)aY|vɋBH\|(l#B&ۖ8X$+` :A/l."}ߨ1\Y#sco_5gTlN sS2q.vA. !=(<}s$fWa:1O*Di:MX': gU@G]~ q;hm"氕ԯ1iBٙnR59NʐoZ98GUn7r#*UStLoUXwM He$l4ۀb] X±|ق ^ީ!=JKogjE= = :~}Yb] t>Wih:$G79@R Md OdTaљztTOZqt#C!_+l8xVisy~XҼzRh`G*.Uw#\B_c|ƌͿeBBQX$#ʈC7Dq@Ĭ\$TNCO> D ޽4uJBoͭr#I`/`,9mfg=6gl/Ƕ> ǣoؓ|~5S,<-M̡H7TG̢Š%[|KRjM_du0': -ro"K+Ư.Jj a!=bsEJ7wUf 1+@:Á9k9+ Q' 1?'5@w܆P%,k[\? 2 N!G?$bG$%ίNucEsL@8_|@:H}ELj=J:gYHD +cuWVi`y5YUGd؇ Vq.4bLOO0+gb:ڈ}=4 ' vjV;YEnUGjnZˇp\nQX>ޝ?.Ԑ?ܮXhO S]9iI:_61tt/;RxĶMcKu4pO$0 $ʰ˼u^?GH|β{w_fTs F4g58~K _I?W?:B(d()B|ܶ*Gp_"‹A[mrE*g:!LjA+HtjsHk\[BeP؛ܶktU|+/YBѽћQɬ{A^G7V3U9l*9vaݰ6?B֢__]7]y@8\"? FR Z/4e$7R8fw*֭Zj.D]U#QV:Jjq|sJQf)UEc GÔQ0 b5DgzJ޸4,D(7vxQ fM8AuZVpԵըן&A4ǍхW g/*x-;{r3%;,难YRᒧ ?^r]~G# x@ܫ J.W7\bǁ,0$.y*%k-A 0?4"?Zeu|xY_n$WXˏL,[cN" z=OtQaD:ҿj="ʺBqN3yKsVKӈn|yH,e'+;TD)Vh,:&{mLA\.2|0RuaG``_Uj:z٭zL l:0 ߠt4/o/}ƶ<%f/h0WRbo'Ջ{X,axB}/s2KolZ??Z4M6?8I!L]m+f `$kh:ђPUk v"epf09͊yQVȇW)-I!' xqei"glƈjNtk_WT[Gsv[E'ţckd&-6z@Ma ӆ݆ݏbvzQ t8c8ѼQQ!eTەw}&mD œ|]k~>0#"ohvL YC#C$Ȧze7&UY'Q R%j >I50'nhWU! ꤏ4mNjAwsgmJ毤mORp\xz E!,jjZ")u&`H `L#6&5\]1poi1h3oGmcR6aG}ʞuJz=E< inw$pkf@Ǥ|U[ CΘ"o2 ]5G&]ht WBI1Z-IF۝0OqL3Xщ~b1 "zFq w֡Y6Q}jc) {?Olrc7+"OBVc 3sPk%m _5 2JTe/.UP%JA%̡UA+!: 7۬zM`xOdxC /;٘PS»$eʖC{6.+5TC2ŧ~K~J3HW5|r*E ajq|Q4 l VR{~kRmtb5d0Ҏ?tiu6DEsdn!bN1gRuQm¦Lf^e`Ns/ 6ehL:~Xe,hRmd'"q><HOvtnk3,bKP ;Q[n].SZ(lmK~oodڌ!?GB%kd=q 0w6'=KwWjNDN`4CXVb?!AC0E2%\҉#r18NRZ*P+qǛ9,t`_OPG]ⵓp!:&a4G=wZioe礹&Umj´ma] ]M>!.i[ VډD` H,}q{$eϬ :Ѡ+EC{J}15jX1:&H'qzV2X!{%F5{'_ǡh ͲZ'k$%UT4ZCYؿ-Xb6uC|™u%0!^~}PUug;iએ'z~q^beX :s,=t4 ) 21)-iu!ɞD eٌNtێ:]'L==TPL%E`P"E?ALC{r}dǏ1Vԝh6Tk9׍e%6>Yv<_780DZط^2\O]9'4뻌T1J׭_+tU|> y1ۜxS9E& ?%tHwA5Fwy_L{mXZp? ٳTJ`R1 _ruS::7ePAg2/5qʏ.dPѓL* 4?N Gd Dsv}.>fYs>A%\Ox*=.ǎxgm;CwicsxY2'!2'Gcs o!k3= tjH`])DO`787Ee:(7άh6;x!YqH{U>\y~U/UfCoO, sNA}qJ+7._f&3+ѥQH5trZ zcBM@Ԛo]|"%wW4TA+/na*b|ibӕpbduѝr*N7ٌkg客츏}˷@KjHxsyj<WbdsHb}`%3O2Xj &[Ŕf+{fs$ 5M.I5z=e]'C衉1mci=xbr8 :>22?.jCgg Y@u#o[̿$M⻷Se}(;yٴ7 3eiZ9@|1@w5u(D g|&2S"kU-L^~yGK(.統ϷCf(u}p !xRzX1r'c:Bj25 5t=ݬEc }XTK7/3jymP T\mp4S%EY3-{f(/Nmƣd\yb|ZM%b=ǐ~m_^ILBVȮ\l}hP{.KQ2FxC>rpwv)}GO\DY3Q^-ŚA~y?o ~M!B6E5w 4f;(|.Zr+PuV/A;K1Tm!GsCrK0c#|OOU aP]j +G`LPp*m6TKnB ^*/Um6N$+za=&QFz؞hi Nڶ(@Kx |^Df6@*F K`&*q/]u51P:{#?,=X huB(ߪh WKVg-ВJ}-6aywwYj/Fy̌/h"=hwNk:yDsRfYb#kַ`d?詰THune +6`'ƮFaAگ/&s{p<§B x0f"[մ'1CMH{Nyr"~(4^/%f:zКcBr!+CeZֈjwШ_de-]$/Q-&U#]oR@B zDdvIFLc'UYk_5Ẓn}s@q=BCӮZI Dɷ6Q5HKݦ1@ ÉC-ߣHvI ^4e[Fv jn/!D'-( g*7#$@y&S>bL0FxBJ-2\,z 7HQ3Mnci*.e;↵-K u YB+9^ز1{2 3 `t#cK^ }G}˵#(F=YASDDC#.̪P2& Xy[ cx A[dC 8lZiUzm8`fRj&4>,_z+ W_Ҽ`ryK_:%2~F^z%i[ \`p{̓x~/wfG)%FP(I1H4j"<=(ޱϞm >J` ʫbh9?ފn¶??n$>ad/nxNQU>}3׸/  +ʑ]>6uW.`/vТZR#ј̻m1rqmޅ4\~"TXMoJ e]f>Bup_;mT7mV[cbFӞ=7k>ˌ<Ι#QS UNajޓڡ]5`LR秭ܐ*rxBq <ͽQLN"*!4E:8TC> C5N/U=~U R_J&fȾRaC2D1yA`h2wր\I|d6ꁘa \~p㛝/=@PS΍ejc|X@JCM ߪu`IXrH]:Fr`5 Re\&1e0WCP^QC)XG,z/*[DsAe!2LUK8{Yd " LEzPi)CZEP},,V+](ѵ/7X!}%)K4hM!?2t9٘B6R}KT y^!>1nl2tqpCMF&֣^ tע8kI|U1Пi 1Ρ.5j>>%&LVЃt7}NPƧ&4kܪ_(8\!3 l=p I_RxkmC^LjNfS*i+Q7 [h0WD}.3W~)6#c̲X>ϨY0e`6x^A/;?ӣpvTΦ%㓾T~›*6%*I{u?a1Ix}c%t;%Z\ FяWXm^[vپE{!)n8x^xhKu-}z_l0"H/RR ☦P/\wS:~V7pm9&pKkYN *;<4#Pj_FG K AF dΟL3jy|floPN;F)h>[-5^g{zY w~'q10SR*宿 3A rKgoaHܛȸz}wIc x Xj@ߢRgV|Y&Eo5=#F"| L܍<5`Z-NFȧzkjCR9  ;k+ZGn%;sBO+q9njYPxon? d.d!TTY=/*it㭱2\| &L] ,Jb,܂ryo -F"b1s u1lwyQ⃓g;r) -^M5_ e3CPEMt:z]yl`a0KÇ'6Đ+lvCpSm!u`]~mgʀ E &u(▘c{#&9T>h\w#05.;BbJm̪=(s}3cANEVCH N+Rn?"Pe;+ Ʈt0CLoJ)0ZfwR0 ؆Rd# p_<}D %65#=+VH/&{`@OPx>׺kuX-89ҦViz$,*dJRh{HL]tvPO#/,:2RԄE̹}ORy^v8n9 !1eibi C Z쌢r{!D͒X4c<4ߨ3<~E JXA,oK2A諭1ɟ稏 ԜLeD_j-nta!A<])[NbS2-e=M@x@x9SNS^jDiqDshoT>1SARL07lXϑGSV85Ɲ9)|lwjG"7+@ܫQԜu#DJb)<|)eVfoad[*0.MKزfU>˧v7qt9TX 8ݠcoe?UwXeYowvmaG&¶?"$WVB ACfOhtOA`pmD~ 3fR,NOLhW>lݲʖ"˸]{CYO:w1jL~?iu|VAZgⵡJW fT'B=@|3BCTg=2oU4W"YlY T߭..5e𬋮6dڏ42&Uz:iF}G`$aGkArΤ`$0St%4u­R.iyêN]f$ӂ٘ܵ}ԦDBɝspC5, 4a|BM~i^Nn%mb3l_#D> ӫ2q-@@-\-apTQi$t%)W{tb#]ޯx7@7t\}VH䎦 ѼYB11wsgQPv!8D $ j@5!-^ŘJB!m!Mz*W_hԱRB <-m|naɩ4a~BqXՁ`,$re$˗ w@HKY3qf6NO.xAN.xlX8 XX,S"NK|H>WYW烸I$k2i;A }RܗJdf@ےop1:a!m^E<ڻ 'nA`徶@H(TIVb&mk".fwGP􈚭XKi{ '?F2ŧX=KzqqU -&Kb sצӌ9)JZn! YTK6_ׁ T:HOP]jv!ǷoP!NE ~Gy>999~ V$ŖojMTC 7j]k5-<1.G ,-CB`71I"YPܶ3ռ!+Lj\{KK W-n׃;_DN8(8Owq(fҦ{2(Jr?ԺOZiўZQkbAAf&Z2-.`Hۃt)pQ^m]OH5x-pJ ^e Tư +Aw G:6믓qB[3{YEۍDEvK5zJ2?6:!sMEG&L#&m5P*aT$" ưBVX$&ː#.n -{l1ED.vMnDRwW>p>)̕\DX v쌙s:m .$}2OFe*~EG0)&e`aB d1DYi26В?i'/2Y% PIG=Q9ЏXΜQSOPd =r\!epnFWZHak_\2pʴ{xW'[jΣ"stsiey#2x{ /_arax# :Dy!vt8R۹H ]K8EK/p 񲡑l?GlzrLfpMI.A9ìZ^d>DC>=~Z4r l]g4c;5dP8{7#b̈Rx;cR&F<,HѬ֗vuB4xD!.p6G{ Ic)͒u6f:dm}<]8 ֿ@pd04m}8o,rxQ?R!&:A51<>:Aflj%VYе2|4 _ i~hJ"R5WI8j@~FA剴qؕ%njOf-P~((/]kߎ\k0"MkJw* n p'do!. ,uhI3ġ9_oY?=@6h(RdphR&]Nj{p[Pв{s cp/kʡ >e'~!*T`D~*uZΒ'fɍX ʴ_xbYdinrTg`P[q|U5+7Dd=VOM_T^A/!eE^kWT$ct c1o<&S_aiMUE7?3[vik{6dblFCx"wrϫ+=9"F֭y6")Jwv+B B=I6#p_yc5:lnp{A iBm_l34F'X'? | siGdjP.6lM _ 3jկƌ+= YZye4!EtxȘ[Y5/$ءzRr߮V(]}=~ZTiT!dl+-LJϛ MFB<jş= ] LXj'@Օ|g^X% ۤ? _A%O,nR@. cz~e) O.#h%Fx/T*dЋwgsz(*sאFC39* Y*ksnQ-4ܙ.lF! @/=Lطb$BC-! <ǎF!ٗ L-BMB;3$8D:=!_1 OF =-0 ͬ;I̔# k`];y*Җp=* Ck1pHc;AA8V-mxm]36/%1V>$rX,7CP*z.8gSZ)b5/L]!l>vWX8C?_fHt붵zU5崞b1ʮh+f%6(!EQޣas3>DCLxU }݋`?%v4BfBh/Ƴ^ ] 0iSZwv.8+(jZfny{*NǷãI'.L7xA[3S'2R.Oe`ɫRxH#uL:͊2븮EY s?T#appon1+̝ߙ0JgWƲ& uDGFbiI=-j,,+~dLVxGc\BFه7 uB6Rb-.>7BHje9Or sp#!DI@Fl) ={>:gdY\lU,+wV V-A" :pfaVC2"iy9'ʰc+[Bg(REGސ+f\4©Yv'` ypTSbW ɨ犛޲nS-͈S9i.hS\s7 !]M0 ", s}HnSeZ1^-I=MR%@yX!;}C:̵ 3Mcf&V 3VmiɩB8õs= I WTUcQ2tY(Hg™{MS6T Vn`X)_B"toq|vQBF?ie X|M+~H/u Ⱥ1K+uĸd/nmRWTvbO3wAv}iqN?y55Ub)?}ŗ9b`Kڳ:=VIѶBq=E]vz`Cz#һ=C?{7{O){d4@4 ,.|(]h,Ǿ]_ y}ra^M9*b)=5ޞo FVm`uy;6s1[TLl"}M_\_B+J)L!̿WDRTh b끵Y?2%jhIn_ ![PJ](0,ȺKsdz?{aEd/ZRKV?l1ܟ0=d?q{AĂNr] _̻C0TܽO;ZX4e=H I(n-%FD]{l]`FI.ʀ*>3*שgtB q6f#Qya`‹N%7< 9"<0dHߥ5Ə7.:|%2Tg7 a  %u~)س xNa;-$a;)yW1~[ܾY㴸Ntko\ tP#:2nY㼦g VJkpg :MOYŴ6`@Raԑ1ztO Tr}}I W1) t)-z;" b0ZwR3DmQ؋q Jj#Y:̭u$IJWyJEReZn]6d0bD8DB` .RDBQ-VP8\zA% ;+:X:b?;w+fNVX^Kŷ[B5k=?UEt_Uu˻A2VjzAy2gW7%} {4 􇱡 TmFuT$~p棖FXQEx7B<DG-?~+Y= EDi`UGy?nS^}83%;Qm㤳Ίrg[e \p[ܰ`v_lK EC?bD)G/S)e^\FtBs <Ϡ(+د3@5!Roq0T[ d>g ۥe6۠͢rrGq"U2: !9f𧖥(ғ>o' _̤VXJUOʑvystse#iԃ=ޒK! ?@ꉥPH` `Mk8#7\8u@_W>aF0= P& aV1TN(;K>'6pb sv I13v23={jn8qN}])ysbyُ3 fʷRLs&9Ed7@l9ɇfFhswѾ AGf~Oe lQ*0WafbFW;߿I eBcy:ut{Ѐ+dcMT !C63mWHkG>Ҕ_ Q<r bEHZ R\e(B {tOɽIu:FDC^їA{uDhcMom+h9ܟ6"iuN_ne 'Fc-jIO*8Kl 7Џ+q X_N||smCALjǺ5)v؄yp< j; 8U,_c[R3[ qO$Z| Pذ:ÙfǮ׾ߟV̀&Hɪ7<=BQWD?1ZJCOD(]>i9*^Gpru<*B{Z`Epavݣ>kHX_lcCGq._N)FwE})k'BaK{+KcR8!cr \aјt 7Qӣ7&5'wF>˹{n XzsniXDlpGM $S{kÅMg(P 0\])mePm^ppgJ|Kos35^pn{39xڕ<|M"(O r&xdPhyFSB%hQiB*s`mG(L.g ?>fRYnn<(bPQq7VC%d-n+a/OR;ę!P%OI%_ԗ4~5=x.pC"o,.Ȣի/e j,R KW3[}Wt* ϵȥBNY!xܬt@_ڴ*ad(?BPH&ݬfo|H {&g:tnݗgT)՝{;{?[/;̣w%K/-xgxM3|\`'9|ZqxQX+`b̐ )N)6&RnF@'`w.PzC:ݰY&A0c#QVz8Zb MG:n9̣э㿡 Q>c ʕ ?h@a}nfst>0Tjʝ[Ō=sD.[SPPJ_|{ x#@jPvt~84OxliV,-r7lmFo]1*h}FXꤢBm!riu=;aF}N>lWkݛVPVL'ڍLEƁFW7ͤ!kD\1>;-?:L d"ҝ[wZj4˙ 2ҏ d vp Ӎ9kWvˎ2~ )VV?q/wZ 1GN?QNd Їk$FS 7Iz?&OE3,־GOYUWZ7%iYĸ99ⵜJR1m)G4Ұ{u.Z0l@4$/=XqOVH niĸPkY -̵[ou_+^!U|ro V<X۹c05u͂z牯ʶ/2H?6E!hTxg5mtqTdӄƹ@AmmL 9ѤyҮ)aՙ7sT0!I~9Rf<(cxŲL>,$A So~Z\2"Ue-ҁQY$p::^rl*σ.Hsjf:У5 ELesd]s`7`Y޾zZpJ>? p[ލM51 5-H5o.vtt<1si~ Zq.|dMD'>_\t.lc_,ԓd("d#{"J xpc^v:嘇voPkyZUk``*nϞA7|bau|Kqw *{ 6>D,6K߯ՈqMe[˜,#nNHJ%bDݱ6sL ;.%2<<9@B%`UhbQV銶Yy9>FZ9%#WȚp\-4KLQKrEjǫ a5P\ /H?KP*ZcϿUylyb~~7+LCnY%7;#dЗvM* yN}1eiRf13[Sߔ.ɑÀ\3eTۂ4h^ڂ#G;D$dϕ 6>). \FC_5w4Vq lb0+O>[t{E.kXe+<)F8>~;H c]3Bv%NHj`GGl-nPX\xB> /X(aAhS_p+l_,.<#~3Do*'Crtq70trev#r[\ǧa$$ s.bKڮd }V6P0xh{xߢ`.JGw: n\3M޹-改W'~MɗDRau "!)(>:Y!QBIl!3߇ϳ@s/Cɫ1( *%dFv$\o}.d+/fqNF:N JDJ8o[[++36j.:B0-zo^ޞ{u?YRmv='BzwW5pMI!mrGQ~T1%Kt{Y%MZ"!v1IsK-de{T]d@a9cvfז cmա*#bASܞ}wjн8)닪%=RW Nzw~%@e?L,$M2 zQ֏5?=< /n}R}/UIiDfn&rk#IUsvfڌ3F/77٣gvy $m ᣸kEr=_@eZ;d|*Ldi"\o_.ux-wB[$ⰡPn|OHs+fJHkPad9ν(H)#8j{%&7<ԏP.$zDY3B_;0>UNMx8wxx#t^{.~-Ȳ !mj~A ˹{Աa$VR93 4ce>kɱ>M< UPl VQ6N./@C+P$ɭ-Yaտ@撤3Ƌp5xXUcquxCCn%ŭu* e9 3LwAT$̣P pz|LPf_BU͹mDJ^BY:?zi$3(v#-Ҳ{ PaE6隨=p^^bfkfxXaʌ]:qkfB+VY,-#߯psםV+ViUI,82]zx/JV- ٶ5')+O85Dp<ـ RD5LRVk }{FcnhJ!pTĒ?J) r͚_ɡ=$#yj:(ߢ;1|3g)cQ*2Wά޽ғtI(WIbW ad/LGf'Z-[|70\kTؘ+:ST .e7>ݪene<>i/c@5G90o]a ?]#o+%iDJG8ҝpcu5edp F_Lfmΐ) ԫ@59&c 7I53*YXe|c4Ri2ma MK?^WwrO ^/m͵7Fb|`}nFPf w}5lKXLƭ6.iv[ɍR#|+&+hOb4ZK?NDmaoY7H M,Ev&?BFk*EH܌x+p Dq|1 gﮂra_ԘPi^)7 |l w-Y1 O|_Қ(IŋJI+)V |Cas:"FcC<]ZÚ1~E"z{-& *W؞ܔq+Dgo 3"]\۵rT`1_x)\u`1 {VJw0hɫ;\PaNQ*U+ZfFDE7 pڹ,!q%gaCOpE'VQМO+)n?8hw")%" ɟ5tvI3z/{Ǘovx@@*s5~Yϕr!(h"J}g[ܬɧafxv[.%5ra *]?HǨH9j,X^e*džVgiNBȫ"u Iyx7/Ž꽸W$NV/&ʖ׌iK&uGROf e͹GwjCEMl3t/D# 8p^+p*V7ijSir- 5uȍ>XI;=O@;H?eb1m=p;6yt$j$X<鑎U֫\ޤ)cMKX̤HȈx_TԶMgpyރW_r1,ޒGv( IX25bvk6C:ZqI襉gȂn%|N"</JeiX~ x.3.jn1-s'ur};+ZO^St|5 /&sM_o#W3|j<ˊ)sKgX$(U:"̽bG8{6-G1?=6<-OSF*Y;e&/ ܨ7JF,aQ=55T?ki,WnJP'&]ˡ,ܒz 0Hd6OC`048>\r7r"AO,a눽#IrFVg5 ēQT~\Y'^'Z|ya<XPJNI!C&G\imeW ]~mW3w5GC442$lqUToyWV:=*˖P!2ʖ=)&t* ӎKdsp#G#*FP\4+˭e|`f ~rJҦCA)(,nX'|ϊ3l O EI/߃:\n"Ϣٸ_ymd%tO,[SSV{ v! ~ã+-%E8.W@"ٽϯ6/Si\?GI;5667hFҖ2FђT^h,/rԶGp~Orqx&" zܶG yl,v{BېJ?hrd31QI8I=Zw.A'6W&ס '%8X!i$!xSsr LOxaa{c)ALmbTWas(᩵ʶM4KSܶ69rCd=};laxg4 tϓIl.j[ouăas\/wFX$XE̓,M\,yU.clX87h`n6,F`r/U%ca:۬~Yh+!'I-1l.U3t|(4Z3:զZ۪_;bғzjfDK]5gWL=K+ޠfs]ijS=$xSz<9-JNDl6~ LrB />D|瘿? ^r6Zp5Ee|!A nrSf7w_ƹ31#?7//G9I0F4{A!_a r벌Geg ~~{'Fc8}o ~f K{ʸI*o9GHwsu33m:h>ҒŋƓOs,37GhZSiSg#KS#p' ;q[yX0ҭ*3B Ԅ(FPEWFCFֶmu4?(ۭ4i.?עFoqT($,ndkj86# asN`yY+9B27`4؊#y&41)ռEcmK:73{-0ʔKTNJCZOJ"nE1K? :oS-)ٶ`ٿ۱.; "Ap ?n1ჵnN7 Ҹ Fe(yvZ豫j\ <+bNFR%) DGX]xei&OզAdA ҔE l13mT%-R.x; E65Hoܴoj8&} CV⿫j)go+bfQj2=&A(3p|R4$rNiarodwd<ޣ™T_˲eǗmֈW;/T e$^CguD9f"XPՓ{CWXɭ q3 )h {q)^=CE`L6&J4FQ-c'݈HIO}~GbT7cr|w=V$It3 %Z2#db5"4"+@.{LLx9Fe~πcxM[ Tud5[tݥqqc&U>:-*)lc(ⴘPK|ot"c`"5QqduP>{Pʇ@>ZP0ICnC옅$\3mٷ~Sȱ5e7%} `7KYڙ/nk5;xerj+h dVav_YrW?(I;\J`@iٓTw^QieqIPMZIDiޜ|ΒrΩG$oL/ OFא#)t<.L{f%:P7IR&kCnbo7 -(m Pdüc'^:ϿŔ ǸQU2挘^O}ML Pwz̊t%Pq6H?0.L^)pTDtxi,άS ro+ S<J)߇$pNRtj2VI爫?@:!/Z E<>뤔*I4[U L4 VRz9$·䫁S8VK*#[6%&&; }ReǚIX_#/e l){x7qf"kk.dy<Y9'Œ@':y󫑊(MKaUmxhmENBJ*!22̦1'tZ ~=.9.q$ fxq)9lS_A@8!ʖml) PCx14kxH~omMPY\"Pb?XڧX=Lßd8#YG~+1NI:rqKg97 2cy!ψv EoH"MmHQ{,#ޖt ل>vqgm)rv1ȣ3KtV$ ~#F⾄MDd}`pURwM:SHmPsn?2.8(r( " 8 ٞ^W=ٕp{ل59#;s=/ŁiG1O;2qsJ^ހuחGil=6)c ^wmF (Xs!(&Y."\'8pyDLtoTv=*н+&_~m (w5-Rac*6 nY/bs $:1&\oO7V<@LEoVF=< hVsU5CgNkscغҕ |{;/f=N7RYӾp:YK[rk6;G4| Swkkqr<¸sQ?a1e}RadpBW]G<<85ĒԴߪ5I㑲1ܱi=EIP'=,FLr+_Yxa XS.5IeT@d,gǾ ZJfj=Wwҳ򖪞<74snPtB)ij0I1bÃ!J'" jT"cT<Gh-uIJIEk(D y(2͢`;6%bK% ~td::fW7|+ŻJ[wppu(Į5uXjA̓ݡޯJ 5x<5@ϭE`^}HʁxO^[qa|: n!;nvXciN*5t6wxva a:65lP瘛 ":Vmu1ܚ(qFfg*i3K¤4=;wI{GB (jGLA56nzcbHoVQ)A:e']wV0a(_qw]E:õQS\vIOQn6\<|$\)[qFCqCW*&LT՚!EXGr*oOdoMٵW;d/ WqMnE/ο (M'5fmWK#F5=}܄QŹBq~R# Ru*M8{E^sF-n5nrBd|¤'& rA 2 hH{$Uݔ lF[RYvFHyYcL< c竟+ys_ ?%ʂhC4hbB̓!هEBt6އq-C.F`۠py.37!kfP1K`>cxeu;y,QX|ψ:Q2 l;oZbuKHGeh߃.z=FOKHWHJ3f4'G `jYiO{ձBK49f-D'O̫K|,^s"ɀ@1 }S$lBROUtȐ2u =[B#dq ԝx4~Ra%y0}"~|q#a#'?wtÃR.߂v6wMvLG I]J5&i,cD T~E Kj%Ś^9$$a 78I«#cz&&L'IsL W jПcΠV zJw]#%ۡAIm-竷؍fP-co'D!W% wS JGE>Ł7% g |=lVV1 ~Y,6;Ec!ۈڏj篺NYqNJWVV0.8>S'qfgZK XQ%dL^MI{tq%( U3\ZT;zr^.XoXP hBo]3usU80ܻPXr)(2qkAN :!WT?)W9Dfa벺3R ߜۣd>&69ߎDv;ې~FyJV~!%JQb80Sӄ٩ +뮲sd42GN/jc{DxW% ̈́|=W!;^O?5֣^b 㵼W}sq#Y ̭ WիV K=I}˔F;ܼ 0aP~]-VpJwYA ߏcG~]p:YLFCQկ pV0q+d vܑY,Z BX&Y:U9\BǶlE4BhZ\p:D 6X,1 .ywkP",6E +Lj'^ddT7fs-*&!>"SQ7R]+&~ⰊSi@_6Ҝp;myv]Lmp5A1>IqL?}P-AHgnID_*_JNv׀\źHuJ{rFqZ'FMFZGpcʦ!bဋaj{ՂR=p}!_Xq{T^?"Å!R ȿA5P3O7qw~;wI}0N-bxruN@n̡*(\kؘL&:*K?8eul\_ŽK;Vy\P% SF Y?Ukߎki>/oXwu[$ /m?0vP.T1$Sxhr%+Db1q:H>pTd)& v²s6:eJrR EsLwO>au/;-'JhA^^ͩJ jZ`mcQiBeX~1(A|{K]g)t1j eha)5]H#@ډRL\ r *փbY}uySG}!Hs`_߹Zs#6>YC "sM'?[m0O)s;9qO4.]Dؙ. yP |**PCv[$wSnOWLW0P?Ӥ X1 o-P!$/5w-ڱ.7˞OwLgIpVMtcx& Q#gCJpXyş`s5>%} <'v;D0;WZ?ZwF fBb PE<:`ú!Jo?B.1V0G #x"[c*o~\UE_Vbٔ@~1K@ '仰63ݒh5k}f8o[5CK1(0##G02\S+ ۶OMl•+gYܹ+d4G& eo9F؎3;I)VȲfQSulc<Ӫ}޹uR#^-(mk,b2jLb-j>[0Ԥ3aqDgk D9d>EG|H"c."lEjqR@~7AUp vS(}f1JYe'{:g49iŻϚLjP¬o;wh)UzE#@BIOa~%תCp9,i>@Zo܈K7nd)\e̖؇QaM*BH@_½ .En bҘ P7udX^),mngKC|Ά$GV/志 b&2]BML!lCV\fh(Sq>Ңk ui^DdS2 vގ\kڪnP!Ѧ55(.D3k-#hveW vhsPRU`=V؂YWмz=Q=<mk0֮]bU"wɻl+bjMMMgb\S_˥0; Z[8 xLCUPSv褘 -^9u̡DHkĄ>*B*\a`:Sj .PZɦ_ϖS$qrɫlbd+i/L8w* TSW&ђ֚\q7wч<6|ɯeyU,pNSڔԋ8T\v4`U;y֮B;Gߒ^jcV&V. x?M)Cմ c.;19J'=WZO\+@3]esvTUl"cY9-ƉknP3 v@-i$ 7b>qJ' ~* |>Zm$Z^قſ߹l)MYGn!̌m{gCVuWMYyYFA*tQg QJ.e#u%-'_5pu= %D <0ה#݁Ogj:{t /9@~Xr \}5լލMDA5v#stP&Fg @=S>!{wU{`ڛ9Ap}ۤe"0t^`i" dMq:3phs@M^' \Qm%~~osȕzzhӢtҖ[;Gͼ)~?*%GSk? h:iƇޢIT_7qf3n*# |8'!>(DuK7c0cw:4v{y@tzC<}$eV"2,5(Fi' ʦh CK\穈N| h@~3%f5gq3ҿ p5:/=I`dւD栍|Unxnק,ye@e$ ۏcͥQxUW(1:Vh{K/iDS^4?9--_~PE)w՟hJhL 6KF"S96Mo5p=`N˚F%\L I(@_.̥QKBAGbrI3u44wvKyW f kZ\Y=ºZuPP .~x0S!*@:cpY U3O"QOnROz]uUrћAKk CAtbsc96i=+2ƍڝ;Xwuv4II.$\My 9t@]"X*yz1jlH\F{]&,qO nfǛa߽5$?CvizoV)9\_qg+n2TOOq^tG3:L(4͎Ͷq>gaJ.ݸiO.G3:3D!X^BB&7/B[uP[bH ae͂Dd1.B9F>ӯ\OtH fX®r BO/Z_[!~U}Yw"&z+2]i0)y)_g$9SJnC؟@j= "ЧF8Ϝ08LKa@~/| :(< X\v5#qȖ褚 r.^+%2uli~aA3K2TgbO_{]1&9:*2m N~\rpYc ˾OϜR jV5KF\`%tqzB^ST3yGc `Xw ccO^TF*r2K^Y#V)j_UeO د$RPsVG 餁V' 7mÄ^i\sR̐ +2WD-Ʌc'rXuGi3c?YJ3h֙Yapͪ׮ҪěwA8=}Kc}Į0=yrҪ^@-|< {']uf%E=v|GFzQڜ%-c20tL[A9~3::p<;ntGGH;od!"y]?L(iz)X W F^* v{E{!^%V ֝\TꩦXG ralTU>Iv`F{曏.7Mo:&YЬor"Y߂+>N9>IU"ʶߡ/Ą=B'y4q!Dۯ`D27KCX%r`LHyt) f3tNYQrg)RȍRN.Չn#kK[L\7[+'Di9hhUZR147 K7nFAlnY?_]V(8 <]¶mhx+ᖄcZnNMU vR)Y)3ç*,̔ |%`!~f1̵w3YBn^}4v]ۭ :Ě,gǚ!.~!-|6ƄYN<:UM}PVX" ֑CսyGcJ[B"6y!XXUa _ݫ1 縹k̛ 꽙-U1&)?: x W2)YAe`J\N[dǡx*}ޝ$TlWylܝV"4"ɓqGTu~;Xlە x1j@mRTZBģ1;GXl&h ᓠr_4aS4cI,Cw[#$=Im[Wd@rk5j tftT,44 =W~,ys8R5]ܕV^..U;wS' EwQ}xD{jUbNM#Du{5Pq._5Mc$mG!} o ayXx!t ?zpWM&m>g@9@ ij}3?H !( +xj.E{/v>y6w/h*_ 7Fvٰ6QW $ FTH&pәΖ{XF<;B،m|fMie<Ͷ/8J@ ,zW['zp>zd.{ljvHw(5Ͼ;A}[Wgi^3JFA`Dj;v+"ejfBRŠed]ADZ@{vR \%bz}%F?F%EvfE˜FGQiT47B,p8Up3gLi"KH4ھ_EցjvR\le&qST7:Mu@&856lVS*Z_"[9џ)0/dXp O1H9^E.J\%hYHʵ#п[fݩtNn`&YXs|cXJ@`E>I15BzT g(p .JaW7DM!4Բ >ڷ虗FxAy4X{ }pbȺ|V(}ƊiwQTnnn p3-.ҶEpZ\>. 4H.ldKQ?mqC- TsO: { JƜW(J耥aӤmLн.'Ya `ֻU 0s`39:l>r0;kj-%Ãv,p|Ai؃ ԉ1fWȒ{OWsc[!Ʊ&S F~&AWP.q/&S6QLܾv bcTTqcS%0*&/o:Eł;wxFA" #v=Oiv P̌W}vaa9(QOףדa} !}]jx4&_(w|\d830QAa̢ahb#&'[fgUۍ;ޛ;M(TlUw0kɆǹCLډ ,gm6<(OuhulGx: $ŏ+3Rdj :v Lō lk^Y{b9-$\jIHS\B;ZqhP4TL"OpF̔v4TDkq+t[1Ԃed ;1e9) õUsdىlJXTgʓYX'jIܟl"2A )V^:5o" zϜ Eǣur|݁uK1!g(E*;QiW8H$_ױ}EnGYO76YmhG(3>?x[{j.(8"k)LN {8 FCpyC20d Dc k9V`4 >D3⛌ oz*[ɣU.ot5 GJ)64106ŌFY}FJ' >,0DT|< .Eoyz¹\X8V;L߮R dh5 bd>[|00p0&\T@^sEő vmxbcjS5E/)3ۛ2)k0 /F1qc("[ZޥraH82VXw?Nrٸږ)1]]Aw)o?ɧ+7l#H#ۓ? fu!0 YL^8?3 QjA1 ?I,)Ѧ x=#[1qf*g_b5H2R%XaSa bo5AOhU es=">33mbZA8I&U82Qs&ҧ^3̗PQ$>^c0EqD0~(w MB=- ::0|AUYӂf$ ^d)r@ 1R3^m Z# +p[[>sV)J1O|%A}%@ u9]k:Bu~{)%w$7Q.~''U,ʙ6q p)*+.驝$b1&T݄ ܝج-i]nZ: ¶hAWN;X\5}%pD.%KqtK%@cʛVXGnERԼ+a{o!Qn(En 2I o?>sT> &}rQa2i%DxH"L1>JvVpLGWag[%=~):ZߕG_ȈR5&Xx͈!vؕ^[!^ჸ,^C +})Bg2U"PV<] a^kllZKt7Jg\=7 h6Rﲽ~& (/mo6i臦}G13?Qِ:S/u;5kb$ 9lryO`.;XѢr4q H50"[^lFfe6XȠk@1Y=YI ;k8z>ϵ wU *=庚lVۅ$C_aRB"Hf^J9AM/Ӑ;j){5`'q]{a' ViAGJ,x"Â=E>Sڹ5;C2`K`܌k 'Lbb?A,'5_6WN|y\4טY>4pF;gmXz{>)אƴղ|"+_4:Q e-T1vm,:}y C8@M8r܈678e \-,pLv{| 7q0D)BLk$oR]2#Ձbe7b L,J@pag`eS,aH x;U!wF1y v-vJztzRmagbZW3OTDi̪ܫ+L8FZ u:U܇:P1tsN=~afȥX$j)aWn}!ldRKWzs=YيvnɎ/%4.%|ggo-U5UWɷx[ŏ]Ȼ}r+a*tPb^E7V bQ6I #z`m!+itbSGa0\'ي[Ko2Q~(jt潒-><_4p2է qw\m1mkG[#fѼ6_o\,m3\s;)8 ?|l$9δP0[w; 69ËM]c $Oƍp[k[HGן閚@.Yl -n Q vwT߹7j+9(]|!OI? ͻ=-<4dAE>>%Wjڕ8@xՑASiތ>Q,4Í- ?q 836 ťլk&&2}!i :g, @~1=ϪKvb#`&vjJ(+2@YV_h:o&iׅ:_O4ې}DzVG:vjBi1%v%C~"WAce8SU1l(kM vK>dXoχˎlhBw֭ƹKϻ%k2v=XVpO{>'KTg;xY/nXV6 څWNgRx.&Re@JJKaoB*0. 0[>D96V:)Nlrq,Z90=@[w#jJg0j0}rß]C@;tjd.>7GV!mz-VaB)lwIEQ>~/DNsx]| H<VZ?O*_G&( FCoC,N] ُx+J=!ڲQ3y>i-/㳌CrgI?v$|p V97Z+ hQM3-pq35I?Om.5Jm;~fM*NDX;|yhZd 50 ߃@4?4w=ӊG)DUb|صφ!.8d԰]mUddV1fG`~ɠI59>4`P >xI~"i17o C`S^eVaIt\lX,R_e{zC h,>UYx6ug| lFۼbROĝFuiRͱ"JG\j^=zD.{'+""֚] gix)|>l$3_jN#;3Qhq, *:|k9}e.BB2dlewd7Sjl)O#V{1Sgf~׬ mnN'a}WaӆxLҩ0\۟Km+XnOL*[c[jM6SI+.Xopqn)"Ͱpܓ6=wK-5o33r8ߎ*lɱC"Lm *u[+y3 +9:Ӯ]M7A^FY,PDs x *aV O-+wo,`sotwpXJc)FSL`|fG(}#S%XΗ3neڒPCz%]ci_OIl1`NޮNlCZIVV@YdMWR(+(qOo!f'[DP |DrH4*˶0uթӭ:^}0P{l:{_ƗX0sq%--d:.JU|1ݴ=F,يjN=A\7UTTW*aZJ>^ IJ}rnYR9%~Jxq>J֊mY?B]!\O\ɃҒ9\Q8oФGo+=t3sKiɏ8j:7!};~T=bI~!b2+pN68Q0m!^>w$L`ygzYT''xX]'+zCDl6aq'{l}#Y7ޱ3ܠ2qѵe)w3S8uooJw-FP&Ӫ3oC4uJ@j3OBU|e7(>#|34qKqUEJ\k]J&]21mXɽ!Ř'W>MZwyI"*J w*YdtzUݿ}sDi./2SfGlȟio\ց4Jl`0,͝+͍%-{p`H B:4>;| Rgb+[}r"!J8ug;b_A&=fG6v"acCH,/e)ޛR]$b,zzusw˗1v;D*oXdD3)I^ "M EM5 )1IӤdb4<__UIusP wJTQ{ITFLkr&ID=F"'^q|"焭pҳ@^49}'G"mCI65+JIugZFn1 ԟkS]%tRb{Anx %WH<ΖP}C&{G s!Ҧ 0]8T{MP‹TI#!T-RFpr714`1hTÝIP,6];0_ANJP>MN \gS3 |;f2܊ݸ\^KNA.$`\Cjv渞:JL뤏?WFLf,a GmiPs1qi',pGU,-!':Mq'X7|r8m&f!<LZ$J9%AP苶=L`f :i<ģ5k C ie~sO@׸#٭G}w:kz ap^DžВl=}0s)OzXh 8ڜ]`C 6[nfi%d>I YtvC]P1ۯ!lp<o KԵ봞D0+GX61;٨ϒxXLC<_)7OGPJbC@6z;g _7UXoxjB j7!AH{h{k->7R9y6Lӑ !"Mc] ئ?y=-~gˏŖc54uK@VxfL!М;G` )}ȧ~B`*DV8ZK<ᾐA=~xfK #U.@3ʆ"%y)VEd zCOn"ߌBGPptƶ N}l}bN{lO(PӲ9Gw+fllɪ|uں'S{"咍Y]tY/u-lAd"4cKk:3kfLPsD: -GbYi_t<+Tdž)W>@YwGEcmg a^qת '$"'Ā(.1^/*a;hݿ=D؈8g mv ݪĝZ|;x+ed"~ce; &]c, }N-.)!qӞ(- dD7E ֢v &r4bXj+OU]y_7)vk4jDqBQU:4Vt9o@RP!={ -DulY+FsVw4o4JdEϷ_`S~nES;$3eN.9-+6T^wen'KZ&ސey7H}s)6yFGÔw>9}f1-hp}6NPgsdќ * M)!,ߌ`툍gV9W _Pq#T1 rup¢Ly1CG|O0jR$f%goއ^"h|55Sϴ& ٣!aN/|u3:@$6[}#|*/Y\}ˉC;Bsixeگ{jKѲ`dfP /AWB替q"CT1y-3h0/OHCuaX JnWZpp Xq9r-P |Senߨ m<5 D7yz86$E e`)דY+C4K V3,aۧKt kEY({|?)ҎS6 )|咖wŀDQR.b^)<`7M׏q#utTzdҩQs#ٍM1lWarg\7ei{NG:NF8l`4 ?n|Mfirgh;I6zTG!FшFrB7)g,=zEPh-$Vl NёRpoO8gBwA^~Z\ !-KmHWw͆ 'T7Hm{EQ4+6KVCՋxȍ;fYt.ij"v[y#]*u"69;pϬ" 0 y{BЭ*g~|{T唳-$P'`U5Y= UTqQ?'HU\/I[Q#Ri'mn%89CP)U+ǫ#P}L~h63z5ժA(#гǨGXC;ϴ]+Z_H-KHFаViĜ'm-{/itǹxɜNAO&VH?;:"zN, Gλ\F2dF}Hs$d'ҁjg~&"&Aی22ZcOUoSsnE4QT6kHniNLo_OAyH Y<`n AT`zk9D+{3lz޿ !8whg;c]<Ĥ)㏊fĚQ4hҴ>Ytr:)҂.Lf{]P[]L%چ9R7 T$MTFWxdZ5m*Ǒ"^&c}4<|jğ!<6+Fgzs\‰Vv%1p>?A+z˫.5~ѝ(YH筒۲ 1/- s67?nMQcP]a RAӘS65䱜`%*Vqo e1JJ6y#?7A;yi=7(dNү4t :T͡##Z^(莤݉iqi [n{7XmJ&mMJj4 &OgIɹ:%_S[RMlJԢ\ŘH7lvV}#A{3؂zWK"#z+{-MUOz=[,-AR[Yf@6 7ߪ80PZ\a Md=/ 5O=A˵kvY[Kk,c8" Ӽԟ9~ -7i]dJ$0_Ia{Ǣ7dʻP|l߳{0v|0~wY$W$XA ,hn^$rLo4 11:dK:Ĩk$ ݗ?^ȹFhN{JE0鉭 *|D pdzD\#;=es=\p:(ܡh 6b}T) K*@<4/'I Gؙ `) ւɬa=VeWN)(#.,u cU&jKI/s:EnQ`nb%g.S8k7M†&+=zp ̚ ao$&ĶIx^`DTdªblIZr@pj 2Tt7(! Ct83O +L6#K7vDb$`XFU ;./ȓKF j+vǓNNE{~sFt8ׂJbG!o&h?T56r~ kǍ*"nrH`G/o9U!M_|q}whitA-Z;]ַɔP.5]zM5s4e;SzTXV=. g^ZW]P[rlBILLݧEhZ[ptkS!$BI_ͪnۏ bI"ږKP4>uȵ I~+ʚ2*X\Tn.ؖ:ٷ.~L^S3t+-W|DE).,bC6DŽ:my :9Q.'4P/\Q``/cN8̭#?ZZ7uSco "Zb .]NV&%AElbn%z+R%Ɗc*Z`zMT^ߦxq$`9{O TCԄLIN;eKIs3,ve$p4U0*j^ ՑSeЈV/mM&S.S{sB Q&"L +hzNcӀ-C@ʤ!^o Z2YB&gȳnS}z y5V3Wc?w|{X Rs1"696Pnz}xvT+1b9|&v J c*/oM}~ 0Vڀj9Rl!x¸֝ 'wz7P[YwR1zzme i=tѥ&x‡ G:y&n䑯g=ei&Q,B%Q}%Z6@KFF%Ma=ݮ)HmdI/̥XH'Z/AL* >Uh-{UCELDϤ >.T.+֌%+kV[<]+'T"ە OlЅ]lO&ThJ M3Qc T>UW`Ֆ}3^`6!9PZY > -?G0>)XmJY ]^|]nBaKf-oz{%>%YhU*{Xs`M^`) bf`pU@"Ddp5cn tMA8CLe#F>ɖL58l6GQ"ӡo*6{/ !;|H~ B~/[~G`ts= bDV;X[;q3c9Ȃp ^jiyVzAQu+ofrtXE0sr,9 ъ@O ~Ͳizsb HV,߄KFR^­xdKu \|r0.SirKYI^3B@# x[ ZQ~ Ⴀ9%p}wv|{DONj@q I^b Bݿ8G?$sEqbdBiws5ٰ vnŽ\ƶ/Ѡܐ{|ЎMmn6YC,! 1ym \+^"#V5%P [ˤfqdn]M x盵y>ڙ*|rR vG'`lj+VՍ= mݙly&n4c[$iง.06Jo6zcѕ4P}ޠlb[=G Vrh? ӷ Єf'xaOg57IDCMq 62`CLDϠ3*pL&݂xsJm)ݪjj*uبs= ۯUop/(`HԈ.+%O&SEw>.կ#%DC!BZyT&mzmrFnYy_5^6Qy2TKi;y&&`+͑\ A( vxP2ƵyrE }1IXZIO˜"c۫\+XllC[,1Qx!f֋d0O{Kd=Dr?%@*(E1 GeorѱnJ2x=vPc۰;?>Xt~n8Ý-_þ&@)s p(!nj4DQd!ȫzw=Y6-_{aN 3x2'KHhcC|ў W(L+ўiz?s$gP*f#,-qa8N1|f%„ G{$ p1[d>-ATFʑ#wБW{ߗӋ^d-RΒӱXc`Uq"ą=2X1a23ʂ#ypwߠHo.8}Iʪh3S951$Е܃mw1ڭZ1sϛA'stAA,vw!1Dci#Vjl* D"hf?@SxoQnMbẩZ91{\2+F8_]w 2Y/{ [lWH ZAXms^ީp(^O}5LF2NHf|5}>\bQZ 7ˉ@UcsT5 < Q̹Jf4SB,@5x@jCzܯ`Gįs`w#si|zk1RۇW-. 5 _ nց1 o}Hኾo X[C  Z;ܔOk8N~v9xfo!+dǪf FuV{30EaCeeO'A*47\?.Ħ'b!vT(z!6܈c6 (mF{a]+dq[#&1Vi[_7 KT%i”T~~اY+H?Ӿ>%2e/: lCn(ĶȣPH,K9RӁ%(Eb&sDԻ0 bl<S!tnps?[V[cJ:].&1[2Pykl*05Vm:#)}$qhq,|#Nr? ŝ.r^V߫SuCzWp |N%@9sU2@)77h{mғD=s6JEk* xT&TM|e\L&8,Z⽻w[ΠOy. aNTx{zr-X?xd0P6 vzdЃ|j 2ڔ-̱ z$pc#aE6ܬ,aS: Fw:%ʡАE髛9d)}NAyӦg33XA xx(䒲GNk#hF ;,q]U>)$?c2NK2yIWS/*9+8{,YЄz]tP3`Q.s:G ]JӠ\u_cKZ`UR&eiNլQQӂ>ig\M̃dM>`v*+'PX]iSc^S֪?$!% rCYB`{>ĥ5Y}3n!ZIB 1K!̒* &Go}w_8KO<2'l[-~;'M!2` -0Bh!i_vXGrٹ ^:'cta OOpjfR寉TK(] m[a7!tf;jd;7Aa JCtB<⠬ktR1K j蟉әbO4y1ȸW|ZiHgaߺXt=qc{>};zOy/ lv09=HbI`d!#HDl3Fs |F+); %[+Li'RHtxT_z$Գ}3t}9YT^Sa]XuYLڦw|]i} }ܞ׽:䧌!s@M0`f&;+oh$Ol_+J|ƥEm,W5l'_ԑ|=R(լ6:2Wbs fNÜ&crz0N7'2$ w9U^wzhb+ r6 0iePJ76,4AQ JciI+bD6@M5FKV8t3W6,vΐKLXU;_7.Ogr%G0yox%8e0a~IZYK]+z*aqO?ZCKF%,[w޲QfwM$҉"`]0ʍ \zzɻY FnS),wc=BMB>u2aC$Z`ݭ- $\A`j1ˎ4Ŕ­ݹ O}"E[W<60 IcQ%T'UW#Yo!|YԐXv~jhl4YNyl D^"ב@u?JӾUpt]kn ŭ$72߉ҟ@>$#$hT 'm=aN Е]XHHQ|JsQD9TE'h꿡GʖAEQ!6[+ǛXSkxiXM',>$ x(AR"G=qW~@+)Y3N) |PجGi^SC>dXDv,Bjnb3:.*1kh_OgI/Ȯ46$|.n? D.=.bc _<#殹LJ/4\6Z؄A#E=Ku] i#iQxLT2F>*ɩp (t $P, k]XF4׽ewŰhn t0\YhhB3[CQ35$ wһ`+V u#ujNn'QT(Ywwn]&NMwqs5tA?lyXl'e◆q[L(/ssx!ު`!sfBM0% 0Ʃ/ bzmyei\H@72 g/l#yMW4fFjdwu61'bkP8;a@~م}&ӦfkwW3W뇁r'}/iҒJ`ay9ץ+C簅TGF.kޜݱaP^P&HKHV(QRD-m4`c'C6݆)pTlDhҢ"Vni#>YqcʲHT9S(n=](QY->;=0ɬ_݌j0<?XEPscBxJO =ym~ہ~Hz\0~oj3skoilU/:Ķ5ooҫ tj+iDT8[aF>=N/p+?wcݤƻ'ܵ<~p:|wYȸ-Tr8KL6 ]Ba’5;}gRCᓠWɥ)SEg;?R*h.qu:z.^@L%yN^:9iL@3 ܴW) Φޭ ppsΑ{)l="Gd){EL**˧II?/ -J7TN7RaeΊW\4eQ@}KA>׏/@(uMH~1e Xios?;WH7!_5Yp).}ZXKǗ0<1<3BW>!i-̿jJskK4H +mpOA|$?=MwӸ Av%ͽc3qAYeCgVڭ uzv!\ŏo _lւ?4)ַC˙ϭ~AK Jݺ@F*Oߩh+׃kN6w~2K?0(cF3dgʁ4_|Gי_Wx+rb&e}n6Hb<^ Xk2SK=å61A1O BVS]XGw#$rxHȂ|9撧*?d*@= sOZkBO3ݾv'lN/ʎ=XMWWI DJR{yXf*&lj"yrQ$HC7il8#2 (#`{xE-$@a< ЭyNf3^RZm򅿪S0[0KZzXGB?P ?ybd[ 7uTkx`5*QGPPYON,'9vf/5븮Bf38ARz$S9m5#QfVsf/rt/ZO*7~d"+ .Jw0x\_pl|/ H [j%n?_!QY:ϕbIX:ff&7q4E3 E"RƕdMMaEIR̲{ΰYvfD5WퟷmKY4?CQԷv>yY򚽘h [Ij1Is=ఫ$t ̃~G\6b$fd"hK268ƒ/,}ZjFj%I?:t8ܿI&7pށt}i+Blxdț?Nn(V7   M f-N;.w^ 0m\ܠx$8BD"h-ՠGa(8;>]c}3FM} ;s X}\.Ӌ<5H?zWG8b;I)p1O$֤fٝy\/< j[ȯG[ KbzV?A4Xn>x%P΀KSu~r5s=,/g?&tbX ӭY8P|N,61MtWI*8·+JlY;{e=.>BS];0JA/PdSwmo5[jP[>ҝʙU wv0~_G[`|XٰSnK`5|kAAmpwuJ|%upKvBYK3H4΅'зP. ZF^K٧E*Hu7hG?sxQ80~_Y~/3(QkF>ݣZD&fF5( R7L( 5@ @-C((RjyGe% 8VF_6)PPzV\-=j;_> #(aِ 4\2B2}d"SgG_w߁KA7 >Z3kubq><A`^?cxyKQ)= Vq3SmUZ<0+KdU摪i& "&aqXc/cn'LT =`宐 1c1jaT ${_֧a-ʁ3(  =3wlpZd)K[y:׽E3K3kel`^nbڰ3h)k &SZqaOD_F eZbSz`*@5\A֋s دxKks>ְ(j囃4flO7(51.U;" @|&ڑ;M,)zu; N{^Cv2\ L'nhc ><7)ңyEJBc{y ?6Z"K9(P~PvF@, ^f=`mcvil @mysށv JTM ;%%Y;Xqטz_&3LB'Ah`+i^ 36 3l bQZkl N9gYGe0&H͑:>6+MMf[ #sa,&F)=M߷3a[b!x7ؑ6{]A=9h5BU_HRT.Nز9;S]?t XP٤x933y3;ܽ*RżAw[4OY(V+u8ՑH4$5MYhqraOXBjqo-#1&F iuohsDV)_.^+%J&0_rF9j$Kd ؖ3,jV_aIi8QR8K:Ѯ 3a *W̋4r4bm:ʈZieTqlOR>eqB\Fv[BkyN*#Yj˓߂}bBӒwɡl>s*hQ?gR#*R$%#.@EW;X;y孀yVe "0һ}j}63HwN=NmO-&<ks8Z]0j\QlqMuaVKP<}Lڏ1\ZS};FzmV+&ÿKYX΅_N`o- O@kmXl!5A"3qs1Q I~VbQ}.hn2ڧt_NɍMK/pIpc#6=K9c/`] ͅډG5 dMB[1 s1< egQwnn,@܆kʽA+JgM--!GF2Mî$J rLBCQZ\Y/HgB@W8=VhDETM> >̚*i*Fjî;Ά!hhx Vam=#(`"ވ&Z3sQNW[b?Wy- y8qD?- t;ͳU*m>VStSH r!% :MvM1VQZX[Y{a`Jz?H8] 0zoxyuT#`e2_ltbGxuA+ԫꨙR2]WdGugL);F{%yzD3j0c~UEhFW$T}n̈́,v飑E1n*%#9Yx fSכ>_3Vt=:2} LN0EAF(}S 8}٫XISUqr nLPAooǗt 8L=I'\4hJ/kym#ϩt`BVoy1db"yEZF{qpyHo -`U_H.TD^#'aC5 +ޣxuI9Ȁ.+"8rB'hPX.j(sƥи;$N,fk zTj=&;xy"+k1:הяu٪7J\[ۆͺogSV|!\ϢkDL@Ԉ~ dD$KEh 'I6[K⽡ Br!Wi(.@]6I^_utxa_fDevWuղ-u ChӃRNHRX h]F!YV~^O dX;c&#wJ3 5<|G6t`PƠʤ9Lz09gf>8&H9BG͗-}npvVv0N?V&SU)wISP6g#u7H e<{O@ _=}]Bg=S[UY&VKkj.mP[qr(apWXa(MݒJM_q{%"-yl_AEwi}cil a=QTzoFB։O-֋w:=@W#2 cB+H:'@$Rwś~!1)Y?뇾ty.rYUhogz|.likѰ,q))pUxh`` 0:.拸"ŇkIVۍ)i8|X/d 0&J[{ ?4uϴoxV&PU7:ǛQh\ѼLnǩdШ&lbsht},؅yh8^A;^ 8 jz?@Lv WmqOO=1CZa*<#ba]&xS5bB8x,<]\f5vq,waE/hZj/}+'A}&>+iG+MAhNF 'AW'{ci# }(ƨTe@! LԼSl3!ej5WP|ł l1U Ԥ9+#ᆓ{?6 uTƏ]јTʃc%pVcIBG} +a)G :U8x9@v %ZnU5e/'7Ӱ d#Vˌ j05q {(2 &1})H z (C[*gBLTTK VO9ε)3->`w#0A##_,AxuQA6D8Ik~NK{RZI7`e\)vM5@2E_NΥ(uQlVt1Hv*0cPqN$rqW`5٩OIX?ns[ 1_u:5t'5 Y(2+WMk ~o8K k[%Dɿ2y&A^ 炔;.aƄ9t$XIkfHkjz6zRǟЂb*C+G$A/Eg^0" sG.@VI51^,+_%ms c %^Y; "0ԝwiL/A6ߣuZjZr)uSL2_Of[v|=r:g\ :Л/iP2A^ÆI5VKRn_0Q[[QRyl:3T$.{YH^ad7A!䢋)^*ŭ~}VOl6ZώP:h;[46^գe6=j7o:YXEEӽ^DMA Nw gS]e{D.(+>$qHJ: "cna _nz]0Ƌ٥⛋?q2i'4A~ƝLito0/sP=V~/9LiTc=; _ng>V^E/'`֭a ?W~O"GT4c'<7ԂWþޗ^ɼ> @GʹN]?ep~ d صoM7~ZC:Qb ϡ+Yaίd@H{'c|^pikuf=s+7Tu~o#>̠R)'IԦ2=::qYA O𮇗z%]Uӝ. =B@XkcĿnGL}Jw)Nv)@"4xGxMPFQua8C(Md~ 'dW* W8۴-z-<1ŐE< ~NÖDIx-o{mE:( Q6f$aD"ʁ3tÈPU.WB|e40['2s[嗣KvNXyI/orv9G wSuA]E;R&rpL 1GKv4i)={cF4߭?= ;g3 >^+fEHsDkQ^Ș:8te!-gQOuR59 ΠF #=ۗD叁@܉ȇ_,e6(1$2Vm8zKQ/\T8hjM"em%A 5Zg2RW;/U+Gj%ԇ5R/1SБ)+ 9Nb0 {p}ExO|w ,ҳFO/= Yߋi=]$hm7-n0őK{#7zf?McSIS* 'ۄ%X"2 u4# ]Gws1xȉչFn7д+v=s^tĽYl0aI$ˎ]7--PWHGL~\5d#>R/*Ĺ'$1O*Mg1hkkҮ Do;]{rof$"[Q6FYÆq"Z-T$f?-:Wykzz5yx/5'#Zo&暕|I$>g+sT#.JAK.(oU S,/X!w=y8'w;8 S4P>s8<`eʮٴkWiRud^Kc*d:9%1bahXmx#<ŠLuU~5`ï[0YBcZh:QU A|u-.:juuj. `v+ d~ &T1`]dMOʸ *LlS9)sx@ḐMQSJ~\yUޅ:}[@bظ >6  Lp:T}Å滺0e[aYj}:bE ˫|Ҷ-4F `v;Ox?Ü/~>s[&56UPo.Q^ N<:H&W9 O6IZ"5H{6„h$!u Dt!!rXW]!K'(t7-NEγo۽CE0i P7RY"xӢ/Wܰ_}~Q[na]u:.7Fm! .8W`"-ωWFh ^  Pt'g)1MKR9=W n7BZG`%)=G2?OLkU?xP =&tS'C\8qs1Kp-@C4xWdhOΝ!G'L)Ε0HC J'-} #ckh+ݓHħ]_2<'ՙES>Q!Ff0YVLSb\Ԩ@VI~Asp1BXbfPP&w~ى,* VON1Ei hMvnA,'3Ü?E@d~GZڞ ĵ5Re"W%e?@^4E*P`L'[;8bۖhcgV@ÿ&O鯅nE ͙嗷P*h_gi[r]~y Lw4WmwG5HZ tm,ԇW}[jW9jghy"y,CaVo<0; = /L P[ovQKX_iW7J՚ Y(@`ٮM䬲Ib+u>a)#q}g[ɲ:+YhE ⿶Q΢ eЮҥw(_yUL RK oi~x&3?튿lǀkt78޾xVy'ajÏ (".BRXL 7z+~Bjˊ_~C*ރL|ĔwnoBʌ߭lYԥFq`'(odlPk$ϣݔ ee[TF *Jl:yֆ71y2_+(7 3iόՐævg'u703s?&m]DQVg{~!Ɠs>)zz$Ue0Ϣ a#p'&w5ϡJQ&SZp^%j1H+~l5Q1|bs{?7bv~y1Bv0Fd :lDzZ4[{h(N-9hUl䀊,6qmQK _ͭYsaK}li;DĽDA"Wxi@*s? 4wLs{/z_ }!M]%z)ɘq t^Rk%8xЧUQ!@^;.Vm}Ye%5{.ءa{f/,zȌ2]Ӑ[LKDž[u.k/1쇑}߁ܵ@xNhY쥊*ፚhɱ>!*ՐTB kf!C!!H`w%u^fXh@J](U7FhVl&M.]$[l/`r]/0,qVZM~w{EZed(=ԉ7]ȺA '.FIƤEaI%Lx MW^#T~l  kVP@j̕iysl=o9rC||Q/qiSH=f*Cx]L6*%[{Er"M8P\2 ,t])b0#:Z}> 74}Qzw<Ҥa4ݰȩ.-Ӫ2]llԷ Ak"|aM<2YvNzU8ڤX/F8xT*1Sm$6~2rLf~XTi >3@WVHG4 #A{HBs5PVwz !n] ?Va~6eӕq@i<] EkY-/Hd%'Et5 9qsၻ6iQ8qD'EO 1)?Q;x\,C"ٿL^Zl)[k W;^!BLWHL!NLY]aewBzBQ?H [o]>$0F&CДgyCp5BnSv]c{38pKSϡcfdbW8 L8q*Ud!:Oϐtȟ5֙}VZ,;ʶ߽Jg`f) ԇSJIYdsSn8)zq _qDD}ԭ,MDmWnRxf <22Mx@gR3rE1LB R sr MeZveh~f+4ƸI7%s>Y%jEi}q,U TiΨF+NRﲨnw#0Gl""}}ii+]=E*tL}"Kwvoe\^>u5tB#}Mr햐 Jx`ONl%ƾ)H VheX1z9V?ndA!mEs]PFGkQŶI)Ƿ q7^OIZȹT _QyhͳJt z>s)t ˨,:gY5Q&f=^oFUߑЬy&7Jenf?U,]dPz5"~^$= w4:_*BF;,@neE6+0qǮ^4ݮCCTIj!LsЁIDZToZh<f# ʼnU_2c {<a{$>r/oSX %4٦LN{qz=-/bA9:@~E eL?C¦xƐɿ_FqaU}i63ut?^Fef OWao?a ~E>ojcxYoqbp2Hݸ|8h' Z-C+f )Lf=VEʦY."'p9[ȝPhH_BL}snM{P)X@c  Bs-yK b oMf#/۪W7*X )a V"UAQ9Ycb=ů АmeY4'G]{,곋! 0R:=kC w3X2KDwJh X׵MP 2cndTe,/h i WfJhw =W?ٗlR>aoӆ8Tw2RMJVuQ{aw/k`1OOˑl2 i˶@ bxJ evG|3 TsL&$ߺٯr;vuW9AGjD/, +y7뙦Ɖb# Ws{hᄳj Y~m `J"Y&A}_Ύn+bpa2 Q:L'ٵyܱE"D*ޚ1X=tG9]#Y n_=wl &*mTttm/52>q%{Rxi(_a0j7۲^7Kf˭PɨlhAg_\ w^(`j@'sIi2[|ZDB"ۛYBq9n6_p[5hT*r~AC\MvXPe*IyϢƨ5 >ND|#U$Ɲ к Cm!'n3@\\HH2EFaGE=*s}+w亿[nVS=qn]h8騦Z'53(@[x)LiO_ʊ4s,ˆ3Z'c5kyD}J^ֺ,9Wv'YS Xێ2c mwҾgqKq񳰽Yuxu^/R fG%9,G#zY('FqrU%ы`C](D;LVFD%ƫc{o9WwS$DUnZdW>kޑq嗅AUq6P W~8Ya-k˩~oc\UiBg퐴oXP.3#bjv똍&@g6elZ1HIsH*u`W0 "MH">\)hjLc S%~Z3mW.Õsݕ)o&ȋUn%H4EjG}:΄Av4O=B9[RFckО.t<olu9ԑ)>78̬OIPb0S#0#3f7Eg-W t 7~o.XZBƘį|C1֧Oam lj ]˿Gpk{ !Wq4$ԗxꢶXdׯU< t{+d<3*0 &dnAְdo AաԠ$oN B%SHʱs8(rmڸ>x 6џ '$M@lmɖE ]_:9.|RW,]f)6[v&+( ibc(WkbʨhAs>edԍaA\0eU!Z-h(0zTT0X4r-Z_(Ǐњ%;䈦e(ȪE/&`,e,9ܜvlGNϏ73/t٤䐋҅;TWZMqH{pBÌAPv䛙K| Fn@şhR9fu raps򣞰Z>Ju1=Fu ^k,hc{*>*4aNSwŋ4Qj[I 7[_SbV]-YyJNKm0~oFlвhWO~t'☪(Wn>=145EWF]?&6y#X k 8aG,Ieǰa `p&·t=qQ$8t2@**BغB_Ĉc`&jbA`ϙE.t5F #I#4]F|: fA@f1r&|3 IJ/NM+C>WkQ.8?:E)]kY{xDěʸK:>,:ƸíqEY|@@$Ewl%\TWWVJǬEn.BUaNGz~Oq}t=(.ݳUU`P;eN9 BׅeEb֐L,"NiSڟnC5݋aH~)bOn犩 pUVx Z׽bQ2攀c! M>•ii Kfh]-s`3+/] 6c@8BCg[f8R!J%(NObs:RRb"o=;mH0h*+Eo<▂c2baG R;W;ODm6FPUZ qr`1Tf>eL:upeB}NjF G B4\rL@X3rIV+,dd>#4uknqv#!|T6h\M(tB8VW\ӝʒZ!y&QIf60PDC/PuԘ<.()jҭ& &:#LN.-㓺{ L % s1ǰuSeyATptQGcEJW?|G3IVY2aG|"b6홡͗Ml$,gf5\l˒cdICi:?_6(E$+I =4pp!?^m/RR=*"y6V{P!<$BxQԵy}`NSmY ;KFˊt\-ڱxƤAL<])'W=j嚓캰n(I{zNoqLj@eQ፟YT&>چJ0r>I7Yf@X$ UDH)ֶ!,i[e/~c40[Qxtd6J*B}`[aʑk-ի3sv--pxّj]ւ^EJ.+J]&ZH'OuŴѱIޞ^!pVSp/W_,#mv;D د+rv 7e1 Ҝ-p.)VfwRx.d%q( hnD^I"=puWd!/TՊHRX:%S =VtX?c5ǘOA"_(zmN7]*"J# S-G4Cpp gz7QX}ևTDF89'U\n$SM=DnR 卨ÔޯKk&(7!)_(D)^9"^U"ʒ ̢*Gm㐆 7*Cnˣ8ՓhI -Qr66.I1熚!Ql1YI5*R0ݼ_gVk!=\TaYcp:\Q#V7;9g үG,ߕhźHs+Y[J(y]ƎڇNN#}e2v.6<[!+^k>Xcb N7 «9 GN=FeR*$ъu b] BےεW<ʊIs kg*DDQn?@;fg]gSJjK wiΥ"׊P\C"@ StLs:!5vވvWAl?N4DX_v)L$ڽ{V;5cB)vq*uL{4h$ , dR2h905:%]xx"&" @:{DYxBhm J|xK2XƵrA-I +oH58mܕx9vw38D*4w^pGN$bKQOpwoYivPeYjm6DmuAU3Kci+ƋKd5G$a_Xt$!/-ՉS͵B/#GsN3Udmjnu$n%%zn FnE rVc=Y{iM%fDM:,^SccW1q98j31GH:Mp ks-o lͫQ;\͵WcLuz+W/?5F#,@ɦ.7Ww+֊p,rExeGؽ~<];2i2Z$ Yl55 lwگobk۰1b3y DN>~h+ fqȼ&u[7WK[y5y 1 `ZK u}r^ "CqǝS>zTǠ31EP?IV&/FFOKMn[e+ODAXsp܀̣IÂFNX5 1<zWhoMHv{c r xHX̕WxK}?V{U|jv:kͽ~OS8\i FY0ב@DTLӚaBdxmbBo`Orۿ d{&}΃o&vp+d^ q N4u ݱruKtTHנڒ\Y&PV>/'ITa/T}Eי](ABY_L)RFE+6ze\wy)܀ $-Ƥ_?a( $rWOKj#.D%p_oԄN}yq=]( C ;f,@y&%aDk}'Y T|@$vYhq\%7$#s*JJ#84Noн,~Q<{Z"#)f^{34'rDdc)P+}$+2Ou.uhqa@q6;hYܗF5\+ś #jG럽6a57 =!. Wdn|f8ʰBgfr\Hܴ`E8NN/h"ᑴ_~Κ>MK1#'PN SUOrP]ȃs٘Z3i` Ta_Ms/Y-[t1 )'?d; 8yfA4Ns Ϊe q۪!$}W<"FRX( 6wQUU[ ŀ6|5h~T&~QJf{neb1¹a\s$ &u:1.0bV(aPHC\~/A͹I$RۭnlGh<,I{daИn̔b5<ĺa#ȘID뷄f\}t}xT(I ԱlR{`;fo}m t\YaپC^(2oj1UOUJxԵ~WnM?p Ev^gaw=4hϡecGw]y $[ m7<M`oy*g 43쯭ݞTj117eEwQIIz<4WқH(& ISm. (ve sDÿ&yOiqh)k0Wy]?TeylvO(ZNKK_~w>XiwMQ(f~`኶EhVÔxͭN6[U='mj1?0NC ę[M`0?l2(j6 p˺r6o0w/6z*ͬ8\:['4&7#h+J2\Asơ˕I{k]0mz|!(Vx-{ yzTa=2Kq "#pBu K%g:7.V׃$J{Nk,~d c\_O' ?6r{ bc>yLqļ:o;+)m͛$_AcZU(H7OUec]S: 'I6+SOSƴve(a>>f7hNAZQvp 㶆 ضaEݎRc锽&U RVΖ[YNJdUuOϦ^"Ɏ)ʋTLeUMMhJڴ@*ZkR}Y,/7;Dv`R QChd(fcwuavz5:dPd4yn0i\,gYύ/r3GU,BxMpk XՍR2Bbk- 2$iDAa~w9s?1uSwøҴQ lfu V4;: G)DWꇞS8ڲZ`1x6!c(`c>hWv1qMN'Qv::rcBpl?\z{;^ n1kO[.լ)m@"S{FGtRq5x Pw V-2q.OdVs{Ƌ6OQBAo-|F@@D T[ v'؇fm[ gs;BT-$[Qwϑ *-Q/9_ZFWU o^AKzM?Z5R&[[ReŨ3{::KrMOKC!U mkÜRHlLŕžc8DNbTz^DQ}ORFU1 rn~4~΀8z K0|l ;>]wKL(xM3: =o1IG=f~DQ_){]Ir2ޗѴ:)"ͮ??}#wsl{^R8sJdAy$Fɥ9&}'6~f ^_X =)!ʧyK}v+Ӆ8ZGг-H}}R0ܞe|OEqa1T.8k[Ur-%q]ZܪnV_!6CAAɪO-RE,|*5N fvD;Bk] W(=4yV m aJ.C>V )oY0L6u<ɎUdž-^p$dHCO'cx."ma7EXbMLXjq {!ifnuKXl*0D B]-71 7;[Ԑ}\Y;5I1n/) tVV;13d6~]#EDٳOWŭW(~_uu9*eI~.HW(=">zglq ]Xȹ40.h4S[p^N#N" C'Q,m!Ͳm[HcDbĊerﭬ +T.kQ _U?E`￱ ȩz=^{}"0 b7 ry<. 8LEXK slI {u4DW1lbFQW{D@:- Sgx1_VsA>g$c$d:2igE~-%B:D@^x4~|k23=h׋İfOfp 7@Q>%A.wpMG s4O E&pn@E $*HqM (axp$7 ƽ?߅h,9cNWHh|蹴\SƮ,z-tAhS4u! mylmQf9ɖ(2\5hTջnՊ<0τRd>~my }O'^#;6Y,蘘ɡ k nDenrO>mޢVr6yO&|ˤ'$a+sBW=ygLt3|ܧ4.*V7jT 콭{+< yFyG}ݴג/pmI 6OL j:*Uk&>GMa¹S,T:{ %&z&̿. }-$H~SC+0qBI9#2axO_Y\0]fRhv$ Ii4m.@K?5ig# $vvYt_+y; z3u1{.UOC:kP^3HP<5$ .Cl`p+ޛݠ5fƸ,&G=pBw'xL ӻQgZub3xK8?fUߡ鈘 :HMZ8JeXJ ufbY i< ^Q2qYKXM_Toܝ@Pys 1Z#V0W_zҴ4/p3zY̓*lg`Qґ4Iӏ aoRacVlŮ[(e#m~ kJ *!۴]iWcs)HV7ƍ( 5 kbOT[]Rnte/&X}ͥDP&k]2`2<-Rg,#A^n.ŝEAq)t]\WYMZ/]/:ԛٌfHP2;LynbA5'Sn7jVw`ރ82:W^-H ̄n |#@X[ >6}kiC ͸tn#6B1QЧ K:\90%1ӲIiK.b!8YEQע嵢맲?e0x8f 8B_eZC[}%$ I[f+ Y_ &p]%&4'=W<'K9]4+HvKİ彳(lq)b<]?~"qCop 1vjPBL2I3oϲ6ҊNdj XjBmjB"<>S(uE_I{J'\*H:7HE2!#k(LT} YQ.{׭Q?jiݷLEu0XPrwBנv6"& %( BNX4D;R4ϡDW08(2<\ea@2bpl+a+仫W'L2Fc *xk:\\zǔvцSh s8a̿Zic1Ai$|iLc\BRXrE V$J\ǢW $nQ{PWflm{],k<  lf^7Y2fT1^qD^g5 v2xP[|1sPMBRSFsc\? lG@ ìi2|lcVdZ˝~f_)eW&KDВάpMo<_GNh pXh8Dmp& bnF~61bt)DӾ >^HF˚t rٚiok8s8Ͷ؞]iAS$tJ ,6TKqK$4U %t# NM ;vZ\Q>J\/Mi;l:B,ܭbqc~k5u'_7,( .C5* @rPLjSq&TXssVbHWR?On=o]tv)hK15s^)VভV(㉊_h@&@0.fj,VDHE4f >tt-2V p ߏۘ57rdODz !R:Շ}vldk'uZdg^30ͷ[DS(?= \|BkQPm3G;a?qBGw3ҕ K. Q|2Q<25ɜS䨖ZQtP&i @-]&cp=sР9l[jxyOx.ۙˡ XAhQsdS6\mDߙQ5 ܽgww cLscC:]*7DȰW/Yt]´FBiCp=~ !k B'y@;F5VްR=$4/ЉvSe e9Q3cBplʴ*݀C Y234kߋ|Q?8 Uq[|WASn E~œq{e{0b̋)z2y-DS +p3> c<_ H2knD 8qKπ{[mɊDx^O)ZAϔV $һҝ9f:uU_._+ΙgJ ̡Ա737=Q fm~&Q;J keterك&/:/+k3&SSޱK*6 ν U"S]$eK9ho 2 !ة)>YT-v$mtt+!ԅ1%Y!] nK/?Q¹]LX0?ìц_j¹_ELBU=H/Q#w'h(ؚ( ft,R\9jwI#67B c`K5:NbR7OJAm8sd뇱+ r|}8鬻MZSj|-U!.hlSЇNE+0}'sѱXn ЭE+93ɴzyʔD ӭ2ēa(Kesd\ ԻJE`H|:}|JE( <(*fjp3]zHlC'՞aJ@X6@c ( =L5j<`A?acz{$V ƪ[8J:b{"4}jyK*p!5SyΚl d;c,% wA˾&Ic7$ԤUiVBE7Nq9E*A*B|4k*-we?ǞJ%P7Q?m0id$|C֪͌U +HI؍@az>t"x5DвSKY e$U,rcl"e^=_Nǵܫ=(agJ5],:t=0u-ֳC S:zcKrt<|kSM<ɧ?t+@"Xx%%-<0EӸ ٟtz̏[Obwݫ] DS%,B&Tyn0:SY&Ʃpba RsӜRhVCŢòјKJL}9`Uxm]9y!bE[vJ.B+0*xO{:T& a!sb?GyGw KU{f~unW1rpho $ŭ~>]FUHS49X~ 'El ϙ(,;H*a>Od$i-upQ<1V\@pOhU\}l@@f FXva^G۲+03AsD@_ǦҮMBz!9&f'ʷ"ˢڻ&]:l܈N @r/U6_lnh=Sa9J8qAvJAV#m;~WBZAI'.]Qv/U(Z]o0;N\4-{e sPWBQwt G5\ rKQ+gMZִ]km}\xqRAHc !^ W"Q߃!kxm)|!daa<xxTVZ(sk]߂k ׆L m^BYS `X#RlJ,- b}ylW~bcٶiWgoU"i_|U!̵5 2 >Ο.UR8S#_0Zwz X7bc>$LdKP9'JoNH?f-2!Zqb`$g&Y'yс -<ߩd[K6{^d #Fe~Zjc Ӆa԰R\MjV)jVS랃i[ 4W;l(w̞.'X"X)!"ٮF&ha~G ܧbjuŒkH;' 4U %"S|ҫ$XnM yWT77]Cvjf~tz6R%Ez(gFq݆(W&H$BވG@,*mX>w2/'fm㟭z6a@3, Lq̶nIܨ_BwYF#$u{hQ p&9mtXؠ oj J<64qB`v+PγF;~:*wמ~?X$6>ln"3Vr])26>H" BC+)Î: W7zuJ/\~P&mbwwלkB̈Z97\'ةuy"4\BghfNS#r7s> qǡ:ٖꃿp;q+Hi|$9p0:镯hVb9.ӱƲŗe| Ɂ6_zfucBtPV@stu610CQM͘gɂ|OKcϊA-7*%׭Re ۯ5Ul q:5q: f5nI+32LS\z9"ƚQt :J?miDh[]0[zSco3! ]6y#>cyM?eM&;Τ^S ؓm!XTYٹ-lzgu)BϘT?gO',N~\aXi`A 9hbRo Qx ?a=t}!rvDl8f_M/*aK>DG%adᡩo|'|FEp<撫-zf!9l<1^s#]I!V5NّvD@ k:tz ;>3"Ԥ'xlt[@c`OfK0'mǼRS:\.0D\H/nf+R+Urݖld`˽#$]_fMXaNڜ{sv'X#}o[ 8[Au=u`DƆT6wx|]R,*0֒E~&(S/CÁ|'M_1yۻ]H}v0 (P(CRYs(9msށ j)G r_S%AIN{JtсM# Ɣaxk-{# ~eԊ]:JD֔"R{p=ԥ(|T'0ߐ!3H7ʼn )Qܥ{w$%)[ۥF@FKBI..J'K*MoHC+wJT0^RqWEpROM4`lcoDW!z /VA= tkjACQ(]A rXOxx8al0(kW}m0F=tœ~i,s2uE A{oOԫʧYia"KSRe@2Y#t|pn*Ez7LwA[}f|Pw}Q0~ԨЁs dQi#HqK.텺6L`͸4Uܚ_Um`I>8*RK}>9Fz>ЮU3O4l dcՂ}rjJ\ٽR 4ANYY7,ghh/P]'at+lo҈.5K1oB[gt'|NB-ae8UYx`_ ?/@bj)|_qd;Lv&Z|5LV_&RTjhxjG;i!=9.έDW}%u>>Gг1Neqnס~]6CB 3kW_lW5yWK)XuSe!~0y@v*@ e$HbCJKEj`>QR~&0MaaK[3x|pI?lۑb\Y-|!Z~4|$dIQɆTc|9ܐ3LwrPz^h>٢"qP`Zǚ36:Z-F]|G:=:n5<\2F&gG{&0A~l{@)n(&%Xd:yɌړZܝ02ߘ*LbΪsJr Y5Ji[8MBR|0kiow%7 ZzIDX1l&LPzE̹rmaO,}9=?5ә'Su8j- =tuC]aS隠%{gO ;ZgbR8LS"QNgy,T]AGkTHj̟#8"Q.Fq(NʵM~fZTF޴UqV\ [-{4${}gagdQ@| :xl+Nlg]36Kc,kPvAJ %? wr2r驸p9(ݺ6_L5㕱X1ulEw{zEO.>jffРFj! jJ>pj9Pz%ᥭT(H۶U=Y]ǶUXu ={BM/!V" hWc@&vCY4qte*bxcrrm!DVq[Udap+ !^{vzJp*V5So6ND,8Gf2?8·wHuH!7{ldR6z=Q_x_Bп [УD M2]BX3YP2Zp WӃ-7!aS9@6W=p$ QuF ׄE5a[ VB["Ge|;恂bb29gn5 J5%MPҡȎ!{@;SIqi;ce{n,!A[y8'9DX+K7fR {zRcIq͓׈bRMahP2 --i?vh:;"޼}HaJ3ʊ9-E̶.buT kf2MǼAV{3 ;BŒ"d-1hT&`C7 ;'iՠD_YƱn*)v $+qvr?W\)Ca<\TWϾ2ٜe!V&L`#V.TW5|zA=Kl3V.&nۮQ0YX'IcȮn)znXnnͨNGƒ`5PG0` E 0SL)V]"B-yt}5(1bږd|?h&15ߺ+oŌ8" #˜x{|eG0H؊N yCh6FQjET']@a-xOij5ZS%$-˖rTceMh?GR:O}&ܖImeZh\f*˶rǫ:6ĕnW/ , )ÈM'4#LIT;h/H( }˅!Gt$'tNfs~ԛpCZy0(J ,b~#^J /nE͍궚jD0ˮ0ZbRg@HpT3k7^%%0XM1%Z&ܳQE=6 on{)wG#ā2RѥVV7 i"[ս~/7S#6IaPS=N}\˝͕bVBBoD+~IO ?9q &Ura JI!,uUefRBzM'ꏪJ%7~θЎ?1km=͙V .$T~;{#$/,ۯ BF[>7 mN~O%fWqf8MXŎm즷ج%^7ܖ^V`"^U4FBrOP6ɮV9]nч+2T%Ch ʘacDkdp`Y\:G)M_Q4gOul>oPCn'O'&st#[:t1/ȧʧo꠾_gBsYMF (^Dml,:'Pp]:zdSp9dfbqܭvX6ƋB㍖&:eJ3=}Sqm5ؙElf?oP=ն}8_d£<&d wWaqYXM1H`Qȃ` 1Lsջ41FZvZK1ב!5j_dbk\ꃮZ{S,Piio$ .NuBrd&6T֘r B ~{@?ҽ}T1VZ DTڻ +S8E^ҩo-{ ,̊#I\l]m _nQOs{r4G 5D /my +QHt*5u}AB4#gB$z)G'ǽJTec rȦ/[< (T wwg)f>C$_(d WdNN4Pvȇr9էI*?вx>u ϫ+avԟo 0NxN™߆ߞ^bW&fyx x$u\yzR/.]gE7$__I9ژ5RB u/ڈGDX𿆌e!C7n+O7K9"lYP$'ΟNwvHߡVSE 'gjEO6&C*fΒFEg)a1&thwOv8HWX!UFH j-2pߕAN+CA+j*e*M*&6$TCdi˜P팱oٟAnqcy`_ tĤ6`bG {Ž>B|53 jY%[?E.Z'P0ҽ+b zId{!|rL1McQϓT`pH˸aq?)D:ytD^ɘhSxgeu{r 6ת]?@C=x|QuU>r{,wE}<옦p7_'*P/^詍E@[IlMqܰtѤD÷:[UW)>M¯Nş[d%V(m!e-FẂbqcJ-U/"VFb  <^{2ڶD}A9 lGb e*V"P:%X~Ɖ\HeUԏ%%z(P݊`;v!q`K!(^lN!(ͰRcPOqb8Y"I91~ʢrU d؎HZ49aa& zTAMYZY4 Up{ՊJ6#%Cn}hr*r@C<\nXuuŇ/\M5ԃ經,Vєi4if;p0ELS|5qӑRLpKa9 33 O)t>RhZƑ5D^}頲NaAy7xnH?^rзٌA5'mޅ=ՕEEޛLAgfTh"s=`@!aeG݉rALNϲ.`{I0^׽C^?xT/D 3%:H_2 B3ШIo1WB[1낁<4zvh0s孢9uےY:XAu5 CyK,pI0ge)<{NC,!{غ5<{ФR}q~I" Ι[F&9'a&Ӡ&̹]URi  Kbyvh VFhhab_ԃ=@˽Y1R16>~GHYaD 593F:MM u֖o>ָF cN"K6^O x=_ߛ # Nxv+24"R'Y|Ov(@Q84ELgZ#tJM=%eoD4#*o;TנoPEdW9oc -ulm =A:Qު%UK@9$ hY=ە҉sˌYQFXɞhG|GIs}R>x@(_}0~ f>]#7v|_jAFT:Q윿G}fH ZNDpLsb#p^䫡I\1YԧryE~ڱ}ZَBS_BJC@CƵe_, eQ`m>i>ϡ8kc^;[$}D ~-Z/:P^x@PnQIY^*HwԺ=#?a,+8 ɴLZ1$@/55PC%6[ {o(ƐDH*z@ \-P"bqlkM_k`-lHVMh 0YP1$:\ =(Rs_w6Vj:פ9̊U)e;}~@6ѭU+ 8v:ax>{E(>!%:l8 Ov6Hi즤Չs?1W،i5 ]4ݾԡ 7́GCn1ƲM1uY-x_ W|}r锉jGJ{Hg pXh@>=:.yLX`xh !.6Jh&~ ,Y~#\{ }sZ| :]8ns>qc}|6Z5F{.gGŶlY&>i|QwXɡ;tqciISy7K GIю's6MrbzA-<1I]RSIӨNFrL/ͼܣh 2&.e%jB6a~cIenY7X%7 s!ULvti([KeKq ,~6bz([[巶B~ ׋W螯jv;_ J_N[l K{iwnoёz"ĎsZ7G'kR^3nBfyW:깦`/n€nԟ U]wQxi#+7 T*Y `IMV ؓYu{lvʭ3f%gh-./a>?~_ҾH˒DE{y>+R_ i픅@{{5ЈFX7{[%,a[Wa䯵c/bVZקt3bRZpE"qއo{́t[ ͽYa>sc5I~o5 P)2,2łR9P+TD)dל̈QU;6`M$eRb)r2n jh.10ܹ9c앆vU7>d=!<ˣ3ug0saokgNøQ ] RZ*ߣbn`-Lԗ ZAe$аkԋYKKiQ껢i`T 8)g{d6d1xk/0PϬ 7KpӐN&͍x>F|`DªK9b^-U~5wήTEy&zŶc8@%^mIQ]@4pcZ=}Y׬xD,Ci'(ņ}խ鿵)v 05}/s5:J\ϗHDZvMMr{OŖD!{*͂`YhE2ZOZԆɚ漻 oa0:?Z;|\`k4blu { #Y'kE!c ݹp;Y}wQԾVN.fiCE#9Z # sǘf|^i p0jOv6Wp!aʰA 01.I?[s·S oJAcކt}醣TmE*PlŪvM` h@y)i;MjoE<tJC |əl/f ҁ`r@mx>D_jъ0/4n8okwbS߭sF;lD4q q{[}5VRN\ C$&G̖?T^_ 2"g+ +.s"r E, iRt#%d{ZߍpЕ<'-x} TgE'Ke8 <_ af#>4aQ>H9I87d^:{p:KNOͮXx5 [۔$ Ij\ {9NI^}=q,V1?h` 8*C(!n\4'p*gS-Yؖ&HILqB حyxf˛k"2]wq1k@(XdiK+E=w yME`04ہl5@؝u'ʏb{=@R.6r S{q5[/&o*[+~G^lGo<w(XǞ)E\R  YAo2WuU.a~w.^[ .E# ]J >:G톒NBK.Mޗ)\(iOC2{Oan9`pр#aK?IzLM =Pp:ZR(;}¥4}H5hGrk>ٗ[}M9IU97gV_{l\W9lNeqg_X (j JO۟]S6>?)i}(>ɘ gWa,bxzf&QVj|5Áj~ܑޏakj9S/tCzȎ@c~Ibs >fhRƦʢRiFU&otɚB:%7 !GSxS 1_~L"_&裦,n8>v.i |^33Px[xO9a{*S\L4W&I tbm!4'% <:6e+ cZxHMoO-[)ue_`':s6oX!hwjkQ="༴Znv9k[anm<$Z1b|a8 -H %sz.vyyqj׾zbp~tUB=id&~>o t;*צ g|{P&?fnd `+jfbgPXwa"on2{L3&0wsIUCN3@;>i6;^L ʷ,T:Ne@m*EDWIWJVdDh ôoHb=[ǐHr,c]y>scɰkԔʳKVu!I?48O;(Dd A/k,A?T=xkǾ6&N{%;UtLr2{L?[7R9<[dyɝya·LSCʍby_{pViF"80Joˎ<+`QJs21t.7: =ƮݿԷ3O}@Nyne;nA0"[3 t6J4QMnڪq^ob 蛂a,ar;P`MhZQR!*$u#4!ڷ#1Gb&0xS 6;VՂ5[ )#G,gW!1UI+ȃ )KeK X߰5Xj@i a!9yTω aSܔZkHt7ݝg3dF.oc118`bÞSʸ5@q";x3T͕TEȿ<:jҢP0ע6Z +v "qa65MPYd?˕ާw"G,` Ce:%1qJkmB>lt1C{d~SfSQoX1a2岒)CL# tҳ7f8w9FCYG -V|?arzUx"/EPќ6CJ7UV` ؝v4\>wCs[Fs7D `-__i,wFMIה6d>UxLڨPv?st*nP ϔZ:ݜ^:gwSxCĒ#OQm pH- 4 ,:4!6Z[C8Glr4QSu7h#m,@3griHfG|E;-?G0M D4zmY^kOe!/RȺ78y{ԅ^<\X w(e̊ L+'RE40O:y{ y]j$x|+`"Dw31*hcu=$Y^%v((W,%XJR|qP] n5ȵb(:CS(1?ɒTLuf+FwJl"uU}qΚ5s 97d^- sXj;V(#FGP"gZI3ĿJsd>!b%12ֳ(v%dY`z)t?C/̹t/DXC<3d hT5.PD6h1Wݳ ]w~Dl#% ~fm}6^3Cg-2uq5%[FR ocȾdK涄@#SȢhɶU6@,EVcP {<_MR+虢X CD6R}/Əaejj{pfo~~Xt9Й~Uc'#ѦlmWTۄ]ѿie#D},"?Tv́WoT+9}|>7?=\ٔ YFH";Qأͣf\١\^E Azhq'&gPӈH<ڍѹ힐*Kv,8ԩY!$CYMgs,a #dt=Wʮ(i*?Yϓ(,»kE h-d! XQTZP9hB![wʴWhʍ>2'«.M<4hp&˕{Q":  jT4aw.g~•8_؛+#Q.<'%uy~_7˜sEb)K|B<+򧩗rD 1 /ցd6iȏ~gX i #:/eFQlmuc94ɮ+ӎDz[]vVTp3LQ9L{˫eS BWJ#Dantdqk7%I^ KMQ]Ey*OezEw( fGdTܰy# nrvHs#G5 NI XkNZj?0&Ahv9]KnMQ##U9ms? o֧734n̤-\v4M[@=^ݠjAl?.]t,!%Ѭ8]7JVhimdA6<ؗa#k!\hu d,mF.Γ8I˰)Am\#46κ3K~p=F*?|͖rq*ɥǨ,^sT[Vr=s)st08y̩jMc\!Yp)-Rݖ*ޤN1-͓TcIa+ RtAu/$F., =CKiԟʦA+al 4x9 +Lӟ_g40I`D~hse>Z4 UJV$K k9 ;U`=.a7uav,GQ"Mn|*4-mր_@#;]LLErTU8'I+o9mĀ_VO _ : J)z][xޱdC%DjUZIwm_q) P!&Au4y`n˃qP2C[O'Qב.ŴiZ"c[}hIM]Y*ö\=M8` I5һŞ .-dquA4wXgoW²v5!2D>QuTvEg {*z _(Zb1tOڳ]pp;`K$TVc'FN#ڥCrf6@V.=8ˆnm"_6Q$H,ب` 6Z+(DemU% |֣]#r $F7'!1SI~?n BuSM)X̩d0q#u'}^Ze˪YՓg$[jgIxX*l][`E\iXWǬ5"3 ,r=; 0zVP;i%}509)k(Bi4 ]6?/J\#H }*vA=DՑl_)=Fo$\$6o Q ݰV~ Xa֜p;FB^Uwwñ qC1*NZWl^v紧v(rg'f\H.'|f~vDH(:| R_6, v!f=^4ny(Atv"@''t*Pُ$xOjǬ\ٶЦ!P@R4I'mxqDSi^HXo濄So1+$xhnV*R2FY>F">ҭГ=H'etS?BROFD9H`Y&x?VmLz-36(^A GhùdI?%y,~q&=ȯHKYIpQUVTtu"â|gMr)Lv6_g Umd_+N1߰3r"A4)RxixAI"EǏ[^oV>Bă^^姰U(UA#KwPz(+)3I[s~H {O؂3Ez% .Z `G8[ji^ eR7 %.ePͬfG~d3uC~X̊n"੘R@qE>Q q`K*l 6)Oa2[p2cnԢ0"Rf:Qt^ !5zERBD s6+Ñ /z:ew+HIn'ZEw#X\ t篍M1XTG9)-f Oo7EXu@_]nBks/*Gv`|ZOS87 Wub^K֘D9=@~xI^aXt5JK\:!@rB%E)(cb?N ص謃ԏpNajv]{NIOdÅ(-URg(x.%My'nXP ĝ/i."HK' nۋ l՚5*o NUEs3y 8I:[nYzšd]ͭ4ӕveX8%E=[ݎJv\)MOCsswAbcBd: h$: [YgcS%.ܬ%uu$Q D+h=҄F (v|)lNa I?JFR ju<[(!DqVxaآj*nسQ(3&ܪ7{_[72G;ټŪ/ [Y*u|>ŏ8q d2euX?ͭHCIPY~f Ir/jU+HnKљ9ojWGojO q`35_aKZ=dʖx?ri6Qy#aS#lL"sG;9xqЯgݷ轿j#q\tJOq=qیNuYrLр"as9 k@eTu(2-w[#Bffw7]{nn+4P52MGNrjPW+Q7\)SJs4'z(5MlPy>i,/l^gKy$՞v<973Opͥv`)kVmi'&O#>lU9{FcV## 2; %OySHgEy,T3`YMwaR\Fy?eC' oQ!j<N&zw>ygpd H{$B3U ֛Kb06g;~uNv !_ZoV+\q>+5`e9Pw"RJ-#xKa)rn4if-:o-+ p;xm)wآ5!1ؽ/. ԤdpFNa탛> O- s~]Wmd7;WE}-0jIqjsv%8H>ogQ=Oeɍ8ˑ-@q*ZdGZ2rڒ F 𾍖Ls9fl3dJ<4'1=6s`N |kCu8l2 u5sOw|?ewQHXhsS{yk\Y (cTyK.^P9 mo ֛W(o U-du8VJp_jqm/'a6ڶgF_dC3 \h&ګvseBcΥVROEf:+Uf/IMG޺i:;<\yD6j%VkCz\WPK`-v~{O\Zn(f,G(zߖ+=ɧ]%fH_5"g+R!ɳ.**ӱ&k7_C4'])gJ%!Ŭ$1l^d:$G3G@)}g dBR^5} 8sol-1X~s6\4R*J+ ֌GCڄp{wJ6#Q>F!s%fzigo!YNKh~".z#Og'עQ=HZMGe^wQ7+'#0m4Bqo/E;^/tڦ} '4mJ1\T|YЬ _'W"4CH+$WFOdPY::ڂF%Lj.9 q8؄q7p3%cB#W{)0VxD>ycjMdknHI7ނV ; |QY*gZ~"Z?y3 LFaup~{eb(Z2`1;]wʘ kCCbw\)ʐ yՇ6CR;YIЫ)-hmҜqq/E;lDY0̕-S񞼏u6/{Z/q$2 3{%>ޖP q&GeZP lqk+ezd?7AބtHPrz*ٞΚRO!zC4̙a^eVap:/#[9^Kү ع'A-+-;WA^JLw+0wNVmi/h3Y8(o}bhC]nvLȕ[.L OB>6EXʃNW|9QaOyHRB{ 4_‡e~ۙjvzBX ‘`\NXEȸ'F;6uET)DF3:_pt8TE ҽ|EPr녪xs)AFMdf#gM`)3l'lR:(atAB%\Wϳ͞@*~h/`&3!L v@(B'$'w@\u;VFY uas~R %*ZMB u\v58Rc,ga{K*Y ݦYdh ^z6(= TYC>.DEZJd.8>;^X rK N< {@[+*n5"f1=G@!A3x4'IQkߪm10syeb+#2AӾ' Aޜqx-(}QCq^w'ObuYÀ֒u6y{}֣C?07ֺ(ETIA('`hBvaW|=836qUpMy=#A=ኋ^K1[{ה M hg b}lӂlf1;RN* g*TeSz^3\dA;fiIEG dn p E1n4LI3ǐO' kL^y-!)\QV2D3#eK ]Gfjn?yR3do `aǕ%Jp.ka;XaEEZ"9Mz n{R"=X3$Ucl|ߐ8܊b-]!}QY\fQ\oЖe3Dr2\xnb}#r,M5R @HaNڕ NτKJIO?yd g^&4K<KrkX*`h O"ur-dVp4x#c+s{f2\C 4DP&"OyIU9}vw?"*YiV?gc -m'l`^2}.ZqtZl[ΕCKiD QFs˫H9'9սZ`7 &ilG _ǿf/#VyЍx'Nhm(w؄E/GVUmtv 堏O Wa EWޗd)QaCMORʴ6oɁvfϔ#|2 XH=&"^xd-,D~+aQN9 p]oG? lpH6Df84 q\12z</PǐoZZٔWvPht0ǂFyjV)j|\g2JͮP6vjeu$!N> Umw@V4!r:m->!Y>՘?,fo }?W|B>ya0rZ;+]cB@P~FY_%>GX8@]hZvb1sݯ2ZKՂYN1!U/MZd/L? XUvs+2'=U0 sQ^+=^ae175Qz҄e[dg-CyD?+BڤW--0UY|t[{RyzV7BiB_ىeH S{} iUv=lbk⯓fM0kJ!vjBciZ3@16S)pC'9Y\8lW*O.g*_h5bgdМD/yDdIMy3äjsWYQ)ЈB$)gr@sDӋ?BWDKEH*p_Wص8.x)I&V3?m61~0g]&G59>i2Yit:[?願qwH+RFv|#ףkjjnEƈ1\R}p[_;_F A;efSm3^,PyzPߎWk"{-Nwo2 Ne!fǏz-竷 /_0Bb %MmX> "C.*ߗ"Ih+ ?b a:nRl:e[PteǸwVe12lH6)]P{VuyNRNxlq݆i*c4|F}-MvQ'jk>rW{8I DBML+H@/~b$}7V顕eY,l'(G', /ԫ+m`᧸@%yxY|xrRYlM!7@:Z:'~H fFPԋAFA#;wMa,A!* @3_"jAĽVCqL"k8+H ؀i u 0Eiߘ@Yu ?ihI*SlFEO4Z bE}q@no;}+׌7;Hp~kyf?$T*ݹD+&;3+>#u,*so;ڴjHnާ: 0ZRo/uDPk>݇5l"GL9wY©.f~"NQ\0b>o-0}|?)Y|O:&(q%!/+$9[f(^s]76(kM\1,+LR@|j.<8m3ؘp BG]uȵzɆ ̍8Ƶiۦĕ!UJx쇐![Z ': -#QbxՁ3ާ[+vM>faC`{K`AMJbr2q[RtĐuH ˯&g.ښ\2x`N랲64[%<M '`=N/D%+8T{hZP BmO1:W)# zJ/HEOٶAxk!AՁ_pM ($FA 2 l ?gl=lgXK6=ɴذO/HܹLe?.b: KܱL]Ya3T3:ie+"a̻;=fzX?]+P[*񶃞|.~B.*ׅVGR?;7;^a;R3"GwE5dnD-y;MNn]V$O&I1TUg$dEErT]!&ڇixͺ0旟gr Ԃ&o9sژT@ 〒YnF_ш Nΐoڵݲb/e-#u;ng 7"Iyfʼn=Bp%L$?h$S`foG;Pt:UB]{޳p~@E,vOG;\a= s e׫9w_$gZZ: 2]Q?:vߠn jݑY^xͣ_ARWT>*I҅1jc6HXLPZYf<ؿ:29^iM;\' kv[hr6/Wnّrx t2JiG{Q-ke7-!ZFA!t˄${fZ4޺63h0"d2z9҅A!b7B-_2ٝYwLjҒ Lx#i7cD=fNud_DcCN`PUPS)nM[x\C9yj)ȏ'X&bE$6ZCB,1 |LUrB~x;O N]׏pRĵiO }^7ILGsp Y)uRbPsD}h%fxU.gf`&sT^˷9PĚ D}gHxnߚT-W;qK@`~YP7RJ%ÎT7D㧕L<)h Zƍڱ> 44A)Sq& kAhEf[7+ꅪmG$&c;ܻb.@.zLڤE.LΊr7 Ov'+82ԊZ,vFi~I\ df3둹 ㏥9k0lINiTmuhEKQa2T,¬C\N ǥY{?Ң[mو0 (g iNXU>%([ sO0<7$=>/tBws’ PmςbxŌ w1\Z v}j ([g"A͎7P-%Nf#'Y{<1X,.QF$@FPm}5B9GcE뭘ֵ{z''9!LfK}5u%(.+?OPɩsQ9+W$bX@fjZVr-!f8J2jHwm9;<h@Ypx]rj*6 3sj" p 2J$)\v]1MP;Td26[>syT!Å"^AhJ%KgԮpА`ĶpG9T_sLl%~oqa#3aQP􊗗ɡJfR #`xt6X(;rToAQQ90f1<!Bi{-a*4|p{,foz2wTpi,oR3UVavZ }N*ڊTA+#[XcJBʪ'Fm^ֳ>i>-ܱi5݌xV hmLa`(@9p4fr"!Nc;IXfT49d [Rg&=SAnya7(sq5Ms>~BO6*-Wc=S,,P(6M fZ+ V$=&Dߠvdm3,ooC6ѡh@_VDiƌpN*߫E/8;XݠThImS15vPW*dX&Y4-yô0C+;E@Jf%k/N㞌쑚W46y_vgL5x#*}/TRݗ`wĽOCQ@/l\Ngr1 svbyR?U>)i}S\sZfY5J![*M:4/'@w+Z(W+vڸ%?^H3F6CXǛ@ ]P`fft5fCP=o:em6Dp=a%+'>쥎#P8TEߊoo~Y[u fy$9W|șƘ6idA/%]a:d?WXo;'0 a!gmҩ xTw r* v&"obFU}7i_H/]6/w*K|q*5a@Υ)oÊ)I|.^ޓO >,S;W*+P^S)GPᴹă9a0?B}$ ?wڧR+AYBK?E:F Ӟ~ۑF'$7R4߯D-I?('@H3 WJ Ed!HEP\|iO*W&f4prNIfkI|8BÇ#s8&38\,c<XE}BH !ӈxzx*՘,9qR  z`E%' iSy!a&^ @:ca>%vLd$'g0㴳3@KFZE#!Ld'7ʗ@ r#>犛 䮠yj[|àV<ە ˖bUzaWeYNN7sp\xß|*]kNP[u !cA DrQv|W`J*i)GnLtE3 IT'3EUoOZ c?bbP aZ=:A \6b4 ɺ3²|DX]={|3S&0hv|ZHcRs`#,ٴ֭)͟.:!4WGe1; lٴ gn\;p<mD}T0Ik=Rj#z  欞1IAYl] QW3.0*-[wp´OFӎa)BL$_JDSqڣj pd^@J͖+-aTWHǽŅ_jy蘤@"a;E8Z~E+=U`&p%CΨ&ׇf;~Jf0ai lSZc"d#J 5z&F'`.3H{X&ʛL#BeJ= eFI]k -eU 5Jy|`bަZ(;l.czA?t !>;. iQx?wlMa晐a.}xU-:7߻_G*f~N. keC(//۠lhV|U\9ӐޞκNv:+k|#n!YR@o Vԗ5'~ 2^^iwRs dJW@w%1U)NAssGA@(8_? N|-CfI4A9A&j̩d)7Z{,{ZٌAȺn P 7.9U0+kJe*6u7VO)"'w_o=:w m|RJLO|8l;bս=?}’HnYlsl`?gˏe&ԚE%\2clc#h9ғ,AlDP}J%l  }ߩ43bPAyjAy˫@x[4`;-H?Td/\Yv~ vgs-E'Kvq"c8igx?5K `T=&tV<ٶlLm_v2~p`҅$b8ySz g놤5 Յs?`FA+c]@"v̗u+Ybsef(IŎ:\B%vo f,ϧO$! 쐜"{X%ݳVNnA0=u5VIiZegͶbϽ|^R"¯W4 8W.w:1|ca M yВ|ȓʈ{BoKTcށr"kQ]Nz+2O<#Ь U-) fKc`%50Ir]oJjrߪj2aџCp'Eߥ_)vT'@YWXּlҮV`DK@8 o'q z^H?\-6m _y]ϡ.. lZ:QPA9Ԍרh<Lܓm=Q4E g^C䕓"tO(HK`'PsIS?:HvCAx\Y 0r rWmA8ֺY~N>e:'広 rr$Ir ?i5 gp0Mt6wd,p@0֟Y(h9(ؘk@lq-h3@2w4<-Pm..p S2r@YkLtӕ$(ok4vH\@dM«0Aɍ8*yq'wscsܳ+8xoW lZ ײQSR Ej NS\yuV#QA509qH!WaC2L['W&)*AX7;o<)؝|+nJcE Zzt+M.%<q7:!=~Su0!N`r x,;Z4$C`?9'%OאEBql=tH%`8 9|sC3JsU}=3`䛈lT[2e6bVRpZVHGC 2pDžމhGu8\T;U Jsb-hV[G~ԺI -"֎dzx[3 ݻ. 2+`$Nþ㤧QIKDѹlU4wsup)D fdq:{1VS>;^}t׆m?AQ,!4}|nZlޯɌͷNBAPTNR!r _Jm Y}n4' P[73aWǝ*u~qW<GֆEo Z>r ̬LGƧ9:ǂ̚I.WQAtf!)E9i|nEjc,B?AsڏחM$<WR.֮y 6Gb!8a*G0-Mp aB`X5eF!Hk!R90qT?]Lv8ғ2Ȱ)󱞃[~~_71*"Rޙ0WTuxe _A䷕ׁn]ߵm9h+7pY/5 W`ѐjvt[YM,sKķJlįe辂xؽMK|sPmetްEARdTh>*w|9]/šHmFgU`nukwt| v@X -U #`ZuJoa{Rbb6cB^DX!1UP"pm󞝵i'Apғ Ͷp nC  Et7dWBcBٕbӒXTI"*j vә,0nD|o! ܾexHzVMjW #o:"00t$1Fa  *EqwUՍ˵;{)U誤Z3ҟw |JC#hXU~ a.|e-[?=6T @̊z3cDi+fbyt;XLm8_8(l ^5Vuł(6S'=!'Zu :>_.]H ,4KM@APҝea ð}4eӒVpٸA3NY+i-yjwtԹiirc hǟLlaNG<P7@wCZg@Adj;#<&K:a̎B}?s+ЍҖcHF} ްRҳ~|9ɡ8l;m[uV96wKtV%2]r pm6.|if\o߁v*I~Gn~=SDWO0S~}7Zpޓ ? Gtg穉uᴻF.3[|rR3tl"g>=/7_rQIoU|٢5_?u vEX_i3UXb$f |8P r'Q(K;0eBLx=2>xmF1_( G~:{9sY?J %q7(S5uۦ;>NUG5V<6v Wz4>Ӱzb`=h5qb_{w2=m%beK(SV^izv|W|}Q/%6R:! *3/5r#U-1Ņ*kPaMnð'Dn;hl/D@/@M T4 Qݩ咵g)\Ӊ [żV;Q i=.AUsPO}'N'tG+RaC2EF9;xp2Bi==JT|lkՔQ2HB־ܹi#qI~e! Y>5nlDC2:)G@]Q0`10ꜰǜҶG ^e7ܜv_{A6{?̮ X'h* >$BXtý6I`W_:O[$tUj֡UlC}ne|b!GC§[>^[~ϩ Hjx OT`L*եfb//)vLQŪX['Zgĭd7"TN'uNpGOi7)JT?+@5 3sxKe޹oB̭cэfS$l֗tW"h8Ǟ1ybh-m$ԋ Z(:u-"XTib&GÜ8_6a}Ͳ}1j֌GT& @wm#G@EKt=OD/d(Uns3 5j&hd$`)g2c7:պfW\~SRVS+If(/;ZbJb/&iΗbWbGgu߽/+# B;i;0K:'˩Ãű>&IOQnK8SP P6C= R8O:;yZWp}mk<{9S* [:/8:3̭ K |E|n2~`/0eȫdd;Jp7+x=h6vhT;,R @@XN(}Q @J%nsy8a$UN$ycrYjtx1<؇c0"%۬ivX1Q12wF[fۢakV|nb^Ad%kӥb(T.pJjx`D`vm8 M/}@:c@bn{ڦU*| vU+AR7q ."'F6E-q«@[&mݢgo.VX4a$˭ Z7H2N4^ݘM˙QP,SX}`9557r6QӅc,0Tvn?:D{w4z{;͍O.Rz`!q;!J h`g0v%ɆOJT9^BK&yvxqXec2瓼phj:m6N@ gNZX-T>b,0Suʹm~Aj1A> WCzp%OVxwU>5_T9H16Gh)[zex' $ÿJ6Z9_n3YDžti؜6FŜZ Ӛ'½57^Ź|=$M^M)LCє&KuzR""&yourr;Tcb^FNe[XovLuL~;3G cn. z+h9 nΈ\(ɺ `hβ%]YL*l0nlNL.#Dy!qVǢlJ=  0$ڀ!Ď^śX|8 H)xɜw#gD7(zjj\y~cb~8@)ؙt%"S0u/gt 1BڹycHb[tx(pN]<%Ouz9]c-{mAv )g'rM^_c¾X#lpe#"ULgnNWTm%a;ЪhFP ɨvMZ(D.۳ 14XPۜd<y}|8 t@G&tuuخ=-ߵ9 4Pc;b]u؅AjfdٺRf'K>P;X-޺X? q$_Ng7Za43x×KPs-zSTͲ2.BU+Ϸ?=Qc+k%Y:|CzYH,$:R< |F  uv4:xz)N5Kz4.D8*Iaj٬jl9@bn5)` xt ZoYď_âD!SigF6nmqj$ɯ1]q_P:l dZ>E''D↩v+q"y7|q|TZaX^ `Ae4*pGfnJ~64_uPre|^-qx?eY2>1o644q)hrTF^տ{4sƫf wһu!wx8S_gIMo/0kyk71OD)O_-bSϝ8C$i;f> QZ(CDǓGmZH )vc0L5ίRBJ5LiuZAr HWPseVl.Y$Qgt*`pYAff&|t9x;ױ8wQַY^lD(D73HS !$2^dno5؄յ rԏ.!=h+M43Rhm}'OA﫥UCXk~SJlt wܠiEгo<ܴY2rځAĴSAfQ7~|w>Aڝu1tD٣p 8)D,r77 'y2(+;V4׵%9Ը\[uLb{!ݙ;ǹ*hWI+vl NZm州z,7M{7 "!)9,.SZ^g]cЬ2 dIuHkUmu}Z, ͪ yV`$~4]6+t́KRuoA&5APѿ!@d[ٖL;;*E94~zrS s{; Ysf,ⷨ׃)~_f \^=O٣9n5x#8 2b 01MZ-8Ǧ Nv5yƉKERa|0]vHx4 Rq $?fcdsxc.w(J*28A1Rl6.̌ȾΆs[rsNxҁ)ٚI˥; Z{NPѠ4T؃JcG:P$БqRAYG`6t/(A8i7bJ@Ϫښa~g}Ej"B5/7T5Z%³IuCلϼG~ɦYfJlbƐU8]jG2.Yo, s;xJxZ9] Qr,k&݃M}B/m}t 8DC6_=&m?yhؕ$aPL@h5pm<7^?p$/g% W?9tB<ݢ, #m-N9ߓܩwΖ> bYa'm@z)Zl ,h. FUqJa~MsDz}ϻ WLBᒖQu[Ӟ"kEɤ@qOGw% L,=yqG@&@pWPx}G KH4˼Qi: G Lm驹JMavx'KZ`+t(?ĞtLum፝~,_`)c ڊ7ۙZԼ{xE{Pv/_s\8ʟ08 [i"Q Ko [ wnJߘo_3P;L#DGYYO 'x/W'u1>oGa"%8 XG>aJlVlW콅BqFG%Fv'+TG_?,xeA-t1Ӊ:,ooq^# ۚf>34@`._z%n ӣ/: Zyii3 D<?ox}3'<+ G|7EHyvw{bTFr|z"JmXR>!V_C`}>'rCā2&F:QX`Z\-7/o[w;%= _;/aW Uhá.QJָ3iTg١Dn36ձkI62T~&&IA%,9(+Α+N\ܙ$2kki6Lb\F-s5cP V i)ݸqf)cy [ӗpw:Ttd5:Zj1]GbAFw~=a.9fmMp&91Dg)֖x ]Qa.㤫0.zUͬtW2R[4J hk@!d|gDDžHr GyaYE/C~|H=/}ڰ42`}ڐ'$BKOg0':rL3P鼌+ @.@A }s]>aS5j攔<@@Iɇ|{1P}apY'>j)oM+]8D?^)JuC4 |P7L+Cҷɓ-ĿFax󙊈aII54 oۂD1'c|e#Un@gj) Pk{Z1'yy Dj~t I7Yhy|q2㍃)+B2թʱe;Mީ'gB=k=6 3pb`ڵfaNUݰ\$>ha \(qf |=F\9 n|n`!}-JX#~z؊*ҍ@A W9^R_"%Y;䳏`l$%q7GgaH0Tf캅#ˇ<{Sq|ǖ,&a9UY v4>!^g3'XFFqrjA IBe;쵍C@PPvh|E "vV!(O )US"3; %$_ͭ%WP;SIN=lW[\r4 fFS9d^59 گ&3i#  ?q7t?߲tg(Ľ?>91Np^uT8 K( nOk8h"Xg$sI)!sY&Lph!RK2+.s *;4ͩGwpeH)z Paw*I"kFlݩ'Q'k %:m/E |.Z4Pe7 r# bǷ7 ?瀊 ^UuDP_m4Wswe8eF@՗%=='Zҹ;-,`H7 ߖTGߠ?P=(+%Vv zbo3;3Ph侶k#㧒?I$P>)LksHghtyb V诽#VQ)缋&M[:)X_E'}6Vjސ)H s71;WtZ $>,l}diBl Mk&д Y>9YLrpm귊(Y7ɠBuzUyx- L@j. vE8r?IU͇XYko tmVؑe85$3č~QerR99FM?k]|gc&&/Ʌaks_b9|縹!oF_B[HZ3ť 6 m^-&j<]Hc4aڇ%W{cI͕5Lf䵩4y6P?ך|;&Q':S[;AB->h]n&&`G'iy[*RʍԤ#1$]>&$ 1mI]EM>$WF EQ ⶪj(9ily$$kKkwGT|~2NEz8op*,ut96.8"VY]%Yq\DjN0)EēO8v2x2W bMm{Y U\\?JOw^MHtNG poۇ3# N@ TFP٥?w T /-}.r]1'A WHGvL.tsV7T`aMU*W~KS@2x* Wl|Gg^ +[7 >\tisT`[*Ɣxxf1}Mscj-k;{qu~ZCpo+e]Á$𺕨OTť(@{Spy1|S%X:҄.xNYoP0Q G˧ؐ䜿H/}HtNl)ڃqfzON'.,\seLzx٘bgn>Z-%,1v~zTrִQG!*<U̶dIr"%ĸpcԞ}LϿ=aT.6jb-DMߪiŋ xj 6_xBW(51fS4r&}M|h1}B61uo܄=-%M6"G == R=;(-3RA66O&kMρ_t/l4I{c FjHζ6tFRT>\4^MB.z][!bXVnyxI~KZ8OI"ע>u,8A5 'qPp#Ӹ:aǝ-`Zk(xuV̮OBI?VJP~=T 8@X8EOWE~XD =6d^ۖeVOee{{!C,qC1ƐT9lM?q@# 6ɌsI t6 v.X۸?,KΆ}߭Y!HK艹sQTv }Y-C\Qx\$.9qAFmg<# B?!H [ =ē٪,RpRy]FJÓ$2jƍe{ruNfëjor\;4X0LM&DDG&/&UB; (Q!4 _7| 8/}ҕ/Cjs6K3r6[>1͏nޏ&ScS-龘7$8wJ[.koNc<ԅQ [ 5n~}GS4`@_@ߜUp>pdaExฟ7 _iټњ|taڥ:+Qßį"*ZG(f].r֫Ux"Qi`EAqʴuLJf #g CRՕ+~ UkbHS:3y_RI,1 R*ؠRaI1$Ry빎݈wΩdt$mXo\K=3e*7J`ƢA_J*נUl?Eg XHݏoԫh1ZGX0}|́͝E,jϵ0P]`åE`E jtVW?ncc't RFQ-~BR8jCTKO%g;m#1j~H<>a,##esvX $mEw5f$* ]Lpo/oxr$+wcTf1kA/&Ng&~w1iGt績?S7OVsu75=L,T8PbA!uƶ(ۏ"醟GX{w=( #h9Dj+e?A<K5/!ˢW1[ Eo]&?5[zԨ~k M[%$nf+ʫ,[!X4qG)_9n喑yP\tHrZqzM*1M䐹L.NnH; n`k=?,m=tMT$9ԔD/it ;ٔ[y%Vzw9eh%0;Q2GR]O2=X<H}H.O7ِFy[#,&Fut«`d_&h]~/gy9ZdM ӑt<+!(V5|NI8 Ўj"U8=ȿKo?uGlH;1i,m*.2[~P yAbM*¡fi(ѱnV'o:pl*!h0"w1[ܼj[rUYms\@*X4:Hzt2l69M^`[o`;<(͡>Q/q ٫(ڣUIzm݅eE7'y=iM7ng aD/HQ5:mD7q* hP#8b*k;鮊#*i*_.^?M\=`fԟ ,i_Mm+َ`56 k8DN{#V#p$VS׷)4ŴR+$QkH[ǜY_#cI2NS Aޥ=Bݮsx|wY<}N¤Ϣ-7O(-80}o4F'ڧ4|]4@ %&n-+`h¿AyW( ѻkE۸bqpUmC%( j|26/ƭཛྷ4iZ/_9$+*=O,ϥ)PY TC;(s$QC*#(}Pk#7rFI:hz+-"Z?Otׄ=ۨy)1ÿ%7!Рӎtm͞ظ<6?EuͿ vS_ ?>62JHY+ ߔri!dwMz!B|G(D5M16Lӡ%`ܒpQ2407^w;>ܧsaS}TFQD}}VTwr{.ý~B2pH ANȑ(-~1rr@`鷾T0/;DV9pT9qtӫN.y L֌dpijo}? D+LIJX GvGmg9@K 2m8tWzEi`4G#sFQic-5#ѨY沑j uض>zsj9SUMJ꘾(9}F>%~ƒ/3H8zX#xTɐq2L;,GC $LqC$mM쥍;.AlPra- sSo$ı\u,RJ?_F"#Z ,v식WBHs Ks`6w_s!'I?~sd4 yDYBJM EZrl#R=q*>BB%LY92A[^ϩO2p9\82 iJ?ù 5ތs>~KC[0/x^+0oKRSklgRf D <50Jm_$Jo߫F~U%S!Ö9&G#N٦(۪"”o˻t:ߜS%AF WAGm*]pֳ6(WKڻ^EThUM~rC5~sX[B$~nn+/ť?E'Ho[[2p8@{_:P-bAQPS^ y}l7X ~k@Ӱ9Dʍ3`Q\f.5 S.`[S@&'eH{1U`;$Vt`l[K/T*it+Iig ] kl -ȍ8{,("0SS[B3wsm%^+tp qC~GA"Xʛ\Q+HdO!RAiBv.Zܳf@i/Ę~[}q+F[%\)tiwgfJ&q1dC a|'AuL,Z_NO_G;&6jx.~卾:%) )g>鳄oKGEe1E3+[h_hLrv=_{P^eφ$֎ۉ1dIo3:_q;Cؖ(gO//,R#Р}(Jto- [ZߣH *,@Pٚ5T>:!)P*zC1N3ךG[]!P؝tD2+z( d5-pC&$Nq+υl pfj[#lǎY Ru])Q {hsDS ]oz,K p=KWeD!([{-j=jfTz*fYmRuXil.Ija H_J }p8!=mpl1,CrTFX0$R:  s?ر,BBJĹdn-^d*X/qMeۻj-Ѕ?ouhS(-(75k66"OyJJ#r}8G@q'kZTden}N9^h &J LS_W$ӤҰrq.g 0)dT54䔏YFRؙ_̋ ~X$TOPJN\4捿!YuAW͊<K, 생N;T 'K e(VP-ús3@ji 7rߘ{_GffdxtD1#~i:[M)Qg:TQ} ?1G?OXoهy$ E9a^e&x|l"dnB#3 Y[|kN(F͋,) } Ci$``&I:/yA%KiYE[!!FQ&W@d~{ez67:O^ cI^ɟ6`Fƺl4Mr!4 A-"vw9ʈ!N8Rls/Ա~I3}_@[̮:^ю}J,$8C }Lt)Yg(8&F?j8.U_r|EӅ*v6,f?ѩz00w|81 /źp{Td9S`@\;njɔeE6ibѽwK&X,oW}Y/ZJUݥJePφ{lI,t5qe|Ӻf3r@r1O<͊MN?+9كfi /xcfl8f_?,{^~v ?HGOj٢W PՅ鿿"wфv4 ]#(ׯ Apbj֛tF'/r:(3~} !@ys(ϡkkiX F4]RЕqe,2:SZ$R2pqr9kzg4:`?3]cՄJ)*ǗhwXErtPԶϲouO)^fsdd.jӹ/{hƶ,'%UMnc7$+0KQHPk'Nfx3cM[VmqI癋ұ%"/@q6f*׈sʣ6b蕬QqCBDZc*(U@ s5%-V(ޏ%_`=m68Zd+5U0 {Z Sr(iͼ(^XP`l}ӎk"eGӰVHzfP@rhul̹U,6r.b-UWܓM)UE~-LS׿c!%*87CL,&$|uN^U0K5(Obq%7%; T_ yy\BHt{%;I_)|њ +>KP)=k;C̜k#n'ySD Uw8VFnZ&*Z cCC79țۛ]K8\R*o6؍HԐxSЪ]0kMQ bʐԎg?I 8pMO5L6O`9=%lF зde$ऒU?'YCC҄JuVڕ&3W;r[Ʋө& *FWk 'ttfQsE*Ǟj{ʪƞqHԢ)̶j "L铣wL %~l]ڲ(U]fjՒꡆU8y ]L$Es&Q TF Al0[%^ CO]n՞r•=t*cp9~FvˣJHH0gĔ5BxM0eXü0fMlJ!M&7Ҿ5J!vSN;PytT+1c&' v*-}2}o{|pjh@)0'Հu f@lۍNNTD}W 62ڝ~;]Ҹ쿋vzIhD.!B8nM12k}{?U Bz5p{b7ȟr.>㸯N`ypo[YߛRV-:aݠw_hbߋ}4E2~J?]Z=Liمdr~%Jz@5oY,ŠQʿ-̚jqlKkds_?_)QN>ދNa-)ݸEBe" ^#q{)4 6ó1*$a;=ׁ_@#ܿa sQOłȺsAJ/ˋ|Ѯ‘B+g6ssôA!b+0T0 O׵Ib̓+H[; cz=>8O^}b+u="d%+5 eI΂3>Y|h@N\-[|y9 yՀT>}n;FdS{K#c?Ijx >=#]lyY\P#+HTR>(XXk t -ޭ%u",6]ofV1GA}KcEݲ֌u@TeX |.G[u* ۫:o]/92)cA;*nN5J dFq˨<vĹo Wѡх&~Ls| L>nd`HoB{{Ǐb?WaeyğNP։AjпOvd Ó"\F+"'vVlSbyt~EheEYv%-f%}g`>}`.~ɗmK,Cp8n\Mj//i F0qX3ܳ.Mϱ0*n;TJEL Q4edKZ@HE,zzoinM{( $-9Z 4AHnj:E&U3R1JoWq"߳sg!wD& W1T^7.vM#|B_͑,Kt(4K.\_豁#l/reقʜ];"^Rd܋ņJhw<ʍGܫNX<]EAsOe6{aKHvbPI JoplI@ UrJ%`@%c4VA? Q\mQF$f*Wvq쳙޳X%y縀]-J20f̙*lH1^vkf{Uvty]pg lPpukPD$j=7beQ@o!5K3^czZ9jo/v>f^"hᶌ T"Lރ$W\]Z%2nxx[p^jl8@K@fDsXGt+pOTT\Au͉4Nm:~j=s]=eѨ.| ?oo| nHx Bn4FnVc M3=&k+WhX~aDwQj㾗WaglDZBGC(WAKiL(PvgGϪwSrc xs`s2 97HJBs-)5Pk}4 R坖-`P}'ud;A]Of\ Hp7 +/v 4[ƒO*U9h3@ٵV/lfo}@g_(/-3a |R[cREJ|ɃV]ÕD,%di+c%I{@l%p- q꽴HK<`⍼Uˑ}{5*)J0~ʁZN/zv3ϣn5*1#/WX$zN`w63bA2W ^Tg|o 9, *{:'oZ]fG"v?,9 跔. ko2X|˩8̺adF|L-/ ٸ9P$Cב#d/|'IIUP |P gS GV ]pMfǻ}|$(FZiMvŽns[Ej_LkߏS2YG߅+["ʡd/<[AgaߥNENnA<;i$RF*}Rt ׳;g̑zC<QD~`*T!!Cm@ 1L{83S+woI:~D;"^TxϷS T{_ףq tDtV&^::}O[Ӕe*F|9ZFD)OcQf,SUv 黔aVJvbv{1 8!;P1f{[w_(S/T5ު~`R[R1w:VF/Icnf/ D:(h}(ӿԄ˘٥)t_N`\nJH# @wP'MQwqs?s2ԗ3(ь "4w6FʕǑb6i@ႦeCR. wO{TZ rĴiw/ЕXWckJ΁p.W,]uU@2A 🏳CE*IAR(~vai6JvkTaUv)vRb(ku,W_Cg,Kn8ц+će@+z3>a+@!b&L0tЀRӿnpt%ffJB0DsPi+(gh,чo`Zex2B"HFZ% p_s:"f@&A^T=nb+=VS=q#9 # \̄#Jib ouH.!^$1b pЩ#Dl[_aXށt91q`i 芇xj1B5|ᛴ s(BlgfeH)#asT;W墺\ִ0P2:SE ;^H8'Cok`{ Sud3  #'OuURŀ.(6įq'5*# {iH6 y18/2sZBȥ'ƿUdxiL \NXI;ܻ.I l.s:ĹϊGٜXX߬nm0p'ؔN"J^'րcYH=S\{t_ԅxM@%D$96B.{J9eCqcO#Z:;8} /{?*$NGC}:]cmtk:.sɲ  ܻ.Ji!S9?,=PaSd><Ù%V+6YMdg&.(yATx?vFd.OKXA|圫)w@D&mfAxʋ0( l()2%J {)"xAF>YUϫ]hh)Q(OSojz2B~cMQa;778=PJ_ 8 9 NRMbYsU9jSxI/zzOE}XT(f| H(.c `5-]`1ecpEǹ Fܻufգ˲wbo|^گg^CY˻[gl)}J+[R_{@a B >$Ԉ^s^/ntc|zMU֩ j3 $ <svdanr2;fZ\lN$>{툺2O/0>/aKjh_`ury-7Lh%[1 MDS6SY'ќZk{wݠ+hbշW^~@0"X Gc@?pyi;R2wӅ qc9KZ6~7ׁI^U`kFD~ < 8&Z%4@>&jZg1g\HQO @8%>CqU Q'1n[ADbfa.L"C0)%Jv5Vթ'mp$R x3/Q iʏ{ =׫U :KǘcBd[g]OfKJp&Ƈ+z.͝{de9nVh޵vn0Xq@vl\*J4ߋ^m?mdA* $"glo)&^1BfGU+[&/ {X|dټ@B&2o!~Q߫nUx;XS5xF}fF;G|)el,_C uMȒkҷs "4Gq "qY +43bɬ'/0-]}/G(g24ZN'Y;o#'JٿUR{|AvݺLԄ?R%Ea`b9(]cQBs%stSx9+(}*]B#K?|x4Ƚ-n2QXm4uQס07k/e 7t`ɓd0P wX<:z3ؤwJ9U(ogafP7Wbg탩< y<1$}roplyJ{=.eBoSs>Um{IHϝM+OA3rۓ׆{Ιߪ+CFpK ũ(YfF' .2zs5ÿ.W@*Пv/yƺ?ƭ{E,̍}5= Wkyl'teC-J<΢5 TRM_YTBTE> W)2vuT)c I,0-yJs;cC]+(=J35D!жLVl*a &HkkiK]!7p WT-Iyy'@<u"*M}|Ոtr&uhKs]Z iUJYXmq֢L8هGҟX؇5 pBEPH& 9ǫ؀>C]p>[<~5VTމ ;_>_@jIy#>kRVOafdlTYFK5$_(4\'`ۗD_+B5S]>gL4E$zrѐU=Xҍ5Jjdyig2r΄b0Yx(y'30_{++BrGce"=>NXf$kMߟ|( sOIL:K /vxe3t4ئRϊ%2Ӛ*.QTACr%uT-jgЪTkQRr|M8qgOs"1DpҢM{O0O5o^qᱬY=;˝Xg:8C$fu$+.Dz9S@}I^+)BDWL2}᳋vg,HO$p̣+%.=X pܪ6yO"1``byl(evN5OgI4dWP7JhzfŎm1!&ȾǯB/뱱[%jf>֫-y"E<4=N(ƨ دۀ= %'|PFzXTSʡhtza0,@pR2vD~Ȧt0`5 ws @d"p.ݳc՟ۮSd~ҁNmB1o*{f9và` hoKY 2PvM4cM:Jy3̈P}s` nʖw .t?'a$8M YQr LTrBfH'=UG~hF q?'Y]#*K;[yڣAax{Kr$"\yqtUPUʿb{Jۋx~E֋f'^g3Ǖ Ϗ*+xwt2lܗ>1qv|A6ϵx7^@wYq$# $lEt,UaIzV&ABZIeŨhS8.I±/7= eu}1j\!-s[^4ZńzGӳQ3Ji:3/GmGKnw?ܱҙ IZ1\K,DAy\yZb1 XL PCJWduZqp[&A0p)j84w 7HT+LN|~XK.R$ Saz:7$<}qݻx ̅Z/`ƷO!i͊/tUNKD$I\Ob$IQ_Id¤&+˪^SͼP|ex/}VZeD4B$^TB@:NաA$ Ȝ 52[Mถ!,A9#I,+ |֥cAKYQYiv2-X6qą w蜏uyr?@ oBD6ҜĔݤv*_d]±{gBEPͳnv[!0o ަF-qcf a(GP \1cJ꞉C$ͪ"jW(ipiqP8QԴ'- j@|wݗE]<ϖ,tܧ@Ț69 Nd/ZDP5-f\.\SKa"6Z8%\h΁m2Y*Ev05uNjr|%"]O%{':43J0SD`)rwObK"'!VIvW~gwᵋ=8!edIU~/ف~+?"-~_Ic_,ro8>R9L nl:coo\f@L&7Ƀr 'C3gMJRMy# ؑYo7v՗AFjmsK&1Ҫ2I睌D;+"[hyHpM+O~`]N^$"5.N9A3zxoyC/O`eQ&`TP8*,(1PjwrܗaU |"ޝ)$r Nfg-L1#xQX:Z Ѓ[Ro@Kh_~+hNPex\~,\q:.=VJ~(bbs"c"wtef:Jm=~tCBWnJ2l)t;(}5el:QJԀc.U5;`?ӓ5"Peq9`"!P:Hf\"DkyAA'eEyM(U܂dNh=ED.*{Ižsj$-[_DĘ7pP;#&B,90,Kʅ/ $#4UA]Rd+ ~ʽtۣބ_77yP9L#g)!e͇[MXr]_DfRIIG֝>LYmouN_ W]GR;;VdS^p'c(` ~9>Y۶uJq%h ?XNOVɸ4839(455#BEJȮ M ;h7u^彛q]\8q4qCfHncU {Ôeǐo_ YLبb; 5XFk"+t8A:u=VY;5*:HN3g]" .}F3 am:{/+ t䢄Klƕ@,,ϯL)LӇ^WqGe4;2c~cN;$q9B[I`+^g ~ \9WLmU V ;U\]Y*U$/s,zW/ajXoCk])N0 ixdki\:kjT\9]oXeV G6A+6Bp?񭇷$Q7Xhf"]u dUAaV.]=o^y˟X{MmӍzpfX\1%fX3`<\lG ͍>T LTϏE%S 6C9i*fT{ XRo"Aݗ).a~T'?oئ;Ñ8>#^`%]fՒDVϜ"&`?:52y]>iݬ4AU>)+t-pce7.3僸2n" HX:atfKIs"Y>*MhCD{`4{a]|10뗾5{Um38J1t;HS0Z ˖p T6V!2FiaGƞiEáں"uyL6lX%naiI+* ~.@2)F']S5_QRs6}B{)J{Ǿl1$:[Q .,.6V ,U\Z!F3";IJL>'~1Op/gW Aza,˞-q*q |nSpȄ,Dc:U֊0-ԓe`=_7 ٔ\f-*ҤIuRdXؼOD#|ל#[XXsWvou :V)M)Zh\.l~);x҃RhFkUayqdʻ˵8Xp^U:p `֋[*6os@(pfv|>-JçlQ&70ە§SՒ%s k?".=TFC |M)ho٨!tY+K'+q­mZAqKPб'g1A1X{g-aZ#GYE#-f5`:tu/GXgX=4XlFQ@w>n/|οWG6GGѲjO>;SrQO>]I7!g7b LjjgL :~L?E| .Kqu(kN/;!=n,ՄEmyeUt>ΖDHl%Rs2Kw+-,aZ_%f=tsox]tAF-s{>]k<Û4z%yʠքuc#6q!:5I5"F ia:s5 q~)}Ygуv%bF3\򥽗mB=(QTO6zv1̕e~2S0 D9è.lGrM?yR܋$Ҵ'&ӟN)TwVM^X͢24F&3N-Z۾`_[o/0\Z\ Rػu:"ʛnm WL2ڏ-r |(xĄ–,?bBǢZSQ'N] }/}%)D5b:PΧ7pb4w \:/zWn+C*˖x޶Wl~o*Gq!:=Ql-yR}krLi蔌tM4M`ҨNms Cxӫ9Nƾ2'ƭv=A^jNK lǑ>wXT'A5` +xbTD=WyЪL\wa{MGxN[yaiD>E|fO9 @70:5>gÀ%In0kV;c@$stxiHi}֑ /cđ:9uD=>R&IR .xǗJ5IgytyLH/BňjѥDe\rCKS,CZ:|V×rPQG^j fjT?=N(oUp= F^LO΁'sd&*fBFEA'g-#uL*Z&A-&z 30DOOsm>t!n<Լwn}aH[rְA[P$mTrxOB@I-Y['{PZ ~HKD]m똋k8}6<zēd?Ea)/gQ> &eq(.e}@s3HTTU qJ2`j U\5>7 J*׆uWhU< @%*;١AW^{x @#^xznhC&Qox7r(38$+hƶnfs{L)OбM6b'W~=ۛ%1򶬣YssapRnpHuM#8<'׼l;2] Fty)I@y+4U_Ӭ&OmsՈq0NhVF3dBI>m2fycg'!;51k-}ayU~wV9DFaAOSY=}t-sZS*e4\THΌTaj85lw'MDWr,70OxKЩ gL3du\ &%5 L¬|5B&hKc kw+ 2 LO#<}$5/_͑jUq|'G6fu V(J~7EXw? =g9A#b!0(QQY/2WQuM+iG"+%a.s JR%͚|2$yɀ~tc`ni!HBѾnMI';A?khkd)fo@Bw@GIi#WKCcE\83DW4BMHm"N&).]6q'g])[8#Mq?LkpmŽYƲoM%?\x*мͪZK4eZ߮%0\~;x-W.X&uP _A@?㗋j9`Jy?<È*oqE& r+9|oIĺ}&ܱMBIR?21^E0!DcL)% > Ч)wL0yp.nG'OIe<##wjDr#csrZݒd0/}NJy]hmU٧&8Iwkj dQJB%S"e_NEa^lPg"T<5aJGZ̋";+dߘ Q-jw?#2ۢ3:1;]a]Iښ$#qg:4~\׿U)K*׃{NO/RjTӘ쭙f&tsE\|͆_o> @UHd*Zoi5yn0[PA_*|t5I^(|SIw/f9rjok~z"Q| ViWZᷢ!ȰEHn7r5e|t NUpN&]t^].X\m,!^|(fP}o57 ذeM'~^Dw|(ȴ&q->#ت ïzȠ= PBe{#QMs:ڮhze?sDjSR$ SY;GY5+W3l硈jF[T"wnX3_D(l<{!Ut=YsHTs=RqC)ԉCz8_HT8mg\ifv,vB+G6=%k^1b@YU@do?)W_RsG9a_ot8Jp`]%e_o:Po_;qFsrǖ\قox|j6a0GVKɳ^{Ȃ.c$[8R2QA3^4YkSVW,-p䶋+^z6k?qmeXrJ}F٬#7wQ3*9it6<_sHFeUtbPNjLf/dM1 P!-V:JrWp1)8^7`G- /Re ʇI7 _4GkJ3f^gsz!=+Ɍf[ ;eQ&ܜh 5_V#(6Q?&,;dLND>=dc\A 1Br쭍jSe/jz\J|V*x2gNp!ĘoRҗF&ޢb~QwO|z+2Kܣ,vhg4e%h<+!( 6bn܄g`%-רUD=gJWXG+8Ԓ8SVJa!GPq/_V1[̛xU98.V\jj8Ejd䯒"?!YU&EZZ" pFftד0{{ʷsۺirE/G~e@G%v&yfOMy.@R[sJQU))=ע}Կ@d'@iF?F|6ЖUّl2$U{S\{3grȐf‹|K$?SZhjD@Q@@'\>[&d#iml4MAjo'ܞ_ z*:Ni*lAsa}X1lZSrӢwIWRpԗY:iv6c}p8jZ/ڕ$ݛo\NCYͽ 8?_dfFH8t3JmtU\;_\XGE$졃aDqJq(1M' +wԽ8b!pVk{/%e t>ÖN'MOƈ: K\Brq΀{a: ۭ /N l*ԡJc'+pH1Qp|@>$X&El. $6 V8N9_W|y4uSo{ފZ"Y2t2 ud[,׫շMe߷psyyY ٲ۽QXMkf%i9vnNv,Tl_ !S计2KXi%|'Op (Pǃ2?шSc@ǟ^fE1'~۳]A:dI<5Mg Ρ5R[.^41EGw:omt`?iwk8Ğn#W* ˑ9# (o3`]Ey;VD GZRf Kƶ}R%TӰ|nG)KZZΡ8K,Ig +J*٧ݰm*K-]i`h5G/A^QJ'On&Ӷ37ŜT  ""{ټbea^E -<zS߳;(z:#;Q_W@<7Ӄd5m !aqzc<NH]ʸ[\kz5<@tT,C^v "=@0<:K;2]X}5k1,gηo7NAz15{]Pir8FФ[Yv)Ls()|A:)c .U'D0qlgkC:o`L1[(axK` ͍We-< / (.OftcH?c2enLYBA|cuWU%eeT`4T ]A@}7:u6|xeZ-s8Fh@W xu4. 9ݲo_D9+%c$hoɐ۬Ω?Q}]eB: !nt6Yzv/U?UBcVq9֘q3CU<Y+-ۈpwQ 7`pZ1q{3try/iF\\dNѦ\kˌMJsWEUghGb6 p)UW/ȷ`1g샎25QHy}lGsj' $gk|Ws7ܯ,+'U2$XN iWlP5y$bFL? @gE pe|(܀+ǖwí)夜B=tq~I܏Bc㵪Šn t"t*5 @.:^**@ܺL(h$s 9(q"Ji)o0E߆)_;/ u &6<@)qgfEQ&4]5[QSJco!ّgHD턎koH$1^;̨~Q[P)I##Q'АsNxM[uxco8$z`>3hIv) /yL,i5 ȸ>ϐ5SCtq0*j2 2]#g랿muŖ8pc)3w ەOg5ѝ>6հF%8PidW >نI$Qh1)*@(K>3mV~yVu[`.r4TTv9=m-_9"lJDBtfMlnĉw8pÿ:CeS@&1-#]?zU\-*pZ׌"8)j*RA^sy $ JPzՀG-> L[_.PUSY~)THxe4Tl\J[$9Vh*<+ahLlpG?zh??}Z炏?Dxj4ߎD:zW-yMiÅ9Kv3H'wY55_#'ϻYr3e9L>ubFLJz8=6mʩtr\/w Rki$YH>d(vI 1K -Wp}~o-7pɤ@BHSVkW1P۷JOwGY-\s%:է2o wKLKjyuyJ5˒xfpESpbgn1il>SAbͮ[Li(LxӆW~}cfo~"q2,Wjò]wI؂H%iއv0fJ/TIQ 9)g b&}cL&K;uԙ0u:SiЖUvm:{eMa'ٛ; p/:Ec]W%$dωwePTyY#bEIb:tc_[C T`!Q3xe#/)5-O4fE`=}J q~*v:bXM1h ,CM+CR(E.*~BXFH~QEGdNwF9q0E\9?T$yӃiD>9QŠ[Դn8>N4EeKjinGp8Z泸omp.+ * B(Px J5(PqWK^9X"Bǐ9CWUG>i5η8 \?up$⯺hJi'lh QB'Ku7UoX"*Mܐ^Z g~LM~Lbceחo".m0vo˂J}!v%Ԟy.k!h G+cš3x>%~6_)Zwv6{NIX36VIZE0GVK-+1fwc4K?49xAQL3tƄՎr"]vHjŲ&XH*]qϵ$8.ȯ x~xo!_r.Q9DHjF .a?{5]b/[=Ȱz#+LUIO_'gF.9!pd@݁vb7Xf¡(9kpJ\\cԕy*.EI܃`>Z~fg-hY.Ju\ Ռ=nǺ>ͫMBzJ0=H$,NVxd_D#;hJ*ϹwZ"_'#X0tWpٟӰgegȤ>^I(Y$2-̻Rɗkj\@;︥319e8e3W ؛GSNR+3DJR__Fzx7 ܣ tυD^{Lw i:ƾ'ܮcd͊ %|%pEw[VNۻF:(ʞTA6eM(ס@\#,hYWUTz2E3&E$M ;ufEMq|\w<+,*P~ !K-;L *KVmh!PR@d1GDOw;I!b8ìwuTbm!iajyj?Ij֧6?PQ9'(Ĩ5tOV8& \]YCYWa{e},BmvI}!, iDY$rIprߣOo+cKSVյrњy&Ȕ)/pj*OS@ʍ~̼3KGH$uؑs([N9(2ixln#>Xl4ZZ%68ru'Oα%+|ږdK ۍ %kAt-OsV de*5Z;caͭ.K01FhbUI@ JgS1uԾ8oc?>T JdeceSl6Jpa9h mg1v\%qu0 9 (IKdyC39$Bcf2K^l9΀еKPydQ0&IhAyQ|h0҈y)h=5qn?jHQv pk~n'83׌!h<]EOt:x4dd\Z&1?kG'/>mQQ}Y&XqxBzA ?"v.kOyЁ_2ad)g %ڽ6V/DB>Rj8AkOi字xD F /X,5N깳`LvID>v)]r}d v{ϻrxSU00=bʼn.Pu5N :r1qc$zY1ze/?N;gw=cD֙}uˮ%z<ߠJeoCUwu^^WRjS$AT֝BLCN]Gl23')PfQpJqLQ AX:czPhPAb%d˜9TRX,2M'ح%Ǭ&VvT?%}]v>(Ԋv7nSv(@+4!'2"/F>xd3wV'IX s1m׶m۹? P,W(2 6?g`> -'E'F֪n~X5'1B;)"귍uwGy+Nr}&ƃ(Н= SHv~guMt`r&(V] C{umA0Nr_ORi0} D'ɪķ!0bRPA3ҥq pdImɸWx.BA̴7TwC ECS`XVsXz9MVJNG8lx{:Apнϝ7Kj~I#0v,"t I<|=2 Ĺ_ZD.%JP,fnꝼ/e]id5;%NvdLq &RҟayI,\&tjt#aދ.ym%DXu$#m16sgj-p׏lZ:a7ގSŝ:8${6棔}?}7E~]aӨ3 ]Qf7nC\')`ؤDD}HKa:ƶ[%`t=/\\Zt*"` .ӡ~9xƯ j&Q$4ϰp7ދs,-"O!?V0Q|0IQzOs%87-!Qթ5߆ٻl\[/SͿ빛:.xuCqWFKO!_%imߦub^xޒm1 "_NCh'^bd@i@n*Aj+ݗ|Cyiy< r[u"5Ae\0h8 ^;!v!Uv؄YL2;L|KI(|_iI]0q}I.,s[jL;0< uId[-ֿ`%ض{$Q* eCv-|xLM7hܸ)VJgxw>ٙm.K\: !AQN~@XPrso:LkixўqWI p!昊Bn /#91LTH'B!bD#8#»EwK.tč!)VG~hnBGCEx>^xX_M]5ztg JO2ᙗVK Mk\TwGx<*%P; yG&Vϐ,.r(~@Lɂ'9zR]B4(2}l+2K%`!X aRC3VZ l98G'imnü#߂Ir V1 1$`>J׋>ur\G[LyϗzIjQ&y"܏N!tIi@ ƮaWτQJdLg9D9ʃft7؋Y0(O_IWrK Xl#X;\X=_eeS-O%⫧Wuӝcdȁ5IJ6HV g(ou64m] s9J$n#K ~P蔨dqcfI; ]XiYA{ܭ Ϗ$ilMDFߴu5 Rx\3+/Ӈ~aqA+;SZ룪=+$d9diPu!@HRJz̧ T )'f?>5t$_"O!@6߆<ώ0IV xT=*@gbHӱ !:iyfk?MO+0lGw]:JPNupӁ= t2n 1 0#n[ITIwc ǃJ $PO ^o*ax㱕znnyl'X7Cۥ||p:xLDyKq42xڿ.th@ʙldkM6wa+"hsqϸ~FkmnSFv{ d.0qF7@bЂD )v #qr=yLfZBo#݄}X@ѳefN(CXh;I't{9+}oxFᡅaٙ{>-rǼW K:&BQnwPʸkAヶX*Q $+q,/ڢgՍREH]4YՑhWȪ W?IB@@V,X̹kh6*Vp zr$LaXg_(٧Ns&s/Fwg+N9A{):?p ,  9j!v3׹xhr=l\DѵP,`PGyJ<@^@+Wy7oVSx)Y+W-L#q,׾E+xh2Qy!E |e2K^Ã`Ρ>7Hбc7[&}doH@3^:WN₦[pHibuZ?c #H[ŗYoТxB53m.'u_%Oaq+[ҝXxS}.M? 41^H&Lcvm*wk6쓂B`vVo>L2A?b218{~M8Sw VtɰlBNaX?m(lf}]+`;s_V#XE "=xO bByBo9uwG7ԎQ+ 4*:1.4Nޠ/בYͲmdR%_.g#=o:?1ZY S5B>UReL׸(N>Yym[+2hQtK[dfd?2ۨQ]O8{ z_2nN 9zik;y uvakr6:4}4 {sI+{!K%FXq0 =[%ӧ^Ykb3o8 J>ZL>MlS2 FӨHUY90S,JAȢiqh\C~74mweL)hO |mVu4ڴ\0[f|Jp'oo$b\ \B{%(鳦 J:ļ>\ '/l%+A`緥h=EGhހ&#Tt,| >>шq4*01=a.kЅ>P3ηcW tHشRqS &^f}6F;[?œށ0=+4 [p+n'lLIW}\1 WFBS+:t w1Sl6k H'1Qi* c)X'd;{ jJ?>ӉS}wL@R~sbPbn-zk#^_I?&"wrrZt*0bG\}渠3 f[Ǯ HMB~]Ѓ8aʔ<{n{4ր/RI P}$Ն\(g{%< %Kuf?\3G>5PcVC0jAЃVKcVrBsQ?\n6R@ XLI $TΉ{ \}lхY\%uO˴K(Z%@+D;\!mW\}WY dĨ=j;$ϳj3hUFGCD =9W27xŠZ<""}(wBîwJsY̢bܩ5mЃUzbNfslÊ 朇N(i3ʊcȑHTu90*y:.kaO7PZϿe:[7硽oU|xd츱MK^B 7LyZ% 5;Rn_Z~ݭ,IfcpW .:ci4QS+u9X&*1pc3V:Ǭٶl{YK_GYvcXPUgɮ yA\ӲP]H+b̃}Uk|I[\'7J%n=XVuo'6PJO}h)A~/cPJx r^ڡI/_8  +a3yw>Kw厷(jөios"g(GK~r}>^)I$5mW T] 0υ pgI:(&97K5 F^2R{D mmnGn@`?87u%^BDT\mʉ)]WVclcC> _&ڡnF*p_@I!PAx037O%l9w<8We"BG^DΡGuDI.)y^9N"kr=poRaTڲ3tMJ1PWQ!Rmǐp+cs4$c_K$s61Vv:4OSz A>a uJeduh,Z3Cڧr=ۜ5]* }c|݆V$FݩC.*{Bˎ]I=X„Y*oBߵ׸ԢOMqA:GCIOeaGKjtPBOBWe?lؿ$YvV.Kzǚ!JX#sJ^fJ mW4Xe=^u΄܎>Hpf# \P۵$|<.):V$Q4T0ŃEI6+f\ئ10!,?۝lxgL fɳ!YvBjhWx j'Ny.87E+A%྿V(Nm;0b؋Ky IN[ލImCb!BAAZweUcriSYinX1>rk]k"yay \2ѓEqMԝj w`|jH #*ZӪw;8diaYsSI0ʡpBuqCwEx8nh6iht UKYA;YkD`\ Mwz&4'Hk11g1+p _@z.P>,tw5@H=!%8hݜCq){B]"쨽66,DmHf9"IO<E xG/S9+O̧u8]f{ɚB|Txow7c2a j.ڐ~Ĥk[gk5%^VHĪpqض ]*/2oG]Z,fp)&qt=ߚLFXx'#:\-n>&bzTu*#ktBRTs$)0dbESh}+Z.CȎ0#&tXT$R4tv JMP7-j_t IU2;V?@O^MLd>|լG2mƙtR:cA)c6mWI}-vp9nFT&2~#ВЦ#ANfZڼz!\-̉0(]nOVD>x.>dTlz[fP'H\X?b4FcOۃEaMf(.\! aO{mD‚3r `k6 _fDsKN^^IZɉ][HA:1j&DGP3cZ1oVpץ* rf*?oγ}.ssu^dX;z^ip>P.չ.L*h~'0$"q|'iikßat_T:uX̎ιc۠˯/17ZN{,0mp f/r4$BQ`~'&{-^-3 \p"=}a %0)2c`>.eb!sZ> bȓ]+16W+T! IZ$I!6;Hfs-%3 ;yY˻OQɳ h|&R2 {!("f3"}FQs [~sU4U/q\m8au@ EsrrR1_yhwaBwQ,WAZAcǃ<wJlutQ{ex^ߌdƃxCvmKP#kJ i}W ~iO5$-ncbŢ-QK@V4DoDk׺ #kG| WÊ41Mϵ {<Oe#c՟*DѸݞAlM/۫ect#xhr9PE:'9 *@Я˜>d+^dw:4Xj@@ɶu8u6wzB % n-?Hk$M^VCVv^yUfZؙy6&sԼHNG80fbYf@2ƌQwA BO)POVxT`9& ԉ5%_J˛QļE_:8qMcˢ@EݠNS,ER־Ə2WΓ|Sp#ʌ?foJqAy`9{)oH G#k(DLaF3oQ{ VvO+_x@N>zۅȘe;Ҕ1M&am&*a\DCƧ8IE(Bke%VkuPKu,^W(-xIK.`ԯ~/u䎨&H_RyyW tCsK"m)j2|~nȕ#)JxcJ-JE!к~6=ZeO6į΍;X|5!\0%Jr6w( 7jb*&Xsn,I_5m:>jgK0)žEpuD3G~y? 6?P!ՀŠI.KQP!)ATu7yFC1kJpmt}?k=d~^^E uB[*5A@x5k8̽g]= sdQ+'۩v@xֳi>o]/  ~y]Z5+2Dˎjqe]'s|?فj"יTOQ[.kdx4qhzWF+Y.l3z7'%k`Ms!aoZ*## wÑO>U|1x0-^{ȧa9.xڟp`C'rbjc-,3PiG)y 6= og=C%wCЩ W`Q0p|+wyNn?Ӊ{shc%߾obӾDʻ|`xIS(v 5l.yҎ pJNk$ң=R  Wy Vgnͫg*YTI1XA:)_ORawe<`ȕ֪py2,*v*ب9d yҏ$x"*y[7n H͍"m#ݶH~^4PaQbZ3XeСmnO¢:eBYWW Nq qv$rg#v2gh-Ȏ]ϥ G( ,?5Փ]@#Hq$ 6۶]4 <@ lW'%8rV*J5G57JEPXuF?%ʱ枥DmCoF)vsay`ẃ0 Vb):T"O_ RZb݀>6;u<`UP*􍧃_9uZSVٯ!C濃5Ũ=3p[rGo^o|R;.[IIzzwFZ0)9,n":aNẓ?r0I!Ȯu(HǞ`v#U9*ؖ~?WZ Du$Gub5Bp< `ᒮM"[6mקq® H,{1Qg]W|@7"'j)$DAVJqAwA=N%.&0hih]م g'`T2'A67sXClLq?S[T.5=N)-RdS?l掭p RO))U{C.~Fx];JszMQf]o-؏rypj.|nmJ+H1Vr)e3k>q'ShDͶx\g25jv}c{:!Ӯu\Z>U:$T̹n]h<;ߪo:£y+G&{xK}_LU`]|X5ͭaggiBeTM=\\6߿km-CķR'[Y.8P%y(LcZNBP;f$,3 n855Ϟ/\N=cg!3%y9||֞f)NwuBE۩[Sߙ=934؂S;hM-$HqG(^[Q8^Ϝ&"y>S(?vZ)N\,UmM":8rdmbq|K`~(fϛ[.$+IA6mMzKW$ }ח뼿! di7S yd((0;'P.M9dV o^!۰Jc̴O.LX[JK{}v"AɤbN<5p]? 4 ϑ5hލ%#'%^'Ret 8c]D(ZPR%i}s +`P<؈,h\*K7iDw$G]9qJ..#=N Z_H &𖣡?߭(I_K͓$ @eP Pnꞿ~Қ(Tck<:ȝlL@ב(*5@NfȌr:2;f{W%^sUOF U}o^ yV?{ _AEDQ`m<B_GڐBr@HEWT2Ȥj܀wG;@U&AE-\z \ȜQw 5J(24YOxA ؘOߓFWC[iN"}RoQ7'LK-\Ľ 3톢@l{J}_3ikɅ?-$V/Zq<呍x٢VILY+OLwIR@?1bn% 287kpCI[}wk7'˙4!(JaSrTٽB%Hiމ>xt51I)yXW lPϾ{\ˆrmbwp_*VLw J NjG {7!wr:;ҐE8t53,u %nYd~\"Y5Q*g{#J&u"OU9EJAl; }5΋jwd9+ r8E:RޯP;ADAB >N 4`WLաm;)2J'P{vB$پ Cl궽ݛj̊RTӹ d=8^kFN<(?:2ۚؤK{XY*yQVIF {o<󊬓Ȕ]0+t[Z !g>wPoo8c(AX]s|QB??+cMX^NCg' HT@uUǞje&7G:g)_4G׬yHs1"?m,-5qhQu} Aրcі']Fq׻VzF<˙6W7 ЧHuy#%g ʣ,Пl x[y]W㨹:T+lDvN GǘsΏ-KW 7{#R$ vMUqp6]7L3IݸeG|qeӗe<3R'(b'+΢Y}nKV.I 3y#'.(Gl@ATy&fg6+B#X hQг/Ul-(YALT&W?U9v^fm(iH% t ח&XE[03wmL< 2IK;NfN֙WZ".ɨ?(,; jݞ̉ ۱@1i-RR r$6b-mWGD$}٩%*}%q+~1͗MjA9{/b^Ku\0{Qq ?RWH4}jbV @sڨQ (sc6hdH`jYn.!'ޜ 8 4*cB\=fKKG-M&"dASa<3׫>Y!׽z1oc)\op&0ac^\bg9Ndc,NMZ#JUØ< UHgz1q]+ /9`rC6T/\9" )CTv;W]ы~y-ٿފ)+ r{8C:@ڦ{Fu,g1r92A+#ZW[d^͐Wgo-]fSmA: K^*2u3)lȶuT:'/&ԫoeݚ8#R ID T~o1j>(X!Q\sQ˯aGNxnjU%Pc֎CQ A_C='ZWU5f.U6 %AkfOrv] š3H۸x6P_`s9P`fdT q,:^47kIEGSM9b A#F>yvќ6dI)yXQ]ad 鎬@Vn`Md*w&8-Q.̨eӁ\y?j/=A4$$>-}Bu(beqX*ם }<z kG3wn=LmjAZz a5LnD~Ɨ@`xC4^]v28ͅRF͏BGHZ>i׾Fj'ʭ @ B>9ɰWATlW^#r-2> Js k_(HvGbsǘ ;%b/6iXP\Z"M"6F:mG7,.:,忪,/_$ ; тxo=fOk!i+5^t6(ơ6|CWg4ZMH`iW9(%dCDgtVn#wVA&84wpd/ ) )g9kM,As?.excs07eqp"`eboٵ![PeJTy\s,GۿӔK@jj5т<{]fF~:`t~>}kX41{ґk[pNE@ V1<&TӓK,!{5| E ۅZuWW׮"J(︫M?h n.au@$K\} p:j_OƭJJ-o7I;PDe*74rM,hg޷/^~B2}M\DtͯG95'Dv1]o {i;"B&t UHH㤔07N W/#9;FQ'Q[%\ޜА`'/kł 96H6b|*wgpEPο-Mtn= ^|4=O xB̌iK#_7FZtqF蒵ܬΥߏ LXJOrcA5xbNTN6m\iP"j}r2ʧKTQ;j܂hb_~rHsrFCd3v- c(O" JO{gl[z,-/,F۵H![y]UFfogF4V-ƾ.C),`.>RUaC4ylnH:=Kc7Wꑙj$s1ܞ$qhu&2^pj  _lՋ`ؑVݸfTU*!D;Kj~Zd gVgBA|(za U,NHdۗMa|f $ %f'ĖoLOG$lI#ADz^jit3Aۺj̒7zf4YW=/1jAJD=݃q~|='mTȶjd@k1Wz"T \ R2[A˭31h*ݚa\<^L:+YŬj0\[lAa[9:6{eX9NlΫbe=[$#<mv,IK%#0VCСP Twc.B^V`҅3`0407qD]PS#FMe팪|WN@RvĹrnBeY_m5d8sufbs+6&k] <x**؃SQ3RsqL1Sl\]t!X :/]褄'a.S1Ӷ2%w1& Д"?f&HQr7jH מ&VI'8JLMnW .HZV6 ܘs\ s꾹6~H z΍4e&T"/t+`OUC.VHBҙ[W{i*_ p5|cM4"><3dC}(= 8(ar7~JS%̂-cZi`bU*>uV? 9dbxjc|Z9v˷M "J8uu3` 2Ex?g^$e)r^5Hf1YBbVpQ C4W2X$QƸfWXg?kbU/-L\C6Jrr}-Rug'BR"1+8$Ғӫ&>Jpü>o -z\_/rxZwsAa01#s&6VC!yr|uLk)*,e@K}֏/Sir^52Jo'Lpnw_`.ӈ$ߤi'pu(9@j]2δAUz 86vy}+{2t73NeCݍMi!~<3)(Ac= RxSڀl f1H}=hQ@$ь7 l{ڧJ0:Hiɐ򃛜+i5)[f:hȫv\l0L}EB[f&T156ߣRxCrmDuy#rw8.vdk>l6ne9K2C 9,sT;{colM&BBNa˵2q)N XyOM&M}O u}ƣ)f zef| aS=@]I @!yruNV#X162{R/9r&HʼyLZG@zo{L/"u)YI@玺dPxW)e;po}CY")>LOʓ*'{}pyCfy}oC J7pm'+9^.q:`i57g&(ėװWb;4`ؤ N`.Vh. ntzmJǿwt\Y e{_6POI_l?ZFP ݛFMl&EњޟT :/'kN> i\r.efD}De gń-&w9ǽV?=pS~C*ѝc o"ZI ѥ vB:\5۩[|[y "ʍ2  7Q)v^"OgV"W(( 1k$SA&۴wcuњtaٮOUR(#V]B?( o }X }N !U; vF"M)6n&ŵF}KE<JjE/቏(aH`;#%;hLtry5wW[v(ۼlkj ɰXtPI.`1[3\(^/K?H_X 4ǖ7myAbÆdTZzI@x2LKUE!(i#.ыKiKe"şh>[x2g?Ѥ^>1Xu 0Ϥհ/ <)+P8OmbpX}3WhIi짐:@vL2(Z ]ͮ5qgg1(^Bsd-ʓm6 6(,̽elAp(5.)7{W] :?%5mٝ c:"&&ZX͇$U\;Dt8 /p1:(YDN&/C|#XXqpI-l}Њ!}(lqQe}ڑ^),B d/NTI-$pH`Cu*4n2 ,:rV|`~rq^.l\[tMċ1~%+[v>%a%;Ue.u&NT~Fƥ F/60iI U߱+ й+=s' \VjnBk_3)LeL.k|5榥 &qH'B5S ? |BPTAH)TGpj`?g(MВN('(I_աvk!ҩFGK9!'yQ|5Ѷt" 8v9("??K4vHC؜kɩo›NE 8RѨܰZj)fqSC%2 EX/vV re)pcbnFj*rAj~H "o"'̌@]l$U*2Z~j^*Ғ| yk'yyø&k$5Ό+S^Qy\|m Bʼno AtRWZLGeHNx#LBaF fBqA鵱 D~F |q[O,b 3-}T 5zm 6ȳ5iogJjg} . "{ V%ӞmȽԺ:*|:POvaŇꡟ <:]{!zȰEra` A~v3w2HwLW㇤#{`Eԗ#ǁ[*-T(=wLmշ\ЉUrF),[\YtC" jFh-!A͍ʢbJʜyƙ;n(Ć ;|Y61eLH@ʷJ|=)OzTAqC5'"c C`eԖ>GBmir2u Dq4_tΣy|`ϖtҘbT̸A1[QγPdE8G'oSl?г7Wu,›^]3Nh~ |.>F&lXW ?<u:}$yb7&t>CpxR< ,B2̴d*D-=GnS{1sNUm>&h{qe+\"ŋ &ELJ *WJQy;Zpc ر}mu$ dq1nhzqH1qqUʍOcfυ Ȩbe杆/Vl'BTGH X%(n.fLb3tx sp3ǴiEO@bT$?a:(q>pz`*KNG褈Tϟ& !'ەkD̩_Jī0ܵ y>)qM;I"Y3PT 䆧<1LSvŢc+Ec /=e0!<,gm*ڋJCXESŴIZ%Q?]^%ȓf- IgHރw-e/%JP0^'5S΋-&I({ֹJm3κ(hjX buUٓ kYR&=;؈e[co(xyX@5Z:/Ꮭ>-{>d>T@+"mP7\?W \7 >kC, EA Ox5Js`5bؼϝϡt#ET ¶~Ƽs}꺛ڙù:nۀtkW-+nqN=dBC o[Z'Rq{>ɩ$pP}Tr yLf02TE嶍y}g,ѷjUs+~>\{vyeE6N nͧr3%Wns%p(OkUk1I5$NRy;a怖HWg~9j=j6jwd؎=dAcFZRna7)P_І4VG R%BЯS*p :fڇgK×2Po6%1<Gm,6S=<nOnt^GML"]ue"tn#YO,"؋nls!gh,pl%8c JTџ0ˏ9+mlf^b/<\~-֣LZ@? k[o&U)]fMQs%12C#avS?oTc1d}(È1B4P8AuKd<󒗗6 Wǭ֡PCM!;hhمkZ1[RbwsORy[. 4>J9xys.5m}%bBk N؟vk8m6}>?R ئ#AK=Q`un$)n<Bע gE#_4(c$&L*3I{ByZU8m\B[%/p-|hF1%.X] &wY>{%.']'{'b)w4%lv4UYblEFQ|#+=mcT*gal0XS=;SfMmebE6Vm+%ewuEZSy$,sj,b5Ql'l"GeQ(nD%6Y3 RFAI,fU]F] )xϐ4%{h齇H%ZF l1`Ҫ-pHB^ #'i^Ր~2meV.2}qNdԵ+Blg3i\&Bql=.cp6C[F s)5N`6^Q1r2Ay\@0`u' طT̛yHݵ!7?_h+Y꫺VhUp:󘯜4۳`/:1^Me{E ^m#I~hIT Fgˆl"&2L~U._,,ɁÙV6kFqg>She"|Z >`$WE<ċX͌\O&b=f(̞κ_5sc]kgo"7`#%A|`}/>$%@ ڶN>m 4ЂRW0ZbJ67؉1l:y2DOd N 0`J 6Lu _3&5{ōI_7XMv2Ӧcoi#/v8}t;ꂓch JQ&*paWVH(Q, [=7|xԈARdRz@!?m4<@$b 㹝ad8ȵ}!9rcC),Q kkfBL$0]'`{1R4cwS: YnNVZr+_b`nDsfDQp>?7[c~meslNLdA3GA՜1?\Ƹ@1tC]jBJ.mSC5eFloK>wC cnHM2Qk$YmͥOԽ0|;:ޱCFח(?!V@Lb&Ħ[5 JN3V,/ϷUBMr] T80 C/d}od%h` IV%H5vE*'#8,h 4y:Z 9]={@mB]QP1t#X 74ӑk$OG|ZUU7.. S; @A:d%ԕ [ Zno$OrJRC~KnGm+O,մM肋IP 4\ F8X#a_K}pEuS-Կ`Dka{[MNR([4y&B ӺE"쇤3T]?d1B8X&H _MɌQ+bCvuL׊'B!k=;!*]oWJNʾ<G zq7Kj^1ؼ67c]r%MZ]3Uݹ\SiL>).{cw2{{JdZEQW "y궗fv@[{BF.H}n-LٛjIcY~޼V>elŊ[Ő:r" 4קMN;Hv3 eS 5T-ko&]P<^<PKJt_s୿/amҢdпf$+QPx. :F #iGG_>#D` Egڦ %+w QФX[osHchweY}GcoB#C9jgK`ɿ2>zV=(SCA;}Ga܇P*,s;HğYʅ*9"x$|^}1\AF(t#SVm!Y3e̝ejB\L;W7}du'&}q]mxVI6PJj G\ 厾xϨ2EW b:\rL 9ǞJEIx__&5 L\" Q K߶,ꋽ|J$qxtox;AH9aYעbn$\c-z Btq@{Eo{uTP]vI`]Av9O*GyxVټ£>P*R{aB:h추Jҝͯ]bhc)5i0&hUu+<w/zp PZAB`H\FC S(Y%`{IK8oKUkg?&0kG/q,0T蠁Siid! x2c>mU~t="Yy- /0֘0"']yCGwՀ;5 !C85)\,u W]:#\ tj.!dXo'k(OIjtQ?xeb~ VC, "QA!u`&lBy F^o m珋ق WFQӤcY/G @Ŏ'ocXav(A—:S|6QSEG|?G<5F_š/= >WW`2MFKyeS_rcۈ@$H*.y%3g%0{IIK d' p'<nI':lG.Hb׀A%(ҵvȐb1T&yPסHAl%b|}VMfu!:H|o*OU&/! PlF. $̄C]8|p#M7CFc 1q\-C؛0W㎊FK.dJtߡH R:]eJpo]T=:%)n09CvOf?H(|2ӻ 1;ٰ:r +TOqbKc`zzX:}bcDq{VCaP;۝h>W.9ԅbڱ X$7E بxR[ 9q:5h!Q+<6=Rzu:EڛڋەRӲ^n𛿔$GsƎf=6}MuhN`Bj+r| kվGÄ 7M\q:A^!7WY|^:vgb C57jQF.XUvԬMN":H\R,ǁcyJю+%TH̒ qr77JU.{JHbԕW@˱uN]F(Nގ!Riˇvl}4 &ՋIH9B-XI !O G @/˽)/x~R #Tc1f cJ?)sI< =dzJ0zpצp`{}&;hb&Y- ͵X~ C=nBiDg|wF>Uju`Tv5XOn43ƞ9Fg{\)U&NP.|T' vwP_jº/%,Ȭ7mc 8^Y5/7W~V| Z˖el7J 8L@BNE`1,x0ø7,Vy12dْs|2+HXȼofԂ'\\|CBx5 /+0t}RI[_T1Cq1T҃iS4C=aSL Nrs&J>0w }cHzqR^_lB?G>wV@SuV}WiOFRx" S4ܔa ?]xJ7NTV ;Rhe3x9mT#rVZqSB>@Q8FV_஖.A&u_9B|Rӈ<:^ y3熸;D;+^-+8L2=Ov7I@Z M50HJLy"4Ⱥ$ n"B?/FCkM?R2 L,M'G RSs7WJFG 8ހ0M\ bbB\g腑2Փ\ŕX-yl8lG4rrҭ|@]|kGB=kĪ@Ud)δ,.g2D2E]K/ك};K"/]c/u[HybxѮ05[xuXĻDQWwR>R#PrܜG;8KF]". q&}o`8cgR<{> Hc]VWodamg 8fpfB9wKnJ?$ˁ2ysnj8H3z̻*7`HF6@zaL.E_$_"Nk޽ s@(J ʏ $cIÄ?)5I5PZsdCSv{ztիn57B߱6}U Y 7XLGN?P0pMLw++3L+c9<~_WSB% t{MTފ̅ܠv^zZ%UH !G|]|VQR_ mm[p3r4cyy3C 7P?ldT5n5ګ"}W*aԀ6{0HzsoPQɱwۊꢲ=ԏW<2&'5V+@deD*9#@b&tO&=#<^2pф#7˶0(\k+ "yv,pN:\{|bѶb迺q BZb77 ɩ|6ueBFADZe^\>WJaK н_?+((90T   -5hʔ4"ڗHCHcג-}K:tT}ipB97;hFd^dTqEO#A=`7N#>ϝ qG7]#m*k;;(b??2gm~% T'DX'zA\`c"0}- bI\G*yDʻg}ĮϝfѤscw-|P'"Œ@_K={Ҕg ^kcG ŋVlǐ1cE*MW9F'Y{y|Bx?A'WI[`PJ?uğF?1r:' eȇ QƤ)r*oA3J(td$L؅FgtdhH:΁^=#dՂI %\73YK͗6a%qb9J _H2yIAQ+Նl-tRVs)jJ i9@a~st+#fCOkDw؁x!+ T%T4{j9^|̭-E(Wp |`џ$ˬۦ-Xo[OduT(c~amo bIؔ-"Ry(DW/e[w}J|zdS^tvsNQ#O*{8Ż^[1 1K%B.y$뻧?^Pv ]#}<|K#gMG)*9,LDʞJWmKۃI gspUx`*GSg}0Wi JNJy*8ǀ~HsSGl⠝1kG37DȋSva`~bUս;ۯH3$P )藀d`@vv43;FrqĐ{a *<{% 3H1_Y/h b~<+Ѻ-&}+Zs%"OɋW RD_vl!8T I\O~_n:q]]#lY04gLtß_Pʭۑ:X|T3v(8 MJkj*U82R7:.>y*ͿP+ =1TT2«=<9퐄@,u^\9p Iwx|+ioNxdɸl"Xɕ$M \b.g1Yv~l *kZ;2-G_Tx74p5{o9j@@enRC߯1p'iQieU?`Q`,Sw-ۭ}sB$ࠋ)YHR%dI9;S%0)}حq}rH*).KR]Zye.hwlQ7//X%{L)>zi 'dN-5ozUg 0Ҿ4zQ*~1_@ha #IBajY,PfgVsg]3oWVOȚ`"=+H6VS7Ҷ?FyPWxWl`F=gAf|׿Amޑqڅee;a /_:Ͱm,PM Eꑘ X*- 5XmX9Ox}}xmЯSg௼%JG3³8W6_-^%uf]kh;V5%)ZbHwer v+ o9ȌWdg[i?,~OupZ90 drnyDUS{„N#c3ßgk> ox+ge _+$YI1`hchQ.7&o3pjTd-̉Ue;imjdgYם$ u^da XNHt̮Ϥϲ`J)H1)ȟIƣUQF =d!5U^V'B(߭#ڧXH%Ldru]hم* 0>IÜh\wŠq ?#V]h,^Qӣ&D`d! aA}7'ڧ?5D_g\A!A+!$tg}!ZX]k֌R3K*wتԮbXNX@KSٿ,2J[&UnU5$%GQ \#IۡQpPҘZ .^߇Jxh吼)C+B soS* N.MoW-z24>;ؑ<($h6M5^áf]RΛBTn'z^1#z*><M4H  gс n[]2M?iMr=Ct 8up7Ћ2q6gse?a \_Hi2EJ'3lRq0DV/4 _%mi@&?sst‡Y@|l^;}ቍ^!.?k4IvBx&H.6}yX?i?%/j.0Azly*$m"WERJpmJ^  8oXoj|ʜ֗4aqA <؍2 k>C8f_P~q'M?|R¾AZ7A"iJ'~Y76lSk14:n#;N~!'3[#'[jG2er=/٢`O'W8X=Tשh72εo8=b@D R`$/ݸ>SXQI צo"p͈q@R"߹qT'p$qķ;1epVn^ME"^>Gk=YfZ\ɋ%jn븶Pf~ 0vی^4_b2&w`zrԥ"`,m?wkPQְ R=smp"rE;}R*ByHO*6R͓pM9b=lEcDKtK.[PX/­-Ff"lH~T$\kCNE(Ӱ;z'@pO!w'j}'Ol斺Nu_['YaQt8aYtŚ+gK#%N *lGD+4_~JN*SY h9H23L4H?C8 6<D[=~ >gsZ&x9>3 iiкt)HnxÂ[H Մ^izSs}wX>b%)x]}aZ+\k9QHr ^Bu9c".2 .Kah&C@D'gm= lvdoD/x|"DIB*-RL69dNs=xeb sT cnaTqgH}?3hHb="~M0+0mRHSż04]]|󈾉y.Hoqg)[[MV\lqŽl1kwVEQҸ<-Z͛.z(j?%i uS3!{뫑gZ8nj5q$^{p.HsIXp&9y}ujKzEMtf JHƠBJ;( 1o&WmDNHz# B4.D&d{2?@z=7Fn!V3-"칩/XUR{/$Y&'ŝB>W{\io|n,>6K $P8'[U fdh?| pKĖI3$@Jume@’0rg^~<{_Rʛ(] *=b)B\L(0T6V_2*>asjj~ܬO7=Lsw-; ?~U\[2N3"e kX!.##:ה ч~v2NpTWC} g:$!v7jZux>̂f=\χK"- Uv r:-f mOPS]ۄP#Wm;'>|I4.w:f$qdiP-Il5I%+1^V˶h3ag\Vn:!聠i&b ]$p"M^ vҘ.Wh K/ȔeT8 ѯ,+ +R]z?^vXgS@+/yJy@ NG`ءY {,lZv| dT/IBZ4PSCz1 +KDb.$H$~t>}q82tCBptF./yj7 "#xxvT(iM?.CBiQ6.7@iY ­O39] \MYdSI~<^͵>Il44ɖñp;Gh|'+ohD+̜4-+67e;8=3QK8$Ɩk E5у)\2/άuE=a VɱT"B+&o>iT@ &.2Fb|vz-<aMeΛJ90'R %]W,`!Օ:&]i)Nk<^ItL='99^XUDXoeF * 3i*@M>ofژOX)i@ύ|y}i܆?FUS ŕhS{Ys!ǜV?kt\2^{U\0 04K0FL['6J?-%J#eG(~$T. =u]B' {\ ]bO3>ĕ4@]ϱKbF.nx(qN|sO&u<|y݁s֮ɀ6݃+G4cI{Fv,\Ymqو3kL#.=5Km׆͈,D+_SO ъӚ~mb RRt+a1o~~Ή]%,qnf@M_x+fKVx)^uQ MTPߕ>"aV]h_T_ VK|hmV kU8T[.lg4 oBFY_0),<؏8Zwg x㓕I)`kJ#&gl"u nJX=ݛ1~}w@["fOm!-,iЁKJh~ukvU%Y~C7r{Sxbamu!(ȼ&rq7.@0mv]Gp+c_1CACa")A"A:id"K#M'$W>ԔrJWXYJ/+ԕm-49 "~u . |VbzC)koX^"|4U 2Tp# )I#e13nVn-9a j*⩊VpF \zsRtƉo$Č=bz}jr Kgvf:|IdAЙ:J’Lt(҅ᓑyzEGmq*y&_H4Yв Ρ&2sa]j:ye4][Q$t3Ou*¤W1M搑47cN*h(yBϚE^w=WQhc?n{u{mO…U_ң{^0AƝnNwI%aXy7x-Ϡ1=1\@[=MdT5O# 򝉹fcsYd )`Z"%a;˲ljؠQIYt ֝BmQRJǯ.K2eS%Yׇg3x9 ,V42&4mo\(E?t?(좸 j1q{mƓљi{Y[;?/T ,N(>@{:bQ="y54sl )eFri 6}M\-)3j "Ҫwvo8,j9O&^d~ZxbX̱ښN6Ɉ  (Uy}?OzTPG:1R]oJw)zyQAZa؂NꦘOsEI8W ϼ0Z@X6E 49BC[yhwidYp{o;oqxWW1(lSd`}cE;@jds~0U>, +IU(8Џn*.{;WRfh%NF FQȣ M}V0yjˑ< 䮺Ђ&F*ˁݫRކNFr2[w^9H8 VOwâ,j!?j|x;Qc!]5U&‹0U?'}ujz@Am\#qͨcv"I1bF y ;aB Vx⟋& a,a9<MKdvH@%݆5`֎kirM YgtKjKI[k2]@e̎V%i;2t0&|&ˑ_!䜥X:m`zA5D9#e8Ǖk_[JTvVE\ϩ>JL+eydlK(NOU(tMۯAN,=<'iYsen[4a̲|TiI]ιIgIG)T⽹#isu'GiS%MiOmB4_E$@&S*ս\ /o<*i8|g-z~pW[DO9 ='U>u]kkGa6w?0fgZ M(+#A-Ac+ɏ{lwilZ+{hʐov{$Пw@b䈏ԺTØ]\ރix(|E(M*#>.߁IL°a;  ґGK@3(?Rv 1({% nE{}`V6v2vNLQc&3* E]mup^n"0,ݙp@)9QZF_=bI7A EeYR^+01p$"V"`Sk. 9'@" UgBmxZ(rhFFjֹ lv5ZǃM'"ƨA&86t)H?g#9:3ߌ'P*oU\XaV.C(OB%O겄΃0JWW=^P(t9ΐB@S|{do>N g"ܽUulv0=pc, (~N`Si4'a3Tq߉DWXn) Pp ke*\~pAcg 4˨JH^0м0vKtAL]Vf:Kp,[ۉfMQIMK= ilJƆތlD)\5< EjU#A<>o[}Bfllqy֚(֙7 "G-)Ν Ef91aլ#AR9 dLۍ߁9]gt}ad@"8̝sƛ 4Qh-3o}ŰWpmo T;(|Mle@TdJ[49i+b`;C[7`0\+TEU'1br ;jz<#E435{*JLypfx e Qi%}W?wKqʗŐEq\IFn1]&c܇w_m*I7#YD%8ӘpܧLn|2D2։OV;@C0@5T3X+^8ٶgZEАȴ\t5haL }Zj&N1{`~=2xxΛǝRԛse઩`J-UTUѿɳ} /H7$溆lr*&F8Q!tF-w-tW7lhy.rebB'r˴G9g'OQdi˞3Qҋ{C Ug8zHR8|~s$&Z܂XahOZ-ib>ϩqwdXnj @(?Z W_(ɼN w t!xk5J.Wz!D{=_2y{yd']OLerڎeYiЬ bX)7n_MOprf J,ȻkR\ti4FxvKi qaٕ`1lkYzXYā wiMZB.V"ߥra:0dR|umו˲.۰q{- ; ٟ6aL2)pXz6U!˹jL@_d5askB9Ca4o'48U-Iȟ |v͙;O2͆n._:rZ-5k>2H7Mg@^^~4GH/))(;pվEt`G*Fqm aYVQ7WTOs=TzwAآ(F9VG&ZLD /@[K]#Yp7Ep:dNnEw$Z90ǘ\z ԭ۳rƲ" ^n+}]rUOe}k?XY9%hNđ_gN!uO8jc#B $ &lDˈjvO,mG_{.;(%46(}4/?1D.y ݟ8(JD- {r;We k X5 ztSo_CE[$"ZQsh Z9!<`hċRJTn;6` e#(j:kx4dLanaBV)*]~,D:{3-*Mse5mWXW9)Z {[Y$*_U]hn;O2 M uO>ZO#[ɑV#r~֢=Qb' QP5G~n~ع)њ$Wp㾢5ʜaN0BܲoS٬2~edGKlrǓr}`'X`*\fbZ YwesA&PƁ`Zclv8h@ꨥȒ<8u4&ky gEC釸nu.ӈwgNGD㠛L4</QqN*.5l?|F!;p{g/I~搚Ѳ #՛A'a!u\D3 hLjF=kQqT)%A 9F Jv`4S>MБ`%^%M^̭sMm= É~6ӊ2? "WU(BYBSs['ݳfUԞ"vLAWr3\2sW$`hP':Bdyg5d:+,D!%&Ha`?-:r6pZAsI9Z+9+ ]QH`es@<>Iƪ%w(;Rۨ BI0fщ #!]&kjwQ`Xb\Ҿ2}F$׈;ȓ5NfS;ZeȕO :{~JӏES9GT-vh1nЊ7K qCr# KC#5v(]e0!GR'H&[ AtȇvPWAȍH9J1/ ˢbQa&֣jym);B3>Sm')Ƶ-6bQymsэBMն FjQrGNR6'"/]0=f.oyvrN{)zKx.6vyWx8'vPH:Q'عem+>ipǕ5^c"UKqx͑XH72wWʨKܑp `E|?-a GB>k4YV)^@+hKKoqtʞ<-wBz vU?}Mh$ Ag %{):EzϬ>vXeE;8ܿl3&BUkljnߔb 1Mhs]s>ƴm!JeHEt:*_1(^ K^jT,<&~URӾOx8ғZ-߱R[c…hY_٦,c5>3]#ZsAζq:T_?T( B'L<#]CAA%py ZR|Xo7"2G]|iVQ$Csfw;A 4fPa4]M>i2~Sp>b_A (3L.tP-QWc Mm z 4Q8qw\ .Q?}\l&]1u`ʷrYSЫ,tNV?}RH@hBCCdi$gOZ4J jn.0CjAͲ4I8];e$B^dPrSJ Ǩ"G[/\|k[\(mt;\+hk(⼁H0)"* J:dc9(=R.^LU#Їf d|pTQܮ&ɡ- =ᬓ fHXPZɺ%ꥲ$ípxaTrtW "%,k%92cxsp,-4( yuZa/![:n*~3b@3BZkŦ4-ȩUxKtWOoKTkҒy&3lWu RAHfHc{29="q!q0\10^3tp䢷J1R5wЗd 83 );*%$^ !JyWz)/1OoO NBȰ/ *M/5{Sdb`$f%>~MDş%Du+]LiKC?CX ZĄ"eO=}IԿꜷhqJGf%`+Igu愥_ȀCtO"*b nshMGf\wY6y,#v[eZ7Z6 %"xyЊJ| x2 ;jQ/xlvuRh0_gBVds͑n@T ?A+3a[7'h'գDn=[үeG,Wrda"C,Oq]N}}d$̅'55GoSHqh2U!1gr W44]Cϝfs+lƽ] ܛ|D`sn.\Z@EҶbnhBˑw`MGtclD +!?X~rFj+jtpa)Ui+5{Q&UԬZ(sekX%" Z.ۼCbQZ 䤶3u~vI=-0H|߯"!-J;psET~7Cqh 3ⳤsdB;FfЇ4Y[_5li1z?z7Na. ={pUk6"/QL7&)ќ llk$K'1J̹B\48"Kz(T3^+X\]"LA D9jSS_׃NyTp်ܲi,߽GW IՉ))=bjӽ*uԌhqk "3Eҩ(&K~0WJ.{SW@Ci(d ڒltjկRw vuLHe\s;L_nڠtP#7(cpÙMVׂ mj^t/B?qnLJZ% ~SdVqwOp34̾:޸@}M|_||fO%6ZӴ' ql-𭠖F |AɊ9$,] .D| րD}|Alff^'EkY="{To#%ٻ{Bst*%b_XH|vj"z^QnMW:й{] ]m>Ac\c{<%Ũ(LGih!o1"t%,iSZte}6SG-2[gHCW&ϓo}Zih䪛R"^+`MۿZFDdgB4TC>ğpKwc1²|ҳm͕ha}r=BEZq Qk~y`k@u Q*P)B KezQ fIj^E oepO~:$Ţ f%g(x<|Uy٘k\]`l([{po fCGgp~}k'˃G(d\rOIa1uDHӘz;ϛoh ˔j@TRr,:/W Ig\;RiX.1Wr(| Rpe.%eנ?$ȹ_w^q*D;q&VC uGu_Ú8[B-GR Zh`a*w?LOQ$8i 0a +RQSw@/Q}g:y`Bp)]wƚ lV0Tf+ɨ봦TF~N[E%`Bx\FP*ʑ=| VN.a/kfc)_ @-Xj7YGaQ)@GɬI۴lCvzZ@}f~(ʑ|8YpѰ$tO) 2'6گ3r4'0ِpRr/ +HF֢Vt#{i},w3)片ˣ24JSƣvngBcZt_8?#n]jH?& ŨetHbckP*UwwT:QZ0ΡvfW;\v(PM3{mVB6}\Se'?,HРrlW?XI-?!ZK*c;@K  % }3A~)s8!ɱkjE rg`pmH[2H1x9l1f:CWTFl wu1sin:eca(;I@7 kq+QN [dznH6ĮyVbܭW&4Aʩ&H4f5}LP90>簴_78rFͰ%5y_\Vs{'wݡ[ѷ l@QYAG R.khHD7B-|M{T%|̓}X`zSq}KJa+6zQ1]L)=DdqM5E[eDx6j0$tBdWIɵc"FyM'F_Ml"__R56&M/g-jrƯVLDuDF @'2uxV <ȝ={1k?A4ӗxPU:׆oH 5uN<jJ 20UD&uLҕdbbl"W@,w:LEO{,nys@",0).OꜾB~ed WAUAi'?0zܨsV#D|OL8Zj{ZtƗ>IWa^ wB͟h  ;FA %lG:Ek:Gd3?`|xGipYmТxlH>ӏޱh1YrHrJ,| lZL ƉxS*#L󣅩)׉-hRxՁ,8GmH$5T ł-"RWSM'\ݓYU1Q 8|Td8NX; MZ%n3c Ⲭ4zV|B"\>̓C[3ܞ #["Wl]%>62uz0}z؏5c!7aC#ޖHUk0oUxP7` PMny3L-\j::%ef)7ފT?!4Pw>Psؾf-*~{,0fe Yj,NMI=6iGo}Bbz[8~IX1Vw(>k]-<>N_;]2b[Nx9k>\N;C0R I`hsEic64W1ALP&pnNh\B0N=ސ" Ƣ1WޯkS^_Yr_5:è ! ؚ"YXqPS|pk-:(JՅ4ٷ -!,#l^NE>FcT,N&`|טcu2pw!#2K% \BAg*O9mPk&Gh/@{Z|zRjmS2HbXƑ0YYWWʃ: ֒1Qsl^u٪ׯǮYxưi9thdȁV&B. bKj./o[澚a)jx%w.">S(=vY_׭t5y3 Ir0sEn'zTCb>e9yȷ*\Ns)~Eў@WT~D:ؘ<(74$93xLY壭!k^? 'kG6[RN3q1}sQǬ.ߓCѫ,XY ;M_՗`MdQ ^e7zh4R[\(h"%]pEӴS !}Ѻ [k09ր(VA[z麢GRVWDI{c/SO!gxȉ+w9rg``X$]0;(CL;|{-s# {值} u9-mư&;xb.ks~hhLy6msvFy+.I!~>%xhPD ,TۄޞӶ*3ssGԺVǞۊ+1= g#c K::+7o$Yϕt|g$dHjK[V%~.v>L?φːa+WwAЉ m&Y$Rl!&3g! #G*H1i%ǟՊnؑFNilH7I)rVt#zI/ۊNΙ=ONOk8m/ b`, e']Nq#ā:nyg:Jyxop&]y9k.WҠM/ʋ]JˢP14ư;0oPٞ0pz:>G *_'OK8]q476=?HCgbt3۾BQOtIU!FSm-:Zt$ W}(h!ij!;n'07^PmsngIxUHθvRiipoxr{yo;"ͱĖxB)_8Hy)ؘm8Fd)CBtD/(dh7șUv zB 틯zJs/bR/WI~Q;9/`*w7-hpA3W Iz==nT󑑜XOoG]K86SD1{&\>w*)'vN*%ؽ-M hgJo!>P8$RbKg>zc8gnOmkm=a.'{RT H";BP)O?Dgm]T]P@*^ʠwB -ڼBnls2^jC.a~w$~;R{`Jg&X$w~+xwXZ]HI-~ځ&{oB>B\Q l6"7<͘{[b~[[n^ŵA 7]kP'|rn}('Q|nLgD/qb0JS@M/ypi 9cDvNssX mjQjyd@ c1{́Y:PzMAhZ~e2sH.(P`٩0tz4&T7AQ]wF"N힙,+whlV!\F\t$Q+e":pn,xZjt`@_^%zڀ;;+)ޏMi  /Xof@,? v()~R߼Co ]Y ɞy*wC|l|sdgsjHwY=kzM}Apim/$u+Fn39ԓbbb9tͭѰ *S& y,a+0]Z>D ىA[⸽禸w-~Eݑ҉⭽ǎMY9@"_Ea dD\OA%"Ebݛd#8+ľrx .V[˥B8?'W=c<,RrwG霽Ꞅ*pv%OOJtO&QL*Bmf ^"5T}sxҼTM BY/|4T?E7|C"%[u|UUA_є!Qd'N嘪괇T)GUft]yZ I!fɩ+߀$yQU/ )[ӮLk$PsRZϵ0W%L;`|PyC3 J{4WQJDӃ +87r$ & |i&v:v]7`AmY Rܼ 5V0k 0u9]8"6) =s VA,>ߋ)NƙMO0}+W !1ч{'~?Ȉs{-z谙8d;[y2vϔS W]Ju'>@2ѤO=}OS|2be`jx|=c K' tY \xJaB6ĎЅ>j.wC\aJeyࣁ.'|XDk ϫ-"r 6$ !I(юhٕ&|Jy_*spQ6vטLⴧ-E[&*tjQ.$"3,cKwzfe :PL}gP@ _kaJ?`7CA9NЁ?!q0Q' z vw R1_OO}\L_J; S@1IK%"f5M9r]2 *;\4F12/! SE>?pk?%LQ<~ $y[`qFVl-}}PÖPcڸijv烔M+SVϒPG$EC\y8&BU1%EX>{C^لunN濰բ%Ee`+R7]@LK o)->m2}R-UQOIĈ6^t yb2y#E^~ |sD7&ĒwI܏R|D[O]iuVȚJv'؇_U Ao"bQiИ$bkmmBU<9Ĥ3L*T+{xdn8A:iS?#l@ܠGhU[Ijmb8_>+BV /<1g[`_X@@b: 85甑ܜwԖbm$ q8 7! $#EP/۳Zq}|Or_ #rd>8~,tqn'AD &?QIwf$q{4FmHA׽9<jN({:l޶rE~'b#xio* v#⛜Nk03ֻlBrhzkqan Vnڱu~1׵U>Cxn2˸dGI eG!A!4b^N W\*53ܰMrucBcD+pILnOƴ ONi95@ }S(t4)Jn;R>NSv)cD轅sA=*vw3,1o7.~iT%K5J+0nXǺ6L 8-ؾXc-cR&rt d%)VҿIW~5?X5< yHY+X6 ݿkCf4q l<ƊRn?̲ntX-!Cʑ q'~=e@u팱J`U^tpDF8-[ܖXس-zI]}z$np&ևNc+S˛xui> ZzS &Ԯ2~ƻDEs1Z:9H>B/ ,ljfc//h5YU% Bl5ZLhՎ V@t7>WkڎB]qA6FN>ly EIrXҴ P:~VKMiC:t9>X夗埖X…0 +sQlۨ_b3;gQ 5uXC*xD`Sy{T:ڼ+}\!au`*|KYlG4H5c()nCOe<dХ5NO97K*~ 6m$〬6@wAB$*:\R҅[KMlxj=>=? a*Y')dWNHcRjPJ ү`|QYq _hC=TR&?W:~VtA.7X }MĘq5h<5YF`tp$PMHZa9YN&QO5W~q͙Y >'Af;5!z8B&tH\J5Xv#̼VS`MX\԰x_xEKۦ-|V7w'P,:֯N0r| a=XQ)֜c[Ktt`WzOƘK:0 cz>t/+E,]YEʦɁX^GsZ[wf^ap8H? [EfIYYnOK()ЏC#F`XKT'I|^N~%[볇2)(cŦPZZd'sse wTڨ0JAH^Dp)J쫉&u>Ԡ)l@%Q6G ½-GQ?(A";MVh-q|9S/fJvUY%1pmR,u lnjσ6poxU*aNԻ;*蜨Qvn^[Y\O@AKo.O~ 2cJ?Й{|\,T};;-*F a%@I/.zq pw "]]:NJ}BR蛩ɷcAξλZd6]`= q߬D4%e'O fJ$-a9WK-P3#  SG~{4fЖ}:#}W(o-b9J{qpλ5)O}ɽM(͓[No2~8"$[t~ÑXL*ƏuX$pG0bO~,FmdYBa{mvlz=o Պ* ztd&##\^6O!AEn?1cx#&- sEM6m'ho\7b)\˕Ĉ2 wymC|,sB IYY4tlFo*Ue? vYAAѪ CP?XE(b7sçؕx=B[J~|T_![<7;]&E~0_BRJ|ֆ6$.Q/G?Gx]bip("!m#vԌ. ]g4I |aRœF%4mybQrNTRoPv.8'eE%7a+"Y)8߫Cmr|:9*KbS,9vͱyS-#lMlPO@Eלn "O't=8aE.y?i\PdW$Y]nM$hoPZb ޘswy{l\qwY63-_+Ym()T֫m#:KjY17XOoe5 k'0/6] BczH3"l%?C#Hh2-[,oUz--}g uމ]Z,xd<_YӸӏF)T?a"Wӛ!cl~IA38~bVU#fD;j ۻ#tIgҭ{^۽&aE/$5.ydE=l0m6 jTEܥ7&H7|6sINtk 6<΁=n{ bmj*jj5ԱN@po ?!Y#vl14&%F뻲!`;3 IJF>x#fY19c@X)#)DeE\T7S>H ?qzJܞMS:6)DZ\*7Ro,_t0HzjjA UU"md8s;XgBa;Ͼ<v=cLpsrCψ=I|Mt殣MiVRkvi:ҤK9\H;|opo}"-|4+7Ps m|34U70}i#jWlU<;<8Nsk:OPӰ1)lWCL_qc>r3;Hkgm˲87:(~pz~ }2bvrOCw\鄸'9odVвF- [j&Po=CM:cbhq gd*Gb:Me`g[ Iź:Ɩ=QWAr e΃ IG$s%pӣ%7G}2u3mh pY`}+:viS:y8B&U[_&KDj^;@okb;([zA%Rmx8ΆT`f > Ad`Xh!̩eND+ARZbElG;s)--%/ |M.jb7ó*y 4飚Ì7 9=#8/ KɊW$m#8EA/$4 WecQz!iuc\o+W$#@KϮAQN^R2#Ah;x l|Z9/U\8²'TS 75/ߺ~Y7G~, PF=F7,*rD3Mo_;^ˋ ){܊hgn**folMSsĬ4e[͟ ⯡s>GYPUstaTF;+NthalGo-fFzW*lh eT;xb-,u<%r MwfP"!_:''% +Kt;T IYft^ѫG)@!Om'nW:;]oMiXwD2X0:Z馊aV.Bb/ť?u ް@Tl2H `ѷަDB%jn0YyW`;*qeHim2-/5KSAeXJ8gttY= $2cV{5v8s9Hsy g@j4x1jJ`ၫ6$ iFxW%Diba@価 Pfί jlh9t=G0LpRjRq8lmH@Yj'C^X5|䁚D27 T>И W}"']<`OSvYgVŌ@(H6~ VS"OܲyJYyqe[9.SIE@$.h44OcP&Y3`m ¶F]՛g_eY7_,aF[LOݬ 3(%Np!:|ErAk#>ѩ@E6_$oa,"K |76BҲJe1lS /"6KʂA(ǜC8r6A֠c9XcIvk̜y47D;3l4!tptaچԲ.ml4W pS˜BRlj9KNE!E,3 ?)/4pcJr]ݽ=Va82o w VZpī̧~O\s+uXOw #aBgHXZt9cq$􋄁K7GmLa;gHrd .,:a2*.CxvLMnR+g *SRRhf# q!t@ǟKƉ/oʞ`q1WBK' pZFTϸR@4zBl WHEw\<^64Z.~2ӭ[mV`{ 2'F~x Q.jM`N*P|yf>,JG_%HI2LC52}# nl[v_"N6)erĭ jo`ջEsqICKS~5COTݸD#ݹƾ'dY1L'TIdM$cכ2Uq~{~|a xA,ERbdkxxz6UnWx3ɷ?!Bp%h3L.U,`߫z{"xzЀR< 4cWH ns,ܦކ=-x>[߮d3R-O<bn,2G)&eC7co2!w]7}UiNڧG=fHH~ [wJHJOOnϜ~|ɂLlr.&%+i"A)wp2q@pTPz|X,.YG6{L'uӒh`SZ7%e`Pjj|[ @#hPOcAM=ME' 9RNvKhn(ɄtpbѧX\[EJZ7Q@#1f aUUf>J0ñw桍vy@'- 75+q'ffsu鉺8֮5 [ Pe]\_i҇ Eop灿Qu}PƐV[fu W`Q;d-ׯ+(pbhjzFUD39BIۧ71(ϥq 2Ƭ]gӨ3_ȣ8 `ctTx-.J12~c>ͬ5[,TK"6qP^%R:]vo;(Uxi cM< Q!m2{(M;LGhFG_/Y|]Z|Gվ) !|u8SǮ½x@tTlhi"HD! U}ZNw^Z;q=^ Z)ߌT%5h=Z|SZ@TLV?G&n)nyh)ؠ##ҹ:qx\?.$i tD 35Y~v I7˞Xpr%S1mu4R.-- r(9YWY~bj_))X8n!T)J~@@XQ:˛"JZ]#YӂgIӂ+{*- 9>^G$`&iG`5SDp6D(s v_c='_L2j7biaEy ̋B~>5~"RͰ^% W!ij5/̧Tn䂏ֳK7I[㝁Vz \aMcv/ Y{pFbcB>֏>xTᴈBaAT2"Z2bZ @qIĨsq;s#ǁcݜp!2DBoc٥QY:ĝGy^K ҀNd,c"Y퀗  iAfUpGKFo*;/-w"b-./OOB9X  oWb KSw=WlL'F۪y\[;"9Cr6U'|ug !ҷ|BgQ3ܛyMd( DRz:1(F>=oc1Y;ʝ?jԆ8!DGi=Ɇ*%;XV%AK04En*׹&4 ΆgFc 3Hv+3Y1$NK /8ı F`ɋvXo,NubeZȋ2?)~ O w׶r s a*f̼jMek :s/L_olgu=9D#=6e1\UbAf8#upt޲ xz>qm HC!{;}-+:IhX}o$p<[dYce) (@ *0aܧۡH9eQCbS@h IAIbQ^ANWJ:e7M8Yy6U25%&9Ybfos_4p% w/*\p ^(N~qD@m xzX&BtW5ݛ\M:ҫsxLRWXvpD9Yc]Yya{UakW>9@`pQE ȍgqO%%p6;T.L4~q^P؆&VmQפfD~'xy hBLjn7!"\RՆe*rS>˝B&ÔF2 =N)g#0߰k//VN8L x:*;A?cFc,nC̢$-?fpB9arEbģ״ެZ!#CnC_\Gw WF%6QӺh]SlL(K £@3 ːm =RmP0r<+q7ˆO^,SeJ6:>ϨAG}B ?4ÓoO:,ճЪWr 7 Oj/O-.-kfujQ%yWZԬ,>> Z~ .^<)} 6y9,4>we /%ou7N}P1PcixFL#' kW06`owKp2SCB=g]Z9)ܪ+qZDH8iH]4%{$& |ծ7ZnKgviK+)j`voP?qիdyӋu ٿ6Ӥo{4O7%?y3jQ7 {׿3 {iU -CZz (a9j85ȿχK $S'A>iJ'F\ZuÅFYJmS"t9M=gtב4H|U:AmkhvQHDrp?{pEzw6A{j?q@&J c?č"ݔNZ?Bc?tͫ3UjJx4EX!C{q}oy\Q!v1/mDlP? %/86\ ;vyB_\tgeEyrIMly*Od147׈&ϴL-?Qqqi:]i$ϒ& 13pB_>Wu=EVJܐuM) ȩEN3v-X)PPtјNbs"]_v'T>k`Xqg>?C: K|HV }:@Q !7c/ ȑ螱:Z_.cngsW(67468 \ N_2@փ|luUxzWy/+$*hh^.>d\_ʜ.T`7NɐX؞51"@ً"^qm0 ROURDr'|N~ej32u2^}Ѫ {To** U&$Dx|AD9n1jF.`BlkEh L>12+O2ݾ%]?bRguk]u-J2K;_'d!DN%gzt4񼰛^*pgX%~;fqR<ڲHͩ\X+C ԇ3jsB!R^~H1D >tuC,j^'F gT?pS19,T# O//t8]ͦ8fU`0?odadaop-aCÙ5ܡˀ߷.[?j0l_>L0dL! qy V%5ee1Iۄ=~+ ^שSI~1ԵUr\QS ʼ U fo6mӕŵ`:WJmlιZ= AP;IB41jGGc`w2hk֛D/6zf.U gػkVlҘcZ;eO; xAF PaӪBKR_Z>!@pDx3K :ә*>oN#@=M@:^| @C7E @ΰ,nRu b&+dVk=泩0###; k#2익\72Kfe&~-?*!n/a*ⷚL#BZ;ZL?l|^e$b!5ܥ_}Npژi?[5E6W#wŚʼn ;2ӜcY|Qٰʌ97axy#Ui:i{Z~" )Ѻ""?<3&D0JR"Ì&jzF9͢ } >pk;\5Z'-jKڦ[qDru;~gvxw$vr`2 IefCxNy.|C~9SĮ4`Q%4ID~w{ڶY=ݩ1s&g;e ,Z6Ni3@`#ŧR_Yfy#X[u~9\1"u˱bЫoXO\sAc]Va%O" "= G'i0R΃N CS |xP) ۊp=Er {Wa=v+F'hX+}h ]b鱾6RuR"oF[C K[ Be{* ʝ-NF\#w'T!>u**M)ˍ@lP<%:TݒCC,̀;oOs"%@EzwטUfMKwdZ^bJ\Rmഅ—{qn+?h e g֋&~tzyD#|܊0zXyA:1 gp57OR)! [fwIl32#XGЇr= tQws/k-s&$Lm% br3ںЋEI'g*=X%g7tꧼA  mӯ~ B"X% $ι%|Ss.Q_iIGzuλ"rY=[n&`%QډW1ǎ3B^ܿ\> f&ZUUy5G|o1Z:?y*2W"ŹC~$KNHW9p1};}JVhMel8FP}?Y<\Vϔ'*TљZ)y˦J,F bHZm,D3߭n}s(qdբQZ2g {ju2jrV'tE)"MjU䎉i>ugq˂LvW۩USH+',kNQ9<96Y&68'U7tvqO`X܇dKÁ!u*U楹-SQ=zBۯ9}dޒ7sˍL 9U+CibbC~T5.`ިVjyJjwM("_Ip'%yݙg͈9ԓ!ژr!l~2V7u9V<'ndW5'?GGzq2PЅaا(?_׹h3-L[%Sbn˨v ;~``z9#0*+~-7/Ů7Wk!j6`F؆ȋ'06㌆$c̆[̻kpn}A&C K+WUk/m!p1]y.7ܩ0Cڋy|G =_SPᳩOH,E RB\߭W;E}'r"'~"i@g&U1>H5 XI0: "oV煞_*9tًy. )9]*@R;~ 5BWOwVzC8(`!?{)YO{JI01i@zNx=ƫ0"~lڭ%'ouv7zkp KtuId;DuL S!H-<\~T_Hnʙ(Bo񐲍![&Tq@⃴pVIPw:OJ*mVNh^sڼ2HC%vʆz};df@]%ޫa= .u~߇yh}q_skhFQm#̼4Tv?,}I.}w A_;w8z")~ XqZ,ց57i؀dj a| Tf^ \4u@H*b(i ma3F]J_n'ѤT?1fqQ]G6zE.ˆT"cQl?o96G%8錓lI<&1? TVy!|;mڹ2>,[/v YSZ ٦m:~!ƵϾ7ng_2Yסj9p %1NjX`Ĕ8 gs\]hd*pd @~`2+Qi9t#C&~p22 pk+Jxٓ9'|b8⯨TxhfMA ?2)yU@?8l曑%s 87$ryk`94BdQ7c8 bSl:!Fm8w/r+|T ufD$yQXlWP€e¯/ش ׀aP-<XCk_O,buY :MG;@BQ;:{ОЖGDC5T$w,9 1?]_Dgw -~Γw677cQXiWH*kٵ>q`6|fkLOy|Blx4J'FKS_rfC켬F˸kFѷ@Yd^ @WpߔfAI lں 3s@Q"N<c35F'IYxj/$唑)-G}P+gPx1~z]#`#s$C"+ mSIi!OŰK%Đ '68/7PG%GuT.ru&4[NuR7k.PkO8H1fmeL^ۮ9]͹@-( f EWTki剞/9CB4CmsZp3xrDCh2((,ݬ0 WǽR5EA ʷ#Pc~0ҫO釩YwZꀟYޭqa,0 SɗE+$kIY8slHטywqG:c yM &5IL-A6g'; a)9R~>$&$ m3S݄F!fd $U[r9x eVnz4֣0bʳl\H嚃$߃6o {)G?kJ93"K4Pk% :N3zZ?}gS*S!OB4`KUv)q!e; Ȓ4 8C'Q~~Vh!ToV*%-K& %M2B_'!^0ڿ[4{1L%(Y5Y""gfT,t Ch)HS^;QBqpNDҔ*@[&IHЦQhVd‡v $=Ôjڣ9כhBt8}TeiO}I4 4ݮ~~w8Nq M(K,.:h1&4tWi#ԝSU&{vbY1E" Xwoe(ty`)fyI B%/5iy(V)^gvQb8+K'}f1B=1Wt 0:LhJd]RZcnә1ƝDLnXÝ(nOȸ9[L(bzCY[_صPb> XKn%1Tr! Č>bk\)cbݴ>Wuo6AJFSy7Z EB5S? |u[1_z "xgx4襲Џo$8i> U/j-;o)'l௙8۬koj F2?ğqcwY,w(VpihUn#,grx-& p8(x= ,3@IV?9|@b81ƘL7*I9 ܅[e TG%d_6eLYz ਬپ@}J@lLo(vX_Coo|&cƩ}5SN};[k,ĽrӆR$ɨlLDň.mn2qlLR6xqЪb5%>T"6TL0u>7l̿UϨhɶ;"-|L<)GFQ#;uG+fRWyO*סE9HpVݣjwQ&<}F1\@Q2D}SȦxNS !q﫤tdlc6>TTTSKy`Nʢ N^ kt_"60՟#Z9eKsmBq q, &?Rm?| VdoEת !{zTC'ܾKeX%ڄ)Q)FS27=ڴmtfRpxN#u֦ QUa]j1,OTxq{vaSrsM \^Dvq'8Ĝv:ez٦"5wlE'Zm il^ k|Ij_#'nU%rPom#߂Y Wum̛G}2*^e jo)׈g8=oGnYd6c9ǨL ݄0/v5"gzʃ1|⃟*p <_ZHʃ0swT^́BZ,%@6ۜKҪ2c@Qmz^g^^wqոJ Pכ})cRuAnܒ`CT-\SY ^JZ1$Ux8 3d;umPGO~c\أj[9kQNb_#Çe"S0]> ._2ņdkLFbVB ul ifEJlʐW?UhÁ8$oDXzFpKmUGģ1󂂷RN镜iC{ 5T58?6+x|g_ȤȆ㲟WcfXp[ݒQZ*3lw $r[eȞ"V 7 <ҎQ%#5@Y_ (c!\6LBh[ޠ2$7?>(jJ::=3BgL͆Ng5ʝ\=C D?WgW6/B i]萹+'%#UB{]K (7۪/C77By'N{*5͖sыxuZ""!R'x|2O˥:x![Re|K uUTa-Tp1 &U/S{k{s1%Qebd+˔*xb*y#{C'AX!p-N4 _+gu}ORb%b׵; ij߂|-b.*X1NLH,K^P7-npTFakݧZ%5a"1PSHcuIN(]k!׊ohQ 2s{,cd,w>Z7G2Xy=b%NFiUڵQhΗqo<_CT/KnrbԎ5׍lo,`"e {ȕ<2"q!z܀TV" 3,;ƅw03QMNJ.% L2S<4[gjBtOɁwRSZ'C}"3 Q,ywg=DbF ?}+ )ߺC@-s+0Td$Ɩ1N" ^(10 858? 'eG 35:JZ 2N58Wz,yBӒa+f2l!pJH)tQ"7RB5Iw :6Fa\?иI),PDsy &87r*ܼ56hHCjk!%Trn!KK pHmA!>"}@`Dӯ# 'qe3 6.3Xy><'AD93j LޯPjHzkGW'ǿl4s寠 -`+fGBJZ`6UP;4%xV"M/V`seel6 1oeAW.k)Kq@+E%tjAa'.LE Op&1b 1]5 9@a0ga$F3z 00n,4;اR8i-w4UwBOڴc,-ޱ,qv[1)y3)EXo15Nb#YvC^_1c46ڗc۝|ֱčI<̤,  e!˾X5u/uMgz1Y\Bro׽]2Gy{W_<1\YdN65dnjL!]kǂ\e'rœH۸%);R񃹄Ewq0^̨p-3xީ?t"D]DXLR #ZJ>f· *cq]B[m"uQLOE?c_BڻPфUقmoJ${{wC_4lTEr/>4AuddjPayԎ^*IW3-ܑڅĨ0 iae'/6 +b\W?VѺ>>˄iԠ;%|V/%Te #jdr&QaZߜCr~} #_,Ўk++٧ o:D~&DwcE ؖޥ%GWEZC'Q?bI^8QE=PNP3&CKgrמDY8I|49W(u-x֜Z)f1 `6H'H+C;7Hn^ B*9yIy b,0~:0M&߇ϫ}w;Yo9=?=dLeF~ P~dq>*&àZ3?~4+tIDv oHcaW2-օ 1??l8ʖ2rH:(wc%_Ecf@Vf,Ey'5Xn#J0VBNğ>ӈ .O+W,O)YUۤkrY-nh5'9vcknW4Q\+kQ\c8Cc,wyY12* \,9NjruDFvSw3 dɑ g}^Kfp#"qq(s$v=O3h|ʇXWſP4^;gAPYI<3ǣt5SDRIqF坭xMqմ$Y'x>)7Q -n9G! nY!`<;q-u C_3 &R~ m1UHT1riKw+\$L7 p1RSK"{k$1$״3$"b8H kwo!.A,{:%,ķWDv5>%_.WĈIRHqhO-Č5 f}8jǴݏLF9ㄵeFL0EV{/k+ U;ZFCw!¬vAT ˚ *ţAIMK6n0T\P[2L TC)d6 p B!] ݪjPَ0MFُ0}/l2"ac=vbtW }9ET-'Ur>[ݺ;ȢSfqԇHXpd\UQl$8L:b8$}ܭm0]JOx@ ST XɈjg.DE}B~KWB(?P&Ks Ur$?qE=dc8N9ٳU2 w,N[Ӿ0$ǟOH"?J|%6±mhfo~w2\Nzϥ] v; PhtsTyrx|@98LÇ'7z!Nu{'@THNL~qzN#[/,&C0*y]E *X?]}PY~Ʒqeq8P`:?t[ swb !@a\RL^VBrM9}`׏ĶHQ_eFXI*zSN$ k@Ӓ*A90̜sFv熗xv7vur5PsGEhQuҹޢ<@@YyuuEe=ۤ7`t(oOuhu#>?v$ԟ?@)%4xU˭ڜ =Dfe$)џT}ղ$3bǔ?ϐ?nH F/q4b]}dJOY‡_&=uiD&PxpMeXă:Ďf4Qh0qJ'@Z/b=74I_4kb_n"bc]medrm2&>E-t/Ju"mcQŸˆ:>s,b;O0]4Uv[bͻ@TX}1y~ x_ho5юT'mU᥸#8NrSh9Ɠ)&J=:RG4D/ݢfqrG`F% _UT jӃFVuh".@v3݄tixc D?qJW-85zڍ3Qt6z_JbnT옮ՓWuX<e>t0]~U4U\1&M%lRiFF,qɛtvåJ)]Nʤ$vd ۆL0^)$ˎf҈msiq?TxE}V+11`1c|;. ;v I|rV~ K#po1Wcm ^R,ϔ+xQ{;+W*iU_ٷ]n/A3d8%P-̋p$9?Ci)M\65 ]/@@c qkg -J3_;cٗDUKѻW2G 'Iͱ^$Nt)iXXQ6*ݐM '-utb? MV7ƶ|$CEEea@xx:$ں ӟ0jvl[$NI@'+;fZ>!YYyxT,7~CF\`b+0{]*]Ag ZGv74~y}[ۢwo8@:B%nEjNSlmrx( F2>ZӺAk4$s&!m':'(?NF?dxop>swMEd`jC288fϼD39J&eC|%N(nq\-HSJGeO+%HH.-4:.cH poB-oȄ'qr-2~KF/)U&s|{/,h럤1R'Dߖ g#W%1pTzΛ{EP.~̿HWNV^y(D&"hvr{jBoo!_ѽ"Ԥ{'΢7UE⽅KYt)LⳈ4;0zA3 ilk;\wt6Z- Mbh\?B ^muޡEYc?([eC%>JZbɰozvol$*١l 0X@+rDܗN P< miʡ,647}v#.D,ЦKbTsQKI '!|-U_0ZM%agmGdrAe ҵ7lڮԗaSL䗍X*'nYV4c%PYPˎ ;r;aP~5Ӎ c/Ft WٓZ~-ʀLf{ _yH;U.$A BrN396J%x:zKr.)I5^e5ϚiU'ob<2:2qڸdjcҨ::qMfC?2gVs`.Sd[fYXw/0!u t-=| Ʒ43ை̆cR?~&VDǭL%VŽ$ xVXRq|Vm-uc [ MOpr&\, l1M^XGDa u]ȔIC(&ݣeS;TG֛~r:'!_U":_;G9NbD䠊]yvT7) V8ʥ'Ny@z֓pE;r7dt(wq85xߘi['_N[L"t"> ǩ8|#Rg$i{}~ $Wohq>U1#Dѫ5|."ߝC'<,nK q |jsE4c=#5z C""u2z W-:z.i[$ Zc/a?t+ш?jH ]oh0@f:e,Y !p4ʢmܘ%_7J Taަɑ_ZX-Oϖ6 quӑW\WŊ} _}i!t{]8&Փ 1,O񿄭7qઊElH+$ƶv޻O0Pٖ |@l`Qv)p}ktVC23O<}(FΉM9Em3(1ϡ <LS-<#Mz %yiByEpEW:E/%Kjs+PGՠRos2&m'/R7 Y4&be&6uT۩tQ#s;]|O*˞YW\+?@O)2^MNroh)q7T,@ (H$ӝ 3 LM*Q ׇ"o\p6~2̴a$ر,{zµ|?.+TRf? {~>Lu0%!K⎺h_L0J絤=Gxe忸oS Ɣ@I{:5om%-_n)/,XMZmV*"Ƞ1v~epn˘]ehoKio#8sg8F6;]_b\bQ=Wm[B"Ѓc v쏯NYbĪ\HRfǏ!fu;ZO(;:Wz\d-wu֎ r=PnLYz{g|-H6C"Zx^hðaHP[EK;D XoE51 ;z@DEpuuR{u"&d?G w칾֦s_~4C+$ju 1 H=1nI(s/ݓYEM90wlooNcXazHZFSz\|~va8Db䷼gGgԙ#$2:~$EeY.vo-DT,G꿲nf!('r\m y*'u$SRngfq!N=hO8Lml">náf]{F/Vc jq8y^3h-YZ {.3:cϔfгCU!hI:Mc}b^ѓ ((ףNJ| |gL )\ U']#XUP b_pvuĿAU3bYn06*ɣPG9]R+zIs`cˬ<<*=PZ 9XbɹgڅtEWB7owDޕ,[ed;-),wN>A(9 0o[Q 8ڮ4{hF?ǟlq$2`G`QOL$ z -OԡHǐ+`HW.ɰ2I|q7`2 .]P4%bYIPu_OeXj!]j?mxyH_+a滞l*qc 92aAj@HS C%y N P(s0+\fݖXJs\ዴG+^[0Gq՞"yv&Yh$%BŷdN"_U;3_({c<A"yWS$S#i פdE&eۼ3b {pTHo$+>Ɇ_e/>m\ft >FJ T |upi癟LAu\IĠٕf$ G/mRED5n4GUAZ(&}KE՟T`V+>7q NԺp{AJ6$oNsj>R{D-..hsq ZRs2uNK )0%?1my!ELƏS"t첞MNN!JfJ2ÞlPw0TvV2܌ǸKWp}G-a$#ں *ޗXmz\)\WS[b틺vJI!^hZ Nm0fowv`vVo7CfXs^!!ꇛnl UHdߕb+rRNT]0~!y̠t B\ (}^iGIq ⦤ (+BM;`޲CDcWr ](ۓt<ѽܯm (eQCfn,=Dtؑ@qfgu, x1ҽ~,ENlG ^ ~B9PJPGǫ $'d:rlhal3hKt$[z wpj㌖k[( VT IEP0lnGAi 0.XF%p6O!/0y 'L;]Wɫ8vY0ݒT%s~r_&JΛW+)j_Nbܱۺ\N8#*(4b՗]@x*s-;Ե^~Lq,8<`S+~@} -P"ԓgAxjP] f0.f*}o>N^9VcVV/Fn]fz+ ;luc9ّ} ڒֳcO0?.1/o/I䰆# i;Lϸ 3#; _Z"%52g3Np]eJEV2d/ #,~^8-rֵ%X᮱W&}  ٚO-tծU_8hR >ܩ+[,*?XPC0!ͶàNMNp;dIN%ym} S3A\EK#0.Q&\oGt@|6B\ yܯzݎeDjŮ ȸ4@ Mdޯ\x$W/!JGd;i0ՋV/rH){ٟ^q铿03H 7ql%/îEy핂O9R;; 85k&ILiWX @ e=u/29`Vda0 |MOM~Q,q4LQT,ש<bruPNvN@%9vɘۙ>Z}W7WL% _01žG{$i]{\Lql~^~xZ wZ;P- wai"uk-ypSTOQ;sŖ/ b>s q~D_ZyCu튒 u]iK>!Y//Dc;zv g!s$y Q ^fݪ,*dvo*C@!})yS?8L3{IV}|jXoܖK (CLC{ra7 WçRҩC ÿqiPԞQ~! 5&oəmtqДmJ^c E19xBr[[fGOdy>jj@tF M'PMZs֯v|\Ec&=vx?{NqK92]nE $Hty5JmS jL@}jh$DT|f~׷L}aXSa|."Lar;&Lk.{f<h>b^/S3tazS|  ףlng5TI#Ցfw?" ھC?mn+KuP) 44FȒ6ۅ@kV v˱bJju>s>ߙ%/-z/u㌒|ӕQM")p`H<@s ibC$а rٚ(K EJuغ&b%$p, -p4ܗpqn'7VT>|qЕc]2Zi5W"8xV}̿ z!/7 eɲ>u:10tOg a&ʒ=>&rPTUCjw)2fݦhC}?E< M`@JekxK*d h_pЗr*X`6v~V"S=.K9 :A'SĎuI6'q'(sÁ#`1녮.g*x^=œZQZ7 (c 'lBYUccK,8~9`/.g~?4N11x+BaNk>ɐX4_+)ޟo@/+W.>[Sxڜ=}(Y/W:"=D&kcbo= gk1Q jCNkj%8[jՔJic}m/Qר72KQP]7( dCBo`֧sƬ}hתӈ Z'c?~ujeJPs&ޫW5R)<`b]Xxԣ@"oh9f.}7so Иw@|hy kiS۵_D[)mˀ^0HYMe[}RPWӊ~ZvhP+ TA1yqh?{7D7KtOmdZ,w:ϳ~wؽ WQ\9 BTlwL0&dAuhaP$:RC׭k) B pBgղXGi(X~ĥGG5PMp̉< g۩YZSd`%uXDEf$t 2GP6h *tFl.}j_}j?A_A1~L7ٵiw4WTϝHBk@'AM\l&J<-HApõүRD2yиG0ku6d搫;bX:L!Ȟ4?=!*;OTR(R ?: FKz 5/E\( M4V̻0GKm“hZԏѩi"Q=jvOv43"9.{'}"M[[G\GOrm| 3j^a]d |DXku­_ "5B<}+;gMlI=)VY9nQa"vB6q-B6NBqͦ WhmJ=Eue|{ρ1w-林Be5J\&]'KK!wӳ>_hxoLo2(7 ,vQm=] 7,mSl@NObuj^3߮n{Texhlʊf/5Q<{NѮMa0OjRh,iʛf<+k"y3g7a1b;I.>#zƪ/j[arͭaXh O'kG$WI$;x ܳ=dX,( ː%^y224'&J'/}9_ʅuY#O@L9`Kj@'ykn銰 { i{ NU'{gՃ DǔZŒSUtd\>TXqLOF $XCsLXqP*AYy'V *}akTz^ aOj t ێS 2<6ۤjVe D2YIT](0;{}_yLVDc,s.NUaz'C&~ -ֱ@:djQzIe p8&>뿨e}73 hWmԍ9Oni[ܛk辱a=jnDQR\Xp~Ϳ1Lv[8ݯfg--HV cQP,J:pjduiʝ1X%k¹diN<ӥ ѿ ׭t.3L굍!C=A*u'=ode A }Y Tmo@V J*Aᄈo|ԙ85٥-F[rE6`T?wN΢ P#_zrmYH պF)Ѵ9ACyK 7%@cIcsy#2\Pr|33?G.k34 uG~IDq^ &I5[C;kM:*GhȼSDa6]dNsF恑 uv.9+#ypV]V)(3Vj[ە-W&v@;YXhGlt"N"@.hWU>93ӒTV9h|%`2crjP_V:qq.@9@m`+ó[3mt[ GH#k"B;2ZD6H; xV{2}c6ҽU:(bH)6it J; M |<Z(kJJ VVgoq냗@qjstLuG(ešu*fGe#"x ԄNd2fަ&~JODqls=d*F7Lw0==--t!ػfͦkJzީ ϵb@ ~lj"ҪƖni~Ulw-G$^-y}_ ܧΕĿ[~}hG: CseodE/nQy"J*&\E,e)Gy )"ؖN@Z]qNc \`TMf00܃Vio)G41t:"l!nKh)? AE[(5M::8OK_jۂf*J%MT &α@YcȮ_>'8, U\|XI/tA;|WԖ*$K59Xˉҡ V@/`~@|K"Q֦堫a^uSUD2-dzA^=ފ%8*t_-*9g'n]0c;T#iGD  yu ^-(GRUO dP}cwL']OeW⨭E{j|~Y#~ zb 38-^vn7aGR<|"5԰O ƮHx+-~~E5SJ^S$F"H_zDaT֓ _ U! zؤD‹sCϔ=zjsd۵$N86F7GM/D$Vwv34oe . RZ`CE)0A2GUTa>@^/moGZ('ʯ Eq(NKO #W I6 GSyrS~fsπ!.Mq ,n:iͦF絎Lz7a7HZB`0 7_ĸ]o(>4"HD?{:MwWK`:a*_Z}",~/ GmPK<,.K ~6;4owj񝲜~vpihrU(b-\g,Sc!Ck31qYG<[0EޫR;#PSJ/Snr/s*$B{IN9,k~Delc ̮\ LG% 3Zeyu-V9"'cxH܃I#!>M3w  J)M׺tge<ŖS{:=Ӑ-Ѫ\ѿ9r)MPhq<UׇJp|C` WYa0Ӳm-MUAEO_S2ֽV̺KN`Έ`AJ2O=Xp ޤ͸ J&5xU'Y=y$0hCߘO45 |3@c~&IYbRW9񋙋>0jV{]e;,D|.l?.C?wP5 @ŃVE0_B(V)=#O'-Q6I^o dwHIk8wf%[P]WHnj*y7T=zQ18ׯl \9rnZ|`Ƞ%bw1x tCЙ//a0R$+ q4U?a lUz(5E bYUOL7!PbLc%~]}JIYTJ )H.9vNpⰔ0cb  7S޻936 *0Z3m!m;X㕅a)?HBWZR^D~A_޼"*n <aW߬0E07?fS:%}I0)26);|drKQF[*|0 /+*Vi\hPsي[.r5T(]f"g)h<b>Pi#+6\[†Pm}s)kAP%y9b'S%s});B(GG!HT0"=6'%84eÓqyAZ:ӁaeՙN\`Oe,Vd57 /Xz(.;t 5\^5ֲL̶z|:'QnyPw?!ن{@(:h~Y$.tv-]u I~^!^CE?&C%>9n/F=GM{In`T>_aI CUƛ^ʙ%g9UԮ*oiNWDْK:vf̨mfծG\EtHgzͅe?A殫yd/DOh !(ȩd* vwdvT˯Pxbz.P/0t֞DK7'S5&5^NK8G?l'{5,ۜCI}9y?qHe%gWS 4P_ Ęɞ 5_;pJLpŌJ-SI-iy o E.u\:Ҳs  4tAWULД]\:aV^-W}CPHf9V4=rfEy:+wQ-MtFD 8L9KRJ>0ǘXzh4$i0" }*p: :?;#7ٴ^yWܘs4}yCdϕ9זrd2]\זLjkL1]'D Ҝ,H ך ~TyE8@i,Хrv<L>\"G7S< u;kW Pl} $V224Vي^x^l[ p^K#izmv|pe Bf2>JCU &*9}xƍ^ob}vvx.,c%!<2@WlQhVǦ(h-Tľ A%1(鄝vv&t9nDDzyX1eǚQd~e`fF0xnNޞLD=qE{n8|YRjstI-٤)y*9zj컧 'xݦ~H@[*I KqDRrH V~* ξg.մdy[`5h-,؈/>4Q-`1gw$hyf,!$&I8!Rd7B%J'x4J":51ѥM-9)FR}@esZUq޺>u꼻 SN,0#I/Ȉ7YOxmv51^򵦕佄5@ljBGU%gi cpnv@Д#FDS0JpFCv@ }P筆&(")@̔c5jj(U`*f˲u= @NGvjr*1o Owwb=`^&M|ԡM}Iy _1(Y" Zj6#|A5ƇQvBhc9!$ko?D8eqN6@/mwF+Ʌ0=開}x"3Ԏ_l1t<)ÁrJ,m'˜g%D*瞧~5Rhm\ɂb^d]0ᱸf*sxǂ(!$rqNA4KxЎmƩhع:)c8rqi2S^ GvmLy tiqX5GAqrQc,tO86]ibqYμb>\27DqQ@ąnv&%\$5{g|#QO|da 'E٥ qq6Lt߬kWM1@gO‘r>ҝ~dNvtZ UDDxU\3VTYm]]SRMtn7{U jQ - )#1]z/s%k=+>LȗJ,;Iٍ$vɰ5?̾Сɣ%?ަ!5|jEVdiKsQYoVBmK[JBa&14})ͽ+']| Y_j,#bRTCPDĭX(ԏ5*=n}| 0$6*Ƶ:#x){T)xVlB[oSQLJ՗}ῦb??L;+YT|sX6ƓWh_pӉtȁb FdN:kJ6|vr/?-7cRqCKEO%<p򩹈>w/p)V+(?(T6s@UNҥ7 ƷB?Úނu߭ $lw2n)y3TAU:,iC NoMviStUD e!ǫAeȩH .\ ƃ#QERЉjL%Nofݕ%ݫ更83P@p̉Ѱ8Yh=!e1y5>6!_6Q6CSdCzEo=+*d%eQ эK]7NG3NVe|F6if'Wd_+0 ×ׇ'mC GHt[ LU?ńo?ùwN*/!~4{̵̠ %`g !-Gƽ!hp_YmML *P_H!&=48b#\ #,*ޅ:\I&@/oqz?|vOL9y4|)j7q W,"2 dJ0»ÅĀʤ!:gd*{IOi=޸P7d7Zb=#:3f˰{zDb?d @6lňWma-Ԓ a~=l~)wV&lJO|.J%z?6SSQ+aT*<.fTzf昡MੱE(q!$@r?!yӔ.R7J~g\xKJ&mzzd PHVm@& hի`RܙG0f;^< J(ejdOiL,Y:RDҴ, #OIk{ _"(ݰIj HE {[c {_^)䓰ڔ aw3OgM?*TFqbN^T(B8wϽ}Jrmbk.N$ !#\VPct h!#`L@Ur0"Ɓb!ꜘFG~# Y 6>YޛN/$ qr 40]Q~La+蜆TdibZ;CP$̪1*`Z#079PAiZU4eJr Fo5EICw[¹cN~# j[U!^hAT t1-gԣS~6W z 7K,bOr<ϗ8QΒ}{=jτ\:c@`%C_y?x:nδG@1yatß:],eА,Iz7P@j9QGt^bUg OK6:=AH̥aiʦ_HardhX@9Y|4vKk-zsvݎY a)N$7Dh`H2wАZk*Bay>yw-оoB[ :X94%g{FAN3{kdYH,Bhˠz(7zۦ%Gp$tz0doJf6>#tQ},)2,,cT`&/tYng1 3n|{U81:u䝁ZyX7/BVZᐒ˳oᇻpb} ݎL -؋T#DbM"R·-,ߝ {L>\*|GAYsQ74p$i[8J_'C-3~.EP+8!Gl~;/ n*I&17 D.v/W~NP<"d=펵آ&P\2@]"/94eʘO~y2:F%j%ߕh>ģRN73>d/xXR> 7u sQ&] ݊LܶBFQHשv\6Hʒ" K/-t_}=ۂ`RBdN;_O0\oi%)%EBlM.ߺѲ-InuЌ]DCJ2Gp`ַ`B_?yGfF j%ߗ\cK;dBk?KuE-tO=q5 lEJŚ\)["7_3"C`v-`Ͱ4ik3-CienݘƞL{Ӌ7X'!N-w#ػ.{UjZ+`^故ܧs m݁ۻ@Ky u=X@4Z_;|ra7gi XoK.0*5΀~)zs@ ]S7C`OuW(σNs(Dp 2K) 5s>sꎱWlG^7, )zJ`N~l$SvCC\QJIKoCt,&dbﯛop)k6#/Qws*~|Z PUEu/Yٻgu›r$.`eʕku70o<<.g*SnE[pN.[ 3Ttte AP%ӽKUL\CSI>`ݛO;鰹?f5^&:?l-9=uKy껥֚-Rk_T%3$Zu.*~'/ZaFz2j1{ngkݚ̖PtO łqFֲko?=j5d&D^R m5\UBKq$T%>"ހBR̽{0W4\:  cI5<;gwvf6<_.}٬ҁTTN6Ƨu.B `r2faJE+ƻ q;Tp_5n4Po>K]h&RNtۤ#نF %5qd_y\+/UP֓F6/ qp@ldƖ߃Cu4- eG ?<Σ$:--+fg@o*?=tU"5' x "u$!Y(4aUK85\eI"oy65R}@*$jպڸB||sv룗:6j?DpykB*/4,̆*bܬvH}ވnF#<4neoapi*݊jآ*6?rб# R+\CklKq 3=r+aQxmN9g:[$[/l3 rJ2GnKu mJ&BGx>fZ3䤩kTc7R jZ4xYr^(>Z)dcdf6.esLZo3BL&zKBV5vDZ5Υ\ al'd;|^'`;~z5a$9mD4z/.ZY<> R|C\em?x5~DA.X^lQؘP8lVD2pԉ]OUqюPA~E6l]PFզZIOqM!Ңڡ'r;4 T%5B$`צl V{O8JQZ NM3(dG(*ब9biPʄN.[ /h{7 +W)| B Ϩjy7'T($ʤj`ELyWM9EHDI p,L2M0M2M_ךsm|f+ue׼ t;qxS{LX ҃?Ѥ_n ~dH\0I^> U<4&ZiMX-*ί%=?a @>^j`VZ ;عaF4Bc>gRJpGTwǚ{tr?[| Fl̑@\u1YV.2o4Y>#\sCr5ϥQ}lYIy #1"6T΍(#͏/fEǰ-|w8ǻ:ӧ=җf_O㳣O\s ԇ ov*+F;f_4IʋxB$no0ē@kO\q[-hȴ͘lckY}z`vsl' ls( HVR 2+=d+FBm@ٸeX^^*pwU5Nd#%6zmkzASô4t ̌cۢ ipx(L%X#M"TR>-7XN)4,*u'.q2)xJ 'BfblLօ70,c~Ԏ+^o&cO81ߒ~W ??z)܄)maxF!M&Zno˭'λd{Ҏ4{KtWjl=+vKY7Rцi.r?0ܫ^pn …d@[B< (`z>gXX\v]BͩoL(jo\aaɋӪ= Q;X׆?졬J8}~ThO3O)8/2m]DLK3R]HBp%dk KV/ԆDVc~EL Ü?48(a`]tg/ՎChq n%ڊؕMY VLWNP7# UNwM r,]v+i3݂ќ =RZr0xc5/1w,Ȧl $ӕ⸐ oTJ:HpF 0&/9j&?a{px,>3wYwǞ Xܻh@_ | V ҭ&X`b*o6Mc>Wc96$) xɮo,4=$(Aֵy"(* Ke)jKfO>Ûǀ^V.V{;"ưS-.1X0{"ޫ~WVg{ʬ3vn*~Eﬨghг9kt=0gt<&OY'^b" _"AĬ(N\|@\?njy߸"uق2ȅΠR?#k^|!iI{q8*W,%|a%-G =,`A?AB˫U&S6fÑnӸ[p%!Ӑ?bKI|E 9_!` OU[(_=J0 s6ߎ3t6Ɍ"%X'5{)g= ^ A$9xmJ`X`ğtOR4+;'("bIxpRRIš{˯9#݉ ȢZaT;tC{ 8h*(G<{#TŒz;_{cul$~t]S.ǚ ^3*zoNr8~ي3kY"\"Uepv¨ߑKU0t]4?/o:9+\b5~|쯻5gŖL<J\+}[*T̿eL6h^{Ħ[W*'#!3yl'z=Y(+LTOR5D@"yLRBbϗ|'byR#t˟̴vpGѷ}q^B q>C_#ОH!"tM}93ͲZjO00`**dZ1e}RMsyQP8"NqMVVo+Z0 ;)N[hc*">Bt{_䱼ځ!Br^lOPx&6Sd\NXf$'_dׄ3?v4@~ ]MHʕxÊHӗ[ |rAwH\a'މS+0iԵ7 n^F1<8o^xYЛ Ǎ%= i+G[&q0 ,=ڴAal;g>hUsoB7v-i6t²֬sOtSpxj $ 7@Aռ.l!{xgмsQS³rn"zh-[p!2}vqN|LP& :.CXlAƿ_@bBP9^ta>FKj폎e4IC%or_/a{?Y=[{[γHu鶛ew=Ҙ)`<Qcgn'Xt1@[]g81u2u̇kT%Ѭ㬰ۥ+Ԩ몧: P\un~EWpw?48i=$Bx<0=i*5am ex03'}9fe'9b1r[ʰ m{]jo/|3G=_SF{yeyBzU#.hI?0uypOW_+\ⲸU9u?ķf:c EEONj / e6n~Ӊ`iNf8G66?ǚ+t/.dzr,lաι ZiǂW ?]b~Wcyo[xkX  2{p+EVՁVU1ƠґRf໕E3Rk%81QDuPD55њ^ctEmWu!ēDD组HHQPQCҋf':kXf-vSjb tڮ]>~ 'Cw⡓ǀC_|hlK_ܧ6׳Yꬦ&u͎ёa*y̦ b7w=IYRŀ~H=>*ʸ;;^~ߠN&gSԤ6vpi1YZqE`n .^/2ʖI^;'|`YAJ]#3~fr5'HL6c~Ut !K+qW{u#"WTbɝ3j)…'@aUbBIN,3ܿY?Rn E(0Ai`ِ`Mo3njz&WmYF0Fx4KfcvEc+ͤRl0S>, @xC!{d,qOڙDYh\ws˿,=M}r3CUP .O4*+{ öM x65:>9Ӎ|Pǘ[=[szT=9 dj2boag AFE胩2nBmh.h&߯1PG61 0ZJɣ(q5TKτ5HvY^>›?"dyUt3 jS"piڃ6;PҼo\ClePy#v/IcSE̤"&]*VJ^d\:kR='#0 69]켥 1 H {Kxr*Y`*#޾mځ˽*&|޲CM}g;ZWrtiR=+c%%E7Ơf>ͧyӧT*௢}** K|v0]f,6zZAkK3Bpvń_ =퓌!ߘvOȺBFvت Y hMcMe(6Şb( ooՀ&Y>[09[%x#TtalE2 "WEqp4FEC턆E5;#Rkș 濗@[r'xŠ^}>u_~Sd.˿s~ [~/}+8*{E,8Ƶs^- uVЦK2: C^iHbw0-ٔs-YhUX!Ҙ/ianFn 'y0 ϣh̾Z7fjl[4ڥhwN}:L7/M[jç|ByRSG.(B4pK' BPP@b4uS%1ʻcs?mX_CYc!8%d/bl\R1E^xUDC<TW̍C#wAvˡEǒt\lJGv?&9=.eVBMMYy;lEQ«kcEC6+羊S@ ݽ"ԡrD`c qo/j H@[ fZ7tnޥ_i/9U5O':W ?])6UȖ(%;Ckj3t/,gbUɔIMI?LǍ, jF${4Jz%wG#35O@y` {O=845| \b?ɰxR7߄ҝBgGy~樵Cjy%3y[+fiH9L5\m7n[p^pqO楾%:T1v8$'L5K,_1vݦt ABח~G7H [Ɇ G$hd.'&Úu+b? a1kӖe&~ @٥ ɽ(r3 HJٖ='y1ҥ`A1(߻j~-/$<krh؅Z7OՑbģ4%rUe^YQVIzxX|eOA\LzP;۫T p"aoJh"QepNWO>VK:0.2wCfx3exy j^OA3rSޗ>nvx9e#Bnz +5a$؉g/![+GёXt.2t0̯_M7(%j> VR 2@>=:Fp\[fW Fٿ)iZ`L4P3p>K1%7w"bwyZѭV%m3KrAXQ ;I'v/G? F? ÀFЬgWs~A2 mi_:mݚB9&CuH[8dc]=2%C!yU9]KY RciF5C UuXhX) A&l,ti{+_#x`4pW$ɠ4bp[ddz7!i4'T*.y(uW L+oqTpu<ĪyQgx6ز-^BB?%vP7W9u:JUBc Cd;[Wɀ0L ɶVN=Bl炼_!7ށ⒄>fH\JOh|*᪽geKWU}$1i2eƤ84_a{= _L^ДVJ?)ڇ/lb*!ZPhvRxnGʻeD@0<ä{󂅣磴(SkT*3ɫڪ[ƂӱwrS+XZ6}L0c=Bߏp &/6fW raӽ ԗ(|Z@ kWA 8't: WbL~JnQhaֳPɘZ+^y#t\.jʖGCn~Qan}(T4x}̫ 2sÎnf$.XI! I 7wN& !=!ױ˘]uB YWYɢ(L;Cۤo>UҝTȲ@]O9bحёvHo1S PJu:y˞ 0)zs/%iaq\毳Dn-,`۷n!7/Ҕ1HtԂѐ͕ib wZ>XFHC$z#3J +Ԅ%h[y?{D1z|͕6ܿ>d^r%:B8!zVEL7bllA x #f3u t;bu$!M,W_ ĈqHW-`N2Kv%viPS.8om`ЮFy#?b7JqrAN\I]M"Ls;d<^nE0i_8=z.QUUI,!+AE?odԣVήN Y,dvUPBP+U% 0}=6%T#%sHdE{%u"37y3#9>rv^_PrcvCv߃2Ր5(cvJz.Csa8rch]5̀l@c - V#R"v65ZMKi;fr"!`InоGC(.[fHd'1S>'TLËQxS~?XĉNxxJ KT~eifN]o4.kZ]$P-VaYOG' Qc<Aa `uyYnx NQ#0=Ϳ$WLKI2W,w8j; r2  -%S/^{zQgXG(Es( .ŽC~rR`ꫨzbVNtU].@AE>q[냈% +rh˛,f Aa n=,< n-MQ07 cEY癗M 22گ*8-137s ´RÂ,YK).)Rgn@z iM2q#J4ah|:Rgb]m}5CjDY!eO1VɖoZ9DJü%5G)RD:dKM 35O@u"&Ob֎6rH$^f,[tZon[>pnA?e0ó󪗁;nÙ0\%t1 ( ^ޟKLYbVIj>!xrz XD[Sam\cVj5xԝ/' $ Us# Rѥ4? z9wGo(]z}x'Wk!e]$'jǹ嬨q%>%.1j:fVڳh` 2^T)dz] md lWKTs؅m羷J>_f*CE" ĵ)N[|񌈭m1T`z QNd v,Ptp\x0ɘӹ7̭Ҕ`Ԡ7 _u `oݏC -%A߬NHx% f "ZpYЬjY;ae 1Cjؿq!|d䜋LyQ. a`_kO?;ZDiJqj(x|\)PM\cw:N~}tVÎfVxcLzOTb'볷#jv͌uhK"!:̈́ @dr裙CnqSPQP#~m_^t0JɇL-!`7/Nupi? %Yʄ[1,0+kQRO1铸:%!\|kzOjqXE@#>(t(:.\rhr6rYdyRƇBX^HIpyFOmm@*>{,R'zhx7@#l9v6mSX ZpZ\b\(-VwMI*!;m!jk/;"L}Ǘ3-U nĭP6@P-3G@/Lq(GYCȫԋy ՘k ZFtJ򷞇jlj<%$h4ԦdCUV v_p 7GCW(SaDaD?1:(g5%uJ3%s t0fRvCZtIj0KO͛S?ܷIwvH=RAPOn'`ꁒ‘ *c%p+H.h ؿ9hSYOaRgНF0-$Ō Rk 2 ʉ10Y͸stPm&1VCC$.JȻZ =Xm º[p#&OǺlZo_og`2e|ѭˮhQis*oOiHn43I{?&1P% :$#LݬF`OԘ9G!j{v:D[P[Fj>.(0_B B%Z((^?ְ)0Q$kg;qlF[Q{.^Igg+ *Tz:SKaȗd2A1>K GzPl4Z6TnY&TeCr}UG6w%ȏ#r,(`3o $+kķ#;cL|G[n~''zX _JɽfƲP,j0o}mP@W=?4рY}U3) bϷx<|tP!^a4UK9MZ1c|5kъ2._5t:"@.A5Rjpz@t@p¯Qb߃VMn.PF`G 2BF Wԛ݉0ja%X)z{#a01-̤v/~*{ǐWVTм, :4u+{bjsB V?t8AP^5fK;NHKvVYs})MJ^Ʃ=tzeAxx(M]o-mFf6aҔh_{~5|OΓ}`.Z[ׂlw,j+Ja'Ia [C\!$1%%fyoY!+-V]nWGy̲D7`ZJйYBtu'hI:b+H[g (67h׈.޺I(=0wb1S羨TN.e{ }kFq #iU?L[(> V|!bS"3,nEY僑l߃~57Mff矻9E;o0^_,5@ ؼvvPv'sƁj otlXϴ9EH$k%$=K9;ƺ_gT?Dnf=UmLHF.'W3\OYň3**p+X%R; l{n帩{#i$v~*%~}'[̻X_f̲뜫A{ո鋆?w< \BJD; L̗@S/|7mHAEBի;\fʀ?@l|_gTpΘŶB)u8c e*'vɨVe:V (`imNQ7`B+d0qnj͍3(p #̮6SHzQ1{PK3)pMI@ oPr1 ޖљhL" 32(Uu$^# ZHiƣH`rZ;&'{Hp>%4qʰB< oCIϴ~]H]plXdUW& 3wT^&\kh1'>)~wH0}+ ~==ߗq ?";w`k;~! j+R: 3='0h>3*EkBI92gQ+" a҈ g8ĉwJRe ?ұ:8Kܞ9LE2P]('zd6K|ZMZ}@xq ?RQ07}c<bЉ%7Q3Tگen4mn"5WHLrCA9`9SfvJ?X|XWB:\QK-v\&cEYټ(}(_-kʪPӆ︒MW4mkd#,؏ḡ't+Ti ^✣Y0pt@{#ӬiEVQLȜڣ=FҴ d({IQKW fz2(&C!şY8̰ir~DLm`Q- $1/=R3i1/Ȳ00OihtV"X_S+vO#%&xmKWyI}(FdJLJ]Ok'X6Q:c&{pC*tr_xv& hqIܰ/TJFv Ae0@%kiTK ܶ햤om~$/NOY,<\}-[aXGz- 2'D3"S9PLyH (W h6^YzV OLp-D./ꄑw$13$}=!_s;(8tj]k~a.7r|/`l5'{5EmrGJ;ZͅZWiW !V9"I[T li?MQ+1-hXZzl>TDM%z_ÍvbO><KstEa3МH(F'Eи0FK~)<]\T^@bi!Tؕ5 DGPk6єՒd%,BG.:2IמV$X3Ch{c\ƞEP\jD3~_XsAlt)qsuAcֱzL![e~Z᦬-yE@e$)w}jǪp?ј rE{N U8!ehڄB7ыY%:Bw0 ӫ"S'%KZ>Ci|`–^^Cޭ y5t]ݕkQ\9zI3"͔P'bvWZ>3 cA3T8U{kIꕠ%Ջ 10gXhQӎ^! +DΆ y;u 64HOYoq AY1ȟOFEs:1Q1jfU|XQλhYu~.`cg^;ƉL21#E|Kcި|>u:%%'"/i3cemK Z[ɠp.(TEn~`-,. Hy߈V`:%tA.Zy-Eur>䶾Ӻ+o8[(8>u@'L݈MAvԬb-Rz]!FѤkyPKx.á#59 M7ꟍku5:h N!,atOԩB Ss%3Ƿ~'e-gzՀy?kd6^RIE]G LOD۾Z{uD"-)$RQ2 Qy7Q/c߇sY_=ހ8p$U\Ӵ''yCSLAq<]ꡐPijbt0GѻL|L?A#ѻ~-sNFԟ5boUYA!'E#ȴvkXD𫴄X+9T\;:#JpK<>Sw@ 07e: D`&w?2ORL$^6%yS -LV:,炙ll D;d"<]9(I)߼UC1#Vf8c4xpp!H!>(ճNB'|-nѓPNccEuiP= IƴuFQRA7bSK-~$32 Qڋk!JIvN8OAIw&Ia]qW6S2G`ٯUO⩪pyEƒ8muI$KjvP:pAKMjqř 2s*gf9^iR?$,۟?]61${Jgtk0qk(|[S qPC$v'c;@LƏ,ǧG%Vϔcaeύ"gj5mDwad:2eh0bY-sFp0B] \<ôd{;ú]+uvA>Hzm5"(Ӕ7]eq& ;܋C,5H>'+xש88rƚz.|aj[E'#f S@B<~yZ&e4H*׌4|D_'{} +6EX?E9mg-PԢN7 D雾o]zb2翜[/nLhl,"R͢w!'*ٟ|q\M/.ێȗ8肀iGGC)rIɝxog}8m<4Dz LZG z {l.{XRH`U_FOp?n,̴ `_:G`J?)J=uB)p!BT2FxEz$nߧ~.S-żyI0[ wK#%L WxYxVcB4bҎSANxaJb?WkR GI|<[vW6Ga>` `d0Yct6uZ2o +yz "SeoV䐗D:o{K\roAbxyqImXӞHeO R{_R6c!6  䨥WjBn)oQ8ZO @ ߒҭ(N8cSYF#kca+x~ q!нIJ6P¡hKnVDע?{Ӆ`|{DM: xj[r-־kDi;$_ #'nׇHi <-@u?*|>Ls8~ٽ58C3~eB[]x*Fd2? Iőyk!:jkإ#P-OAaZ{UlD;Ʀ$J6 dϷ=O8xR$ v%;q}uQ˞`I8VwRH3mb0ȮQ7@FT 8K,"bvz`P<-&>As+h`l; }(1R}qdgF64jT0 ]k.A4 Q€ެKړhVeX$lKZēk_,מ2,Ul Ǽ\9V;|C/=MT]MԌP}~',&O J2osj,ǚ&Wr휚H}=F[{>n )G]=R%O>& -(A0pDןYn8VkeEM,㉶@Mc$ u$.st<!}rK)U c^{ dV)kVb;@lvo߿UHgGT.Vq$rΖ7WZL%\?,*]~I `=d4יx&^bLM.C3a:a(uRHBH6k -ثI\|TҴo0`"I㇉c g؊/ Vꗣcvf"da m2W`pyQVXI0Prd~~m^^:2/ K2 s)"ǫX.|$fթa^X3xXY!-aM?pREmHM_x}`FÒ"͵ L+FSlQMGӱHǣ@ӻKp r`Ü[73N"5؆0gm $6%0l K>Y (MJZP!+e70\ђz~K W"\AܘI8J)!& Z`(υ/Gl R}J-%࠺prjN=Pyw"k8ld*I~єJ<G-ԍN'a>p{2;Kaכ\(eznٓ3ZÑBׁRB1˘ >VuIל֢xSDn^MtnXKGF]/Wqn+5e*F_w{ym?tms׳%[};q[23Crr&ݒWP[I en?]06ܶ,K]ރ?E/<ca`ҀLV N5~2uhqBYrAz34]jZ6H7O?uA𝏉[u? ň~kFWD- JI.>wuWܫE,k~R$N!ϹiYy8dv9Vmtȩ\^D1Qǡ1Aw)c Ҧ}[[ˣZ1b_uZ8 P)vCiZ"&)ٴBց8AwW/İը^hAU+R$2s>,,1\ !*pܑ~:Q|էAsEq:^/jXfdYsQ~08y)Aئ]N<[ftsr}fz Xډ4svz@H1%r)ا9UM)j`;?>ɹaY}*(.A)(4j63RփBQ-}L4qGm|jE3"WhwξN(q+?fgAR0[;3\DT>5"mD/4U#&̀>S _%mXUF>J3wSҚFfYEC>nܝnd]V R ^*ŧPe>U_tɻ<ScϹ2*<5f-TJpQeը+<h(6Cgn-'*]5#Bwmm?0>4.^)L"}f w7z k= DY5;mkKl=Y4ic1:h2D+۽om ؕkPewmy^%R9J,=Pԡz QRorџv=i鈋`;BIAZV@PVSKjݜ,;!{c!h[ sbvm 4\VeQ{СQؠ*&6npb.ՕJIqT_L+6^٦е: 20 ~l4l3(LݯM}Y:b80އmZ 4-hZvؖ (8ОVfݸ3{ ,R:qHnғ5%a;NTxN < hhq ߒǎ̝,372t,IdsZ\DRv ut")1z#Io $(*noJDQ,2ȒuGmTdk-)bSapLQ>W؏nP Ir@^-3Fl W8gMf+bl^ $Y }РPv̬N˙rSC-*7̷;t<9rN[FkF_^Cc<"e%(0gqjGq:,~㋼"gե) $ͭ)p?s'*1|Y?#@%87nY@Dhy':f^}˗IQuyL_20iUMuAeo[g(72gK0?X?Ec;0(L'A$P톞t&bJUlV+@Qy<3#i>,Z&݇ u룤z󜒤p|s|\Ғf䂫)+`Bz eFߏ\E2Ğ)M+0]GI$Z*TMKd:nq+&G]+T'3wC&҂*X`n$V!$0\3`DȥdЩnX'}>V%v -A\P]2f[.oOmU,T:.%jn !L:Pd#pm ;Qym hio;I'zixj!N!"\XɄ$WIp 5?}~jXkX<_ĸ]<2*YKT~^"L(~RKCP@&;6MU9h](mE+{D3[)?*A;{]*v–mE׊?zooooG{J  :uI ̀B ҫ< SK? F vZir8O Kq"xcm>N)R&ɶg'['{S?ttyh,&Q(rmU*N-W1ݘy,zC&(c= վ{Y)߶:?vjiin0L' !m ^ԧc0D/Dнψ*F)B) ԈbTl撃(,f{,>O Q݇{.ȅIpޜ2*Kfb dPq4˨,G| ;/{pRQoV^ }bmkhg1wnpG cNk Ǥ]QO Ml$xKp]4dud7j"}}bx1q(6c}Xl6*?_%&<Şs`Bsw(4 B_Ԉ[N=fr99@qrQ*(z;*aރm!Fi.X|!y MǨg[Hu8et*ߠ+$=rTD'E+6y'2YΣuJSNEBѳYw.!PW3\q(2q;(62 j/k68gH]ՋPIC@.g:( .*Ѧؽ@1WuH/\BzoXk*"UT1# y1fK eJiWBK! {y{7ޱG ;"\HYɁj^hkyҪFl+5XS} ڿˈ_6q.6cTҏHY1 Adg+&HʻGlJ/'I]q EKJ 13e̙?#v!`evXl~!V66:-5V~\Ȑ "7 mrYըaS94A΋ܦ43^TXc_WQ(JML`R>].cNIV5l/{}ǥSq[t^/VX?~D|q *]#&Tgd QH C×"nyM^˔#\3~-(SO^R^GOt' 07 K_OnFث2OUøCz1 sT.=,?pqhh4,k^lYsp_?]~dz[oa1q>-rcBgzrᘐ{Y\m&|@f 9SOչt~$]GW-#L=%63?BU-a)!Z KHz|(@Of hDQ#uU]I5k3AZҳsz L;Btn c!A,0Bga0_$UkW<8?ERmI4K$X9a'> kĺaobr'5*Ĩ'gXA x]tdW@25} Z t4(]鴸^Ulj| Uiy}MN0~Yt<֢#~Y!RϮF5n"ʪ%D>N2_pucAe_= }T>Pf-+0,jh7O8YboFFeW _@U޾lvԉvt'PEjDCS& *X\9*1 a9X;BHEu &퀠-O06?m9ӧr@0Tp?+ ]_t=X9Gph>)Evm.r ,sipА퍇m(kpA̓ȓ5}'ZX9>SDxĎ"O->:Yx@+aA#yZsڛj(Vq#Y)/aֽ.1:wI+VpF$cjgqqZf$R'Xď~PaNs j#E'&vm1I!Caóf)I) k84*rwe/nJ(:O1X~)$5_9~k/9`GKrL4rQ|Dck=:Fsb^N!l>4Z={kZklK1.w&!\Tsq^I<_PhtzI ?,$dgh9*}N,@x_dEfԞߡ$PN?QruyO2q}hq)WO'mns=ɑ RD@L7X%B+TB#+WTS&N )F; O!+8'f @0`m3N[.@Хc# Fx?vMI 'x+$f<$k \ه6 8x%O9+ɞaf yZSԚTI_͕\8^t#/-v'lӁB4If s<_K@Ѡ6rp~ Mʡt.m^'P 0F{ZA3_Lr??~~0$g+ êI1y93 :!. 5g aHG$ ,/ "Ř{?8b%lSx54yv-_ygU#NIhEbE a'Z/Q1|Px;sK1 +| (mTi M?݀ⴲrqҗ+yEA ǂhH? ?vՇSx 8j&Au)ܳ(//?&CwKV;d Z}VL2H̄0@0s)ȞEsbm[,"v!˳ Aew¾ "5-1X=-{tHI*$.1JM@oi 1F x^W+j$90}B>1D{P'j5 M8ȡZY|/K=DxKOak6Tpᡛ8)"q%>FiQuiwk$Ŕ[!X8*:]8Q[V![|9I1P^T؃QR>~H2î4C6m2=+rXg c5Ϡ*U+_="-@ ڼk4c!-W16'mF|$p<ѵzPbH]ܕ ¸y:WF}<$ ZȠbd)!Roǩ,odd= 3Ni /Հ1,N K`hjijBt'g'h:JUیy/T%tOң/,0ӅXIX7sf'3=ހ[Y(f8;FiI1Аma9T+uG1Ǚ4^c)(Aqd`!c 8c Փ]}dzxŇoVk l* W\[nȲ'@ 4 EtzNP9e9i*'i n\i}Z,JsHoJXSR:6UB09n.KFԎ دuv[V vs +4A5Z"fϕ5'sq I&O՘ԥI)%W~YczV {FKX@Au V~**Kp\Wd YG_k_Av~ n?2orTֳߌI5*LXQtdAxJ aAdiE, bX냛xY㺸wNuZ`PlFFzz?u{G|Zk+#82pzAYP}4cXGd> dPF{qk ?#_X?H{łYYg&sMs㻮F'0Q 뀠a*%JWOF ǓpjGR'QP k\EL~`bzK@L/N%'oz2h-ӯjU<_Ysj'Õ#hlUX֟l"'<#ܠU-*f;aS,.{~{-/0eX#j1pXXĘVշ@$4۲%?fJxٹsAX"e%2#V[;^2tI7n )t?#ByxFMdUu{d^Z ?i`% L׆Ssgϱq!Db& pϹ_7El#JִFkOQF!h".uau8|IrYO(9h@AށsJsӣ1Q_KMijiX * ;6-"ͷoyvns|8n 0*GbmVtgŠ#hvGX ޞ34BIVY=P;u6FPBw.Z}~S'X 92AHʩ@)>S;~mjLy^VеzGiHZ&VȥWJЊ m8ԡ|rw^?ƯPF B#B=cdX |ڈ([?W9ibAeF֚FJ N+k4ʲ8);%[wbBkj+.0LcH%k8@&E&ApiYP/)IW)l'5 {f1ΘxBaQxT=vp~%bD9s ay1mnw,:aidr\0hwijPuMy0~vG)e!y $m R۱h`]aqo$JBog+#4,kM}PМKzP`Z1H6WW,I.Xe9zM5J-{@֧;sk@8F"%M&;_1l q'*ddT0+ӻT_w-Ndнُ9M'ۣD@ETwǭSV7|K#t徝hl a]A 7Z1wճ$%׈5餾&j9r=<ˡ?X]VDL{i>zH݇w'?O(P]&UvΦ$%!'/\75U.jR<Ւl!%D~gϣJ''.FA(erUG.#-N%dJؖ"$TgՆ(lE`;;$ł?F1ei*Z;(zS" 1x=!SE4LeH8ySg# =r̼-rq>0x%zߛ'rB+乢ّ$'@:2:S5z7( ˯ *fϙMZ '<Չ5u>c[6fsV6N4FgF)JiГA]YsU0KeuS}Epv@ < JgVes=w#Nl.Ǽ)LҠ1-B~q%ճ |mH'*SSxþDL?k9(NN\@B'PK_:'gaTTL{Q, >H4CݖLy \mNA~vնÂ-g&tC)a z9/{.oͫ0>i)VP< hQr. ~Z !Թ&I!" .?>ⶰ"՘F<58st_Iѥځg]?/0/ ;{m="m 9#gGˆI.e0h03>*pt#c`jIOK7~K 0aԼFMS0Ā_UvgH, ŧ\3k.2o,7o /p"s%[f׋w-W,ar4 ),d#x?ޏ"GJu*K6:a(R'Ե5[̠z["&is{IJc[H< XٯM?p~uJ8(fcl ^$:ʮbӇbʮhsnlpbN'#ZjJv8wNJ.`)?wـm7 ,-7;J!VTmz(آi&c(GbfыF}g+'Ce0% ;8~ OyV,YTo@~SUK;)Dd Q88$R֤ GWM,xV‰Kg#b< n [# P)[d ;H|@F& kh $asbX!ѿMϲ᫁́Gyq+ M~T҂>O J$".( R3ԶDe@X9w؛->{m0056;}pLv䊹0OE{ibIuΩbc%RЇp9XI@Vf_2Iܸ<փbYeq2cacbtps# db,HGdo4`yPmu?@g@of{ RJhP`ޟ,PBX*h#}yqHxKyˆ@V*g%4]h*"dO>{PKXs,![2H)l5KTS'0T8qDVV/+;l}sk,NBT?qpP.C9 S|! 0MҘ|a_cyy)Rz7l$N9mhOp\=&b+-IҋvO8@HRۀSSj^kXd}kT*>Btͽ􀏮Fm^\wdG֘0yD7YO<WQ eR>#KM0!3Mz;M<l.ދR2 8&3UPz:BRԦgD&}U\P )1AJ+X'OX tiZ""O[>*ofcs(5iTuPjO7r'ƢC]6=gwJXaDAhrt((=.>j=#BN@8Pi%Ie[}$Ւ٢5x%2,&o`\Zf!s!5$y0mWe2&í:Z_ڑZEc&]d/ xº`xH~<2* ҧVԷ Ϭ`t5Ɵc1J6g+dĐ%v.QgxAڸ: M<zU6OUgX]qzʘ._ΛH솣t"Ri:|_# >]V3O{5#`I>TUŀ\jH:tֿ-`{wXK%8J4K( yLjuy>_@eG``!BPkUP,LJoa $qE}h Io[BwM18* \vlؓv;Nά#I'l+{@,J҉$) uvё1KE۽aDVIZJ_wV1a y#(إO qYwn]NVEf"=-ZX7}LR֧k5'h7[VKHϙSjuuCGg4OɌ?TXgBǕVvF%~ a(ZqDXZeqhxrt#0N ]d;p5˒T}lᶒJ oL2p2P?ͽXǻ{578 _oRy3[?@Syf`> `FWvèJ9k.&Sڞv! ZB#󮣔 #O IEԤC[7 q@X.oFRu3Qyҟtfy߿x抗[/R(#ĉF4.Bف;ں F Xƿrgy& M/ڡFwA:[^*8ɔ /Gsy0qC3ׁ9*;q&#{ƤφZΞ ݒ \OA!GN#ʛG aup|4ei:Ʌ 5w%1üo=X+я?F;z\2U}km1JMuD1&.2 =!9lyE ʘ[}fF|^86bxth\$yم 8 9(ڍY`ctl 0碞fAw8Fpdzh(7"]/x^6cKBlp ]Ol3'&ՑB_DY]5I|kqaQ PIQmdqR{y,zlqɌ| \tkW4\ª"+zL|4 F7_'< z, ϻ.-zr2sYyw E=ҏJ5JMT`ZV;̤4˄^?+fib.IW| ?ص"=xF{E JDi B4pJdD!]֖D! ,A'b>MQ[ث`e,%ò=00gPSxwZuӅEZa.&Ǔo%#Lh^Qfo?&cN'\TNezlr Êge# +osGnNlgι@ \m=8wUOY=D~zZπFz|  7ug}tRa/DtOxbW޿NB}gRPG$>d ٓj:ޖ=|amsƊT1< Sdr  k ez7_[>OoP9{SGq.$ 'q:SN}[Ҕҙ>!T3b|&:锎HMq4˝_Iz?͒> I`Qv=t8Eȍ,=66 -ꔰ>#,VNΏ`d~=$Ëy~}og{;ƎR~I%z/%WϵE0qs9 ay6՜+Cvf^DSvĢcic\NZ"ؖCl+tX #pғއYܕ32@ ;5FCJJ}hwʰϝBJ_{HGz;P5Actgp}m3+Vd A&usֽĩY5Xdt\2b=$}ŹLe(4J1z"d [ q7 BFkS=PWݏg+V=Ľy;V &CB7zചŎ`BT7^ 6FƷ%[,m+,k@xeW"v5úڋ }l@-'7[Nѷm7 6elퟺ}f uG!$Bc4n`yyJX(CKN:ڝZZ#7fJoqt(94u.fjm+4kÿ#ܲ=Nۧܥ1e"Ċ. W ubelo=. G!ߵ3ӚurQ{_ku5 Dr]Fj"_d[70=q3kh rxûm&zegr B_YG: 砻Pwz(ɗ#iZ k)4iowyxX5<: 2˔B/k %=XXv/p;܂MzS3ǗMTN /aXqĔE-SrC?ZG %9~~FBw7~bDq5fPd+;"} O#7эde4rhSn.uߛ%F 2u0"׶SJs;xO?"W2 &JIyjN#R0ڔ v۩Gm qHcgl^]>+l~vCPms8,Eyoœ>-_O}]i`I.'yeFƄYX폼dzݒwG.]ʎ B)hs?Fsi؆aU? 4g1.J,&h7u"3@CKYv\[oMLCW1 Ɵ YsHj|-5q?a9N {!*2Ȋ8-؅/Ē^.`e(ujԔ)o$ Jd"FH j%w^zU:N~=]Z`8faW/`h`T:M& [>$Pe c2yڳo4ȧVW8Ԋc֡sOÅR͇+l}#<ʥ ?FyEYU0yd=Vim5at(g;'--pOJ Bcyu)JD4p<~tt %-DeNĉ l玱TD]A?M  8|tWE+]kNSMl]5"@,}4MUq#sҊ-WOr9EHkd,g3 xoѯGG65 5ᢜb땻K,$*LǪ #(g~n(GIGE\tf~2q?sHxOaBdߨ'Gn|ٕrk#~޺\LMGfeВUثi(^w ae ERgrg4|/A)P-;4}qTJR$~HgL!^c}%? Җ)u1%lObZ[Ӓ /-1X燲WP~dH'Я_#cg0Q!6F֗aaNȰ '+خ4+[5݂:}_?Kގ6oݬMHx\ێs.QZA &F dbQf:Y# J:N.7nm_cjK(n78!6!*,E5i,U&/toMS_iL:ϥ5^xi(MgۄƓ"f~y,vbIdݻЄ|fgCz8FA}ɠfùTS^eݚs#q}t3ECdP Z"cjXXRx-YDn×T~8,!ov~+OҔ)=-$mdյ~3xJIKݧ7h'^lb6 )Q.TYJe B/;"S4 (a77L%ǹN(!5 Ih!h/\y tt+/т8! lϔcch{(`S8 Pd8e2z:YzR)~@v 2rz2lvʍ$“$XeUep I` 5]Slr^;`m>oOߊҼp?* W7j>Qs3C^WE7ܟk 8%#SPȯΙkY.P( 8z\?/262.q1|픣Wf͑ QFB 蚰G̗BS&:A5RђUPsrCڇ4eЮA=F: T4V)>9r%F^6!E?4:@]iDHZK&}F. GGgK3 ayy5cn8, WAp|FT"3sK0wC@ËJ!]j-U?ZӸzw!D m=[y7z.0299Xm>c> 1PYyg|SsCB-%Xh*-nQucemQȋv&8 OAvf[8VsD>*:|!8F&Z|'_].^Ll9z?[Dvcce#J>,sC2S*xIL|;0gy[rS-YeC] ez-dq d@q gEŝ!]wOVxQ1?fKCCmE1)@Luq F=%M2VKX {BVZZ u g5;| G_O(jn{Y(UQO!r Z _Z?n-9A#o-0 ^VbҘ0QE뫊D6'־ACH! Kny^ۘ81QTxu0Rɵ_ۦeED6 %di͞Synkzӯn.'B/6g\'IY (}_ŁЮaXU׺VJ(fH` 1ֳ9^FËZCd1HټՍj7ol;ӗ\"_m;r&(kZl%j_+S>lbM:_QHyP4] R>{6AFhR TEVEkeΡXYPɓL:Mx in,>?48y ͪ#ixP(lesE 6%9ԨIM%k;[\T? !/0g!Qiv-WufOoI-{'o)X!` ϫWAC4f~gyUA1-沣:qJWe\WdWຕ!yӜ>7L{y,خmXAN42<:%pQ邌*J#p\OOτE)ݸ`GoUnlRɞ[j.|laYTۆF|EDru@H5h,\Uz nmrUgЋfQ3:jo̒5O|ٷs%I'Oz;Oxi96@~lq@r@N6:D>sGej5 ZA7,s *a#ںl8 [don^Kk: B=GCCC|bFHZ~nx#0L-/jɩ6Qv2W4VM({?Rns{:fm?qؠ8N \`F RwMb}*`QZR5 j}O #o2}W.<{kbd-ScKocvT-NDȽ(#mu}c5oadÕ쥆,ƛ*Y%s;Uu:nD[_\+Fq@\4QrHUygwetEILsAul%rt2h+$ީ?m(e}T>kgM`SOқO!fQ tۚ?WlZTVhcb% -X@@d#oN GCk6c&L@;: le?=<~ tnxdq<&R|n#-.j,@că}`TuI. \Pj{ =ZONxE.'^}Jm("NkX}SB2`fOgȈm).tQȄ䡘jox:孱 ]tS3U7 Mmx& +)jS?<sPQMLc*JxNZVs1*Z8 wTQп#ԴGV?3bkP"@| v)&{qI)o XT1̇yMZEvXxB PЂ5.k;pLߝx5]{j(XGf*{˂g.ec#ț KeE~E{e[B[A֠ě%]##/B3P*-d̂4 *g3PtYdZsz8w~W5pNZw] sm7B3|ɟۖ>i33~BCɊX'[ކ{/|э:y!yAyUx h+dub&]`5&@V ahUF7%&C9۩y5\P4]'(XڑZ(G3Qz!r(Y҉s"V7O2 9hSb.^~D')”JB?L:K WŵVCIs:YLF }H3b.=yҦ3<#== ! LDfó7c$*BPy$u@ۜ`[3S4>zvS,bJbp3Sf9MF]2Yxj=C 7I~VFZb< 7TlȻZ9B4ˠd:8:N/3.D[x4w$jۅ3VtK'F'B2I@ K`jpa(ҕHpCH1}m,'Nj8Hxp˄+z_ Vm̸9dt(h ";+H+qA/:{5/.fRM#faH4&6/" 3ZǧODp)'Yjw ${ws?4;ՀX)\; ]$ٖCI:1`ѝzD%WץS0ƭKT^[]j]aE&u"Zn2%@fh `ӷR~U22fb9fSY Qsm0)e+{nl@lyntSa C*FAtxT\K u%VyKNgJS"Q3p}UHsŇڷZE;v ^klwAr$ J6`qM۠SE~m"BO@5mDCXW)6MF#N,Q_d;͛@R4J *o`wdTm9нTe]qNA^&F\-)VC]R;)npPD )(]n#P_v ڳ^ rJo idvS/]B.Z=I PP9|پPB52>\Wsꢙd]W:ZQߔL+~ {k@ԫm\1! ^Pz bL^7*J+Af4FK0{zk )0lMxf1nL$,ѵP"PMTR'a~1sEw}9#ZbQtHA~B`޷3[O@kp3hl:ZxJ~~t3:oLE%O 8N6o צD Pel-[ۭJϫڕS`aBu;"Hj]/*^n7P|*_kH_fupO:O[_808flwՁ ;Eզb88:۪v.opz+3`q)sۋ`@={B2. !3Fy0k뼑9^P،*"6 P9.bq"ś7 /$HhT0V\C9z O:CE̾Q󡼀ekQ,x*1_1pHti` y "/7ɞ']v2Gl{7.*`R <7~==?)P;xxDW<˂@ 9a∊A2٫n%IG`|9_̒]K2?.cl t)pۑ>r@SK`!xőq{Zk03M|  Ϋĕ3#PBW.yf?I8ZQO=@x#VsWO4|ya{rZO53TnJ+% + > z#ע>Z (eI5úD!0b!ܷ8ڨ6<USw%whwE"Q3˗z͇l ռ-sjIyMM3VAðg@=,.>$%FPg 2*,!cC i" $)-Ldy)T#펠ZMeHZYgL|+X,Cg YjqQX"Κ%?隦a)2M]ZߧLqM,Nw~O8 H4vg \,7}푤 #b}Y. žx3v%K!:gh@o҄;e]NESNxGi adO&V_Ug C;TM%#^Ly2JgБ,0[Vۨr;$mw"4107 QǏ(V8u9 M4)hM4aNCz|,ܓPB4@0!8 k6jRќzɣvg{`SGhȸ/~}dd54ԃ6ܪ+==xPT}FVr>o9a&'MyZc$|F3][˄GmopqDٝ)7UjI/ #AG)޲ɼixb3w"XlXqBVН:N-06<۸T``bp[0GS syxwľ">`ļz; 0'DGBc-=s3Ġ2s>6sZIzիV0J^=l.bj>3c5ҟh% "ǤI&ke/9 q+M= dd觰bb 7/Gՙ@q{ ta{g^FX+>5qTq#1SEHA$AE*nosO:zs`SzXes6K^ #ˑ#\w}҄-BbsuLo'E8 CcnFMNOvKB\5 o##)*~;#Ai 3p} #ɇG%9}+L G J( C *tS5@%lu;bs'ɶ?ZWWJb'3Nm"/i:g]JdGH sKgZ?O~䌲yV#gOEEL$~xd!;l)jyKuwQH͋ҿ `\AMuch2z #U@5l4֬t9(T [Ri>KdZP;*a\+4TN.gגF[?MBjMX#W(lI.|9zN`+^qUWD/:: p.v<Z"#o|ruf wU:Zڶ $X׷(/Xw$!1)MOJE=Wbpɨ^LOl׶E"DŽ9;:W e(KB/w X#mbRlnܝ&zzhO`܂XV:?P[w}Lp4c)9"J"ع 6`ly[z*OyYbγwy9\U8ͭ֠0t| DY'~ {LC W+ձU|T+}?/ϊGD%$cRrS6^]ar8ydU[%+c}6K-_ AtPAFnaxJvm?_1i~F|˲. >~0l^W~*1*Sf#iH&1Y"$;Ϙ+{E\=hn0_i:U}Ak֓M< XzR CQ́'1B÷XD"LMU wF)58ėCB8&r\ݮk*zm:sZ`u3}-?eE>%9 =C,|Q:l%C; j_'J=8dk9ﯠsD\h#Dݾ/5VQ8r@J>w܍5{\I)qo4Yiz6Sdz'g `i)F>2IaBJ6deR`o1Lgl?ohOѶ1:0sB+&6F?w 镖\9_YQ*c#p8FBc"nu=_{p OQQbߓ-` z2uN Ĥ:@> (U1t#ʤzpѩ؄{vѳEU>/3Sܧ ;96jl/i{ug?VL:7Q5jl8<BV#m瘦UfK.ksck}g !];n fg30s\m~h<_}h"4qaے'1g :( 9 po\t:>*Lb#)L?_ , ePVr᣷- 3L~1uMÉJcͶC//9ik51o̭ y>Y|tfŌ4}T6TC&.5 ٺ((^CtU 7 h@^!,?FzyhkC^s֏pEAI\Sm-i شno6AI%,s.t#GRk ŀ"##!9Wn2Z(|vT&q ^׋WW]ntL.h?8$k8xx5}9F F 5 捋c"jt}Z\CU$1,pQ!֛M疌~oMe܋Wew Γ5f/e?peKk?Z28S"@F`~U˨HL ۆ1/ ^+qp?jQe|{Tr4@Ƌ &?35+s C9L\/T\ӈvҔd^3'~O.zv_*47Ke pg N7r۸Ix@MYH3XJ{ 8HZ+`rnw] sWu)Ǯ!dWnbTɕqUA9E-۹R`Pg5(56'scjq/Z$؏cԯq /\Q3Ɲhi?&Dzej5k︮di9}vWX#EYI m%O} 7tDGuWD\q\օ1*Ғ+ h7wp7dӁE`A'hA`ͽ҅KM dfIj̵VdWEoTDY$C7zp .N< _(/1FVw"oS WZp$c<$ jq$=fdr +24㧴3)BHFL?ҭc>s. Uix*b>teZ)ǼqWGKxLU+D_`+HP[SxB˵)= `| ZFzЅtc=Q=R[oS6\,uCr#]+e )SJF'!adna!QjCN[ " `&>ӝ(Գ=h=%Y\gxdCEFCdu,?NT1DtȄl ּ &(k oNXW +ȢwʛS`9j0r["LhGl?l|- IӥwЎm!;hj wNht7huszLoqbMW @w2`ܪ6OAS /WbЭ6eT3'r6ӺHzz~{ͣMZAY[İ*iU3A 5 (Ѐ)L&3Rю#|`dCzNpQ(!-Ѳ\)g`PPŗŇILaT~^Wd0-8X<#] H=w \Պ*w'xdܰh1^9I2ڝ*rCO `^4Ƽ,5!|d(@b\R_ؕtrdJtG<psگqT調n [3,+|M!!o]sZd& |qb}E#k]RCr+=9eѤuݶ^J%KRG6x|̮eoȰK*"&j7<ɯ@^*pۚD-tmSy^nEdLsZY ToQI.?{ |n^#qBVƌG clnCdq}e&ykv }T~`/bmOQ\Iqs"O\2H{*=wHzr]3z9:9zFeb ǃ@uoE-d@ִȏGG7FJa-~_BOGUf~"&GyyUeAݶܫ& sJSqשweoeܫ(Tf|MH@nQ{mpOY?*vihe?䂣j֍v7^ѤԖdLGMkG4Q/ZN04Cл zwޒoN$z34hr׈*`}Q;P*Eb:wy,F"j/ 0D@vh[&sx%.9pc+s_0u-:, 4^ƕykHRu_R4'|%2_π$BαOmTEr"9>U.O:A3yp4GDV(VR5džo9cf.}89wniT} ן] 㛳 Ƭ( QTd[%G<4c1'/FiҔE&.37/æ5S`6Pz"^m$:=ã=OK<5vη[?/֣jt5 k&D7urUĹ:+_ G4m72`^gc9S&V #tcΫ['޿US@1Jz{AtWˌk̲mXص,yof zCk%^mw'um<+TxT(K _NE|M8'5[ک}w`7ն} B]fd WS,9kCBPl_ TI62zǫ3SPJ C kPjgX!9/Wfmp?KL[D豯hod\ D/9CGo=wAِj&eET 9~дD()gZ诂w"-"-{3RczhazQtC[ |49 ʚL§-CU|?!kSE«DRg qm&ؠ%og=9탄cOkqw`V_RB:6#m;v` 7IkR56$rntSi_,8;D%jQ4o.tC' & ]?aQM_U/3 x{Lj]N2Jt Qnmx@D`qN&Fʷj`l]b!9(ڇYGV{UBw6Q['[Nv rؓFEq(Ӓݧ򙊮ަ/,0"qwww%S ϶6{soMӏ1~ǜeyS{}`%'^aҶgf Ԓ،uewXJOyBòghl>G@{͛똿źMV]Ny[eF%aRm6U_4`Sڙԉ\Hg}ӈN+vg1'N@5&7<qԹN((N52=.3hjgw `ɂ."I8!6{p>dxFLZ} 2c.w2C&M׵hkkN.h{<_nhooi'ۉ?u%{ ȳr.[)Lz){zrW^uӤvaJ T&s@'=h2{WWk'5sPWV9Voʁ)hϾjqCOBP?$T!c7zd 7jpZz|rk6?t跲Wa^mȦAV?ɇ+lk:NRj6LF{dK,1 5 |y`r "'KfH_djE ҄c%n1^WzVήA .c- (kBl-M״5stq!#.W)2O|4) uSJ_n:/r@«^RHQƆpDtM}/9|@.N\wB?f^ɥV3 5ZMk 7Ipgs *S ?5f&W,>]!3M33)2S6)C:Tt|Y‰)֥P'gd@me:|*j\J6wq?~]Tɻ## pN0Қ j1$jzC3M΢MfU̳)'+!S<;QHcaZmjJ(f_KoIk΢lcDz Y:<'P bogHo*{wx~6)W(@ţMeSMD(~vp.[1ncgX~ ))'#ց.hٜCpˈI87)cHZ|rN$pEumlx[r=v# M""cDz`X}W(;e@2=f0ٺ/pTԤLGX  )ӷ+I7axԼ.,›:Қ S Е4x5U;B[؏ K󠴘 W=Pwz;`ZsbyF,}p0/V %O'QZ߁J(XItt ˟e \oyRȍfӅ5 K>sEM~~V9jǴs(Wrht8nF;y0BR뇨1qHDyQBKxjE!m5V /@S5ޔU%eBqA,Mkj frkh7,bXR=ݥ#ze~O}v:EjF~=R_Cd,'5s[RQ[차bh&f~J[P$=\j3 ┄̛c. x'B DT}juO}1kxtR]X'-/Z 5(@0~*c["oeȎKώ'v1-1Bsݲn!@XW⩫+pXW;n˦wbye-Юϸ ~Li-Y˓K䥰 eSrs?rNP{^Svz/V}t%cN47YRz{ Ԃ9Wv5' 9"2VE0rLϔջaI"e\zNHP"5H+CI`T[}f3w XYzKg\ʻ'i-)([ rJuA`HI@8 fTʱ)na Sڱ uh2jC5;lEl\G^ JK8*혵1=W|a('ОqTUt5h_2?K |)b!P'cC;`cBߋ^xFn1{(QrЈLur p߱XsA} %Ì* c0 ';P|nQ>֜~!v(AX8ު,mzT!*rjkߋ7ccfF0aUUJ*; w~6f> ]!q)RQsjH%T<<{a>$b/24q> <#͹3aDwG M;t't#]6 Ew m˦-˿2u5%8k]7,Yev _b;8*tF;&o8RU! QM$0rQ1FMJ:=;sEi: T ,.syG|x G5. t 7rkdGxcVgs~pեSH/\Ș\KR$#{ûe^ e*vHSGBf_u{N˩۠N݂֬Qܤ;G7:YSë+.iVNK!5=ʼxRx﹬o}ĺN aZ|W`$TP݂Mg!TDu;™=yNp( 7ĂG)E{%k.MWAΟ$H\H[/].Ua=ȥ/!`:A@msp|Xy* HM{K⚥mhO*U>T߻"I4t&R0e>lC+bTԃK01Is @ {2*B,4TGAg]O66f拆{c 5[yO֫T?hOLxĶ|\^_6ʩwe›'0_훀So~;m3ǰ"6b)_;kY$r 6mܺ2ڎ?`-]E"ץ(*}6E_J'"M*r;C }x1>eH!W xO_1 yFWTq=jԡ2׾ g-؄.mN\~#/A;K3K6),2E*@?6)jB߻0qrsd>٫k90Bߍ 1嚘cqض7sv 5Qa ;PV;T)_w5U\Q0/+1ZO)}ɺH8z;Q VqK/0T+b7jb}$VAQ鈩Mnp+G$02I,gR6EL'Iֆ0ynG=rĚ̲}/ /7m Lxh /˙W f2RedP$9}qWI(= C^ _6^J!NQ_okC9?4faf6.N2b ͂:nja6U/"s??v2fٛ7N|AE#_]-9DqNbOKv>6?)W:܈(yĜ75W~|c_J6А"ϸ [-ش}4q>|~sۙ5[l#i&}jPL5 rìAQB &a8oz MkyG߇=&Zĵa4X83ƥC4*>sN*oYt0Y,*Sϼs ]TY_K"clmeP;Kz|mw+wG W]y4.D)\MI7p:ZdCfQohc&Z\#-m%={ v8{nq` m#,Tް- R~bT٠I"|'O>HfG,y, ;xnޓw^2G'ۏTj^u4]Q_ Su jMK [9K%z{ A|ե`$K`HU4.dFPYaSbmƐ_RYR-5+(X\]Qz U,OTAJm.Ɖ,Fa%U4ʕ0W7g'`{z88!"jM_Fz}Q*S6 qc7_jk/ɫ>cW]G;U#11*ɉ!I-Đ@H$8#EĶSvAbxJvg9(9=~@ r-?\r2LwIjuq*$NX?;셃q`ZiT,EHڱ7OK@s._W10\2Nb7@ (*VSK*Ɍ[QWU%u '&c*ځu#\x34Jf@ 3ʢ8Ly,`yo0ѧxڎ)^j\ni](PhtοqѲFf[ 1iFL׾O5B;^hMؙ焙N!8և:$%H*:2?|pVrˌPGdZ:URyw~AL@f(nX*C{:HU]1}u$uIhs & 8 /65ǏK7IF{m@?uҀ'l pn^ދ~ݱc'OŽ!:v8H_[J4ɲ\"Z IUqpVμ{ޙJVV9*SKr r$q4!/oi<w]M֜֡7ٖ@~=NPD~tQ{lUMY\H,(Ap7ΨyPvs yG^oI/A>$rL㛘 aZ:ݨco,wc O`J֐Ä!^͔Ɔ#Hj`]Mr"p Qc^uN-b,g[cy$OA997a%xb< EƐ8W%㨳gs&l֮]cS+Lm[~=GAs&y YQfbbyI'37wc85TL|"HmKL;])|KgOYCAީ7[:'y >6XsY m/ٵ0`}vJBg;Y3;*wݳx|ztw8,B˫^S"|B:qMN˜PApunn_uܱD}8 ,FEvS{RׁQ $~1v(SDAer?aZ9e/*~6gi1~QvZZ Sxұ7b9Y,uҊ7ZvP#z^1G/j3#Z75Fv<'X1 8t|q 0WR$?c1㌒1GwȍknVCWA#%sh`Ьਢ% AADC]0w8D9;6)>2BwIF*0C)> LSLd.!rW7z[X -Uæ# =Md?Rz2?Gq{7 ɍ.tcV>B406|vC ߧ$ *#4ӷx (D!o2iY \59Oa]dGݝe~ Ixτx1 smA:2*KƆ ؆`))ZB6[WF` i=士0,/#\vLJXfP^(K05YH*ַU>fG惼C$֙Zq{bIû Np:*$}q_+Ή#5k=Umc..+q\<CQ`AIyea;QUNWçOLmߢ(3-G%\ t~rE{Vl.,WXZ)dR&>73$)! Vi HH3U&wl'MzAiv'y'&|"= T@ApnPG@8wM"}#dP>KL<%lyC`żC3 h\K5wX 3Uk_Ȇ^|V/\Aj~[P M;. L@js/<:;fe1 iCϳ1EXvҁ_g %n@nAhT|`gBjGʑo#ٷ1;%؎60=΂ \LwAuX3LƬͦ'B$OU} ql Y9~/U4^S]#{1GB+\mCI,G>Pc?, =(]ɗBʵxF7@hiI ૦?bBvkގS3>f'^Xg*&UN0fcqzJ/!ݷ+Ub=iî9VU2}׷ƞ gi?y ?ͪ sԝ˦1kV띍p8ʡk i'tlX\Q ×)jkC떳HͱmOnZVwvMrXPwFh9/ j=vp:LU$i֍lEW̴֭0;hߐ|wÉU - 7mQ kN/8GݗVf& pDȩť wa:A>p$Zxhn{##2giEMg3qq-#$R8'͢S9UC_Fs۔WG vUE39::7%S ޷gc5y%Lg8t&/ɛ(E7q5b
    Zyk,.n:ԧǕ$<*Qq2D;~8plkUzBV->?.ףՒE]ƗX3Y'%;n[HP?U!Q_ N9HSM, "Ս ॴn2Z, !\P U[IBt@~~>}jWpop38݋Fy5 u@s.lV(-Yn9BРVT`Srv}j~ٗt4[j OW{]_+ЎZMٯa Nݐ!M˖a|(1x2'] 67(]~|Q$,L23w]|Yq>J::u֎5j h6A%&2v6TcdmAme1{d[h=Fqf+k3,ز "=9`}2fGj4݁./ߘ9v~M@YR}@`W JaŜm~C AiV'z1#S-h`FV 髝Av9H/L_SNq 8؋UP?ylېO4˰~Hf{FĔGQCq89!X8u8FgdN_h'ڻ}͋XhK^ⳭL|Ёώ(ؐ&}Y﹒\9;"hRr1+ď0X2`e;}pg-\vp T%KIAZO yYI/`OS+;K2X~#KYos'WH$|GXܰ6g\nQLKjAR bKC'ř%].'FvSp~kǎ{[[ #!5V>2?Gn(XdKYOn1.s0 Y.Yk|;7a 煴?>yȈ)L? #NC"+滑/=S-4-lz}v!GƦ:JR1;%BrSW~^Ku i efA␰/9vxmY4;SCr{5!Qy,[.#Yj砑؈x, "Vᵔ3K cNec;1y]J Qu Qqj_:jxyd#{{6l/Z\QK4߾^AU.h^aЭܿnQD\$ldQxC'1x&Y<~*rM V|X<nӯ$9(Ÿ%DE q]x8RE0Ofﴦ֍m>RD g_0UY!4;"笐1pHL;b̧jC\ ,+ԗd}V{7/FN )#CFmo­Ll6nOVȴ@;zޙG4 ֶ©0v󎑪j7{PH%C/B]:}kaz™ KL[0+LCxH4+{ GM[~G48(٨B`,QOBHnۆ }Ww.q83#/L#K-lNCDe]B\\ݩgrl;xrO>Ѣ u ۭ 6mFKt7'q t.L  E۰6ֳ,KUD UvgiNX6:] c14iec:{jZl'IIG\5pȞܪ'M0cMtՌIB"b>m ^zZܐhݜkvxCrg>Za1tlNqYOwOzOֆÕ[!{,=L@Haw3#aαXHAKQ|;1&4TTz`|aڧHdv(*zE5)xa#~y>*oIҁ;Ϫg][m 4b;b}̽v~%h"Dn_^ˈC\&-o5v "^6Իi3|-0k8%RD4e;vqH.`zubo`)AoY/p"UPEȵa Lk,x8 8g\&`Np%V9AvFJj.sDCYK3ʬ.`ch7V+$ʹ2] Fi*svL QrmN ۯiίrwYc1Wh${t<$PpgTŔGRL\FM76Nt wqmkIuϨgu76OZ]oh&+5<-M xMɡG^R xŻgE>)lG á T0yS9l9p>`rCy&$r숟˽@{;E?ul3UNFJo3 C:]WB82D0p0^8!©' ʳ\d# FkL[Mٕ-OlZ@n*;A8Dbe% $@5w) 5L-+5j -}#ݫڥb{ȿf_ (vdl0Wd_ 2H}UQ`bљ3C7%:(aG}2Gr2 YW"CR%(`c% 5`xpR 7aVUO0֨˱fmD!A`0TP*bq63E*?Tkmڞy%s2?Y6.P)6 ʯѐ[rXKoVNޫhO:6۞oE/}HZԀ0`Л]8zm"'-> }yIZ8 B#{E`9p_.Y?rt3m 詞#{S{+~;_",'nN&> cFV\6Σ[8Z#٭0~ t}Fl*c'6R4c͒*ZJ  OV|zȶvf.69z 6?fNL2S#&{v: 0$VƯְ6V{2DW@wIEAO qG.ܽmG.UGQ@@i,y"8W4ABl8hn2fVTLj^9^%́B7em?;gAw$+&-L$]J݀ć ߊb0cy\F6Њ@<_ }X.nh]qK_(Ɠ$5Isf5,D$tT[?ʔPġ2-'%:7i&VJBZOIBbȘ3|䴑7;@L*Ctmق|~C+ma?~8@qR( ^yWzƵ?(b(CE]y˭׶CA'/>_Х˴<w_쿔nw_= Ú-ASܟA>2ص‰ ܒ.]Upk yz3LEčV YPN2H>'f'l2UM2m]m_6wV*:W]a{B8ܨCj9`d}jsRI-Q/&qe-5#r[%"xr[PEgf \c;a=Qh{ [T-⸇Yngz%Zk`DS.`M[! {aod{wbSvY\DTt4 Y1'W wvF@)b/u84)_.h68°iQe=> "w V~|^L6zoZ{tpbF@OBNᦥ{-u$FĻle=$]DHH9PKN_CG5(Ѕ!}cM#MKc݀s|.u\eFyQiڳ)VWzX,+)jGjuA`X$1@`R6%ߨP_npF'‚Fp$쒲RAf[i,( =lo&t%<_A[? M 9xS Fd{*ɺZ(fZ!:G_aughy!=^GR"g}+m2XCGq Ƃ;fzXrMڜ5<,&^i G"Cݺs.V0&zHYf,Huؓ,406Gѹ]eιy*S. !S",XŊmrJ 9λ̻m%!^ Pfid[hBq=  5*h/kl9VieefP+&8sw!s њň%eٿO|CZw;oZGK FT /n_(enk1-IMHPdH }2p/Umכi&^9A4 b-(4p!g∋FnJK HsB%~uJ/0>Wڥ!n^2ST=v @ͨX)`܀BXw}i7Po*4F YV4;O]NdC\z*dh1zDjCKcaΝg!GI*2|56x i!w6\URKKIT/cP|b|r_I1Q Jq!IƐrz ݠFaY/zz[/ ѝ} Ch3!㎆QY)CjSA!%Y)c&XFDmk) ~b *AP&kHK(Ot{6JKQ<` ;ZF7׵m/m- W r)1TkYtJۧ1 JD<M)ΛyN~4全V@9{W IҕF+'lU{b/}0!(OC$ڙ3Bj3ۙl9 .*4pg˕t_qeIY]HN ?$uFa6£ֈU^ UOI28f{al~Dҏ,\؊0'Zluؙ k/"pֽqίyMiŒYwxPyPPEcda0}9F%kRȐ/P{Z艐fDb*IXȥDYsAnGYʓ.vXC|Brj yh#+Y-'KX~CpOpEinZN6{led% e]O ؝;y3>Kcb:1|pHHkJ:7z9Yn~8btY/M #*+A.4+DTqyB/M̓-g;wD^AX'[(^~*eNuɃZ‡hSE+/YLV_&m5olbe -(+v_cPj ikSFyxvD͈#q$rGƪ;(<-@̓5Mc}?zx sMCzһ,[z0s ho3fY@H&|0S"RxX;uRy9fN|<#D:C=&$^UcTƗO!-CH˞F#r(][,5'OG^*I&V+ḃ1s冧!AFn4%.UiFXez͉k_:z鱩@ixq(?xbeR:I%&n0-{軿()x>G)f+=e\X̺$wA\E&`Tn68046TMe%NH_јC#'_﵁-x-@<@uiLO| PF_nLEfXoh[R7E-=0`ǖ"D`ڳP"V_Ƕ"L'  85 :F1hL2ӳTpZBEW>U/Bïx]Κag(c^+r H#W"ZgpŬwi@x]RsiH Ǣ.KBFba4^@x$ZY܏:uMQg+B'/GF]@&!9'I4pmZD9i̜TʚN֬+# uٕdٗ91ʈYoљ +x|eC5%[V!B?,TpamN ܢ!ƺskMl;a3cJOw_Ve7,̓Fwv+8t" @Z#%:hiz"$l߮| .:U'% ~S0>Y/^ #*8\Zq3.5,D}.ܺ(X}x.K_Q 'R_Brur2r\"iiO )$?2Ͱc%eUnx4*`kbh*Cuȍ1ƩfIw u\4d+ kmt! I3\0]<HĤ4-J"8ɑvB.^/0cdr* DD _.@g.;''Eṡ؞19~hf #|2FdaΑ7I֙@gdeUKxv'&$E.qChD" <$mt_2Pȫe-gTr~VP7Q+Ogɠ|UT2R,ϒ4J@-+*܌Rekj!IRdF\k*~g\'".caOTVԮ$ FzO{#3` S+ڎlCa ٔ't4%R_91*%<N_-*i'ŬYFAO_}3UOdW,f]$VvQWq2mp}Ѩj൬ ]$gȸ$EK6*)=LXJ=Vuhqp;T|hf{q]|[mWL5 )cMhFO:_)6>/R{f@R^UMZS,Aʱr?=Zp`(gda$vuqTC`!W"hb@cNk!2 !1zGIv\/XeL6Q{$~{9 1Mcp{_y3ڔ- Be'7 eT+mcι/Jdyw k\o3kF8_xUw qxo^ WYy~>r LhEDUn\֣۹ 4LZbT͎ DEB范x?3rL+s!ѤD|mUD6U* '9ٱz}LQ&vHhV;A:eȷ`ñSqMNR5ܛGޏG`otEl:;N\=Y*3|qkg Q.߄%f6Zt&e5~$5 "ԛ6#%S/+`66[]p{$vpfj@O?>'&tBUUQߨs gU#O13|H0Ԇ|nL)~mRLQ;` Ј0M /r!d8~#<mڗeV"3εT)}5Q`m(~8şNQXCw(@ɳ ]:mjS"4>=͟1;ah{;_wb& T&ßj= ȡ{+S(e|Pg3Ÿ>G־ۆ[ ]U0(GFʟtKVc?C\^*i( I+`&{GSh|߫/Zw*ΪYBQ 2 ޝ8N.2zG5U&f+w^/UyTxuZ-S-`%-ᓋ' 4)IM@?;cԓ9=0)08vO̻ PeӼj2eG;>X{(r~Voj2}+|#jYC`-7-7@MTkg#Fg*zz9T kbsR[_EWiyFLTϧ((R,.nʁJnl Z`( sےĤg ȥ="qqO*vz1{wXF_GKq˜Uxnt9†_|xD ЫrzC3TA;[m$nZ) "+iRK)V3pTDZ\v>bʻ{8Fn,pwR;g>AVt]5٭|r< $ğx\l܍A(Ci 6 aip]3a[qbU=! ,l6L3ZvD臑o(ʶO`:୾r<ϲ?:(-?a&súHL#U0 B"{QEInӁ@O|!ib1LQ\[` .8d׹&bakvZy&ғ=Ο  khD7Or$ QhGH`V!&M+asau>,xum3ze<_?7(aqP8VgѶJ*qewK/YH,~𶅖 g!b]T#;`gnɛ.H g_)r&l>3=r]ZvO)H6Uk&}( (t{`` _>̖.n q$ B \fwyx/~MltVhKQVV^qm#y5V;ݴ~W<1蒓ZWc,56b=;pYyI~ŷ2RyfwKml 6.?7٨[4sdQ3Es|]E?%JwjV/nļ途_Ǿ,e\yygMݚϝχ;E R3jh'R&&5h)-sĊ9OKz s(*Sx$1voT h"!Q~ֻ. xI%pnqJJ=QuκsČ,0OQV]A~06(uH1/Umc 40iFvXi;:U:_ں #dvݥd[?0./d|2bz 4+5QO'c@9nwK.5J d.Cu2a !q0gӥ:UBa8иhmhӠ*˼=+\hx";/Ǡ-^n[iJG-2 LO'I#~PdǁX]-sݸG8%WBEq8i_)zgT6?5xbj`dWB-v'v;׊?W8-mOlD>^ FWثW2'X9cX%ԡ[G Ӗvԡ1CLBi?\GBJ63ekGd8i(*'̸.Y50_-2wEsה(آBd-%up)UYwv'KuTNieKwJ^&67{9" I!`%OfBlDF;G*Hޕ|9w$ETL'+2QfszɈ7VhA"/4мB2$\IQBSTUaq0aI*޾ti AÔ;{s@WQFdb^[e=W:&`he q5nC]l Jުq%P*ŴXisN$We2 F<~ln¢J9vcDiΘ*&|w{i~QĢ@ClEM>2V NMb,. (}Oh$9~-2䤂.J̃Ӛ [ԘdORݘ52 sYXUYإ۞ƌbit S ͐gm{(Ob)[w(zJ>^Tvߙ[.I֚"5r1ka7>L_<)'N᜛o&'= (倛\U`SO"[+tN:MkF:jݬfiE ?z)!htpR`u&J_@~Pi(xk莘mx5p_ʟ.8$]pFg/t;c /6qo+]\0B]|c0'z JλP+Xsuc~dYZ,,=^jE )1šsx`o&~ӯK%N1^ۄHf׉?uc E֭p83"z+ X/đ-OR#x(kLy~NYKjqJrԙm3󒅌P-ک9"JjUm_Bot9ch>}&(,756r^x/G D!!K9`u7g=sR+Ep0x9oO; m)RTN<=zUuh'fE!=BӎaH$+DIe`^vUs Jav K2 f4_#^!7G_ޮ @0Q ωC_`UP\*\a%A.f\ϸ}]P~ i܂ z: F.'UxrkWhLTwVM޸)(`b"81^hlGD;tQXA 4yᙈb:75WLk&bN+LjzOfQ]Wp(A eJ"DĀ?󺨅_~&t4A#."x+%6Զ{uR!rg<麤em@HL?n7DȇyM+>nb8={NiuEž=%ov}OW":{>% #T׆_<dWDdAԵnyx 쭼t93JG!al}#5уQ.+S-_pi6>m@IT).%0~6_mpS;JMKe?ΞļBA]6ʾfWRi҆yq$==H.=\!,2ļ(? 좌sL<3S-ݐECVN\CS읇dv(o,:r0Z2LE22G@?WAF= ' MZs"r]IubHv:Yў9֗'5b&ɢ*$K`]` cj)!3Ű[.D\A8$?Xf>^EorIĐSUK R0y6zA<$O zxz8gR9g HbQ6U{|?$ljK;uByH_w<}P?ZP~:ynr־҈gn OL&L J?y|2g9,6]Vo@ۍm J{yÓY9{κ íaP jOP;F޶J>Ӈ_D&e>!.cO3_~ct62q(p*=+{Qt Tb.{gw o^C k6C{팸._KbY4Z݌, ZTc%'%*,wr:-zZ3_q)P,O s7ٸg{wծEqĚPi`hčj/ܥĄ"u}_Mg'tEdoz~H%YkQ t:Y[c'.?& @Hn3M64ғx?KZV&!91B M=Wzb9SP5YM ^1O|??eqGgAl .}qO? CLb3d{( |QjOrMav% HzOK}ѝ w],U}U~qCx8{ pEe+9;*5qj36Hc YN|_hlg=, fA޳%1 ƒbO?PS}&!w%Hd uF.XNɥ1 󈿨K^p8ox~)? :4 !x[>KtD;t % O hQ`Hg;p%;Mlul(Dj_7cW2b:1T*, xyr\ęD )>q&\VɣPR5:e Y7jsUGɪG驥40*I5w. YtБ \1N<h?5I7$+#/~%LS: ( *UrU+-;if7`\l 9 |N kqghY0>r*'+T</""܈`ylٲG6hgJ=Nd]:kV2"Sʙ'Ao-=X/[$4?{l"2+Y(Q$kAOs vO/NY RqxR#ހ3^kt?#2uUFH 3hy^`r} g:pXm#5`D8dD?aH(S_3ZHQYS3smM g<l4hf\ DW/83&2'+ڢI$KL Do `&V ~R:iHP+YCjOvʘz:HW/섋os#jhї0I`hMuyd? 2?TW\L%cY^H̜~DR=8z6TĔu9#i+: 2.5(&1WV!;j△T<ڇux_֚Il}oGe^z_P(@*gQ"Db&Ƚ;a_zo1%%N 1GLN=,FWfP#5Pi&mrt нNǂ֋=}RW|= eEH \?{LT#x$?bb=8d~ԌsU'Ь:L0'Hn篨 A+Mv\f[.x{z2@Ⱦ-U`F%X&4¹caS$]r/gF :221l׊ 3>i){s|fQ+ogy;A]pӞwV}9pWwr⒘k[Е$U/wph7U?asBqYq@K :P:i,0@%b⸲1B^RT̐!{NT~|G8[YbfIv A͋[Cݑu={w`?HqPk&{>aẔl(V<3\p7ɖ)ܙ]LKsײ6sU{եCq Ҏqe<-\'8 x|rdrUkAZՄ3:y-orΚ,#ӯ%LpΤqҡzS}EIYT%ǿ0R-Ր>" -XULgN*>pZX_V"M'=hakV !ÔFd:^S.ws_Á"j\5!:2ߺI80E-'tYV ѣ) Y'6f'/㔌B| Nm|^E\D 7tvOiZ>a%@M.BIEX>!'Il!rP®NeLarн .Xs!xNv'a_0 2U +3k0Ra =P%*JsīAwT(z0eDfXwXҞ]kkN4vv@V˪twˋmJMuoDཆV-nr]Թw/ NEu#Qr(}PG%!zEB% lI1GG7E$>Ec՜NO]=e=oDT,sFC*(Wa1 'u *"qlZL"?UDYPM +# ʋR -{8zYF*q^&c]?מ;ʫ_qܮjo9 A;!՗xb[œ ""T=;IwͧeĿ%ʸMw1pWw_6w%>qj S S{Xma!\alIuT1Il4'o00D9;v2Ol7L e-+H\ 1j# FM%H>a`(sX_CoE&yC |`@1"j$h7›ns;2 ›i2KwЧCS6Lˣ,;5 6y׀XmH~)Ҷ+BQ $!xD"òv_c,#v_gT1jG90Pъ߷ 6f f9W)a 1׉zS'g=u(8o馁= dHd?}q$ U>'A6@wӁH, 7v9!^{b6zzω`ʨi}mk] '>fcВ%uzú,ªLPw+v:lE?'ի /yU=u%"r6:[9e(0$G*fq!A$aydr^sO x_@~. Dsveg`ST b3#%2{U*@4ѝ*|ix6zqR.0*2^U@&+3g2wt0:(f,W!=v$f˹fDX =4YuMD48> /Y&$W(J;$ 9CrM <搥̄ޮCOD$~eP.'Aςq-@X :V_^5ax_lCwfm`@) 7 l%ܤC58LP\+J'x}sD<mWqKiZ $ee"%ucZL-zly~q`X<_䈒MitszBHd|S#b?ܷҜ#)Tl=9 KUiEWqE\UR y]@} I3 nVƿ;tX}ro4)'ō=4wj3Y<n~|cT=|%;?<G,Ş^3tKAy +W8 H=[l4ɔ!t5gkazӏ.(HkD<, UvZ V}9 3{WmZSl$װ|[i :iJGՏX6(T%ҫc줹C[!e[g.#}%/^ Y \T_B=ѴcԍuZўyxujgEf@{e1h0خW[9AS}q|3xUX#1V;X-]z@XM =yxi iZ/+҄Rf{߃kH~!"-WXOFv #b VCc$Yj|&au{Ka3˹;@k} $:oe@li>[&-9CoL[}GW+ Dӹ}U;H rܝH=wPxD-p}$|D]ٝxB"[6/a'{ a}ҷRA)tҤ{w|`u o^:g\:*ʹmYbFdBneTH;v4,F-p3r;Mt& Ihx7 '_ ,/pa;7- io=3/fEP>JsFd\ǵBa{CB%~&ZrPmFP'(D]d[:5*W2Na"5ǒi2aא*ruwyQ%ܘ7a)+@DTqȬf<0P ?$gnP\ϥ&uQA:[Xlex^ל"**zPUv&‹sT{VmxotpcX$ꖃh8..2^'|Zh;WTYT[WzPQ+ ;4:5lB Tx0p&Sm`qxxeYDh&HqнX-ߵX h_YΉxh& !1 ɸw^YyN1]1){5 }ՠ1DyB1HW݇O%4I)A^E%H)J7.@ ׽Kh fl tJ+`L ;,3__5W%q"~mn]*-#DZ<\Orv_7 5lY0so}QH$;o^@(|5"H*TiV5?!\ylF| jPb# nޛ9q"2 j `%Uˁ LE J(aYJ+~v˩#rMZ v+rC}oz&Ec˰*v80.+l(ÿQR{'N0?@N}*WR8Y4cEg N 0nr[.V(U .& z#<̰z SBG04Uf h`hliCHЍ)zŅm*Ʋ 8$ tÀ`$Jc"+i$tK`^#v8Z0$Aޅ[@9pV~=:o5bVh‘#s  ~͋EqDodP Ut9$JjVgx 2z=}"ˉRŤD|Z")4 *0S!U)s!ix ԶfR0a1/ nX؉JSDv*xyzTFwh<Kwc>1)<\oz`$$5qRң8ُCӏ5L,HMFr, j $nS drց$Ƚ| z1Z,< 5@>/;;*+iUȎ =? #v?jd rS$qx On!p1knqj@Ok2K3KkR:Q,b*U2YubD@+q%uf`Og߆< }(;%fL`3'EA`x+DͲX8Vht.؅> LmႺY2JkMz!\U}AkۀӅyV!zYo?[Ղ-kmY!ү*7:A40@Բ2>,&USx?\,&_gwE}VwFȋt%Uu>t 3cvwK dU*?x;r4PbrG1V3AMSUSiF7WZy*PȶK-=qXҺ7$ʔm 7WW뫱І $E`-8:K3u%-E:w85) >RQO4+?Y6DMUo4Ql*Q gIXA√TF& "T-:~@ӁxRŋ^@G{JFome[v(v RhC8wf9O&@&s^![<=bgB -ExM1ՎytWr,kh#/~K։&,s+rM_*u3dk@!D~P2dkmxn+`FhT))T5d.G+&#Jg@;oYkGX`vMVMmy . ; X>^?=1XwJD%F+eg.q "X,3M"tM:y,vj]e[o.YwSoӼ( @y"i nuk;5'{e#sE/VP*~)[L йr;~ʼn_fwu*GR&$(0Z#-5K72!Sok_`M{O$y1$$%QFJc!:Sԅ )Y/v߫'89AYa)zWb7i%f*bGa{hv9絯P`\޿|ʼ"$>ĪGa6@d Ǡ5hmK&hwcV_3Xlwmrm#f~'f`r54O?nJ݌Q #e͝ J<`1L*S9qDǏo3\`e$x#x7MO?ysAc$Tx4+N?|Ns6H|dQ]ѢvWe8XrE#t,[<7&{KU=?5U*'+ثQaG5[6O2v^ 1ѐ0A"e 2 v fzT+[o2)nϩ 8fSr`?}4ERî"쯒͉!z/EwE@[0c` xڕzΜ4(A{/߁AVNG@-b`Z s&*Ѓ T4y<ڿӟ5\ΐK+FmYt5P!tbw[~o@DsDbs܎]oHUY}nX:2oao>Du~Ս~.&X8rd3LeIKt|]2T +YzA :Nş;hӅ+=fv!iY]u28y6CZ$# 8D27{mRGX!R RTA`yQbr2>aiVDh'mTK4^d#(&QAu{y+QG?,n EK!Su`VWou(nLu) *%VćQWywu?IO?G=]En G7޽_P;DD$~y p=]m1;My&\D3Mc 1!E)e8C!X v3˜7uCr^@*gAzMuk==Uz=04X='b,Ə1.=Ց[kvĬ.ȧm #]讛{LjYM(iRy?pQPM| ]|79<8wÖa#PI1о?T ͧw3Zy!Q)b8R״aI~2OeU_Ei6>l9KFbp7Xe6iL( iE1KɌ-5G&c9S%cǹbo. \#ΠR RԿdb*F^C%Ð"i ݱ.XG}gw \~"88QWvQ`*-GlH-t(;F1׀,Gۉ_c\8g1q9fJUT)镲Ȇt9vB 0L2YjRwGZe+a}Ve6S&θ9sI4i7`̈́OVC4Ǫ2\ePJE$rgچZY.6ٚ彺yxa߳G6S֋Χ d=)ϊp CJ>mdh:hIK[RzF2ku 1k lUIrijN4sݴr$TRk@ZGJʈrqP.*àO+)x$_O C 8HUIO.{$)*%&]3'TieiEڪ,koM4ڑ3Ҋf|R-Z04(I*`+'âezjiuxVTbA4j,| • ̀PRLnCBa`-o~s̼RUaHAu~oFկg@j^yS*N ! dVa삙&× k?|$ns~ [fT؝co4-9ƹ]ụ5յYUSn|F lǘePB=g:ZE25~ WLL P9r˸ZE,wK Ty͆܍m$P=IM9)8iP^+ kdd|c3O6 8#]q135`+O.N柙EY-nleac_ŊuGb_S(FNiwA|Qũ-uDfl NA†g !նl6rL4ö'UrgL{#'(W"DLn(߫Uc߄a-ę0XF6 |\@W p u*IU>iA/P"n:IE@gS:sԛk16. *[NPwk7W rK =C^2`>LoA)RD_"4OZu'֌1ZJ NS]xBe./*7^WֳUW '*K:QaF#H(ٽ_D|hN/^F!{YLW4 fS(]y1Mո'JV(a6BޮޅL;Tj>\FoN?Ov?\FB^q֝)B4hq5c4r~5>*޽L$dCWmRўlٚ4-vq]Н3ftTҲ?3КHk^b!(7FvmHL0L|_ &NrkxC=\"؍(UlCwq(mQWlwxh# t6G25CiY3fR9Q[!ƳR srZEe#h{a!4Փj2E8zYJ,Ш?!+Ť):%tI߱> 1:]T: (2LjedQRʬЋWA>E&DTRHU52Tī_ V: G|8]_3/3mH  oQX".˚HMoC[GR/ : \YŇNrjuc;K`P8̙ﲼPnz=[ qaskTrv, J\ӌ:}F$turU`w:K‹91 |!.<{n'J`EZ GJ]e w9``Mmmt;Q6}]O*ZVSzb ,՞I?}cJK. auQӰ=Jɸ/Ũu5# &E:5P[K70xEf@2 IT  /zCrc([N:[}@M _3gMO{*n)a8)(dq+>]75/+s?|a+3 r%9eQ cjc7i/?<蝩|Rгb}f,)Znd9f@],UJ-f 5Pn\.+bN߰!X_9IqiSýcX^+CS.? +6~u!REofyb5k[yJT E enn๜xm0㮹!,[y~Z'*,>S7rwɊƜ_u!Y0 ڛl 6E贫~Ybg4b+EYg;[_I?[ &}|Z*&r!HGlp74\]C}(e/ >@rUM"~U]?zRp~l*w:# (,B^UQB,mڄ{]RSEg]~VYnl:S-,CXFb$VRu9:TH ^7f]29?:Ny7͍_Nɍ|(co* ?uLB ^Z˝v4 5gMPnU< NσFt\ߴ}9%tQjYT[u85ρT✹ϠL' sP+#j|9p_(+J'd$B-B6gFtr~CA0stQA$_*# i*rzt'c 5h⩂sEʎ/\X[CXt媫O/Q~IWPY?Ӆ!nȮSNx* _oe+c0LdwA$" yCHet.ͱT$h^bn<8.9}|i(y law,0JNȀZvxe]D"?4$={KVug)]Q%pڜ4qpZʬ"b}*K^}bv'cjSrLeDxoub Rbgw #kIco0Mp3w 3~U9Q4WXvg6d4ޗ߲AkGO%F%.h;O3%+b 9-ÓVRO7[Q*k`͕#۪wL:+€a-!"ǿᲳVŽW/A,$r}ȝ.+A UjRUKy"#`+2U G!(xbbF& o\6*)~Idb4<;g_A%H{L3@Q-GJX5YnG%gd8֋ ؅ά㬌>عXC0v)Pْk'22[,XMvM q'>eu};f#9 Fq4E}1ڴBJ| fec|nKLJW\#cS 񑨃 0Q5 geUHfȔ۫g[ȯ4Kv(MlIdazo I 8g#Z >`\跬kN{ӷp)lpy3Њϱc B]ME=@@}G7MyA2Ly*6kYYǞ:0mW&{P^zoIgj:oBT85Vhsv0o(`Q% GV㍆Yi1}Bd_>:H1Zs_m߭ss[*tS*RRD$-tA~H低-bW^0TʢXh,T'Hy  v>" 60͛Ȥ'd? 3$he6K;`/k6e?ċFu@Ģ,'0.Er0~գC]_70'ce"ÞH4=s m! ͛'WNWT싀 H1NK]PpIר]Rj P-_mSw D+9Jz&4'FNQA1tq/r d }З1V5k1@L/TMqM&HX;TR ̜+lK~E]xSу+| t*⭉#F΂|arqf>35`Zo.&.]:@@Z:۩W/~Se6m9d-S_r|7o84߂?_=ѶMdޥJ@/u<* º@0UW D@tq-=S<~zoZUCBPe݅br lGCH{7 v6;fU*7]ϳAtK-'i*ާN5^k8e M467 [m\7/(aĝSK^ՁvGff*7&97;`#m}ލ \LQ-W0O*td\ P:ˬrJܫv ]ji\R;:QBtDu@ |1O q}Ru)+`QO*t c'/O߬UO72]zYQ [ʽXvJ>L'gV5$* FQώ2h,tlM떑zՃD̉-N獩; &ˉb-(+,~W KWs~{'8ESOFG6Qܭ6?HXݒ+e0_Ŗئx u/c#hXȺnVBt1 u+I2M+{R˵ȯ L dp{}T'rBq1@$bi5Wl\^򡮽ZVSrTaTE` #dEP.‡-k{>=D0JX7jNFw\+U#ЋMS1yo\,U=R-JQͱ$Wmb_E^G_|::Y9B$iZ&!M!90Ů>W9NTƊANi{;^j$2:pzssVxĤjE2C.\+z" geAT2L ` 7s] 777"H&"|6]Awd~J#bh > .rVeMAjtۧۉ+ksOdg fj׵V1PzQ2T+ p8ov"zt| #LCTƹsvm0!mx`'B1h4՝8z;또V9}9fѠ7Ɓt{n(2ڢ7a1' h1KO%.sbed4Tz8 ^8G&=uc1H{kaơ{7J|r3/7Ivjݝ/2VIdbЛЅac8>RW@Oᅲ:v(Ka[1.g1j'$E`1T"{BƝGH@ n4E8qNSlYV:#yIڛ!/vH_d>^Z}ׅ\.$aLJ &PLR= ςrBE4s5Ηr]!dp45` aBej2U"Mخ~]_:3;uY?`J&w?vb,4T k;OSɛ# H#IKxUf-L4{)_%\pc5A4onə|#HLS"!y>UHS39I(Fӄ%f4Oy *~K=zLnXk5G#|;~^2)>lS2BBqJ$5afmno"bmmS ]\).V]T\s:=v4^(8(u3ceʊ)ٵAIzyB8͙p=? 2aԡ:Qh LrjiKtM[4>-gֵ}<tBsqK+R@Xw[VՍYf9*nf0!*KpܰtJjջE5@P0qg(W8W %"w0|+g(}q-.5 ̵\u3{_8Vk3$kƴ(#%9-S4dmkvvzT>*M=r? ꛖ> a\qc`G)& gƫwn9j#z~G+øh;` Gs-ښ>DtX|u1ġ)q)Y"p.-ܼ\d"N ')IƁt!xo> S eDEif$_3Wc0aL4v$б9` 5$8nx>܃6蛠z1oHKy.aI݂%䚍ڹ_٥'U@~т?sDAtG&x+ZZwJDp7%tn".)OY D1U!d A|źbp֏x؀b+/$ԭ=J0S~\^=+h{3xi5?3Y,1FJ B*,Ĝpv{9I౜p(L xDAܫ1*x<)δf7gֈ-| DY6dO PTwjp{$Iɗ[q:KJ N;s'++\h3~8`xn@rNx9[TInL8< C`Kk` U_v'o1p0DܒX0kRV"ڂ_CJ̗eDOMN,3)Fn5"1cH.-R2d~uk|<;s5 2k^(DZU5/呼9{9hJ, Ԙofh_*!͋~Hqp#'o6M K=3?.~tiͳ_t48/s E&[P`YwKÓ67?'oU4ikdgl|7_gc a =\zj/jgvVpaO[(|"E3i#݅|;x0{_aXɭK!=L-]BGa@j <%ԔuҙgK(s;FvvD憈0 KN|W:)tzޭz}h1P!}Tq`]())֠]Z3l%. '`}3|:@%@ )rM {ـ#R1o`ͧ Ų{{"~&D bZV%!\K7e||9BR15tl6uuLOռeঞCn咴'&~LW47bO""1fWBhF:Ro>i);Zrzɂb;Fm6 minjzP&͛؜#>pV09wIb>jM}-n-R&?q~M2+70[եt#޾ BE}8p0 >*Hw!~m>0ܠ?s荓Y*ji%40p_t&>ϓ$<3A@$_IVx/3Wi'e ;f1Ycvĕe`o&o!-zAvkfc̱;>%V@g/]!!3B\v`n3U>)r1hof>=rI~ͅ~^LEVLj&6恡/w;]DB20(BѫR͓L 0/iJD69U$)A %lA: gCEEQZbV'Hw,y[AL !>h8b 0Uf9hQOJ[#<-_M`ZyW\3+B2f Ed\(!jm O|* ,jh>56@ـz>rf~^i|Sr ;N\`VM3RrFVaفggΊ}V$ªB71"^fo0@L[]^FrLA-Z-4I kDyB{!KXT'p/BI?,S>XH~Ӏg>э?Cֈ;"#8-U JZ?>s[,-b2w. D<I3KZT:b|Dk__4{ҞPHv7  EmzTc,3P@:MVI%Tݒ)R"tj+L1,̌\auJWP2]AD0Az`d!~Gt(B%XqQSa5Z84:*$ZD: ȳxKT'X6܄~Bl2%j^G+xNQښ2+ZF#f|:6uv1ͧ L Z d^Hh~?<%#UrjJK34I}XtpK9ft _qYK΍634qf΢'B}e,͚U4OPEt5m_U/@hU>G;xfIT`"eZ0fVvWUVw߱3IWS %mΛ?ojON h1D+I 1Z 9.d["7ڣҁɻąGMΊe)"lZIN ~Z\,V>^5tQCv n}tHadBLFSYLDl#Ze^\C]`=]{5o%8jKNZ8&xT}N@6J\bDI-%=kQb^RȞ0KU82X/ʷ-zթ?iϫ Zڅ38޼mIۤIu:|} )DXƺj kD(U' 4㴬>\Lb=U9ri'yusΖCNrZ^-N0* euK^"Xݐ:/x=z@$y[<*욹OMH?Wo‰.B>_}+P6ir򜘄f/Wq7kl.8K Yw2ܶm%/''?yx#5J{ܹA+Wt\@!5$,h3? *AS| # .]:O ' M4UAfc?/Z ٮ\=G$K__ A?L+gTIxf!2#Sī6$$-`&!&kȡTnщǞih[$<3hw7dMTo΂mOC~c(dn!P KE>6Lv0P$^נp 4wwzwNf'9v0RUz4Z#QyEC\lt~9(y$ٛ]=3?KD! elVV> !nq_S7|iKe3 QҌyMnnjC L߫*Aǐg.,lp؊$ƙ3!yx'>ԃ )= k9UGO63]5Q ,d%u=:o윊?qh"`WG]rxiI4L8jywj̍/Fȇnzܰ+$W/ܶs]DKӣ:{M<%G/`'3=CV<1vRSj,ϔ CiRxV iXL4U`ܴV򵽍k\1t` 9gi0k]مs0 -J|C0iu頹5r8gSOě`g M̅c7$`Z 5t \A8W>娓;d4nwaVv(0WD 's=x u +h% j cA 6ٶ2tGXۜ Sꇢ0vɇ}#řli^S]_&5a0$@Fޗ(Xk|M6\=W=eܙ؍(RT 3:Lvt2=%`=7(򻴉?l'KS)ya~ܻb:״S`@]}6LmhEBU VŅ.gbYY/kba73(ߓe:N:![f QE="RlH.' v?yȈ EcgG 褞ߪ<N>cjaq1< %r*9[ (m:S$S!U^i0X/׮9pzQJهBiq1|M:}xGbԸْ;%,.x^rwtXEr3 kgѰu˴wOls0w.rA7/G-i*ft͑| ob &ژWR?s0l+冇d,IGs^q[Hܛ7.Q*+>,`a^Ɠ<5/ O4A"$Ur]fa62V =&:b[R$o+FX@iؔPu+&pr6g(`edCB5r4ǒ.'R0j.I2\2#.OY[y^͙ 4?˳"f386nwlKB3\(k!rGW93N ϭN >vy'xsuFLb^bz^JBt|M`Jޒmh,I.Nj^5=UQ,gj0Jfbוb׋$RW7B7Tϻ~9c]z \׸}A:W'VGB )!E[K w˦l[9ޅ/Z,E@zʱeR:Q&/ [.V</[ GNDI|D7M-+ek3"~Ǎ O@C/j.yK߳u6Ea>^nϸk67E!ˑ.U]k adZ6~;ڕ>م毸M׽F 4)H|R+0#֞,1(zz @4 EӥTdB_Cl( ]Txb< 1s$PEd [ȍ0 93*t5#ȞgLaf='OD5qro}!+;۪ ׈Qb13%N}_>ωe%6PfHOryOӍu&uy1(IuVwO-sLc0iM*7 j9Ʊ#{1DpLƃeF7B ֓lkU`2{*EKP(AxџLrihgqcխv94'z},pzer4G62tuw5\Z.TYoZ,]KD3_2/Jst~*8 0ҲKp2_}/WET6~0 = V[bB1L}b^˧`E DBc q.ԣ{ZlfXbB:'^ d,RoH)RFbQi_o?.E#s{w8fEٞ`|jeVF4}av*,әϘh"þ{ѥ  [V=b,%h2PI7k 'd62 m(ԄE&f._J<;B4)vtR:vKYhb&phiӬҨbގ E'cYpSL(_P6i׋0P.ۨv!4~hUvc4F%xAZ|`˒ٙi_n:)7J;jPʌc(@6Os) a{v= ʯ4k#8zQ=YO/Uۓq bU{lI}XL#e9HRBwhuaD2Ɔ8٢0?mJحwZ)}R]tr>3v5.gF˾u.q<Yơv嵨N 7qbL-(hN(`ڋ6_π^_hv,4r BcL^-F"OO@L!M; U>2_ԐR4Vq=v[fڬ]zib׵8CYȀ*Tm6㯥:{VtNg14"sAxpn-c^k#ZyvtX6cɶex]KG4;HQPUDAAIW7S kp $L̛bR!R'VXsu45bڽxbZ_m^R_X9gz|p}xDoMLhrp9t{hqWoT{,A\5oceMrR8r)^_gx~ɩHuѲ|;E4uθ<.A1*-Xj㚣` a=25EhjM' ѡlG=1LC6o^xؘ|]6oIs,0ծ0M l{jkfQ+|qs0+ymAmn$g0w4dՇC%xvLy{ &uLd+޽22MHS=<7ڏL5O !cV!7hpk‚7$ƂHS~iˊ<{a3x!:A8:-FHiCSx.7>'0u~ɰ"08mNQ{7R׍)״ /7;JcԍN)+߲0NZgsܗfCatwXxdϩ3QBʯ 팯9@f2 tyWlyTEӴ?WiuZ 6 M)Ek2"%MA1R;s-J#BƉLrp% C5feuk/Rj4DZhA'p,s^[7Z#ƪӯw [BKXm E,\c2eU{w;oh1#K4tE?o cpD<q~mbЌ3n-3zh`ْbc\(#ޞ׏ϙ^sX9EGM!Fe0*0m z\kwBFISCgoAˑ6% 鍸-0?ME?!!^˘=7Fw~(;zu%1*}6J݌XQsci>K^j6ߴClf@ʠOD1DRH!xo6-HXccYT#W){٭ l4<7 NU$IiްlSo-&iBmP_&ͭ U}ÁO;##MGԘ'X/ Bϱ\>aLuLRD5lgA|ڜuekQ0gzO%h`bRj1S85a@E*εt#+`(1vqT +dG"1kL?+kd@?iN#70j7Gu'̕sBou$??q;L@FaSOxǂ@u>IdIZ@%vXc|h[(2~?4k_/zP1\˴NU}=_ξ4亀fr+XXˀÏX?'/ɬaq a0=(GmLQ wn˟hi@,#?=O =0,vpl9Y B!>E\RKOmqJt}i؊ʀZ3gwQ[K@l:u6D@}3ᾋ*Qw8F&) ֮/E 鉅GD0tw; cwIzҧ YP ƈ(Aܰ ï`3ţ,Y]Ur|DQV6}++0~^ΪLʿ|Aa",FŘԥ$)BG73T)]tvE^ZցkFDc`D-jDw rl-P+~8Cیu9"y%+Vx h@q@V+n+d6[rV3:yl1xT`e /SL _vr5 \D8>FJٹx66c B+A.+h'==yG mpsY-8]˲SK?cі]9μI_JzV]ohe&7|9wQr3qM|޺=¸)_bȿTXܵ5ν ܺː6gWxمQ fu4'еGr BNx ޶ů dp*Y_uQ'MsM'=*Mu6 AD}_SkɶWÛFcb{(aUa &7Pjn͑^wB2:yTB`8\aJ 1qChϝ!.PQ{ԿhDԋi4ˠqk0iA-̈́kAd"[]EK"evw[j)2̃#ĊY"&JiGUyIѱh I鼈4+2Э1y|qy u@!'_ٲx-luT?]>e;{JgCof lT.s·iܺfZE;'y\ fe:lZM\>2|?R5d:{Twj2=5OGZ:2upqL.!,V:B nQF#U+椨{ˈkP"ZQ&^G#| "ܕVE'^/pZ8 eʉ/(|߀Ґ\a Fͮcd݁s5Z ﮘ^XxE?N-ṰeMdijIiWFDIa 6iF0`:+xm}!2Ƥ&y>9*L4gG7mC -"@]pU4?*IaZx_y眂1~u^x! c.OI$ERA/"HlBXB>ykk7+ !w[N.[vķلJs(*ί?99;tYAk.Wj_ k -uez?hAA`–iP=ȖnFq>d !s"' 44Mcm\)HaHQ2GukE_3onWu @͜uo 015* sI&VR |t}&*5J3CMxv$`."KN$jqP7bS$#F}u ~B^V+HsbK% & Ls]i^S੽l]`+jpjCxfasN (e J-]@ZN=G{d>*MڮHsi  ǶrAu5Ꟗ %xCHo-δA8+fւ7l2l_jU1|r: reZTO`y~6n{9LS2(SI6C7/K\14:2?=W,a>.;^)9MR _ 5):C}⤱!%Aq`2RR|{ֻ/s/+I i/#5I]9QR`- (zRtphK*^yc§ˮH+ʨK{5e׽'屌EH+Jgãs{CSmFʸĩ=5Ѣs Γ#,0Ta0u>5Q!-a:<| YZBL8V! m f܆PiUJ&/jm:Js%jNQJ^9#xQqǝbR4=^ z3mm+}=pr4ۼm[>)XZ}[=" wCGLPg*Weؖorp^]d2 X9n@e=M6h[ԩ?A2 8# f3zm-O" pԏVۮQ+SżFI5M_YƢt6;wp%ƕ$e(BGuha Z*ř†>'FAZ?e ɓ4Q)(Le_qjGqұ(r͋\zQ~2ybs.~[y˙s􎩞#"[&Yij.v"A9cT9S...I?+yh^{OV۳Zͱ qA QpQ# OV$ُ*8>wqy/ǡcdo15TkkF{[irvNjp)Sz Q _#AXZEC S܁ GZA@cWZCzzE$YU1_|5$E-q:R eqop!E8]z>)"Ag/VSi3W#v>Qj NT#0WXD.n&[#pJtf`Fr[(˭\/ r)7*ă#];=̝r}c?A\C.d D)P^i[~Q!P_XD&M+Z?sULA i%AeN1(mE=pɤz]8U5ÈR̾w4A: k-7/{q [CaFol΃"ٗg޼nkEo͈)ϻ*Aq60b7HRGb+4oA8NLA6h %Agua7)~!Kuu_ӸLͤK햬LZg [tGk׽-NŒ14Hwd)lo+xJ4$ ?: PT u9aJ^ʨ t!Zadip]A:`oTm zzn8tVZ ~XrԬ$T<Ft=oS>*NbZQZ0%%En$Ϣܭ,|֭MS7(R,A*7>]Pz+{^che4_43)'-XxT1Bס=zi:k;?nM1]_o"٭rl)*`]b(jaA ڿCLh0Yȃꪫ2پj\>!=>{^o.My4|~I܉[`U|j7@c}_n?UaF#tBjYByg{T~R47ov>K @+΂IY*LȣqߋT6$ $¡p.Y ÊDQG4"H {?.#0$;dYdd ^\B ͪ #sjChql W|;p`.q_E6V䠈L⬜H^ G܆p^TùjB<&}<4hzz}"l؜)T T ɛHǼ@ &\4Tv<610<$Z8}l]h `YFBc(4SY'=|"Ʈ Z%0Q 49>ɿLoWڇu@zut#vSUAbL֑b$͛Xl{\W}X2/mʑA ⒡Z7v?M)|s-*YP:bIfuR@qk|( `fdf|nC'W*>%ףeA &t єQ&۩gxFFi<[?)L" dsI#qVOHѣߘORE2Y10N;U%Msk"n.zT7^>P` NqmU 96co* |&ڷ%Iqi젘D_dE @Z)=Jeظ#}^$Gt=F'ΦUtC'NJwc%}]s}%c{ic:K1cX-:C2{#6/('N*}Ͻب@+FG-*ڑm2wDQݷM}?z:Ak뫷&b”Q25㖱W$*LS$l'Ljηވ|I<dg; TJ3ؑ|2Ɠҩ-!`OLt>#[|U]R4i +/8.^?ŴH d Oxp͞6a.N&`.)qzLAǦ=$ZSѽ{'x0x:x-%H乔\,(x2Ŗ ~ub޴Zu>M~N*ax `>o)ovZ9 w)uC@WcS&k[dMlQ@^3CC 2۠k0ȹbIKRџӜMg:Kπıv tr{ϤsDPqÅjٺҠ'NS-AS${"Y=El? 27 a<@d=㢏яu2n>4K?eYE*DAbp?#bLzW)1G-?:KT\1jXN4ϱ|Zbr82% fC.^Yw^+h4cvd /1ͣIrqgڰQ;[rX;n'/.U yK+|̝;۸=xg!"#\0SxoR{&%=x^nZơVMcPjց~,r$&)dJV# p#ߵ!qWeFHI$(TIu6ǁmtr#s6sagGƑ$(][3~j#m>awU /5$x#Fr]+. ^sYWEJQ[, fZ.- *7[0B:rw=#^9IDKvryIgWo`լ刢?8]:&ofרb@PGL{9 foWY\#1U5_l+-󾳄'Rl9WShnR1BX뜿E`߽o]%Vq4`ld y"! >DW]M#knaдlVEOKki<БxRR$h]I IW*ǭrUxF@2Ix?-\”ggnoHC(n>1h[x6_T]H02#w]`lex!OGB'ձ:X1_֎sA&ಖ1Xyo=[)cPKF }\Vߡ** 5(Ӯ*jZW M|{^W@تҳҲVM#{" 1 Q) roJ2،sB׸gʦI: y@1E>!YXlc%sBP!﬋Xt= NSn3ˣ;P[k3]jś r7OA!޼5*塢zC`&D7uvcc0i2>j9Dr<ݣ~lLjYoX4=皓8tHs5R =_-]*3nJ̪+t%j: Njᦎ)}I76/ KT*lAIg 7zi'TMG̫!g1 ֘><{W]+Λ/Cy[5t,ih_Z"`-"ًɑn7'7]v{\NGAЅfOVKJr+aW/N?fUJTs Od1ޜbB.p)ʸ̷i  F~.[x\ߜUd>#&O0툟C$!8vjCe>*%KEXk!H' -a~u$o`&\Umjv|7)HhfnI%f/xpCo⟄BXevB31ky8 b$,/Wa;ί_ _@G)m^&ピ*rC7SYfs DF@96J[cS&Owuޘ5& bWWNj;lw1MoYlZ:::UYUdg _Od}qYX*e$j T)Go@"!$# ;a"Yg*)j' I]kn2o6jT30|mL+rӟy'-Y„h4Kӧ~mc@D[ˊ@0OX#w΅2e55 ֦pڃ0HU XL]vR_^Aﺩ7g\#_N$(BW*)ϖ~$T~dzh(k`3iB*ev^=>US^ܳ%9r^YkAmE%ΫanubpB2q ѸHv*Ϲ 䦀I!a^p;Z\cb2nGὃ Dj+In ԉ:~L 85/lhCc!ucQ}&֐<ȰA/+ p8uuiX;U>-hSLڀF0/N \1]q2h{aJaQv_zJETo¦ӎ.;/uˬ:n5%j K&~gn1Bj 2"- IBܼikb_ =N$hgmsKƓI{KRY42fK  Ya;ALxw1< !&T4HWvl+6T>??w?E.Q3c; ,wlDm6rǹtߤ],SO\t o-&rLq`s;ΐ;?Ÿx`$ᢢ_2x^ј :8La=G'M} L-^^6o/ftJ6 E ~.({pz:;\6]?E{=KWYβun"\kDR9l%S%WO\>X +L?eʃhQ[8٥K;6,mx.{A$NirCq n=4Ճ4gb\0x&}@fł&>E={}}!ߺ6,>Ѫ1wW}ZM. WX  L-WgRPgM.~6aS=kAvxG2Uc[ a.О,'VB,Qa!ڮw?eJz]\KLθZ4-/ KN[;tW6$: f,M~~ H;M`B}[|nb]o>?Pd'~ O1'DPc÷T /B6l 2ܵD&B}} e<CWhG~BC4wuS쑈r_iI+ޞ "u<ݧ-J(hR7mSg@ki1{%}`̣~H Lmtؔ'qZ7 ƴdd֤VKTKI;Lc'Tv~$HwZ ǜ8$9:IAF܅ 8лZ,Yu"뢲870jB0Fߗ 7/ >mkWCenAH؉iXGJLUZΝa./H(64.6DdEtR汧a(D4`\]2 D?Ssx; v~eWH,msCѾ&)㫴$?WZ 8bv:h7C`S{Jw4t}}diп%2~PICw"*dLLL-UٱxƝ$GlwnSO8ՙzhvuDk@5LkTKrDi1|C a xvDd%u6pq0"aV*QjgxAޔu︕jo t8SI n ᷞ+fk J]yn)\L6'gǑ2w:宊%鱖u)`Iǃ=JP}G"j+># nݚA]|m5=t5ak`7*sltOF/r?l{U:$} E`htߛNܤP,=28\d{6mF9)N$~F!bq-MV7OhFzdvnSV}D<SI3LR$+'t23!5ҭRl_ǥK~O1T>on,/D;D.#x⬊N'b+a)93駱x20] Z%<;G'~C'h1&}E0yR9+U[ lOTD|Ӂw=IۣYI:r4B+J:ީcwha5pJ] Nqrbs2'ԑIiBɄnyV,V]l%#/vRԷt02 &ƖOSEC]e(ŗM] 7(w`)pHi#? qjf.މ1d7@ kH;@Dz ]MyE< =ӦNR'tPb|(tBՀƲػ>v:XҘ&$~lC"('K^;P뉒/JlHkL񹈃v|\;j}i d!Z؅G6"X@#U3a^'ll~ӮQ˕'SDv}N#4ӬJc ).r 68?87oͻ7,^>>нŠ%P 3 `f*t:f&+lR;܀~hYoIG>%P~PQbUZ0LC[EK""Sf)oJ:fnحhhhii辎agl\2En'1Wlde K$fo~Wt!̋SFNsl3oup 䖧aiFERQG1f,נwwIxB' ks!GNQg= keJx|l>'J%HKկ]\4B X (U"I~y?+!DmD2"Oaef$ D-fC4]j_2 1ӧ/5?{[ۭe̤I2qC[H +(>T]-#ԐEf_ay֯VXLN ۟-PhR*J0:;wE8a̶"VD xeKP|';ԟdQ':~՘&vϻn7/˦>i#,"v P#[Mq: i+ ax`nh58͐Q˩OlZnzhWcoa@|PY\O+ 6?K9;0?9/? 0zP+PޑS7Ar+'8LwfvNdA&2N #NVRաӳs<=IPwrIHi3,}Ҳ.˺6^F/4TҌ p𔆠׃uBn.k)wkXks,;|79E$:wN U`ټi$ PhK]뺔7_+ࡀH"93zU `+2V>bK▕,^ ?AN=gT%bB h?~\x:ã:` a 9=ߝU Qť6ޑ5nګܴ\@M^І_YSV|Ot#nduNK7KA{Wmᡲ}zPbt2]x2|- "-&j@B{U' uC54UJV}UaJ).'TrpF.ݳr ⫌WH>ְ*?_T9'?']Y7SG +!Kgz[c̄@BbFr,nGsxi Tȹ$)'BNX]٥ pMx#HďHŀZNSQǣcA7Bwt Ȃ0mfFHd$ 3<) 4[2AM$Ozؼ|.aG FpdEJåٴ(vloъm`9RGj`\)P~V÷{ ͺܑEw6v<,g%(9CcCQ o\kx4;)!Iʖ-xAoPnԒ4Ɲ:_[?f 殤m꘼-yY]b^u@E,t}+{Aեb[4ޥBuEP#far>yVTTAz|/xE0Ie`yZeji-6Lt8$WaDЧ\ڞ9A3P}E۟)oƴLPLyYu BߔWz֢^3{y ]ԮOaIQ,)h&1TgZ۠Abcл 2@;l׸9Mӵt%tXqՑ{lES:Q :_1e2aB/Mbf%w̪l(ʡ0 Q,1XLا wrUmŤ):?'3 Ud ,X/)(T4{Il"д)ꂂ[ xx9ⷰôuSNNvd$a>{ [igq~e?YH& Mp|.GNENibmƐx&yӪpk۬N;^q}Y53R??Fuy^`Fy𪯶NOJ 1~nTޛf&``r cc{>cVV2RbBP^eڈSHiax9PDS'( 8HzR dּnøak\'蒆_f\۴=Æ6M`3HD8=TKzU;cbN(yX߁ZmvMkh;/+ "bm~'cl¦ /A+FR*ˬ߱ Ջ̆S.h?6 @Mg^s}Me>6]9jCwoR4Q!Qa@7{6\3Jڷ܍hK$H|f{krb y 4Rye!宋j'lo^D[ DP5?#fr..!I̜<E= RS׷RYAX4 걤ًT=4AJT1%L-+ycKW5˸z%׼69lھԃ_jJbK6OܽwjOȓ$[cAzU9<=y\EK/6{T_maVoW>Y3Dyۢ) !%&#ǃd>l<0}̷wp'VGO|L^Rө6OUXIuL† E(S)2V >w W~QUF;$DJwZ`t9s[+;v ]Rs2юaRd+*JN sSch94:&q=6 #NcG3.@;b% m`'&y2ܰ#$fPssw@J(U./ ,F.'C^>< 9>xp(&R$lHctfS 2O +z`Bc %iVX}v+% ([5yrE+D[[Byy nYhƲCg {PXQS!O $?lZa'öȻ bIsRA*щ30OBM*$S=7 H<0쭰]yBIz^TF)hS!%w@7wS3YNնH Dg-RLNuy Emwxǿ&d~:b(I|]86x$SQo !!`ә{{90^!Iqrg%9V7H05叩5jXYo~!۷Q1[WOߗ-k(9FPl]'*UNSAfRr}0CĘ"{wvJ#M<73k81:Q 곥Gh"1 E!g-;`;!} $db%%^N;,9!pjݟ~[L0jY;\Yܫ>1ZƊnظ.bPDi!е)+$eAߣq y~*}1,x#?/w% wW;r‚V[k^!Y=g#B`+96nJq4Η>BU HW=MTχaDfirc9491ț(ۂڑQk3G^*6K]E7VtކsG8Edy=BBWaӧPҌ4ټ Z*QfS85{ 3/tVĥGH@=^Zp 8W߹TmgW÷0A쀥8On$[\?LKS6G ?fX|˿ʺvqкQyi##VO N0!$pgYف2_aOSU)يdB<Ψ V(gǛ(``4"ջVҹ ^O%Kg@@=Tc,~Yzz8 vLDiX)c(±WqK/~sWhhbhHoNJMм} 7ٱ؎rt9q0D;ͷ*:2=-P/"re~;x:8&ri&Ĝg{g'niUi 6Gs4R/bÌZI) ^/Akf-sT_&Y\/Îj0<3-=9iޏoInٮb;Rd1E|_ϼ@bY[ZU\xClB!r `gC n`{D4|yQ0UNSƕ; aOxZ#Saל{+|zK-Y$lW\􉸾[])vGK8{c/z_lO/a wx;y*͓殕 xήO#gfUaX ^h>4Jq(Tu vc`ZOzlLJ['CdU_\\,c8:`t~7)_2>%6Td]cN&}'&m\i(n"f5A~]4ݥ]b#اJh쿯S8-no t8ϑqϲ51~jWL> ;7q'KwW!w{Z^oaSz)N_i 9-ly[z߁A-v-9"??]#-w|H[Y馗VMÐL}<9/OmB&Gli.1G:gbfVeoCnyXHxH(2j4#lE~H b&#r;a_m80)Ix \b; 95{iqJ ߷KJz?>F{I5N{AaD)i 3OWzj*T @pJ YqY Lⓛ Da9`㼔5dw>02c;)]m? `tջX8RdkMO$.Au"=??n)X=X>ܽt.NƬBY c[GɽDо&aL`}ApqAߊd|l,!BBrLn6hycb.%ʞPD27Jܲ΅~7ԇLg3:~31|qȴsM*cۿ+1p9w SwBL`|L{E{wZT?,|wsPE6C(d޴|/,Xnֱy>LTl>n1%pOȘNY`UUk{YUP;쥗͍f͜.9ʌfG9 H}Vw[Io;xwu v<קȠRfSLDH1|eI fOHP'[+S5t(5Wl|(,HƇ+zA:.hrS#8Dl4ٻx`Zd|镲[P{nUTQꄄ?:uh]@Y!gOfh ~[cg} !.фT&$ļe @z\`Gg7E{~pbTx#3d>եcݯQ5"o8?gPp43kD%' l%7`7}P;{a(2($e40} aȍFrKǦRM.q"rNA9.&sKlЈJ*Kjzy3Ω+*w@{H.Rgt8,V&9t߸] ~YƜ A P 4bK%5 ?YO$ġ$K#(UG$xgq@ȿbϺ7/!T`^Qok,EenpTtsB%3-Lv27et+Veʈ%|Q$A +N#J B~镝3>v}0Y`W+r£g_JcyFmCd:߀n(^vYLbLXUK@Wle~k9;K]}{| c9LzM\}"l 2FXdpɅ̤jݮHցǓ3(z!=S*)Jv|#<'#uDBM_Ä|njEuOo:AQ3]6n˱]_w'I:y O /[_QL*%;~Nd~!WZ^|+nkSiUrK'|Vykߋ[yU7ZŒ5mq4ҥq]Ķ[5f(uAe dP46 އ Gqc -&O|XWY{tRg`] f[kf6uE/T ]C3 nTJ"PrcD,,LVGKZθ6M8G\'d湘WWm>͖uw^,m:O4a2m~hOTgZn _whڏ 2= \pnЀ?C%exqUNz%ύ<*SٻSO߅] l-[h>f}&~dqQTMP!*>\UХ%=^#.?P H@20p )Xqz,qnz ;YH[nݖ$)̋fIE[-88G=ֳzjuլj/yCTƓ+]U ia$U"`̷WQvDOL3=LW-7Y Ѫ#?p:] d $1S% TNoČry˫u!mK9P>oO#Y bEVΔML MQ XaYIx{TxEhL.h qj,'SW?Pv85"p ]XX\9Օ3@0(VD[nI /L_.%S* IWj12prWZVyuл#2N.]'GrKgݥmǃꖮ:mp?at,JuG!23̾㝢.wȨޏy <.CMRDD̡gR[M H ,dhtu9W]Ij 0C~^&b* "|୓k$g X!7o| @ $t((6c0N\&exEJ ^ xSKaT;:ma|>pztS"GӒf';H l`ҧ̗_rq 'CqwQLu*cp_‡,}7HS r70\'[y͜Qm!C"l ekjbQskSX~]wo"1PJ0d_<Џ 4K^XiqK^Y3'C(CH1LʬDPSxOZ0M_DLSub{ 2ӕ#QqP ,͈ù_M~4`K5I E`)(B!QJzT 6pOsX h.Ipb-A}ncWURHQ$|l hKW۵8LG47c *-fQ(+ftZc׊5r(18.(}& JFK8:摥fS? Qv;WW_]0{CNH}C \47kbAmaqH3/IA"5((Q{jTr>6\. @f P@kxn&e.p{L_XkץtHȀL!/Y[gBXZ^$ sͮ7]GO]?+@Od,KHrT6)Ny Cž¤zBVA(ц %"KX,;;V9~Z1بÌ5JR(_U#;]ܷK֨Uĥ݇}EI]sz(ZU{iu@:m^G.wj;VSMfH[H(5VU[5lEq˱Wl!Vٯ 餔xpo8{!+|߸MZO,-Cx0GLv+MxT)Yg7{Y7l ݼe/c\;y˱0.cqfo&Fn\c!]ߣv\SF*~(uPe`q˷zsѾfzR4u p[Y@ܗxs^ƺxOȘ©$ҐW*;4JV{`lc fĻA"Oމ$A{yp\,g3*(}Hx=B?YI,DS]D+V `}cv0A6Զ5zd 5i](KU~2h{vv7!: 8VvMٸf;) tQD&~FDx&vvpgéN6π c/s2ܷm\o @nMǑKsBg;)'lt_Ų-SL7cFyȤk-vz2w,ۍHNZ `w[[aΈՏ5- Hsġr(x,> ߹sNX#w%}Dӫf5 DNqӬ"HZP9Vsۨe03Sn@a~zCԗdWn+V XUOW {1Rr"\K]klG66rbCx&h_Yo&fPRWJzlwSvv8ˋ#7 **sA|zqſ]U"_Ck0}B#A_80A/B(5gdzpБe+=TUP;iNI&tu<^ UxCavTSx Ɓ!XdmZ B:@#a-^}^X1Ey\nH_[!'B֒aj0K.B @S%_q9zOL|H~$.˴b(B3b!e4_AnFBts# >LW«*H.(90b @r5:sFdu(o KA$췎bG$|L*V}7i b#R@1+)t4FjrQJ[*i?W24lIj;{ tFR9,Pi_FEylqAU6d1ڀz-|c @"ȗ۴s~HL{*"_jϚݏm{4=WiJj `8Ͽf}k)fk5_rZf*3aF| z1|PYtR^y%]F܈s-|i}Y-A- )~}5g# ~\p#HbJٚռyVRעƄ3ts}3Suz|L KcR^Ω  ĸNȼ:H)S{%܅ ZJRR'"mh͚uNDg/o a|ښ^$ɧ_& h{Tv\DK EUV_:LOKRae!#Ԯ}#@mF³|zYRf%',?'=Մ-W_Y8^ KB&z󽁾~kC>}?6N9IvKƊE>Fs٬R\e2d a8N֝Qq uBt sU$jP )|nc\!H1K6t@< 3JkM gI{yꛚWj2Vf#bGPy||$T0!(d#'޸oн\kh2zg'^iM"2gd00~4}3yB3mzm]SMcsuUn-7ui$4]k8cʃg!1(Dt ç1mqVpz R@Ƅp=ya9XdOXvhth\/ T;&XmqY#9z#" '[5 y#x%OͤXyrW˛`ΣWjVz@hR8DShſ,>`ZqFL.wvrՓA" x&m:ٌ/Pj7aú/h0#)䑘Pmw[JUDB?k/T B mp=h37 #29XMPnZ>ݞxC'K>yNF^7X+DAƫ{VrRS"ni uۥSY`]t 1D&~Tpdx{*S=FRQWX`7?oNkSwTBO cYg8A~^?E0hP+_ J!'6O `1!MaMWBhÑ,p"dw!/ E*1å8EϛdXR/r YW?Ve71V"ǺYivA< ӑd-)2cv g~ρ^f/{p< TrI+9ͦsLĉ0`H%C^E]j)|&}-]. * %ʷY~pz溸+a J:Щ滧@ `{_DE< fK)9|I^>+msĹue!j,;¥,Ytl4< tIm-j<Fz j1ݽɦ"?IXTǺ6n5cLE~NPk!]VpMV*$;uAGUC[ K 1KMu4M/pX\Hs15"S\6gQ3-Z<{c͂LHЁլwGB 0t;kWo*‡]_/qU>C)\e'q%nT# +BlŒ)k/# {˙EkD!|P -(Er9-3Ј/p!MEV_"&urbѪ{1;ws?j+puZ:ɽۄeZ˔ K;& e+j.Jz&DDFyhѣTr# swݹc{/W>,qE)0H7)t5WR&}ШC/3"ǏI~[us_M X:S$Pt#v퇷RJP4ϷJHQZ8F%&qpOC9d$" yYَ֜ 89 Dq"^_qtљ[o>#4]#npֹM+J掓 &eٵ^0#vN߹~U-02>4PY-(' k ee+Oy=u]EDjz>pjdj>ݚfMw+Pﭶil˰$͵|+29}ɞg0493kVjmߊ) "׼. 6LђGk+E陗,ub;0wC+#A<9*T_@;iɧ4ʧIͅ\b5'FDi&ua52 ͏Wzh5c [ \9@vz?!>Up"?1hayF)_%OÇV=y.H%.1SQSFClhXt$}Ȏ}R,%7 eםyOj6eiAw5XיL~gl$ӾMΞTB6-R)Cvfh'doR GbTqli_9U~F#п=^`c;GbIlKY5^h笘CD]/F<R'ßJ`6vPM 7_IKyKI/(xLp*q|CД+Ju(.[BS*d?.A1H#OlfU /~P?n7ªOuORP]O4ݝC 1*,۱E%Qp)*¾[tT1g6@uޖ3 @*RyV)}Oe>^PNl02Z[h 0IW;itn*4W^nB}ar*S}ոC J`T%hPvZ ر85cUURqL-g}=K̷Tׇ}zì2as әkXy$[E᜵jםqy0/ki;#WtXqѐ~R z{}AF%yFo$T?7EZ'tTa*۞1 2kZ^N.ekf1&b zy! KG(dߍGs{۽r$"Ib5 C"S_!FDgMN[\I*w,4IEb@ՙLsg6ofNG/%rrhG兾0_(.FNзܮlU+ܟ((ߗ.YgZG_x*p|]&5?*a_A誷r;~wԻ!55,?*avzui QhA o۳kkߺ i*oY&"< ڑf~AH^ ' Ҝg6K6Ձ ÍvϳPGuHޝ|hUgVPT|i[6nu )=dDRms:ԭQJSs^n6yLQRL)󑸣gOȍItVe j0i#M!1li0 :[ҹ/ӧtmYx!vcd L7*b{,J6SLlD34<mhX Q#!fLPj/xG8f /S YU#P2G\%Ռ6w˴7 B+|vSUT ϼK|Hs^KӦOrMPf~5H5 ne^K!3.$߫{F@nl"a&0F2σ N Eք!/! K MϾtӭ{d*L!!wH& pk#޽IForH> {IHڎD=5%{J mfdt7L]4á'cs@`Đ-vMٹ T7C,Tl\X"{vѾ:usatkY:&umX-w`Z@Kc&hq׃GPr#@tiS!& 25QVe.W89’ Aw3)wǞ)zj\D?u9gB#mūϜOyOl}WKhGQyxԊ3Qi\&K[iC [E( L+ԫ _f1\ O 0(g378 -Dy^UU)LY Y 0 ،ïIҠ ,^*?.OME>:;n5ϧR#4:0 kU5ICG: ae87Q\bX]UƄW+; 3">Jsq-G83b. 9/vu jIL#{=ΈZi(-dD: GIn$ ՜0w%>qm1!? RC:TèT^E qILic!۹8 M%),e!Zf=ojY7WҶzN4P> UEs_gh_HNjⳏ-b AnEV;ѻ6%Ș5=̿ Wϝ=r8&k{b:SVAV/F j5#a'T q:>zߧU"n6#yq>l4J<8Юύ JGnDLKԾso_oWo6_(,U K;=轷}EbFM嘁Xz.e{d/;gk^\ (S55,~OFejwtV0ǕaXJqx/?3X#漩(#ɭd jpKx¶2nwkwi-'MR<=%Y,YUn0^CA ^35^T-:}gBK/ oi?_z&0ґE 9I#sZn)vq0,yh#z Ej󤲪o ZB G|O`Jxa ].Éd.xrхr Bm+ZŨ/T)>x+BFY5,[ ֮5cb5N$c$0"s:AY?QsjZ7z?n'z05Fw-@#5'-Ӟr?d$Si <`>r/Ĵbc2˖ ].*K 6kvhVJ؃TT"qIbi3`+ye+EmǸMHA rܾ[)q4bv3Шէ8> {yC>TΟoD'0x}Tvj=xoVk`c{Ui yJktJʔ?E"qǰEYWG =*ζD^0ł _GbZJOf% x58v*G=FE^4%}}=ƅ]J6xc>Ӽ1N6u.BwR0⒋[9:^~tk+R!\N}#w޹jd?07:K{x'+(Ąc @?Hۊ}.kL<&Axt $wYYab}xxln'|{ꝯ*c Jd~T)t$m#[霫mfx=pF& I x"ؙ⏉x ܗ`ꤚ*s!AhrsRsK|!Z n3s^ e CeͦwR-6Odg5D ="%8s/6}Ӹ wmŢlK9C2SD${da،(P*VV@_EA~EXwC8H(Y2f4ODԶ#l:#8-e(( מ xi>~Qs6d:_AC(VB8;*Bz%R1%o1My!kB{6p h&묽kSV16tPHwЪcMډŕtih .V.&\sY=3`VbYj0nń1%οT+G*@eEy^O36Q#5BN'  0"K=H3L<  ١ ;=1`[(TQoMX9o_ mZ^75믄`Uo+mdAyhrP;Uv稌ϖ#t27A/œd@F3:C^}9aS|T PʠWwLFh%>|n)<`R;;rv$>Wrpe+5%=79ɏ2 cX>偧 Tq\6& T&ΨX-a@F;?k *34u>UCajbts74]2=PG73J*iNvڲ£)X ΗH7rcj,} ^h2P7"L2XI:0*UǴuI%k"w8bŧp# Մyq}۰p:yKSJ7vZ-hF*E>`|"F˶(4X>?3fkxC@΋ XXxmD4Wj}4 }/g4?~0BT g}km>nV],]@.XVHge CVH!MbN!9. m|$Y˒C "eҬcŐ@oMc{gpFǫ}Z|x)lLȫ5TZ䑚oRYƵu~œЇ3{S[0 (oLoq\n~Y:xAkEFN#zR:+nEVôփ.bUhF`sG7٧HC|>Kۡ( n0&'!҃֬ޱ]t3kF]Ap.ْٙ7Up;RrY ^e4lI4WuD!e\j5iè6Fz`LHe|X`mUF6Y5L\aMsb,FDs9Ŵ.ґ*Nr- J7Eu-K}Vc'tɭMyƖlܮA-;s[ay5|)ܑȍi{ LB牭D1ܿ zץ4aW~ڴgnU%iM]  ORߟA/6ݗ*M^ "VXV]0or]KV0#= a#ո$T#vRװ߯oOTC6U$59jWH!?+gkA+1cΌiHۘ)6U K-XdkjrKY4ɪ-'34>SfёO,z=\qHT,/>FtRH$x(3 ?˫}QpL'ރ{eE-koqP1~Edqd:{xz 4~mc,sQ~Di#sOCoQ@#YMMm@HDhNzwsU3|S 0k⏮~"N ^*&Qp `gFX,}'X<hoB{:0,K. AWZUie0]=4C!|l # 0iDi2r U|!XrQPYuDi8pRj̈́"8:]Xm_qhc?hGLS˸kϗ`uw?ϐO (g(٪FczT(]絀ْmO%cN7;ڟ m[Y%羵C߫DSϱ+~1wL.::`^ jfy1H-FPMd&䇗cR, L|fAża,W(\Q9KojվV`"\M eA$LyB2ʲL{ otM&CήlO_TO]ݜns$ i]AbVL61R“Q>'Qِ AD N`dMڃ$"r*(K;KKZ%7] T_bΚ\+s C%.r GɑG H՗_?oXg2<ئ,if'a=զ~Yf $O"8>i7?Ѐ%6+f{pb{IXy ʥA} ] 9kʂDOmךVYMeEbCcۣf3'E=Yɂ3ggX]#UxztX,- ^dy3<>P 3 `+&}W:?[yZY($_2Kj!,eo}ٌE`\VNuhH -}0gf젛C?03:xfJQ/Gsд3- BO .4fD"o bd,V~7j̒ϳN\ +s[I3(5I06mҤ.!, ?,k&/a/fG))Axa+R8천nCKF!,WJzgg9>A"&ZٻqOhI }Ȫ+B)u9}Lfۃ*u 2WJ!Dug(g*,Hd!?1yCM]ωtPPs-FB患 ̴P5ެ0(f~±z2F]muS4x^tcD.׽{Tn(q7mbK>T}6on@]uXNQggN7^sKmTur0e-;`i3xBӏAg6I/Hw?}Sx.i&Ͻ&vxeHlf싌iКLotZ,>q$jt`K=?R̠6G+V&g}1Ka{—eR7U TtDSE/ZQEF|1lGtD^Q3ǣ#w i83F*?D!›V}3lXN=ٵ'}T,\ujtG z58V1g;U0Ynniҏ Fʼn~n眪/ hoi].n/zFt55'gd_dD4lL AHixm+jkZ0 ,S)O=_ĝIMr,ʙyW^W7[+'0-勊 ?%cީ|1>OacR=;E//;(h5d7 Gn UXMe&;&T0ĕyG(At/^?c8_M kX6:vN-:>@1pW6ГTK8o=^o 8_N=tmYu^uE.Crޔ1i%ckw'=r eVI ߌ]?^ӾP]1!eJ@pt5g;HСQsd G%.J+6]A-]#ʆ.2q2+) }>YzEU]Y$NZ"鿡̠,3Qt4BO:(VȬg7*ϳW5Fh{jU8}h "cڃBx;t-WI/GJH ćؙ,~_&`ܤF0x̍O%;E;WtB%8Fw ?&HaxX$s&)Ƨa"D+*j<:|xp;ZeXh5NwrbRL6m~JmаQS9I7rwiۛc2g7gs# $2`1K\/yVLamOL1?(EI]W8S(2!TH_ 靈")'#ڋr+DA樭%r4{ՒRGJMi,ggz Z_ ڃ1 %8d\w^㢐k+\l8\ǯ!Jlm|1v osEn >\v I᝜ E<}7"H޹+ e +գC `Jab#U$),L:e\VKlr'B!ly[ +W\ςf[n[-aL =A*O }FsS`x\X?kJK0}6|^0uA>RzUI#j`t·HG`#SP*i\kC qc2((E j P\~i~> ᭕&n+/"Yx- ;[ngJm+g;bgݿC-{Hw0}yHg8}[/pf) :)\-۝2:_S,e/I8Q̰Q!1籔3ڒ#<"n4^;1>ԛN\ )y vϘW0<ʻm1RDMZ|+~K2u*tV Wq4^_'B-ݽO\)Z"*ՃLT􃐽)D^;#>0qb'?1@Rj-ot"c|pM_6!Ygu^~+S]\%4T҂Vd0emvVIw>&xW^s >}j wlbWK pgWG@TҊ1X?"eDխ$TǚW"8*,Sܑ0ۑp PhHćD Z)9=û)d.VqW*T#[el4ba.8":&Z +̕ 0cosJ\A D _B/bCi| =Ȃ&ujdçHdwRDB\FBsMG;|'}IQ'hP^{(V +( ޙN/ |C*P~,F51 d>P?[kÄܳkbs:IOF #ث`:+id$ ӹQG!̩Ļ h@hGt vUwu6gAas+i;HR 6Q35 ox8V񈾩Zc_h~Ly;[&RZ(NS2oG*~qC Rwx| 9#< * v's3? (Q{ D#"gqMzJ.RyHoF|68¿2;\Fw-J{'B|ag?=I\~,_;/T-5!#+&*K*GG6 D]lAA]h z9 yP|2’D[]G{ (fNCIƢTt#?3:$4粧 9P5}$]:n -'bmN'}xBru{PK В&E{7T&P,mnٿy䖠 G*x5;C&vic+^CE}МZ R`?Q9 ?ep)1 j YtʊУ8c` 7F壟I@(!Kp|De_V.Y$`!Izr*̃bd !5 j&^դ||p:DU[*1/=ZwņɉUwrɎ2paN.=GomJm@Ξo}[SS.9-ϼF#vmdPF77 $p [,݅ ;kFn$;w;DW,}RQ6qֺD j4ҖMYXO,zPC0L1OS"c N9w5v4́z! ~IoWʥ{"Ů50.\hsH9HQSe,AYY }[l=6 ԃG|V,ן$O@뎮 {en85\/B#稇6-i_}'M<+@"=g|3!CH콽8+B,$yֲie'+J9plb\ࢵ%I7Nm-n{Ow2:TKRɞuڙ]SfmlH?Wŷp}.2H6qw lv(X=eB@MISʣ݂cއ}v+[{vE{taIUp!S_Gy*/8[fȠ?cFJEV;F@٠ǁ'BEzxyPdJy|"N/<́Cs87dB'L\o$Q6\^ ]SdgoيˆD;Nm4I_ֽ4֣Z/$};6DRAO6wc+q0&w336 b~gMh`H4읙ίI_HU[P.'q:R9Z"2r9)T3' ij=.S)N7ݽc]Ʊc|2O2F\2-=OsjpsoHvD\O:CFų,G#kG/^<]IR3ĵMd7HR,6vrј񠓃'V|NhVr(F.4x_[Gp7-fݴPE ́ޭ˽(@Gl@IYJkŻ +8yJYgkyۨ xku!@9&}!8¶8-OfDL KI7XYه1DEi]`;AX?ҕOPV Z創 G*%V.׊)wEӑPsBЮph*']#B  {(C֎nrC)#5Bq R17T!5\?ەw A9,scٕ87jێ2wsD7e4rdK+. ۪,cz#ڶw[_H */7ZԎW8#TJL{bUжI^ʄjÐ]gOb6u&8[?-b}ls +w~kp^#N)ͽ1gyˎM}]B0ւ09B-fLusq ioD93螜붇`n6d`.Xp">)MG C^|j+YokvEͥ:s] O8|:OK8ORdC-ܧRS0,f'!Q8|KCY/XR0?DF`fs{[ Z%fBt%07'0vDjPp8ḛ̄Aogru9xR꿧]}\Ԇw * dOע\Vtr/Bϴc&@oZ KM5}#9He &=,"MCR6 Hs&/ܸFg$<-H, ͭ|7аӔ[ő;~Kz˓@sXa5joi.ڜ+eʄ#pڪHt"N!t7{HfEu΁_Exn`l+Iܩ.)1Vurf]g ԁ `㩡"4$3\Kr+H^`yYBr6LdѿȾ9+z#[[R 2؁qvßܙM)2LΆe87.Fgea39ZOȞ8FE_^*3UvG[N< s,.p Dfm C"2U_o<cK۹I=8&[ snQ|EC Zz;t/N;N%TIC0):Sz$K<,q@(׸_Ýj:9[|~9OL%ԝ@[d$w"PevoՊY>YUS;{an2h}ER}aygѹK^wl=βs%yn@v|XQ^1S)* -Ϟv@1)>Tb2MXGaYLP g7vW6L/AXhg1|Z:S;F&=QD[WMw@{J"4D~[djk"R e7ZAvL@*M;ơ^YB>lRB>#fſĐ7 ȓX6m'x+#]Ew`iEknw6,6rUF%~%ӄڳQN6iiK(2Ἒ0 bÅ|uh:Xr|lhكaTWv HH6~6X6s)9mQ' 1tV7͖t{wYmrRsѰ%Zangm.R)MKeFfR'Y T86-yt$N$82I?0*l{yqw|gȘJk $0\ߧ1KdP%?,R9h'؉H.̝ṕT\?@~V%OSY)SUq(/M1NK9ek%H ͞]ɚ^?NQ4gzWQJ8 Vϙ 0ًlVGGǶge us>4teZȂ#\Hik ;JrsA( 32Hl2 Jݚ/J$\3=Hkt#6GOx]lϾCMw}z*!WN{ͮw ߡ i.ngM7JʘPG 0|{|@z^AGsȓ: ;4x GfJ^E`(X$g-˱PlwS'1̬Iz]e/y ۝+cCa.A%Ni!pT?2`KƨM޵ Vff/#GzCx9EmɖҠc=cEh O<~AuQeio/i/!U( {ڝYX %Iu'~z0IhwWCoժ DISjP dGzWi'# cTO'i'u kjqJ(ɴ(GLԵ~KUT[s-d? 'L|~H" cN #"[{x:`nv`b˧ ܴºӅ\$NwIUh1t;2X4]hrtDv@˿@|.^-j$q"ZЅfGE C"j%3zj_G\R 0;irSJ}4jz+|@P@$>G\OH?(9tv=Y 81\@",6\dlG.p(kbJw\\W/rzN*}wG+L~*! ʴ K*m6o=xl ѡЭu D?i98\&su5[`3 wBk&2DFLsnC8B"ͣ_pD[5lp"(aZ(ӉH1}Eͩz TFy0Uݓz/^4;:9ȍ@P\qv睦!tHr,!Mp}ҭJBm!\݌0R $G6펪n]uPt+ň=ld"ej*>,S˳AMmƔ F[u1[HROךx}*ZȌu @9b 3vn5i,[y{p!STjݞy2&Czy;A8Od.!-FLs1Vam*-wE;u"v5 E K`}Ӂ$4$`x[uH&Q ]K-59s]cX8t>GE̯, .7q|k ^!t@R4!#6(uUf;z^V_~{Wlv&2^3pf&w#r<ӛ靋с5# \,cX@D:aYᅓ+bzڨ*u^)^ϥw߻tHhIzDmxB[=]/ϳH-V5w RΨDh. 6`\\~&e#wyMRZfGC@bPs$WBas|ƙ]!~CNs\vP,Ŏw[ _?s\E/+*U l|TA0&kFfHXw'"͸^w&s V6 /=F$paؗ#DNEV%F]VA5bz}ۮzp.݄iHiLeN8 'i 4^,ʷ>mC Ut=l:6)CCe8*HôơeE!:ƌ@"{9%28`ۼ#7HPW1hI:iu± uz9HQ@_IإGHE-9k&Qv#gA`pɛiX ,4,2.8+fY P>Zgp !D4IUʑҨ9HƳ y{4AP[OjOT_ 3B*cAo(6}E!1b"@?Qcl~*XG9ކaFWs%\왉2,x#'qr[m/'o)g CE"`wUUiLĠ?WzҼ]N$IB# "LL)q>@I PWЧKq7Yԋފ鶑_H^e%`T<ԐGj& YMHVoWic}|EyxÏ \eyI?ҟ~7ƑwW]h^"~Nwrm)M.B1'b2W-LĢ ȎNpr?u6^!Ô(fn]c{| Ҩ˴_-Uɿɿ !f(*Rk'"D4LBU v FYwd@p\kMu,G[k'|LRxB&SkJR-4>lfjnvJ&;<87(4J@0`lY ֌s=:>u3f/ R6Lόب-5\L#UO7'evaI@WLs|/A_h 1Tɐ3C7i:ޤAeϚ.a]hEG|KMq@ʢCVBk{dfoWFV{W%qhWAQB6*^č||<ӑ-dCI|#o{I{sƪ 4l_+_>V۲j%Wh9) a:up-F9mG6N @ޮ\d6idֈx+ḡ\0T Vh_f\>}OFUШaG~5ǫuw'Ej! 8yw#x׀o2E cũz|]b'7YF( 1KbC2!Sb亷Vd{ ٕWM<uRٕy t0HC(LիN-+YV^ϥbU?[1q|翈jyXVw%;I%-=6l)΋JUv8×/`Nj!v@#(̖2@nIG'_K?#|O6X8?{^ǹ'wZ7 Bdfz* ļ̅ fT z7Eb5\3Kұp_A+FG@k$w W85hdJ 3r@i>"cMphӼP7[}hz*,C u)Ƕm̳oH:4ƂXd|ٌHڒyŻg-qPv!qn//Mؼ?V0=c=yb{Tk=ɑeϪ5U?c0y7-{\xL4hl8A|O瞯۠:#zKݠVժTRg-SYjmW}zy='0}DH)Fȅ58Fz,rh$cK>^eBހz@#uxha ʮGͼnDyFv9 P|3"=oHˌ1]{VcX\{IgK! u2Y[x ER [+NQWNSHXigI=V_ 1/ [;m &|ǽ{1J'L 4 e9HpOȴaW)rv0:#𳴔-6~oM;<{o|M6Xr>$D?sc A^ȳ*H$>ƸcPY!WX"}PlpxEk/FȒ%J'I2dJKW-ND6PP3=ca-P>\6+ Jmb!uQF^ߣx϶DžSqn4u<󺡥Rk>}\c"y"|ObBE+cx'9uft#-]v-`dHLꡋע6%6]mrR^{7C )ɍWf*UxAGd#=?=/Qc239[k=g8x,?&=bJNlUkv3TwuU ML iZ(\φcGA:,Dޏ>z5n 6hU^.#rmпGRYU>ǍV%` qFcwx%i^!|o*(2AD dᵸpPe{},"zzBWvg(>rO=њOGJ|qi@E ! ΅F,  \TKGVtIsjT-npn]Ŋ3!(tdc  N8Y窕r$S"[ wY6) '_҇6#ph{d-mQCVgLVz]-nkkBbэ ĈǼJI)9%gټ 5'\HLd Ð~Li@ȊZsMA,{p0) Qpq S!c> s֗W;cBq(s|-s|̓&oIVOs7Z?IJɻмQ,Gm_t,5xg&}SHI$oP8v L=BvJA=Dغ-M\ AW4蹆-oVBt ruzUcrz vbIMk1(}O}.饫@n+B.~WҰZ2\s5Aߥ"9ٲtF,t)tya `HY#>K<%?HO>.G =iYz=;X@A!+6^u?1,Ei5>u! [oT9sFLoZBE$ik[9{9B y^DAx٣{[--QF`uNy)rwjW*/Mb;ЋO  ,EVMj5mbGM˃.x(v4(:Y>21%{^ǢFY ՗p xzkw?`0)=F%_3UpXqlr[]@{Zc)nkt '!÷'nn\H pPCȭZ˦']4 ,"SmLWj"ㅄ>XWI1>{qNFqy>T=ҟq i*09Ŷ=VDZ0=~2+fa ]Psx$#|spk_W񡐦4=`m {\aGkJ+M%D&PhN+9#5xoB.=^NiSH)G5Ϸ9|Dc^eNBqdw+ϰi S#w#xIPXHRDTG͡ƀǓxYϗmTh_Q1gLbg8 X~ln!YnA5BvFcQE^;ށ6 c)}x@0paW}X|S~NDt}O.7 'h)gZ)Y|Hjx2+R[Җ4o=aC1z=#ūR*RMw(گ3Ew<&L]m3lӞx[%8B6 oRq&kbXaRgQV4̒D!dϜ瓸ƚ%jd0J!pT4fJBWic*LnY| n]\-;65 fMfh"$VO[KP4p3Ɖjp3 ~GZGZJD VnKג;׏=PbqleG{D]ku@79hr8*dj}\ngq}(:wYP<{'S i;5Zk-5.T7KCU8}?[A.0 LeHZybǯ'lHAwfUj$2HP.5 L6wT(/ &}{$!0,mu*AUG.V<ɤ5.n 5M@z` cwdHu&2 M> 9(Sk/R S3u.] MUZ2T]ԋ?Mr7UFX,\R'8RӉCCw`? 8͈ṗFg q1}1i0Vi_ʥ (g'd" /ŭ;oMX hDR>iF_8w}jYi1~֤Jp8e]WP8 0aE;SКCH&Kwr 3ah:>PJ{@D }:%OZbS聊;XY8蔧<B8>GMV=)΢r+pS5`ɅT&ELG0ӑA4Pus>THv,ikAGb};""eW ~=!3}"=POC! FP|4ѮV+Wk&Z<>qXJl|M.J,2@ ]Id"d":\g(~YN`AN1| ')UJ-`ڈIд>Xwj*gDlYwY$i Anӕv\x&*eR1[)Û jdZ؛(Rv"x=FHGin9@[qԙ0fvS3//!d4Ƕ^pj\5=o'޼VCfd& %FXW!!Яv6ZXri籵On5ZPC1EWIV.7̟@9ҼU*NIzG `1 Bɪ3 ,ߖIeKֿ)rV@R,cgv !U7_(kd`"C%;AQ%bi\ wR`&pڀ]}sTfLBD9LL($f ֫aEVwٷ\!VfhOG3=rtKD1}4hkPca%S`AK_>2kFHq2$}[yW9*я%R3' ? uj|7=V%`g-L4v Ty&w $H m VǷv4Xȉ`!qy"iZrYTbIv)^-z@1.T+=]cׯSUUj:qx8\J'Pٻ(tP [FчD-މ58<@KUL %v,qKH +һ2iqr zwi*,>X|\MSoVp:i%2Rϯ!|BGJ'kaB71:ԭ%UܬiN2Zg/Ԛ'jш."=D ci w)V^wBJcSJi`l9p(>& 8nPn[SY߯]NBsKɀth8}rs31Q i _TȭBO|jɰ F콛njՙTKXx' Tx?k@вL̶5cEz_́fUh4ƾD_|ȕ<*$Pi.X 81 jMq^x_TF [LILz>jM Gd1+k}^3_oݬMv E&Pnj-ҭM Hy,#N\嶓S /sEp͡eMqb]\/,zsGkvM'!ڌtGI85j90N Q[]>y۶ $O'5&bdŚbG4O- 4 v?P v5v䊈rhM BrI+\bjs0DJjrMW…:. ) ]]CB SgխǙj_ %VE]/ʵ ah@B:8hrJߥECn+iy*y /SMCJ+h;gf> іPBL@E Clz!2PR#F *\ q:*V%xsHħS$#.)}RA B$Jma'o^U'?Zp! 39+ JǐdV@t|Oּz11nCOS|TOT\8yeI#]qcKV,uiA(ś"m2$= oh~F^+^ċòAA+ 0VAZ<\&t'JFKyka,S_OXh]qx InvZY-k7u,v()4sB)bqm_K2D&)UNIr LG׻K>\=N |ujkF!8I@e}D$#o4X:) ?Q({̸ $<M4.5mui ,3}UXz_HY1-ۯyL>@ )ױWH-y#' 3qr:'.K9a{l~E"&yk$){%+9vpW~2RcL~z?zޗjB-ao~7T?\l#D3,[<]ϜT,M?J*iJB H?F׋nVWv8V(3 `~rX Km&D h =3؁Z%AtZ쮯/[A 5,ǯZW bTV W Y|E45#nV R!ߟ|JMzfe'Mgġ5!}s~5XDc3؃>_ D axz 龔ި´;/+vs㛊( Q0|E,X9{dE8@[Lj#xO G^uiidTgҒ1 ¡sm!vVG ONQg.%(` N)= ٚ?jƶ_)xaWtTQ_ʍgPz /FTc4~^p%B7M㶄t&Zlt ޾|Ԝ_?';񖪜4"%UPr*BNR@Z*MLh\b⮐#=YWy\U^|1Ha zyۂutsHfg^hZbQ,㜷oʄF|+yjZԃ  j-M,7s7?i-*j7!o<0v9_M$vq+3HFhnjb5IcM̡⁖{Sdk}GG[2F0شGVsWəcG3˨:͖ju,\[Rbg6'lGᬥC+?y{ݍ4T?xrp(0S'9RޭfH -K Y?I:/+Z?+~&1 J\L=uѻIft{|Wf容  #5YHAV=_0zb.Nin*>% ce7Mƕ;mGvpw1$JXˏO&ͫ%G(nڨ.{{[Pwɭȥ@sVyK=Ko}XkI޺{H{t8*r~V. Uy=LK0 vEDW0lR,CpvTbǜ6}Ag 0\REM>ߍ:MSj(-X F_hK'XJoz,]#|jVƬTZœ|yxLU՜m *D#}kn-{òד~@Ohb<0e#ԆfmBsd2 ҟ%_XHڻȏȥNy+ $ ͒n]`|GBwA8d 0%PZ#GT41.jd)VZ'2;244}6kJʣ+!9;i.M[@ᒼ։sQJGVB&V@`, 5m*ĝ)ʸhB(unlSvu5؊Þ|[Y_dĘƇupcVz.%PXJ| x=JmAHc׎npƳ5/@+4;6c-]at=k3 Lq{Qs_*`JN"]JO}Qvv7YD_~R0<F7%!]5<Uo鶏cEߣP'$S0ַ}/Mb2)|5R `m^W7m'M6d$tڃX9r[ ʲV<%HMatȿXp8yHU{+Qjxz#N=Rq؀zbYHFES`D%U+e'G,p-e> '5ƹg9%@ ^>EA[p6ܸ_+mtŝx7/#sQUy)>*ax#쟐fm:t穎& ^E(sk=ꝁĎ2%sQCcU9B:\V2|fP5oJyf(.D$|m&1T`B h糼ΚSe+g i'j'O"BIc _D%p#M,p%;=~$ɣ;ҔM%Yu/PqV V.yrHI.|*0 }dKbu#TqFH~epɥSѵ07nVT~315#;ȺCs dQ5!9Bh_K$kEDDϥ!ngHdQ5;Y0oe!=.MU308,)=5$d8faQ=KwG+QBɭ`*!Fońyb0W Ҽ IS8ӝcD|6#?hcH2n*ƈ[0@>}2%GqJN:> /?pfiE ݟmjWFb u3- ERhI1(Y"2EM,@dLxl6q2"ٱ Io@q嬯J~s7Q;n_)/V6v5oXP74JU< mQj~HOS%77mrG .K`eY&g G$ZR8H^23ZLDOϗ r7Tsis BzʭiTPyU (6>!řn{89;ي /V/=[KA[LNg#r`~&f:"MQ:iҊuE 19uX*>y,wqR5xLh:X8]J8OJ']?cY 16+d X#{m-R{ax+ `- &Uڌ}s(K ;PT8}R\nrɻSTRz}(™wZp7uwM^~l?T*7UaϭO6%U[<K^M|td$ƨnuRf&u,{Mj Bou}̣ |櫾0U6՘zqb§oDx!߻pwеׯI:qyoEsp2M qZwQ{zPvF  H->V`if'ʖ gCKۜsd5 ܷ,CIuoɞx6o!+.{pY8aLҫ?κ=0e:raό'(-ɦ@cO&騧E"wR +~ĕ;jטYlpħF R$PvB~^MTaDn~PPBB|k dwtXiY//@}\,en[ UյqXJ6Slm2M3g֓q&" y!m騩U%K}=⪄YI_./?//uW<, (ӻ6-.\2rkh認}w3Du~ocXE%{B iܠdc-ʴSr6icQCbi#@u/LYѣcXin| \LR ݵpfQ.!b'|;Ċs֑ &y:Afr)6A>4Cy۴ů~-IA?6W,6 ^Iz Sg[ܒekNjA>|11HO-%^2l}&sJ5 iЌ`˩$-9.[~y$lS)%nhhT;$ PkǪxh*fI/ ڔ&[{԰F1!j$~f/&hrb@px -+lxv r";q?G,q"8dKW1ѧNb)|5NGEb3\zVw0]q8wqzWkeu??_;]\NbOpLvkHx8.f:&kפfA/SX$o[ئ҂0k̺0yR\&KL~H)pFu=B|9Z$ƋR&T[9.,jX@l5 V.1VǷjִə!rG4K| x`9v$?dyǿ~RkVq,Z7 {{8UU).'e’򶣊|cuؖhFICǼ.wLzC>8GTaU@ UČȅk Xب4m\>oѵ6Aњº6:=l&J&'~P߾nIyڀ-Ҟ?@Zb)Qڅ7\<ǟf\Q|RSh$+&v`ˋe`wgCdT%@IVq^`dTˎ^iƔT``+܋7알χP(|o'a2qB$`^rrv'U ˢu^P m?9z*:YbGӓY&Wr.b_"^+) .Wng5^5R z?. J]h=tH8)xB XkGlHoԺn]=\ k veZ6O{kʈP;_q29lli)k/Ē)sV5[7cq7_#2R92]ke*nmH_տұB~xC\%7r%,k/Ε15wdf}e`Re?5F ̡?ZKY4vÿ8[rC(YX/-=Kh4/^qcDc`L"bGD# )AC{CwFw4YH) }=Gwr7{M〣s'UŎO/tүoj:0$0u3c.UDP'%vj - ϛ!z&ǁjTQ 6t_1d{j ݹ0{yv,M%Cj2{Bn ft˫u6ooffWwT'c@(zk!x]1DjB >\y=ԡ'Opl.YmaЈkv ZoO ŢvJNqwn xIeaK~Fb>-O]LpUNY* rԑ˨"m}^\LsI@HvO%ݡ#~\(Bզ6IPh{RIAp9R(88=/:¨sf1+"'8U*C;73ϳ`Ri8Wj2cDHYFW- wDl>p @՗mQ&s% 3MͻvVmtlOf}S|AyFL4@;eT4Su9'={ߌ"lc0ިP6M#kQ4''S6yN61_ڀNH:7pw^I1ŧ#|5Ol!J B^B &lڳ4Yˆ6<>(5ݜH `:cjeI6p@%#W#G|FXl2k0wyNol ׻U Geފ}ڤqݐP f Jwޖ`6} nzȔv\ G.p"H%fƂӑNϫ䪘]0[NOFrmG|gYr-Lq]8K:)etIIkr'o"L\x$V:mo= ɪ_xdf*+xp}<*@vHr"Lr<)Fx?Ƙv,91jR=7U)H84v\2f=]u+n:v+́VqeYyBd٧#UuBunAsQqW" \եY~')7'd )G*$8V <+!suYCbu@~/Ece7:6Pn#7 ~6{$1HE::ŲxZGX8*p2"!%3kZMSB,ZD8Ji=^DŊe/_e#DhԣAO"(kY'T?$^x*Fq3:A  o~GZ3,je"9ɍHp4 'bYt;Qܼ;랃#:5f4×Q-D$y[+ @,6&[(V kOځć7kx9Z ZCL+˱g?>%Bgm&›0}kLu ln܃nq\d&IceASo>Ts황JxyN2Y=j`T L %6h(? gb7-:Fd7|}Ojo7ԷkfAS^3T#a+W"2h*R,Pwi.452,mlGw( fK޶bJ;;?o~ w.G[Pض|bH<V1>̻3ƣusZV̨b3KVAH+]̡h2p*NC3oXd6ޅfp  k?  .#䴵ۇ0Ve/gx)*݂!ĩ:ѥN_ /rx=iw Xψ?}t5ᑨϲVcea9wbf=?'hA"9ٲp_ۥ0]wn+Qi;Xj D 7hfK1G6Uo.:-RBVX"3 TLlz>&1$'AXPemCxA\4klv*^t=\$Kjm%ƚmײ9_`,݉y< 9 ~a|NA4pE Q*nF~6հ٢qQ-HP~~aGCݍ9Y lm5- /7rgϯTz(LJQ I 0@etX]wSr)9 li/;u ];fò(oXF^hvߟSg5{'w$8x*g. @1awr1u&2SCBʠ6 艹,s/:l@L.#I2.6CQ#%m}' ɆY2([P'`|[wjd'fD!OX'Am>\ߢ +m]AKe~Lf2߹ *E6Ѯ(zp fج֌6R%đHKb2nGbn-$nj98pB.XKtNaINvDT3yc,*R?zs1L.Pau FI}/gm7ERL/N6-ɋ *HMdrz-g5a۶:uB%搐~w\}u)9>diOR6_沰s咕_HY\OE'hk[/]Ƒ1(ggޗ7Ӕk5@0Okьba9wLzSx21qp #VjҼ%Hw=f[(gt-0 F}V&wȰCc .K:[ TK#ww 吝QÀ LJr|6%'WYiӿQbTU·9!$(NLoDjy#{|+Lzٞ9ÔY.ѸX0©z`S1ʆ\K_3#P5KW`>k+{7P93rR+̛%+ {u)|gnawG)W/nBK5)!sm]шSpZ`;/?Jq>@R凮<JݯԚ?oX,Sa$TmZV].->:<E>Ru4|N' m q Kwꓒ3.&sFNf{J/Bw`UC$\fKzD7IMxÄr'Qoeb@1ɿtjTӤ7º3T kh{R8xOK73IuȾgi<%JSHxsXJ}+=Rmqn6mtjC6lz,X2U1yƩʝP߼K3*+P*>Rm󖙉aZ` 9䦓4a8'o <ڃ=ۭ LjAV-$kEÍJXV - d0,~~^v3E!k2hi}~ߑ N&ADɧs#)tiI3([B:svZ:7,*M3)M- 4+}ZeUkZ|VY+iðs}WO`$wmHTIG2BMk˽R' G/Eb]se?H){~ WJcp[dZZ*~툶' D0bSbE3Ѽ% (.(AZ|S LKD {=$SҴm*gfאk#1HPRI|)T1=|:.Jt]K=059E5Iz/UG,ZyLr) ͭr"ixEOu(in>:Q'J6/4rczac/1l cY7-J.'EiJYc&\%C{ȺҡjA7~:=G;!?$؀j {7ޓܽpj Bw_kRX.i&7'Rg< غn33#uY-Fޖ`Rdnr=H hҁk5?6Rۿ.r^Ox#!}`)pvݕcui7kA3wbtO /ٝ|/o;׉`x\Txfrex:B*|޶2u^٨ßlIF<T1{ƼBG~%a8Qo6YQϪ~b+jQ2`ve*IO _k}q:o.% #eݞۄ-YkB) $vN? IWRB파rq$5ql+ԭ50*uIɿ뷋7CsIbg[ FjDtk=s &^B-5q+{d@zqAb8c1@{ &$?ZOkNxO;2cxZ%B@{u.5?u@IRŐdDBud[7l4Ȱ=O^#3w[x,hqt~4 ?xxWڣDV= }H]ûSo?L3@~1am b]?q3N"]+V1_6"ɦ S)s8<"iy>õmLH])y~A3w?U33-bhF&V0Uǔ7 ƇP֦ň9HL7?{f+(7*d%:9ZP"W~~_QB-yS0EjCb˭V%\ߝk|s&?m >/@3i[7[8}ǿ(/|$NUh߹ÙWyrXtGKE刦+.e,t%-!oBC>n9W FzJNEXabOOnqCNG,wmyUNokǪ8RhJ'`Jֽv Alv.LmMj'0$N6@/K/=Z2;+o%:)ɔK KlB =:Q:hU #aCA>vnyH}7(z\L{V_`sHzr<HYt= x1ijlncIRlNRai9Jn ߇e&%RwB}1K0-6uyKMC|[4 m qWӡqsĿ+MrϨpIJϽ)%NL௸4lDm' GqexBMSvayDSV:8\< ~AhÞuzF4$r:giSw upFE誄| ^ȟzTD"}CM&6[_=/kk\͂w'"Wm+ߥø#g|KpS?R RDJ[xGBKUc1XS ]b鏟v/s :! %$ )X6ndrT6cɦ* N j}Ts n=U7{Z0?55HoxUUScٚ%y-EY6Y@FS6uhT È<ד1la8cXgVViMCO쥇;e'(3B) ~tU"ݵDBBkpl dy;ɌHhDL?Pcu'E@7ڌHiCy 8pZsɑ)fhJ>BỌtZ_'4eF۾M.j9L_F>&9ȞE$Khrj'O-=^C8BwtufWFh674xG ,`{zp3;C(,h :, U ON&ήU6s\81AjOL)QB20p$#?'( 3?(Z H,kb1 | &Y^;|vlXiޑ|?Hy,a3/5Bj>ɴxא/Cu4mwXj{€:,>lESFEq T#oazF^jby 0M=7 iyo\ȱdO;9+;"AgSR2-}*}bQB;G2muge 8 i!ŶMeEw?6L%c<':ޏM?9 6,8&cph!?$bE r n"VSai9=\:[&Nv||J e;i(P/RtaqYX0ߒn#C]>ڪ ~c|PCdr <7'ɎYӴjc^Ý'Y:ا&R)P֋!1?8XTs.Pz %+0wҀ0jO: aMzIUiKNS[*=]j)o-B껅hq} Ȧl&7GhGgW~z`VgT9[l Z+\'7r^HQ30K j',%Vx*f)&# ~&$,D7zO)A6qH!_{]1<~/.Š52(()qq&K7(ƓIIs@s+[QJ0I҉&BfHE_a&,M;VѾ6qCtl[d(Y}畱 [ ϿFߠn 1Ձ'_fM[3#OSUtp1eBXT4tAKoh֢'pVN6O#zkNEФmB jJs*OvULsnU*"7)[ pHkCIK[Ƕ {PhZ($ eXN=$|@aT *V+#x!%x$|;A&VYxh\ȸBv)2(4 dkS䗑7.48 yfkF?l8>+.ޑIUrA {L\A\:|Tz;vxnHDZrĢ&?vœ=pK*w.zlׯҬ|;d*J/ь&$J8@,W]P"vw8US:JǹjhAO V̀bKRWUfp  9V2`p ;s2gۋlI?.R)},h=؈@y }y JcY07[LE^e]2,i V*켩*D{Q؎AdpMZ[Ќ^t;2Ejҗ =$V'ug٧Iwԁ cg$ۣXbfr1d,su5XR00XN!xI8z0|QG=ל~a/?`lcM7 )ޫ[%Kv g9uES&HLhˋ?kCf8HD\"QtD)D  nٲ5bOfM6O|%:цZ̅ĴsIN]7n|q-"%ywPjx`+>zu*Aڥ(+iK +aV1m`K_g$OĞַ(:׽9' ^8JUH=WVR96'~ϫKw9E*Fe\{2{W7`Z<`s88Bx`pxr%|T*f{; 4S÷Obë.AUQ}x3?U₅k~EF~*X|qRd| ЦZP-멷i$9+o %lP;_]A,qk3N%A" 7+D7e/p@å- ~Q]߉ɤkBmh!L 2E `F2'\MbK;k"EsABxBVW]W"]Xyў"b> 2>&ޛ( ߙ ӆ8yx"®a1D؛)\ 1tqu1GS3m*ODi=ӻ>֓3ޚvZԜlSt /(P؆/wv$E寉1Ƒ7aǺ7Ӵ- ["Ii)[pqܱ,s8*{L _溓lh4Ak@zVpnKQC?b} '!ȳٺlQqTDFi"{&ӧnsSr' .ͱoi{Jq PwwΖu Ntʥ69HΤ\eZ4;8KW[tȔf"! } 2J-56q3N*F=\IA<}{DX6 di#n-K"+j qVjZ,u0sχ }ckb'W/xN~!x6-ZCe(mINRsVMA,W ^EiiI j4Vb@"/'vʌ a\b_bmm}`NwFf!k:#W -`mX UJ,BJ,g]Y}ŃvNoL~$[R` q 9ϔ"g@=:5◛?/q`-aG}&sל˱hׯ{5On,ccFo }m MºXx2f$40Q7/g&j} "Cw精uJi+tPJYńJ]F,Lz{j`WhAǥ2 ^1~I[TBS | Oj?۰Ig|()%U$~cQG `#@&`+ʌÞ;}N&W1;1~^Ny8:>P`?rfK)~sĴ I팗`o:?e'&K]]Df`Ǝ3]e=P*`pB[ZI}M ŧ'ĩzߓEMdXF0@Vtjg ى7`s(qj12~a!߈U2LTEeZͪ#ÜɡBy Dzx&Μar;Bþ,n=KU9z^/G/XKث͗QR*x%}/cӪ3B2kO募T1iJ7OKr kl2CCD|-X!~in!GE5dWU䊤|y|ڊ+F@ 5F!"ҋos,G~A/4SpbUf}>Wҧ9F JY^9 t'<4c%3!sRG9Ct E$:NqQxse^$VxV Є*96~*wg-iWl Z&XWZ7I!q5JS }JJjqR*W(|2nDYySGݝ׫d7|ܑ-駓9 ^ȼJkP/2[zaWUmvWҚ&me&-PYCkY=K;+I[Hx+7oM`n 06Z+`gJ[,+1IIz%?Rz0Ls[uEwe s'ES3QV?&H7ۮVA:징' 8;1P&^oH_[& L sA<{.ߝ\cJPş71qݘGìXB+1NvM m{ c4_L6[6eN;pj>g1 Q'dxHش1PDIāa&d(ne lzcp/X&+|,^FFSU~1*7eAN0uB9euc*q& #gQgxK53@3gN&9ҿ\]!$*y "M22~ܑc@^T9AjUIs"/D>MКgW~BQ@}5\!K5OX1|7`!&5@YXb _C^Mes#j[~Hؓf0qj`aA:H!nqÚzThlMuio./*ja'º? n1h\])O%*;~!"P97% ճ @ӰI$\,ħ3ּXkEBH,IJ"Pi35L%Lt{+P!uqx*ռ4y;H6&܃IntO]c=_ۣU-B3KV|C2dx9sֿ:bmaM>qZ20st}wBI8*.eIp1%LOV^\Tx!jHLε02[oLp=y+#f.MBG<Ԁ7҆4: {1ȼh҇*Lq &=iI0x!-m ˶ȶ·u(nCz[u&Y!߉%qÌ^Y8HA8GZf̏ @Qybdoh4/&])TZ3yzXQ ӂXOk%eGkdb&\tA|]$;gWW^- L ,.+)2n>nX[ɢH^O0D砃&2 ($^?/Ե\ H;LfA+gišҧTr^Y˸4vV=5ȑƂqe,6m-  u1.NVup~ZR 7a#p0XCSv}Ѡ_p8Ttvt,幢_&u47Pp @-LN }h.d_n ?< e>%6x Yp_VDtb;dr}X9C_rGQUn-qj.^IzӾ;7s\<N1s> cA/My(CsP*A{h @5K+0Cope l9o=ATűkn;lqV"(Y.lKs#iф_"K@:+-[ KldPBÈu~n[J2qmM[GZ41o$6・z _%_Nv$̪WmX9R8P_ tXA %_ܧj&zdCYlkuy:)lͲ;O5ygpD^MSE~hs-cց|kꇺ%T%~,d m"$4i4>58ߊedwxk%)787INw\ mXۊ!+!Ҵ.,׳.4F*n`;b7O5Ye_|[I-G -k]"g"*p1̓d\Vfe,P;嚴iO+Ypk"]gޝ` F .DV,3VS!o{+[O"7UdE"HSKfr 쬢3 b|9%OV₎󏗧Fe05~DŽrys l n6=Ʋ!˭N;9 G7a̒n5w&$ סZ_?</T]Ef# P"|g|Qzv^1IkjLFgMD.Q8LuiMt ܳ0j S1Z{#DAۈ8Hh0yP6Fv[xZվ䬽@zKk)SM&Ov4(P-uT ^{P.ѮW10:B?Y)o"rz{sήb,1aƵ!֜X5FZ:کMVv -:,f ʗ&,hl=9[T6d[ݲK5Q &ִb|:}= 5u63ԧH'De7+a1Du-A0/)iORv%zǺvDy"O%qD*ts m偗 f(3I`) 🃪pؗ0J\a݄KfUuvCn̛znutlejgGwQ #եl)/acCdՓt.O J[^Ҫn5ڵpJ+I#dZ+zwMDov{"ݶpjk쬙Ԓܖv=|i9RHɊ™^k%\tAͼ401kĺanG-+L10X`'uS+XOf P;*Tyd 5Sr5N! 9N|c:zwrŻ7Щ+K*i'Sz GVDQh/[ш^5\ڌ-, YB4G3P7b4h*(Zq.艐w$-0()#8ㅓ+vkQ3d0An[F_%le1Λ`+ Α])VpW?{7l*YA:C[9/#ݏЪꨬƤ_F#ZrroPhHs#VmN DNQ%G{Q\hEjFf^ޥ!0 Y3 臾4js+*d= ^2l_`T&t۝5+-Ua|ז-wB0z+\b91Sd[' ϣZi_n5e@3gn.円IYg e:|*?i~l,hV<%~'+xp r`?;9E3}\ߛU+2EEY(Ůa4ƃD%`Zڽ@9:ט>E^&"]PaEZ\LC#4uXy{ ռ O̼.зI 6 F5!N P -BrE)e/)L1dˊ> `s9X1\i i?f#r٥$$"y1_h6 \dH_Cʮ/ª~+g;Q$(ƃkbxy[#@7 r= vS[9&WRqR Wk7^']ed,MwUzC2rlA`[WOzHSD{e :&)PBG3<W-h09Q USuc**ΖvP} p+D땆[m-^tB6P׸'F!uGFe3LԵgVQ#SwpȻ&_‚բeM]QGO?5{\U3cЃ [y/gXοm^KCu(-a GI(2 I k{;h92 [.˱`)Pu6;>]%!$UaDGvT@|Ǜ[S~#)]m # i^i8F9 ' !\DzNc=-륝W8j%Ke$g ^s,Ox$bY:FI7ⵧmwl`Ŷ&8R ȇBHf MתV c !"-aJŹÜ{Ѵl`FceEQy7d'.Κ::Vdµ=(t2m>H ߧ+.C^ZGtO$ff^SBף0VrYG-/S eJX@ x ba2S ͵UhJk(fC\8~x&m̅M6&o{SBmZ~#SaLˍ5ϡ!g#Ofv|F.$^o' w, \fl"EGk rK\ f+oԈxp 7!taAJ:#4yN#YQgVSʭ9-@})~n&*Vr㵂D8LQem@LUmOA\kyأ'4eڂ]@:g5ZO3+SUJbc+- #4;BMMUqR*]!y7XEJftg 5=& spurR޶qB|7ҭKQU?[Ƚ,4F6R295̮^أR&`g6Ӹ[B?E^88)TPXHm~c֨fl? 2{AO1(?2tڎmLF??a(QHfM~.[Sx ?*Lԯi x=qAGcXw%ѷ@7xj^1thcJfvLo Oa3}@>gn-U`xֶ㤓c˵j@K †>f)7!H~iŸu* F(VXw=Ԁf2ʛ^'\ېc#]ϐ׻9m:c. Z>?f񢫞B$3!8x2kCjٰi)W-fZ{jGRFэxp*l |VbX礥sX"vY6XFN^pNktg=C?qy+*z"’s^*3z8s7;1q&DzF6FGóݵd!& $܅T|,~rynD`&q|oCCt1eK.][ݺ,7WAX+셁W/yٿЯ_[۬znSmBDmT3 Am, cwhi$(p^܍Ʒn<dJ=J4ZM'vi *I93;X"993yٙ5Ewp\\3) 3>pՎUEZANʛ\}[cZ~( YqW*SAQnȾS|N'@Ÿ-ʿC ~ݡQJoK߄If C/BpE"k^wVre`Fx>7`v% wE(TOw~հG0uMR |22Íx3m77ٿjƇoNa9w= PK_PMa[ fƨ%!NV2M q7ξ-(鏶AH"k2լ<O'<) jz01oo,I 8gr FXL:m HO5k{`EoԠwV\K V[Ys{q?%yƛ da;*aڕPe%SUH4{lu,#[;4h[ڙQz\'q@1¥Hcix۳?Dg9XJ N)PZAD5; 2ʎ u(|̈-t|c&ܜ~P tK"ro7=^kʋ$k$/_d@`saJ\>qs ('54O b78Y@/J`l".+ #7wlUF?oG[q4i~*9_Lpo .;5~ze~:Ir}_.s3bNQF]@>Woa35ߎf y#sKm(`artGZsTBU XFGp+F(MV 52{zm2rέ̎1aMvm>^¢k|XSt>M }*>ȽuxboH,x`ؼ&9:mtMRQwB (В.=L&'%SgAOoZgbۚU@cy) >U`b2VA4"wr'TX׸wbI1G%M\7q\P+4)w=to< RS޷S;+ ,Xzm&7aWq_?ҙ P_oPŐۭs./Т{ST?VݹC, cʝQ f9UBӃRE> j (*;t2*Ϩk0-΂'q\\KnA UиAtsb -cOIEܚz+]w]Fau]K:}fbc l98 "1E"KhʢzP f@bT9iΪŢcնBBq ~ꆩY$<. jݫXv1qtp{o#u~*6Pj$<ؼÈ0FQ?x7uLjC{̂NI<;kR1_K4ҫo|z}߻'>EoʺuG4iMt`%?x^7sU"3gk!✡gEbnMOl{ ip7?$0Y\+onWNJan8,{tu~EgP΋EMS!D|faxx\ }V] Cw_`ܬXW[#̂p}µ]=&:uܐ1ޠf H6h 'ǭqۗq|niKڣ}1;(4Q/  s31i.oPcUIq &1Z.2Ħ#x.}vkES(cg$Ç=2^f&Z*gcEv 5`*m:pRն|n'.qـ̓#7L(Ks+$s-d*nlPEx#xeL[ 9X!l$b b'mdA@ O?B65 x97nFI3 Tfj\K,jWi*ă9^UJJV݇C'.Hg]*\eJCfpW: CTxM/ irtjk&w6B]O1$Ve}-jIF&'|iu1j;2Pz! l.٫Vh_)&y跣ҘM<8 ^l3 yi`leresQzQ=Hl|~砙hy(c&30۬eB=%otK]ʌx{8b8DR^ưp57HcrX^u?J@1s;$)U&Eo9Tv}ϢZn"T GR2:D#~G [K3䭼 `n[rwO~[~psU9O[89!n߹A9RWY>kIћIH;-퍶*:vۇp5Kpξi㌥EGQ?3T4'xQ MuzR1fQK є-wXVK* CZ)^c cG:Dd|~*7IeEB'&8 dy1Hzǖݯ9)3dpl6KVK"P.[q\BEцE:z* >V iJnal&}|` 4k*gM(ʦu0H=rdbGC<3} Ҁ0{Idl,Jұ[y}P\iRAk28;. ,_/Qrqqq&/m.%KY= J pVaS#JB1Z@tMi)b5Z ȭ/Vj9ET~EU-5'_m8JA^S#Ԟn\/^7&jc,^]܄ gf"!I\Z17v8Sl+djdGq]T[ENX>߃zh @ ]\q}`Е(+yOV <z"H:[HEmPßQj3mg>o{?祟>tpvSw_uO—=6ɗԙ}4bڹk^;(F] ҘE֍YϮtIkVF I;U9 8V#c]s++ ;뿟zCXLza=BIS*vȇ}-юF*[埚"+)x7K*C&[Z 7kg uD\k˿:$f79NzmtYpZ퓤>``t~JA7};j}uѾ-Jq_>&M&wk], 2lBx(4c3GE$'#X"fͯYS!rK^Q7b٧瑉}, *tQ8l;UFB2 .ڛݪ!1 N7v|y2Ul3'jݟn)ZkӪIh&ƌ7PNB{@9SDu7{)'q~9 ?N^Ӆf!A~4QSGGRӰJnSㇲ|Ws"Kbi~(29pU%}:!SloAѣEWF~r-̚Zʒ(8Irji1Ve9q}76'"At丶SB3 6H/ULuI^PtE[I;P}ԀY6睎d>[^"F5z/ ;dLF\Y ×'t MXhߛw0NL5|s]uBJRI`Mc PTy^=QOz'l'18O}>o)>tamՑVD e| A0&Nk_ 2:fs{7H['^>)󌴨(zCK+ͅ8V5w8'rIFy:^dO,r er0dH:g [[4@0W~4l4. 񫹘7 Ф*Z?:yI"+BP xe(*=Ky}(g6YhD(Q좾&8tV<˃)[c m`C+y%~k )0(>ݵ.oi=!*M| ߎ/N )8M:<82[sg)\s'ӆi!ÑkȌh.KbkL_"Yh*ƕhhT_ˆ5*NSbk&9P^ 2zJ%tKkl^PurIaha9<׶2ҰR2 .*-0.G6LL}˫@!NcqN"4Ki2Kb*B;q0Ⲟ\.4 L( h ADȊ;lKPlwvG0uqD6VS,э6)hɱ:ȇUǯ0(_1 }[5)諙=Nq86&,;W!I>ypF r%P}{Y}[> ,vP)`igy@U.XtR&ZMfeB%լ@:5&V_౧@ 2N~QD3W |0Ȥ|KIUYH1sH#Hӻf; 5{pw_XHW|?8ӪD-#l|t˹1a>TahgB4/I pj󁨁4!D-/0C>VKHp8YـD@M<˓:MAWnhdOp:A' O} C#[t +ޒEUMVg$4N gF &tͽ[܏CL6DZwS+pTG;'xeR]‚1^CJzr,2!8 ߗ#YXZ222:DS4K6;Cb-w*$|& am-VL;/R`TZ4z" Yjr #]sL o0q|W Xùt.iK8 ̞1J(EouGѝ8m |}Xy 75̌X^Oπ"ҴuEǷ%{u;l/AJI>mꘟh?d.uBhUDNVSŀƺJh`TgP$M!c_9,}ekN0"@0lr"͜M~Fi /n?_576B8ֲF2'T:fcw6inR&]+]jԋ<\\NQbX2ַ4Rr`}B&q@?[b1?e崌u݃X9뼝؜bFH= V{4<"Yof:l{pVX/Bm3$z='?cPTܱ3x{ruv65,'?f}XKDKs4Aƶ:ȻK[9Dog$Uj5*b8pe~xk6<rVoC<[QPr>%/-,LԂ^9C4!V@Y8W:[0߭{pE j+JqezN`_3E]d+؈]࣒ Lg|uE0KØzT]F\KA%֞/YrxHb(.͕:vF 5SV-foT)X+F;c_ ¶.a(Ιgȥ܊'Lu[Ǐg"@1Sgϣd#61pxiOd5\Yz|.{xO[؛H,W0IE4}CYn cQ7c3{S!whEb[+.I BBﰇ.לSOSH<޻'EkPrH6NY0_0IXX"mAcᎊuPpC1 X[7sVUTY<^*KgP<p0D:'ۢg7j ˌ5rɉ4e~EA;^E4EML[UvaQD W _L4ȋGnDޖ|U'r;ׁd-;BH[w/;k׹Y ,Uwv XҚ/T$}U mE. &<ąl{N[o+t/L ;#']vaM5=]ɶ9FI N]q,Β^9Zڞ1>&Hx-L;âBG3{8` DU/֢Y{=RaIn8UigGLgss}hΐkJoksnwɴ||^꒜'3C5>r:8j=^oq>!]xQO&Os箉K,?|Pez6sd`kzT{RHq #dyoCsig\E&Igh<@W@_*͊ޅW0t!۟OEBS*Q @B9 2arDHfAB%6ÿxCSqZfeRW<;# 0X!!CDg rX/zGyĪmF/% S.4 sP\L\hw\_}q(2QߔZ,v>|+<:<::ʌ>W!^qxGJ[*9?Uf@Ӆ,jźzV^z>O#(rSmZ5ؔeo,#"SUKG_Z }*IS'!0z^wj2-j+뫌م@sL{%~ EXb9 -Ḱ[vFG kg(*.4ai|'3N7pewS XZ 0nBz< }uA.V>!\6F\hɊGi)K{EHW$Gl fSǃĜ?]U~,I7rԄ8[[~W%|CVיu\&@dd~ws P15+R+O 6Vy\-!_=K64nSG]?c R~S^Ϋz)#X  q@kS*MMHΒ86'E:ӭj/7|+Dќn,l&> }5!8ӴAmuUq`8;{=L˺0w)ܨJKE`S'/'AX!8cnQS 9nIJiZ+T+ 5U5Zp6j+NQ4'r+ w| ʍDe%B.qWn.f$єJFnLuTypf|8'=N0/lJ *'ZzHU;rm\󗍞 bzccFk96LɅR,#aK˽ ˌZC'K8 &|F{̍y"-ÕyD<; )Nw43Hq!S1엓bD9,#:YlyD 4gGEڻ! G65f-UH38ls{9NL2Hlg (IczWm:kP"\NDo;Ua廷FK 0In#0cG%Y4tF!8Hխc{ .kSh#G}R2t )H6m@vOLbH,қ9lO\'"e w7wLvdigBҫgvh&I9g'H9ǙE0M+:0CT1Y_$5U>`x,YwvTg ֡>O}JT;gLa4;IRhygkk{ t4X0Zú=D~Xuy"r덮(}cL̗1SphS QQ6flӰ"#06!eMfco=nJmdsu7$*j'ZX ~=ytTN̯/NHX`*STKP|Njj]]Pٜ*xN"fpķUNbW<,GS`6trts+)4b⎷,|n)RpmXy5o~<ִ) :@D*Qt|6*. S&.stTwXJFkWm7 6XB<H #ӬZVs6e[}ZH&-5b,95urk~-Zz32#ZxKHeݐ<ժLa$ȝ1N'Ǚ6QqyM3 H.Ӟ`5U%f<z"U,K+maQ`'V XnΜSu4Ӈ[5.(Ȓ>W4¤IMxnOɽ#"c,3voa%v> ]G_},=%}^F(` ZzO,%Tuj2*kc7J1mEg©3!KkUCLtIX&0GAsoM#eLX=%}h[Y?!gR:!%M{طo7MPr) yu'#.oCd/D?-R^X B0)8/k\ѮeLjX7 70g[KPm_~?AX{_ Uƿɘ Ϗ>1g1I2c=H05 Nt'-6Y(!^y!0JYL.+%t!%|}1ltU߸tyðdDXudjG3;}in)9!4d-9lVj;{6sb6nRK}E앗\qۢ2 ϱRl?gCtfxZW4FvH~ ēבk流4hKRS4o_~:Ve.G&=) =@Q YTL;1d6Wz1_ F2AOx:)C,76W;W(O‡[!΍ "0xO\|T<$'#hQ, X(K/"l"#ڽc_:<*Y*D3WōO2\C&Q;ۺ>97PWRpK Ӝ22:].&Q rS_9o>NM>g&c%I }W_JŇ,Kbf\)v"TOWr)1IT_m4 Q:9j5OAS6 k#W6~-6T0ȵiY Qc6 ɩ h_𬈂~MtHn{7t8\e \q-GsQ3`t"]#:``+ʣJ mB@vo% d85{=s$Ff{/]5~$`u(P1Z_ ^:KN( 2|?}J80مе/ͣx ;l{ $%djTH8Pnv ˄~@R%oB>*g \a7_}p),ǹg*㢄#5% j hRTSv̇S-4^Mp6Vz }Rw_`$( ZVmul֪x:O+4=MOzyNѾgUիעV{*%!/p>$2 BfpHGGhOwVx^ހ2${J 7{C'IrR>DՀ9],r*{k|(1;m}h@-.[ُئ'ћ>]yz]CK3\(4YYeH4=/2˦wE|6k*+OضC [bgscڱ8qte$D%-,I\qjڛ=,+dPc/u:^hxfRrp,Ud%,}BlUj<'{1V1ϗߎ@Kpe+I>cm2Y`li5vI.ܔܬy[]ܵSiFq^_]b[ӕY z^.c>:ZdoӣCxNſH'p'F#߂0?QVUɌm7MnA-|薠vb+Ve3ٰS4W/὿O4e۱^+´ՄSs=ɰ@0A(R^KGmA7$fWmB÷z:DT+/+33N=xwɻgKQW33>g3^uӈ,6}O 9mL=,:;C:{$y^\/|P۲#HToG)O[P=2&}C3A%3VB+r30K0N4{Mԭ.KYz!AO9Y /(c1jmB[5XC>5_ Uߝ3 b݁-'lmJ_L\aOUjhEy $|DިJ8U_UgEp\h4KG9 XaNc}œc=Tm'O1}D$e_1_I@J _$v*ٯ0%ir~_ʃDXeb'?v_TDqː@E$S۱p樌 B”ۓ̯nfD-Up -l ]HYoH徧{V<،ϝ;`_gS~@x3{n dl{WU#λj,e}eBF6-:Uzu:5/+zٳK{k[0WaDoL]>n'k5$f>1~e#`X h!̺kORˆSfd^W_T`>d}!姧}3L) <}WRPb6YJ͌ `&o\pc [4 z<m 3-b'r/Pw1bo^ق?v^Q,.sՄ{;Ǵ9\.rpvZ `i[3cC'+ nrꌔ(#pH㷙n'9}\<+j4Xe Tp$U]{hwu_{)A,):)fLޞc'V\4 \ǞP\ntv:5{v 0P1c}- 72Bo6smBP\<*vB@p>#\^~IVxh\70y˷YU,Wx5@֢"Xi#$ȹ gC_tS%*6apݼXbd"z%5<_qGUPr?Ѷԡy|go2XI}|Pzg'\ `C:#Z)AyC\oaRR#@}8s.zF%g%e]E3 jxpyy(|fv(C09bN5Ϋ6K) asYKQ0̂HEB~ȏt_q1{x ~JbCBi+5e|IH%zNVmޣ+iQL/ˀ2gȨ%'jNyN◨xFQM?f_7)kxhNt}9Dp0#D3T ,`0Åボ*E[T)گ ISAɀϫqVAjm*5]ki``:u]NjZ;\|SL`_"s]hd:%Wp]!5MYܲ]"ZԽC6;ɧ˲,- X+fԟ =`Eo/Bw_Ÿ1 }o 2Zy NHrΧ,2FONluxG3ba^ct>2A(^=xMn"_zѪ$]qQ> Tj7BQہrdDa f/ݚpm~]1n"s@=rն#suXc ~HI3HԀBS^U֗/M Jճљ8oh/ OaoM<%ӉtMW,{-Hm0 3=VD>UL,84! aEfՔzzTK1邤n 2 `|jжt(2`yby2$@хj!YROY=Fط;>CVw1I`跏!Y noޯX"wЇc}? E ]Xtzrm8|U!^$'sh(߲}L<Da*zz,k]>.~ (-+:NݩQHL-{m7`iy=cS9F=UU5 -/jZsd_UU!qLY߮ѰP7'@]wk: yiA%)W\D7=\,`o= XdsJDԣ^j>Lj9bdq%ErBlqA(3MPevVp}_)h' #JC(hM^(*!}J7Hɶ?cz$ *8l_x5o+ 5(boY Mk(6Dܖ+<0ݧ3\[h'O"rcXґ[;`g{8RH>[k *Cp̉d)c_Eۥd{M6ƶE1]=hbOJd Ac :q;ӫ9ecݽV])\Y0{Ir*uժHd< gԖa'*~ ҍ?IGZ Σ^Y uw };l[ w2xLFWx A=3R$ ev's|2 \ ?FsjOАCT$Erue/[}Ëhj!P1ԉi܅$zrͷ@ ߢ5Ze{DBiV|UJvۅP轳0k a+/' õT sy\{z<<厷p8$vʮV odehlVq޵LY#&O ~fiHv'r G%fB\;Fq` ىe,J O1Hqp)+P5UΆQS5' UV~BoWCfq|MtnR?W8+h q( fNzSHNi_~'PI+E^@x5՞á*rςXҟ%Va>w-e[vxg IGK(G| uYBC!yF6qZs{5(9=rZMϕS5s~(ͷXX Q6\"Cnj0rl:{bܞ-6%HƑO,Z0nT!yo0ouOcĕߛ H]PW&iA hltm hë^@Bir._ x$V4thڍu`cKc־df^Q|6?W } Y ![yd"ȱV/tp:s-_/׭ʯ]ֆL~MJnI$<-6rj_ـ% _㴙]m q:PgVZ_F- {Qn_Mijq`3(̐8s^3d.C0^iXk{_=PYϹUp = -\&c)Z߆osҞl'_fLx3&O!'VJQ@>0fSy2[+{ӈ/r#lH,_DW5|, ~jE3> CtlvUn>>89v\s+|&^)YBu2+䉅srm>:ɬYa'F09TxŎt!{ gMw^6k.`BJ]]h9}Qh|{X`#rg&Y oΜPwFab*-5Z~!dd À9"f+8w@]saΤ69jB;GE3 lVn=k %@h# f(4ZH3K rz"ً9V%E[:#"Rj 1frRs/nn##x; !S_8PesuWg51" ᯇfgÛEX~mhX*7RJ:Q?l#w${CFC.:]dtR r#m5]wE&ޮ>S] &tY|r,c!fĤww' D|=jf8F}m+z) }K50EA()Ce50&.IKq_\k0%Ro?eT̔ X7TUayek*엀NGدrč%}E$#&Fi!e.^k k9JC<$DX3x+S*ߡJ^WnY"O^zMY˒8;1AQEad m-C.M~'!JԖjp>?jQDg:ySBF~^MU50Ɂ1BTTې:* B:0thdSXm0//@{d⒫/5ۨqf'8%*{rTw]gˋ~|NW[9N> 9gYB#H(44/A-݅JaJZ'8a+E%q$y{_h4~h,n%+&%ZD.'$.7&Y0jzu(:Sc43J\sbdƪ6Ld/,:O9YY\,ɹBu;yJ[Qc)f2KbkVX6(dZHxMnQl^̶_RSHײ,nczX|W`YIwenJVE@y1,D=@p688~R8xδ|& YO3JH`#ӫTOf +C%r|(zX-!')̄(; _|'Q~и~|Bt~"&[hx\L #x<6I!5?jhԨ $~l#JugBxQVLL?PLr]B2֬ ]"#|5O?Ui={d₋Q }]O]ڰo@!۪< /i銳ia*Ɂʯט ɫA C,բ[`dFD>aD5 C9&+T5m?}Kj7qbt8 d?݇Y!ZҚLЮ-*V_6ONe<~ 6w:\o>9B2gQ\v)캙FVQ}Nd2e O_Y&PWb]t I6,)dqIdEγMNo{}b菄Rtq٤_j n/>[0@NLTycd* p52]?#5eq gA7<:+h4*#[h$R޸Z+&bRy!܇0NVDB !%ƶ^`Aa8(=bxKЯr%aTG`n4M<5խKD\d"C~soPX$LXJ `\Lj:J9;Bӛ_YH /D%sva{KT\R A) IgFAU5i/ȅc̭S98uN N.߆*BGi s9m2~(Ofn:Qq͉FB/NccqF ̶z erʗ}^MADf[Bs?<ˀ[uh&0_ׂŐg<|#r7ӛ^|4Js=a_\ a@9Yx2ܓ:lO#PBqB͉꘲UK`lJ7ׂM9I$-'P]ZC1%-1W?3Y{fZGv%)*NKr>ޣH^MC1\ziZ/疱LC1\O,ÎvMbAZ q!9![4AVhrԮIYhzˬ}5Xoet6)916 kq'{)e& le(x"wk4/Q>|oT#kgSfX$4Uc͐U@A4%?|R1h_OMc6R+ɀ bm4kfI}r*nVʍ  _kjh!D1K_B$> ԅ%l+gC|vM-qNWxgѬW}x 雇:8h$jy1hS3ć* VAu.ZJjeW'=09ob QYDG‚(/ @svn_(:/SA3PE1%f&jva@  L|tR!ӫΨ4=hIdOIg"Y+,OCƞB&Oi9XB@%3u4_.WA+*=hAXy6{w 1u<50@!@S2aS]0s)jVK1{gx[cy!3/80)U^'Fx깙 m?KFTv)L ?>=jd>΄xF@A.uXW+Jf |Ni8,' Ƙ)\~0N\Wl!K#bťj`FqUE+ }~ AW=SLki5d`Ѵk)6SbбCzhqcN4-]˿X+:ͯ4?KBbb[]I a]!F52EίkIcTw-;ؼJ_!Ә5xܦ~(ٿ,&Gq4m1lpj@c# S@'[onrGv{P757 ^2'U0FpBvnWuJ9+ 09&0DDQT.Y1[<\_ڹc {]9тb-b\b81&m}8&W5E{H{+W`L[+e" _!F0RZMcʴTYO0KѨ'@@yg)&8e331o[NتA!^B$V$ C-e|`$7F<(rBNBtvld=UX?RqNMbjqqIgV[{[[KTuY=eRrDhIa+;&YBpϚCXP#^IW}˔=f:?@LJִr FVn"30(Ma\\]PzgETz5 Obsa =Tc0E3jFNI6 %5ڭuoFy4Ѯt Au,A1q3cҜ߽"JUo ḱSB #srնBG&S2cH215TuZ=>F'Y۵%跍@sü~kEKJ+.`cm+cU)/>W͚NztUtڜ2$G6m+pZ>m6TvOarvxqߝ+9oDky#A;xƬf>R4 ۑN7YXcv& GiM]9gn65턹O6 R>r@Xz \)0ZF`?k[-\*Ir3&[I&qyj: DGoڊҾ޳vZv h\j!ـ>& c vel5ȕt`xbx4u^USe 9iC#cx_ A:w71)|;h*M"e\e*kY }HHc;~ _ؔU$ ^LE%3T8EVuHִ oL%F!t=FG*+̩{4 ;FI͵&'Kw 5 \7/Q4E=Tn8Zώxc_O$`4 )y Jyirޭ}!F\8o5xR C\7_^;s>%V8N*LpE#HV{2OW(3w4H0 )iՃՃѽKns:ݨR9,׀g,A{Uawz_xܵ:V@9Cv&y"$ASKnښc*]Xp:D%-h_hNn"ُr$Ɍse]] [3d1> u1xd.jsu6FCנJwXYYhaX(oh,b>;CQjDlu?" %#nF5ÝȠ^BsI.ۖODVZ1=1"v0)z(1xMjFB0a@dG[&wrA.#V850Ġ.Șɝai,wq FE` V)%4tjl>;Ӕ5f(ذ4wT,CSطg3_y3$/ }l_Wܭ;.=c|P őhQQWwݛDyظImXQkW Yԭx\;8{&MJ~aYY6"m&c*8x qgA*y;4 |ND(+ڣ2tpef-$fq!jqˉ(Yuhٚ+󟹶@ZV6=}F>f-s2ʱ΄  fgwOE4e3˹ he,JNkhOyY;< jRҵbWh"-1 ܩ8F)*AcEPڶhkWQDF k me.v=POEm+&iWOO9*|$GwܵH۰YB3N2u/i@BőZT9qQ]ځ_H#Ge@&j rE>&TJ#%VKC "`$uM>$*&-\@= I@ᷗ7sf|k {K20|~\\ěM h,4Ç61Є31ry} Zd | qE>كq)KbN(RD3?z#y1_ˤ/Ps81WÄU "J?V8ILD[u <kPzjD$F\E{f#FOqtGl8(9'۲U*IyB,PmBDN"cWf~Hyv sN<}1Z:0'UA:ת>u`WN3lbF3X :v.Fd9OVwj,%3/7wP<"o0H mc]L(5.a^ |L璕:pA+("5 kJ+\tr׹cvE,`oT,ckX"P^OEw` [za@3 DNlê&O-L6 70@_aÎ=o1&g>,pbUږe(zpk\Jdnl@Ȯ J+t~|g$jimk6iP.޿ӭUɘ _wL0D6ܨߍku nҜ~\a/QLCt}5y2 qQܱע22\ a_ծ@GKTg}+Ї2tT dPG]'s'vx`"9U IM3[T+Rv m^i#?П _?ЈOq7dw*H̓Pd ln 51 8GIy"v{p+M=o4 /?%t;N>/ͽ(_A=~gz5Jt0\*xt+smkBK_2Wd.-T[̗m;2M}MyPè7Cp^ [4\|q]gwU<6X@b+{&1\IT}G0fQ/!vI*o޽JE]e*'֔^e8 iUsztob͈ea)tUy( "%8 ,\CGS~#ʞ{bSɟؾ#uV-Z|jE/XYCz1 meXIz}ׅQxO[i:.w: ԄyO&v8S`9T\M9 ڝemqt4ܠTW$ThlP" wwܠ~w6E\#oT ^Kg԰9b62(/3tijD{] uђ@/H1{e]6)Y{p@l@>ZCB$Vю'h6{\GЍȐdd0%T]Y %D1zЊxdbZ_u{(<kf=97+$>s"LP||o#"N5D(OF聳!uhqj8pdhQ򇒞sV2Օ[HWb.34 :PdG8}\^|uBQ)ukʂsL{Ol Ԕ=L0O:,ČIyP;\'(8gpxy$2H$3Rg.)@@,qB:X5FK5-<]n*vc9V OYH·={ݐ9{vӟ`Rr& _y0J(XfL,9lj)#dQ/HN{r Z:6-u49N*:5 Aٛu,䝡 P0Tȗh,,;P7"C*$6{USdK90<+@QN ǧ1;m=@ɮEPv[vO{ZXǩs=7`'~>cTlZ5fKL^A@A/6f m' ϝgDRH:ӼgD]ҨqJA|X nX @N5&$tG;~%I! mH~#2*ШtcK{6K^\=dʿ2Z8յ_fcq&2C&=؍0wH*rkF }<}KW'u?6ϰ?}TVwOIV^d姼I{t~+ӯ:)--z %zHL =];B|OyKmקSlq4 >'q7Vjt`IQ확X9Ix+&SOVCBYk|31,[aK#DOaj - At1@l~Hs)h{ 'v7ʹ|QoǕO]Р,>F^YCla4 8qg=C?b/luJnǴѺRAUv{Ň܅F,/1Ы7ϽKWr0%_4WP VZlծ?$Ӣ9Ƌ萁D;d! JÁEN&6x$Y&N3`6 30I"K869k+*sR)?O tKPYĢZhG9/Q+XAlGSr[RqTr]CT! >kԧ9n}yE8OTijָ#wM(찪'leҵ-/T@J@@'ODVgZv goyTշN& d20ɾ ^}'rF~Q6-pQ݋F6r]’ZdDHCU;7aWp=qغVdL8a1 e9.hovuy^iE1̬0R* 3#*mq&*Ž)佷9@MjӺ8rcxB_PW+Lھ4BӴn*Fxu0Դ]=20:.z#~QU~~ sKpڱu% })^+1~sZ6D ȸ8ԃ[3*}nⴷmFi۾[刵z*@QsX"43mRE |no%W'D1QL[6{ȯ;k7~ol3;^LgS0_,-b rbCKX ө>@a 9kKǑ(\VW(=<~q/VVbinuή'`=0l= >Ǒ>\?|}OM$qpٷ_{w&VBrخ"ں,bX=8U1kn~QLӞ`@ۨf{:dq Od;f˕jB'SLi ѿY 1\!Maxb0_4& cBck|\)Ǚڤu֫POhqde|jOpPogiCnQQ\?9&k#s78"*"wʨG|3tAZn6`z*|ťG0Qcg2[ښTSqwzmɀUTD;eMqC9P43>^u$M`aoKEa4r[I)WBnp%8dҢ])7D]ܵ۸b^5 AZ&Y lj*l&^6~y정ݓ9As|Nk]1!SW2zM=X_8,H9e1t]ۧ@ % ${)<\f,)v[+ X~.qnaH|{^eצ3אĮȮHjEaB%.|3Dз/^E1zDC6ա/*=@̐\42}mw`ɪK#J[{p8*QA£rOQrD^loUFO*SCۡ}DV>8c(L@'fd?KH4/ښۼ<#㧽͂Ԕ$ @.H?}3{̀vgqQ+uuEы` %q".,Ƙ?kvy[)UPy]0mR$SToOdRآQ!5}5%r5PEtB\wS5^9s*,ʜS͸L.M֐9ץLjVqOl濝}J7`2.nЇA c`U52˜< zmhoMN;Z=l0Kmi_Q,ti= I$01m_벨Op<'i o@}롶bڄrG313a& #1s~{;@)lLz>;9u}lZ'6E}vrļ2a %AWYXk:qDR`_wuLѤvOR-*yǠ*|idX'1RǛu{a1yjMgkYw6Xg%AwJ] z0#Ĕ&8wy[mysŦՒwйMqaRkrk;BrXzeWxAn&C] g$kѲQ*lx N\ 1MJ$PTS32*2w^5Nܦ=5o5M|:֨Js|ݒK N嵰_vU^Au5o3ʣ]~d겾_*}g)L2Vb7&dG+i"J WyvVkeBָon]˯4v XMW!9YrO5O?IzTy=h<9[Ǫ ߅pJ=Ǔh MРj}]gs| ur 9q%>f;xۻs3)Pg)V ,Z|"LP QN]c7Z.ЬO!H qR݇ln]voؕ"Ŗ-`J;b؏~-Fuu~lC R8i(Sl˅bKJGQYQ?35H*?C 5X$]jTzFrYI7'uXKZ5֯2hqeچˇYCxm_j8iZ(Q¥< M,q#.j*$U5Ju?5"Y< P`Fl͍V&T{@B<wX& y2ž¥ҟQeZ\NixT0c'e+Ql{kpc/ء].ku骨wQ ^U[JPXI{Ig`{aNZs.6AZ#ձ;*)Eh7y R"i!+6w̜-8CA?ԃWy'×1K4.5 աA,z 'v+2H͈5TE*{hτϟ zdbB0Q6Ϊ&L!&ĎG26ƫOTTcJ4$]8\"k}p77وeS) 6Ǩ'TX8: pLV,gJy;ruq Pc{U">e.tʦhM# ^úvln#(ylڇLLV'zJ_7>dx5vw(t^2PkL[m<(cEzSz$=_:X*m?ww̖E<#3Nr:ZCa}p2p=G`(~|ш)'@MbK42Nc VjLsX,c4Π9r$VG0{ ڏC7vh5t̔x/2cH7mk+Ay0=.#_A_s.P`Pe#k+g|Rai:`r=U&`mWppGٶHgP~ ୟ=YNhCT_2Ɂ0w 0&RmhgԠY,;  +;w4=ZqBO>I;+N{lZqr9ןGp9oUkd߿wn2b+i:k}Xz ?֢{%8>%B!BU(M1b2L3؊D9[xЖgAǺB=-=2zmM8'Y4oQY' CTr Cdôb#( n[K51\p r:7'Z=nkۭ2iv] /th9jje%]C:5315t).[nDj=`R+'CUٙiEɮ̺CYL d%'|}ji6n@pj ve?lr@aoᏟ֬ w*aSϬhb&lm!QKnLXy)傑TN[a+;a?a =3,0Ἑ0%]R&t[_Yg&8Tq3B5n.lҮasHHpC -EJ"F֫7F,8>*Ocv&eFNL-jB1Cب>ɥ._?i-jauF^7- Q24kN__Kiw`5LY0F,Zh(IEڢ ˔E+0|;5}T[Sv|&>`x {>29W{fLz|'JNŷC[._^(y ck) CB2 *wZ@OZb#jlW^لP!D! i.9Kr( zAg`NT%4X{ !e냛Wr}ij%%^,A wM6C@gm+J8A57tqm]=( }Mne-%N~, l~ckGc5lF]qQ*:L{-{S k/S<TR=P D}ܻTۗyS,b.|h(X<t4A38 Ƣ'\:cq^䚡oT6Ar SnXu:evOOV볅ep8ئEKG%Y9 []3_s Ve]ֱ]B" l[tOu [vۑ.ܐuh LLA6890=eQ3oT?)Z +\jȫ3+ 8YELFiz#';b҉Loz 2]Yn\Jw } zgOO=`iCcqOiMlqSJhQF]3nzA/lWK]b`~H)kt X$cƳ)i]wZ TS{-%э4RMgKQyn@@An#v֬`7 ~cĻ{`gs!A0{BV5/g # s@UPj nۘ}[!gػH|,(!i mN>]yVO_\OH>ذoQqawV0"{'Tv?P n8?wdeqhVvUQ<|# H{:2CkyAv܃ EgtED- M~6}9,·:\o{|t^xOvJo1}1)td-բO+'6* 吮7r}7ID[')8,:h6O^i,6#KQwIZjgSýf;ol/-=NӁ{Y 5?nvOOg8չܝ n$7BSLؠށ@H:VMlZpZ(NВቇuNq|$^p"V#n~EŷziI#hCj&7ln`ARv42)6;N +Δ}Šb4=W`u.|GBImsRWVM[ |e c?E2/] \.v<\NDYH\ZN{ [aqUY! /ʛ:+͒k%9*l/EHCw^oq"\h.di Z/-pt9(M[ؚ#WrдKƸPf0爧تrOtp`r/0&\BDqDb=n̳"⳼b+ט|?&С}(Œ.d6.qǛ.;gOP:|p{Q,+\y%2B cL_˩_ &Z 1B;S0'YEPhN:*Ε뙠@Mc]b_|-k]S@r,U739U+abbpb u%r ;TzcI#C(ɉy+ vc.}{ i4\tQ!QvX-+~&Vwl6KWCBH^ *)1@h "ؑYf,u|x2Xb³i.Ȣ1 n$,C4q(-y>A~u^Ǣ騺*>ތ;;F?~ئn`kghActjE(Pűp_5lx< &v 5O?R1'Uc znC2Z0O2ThOkje_W Q{.ol~"C. &]+V)R/XLJR{.-3PQUC#ĻGlbGݗђyeCym\!ZJ|iǖs;yĄ=1w'nRPX . x:drq^8Jżyw &=A@̼Xz\Zmh4Š򦰪׸u]j Jy.93elŬ1QSоqACI:v_>̭2.̽UM &F% #l <mjrץ1R..0.wMjѼ=x>DXDXy]fxW~mclD8]&xkZM^QHWqB2֑+N1A{Ljn}ĝ۔RB_9Q`'=:5;[7G,kO=^*"hn̰NlXXA`-ʏ? Oud[VVdzs^BrkOs[CVyvh-,qap/Kn{IC+3@y2 ⦴\ni+"˅&ŗ=2^ఴ>]hM 8S6jht0$$ P`e Iǁ3ҩd zudy'3t 77 \̈́X ݇=^* ;ɀP},0}t PUzT*X57-7IrK 7O"NH,|v\^Š99|ETv':`Ts)zP~YpXR ~ԩϜz&Vl&ԙQDh\ 4k PKϼ~jHe.0@9P:Gfc"rK&|Ȁ '\8vIWZѾXQ1YϾ@[[GhTQ>+JBg݂C:a(S`5s:XN ѥb?|yniOjBgFPݛԠGIF <(3vauw`Qu:n`+nGB$'y\Jy(.HXƂKfwkstUi;hG['Ʉn84px$.)3Bug͚?=I0)q=xy>TqPg/M )cޙI/ [87z& z[rM,]w9&])@sܞ5(88b;w"d[Y/̻Wn(ľgye{ͺ9FUTSqJ)7AP`ݝʧYSSzz7Y ۹ۢN+6p>Abʌ;7EɔzAv -Jd:S O 0ns{Ln(я<(sR 22dÓn4|5xX*en D{u!W۴-3RͯjmQS(cD\ClPd~%?;Vhzz+艤>e]dd+m6OJw{.m*WL7!OS }J2SDM] 8}3|MKE,Bh/ʚ/<HyrӬ_8KQL }rw'}B,=_{G9SϰNWu!R;;pudc:C{_ƚW*\gk(RbJv$ۃqFSbˆrQtyO z[y;i{YRaEefN1Ej."hAFְV ?{6@fGWqUe' (W c FB{N~#w{=-2ؒǂ {Fhڢ"n#Xuq9Me7qϽC'1Xn7iK8r%cgz^f'"4HP+ۺ&sxس_$J"8EO?Z]ȁ [͜x3OIpxiDZ些9i h,wmm,SqbW}4#43x8>_ժ]v |P? |>;$~&0rGqk[e$_6x|,wm8α#{EZGkzAՙ$F?7ѣ1Ty!lQǥؿ"U5,(?n]eYڥ F./VG(ju~$YV Ћ`ߚ5ԌԋY~=<;)ޯ2RQ}T˧V V]TE tOl~p/WS:%Y:5gP`s"jf}Sg&:n)ty0c [o%>`&6TKb]#.b"K5jt`T'sL*T }%Ԝn g6^ i/XlX%q*HbZȿ)C  n4F!D-Efݡ192ʚeR!ߕ&)HjqnZw-lPWxT5e-^ܜ` ?#r Qb43NUv6AΔ1 @(䧶,ל1xchfꩼjU?>kB$Bܠ7]kԈ*P.hRV [ l rrR<MAFƮHt8C^N 33maq?> 8-puXBu]HGkQBTjt֑bY*S\G?󃣮=,,W_+:0SD >-GȿPč =EȢ=VZbլjK{_ [bSplȥ=O{mWzW2`[z ;{]+TfJ*՛k۔v6)GFoxK'C  vIȘe{p1c GMGc`l\?H7 oB)Yr{b,g&N%\puUT RG:.:Y6 I-g9WK 5i JV)TTD4# ;-ӄ۞޼GJXx\1o`Ma? o/hfV;`~2mmR!-L}\JXK_?M{ᕭo,k p`oTk.SPo-`ǸUN`h(憿]'I>-.e+ `[NxHY1xNc81Gmỿ:LZZ6s4/[;bޞ m~R3}['HF*\4 ц-6PKƸml!;՝r=!t[-\B"99r|՛U~z#+[(nd_JNmJ:/ >t(6-+--#Z/P !S[U0uwqJH2rn{}?UeY,H:JPgyZf M4;=}YX&bcNaȄ+OF8̯(<IhRBE6d;l[ݝK]BHR?v[ɬwԶ{4ƖdwǮ[Hl6` Kϳ ,z`+=Is =}<oudw/Ckf4"}(HfЩO5KG F𠰈gѰ 2/^8fi.0Bl\; W3N74 JQ7ZapP*\9¯gbE~w zJuS羹iQw=Kl{B4&6f Ł˿ {o7jf:uͭ C<4J, u1ƹHsx9 0^+ox^j|gVL*]hЁI+bg0&H!ý\򲸈sc[VAC8]zZ:Q`g@Qޘ,)<\gugJj* hEl8E%)ȓdr2uyĪ^r> ᣭ#ޥ(/QR2CN[t#J& и5d+kGj Yy kǃenwcgiA4oޢr3gf&rj:2GguFچE*l-" 6CHelB*ΗvL1?SMugc[BrL f<̟ Jvͅf_.J7^UܸPaϲ2w2bp;ᤜaߜ}#[2@kDØ}w ` 8}CT Zs#r5FKvrd. {#QwI_䯅F*PHd)^+*w;oҝ۫b1zɔ-ʉ c f0kղnh= _"t@78uP.$PYjӸ)LvI r˨[t&2`G[n;vI,xquq4.:1t3h`P!.jN& @)pY`|nXK hXF=[F-Qcd4S5g;w)޵.T>)6dE Ɛd>.܂c+. "uX>|ğ5fF/a(ePKZɻA+&4?@$wpȑ:2g!f0YCͅpҍ嬯x. CɠWGZM0znU$p1OG8ߕSj20b=ɤ)S&2w7-'5^hsu6N6+L+Q?BaOCA'X\8P?(ugyMZ ݕ3qih#۩ˡl@&_9EX-PA3#ǺMWcr>ȹY- %7`kS=8`u5ϗ/2k&Ab< AP/IE1% R^M־x(B;(KD[,AEHdKf놶Yui\ޏ E1>f haGT;7 3_qCU KwjTNMJ ƫ|wأMVQr;=5x] isjy?5OC\bvpMX h)+ GmOqH.Z@*KmH-ݼxHV~mG0%xunTгWbr xNH`Uߌ| p,+P֙|WKkNO" :J_HOq^[4:U|Xlp3,w~ΠPNVL)21j*ЗɝI-n N=*Hv^ Z;ѮdUI"W #ӂ`Зv>:DV 8,1}3xZ5h -~sJÊ41_J-RK"+\h_Gr֦|vN_0r[?Qw+J/;S3 <@# "f:Ѷw3_^>^d"W#YBbBLZ>)==PVh 4|('3RcDzcW C*vqlF헷"zIigc{ mvX_&~^YTF!d' sUyRw@)JrYxLYn}w[ Bp\D6JQ)Fn)? i$:8_"O/6FڶW0x "iN];=+nY>s1#`F 'VM)VDMpUT@ GVV@A@E41:6:0ڙM("t7c]m38J66>E74> #bMNJ!~e'eQśGf++@F)ggmSry'X}nQZg0٠ث#wyŔ/Z"]h0!V|8|C.lHdc8t:|= E{HkpS|Ԧ$ B)\oc|8/~E-6a{-y7Z_&\lvoLOOO_|*ǐpτ6((Hͧ1t Φ=ds]GV[,$5#)%GĉEM-o]s="R\9=3T ܮPxExzy' h4vX0/li!ST=w& 9]=Lwe`-~&%Ѝ s;a,W60>zx\fʗ>)KVVY8](D<4fe56~=4 8\`_>&Av1)yb/A.`QWYc%Xc~6* =|0~6pmAJXbIOqL`Ħ<'s~CImT]£iOg%@kKEA@TKMR_(jMb+)3}rO">@dl3xeڨj]-7<3 cFP^ˀ]WAm"xrDffç3r[?rh&d qKwDidO.&q; Mck2`Voڥp(NNR OR{A̙Db!slW*@;IQ>1yp.p"V 1ܿȾ_Pݴ=IQQvIP7%I+?+ pBإ1$0Gש Z5 ąHz~i픫+Wj]<ª2]k3C=g/Dc)az#y,rU6Ȋҙqa(4(q#M(^<=%ِ2Å*fb<BjRe_v7_gHr13zW 49V 1'b4H,\)GHoqqSDi" bV( b̮\9Tmr~*3CzTB9Ԗ?T_Iw' X F3ȭNh$hשr ]w}aA:l <7+^Ft| 2C`SER/~?~9% EjCw x{B)D"~N=BAFp)x'ǜJ1W8'i-8W#o2|6Q#( C:N٘Rt̞>i$?^k('uv3~M'$zXӢƒ7ORףƗ|ҼA,Q j+kzOdPקzN7|dQ>(YFܟ^.2e<5 ࠼ˏ4Js 9s 3wj 5X>^v/T̮O'Ҍ_h'<ѨĿ±AD+a8C^[3NcO 3&%"Dž&^4X5 M;g;]b-O4h½v6̇U+P1}gZI7x 81'|_aBF=EKkoq/9k'بmSJop9/H^(PSR3`[`kkLOVfZ,0l(ք^CS,8LOC)@4IPq Gl~9-FA_:2P;j󏵏=۪3{ (`QsKfB5,3YDɼFqzcEapt|{Elu<=Q}ȩ<.L_Ţ;e >{hfpC>ի.͏WB[']5Q qzd9]\6U0h$Drn;wo)k%1 jn lk4dzO沁S7yrX'j(IV9gğγ* i  jvwLގ}MQeǎG qXSKi5rBq2.GهrUS;sެq$uYڙm]H>5+$%ovj}jF{f7OaVK2={6ʍ+"7hBĻ*Ȥ>;鹯Zyi|t,L~tCdVLY^6 }jJM|R;M r 4 )xj.k0X.oNWIa.#CUj%sdg GҷT \~kjц&؅T/^r2}SGզbsڼ4TħLI4 &TgyIp=¤:_L`*9hHk۰܍=>Vb::UB[8*F<ݸfFZG MWZrXevQ~+G|t1sG) Qm^7A1!*f/=qQ5mƺbf4VT ^0gqBqh+Z#vNT:y(;ۡ /+ds>POu؍^lG85qX) ̒[9 o告oYi0Qg= x]ԜK86qBi~Őm1 m( a :dQZ*H TN}}E"< ]~~(ݗg_d})%_wD,;۰[(ݷp,j9̮p\=>VVVSx52[H`T7RDzX|0po6`RN^-MLeIzPW#tF#X0L[(5U*!?>o;5>zM :J9w&]BQ7QyQ v7~!§VFPiϳ8ҘGl nu6iVQt<5Tu#27˜0|'mMQX3bduf:Z=4[DhhgR*xRLajҗs $muUG&Wކd7PCC?Η }S'ϬSV$1&ȸ(45g oV̓|Z)Au]F[iT9~ % CABvkg+Vӓ7P:f7,7ԧ.&lG\# 2b>ܮ(bC}GS҉(F8: A6$aR팵Zhab+Z*A0B˂ %7^sFvdl'aJ|$i+Ih_"h-1 {OQ^Y›Dcj+-WCB[@]}j(Gz1h[N#*t),(mUmvrp`B`d.+/+=FG-Qǿ;¬P%xmGk|Td<ȳ=P0c3>"ٔQ+s:4%!]GM˅s eğj`#ZL݂[7IB=oVDBON=Yʴ Wō(q>K͎s:0XKYBKc7Z nIٖ\lRjFLy1^s^B5]aĘsW@$Xc6M%Le{“wuD~/a89m*nTc`b<{w)*󠢞H|H]t̑k [S#=%P=p򴯭軥>Fh֦ );?/A=4r:{VǮ}ߞԶP||lXQat2/lTN K-2 &R w膺'Z]묡# ?t5?N݉fT8#oݙ"_D%^W: `qFNRzTy&2r6\6~r11NEeyvw?.5ZMrMG "^tnk?& \*LjMsCLkEL XQ * H#7Ͻ #ۗ4j]Cae8d.sJ+,2x܀+%NI'g#մeЫ;1atCZS^wO . j!XxwjP'*EۺUņՋMG9#V9dy<b즁գgnn šG"@<ñLIO2N"ٓEm~"FaпxvTV!ӗd,G;A6Bj_~;$b+]U :@U$D"g}4T&.yCD`֠JՏ^*P!}؎^ep -hDs<c?^ϲM gӺdn*7Gl!P-ԝ/q&4RTkˋ|@dsnɪXG2NIgMvjK}W+5Sw"μ~kjT#-`.F0d Es}qU4bv#7UD<2UѠr"*ud|II2#Ux}#6Dw)+s =fw:&B vtTYKH֡AOگ-`{72Jވ'mX%[v=bpޯ$Sr<"3TvSt4 ^tTMJT="֍_1ewUnkXQR p*pCCH ßEWQqZ>88"?(9 ed!S\yYLs~6G{Qb+QHqd5un|XC1Oz1wN8 y? zF*R.'/b':'iRtb}UcoSdR ]aǓ W3_eMbG%z2eզV , #EڸlTڿ*3_;!&$ h&̯RWz$zL*%bi\/6NpveZU/  ip]t3b`AQHBO7KkG?`ޢ]YQXK ўy+9g|1+enOCs՚7-i?~@ 3Kͦn3fgu&[N wɷ\zCkZ-5,gP 6iP` )௝3/C;W4֜ސӋ@g}f*?ObÜWW%o&6zt#$zSJ$<, J[Vrg5B@?uyq Ə.Qe'P~%1xOb@)d @o2 㣗HxNkF}2F*6D[ ɨUN"{[PG C6:Z74J͎KSFNvS AcW\ǯl+m\%m%3v]@A}Ƹ~}k& UM i]m!1qx|(n;_7Bj?T o_PS<tS {p">c@ 7M__0'{Y6]r)VƓy:AzHJD¨Dw!* #ZY6 IjX2#1|%IaӠ`Sg5 fr!' ~y 'R׿ SG#%x6_EC' N6t%~lo?QY|ZtFYmo]p1t:^&Ŕ#%{ 3,~St3(Lj+0-m-kz.(r Y)dǑG_~glکi#mf,0`Tt+Df^B`r[E*(ꎢ â_5nC `H7n<ɶ`|]wc^CMw\{,uRE0R,fFѽ^!v*S!h]ux~u63B ! ka24$ 3 {~ϰlHNm@|&ۅ/RhEq_&IݕrA5?HkOVC 3g 5{̏*E4~:cCP@C<=w;8J|sCӍ8)FwVƲguEă s)r:mR1ru. }z54A?\n4_*ޚ@;hҏ5)\J] QT"bDEIUm[Կ{΂R7'-#^IɃ>Y+x7xVmMS ~/!1\@O,Dl#n3~f À^^5bB>1p9F5tG#"࡮9F16T_ZiHSf@J[Z?X-r.S'Q*#|݆Wm;]'7(X"N㗎f OΆAp3(#0Ty/ɺ<E8j:ȯuh}sH#_^[,俶5'OF3NbՀ91Pxa,?Z`JD(?468] xv<@ lg:鳩v!)$9C% \x|m")ܽG#ײyήC7s$:O=ciC4K\oʈ?]~%4=G1>?b]Sc7* q$2jg 12+u֙t F0D|C%D~::TOf?xR?)KTD+υ3' LYvqTxzc ;k̖ɤcz$]׋(elIZ@_ 'GR+!XdA/z Zত]&'K{YRpVDzt==dyMpoҎ5]e%3RL $i@z$kR9?VЀ>kt_CF>^&EM> zf(9`90< Sw6 Tt=RTh)%g 7y1?MXwl. +Evq}l>@A˰i^TxXХ;XIJs?Z TƜ#Duuº- JG>7V'd'li.'5(WnFr6sC n؛t#b (g st1ޛpHm/!de"BF9E4 "3ZJOpLFKdb~ 4U6Xf$|j ϓ~j MohOuD䜥zv/ɽǑ|1~%9Ũ(@ڜ-kݯKt,nwOQd3Iz~]HCB%+K!n~wI-eUr҈uLKG$qu1D@w9׎4ȅ{N%Y0%xRt.<$=)}8"^mCC$ Xd&E7>L !.rQA>6Bgі%E`^crz=Ko !AXn oO7 7)~שBK-ǑU  Il؝xCu ޥ%s% lO~R]K#z7-0LS0Փ9*@kE(%Q3zVG^W@Tev<7N#Cb%ObE ~;`fM>򙯋+ܘ_4)M95Wr2J8bXIh`tXU'V]GrKU ` ծH;i),vI[dd,Q0 4ZκŀKv0/oS0s7$D7$  {XAD'mQ;Rci]P\s_ǡeuY#J^ I%|TVVT̜J8hF2e$\ lY#tX3~~6&OSh^v g=a7Jk#AjLgH!`4 g^,Tӂ-G.7g w)OЯ'JFs@H[4~ş#1e]؏6Ş ]H`*2O*5# FHNxR؂?ِP]TauA,P^kew} nxif_5 Z7 ˛Pj$HNj ю+s-/âya:Ռryu- ڋc@ PQCٸC#!VK*mb $O`81:e)w v8}*q_L͢eoEiLdfd8*%H%R'Fê_`x=G>#&%[>~>=ldh_=#`):@G^XX8$M?[;8. c!H\g4(&$3e"]b3)`FU*L8dLAMfm2?eB}GNJ;H.3EobxXoS~!L,_hg8C2gCm eQCK7J^ç)/vVs7,LNFCyu D8-I35nӦc.u䲵=wNfPbX7 z`3.@?%JMlysoa5$+w?M{]aem#OX7V4FB̾y !pԇIYpQ1ݠOd` 紽ָ`y-M9O$DYfї)kBy-O{|WׄHIxO'YJhϑQW{3"m&vMdNjZDc2pzKB.ڂb>OQ ] ,7U = C0^cQp4;uJ PMZ~7n~M C[ 0~0*(\).$Z5 VB6/ -ܢIy|x ij7-Hڑ hP"ȅ ᣰoRh4췕m 9<~rI)T>?I7:7T &NpB[F"O/S(pBKBi[hLjX[ӯiu?Ga8`p (wbu[GYZn[(BPli^a{,('d@'-`Sffl3zYt, JRv>%0ޑjVHv1A"šo֖HeY.{q 9kyJ6/\MuUK4R!z"$Ȟz*WV8<ISDp2Я{;r=ep}hUfzI$0J޹?/uZ'^ Kp/r Si"\]L?NaX57!&Ա#=GPWhuc[=HeQnT-2Pkתi5Tnүv<4!(ړlKƚ_$x[/@Gn5&K+gmp婇a]&C)͗~ ӾF!ѿ2t6ȶ g}6LNuKbeJoox*m[Y,7okѓ|><5ﭤ^e'"8kee}i!3v&)Wh|QQmguU0d,*q2l0|궡u!t섮%yEJ*ʁ<}u0]A`IUY$*.rM%cU 7{݅\h[CGC!>U8Gcf8o#s'BJPF<8Wʡ໐B&Ļ5PS`ڸ7*z4bSOx_5!R,oq=iȄ-VcRrnX{#zfRJ7]Yoԡ,j,3_7}NՌ @.S:@`#YGc8:ͷ:wx z { ފ^sd=숟j_Lxqjr{CÇ黜/OL«T5h۽IǺ-(jv b<@J]PJrIaksm^pòe65ݕYKB}> Lpj mP"鰟 "C7_޸Np}KyżΘcq]'0C9)utSIy&W4ݠ0[OXD_"~ѥinLj@d3iP_\߂9똝z D?A%'LYe$C#Ā]@2k&3;y GZ>f:`2'j>eM w -!eK G(Wo:>gmx='xOU^聶vf6dTm[5-?b)k?#bVdrmyx̡unjH._[hфw+{}&,/vm ^bJyx`=m-kvj8Hj_pf1[$%a<m ljW\T4'#w;JMO$9淧͎Qx^EbGP$Q|oK,Hc ^=+ ~_^#r-bDZ M9ǿ"G @Px41)kr qM0DXv-q1u&e#g"ܱ˰.C(ǃʚ|\T('rH~C#?Sf| M2UɧY`C & \5&Y&ثkM6Kmkse)/ p(PӘ7/%Bei'.+rLxL Ps<~NcBG8L᫧tIeY~YaTzEI'v:8~Z?cD+ A{AZ6ܗyVSC70Tvlc@(`FN]ڛAO? sH`S.!hq nè!^5P tTW_ӕ69%KϗO<;Y䬡+d$` Ed&]rqQ(*`bk >.v%6ZV}Iu?`V^w`'|)}CBj2ǟu4ނ >\ٛjY츼TT8^&^-&H_E90VD.IrIׄxvHw; P`H*|Kd)EW#m'}"Kѩ^5~TF!U{Ÿdg꒮&L<[JWtՈ~C?j#&%-S?LXH}ʍjk~@e>PCJ;*v; NYE=l&H9,7$~ygԢ*u7+7 Hih4#d 7 aꁇT_S:iV 1%yeAU yvw^O@sT䎍>}6x 7En[u{k LQpaA_}{KxEgfaٷɂBǾ2 yQR#1#T|tc4wѲ[:f8>^OZz:@÷ ,,LFSRZKMW| >\j8PAsKE_Z9cU4Kة .)'r{o>7h~G #^:pz$Lb3&%1#9LZ#l_v{ t/1|B g_"9vm}ww(T<M  G,TzΦ+\9=?`k" |N>Cydؘsקy<ՓΨJ'hݒT DO JA_-tW_D*c1P32fEb b)Bd:؅+"WA㌀ ЌAw/+K!=|e(!12ϔsU_:P3]Gǧ'Yp˻|N6ଯRz.{GLdǭ'؄]C,G5qB8u(2'SقY*HE]FJtL;|lfLwHNA)u{f kGXJv}ws=4f>jt_Q`|y1ߖxl2]f;م#6(>݄7[GD /h}55l+;zxM Gj}',&TKXU>XG(E}7χ̪ʍ* Uo@>\cY4w>,ZBѤ}Pfif]!=Cz]'5A9>G&Sѫ\dp=Z <2|Ȉ_W2if SH'C|cఉYE SBؤŎzaaX($K `<x3avi"]%=9Od[_Da*tgYnlA]Js!0td0dQ]ڶѓ!7?7APeQ"@a0DɐhUN)3|b(@J&hy@> {2\lY}l¶q*1mXG.l{AI쇷Jh>DJj+S*HLg[LXq`y "Fy8p 4*xD>:_9#+"ixTc1:7~HE_є HqhB6zP\*fs{(rWӱlScu-}j^ժf=0SgޱP\E P1eq;S)xkulxC`IPqtv>~m g~LO-1eEZ4,6.D>ęwwx21oV}>hq 4/w{^[a miSo▎>T8sIxH g1g7]`R/2duL5oϨzcOݛ"z xp9aĆ vƪ8:MtHJA;C _kWRj#=b)RLl,æ]bx F_TU.6I1A5%+mR Ոi\W%Sw6JMGNK0;n/* ½ EVQ +<17$n$Cg-8R l%e.:ж(l#}p_5S筜&ݵ/ g?zDTљ$͑_EAHd|Rbr-$.rԹF#΍ UoA>k1Br _}j?MKDbFGR6U؉4l1/ѢғY$;;ڗv*ȢpJh~@#*P7f8C18uQ A;y)gӀ eH(u)Q[zHmt4 VxoF0,ىH"?BvNHzO緸X13SʲW0̈Dթnx݀69,JXƝVNFRB@^s*h1[_yvf`Ld<Gt[pȮ"%_XC0>;=(=~j܇ABpQΖD硤㘞NH@2hh ]g[jZh|k/u"ߣHC7⢣j/(*@C9dC@[ ŌW@F{.XEyV}um-Zb y (/ogcP˽搹445ߑK)E4*ۂ7xKfG7PB{Pv{A~r.|h_fWcn\޶LM,c9Ϋu20,e2A x0}dAZPQy}8RH^)5-?D )4"pNZk5F!$W+dڢzed=spCXx\#p3-ZmHxHeBNxQ,MώcA2(}p>$: ۿ2:Dax (O6P7#3 3N>h&歐K~ҫOқj/TᨛkDIV2%UK>|8۸9&!OZ3ҙ,~M<,N'w4l $ntPqN`UVX&u )rg%irƒtO䎕.0K=ulH6R)%xyT؈Ц&`Hkh^`рEޔ`RP:sBp R !8rhߏ%F0*P3\֊RѵsF]6|(w_yH`ɫ <(dX%liƆK.2Bh"ߏz*I)(_Wj.XU8%y?SƠ*9S9a~7vX*lhq#h%ZLVbbqMw+}j.htM_k(5 jQvljӈ8#ANH,룞yPҟ~@r4B)^&c^#eyъCwÅ/RcNsbw:$ƃcXI~LI2Y{$eJe1교oc0Dk![GCA3$ˬოW/Ptʩfd]ġ) Ӣ`e 57H Wo2 a_^.cO "zǃҁQ_%__}>:a1^BݚaרCp– ONyrC[b^H'^#w# 3G:lCFI|\ʸUWY6pe3,(^Ko8)l]xBW(|NYP.5AP^唰'L"o&)* ތʪ0+"{[ޖ$SnY*t*IXVK S6q>R^孜BM?Yz\ɁqY.ƒӜʜS= `jv7JRm#+k-Vp<!^Aikj.bF25^Bf9'}?d,$![@p9'"AQ' ,Y9Uۊb$j} ][QY2zL AU=#νܚl|Rƹ`sB,I&jvI_Pwt n{jz$?g4r?KS×&NBt4iK=('m|^k@}@yLF,Ұu{%.J4 uK<Ґ=k.۶ɝ66 U }/ۖ-!:6WYU)n䄹! -}!ФG)ꡖeHؔ;8:E'$m>茀ӥ<\poW-Pr*[\}k{!$֣\.#AjȮњDU@ewB0z#ON,N./<|Rg 唝yT2i1zKڈ}ɏWࡣr/Rk.[6@9ԆU" iԘ6+zN0A:'_ KOe}Ǒ"cW{􃰳/ST1fpí!͕8Gx0⊵j'(҅%`ߥɢ~BxI Eѷb};>]I.v3`%Z?-FEMlN$ ԩ!?֐ N>WbmF8UMRhbW(+JV\G4i2~s>3>T3{g%Il55(۫W&Xc qoi]޲&dI 7Z: ?Ћ/'1BfuN-9?6(.T6|:r%Tܥߦ,Knm@ɝNo*L;)(/U>Z$ fCě}M*2t,{oÆg7)wolҽ7Bav)N هn͠inc=\?sr / ICTʰgQWuTFrhUO˟Xa1˴2)x'.67G~3ψ1; P4QDK]C٨Iۆݬ mߙ"xt]$\*|]^Sp]2y*i9~FI|Ge uWCvcXq@ GacVwAٚ 6TsRٲQZ^cf5G(͇ /xe 1\QMGH?9-G ], px L"k.fn{G#Llф*Uc@ڮ!cqd患ǚU0d8x83f?8MHum&߳7?0cAZ{9'?TMiaׂ~m8%v:O .ۺK0 Ϝ3%֦]-ZfIU6xi5sL򨴜QL&%GTEQۼtߙtYvamGsWW'\ ywp U}. ئh7;Z,pwdbUƥlxag\,`ƪ.sv爮'Aϳ+MQOn%Pwȸ% F:OfGmu@l$[Iȴy)*V궮. e0\5Xh7X5.R%Ȼ({GR ruZd EAI$je D󍃥akʝA&KI7#+Ҟ`Bn3}Q^ket"ymv>qQz夻4HMGeK!pgʟIWndkH"9&ůccsvC˪ZD M^IsT^/c\9aƨp%&(H#fZx2Lf\en^n'<)6g0RO Jzwni^90c#Sa=R=ZP MG >oOmNi\A>G+#.!{lL!Z2ϓ]`UO (sA]|tf bD8}icY?QTUb Q`qfZIj zXeF60DZPvjfopR~°Kˉ|P)Hew3h:E4|/`ǭcݻ|Sx_L ro_O(dJ[ϫ4o3x@M>E!.2Zuk-})=rIxk@L+- v9FPr/0?Q;Ϫ֬P3Q^ aWqpgq&Y1e}h9@f ?{hs5t$va>R8RWW-~Y (/:4l2i;{ݕм84Wvg 3)ԞIz ˡ;sF ґfjF|g?3돒6U%K$UpJY\~O'C]7'9kubP` m3Z@;nTm=#(070 JP3KBAS |GbK+g(8p&njg@Zbvܷ[nJqēThw)fF7A'FL#ϫ%LݛaCz"9 +Y:}Q1QZhXfecn{399cLB# Z^Ee ɽF =pB;snﵦqmP1$^SDQq򙓯uD7w*g]F&>e3͌"6`SnĹvhy~|NzJ L(Ww~=}*ށczƁP2ªтMwփYaN%^l,^zAO5N;+)eTn'>AĩKZɞi9z*1\q)O̢[Ú5X`J@Sy \w,/D%&ݻЦ7, 9 >vY.dL}}qe9G?fF |m~dwˎd#ٖP9wF<W)N$?c\?<Տ:w?i@O\쮆n%̇,D 0m+O⬲zI, 1#Ҭl]e z|shr[Ӌ{z$'V4V̓ڙ ۧ,~(|^.7j?—͔%2zً (W1QI[4GB+ 7`bV^$" w'NKϾ57`i/G\lYpB"؁\?5 M~ Wq@8߳s7໓>nEv=ƠKxTy]Ld'}kG7"Lg3"/"T5׊#NhJ#c+Qlg"ܖ(y~3XY5f7YӖQD(WwN`~U&C0hx)!G?7ޚU40^@փ7UXwtKk@ },ktYu $xi3XHF ;2k=Uz{dA/uxNWAU"F)0zO.jtBO>Eu\qԕi4f35c{1:Υφ']: iWYrř "]:[Qϲ!>U=!e@ RJMڋ=Wak#?HC.h6n<4ğyg1Whm6DG7ir@xS9pQ/U}dLEn6!ӚpJ@g7KC{j 8i ?,A=%F|EOgQ4SyΦt  eMKG|EZ9@HsBp7k&,I8om-/}JRܑ)GїCٸE&3ۍyeI<,,DL"&s鞚 HԢܠXiѲS޷"UuY<AuIo![̉(fܬraހl:aH2Kpڬ IZ_&b?'O":}ZIj<|g {8a7t39.UI*Js#AaeWA1 &BAJ3*xiu,|͞N.Zج$-;iz B5 xzC2jQ wWR‹vMeo}{߯L03A2I>Xl^(Ip4|oV.՚0½1uWzС{@=CΡ\Qh? 㫋MP7Ya.z[^ l b2*>!8LpH#`C`-:lدyG㶀0>ZJ3MNTKnBxnZ~;_IJş & Ah_|}9 }ztpF)Hut̫S.HUr?{; ]&7 dbo,V%@7Qb[>TgC)ᕭ}b #."NbZkqIOt9ZlbU¿Gg e. E*imQg;O犤Upu߼ں'CbU;eM||6_9z:R{ю%ʌy#j7@I?gu ؿAҫ'gEԃREL_K_UL07qe\DbJU\tyIOLIcD:3'7s :ܟPx>#IP-hɛdQܷ '{O]pmnf_h*B}-|LnX82 xGCE]0J^i200Dn)V eCA'17]oiڢjmƴ`hە3/AԂ`[TuęHp"s ":)^4AӕnݳWVϢ祁5U7A-'f[ȟ#oH+ !Hwlk:6DHb ?-zM9̉}sy7k{ro[UĩC|8Ҡ?ZhJDFy_9b,&LB‚$~ܻB_g/|;r0}g';￳xi1Kݡ~k/zNhV ?FvxڳOh _ߣHtL&FA&;{Y5_.-cLj²k=j;k:ѠHQ&uc* 0^kH(_h>qV%84Ɏx8gIrJd,ƟIR9Mslaκ`*'i=6p*{}wr|}[C”0u M>/qw գ>`2 !.Qw /:|Χ{Q`{ɔwƯ[T$O5c ۪*jyS۞Osދ}>Bt" |iJ`\CBrK^[?Q>k/C$e}4?oMe9pVz͂msh=+79$ug5@&΁q}NNix L:ցdb$m` }2Ëtaq Lc珡QrWNaP X{$moEń _])TH(`@|+9=x'_^7mͦ7i2DdPc.,)w֙6;pURY=kQ+!!P]R'tWsy<3u(pOmRŒ+M|`-aS\:Q17'HEyM?Z4U(F݅IȃZ;(z|K]bNe ԹV/Yk9\M<K3Ѐ-KlȒfg\2c+W:oU '@)T/5 4摉s q?O}>03&h=(ӅPg5݅"8")uI ]W'%wg\  U'JTim+g܊Z!ɫOʡ*$=[ьJ:3suZX=ڒp#$r[S3)`WmUXIC |6IRP^g UþeaI`_@pN8r>+c;Dw!l t(KkȩC4٩4kEOXXXSV-|KI_<+B Xf~ݣ5Пg Occ;W&1Η*-pa|uˑ c_#3q$7u3!f;r2a2تO/Ye!߲@l Ag;T£m\ +UIcاoS㷅B"U衄Q+bDƝa@b,ؓ9)Ïmո77f0Y'i-I]إ?yru ,֏WJm &1 {0/&Eȵon0˙^JZ?0VjabOeӲ|C#Q#O{r-+Wj2s;*K,'/?"uXVX0Ia6DK q_0~v#Fm^ܔ#_3+V8h?'?bauy]s_QE:WIE3Kelǹ߯/C3*Sy?H&u%xCk%i]c|uqQofA rPD-~lJ怨AC.X)cU$1OYд:ۂYj۩Wy,dl*,4UE;?cf\"F1Q< Ԍ& Wސ~Twĝ ,RgvW $Vc'Jx_ "E7}mpFq1XRNe 1[;`~#" xc/&/Q$F{_486TI-Ҽ%kۗS;|@k`\ )Q $R;`_x0} [Iٞw[7VTP٭(#b7:Ӕdy`A94qG}՘Q3OQn GFcj&O @OE 4@r2rKBy&@rp@@}Xbt˒k\pԗOO#V<{8,쳬քҜ<0<,L{-?d 0GGlJ%@6-STb|;eYEApVbqQ^d= ġQ5L# 1瓬fyN2d(8^ ǨɁѹFJ2Z<ėo}鐑Dr~8~'wQ(\Qz#3J'7Btg&@̶ƲM.8Qjս$ LzTL, e$ܘPD9XH 1V\M1Yenw.o+{mx]STVI"e7N`_@I^NxCP>TEN&㛶uoJpX5:-f>۝޵aDYӨusTu"/Cj9')֕˧4Ȯ˜ Twp>5 :σY'qaeUGz[$=6]nNP Vx­z!qx9pAM96z+Ky'}J瞈B(WV:XeB[ $(_ĸZ+5]>I%m}/y[܌4>` rfzؠV4aŪu.x tЙ*ݗc'guNX"AV!U2f<͜sM0t\&C `-^q#9iK-m!pt̟֗W1j~"=7aqPQSs-e߉9%Qb[/DҷԐ=!U9hq]o`\IE3nϫHrE`K"Tl'ּ6bn&1|n]7.c񣿾ch<<2KC:%5w;ee^3/RH종~EXGh^o2E E؅=ACOCzLx얹T4COgN3$L.P}KK[pTY# 9&ᱡ6wP ~=WkofU^:O 9hgNr~GƋ<|g 7UT;OHͽlR-[؊)AYڔtmz\0Z3 iC&x]+.N'%^XfꊯPXAt|k"ecC&i, xU N2b*I=#3"0%/ ZA,~na%?9HwxIFsU3/ |E)þh3[cxsmM7@ꘗ@;mgr)$ w )0$FkQ44Ot1g7 [\\ĵ&őe,8zx3P/a~=?ҩHoĠwFOI8bLkʇo+LLgջqv$D~^42yxΩ+?^X:5u`N1n\ /@]nF'$>g245*jawy`f ?52{`Jsղ&끃%}A4-$)K]a5B KK1֎^_֏EuLXGkCdz 1Ov OFMpd)^*G;?li"P>}jag@q"n齴 0ch; l%V"ʷ_w![zP /f TX0h]s+gΎg6~R\4fjW-d#J_tK) ˌz-8&"伒rC3EF3H_;ɨ3/ya껌PSNAgD!K8Ϩ5b5ߗgxuGfVF}8X4t/VkW*(}c8n" "m]l{pK6j۠IGQO]z ?d NωZRyˇ$`#7#·^܀Ϙ$|~dXCιY -<Ѿ =Xq<Z.&JDS 3~!|gjA[ug+:TDgp ?iɡB ` 9Dآޅw+^4+Y/Ⳇm~_l<83x?E4*Xxql+2f'^cRьsO:b L5"$i 9'A;pJJ؛Bd[܉ m #+p9NߧxBJ_&N w}uO[sPsmf{R[+죶r~5Z**5IARun,\esB.{ ) [h?3?똊;MAu$[Hpm@,iw'voz f2@ 儡_#Oozd GKW.^CD2M8Fw?$rviJ|Ra3ciA_11'Yx3+jVFZ&}a;ۂmB*q@YʡeB!mv C? 'O}Ot=EQQQE;iq F: {jP@bm?8ihݘ~P{_(]W-/dJGMKC/|!4 }2\ nzpy]g3Ӗ= @mn2Ԏrqss 4[^)?{MiTRdęm]*>xBa '|TΠw8tZs+´/ٱsgMJ[ Lyϣ 1Pynz(Y46׏d>o(u,!jNU)Zj4ېU)B4jjNܽ\cLK)Pm/u>7X|x<(BD aO;#I7caIyW \ƶ3Y"Εi=vm#Tu(Lc>`BnD1PtӊU;fM20Q1VHpw5FK+8%P1.;E)_$c*g}lϠ^CU[/mvVw|:>l\r$o,'5`!BGy}*dh]^Iv?ZH2T.2:U&\*4X \R7pal Cr^4esOx 9>X9>#Q bԺ<8:?Rs㹌uXXf/wG֩A$}`d+AMmRͶ zG &aC) l:+ڌ6 cz3>IQ)KKmOsGŒA<|^lPƘ6=b4 GZAmj=,+ZC#v2"7s-p }mcǨZ<c~m"rL7gf>ϑ~V85y3 ]Jo!Dh{fEhUeqh3b1u"A<}m"e٨kE7E>set? oH-Lef١9m&ӊ* nk|TׯhiegݻD3s Ƴm_()m(rωuZ')܋i:(4lU>^ZX=nlvXnȅ^_ZSɖɕG8>'g9u#8Ӡbx/Gk͗#{m]t;ֺ]Ph|ɪwLr@c@#2V?v;sMv=H0m/WZY$)ݴa 4lٽ^^6؊ HÙ^p<Zm^%)]hid=W FFp"_(7В⿸r_̔m:)Riba TL-CFBGܩi<ܡn ! )&p^Gڟk.J.Q7`}whŌKkq1cvӛ9-)+jpSx~ {X u zh !tg)1XQY#U =1ҋ*`Eaُacf8?_[)3\,,i33kk[?$ßC\paۊP]vM7Vd~{k>Ν&j*9} 5k=_Y)87m5t,7`V^8Pv:!z;Kl{(ṽmܸ|iz+kY1@82Ee̬coa+ܤ2?>&Qۓ]$$x^kVV e,Ryj$c52΄u*>M]wf3iR Zm2+SlMFz7Oi ǷQ|~rJ7igu__R,EY2!~:@J@aw2' ~HrNX=:0l ԞV`ՂU/NT)f^)Xl_Z-WgGcԦG aE_ xzPЮ[7r/.hdە wwQ$/2o/>$bȓ%lVQx6 1s>k.L$laeA96[^;`Fq~Idl9Xi_r#,;Bzߏδ7s2v8vR1jyF,R s֞}* iގ}<>,!JC`Lg![8 DİwB7X䝚DxJx}Jv"GAu84q&ppـ ӡM`*$1ɤvKQK%<%(ym:ETڮ A#UNXRQ ,}o$g;3 =m2)q́baV\̌\lN~YsLxߣ ж\XozK ?+  p3`c#w{3X2@UZ ϧg4[5J̵LO)aeՖh%pH2멯AR*G!=k|G= ޖ L zqf?߻[ Ytg;~%(?t`Ɉf]p$w8d¸rBh*ˈ)`2MyT2!ӑBYVP$k-Ù0TQU֍Gz.,&lpXNyVJD&Ku@=4Bijki][Cwn,H'k? 8l1) Kc4N[T;[kf B,˶na,F`' 8DzB:YEvO}HHMJU;2;^zԟD0,̉+֍&G,M?px,Y1*mݔ,0.1TN^u'^A 0smwǔi2D h>7p\17HXY(+c-_N~QwgWz{ĢxJ :I#,!E$tUFsH1 F|:?>ɠeET c3Ul@}{19a }+JaWdt0Hsq̶9^&VgK9^U)VBWAH>c+b6Ӯ-޴niki ݌%NY2#&.3:4jXtC3yD&!]>l'*o5rHhK4Nt.AW ={4Ё6&z0f(C͆q*Yw[h&^{0mBΘEYW!u)[gMBÿ#(o;42`Sǻ:"Ѓ^[Yq\ـA+'dlnp9'듡S=B#D&ƉC~N JczAz}nD8duMv_2>lۃ@7[pW?Fâ\poS?L\@ oG`U}G y3ېG[_CtI4he (>ˀD:1[QfńSVݽC+B qBʜ * 0 1q ]6ԛjƒߠ"F֪ sb{Rvtsr"aQt}4UUn&q7V?0 eK,;O2:߭tx9q  ;yDmg ^@F)xR|c)͖ hˏޟ06b^aH\lOoT YHe7TvuSRVIcʞx F|滘o%;ʨg7=)@ry%ui=n}Ktw-4 q@ۤ &w+.kDrs}$}!q X B_Ec|0@mM@ e&r>Otk*~ٶ)~U-)aol6t0,gzaڥq읚G̪C\Ԝaԩhk  D"6vNH{Ij)K1>>S(Pl;^=VTC7 ӹKaLT^`2$aKY#9F5C:Aaj~H\!i8\x+TPΤYPl"`,YI,~)6n ltu|h~#hD(;!'kn)|,JFBʪ!B!_Qꕒ0Pyl!nof/uO/ͩw҂;R^& wb(.?ojӊĖ@kqb(Ie1ժۦ]-r$g'un@wS2VGmF @R?gF+I1Е1^WJH9Sij\F]AC5@(|p팾+orW5wY|*BcM<Τkvˠi'oKl`# I;HeE%m#!;([$N9|bwy3 i _bBRWՌS!Q~f ]g=Αj_KU|卖dcV g ŬG] 24HҢ%ekJt9FjˌÊMȹ<;s=larNn5eR"$B_,D >f꒹KzD{[3h=Q,N J#{m/[jt~_wpP1A!5iڗsh5Tj?Fl(4AAbgxGY,ӹṇIESQP/~HgbXZm0hDͶ<n\pʅ{ȥDz&. 124_GݔRi O_"m|8@G -Qb<-YNDesrҲ$9g;%{.xjTg.#]D(J8Icw,}"g0UQ@-T RMg7l,S_Uft<ΕB5ۀ$0ܹW)*=i>?<.ߙ{V>Bt|Zʻ{#BiSm#@/+8-mYKd ٺa(34y|;rﬣ'(wWL;´ `U((Cwcv=45Ik! htG|7saU<^L %áԓtĬGǗ3'Ҁ/`" *(,D֓F;P-jާ@g&fUd@lTvgY^ 1P ©%.lZX!6wQ5!w$^Wf4^>1YlH2Xb^'K\-T2t\:m򎄃E{zzVytdYhߦyA3Վ&fD{wcq׸d0E^B)y >XiҎЎ68ҞfBt ޢl9H^㫺6 މm )ۍ<^< vEr v۪ul4\VD1w JtIl M ?{S2fk0BTGz %: "#dI n8^a]d%(]|W 5U@J4k)4]AѬc2ӏSl3eE{Vk9m*9wSumh^oW`v9d!K=f1HYڔaLEF~#S[HPqN RIƆ7a?^)(ϯbH‹'ϱ>0Bo#U ^R]^&DVE]I|Uk>[4X1*2% YMHQWrU>bC̅DjZ j)Z E/ =TO@NACHD puLÞ=LtOʚ&t/r)̔M[AaBk>䞛EbPWpdX.RuF9욈ѽ~]ue~_vv{/i V~ L5V7 Ӵ37~T볫Ywp2vl)k#:zRoc ~j#4ܜA"M$X@hUڳ V&A#rjvOl|e),,{n}i3pHY$,*įZVtԊ.=ue2WY9wE hrz! knqu(J?8.#pޗϩ5:2^S`Aۅ.-98/mwx.3\sSuI+ 8m?# J.*w`H[e 7Avo]2"20|: &ۇg|(%pߜ|(P dPu$ w WJ:a !J.b%5>fl%VHV^2^lEcoz1bm?ɀ Hc@ɜ`hMnTL@Y'jrAe'(\Q$WI͎(|Cw~AhW̛=0+pv@NS u(࿽[ĉס 6l$W#mTݙWaI9w%3jZbz` tk!Z`xR p+i .``93U+k` &3ݷm(!M%Erі*]J)0pq->@›$TཪW4d1vE {.g|Eg^(!y`|\Qr`_,`.ٙkߠX(tD9XT"N̮^.y\F_P^W(loInz݄ t)_'~DerRE%~ 9L#nٷiswʸFb׈<}mK̎Z6QH*؆Z&LxFy7nm%oURO$}v {IJ^j"-h4A8dXcϒn'fsѦ!.&J$F[Jǟ{+o΀7d! 햢['>ɛz2Ed2ǿ CUBaV슮S\Pne Z GuB|ӢiH,=Sud?f=$g9(]V{05:Brd PVU)Ou$3|/^IvpgjZ5`J_qr|JiH6U.82DT)?zP%9iLıwMnbY$iUs"ɋ)#7NUP&. _/[+ֽ`SN! 8J%I+H- <[(@Gdz"*/U98 q?Mm #6=̽|>-= A#N?Aw (q1RP{ ygB?[BA,zBjAI/IU!O#w̳b^/3Z A ;) !Tp #Υ@XkߖnH 1id'bM H8S (SO~ndo*U㈿|POYI" 鶸]Cqu L<_:3gრ :B7$n0O#Y7UxyY5 KM$}^%~Y~vDn>^&h AȌB$dk CW?bmV. tmoBXIv3ZKS.쐿@'Lvdq2Ĝ^C*ʬT%) 5a)zwutFܭc;^ "I0^szl>}/@}e+r<+_bZ4^7?)flj0 YSB2:La琷,!3*VSJx.hb'KZ> ]?(b(K8mg 9W6z2!ԃ)|U:3={QG̋[}PVVp9>$Ikne&p}Uޓ вeans+HOVD0\ŷb@$?ac8 i^W녝 4Ssp.UHؓ=_!%j AP"Ge6)sծ*t:Ubd!_VȒC *z.g8dP¦c|; `fiV1 us <v|w[GYJbI,D׏ݛy׮4hq9^d,&>ȷbq1Wd7:_=#A8Rvn胼w&7|}ņzֽBsg?LK6;l[kW^J`Q_VՕ8$ߦPbXD|U[nfql=Uʸ=bmԐT}+L]|zGbVd|DZmW(Tt׋o+?O`ŋnE^pV"K/ڗ7mtmo$HOγ*6+$ yI)&b~*ߚߊ=a6 2xlQuq٨u9䋔xQWv3$&Lyuj45JM aE+BQp*ȧQRk&O `GY&2_6{|.uw-ߢE }/2v"=@9̻|*bz$ŘLgs)_K{3(FVC=!/ p N̩D%9t2AHp-҆ؔ1eb<  @ $(JuW8^% | ̙M\`Ygciz5 {<ۈ]%tM0.* Zb{6L;2g`M90g򬠝$VYp%Sbt>v:gb+@$ԝ8=&?E">jH䅵kZۏlIJkgxqydˎ8SS񅀠ZD_fν{*QLiM]P?2(p"ǜ~F\ZYM`j슰|u<0"w8#@@!R k5 DlMbNlzhSNw9=8 =Ky8콦 ϟ#an| 'jyB [diXdaH>ׂ 9Ri')3&Kq&Avu:.SBÜ,[?VC.:hqdbWJ`UWzz\6DwkBYddD >5]030bK;W@g=r A1*LГ@q6 싛=gFrg'uh[%h6x.!񾀙Iՙ\4\,iFǘ &|&iJ gnkO*Y$EQv;[F~Q\ ѼgF1}U6݅ŸQwxԢ ņxulWwQa Iw/l@~EvvՑśz^'+t2dvvШ@ɲ*  N$z<}97ׂz_{;muD?چi4=3扵]&IzSŶ7McEXCHߝ Fw$0K ' jnKz*7q1=`O{殛y˜׃ :?ˌX2Lzl$sVW" y}06LEF$b4*&)޴":|M&T"Jxi>w[@Zm Y~[IatDTq1##9%bfNfo[үJ!<u i S LNIˆcql:%? m]MЪCWy4/uI!N1_}'E!a!`AѨrwåo} yVC ,R%ǮJOyEɂS>+;I͋ƍЕ *qjN;Pgq.s:l*߈Y\YxfB!_~kC/.|d Ax#5[yIGjKGx9gҁi[Pbx΃H5hjw]^;1^?#O (c^h#%OJ06SaT8b꙱Aބbű9B'9=RK5u2v'%[FWÄ-H!X?>m2݇b 8lZD/REo$m"ev~y+0ӯ Ly{uV4ۓB+ޓ{vE2tDY$T5g|  O S Փ%?DA0 dFy{ܨlN쩻ϻ.p CWLؽ㲸a؍{ _ Vɟ@GmXAmWBM\:z·_n.ܖgo욓FҮJ`=4ST?(~Qտb=Hr &9BPH <N* }~ww*zr|J jhjt8INDnJ1y؏pR;]eaDS̛_֬fwG!| WEiU}pIk$_ʘ4]CXnmmz&qon4>ln|1?)/[A3=sǗjqWov}5kD.MeY#;M 5?9е3MbUΎ"! W ոLzIUᆬh WVKZgʖчENpo1svNOqDygP M9 J[%@0Mrs AibS-=bџ 6ctՄFaϽ:յ_kȴDgX#@%t4P@#7OI~EC֪2xz?Yl;(9l1 fM/_U -07~&S<,H  ^(MP"YLS)9bXy9ebq&K<0p2Yoo0Hs}gDmcThRa|K{ܱujWX:p9bӃfNktG( 8t}M^麜~vALJz}OjOcO`N5Tǃ㷳0HbǚEm3*QU#{p6zeR%"hJ!l0VУ=E͵x\/t \8UDT0lPD>,]nV{#wIIVD#S-;f.j[ /o9K2Hl@y4m9߭ڙ>H+ª~F>tRM+l҄uE)mLԾ3阴epx.U> ʞ΀ux\J`t:uiÿ+>`hnee*XFrLbBcD_7D#V%r}=cT~O莫{2{NIλM=Hӝ/6ہMԋJ8xGr/"sO/F7,s6$Dy#wOD'!`OHkk\raz :pѦ2*^/ | ?FB yb2Z {|܁Bn?9p+e)1O)l~I&dJFdi mY_L< l',f.#Oܝ+IDY)OwوLY8qسH ({S '$ -ieO#?4 ژ,SѤL,WxZOт쑕V!6ґR%7U_45NW\68 &Oâ3CV4i'7yA,67@^ejh.x4ˑ fC՞?s뮮:lp޷[X!G"RA7g S="KV@ui|$AT9N 1` diM4 G۟cp*&E? #vMӵ,TB =wu`DxuN"EYKQ "*7Ds"];3Bf v[f ٝHܝk2Y?V$=m p/Ά)*:y%C+&k'} noZ\iþTCˬEa7c1nKR=8duQEb3f.et'tGl4yg +j#\BYLʪEq] 9>YIB%nCwU_60;ݶx)1MƯEpi N HlȺIe ko@w22ВM j^/K%o)vFW%S S5'pp6u7|~\7yF.?֍om>6KARFYS@aS94*q$O/žQ#`9(/thW׿)p^C %Rw:J_2kq*޴퉔]&~5JfZL !Vo5t|9/tEK@ e;ژ㓰BDONJx=/Źy#7oړ<R_|!uTq;7fbt58<΅e2NvG}&C0_kQmбP\Ek6dcABH Ċ]2dKM%ç5Zbp7q} +r [̦ѨazrE#e%q(@ytrPP!6ݾUlDf"<·mF`ѐ刃'hy9Vh.KF`l:`K+2!48C`06zUHo<iM,Հܔ064n (1(N-¿̥>HYdeKNtw/x<3ʍ:i3 (yXn*9u!8-"OIWiX;E٤Rdy(qy8ݟ{ǥYaxF$ׂn2.QXOFݎ8{+5׿EBӤ`]mX r Evorw i$G>~ ҫ7nC7<' j%^6z6ȼTCr,P63K=N,/{~lj"¬ܥX~W:49 `D_1-FLRy~B4Ey/O*qGi-L%QRQoX eOC 7+h_@2 O|ܴoL[Os ,]/A u59-]xUyGЏv1iħN,]utr& L`( g֤U_P"Gߺ4= ImY W慿n,MlA|<4%W!DBx7u@ i9xp8%d?W{ɦ|DE,b2c$t?'C[瘃'ˋu~I;LP_ rtou['A*!яt_%&]3_fܶBh.$xfHATb{5Hr]w @`g {4FNnpǫ|VeNJVћBកKlu&~HÖ"a0TπrV,;xaVxPқ/D,J iu%;@LN5P6eC BZkj?&ιxՙrD[7KIإ.E }C$ő*G*T06*S,cr"XFAI1HW2Y["ZO5vU~ bN(GA }eǯ%paǗr} by`s~Q1 K0RA}LJ(yBؕVYk'hzȍ]C9ѽb<X0 F=i41غt.3ݮ̘\φQہQ'\"-AˡgZ5q 3ꨒlɆWV>b&ȮD߳m"DL*%J'q/G soeT>F}o_['v}`-441Bs"#E5"KfK} pr)~0s nlxݘΡ5[g!6-`Yڛ }B_P!mla ]}>fyvp 9z9'fv3kM|sr MA٘0XM6A2;7Uh u9AP2T?7>Ӥ;GR h֎YlC4?E}*]:☈ ޏ5 UuOUv ؁vI%  64LrrsA-JXJR ׻p>'ku+>T"/js=u&>Ȟ?raETX庩v\ +!Eva }Q #'[ǹMhxV)ŲJBJrcl=yq|;tO ,]`4_cFJ變|[FV~N:Ei&%l^ RgdPKTK"*펺={2vfCîeELQ'x"%ޅo_fLo@ʝl7et%.CT)>)IS;㠪~4"^H~k>lqQvB3avd1;Z)D=PoLL{ۯE,Z5R8\^&`̱sFƾtpCu'97"1(ۧ;GejFlwL;UU7sb(*, g1VCx w%:3P\3=;#j(jC]aPD?Q9(*MRK{uTGnKfOԎQ nSR$1\ZR&tM89X::uYÛ/Bk%)6U[`S:0`nBH8@Mz,407`"xWn'&8AI$Jv^DU0gؘ~\m>Jf`yGNW1XqzIhK:,w׹H>"Я/,nfރj9wtQwsLkJ1:அV@GI_YV V^NکJNCKI 39:G%@ #zԊU dy)puD*e}(q`tap%oE8o1ټ'E`aT%BYx$UDc Xlͬu5MT)㈵oEЉإmʷa:/cXm,Kb%?o?rDs/SUH[C6S靪:_2KCHR,̌1DT:Pm֡M_2RWG1;2!c^gfo.Q@*2sp/~`5KoFeI}3՟@㛂-ZL=ɥIa\F.'ՠW&ܜD8R }O7ŽC j-$t1k<ym`}Kvleqq4"g$[Yx)3R{>_$qVLsV\.C%SR8w+MZa0~r, l#5D7kAKS,)AQctvtǞJ)8$0  W*a I0p"7xѶ={]jnu1=S10wY1Eo|nXO8B1D0[*wOJ [&"lV7@bۇ&\ (nt *z9(p5EWYkZ_Qdt# es>n͞Y7 ]:xc8edPwXcJ2WGbKQKX,D%ϲs(!ڦa..̉@"p!p 0O翤9T=S65L徃#eߍ_ô^HjlVZ,)?`%Kji acjpPpHg 3vap ,rY.ECZf^oz.9* ogso:RmAzǕ:I~ Hr+7|3_q} z"kgD-(mh˧{vUzDd̏`( g2uH}K#_bV_2GTs.< vdUF&V6DZlPs;ܯe{9^g(}ֵpvd | (Iy.Š\:27,g>oL}bZ")Obv^f昵*m^fp_ep8I>mfˣu/RXMO*&&rcMBz]mCf'x9 q,5k`Ild)߾47. ~\u3|*7c:zDq#e5Ba$^MX׉.ƢH>+p߯_\ćSAQ N}_LGE|y5)#`->fRA^M3oaA"C};k6pMf ̖}Ue͇mt: j\"ك5@ox a QfK俆'2|UKbݛS֋\e6h 1W!B)X,Ʀgb*B4>L3 P.fa΍~UQ}P'rj8NP YKK GN]/9;Dxz4nW'`\EK,Q(7b@+mB?ZwqKsSb 9l$yL3z mN,-+P_[sΝ҉IA]=嵮fij%-r7^zRxaEԴw.# + 6iD =)Lo h,ɺF吡`icrJjx_6IjN}e7O&z'!bZLjRa rS\MNj/zjXN{F/;;zkw2 C;:0^Go6Ʀ\|7I0vg((ÉsQ­ɍmܕ_jW叙( 7յ 0,$ى$j(sX 痒0i"}?V `o HV̫Vt'c 5 dtd xL:UtLP Ƽ8)dM``hDϒђ}ӭI9Z&z@d'4,2\;XI\"t)^{S tzcP8{|)l#T5 [M[RXyͱ)MU$Y@26Q}_!}ΎCq]$αձ[gQ>d 2Dv8j9 K|-&?P氖 { |+{?Y4Z*O TK*I-~5ub雗u'~" 0NՠKeINw?Ԫ+P8pmE0CkzVF`dmV 7 .9y~ԒlVh'%ABBG|'pӁc:CS)n?">7t }M|)ZIoG~lA# 񌽛,V붂" ,ݿRKN-9|X?z^iħu^'a3ʝZ5u#_ BE %W9ma~n1\h%N5U)C[;,~7b! Ad=^>ZiG*\Nݟ(--7؅C&xìY1K-zt"Bp /A# ` jFep+uTFv UfgޱoN߼DnM` ܨݶ%?L^%u"6X9~yl#1<՟][E$Ap|4'Kge>` Y KDن?z~uDV8RBMJnf;_NwYx^?w(Qt!FI C,i.$щV= LZ$KR OI2O>/;ȶ?vHc|z])J͞>FHhbB<>|lM!šc|PM˾qZ s=7Ee759/nXs!Hn :ⶶ|'X~;#KM#ΰh#-<os-G깄P`V=M[u>Jsh$\M0GouBΚv$d7fczk+B^β`aX!6k͜o ksd$pÔ_#.kL_9.F7?d6ү$ګvwl(vw';=&Cl,#]~ @ j ռuj}V4Nj?AwrrS&P/祕|j]g| /ayHl%?y?,j"/t˞F}-."Txj[m_fiTKY(^5Xf/,`ԖS(^Nl 36\dzKI[qϼyG7YfkHRԆA2ʯk8Rԡ1 ט W61kbU2Q0A\F3M~MF^-aS{2}~VZ3x7ؙ3qAdm·G^%|GnWB{쬈 _I7bָ1,qɠWqFauݣTMFT,c͘m"tu#hY]= &^+l*6QNJU}ŗ'"'vnHsYG NJS]>ȤWoĄݧG4ncة_ Œb玣 "}e)N7C^.yC9*:HY=]XTT3qx(wuQS.|\GA^d(Gh@>pu m-~kCS9ζ,.,ǐC "TLJ!ꍣo"{pɝsg4kz{fAl9hdǫ^b4l lɅѐkd2ũGm}z?G@A0V-m1`ЅFSf%H^I=l/t$c$5:Fbn$|ofVy/X,odЙ&JGċxo3shj,pĽtI(VEįC7zo(|mun˦n:vWw mmv|¨4=u}'m 2](5jaD"O$ɀЈ1~tsn.6} w;KUJ+-$-c\sTC)_я|H&S-jz r%?6 `y9 TG6:dbL4摫^n*Ve:~)K}* 2o԰3s݉PpRo$G?rc ~: <}O}X݊CN13 a仉 M[3!eB1@ Y4qf@'ݓk6vݵ%;Av㵬r+^:]w0UL5`1{R+9ȼza [16i nyDtQw\r |63dߺ Cm"[GEe E8 [;13#UmC>7]d ¿ej[U/|ԟK1N1w;&+E㙱1o/[%zgQj 󑃦spshI_J0>Ȧng^'bJ0p?j`BeIF- ZujHB4޶ߜ1$dSuI$$E,>B/˕EBڿ2\GW"2E|ڤN@\v} bǒK=>C*mRO1m''YN&k~"CB7=Bҹ3oM7=.) ݋f6΍); ꞔ-pW]ofn1iT7?4_HP!6͸1<[,HZx]ݶhF(Vj ]Oa\{vhڅM?ZwTkdc~-_ztqTYvf|t} P]SڃQ)2[z& G84O<Π"R_eH_SHZm1m~VtQ=e/zAgӽXOgi|܆Qs~0SU m?VE ww~uM~Z Gy +F3-8HQ:56r')8ЅpMJ‘ @P9o3j}%53 q>Gi#p]ޤ|Zy6X%eƥ-U : #pwO1Ijis4jΏTj`1awɴX1F'=j2l^lt*'ɝ2\'y]zt 8fWR&`% { &RTޞ4Y`1`aT61STb?` .N X7QS|#ŇtKQF%{^֏dZ7hnFzɡY*mԑg>X~_]4\zŤڒ'(ǿɖO'\}u"mӌk`֎IdK>Aݰ4zL#Ht%E3>SK+MabՖ ) : q /wcBt_NMPiE97NYȨ]Mi6c}!mN/@,!L4BMnXc4pDˮ $~_2wcZ4n NH🤙Xj `GLVw49,&^vl݊qk?<a̿s;\YI !Ji \ DApT%-c {urnWdY= "k Gm\2{RHYJfv\-S.գ NMA;dj.5 }߽l"?e^jݭdxåk$BXFy͵TdKj0f7aGo#-ĝ3dxKPY:maNgI>3ܺ`vt8ꡛo6à O39b^,$k_yzW/FPD-'ti=!ļ"\J9.j; Ac0+=B(J: olqq.[q\?:>AK-t|3|bD|G~" ) ~ `pjcn<]k#ZZB>lLTSnM⏮_m «C/J'?utH;?x4VmxsF1 8*ϸӄ4-qRox [xDQc<œVA/nb,P#. 8]4NN;\r zSެ5#- 3<@ő.Q9Tݮ JzFc >!H!{`7)$.bNh$Y~ĸ>O?LeZt*`+Q5`nGZmr`W5m`M-UV/AզO7)&MO10SHnDmrǘA3d>rV -?#kZS<΀+* $MT ~)ZPԢa4֢gƒYȬ&@LHˬZƘ z'99"%~tZ}Z9E.rGHq&SG-#F)pJgoaC]] CNOEEI|#=yβqrWZJH-y>||"}@(|e0S [Mh_-Y[ a3%)77mH}4m'K摦]LrLh偮2nT5N)"cH~YyT,-7O079A(G)_)*qG&Zs5OR^k/iEpmlG.n3wP2 t/tNʏSKQޑ׌9ya#Q+GT@^aQ6f--okLJEA@G׿L 9'Y`㝈r!MFwn5kM[D}#{]c`t VļLJÃpKA?\HdEْt NiĦ<"!dc՟TDOזMɬ;nvb%ݿ ӆ I:r?:h; JMFeIx*:;] Ȋ\komjZ"^ǛdY|Ui"دZ"uȴdy2=3SqCzil?`vf" +6䀈7x~⩅axDWKU~VAuD= `ٔɟJr(t\֬ B6!]E/8݁׷(E0lIƿ(6t`8W)~)VMdocfn zd{eVk6m4Z!{ ̔AFŤz']iٟݙt}<4x~a2P0vb= +*H鰴ѱ"5'{|D0 C!YL '`3o${*y8Bj*P1T^==g &_,pTvbxiJk*`}E3 Cۤ> Gg3@U ~ItS9osbJ ڽO$ 1N, v,jH!cq6'\ 򗫵[ d̩f7]{zT+3,f30NX2D6]Q== V՘bA1i,$>VgRvz-|>z;J32pOl̍`a;"b*jvCxU5* \fq<%%I ˞m\:4o L.zD4X|aUfEMkS鈩""hu @Cr*̊<+O"KO.i+EGR-/88W 5 .yw)Eh|XnDD_Sr45RlKc?fWTQpit?Fiqд&0 . KhaNεMA{2& `XCtP$`#e3gJXg!YxXIB$ H(v"^Gɞ:}am4u6٤}gn={eyGaOEQr8IĹo k -ES'RMUsRn:E-kML$DY-$2׽KcӻX@n"yuVU8N6pWKT'ɎHN.~\$tэJk[N'eE| AJwTe&t7SFh"SwZEZD-78¬C"#KqUBsCd}, Ks4]Ƭ˦~CpI j0\)r**ߛi}:<0H# JFZRkaLl w2)WnA3CjY[wY>5͎WE`%+96`W;NtیOn3u bEcxE{_[3s-]+ gHI*I_^2]<gܳ@\;bWRLd;Dg9?#E[K$GK)/<h~gmwAkۚߠ`^Ġ!3A0*A>HB|gȃztso!%}hd?_#`0TfbEy!t 6f.G{R'ϸ>|Zr Ð҉ݴqea}bYΚ.P>ž݂녦f\/q8xP0mRa>Eiy.^IJ \C뤂u<@9,=C} ٌcokgiIcOdC-0w< "+uIb\}v6}43H:.xlc>@z#g5Gz 0^ їDe=e].,/*[j]p<D63"4C/J:1{lZO6{ǺΈ8.FTa6qsJOr@R҂Ԣu۲%@L Zix~3$E?cքr6APCg9`Rf(qcx3 _^rr)-5kk?:j B*sV|8)!me⳯ 4K6:񧢐Sdifjf4s? `eka?Dzylt 4*2rdy 6%R8,|0x eM-b.mUH\LΊ!!ö! nlhgĊ=>'La(aI v.T&n۹6U2+$jƇ- !yݣ,,Àmi/VEwMq:LlW.8;9*"7cC ^έPIQ<~Ǐh Qluyʊ9i.8c*xRp@r|-Β4*H߄yž`ܹRR)#`0[ <ʮ'i;7B-\22Cgx P*ɵݕ3cFѽq' s/ fg{t/<Tl Pk.$b&a t`pnu '$i+M,5ns!РU= [ae,HTT?~c9 zm[(Ή~ﯯ=Q~/ofNZmbnw =Pr۸@;Yy衴Zd%P/-L4QZ9W\1i{1V>Aq:1%۶70dmu5~b&hD^ 44N(bo7l 5؅sbYJoqfbΪ^`L^s,ӓ. ͶK }fx76q"b;䤆Ʉ͍8P {'T*Զg`f1tU!Si),NT+{Y*jqicA)l1;*[X%S9x)0>au%gLuzA>C5uE{5~ RȂv}]^8_l[(8JN7Z1|<:B=l|MHnՐ%UzͿQ+ `HӅ!O*x`#|%0؄oō|eZ,wLgkTz~BtDCZ qٚ2tR:\%U70|ծFV™i;˼""f`΀pnH%΀OYjϰ=3-`~ eဧ z#J+ҹbǵ%`IOl\7|]t͒}8qO+QOKvK41ϩV)Ϯ[( #wO['r'١q7R:C>?i)$/^>ݮr^G5D@b &hAk@g@qyFE{-Ӂs<`;dXy{C`W>6BH h ^26S *Jdg&e=/ym*3^{#_vKBDO0LltZ%jھr5bv2HchOw 3i|nSk{M?f [0۩2Zo~a BAi ;[ӌʰ7rn 6@I/ry›zrSp+ 4B6_ZUD$kA\n1ݖz`8H1+"'2Wn[CMjYVĄ!WÀn&?oOxVDĪ͂ mUf'> ̂>G YOB@zد͘O5> %mVM`3JL &jHnV*}T;zt&'51TNFn\N%pw[Zy05^- JFԺ </kFKO=9FzZBʎs~MCaSvFPd>=TޑF B)]f:ˋR'Q XW!iZu$|֏x@#sV-!~MVf9~P;#Ul u#麳JD)`:C7ns- 2gO^BI&:11 WxsCuN1T!zM ʝ'8|Ÿ*;&oedl<(%B$uuVh$Zn4!ݠ4\]x^q[5\ ڂ[#1˫&}9Koo,'q쎊a G]֎~>(ٸt' 0ǤC^>.t8qą=ƻ ;d(vLKv_Wm1ZlJ!3@ [`GvPc&8A"%A#̵?۪#i) z k'0n g,.F&O}ՠ(S'mD\G?0D'kH4μwz(?_8bd;g9*jC % C2Q*2+ @(bcX`e)G0VBqK08uh0ݢa&Yr7*@:š{W'$}%-"[@puu4MgFmthRıx=NCv-1htn `(p$ Bg?ExiR-ó 9_kY X; h*@\0@Nu)ηNf GjIDNV, {i3)5E ZlWџ+``h&9ngZNy&@rEưBȆ;s~>N܁%H丹iOW[P5 ,?9Ei),OIF/F9wHs."_{- LHTG4yi[܋x>* &j鞚uYԴ(=3pr& ߝR vh_e3 $W =Hχ_3f `Z-'D:s5EF&i42\4r !\ԣ}{QyUm[; jNplJ[[k 6EZ8N*Gq6/ >.)}3pEQǻYݞѣR"-&,8d͎+;QVV%OKO:amf}id8 ˋδ,:z I_^ɕG&OPV&w>h߯LaE N꧛7_Q&_å's':Ys'|Ie'}NyT%dLp]tL: cD>-iZ KKh^tŵa":7lpK:lB- d36 ~.{a?Q8*ҙvl(j@l.Nā6$g^4)U~_)U ݼP~6M9Hc-HMֈ$?HK! JW19EK]H$Fz;=jLV9wt$zXcfnJEy2Kowst٥:m QGUp]߁6(Hz/LJee9|T^sXD4<-Ҿx$ $^ FWvtt~BqUDgJ"Θ8% s+I@.HUMT Pki{mM4CT[MLhjhVK{!ޓ\/LX -A[7G:]GO1ɱ,MudP!☠G5d8)giIM*ZTSsW0̕aUW =MjpD&39F ,[>J8:C\F#h\:y0 >3LL=‚:igRNȞXQ4t&4awS@-޹!bԄ?ق'(6r\Grn ?L4)qKzwN239r[yJ8t+ySeШU\*ڂ4]ޣIwt!'HDdRavaidaEbwk]3*+exQ&yr?6 "L%Y[$Rn;~@D}0W.\z"'T :9? cq3-+ͺǩI7TUDQ0gP50~oPm!? "f4DV ;TrxqnŐ) leo'@v *@Ư8d;{,8g-w8J#p1FgptY=%j>*Gi •J]y (u1V%쎻ֹ[C?3[#a9?6R8؏Y-%C5w0شJĀ(Á%uHXPk`#++˘257h"+ Dæ$ș tpgW+Mb^o)ʼ4@I؋&!t)r5Z.[ UZ\üuK ln7K !赝X۝m3NeO0oZ+TH.LY` A֎wFo 50[]D0 [ž|U$ ƷKdǰ[xCM{ 7hM[.Q§L_1U@- R> *KmJT{u,tJOv>4MNK vz܊73Xt.# eWYpgz x0:YIuc1i'!UŲёڧ#{џ"I HڭUZ[0~ĉh+SVៃ}A] 9)-@ݍ1s{{W 3tA&3hE#W8͆r,'Z=3 RUwK e%bӸU^#"m6QbCx|(Vvp5@%^Gjvzm Prؼ| ;i;7U:;yi*͖9G9x@Qtֵutݹ^8>sbUfJ9@޾a\FItmkWCn sH &h.8_OMcмC V<.^tSƟz-yT=Ѯ;7 R?IIba? K ,Al`w_H2I/RLÁ`бYaq*t"bG ؒb.Jpt6bYg g:aG !`_&T@v/2OmZCW"9RW@_0ԪJ%&x~uDuh}2!_yjW8f1iXHXA< D8>8D* ٜĘ!]X3[K!bb<MJL'||5n:*2cEFؒGhOևC/ʌdӆ?Sxgo0/r\{/s&2:|Eç-%˽8r{~P\̀qǹTA[??,ϽV=mXVyG_ {;YOD B8M0)G"@jzo P qQ{tJ4K+>>1G7bg' @afǴF^lEUc7ꄏ) $+ @gwI7,}Tѷ#@F?6iHi: `E$}w\$*B^>0')nLU y$t_qRe*l43_.{K]3(a511 !2q"&M_g3glo'teh(FWNk-u9p9pkX8x'F=E-G=裪ucYۀݷXيJ΅`%v9l,nI?#Ў~Sr'f 4~cK!\+e_{.p!ը4?ufI kq{ :ͬm6ݵ{Q%G@zSi<:TBaEqKDjMW~-F|Af @\ߣi:%aC6\JjA9 5=n6*81] = kgiJN"+v(-^wY"ԥ31Yg7u^Gp0@[LU>^ed{ewXP#饄hdzmR j0wpmסSU ]сm%;NI-# 0l R# 3k-rtָD$mI9 U06lxip#ATV.%YavPZ[lSG-fȮl<78:]`_QFM@ZmK*- 6NW5|:eʶ;򥴈gbXu4G*=س9_%:'iR)OK&hquOLU,Q"xvD!rѴhGyq`K<0ݫs~kr@?^3ءZ {ArbwEPh?t" >TR&dOȉ\ERUɵ$nj[Q5xa^xG3:\c [}fآyF-?f\ZXǬ5@/>)NVGM]ڜ~f@uQ3s- A48EKH멭J3R>"^xvP遍}@N-_XٮAmnZ,5y KKzB--8ZeCݮ-xTar }NTxu;1:9Kl-qp$,3+[mx-﷫̏ 0d I5Cɭ%ƮpQX=rc\2>no8Ԭe&B 2p"30tyƵ0WvZ7ދy}\Kof\nRQnp{v>cVGvTw!Q^W3CiO.Z~"\UPsڼ6-aUu;+؅Kvƙ`Dxr,Ա>G.$* &`}9-=Yov4z/sU$F)$qMhU5Yc,sKÂʑuVdv 9"oa^%:Ieک%F>WW_ -d"2dTDԂs$hNT!.,7͖-Ԩ1=$5$h ̚)AU@`(qb_&`J>.zؙmA]O)ɼHgѴqþt^lթ;_D%RКXJEՖFZgM: vGj&>/EH l9 c|goj|  *dĝ֩. ]f0ܿżP'څ U~o5vtULdz i/}ysHSTF%o8 x_)w&5bNޡKaLFRbݺ%p5hUmXu.=4 P ǦY=]J2Q`(>6zj#voX-tuv7kv Lp]OD\,o2tPj{WbfP1:\x \(Fp`Ƕ?"]g)xi,>kч}BqjH왡%:vQ/as\Ly O#G Sjё::(񋦏 NfJHpTsvjdd0:\8Wg2Q_{cn~.B$b(]̹:z5?[ĪhPd;;|{vO|Ag$^Zv6${odE_q>@0xt5e+1!@5b onM*N;yj5ݙ)*$=*\֙ai&yC;I8ކm&`ؠ e8y`^j~#!y&ߪb,"Y6:O=6=ĒTͶo>3`m\Qkⴒo+40;[Չ<⛉vFsm#);8tK GDRrSUpĩbDKUDئbM} vr緷m{t9_!p:?Օ&Y eIYevw]zJ^緇tQOɯYulՅw b eHDmy| z-,>4gXz`3+Ω9MTJN˵/.S>,cۊ> z+&^srוbH+V3oIkLaN[+BȒ*ߘ(2S|`,\I8ܨ>ݩ"Gp.Ѥb~*{n59[X#5˗C=(I^82BBIB\= >=|O0-6'>'^ʌ`\#x~ӝfɉE1w$~y ĭ[&<ƌ /6%bR׿ЎCtX 9׾ y- 2 SV^O,ŨUrwš˞5H6rE߿b,jc̚ԕR]?j戹"žSvwg`O8fr|,2foUzЬ-#vv 5zWC1 *febG#{Ž Y>v m*1wXҸ$Co%9TV"Cyt܁X.ZhEcdk?U71d!v#X&³Cb|OfWӴPH,'jQTSogb^Pv:`>"Χ " RrVDPZUl\)ae!jI|qBhoWZWKRtHZ%VUI.6BIʟ忬BTY9ެx_uTj+úW5Efy.ȮӬkY#U&w2Vf2ezU;K E0R9íp&2Pw++bqZ3eCzKAડe
    &~pBv%I\Qs=~%]z)L6|Zc[@F:?u}&-v)MȚ ޥD% n;m:BE0h/SW@}f~f Or/g6lpB V`b-o-k5j܀9$y eZ9@!!"< =:}vo炀r:^]{ǻ s(O jiP`N ]}jK&(\>\o^ ^On(勅Y?3>VxǮ`|6t,R] ]I7qO{K<}_ @5uLV~AV=XG(bMv6&׷|ՋeA2`]5,+#˟ṻ\s n,W$aA&bԍ{ѹHsym(RtM(..:wK0B]E$`Of:kKMоĘ̲ 0 L4 Og^&nfnáOORW G`+FcazX7ioXj0W;h?*sE@Z!4e5nFeqD  '".h ] pݓڥ3\G NdѣsvFXQwgQ0}wn^Z5| $DWx%#) 00p`nr^K#$I9RPa4 amϫs_Xwb2kRhܓs!/8fbnٚ#N4Tb>8}Uwɽӧ v;emyޒ}k%qyJ&MT;5+k[Ekgrҏվhtf"s!1qfkro|n#LliNcxT?(*ϝ46WyN*i*6`6ΥW0F@A^nBYIwK{Zۯ I| vSR_W>Hp@QT ,Zw9v5 +J6W%e%٘cOݴ-ɮ;氲UhfDr g7,ב7XI-АH R?YcL^u>4̞F=oeh1Kk±,:-B ?y*)Mx~U+h g' &F8?nௌN`KhD %.;\x I,)xf,L:5(r\jl!TÝeJE6ʹC%bi'˺mČ&=;J Aq+eܑ,BMoAAJq*qJ89Ipm]Sh\@x|^k|g@]F+VP;#=/=h햁f%ԾiL,-2 lٗ}y 2F2:2,(dcAi+/{Ldn&gDTJ+\&J6P0IO ζ+n p΃\%Vs1癊yKֺ*[jqrDKTɽk]k?:IJ Nk~j1c43 ƴ:q@vo^=E[Yв=ć3QQI/HsPC-E[ܴNX_[F_"+3Gh'`5Y2F.5b$x׻u8˲eҫW;n/<]4/(]"Mɚ(tT:N]=757x+XJlA[:XխjhRÂa/hCu,BM|KeͬAQ\P BO!d4_8VȦS|mBֵĤ oR4`X h<~Ps~!m_8o\ ծqz(ͭїU -OEPT=›?џT N:fmCe:B_wV<|+i蹧ƌjv )2$:SWp?$vF԰Pe``ot;*vOt#\HB) #]~L|h/imj9TSx̴RYAQq?NΔ2HPweWoRvC<晖m^F"M>T_igί2;iEhِZM &'r ghwC#*5•PrI65FT' iyW&-eZͿ3~t@q], m5^^?{7( ^Hm) 1/DPx~ӫRL< z;6Xt0mp?{/[UToogS5o^|=I|.a6Ee^V:0pb-!r4ڟCϟءTi)G& ǙNu\+5a_ӗW+ A&m| ~E hJ8xYt2TxmODx@wmEEeM~tgf6*'KM&GGTcvX+B^l zzykR9%e;:>%-e&jTC쟋OM k~}7'w|%SClX|t=pեHdgHJ`7y~Q$ wn-B\ %KkdaS,ȗ\8B- cO,tbgFyqk; a>[RR~A|6ZGؔغM *f-f]`%s_GO:VPS3^Q,AP>.,crKfH|v|g+ZetP;CLyR2qËHK_˅iNh tZxQd?4Bu(0, JE|Z>U$ydJs:oKeռ<%sR̮bl0?+pZn!L3$̠7z%rS8GTirXWdic'0S*2É|T{Jf$H$qpfomKuQnPD$Z"Gʼ9ǨzzZNxRy ʼnKedW0~ī:63ܳt7&)X11!F#R܀"Fyܛ|h9Ri0ŜH(k~PF0^@=r3d^aCb9&OY_^49^agTÔ|>C\v쨸ѸI&!_ӂ|s.!Mfw §Ϥ|!֬ջtp-ڳ.:-!V,F٤Q5i?ITԜ?d=yb"bR:6-;3id^# GI!B;O#L0|_NQ3b-9ѡˡ,RL\'5XB1} (!M45=-f7*)#Qp:ᩒc:3{;jSk(2ܓr!RH W0#4k9\ LW#[5*K(J|Km\b l5[fLDŽ32aVH#+ =Ìelc]0>Ia>OY]sE=+ eSw#3 {N ֗7Y.U+L=H:=K\~|P#֪B ݊'J;rl=#/$)7\ܓp 䱟?}Z@f4qե@N3kpRug6WoݭTMKƫ+p٤ZҜ8 }=:TԀ$mwx'MZ@X;Go4Q1&T]ۣ;-`/HXAl3|9WϓK<=bP;j%yn"lGau}>)@t]MM|>IhkʙP^Kέd~bE{rpbsM!OO.4Y eLo{(}[vlE6X]桚21^ C+FEL:G ^ Ai<: }p8pDM{sOY@5xYCsבCMcSTrFa"K!$;FaC7)}deS&,Vf񦛓%a:PcƃG{Yf@a2i&$l 3 Lߛv=>-фg⚽0w(X! 6SoЯgZjG+xso-^2q ݠ tXBXƎ푐a3#p+! S0^}cJZZr$r8-zxh m.{=cpoex?fCGd|}ꭸ-`l^8g4wi $,!DXc@-auK0ha q݅0m05~FLtrp2C=&W?_Z%B_0Z?dksy9~ ed*TVP oMQ-:g璁7+8g 48O1 qR*aP>rQJ3N$̕)HiqGdN-*eēxF= y=)eSHnCH1xq7Oph*YxQFpֺzήO;yb:&' Ѳš͛;N/`Q@vCfTy k dOH}_ |Tߺ.NC;iMvZ[}b _Ԟ2cf[^;a~QĂʎ6C{ .oSrnD`cmV0Ɋ#3Pۑ^~K~rYZw$Up9\/սEgoyQ(:)Z3` ^Z|TIw+ )*k .Fo>I<0cS>f$xc ~Fk&5uDΡ cdEws|y+;~p9.P?𛃕l ZT; FoYkWT"ei?I4v9~Q>_s0Xх]I,n0w#.lĮ/>+ŏ{{mjr27Jg5B:A׶-&ap'(_n7'ZJ# xFb)eܭi+y-3RϱP/%Kr?=N]rJp$X*f0} IMxy&f23Dne@T^wM!w]8"}[prʐ\N4HhМ-.N~ZznX)ԪU juE@ce  U)7v#2OU|T#4y/ilՐo{Ϫ͗,r B(W>wx}~;c,Q6DchξӅ޴&Kh!_ӦE|z}f#;!A'OޱkjC\JkM9O4HzX͆gԧk0hZpKԕU!jƣЄu*V*k?=OıFk^yYPWik18f/w{#:C&2{snh*AY+1|mҀ0YE:[ԭ<9rt'(ײ@#SKl ^GO3( Dַ zER<ƫHpf! nYͮ:9 G>ni":rz rapG}M8`VGE$˶]) = 51< xiu_,'%tGL{-ڽG•@cqV0Պ%80.6ݧ#ZUXf3V;HQZ z=5:x<{ݎVmi[.贩ŲtWك#1shQ܏VŊ:][6 G/€[ufçܯRRjJs>Özj\qIP7z_ld{ڳF`gBJꮒgLVzs }*co|1` fm"oJN2.Uփ5ү7`3I`iMSLiT t{n%z1ʋIl} f!M 㿿HM ɨ^luVײJ낢-uXfR̢%6 `u9ʊ3:d_]/5͐@-O/4uo|*w[k|f*Ӈ,0>Ni3_iD]Wn~#\}N Yw){3c'`b:PڊϿ "o598ޘñҥbp6_ϭ)ef4"/n%mRqíjվb261%Ɔzڱ컐6w!<gXO1= +p<,v ?+.30fb'᎗^tsjZE@a&4yy!ZD[XS9foҹr=d+_OڔV+(5!iD:)wWZM!6tlD(ނNZ(7H JcgU*@P䈟/=3ضVf=팇$WC ͼJs}nYWc]\(( D/%"~✼e@ =\"R_lRC|}B1tb~ξ^%Ճ[L3Xoes3*='P2mtZhnά|!~^ѱvX-'vxxGdGk%f_(g~LEta>Ʋ.K9’o y5 ʵOvkN )]:) T&/ǯ j.hK ğI˘m&>/AxJ?WWt4{~FkAnqvjW 3Cp$xh3 Mrte 8g"eޗT2E]>|xcDZ:$+h;uɅ. 8)c&\0 Q)yˌC$G*UÚ"';XA9fS+qE0|g` +G=\w0 ܒ9g^#nT l/Wƒ{,\>>A0qQzqW߲C: +Z@V,߇ uhL hcLFpµ2A,?iKnGGZީИv}34[L[d;S U孯;$?a' dַe'âqN3t$iR7MiC71"3mAV&uB-[nC j&%zBwrךOMk;Qz6ZZRV9%jPӉc>Fn&5^ik<}cAtr+jk)?f[5K޺ O~@ ``8ϯ1g.}GA4dvMũDUyߧX=98KX,UMx%H7>ʶ C&"QL # Z]x]lZ40"btBI'¶ݟz"t'aFoUZ/cz/OזSLaDGo25ԽL9 }LȶCfp يLCH|*1Z+MքSSm> 1A,{7& _8LM/帐idDN>kPNj?vb^{jl`ir#Nmt_c/'uPQy?Xrze^&򳞙&@2nfCz _|@Yv߳KZ REo4u*9HxнWEVܔW;GRǩOwwk?*C"$Wh!$:, 2-#OaP$#M#& 8j, r+$+UVEHP86C4KjϓcijP4EO!K7+w&D Wx ߗJ%כi~՛׶[r-ROk{r/rf@8pA`h{ԎbН,bj,WKhyR%vǝˎ⨫5w+ItC"l'iGeWz'g ml6$#@gg%BQ@qc}envW/A`Z\5r$}ߊC6F {KߥNv٪̳9UBhढ#=\nVekn [`aF$*^jjdG0ɍoE4 0zaY@{_v%𯋡!xI3@L e R쀕.KL3-ɠ!9CptŹ(~oNd. atS5eXցBd_4'ݫle?\ފłϬ }5(Wu[@l8WgvP%2L&|֪b6Ŕw/5=:y "kEq=BL. N/%Ľ;g9x}6@˂g 0nl.L}g- 'lnZR7 EB]!!^NJ11M{Я#djc\DL8F9Ud8$[Xjbމↁ@'kH8] T E;(RL4SSk?p=X3=DV0fB`cw;R|TH%Ikt~RRTPTɒ#po| N:jw4PzFcXD XU7,\^QV/<]Ej ]^̚FJ/ #DY8'}sv1#"jz슛AУ+y5H };) eEqS4DypKl %%!\@2#5۾@۔v|SR:ɤxG+,@6HOU*MeEVvE=h2+{^V=_E>jVo1bVGʵ$.2C/n * jC1z蛄@OB*Gr5VA+F]b} ι4!B*dgĻdyqżV8?C 5pͪ2?B?a/?TY-U=3~rKQ}LlUf,zuC.!zkDOqH?.Α.HrchQE=M{N .EaA6.~kIҽy!`Al% M} (*؆}:%O:[ l2 dxCExKR y0Qd/1贺hc{۾4$-'sBs&ۗ G~HN-v0[d%(k=ÉNJ't%l4olKVdU ¶:quWvfjv)iԝ6o /N בweݷ-MY+ B-M>m TZ-GCḁhcOqU4} Պd6 8S_H_bc .G4%OTmIZz&6ΩԳ5/2m||Ҝ->[ԢT+w>g̤hmς Ś'@"ǟ7/ۙY>5JGZ|LȻa3 ,c%B1Bv+W: d~?ͼݸ͗- c  욀]| Ԍ߹^JCVa &m;Ƽ$onؓ5mT{AxG Tx˥;dAHʼF`R9!aftj պ('ۄ=Hw{d:XhNFg#]NlH90P ?23WpHd^u9T[m==Bk_B~n Gmq'Isɝ;GԀCt z&1}ى_;ת-؇]ջE= دt 4K*˜"9)$mATb5͎ .j(yYgLmXJ=+; 0Y$G%í>%A=rS}*AF9&PJ7M/pn>)Μ8ـDՅ@&EM>f*D kpsd'"`<aCZ/\ߪ&vJ~JMkOPAc,$)# qdEKfDgd32u13diW9j{& z'OV=y>ÛjGYƶ).(8Bixp";EK;ꥳ8fj"7; 9|$C29}3o&oa1-YNf^SDxh4Q>$Q B1ȓie5OfzO HT^@.@Z^tM'<$d!諾QeR '+7; ut;mD*=`Mu#q@y^+8 to*b *!p6SY$01x5'mpN&zy[g[,BWlXbaL[UJ< \1e8oƑwt"o1V!I'ey,|cjEm8lv~sgO e}/Tu4sŕڪ E:elR:g9ay]9 tC i0h1<,V-r;z=}piԐ2!8$)KȨ=t$hI`JN".lW:X -OIS-S?4F +rYxˑo^2QlgZjn|:LNKDpf=32K*>|fbe:\gF3ܵA#9y͓xq^R ΌX)K<'&E]N+ I>ŕkk7uc~R8٧(0=<K ݞK|*߿N`b R=1D>uOǽR$$YB%jr[`wyLC?#,dTB.u﹅ hXF"~/cI'iB.L=3#ksyUmca^ߠzRX$>'~?|65LxMEcmr[XKL}ë/4;~* Au1w%"U=+>I3x%Cf{J3h†9Aq黭(1h]4ހs i^ڵLoomw/4d}R+ڸ-M~3v\apEw^t6"JB0ojX2ZFѣƵXJj^:LJFY%4TkmNyHhHYPȓ]GyJ0rgE Z9 Mf;7 uZ}F^sYCK4 n]|Be~Ûc+3zȧ u1[66 hu8ӷAAkq{v>h?#/dk;eFK4~2_1+Xx @ō[ZC^^ZIܬhf&uDNf%y~n`7j68*i&*{wB߉Lps*<$fa}gtFN :(yb ?/0W4CdqW)&QWH}RVobBL>?117I뻶MQUDqMWɡv(s(i궽ZrBj,r 73$eV|3VYn|ʘ _eH[Kq[lĝ[Y."-1AM-fhxX`Zin~HO`v/ց`H!+[{BZ)5D-~v |\_l?n%S&Fy"~se:NHP || oi*[ U$쯏ʭA)ȣ̢ӈԵD~9#f$M7,٫Qԯ̔DzZ,ZEٺ Kj#5uBA ;cĺں5YU x468蝶!n Hltvܬ\Dњ{F[;>ȇqLԍF^i6o k}G 7]E0uird"8)\\ eX o$ mehPRbo .|"5dI7g|5;w7YԳbPcMz-iD~QGC~\X%˙#` VW0=NHޭ 'M <$Ĉ@: WRP(%)9I.E -2+g5*tLuqÍ6" s[>@P&)vDdh)lԶSkl7@A3\Y9L pȱzS\1Na7h vgi׆Z 4Y WXQ!ז` zO"̒m5SɁf@t{}GEb@eÑV`oaF0b{g1 #Д _Phmvk&(zS&Ev0*W4g\$h;;3ćَoQMB؜#: V 8N{N-͸( Pz&fj?߬}|۸8'#JwUTYڂ=Aؤ?H5J/JçK <*"7caQLsTzlY_ cW1lrGr"527%#FXWũrSxUr1 WNoh K5ųx I)$QLe#lK}C. :D+A) 9C$v@[|nE+f91? C|$Ai PRݣPU(GC;Pws<-MWm}@I( 5vdewp~SS h f9=*!~X:qd-& +P$>`$ĪQtLȊGW2iJ h,e,r֒I3MhykV`zNoA>RbRW,f1A܊J) מk $hdB7zhFD,.'}&? E2!kR t1gqc*k}ws}kuahfj/QO|(k%-jG0\sIa-*Cx lPQD4h^eg7t~5?Db@]z.|<=_/T˸9)`~TPЄ6Bq?$>AѬPa2>IR$1iu2m Q`{++pR ^i|]&@-R\~).V9!(FwOt^bOzK,@ؒ[O$t%yJ؉fᨺn [׷L@[*b+H,[7VoT~x҂04 (+\Tg|"ܖN>N}5u莶IV'~m/T% wQDWaakʨLZ~{Ūdȋ5)A~jdvڑtS4KHH!-Kv+|]cl(;-IydxMLNpK^^V-!6&ٿVI[7r–z"؇ȠS;mQx-5Yݍ=߷m̭RB,`,MnLj+ۓף$-&$0KQ6D'Ak%i ǖs[{w+͐1dn6]ϥur`@ByB(*qֱw¯J12`!t@M 'k`]RFuZN ؝QRYga=:iK P9^Cڸ~qO1#Y-M);$EK05̖E8PV#} y]c6n{ C@K{ J>KxQKʮoeα1 ?{#0H|%ʟ‡1ɝE/3͹u,}h7^Z,ñgp_6-XWB ω 1+wK\s1Lr/5#D:vnXI 8 -Glo+~]!>}ּT2Eg_O-by;.@&,S5am R%!Yr?]p+隃5Z"&dİ=$P&) {ϘBrβ9)<12P[ˀS BiO:Zw$UKEvxp=KxF_I$?H2VBQFQX@TGvՍSGkТ4Y;|\lau ~ދJk.kO_70PkPJn}G:nqC* .Sb(HDG:V =J){l*(,)gI 7 _(€e8Z(5f7vΕ(ϘlPՕa;8CgMSow{!Nh!_W瑀$v\~w2I+D0N:eb2v߁5h |x$[|pRԙ}=Y`آوAȶtL0,ȍ&:hB8Lt]Ġ,@ uY4;%Pvؘ>̕锷˛\1 #D *mX~(Dg[_H8<.5$4$kZY~WNdjUJjr%knur1}qvy{<1A\NX9 6hRCE)NF<{/n쏨'oE.o2ˈ)D\&:vFbU ң;NG@pmH+hOn#Z gUܚ3o3ɑmlGȦW^e sE3љTҖ?@o E?ﭶ5-|5TjBټ);=؄\;a)hϰw$P66EljTe̘X 9}#]g O}a]Tm4@0Y#ϵ)X&P';.Q(f7o0U# 8[ҨOڬ$oy oT'CYGzz枂[q2Ŝ ٴO)]:u:C=t9c~&һ1k ^mLuvt7rGby/>aȊ\jx䲊.Lw̆( kzTlMƳ$d] :!,;ly$e0-nWN<7 k@4r65 Bik榏kn:@T!b>>,BF Ciy.>HCVQ0?4' J=afm)XRSqK%C옝;@c}4zCśD]`o߁ 4.y~5>d@c@UުBFnϬPs@-\AY͍mjBo^D~lx1! iU {6966!|@oϸMЛy>oKݻ$|0>=$W2Tpvxkߒm$_iuc*ya.F.6Ugv6=쇷ϯ'mXqA ߟZѻ0ޙdi^$b $F$lNڤ 2@!3ju.+'&.n3V)⣣`_ʄq%$Ѿ?|dKNI/}LwDD].c4GĞouj!\nk_>pFy}Gy7*aĽ>iH1~KW'ȫ郡9I~kqbz535~,GD WѮS&ls~( ĽF1=c%v4f c ,_̄94GʚJs =NeI̕I)t̓Q?NfL4hׯd {(^;d<з';3Σg5+3 p0%//IRNK#yQGj n $ٜ_uw띾wxHdkmjju=3_0fKgmim Ȉ2@U|\}H`d.ǁw2ns|8]XdyIg2Ƃ)G|!k)B6(@(3["  jd4ͱF@a^ȣךP+!\Kn|=$A0u&5DQ85<'&R3wY_98/',c&h788DWPPJ J˨nH!+0B{!Y^Y"1B!shr4|N H4ۡt̼Բ;h!!g#T@h*.%D2i;5T SrM+̈ :lŖzTmy ~CuF~ Jh8_ȁE{yk"UsW׆cߊ:5zmwYm@^x**sAPw!n-' z@)l#UKde=.ɒa>\zd^-~3XR'aba<:Q, xyE\5@I ґ%s3\!xHhҒCQ ݇!@c^nx%_qMAGӧ!CټKJ=D!M@qv=K^!M\pp,ޭTf^xE>& մeQ)dh188ZQ44ͱ 12D+9VcNkqyn7V2W6pl 2(n`"cxX=5ȃilSZ @5Kp/0%z(eOTZϙAq'=]Öl4+PAHGКЮyicI(!gT/%E@m>C{98$rj@|+o]FLVb{ԓ3aomzd}S-JZi"YM7+f#ibD󷏐g(@HeJx10|Ֆ$}-,%7!- N+ȡʌ]DVkɡBm/}%.LgyVD:aG٤qV?5ʿM31kgT5mb=ݏxWqB\ d~D|eaAiJ:]piU8᫳ASf}=T͹xVJՉOݸzܠ! NX|{w޼)c%f WcTIm XDs =C@ @WS||r2lXVYjQwJXX]{H nfUJTbI[$EIANE1G~5$@%odn&G1ZM{vwP˘xNj ׇ:RSAID0yr$57:ɸBM4eKV,0ݳ Q WS!Ԃ:Jxbύ֊{x(z!\^;]|Kr |"G?݅IK'Zy^^j8¥)^ڏhݶ8-PFbAF}*;Rӈew9WQ, ̐0A>i!;-c@OaS1,XH)d.yKi0b`+|+ikTQ\"<G, 3^;ZS;-0;U av5Oz>O^=DA{S5/-B}&ABE28$#gYKW}\as`b VVyk Ԇiť5 H>$0RJ3HL9$!,J' =g3M|^uGUa h L9|,Ȱ^TB*̭ ;."jdmle-HXdTremiK2.N9U=D۰q#O b]\^Fu^oKGsAe> EFFzJ'ĆPx삏9!WZth2yo#D a1΢[mZ;]gtNM؏ gy0f~W$[.vv%41!Ǣ;-l(o{he`j%|\'>LYlZ߭7c]nΒH9kH VdhŦf7ZX"o<&ŧ|e'E鍵,\=q*h '$o]r1ZP jbBHkiQʑ!PV#E!CZLCbH-$k?2F]% yTh@ 9AK/W_:fn=8z\Rvim:tqe#2jf貛љåy[ [dƁ `ZiW[7Eu߸R h@ֈP_Mf2Fѻ} oUx󟨕?h8 8j7ܖ?(D*GׇװU_>rp09v] ,RNfv{PR vhsdUe D}_|Wٙj5 !G!ŕ . xwiV-!'0F.Q?s ,t7}H7a6,2<kKvfvo  ?fSrv[$>IV)R\@Y$\ ŨPqPY`39&0F%@@Z>x I*bˢO}Qw9J+9Ro077dI{t_EBxrr52Il"M#%"_?O@)3>"~pLe%Ӊsۦz;\hw#H%{$'1vfC!"n:3tQTƒr^>3}eeRB n23oqGd7L ֵ7U8BO OI/kǂ)L]-7@ %{xQl*i,ko|;`֮g׼I |Rהgc&8=d̉8v{Umwr$[  ( @ >JBz&ҘQ"63Z48%hg m 6Áo uT5A%k5756{#{ XwJĎ,+_P=~Z5tXڣoFO@r4r.-|aX։SVp[dlDhD:X5<ث `Դ+R;7f|{9䤢%& ׾q/{>" vcf|*AW[B˲/Y&-j.L+|Ft/&;ҬHݠ>o n ɥ5˙7GFk\ ; o@[}B&7[|pA{Dž"TZ,7l@:z<[?++Y0wO. j9/P^土2LfXdnLMrEPJuZD["3~Ctִ0Q3CBF£&Ј*]F9\ :$70sh(sßsrC/WLE3wȾbeQxZN <ALčC)!跠8$En5>Y^ڼ ءusSbI/bty%:)ƇrtrO{?!dI d}":`%|#Az@]&(y˫Y 4#=}K|<\O#;eab/w( 1b^j8zzk'` KqTfQ @lfTmo# eK7èۼ`b@HGIw &\cd g1 o|b|oj 1Vk`wk苓P*jw@lH0\IqF/7@FU+,PA d;xbfYJ[^$V::g~T,;걎SKjOiH9[3f,$ށ{0nFCRqUJ>pz k3G vqm W8pe4gY|K?{huM._~SlOpCSH\n8s$ bBV@t Y3 ڻD"(?hY=}OJH]pKWA^_*>ò44aM -XTSlTLSj-b ny- sÔ'wJ(w6s9lAW3e!)C@fO{O6ޗhodzà)iEb̕n@0M4IVN=>Ō,mQlXozpX4yUM"f3l> +p [̼!A#W4{ zMvRY>vQIB#R/*:s9(T<= VnpMiR`"p:tS2"R_Vby!\$')'c}8?+ɋx:xs&LI ZۂVeRÞv%$Nn3\_?ejg Sƺڲ/Dw WH +h 0z̨M ("YI7ӗ'3NFدTK}8|@8T7U\[g>,-|zQjKfkI7.m ,ۼ̏YGm#cٻ,85ݏHY<(K9ܔ r_1=%+%b ϣEĤH2UWSŕ#r)ޠ"Ŵ6l:'>< 5zZ06K=,a|;.4 `Tocv{VkI,2\,:+:zzp(=>8nD֡",}`+Z<>8ƌP4O ˓l3欤Pq ՘Zc"I9֝>gw2K \&bB0fr:#Y ?X;Rcx֡ZG&&MM9(BFyh!^yj65E>Cd$W0}.M|s[Ɂ^Yۉ H@zf]HilctP'2хAە5Ss"&#.'Lf@sK1!cM(׈k?& eQm_ؠ]j: o|xY+2RrmWgBpS{ƚyk9*\Surs|nRr6]yg&=;|m=} rD$}Y|J?50#YX6f}l)p-k4}e:݉%@CV/3VJpVN-υ=\D,@1x^ta mϕ\n$|22WPWkY@UE0b\dlX7Ҋo9+r`c>lrJ͛s(ʤIri}#Y`DMBfb?VcBe.P@H=_A,qoЙt/O'϶l`ۜSvf:*Od~8.TH⶿sz_E9X~j@k2P^!sy~!"ՇRsK]\>9z_C-l_ tDqnRD4XB›A59L+aT@IqETQX*_^Uf yi#] 8yE&)Va<Ꜯst o}ٸTk-Mu^,ْA4I  ucŢeU^;T$b@#OLW2=rO뤽.ap_1+t_dGWM tj#rے5L\p- GVi۝5,Z,篔ʕ 01haܻ% n `D9nѹڃ(@3K܈~BPe yܘy`^갰T;m fzC!, >{zY޳xl 0{Js(#V[8g $z$gZ8bU7dQsp}TF1SK mKd'-$w5jM1*-#(א//aN. *sCh5{4ܣ5 u{!S[fQ &cmQgEK9a,fmHbB+z8:[3il3V0V>N/,/ŭm1^[S4~NpH3gHZKQ͏.&z*|aibFD;:k!#P q [I$R  GYH4b$xYdרģ`z1+oCYtTPT܏57ROկCٝ^㙭8Jswyp#ϟCD^s|(uXzi*~׈?, ,u*AYwAbK(^'0DU.8a%JB4V1r0gH_w*sA#?f'V+?W0!,T>s q84&07qTF1-v(wOӄwn*+2Tt␙BJFa=߃\lF -ܨrXV!\4֜5s7W3;=e4^Er5ˉ^d6Y#V ;zzt !JIP2B&}R8#T7@w*W49ۚ&HA/O䟚 a2lj>@+?<'J3ʂod^42SCQU0;R`7]_˰+6ARRf~W2>-[x]Gh/N 5ɄbE|3`^foQ4V 31"#>[#*VM7χ.LmGyqP g£&l>,d؜ͷO͚k\la*T)ڸO/8.Įb|m V5qaLVr@ v]gO}Om\Oc'nNi+&pqhMVrbI.B<Yݐ9o$A/'[O (G_'yXARun!Pme*Y*4jg5:ky<.!ɲ'jRMvDLJeL}ׁ_.',`[!Yu|"gL#^nFlB72M&"}tNurog1'sgu3˯M g-)'܍ѹ6BerA[^.8pL+0.8ެ ^]Һ3OeC&GpfA7qa:eU!gnGr#/.BŵtYyUq?P ʾ~"qrqL-90ZI-nւw >uD"EV >嚧Ο#ȵò]ISlR.J"3va5Olᣰۯ!/H\ij'EjDK,UfMh1d#D ˀ{`Rj?ӕ$kf=ȈLɻnw9t#e|)# Z!7 "g/L4)-OX1U$7YXxΫǝGmf=&[i+*e ,( 9]h3KO0ZѻzX:L ٥ؔiIqa ]G؟NŹ US=OZNYN @̍R zb],+]ytDqm1e:ӓִT1@hR8Bߎ CȐ(zR?RXu@"Ic5.d`p( /G䰉o%f#q>Ë1)JP"wZlnQTHO<<aSp $\z:+C,YWAS0 Dڋʟnk?&r`҇.9 4h=KFHcA^( g6BŇͼ}90і);yn Q.7 WGٚ ?#ԅ f)='Df CygoQ%@I^*2ΨDNR-m}`QU4e6az:Յ=HOlrޥGmEW$1C '.4=@Za=hi瘾R ۬c3F,1/#BeB5O'G$ƒq6gJ2-F? wN 6]i?nX]ʶ%pH л=Y[Qlj( oh9^GZT⃤ `ІvN 2o -څ>?Ujss)w8xM'ud2] F3G0ah&gstnr }%qN `h\Ƽ{&AAS e38gJr׋|% 1)2viƷAJW==r ? + #920t rFA47P\mZyTJX:x)}HH疕rɩ*K. /Pjq:Tt흭}{VO]wlݵrs%9Ӯ8LCqOH7Gy|1380DXIE,HQ7^e #Q9̡2I i9-m(xᙱ? <#֢ 1 RqEs9P@n ,"B!R#Co.%fc]IiI/>jl>Ia7!~F1=ɭ@Vsq-C~ Kk /'ѼI|':V_3P8ଉc2nU' |#U:?Sa'4ag3g8&FJODr,-Eyw@&t ay^mЎX%L}QjZd0QY9 ?}MTogXMjF;0J| [co_X dٷKVses8i!eo~|§_e;J01oC\HAn3{9WyuP2%$Pee^I %;#3KHRnRL!$䂺_?3 Ê+ۈՆ(Q[׊zmy*wEka[>C4g OYǁ~@aKRWm&bD-yA=fBD_S PY.8&AAW {_|+Gr{Wd;R4>oBio)8=^TFQᐡn)OaEc/ *VإIl>X[ <`~Td0e@݁W,lr1vy%64 Ɓe'{4Ƭ8mDqK_3aPɨr\4;9yYծf+Iv+zN L(yRQQ@|*аE;V|an{eسR]\^1]Q@};S19) 9glk/|=Oh 1i/54CኢL/u02 eiDcԏg{P+GPplrpш*- Q,j,qitoy+)Sow$`pD19:5O3[AJՊà7B+9|ugk$P/(RS&bKq=g>w U&z+49UOpF_o_+`=w[Cf,UkV'tB7L#W׏=<%Sh+Ze#[~ͭ'/o)Uz Oj]q|B˴ƚ0QgCYr^qѢ,,% J'ĝ͊CWSe#wW&Db2?ꓨȒ54 "vFKqëm#Ȏ8#ȃĂ+Wv[~0E9^V4"ؐtψ/aFqօzg6AM^!; iEl Mu#VB0Vy"9-XGF_{AzLVmx[VI%lSs-Bn+BԉUs(2"IHF"3{8H\ /NlmRo͛Df NX m39-1gf`{`az/򺟇wkRn/>Q1x.CfJ jC%iCoR铖G;Ii׺ҥr%P E$Ƕ+~15HD7׽phJ[88X 8y)O 6Lh* շ>|&ܕ~x_"%%w۵Bq09ܗ(} * ~My汉90OqU7[KN.Y,>\}i, 8۽L"4寰 M^ɔW4>z V&H+Fz鿯9Ǭ?If6 3}90f" 5!W:00 AoRIڡ+wwKէ v/,!~{Uƹuv7b#\`jtHjx[g*)]I %{#A g& qIbmV:fj 5ԅ]y\ω4qm$u Í8xĿ. _A 4U2 l#KX#QIw]Qdb[{/Et/>KODt8sYxo8Iͧ!8 E ȄRyWV?/hNM8j)mB\E7cNLɻr" J!DZvVmǨ"tGܞ*'_%[a>Òk0F_=U8@[;{.\uƗʕFCa!Gn֭W[*t'2i$݇odEYWc ?R9{~6QLp*$&(Dz}P0ܧSYovJA=/dHҜbR 0on" Jr]sD1^v|8_[}IpLn{ )OXˬc|&ޤ0K<@`>3 RQg7pagh&Jn`s^:^ O Bl2+5/Aq0k5gq9eq2B">6:@i,kz=qcF^5?rDyבyrg+}su?3*00!#߾ecuOSh 1; =Su_8@!:̐c/L{3v2>"֦y%|ِYݾPp)k.Hjm׾gkMghKw720?SQ5鷷arI  { faJṹʷt0%hUB0pKbX680$60y|峐RaVЉ,ooh۲FF1-Isq8$$DuESM(cĦ#R)ӆ&*@% h>0lq7JfLW%ڮ&9)~E KDV^C>Gvl6 TPD\ 4B9|%xڔ0sa]M Vqȃ=$62垉ɟp" Z &Is[ lZj ^ ~ w4кCʼn wKG+53Tz YL,_`EbFׄ=BR?L T'g);)#4ox 4C7YK" h+8Dm.@9:jaTASx9G 4h!ֳlΤoqAGgbJ 뇛O%< vb^,mN4y})%28[i$<-Be2737uЛ 3FѴ[X˜3iy *R-'3-shiRu{RTԈBJc0$@:hͻT(]ݘT1ߊrJ~ &%m">͓q"e|@R&^ʮP&7eji^gpvJHIwToΛyQTcpG68g:E/G2"qAH ÐKͬ,SiRr-[GϘ2V=xb= ]E͎y~bysKQw# B$\铬 )V@R kSۊ>m( Ǔ57`o`Ij->KQڏFh>@A1 }nc))"vopIY_Xh(UoC#ǎfw ^Gy0=bMsC+~[I[F~<6p蘃 +ϛ&y/]Oè B\ɋ",3CxF(ub}YSE-ȑNt+\h!k˱lg̋Iph;3ldfGK &u N(4U uml$[ac3'g_+U-?9n'^kyeܓ& m< lٯ!ptQZ2ac<B>1qoP#8>U(i ({1. G25 %m0LXНԪo`i@-gVX~t8NPn;uO]Cc40xi15"NrW Vce oL\s)j-!X$oZK I{;稵}Id2..z}Yn&|25'̩Ώ07$1|:"2 J`HgF|[O;R,*NFG]C]-ɬbind:aw׺LI<4Y<0 l<Ѝ$s@,?U l+4፧=\DKPON;ϯb;J,F$vvi--aQ]l:$S}iYW05_ e> =gsZEq{@F vq$ Zvi!3acV7Xhx@Y"%7aMpjMr\Y/}CiG6 OM0GB:yNT}V嘹y/ovǣVdE^L03#ܯ*o(FoV8?NEr+Ce)E |ztB=ıe,@!1ԗuD%,j|տ0?o v-Lq CwɎH`^+}rMuO5_YeGgy+ ) )ќy3ԊJr;ح[.}{*[4=@ >ec!ptc~2C(Z*6JM^`u]uh_X +q1L[VȽY)R߰GYk ~˨43M^E/];"*v)N'__<ڨyi44&QݛBl,ٝ.#LAmC~D࿙zݵm>SɖXCeHrC۟t&ugĒ)Dn2mVBPɩVVIb~/NrɘX1s&Zh5.-Mz$8U T` ev c/xj`ΦeP,G= !H~ ]AO,Խw}߷aGDx]g\g/S7)RSW\^䡰8i@HrF@'B9ױYn0CG,U=٩< ^) ~0-qYn vX}bG_4lXTN[Z,?x@Ԣ!Ԕ>od@u#V=$#^xǟ%!iP~~>` 651]c#R MIf/M*rfmP_3z>t oέN>yPz V> ʷCͧn߸ ARU-ݢ+DC@ Z6[ǭ5+~Q>p*.HH"LC YP#/D ͝Ɲ(`2u}ܢRͨ(v! }\UfI 1r.Ev)zJ=TD҈a'A)N6{LCg}U߇IU SQ}pc4f-qUu4s_KNS#"=e["5SC~J hFUJ  wy3EƠɬjS rl iދ!h>{]ħWva?qԌla|ƓI["(HkPl2vЈR a1}׹{w(7a!Պ@%1yە@2FEJg^q+l;#،”Uw1UfLPnߛ>pA(o`SRЅˈ1QݛPΡ#{|ոG-Xt^ *=񖌜ˡL*\, )"`&6"WZ3vL*B 1x}XzE1[C8+_j][=g*҇8r/ Bx|TFI]Wl OaD]y"DG4rccs6cKpٽLq,Yr`7@_~|͖wf+%'-SB۰Wu$S`Nye'NYwVG}OC~CE>4؋h6.  Ǥq}}rPܯq\rT? lR\1?8O4CQA}%d5rCzq&S#ذaD>Ӣ:i& kS*U6>}Yf&Ztu柸AX^7ASnvXSgtY | \֎Mi/|Qٵ&Mz+=4"yy#=夏?tR T݋'CϏ\0-|&E2y@]}g[:pbu&@slTg#؍,hTX<bL'_?=}/dD],(f%0ABӗpD؏K׹fJu7)~vM*$p}L?Z3pydu"M;t*`a݅t"VM $Hq/긦+rO D?XFbq 䏂ONc}x~4/1kΏk[<5ۦ(B!˯AXrILUϒq7i<|$'U$۝TFɍXwywm>$NqF`ytѳ :a^o2:g1e-W=~:JZg32FR cx0!mbz/?mT-2cݔJ*Gx~;}^KVx<bAD =ҥ jyI@&隈ܧh$ՠJ!MRo)0魅,7]8HxA_⏽a|ʊte].;-4>lj8!AXO Zˢ`R֛?їy\^M(Mb;)XlĜG0g-E/-/;X5 r rAҌrzs1٤jL d׈It#Kt-~ XŻ( Z5ao#1zl$=I4ܹa#B0Ö0BUM4km h%L%}7:SYZ |!>܆2  -%֍ /=WuO)l3 d~E=oчd B:zQy5q6n?֎TO-TMi$ 8/(a4PJC7(TJ%Qĩ&7'A^+6A9$9%m?dz-c'T^ͮ}?ٶ}i\)0 㼷8I 4)#c8a qRɠ "Aof?eÖX1pIspSVw`\22<Ø!erK5g&`] :2Z}E>.~BBY&nt߷C4G{ŗrɸ0}C `x߿~~#ʅOsYu_rvyUUUX2o5<ű(?S}NnZ5%n}Xsf=?jK&i?GujAi|aeD~ރp-CbÜ8pψ󥩣 %n5b^$^P>< بEp}Q%g*fX%a;J4*j-kW4%Os2ZK ZZA's2mدHªjVI$ q9h/h@p*:0!gsuT̟ "AM BZwf{IhoO$WS%-yJ0D3,.yߛ=_3Yqc"4>s=9;ۙ 3+qŭyj k>Uݖ^.Y\,J'ƒR=[I5]ΩZ-; Z=}ɀAS5` K:mδ7p`泘lI6JFq)~\)1g@-ĉ=gۄ]M \ c4 8G2( 1ok6eAI1?tD5;M_^!IsX,f3&\_ :C ='byDQLٺTO)[~Eǒ?|ͯS+R֥@Cm>,ojBXF⒈<" =v7+B]vVT|N6W0S?.&.1$%CF*%ԩ#I+3l"oheYcN;iUwI>XB{y<]&\P.1"NuFj̟D)Xjx_ 3$yQ;?2A'T꼖cˡh8jQJ#VӲ:,D O=c\Δ/)mqyb޾ Fp5Ta9 LOĬ'>RdBά9i򑱱2'͠?=|v3 !D S _X\P&p@οL7aQ/l6ת w-jyp$B]u9O0g )L,lODi(QRj 8 "FmB˰)vL")(5ó*a!"@5q9V4 4&[d&uI;QMk3k#)Qwj}M~"FQi2%xy$gh3*-4Fc>z81۳gE*PZ+T(32Ik?Cn,kxLl 9f-b_g'>FV*bya98bus=2; WaC8ن.O^WR>J3lᥔ%Ӥ\if55K ĹIcy+ o#,]Go+Ƶ_+'5lp6!T&SRS6D"x}'/4)r$4gĤl$hzv 49ÄVdD[?}GBE/_~!W%F, ؂0[Tt >||z9b #lkZB]),Y{GxWޢr&"$cXqB *01{Bk_'tcwoF᧬Fiͳ0kҖ9bYQk 7kh//6k@wjN(|Lpd?=keT~sIwehr'l|Xi] VS)?,$S8',ӨY9u,${[j`Es,-p``}`wA}1Pu2qhPkKԷ&cB-{,pt_ Ђ7y>|NDA=x^pK6Zl`BW#G2 a5GV;a؅Llɮ]wªXZ5? վ#L34VEXT,Y۩H׬1r2UƕYƑMɚgw -%i98X\)CCo',-f1`(jblk[ܸBQ*f (G lJR@.k]aaCX{Yp^6!E*ퟅssҔ" z1/jޒiVR(Rcb>h½TiyP`!Aqn$s$E$МN$T叚;ݍKDHSܟw6l%ѢmG\) J"\kQ?g>D좺Na;KMS& jpxC+.CzH!ha@<+{Z0a- bXHeBuF5 ݃nV2u-г|׍\鈀*m*/ IFp|:Z=V2@w.*?!Ү|m9/-Ubrl+ɽ}(ZFl? 1+;2y>%嫖W.68rD>2HoA,l*(i :&. 5X3 '!E+јf k̓{ݓ<8iIpB_PXЮ5;'`)zs9 8(g'`p*+K :%/V3US 5򯉱 *],4|P>IMCjS&apc $3ܓ3ZJRmɑZrU,SBuhiS˅DSuD#p_V]OoJ؝AQݖ䰃TAh `&aJ]eݝU>;ǷJefOJhyJ/.<5W^& 620k|Y|elM`&YOYu?<:%?CKuOV~U%3gz5q{z .PE xӸVh3ZBs/+z[摰_qq1KWD2 R\i*Gj C./QI9ּEb{V'>+ ;"-P(;l7 cTU"LtBΠr^Mg>4Ժ}b KU .91+YV]оn̪ЖO\ * #J~ PΩMm" 2;[Γ u0QߝG_FI~eX_1*87T9oߺUH O "kKk|B3+"bͣ|UT 1L۷=7ٟ %U]{[[xj7k|dk&8}Uq.(*=BEٗ9 n𑝉lpRf,F8Q󅫡c^Fd5K`,֢T_ދ{Ƽ^ &79`M?XAfK6e?nIgMAgcju.}e߈S(%cFL>sr%|BAWc|Ŝ\$p,A۔-+GQ& ch< @L^ZAf4dojBK s!U֩}mNDL'eG Sht[l$`MBϠr=`UeAFd XuilAKĞM>.7&y6syǫGYa&u[7v6"IKeQlBwT]~q?BSŢcr7) wT&OwAE*˞ƪcڏ$yP(m $>sc^q- %ᤲ}Ĺ7:7bloX@*zuSџ<ԮېA/~PQ'DaH]*c0z`wn6}Oə'lX$02[%xb!*Z]ƞ95d9`:0,̪͝7e9h࠯.]8\"WR1zhO>5YB9SA uc^M $pi&f+/;A]:' ɂ3?Yj-Ԋ"NZ齴.7碑"OIj`n0.r?'I3ZR?E!gfRRu-i|]PNAt鱨n^H<*t" #h4S*R*0Q I&e3l^7m֣ u ss:յ;8e=i;y1{6.x#Cqc!ZwV=$jLw4 6] *B-P#4Ԅ203:JrrPQeV[O 7)Y ᓝ LHm?/(M`>fT8їAyΝ*ӨɈ/ǰ{5\ FU7Cc-Xe"&)}i%(e)y#O6SގnoB(B0B>#ؑG-',:)(X#x^z$'a5|to^jQүH e6lGt!wW&Ncɡzot-P-"sqtR7:bh#leƢvG-asHض'y44b~[Y+IS5|@bGS}Qn.^Q5Ǎ_.;rs?)eCNiմJ *-07t @>J3]Ecrx ug4Xq dH \a奄c>uZ<?3ӆwzSW/QDx=B:r{R]U߬I+ozjH+lѝDo@](er t^ԉl3P*b_MB^{d$U0g"'\۲ uܾNmWUh`bQQYBIgE128KXha1%{7_Y@م^W6HDX4biyK qK5ύ7YZ@&s`"G73WbNNK)$#&<0xvX 3񗞽*ggˌwu k5VF5`ԯPlj3WXS]L1rK4͑/"?T5lڦn3 7GȎ]L@PTT{CCql',P"qE*U|+L<)??O"MWS5R$Z[6=@6'< q9ͅ/a8}!]M *5 Sl#s3c{jxey%q)@v=òK$ +9"S QB'šuGP|q]¸CeRn5BHIBp,oŠJ˪JV>tlt3pvj> " u@ժ$T!S1_v $}2gJR#lOWx%aP*wzj`!J/{I#khr3 coF!uͯ ((@~ҨHYa H(VLbkE>RP9TrNW nN$ᇋ4XW9^]ϝc#=<$;(^ RB ~1'e@qҤ9@ʾ ۥ;9@9֮NN > 4DC hJM]6ZE";{3 =Puk]rER>H66|LʺOt./W-a+-:Sw={ +w[HLSd8K85=c.fM\ gevߦ2:f}cR&~ XQPQ ߨW4q 9dlQBH+鷂v&1) kf/)p`y^lNLJ7 Hbq Kq:5cյRlS#bP_蒪 r4}Aa)OԧI>(x;t/v)GD ǽ@ǬxT btwcIb Iow <6 3L;ˇb\-~R;h{A'^%WGRֹFT0 vYu(.7ax;?n|B6S YL刭~#9NzAk",F.XmϩdE8|_2Or6l^G$G$z3yl5 ȎPD3nKCG#E^-K8eoA%*nHMQv sz0^r6q=KDx6Q9kWKkUD f\򆏯p!p;XpMD8d o/rw#;Us ,SxI7R7=pw3lR$O80B@̊ÎY+0=]o8m }Zf >R14jMnL+uAc[Y9x$>n50^9R,@V S*KPJe}a/e8׹z)m2 I2O_ht]H&PU 6C*#8z"ȃx~B]3-?rA8yI~*}U?Z&bcy .bHg>ŹD \xh4αzv:+ɚQZB+>S^_ 5*E׏K2׊N^`ErKwKUo,On0"|b2-\ V}feC;"vSX=b"iŸ +ex˧ ^]#9㓻%q1gթYNۖTY@ dPLIDž!Bex LLdx<% zp/yvAimwU<@EޘtH̰G9'۞Ǔz ~>YRX~ 8Kv{8?yY4{eȁH4bT8~DxKmg/Ut1_%7~QqƂ&IWD"ZzhYA125xν#2ڶehga<<.e}\,#  k8HJ,'={E'#$݃lձS=fOHT4xLqBKfO#%ERyb{⳥c.{ V>':2jZ_㗔ah-d=ZMlJ l`or~w z WoOX<_"QHbä7gǢX^䛜<:R>dԈ{ɷS~fy=f$EK@Û˔,n ܘE,yVu%AX2IISC|,HX<8inǓ+l@ ~q7Qz7B<߽')/{"c<Q>k㭔nٗk3t9b4ӑ2I1^^zQl$ EŮ.WӜ)s:RD)2lqM4(w!'xWNFT7.8ҹ_ˀ GRڟ#_2oK~?x]v'6 ! o`D!&}ۨnސY}66 ~ҁ97,[Փ:Ǝ%zYy݈ⵓnV9N5" ϣ+Zp3gg݅fȤCI[ m! qe.j #n(#9t'Ü9ROvKP̥!V>ǴRqКÄB@ؙ`KZ zBNA_ѓwoi@f%}#^yMHC.:#ʥY7nt _3nr_W+VWDNwW͙w1J߻?zaq0 Al[ pP֞]Nd Ij|5󸶹^ǭ|/O|EHq@7~ ({F c߽K9E1!ѪW]^ }|yZnD)vLc8Q X@2x4n.oVO7~n od A  Wq}.}&C&7r~'q&Bݥl+@"¸pe wte7.%M[J6īTVCx {5BKa{Ն]q,y<$c"r̠pfB{N`!Mi{ m9@y%@^'0~[Up@XiǽIi GP_Yil"cD(N sTN8j#"k7?nZAaqͫf#!tHS@aXs^wB@ {dxfCƛ7,H9'4|rX _Ƥ67re%Lv߫4 w;ĂO C𘭵<19iBm8KKӆ.bX5NiKܔk۲)`zj]"z8=:sؼFA2YDUZ1HlRZI=شr!f͜ I-w|YNK8WCNi^*Ho|v^icW*2mϑ:݊ Ztײ^D2$.o>Z7? D&#U7t2W-YJY3&&aVŜ1jkG[+4w0B,sA}P-]q-ImL;&R,_٩@IAf(|Tzٳ5,' ji9xXyJ4M'u.ܩK&=()cj rF@Q-(\IA'_ь 3Z6`*`ɴdh+1tWQeՍ,9~^ x:ldE3|GASV6l97aX6yIYR/]R;o!WK]6-gC&0~@Ow.$eЈi}f)~ۆ8R A(q5/.)#rO$6z߅ڽB)bx)9yAɓ?`9syo"QvfvZ2Ap4G̎l`~FuB(|aXm|eeZާsKЭL@X+V 2>9"q$[8 KrL\OD4[o>6s=-2 eE*@Myk ZkP$=\& rg[$gZ@_xh{'Br2bbҎM_7gm:`/Fouh$@` b qu1*aR̚PZY wFfJP&}hAɛ q$  7JMvkc}&94?sLE.ݳdh~|'rރO^dS"ʛ*9LQ*ZUŔK)«v^0!om\)y2m\UkTbbU I2HJ>\c-p͔f#]6PtT?4jzs^ö^<5Qs,6 6 DQmZf8ΫLD,Ga'!kESd֠ٗHD.5 ElL7vu܂ )tB#u Ѣ, (M(/rLџq%6Jo:a# {B_mU+_ӖA)4 ݴ_{|E3Ya$;LAl?S`EYP'7KWgCl֑G7\Coлj1igd>ݾk|BWͬo)3SrZIi2fRꛄ{Y`Z3 : Ƴf"ct~|]>R?pHm>|auf .̨\qd$YZ}}GI}\ݵdCn#ŃϨ\}W lU!qK~2ړRP}EG1gvK?pdYt2,2M7 i/ {5sUHJә!L{ؗ{f!Uk_{' ?ݥq$Qk~~APȼnɼ7޽(Hf$8ǀ)d\~Rn3J^@=ajM)ks}5~͆^H B9SgDAҊ5sdkMcr r[$0=fok/x۪(6Ɵme /< d6o!) ߴmZ W*\0oxl=2_#G9buR/x*U ˪n(IC lڎ.N.XÝV?h?=Rݐ)N靽`/B! Ajl2+jQ_}v/vn"b-9\c#%*(4Or&⮼妤F]XJk <C瑁g. .G>bݲHpACN'\_̓?1fJpR@[S8 NӔ?ЊK[|էo-)Xn:H149.XԺbΰ\(U7&S1 ʁv?wj4-ETͬΌ )O_%^Aܺ?JRWUñӗy akΆiD*:P`,9\`'J]t s8QY0[ΔcI'ǣts(7HP%$(%MqI GW w;7;aeLޓ!!54haVQvݲѳnüI6iD|ʃ91k Xf%31ƀj:KU|% &} d"ĥkj] ~EݤT4-`N*{3h+BZO-aC|;N{`%zi, ;%X'$9 D]=xS~bRћGH#⌑!۬l!@f ^E;wP < `9P 0w]sc=ic 3 :?Ҙ@6P_~#b'Mh@s5>w뤷?XF2 GM7nP aiFXsFBD{TdUv5pwY8fw.wؐ=;ANڝk٠30pykeyp#^"Jv0tgJ 7XBjSo4Ƴ\,?LH<)V %?dDQys[ߒ]†^0,ijb"D$god<]{<{ F+ITiŐjShBT8Tq,t@k ۟fV\9&Q/Mk#0H.A v*NhcIJ;dZDe[(ךO?4Ďx_2)Rp 9n+E40aM$T]ٕ\"K %6sn@p/ZPmU i8_[. w1ӹto/`g kEE}tW2i(IuԆkri3&WZr4k[cCJJh {T W(]9 z3Nґ'P`5R{Vt+6R#;h{1`޷3?pI/ *scHJ5Z P%Qh7B8,_ {e*rԂ !{!cVdDhA8|`DGkO?> jv@f*ͯ VE UؿH5l$5 GcռH.Dp/W|}Qynl< R@)Gr'*85pٹ2Ξ? ҟ /s釣v+ Q^O?Jh<<$SgD,g3xuЍn2ռځPZ,SQv)['1fʬO9(8GĂ9brq1ّ"1!|B+3vaOeŴC v C6[@FSjD9eRsY`1'nѲyL)e[䃞GXaf􈥷#{LM>.MD+=ab -fɎ αjUvJtF2A#n$iߢ;K6 zh)=皻{?;+\sB>*R\HnZuO24e IBPK+ K~'/rvg/%?S ,r3[̨d ?IW0OMZv^FVd2PXb4B GӒ>8q.Se0b?MCl/^{n"(M$)*Y2f( ?G!"edqDbIū|=ӯ۹ |dD܇#h44BvY`Z YvO٥_C~>^L6h'`'kQPHS8}|ki¸lhI>OSlb*>p*z<.#g8aZRVee,h|<$ϫ##EC5 5UeI%<2_z. u57 a NE8Jp~@;p%gv5 +Ԟibu@ڝ[gqǵdA(Vc˹`EKbQQn(jɩd$ۍW8W:\{h-ZV$)Z*NI)Ɣg墳Rn^|ӤEY+()3Nn,WUq|vxAd?{֠C6?n}"M}-@:((w ț& g'xչWMύ +3Fr_g4YA̤LŪ);lkĉ  Z$Μ@raiF!ٖ /D ۷w A9;uo77+$ՏpIxql׍ %fZ3ƼvDkLgƶrwFk԰@|T0:.#B 8r&Heژ1:rF h™QN_i@Ybx:Zw~Mi-u=֬"!bK0@Y(-zɟ6FxCԞ<!Ms^9b0-+֧-&+'"weFH~xb^Ȯ73vMJy.ZtdP2 Qe0H8VXݛJ`')Dh~ڥݣPc$N:ç^")B KO6u|o2 V ?2ÿ~;~:frZiԖھ 97ys7'2(ĿxaG6VO)# @Q]dcpfohMxyG) .Ӄ$Q'8இ]@>oҽ'B.߂ s[jV!rؼ<Vey> Dg-UdB#e=Έz)EwIG7rm =xl2M! Y«#=*v_tV eN ݑh y] Awh/`WsxyIrږY\~#Y^=s:B-aɨx9N8(e0idgNꛔ <-LlWSUDspsB|ͻҮgQ;5.\M7 k y18g;),7%Ҫv0}U ڇo]IR`Kk©tb!1 5=ħY^YϼxYtGz/  wLar,f~ ")B]:|))B'e {\i]= /,/Bp^k@?c9@^Yu`7sK< BA`JDBv¯W Qtݙm}|B+ڟ&r ÎePyޚXnHr)=/ /G}@09u$둰ÖS̪k>1BeڃsٜcG;':F!;0uߤumY+d6`vNS`(0p6r3y 1uTndXMxSbDS^K Qq^%>u>!@NxR.XNV*8IEJP1SKI2kY8͒$HY = Q5MH%!g_}~=ۂJIܡ+e!yYuVB^<ujCm瓼{x{ N \}a. u}5QJ0"F-BD OenB #YͶ(Go vH ZъH.K]HiR0-*7o|D? { ^QYw$Twmtrh_" S`c4޶fF3/< xaVqzX~o7:5.'͟wr\@h|E &Pcu>|TP.{xffcm+Iozg=,s]Citڎtpd7zC`iӚL[ aц4&BPd"9v$Fgp*M[|^.B5`KmbJ=)UTFke"6Ktͥ8XCbLFM^K-i%?EOskjA뿒Y]t0!tqC~b4e h\Kq̊<.znih,ޅ>+9*{ έZu:G܉>P̣ GO ǥ`F Y$DR NڍBG!OQ>;FOrXZ[ZiDP$${B΀k''b凉Ɉ&4q {𵠶٤D9A QU8vxe0w)4W 7rHm;r6יx𤕤ܺARay<{nhvX Wao;T=upQt9{Kt֨%K+F&j\4GJ5|7C.XJ~&  Nn9w|ZZ=%p!2htg7J`VҞ-$;Ɉ(ّguܱ; {7/+[@E$nG鷘ٗ PM!eBݢSfZ-<$c@ߏA<ݪ^C:i3jvXC~`6 #^Q B!}WE#Yd^ȶq ̓9.Rʓ7:::4-ԤBaŹpn*Rq'p&-m]׀{(O=#9za!,uN%}vaz Z@p5%_?9EMJ Rv ɼPfeTdtYCCUd aN\~6m1,7}/YCG_'+*FK&`E;VYqt*YKT!QܾhQ ^&ZrI_1h#ﯵ*K DrrFHW\_|t- b!>DSjk|JMb?-6L@:&9aYÃ]nB1xyW {1T ,.Kt \0 ]#:vYdGzH2 ~#UqݒnrdAaMab*q,P,*l`b֯Fu!eR8EU8qOe$%s#DmHGV}?UtAS:*1"USuMPA6QyUPfhS,< 7dRmD QZO}prn-|b #T |R(2OxmYwrӿc>\TNެTC$ f'PJiԛ 0PftcUE3Q |BK4k@*"sG3+Y<|ρj=8 m6WmQIQk"aٕL> !!IuR ^0$޳|s:d$sS#}l׋h`aG3:dʭQ w<'(Ï'csΥSi,=!Zohxi:X"[d/]6Q5hԿ;JP1zWYWtCPbڈY7dTNV0ze|ZmQyXR\> 9e[ƅM(?S\W_)8~k ':j YwhJL.G{w0kCP:<A\yv~++va{& #Ɠ(w??]n5`yWR:2.ҊIZ0a9:z?{YcB, DZ]KmGJ! L{4AX͊3ыB℥-n.9kfa Vq,%vMlTu!bDK rq-Y߷olT(栫J%lРf(nc_Qk=dń=F 0/rp߅ ,J{E3% G!ea4břU1Z ]֨q;^HDE0gS}q8# >X|uގKP;,s"7tF|zgԥx(w@7 H5v vX="om%IJF;sn1L_PA@K9~Rh Qb\ &6)EaJwCf]8KPR[7 3`)LD; rxDJMܽb/<snR$VW?[]w/ۮ=@|CUt=GAwH<2ޙCw\%]-6&-w4t i>A3;HV͢6eOdw[1#ԣ^y.M%@ɲ#Ζ$W;ȋ{ I{ ZG d򴉉y5m8J< ~ib-1uB=VٺzD+uR^@ϑ{\o6fQ(m+\' WB2Lø`ˍo 079furϵ[{N4$wrL8S5kT͙DH^ZZհ\[?^o~xB%{1_{$6b ע##bq dymW[ȋ H~iڤ´%xNmO5#`Z^B4b& ^[O[ -JjGU=6|s5Y8٘Ansjϛ{{ѿcG| `KȝWӵOن2 s!l[6Ji}+ H/2+gaum2ccW׸ tn@C4B-_q@Zq %6rWn]\edJ[~({zNE/ `G<֟(+~b i wer JgZLG`v hKBѣ ɅI\X?_P6;o@ާ))/KIbvجó`R\?sg!}@ٹ_Vz0`mxכJcS @Wy ZC)3׶XXƕtַfm},CwP%CشOe+w38El xt{v+չY!1DU_KŚ-+EjP+Ty[Xb&D.U"])GX]03"+LF0UŠهPuŌ }KaLq@jh!'|^QIK?ARho~1: {ŵSJH5db 뭐M4h]!#moPҎZeVcxo(@+C IdUCЄD0^:Ϻ|dgr@]%B ˡnl .7ygE<|{ |ށa|0 }h *|q3AW9GGgҳn.KBaŵP`ȫzIdGKHHQS˱3zB.Q$)Em6U5j~9dB_x}h7>Щ~coU*}4`3y4/8?lqlmNt1)ç|A z /@WZVs3EY_!ȗ2*6<>X{!Tk=:ιFrùJMr69EB\/ectetqpfXpʩB.@_^"h)+~QWN*@?Ɨ/\3֨_F-^@ IR/18t;OlQ0t~6S>,֍̴(ೡȲFp.+q AF:|2/xaC%!|d䃕>eD8C8즖qpE{tz<'F.ˁwA`glۚ(89'ΈX=!| rM OfR,^$!(p؅ bm6b9yԿXb4c:dxhVjZ Ԥ' ;\=tpB/9+ |E/gŶRj QfIBk="W2B=w$l}$ՖM]lCs(Ig z5;^&dPN^)N=&͠*BC{T:j>] tYCe38ݎ0@ֲ)mshjZ3||aG;)\6) 2 z<4 t~qGrBTk 9D2(qi cnwypޏ-*7wU\|!&&De  6,fH} 8ds8 ]}M[Alw+iB==3v5Rjm/ROg{ӲvY\rO#a/2nu=#AEnF`.a-XU?~QeRc;v􁲌lw}`Ú|W EnYC| sST/Q?_P{o*h5)=SKmw}tb>s" Pq;mo,"اjk3Z؎f tot>iMA Ay }*V7=G7=Jt))_pG(d-ō1Cc}P E2BK˩l!LF8w-QLw9zG$Ց LMӆثd23/S+rB'gυjg<+ӳg/nML(Ө{ [ػѣzFo"JQ$ڻtࡱu_㡱HG>BIc;.&Q@YF͸ڸi/־VD &ZnwL}\~ǿX=9 Ϣ7CA{p}0"^|e7jKPǵˬy yUJ6Б 0mKrlɲMs{MJ.`*Y [S!}·/o%/}q^h}GxqZԲ/ *qMˑ\:,YqA}Rem$r$O'_t$Qn'r}9aCd4( [zXzl-ՠL]c_ɯy %J*bDu7˳*$GS]mَ݄=DTNDuhDewQą"giəs\F`p]yj^- zZ"?UU/Ըs[*n![׽'7q|R7&HYE.ֶ-|x?! 0 M\H“b~5٦2(3!Ww~?r9X1ݚ=llRJ)58nNʕDV}d2p\0[{tznQ}>ܻ]E,v[,Q& 5 avn4t?j{w79z= _vfe} ,$]Xjeöf&K ~ZGd!޼,<*eS*畝kOeXB 0Wʆ)nN$zt\"wwF"S@m-B"}p]Rdz z \TWz/[\2`p)x N}PVBOVoK:vEg0ݯtC΃Aرh#`_f8j?xɅL"/{CE'[b0d8B#%AbgEAUps{jbЊ% 8>CɧݧZ5 GYڈU* ( eqdZfxqiv3i,LA )o"+Cj[#͌W^f$m e!g{Fc~(/Bg.G6rKNNt-H9Kc.9=er:KvE:/..ۤ3d!dN jReB( #Kdٟ [,7ȔUjVOtj~];%o>LiE^c1gv=|PRAi֑|H6Yݧ #M=X6lgq%ǙTィC^re!6͟SUvP06=tG^w&i" w )QyWl =1;-ox"Q ,qG8f6X71}G'0+C_Q\e1&q,n"qr>wjkV$Ƣ0p߰GZ=<Љhu6E8Td3՜m6՛j[y#{ر{nw[#U Xc&<ͩMԫ}AƧ>?L6 P5 :Bϔe[\OobWi"O mӏ^[?7,=7{C/ Ys;dxZHIf NJF0>db9fTˌbtSEk%gǏVⲒ+իvF2#2>cQ﮼*-p;Gi$e(Km~4'Cb8@%B~&m%P酦|1(Ywv&lIGkb|jZ4woX[x0.k_4l&~t לN?elgv52%Ex{_9qRliB>C܃y 72mxhF cg}|.e}D">9F&h( iOoF$潟^?ͺuo_t1S% )#-c$6)q֡hCӝ~5w) '0hWGF NgcZ3|1A,Cu `iH2whɻ60`.LsnRū"w)g@BV\ .?f"ِȷk_F{5VM2S7 PyCzHUW˫ʨ>TfSP}no빰 Dn_ǻG%.1Qx7؀B.C^RYp(8Ic,!iqKƮf2wVշ Džo`n+c3) pquh[Ǥ{b'Rq bð,m1 cŶtqi$ ؑ(kLQrī:@vgiVʴD( mkڧkY@N!2v'NGzɦ2zb؞5q*SrpvіW|\s4|G7/*8ԐPwM f|Vk#bGeH8ʢ$ںނZ@pH\'NHRU9xU>}g{ $ymFL`]#ɥ1f>Ǔhjg LX'ӫ< LZd,QT%Y PZ_gcKuM-{!"[ExzMF'J1rSN`Ҏ+Nb`7%UD+9YxD߈it$J!]ÐaD$S`/iY)1fb bE ?V;Tc-NjѪ=&uߥ_Cu}.=߫TӃMU.t+p ŹWƫ$PX^_G\s#&M>8:N'n+mɍ/9K"Y aNi0  LȔdf)k R3-Xu"~iKs&n(Oϊ}#=v5Yծ-ho1(E'7^x^]+jY?Ud`pH e|bQ.qiO$2vnPߊsrMnE%Msh kF4\Tjw;^a )_+%4U@ܳ7f|U APhFiSᣗqF?嫔b9ULVuwh+2_,F/c`ܭȉV{^ Tf;4vaQ@|} / Zmς(|R|;ls87m W;ë_7RSDZesn͵!:ZDaऋK% :O:1]lP 1(X~:~U r2uc:ی:a-O}[i G?EIQruIAVd]8Hz[!KZ[GNT6Rq$} !\o­E?&=4 ?6K{^K乁/Ӗ~tQ/lA/mb|Ri搬Ҕ>h[:%AOz ZU%fۣsw9c >gl>8k|fdIq^yTYS "ol'0 Jop;W|4ELNw.0#k r*lU]2_p/F[N7 / ?%8Rbc;5&h;l.ݖd;E*{fd]{|ܒ:+Ux`qO9 ?jYo8]?)/mKQgqmrM>6 7Gz9x5w2ޢO^~:_w{DHAHj8RR{[eN]Ϛ/HА nYwj|<8LܖX5qMTX/|©6^6 7j\Gvenhl3+ylBۃRq4M.7ɳQ<6ΐ^E滑o(=&䩖~~~<DXMn9:Nn܋("39@-Gi}9RURLŽ3%(R7F\\(؈!_d,3URo%yhQ)YXաqOw{ *2"GCNBCA-b/{SPN_ ghwz|+\{׹yt D*9)4j _l0&BSMy|Z^y\%yՒu+nwl) tH'p7BfSQ,q_ߩC"]Be0{~6֋.ˍ`%BE$f$Ǯ>ѱzAHK 0-"r9Sè,$9տݍ$ѝKQ kq #<*!WE*X"bo7r X$`üˮ87WIxf~~G|7plM P;W*+Ͱ.$99 !BnCj* D]S{ktW!L_e3I+i ,0dUuqh&f$pI-nt|jd=#&{u& Z@WOM+L@SqZc*G AGYgmHZ?dնB ,bx ?fJ\l&.%Mth2 ky{VKyڙ-cz{ %^Mr#(CH0 wB!6GS鹡G(["1VklB% }2-N/ a"[G>9Xye@\v}cuZ椌%9m-W:bURjeIC `DnNwm4jyWJAqNT74xN I#y]K3LB9_%S@ FW_>78}ÄKP}R yhI]`9+zDUA K % \=*'?o#;J( pi) 9T wz䦹;Eбjy|X%yŚncKsjtؚ4w:|# ^\.IQ4l*$DPlK]Id׏f۬mZJ!apl6Ą(3~\ąt JP8XƥS-fo %>|XhHڮVom޸+y c\C']rKŜu'\2 *J=X1lE;p44˺6zFrV.0S-~hGEX ~I Ay9mGm.m Wp5Җ*> xEN1BԞF+p80S[я#w,I]-~2L)N9IAd5OsiRkٸ^h@"HY\w*rEt! vdGha lg*Q .)'f΅zɳL42H1MĀ̈m !Fy0o4ӳu![.UHm-ۙO- ϔ2ZikҤ+"c`7BO ƝOI'w}O{.n!t+`*m=WZ#еm&cNmF1:h>GBjpK9'Df9h5BNߥZAkc&coIKa"1/w &tLL7^TFh4p-i:Ԇ = s觇%.Z>jg/&/- I0<4ZxjM.94^"֥.CH(PTsH RqeP໪d.1"LꞪњY" f!ي E<|H H נ]BIXh 9Bo{<1Rڐ<79ZҔ0$8YʍU"ʎ#A&<Av%^x|'KcJWbGgc β!ڮSdAg FL!r߭P$0 w_iHӕTZ'A:u|oeZmNӥuFh9ɚFamh=1B%ˮx}I<&?UzZ Ag&DݗPl)^~=,ģ~?3'wyBMfGh*X6:YVj)ZgZPiwv#Dk UȘjl69%r- rڤԷAVLK@k21$]6e)ݰ^fJrkOw8vg՚Ƕi :k7-E ҵATi>,g|(;|;-5o1<d$];7i+79ÐABhGIfX#\ Xܢ{12q l:Z4.$1WiGAapťX$4O{jɤcSQʹl'ݙ֜Bֽo8~ك'mI8횦'HP4Mb3[1rrwtix@9UjP6w:O z0ygB (Ʈyw4ӿ?} NWW7QrXJK-&WCiZi,LuYGn'`4,^ga&RdmmZ 2@" |%ǥ<+'q^)*&?.* _QgVMP-=hq=k'g!؈ͪDNtw"΢"wc|Ɨ-Vٳ ᤕqxEwE}Ȃ}^ "ξn_iwL>֓՝(4og.1z7Ƈ/e$,9i E@l~8vY0j}kRd*̽YiN^ڇ&$0$̙agHB}G\N?pQ\aL9A[p؏]>?m?-nCJ 7*V#SuB} 4J.%'-^.fi_L[v1OP;DIPێJIF*jPR{|u꾝V>\~!͈b,l ZE&6`KL` \|6NL_CJ됣 9,YLYf9U6[ 2,d(]ԞBP{m!nbO.O%Bݑ!|gLTHͼű'vw%Ă-|TD4ŵ+N/O do|$XLJx01`9­ۥξH"jdƻ y :S ?ter"AJa\Iy=Zxeu>W5ylz5eFqc-[^'&y~q6 cpeWzLk ˓٧tևHʴע#0?<~K2G%@).kgR^;-.n %:ii9lob- UP\,NjQ;IvTc30]t !߲ T!aV6a&.OU#厢x`?q.ظe-mE'p.X*MK~|Ržk*OYb}/نf㸔րh u}! r x;7d4hUPs Uv25p4̋ O@ѤjCJxP<:(]"o:S:lX[k3A8U|h *"}ES&U3dnPg(^}T6ՓzX.Ho3Nd9lfdIYaկ:5~6ps.Ճ~&קKv&x4 sj\z"RMQ>5E>Gx"I cm_H}A:֑8~J^X]&G}9Z ZpKD6ġḱvOe<˧J!a5~Ѻ*eE&XʷA|<`lyLdIqӠ%j؏X{ #shP^V Bv7z3@jG$ꔮcNM{ߜޟ^KQ Lj9.-.l>I'_#dq(V"x],JWQA^N67ɘK{WiT٥DjI=!1фsUտ`;Mӯc(1l f#%,1\!7f!}P/ M 4/É+G=̴ c~`aҼa')DB:k'Q8}S2(l8ݼé\(UMK7_=v/ iFL9SbՂ'=Av{t6ysrS1ڰ<*2tf']a 6'Y?lGޜw"mlFs\ŦwD eM Yn܃~M|*xHRhT =%ƳȋIP\bH:HbFX|dCOhGҖ+ EW Y?u;ThWA O+s0J@"!={rCFn Λ.ԫT Rׯc XU8=|$ I<ςG@ߍ\VNt>1$I!W'9٭CFFI& )G_e4 WCGڞݫZ ?h d_\w>`8$;㗫kua%.+ޤqwv/J߮N8QbXOiqc?F{$K JZ*MfhtHj. bOd72O1,3 DZG;>}ܾU:=QrTy>΋€K-0&ߪD$D;r,nD29ys g3RVKw,) mosm@!@*1Wfg" 2c;"FuW ƀ2 6 &=oa*Pab?Y;NoG[Ϊ D)N^i< *e--zXCLnuXepPnX\C|;`~ ozQPfsq#e;P Gˠ^6sC@"fj%)`Ls6:etGgRwC3-Zg7J"g6e'w?όEz#FV74A<{)2W/ Gn Wӛ %#K u;)VCM4XIΎMS.CZ7od3*.ѧak [c7.G4Xx5{c5U8 <i\(vw ZbW}$&hlf:3V`=UK٭e&]mc6WOؙWR/,saVU&0@9 VK{|x߸CTLLוOgHX80@UK; %r(mO";ػHp!K@ ρ6^ u! ڀ() ԒwD%p{.eZ:HT6yTG5rz\hP kmg+O>ZĥuQ*aW_($=5N7QƟR: }Qw 8`YG?,"e$u+^F%k(1OH5oLIQ-So~0jqaH)0F55En h /;M t%q¤}촐G[ uyii08B9cɫGAh),}x+!Uz~\♶tK{V6/6D[x'*Ήߝtn" OOY\ 21ϜD&*nk*9x fNJt0!h#=&S/xg 5c j1Xd{ '$Z!jpؙL'ޠq+ xVCˎj 2*P_ ˔_%ǎd_B.jp{9ᄽ1T D.m0JGD*5βs,kCW`-kk<K˚<]#Hg7S1NdX$~=t͒Q3Cw(y63AϮ**5J4% )ڹѩ k*ҕT;Zv+S3uqp6@9Q'="kV25Pdv ^u(N, bPQ %4n]%`[y唀Oa'N#4BU!;}g׼PwL nG 8Lp+,@6p&},A9NPy;Sn~IYᷳuSyD,;E@cK_nhҪ ӽ-i짨yaDF8ow(<$`;:o|(*ĉkNxuw՝4FZ&#? h2:"rQϒp)MZa( M<ݖ,#^SE8u-Vkȱض:aDZ`4xIkD[OxLMsk| .Dݬ@ K|[T4Эjg? 7p! ?x85y:g{5|b{»HĔ5責F?x`y\bpirPq΋;qR:׎< 6vpЗ*\PyWg"5\_S]S?LcY3Yڎ^Ys?fJy) [`iބ"t&[TR^_Y(B'b!o#CdAK)86m0[>^(&@|ԪG[ ?+-3:||ԁK/#~YwSŃJCT`/NCtp{_5x6e+FQ740^1)AoEXCYqs;w*X<7FAb+ 匠/ [Owcr&?ȡPK@@hNguOdP P I~P㍿ Yzp" JiVGO-;)aIxs j;udWn׷tJ4ȵ/Y1iO͛cThKX<>.iSՃF$ILw.o1U'ÆE]?XFu8p`'7;4ɲEqf[],VR֪D?b[TJ+|<6?@M; "-r@v͉B܁ )?MdTЖHAVsgCXϱMHSD'JHn'Tc煬)df(Ag0޸͟RLȇz-MxSe */efԴM^+tOsaS$yp55Aqsvš vI+Q/GC0PR#UX/ڲ]V03u#:um"sF >  w, VLs+oHʩ7d[q!0`K󦭀Ò6`TWϭңtR|`;D:kj{ݒ!q'X-Ӹѽ6k%mkb}mV"*Ҍ* Hc>q3>ꎧV( cv 7U/$6N((˦h$-zREsV7XAT9qZU(u $`"ݍ UMh۵z;EQ ̗NQ$N W.i8at;|ڜ*\Q?O2Ⱥgĩ%8|L0q`0}zćTc/Ob^N2SaAqNyrtj Dmm? U-V^lηۂ!ڑgߑ|),x ˆQq۝Zv\Nt(:?˕cZ.EXB<|ڛޕ|-utQuj61;]['9i[/wEMּ,0"DExZa Z{R. h"PE M4Z[;nk%ˎ_vc*NPU웥D. xdz2 NDD3\7믆*{Y6c+x?: $n xjC.=ځM3$KGdxqMCꃍ;̚]cT8[.+<,W}pb]ͨ(mml Mg,ps@l,S@V54xWǛ7GIf?e)> v-쇂۪ LHiA)Jٮ/P.m/h&9>CAkhG+RtV8mΞ즞l"qDAфRfnc ;3ߗc[cVCF9qi݌w*}jL[̺Ir YPRH:x*}ȿ_H? iw7!{dvC{W.e1i=4d} Be I+z[#b=~?=w,LtD+UO܀w!d-M%c;(вa]g[!e ] IjzɎMy$:V29v\”=nor&\nLbԔ y li\'^ q }-}5M|I2v =%JN]~'!I @һGԙe3B;`] ymg{nߍI[, bd<$0#lmW,K=l(*[ЀfղTrQĉ|vG`&J]P=uo)d"Pn+AcOɋ&sBi+<ʛN%MkRyW#ힻGHua\&P6rn:Ԅv3v|nG-CfFrTSD/V)bP/./ԒJ%wC X"O~S~0`oըa"L9g1y􉙵th#kiӢP_I:,`T6ٲawH'8/)iӌ*(/rR҃"QimyXy.leT,!C{+f}J  v+`=811+! ~9|Bf.IR`Z F0UQE6&'MFcۂr4r8J~p1P`'m*,L բ/ *.80R6 BGQ`ؓ34Dx߮40B?o5.Yr^Bqxԅ9=8=a>p-uAd"Ys^C ~I2hM]*bCiRCR K)hIAZ5.:YFc3(9f1"ZMkfJ4u $x5Wkū=;YTJ8lpU&M( 3r r8{]~8hf̲Ϫeb _3;/o"ԯ^kÈ"(JPB\$4&} U%Z 7 =S鎸9Ns=7'Lzs vr. Mo?0Ao=wHJaXߊ6ILD cq 0'y/k,k,M`[PbE)pv4Ѵy卞@By7q s4kWt|=a58xk[O?d_h=fe%ͩ7ԎrШ 5ij@ epz!v;AY2S+8ն@Ynq Auzu-)9 kIь-i/C{WŁͪM EXj[;c_-W!"PW tS+~!L^9+?a[ڿvVf@uZIىw˫i6[)TJ2GFkE>U5"NVay~5k1LC8?ڗ q$MXtS^wmkSX_ ^{no][`فss{ fy$5!OH㨿rv2+xV/3%٨Nلxsc$*{Pag=eEnW1Ku%mM  5*-+sHޡD7_X䖐L(k;`.QC0htCT ˑ31l֞@WGZ ,rI½˾$+'̫/ײJ7KիHA!f?Tv%p  ͥ,LQ'B:VXT4noD zُqEkю#:7s[p=(p/Pp޼39)+M sLM'l*;.s )Mi4NjQ Ȕğ3GU&ͅl%ʀ%"79RD"jBrнkX[wڕ܀f9ZP!555a(vH[}nW(b&[ a%j nBrC(gd49w:&vabj?%XPfKxD\_F5EDg9=c4utڊw {3KPyҒ>m[NޱƸmwVqh處x= 2#*ҌzV7TW[ʁxFa -8{&_f/oG+2 ޺4M۲G#+Jye]"hFй,0_A} B4դ>+u7`c S&^?hPKhݞt;0Oԙ1X+S C5zy< mwF- ̨XASg2to*K:Y߮,`gҡ 5*ȶ _^kK(}"SF 5.~曺bs3J aM$%:Ln}Ν73T5`1j"&L;!G, ڤq+{%3Le9|KIuOYWt(p ^ ƒvG<0 nyV_8`-?jdwcOt{<ߤ c-(w'8G?]AcZEl[@#,},r X.iu=ЂFGI3p!=tlڱTiPFN]*4 @iQZ,vFv@jmLj1m<`03l@r.X/BI~6$Ex~g .,S/t6]E!@ѓ6TywTjC#4H^$8DPIҾ}XZQ٩g,<S+J{'qC)#c15=Ww{ Þ&EBF貨pQƧue.m"R#Ӓ@89c<#4⥵ravhdnz".o1LN9ls"^^7DGfBhyء*Op)LpY92|8=7{AWA*i;*RmD\jGP1q{oh3/~8Agj̮o&[NtQ?ή6[-T4hFOW( }K= :-xBpoXXn;gBrPǫݮFƹ 8: J{hYW6+,@=gQDz>a:5Au$q&)Y݃BYSgLtpTC!%k^ *)6[A )_Ԁr!Q*ORG*LϾӹzJfdJ;䊺,ƃ&+nu1I?U|k49NVJuY pKϻuZ4,W󁥂 sxitȅ}oٿwf$Pqq u*JH1ڜy4T*SF.?0,] 7ݘ~2ܦm_4ID]iN?9-mc>-XV'Eu&K6[9tfK2TlǣW˞}_'S` ۸ڻR`^voƠ'c>3R?lҌ69/[xe-SwG!^- xS㿡P}Պ SE뵨ƗʒsAY]:oGnP~kCõN;8W[[4kP5& ,dbjRs[iA-mMocJ'1/v)r(h 42fM.AG.jct.=iTj'f'KF*zP-QC&daRЂ{ʳx`G''$DW&  >g#ht`cuo7x`x]%o~9)2ꀶ܇=EҩN6i*.KYNZ?iF XSxQ/gNEXi )E(0T~#PFj]U336eG~)tr֋'M75 l-ǵcM@ʡPPl[)1WRFn້^_TJƱ4V iU=ԯdjÑeP*ȸA̳3 /YALd*z^|cQ.`]0+ VCᢗO.75.UDxADMFvK[XN0٭&h2ѻ/c|~VWiH6DkpWx ڳ}P F:\0ឿ a,hK{Lrt%ȸ#>N_ /}řcKk:Bypgkj0d _Sw^ Rb76B_Ui*r ;Le^$.?Uw5<ޅ~HMoB7FW Q>Zer1{Ͱ45=dzCyw 80ԗ[r(*s*[fO$,F~…Ҽe$%5ә6q(No؄Q'm=)2*W<+7b*6 31<Wц]͝K1_#QP.1UcT[ Ixo VTeD)Bmm XK3MdgQV/pMbZKNcD`Le/2.KyAe/)Tg>Mtg„t,H4>;>0P*JI5򗔆9fU8ə>Bo@[љ?ʔ6w˿(]Ad2L[}5n̟KJWpmE4=Nt| 6~9hÅ G@~Eё˘(3S0X89ٌj0'yz /IA-ÿ#EK H=7)wщ꫎YwmrfeLҏ`I98Mlc+lhOYm ?h(>rQ4w3T4 g5S<K3Sֹl02*Zsٿ?NrxDz\9X\NP-K\+IA \-Trr6w$C[x=0Iraа2 M Z6ʌ 6f݁a44Eoh'F+N2%M}~ҮNgE՗_C~A k{Fcc_XAw|/+XX+%6ziR%cd^$W`sm:6O;>wq[b}Dkcc^2XO?lUk9D.Z-߽cƕOvpgT>6!F6/o-9:-fV"HUVܕdra1;q2q0~LrB:XLpdхo7+t@\!G A9sc7ݛb\ph1[ $48:pbX^Fz3>p0"dXQ>,t(YrF54ErGzU(B =ƸBGXWF|O`S.ꁚcڪدVU:U9?\<,4OC1j o}QgK6qOJ>`㝏4'ǞRk)ÒTu;N&`ivxι+8БL Kat ״fP&j#`J#d|bhP;]e%hcy`}*xr0I(1Im Q'.lNhw?i4.DeXp:V9Pn*yc +׹ EƏ΍0YT>f9x';g$oڇ'pmgJxJ%ܙߍ|=k,|OVp ghh% ]0F6\SB^IsULJ&Ic̩N~2Y\`_yGcge oD)j6# LuSEt!~|pHA䂈ʂգQ\l'ow fgImϡS΁el^冩ESQ;ͅ[Jj/X̳KQ+Y*K%1E=skH"[r:G2[adD;b ɰ!:M\CBdm8]C`BaxP">Vgs 'xYU+qwDi+|bxyڎAx fEFvoIY;Z&=yM^:u/y$ (v4̈́)Ggэ9nnH˝"&pO|O2p}`̟`c;%zQ:@Y{LNL;דA8(bUw+1eC9Qbd9 (;#)"W/ͱd^ SaQ49حOx种+"\&F86ef 1al!T&ore0jE >,eGb>W f\,V/ݰ;<],' nө I ,N'(ձ&t=A ߥFRըlO`Ox!ά<tXuېyntзiإJt.k]|1:0&l-ӖihgS*K!#$6 @IOOK*ɆŌfc/W;咽>7HoOc% KN֨'AÞ7PG2H2l{Q=b6n(L1v N"՛pcɄcv9ՈtAi .ĈXoʁkNHm>H>>?$dxwփ/]pYk@WZL@ʧM3o*tv[OzFdDQC/!%֍,h~9Wfx8KM3,.Hrr(kW/@f%`Q[e.e6{+%wٗΉlQ=`+"r!0*d;JMIh28i7 㐈Bg:%L(9,ц=*%XAu?/fi'ٶÛu>~J$SEi5-omP;]\QU.3 }@̰\\ 8 siqMhW &QC병_!Qw$W\q~jlT*{jѿTyĸ-LM~eJ{aGLH8haC{@lLk3<##gͱ8ufPOm63ǜAwiJj  kvb$Zs׿pwI\ʆȔ-T2)Zo:)9ٴ3 3VhVdpRP!28Ih"2zSlRJ}rij ~Kyt5ٹU bgxZ{{uK#UeƲ|XYg8[{y LƇ8Ώ,oxFή CL9"eԏp%=AkQ`mVy1;஺Dٿ /aُew!%v r5: RQaݒ(ȑ0a݁)=E[~@cbhjFm@]K}'pP[г&4)Qj{*EN OićXV7[pv&tF"3w;^ 'I>ϱN-hO3tiU:t9Qu)l߭T}ݺ:x58PnAXDj%^:#-GpBLත1J("stM>f6BBey{ɑsB7?U)W+w ˮ*V }9)^ϟ oi[()ft1GEd&׼'Щֆ:_3V :1uaLv ZRv͆>POA%OK9O_E6r6QVXeI+N-dL섘E! IA-"Rdt|=|tЮ8KQL}M+UZƁG #`vK+ عjh!ܿ9oF+V -+?Zl)Ȳ KUM):2[-S>s_6#R~”": , ±1%l>ۚa$ֲgGX[E_OH"$K&yUt.vuMVq3j#@_ċ׸,.~x`'Df|Ϊ ;mCql:DlUokh1o?ɨ鶥ngt%uipsjsϟR:l Af3R3vs0BTRaQƊ&e)\t19'e*zf-y_FAIZ$7Q8w\xO.xQ&$ azSuC ϧTcw [}A- ,AswӌMͅJޏ V _Hrڍh.Wb1Jn/n;1eD,r@(!)N'ɍ$\Õd:VrR7n;Otq V:ɫp}1ݘʪ!jQ;toYaGЋ`iZEױushnU (zk*JӥǂU{ihbPLcd/{c׉5X{NP-Zs3ɟ9ae-81w@=֨%'|ֺ.u!GR2!|LHaƌMi1.zTl2tttTlbQ< }!Տ'D/ޥ:R(zqhIh2V< ] ^|+LUu./1Z9Oϋ|t΅;nW2R!lqǧ^rW,ZlVt je 쏼zpHP3MeDlݲc;  kUkO.R{#ZطKq:kyʀvTniaFr& O814x1bGWYٌ;&$X !vhHytq^f qURm\БIj%uN|dNFhFDgv)6H@! -4CtԺj^X~^q;oiB Mr@4wZu(tVMBO&y<XNtJ g"UKm;Gp`wL"woȍ/l;;=F8 ̋Vp4C"۰ ,JD;y5U?gGU6L;*a{YM]8yұ詢E**< ;\f _,2$Y]Z?@Gmn"fd a/]Ħ,9%^|؃<[~kuVH#cOۏ>,?w5r1nl3f9կ޶EH5P,Dz{L~ ^iV@@ב]C+(*h$[ aɝRNP@:%kzǔa`OIe + "8noǻnn*=Xc`RM|>?% ^#nOⅹs0=v:.\m$!s|G1+r̼KG[$ ܌犧~ֻ@UPN[ G2+tINJg?N'bl}_׋vyL=:֏2G۴`ӗ1p ` KMoFe3'[ꄾ\p)E23$/Y+I#W⟇UhPEŐA-f4j>uq"'lʅUU@ 6OƲ?y$_a >qemaq+^UGp]_xSf! ߤac#Fg<vcsO\-j;ml$^B𦸬)tm2J&9I6q<8tx oSPk* MN::eVHgڗOP=JnLpfCet_VNGh-$:#uRh$̮UeK[P] À$_]/[[s 8Ƶ,06j13)l6zVZMps!XؒAf+j`{3kJ6䪆U.]ьY #RM=oKvqȦ5fDBIvWUR_oE?EYҖU"?CkHyUq8. q] ;? F 7R$dXb|sӷ od7kt9' L<3Dϑ}Do}|ltz)T.D(S5K3'K6DsHKWs8JbHޖ~馭3YF"ek?Sv\"{-)]G0Jy~Vϳ1鈻q֥ a7L _wb/f.;"d1rXUux"nVn1}Oӟ,FR2$G2ĄRq-|[eP/WKC4.^XY7>Nv'b"s"_ѐH)Um`PWs5܃HDbӯ 9f 0W#j8A#@Mnv.yr8q!i{.jC^wI.w1"ω@g™#kù1egDOk6>l407?ffV/5:dPsb"^4 @&q^\8?rm\t w te55"TVZ+EYՂ.oYzpks8-!.i/Ziyrah4rϦ!,k޾,jB)8b` ݼŃ,G'B;skyᡏv^#0mk(3Nӹ-RRY3H ܯUrOKEp.HhPy [D Lׂ^9{aϕAov3@5Eb0Њ& +ER=tͩw=^V߷ 8mSMX{OT85gio |g9|7q̣VWCI![ 1yO~7wM6fWȺܗ%ƫiF8Em@waj0/ E%yn'?AtH @XZt[O^x4SDfA|bտeꮺ$8F#jG-X*%@!)iI)Jŧ413jBxEV}9IS(;P3Jct|NLjb0W/r6@fi )m{"KMWn4E "Dz仯ee&Â$ZJN Dc;`bɑzbU߫lgHsyw ψcTq%%[ '1q5}Qեyds*Hӂ3јl}]qB{Lx>)rT&K4tYD6p-,1AjMQQv܇!+{Pk OO(J] dcb/t"QrI9[^Dz#Y&:$v.6{cuQ}—nĺflRNZ^Lթs< ^4 O~" љl׬_ZK:c Cҽ%:~ڃ<,,\RoZMrJ\>dX>p;H9.>ѵ'O 6?{mVhm >b*15?Cdt |ptF2Qt濙wh\6%j ̅SJz'Bv_ }>|!F!=64GJеCa2'˘շ!m)YW˧ mD%v%}ig}І:x)2쬛S08i=4G `a:5^Tʠ>˒^>s>, +6K)g־R8ێkjOU3jQvC($ol1Uvʇo= Q![M[áz++/>_M7RENJu=@"@쌷}PxjܛMNuLK0*ۚ%2ףH1߄KQxQ FaJƟ PQyp3f?:r`8O0ƯIX`^sX`2镣aZZ[%3x 9%?nw<ϒ:4<[SM=6ɳtbjҶ}Ӗ^ap?zSZմߊp` WWZŖBƎ/ͼOExZY&ҋGwAvƮ З5ht>fTp,_wf˞;Ԃk('QeN }:9u :`Uܿ]{o /z8苤]Z 'eX%%[OcpeyvN T֭C딖Y^"챱x8y`9a{K2ݫpVE:[`$%T"XmUTTucwfad"*J#AGe+Xּ釆57qޥDN|)o2/ahOJS8l4xZ4lP,pC ݮͧ> dPDYI%M !v` 㝘y#Ii's@{01~Mq_(Oʅ7Q:Rlʼn ~:e&61 VA(*~ɕNVL2a5y<3GY)pIb6kP:iOr JA/=U+l<mGuHW|R7L6<9 YXv,ۻ-u4g4p`7PJ970S49_eIa1BbzRc郼a5$c5doD|MT$r57*Uip2&qNuA\TAc$3t,z9y#2W._ǀBcؓXUJFG xSj9T 8^o/,V"20:7ou1:LFOZ6c,ۋPW(avC %90n@]o ҿ`?.SP؛jzrb-x 8q>%\|㠷Mfy/HiH{ItI?qn,ҩm]B;<֊Av~v5I0}EжM[^ə"Fl| %Ju5*/32D5Eo =yHԬgOju. ~8[5^VuT/H>w}%M>huLt;AaoaCןxハ|ep[!eڃ]A|R,-ᯫq;*5Fd-V 㕦+YT>ޜy,S.[T{ch> ho%L0*b]E<>1)> >.y(K9vl V~YdL X6{u 7nXl"\i.*! t1>Ln;Cbݓ=}xo ::gx47Svq0~6~bP7;S/ζcxOWRo9i/ C];cvaЭ;NrWfa {[?E&]60d~7'\@"غ C! M S1j _#\ۦh Lqg$Ei,Ky y=;t[ebRn2 gL 71(],>5 $J^Qo_7p*tLwRPKFHq:  kS(QG]EAUِ4X @/7ghB,=k{=yf b-7U8H٥ vߞ[2{)T4U1Le[s,t(i>o_BNߡNiEq@Hŏ/R/t۴13!%0Iʲ(IkfB=Ob֞^.oW~6]sQgaӧѥdΝiu3])IeR,{$L9 an\Y^b#ھ<=v7_ӘOMf-֋4עu~7CIQk[BӮ۔+[D[2q3Au 6hGzSDlI}ёKOZ~ Ys?wxk ϛ¸ gO.QA]1ysD\ykjI4:ܰG_,i>ꚉ3L86@}xdR=x y T,+(Q-"E?)J6c ro$VC遮tJ:l UOY|ɤ.}>NWWmQ*vͅ74AWZԝz$$x(U=ʣV f'd@Hߞ)k+rىqsp8㣽`B+Hk{:,GF/$408YC6UʣD?4O\{V䆭*@v(nmH4 r"C&dQSw[ǿRI%F; kސRʕ@ydT~J?Zop,nUS<~̿]㐵;Ɏ `g;}<ʔb rD*W2<%|["Ps33\T~Y9j\z7-_d= m VǵR-/:?JT@~ĩ:k.~=ǫÞ9Ƴh*R1yWHj7 eT[B66+%K sx-W/u&C/u&>>a%Hwz᮱ uECD`F\YCB%ƙy9&if @N|QۃMa8n1*hWаX X7B*\@khU!Lb -G}ڪ =l*eFE]nEq4Vx46~eU>, y[a<2ugTY;7es,YtTzgAb"&)7§ル\`tsLc_Z^hRԇE;7)?r 3U}GQ!Fv Fbao^FQ"T,G .Ĉ#~PUN}S0k<L]Mo}6Ϧ$(0[U4!/_>pw=z=59zA[1$}?šM3;Jޔ+NbTvu&0m=OXbև(x$7 6כ=Xw (}4k$ofZ~57'7#ŸCQ:|y-zMI-]V<̮ ? Mac!iՕNt@ǣ-#Z:3:F2 ޡ6ԗ& %79},w#(ɶ[b}^u$- W{bq}Q/н }U5:k>1pzx=5?$U_0*.j;ސ!D'J{܊YCvә!)dfWDa,mz0vmF\|ђQj&L7y % pe-0l;_F+{ߨR2]ˢyW[ ]V-xRceA.#Zy!t0YyoWםi Ņقia? xtK%E^>-A|>R*h/- `j%o Q\TF=B D\3q'/9N UE C4qɯWGQ ]IR,2A^%`I9gq64ݴ߇ : j#}2A#|*vP^o%e}0GL%1'[Uv)2oA, 4oTZD1GP;$̈,^n=ejOv]ޤ9EXUx u8#^bL^S$u_u ,vC0t]̧b׵j;2Ac0awdDis2|هAiRP]LPf >/*E_dsyOW\j遼|xt+H^ͷʇq,0֑n #=)y\)(G3 te:L^e/>^> ]ո KfAX)zko?5EeKTUA{SdSp[KS+kz.6ze鑠l:w?}5SdeC]CC'7)պ1Gfz왱ç61PJ\i 7Ff'_F(h$i'h`#|+/_zB攰Y\)>bBSBc]_mJQV8 2'W/%-WuwaCjuqT[k >aGw+`<] -Rr0'Ňa!xG; TT~ʐMPؓ N,Vyucn޲Ŭ~H$04l@NpT 4zž#3ԋhrI |o]$0Ɩ]‹ނ= UjZ q?CzӟaOiM|+,qR ?P_4Ms+NYB;7퉆ߠyr|^T"}^X)vf*=Cw<ҥ4G (pEIKaԶoz/H_9Gmݖu\.Nrj# O |߳+֌U%JЈW{45Q䯶&B\L1owzHXɼl׵Y?h ϠG29+(TSDƠݚ S~OL{{*B]Ä Mr3B]{8Iz5nSDxmz; h2W{ȿL;5<*$m֛26\oʝfGqsŀF-K,H8 8써Ӹ-J I[#8H0q_mIq"L[:gb;_vFguXN _:^I{k|$^kdiAS8~"Yu4Um=&ۻ;N[nY\dKw0ORr> B]l{C>PUӖ7x9H27QƔuA>ρt8C-,}kϜ5& ;[G*JÏ35.7ymth$ ׄ<хǹ܃цx[h@=Ƹte"=pE:k`e>[0N캞|Y66>B"VqS+dIܺ[\ NtźBxuR{$ے6Etӹ|SPm.4 lC hc?y%,?xA^΍oL"4؂?cFYhn:;8Be KlPPTȰ Ĩ]HVY_)7D +::IoS2\½8|7:=i2K@1~?TGC8{yMe f LYd ~x:rMqM10f4@_ݫTxtMmE\؜ 9XU2iT~ ]yC"OT•Rt"ì~],wDЗi;+$騊`8\dw yz.eQS(R5h4U}2QFb~(5voTS̎]#N'2RW+[ s9!*ou,h :͈kw|?(gĉ$t k0-ѐl݌W,ʗ޷Gh|Y4Ve0Y2R5w-lG}yj /mW^!U:7oxǹe %:#:+Z]WzsJE9Tj{ШAt{v0(QB C® `{:K$dm\w6$ OlF$ғ`oY.H-/kFL<3w[ڍ~LBCpJGLȍJKfT!PYb;a;MD[ xe'뷨oW?xm("d+5s2 M&j3zK PC΍a{fH`k+~NNZ6~uRaӚabN,#Af_(<'חvc1 jZ=I'Ha 1#y@ytc&r ;xK#ZT t JijO{piЕ=Vm mcZdNa[o+&rbUlbTG&ՉW^WI~3'bYY_/>B(B^zR{4&_KIi~Zy;Ӵ܈v\=6wZ.dAev/5mOs932 ׼t9)S3_˷pEQ.:m@77=I'?tF+ 6j )p!AYT1%mH~+ԨPKբ3+x_44'ۨv"&w J%=[n0N:$-Ѩ>%xQi#*sp[|X\lUcD'}dĮ8W.>FPRu _9c5cJ?| dB~"Gpט'A hlv Ʀl&w_C-kM>R:;c5xpqk,;5zAZi&Ɠ~M-/uD?TV:xN78;wZ!i#u-euh#T3H=?%=NϽٺgW3'-hG` nQru9/*s,W eu:לQ9$yo(@no4@(BQlV0?w*F`Έ|HSib;)8);6hnG܇I1H1v@GogBRdbՑ: $J,%8Aqԯu#ISDQ'(90䞄48 zBbjh- Nmۯszmk4(lmeB1SZ!bD}{e=&5e8?.m7bht%g%튊R΋y%.ᐾ,r3㪚C(׆M#ςݐ\]`g358'aǜÜ#؂ι}s~l=J5|uSVHnp5]βSݗ--U'FK @6oʨDaGMXRHtx,C.Nϱg \-pO@DKS}Hp$VTYI0Q)8i5bM#Mvj=Y< N1*'փ1fd{2z kmB Bkr\̶/xkl`K35e<9@\]Zvo=0ȼR$qqR4T Gp#<ʤTe=":ݦ˳O E@Y{ F'JlmuW;q 8=ճbR) 5^>0B[fZ; p "/撇eGZ0y+L6*',;]#'r]kͤ_:ĸO O8fi&-my$D&g},{/'cf bkjlD9S]SdkANB-&cigW (IJ{#܍$NQO`n9ˏ Mr7 é[E+/ ZuCu$j 2T$mZ1Ca%z[,,0l?!Qѯ!WO \d.ܲ:K D 戲U)Ch}iqΙGPo']Z:}x~Rox1tݳdjYa!wɷ\a™ JDhy! X֏#Ŭ]!9?M5NeHQչc󵜮Z>5xOĦfݢvhú OQ<jq7 Ȣ'` [O8o>ާq~Φ2vr&`{2 >Zfn:MXF]i_6#u w"ng xؑaݜŚkr^Ⱥ`E 3?4~66;wk犳vjuMCsξޚ4!9ƨ7/X&t{`e9Crl"ᜅ>횀jY(\ {梯Y-`9_[oƢC>5Xy5 5W)&i17(.leO/_QBt7tC m/7"6 Z5Ƴ qk>h2>P~fnBx; OXʾGpy-RFCqo U .4xp7 Oǖjg=fռ wq#UMFnI<"bv/ wS@B@rHN|!+]RnZx+qfssh: Øk#ˈx19/uQNiueT[ ] rng !.mSԥ۵5=nCw}[7l^S Ƒ;ڛ['2TGGK*IJ ()N? !AIk^[\Ap½&P}5AAXop%479jdho fAhΨ4΄WF4Z8Cڽm8r#?B[_0!sT1 ̌RL?ƈ/iyI2 { 5"b)ЁSI }ܶ]3Q%{ sT wgg;nz.f+ G&f7 3ljDdmd 7m;f4^opJR< dyfa*yTM#y(ouL杞 Z rEb5nءь>d״wkD hcٴ=22mҙ{_`IsG)\gD&oJ+=6q S",$.:=`XykC%^帓$bZ7t55CŮ4V.mԷ1?lє36G5x9G-2dzTL Sv1en=(C=.^5i T˸>0~'$ѵ4j,~Ȝx2a[6^'0iGJJN;zX/xaTSHm`FR5 >1)t:R MӓmrWg byNys%ш)iWH"ി k)Sif4IPpuo0h{;@Vǣ= `LzsL5B5Z|&<0r)7<ռP^9eG5 {5Tk5OP܋S9$1h%ތSF(GybsgLoES`j-Ouaͭs~?*lԴ-Lk{d ].m\ ]Fn7ʴOLa=2O f#b8첧kQ w7Jwq|i"GhP!(7Pp{lLxl tcY,mUO& e# z j<.N{|WvP]K}Y$!H3Z^XI|54bL#DSu+qY>; {84PN<]2^sKsGjKՋ>s? `TaVAh8=F$|F{G0}bgہD J)v*LZ#O_s'«&\P;׋ݧjpLPڃK MNݥӕn6Nos:Aoa]]i0Z̩'L rb%\M"Ne߿5B^0hO4ulѱz.^toW𗉴[Y)e$Z,< V9EK9X:= yAqfYeAw hd2+XЌ>s/;S2͏ͭJ0'DB=8LS7Y[NmHrL%F4e~`FxX̜fGZ979" ⎭c2Rf!yUN7CfkV钏W*fnoȫ9ݵY9Yli:n|7 @>KP)^WtXIudj~ux ۹OqELj+u욚W䙭^ac.AXefHP !ḿ;?g˖0 zbL~,ޒ Ua>(}ʆ_`7@xϝF0CtIYt+EzUּSD'J+7FցI0Bܪ p~AWΩ֝y1ͫ˻MQwQꚢW۠!6q5k="zcdoSA1# ]c0P+j[>JjM0:+tzXXsѭeGOŴaeEZNu'$zY%ګcWLˆ`-rbKzs60*Zg1ķ,z+o[taḘ?bao P?Xwg+.^i6uze'͓b$1h~;x}peY֚@ ׻[i= Ѕ2z xeB?rɕ%M]ME$#+#ICn_Zv+G5o$u * ŷٕ@3 | Hc#@K7y 8O <_7CۗX̨ nFݴM_7лqPmpf0U?/:Ʃ%f@0 waH )HH'"'+Ȥ߃C{jSy4Y;c3iac<~: . U+s"I1u L7ZtE)ߟTtGsrW1}=k6fpݬNIFݤknjZ}(ھ>o%?wLR(.!ix(b hSE;~CRܩ6!k'RD%DTȉ.LOhlTYnA5+nY i0KoJ&%=sghY}x(UgKV_:K鼜M17iZysmd/uu!%N5*?zzc:Xq!9~;^ 2lZBݤ ]lt]Si:(vꓝ-"}%^:kq::3^in>C#QT%DYB.8'yj2hHqik$S{.d6F#}HstZiroP9¢{ G gb[n>!pq YJ/cKzr'$i\7<7B-ZYJo')D\cZt) #Ϫ(6`lDKk6lx|NH^T|N~sU {t! XA濕ZҪYt DBȮD)PDQg>|U.fQLp]YLmApe !>c6hv 5V?.O+)}g}H+IM6J״ ᳗km]o0nL앬.D .CWZ:YVb`Еq@0g-uwe*?VE #LCnֹ d:!=aC: #N4P}#/wmQR:m%6cyjUP5@N*ۻT|XEwGcFaWeV06xE l⺗Yy @gGTb7|EqZKYΥ,!ZXy; O@,ȞDTZq1p{f^7y\3yCx1I3`'h,Z_(?5J'XvI =iI(jA6 U8[NalPĘ'V^e`CqJ\zڵX` L`R*myL.仝0i0N&孨#OU;m]AT_]e(? yNLRN* !`c%4SA&}4ih4C ; !!|t̕7zQkQXX]'*_ ibd_'}{s1kh"ORg+BͪSMPq挷4G Vȍx0Vt0I[c8x|qO;eJS {p4?lUg}_4^jIY5H,ۏ˞UR4H-Y;/M(Bs<;b\n:/zԐC9g@x+߾PIj zh@¯VNV+ί츻r5p)MZFc!] ))Ѩ*E+ĩe@}W_ZJĔy*:WM+iG̓lÄ^GX]Tl2́Ehg~y mą@y$(JrvvWq_sR-} _l/ )'C.#dL{/oN85*]cT˛+s.K&3o#[N\]/iԦ@EEa;?tm:OAqq{`0a{Baw 5WߡQ#G]-{I).6y Z%C/XtnǽTбa(hI |)lQt3M 6" #[;y#*ú1NOdԷmf@"--s?7vQ^E0$|7C반+zEN3/  gQG1jBS)'a`?W.1=m|m['kWڎS^ 3 * dJ?IŔ+rݕ (r2kn{.x%;XL4'ҝ!kZI>6T>6/zg1"GtHٻ4.nc7RjW,/ 0%90Be6JI "IQߺ2Asٴywn;r$F[mF0ȅR,*$o&S+;VD7Zy?Lmv+Uˆݸ(F(U= 7# ]bT")ц6va_Nx+녓qlv\j :/UbU;")$rN_2,ί?z/G0<Ӎ$?5x)JH"0O5z.l8t5v9rlv g*Zj9"LÊMaZ· izu_>B_f9`SJZ(Әz0:NՆ5DǙ5zY7+j*tt 8 "~-`Y,x3~tH>/+:'=\Y,q^T $)x KHnU0 b\_D)T^iݖA}Iؓb.-ћȮ353y7ޏGdуd06v` qpGQ ^Wu^C am~x4;`uuA{6j{;MSץHtqkPc\@xAH ݭs24eIt7^EhҨp[ZWFY_~;)I Dp9G Udxѯ;ԛ\TcQK|/w[it=OnfN&Ea2h|w)LD 86dyh/T_b13%+T3iώ|5 ]]l +³뙉#8 X13rDɘt& -Ԗ0%k \ɒ!`\? e-/I(Fzhk!A3@v,kT1 S"s1Afp&ݪ9ݣf@a2s]=4:>)CI;0׬xe\3SgeȈ<߉ vܹxcfm?3 Og8y0Qx[˕Ms1QޘXe$;?č4 wD¥~)1k\2ҏ!rw=CU4_.#bibEdI$O"yؔ?:$5$ A$T͒Yrs`6&d^uӈk `&ӭ:8Zú3qPѨ<d?κQj‚I0&/RjC$BreAg8̭Nv2$B_HY~Auwʡ K^x=.-+U\gbӭUD~R3Bk`$;-w l,!#LAΝ2vfSA45ăTt@CěU[[[ؔe53ZaN[˰gU},_>roNoQ Kjڙ=E݃l $JϹ8+L`<^N^, Bym4X}hLGDS.q~l%A3դKŝoJ<]?UMoI%tGj+(aLkۚ wIFb +ݗ=ȶy \q(wT~|; xUU"Sk+14 /GpD`Y[^*bYd輩mZQ,PQ¿lagֶ1BA) ]0Q bN *p<ښ= ,t&UE=!(IN~ z| %bHƀV⭦G`G dH̆d_yS(T_݄SսTW*J6;.jq E$Jnʌrʕ7'3$}Jk3^^v^^KzӜ8ÔL!{fUYAcґNJyiRC: Wp%$!sG VlG͸D.*eBw{g6+.(u}끋Gb- Cp+IYJA/qwFXnc:'L ;q`3!Z5!/y݂_O_BmE\ihŪ8Y N(oj=؏>ҾĿ`.^ ;vSv<A\#g pY&yIbKLDNzR(ЕN^]{ʍ2<%S%rT֎9vj=Zw) (3/ ﮛr$2@< ei,x_=F홂5(.Yc5  /Wgmpt׌Kǭzib Z\wmdZ,΂ n|| u1<|z[;e ʝF& ՛h(܄l$! RJ{*K.fp uGKb)w]#HˆF|PbX^TQ΂Sbb?ԙGNs|'G+sFBX%ӁȖF6L@"׫݄ }K[6̊sv:V l_ͺju{cq i0gQ"/ݎF5R$Wqx<:5]&TM=8Lag+ 瘋$A@6DWKЙ-(*DcGN:QkV2ǎ!('ѫٕPmz$P22 A9iI8s 5P>Yq/I'7,\\fQQװ֐o~j/ CȒyéA;xP<z_.@lb}jq9}R#8r|8YXXºae|dq֓oVf1'NA w~f%qzxgT(m/pBEקd=C9H][_eqzzS xܝ,#u+{XU[j]ISbU9r1{L/ڦ\Fq`A0ho>4w,he!Ҍom dïpoEKVV/S B3[Oc|N&q 4He\κ//v='(""i1͢ . iUmʗyW =VXrlT~M&`=tMGͧ(;,rC&"hzSu;b6ֽ9ͳ-ZcB y;ݏc6G;uapgEm5:f s◖Vu҄l澄YQ*w9h)7:=rx򍩐ABp&mשzaX+fp_͢_.Z.VD ^ _iT[icˊetH,p{g.`ʹRO )r{{q>u4>?2Зxh<; :ѹڷa%b_&g&ﳞpe3H ~ K. G zthp ;4J>0&5 b, ڌb 4$aܐc11-nQ|\Oc Nrw8SiT|[@&TT7a}>E6+ܜ QDG}Mj;9yLZp얶H_Ie1"]ɝH<x\t5'1k@U 7oh_%X2SI Qbn#ZԐ$cW]#@V#`z ^!޿r?9+H9 yKCwDV=21)vn6aE&r~<F.=8ˋ'u&F[]F1(u=ǃU͸9 !!%*ٳVa2 #&uӳETBnGn>(\^fD8*)`Ba<& '>9`΅Gx'=;y .!RJ"o \+-o~b:&qCi_;lHb]dHz84By2-s0=s]Q Ym2y\b"zrC*c4.K5 OUnɰp?5( sC >Ē><;iz60F~N{y躆U۹}Ο w3@qB-~|MF\}#UVJ@q8 EuI_u+2}*1&ƞڝp6G_/煎{_tjkD3|m(1$dW$J60bcA1!ҋ> I݇*}ȍC6RKAʦޯ(c(1@뜼z2}Q[S΋L$ȄԘi X^=m1PQhWeHf}LZuFU)j''PY鄡I.!ęCh 8>26\f^W{ab̭HsK>\n2b[ aӄNqz@'쟞*p{:BcN U'̤)qCi{#NTX4|]gK>! -^ĥ˼a'<]`]μ) ATETi|Ter)v*dY ::ޛ`Ǒن3XF&[6s~Q怹x\פVW!x5;$s Ԏw%':gAln p_mZS\*Y"dy\8xWMlqS_+{OkNhM(m OS6sw}Hgϕ*1>߮Rw!,{V_+"2dI6C^Ӿ/x 8?C'ysYi'YhoczցPظHB_}azc?l'qy®iƴ/JCPP ֠dsm1A`\\ uqt{v] Ws& 7DEs4jedw8MfE\҄ [ q7jG 3&PT,ca$3(r~/\Rd^O, p8_ф q밄>YB;>^NɧW}?n܎mE- .7)3\9zu!-g8InEwv-?l96 n4`\rM6 ){Wp;(wMӤ{:${Ca(ckCL'THII_V`=.K3zckM>eVdqnf!:c/5\cl A(H)IJzΝiᬌOYF0K%GMҜOJI0,za=R?@ C{y4XZ5䪹z.NkR@#a|b޴E2^ ¦}dm~~RzDv*5_Xcz[7F(KB[!c 2eiêC)Fw 7\!@}%p0N\n^Nvs+ qkn@rMsoytmBż,?Vڏ›h3w%hsLubx@h>3N{n ׾{G{{RNoR?rX_'ԌkFɢa$yx$*S3sKǎ :lȿ:"%y~7q߆=F > J1̝lk De[Zod&e@yB&}B Ng:^C'ËLHlՙ!+*#bNCx]=su-q w{Wj 8U[ejiQf{P82{NXY%@%~.P dQmT>EorYp}&Dyq_| QxRlpY21׏~|BF^& i8,PD%Nb CN2L+\i2@Xё.xV€=Zy[^KtM / aDb׹8lxn[N7sD$IufJ.-S M~`Rs*2¡ 4P:$f]/t~ڙU͎ g5\xj[Lj-OE eOiF_5 @ k"FiH^nV _[ECתCAW.Up##+NٛY?qffǪɦIQ[~Kj{C> :%!XoؗL:k?.I/: l,Vb^DŽN`TփɀO'_5GLfʊu">x2[HsIh#|Q~Wq6$YG!s̩(s'AGFVFESE ~3q%w8t*~~>l4#ac.l?Ryou{ ݚ>Aa5m;`DRӼ!тD8qY|^M `H}+E V)w4>zp+]Xl:C+3 )j%dZ{$=d+2$6uQO03to?Zi_=Lz ^)N= |ؒz)ug:F?uurl15& !"GyqY pp?ț Qxˊ,&U6N9}H&k+Ky"ePrpf$ɐǎ>Fp *QܑY"TyAi3 RxlvVl;Y5{~ȱ1ܙzVr{2Hj|!A)k-=t'Z.w+B7C{.udrկV Kz*>1'r^61)+(-ܟm]beA; MVz&h!)@IՄd@g+s{9>8ajL汰*ne84%dBeQI-Hnu1H:`ѭ}&VSɒJ߰ہP-_HwB1^M,Kb1v{H HG}\ 02[ś^l`^p5LBMOgy( ȭaI,Xml(}V % +7V̄oȕI9Q''b*(:]l -wzbd &!1\UTe(ﯬxԀiUa~kFW)*# k_AyF̗T~%Ѓ99O5PxvmEH> _.9D& M%h'S~0^]6 ,”B*A͸3V+j\ h7DwdrbO, âɋ +ԯ\]B[?mP%d<-IJ]~x%RT<볔F-²~QRG\#S8d.A^Ua>1zS_b2!&V®sKoxpd8단H.(.d6Z'AҺ ljҫJL-KF;rqmÍ{ 68R(Tl0ih#(ڴhgCM2oykYU=wM l40tiX[/ ׏jBQYVqs4j$" ں69؋ϼЉdT>p{J4r"]+ $Y(Z/Z8FGGM)#37=L  Ŷ[*XS-UXP`qZ@~9|/]ַ0Pig6)En}X0{ fG׾WpdyA3;2<qB)'L ]%a |VMF7ıW ɎIl]A̓w1/HlM $[Vī~~Q fQAQ/:hIci >(4X⊗efT=N]7A[[F\!IcH?|܅rj)t,-`Yib-̞ R*(U`Šz5|lC5+;>E) RKvw:=Ekv.ΔD9}c :Sĝ' x8(AظZv%%RV =hO5؃2`!Q&@Y+rXsr)Cזqz(?ȭux[N{cWrz"@`808KgGSGgexSu6ZҸ}u̓3R¡b_lEs Ky ڱV.O(0t>wN8<|ĘΦ pwPlgѴ*Ze߾oǷqVSg,kPl| l~yqg;SQ/y\~:..7YW]N˱7:FyLޔ./Lv$>8`"ýw~Z$:SKBʜJ"hR(59ǜ3,; B-6VpσZhIƥNa`4li|y[y`4<ܒ O*z*h vK_%p&=/-/AעHH:,Lua>8(K"Љx8g{Ht{n^} ,jLt(W`KI+/WZ<$d@Q^Ab߾]`BbE:&e͎, VZ;_~0 23O`o;kb &CL,VW:R kƦ iH!#P TМ 9?OICV2v HdPep[m erYX7wHÛ)uβ:l ћhne6d?U^LlW#=FMdFTW\w/\$LrUN<Ы Mj3,Ы11WH3mXlӜ$pre;i̧->iTpϤ ?)ۮϻ` MnL,^m6YCF[QZm3|lg.—3p⬾tiȋLIlI5_)Uu_.܌=vb~n3X8 E&tw6h(s<Xd;x9q9/23_I)%k|uB)a4Aqg7dRF,7OSzڻt2=T2#^;Xl3{h\^!ҿ7Zm Nz p޲^ jxxZ޶!o(dpv%.| ,\%8i2N~x%jiYD WpIc6ZVUթ4a]{"źR*E?v mNM7919}t/Z-B\h-^ L5 o~o묓3~A+DsZ,gift}2y) J!lh4=Ym ՆÚ^4ڪI"[t86fqgg Dz<ti㵖/^Mz_"\v\cRQ{IStC2^ʹ,! b`à l)+գd/Yy({{4>OJ'1-ghh< xGU0YӚL>U9Nu]5ZP['_d?A];BsaRya,<2SN+‡V7P/wk}80L8nsrO”޴UBCTy2Ȝ1S IKqKk'`dN=[TRPcoD,  ('[3`%zMlClYyGtOR9)&(Pa.ifɾ+]Ĺ*& `KkO"Y: $.ڛg;z"|yz <_t PǖN!1[25U輆Rk>u0ҲNxt]-}O*wNtJ_| <(sBQAl1j`d M7w.ԜNHv)>UY̔oS*ūn‚xٖ0&x@Sf:*c?ٱf%MIUSl;R2ʠ5[kM՘Wɹ,& z, -qQ1L; E@ld-ĸݰvw}i a {ٕ.Hwe:7 aς"rpSsɿqUӀ :zrC7m{w`&;_ bq@ݼMIu iYpv.Mݎ;QlrPd\fw$V\N)e_ :vYEğFSk $ M@n i8FDֆۧZ7+Ab\-92Muo!5̞L H4ZA9,o)yO0drWHlzWC{.n+ɕk[?ŋeA9JGUYC7_@([ FfӟwKћLⶤJ|N?ؿnwCb o,5-j(/\}·}noP4k#Bg׌v;Y [NW xA26 M#6- /+:̳֏GJک޳. |Ј_WQGx^T~ixR a+QmjփWa ز̟ |VN`@=*۾̲6E$/emL 5B?0 j>>R;"tW6'mp2} {?F;kp=QJrسcЏ&؉t7abɎx9f {K(! :Oۇ^ f]T-|h3 [}SN%y/s]=oJ~* #Dkeu6h/_xɳ8Q=NQ[iv :b-.oyT!X12e TRjY2;z:W' l 1%Q&2txANu7$>=ᵳՆ~2@u͟1T%9poӣ4VףO@j|ž;æ0&=LH."/#"=D^YWXuiE58"3VhQbSDe.Jyv@|i6%'#}|@/!ʠljΪ%޵bYOk\ S 6m3RX>y1`жD.MpTZUm+y2=Ŕ\$-~lRT |v|G U;0 ʞwPkL=6lET-nBqB_B7i%壔\L9Ewv?cktsIAjJth:>@< Mf$(Wj{xG`!Z_EQߗW،3Ȉb'VD-7<꛴r΃~Uґka*y-Ev=ٺW(k0-Y7w VurFEo"j =U¿&J)LA?,_~0QkL W/9\6;"ǺTϛ+2NUŒέ ,30$*Tf\DH?9MrW0pkr,k0T-PjU U vIg {i3q;c3jZ\m-gڳx$CbnnΞmYU f)%Zy_ :{ISJ\8|e/dZ:InH|"IOCH :޾Jwcx8YIvY9"8tWrυeL!r#k,e~e5%Hm0Dvea쑦bO LB&q>9!"[Qs(mJIL=B};6}>`m(vϺ<|/$OYp"1HwP3s">씕Ln͝rokɄ4PF"ar O60` O9]xC7W_g+<'de`u4 *4 \;&cPb:d[T]b`#ve0և9Y"HY;)we9 ( #E/?{& w(^PFt.{_@T3 zۙP|Wfm Mm((Z%qũYP  SӨ-뇣xٙ7`[TuP7oBJFlޓ4β%G5\bB@f-fxwu:n}+R" riv2B1ިLHXkQ+rW C1d7FS\>bñhn(`g@Ub>Af !MCi$qK/0 *xiW2޿V1M`xWCm'}0\=M`%i{VO3Rzww~m2Y R^_D|K1g/^J>Ac{ҊT &gZ& FŒiLOZ )&ɰ >/rO"Qn;n%.O?e 8O6: 2ȿX0媐F /6lښ(:rYB#̅~sLZ b7Iz1IY 2Z!W"">\n/7cp@p#LR~w85Goe6N&{~o]E+| ٯ8i-h +ƌ3.Q|C m>gE6;75apR\_P0x|8~,kzU⍳+_$̶Jp=v :!PTA#q,0x0d`$^DW 3WF]F@ Q/X|r,P,7bt}g4M? ~mjEriOTwg(%@?z͍KweO4ʞkrʽZ%e[߻pXRF\pPB&|Sjm2=!+j7 POW͇;ETT`^Sr~*8EB%Nz3@*nd(]Ӕ~֬m_3bAP $Cbblz+,GꝒ$5ckJ 4Tb_>Z,Tf~Yʆf~a›ִu̅<1h0&΀ -@; ,6+/>~IJv 5IIȟP _GHfT cvm3{j䋎AI@~!18v-FD$TY~;jS-9'$*5VHIwYb뼈 +W f^ZqСD/Ţ"U}@:F,5ozU>| uz|(K:8n_#OmK)hFwgK08 kL3QF&̠T@caL+-vRLqتJh cS㴻qg푬T%qs Mǀe-/\hW 9:[^ [}sdXڙѐnsĤVÜtd{ n,tV[-E]i+OR/!H?hnvk}o\\h$#XSsջ&ȋBQeZYҎ;޴eG=ٻG_VWF8v@\E=m\?X%gd~[v?}HGA"a=*ذ!OKʶ(8'y6[Vi jj 0SǬּSu|\~N\8 A,hOg #xԹ&!hZ+iáB{Zr86Z34>ercAx>d'Xif@3 dӢ)fE>iۊe^sMn!>< 7>/&[oPޖGzwОj4TcbW}^emoMш=R-~5gRqG~ZGe5LҢi&ڗ;O fE$`dL~[J}y%i?,7"?1:5W'P[jOh uřq~^\g,Nޖݶ`X_Eܭn{uR]~xDFٙq9Y;`e *`T11P{ /s<Y_yցYA:*X}uG9'ۊȩ!C,ܲ Q,&fu1G\wO՝,3Wj䦾3h8^əxpܱQ?NYbIW;}g EJae4廋r.ܶlV}wǑjۅjkI]nW7\SȶH3Ngåh/q%"ƷtХs&j—JO'5-Ki;_?ꇥa6Vr_ЁGgvsUaR9%h8)#\t.Ah(p45M@ֽCՎ'`"ӌ}I ޕ)Ѡr3NPAr$S!բz(yxm7&:A]񌭈>z"mK@%)@9Q,A?V35NJjԼsFڴ&,H[zyaaJ7f1++ŕ&k@ EjI?,5>k &uޓ4B].*wzdoz+d8& {2i" Vic2Fdz q6x-qh+uFu4We>DCf(=qnPwɎã^B`>#ʐ%9Fl U͟u>ٚU/Q{GK>ѸMLqifƠWuSZBf9 76y߰6!﯍t[1w#Mvc2G%?R}ː o+}Jp3Pfx 3il彂8C`CW$@Yu,rpw*GUU˶E&aʴX0ȉImaו;b^=G\-{ic0[!tL0 NbzvuIV~#WBᛋI≕LUj Y#Ǽ,~19[͚/q!γ Gꜽ<^ $o$ÈD%Nc4 g5._6[KzQ"ѕ=|iNUq\) 6 `swUl' 亟9qk&"Q b,Ɵ+lՃ˽=Q 9-4=m3kEq̣q@YنVu_fCrI+]:Up" ކ<$3R) S}*#v*˩.ݩ0B|slwtAu)Ic#MX k-'dT4_0)=Le}XU+߾ 0!f2hݶPOgOj@q |AdX_rQiMEƑ%0.֋`ƌBO_CD^v;dT{xe+&BD5hI93fVC5wv;xEH7}w-+)~&ƑH'!z9{HgϋBRb1 `mc5msڤgE2n02CZ6OU^l`5[Bq 0E{{kH m29 IГK|;ON)n@K5QH4bٜ5{4-|$S/z<0JD߯+832bG,4YiDU>+( ,2b?Wg PP$W1`/< sGm: 'վmW~5==kYn3 b.tAmZe C0:I(^bi![ЈYL{"vt|TDhHrw$eM;,ffp\O0 Yj-* 쵪87݂7 6P)7qﹽXOFq/п=&=U,V3Ɯn3İ x =pɸŀks5oa y%g=VCF4x4oU/aw{ iD@NK~^hOX]~"gd)`<,4U<1'n K?a6+e}n8yVs+"~btw,7&X['M_F7 x-FAGJ}k騴?=fq.3᩾3.`Lr&=ig|&Ed":k tPMo7>mf!hT^rbs)}¢ya{ n48!}+{/@6' *Tl퀇_ׅ^}jH #6}B,itivN|dPK"ߤ.jm{܁LIUjo[EE9JpUmPBO`V帴UjOs0A8}5X˅WsL!bMcW|LIw*d8Ȟie~_Ύ=d w\Hr^|u4.__wTNG@>00:y 1&Nu7tsy@7d^NԵ% ?66 7oU tҍxɠՖM@Q))H( k1~m2kSTEQE-@Ba*x_;ޔ[Lɏ H?So4ibM#eQkc@PvLaC*`T{':{$ Ɋ烣 !vJk\F"DNs[bIAC&!Ovòp2ED@+_2NuB'y&j0Ed^) lsg[J`}3q5r%BP.O ;/KxnFHˈ~o)Ceόf{i1F͑ٿ ^ԬQ|=rίgQ$)-N F2]jZ Y2#A'8H"4 ֊F<x",w7G(O❝ M*&36mC:Xa$̼6p"o'|)V ^~2ٵX6._f)t5wjR`E$#mf5֛Х629,n1 } g7HIn}F[}@5Qk(\ ave4/C}Jy,heA *.I4Dy{O?.kla a(wd5jN=Fx+#CDL*g$OE>t&\cř Pj$}@Q/ ʝUN!OIwMviqP.ډ,f{OFx/1?=XT ԑe`'WA{3{P㢭\}_b!Ř,G ':yխ f |8hq b2IjO5A+k mC-eL 6A 5`xp }bne)a0JRbNGrSt6#SG;DٗCď!o6+j)[1ezy}moR8m;E_%I9D̘ƥ+C54BNpw{s%k\9#}dJh! 8?6 [:~ݕ[;'u5 C>u0ufmR#eR( G)׸#KwٮvL,\F/Иϑv̆c\#ViqkF'`!+ӱ&޿HHȑq˥1[P/D,a^&l { noPw6jc*ҹh-pTcc-sΤ}İ=M3V{Z VX[ї)RePc,g|_e{)VD2ϪÊ@A.5eT" ;\_3f]پ |=ai7jQKqӲw}RO mo{ 5ޏkG.ל?.SeBU_h?4dG6/1*t  ;,lʢ?_Vz.ƻ?~Rc5UtIT8{2yTc\B!-n~kK(mz a`5#zr?i/ﱔէ1R ^(XD˩ $g!5zįS$B-k*x$/!06֕ 6N_dCvd{#+@1|"XMN9o_e>5fʝty4 euLWp 09:PՐBV%Dc={=L(iGyQǠOx_o {>|&ނhrgo!5r'>Okj *$O):=U[s nޡFX~x0 6׾@*A[sV_'Q"~,^'1yWť,LQxoԀ aĸ0vzf+Ŭ/Fe6Ps )SIB4Ё1n- FT,6]uW󎂇"6m`#An ܇/{[I&{pv#gF!EBⰎuhM﹚ zw@2/>OxxeDvt}诽=6?!Z lòo&2hi F~(/ǹ;m0_nXG*U[9$jj`R ^bu OB-OF#6I8-R/Nvs{6ݰ]- :Ђ^2쇟1:'AOFWET>Dk}+صR ,scm.sj(>}w%]^>>RYSVaL9)eb;MZS&~()Ӆ4uA`J/R2n{d2`V_񣽪v4%>ZjXi$}'0~۠!+u3]N WjV0 3{ is/ѐ ijِVzH;L* onm^لZ#J[8/8}.D1Iץ9$Ubνf н騝G< WĤ`l]=pJBob`KsA6h|, "k1tH*A0](<a1s I( =$gJ= FUHYɃ~<ɫoٕΊ 'X&/[׉ԟPbR\Gy?$-]X8%Z~НҼG1.?T?A1 [ֵIwknºPjR)3-2)M|V¿_%(#Չz \sKqo9L r[o|JgPZ@ܐhATI snQ>ZM$wX0PkQ$<~)OVXܴMlג;ce_-u9$l VVq%F|G6"sd]&W5:Y%M֑!Fq'Qn+o_'ZxU"b9N;:IG/DQ2W? mT< R7BVV%Oy76X j 3h:NYvXa6 ~>dgxЁ0z S +@sԙP` jBF-[ X.3~:#=Zn{V&YG{;XDն%X(:7z1b{TeK Tk`$)wʘ[Nh*T^#~=AJlUs5"&7[KL 6P?Fb1ᘗ)qVe|Thd4|khl^Ů?D=m1x}z-y*C9Uq}ER5 -bwj ɤW{RbI3 [-upQyCK ѢT0$|}?O༴A`kWшۮͽN?v ZIʫdEKk HnMlXOik=?P#?%ż[Y ZR]SE?K֥P]cAĂb|ϑlU ꁾe$ ^r1a@*(>^#8M|vOʹt 넃e2w1I>+ C 4c-Gխn|Q tO5U_G[vBacl~61Eb×Њ֙H:U06- O[I?xXD(An~ufКD%+ZoDoTƚrQNP1d;$+:0SRA o)1=EFsr3ݷYU"\tzf'"6ݴ.erzRFE3$'>QymGl{+~AJm+RQц[o;Ubudjk2!nJys# Y/îj$gVxN+? FQCF]Ք\❥^3j)2:s%ۅ#e4f;'8Τmn -Psxҵru*h Lxmͅ(3ƑD`;Kf`\Wzq+NsTnm9ppH\ܦIaZE?v5sWH}c8aiؚ' `QklCt_=MΚÙ 8;]YX65e>}l][nTptJD̞,gfK]PBU`SXL0jbIZT^>WNMaؓ施@4o DV|cz#)Ffڧc$GuPQ«f.\VbVe+uOk|D/GI .rh8WkR=)+V!/aJ& I%"-ΏãC##qfZm8^`] PK<޿|+ϋJWup GXJF;;&`;iWXfrAiWOcnxd}+j8ƲHNۉǖM96%TC%ȟb7-C-ТWMAt^,{eDrfr1 OH_GrumnixҋoiN \|IwOUeߜO\acjQO_$ue,䶈11褙BAY+^4Z'CoAϊk\R"q"TM=hh1g\"ZsO[*ePd/_.B| ڴT:8("c ^^e:ƫLP~Y:֑N ]1L9!e,n 4qIj҄0WZy[Q?>1~zē"ld^kk85El*M%x  2%FXeqnD-wy>qc,M̵`HV2iխԶDȆ#AJu,dҘjx>X%~e\=:h@g|[?).s #V2@-f5WꇄP7ϿU,:7*2k 4F+wH. ҸXp @rh0\e=ߛw44]c tpShݞOQZ`gfݒfQov.:qq}s<*I S P2Q|݋GP^({=j̝ X";['n Nb@Z25nM` )L2"&}dcA^E܅<<2> 吢k&I*@?!G(hM>0OB*p.)B,tBJB) +&v[9I7{jUW9߰:3fXnAXiݥϕf#Q՛kGmٱ2WWgӽo.;iʧsMQ+Dp\/f0R@ x L/LNEJ Xg hܞ3:mxB`VH41 wı:[E :=I;w–EP0bW;%P3:` :V4*%G2{[~Ǜ-?o(-'/E#vMXKyaI8F\PM#˯ bE9afr`j[ȗa Ey#^$f)ws>Eea^ pcB7Hu*M'zP CЩ(ĐEpJfW-!Z&誗pDSStyrPh]Qu9;TbLhx7 Ři{>&ӁVHmZ%;Ї,`7 !L-P[C&86ڦ(KuzUHi@o|Y8jm8N.X4UmSLt-hSN}uz(Yq>@18'(uA\hdV3JjӨU\.l qz f%>Z9) Ex%Is@}`y@4Ҍ 4t#N[_&Hy`b(K@@hq95lp!56o替Pi

    BqGrb+;_!M!x' nҙԐ;Sbfm4T9yI dK|nB:9(?Qh|Br^_ ' 6ի/Yg^E !s04~v,9Dj IըnN¸\غc؉ s|wΌ ỎMn%7XKq^Փ-[Q1+ȸ_rJiן1vQ:eE7!^˞^G|q2v-|30<^!{<*6c`@S<&nʰbbzs19SQcYXug23d~ &^7f:"{è&Wď|i!]ϘoE&>K<>QȌ@ e֣G4C a` ؐ5I?n4X+G简ߙM?Nit(i[q7̈lK#4wq궙KKׄ,`}Q|#,mǭ*5s@hXhUr{~'Ɇ r{{ϏW_ {nxm˽+o!R9c21yq%M:3ZeRE.;Wn%؟91*՞=5w WeJS. w𗬫w*һ*FJtn/l l*2F&iI͢:asW -6k.te8mȊEZct WR鰦c䔇JIis=;Ulw@cA䷳.5_S*Es]v dCrs=-~B5ay_L/kAS S?Uߧ0KӦytWIÙ9()$p3b.GI0,<S_nKi^'SaR2(.:AFI#EQtNU=^Y84$ )ILl;vBJGM-a${֧[R%Sz?%hEhe-:zdoOgsKH!qiE7Z{fOŽ}*<&۰G6HP!lWom.S4ٍeR"֓-OrD ދ_emlFi?Z_uD]<e7+40w{]Rqu M}nuiY WEP߶g6c劬|@-6цԈJno m6>W| Aļq) 3Vb:#DEnBLcL}7",<&eIZ (,ZW&g S;]>&/AdmC =0 O#d\[ 05Rzr Z;==K5;#~:ٽ?4ɭ&ӖW::Ob`⦷33Hz᧵{`b"+vXW:g[vټzl}\sA!8B1tZR‡湠Я31UP,WA/D([[IJl%3Z~龌x?rBeD]ZYzy +5&[f_ >"+DyʮsB=]9pgHH(T8⣡>2{Mat$D}$KJi>^! N`)(| ;Sh21gqںʃy^= `Մ+:o4\ N]؇Jы%U4I[8z 9 !/x%Ί V0~ v<[9CX}N@}A.D&j/@GV̽Rt] |,+jDԸ ߦ,dpOzMTYHVi,5XNY grV(4?#J֢Aߩ` \lsӔU0=0? Isi?i 7!K >Is[l\,7ez|^6)E5ҷ݋1FSú7VVuDFs'۴;#n[)-bg9a+a+P»kkj8]ØT&-.^&5pb!pɂ;R3U# 'ˏ03_!1e_q4|Uo (L`.2Ec]3K@zr}V#Urܦe2kDF/Y2֝/J`OȢ'HS1?'PKH.IpVRuj#{uKwc?,obz3P7@Z¨˸IFU\zl1YIի$BRt\Z|iE|`dM{4JWRaO٭+64lzr1jpB\ k/\#HY<>ur7T{CDM,cڬ#c#O Hu)nη;1E  yqn_> Ts}ԁa`ku Wa;c)?υ2Lݛ`g MEEl؏E}5-Vau#d:6V¡I x53U qJAuY1,'J\AhgQe=alTm?r"UkG,ۿ;>88ysXRCV[kS}Zʭ|wŠxruS} Zz{3<&r"ܯHCyB y >qI/DXe;F ,ov(iu ?WB PDEa>20V f>&:d3ޑ;15^DRk Bq՟F[;Unixj F 8w}"`N+ 9Y 3M( (ӊ<%4Z(񫣃M^5ܦ(T:#*}G5w;~0d+TEAƯ6l`NǴ#:$Ue'-7h~B 3~$M)@x2Z=ԑYۈ;o Lj8"r(} %T915\ٞUjiXckvo0iyW#첊O, y\%EF\8ޔ)huaԁIL9NbFx Gdh5ǦO-}:_TV4ŚP|?z'-.@U#P2zbչlj}UCU`Ŧ>+nQʑ8'I;8Dm~rou:8F㼲rkLO^{A GkY2ub-&S?!ґ4dY Bs )rK6^)͓ԁQ_dmHsCݺ;>򕓈V-nغxK.w%'ه{oZ"gpBgz$@ROƪ0hB; QNՒRZ!}_B@kG{S]Twvm |9RĘvKTe>-Bw q.C F_ms9#?ZḢ1m2=/񇑹ߤ ɽ\dj9J OStRq\tk⍔`k/mFxP4|Z.MT&Ge"d?- 9PORD)~ 6)[&E ߻(rY©QCgnF "#6 E+YO4,P690AveSR3TN$ Ӵ"D βўyy@-E wӲSOIAKX$cV/8V%l0'a<=nsXXHU>;.?Qm}$ǝǪ A: -(Y747J4fmi5XȠp%l]gv3_Xo&͂od,s~_LkV!#73@M^p%ͭOlDt2Wt i.ad9[cg(pl?,Q*t9Rg*2sѨ8aA?݈P!fIN ,G$_! 5wKc/nm!dOfAIZžaX¾c1W%@ˠ B̤D6x _& 0xQa0|j7H.9:Р°d 3"vr /Dsqx_xf/YC#Ak%>t8 MރRCF0,^z/@b=( fzT} @7Q-q"[8 - SmIM5wWXtF ܳ܉ !8R.b.NjSlՋ.* 6ғF&K6A^OeУ=GPZ8Bd&dSDE_wj =. s &m/5 wr jC(ö_Uk K)zrh9Uvsm~gnփNdsG/!G_0RES#݃tzԮ]HڝUi-T[r@̲ވ_ۂina o*"uKHJu2;%ƣt^R*Wai W.ߞ%,%Θt-!@lz-nLX.k{U7 /7Hw8r(Rfq'r$h4RwTCs.˄+ꚋU1<õ2,LcVO..^DF's'4L%%|8%FT|:L'<%֗ _/- Tx 92e(L i֋@ĝ_h|+<ݍȼ;ڟvnuۣ# Xciĥ!=YXp؃TfK|GpnC$obԀ!&FsǷ'dS2od^Y!AVa7[4[ɵbA3>p=t&?g [0-˩iŸXTgb(4_?jka#ʸdsK.c[xS)2_^b2[iuoCߵx#t5Z; AS5݁-?˲廛y.ʹ=t2fA=_Inc5N/U_ϸAǢUI7MJ_Y/ d4 ga$]xzVah&'pF!qV jGJl"@bYHR+g1ԲTֶb`gTӦEBŞLh:J'4?3DS$ڡG'`YcA;5]>ͻj6X35u.S)k(ej6:b|ׄx%d|fror͹$2'ޝ(Бn=n6\kM t\^wLhD"#}B:r54tFIdXD-ܵB*uQd+ k͚{>XUǧq+ zcoE* (}؈.UsazW_v`bBJOOkeژҲ2-MEZs#%/G=9|b}Oa(q0Dg7/j'PAYp(t9%2ɨ>5Bӥs &2tEҴ}qliآKQAUcQ]bP$ 7X&ᅉ,3;{BFn;pH JS KV4n4zM{[Ȉ =6,/*MzB[F+ϾC2]54HڷB&;tJTV`k Gi$N4pW}$D,|wz/ܽWcfJ}tr$Y㎦C@M)c4^$XJ5xWy$*Lu1d\zeG[w=Y'c%9ڠca-e{hNb[}K#:h+W*%)p*kªm`<%/E78X?!4cA+1B\b'8E N]W$\8푉$ѐJՖ@#ke0r_ _jP ӔSDb0Vh&͞eؐ!E\\kgem_9N>TJ0(%ayd4V֐L/gqzG}5B4ДH= * T-ӥRc&jFm8X:Zl\ !t%Z@{{t{In*YG3\Bm]S6Y{D*[GQog@ +Ɓ|yd*|QDbzh1fD2,v(gX̄P#(WT YDjesp\[Auckl1*6lit|Vّ\|Y{X##jM|vvOzL͝.dIq1h?w+~b 1j %l漌ó _~Ĭ $ U j:c$57F0L= 5=Q4RQj^\ׅKvClBT{EXi"bLdm ;iΕA&gtFϦ 2Gr۾5Ė覒)x ,):\(hD~ uX•3&l?ROehYIMX ?#)'ߎEtkneR#bQT͝d[Cju}3׊GSr\o jc/Jw~~ԏa/3稸JڤYN|y[\?#k.ĝ.0= AwY{MjCmXrw"_)ccll~e;Ff֧+~XS|K':zti$PNkrq9߿La$=~*!>E!oUp2xzooe4|,vrJsW09L b$='icUNwSx?~2Bx.3^ZWԻԸ4Bi ĀkēILD?y݄?Io. `[q1qmLBx4zM4R܆j LZ3E:g*کGvKW,_9~",Rt3?hO@ W8v&:ėD ٽ3tb5N[v d׷PLAHڐnEL}SIayD"{~`%tU4⢡)UJ8pp)%&; 6B}ws煨!6Q@'7_Qv!8k{D c$5Co9WAxd܎=K%δ0Y^Ѿb6MbTO.?Z ?x2ljR[mZ5]P&3H%2 !~u^ ߔW/3u:.jcT+ ö[4$ZU+9m$--J}K]"v)@TWd&+rgҍ}s J|D&땇(J[СLr{ mgbyy8Q(uA¾bO_f^41Q# ,3Ș25i;l}n=P*dQs+S3E֕4"fn%6:YX.Xps$o Xӓg@0ltvO!S7uwAD1\?PT-qt84 Vo(LhooM;O-^*5 .N2uYZf\z do05~SI>\5u H!@Wv5Md.^M *I.V%D%7F h}S_h }`~%--C:eC/XBǑn⋁.eoj zNJ݋|9 n<]a/0ykBY3l:u յpl&~JSQbrT|1:JskG7-J_lASF^G23sSX ג52ܘiPe^܉6ԦbɕO"^r:mPEl)=_(~(?xϧl[IKw)hX77#ݷMYX߸< ]ĞAR$X0֨sʈw> !LIENQ"SĎ2G1>e gDd(f%B_S}1}ܚAfTzӊ,ē~ #rH (SŶmaWr̖gzSnaq޽չ^d+,n=]$(WD(BOvy4bKdbطy<|f(CK?޼Fmikmn"3& j0jFz{7fR@j!$Df_|Yg s<'m,$K@[7vQ Nq?#JS\#ʮ,p{i>y/Y80vhk>oSA麖{Dwj ,inZ c%eysgy_Td{8X&sK! Bڙly .k19IbݑfQd]e\M @6,I%zĤ_ OR^Σ`(O[ב,\h z*|L\G `RLqxG%X -<zr&Aࡽh ߦ޲⣯Εj2Ĥ:_m=@BZ 󿱊s#βRo^3*c]\GJT /M --|?;\1UEق|M>늵G_Ǔ9 q#5Gmqta-35F'TX[Do08C}`ŅVI))ynJ׎WHEr |@W!1&3qblG [Sl3J8gYjKi F/Fȏ-5X σ tZ-}wĝB[Rk]4^&6h@d'%ss3iwV-5JEfs$*NwV-;zV @\uYVN/P c'g :3[ظQngGq"-i5xԖy*AaM=/.1sM^XdMwXp!./QcsY'hBG*6;5W-ڛ/ BX}::`yrG+ط<O<#QL;zMNjG?*-)#;d݆74f&+&_Y*37>({Q1QYNƘ"v ?Q@Q:д'S_7mϡ `=~'-&Nm(\]3IJ0=`^ʔ &cʂD=& PnC;s,&8m~rGTbZxڎp_Cj E19mO=Ⱦt__rם8}*/Us|?BTLЋ⤭m6g:`k3ם.%O>PO7uR6nS+`ۼܙi~3)Hq3L:Z%ɚf4&ff)`ƎL4KU`ajHx'|嫗bڑ޲ѬU.pId73>z^Rmӳ&gYtjj`h n Q!e^rCA &#Wh÷2!e$yɢ'we#oNc9{V)[-VR"QA1Khq]:5wƝ@$mZӔͣ>ŒQő 9`iTH'Bg_ߢL/J0mpʖNⷣkܛVU,X&ɔQygF!.{/!6hK` 4| B<u[A&.ĥy>tAB%Ț-9nB&{e$qӰƸ)9 G-?|0Mؗfkp|mle#fu3 Y6,c*D I.q&ŵk#KeTs NӰ'Ŏxq(R_R$5CDĦ7?5ڠ}{1UdmRR!/U1h2,Xg  Z5w[#$a\mj&«74 K+,jJ@ap z~ <ʐƲde-kRpIX .|Ћ*إ<|R"DFAG Fqaq2A"@lA趧׍JͼQ6w-fy0UMx !ӛk'RŘ鍽?cAT–GbLd sr, o9~loT/E!Q#:;_^'4UwZ\m  :ŋO…6i29/գߣXXB 1H^r<E)܃0RBWf]8L15K>DD7rγ?!.>2֢8;W(׍ !h"2#혅wExJ-ua<JNKZé)t`I?7Ps@KE*>5=vxRQ.*r+=vnJ&b'*?z\ʠ3K橚E ZmmTJ9LAͽ;r /$*~h+oZ> 1ާltjW֌Gy(owjTouyFD`*1 1(}v҃5>-&aZ&AyCY|q &4fI+[({%t?Lh?gҷk?4c\"=uҘAH2Z),NnN (+I73%0~ w&67Jp R݀BN*F?,xT@ݤJ>[ғ QJ/w_y#Z+ti'W;0!bjHEqu`bl4qovSN&ܽp632{4mgp)} 9 XddW\:Sn^axátj4_i" {6ȅWԥkq.g{]*)@$r*ª`%tq=*-` ~wjW3 +OIcʚf+OgWfܷ-a|UU =ih~&+^ 7$$+R uigڨဓyu}ﹼ0&[AUf@p9/:m7Y*@0]w1:'䯡auPypBѮm+\xX!ӕ7=k!u1Ju+Y@}Pswx} B׭W4 Y14ln]6o?Gl>UP7D|W2|e:s; 4RS<؁ϵ< !Dx2z! ^U!n:X/:0_tX:~p]Rq+@?2g.ճ)/qFLym䓚&mײy;]. eqRc`]!nx 7ͦ3tOuImd.KQ|޾*DA_Cc={quxKpZ ;#abAT殦r`Tf% 8=JJ{p5;|l Z>gįP</T'! m0xZ$}i;IѾ% c=`d y _doSsk^P9LVtv A~q 34K򸝇$PFwOT\ÀQY{QFTM(59a42 ,}J}A3N@.C-유'M=?* z*(oi ;Lc b&S3W~*7H RcW>5'[!6u|Z=HQ긦NNK2Dd.+ Γ3eV-0OD#6hutxLhXϏ()Ě\}IVq](J'rxm_>38эh`J^0h,e5[Uuʬΐhje4RLwqm/ϮOApRG$!1&]knݭ'!2jq3U&FKN>#aaRS2(t 5P6r? C ž0=?yR{ 9l|la!:0QDzy)?}UYo,h vc]#m@Z0^ )^q58TB9YCC{ @;SizzE:#'нem,ﰔEt)EhG|/;6 Ҏe/Q&eyo]v 65++OLuWQb%ȹa顉]C/۠W ͻC-ƺD7_;Z_Lm˳`!0vuZ{G ϟx.Ks]~[=jcr8W͑ a>f<6WpZNAh a'Z_aIt$QVo]xfg R_@?̊ͭ'aS`/VHj%H'ﱙ Ѡ4G5?pᑈ9{~OuTEg[bfb9r]bH Uq#th)}Y!W9 qg @(5*GaC  >bTr<aZO(.wI[K4tRϵ:>׃aӍFC VJS^3]aWn"|Q~-|G`k r )2f`(VboE3 8ȇQ{{R}T=0m5 ޔ4Tpb/" \r@bc/3v6=.}4lu'+bV,q ђ5":8S˙BA%ֆ,͒I᲼b<5Ry1[%j -%`[Nc\BXsI>n`ղ˪^v_okh 3]67%佚-IW3E)i_=woXuqn!d蚿K$9)*毇C)\ (]&n!CF Zrր0kpo3<֧~ǖ0jKO 0BW7y/k6ݒ]cu|ξXsꧫ8iyF4%wW۸VJ6u6VJƛ+U+x*gq$IlL4_Ƽ/M~[pE^X9G0SPE6:H YqXK?dRűfQ5l ޽<(-4PW4]yxXY57T#r~:ܭ0V< `kډݴGzf g-b}{@=N!ʚA#RZl(8hwc9)ZU~n,emL4[Lm$KC 6= zA( Ɖ{ؗ\mGN32L8PWz5WIs)YJŚ "N7~k{{jhfsu; %+za 4ubvٿ jjoȔSj17s)LJyiC mqqT:0Aۑ), cOwSyVoZOov ZI(űt&]z\LgO R,M [Iirz cv)0t;mη M)Zk3;Yi(QPyA8~ f&/U՛ضBj\҆gs?A鿋# jԱׅ*qrR#J;n?۟XOB.A_]^[f #/Ҡj?q)zj)O4" "Eb4wE'C â0rd3d쀥ēlq'*aE T}R52YCEص]p ^IXbշ88v(bKv|dğ$`jZv6OhW430Xji_#o@"[!CkI !Ot#+ n-r8Pj::Wev2|1uǜOgU&0,𶪒14(KxPXutz Vpj:RrBͺ,QN P.y xksj~,Cg#0@a3$~S~pZ<׵%l'AaZH$p)8^Ӭ`k no J@գ^hf)mRh2w#w29)=vMAw]~3=>oV\/ @p3{+@̝J3(}+(hd?KwS:l>yOl9Y)(/:f,*}U ASk'rm#tIsy "cP[i>W%5Ϡ#=7CMٗ&.{gY'nCJ^<"Y=Jg-^ȂfW8U2]ʐ F>o^H;ؙoccyqz+bAﲉIfwCZȇJy*o?1yX}- SJ1Zrx}lckLPЩh?VR?>Ԣ#dWj(3i;Mh/Q¹JIҩ c1[k+[OӈefvRDes JhPeuWr(~QCIlA|5-" ٮȝ\N:N@LU>ClCt|Y!n8%E:!+^yod˲rH+C5xKbt GbԚS nZڂؐ&) )|L5Q_?1\mm1EzI/e™_(;>M ;3}Xx^eeDH512Qc 2a;ۯi>JDx w.t#Ɛ@Rhya' .9>UR>3FJ 0I~'(P~>nB%'qBS+r$V2QE:#PM&Jf5ڼA7 ²yE*}+$)TV`4UbmǺ~n6g׸SM#q0m+=~ ķFh) 4-:JGZf;nf܎1Yp;7= < QBd8\,߉7YvkC3m?]`6~`*2VK'6=hAu uS\$%j~jXG?s.OAH7mA.mhfDf]+XWtFץ#zf4Ki*1bgD:! 2j[˒S;CK;9]l9B~ SyuS1{a=j;Vq"^i-u %ԖisUHib l 4V)AC)uφ7١n&ǧ؊m&7\Mı~EtWqB_d<`kǡ=bHA_$iQn<[>j" zό6*v|YR[-NqtX'zxͮsCf7hA;̈́aena50 0:^&so),$oK1laFx;(:fVH4J : CB$Y*E݊wJ%K 0RdчNqK'xQ} +" (f$\"CFk=upL (&رJ[ю]&k0)A].wxtL 6xiW/Vw ?-^~mrDNX'="V pӗ ހȲjBS0zOgm 0HPG>/5 ] 'ΏYܵK*ЩYdu97% D#)}.^ QFc\gjjS.41} J -+kڙ4!_Xu2@cD.R|{qFW0UBP*lMVK K,JD4=.ȣڟi^+RVϿ3ם lz1|fv N&H@:56Aަ2e6[`Y}"Աq XR1Mwj0qj2ZC[2 O-쨂ҒO':%(\b]>\z'OH,dB0&YDE䬼vDOvK#7CGBY,!j Ǹ HW@cW†v0#_O'LoeߕLM`o-uVQ5 S-ؾHg8ntc݃YF{.7% ߍ+1Up~:r`'"Z넵 =~N&m*)L}o<;>~](srqgu@+Gck5 C~MC?JŒ ;{jDFਏoKaaMWL;[τ-*(zHNҘ>A]1DPI k❜J*GV!u8qO:?j^jabȣY莁w=pƑ6)pcm˙ӀS?\}>xLK O,)b0v81ڰ׈x +`wvaq\r rN(ҏ>V$I FO*@5?dB>tlm|SkX7bUml)~UcCRC63` F*ih/+i&cN)~XfSp1d# 4[(e6\CB.-P[H~j0(6FKÿb Sɂo̵A = ~ܐ6੽J5dg[L#ܳz'iA}H_m Ʒf yɽ yI9 \5+x 53P,H3!){udS.nΕ=5gl-T")Q9fr[طn]ؗB, ȇ[pWUbPZSXbF'ei>3!i` :x(tS49n[യ뿆]6Ƴ  MFE{^5rYBe8,blu$ Htm8/s6UtȢYǐ~eކLURȱ,9ij;Mkvgbr[З27_Ox=FB\{[YG)_(430l] Z(nLտݾx>_KYm<܇epD>Yq*N%۔MԃjbGNw:hk*R /AxH1B{RST;(=Ո}pаhv0:B-!rY8F4b2plQ" &Dnu4m#XW{٠SSY+FHSjp"=$ U#Ʊ9cvGtfc%06?uj]QLٵ΋9nSdZR poDl1_&|mPUWZAAJK74NZ5d]}[{eP i<< ";ՄcԎ8pVAk?_.uqjwIz=Ml'TvVaәK$֭_klG<\mkHL&}@ULM4C6Ӵ9K.Y\1Vh/{LGtV"bT$!j M&@sumҕ?*g,jR}9u k! @,4"3TtgGyFyD;B-ʝb#8$%F=7 ySC>8QDFw΂jПoyÛH02,T^Y,c#H=DbWXUZhGˇA6=R^*$1|2dkeIReo!a ?ӫWN?Md])AwNJ/J`zi寔嶋 9!4|Қ)aWOUS̲̒S KEqΗ-rлޙ'0b=88KeqK_"nڶWG+pggP[(Tͅهa6N2xҾj=bx{a84?1F. 5muk.AHQԅg!= m(AJ)Ȋ]7M<#¢n2VF"ٕSUxlc5:XFͮCWrf턾K"gZOqO^Jnt\~ᣒm贑uĞEi[39uɴ'O4h=?VŭZٓJg _{)EO8 ~:"T9d |ZkIo b,%u"C{ltPTO%י#Ձn%I{NN'0hD~#~8+Es-Aqlsaqkcy>Wk|ߗqwy,lsN)9z̩vwP /jzp "Yw#ތ-0p}gLŔE#0dfa[]W9+cucW,:גC^sNF<ՃGY(pѠ=T4}  ' b&fFMDakGHz5d|أ. Va8mlj/2F&Y8 St?RwMuڍb_a6w>upn͔w㏞ l(@੄CVe-M2\!TvRhYBQ}7)_ L矰`# 2}P9aaNUJ]MUݠTMUem(O,zVƯ# n8ߚHmcBDO>3o7^_fAHΥQ-S 3ŎNXo Q/= R%J;IfNx؍ :ǮsF<ȶzg3Tܮ@ l=CvĮ!LfT,N6OiI*+#G[3rԫ%`.*_ڌRZ"$QqJ >R½9ggtR̜)c Wפik%x0؄*|l;;2϶q#Sf1%_X؛x V#Af#LzپWbGEЩ,sx11*{4üNVsI ˧bۂ 8};K#Z2X^xp#T'D#-˘ksqc[ s*AguLEMȱp36}uulB& /QqȗH(}a&coÙ>no{i2(琢_"' n |'v e!҃`n*Ѫ `At" 1>ִꖬQ&QmhMVz:qJ.}0vTv۔`js |-9 _0=ɀ6" Fcvuqt(28=9^>IŞbi_4J}a: «?Dsid [4~@h99 G3J "n.Zǘ {.:8l J,*Gڢ.T>]?W.8j<ٌlV9+hW8ޡ`8.9t`ح%U"Q$[#(m>1-rtHAk!qJÄ 10m/2^ݽ|ݜii,釸ڇ0Q-l-~$, S}<k{_t(8l<e~SY5 0ഡmݝESBYj]֩ {V -76]ەSG\;mOPjp(.ַF~R̫q@3pR10 o TQҐR$Xn{ 8YO 8(5= v_x`r#Q>3zgj>+8im:ZTȂ)62xJSض?<"g5欏Y9ChlVX\q5 a-,zGY E}Ym(xi8*HYWMHCAL~_8 8?8L&89TOͼpbx[OG|U%4jVA,g΃>1?r?PX+։K}щ RrM׍z!`|ЉTڲ8ԨReLu.8BF._qmK<\[/vM#fuY.CvU)a B%xxr>y2k`PzrHه`@O[۽0V;yQXH~IMk;<EѿN^2qvRZYK F!lMAg%; ؓ7nS6i x5sb <+Mq+QI %w.xhM w4,X% G NlKvCJ%C3ԒzЪJ)j |Op aܹFXfe " š}Z 9@.n }yGA+dA."% izイT <.e$N7>a1O<+-:#\yOL|ױQ6DuS> ̩5C%Y}$B5gbì|VeiE~ۂAb9n0Z 9Tg!Ѯ ~YρEdyl1k}T! uZ<63́ԊխKMYIG5_Ypy|m ۴GQ3_so_qmjޔV.gʯ` )j_x#u_"eثcpӅ%X=x-Y^wҼ( dp@$Eq,pgmIJE_eNYb=(p II-qWJ? %9͑Loe[ ^ EӘ+u1,*W&y9J=nΈCf>_:ءW_ڶ[.cXlND/㦱0/sgČm˔%l=zZ)$ X+FY;Y`0`Q~!&5Y(,՝ gE{e#f#4$b3[OiYy!=zl$$=>.;ȟ|'(ٙiխk\`<|_}K)qHNk 4PVyHl#zH19PL.c82a []A5ԺkI{qy9!wq&{  %a/J,m`# sRq<^P$*K1rqjpPÌjoea2cWy.T OkxGgKMˊ%RplFL SKm"\ƏadjW2uh9kXV[ʚyc{1d۬*qM+x9ťfoQ*q#.E 8o#>l'tc"`ϻaX-ڑgV[) :T氁$p㚌x@?툚e@W K Er5V`^*>qCZ~oR`2(+~s".չV8H42d;Uڦ&T1~ ̕?DOЮTу@q%OZVGo4HٮpXqDgp,ڙ`X\%<ָB u*wn >PHb?^ ClYS+N#1rgSܬmXˑ/U#dZH7 !X:[pEH܉ (+[oר})4',5gu|6quZZ!hW"#v*e!xxLtV,`KkU..09ӌ- rT3gE25-hawϺMQzBɨE(CڠmFY# < zht$`ɮ?,ɳKJIwYӨ%|@(‚ t%@w d!U$'],Tr/~t-v5>j)!s8S_LBX ,<GFsH_wD&g~~s%pWR*V1̙87&TB=W~)2BxOv *Tt5k!ye{Qh"#_!jU(F^/'G3Ke66<>\B{S/}PVrĉ6(2II&7m+T 77IHTKP$hU25u\)Q-}HM4k ȵ8~ l>DMސІ>`V7;L,jR)9̄7‹D (XEg a-NZ>tW~]="X_^7(*G1Vu Di)ؿ9~nގAWF7`.29@5D 6MZ}ORtcl1딃Y֨R0Njs%ٶD;tr͛!? L o£mxm3-&^`a[wIa(HMa\(׫!Qv I#Ѫ%/|gf^5Y lq[ŊlB6g7Kq:<.PI}28d!Eeu\[fT1Zu̬Z#\W80_cѣWŕk6iWVe-__}ϝvJr_K_mLz=~Cc u"G (\Y;Q:fB$GvG鯹'2kjɱY Ĝd]>&GI㛫4]C#@i"()x)Q!\s1X4J JE,'WL$bIQ5B0?m o=l]렔3"ծJۃyat?( DB`+KsķCH ]̂9k$%".d_uB(@ *I5D{=M "C|`56cge]QVE*_*_Qfc4ѕDsƮY+(W=,j#?cו޳\BP"wz?Ÿk 6ni~ڛn[|MXf BE)-ӵ^`a+:v )-R~ 3cyUWNɏИj_gY0[{Wlg4xPѵ? \\ZXdЩbXGnyje\4֢A PCZ᝹ >~!5D:E*$ ?"件K1pjm?7,W]+]#Â|Q f(roީF%wrYNLJ?-6t3"QC}Uf*j$?I^ JE<8PXP!kԢ@hq:[8{zm~Be:\4Ya>[ '{0/j+Fka7*WoO(T U$z&wjt*.\5e_wRJn0e.G=ơ0Xd;u4mPLN9/үQڹLGv0}> tEΦjFUoɖVn,U󡷿vZM/2W1ձ[(Bk\ć4ۭƔ5]hPro1<8ZOUqz^2Ϙ6z)Ą/`K8j$6|sMANpq:_.MR2d.n{Tuv%Ǩ7Ӎ%2JJ eH}7…#HRsh<6Kv-t/e])&zmb{&mAGc~tPU |bw/5Z7\e.}|i^Ë/o[/,C- MMJ)kOIѣLCWFJ(8/iߑ6QSS:E8̓5V?V2< $ c֜Տ Cnu&&|:r‘7!y* 1gNHIe Ud҃3v97^jK/beO(nގ_t|k/ڷucyC%+nkkZT)xp~Dp{Ph8`W΢f8rC^+W8Ց f՚)HtDy>+ fvT_6v D%z\+!U27Z˯ͮKoRSsϼ ҭjJ؇%%byZmhoK] ݍ`IQN5W4jJef~EfX!Db,*xybjFH=yP Ӧ= q.Km5gYU.)P7~Xʒpx?: bC"5w$l̹'OYGhfesѱBےzfVr&L6.jGz'<Hw%HjNDc䫝1 p!cX1 a_J&6?[7^KƉSdl?[ S^-MמDl9Ғ2/" !sBq]14wM wUk~(mZp@%#ڈ, 5 W11vqO{~X# 3ȼN?@5+H$#5hu#d>bEq1Bd!lp,L/q oiz2JI&( x Ku?49J*t-]I]x>^?oupOS&-1Dpcq\:dž2 <\cQv!g Jǃ3enťhLAFe;. !یV[O$^҉ڹ4[5a9»xT#^ ." W5:B0BՅdv00ְ1,qNdAs~J6>7W"e@K pTLm֏o_qa2r|֖ճKI#rGH&I) CA[$N.uX( .V~rw6d{a'dvU{טvҷEaM TXf~0EWqQϤ.wפR9CzJ )Yf[hϼf=H*>̫C嚧ޓ'/Xdn s-i|OcUHeK^5xl*Ze8 <" =Ho  bt/UTlTK]ڥnQMW;z!Uϯ yQ&NRhsdy|Fޯs'`c߱Ÿ:Bv˲#ۀ0(i j#]I>I XW{j&!cG)'{t`wp"Ţ}@(x^ 2V| K֠[Ҕ V94~(2qlp/ ;Q+tU'c%t4Y HA0|OQlLXqV?,5ijoAd{]24GNC2Oz#~LM82[]o[ {vAv68 i(zpi[/nx']H<#>3ɥ8C4ρFaAJ+mP΍FQ)%л0J]u8> Zdz0pdiC7f~xC^Hm%}'J/TGa]]P!Q`; qJy lPsp 4pa&DhG䖪DRKqt2U΀S1I<0azIvI,JmBM3gNAs=Ž4QU΀ !AcQmyvt;m$xPtV[o&A`fuvg=Y |d1Z+)!냛l0<`r㜓 z/Ti0i7<ѫ]fO'e**m#x*=?9od'y)$6*_FiS8Wi,עz2u`A~BeL3NXes00}~yϔtӧ+7|᲎Ds9eH@\ tpi0o[~uvI `geh?xIbKR58~PFn6G!GN r!ʰ3]6^ˣu3tSЧꢉއ!/HRz[HGLo]n[\N,&z1sˢs  lJىv&k۩iXxH|gCɌSk'0ZMqj*o4-y ql SR>E~2F%VN#7E,E jC׼`d]r)nZ+_aJ-M@O|hqBx>p&~'5~vvԵt EpB] Gj3T\?j$+a8>  JO[wwwff"feBK˫<ͅap2U)Ylzl{JZð4\ݧ>o \Fni9^4S:x*|VLҘ纶WMzLXIe!(G,yG$8>/jkV6HGF ll f>wO; &,5z!8Xwy3c&?^]pNP`r,U i"N C4W#n4E z^5^el|Ψۓ*u`kAU_*t ;hWX'N+E]SF%3ނFM Շ%rJ;jr4`UK^hjfFw6y=B 0P큼yt̕祆b /' HQR /,)I"Ciƙ5ocRyxE93'ڻ]v+$ [=3*a^ [Dz\CFz6Sg} `VDRuhQ(1j7q%f^S`#'86lI$eAc,x8  GKǴ+#S0oR%p"J.NC33d_YfkM3=A%5#7smwTJ>k_Y&,Z?V6w}+&5+ f뷀ݨv@ 5^A\aK$${`mX5 k(yeZiFV5j"`֋򜐭% . =@|՛]khڊ[)r 2Eaظ]/)kԘFSnxGޏ05o˅K)7xׄ\1{RZg ĥscJkRW&pfDwFgjx U1jajc!p\u9 0D ~$<_jzGi:KF@ M:}!fu¬?H,b]Uatt cNd/Jؐ`x✢8_yZ Vח嘧}]byk\%}0mMsizmã}n޸l/":5JjZQ6`tE R@U L߸}0śI@#eBƿkE(5xGa2bE~pM,W5RF-d|CR42+G\鍯#WX9+lНu# I!ݤw M-nj*+ŒIP"Ձ@nBi74WL^)]"b} {M8⟱"Vm ̖%Ck yt@\"VXG+[[n໨XAcjƽ*-$UE=-<#"VxCE4R{ɞfuyUZoa-oAbA8ieuٔa ug^_Ѳ kIׇ+vlTyro "Ԧxl%©Cf#ӵ}Q-on@~Խ4W)M3]eZ5-LyӲ~~Sy]?QxHy X Çe:d:.l}Az!MikX/@zmk{T K#_y%9V៮xa =({ 4 iuǧ60?K^gж5~eApJEM>9,Ui0)_0 Ļ:|B)Y|-I^26O 6+/M3ms2ČH7{~ޖDg,w(Frپڪ$ƁRJv ;DUmEerG*9զrwf%4lSk(KH7AԳƅrmu4.hVt452x\%7vp|,+a<6ĀJ G>M%~}Cw$?e>^-XlsKc,F8NnD}ènk("CVYL,mFp2 (Yc6.;WJ%XֳW؎xD&nܒ偋J_=[)՘*F-"l8m?B5&jɩb0iD?/{?۶xqH'+,=zYk^:M$Ug뼗\/NJ>rTx L?̪ b29weMLMascAl洁"O5k2#=-l$wJĢ&٥!mU. ԙyaB-<2q&٧䓦}Ԙo)u|:qR;d`Y{io(Ņݞ֌tkm4P<|H25%Nۦ: -TKm\$7pg+09=@p=_#N-ﶄlw?!FtBU͘nE<:~G/ĬU)Mo2(.T}L$e"Zgċeأ5mL:(-avdft]i¾ a {9Yz P[';"1 2l(SD?g mDDJ802ʄwQ ~iihTB?P_tq ?LR%Xn(5զ4*/Gi1²Ih_T\U J\Ifn-.Rhc05v4pԾZ%l:*3aQОq UoᶖǛ#DC-c981\9*7gr!DE]8wT,8^>(Bu$!bC*CW%;Kjz!IsXËA[0ֶz4\flhrxz&mp{̔U7OdzOpp~X-R#_I!%V6:ݨ-W[&n8Jc4G1DhA.yS' ,WrO7xٲ;sz!?#G<|Y[u&o.Ԝd3sCg#b yהQ`QT-_dL}9;!:qp͞7ŒV^E֛3: GJv|Ybݐ~3Y D>RdQP;>O0)_5C@ቝg{- LS4EdMK;-#X'G_NjH;ZH(w>:-oMXVhzcMn4U/ W5@lEzc YB;cfIHm[E*̰"Zp@{>waO"M!UMA*zG!k3F.՘'Ar>Wa{o5KOu j,b X|f Ch,㌖(8lc+K8Do=NXU%sH3y{P[eT4h/`Յ5d];gy>{`8l*7/ؖTj.seu??TAVq[+w5AN/5B.Mec"Ss䐕OMl(QnzBsZѾާA;]0kPK!+Q@QZ?Odͥh"{Ry>RѺ~_'ck'Ag`e{k 0(O( }X$FJU12Cu_Uc+fTJ;Գi EL02pwXkM PPPDDN by0S%b@l,5KAY/d6ZAۭS17Lô)^E&y2TX;[şΟzEj[~@QdohSoz|5L`#6BQ m6]efLbD97ɕgԧ|Ua'fSuE}Y/[#x?:Si6[ 69=S(M ;/1x@LyV]<$\@ܒfH>Mrȷ)v*pIJ6oYm][+vXWUaTCd#d ݦgƒ={[cJt܇)hU9حxkaoA+ބՁ|ciZ}'.{}NԽ [ΓI[ -+:1 h[TӼ;J!3$㘸iXQ|;E{lDz-YW Nh~H= -5Z)mA&)+X0O-B4c~#~/WPHy6{&g"ςK/L+з}r/p_W5L i+ӡ!aneArT}A8dtGvPXwԜ砐™''`' (3糚gJ8:u)ʔoüup97}~] ofhpinCu4_ۚ0(կ'rzy#'9U::4-`ZtXwXr {x5g?c#~Gv;kf =+5 R@bTFܝ <{8*fIM&4h=H`3ؖ=beb%`Уbd@1E\`;  c've\*7 3f ToNR/TF'?~we g|iMܮ uDPHr #^z۾JOWCYS*J I/4Ҡ|_:RKf$ḙwٸNǢ:5W~;xB" 0`km r3]˚R=mH_@}R; -i)!LR| >FTIf ip@6NŁ(#AMy\]Oa 5ʳKoP;HiھYT]yvqAl@תϟ%TH<$$e#jWG@j\tmGMGsJD$r'%+(YNs]gПv!w,*-cc=/UPgOx^դ=-gyTG&~c ,P6Ur p8,PG=;Mj Vdmǵ+{M1Bɯ̶AXEMjUVzSg]Z]Q`*x_EJDA-3lwfE% ܗzֹ>G 3Eyi8#2ǃ-WxtEOo2]Ff[t}ɘpm`Ypm7LHKrpҽ7NZj 3Uq_~\ ɚi(DGFRm*<k i^)}&zb'J.89g|n O-P51H5: n;](߈3?3bS/kÃ\m)h{Eʰnzd=#A1sU6ek3B-cMИ\=>$q;WC8P.L cFsmKlTadV NGT0>*jEK8ӿ)ц\\'sS;B"^6Lyt͍KCO1kQɚ»y/\˜IalWZfz>OɤZ% 5[|*:˵GLqx= +߀؀LyEC>diryX ɵgwwo^8LMuwi&_Qm(gHI.QnW#@-mh&9ZOzdÄÀAi Ս%jd0+ Fyo7 !JF,]ؠ9yB^R8a`Vi MjJQOňrI0ATf"-1cT Kլ"6Zo@Ş9e`6 ƹ7arT6xC!>Tb'A>zq|=c$i 6n1f%V|gɣ쒂p ~V":^O3oUinA]8gHVbEux;7:ՉJx퐭 )RlE))Q<#Q+vG-?) <+(rP_5X_O6R"WHfSu/iʠB0 G<>+oM΂ii_4ayE\AӁUzwL>gAoMUebHH⃫fo bպtǐρi5ExX[>VeD£ʐKdզyN0ɩRjۀH*lsX-hV^ {gHC~q= 2_A1t*[w9R~vZRÏr5֠ xUU>+au%R, 8#Q+=҈G#<^Һ!Nͩly|Awֈvb$;MʻgRWhlJۿEqR~*R%#vݞEkH@NrI:xU:V.ܛ3HofvB?lbFO=MSnKIJH&\av/D>eEd\xFq8)jھ[a ;7z5؛vJT 5e{l(hśNU ԐpvXeߐ$P%'b)uzs;ܮ>zq)2pTݒG-MpΖzE&Krt6AGgo?aI!y0|g wp Q>iܝAnTTI8OX,A -{1.J|(gYR9.mR C \jG!@uW 0Yč6,N z#fr#ݦ`"8o.4nZh?$fvyf˾nPiפ+dCۀvQ&^/g+V@$EbXUTw+V: HgȖf(/0 p;Mq$.7u&:7#: j7XSYd;P~aO Kǹv~ɗ朇΋C7[+`b$MK3|ht%J=&pA},^cۏ` 9BYQ$uqO ض[@{<|$`MK?ٷ L_Z`.=%R {ͮnj kE*KGۜd1Ї@) pO6,N~ lț3(G-K_ZOAYmQߑB U}֢产׵6XH&?^.킯#9a[iU#4gc?D'Lv U3o{6AhL 5ɒ\`poBR$џ)لU8TW"P:}ƀbg OY>g- *Yϙ2$x`8sߒ*ctKj{=1 m&_f2X7Ҧ_C,{HbS)7 "Wښs @.̰^45 6Cq:$ q,/ʼGZs4$rl)aO{l֟1 &h=cy<)- 2A/WjAsG|gMqg臍[' ^ǛO#N%!aO a2!,[@c).d$<e#jx&nx$Bd=r.հ~Ĥ|eS(lQAdPM'q=zpUX ѡj_[BA+B/G |a`W>Nڐw鑯7#F`G*g`\̝ժ8k态AQ,|<~?6h6Ԝ$"TG/d\U4%wS0I\ &Q=<@ֆ=3; Zd=oE]]gkI{Plz:y/h3e BX& M>-~b7℩6RY!k은&:`W駣_4M**TދYߣkYIB.[lpĶ;S @g~PxkQJ49DFA"߀HvxL`L|9$}Vfr!,?; {f }i<mߔ#{{{& . K^p7ŏmo;\FUZ5:"JuNq"r\zƨ#f%fy<~};"} ϰ)RcPBKu+l Ik *8h0NQ%.~JMd= /_/j 7>/`jI=ʳRses"t`yL)Vku o/ipdh%nS]{ !'Inc">3sm%(ܤduy6!P7PUL#'JEq~=T~i ک[ݢ9 CJg(52~L߫*Jg!^96Jvǀcт'BWʼx 4\vjW LB'.![uIH|;>l[V>užN][J]-wlLM^T{k%|4$ 2dsI_@)KU"zn-&l]ե}Ѓ>Z7W6K,R 5魲t |ʶ DjʥHTL|x={зZMM?J-ߊ&[4+avME4]=y3,v _u^8K|aӨ[,{7^w1]ظhh\o:SW~#mOGj.+ʍme.Q rEfr֘ 3*^CW MxZi[-]k,fMK՘Qs,QG!VdNWDC#10t-f<cM˴!/pBp{7gR_x?mvbVb(^S @krȓ#)8o@ÂSsٖf@7 <C WS.K[[{5 `Pxn'M+I#DY!_#iawWϹj!kvzׂgM7? Xr)&j\f?_/%MD:%?&}Hetlڢck1~B+F`y =# QDs1ЅscoxȰrtևI4>T EucLN,͋A`r< zh䃘q卍icj2y{N>ϲ E@C)(1 J{lIV1#u> iŞM^^/!XS+م fV& v,JmDs9:~ہk4+_߄棍:f_qZ<#!h+폰Z3AЌ0xH#ش&VixqK!tEPŷ<yZ#(^X[H*uͤ焀J =j 7]96{$-rA[݁ gDbM*GE[{-ֳ˴ptWp/9\_R`,v)d0)hxzç;oR mP:nX[^^xFA;s]۹a8߻,F;Yn <ͱ3i}ľ/W}I؞h/xPm,Ay"~4#딶;FFvI -YoRV Lau*hK!&HV&oKRT ]#>R7 _ԃZfÔ"eֆXG4M{+x¥f-6LWfk*xK$P b8|. ~}psY1 {#")´P25ǒJQ4 37;)rϦB4[.]e5rR<}k}!b,kSZͧPј0|#4kʰzbriN-JHԵy|j 6~K"sY! T`ł[me{F{z:;LO9'ה)8&ٜ rO ūZݎ!Y?duISў;b?PG;4B~GJDF$%eUEWV%Z+B`4s&9!jҥ80ȇӪ"ȟ7*_x8P)/bH{+n;HJb)]mzC Zg"]$)^1,;GrJ=ZߎcQѻ|l< 6 ]QlDOpj=w2UZQvz FL&zzJ?%J.dN9`!%5@<Ӄh[Pf,`w.a'ňa0$Z msKd0  u9k k,GL JLtUL~ rEIRc̽%Cgf%3h(((!}CQ˥SC ]_>5ėw{ x3^3G,~Gq mK꿶4zhOhhF1~:剻fI%\#' ϵwS( ƥ~פ'n=9CoE#qU ΜNo麦DF RRgIࣇ K~6o~r42'i*E?SFvl,U@L`븷0 @_G透Lݹ{vχvf`K6]YzQsAEMrHME U &|mIm-i+渀`5  D얢yQsk2k#9xM%Y>5} 8;RQ@ (Ɵ4|=( .1 sZmxbt։iE Qz&zLɒ[d _{{SOU(t4|a$ UKQ5ԫ&[^)5XZjE.ͯL0:ɜz*r>퟾3'm6`).>\[XYklV "?#DΛ8(@Yf} b{k m6mg YGb^Пc`8>'+j7\,=Hb2 MnroW6C)O0 HO 蔁^8ؐ~7UA~)y2jh캭{FX0U~gQx`[ X^9V:Cf8LCnp%`tHPH许QhgB^ovMloNp;}}qp)`Cڬpo$Ԇd>( )ʆ-T 9AgTOz{M/'u5"dn)5yuł۹6  MW׽e.bDĞ#t*ႭE“˘H}pi.mkL'2%R~7)z ra,RHy$w|RM6֮m/>.sO @?%Mܒ sM]/\ "Q^c`Fާ ,Ow7Hu{m@.ZV؃ჽ2-94{G(fe}[Q7"Ӆ=o wA-@l:߁^pۛR Ʃ43QU-PX l³zl@j(Q.$̟\bÂy؋h)0HIwK!L/%= 1h^5YAK!՟ 5Ӧ8>5abDkVp #?zkQnz"uI}f7X'cq]v1ng~Y ;m# Rȁ$.mR~0㥈203XQ3u4fIG=O5~|H>Qt@C7"u p_񀢟F1d>Ibz FIU/i1xͻ<86lIdo:$58`J>XSNۀmܑG`–HhѤCA d:̖@^/՚~8BRs,]\-F9%Bc*x74@uWS\`-  ӍT }S u xZvVb^&_W24MZSҠ#5 Khr9*>})s͓^~G4}۫ !ɛxqO'~JLII09ibfs),"r$20h ۪$w~&gw+'Z9"8K"vd48ΗW# {?ٷ7.`ڌ@f5% ӈ'  w6|Ӟ܂rcx)VY-ԏ:?-MUGwbDM0fb@',.1V'}Hrli$e67z ͭ**0O:]:sMWa^4շ{,Qd_R GB]m8Nh87JQcikz񱧣bCi_ 0Mt; EJYV!h3' IWK]ߔ;z Qq֌oׅj6aѓ2YM%pA ]83rn*&ǾRxZuecˡ{ ٰLbC)[a\O]YKVL2rf& cQ/16ۡ%ӂ4k}_j&o){ʦP+Z*R0/#X8% ;#"C <ΩQ:GO8vo[)i,͊`x:X5ِ>K|0ElSvNb'`ЙG٥H΀Pb{A0U|!/q` ݦ9& to8o>%Ĭ%ߦnXnnK '5FՆ)''gLw.?)a륏"6dOާgJWd"Px~OЩuœos]uJ4rC*|/T'R#Z6sGN:UTl [;68D9 YyuC b%m64 }gTVQvMuwjUO<%"/j:38Z䫏0CQ/ybL% @]S|3&2ye3SnWb5tYƅ$Iʹ^، f;iZ Y{jmjSg>xSS~Wp >zǛŶs`TS1i.wrB[NEG%-ѳmՊr&.A5r]$qZq9k#QtsL捸IVO-^x,Mp`KqUksg;~~w9 {NaPJMid~7-0oP8sC*6[Eqh\{# *ygqڇ6.VvYp#r-ᧂ'VY6Ȼרּd!&##쀏qKU{0g="u Z~YٻTZ'R&\!h/f8ˢR HYTV K{gǹP7Ryr)M>_)\y AU@ eżj^*Å.`M̵Wq&>^jee%o[*hen_a3\ ɖcqB yFi<0jBfˮw|XG`]I$3O/J?gGt{Y#JTl1] >ٽL ?1BH,4d:h^1$~UA#ؾ?J5'mn_xSL_g8'W z dGs\xсtc %+IV}ͫWXlʋ7u_UJGap$xhaIN{Mp!-@O7x _^+tS"5&;(jWE{` g%HL31E\ _S0~ςR+z 7wu\T Z ͺ mjV9`%bst \^K5 lˢkilZ~s$.k޳v9dh@)IpXo132$+~`9]IG?^L6/Ft"B$Ha3 =a[ua:^Zi"QR:D VPmH:9ZQ1 fU "M o=ÀvF6z j0k.4Nܔ va E8DR)בcKRw{Dʖ0 o٪ Gx%sS{u6S{u B0ŷIPZ*1"uf%˔EۣQ $^at~/P\PD]X*Y-hH@ruI;T*EE~V. wph+^BvwT_˥`2RhPg|;*vN7G*4 e{.W~7RBpE'Tn"Y ( r@ʮ Y&F.,8Xo6qoo}2Ƭ^ fCGa0eb&msfAjaPT4L6O 19GLb=`:{xU_&AM(*zMF1NcWkbor#kLux@_ŭ܈ܝAώ}*gՁ^Iʚ=oz+{z'x ;&ў %_?/J{5a 8g(6ިiC_6J/"Q6GunN] Zf̊})/,QA#qNN^@Ohu-#zbP0et%(v7ʂ g.=ޟmvHߏ#=pECj0*ds^h"ʒ]$Dt\t L\fֆ>&qy1{&M Fjh>C)!yc\,4BRZ85 !ؕŅ4<(yIlA ",͂N#rA^TУ _#]OW x_5uAƜ!P]@hF٫p엥n453IW'\x @e>Cm;D 8Q7DGWbS {t2=oC'o1g](ь?hdu~BDz$&lF$}kY"f KJW/;_''4 3{z2f2W {J&޺l+띶q £-D.50!4әtX3=-f 'UMTUU"k1腨ȝɕyOssA'VjE"4~s}qed`!♎D9ܒW{rvccD6hܧ ٛ_b k9 ͤFyIbA,2-E Ju!>$7O"O}%]d#6FD_n4tAADrHEf.pPUƘơޓ/CふR3ceef#KL`HW$EOfAȯnoq y%eKgu; @`#f}$z͕%y{q !׋b@N̨Wӓߴ&Wp/SgF/h.b5wgrnOG8ܓ}5#!Uk6v ]4g$ZۙE$`CC(Έֆq׈0_tC*p֬hǩJ0$aGq5=j>%|J/]sʀTmx-*ACE,P;كuCӦ DWm".2g3OK8 eKJz3p0&v>[VWxh=[\d:w|AtK<9vA2?[Oo hx] w\XSQ[u9]UcM(EA%;o_#ϘvnW]x>e(d=݃ƤgkLjɋ3O焊]य"s Śjqmi͖oKJtmjXDE.+ mS;1. !FBDIch?hÃu V"L\j9`Hf o 2%4| |fJ5i/\.uځrA28 %Nyp"u_-3$Vi,=&º4==]XR*VE0ea/JeE:Nò?9j  p)n"}bﳓa\.oG52ɁJCHؠKYH7l~lsr#H A gpE3a5OXk]ZcˢR߭-=i06NV9A2nTڱx3i\NGkPAG3:9yc!PMD X})5h}UMDeVݱX~h&.E n3-XΥr8 7}LLge;/̼\|oٳ z~ PJws!ZW[0_/Olm: p3!Sj3t "mx;&_?pH:/ĖrbUl\ntvB?IpU;,Px!8Zr`3 c^@,Ktn] ,ў6uYԢ _HKv9}s dkw~a*iNφdh_JQiL@É%!l0 + S ܒZ"hL#T[;BIwM0; NN]q<~&x\# U}mhWޅU 39'#ߪU%S /_oIp룆?Yt4}=m[$Σ:ziRZMHTRKT,o&w??N"$Š)4ţ'QY(7DV0@6-}>?ݞqn R=ґQ(#/f,;sAH(X{Ơb*[̄b!FP/piBvsy&OPٙe űI~p$0 Vad`~0K϶:,x~{4^5C䚱f(?2 jaapua`{͹Z[GO bLTs1c\mi[VBEmġ+r۽ٙ^zF cb ߳e$\s zVғ' ȱ7 p\85<%&K"w}r,Nuj*: K駂zB~8 ؏]@qdJ{WR~9hk rx =3\!=\S@b s8.Fq:G$ZkBuES}[Z/W[;$N+㏔l> GlѾ&?Hix>+vu*kl{*VcRnm($ sJ<gXANXxRӨW6Km|]"G12>. -ޟ"8? M6>T4#34X.Z?*.:_#u᭽̴b<;zldpP:,e"Š{09T|'ooHhpk 26auZNˏlթ R{T* u-9x 6 i)}b UR?41+6ѫ CO9+e 9Al%MÜ#IDT\8"3+kI!=gyѐ׏||n¯IO4@=ಊ[0(|(]Sy\ Iα" ?%J붡 Ic[5=wһM.BkЎU` rE&]"MMG?/zL{%@ƃ0<WC~ V$wס*AN=bQ$*uo$e6I&_R黤T2*!S$/nStw{W,3BQJ~Qk\/wKXH*aȬme76>|JҶVesJfYQzEc=l@3T3"OY!G};Az ۑBv{J?qF+5pp yUk v F˷auJ)"D3Rwm_Dpp} 4]W8TffA@QdR^9lJRK Y!# 1dSj!E]P aQxoK{hY)gȵZ&qhB'4ܨH<2dz/zXѵioY(?| 83P(dA18*5r4QWMT/fBgjwT*8w3jm郛X?p[.sf~9lEg<u~:Chi2(mUX̔`xRD E%45""v"6:T$H1d?#C2&̑_bFhjW7X΃.H{<)>k]&kjt Zcd_D8S/O38k@ GB[7oh/3cV_Tśup$Q/"p}PͭEሽ_VObfK\l˟mQ"a95a8 Fp ;ƞ?AwϵGw3%4 oi8IK taZ(4o5Bn>ygדW;kTȬLB!m&Q=i-r7XGr}wy6~bG,=\IEԵ>.|3ɷn[YlC s`2tI7bAZjO:,Qv_aa4F5陹RT]\'~O /YW.[A 6z\@79eiZxG|(7kcT s^V T@.N,d A}ΞGdNR٠f}R42%-(:3mؙNjn+L"aӄmc hlϮ ܀^/ Ik$ǦEWe v/\MTpmBP0_)bUkSDX_Lf)؏ Q~-J ڍY<盀<=7r5 '>mp<@M8׫P9 .K?\4utֵ[V@eWKĹ< e1n4|nu}/N˒j&,堀<# xeWb`|r N'{@^kO;1'tp<, ArBݚlbeWx{݀t 8a SwZWz㮀Y= 74'OsQdTL?ǰb%V6%,ͪ ˙ p?^d_,D' @P2pԀӨڼn* (vךv>0g1?f/l <49kZHQF8|Fy[ǿ?+G mxt1zGZ&ov7cl'Q/P7ЦTgX^A*Ïr/DzmP7EjQdCnqV!xC 2˵sHkZ8O8'9R&*D/n0נPMT#} %k?44-VݢN[-J}hm6:F&GϮLd`[ m/^9|!^*c_FBFU^n;}9~ں~*ѬObHNe@aaMQr) ^~&{*WEhNxL u}:L]øF5jnwu3?|T?kmb6 Y]l<"MMcc U7}S,yPv9ʨ[n<=6V+&Ƒ 6XzE+"|faؽ A :ɨINa"uQ*tR'L>էoi3=S 伕 bۈ Lf̉F.㋬Npd9D9pp4 h2;'I(8KIP^fw?x215VOUj`Q|);K1U ;o^Rb\l ?ɳU|D1[҂iA~\Vj@[22J?{Hd -6/"+T*s4ԄעtbfuNo_W2!ĵICeYSiuUQqt@S(b 9!b\B=4[!,jd4[-{вo˖ֹ\J: mv57XK07c}pom`9 p0xԋ,ϲ-TiTw Mo\:RƵEG!)>i՟fj\֝n>%( kQen̈́{ R1wvr\h?| M$J@?3xT̗n.涔]vwIl$/1bYjrRyRt*6Z{u$r ],A:NІC€Wty-,xՈh*nZv1?SU/Aiζt!u&6#6+hÇSBI,Ģu3'"% j>JF.֍D~)Owaղ2܇BB[T v= FJ:Y7\ߔ$32dAF  m&4ָ憒Y>ݾU_ {KT²Jpp-pIQ8IsHӷ$ nK¡/ !8Eaa&tc?bGqݿJ8 #DVO O%)`_T.j1HCzκܰ9W+1:k,udF Jï)Q*'e^}h\ߣغ@ GUM/:5O;t\'$u>.Po3wi_ M9AoTxKF?8}dm;jC?[J\3+]WNkzzGk8s ?z`n1x lAifnkz2Un$ؼe]|nW2) o gWpen7jdoОI"Sd!$]L WTZAmBc˟wm`\ji60*!c u02]vH~Jw%k8?Bh5=(2œnaDOtU\դ,Ft;J:M9vZd:Gov j1u3Q8Y Q{QchQsS]Ǡ# w=6x6s2[b{O(hN &T%cʹgO?wU~-qmUNMyyg/L!n` z (;$ӻG DiN$9 v%cR7Mjx{#4+AVn?t}WoW~wz^Hvŧ*VDEBp_S)0ZxَVa8^ѬO6 G=WG C 1@@3 ߆Hv<q%0D|(4,]6 LIOBNI_eK:@szU#H"],ؘrj2"^S~DḊpnUsW b{A7H̅Q }mOMOb!午[y2|A/\H95,(jI# t=2H7+@5> "L0}D7!Gur-+<`Er Q+d׍mcFh-AV%pŐ6wf.Y|??zF6ur=jIJ|y@PsG1v2M]U1ʀN~*^|z[r%\ D'E嬒W~"߇oMm.pB)Ct`/j)Mj3YC4G鈴YI1 N}e<~zVlfe^^ivC( ge Ͱ6_t Avy8]W,1KW`X6V -WH#meAnH h7h+_$9?I0qŨ綢Lպoo渮נ%sM u a5987xU~ ۜ9w%ǜ6<)-:*PrvfJXt.UDQ %:ۂll%~#y+OQY61# |UjSF.SJYryE\$_ϲ yͣKD^ݼ#jU#ϴtȪ$Ja9 2Q{Q{k?}Asd#mIddxژ&HB~OaxΩjǞ?ob._]ʠ)mq3U+"0ZcZ.l̿ R *RRK}Ϧgqo|}MZd-21;Xy1ߵ0kP(,/w <3B$~1ʥWǖRbgt> i#xiF%9 ഝ$~oj<MP]WlFFޤK'Y BC#<[r2W2X2oJך'o`QcߺA-J(%3:mQgPS.x%Pdí%! NJ~B3u:^*]A8!gGr}B pz?kZΦk(3sFsIԼDHLoٺ?ZS ۦsmzĊ5{v(/]:3юS10sEFw|J"IpcƏ&FM afk5#zBHVUXt.$m4J_slwip}L} ro6n_, 3I+Yƹ%?&:K!-5bq $d~Val0)~Э( =%b:0qt]Qh)󙊦zsUâ۽"< '흕;9qgϑJ;@zߧ베[-r:UԎne&XGC7 ^YjGƮw΋s1ɯྍ(` XQ-@1ggq B:7Ș$G>؈RIkD%UUmSU0jU]])sdƯ6!;*fFwԵ3 [^E!Bխej2X}$ --9:wt1jS4&5>yv;?Q++;!t_e=\3Ӷj$8Jʻg,.DMJ+Ay?!NPG-3Ub6Cdh- Dڥ#m)rݥgSYω`f6]ͳ@ic{7e׿I:نLZ #*9Md=Rh'c{K,A8"vpo#Er:{iդO&@wSI-^w;)=Ҳm<}oc2_*Q]CBvmMQ(j!J|hW)0bʱr.aAݛ?龖Xz<}͘b̛H(u;2;WT Q1VW;\mtx,IRl Q'i;JQEP!|~=7}\Oq5:Z8op> b@H7`'gC 4{5 C{丽u¬IߴL V#6麹نx6?>Y3F`.0-Ңe1Le^29Mr"iN?LÛ<*2tTo qłyȃn&C`-\ Хb|D6|U;*!2,8;bl˜TfLA:ȕ&`1;00/IƤ *J@@Cȁ&H.H8tΘ NhJHܡ9\ eTK]Ai)CtڣZ9\Tà:j'^{U" ie%)5 4 T~;3xZd '߇J ȩLoO)B\S1sh9pYy>FW8/):Ѳw4R#K F-I#Ցi@ɤ=A?ZnZfgu=Zk-WT2= ƥM"^`^uξy= q~ޜmto|BHm)9[}d6g)HzI.Zȏ҃bs w-pt =@c'nyV7zɗ""K0e3K )P~l2_rMC#*%0=iGOz:A ILc]7+% oXzg/#ܩ" QS߼WQ:TՅ$Jx3@LսX{$Nq';:y+nv|GJV3зuk#:Bd[J+շ՜M${]k[IMIloG$6&ܐ:bCP|yQG2Q:'۾MV\g]S}'Mp=؃OoZ&ܜO5Vޞ2[2yx/Ej}SIśynli1c8\':S 5Xs\d< n@}oq}/`҄Oq%9aHDe2JYi%h"p4-1y$5x"bP"'dyʚ;)&.ű` m:l:fk5ئuܓ61Oyh̯+'Wj"j= VM@}1KޥjԶNtP:䴎JG5]EbO34)|*@ Rؚ1khYweuࡵ5^W\UsB Ѝ@,)F*̮^殄v6)21 jIc7tT~Là6Z\o[~acY"7$6ޝ\z"VԮt ݰH'I ~MY+* eFbjIK8T{ے$.zaB;}~A&Xʆ8KHO`픺O1ګ(5]hސB8I.n)>c@?Un.=x8<ƒ4+D2c&ynu:^+b$lРP3LGFԟСLUyvЭz@0a]|y;eȅD:L;Zy$j bkڰ`F+YH0x0h=6T,ԙF/)" 1L]5FP훰ǟ37w44躬$0Ðr>ԯ覾BA=履"C-'}kQYo{viIWn^yG *i `šE}V맥6(S# +("8uS\2 $rh(6ވ,Yť QR.~Z[[I' ;Pϡ*en;a|fC4"(Nlc>ѵyla=yۅ \ ⟬;YCEӦMkA_mKUw_T+ϣE1eH&0+C \ &<q:E$0;nTNz$c47:Siz1ɲ:. >R5]ž`ߘL3Wժ_F/4ke?{G銓LyK:Z?

    /,УhX"A/bUd8>.EӰ& u3Og!Q(=6tm錭>`1!"w.Η\+]|\x8Y%^[ 5$sx堒EցՍNcUqmz׵٩\#QLm7)(4 "9ebA/J$0Dݶ@# tlj#`)S2nI5ֹkH|hO-kY/p5lNJl @a*TJC)*(_3#g9osdqn[j ! /Kﺔ嗚΍ KwhC_]]P{v3v=I)+&BʞV~S@ "։aP*T4/Fb^+ý% xU|D!d  [8NFѽ>}Yx9H2^ z{qjSNOhMz[{ܹ=ݙ 2TDXZZ IN+e˰ +X l҅w$՘/9fo6;ձ8|ez3k{Jigܩ;#\_@DJ&ӛ5q߁!'b}qg(y+qA\%E Mp#6V 1ʯA'P1]J}ⲈD!=-16$%c (HYb"^(3ڡ^9t,{E  vzdv[ Ӧeڷ r+e@=g3Plaj*U񉢫1EύnH.TWGe) j]Mӏ HpkaY*S}SSqX4Fnd~.'Hch;&-oTk[?nxg#L9͒z"[Z)^N&a'h2(E,/0QYulH; F(.+ŸÀs96|%`G [4P"GiaFHxT b:bRuz(H&Ǻ͚U1p|Ȃ?X*絅'o5vx!/+̓_|2OJ>s)ۚ_Ph/٢Xk% 6-π܌,w8jXLw]^ۅWӯu*X=zw{fћ>g"4Sl?-hwQIe3&y uN9s*?8\GӔp Y 7ϥj@Xh g_z|^2ѥ5O@5`WQf[e[?f}ɰGcQ\hFfJ_uY$ r?K┌jzULBZOq;J(Ş>#ەfos9T2+,s[qXZ1Q2Zd8&_ tĦ5l2JA%mӼmGFUoUm(9g&?RhxfHM':k)FE5x tDA*^="LKiXu6?42284\W+4KaVZ-+a@azXo%-b_0ax`<Բ_m<l6aLQ; A3xGđcGةՈ܍Oq<7fL(eܼdJ-ŲL^*Ͷ dY5 GPY4.y(ϝtX}3T(Et>8k(R6avo.sqHORG؉JX'zαz4شBGF[cpg_)3,[ Vl{c=> G.<=P[u'y HRYae@ןE335OMyq-ϥu " M"H,eR%t#֙-ȋ_GҘީ\҈""x (w[X * +T*^)Uh xNk9 =kHGVe5 (e;⪟8U{yu`I<0W4>OG9Qw-؅{6vk'΃{T[qB=iKwHk1QCt3A 5.{ Mk%z02uS]gЫF)VCvUK Udе[QU79-/Ѹ^#} '7e;D**&WZ$ԁ^mOc,I1İJ`syqXr+' ]&v1h (_RѡվdՁdQeM≋F04[vK駹xO[ ݻ W* z z'qNu/|el2ϹHl.2-q]"{V=:?۽J?U+DMy?B.,2oוsEAe;WN@^6N[vicʊ-c7UD])Ѻfz[M2)<-U(*QnuEJO$~{d ^tT jݷ{9Gv>@p[bEjn2Hgkt D揋um,@6SFS ~ @61P1W?,ƒR~ɜo*g&k;zC%jo;g+,zZY̡@GC IkxG|O22B6IrA0(R қ̴)ORhPuysP𵨾Dx\2rxP\_UWpLgKz9a8 K }¾ ʂfZ 7@c[̽"~(0Yg"Xr* GɃwSȤ 2r. DEl*pDEx%Bv!ĭ@OIu dʖZz#y'('"?bGF*rD^W㡩6GORB}*:3)$G${`pp9'q|)qle4/f CK量i]Fiq}lC ME 3_!uWE|mpz@1Y޼Tn+52mXF^e!eF7[[RTXv8p_~cNMǚ$aL^ t H/ht5` 2xǎ)|atptZ; (m J2#{[/8b(o9"݃%q[?\3xX_* j4=k"~ҹ_V:oJ!%0[2%͡|'rBm{HtxdAZZ3:}Y]+Ѫ۵n!vlOh3S_dLFɚ =+I̸븚YX}#eI){ISj6h=O?BTSa:GdWxyדo "{crbA@ 4FN77 gA]1?_$mӣ2X 7摲y\]J傇|8NԎǸQP! ֓%iYƆg~O=A:ͅMH_oú[+|0iWhz$1,bKbfA#۰g"dؼ`T9={qDk sx(w 1=_ƒ^$j{z ϶n7\nw՗))r]UK')|;|(=HvMfPhd>O /nKLLw ,{@Td?g+2*YT$zp;njF)㱄cnOasĢ.MgT6KH"YS y6WW>o+%N0CP'JԐ`_eC-t\=,^9xB(<۽ԁV @=ՙӛ?B152:JBjl.2)C%І.>{f6 7!tu;0^:C mQh<>;+7FkE4." VLHWߡ/scu3f~ egq)(qxK=vG4_<񧰊*$tF^MWzW(*`(R4ت#Rq* ȠHk#4h^l3;=!Fn )S)F6?;ffNIVąnm gSQl:)={+! S;*I;{Cgyl1w92@1~dOhK敡G\/p.5Aā mq{ڦsXځa{nn8lVwgyWبL[GAM:? h{/tqeFIp BSLN{Jl^hUW[RԑHȌ}y浅="FO2Ys.dC\}HlWw'Jj.[>~#96͹Jx({)ioòZ¨N ryc*W˿+-^Dm7%\~ vjkU1ںwmj8=T?|_:_wv:R ~2Ae Y!j(pp kYq;_  8{Ծj-YK7Qƛ KXVBLR ߷q:  |ZVBב6 J7mŌ3vg Z9Lj3ctBfQ~h4GuU=Vͅ]- `cX: fed,U&쑼0K8P4ߤ<H(){ʋC3(ƞqm G%<z΍B,{ƪZ`DEMZqQƹ_ku43`G,-kr* 5|I?\W!ߜJ7M8(ɔ dJ%eR܉ a1,Lps[94TK0^{ Mp?ES{Ό3*<؃ӗqځoR=!vlc'(;9ӑ[]:"'`S y IM 'uIknsmy_`rS:`e.EUQvy j>7N 7pG a^ _Z6v;6WǽO%oii0[2wJu B1c’1n۳D>&gqS| t vY΃H'j~rþ1*Q͔lU"J}U寞O M}}DȕDm5V'α=CȢ )5(Z10.mKϑ]°G'd >ِDvu;[ʝi\`L G7jV=)Z*:.k2RaV&$iVՏ.l`(එ le|[<,.CQdqmjخPm* MpơzË"Ck{ß MHHVm;\).oDBd_ \`V<׆fpR~o[Ox7Ϝƌ;lhad,g`8B\e}qinI0@myr?摄;HgՄ:ěcABķXj/uLIg[#%Dhr}^ b͖snR?N&ln&¢YYri0ْARr*Dj+nD#^[TBN)26Ig.JxL^[/ & mYOZQll/%^ǒC@yMyoE DD"vkb][Qmr<'PW 9:Au;AF1%6imp->  oJT8{l)F4ӎP"ҐL_h\fa`mǑ'@eE:sRMʌ^ ,%jbWDpq1|?zG$w Gk:Op [qU D :0`l- i ",Ƙ +ӮBuDE{N~$,~u/Qk"a/+ -`˨s@0 9PxϞXg8 Atr44H0>TDe Yb +P~3`چ\D &UzPp*O|,mE)3n>546ql\wF]Q efQ/޲#86.ö!4/W1'N>6lЦ!=@zWt2K$B n1sߘEaN_C R$%7"?R~a[ZSFXvRoOuOhu nt &n_Չase( r䑵*3/)O0lXW?f5'ϊjϵK>/P#,{qڄ"#.%Mn[\Y+hq*%'"ix兲FcJ[Yj=\*#e~C2ִK\p]{Sd 8ك=ްA,lbEy|#[yPQǺ3S&vޭx&P0곾 $qm13}pTSeV2k~"`*+Øk#Rno#ZFg _<d$)BVH8C"O( [h͈:' A>"D8 ݕ]Fπp1wXDn}.}u]%E3 }ߌh3GV2RV 3nhj4[9W'DX_KO ҳҍU?k鞋n?+J>zVYKr= ]<Ќ٦kfE~h^kPzB#H˺,JrC@TbD ][5C9Ii.j8E6[=c5<cHKB:Ap/싨I \OkaH:y0i:uoms,!NM.>j[FI?5m435 7.^ e+oq R7I<^MW!o 'T8e62/~x$XT.Ǖ1 ѿFLr(A F WPZeѿI3-9tޛtA0SUG;:\(IU#íe (H0V:8i*=Ӡhet!/HuBwy*>@ `'J9'r⶗Jer!m?m|׵f^ĭt/l\fcgK{W ~N 2k /9F/"v@A*1ΚнS?$@}b+RO}Nw٤LUb 4EKTitN up2B7b1ӓ ZN[* ]o*i/"l4hwWBD=<:'~Y5[w/ݶh]ybٻ V-7WEM}944$+V71՟pJ[,1c0BIK?lpjť%E(` ֶqTJz>Xh $qT%OZl-\֛}`񶫴fgs黐4pTuՌtȘ7J/*֢w1+‰D ^"r Y лhPq\SXV؋oNe:DQ[oIv>|OX_En@ :oSC,}oL^H܆pWPr'S3 OR9^0u0šrxH̯bjD:. ŏR.AK0~=.vO)p߾#9Ƥ qq[fUJ|WoG4RŀgҪME%yAa)~/cMZ\Q!^]Nl1qE-^3-4&M <"[U)A>T9qV8jnKO#)vFv%IցWp sxlRx ("JQcğ8LZ_=G#mjDZ0>Mt'UNti^P~6sv "maV.Vz@CzJ^X7LYf CP5{P,){En{'\yWO,r<ڕsYMP-cfj%G%ػp(q*jpjS3bݵ#E$r^'S/D }VS( $fF*I\tGJڦshm]c2FPŻzv7z vf]Q++'G;w92@K"[ǠP̆z8ѹ "%{*za _ߐfdR$gںO= eFjc1:DVK.脜aC)޳8TZ6K ) |Ԍ HxL ̫XU&\{m@E[5~^zpMBvI#^`7g!$yK&M([VD]ֱؑyJ}٢{͍o Şi _ 1$WK/ !DRE26;MuɭUuo{MlwnFB6 d\efF݇!1J -GPrʢ(uR~f_@͂:R>׺E%|zХU MӁ7QCT5h貭[#!d[=;RpR4B,6 l}'v|!/-"gs?j It 58`pj D#5_f^ЌKO$ZM D]k|Mn` x(mmc bk 8~E\BTRVZ.Ӆ` rfh~T+_4c' ['.n D\F%΂5"XS͆5Cֽt&N*JhM0=DĪ\ j9Km4\(tRSm!O>}?Ob>{oJr6[ؠ%c<>n~+>`lƏuCAôl\>#uZU+3IŏAZY2iWqRP9Dޒ1ʲCnpR]6@r/J=3gRKO|za:5ÒJ>| HaR`FBϦt܁fnADy-*Mömyys4gyz05n}^6YM,t.N^Xdg"d֊ (v_[Uј7 {.Ťgs7d6t?U[G'e+NÃpu9њ:zIFxn ͈D 6sԻOŚ#2q&X$b:!D|جsyΤE]# MЅDͥT[۷Y}8Y^o1XdwxوJ]s+=ՔxVd.|]e1n/[:I|yʮ{aj&,^rXVZR E2Pc}R92~p`x$iO1!g~m,KT*3րYg5,3RQrߟĿ&> P%^wӗ5Yg\6}CvYz2dUxf*&]¦mҒUn G ڝ-) ;XnRw4E8a=#ߛofk0vDh,ȡVTc5~6%4pFG#^/B\(nEcx^`L\{ҩGW-rBe[:. [EϛNq;܇C Kwg5^ JWgs3y5Q1-B׸k\0떵hWfc1 6]#8> saMl9kqcr <eQ݄7ph쳗EIN11ht,iΠc`.t}R! 22Xsr R0z?kں1'n)1c [Xt ʞ֤8yLR^q RVVI>c&8Q)ԚͭNБCQUhYNz|?2’h^C.{dR?G37@Ov\a|92]vUx^@{MnJ_ζǦ3~w~^ն!$_SpgDH Kj{;U5$¨"h3d+伡)!+a=5}mgsɨ^I;^r!sq :7T$`5]$џ*-B!ʎne|•TW_Ɲ5qfNsD(ٯClwu[‚MMoT!g*YUQl;s8Qr=V3 `80fˀDպΫ/Hnu F̈i/w{Eo r}#@1E9(܎]BC#laT{Q4F2qg֙V\w&XA QT)NDq-U*ev!NwSIޒk5]Eg/򖨅ws8p m^4(\;A96{tDAb|5n`&<*t깠qf>5'm=Ą,Iߏl[Y!r(lZܑù~Ev )4\4qy4l`0Lx2WAtxc2}}Қ/\O|g{ZS0%K壺3yA<^ uQuh0&Mq>KI )e~2h+c2:CHEo VA2Hfd">VTe%Q^2o;S]a\2 @upƝyz 'XƂ;by$+[?u&5$e$k,-?@”C/Ў(IYDFjT]@x-{U@?3%!Q3el?5r%ei8戸9 ir7K[B,B2,߃ H5Ć[O֓- a h՛V x9f]o B) &;PսK5FC㥳4-{֒*tؿl7\vn4b|AkO2}^]ũlfSrQJ[sZZv ڑeffEJw%rn.0fI00u/zriR m+6Xk;s(.^d:!F{$#jRl<S`ey,c;$cV :6*`bQlDދߑnR%B nGH9Jax(`bҒt q#h!`B 'kOډCJ;$ ,-jCNUu[ojͧb(SHZXL;دr}GM>\0RC7:NMke5m@@\,YtnH_>rgb nT`ɤڝfq1_8Zp)YɩW$GqiO7 S@i+rMKit2Yܻb$9H,K_4 ~:z27>h֥CœЛ_# 0R"6''2SS> I.3 +e [舓P`. ckaYr:om&]`[zT"q3e JVJ+ NPu~5r_u^N3A/bcfEIHE퇬 :${OY1G7"bMRTA^hH Zi@зZOМ)շbPr'd[RJۇf~ZYߟh2\B*`~QC32EvrJ߈&N_'Da* c8#xR8+.|n0jϷe U`nocAm(~P~4 qǔ_%:fjlq4>J- g1ĘNo+_?X՚== I eQeĮ/u󵸎^+ER{${Sp844ވ`ef1ƥ͆qFDtCo7h^+نq$bj@9N Æ1. /$(W#~չ<}pdw$1nQϯE-PSOì%f(!V3*4+Q8wE32s zrt,9>|[R\. ΅+qy .e`u)o@ OƔ*rĻu$Bj+or`N1  mxBH W{5Lht'/34iZAz99,=M?叀%q ;@'ꤱ@~` Vn+C#!,yO 7dږ㎺/T@i~rHת, `׹5OBX@.OQa?")-M I"8nXMeX&r%`/dʣpظr٪xOwZ-Fc.:߱͡erϻD-^~QDaRRLBYr$߂sGE\6hv~4b|[7bqq HY#JC˗`?d c &!iW/am\OC =Q`waV8njPYݯud-F4I[@jϔq䓵|w*BmL[8al^#-ݐ (.1-'A}KwV semB;F2ށ9]U[i>2*O磅 R 6b9,Ը@l͊L7a|8U gJO= t 3JR}=JEHXAT\#C4R5'fxtjGh){@r 0(⌜Ol,^@ K-U +_ʵ'49DN0@‰ R60Zk.x4rPk:'|.G+4sV[Y?$İs۱A㞍~"e*ŸN0Cޫ~yoGj_5ঠU =\P[e&V&=BvTa2 ȚMaݚ? FD%i}a1Y;hiPY ]]MaGUrSSyxq>FB!lp^[:M\5- y K`CeC~XhuQZ\{Ϥx8,)KV:Kr) l. Ѧ!e5&Q Nnxi?60EgSŌYQ^Hb^&4 SV=cӳKg↮ŋhb2NKO4̛OվӚ"Y4>K"3,*U3Eq].xY-!QS瓭 `k}]0OI.=Em^HcАbP(F xĞzO2?~D3(SEJ8B_I0дtVՉkq}ZtS#c<Å[xn9aY+tǝf "{n-F;H,F ,wbc# f-Bbpf!֕ ?NtF0 n6  lTDɯ$V -1%rMZ]ζ!{`eG;j]S%h\d}_/OgD};oC&ӎ.{3]$q 3YD6h*kիsFM`C~Syȭu{ڵTǓn?ɲW@<&hǃٜ(y*zVs "%*i\::7C[2<\D5UK0 w- er|]t@MK/g$ܣ3Cm4-_5Hվpr:o7rVpHQ[sË۲INO8FHMK7o&v`۹:ͬQ.@6h [y5/ *l),Mq\"WRȤ,[̵ tU窹.D1T aa uLI`!5ꌫ)ʬUς9|DC"G P¨ق^(-f{{K_g)F "ncNa/*iڜ%0WXT*10<2{GIJ4I'*(1d)6B%Wd-wN'ZV*ѝtǴe_Bb%m=4՜ҿ/#9ٝ7HC7O'~ʭ Sp~4Z#zQ ޅfX̎DneD5zBÀK+g9i6/T.iVzY&hk3+]]x֒v~= )̔)'Ezʈ0-^dt!aYPŗs7;CW7V|o}7xQXEZRN$Ma2Jǧ! XYyWmQŦt0mzz.?@5MB>PUU,֕wrUujpQam4T])'.ل&+a(cJg}^~~O7Oapqo@6@9Jk6O*zDAP036">-PwL[-ည %#Ű|Me"\an^|?O0W $]?tA< njP^8*[IdD'Fw-錄[4: ㇷ#'qm|1+63_\:г4&>,Uk8 @Iӟ>5\Oh5}DS-.8س4Wi[ Lϸ]1NYPwruhcSx[J[6{{{fǭ$O&@ikrpAR J\9p晶-k6HɮԷ| .3BD(c[,T̓#9Lwa*#|`z$mٌ^JG];u0aMqfx+]$TGu:H_{lM[2&gOvt%/€ Cj~L9 Sr1ORX!]Tfi$ZikGn$UvmJ>i{D8,/*wA~̪s|Ftwq1owUf|k]ܠ֮+r` S7 =ź\\Fͥ4,SSOڽ+xώ-f3zv`kkM75WH,2L[ fO Qfh ;%ȅde .?c 9u"HR|סk^u0 6qօ\UY A eUO-BvF]⹙1-3 |,n%ec;I+q Pi:Mz7&MjsL?dV #SMʁDf"qעnbU~ u5f%SA}I x5~sO tz4/,trVbbX= t38IRHZE]B.RVQL+ϰ|lCR.n[oźLĆ*"WXgv+u?]w O+z' d$S!Θ~5if(0pRT.Ʀr:ZM{$.[a9ād^CoRű5gZblꜶ(%߂-,Տj(ݻ 8e[iހ(/dKGla5g $EoFٜHʼnuus8yx'nliMfaXi! a퉜Guǜ j#ej&*+V2 ю\*uLMM:IoBa#o.dsIkD'43\ qK+eT|<"_ˣmџMa2Y]eUސ8XS^B =TsU]ٽ5+.}&UQ!E2tEZ6H0̓}#Կ-{:ы"չ^mK&e\SYKemL9O)?(QN Y|>bs&f2}<|@F snK6r6s2T B5b$sxɖ#_ Ίj/s+\Xvkrqx%[?ʘ\UeS?͢s,+~Qa_2A(̂uWްsW|FW.?fnzʦ})nM3)=;,LggX r{ Y2$`iLS̪} 6DTgn#F>vV-j`SanCB q ^ L]$VNi cz1 Gu X+"T4php% ;}2|HRuMw60Ƕ)93"<>SKbh ݑ斢7vj1!oBII>杰igEThdhLZ͖C"`U7ޠZ2~ϝY']@œ2G WL!D*6!wzsL!}2x3x05MFQQVﺓhJW^00C`t 1ߖFk|B;oU4M`V4BŒk$*d"M`-О)l؍e fsh&v:<;- UaH|P16!wJzfQ4նq3Of>ULKlsm!-D]vWZlAh,Z~Nf>Xun$ 'is_u^eIEp{2CƸ^ V|ʋ cg4zO?JRlS3dz(#q*^1g{ Ά`[]Z"ruAXiƊpV@0mDIh:1B!6$o3$c`~ON a= }{rtgΖ(MrxluOxjJ3 IJ8IێC`_ko"1t1tAeΈa13X,/3>ՙۈ(? C'~|~h ?'Unj)C QI&mu&uM Vi847E0/DJDCok:S:nZԚ>W`!V{0=l`1ЛB"JN۾vTx!#;H 뙽G! :0QxmU) w,sY*Rc^ gw4|xsVxniA}A ""V}LetUYES~CWtЦ*zpK[Q"4I+Ά)ޢU )3C䔰@Wmg78ԁӖ4̩Kz#Y>(`QԣpƖ@g3KQȄTQ;zԙ6Ž>bQRX'%nS߂+Jj1e7IA-9Q#1ڜAzUT>∃񇕤,6a6IƀPf+*Dq",@0\0uF@!,(@\aIy(_ +bo5Y ;ՖIfWּ8tM.)H;]紜{3Ejo4! GɋHt"/9#ץSq 陹D-c 4ٛ:y8ݒBm ~oZI@@Ϳr q 9jׅG8nsk "1Q ]ޏ(txd4سzwoy=X('>8Jx%' "4 =`A~Y_Hvl69p ?W?}P_;p)*H_гN%Cɐ3jb&F@G yKWq5ӊ?Tmr{Uᄇ8NMFw1U nf۰#R)Wu00Pw-t43ӛs+/nv_b"5dDen2H,*UJ"A=<қ p( Ch!aw 5[9qQsј[\nc$nޓnӱ[mmm3O#Y-!n} @@nyEVmmK{h͍^5v6 abOզi6 d%u[uC~Y3: 2]+Y#@St7k΁iJg8bM 4V{2~|,N:dr(HΤ)Ktk??B!O%?"+Z ꓈<8h".Ys+`Jz?,[K{:dMRݝT+n ~;a:׻wY#~Mwִ $讃kQOcPA&3ba\&6*&ݙI]ܰvahk[]w]naZ iTƄl`>\])L 2yTޢ[M=-F[{h/鄝#(i](LyAA)%k{N]C֟>䥂 VFmgu-RNE | k *V>vڑbr9 ;@ %ų)̕}L`TY<( Ig M(^5 9pUFtkR:;\-YX',t8ٰC䬧"̘lXn햤[{yJZ_d/>˩^) SĒ_lI?y ~gt#̺#4+=e>Be-|0: gBk˓X %>4+5ذzb,6M]qE p<|P<)V4-UhFL yM`; }3xo5gZd[5S竛r_ Q:DHk XrJɣre*)t(R)lyV{/}#Y5fv`<nf)qa$#f7C+= ^I}|e6ƻ t2{QQTA%ҙcNq3^V/rT{JehO*(S)(wUlԺ;5#hR\% FOя*DjqgPkGȁ (+ێ?/bkXL\%GLhŊd7ir@>Z*μA۲!&P?/}{ؠRh })=<4}wz{2EZ*ڂycw^ ?#`*dzZX%W\ӬdS\ [ o)u4txoyGtlt1kg8?G ԠX'}l{:Ls9S@ L+D^?Itr.[x14ϼf/#+`E@wed^a}_Cی(Ǯ2JM(l#egQ6B To=@m1bFryT1$\^&BB)U7榒K7_S+cLBo| CV}݀tƽ@k`̈{yKpI&{jѤ bM\Zi=ʿ𮿨>ޤ F6i@_rW:a.nsgGY~]#OlHֳ:%TťI m㧝uTuGNθsY<*:91]rH#-iM6'!D}Dͫ&Ph> us4e,qHeZU0A [9d`Hߕ#EFBȄ6KCe`feݝ^)2N|'J%88ժkp9q.(V,'b,C0OlED]EŽ'S:hUU>mi}vu> $Sܟ8'g4ܢ o|ВKHk`הyx*yde~r+oy}Yp*뭕K8@5ikNH``lxen_5epF{pg<.E/lk/+OQ(l u.fNZÞC8~Șuc T|};vQ4E(8 IBo ?J˳D>BSe&\](mIU);,WV xaV]OlUJb"~| RcD?)ێ3nm/.M QvI{=fzs߼> K_C71QDiLd\.DO0T\2vFY 5W-k8:웞!R AHodRN$ZQ_F,|jP;%ƭ{]T3/~SX.;ܙf\"efG71Rq24I+Ji4iCslL"K5=7睳T T v5(OЊ5_2ck1 _!#Y!?}Jf6'\ǩX(,xET䭓(HHҗ[fbj"ՅZNG2b(zϪ٩ӏԀF6wx7FYM BalHiLQη W"ʵTOh1Z[ DNyTX8&4йޚKT9bJ4=1?XM6WXnDu[=+ӲÊjSVܸޖX ~O u/:\txӞm4a%Wnh(?r8v]4x\=WVkZүrw[0aK!A'GytA 6>E!r[TCs2-_+B.teI/2m^x!Pj\[NC KoةݜYwm!13)˽Q!^f ̆E?aH.W."jBFQiV|ߞ)H;|!Ģ|WDSp^>nFV 0;p8~@zxӅ:ʸs`StlF_N+@*-odQo]Ib)X d@5Te.ܗ.lہpEیMd]QwӫtpZ&ϐؘ 1^DZC5:(F*U-=mvC@NcsRLÌy%2I"X2oػ!Bw6B f"*ɖrcg/kl®ԩyqK \4uo13W">.~$|u!4E,p?q{<_E3Č!syY ,FToj ]r4@F)r\ܯ0*QT®!rf!?KTjZ~8Jh!#Y<^oP8FB͆Ƴ==4yp$gp)+f>Q *E=.կ(2c5 )XXv̉w3&O,?jx! ^<_L9moa_*ܸ{PR؆?Av m2$ ,f,7o\  SJY-ؗ>bkʟur~Dhk$iтPUϱ6AjLC>GQSx5 2ið~419b A9(KeN9ERdX,]$g[:NvibepeCsg}@0De"6ҷDu_@~rն֮' &@h RZ*>`l&͘%o`_gp%`ɈTAtD^zk<]p$ ߴ*"䢭DhMy0&v6d*Ȕ-i~aYn5u$h9Kyͅa"PlHJލ^y>P#y #]7,!"YrUæe$oG-E  HR;ڏ|.wPy}{}]?ԛdAД6F݃gC;'2:7bJ(_܎K+$c\˿b¼S0GWN@v@^}6 p}rup]ESYQ-C}gVX2ZS{sr H 3HMD-3ף#̙HEណl6wyx'_l#$̘@ؔ\ 209&.fv5֪a0R]~yq<6+.;P\Arۧ=xHPXY30)t:56oԤnqd}@ >_!-}rg:M*Jt lZ#vŨ,1V0U}&"7lBώ8+Dnz W//qyY uv?1jLMU˱ }b(m\<8pnIˌBf A[jWobaȭ JTMYsg%4^,(uvS_8:Heav*[m% ̃×W<{ 􅗨?D&%CVvkܠNm V\}XEzmBtn  oQ B \XR>cm\1 4* p]i E tjj=*C.?BL|a-́zM_3{LK},Cة5f'Pe]W:~(e} teY_ޤb7' B.{PVn{ W^X1Ֆ0$8(8ObzV~̙֎T=)׺i-9?/C~ BY _S~_;]F8KlM#B?N`h`qw d5F)Lά 1@Np\1G򎫽,zDTFi+ )1)dܕ=)b{3wpS'zeLa] Z>'DkYބY4L,9c _yEyizpGEz'wxU#Q׽^+U7C1-b@GdtkcH > ˼w%ڄ yslߑTZ%C\5/{rV,wl6&U#%ZwYJP$5EDS91լ|3܍}X`,+YǠLuF/+m<1'/PbE-:=Ώ01;*]W0w3+d w/UCgpsM;y|1.]GuDQ=1kOVJ۳h+{(G3˒<Q`BCڽvXMZ],7b̦-qYQEo ȱw,۬2@3_p#[tsdFF?\kⅺLH/r)|D+Рەh20.!$&9UTlVd5y! 쭈a"4 )6[.3*D-0Wzz4ohځ[RJ.w'>tG C#jv3&p>g 7q;MGɘ%UA>6b@D_+nc#K~޻"iD7BxtӑTǞ!X Y=,"TۃoE~F> ĘF(QXZ+ Dx6 \߼+f_fBW%7 s|FXw#u&բ%.盳Թqsd_!)Ս 04Z<8 trZ2Qm;2gMZs!Ħϯ"]ڌ@`ɾDV9w^\~Ә ravM3.7~=?҇*Tލ9%юa 6qeiq4n"+8 gF"rP=J$4첮Yߒn4Pm0a]{?r;DG$\{FTv87V^"ƮPQ/XI3EI\W7=HH]CWlficr^Z1گH `\^2 992Dص*Y٢&u#];Np5k~M@Cr|. :jG.m1@f9TIp@?KK0'%nTSNl@5vZ|RnOC&x(MyX?}{< ~'rX;nmǖ;bbrrz\[- NEPs=P&$9:@ e DpiHZ"Woh2ʶp̨//+š%u"s/tt\{vOnQLb0?X/,+Zo1̒f*f ;?G%o_S%&'_CĄ,cɓ#!$OA_y; בm7TɉTX~%-N*h%M1Q'"^#XX-w`?sO /Q!J,ټiiK| )A4b %<)0 <&QaSЅ|ch {CȿD7_QlkcYNR3; C*Oۣˀb;Tܦ +ha.|#;4Mjk^^j%" _rzFmO8}ITv?iMJ@̛>8R,М&Q<5>Ua`7x.`i' QnƚC/T6`d@y\ՌhkCݺB fqxYei0ŏ谵6ï1]&< 񗗘"0;FCxއcM]Й WY=!8[/Hi\5Z Au_ρ/oE*0f(0Cx8dO!2 <6~N]߁ww"y=gEYFޟ}qqo&RfYs ‡'*;6P5Oe3K:5Okj.k7lzf_@I!ulM0rU=ܙ@5h*j*_D]?ynH-?"m]N)ҭ6OvH"l>܉J2n1[徠[:Ey%T!-܍*-bi 6!QPTPgBQ9+BWc5X Ѱ p N?H373+3Fp{G Lk#=@ˇƕ .!0 -(噯Yf3>)JڀY}Ey)h o蘳 ~BJڙ#!L͏CamJd{F ߇Ϊ uÃcma0T-Ao% ndhV ; ú4Yq)y'^x hO[69" -"? T@tW|Oڏ@QlcwvL+ҲAH󴐝[̇UzJ_ U =KvWy!]ǫOtWMu.U=m2^`-Mc}[HF.b տځ8uIfsG#9f@KcoL4gCp tDKl s_l?;іd@vbVC,7C)JױbD;i~` //}(t~?yvp|VNb[|FX^Fܯ/ $Hrab}~,K}DڟHgiHKţsL9KA)->`"]3at3;)o׮4Ld%VY-$׺ H1$TE;ot\k^U#?=,w'Uc ^(? wYƖC >*}Y|_\S<O-OQJ {A=Tdsk5ZdS65ʑ|g]|FI[ൢ4UXiRby43"2tWȳw iWbr@[֨"~JQLF{O*6n/;l,d0 /i [H8-a)i!%Hx`d\%9bE@S;*y>s_{; /CcVt&n{2Rfm1QK1cg*ڝ ~ozPHMK~s/k`deW5Z.?_v]0H}hg}mc:Ѐ]lK P3E8'ʗVtnvDYFnNJr߼>"䗎02+aFio8÷KtG"&8Z((/BK$f<Zq MKGLӫWN-v]y22G ` t`pdH8Od ȃGwoзkp=Y&_TJ ?V]d;b/q$ͱYHRďEQp(>J>=Nrqd=}8[%U'YWAa YwUrn8:z!'2fXΘsjaa_vLۆ:5WP5$w T[XiП]8OB*-Rq%qƃ fFˣen^/7 + 6Uĸ10˒Z0S|iwU([CQGHEi$]>UP?{ ,|m6u谦 T0Xxkt~%}!vk1Pnw|zGʋCd7{B.S12Ƈ@~ѐ(/X.$Y9_;Ɩ"ll >s-?rG&Pcii|$V8R, rab,?`ZJA,-,w"a/3bݥ/lQzQ5 j̘o)HXSXY+W?/#ADC4uܖD\ų7:Ų,uLYC-:ԗ$c]Ni CXkG#=Lj=Bt%+wLkPx7m,asX>[>3qsZa:64_*sM^<[9[0s81p3סy\%>Aff?6S6n(4FJC`*wبz0YY^ iy,3rl. ɠ@(%"zyI.b fhi.$KRSRm\#6;uZ!^sKýshrW$vGl4V_7xI˹ |O`coٵ2 =A d[ٵ`cSC3s>`9:b\|~},[z,\6pB%N*VsТ/Q;E#YذFs[*~K eɳ26+ ȺgSf0}E=Ni?)SfM9;k4ǢU7}vs^UIm/d9GtV)h<BHgimϹ[ڠ_ZhXz<VJn:{OUYj~fu_uCv]n:|ʧy>ZT {!KH>In_k%VƬkE;y6d2 9#ȍZo.^[T-r0VZ]M@@0>Us&'|Mw#(ݿ Sdf!sߵ“f"0ZJ)IjC Gw%Dg`oo&ng/s:3˷sۇBљ0: cqwv?r d[P-.Q|qOx[˞.2RZs6 [Ϣ>4SAsi!;BB30m?X} —@Er*Xt'88}={\rIQv8UkMoLEP2.JڌwV+$(+>>h=3qXZ+>˴:Zx&ݼ2|a-{\Q W~\߈XL;X%w|MZboT`J/6J]"C f*J2/r Zv Sb8O*dQ#wNKۧϘ Ǥ^Mة58>$"ոҠV%~"A*_6SSG4h<#-!j}Npq6w"3ޥUF2Y}LOʂ N<>KvF*8Ŧ}f4L48&ReO6}'H&5P$P郫=9~tO67-8unT)7za?duMQP6 " Xl.Ö YvXn4K6HS rDnt$?*m^JvK~h>տ&z738r N&W.Dq>;tUX[-/ɼ`VE_H5K,ʆ 3fC<,3?=z<_p_;ߪ_BpebxRx_M.K1HU9LbAptSS~m{S*KGԓ LJn#$p '<53 TW HN|=br^Q9QtPUZ?4J\ t4@Z۬8-«iiefG v$w}yO0废 QZT?)gſ a%]u~6ތ-F~k\eP)mt׸8+e Ym/i'xlivl&F"g{M)V SjѿmmWܲT8/E,J,SݭWA6|W`L5³I{|vIPZpijL -\^Y'Ӌ>mgbf~[` L8x~~ױ\g UWuCا wV3&wQۖ0TF.zL3cÝ&<HP_!{RW2y2pQB4L]B +\#3h:Q`? jǏ~pL_JJK9-krY{9LZY05aإ!QC({>q&zA=Y½O}:\.̮RUvM_,$=lsNF[s<8{/XB'Ֆ;aY5Jz=FA#&D9Rۢrr#*_*<ߍ+@ŭMTsUmg GZ/I [Qqt(ˍOX1R=`=̒*nsMȻD5`h4.eY"vuR,ō6L޹)B:&^s++4 "/Km%[_wFB;i辛R!r^p:?3ۘ%o{%U4]ٱdFlݍxMΞF$؀Fw&zFMj0ܪ-ʏe)0:1BP8#80 ٩阺7I bW2ͰAC\ , b,dXSPgoV*]p`"gI:ɎE7* P)Ut.=Y!c9y$F '$`x]Bko6 +\ϕnl?pWOsIRoz ;-PZjk9N4s7Sfe2r^(|3TY(UZ⥣dzx\q˶yiXwqT@48.[ HaDPpKb MPcPÎgթc7E)J)L$@}i:5O-O>GD8/"yr` vfPi!8/8fHlvuULKԣfgiPC.RjzcNp6-F;ԛ}W]Py`vO)tp[fl3'13x`|;Y;m:t&@JQ*v-T5Xџ`zR<cGzE 7⢮5@+%7aRwH jlƭ/2̉fHK/{ mc澍oEZlcET'7ŗO4Flu?Mw"@+t#+yFǀNq4|ް"BJocHG'T*k6ln"$ t,i_;GU%>5{ط(s8 =R9kI&~ϳ?6cRN'iq)r}LE9ɒCs{z$?g u#F .ݠ @)7AXQn%z/*(L;~| ytԊ^$u01rVA/lJ]A;'ϷϺ_ p5T4!']b<]Bip>vB+^qx5 ͣ^8UbD! 8 T>%c 酘fλ Q>W"pܖ% C "|")eΟc?dT,E}EhXϒ),BN#l UXCz81Ӡ@S  $`.>9h9'(0x,N\/bUd5yfESG@fJ3ADZ."tߘGOƷJB^$!P`*Me]Xڐz2 (5zʲaWpL33eY 7orcdM rf^yuϣq},8r5:ߨJCXn2ti`Ezv5O1Ae*,ɩppfP!C,F tf%.3zR%F;*=FT|7d`wCC:*̉R6ϭo nZֆ5VQ I#6l)O]Kጐ"/ ^jRyyP~[-+~_jTӅdE:}Vt{^a#+@v[DM'5P곀-}LC/߾И{k@0Rb5f2+p$^vx-R]BJ&F֘Y܃ .x1tM\1NV5mf+?k"M}0WK5_9&m'I=ZdƓ1ﶗ)27OdrCK3iuV6Q3)JZHqUH$'_  z]I jҾ "5B "0N-y_"e-,DCL̼lRwaciƜm\'+_:-( 7΂%I`O^58ߚJƟsl|y9T#Pfg dP`1p)0 E;pRb[5cRwyX)_^)t-dEe ͬ&MCQFu-ŮyչyCǹ-h8CLFϮY)!bGF3Gq"; |yhU{` z SVSa[IA֍1$s'+f0#Kq|ws_FQk)q} ۂE `W'nduz46@|n"M,< ZxWsbϑrB@9\XQǢnCb=ś1GÛ3O9)'4bBg (DBFo9BtWJHv5\{trFI@oUX\B~s.~1Aj'Rf3 BHRXA2=wIӨr!SW4{?0a``&3&kaJ^Rp* 5:UW`Pu2jO!i xyBw;9l"MvQkqMЪYu?,LHHO`(Ol⚫KZX_/"['oX}E5Ӑ=y Qd_[2 \d17;! o'A/K&lb9Xj;̾:_/E| W0#2|r$%gS߮J5-iS6 ;9WHVw>`20ZҗiP_ګY&S>k.h¡tyJTqݺ2WٵEg-f43.vP E ZVkf:X[%=̅ge/%, .,02k_WmoG^,8%d/jpU]f _?6;譮%喉hưn8 c0֒yw耐 :% lݐ 6B3}cRzSJmhJU Ag'DxbT "8%u"4':URȃjzǑg8 8s$uF(6uD)wڙ6-gt{_]b̡׎ԭTBwy*Ōfhq`1a&vAC,+2z0L 'Sm:1 *{K ɗ]W`UI/wyʙ Q34 [p"DzCs$Ip QLqphQQx`X0fƃl2b8eWʵ}MjèpU~N-Qb9x0I'XḘM[,]:g,j]ܡ8$3^g=+2*N-64|o!WW[4y|^ +$luܽY h,Y|1lsb)+3,mO53K sf PnB{cέ2, z=E \I$GGWBĮ4?NeL<{b ˎB4'mM*GGqKG#-~ci'3BpJ=CQF}JG"QfA,3?Ko]<וƷPy9aЭjs2LvbPfWٮ;n蒄p/P:""$z^~R4gDu4Q,i+<`3NRM x)k/ʃЂqߩi"6jQ`X)񀰨7f2NZsguf~S+h7C^Ig{gMS~R!4 d?]bX/w ˭|b/aQ9/zٗoN</"3-]6H 쏪xv{>vty5Y0諾b0 aAjAm- ,V~0ڪ^mʶFrCZ|3Cub[ ã Fi~Z9cjv:k%o3`{( Ҟ^0]Ŗ8-ul?ЏjNi^FD@l$Q'MŊUR_n>7ong C7C^VAcdžcqmNyhm$~RLg#Иl8gz6Eӄh<[} ׭ß݌zJ 0>I LcؕNq;/€R\d,8߻7U2Ǝ1N[F´8@~Su8O;B!3F׵D Щƥ/}ӗYwBDcF c&Lt3?ɞCt =B T"{/|y ᫯ewQݥ> F_c.hqq%/aڤ[߹SˉlDLBKQ*9Ipa+GiEHZ$"7 : /AI+A\FzFzޘŜBF..UT((&Ji~|2;ȯҗvyJUGu'i~1%%>M΂4R3;4cr\RJ.|ˠ~ AߩK~nS"@8|{zyjl&Kyd? $F!$Wd/dQZ+^`ZB<:~s.%`&s;<,JԄT4 k0/+#k=qW)Aj%+H&Q ͅy!UT+J6j%R[Sǀ$s@{7'ĖJdʗ."،?5x_\xI2|WE_;@Vv;Q"ڵ,;Vf9d[*'9Y="~pd+eG/*ԟȔ!7 VP}3 9,n+أJO]ˆ5ll%+KAWq4 &|* IrCz'~o;\W p]eh\UteAfؤ ʃVg"Ǵ|݃JZp xά;Qdw[``IMDv8U(a=%jP+L EXCJpp/΋J! V*}G=|WcGji=Lt>7N=l~wC`9mf c=vY%m&z<-'٣Ɩ)w :zr}-p֢H銽 G|30~-gޕ^ ʋѾ]4Р'`<+zPO(2 S T(8&y2vf uC$S3q @tU(Q4| ]8w&@O2n 4"0\Q =a| i`6`P-y/*E,)aX4oRZL[,X[jO[E陝#hC:DwjM<=ι€B$<[B&wTLFU(Y\Vbǎ@яAjDHO*!.j= O Zpu!ۥsDCt ,_$a;7ߔqM\2Xq q1;x6Ht)o_ Q:じi⿏/89 `.>~`^ۮH]RukL_1ydvQ/ sijjQL`ߣ4bWIxAQɻim0Yf>-=V.`Iͪ[C0?t 6?{ݪ3k>['C(J[Uot[Y@5|Nyj+E0B&M)`.(]%xOJn -Cj0'|J:(  4=` ˭inz3x26 ӗT-%+J6Ola;{ʹ&t: 箨iZ]jhvk Q!>vRF*#(FΎ_ESA} Ea贙N9V >4˿jdNWeaeSvۿXCPp:nzia-`j!DD-;=V-!츋MbHf hZPinUofeMRF G027Jq=0E2H4_'Z9L@[>";o햰D |@G`K\!>r'ɕ>4&\2TO>˕fTw Yk|.Ϻ-&N$Y=o:c&s^ZCPg _{{3cWud3.`281(]Zv9UԜApH|f^^u^A# ;Rqg GH~[8{:a^EKDvQ'rPVaԧ+Œ'k\KY4SǑAt93Sv+$)~N*ttI |Avzlq:"HR]P Ħ;EdT'9y0pͺɠFy0xta!=:dتf;bmYon_N INݍ oi~+Gt׎RuAdR8yS0=V'3A(}кsRgb*pX*SXGA]XArYf4nCJ'B,4Ȫ<2(cEyW2G&}..Rku_VNuH*= {?Hp-лag3d 21;ťXiFRBivE:ُc: Ō`$}wt 9=5oDHu8*ڷBrO`s>mW]ٸP%a" EGs[a.[DOz̢b4z.6w{9wP }8H#I]x~:3O*ܭ6 #K݂NǍ'խtkb>-^ L!i-ejuT<*Vqp Ui3/@,.A,twӑ΀n%dxmֲln=? Cu|r||M)T<*mwPWVE-V9 J) OCT$kl Ñ%2whM}*d"KTv"zA~[HiNj]=9vyc*#%P)O9y@E=v#[ܮ)ˈBZ}4D=%ٰGD} ;3BbBpJ X|*a*4]A)9k%DP%H6's➾۬Զ%Ft NPUrUh:j.|ݹq&FoE6'~Ze^9 #G ߅Nl3:U*A_GQ R3 (&EnC<45jNPsSHLJzzb8}C$c0( 4jĄ*S^Oܿ9^hѾNmǝ'tf.{P36?%>ʍ!ԣg{.lV !^ 9jf,CM֛O¿}˷PHZ*[lxG36+=#p>PPZq?̉e;l ȌXQWy`򹞞#R&VJJbVO6K=4_;)B7Uw jL d[ϭ&܃Tb^ 20yWA&)iG¯ZTECiIx;NJiA$Ʒ}s ,C&7:VҐx{ͤtSet,^x;}YCT4gAuw#z1skiք4 .1|0~LĠ ;wKœ\̥wfF ^LJKI'1: S ޺>-/2K`Y8 t><-8e[$ss#HNSVm}2ljT6QhFJgE \ ҏht2/]9T$Ѩ܅ dmxHו0=T qΆC};<㨏3xMbX?1fO e Jlxt5v&sFC#+]>iqO)7NQψP~V^m/;1ՌT'3~&.3J6zjjGHflFy{|iim(c1*T;j-0$wA6nS.8ֱPr8'&7Yd-Qc͍^)c#bU'zKwV9W#HK3):t WPN 3{Y5]ah1> Ovz|l,?tC){8Y_/v?T\忋ㄡyVTyr&|r5%b27x0n ,&urs4~?Olu>Zn'z`CJ{9(d1M7wBHh^Vf4&E~I9\*mu*k,L=☺ݑK:E!@<1v+0< vᛣ-P۽b9Ĵ䎓>"Hq$8⫣\K7p/5<+PÉ ?gvSAw p?75$.֥BkKY5~wODzmJgNWvȼiYzNG:ᅛ=x8rrzKnA`}f&q P7z|-3rѰr,KǓ*?I)9&`T?RcT|394 Z8,ҟN O p+d|xM'Jxx !1VhM惦O M )e?AL:h5cɻGq$tC+>:7;0D?u=#t(˓~Dש+@T,8뙠2m[J|%e8I^oy\} . Pb2Y3٨F=[`k*}k3[|;.Z7 D*Q=

    2mpS)D ΠiK^Yh^gP0&춷!y5OR rEU> Z˜7-xj.ciOǨ']BڐA m|R&_KD8Q@8!,r`p!35c ld=SF9^,5v^2{7TiFŰBMͨ$MIA=+~ RI`>FD_ޒj M GksWYf3p>Z[80,꽂A {-: 唺/]F~ ь;wbNl0  gYJֱq*X::e ^qf^6Qn{t3 ĉ WDql[z<Ԃkj 52Jx/'5]fdcS6I.Qж)o6n F6 ,1Fv]KUTߖ@q皋#1<{l;;&6JHߐA|]no0O#U1QSP]G6,1k׉+ wQ|mWpwKhO}9J%PE-c}xU@>>{*RXȝpZ$lcEhOABޙܴ*'U J;ݗ N@!эzFg$TcnNo_!!b:ēAW&Ք[MæW;o{x'>f0Ŕ1G:)N~yC;w*,C <=vxN2qrG yu ,n0/[lu>-;l 1$EEDN1qqhf 'KÝL +*q!nXۮ qe",sr `}@\/BbFЬ]#1̒hm FD8밯ΙگT϶nYuK(4YK*H;DxYQc8Uh*)qȋ57ښM*Qׅ͠],Ekg`нg.mzSوf'uEߘŇr,K9kW}yX`6?AζbʼnP.Dut爅p>"p f1>NYq0R9ÅZV8QՓ4gaG/t֐+LFj?,< -HVjݚr#񸉩֌SҜ#c F79tj؎Lk/.HN;\ȞGp1}nBiuO<|!:D ?mP5c'Гq ` ?8*":?X=q(Xs r0I)L˭&cӭ.thhê*pB\(&ʑ)("+NYBQͪo cUIB:Rxhwi~ j p5Ԫ8)p u Ϩ]vJ!t놨Kд;~SXЮӮ5ϝVR !s"y}H1Rޖ݉ވj1#ko~#}r]˞v#"P2\>;d9"m }0tP}>VX[z䖩_*rUI Y#23.|_)=$rGuIfШؕ\d>mъֲls艊FDŽT o<\Qx& 5Y>A'g^pn7?K/ȿ3 J7H\gOym -6,=֥>d{ׯf G<;T^o$8q\5oQ8ZuBC qz&Q׉!mblL\&IDڬ!_8Bd &ۥ̌t'`_--d5ih0I:`~zX`IB;'~ӑh@ {W%Ceo(o6'.>J2d\ٗ-!h9gl!Y(QۻuQu*,t g ;]Q$Fß A;XbRH\ O) g @@g`/+VpTQ|f&Rs:V^?_xMg9~)= F'qrYPg{z4\?G& eOdAԈ gTZy9: ;İ;}GaKxQ`xW6>Sz5x@%;(0dE/Y/:Op=\Q 8Nl_Pk4K^ avُeqC?:c |bseR^㤯mm[g'=0!X)cL(l"=վd)ueOB'Cmɇ㐅찋BtH82%0E]-{LJf {EB,BG,`V N+byYiz>Zzw&v,W&5XzsdU$k'_EVxCjyLXe˔KX>&C]z\&R,v~_"iǡrh&ɠ`Y}X}I A8Qdj4Wb<ls{k}6ZpUu m9(ݝ1-Qa,L}f̥ް@ ?ev"*5 m>%Vvaa _zM?MJ'k%+k99i?`P:j>/:E<8 E+4Ι.sdh}Uc{Ajy30R.ȁ$@_͕&I:W$)8"qC`K쀃#_9B>\cềtNf^^p_=Mf2څbj"֧nӉݿO Hh'=cOsxGN)Bs"%aD[Yg+ĜubE}>юc|E(#Y(Uet4)7: Ops3 MF Q'MM;ՙ.?%c5c;cZtu}Deщbb׹JI |}\3$T*Ո=M/YЂ8K\>96H"ů1J~@ÿUݭ/CqۓJJ ;Zb7Z]1$>ABg<#'Jmb·PaOzV0!~.e1x7\ 0?[HL<Ǥ%VjX8iMz< Kk ޵aI[MuwS]=FD SyFkD ѵ?bH& lW."\mK.4Wj3}i6h5 cnJۡG@j#' HPNyL"?`ӮZl ^#: ;y˽4xX~rU_N سaC-P+%_\^ÄȌ6`Q%Kτ ob7cOlMNLP(+;g hw7\lGl>zh0V]Y2[L0:Tt}HFIYi+?c]٪XADž݆"څщRlhA:ju2!pP~,`lf _"o%mEoӵ uY[|t3{ ~y(cX{LcWRVGxDήb*TKhGf=a>?'v暴7xܽVn4cڒ(~^[)?naKgY,;x`VsNą'Sۙ4ׅe]Oq\zL, iǢ[>[EZ(^s K$:b9H뗽O"uS\-2fB( ̴͒9ZK}6mi1q*y@T$#.Ӈ(j1[cluk(yp+G@s,dDYU{{* xßauRjMtv)*skOi՜ly2X ~/;q4BL7i( WPܿ0zL:ʝ m %?|Ǒ7_mլaū ۡ 9 V! WN1SZk'r3E}FGKfn[Kᰢ/C[Pri.*wv3vk=x곔))ɔz*.A>3IZڮKHzp5rLɮ4Y3q(׃S ^vj )$𡳮 Mqb&~c|KLF\5Wi:\7~ðb&&0Х2Ŋ/>W{2_f #M{t(0I猶A]w k*N* fYT[q!-nbKmd7)BnShy_攧][Ӝ~A→' jMl+%8K"+TUQq] _o6UѿO%XZa'JeBJ ©cߵҢ8-C3{WltdrL4K)X̳hg.EUh6fG(u&ɕՂQ{c.jvr#([, P>2}V^HrS J&c"ʚ\EAi')˜<-z9m;%F UBpo%숯t}.j | 7BZcg m H+LMsj7m^uGuZ[gD/ѱ`gs6EN4e\7DIx d[zW١|jXH;D*-ߒK*p+3#T;/ {Q1,ϊФ=x\KA:J>E4)FT>;o!8+X+p/T1j/aGR 6N${?hF&cVlϾ._o{lrW ܉KM[|4e6VjG\)No5)bX @ݾ?3ڜG͒DYW`&),_7?RgO6Kmܶ|⩿x O 40`s:b/atkP=Bٔ4d`vȻRC;H ;[^Ĭ5}{O/_BW1߾%]]1XxgjD\=}O1d5=oVc Gx^yAo uoQ-&\$oeĽ%f$$7x̨N'v :q g"g4rơart>D,n8XN]ՇJ(Cm)/Y ՜Yf_|‡ٍnW \;jfo+JCJu!D|Qylc8 ,mK>lVm#?;&,W9.?F6gj-hGXq<M"13-K> !* 3Sw? *_4ZA]Of_}TVW~P>Znj"IV ;klqI/Pȟ︯#lyf[23X5"un!z^77_XjhXG˫boDhc <9 ~k(hJ؝jri_Sg]UTȄ>8 yߢq6(vGe-I5m=␇Z*d/[DBvAiuwb^ yb ڸcub,fc` yKn)8ajy`-H:q7KMV>*jM7q㕂du)3AD8J&ޅ YUQ^*!jn~N lX$(&-ǚƄ8O 鶵P|~pWQ\Fb5잡 ?].5&Gge0}[mO9WyH7жBnhPLby 1b0OP )SBEI$pLK 6j@Ʉn7PT|ez*?QYޕe̟0SZj4\{&2}yJA5Q ylxWT ,CL%{P!MrٌՒev43LTbݛ!77ʼn>ƅfq z$?Fa.|1mV4{Jߞ^m 4m`k$&&)po`J! Fɽ/`Gd{g}qيK叼rxlYVgԺ! iĿ&9]xh8/'AK*`WFlh>2 ~a(FG@ђm{ Yl Yݰ ]'A=HxG}§Ϩqe[*s:0ﮥqk )s#AFyӚ7^M}1sKd uO6Q_; r32o=Wt0:;.9 `'JT{HWq 6(k˗Xš_h|KG >l揤p4VUkol-{b`s=\t;| UJ.by)GwK lqi +lq($%p3+>5nK`wƗYϛ3Xqf琥.bVcd:.6~+;|'v .ry:k*LFӂeDa6J7fy jXUdMɹL/~ivwкquik5~ k/gkʿѻО ~օѨRFEY74r5N󚐰aãH¬ 7?)Dp} {d 9dZrPs9n8Ī6Rcg>)F~2*2~o*mN/gjnH4 "8!AaW_zu9΀.p1T?J`D;t~Q8{9q'hnѰbF̓Vjk<mlO[taxc՞26cMF~3ǐ|5Slì C@\wbDmu/>Z@E*ћDqZbvsWmެR<9;=Ȣ>+:[Mpl]{!2Tob5%N " T*K8q͡-e8(7{c~2T3 س9Dj'a-S5Ƒ^Vَ^׬?᷇M؋bZ\XO`W$hg+-Ƌ8?y0) &ĥjeAWʑmCd՘_tGTי*fxFlVw s?^zst~fa_nhzxH@Xc,v<;In6}r34vFw1YypXa {gbd ̆¯d@QaXw$/}%iSfb8]Zp-gs^oGȝW o2w'=t ǽJfGh\ ~UQ$aelՂ:u*`^T+lo v tn#o~#e+ϟJ/?(WcO|@X@,nEgLn,N~NrkQg$9[S)2L>oAݧBS#Q3ךDG,칣x,%B˞0BkY44gZH!, ~g5dڟzqD;-YjVHVX~Aae$42зeLJF%lg{xIEiVfɌfghE\3p]aP~\jYΜǗ4lcbr$o(T>f)XTւ*|kCBȟ Nu`v{%ِѫPB#6E,>rbO[tP%Պ1dIkZmEVAR+sOw\1ռx &WZMB@t!ry,qeDerD'k?h B Ƈji?fQXwtodvEW\$M5\~N{U,1DE=sTղH6ǜ^ʿq>3e,DtQh4 5. ,#*;_ 7,r\nKz1̨JQ^qaCbmvIHntB8y:@J\',6ZEGeALx~ jm?|,R.mz&P ?g)Bs8jl{Cв]OgƎs J|Gz\RQYw^Ӗ<YF |`hy9cn7h{ChW+ گG7#J/{ !0PriqgBG76#x#Bg*H#$Du[%C"L!aPJmỲc׺uԍfBo׬>|sb'f>ihࣂ471Y(NcŢ'imsvU!o8r'X۴l@9P|xyH7=:T#Ӡ7} ωUbjOM)leHp(__cLa@ľW0oo@`nq<re^s ɓCnōK#|Go/Pms^'XL߉K&S r!qնnN&JZ۟EmyƂRV>5'YJȡg#Mn3l"pma*"g͞ x[2,:jG:\S$iwhCEA ,Pw3([RMy?6ika1%Q@ʼnӹ qܓjn'p<}w_QXJ^~r7҂AA6W/HPpԨqp0=%`;sW-XJ&, KL+?'U,LH)uO`}3a:+Ñ y{gTMǠTgM.-]=V3[ F`]Wv=rcTED/Փ^Mv՚d/NHZU\Q$vך7\1-X27_HՃ6*2 m dnV, D[L%* b.TKlttnxn!n3#L{k@rb`]Co&b\QsϪ,}bVqwϡyH؉y"!ʅ6n(RdE87/sys6qLBﲎFzR ɩD])ا₎dlLuv{^-i{_zYvBtMC OT+rwQ*W@x(a”p[I!Ơi,_q z>˙ic~ .+6\vfIPh|K hND mL9aLL]@@j٬fF ѡ.hZm}4 QHGsJHh 5gq n.C81SЩZbֳ}k~.~$ːKYZƹ5M2~CQ-T[ڟpUqBF;\dJ.J:*THբl5?JG(lv']hVqkgA&t%}u(a8f5B\1l+t’1PQsRϝ}Ǜ}B%s3~"JT5wڟ`GmR"njb06b/ ӟS(AL<0#؉R=IȈ}"SD DʼK$a 83,JKr{c҄$Xa 6 !AJ/`-hgARyf=*֒KyQIc{t) H,cX=2YЗ{ՏŗT<,1H b ?>K~ j{^ۦ3:As'uw*",PKC[lhZ3=cupꠛmiQiN\<  'Akw[^[7`62=J$`+:Œ u3r yEQ\">W奍UO}ȩ)K.*2?h r\SsH{ɖӪg>]/05ϩˡ*ubQ"g֌@Q(/A)Z֮ibC&`Q(F!M9 *`UqN{wUq#w{i{Pvq4+G:9/=ZپvzH<_C2D<9~l//s  "Q$R`Mn_2y$muC4s`s¤2Xh%c)R[[u/B8ރG67t$T$y*P9sO^}˴2zȶ X?n6 4Z^?&j,}ڡJ.\2#PϛblɅq7dǫv۱7@K}Uils'5-WF~#,\(R:J;/ø ) 2H_=:V-حUnpӤqf/f~|GHX'}0ή2Ǣ1|ۨWXjWu3`?0/ە e'Vp׿YʱiWTb.],~m$3w`?mf O*ݫ |&QH[w(+rǢ/$ׅlu^+h=ܚyY]F1!&,T 7T͞I(:!`|`[ J>k} nI(ӺQVESbՏYdP=ot헖m2cQ滾vʋ]N|qOZt ]e0+nk8#Fa)eG9dM u&n֡Z`3?Ԅp~J=mXEl }Pt3x[#p!4$TcV8l&V #^G4J]xΐ*˖~'QPiIXagN dU9]Ǜ`:;I3kݩ*par{-NXw<;6('e1-Du)j#l#-|'9>z =46ͼ v"j.@r. UsK,UpH aF\QU8 S w]. \ȞwN+0#]Yh6p[(]fWq+C>,$>0as Ch$YZhXxkQr2%X;/߫G¡.κ_1?*q (H( ltQTvewdw3>>%)],/𞗅H6vORzQĮf8$֝],Hkydj<1wq#Kgșק=Z\ȩ^r~yD#bx* `aS =dׂ}^xYR.-:7X{I,\~)?E$cplrX1Yg0/!Ke63GAo^fUd`V2?/#bYs&f t2N,#x=5j#!O XTC Hsw[#778|UJ<2_,-4Xa!F?ϧG3ee3:ݜ[=lh%$M|3炪O~rf8fvzϯ;+ sXOαe6ޯ'$UËyMλ/ ft_J,-+;Pq TE(. a_Mp[n ,k'HoʼAcA}3`yc ss|PV6ҁVInpeYfr(0jg-΍ #w.džTEur8dL1|MnӔv%I0臔k )k ܤ;@tg$vjkM K%ݗ_d'%{d|&U~3fk s-j'P$]oA6h֧Ffho g@TVಇ#`b>ntI,-sx b([j'14UcC1L su 1^v$8I)UH" tSta$ n<ܫRmԔq;$Q6&@\'5ZTOZpW[ VQ 04jB!R}DL5(X~B@O$iVVR ~< .tSSuMg{ Ogd#5\ڋ$m 1؞zQUd ')reK"SܭԯR:DVGu=BRڌlκl<ֆZtӆ3*T$sfRzKoTIVmिXeZqS18Z=kIE\ȟZGvX4"|4[A1M y;Ss<ܫ;;%%Ї‘t,i./bZ (ʉv 0t϶*z$xXk%F]UD@a<*N_@A&mr_|!1k7& \Iv -hE z bDNk五U-ثiU*ISBW`1hS&EEVN?67Q^Q,{Ղ~x(g (Muf[ccL~&^Vh*QAd@l`9tN3+Wl>@bD0a^nR{1#aeSuZιWpg<aX|E'LٹHw"Z˳z +e꠶4_Doϻ}t [AoBPûI증װbF4o%gF%_\3RUxU):+[âc?$uscvp.=w[ =xʅ[ >xzuGtwNj_Cli DEcj5dCurDdDs^x٤ʆ*lT\ԵٙRhv"0qP蹭:Sa^OFZpΫnR( ^a?%y Ñ1sZth@WeD,8~K{6uv= "4^E{],hf&s$\"XX; T먱 d/VGSypa4pt [My+ҙ"m5AĻZGWn@i(E[L*YeǦπ]؛2FgJ`6*G]Up Ds7%]T^.GzkK ;2~nAwFs\pMg l:~v |6E/S]Gɦ:+ƶa*0]fS`gGw7(H {R `avVҼ:Xxypk'ܲ\E[U3;os۪hKQ7G9Y6١0egȰfU= M#ӡO67֪%BuK*$tZz_^%4̙&4]p}WX#ٮb'\׺ xR-g[\p{e?6G + 7 K2lZDf/OE#~NgɄ6Y^ m]LgHC LUw-6 iv tdO͟}Pc^J,/, 7=ћgRݵI&Jm/d hNS9+P98]Q/Y qi۶N }ZXY) 9"kʸZ}q_9_Pu *.z ˇ8i xbYX+p 8́ϻI~#I`-HK_#zb,KӐx=6Ї]$ԧ`RU-.-aϧpˡFT.5Fb'8_c tA[A`'-ٲp5-I=t6V 8E1N 9= mSE]IU3QY%G3k5Hr)K[0m [D rIFk/0pp?ArJ–ܘ֋E\c3;@g'm<5 dHsVмn&jcN?v uznGwX{ZQ0,lN__xj x%4ȢxGiyԪHXZbf}"S~|.omľr}`ɿrI\:)wQ+@"w Cg{aXEEY4;}oc_%g0fh=2ҋXӰ8t X"^QͰS(7䳡ϡI#H7gz҉,xކ_.d`Έ*}O]dr{ٖQAaMN!/o" u1=U pצ-/(w{)|p#A,0lXbǓ}!N} H>*zEIO['m` '4y=YF)@QΟL^ĄQ7:jpH1{' y!ШD'ldƶ]2)SǹVs$~E5yR:B,zw{uΩIWme-iG[4?| :VWѡ ̄?܏ɵ7W?=xٵR4&t뤞e7)M}V \8N OHwFe`'Gmg|1AVݡa]͏4&m3Ys)tZYΥx..o$cix"{|$4c}zd)H[u-vp_ Sd0^2gk!y @.FAۥB?a^Ƙ^VҺ|2JZ0&Z3Zo ؝e!Q:=Hkcz+=Ş7DǎqHEL-ËnCoBШ>VCIebuNv`g*h\, T/@?Ph7dD/;,`Z5vRPT$g(c?QZDUў R+:4(E (E WyuR!̴tV遭5,[w׋C*j=d0W5ЎJ[Lϻ_5[ y*8+SяZ5'zdGxţ:AT"8W>AajQswW%W 1XAS`KxP㌍ڳ. ^r8ƆӦF5ap 58\m*^QJttYGh|bƸډ/ZYK V=0,JgnVztR+*QqX^1·  HR򻈸m.S}^yT=r W^*ԃ5FAYWWمƉR0>%m!ѩEMkE79an .@FKcG͊{ 3*!4zJP<9yEKXM$p6u9H)l%۹΅*Тt& )*OdsM[j[n-H ̒5<?uA_X_*ZiX~G8ޤ } ﵮL"~eПl!UB$; zXB!e&ezI֏Ŗ*NuD])u=1t$V֥ m$i\uD$Zz>4-W(T)\i?k޺ht-q , 힑JT+"-cDiEi㌅?UNv$IB!}UF"WZ h >CtU_}d8H^SeȜul"C"[z~;5.zq ݻCF~7]#UR57(}mc|.T>-T1.0!y =d^ _^Lj`8{)G 1vwI3OL8 Z"azypcxKI|UXGhRWW4E>%E8 f?ƾzWEbcK>=QM.i)`eT6HXE\ܘWSG9\T&Y kgsFMӤ *taOfKF|jLqۇ%ǡL&_}IQE/E}KuB$;G)<1>7 ੧= P^Moе%>jJ}ĝj'f094s&CP5T ֊oLl!J>yyE[ W$  WP R(ZWMxrȭʂbZLoˏb#/)bֹjp~Ӛ3m (ڱ{ziX!4uU;We{D,V $SWy2 Nc-\k%J"r%P~Ԏy޾aK}O\q(v]GVnї@`vD"4hJS.&5'ٵ3aм^UT0cf]k 3'vZ=jȯL0!EzkL57'; ݗ]h<~*tI 㝦}zgIito_YKϤF&UsppdblD?|Pa%<)_SSNe?ҲI).fyQ!p8m](גISw֖gX68ES r|SJ'wxSQW ;82/KK@N< A[4JY}Ɯ}-W%t-U>k.0 wސD_|6BX Tʹ[(d賗 0}szc~.f Čvvi$hU{ 7!cIHHXlgяTb\~RA,񭷜Ûh=IbYad*o&\1D/ĭ1Cj+w e8^h=ωS d]yX [)G7} Eh8L)!9*+ V%I \%-Sй*r8gaf%7&pqҙєH,cv>my <>1.psK%"=Cp X<Sу9ym6zn™H&L m SlhQK6{Ѹ;{@q*&hOҧDx-CVKΤKR[w3>_ks"PW60=f}\{Nf]kaT"ąފI8$]vS;,~>xkke)Byy0t_mjtn=  xV,dZ x51QWNăiM+Fr\SiBu0qf&4a݀(|9TH 끽v3 *6w3aVXHpa l{9s0 xQH*.8g̏kC|&!mdUv=_73tU)xx6'p?:cѕBXoc!!pj4#EuS~_%d/V]X*W]=NtSN%sg)̼`|X(ښݒry'r6֝a4igd{z@} Q{ͺ*hgߖYqpƏ%DgFJ܆ڟf)Alq]-LBLwO|HIlrsZ0-OwC%E EgMg%PnR~/27LLbZ`ۅ&=H/YfD AՌ\r@_\6rsM5ٗa aZ)FAainݢ!β\>_仛@HP"տZ˰v)<ϫخ NzxLo|=ND끬Nn]p!Z1p!"=`%m?"V֫_(97;nܷ,)80O_#7p@}27q lľy0r G^HiV!!nY,Q zaL߬m8"6xꍟ3|ˡe~n_>{CѽVfˆ0`1 |lmG2=مq!yg!yT{t\3T`jlcbdӼ\M:MNt]XlUU (\@o7®y{Wp%ֿH ǥEN/ջZ؟k1u-HSW@f|߮sk{`\i7x ?6ͶnXD2f]'qV%O'鼼Ny4>G r&Flae{,ce%n<ؚϓji{E7UM?$S9\.U-;ZwAd"Ƹ EGǦ $g)tVOw^R<\@lvḎ{^Yz8lϧ pa&}i tla嵼kl8N~3hBXoSO QGfJ#c/U sٰah 4,z1t$z\m$AYZ$4]46 |só'sGz)3Rg$ 33BMa^RbRlOk "Ъ+mfި kKt?p4I~z $$,67Fjdɖ;U$"Z_ߍ`t sI_S9%u2`aQzNDT9qky/',9[Ū+S, )v_xU=z' %&Y-{M/6^PLj7),[tH)$j_tI/0阉yAg(='tW^M>e&x{ՎO I]QpFDQ9,&B-x,Ù^ )Btv}c^l6AIR/,+cKPBTK8с+iXEϨ` nwC\b U8.'4avBUO)F:VA%/9s`C-R`!xMyK,;d{E3:gЧRm~LŎ4r<ս>>3uЊe0 ~0SK_= 2B1)nY#WP Ddj:>vuJk1=uE#e2w ($CHY2T[oLr]D1KB>VqFS(!< &LfHtAU"ZbXa Wg ^Kh&|2P8o18'py|&&YlO lӰw>N crwax+y ҫIDfP |]tHi2ыR!™@(5TUuRmUz[b\\²܊s pMSʲyׅ:dUP1ӑ̗†(>Xa꣓+1˹_U.&l m+u1"pn0 f>ls97lƨf}e1-Fk~?2:lGZNo^UMs JiԎ ?Kq.lFiJ)z|-캋cc$_{ppi%Y_srS͒&4:v!#3OG|R=kWHw@6 ϨdD OH@Q#ԃ-C! / <ۦe*4^<:3gh ɀAAnLى T1R?Rś, uγ‘_:[1CYku]0LZvam5LooҴ7HAs 5nPbt=]->]KTBZPJyOxneŕuU1?}B]߈RjH3W"լm]넰O.ۓXW/Fݫ:x_cXq<ڀ{w&I69R.\!KO!!BJ:uD' l`9S߹~(%W3@'#ZWCbȴlmf[lJj< f-LGifu%"BbZߤYE,|R#'wMwvUwy4B"5EETIA0#4UrC(gQ0"e_FW7O($% v:;AeQ͹Лw8^< eG. xPܟ=⡇8T868 X@RhN[!7٩8c}j1}k#\׵1|̭vL#Dڈ8ys+^]` ԥa\TN49}+H񗧛|9JGBK:H-bdw՗+/`{lDq C"iR'<;eя7B̚fOT3.uE kn[3 M +|-~=9X%ݥF1U5J5j6h]ZK4M^ f?w3֖L>E[#>r{~n}h %s ~;͒}woJOtua1"s87mߓC1 A&ç6*Pa e׺jHi~dSeBuhemKyEKXή ۻɶ#H,1{n ҿjUx٣\~U۳^жC+Y-"wjNW1 ɐe]UCG66`ʧrTFra׀9Vf`49rx$/tX]v8ɓہ!xkWEp9]ʪ'AtmtNV .1zB )^]K,X4HJl 2gim [${ "c~RKRmJ t=TJd p Ӻjbvw&iccg1G~1Y`>y2D5 =C( Mڬ^ 71^D~H!XvN|ȳS"F8Ж{0 <'g,`~OF1kt*p&I +e},PUzHI@FPrw mÀeIVN]/ a"]6 oRe*ȼ,?|#3r*ĒҊ&G5,O " u}4MPegJݐ/{j츟~R@s$cso#G*]0phMNwt>df%7F1}f`N[ ._8?(`=֋ poHMF N9c;C [Xx!Π`d;͆!xl$%k_x3)YUF5fF}S{'T rTOoaV<ŤP{VZA iwa$z1D$%J N< ZR;i0iq3eH=1"Em/^PrOӸ}rf_i\UF$+9qVi'ofߥFk_ĪS;z:Jѐ4T(.tAَhG|2*ԓ^HGҏ/&ix![G.+Z1e27z)]@Mlf /' 4!/d8~V(j7n:Ib9| P2v",`lE;vh#:܂UQ>pROGE08xa{B=CT~ԳN ̞v}]}JˡDy+็$)32""k1-nc 34w/ڧJu9%Yeƽc4WaeV_pjcyiO:r~_CTܫA ?*/HwS E^t Pm0dߏJ2)^4q5–zsuՑ}uqlxKn.!)Y aeo^'߷fԦX].SN/"Y)/\%߉ٔUC [cև)&[UkoX5[?!4ԸQ Gdc Jg&JLJ>X 1LvB 밒 iY9G'"C)g,  PNQfIG=ϵ`LN[-9F?@Wr]e OHm'0%)GVk~j0;^1ӐGt7Ko6U >8Xr)G1w<6 Ft3DnwrNsPb&v%W/ݛ?f}7JԖ aS<8›͜`NuP<^P)/gSnV=+p JXF<lYM#e F ۊWн* r,kTysNcDW1:5s A0MK2vhfΔ[ !P¿ӻ\9ydJN5F ⿝p .Oͣguֶ^xgQQjuo@ڬTԅϲ{u Y!M߉aU\3  <4b MkC ˸Ix3 NP9̠l&y=/Fϝ,8ШYLwpZ{JJO+MyT9jyOS 2[z}Π,jT\Gr۱[ͣPu,RґY,k^l%{0>UKZIDDt2#@NNqteHP9̯]za-3D_.al[I@ɇwR3Ғy]-r^i߼R9GxeWX&iЯ(ʓ8FjL*o[B&opO7'l=uvquDk"(Yx\2fv-yBnh/o#Kxĝ&RĜcr,{px{@okp%R$dȞ8ҟ\7W S`aahrCW~;ݤIǝa6@)D^WnX EʝZ:m:[{&f6c&D+hpFVll(,<8.!x6anY%XD]C2([ a> n@y,~:Ph0ٵr1PHyM6BFo%#4EBWL6G뛀97_d\@ ?'}^z9Ib0`q_[NTTݳJO6bR2E·=i%PfeK<|}f,Au(zlc[=?0?g[1 )5:=.L⋨A JIU?'=- ,NQ t\mjMӓpv[ K97O&5{ׂ F(+5!jcQl| v!OR s\@n<׈=,WyAPWY{QYMYf5Ca-{(;*V>ST22H}YQpqiIWņIAm/h#7Sl8h@ѭJ<&cjM=`b& }O Y"Ի|$.`)1(b7=$Q,n`E?`T-'澀u~ a'Pn~H Y9zo<WImiPmo'USPSw$-叶$XaRa Wѽ鷫t~,al~Uaev;=({Ft'3AcC@3r'.kM NF;/ғ&"-q"N}􅹑U9avIQhoh(͞٣LG_K9ﭳ],,7%=MrbFڰgȵLn=xR$c/p~)1/y8 T̑rwc02j×ΆC^H]^[!h >LT\`qvo%ƬْaiN#dW*ftua=7l-^iPƇpޯת~0Х+kuՕꅤ"r^)|ᑑzIEZbUƤ:# E(쩒 `LoTC!\5_Du?;d˥l*A"o8,4Dj7.-Q*Srj'o~v^Z zb%[J.Lk'x(5IfW?k._v$q_0h ňm~%IX=47tWR0N y 7%$s؏fP3Ѐ'JHWZ%-Ϯ*l Hp=In?5f$z`)S+cq[#) $AH<ӭGdFĘzpO!OXEER-5uW?с%Cy# `Ԡf8G @.=TuFE&:D*`/`)P A F1BYJަb5<$ЌןH! >ioqYODqL u$S2F}0`c`Ƅ+5J#xVٸsH5i@OvsWN@gV8;{*d )wM ݽV" ψtוV 5:ﭟ]Oijc%֒ZNGzad>yC""XK4+v4 I?E@<'h`me@#m"5pox2 1_iܡ%tUZӽr{^y ZUٔ l^* N>õDP~>Tr [e| r 3]#6)4!n xk崎1d~wŝ_]R ioh ͔ѯM>a;3 ⒲FDPD~GCʜfΜq>wD9?9L|34rT$;ݖ>v OZ{dԙ^\ۺŅ@s%Av걚R+y) bwQz% SObQ Of^y lcԂ鿴H42hMM&ױqŢ,"jHׁ }܉fu7Ԫv18g@2h'AZ5X\+ݱCӲ*9jrPW^>LlxC4w|LU{Y޻JUU}o3_/1էm'$cr؝-ȪzK&2vK l#]B8r$N9#e^@G'e#3>̆Z7MR3yflgrH (:|}6J֍?BIͣ'ޫ~"l~ÆDpg~a^ޕ"2"D[vB.{AJĖɾ+ث֚aaE Č=\iWuZ zZiΣ0feJ?w\9kI{dOdm͹"8Oܔa@vZ)sl[ͭEg$,8Â' LBK pd`V :,yȷ;c14= ]? bkhgKĎmAE='BRtQJ"mfLZhyLbR.u$e$IO p,_(ɽJĕq >8͒cJOvi2@knD:}^ iYd򔁮/c]J2MJHpBoc0ue@zEE{hIu摉6)nX1ckj) )PFee., uE r]_ 0QTN`ybbN4'R5o/{FlE;`\h⚂ ^ne*4K{k3mg#cԆ-${ WLɦ:hKە![2'bs*Nba3F챧Y$ąvq X|:prmӆzX HUVJ u%`чn\ܹq曗_ڝ$cug^[[S ?qgяY+G:fD,"H~\[Â%C/x)c za4[ۖdfZZy)88rr*Gm,4kRF XA Vher?{'[ICivUnϏY e ›g WWEE4J,n STuJ NSO&]?é><- kEq˜)օ^DŽ\A#&m3bX~o9-RI_@J|POǀ 4V:9ħ=-JUe#V]ݑaS~f1= E֫ɲx mN(pRpۊxyݯJg$cnji{GjБaB1c$WWI?hUg>Kab-³kv^Tvϒy6RN`5=iiY2 `ݪ$?] ru:X ; ]-#.ton k$>靜ZL,BLy*0\(6`٭WV0 wBry[w v4]G#X׽t:|kn-{Ⱦsl7"ҁa=GCafJ,&/v*@lh2[3P³^!t؂ʘY>WR8)jq:೫ 9M(Te% ,ڜ'w$* >Y?shb7JȽՄubOԐ3j<gC!hST}h >~ʼ[uP"z37f@Beqgdȋ"4a7Gr@BO!N M^?_m$(*Lܩ".DDkp]\arѲ[ԏ4EaqMyU.,^xw_)^F Lrc_܌ֿz0跾&jJM2쁧ӏ:zzuGqBS`fC;< N3U`#kb#׷"',D^]3pI(9(Mܗ*=t??S-7͹ȃŧDus5~sok ^=,׭ B/Rks WDEqezv@R"?얄4>NF QF bؠ< r^jz߅uB1p64 ֑trެ\͗pcQ+OI^}j8F9eDI(sdL Ӎ Iu2[HqCTGz|kk*hG)=B%}4\o+,$a9$ Ne6roKrA9lbuu/9=2E-- {PDgfu;-ւ? =D\GUW# b?^iڑwT!Dģe!r6#VI+Twz%^%c`$?U KX[5"6w.dkGiE3AF!rPY^umǰ 2% \ތˊg[|5+SfuQlHABGpߥ!>f>Ix$7ߤ!- RD^Qe=*t?lpvW7 R{%]~/`WP~ncMN,l!uڇ~{`9Еt@+p:[lx7|ҽj3mKX9T=2,zB60Udԅ`ǖ\W|7XOt_kK4/ã?a-Wb0WL&cns3?ώMUHb0X|hy8QmadیI'f׺m`C}M!J"὇SH$qQbu9TU?ǚRoH+RI`Ph o$olb+-.L oU`qWb1ycdHV!ż+6QFA j\dZ9'ir+q'1>} H7̈́YLn ˱AqϨh[U; JDv޼'ZS`n3R 6[Z;픱< "ՠ+e땰{̶nѨ  ' "}> d4`Sn0R˔g,;utYhª?jHqv8޴o`.wM| [%.lAb_Ep:vtCTw8OvqE%'av)S[勤=|C2!)Vukռ)St2Z鴠?wP3Th'kA:&ƣHQm;{˽C :Ƃ inwqW@}kd8-3j+*9Ywp,qPsZ'ù߷]ܩdJ XWugDu A3K-HCCAI|!OUj768$|Io!9]zq/ULf+Z* W_^]#tlL8Q?pV#fk/6P qYv=gaӎ2Pbk ~,J4'~o4V7C`^bQrWq Ww0^_l} ǧ9 RHor.κ& 0apq3 F 0d')v`9_!G tmݗ&'B8[7<2*G)wϿ\Z@c~q v(|$09 P t7ˬ"P}ORYڐ ިmzYd9LN;X|R.j ή {&2e`8|tjU,$=r mb47qwtnn5%Ԟ:zVk0tWge6AN xx'@ck5P6|^Z܆RO,=Dfz^UOFUdTHDGM̾_/]^t8֊(Hԟ)فhoLkc$صN*oX!;赽vg7;" UE#kIt@46&=&&uXo_bJk~ R?b sp0jYqg6?Hk+mlO*xX/(ӓ[6Um)k3(n;=T{iHPkh^|v}w#]WxB k-F.*4+&9F=K:Jx86]jBZQ%+Y@:$ DUf+$e(3`/0 9.ɇ䊾پft9qzϯNp)=AqĜ{#^ c!JXfԩPj] މfya~<.r %"H,7R 'GVi5-" @LŽ$Z>b0)tû{cjMCRtvZEu-$hPRX2.o3/%ZtSOb1H _3"L@Ghv+ckc&ZN'!5tH!Ԡ_:t]sxDkؖ.xBex#uϡ=_rT<\S_|_J]ƍG᱓vb%XG4QU_#el\wRCO6.}i3Ӏel<+<0͘'PBl&U'R'6Ǿd\ptצMMZ/` }xPlf;aBufV:ZSh !3I /k// f/`ϘQ%t^]#94:kq-F 8TOaEVZU[!Ą!n]YA!}}ٌ̚`NU 8WMY<[f*jQt &f !IhP7H=73$?\rJ^^^wJ2Tw-5#"$Io`qy3`~pA6ql3*2wJK^QhW4Q7JzCJ)uYYGYvTµwWv ?. ڱ33cyN$%B=O\S wcw,yBEDBWg\e sg⎘MѬhOɷu*f{3^_[ @5{}PMo2^ɲV' #Q}usj8 %rRasa)Wpf 3L>8ب8p98>Q5[ne w>&)C3F |.H2jw1$} DLfK1nCM^t~b`2cX9\K'륵R)Nsqc/{LG DsdwMjw"atX AQix{-;yi,âfgyqf{ pNZ;܀^ݯ+ikffToWAҚ!9[,~s *yĶbQkx9Y*M!T_pL2lĴ>兵M2s;Jr Ow8 Q 6iLy Pߢ]/$re=՟%Mt玌 *] Oݏ"*91xiѕ+y 2)Kr;֟kZ@ٰ4w"s^ ZqOic%LߑR-%;u|[5haO:iOǗ_IyayV3Ko&E|ߐ%扇;NKnIx@ɹfsS8wFq7Q'|(Yx%'~n'll$$`IѠNh/r钺?; KD?n`V;Q_u}RE;lpK=E{j_$0%pSU yra!Ƙ\2"XsT覥RM./3Q ]^Sy Z]ǘ`AA̳8D^2n1C؍P\.B !N{Z"w,`QM<$6K!Pn@N=e)R'iE ƆVmLM+9m &swC ?E8 iڕ]xYnܐj/%:EhȂ3jvJ.BJl '<4 mVtOr}d[|Xd1 <%J?Tz߳d¬TȽC#wv#"L=42Qd+<.S-8X龜miO-uNH6`E.{iLȼm7W}e#鷠)VGظ@~K!}1B\=̯p;'yE/;1iWOkVx_A?庥\;蔏- 7=V&sC,m-(ÂV_lŭPtoQCiqdPzlg; I)f⎔z]re3¨9e hr|QO 2 8A zt} ,cf~ʣeXEʡ,j }>J.>r+hkP|zz6a +z3E@o[؅H;N Vy%;Tǚ7Z2QyS1WBT mK 8vL¨+%+CO8/uJ۴, eUoɂbxS5ȱPAg\Oto~PgHmFaDitBGhMHID T(5ֻK ;(r8'g gVU,こŽI3WD*dDbfeZXޢȉʠ0@!mxvt:&A EY ;v>R-|:P"ʌIK jrxFڸOE5r5Q8 YΕ,80kWWհob*ڶF5nb~<,ܑ}*_,:ZʤwJ>Q͕VuݚcT rT4VMHr#kr$S+K(ϟ^M$8r2V57??]kʈq9gZ!Ξ#lj6?֕wjOZ( TdEy0kpvPHE yZךQmX cPT^ΧzUlCt)܅y>h'2~Db6̘{z/j#!W&h1;3ȗWWzuGjZ:[;e¢:j[=k_Ylqa%Q}pEh y3[\FD~Sc42u2MJ$zcNE'AnW Eˆi׏Z.v屄p+r-ȲJ"QP'~By?.e:gQ: zXF|fRsV@3offF*rŽRfGd撂ΐzC|};ҽj+;w 3Y^a>=e-}D`hߕZ<-D茰 YњxfQ3-Cyv2A$jwc#ҦPfq7ʠB3UGɕ}J.'LfFMՍ9~YW`KŴZG:p +㼀^):ч:95WOJ;O蒳ӵm8qkD3p*q6e%̸m*_|#F'F^$`k1uq6U K?5bDJG$5ց(&.2@F/)lå]ꓛiZ h607^F\(qN"+Ëy% ڴz'Bعv2*~_5[)QYA@2Q>$;ŐӰ3KdT9e'[l{|U3rB-phE^fH =LcnlC镡!,04{2#ǥ@p#8֍(VhI"u(4႖MkA}:GxrjPĻWZZtD %OnM&yT$u:ow.ؗd"gmr?1 dhEd\H!\l˥ (^z1 rZ@6V-6Z(+(+9>${ho v!]3L'vX+i)y<ۺ _mbR%2`ƽGϪ4:v~yz'OI7sgMD]v2%ܟ!F0. 0oŵ 4}ωQO#0L*SzA#}g RiZw}6R,B)e8#EW8-'{hDUAa?#07˶'ẁ8%[(y/:{ClƘrnٸDRt!~CNPGHI#dƯeB(c67-\Lќ0pkx%a gIJKϣP, O=ەGNJХo0bm"5%;T9J%H-. *oAU5xrL)I;cy`]fOkp5K]bpS»\W\KxkR'[Ia(KYUyPCNƎg+D{$'\0cL?9_4XF9\z"4|N:gZl&'|;I4NRJx LBǔ~6nzS-y3exZpfM%wm8z&XI\ x5f8ڮ@k],<څaF+Oe(k?S-aLlzZ! k:]y5eY]d9UϞ~0_lC*,M~|'(9u:[ͷ&LzZW|@طe_ <\ ˏvPhk`r %fU2NprAqmãu\/ ݨrtCéy׀>cfqBW}C/WC£jz `| &bĀ F]j#aᚊ%"{PZ@ǽW$\(b v2gOȸtRjIwdAM\%ׄge Clo 7Oz_W`e ŭ`#©b:X<,/F|cBt % )h\NKƹ nO Ca>GKXugut#6VOZI.ײs).5F`{#@)"xL'O$O;lܝ}Q!:J^Oƚ'/9 ø|eeD$ lR.4 F\a;o?;Z2j+cr 4S^s JPNG&IeIwӤ ETB\[,wt-=,㝴ݍ?^c8@XրZ_#q=K#5B3o˔:.~H|4<Rݨ?m3C? U/ZGxZtnҗ{x;օȋACE^uGW$9faVijXU\_sgr \S`FPt 1K&c;Eb=ďbZ%3\ ΊA \Xfn`^fIQH0uLV;.DdnJhl.X%B:T AZcO>̔d!a_Ҿ[6'=ڔ{Tk_~46HL.(ۏ/ i4IݧED}"|q`Bkzܒ}9qԜ.ZY=ct C4ƭ._犥ӽeu읍zwq{%3R>/=LrūHa_ ~2 -fWl #no۞b7w'\eDoI[ѭپ%N gc?lC8ujVqQ7:Xvi-C.Gp; kWEV)ɮrGϏP.O:ؐ #:{ qeJȪq +HFbzZPEePC]5e2/s%Ygکl7G?qA%Y`2lH¦b2YY (uk"GW\z$m\wxi>@?0ҝk0(s*PuN(CTFb (*& +C̿RU~ I 6b^\ѡ^mPwp٘.Iy7|Q"Kj-TA-6jAT"-%};Dy?7:k@ 8RK/ 8@}H9DW^1ϩGpc98 P!.W.rUQIHxZ,['Υ;-ߵ-~/7WP.0> !_ٝ)Nj[ZBO1QE|zfʳ l`KI!{)Hԡ njF^HOa;}.].^t16,H]anBPb{(t!gwrf- ӳ1\!EG4G&T9kh+vR ԿϮF"02Y 2.Qwu5 ?-7[7Da 8I! Ui6x{vqRHTӗB!Y4}8޺#e9RZ~?'Ƹݏa@K@P,/øs1uWkOLyY~+%t8rv{hOO!I@f$fr:! Ьu5Z,͛_qַsD̵ٙZ:ˍ(" B?q+@vurY KUd^m>'0=%L,L#exyt§lOVqd'زfcR8iqN\m'MtS"ʢN >ɝ,߇T}H-pX~a?}*!̦X27æ2?wٳAA+WD功 V^k$if'2f$Juk{)킴&7d58+PZ72i@vtJpuo][w?ܱfU_Xz`T*e)PE0]O=V\P_3+9#EX-Xò^s?2"2?I=**{ux4 uqS}kjTDp^o`ˤ 탦ȑ\f ʇL]ﲞ&\Tr+AGPMWټQ"cmI[=< b%тą m ^/!?] H6ը*''2|ƙle*3VPPQ0oWFv5`}M.P%::QWf$F+jqն /&3'SM rE7vFTr8!X9XY'7 !\O.;i=aFĔRAA XhA-Y PXQ<{bX;RxĆd~lq?~hf~!-Ed98 Ω]@BvqY+ɪ xާ&x;|K)RW W 9wZ8HXlE95 'G`bе*-=TCМ() ]Borf, ~~l N[A>4nd(ğ_}Ue$C1KU /F+*UQ۬X K`59oWYi9۾O>Nٰ `7zHaպz湤;GX|3;Na 8iqH=0#Uzda&DniDq mU $tZY6UJ3FhO'^ TATWdrI~EǼqX@L{DfLZ(V(!,MDɹfo?LxbjdQ-0%Çh{ɝ^)YeDl\X%馕ۓ >ՕȌD-K`q<^hTX5?2rM xb]as1+uV"]a󃍘!x瓃 7m<Ps>9Zhz=fhF#]"ő.m_Qlul,47eaip'KZ9՝:l9dsF kү窾{'B4יfTj%}^RE gQ:v">|aԁۺV5bt!)chucFsW5~YNaW$? u<^.suag1Kx-XIv+ԡ)kW$P;_^Vɶz{G##(O8.xt>L\Cjj\aRQr-R[2oΛfa(5%e!db{-zԟGmpcռsϞTU5qS).2~[Lh߁Ɩ48Ν ^ >-1DN`E2Q{BD^+YԐ|!/fN-KD1:LB#?N@`rcF5˒qJ߬wf~Ƀb| r;<0+]CAW^<ٮ | rUj R”IP+L&=~P>&t$j)D_dv 3!ocȰ+99E#'n(w?3P5q~Ob0,)Of卒X5 C!}gxJ=L%>ԛ"Xۇf O䣚pRYsz:MV众✵gWa )PéogH_d_DVLWxd;{L˽yz&/S99tqL{zis>ܙ$˞Hb2B/V&z)RSXeV\:ەbLfHwsNgVnG(1.1CQoDfXW'CtDwZ"`\ZX2R=݃ՠVZ7L!P .R%!N^mHXFhO) >gӢD$ |J״堻gq{J'ԞLJ2qkE B1tD߰3R?1bgOzPY:x bh,Bf#KFKm]REI49yWsÁS\v*.*GQdsdt?1Th 03H-ɴG3FIY#ޜʣߥ2?n:$ԥ褹*z!0bPL[eF6"*\u~2y` S%%{xA$Xs;"7En3^=bj_CDܱd( H&P{IqNL||˾lDCLAk~46r kn_svP(X툅1 rM} 0e03P*aCH336 !Gm(LC!Z\ZI+>ꄰI!']q(~{^au$QR 2@! +;8 z8\o6 |HMA XHĎ:A޾}]hd~JlU](~9\K5Qx"z$K0cl3Y-ZA لq9PִؘFJXwuGrNmԖ!Y[Ce_ըD98>h4 })j_ivmoN\'~ ۖ{j5tm9+2QeSsCzT}fvZ'7*C:sѡfZH^SB0/|)'_k\VM\32,&O׌6D <GJy5!=yNzÖzt# _0״[5yJtv&Jo~s~v1( 1RCyXLS E-F7+[YjkLQ\iZbXx+Kהb+J.kzNmGJmah #> ՆykL ^Q}[IC]2D rܕj4puAPǓF͹* }dipCE!Яj%Ì؛xINX_% ;wCho&ڿ]vKMzSj Wv> :iㄷ)O=dn3jT^K{1\NN|ptb/z9(8VÐxBSOfK8@o{rf}ن>x~ VZ_s%fԚHP3J`*2VxK.p5Rb7^LCD@¾-Y\93,@7RvAXTwJߔMJm! F|&6l^&2w[ ō_Üz7)|D[`e O1t">D<9_|ѴYbG&EG$-.Œs䡠0h:)8JIX=n4f"@bĞXo"3V/-TXdIҭᯱMY$u` !NcgP3;){ UQ !E~J>OcOiwjS$" xFp6z%!dϋ{ӆ45JtUɞ:@,~$M0ӁXKP3E\0URr֙=/=OI|ϵ»5`SB, 9 {==5Ik8PPWhG"u|<)5QĢ}qq2~e>=- QH{Xcg:nC 3&c5QvjٙB(&;5׆:'4]o_5h4@Ө9[k?uf~R")w!@Z׺C;<ԕJO5 Wg)5h]l!#{EFw'V*-)!kˤpɒAc>K/hmzDuJM.Ӊi|};₲NlÎPs_|!vy@QהIVjZe*KO[˒eSg{S fN1ksyQSҙ4OH[$t&a^mcqvcs~#* uC l=6^ !Z6y-yi"AOSf Xw1!`ʙ<3_xg`GE+jep?IiPh[BbBGH;{`҅!HdOzL>K $oS@]r~NMp{*a< FJUm-8DD@V26c:}tXϢ"mf M0^!ٔ05Á8Onf.yCx pQ*.~)3hh %`zN8$Cz9A |=:`׹,iAc*ck: v6yHr+"jWjXܾ<_X2`nЇ /IU#T[<%D!kU q4YVy-bnxˀ؏G*4ZB:ʱ1֢*aѰ8P'Q#àIֱ657N;{'a84gX?"G2^p>+bVKG΄$s|'o)i~ØQ3h?~ ^Co#NEuS)>Hm3QK' #5 |wZ)hm 8Dž!G FpjFAnyGX@+EaS~Ss"od zS-U,Go /w)ZςR{>DE2/KVAxaz$>\x!Ӝql"@ӗuƹ^~brkNTy3L>/~beT^ˌ鹇o嬲Sĩ׋ 'MD 0.J$("}zv/+1osYU5 RbD$E?SXjb ;0gJnv\*?1Zb즫V^QI M}p+c9-_YJzh{!\@:M~`<+7' =ԁTCè)2Vhε7}&§$k$7 M' } i33[tiZ A^8G(oI`$ZILg{sN2plfcpS@ժ%@LuBP(CA:>~{qVPOpB7"p]tH8$ud!d#U fD̳ ̠yaʝRFF):JUnR67v婴 *6$!jp#TXѸ{+2懫~!c-nF̎ \.`A?]͓^ w)7l!tP>]rr!,Z7޺5T#̞$jq/E]ZԠA3S3 .$DMjXP ?Ɲ,R%@:_*N?bIL-i}]+Y[bYJhΓJ rFo.H61䩞=֟T#"a>c%Zo҉/b& 8TCF-I:W3!xf# '>Ry.^arX}T7ij75Lϋh\ p fը]k hT?їtQ{^Qݰ*np"R_5R3#sK7ڨf|KMzSȫ>Y[ +#\ށsOҙ"" r(W.ek7M姍7hcE H7XR>fy B-z&3*K SDK4( ,| Y jX+bfI%_ھqao™IIkc&?Mk?g=)qfޮrx7^v q "()T&nvT̩1FBuyB/0ʳViн )Ā,33TDQQb-B60]0E$pıu!,Lyp{ > .-Jùb^5uRtn%uY=`f= kiXb_-0T`=IL^}%ppb(Ao\qq~tV*8ξnv 5=x  ~mKcl.F ߴ|xeL@YreخAdsw0r&1`) N S#p&sNb`3|R3I`XO<V=5Qj씈5Ćt'T3?%;0Olײ8H aF˞v瑝:EFDO/#Bv-8̸A1W+u* Idr:fL*UNQge.*i i' tW璫ۧJ'H u3rYaLg^d 7)M-#8/)+f0!";idLAW6~Xݎ CKe(+_7Eķ]h^؏(H"lqAL$ 'c 7onOKsU!Um:Gt 1oj&C0X\OrECG'259 0av$ٮ=m@tHsuMgfy6I=1IQ~:}<3)t+%%l֭a{l5f?/3:DFGߺK;H*h,aF%YD)`U`̖Ã}Ec]’M=X{XiR %O!yqbJ18aғD;I~ |\8;*;em19oY{8I#X#[(EfE<\|̎r8'py?j":aFJyA:PMR[NrPx0ߞtݫiaIA]X= I#.КgE$ޭa\"oWy8 ,]EgL|%KK)ְ Ͳ-&};$tڋ-An(bV1EKpAD-@v֘vB^>^1\o9|2: 5~B$_gkyUotMYMq|pj?g,Í!onqW ܑ*2| ,9_"jS М?\s)O3QssM1IUܓ\x¿[9C сIAvJGeiG{a+Z;_2VlfU K5p)eO%,Ayfi9<~A'|!{;9J?w;lhJ]Mb 2R;$hq{MW#q {E>C)#r~.AJ4I*EI I2WS [6^دSc;JAC(P]cE}3{̼zS`uTkXB U:haC‰J贵5Cc( 0YVaVwE֊s73A@f\+d5VqDH@Wz%b ]0"ڑ'Ie8rubf,Qyfg[%2Q11K=]TO '%SY+I= 1Vq>I6^%ĒkelzAmCD yf=?Uf^l8k8zVqsQU kW 4 Ͳ&\J\Ȃsli-24D)ՂPƳ.,\lUדw&bpU0 )+/j=4s5M&HS0v.(,>1m ,?#Qأ|#c] h=L(8m(xfNnaΙA'Ud6WRc'Ԙ?8V1Znz, 3ߊ͸EX*5:PӦ>6[*{嗥ό$`pM!4*bpw\pNR dư+ExB\S"3ZJeBîkf@b.;m!axn_~vac;xQ~Nv5[oy#M.a*6>ah.r v)Bm!AMwFA6ǃ9tݤ[-r?rZ*i˚`n~WenۃY̾gV;ԭ4s=+zWOˇŰ 66 cW_\*hbWEXn9p٢\qe-nדO+y~-#U6mH-re}.)Oԓg$Kype2p_h$u8ML6;ԞPcHE]DG}gC扲 O(i2 ||ԟ]CUKE5`> XϸƊ~ғʰ|-5%uBs_p!ƺ'f w9&#ˆQ8XP'>p'AGcepQ+ʹVn'M&mZ {U_Ju J2$+W3xaֿ+{c '!+"PH{(,Ȣ9Nk06=Te)ZhVp>q`MjߩUP (+Tx xJ{7 ͱjt КObL3)^& ̎U\~W"Q].hGm3 P?\mt&-FQĨ0n%쫅:b8+ɗ?9l6(8z3$hpbj:E`@9yMJU^QWQ_N5r{ۣ),;1:[Ts Ý9O%$'PqV}70"2f N_Ǟ*o0s$^3vͱ $Zɿ]}=GRqR&%z޴CIWVqutYz`󻛜;"Y+ԃimDRgNWNi5)0,edPʑ%0d5vֆ~/߷|- AY6MA#ݦlB&<#MFo ycj?m͜ӟ02rϜsyUԊx0YҺLs'9it3h]QXǎRu-[ 7V`9qm?kǯ ayw5&o4 p|vo 8#țdh&OPt+>ciJq |w@'yϔOiatĸ>h_o%|zj}|?B5B`km{5CxP^3҄@8RF",lzjٔKWYm$@s`q*eRa6t |*җx ' [a de s^醡UYd$hjghײ} Gj|i Uh[CS"RqK?%3Jg! F&i'eiM:LuvuE^\W64:;j0:j}I8n2ӓ*Q-{8edt@{NNVnOq"z M5}y$eҾ fuH tB4^*H%;uVIn,ZVgW1>!K[(sf|Xiا]|[XSL oP#!QC Ica qXIr}:_G&EPnÍϜ@ N|%ܥ0t{, <ϩh V9;[96Z{ eRHѾ9p$K(6[Z2 H^DCJя?5Lץ K[Ԓo6ݻg#[42zs P5OI> $Mor8=:89N$ d)Fܸ~j N7E.}2vƈdE숚?e릆," ^,F %R߽>R_C1& &q/J&tJ ˒B L\Ku?X!Tk#Ե \*Tg6#O^hZ*hPꗄU^ '"^^NO⑆YHjCVRzCJi5'';'C[.<;"?;b !ޣ7CTz6D}D 8,R5"bI rcwl 8lI*Oi{+{41ߩ/#b8^dcj"94׻ %%|&xi] .w[%lT.{+@+᳕ɅwW!yvqPIT <08"-d:Q7JbG-$'K871XBF֬XHZf*S?\l820HVJkv[dWB#iAH.2,ĭP`#Tm7TF223{ӔՔLua<)<\)h4lԼMʣE}cYVhA9<;#ϼ%^*F諵Fo(F sUAt&ڿgOdS)" j||*NJ.\}?>hZ΅pҗ@%ax*hp"EiāW3G۬'I4S$.zM'|j# إ*=[³#:('Z,ur!۩KP ԻO8?[ $c;;r_LGJΊZM_YV 7]I@h*cv 5NxKUlgʆ/iqlR. fGpj4bR(e*6oIIexnXpu8v6}y|!G%~;G$(ЧZ_-H5}YkeB=z5ϵ U⻊ܑHR~ʤ^E9"{t嘕MXK;IzX24/X7l6۳u3]0sF k &G_m+~le9+u{h }7~5A2 WG 45oue)_$ֲ.DX)U&?=.=j \ :bf9+ ~X /5F5cOml~CxO3=~KmzEg4$p:z\~A;g"[U tA('Wƙ&V2ԆVMr#hC`pM{\]bA?&[],Zu#)Czq 3aOVf L &[3Ο'MC.>,G's*GްoUT8JŔ?#."^Wy ߹@eb` @iRl+Ǵ&9DJ89FyA8^e;Zbp<(׭DcGaOX3r8? NN.ELםrC F4 MRg.FdQ=d4%*;>2\C>UT-}ÜlWբJ+ƀkl?gu`*:p5zUƨ`Hf,2:](-]cL+7DHF4Q+>[J)f1+&s`PMTи|QsJ  2ζh,LiLL R*<«E^yyQ~lh d٢k}ό5<'׃wKiqN4aY޳HF4Kȯ&"e9v[HW$Fi襚x{8prrd:%12b^&:yu}.[8sƑdۭw!)`!V퇆HTfe_ -[?CXwp.Iɲ@ fak8ykoEG~Re0↢q҃#TA.,ߩ֞{;*?eiN9R*ަR9jCifGq~- OUd=婞p&O/I=K#9g v߲rP!Q87ۊ Wñ&"L{^[}grV9XBm C~lwT|lt?ٔPqv++_rI}@hhm" SZ&'N#deTƒZ'mYL0wd?@f֒jW2 iͥEDGdJ>YpŽ 鶙j\s-3y}K]XJȹ:oh¾p{T]wQfRfN;WI/݊p.$l1py`?M'`\1(UKT"yxW*} %r?:dR3e1Ks2sG}]* 鷉<,:-%~:mq]Cn,NhƊ/NW7=R'eP*&_4RQ@<MMtaau^k/ v^e#2.qkV9<Q0x^TfMG'97glr a? ,Z@ +WnY'.;|cۭĵEQc̉AuBKq:*Bq`nVȖ Xwe8/7;µ 3<~^<\/4DsB9wPns)r WL&l %,_Ox3Ԭi#_{WGz~i"=Wl}ٖ#a6#c\)oVǸ)cEvBeQeMa][vV' Xc-cb6_C6Uu.uhFy[cmĝIM%CZs k-B5y(lqY(2Er}{y.'Wvϥ3!>oFS -v%%)Vܙu_CBzQ!Q4`GWE;)e$ J`3)6FHLVM卻)4zA~oep'T>_[XX6|`"a~k|YtlGBdșNQ-LUudgWCj4AWʪ6X=?ue*{nw܋UKy{-'$Nioc1>Sj*8Aێal,_J˹83=ojU%vB~5(Lto&YnkJR6/lsRwK {s.A#˯YkuN&6/$/(HCy:Z)=#v*#x*e+kQyPVt]UPD.x0b0bF"[wף\%D tK O*ߺ;`HZOOLM23Ǯ\ vw 8QHGpY$SȢ)hgf>e>pMoHi^0XМ7U@QVtq ֣(:6i} W"bt&`ռB5XT؟C㐄v\E5׍Jf_*@R6y]A5ر۵>|%kOB\S"Z'*JZ €dJK!aCį14\b8[uX%-n>4%t S؞ݤ${؄s}] P99VEUZZsX6'e%xELft1YOo@!&~tl\N?Nu`! -c; PKB{~׏fI;KaTk9'Q5փV? p.|kDO:@XeѾ/O!)&S ym=vߋcG8E/ZjS%סk@yHu˧,u& b쒜2FVs5 @jYU=i ?<@D^&qp"Xgz_I#a"1!is`s H]wAW*w z!Bь`k(Iikwث/4; `(вX^E1L.Zɮ$_vZc'۔o#m Zd1ۏڷ/ł_v=`5#h'c,6x) IՏnIv ŏ* rlKb4pj'ʽ}?DHs|e|5 z~?wמiqbvm`Ln0xg|_< ЯxAWL$%0ЭъyW&u\IIYE&-C&j/eirF #& GchAeTh³n_E3ND/CQo%|7i;ӇV@)WUoo8I}x T}jQ> IZCPv ,NOˇN> 5478)ƨcEs|%_.x|.{ 5V" T#4b#-cgXCF3#75h۝o񪝦o0inLnŌ 4ҶB (gq㹅P\f^xLE }V-;BweԜXX)_[s.PHQQ| EyʕgSMHI'G7\F%̴K~nG=󾾝`>ENOy}D'lqeP UjwSHVWj@&J ̒i`LG~NKab.I1g4v%"MZ2ړAC,Bܝam&Fs)=H@ѸMPo5ys%.KJ K/ F_Q6NS9ζ[3 3`>Ǝ,JcmX@2X|^G_0J\+/rn(Z؀䅠B D i'H#oƚjkCTNYD ?c~r:ULѺ Hk2bҪs-xSH .Wv%nRUC Z-}w%`̍N['Kzt7]z?}VB\/&҅8M'_5S/F/G=-=OԲ"LF ֯C<ԋĕFuEW%5bӅv"omhm@)#80>xQ%og-*DVtirqVo7a];b: 36Pg|Ȟ/¼<ƂläZf?s4m@#}Q/~9:\X8Չ_ĠUGՁ lidy"#L8o4Tb=-(aݘ(GP_aտZ!l TTp@2z씵Asd,‡]xMY9/g_L=N|.n2֙ P I:ruvsErb'lۜ*Us cTA)Ctʷ eWRԏK۝w5)Q8n0 IavtF#"(hPw0ɭ=\[N`s_?D`m S^.3>*:*FV/ pj,~N}z:|hw]9.e9BLn\XE$h[m&G* -%N@( i,eZ@UAC[Y9_+MgpRyeXOG Uާ҃mWZònˬ$VUgiOJ~P~))i碘 dk ldwf/, mWXHwz;+{P$\>BkD #Bߋ$>,+&#) H4Ci-#"ã$ݢH;Q!}E6 !_xBx=BڂM8NUT>}3Æ``æ Dy 1y-ly@KФYOt(B wk&Ä'= }延|$JF|Eʀ^8A giҸuZ Ht;_@p&ԼB%cIShEaIK^.qSI /?aԅYc#PLOAWzDvxuSw co] z.z)ȚL4fįO%DfUƑB$HGP"7~A塟U)hcķ/'}!ԗiJ_wڄ'f06PBex? 릚) na}/MY9Om_hhQĞB o S-qˌ[k ˇʿOgs,$j=8mXvc{aIJ1Ix_+ <6 J?BG,0%\RQɽWW?Wkf1n1I2G."/ᙗƜ` [ ruQY PqxRfm:zP*hSޑitaC{Om>d/ɩ{pT4uWgBL b c& x%VJ Sf l{HtvL;*F\c:LY7SXqو9 ;ǧ]|P|OQX7&bHmb1܏sHa= !/Р ~DD5!!l"Z-䓦@<ZuL/VFw)LFDz%Y~v`Pn߳WiMpZ ǎZ3<.\Y*̜~=Q e#m<ߑ@P6Ӻ-lEqGl V%.Rg_S! 9zp,`blY!yi7 rK[Tv*XL$LozNMhT_qw/z=0* 9F%q "RC.S}Ga522`b/Rvѧ29%ʧrFCbd|Јj`u0є0,‡>;r|{蒏T&>xRD)jty-_TvE.hd%E+:vz\E6GsEiNE4|@.g͓`U坙=1H3 Drj% q ͘Ji#t2l-I/8f*|)/S` ]psL.SIx Ĉ]9o*й2J"S36Ipsb&`F$Bcט=lRz-c\؄n|Asb яYHp´) c}Uk+#:tmziFcxfehQv{N> SQq< ˙r!ZZtle\l~!MyP̴ѼKvD]۝$~C-31Мߐr^1T^Enx L 冭P6zs0&a[e9[}uU+]]50CÒK̛+IH^LuJ8`7f) v.*Q7.T@Pt EvSTQqtΥ(uu=+!.RwtžC92 .[.:(FsrD <"i9XܭCF{< )2~:au..'$m6G$N|'֐¶ r  1uQ& MQp\?3mcOT]ɉ@gp ҧz!&-$-\@H|8tֶ۠51Z`Rzf%K&Ǔl;[YK=*" ardO+g#]?o"H8MqL#BfA\@'{!{5 q3AE ]Oqnz3\ab5FÁ)p pJ$~`|kKk +9Օ-YRyW %Njegӽ^I 7MWCZR*pJ/_Do;P`|6k>co%qAM+ fFuEŴJcpAq!! r]njӴ)N@Pm8L 5X-%dA\TD8(\ٶ>v=(C؞pXiY ^]Ko$S<)%?K-)ЕKX'~8ޕRqORklfU^ש93taڭSɕy dV˻gJ'J?`6jTuC)To S"7g}yuI/**[5l׾͗bR$$?l@Vbhobq'j#([5jʲ/v@w.>t9h -)G(Ù|r5TSCWnp5)LxFooG`6722'UhG V x+a+o,KW s|uaEdAiAX# xԪ7:L^`謏^uy[D2Vj>g g$_hYܔ.#w!c%#5Yx٠NE+pbۄ)8I!(.\j){~f#/U RRsQw*n?`y(yciZ, LxbB'0?O| *sT`/]XEW3! 3Qa=B8 @~o~.f߶_or-9u~6惭Zꗑi1ߡO,=,(PJjve*n# <:=w_aa(cۻbY•k;{<:T:q~Nd؍AȦt^dYFa 89}^1LlufƑx?A%N|p'ςr|/„iIo4P@E^KYLF35KČ]Msb(+߼TxggUCRHfF0<*Cc(#gxnԅ`<엱 GHT"(Y3V؋V"jg^)f*%LÁߡ_TG$|V]uce=Y-$E,i]a0w&Gԇ}Gj+5hU~&BT*_l6#bDΨzٛ;KBrC[*󪇓x>Eo؏ rzu}Esmy;%4@Wt Ě$S(s>-Yv<v{Eŕ1'#"pܥ 3Į<X[~Xz-4.229u2fhbqTd hȝ4'yUKv.4oas7ԗAPnnd94e1JTQo?]TX0O=^DWJ2"}˥\[oIiX~Eh ?<ɿIE qf[ pP$gDj;)msyL@?- cQ>U`?1ػs^RsoO'_Pczq ߠ9cʘ_&nddq@+,X6T?2/yt8BϺ>%\ٻ;GMH@wmNB1)$HnBK%mdɫ)W9̚9ؤEx3>q)1mWr0.U0 mpQ 矂ʮI1!"jHp*$'2Z墣aT1oa[ +%>f6Ǐ{`҄%CePMugf m_P$Os5sIR$[ .[8`fqILaEN-ӑ29K\avepݚᢐV]\J޶$VOjmQӄEA H  k!GꥄTzן9BΔ3;Y sMЦ* Rm[߯/LmKq,X=Us+EOh``O. Z,eJc"&Բ9/ o`w\\OoI:R5@(6;В9ԫT26w%;%'ֻ(QDC k^"ŜvjǬ|`(؁PpRW?`eTN▛%B4d-e@+nrdɍ cͳg$E=9ɞcUџ sTw$V|9/s{u"g7n.9&nȻdn@F u@!(%\EK.aKT:@M9͢I^ 18HYYGRP-@aZ7/jيG~ߩn=Jvɘ77ہ=6N:<83&t3Ϸ/n(s6pXS0(9oLGq[8)QIh7"s4/pS;9!UYdIS QD=8'ߕ`NfEHnU(4il0feHȾTDdI#;՘H{$FB:{[5Źݗ{ _x{zFI5\+={d2??}M*bs_7WAw/PpJe$QY&^K;GLI[N6t0%`ֶ@@7A>Cv&Jun&Qs)BA\|f;S=]s_ľ "G)@jwCed$E ҭ,?:v] &{$1n̰sK2%c@UM#DdJ8aaНcpVL&>pW4lwG[7Qk)-tcfg*NXe)9y5A.pPJ>SQ̔O/Id1x=:ߥS뙵cUſC4$*RxX$ri*R23Ϸ̉O:؀H"R}wߎR%=']quG"=[&lh)FUmǪ]նM#t.dAig"r0ω[WÕ,ڼI,4~Cv,N R #^O0ՔHLf$i|qd/;pέNٌCVq FO?  :a <[P7i}c"cAQӘ=bJ,{$hVe_뒫gΰ"܇!~q>3 H m~".Ke|MLJtA2QY%˓5DHN"c\m`lpBTN'0A,`ҝ2O,V/LRAB%b`,Q9 p`<in&.b])JJ6,ed\PSFђa'{&V*xrA(\űYF-m<~2~,ȩ,j7T_ҹuƥB jݶ$$#le+c34R(Na+tk% &?m]> /taUBw3|o"ra>#ULa XK@My:j iB?6R#bo5x:-t'v;Mm7IHIvu惬Uˍ@Qg7<(Fi #PASrum_/Bb,W1-  oF$>WdcE5 ~y}R:n} 0ύEo=Bu},M2gC:k; +z]O\V!kęLjT+oDWq::G[if"Epȋ&GΛ3nYo]nbCM^u-ẫz?5Z4"wɊOxG2 *<\hUz+!l>51ȜzxyA؂ uS8:|B^e( 7|{׊NUxCQ[j @hD9zbӭsSg^]4eb#쩕QGŋ}yBZryXyGh̕e*I(HĆDݺ ݡ0lkLeOU-X#Y[q8#;'i$o#Lfs4na6V2?paHV045_n pW\z^Q5nKO=va}y{˗GVLVvf9*a& -`yȾlA7Mĕ>2 r":6ՠvtר88tic2rdrAw`(b`d }xU"v4}q72>+gia2E \$Ҭ}jAk :\f,nӜ P ,d1,1α Y%vftzWΑ ،. ih-CȎxd% %]r*uզe'Udf`VuLL1 ҽQaDA=1![u z]J<‰ҍH.45ݰE|hƞ6 `Jīgs#NO>J\ofwr2xہ}/{tgIFxo()チys} ϭ߼qDZEM<GYf۔nqvP d ʍ Cf\)~nHōi9. vkoɰCzOs[OnI㡗??0&a(jM>fʆΓ0Kb_J<>i\5Tv)sDR3ufDި֗{t`&<Փ Y'U[sJhu|9iB]>KyG*Ј-&6$"RW*mJN)aTKVHKTL|6Ad2?+Մ9X3N K;ZbU}Ѥ4or-J·xO]㉟XAz넾4a(1("{N7uXd%%`3cu~WW<^ 2W˧5T 0Y(}_d˧S"ƿT[jzFEջYSzN8pf*8e:vg ?]Qd= Q=8iSr\3;rU4ɛ{TRD# /zo^"쵠D=6m WX^7U]bAyw$;alKcӀ"kцȶTJKr 'g6Yt^h!w 㲪%?׸RRQJ,6c7r4%GÄT]&/k?y1)mw\VPܤ q4_Sb( 2U>M.x]@Jp5CaWm۶S,9RM"7{x1~t!ۍcDzc:ih 1F .U)Gb+'3QA⎜hdcs8]Ҍ"-[XAbLWq u?/A'n9+q+a~3l2גwq8 *jA, Qh!)\̗IdUxHmFcbf܄X/<ϝUQi#]1t QA Y?EyhŃjSN>nckJN# V`` [ l3NOt8z;/BqX~ a ] 5Eo=p?,sa /"I E(C.?j/۰FBЛ ~/\:40T램*xߏ A0#)0k`->+s&;3|ks XwPC9@SGUfX'@Vin+: %^ 50QPB9& xNNҭf"ej$ܷ so;0"}#nELn2{UtX6Dʘ[jx`d$ Dt8īhB1(3::jz)G,/XXZ7l)vԤ$:#{kb^KF?ytvQ27}B.=T[G*2k{^WNXg,g/=y".%ޢW=SP@<ۇo'kk!KlK%3pU B`֘:0jKx\:0'H0 6V(9}{ vI^dV{j^>EeLV*4#cir&\ t|s!7GvGX]XšEe5f,(jLQHֶ;~v{Zyͻ^Fo;{@$[`6VWWLЄМCx|#]@p? b~jYR\?ϝ9crGR ؏Xlx8NĘsVMfE5^!Qf YX@;f[]`zeXX\Me1H3Au?a Gl{~~}!k hw7)ϝؑm;_T0i&D?ʻ|rJ;p=:TvWRޏ 5 }"_ 5c' f'[ i7SR'0 C̑'nG8n:.;ǒ%LHNo/ MR&w:9,V,+"ZPQyI-!z@0u$W NFEFb8zt=@E|tf,?k/:Ⱥtr T$1JYd",O`ȇ~A%=JRH2^DH-H_<sUa@C`鶔i>SRoS1.]C0NIhk5Fyy)eg˚^b)E$/s֕K бj|ّZ$ +m_35,wf+P֐2P[OT+vÜLˆ)埑7[հ o=kNS*6^C8*\o$·1e/ 27dD㌇i(̕zj~=y[mG- cO"Z@:`5gXŢÍqT&ytFʭ3WTEG諙A2i9=- {e$8%8BY5!MIJ#doN7sv&K ]Gqwf:$y1θsX>A [@DKQC` FWa30Dzzd Tj81nr,HYY4 _+L/@!2Tx"@`a]$uopdo#}y"fE jл&V5Of+7ݞM&<9q >?G"t0cH y`=WZC&e~vqJ΂H[6Hן"=L*_u-4(\NUI #1EvV4&{~Ou#SSRDO;;QQsjLJv-_gh-.*lIb?:yFw/wvB"9p'6xxmeL9D#?^+r>Wvl[N(*JjjԲ( IWÃwԋ':7ffsJxhtYA.8qz Z~_K3(0H܂loMm_gZI]o\%t-SvfYa^{dR W$J e,MtB6?>n|RLpl(_KQ K IydPA2ϩ\- }HpGK\m_}/*J;h-d 蜊7|qߊhtntjSrNNHcv@2=5BI|CHQv,Tv$| zbhjQ"]b"tHkrǧGݙcE["-\@3qk_u]2Pf-Eٻ~n@x`4^"@\KyJ0`h]6 70,3t,wEK3B x0uqa{:2+[8JD`- / !ңyQո3Uad 'z^ zZ%"%zf5 o;$0?ETƺo v[D@GJ@k䐑%2ce4$VD[*Hۨv!7jwC?$ ;ʒg17/pRl}(o^`+!4Wa[D*DnC47C>ts| P&~TBT-D Y%| %BuE01̾M Y3fd[?~ءkbt%RM QJαWkG\ c R0pt71u"T5a4O5<~8@l1K:`ydiH6LC9A5 M䶌ͱ٥/~B8LI?;DQ/m0ݴiVq ࡩZH“.(.5J>ݛF=d'#' gQ U#4?rH$ a2: }hL ؑ`E$1p%skD"9j\oXgwYUhSt‘LPfE~qb|j3Gm&X%IuD4M\їpDuf`H9 jO'}K+6FI 7s!aLg#Z>Biwe ؗRٝL\}rM pI7ƍ PU1SՋ?b5SMm_;T+[T\ơڊEW"0a$/*92WYD?"㊋vȿ[0h$ !>4 5%p? _+TxxV}]ͅio$1k4w5rM%}E%F]-B{`^D?22VFQ33)\ӛcy}1Cpk:p[ cRm=Fnmp?g8O= C=.tq]G|EvXi?$erT-e"D:pr#;>yΜTYa2tn >OΙQe|wfr=D芃0˟TroV""?QQÕD.ć!\+IPIEo^kWul2:ʨdk:X n}Jv6{M9,yELD0@.`kj.&דb/IV;|-~+F#FOwy/ZSXĪ؄li}l+VH= xWpH CgFlQ`s_* wsUt~hU00Ax {!.)/mwg"E!+ dCg:H {6-ddӍ :ʫÓ$9F>Rw(46F}b3Jٚ($:Zٹ 8"\;C/kEFSI5TjzޥVw5 i+Tׯqӎ#YhLd:0\/&{n( R,zf@MQÊ;U0#"XlH|JRܪ@VJ-oz̯޲ɽhGPE=!a>8jeO]Jy^KSgHc6MA*4D+}2"=$w?Cb\mL q:(jI uζtj&j*٧, )Qpbw*H,/?ɱJtViS*0k{?O"tH+~k|oސ^1H2쑟v~ZmLg*/hw5#K}8Ƅ72K1ދ8 Vp>\MPYɨ`c@FL!%IS^ >t@j`x!aެ63$ 0/ySqlXwo^ڑiāx;Ytw+M,L'$uT)Rd#ąqQ5-0*H%و_Rt+W^(9Aj Ih-G[f 'i~vʹ8D( /)pi 5l1^?ɒVc#23A~ĎaͶJ"'d()wm ?kjA ͣ+pЬ9!M@@Nj\~#b`}J[{zY:]% <\{҅B&ybiIІUrcs O?ӛz2AhӍ >B̍6џ9٦h!ڴ *;h>|TM)X^ @2]k%Vy>XLX{Dm!%Kg-؀)UsHyӣYu0!+=cn@$bk8صTv[HM/P׿z$Ñr7R'pӣz=fWbہa-._@xv4-W޺S U`hwZ K@բ_#,u#sQ1ݠ]L%'0?F/#Z $P%8~ptO>>Rh9Ac:h T=.OI,j">WhZUജ“|T 4cpma% 5dE?=8N%qTQ?e=?Rw.b`0cJ0@I|3=Hz󤈽s>E f15fd7yo#]c9H{p cʩU,*v1w UO>cl7z%jv^)ta쒯kYC$ o-s:yIP,gQ ۋZ/0i:MEyeM&J:{ MfcdBcZ-TR,9>ػe,- !V?Y@y>z %b 0痹}im´Rox%Ț[dA9=< Gt)4G| j)S1eD@p(or_g\2 ?蠩^~(f%Bڜ[)iM$dRm|E ~Ɯ- کIsʊ0[0ڨc8s5Ljm y|2#i=DT#W=| 3*s[\~>enP[9q?Hy^q2H,;d<^L O@l̑\Nhhչ6LP*:F@=AIK3C0taD^F,xzޠ'= "bVEeL/ED$_,ع\ݷ(0b G n3Iϙ}[;D)k) d< ֻL  Ed5&gZkOO ߠJTV2+cLpUNS)%u<܀P' v-ȼ+4LQ7SA\uAQQWeB$n5sY AKlapxrpJ|%*DFK"EĔ@4eCF[i ~ӋiVy kbL' j}1i2xn2>[@ɍ4{z| N#{fC/ut~Am})le՝Rk0"Ӿo~8|9h+"~uvz WrWZd$k(ӓ."l#: q ~Rq!ۯWh86.o €P0znDjȕo+u6|M}L0 V1,3̃D0Bǽ4*$ 4yəaeȣr-mɻVjBN,=2l2Na%3_'6%gUaT#8]*yϞ7lB0Km n:Yk63@.6XX}Oю!M4$M9xSob%z96&QSu3lqŮ%InZ+۔7'J0ᕦ2m퇭}%yu{n`JK \<& >̚iۤacD1PiN}%ka(AG%E%A#K9p5(37JC {Q00J px'ߋB<_ȋ=,ՁGp̍j1š}Qp4S6"e/Mm5"b I$Z'xIۼ(~,,{zL"8}0\% Yr T"^HHz=Bu Ҷ +}wUMm rD?T Gh2~PWBPg\l=nwurs4]\Gj.JppGQH0Q`߹Ƌ]t+^QI^X%>iZTx{T頹t!=2LPEC뎀A:C_o^Zѓ͝+.y AFxRϳgU܋RLy\fܡiI.VĔ~ dBt M @͌Y9Qx ~njI/(&@9}7zbOKnGź,bpaOD_uPuDkr׮I*]wr+soߔėD,#R"jS!a`FWf -|1dxB^E25Bh'I7u"G)y8?I n+HPZ)]l-pʻ*x/,֖t£Ɵ'r0t3UWeđ\<+CJ뷙m\vt*W 0~:aPؚ7='.i6{~/p#%ςu鉖*؁5"elnq;l|Y"\W=F+=nh>l'+Va9`nuLŕPKbESҍPz$UԀBo'ifH/E9,6efu@fRU BIO:FS2sR7.71%vy$ig%o[D8jT#!'z|T62. Cqg}('kL6'F3Hąs(>D9M3| ֥㜓 DžG<'ȭ_/[yeu?&\}%J>mW&:HdEJ/٨0 #<,]מ ny@`BmkjؓB$z3]jﺽg)W2#[)/-;ogGJ=Ǯ3c'zPoX+*sFhܺ% >c.l{%l :CEj|(s t=A'U5[k-V9t!f"2v -c#c^[`&?FTbRޯ,qG#xΕ{Mgt%zHZ?ٯdڂ)iٝ&:2$Z7 82 C͞v0i/űz97LptŊ}ff@-Àhg5HQtط\~:5c)'jIg$^;6m ̔įSd%-ט_gqW&bk|c඀)Zz!|i{BTrq>h~ `ACMsLʧ BdDɑ LvKS`hCƾ**IiL p0?4 <>'>V:&O_ nfSubC]{"br%ʨwo%G.JJ[5;dZkmA5)=CUУ]$y2V`:܆_ "TAyX_HvQ1kHe&s@rⶑ82W9iM7:HV^}Tb4.gtǕ'e| i٪+JtAտ2cx7-lPh4ml\=A%Py|8{ۈ^)U>7AȐIz\ײh㆖~՝" (&AB'MwP""7؜H+,o[MФ3 \4aA}PWiP=)} V\?jTЗޢܣlBs `މc _,-FĽ*p3Qn|I vǁe ;?mF⯑u j蠚Qz\|+v-| 崃.= ꍒ EgFS`4E#uDHu &[H;6,#h6RL,zMW/+|S_ âe:C?|CnF(}X6r8>g|#MFD 7@F^B^e ]?Ӣ@\[b3âBDsɤk Zvrx|}K^.f S9ba0۸TmW}W"y{eBI/S:?oCxRX>E6 0ZQRP6Z+ym(hX4}mX(nj(~S{}c}W;jB$u_ ZT%ZA."˗|ݘ]zr8m*7Hp__1rg OCh}'C睎TʂV"6sO,omMiK.jj.pReJrI_-WF-I̟*>9+SԾn=iyoBKƉugg)WFR}o.N"˲ΘEE.ZŐ zQ-S\feleS"A²ENA(ؠ(tC+gFC}ާ]mo"(L#3X2 Uʱw?|KY|VKVo,q&jjXUNs~n~$!'W&N<iA@0)ͣmY i>Y%)URkgҩs7_EGh[5[K2+; _z3*GZ,j87;m~Ӫj[lH#P̘L&mwkkL/_Fh duXڭq8]g͙H>^I8ZZtwnecL+ M &t70<6mͅP yth&"4~x`n/0O Pۉ-*M(5IרMI|>5gk}HEABc7=vXPk*̋a8_?}>; |Of3&ʤ?K0`U(~S_$hgu6  k!"%*}@&eU[T`UcdkR|RTU&{@g=|clv5`U+wfQK3QedKCYPnV?_1m.ͅH[΁)@_[V9z`ׅ^NηYK5 znǤ%"t7J#`1ݒ”s(x"Vp,ŒyG55 ::.(Cv!!]ȩ C³Uf"dJw1:)V84.dq].3hm%,:ʺxDtOXVdwU,([}Fbv1@/:79HV~m2JAU@~wW ˅)W\t*.)7a¶Pqp@)#,HeZd^3tP+:ȅ P8zk$ $hv}w^pb͍b;g&}jt[TaJM2O5yCoo!DX]誖*#i[zс iVN'Y%jD3c.ZfmK,iŌڨw^p@z- : P%ݽ )M!yϡ-dj)rBAd͘緒<(pw`ɹodlֳ/HB-i 9I*!;!p;NboF59jL.b *.FAP.陭`O`7>?ޛ~tDOZ/X4xH\0KU7Umi7H6q;l>")B=\=ATa'Kea3ֿɁuD8yIx.fPi?U8: /LУCF\5"D_pz*GI@,]'?bq1lIN7Y64Z!Wӊ ]QlnxpwuT`ceUc~#– ضbz7^|à^R2O^J~׈E7>f :R͝ˣqlo DuȲǿ y=i{5DNAHX%O]vVyv}zM^4f۲UxV3(e~N+Y+BI8TDŽZ%RdA< G P}릙>g_E\ËyJ!h zS@GR5% zwᶰ&4d~ CVOͯ25S돆|铴ZQ_b$7a%3p_VJZl+ 2 (%D_ڿ+aM[Cg VugC0`)^K`77e4u:d^R.7Y \U `R%]tg@N8?J FcIu$f.9<)mXlNu{!{[$J: ~iM4 aBAMfGIK=a%:wYG܄L;[>a:zFUyOk"'G^((Q9e8ěd3-}Z^*%aF%f%Q+ H]O=[.^p^~Nj<7欏ĸadX >LFK=_}] _/,z#{[{z6*U ; ܪ!opiBڡ~d~_èej <ȞTUS_L=ϴ/KZT>nf |WZGDِ/}X4a)|dUu~,цPF]aXu~XBBn *O!B0-h{ S89BhO&*3Uq5*k>2_zV/\vO#A-WEFχ_=ɋKWqĭ)Jv 2' +}uW_'==oDM#6Ɗ &]DN/fXP8z{8/oo-)ʋl腮'trH"2d;)3臞Z$G\\!|ne@xks{ܐ)=NZBRf^=#)$I 2lWdY(*)!8tZJ>tlv$ Tztf>C~Zlaۮjo ,M>JS$dFH/ﰵw`yɖ2;$iDm[,2ߟ7/^G;V8<ЏX+O[T\LM;$K Duu{w~$(Ɲ1y_JlCBKM"땑yCmg. SFl\GEͨN$lJNQ+(DD˓fGrq%9 5)q"@X#-Gqg˛hϚq'P PaQg715f}Iʅ:Zei)Ox &QR=1(ьBИP~n͢Jb x.H;3TC;qk jb`4:8| c8[HwN䱵i]z8ky*(BɁqן4AGlmVOYX?[ũH@YZpb"ÎP\4Bx~298QgO>Ac7.j$TcLGO{Wx(_RvZwdǧ-R:MV ޺cUDAT #~H&L|4@2ա!~ӏОg=,&t頜50 {פv zYIPKdc!ZC“Rr6#~cW V0kDr륧xOe<Bρܗ \Jh2פ4.tdqMlq`UL#yC-|V5! 4 GZE k@C$ru/ZL9 PK|pL#NPk LZ(FHisBXU== !UUX%,$xX/~cpjz5Fsh΅nZKVkh 8J,ajnhG(J wwHtBS{$ lɪa< ܕ'X"L%X+N^u)HN)y/,[6evv2F#s(ݜ}F~@m`@9U϶6"lBb={ _ UtCgՎeo7\~7@e9iʖٝ̕rK+1fhj2M?f"l|# ʷ8܄XO |h+tz I=m7 fc $pĩ8Y5fvO&@ 4!d_i҃d8Rs Jy.c`yUC- ru,i3P҄*wmI&p8Y.{c+f]l3YV'w ,%2D@3uN-RjN9*rj>,0FGdR3bsEG8nb7tsBr2_zD2~wޮ7lW=xF%1',&uZ#XLFMEs=Uqnk=溁bzpavbr`\ͧ.)^aKr(qP&mgx9SJTM(S=&ڭTb}M~7MG?9ЭZe.G6:f_EzKLxEMY0fDXL̼O%퀶gAeN#vQz8ʹׁMKLآޙW /ՔPYϊШR2O@P9W]M]h|RwlZ*H $#GN}6oۂzZi2ڌ(T`i*=CJqA/5H_-)3!<& w>e0{-UsmS%D`gw{Z|oO Zu'&M?LJ)ԞRmQj 9KGlc[E}BKJดt_[5\B+`in颪 ro1n|Eu0ZOJ*0&mK_Z ?1^NY7_/97SAG 츥dIN嬇mH!#RChmP+o]'m[AK{DDI餽MKv:^1p|0zĕ,G)xVSao,çD@m-g$wĠ l%`jm$G9kf<LP`C5\bm A ~]̈́U0B|5[bMESxvf],^cr0ÿXdѸ5jco.=-y $bcgUWr\!('i g.M=}(w?7G/Si/=R-d|h"q en)rU ǔ(Sg*)R>1[K>cv *.I]Y6jdt$m) (D|U=(&/Ԁn6b0ʦE<>V|зM ]C4Zؗ(tCO [=,.YIJFP,4M. bF6``iV"]kցLa\ E(ۜ%O;y#nAM>KNͪq@Nh-"qIo{'*#imžoeN!0}Pڇޮ4Զ!fO8C޶egHμOrrlucX08s7VZ_.V<1Ŭ$dEꛛǘc+'[|_]_@9^|@,FCI0צ\ɥ71A)-ʀ<(].vߦ퐶M#^WAZ)@L?c뜯_$S&2q[rȬ=?Q.4S`BU* Z@%MZuA!3@䬥of(ik$U6T(7'm5nʼ]#gͷp>_kUiv{=͆,Y/™-/Fl~}r\esN'r]QJvwɋ]-YB6AuAk<&* -V s1y^SNȤjK iz@Mro7U`;ЙM4;kT>tчrY]aKAct1ؿ2uEKR瀧jBv= IEWE9hϐA}n Ksc@0ghd#`vVVAyOot׶؝|kIl= Ud\`54V<iuyN9rdFy֙3Z>o$`bkCEB:mZRǻl\(׺7K.|+M$h0(ʵTɦ$2,L aL\?dt# .`[Ȫ+_tnVyd%f262bA(7,4UHW%xjց?eX'c9Ta|a!'\t#VB1B#8,jL_Ԛ#ncշ:/w:̅Lv%D+6PswS֓W{NՀGv) ZN*r)|" RtPAUƨK O09.;. _pR.5%C~F!Ȥ"{WAf'1 3V9YT`;FnR1 D59GIn fջ ?l3VBѫs %XvX\M0Hz%Z+JjUOD2! 0HYM_}㘧9 h[<F"$:EV'H:q\n5R}:Y[FAGY uX"P)=m:Lu| @cz&Z;baS4/\ 3cy?YۣT)fD=}6D;S& +4?mE܃V;Íj%gHϡX)K6dM(*F QF'OO` Ib,g)+mw*RM'+CMս^ŕ7;:EumE.eH=:7j]xMDsIq dE_ KBlUڅO;>u,.'l/ XRm{ј(*ts t|ii_/!UAjnChvzP/kQikhs9CAE[] o98# Pp%m]H"⭌*H^SD:ZkKˤdZowL`x^+>N̗0lW縏ڃ0N81{ 9 eU>8}u%l;4Z>E MpZ00du$GN6ex'8X0V۱bGriL]`e tvL}2 Lu*qℭo 8IT`WЈڰ^+BA)s۱v7YL[zdS9]{L}5FX6J~(f~VƗ UnYp2ox"%ZبL}5§*ϳT[1 2+2l(^] <[4k b3ȆZR@Qݨ>ZJg gwGR;kq/Pm{ GR^ \%yGPʾ߿![MywH zIkI)Pz}y=FrP)0zҠWmNP?]v1/ ׏@w VDKX8KɘO!k)U4bRC,%l ,\OqYсE3$pn4zvM>@Q/SJ?@%%"Utȼ/%$ iB;JGS{͈wsWwJ~?i/NX̱U SCY24ȕ(hxH3@O*?G ڛmƘ[\O.mLL-ʒLdreG3RY 6ZGܙ4LRyqAjh fy=6{%6hx1v?Dnu<<;ގ.sv GAM*TB!m H,>&>XWIR H.6aNxB`ush'Syvn/*R4e1ه9GmT=j~Z7F}5bi7& NEW\H۶1v"ȞCN5˞"YQC4S7)T縥H"( QmibX_:fz8rf-+ \gAfރ'iQ<| z&oZɓn' Vg N6@SN %vIɀLƓ u$ /h?r!x1<=j|e5Z`ԞNj4N,#vTJ.]!Bvzt (N|t %m$:1fH4ún0CapT(׾AfW[D9JM!?Ed:r oZUG Qb-4<]5N^"mUͻcEBL_)tBى 4? MCuy::>~ X0a䠳Aި׫\fbI"%ۡBju%]xlZlm! 7U; AV ܐ?6S(A;j:S}ۺ#yPʠ $D]=̦lRA6}IIYfSy3 FvRa5LB I'p+4:#2Lz..4g}&=?-z4=J'%Qۉ(tGh5Ψ&pOp7u7u6l)5> D^|=p:'Rj1s Xhճ~bPGPv1Y0!x&OBh :똾kb^P2Qbx$ Йř jV9۟\LɛfC1^`nF&⓿KJ}K(}e{i)S \l_ie;ؘE#?&B>Q K(:wVu2QX߭E;Q8f ~HkUFTJ"U0[(0QYeHČYVLV/{\:L{kY]lm'CjlxHލ+/`scmҜ+zR(b}ӧ}pP%ZUh֜@(&? Q& I^#6޾lpyi7\<Ad.Gpbgw/qr4n2lI`^ t8.3$}F0<`"` o ]N#BN(NmƱC_8S=xNU}/+ܫ?JI':]J5:b磙Ayw3Ǚ%EEaNWgێ 1+W>WM~V#Jd\Di4?lw k%t55) Mb>5T%N`8X1_zH j6;uc$8XǍ3$Xyewn} _-U\615L@VY}UeHM tkn ,z۽Y#c&ǚ"np}Ci9Vu/rZ-X rTG>F{A)P3/-}Ht͟>Uʇr62LN'Cy}4d\?V8٣yDP##Cgtb;G[zr`n35\^$dBz661V~EA睛 S@]M:l?3:YvtbxDeH\'&ᬄ?*0{"͍{"DUZJu> >}SYq!z@)ˏ"9꽇Q6w/2^W1q#bkg-@G\Qf*xJj*%%.!\yOC3?qOMs+5_PӤ" szJVd0[m!b G_z XWՖC~5b,6 OaF 㑍4&GTwd-|6#72qc[jO{b9=ނ„\Ϗf_sH $Pc@?!&}2^oGBDu):AN)O9zkwǰ\EzFm.Wt^5Rэk*:ގITRF\#1D`R\n zr<{50嬟B&%+ǔa NPx F*}.v52BHmPNZbZhV5 >pjmS /c-77Zi.dp3lh*&Gę|{ 1=듸ՆLƉ3(Ai,6T{[מ9{<i@!Ldsu{ZШ7B S{:*dODcQ;u|`+3$1/b< s-kr ဃ0Q:4ƂWs9 tՋ>䭨Xݰ2A(* 'bl]noEIKB4uPClCBQq$1{ݏ͞0"9S81G ٴ^ 6Q?~k*{W;DR`WaO2 lwϓ YD؈6 znHYg@('Qxr($ ’FwI{1 5X`Kމ/v[VUׄqGVxZ;Z@6zN`O`[ C~3}BA)^m\}OKP@OҲeiUH^6乳3Q&`܇1UOC .^0HYCb)0q'%m@maT%] _L)5k `⼒2K%J9$"{ 1 t葠Ptv?!ʱvoqěV ez*LL%ӲL1E}G.ڗ+"=KDy4-c@M䢩gq3qM̯j*QuUv㏯UM|W9,̗q㏜Uz#ރE7Z1S뾜Sad/r0_"Wj6 [ǣP:݆ȜIAu.d=Fq`a[8(u>ݩ=j&z}5Nyٟ!r(~?Tp1g~+ҟ7}ׇH g+O|ߩĜʼ_ر33:bQy &xI+xPMJ0bĢ7[q0{XIQ5 wIԛ:\Mk=-TnsWsZ$qPc  m FoP]>_?WFm1)BG:r0 X3 Ҥe[`[Hf@n.֟3$o>%DO }(,̓*L',o6jHO[CB^kS~3Vq; ^šY}zl/"#kUG51/NM)pj#`=I` huꋿ%}]ti@M'B@c ~ nj\}yWϛJdcZ:)76]jv^ҏ،=,E{TDf'5a("D]6M=j\Ĥ|>yS ǩC5yk+Rg;T!m"I(ombwvMF U Od5Q{ qӬ3nY|ň~W&^҉a ʬm$FcZt pvfK0Z5LtnKdiju tN; !>&c*F˯5GOȳ ga9eZhOTȍ⒯.4W:RCD99P..7A"T?HLu a ڙ[4B5sde٨ChKA @pIVl5ݤ|O{Oɘ'vhM-jA'p[\h~{ʞsy}\H49(<]|^ӊf1LV"Ա;>LWvGL򂞌mRaX:'#gcsFcTe &oUіx_rACmς0䳭AN2BSOo$J8w1 sBn$8qL(V] 5bs)Y<Pؒ)<R,z[H-;١N/6I]8Ц7/dZ0(Z.W@TIL8f ʀ([6k|). /xFc z>".d|IgRpԗRu/ >%$S픡L~cSa3%}QhK臋t%ۣ>Fş(E 'C5[ݮb-D+ tfTK#ڐkpi}~('](>(Pdz6XxA4:S 9z{f$PKPD8w8UeW\8d{b. ?&G&N ek-a+%H'i g}g%k_Wg t# 9.6FbOQPŬS=IqΡz ImHGu32:ӣ 2.( =^֭F0ߓ٭Pc"QR5 hYjːY ٲv9M&XqZvk~Igߎ+1%^zas3@ڟ}QϔB6&t>aSk|g?NrYIK0CL!5v! 5BFbC`Z}q JD*٥%ʴkh-3u 3!1}eG'd~2Ԏ^6r 9 "R1w]mjۓt2#%Hzle./t7A]%i`C _Y<3&u`<: L ,ާ,`V +;Gw_f/si8+LY/oIb )a$ݮpи (S:+o-djCax3Xj*U'"=l, ۪.eRTE!)=vnvHd&E*}L`;Wr/H[Ì&:XƘ;ivgߏN a T{9U/3_/ _"i?wJOxYdݛ 2Y14 Z&G)sBۊydW0z)?RSţ[(z2; #[Kp8'bk^8BJKޞ b5X~ Nf84^ڡ=y m& Պ T(KѺO@nR0σXgke"vSfJăgݚć;̔lB-?)YzAef&oyDrvDbjEBɢi3=m>J{%'͓hX5쯳w 607D,Y֦(s43db1X6|2x|*9 }I˳CH:6& 墉E]?HI+b.Co?"ydjlw142wdܚT &b < 39fק=L!&@\q۠*D 1uȻǔqRH'e Ÿb MxŨ`e-ec2{zN݋9I4?$G7s {t"\:&:D[SXDŽ |k3vJQ_Ez]dÍ<4KM-mmw^:}Ys2 w֘]R4o&6r6weV )w[ZJ<*@vFxOaK! tحX|?nc_#ㅟWC#Yb2S߯̓ͬtpat|Q\| %',Stozbcgk랸ƺm\'1i,rl~]ee0L!D2-Dl0e!]pnq,e]L՚ױ%dFdEə]m28pEF0AY3(K\= F!007–?+A2YO(e _Z֭ezlOEwo-.$X!3! zhD$׀B[>xZU,TAe&!E;!IoXEixF\?G`(:Daf=0 "uɔ~GזiⶒffT3&,"HF͌9ѩNCWY#^UKseCKY}dǑ砮Z!H|ᡶzWd$-3n^~4gz7u@7!Xl T(~U2Yc 72M϶ޤK%I Aa}Z0D:B &թrB -Z sXðD6,ƇM#IU 91oִG47Ds(/!7Fmn#w@<"9kXxkRJ24@lIl -b+ДNQ{i%5b'Hb>јVI%NVcؓ[4Q`JkRe0 [@ı,D<̙ |뿐Dg~KC4 >GI[SRټ$ᏟXFփ1,%D餙yM^oKEvcLԠb au9R{|C1 zl2#̀E|8wp<:'TPS:^?:Nä,e C1!uTlX&77 i:, ɝS;${o[y&SіS2q:hn y:=pjk6䍔8UD5p_>> 7ԧU-IE_sspY;b9 vYSH1=Z]E||٤|a^sĬبlK wkd?O {tR~f ,dlϔ:m}eܴK31l݁VIW_Xx䉡69ZUWx\?z;MdƗLzrxl?遺!Oc$Q.L'ǖjt#pX7 ZzvBFmsE"|v-YN(45nweDuv|0$NUV1~2 +9rd5wPM ÿ*f>po8Oخq\QȒQ\ }g2#>`խUmڃ((9N,'}0d,q*1/lЁvR(?DV5oDvR@._'fB5]~%˨K"#mϾ' rc5s2{/0h1znSu+6|S*!RogΞ i2xT_PT)#.jxo@~vdCJr{]/i[>#Fd )G(3f?_͆]3 tM"7;as+^IF"r Z۱a=A1uͽ촖\R$9N'v䊸v n{y7% "5Dy/}3)*Vjzcw"KcdA{2|=ԅ c2oh]Hyl F5E~ߐ?9G#R!,Y^4 ν۩V2I*axWbmeVKʐe}U.vV5Q@=THճ𝥰x#Ƕ8 StBYܵȴwEi ̕ vqTʷG,gnNf[mwό{A[VIEV,߷YLeQ޳ߙ5Ը2:O`e8CaLtQD<NOqJ9q6X&yS%%d0Tiݶm]lYM *']eS0bGS!1b ',Zo8_I ܵ]ͣ > ]{S[x(ͮ9+3Рaސ9OҹyBVU8J\k;ymK O;M$%pSw*#fū0z'&hV`޷ `qD Rb*cQLFoyĨ9[Th &%EU3ܴ:^v:R&*?0"7$RR0!fM>>w8wl8Hi-ca,`:2)D‚gX`N[߄`A$1>\өFTo|@f0APL$.zE%Xŕ(߮Kx6* bX1[WpZ.ZbK:-*n-4Ң X >-ҁIJ!9A6]CA w.$na/(H%KEz*2r- dܜmQqZ5ڞXNZO"M9SKQkc0z~a|<m Wd<)@4sE:yȵn3Y:Pbk9\pk]zRp&LGM5Gxŷk \}+$Hdh KLjv1H!j'G^ܲ\)l+=}͸SD!\ƒd҈[P"8\v舺޼g$`T(@4_(;8M7-^1ohc HXOCSh/tֶhi2h#&QZt"=io Ɵ 4>?i\!N+WelYMv^WacCӅGn|n}V:72hI9/9&k8yt&5CfS1yJLպ6};@UDovjU>KfFaSq66*֮$!?`CD9ρC3pY`s)K>}JrpdMWZ&E. hP~ـE"!~W9>kAlvo)YDO³ȝ:|KcQ|B푁dfx%Pgq/( m 3vӧhbmg2>Fl@PgC޳PqgՕ\*/2U&S }J'keDpr:|MdVgOuJ1hwm(=M8C^\d!*Qd%v Ou͸(ޑp_VϝPʗ U,g$eZ̀xtEV^uK+.6zQ}+,?tAI)>|("%crՆ.oe/X`4ۉOd#>sM_۱M?ՀblXX`mlV~R2LZ4sl2y=HdFdj"tƉ@># bqzR4sSv'Xả;ɈDeU_!2R"¼@%UcKJrrxKǩV5o1(3/6X]B -YS$v'vkaWIO*'q=vz6|]CGyx WzDl8*#WCzga!{굮;~mffGҴ e;U& PCbH늂# h~U2H=}V@;~ܩ:ۄ>`fܨ4uGriƋtWZ߰6P; FiuƚopvؔsDA WJU3 #H5x p𕫿t)pWWoB؄cO\܆ ;YB$ F;?r#5k:#oP}9d]0'D1 06 ̽Y4E1 LҀ';!Y6/%$hQp n 3(ZNbd#v-E\FzaO]Nƣ*@6EHn`WA&%] 4}+O_k)CmݩGcv2)3#κ86;cJn"Fb+[ d'ŚE9-+}i9M_k9$輦W|@OF5!|onaDY;͒ǩ6Ě%J9Oн?vڟݯnKL94ۻɡ趹<$/E.fH R9gMɦFpHQǼe8xv}.A eKR6{ҞnXH@~.>&+Reen Ud"* {<)EMY{|_Id}Ufʃ j G3zzs_ow\t .Iv9TМRDHٞ،*DRy뢔b&ømtm踭u 0_=1 iv 'b.g>}h,Pk¯̓f@~<eW~(R&9>\7im A5_tbNP&(9=vV\A>q1W%_.v Q{+ |t] bxvҹnuwetNGbR]Ъyp* `-q?q|j e`* #o~AJhY|[q#.I2ܦQ}+jft)%e˥s_+ɩUvK37В~8$t-g~d0s9ݤaľWqr^.A߯Tlu $,ZI= " @X>:=pJFR"PG~{)g$U-U/ Ö-97]O{.Fe,F.m@8t(hj%Am=8cľqL)od0pT wLK[+n?c؝pzqc#‹icc0?YƋ`Kψ`lT9z›R e+O08H݅o ?p.0 6;N94ѹxfۗlА%=$Gi>ِ R5r $ٶ|[K೮r:s)koo[}ь%~ vYbZwsvfSd-k>ύ1Dӛ^~\jKbX!Ĝt1 ts{CRB6LʔDA -?Ybkְ6oem}L/`zJA9b;ݯpKo_,t d*>6-E"쮿вpbk iQ0~j˰R Ur= ,kԊ' 9w<Z_z*+ tM %t8Ox7TT2s:1`' TsQ`cpf=g֒oJAT4pS*iG7H34MRtj-s%'U^8?;߁݁,=Aī\Cld6 $$Rd?{ e.e\+Lt_vSpxت̲ި4F XfBg 4i7-C1:=f: `:5qF%.R6Bie*(w=ɼ4őȵMU˒=o4^5I2$Ć1nlbax̪_?pkW]HjFCOqqP--o:JP4r}ЏW5lHP~cc?yco){^C*k4LPqxӑ8Jb'_AABk\ͫR}{ zYfpgREVPŨPun1~jY߱MM"`VC@_puA,XMO \=Yg:zuM;R^ZuiWN~zPC3( 8;}` .0**-_/3Q=;zx [H (P@&U}-R=\!g $$BnڨѦMQ;3u82E!]8 Ԏ.Ŀv&LPn6E3@;koo%ꉏuVuѥm\<瞩WCPȂc)pZ?TILh?W}Y:ha1Pjx&ɑm D_JP0;~IJ|b ۑ ފE!+cX[};H(s!h+G̏ĚQft'G&N/1X-1 9V4;\3hӷWY:-aY:CI՚\vmx?ץRm 7{=Y+̺D|"Jɳ-(m._L}OWjs,Na#'E<(ʃ{"pڸJGu!&2<K<] 75{*\|ob/ӏ"ƞ*Zvx.l cpQP!),?iE,plת0r0.+)5 !Me{ rFUBBWP=*G_Ĝ g"coΘ>3c@Ňq+Oyh]J26[ZC<#)ꎢs%32e8RlwEDUeDC6_Drv{J@]M]Y픱};VI>ܑJF"]p\\aEl#b&>: &}jZj;}8Fϋ yc_JQ~@-^;.նZf}֒oըf9[hfVʍ:NN~Zi%Єn P?e{Ԏ#3M:AdչA?́>FfL3khY7$HqLσD0.3C8q9qJNkKP\4]3ДM?]GI&\rarkugEMwY~ LzYHB$x~hRX>チ̉.tW*Q]>ّ߳V^TG=x20q0!~K0jx>@Y7~8r>9,BH@ښW35Å˲1˳6#|cN N<z[e*ƸJP^Ok_Q TZ f f ȱG,ozbr MymQ}Y4>ԓ,aZ7TRf ;38k65ђPb{`+ݮ$PpiN Ҭ?7VPJ,N\ '^Jt6[9Sj~XN 9bz3O#uZ`xG$uhe/( H€-CDnKD}TQ:64n1G>Β# J8Fg(>E-yj j Z::~0sc|ڇ#1Cx(qe3aKx8<>WLs*( <=$8JS\O9G9L=ɭQ0{:{TYDkphO7"H&4`Gt6t# _m.t~70Lt6XYo]Gy,-Ր9sw6񥱚kU*hp I TX@Ɵ+/1[$dQ [nlDHS Iz 9o (ze r|񰏄;cxN/d.`IQRP4^|1Op \y !$XWV=cMykkzKq塕PRӐ06H!3K)c= Ȣ“[@ 9_vP)S|A.2E:dyREbՐIЅ$}ڻ v'>cz bA;OzU*]^Ƣ搙0↷q@;;¦DAjȟ[pX#|,\ 62φ ǂttbD`9}%dvo]E^Dm?g E"깚pϜpMot:Bm+@X:A$ĉ)vTX}":x?NJȱ0@uf@>yGg yLCr <8y[6K*9U2+~V.:0,Kqqhnq̋EkӦ3*oğ D~aDZ!-LspR)c_?UrPofsM!p2bێG쯖ofuyLdKjз@F_'?h=KIf\@f@% ފ- ?9g` :LA\"{HZT@㌇Fmj.#5`Β*hM%=VuGuVH!7@!SL͖egxIKR1ۮ}fЪb.d.-[6U}HqH״8ס~:oxn@=o~bzēgygdy*K'I1;`$?Yy7HP^NI2ao?!rQ*Qib"Wl 9nиgMߘ[ _@Ŭ?Ga+I94>J.#x.%]=ID]WrcوOyH JLAc{ާ~BmA0l6qBK|M'vT]4>P%#bbГPK[ *BTi⢒P\bC\abÉ;XI)Aٲ#A:=k?LշzQkHM8sD!$ IM}t]sަh9` wmye9΋ 5X7{A6†GQۭE2oL()8uHPW~RXjtKp%Xjp'F+!!n jB:UH`Ç%%"avXI.Ca{74\A“(N\ j9R]#&9*E=`CC%UM8+tFgv tN3XV θ32G8Fta{|%cgt*ɏ]1 xR¸H0a R3tfa.[(2<1>򩺋ӘfaDgoǏ6&TWDEP er@7"7\[50_ix㐠&QOm:Eiae0f\h>0(Lmn ) T9YR%<`A`. /|r1~#? U;~g]Lɬ7C(ʞ`na2#R&wMF% {UKj{&OoYr3?LSݾWQXč_X|FnwρT43zQN/Ps0! b21YLsA{ _y]oL Îs+kWB  )VJ@*yH\ tT LiQ99wmx0ᩣ?6m]m- 1,: m?'"YJ2/'%Q0Ъ$lV |l^zJ]!ԭar9}NV1s)19ܘҧ!lJ52{@\~Ge!DKk'CÌ a ^t<є]y=h5/Xjl# Xf 7x*dfcŭl2X4g+bv ]Drg v >4lԈcO&d)gLl;X_c.;LM4X'ec *'|Ru[TimsF0͢?Sh$¡-(IU~`|"=uRVo; ˟ӱ pTAwJjJQʦ2"jh%/P-zV̄ UBn)4w "@ $څL^*.QlK5vGE &gK&s2'`̾^#`EmH~-h hm`E[Q~3#J>DyQnK9YM 0QG{M]Pbshn BENGCD'f3{ɌX|Mq=Ύ ):u.g SygAdbAGE3X d0 !^ ob;`R`2td֖' 7 8 ;kk7"+ޒmT)9.azO% !pI\n2x*x%NR/By~]ɚze>W j)Y6$Xy,!4I,ψk7K@MQai+9#VAW5SͰe|Ur&Y0TYRMW4+ؓ^2HZSӘ#aK PX3 &'W! > [H< *$5tnwvg)_f{,^͆ؒ~%v gpW2_k8XR{p & fKV(oz"JvV{A?s>+) 1zEe:E5 `a}D%Y?pmS3cPn^]c=8F/ [(`sU9tZW;,214uޣ-|H/uFJM7Ϙ}+.rv oڨ kI!\At ,<=!Dp`LfLn,gQ2T)R_CGIf tB?PNw_4[$)+r3Sb THnV*23X\9̲ +W L</fm 6?52<"w±V\J>K`pȪZƜӍ r4b]P귋DLV|DXn0 }_H=t=}"ZQ;,.ƠLZqA3DDtw$ӭNT]Cn(2wEBjaGz }Yfi;P--1TGaEmϽ^1[Qyl(H)GU˩ ׫3[$*4e~&wKIx5XZ9kԀߣ( jxniH.i6޵jsY wŻL 7$ Vc4vٍFY" oy8Qۀ>5d(q0K[IXuz2?*trJɅՏ1&[;[l]yB{hc̮tdJ0$xCfGp0S[YOgb$~IvɐTu so߯\._\"Q@8ɁC1!ǀ9 6@&c6-+'rD[JEbW@F@ Z7}A BzӲ^7Pj{;?zٕ5xf= WLuh!jPoM Z'i¨D2(ɳ`)FBbH?lBonVǪo7,bzpdVϫ?.DrKj+2"{ ePσV*ȎeݰNTiwB`#F;E1"lyEo؛]wL G=w/ⷕ>LP0U+7|ۮxvI#91ȣRZAc'|n98'uNW``ER;$fʱa@BE0ȹo,CRlbt\I/ a  Kw VMHL ,. Li7Fֈ[Ėwsq )+Ɲ?}\6E2o F/CO8{,z؃Lgn=9B&c AkUyG{tF&!0NkܩW µ)J&i\_&|GF f+O@'*4zT^aߊSkAAq ^mB{m;U b$E3O dNl`x0*w~M+)-!SSz|MˢQ{t<-}u҆428.H+,]8\OqmJz "22J@J@+&:z*t nMpOͼ@.X//GxM(@BUwܭfεOIk}",lɅYW`LycAah>1KRD :aes5K˴gH(/զڏ~_-:bkM9p4aB1rڝqÐQ/tA/_I\ҶhJc+V㳉_JƦ0"”X?@%Tdd_9hvpܹ *=g7\MYǼH4,9Ū&fg [A@Ui (ΝMtY|,u&McsU^$̯I7^y-{Coj{'Q&Q9]yyϽo.BќBgU&g@zfH'0BہC{#wz@5e&LzC >NqUmY/CPj6~ATj0O8A/ԙ!iVy1n3tdoZ~B[Ⱦqa&=9Z;PzfleO**)M!C k (+\(k=`qOZX1C-b'+wIpqIٓuQ|BG[ЬسϺ*˖o'( GzgJoz}1خ.aq儓?-AAlGP6+=7nrkwOBP4HX,IuC7w[ =R +-t RvX@VIѿ,)OXuKɂBƒphvu%Џ=  -Q Ig:r1w]qeXԘk`.I&nJde@[Bڦf\gD b )tOwԆ<̲zk6%ƾ!u1@ZJjoXD;@w ¶n|yU9'ndN%)BKQlGЈr鐜Wxƚ˚xzIٳL2OJ{nCA7^¸ESD}a(t(eSOh]54q怸sb_Mnv -:NR_ڊ[w4mjiN֘HKʝGel #+9#˫2[ <7>˂ i;pSBx`rI= Nͻ@J'skh,wӣ;"޲սGKm-ycJnEy##\\3ǘ[lo$3S%mBRJ9BR&.?pwzI UbMT/XGO8ooMo~ֆA&[QcJ'd&|r\Ѓ:$nnt-*;Ro5V3-www褽fWKkWaLH? |Yn d GTo4ߓ]L>X}o GH &0ovRGDp`82=P:s;@$\"ZUa5>D$wx f3b7 R΍;ٰIJ%ض]x1Y#w iC֞5;. V}ko6CYhX1gvp|:5Q3DZ>\2(3[ܗ^`'`6. R=`=>$RSlTËS *UYt)Xd:i2Y p ݔzElW"R۹c` [െQqq C wsu_i!g݀|+$S:m#l 2(lwT!O7bPURmU3/߬LTJ,ᡸ L6+KkmJUFw#c(/O3Ȋ.H|=b!ZHX(' [NH|6K` aUa֕~p*CEV݉]m_.o8ĺ.[lZb5\ud)vsɸ$"%jw}"Wu݄ 6yDIj<`;nH,TaiZ!4C7"*!Tb~rڽsڤp,<.~x,#LG)IG[Pޛ)5(ZREگi۬g "\ M鼘;k& ?RcTX7%1Y+&SAjE]{Y@A`#C­()^m"HR,|_=r Α\.?k`GtW΢{ؗ%iXb+iraHaoJs C6Y7%~)0rz^ w8 +3gVHڦRȧxUyދ?QAv,|(ĽVmݻzx[+p1L;צ,c߶E8яJU˖O\lF;*c$ǀ6R| T.05)[wJQsGHP7egGؗ R`#ո(f kipW8z C +k!k4[IWBHB!biXl7z]tn!CefEDDR&.O%Z?"sIex!o@dd} W! 5Yݵ1)x!Kjg}5}mRn L״"HjnJ!95H'1지E›|*8 nZa89%,A|y5ң D8I$?o:5wd\0Dxp#"ᑻH87t8__iV-#}" B3 NFJ6a\g(>Xx(;Mfg!0X̅VbL]WBD8Biz-M;}ЯCo; " ΠJ#p2=wUNH(55;c)?0ו}sc+Z Vab5z^Pӵ$"Tz~^xTfTMXP;^.6oEˋ x -r<>K^kfTF*B5&m#He\;$-T2>Vrk[83z=$l"+7 lM.;Dol'Ƨn]~~R#V^e異B%Їba-x1 $Kxz 'NRʝQxKrQP)/6DB!JwfTHB21@htB LJ0M D5`UjoP(,D-$V\_,zfWgR4G6'.ւl\%,%ac5U̎N"+ \ {WKo>6VRrIø3_P)ڬAIN+Xޕ5ZA[R4h5]O …o5gЧ`7f2s%C{7쥙 jle[cAoYEXdx5꯵1*|dD=lh{kOH|quȁ4(^V,X4 W:^YnY 0Қ"vNz:Ccڠ ,.8r5OE虨NJ2|)3¸iJ:9>ي'SuvNx3Kshъd #ur Df nH[n6z7Q˫Rȸ~9/bSD(I^՚"ݘql[y.JlײJyd@ˆ\WVh.bR Uĥ l 丷VaA |Kmj`l U;jR~k dRg M*]qQ1h&~$CEՕ P.l?dN.fY0BC2ZMUTCNopv,Ŀ?705D|v?f";SJS ؒvՍhT-ٻ*[OИgA%5GYGA%w"큌Q P˵V%?c:mړNOXx!BK)R / <]u9)Բ; k@PIn*b\Mp8)Z?^ V{DzT nD-D4n%i;,=WYSc)Ƥk*%3d!LpŔ ^6/N:儵B}@Uϊ?c٩ A"WHU{U93Ÿ) )Q3dZzhy7~3ypPEz.]FʓAѼ4Fp U2YhCzU 2 6Hvao[dM;Lm4uI}M vjuhi?{bld^•\Fqz rf=S'AŮ-*iYqOxoO˿V8i uI P@Df+ =-jt@Q),S4&59׾M.RZOZܐ,&*mUU4H|I:B^ zCM+a->MÊΎ:4B"^V_7ust"`_WS[y$r(b F&l;e8t)稙 {dALC#,HBH?]8} wڻS%5<b+En߈.Wi=%ShYКgD}e ⷢՍzm,@1__*%ֿпAb,{ >M?m'iHX˨¥L()MSvd@M5a]m<1Ћ;LANܭZcK ?2iv&n-^Tșs`kI0~U3 ɽmaŞS[l^ѧݮq "Ny^xsoBOiOZH^GÚnВ@k=;`rH$!@|\v<.Lt" L5DK)=<}xS32'+h;tr&@30fuN _3b<k8jwWbݳqڤx^q5=/ 'eNޫ f(8tQ.]p9(J^|f2ǒD͚?Z F(z-ݕ:IvAC2h 1cT|ݕQe@Ih317KTsT6 NdPJDq$W7ǃTV]vطjk9oLxsESR8`e~:r=YZTl2 ]`> zw6, 2*>W鳙.2=Ib_[f'bl o7Fk"MD$zhP$ܰ׏MLjEM젠&[U|$`jn="+7@_S8XT"?sDZ3 ?ol%P,x_&SS">‘16@N[sRO]a,ygXs|&F G~p2K#=b"-NU}ys[:XK:>ෳz /8RΓV 9u`T:j7Dg+gdyAA.S# -(ӟTϰ}/ 7;[Byve,@Q 'uKIi/X)Qb!u|rپsިNCH|EY IoVdO;OB|ju xDt{n`1>=UKuᐩw6*ѐUYl0k&T{)+!6>Jvd(zR>"c&|X}|y=|!#/*DNi^a U4|yL䊋vAOqkצU/v :QPΔuvzڵXQ~C!MZ(Xy0Uj!E7^xُX$x]׊Eܫ L@dOM¸@/D$.Mfh5DqV/5 h߫4AE^eг2[+a P-UH*~.O,Y?Y|gTC<p;~?mQ n;bv:0hmXC cE@JUM|Eצw@hL%"O}*mэCƟv6UjU˼k?^zkqD/ʕ*H̭nzE)pdiw541 Ffe ;DPH=DK|)仐.-tn|L &84QX0l96'Kk5:X'/':|U'BH奅 L\zUn~RMuR!YSч <,F;jtUNH^aJh+a`LYA g johYy1)I*X`5f*ڻ~z0D l> Hl*R&նA`]2A rqdv#;x;ֿ'elVGPT*3AƗv.-#x ϱ t _7n% Yy4-EƏcgi1zAD+$c쯹4Εy:A·Q ,S)%c$M~AR >dL'4o7/͇D(ypT TPf>—Gz;_G "7oB16erkj'tt6''l+DG?}]"/$c I}y%(@#tՠ(ݻC n+IBh&<쫊^3mp0SgTxCy ^QhDnRdz5>kG"8BAM)erϲXAd0IRPYfCSj30tlY!>WU g7Pfla.!3V l fj7Q##哻 _=3#egC(k(&ډ}1;}덌iIOS4¨.SVw_'6#|̉yMR%Ø6D~+m>}Uid))U>7ǡSsmjjߤvCUf̖L11-5Z#h O0E3v2o+A'HnaX<>/%ZlP96ۄՄTPKs,wEV]ɳQR".REaaqTHuuml__ːGE3榧?B%Yo-I]9 %閈fulk'뮒e+`d %TֆYoK5pؘHv&(U^z(Myu+`@5gPDOfZYNa/Q~&lVѹEA^mƕ8v~05Kɨ; *| N#7,P&@~ā[TjVZWpȧ)ߧ|*~{ƍecY[eFyF*jAw&mA`OCA ~k3Hs'1A}UǶ>ARHaXGv*lA1}ٕ~aơӒs+]Cv:cx`WzTv-   6@$|O[oTHsb#]"*8>"& ͻHDᑄvۍĽ1"T¢ ڂ)xioV@Gn/DgRoQ9 S3@Qn[U^fjQ\sjKLwg d6ecԶZv.hHzօ#H.NŚI3ݩ|wGΞuof^FCpEgw\Sya1]! _/hOix\ K)9ޞL4}G}Jc؊STW7nkm,9gYD|QP-*֑'1ZƓ`QAW3/ӻuzeVN?Q܎Mm{X+s`u/S`dÛt0iW~ x wFZR‘i0mucfηHkWod6Iwg~Cxf;ӌciI8vEX !w(Q/ .9%j1y|ЅgHhf7lJ&#튀las76ΦbT3*y+^yxuƇm}P)¤xTnͻ=EdO0V@Y w!Џ +CSDt5P7bg T\c5-"Ýˠ7 Ѭo"6lZ`Ԡ ߣLpJ@+ö(\e>XIu*gv{pJ&o<_ ea St*8nP1{{dCla,LZE ܾ8eS"Ǵ (eY{ū{/!^}+ru# 2DJ|v5/,l H[Gx75rLzߐZtuYZ[L %Qg^9sN&+ : $CoTvYqZ[!䅝m(fMrΆQèPy3+ssq&| PK_Ɏ{\F@3:bXʜE:9h_!zoE!RCyH3$WA4[D_/حQ"~@x| =*[&*8ب$UG+ɝ#37/pؚrYt,-!_\5PJAf_Fy6 @q!hA93eί.I'~e0g)a$צgscŇS[9^I8]o՗v,dp}Y{3pkm{7v38(Y{>=+FWE_ƙf~֤ 1?0g BVgCCiB.k}Y^P@&\Sb/zɰ{=셜'8'& Xǚqvnj'sN0m^WOR=H2y\1z3)(&EDC;,$=5['+3"\1/bnf $79gmN Kӌ+]PMǘnBi琔q(קN׳چf1W9 E7Q/6xu48eqXlb"GFHǁ-k&eC4RjKD[ih1}CnKnP };ZX='w:&Hiώ5rRYaxY;7o.!cxY,vGmhur'fNj6]{)™@c(|RayqΡ3{ID$1(jÄp6OME =۫E!A~CL'Ojm$8P¡5|]I Iocd?@֯aIR Fڂѝ iSAp_arpfT^|d}.@Xf:F?Kf|QsL^6PPu7VmaZBa[lHWK$6Q%D(46KL^ӪA)iz_kϤMiKN{`{VmzoiTJwQSFX/ӄ9$y+}]E;pԄa/ *IɆ-ΏeZ[h%dh?п2UHCwQiTy+H?%gt_ڝM?T! !CRVt:B8pؠ*- ]7k]BB jȇrd0vQjWb]EЊļ.isJ\-h9s xz3i2~w¯[5ڳّ$4]e&51l:&Fuq 4#Pz&|]GhcR8sHDVsIh$_8 K!,EQ5 (`:ۮ~yP4P/̎Wr%zs>b t;>``8{ [b)+TG"(O?J:1B] a뉴 +;<򾰐'W-T6elϨY j\zk05:J9-tL08%P,Vp鎐qs'ܑ߄-^RlR:ZIBz@Hg $HbȞMGb />,fM?ަsL Ո<@V|lo#:=GAyX( 7eu9//98+*s.8GsCa($5 1k˯cn3ĈWT!DO/K\^~ƀk1?[M`Tƫv/&;yзigh6\ f}!$Y(It#2Fm제̬7.7K1 :YCvHKOv ?އỊ6Oo:fd>ܔ308=D8dmZr?3TQajuw MjUr~=~O)Un&ˡS^igX_~Nz4}Nq~L/-mfWGJ,Lڄ$xTtJ!͔Duh6͸%?k$bSET'2k3˴1UsɽQKh,GKwFTSrƍ#0 mpy1uKU@c=n74w̄yjQd*M}e,cN(Hbn2cŠ n#Jv!&+GoE 㨽$I}9v eӅ)WE%\'B*tyUeB. % "`DYiЖs\`|SjiJ[| (NL6G³tnS-_U=6xx3^ LOZagB %(iw:_o9~C}z321T+ݝwXR9KBXoGb"?v-z*TnJmHdLjҫs iDe AOmLxtrbn&oT9/=Y e.r!?|bQaj~-%RмY((Q?& ZڙݞA)C7;؊mHp_xT>_;ƤJ!SyrqLK΅Q8sE*'t9ouD k:wu9t==4? ֙Wpj?>F넎}V(X%WB\70MY8= E|6TF1Oh~שc$ppsWOy,3{`ZVB鑞le0z@TC㷸 M$TV·)L)3jΨ3 z`Bx}i*B&EdU:d4HeȊ<ձ:^ۃLHmocu 6SFU% #KH( tA5g]D'k)KKÛ[I`ƽd~eъRj힘YWF=qlj8!nl49ě}hQ퇦o&`&*Dx9\Ӝu}jW}b.=l ) 6+,_#H^+K溂f`}_cT;ח ; Mr[ftb ]r{Hp'ݶG\1d[=MN{8DPȦJk_rM'ju@ 6#xeHPەZȡ6/dd: (fF]N]rG$7Hbٶi(+Qݯ _[e4d@Y;7з'Aס9=3V'1UfznXa63? >bTy!VJ ,i{Nk\Z_^M/߱v쵆!pqcs[9u3"v?-sȾ۽&3ku7jE` Z#[F gPSlm}]#T,5%QAu](aa"LMN*u@9`, DwD>%fXrob9Ȕ,odL7sx^NF/a!T _8*{~%p(r;:N9dv-*琡2u3.nXeY߫d0ԅ`,v8kƵ+@@ > 768m^Wqq,O{5/OW)xݛQ@\!,]{8թ:X i_@M6jL_08;^F1Txc>MkLz>?_*/AM-7o)ORРe0![8@/i~\nV> 3-`9~Mw}!0 ` tY@?N9!#IdZ+,fN#)Yƚ,amn-K3o'1<_ͨcMZj>/DY򔔒mN}4*[vCrbƸ= e>Oܹ{W] v\.o4PTAdžI "-yY"{:GdP3_q =z/ 6o/_S6^8LܜdXEJ 7M5% .9SCN!q'H}~C.P;&`.Oʍ<Á :? xo*瘒'gZ+!m=}ŧy]lj}ΘS6sqOxs&T{&Ѩl(ZjA09ZDP4)'gLYd|4p +;˅Rҳ/LA5Fގ;w2k`1*bT0F_D3BV6mlEt!o(C?^Tm6ML>Cj4xυ.)IZYdXdw0uhIZTu\ԿXaf+f(Lf*bdTq*1~O$ 6~!Zax =} v,3ݭ΅ʽ; (O5xU! SmGLO y<-_OhhFd /+)oh1 @d?=)|߇H37MMrA_::-.ԂP ,@3:Oᛆz F׌.jgjZfb&.ˀXJ +@ՏwJA{N&nӣt-E^|6)b~̆Y--?UUR< ; LG%۹T;KDϒJ-C:d#LpH؂YbkF-TDq»> QYФ}%v{OsRtq&'iLozqܨ(}Ltʥ-|ug77dm*i5/v`Q<3[T|g6: ű4#rbw>Д;/X.AN8]3! [fT w[=54N-X;PwzCrIE=oB>PMV臅w7pLi-%/DrJ>h);TRP$>P &U*9˲PhĿMGKxF3t0K}ՎN \ΉM:jZ xNo7e21/j6QYW\V2-'=/*[Bz@b]HD3dpaҖ6k&{NL`/bQzWJ}R^s9Og ^ijgO\4YmӰ #<1*ᴲL&jHq„@]º^@%4M__JnR<&帓B-Gmpu/yPeHb(e;b!F7f.Δ*˟ 5Ͼb~˶ 2̲浗WI~0Fm7w:_L]WĐ>YbbNi֍1Ip@i5KÎY9~F1ѣlhs`dfYZߕЋ7V޾__,svLSQS}ǙfwB3i`^+Y[Sl9GbzpA v<o}e@({:c%MV^8GVtZ xt ~CRZu2rj1R*¼sOBdmj+Bʿw)\nWN;/zx>ǃ:4tDQv`w[?o^XxkJ,~PڴMˆ<l荄G M#:4OkcB:0QE@Xa^p\^y$};˚UNzs&WaZ靌$gDq*mJzL}6 f_of]P$#ա/@5{c@({zXfs`ߐ$2QZ|10s0/5EļU#᮫tAYVP>(bO#x hv4׻nۜ\ڵ/5 O Y}W!3Rڃ}M.:~TI_Rh]wT4r( $`mdn Y[po'?쐶b5hv߾w,5AD֘UR!k(tUtsޣHwPɆBo0obPk4)%aGutD1z4叛aArJ:tDdR&5rMj ~KZ|캻KhGvt:_?_L]jD+1$fo)< .Jr :X 4`\=wSGXT-.=\'" ^SQGOi  iho~bB7Sm?qMy`b!xj*e<ʓs[H+=M:ʔ15RtAھx 8ώaPm <( QpyQ9#p[ysl(gpq!%'0xF %I^^Tdˆr!ā1XX+El^N%k{AG;0thI--oi!xy$HH,i_joq a\6v`He'޴dU;xBuv.8ݹ֑w`=OV5wϲuX_VAB8gINBA LYP21AWdwN+qTдXO.B,Éw%cSuo>>S*6 n^2_8x{yt~E7>%()DI^+k*{iq7_ 8x_ cN7_ڑ+֪̹8D8nlZS1A(|NPaܪ~]/t6#A됯;AB6J5Y yvGհ&-Z$3̻!*~@?wcg`ţ y-7ZBM)pЈO;!h@BpnLBJ@L7 (ΖXS.BR!#Bmd峲_;Y.O_Ox#硈aP9f?UQdԗsBh ƹ]B'9ke;U_פT&]ͦqM#W*smL6}91/65 !{TAfYW.E4P#$֛~%w((C @0IF37G7c;&vy5r<L הAм^fu%l۩(hQ> O;(UuJ@frg_,7@:ۀ?c$p8(P e^=} Tt{$OlR@{94j [Dv yU8Q L=8+nަ9w:UlZy|r_6}&}Z{ŹQ CNSQ υ$RG0<"luFn.Q(ud@Oh_mlғ e~=!H4Zl8'p%qBD$z8oE﨟\&)BU݅H:"\w!ojz%1| vpRh[L@mVl_] o.x'#c< E1s)B"KQJ]_hhk?﹅3?na]P_|>: Ȋp9]tcتz]?avL"[/1߳!M'HlpWHb0/Le?4Rg?Fx^٤_Z_ߩ T?ҠwA-O^v,ZWcP\0)8n$ov">b Fk?O7vC SH4S'L=,/jq+M{GlZ&QNws2::B8z+dO$89 s. l(;e|BMKY'RL]6oؑʺ(II,9`&º vue+>js"JA<c~|cS>6wUPȿ%Z4}xX{|+P4YBRlewyH80M@tnIT()=Fc M(tv Q7Jμ7{@lYE{3WkRhV#>=;r BG̟?tMZ񉨰V·h :|A%>R(UDU =źuSi_R/}ĸԍ}!j46>0<FŵCF>ϬAF Mɨr3=֢&ꏝlt8;͞w\n 9si9Y(VthUZN:O7.Îth $36Q'kPtl]=(->- 4gWd6Zᛖ%O_#f&T{?ەD9SOgqmlY"_p U\&Q=w7wu9&9"$JԒa)fjDt`&TMi}c;5E8 ܶutjG^&XFUF2)Y!B7')k ;#V,U #tKj`D#+z9 Q4d"&RD,ON:c"8ˈgA]fVڝ[ur=|$ ~C:|йe;{0L%XI%_bsXX)cLI1է >g)n-pg'o62l<_\p&քy E&q*D&' Q7BANAYG'ݶj7fVK e# U3r/ˆnycGzeYASӁ\M$,6rq-3M̂M%gԻDmzcӛdTgB/Iʘb -U kSx8 x@(Q3YfTK}ab땣•cd>eO~vcE]eRʻj@e= N̏_ky4ŴȺ.˭hee}7gxhJtFp oo* tZ _`:'Ok9i5(u*c!PHBH5 v\?ud2QDZl"| qT8Y:,0`r真5Zx\Ⳙd4vv%DPPY!%?0,0hg A&}P=XfSmHYAVpYoSkqR.Hn9G3TAĘL,"F OҔ"wS^vP\Sl6V~(zfܭ?mnKΕ+9U]Pc׊]ƒΉ1 ҟ3pvb7NXK&^!G$q}ؑaؿaYb-%4UKd6)}/!hNbtdYDi.'Me$jLgutH,LG+dϦwZejg"wHkVd(ksdIx/g&";U!sW?<q" [gP@PA&xa;}tclt,GX9~nN2e4 ^*S{z}Y QLa 38B aM|RHk3kƲ*ᾩ >^ WW%\}F .%v>uLiQUDT%q ^dTk/\lj7%2{ZM/9r>TKW b}CУSVX3CS |b?Gx CpV|r8RDs-L,~iq~u[;RwM=abrWf"s'WfKD`hN_T% ~ !;@Q`G*$0~%rF#ӿϚWX9Q2>\[S-(u,vEi@[֗5e2]0MRPu*TkoW"岽yQ}[A b|>=_Ԑ[[p, BH?:d>/2F%|y7!ΙT% |?ZX&PZϳxoiOڐe|{kҗjWӴ\@C.moJ)􎋚L1fnS3snJh+a9Gk?ܸ&8FմWoeˑt% ~dRA׉ٙU(3%LU":ޝɪj ]Ղ{T15VͿRST,߷(ghe1Z@P(G9]ԕ<4#)杠X!l΍,R#j_Tθ#1g O3c wo.GЉ# vDyU)~?aA BX26WʼnQ?.Ј2M>R >ᣴxzXR mUILG nHƘb ]כW s۪W8aT+~y;{.U_2ȃ-pEFz؝cl%K$%)*3[﷫MRrDGML-^z}c&r=cPoE@e'we}<9/ !Q|+ݧxm24ZD^A<f/_:_Hڻu[ Gb`g$pշ+s>MΨ@FjU`q6s_$TȆp9 #y%u=V'h ;7`㛄[{+v௮7SG@eϬo)ީ91`-:42Sui$D!ؽÜc&=Κ; TY=!VCz43ΙBVE!J]#9MDqH0EEq,w۪D q ],{2G+t0'@͛s$ ?W7e/tc>hѮZjYv9h{Aݭ6f.P'<|ι\BUn-Ͽ& uCm&r퇢g ^/pfUᘒ1*QЋclC5zw cy2Hbb+ݻj^g2 K15IsV^yfaFlKO+_qeKML7'%K $PrҦ良 nF=b43Ku%SUchη85̦om@DA[$HFVoJD>&b(K]2~R8 g97R+]580Ž2%z#п=![ yX0c^?3mǷf\/3)<1 YBjU>)_G’hFNci.\fɰ@ݔ1g4DÓϹs$?N8Kel=uC$}+*:̛c! xZtS?Abq{B|UY{c[v|n)l^5eZ O? `Gzu Q1Vao247~!#>W3,s)ՆYDZB0o&>T3Lk4?®*X)䛄c #1 ^cGT^+~W5ʂљRUЅzMˏSH$He,QBV4Naȸ:LorGq[iGL~mzNzyuh C>v :p&izuf`dlKk9:9Py1sQLS;C}oh>22fwTa&xc.cv *=׌3&4_b82 ]oRzq x{*T>'> #umX`^KxuM&_@ *'EQNO\Pd)kJҹiZKE?J-:Nfdt9oV8p7h7qT;ڕ o&C7wԾ|K܈L*K5;G &dP2/Jgq8=ڸ #疟?EƷPe͈Nn-ȅP ޵ǵ ='KoxJD й$/jF8\q]cU1 Meb&u|!E;أ1%<{EԽ$V˯!<4~H>Ql҈s!auuH`((J> m,'}βIKEHNcj"LHl9]/l-FN)w@I:f(m^j RXԦTN*-%n52F;1L ?D(I;G:-8Ux=J]\ z2 oMnMh( ',x<sR7\ku=dWJf#'EDxS$VTHnfW.Se+ީVQ>~?F_i۠=ijՁw:nX/ne"YZCp_t]ީR>FB{!"U{uٖB/XS 2sq*Vr]8<}b%HFF*.ZY)lة7>t^WԇڊLnԘ37c+|;u(+9Yp6ads@$1 0(j}}FߪdZS <7fMAɀ2nâ1?ruQ#SY\̱8-;g0b纀Fݠv88uf|cgFW>7m2bHDf>RݡMA^M'NS(J B C}@(LìT>.sN [.J2YqqQD9lN܅(?+-qZ!x 9LE"zbgc}6yuQh @4~Ǵ>jOAiEƵljH83pYa<>l(1]]A绸ܐn[*e$iX֖AhAOt9+C3ߎM:ީstP?Qb@`Au(#Qm mKim崙&B,|Nܾ&afL(y܊"] ^G>p LV5oB~ʈE >HeMfm_LA"㺓ǓYݱ<j9;=hC D~j[i zQ5H=#xL }I.8eE @^2BDk|JrPˆ) Ss:QXr݀r¹Kie᱅\60!L0]8hDhQNq2Vw ZcVT̓t0a7|O[Eed{2bpݧ{m>7 doӻ_x|:srTl ?1́ۺ7&ԙ<5}԰"H~SNkY#BY7Wú -NjYJQzy$9şyٿݒ!&q)ɷL}d0>V)bU[Tj O.nK77J1i:(OS7cVPW/n1׳ 4EǤk̓NwIzWQr?5H1+-,&&2(jLB/7m&%\ߡrj?"Ʋ=8D_B5T=IGP) o3Ո :~~[3ڼ!nӐ$}')Pd@K5Z% ?Qy|!睔Fy\=evoa&<u=%9#V! d8:b>@E*vS)o ౭$qd\t-Вq#:7xʀ:m7KFw[q^;M4)Jܱ;ɽ"t$`ȲT|OPwJz>`=xԚw.iq9D{iDiL|bwx7EB`qIy ޥkdyMt;Xw"\~uB"8pU 6Nk$q J\ț٠!=𠪂1@Mg+cB-# r[Ϻ=:p{uP?+k@\f^5K]N ܼsR.7Fr&b %٥XwklXv@uKЍLvv*T$Pp+œ?;Dw׬NѬyZ?EJlh\8`sDބ!36sD%XP/:z-XRFA.sI 9/HThaTBb}(R6S6!+(hwow%$}QuXlՃ:|xh/s_llok$/iHv a,!`Vd(͙p 5盺I.AAy}MjyɻNd:Ǻ~3[r.gNZFO{AKXf=g{y8Sioți#-ڀKlb>1{Rɂ-&Ч݃xS%SB9dtXe<_x;»5!`Jb>2SPc.ir O >.zި0U&Sڿʋj<#Qp =ti$$_6{[i #!o[\CJ6rF9̇RemKt;7 ڜE̘,F1žtY}tlAQϕWM]$카m(NDUɩ'7N=Nt) }OBAoof7#֧ސɐy,yBV(v&&$*;=IaMzIv-Qql A>/NovlWb)TBj"&gr6s֤ v:DYXL))<p#'nct ~U.\Hx XA3==sӒr8 *)D- վ1yqi|W)T.Iֻa dv} 8wV p\WKJF&>u^U2x. v {G!i'd+OYLo޻r^眖/B=C=L۷;:Cr@L`e.ȭ<"91 Q,ZEF^}KcaqXWGԫlkD`Dq*n¸_n c$v*OZߵ,-XE.b_}O$J 9ʟˡ$u*ư >)7ZV=cN=|#+(pz͖w=~sfnH/F@v#q԰|L),ԓ1.rx*|&1nȰ {̋ w>6V}"&$}ԩm g'̎Kl^kR(kyY!yΔ,.؍IR`Y_]E -rJG $~hS@K_3:H깱x\!{'7&XdIC SJPT3ޑDkl'%n PkdZ:]$_ylT]SѾO1H~HēD F .h^=-R'`('~ ٭]wJH4Hw0cs$T!*6#X3\Fcj)=qP2\(~񙳷 ,^Cqd(cb-2:V7r]Xĭ2grn@ѽI0$S~]Ս-/HsPg2C3>TivmUQvx~KoQXe ހ,Sd2-[f+S/uځ,0?ϔWl1=3mF<{chˋTWp(X;PݓEPNsoMl^1$o{1<ߛRr"D,/*I+fQ|tR,Ǧ{LAd5' HHB `įBC+ \Ud>x 畦a>U3ܔ[BD OɎANg}: r`V%ësv7-!:wX˴`A~*@y;sĎ1Ӿ܀Ղweɟn8Yh2i %}![N Dbh,Q˂Wa[7bք ;2ŠNz@ nM z}m ܺ~q O2ɺ:#*9fD;^N@ﻊc-:[76Xƥm|=~}'t89—'QrK4N֢b(̸ٽ%o>:2NV=?.r^)ނɨee+ˌxUAf #פGA.RDNa؅68 Z/ch'E0OrY2;+iU<=/yOUpӿ%s)v&U^Qc.Y!6*I$Me ªt%W87O&iΓU&j+\eв!y&/FC4n*-Q,4,W7$]ުYҰFJ$މv[c=\\UTu l)q!c\-("N@y y#E=M8(G <Kd9e7JqCd p-F/RIC$ !Prh+4ܢ'J'cSc8G#B$VXSCphXyUTmRNS)JպF9w˳M6ӓ [mtz\=eM5ѡr8abgo Չ~;=-F~3P~uWjm:^rW*x#29RL_l>ěT0y [kebchI9W'xGOQQ!'7לL+ M!{:I"\uQf|˅yn)Nӎ씷2Inu M^jWlP8$tmO-CUXw`|Z!^ڊ$N(FHdFFwx^>C#>R*Ɍc|@\Xl:tIyY콺^K1l 9VIcgQ)\.rNA//1̵,7);.wٗ^)|] rOBHNQ=;7ge3lB<)Vp'ō>Ig i4ɠLc[vkuU8{, VCU9=z<> /mkȖ}A:*Q^WQ_n"ۉpF4dz痿D]KjNNKQ5eH3KC&4z9r<Ò4a!{xX]k!Oe+LA(hSZOdGܽCKUNYahk4 =DxhRDx=(|pHY\acy/+ ?9;#d$ 5…ߢ` 3\z_%Agr| Wًr"s`)3Rppg Lri˶6H%侥.n_r uSp~ZS!9o{1",mMCr&/l3{ .3' pqDl.Ŵp֛& 2*@Coyb˓dKҢAk»hѳgOkjD2ّ5~{J+:rMBܫ)>Z💿ڷbtypIAfѓ9"MSwg|G8Qypٜ"{ 地))R%C _AX#ו*}"$9j͚GՈݦJ"$@h6ՊaX(8Mz: |UF$ .Ӌp"ORˊRv}K7@j[NnT"e\ew7J] TX]IעI$A o ;='W;xX^5d (%tKOS<䤁otzD6)%uq[XK 4f"|7[^OP4XP~*\OdL넵o@,=y4}bPƒ%,wZ4c6lRT[XƣF>{"CV0[fq9@\؍bAvQ'`Oth}`2owc/] ZMEL40H&[:Z3d/m/.[B*2's~*l>~5>XSg&+ʽwk(dw|`2/W $#*4v @%kXtvKC#+k DSeAޤgʵmO,/"_?kŜ;Eg<^:jԺߵ{ooy, :ϑIL[C S^$sn n;c|'[hټ-ӫ;Q9IzcB p3O=2Ť&J .4PVVc/B{{t=Mq$H\ [$Xre+dj8 @ĥmƣfzxZgag|)-!# /+ެC$~;2< D]PL7#y45ruW@dz?y "d_O\AAAAnԯIC\.~&\Y)֘D5R*71mk{LkYpcI9{{Z˜K6(k Hf.M3.(__Px( YѥH,A.j<^&VmYD6cE0CZTQYQLSAoCFC<"7ݮwb<).jncpVp)47AU:5,,vsmTz|@R6۹j0ݚzbV\,HגrІi-)c3I!zp`O6)hՃ$UPRV=)Po2a@lԏUtJojig>lj2_Уe'o)sTu2.81{BiB33ՙEql I$n֫u%lNf4)B?~8Tۢ#u lH>.Ȫ Ca 7~1ID;+_s]٢vJ=^ ã"L&!WGՠ|ou+auMHPd2hI@ $hDH!4JD}'@vnïdZK͍poohmҮ^Q.8qG 7o#{!xFP/# CA 'ӒN#)!APsp6dzq^Ѵ郈/2j(v 7ysЈnoQ#=m*u75ޓlJ_fW-uVVy J>Q0~c2Ĝ<MfNM^nfqkxExt~6uJ̹}Ce4ވ9 ?JGhS۞ZN?Y87r 䤾I YA{`w&p(. ا*ϑ|}>ͫɕ mr 躷 "(BV6g/8{eR>u&?}Zr4ro, L`9i\2]:Y ,)؁ LPU׀ּ uF ^|Yn )I" ut):b+֚ioI׸w/5 z_CǬIV e6|ɏiGW 5 UX%.1z}qjFRM+=6\B:׼{#gr>փt)j r%KlQ?o3Jx06Q|@{EȀINwJ7c/ +^J+.S~[gXt@aZ\gp{8~uƁ&۰d g"U=%x鳢"ߋ*Qa:.dD}37x-5bV,ıeDj<<fYϲ2*܎HmyQ CH~WOoIVx @{23qXCL&._$B,DzLN= k1 kÄThQhjrmg+g]ƅHIql_K 3핫څ%1{ 3T>|::1|ջ!A 澫Ɯ@#xl4 Xk#CBhwm7'WV%rCB3f[|OH:p y.$JG6]Nuq&@8rypJ'(,<> >3'.>զ#f(ٍZjmqgq5PCp{N͉eKtLƳ"t IF;yךP>-eL2Ѓg|!koeU.u >a)ze ⱫG֔ԉ|׈˞fZTtk kPMPh8X’2k~GMN-LrCkZE$y*Ș.!yYEܚKhmAKyڤ |k{J;`Ppء2O'׀U o&ʙ o i{|2Oo*1rm- Ս̫ |Rײ'0Iď\o~Hf3Z+O!6#8,V&'APU{x(i_V#S-mNQGĒQ504D'JT1Wl$&̃7ニGkMg}LbTnTrL ( L "liȩKЂUA"Ʃ]ꈉv(&d:$u[zP}:0hwq7=GW+tѨeN ;\(:',ݿ9pdBA?XC `OCyV^n4x6,1j͆D pNҴC99p= x&֪nlΟZ:Ses dvA]X{{\k PNuYDv݆8']}@*.l'_& C}6GpOn>d*k)v>d4 DNWyCZ Bxk f*|m9}!fO0lr >hˠ6bHG5.ocڑ[Yj׎CPF|٥3N?)tq$G[:ȷF| E`{MA_6ni6A[K8 l6RXΌR;(5y@{T11\73&~-XNUr,|[mƶ<®n[IBZ-9焋T%< dO(ׅ9m$ A]kvarJGZ%Fp2[=)(!)4|ز` 9!mۊ= AiLYZ±_H sL +c~\a ׇo;an )`]ރ} 6%n c.~T&VvggU$$LJ<25=)mAg$'݇ϟfs>7և!Ew0!*pk»ѣA /SOEO)zdKiHQ3ڢ;e2`G+!ZcMg[ $%i5$xb(> n9"WCѢ[kKq1bS.vT>\;H² mRJFr1 MH[J_i`I:I]EC!u>k 5'̃p/C"Ka`=v%b>F]٘МWJ_j1]Hʐه&W KVkMژ%NUi[㟞*#Zn2 FU334+_eQcDύ⾲O%p|P!$镊Ocў;lhI^_}ۦ|Y>is Zg< :z.{ꌪ?!7k ۷1يvvv,oGJLb'zgJJ%do~Sӯf Ƥ~īpx@WX\cg[0QcЯyq8ţ񇉑Ҕ).&FJ?azOY ${ѥ0b-I`qhUE*V 67,C+VN3qu@!`~?M ]s`Ȍ*!w׽+cZbԎ8lXr6=PFF'Mzbf0H_ֺ\t3L4lr-| 3_.DJkn9wwAFY@'5D03'4Q@[e4 F`Bq+(~~IikbYE urUKCARv4Z%ʠY9\Ȍm_h"0y` lO(-<gUPu4o 8 /ͤ77ݪ09H׆J8;n$ ~PPӝepW 3ğ̰@u[!yGB ƳSBVWjZ:T|hgŸ -@L9 %n*-IE'*862>"-D),)u5sLlu7-"_89b-zbDKJ1c+|N`ˬ3SWwPe1V:2rǒ9[Vk??֍=LZ5+ ʗ,zX*NÞ0\y_zYWK>Sٲ9H.t2?.qqe[0ߖ⫪aD6(@<٤dž =RpH^jZJ"깻$$ m{A#nk6Ni9`uTM,-SG5iГ58qmXvAYfr9Xݖ85m=?,(Q.0JES%*fc+ z@u6h[BVv_WUTP-a>aR.:ozV)k-+z:G2{a=*_^+vyX)?],D8+"vm $(jsަ\WRee ʪ1[U[;,D܉X 덬xGhOjqbzԤeބD/<يni.ɉepr> 8.:ܚasXNzIQ&*v\E0O8~m9=a #5~KG'k1L9e>QQSv S`Wf?=A vZHKX];,ƒuJ[/tk QaR,P\X Ia7~ǥ))ed >̨XCpYveP)'p.hyNF:3>R#UxFr;J|l|''].{2{rN\)u,"RHvY,3a4g ӄsQ]R)u>œ-՟iJ_s:mѨE`SH\Ō[! L!Se|B*gο~:8) UO+["eSZHB5Wm]2sCai0mEk=cۼHӴ{ ER%%YAR l-_~uF~'¾#e|Xevr"{n$j m&By?A{_[&*5K:#6gĀoBD3Y$<%p2@tӢ6qt {, "xSyf/HƤK!%fqzԯ-hr%&,;zb_Y^RZuK a}ڑ(dD5V ~@ţЁ`GQzwJ~)%vs>![0$nkiT&FM*w^bTpER*KIoJ-jc񈎰3ݿcM6i;Qg,mVB|u6׋]1o^0hByMq[X~ /S؝ɏ)%@b),͔ 2K.4'(Zh芞1 imp0Vq`&nxAYBG{qshJVkI}#}r5zki_nz}n77/w(0n'"G'Uҕ*ڽa.\qۛ5%m͛0&VKy)<-祥?ԥ]N"/kb9%؀ؕ&k.'l!+aTzL䍑 j!{eZt ’9ygT( o370t.ddHܵN+CyÝ0>?ZX#O<ƢS!pqs {`;j索# OH-}gi GFՂ)uTn/ 3[ZFm:fAop:g{I<*[t` .Ġ4 ”b6%c|ZQ5 M]j"ea#FT)?Gg=93ߔkOHMc޶*Ɯ꾢`<&Im3#M'MBAy@ـ?dz[:GU{Q{LWIrH;`|טD-0V \2=iN=?Wh(tIVmwRlT=rx@qH'n?&n:rȸ -fӸ"љDLGbvCpUb),#>iZMT.0 ڕcƾrf24 fah$]ְr| jVZqd)'0m ɰNω)Bh hVϵg>3v社^#K/5Sd7/XnH"PdvГ9>.NZF8;GU"h=F:*Yl)"fM|ˊS,?9Wͤm"R3(q;F|M.zZsMWKehe!pQ.xz*(jj{֖k7دURkgXtPōOЌ>CF@E#/wbNWGtF:(z9{؋PĦ5)t%S^"דs(cRO ѻ"OVIZk49_F]I6,~TU'E,nH<-Eݾکǥ0|zNQ:v)bKRRC$OR>D6uPP(| y>R ^1ٶ[?_t)eI{FMɂhw1!B6@$#Lg5QkE+~^&ٵNK\>SUF b=tBewLg]Jbs^ˊTO~>PG?Vi{X/Q*rbb{[B* 'cx|1 w`gǚ @ľz)K/y}_j=rNn\+P@1yt!FJы/SzJc\fhn]iӼx3SďEcq Hx(97f䜧(gUTFG{E6*$-ֱыQw4#%w2D H9##c@ dA4YRVqVSԵ- {{fmmHF"UM._:"˼'˜3}/ M:Urc3|+!oUHN}{yFߎ}(i§sĪ֥<0C;R ZN]F{&I .HD.R`"tzWV@q UR0v 5(+rB3 &d㗉Zj?4K6L=:̆X^  u'&_Yp,jAYٞ`OBm<`&OpoV vTHo` ctu=ug]rc&K&ay٘}}δH9=_sduA3f1v3m%Ǧ蟵 1-\1ݯkHz׍(1IKZxK5Ƀx;FDk:/W`4LEudx MSn-[Z{{H8hՓmS$^ N(+$޿#§&R0Kvz0ޓ0cv"i BUAFPk“eu|a:Q5w߂ͨg+³4$? PbDʮb6HnIkyi_G#R @1-(:.gE}zۉ`Ym]fQw*az}2FpPn i֌7;ZIZ'-5Z XU‚3/o|ϲaBk\-3(Vu: '#U Z|5Fߥ=6"+xn A&*[v x}b 6{Ntj : _<^{{)Zn>Bܭ`3¶`6%wZj- /w،.zR1sj{U)U裻( 4X łV Ǩۋ#綑̏7򝽳 EmW?rnQKRpF)5d*rZWtH\ڛgc洫.pe@ PKG-w-n}4Tz>H" ?oKxKhqmbrxFc-˔jbbIEa@2˶uYNë^[8722kN4;Ri(M.8N>X1k$͎A۫_;+{ P$d7!?T7([d w-?_C?FT Iw*FZ) >sN>6[t\:m>] jw  q4m #,=4d}^Am}c;HH=_rHJ)9' U|l-,l߫a.@qdFZG&CGkmF);l=6TE@c< 1@8ET<4%`jk-T6n<6(o Aq"pV`1}+?c4%@KgtF S ViXM15F^DL*qtYkx $'jw`v+aP+)=]ѓ7^ӌ u;t)^FO߿iK*OZ]6? 3xɂ:oȆ<@ #pU *_@ّT/N 9f#iQZW*~d`A섿|kU֚FyȹN*۝Gc/M`WnDƹU+{Yi ݔZoُ߱IpeU#dl~#Q P6N.'-?8EP0ɩj7Q Szt\ X6\z͢ Eq[1˙QQEX_LHfO2Om3>p(X%@\R63$cXB_WïztWIQO8Qj<\Cq/ h6Μea/N䔈VZe'J xk -4+fޟe枧0 װӖUa²[?nѕy/N?J^tKmPst9;堔C/}w\N`W)uiՃ]6ļ}-Ť};/E?;RG5 I/o#Xrš sG9j $VtZqMUapk8HwR-ӓW(ߕ+lTs<9(qK4 ȟsH E{@.5jU}fޔLWo ϛ1NvAjQ, g0g( kovʬW>pJx P:zZoX xDbV(*Rq-_64s2m*Ws(J*[GS{<^bn3Pψ+]; 5I1Z1؍ =78ʭ.4:+QU_OB>8bj9 7 WvN+S`lc\: b%v!xYVԤ0/dY>7C[P8{R+I'JE ۗ3cCD~2 *{jƘmq|#KV7_ z8;0҄H+ H9SI eL7vxŕH?&VV#^ΠyrBoeBE L g@gtqҰD.[rco6*{UB{G4)aQP{nWʱ Akɞ[)k' P]r( I h-I_S$L aGXG)Je Bd?{Ĥ2LTA3e|i@#c8)@hA,zT=Q+)Dli?̤$z*.R#Д7˝N)\vi9!Guo9aLSv kg N8crqlx+xxBYe$-V\~$*ֺb.Ia+CZC ^AT`Y,||_+Z΂] A4%ߤ·D}ݮJ(q?BD"f8:]sc@#a8}q>sH)}6pl{2RyU3q̗),#Ye# J04G4,.j-? do65[ =scg)3 S'?Å7{yMޒLWuH!a0lhZE:/>Ea ҠF51 IX^b+ωL+N_qU<~ _D|ʵNra;ܬaQH?rNp+=L=gv)a}03ulf!i*@;^ݣUǙPg;vDnԁ" :n:g֝^eOԥby ~SG/L]JKT; #..$`}6G1rR ISо#kǘh@=XLbI4BI ѱZ]Si,TÌY>![*!G `C:tۄE;tC-f`uİY ׶l$, nN_$$+6 QHr^$BfJ:nHQ_Mw205O/L8݊P?նO-d<[P![$+zE}fuKrA!#ԚnξX7}9?H_ Lw4}*4z[x."SﵗUnɄsT3/YAܲu7=bTshDx 8iˋRx]r~Qﻩrބ"8XvSNDH4#[J]NX#'jTVmOQLEW6wo/božԾOAU**Wf%[WV&R4%3DJm6+tjcJ V½9lAB&,vt֙])Er6 M8F>>8_{J~vO0E%ZӢ]a^}VЕF)@'\%ο)rMS50xEQpdHq'8'o~n>wJnaIItЙC!{Q@ ^1l]'"߼̪1,t:iA1p{7>fJB3/, aR>(I?XTӋiϹR.^q>Y8R@':+X4]#*γriӌT`kd8rK !o^H'ˉ(cU=I'@]ySZYF|ډ,?mPS1dF;ܞm-0j}1Q]S!OxOՏ/E y*Xvi&/j*A8dahcٽ m % :p#04m|u[c{L2D'(K!Elᜑ죞mA |3{=(6chxCtqwqJ ϧ]%;"XT=GCn pD W؎'PrhBvFU{鈃d "*| 7;}3cڔGBEʂ=WXߊ]Z8$PswD`ڡTWM$Il+<},OŠ};gvwř $^sbG%\Hi=N+.o;$ī83u-R\c1-dmF(7zc P#ؠ1@bEչn`R>;WvW_k^<#dx{930[ yέ 82d,&©jj|u\="8(% ȜݜL+NJ(Z:a9 , y~ًvAXd,hSb L @,loN(| 쑼IDFN}8 ,԰N;} DCi]BB0oѯnoHW/F( {&X41~[]y eЪZJzXjh &,aQ1|ǁ_r>7-9 IoZvܒܚl?Y[inʖ|a%j MN޽@:հϬd|(tOS.0[:ɑ'hb%ɨߠUvrl.h$Aؐ~zѧ`c 56w.v0gKt5\sZ-hF;N,zL@nnz(l,< K /]Oat;*RiZlj-2O'aL?߹QzX4=#9ސ@]ECҠ 9xh['UW8>k5X$]}F"=Rhخ91awD3LgК vNM-ChTLfo]\?!-n Ɉ[aqm9_B?^Mo]7eB\dwtih@[,K]=ave_8XˈÍ41WLC-`a33vGb#3=r ^!RWO9AfJ<֎Ms/F oD>p&mحկh]7+y-^p>6*\OKlފ#o7# }ڛ|7 -gy^6](Mcg4P#u1(`HfcrŚ :X 4^SGiAԕuf@grhZ?̅ v)\9ha+C(rn@X ƟDô l\x53fE\6y|Z5g"5ǵb ǚJ` s~LaȖ#BcgJ.Bۮz/oW밁O† ؅ז6P?)m&2G(cao;:nٵF(3ر 7@F!Vr8S^CJOV;0E2ST%i?<lR艹3,us+TפgF|H>CIIUc@u0 gU63wVe ekŁjGǴ<ԥ=9[ ۷Ygb>?C9.nw)*A)'R$SL'0!ۖo.= ë0(S|a_.!D>yP:pQ3\(eo,쉪+ăGUw|''9'ɷWIdSʌ\fr8kH?UwM(kԘL_!XQ 3!`QhȫN)m|$zG I9f7_[f.ή @ +*@b=d}]0; [ *8lGs#r%,PC&ٴQn' y+>Jdޡc;R: )vuI%).I@,mqqYZݭMS 4p.F`cxB=_^$RW 70*uaߡ>m622 Y"@p:kk(K!k75qL/"ZN>,lq\b{6_d>V7\|8$Hx!)I?48 sLs\G#=Lɂ.q!|]lL y%S>TޯN)[aU_a0߉n} ϲ&@5l=2݂n-UE)N^^5hL]C /%W^ޣ'pp#tapg2]$O:^7|#ں 'h@:3D ~ꊨ.!W)`k]dQ-q| B`EI$H{`0>?+_Vd& H{nkMX{K5MTT5 #YJxdg.F h,v32ky#W>>$U_p ]rރ!t"g?!o#CZW:CaŢKM@'VAA0-of@*Hz]gIkM xv/'i*Zq)5!͖VFP$am+.RFv؂*IwxZBřa|m;%EA'AFd M^%_;mfe\y ;Ue >K {( !x/art' YDe8Q%Zʹ%r.z˨%LQk:BPku̓0 aFf[nErP3hn:8CE; eɛo%lFK՛鼩& x ]5m5Ӛ!Jl Q΁ $ cΚ*6e:ڥ'L12G@tt,޴[t(37 ڗJoI6ؙh er+Ү|H?}ёOPkb<Ꮇci2BFJ=jl艣x~׎!?)E#r]4ab4EjGTڃSCWg*~RTfXus_3^ ?+C?SAn7rC"~KٺHUcM$ LGU ]yWzTFXmΥ~Y+ִeQ \Yǜ8A{^6"4uH5rW{y ġkƽ:Jsd;Mi:]؝kP5k)xSj#K?㳊ΜѮuL0X<+ 6S*qb}~:&;+$eU`fgqn]Qn &Y?Q(4*yM[P'ݨn\Q ̀crX*!| i}`O7g\5I$amT DB֊@ C^>+z5zb-zş߰je;e1 3?wu2⭽L$ن3Tn\I[>ݏ k)8.uK mDS+ P1zـu684/w fjB:d潨8>{|fp*#/>] =#ʮGH&֢AgSa<,Ks n lŞ ~m+S:EKi_WQWT5\Hk È&C/%=(a >Gkm:ņwCé>NxxL NcK֔21r_Z!ĘZ9b#dDKAMjv{SQf%@sʫ &53zNfcU+`O @ Xp0?:j_HJwr,q,n˩aZQ2+5& Jyi4On{Wm.ZMG=h?˄_Mܵu!T@" 4\q*S/3.$AEO! vd, v 4B  G~r,%|PY 19ϋc0,B ]L]e޺ssg&:V}&^ R[#3MZ/a܇?-,{aV.[&uP ٜ^ v'y0.t7?/M>\r[Y@n!TUW{XVod84*8(x֟wZډ{YV p?mtаؚ21C N2hp˔Kr@Nu?Ai`!TT<oK=r w0\OekSrCKهb5]cؚ|/;MO,}@e"ᄵQq9twۜ9Aѿ\ $j| hUe?]x|d62`j4 c1d\DKM:Vt"X :vVs?h'8J AtdXCb挒]W^"Nd?^/kͽ #9:ڠ[v1cu+? /40fi '.<@Nyj(y&j1k @ɂH{h Q[FXg#xR/`B (3ģ!@l^l"{?l9CEoQa2}A.h|"CeBnw饨Ns{aqe؝*Zly` .+qcIN)V?$ܛ|4GcNѯB$fnLj}jFhAZzJ#'74:ؤn)^݅3p<<H]!8NL}Rq.-K&D").71 @ 0l))QoV1MN=q|W?$z媇 - חzV{v]q<19mAǿKϒƉOВSK*Ug1ϢݲJJM 9\z'[e#YG=&9akItBLj8(l07CQ ,n ($>֑*IE΍B&,K d8MӹT/4F{?>ؿhIQeH]VZ&a@K  Z?uˍGM{I, .7`Jsh"a[ޘn^L\{Qu3o $: '+`o)+/i =$ Cwk^5=(.r} Hrgwr'{ǧN{sv`|A4۲.J8f#AS맶1Pi芢<~TT=ɼ6Vcnck6Ty¡T%] ?X/ W!nۮD@|~*>v~wG%Iw]x\vH f$o;vԢOa1RLAŐ32Е0\ffi3@ 'q:KOh3܁ˤ@P YA(.ڣT)MP>MdZyǖNq#Fx@?C'Ob]@ibڍ-ߺ,aZ iބb47%k]2liJW)qF'~vH1ye܅_.K)$(1&C;*{8Ą5W"2 rΚ\7hyR^\|Q&CP[xrgo@!E[7(ݰ=o]q߭L@⹻^aҾ LxNz49(7;p玩31^38 }sS*ӶY[?h_G`9\NC(X\U!ڢT ɿ7,xF4&d>rAŃk1 e A*^ At;&ǫ#- R!nM!QP]+#͖~uPLIK T)j{C "8Yh Wq5\E+CH+'!?'aد.p0ǟsjZR7F(eu%A!p6) -c&"M7ЭK__<9SrM xm`8݋aCG8ãgzSH>WP*mp:R4UO`~mDm2X%x+˵ߑ]BR!@nS`rjW]LUf8wMxzI uezrZ>ԗ‹tђp!Q!\ou?8ڄX a&=5]Wpp`0s߇͸ƋrGD0`=**ֽ!fivhuo2e_aDHHc#t?iK-gLMW`=ÒG^+ Ai@# xPjY*'sۣ8j=vzi9iklݱ1gx lQ ȧNAqүbn?,G:VoX6:bQxĚIxǏ`abGPc$5uJ%˹hӯ) e7'#5}{pycy: J";j,(%{z'G<`@t﹋h щ`DE/f WPʀ[*p$CV_^z`9ps Ia< f.劷N VT]|5>&ħ$I&ڙҔ hjg(Ui$2Xyg#aKޙFqҎF^kf?'iіNJ,vBY `^8U}(/F!"J|A*Xq_Mg c7 UkriEHN@ZAg(ux|C1ʖ@񸨪 W3}b^7^wjUqD4T֜K5D!+Vڦb^}8a?n$OT}orv|0u šHw^h :SB<\=`er bpuw-c8ADqOpҀ# 2dߟ)8T_5_bJP)sx4Y.'JbA>Z:r XyN'sGK0dS4+2=DXՏ Uh,݁ 2vunj#`4uZ.,uL9! _:D@ʯ;.&=bQ-`լ{2][*iq1@k.I!cJ0F*iHdnEKj[z^mZ&U9ÐXݸi XZJ\[^[H9tޟJ_G(raҙOkrfa:r3+ M:)Žl^Vf/&Ֆy:YWa/m 6RՅܰ|*L cچ [aHj7]?q&!CMj"wGk\=C6w0|-˅Vz$G#GJ6+uw$Vpg8; c+AПGm긻UaK~1C!a%T*rʈ 6a{q9W}CTjձ0 jcJ]?qnڣ /63k|TUh&3[Sa2*̾+{xUPR DO')_JHXu;-Cs х diz$Ēn!>灀@UψscXCzI z$/H=qVJN86:CީT dpYN7>uķa &%Ka7>ӝOWˀwK,5TCOkaebm@4EpNHClEiH97z9wDP߿Wz++D}LK U@7H#*(Em f8 (`1h{f(>C4 Oz9yg5D iIsޘC ^]p,1: |ȟoDWe^1p׆<8;TΘg[)]M0JNhV_?λ Z#ۋľn[U623uM nqj0jgfj x\x ZbF;U Qd{ZWp:'%Y?h!E^=>9i /8l;Z,]t`n;ⴏz{K i]TyXgutjb_@4|و).M3g8Wy dHj,L[o4ʨ<oyF| ʍgֈ2;4q@0@c{Fv4tJY$OOV/hP D*k/ YyHn+ g>GԚA$ $=7 )N,޼h9KCRmlIDҢ.Sϝf(vw`Yxavo,*85\WnHx{BY}y-ѓFGxUW5}OU.OHLO/u0)ҁgtl]%͙9Edcfz2xHU]=gܴNlQ(K :XGo ٥|>Ls4oa[U4|ss29dP"h /ք!01=Hׁxx'*n.Za9XLEE=j=nVX{2WM>IM6j@"& pN( gjԔ 76]Y`lL9V.:%[_xec˵cedmZ0kL0Uy(a 3ZGVKxZv䫜}zf'w)H:ݧQ-'\+NVsyk% 9q73,юb%Ì,Ӱ>2 f6m!6U_eXDٛ?ߑu E`> 舡.'%[s*ZsQc\<ŗNx~>VpV(U-!bouzG@U!CzA1y 'Y;=3] UބVx@>{eʏ"4 V7nV11R)Blja}/RZ^e2%1̳`id ϊL'~ QBN_ZXN%!cjʮ(t͆Hzs. O! l 3V䞢' D1O+]/W$pΣ_+Z5MMԪTk6Cuq?lQětr%NhLBavH$|}¯~{@>pqaH"$dPĮXp% n%K^}JpWfYe&còrG/XX9j7+¢HK<_MS6`=!'>76^m*EXQ&Ψ X=&ΛO>3@pD yH'rm8.O h]SGRyUFWyX&0ǏeZSH5|c]EǹUmk4ٟbAqy؍/}뿋?H& ;Nnl]A)>;WK|WK n2媌^x}NchѰ5 S^s9 V^T\jE&A"qpZ+#o杖@ݝmԥ4BJ/2_̈́0A@[\>;I(eCn=j%$ >=}τas-5*̡9M" 1g |=~ooL pk+4. ξ@kA36+ gNhX0nOm:G:{&D+VAả!@ZvAG"cSnf9-wyB? LؙkP9I=b `g Pe( V0벞-< Aa5ONDạbaTZ,Z,%̘*-yp`|_& Y0=\$u,LCLw~'GPJ] )NoKz3\r#ȁ W G W44lԻx=El!G_k V{00=^O:in~M$:܏eZDy }HO(JR. ITO'CFf?5}@GG2$۞nEeДi+d)lUےx&xSd?, %%>!@e EG O3GuE3No;ƘbY|}5Ts\;`YbtKvGD'"%MIo(HW>P{vͥ]Բӌ- tB7ʠ`Hn^{(WG@t)Ρɩµ0ZVh_/r9iJ^{HI$X}iy9%/ hP]odqV/=EDZaU|ra]IFfԲb`yO WOTa^6{?(򝯳99ʗ1R l^YuR]tL am7iM`#{)@5^= G3KޖwvLӦt !yapi'\D,|<=6󂭎&[ ?iqSM$i$hT1HkIxt _t 4qgyc f#,%Č@GphLRԗK<@|%~di]p͉nj,zNnTkO| æ)2O)2sԹyٽޤ9X>$[ɂs'z{ݰюJ5(z'/;Q;N0y[Ka=w]MD.kWepa?bFl2W%x6QRi`7%h!QiŠ6&EUXgC^ܵ$z{ͯ.!gPT?{>׾X`rQT3p^ٳP!{m0GLJº3N,?vV1>ɔs ~D6g) ЀN84m57 ~!4:g]peToD JT}?ׄ)fθԣa0e*p= r5@74') >. ZY, Kٙp6ztxo&;3z2v"oFTIsT~"S-q~X Bu a[R}DG~#u=er׽dZ l'>WP9O1Ǘ,|+zvGLd!x7%IvV㩵l&Gwn][8]~ ve>YKH@$M5#mEmر&w\LXL)!Ӵ2 Y d?oXg >ror9 D9z w+uA#Fp/PMDHy 9@ѳFLz3)iFOx7Tjat G٠kZ?cyN;MfZ6nts;mX 6ۭ :?c%RwMKH2޵L_♪n0c;d#) #RΫKNyGɠkʓZ@)lNg7pDdž@`h_y&{Y3sݹÐ. _0x)Hl=,JX*wsZPbaJ-1sٯ8D8I߽Mq%KSlPs-z+;~׸TTKRܸlf ’̃`Hv1nsH$$b"50$nWtWևLrAH+\2U".g؂>_$#d _3)e]*nHJn=@@&妔 |\21Cu]!X[*T$N $sGR(K៉N)m| Iu4c/ RpWcLeCѾ#-Lm%7.J57WR \Vks{`TCOyԆk!AtS76iNxܵs7Y }*M15\ݫ91U{gow&$a?wٲ/ytO|uz~v(#4 gLqƓыNR<_ \m4@ւ"K+o\%w>@!yhS;r\%/1ffF4,/4 To Y -,cSUƘ,2OTt6Qua{<ȕ*f6Y4 y)UO60D:&>>"fZ XQ_ȣAK#5jߜhr?UEl[Ƣ"sԹܟcEm2y@(VbsEhY">К"˅ױG&?ײ/M.X"riU.&*`IDhg+Rg? cV$eMyQ#W_VYhߎbIw2))cuW#n'mg ݅ `#BcD'_WiTg{+[*q mPfRO]Uߣ)E-W{~%˸?܈)60uwfM&MPu/}9ϴK+Yw 撹CMMZ`>:W1K F K4FmMT/qBL~/M )?O,S/Aˊ$O=/A'܆7[ëPX70儰o;9Zf8侬34u wF Vb^+ėw|9M rpy0JҞ ȏ͚Υ 2U5U,;?e*j桅T ZJw)~w` @΋-б}_ awQ#&G[("Dݥi凰[l|-8g3 %q<\Pr,(3QSNA6:eLܳfdu4rх*D.d֌2A5F&aEQX_պt#+ɔ/Ul><4f]f\In"Cb{ϕ=/XEQʑ5)9M[LrhlK\,K,uMD>ױqɠu';L ztBK(hZwapA]“k5}SP}ceD/)rB{؀ѺQkFN~=lWlB,1ӯWA9a3b4̜σzpÑ4; ;]1!Kȶ 3f( K];pm"BP c#cUgLBXHC]_R[ 2x!s*}9 FM&/IN|(pNdJSQ?w;) ttu2] ~.E(e_BT+)SM;ٸG!6 ?i:5@~/m 5p.{y53{ Iƕ@_9F0?uyGtAlu[GNZⳆv Pc|j"Dd~i(ssK{!һf>Wިhpp}@ 7Iߒ~d0\GO A5 dZyH֊OgPپVI׌C'[G9+5bZo"}6B@XwtL3 (P.vbE42]lwgU?8I|8Imc6qy9h>_rTBȩ'ΖiWiѾV#iBq죾`Wϊvʼn;Z؉n٨md_+1rvB"ߌ9*ТA6<)j?@r`TK*MbHu~a<90+<7c2Zh3j*jd= 8wk'Bڤh9k=gPQԳ3LSD6ߘX sAF#>mxPΞlS 5Ի9o'j g&TުDtc!tNn^C}YJzl#Ǫe%[ɉVM.񉯰u#QJ`[?0kFLf> |H5l}PQA@-! +6]#:yh-SBփ(ё|E fp% ,ݞ*hob8uTm#~ 1l Մhn+8tĉʅgtT3C gcHˀ H2zԒ^F:2Qa2e"vrMthڙu"`PU'P;uYji&[LNblĞɹ)p,9(7k^LS:FK lel>,g5N#jUCMoT/+f&Pd ߚxBf1<% `,☡c_^g7Y?9: 3^;NP\y`_y/'Eq\֞}j,yz INL7)q"8 f,B|s,"ʅ۴+lOD̽.~5/3m(ynSd`a˕МJ>]}#K/DAy;1n'S"E\cge|ץ3!EX4'+?ٳJ+bu<[V'.vռnYttl_G0sR7pwͼڥMYB1EkpWr*|:KEtEf 4yńq %KŀZW@ Yz0gO8( eM2!375Xqs)s[b҉5{Hw/q%̔v /Gb]P]iݜg$O|\]j 5EH]UA/$\`YQ{w6'UwOid75CU+X,B/xKV:NӾ~3q>TC>gt P4gF4K]l:Ŝsڗ-,| ^ r ).!15-I_)RT}_`v/Яd_qy* K(5_#UX[Hl+ VU1QdйTpYKC6"kuBR<=ӗ\8/Vi|~Qscw/{}M$ Rs&o]a\G ߲e; 2:"-=,°%4g72&[3#$YFy]V.:WP58O?L)>[8! $Po0GiHQtm6q Ux\w?<tPm8 RrnZpMjiIލnِ{S*C .HXg"2PJ&5r^P2 .w@B P0Fa񝳑Vg-oqKk;P<@%_],JGQg<$Y{+&7}|fxmw͋*sPPu-C`'xP Uz>4#|KEneNKڲ`{93VDFpG W _غ&lF4,ig&ot^c'zߖgƊN\:Uk|QFf|Kj6MN9M*7 zh/ڭPL3|N,\!+_E#Є ~џD3 U['#iMu At,ى㡽6Q<'  j07}2>BF|PQf:(tBʛ? IMkb&k?u[TbGb r[N$鄓9y 8P~1.s]saH 6 T᳻jie,Sj2?^`KJFFU$^߳x Q"չILl- qȅ%|U2~ͪGxm ˮ+T ut`q-KfB>h99ɒL2rgB\=M63Ѥ|6鶁c%qT6]&(0$^sz5@Nh u^҅FϭWV[z 3o?#+S |I}k x77oRKO]kI*u__` :=vS:Ƒ},cA*`O[Lu:C`)V`>tx][/BaȞf]iEZ&XloQ*|aHɳec ڼ~V8 t )0f܉P$PV[멪%;Hq]pZ)@F::wCgDVUjȦ,]BDZu#Doߏ7%0p{L'jcghgZۣD>B_O/J%hqDW=c/\4NS"^^i0$1͘;@*|Wiڅ~ '~Y5Ào4% r3Q&cQ2??zH5 fʁWgHPA;ԐG B JG}>؟$5N4Y jaL9Jǎ(rZIGBuQH[Ӯq+3k7׽W_ Q6,fvB{AatVowMFX|LilFroP,9]1({$^N[Ty8;>ۺ֦kyI}h%1 y41# |1CH.@ɐg(TIk҅x9/ IO+]ʌAhsAty![l@"bF٩s$\݊s<9S+_԰&fƇi@Wl I~&1| .!Zy 8R  e(W0\RԊ6TEI01+aj~5UQ<eKW S~r^#w;ɽ-( gT̵L]^bR2japi-Wu$hBAjtlݥ6 9sU?MtM~j[a;[B}R5)V}N]68*_+zT\H-6:Vrr3:zNGf/Ehv^@g'* Pޫ\m۞ VJ vw|nCS ;3mr(ͥU7^]53 Cf1+ pD~]G=ǕOQ#_J]x>'/nVf5GY PmǨ6X(x8NgןPL qW_|ӪG aV'/`1lzOMP dG}A<9g)g ,wfDR;DNA[AGt8/ٗ ux~ASp+!%&B]FKb&}]}8i5ڽ"KLV:X nKmXãf7J/_#M;qˮ0 ~/j8"/x1kHaNV;j\rdFlϭ{Bnths [Wex0x"Ompfftd?Xb 1p|cܜ sJ^i%hd fqTK8Ui²5ԄWaSP`.{APN,xCG+ھ $vH&Wg>E-P[}~?:Rv`l%Z$&D'<_u) ;J6Zg,b돠dIĈɖ4GA~GeJA?Ioe#%l,qbZP-[;+%Tm4!J""mCYvC^?~Ws }.=!5﷒ƴl'y{,nXdk|sS!7g>ƢRZRLB4>e3$G]:Lį @hh -\u0DLŌA N=&ߠ?Fvy͆ldxOP!*DZ:ntfw[eM{HE?ruU'h`d[]+z(x(`,C30@Twy-1Y3 ӿ8>P,a\O!v8V䲘mx|T#gu+4h J X77?>zo>m[<[8W`HG.40f,nL]sn) GNXͫ픚בb-x لbEguu!ZKB%Eaj2.r% }FnGET R\0DZ)j[Qc Z9IDZGwIflUƘ,v&XquY`_攗/lW6h^?I:'h˘(pxp/d| ʱ GL ?$٨[[ Tk[5^ݏ;Z>^-a{8EPi 8Uqu̎i")@c5vQ2@R]>$!)c)-7 rg5S>RlFɡ5zAn 4\pTYY=onkGoJNb*}rA'8AUf7 ]2 Axh SfOGx*M6!81WW9o%AZYvqϾ^un7XA\g] PA1JxF;uxiM[6n_V6sOyÌܸ<AeHׂ&rT:4q.nɰB?dJPtvx(%d0{ -krK)Mvq,(˃ALP 7 G"]h:s8\/{D`PWImp$~"#m.VBN09!:r =}GZE)=3Gx0Ѿ+F%e#FTr4{>+ck2.:?Dhב3#= F5o'i*%>Hʉ.lv@)>iPsx.KE A=$JhaYOpƧ)>fݾ2Z Cr{/ЎR߿"󷃽75HG8nD'5}{ 9|+z-sƉeQ`簻7V?_rdzw5a 3bVy"LX]/j!)ysoR,\Sn鷜<4Tvt"W.%e]*n*˼PHXw󘷳l3L/lݨ _ç ;wٗB_l$실>ZU0È]0/xWdkaϋb'ý("- cuZfPM{1^;^s N򚍛5Bk: ƚגg iU>ŧ)W<85ۧڸE ;HbCAb/mFǭU& 6fcKCI\H$Ƀp<L:2}ib/sIcj[O]\U6TְikƱ S͜ +.)ʂ]""=Q2 O㈝&(]Csa)J`E21}FW99 e+Qs}Qhh'xr k/1/?v?/N獒Wp*.Na|60DOh`JDUVt{R48/:eLlǯ?F ƜW`gˇd_a܀+F,{`-ZvZ5#f~xC Sw!+76+9n7 sW> ` )zNRЩJ𝇌?`TsKF0LۖNsa ?,҇)[-.S6|F3\/D@""#r-Qݪbp5 0<lPY~ID څMr>HS䀛{Xq!D%<5x#YɏU]NdQD>H-î@t Djyh1aTa6=r &#/NHe͆~dRӗ\[kh`jhrZwX6Al/ \GY K= @ i{@?"g8EǷVY(>.#cTQ(')G,P<7%Ls&G4u9=M r^3n-0h'mgS4±/_;Tg4_-V|말N(g4kvt07N (km{){yŗi*`Ž Zw `Ev1|&jjBEHf\UG󄀣>jle>d%J`qC,ma0o曕M;-헛sk-HKyֳkdrJ1"AA<})9=?dowp&AMȈdhU4CUZsU $!!~ȘCqCz9Ƙ*MSDτw9zh?]# :Fcf0VHD] eQζç4)u~sXy>A;XGslԸ ˠqu5^ ]˘h8uP iͺYhYeLzd^DLw~؏̴U'IvVݯ 2=֌`*y:zYcƯ9J]̯͌mR5w+X˭h Q;FDqJ/iw 9(FH" ] ,>,K>p ܀@z0Q2? ;T`fŝ'KOålTnIGLuLCJeݺ?bRSTnIhMxq̀VO*|(Q5XkãIȨTK q4F/y^L?<1!˟d8}Q|NF\P)4L,UsW&ꘅ[ٵV[Ǭ1ޞ(W"P7Uy|Mݗ{3aXJ*_H7Dū/eЂXz5r С="Q쎨0(nbt8(u{퉇LwvNDdm>y&V?T~.k&D}6t,AhM ":8a- %9bԵC+p'Z|Iϙް#8%t#I@ M|ZW,?.X)$>H:䧢A)+~#4DSXX"|I(8>& T p-*H@7.[A yBtNۋX`yCd !Ќ '.(/t yÍ^}b؁+?6Fad~We29ʎrgRmIPE))O('5%ܻyU+gk\S̜î-B} W/+6=1R3z|,$BhsHa2 {ѷ\*S >Ceuocы ^8| K[C' سQd3)9]!+ϰ(?G`sݤ3TBE8x4=lDva1\+]m#}(ƚN\VW 'I :bykc8L[@r'Q ԔQ͓8w[L*JuZ~,nk0i vSXbn(PtϤxsq/K7YR0fdެmQ:} ͬc4MPdK1=Jm~Nq/Hٲx%ej!Ty@"`ھP¯0 Pv!TmGHB:j%-kH(}p0=`U}d,1=XTH,#Bqa4rw/ y@0A.XbCN^a*bz6tˀ&G( "LM֛-#]֦ea^XNrvav_>=^K>Ԣ˥9Lgw4LnЗyQ&k(uZzxe|g% Ax bPLuo΋Zr]ު{+ (ln\^+مzv)>]\ފd-o+ռtTEt䛉aT݂{Xw1)C 9 bJ5;xŞ=C1@E~0@wo[wMhAo+:\˾0.jk6  7_J7D,kA?# _%xQIY6b(u6cAWl YRꍑx9rwݬCJ8w+P61O\өvm&ANuʰT%9'_is!h(1VͰ}1WD'?{A[uE vI=In;zMe9-J}oK+\/Q kQtt%l?d,(+Ts֦%B6,o*ru>=B}ϣb^w8]M} _&PA} ʂFg&-վxR%3v %Ǡ2/Bcadr7?1F)6퍟o_ "?8I/؟mOVIDQ GUcncFwgԘkN2PKy{Q0a_[L1 QDwG6/07eֈO誂*=Ep1U7 xEzN߅S<እg8'8B^DB;ꘃ7$ƙ1̈́W[h^H#p BVFZ cO#ϒjls:-n 'gD%vRh~L4@_65Ă %G4Crnb#: % m{ I.o-6Dom_Wh1'INz-qjH:N bcKK6f6|E- jp3<*\71НAP 4n%p57$5 S&Vǻ(3J!@)GqQk]#k&垧%S\Tưs#IhOж)|#t"lY$MO]oG3<^=N C^DBpz \`y3fVzG-\YST fA) pA֜JN(K!sN P%zHx(Wa!2(w';F(x1+ȶ .AkoSSU5.c6*FՑV3d߾[{%E4]<-j O@(\#agQL KWEhW@YKz93DϲWnHٶ8[>k*` :B1j|ca S 7*CŠ+6nP^ c$KOWTSp] ׌7=B̬ofG'}=?I ഍XEiY[Z&_\-!ށTlhR uzoO2W&)=-N05>kpp˙vga|t@Q%`T9Ը~@q;īk!io|gU@ "HզN l >F*bƣRF#@hƾQt0UG>'(G4-NU;kd2+r~ߥ/Ǐ g; 2tA,*qdA e+݉^uV|8 X :f)w$0n* |j_C\ T0MEO8F9.TW%͹O5ݦ2gٰUC}V0L)\ (Jn+%`;Om_R+> mz S%DӟbOu`X@r -KOBsF G.Pi5Z#y0!Œ[c7\ !?؍ `T8=Cr.>Aۇ>0ATȵ (Pcͧ~&bq T@c ?sA@#xkgi\h] m| ~mmCQlQP[)>p 0n&!EO)dOQC).ynk*@ C_ T{|CyᜰiVoZcp }̙ZVDzɽ),F;BJ gÏ R3,Γu/-ہYD^n&!kѸYUL.HY, y] Kbvl汇rK$Ul)n.ZOžuHdfN^mk7)C]fͥ}k1![iH^Uy\Jr~j0PO8WM=qݴSܸK bJej1t tz1|R:+Yy^ /ri!j!ݢ/*GO "6i֐%^q& !RϨ_,9#R$dgUEZ&hzuƸCP[.زi6"/;8P1qQ$zSDE#҈:u96|)!XE,k&R YN&w}WbSKղTnٍӿ?DmK/R* W7%>S+HS ܜ+ @Hm<zS# a)9ۜ$6LnfRÏ\lif a U1]kاҢY˕t *{sKb~kIr׽+̺))G 4rSxl̬ KJH{#uev~ojlJ*ZA(2̟30dR-E4X?U|>WZC&3+ЛxB%ޞK1vN8Jc<ءx ,ro'Lg.D]s`d|yGmg .py6 C^{]_d!ue@Ի|] j9zDwUSmasp)DF3eﻬ}ȶ8{T*yA_ tMڃhs%cjDi3Wɑ[yv œ={kՀB8Ffd$-, 78#s0Q9}I}wKfQA r4xJ!U8]K![{YM7yq'4y=!e~f|<>tG^r?&vԘ c+O)c;{]>U|Nm20+V=}-9GtBĹw$),,ڍ,BV2"g򌝥W`b!Sum1<ʁ'&ta-˟aĻE=F5ҢS$:7GOڎ]W-ʤAqk`9 gw9ÊPYif_D\ܾ@kF|K`L>snLYI'.:yn;M+BXHkXob{DE TϨ+#ڕ ~^h~1E*`~A=EB)j'=aq?xRUJ_߇mT=ZC"n걞2 ջ!ZwᎮ m)3S )LoT-E4|*э7" SjKgD#&ʺIe?FJx2Զd#.&>HDzJ6L[X.g/ŀ|K 9m unׂZ8D1:Qav| SSy:B)ohj8{&֢rq \1XkE\Jw QcA&\%ڤ``k X)V}DY^ZJesmFa&۪rF6ȗ6@]ncSo~+"$}~:=Q'frsH 6_&=dr&:;~Z`3I^CUbOna:O~|1ꌐƿ͋F0v$ # ]&&^Yה˗z9 UNaT?G[eip$T^lontH5)(SY낧IJ=ɒ"wg x[aVXj>.]lN- &}K}Ld7p[2Ӗ1;˅k}aÖ# %o~ԑ<%bj1>P.-F.A&ll}\~N\5 k oW} BGWgv]!{ͧ`'wW (CУ5F .2$_r9}| [2\t3*TlYȀgt}с΋{ݒ uXc4z Rsf2&WLoR[ĵvΖ%tPw=}WzdȇV?(z2YC"!y ]g>:?9=΂`:p . :3y<;_]գ>pƵP>u.$ެ? T(d'b97Fa3USwI[65REkΣL%{_c'06or+ner/5V{j>,颸z2'ܔ]hiW`ozXq *oY[t7jGri}'ZdTbECұ>i2,`~'[8)6]iڽt`w5 _;O7Hr\@ )0%@CrimfmYCJC)j󥟧4jP L1[ƈa˦P/%c֌(B1A7+=ܨ!``jrC)GINJMɳ@T%OOc `#]O%7IC!HQMeXg$pv@8-c̀ IىVMS,-iSl^#iÐhgLS_Dɖ\çT[ cӤYX#2Kऋ)]AVzG$XBm:Y9IR/7P"~&3Pr{2ᙰ /LDeSg0^ogGU?j qNNfҖ4Γ݋_3]$2Է cP!qCB%(e~`{Ll7OY V:vwƽ֧+ _;k" cC!(Z%PB`n,C ØڋžҖJ8Wfɩm 0 :LʴmTv!G|JwJ?׃?BZ#us茓ok./V!jiBg%GVf"SD%KȡL}EaZlf H9UAU3n]knFZ<'W^7q1{7hF$;c p@&-~\mO ˤGylRR,M#g{T^em)كX'a^os ָgabk_dh,m"Z?䏭Tyie= .r%(Rm=d'~h}ʼn;ԩ\DQEBSi\;zk K<z{SA11 *o;^ߒhlR)uȤz *K`Lׁ91H, 79w[ 8̹ƀJ0L+¬+C nJ[ k43  CWZȱSWi`lLYD>zqC=]9Vؽ&6LSίYe:t&$1=DרVCn7!^edE@aR;È(T)/V }(%Jo5ɓt#ތf\z]~1/᮴p <+?#iL#MZAрՠq/IJ(m=՟%oϔ4̀_YųVS"tj2f5٦W6N1 cv-%YXsӽT6 >xbYD;܏@v^g(jr&àR^2_KFV േR`hA ׷+G !bpVY yN~zE5Q!]FG QŞ~=Nc!ݩa{4Xn86 %YQ}m)&FR}Bʹ1 Q<P'ϥ,HZiɃCq{HT:o>"?7'qJ/^:ֽC uԘaOq9"7{hJKY,?u8r%-rX4,*m#lSY,h눋d&88yq+,AFe;)Z3VZ~vYQPLR6"u4Xjmn[H{ru90wR ms(ooG+ϑqLGZ3}*7hpgFuDCݒ][ˆ}G+DM Ar=_īGwN!@-3T0cx(^y|)Α HQ[I+n?[ w4i&'G=ӝZyT8j ʀc9Ch WMDx"V&i9r: R` q]zw`!DjB>`^mK]Aƣ| ƇzE9z7Qea œcud{-x]_K߭juhS #:d6D8bvZm(7Fl]Ia?WFf'M:@k8ƔK.;҉߉YuU~pɟ;=˼[+e&׹H'ܑIJ(+"e, n6sH _ /"WVK:·CX-l%7# dt21>Z{sHγQ_&P8?7riLwјx0Q%0π pz r;^=٧;ȣkkl3 bcWLy猅[]ϑOWXe?)\anw\}ݝ`o嵟>#ęZ{PԜLg->,]Cut:{P0~`nJ1p0Rr*)Bk6"geYlPn׮Ȥ5.?@vV2<֧gElݻ*YY1 J;7Ɲ5sG%OZf\*taO'q"NRiVgЊ^9C:4"zq}mKڔd0[T(pPt=MgW;}Saus3">(=O}(Q=Ag c7vemu_Zn;(wc{IBd`Aeѣ_EӌdigW%fqpC.M_Y񋃃G:6jbivqWUbLF9N#:]dc 6e1^DZ-:O(fJ |eiq/΄Y3bl'v{$y5 q0U]xto;|S}M!A<ͱı("bBy ʫ7Dw31 i׍ArW~I]VlqvaE˨~J 8i"FOflşY*2$A*xg1s׉ K=~@6k}RdGd(YHurSp`ޚ3[Y3©t%.}S31\*\ufPNPnrlƼt$ڻQȂr`M8&nyktWxW¯[2ߓǩUs9p5b}iF ZA9!u+u_JW}]7+?wRc'hni"5w.P`]m0xȢwQ/C ctSo 7b5/v䩤P]_o~FWY X|Nq427 3#A)Ҝ(AC*W(d%A?qmr$f3'B~L2c鿦|~@PQx2m9L/*9sY+}Y;nMOIf 2+eCr =߿%Ygex%?n@EBF9")|`U63)v8)?fПmhK8]z\24V A}ˇ ߛc+ Cn^OmiE OEnA?3FF;34f#LaFVȑ 3ؼO*fK7 8uUPV{a D[{W||v}ӹ]bT<}%,M9=o[3"6ԚpFFVc`B-#vev5Ndv>AVE@yވFCO@4\d`a_uEP- BGfNږkYDKKcJ Ρ8t0, 3` xe2f#mM.z]n!I]&c=OjqY\K`? Zp;'1 I2<ݫk`؏=r7 6R'FJbEk!u{޺)"9erBYFN i bEwXy4ά/z?GNijxqY!p+HgGzEtO"aQ(Tȯvy,8zrGyn @^tmxe{P*8 @Ӏh sxO0/2|QQ*SAY}8+n*ef&[V .l$jWO*''[-w9&SBbRy"ݎHDVR+Z ayc2Tc̲]b9P9Gc-'Mm&Bp|-(F=/k̥D<<]I4Q`Ջ|b+c\< `m=+u_?JÂ-4kr(G 2ϼ}5cwpx6vS,H%{P&|U11[,~deGciQix+(_։ꣶ 1 h]29o&ȴN7SoEx{xPs7c( z X8kh$MOqT楔0%FꙹˊS"o_c>8,a8!B]aj"i"Ղ6-v7 |' B=}屪K4)u烶2q8{׬y]H%nef$k}#<^ğ9@ h&Q ybfQTy"9Zrk0!TFDS!""p6tl^eXn7t=NYdK.hc}Pmi>6º:HK}P69\iPbr[RS!PlntFĦpk d;8~6m$bZ}H-z4rC w4 0$-1z0Y%k9?} zZ{ yOy^v>ϺVwJCRcrcxa.Fu̱yqA `/EUPn %+*1CS N0.l JmMKXO`Ūt:bO!:ŷwϦ4zW>Y.#U6jjn9Gp7G#b)WzYjkʚ xEYkrQ>b>F6i,EO('"!oyh ҃Mwsb.,uCؒd˓ rWрo?EDݿ]z")^~lFAlj"~>5~o hp զaY9- ,wX^:Q(7}]9w5{vi $.|@?ٳ *+u}cBXKH>rbytRf)HA((fof.4ItBEW3=9S=g:u;P#id? 8%ecY'|Y\mP! v038ס0H7v1!ahAUU%z^LB!~-OftӏyLbzZNư{;J ].'xY*y JtQig2:U>o0cwRhW^ϚLFV9!uŐ_n-ª-&µRDT63,5 lkO=S/BNG`C,J~.g)Vx<|Jys>OuaJtb.r|qx[u.E„@`|A~i_I`bĺa.2 gKٿ !`kK \t\HDHV3! rxz04 {_N[L1~Ot0y#l$,'ά>\Tޣ|Qo11qW.@B}7GD0 1:Gi8#YwǶG_ӭ6w6W'= %G,ieb248TS"9DHWdUFr*DcL+}@!P8\ r\Dix|KlG8]zkU<l\cz8nΝG7z,dRfi/-#,߸3yvL!?xkc+!e֝rs-{Yz3(V9Y. K4)hu:"[hZ.:`Ky}7^YJ%l^`G+gFvtHZ-fRnG91v(*R06d\ Q\{|wo3Aj/3.DQw1eJh0, iϙ:z<3Rx:TL7I~6X:,}d(c#+CZjb(ѓ mTr  9 k7)N)^@9} Iz F(PGMu_v(G"y䣲ܧ&OIuEdB1M]%~dzG2f8|!3ߊEkrF2ޕT*}aGӑ'7 !,n-]4y}Wl"x< `sN[u=l8DA:. ╕HSyOl>}+߉\ P[಍9qi:H1*zPm"{99H@C]#cZONcnoN(/TDݭC *)vpot["}904P eP6C)6'įpd0@_%=٢(=?7I:RrP"2Ngb3(F1۹}x:#['$/[G\Dgﴎ`JB6>G=eQ[gfa֚[BNyQOik|,Kդ?G`Fh4݈8?$*.qweVEag$BXǛ"q=(!'1a@l3&9 *7Qh.EBiHjP:W#2HPt&fCC y$~=P5AdNy[vJo[l2C2 tVqU6u#psDXXNhسI@o濭"o;ifYxJ/SrJd' V$7EG"4K +st /;fvpaxT#n~ip] u ,1G ]7i)Uo<&|-=aKMA*W2KR'[p 7C'ѹijǒgva&GMU/f@( iUtleMZJ#Ah.R+_J5]+5&-@)[6.Vt k>\nYj'Z޹jVP1hEUă)fR\u惆%NSa.MZ=p7*aSиKP g&qLb `4)&Їxڟr8:@;6lxKŨ\5<-e˗$vہO b.}ڡb*\~3AQ>9 e:ڌ:2@9詔mcwˮ#8ʵyjH $pt dwǵ<0L^YJ%78@1#o6_ /I hm7?*2_ % q"|ĖXWF#PZVjZv_ͧJ_aF*CQJs:!Eǥ^OVg*;%PОdHAJaIؽӑxczw_IsN$.WOH!s‰z)4$4Z=ǕNNBV9]+{+vMf@£89hT7$rV_/tHˮ!AG[e/tWM9I"1 +`՗9R[Aq{d tXJR=A_Ss[7]ŽA7}^y)x{/NF/#)d[`#3gc(a>4a6i;iĄ+A6,Cl(lt|an2gd8|*ۍ@<,h^l[ ث[i+ T/;D=Hս Ғ>9nU2+dGsb4%{E8+k{0֎bԒz> a3Xm)o7W x礕7XQGϪr6 ahX,G:-ꐎrq^K홫* C:#0? jك:|Z J|(5Y-{cZ3k])Dm`'˄X;\nOpz;3jU F`m&1O.L㸜kГ,fȵȽd [Z5LЃCj2 iD>ndDyLWee]h+0c9Y(U̙_@)y]bbЏ[sx V1ezZ}d3OeHPqtgv=|~ēQx0+'v'8PHRrlItA=;фL$b#F:9 Bƽjj/O%}L^N h 0t ݔJEItx\Ʞ,Ud/ f4!sK6|4EK|x8QMieo9%O((T1* o_ ae}}Ytk/1D sC!b+",EC@V+|/gpZvG2A=tt\7ژjSK:3o\u߁8/C>[ `+d +8FWiY>'E45g|́n̹2RXj޿xY$x{lydVEFE | j#-Ke\T-D#xсv7B&L ̴"· =9 AI>ņO ]7K}[jX(9L 5e7Kf:dzOC6U Y)6: ͨӻ-O>AX#,cbOrpVjb =|‹~| _w  (q)O# F!:w4Y +piُ\¦kV/6{&~? IS-Ws(Ɏk{V <xSdw )mԽ+])2N}!&[O$9^WV_ lj /=~O){[j+diKCDӞ\̑4)qT>HMR **}wR6C 7]_ʻzyE] CU@7$ޖ,ɿĸ_Gš1c4M^z?*VtwIq<;۰7Q9+_O$I6yw'eƳ Ŗ J@bbjQkbo8 ~όTCz T;2Xvj?pD3p /5pvQXꠄdT[20eЧ䕛 ^ykxN֖'[CL  W@ ߤTHJ c>?v\*:9aKV0#v-?06 d`%=^,ܼc7z2;5$ҔUA {I9A V`@+Yy nR7R:n-us#+ JBЛ2:ǚqG!ɻ\G|UGjfH!RU(/D֖%t|jkPU8Ef<@MXBAiJ6b&`5?9.610N.@[` >;^kz}[,۫b%\Tk Xan:TW%JGq|ݪEH4X6ޓ]{6M.z2Yc29=R^Zd W]{sH^=CVM5x?ru6y+ Y/vᱧݼnˈ]ƾ(oӐ qxjՎ[pz%e+tz5~L['OMa/T~mسOӻ&+0  Xc%RSp3**{cѥA9.IpɹrDr< $%Dhu<^9cmd(DxPkcHŜ}D06#'륈'-sl;WH,Fެ2!#}zOţő3=M^X([$3*K)p`/i*J }jZjf. ":hܰ- -\Ug3ayxcWkGJSS[,A }w۳ӼykqͩԨq@.1 \;HbDEuM["56UXpzUuq4ʉqÆN>]mt QRlH;3m;PY 0zM""k47x {uB{2p$R\r :/>}Ʒfr0d{݃(^Ω/wzMrm])1˼D\%NM"<)ک ۶. DA[g2  \p ʪu#BS@JV" 'mLLW1EWU̻k(6lT76OX![[kZ38(Wlp\r0֓zq8ߍx=6Jݡ%A 7U"ٳބ'n}b<FzTts̻ج:oϠtm! Ig#-sH'˰fUwMq-`ݐUR30V#:_do6_=OaW7FK5սeC5EeTTSޙ#NU `/4AoCћ ;< @>Y3׵fK)؞Wdoӹ{ӓC_FTZ.3,(:.f#L59+N ,^;*чc]%+h3yfl8`I͓t?B@6~y H?\xo'rrWfd2^~b2t ?qerD M(qOմxg|"(1冟G @C`ىеKu6a2<6@D<"Nc 1潻|[QDQͨ{S3AJFd#kG]88l(Lo:!s`8P/l.hx _|Q,\lDXخEbؼjc|ɰP{l{6jsm×#y.GRv#`Y}I-R`ZO@Hl:h;E [+^E(>ɣKЮc ϫ<& :wĭRj%hr!E,8/Y|S1E%u6Ʈs}Ige[kdO$RNuRj`6;E4AƓ=HdzXf+6n.~(yxv 'U UpuÙJ!pW[#pAO +sn=i\)CnYh#D;W4t:,M.ԚywLY [# )-2뷼4ғ0>]rhe<0}kU2av-j"K@*/RYevi[}*YɰSJأaD祋pM|3Ldղo[>Q),R2vNv.A_2>)#J|+>e74; e bp+D -a|3#]<]8M/DPvKxYaQ oev7l0Г$ӄTL~7bZFܮJDؑwQ)w!7XmsZVcß6o!,ph'MK++SCɗq¬7~K4ђ47{wIνK>*\bM1122Qƍ#²}c Hᣰ݈BC=j$G'$y+} ^]˿ok!#Fz.-O$NAr+mNӓro{ PrӦN!UZBP%aV 3PSf.r]XZWO\P)uh|᭬;7EorjI0\g]]GAj_!߬ק] eZ:%!Y>^Tk'$~EK ǕC<["«CUl8rE8Y`H{d^n}ۮq[P<럣‡59?b:E s{o SptIvjt'HZE% [W:(G"-)Z/^3N.fu]’C?%G$;(d)$˓0b<'}e,iJCc\wu9pr.cXԔ+avW :=hx>1!f'.+{@K6×pgW^&|WBgQ EXV

    tyNA@*pPv?Dܯ )9G(dKh@ko,QAX>AP "\ ʱb?&=w;9tۘF(>0՛<鑚Z\p~@]E|i̾U%OcG<2…,x] K ܱ%rz sr[g thvZ%8/_KXkt @K74K^:e*JDÓ?WOj{<ဿ=BQNZQ95iͧvrm wEm'=P:Ir1\Ӌ~T]RmK}h5{6]fJѹ!vԕ,E m_EwL_[kqUwfGڟ˱^etìYU[J}w&xrRNJ4"rDYL MB ԆE~ D_HSU8~aӪ}AeWL 3E#RÅ3$=up>+؞HCA `X"fnoUEAŞgpP.9;UTGn. 6@3LWvGz}!100 =R5ި+c^.S:RtβֿkMIxJ}`;:k523͊U]%)CSu-Dˬp<=w.oq2yLl=#/ͷ 9f5&!]s/ qJV{6*`;Fd43'<3T܀e5%76cK2y߿aK_̈,S&%v|Ȼ=lѧpaMix,ʈD7m!'AN6muà s.:}NgW8B̂8㟨|OM@! Wi[ω1;fk藸J3=XPYr{ϗZ &Rޢ/ e%{&plɫITHwƲB=:P`?έXHA07ÜʳgAntٛn<z(T4hsv7t92tn iQ!XzpUꝪԜv  ;&2+obTH̛EI0n$۝+)R!wUgY1&]ٯñQ;4̞c#)XWw30*7X VTc&`򱦭f*>$K_yv=1O>/M 4_SLC\Ӕ4+$B'-wuNGW0_-Et@gZEPTs7~?fևyKV<*ڤ}AT'@b=7sQ v$h6#b̫U~aqr;pXÌBV~J5WrbwlԕֹډsGv=/tEZ8l,~'<> $䴊ғi|!B 4Pgm>C8B@~XLbZ)K]ػ2Did"\[bh"b# Mobx8Vi4> +z̼q"(\(ƴ*)sGM9 ʅS}|zNԜK[ e6oIYt @j>ѻPK1g osc΃0tL8.@Kn>2Ga69>=2䐎6`bzph=2`cXxTDˆ=j L xl9n6U}&5GdhLxv7߯&2a.iP9qp7U\F[,* ]vPa:ɠY:uw눿bPQ^,QPa/=#֨.z_uO,\%S`hc`V7|{AkW+@'Kto# 9LL ؒhz~L8q>Wz ͷ~ܳf7ΠϛdPɊ<8(i"b#Ƭӄ/p-^0xg&Or2.Yz~"4B QN{s{`h]3qR_d"ӘRWJ'̹RSY ׻بy-%MUVq+ 脳jk|c &`ۭMRe -ILkΗaf3].Z?%´>qGX-Qސү*og zuԾrtF^X8Pa75"RKTg,1p,y._KQ`~e F q )HE#^tܰZ-vaCoÃh|^bo6Mv+1b,T[Pg'Ӿq`yAU}{"f}^kh5Q(K7xuc '+t^rzxVOjh5!`+vƮpt=n$ &$k`=v⣜k!m"=%E b 7oJ*1j4fa~ZZ+jc <[(H!?4I<~Zqh:kQpOYexr)l34<Ԅpe(pҝ"iה=՗I>հԍz d01 L*51&d, 4\Zq,5B;yy}9w};80EHp' E +&ܼ89 tyuXMNȽv/Jg@ n}18D^Bkp{H8nT8īTNW1㿥%h/Nt[X>8mqPFJ3اcS/6 3yMע8{S]AGSQ7nN0%﫤K\N!qhyņZCUt֕ɰ;Dg% &0;uQ 5bXw8^"j,|J%de0pAR~Q<628; 8,3yp)RZPFiM_GŵKrQmYxx/Dz97ɶ{8siDž)D*ZHڥmڠpv<(G/j<E.u)z Uil]Mᵧ`j%@' /k*nO qVW 74SnI&`މOyLN,n.}h+bD7HAS 7:,*^^>~'A[#zX;[ ; M>GK^|,2WEW*/ n4@lP-_a7 ch%ƬJ6(i-ˌ1VB,;Q0% rנOxH+]%l}4꤁08>{0&^ m0| 䐅N Y)ۆV/XFbhE~SCG+霏J[m*I踾^@lxȬ^0#M[{^>1a;U_jd_5taPZC5 73NOeg ɔȒchf#^OZMcrGYyLi;L Q- `-[|BE2llj9«0h ajht=('S-s"(E9]Id*i)b6EeBBf9c6PuJϪĂߥ Nȼt[9Tij%R]hG&P^O&HXDK+(WpV!y󝬺@|dEQdb~#2,v8a6 *Z0Hu))(kKĀNjihY*満 Ŧ_-ܱvX# cuoѩfhy-.{0Lt $V0fs,REnx{0XB>f9B=<^FQ />b [X=cNDq׉so=ѮXʮAG RgHxZ[8O1E+@tU# jH%`Nbm `Ls:OPވ?<?#Ï=ٮDFGdvo=[ތ /+PdV0 ĉ4Sb]@8L|~;hSkA `8yژ/QIolt`6Տ@^kF̗ڀO>s\J ~x|rѓ3o'b[CLfh> E<.FM~Fnr/ *i×fJLc Ӌ"đYΊrPf\%@c Ib=r)9փ8?eeTȮDggboo| sb\PkL迃RϵT"^{6FõzO3LV=Q#a~ ѩ&שNw cY`8dzM$ÿI[ E 0xGne|;Ņ6kJ"bo}C֗O?DΫYatvS6"Cr7jS! Ao2ag1jG`H!8Jw)گ!e>A'$۲Q%"r/ ?pP, K6Ipj`̳f^Ӕ!uCr+ :ҩ{ |Bq\ cf#8ڨ Oˆ6F4O;ՇĽz|XJNF]7;_`jX_l/`oTĉS/&؅[Vm*5IÂ{K7DJ':}}3H۟:IF7TN2!/iM&f[(L#3qi=vXb->w<1-HK8Ƕ0yPʚ3dhxk yfD99׌7;bzrg EGdЎrXAvjJzœ]a$a1rsXPPqq HE7cv= Msj4 CzSי,B:rpizU߉czlyl]5O%j%ak3JSޅKΦ=ln37ɸŸqHfv48@Cg~Ĭ2QX PM4 "pH)Bk%=4N졘pT[ WnD{Wc =y˴BOF' !փj[;u?<74b"¾J%( h4DD'.Aҧh/E:Ⱦ$C]jg*Ƙn WU/2?)ɨPxjlvkVĪe0:Ӽf? da"Jظ@C11` YW8S$u)G?qH:Peջ>J[@Wvc<,*oTLN3 ڋzPh :% |lʹdw).ZJ@ g aJhK,-ƒRgeǓ2҆:ZWZÌ.U$Z9옂_ P/WVzw/f8q+bbj!1kijH0ݞ<D =$k U$ 8bUl# kAE䅔GBvIF]5`7-ƻuΝa~vdTD\ *:|(a#m|z 3_[s+v c7_vIvO=Q73]DT>f㘱{ nU^̎:dA^jt?6pČC#<@B0'7L1ɿUGXp|,),c[m̸VtM.z 4㸏59Ri6@B:j-<zyV{\m> v/lGI )+v*5I<0ӌYD=D\9ḂHDE$Bp62>ѷڿO;r^L[f{jEPI&iQ*MOXڦ7И|}Bsv7>ծ?-г}G$E8?_N <>xܹue҄\5;)t$zl!xtk5')Dw$RG85^ p$pJ'Uo31lKiF~COeYwF=>Ķ&c4o㝟{ N /5ZfY)Gd-"-㸕`fۖ1,)xw%sjzR?KDm?l8t9p R`M4lJ/偏-!=Y3Ǵy$']XTv <9`3Be^L6 FλtYMxN *CrFG,YVq' Nk8PVl'HKH6N@3l7ڿF$3 zi yAFTʲ .6+D, +,gv¦o kl@=9 3<&veVM۰,i % ɯTR";l6:h4'p ?c7u`"*ØX2ٛaU~i%6D|.O@,gv.ՉyH1$].bY1c Ukzn6Nbر}uٻŎWOqp~řFtl۹t3=&<͙ Lt=x<[l.3\5d9y oɰ5ȏS2{I\Q&Hu31Yz jGҏ+jϐ||&2-` ,(?r@Xm๽eG%G3t~ڮ\(I3v)(fJCD4Yfeoǀ]?huS慁iSr䍠luj+R,Pw&ѷf Jyɭ=ϴZ&{+_:WDHUJΖ#\J,BĴɨbu[sʙ4a6 /R~Nm}@c :%V'BGz/Mr4/br\ *EL 'CX`:ע-%97R?+_ 3ʔ21zu-3p&z-HƧ]7$ pշg`O Qt1&-mՁ0qvikP3~/ґbt9 Jl~y -J}bwοd00fAKpi}Eee1|73H1Y qzܜ⇣Fvf7Uɑx-2C!j%.bA\V L*w &^ 9?N mD2PDUWWe9I*-IuެLeL}dA;OFwHft+[-.s]P2{&ԃpDdYԹzV gqCfX ɟKy#d(~*gbv83X݂MAawn7!&!N<ܷꭩ\XI}.:yT%U=2;:|Xu3pl=8n_ oOĺRk>1<; <ۡQRȁSsdtLʟ_M~rmPP+~IB|=w^.XPVW6| 6T*Ee]s; e$x6=>A :6y ߯ FEHmmҖH"M\+؂ /ӟ2"QMG<@`C*I[]aFq^! T:Ts?Q'Zwǚs9/=ZIΐ q.㬥ƫB \.3;m1jC!3h+X&޳>IC맯d;"2Y"Zj~~k@ n\ .Wc2-7q Q{DRGx%@'Rj)8G\,xE~,]2}T@G}~(%7ҼtۇP'><lhz}w( 9t]jO;)"Qw֨?nclaJdХxV7{=D.~aCzO>3fHW؅~Ȧ `'<1qyIUB h}nx}x_VSk C%cV]kcnܨUJNV`)UD%çf ӌakPsHjO}DR4 @x # yޅ)46'dR%x:2:FLvK\^\H~B4 1YSIm4;s8t=g;'~ 6i'Nl&͓rtY4{?Bx@<{GxZq<]_ I}-}o3SQ+Aa; Zd4 g|i;W!7ĀN=Z`Jd +($RgzyGTGxniPiu c`Wp)B*wwXJB(ʄncd6! sj#X(̵-,p|0 kBUc8P t1+(O[ IG]]"}.!̔tN Ax ,L Z,& H$`:FSgRZ!p|q=nC™۲!MJs:{]$q\o@Hm=a+k뼋jQ&dn2 ͷdv'ס5u&fь&&r@.OYPlN:#M#drAEs$ -*8̎tbC#yklQ:.Pr“ =p%ٿi{ѿ3hCXBaDǤimhpnkN\Y >huDoeV}g&&yJ4v`lMA; DaVO X?} Q3z 8\XI8ꉹ.CSNUƻO=/OP;oؽэ59؊ꥴ]qzM4*. ЈPNd*hG2[@1vw=We)L5?"pS;WbF"[ގ!,=Wvqi7tTt!;C6j_@O2&o*yTbiwf~+W2Ĝf@E@pⱮ K5xx c7# s |.`&Q419|93!Wk:X_HNmn2T%lF`g@=t= U$(PJGNX6l(pKCu|uPxkºe'J,C9s"G9s/# lqN밮7*-rVmh\bFe-Bn1VZ/QAwwK@ZOؿQ_".@k|ָɉ(j1czfұӉg'CA.oZrFnd“̷Vbߣ?,:S5TH^\ʎSv*L[R'@bŘA(jc6M@`f6)K) ] ._3x/O\_)Y_ 2Z{ϻسy7*AB\Σ33 3KjܜhbՒ֙=7g&\D)3ss T:u~ݼ .,P%{Avڳ.縏>Y۹e;`Jof pT+OZdؽH$SU|<>FX@,N3TBB;TDNƠ@nv;{r n@@2ơxk] F $Z-1πJ)D) JIڵM7>Λrضy@G ;:qBq.Fdzz#AjXyrm1h,$@E CEB߃>-U_wۺcLޝБj*7 =KR?,K&ͯJX"#{yUkz22?RN&ZO|쐢QæSYJ0PwAUL&@a#"X}@p/')ªz]O=Q?AԗeW%X,]:C6 fمɞ%5&~iP^L>ZO9j"8ֳJLāj' X5:,4C1{m׌TXO8!=MoJ"f;g%]Dwg#h~I: k}%Pa4|UO*.&U`۸$1Z6Vl+$9@_z@Mk\Z|-V-Foѧ홃xGbG{QFVn igޢXBamdJĚTn7?6w5k2Rmjvc7S|O_m_ Kjr--Cpݻ~h>xrEy!7覺:Bo^O8KEV/&}1f ^ItxZ,bM'?0frސ#)tUj=y1T1@Owz8g~m8 m@I3?U>cuvg{`D͐؞T?hUW0V׀fOh|9a,#Rdq\I,Fec5 Y$j3GSENϟ]$>t25tLn~<$NJTTl-ÿh!gئa;hD$54aT }!``Es *$9eY:Z`ԀF7 uUw W0s;=P۰[#}CM»AY|-3FAGx@6ZwoioTfr;}7_직G-^A7E᷊{ބjg3߈)j2`B|5%X o0نsQ(Zr2tezT2 W[lvmr8A;L*0ߍzmO+%#M$VTe栒N7a]GBoI3MC>a4}9HD9Ѱ@]_#dWth: qb+ZAg3S|Ǡ\Zǝ_VlC+e^V0A'J+}3Y/oWED:ߛLlo$RzpIOMV-J%rC^-Mi([#jdrk:rPRtrWXen47Lc87L ay]䇇eLx8@}儘ΐ+gF?*`v5BDyۨV  X|H5ѳr$n𱕪w.6R_.W!ARӾP*"wJq ,Z7XzlU :3zc奺#ӵ&Ǯ^H1%p*|"dh-|&$r2!n jOg= /))CT 6Oi#1\Bv B  \7G5frg&SK@y7ϋm6ܛ*g,'S;/@`<h bZ: N8o#Vo]"@mzUVUnP] hp~4!AY-$hJwa,g& ilqP1CiC/Ԗ=Tjՙ@Ci#D SpJ/O(.h|j?=oc*j "jS61[?;@f@7DwBgJIХA%pCc⫻pO2\FW7Z mȩSngX/tdJ`vAN `FSux'P5 9 `h,\il:DB5 t۝_}3kD+i&lZyAE5Gzg[]#8ufQ=^0 F>"=y|Q[[5jt{l;he̠$`e:L>m{MCҀ]Q*st)+?3hhE73wЧc}Hk"N4qw3Nc\=9tj)mUjLrʡrf-S3M3#3K;ԢI:)_<1-}Lo0a*I~oEn\zF*35qsc{ I~&{[G!q\cG}%w+9;uxkdp2q0OI$+_S<68y^m*ojj~(6Z ƣHp ~ ҃LoZ98{n~{2FUF􃓮Ox}p92]19*=Ŗ/"r"&>٩(0s+9>cˢflwkiXO^GUkV]{E QPV~wwG( ;=ؖ+fZx_uqu(9T(W ЉĮ΅Om u͇}451.OeqaN{!"rH\ێYѴg1s! y9YY{čZfl*.0!YwV2hW ԥM_&Iܾm'7)eTw4isc2)_!e+0XM4%\WPiPweDn+F7P`v_S{zXg4ђchܕXO ̵ ؒ*bHS{ј,PbL^G^K:5pqUjئ苮ba>qP4g#Vw". s>UԵ̞.BW0W=q_P=_d6zS~tJWp,#A4GƮ>4)ƃ_FCSCaZplj}pWѸ(L.CNP!g?ͳv[ Dd\VfdCYjUHkN\` ֡-i TRP#0~aK+Cެb< I1 d /ABZl!&+:ڃl0:G^ qd^挱7? 9mI-J&aJ?JFӜy'٤ԑ"6~ī!1XƎ3l\5];rm0-M(c1xl9B@YkO.wP+B#\,=lJ8*)޿x}‘k ,}I#xo^L)DܛlC ?'6l˗":+h2lhJ9+e&Oؒߛf;VV3fdߴ񷅽zg`<Kt:~q̪c“"+UxrvL}M]~}ns\P ~_ -#tM4 w[BᆸS@*ϭ~:jbI%J*Enʸ/IH[bʢw߇XU ENxqe^B9r wsq~ gV1#ـrb`<5;%n8|ܝY\倠y$ڕ6jۡ7}{QaBJ !`ĩ+ų: vN{n\V"ܔuer(]x^GᠪTnݿHCҁYEaۆw cYW O!gVHny&ܜyk8(*PR,iۡsvv׈iB /%k x$ᵂRN7Qmہ=]Gw*MgTܸ"$ fc@a0Yt|PNŗ27|$i`?i߷I7Xq^ Lק6@H3L W^I51FVp9I9p\.%O~M&2KӖnW+vI1lLϤP䆟Bޙsd!r ZCvFG~Lh0f+Ӡ]x!;nun4=Ps STd[7VSyG GaF=\u`2cZog(Վ|q:v9צ J{s춠3@7j15brQȻ섒3XK'98ްl "2NAܚ.^Q'KW4 nO>죤l+B'hE00wku^\dV'&4 #3ieac2= d]EZgٛ]̀>|OBS^~QzOtuD' 1S|acCQԺ(8}P-쁀XƎPf%c@A6~<ޗ3U kW΍9ՐB [}Q(_*:W@WDN/5F mPpޱo*QGK=%JtSD#sNJPmnj@O~ݴ}¾/3iq#EJES'#I_%s}2 ~{ 7Iz'n NДkQ<1hyyMVԀJ#Vz صjEk&q9\ڍABَa4gٌ/-+Vh}d#xq*Nd5{5?Qum$d[G3jqcDhk˄,C.nkgrԥ_9V:x`>mS ܮ]m>7o32XV*0iP_YZIJ 98W338kRiPu]7tΗ(ie4[eYŪg=/W;UCK4e0xVEx?WZr㷋i.9oA`Xblt.ϾzojjFj|Kx(F}dOc ۴Y\'Z{4Q:t`W~yE˚a7?c=CW $?+$#jAh/`-Xbn6T? S $hw*҆5y`l"'ooÙXMFKLB&ARόp;M>d@5w5Vt%M##?\aU[!<~C1RNH";w2e~F(;W2xvwD2~ n4te'g~ =Ni ;׺x'XLWCEE+7} K#O'~RO9s}x*"ڏq%VX2Tm bvcw@)mc0$zH`"6|c̔uaكCY-ŭ.@WρGa^f8$)d-Y?`h6W6!.űBSxV{og`?B#utʡulAf7Wj9ʙd'3b=oUCyZ{g R0cq0qsLigV*T)jb(lm tl9F qz% HsSůn!HO~uu5n7i fIRPCޏrOkj&ܷ%nRS 0&ӕ˥ Ɲ5hbpT |z>I$5GdW˻/Ǘa$Ynӱh7r`zVqÏD ׎{l߫k}dJ$B5q2|46'\HB$ǃ^*V`* vtv1cwrC 7b*Hh.\'R]4RM..oh qK"yk\+,=HKD꜐qr Kx29lHG_GY/uݔ=?~b=I태mٍH$-ОX]U_=[V;WS)@D$b) ձ#]@}]r{ H\7ν7z|PB|RIc5h XbbC{~ʞ G\t o_3)8wDeL xi2x}1KKG[o:S"pqlmmpY\%뚚nYƅQ~ʳY~%4] ĦBt]_mjcp Dۈ$Ƶ%N*oDDf)vDCC S0"|Npʌ^-` ,;Dg@<ۏ>#Tj>.d' .CtO_z624QPwbNkNi~Vԟ` 8o(2mWz< 4e03BZ2߉%j(IegӋΣQ4LֆRk yu³w\U!sm\4&7 )QoP!?Kud2bZoҬ?"JC]-!NoC9RErcn T yے$uw%<ں{r cī 7hmαӐLh=G2@یa9)ï3'AƝetKmC&<3 Cc,Ni 7^_ߦJD@zkm]e݊(W `V;>&XdƾY?/0ka{a.|Audf*j`*d ޻ #Вs^N, =& 刷v^x< »*/%9hǸhkXhvlFFu 5!Ub/K4KkE&Q3^zH)чVR*9/Ѐ g};7+̦ _SoëqqRm0/ة Op*FRUImp񪁴eo6.yujeg OՋ8yR5+cgR =z̡fICbaӴx3(P946OPSWip!s=3%ΞzW6 ;hug?]=stAmT yc%*' 8qُ͎¢zKqwߊ%7h.%)$je1 [JI8@܊.kuW |;PCM2 djiI?YJhV H|QݿuZ'p&R>Ob qήI1D Y<\3:S F LX|W`3+yG{ZtZxC##{c.2tAMA^@^X8)2{vG:K7@ 48A)}ӱ:b#fgSq|IBj;ЧbJS 7GMYBwPV 6b{zkQy0S ?XЭ #J*pۋBRH\mWaR-FuqaFr{͛]2ihC|d 6-`Oa <0 \O?43J@abL w I #y|-)qȅ=cU4=p$= 4<" `^{ lߣdXmUo+ o:c*˹a[78977~5b!|~VB EMTE̫X]+uh& 04 foQkt6L¯vSIjJ=p%a-?KZ_DIX .l"5&?]eHtdj+ ;R-x;3jxI͔|$+^6I&Bx-1ɑy.C=]ᓎv% E^mH- ae| -؟jh~K&s9-iG%ZܷwKgNX8>k'ԝG{k`Aoߴ?4P2/_cU0Ob_X|ri$,`*ևAU7dEm|姧"30?4aU`h뺾erq)Zvީ B ug?)0 &f01L7xeGrp-k@)ETr-\-`͛ߙAioxRcS~^__T'r(qʅLޝÜAnT/2~ zmÇ>z')3ß_#~6x;e @~b<(C.x TIi$V 7b%b󵮞2+ 4deVN;pÎ;6ZvDYq~AG'*~yk[ h2kC)nMXZԛ] 8/,f-u)^dőFYe* Sra/RYDch?5:7! '8GNSͺ/68ѼH\ne4ku||,hBN VR pbs<#h-H HȘ:>yPXus u:$})ϔ" tPWG(A-CJGŚ~L#S%@Tje3=~GՋEU `V&F\.B=c??dՖX{4D:8vP{m׷xUws>s\K,C<03<M"$}Ywu'FJ_,q ̪I!~Gqqql9l.~٨;BdY7>ZS5qNҼkRy;9'pm.HBptqM'*a]%~iaє\;G {aJm(cVi^ 0gxUÑN%(AV' q 8j\QhF%Tx(y}t1߸Q`}OWxt>1])t{5VV1@kz,/u=;ȦK5y=wٲvz{}t%(R!1xưm)Y`c:{{q&u5Pc.O'll\폳SRQq}rH,؞c~ڡzyy#{[Xˑ:p9W{ ޺ ɔ1ojeJqUԶxە4|4PޚaWb5lrf([2OԐ:{Uy/U1b'6+QR\r%Gcѹ@C՟ Y=ԮT6ώ""'{~J`T)Hc(1`Kti=F*LFߞKp{;;QlN pz˰ zKsc .BGMF*JE6@k& T#ykSy1zt^ Z8K09"&P=<5oGI%o48JUN'%&rZi*`︆v|oع"8U񘗂q2v`0.Y[q%^8׍(O W⧦!Bie-!0 .\AsܟBc8zCpzB>-uŝ0<='}DC#I&-Ϸ9&Ғ?TmSxn VޠmI/-$S%R4+S8,f]̭HUr?Co8bI_~ɬ>]00ϻ4 3Է;:(̘6xgbgo8cPB %I+ ~]2gzɒ%qEw& g(ˌh)^>c(tcMj]Y~m."f_ɂlr5}34 $33:ɨe0x9Ch,-~>|md^wFR9շ~ Ţ s 5x3Y];BE1tLUDieSM+\letpN9̫V q5EQ8ǃ1[aKT.™%gih\Ll\Icȴ HZs~2|cqA5t:52H;E1tg:R`}q9`OCs|#TZ2E|<6MzAuӝ72!qCWU#內4ʷH^юX ,C`GLg߽;oIৄ6[.F5tB/8L[6 利쓤(Foq6@8n+'Zf"}0t?0~XOA: ~w×4wP6X%{H 57 l{7 ˡ4%eI@O ~Қ*f :,\4њ22QjQ]don27>0V'Bi$ƷiGx$B Zzm(OQ؈:jJB#ԬPK{Zc) Uˈ'Ƽlu =Gdp{&Gb aO'4s8+HQ R`Q JѼ]bitCҭNK7yw>HKY45kJ$8T4(΃]jbC29Rc5)6tKFzxVm) ADp3.ChkCql*)Ybi],,i!|<&oW%Ɯ7K2r-S-† K8;Qa+~;F$iF_R; uXޚ~x0ܕl _oTiNbb1ԿHQ,42$̟-g(K5NI$XIsZd/4fU_wn~, P g`GVUtL4ç Y9K{1ޣ./0{3 lBtH`šIДWL‰l8Jݘdi6܈\I)p}!)~i+Pjs$tdF5#]*X"+PGq%d8+ɸ$chcwV*Lv Psl$ k7X!!QgWcSi k nEzm_Lz"94n,pμi)>*˾lQTxc$hqR8B!M@YGJ^) |Gs6G/%p y! dr[գ9(Umʾ?# crv =Znj}I, [:27?fl:/}״]-RRC0{dwY:VvtWec͔ѶPCH=R#Jb,MȾwwo6>&s@m_cRaIQlpYUڱ/No$خFƒ8= J|Pȡ(zg,9 a@''  de|Əc)cr!ٚVL>m٥9ݲt P-N,Б0KU,R ˂K>BwKi^fI*L@qUW}Bs?w.V(n mP /θ#׫B9,JP-F؜Ey?@zԍǬv63=!Uhy&Hi(*m,4P{L%~sP607I~Ez8ZaYj)^YsI𮮬zlWKya.И;2-7-+bh`XxNY=xUbgˬdl2GuCϱJpDl#|DtFυp砗IXi?j-=)AX+R\k ˌ\,TZs˘%uP%c8!T8&ɾ<5nlDf~Wo;p1zCsM%PMgkQQ}&~CGlHCO_<\i8FS`hz Q]V>M怘/{Pb@RHMߖ_9e돡Y"sgeFLt|VZBHI㚺BmGuG~uWeBηOrhh  ċ>qiyPĬ^lT7P< ~],lj0RgEیx,PJ D )HKd@'g&$4BQWEԏTwռ+_(=ȁAs պ8k Yo TLn0uTڬp &-2;kJCY`ԗqUT\k> *Kq sO h(H9ʖ1IV{D٩zpy2&+v˟t;<icUh1ge]s&\onӁ?ƨ&/Bu@uA >| Y^"WM!xe BU uC.ܙlzd'8&M Xy~#-]$궬RyA=pZ1S$%hosWΐnb\HY&YQ?jޜ'r#=.TUn!7N+ju2ʤkvoo )r&%ȖW {(T,3>=f^OBFtDF|ܯ3H 2cZ+}G0Xxӂd`c(֕&oåƙfx.f-_(5aD\R*E6h|Rڃhk$ȱt PЭ@u/V84ܴ13S u8YT*H9ya7k3ft9kP1zk!K>QUu]z,XhĜˁ)feޯ5CKn#;lmO6uVf+ǨIC̥w\$ak #[+S܁Vuc$رzas3eck!hxƁ˯U9 pԬz#y *Q(Cgހ'TBɊĜ޾% w!n/)YI{MjT<h]|:' &pVwM6="Jm~DvIY=m{-/IZtv!Ys.+ twK 搉NŽe;=)(&p#4]qLߔӲ_vh !݃) /NPBDؓEжr@>&m55/:8EF4x5B,bXmQW( AO[b$'%/ä |q Bs+ 9GE!LM)^6"fRz Ӑ@>  YPK um`UUWKo\v'm~SnSM؁mPGiTcĊ㌬$!*o%_můb5y:Me'Iڍ`;QQY2Ur^ZD|+aҋe(,[MZȤJ)#a)L("T M&ɥ-yab>;&%;<) ˚s8#jԨxAG6YTS!#Ά9\מl9ÍWz[|gwJDq+\h#?zIkz7Zf'5"_ݔCXg.<%+W?tV~'m\7#@;k3AԖ{Ay'^$z~sQOPWtNU[Z i7f k6V]3lKQQ736Sjn\m"p=2T}ҁJ\˗NFTq>+0 @^W-C-m%_¡UZNi-Y͢l*mi] ]8V#-B^V YW5"GOwJ~uKUW;S#!tPI^n2*ÚB*Q5{n#ݟC_Dd,IE?}c\݉vr_ 1iެR@˰< T l&:lz;#6C?-DuTaZ5RbD5ӳm~>EsqdH۝S6!pրn\ *39xC43f&eb%TAz.&Azt1Ϗ=uQCg}$m A ?`*E1}FQ~Ч:-Ś!qUBT4\0E[Lm D$H}TIR>Ao2{]ddb^D/f]ԭ׻TʃI8dwu82A<[qWV,t0]Pӽnk]V;UhX 9/`:!; o)W8Hm0nebN6 D1ص>rݿNU'ߙ8Vۑ8x"0?g3uHDrRTQ39Gry(euoBX`_+)U%s=N5Oz>5k\HSb۰b2 s四6]"0֗v YM-C@(Fb$QpOJw]NexfYVWXWXvb+ktsuQt!mT D n˕s].6RlNԷU8Qnb+w3i[B3r7W%3m.Po>ϯh$Q;(ܟh4 /fGeW]߬*D 9m+m K`4[jnN",)ۋRsͅĝl,9[ΚWo- @+]3$ףtJM KY96Otg=q*I(IvP_zPEn=͐H_p PO3>%u7C/R~PN @,Wz u-}|:.rY @7BGZp_n@nܼ060whq12iplwFAeD >($ rD/mx4 ĵOH- })ɈSGEj^@@9=`3hh`.igoY^i."g(Ӟ\8;48%WzqBQ Gg Pu^ VuղQVD_̔[LҚ$M2/wUA2GQQP6wzHEpt+C_v9+.]ۻ;ua <ڬ灪ݠ :rNwas9êlqIc+DoC K =>^AA{Na^ٿ Io腓e-NX/Dώ, M1ZspDS JY[~:KHRcC@{\ #IATgqsg]5Z '=|*uJ;戔Fسa=dLZ4_}8,!F]?DVuo/~ e^}tK~UTTXmD8V+π gթ( Z[4=%~s_.k N|I@==Ln oHI2~d0зL9FݟVNpz<_Ws2ͧS ToixD#\E,!gxdT;ϙJ % J%ḇTVCt[YB-2'FM0WCR /'wɮ^:d',%s ݼ.kc㄄ PnM̀$VV8U>\}T6/'t:kk%D&?\b@&R P, $CUEYu.Ք5qBrV<-(.(2TXގ[JkYô\sa|R:$9Mfd~ &^*2nHWH+{`"5]&pN?oҒ.TxpIfu ߵ[~̖p d3ۊ8*,}z3.z_/ h ݊|.Ckj"g#PdǢ0h m|lIv"Dȃ5A+=|`Y,e ̃ Dhp.UƯϯpia#qH䏋s$ nŶvLSL2'I693=ǐ`" >0v2tZ3=}¼&QxbLjeI1QC rDԂCBhDNqw-5scF[i1mr#.鱝b>H^pm|@/>_g1H|>y &]QX8d\S X- =a%oTC-PgB*"3bEpq5,e-މ>rPnX<#b3LT"$N A:( G)rϗb1t c^tN|NLuOyTQg-V܆!&bU+$_~U7ٝ2}ip$ 3^dwĄOo:IPu1aCc֊36u;Abt8IV'js1\Mf7R _Rz҃l%t#qK}y &Zk-ۖSJ`/>rŶ)x{uN>VՄmܦC5U}0оj#g՜^;[ǝ%ɵpWk/IU'T9s|0Sm>$?/?ÀzAI⵲ !fO@%Wd@(0kvzjV̀v%!+P1* 'uixHΝY2XQDMؐMugfGTgAϖKڇ!xN=K@NbPۨty^pZY4tNqD!aUNO,_Axr )tݼ[?Q,ޚ1XS*.`+4[7쿧PFU" ֧sZ4L6mBP`'(ԐlZ?e+"qEc-AC:C`,<%k6ۻE|2#?0!ߏIH5shfWM8wGzֺ~8v, bO_6 qn!X=zrR 2Ay*2MN6aU jdZ;0Q$lњ]oL+(DAcDZ(C'ꅗm8 lcqa6: .F!}^ KFdoY98;@gc`wZg`lG@k$S׎ͳ^E5&,FOiԫio 5:Nvx}jD%Nt9\ E"֡2ͳ͏UCwmV.biYw#ug&=fx{~)ԎEu2mݒ 9PO;OJAK GB0-[ HxV+H*U:BqI,t!)ӄФ}UfDG;/ՄlyhJѣnUJQP:"`<傝}!oW$Fryc_|qr7|1.JjsDCeldT8I!yǚmjw[,AGecatr&OE$i-6µ .<8-=tjb6Km *j4Kgbj?kp`U') ׵/67)?+VJ5ػOGEZ}mmj 3MbAByyvTQ (jt-lAF;>ldOK5Ό*>qot xG%@򗯈$,GºZ9Ag*%B<'TpbS7] n"/R)JEP8q4ma!>JpYaÑt;𳦨ٸ{ Zel /߂?*Di=}B]j\sw=QN +N;or@ë́Xaqq̭-S 5z6Ԕ }g<Fhzo#l|K|ϻ.66[,T%img<ih-egͬߞʼ\Ĩ6;a󆁃xyY}i~%KؒkAH %ExO7ZſhjA)a"B5 |Չ/ jwpjL |}W_(kr(y . iZKu%Χ@rcfΌe2E<'0n=[3yQGV *[dV 5o`~Zs0Ldd*Y,~35ė# phjmQN1ӢOP^^[W MwlWҪHeh kw0D@R ?=>U'Z_l_fvZnsN{`n=17aAVbW{ozrgn&NEtk%ka~^h `ܗeP*e˖cVAxZXݝ&YV  XYsaUf!Ik^} m%C' ㋑ƻ+_mf})KXv6*󥆇l3sp2R#ZJm8/|}F&;̒Ȝăs&ȁ7B~-#<4!ߨDTf7L|v eE4XR bN[˲uP7HZ?aSj״*CPuw~5ZTjt){܏h&eP/t}~'E'ApE!F:䕑/D9t#F'tkPySJbE6AqqfCzIt7~ty/P!1[iwzO)1b]c<Yvֺᚘ;XV6Ac#]-ZpᪧYz0RrEщ)*)tiˈVNhaTzh3je{p5hDu|kH;do-fukh'Kcx)H:44!iTȆ d]婧8(y_3;NglDgkL;uZYfbuwD, L0xg @\BE@Ɵ)(z=_Zr[)T@Kr7Wɂ)b/p9Ncmx?(2rEcWkA+2&VfI?Q>5CLOHDHThlq$_yd6}(M; :$sbRW$:53?2#葵 >"|)H+mѵKh|lO~Benod&IӰ\"NpVF˙T76cEJz+¼g7HLjT?GO(k?Ac~ !vT1B L5 y;Y -ٛ<$NGhۥ֧Ǜ v!ӗ[~W6%D ՜¢TxVS&SeEV@,7䆈G)oWzZ{LEhL*sx5=l j|Ws5?O\v̷ _d4&ڨGwD= $>@-P|u㰤uJߛ2`|xɗ9يIMd-A`#Tq`Q9y]|Z`*w%<\1׊HVCbG`dT??3'SZ|$.M}2%A6I/[IP\-,A`)t?gǦ㤣(;023Z:\ l{HrGL:NG u}./hAНݑkPʨ8%uvP@vXԫixK7Jn{^]C hfmoΣzQ 3[J 9&ǿցu߅z֑={g>~hmH55y}\:;g|I0+ʴi\tߵ.Θz&^x `3 T 4Dǹb\h e17\t}d;Kr-HZluA)ۓ)@*Fr,@}(j]{>Gˁ[#I- lrx2<_op<֥ WAVJ,y1d< Q]B1Z2OmP"g%.ic-dv}z8d T l 5 )/\Z;jQ P:ɇPJ3w>8_mtsYd qXL [7Ĵ`ХcaDfׇx_W^uOidzI>S@o$V<9ψ3r O% 7릦6v8,THȜJ rWXogĚEwy3xжC sڏ[(곴36? Ն\B?ud'2>QjfoKgu/QO]P.Mo(+J(}FǺ*f%Ho!:M=K G{Q3|C{Ҿ)bM$':X/UNa4x$>N Oty *^K9bupBa±|5*՞3`b1יe\`l%<Rp?h`'6as.T *QjĨbe%n(!nKmp K1U%%px(G= abΦQ*k3ȱȢ 7qB4ur^M~õШb[k~?m:>v논+BJe;|p/Я"?.Wk~wZDs4D|:hXYbUFY 1ބ1gLVmRxnfRŅRAJd햦-&I`dA3ߏWm?O,Ty4.bm6,Y{@PG!̈́Xs9Uѽ?%-zQ+Tu㜕W$0t"v|g|BD 1ߞSOwLӏ:Uh8JJ켑H$%> 6_]y r=Lm_(3m2rD1r"qB_Lyޭ'-tesq ::)m1sfSZMySKx܉afGy>ʂ2zG0Fqj2&Qswh0 S`f׼R(qŋ͙]lfk"w[zE^NϏ V+ hkͳVäV83ܬSZBG;$/v6?1ξ?}wl|!lVdytnU,QEΓ.ǬKB9>Rsp|ڔ]ʹ%g J%$Q &jL6`”w TD,jYzxȁ*9Ϫ2xCe@~yl|Ԙz,] K3w3!O1!X %#k6j; tGFR0(Qọ} .3[?:kɌQG[8@99xKEesI53ܥ޹Jan\bD7lg._wVwn&?K8L/m7,z䪍DM#pmSMK=SxA%YܦOg FkU-SPjqچ]Q耵e.je4Z9v^? ,rC7kILT7nDr͙(1bKąd'aHH]躌}FEP^)/q^}uK^aKzs~9&[Ҵ#1da!Nb]jKT(͉D}1;*:?9ϰӷDq2(#vbRMa#jRoai HE[ Am^5T /OiM~)0Zl/>8$T4(zr*<EDq,6&$I7!CT4+TϟW?at\[&͙Dv 8lLcFjg+JMn+$;3qv䁻0"uvb2Owe#1+^W^҆@}j];,}xVA Bhp_iΒ7NOAxib襑w[6'PqK uL= *x\{3jpgI QztS@rͩYwnZQے Z>7#[v$Z3Ǟ {^ȯXyes/5#:)3N0 @B/tt~*NjO m8c! F_V0d CUfL9DxT"&HLΥI [y~4"͈0n93&I7΃r/P u*ʨHMˆ \9]ΆK2R 9;+R EuB=E607u y"“_=G5#˂8tuwӮG ;]iYj 8Y+^) 8A]ܬT#tZHءB4~X:2nb6u- "LM_Gixv m0S3ﭜmkN'Tk>'a}5fZ &d(JHN`P1b1Di{nإc'2H/)YYrD"}^"jΓPt,q1b9T~U=;T$|sf<mu" ݝ.OL[vjچ/wn3ߎ)gdX.ɿ>u @ѣ9&W5B=:0%BS .ЪQS:PC;xCμg-H ^htEă# E=lۑ0yR y@ vOe6ťŸ,^<gZqL]r<3˚$2)/2&ZyS@ pb6 @M"l~үz[͒nG3Y6g6}"'U:S3=>h dK UwWC5#YuТEWm}át4Q1 ?%"< GZ~#3B]ԭvH]?O~C^tU04"PwEa_ 3ya`='qH]9ӭL,7VXVXp ɔT@:5wfz{.`,N|*)Gt?ӐI _5%l4'""WjP5A- hS1ﵲQ.3 ݸ2S HEpo%tJVΘ&Lvuӱ8u,|ZI=ܩZt>yA&C2@sw~T€~ta3|Aus}Bl"9g ]E\ކ%ϧjVt.em7P6%<,RG flN:&J \54&- j.%ލͱhEPR_ Z! Ӄ5az*UXgdxŬ V:S{<ZBѼfyKΝƆ3Fbf LѠ(2Uv xfu YV6'̄ҁ&*97ho!{:I0X9(71[adIev#c'/ε6P P[fxF@URwzy`㯧L9*m t9`wdn8TmhLL1('Ppv]=!v5TStB.K"ғE?Zj$Rtj k yjhz8PE8)/NB`. HP!Xo;FR񽖩hӧ 1 Oa$A@9ng;ꬪY|+Ƌ(p =Wj(>ȴ= auQ4=n~zRrۗnB):6|.n*v6؂"ԲfZ';|7{{ ,&92zWzdzIr}˸hyqu^(Ce w;wMmVuhzpSУ!XǶy;l9FD\$x!< 47mD|אCKoS"|3Lh`otԄwv_@ͳ֙*£k'k3ڜhIⱒ\Yk;RB>~5t:U|310p{Yԯ{㦯9Κ^JCP,2 6ȣ`ɸ$j_bG%p&1p-z0bR!=^9׉ۀf?[# G2D3MA"(%.Ӫhoا?ؐ{Sy:ysq{^h}^W_w}rFyc-b/8N!9qr ]ݮab֧6ceCD-cU׷feYvݻM JcO(6I X,a>Zj4H.Ϊ/CFIF~b88"^ogL軓a_.%(4x37 hk>8(*J jW8S<ă4w;m4Mpb&N 8܍pWIQ=Ӹ.>ZhSf)܍ k,B^9T&!g ,YƫH 0ϳ-~Մ7EƔ"ϧͭ$'BÍ愉W^"ՙc1ݝ6T"NZU&prFju]_hx,^U9v!V']{¬dgPc^jԁ_ @ 2F`fG,$ˬ8^K!*8I)Y3Y+:6|((*5BG!az+p`N%oidձ:x?l.eMj Ǒl:.V{fe\!Ea7ր˺#RVz[GOcJB#,fﴲ*iZ7ֹ28NcaStvfQRZʡbw}uSJS(m VtXdKkjekc.“2>Tq킱$F"3mT/_l}|J]YLcipG4=lĹnC+%URy{M OHɭHx] az{oCIjnbYGto3 ܧ;mjbrS E"ыy]zF LQ!ڴ fy#L(4argNR7w[X.c^*"1/:L1yC#UƦ!FU2avWtT쒪J*ʤAKΖ ?gvت/B=%a ːͥKw52za@2]|<4$.lp“Foc{mAN ".cM fW$>/s9RDEqO$}o oi$` yMwڙ8+nჳ<(4_!˪8uO'Rz['*uȉ/nn}'SHBv$Lwf%tД(L;Ʊ(es}+ٲ;PqtrS4?zdz\8:_Y,)) |`?Ǎ08].BrF܋')9X:>Mu;3Pg!ɲXq;+ H w34Zx׎y}mg T8ѳ0̎ =x@J ]2UPPh(bL^j`(}VJ,¯5BO[T=QeFWzjatb7>f$l ir[ؙM81ѩ3cꌅɽoNJ#&XN+ iOtXRcL|Q! r寫d;1iq+:kh^怒_j<9y`njWjW[3xU:ٹMQi.ʼnA^63͒?CGGwbTrSeHWp'p.@gtX UҠ0AґnFA]lAn;ϖj !\oyadA0hMmG' š^FN)Ǭ5s@ wF syjAÊ]7ՙndP^ɐWw&-%3A(}j*N\kJh_5w7F 7VolrbMnJNٖ$qrU7 ŞʎQq\&T57%ůco s.7g)ESX 02ZJ|iyPb%9aT_4%>Me M Բ*y2@UI1B!ܚ4M᚟B‡2Af| +WOaC %4Zb?dƅ%TVV+y`TK1zFƼBjpFЯTGI6hGs?3,XA; _!&ƉbZK}$_<&ܐsIJRHP@@{ 2!+X( Vdi(_էQSt{З)5MRPd ?o'|({IՇq}͚="OP &:Lw ǀ停^,`KJrZ:&F\;PQ40L16m*pЯ)/LOjhSڑD%f9I0 +[BLhuo6zPZ k PE3vK24ouO1 Yꁻ57zC㣮g')0f X (Ks-S^?j^odk DiFۇ]omkãP>NNFGp1`NU &+ME$?T&_M)9:=' Vr) i]h6]xV+\tw>T"#pФc\V+$J` 8+"7N23kЀV%@ C:r jEɧq>^J=6jH1<kM~-B)?yY+64gwF3O& c[k2,Y_?Ckh/!l:7f67χ[y]3%pO+2%ߏm$WMF:Eu9U)@& ;/~l^Y/~==?zձm, m\sfNZn( X fLꦄRӜ&NmzbM hm#{sb?֢ Hr7m9gs+.!>~B9VzT٬ڤ2aJ`!DL1NO 0 ?m+>Bēܰp_2LŎbt&99؋,D뵋?b qC#^.': 9:JBllJ/R7*B0)cU~l/k-fCzJ9ԨZTktZxlq"g|sb :C5Hq桶ɲ~ްƸ$ܹmkz=H$pDrh Y%5 )x$,-7wtcS)Bv/l j_gcQIBL#© 9@*)(+͊ػ#h':3 `ŊtVdM-]ZUK(4ɹ.C>߹b^*EKͯ^ ݽ_D.4e=u9'{(Pk-%g,Ztebx 6ȫGj~EsgN} RzTV4f^pô\.гEHB=[vBȧdf|Y(g8LE3\riK|mx"BNx5cm sWsvR_0vPh975l".sVqb>r |+VH,`\KrXo&8V;ze/(pM75Ue$j*GYQ0M̷ƿ[ } 0:Rub&&@$Zrv9+rtoK`L1-+K!+Oԏ kp`4Yo' rtD/R<nK:V).}QggvFwg uyL~%:ʂu̎L|2;y'F]P(y =2>ٌyg(7v7$}s{6Nh`0+ h2ؤc"*@O&mSQ>yx"ځ=SMI׎jonX)6<Cz{,qܲѯ0J@+:F;PY`@Ǘ!Nh/H.΃HINI4($a:_jNjp:r^W)lHcrCWf;ŷQvԕ 6CBzsx HN[ʇ˲JXF֭O]zÙ6Cp?62 Rݙ=Ɓϻ62%M>|qv/e$Bٶ\`O pm>iÓ'k/+!o0&-.a(nܶS.(Ss6TAD}"go`p3 5WK_f=嬁I\G0oʻP:iQn.m i–jPt 8م:)9ߥN3}X’ W`cpea ^ƏTT R"]V2>f#IN5ړE?lP|j=-dhm. |1[dT Ept-Am&v `J^4fXݸPeNfe"0`bYeR%^%aٻe3Kbv9\Wj"KH+ yZ fuUOY`KA"{zqyM,E1Tqys#d8B-C̶ybpT0בAyۗpT%iM[ `aF8s l }.D'X}~;pgr.&2s+0%Bho1[Xy5S8q+2QY)u/֘sy &v]?Ar:OF!zCG63,6yP"015Iaڞ \uUNTj_ic{FبQp}YbL̄B-)[:: mX gNz04tUr, ~H":v!Z/P0ǖQqby +f〿Jd4ӌ=>WӔb5WGeH}ЪػܴD㋌j&Pul:aC~ӻ'}V=(a't\ML(60V@ҽNqDJly}M+JB###j*>?=e!<4ChZ@=X,ntZF0)nb,0rs`M}5H$peĉ킦rF :iŞK]72iV!hTFnQFs̯aҽjDa!z â#%\#3%a X>7Y~2cpYƏEmM/e'#Xqwՙ4\fz ?ruj(Zny^yHQB) Wl@Pg[WM[' 5~{3PǨ|~'%*⺛!4NK08JP:l<޴ mVjn!~XwHr_Ȯؒ%{) `.͏c99]"? jO{jmKoQ&&^9ۙrQ !+OQ]Tν { lMl$ /dnbM.KAں˟(5VfljCt!QacF5 OK_GBp(УO>a4u\\rhi{sSX :b6A`a.~C4,5 ڟ}피H[<]5mV2Lb]ϩ\ꭐhrd"oAL~rhppMڅ9h/?!<˿=\ p$斉>'J0v0JYٯ.$` fSjob K2&xfvb4̫ 32 OzWWX95BY'=Rg6EJqA Zkt9)VTQ~ϙ1ҫq, xeQTrLLw}XeRZw5-XK?oB7ߏ&s%ZcsxNPTh+>1i,Μ%薋P-۳YXtV ω24i]> 3~-{<Bf_]n&DI\l{?˿ 7;o/]_ڍo/%S!EFpJo8/ܢ7juq&N5gb-z?DHGݒ_2y|EN #`8/̾c/"ºmm+ͽMMv'y#c 򼕸'e]H8 5$r9ex CiR@9ifPhS(!jϫ k|MPB==']8!K@Ih5)M:@\0$lV |3ɺj?FqK1~|N xG% TvQ < .!9vn,/@ۀG[ ث5 ̓}͢7:60n'n]&!{A}|ioa! .빾[TQ攟;Tc-ῌՀ%r̍njQ,=TNS.I ? @7m$m}ލH F%DgH}_%c;.$ntgMt5 ?oŻgЂ}kK%{nFZ R$x]F)E~|(Zo\1oF}\> ݯpՁV)txெpفe9)a?uLn:XMst\~V17Q csn'85nRv $qrZ/f\s[C[zMx׹1c ~27O"=s UZ!F("^٤rg#4glC;A݋K|] &]ӼD%F3w*?NK)8۞6z['q;}˹77A[Y.tVN5}3F_;s^ń5*G:?u>@؇@:=)+PW{A=ho,M>2kWiE~^$wyHD8օ:. й`֙b7R8SXQnMk* yr[AIew\A@ # 5+A$J?5&ssy>8HO轢R҃|8\ W%1lϿ.+Sdf5bۙT+[zQQ;,_<3~.%@{g~y(iؗR(&nKrOg@(]6MH\Sz3/Ar&cc 8kȇplϨJ 4D·FG/TQG*n q練]CF**tRoswyN '_+.K.W|c[s9P% ^d2oZdnq_$= ֥9ebS~-x-C*x;(5ÙoX 7hj?׭}FWEvez, VO@S׭#4b wJV40unp䐠 *A9l)liCv~zmO":b=Z{CrK{36hlY~YR0+rAE]>t}hͤP3_BxjzԃdL*TL8.5 sJ_uY8R Z<Ȱ|Dk /;1čW^Ӳ+H챩 %I&r lc4ۀwXmͫ1qӵ@=Pw롐O:X݂*p*"ׄX`4Krb*M0SNfJޓxP_QYSƳҥ9x/Kj'}<3sKr͘d^u^ƚyʁ)F37't-Wǰpj 5=tk |*!@G !Iqudm=;,(NSҷ%p|{  |\cdY{SVpNb!z^OZ~o_3٣&٪AIj s8)!4mRT 4;5dcI^\,8jUA`dG)ۓsPفNp”GEֵyѵ@<D[F!RMmG>q30?EpNoHdQG:60jnږիRyŠrʲiN=b}gf)K9~YU M:V-)p^P&S33wefgc#:R󅤹 i!MLqZ Gi7\K^~?J(3y e _djZiQ7_/ohAs8zGj4Fj™Rj:_Y#CjqRO%TT)@BCxUP˚4Մ%e.=$zbzL"mdU_~L`?QSbF|x>N8&MXPCteRQ &N:WNKaZ)-,aN~6 9gJ.KQ$&DӘ!F4v]a+Hh U݊h*ob 2]~#U+3!bS^t4(}滇:K-QdGc8e{< 4$įtR}Z0ܾ;]\nf>;F!(ŌpvAcUtd^m'l η_!,SB(]ᘏʯhV]qW[]D'M.jy,BJFpАMM?^zP0-̅Gqy68sP#F5Ѷou[PJYVn,mF<vJdnQLzJMy;}awmKq3(=EaR8QgL]搴9?sU\_rcRjefHe3x=yRdG'Bw }^B)p8,i@ *L_ْwAY 9jT᯶'_0>X4 ?bQ`Z:1o{t,z d)S rt7)O(amC*SM縑wet#=GEa~Eςhf|6IyEF6 TL+|ә *|N. g4JK۷6̈S XђGڐV4Zd>5s65NRu|t3'j$,p\+1Hz`~PӧԞyK?xܻnXqJ) 9 Ӑ [N 3mny& P Am<A_ A%땊9{OfʺP#Mߕ}/v2ms EnIb"'kY5S9E=xz /Hpϡ{dgdvІ:/CLnCiJEab*:"AKS'#ch㉮P4lH|3NXƙGKrOu/DgU A1:b{mվ?`eiI4\u[ ] @H$ߵfH>~3!LVA("`M+֜QIWkrǒ8J~M$?(k38$4_NQ`I^7=wN:Ka6.-S^ٯ&%x۹tj"hGƦ dntg0#:l |TL ) }Qm@R_ qoI ,%t2PTmL1}OH߉.FN7LE^F͛X4`ڎݽ:\V<:TKeZ6[ g;hJ쁃|C#uegQWy*2 0>?& 2?E0IЅ(4j-Y`ux4}ݐ 8"Q`Մ':}й I`Mݗ-vҤspr¢p$T^:# +5W3Sd&S|rB:J]|5]sC,;6 U8H ]NJ1'}2DRY|EpNl.Bs%qw%Orsc1GeLԌ{b(+&Iiom/i`ӏKmqt5={d_#]8/&pK>*:M:KBH+FXu 7SB#qksBiClHx'r/~l_ҩ1!FT^N]7NxU9L3XKmoo FKj.T2/25B6!+_&0׈gz䃰гB\.˓])*M*XÛsuAe@c(;IAc] .LKtq-޽X喨:㎰Ż(cmGq%[-LW4884lWHCo+]悵q/2FA@BJib9չ(SA-zL/.64U aGe6 ܩ;`vq}e!Vw> ׻!N:`qO; %cr$ӬY W̟NSz\grVΆݑv3nJƮTruqA&ء=Nk%@'E d2K@WT|hIhU {<iS URBSZuiX^yۃIOфT)~xxsX韻]'SF$eIcI--reEp|!54َjA)6XwǬv8/YT~45äS2B_h個=܅8@6CuRf5._ '~Uuaپvho2hd7 b9YFa|2 ߃;),ϣNtF[:UEt)aqx>_9$#QZkc&Y$ɭ郞 o,X1|=xe8ʆOLP74\(E~ }sm4C?Q_)ŕ3XJIeA  wL3?%xCf ԖOH)ؼ[Ͽ2ctޢc,^ndgNFu4bs󉦬b Oj| _l}Bam[5?Mτި a=D݀@6imPhui$u2^iܨRw'v!&|9%?6fAφ2B;hP?,%iw[$q\;xs.*w /7e +ĸ,('@A!G4{[Ќ? 8VZ8>z !RD-%]{ILcJG3͛jw)1kYZuN@A$7 [W18HEgSZ͹ᴘ0DSF`4!$+ !JɒYo p'y>‹Xn*%RESGr !X~!'7it F(pOmk v;owI9E ߣOH?d(]R@ DKBM*V]߸*1 䎗ʵ$ٿ_eF:[9{gDž2 K@[+1{@TJɒAj6/;~ }[C,$L̳#G n ifr$_<N2+8qK} P)"9[vb?*?q*]3_$Z;$q,b[GuT~&!"ůN>ߥ؎?U,T^xS\g;Hˁ 9or0اHJUIˠn*j-R`dޙr):).<}׵.HwhX& Ndk#wQA_alw[y2Qp#9wM4b8*Q@L/M '{´ v;W߻v?<" (<CED$8^C>gH7$%#Ae9=9WZ(O喤AT-L'z>3Qe<\#PYNÌeŊ ?&~R `*n 2\:fnGlg(,jL"1]4g5O$`Y,%LcL[W6 AXa-XP7}r,3UӧlO‡gB'`Jjlٺ/$YkY"o4rxEq:fX@I?UX[d0ϵ^:WvŚ$i^"C9p1J'1 Ŏ4/7 q! ~%% FqݯMB98&d#G liJ4i1o=ޅ+V&:'_Hl@ZNX1p>.3ep#4X QMgߊ_whYe/ (,|4c7䊱XWt~WXS ┴J>XU7fvAL <Li|18#$݀`;WѺPJS}٦n4{\x\um@y@Hj HܼVGx3 va'R8tTdriȜD4YВHshhU\ v8F< =(3'VYUx1,`A>X#Lp`Y5Fɡ!>j: YC3<5f5׸=U"EJ?a9@B(uM[)Z[u^fWPR-M-ݚA|sӦSTY-y,~GgguCN|~?/b _?SXwY}'b#fm(Pc,xdyVH?ן5ÐC]}rP)_vlC\ &SG60[;U`m䶭m:rw>R,Dq)!MlVmVbz_qr~f>!.K]d!~`=!z~Jc voޭ]X[7!%mb.@,[ٟ0 UQlo[?GǞ,îYg8(t4;GwW>A蓏'ӎmH9RYCˆ:A!Hv7yy#a~t38v>d ^\ D ?7F>19pҨKm™*x7o(f0*tǑ"v]\~9 Nu"}1迠% M˵~R׍g\'HfJ }rR3lPlwuϢaYI_k%ʥ#|sWwI[N]׃T\WBaf-]S%Vo+_nQ.hٓ<וF^;'0tƉmPZ va*;zY31oG6,NiGj[Szs:B3G KXJݯGgʂW).%r>S7l_,*qhGo EP$os>7u7xi] ov{$Ļ(cx㝯zܒkϞzPחYPS39byҭ~&)X ST,xbU_0:% m^ȥKmW܁$ ȶ_Z'OM{XߋegkRPpb6%fs(:'J~[/UjFK9l(*^}apZNW;ܩ PNJ.r2[/$S!:ކq%BcB8( ]ʧ|sT@MXAP6o ԊS<* BPޯO%}]`¿HhUv[ԅxdZR<ܸ8ۤ"WuРXP'>ZC'K`GV6VN}] 1^ QC-Iz"c}>~qjg : `6ܵT  5Lҭyd4V},Dh3]i'{}~B;=𑈙ƃnYG h6Տ{"֞4-ILbؔ{~T-,C8"WapPdob~kV9BzƧ;5fNKk*2oKb1"k5ex3Y*ļ ?zj`U6S*2A Kw]GnU|PNhHǀo/q?J|bl3 KW q نڨ(YA'{]P9oug&D+ ~"9]ևOdFߌ+yM&. R_J)d9`lcM5 pvB.& ODP8<%aQna?xKʾ?b PB@j~"n'ISTTeP4dꕿ&+ѿk4rU kb~(9Em{vtt,H#y'2:3$Pjrsq4@,&^NΫ,Ir<[`>u{/,-đ*3%ӭ$ )ɾGoR0[5ΕZP!_`K>F律ϋou0jѥK UdhS3Pd+!( }LVV_ {N^gGMR:RD. 0~~MqXwH(%MO{]8н8_%1gPѿeT|cpOŮ1j5\gʈgz-WDOedMکp/A_q<‚"I 16oRTN mP (h`)ؓhVB~.Q^Ws-~MQ 0p>>mDbw$ɩWtAyCǦ#[eYA!:&ۙVkb{ n;V+v==~I(s޴ e뫤9:iR-pXW#6}z&W ^ >]&xЊwC) ֔R_%榮 cs\pBW Ny"'R6"p/+@yCFv w̽A}#U=ټ0hj\cT|p{Z륉^UG[ Ƹ$2< |l hC |Oi @:q2Edi[5[erb@I7nɉ\&U+ jGGbNj{ 0`Ewga% 5nA兤?u{;vk/7&UnJX5vkK eH\g@~})g2|%^x3˹kaU`$=kf)v3S 8F)m=a{E55wUlڮƔtVVظa%8_;82{hA;ʰ}׼NTmDE[ZPd&f% ] WsfBnJv\l3 t"`Xh^!#'_x3;u+1HV@T0FeH l͐-hEn%GxP/)c_QHJof`B4"ɶTg`jWm9=_ֻ o뚂 ~QP+g%U_hk[1? +!/ysWE G.%% Psph_8!s[W2 զkN. 7K9[\ 2I c5gL'o( 4/dr+QJy諸6z,4ƨ,2PWF0>{hm4 s*~1M^̡g"7\R 3ΤQCfK& &lkʶsʛ'.sjk{5d ڥ)- ͒!=/vK A\QOin/os&ε{|j"]}S #C?w>쁕4䴋 hLo‰=QV9yyLUŬTC>+k\x'6=C3aU4!.珽+\Yq)ǣ4*.#WW"-2Pq%(B*6k`4nG:BjůEM6ϠW΍+*8wi=誽:3pfA4(MGgs~SDGP/Ic?uqTٵ@/\gP]S_kp0 mmyîk#?kEE3xBڇ 3ÛII4>ScSVhՁf gBx c]|TqUb a(`Ov́P{dyT,#)CLTQm׻ټgNi;ɶOx M>u&pTV{AEzo3USD|Q5<ܾĥ~ MZ#7 UθBm {\|^bqq^'1[zM8Dpnm҃Ɛc/reAƎSGAdq4\$G#j{?cܑ;fBE녒 D muS H,F8 R/Amm"KFZL)La)Nг&eaD!헉JR8=ͫ;yLZ?ngnbX3sZ n;K]pAi|N$j, ˩|9&[##80S2wT}3wSB7_*o2$x=ͻ-IdC#_s& }lwBz I Eؓ@>Hb{#fM@|aOQQQUart^(@pve5vij Ƭ;\. (f8l3|8^0Źx %DPvӺ}⪽@C7fZҩݍ eeXx\8߹)pkƥߔeWvύ$d}H9a }8O߇٧YׄPTXG6QMT6':Lė{ZpU{z^C"NDubLW."pĉ~! 7M[βy<Rlg¯-0JF YAHT%,D SmƦlUy5j7 D-ED0K RbEue@c͸0drOw-7Վhtp0~I l C$V~!P;]ډưY)𯅇#,f0(sT0[ -@jbJIvx鯻o5'wj֝N䓷hdg>_֦4@6ZtwߣQYGps\9|*ʶקT953$Ram*kK+t}[|`@Ncy^U5_Pﮒ)m }gb_WԐ~Ҟdl:QJL^iJױ%ߝξ3C}RT?x/eAucOصQIsBc~+u 犖bZ)L xGWIck= T%e0k;W+;ion,k 1I{1EBn7;gQ9Q~VAg|9l9nn'!yEkt~C\+h6ȰQMLppW tp-Q.xKy:iTeu!/پƤqSp >uhdz ɝ沀r6^LW\iu.aZ 4lc/ф\5čD[bR[fM֥3LovJf|[[W/* s?a0uɌx֬s 1\1;bv{ӓUL4|?A:npC\7o9Nq DOrMϸWHY!zTv"Dv" y|!'m2>H(QQx3,XU!՜{RNwj}`ڂp!à $.w^"]$Gf7$V-uz2&< ^9 ?X0'ZFbbieۜ)Vx:~=T-:Gp4_^ RC%Ka,!CZ}DQ)%bD7LHa e:f^!UO*yֆ#Io#|ximlAtNfq[D.9 P:Up[ +CvU-VsjNNϫǼNQ;:g&G&Z/w8%Jج$P}> ^o_g挻;l`7QbvҸLI?ECpæzmMDjJP]~ci;Dдٵ03|R`8":'H,TI Dlo=,c{&"p{Gp;5 ?eY.gzL :@ iI)o$U,WCvOob|ܒƍL*5jyHp^{#$9\}Jn]{EWu>Ù+꼌ϒB@et.' MD)&jo>{yYx"h?vl`,W%8 2G+z?N0 }~@;X{u7qB@ob(fc^4"| |11%bB`.Pz:{KLd|)$8@h֦E )kfO|5ɍy,a_ !q[M;K JJ$vҙyݺGK/*F{v4-Xfŭt);G&{|xL3|9EaOp Îkb]K+\Ɩ[il["'_T_1AHL~K>٤yPw D|'HW~cHwf~$r`]n2wVUFN/^"{;8|<4x'x3 έ '3B-BhРX%Z̟:\jdgLg+h?mϿ46dbmJ\_2)%3ӰdL27_B%X"gK4\{Jw"`zwy ' j$HtLyX>YŢ-4.MSgi! EȫDjB=޲S2@KSGL:.1ݑ\'Fmk;˨XTNkQЀ+17aEiߚTdux/žsu=ѪhݍNE:sy2`X@՘qނqgiOn1,N7ω K-{maW_s]ppc(UB㯡.e|ʵ/& Ibj 2sI{q=c^v_5اe<ىV;2.D0c\ɨm|1y:&5f@M7}=G^۝_ImJ̔굫'U< ;%nf9 /1dً&Q. ~`vZS9dR%o%OH1EF'y)Vyg*F!õ\!K.AaƣQGmeI|; ?d0\sԼ`V  .hkDi3_tVUY)ڿ6g+H߫r,'4ݠ)"s?&G֜ɈBTٙ؞N)h3DLY=\q:fYp ١nҮdgF0Q"'ਾ=JWܩOUVw3hohg΅5rn:p]4VBf<)aLr͒k dh;Vz Ĥ{dG+V 3#,?sB4iu H@s!:J.6Gh 7Xx&ϝp^)ʏ l\\t_}7,A"ڹeޚ JPg  ^ .+0cȢ?>6/Vu+`ΘPbВBYԲXRO)v&mׇq9"P#1(f_F#8Wyػ]"KQ ς yB@Z@]?3uo7$Ga^:uN}dIU[@;&[#c }<]U-Ս pbCE-CgwB^=F %"TCVHgb JXj蠏%|!KuM>AbS9# A ]_mlIP@mT zҐ'[m]PH"E-\|z :!esU`"?HRMKh"׳ ܦ *{HJ y4oA 8_stI2t1`@=UKue ě:+J%LO?f3)lx;/2nk×UYHEP#%0o!aީȥBl?.$ni`Cΰ@כ4ϵbZ(4' .WeZQqI爏mt{pnh"4wI-2{u˗>\'be&]4}˃DX>k>4 Е\tr6vf;!^ G-rS_9u,PqOtck%(UǞz.a0@Ɛ&'w6}VCg[" uJq3sgaC=u:Dza[k  {0~,C]0'2Sp]ZdӎmZr2,FAm|Z4+|8UnT^W% gj wo"i9KѮG7-?TTS&|2J!&~݌wM\$v7҇ᥒ6Uap%8m魁Q$%+lGŲx10Vܝ<."zr|^, 9N1+&8Hy霶D-I^3<u{;J1ݽ6tN6zP\O`9GIFABa}#O5l |-/}J;$Ӛ8Y.Ha.wPGE΂O=Q5^dJA`6b~+Dbf|-Sdo DT@sߊ+6dncx:_j|劼P[gk3ٻNwLRBfV*˩?nJ~aboTLwtTK>;m#@%~j:19l%1ɒo;T̑lvF:$lYh٤@aM;-\)ԲY6!Laѓ>rabf[5w5U*e>nV=kNٰ9r1GXS9Mә !LF\>A܈qmdT񨺞b% (&.t^2HOoEFvra"WuAצc=h "Xf),"Ny8NHf_JLfe |߈E3 ByG$?0ZKPyslKC ZaΚ)U*-!x>ظ&~.k =d;**O+ܥz^툑༑kHq#N̋^%k(SNܡL7:xdd6֊EC:|dqvM5_ .nᨿH"|S) KHl}W͚FGvHe on>kV4LgTQ4Yf#V*RXWj `rEЗ+mf< /T{h騆8ug =Өb'KRjuSn_Id`Zۍ<]palY@*05;dPaO3&Ov,{=F#14)c (&q|wŮS>LSzGɽ-AmnM|u {wߋU=B9'*-x .qqzV5 f01=gP2l`)9]ƪ2ӏ !p&~ogÄ$<9cVd[>M@GTF%PJK@'Zt.a:7WYR~>0:D9/[J5!5|w zd4)խxDڄ|9{hJi}#|].|/hjPnw%E,$TƱg 8 ,gm%ЬsB)-U/1I(:1} Iт]Nd sѣPMj-lDb͆Na;%'vF(řf p"\OFCۥiuCGp曤!2.$s62@ TWc06vʔmq<]1,o ?VcZo2#D<2`f?Pc;2Ϥe=84Љyv戁 ,zŒ|,s d1b o~lݞ l] $֘4(bO}JGNXE-t.mCUU)ąqq̺Ju((k QfuQӡ ANHRc]9 %uf鞎 TVdO.ļQ6A ,\~eꢀb(`R͢YNG= ux-Zг E6&WL5sz:XNZu|N%3))Wk\]2k$$$Q5W-V{ʹ:#1k!̦ΊB28t0@40T&S6ʙ4v xDZH7CP3XE?ힹ1R=݉s Q󂋶{:_ S^ ''FO$92W\ӊ B2ů˳& ;};aeZsf-zru0T7q83pЀTߣXiS;l&T쟢-3\Tjrd!֗5pf"";3*l{b wrEagQHq((u(UР$8?5H$0ʬ~@HA/\ fM= n"_^58[ H6+ &Ή-B^&)?Q-TP_*W=Onq_BHdY*@g ۂ\3f4nua1S[G3m:zV#3 rSp~NSL Ż|#P#sqam>_0$U˺iSjBtJڀ kt+ J3}_  Z_Hid;k&~_yFN0p.FsfDf=dw[jO1r&x#.֡ A8=m=fK޵PsHέ۲z܅#Iz:K_;"ꤙyճŽ"h_KU6ڈv}7b1|Si$PbuTVx恸(!&0҃ FpLJd[ dq`":K b c!sP_@>_Ԇ'|䥄~A\T N3`*5B jN_< ]Hq$ ss HK),, &AߒneObw}&S06_Ӈ /A5:7 [$5gUb`v$SU&?4HTrGq~{cR|RֱY+ ?KGv L!ga}=I +n?BE{A]}y5 S[UG X)6YUϨ`C6ݍGݱޓ3Ij:q5w䳾ˌ|fo#Kh8UVb?0q"dGֱRxT68tP6` |ք)!ZE_#"겨O;aLu3M[nq\p4o۬?{b2Nڢ7c፳5T!U Vz3s'np 8Rh(e&QսhP,+RZB5$:2#ToHj ]7T2D`zMXD2CEF'[vRu\h R| B%C]gyKF&jdϡ j?A*=S7lwb>Wj~3 V2l$u*#g; HQ?=cBZI` u{ DV0,0!鵑45N#ι/{p bn8idT9m^ѪJ>~v+-QWH#79<X&0p5g֔|J2>P>0I3\O%*>ܤ41,vwYx_Pìp lU0LhMLJ _+H!Z&u4LByp*8M$wJxXT>%%ٺ5ֆ*X&3U4M$}ڂw&t jc^U0 : ~qhamXV"$U}%mQG(Cl&dv0U SC~kiF+]* 4F/`ʘq]'h5~3dBr0שR=e-",f {Ѥp gwÙ'mq|z/k6^0~DJqwk&2ssʮY I4Dkg!P)efrIq_vI4Y$_@uo'r}ؾJ=ڰ0$s\mZO?R- dw=HY%>"ÐlѺ-"1? 1Aq@{ٯjU} 3]&>om;w1{,z?Ds!=T{:YejܩX*O9͚5 is'oK%%4EA%;>>ը88%pY`o@f@Cy3IgŖt<8tmfӞYtэןUldp.Lm~TR!p8$YZrح3鑂3Q ;j.Ґks8F3r }ݳ?"-BAI 1$,!oUzNjwVH<Ǩ,t% SAK1.zhHD%;4,B') Mż/c^ t*ߌ?I2٫BRY\hFݩHz2vԹo<* Q'0+r]L9W^L d; ֜4<ŌTTJp/㦆mIfyvܹwDO*CO;1?WdqѿmS6zjq^5>7IJ>pEZ!% yL-L7]]nc^"=R%No!,֍.rvgY#ʙY \s;3qqIഠqh߮Wx7߯ɐo+5<"+.tKÚfE: xQ^RsƬws".rFÚQO(x? <2.Z\,4^FpdVp?nQxa{&ԏse>jػ$,)P}JО AT57RLdBȤDk8jh:Rq1UBS'Q!?T5Ǵb*dJd=rOq<=cú̱tAvv(]AGT7D?,kSm^xt>̕@GPҗhn"6r8C>K 7$9%6ʥ́]srTZ~UQsTK~ז@1ЂG]Yө=R,.!P2\fZ}2`rK,}uҌ_o. _a'&Ķ2m~5)]b }xCڗ{].ZC}X&e_L]&[44ЩPY{SuPlhߩpc'amRcσk|A&_4`I+<=g1Fi9{FQ+~ :4=  ~'Im6cv ߼u?R*[wy.MedliP7_ɼaco0(;?/j0xڣڃW :r#UvCv s%>e[11g ,Zv~2bcrlW._wǻy- e5Cx\m#|#lEȔ`\ Y,N1s?YaJtM}56!KNJgRuWugN~Ezs*}]SY8AO.غgL*Ԧ2@J+5vp#;dA"[yyL4J?-iC) 4ߪbmHD1-WUt5qWIHXKMMZ W? s9'UqԐ]q{foG#eEkßF @s3ץD;$ȩ]C,c˪Z)y00 OOP8EtՒoKlCK8mYkв '1)p@ף{]Kʫ SYhb l{ug -7/?!EG0 ilAn*%3r$}!5qd)mQz0`S6RUng-k-Ӆ \FWbU#YW,r1V#]:%ռ>b?Kdٙc5p,CC&Y{ѝ3~%3?\oJ%By)|Gfm HnܳchS6. 3'X=xv4o]o F0_0O/KM'ifWVͼLef䝳&kk^lx"?]\w-.zLΐF|WIS5ڭ:B DEX~78ЏiR#䠕fF笹 VKlZ5WB6̪+9@!v̭i2 Wrfg8Jx^0S}C(xG,9zi3jWOpAkAɟ rkũlͭy?P |JZSG >T4P\\607*?d: "252kFˀbOM ,VS>k8QH"S' '\#:A[q^7>t,Km4B5&a=Wp1pe-dML]dxR]b* /x4 6#]R U>o2v[X⁣ !OG(9G6 ~D@ecaW1:Dֺoa!g;c9.u{ʖ{!n0˶}SG a=զ0wssc8Gt5i$?;INIZ_8XhG*C}. v$a:) 90?/4Ym8CYUb题NU2ud_s P(kyy^bB`m I Q_lw pm K'5H".s!,/I|nϓ*7R%\eBC`5  ԡQ2h YrwWl]T|tCY$Җpe{~JGRE:OM:c0]>_8K<-8(54+}ˎm%2irIVjRzz!F#+!]%f$Fk-S{E{awͭ(ZnJ'>8O[ofO LRr5s^zr?i$b9@Fا hM,x"%Nwz3Ȩ5>OAg_cz#2H~<JPť3 ,üfN[H_BS pN%B>|.FT>RI{(i= D%/? |zBa[Ɠd_I)of '46CV r9UX_j<9:LeWw R[KSo0T[yR|>Vdhq!-i:~i0 鼢m--S'{}tlr~$Ѵyؚ&4 FQ6O.ݺ`f98g<;C0Ať0|}6)Z=p{~&SMC9Lc; $7,>@0汑<fy /Wsu)WM#{6PwZ'^"כIl;}򓇊Bzcsi'&E^\Z$HJXh{I0Pp'WE떄-%*~,(53g?%kz_sj͛r ~m=x"giOcbWg#%`18(6`Up( $#>0]"/>vE~͑_H,SܰT4JԿӬ0\L6jW<+apFP 陝0J#Kv*j 4i2ջ"dɣ?]&,, P4R*Neg+ _D[SN&֓"rKUo'`RU,LcS-5~i,Ci%cb #re؎JI_y҅t<:F4`5.0rYoUs:8 tS} vȟ5E55p0ub;D+"ǖ/\GoDvm^2'ihgB/}u7e,%67|*OwJLPC9`pO+ocgL疦oHwDAg#_QS# r|A)D @AE܄3P>xrq٥4&KB8;"t==LqڳG#ʞs1.ʅvx_DJ ^ʍpl%SvV%y*0Rdnuy3!5Np6Hn{" eQpUx( eF _Ezz(tjPj@_ߪ WćjЬ 4Z)anxxJ2 |0OTB-f) JO]M-Ӭc0-Y<"HwB)R ju~rgEd] /nG=I0 '%(D/Up2_O  5j {ogp,"0pDaA'ύT8YKwJ"c ȩJn?*Qs[RRa/a<|[^t}JD]貆@ەSKw+ᕍ|NTfj6y`1%ofw4% fh`Dlf6I5h{Lnv쒠CEp=^!ndhBmf]~*($/sBz3. 5HL̒S@4Q҅{yHЇi^@f=Ń(Dcg_Iy9+ ]9.& nkkǻ>TL7d롩:ε9פEC} n~v0Ӭ|\&b>a]TTmW>jĵԬKV\P$f:_c!3 ȂڄB?QDZ/^*(lb>XJ5Ǣ\ⶑ]ds/3|:p6 CA<|5*Eu%n8&"Szg RdʥSoS|Ͽ>SC=tA7܄(uMJڟ;hյJRV8?0M:U%YT=9> `SVDն6wGk8c ? ϭ@nRUmdaU0;\B@tH:t!-Ɗ! kh ,jV cI@Γ~LxEExEшx$zsb5dfd~5 V qX^ 4ᢁiFYhgm&;!ׅ$fw 3dpm`fc=\3lf-C ?K?W CQR:#PZM+ z?Qw`\juvO (w*|zM1%8DKߍ &1glZ^pl ADD\sÝE'ў\v@.ɔql:su,y:c6=c{WG^l׏Foq29T6ŽYl59vI4'Lx>ºzA-+9Tj'8+ڮgcCx,YËBOhM?s^uz`NL+aPI[96&IŽ]Jq$V3v]\e1Mm(ӛ+/SpNݼ ;\'< KE#g^(dxkZFdұ,ö}!aBa$RO*{`^k}1?)de жb!R1,Zޜ6pN9!\n'T7fg9GE rةFPMe a$ϛ,xñ!@fTs"9=J΂aNC NenU2P+ɣCyZr9ENA lyI}uGE({ﻓ|}H{r~+8No{ivm $IWWaQ{&a:o>LWZP!4 / l9oП$7c̫ݒN`Hovb1jUb\9wpR//B83ֹ˅0!RCk߼兪eW?.M|tgKJf<)G>[`t!Ѻђ0fv!G!l&i- ȗ,HF{/!@70{60?ˍ?;ؽ+7Aàʸ6wɒ1cd/ X fY5|WLVveK?GRTVO')Q9P՟9Q.;9skoM3p!LփkԿj$J7_ -.7@w+Cv5HDvlFwMD2L\h[|~TEe*+0Ty?' sE׈tN%SG[zeoTY I`EYExJ-L$k'y uwbNURrn)|Y! oJHϞlWu>cht[ME;,{7򞌘q1'awpl(f`=*.n"ޘtǝl Y`N鵲2Rl"oASu}hb8>V$_&ڠe]f#BY(Ȃڵ >vu_jv |AA@V)&\PѹbI9,~i?d]1ia![| oȡk0yǽt\oth>R҃5!I||YCEWv\',<RG8~n* _\bi~F ݧp`VrϫpD2'sK]x@o:NGy#:)FAg>d@w>aT7Ĺt71]fQq}҅N4X6}vi kb:7! b+2ESaA`+O -|,g#Ugqtm,LKN+/vn} )BH!w \+onh'kXf]Nrىŀ e,s2ҽ5*PbCf {>5 P/ݲb  O?W;CF56BYM{MH!Q 2Rn-$oTXM'(\Yѐ6YpQ4&Pkyi=!o33'"c' / ڢfZs`_:>[ 1 I6?lk-ij<'l'Y]:8껑q#[G+evvMS.xsYCz~@ b~Dz-LNG湛|ڛ.N!j .R\d0ZyCJ|zy C"HVf}-%?kf]A3U l@(>Bχrz)ߙ)X ~%^'ĎA ҥG)?DG꿺m_k-$"ZP~$^G 3k_q$G4.D̩Ip K%¹Y2Q}UE"hD§&;o_w@(>iIXtHwctƨ|IӋp.N}jZP`MK>\,W} O'_ IlTQ C`J/%n``nDeʤ:lנ~|6iyp YYXF Gw \:^ ŁphheRh ,6//3ftϸv_i;RQ&& 8MlTCTF!\GF4YmiFu=(mmK ldd]!}n/WBHG!dU埋;_?f\MڏRa!2̏.>k_Kȭ jKCջ;Xc)c"Q߳Uc/HMC'EpU adX%rka7y1<ݙzh7*ڊ3QRY,f^%o"A1򳖲 5tyЊL*\=u " .^{ؔ`7cEfU,uM 4j7ffc16ziDh-zF _W2%!57/MԷ(Ѡn| .K1$TƔNq):o]tJG>݀o-oQҋ0X%BD iN71[3|, fQ}w F2E!UQ]EE8K 0"ZA 0ϰR|HWOț<9;NJ:īezgˈ5yN1XKv{NBm,? ~>%kJLmBV~LklWྻn6XU |v gO';`A#Fbiu JK\}KѤ ;Q9I6 Ⲭس#nh" TOD`ʔǔo5B |k=9sitYadWG XCӑDޢcJlekvdX;][PNnyϿ _74 Xcp` ;%$S7̣T?>Ė]ʝJڈ%C_͵)4?Ճ17CX*d,y:⫍.~i[t򳂁VƋ#V@_2'l;&y4tX&L*xyѥ\7ՊMC}k!lHTD"ix݊8gO Mp&<{^o&*kjF'R38UƜ.e''f^s]=߰4j׼uȝbU,qLfݬƸ>;㣠_J#Fuѽw0aբx:=%F%)t>_DWi 2[OnP޾{Qs;8kf!` h#%׎nz:CRYfJ6k0eQΎe^:Odt/1Qh@FF ,L4|d>sJAYGc30WZ߽HUdvAH9f`eO+8)rIxmi ܌Ȇ/D׋̃r%'rh9~Z"`<,~ɾ~'Fз_#9W$\]'Cbt@y{ϒ濈 3h_J/-Ia+x 7ILÑ? 07Xb9嵤#IV F9'ŝ-Xp3gz*5~$L@LGY * Ӕ*4.O$eA-Ƶ:kq\ `^Jc47glGkyZ7LsbZ %hqrp#9د qz& w!sTz "Ha1=7[N>]l{у5g92[>0Se"萳n~|OXoI^gDP{nf W٘7T/xS_BT2=8ʐ4*XV1*e.vdRoWvv+$rMm"X%y=\-Lޕ\x73T~YQn ~>db,qd" 1%@W_vlw)1`ΖV㦡:)8/{mD5 'o;Q2T[ bw; 5^氘(iv=ɚɎ+6磼l csog/4}MJ:b Iduj贙D9?M(s%eΗh0prQ=9VzK//OJ;B1v2W:Y_ܓrpz4q ʆ~։` -z},t\_ࣄu|!8%=^k&R-].~3-Q8s[ҮY7q^0/H-$R0}י&Cúl5z??*[1&-+,lXژ!\;?v8(fU.yqǹ}N!@dJ:A@IAZ-qN>(2QcˎɅXOsI{BmJޞWLt35S.>sZ(Gu ctaP!`[ԦDJ\Me mrc,ye*LPfvp#;[¸X{ˢd|D珕Ǟ2ܱc/$NN^|Yoq.3 KY) IzJ"ɍy!1V-Z:5yJ=€Or H2Ua\lǶC&zu I hdERfi{BjJgRV1\ )"HiJ~I;ǀ$us՟e̸i@0}w+!nھ\9~gMy䚥 #hX36&!>P8sĬ0OZw bO"[<<.0Dlsk{! 0'G@v:VH$2vrwd4u{:VDn~>*u8?*~\aQ$] Q,-T Y#I- ^kV6r M߹3%S67E*w->TGc Zx L"_Fʱ?1MUڥYP 3_PE=R ԫَ/ +ņW7wUyH% ,p.]S`国}Z|(aCS]];_Ӏd?sr/8q) M-f1|mً(3Am_Tx}sXu>ԘMJM EU3V},~"Ws:Q c'oZEsSJy$"ؖԽ,,&U+YVl\MDȯ/dg]$U0ɆNk>U+~$µE|1XQ)P) Χn U: _G02U NRC9L#qyt'}UiǗ%e ԑʢlH4w}mࢗl{Qq:=ڡ(.(I!! [ǎVؠ]LzoD"i }/Dv%'iä0DiV v/q Z7yѵ|$MV7'"#M7TR600*{e8/HgT A Hi_yHciT\t 9gZ4oGtftRb`45332EX=dl+ݼi|zlI=n>ɿ+B$_ʉ1}ϳO;Ќ^siu wyXp%`薺] 5Hbq΍ s%c U.Os+r̓0`ni{ȅs-G.y%R0Q$h>:dΗHmpkMM8,ƴ>l;o.|HMS ]*BalzH;Z!_[3GFEOPXp?)"R O:T#c2"ay ,Zyl_Aw!yW4 _TG?AKhϏaa}_u/x WOGa(3Bp+"8*ԝe : 3F~% O+[=,Ҋ4*B*F褱 fdnHp- PfL2L"|ٲ {i+!W+G1~и>M!lf5KU㢒Ac?>ˆAt?A^U{ >(wwjGaK`qNHB>C3oL.uFdSxOK#5U_f8Y5nӔwK"pe9C%:ݩƛыp F{'-~֡; DZ'~Vie>dGݣm{1JH p2F͖wOdJ:C,5ȑz"S<'.wP7>UF7ὈZni9=\a*|KmIEzF5Yn.Hs =ac=}r>nKdhMx5G?MCah5$#;޸\7,Ll|S8 x GNՕF Z̘,G)1nWBesX9ltՇzem**PI ſ^p[ucX%?jև~ /Zfl7\rrZ`#XmDĹvzU.xFN-zzGwomBTܔuōo#x5 \g$W+Bxٓk6"8hƅ3R\`Z3_i*+t924{"wΧuϬ(=ၱE_+ނ$`jPu{LgݺB*U>Q`y+F2 :=_%Qth5Xy-'Nf(V6),rRY1.]z;N5UAֿIʕ׋xݤ=_u$EzDB=sQ>U LA<N­-JRa>ƃ:iWa4 ZhPw[vopXo2ELl4de dH!fKxC5;@Lã&YJ <`]O 뭍{-jcr"Za94aOR0gf5S]}Ά9Ib e̺Hν1f=sWg'Z0GWɥM )/nka[P5 /{,Aw4_ -!X 7ڔbƣM1MisZ\+jr^)HI@Cur!d|~ޯ}m:yˤU_="GdkMjiM&rh<5 LG5We>>?Sߓh*_(t"5ꐹ 'tU2s`ÊUc<07_ҸJ3 P4gv1kPlS^$V'ej!%ܹ'q R㼒c2Xa%DS HTVEC"n={MZǬQs u'h*M h߼$#!:/CNW+ :RF,1 Za?̳5BPqX T Mb\W.-]b&+l67 Wi2&XxVloyQ> /l)¿nwj^1<, a#h)0O)d>/D޲D=vˎW*X ZSBjXcRGᔜi1T)2RP76H6fV]vn`/'Ĕ`J%iK EOWT5A~[j#!,ݭV("G!%} _e'[JDļѬ I81i]Nj9^sm={vx\bˋW[?xړd.6i0N|zF:[3t.P _`H}%*ҊV8G{$UQ|T)u64F FHgߥPLd()sCa H;Ϣ:unc%\8 ~Ńu´ SJ?bz8{XW` e!"|{~GKpd% $CW^Ms  ΄E2fZ_<ȘAs)5K7`ק#GMV[:Z(}i S!0{< Ri+?7RtK}eɧ1LkI ,+(PInN-SwS9cXZWDJPˋT T.Pic_؂ݚ!u4=ԡp`6Cb $ezd6{wx_FLEƭ|%?+՛9ѮTUvdK[Z=R'KXeϱe>=#s~˅)L!Is8l4C(痱o(i&Ob f ]Sw0:31Z^D ΀W򮃶U5V=E;C<[+?&zSn4cĪ2ym9R%MM6w=Q4QݲNdܢ`Pdx]n|Š:>؁bN1%] ð[T-O駬\!^kns. cgrgSeDULc.n#2;3˜? ݛ |i@,À;qdw{Q o} )n(B 7I=dzIɐᲪH\~XGHؘ\T4f \&EHg>bA̕ ul +HPz>/(s{8) z󟝼ilBi@D ,CUflytZ` phX,\^ EQGZz\1b],tyS"Dz:j#爰jzSr~,wE\FЃ"ROMu9EYT+URy`(p7l!9R@i+0PSqvc@23Cwox6J$uH* ۽#I6jG eH VoCMGy b9R-Aא3k [Dlw'RxBw!Q /ʇ)`-!(v0b XH!<G\ZxEFwa]}6.b}#VCsupo8a>eGjW h݅)ޛoঢJڀN @įٱv'9ټpf/W;g3;1_J!3s}@vPiڷ -@U԰pIyԠH>/`L=+M5 "ci#5xUr \L*'b$-~%qEMEJ. *}) }D /zF uП?S_v7oߜ%G}+@C_2wӸz] ӱI}@ܷw*ޝ*Qq<X:^Q9b'-5bp}S QN"Lsq*A߉#f6`(X tn6u?8 6G) v$Ji]{4Hl =G;ܳ|6gx]jKO9g ng{ +"~tљ!l@G$$&] Y4wp7K|fۙJ}Vgh\xHoǕ|Y'R9{jUTcpi% OipoM~ Sabeh#JtV0equj=LX_] 5DK"p3;lcx|+~$8vDu֊aQÝ@}c,@P( iY3(T/Ut 0Q@Lg8~AüHdwK`|ƨEy_\2x! x,*E+n&z4^/zRs#cPLXfI&^&> 9LǪ)փY*@FӜ}%o,V&z.oV2Vn;W|`߯}i JkNJf A05Q+'&;qp=|23#p)a~Ox3z,KDj)({[ת*`"+(jڕ0VYÅ|_=|¬NU( <8J|YEO1?'T!IOL9_=e+mw~mZP'UWeOtl*|_|/BJSQ81/%`sai8c󠝟14fc܅|]+-~`\Sx ƚS{ml#1P~M8?jw/tH{ =#^B ]Yk5NT !DNL<j"NX~йYΩb͒U))Mgx~.zOaiQسutM(|ə~gWhSBݰgUeK̦^y![A<{= ƿd=+a6kNJ+RS%^d5nk?q@BҮCDʃQ+8”cϚC5vTX}n`*;Lsnx_7ZZj'{պv߁*PӤA0҆OmHI˗Ob8;']#hWV&7n}7+mz%a铙#pZP,g_Y^]=GU@ 'MIV]߭KŒuwՆ6ۍ!]q4fjڭHpݜd-XeNV_kqr80i# ,,؞{^Ԥ^=u74K+;1 IS} ~ĬlzJ:Yz#`Koq|9å|X,`w7c97f_z_ )\@[(XA|)p\ӷ_ 6$=ь7EF+TSt_-;``"V5T2a8>_mTV-{M4[ / sƐu9Ȟ릐E1;=\,Bag"rtAIY!Kp-Nh`7XW/MIi’X9`vLo)`΅9mK;#ifC"ո:֋v4aIyXs 3W쨷CZϕ7Bu7sX ֯1P$?$J@%Y_g%Auewǹnn,sJ0y8J^ w=PtxlG6mӖr#M"i+V})1n(Xdz&!* 3lӝ~DnF~m9k vx%f/59&b BQ؛#nM ICO}9e}e0yZNPl{Eİ ec&{nRБ`2vS$.-Y^C XY̖j"6n92{#`MVzB +mn~%3V %}'P+\ #yn$x$ΌjRnT!;r+ 2 0=pOAFZeJB^R tO[? )B0믃c, 4꧒ ?%^W5쬛Dx^;s`?S9aa8g lT٩[ _f}V[ ?,X1]~}H3`=q c6Mr)8E*Vf6[>1)e?.K@HtGSzRvW"[(E{į9Jzʹ-Zm"wBxɪd'$plkænyK0N*+݆Js@ԗGt-kx~P7)9.3 tIZT %1r Jz^!㼬 i7[\4h2YE'/ܨ~9'yõeQl ) L[Mv8{XQx,ƴB䌩9;#LEkEKeA7b kʓ_W` [5wT;-|nspxg?,=sMVf b0ܝs )ޕz63iVY}Se=~ެt > D6r*4cVm.xwڋL.*qFF?t1Φ^ N|$rTC# B~5>;<JeP[q&J8 $wB9Nԡ~*_r6 Go㗸wKwD_|xI Vl|xt{aatN ; ˆхDwQL0_7'>i pss'ӻIJ‡vQZ6S]HLrB:ϺܼtϜ!""YE ( =~.BKa12_E.ۢ%ȅH#,{ OZyA "j _/@ a]s,zyɬ rՔ=s?'Ee!z:ca\(\D-nވ#WJabCbF.k{px}GWxu8&[5KZ$r 4y^\d @C]mW]E/_~π¯:H\Ie;t>2r  Yu2l|Dx Nl%@ +>DRS VW鍍VԮ$g<9sY4r5`lkmn|RrT!nz/5R} @cɀD˴]_86rBq0S; X+(8j>Uy+icf$m쫢?Yy^]H%xqz˵ZY!c'9Wڗ tMiצ&vFh|d sƦĤPk8%7{j?Qbt8Cvr(i(|>waproNH\ۀ .w'T%P[9 D Mi|!OANZՌ6)!"|,^~Ej@f!A]byڽ95Z'ldj-ĝ˃TN Nήv)2֧0ESHl*cb2iq+ĜˉH;=h6K K(8,S> z>xX GdЬO!ܹi@1 a1ܹc3.G%=-cB˺~Ga¢ņTiiۘM{l շ8loF4=Ml9IQ!НxV݂X 'FAm܅с3.깜AmF+Iقeu䆌M?dǽq!"Hї!3UrBXaK( 'G0(0ǻX^0 AԺE%#G~\n$\>^)_ @3GCExbio Ծ&3`ȀsN{诓j]@XϾe>ww0}aGXQ;f&3)"B$ԵtwV?flQi}-h^(M&rC?Msb\Nc*njc$%s_$'~l&Z SpNjR^E$jns+`9]#ŀ 8Ael F` .IkZ"'!I1C[3'\[F=*7P5.c1YEf3RK6yL،[<֤Ph%V+u>*$YoM SeK]!ҾOOr7K20}A$$'j*h5#5țIKSJ']|~7F*0sq.MY4uHԬ佫fU.^iGbcPDfͺnjAuߤׯڳA};?O~ȝ56= f<1~2es[7rݹ"~mU^ԋc\Y2iF9#It!/\ڲϐ7%dM`*6bjW04㒷)>8^epB%ES"UQoEK̷ַA'L*5\H{0;r#dATO^uC+$7e@f,Vf y-* A*-HnJHdD5U1_[lOs[@sR,$ .*7Ͳt>͸!u$0+_ "x (})=m̎ܐ;~[w 7=%'G%4acU,?)UZz #+vp"=q0)2D03Ә7?o Hجd_ &2o;fUIMX:TSJ*"G`B]}iuGҪO(-{a 8TX06MhH`s_q)&;7CĵP}kn6w{?dUpZ^QuS܂ 5;|b]00/c(@|Dw(%Mf)#Ft/;]g}poQg < Gy]().hb#KI&;ҏXB'&qrm*b az끪sq*8E6?hڲ=<LW0k[O+0!ݶ&W 2>36ljt[ol.:ʌ-up 攬G{U4X`o3wSӽߵwVm* 5gb*,14.s)#:COw,e2 q6|\aԮTKRO˱m9jAǁj s 3%Q05E0G^ңݮlZ6F3&@y-o&>Lj`? ez{7cHQai2c h,0[&%2=Dy=$}i3.kH:l,C!& Q'\eMޒ6uJRZ$44> W:4Wsg:)Fӧñ94-&=}Cf-D}ˤuU86ιt0@v %:yZi>&gz7[GЬ4‡s1`uzw&9lJ*TA Oi*'ByQw"#mýP)wpYF, J^D@,r]'Ä~!HH߁ysm ׇbyFb̷v&o,&8]g)怱X'1_/nxyϔNfDw_y}_LbvLt0#MDQEfC9˟؍?YW$р+yĩYy|rj!R!:4&$V孿ZnnTfI!6zқ!nvh;lܻ8bE>/*- f%4yUw,=HBgq[+ORe`IHxNc]K.K} m=O~MgI܀TIy`!G@pcV4m쌋^h?ahzOmXSQ8Hzž#[xDBK8G!pC:XҙʯTu_tW$9> }*r:tf2w.Ri ?)0o.J`Ks$Wz!6[zx"Z6̳tW,:`.^@}ʖ%OcבLty"RBmN?yr!5m ?v RMH 0-yiLC#`{$X߮o[ƐˉXVؗAߑV_aڨKSaIw:όom8 ShъeoIBM9wŗlGcpQ6<&-ޚ033˾2"O3AN.w3p ꦔB[ &>{y`Uf \rUYHCm7'!OYo'R)& Q5)<=egF­dd !JBsqٔª;WξYXU55ٸy8i4[2MübF+TN9Ž\jΥ{jH-D*yzU*|\%m/N&Ҧ(;]JeTg`Oi(zr0X'<\(Yo*@bn҆F<$r̋x!궧rE5"wPb]˝P0QkfMފ )ze`r~}Q_v*/@[_&%dg h'@S҈&X]}"8q/Ea!;0FIdQ7{p\y 1[esHw8lg+v< N\ޏ 2Y|hw >wX ۘ1OAPh|0V=MBkL@?lٓ4XOd»aizk4K38^.5pL;Ei@Ѐ綒UD+]y] 9'·yJh5hAkFT:Z^W."V:% 3dUo0Jޙ-* S"(n4-B fSeM8 gk=fj`]pst/@`yUvqrkb,f HFthx[/#Iq论 J973խ!w}Ki^ĘdG"/W ,5C̊h[3g;*7q8'Dɔ/ѕ 8ThU{fFpoj'0zAG%CQ脆I%m\ƽNoz[пg? m®PTƂ4- k$5}'6KVS䀀zԪun$Bֽtq$2mBxBм@wK]I4ʍeSOdM6W& JCjKim{}Yo^ \w z#@l[da`Mi OK7N男E+42s§Z;*tX@Vo R3ZҺ=p2dpQ-fkVrHv1ȃi[2 .Mp:oKm#KIp-lĨm8Z?#]XZN1b(NF{fbc?Y# nizvo- F) 4j&M ¡u.5"Y[QJz>Oo_>lf@kôJ{ZFİOt|nf`1"f-ӃmklA)VVJ&(*#BM .CFNLyCk|Nrlƣ'ޕ3;aYytE`^e=^&A.&,|l5k>2-DZ kbo\>%2x{9)7,\8DxG 5 c}9?Ϊn` E2-vtm4;Oq@mLrŊ⶿s'$1 Xv]GAH;Nm"#5L 0|vdXzFEL%a+i%^O;to@mHNDT=ʆMU d٨?x n]?Upj4 tZ@F13!D!70Ѳ/ok9T, w# qdVB}[-+-N2 5AVU xt>Ds_4uu܇BA t|!aU,=-!8j<-n[A6'9MO&kl"֪`H.nPYV&LZ4${-9q. l*^\XY7^_6zvf?7YY,酛'Q.CW0\fG͹{ pRaj¡Yޠ@B*P6d]&&3?kܴIyMĞa-7ϊ1bEC(uд; a< x#v:H ؟kss`!u0:} }hwboK\bBϢ!We #^##~mDT3dtM3p"R`,ljEGa>m ͲxM%f0]4d_ {yr)3^.|=N瀛>mZξhxa!Y RrkgiY5)FL'eNim[+]K0B 'Td_#Sͩ058e%=c% Uc*vWpW5.(i$xMFړ>BF_#dV`I^uƎY4%N\JdB\>X6| }+D#X 8Hft& K|cfڬeIы4ClagZV9~ )5 D\-&61_IߨC 58V;!*T /J?atM'ιV `&rC\w׉FyA:h=" ar+.iŢoټ|a: -զMA%OrJV>Hv{Ac@6%'_Ph^dBh\U=$}2ePM`kUEgV<]ۗ늒.B#m\C?/_q]t#Ƥ.!{];t6̼ %uC=֧ þ BF[Qb氕 &28+zӅU*A `a |-9?i@#}x!o%7LN 在gt-1!7{!"+ YefP"6~D2s"\)^\$:DdPr,Hakg;2%9OpUuq,StJ]}h5_圜h)=ު NKDNdUGS߄S.n CZڎi5t+ĢYdunG13K E.pPvTX%4fݑa2c(g#<7Nr܉U5F2Ni'C|*PU؊B^ZwOd꼶_ߗ!W ػ@Ɣr=-R +jҸX}T6֖MXVrER>ncRtRm%"j~i( 1T,ՒU M+WzCLWm"dH MHI h LҼ|,}AZM5\wB5뜛Q/55B{#6T2,;=ְU֓d"Yy#s7yc!/0PYcjRHenA3^'TC]BQ͟+U…ffQΎQ Ać6KXb`G9%BE$#5Ɵ +a0j؛dcTS8P2SCTq<7 Apv(_|c,f>{2N譐?9iW$[jHcQڏu u3Ó^3V)E,~'H)ڜ[w-~X':fs4睆% i(8&̰NMEf=AziemY׍ɡ0yLC g( qPM6VBTrҮ Z|"_/ 6~zO? EH4LT>Kn2ب$(usqCF_N'=_2ؤ6Aض芒LR&msrT;iI9ȴ)cQBo1QQYyF@sߝ`.,?7AWw|AŢ;x&Z޳wMM}iGHR}*čzlґhyk 4qu,)GZڒ+H] d? e#[sLG_ ]Z~\S nלـ ) e_8dȿWC2DQMh V|&_W7ԉu; ?"H4c4b+1™72YB`jj܏˖Vv_u`n^eP]{j#0$\i7NJ/}DqMͪⓃn>Ԣ'sմCi:R+(^{2ZKR[N#9NBu_U%Ϲg~`8lc"5gPmnRn$#EcYо];#0 ̠88g >L2[@"U虝k( "?%8·tXicP//͎,*,ylPA̮LɅH\{Tt< gF*{1c,nBzYoy}lx=]PӖ)dq&7,q#,1D骮@=yjJ%!LE`Ė]Wճ\vbEj@(f'ӣ6W /U\r+PD'}c6X>yHjUWoEO\~&YʙPTȹD.2#퐒GDS3Nۻp/D -Hpn|0o Ӈr Wa(֥@a^u1)DIkvW>xV[=DGZ4FΛ 5P2Mz~vx{g#ebx>5gAAj]u@?*_o̠l|bQlMVbA..JWG[LAY )~*B'c cr{PQ~JSm R ǩ˓N5i4^!Sq+CVq<ОBc_!K@QzxPeIO窅T?)Q1_ݽcq(3VA[pҽ?&kx~066U*ڥ{Z~^Jo\FZ V^[=ŔQnY - Zpef"ģ`nZ4,}\ѭ,y PX36? q)$ \@Ao|L;/TzƖ6:aY# +p: va!4B%{B)զ^8 DqB<-H-/1 P)~ Z*!1J5伽QT,+l\/ط&\`H?l%,9af!wUW16Pf2Y06NRIT6=N%A0u9)(ٟ;B~WEѿOe[gS(' ґst8(w|+Smc3N7Wqsyf(?? :2>RQ:, 43*6mM:Uϱk| s?jf:Yn~EoИӕ!37̳j͇- X-_bnUOںNe{m)GGVz9\|nMNqΪ{1npȕY776Lkʛ&dQPU`H _LzPƱu7|F (u8]%'3ah"dxP( LQCPq *KCghqxYָMB\ֶ#Z]L^؉lQ$:=K^٣r%*ʃqW'hLBR͘'8ϿLE(s@=OgR­sz# 7T[XqAKw!ȕx)&[ r+d~ 1-P# OjqRDUU΍Of /C-&r2*FtU$vs!-"b?yn&G i#.J0iWF ;bnOA/SO_܍%'*=b|>4c3FTe8z?P>wGo(HtP.5?;I\$zU^-U\pX,.:. g,Kp4fj/_OP;уv[-lt\ ll l * :Dբ)DZP,K;Pm5B"zmEhPj:Sb1X`)e~[s60}ل2䧓8#tP[Ե ͏ACGhs n zCzfZYtC##m:CUul!sYVl*]hAji% ʬϱMUؖ1Z 2^K "Aof^ilؤ[?%zթq2Ă`)UE!E[I'lΟ!Pڡ ByA mo -K6@4h}'jyt1x/Fx;Jk4GYH-Ap 7xpd[[ PM²"^?7O6Cx|?q‚PVѵv;Ȃj l"HlKˌC0p;J#T<XȤVD3T03M?iG[01yidzj=s,P /w!N@*O:E2sz*l1jdFos, _R3'q03kDKJ3dI_BzZ!ey oQ)D,'wZ,XJe}chx1ZbS %lpz(&z r.V B97FSK63QY$FGfu:fq4`:Ⱦ x^[!Wq6GQ:^t\WSwQ#+;E ;Hz'{V[߄-LN vU%z*sITz!7\Q&g[F6&Є'm=n&/ތjmԒg4.E1.9y"oL0byJbMuj*x \$lWm ΁cjb7y]?15z+Nii|4{ȁ2#=GꅰFcQ- y١`x.0V%V y#^CjlwӫKȎ΀ .<7jWrcrHGzA?cEq5?)OIb|tjTGvk#x+F4,sqJw_Ec!h˘+i-L8@EfہL&h4' 3NG@ͪɏ۪cPeV@'gl4-tS# uʱnÕhN01@jrF% =D* H?2qoƖ#LMwLhFYwR\_b&RzYo:4iAg8&Ƙ*CCұb! ҸDeMvKSؗh۷ҪLJ%qDCoCR/c,W6Fzc迂ӳ_>ǴPɪߝ$#X닥`\ܮ7P)pahXeFX4L4cBaDUE/j]L@ (gU)O9 \6ͨSH4ؾg絵%JEvܘv^b[Я@tW rJH o/eV, 7UCGpA?&en!0ݽM(^}n`|P aDУx;\X'y:Hh̀$TL5<O&?L FwR.MQ YjXfO->Y4!X!L}BN_lbc_TNHvUmsU:tTf]]hOUDNjm JM]ث o] ,yv/UB@aj>d12+sjGB\/+ҩ$vh~"=_pz~A4vm;//luu :c:iǦ9Nʊ"#Z: }ů]H:vYSٴ41ySR݅vA\7BdK)W_241K}Vo ؽJ]C)HX(ZpfK0Li@ chTte}5!֔?!#-8H;rtfu @zS]\"btH[gKH8AG#$=>݅}xY0G!&軨&v(]9~6U!])vx_HK 6E)~Jv/Ζ*@f:fx!؎mN%@8W"hۻT lGɤz@ݐܔn~7RMQl*-y0Bf39 "K;΋j#=@=MO-=5bcz9zӃ}*Ah&̥>3I]jտܥی3va W&~_B5YP(lXw^Dž0kaf~K;AA(ʝ~"\FlWU|w7/j9V<=< _+T s MQpDQ %Bn+ЧD>ۀ\ _3GrN& 6c=&.>Q7,h-pzT'nE--r3DqnJj>.`GzIQLĦ|˘kDNoXS,e?(\Ç ^E1b~TkSd8E4dm\wm\%&O6H:Ó#.nDy:אO@?U' Q i'!9XDxZZD?@rTaOI$pUv` 4htu]?wM/nyo/-MF Z]A (Lt(Ŀ <>7^,7ZFⳘ B%'2;f.55 PP>6~+3vTS7:: ˲pAr.(kQO^w(w#ޭwsF){cQ0J͚0QleLo3Z -BqY? JMO Ѥ姐9. < ZҀzC"}햷xG Zv ,գCd(# F_.$dYG7A`~CIUs8 /ϝ8G3vTi #ZG)pع=XZ~%$r?:#jg<["Ct&ȋiY,Aa϶yGDsa ׻RlMjdL^JJk_yu:ܩbv_ռK.pߺpj"ޥn_k7gHkhQW@EYUxib?ܡG:٬6ҟstrY5P2躨gh$K)%piG%$[gq ~x'{j|.+'dWk`U!lp0 hNeW14r]E:S XeFU7p^ꢀF h<649ʹk!#P&G&YzDsfGxtjӀ[M+`B,&F"Yd7>cاԒɎGqPP mpceIF^k>rz- y$q]Yʬ~LEh--,pIv)6);w`a܄S°7ZbMCM һI 18jm|#mu|Z^vcT.gˎd٦. V!q>d!Oc5n&vOi40g-m%1V nr z5S:ygmHXz.m+8kA'N1i2'9N >Hkr4&=# o|1Z*.},Uda Х@ Y6B3xF]:WlqpY( 9{7DL@a!>8ȐvQ{L(g3 v@}5t+ƶ0@] 5v[sB/=A+a:U{W'}vg!)OZTje+f:s4׃襭t{+ ̘rҗ>X:RnP#+Os)WR̘,ZkzJy0Tq?aj{9θY_AHz4qdW7 .̖6cʠWrH"H ]Ke?磪f:*ḩfp3'*LU`H(qƔJhƬ~!\IUBJ+8:_"o+ %>\jivmD:}p94_fmT0+|DO CGgXEkQxZЎ?B'C#6QckKTwz}pZ]bEZ? Zrɢ=S̑]&,H$?Koo~֟NҞYZF`m %1Za @GȊck|: ͸+x{~ܴ2U(<ԍ;'*$9o ˠsYiʹ O-pcO=/FM}u% ' $o5*۲a#㫞yuROURØTt^瞯.vG-qаCqm""bĐKcl'sCaBvRdP1%87JM4Rv ![GA-##mzXўOäA)N1vOyj%jBfwNѳOxoWܴM-[h{tn;bu[ZJAS|mKp -A?Sq rq1"3Z+jf2h}ҷ9IᏵG^ 9Q@$s=`Y,hŦR/ )S%j L}hy6]f+fG Zp3NcR03g[3! _4x_EV 1mr&Вr2eHs lR×HS;Zr9;iQDM Î^F mj?Kx /ީ m-+n0+mۈ"+ȵL5/3bd4U!TKIt_$V7 8b2(w/_ͭLqm>cXiE>ؼ׃]3oF !A((>dDN T$>&4/B-[q űYyOGd\8w'%JX"ș1,͐G4yM';e-ej+>C׬ؐҌh}ڵ,}l/*3Zzsí/m|ŵ9t0_Q t: ZPSU6ѰxFux_⣵)|FE Ռj(ô^R2 p}1>@11#RGMχ,Xh|ʉNGP݊|dQhqI/Ev S; aςGMC »krAE\S"Y{t.F'rV i;~dxBձ =@p"l:2RL-P9m /Gy Fk wR #GSjªJ'er"u8nIl]; N`jtNL_I-|" bXF2藖FA W4ql`)³XD%/gˊ5g0 $$3f-58>]ˬ2E_ĉ!3D(\;(:Q@|% xHWM[$"7Ҙ | ĵsTu42z泞aՓ#lH>&|;x8FFflZ{O\+\\5]k곟,1 SތY,@k!Dǩ\WYۍZ46#?:!CvCC 3KzjR-̞O"-񠻌٩:տ)M:k՞:^).\m:Hi-RtWa `=ʧ -a.o7d=+>x}Z!j'dDQqx[}n}7m؉*j7FO3_Im؅_]臈4[cn``$:eP_JYcԅL'LL:  {}OE#Tg˃JԬ[j$_^|FDz'sِh2o.4н;M<y5v"Xțh;Udz M}vi`_HA;`6]6F)B%Ϝ'vUKhGojF 3 aU/[Jkȭ2aS }Z<ZL[ܸKHoIUQ eδi RnhMC3N+D^5,3~.Iٷ<zx{%r*[!ki;th- ެoZP9ꮾ<|~˴7Ԅ.v?tN#6`X[7Ժ/?䆞C4;I&z^/fxpl܈[o+^LȒy؏pk-zo8IO2M=D7X-x|êz467Fd5 x66["3Yӝ-6-% [YDUQҏpgC0!ċ rʎpeAVZ6Yw MBB̀쭑{/@bf'׃h _|7 7+Cb)@<4#%w5kS tWTEO9OhBd}PE97LcQE>zxw7Jm=-Θ}'v#Wws s`+1He y{o x:dUQA8 `mjɘ y=ʟ&Q!@(1*(oUn 6nS˘Һ@5``+ EPtVǜv)V@ 3 c]R*KͿA4cp@L3}ft6J#{f{1xZ귃:Ys j8ڎ6Dm9镯Y]2{5YCy`_ϧF~f. K/6˥o }:bfo]mP[HX q.czqD$l56\jrP@9ɣ鱎~oٲGD7FŽWM7Yլ.U1 1|ZǸzEf*yyOng'{pج驡1p,36%,WqZ/ȧ* ܜ#q֗澖ޤ.@j7,OKIL:~nXyJ< l9_=:zm7Zo ;fʨtʼnfdBvc8\f%5+W}J U[.d[4/S/z#J$+ ܚS\6C:@Ynyh;8ΰĪ,3ǸWZF C>MJbl'- ٤DeY/Td0_lGI9}KvnH='{V6P9mG_}mRKJ+MFPy%~'Zdܩ*^8 Hoo[)^Ց]EaN^hRkV^\QÎ7=rĕ<+޿?+ӂ s_רGٓp8.i6xl@͡Ωo.)a,Rͳe|q];ö+a) p3uA9E`ә0h->(NAIniDΑL>S8bڱ;;W+R`QYQ;Sh%y:~.6\ r< \ Nzp"qӼG0"҅ʧqenΗ8.Jf#nE]S1t)P n̤V| 9c9|Rqw9&̨lJJ%A~^ l?މ\0tpiF44c\[)hOuvvQK Pؕ&=6Wiu-pҒH..>̍p/[kw@@5@bSڰn~uf>1=“K}TdXc.<ӓr03q}at¢)o3b3N6wdBm7W*;bKP8n@r6&t@<+ބ@36֛۠Tk_š9of.ƛ:1^٪#?3lޚ% RfL*ck21颮W tf KLPƔ:?:}xϹuRe!-9yV>- h:_/49ƨ]{ mhQgn=pq =Q#Gnj=ώY+G-e /)uB[ /n F_k ڤC Xp} V$ sg> |TFȎ_^~ār"qi13ckPA gly3޸ZTYOXA S7͠hiWS˕/V5Sū{Xocc~GZN,?óK;wVҊ39|':D5xX-aCtƂmI^`p tq7@tӼH[O$.5ѽ`DmQ. ?ʱ.#ԗlE%%GaR:OQwُͬZ!tI]ba/نȝcЬ iAtsV%B⮀CMp9qᶁA[m-ȝ6"Y ^b!$[S# F=j#[$m#{::Reuϑ~S(T-P5L5׶ȅZ[Չ4dQEzedAKu11"[uxu,N\[E,W(Wh9rެD<#N}YշsٱzǕ1'jRn]r('_#3@aA<8􈥎)?>o3K?Zs4:W7JHAUÛj=ݽvBTƷ^g,ݯb'qeuΝ,/^ g&fo,#Zb/'JhZuiϻ\K *6C [e_xvwy=c^3s8Ov QT`ڢlZQ9EC1yi'5Yۼ HEFzFOesYq~vR0k!{9;__R֠/ ]gr*nqCxRty ͯR,(aJR5% k>kНW ,5?"$7b 4%&2ڑ]r &t|WK$"S B0\l v ='bOU|:}t:siIW]rBRw\Ф؇rꥼ H'4+h{m"*,y(w z_&SiCA? V3VW`3ڸLPSgAeihAw9&>ȡՂPNFPt!*Ne6"^EhH%җQHM50n~[yS@c]HTcΉs˥MU.G8[hژll}N_jS;;}~D[+kA_ { iֱwf#,M5#*.Xlv_8 jڃeɆF#*R.i4q,y\(dW,J=0t3]x~0qAAбD!2o:v5mY7;9:B})=/ƮM:M0ꦔ,wrG۱;9|j:,SuȔ%+! %N QiIox;6ٮʫ]`qϽ>rȔRx ݊Ck僯 (.M9=D%"x>I"3" \kۀ51 "; T Ί6 ȼ7egȼ{@ }g ӬY쑔n&GJ~Q4l3NhJ TpeϩП*U{& {8$Ѿn\~ŧ[5&$JK.PH,O?]ى0,Ƀshš$!*F-+=S5*]<3 ZJ2fc laKF=ΌDnGCzGcG[ y,j*![4RfTӦ[ƿ$R3FB-3AJe4?O"8_qR, %vWrEN#7CU)&"l!IQCu6Ia1gY0US5b o?[9}Ob}W8MB\_^dxPXYT71: j{=[u+j긞p:S$ٔf5ZVm>_>ި$H^'4AFm(T=P= @B=7uJ]7vf׋m7iF^&@!Prsg {[ gN5nnnKR&o~[ZQZLU#ӚP,>4CmlX *]N%*@p$ lcU ʄ!5;P3uŧ^6Z,Clׯ5f6JV-_!Frڍ՞R7:*hJވ7E.#ߋ!T/QH^!b.=<}4"U~x ly0"=^5h[6a'tNNd-ka~A Y࿦B\!DL8M=d^)d,haSl䑯1g/Âfa{ٸپ>DϋiX*Lt$R{e \yT (zdbG(otYK]щvΫF#AstK$ ct".%XlΑ5d"vemt#!ySm3J"eZ/Gz~2_|'aqY%=MЭUףxo+[xTl܅x2'0Z/8OkY.ѲU$%Cם%lYt' i#SE k;2-Pcl DaIgL'ϝ[XE9,h0=|ϟtBu2=nnl O?ipξc*@E,WI-gb?@.^7s(dS]dZ>S~ g` dYNAY~0WHr|V+|rlh_yۢ\TPyϙmޮC J2@n{mv =9OF[A+jX٫|cZeLF3[J0@E1'AV5aT!`Aei" mGkA01ϢRlLQ{%EuFqWS7O%ǖ¿)za^{7k5xUeYӘn&Jp ^~bwN:؈ DCLl_ZzGO{0{'}?t-ۅeے$<%襼ո `ǰ:J[0„mB=3, ə߮oFGq;氮~c2. l,l@8AjT47,{rךG#)-qhSN#@סPh? p߃T $|oRA ,p@3\:˲{xFC"(| f: -"݉& ~IRj=^/}`{T7L5 PnV@2ɻ#%g*kS;R0vgUۛTm3]9BHLHUP-K@nVP;msSG%%eU <3ȴ5WPPC>]JP_r3/,q:Sr)tR%V]{jcb `|;10IJ[y$5EeĨС~@$d k [fHU{p OKp9͚4ҢCl ,KanAPv$:՛*4\coR;ClIKxo_IE>y1E+aXηLnMѧ(46wۚyyGM%O6 ann&+m|T7x@{KF3o:B}L[1-́MVr4eCʖTcԞ`{A>f*(o`g|_6~wzlۮj̞PҲr FυC5 !j \,`=fe,ɹc~%Eփ:=\笶ZSr ! `3ϙNmxkv>. %=y|>SƆvƏ;Q{௚y8iU|Ə< -nP|90*1_8f=+-:Z(_ۂJejc)I-P«~1| DGO%Nzs+ٶSyv.]>0GsCYa9dpBG$@t`O uxŪou5%>qxדGPn&&E5n6w\'6EnFj> ^pFjև,܏:G6*ѹ#ՏlR4r:Dyc`Bw\̷kP Tc @j8|~RȾ-Ngrpt;Eg}!ΧӲBۥyG= ,0k~B/,5_٦3 FOݡαA\aJ٨8P.{ط+dm#Տ#7ͅNR 6fB$3RM]{΄9ؑ2j̎pE0ഛ1)TۤQ Y}5{쳖{52 ,{~ӻJ[rŞ==L1~"'ylQ x [AϹ"{i{f=!kNbqrg$uvH[>V/ccha}>PN4%\rG5:楺vUldXOߐ$,E -Q*3Z㦸U3mr2!Ml!1f`NEAJrnͻ-Y$o^a`|IilǂF@T.&3;t{-f&19>5#ߕK]\FNpQ{7cBẉ9&ZRccqyE^uh \xtd.د^҄I[3@3\T!PMAa _NA[B͒mYQGs,X9{]k~n.U9m{RW\k8iC4 -'e>Jʇ}- wؚ8% hC܂FY¡":2c^9Ѐ_  爜``2^ړk Oh C/sJc=m,2] YaW+rh$ گؖOrD;AvNl5FR+K$oP [K)lX3m 'c@MU 5E ?UFm f"o$IZqfZtNyU^3^U:QE5X}%ُt*4d"z(L%ދ)|3 ^hOC$oϹS$9u~*:Zfp>IIvX%t#8>.-fN/vzɍXwU( eԠȂ $`D2f@J!),$Z|%]{dMdKQ$9'>&/pv#m$ZMۂuz4㨭Xۚ"IsFڟl7C(KVv%F,ݢΥkcx cX}q"W@@ҥbD_G  Jh9".ۙ* s^si94Zmf"ͫ9>2u Kdr_6v&Э ' 2@5 PEiJf$ (<ݹ<)&be=-a.?ЋRS ;̯߽3gK 0_E_"q ⨶@=A?l~jO7K|1jո#}҄>923f`6?,)'_&}hx=A+ـꊗ侎xL~lHJ@|{uQ 2GP?ӏaKHp!2eEdHN(1|N{Nh }BN 0_ Q&ΡL+2E r | gmBEn,'n e-9@EOFz ^(EP#A AC=rWPsGNM-@[ 6/ZC .{ QaQyou`!RkPNFe-5)f͟_1? HWDnC?L?bᵿt|[Un,kv%Oarw~P3Zʱ 0NRIX 棤Dl n%R8V zy&Xmoh A=-Κ~:$])u~ 98|oo{V D GVxGA&?4-p7TH ݓ$7JGIir6q&mfR,#;W"nY.\WvJS$0.-as#mJOJ6I<`zt˸,E‡?c'\LLCykUH ]dƫ{`GJRp HK_2;rkjJ ]vZdxǴ;k`̫%Tlf~hԅ8^OY t%pf Ɉ&WX%K OM&.k)"BeH/0 ?}VV8Y{MPժ0S q_|v7k>3E 58BCktǐ1:XY 4}84m\]~?u-4!8QPcH2&ѸU$@V|n*1(\פ. ݨSqHlI!Yȵ^Z YT')aZVRN]}5О8z/ 2Ӈ:Dm)Ƥte #6HUBk~6&e\"U<).^0jvV_iϽ68Վ'l4:[e iÚ8Ģpkzލogmۊk*5F. fvO"RKҳcW݁yfL9)dGso/Ѝ̸N;1Zi B5!SB!FT)_=(_a|Ϋ#Bf[_,~%^kCسE!$0T5v;ZȌ8kk*"_- [Jq,`Eյ}|ԍKP;7Ah(M0pFq Fn:Q~wrPL:0ivBZOذ̥KK3hp*zo7Er@I? 󦭯џx9 6z6n0=\`E@2v = Lׯ;;΢[5x H7^K}쑚, R-Akd^*(G`1:(e9h ?4Cw.dڔ/Y|<ƳB Ԩj?ƣq0ή(ڵfі .Lj>1T9 c5-?^@tĚ\ؿzc~wWap^{F ӱk+4D\^# Я#A"X ~8_MIk40w._h) 3VU+YKN x piX l\w^"9t*j/N\BaCDs{}3Eip8xk8GIJo1]ƙˁƘ!&T텖neq@l^;}Dc qWqI."yXU<;|-/xu:y58{WE@RUgal,)#uz})>Oa $h͓ϔ}AEKky%J̃$WM,SD~Z.>"`jY!s=|V{~Y0"=wOfyi9W,CY]Lg澀of F JpV4`,yt# y>D5[S;] zGsdKWssy}t}HTYP) ],mM$p AE'5UG JUF( {p %1weqv$*ME ][I?f)LVHOoKh_Q'p˚@Pr@Ӟqiu(8vjz|vt&l7 R^/r0l#i5s6f#j2$w? tcv3 %%3¶N%{20ЗR8;EB _?6Xüx"Xfe؆**%^ѽN\J|rwi`GfJ*a33_ "n׌f5!5Ur Fzwtv!'iZZcY65./.Q)Si( dIfiuB)+6rXC#8ig}Ej_ٟ|WaWȅlv]a%R`!#v,("xXG_{R%d-lZ#dŵOi$Hg ā%C v&T<,ٚ]|g(p{aI~QI3'MSxј[ثWp & Kl* k=T}<~aݳ[\ԥPWw?;K򔺔 ƘURw ʩ‡G_l;ZNi9?g<:u+uۑXh Bu!UX_+w mKtU|X:P>-ԃC#Acs3kIfR,3]o i4cbzYq41Z3oމiȹbĕX^v4[9r} m`7઒~7Lq CUѪ̀NHspACm(֘/!?up. FtʅV fTD9O]QrU% xJ+NďҟDt3t육XNֈ`68]ݢ6sigۿrQ}Bh=uC1B2j7xIIJ WqSdZwTŝiYb`2eh:yM OEo_ r=.4{y9HױV4O5tS".c " ܖC#|r(X刀zEn[7+_CZwMOCp6 5OE3OCtK6{[ )~aݧ|O^Ka+|ʉ#ڙ:C]k菕u4ȰHӅ:4fs&u]6ɟcP<4n%8쪌O~C;O)➺d_hLwI}k|I*Eﵔ9;a'W^kG)=E/)$?s{5geh@!-JQ<քAR=5'1` .<=fKQŪƍRwYyŠ`S,p;X_@^xSTEqSN6_8={̩,㍪ukXƄ7z{C+7n)]936N?LԶ8Ir@0ei:IUnq/Y[p %\*~N#sϣ9ϱQNEY,<<=S+66t0$caz慯U ~sb0*TPzMqRn3Od#fjz@ohAz t|tOjpLy"BBט7 I '7xaնC`MM'k,M+(I,?#Dg[+;І/U}]?}Zǽb QQT|Iz9iU@TSj[|Y3ʊnG9VǮf9:|ZkkUpB]fS"?>O K<"zDVlDOЂn2eO5L;dL^Th_Zo6 M9^Hq[ne]!Q+`r_1 G4=}ü͝]\d1z_lqG˝l'SXՙ#!xsXr:z"& )#_AUdQHQ{/ ʚMuvs$8%тO7$gUᏥhfè˗a mjtT6|tu*?4SߌތiT] OĎ}̐X#7 `cHqhM08$ Bޚ5۱n!C2ZBX1:.12X4QG.m%c]\`B7 WrimbKt]sF_ @mkov 2Rbw߹p3*J9=%@z2, %O.I"gÉX<|/Z cٕ!Y,u _8Un M`;8]4:߭C#xgH7a^@fN޺j 9fw\3 Sl,wBi\9 |&1%d#s Zߗxay ImpaG>57[z S$ `ωS ՈP%wJ4.uʮLkPAaK͠h>T‰tՇcd$|>Nt=޻^W;ogρ/+m;1o/r#e}5u,n8|F@J[⇲@|%p&7 1Ӥ1s'03kUJ\A [ODpl75ǚ 7B4FA(}NEQP,ؖ:6<} #Vާ4$UTwaɽȱ=a#T 4FO]V4`/|j*=v^>K%U(4.E`b]/6 K}|eEJg vO j>oXݙR:7qHq_t2 /ARٿH֢p# 3_%|p}ئA 0Ne7sT^w63I0^ˊIgojo5қT .-A+Ե |{5c#Kw=(,$JYھ WO:OZX6pBQa*\$3@.[]@FK2SXF [k?@2P%>~,ŀP/$(3!bjWUHZ莥9ii/T?Po9f 8۰!~TRc҆d䝦2 ^3''kۼϤIÈ ߖ`įz~W,JCԜO]L?s2!+}+js68:(2pt\># >%Vs2]1O_وz*wf#AvngY_ MOacQK|~Ġ7BSh1qK2lg6 U>i\B!JPksI_/YaJ 4MÚ  ˾Ǿ0j\ٜ5sc [ h-^_,/LQ E'd u]̋ѻeAR|~-d T6'K&j%+oZG:~BJ~cx{mg |v~DcNq!eݡRbTqrS\>=̟WU:S#4!rwPtLGmec;fБe5mqXK=E!ej9NMfݍT:h'/ӄ-[U}iO֡a2׭a4j)T5fG5EK tTv<\6!{$=?7jCې]VȒI=;9?KtZg~OH."VԬ">Jva8O:(JL:S jBp tEWyYlA05A&KC1MKSc/> Ž5cw<5Y]V6!Ȕ}WN/JiAW0Gʺ'Fg9ְH>tʊ1[h0HY"A覬U ijNj+Pn{3g @] 952b=ȇ$%zMqzOiirof!,={zi-!h(W莜KvҾW>Hc8*D.!gBgJ[-c7VȺwe ݠRJY"s5TmoAB!Xw+xJȹX:XMvFxJ-!BI (_=c)W˄o'=Ecs@S&C+a7 ߍ\luUnQmLA7;94Z]eG5{B)ӘL^VN諎=eR4ٰKUl\kN$@v_%K|ȳ˭ZSkv0|9xD݌k! Lɾo,<̡z# PWZS*tjGvgbXRu{'>i jM@Ap.LŚb=yvUd¢Ƨ^#0ȫڋa^+w$a3iauW%̠($Tw!O< R]a&NSԟ{]A%O8oֆH⽲Ez3[j2=gDہK&ݨP²qù8! [ un{7nXڀ+&?迟3uکb#SpL&yԔY9b^++*&LǼpM ; q_u|\'7m~S[˘Y7-bBؤ &ؙЌFVȩ\@Ԟql֫܈jYwfAZr+x ǭ.24{duX*x8;k(I:pqQ(3=@ z{Mԡń8lc^!TOHɜ7n2-x,+%, Qv؍k2(gO,]B&ȜP8P',ACJhHR s?GԷ\~(n~p5hW9HJ퇈pvմi;=#SM QB$)1< rSopiFCIҘJaz4Q{ɺ,l&N3rxM}ZCüd0ezЋt1[ fc^<)>j}'rK~"M}<4CMl/݂EopUzd飯8"[yavbQF&}3ƥpy/ALh_c5iH͆~0땕9,eZV?vDώŹWܭQqtiX;ۯw䣗qp<\}Χ :m~ÍFXͺLu\uto`ɦw;E=i.dU~ɩD_W6x]`]*$.h,^d7ȌNKafbI/Ȱ%3}0.eH͒0^ڻW!BL{wA~"@u:'5,W8bXE4ztsGH#D&,SzM #4ܸ5K.T:vúS/EjT<6xڳNofs櫚GΧEBc[O֔[6+y6AڵPx{[l9 f-Yk5uK))֮K&PSdrf4#.:%q 4. ġ J!4VR|>4}w@W'#G! e"OOGB\>-D@.P?Yə m݃cg{Ԭn͕tK46dͳ1i%5$}|`5WYJP0i򏴟j\ m04DX+pnQTl&v!xÙToNsTm~enYqrQTa_|h9Ll_2| S9"Ή2Xr_8O-BkB}Q CU9iP ɚKM9aiJXw0j5J^7bרmՃXq,5󑽇Ih@rZ{ M NfN4m_h!s<3D@,VT\qq^w+G{+1iCʤ')Td טS$ր _)YRk`4k䨍q]Vf hMo+VPlCG¢`;`º;meIeO >R@b\K7l{9L L!/İ۠sm;ŔP#)'fFkϜ8~lQl>Y_0an-to'>N>lt]䆿SBdQBY²N2"Q$\]wj9nŏv; ӡ4_&?v<֩*2X i ԞE:H|:'Fؠub$6?Je-L9mv9Z7Ŷ1<yM^CjqN`V;iVD աsa҈Iwgb&2" ΢p䎓OKc=BEHyևܬT@T=`臵N"Wt?0Yb(QZP7iP)4ų_$nAÁ9<_W *s&RnL9|D;Ouy_if;MR y&Fwkz|RXp>_a@ PteҗBΰy}Yb ߘ9btx؞I[ϫQyWVYE| TjCT>1|d|Jz{ADi>¹PhNL~7OeGiߊk|>9kHM/WաCfC# Q_, rb)2caweIX rdTYh@2@Td5x5/1//|Tw, MI;ʴAc״gH޼Q ~ft9apz3F4ڽJ=P $M_;8=Ϥx|:Kkn1Υ15s{!{CE (?xu22.Dcu:6ImЋre4I‹̀HlP{L/Y!$ --9 L|\2 7I*~!˴SgfP@xcϡ+""0< 3$d?I18&Y5)Ck䵕=9?I$T8\W GsU$1@ޓB zdnSCTE=[ޫ(m `dO}"<5K~|$^Jc 5h-0g2pMT CjZ9? 9CD/ ލw襂NZIlki59(_eOXd8ӕ& V?e:.;#|YbhP4:UdbH G3 ]F"Y(ngѴ8PI~U}#+2i6׹{چJ A˄}x|:%.[ѿV'P9\2n8!$GɠBjJYUG)q deLmV~RM}2c[LtcVqDFD0sj5fLDPʍK:qxL_EAזMy`ҫi\km [HJjaaSV98Fg|,JC0BYJ?i֕mIಐ\ 6ƁcG3 W\vr b;=QYiPp}ؐ&r4)5YZLkjES"= ׷Edzk6bNeU.xO9[/uxٚuZ!רWš2N!ʈUjSFSY g N<ۙ*4JqTnU0΅+P%?9u_S i>o($)2:bd#Scv\A$h:{v M7Z 'd^dJGS!1afO2i=E>o/b{n$fƋ^/-#{rV鱹U?3rVeIk>&ZWG"}d{nL JxP)`l; @4^W4Ѩ=ՇyqӟL%@)e>l4Վ47sUf<6S}& z͟JCsv3fW{שuMF<5 P(1;]eaICSKP: |zs O xX"sv6|8)Q T`7Ktž}'jTl_Og-A<'X '<&Ć~pAtXD\IHnYp<স1SЍw&h, S™xLS3q{@RV?Huc%>SC=k)k>wmDWaoe%sJJqT@)%`!,qܳg fY_th N8 J".%ڛ祵etDC8i4z`vEգR=?SjqFpᩍWBW Rx(>w10 $H "8V5p.HiKt!dGe}0כ3Γ>&ڔ_DLW,1)."B>#y:_4Ӳ_ U*Z sG| r 1] J㽚dCޑ5L6,DX*@J8Tu[Q] lR٨Ў#Z>?MNhO 縋:Jc=iL.JuxQr~'OO=g gH[Wy21 FgfQx#Rv &SШE޵'A "H/!:Σ]F *&|i)r!5f=Whk3"> Gs8F;CoVTe0Ht"iμht-;W"h p|A!S5dїs'p YG>{~Lb58OijmЯ=b8W4=竎Pl v?yR1D-3.?x$kKZ#Hl>([B߇Qc_E:wY>뵝F Ial|L{r)4 KF>۠0 n%2Q$[ѨC8&x_˰ ] CGSG2SFI0&?&]f*O\ljBu`x5!0fO˕4,k}mP#c]ז[nj %C,PZbՙs10T4ũ9J4I1lI}{G$qsbET_B|FTke2h=Y"<Ѩ_s8mmQgGf\REcŨ;XkPgV|Ԗ*7ԣHX1k {S7;vQ2U'LŹZCE@? WPtޅ{G*cWG%M]3#oT>~ ܰ;Q11;=> =#5#d.4{Cn=KNJ ~]ӈ@'7goVUazHDLWIM/O$6) Ircҏ /-14 6)J}h_-`T(@^0bBjx|8{ԃ8pbL{-QϹzƗuт`j RxAfkyfWϺA!J&c)-d(Þr'X0RT>Ib#9߫.G-#*fnTܞ-6;P+uIFԓ-2i؊J>͝[N'LqD~&YM˱@"9=q-|p/2P+`[$ aZf!hG; QO7hI#ӆ?nlN nbq`-+rL]J}f~QC!)_RϾTMVZTQǀttVI 'RP!^Ctnpi\F~eV7(kT=N)eBX'IeI+x1<~71<uBXO dTu2O:-nl,I x/tq6c)qbJV3Gv¥ʔ.{%Zz5-E0Ld.on%Kq3DO}4w46j3`E_J}X _xZG:*0/ĻZۢ֏ ogib3b"+mOYg۽ъ4{W@:v6\:(ZpQ;AT$EVI1߯(xY}vu,;&U w@m,V (LI`2;^;g'7gmF̜ri暙= RGL[s 4`J~a^&c^*˧Y|5Y*i`Fȏ<1ʻ :X-ʂݎк]4ziAG4%5V#x~ɪ9k7^m} 6 #嵤Dw#5@=8),WB8`e)&I{<1✃r#9-eq-ꯘPaP+TqM(z"wV}tŵ]21B+9.W(#S&}WЪl-ĐBLg@*dHMqmS3,W3b<Ԧo< aw Q'}.â\CTQ& O# ׼8h!iZbͶHѤ@^bEt;|Zݞ'uCOoIB!(8!k_gLѫLv!Ι!4[fp|]$ŪQhuɯ$9YGy[`)xUJݼM~n}52:9˃M&qu?lF/Hsyk3#f:#Kb wP)KٮJĒE=wMlܳ_#(~!_HUesdvgY'1j;35;0IEV3,4 Vuu_.ճBhSr9BT v٪2-lw-4Q"pdطXlKhb[v/'쟂iƘUWڢțGkpN/\fTZDp?tZ{5KCȕ27_4&I,& H%Z+ٯɹt-B?v}݉yTXUt[#Φډk>LTOUD648g VPa>s`ȣߚ9skqmH‹1ro FY鐑c-\ O Z?0v+#>>y~Nbɩ-8ŹhM" 7_x#-iND7ESH=Pr8f(bm4Ґ}sLiRy[+W]Jː'W|Y9?CX>r QM2^ <@Ou_`>{dOutBEj lH0Ŀ\rnA{O; /o-czUIKXA}YC&em\O=Ljc U4? &Ab&eIn-AP4[w^bBT6hgTaw8,A\Oi^5>X7Y@"7+)}хK:~) XIM}?ocOƳ7z}y` _{Shؤ K BoC^2^Jap}= 0vbC-FI **&Y mW6{82 : lIk/kǏdߩx}-Z\o3nfU)qjNH_kP[!SnuI%bmo.r8N,8̫aZ,K~peSRExуR&OZm=$UOTN6#$xp XG4unO+%d($$o8u 쎋]1*TxLW9GrcM3Y A 4G : 1}s텁1AY["kEQL!1#Kf8y$ PFzֽN׍Tn3va] >9MC>`o3VAOIHVh/Pk,!Aq N8G>oԖFfg W~HC *wro]ZN)/O Y`$-V#TG>\''0K"QЯS"(FtEF6S_pr u>2 DͿu"=:O|{ P O}|"c@V|)tU̗d*BsD 2qNp 8%8躏DiTgW8ue):LC>f[|`Eo`s#PoY^yJMr&C7] D(ުx_4j̖Rkp |9~€[mTMpĭS^7hU[+ h 558 2Cj.nd(jdAŽl>hI< yqWW$ֻJĐ]){M?D.a- v Ǽ\ AaN.J@ᤸ 81>{jԧ1Dy?x%;UL6ԉ'ڎQhT+pA=7' DOiè1;!%N7$;yKÚ`Ta# 2B3#Q- 1XϺX ['As?VjA|H ~팃̑"c!{YfX-+|$ǿQڟ s,Fj4GӢtUL ~ έ ?qk g8D|)w#/ſIBAZ޾c˜+  |b5&m>o~DB3VUOkķXӿP;\(GS'15'{?MHKa_}y*#P*M nѓYZC^~7Ɏ|SE^M|J:U5DDvpiى\0 \{~oO,JB³ȗ:>ЙeF,h 4A|vcunqFS?{w.s{0P-t+ @C4COCdwvrRq񻃉$3ʀLſ1,m^ߏU3 mDˣS?rh) fy7Zw`2OSDKL'Pr%`N]oHtM3(nH2+0"x#g sA?-B43֧CDebi#ʗ߼* ߻ fskp#)6`]yOȲz6U&յkݡk'%7XUk-g$\?%`]r !Âڋi£C$)}&5ҝTB9?g+&Ӫ"v BI4ZhgKJ=g+\kMc|Y[71Kr$ ~b vi>!Xގ\C6+}&MQuQ2[B''tF2nx^4:8"̟@(YkE䣁v~2 'm vq*Is3P,/;np. b }zSV_]oʅmq+ 6k\_q^S蔣P!f!q+h>z;aiNY/&~10BH3tƵ/b7Y[O>{9 PL;vMQp=k݊whTt#vYJ,~)Yxo/X̤*zgk Lژ/C[0"r"5i"uQIj|`% ᯵ugGqi580G Zv"4*4ɬ8|XE|7[ g~;V~ jn'N nI˾jXMrӡLC[Ծq'˰몛s{v6o0Xk%rwf ͺ5АJD:h Ҭ'2kŏ{Mm-e,?~!U#dɗu3Rٯ:KG 2?!^[!mC1Il6[xFS6_$CQ:jծ,R?#6Hz. t%kX . ^ΐ)3{l$]YYq`!31EiCc:#e( / kq$M&5_FfNcW%{Y.Rvׯu|8z^ؚ[˩4lqƺ7\)UqOɼ! . X\~nϜҿZHYHFكCtzJ_^@(CFže'3bAAS?2Kz1} hgKZ6[WX-y*B ; ;pcaÄM(l El#?^q4I@#̘הԣ_sT: ?/^K_l{ ;}w"KG.XJ4zB|J<Ϡ]pYd}Zm69#$99IxMr28V~̏B{B&8Zq[(l)IVSᮗMs8v AӚĕLh$fue؇5j(1Iwc9 wԥ i5CB%/ N\u^;`Q i;C,2ON*"z(z7O"]'Mm'v"[gIsjKw#_FdSlCMsh4U"3q MŬ Ie-dRW<.P=,ZAF}vK-]36# 9ZP/TFX" os,H_dJu'+[>rgv$b8@C[9(+F`bhHfY>,Ьmz 89y`jTVAb<n*A푥{} l(W~5f@8̎*e,5 11r0ҙܑ1߈8jW0C& ּ"+ɈF隄CdߢX2BGPS˞z$|pTᅂJ܉})G;p-v'Þ/_>EHBcMu^-,[ێJĩmx噮sJV]B XJ_D.PպmyP+F@?&{vv#4az'E^^'ݖ:n £K‚g̠Ҟu!CPuļh>i(|)YqQyb#pzơ3ѣ"ʎ^Gu7<np 5PCTzaW`~:m@Kl8rX!05kG)EjxNzٴD$^ XJL( ;Zݼ4+(]>FQq&;*3yܙn8XlaOX4+Gʺ RQۿީZ8 S"RpI( O]xL;=PȆꉬ8'-00A:o5v}ƽK79)Ed ҋƎ$23> PK|tټ< 390 >pa"e\ ^qȂѱ-8rU\3D ~p8W?M.͗.Xa3ġ77Q Wɂ]j&1xbC9-OW^m?Љ"χe|kj=Yڱǖzf\Vx%< i8Ǥu?<8): A`P1[FԆst98WP?nW`Î}G]Ki t¤d~[Т <ٷ!!~Vu.b%ӖQ^|;̸kADDuM9_RLlu|gw&h BuPղ5=&fAm v2G֪]E:+AHSZoAWs ð5Pgfop!slڧ<3R0 9zmǭ,I]_NQy5+Zc2FmG&#=4F{|=8e,P3{蘇TRlޫK5젊|zs-0F hbpʋU4 V;z]{3달;:,\dKoRlG:˖ R<5%fvǷ!(e9+(B HL'+ԼӀe";SdV ;*!؍rkK bF+FX6گ1H!Swn֝!uEoS͗.Qb MifrsnW$gCg8cQ·`U[j=A>5~?#^xj SRG{p= ۢ8Z)1WYFMU< kUzrҲ- T ";ɾl_Tǯb1c}3:ҏ. XcСl#b=W>2 4|gCxpOȘR^˺{L*mBg-0 :߽ (VY `Sc3<(Z瓙l Z&{x9@+Ѱ_f ^Z9uwTz&+$sJRV芢W-uv*8σ=7U'GiׂO_W-qe xɩ:kub/yN_]غ!yS<Ȋ: S'N>8zj_bzD_$VҚ AD.K* n΁s_ Ίy4k/5ǚ(F2r K#c-t$IW20_Cp-|+%a66ĤC Ipŵ"mՉ%q&&sfD{AFV Z:oTr-x,8#~UIܾD?0e[h =cBzœ_}Tk`}pT5VN~((I5X]JL ؄58n[TrNVW}lz! eNIC,N Qރ_aPDWOd,ߏwmWY{xWsNN F]W>(?͞WXKޡei &~8H&3gj8S3#keNR0K7㟀3tE2W^Βx{xOِ聒cyG!Wf*lMĚcm8=RY2 {3|HkJ3n<Ģ}Q a.b2%ՠSH:.d}k] 9$tBoѶ'<r'|tώMP}N"`x5^?ʪ!6=K*3o{T.j3}-I։hb/sA73tpul{EI/6b+Uפ[JIu#W7A` \LFp[Xl*3,Jq̈́|ՓgTyIP Fʸr]THF^RV.\x̩rߖ9);-mJ-j8McYTC8{K8V,3e0Sq q6.YQ#j$hN@xԯjmX~+22#5j\w_dazȳy(ƙfeQ]Y@xdtFe=ܶp;ckTS4*bQ=c A(G_n8ƊƤ/a\qpg$Qgoj& U*4W$qUKAߔ&&KBb-z|k4BXKWFrU3e0C30Q':)qFD@e>gW2f6i6?Pazeސ]SGZ;,joq-KE:sbxOC!钽tV)qԱ|)Xƺ JOwGy$1Ͽ[G^.Lל4+YW &+ڏ_ /aUb@!t'Gwr?"lMkP#.0KyA#T^[U q22Hgdk[ھZAeAkƆŅso &H[Bu{CCvY.$SDh,G`)pjNp=Xq𽋏F 3"9@9WmIVG(2ɉdIj MxkF//ONcf VGn_ 4dFGq!f;ö.@KW B6"EaSmem?\C-@4&46k զ9_zyWt^ݣ+0 [Khl|f:7D GlIW,EKZo=᣹K{mnw;=jL3W؉C =$H=;.[!pReu#lfroKIx~v9n=1;♉ˣ\eC5:Z_Yg>a@Uk2JPhʢyueSۂMiln] 4Owx { CJfz 43M'ʶŭpEi^KhcNCp5"Rjr=s8 lcy7iiGƯXûbPꐉ@UHt 3gz+>DјGnXԦˡkDAҠp~/rvT@6i<%?)0%amRr$͜3Ckϛ{&qkJVRHs 1/0Pt(t4D >@+ h3Hx П]d[l]idO3geH5iRiҗm&#/~'и$Z=]x@*>kP!)[S@%|'Q5ߏGb}~DE5ly`z\,翭k/kO me=}=f\},'A5XO:|G5kkӟUw*2q5:c_[0[K`ϕ\x-7ƁߖG<$~A' I#OKh^"d!\c'u҃dEf-T4RT-S0,«INU߃t.d)b.ݰ cwLS7c_U/jut=wcǔVyu'oJ4K3 sũ16S$g媆gg"< &s GVl"Y 1Hu1ب&vGlRHN)ya;BnhN%aNp٣Xw# /)xme ,>3P-ZÒbѣGI.v Ӹ[ Jb|)㕠3ҙ&Yo!JqAȓ ;EhngKFb)B>R/tL*C :?-2^$gkz4 mZCM|\x)X;QI^'߳TX.WOx݁-M})AjK9 ^w$]a塘OuB ٤8'^^bjB .Q|s8DB6tx_@]{fq;S7%m x5U_QEtYi--xg݁0z؏2K)8O;.f;1Q/(.d7N%q64Oهßa ءl[R.[9_]J?A{nZ] 9nyIWn7hPPl/8H .hm?7Tx QyA##n(T[| .7nYr vp}PpRH{Z}McCw0I%$})R[Zs~~Vg.'ѻP nr`mViC)'ľ뢣#58`7GNOZD%z:cĸVvyK}:9VjT@ >#YLa\hᆊ<|abbqzQ/U$ vg΋&·"}~XƊ@Z1"!TxG^ճ #U]͑IM)[gIˀuyk؝dwUA D; Ȑ-8dP"&fF;F sJCDqN mkdF:P&6jiȇIR'PRZ_d!Bt+׫{v<ј&j8`t2Z]"5Jmd]9|vh'0ffZd8? 'O|89zU_W<`;v}rMG0IZ{Ĩ^Yrz/<1d~A{cUmJ.Vycpց`*f #R>NIX }N?YM)Vʪ 5f"vRQ+Ѝnd^Ll1w/̹-_&^b > j"2N?0B;._IGnơ)zkKhaY72JsGV6eJSi‹u8 P3ɕTo(31GiМz IfQF~`lv]0^0iY.A;hJ7rw0rHک" iAU ѤDw]= b( z;?q;S$ӾK @*P~ "D2xF WUnuVńcW^!/YX3TMoË@"dԀ0vh&!.1\rVY벂P7,3MzB;yren^@i qݥxɃe1iW k[ \uVF\oSAVG]CZ%vI:PĠL^<2p:XJIc0Y8[UBj |O]\pE*-B9¥v e2AX`0?PK!myeTge?-2.,9CX.S57xc*>%DKհjɴ{ z6=BGmP˯7N[ ̼x_OWF4-٠~ȂwLqR,n v?v#oʰ^̣ݎAy S-j5L&دr岨c]{p?Рuw푎'jqȀ87T.]۹!,m*<=Pg*ix˖~rel87ho1gvQ3BߤlE‚>m"ňvdg׮aɈ@@/¶\ͪ/8}-Xngq/44RE&Z1BFKn͚koq\!&!I(6ʈ68eJ6Od,SYlVrO0LZj^}*PmF/"LhƾC󡽜8e0: q=Jdv4=TALvdq_ i|8Tϝ&L7~}x5ˣI {wgڇy)<&:~襅eR{(`-4MUXv2/3nՕ(ꞣn^6`Vo3L҃ ,b3e-mM. -4ȥ cOXT;eTj+/b v -b>΂WB}#qDd-UKk ySsT fzQ+YZDDh)_zptjK槀ٝ{W=lu.(RgiY!V`@]je|WO5Ddʯţ@ʖ䦁X"LPԧ_@0m,PpRCiqi _-n|ܗJԿ!!F*϶-楞RRNT]u9)#E䩍Ƚ!50r@* 1`ΒgN{#Y Z>j-ktk(Jk<i469s4\*eR q  E=#:.tY"HMǜ&1I1|V/5:˅ĸ :a &+|[!%k8?8(_3p/򪼊;q">?CEaCU~ #-:ß_m\[pv1[$/vV1PZPMBoW]rNXӭKQal2|{+>O(4'3T7GQP.(X7r,k3_ E. ;r(؄;&-7CO)Rnw}:uKh76&H }ILR:~5.|^J'r)aRͅ"N[_j=:Md@ _[HezN:BNgL/vJ% !T2vY?M.i:&vܭ6 X-9 pEM̓ΚD ;h[5*x-1̤!B-SpBټ‘寜^Y#+x NOA#-Hu}=ѽڥgk70M sC;aBaigi9NZN04|P`ۖ-jQBЂip/9% ٟ.,3 X=LY<0m p p6ޔqPq8WUJav{'|fJ8 inaY{Ś)k@VCN%Q(gY VrVÛo}p͛榤 Z; w)}qΡC KLNByZH ybj=X(] ׸Ē`@--WH⍌Hy s%g2ĭBkwgڈ=*ml xh݈6CÅ)BĆ.m ܕT#yn~&d5 8s Ʋ<ҭU KE*1Sk'KdC!ƬMj70DD=J/^,5"xA^[ rwGDA>w;8H6N%!b=ҷa;.3; (wzoc2ZT>E$adm×;N d\#dOJ] %]MykU#exnCZv ipf13\NL9"Zms/g3# j%v9:![x*S_7U2Uu%ǵow8= B'$7uo tqv* ;~ga /Wv*9d^MIJ{u =a˳@}-)R6zƷ\S2!g~Fp>ɡJxM|tPF%- +|GNRN`8u3ߥP\֗h%TqӽtTR=''[(fk. x> t`"ʵ`vKփLoOdz!h/` I k@܆[.;Ův?51`Bw ]KO&x"H7pSXw5MٲMTz^{C%8 ܭl{Ь`D&5SWSL@ Y/FqV->Xk89R2ulY659s÷ݬ9<$3xP< Oe8fYe]bHL2t!ˤ-tIco(秏[2R~˰ĽPɰ)p(ޮOܵ>*E$bT̮೘(M=)4pjG)%%Yi`l9ShG׺ھq5ՔS֜J }ӀY@x3+_ӄVmG] V"FSPL|2{ Y;JCXWxe^\"4&2FӼl,'> Tgt=:EfL%.9e8i3Y2 5v5zE$QۮZ?nPV3:WbaV)P !Z qmYc)W K5_7$,Z2{bݥwm; ߅>d(VOuBmyMWC+V;śO(Q8@kQFy[! xLҀ3REXnvep ʦ͟a5FtWMO&;AYX^1(<8pNVAV_WQ9"S2#R'eY0;?/Rhմ.:gI-LI.=yAśZ4@ȺK[V6@1K* rk^65Xi gx<5d\eȽmCDmP.-p*G./?SJaPA_l\1xɷ_>dC}-?g1  02cJ"Mwge;mZ 7ڡߞ|o`RPt:z2O<`M"9jpqǠ1+v1kbWY7Xt*.x7xϸA2g]&(tHā;%.Z`~AjR6o| ?k1Ԯ1wi&"\S VbOPyeeq0H!YzG lۢSPh_d- J5:jEjHVǔK[#Rhy|1Pg`+ C+qf48:w$aչV:/.e_E]A7iu 3_BotgļVjNJgw;vc \MA7bk}15sZGet, >t9լǩwކlA$G$tb.S\ٙZUYuhgΘ!_?ِ?fio<T4֊<Ίb,wb:q[PfhuKJ1/,\/~A?!Ά,`DB#(WҺо.w(Xm5K]rR; 5It8sQ1|#2@Ô+J[BMTU3JnʝSV|0ը΃_:T%!>|X۰tݙ[jCZcc w @@ybf8ww&t«z[*C],nð$U*5:`4u *:e-t?U:ZWsAզP)'v;ĚȿS4HYm($ '$ "? 6/nQۈ^VF"8`p%DhtB&#>w>%_M/yg!WS`E{RfFy `kQSvQKYɜPJ5C NuM,i)H; ,;ED<arV^%.ոGImj>)Q4e盭 Y "p[Id8?Ex0kp?,8g|ޔʙE%M$# G!nG`Փ=#uս # "EDέSc CUI_S>.H; +mJ{kVur@%4Qlf(oy)ot,ke}>N.IP,58yA+ s^9K4l҉\T$i^FLتE>jU8&hwWDG'dAt-U>;cv83?M;Z!j;zl!QKe|SHܚ@lw3v\F0`Sts;b=Җ݇_3J,#85<_<,pptST Wd#(]3 buj9X K tgQjQ̓RZ)֠U49v=u[WV3.?u@: 4æߺ A SįO\v22'= s7zRZVHr9cIIN=ˈ:lurYt۲6yi$d c vUfpZ6yg +0X.XqGAQYΈ'xxМBwcMWwCKLf QB^쳦m$<:HpCV7AѸ۪1y0hjnGW$r_8)EVQ x˹* ?~2SWm(%BⳫB5Q,*zdsA(RɼV=zh|%/5 =&i mBw4)$ Tza@fQ:C[ߦ++ljg S}$af28!sB{o5{%!~\|5.\">Y7a2JwpckZ i wAWBI>pӂ#G1_bސTMڪWBK 5Gi*l)PU@ye~3{Hq%CuPw A}.tnS 0A U*8/ca"M<{M[DwD/ɑ=AzDiu%?dRWj!}SK@IjeJbL) }궕":?bV+Wu4sw..JC205vm{걌,SCCna*S o# g{nzۀ(v$g}Q֕f\w@4.J-q,vW1yw9 bK;SRݓcRa_b'*K4~DE D(q2n9kFj9bfm^29< "b 0ߠX Bcn<>-AlR"r kNfp^fGt 5Lpi4MI<~fdiݥANk"Ug+%)szSjȯ4iR̽rZȿ.NxO,?徻5ݿkv?N{,o`@=F|?o `gt%+I)3֟(E#|-Bo;!0Cm. Cg+_'9Cd{ QIC T|{*|/#2&zASVκ |=9B'D C$BRDy06G8 j4HI tl6U@]͘=@4 1e:9?m`?nP0Ph7l#vXW 5pm@Q6YTS3wzs9LD6gS\ {Fƪ<_i:*6NPܭeTze٭113-@)Af*]}]*B(>_C>n.O3vf_۴ylL>!|kpe \qbs4~u K N7;7NѼEkQV^ "w4, f[E>8N`M bCgC\zɐpu0~=q/ 6s%Z ӏ8xz 7ERe6) S8KA&Vfs4K !{ Fj eLz|ոeeOꊊ#Fp1H.\=bͽOy*aaCV)41{hMi@@Z=q5jâ Wq&:JOn7ШcK|s,KqgGB0#ƥѼcuSxCYUp1[Cj^oӤ[cxt0, " " r6SO è_c9 @ ЫL~&nLVeϰXHOdARc! yL^.ψƣK eO:Jp|2 @څҠmF0^~XzU'X7EX%0VDU1u~DHsHzC;d.1 xnA4VrT|Jn9<BKrmu3|b^t',f`fVYoZ`;#EԆ 3QO)!N+d&I[>pt|ָߪF hj) fsKn0Nzapٳ2z,ùqo,<)ݸ8>;a[Q՝V .쿀tc~Nb.85 aRjr[1 XMMӸv} "`*m\|ҸJ3.MʛNƲ殐 f *];sSD^۲sz;ʀ反 J]aϣE+MATVnG)z\F񯚡(i`@hCBzsMK;gС-Vr3~~ ڪaJ0HdSo5Ā%pZMC5b4_lThdE݉i'2{t |Q24tX~u0JNl():L=Wo3PҺ(p,+|bqy E~pBd_64JWK"+jzW[q݂_pZhe1\#9V,]UéY{H:3 e<(7b=_+SU#mp0UF*p%fÚsZizҳ^߸'Z2{|Hgi߷U¿^8@ ɜ;YR{flԮ< ̤Wqǀ۫6? udN7J}ֱr.-?xc/tAf¦wxndFA,njzu`7+ؕt$(RAC[!{d#I-fw^^ kҘSp|` ցQB2ҙZveqֳr,y",īwg3zwYR9)[ :N蓮 >&w\RQf:%ಐ Lr~]hv5#ĆI@=brmY2 ZI{ޤlb^%  Ki.fhke8R̒/>7_3vDcTI%r8i!mF^R0e~feoe4RO^@8(mB4%xCKЍ('2[]!dp}l\c~jۂr|ԭ/qx]VСeѡujm${&o mD^ujԤ`"y $)n8P#u;Rqרh8-JTZ_ӴA8ڍh@IwOLZTR<6Y26x`pp]3`ݯ*e="EE.OLs<˒`\c  yޠ;r<.u,p=FB&X-6 0}Ek"\ki% c!]%A@>[:wa#dcsĦ]gcwS90v9^,_p[U1ڂuj9V̛HbT+MnMuo OŮ6u#'ʉpP7{{0c\CAJqɀVS 2  [Y"ra]ʅa?Gަ])h( VZs %@XCaBDY20v %s'% Jt¡iW:GׇNC};.kt恵`L;s|"pl+ ;^q.=*ߧ%Qz7!Jx7J02-OhZ;a\( ]k>B;3mh}(W>yIm*_6qa/!Ya Cjny2:yQ6 6u,>g6hkZI0Kvvci `mѬ6vלGa,4oB,G!R]j$aҏ&d ~[3˽,x1XcCiȾ)Y =̺KfGNk;!̸3q5{XF_\f D]Xn8  ¨jGSI%zoED<5p7Լ`VकmX}$x;EZ"!Z2}!Z~Fbrs>Ak%LJt7BE\oS[ },Er B `@@W N  ]`e ,N|(S~x7c?!@>9՘Rk*6*smM/lEjtn, :y|CqNmÄUl!Yz:(ds"SW-?ќFE9Tq}*rM^?o~YuUہJbGy8?`%hQbU/nAJ2]>f&;V)_<_ +8{PN~5CVXɶ)'~O'm,NdzeMx"HFlh'UX(R"~== W sI-e81q53[ɛ vU(fxCWz8:QJ'B())rY)g`OQ){vsB3$70^֒i&\;L1%#Yl^cy|!9|iȉxA`|]%n̅ĒQuK;clTB]Oga9*~d?@L!Wt\TS%?Y5܀6xZLwpyMl}+Ϡў)yl59ڕbcZA  J؈>b֫w3P 5{ш&.⡵ >- [qlVYPq&; BBVEw7 ĪUf㪧߰:À?>pY=[h& O02 D3np÷jfk}P"S`gv(ձn_G1=dxxrBBe*]51 Zx?{H ~iʱ㏾)xd}F&}XXxXK[,zZ?+,i%IzVKU#Z4sB?0˟ٍM{J?t-h 暄Y;Ы8, 3\&zh<5\,!})Lw<1f)f~Eɻ.l++\,4(iuDS]d ZaVrn͡˸A1P#Ih-|Ҹ2H#Ru2CHSr"w}-{=hKsStmf emT}P:r0'fXi-:2x!)$U9qo+mh{;HLQ3R(90JJF3yn%Ff/!/>&bS0|iDnMrƚ!3qEjAs&ǥCǠkA?\rrI|Vc͕\ӂooI,vFҧ J"~fAD-Fۤ!z-~>T2m_?(Bb۸l^_]8da 8bzksmfĴTKA`4' fӾe&yPޖ4%xpZxjp?zٴ+z8:UkQ|a*qm(-uK(? Jfr.WZWdi52t sE'z-S:Um" cTxw/] tRKcg8n4},a拰]Tpݘѹ;"v, pe@e_$"Xt;z/&Z(eJwJȚ?t^X6a47Ftx3YLu@Z$"́=,ͼ5HFYcn\qY{FV ~G'%_WRn]Oʶ60AC\@oh, CG 22IÛ+ (Qċ-@|m1\?:bxG$fv72}VLY瀵FNee$b#ENM,~%{]= JkɨH7[ i1A89DFA^_Q3?"iTB:iխw@ėv.uvulF e*9  r P?e 'w9%̣,d<Н/Ao[m>bNǝBEO[‰L8d9);k(g.js\#dbͶ[^%rD~_,`p6k$A&8NǏDnEe 괌B'a;Ud|]lǝy)R7q ErOxĞCp/vUͽsuӏ,X4Fz4{xz曙@Bm9,%1AZhבut G */IuŠn x&7I- _N'r;](uxJcsjd]U% %ʏ+o̹Bc ⻤lec7r{EX#vѵYu.-Tuz:i-4WyxM'ԗ#%ɶߑ,جʙw\\0mU_?jƭNun{'_L=(s¬%|O-4+|WƁIj Z#d80\(YϹƴGKӸׅ 5Ƨ(Ѿr9 i& / DK+4#AYǩ%\,6o]?9JWY3t='MLκȯ>eDe;(r4jA +Jg(GF&JWcBȹ m0w_G%ImKdրMs,%ocr ]f{u(¯yezՎ c֟j HޠWoa,Y \U={-e| q ^)'$xz'V&\#OId U@1qA?{PٳD!(f4?s׃[P[0LMỉI`D@E*!]Єa~bn&2^pX,)PUq'H3[o_"GwdGYK*ϨטmvFp_BfdR8J͏~5@UɧW5Con]$ m ҵ'Bi ?/D;,O]&z( @YWL~G;|cX˧/83:_lO@ª849@ 2VJs|W O: dNȊ^X~$z!X70eu IT9xwN\ P!SO;2F3E(1*z(-NNN&f~x ?MHVpZ$f2 cu8i-莐b] ^6я.aTvq L6w=c]2{ 본AZʣtBb߷g5&fԙ},գd\~NwV@ $(j{wY(ПS.Gyk>Cl@Iѓm֗jeqSŗ2gNl*~ y"WHcnA :)1Jg1f  ?^qٞDz+~ hB3hT o Tgfk NJ$/awhd)ѯk;%羍=;݊?rVG[ȡXM#Zݸ̗ٲᇋsr+)ZsMi z"ف}&NW\'u 3NW#xj@2Ge> %'Lɗ=ZQƗ4ѿ^Ale“6rx%-q[ L tZvst-]=!g'C)$?iYTo$l/8=kP񣲀/b1#8 ޳@GΕ){JLyR0-\Ul7{Il\,]9sRyFe kq6qh6,6s K:H9TA[\HrCG^hxhmm7 ʍvM`h!hu,DwCvs}D#M:AVb>x4gXaM`SSW|F-R^=@c8WEZK&3QFK(1W!aݍ3"iA |_ͱyrmW6}<9Ӹyw򅧩˖Xqo5s|<˓!oWwW!;V\ `R%Cߣ] vɓrc^{N C?cp{O =Ͳ\ A)@xl>$Lss`ڿuÏ~?n8uuXoP\ԟ kˏԚʏ?h^HZt]=$+FUɪYzjQ!*n*u328k_ h~gǝ%9H݅Y/Cnz5t]/6j'-Z';+GȅZZ%dWgjy28ƴժD8DrU{)*>jE`/䯎!)xl :lpH81 #1ޯ`4- ť(, `OB]gN,I+Rvˡ{C@|zu0Jv hY." m@zZ4/V#oFxªuUL]nW*ʨd `!I%yj.SF]Yݕ4$=LТ* 5ma^G(Xa>y8H%"PoskP_/0m~XZ3$ρWF-'}W䮱= pz:p#N걥%dDRDnҹRQ%Xu1a{r~`4פ 5tb}5_fCB&/DHY`RT+LU>v7o(88{Lp!':<:IDQY5 ZÃG҅NWUypdPJccWIιqeG'/XOLգI.4nY@6N.$5M^uTCufL3ST7`՟^70pK9sSy,RN*ԇ vҷxv ==dWKê[ |SR.ni1PK}L1ak]t4BoSy׎xt35al&rK~ '|E$fcv/0JW=-ÚonX^8ܯy^696mIZݚ=ln3SZsz1 "[E{p-B%aY'ɐ81G c(Pڔ[{|oA@0V$G aR&YX$6lʬ>]F;d4oDQg7+Ӝc)TڌJilSVB9Iqڃ=fU|fża$#)y 3n] Oj OKLvA9w,>D%Ŋ g-Ugœ"6n$ʵ*#LwQf5R,D#? 3D\b{vؘ6lJ]ܙG\xW$@%Kdn!*$gLa*8ԧ_!^-GK $Dn/NX45-7&yzL pC}nkRe%5/9GX5ikuPiԒK+²@,Oͽl - Jq# 61FL)DŽ,yAIVʸOjG[_dg&kqI0һ78/bd`0 , s~Ҩr!Aaӄ.j<ɇ=Kϓs*Z+h+m]^mBd^,:IeH;ܓG}Ǎ~\E\Ry9^n& f L1`V0`n;-\ni].;3.~ԟE}Ipa4*apHwrTԱ2M0IuHy(j\|F8a ZXtYL/^V:)T KEpv)_*g?t6{w~]Đ=<Pn#@q4v'u3S aw??U< M@$ۥ~XX["EL+(֙^%I"q"j-RBzK0ΫYCЋ>4Ii#$LI>NƕL6sM_a:B (SS;pgz{UICXX+zNB1oFǕ(aTp^coZ쓌5OogA_RD=TvcԞ넄 .SgF3O.'i>TQ']SsȌJMԭpd<;oHR&^YKaS[ #M ܳg ]~?ۺ=϶[N4,Z1g)V# k2{Iړ!>B+ʣ4T(q].xNtM<](98Y1]_jKYD}$q3#Bk/7AgHbDlBX-tq Y>;hr+;HÝ%}LO1ē`صgC)Dn1Pp_] ~ Riք~]&$$,JЍE=ov@zVdUe$&ܙ -g -DszU]˸3^JvWAZ$j5>'ak (@ަjCri$+Þ'^<RsiGZOTbjU@8 Ԍi xW+f`H-Rc Lp *y !˃Exdq. nA>zk!ڒ'Sa<n_?Y(?#Vp`F\jI Ǫax5"M_Os7瀞op7XiӘ[A(Jyנ5x% AyP?q+gg@ȥ"s2> #2-+%(6D{]V(aOM9"a9:SR2%!G )mph Ij$2)5h^>,ʉ.FRi4=V:4+9"^_INifTāx0%֏iќH>Db#hnziVJH"|~-# koƟ_;עX޹G~Ź)Q~j휠UZ1MuEo4U lfCv.ҏhVFZWU@џXmsQC-9%3\&XY$T>a}35?i [K?mbx7xJQhWR}RhRʑ)ڔg C.+ *ƌ/EU\c-.N(7RH~4@mT`u֝VavPKyXJ}ǥƬ51EN@<3ĞA6]'j?DJ+BA T{2i5(1#miHt5TۻϱS'Bb90R[l(rn W ѯBކ*YU?&9CONy5 G},o g펎dCw4 t l5Hvtg -G6Ht*+#W`Ň ̊c3;0k8gkG:{;,P=dz4lM wvi]m*W TeP=kѽZ g P/'? ؙfqj3=4JCN.LWX:K^2"r' R 9sY(V&4[VnCW*i,7kUk${^ƩZuV\>fZ_)4: 8g<7,0@Ñw:M t޾&S!f+HL;B 0#Sx0//|ڗ1޶L^%^OC'\ Ac [g6gə{1P`peH+}\BJM/,܂*/gO?+&u|eV҈* OEY1Q8L2ck fne{s0$$joctø }B <,"+# |'ow`~vw EsEV"5y |-ݠx!'B~ޮ=r~Nʅ@9u.MlߒYS;>;=dMp < njv+Ι?-΀k| H¾nqҨ'f!oI};*elkR/s-!(*T6Pa*o2DNK#K1I߷5(C3MfXWNCY񄭔Dݔz"! ~Z6vV<&86F۴W>GBGC @vM7, q<*wH曐"D,B'aJEp+fL2K5=u'{nGhh=!5J&~cQhBswcڌ."XD9 f_4Ki1)˼S-V<|Ɠ0Y4¼<J#d.ґPnCy|rZnk\fK Jlg>a?=A4A䯺N*KVa2üsifKn '[E[10况ubrzFt75𤮀1L𧃎aw8W5pV:FcΜi2WESegw#rScp%+zOߦ'2Ss]7f{Osf& 7Ad2GQ*I3ag2v©rq̆KXA&X)*I;a %dL }9&[l.[Q@ KNޗ#@ՐDF/;*4gk9<%=Ĕ]l<s\t= :ïgxG;ş9~_JSh_\փz$۝z30+2'J}4uë׾lKG {&H[1fnpqeѐ!nQoi@z={ d&*op>3>I3J|{oCh^D }\^ֹx3kf Bw=WH<[ yVv%ɇ~2 Z94{r3H= 3U9,ʥlBRcwڸ\ۯr-7^26nڵoS)ǑMk$ݯbߢPvG;+&GCz7.O6fZ/7`Ppx,i9YF{P ./t)l󪏘8 Xoz);4Hbã6!Ң[R8z$ ܣ5=ac&WT}YjVR!*ʋ/[ 1 2)z8V j瀍x\RD (z kA+Bq1͓`xoCpl6}' ;Wn̬գ+ Owy>b'2рo_;W<4#!#9>@aH(2y~-y{OS8uϷ9Q`637=cو'R:yǕax8Rb1!zb"A nQUus7Xr=Cy5 +U]`ga$L}T|z"4;bȠθ2%6T I.=s&/jVA̾b0E,ptW%V|w R>L铇H-)r\z 6O:׫BK!]Z;T|c^`6"N sHn4X7g9X>.%1+n԰Ѐ[n~zBO tiӪ/'%MF;!r#ƺL۳'@hiMW`61 5T{]6ʈ1BW{\rdžهi{W|2, 9iVȏ0r ?7%_в."{XӢ(HfMIx< ,-6%iI^NDh5nDY~|MLg.;Ո` 5{=/Z'c?^[Zi@lGR'̭p m?A \\K2NoJl,JgrVM 9{P95)jXty,iҸ̚nOwFfm0{( tD^&v|9eGUаXPrR}"ɽEb=Uq&77)\;r0+QZx溜eyH=v("w̹gGik>[R}x d&kܪO G1ھG7|jމ]ppě{W&D}h-.zpdYy@ekl{j9.BHM~_1K `7J̷zf~N JU-:s@_ޱzgVhYϴ*,*ۥop|* s~TSwoI'vr#C![ۿ&G1RZ#?`MT qbDG/*uUeRA򿣣c^i>NiqD>.v(w|4튓>qM۸lP{yuLu<׸|ީkU;͵ CӐ>YSi cTX1|/hEI;F5/N%Qjj7GUbˡ! GEDɚyh!Y#o1k4t>q)D\,m"TmcЬ`(f6hX"<.>Sy `6am/i94u(/}: CpDM% U40"Ek9'LeKؗJ鿻 ,r|].3qL*āf w,؉`抖rO.K#y< h K1#Z`Ju: R;mkX-3m;p~Z|N͛#v%&J4>Bz[q8%r/o?|M؃u֛I!&{|yW$*ȇ\'H$Lth',m#Q!!/>7|1g~zDNRDhMX_oaݦHkd#{֍LL`t8d;Js# ྿4*=κ3)㉂!L9vd_h*X49@%꼠4E5Xt+t`> :Dp T]k =X1˸ ƨkezVl_#6 ݉6|N!lámޠ_/t18-^ 7oG:zlSyqMl{&S|f԰)A( *27~~Eyq͸cA18l–Cgu3~?r<i3[qYKd)_!Ae%</3gH,t<.inKu>sM7kx5HCg/EF_c~ PsI4*AI^8<|enapP#UN>'1RI+;ҨM2qu z*5./]r d7 N< haKZf/ֆs5῾^AAp२d\|H7y$+%DTmk8Mūr^ &q0twϫBZczHՒ79_]E\n`͒O4 455V_WEYonP*rLgŅcqխ<rEY g_9 i =/#'ڊswAI dr :QtHz唋vVNtM)yD<+k' Av:^q;&*)[UWA06$թ.TB#\ç=|KgLщHv7g0je:^~$1""x~XJߞ/ =Gg  j҈[ Т*o|D()In.&s䚦<."eW%]Q{{jEV~T]a+8rc8{ :1?N9pYC-x)>'a !SM>k)xHbiLt\t )i̿$+|I'.>Ẓt7~9Vө^ OXZ^D$lCkZOv4Bʪ=m@L l-U&,# t, iՖFz_ w ؒxV(7jiG-g %3xɔ*2b7BۯV6$?R*dƧ̗5 ?z qd =~SYsR+e'jNB61gOEZ>Bl*0}HdZ7&%(:rߺvSNMmQ@F$|pSjO5_oxݤw={ǡJ,<ݞM>rE ^#a,n6jJNPL.]) AtM6*s~+Ch:$1ufiuMn\t"J``0\TEQ*a'hEV1JQbO@zb5Mʬ?m;2<d%+Q)TϣW:!Q \/:c&32a< ^HXa#]X'gHzJp~Li)bĕ+˜/oH|s7R&yEK>G8ŵҞ ~GҺ~eaeAڌ|Whpxas^fB 7K jYiEΆPO@A+΋_ڲVY[6j'j &[8OG-K^a=Ap6>G\nC [',uwG~ GV}Ӆ^'-z݀1Nu,b"[1a6 \85#OAdIf%a1SrW2ݿv>=/+`=mbK?൐ζ=%ܭz2,3Ie *yk?}xb,`Gj܇080TW6Źb{C4M]F2Og!S{cF:&hW5+|G(+L}4ԍ b/8ީ[ؠD_ ב' $IBG @+9w'/Em%[fGPZC[wzmwV:#l+ekJwB td*kj7p7,hB`-D1 '#ޅ7K `[Vx z<'Eנ?tFXĶ;$;R~k#{K 4 1-*ތʼnuՅ9DG:ʦ}_g ô֗"e:S]S'([qghg;NL<)ɔ&¤;=3Z(B VZ% S%$ b{q|X ꧑??^ŔTP#CFͲ؇E:(#p*XW(O24!PaY~eJ^Tʴb~WR:!7- )yܙ\i|9 =A%Ƞ)Z:+1f5z D; if&_`H5.*Hѿ="~`=V·3֗qIwd{w`JSü,¦5Rӽa:ȟ˹u"uSᑹQ+¡bPr |ч TG/Tm#C&K!)~,|GH,d.S[˥20Zd%I5}2 V/<$u9I"2G9L|`XX&Qb/h 9Ho#-]`ū#:Hn[ 'C aӬTg -0/ƃ{Ǟ,m, +6üb| rC [26=Mcd:m@] z6 nӗzo6$YCIrv"T?vS#Ba9#01BηiшV_-6CT"2+1,rC|_D[3lGk&ZȝN=st_{Rc|OU{wo>;vP}܌H2mb!R鐺B88)3n.Q=T8g=\Tt~EI),%&X:%#99.E7_ԳKMί> 9i^AmY|R]kDt7*[Da"2:]Tds)XŦieO M=K" NhzLl =8stY`E74Mͺ3aMfr@q0}S<$K m, c/DVRi_XzSqbY:֨Ӏ6"ڀ{oPeN@o?͜C#:ICP|wSj`f;MfèOd=T<ݷ 5۹yDn%TG$Cbk̹3vLl0Mf}#/oDB'h$i[$L5qmGJY Ѥ%D )݀L'ݠ+@f!D&k'x4|#`?CXwl:([a\u&Mܸ >쮵Ԛf'~nOJ2%6p|JRmZKU15?}~镀QOΘTوx |q~5!_ <~1B=)K#c:9#M*0b n@aopFtht@œ5 NL\MKFc Ga>3a+Fd~lk[C'fU y%VivYa ޡo] +8_s29MJ>EюDXp)f[8 V02Dl}X6X<Pa [b-ETmY(l{iC3D'4T\ 1ҚZ~UV*Y3C4,E>y.GFf*NFC-X*N7κ Wأj3ͦ Urmq4fݜ.)y w̸/=:[f)ut>΍-L]|^s0Rjueo էdP<~5XP?M}/gx?j4N7,;A#>8Ewڝ"ɶ+hNt" ѲRCsÖhe7<}0c6gv}=_F(>xэ{Jt *pWmx͘q6p<g#N?@6`P3Ewbɘ06ttNߏ!}}}e *0}S 0u ?)ӤO؝#LG`  Hc_D`pRi-woiYO"5$jilܸUNtNhXoNd[W5umWG@N= j_z>D >IJ&Ft=ݥ9ڱ 5 y^]Ё}‚2UayڿjCՠ~肯ȯI1C\'z$+s</\[RzG^\8iMyƦz׿33%rOSh;2{h-U "%Zz '"XBKĕ[&ebrL@㋷}Ղe8TCf|8fm9[c_v;.&(x 5KKγCˬn&Zx:~j,ֿF¥ͷ$ 6HXskV*d89"9#\VʐB-pmbi#olȼzkm*rxwdY̒:ӸKށ>猾kۼ2 R\݀3t̩&IFYf `c -s/^P"Bc5eܣ&E$"{oDr@ԣʢ- puhΡrRXcqQ. FG{$y#_D耇{?, r4\/y; \>(!.urR =7a͊M3E#AhkIVk[jLAD( xJ=2~? {Ť t&Gu 0PɃ h53!0I!(n0:n"$%'RغQ܊i0-xھr^#ߨmto,&[+ALk3Bc[:A>䈣`l FI]ԈO'ܔcNS2 غPnś h ,}o6,N)ηxXG>mbbKu3̭aqPxxT!7YH$ L}WgP^[>uґʀՕȅ'^=2'oiL1s{_ܥc*\S/ЃovUnK]| o-;MdQ`U9ӚVYD( [l)ZM]h[5[_U7"Ǯ8PMDG~wGNl~|) e  AW1<%&?7qX";3lM"M4'lm7)؄=<|v[9Vr]qstxRd=9'rXtM aghz!"K"1g7]@Oʣz+$mD|YY노7OD,;d܅>+PS}%Ƙ9_%^A?9h2QR`(#zݵQ @[9"B eK11*fq}婐)!pqV}E} fH!ITi/⼾ZbJsQp3PP^NafDFKFc!2(챥ռ xwֹ"zYνpMVىgEՅ![C˓8&>0 Dϐ99mCídy]l'] Q@ Kmnf X ~OW rA`ż$J-#5N,'PcM@Q`VkR"IFd>я{쨯Lo UPg d\rd)Wu0`"H!;٦c$:C6ޘ%&О#SEG{zU1;et~7&V1ސ3H,n4t֗|ب z$g6,bK Mʠ͛rf򔓎TDX̘oJɳ,]oF0K; {vxZ{}*hEG쪪-fS?94!hWk)Pk(BF3 >E ~: %|ѝ׷;UƁHy?DuXost+%B6wۨb@|"˔Rp [Sn*P t`zDB.=ǓH=mM0'~|R{~x*\3 s5x*22%NfoZVj V6D1NBJϗwEï>p D7yoGCPdQ;;n65YHZ'@Lq3rL46ۗP޳cu[ o4] i*k[)K{8 n wx >eW9޽,TsNS+)QF)m:R(AfÇ$# e_ :)DUWG^b8,buXZ=YG 96&Vϻ !h8 iaa xͶւw1*$8Vk.&ܱ$ m̔4[FGԵR:h $)S1.aG ԏ bE UUuTT*sLqrN)  ևh@Tkf\4s Qnn3,_bJLe c$>[U PVͨ!Ss.X>9R%Xt)  ottXAaZ\ZzR85ukgn1aZiKjĸ_wM^͖QW7j|Ūw441_ YG \JMd΍cL E- %˧݇LC&4a݅?y֖dӟchMn ƮϪ N}rSƅ׽8b.?f ԕKzh(z>8\iZc< ".3P~\C֢DjyŴw5cf[\mʮS-iRakUkX1bAg.Me~[$Ե3 9dia Ia u;<*pid;bF7*xMT pڏt |+Ӳ1kFK>HAzb[ObXV^M0V^QU #tduΦ cط>|`֝0Z35;TaY7cXu%: mFλ7u.o___4i] b<[ywA4;r^#`OEIrԷs4){kX!MD~wݳն^8&j`u(? =!fxjϖ]E5 v mAd!s>v:zny1,$C1Fq2XVmb\n!9jAz0Ofr얧 \N i'|=ҧG+ZAkǃ H6['^B0Hޜc<-EpK^OR@^;ߙbtҤn`WDz{2vC &MmN0{ֳ]6ycpj̜atr2Af0LIql0Dz+&G)%yۭ#63.BOt[/z 8qH. ևk # >87Uqj*lСf `\-Fc$N I"(ntḳ" L+.yPܗ"vIU4>@[ٖ3&iMKdTKJۼK.3r2:f|i{#)R?9?A!X5oI~l*v&LNNj#' )&Iđ\PXO(SBЯ=y쒽5 ޲6 FV%fkFÏ+h,O-%9 ZbN4@@nȹ] F6|0g{Z)?jҜ>D1)mwY\]9@NY*k sxy_wf?0B3C,{oL6N; 3Tr >b {r:-+4ENM'ʣU-x& +{aeX%&V HRGΤtg֍RVϠpiKcP]fiB.Ж?.rgA3luv,ZbA[mK$2S7űWx1yOA+)f24G2 tj떫4;ΓlS~/gK@cy޳Lu&)OL>DpŪsHBPR Е8ڄe`1}n_{ &Mq3{~ySG%h!?2flhhҢZ`i@U|0ʥB7KXMe;V|M -Ar5,@ F:@bn&P~FK76@22vs[ )#kRr6w6;ⴹF_4k=TW2*x;gb!+ԑs\uasj{| v+eܴڤ>R|fm90VVs FWuSJ "˱O!W(u xD&smR\5kU(PitTP +&M"RNYeov- lR ;PUI~h,rl9cXM&g iypO kkGSΐ㩠d d#.8߫X5 3KX)*gn } ءAv "/(>#\8AwS}2~i1,+27 #fIG>|Hsjs1Ǧ4G5V?cNRWhBI oJthӧmq%\-]ryH*#:4%u@\7HYh 0-)P Ej +bet/Le^}` 䙇rgCq!iSЌTԭx]VA A-dQI\LGpNe[T˷q}$5]`U>{.ym+XBa8C j\c&r \g; A+DWGn^w?H؞wLHܣբ&McL }桲@Q+At{rvj5Ŵή-wE /X3| 9r~1r4ikΘrƇƨKE!tI|6ʐekͰv*j~ן 1 U9 !n(%AJ<LBz(6MD.+Kmh\@.Vr'SX'êѧDKHI,rv"S٬U`йl˂졎RP6/+78Uq+ 8K E-̢[& mȵ)[ըU\sUeWa~(;::%uf0?6B_gڠ#h-sH -G[.wLZчs.:r)ydpYzʁZI^Vu-sA},IH71AILzIw?'*-^veϽMwrEsyRrupt@\+I!-h9 <+YPlDq8!$BQusm+ S_(\NNDMxZ=\j!z<Z˥ƎwYzJՕ >Uj}Q(Dhi3(` ;Z,_0@FW#rL p 1^npFp]ó@t|C[`-y,9bǰFKJ̌=5˨\^>1~B3Wvy tC!1H(#S7ulElԃU.o|Hp6Dv$dHY=hP7ܸe ItK㸼(b9)"?9a|(~=̊t]PlBzH0W^ۻӮa:7El=lx+Hhq/Cl̤V 3m?jr,&8": ! {]{ȬcPe9f;7 {g~84Dc6]H ْ)Oxjl5 Y1uUԓrH-uh+ 5OQL09s2Ó쟏FxY* 6Vq(Ѧ.vqw"X'=$nоƘ;`(pH]*.jV.=7yse׌7 HAV=Wv K]atC8G\Z )W8xvvk3]wz׌>ٿ DڐO8y*B>7k0xD%yeOBqEPBzM%f5n# *]W- A["S;G (,d3#E0Ue`ÜWRtz)'^rnڴT';b hP-ϦbM Jܷb4%l}"376!Lk+5 cSځdY⋕׋LA +Q;v5B5i@Q>no^eyJ ҽ|툶`i =Y]CNG.D=}wZ6)/X6Ͷ=pQ_b"7F0÷(*ʽ}]s n>ꔗ&x˦f1W,aGZMWo_ȣ7"X!3H xc*ƶatʍi6n/"YmO%Q-̢w)*pM-ٕ Ft62¼)z_\A>7dd^xs܏OH{`-SH񳺦}Ӆ`r7xܹFֶU4!_lUziY{8s nS]<‹4sv?Qd_ `0mxCKFHӅMtkAȩCL wQ{_$!$"I]tk L0 #.zsp>ahq&U|Voi)a.L^ϔ@Tdcص8 e1P8w$Xﳛ/ 4lH gm4MS(_:0/[oݩy+}QpO6BKL[lt̮6Sog7,hRw?ؗ~-ϋ!tx*/Ï%~i:/w[we$wBy צPoFJOnYiDɐћ9&e;/d+1=Vr[@ńǗ"?Z`+10pL O*1}Dj z,E5Y'Qp L{Pju# O5@4)y nYLm|V0e59c]5oj"HϾ%+WZ\eκѹmwMוbؼ9j{y -|?W"[֏Ck-Y gyhK ~5$Aw0z\刱<~3ss}P yǑ}R7 e._px<=ttL*Gi8+mw]_-R[-i=seaJ?zD 1۴< B/:/ٰ 0m94,i0 kD%]<)9R!t]BWꦧ:iǼED bsp))|oBpqwNQ v~'9TVAs7\"Z K)͏Z0o`{'A/ܵĎP0oQD[v| TSnkMSލ 羞ƿ=Qnۙv@~r ߶=_V*eyv1y\˛z%6#5p&McJ3ML)9 !+>8xp-P1eqigLEU:,diB,8 c<& RegJ_mh%Xy̯u BV(/!j AlpuAyB5ǭzXNlgQuz-;T&N}|Z;vM_PQx Rԯ3ex'xnŋZ7uiZJVg#2J,lfRP\M3Fyւ%09!l$^̆%.IUq |+*îorLMk"|pl ql x/[;w߃%r)\]ffïbBފyۅPU*^j2%rrʉQa0SPݟ*z#Nu=laS0U)T)'Z ބZ?"TR5Fgdfˀl+fM}==kS%'l%^EW]@ZLmqz줷g1' 7s<4KRhn44ary? I$9sp(yuL  P%[n eO=2A AXs:yK)p^Z_]|=1{6 Xl\.LS2Bcˀ׈@s&ʯam *Xmċie4R4]]Q%H&|:@癗#v!opW-DeΌ l?EPXS~ ,q#d7Pfy#@jE欆62t`1gn YOoYN]UxvP}I?JPpQC3_=|x6#:d$s ><9q4.lOP 5:&ʢUdԌK2E̞ \T^<̨%3dNw3/ѫ%tҗH٭PGz P6Lȷè_MFTJ|J7=1ީoĚ~!Ty\Gplx T4 DRΔ$bBd ŎyhnM@mK?瀒rE+*wSFfc) q@ySvo[Shc3;G4 Q|dz^xk?|MDH*U*"KR& ٚ IsV JVp_h/,o[va Cȴ.~ҫ]*ŐzaF29um4> :U(eP (?Y[}^vMV xMCe៬Y~FOYaQq7 LJ'd%9k޿r HgrH&OV!4VcX# Χ&EgZFVec1$$@}jӁvP-jVM3'k)4. chMo{F<@j,h됶(I:S/C?0;7m}&m'u7߰K-~X3IÚŰ+}3O'Ơ$ 6Я,$'zJƻV)8X <s땱l P5jEU&u`gnSQ6eOԘ@#f՚[B*x|f9 >b >T3qZ'QӉ7zWMsJnnF䠉3צYsUtűSIgf '>nSވ jb%qc'yci0wy3a|tGHNǑ׸ЏUF!|"Nɛ.GHvI`Eoґm^!P)E2>Ɨ(b~$#ڜ+}e$z″PB_h%!MDI4 E aw-Z\v|; i;J׌e{Ahϐɖmx9хρ]-v^#!G71݈^&5qy d\ff1ZO-9O5=oNQ;8&69(gĺX b*#A8RhՊFIp@T^`N_*T Cު](ߪ0}5b) F5J1y)k%s&r='\h}sY05> $a`(.KaBV!H+)HAE7E2Au'WHɶUl~fʞIc~Ԁ c{~;Q͆o[h=xW1a$'" lxA ^JM"8u=cت];Q׬e1 \{]OoߵnBj/B8x}-NStC@:h1ʡO*o4!C3ɞ9ӡV$R.{kE--ѵ?hiCzUej[{пpEwJ3A˩.}_]g|.{8mwjz>Ne(B޴Qb;RZ੟X л0Oj<{Ǩ।ɼ)qa&t}Tg]RUSjo. fuwP1W.?s^z KdbZ7Q@Lߏ->/?Z̈xMMt@T#GU,?X-^r/.:A~Ʌ5X\׃TG#= \)oTǤlaQMGF&r!\Aч^ ?ڿvRELY>^"jlw9Ng|C :c] yGCJZ\s箃0T2Rʨ +N/SA!O(x &JOv"3ʟ]ԼD [ṣ*BQl kFl9PZ-+4^&ͽQ7Oa*:.#,Hrx)gnlz4Bqv02#b-`#֤ 4D% FȆx i7!hTT{:H_"2Y HA!xhmPp*"Ob [92dmI+1R;oIfi I_S*83r,@Mԯ`kbٷ^,:<O4,9.UWAξ@Μsۀ+y)~BKߧmṮ>| )i-1$93`‰}paP}vm'Y}d,`.(`1c˅(-IlsZZ:_nTd)[u`QPѿv;⟶d KGy/O&U_./g12iS'6_mM~or| s#9Ad*u/O(=sE'^ |M:hU ܂Wd~Y_S;5YJҷ,إ}iQǓ;5AAqXd=Mho\xE sfq4!ʭKUHDw;kx4 9/ܦc0 Yl\s s]6`A%>&D9>5EGqgv) %jc6.=RE%5wt& CW2*\fݩr rl$`PFVS`?$;8cl^L)c0+qlw$jU`o}~Q'ZBf{?+YpIiPe!% ?Hlyлnwx]e yo,GqO08,9+e<ЫH=ISoW+kZm++/7q MqٯL ŷ5TkK)\]h;.#Tu]\߀s{ s5B+G%[{dO>BKm_|Ks^PO=<ZTV\B%Ï Bƀ{ įC >1/cSMeE:24A2p?82qW_h +l)0VpK45`xKʼ/[D+ܞa"©{1Ϭ%# ΂0B}bȬ\«|NW=Gnc`ܥ?rxK~_8PW8;RĽ9 dsD<;l"ysI?c kl$"q*o+UR Sv V:iw7\2BCkxJC D*/}g ?۽{di3h .O 8pE)2 {B9g]ͨ&>yJx5 `HdsTIgɤs>H:BX`Q+CV"|*\d "]J[NGn3Zx&Bˎ}k+7?{zf(2Hvz{PK62⮛ -FDZ]Rs5a߻&E]s:JS )K;ӫ{Z~ZS`B#'R[X뿕]k:V?^R^0V>T^斺,K4*wɝ`Kt1qi_k+*TT6W.A3UYԸn .y8~hs~:O3-]+AT7R'+s%KӴ=^r,$ӿ8NaX$gG0w E:@bO|w"^!5U|9:ջ6wpTzڦQ}S%gٚ+^xO?mC缨f@,yvCaЖ'f&;\My%] o`MUӟ(%:|:M C 817ê(X($LYُNd(2:M~$uPifZq(иN>T'R (>Vq{1<'@~QoE}k HuBZ2cmj>&H))1;+TZ*{<,_`H|Vi!>A&7i.ZB4S!,,M̕h[Mui]p ,:XT롋/Ԡaarٲ+Y,ot7PtƷ"˦}/>z 4j|I+QmIG~X|B v53D'%w?ݝ3  zevXr“'{ A*$E_IjuGsq4_M;B&'T6&y-S,ʠBH{"1tT68Nۗ4A*%q96<(ȁC{;T-~:`)a50FD ӣl/,|]&ze]#b-YO(/40HT1Rr];ت7WyL#םԦ.) u(2P\hdJh {o~.A` :ͨ$:]DY0tZ@u9#\*.rhӫ'nܐVXzè#lLHqٙVj 5q,TWdpI+dw zҥXbF.jJ&eT4:tkH<4E{Թo 4D9If=PhG)qvK]/fab _/wZ;Mi=u^N ׸? ނ$ΫETmL]Vh%_KT]*G p9[4Oмw7~*8/|Bk~^n67.=7ef%u)Mă~Vg|QZ8.5< ̶Ēտo'Wak{*thR!ft%&XVϸ>7'&J迟mha8Ք3khpzz[aҼ oN"(v%+X~W fR{Jյ@T[CR `)t8fk8ywc;#JGCqg]G}ťE RK ~B?WSKqm3&㻭B?.Az ^T']I'1aƠP޸2*#eGfGQ~!X3nXx54\Lƈ~q6Nas{#0i^E 2Xh)󓦚nDkꁔلpfRv[-ǔA\db!E8v5+Ǥ@r@X+Z[KFyvt+߮a,&F=D^h@79YlLyCw.N[GԨ_.MUb #Lj":yճ)𷐔 UO3pY$ۑ3d3-8MFw7i0ryU>>ۺmU=3VmB@%nt:]4\:Po^pF?D VGʹwsy罋(`( Ɂa* Lo5JNS$axa3ٖ )>hA'[H8Of.qNd/=2i** \Z#GrtBW?T'{ p`p*@"3>\q9nW$ÕtfN*;oA23bU~=f[b eD`o%"xM(GnM"lvΩ~*t^Z_'%c^ߧ0˻`¸uD=.H,>:OJk¾q4,62hwMF,%g1dTc[,k5ey9sgqpNl+w^ASZL+Nv12JP݅dx&nJ$ƤvO좵\p%]wjWh\ UCk U>=4[qh^YZt82qJafg-Z.x%^3<Æ)zNV5BςT9iH~Flw ,,8%O!}`)#3Rg8j6Bu{`X2?][ԍN6PU Ug>*R~gssGc)KVv(b<'BCC6?bޤ_JĂ͠,Dei  *|5nH(3#/ "Si&ux~>tcv.mkQH4,V[Py "p7ΛP O5I{q B ѯR \R Qϝ+]D/&.݇o<0caPZ} m %\Ҍ8]ު%؅M(XO Hn2`5qOAöF?gL Дl7U`SqwoYN/e~q1= p}S>@eZy3lwd#M8o柾Iqm|)A To+rG@;/6S8^ y:Е7hi^NHc9CX5)Aw¯j ֽn<뚩u*bn>ۡKY $05wBPW|D7]~a:ǔrz-)@ZDrHQMYn-2o'18J}1niA9)VQ2RGhDA(B"ӧ;ynky杆[lP;$ AxExiB 2U gA=h6 ΜuRb}-/@];K [൥aO||7{#-t֕)>:"8S&0mʁ|'5FKѠ2aFDl gq9S{K{?gsB}>黨<%8)k<]@Us#f&˿}}ݞ]ڍIr=Vn:ВB6"x,;[2u};95j(%G5*:}!:i4%eKA3r DŦOeK7{6c*'Gc0̐gR4^o*ja=k'ϋ d);5ꈤA J0ithsMJ{ܞz) vkK*jI!WbX\4&߸;"-GO*gdN Ŕ?tcŒ!q[g@wlLoë`IaHU0:UafgP^n lB{ e2cVp[\տ(~3|Of~@,!:1bK\$6!!@ ̻%AKCd~: 1F1B}#hn9@kܦS[<:몞!CvKi^G <`ˁ) ^G} >VOl:pVhN䗹0LkAR)jU%֌,^7]*ouPZӯ5R3ܟ'5Ѳj-IGfDR>"|oAה1@37Ԙgrx~rUoǞ|-qSlj+$씋,0۩+{y7p)Jl3[fAu l9Ld$LǗ,}KB{& sF.ockHMyghf-3J>0 4<79*lF-!Gm`D ?FEZ :[0s|Wm̄'l. lD T~)VF^RS Xim8@ TF`r<{Κe;"v0bRe_jBsBn}4Tg=}if^ f>=ڪt+?Ę!+hꀲ97z}IPI."u  JD\JwUTIQ?6 c=_}Ҥ٥ܺ#~MqgGRe;.1)qҹ11[LJOBJ˻+R3X1evəMi0&wqĊƜ4MIXؙaU 7Iuܢ6?pYK82fUWzT^kէ T^*HZ)(GWֿ1 `N;P9VwSdjfɩt)ŔrYIlXnxhǦx!KdjxEy:6cǏOXWrߙÕ=W`vL6~kWpJ]y G,@ۅ [/u`6KmՊB7`I-_r|=Y]Euf)@/*\Oh_,V =/)) +G:Ъ+qLI")IpxStS.(#AQv ʩ`;c7sٻ0,a_fϠ:DeԋrqܕR.7 f>2z-;JwTNph%ڶjO}k!鞎s y)~RW\!^?7h|ņqZ %jIwQ $%`RWx=쀗ј5 Dh_m3,1tqH&(J=: tHu=wfAg {H &L'AIg_/$ !m44Ky(<:k]qFƨG2 7" :5+}J=XZV{ cmcylUߔ|Ĺ(@wņKǏJP )y؉|POP q,=L(J$. ϗ?dDf 7ւ7UeȖhvAmEfE-+Iel?WGn|䇱V1ܣණw$-֓$|MMK[h5E@|cqO Qw/^R|g'o+9[6bCs#BFBGw?!: ߱`$瀘bN J2KS?2\5Z4uP* !䠞_hE444j~p:3Fn33 o&BcNR|R7_ Blt.q"wdrRQp+Y*m4T Bp~dB#CzimM;\m ,=Z?k†aD"yI&N%+w_`^EFZRSHZ!-J],@{r} `χ18WK,ٽ*߷O ram ]V~T6WEAle= kˢ'\}3jX]1No(?*yElBPjTiIElCW߄'̧Ki:0ӰO:{6*\u.Ca>K`%!T ^ }EĘڋȌC@ORB(ov/uI5#mGf%$2=VC`4+ͰKQś?+tF8ܳHȢ8C@u/?3kd;tTI(B<9΃w6ѯFNpxj7)}i.jA?ڀ'HX8u3/iP X-AWXyɕ"*0?gT\ƥ_zH"kςICm7-|˯רJhfMAH>!@(¾x-OȤxVL7lE UL,D^4\]2b[]|(UnWLfNs[;e+u=\WW()E'K`;Hv_ڶLd)Wm޵k=qVG@^Xq{lC$93bPEs)f}V6Ӊma*[@Z}\E^WPҟAYK kW( x qJyE c9dZ_DiO9dI7SMM+~G[<պkݮWaj<MزTssHK$[/Zd{ cG Bd^` n ae6AB_X N%4#橆]x/kŗyP;o\#sTmD5@>WiӍK-3cr4ʀ%?P+3G3dD(Za I {xa9|t "‹|xa kENP3Cy$t=yPqtI#{Ik ǰ}PӧY+­w,:nA QlF`{bQGv(<&i>{ʪHmB_Dx2@-Xu%gX֦EbVkdl a]ȕL5 xrܑ=bHk)2gQ9m*.ecpֺ  Ms[޵ ]}X۷Nn50P%T˷Wbvl gL~ɪ󤽠Kn{ycz)̯`vx4[uL3 3)fN-7@l3x^yߧ. }%0( B|B >AGj>p`K.sGU M(D 9C6Mݼu ,|I.I_Wr󰶽a^T __ws *5H%/Xs83DW9W2z܄Z]R>v$(ՖŖMy(rUVM#CI;ar]ͭ+P IԜh)9`SKtS>GZZD~;`8O`U(L~EVM4M v2}[}AK`\G%UM Om=WsIi2tyU)L:Z;i^d.qoIn[9+(W >:~7%_ |j)mRC&Vȃ !cMS?j >ih)F%98<Q\^!Z~d*jSv*N/kneH|`qxs2LSϤU;2ptQC1@ 1Ϙ_R6ْ)8e&4&׬= Cw-6Xx+v (e\'pPZ8ŵ;镊1q\]pqҘ#B! (*XJj3|[)js-GX=,vlN3ReQ'^CD zCOCn-E&gqg,҇wJrv!Z<[pV%@+ >6̕ XG lMX4w 0©'h_ZJE[ۙ@laӬI J=}K t<͖6i'*^9F#*\Ch; gdHQsf:*[7eX/Ev0Z$r@!!uBpJg Tva;|](t);@L%Vt-ڒjY?Zd0hyFE}4C=wcb_c_ՙ>9/2_HC 'Y JB!73ի4Q:b4_hi,8" ";Ă'8yjф ea9 !>%]u.TEل0H朴 )!B놡 ~*0&Bp;<. iݧ&\~~ȡ GyTy$&V]_$[&qP7~9!e̅ΒJks5~׷o,m(*'2 J\6.5ޑQc[Sf+g[Zvέ 7(+bU*/ZP<0ÇN Q5*se Ra$eD2]w[1jUڄ`ikHxY ww[|_5{vU[ٓX ?A]Ɵpqש9{b<^R >89WSܖ[ >1[Q4:=L#HĈ2?`BA Lt~eg}CݟxU!rVk[Y8+qٱiQ6(e4\ol*.1Ұdzoϝ7=|v[RFJ\|;X%9^,7IJUq ؄ڎzhxbK/PW?B/(.`,5  p鬼_[P;m`;YHPdoƋ*֎[.bnrN{~բm}hi#f-܂e ,I `xGO\o^lYTxTL(ikݝp[50M9k*F{!h AΎ(^$b|G;"AZG5y΂hm2;mG9pݨzLb>㡛 be;hd[+es D4!:2^Xcዪ-MkWOހ[\Ǜ=z^D'oQ{!^s<{)5,?]{Yu؀\դ >5ӕ|}*{ ;^ZgUa(q[>,SQV)ؾb (b\H5]g{1ocPd.Oe~Y O8K{|M1.i̪$BMB`dG5@S߅4: )eI 5]em'⠖zhE7f1Oُü0o] Ϯ!:Ǧ~K0M{ζ4:r#P J'.l"02նX*v!݉syz'8NέټRFE5lkJ/_^0)x;a%k2刭a=H*ܬ|u2#,G0xهI$Pw{K'(?vj?6>vX9Hr1Y1ݒqKWVl5Ƙ-=!_+MBή&s)JQM ;cIog_A/a: 3*YXXgָi0J~vQnӆ&Pן!)@.Mb;b0rn@Mfr=09q]A'v 5]Pb\{81DL5Uj`0<`K^o1Lfq ́= (oip-E-Bӗ)ަFPgB $dgA΁wxz.΂bP\I.٘9ETW|BZ5þBĹ G ºOa$iXb #._q@rB~$[pqHb_~ckexqJϠ+^b?$/H{ +52+vX_@N,1}QGG"gWj݃1#2tkնҨ 6HT9H xD7h=ǖdՒ8Ō^|?8G:Ad ?^/%[Qnd˜Ynh%EOj-,.x htcQ Vk WR|`H<9X_̙< #L=tTRhjEڑ$;+>Y-ԦH&5Ea^İӃgVP[=Om}:|L Ys7h;^@RDngk .xFc@Zw!;yp Z+uJބIŸ aW ˣVDjHvũҭ_:a!SJQv3&dԩfɔuZξ~孒 Kys:'#uBx^'DzLʒb޶a9o#Qk>63b|Ida-^Ў}&aK]I"3Nst32Q6:VnPj/ ˚z`9oOhx%.3[wU\| <"PCiIuf9ZFfhdH.>f;0Pl?Ԋ;%o3w*U{51t_ tˑ߆*-hɣ?At'i Yx“])KڝU `BB#6AjbE.V(So8zsC_N\,m=cNmqo|~ 솫&7(x; N4^T$veR=0t]‡}-?]seu`2>FwkQkz/ o ^Cp_=.mv UZ] 6i}4/y@I";7QiMfJj ;  #U`0X MD#S,+tcpbHťQN 1R| 9m= ߢ2nEFtI+S$^YV[~/|Z*jS( tdl}&oz^Y&iLz@>;rR:Hg_WcI{pͤ1 u@P*\e\U @Wfg9o3EhY\;}} ev$$]Bˡ@a`7kU7~f \ݳ긣\7Ij1"~ye2ji[6&qGrqjR1 'gYUY htf%SiV#'N\) c!εq<468Y:%s2^>@֌MUO_`c(+99\ڷ}X_E w m;nH]IO g2>P׵ey{O\m$/D Z",Rm+z4.)UnNy6$3A >o ܹ^w3|6q9~j] P{wbB(kH9gLIVbOCsU%Ȓ_Ch 9t :,FWQY+ ;`Lfyg*FZTTb _0Vb">.nڸQ+YeNa逓1@huZ)Ԇaevא?V^~u-b쥴{ +0?el‡V]48?Z˙@pj*o.*fh^˒>N]wpZ@=tH )__U, e:kk:;\eDpn|anWp9 5Y$CŒ)2p^.'“ 5ky+3ѯT]WTx5sz&% %?P8!g(;x%:jfx'}af`EZah rY[gX꫉bԬey=eCxa)%%nD% )M2p[l^jU4 "G釅C{b$A2k Բ)˝2ct+sm{צ'}IH7Ŝdh'Z*`sƲx 3ꈝaҶ`Λ{Lγip~y3AjGY}k'|CUqxݍo6?[L.bS{!\>V=nKSRs:}xs2ҪJo0~1Ӕ5 %uY朸 RN=s܌$.sO aCB %o &wa:9d殭rxnnHP~DilWI{vg>*H'Lֻ f4#W'=WFХ|qJ>؏N['\T d0.x=cr/Zh"UԛgZQ(đFV7xz䔸jR,/Ǟc_k3;3C Ong=(֎vs,ˡsGE# fP4-q7}>,V@~cŞ.[!l>8zD| )*!z=݅A IDh 󳦦C s;njh/ =:zp9s-f !4x6&(6jժqolAXDmYZ !gsaJ蚫XY[tN,,f QW[ n#ɜ7ڣ5̆;;F%jQ #w}{'ж-%vcڼ~>p[ .Nz ,Ea4ŒбoZ=&WڀbtWvEb݅N!l_8{G-`w9T z29Lp=fv1IR2H"-E&>Ř81wP`)8 >Ve2ɺVpg ,#Niy'$y 2Ps@e(?*V5AgL X&eG"ݽ0$Ԧ;hrh"8@IPPX'#i6/>%/ƫȝRrOvDdtSgzpGi ^rd D6'ϭp6ayPAjtPb7 & ,$$N*m^ps,#J@h2`YSWF)Q-vPd{!`MȀUYTMfrj)6`%^WZ5z߅L=v2"`H)NTqL%^ch ѮP<ү^(UThVL}0KFS!+jߝhZ.'QkK(Dz⹙٥ ] y&D?vq>z0,|R ˪ko8p_daY!CQRWO  ~俾`el-ֻm` +(dbB{+mE.Wy?9 W$zX t)U 0wǗTe̊)q5V⭳S՗/؄;+w;5(NDA%a'VxܾU m^2i-RU$'6 [:hBP*ECr_v)?BFA}(!5]vۍ(8w dyw~i3a~H& |8,P4E\3~;=}d m G_G:9Ğ 3,kEp,tRzOYMGE sKG%76GH >M!Xn "!/w[P]}Vw4Mb1S8- G@˩evFwvɧ<2sM)e'uxޔ #ϡIl"RLՌ=VrcH='V: ]/|A%1In5w)蚬V'S Sd.W?tL LJ?*.DN&IӁZJX̯k2X_@hrg|kӛdsSiU3 -(~?B8[l@ڽ'-hRV{ܟ) 3Bש@bۨ%jpgC;ff>AޘЂzL15S+Miec!,Ϫ>v۟+٩& ̻.'{T NԬvK(sZg5.P}=@"*7NhW؝$w֋C c {sj|0aV.y?F yk Z"PSK4ox($WS1'"Hc%tiqrzT.+^j[6qRmԅ p$Y GW5dMj=(č4Tw8{/3KGgwmvu<0P\1%_#d@@P? 4[y uv!B,/u4Nc#SD3btG\<1N P@Q#=e?#VӤт,3 @ $x5 ?]o}c)ޢ'>A2iMn~s ֖Py6>**3!ׂ23*wyhfoOW"|Ú@Pol%" )Vna9.z_Ry6(}T`SLݍ}og9xPI!Q3TC+Aܝ6S@Ўo4D&ږbF+NTYO[nH @2N,[Myk`W,-Rd UǐjsT]鹋 \JKo .s4$^?2y l|$;9IfBR,]O3t 2dDq(;uyIGs_JI̪?`"BVI^h>N)@sB opNjg&b5D,F\9@Ɛ1uVقFPUJ"V]a@/=,O_2hvחc6 m@^.>A7i/^}[BڭQ Bh1RSpU>?y 0B#m׶J: p󦻋16i kλFshZ URU޵a!i)wÇǒpafi \VnssP/Efli%Iv6ždm ɗB#֠P f_@_3b7l41~US< 6R 񍴳À2U@>urJawyFtPg*jBpk.X;= s_ ҬmAEH;ɟt_u6x)afL#OW?o9D]M+VP^h%ll^sP ܃ j L(}ܩo5WnaFE,9А2`z_!dlDάmd5X&d! NC:|tRvq+9^qe;H<FZzKQH4H͑Qo54U'=5zvn](}+4VCMc5Phw,e!>B*rKnkI3&& ڜlIQ7/CiϷ7|!GVn>8'EE<0ؐYr@ ^)tj΅h\y><8k&&N4@־hG(\;Gk{@=gj^UwNkh((B*cPrXj_O$/>^ֺCպHdbZsKoG(.1k;=|$8==*r J0P@aIϐ0(J6 a*,f`3b6*EY5do "UJͭJ 3БaMZ;.1*R jy[ [IzwKXLCRR&ٖSϘlй)br 9${uq tj=LQ: '& "f wLRXq)L[[_756nlgkL8Q`p~,w{GA:h鞝S.Q{!W){IER&3X %Gu( 1dHHs8\\pڀSrC'®4!J|]oo9$lk%_QjƎyc h6tlCoְ2*JapB4V4F]"pq5CLǼ&(hºqj KVዱ*ǢVij(ZB$_#nohu|qz$|DtaB|Nw Ǘ@̾|ZqH4;9Qy+|>y ڌ%!`QH#YuIZd\ "e) zCu|TT ʀXCfdy5481龵קl#6wgMyUy7 Mb!{&zИD%qٲNJz،}JEYFۚZy>QVe/qůWct0[`tut'l-O`R=) ֿ5*C &]_ Z ˸vG Vn0,^kp b`owu'3:_2O#sYQq/K mTKl5NT߹ށU[0E9c0,5+S(Sx,/y4Ö#ץ1*ƻxvXZUc9iv'7WCڮ6Tv)gK}:I? oT!~$^M2j@F$XH[yrE;"Ok ka%2<{͢ZAH,|)$QpK6t 1 tTHc!M(/SYIkz\̑]8Sc%=6uWen%<B5b|96!bgfT9ex?!|ߑsl9C\}=Cr(yGM>nVcͺ*M[jAhisy %]n3Ce,{ho-&yP(x˲lՠ_gb២) M)^XK?ܱ"7_2Կi,xgsli]ocH{:s-y]1) *ڻj Gkd , W%e\RBX,Y 0:==ڻ@ g/CɳD|](uSNsFpA9/`a ⤴ K.Juh y݇,P}% ȏm +$yPHPc(+1VwG2eӫP' ݊RV+>X SmDimQ!_Mf$"v7`&>Hi0lGdWVνZJ#+ IyxδO%1IIM(aU6JLu-D@J$4υ8+O3y/,7J{qn;7iCr4١Tl "C '5%Be–JpO !3C֋)#xM0函*Q s۶ 0X)Lw¸qՇtv枾Е 1̷l)6w;Iz]>AV3H3R=#$ ~EyzjGxƍ*g𯓎ҬG\K,6)իmo2 ]o'.G=wD_nZJ~GFH{]ӵ:AyQ%i5s_Q*>g״j+~+h=kW,M Qdl1bsf.[Z1Sah> VnԗI/N6<*SVUCH?E y55Y3:D+ŁFvVgtGD͗Dc$]-(2gFfsECm3n`Jo~6uN<*w]\jÊEH4J_`lt8eGh֝,/7o*|x!zQϓFFX̡yoV5Y\Lr!/ a{J74{@͵Ks&7+ #2zOKpyq&A%l6'uW!ĻMBQkg=N[?VF^81pZ(O#Yg+0c/h&Ll1at1 A uVhF\Qd^uq,2+a \b|ܔiәbwåh?!<@+,w:o&UBTWn }TpuǷ~!V{.eVo`ȕk D>=S[ў*+ %W2idC+4S*>mAn$_ZuyLT􋁄5oW/2>&hqZ.UJ"ax8kBf{jA>$*378;c!׆ϗrK:9" 3QW7mҕ{BzajE#ZzpL4؊o\ob+fpϣW@z.xud+fF {Jqp>F1G@Tv|C5N$:Jyr]x,½שPщgm3wXZWVа>F;VFVYV&O#8x SOg>w2ɤPBU߷w pcwIEzBzt.!i)Q nG+ɞHh)5R{~0V%- OS[3nsЁA0g0@̈/[7m&w`hu9>Gd_G>*e7o[E$a]smj낒Chɒ{)2i7(hy9_5Z=t\ @՚%fក{K jy %3]HD ζ/8|㜔t3]X+wg|WDytQb9BٚL#~AG h|S)*7/"9<czi*9ccRA/,YyGA3 #*n{'yͳ'unB)D`G8YᇵinضC?G~n70a2 cT5Ƃ<ֹާk(e7w&ۼbwְeJÉ 0/FX* J|=f[n`3',2~IX^*)B"{%{]nx7`Ry/7 FY鯆Sv5Ry:HS3d r]=Qf9`pN1^ `jYi\U5/påLk$K ,b *h|tQ67A`,;Adž;-*^Xz_a [~sB̷3,Kjx)b _0/[6%ѢeRTB=a4_Vۨ]CkiZ%n/Nu&;3IaxC5Ode,:#XZZ]J0$- 3e(SُƞQoxf`P -4>R:7 yeK\sg2 ]*2Qڪ79DMM} ĵG 7mYmFnfV?屷P U4=Xc?yF =Uon7mƷ*EHd^Mx, ~̺L?#N3F$)g" <͗\6ԤQV<iz&IЗZz掯I)6U/?90nY[`!eiIX5ϳ!'CIsfŷo5 p 3t~" ޵ 3,?b,1ȔP G!hxӡ|`W& lanIx`Rd#͙jdэ8`7\:d:8bh7(@ [fѥi"Mw0= qGPs^4:^Z>jKHF%-ќv=h0Ŧ5OYt.A_Xu2Lg~bpPh<8ĖBХce/uW;ᢃȮ͜_eTnxL {IhbaD5C<9U[^(#nd'St7-@4$fZzí F"҇8yr,@7LZVn+/:(1g8e[i4BS )װ]3eb5R6h3ܖ~d )2MKOaIJt<++ŏweg҂)|f3 Ҍ-prmZw%7E2~W}D-,nH,o."1jaDzUNUY$%qLzI z vقBM8l)B(l5|nB`ֈ(褷xxeGc5 ]Ly׫'['uwD4u N;̀BCNπU4\dlSSHmb0Z[)L|_FYiレApz-$Ҝ#M參~sYJ^v0ho9;jChdm XYݥ sj[)s#ϾEqB3Y+C]ق3yiL ({3׈X讜o Zp0ﶇCzhwF r*KC w?(*jBxXEjk( Q1CQ7pJbrGv*D"#bt_X*W+qY >`p\lCz=Y?6 dOp T :aFgY \\Iq7" H%ջoCAd$9_bMb> -U!s *b䶷7< ZkNѱ Gt:K38I:Rj˴i՗c8S)5~7ovj]ВݟE%8z 2`lPVJ:k,IфyImʦeP$ _f6݈#f J,ł`0[9sF{} C9}QR4[v`xiP:q0DP% '/ 8Dv~YiK I62zH\x tq*2Jm- `O[(M!קCi[=Vc [G/Y5D -[CM^#d> T8*hK0586_!vw3h ^bi"ʹ#n3ZGOmy^qw@ \"6_r#E섰S/A|,UsAAWۗٶ.(AbX{(TMC1tl6@pD>>)#|P|s$ iz]|xD!ʁ6J9<کx] !j;*2^*8pڂ:7fub4^u|I^f+UWtO:ӢNJ; =Gh@ 0/%q] ̔1:k 5o\S Z^P2P J`Yiû *ǬMh.SadK?Q3 yS" ޽g`^ۍHK64:'gߦV+Q)3V  3sȩ 1[:6t P9*g,?7WZ\hŒ1+*nSLh:3.yvs=՘Ü| -؆+VW{`F|]G iSv=$٘%?$jz<@ vϝ*mnM{LHt2@Q>LQ^rߥJPz6P4nA ދs,սm:k>!OtBa6hf.AS.3Bޞia M"v?v-p뙓9)X4B\Yhi>sos\Wm60K=v!Ժu^07ΈB(MAE|[三 ѿ"&``\_mbvvwS:T#*SK`Ś2&B8ZUIԘbEpW^Q7uh# 4ʁ}Y۩ĤEr@L|w= -(۟`!5_ĄT%ene)G1d豘` !GX3k^:Q9Q s ,0ۏd&z 2ó9["yҸҭgs <#Fi>r1$ _k2f&YmEQYWVje$rPdBJ<D#*s*fHsvNa#47=T/8?[2)Dt>"%*趔,D0C=" ƾ (_do-(?-!m*y9i BmyJ-q\O\o!S6,S%"5,oABLC2pBzy m\/&RA+s_V(4O h%aJ76z `!o2,20`S;vb}MU5N2^t.`jy]ADL`^VxMjyng̀Kb@+4m.v":F.?q kJĢR##,ָL)CG0`˔DjF$pױ|[[z@`d<1 LwBELy&0I*e7~C >҄z*@} DNЄ:ԡUBp5 ԩ6وrmtI_ lP¶~e ۑ9Wо1_LujV4[3#fȐ@ΜU$ Dvkӣljq㴫,z]fdP2e)q&Ml!e4o!+e_^6줙Ȏ>he !F9C&hk*x B&4%RjJp:3&g8KvQPHYI}z%!޴#OlXEYDEݻ˜zұ[o G$1 [{rebţ1(ƚer^#\ CށSbgjּcV']8!(S^BW3ݼXL?4^ݴܒn:;dP?p ~vD3t-S^ZW}6 woPᲕ6GSzԷ0^I \=pYs =D&x2-KRI>A0#8{9%>e]z *QJW?tGp'ugw,ޙHŝݯBE "~kˆxزeظhvI"1$yI=h:~FrK@6eV}AA?&\4קݒWI:;y 1uCmZ5x%X?,e Ĥȇb9L9O$c%ey?ɬ̖wF" ȞŤa$ノ,ˤ vrURwŏVf9x= 04gΨ[<1VM^Mƿ@"$Mx)BI# <2|E0 S+Mm8uQiUia4%WOG O M0nn^*;]S9 è_@XB3컻k{!0V?BGwHϼ ɻR^lK)G{R#C/nGDBE=,(QVF)[^p|x L?[1Mg!Eqs$Ʈ>O.(D#rz7`S_H^D,sȝ_8& /tm< C( BI01=6LDΠRyHr Mo֒ }wQٱ\a=]i8DA3 >%,e;IwAs};UO@>ȼĞaеguu 3C^w7ft@~FܢǍ#u1uW{G}f*Sw z&<`t8Z/2#{e9Bm^zmڪ`D>Tot:ͻ a00ec AKS ARe/ f)+4Vu_UoMl93GՁs kMWAj'^+"#˙ ៚kynohFm I?_czHrD]0PS/?j5:%{֛ ,9紓s=sJ1!#gV9 pFk&0U?[-db6.,M;! =,$,k"wI)sZ1zɎٖZF=x*ߑrb9T7.ca'RpQ% %> ű4"׸1^BDx! !}r$tx=<(!.pO@UNzm6({͛#"wUx fO RC,\MD.- 8`='wylQx〃$֙Xq$V^'Gķnx rYK:ɋ},-U$y}d8VVu=h)ύHE"J% p5!cރ^t׷0bqWM&K_(Zhn`4BrT48YKm/[~Jp%HcA^>)66]ngK _߱ 88cЧpݜ+ݣ6̀Cˎ+ cg (= ҇=5` k(*AV@9$_1W1X&x@,4g׃p*) x*{vkҬi`훌uikb柀szub8~Oۑ16 l dN2< dָX'I$MJ\E93+BͥRW[ Q-H8xLym"[|4ֶvA j+O$ 3_m"uwAu/[_3'.Njvi7t*Ct|Vo!&:W"I:%BUF卑h;3,}&llDx~h f>qD#HTbûavDns\EB%ԱϞwiD^N/nTcXÁAc`'tDb Oy[sc6<+3DE{`3ދ3@|.i !>6ͯCk|MԖ]ALش`tQ)#4*$<943ۆDYqKIW#SwaEIXL3ZuƏ0%9Sq?V9z9Ne_ #xS x"LEB;åDhE=Zmk! TQa'2g+72aim[/{ )Jl%#CoW(σw}d1eQīOݨ~IWTԿM 6f({=_F80)AӟԶ`80g~c,)]Wu`$8-"Д  ͓rDXuQ(wֻF[r^Jz]IUWc`נRDkD\Q~ kظQB2yev4~!!$ c[{ZQ"0Udӆ F'|ZBN.]n Gdm"DƔ'㥃<:"fKI}ӾP9Y'kWEs[qR0'SH O0$ispw ]ٝ:,`'B]@B ex& JK s{ȭ]b7$;(,$! \¿ČP "K ŰyKɧ$Q1иmbs:%R_>ݛ{5I 6UsFjc*ޘQ;e Hw wC`cHo#)j ߈_Qs,كMS}BW.fzBt5}-òĿ^ߏFjA^򾝣ov2eU3br_@f;᥿Bvj/ų_hPQBLu^$4#&{"wK7+%V /N+쟙,M`H"/H.0 %],W}:Gttt2w(Y\w**~jȕa(^m,ͦލ3]E`;ZAX֪ڻ$E|sD Mpu@t@wkDiŠvg@>R;'>`8l8񁂷k+o l"yUN)r#[2a(K&lfD>:,EZjp 'y SAV5^mP]O-P}.M됆]`.Z< RJlZ{AR7{\qJ*8X[~]Y% Jg~mOMV0PT*BlT!FW^ڰidn,`^>V6 0xg05=\ t?:UUq#z< U?ӌn83BA(A`G5cdv Z?7Z`%v*Yt0 .+o6o:J<&[$'@+L ţwot ŋ낱sӛj#/H^Z70"XĨBAN\2* _7CìÉܟ(yEkMCz%QC?oеZ:ܵzg$+hܽBt6ISר25T(]%: k>t͹m۠@VkC[o8i_Y 'u69*b=+ ^&?=ZI7PgL|Q.VGRu3#) pEqfם?돗ڍ|^7+y…(`u[ ϺǮQ|S`A Q k/ï u|Ԫ?\#e (S ONko,`Mf(ePjr svXfoJc.'^<Վɨa^Fo"XIX1A ޡ\"=:0xJ&Ĩ~{ƣf>t=t3Cy\1r#H{H$}3h(E(&9}Q x| ,; :y)d[Ҧp?\p?;+)IA*=7]<rE9q}pBs9. ȭ6q5@0is2cʄ7F2㠝9Կ{'ϔ/EG$O-_YRl"Ӣ37j>W)@tBfM Cc7|c?灣0$U)PY5h|S+sCL^%[wg6E<F(ڤuHʃc&B衍Y a1zܼ!3O"fi:Wcw7$,KC*zg+ՐR72#ư+αRU`ۆD 0EyF-R\Q- X^HBb\{,/2}s2FA~:7֨V yBy6nLli%+ "v[m9 ~سiaCwrQbhdv8+tVC<LyTRT.-@=ϚNLcJ׍ 5)\0-_ۼѶ-+xc͟lzϡMe^-7 #o\= Mɬq TswhZ6I\o/0!ju 9A7 KO7\6m\wŹm\(%VUqK(鯈.g4Q= x~B#G1F=uyH+ ]ƞ.%! F Glmm(F +q"`UxCra68 Auo6$1SyS5XU>X:'ikc#åp`oZ%Hi^&$n=e,/3e m]wc +;>ЀנO(Sr` cZ1/B ?^׬-Ɯ"hYg;UXi&usM/M$%# (DYΐy+,Q36q&ᛄޱzL,LO)wb8\hRuB/UǴ׾1H[$f̶8;qm,VlAeZ_gNxW \Hj[y뒟e*@j Ov_0.vOV(Z۩DQ=c©5@w%_*b hyH lH֎x7]18 ⸵lFihSE1}i`y+0JXn 6)iM{/.U=-EÏ{p4H7@܍)zFAWSD據S|駑(rj⢴sŶp;t*jOG#}հ1lF.'AVYԫ3~&y 1cBK޹2`uW0'%ۗ+2**sz;Ȳk"3U2. `+m\0j 8ENH(T%.ՆWSYeL&ET=6*9w)-G'X|j0us莁ՔP:txZwՅuւ~)f?iUx|neI ?`ficGVZ I(Ӕ۴"gaC2m}2wQ Ep9}ux[Xp;﹢I_XۡDBPAxeJG~ 5I 5hlM(j(*%NF>2=HRo7V+֟hZbnBvDi :pfb w2m[T5_ىwM0E(XN4;\V @q/ D7ʰ˚ Q=9"j\5R./d/ 9Giaf QIB ~C2dzW"XV +{cO=ᓰ6l#[u2==s gdbYRKP̦9IcB4CsLV]ư7zOC<TI֔ yΛ"0Ck pHI(sTFNCXR` D6ě,͙z09k3IcJCHW<WcD4XǂN+"I"_|S ?о~є⑰rhPmY2l]As]9Օ(BH^ӪsM u] ;8]'aH@@u&e1eOUuI+{+~>٪am6~ Nư'O;88My 0Suۭ}cJ ΅BuN3sTM]95Y$=2Qa|J#I_eϻ*=I)E%E(dau :VۻuJҳ^ (_q\*KX+e  = &+JD:ETu,/VnXz^$}q #w{~&F\VGa6)*,l}9l`Q a¾Z#SIGSA6,/NO!/XOo赅fE0}0ح۰uIRw=( xŹ»];'c,D疬J%Md;ުiUE1[?,~t\^gy}|};+DO,je[jQ$M^ghW(9ѫ;7+4KvA,^!-ƶ$M De֌"J/#T5݂Hxc0G] g-[]#2}=(4bCި\4g "W\ȭ/GR-hIۚ\1gX>rdHTR>Tm1@i&kڬLpm1.ŚO0%V O9ꅇ`5Ν޽PjjKrX=?K],7 cvPko&><5wIxfQl".NF7؎[xya֦VL!Zdv9BtNTb;Zw0q'z&fY*: :҅shUy!n8gmAkߦypꦍ[z5>П{y.TC~ڠKe*;cD/U}t5(hqΎ[|q(>+" Mjqצ3lΓMe%sbj Y< C2XGl _ha[.T<_>E Qݷ;Jjb!oPuc1&(2IRə//1j Kf au C8 [, k&Q(lǐ%ՀC.` ]b K[P3.k*Lh<)UJ&!/ՠ$XzKT FG b&+\ǻc0.Eh7q|x7Zc{~5LXGEeq)o7伺'\ e%hܻsc%uUKaw(眖'޾ rת2eu|ʞxnT {Qc6ch<&vaXԌJtMr0jp950ϷVDԳN4)`rr!Qfe' +,{jM9P6LD!IcNè M@^N]‰bwcisE. `bpb{i&rg |Is/Tl 7}ɵO6> |T&5(ó9?opA^yXi2֗?R1հLY1l'K|uv/`@(e@fD6[qFY5'&W;vICėxvB27:>\drۤ9;zðl8pgҮŕ2>=QM+{~!Z\_!~ nM9Dir U1&`~نU+Lbf'ʵzia\5& DtEK&/H1C~$޿Z:H~+$Y65~v!%A2>Q'37aqMٮBg w.y,"o%i(A>0Q?a6?.N׊ 43{L14U P,ި8s3&[!ZDSe;fLz"<J37d\VGjDnD-?IyJGEZE{2C.-?MJP1h Syvq#en'LSZm}ϰYȊ-!.Y Vg7;!?։s2:&3A 2V>8\0X_cjs 3 {Sq'F4(0^:8GrKd"2\q%_d9a]95$+jms\!6u.9&Q>;gadr"qdVjdk_ۏXQ1^#1GٔžbC7J u? 3#,7EaEK&mag#kmv`HM=w *^N, GFk}^|m჋iG&YB7gZ'xGFvzvEIK7|g4f)tea9XӒ_7H`^ 1vN '^h Na X5 ű|q#JѮRy9aK0ߘW-Q ' Z{ n\/ B O% uFeXhJ(}µu $0'?d*BmWmY'&OOaD#Mύ0l^b &E{:j?6QFev!N0DžLd iv,eUQ&F[Ϟ:`E5pu(>ލeY !̛-*KU{GߗzUgZ G GeUb`x;BF´eC.XΘ$hx8/7KFўr=i{Gzpʻ1X(|˥u& Xuסvӛ{⥔p#qf.T6y([p1_HwP_?{z,@a!]K/qӉ0w/k8K_Ĉ3Bi $Ƒ7O+0lp:@%#8 $ZFۑ0L4Ϗ\B?ϋJ40ZʷLG嘸Po:x@4AD\noxd-N./ By.SA9x5͝6uiIÅNa"S@e ui햎3/v}%P_R9W -!Rs8! m#&  Wm W>0&[@166fމLT#2 ]!FFBAgKye'^ GyM-MOdAwgh c2 /儀Z9^L\6ў<3wRJ^x5 yDo|\"l\ք; H:!Wp.4ZOvJ7Bzt QJ.v3^K$.OG$Ut}ښw9Tx݋7M= &ig^51i! FmSj+5m@\\DČ t{ӓ7xɧGpf0,fR*zEOe*J,CL ld|;_P: '0P2M,k1Х|ߙ*!`EAY*TOȤ$ 8׵:)x5Aٿ[Gv(5UQ,JdF$M>PK@(wl˳w`~ V''箈jq 7'0G lnԯ y9sR  AΛU2/|xT0åu.JCGޫtQ]iլS8u9Q,f7X.*#8Jm?-ۙUƱ <JCϕMӞ?C߶(ȨPԿ(aؔJ xkC2c%ŸHr0{1.2Ү_ iyʚH?o{Q[;H4=kq i?,×+ a(I˕79+Й>y6Sg]NCC`?غg1_5ESwP"Aeb%ck*m!5(5dCCmG^E4ͯAʈ>y*Wo놕q;)lܜ43UX kWM 9:ڀAjxe-4iv;YtyAfpk]Kt[u"KQQ-$R-YS/HO*vjovF Q\.+[aÒQ66KVOaR<B-]N-P\%q=(PK*CYHy<8T?lL07ȗ!3yHlV?zgR+@C{o)@z 7n4Ĉa^1a gkJ(RAY1^ML~O,[ Y 7&RͫGO8a:ԸxWjz:8Mw  @ϛ.v>$D~"qNB6IB1Rʥf*d4ΉI9e:y,0e8"#uk,H]Hk7?S&ڬq)o#@hWҙe_#[%?vTrfLxtwe>LbP \.k QbzrŷpλIaZ߻[n A>u5M|9W=W|)_/ǜzbND#M[M!$_zeT~ #A7%P*s4l | >lĜuXOH/v~[e'1u,6@QdmP20?$F3v{*m[Ik"ZNITl#UK&10~:*sCa$.t:Tg^R$+a^c0L,"iE+c+C|rܺ؃'g1Cu$(Q֤Q#a-bM/#C Ʃ6M&/Y>~RjkE# 9O9dSĺ$tYN0gw*L |R P~ӆ6;M"]?[kYsGɾCJԁ"8m KU"kl )-;brA@_dK$:Qb-Pr'o5D2!͗FdaD}~>{V߻1>O:$tj3TvTNX ٍ~̼֒Mpo2vNüH87St𻄸>lQigBN<_OEybyt`K\dcF1chSuO"RV|0Ej`Thv 7w\+ 5%R4jw{/;L3#X`:WfK1%.RNfGwl(-7f1[t9 kH#1$P粘]@.aI@r=m48~! ]%A{.QnYr_ι8"&29_b_Df8u3Y{5l0Oo NĔE{`2m1t۱d`A6EjͤZc$8y|4r *h4*^2k9f,|F2x O}M GZBykA$e]9"z#1hQR]7%QKeiC ,@/wAhΫ*NnW|ĸuqw e*ڒpXlt?ҌYLjBd6Qkk0K/_$z9^?sCǍO'a O%ۥd=hQm&-𸳑&d y5^EA0Cwp%&N[`YFb:^iJchYh[THp-OZl ,=.mp:}fIhiCǴ s%[>Fͤ4 ʙ uamF[oh/&?fʾݜ!~KPFAkj#SFC[`~ `?@8_7[3"<9¬٤JІsQ!SvQNaIC2v8lY(n]Iq{B?$:±" 0L~pG"QSܳL%javwD!`LS1#\ߌօ)Y ͱy,ʁ3T吏>aCgsbO\1ӭ\a)$vˌ@~Q鞹nXx>c6&:?Ofg_m\LcNҝ:ahVů974f:a~݁P`!%͹ p0uJ34g[yʴa};h|ՙbӘ#LV`^e+ϦAgnݰN0uzMfb|F]g4)yj h^YӸ.>7f8\ !9H=eS1 ez"FYa8 %0b $&Z(/κ3RP8OI7a7(nV[lWAĄ9BK&7힇} @4C钗čm~AHB]gAvBXBR# l,iٮҚ>ܘ^V|S DXHf@p.B}F ]C:"7#DKI7".HL~*bx൯!S^^Ck; ^ljϧFk"m`7%UGv]ggW$AC\lMTBP+K|cD}`0T#s6@FuβҰn?kA,\ą\1H/`y]M GMo{#:νiHUAmp_*y(+47T] )@ю+gF&j,`lS{gƴlP*9{\/YD zw|? FLCNZ,}Swy4J~%DDP?S%I-p 9+B.Pyu)EGؗ#_m2|.vtPYw&g\|gJ2m~mJG` 1[Q潩`0_[߹ۯbۋ$d vP锉Qw+hXWY40OUddZepR`%CquSiqa=kgςyGn{qtL6T H}-]YSCiBZ{/m-⊔th{&K|=fRuWDf,O++]n+2) {Sl8"?fگ :[|Ihrs(6nio͛3UxU0rmsymM+e#M_}c:r lhb5mΨ|~X>m74ow:EC Ui ]|ݡJ#hIaBZP'?41js^5a`{2u8D ccXA`A;h U jk*^tEPu'R{eo)AT|e6~\9̏HDvALJv@F>fZ1yȋdx>EAXLYBw.JWQ_'%m{L_Sz)+ӛ|O ՛СM HnzLjQƃįR"(qNz[|gZjI`٧x3g} (έm!Nc}DmFW :FM3qK!*TSm/]%?b?/zԙyf䮩Gaۺ  =%eO;>>^+(-:vDL6첮ɟK#nڑ1Z!,^7lj7~EcCcaPt^@ոӴ+efNyT}&h_5[ J)x>.tҶrQ M W ښIF5~VJwثf7úMĩGk_rd]F|V-T%05[u'OW|[p&q`#y1O&R~/ubB:Ցih'Eyb-4Qo{HƱP~)K6$. ˼ XyO_e3)[E(L|:>͈fLXZ w%8OWLë`zfU#ݚ&o׾Ch8غT6v&D-d($ k^I+MbSB\!|){dHt6:+P|qMP"ʴ,yTʡCɉ'miYNx} aioJs l@mg39fBu"v{T\8]9.26{ ͸ .ե@ثsjEC| e|H%,W:{ 8M!w@l_=:IՉd3)9]9, = Męъja|pc>84M8v'&6zg ~xb6XSvĶo$F 1K*]?[H})soe&s>=^'"@뛏R1l,#3bf4h7bDu{WjU do*EeiͰs/ڳɯjGN2/Wh eA(U"_Iߋ:T×H͊qf]jk vg^eN ;8v覻}&p[.y)g .^R9 $cmiZb'`/y̧E&%ޕaEOf c-x"'ݣ@uʩ]k =#U/_.ʃfU-OP ဋ]wPMv}W]dAn-0A75cn$UwS}EE\n#W;[m:)(#EA ω213z"' 1T}) jݫYZ VMwlJF ZVS}Cˏ6AufSݾC@ЬFmb3(n!֪hXX0,@לTP)@Sp uN~8"Q9 ||Bʏp)+V4Qj :]YC?Xɦ`<2-fLwD ~JX|qu;m'{֊O1TOGjj zJ*$vxե虀ZI?ͿS|v)0yz܍. 3JO)&=_&? ƧRmp3l[f3}ЯaDYѰ2m .5tKcP3tS,9s0\(@d919[A$vKgcݼRX)[z߬0q %OEzN=3FNO㦡Z#i? <,VRPxqM2UO98)%~4HĿ_ ۚ\̍'2k!"u fO= ?L&ժY.7%ao?ZYR<|azޕ/\Z$@cզȝa"Ș[#ŀws8g<`!l GÚ®Vߢ2i#dE#;Lό~{D_Y|'>}Cb6#KV64̞6ҏ![Eq-#xiqH_R^)`弜cIYbe ceńvy>l 2 K=:Xg=)M<(3Qd Z}k) n( 2eE7l%H14t#7bx D,5:ܤNKyOMCvAm(>rN$\sN*,YQs)boSt #I~3 t\n|%:ahUxm퓤rM +fr gaij3:]Z.%տߊW Z FIDvvY Uέ/VaSTM~D_2h_م+@TS[#Xb4 zMͪ/!z1Z-%j[\rLpHNݜ y+ëAi./\0qt5Pp[P hĚf,$9n*q@$GU/˪SႱnai H7ul*bNn8mRi|K.ݡ^Nf`%Mԥ K"3>+te'3}zĹ"n<0i/Hl :֭.'|c4_W.-Uٱ{ jGP x0^gH%ِmJ®-lBwa@ Ϡ')-Y-]61'߿4HXolwl!y%& YYAhS<.r~`ǥY21 7c d0"\=E4*`}}c@{qaKG0B*Ml$J^s廻BN@NlD ՞:0v.7͞j[ _[r3 ߭- z]h羝\ 4NCP0`\ t`uIw5?Jsܷu XUo;}^2ye)t<<1_桡.JC3T 1 80ie_#3kz䆟 4#b(ɽ&FՐӌ15,1SQwaFQnc/6:|{(Ŷ6X*]C><"mи/LP"hw[iQ5.BӧF{jZB F3PyhR&4^dpkFRH yﺍ[(p҈tUmIhuۜ24nHmҪW)¿pqv짖|vrpY`S&մշizBDTsb6 7%z'8rT~F|onnt/)2TC@/Nhw ՛zR2iga޳#GHJmx{Fh' nvcZTe'5x<nHFºzUX$R EeEG63۷|B6JIFz9BM`q9p֏7M6L>7$!掴5;5_gH>` PDR@.&6؊QWGWu,&e)$Axb0SUfDģ ),s6c#r[%-m>،0F&t`%$al!r JJ&˰)e,ϥ|1AS0OD|}F+v7 "Kx̶NiM'( rzbOҐPްЂB_EM daM`Do-\9GMX?Ȥ堻pk8ClVX/쇈̺DVʭw܄Ն62Go&1IӞQ}iNrN!pi0IX|q,9aܜ? .`~~cs]U,~Nح3^ Z/Aߎg 6)ÈtK[ڹO쿁}L2cbPL~d3 It8 }\kW=:bʴ-rLPþڨt>DΣ5եg#yX[ !L]Dz?7 ':1V7hz#xcX+y9mټx6s!\PBV3?,N gB[SPw >o>rgeb[zp^benqQd_$ltyOP7ޢoO%`opT@P"yfWUfc~}@r):92[`y/wxn@zB@̊3[_:vsCr)^'|~' }aŒvrMGB|srhU;2]5ߎ!~U@.0GqsC~íeKbeLzؑ!8[Rԙ qnagm"$WT]$@I㴡_iPIJ7!5>(Y XH׽CF+|Ix+eC^Fb L,fWZbT|梨zb˗Olڤ/n}wb؅­c|Gu$M.[ؽ06+FLrQYSal_dN WK6DBdC> lY@L|s3T GC4OZfsZD_>yo匚Ҳ4bpD}yBeؓwOtԟ)?ٯB#Qvn.+ ²T{)~ >%a+Q#0ۻS3`1[Y^V]hNrlQ0[b&7ρ>d7/\Dhk΄3^V߆P&uqV2Ds,g!"GOGٛ@Y2¢Gg?irpZn%#`-]i 6ԙ -dr\LCƒ6vvQhR\l !JOU֔ SҗԬiJj@o ҶwB3'ۻOoXb0TҨFv#LY5[纸&ܦe=7bfCnL: \5`EIAઌ]81_LԬᤑ_Yܪ̩@X eNo^|T"#眤.d*7#g0;nc+w>$c+=zT9\FO:FY"D5wMخrD ԟG g.d!nFOudn?n:(X#˷O'`[&r=ߐkm/OrƓ8yLBX l:2r(f۷,cx+8jͷ@7N (xZ xmɻdb=/We[b"P5Rz쟊`e[$6ȡ*pPZ։#X}ы!,o ^UNb,ǖC'S@35j5/ң] |7@.U{ws53\!)t5PI`k K[ 'N7fjܾ߽)d>deK;@|uJnXi ˞ٔYҞۦ(ph*vEOyL5ۚRxz@i<񂧞RkpD Wl[d)|U!/$ hqu=ud2/y΋-~(}ž iK.=W|xф{w/jV 4?̎wRRc uLRqzfW4:gPδ? ԋVlC/+æD{nҙehUڐ=Gst 0[n31\G7KݩƢw >[ʓ6Jv6-@ΫIYXj*tw)FGG# Ϋ[A۫zMm-W_#-]n饨#u5YOQ~Q! ۹A|])8b3<Ϛac*KfrC"u$*؃ 3.O׃q* /Dj9X ݂E4`7›pNxK2nm}!:ץJpo Jmt%>NMl2si( /(ĝ!1<ls-pw dM@xo{W;SmПQM uD"v$8M3죃:8 H&rAa7k|"ō]_U7/e) C\>)KExUvR*YW[#b-3;tq0 ;%hT\P焪 ˭tSWZ=R"]g2_m(ܹ3MSjg11Աގ(;^>9Y.xBFlLm}\h ¿׺jGg%+n*AB|wiӕFnծ"՝i&|Ԟ|^.+oq_ps$$VmYTdXz!+Y=1ipRY^pm=!.^;^El$^zYpAV끅paG` (I@'[y^86)/-CDܸgtRa _cD Rӻs!`q/WgҮRA(oeI Aw+DG ^hiK Vh,?\VʰkqU4J x΁ou$ˬgsщϺI|^0p*|EU@,! qj_1(X;^ahR|8" baˇVhE_«5|cyt\.C,NKQ[+WdžXE-e a VgwUˇX yF0M%Yv(anYS;׈XDZVh5Q eܑXS10=lu-+;zLU@ 7k] 3}OJ㈲>OJuXt^hOc3,}LmV6XԵ08ßcHxTۈ czw@lhs}j]0KǀK}WUvuAAftheh>'_ZjwENwDph%CϿ,"vk-NJaicSLg RRci"~SHvcT.S"28 n1^:}+߇B?fsH < Ri?}oa4 y5q<ZbEKOI@WNhL.s2J>E:DfJL3O#@{Pў3^ Aּ(@K0J͖}Hz31ق#dM@'nAb61i|ˏ`` kIYv,;G( <;{R =мǩ"%4]K>({kE3B5vk`E$dJÀW"+95:( c O+} 4@XƆ(O$az}ʫ߉1Ty u04&[Z@E-O)|r, %d"hT0^ވ?iKAmhb9#+ԉ8`k rubm(wC~oaDԇ`od?7'ByF\B(҄ nCWVyh͝LݘU:&XKDBo\WQ?gEjhԽ\YJ(eYB­տĞM+q٧JV$*xKotSxMJCfoz`h## ᠡ1آC7oy&BP85*QeW v?|,P4rjG{)Iܨr[FIW^SzH;؄D2 NLp!llmPh7n"[5]t?e}ND 鮝O}Ywl ݨ;py-Eea YĀ yf @tzP(Tw[fa"X_i+Q#ݸ9N*A%d "e‹6"&^n貜ݠ-` % Er{J-k?N7 Q(~{*ҹ970a6-d UiFj{?zJo,4?̀rkv:TuږV'"}3>ZL81Ne]e|f}߀P3Q!3Ns2ak ? ޖmluZ/dfQ9f=W^0fRP B$"m7X?Mƫum$:gW3X X~<1.s#V ~U['_R~?koK\uiSF71u~JR ;(N)~˪ =i?ݼ}QT$kNE8lȲk,okHx}?B^va)!5sXK\@QH6z Sz947*; AVrW9o{3 ڤTR_=g$dj^oWxD݌Og-ȻL6dGō|Mgh;xuV-L_$n]ޥVTdJ9XwNg^ {&fD٨*a>f A40_+ QBa#)L|Dl$ wCA%i̘i7 !5^VJ67V'Ζd {'\^ K?.g78-!ݼYt{2mD``\5=#[we*8u#? BRϊpify_f9@g+ UQ ,nWZgHnj]{a1,Z$0DFro9h71u6ۿ)!wnM& bBYui;bϲ]d`~T// LlMW|J󥶳1"EpܷN`d: t=RN8qW(R9IZT?.S_5d١|a6k.GO+dh=:$Mv̍64SfFj:ybWb ,NI] o "׎݃=TfsA'3rX4klD5.f,T[zk )Al׭q^:n/ռŸb2a4@e7qG)EvٝMݾV"áEbk.#gVi*/*_M!7bYKY;lmIQMoX[ [mlP}4 SbiN^c0Y^0%9+ˮfLql>uG)SމY} 7ⲼwAL]__ )đ,uH>bԖJY :={Qڪd_3s)u HʔE)WĨVuUy]p4bQ"DHh \>ʲp!1=|"endƵk,@eεe|)=: _r5#"J_?Rʑ"\3ۙ%VB8|yVeCѧϬt>D8OQe> v4#(>u^*yq4ugitxL~8 ֘l !3#lտ Ia dm]͵DkfyxWT("~q![)mBw5#_Fy>@#:~s*usSgm74u72Z_ތW|>֫֟2hٝXt:T(j[$lƤ@H v%n?E v;ŮeBi6 WM.ZMʠړ.2ƀ{baA%PZ܀c_݇%ڛ4Te;׎5 "pf%,tKfU+xf ̙d~i|o|["4y5$ |IFo^T~,,Pb#\֝(F.օ&ο^|e*jׂZu_\'n!-$9)/6>-dc˪mT΋Uն0prп2I!WC=tgnuDtL$9{u-*zHoӷ.R6e2L3{U AMnԜͰ.pF?NxUI/Pzd&F1fCCS n9DrsoGpX`5V 3ݘ3z飼[ ydd(vN!8F(6j7[v JR ǂ{i<zp:e2̯'0_88rzB7e0),$ZkQF{ 0Qȓ 0˽?5^\G +ا65>4h fZ,64<Rv?n,䪢#kzQy%:9aNG 'E7{7OyftH/̱Q ' zh% nHYedY&mV&UXEC-8ci6oy2ߦ*va7;B.MUuPu" (N~$j-#3񫢱|/1/ӹ)8S)x]J!j-N &s0e[QWe -.IQv2 $09^ 7%Vp5_ywns>41]dz⩧J 7X}0A:Ww 6PFn )wv/m.-]\cF C9G_x^h.{}IK|\F(j56 y S,WY;s^3:uQYq6v\4X˒9|,{]ldI{+B\8P/!1Kpep 9+֊}aIC!IƔk=HgR#lN6 zt)AF9^0K;ZU!d_R1w(eItH=ql"`;6u)k??ɂ(W HthG.d %KcƲ5! 0j/}-g F9{~|߾h{PG ?i9$??sBA-@!^2;’{C۪Q=_^عGȽpsBTb}XQDL4W+D-kALilܦ]Mf }rL:jq56/5?`!-l|ܹH-lbE,Ac4Or*z-n̴V+ߕK!X' IJYs;AzSxjP}s/Q xЕU#%֯Vw>Ft+8Dd G>%K\$rnB{,ρ 8xE_:+!XLy6#8壈7#\Vs(a˙`ER߫10;nx>mU Zj`:x9[u}5}rmçֿ8Iu&6ŁoJ:sNƋvdG*vU/ABiYCI/tiS9w icd ~qYc*:4ndѐP`Ub&YÈ#+{{=9l>g<Ǖb<*t_TkPP\k\+YᙅRGJ  _.L<ݪ/9l^Lfv 1OM4NV8j5vvX5*Hֶ6v~$˕|G$HmD?JԪ)G%(-vx Sg2 C;E:o8j,#3¢Odhصu/猕_e$ϒ8=:>T0|3%"k.Cas31`B@F9zƊ1*JjneKX S/_f/vkD‹-%rZݖ<7UcoNC|rJ:&Hwvfbh2 |'O EB:LBj)eJ}}'BQ? }'!bW[ے+:zclwq.c~ؐl;uS֙7_@mE>?3ccD"`.iUN#h0Ģ|ϘI꧇J14c N|zZ}4mD_ƹҥV8E/L~mą~a D.))e8[j`'!P' ; B> +.s㫹pUW,f4|Js"t?c?zVr._2]kkn$ZTM_':J}R0mTX“I -逦 n@BWLFf{9(g3y4TJ^ZU=B#)oD„f! "+7w%Jq =gW![@/<`;/壤[0?*bgB:d~f x1Sl=J13-3PyWh)qW9@E37.)v)@yZLL"FNrK}FEݶbQO2<5GmK:%MGScZWnBҟ;z*~lk>x$йM{sT;]N{oSBۿR LX8xQ4i:Fsm*T~Ox_r؟62~?v*nq筯Zr#91YE*=";-@f+#b, h=ADucӆC ([G.U !4 $ G ˱s_}yX~츭d&D=r&iTXBcd^#LELeZ]9MU/+SNͳӆ@mur2i jXDR[#}lKBШf/dVBm\G`[JZC@s'ئ֐.74M"?/ Γf[c2wXIwÇ6v*U47LBUR3.R02ɿٚ*yuN] [tF%ub4@6.$XF"X6&$1A{P6j#B[9Ot6G@p妇9?yan-x:w ]7tE}:8 0-뎎7g_OM6 [kq.s(v=b݋v^j1¦W[!Vijk㴖? jU2rɠ(d+b}\6bbgLe)H8_ƃ4r0`[SFBO LOg9nG(j1[; Pd:-3'@_o*Ks F Ĭv-I a4e8Pe W):",~;K~gN6wάTQ$;BD">N"ʐ\0v3ؒȞ2vKk; IULo_+hhM:ߠ_-jJ<:MRؐp"y[}}=%a>`f_h{9JohM̓70 *>SNlnw+F'L^60o+"L"tDŽ ȼk<N$%d;8kk9G--0 xUVyuU%GQ`6֖S__%7ٟ^ݯ.='-(N (}Qh%*(Tp~pW ¼QrJ&FeT&}%wa2MЮrsH+L!ZhXCF*%'bKݖ8I<敥7>ƞrw."b(3,i  i]%[ĕ-{e[H?~$BorYiI(fpnr#Am_;L[n{ά,۠L˔< ǬXHfN"?S0R\n] j%FRH4Ċ6:PB긮َ h^ ! 4ŎQ[TIln!(p9ެOj'|^ TtEH>虽h*'`WJ𭍝 ϥU%9{Y\M}{N=dv|+Xx6CYH<'W1J+&~Q)BډS!gl scΌR@v8㴂,$~\ ZInEFH[n%M=ͼ_zE}Ң'Sl=p AkH VxW/ޫ,s0RWhKiŏ>L*Jw ~"-$ߣYL.Ζ]k$<Ö{$#B~};G}PV'G9h0ZDۮ:` 凂bl1 'o1Rm/&צYqn/A3L{f7k(7qHS#a܏NcI|sFv;OV`<m\]sK鷢lV8H7$۰ c4EuuH,틥j/`PvpݲIywv _'͔P< Jt?}izeöș UFvnlB kǜnRj=I3,;UsChfVO]<tק0U91̿%W"X[ ?C]Q.cX!`\d׻ S($}'7nTZX{=,o3pJUUaUb."²glg纰͜BpVƫN((y>-ŌvR*#8o2RGNՐouj}jՂ>ۉ FQSQMb뉵3afa'ϓOǽGm} S.*vc\r Ş/r5R-kɏB=LrYx:{-Bz_3F1F:zR+Y}D'zț5(B0JIM`~d# wQ$Ej4o(hÏBW2n87j y5фߖ[kρqޖqhHU-]K8Ԯ6V#Hx],o{Ozۉ2_&c=ugkPy`~<|fEŀ >DS dܻPGc'G; q"ox3cO5[ZJ(4͠JƷ6#%4/ 49ϭ6y,Wh]o9u#.5uĘ0;0D>!-VS>0Xj?V\.Cw]c :x1uP^:7sFT%Ϥx˫0ځ>Z/sc#g a(;a@ٜr ,~]Ƥ9?\SpBb[\ |z UAՁtIT'9t:hÁ3޽БG*ˌ/ԨafӕW:xlS}D"`(2@ho|-yH7JZn$N:l,h[+-rWhT ~JPYֵ LәNt*'AS6>6FZ׀wNߦQN7&p$_N8j|ֆT.5^Wj]Z!{/ĭ}*BWtxP1K`rYCӹo8gzje[2V&k\ # ?䭁hyoXW6&cZ{ g\$&'yąÓ}%Wwiu*O-{"E,st{=c 1Y’WаIC۟i>g6Cs7~C|<<.8,[bRVSY\0=c(*"ơ2wCibEAj._42g1* f%Q|n]#5a2v*AV'9mjDm)$Cw|1kF:ԛҨSˋ<"ȑ~Nˈu x. 6يE ®x" ϜP~ zn[w3h5xwVB l.qȕV5wtJT[w7W}S&y+Rq&䛂>\B)9{U45B.aW Ug] ڸSC @Tm0GAd%Զb Ő~[b{s7:SBhǟ Z,3Rwt>(\oS3𾥒N"F wT玊g4Sjm'iJ6#>ɣzdܵQ<*c>y3Q@ ^E5,.2|V\I5J|,m5;'G`Rȅe$M|M/P<2]N:4HYh_,z̟ [Kql~v,pQԭ1, +tbY)fj?9y=fe3fwͿ+XщgԨYz{ed؎}E?$NS2o~`a 5khVSQ[SaYஐǥr\[m`{D0H1wOP[DQRk;l{ uG.eU} pw ~w5M5ݮ']Ro'`x;RYDK@4VT*gh b!WIsc1 ^Dd Phy޲Eҟ[NO C8B$\B&`_/^]gEɠmˉSIzBxZ߇mĒPX~#!"D|B^u5< _C=bW*p*Oo|iPHVWr˰%x-Ss`d%p!HO GCoBGNr/O,t5a7; T]Y 6f P?H#>fB1!4ˆFp7G]y[x=JS;z[l'E^K}5 ZG H#F.vD )v,^Ɲ gBArCQÓ )e'©ʃiC:'L泻r$ h2U^cY²C`ʴA)_I]ӹG@^*$D%QVIrזx٭40b_=MnR(֘n608T}dྏVER"➻`嶼}!(Mݰe8` D`Dr\:9(1Cy@^搙/䘪y̬& 3_FXoh‚||`{MQls^Y$.15Äv*x}S5v?d mw"ʓٳ+2:9M-k1ƈ:˷+ [#2Maj2F䡥V tiFTw# 'X w9kELk@j=CyU׎;|tHx٭X&⺟ϗU˄Nm[qZ{ʙwjDL"7wm~:l8&s ̖p蛓d2ɽ&H:~kFN#>#{8 O&ZYG&wlG*WBܴ_t*wV%AyA[ aaCόˀbz,K8hıDmeg]G5DuX9GBɛSΣhiy="LJRyPE?Jq.kBò4pjGM#H`7YQO-]gn>ch;\SzHAo>ܳ{[Sa|V|ׯ0j+`AdI|'V'i-M!LjZmXρCgC][E /fAOROy'*?SQ^֏*ޢ qBB!|N'af:>ȣ p=uYyn#Q!>Ck#ٜdMU!%ּ`.2xzbԧ*)Ӹdz`4d0!'VK֠2»ZUR:qբwh&35ω@YW|6 t3}L a҆h:L(d1';_G҄ ^d$|`B -)M{[P 8ȚfE31.Ţm1J^V"V N|b]΢HH{>v2'g/U[蔱aT)[>q"1B+hp`:]Ñ$zvRǙGUlVH}5PPߖ\ >FGrQ6(I!Z-iz%Q&hS:0$aH&}$ bɶŖ(|Ϯ>N8lb>D߳;1љac;?7/(]0HLs հVo#NQ IaJ^ROdh+Ea֚G'-h1{Mq²AP+QPaaTu\HU^w}FI>SnĪ w福Z8B6e!]#h֋Ƃu;*cÈqf«ڄZ#'k/W.GN;X;f M/.l#vKI2y]ṾLk`읅HѰ J'<|dK6ZK- MpHʵ7\%Xl ԁڏn!<ܷ P0RSBaǥƌx~"k3b#=+@A/|R-R̮ ["c)*-t߫d&a;l̋ t\pZN:0Y%zI-rTo%m[?D6>P&OU/BQF)'=U|/+ xK 5 n)³.#ƽvMq٧į58}`G;chA^,+AUxۙɅFE?S`ib&LƉ 2N0a~3TĄ*1?aZ-!u&$2)A5Wp{Z\"dq Vdnmt7c!:(4|k%*mwҮLf S׿z#zE.F(f挻vtHP*: 2SOjN贇 [e jgX] wCڽZńbBw(=/< ,{=Bf~*9xB B~BA5.GViP 7eB w]D{pJ}Ea^fT'*/0|M9Gpςc-r9!ҭ(M\WRَ˫}_M Y]$V֢]u? u&ԛ(mHoY gY2S}&s?AT '$y; Ʃ__~"S'$Mպ94rIFfɌ8llSf %WTB]$.=^),qnÊFFMZ5itU)ߣ\ @憿P+_8;NΟ_ODG 'Ev%Ǘ`Vu2 *P7䫍rɝ!07A|N^M պ*-\vYa{X&{rwJ9=uK`vcuo48N,1}Cl,8t#Vc8aqISLq""S.DuBmNä>9ډxfa 0s9UڙhBg<6MWADBỐx526tġJKF^uWnjJ&DgR(O[lVsTLP55B$x^dJT;y_0"hq80TCcQ J%?WA")ǏB$Pjt3? CtX€|:vW}Q~?;R`& vcK]P ->eWŅ-ꪓ{wL\W7;{qV^xYvX$JyT 8oCW1D}Ѽ g}ωg%C+c: WṊ3⛿pn\ XlZ I2QN.SstGN+UT}w>/&raTLpW}\!Kgo(nX!ޚoCkG<"ck5-*Bt\l<T:7zk7ܢb?jqS0`iu0-[bE3Ʋ M>PY5C,i ĜU-WKNuQLO<=dյ,Wɥ~PуRDCDV=zHw61l9ė2 b#MvsUt.`}TB۟aС`0, vG hI/SbElXE:)Y]-${(eiܺOwD@UxaWV&=րe(5gc/GWEwǚQ,Lx;j/FXv=m̲9Rph/%0FGd:1j9v!ӥ>\/W̋qlrxz:$,F a[qjqM}zx [Q'atìpM!Y8)M_̉gLp^ =(oMV}Ga K-9>0(̋eyWIHq;갈JZc0Kկ8Ȅؐ>#><}۟$-EXokYY4p}wG)_е!xG/-塩d炌5>e$ԫ؞っ-T l㪾 \:g@ ܧ%>'@ 'Sv'Ts˂mսg浴c I0uy.\&{IfO%1Eeo ,q pMJFCvEj} ч9lmKNT'Nk|Zj(f@zSE6+A6 ?^!@+(G`v;r4ԉl-GmZVc߹FZ1xy r&]? Dzs`r9IXWڝ^Tu3?)al2x:,g֖UGEYCMc,)" 4yGiI8!7RF3g[=H}80otE 6XNmQ}>g۰pJ2Q\K;I"a\w{Y'BP7g JQ:6#m@OWtͷ<oNPD>h0kA~_mEtGi*XCknu8!& bzͳ`KJq@ {Z+Y/zO*'fDCYp|qi<(O_ŁeҪ]U.OD=hܷƒlz@ CQ 2v8S% *;Ɵf<Қ1@ FB.e}vg\`}oRP:(A `JqET逕}H¾rPմSփW bwȺwc_Jv dY.a#V$|[j 1`W} 5!HX+ʣjdmW囕ghX_6C/V͘\_9vuS5)wUgn~l+`(9ELQcA#Y 'jj[b{qxgK$AYƥ2O-ݺYPSm~. ysi]|4͙/Y ϢsJ_/H~{\,f49OT0sFF' O7U^`&Z49l!4"7%8DAK,,%'LjDƪ3fSIUJЌ&a'ihhA瘭9C87RJ]le-:eJ#ڨ YHdKl ГQԢ|F?a(l}kJ@@-8iVm {liX8qj}5+ h)z%& ܞ$f—O)4] P-*ݺ4J禹NP;b،y`)utչBX`K~%Nc8A/3vAyC3I=Tǁ݀_J=Ƨl6=\8fBffGpAnbR`9& oDffD0`9p>(=SݞXTjMFtD[{lMn*S iJ r.om˿* Iq]5cU_;U({ TR̙\UD KZ/gB5IJC0 d"AEd&*\~L$ ɝH4 NfۈQg#^(<'ꂞsb 'e9G~x/t.z,{Yɾ]=7i_//pYp>P 4S.]%蹇 /ꊎ+dnTDPM:lGpC(n c!X)`soGثᅵŬi^ܜ#_`%Fyw" )ɽ5CV`?|a}ň@2UT̓\2Y !G{9i'I? eryy2?@^Uy-վqGGz 9b)Տj4*ɒbJLeM \Jls~4ݹkI.Y7㔠H9E1*҂,|ߑ8w)0q폿=L-NDͦ5((kYjƠe8jֽ]X2}泂+njIoϯ(za *5:u/ZRC>f/ҚkJNl ۂ?=`$R)&LZPm.M%h@ƔLQ\d0ϲ_:}oÁ{\2-GG.ܸy~{[%{ `+E{&zF&9-'w޹b#t&y05ˬPa\ :M[ZH]ďt'طp.R7E[)ѠWZgԓѹ(&e Aݟրt-z.(_x%Fԫj,af8픤pJd!g}t4D'U/vr]ґ^aǢl̦~BBһb7m=plKx_zw,dtv>a}sC]ɍ;h!Y02vƸ#9dO۝;+kaS[,Ԇ7peΫNչ+T(i[K a=c `.s1`WYq:qYfjiGy8lzM=J=k8^7!XvXBK&vi\kIj`b 3 ѼM%eZ$=c%EQVJ]1PwX%G6Mk=X4=gU!24!QAp܊%L^rT귁V72(%c9k򤌸z9Ye7E]SY򢊀Y %?Y$^./j!5#ޤ͞ZXQ栀 ^5\x+ʋ|m+jkOAkhMIyQ)+*^p)57WC6_yXTWp'rDF y1Tq9&kR|3C3L:B[@&Po@0T'_M4X '7ug1J) ʒ t6;oV"t~DI#wJ H,+'2Eq,hw(x !ηPy1JliQO&j(鬱<3P}5?hEtzù" %Bz;rͬ>bfekረ΁BA4Lln,G`}f8BdHNQnCJ(H|u]5;eKQ0f1Fبu"譸Lt'h; A"NiFy0uc*b9{9!n]mk#P6S(I P1²eCQʪ dG>lDFcAE܎yYE뻇f؂>sI%n=OY.kVzBp(A~O_iޫmM.u9~Gz"Xqqx Ď>/P~LasUA H-"=[훉x]`A*%Ec _>ڋut4)԰PIO1Z;=IcmJ 2.Q q^>gв/ ҝdjzy(!AEjجn:L Lר)LQ?Lx>SžU#MI(8]b{ݮlۯ-خmUSXЯ`C,k^}}a&kEgִ^Ugã9 eWʲS=k#XS7Wf3إ 0Cvvh[DrDk|ؓ6KX6Wd 3R{ 衠*- ?XʫV=kf{T i.U)fl#hPTԣ 7^HM--[:1eIŻYKҚDxӷ 4}tAP+ VJl0k8y`h'w,NW 0,=@ ܮ;3,߃UQkmkd9040z7|6v {Y  ì+PlvݘLpɏ'0NuWt5uqP@>PpM(jgs;N.{2;֑ɆsHl^>#w1Lp hDrگa6:F̐aP=@lfqF>BOM<ֿm"2&A3_oI/4k619Ϗ=}S,[DXC yy;͡ZOA#ROd[E ;aH°HG2w쵵(;3 3Hs N.>'it"|CwY4#x%?KҢFh"NɽM`΄8u 0(s7랊FôZ Ci>e1XP%H/>T<^^P q"yf : ps0amO=&)"ml!n-C虷i]8_(o$wh,tۤ ְj+DDzwT||$*TƩݘH}\5S@D0\nNO1J߀oO`SJ\cxAcPlp^'Z- mȘE_XvcprI&F5^- e9h{zƤ1uVkDݦr\`B5 Y@L27sZ#ExDlg!Id<s!2c~\3\zu]CT}iVPAu!ZQ=Vnۃ/]G]xHBKX^ r]HY#+h0>5xqbF@Hδ4 (9x.]Qų~18ݛ<{||Zmd:ߓDNX4^2Ou4)ok\oo$peT JN2[3])c%o `|xHBBFExo1&EyLYwD+B0[SCEU9_Woq V[xw AX7MĉU& \;kEZYveL։)r-,=S (mm 7 iV. C 05#EvPy:Q!/ I=C[kMg~#-hbg VoZqT)G }o!7= 2 P4G!%|TKSufN?o4kjz@\/)gZN0 "nUT %,d^"}eHɅ*oAK;yt4@c3CC~=[AxR}0@O)?]t+ Sy͊;]ȹ2|@C5StQ|4 6`+wLpD2qħ g57 ;L,0˅U<Q>2ΐUqv+>Hh5RCxB_~ *r1<97h:tod"Ey\$=[M.)xE}FGVL;QXf)^~C:Xemf* {);n; x7}\MGSۍDNGk#f2XHKNjgez˄6[6_] xofzp!Myw\?{fE`^la%Ob*Z!lpͻ5/ÑĨJUPQbY}5P}٠[K~M$_|3SմLsǗ}\08;+;Ekj6?̬3PR&΍coߴ8ĸ7c2GDӿV%\J潊,.z`om4y4!g]*N{ עL@ AVmL)D8z8bMvSoK( ^D3%=3>AEw ?%Dn턩DPu nPMuSY}{5mܳK/.3pP 뢇'&y8d]fI6]zÕlc/ęk.9FFZ,cV+&M[cpUe$@>:꺖+JBf\| !J cbG$|ZݎOR8 ۟ ܭD_"t8>Y0cs26H${d$-;H/׵^jì 6Oê`Q[LSr5*Fn!8skScӏr/VO=+ǨDõ_)D&TψƢD~])|ϲ/4pc4R+PYQ^_0Br s4ļ)cvEa/rh#`=DTV;f8Lx8`63+{< >\v:irڎuRXnױƥOuSL>%uMiFi|9Nj']B )|D+I4,/O =,|e @(ubP-j݊PV3?9i ';ȾC>i0Q'²ޕcD[!9d]Z [#1!JϜ %%ףH%oc؏͑^-DǏ~p& 4ud(L}Kukj6J/Ÿ+ n\j*䐺|ɧ0˝2ٺktG*iS%qxD%7K00\ [5; ;}z^*np,*A%LpVі5|BJUrFy7(vmj|*`B ^8ˏ Yv ݛj2=*)FN6"L^GC ͟a mh~لdC&oa6{ݤ)ٙ,/`OR’X`md0bQK33Gnga>1LYB']&i=?>H蟙U cCT6>{x]Af?z~ .1`F'1if"\n!|{b^]qAhȅԱ 剬?,H؂QT&-$b^glNVűZcϡq D2͞> UdA_1f(=L+2_&i.`4#֢jVVY~F^h>5KD@gJ Ҋ@MyP^m^>S ,$*@=DXF5Œk,w"CkGFJ,> 13>qa]%yL}fZX?l~J-k r\}`1gfKEIx.]"dGQ(?$iv8 y߲}u$yL 6 @^?k{m݊NQ3̆O^i@ax|e}VVj jJ^ј! >Bj=.0^lT4!1,B Odzn<[5a61|l޴2ɽcG[~V^v}g6-t[_hqc[C#˨vMyh "@U]|21?G(R@sc3D0sB$`5*IdHQrL*)ZW䴌ȯEٍp}th 7'[$rD"!EF~F KV9\+J|_}&[1Eq[`u~j0EI`/@}4YHL7VXqŢ>D?y?Mg5OfɥϺm|3Bv?C`^&ZLGjmbw/3P $m\ C1\v!I / LnS5\Y[+Go?^Uٞ 'DW\ZΌ˅pˣj<{+.k5ÁlgQnFш)EKՁc#=T_1y_Mz^Bhf En'S,_K.9t&_\O}S\VR1gqP! Vl/4OS8qlϞy r~袂rGkնEȷxGQE&Np@"FG-'We4Pm0]*ltnP~ab ddUC(!> c`ҋYA抺e8Yq "SAy~5XwQml,{[R"#ӶY9u :FN6@;T9^Df"v ,ʨyf).u]bV΅ob FY1HC ?&v0ɑr"F‘}JVq>TFjt# l^kN٭@g+q'~Y HuL?ZS:M GQqrB}o>܈qsH&-gcg@*XEӏcm7ʹ?wd<]&4i :K2e0^}Ni|Ag iਢxm;"hzWYxk9ȴL$73WLk f PA^uHh[ xhj܆?C!ќA58Ld'!LgΜYS/Y{?՜/hOȌ>Nz`ݬ#?9ڷvjrxԅt|Ws|ܵ@0?ic~ҖKJ@x)]{DZB&m5hV_"oL̏$M0 x'" 'r{cMۋJ*hߝiKN#:/x!xTZָ 4'kz9&%t} mh,_^}C 2뉁AĿVVL fOGQX Yah| mf>  b&)KyDLpz؈DNN"d[ziZzj А*ӀB!i'?fϤ?g^f- q6P5xo;7?w#j2<[FJ%ڲ?V8̸liDݛ}&4c'cМJxS S` FPfjFˢXxws Cs5k3t3(?Sq[_1)(H`W9J򘣬"+hZs݄OO3Dj&5gfjr8 bp~hplj(.C~9n_jxqEк.&6 Ru.l+xn5'k|*_+Ruw,s˜٬ߑҁX)M"J_M&mPz=5pZȣD"ll AV$"-G;zo^@3fӫ4Hhi63/:Y!HV!P5ǡ<|(@J%͒Z3tsF-b,ځKns~n.$BQe|bЈ\A%+7n!.ĕ3Y=WЅb穅xAS,8-'nͼl3R3l:St"jp cvjr_]XX«Rk䯓(Ц^\,^J*Bʹ<nVx^e"!p{J] p߁>ݏwUm1K:~: \/RYg fF+RȷdUz*i"J^F34֍ޠ-'XTS̶5&|wHf!ݪN~e%=PGa~r؃jcx A@~E >/\׫*5^7aBf<"|Ԇ(T&E+a@> WRSBDe}>'6\[+#c!FNAhYN#TupNME7cFqe y29i|MxK,|Tz~=44r3K˝jbPFqgLj3Yr]NGHVAzַKFmV# $PaBb zI GTY8)ٔ~fЍzɵs/Sd+rT {xPsSy-Щ ȳ8ylnηxC#R*bwճq;?$3"2 >Yn>-虔虞"}w'}e4RJNdGӸtwbl]ZI=%r]ܣw&OBmJl"7k''p(N]`B4xRzZ_Dz=f퍫UvzgHwhieeculݽL |Ĉ`ZdeGfvj.%Z2ZN'"}jdV (eL>" 8l< ׅK 3lUY\\YQRz^饶TWI>uEg$WkcJCFk 5RL^ ;aฉ5bHOȄcɸn>mBίsmU(]CKM.O@?i=iXtzx8s?ôPK8id߳4y@ TN}x?mk ׉I~݇S0Q&UK}o!Qb_Ƨ К4jBմtD?qd P C'Q}Ju!AS}6ߎס sm}j8)Ӿ'?#DF_n?~a-hFxpڜON} '7b*Վ5E~ᛜPN N"v婹-:nvb@(ϫW:I%Τ 31`&fR[*Sԡp:T+Ee_&~;slu.\t~㎂ ?/1EB'Ey$~]0po':]x u %mN5%师'{SoCnaͼĹ>Sx۹ڦX5'넞v7CЃZwF"D$X z{b;Pc,bܨx2{|+|}1#KJVj{<NqB\Ƀپ:YDacBc/,*9Q*ƕ岿tfr7ؓz]k/Q8(V8!f0>Jqᙏ؄u i#,+ C%` rl|`X!HmCJd(+Do$ЁWoTWJ"  gf_=ֽv"{@`iLM'ZB3D}MjZ%7?,C:#[ |eQaPV-jef&~͛RA9zŽ ,zJDm.+>;ES'xW`0k2!u{4 ExU\Hr]\u.\\m3DeQLpBїQ%Qe H=ۆ35ٹXd<%v_Oq)U1LJGϱ̼L#ݔa (HaER|F ׺7ZlԻnYrҗAl T0|tߜ\Z7cHֿےk#8 P}c'4fui$.o~hnU:R*QlЅ㽙Q:D 4ɘ4g>"β}EQ)=4SG,,_k$_ocj@L%A|_R.ȇugb]iDLXng"NO>PvLـӗo\u2KQx/a!/.Maw5~/>_܇hb6Q 򓬺f7A O]A +wSEFF/..̾/zk6"S?Rvѣ ߤ-3`GU٪,?y*]XC_hDZZty E={Mtm,7y UzđO|5hò 2!W*C'wRoc<#@ůj[S؜pfYsn=Btso H,yev"q*:aE]cehh_L@c xc2Fᩎq5H>=c\E]$l41dJgi:yzH9((J$l40c&(J (wQ-œe. "ag}5AiS9?a^Ⱥ#c>4&Ϟ#[lYT)H%̮D45pN_DR n]Ʀh8BFܣqq8>jSP3!onn8O]hb-~`SH Yje\lmTh0=dKc#=2_!\ <zea:)/HOAiQd7d[VsYʤ1}pf5yPJ'мdQ2Q6LP{WUD$u"cXB{lbf0C Z6O)*ؾQ.EPaڛSi*}nVoT:NRH5 7]fOR7K(20OFzpZ3p}{SRGrqsALh|e:D&qa_PrD4>%5LxsD,p38[{ Mǫ6ONױ=k:wL 42ׄIRa;87RYgӻٿ>\ʈ%4%T#u.1&_B\zA=P2u1ܪ;$p|ǙOyCj?,u)5 ? /k $`94c\f>Ϗg"d)l7xڲ [Ɩ5)i[S6}Lmʐ)bq8?=TK9R.Uȭ3pwx-#g{Dג)0zP ikz#CS?@OĦ}+| ( m@<|bl5QS Ihu XMuيq!AR)=j.9v*yΚ}z$>yBn=,-hnh?ԹcAO`|@,^P z 9'PQhM{:y"xdNE,c>E䚱֛}*O[6~'%e?Gh;}G(`TeМ\aAs1 qݒ+GR*oq{4g:9kR&t64bH ҵR b`Wϔ{4U@~mkj!~!OJJ HȰdC\< 5&hb4nDU5H>9~hg;)>b9+ $1cf{O;dzq݃uq[`Z8*W4ht`UI >xí?XܨIk~HaeRvSXF оߚ[Zy-$*> pQw Jrv}^=ʆ|d*L{[˅or96l΃`#slYtk T]c_܅}&B6+^9ӧx0TVSW!JT%,Hb]/_6!2տ2>QlYK_ΘCTB:-h* l &aS%ጦYQIbjaH>NtK \@ \߱:U,Lwc~ raGqO ty{FCG[65ξ3>'fZBj)0e@YKex|b)3SݫY3 .ȋf 4֕ͰDlV:U2 >L~ @%>O p)-12y%`vs> ĿΘe}3< ]sG|l6Dڍy(`T@J(44zꨮgެ`ϩ¸宕 d?E:FCF# jeT-g!˧ Qtd|@F&A~Ȱ@>XY?M7@[æ9tyV" FN{9dt@bh6[WKw[Pz~q4$-^hPZB %,2*kL sI9 ["WBlîI pD >g#1$ΓQ9vS( Hȡaٸ&rp p'4OG-%Y @suǩS*!g,*?/Rn֧ ͮV%xVfxHm)@V(IJ^^6WWܩ۝ a.0CާW=j_PH}ƅ(ZiɃj\ VI&SiUsx}6`x:4:gTհ/:ځmw&CuDUϫ{];xe|yi4r+FYEE|Tٹ, 3,aK`꜓NVDRSP~p*q7X$36Q혰y!PpEc!C Da-ޱLZ7EwUV2AqmH`T]B$'euGݝO1U2Oֶ^$GȺf[Vdъ˛uss5hX%HWmq@ CzAmaQM=3izx'R5Nu6O 6[C\npШ_,y-n,<FΒ+6V'.&*OlкeT7iAoǁ~%*#p6w29lFE2|@)v3;gBZ !P\Qu`aOҵvB\ P)I5, z{xHyޅw5]4Th͞(;R¼Ee,+AMk}˱X9 Q;{(zDf͛Vo2sY!bQ_r?)K* _g}=@Uv^A`rxcP (݂z|$sW>VNq3>leTV.J6ذV6`<)t-@7G5F2:im,'Q6x' ,.;ę:o!@Ͻڄ܆oy9Zi%LpńSXtCJ{9^/ X 3'&Q "U-i92^ކĚTE.=Q8lL0} _( ,:D:s:>͞q~\Ð&8:qsj w~ˊ,YZb͈S?[oV7IFnq,ib-tSA!Xl^YtAH2G܆ҕڜ-EKX20v4'ǂShڼfYA$rܘq9 -4PRٽtqꯨL>wOG* w15Bou¸ATrGd"dE=G*JR2AE E& u^EзqDX,%4ͱe>xi1dUm~m{#M>]?t2p*= O/QA*5`C /d:jm0[Y u84?"1vBhV Hʢ<ˁҤ lkpڄ濟U0,XԬNE\5q /JA^*D9!ՀJiJU61V_e@HHf-ȇϻO8 n9cMjS}**k[m*f--zrwW]XSET`S N{ Z-%]_M62vxJ܁>ȏmF)XIfRAdˢF<hwȏ`=b@/dJ`-_+:XWWߠ %؋Ck!\ʐa3x6FEx:Nr7SB/:9MyDn '?E"$(C3 %!+\ѣ 9# n<6o+;o=1a{1a ;zN/v5h|O7TSljZR7 i;#[(tPLVbAF ;k DAIŒf**MV=5 ǘc8Q4؎ULao!ߦO`c ڔ /S˲nso !dyQ+ J,;N9N'zr)I[.lh⇬(;v|pJ^ppyjD}0̙\}Ncbת &'.|`G:2qڶQe6kPzFz?@ c]WHhuP@a&„JMe^ s%T$ɐ졻tMފj~^P<8Dk1Zg;IVoj=iʸr L9Au.PpĻjworDROC3%L5e6-['lp!_j~?2.2Ze^P:fW[O2%gC 8${ x:j:̋룵;dM).NF1\@}m¹C4&w~Iϟ?3#x_\d `_5=Pӵ/ 2_i'yl$gOe2[U1X#D I)>yп%l2 ,#<4A(9,h^ӫ{y6&|^g:4lS E~;tnt>`p9+!uԼ(7( ô\6ulaRBJ<.o \vW/qKn_Su/E6U0,.?ޑiL68sULZg}+x֞s"sYL(sG6v&Q=NG4AnNGHN5J{@+7p$^Sx1 _;UѦaT`mNՇ9*2jYdyc\C+‚u-4@Ĭkm' TrloySܒ+_+eSA@Ϻnj@`2RDDWkE 5!R͈E| )m>FTNnEGj} ySdsbu&ӁooH508 +^fWgc^Q톜N3dA7J/cc"o>@3RPY[3Qkn-]73"Ð˼5)vb|#N47) pP =y[y݅, byJƨDnVJ /4BȮ)jĎEYhBk.21 `dQ& ՜6]8'[(> tLr'[:|N"Blvc!Dm r+GAZF/d]{-u:< 궪yNI $*I (2r%Y'dD*Q79 ;ge= \ᆦ^?κQw]13 Z"(6zu@;\C v/j6}EKc%˶ _,5+7.wyQ`j7vxy$6w[=k~DY?j9U!ɇ6>'- zӝAO &r _.5V `D2smmH?y+ۖ3n1\WدV/LIq7 b&adDZ"mʃuc=RѩF52i\6Zp$B+9Q*Xhdfk-^*[ b?䝈C29O{v/: zh[K@MvcSmB'P&D"88OP٠9GZg:r V"OuۗeE?gޫվaAޕbqxL6I@eiHn#yI= k F.Pm8V̰`2) Zt::OX 0ݒ; Ob0UvR;B}_M~RMplwu3OɴiWW6栥wa×-fg&&t):Jgs+'mKz>]2)? I4.1@oiֿ0vd^a> 3ZsW|NC)zŌ}]u菰XAMJg"DYTT50S rǚWXx=0OD_^C?`W%ф:j?` wH=} }m1Iiϖ/zG;7r#oc ;M{)c^$=<+z;xsYL?O~2kKAx s.t<9rU ͑|=Ya̲= E!^zӥ[HT& Gs a#yJoПYѦQQeӾЌoƖ}lJ6/V0יÝpnx.jI Mi"!:Xgi3_CVeC -A>M(MpHet}^xԑ[[!l 8XsM ūg>owZ!lۘ#rŇԫ5"vpfh3 33 , [m&j#@U†{\8gw]OjؐMD-%?VIr茡+_Cv"gxp O&%f_< F_ۯU b"*` 8wO٤%nQ4/& #޾]d:3_u0 q'sO%v`iygXAk܌PhwO/!Xda$8l!CrDS|IYߋ^  mdŮ^WviOG %tiEF,O Mە`qUnBoLiSͤyiۘP0z5春]2%Z$ƻq ޖ t.K0`x_vB),o#AC [Ÿ{Dvog30D+C7ϬWSGPEc7'-GY`:>8P2Đ-AXj;0\6a}<cC͝fsmOp2-JCmY3%z˟ *PA7Q(K=wk.GYАTXE[jF<^(C5:"@* tƏ|%GrEbӠ%6 N$=/+(\ZN z`~ g~Hk0&y=nX @WJ=ʝ"{hCr`RO#J,n A(y/׼7cz3ʦX<]#gVNCo#y֠; VN71M}D:]ZѶ \ ," ]X`{HɡN-^%;`Nװ(ztU6q #@8kRh&խ[H(IK\Ѓ4fhױ Rd_tRoDQ!Ov 2[6/9;HC"ĸH .[`'|L^HFTƿ*"X&]\)¥K'0SV]Cu-)*֙f1lJ pYqȟ:[٧,0a(pv`~=,]J4d* uiI.){DfU,=O`n]hb6y .>#5Y@ LE_6^ܜ{Q kO`u-lwH}㯑q~.Ha%eNg-m]|E*$N>bdi ʮZ"of&,jH&YZ|V{pE] _Ԙd]G1{ZGR`PXǛwΪOdJ97gNJr04XKnX( SGvEƩ MC9laR3f%X]Ǘ3qh r)N 4K׮o zWғ9o,ӢWXz `bzP(W\d[*F:-[xcc0MCr/l_^ ~L A8*=5capaepxYFMR@z;$wuȣw.ANDgQsp8vH?YEeLa>́%#v'o=I˧g>1("/H"I"aɪr졂g%qӼ9.-PhTCtO _`ۂG@Țryvx^+iC/,31pY"HW #1]ؔShg&6Xa]ݔ0}!ʹ<)lu =vJ L ip1,ųneK_qn8+S|#d ^;V:9 /TؼHVgRG3liF)#ճGDFjR:ށM+èNLiZhK:ļ|=%&'iuμmu%,I4nrl $ÓRח[yV sү-@S[gTlɡ2x<ȝqCC:im=ΞUwLH&A4O\iћ`nuVu)n$;$poJEAtAYzûU;ߖ@-m:3-0Pi&nl_ mĥ2Do ͋?9tFd tZFF;EX]{|EЎSL"ؠ^$rh#NxםF쫤5?]4CZifg~u7Sq2MtO0Fv+a&-)_j 5g75=,::75ԯ&l=/fZ@ Tذ%5B2YkU{ґ -RKNIf27a5>Qvn0㉄ bz[8)0uXػ[O8@PzINDJ;`mv5=)C9XI}fOmdZN-d Ѥ+WԘݨǠb%Gʑ>di/~jBd[1,ݚS0-=eEse9c(HՕMh(+6^6cuwQëB0}Йv+} ]%8:s!totr]58ʐJ SC()/xb_mMz&:0"}Gw WU3n@[n5RݏVwWT#}x OS6\; TRyK7-D ha&^CU YdȤ|{&}tfc}Lh)OIl-\|əhsx{TZ: &d\徕Lye'pKUR`2W{kIВ'k@B@I~`wG!qq;L~1lj Yt$T"!x7D,“qhRtjO/Uk5Kgob+mŻV}}@&_JxWs}HH~0W,?Ӹ7E"n+7 bh܃~QJ&v'nqc69{5Yί)qؖզ嶿SKVtmr:(A>x OkBّDRвb'ҥi,+-)2Z v{R3󉀎ĂP&.@4=sc{XmЈ^_xjǙM=Or_S͐}Ø*U&nu>- \w>yE? ̳IS' j5,*җ( :v_k޿{ +񂨰i(Ʊ3Z{Q2d'|Zmo<{zx6a\Y*[,lO"G2Wn}C͊ ïO^:~XK)92 O9CF/(L#p$I^/e)R3)OxQ? 7V$<)9C('QV"E$}Ŏ[W |#3y#<7Ͱ/ 1ȐRhJ$^0's{yb9Gۍ@4m_ׁ?\ȗ/,qFz5 ɬ?fI%RG]Nn;/Db*h^p mr?:,^wD72@(2B)7S&s7!ISlM@>l[67/ۿz5?߲5io7Yف{ylV.6!&%; q[s&R4aFUJ`ҿ:tiM~7WrFA1;|7X(*;>n T2R ]b86YIdpCC}煷+F(mbʀ}`4%FL1ڹFZ9¸/ϴW|p3R%54YTw$iNs0 P>gh+\ 퇀> )F=#~ME~U542QOɡ`ڢ^1Csy)U )Ăɉ`n;aA4*NlJ'J򰁣DO!Hx~ܬi j5l6idž~ `SlLx"`O"aKb'#W4`oTxBR,#+~v<\ӱzJ*Zϰ/љK"à ; R}qѢM  q0bX[?3~*yS*_XL?ñd!o[slu[>/M*^ p$bu[ ӲI'dݕܱ U(+'N,mv'_[mYa@ogBDMMozb2+7bș"6PAKu[-5U(sꗯAN1Qi#PmjLtձ:f['V25c I<.2s6;K,ɅMPi\fHJhp_k2$YD/`wM6<7'(NqQeuUDVD\}E/Rjc~ЙkSsvlqf4FBClx>Haq$;7Cv j\aal}1)Lj'`]QvOq* 덽< A8ytĠ(CƤTU#dO_$#tVٕg 5z>h? )dX R8ilpgz`" <%7A/u(MZ{)].In%_u(oF@<6SqfѠ/$)HJV}[|r@hF_?895ۥc]d$QI WH[yvvcA?ӰcQ5Ԍ!﷦b._p`=Q81mVJfMpx1ua`畓{jX `ңϊ *5 3iEFŃ)ܭvyGE0l6B[ŀw]o205BO[q7k`vp)BzjzhjҒ1\*j/S S NBtYK{|,ezR I@aL]9\BB\vUTSl/3 5DÝ^u-?PZb*+\3RQjOԺ{ '-fD26Nh|$N1&|+5z>R=!,SrpZ?klot`O{2DR"DWR +DK[Ow$4zusJK|8r7$tӣSsUGJlRb܍ EpRnɝֱa=qZd =?ձhYf쀉xz"N0iPE$HDZDp-n\2^g#@(AЀ䲼Q Us;F.X\Tȳb0-{vO~PvDQ?zjw$L>_:>wٌ9ˠGqhIЬ9pܩ'SU70KZksAPƃ9iS $TZv}"V PCH ZP=Z)BX /=Y}Z8._"TMT~I:w  B!+sW_seCd;\Y_4^'ID뷨o`$ " Hፈ=fAҘzC5cLMÊs#pH(_q>J8FӢU,}1=֜[tm ɷZ AjZ_[~6E ?`ǺS7_:+9| J"va?eXBx .LeN g*Y 嗷dzۇU)[e̅;J@=>CaTJ"a(Y^M ]{ 9;x_58/nͥ.p=wR"75ܰv7 LqÈʛ]lCxh?wV":Ht6BZ0yi.-` C{aKn|KTO, р8-4fw*!5٫}Z,2e+tE_ȜDR.8ƊC~6X~Up} m ,A\2W6xCso+8Y(!4MZ nX M2k 4/deV\ wQq]i=·;WRHWk8nWSg1Ku6t=MP3';A5ι\yiGD`[PԌlj"үQ:7L\i^ޚ?+!JC8C@7ݻ"-2Do!*$_@nj]"DITu=8:6 zB:"Pfї*0E Ƨdė*~y<~sߝw ա;"\oVLU a!m\JK .{tځ{ÿN&oEyS؋b:AaD+rKE-Ԡ\#~QoԻqp%uk3[H&:*,mmٕ`PR!tN% BHIMXP).;sthZm6Nvc0z G+_Ei3׋~%Y!qyA Nc 00!pWAd1 SfsFqb~i(m3Gad0rqlOaY:P$5!jJ TAm;6 Zwqeɼ#8j')o e28wƝ3xg&Ƽ^ioxCSb1h=hȉsv0\oԕh0dz9+%Ayz/c ;UtȬ&%:f2xവ0I5();tP0/⮯8%z5si*NϣU-M`Gsz{\$Cicgol]=AŽ~meR^`)Q(2UrG¥}!kL#i[JHuI&i6!eT]ehHQXt+V")g _DK];WDWuCzAoz‚7AɛoJ\Q8;*#lM _ol[Rdd 9mzűߥ"+AV^DxEZ'11(Դ<". Z f SZB]40^ޫ> 3.JGyZa(ShnYlP(T~[ɓ!|n Mo> o51#ћl4ۮ 4_A+%58%*g$5S(8Zgh\.H?|?oEO~|~M< M){!hjV@ikmEξМbꍃ<G*GMqC>4K`t( ij3ǧ+2~|PR+]:/$Q wE\8"dDPMLWnG߳jnd'lJ<o&؇^U od\wr((кͷKWIo4Ǜ>PJj LeiX V4rPqۜ?L )e a]DH/*Z>S|Ƿ<ђrUzjx88& ]=m+6B͗LaQ(C@~(Kl6P\WmtA7CeB~O_{Ɩ .C:`K\QMe4^O|Nh* 益18|Z?rl`(@KJZ̈́@9Az㡗nĤ7ý3<³)XCD-+ZPdHJM e2+Gf@yG"soc8r4xQA-H&p|g(P8P8}C?(vs`K'ԓO^)HLf,Q60ɑdrx?ָL:@ƩQ gc[R ^^VYF69+%>+/ZSyɬ%i\)B@%mWVdV+lFW{K*4RkIX\޷M}UUbTސpm[EO{uvuLSrS66MLy˶yOn'"%=mmgK4a/ʉ)"u|aΊ4luXVJ6ZסWLm/A9_MkiծYPW7gZ\sRH`9@|ʅ׉a Po;mS~Z|{@ l Yd4Ћ;}/M8ɥBkmB ^4z~V4UwOXE"v.h9'M9I53#ÂL{52!'Ϳf6dζ\ J *YUquv񊫡ԗuI&Mjox|@ܓ,y0Rx =?Vߐ*X+!(_8|z%$\l]Gnk}D7% ]\tױe=Boi}vvJ$ӌo#Yp(fjyVʆ\k=gYAEWLxx 6ͶA2z@z OѫGn[|>\a*Q+qt3zMc%pvR776ZW!dUD}j o4(M&r2y8XcǑzp?U$"^R|'K4}-b+hC>v/B Tǒ#,H^>6)jɸ^(Wx60<KLB b3Lm2 "l F ! "9V=U梗eY Jbҽzp8u v9UI ꔛ^3{D R`rcz.)%~V1.EK"+[}5/.)z|ee0idpe٨[lb.$5:/~5_ K~׬XjTCa#k B9;U>$zŒk]$eGE@r^}_Qqp}=PuEnϞ:^="2j[٥s= ;|$08f|wblz|hCV&ڹ̌JT@ <DBrh0,=J`kߨSh2ғp]b +GVDhJȊKܣNat6 㚕k98qz%'jIx˧X!z̘*,;}4 #2?`ZHR&hZ|p<+r[GzJ_s̡Z)SS悴yh186M]d]`gQ]sI BgFFAaze_)mGLIz>;((ݽK ';g6dAX+) gv{l+p8V Hl~1(Jjҵ#o<SE{nЖp7ٸ\E!\z+{Cd"JG&C}T:rȌjErMKe?0/7.ME64螢V4xיJYCjZ)#P"R|seQxɠ6#7}QQ^wnn 雄ʖU^gYK禃"{H0ދj!c% ҇ o12Z )M#lvdDXAzxcAFwO`Zϳ';G覔"|Tv* F]>5r~of29+dZ;]X_`Z\QI^܎,t!*70@@@p^$ƠkRG~~xreY9|C@vׅd m Tj#{tJ`>Q 9"zMR@ m 1A >wIvUVڍ:nu@7f>H8 Az ~ {Q,J ! 6U/U ۥ,K ѿJ^CT]$yuYHzxO 6 g,V>JWIkXӓ] P<65Ch]RDXj1&L϶-:ٹ:8$qeݧ{H0|zψa`&Zwv-Rh,wF6F}*lMqcܭexQ(ALGV  +1us ;A:΃2bKowM2fFyܠ` Uϳ։ ѺR =KɥP&*by re+ިYõC$g]%j@J ?N-(]Gnc"K]'&e,L+0!#n*&xƲ{0iK4pz4Pع! "~-wlZ6ww Lw{( qԤu _ C R[ `DYPKe;:e^B1@&I,g/#aW1X&:q~F.O4ӿ"Xd`~ҏ+aW o3*Pna($DžWU=w %u/ +mgJ 2_/*J{Eq&.7A%$bVFJ7ڳBճƃ3=?"ּ$3ɱ S '|`-NF~^YhS\0r^*,O^Z~ty+DMth6#WF8SPIhjK/:N5`+:z%T> .g:bt[@Ӎh$^ZFR'&S"pSJ؜|T0ib|N 'a(\)%1޲6U.\\;j9$xl3Hc\oŊa>5P,FrcƓtyc5*yQaUCEkԘ$iNnm8~(' r0QpЛqhdnR5!-Gjq_cФ+I [t? "86 ۪\] cmINw9 rnt(; iP{B E>FYIE-{f 'юJ^W+Zە]G:O Gҡ+ѰէkccUɭ7  [#F{M.w:MsqgizRNs "w:B)"*_<оl-9X/~w_ J7Zcj+16p=+XHp,\uG }m #mXPcC]eӳm_6~|7x b(0/(c,$wN)o1@ "+b"M фU%aT0˔ atrc>tr% nc$F<e2ZԨكrfe&=uo ,n)yş 2aYN2 WRUަ nu3zS~ǘ᧮{ GK"*+:]vvX\)сq nj*UᯗdqbpSU ܠ^%JVaD]w;| EE\!>T`K򻙢i$x@*6q>^SpXځpʤ:  ~ϧ[mZl.CLYԍwJ qj@GU_rf͸P{3EbP:ozR\C!iUFiH4[J;Gon+.xN_ݯҦ>YYi_|ooXhIٛYuP3"u SPuA}{n#|6 FLm.IbSxm_uCwȲ m @#Q!oQ7L o9t~D\@p.|SϣvX53 HAGjwmE"U(xD.,E,q1dsV'- kxBÛU S(=.*ºtxFB< 2|@wL@[⃁M)~7ì`'ĵ֔%׾,~sO큖A"'K3q0.aęSzhȉJ37 t#:TCƛSˆkI/IN/m^ch:?;cn\L ۿf 2xUlT6 DmWlom@*{mLV]3XH drxY1O-9;}O;/#qv2g~"] y*Rhۢ%j& FˋeLB!*A%m]/&EJKmÆ4y@4tyH" S9oĒJ؄ѽy;|#!\aEW2VP-L傦+ȴy9Wbݸ*[BԏyS>j(_Yd"\)!'naNc\g""|(җ6]BnnWy%AfN8O Z\ @-5,ُ6'`MY44WEb ⻬{dgq"xͤi& z Ri= s 2A"rI8by&;d&x> }*a-=SSAԩYͭD9+j){<*wrEVf"E ja"{ZDT_"pEATݸ͐{4S  9'# k3C TVS <T":|G0h{)4[1ڔĸo}6tj}W&meoU+e)] _79MJJw]ޠC-f?=SomNopH)cFi- mRxE 3 o &c9uE ]+Du*h"[$}:$I1B @so4aĮ.킜,Y,6~/*42 m,TAuOt3@PQ %z3V.|Ubkwu{ĩկ6ilxk μ}]PCU7Pa\$ZФ.=p>aɽ[D8iJ<@̎K,wv},a`ƯMywS-򐱒L=a;Xq'=Vn*}4Hj^DFC빸pY7Fbų~g+gI{0Wt K>0ago?/韛iSZD|{vh_Xi~Q&4qM<ȍbD%mosw]v`B3RJC/WzF[xt#{aHWA> 4 $AvK2"F\qj:yqJ}qKsΰUJth3.HxlUSG XiH"wPz+Ťx?z<[_q+ua 3|݋ o]w?덍ӗDyN*%d3 z#W=bAgJ?@lJ.iv3bzM[f. P("CXnӁd6q#m{{23["1^HU]#.e`| f띐pC42eW\mm8c$}ީ?'7Az<# +hncӎXt ɺ,ZFwkDnA ;fh)krGe1u 0<ыz9`sRjx^nK2{+p)e۶sOb(w4f:rUlzvQwTwN hvcGPڴ0q.ߗID5R{0k[wO+aI_8%@ Epd ~hhqXIJ3 ip2,#Ԁ;~L_(nd{㔥v,n6Hs(RnhB. H FnJ/\Z!}j2ʖ ÷v/NL;.@z-¤Øk͕umJ%d_'Q ϩW qi QvbL ;nZ-f\lc!)bmU})W>bɅ[QÏQJ|?)N9ؗr+^h7}) 9ݻ舃ﯵKHx7 H |9M[u純' P0/ܨ*Z$,P>D"5\@! MD(o_I "ܭ.(IѸGX |STfŢksZn/U+ ,P@U[2K!yFtlV(3w*N*w~xo}_Fi3YѱՓa6־/Lt#䃂~cn8 3C0@?uM+G?f|R`0 M[Qpd.o&GH6SW:6J^G:5AP_%, r   wƑz{,~1 ?Oϼn]`6X[<1DUw}5]@Q適pM' +EB.kG'|ӞrK#_/6cm|AZq&#P7X:zMc(;VBLP; rxl$Z~?[bWr."&JC$YlQ%qRWg vrF7l30)t͠= 38?m*,9?Fq“Of ˋxQfR-c#e#H<ޗדv]܅իvWpgP/t*^_ˍ]dDLdz^Y{,=8N!7p<㦝j$KOR\Cld5RX._sXOLDh8sۙ%EK1j%LbVSfYе>rrĈu^{rtfr6  W "D8~!j!|1ļW) '|(jt 1 dK0)]^t m6״i1:&sсzb(,s1ofHaJ֊uVoKx~NؗDy7hfQ bo^akAM+ܣE"=DnU|>=ǿs'\ Lr\&QOoȾg㎭c5R0]8di~0$R(B \Rc { QTř AV;H󓿊xGvű 73ǑJ C" t\lIroP0,7D"#7jUtQjE] aj7RV_{v]&x:bF1ӑ< W>&]dYSʞ(4CDHDj4Z9gSvK&==[o41Q.7ukDBˢj‚w$# >Uo%\XUkԞsx_\+f&]O)/o ERl䣣/b8rVa_ G R7BN\HGBUi$C /K23EdWd1j[*rL9 D8)Auizl1S.Bu{=!J_Wᤑl=k*ݺ٨Az.`u,ONzZhC~$A+VT_䨙ѯȴ|$BmmƒJO ! !4'ZZRhaY3h.blqtmLnWfoL̒lf((@Q.‹JcfR$`yAw8||9lHq?m77*CPdٰtr;sـHf=.ls{P:uv6UGEtQK2&?{L)@< 3rfq ItO6%yڗĎ  Ak&9p_Q!5NeV_r9DpA\.i+v ;_t,FdN_>uyޑ2>8Kѱtb 6d'C@.Ʌ@Ff5.ixQ-UH u^iozm@ D؞(ԵDق-gA];[w 3td uƧYl j{L#ON$a$3.hلQ!/Am0} mHL s $6n1¼r?*ipVP -9Y4w*B9G;LoLFiv۩CuZ ǥ).'[v`w)v g|u( d2^فЊZ ;wzdiRq, ʤCO*4>`3zZoJO^kA(}YL+r?CR̮&O7bVQ#- =M6˙c۹ 57_&.NiENt:>|/۸<i80߭:9ev1J܈;Ϛr;IKQ <7[RC=9˰NPctuЩ{B_^5ԡ*Rg5 tIZj1c V2౮\J%@r OD#_ZOb;^5Ըȁ9vr!Hbٰ}!\(um:xq`AB! [݉&^cJSdv hG?JOaB1gZЗ,i짔 e9uM~lo/OWd>L yz@m煺*jOÂcvh x nΎ`fn YyHջCo 5r*y(L))~@kar% `1^BWst` ~H)}Bz>I_>,kSM\Ρq@pWOѣq6{}Rdc Q#[31DȌ#*j'9`'!3J:a;Pp7w'%_lg\YtKR/i[:wQQV2]x,]>aV 8 7Bcf( efS)N%d$qC5{y ޠ&[χŻV97;F?@RvSS|cԺuJtVNMcq V>M>0 l4)AHA}6kPLJ}Rs±w!.RZ۴ OJ?$kZW'k駃Fqz;UI0W4#f7?g4a_`{2Ҳ--3lw_sDw$\-M惿=ѕCt:v48SDС`s9'G.b[̊&@^'<V"f9쑇iί=8zY _]% 5eE2.(ą(jW3kb죲)r}Նd8;bp!0lBC ΫkiqB໌{6a1B:GW K[%ǿ(5 tZVڼL ]*עsw9=DYUŵgCTMG kRh85F,@)% ֳPvygFUyZ,1ֽWu1-N¦Q*jU[%>*ȿje%)nN 걩 h5b@F<ݱ>uqư*D];(C)?$S^ό:ɧ8 sӅH.-*,Gz}9gÀ$kZ6IWLx4ٙٸa 󶣪#:]O2h5\2ݙlnwbF/. MRb޷*A&4pnr˒5B~hܒ( {]+aĖO" Ӄ'| `քU;G6C)0SOV+BbFv]HsdwqIM<901 }}N]!~g}upalymQ[í3h(?FuIșY6|=%^ɍ`!dJ P^$pY<@AU3.]j1M B/3ӓQ"F8J+^0\lh)9ˏe G=6yXwaH] x6j ?`S6ZI:yweɃ1ʤ %Elh1F6^O9X <ĖLZIaG՚ȫ,Mzm?"<]G"[#xfS^)cRzJ#Y5#~zQYJRI!>8gxOqmpmmWQhg^zp\@%uR,YV!ex’~&7&(e4Ʋ," =l L {w~nT) B.m6}@\䒺ᘴ +]\@Р] [UwObJBbbn='PC7 %dħ;iX$O.gP1 m'\$NLLј#.H, W[բ]!D 8@,;pKوb)X0sz4"ƾGESx lx#oRo n:k o,d/v|nяDU3!09$-Օ88nm?#6.L fV͗R etH7xȕ}[6\Hc`,iYҿdlMijpGR!Y2sI]xI+Bu؜f@Xl?D5Մ#cgl ɝ?P8O8GyKR Jl*XeAG'&^f 5fYf&zLګ~ސJ[?09RLt*sTL4/_UƓyd<\,|~zJ2H '؍غ7X.%Y4ވVc 2[2qOGJMN'=L?+{)"<1q7>Ax< 0SVBM5\UuEUdFp?J.d)B*gI3xڬE THý52=h^킄x%GFVIOF-͌m4+O0#nsv.^0aEUFyG|Ơ3`ÎWqmWsJ>L(̫2 tżo_C\/XqIz~˦$3*(M_AhÌQ[)-Dl_}<@;Gy@!L}AܟHq>ۉNEzkH#8m dh/ITD*|͇NT6v~ lxPR6cL-mlte8l=A aȥ Hwp{HQ9jnRi Q1`$1|4V2q{@@@KM I{Q֝c<;[4-cpn o[]1f ٶeZ? z0;O|g5L |t). P]iu;iSk\:NUs0 ׸ MSuD~] t *,[_oU&LhT8-V$ş.:ҝl+c/sɿeh []5Țǭ U)I r2,X6ɜszAlg,bN>zD8>jKmaѫ'zeovm|rU43{25YDzLsqofPdg"yFC$i>kWO W1;# g[,3է>b݉#N4N]4OH.z|.g:Nn㐈Y4ܞ̩8ɴDixJn2{Qт̬suQqEAmø٘_ml8,1JCL[`w [3O0h=+_tϳv36~ HbhACm=i3D7?ޣD7* A[O28|“:}~/㋧) }|T5V.г,+r ^ MgS>*ì=cTf WUz-y 7H+տ)XkpE; $xD)W8 =$MYS=~kDakwfcVRuǮE~Ya3tpS TV~Yex`UD`IOF4f7,P6-&HyHg}@p;0cAß ȵasZϸ J,]f+85rD&2"9c/^̓$C$,C"(Ͷnaԓ$s#z+*/deEgLS[˨|]ӥ6}㐫ltUwܷiV7rL4DɃ]U8ޯaVα"N-&]\ߺJͼG;]s6#.n&ӀP|Iť#o|{L:C sN M5VEv'\Ec1xG{1jS4da @RMK?m2?̵"0lWhw SX~Aj#aMmAHȮnЁdc*Y dYiZnn~4l:7/Ok~{Џa6ӧw&KCE/_Tq߻Wc7]9 .?},a_W%͏#ҽRs3? wx䎺z60G-eъ|!xzGEt4l,${92h,Z&qP1YS9c)o\ŏ1.cBv?89:X.bRשcc9Tw@4x{OdHyuNTx3*UAq`h~0`= 'c*GHAڪ YȌ[HIk.aT5OM\VZKU@!FB:7#{1P}0#?]ߑQ2sd mJD Lj) %Kgq%dBPa&bp8)iFg}:LEj? QF r{ L znVVi^vu\I$Bn&遹l浒dENzI`,#aͻϔm4~.J׷jY^p1{TُybNt,m [( jrV'9[4ɥ v\}I.Ǿ^y9|FĈmZe:DcdGXX[o6͈}x҆ A z^an]( jsV* 07:>]dZ?D~7@hӫ!/-Gpa`uKO<: 8BWb"SspPqΗNcv>=Ym?7Io_F;VmCM'T_J7v(E^fIK6}t6fNsf#<3X[ֱ Br.qq4+u(O{|]4? .{oyIsʉZA dԻi b,.}r1tЛ>`'+@t%,W uViNBt|G%CN M]=&6R? #y,eGV\$ҏˀtj$@qڙC!zVپZSu: |{31٬ވUEe{wcFçN΁WKCާowp 1$9/w-z2~-jLuvxEb-1 g)䫜hbts 1L YAȎ _qS#O+WgC\ 9 U<\Jp^+DReI)bz#T]'oz9vY#zbՖS6oFcDg)`r]6S9q1'l)X α$D,u2sg IyTZG1 *ǻw+KϿ{Q$ߕ6*7dvYN@oT_ 0³tPAknS38W$QFX-}ʺ{x$|enPDFQ.3sD=vY{e,\MM5}6n9cI\IZ v:ZV>)|^ҠK.ǵs|8K ܱR zܭ;ͮ?W3q{gknI?@H]3? /}b*`{m3Z{~X|Bs62|UɇZȿ!c2\Qq仩# >VM\,1sn,G3w"lEW4"3LrgFw-uӃ',fxWM 8S(k%EYcC4e^'%mŤ =y04R`pB'0LJ EΞ(Gkǐ9 '+3Gi!t`U?h ĉ|NKȏ)CJ3 :!`Io)bF_$7b? l:wNfbqQZh 09q'R.ْJ1:Zsޣ bNfHo|rG :Z:gJs^: "w>G =%%Mi]`'Dr 2MKȘυӕ<` Th*Ke_BC==N]X,;$\īzHWj^qO-2f Eu^:KSTjfZ)_w^[*ScFg;sDb1Jg~Ь]5SMFԆ8%#n3}YZ=(Hw~XP良WdS~}|xWM<~oȏ> vV)% C6B9\!V} YO)U`|.7Z(Lz2*-b[1=REDJ@{( I-B٠j ֺbeg>QXCh)y24o:~d.Ay7h*#L-L行XObmw+Ê+6ζLIEe;|fԥܜG$i<aU\O'mn']^>znx[K(Hx~b.:=Fǭ^۞7w߲[Flz$]@rx[.<\:21ˌuhT"-k>\Hs[(X{`{@fVˬ;ٛAZ7=yDĎ O&Еo(I%=Bk5uSwp4DC[}>Az?^]LRf/EDFt7}PTAsٕ_:&x 7z jU?L 1;xz1⥣8Է4%zt/t rj:U7U26ʲ6@.N#9%cnؚ5[ V+(phR扼y[Wᣤ"#=)fUZb+y>NkV9C|3Mc*bqlm 6A9ո7ee~ PGڤ7L3NypɮL:j侕o}}E7  R^ gIKa^<@1m!-_WXeOςU d%ȡ!ϒ㓯ItVcYERq܄, CN~y\̮:6Sɑdkʘy"'.2dj/S5gJ֍4ҏD-&SvEBt0%fxg }}q Mh~%Tw7ufQxTUkwk~C^z+ͧ\>~ht֭=RL}gT*qcA1L=ޏpфA+OuBF MoNytc[v)\IYYd6T͎ٱ-yJ|j:_R-@PoD *+O7ܿBÍS--;Ю⾪35f!bys0<;mi@jB@vO8`?C)^ !ڷ'B#ܲU ؿ6%#Qv#k 4AAdá`M[͂÷{\ڽ}{ğ5mI"3Fp-c`;`a?el6Gk;G=j;Y QB$4y[2Q0=Y$W%b4<1T5D8ԫǟ@#~Cm~C6{Tu-}MdچX:ܟL͵asVmB]4dRi#q$k^լ_0%)Cܟwiævvy$ԤT1GHCZ7P2GN`}4TwavAmٕ}E /M qgË1$[Aaqx=bc:fz)G.ֳNR /'`PDѱGpT H+O޸"1,m4({q`U`;vS*?'vlP(T1+q|Zn跑|E2' `a_>y쨥l(:GpB"<Ǒ;TiwS<rKuz 3~+e»a ׽pB(C_]U']|f.Ap0 D\ g هԊh39M Z%ЕlPJcޤ4ʨRX0䇟nTywsduT^(7f'sG71< - ,ÔʤKC|GfzLkBp^JUͻ,~QuN^Jf}25vxv?D;r]e"G>2h|K)x`ﳍDŽsIyEA~$>^,լ:Fd5sQްrSVbQ1.Fٌs׏YLq_>y4PؙkmiDsbƿbw"{M "\쐩'zgg۴TR*v=m(IV9y!q8 K.^|٤,:(d,%h&p2Xv#&Ѻ ۓ1bDR%8Xq[x@cUrʲ;D S7@JjTf?z>jSJr&YE~negbu}. 7@ͭ7V]EdžTۧ^ Cv]E @ ;uK\i/R84π&jmq]{xY@fMaaVM/;;NiA$EIThhKEzY +b#Q4HẂ=Z В^~HOPs5E~мJf)F&39m("W0 SU(x\3 "iGJI'M|Ȯ/  42o~F~-Ng4xM',.»@]g0&0L0(Ҷu+ *#~ckӦP[ d순Jj {2͐B!vT‡$?}iw<*/N> / l(nHb$TTxtͤ]X*A9$,lx~ZN qr1طijS< o1nq]<ۖ~Ž'r(N`^&yeEǻ9-8؄5ry+.֚ul*bp|YEj#Yf:+*Y~7[db\g0nNʞDA.4;BvPPlۃ[֕dFӭCx_xZy‡p@$8QS@K8vüH`v6XϽfeDK;ccML>K򉞭?b&CG+:saVIY'D7n` K"BѝKDt-[IVچwH2伜͖ =5Ջ5Njo*SO,\duS~x"L`@,PS[Qx!%ԇȲky{Or%MFD+ߡ" ,6JLxu_$F™ky ;5"$7 Y-+I~ܘn flͿsIsZ~p¥MAWiOI;@ Gt6':i]1qG/5F=a)Yד_gh, };A1vъPϘw[Z5LG20jQj/ ӵg*4%Wh6vPr)7AO[I"xeVi,B r㶍a "-RCs:r|efgN&W6k';I/I؅$@@үi?2`2 hX¥0'Ä&T]ZK)'V2bݮr4&>_5r7҇w*~J|B$:5X\"D+ ]+~M!4+0ۖ7'qbm>O&[SMQTAgr&S)sW uҷheCָsT5ܺ[7:HpKZ_8Gaj+Ưui((q`sS BgE‡B4":gU,$vliD|z^!:LCzFH9瑚h2 :BU^eO2H^p&\3Rܛ<o탣(AHs,[^'m)=QI9UT}Mh/] vTMkBcjxKB>52D8N shR8ǦVզf~ ʬ|Ls\öVNhE -`'қL *9[hFu'3BH@kW6Jh. ^%@pqqq]?sAeҶ͍wW%HO/Eih:\T1T!{Igw%\uܛ2 Z<ETpy96qdFH'`T.ATU+3)Й6('>蹫mHn44 -7 [~j1Dw@e>fZm}_wy</i/_̄X =uo-+ 7jL.$\?A6ѫ5 \.ˌ qwҍ^ ,\7h]v0G#ۉ` ~ EJP#Oe^QW V56u+Asۮs. Ȼh7z$\v`PkiDkŌkÔFr @E 2Q`:®8%fOӮv5D3@ 6S/=̢\a/ʛmI؍sFS``&q]CUÅKlmA:(3t|)K#ߴ:o3OS&3x>KZu@mQ .{B~qbS.r֍Zh)Ij3~h/z:G_$0Uv#-:ղUy|,0PlQ.[eםwӌ28&+6 ג ZD:NU~uSe@kp LQ\+ȮQQqYT%pM%2 UtGq!rӀv$h7"rq2% ȍ2^nOH<9w8*۔Bks/snx#T3:tM' Z]%}bIa>$wu;Az+{GG|C#)r&:޳Ny"Wy݁UMbV[RrK|Mر+mJxc$F-C3nH4&cɼ.yܭyԙqh +6c2DdŔOfW&NvO_g}^zk^. Kj "ƑhHQC*M*iTnh㄁̮aAFUA-:/K,fmH]?J 汾azfGW)c]iWA9a ߸5'oȒ(ML@1O0CNNcx} J58}ޑ.ߐ Ve%p1w^5`ҏwDvc{C^u_TRԪx =8kG*izS7'{S@̑u|*C+S4bsi%2N|}<]҆"m(p,H zO2ݨ̮@oEϢ\]QF1IxY ) {~>h;k]Wg;iliUL7|] <.w+"ȉiG#KG,{!2Gy*>q?-):ҶzA%>2u~f4-V06q9;:-3.fj_i-N%I]Q'c ulVF> bta*j/J|tFBrުL9V6BK#MX6':=t;X0( ~?TnǶyF׵&8دpNWXm_{XdeGI_Q_8GW{׻Ajar%sU#- cYGJ_3̿bxYcT978mG81t"(<-6ơvAxr"t*G*ki\+n䡾!Ǘ'ÒMmE3_|;.(pWj-}?Dܽ9R~ -Ko@/21MqTv>hGm?늯2Z 6kQ.U#Jy'% X=΁T>1˭ B>cAn5exQ8LZVKֹ{o d NL2 7MB;nf CGmGn-^Æ@L#qz~yWƂբkΧ0\qu*`)D1V>sp٪V `E@$%:I-%kJF å^R xrFxZ8x~A?'4בU%Tk`c},5PKJLa[bTeO|>E"Wm-Wzzn Mv=C -'L20#Fp}u+.*in:O2zB&63D/pfb@z1A[ԏwAa @qoMOkgEdi] g(SbH97$F/T꧕bxN޾m/98Ze"Kru}w*TU3ΰIj I{&ٚ`ͶK뇳.ZaXל_:(Ny\\ay8ԩx¾-6aCKxa =š GkmS)ʁ1>8h?im$K腐pyŮ!5,]*ꡌ8"z> WFfI^TUz竉1Z~^cV|w8QQ2pAD,r-'X(GуZ(-1-O;c͘\ 3Bd ,)KP)`_mr}Nk5IRy.I) *RY{<_{Ak4nk ei [Ԕ dmŪ$ wWejV6;}c,%OV߀ּ?uqu|MRҔkl•X;|a7bM$rEc0yrY_GV2d=-}e)joA#;d VBàҵSw5wY\]j{S82yOVᎋb2T8N8jkU<+57# %Au]/ݍPkS>p$z=δـyQ+3E0 gL=N2s2-ܟn=;2w&cӕ]h΋'EB"Wяeh>n=蛅gI|;Fd2rՀ="@x("Nw309f$z*(,,|Ƨ7_7eUvjS"v>fUm*y_x*KʻS܏2k皳ڟgwK*P |* ʚ~6UK^˹ wi Oo7\WÙMقЙiJ= PVs|uƘ/7K2>&^孓-=fxQ?⃀xpcHmzbGCQI6(YR:6LMǨlK} wafLpuRδ>q V߈xe~2Yr}ΆM Uw#dؼ4moFnL5Uȿ@s˒]ιlRJQT3?Wiq@.˕wauv]kDB[RJ WK\~ٯbJɝ Up*ۚ&<9iȟtf3M363)ε 2\+ރzOK"N1]=pzWԥIU? Q#c>[`f;͛>hD"V1)c;iL w\1~RpgkT3z0z?>P+ N|ΩW4"h"n6l(KnjʬC!̂xW{OuT7r|P"[6.I?‮z0"8Rw E!ApB./jefд 19Еo7\-+Y? O@EFR蕒;FH6?՗&pX-ش,Ų $E̓9`Ph8; Kκ{nR?kx:bFZzyt(aQO0{,M OY#lئT-3ɶ%~ NhQfgaݢAO&m#nِ1ί~|B\eHŗ\k[ELqo C:;}+h+z(M95!nRӞSԏpB{AK <¾QZtFPf7LHUIհv-13ӓW1т5hd5}LLcWcɗ墡A1?`)շ/G:J ?i+m+Vޤ>^FՐ".amפ[ǰ{6SaA,N>M&x;%k5AU]$dl/(VmgB/gaq( >z̹>qy^.AuB~Հ[7޿hGG '-Ty4}D?txj6{F^N)2 {ga!th۳N5;`rʮ)=CiDBn6Wאijӕ&p-SZC-D=bhsA} ;MJNso끢6T-58 ><12-( 2޷j\QH"B@`u٠Q$vmgB`ɔ]I] ]]52~!X)b8zF~Kj}FGUD`-m6$2sL>|ujg.S.o$gR}o\b/j-* +ZT7bК+aKlw)Hޝ|~6;84ܓ*cea3Z}rhAV-XrL( r;/t<_̾gG@[}sC(l0|H޺`rװ1$H6HtCBy;)_l1ڕ ^o7"m~q=?3}7ĆAhZK"pT9e"SM_(zNb}l R ;  R|avWvVl\G=Q@| G..J >7+ӽlmq ~G0Zov "BdbHuUzVfn%At*e]^v=;&II:c9AYq3(i*4&7:t&q;jӾ>; 259'0BV ?)N#ع~xX28D?'NVI=i 3XFv 5 'x+D2p"O8m!QMHL^KPz_(a &Ad m2::r05 M.* #CwnzSThi1_4c%P؂k>_Ub 1Θ-wkm {'Ϸ:dW'}c`,$uZz)Ze&B;pf$yoL@6cBrc4=4‚|6-DN_,qw}5rSb٫߈ cgE_LAc4eRYZzrr|uX7|-\6Z]U,{5((GpDDڍ 53#wUJ wDv6)L< Ҍ/s0bBGF9LȇP Q(pi:1 kw$q)HΥY57А_6l-r B41?{56V^̕y"OGtn %:c65Ʉ⏤RӁ ,:N5Q)b#}Z_{6:UC&'r+ms39ңF.7>-wɩ8{(3i柊6  ؘh߿Z]jipA 4PMCҪ\[P3!>)¶U%d5(FqT5{~rUDp %3稢|ml)OUݺ9td_&Iۘ:<&XԵ QKvpg󍳬CGwW|QxHP)rY݅ŐGUf'x[\]X|eJiHa<-.l"HnUpv 1T8y0O]b{o0KTN:KE$5aGtg\3~HU7OÕ"euy;]Ԙ^!W5Ya!_=yٍT^cйgۙ"ku40RָөaL>OH L{ bׯG̼eq_qk ّs;Wu qz y>/<^V!7l[k~F0c-Y[݉M8+ +cAea%i}Ε`٧A)_N- ^[څ  !]x9zn6Ro\՟RXI.,E2/{< 2yQ="=\`LA:S;yE@d!hx"+x9 ,O4(/ܳr[&O2IM3{F{aZ+ETwqԲ(W$!A74ɰ?bO#yfhVLg1n-IIVe)|/q+= 8E"W)ʝ#B>ZeZoϓtnh&w͗JNP |FGČw*ITƫ5,-,*U2p/]-٬zloMx;)i}r9[#]ؠr,OiT_3igF"w?E N7|V-;.7lEDɅЉm>EdžJw~6UՋ`7)鼳/FrNGAn5"I9 G~+'*𚎽I%B?k=7!O4wuz~ySk5LV.3 Ne):48a (Shz7# E%r'Mx琀$H5&[f>PܶyO [2+kMe&<ۉ9p0}ÓA*.^$ "p+_{~+p9 /veR޴p/C|UW.BKN/TatE-0jsd#y@.? #݃F[D_[ձ}.~=Gk,fo@PH;O*1?>vƅOz<%҈W\CZKϕ\Ax}rߏ)C#醔o\jJ3[ v'ڏ|fxlvsD6 f[Yy&*f~`1:zzW|D^V@VnVڣ) v`W1J*mRsj皿;869/ώ֢WH7a-`W\zU*4' vEOIX6W wbnݛo<:'MA88[g&J.ԢiKٚ-H- (Nt< De|5T94k;dH XљZGiߪe*GQƴ..(> -_L9y>=Bbۇ9A1ɼ؁Q2%D_PO^XP+ffZTXoz _R[8~(h2N* <2G\tsq9^N2^. fDOWSpKYʚ=ҷoj-4[ON1`% xfxz ܜ"ګHdP<ıw|"DR,j:c ^WeI3 U{B;1¿{Vz&>-F[E DWL=(ٳsTD^͕zڄJg.7\wx0nҪ4nPfyBSyaATR'ss5mͭR?ZV'bL/.GV^%ZY,HsY" ;ľ袝km!גBP |Rל}hb[vgm(J 0Ei+~H={{JO=M"-:B -7AVrzSZ$a˙`3`o@.Z@It.w zDtgiWTE'wM!\]ct g޶DCaj "1HT 4(&:AVج}ل"v`?qMiJ{% 6t R3037 5x0Nt֎lz/x%_i*o*)xtq~>P)3 VmJ~}iU',n0SʦOgt-cdƱhe=MmƆYP?8!lxf)`EԒ݅0Se R Ae7j[6).AYכzb:*-E)Ɠ}'Mx#Q=&ފfgQ<H2 w qؓ[0VN}Ev>];8ʶq ?%)!}*`/Eyw{MV,dI>*6 ZK@Xesz^:Y[TM6ƜSάI07#z ^%w$fjҋDJʼn?w,bȬJ6|YNvRyRKwa@a#.Nt`t #Ze5àNyi4-jp%Hv";~8ETO3@|yB U7%\<_~#VQTz.ށ=rp}zr@u?q[. t5"mEdoZw}$+HDN7n7Qᾚ';ӴMzB&$sN U$2o/ gAO𹃃M:ض.<'- toټ kס&7aх)]1ʌA2 wA:th)`à;ex: kgi;YMt;b@#ep]rV^!T(3":~ Ĕpy(6t -{bYAgM Oecbo~iU1OI]j@?p%P-~˭cw_A`ز" g NLʗ.),: }֞‚8e˄7wҎ _TmIzauH~\%WJ4B/2 'LFEy lprL$^d챑RB\MlYo.` gq`>!7SwWy"d:SF7QJ)m/| ,^a~wb1@,zWJC̊\󦤫)]c9g8!\b=8Tj=hMrT:RBa[K{bmUz ȜiT-3.JKZMweڑتoյ !3R@>~Lߣ2#+X` `fmf戫{5ϷD84$4Q9hxp.p''&I9yl[Q膀}X vfL!0 f #?Pnbo1&0ib+DV/ 'ef[P|A#5|![ 0i7ޭ=pFPsS6٢ ׫I$Ag F%Z1 {=]B.5+Akȏt*\% L=|9wT{Z MylEz=lחWSb\THY;9{TS <[8Q5 @#-yT"oRޚ ,H (GiZ .okACa$>0$|T !}Wxt8:}|m[>-@휤1hs(y@Gۖ5G(HՓxearTՊWpiRO'TӢو$Mtg*DicƗT9SLlˌI-QXݜjřb*3)"Pk$MѹE<,@Z1Ζ$MuJ1ԲҫUbyL#&!tjd[ #o]S ʌoKb{QT4o#rBvDCBjvnt•o.-Z:!0V*XB)̴}O=QGf~c]Fݕ?uc$ԩ|skVL2x/j)֤x&IJ-l[=ySNIpRgQs4,e7g?u*qypО<oOvz1v !ceꄆֿ%iAeѸ#G#|'BqK@AޗpK,ǪKZxUD+5tj&oZs o9r혫b3Z#h]*3`bL~8O:HxL7UZvqѽ݆4VU[?E=GLO<`Aa@H e_Hsa!#"r7u7fjƲeq]}#aq)U iTwo`SRAeer*W"b9,2DU>jŶNo)Xwk֨ vb6zfA) qL_C H,j}܊_wuGN&McA};3y[;]J6O}TnuzˉYS*њujLa\}KüX=*/(c5ʵ$%A9~YC*t%Sv`s(px8e e AK, ˴'K1юQ,7v`&xʅ~U!C(]woq}!L*9 nn9p-F[O.1mwRgK_pt$ ÂҲi@mHeL6Q=\Aar!i$VMVd4n/S H\??)_&}W)/_)HS'A#<6Q@4va?/vb>a,WG.pwd8L=L nN%,;zgIvm:vy8Zd\L@n8x:() aYB+9q 4UUCQP}.M 1`>vk -%ic1B4) ; v Û9@;Ҝ&gɭE Az3ca/VitZt+ue#@prSl7z!-,#qwxSTt+?eV @rm_< &f4ēArO|fp.5O PHk E&)δj`fbjYQPR)|S 8=wTصr@cX]]ETFO0}ycfEk7t ɋ`;5haƻ늾<] Xn8suZjYMɡ;U2jA,ArC~-jy _6 O0ox悑w^ C-A-_Ii{VBч9pD ciwI 7DU;Z~Q6V"&%  );v;~/ w퓒7N cU8X:'j܏x8&2&wo `P-S7҉Tl3G|!1|۠Tb7E0bDT> ?!=s #=9ydOM/湞k}t}KZ,c35^ʣ0xiR}<λ*GqƾevCaMAVHT"U<$ӷF:/I,@CXdH-_.SN251 "["hX04JlTmdD3r[* 1琋w3u37gH6>qb<`O $ЯaȦj6n[Rs].xS^ܽ/\K"D?DY۞0'-+Qߤ:6hNWEXt(p:ȅD)_ckp8~RώiTGj`NP>Z~)k$yUyk=__J wobh pFM#(82e^VOio'm+eC& o98p?~ kQ(>{=S)FϪsm_$ in'7YpBd0ՖP2 EtddxI_)'a82e=JPR-&%H$)U-.U$2mWC "pY"u_M#*~ >2oએKS[o`o%fr' +s͎"K;9TQL0@1v7cAzp R*\ ]F䆼evZf'Q{bܬmQātx7r]DxA:b)Qؐfpkkb5 ݚ=7ɴF(G3>`ʤFpi^Ak1(a^ndl ۵ !ssr-+Z8P#rLx ;-E6ZĒ0e+O?2VS#0m018zᭀ;=F( Tл6.\B r3**Jz`΃cPpA}&ht8PM)@0 ߵ=byY~\ƬS޹w&RK2׹].HU4`m'ihV;<"kfg=8ӲgfiVC3رw`Ek@ܦ͕&9 \K/bR9M9ع&:7m&KpBy yQcK"86:s" )gnl^)xp"lnL[/ ᧛%{M"̗2@_O\Ô|\9?p13*ۈbP'`qj 0ϳ]sGsj`Y`iYu{b~rƾd[ЬNmgvQc6Jab 9HyZ? q q$XKӧ))~ŕUK˳,󒸝&jlg4ۦ>*=2-/r;p6^Dxŋ-؟@u,C,ďO54}ag@\jF8ԺFV=YZsZ0=U /*#X90~zCoPxrŅm]~7y Tqo2SVG*2kh??ƨ+FPvBSz& P>`O.itj0%1EnşUkqA/%[{'y֤H6m[8e_n 6(>rHF8l5\Ӊ֔ZiOH ۀT3u\' =`;y/B\[!h23Y ?\ion/*q/@U^(xJ(/`Un[ sV;(iB>M׺a$|z[rludKe证B= ޓ/6=%EXd!DH,:X 2⬥0#P8cJT$͋og6NGY MGN`'C9j[l!m`n|pZm(~*ZrF g'RYtD,Qg ']n6Ewիi(Nr)hsj&]+vӖ0D*xItjX5yӃ2U'^9,:6d0` }^Kg2XVvQ\']\-VQSTSrWz_1 W(29RCaj &7G|JiHH!).[+?dN񞯞SIE^El룗C_qTBE U,NCsl(`]z8IiA\Is䷋2^zLcȡB$'%Ҿ $6”v[rH &CUk{P%͋5y>>@{+*u%Ʀt6;MB~p0PmfJT1U%[zJV aM< AN?v5y“AO)od,[0e]uq0ڂQ@v ݱTLel}S um!B#˨nEZ0)@,1g5֬Cz`[壋W4.hL~)$*/KTaQz?-=DAlE 53F}!Ryz%oChq 7YT)s6-=}-Nf zH;uu tG}Z@mǘ3,=cEkv@U^G'jA2"AOyO a^9{my+sp&`z~ZV݉/FsxhAM€Dn[E泎h"zl(S; EPG8\xjo:+%FϮm EO6Z|'晳|@M]q-qbߤ]W5 H#e|!lJJM6XYQDTkYT@l%o5ͻK[RXʖADŽv2okyj6La63򳾏v v;II?tnsUX;Jh$u|: ')Үhyb7kOr:=eI)|_8>[U9d1Os=ȹͬoH~EONuķӨ99ꆡq*(۱;fWq%  )D|v/wji64ڐEZA7ޟ jR>&4ț}3)<1¯]g@508ai#*vV944KJτ,Q\mQxU 0.\;pMCWЦ!n9ZP\Kd P?II,|*6e{;F1rt ފ?dWzV2[}E붞K"TDK&q_8)ZR@٪=<"<#Gſ%y@F`) $'uy0WY+JS7$@uqr +[yw)\ Y;r4vT5m?¨վxqFsv &G0xsK7xufci(?#!PK="qނ9w(Tɕ㲀Dyn?C9gm`<λbJihފe&t(h5->&+5."~лH-+p/Ca!8D>$ɳjNHEʞ1Y5 j@9go^wD:o? 6p#lnHaZ/܁~X/ Qw7m_ JʁA֌g"/BG23m"p=| jѤ +Mxbª=i@!0v '>r2 ήϜl˪:eDB6.I93A#V@RjW)8f~{{As>z4\^Մ١qRhP( b4'ڳLJ}S곌P;}Q^l:#n_3(܅FT9J6#JBj]M̍W4kY(Jf݌4f5;2Mrѻ'0.B̓|>u xQhݝ ]AD8=u3ҦՄ괣 qfdZ3:>YvGBܞȭ0U"*UtXK+#0XkA%ZoiO ΂Xa3(z*4"RnuQͱ蟒cI6֡7I U#c>ƌS6Cvf[/ X29FKPcA&D\, Y S~JeT-O(:QcW ת̩fg_FK##뼰 3AuD0=$խ9XʚH;r6 )(*I|nIҐ'͏u@+my @rŔӻ[?Y\+I׵PE]PVv=nǂlo~߽gC%Sz'*rwޠ# W?7ʻ XRKXjg3,Y@ɀ!SxeTR 5@N $* B(ӆ-! geE`sjq޿JXo|SKGO8w/yԨ2]"ey Fr=5NVa%s.3&X_(+?_HtzS wVxXi' ʍk1>̉ ';}.*$y>ֆPiЎi_|I2ъaFB>HkS=?AcS-DO./8VC(q+c{7 H&n3KGpEC7*eG=ZfiK0,4oCsAGk}C~Mt6EU"hpNUd$lC4ZYiX!ud] on OpWB-M 3i' <]=`$bXxrC^ɽ35+裱Hu`c?gVY]jO򥰖{? ,L?B>aU4,}V _| 21Cȡ c.5O[B.\I}H;}ԇ k)ja$VQgnavsds7(>,/H^IߺRPG ic5XT* t )LSO26 aذa@N ŗFڥߦ7ox o?ؗB@džgɶ&9 iN̓nO YtPj_WG*+x2+dжiFhLm$lzqq] /%JH4\Qn;(جj;E[@k?M`dՙC0C0?PCiDΝ.sT ⅈ#Ƨ@mE2;X^ h0\s'ԴWu Agx4;iR~lfBM!h#E}+ 7_BNOoIƭ0~Ėtc:Z{V :4 "SX7l0~M-Y-I)b6N?Y:hVg=Z~e%v̛m1[]A *_ndD%8YVp//=c4*|{'J@ Fc O(ƗHeQracSV?%l u)xY> @Vf̤cQ4ZP'Z@9l v$ "!j+A>7ʻq`"H 㱐voIC#wcObaMOKhZSo;Y)F. KB 3^퉍HҔ ilc3RH|{n8)ؐo6?ׯNm5`S}Ȇ9>)W`Vc$ɛqLj4)oIyؒQwA'R#tTwC7}0X8&عZGEI=-z(ұV.r84ujl|J>\x/\CLO"#[!D)BLL*ExQқy<94&KMPɪ:\`h@'!ŖD\kMD'YiA.% 1-WqŞT1ꡝ$0 jUsV/[> ?6Rc\cTo_m c仚Vvk6;e>swź'OEzZ+\<|"GK.NjPeETZc:uK<&]?2i6ZU" z*$lo15~Zw&4*<3p !CW_"Ҡ;H/B͈򺯥cIܠ4{Yr<~mݴ\4ԽZ}ڣ,& zvzL} P['Bp| {Knɧ &?1FA (v'|@HPxhU&΀[K7@ӂ0t:-.,Q}@BN,LkZud?g+/iX;dȯs8@?Q>bvS4:!fvOiG nr x֢W £믻21]݅tdG84G6T83WJVM-&?WY,7S-$ ԦSP:SD%YSF{98DE& ^NR,4x9]xwɕ߫(R}} P#Yc& Ǜ[nJ!s&GIfj?f|p_s&kc!V_F ҈R)O*C*no轷-2 #Ŗ*ERW!0pnEݻW"v>0J_dz4U&_VSQphLrQ4dPߡc9(^+A3z뼗HjpO ͱϟԥ8"L,fuľs}{v|$ T!pRX`aN$iG3Ao&c#֘xp\>e\5K:A=Š;}42|֫qbrzC > ~ߙICOXB-M^eO|Myi,UkٍdS(Q9ƈ p8i1d ( j2` f*O`/&My蹙<^H.'ڙrNh*"~U"vbĹgD*%fY:"FmZ\w?;$hM]H6g9[ǍRQK.ˍ՛_},QIw:M.FIԒź?#mkWCrd}XK#r`/9$(~\yBI%px@-\|` > dy mY(r Р63Inx1?kR¸Bmc-}CNUk|ShUTB.yفIo!E,qr`&o#vXIhp1j Ý3bn³8OB6V(*:ō'e;vB]w(%?Ê/ %# Υ 3}^GF|R͝;ٸoo;- םRP!%3V *P'ʿN4:TjI B*C8 qmu&t& @)J &_^xªd4ɘ CQ/~\FBhq)Y;ZrɅ ~.&TUU)>-^Ҟ6|*5y|3c= ZiSg0j`2i6'K}j>Vo2jB񔑱KEEQ /"@gYB mֿkyHM`\87a/Z0LJW%S kh 65+}J"|b] d%rgyZK 7[bOۮp.;j6ϣ 3;6u^#{\d=%kL5\yEtop'ʞJi6 n^/mRsjZf+ZN%uS1(TAMP~ǀΆHKD$4$-ٯPT`+E1TwЈ3&L|/Sm̂A* s@da  KC aC}Q \i=_ z7h#h8"pCU7_}WQa Wxt^r QpsR ASҝ gύ: _-@=a:how~\XEvNjp1lDPKŤO_r ` q K:1E.:M=5_f9;Ff-}ʇ5KMD tLG  +|\ZIf'/9ˌ/͌'Hc NM N]'oi/qIH{cC~VɠV1~g<4,Q8H`.ٰx3 F>C%ceslj`sAn :G-7:!· .2I=OVRֽM_P Լ'i(IJЌ=\]H7?Ѿ!OH*tz}le"śaƅ\vdY,G]s㿄5 A Gh>GZFbIN 9хB2s 6 ?[`OJhF2Ȱ 00R8Tpw|qz2:b֋ե¤pdbKm?zd|sPVoD2#НI~WeEcGdUsA?S97˃$؈<3D$T\ E<^~;GI4T)/툂E" JCj]܊Ҽ}5ON[F2Z_E SThj?{P)B V@9f+<޶O|O 0OxԴcW&17\wV[ZRiVkI|DR_ӆ> FPh66JB}V<`9B 1Bh 7:1K5g{h'3^Gi11n=ƣ)s=b~C@*٣PUS*u6aws*=))hWUw>鱝r2X<ZhfJL7V CdCwaYL*lI8M* 'z܍PEhrᷪd4|}E}cJwmUb}0% !(Qm?4DW&3^Iz|8 nI恠miNf4OOЫrX}Y4Ӹ3\r?ڳ: bn~/,]sZvBg{g/Y\܆M2ڤE;G(:ko:N2>NwBPknE;QDCTv_)\iq~N5ecy2b4|L3z ]~ěl-}!@EhNY7)v~ۦ&ArRw5dA"\#Q`&Ix-@'EiW#bOim'@ī:=9[ s\ȁ]jp)q;%OK9:Jph^Nj8ǐr(0Z j}.[HggUW_(YX=%90S2$+o7mVC.kZR8R#x/@[Y;ޝ>d] z 6$II[#P (t} @ uSdQ)@$0! VȆX*)wFRK6ʅr_^oUv -Ymi8DnZ ؝XHW :n;VW'WbEMŻ\&{p=;J?1uO ҹ-{ X3!3#gv )Hv1:mRoc[h/'m"|jЉ_wsz|B f 4VR2kLȄN²&=m{gi:p)E NX&t7BavL,`ÌPۯgEcQ eǮ>dZFi\Rsq򩚕?.! a;9.U\^>Lx`0Jοg8OiYi#-W\ey]I m$k @iDPg f]p4wgOqZ2-5AAUT.jvl2g,L ׷QC [#0WvL81ty_R&2q &#ZPGsx =JZu,*0yٌW$Gmr=k6ܛa3t/k~^ki;[اY$|>hr,qLH;B<]l:|XՑ^Kmץ?v&eH> :Ev$EzMQ̧Ǝ^zߠ@p?-uzIiV7^`$qd@Aį6>--qLK?ʾvjRzo:!s4zz0 Ȱ}b7G֢cd@~rq^E{C0UrLg+`+=,*aUU+Rُ4<ebI:+&'6QSC9+]H5D$Fq6s)ݔ._uzyJўd* 8H.CX %Z})&7B?!+P)޷LmÏbi㰭!0*M@dG;N;dkܟ+ZyɿPAoBm,#|yU!ENYbHc$:.; h2?l`N`IR%ݯώDL Dׯ1D~ce{QDU{ER&9VXsfϑՋyoTfQZn K0c,]f);n5́U`3&Mf\*M`gۏ4@fuxcWKQ:cB7i0P{$dtO 6ĭ# մ1u9o@rN|G>4n 䯖̖ON<'.DRIW-B`z%n·f::$΄?iJ-x1^RؓT?$03D-\¸_K< ?^% &1PUz?`2&TdW>%Ł֙gMl|^/x2"є^J‚z)U‎ $/vQO ;8{ |R:摐~I!R(>*YO&zib?") ^?EˠNQMYv=+ H-;oհ92LS9]tB$B1qjdPޙ/;)i =▦RD3C_xϐ~Gkc҅61tO07;Ei1qeZKICXqݮt)/V_w |]"(4fwTxck4M 1<HbQNPbkȰJ6~i`T u DH pGQ,=Cf0s@K(EI]/^.Im@I8{~6F+{LwgۖBr rhF4nڑa_{ӮS!:d!LucX%H󃙼^*mP dx W`kBWε29D*PIdrk%=I,gn{ tfs7'AZ0Wt+~)=C 69mYw׺a8 NY{F*[t`7i*_M㽛Ĝ%7;[1O}umk(J7d+~?rn6)/qJ`S) +Ui:Tw*Kp?w׹Teb>W}?'K:2E~(@m N-"`-I.0O=K4?gjխ&3m\s|j\x*$g6%B;;BMFJ;+eDq4=~BZp.wC ͹9*2v_ cB.4􋖃P# g3e|h\w_}N}8AVzSްq&|8ڎL^:h*-K>Jʻxb3K$غ-˰g8ىF7ܾ$UXd=ȒZ)Ý:d,jbbg=U>?[Y<& ۱х}ohj&[ƅmB%2K P63OCNkr$&G̀mOq!D߁x 9ZШݑ˝7bUI$N .ж%´Sfvo4`7OO%Se!\U9F# ^<%ng> ~/%Mu>SCA=5SJ>^A v7n{boa)xtYqbWe1=^ƀH: a3ECY@2'pK@Y.Uh?JޝD0Q'{tUtY(eU*Ya(.|p4WkDTҳ_P?C! (iXGR)IvonkXo}0px)eF\&y 'of n`)G={_oɴf )Qi`<8 9]?P&<)7aC(]'D~!!A '&f6v:Ѫ cx :+90(I{Q$"̎8N {|9#q*',/kMmo,ş|DБ̜`늙+W־ ktp|~O5l#+BĵsS~| R@$,kdAHC!m50e06VRJr$3Y:ܻx.YUzΑ}XnH'>!bzY=zZQ¼"yT=2-SǢxJc9srrhBb%qH`4=#>̣$"&9qX)*S)i?5p_7EaaPa,`0'8d> 3UNN{qB"U&a.RYRz݄hW{q80_g;۱} 4gNd,~}BD%USj[AdTZGz,q{'[c`\((B9&-Q6U[y:g&3Dc Rf"N!$"< K!D'urӣ ~Cs DU~vS7U?!Q趠Di!EHŭ|I# >4S&.:m_/ҧ1ǯTa.h=tf&Y55龎VOr![L3j2?rdˣ}IZ6>)y/Gj۲gM@k]R/cA~T;u4ؠ`cXAԪ >ϴ֖6x4StT_GEBF4Z3HX*"OC ;}iJOLw4Q}9[d5쌇g hw`P\]vnhÙ\ [1-0Z]I#0lIm$acVRcݳԂSm_Y", p:ҏRcx%QW}R%ۊ3I{HٽD e+5P_~i_nvȿcn'ʱ-9۳@7R`MdTEi?b 4J57& )h}VJ;{᱗hI)g vlɢ+8cL lLi;ujB}8D쥻c[WV?q/P[' )j<9Ç8Ŗ;$J"֩hwϭE@%Z&.=ZZ$!"GTlwT3pA|] >JlmSєi%Lu(Zh"<j: V Q"w𬱽SP{s3{䷆ܛo޴,a0[r5 jbX*%sL[׼nW,`SҚnS;,ٴQ SѶr w.tIk= S6NU !WCDfkqX&l-R9<4H5;ٲ,4=T"axB=bxŨ]T0[)] q_Y}ΘE¤l Q/XU`nuvojmԖpyxju'Dr*,c6X?r-G㜭0-hh`Aȹ/ےK IR y+: vi_u|Ajyd rCDV4U_+ɳ5ۛrG±9xCT;"yGQ{%ε\!}J3B"*椪[܋-.ik~W1FJ{.I Y$\w|?o9 Cpb"Mג\Zr8̓q^S,lz>|lc" 5 vvKQ"rnJ}ĿO2[2תlw!9ܒ؃wZ&%yw Sғ0C4\'[+5h]dvwxF_${rKFFC-ڼϙrF8SWe[d9]/OgWm|g쒕+li͘(* #20M~*]W% lMa iV2._E.q]Amg0u$Vg]G9*$2T,L" '2Xۃs$#_5 G@qeh34"IP_2C]%ut`kX9 r<td^'Ν3p@ jxv&6wdftˌYW7[jT4j &t9!I)XH]m2Uk-1tJTaKNRyVp ]r#Iu+j6Ϥ#7ı 64~Ո UG`8 !Ϟ.X'cÂWhr$ํZ'qe= MMޭg@ ICwSK)罉 DuLՒfs(,<׋^`P&<"KȀf(W19iKQ O,I85t"JqVd;(I훉>K1SR8?cv:߻'#N4S?>V$T -tVkLf{>%xW6WŅ%^*(~̈V9g~4H\yjF*#I7 @p%w9k)I#?i+I^ -yt+z6: LBK18 >tU$pt2v_+/(Dhk!<4d&6g{%MɚIĭFYE!h> rE hf< ]/݇eHqyjԾqݶ$iۛ{kk 0rJ>8;j?o࠵z;v)ϵ@"m iV64B\pQdgEkI=P~On<``$z\s|{+&cn2|vOaG)XZK Y;oh6חsJ5ok%pI%G;[U~<)-ey4C{^C9jc 6kэcS'7BEy "8|4.@\VGQ~UF"9ƯQwSuqQT}b3cȋ|O]Q"iG7<u0 L.5 Av+PTyx3Ok<G_W(tT)s_[{(pM]oH0d& u9Ǡ7XQ b ZH .NkCuVY9l]B bƯ 5BL͢5n\^?`yomV)Ĥ_r2<%a7+9OuD?Z*Is,SQccA@~LQ=湧QiOT+*KtXRҟ X+2z~+qJi?l42՚ R'cb9Lnd< #,';elT+vS[doyITl_ňx\zE^1i#gZ_rKH,>s@ jT~)65>TfXt^LiGQZ󙡍{)UTȽ?:Jc`lS! 'isҾSf'zF䢁E`Rch8dWwe'lڭT|eNP&IEհfJl[I_4z+]oJ]9;02| pQႳCgTwSpE8ǡ_kM, ajE>as0Fr2&[Ԉ +24ېʆyAC8^TNn`J.b} jR$Bz`Splss |ρ0/Qu _7J$HU,htW  ~Kco _c5$ޱa;Sٻ֟* @uOLIÓ o[Tbt~X ݻ?C` 5N귃M$FfiS6zaؼ3m A28fݭyÏK!]Bcǭl!Gp8THYv*Z9x[9J] nqwl#4sv<ĵ-WP$Lk^XβPݏ;u:O# ŏ*#'e2?kQY4%9఻8)mvRlC95MiGp1UI`uЯ9Mԝ\2RǰMamʣj:zNzC*:Z5HsV&j[_6 ;=T4dqbwF=P\LX隌˴&L:ђ) x=2R*v}:oًCY^t?xy;NZUPe}w=E0\R!H8dac/}p=Ayd-B9Ėp\EX+x ZE; Z{эZcX5Yy̓h DoWr ; 0$& axwkgMGAP\kBf&&-:J(\rX4 5NHHɃ@ŚD6EQW6=|n#dNEܕ_X4f=5\Y^֡[ΜZ|}ݫ߄Ĥ8b-W0N%r¿:7&{MDi,Ӿd)+I16ɄÔ]P!F'sSEތߧ% d()Ap]!xn;mU+ޑV=-]5"׉׮|(P}7G7ɧaH˯Eo1PiV52A)ƥƲW Xw} $]im6jLd6w@ߔ<ttl3_j8ߎ?uaʞ;QNb:8nUAf4XT`g]R5DޝcSH2;|ׁ'dE /ZXjSf;cMs}F vO$>Z;!D]ھFǼ EGJ:?8NGvK(FmFӂ<ˤS@_OuPXz܉E0L\.J'#moyϲ%$&؞I=OV'~h,KhiHh| FC2ڇ~ueLtAveIr6UF\ARdKĽzA0BUVU旰bXxN{$wvO]ƸlNswc'3&w Og?BAdE7{<Ǔ֭BR P"}!ƽ~) 4E0x7>1zCf"!V]3 'ړgi֌՜6oX}%}F9z/4vtF҆Vy&fpSiSuPY\o}߁+>- {O4h846<$C;O3 WJ6@tM Gv9)RLY$"Aj7ږDHv0 =z:M hSrf{^/iLJD5"q5Dzww*=tx$ԩ ,\?d#. CeJEZ6\[ zA%kcTiӵcÉH 7[LK5g]2%NHݢ{<=C~s$A^h[fKh-Wy8D}3#IU;w 'B'+!@2Zg&E]׈bcr l|BrU=WHO}NFhT{9ǂ|x( i35 }Ny8!`iTPj yiݨ8HUΒժq#o2߬k̲'S8HJ;`i_am}f%. ާěr}N2xa KX%L3d0#0z(KA< vc6g A:`v967 xb|`{[?R\c-FС!LOS턁`E LDL£$9}d?߷#3$y.`ד# ѱr ꉼod;dPNDdHϊ,Ed\SOAϞ/t mw2 >s]kX'&:ŻCUd:EUP~Qk>sBv[#ҎsqZ y{T^UHzxg|+D'0m\v7.mAEߣF/sAXV%*AN ,lDĸǼ\}?y64హ㗢A*[| v6)SoF~}sRz@ HqmMkч.~} J^3N?bdO|vG !DAgꦤ儔n ku2@s.a"N1rAB.D \áN*&4SKMr3$qt%EFCbZt627Cx\=]TXm4Kg# W!]H LUB}`}c."wɉRZa&2X!hFjSћ-y±10m?z{}n$P"rUBo+[F#³8PԫfG O9tޘ߷C} cӓ~Y0H5s,/uUs*kVT$ bB/`D]}(95V|׺?,VD~MC Ge8IZ~_n񣜙UxүKDcCBEӆł/QEK=!O|c5VXN`uvQm)8أIU,#cB +:^q/x;͐R U֪PK$X6)#hOo]U&, ¢tnLi՝ p.^h2"D6eDB3VA'kO_}@ƔD?;#I&hԁm :HZ  ’9I 'J%*ښ#0f >p'mUgΖf̈囫DE1l>agSt +=V᪂\-]X1/JSp#yo>GU9ȡ3nɃ+jQX ka81Pp#u[Fʫ5U`_W^@Q ?aгx5jB= 3YoQT="${gw~% 8}*jEVt-;S* ^˃z#Zsv-pH8='qEj8R~pKIZQ&S#n`3v3]|xN`y:%~^z"__;r ,`|#3|wiPn c~>i v ֍{$M*3A`㈨Ȕܔ!&/7S9촐D[X%Hџk Bq:L h[f)rkſhV~@Tnma {ׯ`|OrI& 5$ 0V OMY[кE($V,%j/ nYw둩"?PēN OFO^ц;b1׿ rFRԃO@Gȍ1>* /}r^JoޡtxH1DTWe%\DhjY"Rmŗ@Dzh1EN[K%䙉%> 7D\"(" r8MJ'PL{8M8)yQQx夒D L;$Kמ؄TKy^ k,PޚD'O^eJ()Y/BHGP𦔫ޡv'7KuZf&rIx̀| >q PVX@ѱ,:?"B0$YyhH\2>ҷE5IL2 PM"D"_жY>:U5T'[VpevnhlAKWn>15]#9S<+?KCP^iM7qBR%cn;8 GT#$AY;6;xc±M՚x"Ou 䭡#129D.`{\1ℓ?V|#3)_cD~_%ʟ^yҙ5a+\h w3zU" -yaDfѻB${wQ#]$aLW4рhw^/$cj$( Aag3&xJ\#.҈=(vV2rc?M^ykq'~a{OF#< zws:%sA8i^t7gȇ"0?Vʣ/2C.~N %ܰDO+0AAFR=pxn`7[`g\*Rw҆鵉L|ELv`cd_O%O8GL$ p)ݧ#BQM9N&}(\ L3ԂTS  IvPxR ʈ'j QsIY^qjIiݧh l~Ecڂ5,xBsf%}xܙT_15pd -֙?~`4G1S'B?%FS[o,Y$縧E"UG >=bdgJ/ iYSjZˏ.Z}up˴Z-`?A5qqHZ<ֿы}OocK>ʧ />PwR}_=Pf?~dbDKdQޣD~B'j 8dy:Yl9ߙ-(qHXa 5K (4ޡ/䉚B,ӣL_ahVYY~_EStw|,cd2 !B .f~8.z("Gq0uM&b\oTd{-DCNYH|Q_\Co[!Zm(R7L'Iۨ8P r9s#2#_: +)sg}-Iq10"BF$x ug_EI]&5($mM 3)U" -쓚> &rTn1ME?<*x`QqǮh3W[tPm7,I)[á )O6YV]} ԇe,]B4CԎ`ZaL5&BĚ2^p}RGd n+laHdHV^|/3hqySPcG"LUF\,yNȄ\TA&&oB6Gn?{& +OS7"ך(r^:5czXDlWFw͕)#u0؇y4ԣ+m3la gIr)"/BI!ZfAVY2Ů$~lr/ŒM>(*-A,P3Ux\zʛ#k?)1 65[>HԆ5|:RT }V^-qDZϮOx:ZS޴L#}W iu[<_S4&cF8=;Ws!b/,Y(k,%E94RDzJa+,fkCt-M5F-9Vy NJ#NrkhI'jO.6{}caO//hϴ8k6^ %+RuɒdPԡ[0_M- AHIl`Qi_F is.KkkOoabi%&!' aH;m+˹,r7|ivbŧM`o2kY2' fE.~2O{d \4|J7Nmn+~!ߝ]wLwf6Ai_9Dܰ<޺o݀8yvrޘVW2 m_eA 5Q(p A<ښ<bKS[.ՎM$j 7oto[ʳ^݃=$H;*}H# y+F#~IL9I ҩH ~=Deop<"[rX>*'QiT*_@76J|;J$e*Z}wq{^ y)sL C&=qhG% 5t˱O`E)+9jzTp0Ms](8`4Z2&߿%9~ OJTg(ǺGJ `uASfYu zq]/q 8X:CCϳ J㝫#yslgyeZ>Xă7h̩?\`S(}YlM7 }tC0ARf,eWG\6RXʠd{u =}795.!٧/t3^`:ƀ4!uZa3D gdN $ܭ&+TGX wBٹN_rdnzJd]Opg< n$״嶇@$q0MDH<" n 6G-x(|hP/{1?I&!C9ޏB♽1K/K4DA@Loﴳ1F[ɳ >, 1~MРUO9/3C<>.uvWkUѵǏMt ݍrN[N9e8GŹXjh'/*cr^aj,$+eR¸x:`ݗ:b$dŌ1 fTȴЋJ`hlO,'xrL!ˋu{/ku]O?3_qig+/v$QWCwK=ȓ6/Wh۲U;f\Vj͡h )d\&[%L6"û!Ӕz-tCfhRqAE?SO*E9EVNx}6V$ OplP əz_3dG@R (7/P=02ɇHP{:@<kCrI;|VhN .2چNP "o?H0 IxL]>)X4v~ |a:+0Mki^;LmQB 5PY.#.*d`z`Pԥ T.[u@UڦMP]wNVRϛ3OGT aq6T1q).#t>ҡ!`7jBG}FU/ŽDޫ)@%]ߐhAJ[1P _ C-XX`9!*fNWS+8/a7#nKwǪ!c :@i/ci`\vL̿Dٹd.X2 k=.6E`mܸC"qg1x~Ee9meSRKYQZѓDRvMK f͜'L'zٯ(aae'PI[bZ~#-A_ rSFVF&=dD n$j EF)`Yݢ+HbΡxL{O=uܜ! ^zRps o꣆ҁc%% N"(qKc]eVB*)#+9Py;5=P%w]w5Z#A>=-!`?4źg,ʍ_@a#+煻SFU~o %/]N"}΢rn @f$CI[/ Q4EҿH!9툤((R0 %1`،W5,|iN]-^tFɑ #/ ` "`JСR9jWЕ [#: Gl`y m'j<:sO y&$epnHR9UUq 3 gywۑ<=d~4ٺsJwyp80T`!㼤Q}L1#g{0@&z\0uX\N}IP>L>3H XYq4[J{f:[,ݸQt;D }{gyuE?\UNdp>;ML ,aħL=}2dNxI@C+qVMW@fmEi}Y[&+=\ <  8XV]<G;oWid:Z~ۤQ<%)T#x i4^ԇo@)=m(m՜ !״Ƥ#Jwr׫6Hm ޺M|j%[D 9i[PӇty*0Kze\ztP8gwMnqpOu"RS'Z+f(k [3?g/Q!g'Wkb3/i )1xRx'>xXJh%cM aef;lK|!CVH{t靎PTZAuHe W,M"g%SщWIy_ǺYNqyꥄ}RNZ5q v{!2<$R3W=Hq׎}*6 N+;W;od^8^㵂k Z2ŏ)BjqN-zP@-kȖE?BdN-1GtI CV9zQ^؛ J$x"+,=WqtrGۖh4H+ N6\qM^`ȋvp𛜈\ݥn le_5;leENx\&V  o:tY-arfĘ֜Ww7=lW\XI$1+Kp++{ZW*ۢB_Fa},2T3>殥2$p7[h#IE/ߏ{^@ܡ2HCᨊ&B{I-nT}k;#J q%gMs,5[^OzCbߴ&L$;ĒVaa0*I:imݬn{x 3.xO(f9{ڵɟ0ʙy|Mؽ%4n(gq%ZW~N| "s|1 RIɆQ{Rq\Ùc54Bų2\ݰR 8q\b7%c>gT* /2έe*SϺ\&6L(8,RFRB_Ru fɑEաʐ<2lONX#ny! {tl)jblWvjgՠ;Þgt nq_ c $eEp4N^tMĺSP$)m^$Z--wY[d- \36f7[Y*CM~ FD/*"wzYHY>J4ީ*-Ʈ|MNBP"i$3wŴp6 14>Qؼ>y1Saҝ@ |s"WQmt6[U)uBsLjvЦȰ/hh_a NH:1n~FŞ*Q JYPw- ]+sgtawEOMzkM%fC8|FGwe*NPM.+Cms ܁ىSwZ"-< RJI-B*O?m*M 6zZ(ib8}nyM<`cȗ1wyXm" ._=7޹yh h_t%oCA(Bk&FbH:Uڕb`PV?{E5z\0\<]%vwCiI ^y(GkKb UT_Fte3= "U|eCyOjFRS3]Omder&v#PwRB*_$xѷ>q{6/EKa G[ȓN}A )Kȯ@|b~qhiZv^ `a9X~Qg6Q©6DW}L'hj*nhZ nkӘS.QX pBe3n}U?h2⣘C#^"5R®r\JuR⠙{xؾq&rřd.SBWd m{&O7; ?Mm64ڱKj&[C4ҏ*Ϡ{E0ҍF `%5S^gqx5>'jA_^󖂀`9:~@d(,&]у]rs(<.#3x mFM.:om#mɜ`[OC ra 7#S*Qښr"!h:CE"auq:\8:x?NF48)C\J+7^ - ]®.l! DPue&Fy=2A!YZF7PTڽqicA40&~GFٲ2>uo]aL %J2ܳc;c䙆c>+UGyg5΁ݻo(ɞ~)ZlJ5~وvs!1 !ªys%NHk1R4b?YG'/k Vɒ%Iθ([ە:"4bз~E(%"1XXr:dT4i>͘J֚b} C{+B v35{8MԴk439J²rI~X gXpm+an>fESKS.%PYwfc [MMpi(B/ .&[Z ?Z;>Zk:_Ub,\*yz LnPlC [h[]'lɋwܗM-S* ta /ӹ+צ r^@Ol)(hFu 6,PZrR|~G9;s oa4:Ic&R-NQ|w9oY.5AB++EX##5߂f:.Q'w1453l'cq6!zn$7h*q'Ot\WDHDxLSxe8H43;G%>>"6A<# 1~P~y3:ͭ j׃=p9<%߷Ikג}%)./ǥb'"nSA)-v'-σy~E%2}Sޖ!oUЅ˓(iie 5X!TpNg/ۑM%G@b1&u h,ʥ,<։y W܅S֙ laZ$)s Y 7Yj |~iⅩoUD SA=JR~8dvƙ 5EpK9xqT3Y ի0IDfC0>xאxMT h 4A!l+J }cw@~>CaU!m:A>jI+8պ}Z:.-gxqydN6{ ֊.*\wsl)V"#^3P Cغ[qY&<2R3oG'LE|n  ,{sz8 96 #'(4Z:WYK*w]=4GX*e5 pVw\h̄41ehW}grDᓓ_xa&(IαU>"ŗǰ:@Hez7La[ +=tDkPa!<.On 1ɔ\~N:9.63D[(4ǒx KJ{x5yk2g=msZ/#"Zw-tjܭŴ뱎PI}2d0SB !@/D%Mw}t};[ӒiMc^!eg;-TE 8` ;O^TylNX&nhXT;>R=Ës9bjJf(+{)4mr@q2 {״I K-fJ1F^Yd[ǂQ*u.c.zS(G(ئiq""v8;S=L2݁ßmS"9XT5@OH*AVvn$g_E^'&'MUԩ/T/'.7OȫYEƍ#/Xe2%BdbUa1观"VK64;;QjOЍ)xfPTӽ],hC/%g`E3z\v(,aj 5`x mxbOl4uT Ռ$(עe0\ڲ MnKie?0Px?b `i#@wd( 5WtsؔW LC vsuQeH?w\x(?[#ap )-&&{\dC5WVO4]NeqD>tB QdHsb ~~u,5GnG_}@(zK劁;$,ңdWl6,?#k7Kg9/GW3ְE ?xrfVgׇ2? qUa,0u#fXXg|kxd*4DI.<5`۫T\CvIRkn`I>88eb .^G [rGژs?xVU`ܻޘ 0חõ GxΏl|62@4 t'/CJ߮ uXgzaU|:4<_;ލ(GMDUFUV JsʳκoO0-CZ\lNY,2M5m SvGKRupeiȢIQb5Tm e#q!2ԁ0F@qk$!ӡBzkp8V>uBҮ&3b]`bQt'Z#X_4(|E`@FɎ@W|U)jRERbtyS׬X ]d2?Bh}6I;?&sUyP(LU$;ggE?SUkXOļ?p0_>:Ћ3{`.T|J1WWmoQç?W*f Vc,8᫯}+V4=Çh[S R1:cl^׿obEߪ<:av׷Q qP*}xl?x~:8 b#|f3 Bb$ZyW\&> SGVؿkFѢ;3&K#.S;gZ$U TPb ɞ%s) o9鸪!GpSW9k'B3+eXfrG$G- FuI`Mp HgCý~; a 8G5PoYfu1%⍛Ta|{7a'*ge<|[5md 0𘎾Z-5D%l==IM#Z@B? DzvW!SJy H^þiűҒ"B*pݸ:=-@xڮ,w\v6MY,=/"ʝW.{n9ձ8|)g IK-Q&=oIG&S'pORy+] CoYV l)7 ;JP/GP:݁b N$ hN0eNpmM"dV*AnzraHj`u`4u*Kv\|RoXGJхN+{>,^=R}E l!*ȏ/Ӧچ;=2av[ 78AM(\6iP,Mdqd?]0 ; ?r /:E +5?|o0ieveP9 )IE[|?rxg~>qcS1,P=#J3GGjW8eH{=%4Nt۰u*"149zzXvԲ="<~V&lצO~S-R/ùrЉ`czFH? ¸Vs3ty¿Η0|9dMo$]_zgݛ6T!NlYiK&=0$iϭ1ŋ3OA[% sڒh7beoZð?3PC?6j̍ ;>6 w4MW gNkgt8ozh<*R9z_4}fW3:$|I:vn[lpn'S3j8בA:Ps.-/!}v${Wvefy(o~br@Qdr|ےޤ%CIb噙{k`M(l{$c9uW*/?80kUn ‚V{^qz@X/݄hE M|E,N JIv4dGcÈ/=LHmH;m4K-edb\1*?Ϡ»6ꗾM$̖fՏ(8nr9:#Gux46 RbjNFٜ9^ե:vT7`&WZgC\ w^ `Cm ,[0w1~ص%w&C*dIQYI|C[E0z6֜9?OCyݨmP=jC x+d |[-]Hv!I;,@/}HLlsireV3ngd"YNgYy}$̡[ֳF[ŕEK`C-tnUߜX nefCRf뷆wko)s67 :aܨnSy%~ǎtI7m1? 9b ![17`^V?j0NS&I3q8K?&'ϑo~r 4gZuW9P\g=;-Y!o7ocq F>/=mv_/ 段Һ#DEiitvoXjj^ /?v*lZ 73MdXW:&#EH]vK1X9H2xTnl,حm5ܥÕ;IZ>ي WwLj^?=&.9I0 B_*| 7 (l/6 y͵[C!̘Rmr"} B>}@,eZ[?Mj8S+^ZaX]Ƿ<$2nu@9RFϥ]V |{r$mgәP4]h+K]w̝JX?ڀBl&TwK,{=a&"e{бΆ )/ ݋0g}8*pβ9L lMPyʹÍr= ?kjJm8YwzU9FI CѬM5z[jT+&NGS}ut係1 րof e슠Jjf޸~z(1{g*&a=fς2: CK:bVN ڥl3kGPQ+ޥ'v)7lA7kODaUyf}7腒*~TEl~,@R0#{ނأ x9Mҏwo sH[)4}m\0uL1Q9u:ʤ#|.jTXgvJ `XZ^rb !ޣN1)a.oSc(lůNQb)w(Yc=`551Pc+h17H`}WM0ΌNZqDva fI˜K2Rff>~WNyڷg:QAefO^h'R/[/Oe`0lYQ;P sÉgGy}B^x +y&Cq{Rܛ?N$Az0^#O_n+h9ZD[0<ހaP׎ M!nwm |}@"<wpG;Fq ټ1x+j9PGc4vIzv{~>vKNΦ}pYntT6: + ;ho8iYgbtMFQ&ɀn=o,z_ug>]'| ({܊tv]s˹zdCA5{L&dWvtmKK_?\55k%g'u^ ^g SDfbyF.zwIw#ͷkbDҟѐIQV58G5Ba:Lۇ'Q6a@ rk3F:˄P^=o{;kM$h04uF~leqD* s ')`(F>=aHY+c))};OLC Q+%(^( pv*]4"AWx2Ne[*O:YDaP?mi8y__apF[.Wqh[=F)SVeMQaA./F4&[4)7B'Z>h'4~Ϡ=o @VN._x[;ڨ v ҍ" cud<樣bҔ;9a()@j=^`YVjB2Yؾ5=YߊF3v%fmE& rxf^巡F~LLC!*{9kGU9=qA}]z&Kt@ɻtQ2Lӑ*|$sjŽYZ,nM`+ #F@A嘁HHW@١Z^t2AoN&Z@ B| N132x*(kS'h6@ 5G *xH{uҀ7"vϧ@Tb [)ߟɋMQZ&à'"葼rHGаgGPnk޻6!֦[Y5pq޽DV`9(go۷Hף ;CSI"l챨avndrJDܓJkC17NxZݑ :pc9ͩmJmaS.0 } y "u'1.F IOhkP[oM3$$qӳs2Y>bvB5"w_9gI<4K:Bh:5Bx*fw?u`>MBͣW5κST;c ]Hf-bTWK#e Q#U,Rw3N|FŠ+4*܁phz h =s1oJIG/EQs5,1=3XK;ع~GAn~)VLrQqqu(5U>f Bq~ERY绡M$R5x3RL*"S S3 Z 8}Tq2 埩9ageYy\.$4_Ɗϊ?gZ>ƯG{w1T' O1w7L3#8LU4V_) kj~hW=hqBmױwo'NW_O#1xCz/H"m˄4).+;cnr#8ߖ&੒]+)B,jB?zMf!q4 +qccft,|fN}JkPCX"E1Woh Ob='D@!m A[IzPcZ&.NurEXxH=&si`А"DO,Sd) /t,|jd{nՋH60#NW5|PdLt>=,oaL"> Pwl`F㊣# kρƞcK~ ꨀ .n;wF|M$obY;Rп(L7?󴚰ym3IKR>E~,+Y"Y׃衣 *\?Gg1ָ0QbW'aDe!gKJWX VO;(K%;#% 1))oWHqh3^Q ^XMefV֤B[$);sgp}TR*S\^WU|/3WU?R^'] 3d:kVWaMUGnΩø*K16%ݐİ$n=X}Lޟ'(@~vuB!dv)VO,{Mh_odT!I5fA/W6U&h'/kj7[xW£īx{>\:J/Ju3 `%PQW*ucwzp` w#g2=20`K:6/mצ&_.c$s>\$, hҋ ! Hy<끍+4,+Wtƭ-1i2}ΖAڼ0{-Ab Q ^>d=~A-Ayvciu3lYF<3je+JP9*>]"EvO-4D^Iftg߹݃]][ Y=$2N;$uFW evPQLkd (+Cǃ. tIkZLu`Bҷ"181\-pmucGɥhcvfV=uaG 4Ԩ;&G"N:w5ٳtXx[ǻ1bIrKUUE7NvDD_N4yq;ɐeiuwӐ5*1A-Qs}o4W'D6NօRfM#f s'Z C:X/cYg ˷UQ-AG U&1.Y¼3jA-X`OQznvg!IHc*(M^s} ` }S*6X2-:]JcI)MC 5M8)2baybPJY@A1]_ ?dd_EZ0~~ۅm~AQ3?p32Ħy9uY 1)-@pDy싑ļjސT3 CGkJ}n@2d|Kmg] VfC 8ai*P^axCKIKefTCzT!D>};Q[@t5(x1>32ԈAT4An2d|l pVx-"_{i aLl?ebi_Be~mO qJS_k4A{/Ȣwb1)155^dLXNU~:I|kj?<f%Ty:bq9 |?ɓʪϿwRCtW7?Ș ;#pD*gߓAH޴JRoo[w $k51#b<3j4kdS봶 1 1#ٸT76IquHUmuD{;Xj=ՒwV p d.j5j|i!k0_(vrZwX`y_We"-Oϭv  /ߖi>l&ooBZO-bĐ]Sl;7'y#h+;m-)fDI?Xղ8C5(WJ7`'.otT=yTKU *bf\+ȹ9XNwb37h%熾*)>c0M#SC* o΅{@2w3̀c3XðHN5Cf漵i9<O Ȼt71 JGֹvg #њ%nOg6bX\ {IY9p(*U-"6}|3?n8=mqK{;#Sh]nL- )|d }zIxEFf[(܃2S^$KܲS :{Yb/N MiIPxbT0HX̟T-^BH̨9JK`b1ZE[gH'Ndڼ&u۔ᐌ/ccܱOb<mIz'Pozʸ2Qn l4;VD(;%u@$wƧȣ;vl͓D+ȥTij#t}rJksƚ J3et2꯲e(2!˔z-*5\2Շ;2bjm]@'q)4>t l.ZI{͸b"'_腤N^_qf"ós8a#L0"?s>A\d<<9zcq˸~.HyJ-"ҡ1![ltRQP%ʨR;Lg1i+皎Uh K |.⯗jX3{?fDcr!dr_B]5b~| V݌'^uZ+\_)+tl,llN(&?hh;qxg66R *F8f\58D<\A#Zgۈbs?ohdbhK8{:'k ()3MRN'Rocp{nZąQxk_:"R#G}R1Ŋ9f;ʀ%`rr9/c Yl">%NľgL1sG%UZvGE+DKGEPZ)mH-C h,@L4KI;2 M| ۰_aB}䋓k 7{ܻxwf@.xI˔Ҡ_WA V ZNXX˨=}$󕭤-4+fƹ/* 'Ycc 7Yt$5(:.IVMMd: o+:rۄVA!)??'D['D#> ݺyT@k,tuθD5n /W[쭆vɿ=j E'tjx:2xD9Ghbc`[&ԙ.I$5/$"{3܋B}?'g(#6/_9wۤFiMZ+nx~Y~N& ֍G؄\> uW~51nIcl%WfijQ1,43/'ԭ1_I\ẻaghG] FO!ʩnLcadKfnP@ŕx{vj޵!{ rƹ"M{ g]A:In9\t]/iAP6j"8=h JUjyXslX { /r*czf  Ow 6LnNj0XdXq]/x>e0+F  8n*gs23{2.64D2 `+ LѺqP@AA> -JGƵԻZ.VOxiPrdzs90(_ܐ6l$Q܃A!6lz|"jĜ*+gڂ.Gջ"VImQ؄F_y^WUu?i/bo7_p6^W{4#Qf 33C ILJ%0MF4|a;/4"Op !q 1JBqf8'j03(ESoiUYǕȢPUx cH(. .~.]T! ĩ^|`֐Nj;sy(wL4ݬ 7p*{WbS +*4n>:+5vy!{4wN胳Ǟv΅fڿH)+{x^PvF>! '|xYEGb8EkD+'j)Z~ 1mK( gta3Я6PWEKnDnpfR*!bVavͬ>܏kEP\Cw04m5iCc&dPEw?L["0@"biDך죖<Ĉ3V 96μzdZ*D%IpS4**܄#aX@y<ʃ%M,OW U@e6Ty5hc_?Tׯ9GuA"š  Cpe .+fje r!N>#u)e%0tY $ڸZ:;LYޡI7u2SIo?TJԮsC_" sw+Z6¹{#4ظ8N3,i˦`$T_Agϗh}yƪFkǸ 'v'BI9}'vCC+RG/mh[[06oSdνF`22?OX녻[_!}چ-57⽹*1w%8rgr8.$Mw13TzmzO NPHM]B5?ŽW#OjN ;;QRDgy$#ll0bY(?1e{"7'ҰaK@) (*K6cRZZA'8|> jupѣܫ1C 25U$6RɒY([<9c@NԦk"?VPxc,=#-\x_\֠+\&h@zS*iqr DWu+Dd~_?AҾMޒ)wݘbv> m0 O-eV#\̮+;D炞!!o1~Sg,SO*9zn}N)ԙ]PW+hDd,7/{%}H"~ sD,j8oW*DW,q>"[ 3u yq TY$c}L+d)YFE$ˇ1Ԧ(!b S|"nYѝ;F~qy6$]#a_ˍ?_Z)?UxXڸWW 讪Bb]V.`dNw9e=S?5(_,ڱs-JEA {+9ǧ3Eez9`a PVcս{0[wewg]=S7'UbVh1ϨnڴQu^ J+ \j$ X~dL 2\b޾ 2|$_CV4X(N)Z!&]b˳eD y!k6U. %Wxl<3SQuC\Lw=jh3Av 2Vgty֥i-zt9=si@u kxS2HdiDBwR-|cWٻ(pԊBq'p{y(:6VS$[sWs[1}W NR-_-מ4 feOk6Nq5\ifatL^H&CΪz-Rk arb?){VE'wr @8嵄j 31.5;ߒ v^g.:ky N' ~Yc7v=?[$ MJę" 0c&ґA{ J l6A &˅XO8:MŠ|.ˌY;?871E󩲌F ^K-||o$5%fŒT&#gȻSNGzGh%`)19$U0iE$"i*ü ŭC|ճ LLeϡ -jJõra>\<.yC)gKmaL{|vܟwV-9vRְ5[Q SUDE$ko{ͽA<4Ho6]?xO9n3SLe k )I&.vxpv:Һ hx.-Up+' E*Fpv!g%FA£f bGjy#;8 A&%(`D[–YäCҳP.j4EĀQRNI֦8ܣ'/ glpC9@Bh::ϻs?}< Z?E`+$)1ıѕcGd <OyD7BEhPo( f{cP{\2tW75x+$ #,>Q76ݷ9)\rg" )keKuP_}XY1:EUӮzqr{0KTs`Il~hb@P{6 8C&L[߇4a=~˕$]X %rϼBg^@Cӣh^i^S5L G}b9>:f ;ڨC\ 縡1ԣg&8)?T2e%?8sT_w͋WދԈa6PgBie:V\Yo:S)PI8V[S*gezTYK:Òa##yO$G]Kow`WIk$+xuR= A &Oe_Lu8';xGw\ _rYoke0 7.EN> AClhEE1e̓ ȔB b'+ZKi\:e񪹖S1q42efi~2( \˄T}Cԍ2_`kS&B c[r8 !A 6 bTZωq tLW?a/ QU!+K{-25,kADؙ=6j)TH->tc&04Ty΂.\:bvD e8p3-@ϼuezԂW2j6tާ4ȥQ8WQoJ?40˧YQrWq&L!JCl)VsanriQbC,ccy$L'iGeF[JO%0X߷Ȼ[zˉ+]}Z僭Bc(\WN+ Oe(ns)xșc*1A;˙H`Ŗ$wYk^Yw%r'drP{$[UI]z3۩5ÔCOմdU[j1nYaiWDJ$ \CR9ehYD]3ft%i,$ʲ{l+k~ u]ъ@IJw3[8 .*S[ftks73=,15tČq屵݂y?bϯuneHXudw⮾ZYcKƉlckcolx(@J;#jO+Au;y0s;Vt66lۢjnh-Pm_i$iwϯ%boU2g@@6{$5]Dߗ>|=Wl[>^]z)iO[xH 4)[[k1ن%$XPӫ_θ=8 83d1gf⎾}]H-4;6Q**q`ҕDlR2ȞEtSwUtsHquO/ί,IrOIwğt{6uu8 !f6D Q/t"D˸IB˞Z & >`̌i 0sè oA G6ϐuih\@/'=-J 7]> KFqǫcb3hs|'VdU[Lq9t{ 5&i}.F~tQ]z0[`LK'ȷMq"o EOeVfd}ԾNj[5*5W| M-ZglCOj]!_Y;˧NT$x:OܔPڡ@*g|/S\|q/ݞdJĦä&vS4ysl=PkVdG0|l% ElDU{^ J8587{f朑1ӰwMPHOWʚe[und5=K{8mY":eyGMȗe '5.>]vcx>ą5bHnWy҄m9D!1Z$i.we"&e'pbtfSRҿ,8ewJQ/2Bura+!0pTߚ vz |%oWH&4$G̯Ƈ)F[4^gVo&S:b=t1@VROKwUA:YJ5;mtK MDilq˻"pf~Yq1')7*R؃Gԑn!FK_$Ehk\)eˌs<)]"rKbQLh~Sfջԟ .h$Џ5JND,0l4S֮gˎF=P>蝬:\!ۑ o&teJ;)Xo}AYN5}H-"\na9Ȇ`*?iK5M6Q-LޮXΠ )"º'ڧ*cifN'kBSVV: zW˪؝>V D&dMGflм^&-׵uwhmM [TO'E:qu^ҋ3 S|pjŤ+p<<_`EN9ڔ4Xt;}nR; 3ef J  Ɠ_?bxV|24T?OthxJ BqOJ#}".6̷GU8u qzJPZ@[$}4/@>Ŷ́s Gb _טLfMꛧNQf6 #X˙\@"@EYH*.S %/U?bAHiwcw@x"ڂ4PqK0.AT0s/(bo󷱡Fh{ ht1v:#'wAti}ĠIXScp A!ҜÄ+k{'<<=V6gg+Vc RT1cWI,Y>+C)&Xggl{}lwԊ#,9dTzVT\LzY&)ZIG{?ry"NbEC8wV_ VJ'9&PDIq9OA~A_t<~cofДS{ *l(< יϬ75$UelYh$LA,DS ^wHZS/B1pRj!]PZᖻ]yUocK7AN#3PôU="-@78gr:$]>n.1 6F'b8|=i4cPٔ &Rq Jp~1,L lNU0"/  xUr7{m u:bIٲj&x Kl+ q vm0}3*,X"|yP9 ?U<Okޜa>8$u?*r$UX7W5;{o= ݵis%@^sß?5aQ"Mt!ijdu=٪ o>wꖳS#OM>5`9U<s1k*(11/֋Lnf1$OۊTG C,Lco!7 YiaV,P_S{UC%\j|x}<ÀwO#CXiG`鎇CeZ ܘ2lA0&1fb0ыL`R:VOPDE|Ԟٛo9Hg#NmUVLpd}:/+Rrn'ʙ_6%dC]U нm'+-Y߮TmDa:EꂝlYQpwM4rV$5 Zw9ha*ԓ|=KD^'2qtx^c+e} :.+uXMu[8˞ʁYÑ;C!=VSAG&! ܋*hfwPDy G`o}dt⹐;k4pVO]B4Fи))\'{w1KB=c?j*' C^Cs0R^c\FQʳA߯+撍1SУ-aq["Īm#1pȓJA{P \Po~cc=m(IVۈsm m*O9ύ!z<^v#ȅ)M0h y-55v?i{5qQнy^_ (6w23FJwOhG;BgoUL-V\3S[ gw-2uA5\%}9hASV vIot"7-Lγˉrȿo׌ˎP.S(82/4粡K&Tk^; Ed褥mO&ȭ5CI]`Zp֟#^#pDٷC" ub>sP;H- l6! @&5a}.xl4-AkiTZtw@lQH@[ee݄z~,l6ʔ1GˏPjPb+'"|DOoӫ[HEYB)]:1ʂm^!k,Z=\ܢ}c>㏾SCM*$4Scp+B+Z3-{|3"8K 5? )]1jF_ 2Pg^^mCG;X?ٽe]򶳶cUF-7IH/fOɻ"*KLa 8 ؙdUHׯ74!<țEluDn ĊfMwj-YNCUzZݲA75|IBGv;Qv#cSqI`oykڄb .)+&EmEv+uN#(qcGtPZ:qLY{$v9{, }3M)MľCVq(# g|x-3 bR?.?ی)Hѵl>cd~ֻˇ8Xxj6S GTvІ}楗*e5?Yr'4ɶ#R3Xݯ#na9FQr_Oܻt+vC, Sn"L=:me;ycd> {TJϩrDKW |G\~פ|'.Ti] IõJ~s=قE=%Fdu'>)*MTre̲Xl-Hl@ kƗFVgLU5o@.&ϫ90D0t/8%r=>jx;D`sǹF@e" ڕ, s {]RsԄt 39wrP {prSͳ)a L|Byt|S=G| ZdSii܍o)09 {_פ_!j[z]`'bվbO4~2뤪Qfc^Cn{>@reT+cN;)`Ŕv=n|`첱-E$" ׷3u_T#,9XjEa ,i NJjUk:lk/6܈Lȑ5:zT {N6pX%nH a5MX7v_]`Og 12''L}o())Ⱥ }7zO0sR$>zݨ1I4+Ѵ!yz[,4+D ,VmCZn?џTAkqѦ x]^2LPC˻=TU&L{wׂ^Sk&E!ۦ=ί o <8w\!L:_LXn`es!q_ q|rx/DrR{3ME` B0'f"f![YT`VD9>&@4Y_ 7X=c6z3$ ,y[$coh;BGiAReΐuM_2A[U~IBk&a ڊb>3bfVܕʛ&|K.?5d3gaEVSG0볻4ԣ`gE p,+ugи`uy|ԙr404꽀\J*"@  ʺ@ߠ^SL.{^;+R֏;9%ՍNcᶜ\j ::GSop9\h)R Hur`>Aq^BQW%"}E`~!, M3r!(ڇ4.=dÝ<ġ ]5g-FB!)vSuZWt `ϵli8F XAbE?K`htGɛI6(n:(ή)۹:?ĔÄѳq  Bm+ז!?5Ӱq.js4]&ԤӔ.ےGH/Ry\taqLK"W{FF7BsM#GD^?\*6:I'3brv aDt8pόg]o}oS uoptľ;ҽRZcQ;*[tj6埥}vTK.'iTe J>y@/*pՁƵN^\vG/!вYDu]tx(^HnfW}So^fʙjI)A>xV#" 9Z70;-n#n^5dӑzXk8rC="g'aPzN=HY@r|ջ XMa^J>Ǟ۔Ƴ+cE:4}撒C)G>!:E'!ܞ-PItoFy 526"A_4! H=pOG4ϋ1]ƥ'{j&yu0?ʥ@t$Z.rMuoT84] 'eI6)eņ<Ӟ"vdl|͛I>gIHakPrK^VID=g6^R}ףszfb@V=Taf~ B@dR@E&/$Q5C||U*hϧԕt)cgmIy;/!)m*G\Ua#R`:՗GC!F0O.J1N/{jY+aoz"/ ƢF!68&Ψ7t1\|Y+Q?VV"5 @ނ|ɩ؀M6,E+[|lȂƥ̩䬟뿏ǗȭыBgm(%wLCj q ɥ4!he .#G[(N({O++EJ;mh“J׏[N+rթblJ:҂],7w(d dzjbYgT>=!"Qլ4~Z i23͏ox mh0x6^(1*QӢd V=*B: Dto폄c_4NYxxhkU `N\ޅ,*k<!c9@ZfHjs}=rYrW/Q]4~d@O^ydrI'ZB$d:vĥdc+9I_#8;nPj&d5jgwaA35x杴c_I?G52wQiD1LfO-2K}hgE!fnχ`ϿrMwws%6T~YqMkR#@A AF7"j` dFLd|mivt0`ۊRMЂŦ'JM۬ uFb5v%S:{hwp^ov9|r?&Gs.S q<V=t >2H#U_h԰? >F!r8dDm @ kXUJ:g#9fdh>R*T˙7syGqf3Ә<΍,NS.(3,u/nrAp]|Ha Fj/-ۄej n8ŘЭ YPyFf2OJ3GsUVHVP뷦.gh1^ f_0ʜEn/kCM!Y9mj2rz~ZWj]&O8d@1ob0]y)0wt+7=Ѐj7ξzf؋ԝ[SY>|l #K6"q6̬P,:ӷx:Y"Ege'IR5L=*6ŭS+ $U5f}ȿG4V sӬ2 %t,E[}<]cR仑ar?fc~8r-T'pzV7FͭBM^Z^ 6RQU_)Q~ߩ[u{4k ~c-r9s lC\}[PT1[4Djcn:N`?\8 aI70|N&4}ļYp[ cc– 34{J }45g s{,;!m[Wa*$) SRUS(|DP_t|nX} N6rb>`JL^gB1S96cRzRND"_TDM5q,u8v2EyL7㾕7,)ѫ_"Pw>f{Y5iG=͐>.8Hr4Qa0qĎb_}ܟ][ArJ $mI{cmzr7%F$hT&: }CI0l.8(n$M`Vۈ59[9m)7b+LV3St 8;\o8k>_17xu.Um՝7 ZȯА0C'7!z>j1ϼ=͔+C@B8EiJ|SV×^d)E[%9]zI͙,U+9#T GG!-!UW[TD yO/>^"_qۺ0vUOOnx2g i]|M29o޶¬ST>)a3脙&a]-ɾ"=c'X)D'p7*Rs!i~m*vcݾ v<KP,q.I!{-!y[\,rd AfnŒY][j&(ZU˂ik? 9ZkL<&k Qc/U#-eOqY8&췀cM*C ,:mYWY_꼓4_`v?ʑY' Hǵ8$=,uطifo䎷5xAoןZDiS?C]"FpaADhb4}Zt:=n>ݿ9opebVwKH3p[0ZÂWENMey>y\U~ޓjj s|qT,jIV.Hͥqm%xr6rilTKTqLSl,hIA.ghuxF \x_YʤvFIaf?eAgwfT\3, ']KZ>: Q~)`-`kڴC) C1EV8T|Q"%T4"rY@“wF"IaoZ/J'~!Vp ."8 d)8`)?~vv궕0 o SBg|nIYxZdZ-Na+۴oڒwҨO]{Nݦgy\W8Vz(!dSmGDt|9)@Sf-U{BpzqyqETQd: * _Zs5T}xFɡfo=sI RJYq2<>h(3Y& rsX_ܢhH_Lʒ܌ Qʐ}{~)ӟҕz.m*$'i^* ==3sfT,Sf.a^- si`bs;y.䇜65 K"5# OR UVDIWy/3R{mBφPv$~EbӤ ܾ)* 2%:;덬=_EpMMT-Od׈3Q l#\jпԷۢiQ>+=2A_;õ0f~؂He#, -R]ųֆ< ni)P6xIr6ƮT$|яCVyb-NicH2ʪ?mUj)mS||bRoXyR @묛94隻A*u;PgE&XM=Kjy .Jȕ-o^~Ʃ?$FTt>WSX!'u[G.UA>yg- g5{9K%ePyyayGkAdcՑ6E F6 ټ={Ry)߽[Kܺ #xF]H'SީJgC:׌)wу-|<~AVTjXPzX Ȭo)Cs> GI'VEO2~*d8 T7KnX>{LFKw̐$V7NVmufaӿ5ihW|DZp!ZT{{7Чb?^oRƸGdV*f}<;`QEu@S{!@)ۙon~ USBB!3a 7:5To͵L[Ys>qQ8a4!8W>|;g:yxl{ڲP0ck8v4A.hPqI`V`De8DD^h:Ɯ7Js@1{&' IV@FahmXu ;<2HM< ] b+؎B%%_$2n>n칔\мe\F⪺oX' .uH>Q9`ִW,_[s.G( 8M!Z0<ϊ嫔~~洰`$%XQz(q`ש )!;'g؛+UѺr3MZOeWڸE%QfeD-FĻ cn|T˽$DUT,Dsٯg(RxvDÍOyiYȖYE 1SU,Jd^D/ `; [KCjukPs;cdun~UFa4[ @[(9F;[RݝbỌTkgdTi(o?=wWTcT)SZxp0p%/Kz'; jGnIF0OHaؗLW>4ƿ3}%4E(JUFtGX H HObC1%s V`Gо5=`XrEEAp7D3o%,MJOB Od"fTڱ_TKVUbBMȊ]h.H VaaG\ 6hS:9+JSkQ _&A/9ӐT)5=U'O˶i} ւN= :9J&M3uecj 55`k\jaP\k"=a/=Pn.ɬ[SNSWn|=6;V=tYa%o^׷XiR h sIj \5_)?r_$qu#zLD*Zu,Y-R!ՅŀmPO+!x3wIh8< ('^H"2F5|T6tw=~̊T2)S_~U-ٔ ێc99v~ͤ&V$\&[Dv8?V8MԷ&yg.mbz TL{8Č3`;„dw 2lςQZtXW uݪkk W)[ ,BapS'瞨Ͱs OZUIǒ?.ݧp7ȸ1!R uyJu+KkɊ3_%} xg8pricRِʧ{uF?SK멎({}9 x > {d]]:#Sm2JeK]+rX0#>-ƏX2]b$cl%Uoz=ہ҉fkH l'&\+B~t&HT,Icg@]pHuٽO"Y#i=#F/*fYLY7Opގl&Pdk`i7:*zqw?+b4?]9!!4\N8`l)̽+P/o #'k.7ξw*_]T+/rHI^[#Fk-]=YJQC h {|BAX6%T YqCG0/ Ҍ%Ɉgz{F!k6P`q:ϥ1nPgwJ38:;Mpc˛8(,2?x]ݝ -)i"9OX]-OW87}7qb#\pG}mb0_&ڟ{`gEJ>β⼹Xω{GI"xY9\aMw 9fw(o+H=ϖBw_JV^'E k+"#>IzgJ^O>bhX,%21ڊ+8SHW@D+w}ij<Be&RJH8v# ?g<1Dg_G8Ӳ~\ޖn.+ xPhiLٙ Y9KN4Ө9DUcpRepE%{Ʋyd kc~RP!h-W H*Ad}\=Oc-]g!_TWMvOy4q+=Ti':bsC ,yrաPp7a~yrS`8>sVRb Dܼ7d[Q_.~] pt~ҥ{CyIS: ?*i@SORVt?YTd̗Iv]XdA$H2lKcT A0 sg-Bϝۼ[HQ[i_+ yTIAlLz^2ER9&qŋڜEjWr_[{ts!YR[:BdS(\ ڋ3_.d*%Z'}>\a+nHauWA~ Pqxi}l^lM .I ߁ad|F˵^BM?4l>{IeB ͩ,Nvn5AK-ډUEE_ g L;)B>5(hrH:G,-c[NȾjˈu~ےo'a7< Qpظj˽')o5}| kO>@1C'l، q+vW}0TԪ=4-vAp < 8qX?r]H JYH:i'8 M~b\fB"Rx>mf,OQVruM.6qmj-Ÿ;)oikmdx)M̈́IGZUSo7#V}3cOf&w0"]4ԨCS޻ݡ"\_k 8z+-Dxk7 (H0ݣ @P%f[;2O{:@,m L !0\gH*Tdʼb" $1C/1_ Wt\B+1r*y[]ڛM>z"Ia\s0εԝ]B̘u3TQb|4WFθ̠67} ̎ǑƦ#"1Ev˄P"@V(;>-Vn=H?Gg-kh@XV!Koi"l 7臡p06PiA`lH7MW;-`@ ُҴs6Mv6:ۖ*HX+Y>H b{iz!TlG =Q f$@Kn1$'I%7Z|4ܨؙ4n{j܄5īIFdn3{bM~Y;TZxIB=7ؤu]2'8?ˈPXKρL j0<5Q5Q=];c*B9*pV) A--͗'!oP FSgskrқ,v)g;ڧ.fi#=jR\u^̦]HxHl.QOY1ݣdNOݧщeB3Vny_NT[n3 :s?Eo\{D[>*T_a 6Id84s0,L7L u:]˵%1#p"5\VTaYF*.d## T@jŇZlY9=G8 9CvsZM`Q{-8JMlrVF9DF~yBlUw3\YCh$yiI+*X4(7Uܵ͛sGǿ sȷ+ ~uZ/~7GK# x͸=aQ.PؕE_4%BagX36{H!wΠL)~_U䈾 Z|޵oH[8u>`o{)bd}bc4` Ե0=7 8$E3+HL0C߯3 T=Dx RR],2yn|2SY7Rs}Es CϏgIe0.CC8j41'!T*g9>*Th%VKdzAYNbus@sy77k2#O`YM533*Ty]_L#3^D*&$4;'4X-1s7N5`kB^39EPlwG]jF ^y"Ho[Llz۫#Pzro;ٽ-hUpl7v|ojtYL,޵s*:+.۽}޼>qSim%_"2,Ml{,yPwPL\+tb QIn^Ga `*-\_{ .dR$$v{-\)#4DDPL] HOQd, +; \~tgϛl ax؁@J3%N6H.Y8!H0bǶPC b [5 gM~㗟aaߔ#&Q!6Lŵ' _>$v66Q ؖVQhg@~̧%|R&B[[T/ *3A dlLx;t'Ɵo7 ~H2 ߿9kOe5*YA>/I89_r8K]:6GTwn,)ϿIe^>rYhoD9.vrDlxs2EA'Yj?gYKQb^)YT)x~O^|5.Nn~;xw YʁHOTo0׵|٠)I6 3 \^IP6w;rcZ}J`:8?d`txȚBcW_&Cˍ { Am?IqگOW} [!Ÿ +kKLdPv<1|Q3"gIb gaE$kE5`oi1&`2_>r%_KJfm((<0ވظM0q=U~A, BЊq8Nax$p ^F/zX=TU`>CU ">9yS. ~=&iN;3f#!u(1F~@Fh1i!d _")EߤS'P6nj#pކھJLOs܌ E立LȼWN߫~!6]o {qʩV M[E֣)Dc3pxտY}L|m%'7^i\j'c3 aZy䧪EB:J;h9p~? 549)EjZ^k`հ(W6A=~{c-e6tɍ"$FG.E=Bo*8.;J|[y!37jo 0|.sޖ Ka..qKg} oPDۘQ&{}j7b[*!V;̣Lt&W`R>B@JB/DVQE/l~?y޿m bg 8X@ҿ1Q$5:<'G(X7>$;2ώo(K}M;% &\}#}? im}{zRK4 OD?|DR1wΛQːnI?4D7i/U{^L.^YXi)euMY-.L)'1#I-<2ޓM/GDQE8-kjkg}b\zW`}ԗ67_riRE4d@TI zJ'$̀r@>s+YDGN_mł1҈l7 |bo/=Sx<rM].]]I2$ȑ6 ڞ#e>ꁫ~IMN;}.mC 8 Qso&X_%%g8ԆfӮׂ"~;[![bvbWmͯ@Rѻ#V}/Rv1mt7n/_rlGjj\foc_:֓jeQ8Lhl.^XӾu~^~'GsxR>&:O|)y Ԃ(Ŝn+j!mE%{Ue.D.-)-g00Bmsbf-ՒWn R'r0O{ ~v7I4XWd[ԓgP*=ҹgbEa^osTyV铣ĄvS!zGy@!{A/j:z3y]mF~ǼLiԣ\qx#̈œmt{Z&0E_u,ٷiu(iYjD/o}ˊ=6~c $~8('!^VXlC<ȝΊ&mvcOgyHćJ4kP}L1.YDzz /*{Wy+Ūt-ڸ1)(x!.o6p?"k[a٧j9baAd cҘR+Bwv~71=w (X=ʇs3MY%b|߯犛]N ޫ˾TNg&ݨbxYf|gͫ jϜY#9Gxݿ-5 |tC/teY h!or@X-휡S{t>>9Wo+;,?5a4iu* z#+eEkt;sN${lk a<ޛVYrlzxMH- IϑM'{x?p~l_88P߁ -;vXBa'w{DeT}VLӟ߾yRxq+z.5co ;3[ &Fn*3ȟTi`Y~{i=W.)(m.A<}OoN49ٱ+›C0hk烳_5!ٍtTR ;o=JF\0Xu)``W[#aSFa]pKIcN[:@eaaZ`ã`%ȦMHӪF6wR@r-7H?"l*BO"_M &gZ|/ҽbSilu5h#,>2;7&2WO}h'z}MZjhP lR B3%Y׿"1r2[CF Dkމ(YY؀BL[W J~Ы |y@a1AOʾzWwszC*>q77%vZ/D/&;x=ݡ0 BFD~u2|]䯉.W{v^+}sIqi cCL\!HU -XVi؟%iMCG@7#;FXw xzie"A#.<6CsC.+;Z=Hov:|;V7Kf15$U_שw=Zi&mg%'=LNs~y'ƊSލ 7/9TSdpsbjfMn#BLN!3Qʙ%iE7 `T=LṬ IF#T?vme᣾=ktIsK\C? O:)䠈&-s<({>2@qQ_?A\nsChlz^HLnGFSjC5|n?˅wH&C $nD?@٥`z-iǚ60ss.453)ԕ Xq,OxԊD mߎ B\c]Oދ) 93jA!QOTDJ/p^~w>o. XX9u| W*Q qHZ =]#q#>[G shY2T 7$s~A%oJf0eLRFLT&F щ-ȡs"EZxWpOZi[x=8 ˌ(+'xq$S2ag,qZr!)] i/6|.D~AV.i:{Pd3?gp@L<2Z0kjAg-i(omnyE{E@ی噝_Wpnx8;ڞH )(fX7PEs /yzrD|\61L.Q#< Cro#uJmmej52#%D?#:Re'G;A'шXэ#Kn$=yv4* J*a7:pv1#eE[y`vy*O}@~&cQ )UբU')Ŧ{@3{J· ^ܐ}s#z$' bY(55,@7ھtPCHjA .<))(W=eq iw00;EmC,[t.6W ޓIq~\[L븼,iebcſw={VK܃a+K\ܨxA0nlCZGt ~;/!(kVצ:mbLͫ:b@(5%AiװrY!w؃{+҂ 8gZu BN݁/J|]1|mJOIks&r䈝/?m#_I(%If ֓l]IPU@o ֺPRJhNmP )5z氛ԗP v7#+ ި$h5ײ:n(U_=Yꃻ$= 3YV]NVgoVK5fQHԟ 9Oo5[JkF…+!bEq)5`Z@E=^+'cxDc?2hKR݇Ή|oyv$zѲ"삩ftn bvlI]+FPaBCZȮD׹Ov <^2z|\GZ:lKŹ~-!NǕ-ccFh骟1/$$8<'>]Um L` 8¸j_"ǡ9tʚӹIFOM |2EC᎒l0/<;^{K9QV#c>5Or77gƄ?O2hţLƀ_{ L$= ~'Խ3*l3GALqL.֝j'"75$̓{teu AؗL~px O!59DM銁g\ɡv#edNln=tl2u*XP🫠?4pLBBIA2Jdg{_?O87dsSwk.lq2s+O. üxsVaKK{32#di錣K%$0+xdD$ W*`!>ǍYwV1ۣRA ~tA{ W :?ىbX@1r6 Ԃ%ElJVjS5l|SPX+,/N^<\Ħ9e<)T$!"dnt-foA_;ۂ 5* )?8 7e}$Aqpǜfk_k/1@Hxm$UJm ul6%*K1B7f=y[< nA9Gѫu4B]^.$ * ]K#{mNY⏝uPŗj~Z9"SI#+q L}2a|Y.n}B/-,'d!V5+VƬq1"y]WE-3[K(ʥs*XNubeJ[.wC[F2~Nv ,Xͣ2)wx +3]+)PDT#+ICi ,oB> _kJm7?]#ˇ-?D蘬ʮ^ Iv^AUZߊABC 9-vAh/L ;.t<;1)J$A,>Mry1k7}Ӻ8W-Z`Щv-3>p 7QqꂍJd0052:ގZK{ N{T.Iȸe,ɱZ'U2)FXB3 ;K5N)b(s_AYV5jut!{n}vRHrϴ=!=:/喼zocO2mh<Ҍ(FJaɱB%A:2,ۙۥ8f;N3ߠmQ^OؗWxSI sqi7q{ k.WV' .||v$ܥ9+` z.U"eR-˴Xl;->W!+: =IX.2q(7mQʇв~[ҚiP7߾6 УY;G9թAx; 5Ծݚ|ɱrm@@r_;!<:-RiQOUþKz++)A=`x[6;~<rKūoZy`φNU-IngvU,hؐBhҥ$ەq}\@.uIJ 7UI x,͗F@垱Ƥis3-6E͂*vY`ᵮ8 ($.L]ju W|zk=%3wF"!6$eA_Ot$*d̵`ҿN^Z]ԽRVUsz~f2C* ^EE`}g5:w6t.Ƥ vn'W܊A wģL #xa|tr3iPL >QC4bSm_飉@/]7 + ;;%9\N}0Boc*a}HGo}pÿ9?Psj/h1_Byʊ6!|4{42=&b*` D!uݢ1] d+59#x) u+ oAP{q XfrL+b"ƩRˢ៭pΨ=M?]ȈYYix$ aīQkndF\yO4lǵ*1lk)UEuQcp"@p Լ8cl4+UT<~[|KHoP1y eclHa,nmb~a;(Q\?!M.6@φdjsȵ\1=ZK+`si! m6Zc}&,q׮?im2GPl{lZqk|(M;&2zNεjFZ{hĊ A-M ч5ɐ;1 BÊ y݋.bK~L]b9%3/'Q2KdY%y As7vxyAbv7){ *<j$sJ*_MR''i;ݦ#=d9(LH amj|߲o]C&-`# ;w _.9ys`n> WIs5SVVG-OdB`mF`Pv|m.et'슨G"UG.ls1r>Y {i^gɨ0B37YiN&.i3@Qrw+[yz [k-HL^amy;F3NB`%^U:\OQÅ^ԢpLؕީ[A[[߳bۆyv,*ލ|!wJSp,9>B>uYjAvy*buq|'44wmJ8)NE\%V/w483(|r=a>[mhB6ν1~ht\u]S6.!}r=! ֧̌9tm=5D@ er^?<`-|6 54Z*PV7@B&`}gЕٍWeF)tOy{q"ƭPR ZkՋZ_tM "YiY{+DTQaۑ /9 \el P@K+[\z>߳nueOwGǝYA k/Xcmø\u>Dk|9[ͪ/o]7SX_S-oBx8lJ08/qW Ouc;{Zi$c4I'3g:,N>U qg{خYeg?$_벝bO"fKT=jurxz&ʨ\yP8E|LMb4X%l!~n@ڿ!HNJ ~_R{e_S*#: d{F-ElEvt|[r .?0n es2zjLv{vNn&5xH&3~%-gj@<ßyiI»z-Bۄwzdw֮PMҩp2SnFBb Rf":]f$ʷ'F -/큦l9aQvZ&φ$g9 ' Ђk#%UJW\L|]'mCȖbb!uut~ݷxC[ ESjZ`z"5UvKt/6UN_n<mP-pl(KaӬErˁTf7@wˍ+)==)Y⫮l3} %vU!*#\Ib5v0 @P ]Vo*uw&jŹus\Q?e2+ānuy8:dA$5u oǬ"~)+bNhSuJ3˲N]<x$IqClYIec 'vxLJjKX],wO\~:by7q.r+n( P[jC%ػb/wTbו8m̳cP8\lCue#@Zk[ަk)P@ߌ~}l2AyƉ`0٠> zB_Jy0rN.KZcuIUh]+! da,OYvxal,WhR,˄Z|(j#PG Tَ7Wr,1{gt pr2@CsU vZ]bN7EG)vҸMMNv}W?$z+4VS)~ɊJMM%5tDVF~C\lu>7tzUG wVw(UK># ۍ)r| \_KL QsJ0{TbS0Hz4*BiHhם`xh IVGmrkUT G;w:|7"({saчВKI)9HWJ۟*Y Vw9oa]M}U/%'V^OM,tj݌hjD by0wH%jILTc2A@Bu$"\}*6lk:fYB@ ªI8 (0XKb2 "Kv1(VmQԤqK\ n"kh1~g\n"u7hֵێOG#] ЏcppWPzԲ (*};?Dg\:j:7 T#~rQ ,I@bbĂf_WNoie]$*:K[1i}w`ĩ)'qMO7Jl,=qnj2dDޏ * G, Ci_ j9{ks!1Xh:}[zK#j eS(ߟcns]KR,`-#^})N4D&81 7O숾y{٘;u e]+͓f r"yZLi5oEyt]p= ֤Jg=9TkkZV8H}D UTGAnVt>PM/Д9TDE===eCW3j>>p)'ۅsvf 5_tœ*aGDIXGEG\kx] $W+%PeQ$x:dxIS"ʡ=3_Vrtuҙ"g8}kZG„/tO[XDaWAɯ o9n$Zk`h5wX -fTkPΈ M!&wmJ 8/Z\ Ba%te^7)tISջrwՐ*<7 ~/6|9az&f`mF$cYd ETf\ D@Db8YBvpER5408)9#tr7AU`js,xq\0aļqO&4)~O6/#x1[ή@b~6WrcB@J9F\\|ʘz moZh!K?) c;87EEUpRMDkp5 };Ox[hHY!$|iG0$TGd("H{u%ʓ˅_,Uq _ҩS6^_ڈ=k1rZ=a1_@`Z:H߄^2B3+mR8KThy@A5%1b̜ѻ"EVEz{qVN'Մ u"$":cm$ ?섔 Rե Vð*m{%aiMהK:ErrpyxG[;EU ś?m$lI n"K Gsms>#AfJ/qV 1(4NSn",#3=Ic7↴qb魭e%bnn| $߸']v)Lt7ak!fc3Ԥ0u,{!/hepq,? kTN:b^<]lWqy~c9[]6'qֻ^Am6jM$տn~5j&D hP<`M;t}잻ٯ?)?kg7 DN0j2nʾ҂oيl-IA.6oH&,b"8Ҷ> s,džu U#WvޥdVגuJ q!H45egUBFs^/sح옇jODAP*u3q7A)-p<IGUJȏrY=+,L]u6^0@k)_`j>8rڀ Aח|QnTѣEQ NakWxONjB35Q3 ֝j,uUQ;̲g4e^#QYWldC+.:&[>>w !ǔ^򰹎ފTFX Kz;8 I F">bu OVB4P>ayG ŵ˺*!JUUM?|^]e$?3oKdTE p4% [?R4[i{b<x 8¤.2;'M;LLw5ݲ°˫RfR A6P r6b"K(^=>Aq0k_!$4xlIx' ܫԙ<>Bl;vzF81:bW%G֜,`jv][$(=IYg:Gal]!z(h맻 jL0j wQ;1e\Zsg(Z/۱ 36l-.['/r몜[*zM`I ?5H?bSR!yRAXLe48(MG2𤼕Mᑨj՟BN? <_LrZ/EUVHSWD*z2r0`fzq9tQf@#6lCo,j0Qc ghU?3vFOa.~J%E5wu8]riFLpB@ѓ82K+fEޱεI)Uqr KqM-?Z/ֺNkE%Tm!Xg0or-ֶ>()U"j5:(9Z$._v{VSԇFztYI` V޽x${y n7 o0Q=|0J&;sZ;Z,uFF}UH< :M=URDyҌ,<ٽ_C3#M ];uk ֍?:0*y#J%S; 0~ygiR;GWIC$[f;.D/ ELV+ǝ\u?~~`M =2ϳpxPрIYS԰X\9]ez_ ıx G驦 7|4>9xhR E f} E*S]3B %Df1go.9 )#B>#JfOQrrJB(勂á8F-k͓j)iJȿV.[_C3T:<_ XSU89G(. 8vH%[h*#:jmj;ꎃƟY*NA$PT.kFbPNC}Õ D z6Sp7[~&qǰdUTآ]-J^_\dN٨!GjCg ;nvId._ڋz|Ìw.&洞e+wb%|iIE-%kA;xdfL^p2Mτ.ŚT}^6=GQ'5s'[CttRcwD>P?Vm"7^G@Hg,sk7.q̔[1Iܞ)M7L!{R-Xű"cMl%ZY!O S :0l4Sn[kK޵\{Z;\يI: e|B{xw'46=\xj#;Hb5bZTKN㽕ߦpF-76r 9vF~Tg{8Mhݏ xi +ŊY:xS c-wV+IÏStx+&W.-iVH+$iA,KDSc}_U"_|E"@ĪV]#D($+_ dȽ`axEby*a%~ RSQ@/5P.ސd|,^UՔnyg5tu w1-iv+T) ت<-ᙁ/?QwQ`dqhvT9q@@܃7fc޴;Lb-^"c!虑/Jqtq% A5% P_Ԫtd(0{:a9L4Kg5O72.{ @t.{"0ET b^37};)xՉ9dhuW/1Vht>IQՋ (Y<^- ]2AP[JfTUs\1kJ0;{SKG=j9w63+.En 2$*pOll߆FmRRRdgoøYV3jn"13Q׏ Gա( L4f+!~M܎YjK䤥|HGv VEWykYm>x!GSZMjEll獈G7T9!8 Ƅ*WiT+^<UY'GƇ~:eoLrl+bVWq_6@ {]R>OCdC5^Я'|/42d^;#+Hw)y={IYPe,)sTvMeS#1]YĕJJze)·])qFe#vRD5CrGռ*W5Ԃ,D@Y+K&:!ZZM8aNQ˘Ŗ}ɒE8ᜇ,MC^Gq- 7MPIyvlpjS-"DAWcCy%HUq3l1ӭx' ː1RokIbs=pٖBW\tuv ^Y555BVd$qtL Ol ~pѽ%\'B4j- %<1C3blq{aWt8bƐ? 1 ,w 02eUװwbAȌT3O LZYl@wɅW|Ǵc-;v&+aX'w6KPm8letm`]l <mA.`{> Z>F` 8;4'k\)X_$Fq{s{tpX17WziѪ lrZUB$rظ(uM~,!ו3{4(p<7 bB C>ΤD_ĈXvqCIv%#0F$W+Fɽz_ff2b UA9mJstB4D3MHMQON^;f/*Zea(ڊ,Bls9o*bE?Ir(k*ԅxKvJς{ǃN~ǯ9+",Jb$Z1]H7Ѭ+r7r"tz1%r3>SrӺ.-Dh9w!V!{J}ג\#HVz2t.J'Y]$h+vM[W M3I:SMe<5صy,zI0'Z74a!JKA猚iq7}ܪsav̺꧴qtcIU71$gk!ȦĎO!~,V;"JS r8Oj5t27) V>_ 6ዏq]5kuGTXm[o^ne'6>vzQK5i0`6v$zcÛy _TʋB$Rm {2&S4e@Kn=6;sisWt"bWۈ¶׏x. )4*0_8ֹ0Ԫ%̮LJ=&*AC'}$-[9ˌ=t`)7fȰ*k G.X^cv >s\nQ YK .yg(Ax盈sXѼ"N@BN_ 4kxԼǬWUzY4F@X9XqPq&1/%5fE`#fE'^U%X&ĭv䘺pm> 'A'6&=tKog750nq^fglJ] D;D חnO 򣘂ڂ258NĀ6_F Z.ok>bBl, 6\W4MQhekZ_Y]yZ0YFN 2`DL{bzuiJ%%~6TWkQ[9e-tQ_ZTpԐ1*4.W7\,T<`#9Jy/K J9 (soxg@;(ڮ H P9qhEdzcCBUXd kd2ʔ4PQRb(֕&:ly `I@2v?l m7Gsy7[UX3Ory[HU]brl_51锧u@\(W$##4Z|(84;W2LWaisX:RV*XF$؈mropYv&5&-|"牜 $رalx|]1nsCm  !0\n~[\om@KZa=3HIYbf>WV߯0W#5!c @#^02mѪsax9CH&gk8tݭ? " Wzx,O@9mgd$i/A4X?[U?9pBԶ"ᠧt?KkE~PHsh4ػM&v"[#k_LA׏ "pLI54Ul2y(B$xJAk!dZW#XYT]u+>s u}9.jNOoOOlXL/H)Ж s<&\ 4O[Cҭx=cBAKr h# >:җ/T9- VIo.sH,Jl04TC!Gi~ p,ڧ' ׌Ҷ maFd|jtr낿{%6?ħ30 %q1(R igO)(&\{Dy.sCg8a؍]J/o1|A#[B5洖v{\Y|a삝ZJF=B0࢕=:ȽJ >\U;: H ~% ׂY$l0W Dh􊣺:1M:te带TQC{޲4fF<"v׌CȨLE\%{fJрRgcfh1;Zvzyvdk"J#z9l@3ѥ\m ѠE;CH VQ "wS͉CL-GzE+.eG)'p~̧]:؝nܵTHL7r[ Sx9'd9 Qsz'9r[&6?{HbO*!̾FVĖlV]_6̮YxYS45i^ G*[}zIky@}ry6-r˹~^L 43vݶ9hPu|'( 2dfnCn;Oibe D<)qe *hzx)ř&vooɨ'-L^ l  t.* vjL‘`,L XAw+(_5˔s¬aEW,oʳ)UA_Z<l#ߒGٱgEBrje>6}~Dޝ횡w 8te'VspKJia]m_l'Vx; oџwR)7F;׭_2 bC`iTT7욼׾Bgƣy`mw@3[gR)dELS`}vt\5@-ր+,zNβ^5IG@ ;˾9T4l} ΢O/AVf!6{ڣNLS\ӄ^ ~a arL&^\wg?5SӃF\ݎbA+=;بby:+}9lw -GR8#ŎאTdN봄`^JK9}vmYP@{p,uR>,F?g,BھiNH &.xxn$"T3L6!=A&aN[Y?йSqxVG .<=F$HT`cܳS2ˇjpYM?ڲEfkOxc∌,`åM["8ǤWL+وX %fd:16:l6sgjm΂=:5P9ؓJq ҢZ("|7:?E&hWn^P$L;Gvz%ַ/gR;dd\;/>Ryqn[S0pFP! ̀DnxZySIaa zDf!/E҄x@s=`xcdҎ &Tu~PhnZʡ`#AP=72E +]EA%l@]pEZY&?ڈCcL&v9]󯜇mknk rJx⛣W<]lF-RM ΌJ0B f o<=0Z -V^vr) 6wÍ5障dS0L*ځ\.-mVnÞB3)'Ujυ? #6i?i W٤C(R(2QzO{n,|#Gxn|1 j[:<> c6.BXK(i\d@y<ʊ BSavm8;5`0e6f(%5X9+likxl \͙JiL`o=]vM̊uO2paT̋_zV *L=}3_>41Z2+"t T_^8ZʓD8.;yP:ltekJ.κ?PNrsotlڐ,!=/;Wn//hηQRhI~:` >4Kfu}uk#AN$;,$B "k\Hœȶ(e.0kbzE.+GkufI闆3?*O1A6>="1&ޙ+eovF`iU=;4t@_cEs4.=*k@"HZ䁙C_*pK9H3/Gֿ(ܓ*WuAWv< db4Kκ NPئù@供XimLf(,GB2<ؐG3, qzw@zOqc!\ dCw/#:gP`69&LYA-,tܑܜߞ IХ@d#:QA[?uHNSNn@oBy.Np0tj.]|7j{VJY Ϊ%DQ<@!Onz沔B1H\VK EcH/,I_񹦸dAW[KaS"9MR2w,rTɸd,oz x ?6Xu{_aSK<Ίhc 8 !V3v~t&g>JN&GQVJȟ4o jwtDaU1Ly%=I:qw˃9]@2'blMt.af`Nn~$+8CRX20@p[!Tgi9!8x/Q  %hj͈^N&oIN_M6Z%a W? vV*ȡbGq?PB*VY{G+[6X7n$A%wuD g:jOsG .܀P~#W[]h] NVtϾ=h H̜vp2|{"}|rosX >0~5 ֛&K[jLk2̙[/gv/@[ anj{5ɚc+Mʳ<$V!BSgIZ j1|qbN ֮rh)*%cתE柒yDXjAğem l3׳Ai cƑhaӘ~^Mr#&y"&mBJJnmC ,_a\Y2(CE52%esI2v6L| C7vTnn%1JS,n#  فMi}[6S hr+>8BM)3+wHdk#!:@ݭF2d2揗΢m[)c%P`7frf}V1m˒})˄/=F]4S1b4װɁ/Ys!UB*(@j.,H*.LJHrlǟbsoUS!8g9J㚻{_$hmk4OUk2ѴӅn2&+bB2n{NIC'FƘ3(tG{ \}aӐ官IY(ջTe;Yh'q/wڹs-]rԢEڹjpj0E/CwLzsE48[ p=1g[6Tyʅzӏx%҆n74ܰP5C-6$J~1r3.$|T`;"#IElN+NmA}KM1> \М}+p0+P2I-yz^2]):1n*0 pEi%V QY8B].I%'5P4rٴPbs!_]&eyw&"*NrÌRԭEϨV6ys+ GhzI[r󳎟)G, zVq,ZMuD=&Y Dclub] (g "˽(Q]e0{^»u}Xn!%E{-&g°6]Yƞuwz@\)kl1G]dqL8`].-2$vyũq oach% vRӈX4$Z@4Z:«D਼)dg^Q7qn0A 2-ӉG@gRbmb_6c&B"U98gCx;Ϛ+Xi3:aקxi կC@,@DڲdVK(Mjc?*0dQ%|O𝷕HOo sGoXQ/1\i^,Q<<܂v"Kn Ip+~j9ET2jW%LǷUPzqVD /%?}q]rӦS7uhw{R*Zҁ=1F -[gRǶ&K{E5|*YNH5IYn-Y)ȏ7 Aw1o 5D}aO`8Ϲ‗ 3ĂɆsCl}if yQka7tm9wHdAw7v.&ΜD90c@0-*Xcmyxʌ::΃1Bdn|W4QvZ3F-,Ydq0ɴQpMfz"_H_Cyѷ>g@Zzq.г *X.ÇRF]@3t+0v:}뱳jxt$т]ug%b7h*16#OB`_ H~ҺwŠm#GxaٝnjR-w G][5|hic6 DJThj{ +uDE:(1PG MZ,w) jnKFC[I<|J<Лߔ:Ҫ}A˽I?WO7"ǒ0fYt8>(De2>-༑aapR8icoof%S?$ꙺ5,EJ5S}vV&Lu/]mt1z<`[ jT{nΏuj5Pʦ 9Q |.xv:99uBE̶X}pk#A\!HwZ 4u~-FFՓT:%3PB *lY j_9VFs<.B}54W(JEWTx5cynZJ=+`-R[V vdzUl_hVnK&c ~Bç~9˹vb_f~D$ɫ3d~)>>V,=;1f k+w\=C\J AK8|I> z\O(t' m}Vb,2:lIOϪT~g5Q.GCQQEV6T&Y*ޞ(j,ǁ/"z| }m0(QMbPcDb¤!ˤXLc s>IηDki֍,u\!2rǶTޖpxfӻ`l-.[*k}!S-]1}6+Ić9l\3Wk\o9d@,vFk˂a/sr"VG.]BsXقo.#) gNj#5B6k|Į>l|1)R(hN> zYe]@TF1Q ݓLL'\Tr4%LQ屖3)ǚ~=r|hI 38<cpa\~|LڰykT8$VƷ!č -ףn3lO0'hdziNAG&{a?v< MFǬ쾺&?+h3sd#O 'Wp/׋JiZE%$-9}bf' 1z]`i7J lqu!ݤ J^mܽE(7IYU 57jcqHM7ۢDYC;'d pRV5L] S癵Ӫ"awcIƊ[cty[FThbc@WF^Yk9!̃k򸏷;1i^IUPPaEd]6{j\ fP#'0崽11I8KI jFecsjIk,Z3zN6xMgA v˫Q,Q, >ĉ~DFU,H<%Ƹ;O)@a3>Y݀h ԪЇWLhun(]qglK@T=Vp ћm yX{gTR/ߑ9ѳ{QVѢeKm! ଑n XmϞi +;S tyI=^7prcכ}&O9 voRpTnkfLWT:RQϸQmh`L0l"s!:}oi^K`ϷF6b< A|2{L"nQ雬Vا.vX4m{_ANQZN/L} ݛ2_S$xLqsr-@o?.^&0\c]75tUaw eɏh+825> ;0C9^On5)fޓ2v1 tO #ĵqe卞@@""k tٌׄ;򤑟!ΐ> }ٚ-aN?N;9)zn=g@!l*' ] DyNjo  BDJ*IѲd~~㜨8~{ 5 R~"i"ѳ'30Q,> TSV{C*AePK1r8ϔ{"FQDlU;Zˢ~НNsqP>:GO_cF'^ޯBU$ybet Vq0s=\@iR$ e~{qz,zcdz"unadmm %CU!hb /ۏOO2ip=%[0;R**7>l'{˧ cTz:ߺvV'|;e\O-GS!y[Jl!}wFOp5Շ~W Q#| ^v!{ \Ϗ ̉cUJl+pUHóv7潮4}3wkK3c|Baz+Ja뭌z޷6@y@j8>.Vzep\kSy0;"(}U[*H;֣N3Ы17ԑng\ǹD\!}41oxypt~(ʅ RvKhC|fw%&?"j 2Vy [6Wu[;ʂ(v,F U="Uݰkp$lB:J1( @U1.8Th8uBAԸHte 71Րh}~kFЫ@cL!CKq TKgYNpAtP/ݦ qin0/S0(.U s?l$P&ìDF`ث~}dcuJ%iAmQt{4BWbЃr^KyR0߰MM1GRu^KaHz\} =dVRQ }ZT\f|0Sq-O5nIF;Ǚ;*WjxW@ 9oLْ+9gsͭpKÛR]M0d̢E6ucO(N~|\܌֕C9;0Q#֢ Ƚ7FFy~C*4Uj!#3ѣY{>Q(w6)}aۊ ˞gHS_4Z||{[ͥApq F#5%11k"`Y]j5~]YPGf.ᾤ3#NݖzĽZvVBzѺ@KKar3R >K*>3-obf31h (j>2Wa6Q[~>l PPVrm&yW#VYnch!@o RA+(69=~ JYݴR@&))op*Ѓj(M` Ќ:|b U}̶ ¼"EU6$!nqP]4%eNXI4,5ZP.냇@HC} |UC0R)},\G 9)1Ƹ "+$}(UbxÁ=Vm$2YڸLw{J1(ϼh?''\` gBذNzƀ܏AD ,AH^7~!(mlm0pɈUpxL;E['#F랧K?@bUbP XxY$0-*J w* LnG@a<̓~z*ofi'0Ȍ]Cg?r2 Hyjm~ g*11)`@ReR,|{_n}Dn:|<qV3qGζqjA֣: D P=OZɔ ƍVc+~cV}挛Wߺ t("\7TBDJ5oTI|'[Sηq>d[u}9:²rp]@ӣM `8|a3 s>G2aez? })_GڏF$% E+$m,ʠ\0`ZU{PtHęE!v/kjךvF{˫6`8)|.wnpQ% 5·|"X+-cӃ(kfhڥf)r i+Y{Wܲl1.]Ț'~׸l]#qTP0]BaNS E4;&> 9x${HgA.ZB&[ :jC\8S&-(<'D?mL`e8yX4\%<v@Rfc*L82TNxa3rlV|N0P%^.|ZYD4jgraħn/ Z:H8^YN=ϙm[pa %N sA_Z a`7L-x 4 2Sk3NV+X^3X% Kt.8"I\:Y_s(@}@d(gzo-('6*3s%-veIY{" FEeUil$jn3!IR$ls[.??j @J H=a!V񌾁#mg˩t.[4,c;N(em8PRB"CE+aE^,C޿YԉJ S̆MX2Mh}!&Auq(ѝq tw&HN'>ozF[e9f_qtc -,7lrΞH&eȝ#.YB'Y]TIiDyd^Nz4 \V'% @ww*u]\֚&{*_xP?vbo> s1,Ei dT`x`y7+p ]) MYCqEoFtj 2|E[IlªB/V]b9VlBvzBm(1KI¦BDR0IM2\$*4yKl ?<:SE{x%d̏"}s*ʯgTmb-+!iMf(@ vHzѽ3%8ip&<{\SOa`Ma_oW~SE4T)He% >UHU;vt,sٿʱ+ΓhDj1Sq%+a]j`ZHK߇ ڧ|qLW;,нO"F$+Uc M>2mĸZًCL]ᏁУCE,rZm15pARZi-nki^242c*uxԺ21շ|3 G|x<"}DGiφKK҈ 7 ^߆L8,_<++\ &jO-1 Ewvh` C e& WM&x>D2!֗Vwhi*ŤOqzbQ+g:DžPFs'xQxGǪcAьW}T'hS^| av @-(MΏI4X.@! A~cRrȲ?'d_IƅS?JR &RBcSwvS|ߤڌ|NcHvjԠ~voX-`ˢM3Ÿ=4{8g^?1x%KNXhPa\@8N*~^Cw9iI!Uҭm?`pU*>{)}eLJ)`T@s>^wճ\ QMClxXHg'F'JCfM̪иJhџIm^kzaЅ8P5-Ds{i<0C?wɧz 6a#_sH)0tV)Mgy:k <3֙~NP\6zoRK \7Iӟ߯>voz %/̧xa$S|C6qj֘VⱰOxrb^ =@Zhyv D)P^!f\g&Rשj^#Zqu{/d|:/'g 2-#9lPo4CH !^IH臶jg!&K<`$̅[ <$/ eVtY1iP'GoFD!ttG_Մ_gVW ᶝe2C40]q ,NYV6hVPY>ZyA22PhvAF@-fn+l4VGчi4hגWb !) mSy'Jg .qgsNwp3.-[y qQF}B +iV`oxErxOiB!Y@E^م7E b|&>?v*$HդlDE,.ngD 8'&x 7Ņu6w$~N'=$ej]~>0ϴ uӶiXAs-Ⱎ2]}֜GL)y< =Rm<&]q5,x,sRmY`b``= ˾: #T: )>Eahى^3灵h7{'?ay rTƖ([ _1%sdn6;& xZ@۫SdA*$FVTyKEѿD~?_u $.OM wNԼZxۊ7osUkէb(V},l$N1s0B^?lwyZgـ7U(DZ|\ NV H[3qVUEwTGՀpa8'eအ\QqSȅ8xNGiF F?ӢYv)YƩw#8/&Ce硘qwI# mBKP!\gK('k((Yj So+au;ECK(HYnǞa!l;Hd%t4, ЅTK:YZhx4^Fp#Zj´[Cp/~ᖤVm-(b)/R-̭mk(wK -bx`] 8cSNjiG/ nF+h*ba<7SK'̯j@i l&ԿY~0e r!3Ҏ 7^Iԝ 7_mfӐwĭS^Ҹ^4IZ:cvF^S7Z0$@0/ VfWgk[ݳ.2uAr.F/s.F:l)1WE8\T]fLm6m5j>~ق0D>YoE{ 5ln /.Ku\AE H6b_@' DHEvA ZU;~=]R(tqmoHSNTExy;r]32BLwȠtF7{ cl FoC|TD:NW|pq/eT:C*ܯOUVD[HW{xҭ]fpWp8*chlX-QXaJ$ԭK׆,HdK)@˲+wnNT* eK%!X Fs2LS:pq3XgdCw.f5#e_ı_řNdqNwG)1QX>\O3Atk"ĨNpvE˟b^)MYs[tGeF)w6xgܩ3ߧT?s~{MJ \e&V~aIV?#4t:m]=[A%7-# '7&ËeOC4#vRAr {^ӑP]~ ֞BgÇA,,ʚ%ȸE.dx&jb-$_ҋQČ1E.ao [3hD.M$<OXD-V[<3rDyBnk |6i!}0geN8͗1KJe!x8TM{L2?*o, C- 3>uo:F!t8Sѯ⃴aJ됉YQ-v: R])Z/f. VtGB\%3DWX%!K"p뫬DB/VhiZ0g,#E:`ᑮm'c Ֆ"UG8T!aV9VgQMoys _xz%,RgLn(3G{5PI{}ZY>]ěťڕ|V>=w7fQ{]R|@6\%g0IF3? +taR%jY ʗQB R't 6tvȧSJ5`fTajQ: Xʱĺ" Mc2ʚ;`"=y)Ve|YgwNt2FL@@R)'ǡtי˄%vi<*lfWs17x È }lhCoGhFz->ī!U_[ #0s׸Ս\?+OZ%ɣ8 NCp ؽ4t N8@ ߻vyӣBrczǘ[#N sL^d*fccfMdsRG#{Q7Eiq}g}(MZ>UB~uE/ 6鄸'Xey\ mM$G,v*E..r*\U xQ|x-&DGBh;/ձS*z[  hi3_=!'*VYbv78GIp>Z{ALhHNdgϊS%>jF3y aw h_%DC@b !mOSX} rL@L.F2y4(L[#oV!ȼ?DD8T29$hг,ǯ:(8Neȧp[-fy{n|{;y:@M a+d ckOrQf&cHŴY!UIɀtJrI>%μɟ8$3 OPG`Kn }wt*taFtsp/s챠!;z˂BI_u6h]&عerءP.[ qk&#nבӿ~V\Կx5~L#8KF /J "&`KJ o[8朶D&m.$'eBt] W[!P5n+&/%~ dybR"O wU廬)^iAX&p"P%q]QLV&><-:qi%IpgǞL2Oz4`ckk<cPY|_yEyi$+lTFJ 1ǠC#_e Ф&j(!40͠0 mVp_w^m9_:m7.'\!cD(e=/81=>Pѧ0)M$}C? :>@:  VC*JJhOdFCXt?2td:HuTqUһE*n]/SEcm#m߉m S&ga2Q`t2.ǯ)=#8K$Ճy<6 n{-КC23[pLFփ\^o. ՙ~[UDEKOZjS["vb}T †~~vS؜=?4*yynt"f!GkQdŝue\錰n @]*:P;ð'gᥔ2tS`=8^>06٬n*XD/' ^ĔZ1W9 T~X* bȩ-8jzZBC6FHXy=uEQB#gw{J7*c H|BƤ糗-hΧ}Pӥ(^=Ԓ@lU%)v4$1ViK!s%ʽNZ %']? MAT )­ ٧Ȣ3qj_Lh[c47 L8sC]SMGT7ï +IZtjGm sAD/״4_InُfK;eJ*)KMtnƣ+O}_c flM(2%̠L a?ߏ>j WKh]F%n 2a7YM~wZ,1^%13섨|cFyM\IiOrQ;Ȝǝ7H,ピކjNgkj ׎o{bi J@HE.lTk.7FN sňRv!lH 355AX Yws >s*lkarI^xo{k"dS{ Bbʷ2 `LQ`y(^IcʚMLh= c}@n1*z4YPklPtW<̳xe|R80pW8ũO4 f6.p}M3(@ObPkEЎnk} FZbu!&&&tga~quԥGƹ5p rPጣA`oZD!|7j2P#m"iֱ6#tЅQuvgVbqr> &Y!HnOieg7@J˩6NED+w" ȣUƞuxXWq>%۫9W 3D/Hͪ۶Ɍ ɲ~ cCM$ߢj8.WؗvCb{j}wK =EwZ0A2~yݙ\`- \ vN:!뾘%7doN|x'R!/"ʒ6f xE-:"eǴZhA3+zv*IQh~Ϊ&;[zbO3a&lVF>HZi*_ZkQ fm,񂪂 e>,i7lJdL4ӕA٪.Źi-K!n ,>TSWR6*^Uڍ/̞RMUW_u|6cDtz.8bfn(h nPh+ܞKb,Ȳ _ANў~❂ӴI~S?b$T\٥UpQ^ x#M F:e fR+{+,$ lG뒸8LݡTDөK&E BeIpi0R@xM~vpn/ u k7N" M N|ư>൑Έ3)Ȼ4o[LeQ-.l/DcPθ?{uݯ5FaM;vvCeG]L㵟b\{*74Z8Gt(9~q_L3*!6t#ks=k+-zӲr^\U8_U^ӡϽ|SFv~A'+:om|[Ӽފj> KkA"I؟Hߛ}uvw?oC)ԥ<>oLv !q??.o/\J#Kv k`d7ةz7 $IX/ڐަ91Qw~Ϫ<۪vtDt̓+3@PYȮlozs9yso }].ET9Tt)`U#SjУNn<|^C_fLa7Zmk⩴n]1uW4g'U{yrޠ-f&[?͏g( .,/a< -:$x,ek߃f3 ?ߓATfmzețl6`G­d|ٖ-U-Cԅnvx~%qA,ۇ ͢ v ZY r|=xFI@x&_o ɨnΒ~p@dn2gQ}ppB{M"پqfc֊! gٿnhC"#royV֦YjS50>Cvpߘ7;Xd`Runl(p_\2G8 kD(ҙ9'KC8UmA\Y䖫fQXX3a3J"A4ġs!L~_zn>\&my׿T-" zր'<;U/;w7˚,\x׃lIrɆz H((<$ˣz`ҟ_؇¶xSO3;}d,sD:.;W6wٴ%(sMMl0-H/Ȁo" ?t(%iɘE,Y xqВ.^/?qS:?|{ ޕ|P]F̷`.yٛ:ń%3mq=0f΢Txen0Js 'pn;+XqB_םαWa|(uy~Ү#l-bVPL"~",*}J*SyIyAz',CLnGg0u͸-1;$zX]`FkSCqk&={YiM~#@ 8oprM dyN/Se},Z`:rjjKDOM 4)=w#^v(̵#%Lq;P4K,q)*)Y&$6ܞ{`g3B rge@ 'b VĚp x*DT9ʠt5]$hi99f8X)8-`a_ѻ_b+,vHMX@tHpxk.44pt/t-1E0QΈa`!4Cp -'¸7^nMQk  q2IN D}C!1Kj2$׀ECBˆZB'J64"/a'EB=@5dO8k) &#,(J GftTѢ8{;HY~>Eftp,-'LaGObU䏖^NFX\ύ$V~L@.[[|7bdbkU_ح"M>iRKh~TzYca'k <'Ažwma+uw\eT8dx~%*:G0  )1l̝Ơ}i^98S/ hGj dH{4 "wdžJYGd_V+@t5 ,@1bM*3?, K/=i=o*Pw[YZ!nmkaX0Kezw9 =)3|eNM2n2rƊt6Kj fK7A[ iAmm-*\c9& %JE{ƈ}m"\M?:%YȂ)A܊o+މ:瑄ߙ˗J@ߤp  y(:"5 |{v*˘ `9!t{$qb| ,K&wl֔csHDoRM=#֭SVj)2B@e&#g3w_?2@XK'[PAi|GY8ԓۼ٭ƽY 4ӎ!\<$gFUJ [ЃuI8+PS#+ݤ-"i~Gp_suZkǐ˴u eRxW YATrzC\?@MatRKe{luQʯ.>v!26[47>-_ ?TE0۬^aJa{~AԉU@՛pEOa0)=یIc(c:nQG|U,cb; ]`jƀTqHQo Hl܈]wnDЁ=Hѝ )Cfe5N"!'μm yЙqLSh=/+1; aܜN/qmjhحyI83l[09+gW\? <̜(`$Sh}ˆwYI٦1,zbU* tQ䀚 彏'hIB0&z䚿bծ@n\\J |36XC@8(0Ij09^#x Ryu_$խ=KBK,"ue*тC!,wW~0-|7B~SOo~fjd(] bEWjh+4 8%>&qq.<>,煻-6{eBܦV-yT \3] `u^T WweUS`Op= R2\!5'*""Q~5)Ғ419֫vUߊ;(|# j>K$o;%1*\G}O\EUՔN& p!74H5OkR0FG̎(Aճncj"yYYG>qNn^dTFA9BB.+=i@B]vǞ:"ЧpW{FڿSNǪbjG! Հ-t|o9_vo+kgxbMccQq*y5U˳{8Bw; Q Owu(:.US斔!;w@ g2L?b3dWgN..)•V *.9,M@X^6k̇eSD<#Yz]4aF۾n:RAkd<{:xacBqu=DrqV襲+?cUaeoJG^:|(S;Qb1wn椶9BͥWYLS2 <`gZr_)ruV߇.4[ɕ+B{;q2 r"pZxfd2uRpqC[{˃{y6${+ƸoayxmM-[Y]:tnDxq !b\V5n0YhqOꋇ64cfL_ۮ5ݱn T&ygh'Tx=3+[HheU \A ܙ:w :mL7QW|n{%J$0i-*<1]a_W|˿hjFSL( g(n!8r|G͊.3$/-4#ŵ2%7ԋ_!no*"ox%Q bҸ(cct+\lrL2J q8Uߒd14c2l|ɠVgND%J`i&PBs7 MbDB?8jUv-\]H6{ xق/FbTxT4-d\CF(&Uhx?m)Xf,cLq# d LCR(m+ÖrM{%c`2薟۸'Tͽ)v/<99tin9&{>9J3C" btCR3r ^> ]`si,J$&Ilursqs!œmH?Gy΃.LIzf[LUE"Wf. C^7U̟P(HX.iȍQ9{A/aYdNu!lQGRU(bIpyЋ{aDq,wqh`h=C! ""Q k>[!PTtwpҺ0TՀՃ*HK) ]ҮߺѨ2g/EʦAn]fk=;1؟SK7N;!Imc8³7˲E"_%(N?j0J>-z>IiAIJPÌTvD PMEʮYa2W U[Xזu,Ϭj*2rhN2`|Jf8Ez1ja>zu>A8v Z*Zf{+5N٪sV׃t;;@D/iyv8,&Xr9/^kwVb5AP O.$J z]-D6R*:IP| Jay.ݐNKBͨDó:W{xN{hCu]ųA揠Q vhO6hzS}axPa^E 3a?$SDL1SuD֎N<f-td %IHL{(/Kp6)j_ӿBGWؘ39J,vņ w hkCvf>xS6l?8HKⴙGQdkT .{xJP"bك;4,ǩEeLO|r%{aYuχr)/LPw4}P.7D0r dbG6! qksİP_ Q|^M K<3B&lXDfja0N GZ[^..iefPaQ瓕sl RT0KQ1k%e0S# cMoэjў|IEmhĭe\ltiՖ|\0nBiNJK=A舨:ޖ8 ߖH4Zj4SnBRsG9|*o,N0U&WR?nD)PIe;:9oaP%GI!댨ENΒ rjCT}?ѺSVVlr..ϧJ?8g1_o$vl$-b^/gMgj?CM,K1鴃ȍM:KEOVZ'8]EJ$RCdc|Ǣ4xGk:iXo,ςWԷ4ȅnM]l5xf|Ú :T ixWt>?#+2:`;V_ .7O'N^<:C9;%5<;}!Z[e?-ܚYc@@Ȍ/c5'O9jímPdcWt,T(qSP&W%с&Ins~TU+Rٿq0*5"%60sUd{]W,=a,<Q%pwcQno12OY͢oiKIrIs&ͭO|qRʹTB"m8Ύyc2 ц`x*? Ssӈtg@I?9L)\/K2_iTWA90G.r/ c]^C7䉹+2I&B>u@C7żYF`0Ynp8_l넋\Ffe!RQҰaڅ4χ`H|A檡rzL"/=0y|N)sALlGW^Ǎlg3F`W4-ng趦RqT,Z3-mMg[-q%V`YE&m}+pU^Ӿ% ǸfYٲW}cxso# #Hdh4ВOCn[!=oOCd,U8 aW}wA[a";h`K`jul>9prЧ;v+bQ—rsPB3;gɻ&?BD&H|ZB+E!),3!g%yn7DMH蜃e7S9.;CHDeY+nr04K$ ; wB~CgRPxǂ}Yc K] 3[ڗx0ޘz N%#h^s] i`)HZ,X>JK'=b!eJ<8D 5̊BC\6'̑ɍs\(}ܝ4˵M2c,(P?&} IqAū3TOɆAЂ]pfa D4Rh )5lcf ~4T$|Zԥry!*j~&{g\3;pUP ^x$EȸK?\v eޗCGKI(It[e  ze h2b6^%' GY!IOwe!:/؊jQj~Ս'=T!)<Ǽ^%FrҙbcV|1.,,Z@(++E/BW :mBnI3^U [_77U 8A%NV6/x0%8k>ODtN9|a%eH:gb,Ko"Ԟ2u -&Bt|NQWc|gPqG ); fY;K SYNJ,JǦW" `7s3p9^|a7wp7)!>=P2&(4һ+8p;oo wQw:87e̥p?ͫ~WYkdponk$eL(l0A+,&)ڴcb՞*qd%Ǚ;bM֡?_-{ל` "oiY-1{A-&SڸUj{"N.xJe/f[6Ltt6ޫE58J[斂Ur뻄'9+n0 u| Q;z]xn0ݭ"rUv](c0RXlIK7%.D]?pXav˓ < FÎ6DO./x}ꞡ0'v!8 (\6F# ĥb: ||rBUXGhƊgS5m"35"TK]?㷞 vܕEC"-b 7ܛi~՚&l$X +[^V+#v5%P2;!]_4&4lRKhvYo^=7i"K 7pVˌCb7eĢjWn K?ʳ*^;WoV#ǔ6Y+oCa Ν1to};GG=s++܁3u#J:1=_\Iɕ'*Kl{mCN?3ԍ]~NgiwMZ wţ` 2,;sBmUV! ]W+imEӘ piR6}:kޒC,w_^Bƛ NU\oǵϚL%0CY ˌKHKRh;?JhzW1DjǨL& s.ܨ2> Yͣ#! z*_{f7DZ`˦Nّlx͹atwIG9lp` . upǒVn?{lC)A}ʢQdpN*_:,rT~z=0/;O'h}#Ghݙ kilYU/`ƃHoukz=8 C7ev9bfRYcxE[5M7G1|nA8 |dCNDrlAJN2lM4 G|Ӂ<+JA$>Ū´%k&R5O` <NޟJ-_U'\uhҽ7ؤ ω=k*11JH!QB윟Llᓰ.oBՌ30}X7~=S>ޚY܆i՟h~MK>Uw4jZ#7.`fƲEu "OwTff{lHCL=%tꉜ2q ܊5 = lkVV\oP`ƀM:mr!gponM j83:t ۨStO/Ӳupn~.g7-yhoAk%@]B棑F`o [; /C /6zm]S$Tj© qR6 /* ϵHgg\mlDH"Pwko+t0s XUkiB Z*ᝫ>DS@ +/Qc%et~1ر;\^qMZH Kt~5.tm8nqqSh '7M>#֥6@#"a*6`~N$jVxorEIΘ;amҽT~iu͋E*Vhsc dAVZӼVKKm|F0a{L=qYP׏&Ow'I]Õ$*,k= t1ہQd{ 6{%%e8@v!j{S2Z>2ˆ.dq>k e`?Z6|5 _zxIZl}>iϲ:QS]Qf0 @[{Eoq>BiP1";#1^S }z֌@<{1/s OBP_yC!ۨ5Z\Jp>彌Q;0G^*|O2ub0*Os =c96a awSdbr*;bb3BO6Owݬu& 'J4dzr{L.{gBv! 6lT!Lj#X]Ş1 "y.L<Х&C-=K]#,wO}rL@ uEܣC' j>'p}%;ͤI="2 zhi>T!ʡ#=p٧,?- -g OASk'=gJanwV2hYTckߝ݆/WU9EӔ.RØjG =cH%2E"-T\(]uŐU l WH'*EDzk؛ B# _d@P-{?)]*/OWBc3 a6?W5eYBӝlU+)g?v:YqJXXnǺAHnXA*P/63B_>޿o^B j/3^냬lqIp~ˢ؎oXٯg!DE*;BmfVjKS!›΍w'TucY~fNq<kS*İگ*.%o02c5 |B?e:K=ڝ2޶(Wr[@ֳxE$OE/F8@SL(g.#@R\ap`jf*yu( OVG/GGţ4 G90| E!PÈ /~Bű]| y/`:#埚WzDZQѾ9+ Ҏԧ4;6UY\ַyi4B;%SՐԄMG:MG +wN\U[z[̖jV1,xX:Ro4y1߸">,0zSlZN( ֢wE$ȠYpfkY-!92]a!7>z7CAX?Ԭ 0"/'6y퀔ߎa#}brN8+ʺ㙃ʀ'tДFm/,n-ZMz)Gm xCfYw'ORi?9uz\;|YItֆoTm@mUS _a3#8#zRez4#yP)?&y<z / i؏h{kAwE>;]ҩ5&ѧ"L.,o VJ8Hq (x_ vGc3hZl߿|h&m[ܤ$T  MS}A~Dճ=ֲt44؀ zjw0"&AEv8 WݭQc/C~62 (tg&˳Po Dln taE8&N%o@-0{rC1ɬ JӢW|_sB-3AH:@7#{N7 ΗUFka `4@o+{iTV'b>(&VywQ8'F0sa9k>g&/hϞdF"׶lZhuaEe0oSszAacez<U:'( #XjQF@\8T h-M@q3IENW%^lJS#5֬ ?S~HدTB'MI-I8͓57Rq[Ban -0n|iEnXw,Pi\ 0ze 3>V L0D:ci@8| J'$<l) 4F$¿dd⅌.Kys ~ѯc[bZ: +ǗE(qv=s+i"!.qjCxŚuh̀kӢp[P3]tƲ63cz }t֞^pKo\Jot(5v(cx­{Rߣ L|?< '{,55􅑌[qO,ݯ>hy IԨ]=|4L88b#GN<(bhT236TFûPv8DֆἹQv(X(Ka~[WkStBlwxi$ .[BK:ʖɜji`bM ;ֻ)`Z\QILtɉyTsi|Bt HD<]_NNy& n Ad}%.uߧ²ZPqry[HǺO 'z9Y_ҾZ{ށKmMܽu Ryޛ3׼n~&~@f\89-Vg}u0Qs4~3檷΂{׼`9KY)CV\A<|rΞrw7z~?~ap,YG4XPv&y;kTd_?6=~D_|]W9vavT$Kq%9 "*$ mh5?+42L .wf!B2 K7i<Mq@d9%}KHA .9-l6*8*#6,5CsB58ZomKR2DÊ05Q&HmUI ]:#aJr}2Φsʘ/HY\xeh+ =c2W ʥNꇵ_N{ge˰StLe=vqZ p):-qJxNWiώ. j %mZR2CzDU6_ϑ֢ "Fﬔdy"x/iL101i;_b" z"Jbk".whF+z%!Y |M;&m2Fzo'p}Rm}Ny$/#yKy3;/]hD#JٻJyi!;0QSBS9wd'?pe,sJŠBՍϔh«ħ/-cB7H.{Ҙܐ;Àw'D#S;tA\:s8%2vus1x[>< K;Ffv5քԂӳ /Ⱥfxfl R\.^41e3~%Ȯ)izC!̊9(~|M0+A=%Ȣ).㝗:xRI; jW9xho-r'%\gE٦fXؓ'%<µbr$.9##ysK)E+szY3)J?DXZW-HvI(4"2MJ;U_5F=,2C1@$5xOhz:}^4ix`$츫/ ~5;L#Û<iv\d"I'rEس15K$ר_d5VW4WL:*o;6LDGFh]/>Z] G x/c9/ Ο 6ء~Pww|Y;! ثZVɱt]c3hTx/ͅ :؏4+-BdgY9?C}O*f!-`(aXB(iV_W,~" wh{EgE9 F:AR3,dRz93{ӎ=^ye`WU|nufTE5Bdebu P\,!'4Y|db$b|)Q }zZWStOHzRN]34?\}^Xedf@2>4Β^͞*D@(tUE|͵zrԗq\S[ =_(C`ûy̯LTW{Tv*}eMP#}*; Dۈ1Ǵ9iF=6Zon47PAf ʔ_\lˮe܈$-|օqE滖  7"j}27B?aZ)<'6 !LEۃ/gp3ul L=jV[+Niуs)6iTt۵%m14+_lj2K/y+$5 aZƮ%@з :V_Oώj*Цo KQt~U*3rs4p n0z@? ,JV|T\;é E H8;C~*):r.qWc-5-nj3[;73Fm-H>ю%|*K=?tr I[+^]=u?8R=̝,I>L~R ] )ʆW ؾ"60^H/M|j#k@e/]`4!SZ]Tm3Pl_ UyUaly"Y\*ΰكK5⟼IC 5Õ~̲}8}vuY_^X#Xr!R<6 zgYA 9׋fE Da/(ӹ. n]8_EyO )%GfυWbZio{͋s0Kov~U[(Gmؽ[jޭ=e"SZ/a+qiN}|]9pxak2ȂzIdLZN6g#j. prlv`rfB*gnĐ6_uV (U7g_czi^BTYgL/'U*?;h DlVvB:_ L#̹d:{ܭN|v4x/Ƭ/{@?<656̗_s1of3wۋ_5s x&Me6X^@[U>)gWH//**wgn󄧰qzQ'rIF&1DN$$0xtzݽ$x,($&dEyUW?# nQh&I@!N?4^w(rOd늟p;x-VK1#rK<,DLrS_na+8 .D[Ǹo *֩K]o8h>Ԅ#gZ f,< b/»'R50[Joew2nĊ220;x).r.5ػD~C4XÝ!7| 2yl8t($va.dXYei`N&>Ll3'H;l4Tsu%aIMO7 DJrZ]CTfP::hyOgAպ@]!m~,P?'t- OID\[V;:&^t!Hy4m5D{58V84򹡯yH ,/0gfힸ$Sù1]屮^LAlNn8tq,a2}R5$]0:.7?ýL@n4'ťy34=Ľ3pY'P!O^EkIx.=@C<^MD().A '9!lP2%LHМDC W,~`~Rwb滥(,gtZ|@#S3bwxXJ>WQ43֬]jh#cTv铃D!Ccit)rѭX*^1F''d،hz8fʾr7pmF8/^sND景Ճ7E/%ȷ@e>i^痌~%BS0w;5zRVXU*$`Rr'/rBĽT*۫`L0vmgkfU``R'QT3Ka6wo(\ŧ hr3YOj ,&u"^sPqm&mog"=05]yV|h<4,9Yip;݁{tLiTZ^7Ww2b1qwWrLQmイA-EZ:&01Ehs}[ar_ϩgu㘇tgVj{w{#DFD3\ʑuz=ӂhu%U)9mz:+\ [tKY9ք`m&8Wf93(gM,%:liw(AYןHÉ+Iߎ/Ib\wċ݈C&[FN|7%n9k[H-֡ڨ;+2IIwlH 735B;㍏$"G$^3| t uh2rH CACsqW,KlS^:DnP0r&ƹ]q!_:{. .` p8+ + ;hH< BmonV*~W1R[hIcK =5<9|DUyi*jG%rR'( D]Mn awY;4_.פwj$|'UVYn4{X%wh1uOIْ#Tmi, 5jLkUhG }'oNj^p"TzQ\͑/J!-Z= &]Op~fOC8H9^ojzb)(n7'^5 -b.0ոP#;̃$섫(@/0>1)'Zk_4WJW<1{t`9}yaNК(ATC:9KJ؅F y!Zk^*[q`{3 {C]*ǒQm_#~PM%<1bFlPZꠓ CpVeth.d-ܐyw8ܙ%w.@X2W.m'0kJ&w/LmIFC-Aa$+ǯʓm+i%8IP . !ml0 5K }+~,+w}ާ;6i!t @'C#MpK!c0ܐ+g Gu]`"Kx+ju29hΔHqIޏ:|<#qL?Z>Ä.OVȪѬz}ȤpU}=R=^W 阄eNrRF-́!ncɖ1oq&]{0FJ>f,Q Fn䉝RġSnV_ğ9V2qUevb,Tqr:w3AH0{ F=8<3e|51TL>mUdhsчl65JhC~g=3&O[bQ᪕4'[ 5%*Md\ MMbKVЪ"1P3>jRAgi"˓P>pU`& ?_XA')ҊVkMMa2V3"`k\'9elac~m! oE 3l]0|G1D֫ul) x&hQ%sOȤq-V-8zQ};PQ?Tj|ԄL'1} gLț{ߑfKD<2ߴ HMI7R禁 j1#[Wd+ xׄx@ݲ;]>t hy?7.#ay z'Xo$^|vY,]1< %N.]7aeXC'j!>\?4K5^^^s&KpbE= }1M6-{ku:^o4P E{t-ɧpa_Vҍr hF)zEHdh?ד{f؏~!~\L 0vSަ}ި*wm ^ Ak ^ي84RAEuuD&'t;]:D}eDVȶ$,0kz"m*0fþJ`3krZj'pݑݕ0 93T[9Y&^B파F.&|}yֵyh:bתF],4meuGtj"UJr4:O(7e2ui-5Mߟv1fzKRWtv0ܧ#bNR>A`e娯 #0N# B_ H4@[&˹^Ât L"5 DЬbg}ӄH? Kou_*"G+B2d&$(:F\:{Gy0~eթF}ЙBoqW\P=ͨ .EL*]9|[ j,OC?h n<]Yw9$:b6IW IZggXҢ4kD ;P 6W6o ^;%^NrVglIEuWbD ;5ҝ +,qoGOw{\VҞ0FEomi,ALj _SHI0 D]-h;$&9y4(5MC["OaZ׼]qd Ȏ.0r0q#NEgx8pKFO#k3HhgT2N5͹63BjQA%Ř9_P)0D;c~xMm.Aģl+/kuBuhV)lElkXE a5RU(A&j3py^GYq+)vS8-Kc%{lkɘ>Kt.zsNXxckZѭL*/^G'SDN OQ,Q@~,mեK*{>rع+ChW$T@ƫ-A;:؎r?Lk5aD) +S8TJ w6hgu}}c/`_%wD-w R9aDl20ss kt.CCW/ԜL"3> 4M ~ G G=bNUj^`FخO^Q/<~.q?N-VH'=pi%HloX_ fc8Phu [,𱛀^|^ɏ=?G0gWojlCDn1wp.bz\%t{ κw,vr-3RFO0,dPCQv|2Sp 3/7^oۜt&b nQ VS5py<H8e1;pj`{agY>?aٕhe)i^;XuP;xbK /p] #gUoe5J:Bp+/L&IhM3:vܦg N8m~%뻟2gk;Ma+эҚbAbWpht5|R|˺ Ҹf(&٢ݫ}!|ÐQyT(o[BnjHK 3 oqB8SB#: 6Y'9/Fww.jM 㭳}b aܴdEO<χ1˥F^յ+ ȑjR? }Hl%| RIžv];3b5ޟ [`1?$_|-U(ϵT~'mz ʼns<:DAex=_$IdZ/ĘH ,tɯ>'QQ>h}.0=_ƓWX?@@3, &?_]eK%dG6jo2$W:-@g -#޸b.|u@5UDϮ`0`س@)Tf Lۙd;(FQ)T +N;OK9id_:TOޔ ie<:+Mk̰.a3 :4?"0LimL"w  @(Ï*x:$nQ,4L/~ZKߝ+H†Ag/ D>8 P!ATćO4].Qn7kũs|F՘0熽vqO k!TuM|nO&MŒ 8N(E&?YʐJ1Kqq[=%"^,bSIAoϷO5rSA!*,ςWÉ7wf/bLi 2ѥX>e@h15VuT; Y<,Utt%ڇf{E%kvX.ʰ& J@Wayn!7k㖧ZӹJc~g:a9:d}>3:c۹'粪ѩ ۄ '빇uinM+=OL$u^py]姾7",//kƶ .q>/r#tȜ>D JSΎ95 I"Eٞ|?QʎcWMSUjmL 46=>So|A1W/x5uS3w.*ūFK릾6,DWPm /zQ>-@'3z8ADz,9O矛aGD̺ ~y&/dUH٪B'mMTe'S /]Ԁ+kЬ#1Ex-ifa'GBjQL7}k<((bGs[Q:J<MyZ&6Yݴ%"x4^WbEc* "MW?vGI lsژOI 7h7e%Z>?zYo/"RJHI5#)Fs'!m0ֻq#P_k "ro&\ `s85{ 8-Mʲv.DP:ܜe]*'CnẨѭwQJ#'>w˸N֮:ǦCP`QJo7Sٕ&͕$BOI)uX_ g~fB&2iխvFF)*صHFT\}=Bus!t:z%Qxr\>3Ff'heph촯DZi,ZTBT9|Zz("]@YrA%+.gSvpd9e%~p_Bs&ΥD*ZC1쭓n!uv|:A:Շ=-#}ݳ1հ= rd/}J+7H0gһ[Q_ ^xۈ 4@1;&֨nr3:`5"9Bf+r8*JreI*nkBD| TȔw϶Kny0eid ~*b_ci&mBl i]{燧r) yЭ-Tt3A3>y5Ss`Z>IėHn|6eO.SxOL ;(4AV:܈CK p=RW 2H ZD)°7KpVg"rʛAnwMZf:4^X fi <0OcJuUAO&7]2n/Ɯ£b1 غbT!| !n1qwY;sHQ)҇2&%-L@EMϩwu\ߕ2(!K?^uK-,) F?P)^{].ǝ~ÙG[ @:Afҽ ]^'ٔL 2 0 OSuW_N#EOh YmCy{Z=\R~ۗUXO(U-YČZ՝g̏9HtZb'm]Y_3ɇ֙MP״ipnWU$2C rA00HâȰ8'cdp1z ^ZL? -?11jT3+VK.DfNvq;5-}RN(*ת]\LG\=:s CyK&GxqZ˞h67I:x-N&}0V:̏h`^ *JqtHS^SʹL掁O XLrїO 8B#kzb)轼5@R:[Q* Vr )r_Jq̰owhD`)~ʁކs+z-9Q 8P-OU_m>L1:} ǝ3=>OBa'X({{mK Ю_8m;:8Z3X}\JCa31jyruG:H9bfdL'Bƀ@t[ zwZYР^'Vq)mk+Kоiԑ GP8+o#|p#j-vm܉FO]{yіwPn)oFR T-3_˿4K@ui{ j=bKg$*1 isUtu Y_-@;j״6|(Bz'GW5ʴwTK %M>v{GMe QߕOdz{+AEw> =mB/-j*T5x}>4On dDRb{JޒUoaF9k߅Od0ؼzW)eI :RPgəO?)ءs~w:$#{y2c-4WHS~ л=8>Ne\FoJ !ȇ_n\ YF\OM^eTnQ >y=ob7 وTȂu8H'A0PICʛRjM힁:{ R ,JcU|hY^;u 9l"TiFkWlH`rmlLj >,#gſQ}j4){D ’a\_ìVII`u%I8C^ b|9* X[m w϶lm37Vq0,E1VxQ2=pl! m$eY^lŬ@͏T|Fs T[*"#2nJRrQMz7$qX< DAQ?a$lp2K1glH(#>%-t6u!v2Ovd7s:8Y_%MȾkNY\ eHS)RAd2KC Cŀ;CE%; y'C}g/GyQhYF4{HgI?KFG?$>1WvBZH.1A+`/I|7uvi^ZQ="*S>bX^AfV١q&tx=}[;VDȌ5t+ܬq>R@.4Y΀b.j(cٿ*N̒ JD5cLUcOB >(r4v:\@4FOεb94&ofudΔʗ׊#R:ܑRKrԫT+G![}hwNggtY7`LrG_0J=$(' `JdZԗ,^'yih;v[2 _B@F0|i3 Yw.LC<lA%EaDr4b^=a"9˔2f9@'%Q\{GsޯZ)Yzw77,bϚIF@LЇfo۱B5Eb̤߻0 8 Y {AU֐Ej|X˙D/(ed[˩ʧ0GF_؞.O^yoD}zB[Ϫ2[ GɅ?c\X|i~oK.g9Ũ >V(>1gTNvr⸮L_j.2j?^>r?ro]L% 7Bh|2''T+r'yDO}~/6aN{Q2!0,Ǡ[j2׼v Ą<3"B bh⼫C/*qdSVrGc0fvz#'S&ԠoC`6{b - ,#u+.P7 IϹU*dNWY]bYmћ:!\":~f},MrUM9=kc!lqrSjX؛2Q'ze[~t,9o! uiM)/G p^׿9WHyiuATHqTd]|_ל[>hp$ s4EΉsΨ'ZŲ6"dL]pt>z&ǓRQiC@21zM-LJԭk<dLDquGHDt3/UnW N=_*2@@x&LIП#WPl -3]֘x%JvsWdE{'Gv RD8SGp2<0洡9Yן@+%5 AVI/fƃ1Ll |o j/^zu͌bփr@OTAxQYđ 9x](vR{pF\*9p 5# YtIlr݉Xe8Z|қ/cuŜ;)NjRU x.hdpy'+mAi4ՠ=n2o*6:Q}ȷB^O PQ9&So8N$:"Iaoj|ʥi$,"`֠pUyӼd\ۥ Bm.|?v`Z͎2Ղ, _XbxMEdduEsOd{*an(g808qEa֠28}Nŝ$mwٕܲ(!ZJ] P$hCӃ3hvM҃c5U>8l ^F5۟ :ޏ#ep/{eފ `L54+  4#9]#y.s n??߀O T/H jIM eYҨ}uѿԔ4\$+Mrɩ]nZ%ca%@G*y(VZX@'(g-?r|95Ap;qM :@ֲ")Ep2GFk,rpxC% A\˶ULR?$^>fr1rzFOD&V3RzC͢8PWb r.9S %jǍ.,Ŵ"0#PsF -(T1|G= ˢ|N[+̈3vŀz0~MA: >c,C W:ނ@t'>kㆤ=AE3Pٌ :?>д&ϒ`xVE kQPQ\$mOuuNy| C̄\b?AJոm6 `E򑳞Fd_rQ8.lOJ3toxAf"=o3:Bc^*ܵJЅPI#|1|j`XrUn N<-X(| wwɭ ^LJc$4UwS Rޝd-dG*0KcjX_͝V pٓ]LHgwel. 8 @]e`WM8p.9:[ v+J$~ ?>ZePo1ČOELE] vY#.:~Ͱ=ѥ7PxjiyAv덳㩵]$ KKAHUHX%EȔDeZQ( XEVDaEMڭ, hD]:}TomTևOxRK:1L̡2M*(ڛXz[@Un3̆ i{{N30Kg?I^SEd~iAMu^:E,2Du<o$ƯNj$xADrL+`V]G̡Bao!%,K|*<40xz,\Jq@g_7 ! CNe e4^G-e]RYdN&KǷ\z|weۄ\[Q[.7XCa] ?M/bli V"kNgBQd]/@B fwrZJYbaC9b⶟L56Hϰ._j^P1'齣~oѸ~C]lQw' P@;9S~ R;ӚI?Fo-% .r0.a](7v<HSPY}Z\<+{um&ia^_%JMw:< 3./pAQ#u5\pߴ*:y$60.th\LU16/x@r;ozŀ`J7s͝Sj6ZK/+n.ة)':   W&PN1ܤQ ,OLxY$@=ìmq4UDbyWd{bNy?02+x'nY([{cH)`eO6`áŅ堙 ?<%-Vccv'kk/͋Ãh7 [؍ʢbxl:2p^}1c"X襭O7QUk1<=tV=oFQqۤ_ txePnT8m$NL}`A`H ۔抹+9yVM9hV@LY )wlJ/gitߏ&7xDk# |    oM)Syg HqW 焮Wm8nf[W =ZM&/e*l &~@aڲ܇!ܺcѳJʫ-)Z[1sVY{$[ nH.^Z˸39}!]&4xһ-tI@;a($7dt\,;8j'bD|"$sW2V7e&frLg|"V tT*RLh 8 7xZs~(]lb I ť|ކ~pT?x!sJ%zvvq{Axqw@uQ0 X>!傌IM' ZBޅ:1PW>p#RWj ]ژD6W lBXYUW'o!56׃ VTb;Ɉ.*=zqݏ̗WS9 •+;j ΢&Υq8d#•D}uK]E2^L#7^INO,15]Od"Gw*ԃMhKTSDC5?%=U_8an:4iL}l=ia#.!3,g[/LZ^hJa鞫''`Yb q>3܋Aϥ;[່"9&zB`0Af0зن$0ٹ#`\T[ap Vo Sgϲ/}r\ÀM|eہ%b]-*݅/ jXV3qT#&4kհzk)g}|8Uqv8!!>?D 37| t_<N~bc%_Pl>>YaRw)xEIjNo['T45F y,\?珃EaA.u]0\zcl2j<Ke~-rb(V{˭S3nSlD!Q.OBQ^Mi2H]opgTY6c|4fRvIY<Z&*n]|mYt jQGF\"GW vIseB ahl˙!9h6v4wa}iUj[9Hw\UiHZ${`6X !?<2çZ&LURxz3)pK6).A, W<6+䄴㴧 ;% ?}cZoG 4+"ĽPF,!;D_,Ps1o4 =1ЄV9d\B;Pq9C^*3}A(DWcy4jurpckH8#1R i=*&lѸs|"ͣ㇗eT+ؒ0R[޳,h\5Ey'lbhä#vj%w/+zŕa, QHwiz74 `;Ra6cG !4Ql!"# YKR1Qus(_o In,wБ;ßRl`ZzP"zOb'P5e̲󹌡?haq{&9iIMV>?Bq6iaӜԍgpRkxpTFdp\a=<=(Kˀ7 E/~2UHxH>̦DR 0I}4/[Su.GaE|w~';9㹫B_ԞV=%u*Oᐶ8R+L6C8n{7K`wg]t,6:vPVCLykc媃f:,fBïRb'=/yAzU調{k2j*8UNUoF I}7@/46Ƈ4[Ģt LzM{%}A81Wa)1 j~GtZdʡTq.A͖h7Q5kBZ'jw/yEi}S!SP q:4ɀ7(jVS?°1񋁠L'ɂon"SS6'#-&OCy-ӣz/u%âqM8?ݔQ",#4bJh&RR-BŢhW.'Y-Vǚd$dr-[cLg({ 9ڸG3pv=s=은M 23.nϪ~TW?&:O].P.lPe5|?T:}RzK7'^b lHTV2`blǴoC:nO_5[tNfD2JVk]1\e}&L@̹pV CQzm6QLjz{ 'F>[uK;hlܣ ,5=k ud׃Hm)O)aٔg_[XzV$E [t8P̡ekA=x%OHnU!: Tyq]#:Qt"hgdySM]ެQ@hm"2%CgI7}P,a^0a#54Yz/bF:VSo,r]ˣTub"+l,]lH^]aA~ n^6M*400 %^_`lIXfEק0fi#( -)>FC xa>J'ƻx0nCTdɃGTÆO/nat kY3Ia~ oiF4CϷ!sYNv#%> OfcMjNpyV5kr3+97QJT3[ vaջ #tL3G|M8D L?!kۓ20Xѽ_Fs^rZ+=]K3k0l" [j hkg`)˂!B/P 0QyPQU{u|:֜hn(#-^MD?^jaWB܌ec ܋𾞦=e"{DoxC55 U;Pu9y3k5Z"s=K(Ct2_2Ŷ0YRߔfZq>XO@p9gÄf]?Q}+Ͷ.+х [R.3k Ֆ+;fJ<E!_4UNY >Gs>ѻ4mi݃?YMqC_/'Db,ĕ̳|nǵAu`A@o:T=OWDf &kdsMF`oWŤwJBCKWűղl$&S>ةBS}e}#`> 4T'6N@ 5Xr{?uI )Te#rRez>&/+Fȝ ǘR]PND2˿BXo0HJFTBQh^ALWxc<[GWvqND 1eUjHT gy`׶[4{DjpLuFg 4mcM͖y Nvj Sp^fSQO5`2^(yD0 ˺zV<`AgJ<|⡉U]s(K}Bvߙ[_4N[=td8 1{{GDy< 73@Y{ A0 dӬנHCzYd-Aݡuȧ[2|I_ߟ` ˡo;ӄA_,!5MrD`vxEkɇp u)1"F^Ě.9WedGY, )ZCk0VdG+9ۃ|=|C7 5 M <ſ"h}w[7*]Ezt0 bKоG)t_MmP` Ox <>w{]Ah{i%|Do3X*"=%Nx}13ܞM}x\N *Wwz5 Bb5܍x@.G~ *Hj۔Fi6%>;LU'nEMҳޣ iNI]yV K?U൓̜UrT FݢcJ'&84Z OAB&knO[$2>Z۳f'}6@1F ЛC `Zգ\ p(3t/׆:Do_1K; , yo^/,GQkjVtg{B3tfD}u\tQ[W!\js4$葁Ngf;.ڑa 91U3UrPt 2(JiCv+ʽOf8~h:DjPXJ|TK!Xo~  wApv18-ݧWp#Mh1>p !):oEϮ}40=>^rwJCk}zo)\:^dշ&+ƍ4hlȄENR} (c1_,"LŐ#ZT(G77L(˳"R.7ɗh`jzdDA]Ҟ\azK0 SRbcaWHg`g,S)R4l!Xcˬj{g7&?@V- \!]]`^ԑa疬rFxzZ}ak_,*@ʱss3gUm/fu%ȼβUUӐ)kˉxZcc:<b dsGoB*.m99MV3 lp 1 S6*Rnd͖OCb :_Iҧ ,[KđYIkyy3[6.3o>uHj]K=U83ˡcY׮4k7m|cf$ g?L*e~RO_VV0, asBQ1wkF`ESгo]J.3=sofj vvSȋ$Pn\AѳdzOgs@.`KFK1A0X!yօ;(6ReCc]mc8Afw)v>ƀ̥ݭRԽ.ƞmY^[2֯%UEo7h|+Z{0 DOA\T[y# ` =P\VDIicʦ ՞ O%sr+q8@͏z>Ck%ϩivQCe 86y'\UY>ngĐ{pވ 6I>ҧ\.WoU޿YDy; AmӦ`:W [N6/(*,$xܣ2#ʥ)}k~LvY@>>׼HϞ(ۂDTFa|ɃLHcVh ZvFV/++cTUন@ܩFWb>WH]j;˘*N<Ɇ4$V&؆[i4Gz?VK5XUrcC_{6M+—O΀ d\xT;oh'p>)IrVÑz ;7I'Վ56B8Fۜ;1'f$S 1:=5_ehxM U5؍7w\`,II1Eh_ҵQ_GƳ0=$7Yԩu_v9޲__u8%fEk(VkϿ(^>XSbVYfH \z%x-5V嫘.cӅ#Dimx˵̯|>=nZ닪~X l+4F1@§{\ܿ2+_[OjCa[)R}B[ 22XK̏  >  5kKiTD:Z]ur^.7Uxk7~$t0al!7BӫTebXu_#;[a)O[+}n'/\,ft+q<8{fK1^&J|*e{TuؿP|$bE?+eAc]"( Lƿh)2bCf<Ƈ\28^$Zbu\uT`ScvBcCl`u]H賰$rn55UjL^l z𼫮E8bAך'6;l̂n:WF.ô֙;τƖa7%![j{a"`xl 8⎲<umFWp^GkP~F9f-|~ڲRhQŤfݙl6[Q(G%W93#o.ZHlz h{ٔ8tp޶`o`zs 69L>F#{/H2u< 4o14J&t]=zɜLlU_L dwSiާ&f`Ճa%5%ؙS.\MOlp'CE*gIi;ِl[JhGu|FJԳUAýaJ`[uYN{'ӻݕ̵ NTt8ˬzSw3'PP !0gU|t:xZ`L67=$d?RX7=V 'W~gCSY1dKȼ/}E7$I`KpN\dԭ|>vm6Qܶ7bS;/7HҦCPODD;z@9[U/UҎe?Z(pמc/bιW_ $ພTvt.)ͮ=Vbe~[{kcd)4uu]{^P}&3WL難J3]̞(X@;HלEpO:+,7>@_p_C9`Y[ROwY5iiB@6\&qz9LJ"dvΦ'%co,@U+;6W%DOjɵpΏ + m4د?V0`zB*T5k\\TӯqPػ 0', ~] Pg1k[F)%G^J)\'֗l*I0gzn'AM?9s {Q@mlyMhS_ +wA5u+0^@6Ͳ4FM@=ƥbE$WYVyScJR3YPz$ G=2Qu :+sZH L_`9蜬*tG%a/5[IT|7?pObЉ9.jHI)5#Vךۖ~;>Ǥ}PAdJ[<~Q-?},$iea͔7oM y;wrpkQW*/騩*Owc!?44C8][0dP$aJC`6y7rTKW8zY ԻiHMҴpߩاnIChi}HJ-1fL%xBGw~7qnzl 17Xx Z|7.doھYTFRsYO4|7oyKcuW+i)K$3%` _\[g7#2,0']fs*,/f9]Ri; &d)? Ί?WﯳI($,*0}]0`SosHC eng[kݕUe25xgCYֱq[C;|gChGV 7"wƪ"O DxN@x.8FX# 4k.luuH{Tk74VT;$=+I]^14=N0 ؃0pYg1pW -b]Lɷc ϥ2U\2 $94_?%*"Ɉ:M58pm_|nGIɈdCU[1 ]AJIi͍q3LEdK𫮳m3JAiL3vEHlhw8^ڇ+yW'o<+-V.iXyt޲4$yo1 d&xZ5oH9rrBk=tjTo4 jQUA-Ww d7?2Q.f xhl>?#`_p|pp#4r?p+QRBܥj"o[O8O{3%(1m~$(]ؘ~RXmNDȊc$@5q9H]tBLuP**jhHAl!sOd?Rg[..b A㸅;$z7H'_F+6ڤ57h@x5ufe rf8b $jxJwgWo W6vPHCbiD):0.R*;VqF8 8:ײ#SGލB6\52ϻ5ȓNMzS! ^<`˂d:; D@ӄF/_ͧQjXgB:!mj˻ f1oZraz$L:JGay+ߵL3pP2xLe%3F2qMD.1$?뭔47R,rNVO>L_yRA~x-*g\!H)pLCMGH}ߩghPQzטY~1~/ޕN9ߐ#(Z5*V=Ca6ö)"~ *֥pxUsfB?8q=иYeY™?C3ʌA;4}e]}1W | q n|C-wtMw3W?g&{Y"xŔ ח8;ϯ)YZGӏŁՅLjaZYNdrXp@eG<|GSK#RT1"zbQP\37V1wQhFt枃RqPĈ9 /ߠ+^{#ֈ21ϓڢ>YݑiD+K״Q˯لJwPB1XTÄίס y am5r\A(hXNYW,vMF6/n4d ]eJ\.2,׮wއr0?<[? bBFq gK)Yjw_b b..Xcx>1_$4a[Tꤘ~Cw*ƏGfSȖּeXjCQz/i7:rEt7 O ʹ pYU 8 _n7ĺ8v|oee/.SWJ7Jr|&EbZ<+ð>k<,nB&;$lyT>Ơߎmȷ6lTTiq~ z]\ Iw1TMx`-Of ɠ@j],nF#` cS̰: %imv/{qd]Mz`F)bW,PL2']p+LuǸ쉬RqV94Q&ٔm]i8-b,co=ufC8pɽrPP1ᡆ"ŷyU .Dy~R/{DFĞ ơk[vAd Z~;W a e܃Uf >\>j0`~ 7n>9 4DunfB|H T?1vr)4:\cqgT%(' ƀv16N:vA5ʱ>2vEQ.C}rMLkF=Seȫgs 5KB#X)J"[I֘<0˧? #i촴 A^VcŁG9!ޭ6!Xkx(acFb+]yp8GR*JPNi*F$#fa!l&a{f/\ޏJN=w A&,'a2'99rx ,'5VMm3Ϝ>my _qvnDMk(jWK2{ 3dQ[z&~4Zc}E$״`@@D[\]"2>42erx(d_Z4^oZ雈d6 52NͫUL)4na_cVlb꫟vΟk||TZ$Os[4LpF^YCCie&nAnK6S%zh(".!dbv4ϬleS{,EwoTWw(\̞C59n0skԛ|&G{>x7 w+ Vg#-}{J_|avtڦО3\>֎l60 uz$`ԱW6ΩϽsK&NfT1jRfoXP .\3JJsxgh80rxWpKuw= 34ok@Dfy+<[+ק#`XR`ٛḀT YP>ROE/WyNdOO^ߩ"1sd4̹yΛ,5Wdqr6b'0Po@UQ,&m QZXa4.I௺8ap Xr|&M_;_=ssD9al27c?b5Ct]=v+} #@ҍɹN2dzIhZR q ,鍢T>7-Wv~oW 轅? 8P3Y”`eUĿ#QW6 Ø7N꓂$cG"bj˭UFs4lY }ףs&?_DRjDL`IxeT%X]tZQi4,`A}1*T}(Rpg-p-r- ̯c~RcQʗR8Ǘ),+[/e1ZG1RFЎ>r@S3-?e9rOpk$X?صv~sj'?%`^إ/'m<7{\<1TJs㇍'7b!nZI"a%rFyv]8~=֮7N~$i rt0 K\ǗcHvkQCrmu,N{^#@E4\ mN͸a RNdž qKPfɜ h^H:/>.q%"?hEy-m`e`Y0ic_7l[*943^+ G"!؜ )kqwK)vˈ\iʻA6ф}aH!dbX%D-rK~V ݡ%aS Rcg/:1:lݖ'!kX%1ؤ&o-v!t T: yg~:E{%W6oJX-~YΝ0͈cB(L^@RTgZ)rLe^|\zWmנb[*gp)Ϧ+AmчNmbul+{TuѾ*HH_Ànuoɼ_V_C7;m}h.,El $cƺO&z@N^Gm_v,*1brxwZPngKUXv c٩:]VG8xEOisGzUCM`/mR"ɞK)Jyꮖq4P/r3r^ !/iF@wߗEj\_PXg0yT 4ݷf~w^)yñ#YEXQH۵kׂEO'FQ_]l׊+Fq[9\=4VZ KF{Z"M,D `NV٭Ug'hwkQ ,yo ăwJY/lK? r;I2lwOL ]V7Sqs(Z/x2%Lq!ep1v :80(OuƷd1uS[p@6F:?gEh:<D겶Qms3@=ip^_]ҔH:HխWdK-iUV!Mv"IX sS)dm)t@L/h÷Vtgv>#8J+ ̷vŎ.&r >G'&cPy!bbR < E'zcV۲d-CYNudVuwJEZD2?UHo>?kll@ $a2Dʓ/%5p*cj`VI A\#{Il6V 6lʟmbM%F7ޒmTnƈ _ 1|a)yP#Ō}/H,8~Sg^&: lo]a0lyeʂ c UV:1iYOQ$Ψ=k=O# Dh ?0 $:R݁ƿTʎϺ Xi2c58scRx#} %2-5rz*xͬCp.|ۗb2oaB=~Vvo+*n7/[T)8e l f}bG''0sN⥰! ;mr15@CoC%0T΢b0xwҀmۣko)/wA, ))!T zy?q?Rt ,Ͷ2nl\ q<=' v43%L طyowzC9 _oDy1 Q> RA [zH0nJ}k˻au$3߾ S~%̣Jf/W7:ٿ39O[)m¡瀖 m~G>sYjlrWǃcp.^^GٚDñ 9ʒQ.h تWvȭcKZBhZ]XªWӽuX`,BtVbpI;Yj" }}l"^67EdYs[QYrZJ͕$D:4*rFfC(1f邀_)(INFS>|zD"HJ|LJz-G` J5 }/J^w\s윃(̍P */ZCӬk?bCii3!Ucvk;) 5WB$:zT_J%ul%"=s_/jr(9#~̯)-lA>S:T{Qy1{˽ ̣͕15'gȈq5:')lWuf)>42e0b-Y.cXZ K"PraMr$}AsQn~T^YUp܇fP:@;)s?wϚohrdb^B._ƣ1)R!Wb<͖9TkƞL \xNU7 Yw=GqysOÔB1GN1a_L %qMFfh&R~!(sb;VoXpu9Y JA֬j&)̃'ɑĈ{VQ֧"KYSiփi/i<$❰<B=具-wL'ޖ02{=w(7̆)-F}\R'!q`'Jicb +A8 52b*ʮ 0.3C;?c/[$:̞@ $R0;G0NbiVVZxwQñřqdȴ]y(4ꯜ|`b1Ώs= yGjl!#`!G:SYM n\vi89.v5瞰J5z Q8*o]ǒd1Dszx+b<[r[]5ɹ3v݂v!dueS Jr AoOBez]H>5o/aI!tZxƏT6YoDp 5  ?ꄕY:lE*X/|G{UۋϛM_ pTQ21'DATl k_W^3eR\-Q`3[|NN畧6ɃN@*;%sO`FYMpf`VfBNO ɛ$vŊjlx#*ʀNYއP#Hu>iЭzm{*&}"c!:e>RiVvACY*GvQ`1hlF;즁" )n@ Ǿ{6.=ՖM{TVfz D(c{x28)z$hJ1a+ah3՘ۖ 4襘rƀrLu) ֿ?Zd k((:/\QY"|A]kBFW#Z Sd2eHofR?P:U|u&0ulԦ"P8ɲoL1a~f!|[K50n@{?ZT$g%?:ƞSCh3 ly { =R+rqiFל)tؚBtdfa\~0KLd,,ݐ Lvm <04r˯pˋNV1*_]g"$6{h6+x93IgI2_C_lVYЎ7!|8fcg3̖ Jqs{#F<*JoKAh~Bo̙KhS"mco ãEvTFs"J2uhh뢩VYgB[wPQ#)M~"Jd|[t~$&edwxJDܔpQx?N{HWCPtھM6s -/YA`ބA ^½=ɓU:HnwSTѯm#x˺~v%áZ,ԑ[{+?bJY|M1&1Σ+$|mC#-2T2оcz4pD e x?%/W"Q)!EaFLj7*o휮sQiEHp*j8חkM:`Fߜ3!\E1F6e݊lȊ %k X iBz+^+$r=Z?F 2d6s4[5 EćaOj$йٲH5P)쁜De-sż}Pd4=3pgyxHI , >`^m ϘR=p3b,?&ڊiXu7L Uy]yH\I;oU>!iYF=#%rױ^K%Q>*ƞ"A+<Պ:#Ѩ '0ͩpטr zB6qiмXVh[fU%FS?+%#Qv 9 /} ;独yIL6OͅXcLdP'ljŨoqTV45UAc(oDtKQ =rBEAf-F,نJL׍ǣ%FzyuwVO?:)?TJ$TlߝYIz ̈}Oш@Z*A+jqa`Ϥ9p'㪱TRxd׺ ㇄ə/*xp: C!zEd0;S MaZzY+ވӇ0Z8ZS_WQlW\(ˠݣ߷xA! ɖ0s@~mlsP̬m,~ Qv wjWn,^Y`I;!/)6sTWJJHXۧ PݕɻG.3V|[-fc7RHg@M랧\5zvg+.iXi$uXPVUlXJ+!fC#:Km/䚴wGJے k u&F<}%)6wOemGdekVj6\uњL>H>)̗|b۰:.߭ON#KibҜkXezjQcJgx8 vrTTuPLcqtd惡 2+1J|95,O:3;̓?(5MK}/Y )wd&ʎ[_qB.qjNȶH 30qI%a}$UnDW-&2I5u$;& };]y!HA0դk 'v1ɀIOGƭje<T&0g3s/kmW* X=>\ Pe~R@tv<,ع&Y~\OV] W PqXJWnK?h5.@³0! LH++10[[>]aPś4S/~f(염`;K6W4N^9qP(L׳s~ Fp?Ҟ gtuVAz$P pw ,_OR#4;S)K)@yʪ/(lB8tKPgselUv7/rN'Jwd?|"V<'Т2ϏЁvf09lݣzqi!KKPe=-nSXmnz;s[ɘlY rv-.㯧YwVj= \.pg3 /녀I괘_G}a!O_$`]c CgjJMSCNU켞[%Nun ۉ b{Ch}%/00Px[b v _5qcFPQ;U#opB"٬EbG!]2"DEF+(gY= uDQS<թJӽ#W{%G` ך |*#vj-ZSa!h`Tcd&#C61@<խ|yYTÀ!c'jgZu~@T^]jN>Q.v{s衛Q5Ȏ5H7{QB73#i_ 5_>K6ϒ«6_ CmGɰUt%N/DZIЃ1P@G{Qy…cy7J8CE$f$/9>1YGJ^y;K~,jV7\q t]1^;ղV;|U`5|4's5 <+\|P= '/k5MT3[<},Scǔi sRM|"<:дѳQcvs٥Jfv߯ @dBǏgN7Hmh+Fv"0L`6ssKpsWP8 9.̑mP({-l/\"$`ZxoVceKր=<93.!o{S3QԈ8ZaSK T߹D3nWP9T D@: \wk@ppiwTM' v8$rԵЄ"+0X};9lшO\2Ħ ߌKV៻gW[#6jΟmL*J?PrDxlѭ2-@Z/,ߎx@W#S}c`A?l+++ Idj2 z@NpB ,bdVL'$\IF҆ 'cg5 c9fu,H2WiG QL*rwaQ%P֧BqOppW~8ݓ{Ÿ0z]{1IDH䙡8ؐus<[@r#% l- a\/N(6-N*/I’7|0)PBCT78PZ2Uǰ` xbr^>빫J!QnQ[YKs8) 1/kIi/SvIq L0q%n)^p>˜֭S ~dgh~M9fC+ʍDu6˰ sYuC a5rG1uX ,9}<4ʟ+pU \xc\>q[dd_<'h2VԺ6IAk $j2D`,xNS(4aQKmJ?ч|+6K cгiTC*|էjg?~ o;3P*-ztPgy<߃t*rx'sЇ3CTj/ђ9QD85jC5>v-ꕭ^xz~ D\oeSִVA,1ke2 38 eeHb/Pl-&ؐԷ7o]Be29.ͪ#/ uY#TT>Zp~q@CWNL3S7/R !&{_!Ќ7|g.nˊI < lfOUpw!C'hﱘC'cn;=o)+.'XB8'rvS'QyPa1@)rm>Q%V*@eѶYWqgÏ78}j6FqR] CY6up&D$J\Ecq}?~l4} „Y]0!L n}+K`lyZk.}'X*kln?G٪#Pi[MU;Lȇɍ!uOVSP3x^hTQ"(aMe+䬅BYO1}h`PO+xMŇSȺ/m/'Xnw'1eN6no :䴟$-).s\Mn4[ݪOW-4@SGkH!4aJi43ߠohAȳ_:U\"4 qz%b i& 8=?;g{Cm VWZa`W" 'A$'&@ARVU:eFu(ś%%wEDPD9-WEX+Hg2cQ YgKk$>0Mqrlnӡ lYMEw:Gt 3߬R ̡ ZyP*R#$y?0>F$ ?u}!Ak7(}{#lI.!,+6Ui͒{>G=X4ؤuL\H.||!OVϤFZ @$.RRǏ_B1FrU9;Vv ]Y-bF 0拓N` `C VPk}L4{V\5dց* Y>^3 `P3 _ E?j);ٗ MCvP7=owOCӿY%mH2LigM3P ΃pFRF%fZN(#(xm` nWE"w)oIS)+A+!-#8s a_Z>tjr&uUe.;)"@˦2M(;Q'./Opݕ:@KE]}N:Ou)ƍc:.[A ]x5+ 07 _lZ0R$&l'Tkߚbh >MOKZo趻e لg$~SKJVYb+ϣYgL+Ro]/u-ћ c6X>ݻ`atC5$aG) TQܦDn8V]hIۛjpF*z,!y tGK-UJ,ч5+kn@)!> iٞ>\*v@VbT'`N 'kHʮ:LdO@}{$GD>nSo+)k'dۃ 1aE19R ѵnR ` q.J&PƩ59ږgqI&?bX0JIPjgCFHŸ`xʷʫ27=tjh\Ba&7O<_}-'DQtʗݛhc-DR 'xYr=_;aqN/>>-L PiÚS=6,zW6ls!4X|D^}`v=L)o̽sHuEOB4߀np n^V h ױVfFVNOlZwR9v6x,yv[dg)i1inhJe, CeLn}ͬ(T>kkw%aZ@TJ}`y5yG)dADsAۡg#:!t5-C \ISEFŬw\xbYc;섾m2|@ 4U8G10T>l Gm a .>I.:2y>5r5gmEbQ^fȸj *K,;" {H},H)ڿtnJ2jxT|p῞ykQ_6Ns67$v1r&ƫ!uƑT(wkP\m$~`y-I@Rdqgðp -'koDԤlFtzVaqo5߷?HeojuK-"MP#4Уݛtеd}1·[9AUfN1i [9L+}xf9g,%;>=HGh @-aQ`f#ۮҦ^zIɤ'`MnO[Y"wh|PM=}G$%1b./j}˪噝sUOrlRvy(p!նwd%!='ZBM[= Sk:Q  7+,B}3Ri[F\:ѣ5N+UU!Y`zq|Bbs'16]8EHNHp^ 9y졞9kA6n@PAB#حD@x|b! µ̈+UIfRr#U9O4'67gga xۛM?DfIAlF&E$Y~ʚ[=LΌƣ2`/w;@dl3KusO^{i_Bt֥"]QJ}7ցP8Lx'ϜPyء 9MŊޖڌ[`@naV;Xk5ejZYKsDB4AWH5ں. ydja>\D苟TmZd0XS@-. 'ZubcL |e؎\Pogw <бӿ~p[Hti"F+FRp5u&9\\LWT7'ZeyB|J;F{4L_Vd^@ƣ^q9[QXQ͙2n@<`~ LPm,r4ϝWH^ z`X@^91I!eZr7^D?θ(2 $=Xx{@Jt,^/@= l߼}rA[4R;.2@'\q_8x-^ỆQ1 %ReߔSEgɪ/oic!3 27='`vm1))lV!"$B‡Zp1 ̹)c|SۍΌHFJ ]\#h؄)𐞛`9&t\-EMV[508v:}hc',M,U ,yu؀C! /2mXXYTiP1$f  _(O|wC >:&i7wt*L9nBcF ^ZTvFy6:Qv3݈I K t9C7gC0E(K[ξ}3B  ynއo g/qiq7hI֐-/E৬ .=3qns-2U4)aH ˕']*Q%e$:pĊ}z'2 T%(^3< +{en J|!Zx`dz<d&噸^\bRkxlRf9'ݩZ3K:/`VجTSOPvb'TsP2=0MjrjjKR-dC&¦q]yV~3D`n=YK@*׳ p u{25hKؑ$#$2jm)mftjf)mߘtq<4:lC:X ,۪Α$nT((D6l5tm*\g[!8}P:T &Fہ+9LNO .ZODpgwtj] ވ?H+q=d[f>^ uX" 8 u"d~+šd?8cl\\4p hrFnU4;/F5~A?B5q,LjtYG6Ft:n)u΃!Fwx IԂnzyx'POGָ\w2Y,=NgmKS)r%hjdSgѺN2mmϢk;FA WTH# ȼp`i: /L@\I6fXGuj4K=,a>7Jc]Bq ǹ,X)Z%w0; GZ|<%;SG_ZY ]C W:  : `sflm+9c1?.3@YUSeW+X:#T`%)aDǷTqyPg"v[@&Q@t&h-g7,{~H ݒByCHs{Hy(Z33%80 e&FXE+k0*ccpsR0zihq:`k4Ӊ/Y7u&Wtc ]]LR)tޯ޼LQ5"S0^zA l$"j,ڙ?'=%q@smQ{l eiۂf>CzzCȢ~̍PBŨkoT:tTĝҪ*?.V|pukVȬxdfo7.~݅Go2,WG uPMZFSTu`ʶ18 C"V\̨㈍ EA#R`kE-53/Iޟ{l@y(Rm9 VY3 mʅ-ͽr#?6ṙ"b M`Mkb:=WN%!U_e%$%r5+>*3#S-uߵ<ʬy/zVU ǫԵ! 98Yp*PW0/qo[GOPMvb0/{uJTbLn/q\9%Ee[1'[[fPaNL&sB!8n޼0q؇,X> /,k9rW=0[F) 4;Q}2be\:[(GxW6@hǘj$}Mv g6 jc9M߂xr{璯or*CCg\x> &fnR'YxbgO?}9S ze<<=]%^LK\;,~)ijĒN1вc=#g0"2|&[fzJ{ y^3LsZcgxfܵ2Y{Ka|`l+'0f>!u/iߵ"TٛmNҰGipŃS@+ˢR`+Pj9)Au2PȔ‘@" fRAC ",q3VMɐ\6ΒGdA'Sk\ ] )C@`V~.;M<sm4[>ŷ@<ꤍZ^3HD3A7pg "T'&tp,' `nTWJi35EGk-黝oP] ED[:Q3Nb'p(eu;K1^mnp=~ڞˎT*7i-82P$GhU6d{apBtSM'3u4i~9m>ɤm!t (kB%?M8g8 Ggot];xfDEW3p1 xa< akqVqat\ϯA@V+ZmY3N(>e#x gTg]s:Rm0Nf uկpzQ+to| /LD23Ir#eW?Pyzlk8 . 7ҤJ>z(`7!Jԅ28L#m ϙte7xns 9{%ߋM-`9l?ܱcOz606N[\m/h+jڄNSPS2V`Q8HC`\JuEHl3HǞjq0d?iMT %Xtee5{y:}c9W#d/C 3A\R롲WvM1z-jÂX2'Zcsmȑl h8'EY"TW0<reW"lRҚ)ֺM &%#oQ3U..A^*$$J""[&Z,WNp:$hCɎu^iL.JnE\0VbǶU%[`N $^]z(Vʨ+YYNl0r}3ȸB^.OcsjR;_Lt]=kdPDfԾŪ=3e,@߫ RY}S&Zd$D{β ,GR6ݞ}qiP/xFtKCQ'6 2q%e­KJP3-/hu&-Ӹ3#ִZiD= qLIW(xmTW7 sB^?BP3'd'ޫ?A4WR#idfMjlj9hv9Scm ~IwZ=xջ /z#-4g3c BZpmԧ##JIG?b%xYNtG I`Z{Zt#KvnͥSkRbg6<,o]sA\+_P+ ;n%~ӄghHۯ 'Yn$MIoZΑXFt$~mU\&$GKDQΆk}v ,[(_͹dXLͣxe%hZn[uxSHP$ڳW)Ư-'@&VXv v(\k'}jhhIX8ZޫF`\- YROø|l'HYuAJ_>|F;p  &;;d=л"JO٨:ѽ0(#WMeb?fl U?ڻdJE!ikHF`#ƉW9= .Lw'6 hZçs@2B_jnR7%U {G zbIf0! ;RLhɨtKCn u)y>R /XC$Z!%^)K'Lxjhe-B|0ݲ =0#C\)foQE+7Rp 62ۓ[hw%^GP2NJ܈ķ 0CD~$nH8#? g[!hg<(e k(p{gr;#Ff Ŕtmh=ٯ#7A5m)aLB. 9-n(cH迪KUc^DPb)`eyXh)MxXi=tb>kZS씀tNEY_nqB"EKS8MPvnqP~DS$[Zmq ɩ!]fIQ|?Oϝ'8Ǡc~vuQR@t㚇ȅ r:ۚǐ:N1k9,̳6y`âf(_!]T鎫q6qoأ I4@<$OaNm}ݥ*J ͔/U /ÿ́!qw bHU3'@gs4gm H5\ޝtOF;'Nl;˔vr~Ene4y IҜ*m$U+O "ruÃF>vYeYcNP6)"eW84N9 ٶBo( j#g&q ٴd+ E`ٞ8":]1qtYxLI@-a#}` .42l Cg[-TеȤ@؁˽x +a aBD;mwh/!qKj 58xx`.5O5>~Gu3gee^]ZFDD^,e;:/_sڧSTxĵ9PR8aŹ%W26VJ5]sl|9Aղ2-1Taf'`m\&&su턁ˑw!'\x`C-!t'e33/n#QJhXԞ ܾLVc+  .3 [u3jiSqfWFR>aПF9A|)_s<'5>~n^ঃ#܋P'y~/wM㟅t]'B<7Y=mLG?"TMZ`J 1{1Dw5t_Jz<6\8xkHǴ|my 8Ķ2LP}%D?zB2?x_XEhL5ɏd(ȯNdj]m~qf 2}^Q|p} =v)?^N#AYRU,#J#fv4NɴfPFoX55n}/JxX D9[0r?n~B223Qvn+| z:?̼ef.%ZqwL՞ Հ[lƶq;{u3lR ~d)fLK|A' Kl"_WfBQi(4ʝ+DܑEk; s"\ܐ}Y<,w=њX^:%8kHqє2| mh SY^N@NDɉF,sU|F}jcB*A.}nqo~Y}׼jP0[ПHg<_C aK5{!H9{jLB!d gCiϏ֔ g!GA=|n79!E*g*ׄj[qڐ| F?ӹȾkYݰ1ǾT%vގ?p%m6\qLߒ y^lZ!0{sputR%)`m^u-_I.V^0IH<|JxW}Pzq5{=&-AwtתI.q`ԙ}8|kS1ӓCy6n"Ύbٵ c0|;^Ejc88AAV?[LѵNn=>P]5GܜOWK26ś (\h֞i-H+!+]ڀ&x[CG+{LN[}/#~6mOIwcZWU@.bA@rb|Q'yܻJT"iG2Hx/[tJ)lL6?٠R6e,wB*װǧPpO=3g2IC6*@8¼(υW f4mR {H_Bމ* D@8󺿂 w =r!8, -g$A2 xмw ZAjF}x ZF:$O7%!LQ^ WYQ$7່QU`皔L'UffܸP宭{KU^I!_Q'~,5.ۮlAiX/931'ƪL޸CAg]Nw(4@2d)T325CvtBCx((v;NZt@o +6`XpOiuGWv.VB+Rf+iМׄ+qTd85 8tN[iUoo t?Orޓ8#Ab9V/(w\:L{>`~_Rٲ] L gѹW$u{EizeІ5@:%[_m.#Ug)33jʷ9NTMo5aa3"m{7YDVƕZ`kRȸ4c{VQ2Pcޑ|8YϝF2m죬?0PN*qtoŸv8\li&$UQx2E+l1 yt}6N{J^4CA|{ 6PF ԼjQքbYvGe5 4xBpwIV7_u ` ]>ϕJE%0j P8nO$Zzdh8?Yj4괲)11D\`VAlVʢ LG)ƾտ]T`_*"4mC lTe;Aph 5ՉhPU~f54HC8Ϋsc<ׁ{qyP/ hP14Wٗi~_r}EX,#}4lovK^b*'}:@ HbN#ѾYThcc덠ɴf| 74,;n#; |yۙ:=PN9;'%}XS*R3D=帿OyH@^zؙ Z~M?w#Z~RDJ#_N=3*CauOʍ(3 ^xU2)%,'owsj\_#UjIKC:<,L΋Ww$YsqǦK,5R3JďXءbVǙ  "5QD!IJ;æ@=9h 類eՓ4[ l_ #ZFU\[#Bd{"@L*b19ʵ-ּ_]/ ^.MZF*Mz  :z-~{DkQ7skmr OUe-+.3v ZJNh|K`{$M1o '? +nkIEt^"};]ɠ|g2Ո0R)Q+Mmg֫-5]V?>54.ƶ.F>8n)dp".Q_#:Mk`c* ЇJ;vC4`KLUCOCH}3my>K(-y#}v)Mo԰" uNrH2BSU g0l*=6qIL qxjxw;]jntCa^ZҌ;u× WyJTY}0nX#󦶗nȮ)o{BCҬ91ǜ"vҰ4xreoўrQCp"~IJOA$9+*4q9@k۝'Y`%X3Y{o><{LNev:U9>a㌰SY<Z1XcԷhuS) 7)?1{`K|F2mҏ _ J4b) \ 1TXp>O+3C+h1i1 {RSJ|pEc'٧ݪkn>:6|?*`" E+CScy12}l:qH5.U :c~$c̱fTTORFe+z\"m6DN RK|*oB/7nrwD eF`? g;/zAP?Al yw40pͶ6l{0-ZeN)~ig]L'`ff c7 r90E8ѧZZǷЪ >ؒE'*Cy CF]CYwgPY77+j]JH'wJ W]N:oS{GV0ī <2Q8ߠTf uxYmOdGmK :U5Ahh"S'zߺשs$DQ^ w3J:9$i #u8p"rY~p*Q28XRuEXɁDAn`p/TVuӦUn7ZV`{C >FX*]<:xT016YgCasVf:{$k,AӞi pv*Tk0k4@D5jOG.̤Z(MCr%Ld(6]B\H# j)җ(Y{Kd/Vt т~sށX'*OL,yc:l4Wǵ\{X`Xm۲?qQaq/S:WZـu*fcA[#Rh_Pkлk2MI/~uU]Vȥ鄀f=wni`)ZN*ɢ aN ˤsΩ68zޗޢLB N}4, QiJ *EJu-аBвhVgrd5ҙ#֠K-8Jb2GNvCzn]YsX>Q}sfgA%Ţ:Wb46ωDg)S}߃bzw)O|?-ϫL!Az g \6r5+zaBV3˳z,a%tmn &WR=+dDǧ. m^@Q7G+ҩyAŽ84E_ã~ Vt90KN [ ؏ 1UL^MYlDW] U:5pqENPv3/ͨbb H͟lbytr R %L3;i)Hg8𠫲/4~}衡J*(KM^/{[/A;9e~<@Qh|'FC{棒~#u (ӄsb "TJړI?,ޘ/`܊YDzҨ}ҨUpeoVf'@VCE|Kև]VmF~(4e\?|ar=[-]Ӫ! f[Z;_mj)Ka~OCL =jq㶶vyh*{k\Z@,I'7s`҉ֆ7нGҼH\.(~R˄d?(Ev{f?tH9X)tUi/|<;$!ST}Y8 R{WmlQ5~qUCܭd fU Z s,z 3FΒVcSޜ٬E7-'}4p*fچc%?'; WDx>$]BPo=#p (vgpg*5/}w:4ʯxWéV.ai-YL$p$qZ&TGMfұh$܍!ъ_ǓCİBRsYGkE mūn5HIM"nKf'N=K@="6 !O,)ƣvŘf}ͪ NY)iT'r8ukc]l?:Qjm%Z_FG&=|Hoasri.Υցɾ*GBG[n1 ~S$!D@x1=T9 fi2&1z5Dt+jk+`j|Wyx>o79Iӌ Ij⮛03+_fRdfC:o[js{;4@󍕜U1)ֶ'M{qQ׶{SՒ{2F}Ku}Y6hdNN?3񃆔CPb26T0V[IFIOGUcPxX: O ]I#Zd5.j~dP"#>KB A,9<5qysߣR'BS! 4n%s益:So>A @ M,;Bŷ[OHca$FEn @HM'j]3y)j]ur#/dYlWϒOw#zs9cM :%)B(_Bh H\B$34I  Sx );ڔa]ޔȄa%@^@$5kmb)Z!4ܿ u[~ ꙴx)Mlq6γ *Jx$^cJ|S{EjE(ސߑwRújҝtwT^l%AaFkm~a}E3G|BXPGEl I"ژ?Y;%c@O9sqyG=S啈wVsL( f>Z`ˏ>{QW=@#ƱN~O*@ـsS#Qxh%S#B<|W 4: ? sVCI]FD~ :|J@/5ن 1EBYwf>tRw՚CŰ㰓;W?VZǘƮ~Go:|Eƴ 5i۪l:bw+z\+/|s-Sd I)y2]Z+DKB_cSyd.[(LJ,15r5壠MH a6b2#cy 9Mv&A|@H*|ټ!TOi ?ƚb? @a8κB\h\ː+5]%k)frꌝg G2M< :*,ړew٠ri("kR5L~dwk-h_d5Ub)[8 oq@bgg!BV.'FN qe;e%"X+l@d_BHjzZy[;0hf=m(j+NojEZAU*=Ц&ۿGqM<⮐+C7M%ҜUƌ"$lYb_/zSZh7тi+SyP;c9(EwK7DO ͐9VْEdRÈ^B>O%% 璱G l]סFm!8}uvOpbZ]߹8K,;. ?$܆Į\+΋~ Ų-nF.M^5#?m!+.-sڱ~tONȨ:cMX\U96 |* qrf]ff@:H*d^osyK[v0 r$2|"ǹ(5^ԀZ9#D8f0*hio`KSx\xR`,=p8~*ܓy&EgXHnk@vro9fRT>hMs,ՙF.ΐzO)a~"f  wQ:s @tb^̖@/ .E͞9ӫ2Ōk*aͪK7[K󡢖S2,~PgON@0!NJgFM[=JTW|첐\CrxhD ,"ċ:/F+KWc;芆x-pZt`sA9In "9}ㅽEo߽/xҸ(UI^82,@Fe Vo!-Cɚ'[xgin?_"(<$(-n "%؞=Ez8\?>+s ).A\e#'f܃.\>dnKU:՟m'p8U7#Bz'7IE )7i_F-qf39eȆc\3GzL{Ÿ[oS-~n 6J,e|x\CǍhG:#Hf1;rk٬|6?>X*H,aR[y%e>)GM&_h(¬/_ȿ5TIzEwYLr}D3*leie. jVF6qs&kw`#6\2>1JQTM)=Aߓw裻q‚8 7-5li,.Jlfo_I!q}z8Jլ!v^ihRk[ ?oש sKcܰZY陉uiޥRo~$ɶW %>q́vds 2U)u)0r74Xtin@ /ڀA,uAN9V0qrOԸCk-+j譏R+`g Oյк~v'<'ay-օ{kQ~fD:,%q`UBiK-:\Xy0Ow#fB@v~iʀ24y'x"oaSQ9+lOD*"8@a2rCShJ3؃^v(սT~`P-7hڤ ;*M7MFu H #d"t=6J|*!J}ޗ_)WL&Yb0Da"py3#7̙`7^gfUa9NՄ({2Zj>^؁M΍E'q/$8XCxOhg&h7p.܉u7R3LQ]Q=dl#/#3lFzSA/R%yg5'+ 7÷xh:"BICу*ڌ1 xhp/gI'f=5ŒrD* {ِZ`Q hTdCo+?g/+rb&m;0.0e3=\Gd;qBN/\J4'9&YxC vym#R%LA6Hp_;Ģ}8h֊sO`Ok~\lѱ57m8a gV_޳/9Ed?ua8ۓ*@wy_,Furcy$A[[ U]w8dxjNXKqUH$5G};exݽTo(63r3 gѪqm$ZN[U 8R̶/Gr K1B̎{Nۍ } Tk#&`2_>$${$%8EnܼZ E O=f/$__x#LL>_\ c)٪J)Augj@zAn5lrIbEme`ǜ~6W79cpIj/J2"u1٫/6f4Y9#M11Pϲz1/R唣 ]QV o.ic׊N>"Ibjkƀ9Hޕ*lC,I\Gn窛1#2qXn] lt6\؅:'lZ+b E9_u2'*{PK u`MC^Qi89ۊa" Q`-QK@NIa Qt"O)A@&P2S$W >ñ`}EB_8/ S|I ܹG~bo]cu>BnӼnSv%$vs[}4S^CFZ ]m2GQiy){w-jⷩm_MMayiᾀQFv)۵&SU':O!^Դ(A +Ӷ#OFAg SKRߪ1OZ/'ԗ o>gW$4\MB~W .;OGIMmˍ450WPF#OkӃQM!k,mCjM)91y'qkyɂh^\cI`; ́O'"Gr-+S*q$l#-ѩ.3qP>d3+kc rc؅IL.e Y4J$P <Bv] *لjɁ؊e$en0],k|K{xXAܫ,U{J>++`@SdgL4_Q- Ⓖ-S`xi wA+yȈΥ}2/n=V;+#יy2{kqk &_?FtMn9NYxb(^#)Bnt8F+:uz*1J&ǭMp(˪-RsC%4DlIP /AuA'9֣>2+`a\MHl 5f16]l҇^F3~_9vFVejr(~ʿg(M#:؎&Dv.s ΊlS-̢2q>ӨnknB9؀  P=ZME,j1\(&Z0,OF =y~T̒eO .VTe6mCE+ M3vG ʡ0'iJ=p,Ch̤= $҃Q rGah+$DJi_bR$5fj}cyD6ɥRB$ģWB Lz#h O=9؞peoqEsAu®+~7* nG9-VS?蛧0L*b[X߷L^t#tv~in[ =-)[2 Pg3' *a%-r($(X$MI/q3|UF"8ȧ~ 'S>f/Ђ5͸9؎(cҷ6#,I~7 $WeٻTK𼳶\ߌћ:(g;y[(k:Awk.~:e^,3x|y%0N`}-H=a҅mǰ'#6/cǭ ]}1X{o &Ybow|r, ɹ+WMN`âiMC^Ӆtn]i\t9ĈRt5Ii.bo©pO>FOYCfd^VxumR/ UQ +%v9 bm * "~)>|?Edoo&zצ]|bajr!F[wl,ަIej"`lo'~RҗF|]imUX gsմcm։*5?95{94 ΙNyYi|JPu U Yǻ"Rzm46y)vB"2\!E>_;Yx4<mMӵ лrEu0g\*#+T<_7䤡bZ~\ qs l0߅<I !FuЊ#Ad'!sc.6zaH 3P$z+ehӭs7d1+:&Agx3ҰU$Kee"=9POP5xJL*il`&UsA/l+-V!0 !54zqCÇ<A{5=ֈk1(3$ yÇ9ƁP s_P<.DTXb z~{Kvsv%~C! uUbB$䒦#t`Xk2#N!a1eP12E1;;L6ާD+8rWu?Jf#> U-ĆRV?iQ?uUw8ZidSX=peOZ=7̀mc +''ư3ԆRӞ ,έ@zObP$Xv>Hqkw$V&]G1D"$o$:&.s3"~^dx wT)Rwbxyaw}>($ * fRz3Hܡ.,/1~Hay Zhn?jiy.Vb<wFⳛ%&l4Jtt5/h_Dh)`-׌VBҵjv3}B3lgyNv/hit]4H>VIN-^̯h5-xVl_JoM>`@h,/DRbYo }&SS7ق YZɸ}Vt1XD8P=3PN6"bSBye?nK7#vsn/<}g7*|c N ^I *&>@I֜V3䞗̩8uucәGq3~hEe]kqϑrkz=J:1=eO RyJ_^5[07Kh:YK=ٵvĹ|q81(+;h\Ż9oph)5nʙ$^d%, (&0GCz2nl/S4;K%۪Wk-ɜ,,( >!Oi(P`sH0GO0# (-M]Y 1[nBr7 |h6 Jɣ" p~mq&+vt7 n#t| y>t3jtE[Y=k lX |g3wVwl K3RͰ0Jlg{+_6\\2f7ց+mM*cq%6tC팯 ~EH]DpωN\ªCsY]JΦ/ Xp!F.II)61Wrlgs#O;~R c%m2B$޵_>3s\UO:$^[tɮȑFCw 5|7",O6xl(}ULr]PZpf#SO8Pavm&C+d?ӻL HpvYbj7$ G(Udi ɇYm Bg 8ROD`ӻs,U,P>q;E|2xO@5w* -VH}kK6{ۑxh`i$a4t@v5%o|l=..TO tLu6£dQEKƬ y5uBҷԸA!P9/hgf|mJˍ dE:l@+ʖW,qXƀVT[nyYB̵a;7g]=f2>auʷO`KV$V;vaj5 )!`&UNK[tY|f\ڦf<)OGS'y?U? A5<z~7&L%LnG'ixw 'Es1pF6 S7:d2p c2K,FAe)MᦐubV>ȸ)_D6W<ɲ`fLo"!vn |PQB?s:<^|k*sHDMydg€cM ~|/eh@~KKe2|˚ mWZ8Q˕ۮǤdUGWoËV9?&\!K]|pQ$Y]-g96 #@k\ۃXw"ItW@,8OnćpE׬<{Fhmoj_AIqj 0h ~>y)&cKe7ނ{d4Y|%ݐSLS7I@_Ԟ- rۦgd.{!ͬ_F gJ=(TU4Q.m-X 0!8eSޕFLՖe^†XjcX,rD%h>0f"ݔھ(R*VˆF\mNm5F,J~X"˓Lu~ =șX#WuruJ`&uwR/y s˟fV[CZ}=$0,<] 0a_dӅ`IjNw9M V``Uh/G~gR!hŢŧ^ 䉚(%3|,T(&:pM7$).}M)N)&L#zyk}{5稝khhƁBEǃcccÝh^WW\tXWK6 J!@N̨#3UմޥY2j1zGmoCg4WbpOz 8ãǕ.?;#QUDbgDŽ;.eֈv=lĂkЅ y:#-?/3$rDK4*P{92J=xi0urPÉ.A35ߖ1_[ Y:,5z[ؓm:ޮ~3ߝQg@ ykYL`3g_whRw@6-:Wu}WEH}JA t@x0m:ୈ:SOTi^= vY,d>#i? ٱ<).NC()‚%vq>D1iM|g qW ;4"sZeHƗCacÎ@9O~`Gur%K߳N)`cώWgR*f_'ΦsGZ0q>䨁tE@a;U<{tx$Ù`H^@r@,&_ -Sr/略}姥Ǹk?6";dX[@g@YXq -'b_H8|GҠET)-,V)}9Ҩ@D+# ׅcs t˪ @n B  DžCi wӊe\1)Ly itʤڠʾ{F$v-LR<LԋY#&] /׳`Oy:Ei"x>ᶐh ) IƺEP@?N.aч!<2!9O_RT'@k=h"]j`틑`Z?d:Zݟ]NpQ.Ju_oU_9tЬ` `FW؂n-(BoőOqy~ n..i?cEbIZ$,bſ=<R;Â("} VcC>K &.\t=%7sEEipGٿ B+7zy-CߖJZ"Ύ캌UL jn@y5bIњ9` ctH!-EЇAV]ڱ.RsbP.vkM@:} ; T=c{gV\gȼ<~\W}T[ι- z3O6JA<rBc35X:4%.}S|*px@44V |5,wVLЯ'LNpAT:L>HN;DUu]odST':ezSjH&` Xgkg9i.Wzj|„ᤢ~_w:s^<MWE PDHr( mBy@c :DUeO$zsBӕe@%0TMzJ\@+t+o :)adСeLdѫY,a*>zuTXdH>n'B}E55Ek#\4S|Mχ `iOeKSP{M}N<ܻ[w}׻;[労'XlB7**ț{%51Y0Cx&>O]<܌mZ -}IZ4sJD\t:&#H b@Mnd_X-!)Cj >zlˏ" f^-xmVE۠6ELD4gut\YGD1'_BHc`P@IKu̼ʸJi.y *++vg єtɈkʖ)X{y7# ؎7n%ޡi߳A!=gT=?l!-=ڣJ\Vjuo_@9|ccB9`RSi} = ;u 䭗x+ڽ.|[_ɵ1B_e\ȣY 5H\;_=Ҹ{&&x=|}!13z1 >t+YRn8ܤ&>⡻SַrHj߫ %)Ó"-3A @_QU +Q(Ok֎%F//H|bEMءwEI,N%S>. SYa"nRsz`͘P-8Eo6WUC}<@EG҆*-!]ai ɁN1,m|ԸHZ'9[>[i>R.l_3 qYZ$?z c{B`cwn ;~ ?giǁt/͕-㼙~,`~~msPnZwn+aMl'ޝ@O EZD[Rv}o{۶ ̈́n*wuw LT{XJ;' 2=Q#3.S{u9x$2( kCd(,E{ ^nS\mjӊ 8YUW+8LL<д*+L+3:JŽfӠ<OqE| D໇~$VY&NN5蕄m}$&#"8ѷh$'W 2PD]"|)L .xJIAa"ޱZDH~xQDI㡔6)tqa3ҷ aO~xBcYR!Ym P-b-ꎸP|?tnƤL+ʞ՞R8HobBܜ?kRY[ i\}/ :w Ljikݾ!7̈́$Y%A(?LS;_J;dGꮍ&y!e_ ƆϾ$dXq];1x%ȏF} ;ng3tVJ]2q@Jͣk+Y}qw&)BJf?ڸގjD"d-tD[vW˟'˔ O#7^s8%m,XFbebޕיE!whYVDCQ[ST=3efÛԣMS::Ld TG|DUNZu@d3E$&*_]{SXo9ai=A:xGP߳m^(e2eۣ.6^R"Ĥ(VzG2%BKR{X'#%`q|T_s!Ŧuz ^6&τ6GW>*+b #%N4{xi OG2٥4]I+ixBM߳^Y! xl<5uoG!tqHqkZ'B9ٷ귲;T |-2);σN0 ]2㡦o_O{9wg {3J ;0T4KWMo;!C_3wf-+Uxp1=r:p덓kWRX" &x<&Ϙ^vJʓd \[-K }wJ2:qqeZX:ݶ|4a<koc}mEt[&{Y&HVɿ'&ү$lJFYDPG,=z6zl#_;[-53#o 5 cϛf%m_R78fKAuZ=ȡ8#reG]ϭNw()' W{,V^ 늠HWiC=wj$2ED ̫B@ABBSXSk${D2E(ػCƯ>Vkr \.tp $"Jy8}m=FKp%?󵌽9z1Rci}yЛ>$BH$&oWwiˇ5ev9Dw1KؤEB.McȦ0" 7R,zy?FE'ON(68U``<꘿9ʮ4rȺm{׭lӻu9G]3WxF HŒi ,~'/mAD=0mQ?cF` bQ׷h0 <݂ z dAǁ2kIt[L1 EwwX4pGu{j9,ya֮|\MĞ/TH2}H B\g"kE^?ȅn>jBvuAlF.˰.n.Ϩ׷҆_rpZo2ͮ|yI$q~8wFòqݿUvc pqJuAV]X30v0hv =h |=}ܜ# XRbt9$J!0U}^kz8IdCL3Xf 簡C$o[djsk򩹞XE_lFsKñk| "tҴH>o2J+"(GWEvyl(C0Zb&A^־XA6ju S4#( z22φ%pu L?/L>H%ahU%sk6 }ЁTiX9{& %~mR0*,V' $`x}9MvrJ$蚡Ξ'pf}mrTZ LߒW]=Ẕm٦)=@_(3ύmS9S*< ~̊*c!81;s(tx+Ua@UW.*gF@hd=[`kSCĝ1`eq@Wd1$d|#b%yY=s;[@[o|zdߛug{u4_=Z4l{ wUX: b~ˍguȃfդ@D%Ruaf-b7ᾣ/^4lai~0uP5!ïz_ف e$Ҽ*82_jKyqob?}Ȑ/+rT ]m2E ;]V)L~袩ƃ ܏Kٖ;Jy˨Nx!X%1I=<¶ \!լV#A/Z)!rQ-d.[pG&!f"\ @Gl* ˰/+3崙uVZZARԺZ݈޾DiSX ԡl汇27R&B8Ri häƒmW)\x!9 Ef\Ou|`D7? x65 p~`d/(xPq/ꑸqΘj~Q.T9zŹj4+\N?E O\W"8xo QKOXȺmBD@8?͒HθRK֡@:X DwH)x'N$J=[OaiQo\Ek/5MKe`YQJ^D[S1 L36}`Y1շ}^DU׬1\!,?ii&Q]I0BPR5/@׽9m$ݲ_սTp=SY\"aO5po@cI⚝NEQu񑑓Miz{ +^7/`NzT|haId \vk9p|x%#Jֆ`E >aR6n |XܖsK0o#u?e?ؖ{gf$Ym+f^Ξ{ra ďqIIt^ 8~63ۗt${Y+/)WMŮN@Yǎ[uWl6 0+`Ozyͷa@+Mpsh(_kyς%E@_E1jHQQKV EX *2w e [`Z!`OUGoFuSl ]Bc<@X?/ñD )Zd3c5Щ0?I u's)"A24*o'Od1dñ7qDmD m &@25YN dǗiq2E/ 8Vhʙ4|e% p a/)mSU߁Giǃֻ`Ի4c)zYILSNl[RR/eh+r;FhH1m<&r2.T_V6G,@iPlZW^E ?ȮMؘ ʇrn}3WHC/]dƫQ]S :'H9ۍ#jYjRcV4xD6VܟZza9 QON M *4%uqvPU|ɠxsK8^nwP4J+ռF[&_ܦU1{= cqC ]3x] #Ly:r2K~T$ݺBSz8b?} !'%X!7@U[O`DivU1lI-l &"Ր9, (& SEo4$(@;B_ХQm{=T N&lIC;ګ{3_3L"A[SBt;ƦV? Ǩ=OYw`߸fMff5E'8iUڬ,#n<1͏؆=p̱yG8QKp1zqr `q$frqsvs51ȾqE*WؚŢa[ JCIIM! ^~<;dZ&d <*(r95-:lSišX`#)GOe29>bҊY܁fz'r'iu|d0 ؝X&(D0iQ}*VoD8aIFȨLyE&|3idGP7k_/# x!t_ܗFS-09XYpu)ۆ5]%O wfo?7H4msprDZb3Z(%CQvfL,e/SC omd/<FCf0q5O1zJoE"^Y`]S- Tc[kcP+^ zx*UN1 '.IS)k칀tUWcL&HYg ͷѨJd!ޱ g2JG0T^hWЋ|c'Jh~$Ro )9b\׊_дT %"b +B`Wʊ "-X+'TʂؔX.Dw,;Ô}S~UdYEBro .g.eU(H&A3ȾQ|h*1U>O?up(%rh@y_P@7XxNݥ޵ZuKqaoF$&j{ƒj =}}@ZI}}H*7v0 HW9WI2)zCeCPmlKgQ5W>'fχ @ u-'b K5qlYSOAvd/F\QW8Xa+o+hob;ծc(8/=ΗUd8,D>U| `kxф*([P@(EB%0c%@2T_Q/yQ7#T(B74AP êjh3~="a4?lẶѯA̐nPYm;C!i~+O ϯP=5l}l-+'nUnn͞$!)IK]fezqPNZO}6Cc:7vKdÁgu8n W_;?D Ɯ Qa8#zf9S@:l!uwȮ| xXx]e 0*'E4QgH~ehL; X}a`yL[պĤ{.qeyM@s Ot 2A*q|;&ln<쮢M}ד, 1.Qr]%.)+X͛3pT\aD#c!rhq`1%6&<ރI_sL6àz"C*FR5PFy0_.@!-GR<"ˋ 1N˞&HɄM}@Λfl0*2dž^¨º:?7^6O !n۫h|!Ζ0 i&X2}:l(z8-!ZF'YuPd GA{{vMsu}?-G?M.,'~I"x}q3Cw4Z l7 Cbu3S&"ZQ=vhns. U6E$ع`d݉a,ʸ*R>i!XvG\\)3+z 9/e~zlTy]ǫRG H;c^\!`YĆ"6b9TB- ֓,N `]V[-a j7hI7?L5$VC/yͦ}'!Nm. x_UZa]b4 U0[/s7[L$kzBdfv/cJӲnۂ 37 aο5}/!Urx니ڥzR.IhS Ey}XNd3+*xU㡕@ߦƻɋQ'W5+JaSBE>9ǒ5bi[|@>vśшQN#,h'XUG!IE)&)B e\ܕ&oL2^G &۩!8 irkj?9.Hz {;sl'u˅? `]Q`}houC< W!n|{ã08MJ >&J0}:;Q_%J,&%Rl^pq˪T DC U )UVrJہ$y+g퐆7UXr _PFɔMΕlu~B/273QF K@cyOajt$ <5\[9Ec0e8vQ=LF`+8B@A*{F3:>AkQ8\ ^_XXAٷ`gm!LW)>4!@4b o /_CN^DQ[JxHg[T:MB[CYJQ*5>-5p&6' twLVe)gq",n/}򢔼PceUBFJ5NMhsA&6kTJsO8 211p:V0'HgOC?Xt1RG>3Zf&[m\@W4E!xrz4*1Nsz0`TjrK+ Ȣƞͱļ 5B6}hŗH/ ۂ~D)ҵL":.%z ̛Ԁ:_=7$ ž,2[X L Aqj3<TP;VDç\eU6FGw0fa Gj,?1u?[Z˚ w|#I\sƋ}eQtz!7 zrR=DчT sE Ғ~- !6É@dZlloΨ㵭uUmQL\(mF,VA' =ՃN gZ?cW#~%u%(e9o#ق ёwp&_KN8eLHVҫ~M$$tLЬJK>s}( ѿE?20E`pEyi=j_D+ZSqɓQ׽r7٣I?ױ/-G[ (b.-2Usve]}|N+?AO.ܸSd{g1`Ve2c<o}8 0 mն.r4q>^pzؿ:ﰌ^_YF5&֏?JxT!\!ZX5 i;)RaB`XF^WoSzo S P`v+&z CiN`7@-4xmW̅-J|kB`~ ʾHjMQmZVU޷s+9$ 3 N">O+󊆿K^qw (P$&JLMct♓$]h20 c׉Bk{%86\{ 7__+Κ&b )qQ8m>!f :Sx*k`p^J8+Dtᄢ4aKG'E~*Ux7x"܊yH2!yґ25c+/\VԁTM痩ؠ,/i~fu2v)WB3P.rŃ*kUYWɐxԫ#z :Eg W#!/1UC@aODj\ SKt1vbqvCfdIvƀQ%GV7:Jo"jF$p⦕$\]o{ReoW 6n&|L.gLxaV 1. @ Z tA#Wu.ތ`8TVr cbYDmR-3uD9o ܉F2̿ UdQ-9fT`sy,7ZD\s.R}0L@z2]{Xj )# v=3-I< aى \K)dL&p6hAAJͥM%*4z lL-eoD8pr( Ne`"X4+k~7wTd /*3+ywθMۥOXkf1ȣ$Vd'mIj\Uјhگ!*sO(2 Q1B.TA0Kk88 yEʐ7zc>ʠؑdr~IwYr`[yi sP'w.h]#?AVUs2.BR+,B4-4 30rU>Cm:xjʦn>jdXV]Rx%.0@ 좓DUPB\/(M{E2Ȫ([&w]EN/uwnZp<}sW GS㴛 `0W>N㒊bڎ}&v^P$Q} z5Kҧ2 󈜧?P+0yyz )%'Q61W󄉇Tw j[z0%u/H!jU\*4qE:qsakLgy9{ c4XHZ-7hfWqjr\DKhPB =G_ jL-EI_ϩGozNioKk]ވƝ2 љYt][|p瓿@ҡJC8x) 1M)D8PЭ \r P eIfZ:?QNsˋԏf ?cFV %) ʬ9P6c٦gf9DL!?ۅ ,Z._r̝9j:HX"[CrNf~on1g?J̩ 0H%m&ΝVUÆ5*UdjK/>4^PmkuǣGI#d */uӋi|~uC^miCq̈́/%6[`E_bW)9B(HKvu.xhEx!?[k݁Cjn]FOe杨fsS{m^J6YS{dsI5R-On*yCx~w!{=1ny‹ T3:A6@̪PbI=S[_}\;HH,DכSuSnѬ&A(`&,9-:nJ &vGB҆–L=ɿx cm -[E5xO)`,}niPqW|^'^X)#';[D^ke[EX,5ôn÷lf|hnq x0<ϣbFK(Ie?kNǙ5%3UobhF. 's?5F C#Q!GjC{BY2*6uT:nC&QIRKt!hieBSaΌ{C,4~}9OJ>ߟ#rA huMY` Lp+bTq?YA_ᅷA6e46}A,\l-1ط֢L] K]oG3b z+zZP'l}gzh6q( *fiZۅ13.LGX3tDJL`I+ O6Xt+OLbj#1jc6|mj o`r*ʼڸüZL)-ι۳ա:+euu>+irc.?Z)d+Q{M~"NAqg,gwQ( L/XR.eh+ϧ 겙wP!r$t+3DiosƘgW{Ŗ5qnn|o'*}."V$ rDC*9')lz.Y'^̥ ($!C?t{CfH1 4AAx!sYgURJC1xA pvk&J36qH pB'紖`,Ȇҩu

    Z` 1_Aa_m" tYgo pe,#|8[eWQ>@dCᬷ碖`34W_:%Z<%O3V:C-r~a9q|$s9}lq̙Bj7YF3~WSBh2:SUU2@5,[ f 4tacWF1^9q:<4LFdYCQ..EW)80IǛwpo7жzI~ۘ@0{Ul jt=7v脳gֲ[*\ov`2AOo~` @K9uSfԺ./z8^{z~G}OթeC9bh53= A"0,Fu`'+IUGP \|7H KOa' ~yT&^)g̪!qtӠ3{tDFoe&YF DerҐͫ_N]>X6MQgY䨆33^D#䒸k],}.]&<3/=e4fVyzx3$Qc{0'W FwHI &|fe{OSPgC+|lbvQEpqLfKjfNZI8cpX]d]; GNukx{MRg1`@3\(vS 9I*$IH-୮PޔX؄u?agdlf?J.~oTv5iYp ܒwf%:`JYɣR EsEƥ$T_Vg% lCRAxKGzP\U!IKO{)ຎvNچX20+vo+:+*(RL X+}@yA],u;FN-͏S cl=n{Cs9:\MA& X F,;FѬԲrWZkR({eJ>&Xp%ibԠbZJ~A_iH۠M{R%1ە8 If6ۗX O %B`:؁@Ay ҵEloDn,\x+DMfq1㫹#lr`1v}|a<Aӕ,u# ]ѫT2k`$#OVLY=ҏәGo)P3`ҲeQHօs/7gF薲˗/P:oU zƶ s'7 beWD;MHrK>W|:n:5$OJcJH9SҞNI&23:t1@2aspRǰJNGyQ'ӡ o؄@-t\F+qc=gGc$&w3vLFZ Bv3Dx^m^bK8L$׆;x4:<̔x¨R2Ѩ&J%~Z'93` $jTmu)_n6WH!U9ѴݱBølNd_?3) ;WS$I^:EV: :3=BckdSiu=OtBUU<)&z_Π"za9z+*ߜp_6isP<edd9"яWVν-)(K7+{MKdn -ۑt]U5 tT0R\xJ߳J;W .o[C^MF8U@vrecVŪD2,Vg;wlbU&@n1X_Yp˜{0zH ᨐEAZƟykE OV wtNKb yX ti1N܆Vm:HNm*i|WXA+xƎm6.[H_ ,.}P_H'>7XHuD8Y<L1TZ]q D?:,u0" IgwZ>HR)- ;' QCj/4}jWn}SA\9r H^IHCE¼/S2ʢI v,M _ |ۿki ;i83q?9_;l;K>E;qc2>)YӕV_!+[ņ7]6T&Wu: 8eL Ǜμo^)H3#,WkAfR?A7.`pԗ0ߝX;lf厂KyC E'-@W#y0~"[ej񷠺l}KK㻌BIf|w#C!p"H 8;;EkN [=P6% ˭׾c3 aqe%;HFvhR4LCD Iyݷɇ=Wڟ{n}WR f$_ӛohIH͉#DePN 7+auQzԻ'7j:bzԦ~'?QYtqzf9Ȩs'=&Nvw6&mc~l UZ:Œ|T!GKW~*5p8!_-Mn耓>Z+j$C2=}cZc]n˰J-g2.vBZfV_g}Liw9~"hˀY>^)Bjcg5~&.}BAsf,=lYxݯ1NA~b0hQh )&E!y?EZ?O*?qDj%m2hQi>`ɻ@(xwa߷J'pQӅq=rRWҺj0"+`m8J&uTPbqa4O^媳N'@"3_gz6| `Y mfaǜɔdB`0ϰFڃ)じ/ G)-g6@=u٤p8ŋ,H2}.d\ V^&(ktvݘ|b*G=u ,#DXv3.&h٧7Wơn ] 0T%Y&Ļ~*F7ضELBf>L_FJB/(ElJ y]s*'70ԤS)L&MNf^d? / UeIѡe؃}&9lTDiRadkf .Ix4*R Fr(ƊCu9iV;㼇-ǛLٟd)/ScR`30?Nnsz pd"rl2sh-p:LZ*ȴkiS*eYOf]y CzfƹMRMko;,08 tNG> +3Xo4Ԑli8 /лԃZûRCEx/56uHrdʦUowǼ/2խ?j/p}Td6)nIM[PjJ3B{ϔE}V{yί-5D'.[DpaM髍p3'DnŚj`H6`i}KmY.f|SR7}_ML#@5e*mx{. g1S=״lPLhXn-9;Ԕ;YuTZ ?O&<&zkt1q]牻1kypdL `מLӱ8}tFkEtdPb)ÐurL؎䊭"#ϗgGVf+9$]'*Żɐpr!+~/}5kL6_^ĵ+jc].2+qbFJ<[FAEZlGQ+| J`*k,\P ?$i:cpX PӹFUJ.OPlBymDyu!YחNhyŠA&0,"fLn GР<^Buz2+!ЛF2LS$fu+ŻpOe*B5O9 n&WE) eȎ]&*j[9?ceFZ$,f Ѝ2!fI\Ԣ̃`powqg ph nt%BhSbس،{NP;%`OKBe FRLtגŋd$ كՌx0ȺnBlT!L㆐c}]|ف̶M'~c^|2| UL~nipp$qru0ZA|$*rKF4ZڰÍ_U/ki#*#׸&R*Uk~m4[AoR8d$lR Na(E{BpE X@pLfm&h`Q HU@I ·HS@MOF%L&Ko QΗUYGRi5y̐բ(( O)5I: 3Пٹ!,dMw\  u4䠐rȂ2BRX 6g]+0eAi*f1 tR3{ɶŋImHKZ4Uo׫], RjZ#*d%(Y.mC h|S:{2X[Zk]J DVW1ݰZS)RV43҈);2@t" >fsP%5ꖉ hG:BB$+Ȱ*S8'Ҵx+Q0v3njY5!4~u1jcYw%Bff  gTugX$54lZ/җE~w)Ir 9ƍFRFZq$5:Д5_8ta`|`ɯxi48 @xI,W;Xt{|Cp}]vޓtg(q`?돔gwD 3EgbD6b RNg,|֑;ߝP)())}rH C͛W]Hk {v4Ǻj4Lqxgn鿮}4>6m! D}PY \2#%<%X3ar]9JKw}AI۩vkh2*I1V]^e-i9ώa5a+PmƣXِjqz$bAb;nrhV(SΗ{6ߓcoQ пq`U7sٕiyjQ@ߪ^axc3mG*9g>~ޓFDuߣTxǡ42wUA|YH6! &\ueDP qIa2?&$WHΡͩR5n$Oy]G@6βg )uv6QGbX c{R3zUb謿X@MD #S&IXTs1rWxW\Y&?$ Œ22&qN!KZ$!;+Nݎ%xV_꘭F^ Q[v9jjW{9 qT0q~6DS:İAEurnqo]qvw25Ș`M@@蝁SqEK_?WfW6k[C-4(̃&!/@ˣkgE,["_) .˔kKymNcBKeR1t'5_Q>c /@NB 7)nSiqbwKRcp] i=WKntа*aʲ-I-bR1J =z<*-)tHכQT9.y6m3TT=kLsboT_"|CLNT2ozeD" mDJ&zkLn;5^cϏ 4bb!@hVk m/i22-Xdȝܹsۿ2o@v`PYFcMVeƕ<w3Ȣc," <'"(SWDf!'݆ 7r"|9$$>"P)oF>P7`!gLuϯnOAH*=$vEE.@!ͻIUȽk^WF*ei\34MO.M0dt-GKwwXW}&M,as'l7#C"0{5z`MEa ډzkc=-?jmuR샳9- U -2(ۦuxC'QPEc,`e*M?N.=ڮMy̽2:2}k#D;+NRnah1/3P\0tfYKM7=c|6_o‹Akdea0!YD}88,K@ȱiex-!DIsGa"<p|1[h D],aUA?A@Y|X`Y?KyP8&7b=kX >qJcvÂD=gGIJm+,j?"njhq{ښ n yw(XCaeiE5tO+Yt5Y4p~ iA\h8Un:o$0 &B$#1I)~9bfrހ:5In{aLZn sE9N|j~Fhk`[91EdvEZQWn5dv`Jr޲!?\M.h: IgBdO% ehCkm'1FWSq5[! 4mdE2UxW8U/TH/;1$iJhBt&0:zTW)D^|H>q+fk#L)?&!?Hdlp(0c#ԳefN65 x.'dh3ַ,~(ž]Uɀ v->KAjqٕ7KeQ`4OK7>{,L`Zi {Xכ!dmNɫ)#Sq(ݭ@'֣z8t$p86 r :1ѧY~*š싇o!8xn)K$(B*]F k0eq 28OrÕtM'!c=RZ/@>U^~$] ~w~ܟzNV&fhC%,.qW82+0s(0yܨ Ҕ |" uR{ޅdF Й`XuJc1Z;_H-?xŒ>A6% 7bC}9Q9 HbU)`:+*waTx]0*LWKȠ]< "p)XXq(:jx?I Uq#,0[ϣc#gaHjBLg.n֜Л@o'y_f"ۈ2U~ZiH_O-vm49.ʙPh LQΩfg@`fH|g(z1&V\EY^ŭ풯Ilo% rI EhWY۷jǤɷVLkiZtXl-"Wd' RS?P߳B,.!I+1ة68[ҞI=`\J~ {C33 \`lz= Pjgﴰ6J;2l\Ca4/t"MLѷ8 6jW{@ rQ&\PXaع| Orf?`>ol,eh>z 5 `*ŎN]cU"QØ`K{1>}Zȁ4.v>S}p7~7>R:ћ&iINn5klB_]Jҝ>kDkdRH< xH+(F"0us-0[X`M񔘇PculxV{&Gф=G@ ʗ%݇9PE))%206,#VTQ5eS4}sX[(8 *.Kp/SOP`s@jʉJ *B.;me߯喼o \Ihuq$G\3 O:8[1˥yz~DyJ_f%n~qI!g̶܃ gcl~k =/n ŪmkĺtsvG:A]q_U='O')M]81jE$&hQ.jhVNS oHl.yra#{UQ՗HºR;qcƒ݂'dXZ+/܄" tڀT/Q(>T:7LĹii43B8P*;BW{-[[D(ǗX )K۔oYsܨs1)xTgi=um]=TC02HCS_&́U}P~OZN80ʘ;? ikW ?댶ZԬQN @ ~c^azOX'I*!ޟlu:n< *7ᝣ8k./>EܳW'6"ayk J ǞS.%/wIR(Vz?cՌbp_ql  N&+|CL=m|CgXKᚳpA2佞8- UJ;U Ŧi+lX\ zALHYSulmXx|+r"̌Zƪ)^{<^cW!!wPD鎷$<p2A/\3E9halNũn̡@̏_wOWWIDv} l Zf(ƹYBԨ@rMosVtORRe+wJ ]zfo)[,S y^@]{[hg͐1}ֿkTEw o|CJR%%Jx7ԏ7Ƚ Lۦ;oiݐrI rOCj\C3(B[2_k=s`ʓypՍ;fwh:(]sʷlW3ߓzy ! +\J*ӂ_Z ܮ͙RAw8ƅmYahY6<g`EV{ w>\deB/8#L}!VGwy?c^vēF+MB2ιI%ɇ~~Hw_~@玎ͧ^z38%HJd;Pt>@dVBv1l}zyVn֑+(Q~OrN4cx y^l׸l Ч3d9ڌ$jEF䱱 Wǎ<߾II.e*)Tk5G!R){ hŭ4/}T1XB?lv\aIs~ucAS)gG"gb(b`,Wr ]4,X,ݚA߮Q!>js1O,6עO#4`ݙ?$al[GM!BF qsIc{{')E|fI#YhYe"?[Y %wk2LPI8N_J!ul,;ꠌ7ܼG2##ݝ?'}}ZqseDVӅZ@zXsqGƀcb\kMTvY<#&((r(%+tr'5RcQV~x(/QjM@v  :@RiTwR'nѦ{C]$lh޺m#1kZ4?/'%yn Mn ~n(_J@? bx <1; (- H|ՊhBFaGh `!mGC -ıRg|hCAXLPԓkAJ g2Yݾn$:iY+_ cZeN]y4Cش]aUe-tzΘ^ƽm2Q*->HDXKsMPF:wG퇍7Kv/`W<FkZl:Di! ȉCYBaŹԁ"M#0m矙>Ǥ,x?_C5 yOZQ ;2kU_sErW\*4ԞϬa~X~gd_/Bu<8L%|kkEc ĐI $VnzPC :N&ُ.`P!fgˠ?ƪ]Y'P5u4QǞdPX,$WpfqN#HvxGɓ9VCyPAB@ZLi|`cXTir|q? nd 'x;&Fv#e'VCSta+1xKg/¡w!i,y3KTҋ^?tx1R،մ^U(0~a _ 3:^\yo# .k1 4^7$^䕖 0OmM=T. \.1&!L4mӣ ^]wC '#L? tCo°@ZJZh=MzUcPQp}*M.Ge͗7VijU  ]P$4\(eR#Cw$A >9]"~! sxSXHa* >~~G|)U?|͉(32t^"{1pv4Kt!{E70Luf*GG!ALBX;|sO!Fbj]2Vt(U{䟅,cBJhX`T$\II!]%Y{A+q=d R3tR ŸU]p8|DEX_{k(E2 K#.WfTy0w9~ / *.^:=?B̺MҒ#dCоFwz4舴TB ƳԇtJ2Sɋ` )DWw/K;v3YoktX[QiDmaʹk8qA5<5 bLa#oelN>u jhW5Ҩt`u3=x̡?qù??6*?cF]nkC .Q)*ͺoR1#K =g?Q9BZ{Y#Z m;/N5 x27m3ku&*%U2@Y TzCE V2tסΥ 96IP vsH*զBn4d x Co ݂ssH9uc6ps{ ܘ@9ux ! +|]ZN!;ſ.XRG!W\u?qMFrwd{! ;k.k05pك`B_kw-r0Vz?vw+_+e_&oBj<\'_4)CJX@aңa@|DyXC< J,(@;͋Yqжjrk`<>K=q㑯JPNK衎,Z@W;Cyx-PΎY°21P^t,ud۱nI4y$VeB1͵fR7LWDu/j yO*,o:v)`'ǜ"}m(aeci a>v3WaGr.*`M5;LƲ?Ye1adCdR:M0/|uUG~˚ FJQFZȀݥktLErg^D ܵT/"3*Ȇme}KwCQk]3|CoRx^MI8QGX_^V8.ԭr"\^U kIJEs77Gg_6m []U`*XI$ow0i[)zCrJ*e|8Q`R% "`#"X[ҵj0M;[j9阧> O V|i76ViCx,`iǟ9բRom%h:FIz r&{䩲˽>@uț5:9 2B Q0OĈ5B >Wu%ZaK>M\ლv4Np |寚e5 R-)xh ))4g|`O6|Ioil"6P6D{M=qK{|^YDyG; !jw9|&>P%1 bjh=OVn6?N}DL*_tkMJú]O@W94uư>ao9jz22Б[Cf!} =;Nӧ,>h_#(K%Ea!Od?zub(2U -ٮxv0*xc(K@5[ovSv9r>bfQSYM 9Z² tWwe܅Iz Sbm,F6Q~\SD Зx00BȐ8˵k+%" @x ۠^-C YD \ BBgWIWTE̮[{ *{cg.P?;ZzD>SJxTM`0-(Av7)ALYAB8(/2'g]]J]IX&|Ѳ{²os=N!s:萦Q(Z2bQ5`( ]m"u_E0ܣ&RB|bFBDtlz3+o}L]V,E(^;a@[}՜ E%(Kvj)IjAaElAN[m pb>o7z]W{f)j{' ɌQU3]OZB;IUCê).Y h п1l8趭El#z8gA[5 3j̘{u;  时 VB7mxU7j'*N]x( 0@䩘7ExwqQ F-}3xab}BC+ 1MQxOG='lKO,\R.pƩ`Ö~m;@ 6gl^ ҁ `jހc62M0}x]^-liz!;1u:rF0◤aP3hEP~oC NLETs0f?oGB\ ^Ku=`GGoB5&ad20EjZ;Zߙ !}.{O$Ck< K%dt=aL:O7P.y!+V W@i KT0jg7꽞voFk٥x5>?hu-`(/kxς>.nKb_{ (xsPx/kSA5R>,v`ts\q (o6fVI)a' /ϑ*y*V,VX[2` {!U)"=Iu#!~ܷ{QGy7my!$G2ZYyY殸ZאУsi+/%V;Qǯ-r' fBm0#v \ǚr &><cimBQ ŸyJIy=C.G=m% vqЬm}+N.+2MzR³ʒ`2 K;HL}wAYnW#}NxڀsS>Z%d($hh)!Y]\edT~އ&P|O8TY_T/Qb<]q293JOUk'՛mOZ%NǾ u)2dmG'ߵd,XZ3#Fߒ2WkNoJU䔭slU*}gYTj;?f (h`CMѰ3Ut{U/Hi.35WHܚ_R۟h: (Keye7ʰa$N<5>Pذ2A^/6Z3ޥN6y|N#*m%io2RO`~F+ؕi 3uSuWnV7*QRH|$=fMFkjȡtr!:cn5N\/;gRE{S7k|.#c6XmPM RLq@ԓ|/PfzD,VkXG4ų3<^m^M*jvx.@e>c'/,p ~H#,@sV8L6*~+Ódv jSa,s+P+{?[%3f;'F!F=5[uRtFiU^`ٸ$Vu4 1j rSDkM\#'uH|YF Ԍ' ѥi`l!0>A`^rU ejiX}0PŜ P X.Ծݻ%1[} RKGs k?Z灐&:TLt8֢9"3K"X:y G-BBzs1w[HFk(CJ=C~N.: U+8{ Ռ5򯡞KJ`UPGEfњ &lYG]=e7_: |XxF+h]}'w$JTpPe5z:! ^q9|Fo,fz7S^+,]RuG$'A4YQ5%𔴹#Umϡc-:L=SKvɗnB}5'ݣC%iO6oՖiw=gJ &~VHd'G N~yw Y@WW<>4 ',ykظj6PjRy{tk<-F٤6q;n>a>̮];M_ゔ &\sA{Ԙ lU-ӂxk$=gpY5Bw Uel/Ŝ)!c.b=.DҐFf$M[, ]#8 @ʺdDއ;\([ɳ^>zOpm6kqc{tFCSOhŜʣ (R(-0PߵQHfe͸u^921>Y|12oApdzw/"K&qdkF649"{ĺ<T6LЩFOlk,d[`>gJ8&k*Am7?t-TUAdn6S jbh eIͧE>&Y 2;[c:^7^[B ÍDڳB{7z4TMCd/Tz94,.ӝ =f-,Ԑ؍08DCT.tq{h^RX$y)F3JHEVUz<司_|J֝1ȗ"uDN G9MyFlhKtyJ39dr Au?K8axʝ_:͆ïIgBiriB^F:$~Feg/[s~r_<9#tmSa/ٿk/ ԰a.2ߧwb?m 5"L'_jt6L-nN}V' [O;8vaL5dĿ-87?qʧVUAt!U Y|;N, AjV${-/2ɹ| wQ~y4"(,; k@,ģw@OPJ_]OsMwRJ_ xgD옜ٿim>[sn2kw1P1b/.{xGݸ?M}:Νjw$bH VK}Vʽsĉև| ƬEܢ4!x 5fǨ#176ſ "zP [ @'S]3I0{@s)ŦV"BYAy])jcNW{sOvWQ#m rql]֊-O՞AQ-w0ǟ mLsKDUN$Xf'A!">3z2.)ccw%Vv0 -5uZEԪ֪^ˊθ鶟h<ֶc/K}-.fֽq ФbTcn⯻-lqd9ݣDh4D=i.=-/@4gYC*cdWAZqgȎ3p=5Ξ鹠`LՑ:b.DHYb*U`_SA_Tܵþ%ل?w2nY9ǟطY Γ:sBpH2d% tMI`{0_55"aM`Ry=UC=݂!̘@ j/>ut =|KKXcgP9~BU?YcߠĔBPOu\_Z,hE0S-XyІSe.)xWQi?1툃n쐣nGXF" G/D.R9'KͅơU $dnga4#dɅNy`RHTjC'>FN8dp1n{9ͨ J+LH0)E[͉2IM WsnaKSAF7{a8FZWamR]Ul_l~An<ȄƎhvn(ߦ|6p|L4xx VmE-[O+j,V!<ib&q;>k>!~=?L914HgJ>)DwY><2-M8>4<7n.;dtR57؂>\ d;]0pg}YXzKܲrMb) 3( ̸=54w;T"ҥ*p] + _9Ǚ uI,}+ ,{߯jlMUy4|<־Fz a~ JP > ?i(0Qhe8#q$hH>cSPceax%6ҹhȒ?%pL5t]Y<֩\@^=p}If$ɽLK+ ܟa9Ow_:Y,]\%^;˩!K֕ӹ>K-QFqĨ2)>#lPGsݩ'܅XdtlKcȜx˅Y/ >{]I-ƒYhuc;9Z>nTt5w14`-qeR]Z죭ߕ1ƝȒwkna~qNWэ=l Zv5HR峇0_z|Sogz7iFe2quylFľqDGS ^bXkrT Ia!#zsA,k>N';[5!lOYGHqW8Qװ oآT ==038EK F[+"DS0/ @D#7.L[&~S1e>T.~]l&}0#tiX}f֐pv"R>ۼ&7C0WD |Lu&eP. -RjD99q'*wi"UmVX }<[⾅dLp.6K홄'ö*(t9Dz&L3e 7(ucDG>hHc@9?ӳ !:4⵼dZ!k5ߡ;_ A'蘫ڃ5U l^:v"A$-{dX;t4t Prvɉ]fͥI"+ŘmYEhĒП{kķ ೊ GqXwHEyn]H˰d 15L-W~-ؿ~ i}!N}+9jV:䅗Yg@4.OHnqv-nV:sע\՛%_ e`-k̊o%,'yaem,9UUkqzM)jxWޥ FEۗ\Ӣ&A8n7eOxRʚ}7$  &;?azx-=LNf|,Zf %/CʖfI@.vA{ɧUFҭjKCrooyѯ҄6 9 e3C*xyJK [!`tU?hLCՁ2t95Qя̢.[thZy)^_@n0QPݲ,evP͕s1Z}M x*ywhgsV q-<-b'Xf+Yd21q$5F֪VX[`t:> *l4g2 5BI"EBz{a(>iPWuMPm'\QIڷ r^"8pVS bE%bƻPsdyjol8B݆e3a+z$x_fw3mCQ9V栥:o`#f(RRh(wrUR 'd!ىBpq. :s_^4v zU|)ecRxCY/= <fHmj&4ScP8uɂSzW fs߅ڻDB@.]K8aTF4!i{b7!tO.ڮe) Acxs"d=?Bڤ7ڰ*67;d ˉFk-ď}_d5& 2SP\W4HQÌ-U"7 - ޡ8Nn+,P7t"jy@)Rj5Y_2X,/Fw#qês^[̍K$ g DKR^Oď-& lO8>&5†(jG63RM<pXKGKi RIes`N,3QV=?Du mjQ>VEf ݀+5IH;f> M@ҽH+-бś~i c09&UZjClKS6|D {r |ۖn]D #Hr[4=fpj:)^5U[ c%Jp}Wz7nPb0 CۃGLC+4Tm| X"o_`?9-ak1K-l(AR|`k@WIG+D"1'3T ?$S%?*t†s0ؔq;]A]5i|RĦ at&]3!@]~Qv'mf^(jѓL%0'ډ - &?KHAuvCõu'5t )B> S Q12%gMЮ} M#uM ۚ*7RR|pݖ#Qu%F-;A '#??GA -LYcPQV Gm%G%1145 각v)Dꄈ"̺c+N,l|qz 6k&K}9=gI޲`ZargTWŜmW+&4 XQI:^ɩbWԚ9ׂ{kU/#mF4daE۶y?sc=+`d *2F QM%V>xqGlW:b3?W.A,xӼ/W4׸qNv# ̩U$N;`KO5T[*J)Zv򍸞,Bh4m/AAl]iK4vQa TaӘya/gqkFZҷH9 "t˷uM얁5@AzPJKkLaý6a#jO.mr]P4!TEbe`]KVe7p{ X xpNTQP qEn}!޽)2ʠ8C̷( ^Hl0ȲM;vXX+@DDٟG  VzfjSF_3lM`t싁&j^/R7q0 ӧ>kA7g,oGh -=F@{@Ҏ)ku"2/X6gFb/0',Q R=X,W+s kx$S2hV3Ѹ  (1zǎZ4e!Obʶ%:/hJW4_RYaڄ렄i` ՝ 539"6L|6cܬկhL!K.ǔhIRmϜ;>9\/00/ދ˶ c(%[;4P;.$ScnDOSPg`rœYX7#PCjwtLpvA߼=,G8.,"]pЗ5N-iiLtK1[J'uvZ-$޷rMzg <7Z7އno3Ikv?=Q Jmq`ʴ4Lc]#92334s,@5 ֊7N[C""烘A`&d)i,hWn4|#nT%cה_go> A휖b,ףFwY)ٔuC7>6WDe&C~=P4Kyb&.p}Dɰ2L8%]/*]pw'4it։o|ắgd' ħT+Rn07IJ%\@ % m>c':LYaPZZe9"RB9۴ y^@Ш 3^0 *8T`uG={[6p&v&=6nWI`zoD}r1PճK\RY{JʼfrpbmaG7<UvYx}$  jdȞZw l9^oBӟŸ~NYTˉ  wtP^zIcɍz%;VÞR ˆTV"(OPt\L G̺U]CxӽG Ͳ]lݏJdM_6)N*\In?pR°>>*;sw7:2}L:E#!m xqjY2B-u1v ).%x+_`KdthM-.`]AB \ PӪ2 ϊ ]?w$@e/J pBn7vRaQmY)L*zfLro<@lS^t_-Ei`U4FbNCc Ž{Ӹ<ם ǿk"˨bGX w{[u-^xօIYyP k>`B@g legLimz@P*S5ک"i=N~*KPEvA. opQk^PR9z̖.zՠOI9k6Zߚ[&I!s+VBWٍp:wQشT!lㄐUU\r%;$Da6AtyxN .ҬɬlɷA F?m֎TEs{bps$, <5+5RVn;=|'qo03!~ pɼ>ї& 0cbԓN?-Cݨ'%=V\-(2@]SO2&H^b- fgPK#K]TURjh K:cί{RI=!L%DH%*9t YK]G '8z/֛Yj%~`/P{:1%8H9XM+}@{r>Nbԥ@r*d]%y;8s}P1_Nzn$p6~ }{E  +̻YX/4<Bo=àyZ:,B3&'4(SVYokM)ۀ ~q xIN)mpS%S؇ڌ*u;jr p^y[ݡ\\齼DiIؗȀ=jߝ$30=EgeBSƃJ\c~BA~C$#4 Rcoqr17]|4#*1KhcWNau9Lk94[:53\{uD΃zV6ĐF~Q9(b2[ - F5P)NOɴ$f$MyƑvC<'[ibUJM1 2U:S}!;\~ thAIS9 ;$'oB"rjuү恕ړq̊>0i4PIv6Rcή>+HGsoB۳ĦT#7%]:IU0II}TF5sb&9A}+(RvaN |bWRL G@4K bT"?V<IXmp |Te-L7!-hʣlHG''Ҥt^n,"=^ξkSIF6K"!yNP^m7 w8-aRC ?Gn;ZwBD3vtUa_=8;6IʡQڼ07#X/M:y`5*Amh3S$q:=¿%2//o@n.l&5SsTߏ|kА*T#ςHЇ򱞐]{S Օu ƿx;BL H=Ck$ ڬuG)bҘ`} f"3gN-D:x$a1-.#-:>vA:  `G\8|o*կmgAxnZ՟%T6ugGEuԍٹzzq*)m_/gD齋3χ.9G e4-. ('.GL]XGڠj@ljB&L0륇|nr%,,h#?dQy>wpE/䷀o)R͵MF+7^H6I#H2l3eau,{/9U0,2$Y||b_CPCA! \ݯlt OܹVW5Itq@2̰HUKm]Q0M6*9V:pz$#kT| #NLIkn> \X:-5i _5i0bnqS޺!Z2 {Ʀ$Vǥ.ʞNb@@{8g $,|]K]W`-hO r6O>RIq=-Y LɿR{?R'rnx7#ҖeIN* k|rAuVeǡrHG<q?;suyp32UU%^w)Рv 5Ny3y mP۸m17RjϟQ5r _bGXxEEYC*;]vo58aoڅ/x DR3IH[,d>D`r|ӛG^e7@!,-t;iD;*n*کV0$xkz1 U Kܔ/% 2Z!#o1q7=PdiV˜8{!ؖ1 sFǰmS9 ԳPjLL(&GA\J:cZxBwv|UTķ @ o/" hq%Dy^CԻ^V>O6ocfsq;*jلj:r"\0 $' *lEn)^H)7o>fEFJB3aswz`r2U4S̳+"`1bvNi6oʶ-6;[:).nӇ̀GK$|DѦʆ eNhާod?'q`T<_=lZwR=0;x ASfR=r>́LDV q3b˺x~CCP'iG&M7q&}JxM˂LRV\3w]Bk*%HV +9\އ73uNӂpOy#|5[ /.g (uҠ]aSu9 $B{EVs;ѭ&VmYף:4?yi3\}UFk{^H<R淰4|"zZ+M55Q:? ^FHg<7<t\[9ZM&#]c;$8? 笔fGHi8 9h /Ri([WFJp,#:<) ՉDG<]1[xyRM?_yLaGW^PT[;Z Pu$sS~ =js"OVCoRDC/Z!f.`ϺX6V-5>n \hkBFf=YP53 }6%@B]C_1y&ώ5'6,Lw#U:P񗥖8/ uW%םø6%j홗dq2&6[2lN ?uF>.s渨{HE?q (;dVyIg6X*qN? W9(Be|ʛE \/JqA0k8yvDߟ=BD-VSޮ5GD`5ЃrB}97j'ox:$Fk{xGƏI[͍!iœZ_ _!P˺Pb8KnK#r@}) Oe`7n\L= PG{&V\d(_5Z+7c X6W~J[&tiol!PB׼?Re|X}D00oC,5",[>0/7N..O^C+GpپAKj\-~M\*vVsDCyVb%ES$=đ WԡXOH}JNkp0| v0߼ 1qm7L_ڬDV:/޺64)Lg uضȖX54]3}jydH@gwМd595ՙjsn;u8LL_AdxG>~gpi(mH1p[ωƏwA<\%2F/QZxd#_u0^M>vZB}!b+"{iQ^Y;~% C׸8h|nQH4U=JTrf`d$v yOUUqšH? /@/A^֡G~'>Nt =݄mBsƓ Kؾ9uzH^18 +tig:vF*0 ]Qj`'Mn4IN, 4EEz9?oPDhIpهbY2*e ~F{lq%^<8KPMLκ+!s} TOoW.nq+0_{Vh&A2EdXM:x3{!Pgl8qw^/C 6g~蟍=^G"\/aQnLb-'BIߡgI*/?I[:6/ XxgYGV|),VKZö<޽0.g%@:ߑ=AlW M܇{YSYC6kE.!0ז$T/-#!Ur-mХ8ˌcЯ9ak\DР,d q;X Cf">ͪ+}X{?1}x(1p`{xL}&wb|#2ꛀ wac_ 1I=kN~kH8DѴ/QL tό)-nHhd]XϥR(K8b5h'OxGua.}AJ pdœfeK*%K ~,fKo ´PTu3[@%yb~ꐗ09gh &BSh/RƻE#M 2~*`t8SXL{ǴO DB[seQ }  O(Q ?4Є&۶慸3={#QvzJry~7tRnztUY wȪxP)ЄaS8u*wKaMeEĴ 3-aC0~Mg Q_B.pf &`uVUНV mMH%^xw%gaL9|FP{qNyI}iXg2qM17H 8QޡDMx1X|uf^ZSTX=XlC+V N1t'LA1-TC[_Am$Ёywc7XPc3X KZ@Fv%D^`FȞ2P0AV`B'RR' uHkuyXe.I#O4ϔǪkq5׎?$ rTqs-Az.Wfɵ\t,IsQ v,]N9=`_%%b2қ͵z%|=:X>Js`nx}5Wòg)Tr)%z) 0{/T@M#hTGB2h`IY>bl+!k5c6oz^J5$V"TUjxE|p`n`n۵Xɸ=kpa\yկJ7ԙ=k[rUt4hiЂ^'%ЯO=ٗa"Px6gsjȗ-OH5 _ܯ*k`M1"[:)>u%?Qc7$$L]e8_k}k*WUtЁ1=iGL$Sf'gZ%Maobz |ӅC.ުָ "+!5a 0P$\Ө X[Iyvx@R[V:CF? gф(q߳}r:AVgE)ls+ NDת$Jey +.Lm<~N<^G8r ݗ Rٛ^^dΫw:zxXOhL-_vc맏er( EϚ[T~ S7J|?(y~j 6kHr-@ڹ+հɟ#p A+7BR)r__ $z\F[ 0G[Im׽#ds}6?k:!ownH3?>kU."FQu\`koYdW~qQEIoL!n8&!!޴ ^^+ǎ߀Qc9zɟytז푸19ޑ_%6_I&kyGP?ϭK$ojaG?z(i0ɐ1SPmL_ hw{)Q9Ks~C덼cNJ*<~p칡V%ᵻtJLsAz~ސW* /X }'g̏pW)n8 ^,q _a-~3kx!q g2Fa$LLu2}SnP-E1DBL\Z6N7~*Pm"]FhFQ1ql&#KTM/۵ZJbڌoݽ=_Co;"[?J q%i;E͆Ρ5|~ZC@+ڪd8c]Z8P~Q=N~CGz$^qG&㟫cOﵾ|Z#"\hiIGa02ɣY lS5]hZ08 ~N.Zp>hG*{?ʞK"e-/GP %+3 M{]1&Rͺ<}ȥQ7ROg )/R+G;Q\TM5U*CZ,Tyh_u֢ &Wyiԕ˷#tZqM)"M@L6fA"R e*A^ɦ]cGL6οu3Vb%.cF=.n7Z!_6TמF.P33s_pL:/i̝V>\#I`jeBڀT8?vh\(kI$Fkk d@}fX_v{>ʖ!rOﷳIIMywz#T1Tkllt$S:'L"0YOk,0aj(ww!׬f&;"7vdC7JJ6ue9ݠ90✬rgDzf l8D_qFaiGI—U,2]!Fɻ5RUhRG+Gޯd`-"xI HGSvNB_HB . DiMh0r,w hk&:J\-A2E="G ҜV[{R¹gR@f$;b e{H[F'9hUqÉWE_Tz,4&n%)]%i'[΅V턞+q㽵VϺ$5grGS9 hH{_j tfF.Yk;5 k6M'_Mi[ǖGI=1iM+_▱wy@T-q';8XTYH JVzK]ߋ QU'`ڶr nt>7~oQ1SpP֛HJ3ڥ+!XgQ]=^<%t[&Kgb `U֯y:R9>0dM$9B۹<MXp'y[ ]u]ֲ1(]#B6"@A@!|涼LF1\:ϸ}utZ°?MKlgغ lӬ2u<~C>a*;dSNlBҥչ5AI $SKK~VVB;==\*Jmk?sS}N'L6BthWg\c9xm IYI?GWᯮruu>;&%y뵄5a#Vܶo2THsv {!J,s'i!ΔTwxՉ綢63kn@(y+cVhagqP",GkslQ܋BwVa1IiNiQ"vpE)F(HH[ILYX<8nVVn 1 *`OM<>1hn[q y(˙3tǣ)"%E`_F t^TdbJS\@_0LPa~y;#3Qy-敠y m{k()^nޏHR؍mN\n<P 5l ;Gikz=aFM8CܷXX!?]gw:૤rT9nc&p<&YAJ&fI\ $RD@lݤ1 %Lx>;4#M'y_j>|}s_DVRջN1FZ2@[ /mWaN9+ޝ3ߢS&ZߞZ3C$H8 )WZkV*eԪM;7&5,X|S ՗G۔+*!x4˳7d(rlr4ⱊ6)rlrB8'Bc偔'<l) R|{ؠ?t^(D v֖f6Y~;몹d)VOӷPdyYSDp,4jܼ3Cעw&5J$^cP:]#T#!x[.}A4 EU' %G7O!iߨΐh#_[Yodn(ӤD`c4#i{ET0 ݛ^$VZ_\$  RSDžs]i+=DۼoX'?O/< >[Y>.ř.P~"]*0ф9GaP`6ŚZa%eYp ){?XZ}^IJ q ɬbq\ ?,ɋ̬fchyg 펐.\^LKkzXFBX 9CFX~p qƹAgjH3=8P8ۯSeH>e77BM_S|rW-CYU83>MK16WOEaTW%YɄ]+a9ٰ9oo[ 7,<8@`T9wwY FT$Ā4!gy{'K` ,7 G5H;LHY!I$ B=M6+.OI!^Q|@Ο/WbɌ«C<薶 t=NJ7);H5$;5JNݔ`() r8`v`J/!49Veθ 8sj(DlwAX[x_2qHWȩQ끙o ̢w#A1]cGIi0őnp{OsKq/-]Q= 9U;"!O?blQ؟2h{aC[vs#牛1J]Se5s0̈ChfF#캧ːZ>Kt*\m1mUh"6v; Tƣ7K8n# |t6V@gt*wA>6Yu݄3Fry?`SEZJRֳi3!c>ztIu?Jt63ϧ6/Ј˴,+鴅*~B1+~N>_E)]#<ʪޑIMF UxOG0~uh܆ĿZo!LA㰝ćI}R(#utf16L:([&D\z֐|frhn$Aj{/EW$&.*` ,`!D5^!&% \$RۀFE'=kLF$}yۍh3dg+ll#V0PnVe"iCZAL؂Qc(CrAĤ9NAPYYkz0 wj/SNE!Qw?zQh6u8٣+,uD=C%9$?1\$r#\T^mO oEI֊o{դw-I͓)(.u&g iS[bD"p _N?/WZ㥴[[_+1n/n!F{!پ]htbҡ^~0H)Qs|* ÐY.vz0Ć1u7ڗm21} ?6sdr*]mwQƇҴGaU 56HnykI')}Ym ޢ\ 7( V1~<{DރR!ZGθ԰~0unaB3챸?Ft&;`_' alu-kN|RWSMDNweNOz9,h᪪w%TT& Ò1b/$z>-<]I~𾙳Y_y;B%;V '-N`aA*&/m!@i/Cwn ZNW:P\LM{[V>KۘÂw$x+5>! S Cd(J'7 F"k.BZ"yB i؉)u;ISuw%\G-֝+9 rL[A_:W㨌]AeRU 5>Ǫpړo@ gw/L!7ߴ .|S-)AjЃm+}-R4b]]wK!xֿ%kmeO $Mſ& ȼd3]Pp0dwHd'QQt.N?PT`]:clιɈu [T^ytxoOsrÐ?0Wr .!X8.w&.8LQ+|azqHd_qM0~z9ueyTb~JL7-PL0*DqMf= :`SI*X1a HT5_cKcW3+ބW/UDN;X3ii& y؄s7`mT԰0*~1xwABUˁ!'CE*0!cHtT_ʹ }?aN*eó2f]|͐Ol0jf8PSKi>S`ho:r~)}6LS GcUMn4GgC dM[>2!ry5/ݺxwpVcc!{"iǒdI:l%ƒWv7 [U6*|`G'577Y"\Sb8+LWuHN{Dʌ؆sYG^~&7=Ax C4(I̋D)$+!2[X?)e8NYtyl>H7)9n|@Ɣ.A8qIB)kKurOL!Ҟ\+(>ט1~&gUɟ U߼J}UIoPtxpZ!q #rTu #vwDS %08jl'p+x- "bdp'b՞m)| UvH|C[Y;Ksh X >ϒCw.'17?!s ȎU9.lpܛ9XGvnd^j trêH(D NʩI"|QweΊ%'i6,'NNq@ 9^wTH>@vGo~GVbs=S7M-{u:uE0A*(u\Ƌ;u00c_ϥ`<P!`ڔ܁DO߫.g 39;QV50B&yrZ Ah`ik"]ai(}HOjxy6=+VbhtR̜oV6 k֞/GL`+3aIzz2<3yC$jk f!~}!cdd5VthzZt%m +(|{%?;"{{mbZXV;Rz;as6kI]VtyUJۗJbM:eDmP7½uXIyH̄ܲ8`>iWv$5ӆŋzCW)mqi8z+]F/TL/]sd ue'7<3^V͒eO䓡Qa3t=U1#CAvZt!+T1UHP[:Ú)0X=0]5dBY̒))GgDS=j%FuΏ ,U^ysrKK3.tPVx@MLX"PaL%EѡQS[,53Q&8M_6i, KyS \fXuSX^K0<dcc7 ,F1!15!_IӠAd(qL!k; ? [$!?IO؈7l ײA2oSĴB]:MrLϤYTY4_o4W8F$_E{S fB ;_iQaNJYc\ ^.WC޺P2Dkḱ 蹩 P^!ZV2WJ!I(lȀ_#&Qj0_v <.̱EP;j fe 'eޫ~T9PՊu壄F#:$ *(z1c#]A-e *qsKC Pm = nII1o{wir21L]2\Cgu3ӳf"B4 BHeH3Jn&-^.x-huΨ3#uUS"Xj])D1^Q上кМ;!_֙N5u}h*~ XUoPeŁ,eMMg%Z@Dwc]\oKx)>ȔR6vmKĮ&-UEy)jϹx.BDXJI,Q= q0OnE! =QCq},NA@ KAl4c"ahw\J&y!p spP%Mrx6(3G g*Orj;Vm?Ҹ%I[Z> l ?ks &c7ha?|:վN*3Xe Y-O=2&UDیV}*eؘ%)~?7;mN@dku J!QOT1BZb}2iD Bت܉]j^1I_el f/f6m| =( qD,E̟4w>"7{ 3br Vo6YpU;e' -~A)0N4nI1׏C*}@Qm;JsGW#;sR>A! fc0% &KɴB֩dQ֮YĽdIϕ1Hfk}ߖMg(]H^W4 !A{1aOޭ\_x4-tg 9v]n']1TQIO%sz 톴I t>cek(Mc5s|[ho%x|2^a|ŋ`峫9`_2wz3(f8#N[KB=.v$0eEMFB=qpiޛ+]?#^h7?w41cE~JZT r;<o`AЬ]Շku) %5>a= +L4"O*h`9R*6-~ zr S0fX: ,>YKV!=y30 J tLAlSn[F[X4l)v^ C;O*z᧚sP0qQH:y+. FmӉrO\u5k`#, 6X׺ G(&5Uu"ju3O)оGiǂ>^KxHt<H+tIJ~Jr~d?ܫ=aEA+tЂJTC %(_י!=(O'%NY*X2M ]TӊVvKp)8+{H>[L ( p?n&c#g곰-H_>پhXo&t8IT߷ϓ-H±HUTcE.%4ىNٜn2?)\҇顡#&6V'S gtZj"J- cVogb[vwAj K,Ķǂf$J4\#Ys,h8}|/ Tf|ÁM,4qLI^pR)U3~4PvkNxԝA (+ 4Y~[(sy.T[9jVčgh BSPA#Wfd Tl%cGPҙBp:CxKu߈Z=)h1&A8('<s`vSӔ1yz$BܙgHL $E "JzN0~/{S`X41۝390b@bj">2Y8xMv;=#uUlcaY]1&.'Kq@:'tVp#}qi\BиҞ)z* 0>k PGu4.mc1]0X &"l6;z#!glEaz^އ!ś*` g(ͤ+]pJ=JjbW~I_(#}MDm\6Yc ѕ U4)`N* 8u˖ ‰|:EO6!0Szve FkďonpUeA@<~ qtq/if7LԵs>0~A6|/c%sQ;َGY>J4r?|\ʼnf*kŐݏLyB9M4H!F 'd8CPHԪ U6Fț4F? XQQWTj;S(}sfB@S|PKai"U +@إ8%AGj$|ehcq- b'Yң6,͌u& NŠh MU@HtH+}UIb9}g?˸DwWrPKSIGjy>]rN;i&%D!Y,.;r| 9maW- _GMg( > ,E(> A( F( RSgnm#MHHNS|A2uf=i4˕k`jIBug?A״Vtd`)~8.bT,܂j4J.\\+!~60l *dK ҍֺ̇[y7z$[(G QGLШD`@ZW.G)m׼V7OYK 9hOWb!ܡkPT?3vk-/6\orɕ~U@&8ڳ5\HFaIh1ڃpZ4A9\k0T*PeY)Iyw-QLZ̲RcG@]\OJP#3iT@k/4X0]Rz *P+C2_QE.0"Lyh"Ki{](_|NѤkN$3N2ܺ00C):8kn)ܸnywm@a߮١~#34*.{P &6WTxpΉAZ:;zh[o&ܣjoW+!;"MB9m NIhea^)6),hLgQͥ?ӂdOZ t a 9\}o,YM kYRشTgǛ^&Gέ@(7ݻ {`Atk&_ W,h(™10O:LH22} #'~MzTBкQxƒ-CYh|A[kkG|ɷLxJ[zzGbGŔvj-Bmَ՞̒(ԡ+Bsߜ$wgjÒɑ]0vs(U._=&Ek-:Ss#bk\-MJ4'S 42MP:g̈́^1DB¾Q)qPDN#-er=Pд" ݎYZF=Z*xwIP\HcΞ dR&A.ڣ[t[Pch馠/ygeIԫu ːw.'#) >M7tF5L/.<+aHCo2 ѝ܍8Oā4{@ : Z t&eucUͽ)Q\үi]m+Gaڷ1HT֥}m~eB^^_ vW%w"Tg&eg@k6~+T!YH&d=E8vGL! \ԇ9 1"i OF:n+wVPeߩ0Kvj;F4>Ā[5 ִ:#\o]ymQx{-7+SMDbF#1BBǖ \@iPOf7&T\C*?Cn= ƠEbeQ}͖; wGpU~,c'PnOݬ؂SZpjj-[J280҂4nUB~Xct4.n #+홟S؅KD'j/ߣݙ;mrڰ|oBaHjC b"m N"~$Db@tkGmJmV髻aњ>lϮJ ᧈj NW2p9::0YB9,N[!~yeybI,&@ʌh/X%( G9e45 /A)n6H~uj~QC+!>'8ql AgJ 5?i^D(Nt>r<:o~H<doclQ.wagbOBz"kSNM^j<|Ids]W 'Ɍ vGiRR57̅'h{Ӽpp<6O3p@mr={v16 Xn6_L4a wg.d1ZsPnD ;Ѫt&J: 3Xd J;eGZdCj Y򐴹FsrBHſg8*Y&ւbFZ-c2()pӥۏc(@ t$MLb*>Dבϱ`޳y%LUu\9j3 `hI_ \ R?aS~`gK<j)|=!hP_`%L_ !!v*ll\ߑSnԶ.Yp:.v3P[1E *m5O{V '}6Ύ_>+TuR݌P@q\-,cCųucIjJYQBΦd7\7c(R0|75tW{.weF#]0Գk%@Th^yXtb 2i$,kLXXp*$?3 'BMYxՏH0E.no>V=G&AjmNXZY#6C]ӥV8̙@7¥4z73|e'+Z yWcr($[S:"@@:U;Wrri䘂% P-(Gi}YBog"iup|wykzLU#3s(~qGetzڦ'Б[>(} MbR%3(i+>uRl$^IèLwn!Ab|NX3g q!I bҀS32֦O ]B쏧Zf(RkyAB fg /,hn뤶:IGxs8TJNDѹ<{Q8$uDhYW[$[Gx>z.$q[K@Ƃ,s K oQt{oh郅᧋Ƶ7_L񴽷ȷ0fs`EQixU6 q8U Ec,ŏoצ1FUޖBCvG6{ѕH=Q5>q1aN: 1b(eBˍ}x8v0fg':/,nYٷ/2$-FOð A]t9>v:v{Q8JNNDm5q}jU Fu!1gtQ~ H˘ у {cycηs fbs!:jILP`5|M7QE1hyC~r< zaa _{jh/#leLkǰ@Cī]v u0`ӥg|ޙME%MNo[myMI}D=dl st%Υ׊8"VĠA[}_Nc"Xta!vL,QHFr|*[͔F-\)n$eڊkG1N4+Rd*0#gL;RՐc6"fk.e ]Pp`i3v`v>3ъSΞ0.")VE[MR$6}ac3Qemv**pZjb;2o05mp[zٙV 3^[g;:yQ&U'R8h,|6ܹ ~~dz}!1xVi[:[L̮+ eY0K)Mq^SQmui b^Z&T(p?4g"+źɦ'0?%wR|:4yYXry_!a(+xqmJfro--"dZ4G0dxJJzԒUԷ}u;6 i< K~e:ܭhڜc\S|3S"0!IwR ʕI4+ i)EQHի2GR/ҜMpzsl:`q{MZ ꚢ]-!H/^8ڛ*=(ħ*C W7rCݡv&U5O&:tnžyL ,e >nS<N-QGƗFp;|bR^k Λ*gzg}vWc_B:Ơnj½,cg;[c>j\fA(#3!5V+Lq9ֶ5{^͟~Pp V:i߯G"WIf!^]T1}^r. V;uկen|z`,Zx:>wO2ZAf])!y][\ڠu)VAX.]̦xKQC"zaw:C6mJ/ؔ9IINXl;Wp),]*=,Pj+QW.q?ZE* "4x4uyA q@!)%,&E兪„,A W]M&\`fcm)xcB;Ce\8k N2g4hLޯC$o~lMqbgO~E4rxl,GfV `͕dةlcO ^)R\hKwY!;pBVT)1W-W^:,V/2S/|j޿0]DX0`R@ЈPd8+4Mg6{|j{U,޷ӱd}%9"kuY#k+$6H7{&߲S]kw84C& Ety)c7aJ|t̔pAȭ/S_eN%Ujv;* nqb?ंQ5ѠkjMi *xHQ~5w aWP`q1[ 8d>wǘp)4+RvX^(kDoܥl}iOy)o͉**~Z_ܥ6*S#H0 N^@<~YǙ{8 $HBp=7E|[)1Ȋd _ӌ_j?%ꏄC3D{)&, Tr8z@N ݝ/*`#E2c#dr΅˖ 6cþDZߙFnWV^XxmqIR άKq1^ͮg`ѵ!H|݅B\t9<華?A#T1䏗C,Ť2P*f nQF2)m1b'&s@NjKeo&*M$Q='G@,[F&m2~\rV~~2Y.yMAmУS`ZML,7RŠ0]Zg;~P`7Oʁ?%^by$uq$_vbAqi`Zzٺz{s9atB¾TzO.z aOI*'YQlV !'*;g,chf5ksCQ@ ?YXkc45QgHZЁd})8L0Qr ܹY=EaFõn x<[T0%2H&q?f::{@kn#AG}. 9GGPt_y9^C3M4K٫^GP3sVжZ>rw1jRA4#0@tXu ?2@U73lR@Oivtb89Eֺ .tB~T'HOd,Hz@\/R/'e >~2u(Jf06ɿ6~%j` 5{zM[oU8d7Nƴ2Om,Ͷ7|+v>C\ bjs\&a_q^B1*Pj'`3bl>|2<uCZ1ƹRüw1A j/{t粀?G2f+Q^ȧ^́z,JQT%_ZO( (y:/_$Ho)Bh=]VI^W <^f%zyW"ArCǫ.Fm_-َ|w 7ۣ|J;mEuklл,a| }lW!C\$ņۙf$kVf+2턩IdzACc<G9G6EF(  g5p}$k݂fg}^V?L1% 7VR +>cV շ92; 6|~$BI7Xd+ћIcW}`uc~,Y~!;v8UuBj6wz6DPK_iY i?A(\>͆%-21[_<ڵ,eԇ',dDrcM %u_C5%,kFn[֎x}tR'IOQ40Cs%: ]/o{ {L}ydxNwp&.Oo7?(TWDqnZAoW!1kjW^ګ yfJbz~NYɰ{ @ KSZ4 *pfuKI4a;Ҹ7K__P56!d}?Te<_wHY@9ΓV7voۢm}@h; xMY貞,ށNQRA:D|[% tR4JC[fva %wh!AQ,٥ڒا2pF&Ѧ4h: V+-f115;,]gz<\MiƁQpo?Mᙃ  e=̭!K?f,BU:kaCKS];{ۮ(!]!^8s/;b\]eR1{b3_w=QY-:GzGA$U-vʴ Úe'7 H{\T1U *?Qʆ\Ìpm? |JCq7`XXl9BHX֮Ku k'4.SƇ9=hq8ݳJH^'IJU `/0KbZ!4@r wj!Ie]3b4lߠƓum(?A2E%\.&F'#- / u7+ͥ/Hp&3G@Y?u㒞OrjC?`t)YH15-1n.?T7Aq9@XRU9#S [hjS׭V$P Sǵma{CH_k)- |̭E F UZr8P3KnhʅIثތgLv],<٧  :#-iz {I}=ׁl@N3ZìKGצ!`xmFvBVm6 zA^#6m]9ǻb,bOclM!$M.I%0ov&}Б8dL~}y1-nIv-FG)IW9+3sL^dgPYu{jiZK;GGS?[i%Xs;zJf<`3(K k(t+ŷ4{b87wI%@Uk!qcl,;4G0u7rl%"o@IR1MNiu´ k'+xnǷ%B'?=Iq'J5" ga9RDmЧaW>BDz6-0ʢYN+*6Yt;ܙ|HHꂶHD![Z%3jڻ%':i6x 3ɽ& RXXϭЗ ΐM`1/29L:}R [-dhߥg`P8o]z h1A1@'=-],ޥ2WT;ɺR%\R5HM=<31&vu>7MTH!zaquHЙ ނ=-Wr+K!J!xZs -:5v7aGÃ1In {nW˽WfwTW\v԰|:"M{h~v]fFڄՅfv܁:B 7Ի)yH'`Ib{;AXջ;_`\`| P}tfIGoA?X/N9.ޑej ߎUPj帠P|3!y6cfV87rUuM[y:: Rڃh yA_^5(\dHs!{ۢ(jw;N)^-V"4Ih;K,)0ByBa"t Tm1PONef\@i! dE•އ`ɘEKslRÛ?0F'Tx5d)Oʁ >r#^[ĞiaJ)زi J*TȁpU"v\fՉȥ~B9ⶪ5{TM^q6oT26a-;Z_}Y3eL;簟O?]qV4,*aA!RmN=#[^A43/vsr0 ǩJ~J=Tjx8<o:o ?F^7{|Ty"> :t/bjڠ'uFGPBe)4:d=S|{"4l^swHHy6w2d]9`*GF^ԑe:2(Pq=%~f?Gnlִ Mzއjڱ~LmtIj>jJUˇvp\c֋`f@5˃EFNӾ 6U~YХR8pb;=Z = ǿ(?+oe .+4gΏ&Vχ'@E& 5ư:ZCxJ[UZRo=쟓k Oo{ʿ%WH4@ݒFG>t.zBO)>{h>Y] lMx4rqpR qJdaG<J|#K^!NM.894cYކ  BwHW!3IZ._'A- 濛"VK K]$tu',]Xptёj$DD F2ġ KL֐SN(Pqm OIR,?rzt/%LQ"}y/֍č]HUٔ^J8dGh#eVzO9CwFtV%n׺剥̸R Qw6kL*Ts2v|QPQ9Vú3'lO@>#Ȼ:]OE.';>J.7:$F'0SP7j&PcP5sîҤ^;nQ-!ƣ!>C>дyk~;79 `Ͼ|a7,g=/l KG"Ϝ"G.JHjg>gɄxzZa_nUݩ=W%gzn R_97g؀@|;LoNU%$y_m9-0QE.C[4;BDAoW݄T;}<>5w[Z)$,^r1#J/a `Œӕ2TXCL`N3+!?nngMT]yšǜoZ=s1Ng>sKWr@.?эޙvO_լGH|ogu(CymVB.WNk.Qea`\L)lɅG[ઐM'jFXNi~|lۏ$@X /+AsWo^R9ēaj%!Z#T<5앵 Ǚd kWvg 15L[,IC *)%0I-ZNc{y28hMRy#saSJ}.w> ݆&j&` Sfőc) r+jKW;1nB3o +AK%60?5˯U>{a2ᶠ|G[6 jByRo` *LJwÈ5bq5%;֠sfqu6*v@<ے  r<$|`x]Cgo<z:!eVIL7ǽkY  P psxC?Jg W뱅{ZyB)l8$Z|G[VT9"I|D^Why4F42?k?$$p;BDNW{S Ƶ2dࢤX6ȶʖ'vmYfw'NQޘ#9G2:X"&,["W#us\drm l9>{-I$W4QJRԿIQX@~IQЫ#FrRRC)+kikZBKݭF؋$,~]{{=?.+hT< PqDoM# N9hFwH ވ9-ɷ+KK Y+BaDWێiN6=Ȫ4`0u[Fa En{/䫢^\FyKG4X|zL< dWc-Whj}<͸-TyXTwK8a9n|s-r-}n1^4 k!zmvAq^9uD FܣP>uf֧Q_8]]dm@MRK ~p嚔L 7v.+:#B^r>:O-XhHgj0./:.~1u+hiDDC&O Qח)(|Ia0I+`?&DǓ"TO?t=l>-|_R1xs]-""od~2z@\^ƅ;>b%fMVѻ[v+NYLf]Z [c!-ɉuh]?;3 #U-\;60B{IKH[hXDq]:y;OGMlMQ(Y9-ec,65'2Pt("l S+)i`]=aNA9l]jffA]"'ЬqMIVOo,4p18G+ƅu,׾W%(A_☻ H qk0xڵV(*ƑgEĶb12"=Mo&h>3yOUrPtpQ7ch Gw٢{f_(ݻQ88Ep";3lޠ%w։ P(cf!%i.[KE@،m?j`n\墋4ԥ*qEeK+ !3$0x{DIn44ԏz>(Nq8{ M7l)mUi T/1c;$jg}3 _'|aP`Le\J*R>n<}lѣ%&ۜ:DgAvȹj qKoÂg|)6>Dh: bYGQ/ahSVÅDG]R#%{srQi_'QR|o (,e*8eR9u^~3iS|> ٮ!LJfnᓙL%S{ tk+"g^I AdٻCL?W0Y娈 ^ѥ7G}F; lu:u<4gs%Ez,>Q뙬u; syJtHF@[xKF+VZlT.z VH-oL&1G2G e Z G$=x4e $۩#IG8g$H]~ՋK)(_Ŧg$4{&Azue\'jV86$o +:LDؑ;@xx>N$g+^WY LfBϫGv߁MfMխY$6L pm8S|#~1y Ӏ~Nr|kjkq㍪A1r{IƤ 3z֢g ކ WBkpgC4aCQQya00 t )җ*us9 d_9MTwRkCy5uXToh1V*i> 4feU$)j4^H2KIk#j\q<-^HƕLj48 l.\xٝTDyb}C ZGn&>`b]tJi^AqUŖlL..WDYȝn %,$^Ro,(v3O6fL!Atn[? 䈓BQ񧭇Bc.J|b S9 kܒ:L4#uRDjgnǠHģo_#¦o{{#[c)yH cI:ûW׫bu(Υq @x%T!ĺ!TTD1h  o,+>]R򃱻d₵ L2̨87%ҟ;T{{aXǡx|^4z5bi9YLP95ˉIűXscck`K{,/_-& TaʪJa;_bshwMr!롥8e3C| 7wG5ډJtjJ KUd{5qWo(nOqL;wRM};7Ar 5quVl!CFAOiL<}a5܀vaD8iˁ"jz c<^4bR'r7'eZ/cRz=cs!ߧa/K,·]>hDnu -E_?$Qr4ǟ\wkر lpUVCyl=hy0-J)RIRm]pUX)Ů`˜n,pm8Ϫ7g,.WqFC ^J`kS L*h5 blb^ RxozIJD{|ߊIc3{/OE=Hs Nz Qo F@ҍ-Zz;*<5A|e3o/f˃#G Opu8سK,UdQ%XpXc1?> -r33?7$~|J䏇+gC? 3M17M-YʒMwn`nEOCj|R?J(0)Vϊ:cc4J 7\qНs:c'eX}[MW|pͤ1R2S1yO0}R!1-$t1 [HZb-\+YHRVq'a{:|A0n+Y7IAQsV1Z5rs51CLmi&+N v9wי^,sb~)׀}L%Fi?)\N5%^K@V3 |3Ţ9x4<{k:FXj_;dq؋*= :1r8ymۗxGmh1GWaMY+MXvˆܡdBbV.fu_*}i N*>c{_<-G k/vʍG:R]H[ˌ'_fҙ ` [+@`U/eGKMSI7x_OoF_lrO=2e JeD|B憻 R?psqH&&v 1sb5O w@'Rmj_Nb>sː/fnxa3hx;FƵ1g B9Slsq:4ERā /L#O&7K-ZR?h#;)(9%5bӽVgPh|Vx,)Q>Ia,̭ۈ9QLb8DN^4f]ߠ~w^Mm$5*afrܢJM?gNQ_J~ : 7c/Sɷq֭oNF8 3-k LKFK>*LF0y1q<#rP)s4s%9ɟN~ P*PIC]>}uŽ{~l&&&(g`5w ]?wv0؝q7 QScf nCRE2R:sr TLR1T i )[dg{|%Q9k{`DL0^*AF~<(kqa S"X&s&y D#feaTf`<"6:WFǯ 60$;X8gF[#%e!LpJiA. UV"cJAfS{8Vlo SĂ/Z 0~Xo<<j0*ٹ 0(_DCC10pmM>@Qr/L ɷx#D;ׄKL<#JǿR[݈ކ}hq Ivj]MqkC2ѝI@IaƒMqo\=BkEBgp.8LϰؙҧPhþĸX%%-= # '͐n7qqdDh@ Z_4&q5ܦP Ll s`_ںy@$4/[4(F-CwEFI\ aqO zŶlsl_pp5SG@l^a&+uGPXL>SLɢB^S/fp 3ŨmfxC$[lW-6͒:og1`Kyć~]CWv!74;T 2v%rUHUEn7\l g!?Hx88 L:)Gg^\ԁ'W'vsMē% LJ9W՘4{N衢>R "eWFi|E9XBi/<ыQ+ )z~)iF#.wЫ{-X$в0Q%[O)ccx gw  !Np@. ʼnqbzի[&>n(cR>~TuE@%ACs%1r(` *d9Mנo[~89/& *N^PVOݢD^jC7nl4lm‰u:!؇1csv=4Ħu '\I)r)3KM+Kن:p8~kx,rC; y4W`?%nO%'e+,hKx|w-WKWCRHLÂOXs~Oa&Qa&cKM6>Y0`\5~P azqpw0͡P| r̡ .Û 蠒 v|m]ܧ <[P 4үu(k 6vv OUl^ٵ e>\BP!\ j~.elyU<3xץ,gUs <Gy}8o drH-^{:CjEUl)v$_ꛒD5 r+jif`w6/ߟ 8PCljx=T<۲Œ1}H~̼$7*JWG;z!4yU .R$_ odUФ]1x$|ލ˜ܴ:!J!C%$8>&$(vE%|̏x*V:kabĊ _ɿB~= 6 C99R s!9%"Z4,XIP:P\v/K0#R1y0x$$*4|i]SںQ5yҌht3(:AO55lDʁ~UԵ;HZZQcS8/ʯt> IDkygzv$TL->Sii^%8#H#a0=bzT6|(Sܛ籦b3ZQR-,dvJ $g9fYQQW>Rmu dqG~ P,*lY$ 2h-"LFq舿w6UZ AP[< w=)2[+ <[%.j֡ MB^ _ΒEJ( 3(#8E$isIrÂyJ 4k ~I!#e[`Sdv2;, v #hplHn6k(iHmPluS{of4eH2ska: ybba]J(b=.Jq/E h/<Ջ}p·6KXwD.& mJ? 8mJY*f{]@^nsg:f6cHs3 gi98׵R'acDD'+XTf&1LD*" ns֕-]_b}C >, `lGۖ)`WP?mTKh. 8y@-!e H7fE XqA3ZRsp*Up8Fq L)} +ሦsY=e -n%Nt]h{!)VP>*޴W\0]fׯ9~cnu%JZ󳿝f]<ؔؕۙ5Ǣ; mk,)qi}|nЅRf[;-N>Y|Gԑ5my}[xD@/25_o!j#VcMj9Pq^WT&0$"#?:1gԹgcpt';xc8.>CMl,U35@&RuwGm*=kahOcY7hyleH(0$ rf;kc6 ԠnY7  >Dgۈҙ쏮yٲM}8 >2to 5x'C3$(ճ蠿d/Gi3?e5tu6K{LI5++nDR&Љ#hժPÈby.Dy1IvjO6 +3Mi|/uڤ1afQr3cR%p M-؆Nz3DfQ,<7[>H8Pf7҄EI>g(\A0 AcE~|@qD`vFbq(-i\ýɐw{76"WS,#He%)Җt8iձ~~qsVn1(N$B)_YT$b63/ m‹"¸YVdQ?٭h7:-5v; w|X `+ K0+1ܤI~y:Ҧ2#VXjbƛ K.rPo ޏ^15A O2Ȗ/텹0Ym^E!fmfAEnhJ@?y4#|llz+WIxb+=<u-P_v0EZ`-]z,7ܳ`I)(t2 sapn_ɀ Ȇ$]a%0qBPN>ͽcH (*Ez>2;P#}l m.uil(؜UfX ?5* @8Ak7r٪aů>D.s^CFJAP=Kh^wbz={Ir k3q;FYb}[il7}l3׬T_eU Ç;+j\wnNndpā֜eN7UR=Yh]ۄfDVR7Al7*1 AawDMhVt^]AEzv-iNy732DDM3mՕ*C3Z oUB,.N5hf)c@HwMZ,t_56)*U`^u,[ ]"hbVő=FQ~{%htO65*ƒbY6Y/sLe' ztapO`T'ocN6x)srMmD$/HZ{Goپ%?auw-_c I ȡŽ (v#ӺTםOK pd$kU0k8Maz#P*bu~f3]b99tդ>S;L uRZ|qߖ xX)_tPk=@W cJT`-da`Sr67.RR/78,KKЀ'l<) Up֚@`]owsv[N*7`"+:|cN&ШEFsιs5ij-JIʒ]6FiF;AIf0nL&|~Gآq`tރx~L kpKUԳ(L+Y8L*ވ%N4%PuJ, φn!vP&0K,] WԸ` "r#.p;CA[} _Pgඩ%t\xئ"&n .WYb͓^/䡾P\bl7?W%uf]˪ C!кe.K52{yueE01PEF"ݞCtS)?[T2F 9ҰjB'0qk_[¡Җzmlm|JcP,!|.Zy瑈Cʙ>4DK'53}##TU&+e+}Okj^¥@tπu 618]9}݉~ 5R -ՒoviBvncw4VC$[-y\jz?Jcu䞕\?U r/"|ʯNv]?1lIw@λA|fb2G.C6/UlؐZ_D6wX>siK5- ,w#`gh7I4%XƨlCBvS'9w痬JTvN3f~O& tR%/`X & S&bLg :>.6P^bOz'w#p_=~s%)rxbgp-viysv q)0Q|jܲCy|,a YhϒVۈ1;Sj/*2qv&[-)VƱP]"I}6ZM'QGR }v]eƾ5H`[#0@ Q );[bdnטmvHMV!dOJ7H;`:(6 LP\nRp߄M`B F;{,1+V8(hh{7_u3Q4AJ]WG8Y .?/Q3vlBEp 3_qkffX2Ű qg4"Z0rg9&aV?Sr$ሕ煳>bR{L/=|U7<ά>tU@Dٜn0Y:&(;ex"<01%|N8O]')g.ǑMpZ 3QYmX}Pqёi_8+)2 A#̀)%WN!l%@ZvEˌv= 'LuTٚĮ,Tl`Q2 Hd=9OKf; ifVB#FS%#z'v);M$TczXcm>Xw X]G{4dk]gCUNP|bDfOAC'yO\A39)8iux~ ;t"@gb2Tjw02[pOh?M$sr4%rJ YRP2W!YHXLV!YND{9₂Q6֊ju;ٷݮk!pZ.͝q40bIIu߿c {0Wd0㿥bh:j:uZgC,4$ZJ+(Azz!HrJOVƘؽ9+ol98Tn(OZ aQ xLvDJcBצ#ìг͵y? -|Z[R^vA5x%9Ra+[]JJwẻ3;QcPdZ9 dOT #wM%z 5M:OO@ x+~VoAgݦ։Pi>̠*".}KdPNŲ Ibc=Peq'>Smϟ Kئ"* 20X ܪ߉8ݗ㾚8:>,wxI ڙ1~[ r;a<{b3>M#پp7mN{'ΑІ5UikzT/xR ` ;N|8D|f;bvbYmĒl]p% ¿7E; zn;vMR li`EMSi 6pmmWRj Z.3 jNF@l#ʽ;'JW7Y&` y:H&`] (c&'ͬBswfx]`'~-BCbHRpԵAo`>.)"ׁ}>ܨ`q1iO:\fE#T<`3)٦O4AK 9{[OEJeBX_=,l-NHpC;_2u;uZo|8-uB A ShW/!ZV1dN~F8;" S\m*ݦ̠bWR0b[EaW-8$]nϳj䫋D@J 9>MV) +e.veg,b]Uݗ /ƺ"u>(Af?wHٍxe`W@ S9Uc 4~~'́*z=z D#@j8AQHgU_|J/>[/clSSO/w7D@Z]tV2t>n4=l>d_ldOTgxRÜ՞%$Ky(P d9ŕ nMNm6ZN tTYoGؾ鷡A- -B҈eE-Ȋ_ʿۄWn #z]Y_?aUj m׻d竢O5`^οJ? CƷnqSګWUۊ(+M& leJVN(ZJl&4uXn֙i.F+a)'W/>odJ9Offo NzRAZmPYGBE`M͖9xy^b8@Q~M2\~'];)|0sgeD*. *jqpL,Ӿkp4uE 5!|?#Wc  ~ѓkݹF| Tf;*,Y+FWnkZ5?dCu!S Tidd8KY;'Y}ݒ-sm=}帏ږ2B&f9I;ax6NRq&9l"Z!yZztVu;&eZB٬5z#5L*šC!{''9jҁ/U5|'Ƀv~r]Oq2%n.%sWш@_-y\qZ <u"ZEwb7L\ fT#s0FNڰ7!mhK-*%$lul@Z~=Hc|v L!S`'٧Nz8ttR#6nWQdaˌ|>f5྿"B_n!{ʔ\zr~ XB>^S?ynBwPwďISHv(c]Y/LӁ5l؋؎']zIɭ,im) C#ruo z㬘f^UkWWco?ղ!a0 vt /5OX)W;t YwDLIɗ 9pS/hOg }+: Rj I 1^<۶ԃflYPkZ]n!UD*qEQ3r虷l=wasF5 `'! E7h=hgCBMaL7&:fz4e#`.÷(K %a#8CK͢>;̿JL*t/kut3<q&yτE9Q8cOPF{Gu%ƚ[%JGaA/f8xoY^> q94g~*+0{98 w\|zq%&kb|DS6ob_pڍTHxJ|1v:cOC<fbY*syZi7;+dP5007R3\w5g`k+g8P/ ̒cC*>U1)0f9ҳ toͱanwp/w}k[$Cz j%r$)56]{ eVg RaxhTˏRJLW &8YiuwAOH>g ۩@&LE{Czu]Zqy_N unCPu5'lN+z2<|nnhHi:P LjX ^?̃{,˟T&gmӶV¼nJK,~83!SfN1* op㓕U.s/__l2$JKHy|Aߖ2 OզߑZ4gū>Dq~ 伊tPj{CfzLpQ*3I.LE^`͘`AIYR>挵i}bZb% t+a+υ>`0:<i\Q+:0!,ޜKI@xddG?p" -PcBi4v"![ԧ؎;9 'bqkb"_Qdv%3tA2H!!RA4|HVTM㥡 P)ʬrS5$M&%k`wc5/Q\GLqYsB("HM4g+(z^g!X]MG (1hQ|#pj$@.h(lbz$ 1*cqX83q\YmӵKV=3`,ךgC+rMh.%"A ͑z$Ӳ3bT#O[!m8y2 -tݤJǏܢlvW(`Zv#,k6٢ÀGF!f.oeޚF 2Y,/'|_.3_65ef`Pq!z-h7CDj D(+Co~i6l)bQt{TŏbD&⸶EeϴCҠGͷZy܉zC75%$?\D";CO0YLء} ۯ(t"k"/lRVpY.|ƽQ8 "p>~AHSDþ F҈;,|:hABDleXuGf̙s . IrBb<x8ebK[OR5ZpA nB!xoSjGE D͈׀tcQ]cW1`r_hv3{s?[kMcxF>ziʒq`^2ˈ dwqKT+AoEs8 26QؤbqU/vmNvzs˩ j V~xR.]J=LpE:;s:خ?^mJ!#Us S8iXDq Z㥌m 0 W=;i=1dYxAi>_ȍ[ozE'`HLTv8 5QEDnYS\ :' 2b4tӄjJ&ZEq͊n,ΚT ;>?,<i_piJa qC)vN,M4NLq-ޑ+_)7{B]$X \t\71ҩOO㋳ ,G%ǮmG _OjܚVKQdȶ8)\Tuf-SU艀[@@ڦmAdG2r;6uuM!*M׳/'wyV Bmk*wYE8ݑ=/da>qJtoG?<$=VXc5% ݂ (z'vIһ&@Tl\ zT l&(P RTT9#qUR00M'PSv{>2.˂j4Oq۽rWÖ!$w4A麨@a^'Nl*^{=MX4l>xHIN@JBW"'đ grKgMD autq>o )DŘ9gNf&1&<0p, کc.zXN Y;-Iyq7ax[ ϩ%߮~45K0 iz+O6k^el-B:P$bfhk܇_2'9ގ?yI+Lf\r}OZ% FmoD-501} NW`J8UgBV\.kƳ?2~ 2nkODl=zyMr)|z!g(^U+Z^t?#qM; J`pTN@5~oJ7](5.+:J\pBeC!hx0%8I"U 46|i'Tjmʓ׏]7G0GZ4. -n(RI%IPKtH=8K*˔'lnGh.? ͐u1n"RAki1@G*^Z#2![; sB3̿Xl1h>CW0rLhvY>:!RrEޖnO[AKmRWnÃ'?u"Tzn[*-EA1oּJ~R/"6чi'c4*W[?_' LuPFajyXvuB[;ofREcKq&|JV4|xGwsx]BWۄŭϩ- >){OSx4fGtMC$OTqK*N\ӥۈ%]侯jɡ~Po0"w1=MwQSG١p_7USVSWb9ւ3<7TV<_E+ Y3|ݒ "8xeR1{mn%"*k0^,&Ċ+F$JWAk[I"H{pLuDLB%|TK?]4Cɢ*HKCMpsoK'-6o9.1E"l@- MjCvZ,PD5R;w 4#;Nnh`6q:~h[aTPÍ, K*ӭYqk];{&s<4g9ζY2Wz(Ikv*UXgw.$i 7a\ox3h)GNmBPCGۅL,C%0)Zg,[cf‹rLB7a4UĠ ga5s'"E%ưZ 5X:|ӌF {zn dknޥU UL$2WY\"tBi9Y舫z嶏n h$zҝ,MkrFk0+X?&YtmQ/jQC_HG ]͚$PVG)=Iή!쉌;E@!h }tT&ԋ򽘓ۖ@|ezN奀]\v`9׭Ӝ IJ^^ު `˲9G[zhYEvbkT#ڡkyK]p]۳P! SFP`I Y5B{Dg_v-1?PJ, 'Ԩ--oVY=N+hq҇qp$=2BCBpҺ~AC*Has͓#("|LȴU=fXP6`y;rC3DDžO1`z%[_'wEGY2Z&RY6 j.#.(}5"\3;SnJS>4Q $VrI,))&'Z SŐxUcFUw:C/&z ̟T7/cnϔ3MDu]hnltgDzpyRck |r:O7ѱ̈OdM(,p(N @iM0@VR.V.Фi(q-BU6Ijϝ%@:)\P$㫫C~P Z긜yOR~Fv!~(Xl~jTT(Gw.9ɿ%18E7 +qa{#No1w:FM8:OB^}W}\!?gpdE4ė5 }R,1& {[Gޮ=] sFd,^ϸ8*&>b;J 뻔?L a^6 _xnhzN:mOLNA!IYV \D~?u`#=)1⦻9K |lϛۂImoCr?Ѫ`[ڏS48s\P:V]$W~X]qz[Sy1c-\rb0NǫZC%Zh9X$4o@)mjjZLmeThD^/y]vT$ZA;`G &Ga2\{>^ vAyFJ_YФ!&6^Qp59׽zZy=ҵ3e˝l|_i0B9ɿYu6$0.t1 E5־=G\ytK,zƓ|k_9&\W@%\u4{RV.$NB$Ů%7vKDMrgMy"T+'CZb~5Cm*em˩fQ0L~(1pbLŚ0Kyb׵K7Fjc ,޲(v%Dʎ{~)?3E<ھPRbxwE7{|'L^Tmr[zjCg4=&Y&>?zzoWވa!h;mǁLmыVQ2^0H ;_ULkZ0Bְ{20;by]VdN, ΄wxPev>C!e2&)7aSCz( ew@ 4e@>[II7* w:c{5Q_o{k0mr(Rh)q%){UNޭ6{ b]=kčf)`FGiW}K^]n[C ;"@Dsk4X,4C\)F7k@_d~Q9 k@KY_m/'gV?g ]J@F~J N`/YSC^B! Arlш痬%bZ͛K$H 렗(8$Z|/Pj5gE__ZEp@z͔#BumiLbI_3^&`u6:&{ #OV&},hqپv,%$UYiZNjN07xkL@ A\y-؉Cy %`'Y7?l睔$p-}I֠@g~mPɻ7+XNaf]oҋq1t  nTDŽj=,So+[@gJIOe} fvZΊs1B\r6]5@*q W |3Hi[PnRt>T L?փk*,vm!3v1w{-D0#aE35kNJQIræ>I6 ϟz3/axHF$|&,G/g~5K+ik+~\yBw\vcfAڜ,;(JG $[5ް|F5[nH-x ɽdr~Ub4:x]UB3gk=KM&Ovءm-ftE\(@ȦJ٤\]Vu=]u50-ۉ?%3~yK,Y42]b\lde%ljܬVQoӆj^޵(Ұ'(+pw*WMҶE. xjm$0Q3_sU L-GO>[\%hM @ўUgE.x~rRa~SS?Ħc=i{G|6~1.u#. EDZ5K?"Ǵʒ,$Q]r zs(^b[Ro&U2;w6,& Ehgf2cx[$̬ kxNPt,>%xMSF >7m+EsGzlӂ2Rq |d뀹0Uyv4'ObGzAby=I6ٔ Q`XnSqU#軼}4 ᭮/IcU[bdm2^20z=}-(Jio⁓kb7ȎQk5&MeuBՐwO[Q{m&[uNpz N؆8}~\dR G͟iJҢ?L@mxFZ)[~0ЬE mB )nQxVQ(dP v-0 R;,JM~Rδ x$hbk1\*F=F6}{rt yk7%o;dJ PWTyQ(!-M3L3 QA' un"b`gξ GZ71_j գz̉3d JrYWNUb,$ CaK?_VMMX̣&2dPGCt21\KHɜ.ئfyqpJe+=Uqg/Tj_dAH49ov0.( >p~za''9K' T2C2c:O! }A #tgx+XRv)0efT[a6} M5%~%-(Xf,O0HF.ܴ,Of6ƊoB5aYAooý)KǦ*Q=y!࿑]gάEesKxmN[qy{ )n豹ҭᵜ#S1yF< +yqPQWC rܠ^ eAբ~vM$iM%h4 aҒőqgcF|)jMhBEoC&|-,K\#ލ&Ϡc\‡cՠ08O|?,`(]&O4a7m%DoMbMknYqƙSH*Cϳ@>xy'6XStJ &RٗuC7WnS&[W[ҧլM}5N)9N5AvsXcZXĂ2S8A¦L^;& !Ѝg;{+Eo׿ N~.Ls˅5IH.K@VE4`P>{ryA,e0:|[c96 }؞c,'`[ǡGfLuwpH %ƺC*y|zZܼ~$$Zm !DWez8; ~]y^%Q?!<<=:L_1Av0+r{*~|?<`rOD5;-{V>({:^d`w737dXմ Ͳ n碶z[I_="NJ5K<j&95-luLd`<uȦ~oE=Rjf' >O?jH>ѐ̶h0q|Uz y#ElF+>Z#OpWs] +Ed0O+ଓTh#q3 JyKz;\rD8'ģWԴ?b_?6HgP`˩x/|pnA>R \GD ( [U_Uu Jfɘ"i10_tɤQ=I'I~_+&ׄw}-/<02j ĜU _\ DHa@*ާȬk`:HmKVAԤlFNA, ?jN$8Cd;ӌ/JZ5isI O7#E8{œSd\ rN9y8@bq:4bRv3ATF\qWkb *5WVz"O!jRv2 ?vu{bߢj!f܎bIdlﷀSgIK 9*r٢3HV.7֐SO Qۑ$=-rMNQOGJP}|4G>*ur۹A &P` ]4BO9׬U[~).Ab-x3*.$MH1׍Cԯ"x.?n4%qˣp!1"sBtvyYXpYk@}+}P~~[?B:wUT6DͽZU/I(KҬqi *^5j}a+!b-~:W{%qtCY OmLgDucfQ;ekFXN0fNd9vzԷ`ӵo Y]X۟"P +D$#K ]}_/Ò@~ $e3T0k<8:u= $KyVդ;N{ ]s01o1E~tK{۰u_̤~zF7I+ɑ@~ҵȫa0f P/Ë:%,%lwm..V41n #a]BFh#5}#M} XX#ymp|| ΍8"Z$#mc 3If]D_#W΢+ɤJCss4Wo!jOa7/œi-]xH@ؚC(VITu$)X[j14Ί|(0ɕ ڃ eT%x@{NJ<JFSuWgUҷC:דv:2ymY|9tTN&pYCm?찢{գ\{ϢaT0 5~Q1t` xnsʐ2ݷpGSzw+X 'r l[&Ea NC:mOV(L1u TԑK7WO U/z{Ehw}h51|Sl*9߹@gKhkFGɍG,2myXlG/Jv7ߤun>~hS Ch7hQ/.Ւ^pV5c\YK2@@:rFgOv>_3LRoۚijc˚·?"zW)5Vd̓Mu.GES DlL yU$/b4x@lZN=zH>Ni#:ӻ_DdSRZM|;0zm9#w:IóAcZ{{ X醒51߲`|!8x8<DW)?z3#jV8۟WtX ]m1X;`,ٷA+lH^IU}/U%ܲ*RUkFǷi.iP2sFrM? [ԅ8 S6 uA ^Njb@6T\;gLIb:h+G(pX\so,{2 +KWt8p>])a .~yʵ[F_fvJפ>-PsF,a 0 54j9&*>}{ ">+ʾBuO\@*Z&ptɮSprLF'w޷ LNCq BACj@y]+Ld):Ÿ ipQ D^rvvPX"yӲ5tR<OI%%01~`A^adsbYYR*%,-6 L{n?rJӺlC}("Sع=(ӥkhR3naA}$Kk'@fz.SkmQVNWwl񩁚N1MYQT7H_To# aKwʱ(&JM|] 2q;*nX>Uٴ``RXdj0L^";TdRӞ!ʍ/ƽSBL__BœnV8"'Ek%Z6`7hZ$ Gg2*kYfz;_ΚD/!\`[!K!v6 ;+٨(r0L7}hQ <=tѷCP쟝ї⬉հ%"$!xͼG-윽D}#Ln6 {f?D1/٣ B6čj 1ɂbf sa}A42(Lٓ4g6lGvo0ï v$XWfAşR=0rdy妫Ug ޛm1CLX:R)۰z*YjBG:%˹١DZ- 8d>0 x*6 $7ޭ^'0hje*`4ك:m[:#|oO-N0;.D2̞?k@\:%GnSo ӝ1K}VyPyE J-x,2龶J![[`Mrc"y*lQ ,d= _Qnq_m*1"ju;3bM5zA3<Jxx_ВR:-2pFgl{Tvsن+w֣4uP!_ĘU.HvvpZL(r<#2 iݭ0]6 ce{9х^JT5m!A39-Zcu.jJ'Pڽ" |I4]gq)ù"w޺o^w;wIXvU#QN"GDؐ";dqǙ71 Ea T9)I:zmO{0<:֐IW& #K|1`_N5 ɔZ^<`N_~RhIkcqO牋\A%NRFx:N`v5p#Tr\^!2t"u[ض֜4IIAW}g ud!Gmϳ)Ak ,w@ F)~5LČ)]$m"\:Eia!S{\(,1ܚRX E <m89͗$VuUҨt.>_=SaOJcMJ C)ij<&z9yy;= ّawGȑ wOZ{TCux+a,-cjF/{  h1HӼFĂq\wCrGcxqݺ6"Ԥw] fE]qvCJ*F$y ,gdmr5lC/91^qc $=U~g J~G#E(tžH!\.[5v=QhڊMb [GxVDDt"928F'&#LNydbόɺ'c+9 -N! ':egѕvtv6BD_g˛P[W\2z\kCVd{ƝTF<ͻ>4y |G&oסÐg !Ӳ%0MgEA;-4Pz3-B^׀X_"RVի-klHl@!HyL~٧+?=KPc)/NZ H,k,{WʓWVaiGVU3.*s  LAςX2p 5ˆ@Lx pԃ0yپ`^y 3rj/0xmS Nj(Dh1qzVa=0DnV AD^]Fjes&62.##z9m~7>8pJTNo SW66hs"_8|e-]ßwQ BpBE=Kqy}F Z2-N4[lR P+ [-iXxlCN`4 7X/!,s$RA%/йX&ąXZYӑzJsO{QRg. +6!JXz?>mxSxxru76M{flm=v n$ܢӯlHk[г3miYp k;rtM?|':Hd;eTENFB9eT8:Pwhϸ3&Mi665TQvϋ(k$Zpڌ*A`[u6A#pN ]8HG%$yNi@MjE?K[#v'E_BMD +nS;\B v ap kpLFQ J>Ʉ֑Ě g(K>[_cWd):b쾲@PR!4bmyB &gAI(2rX|r!Kah?mpe]80?J ;e?lɝR>չ^1CHeO'^yqA='u&Cpɲ%Z3gBK}jDq'@$r:7wiiN],hO:}~4)W+tN{}_GYpŜvbn(Xd[c.<5m-'fiI@m;?Գ^r%*}Ox`.mFe*}S 1C"73zr7%EA+] A l`hrP];sN?K@R84)NaH 6H:TplGz%>:\&_d_\G2ӽ2 [Ua4VOŻ3Fh[/Wk~Bl2FZ"+&m܎'/ETp6u!KHm郷݁CX8ǐc0^gwX}?߰̀ Dr@2($~7z -56ꅉ {F()brr[ãiDD0# M ֽ\^ݏ9qo3M^i궕Z ^FC6iϟF nfX8 =[/n2b>i扞\^/BTsJ w{o;&*PfnRf:"q7]ؖ5&;/+7:Uiݛ}w36(5'glڴD<~Ŀ1a`3)}/oϟ_5j*kbL8د\ XZpk.gՆ'sZ܃-r93G2[w_'1VTJR*": -}]p*ʎaK}֧<: aD4.lA8IQ9bFױ|)Oz4Ǽ"fomq'~w}>;e!rU 9w{f-`kE;BB*`Shޠ~I mɽ",rVv.$jYS3Nӫ,+̈́p4pH7lKk6C;֨ NIKS1Y7o8 ~lޠ(^YQ" 9,i%';4AĶes?䇡 Nf28%zޝr>`G &_ S%*M~ o.MVDnSR gXhYge"BU%j.qoU)M׈ ;]W\Ջlms}H[&Mŝh[aL$xb|u6mӥ8 %9]=}(ÿDKGU)r|IƳ&Bh1$h6>YLi)bdQm73b1:"Ճy[3&pC:3cY[mvcpLbr^bi."*P:Ŷ_eۊimb6*TBUU(gVu#tϣc DlToҘ~n s&1peKHA?㵵s%;و J&_ji:s>4ldw6 -|aє)}R!@AXm?J =gR,{HDI{`AvL9֛D {kHFGߒ  5b s|[bXPqt IΣp9NZM#-=8|WCHNwA.xٖVY~ %K&EQ W"pkRBΐ NsթZVM춠,XSXWiS"DHh/02B}xpN2dzܳ Pin8o‡ceޅ * %7/ѻ"nodbéuw0?`IRH KE#x%b ,} !^q?_T1a$/Pq.cϙ[Wݴē&Cb_R 9a)ji$GAHQ_f9A'%+Xs:"*"d]V,-0g#5M C@WGO3\+.b y) b@"9| E->nL=V灓,TPTvbq\p_8ޫ{e<Fre|I3WtזEٞؒvCdWعbU`[ ןK mҤT!*47Ҧf a^aP_*"{L q;+TE > J_*WC,wA_xob Ɗыj"Aa 5 D||G ;Wnp8W"zqHW*~M ĕiasD 6}KBlit ֖ 9.<źo1FRRSc] i0t5 և R$W[J@N{`¼5]K2!ձ T7,[}m:Cl^,L-P\+~[}{T! 7Z܊+II+xeMoNG1?QVi~Mgpa4I7.|ypy4TjK$ݏ$Ww*1o7G- 7}s> 9#5akb!ұ2@&5PZTQF9B StZÉJs]=oFے54͌}D0>v& 3šY-Te1ed <уraQ$2ԂuCcES znoڽ~EVy_mw@m Skn|TB'Rb6!펵oT A,h20f!w=_DJ*]9ohs:8,$wU/ e`a艌 ̖N Pr{!VX@Y˧tɆLĄWxQU:w {KYqD"p#Gvh,'K&i>V%Qi.ښ=u+ m>@.X/4h<OgV \1ٟ=:١je$ ;ڙ^$4I-̄1ʉg;Qs:{ˤ dF׶+5C`Udf<#$_~j_p_qy+b?X&-E b] +>^UOf;ƄDmt =Ly??hL  !mTn~ZyU+fUw?s ڜEtGzz88 /(c.CeJձa@Z ]@ S{׻T*o(uÊlEUvP$ш/j% G[D %(el'G>^A!5ipu.] &*ytGF Ex1?O㗡?dlvf|I?'R$nf4wiCN8s>\\NϠ-WN^R{ɐđE>FSʩݕ80Ppˑ \Yx*g`ꝱTn7:-:d!^sLT۽CM"LQHjgygb.BUI޷A&wBhىj;bVbJ?^tż83 iUұ-ɭ8X-w짔AÁ=BFpM̪{sQU!ìqIBhN6r,1P{TmD0\v,YV> y#5FL0ғHcLSn̅Vp!W%'KHVDԡח~ct0badk?M7q+:Ox@ʄ"<=H"@<٣ kZ À  ˦%ÿ>:@%~D Tfվ:Pv9u/%e@B3̧)CƘJ/va Ǫgcp~Sf|(E6@4eIo_͹Ya x0jexXaD*#W }}ܭyzQѿ^;}5zvVC d 6:gp_/l (NCR!1b`#jnx#n*)!Kv:(ߚf"iUK&2+y]礶r~o̶FsZ,#S^U h ]()K {HOc/zҌк0IӀ~WWh'̚+/蜪#HUOl@t!A"'&d:1: Vs9-`>LP+(Z%DDL/+Nu5+^۱I)D&s|^R|IrSc5K#C 'ةzoY c'ֿd7MzyGݐ ima;>fad/僦Ol욈\!=#iK+\U$ɲ~Fj'A$ 5FmRӔ{WJc {gi Lf2{JFԘ[i&,1#FA!*d yP8%[rIn:Qull|l0'/Wmӣ88{ԋ4%V&5JYHMש|v4sw>)rSGĪc^" Ւ. ]^\>j-;D#Ņ=gLP% Kbl?@fwVNkFKxsѭwoc ()/x4CMw\K̬%^R%r1&'E,]oI1)C¾kC$iKw*ui@%DYYx4z85LC޼GX̱qn"DXekx C(WX3Eq|s;8砾Qn#a B9o)!E_`s _*cKڼHΪgfC/9T]&7G%Z /PfHɥ 偮B sQJW;E I2zƦtŌm-}^(D1Dwe$} RawC\3%5(])An.0b},Y ,`EZ/ĸ+_ ikQ$Yg6nϥ}E^E- |jo" zMz $?tCs) z&RWD1X?]VW*Y5Ŋ,}Gi?@0\ErI:7v݈թ/O'-ala`ZP[>w>60ه k9N8դ72,!m 7tM]4(w}LۣeԻԞWQV›R]M"4B*4t(ѢWV1##qRĐwv6KplJH~x%N*m\i4=ezWPƀ|p=S͑P6mou`FM `ĺX;l݊`qWaɃv)I[\qѭj iMe2'Ǐ `1TK!.4y?GYҠ~ˈgŠC[G_.7H5CD+/{9e-'I" }3 ^bu sDŽuƵ;g^52#q.@i[qF&t)$3u7,P=ns JW0eȠǙ`y"x({oJHvf ":q7k~"ݡЦP[2Ä r97e%٢;FFf쳐E-d~Mu!J5{3 *I/92:GG~ ,5܀lH]HLJ*-oϘ0Bwr^ZqB@ֈM7ofeL MzŃ7ɖ?@PP.EAܕI2N'^c /ulKwB^jۯElP.~dy ARsLN56:NZ?Uo1-5`(l`(̫-,و5$Nƽz]'!m IG Dž۞b^]f\{7j^<1WϜ M]>qŰ<%9IKB磈)Ls 3w K]L|i}̺T7`߿ ILN`$l_ziݐfz",9[M;pHp#T*9cWYX֭Qp ]cf݉/\M#'I'.sdMdJ崡z3`0Jyj؟40{BϤg( #7WL(D"KP5̔fugO&|2n 6*yΩ\i:;0&oig@;E[ j7dYac9`n_H):N42ʩ͜ /`. 44j{-'t)AJNE&о}BLCNV$>~U~Spx[k5AgY a;q[)w6TKxkj R ?|;ǎ~@ɎZ+: ) r{n7D9V6 Wj~@!|#۟AbU{rP_Q,N7q- q ^5A%b nKj"(f˚ )< )q'9#`sX3{ۇ:7NjX*un($9UQEK)?E eOj.00Hg};zR370oZLn(Uܘ,}+N lYB$ r[i'卽`mi= >&gZ9MD2 D%M'٨{R S`GõLBVlZ6)IOl<$*aڒ^R0 N]w,~}k^g2 =ͼ4DWKPc kr~aE[)d7>mݔ2A7>uC~O* Ap 9孌buJ"}Ё{LTzOkX s:=qEccygZF>Ta,fi7Xd$HS]W̪@xKʨ1Rf7NܧG|9 h gݾhݲY(\j*a*b2|1'JԅTʠg oRE CvrwUM%W| YtzMyq3v'` W  ^Ke5Sܝ!k/Q&?#y;U:,I(gGXkt r@yr&ELJ&]|WY?rZGBENV˔DDBF=568Iگ%o+^d<Ǵ]E$5|7@ W*6NTXcSRඅa;1JL&U`J 9 ! i$^[KKβW8ҪE5#цQ ݲ43@\Vm(Αp;;փkX$ź9Pd-9C})xlJj'$1"ԙ4q!f\xm ]I+,k.ą!Pɦ)vV,CtzDT9^ 2˯Ҳ,ƿqo+.4T)y(ċLj89NbzIy>muA#dvר TH?%m=~,:RC/Ih0 &NfbT[Y`kl,[u;X}[~broG3NKЁ[&z)0+5O= Si&Eqæx@ɗAp-,kr߷+F4+9jgꓛ@pJ ULW:Um@T?E >ZECP9`vSh|72٧F%0L4P|yB=}c %)T }\uV2RZj+N8 Hw^;z8 rϳQ/:AA1|S{i 7[r"P"/yX #H{@EeׅߒQtx  D5.|6N;k 0n/e]22fwm;mޏ/R5pM.AqIUvsDIw8yKctUR-䳺M#zu[6\韷') I9:VvuYXxc7?E8H(Գf^6T s,"g]jGZ\+:9%_Ke]'ϛ,5.;N%J."^O~"zfsTCKuK~A':^#olB 'HHNKX>Kr(WF3lYZe k~EXpK% lf#BA,RTzeJyƄqY! }4´{ Cj׉*ל (5Lޅ! =Cyv9f , /CbN$ ސ0nEqgiS 'ɈM\MYo l8j=H"\i/bi6p0UC t!^?ܻ<ħwm'>W1 DF QV@@Ͷ+֬JvlbfQt5i@ pe&w*PTo:CIjBH|빡,~Qma#-^Cv⒂p7\]Rx4AmU@9vtm("vO;`·m,ZE).z#,irŖ^u}7?}!<=?^Dqyko8+I8~ "6 f9tTLn'Cl^ŸAh2đ=N7+:BJh7t_"e) x7 #r pٚȆӿz[Ux!A~=6GvGSPI?WHϵnF7Dy׈=Me|55 2˚'Me!{o-/Q@2F}l[#wֹ[!,F{gۙ[g7GEb|ڐ@~)eW U 84K1B[($ U-aeY9JLY"6au Jܡ- @L7齽F\h_N/<#e4O7,mmҨP*}".§c'Ciaք<[K~lE5uenBh[JO1>F.Ӈ26kw'P#F/ Dʭúss!p&&U 6-q7!BJ4qތ}_}Ĩ; 5Xd3|`X[K~Z )I&'k1ǣUs:y48=?k)s+a"EE<'l)rzȴh{1ږkU:Vq lsyOD!7ikx?f]A\m ҟ\/A]35?B)vك^'k=kH;Hy7i2g7l7sQ9ص3[WOyԬE5 L KZYv[ڰ]Eo+@ !W=v$Xx~7 to*9 _RH/ZlckVz*_`S gCUbt n8wFsz$ޜ-m`d힐FP/GuB*J"GDfVdnV]hPi[5+8H!A -YsB[]A JF(6ewJ# Fj32؄9aQDl:@"!VE_'`,R,!ȯc^/X&gwpTXP>RKn^;#M &Bxm- ! EYQ^Ñur Bkvo;tؗn,-f^<*SIΒ|D3c9KMI KDa+ʒș1 _ݭzxj x^^}`d&6E墵L`>юkZZAgT낉v<x f_95/8+tw v\ uJZ)3tJJmQ`] )j ++UiFlPewWP9FR 8|"@d㽮߼p. Qx'6V!炬dNڔ;B"ĹR9"\82 t6?p0VA.-鷈1ڿ!PR!cH=4NޥdGST7 G2W ]k¥P3E2嚒^)c FI݂`vc26zr)KP-h|iI1b7+,umZ}ZUJǟ<9 vK겦N3QmKKEٰi(V$y+!MHie!㱪 $9Qb-88X5gfI>5erRS:2A8ڸA]OjNFl wkݯ}MN^m:ۙԮhvqlMH9tC>;h SQ I&kkkb,5@!d[ .j,lL­HC0AG:aOr|"_1,%kH1_ ̴3q< v_w. _W,yPVFy_t"c4F _Krnԭ@]By}?s<<-ӼH]{62ׄCST,UiRұx>t(J$l>{9ˌ_R vlchE]?!TX^"];٤+-6Z$_}+Ys2$}I$Țj=_g`F.Y0J"3V}SPX3wOvC[q L^"绕|48OKaկ׼VP9NLLP@v-sͣd`HD ħqWy<g2vmA Ek1~9w5w~:Oι7Z+Bql*@)8w=N^HY|+M$' (CM[Grh]0 QǕAT}饒ahKFWBQoYx[U| ` 7FH=CRs6=hdJ@;Mn]rK;8JhgN*ti 9_b[uX!d* N_vT"% mITG6#.kNs}$UꚯLl9je.4S\[64Fɴj2l!oﱉȿ?+daޅZޣ }S0zU18N:wt\xεM!PCt!2恺X<_Ehk2/xV:p]/if@$ZaஉƻZ`eo ,\mUFZ b̧gTwėRQ<(B:"WF v1+w[Oi3xR$rL,Pֆb/"ZDZ$[e{uՎu%R5Kq7'6R*8 dcxJӦXuZ31ᗟvʳfքuZ\s^IʒQr!턢TMQ+#4Sj^AEQ@dbpê;c3(Xong) (8^#>>S!MwȒl,kIOyImI Qx4Vd[UlBsܓ屗pٿ+QѤĩYM=lAR黊7_=z[ }AhƎŘF5e49>$#%Nc U`xآnƤT;Xծ?cڽ\Si52PӞb9S;}M%K& S5^nt&/Xw@M 7a?bK::kqU8}[fUi[dȍuLU#/Rs_\[KMLR՝A4;#낿<c]1#n!{?!uF 0[/~>4؜`g55WABc: 3bǫ*_;\ݚc-QlhҶVFqznP$ hּ](n~,oDQj15\PV_{v` -pWl 3篥F| ;Fqg^|jJ PFfw! O܍"xc7<?!d1>c+ )Sx[8`+d%Qɰ1Է6 rE i(?{'[[k$(Wigc1KݘPڵ% $}va҂LJ=LO&}9 H>|~5 փ%nMA5 ~+ڪȝKF_Wg&p/!Ry:TF=}^ 4hf#us} E1rza5|Ͷb 4*(3(AiDJ' ]9|F$} /_؀rxǒ+Cꪑ 4"O=řƛ} ,bSG crGV|p*P[}mjPO:}o|\0^\WsY$)qw&H}k,cNjncapBp+:-/wwؖE'LWZF-T1 D5_04<+~N_<@`0 nƪm/ G#z\!p}*_Xg7)lV5PI?1!X5Q=?J}L [լ!; F̲S"7=ShdE5_tOJP2(Ņ 5AA i+ PIDOB]#R?;gZ22j@b$g5zadJUtOF%DTPrwIc:XQ|7E:?IIK.uAQl6@5D[,V 1OcWm&ה:bO`0O9Yi;8`:jkPm4o\W5G z\QJf<` X\`#gPE{K~"Fč iJFtrrn#7ޛJeR׵Ij/|~cl:9j2$ tf5DrE.( vKTAhlx~aІ/䯋*HiS-zNqD/f lVhBCoTc-e~LE@) l+6Pd-C𥔴Y!y,CH@3VSi<~>piP6i忿nJ\P*EDeydB5k2)r͹qBW]v˭,JQ x9]%ڧ`vWXd5K& ("2: - @'2VᇤN<R;/QB&))׃iIYFxVd'mj1Cp8㓱;o:.+rHCkg${̓׃D$B=!}5l0s U[ȣ6D dayP'˧+kYߏ>c^Tӕk$Kvn5zQR_w;t+|=w ]kCѴLL\M`#|+{s&8Y5EaN$IǕgH%pbݻAㄗ-W\ۙ03E;z\XW9YUISނtz&yK(rI= Q/0hPiJW4=243I2zp;P}'k2DBٲB,5 2]ڜс8!A0+5niO;/U__BtA8͍# tIVz/\E `=DD?ƊP$ Vk+^#(z0q*!b\ YҔ wiqzÛ;}Q]^ƀQjQMjNȀte+r32Ϋ,#!$3;_rݖ'I}DhSrS7L|BE!N#7)r%(ҁDQ=4`.3ه׼} ܈ [jB$ ש^"6= C!QIHP5{QwYsog}'&wAb[RPpk_{& v3rX6r;% vj)¬ ].aPQdja,)2}k4NP1V(rŨ!BM-Y_p‚]k/eߘ)D ꠝ냭ZM`)p /ٚ7Qr2${J oOW*X ;e~bO]coPn\ fam 8/mKozn3zD\NH|!U-|!,Y}<OyrWMdGFV:}@%_EiaSE|#k`Dx x!~Nl- ,UmTc*n!zѰOX9 MD}%J@EKpy&pG,*ELLs/!S2^Kq<8( oY)|ř Gܗ%)/r;- j#kΘL"IO&;u7Opk4V21o:SO5sPu44]vјF6ne;U/NpĎ10ST6h ¶VUr"Mc4n?؃Lfj%&s40M%噘wNYgQcXLSAJ<2Ud c2[zNnxw&9m}/8Mj)8RW"``sz, qT[bdKC4CS*(v=RI縀cݓqBΚ\ sC T37dm!/Up46e aB[ʨ|* x5 p48=PL7XmUx6$Iy :W&h&)ZwCks܄_9,ϥvrZlMl˴M!+lCsC3cNq,Thu`fj{B,PIynv8N}`=mRl#*X0^(#e[LjĨݧ1q5Φ"̎vSt(EVЅb;w8nm,T`c4׮ sֱY bLhY(6J5%3[Of:V{\2!<(Բ2 N(MYԗF*Hس .V2 {nuQۉ&!"Foھ "H)v ֈZ пKhs@?TS#+G߆OA4 ٴ./c%V'_3ψUǃA!T8P]X h@l8q|hg'l 60tEnV[GH늖F{ [Rc۰lKLQ}"n> ݳ$! G~f~\>3J_w6}j]=jǡB$ ؔ4&g up=6yi]zMX\`-+\% HpAtRb@w2薷\uTsJR*[H,-5t_"CQO!WheL ` tom|kπpYx.]_#PW ,Sgj6g2PGsrWٝS_ydRE 8qv8)/(0H6@#M@wCKfuWcaits\wtU]#/JDEٖJw,s"ZmN9l;|_]:MeSքλuM8l/kxuG>DoJYʏDHF~L9 8"Frys2.3RsMg{W]b_\v ~޵]SQlve;{efMtWm[l~aHj1v[Jk8k0g91̉S}YV\\JM#u:o' iܰDɳq{ޥ a`l.'n{~$NEMS~7W{-L%F؆N\{ Fӈ:X4D49c9_ @ C` UŶzOujI2T!]黣[WF4Qhp_աF뭗"qb>2:Nd.1eR:}6bͳ5 ^H×R|<RǴ?o(Wo#F3dHNxN$gnh걋1oS 0.2>P鞑E 5* R`ϳ%vCsWM‹vFm'b%c7Ȝg?bX0S هq7\0Vݦ!5\e++0b/q2m K#MtbZck~'.S [;eYX2tL+_ɦs,+~G>7zJjԑK/ny+6cRb޺gZڹd†^2+pM7S6.*y/g3olBC)Dyv)\~2{Kh]W֩Ӈs.(.h*ҙc0=܌]0u W? _4,w.ta 6C!8-u.4 }?spZjՙۑJ/"om%$yr:K<։-p|G-tzכS4Wi[ 8,=lCQ@0uS938I INntr w3Ռj*U l0^P3 nЃ0^k'8%:u|嫎]V֍f0Y-˖Gu~=rV3tS2˦0c 2sBJxY5~NKK+Zدlc!GpD! 'S\4g+|Ô:ױ+]$\;H"S  EI+7aэi"рQ(8vY2XPޏp @=$uHR+]+`oL*@O 2ͫVLWx"AA鬇/|?C^Rjw}+tܷj? ȕ1X Ou@+L߀uqDԄ}Ru)7}jS ~z ]7xoi'D%c/^p6f `KJ.@*"|.$92S4rNX2nm CiM"[ m}CV3Jv\N^=~~P?*ٵ_peֲ ֻ_R; ´:Joۈ2FNm.2f#j'mMo|J~cB5[ (}?n B#ar&W:zͬKj:L怨AFKDePT%Z) ϡmQZ<j~ c[&A|@3ɧ qaAMj|miP80S;]Y"eM.QOC{ҤvnC/d %K)CBbF 9ll^natS윑?V.*o$"4 B\tj F1A(ʲcd:"(tvﮗ);Ei,fGǃ- \SBY/:Glv=9)ߕJK}dzC-2V*wac?'( t nccNl9$chv =@ xT(R]̒ACA)Rޥ׺|6Cʍs=+'&nrդthq_MV!tOW#Dž7=thBoq@DM*U󻟾Q7K!6EL/[9?ySL>As^R Jw-B MntF]#W/<5mómH/P41.`Q/*P0x/N)UC/MPazL2N.YOZ{FPiX 3 8^*(tmy.zyL0׶GYْn;Jx|kZ j137U)~8!ϒ/ @#V1I#dwESFBsUF 17p*RWyvgPlfH 59=KG\XH^ܸ,ǟ&k ERtd8^H+\u#o}(`^ZB5Y`7RL, ً{]؏T#5^ڷvHF37Dv4Ors xgGyrK. +1FjW'05f3;duI]-&qeq.`L3 x)VuRdHg /T;#T9Wܑ>r!JZ$uZsh41M Nap6?ҙ? W(Y+bMM\djz^X$7"+㳨n''Z/Kz|/jbc +Ōq|vAT sG<eNk.B7OJǏ.,6:D8MgrOP-X^_II=wf? 4fλ˘$غv ?QѿVù('B_VZVL.'O/*W{Ԧ%Bg|ZiiWj~A13D@vEͩƑѫ8pI#2/KX6ӼƊd \lS "pdT*,N 菰y |,tK7]3rDž/C0D@Q{26c2T@i F֪fm9;GjL5wX#`vݪMʅac$:xSI]9nd%u˧.wJF]a 67Z^W18}a~쮖ܴeLJnUmm;r$2u|vd*60zozNK~൲_<c-G~t_< 7zQxԖ.%E;d}_u?SPlYY秫qeއ\+@ n-er(«oZ\ڃhxZ "؋TKyqln-/LG[ТpQfP,">=ӊ` J]nʇދ4Yޯ;<>Fy{n?*9,dr"0OoIpPba5FS=e]lEPpy; 2fVϏ ㌛!}iڙS\ sX$[8SjUK;.۵}ot{ϋTNMx50"XZ5DDk"(+Q줍˚Vv %WLj;ck>]D$#QzFHX:;r͈zH&HզC+iZj$;Ci|RkpV#Dli=h 8䎆3JB/Vcb`=P(L :!Ii1{Uj49wQ远J&-5U |%E[e0X0W@+AbU%a˨tkVC4P$VcLj$[A{j4#H (0AߚanZjx50߄St\uSV3 /4I^)!9;%""~?^Dq{.Lf8-[ZRZlғ?[83c$H5l/ku)3`O;J>s1"z ڮ P*+A'<R X6+G ?IKAKjMK6h}H#x/?J_9p ]IeVK2ۋ laupl- %im4zCe߅#L7S^Ҹ+Kד<5졵XM<BN,H]?|J(45e^)HdaK q#d :3V2arRͣb 娯n 8)>zE̯*G+,r .*Bw(# "jOҧoXn.81: Y\{cm&!?=lj-ZlWH`s+ʌu;yJ; >#*ƜEhp(wԂ|oMpꇎ @n4-Zq#ɗ(1ujE5Sb}׫uCb'fiPN>9A$ǀ?\H+{NKL & pIt*M)B00 ].bh=-.8׎՜pcvʇm"ABPZ7.z{\5m#Y j4,^K'>E=b vLE/Qe/w[8 n҂c()Nv7Sa֏.A{ٿl#51@mK_G_:!^^*8zv2,&OGIoIݠbG`=y,[晢2:ZrZ!QU=??s"6,X<` O,Nc4dzt=1 *'/#U=ڲ *^T;\ ŪM| ~`,oJYYyܞ Xb6-?i"&0֫Ip]Bg"x`U}M7.]"chsEg*#wk/bZZ(~ۻYsW{ͤ cF~ؼ} )Hf8Σ&vBod%߭EROY;D1w "=X}BwL='^ иdoܨZ.؊eܳ` DZn1knuȒDy8źӢC;Vu5e}*0[?0kܿOs0*wqG5E@-B 0{ސK V K1CO|ھ:{#9o l<#_*6i pjS%{~T' 9d[;AtAP0-v@]vUX|x/#,zۭnkH%MH9=ߋ:i}Whu~2Pyuy!-MީIkj!%~{q,Q7LgKͷU:jr5WƆB5u}V}>F**N|+;Wfxj&>b7aEϋuy{FD7hpԝ{s;\<'T^%AD'r@sQ\aeUU e碯 I)_HnZʣq:6 7ZsЄ8UE´._m$2I2#Qr8zd4#:>' ؊T^ 0k8 ,ᒸ<k'А vQUnn\/3/]Eb{œ]yA‹Ey/7ƋZ%6 Ֆ-3m\8&ٝkI\ &'=V+UHt=6Pe1VQi~vú{11 4c}-;DrmEP3S]v<TNd@ 0K,WYu9 =@V{f ֚غx)3*qc+ʦȐ|kM&NZ><Յ;XL%iD~csnޣٽ-+q׌ K~p1t^mQH`Wrn|ilO'Y{-&{NͽMQ-z.!r⶙4NL1eu BȎygȿn5{%v`?FkCYC4kB kʧENP;ՌωWY* 7' ؍g}c=, s|#P3 Bu}d 9%Æ$Թ3c>F $\0yJsv"aL,sop`I=^]0%0&aܞ{pwat-y wusΖEɐ.E6!XAz0uGeiw_v,8JĶd#؈WQ^ra]&|ELFb>/W &m\mk*azyܠmTBFrѿ{v#`d_^]mOsTlZ+g%h@^EzuAOK)zM9'?N :j7N\\:Z8iF%w+1ѿZ60@~.d\ӳ"<~*L?]}d8%bͿAh+UMUym~3r-З86n:i֣ :<1<;_)!PXPaD&Foi"1c7LiaVK43'Xǵ)ݹ(c!{p ;Bhy3|!ŖPkCf Pzw?GiɆ\+z Ս"404o`qNhh[+.E58rݜy V.Z=1UU ䷍A'ۉL ˱ƙS73}TG2oDj-K1~ŧey]n0cYTA Nx?a ~27 M6?+A::q]eф1hZlUٿehVf1™w.sDDCS<4Iʑn|]"KjA--]e,{a<0+?/,f838vY,E5֕,U0[Ki޺uyqI M_W-9K6hJ&P:hipgNbBbF{*zDyI0"ݳbnohWZK%Msb 4S%)* cX|Ä"e随#EEE1kA)y1a8{oayOՐp3 5ß϶DڭMC2`+@ y|/bFiʵrp~ƆlQmwl1{#bl["> rdڮ=h?o،R%Oj- N>ijnKu I,E炪ދ;yE}e_XOYE/HkeUaH${Ժ嗳Yop_8Њ,҉/Ezvg0S)' k~ꩻ25!2ˣMlQ+0RbIXj?Jޣm63΢fSxm gdgI=33*@ DKt{Up&+%g:߀V&auL& 8`BaȌs@ pu~/5 \- L~WZh-4*iyЕl.H$Q\"UҦ?5hpMIsi 2D#1kJr!E6۪c/J7|HRx'Dx#C'z~'XOw,5XENՆE0U+<~@]/͐lz/2W'| SH6dR x'\t哙g urA_yRD*фo:&V`0x0μy]i[ƕW8x0w!Up{oa:5h9+g u'˅۳XnNQ2tveDeި49~"0MI đaM}pDklߧ⭝U-w4'&beQ~0Uٵ"Jn($ǏOE4.'jƼ9{.\ud }P]$oϡ+ ㎚a'PKOkt>tONQ"\f_#Ց?mq %2^nOQ?ͻDAWw';¬|腶hf=R8uΙԶ8Z+;C(Iae5fKUHNl5Ti[n6WA'L9KfEf.dgEq\% g [MzQezUNa]6K3'Lg|e SHJ覲S 6y#m\6b DŽ+PsDq` )b@,BHxh3VlfٗCό9]{ώq?(?lB7G«"`B[FR糛Qr$B'#(8\ѬH%rkvd3MEE"²Wj1-ÙVNl[1!jFk y)V|~:+em8ɩ{b'}OúC+Jp"TęѕL?c +Qcvi~)S#>*Ƥs{uyl0oo6,h1zJ OWYHiQ0ކƅrΘPa D^5~V3*B7NBv r)>Hd|01_4Q0@*b\ѪEIܚi<^xk8V7E9(+k6Od"L] c;SI9FZ0V0E">hc #X PYQ ȭ\* +bo~k%AGHQ GX-ǒ$݈-Z!hd\L4#BL$H?Q=빾;$[}q<6Ƿ[ H^)kS]w m'O tNeqѴ[rf)'-lq*ASMzذdCsM꣡F-ti`6tBo#KzG̈ TU]=pg (r|j$0IN]4v}]L0oԅ)S('1nrx$ےZE%pw].q@]ƅ99zX~13r$4b R"X?)P%T,4M2, )f0PN d#իԍ;amJa-[@Dp$;lGk({JySZ|ɁH۟k šF|tr:˩񯧜 2!p.\GgZ^t9hj*+"׆ihǠ&t }Lԭ/ǧNgGﵮS.GN5YO%+Ṱ2*jK@u^X~6HyhPNy茀}Dsӳb+/*S`ľ娀֨ё8'y$]% hrZG1?CW6[ZHq t4]κב_hRpYt #1]gk~kkFЕP BS4nNc)vLx2Z>.Jku7ĻuˋBuՊaZJ'S;d(4/]"|$r3Yyqm %pU ۀGZ!gZ7QH54 [I^f*(\ak[&o FJcq%a۵ko hAl?(Lb2x!uH * [S1\x(zh\Aoia-8P}GHŒ'<2 *AG:Q)ry z ]; >0vഴ?Ǐq kf!}Cصc&%mE{Mks>_ˉb""*EB#O91Af/P$ &| 5Y媄+&Q6cy(-ꔩoUSJXxa(lI֠grjf͸QC/o3׋3s}h|Z9#lcX SܳKr_k\b{iqݿyɕs2dSuFqicA:,9Pp7W%un3X7ۿ5>oϧ.P^VVN~1^,U )~<$c|J[c"d>SV.U Nu2F@0pnt,&˵\F: 1n64j>`D./oJm9=WX*iq㰭8 9D1Jslgٝ("p8%>ERg ^bޓ3Ok0nKM%w=?,r"ۭpzC.ҬãW qL3%G [Q@ϳEO4ȵLkk¸4(_'Xz 2Ž *C$ ;L˹0!id'ĥtaoTSؐs}&e|ȇU҆4!*-$NnAyz}["T=N91x(d-*`}Λq[d̮OZ8nVU0ASm8U \5ѹ3\6=ë H#d 6 ñUx' ?\]<#1zz3IYA&V׫~V\d*47)|2t WR| 6Hq vX*~}ocؠ2x?S .\s_(xBA ?; j$[pf<:)uj\O}Ѩ0% x]LyC=#`H^"R| E><6kABTNYS\k7t_*]vU;zE(s]$S~5"b q^+#u S[0Dѹ#U9뻋pJFۭCv }AI{_ 3N| ga܅91'h`(ٌNЧO(;L>BJ\$|ogDr ܦ!٬xaA&{sК'=XB{<-8TS爜vtq%L*Tܦ'HLz$x1ņύ T$Rq;`5 yW ^J?qWbR>H%󺫎@)=,QI`aHBQHpY헉 *ڌN̒P}:"KQƏv'yAd.r;f3סV1e774^ Gi>dϐN\:\Ru]a ?pcDh]®+<|4S[mɲAGGOxF.뮅;ʉYn4WhTaKT @nfIO_[ SX MIIR<ٷs(*yv ?% uŦwV< 2ZA L.pѮtwoOe-&J̪rʽ҅X.@w1=QN[cS8Sن#ZŧuYM/*1V\*ʝ,Hp-=xDށUx`=ڴ%AvU3(EoE5f۾FQ>N1gp-Ҕ^Kye*!Ce_r A/\MN*uf՗-f7T#L!{B95U~`4mСfYtwl1y*^:3'8#V1s%8[o qy'rKja"@%uvO0oLYd|u@v-0xCEs(Hͤb>'gSgX '{6ߔm* `m%&JT#f_|Y&U T dɰoB5]#rEkDu;U[#1X /\vtkRow ahױ1MFKcb -ְ;uwF/;)ڬ,=c,zG>2fx`eW;<[ ؿ5Er5X~"N_t-U+zH0 ,W3`@lkL+i}?[j5hޞ`'jN2jmg*0 )5(H]P!b K!Z' n78)˃ J fʊfxSԕBQf&'+zr؄ÝR9T3OMhQa 6j>v؈O"q5k 8rpW0eѸw֣1M]R%$6Cx:g3- 1g]Tڡ,P2(,t@E+Q.*⻋5oe$rYc-M;rxb441+ȩTR'IS3l8jba͑X谰ּe0:ؠg V{L{f D%Wվ@7<`7Bة*C8F&Y⃰,,('K0Ĭy6`=arWbPA ʇr&U90 PbԆ[KdC=PKh$;bH M>o+,"T+ ץWnwC0L#eݯU&rd`OR;OM fεgMruuh`CM; h4? 䮦d7czlz(^)Dʘ'EL+k 7* 86uci: ao6q;A:A[=YRmïe0*ڊTљz#qΰg߆%^LC {]sN1sohyfdS`WKu:`p޾E"ֿEqs*fjͦ.^ǡw5_m WY4ExoIw&Dl "nI+850;kQO$6S@DnK9BQŇ(3Η$^7Bgл`OfW 85ZPy^bmX`1ƥsa\ke%IHũZ3BlAm *82d rKU?\\=~AGႍ9Ad,v6n|K*1*UƵMwoً5omLwiVCUЀV.b [A6׭>Nxo<[&?S.)|Jמ4x6E5yc~,a>|l$9i_h0~c8:{_6z&z:{,&] #HKӝps~tTd`z&1HD# )~9p1s &R|?:ҁwX?# x¸ =L1/*e,dw5w nYFD& yiKhy{A?Z "s$pTڋܖGP!{?Nl׬{e*蕏G_1.Ǻ2l!Ƹ]-0T99_D"%T'~1hN2g@G ZԢ%ұ=y,?!<.〪H3+G]2 xX;_"+!d[ Ek܎;1=Kx%" ONc&4ٝC^f?cMLܕ($Έ6,|',d'U̶[%_^=ؔ"NRx,)4-[Hܒq2Oj :؆{I:CxGl%:$3[)nj8.|+kOvݾ,9>P$S n$aβNHоBŋU|j#q7fMD~ #lՎg2qJJGHWS@L> nAAmM3^@Ωuo<O 8p1Yyi2.,M{L&8MyŲ?%=~ZX iOZ [ c#bwq?%I|dcYfƾ<T:jnqBpxӘ@߄A/.-+)FX~|U??889ۡbDtx5f"eo]z\}ࢅ*[{oD9w%`{C_5O6PLz KBK7-R. ߸@2訇FMo}hZ1\6~JF K07& ]ҹ"ۈ𥠎8ޠo4V1ۻ$I)#Dy#|NT`6s%Ѐɐ pkxezD'~9O}.?r_,[€G,z@Yf<`eۘ^&Ķ|*p57y9Վ23+/Mp h',&r6on^{[֨:Z0G4˅6aJ2 pg")c=*B vT_5vYD'MD+rOtzDډvɬ>ќ.`Wf/sͲ@@*xm0ac쟯Gx) yCHo"`cTm>O4O܁ LUK^80!Zs))ҳG(H!6R25?nyaw 8"y4B cZE%$8:~G|󮸫#!w >S7)E; e!i=3.L%S _]廅փ*>ʭu:;-_f_Z"Jxg :BCe׎bɡtE8Eۇy+Y"p3!v.8=c Njq^K Tm0gu%lc$yѢIsnw TB=Ey_" (PѤ.7 w#.[EO'tJ|2rR_W\Xh_!. 5"ٳcAH0ΔA()eG }~(1ryP*.h֧p%0IlC=Q!o ҝϵ䜳ujw/˺(\Rl!D~XqL^gW 0fs {ZΤz-D?Vi26^ǂoaduXUs&"V\[?!V^Mp0Tm5MK9W#NmLlÝ 8y#E1ß~ "H3%8dM{J6b)%،C "345IzD w/h8A\1T8ar#MA6hD/m6aȏ@v  4 OCp̫Hp$)FXʹ$1HbG/;Z_\O- }UEw΁\znAÝX\#kD[B_eUiMl uvNPb!ޭd_OP|%#kp.l^9eB:!Ҷ7Gj~I-na 0)n|)qMΤTGȃ.]1 lUHqXL¥PO.K]jpxe75VԜ̱5+&+HBY] /Xtej |!^Vҷ-r?6B#uAy&AUTv@t|͂g~jdOEH&9nEQFȞJH2uG.dy;iab>ɾw$XpIe&p?lXH4&&Yo@P(ko'orz+eߒ S2m QzS]VH3ƖHPNe n%/E[QT[R,1I?ԂR|Gnn°֣W鿋 8q&f99F]Gcs)e2{J_^ʽعʣC9 [+[ZCaF?ť\y]tIpwXc]TugJpY51 ulȀ 煂'xNhϽ.ib ıהQxP]8 Ol'+6gP.ސTZa5s‡AT\^{[L6vѦB?sOģ"se[+ h/֕ƚ3v;tO@ä$ Nv~.>hԸ纮a=گU1@9P Lsk-ێ<>3EG䅌m@.[6mo"ڦ%`#jSpwAf(vVc.*u#Y2e~JelXlꦢsJ~J!Vy;K}T^0to *$P:SM,n j`%I (uATwTV.N]rqv(t(ԙl4 R܋'2, &H&NԈm>+8WJw)#.(gs+Av]?{u73v؞Zf]7P7ψBwu=)m$0 #"a'Ku H>Y2fF̰'~Vʘ$(y4DiSǾ& OWo%Ƀ9 >I %۰xs5!04q]֤IJ_Unyga- C"O tIl2%|;-2qI{[xm~H@xe{:x'_#l]zhǣR˜&PQ y Maa6idޮξzyWi 3q=ݓ?c.>V^e13F߫6'c`cF]WB%ng} sI/-H5_\d?.f}j~YZFUSnA+gI 35AQ^eP߼LA4%dǤ+RaFB頟%ugNF>'WLq䊹i$K[4+y<#|R3z{vџS{H^QTb[w_HHI0oFj߯Y Mb[^ djv'cpU>5 d#7]w'P5(WDፃM—Vjn~aGo@Xr-øAR*rKH~MGyal:_$2A0HO\%Ao.iZGa&OV&HWe5N>Xf>C]/(҇Q!։QP„_zZn@SfX<r$R $ȺQ4b5Pªꕩ-4 ];%gD` 4/}kU6-9)TZ T/<4tTd`JfuM|3%=4ۤpͻ*a5(u&Ds A]DYK U^̪U1!簻x·v&J-;>bL&kYÉs䋭Ԉ(mN/uj&j̽7]}RM N?j;g-({3|J83^b/g{ټ !)d u^/n7WbhӐ>4/]Ĉ4ERRw0o1X9ɛ¼WID6HJ[qX%(80r q,]4s#UkKTJ5v(i1l)Y 3W# ^ALa˘iSu[yFؽDZdC;l@Q_+𼘠z2EZ0lP]ݚx9PJ܉݂WZW;(DS>>z&YLb1%Yp"p@QTK|C|4<3=pڇ61iJ&@:WfOXճʐ {r"ȟC`WiE-L[-bkĊٖ PV^oke0Swp}/gPzXf ע&$-2;XxٌibȲm1|+3N%JڐiiHݠb8j 8-IXl[*]Bˇ#DEG"50Gaפ?uxԥBv" ׏~u'A-1yj۞/Ta s En2&.;  %t9=ǻtUwɻoJy%ҥEqM{,P0ys)g^5JTN ͸ܠ]Enkdk)Ϙ< ޸QI7GQ ~}o&ed ˻^Q8J `Bqˮhq #܃|=`yx) (.xNȘ[r7Z{ǦO'c/ D0dPg+ %`qRP|8ػ'rrTIsQR)?؂ELO2떵%BHb? e[pC0]l=IJVRSh Fj[ߓT#5~ ZѾ zY2 0I^؀JCkqGuԕ20uKh@f!^_Ğ=xWb('9ƮFe5wӍ\ḽp4&?~ b Yh}וn :;"ihS Nw;` ʠ _C])U\fa+![[>I+ 7lu>~޸bI^ǂ w Nw}?UI% f+ֲҹ+uwK]6%KhDJ I|`:2X\,wkMUT2>fbDxri5O!(2Ff?TNIV^t$v;J-G'eGV?9[?w^ٌ"Lc^\]VvB1(&t WiܗL*i1O0vģ1oj(~qM,pӄw'7]ӛ]_"3KLC tnHӌ6uw iq6=h7ZalO!؎4}_!g0( 5!୾s"krӈM'`>G9-@g#IÛV/ zx8 3e~ u9xx 'Ы+~ ޳{:LR-:}a}%P ۔a^toaI^yE”&Q0JN%Prs;mqPBnc0"u8 ʦN̄8͊)$FF*.'wժI&fG08uI2QPqXf+Qcr5?W%-6fW`醊)v3D.q={5/xf)Ë.yvwW6)8jIKk68up?fFf@׎h,jʊw-2r$x|`F3(aa'X{'da䯖'Tzr:=:˟Lzy6dQsEH&v  A'{?Zn.^ :f->a] ,.7LXn1[$ 7t5W-?X;}Z#=߿5 L%e-6D"93^-PN>&| `2%˧ uq۰MJĄJd! f, K_fBLFT:ZS\:0;4T:` u4 P2u<%\Iňa}WL}H7䌨Ǐu824<i_@9)BQ^u|+Ҫvo9-T7z#}46J9ᘕ<φYְHf*2yUXmkaʀD\a(Ory*<npA?,"Y_P o\S UeW\I: XQe:9=/մW*REpq 9|4C;.=&=l7pdM7#xYYY~ `ZR 'P :PA\!ސ(mg ET&nnh[FԢg黩Z=`]ܩK?VX{V<C9;x\hpxVm*d3sOf@G|t,ܑ=cYDDڸڄxi:3kF~5\ru^fŒ5, #4Iac[VQc3r(:$ͻd$\:|1$m?0 N3&,enU@LnbtP|_PC+}p|'E\n_{!_|6FFg|lTƾy ї,4Rʎ#&f܍/c;LH&CGEfYko=Q EpjX܊4GX,{|H6X(d~f~󩊣o~s CzU)7<Ҹ؅wxȣLj~ybQ*![<0 Yg`;MKy:9lХ7lk7Z:VzgZc}KǨQJxqkZQzga<ٕF϶M 4ugm|?$貼f J>b'ʓ/Jo,nͤ Ï?#:g,|^e v*4<dY`ȉYnXIAhXhm+ZkEdvpxrҋaD /Xq5H_:LcT2 'NP}J;EbR)͠Гd!ݗa-.i~+>ZqjeAlNÃ[ DBje0J@ 8͸JHv!~O[e5H"׷A/lS?KjPh@´lH!e  H ׿vNop6wVU}|2N5#I哑ޑV%#vB54E6!yR"eΪ0 _y]m5oK^=ݣQsq C9uBϭLgrkuLm_3ž7ʙgX6$ I i zvUD&+,ߡTYz.z".ߎƾ:,RTM@$`(Nȡ. ~5AQϼ1FD./Bw$f>/Zd}ƞ} *ɭz.qTl0,t̟Sr;P<+cqC\LW)\?d]0X҉܉uE3ø$8@vnxI:6ϰ#_{bnG"s&W(M`J|j[a pVLUF›>1ҢENc))97ƯtEυ~΍lUS҃w7CrRB^J~r H^  iܙ @fϹh]r^ *9"l܍=8ubuw4Th!s]ԭ&/8q!l LY@~dFAv9pYb+l!B/m X2W!Aqfj~LȡBTƟM;H0;/8>P>4dz6 ۋJo= 2[vY?Uq+#qlIE:&ٻg{6ՅFtWlr@bȊ63"ǚMο&N_/Uɒ7:|l.̓f::GSOlԁhˈ-g6Ue\HauIȥt~6beVܺ۾AqVcCT$h9oxFJM ~U, _ BRP9X{z$YϮ_EH"7 |Us~FUJwJ-ԇaAž?k[7j2i~i`\.x_ 2Xp^V"[_sY!OQhr@SDm8,N+b tf۔ccdn/b۳›-'-dD#7v2cpR$Dˆ6\]`a&g),2΅1rX]syd\ޘB'+kxjF޸@ KHhÍ|{1SAZF ҾSD)DT4ηҧ?| O\.Hi]v }O7 gYqgɝ:K@g5bod[gw0V`Y aJ 'usIg 677ej!WMܵ`gIq 8 K5 ;oW$ِ(NRcҘsRO򙩊Rk%uUTx@*Î\sg2_*WHsބ ( RqfV(u(T/%Y}\Y׋nwv ):G4\b/"kAʠ"t,zJ^]Jⶆ(/x)fVLaMIL nqoW=4T-Nu_c} %L4ICjtGrc&۫E(~}r={ ]8{pvH|Qc!s-^2cȅ7t$벹AIM c:z* 3 Qb8J|ԧPj/P| A{?/~u;B\YZT"02-!VggGlp[PJDATQb]FQo$DHc8_O;#ϯGS[1I݆⪇!%]sc:qx2I0O mJ8{Cq~R!?PkPdDŽK2eV0:,һaYps~4狩 8K_5[ ukF#C*In3 wT̵oI "JOyoeEr"7lD;KjL;ӆq2s-5HwFrlGX2A3u7_ o饢q,&oBЩݨaJke;I%][e$-u9؃$j*H Q.;5iD5ȸ[n+,x] t(&{uQx\k[ 6C)҉0,];ۋ5`' e&UËS*UF$~z1F#>C@R CݾrI텩OoϬpme70F?/s!O=hsuK}-|_}d9S7\ρVr嚺5WfnWL]gTrWeaШ' _pd!!ՁBU8ͣ0xi \]ζ{dLXw @kXV0X4J)jH$ԍi[TQ) K2(X=x:GPvg_^g.݌ /{z[ۨ}g&?fX/D9ƣ,}uC4^*0rh.jO1 ga qOtR4]Qu-z0FYoίhk%Y"3@Pp+uW%1p_-R!MeW3-vֺBY(wLouS)ed4Zz%VC(@g)F|,LC='%>n}Gn'}~N D06rF/1sxMXí'Oz4n`M =Mɸ}9Z t҆Y6w*gB ӄ6 U5e25,up~Mx8J*>qkw~!;gٍ:!ԥQOW6W+]Р6 NL6Y=<:sO5k0"MX&io;Kd'V%pOP5'cr7ٓ0ș:5F0@6Q$kҸ>%+(dpL W-j@ns2 岷&L'̥RK/ I?֗~t#}lzrs\دv@hҤ8n894ڇ'<+iVЈy0<&^?uadN*H#).f` >%aۂ)ZTg^چHȮyīTV,Z;No,P4&G δMTgp+: f#8?2@3zYUF+{/Ԡб >ML66ϿoE@5ԺOjwo i\0ΝR;hp=@q kE,#τi0SW)8 k D =Y־m|^"$ԋ:SƘZr96/Sc\ɮZ@q`T5,ulSpiGYPy5l-A| ׻;/1"ySb2c;K!C=x.ioJAg 7)t1*CDJB_y gMaynMřOJ|k¶5 ppQғ=F0m@2Couc%:uV:HKoᡦ -r@7w mhWMhOeihI˗՜Mت:=f1$h?W_Gl)s~?.|[.Dv# V.haMO*&,ob< H;`@Z5ŷM.Kh-v{U[I5~:WsS}8Ky`n4Jc1+XMM: eY .30u;WcqÉq/wO tQcl үO社;`K<ǖ,SY.in۫; }?BN,xA Y'NJH UqI֮Є}M8^aYZh9GTh:T0|);}8qW zGl536p69Do"Waz^d'ǞP8ďCot(^:Һ+R*Se$lxMe¶PS@!.ңY%qN)`GmIrtgAm|XpЈMƕ>\nPj>,I#a6X\sOPAT.Oj.+;0TN7߈gK&\Pt*$4XqtUL*g5Z+b& ~X 4 T3(OR`lWy mʢ&dg?8'oÆk"?5)s؃{U>7>;ߠNQqC(jm>EoǺ솚u\2 FȷVb9yt3AO25Macʿ22uKy/oCEXܫЌ'ـG+ !{ݬ熴^M)-kM0tB\w(+ʦADIsu^q{22MT83j s9)kg}%v\ODWU`OJ/ M@gTB/a$h+@ Ȯ7M-FR*vc\ 缍;Z%>L+-l&Sې6|^8X"ÍXBM[˻}@^l.rq @8F*ƚ$?Ac5b`@HXG.u&%@8=Xz(ߚgυT GP!ScMxv;K6Ƚ'JumS=N-*.NseLhXSdmcsÐ #,_SħNl95#ja./<DtjqeG,P^jKeBISc M V2кXtP8bhQ*|w=Dç}<ℶ 0~]+UXRsR)6t ^;wep_EiώǷNT+}APհ'j%&`v]RLx;<1BWdw߀ x) Q˚`{&wl@1-ciן-Ho:߳dꜬ3wUMLuظ2zΛknC@1[3s $hF_:.% z^.-O=1G8shH;~FE/8n8߀=[H̴IkO x6@qGsj]>hq寬S /|mn M~z4LNxKr};ꚩ%NBaRC((F<]APVoHYzT[9l9 u6<Ȼ7!\u(ݏ:bmM]7#]4sqn3%݁^*Ǡ|AoU^!d@nuj nM]Gk+Z>y;8vކc uC2ͼ>&];g/'h&-<~/F2.4"{Eקw&;0XHA[ֻzRAXqeda#s_.C@Leitj U8ӈ) fMXa_0׊DO߇}Vv[۞>Ro ךWêF7|I4:k!Gz6c>}d²^qj[5K<--j6^Um:xQs a|b46&Yt_S_K0'+HX8`3M ;4m 5<~E~aٲwRC,^;HqXȭ_ka5v}#$͇G {48_ & 8wU;ApFNGU+^fw"Ir+6>Q ,)ԝO}*h'z '^m5JrN7:s`,?:e | *#6-8Cis&6|DҩJݮ3 3e 5Q^ϵq%b s8'+x;Zpu򂊭l=a_LԨA^D%Q ,\- bxPB akl4l),"*Ywlk84B 2@ +SRȺ/m̦}+fK?7[B;S,z\S5&h:^Oy=B ul_VzYPk .h^*}kKD5Z6ʵg&F]H@N!]T"yK!+˟/ͮ!Y+ml1%Ps[$<< )7(QCnL)~+ɤT(!5/%QzQ~ Nv7+$.#JY(hWT?y˺R`'_{v"FgTQuRR'R6ҡi`[^ 4ׂXPY~ ;-fCWf"Sgjy1 PihhDIiޮ/TO.:Tug~`&zQstdٕ΢iD=uooFK#G4mb1BFi^fl+ 8Rh8Wd v+e`@q@YyM,gu[L>ˍ ZѧFBޓEx%E#d^m &TY'=d\S$g((:\â(ocUQ>mBȍN雑RIrE2S-ǟ[0"S)œfd.[5'{3 oq=on (Y$gh'"-WXe,FQ;'; 6 /" S|Qtȴi 1 *A-kx٦G9S5O`.5KA4>yϖm\!&="OP10EnSt}g`WUR(.旇̟j\0Q䎻2}=7TB c^BG9M4ن޾hOvdIYcE2 6a5ͧptj1Zio' ֣/&z*əi}; Hϙց TDK](!DϨTB#8'cR ++ķ;d}a0=T;SU >0MC*@Jf?]'ɈI%SC8պhw'a#!?ku;"2>PlIUl}o`@p!JvK5!%m/=`nmȬn rli4>Qӳ"zIDwq8|~u?P6JBFDok{(#qp*]i6oWN* }=jiiy.M[@SiĴmCs6|G<-70U(Pݙ ːQ,MIh}IՍ"EAFDM~(ԮR/ nc1gF*Ր|{zzndxgUً:eA!ko 9Dct^kL|WԀeg1۫3i]Ro^x?U %Aqְh=нPg@^?H~L|lvE:~É|d53/'.U"X b<0 }A?3D'{-vuSd>+C.wSzݝvXeJi#t %Op󚻏ŒI V<Ok0K]x\6ydZv. Ιx[-thvEw?G>ކA%Vu}oչ%>;[Bku/R+kɋ٘Y^bcae ɗE19JvjPBCS>3g+C}cMPu%kzSTBb<|y |BaCG& 0v.#\ d`ܘ`mҽ\áؚeϞ[ S3#:$c/; *~(3x+t!B}a*8Q2L4ak=E&sKc2i! 5( l'#o؁`bRI`b:8(hE!d :S 'Q;g| {GvxOZ `|8X{^7ޖ7 '|j}W4D)/4^6T7\ۂ%Iz`16@5&8rs cxi|FDەPCy!>ԍրQ&|1*7nO47θ\NsNm*,jkaS'S.)Q]L"(3è;>(7Mد˾=&k?(kP}ѹŨ[/Cׅ0m WOVHt?5AB;Fщ,c(G۠N7PM \-q!ꒇLQPk3bk{Ji7I}1fb[>,=- %pT۹?j 9T<^܅ =~<ߍXǽԩ٫@|kOLb022EmnZew<"aW7xy(+UTy"+_$5l, yùbRR8;6Ɇx \=/{ ?rFBifW0*A 9e\x*V.A11+j;_ k}1۫JL}hs?&=*v 9[ڋ†ᅑT7$qy4wÙG$ONե[5޼1JG2XX%9 W2Q j|zXq㒅5y5iCJ'#Jnzbϴ|1AA$Fcd/Mgqγd{-{S`#ĥRgo 'HbNVr޹_g5 bs7i^g~S3^BvA_t ym |$b?[E&0L|v候,vXt=8 T&\__ғzڼT4YNbUEw[Q1Oeܭ$wFgq;-0L) ɮoyViB3 (m"g!(VgpGlұ>,_%V*A0$yg˵`xQjLX{?nI}6jDVd3=~hxzib.5v\nLNú!$L]84و ,_"rWѥg"ZRvUg4WIGmA:e,t⊸˴ː;P'\M,m+qt_UB\WHwY{D7wwx0;8%|Z:mcJ0b^N>F3H !O/Ar'n@:YCI\y9ΤSRG";Hl2Aӿ+ ~;@uH  سՈƕAH8+ m8p_4ĮbITކ@bJ,+mÆ ja|=6Z%sL0l8wJiwن /zJke6O2q0XqJ鏜'u0hxzX4} yǴp0Ml&1\)˲bz_ \ZqA/Fa=qcA/ΥwFU E E'K<ߝ{Ot9282j+\ KjɰXX]" =U-?ux N;DUGſxp>a1= l{]u:zmhr ǩΘwvIBu3E.i!e'f 8|2^3gW8>xfx3BD-=[WRUT׼i-%n~%q<9}eEa˵$U;UPLz+Z}/Sǝ` U]Oa ^/,Wz"-P6F{܊q/M~f +ͭ4҇T:6$AK:z#u[F USnZ>Pͨ q͒gUixfma!sZJ!~VIr $o5Y@/ԉѠQ< ;;<y2ɊYjIMn}j=wR5naF3RG5gZN|&xꇉ*a5hj{S A-n5[jl`*Lx6+^'{Ց_0?4S̓i^adZhEMшz9Ձ6 ItꍢPG$צkIj7Í쩠1T`'g"M~rס`&{BF =QƋv|ݘj ~턛bt ~*^.3 WӋ,-I9C41J斮/ixZD FE0bXρy15@[~qAPY g7چ֐6.4?;lϤp3LݭOQ-1 U@b u0[ A 'Ɂ%,>Q^|g$&fH{B2x uLLSvyC7{`GhqxpWڏNSǠ#+hп7W;dh2:ĒЫQ*C>ibઃ.MutbRJ`O Y>4wH (j(_n4 yHVʎxwM4K6nY\wZJT<UIWU4tjdŧndc r1 %@3 8W9vSlHŀ 6I4")"<= c$9%^!N-CE]O֌cew53Wn׮"eGD9Z!F8z?d!E*Q#aʩ'Q[Tb.fWz^ rtP-}|+K_:+`ٻC>״!w9|npfd6_], kI,Ka9c Z=F-qUU;9p4R`(,7g"y}!XM$Z< a<u.Xnj5]U2ӎD}L&l`6t`k. )ڵS[6oj͡LD#5B)Lt:@dzzVD0@S6-VӰ8d ՚?szJ{H 7ά0=S-FyD8Kqa i/큀S2,Wt3d'm}]5 [J;niOvh,C^ S8┶9G)Y-CE6У1=F5eП?{휝)CQ~4m.ث.I8F=-*LjI0]bZ' ᩒ>;Ix؏ΉMHRs܃Yb$(ym J$"'3|a+#&F^4m4- oM# -Ҩ-KcPI |^+,9۬d./@Mԍ8㏟^B4 `BŦSYنw3g@4:Ʉ)( IJ'=}FoMW$VFcFN 0bi2BM>̖/qal'ds).HluYYM]r~c\ op&7]b@#A/vq$gxXtfyD?%z1~uvxD`S^;ZEj|ݜuq:۱7${46.d#L99+|3*{@dvϫ0ǝb?ࢁgRӣn:ݮvđeeG7T`"]Y̝.['$B4p.wG b|ѓSɥ[P-$@i ߜsYcz0u$DmB~x@O̴ض}f^_=0,d]Pmv\BuIshIs ݄یӔQY]q ?o:Fv?@ֹٟqU@řOIJ:KO|2S7XFcMU8.t6@7Ɖ!՗4?4QCeZBnQU#Kmp~uŃs;F$z]+s}tl^ -3qQO&Y?$ce5&;= 38ݳ *5 B\+NW/TϺ47 3C/[ic^"*PQĴԻ5"ٵh%5 -ԥd:c ("=f4j Kࡕ%9 1JH&# QePNAV.cNH=8U(c'ǤVNd́]`5fql+iqwKWy<6![MEv&YvOMP d6n~+7e? CE˶OS:=@c|J4r9c'j"n2=CSzm%Ce{}2pQ q5۪2{AV%wGɌ"pg1ARJbORn?~r8X6 ȧg][3qvLEVձH7&6*zO0j,6UBf{l.!xX;=RTϿ54E %!%B>;k =~7u_N'DtZ] $MHaQ5f|;-A5M l+eqy[2Bo?P)1C81,˂IF( p?k`;h't (,]!̽.^xRY~xWjvm6TX\EykͿ %`ynDACyn}sUu8M>CZ`]hM*+~A.´1lQ0L|!ǓZs9Y,dKE1ǖ>O]'&4P!B,̕饀`|(%[]T1Yw9ꛆʁ! W2%/0x%ȍ ąe?;>L m$ p2CeT,O AŁ0 ;8+Jz=g Q!?,/I:Yi;uUEc'LrsѽWF//^VT DJH)Ze}9ȞzgiU~[T %B=`\V'2E9`ϚRY(>/V S0E֜JgD=% 3Bl[.מUmJS׏#ivEwaed4mNL zJ6)H܄&3W7FD,DZjv!(Z}ʅvגEg{+ٹjtZ=!ǯ9>xI$ob\Omb;B$(ͩNjNK+BVSjN%a!܌Xus-\ؐ@7S hQ9qB*4z+m'svrPzC%k^x'3! `8橞Ke G` /pPZb%7Ǐ#_AF V%\D6m g3z ry$j`} 43:q /2[t/YI `duTdD .$ A]ghBFgs[s6\Eo*Ǻ)殘'.EB d2fY(_b=i"~4 8Jxf + hd-Dl %<P$?brHuxc&$PPikl#QЃ;z`BFHa]_Gj%ˢC?C֜=ؤe+C hj[[=aGh̳^Ӊ ޔHj)G6Z4f M:4bKhBJm^@zY p_(T3u> 9/?j+7oJR[PĒIJX&g>)"$_".{g~JŐbmCWنCϤy CӮ@ӧ:,LwvXNh'Gt㛎r8*i,;#OTdS=h=Xe=OĠE|I-2AuIvt_6=-AS3Ï{Ce/: :'Ώnd]䵁2TAOS;+?7lY8gN1pG'Fn`k6dW;rh\&o-;D%gR8LMm|cN|d^ v_PYa=c?ªv qʻٓy0ƍY0{"1w2HuؠGEy#(&{od[i#1KZJI&$BO[AZf5J+lg'Sfx: ٔmh6̳B?y/T rJ9ƞ9d JkcJ~ #ѷmƣY1] -M&f%l50K"lYyhFY䥖Xzmٯ9Zs41Qn2u{ }2,Ju b-Xp&r=Boi5FQ,'m2L܆R{A+cm`S:?c;D,BHyY'rX _轪B&M8}|i'b dynm':n63M-m4Ih.J^& T)8W)a'aD5.:|Ћ`LaąFMʄx֋52,O^L ?^P2L!AttbBfvEHԏ6aj (띓8qs+Dp,6"x-wucw=Dsܺﶝ9 ݚ~/ N+ @g;Dt ݂z"L)0ArޱT.pݶXEf[upunYsQktKud0iĵo(l54CÐɷ< __Py^h;7 `Nt/A3z 7ڏ "hLKIMZ%إn+ٻ 6y)p].5١ ޼ IHN:a`EgE { s?Q()Ol ]A{!SYi.//OS3k!Tep'nwGЗ%*h`=Ðpf!fA#"4E& i;WK]3L5 @ 6r6mrHdix"ܔmB+eo` TVJ(| .7Wn55/a@i_M?\b t\%+8F֕b+,NgY {TOL5X?G2]i_eP%-FT"Y)+RtrS.p .&0@\E .`em pe&|L.liY.FJ+/Ttmb`Sn(brP9=HW%D)CT]"Crͭ.'L#X*Qe}aiZFLL?[d( g0>Em19i]殓Dܑ$#݉-[k"SX@$^!*`q ~ZZ#;sS:?yVИEf8ڢxxnPw!| Ke4*8FNk%Vn&d@ ꂓBS*zk$qbpj90$.˓3lU bV쁝Db&#S|[o٩({+׸-}ҕbWM7,2;o c#q~md<?K.o TJLU1~  V"ֿ`_rkn ;6* AϽN Q4'b کp_/^j{X  !=r츜z`,kǷₓ́~J,wd4Z毠c4g&8؟~DZ:8Va1U5weq K}oN}]?Bopg>7<ݔ 1epa_Nyw+Njv' _O'Ʀ(8pqwqCMl FPg G'YӷnD2sdzI<3i1n%'MyA/N3R1޾܈ 5۷#v3=!>pA*a'woSLSb0e2/lV{3).'ϡ{AV$ C;U+j0ݡs%R@mObsT ؚ=Ty z!ee+:Z~zX]6;F: C D"譁z錍]qȳNTv_ Tϥ9)3$X`& /4ܮ_g<(R;Q1BY LQ4i~-Ѹ2ݹtUrΌ~P}(FѬtK)_-J[`x,g(^0JlA-˷BByx{aP@Dx槢4YT/w! 2- ɜ}_5ɸ, ۩ q3*8#wl0b{GS*@,X6;d?,h-~ ZT{B`@bo]\\}vhUM:qm!5 3wEwFG}aNQWi  %%%n̝ 05%sQSwȰ5'Ѻ{p ),/R4;{-C v9Y {_Q'l}.Kṗ)c+\h ۈkJC/lve4񥇞vQduP&!sdf\H&k7V2wE&S cTqڔ@\CGv1)ΐN>K+E裚3$~:!;,~c@t[Ĭ3 9CqoIsuyq(L49t}dfzfh2z%zs#1`!Sy)sŕsˆrxGL螬[dzv8]|uwk:WN=*Lc9~:>]eHr9KS[bLMaI)yNy <`ŤvK`{_ÙM(ϯcQg:*DMaJ:]qơ13{O . hۡ-H1_W˳LQzm\} - *NӞy0ͨ,&EcZZ'2zCg,<:nUU[°/6)MYDg8|#[Ձh3ڿ"5_y!Ч%.+dURRt #N=PYK2U[" hw8:>D;.$K߼$wЮDm9:{~I;i׶On GvrڡY.]'(L>Ď0!Sw-wP٤_"Ɲ3!\`$BjrCSk]c9#2׀'|l\j{D n?.v #.i *gbW;.|_0 J׋0RtU}bmhn'3OrKH [K7:D67V6I#xj>/rƓA]KVةŸ eH_%q R:yB^a7xN^ j|+J%՝b }s vmv>XY~]^ki,gy] " 5HhY7,ۮE20}1sצNĽI,j}Jl P. zXA\ ]83dUis5?>K#$7`S`z:ֳ)Ǧ3:.*v"lR6Ʌ^T~>(:X@2Ԁ /#ԅZ{$=YV<Ѻ% y:oWᯚa'O+lwc0FbΝT2J+>$nE}uܲSǁ*vو5+d(K Vc$zܚ4L9ce P.R^kЈ+c}D%jhRUC g2s"gC*'VPl Ȉ&#tǼ ) 7g`ǶI;# AFnISV!>< ǒ`٪۫iFH."Rs=#_,*hJ=gW״BPž YDPMFZ[E{1${Ɲbd_#դ^)*@ᯱ$XLfX|S6i*JZNbQT`JdF$ނ:rD%G Q3v7lLO( kehloTQ}(tVT[/jތy+WIkBeaa!Xx".R!c_mWsMWGwNO,Rok/!0aS%1|N~&{j mg|#Ճ85kXb%?9pv8dƄɞ oswu)5iLD?{)18̺5&*^Y߶j$) ZF]pn 躹 a],-W?lkOPs&Syߎߩj亣eT,Ѵ`Z)%Yʴ!T/O?3`1ڽy/ a{Z@MPp :z"Bm>3w_e!F7T aZ"<ŰoYϪN i00+رn  .iˍV z!CDIf@aR5ˋ:xT9M]k7߅/U]{ٚ 젌D[}t#-deiB>6JZr6ptKҊmbo7e(}8}[1 kqGLEH-9ߴQ6%uZeD=h2aIpohݴ̦d%Y9 W]-X7a$0^zY=,}{ݼW X A{͈#iTQpqEĝE^ӳ/Uי9a\q[@&3^3𮤣s+BKǞph Ge(BSK^0:]7z3?NquT2;D'K'0o2"'Ő:̼u'ն*mn5wz><$(o yEJO !N^k0$Mkڑ00:٘":RpqpR6(kD6wq<OKV]J1f/M]-g$5BUKRsJF,֐vy#*&-"Q$"L*!ˣZn$ (BcH!]- !iK<DZ06ϰ :s}뇅:s\p]aQ^}c &㬲 ' 1DžQ&t? H+e$$0]2 *n8q#z+:=T܄dI3)l L&]O3qοV-Z /.}DO.f\70K'Ҋ! ΢q*UirEZ\St70 t.dwp ַȜ whԕ^A7D;إ̔JF/#Y}811W5>A:J27 /npNmyߛZ!d/*1V3zu :*ÄO C r cM RI[:oXv7%s,%.O#ops 9I ^N(&rY5$˦“O7;X5Է"Um~ư)#zV7e("y9V0.bTzsc\R1¡6-P$R6g[l0 ]Ժc,6C*2).h|Bܼxh"q>vg;ؠ*C \y"fP\yY'fU83* ξǔ]&ݎ`ai6V;KûsQh)^?u4=#4"|2j?8z >Wg@s",<>{rRM$p)&wkhPT s_<rVQ+K0~+qd1k<qpL7Np0쌼@Vc7 ]bgθ R#J T yLsHPW Aw΃]HY+ǻ$jWMD ыgzPaX»'9*O\o"7sTA<='ڈK`;@^Qsn|fE5sxE%@ Y1XkYp2~u>;b5p2 kE%I=\#e "{ )&Ǹ֫Puh3ubcr+dQf;yˇ!LjAA w5Ҥ5iHDE~CZ݇^6!Plq.tTGVzX -ܧLAܼu].qV-ۤtyZ^ sY Uohd᳨ϋx|н+Fo^HԹ5pBĺ܌ՊJaH W(u 1, ([s'YѭDbWn (2_k^}0rs~)pA-DPΖKF A::Q_hUϨbL޾:1IyŅc 8O5 óC TugD8>=ᡈ:e &$A.zyoNwI| woJröްeP) S#c0ީ́̈́ rvhwU0C*mb-}5bZu!{Bb 7L(*:o鿇?YZsio.KӥH~szO?c?7u/C՗* 8.bRPC([}B:,t^8 Nc|K擩k E[5_.G< ڞ .lc&L0ڙ%[qkt?/^3T$us|a^yj.ص0x3(YWtLNN\:R$gTL^ }s'Ijŋ^[>mݯ%9(D4l6?E]7}J]$5y8[vqP7xkG#XE'1۱J/$oMƏ%J.+1@ їl[D'[5tΚ#!=Ԁ֣ʗIETWų6c=OBWiq~G10԰YPqEJfx.sd: _( J&G'E.i$%B4‚yC4z'o-R0ŻtD>1yucaeFaD4Wѵ bQFbIlEކF_0r%4cm3GX[jܠoZMc^LAKH2u11Y/Z_(@/M}N[;I?TU3&xl*-#6j_ex [; Y%?H#q!}VWd-5K B 1,<& b[$0X?P `4ilkԩ-Qׇ:M9V ;fLrDX]h+CMpy^K .-5\ B r/*!:H‡0.$:"5 p ݄nQb[8ś|;x*kE@-,}V4=}gh} lfN oi]~S>V5?~r=.@Jf8c٨@Rli" ^l :-[¥bLtIYdfܑgDi[#ܭq[z֤$K,py[~ ZZLjCF\L BnhyuDVb, -eNp h6RaѵbEa.Ob M?F|n^53~]: t@xIY:6bwN8>|rU:^U&1 ɽz4l0nu#K]*wT:bZ4li9nD -Hvv{Z)~?{MWj`,YQ ".{jCc`g%sǑAyX!(AA~ #tr$Kd1F2-Z;$ Y[8 ZQ~nExy!g=[RZ%/ 4*nº`5@^ J6eNyPհx,>I91T,?˻p牛}G ^r,Nn$̂U̦j~Vn=D+t@mJ/?(>Kj}q:Oe0k`kGsPz@Ьә+)\Cty><YHB*F 9lgOx:0IO~(=ȒqݯFjh6W]CVm=_eIq+ (5coW#Nm\-W1ԅ7Rhϩ/%UXH`qLX6mΡhT CGw7\eX@߯REĦEGwgG BY j/g0g[Jzp/ `i!`fC%ȗڻ`m b)Ie\BAVezFkYQ"3WNt7Λ@&Y,dM,vm}x$&:.SvmЦ B>Tn^MA Pݟ&^ OY qوL n@GX.%HokBJJXׂ sx8G#"V'IbM,ݵaX Kӏyi;Mwóp/IaG׸Fd v@!d*rqGX`vS6o}`]@G|BOyZՏFrABd2uy!m"Dgmx#SFq:8K*4.nUL IpEZg}qT:m-ˁ|,o쑾(GQt7ZHm GMa)2I^ڧR*oɀI FlVʐnL"+c0l I,(P.~zk:پª2ܛoKs6$<;,nV3arZdKr!=C[_!P' H sLoTZn5Y}X󆌷浽꫷[_Q)2n'2idX˾Դ-p(ÿ,:k=T^A%4Iy2<-#4zѥzG}Ȓ#W6Mt}ǜ11NJp?n+ DĒ}܊D٤ӗ!,X1g\ VIBH5"y'A92d#t?yoԙLUlFgGc| ū/o/`5ZU&ыmpGi ubeG`=ĽkV&?I\89}JD16h:VT`WuGlǕk^0,d6晐䙋:Au!mF٤04hEsyc4WfRh"A=wTS-f5֭HCC"mYm:#4+h_FOwyU딌2]3VѪ]I1"V31%K5f0LZ|K<tMVpr>!n /kn<~jض!"gE"uYj3 :RYл`\EP G1< y:B#ڋ=@ŰR`c ݞxx«J۬-|hgzVwrREŲqεWElx]h σ헍^aCߐ<+g׬7q (ڦզx֣%QS3*P4e`y qb_I#0wQo?>ønE<2mua4he3PnCGǩ֚>Ob'@>xI':87M6@y$X~Q|;jZ|Sj$jQSDxlMdA6 4vk'?8vpͺ Yш5mf ,]8rJN7]eKn l4WO<2tp%X e.p^ga* [:>tO`dZ0񔨓x* `_5^yK#3 ߻7l:ӨֺSeF |W -ꪵ8tGJX&>vizP f?Wu+7՜R_3ax*оj5I?SIn|GW)dfmEBYKsSj#>*r~_;zxU0ɃRZe۬ TvDC >֥Ʈum#Jl;?0D.biO>᷄[ߍӲ؉Lu폱2Oy4j! t`PYn8z_)%#*ɰ`7%cEBjohQaŘR_OH4Õ 䳉IZnz :ɟر-+|Fа84;qb0R.?NsPxBey:3 _g;ءFS2,1H#ꏝ-!ٙA6Uuh RFq.*A[ݬb8YUX qǑdF<r{/8X@&N_=Ec;0~s(vQrpzi,(ZDO!uuB;``xByPšHvޗ@rQ)~IJ^δN+V:C\]ߪPjYQvΨBLR)9i6Iء/8c_;񞢿>Ah̺X{3WKDLJy!Xqa%u- mt6O~SR';kڶ6ʍɎ4YLfdelr'1/"lqF~3/ TE/r??98H٣ݷa5X}2c.+ᛡWW֚sIRqF' ;HKm"oSm `+5sQ 3p4}8ُy픸ϯybNW}ߔ&R0v)nG[<˞k2X%g!KUݜ!rö"_#G|u(+ ^ss;-̭q;fEv}u]adXK]kvRFs%]ksCoc af!Q'0lЖnRTw֪TC-|mزXfY,q?3R!Qm8 y隹m)IUcAˋY\aP?m-,?[3fG9цP/}\RVS`1!]6_BX·Q3wVqqJf|@xEUɩ)Ä1/NNX98eyFV^L"e 6n"fH\&?(O%KxlhCzt &V:Hw`mŌ v[fbyC߈AS@PV/.:g+d> ,Y?AHTq Hp\Ufr $RSH7tǢtz4ܚj"-BR "Q*XKE; ZQ;Q/&?c4P?tmK`?kD[eu#=O Zk17?!+7B)YJWKku]\GDT. LRglU&/ |%P|AT:*g}EU""Vp´Ec-OrVΖfb "%SOQ ,!'5,s{ *iMV O,b05{1!!)c %5 )nYK9R&~TqFl>byYѾOeǍ#E-1ąh%CwK!NB$,~(%9Y&`Zh4bEk]S̮u3yI)YDn}NK?hJ ݳ~59QN8^t<̬-^|l]ud>'0>xU SF= 1gY4_>2։0E%O*z]1> ,gHۃzKrv&Nav@!l ^ZƆSM+<)N4@MD&@f]..#FHe, ${>u/dt+6=ѕӰi)Ϧ:zO༎}Wat8N9%7xˍ1c&al$K%1GE<@Oyyˡ<(Iuo J5I5V`߷9;C]mIq{8\ҹh9 v& G?Po<j#s$~'#}oUQm>W0],%g&O;p]8_o4 =i9[dTWe4tkMvo!*--(C0 /L4#tI΃H]/pM8ĂfY@)k&~Bkxy3v|Yڃ #{#8}{,ۺQ:GRO#𻗪&dqfSZr[hJ8E >gs@JǷ>+>A58)~2ĹRoNY\`N@KK9rC |*HjX(t2mų#7lhN {P&JiK嗩4L ݮa(Ƞ $p5\\R:382 y?W5lPSm|a$#g[KApWw lԉyG5ۑ(ą ߽RZ[C]W5y9~7®RWo>+8&);1|k* 5]n"=13XV2p6J( !-QpJ ݑ\D3&TLįXOPJe^|a<`Bt^ fbz .Y"h`$ a!W({ axxoњ";$ Q!/Y04r{ DNQ3v}1'}.}-jQ2N\5L`+SתS^p-PtZEI39x_ Y6qqsqvXxiأh'W?pݱ8N =Y DJڙuBkbVE0wO#ƸvJ k~ӆBA0 $% &{&祯h0!x\z, JO.6v?NLg 9\-ٕuD"ݸ.N]ДC"!N NSI9&b+qZr?X^}&"jT*'Ee Xrk%,ah$.HAY2WZ`YNk(7ĉ(e-+*J9VqB0iMgv8/XVʆT>w5$If`szX(FsO.z쏊oZn&`Kӄ)ʶnT1\| ZȽ:Ζ wrQEh|b:)z'vr,{r rNrŎW,&1KO:$9_sc{62H\wZ_QdӻP0=֜`(m3n$KSWHPXR9D;HV,1FQ_r vk2Oe-S}MqPn41#ek__sN!Zuag]U$T+y| y dȒ¹f?s4M .L.QYr1#WѠhZj5Ƶ#&Tr{O}css"x'< OrKsKիήK s9Z.TJyߟU(i *z{|w7иo:{!gQPL ,Hzς4jfF*UђŦg(I61 [sq&h^O?͕w8mi֮Fh+I@XZ9Rђ]un>?Yœ@ELUQSrz-X}%kQ$DnS J ,tCn>AʽQ$54sL1{бFg;QٛIu>m=Rx,$|QZ1PW:9gHlTR.q0„}/.ٰ<0#(nb6՚0dSbBEk<Oe&Gc5T|QMnǽsyKt Yt]59 ɋ `RL\gyw.ץ/WmhJ jnw)bˮ՘E>y/ѶIc452?P(~=?r 7SnhܲR@ϻKUŏC-5ɓ6s#>d>-lt c _'TQ8j X>9"8g;/-$Y[,a .f-ǫ'Ń+w,M>=R$V} _oq!4;miOЏ yGD@nQ唝[&TǘϘNLs!Iy'-ke;F$]>P1\.Ani dO_}J%f:U3+=}-pc(0L%lƇ?1?;E.\q'pCvvj&6 4Al_ꥣ΍Y3FtB2S6l:~L%ediܝ6ګjs Ua =;NWCS^RCGF!dS{n\gƮxdhZ35??vGXTYxU.JY5 \kbzE/u.|Z׫7šZ|CvCӍ]yM//eybp 02h>ZpS ea6K nUAjnP@va;N6C/iV!ߑr_o훚@}CtpG/<h]_10SH(m̠?ބ4 omJ9XQH*!p4௠fU9 t²1?cvnnE);{ZiHM-.|*XVsCf{)le>!)gr}xjwhJFL~ľ>*!cʰ"'?ɗT}Xu&*z W2S7O͍_SxK߰3,j\ׂ0֕aa*-ĦɌXQåKsgCN.vo Rk\H9`h =.@Ԡygߦ$7i'榾Դ x*;U;[pl&Y?@:'d5^nPqspitŲߡ.Mۅ-8h8c"̹G}cyWTPG2(s`8'aQdzc;^a+m&TO^ Bo{VDE $- BI;E+!mI Urч Vk|Y(Fn>tG06 l3g#`<)}/[_"0QZt_M9u P9_w-hX-V#}yn־"RWs$^'h>M-E /Z .ꥦ-ģhrThL1xڜ_rFM8!*ڢ6ML3&ME>t_8B^FkNU=X, `%ft_!iqUƗʍEZ"438xErفa`c@G?Je(S};+!SScHYCGH_.pLNrv(΃.mVmNeD<="9OߟdJU57k:]u3 8`ۑ~  TJR<UT_v{5PyD,_3^p CeK͋W@6lgX5 |(b[nr'4' z'rC}^!8{mՈߺ69N i\<ŵGn:"DL0NnK2Y}l1 ʏ3g=wV,]BML?0 yyH Çl&SLO=~JXr^P<JZ{TNUܟRu4Cb ةﰫb;yrNFeFpS8EW?tHF2  ,54M| T3mLh E<*Nfо•M}p&/_kfxmZWuKHi恰,/N"[!饖, ƹ%<{+WC>U;Qfo^QMWsSH8rYtG@Y=v:Km5ο ^e{i2Għ"p֒5{+wᙣ5R-0HGe6ڪy(6,l|𽐾:g/rs p&F&L̾F&xgZx@ r fTP0~Dؐ>X, 5HK/-+fUT ^\61!Hl&8ަ*h-1 9q5>U0ghaÕΖ4I`'K4r9M09E_mu(b`@ b/6OH +)tC'^f P C8QQ8؃psï}la`K@dq^L9\En%xzԸ ,u{л6s)lK;A|u9d5a\|"pq6e^Yr#1S8o׸do aݛc^gC+7& >!%719E_L $uM#Z(犠Ӱ6/{7Kē+k\ N1Ұ ]Bvgui?=!K l8izJ~4I ]3K͚RDe4龶ˁ퐗! E6b4pψM!/9(ұ=qn!J>teO46~ABav_a#5 Kħy"pاbm0/2|eLo|wxCQRz)йWX5nqLd(nGw/Q7cִAа:,2pO(Y6y@:iRQ[hѾ.qk!=/zMH`t491;W a\ gm# tъYF&hO/>PoD,~Kq&T1j{Q8ꨰL0XL#x`SEt3lJ"΃kY *+m^cPK*Ղ!ztsܤ7sO@@͆؀-,\:>xB nQm"qɖ$W^kjKת'5JJ(QoNGƹI*2T_,Eda.R bv[| V0jV~=ƈNYq!rjoiTjfU-:Phz@oUzUֿڷ\~ 1R"(vMM `)zt2lEđpZ 2_E)gټƉΤoT5nEZyMnrUПKj[a'|OhvDݣ 8!2R}p% 2/01Dd׆r.)|;ܒJӛayQ;L~ClƑ؜bV7(5>X8<wXI%j$|:;M4HuebD ( } K-Ns%G(Z < (ӽZ$xo~ ?kbӐnBt39Y A ޑjfp,/Bx&@qw d~l$7{?Jyw\uT}PUEFWJ^-u8@duL=6Y̩4Y=?AӐUuB>Prh4NG9d@:V T{0QRow ?f,A tB1Od1Tkj]4̒"Ӆdu|*8kG`;Xɧ>62؍#Ώ@ӦلW^B{:KvYZY*2X|)Sv/鯺@qeX?ԑN6??PN-YzjKP<,WKjv^\ԁu:ysmy־jayNKo׍F謧;@*}g1A=^5Ux\+jjN˓6hDZH1^j<@^؆SsyU\^3p|75[g9Y}"Da8@:"`@tyt rVہu'T[;.㻅Z ɓ Ujjm46X_*J҂ѯ0n!=pt$6tj/;7v4tUBP 4t):$jDKrjG)Ɏ9愗PB ؞֮7zr^v^/N^Iܚhv"K Q:;+/,(5:ɹ%wלԳ"eG˿ xBѓ8`}2t$0_3Ʋ`Yp0P7izP$օڷF=ۂ2A}uuZ[R+hp0 F2Ŕ*vbY{T'C_/175QG~f5mfmރ b~`*f&pˌii,fU;P0 [^mHU}Vkmwc;v'K;g\N|oJ^ J V$o_m#Ds+sL$G k: yږ[GPrY ,6m&Lw!aΤj5Tbi:YUB׏+l2l&@!|.~=B^-;(ὲiiH(l!;) \)6Zdo{7n||6(G,ԫQ/- 6 0aSI9zKA*!O\@ ʇǣ *VIZ'S7 6CUpL*OoK`]5j xG_A/GΖ)j̬2g:ɧ/!?it5(_aueYUԒ-sd+K[hnhYGêGq8E=(ÏQl{ 9E_B꺐w*( 8 \"m(k G dOD<=Gr#奬BdC~0N\u/AVٺgsr-]|lg%C@ϧvOy6h ˢSfYtn Wb:'Pj+lODMqՔ;'pP%;CԂyRQ!btPçp c@ ,oT-Pu~ 2WY8ܻ|YK_"7_Űbm^l@CU)X+"m:r|93#K[Z9Z(\+ƷK)M=9мRj&\)ڊWhl}z?%+WAK >HjR5!s>-ڀ:Ql2cBe0ߐ\K6`\6.WY]w_5d,+ԭo^ي s ػQpJ 1; Sawz)OQft]RJ敫]d%C >Iݓ|*{U0[?MZf~ê~~;sK@d*00n&#-}`u/w*ڽh՗ V9%D+`ix]ʑcv?1`[+`VZAC 3$0`̹),Ւ`ܞFT:V%68>GA[;%y06Q_Dj&0Xe=RIYvn@uCĪe\bA*z-fx_jJJ"+&_Fj=]`'b+a "V :n> A!v-XOqQKG_#(+&%QzxQGNO۰j73M>evpENvsd08w0=OM/T/5һМ_}f8I9$&ܺ4Dumb rd&yV jlЄ%٣]\a]\ ne;JuNK[:OiyXp #Ws8BLRczhlE,]Yw2uRPZ|Ppj5%I|daIii8V@3-4ՍJ ggˤz*֪.wKP̝W)d.st7khLVë?dA:HL y قýNAJDPg4b])T[t:E:U 9k@,Ŀ5픸{zzmyeL$J!N%:waObApnU#bjTAQy'8~C:,d!!=W=B6Xv]}6%! $M7u1r-}L{_4?sdkS+;GUs(Sl!6n4`} J<`$$v'"L4sWQӃ̱X#9ZF:~Y~+K']g]QzEYKי0rq^!]0oc#8BxN0g9벦f4LZQکRQܙڬE5x++9gn ͯ ,&ܳ%K&_tVW^C*O-QDMjK:pznjBx|qkޒ5ĺ2p[ٻeS}=-\cc/&Y;Z`wNվ%I!p nsF;w-9D(fCvc.mGi!=mwA7?pU:^s/6&WN_2y XS˶`;O`^OufWikN aJq\ cx9lF?T TMǕ㾴Jv'vQ0T 5(V=$C 3~ vXScf&Urx0m^*q9۳ G1MGGUO;S7Mh!."ޞ |BDUi y&+e'Pt'VֶhP~#= `)5q2f4,eA&_V!ؑUO Ԋ~Eyq5B5ӗv0g33zjlD">QcM&;!GD1xt|_g*H kd i$dT&ԎDᲨ*9"TpO(LEe0>VV.LJ2 MW슏r'A$7t6ٚPRfLo,J,.3LX6Q\h5e Lҕ*yJ4@} P~lϻ44Imcx-HG跅6.ơp`oAw@䔇D3Ҵ:w' @(kWIξ3|u}_C]*y W˹_ D)zW1{6*ѹ6g$PALAVlH3š\V1Lt Ug#yzTn4_y[6{+eKY3\7U!hlMiud4'f7Zuw9ǥ7&ѕ m,(oj:Q 9$ẃCԼ3Z0+'__Eyy)9)4k`h,' vD=\ND? 󶢀[`G89ŵ9B3\hmG X> iXƻOD^)ذ-V :DH<;~? yu7a]u>t&H+فkS7*~Mel9%1Y*bܦd_I MQ MRN+wx;5ϸvt"GUΒk[H+>zS?[t+Ai~c ߜ?RmO-!?}HD?&+h;2o:p0 iSSYqι*R8X;.\Gkv-*po(99F05υR w%$e>4e,پ=0J}7 6lWj sˏ3xWK OCxi ߽b9s+r6W9dď$/NQG=N^?\Wzړڗ¡7VTd:&o 2B^ )xTD_u(G$^K.A  屬 cu)Ns΂9~-z|i޸=٭^y[̜b7c3gcrڂt~IX~ <z̟z[SʃDŜCRxGu dmJ, `e1$ˮOv 2[OShw[esngm)iLf{y,fk% hґI~X7 b\.ӷbqT&o\O= 9hM j:5SI7q8NI 3cс6< H퟿vk|cܕ @ɝ?Mńm6gM66*>s%\5FN`n(&00B(Wxf[DYFyϖ_m_($, #k;jL>Aa[e XΨdF^?V[Zb942 0 т:\/o'tTdĥWA=⨰^ i`fk͟ nu;LSbQcv}sL߬Ϣ N!w3/zm1_} kmI|D#gnU(0 Rb>nɨC{F5}uMAS̜dH-> mY>6="Z⧓m٭ Ղ7? ehXq d&5=Is ߯ (U)!*|]O :]3#6GM⻼nSy`4|=0aQ wAQgKg"O27hb'}֖ܻvMGl@y*mIF"vdïKWn˵(.sPam^AY >DZZU'Oq$YoK*yZi&if;@5m N10'hԿB9ܺWw ˻BBNAqYƲ+|2acI)(+_z{Ԏ  CyofߠJNL ـRj'We׳{줱ޕ~)p5 {ę0(&zNH6#N\90*WފpA(t.vׁFVN*o ASԛi`,QWr#5YT})0ă AZ]3{Azf^"OWd6QQZn4s?NP*Mbkqԥwv",-GZEYhk|cUh[DžweD7]|ڞ?by_H)s!򛯯.l5@ŕ w78q»5lCl?F?p>0ygNئ̼.Dl:"/j!-mHA]hQo{Phh+=_el4^9"j?ykT ag R`Vdd %i\Am$8 _it8uH=Idkfb@KmȴOcV[/ Un*))*wc-E95 8ʍqCxykFhw"mzmfcJ8x)I5o$9_DAW_"ـ?Tv,D0ČW1>@I@HkfեX6Q^kk[g$HRUw5Uk "=UӱUjQSYDPb|xCo[?kb +Ӕ0u"ɷ3{B*\P2pxsÕHg_-?3HѰݙUɰ.CK )_u])^~Sroޥ֡ Z@]N,cT!Ke9L#fIk7gE맏<@.t~uLyѦxј_Lh4p2eX+pJwQ]bvujZvg׊͠Pd^+"2+z2 9 S 9ϯU,ROCUa426htqW&8-" vR)B!̗&=kAd+rǘ;Ycjb_n5M*Y~h\`7KpaRF-&\> һK9l2oo;*&@h^Ɠ"b:@'F7mM"ƥЎS 884uDԴY%DZ[sU~^ė4g׻kV!8zcî#9NJxW FF!I6a,3N>= 7\q"&|ai ߪU7CMZF&ZK>p!v'܃ۦHf yLc-ʓ>jwLB7- \㈏bj _[n"c6SIM\~/v< kdPLtEeįB!-"[6vHbͽKY !:S~Kvr?AS2G3솻 *i{QnlHLtR/λ3sfiٓH"ZЈln+=0YZxUIh٨0\"TQ1ߞ g+l9Y5= !L9`4KT%nbj$>J#|3" aƯ&w@|^j3P d(JV2fv8p•l.9\ F,0(IyfB'7 xcUVX΍01?f6E78&O5 c<BV@n$3'i[sq3U,ē6lʱN-.(.hDy~U$b̃1c[anFGE/gyu-%bNJ(bڠPo 5k-|ǽLQ>p NRq hhQ!-tzH ?ݞS?6lП1OI~lW '+k4ZUf=W)]V#qV=bS%~\vwl`>6 <7VuY*(e_~V)K72X Mܜ$ߢE3`G׍gIl[l+j/9 F#4"&Se-gzpķ @ 陱۬JnKY2AfF\.hsH!({ 6Wru +a؇ov{jOm rm ?~A v`vOݻ]pC I {y+/ LUֽ:6qxdkߢ <=D2=PCV$u:@l,eYvX~@ JL;%hFM6c>o1.cԯi 2o]n!c|8~:ie|Hf&g P-fQ{Ĺ1m Dve1at +x$%kj!BH7m=|pKw#J MР+s,TӀk; S`T8p 8oL([ leHLEUiewBqpCSheB :R=(r2N8Mh73+ NIE`}9'rjxtI bBDOIWL`<='9.p+oV@oS栃m {WKt:3Fٛ3UttRy`(?? "#4Z !^X t)bfo0A "?$Pnh(F lؖez^k}5U)Ɗ}]keG?[W}TrWLvEE6KqZpwPNae iEc*ϐfH cw Qkb}\Q8ʅ}'34:"O U4] R?lGƥhS:;ω:‡V1;5},*мTҸhQcyS TG,"'zbҊYqT ja*ձWÑ_ԧ'p6vF. lK|}5D(߂ t[кӺ/!brG-Z|JXMUgs+X2Nύa p]Ӫ:$¹<lQ.nm檴$zR+.A6:VeeXEl2CnסڰأEeΔD9!5"wI8ү_3~0u,GSScP}@pE:A["䨟Y 1d ?#>(ŷyrO 0P*]>=T~Kߜa_ ӓH9M=ߓBu}f6?ibBv3_BXS3$|AĿV}mfybKYʭ!B(-ie+M9S9MZزWTdO O gi*;Pv.őBqH4o E|;E~ Vy(MqN(cjH<$N#iv~.ŷhHҬv"n$ KdvEl?q f> SؙW aűK!-8m6q3)_Ьq4|RPYCl 8T?@J¼TJ2:-,cۜY肫8O)`(+ψUCŁ_3BCbw-UaU_ظ1 QaS/kgQq[>0ի2]7aQ_!ސPhCƭ?tmio+q.pd^.]G| Z6m&P5rޣ0A6ACWll7 1(MQz kNE^Uf2;Te6 Wδ ⴅj,[xuag*Iɬt}ܸYj5}Ѧ&Z؄ )+$wW/m6:H$jw q0aT i "'Gw:y_d}~YzsjK@X'lQeJr;V]iq?o(vd)C m(BpLsrv\ڶv(z">W@dt#`^E,8Ic#ՍMG>ymY⪰w3 xtJ]Jg/ P+ 0 SoFe/1p_ .|g>ًlѝ Z3ƬFx=i( vXdP:"Oˣ1~kBUg|AŲP_>]08[.6=TTuMBfgc*[sfPSE?NN1nM /ۂK=pi}6* .\igbq2@!o =_s Sk=,1 }t2N4z"msr?r4eNƑe}̏qҏ~+' lk+=Vy}#KIO Z جJD=Ŗ%$aGSnn~ב"GĽxߓ}1)X uNRp@G Q2B1buDDsKid ^>JW'~ж 0"Efi*!}+XebĮ]go>S==\](F?RoϞ93#=S;8k6 !9GNr>Xl̗~˳JsJ W{EH _ KY43ĈkV| Og]OJ&Ydeۆc>U_;-ݩg\{YZ– Ym'[ޯ+@5)LFl7w]Z'2I$cFR =  ;/6`L*698~FҿZnX[àHOIL!]p*"inKPgob ױԼ!Te"=ajH FfO#נ ZBSIiQn>VOdK[+pX3^h含vJDǖ~m6υGT:`fˎ[2Zӆ̦m ?@2CPZNݢt{t4cfQOeF4N{뎔a Gܴ:L=}[┹m]sW0T; Jf+A&R7Es^ґIdסc:J51̋zrgݛٹv.!Q .+aHO?9ӂl}&8qOV7:RQE۱`GTR%V. H**WB%ShDϤ 4'-%wG]Sgĉj刂A^u8y䋌=H)u6~}R g|gȬ 1i1PQ@+!<|O%Sču`H1ij!!-(tiN01+^ʜ^_ " e<'(y͗/EWEX oG< #f5o:`䨅"#4ItLޫMtOQpL(@j[Y (YG7&Ն6K5"ƥrQQۀKIoDJ;Ah>Sz\A]#DUiHpWg\Pͩ0-<>s<17:#Q!r喙[%ix_׶s6w]-҇nK@ex,>ԙ0_,8 P2EYDJa pv f^9p5ɽz'!b|[np\bc$& Dt3z-qvdAv^NȜM<&䋥 ^BLcy$%)f/&ag’JO`0#cк'k+W1)1YCtGcjp؞tDrm z1U<pncÄ\-b-R)g0ehbT͆9ٽ-]ɿx6*eW6S=ĵieCT.тIޣ<]Jm1\@if4[, \E|WZ,9s3rG:N;ܝI/Gv[S *"6؏7&ͺ|pi%FoL0CO. V.'Y&LHrzU?B5nٜM*#BVg%*U"w(мrem#}KegPVyPݻ] czan8 c= uWlX?k35F' q ?ޓ;x0Ӹtxt |Ejֵ?W<-3hH(]/E~/ stmIW >g!zl7T{̽R7[]`E}< r`yQ )13jYxjMTvN7ng*uUƂJYspY:ebn:u-3Dp/t%Ɏwc 8=|<tm"[xvㄅd浕'ta!*V4/Zdn ь64R{o/H\q:{plLtChh}Īew©!|pñCρyiFӣ.t6/hq>0Ìi.jtxZ; κnLw.bXHE&S|b!Gq=h!}g i BOzMHG<̐N+Em2qj< TߏQT+jv+M؋!Ne<DZ]ԁx&~2~"6*1hOܥ=otCo2áU$o_4I] *\vV](ޗ_i >OǯMoSR$/oHKu?k=A-o[VYB~Vd`\e;N&;"2a]|1%_1P; k1?ִ J!sj;dqElVYW&riBFKJY1AսB !y<'_^|Q'*g3$;?{>2K | öܘVA O\aXUa QK&*A5&хj#M[S833:vCs=wFDOxW. ֣<~4Mq([dO['Uj#IK?|OTS41ZLͤggfJ!ݵ}KhnےR{͚t;u杻쓶G=65VZt4azh{cC]쯦fsK)U; %EʠZq׭|9{NO5#F*YVigZ~UyL6h{Bd:]ϻdȞ,#S^EsE/SK(y7}C "u 6lWz4omLܦp\;T`]g& [|PD\.Ks'$F^5g ~HQ}J èP)ҹt;+ٿV<)_[u2$`ϣnf!d3Ɂ~ "E^eoa. /-6W-\+0l?1]ǡlYNq dL hDLjD.Hլ6ڙ&1ܸ 1>o'y8O'SoIE44{cr+|}Mռ=OKg#0}  'Pݎ?AYQ/_~@ΰnʍK "dD`bS*${i+;x-R'Mv)ns";A~΂(WMg2m[$<{{7lLE -ߜ686[ljN#'QlY.4] EGri,’4:˦/7iL_nbàdQt/͋Akbx2* tP{Sb05҂)_B&޳~LN Ӎ[η*)(5py ׼$RՌ~ZHKwgFJ㌮jW^7L՚<<,CP1)qt[) ^>yg s;!~cSG^P׵w3*K`喷Ih_^$~i$1Op< %ᢂrQ=L%e|Bx2!@FŏERюc=ͮE`jGzZk/'$?0,Ш<~3Bt5p}ni#!܍iF ə 6J;)e7gq2)V@yAŢzp6C-gXS=8ϵ)@ e&+x*tq] Ńd+jDtrY!_0)\Bu1(QUpttS3a5]DE {谇XG gjݚY)v(W` PU^~z9w&JEX/ ޹A1%8`Auz599;QK:D4eJ 0DQ,8:dOw(暻-R4ʪ7 m]syyFpįގLؓ" a JTuSpa/wړ(M xYwF:pHZwbJ2 bE$`1V,{joH@yt9׋nwrPoK8g5(^I?=~snT^JBL{q|z'2Վی-`&od>$;kZ ނ$N IKlB> ߷=vllIdTDEZ;_Kӄkp&ѹUSOC\ @l5C-uόgmuLk%mJ5GN|@rOH9^n!Q.oqĶ jI Lr[rcڽX/!XKa4{ r?|~g7`(`` J*i%t.BpXۃ[OQ`BXJ/a~,%vlbHϧ umWqmsZ EA|chY +fR?qnF11_ us[K(r1qkPn.ÅYS6%Tb GR`~@sl[R6pnZsV8TɊQEymݥBB %@`S4i|:s.}/e`*C1x*ɑU/Lk\xMf=P79j7CS/p2 d Nbh|YLɯc>ԢS|1^63IMj [);}ZQwDpLO?=sl6|}[bY,Dʌc#Vvߓ8c2O,W(eٔW-k72{-y܀XB5q3(pJfkXpP$hеTD$rour9'${Oxs*Cu)dd %4IyDA/͓ρ829Jޣ6XZ=Z6%txQ~^tcA?`d_ ~#\wdUgݥI 1;II`9jFԼxբmؒeUalcJO0BWVpns@kb$: ;w9oM]|D6)/35eH% c%4=Mi 5f#E׫˘>#Mk &3T+gQG ?6 ڪ"Nй,1o4͋?& K|4K7򚪉%[}a{S2!!4 T|&% 6.M0$aA;tYk6-%{K=pm*&Sk2cJL;VwëkWߙ.68GWSAKF1ف-jZfoFANv [+JuhlV)%EPSZ3}An6k8Mo'[\B\Vs%fCaW [l${c>#paH+.dj4]B}д ۚ/QhGh#aݴ f[?X=B(b.3;2/F ?db\3*f}Pfp%ڵz%@{E:wc%Jlҥ,ONe$߆ȭWr\:e[$cH_eJ9IQ4U1c#}ud_򈠵I_zhn? {U/\HǢO7Im#OF {ymk8ӒKio9QrDrz0ˠ,X kptwWJ &=NLz~1@hn{8-"e^yt>pz͆ $cO:h)jd<pM(*;Z楴.+JlQ~ӛ$o17 )V]_H|~qg=2PތwHt:K)`^:y#}hsTH/^nTǜԌ-#P}{dĻ0wzȽa` Zt5bLklXnh=D4s(JDBn9nj@E}a-* ]<6CQ+]uVlS0H6d2x1Rnun&G 9oI Zkt8oy*eh8q?2Eo¤F1HB>:AmP6J:wS+^APD}8Q*ͨ{(Wmg),·mQ ) '$p3^Gr9bky;.ʼn<ŷu RL3rKAl}:A8YihJ̛IH*Xڎ6k~M\n(&1mˣbtxvYV@u,=sk at[r*_&}+[CAbL1szFgƚ/l ]xW -'U|lr朣{ěC1LA(.dh"JAuAg<~9j0Ml7 }cHWpEyE)QM}gQ?b˹J(FM4ɔB:ɆQ˂ Ac|d;,c|B_Q+BjՇɖfu8WbqL0poz:2)_MDEDs3[!9\yQ)' 7l}uub7~#? B.=gomn¬A org[)](pD L\BAWC_!4H!j??Zv<՜f *W\odqSgiVf">!V5&*–N&Jj: VP8dZ9MF[z1ۆE;a˻9BY喣J%hX!3Gch埗'ӕ-)XJ)1$Uz\="sODoD ,+GJuq< eS'}9,tI޿=o8]I)_x \:2vp_0Wz8߂ u %M. d ^{Qo̺EH݃ R30QuԖ AOY^53: ym@#q*驅rm'T@^RAwA7ZxM[nB0b{,n(2Ow}6_χ4%p : f8x;]h ^JΈYWڍkgZIlL sE0P8kK`g+p+PY* bL>p^Ae$˱ᜯX) NFǖ%ܘ̌w԰ӯYWdURQ159̗ғD e\p"Ʀ}ͫVY_nQ#T%w8RʡxA:~M;?$06,S ἰ#w‹Ntt4`S#^Kv"#gNm6GשnBG[L)o1&/t6/.Ȏ4 ǯpUŘޭHLt$WQLn]T{(NvNλD|5{wgZ]S9x?w^;%N`^ZFd=t]3nPoU}p֡7x A|J|2߆4."<e&RִH3rμ zQo>A1lիe.%}(@:cKc5}CXouZн2)!3FCG$^Z'!0{[>Ģ{ZGn`b3b؈8Kvj-ntTHS"DakJ#c+@@V[g7YP'[Wb)A[1QaEhΈc6ES4Oy|⽆r/qu9a}[$iI]K:**5ý4LsgǡWwI?/Zy,\UJxZ ϓPg'l~VeoeECodo^a38s9)qǃhRj&@96 3BkqVS=SNpYe>J#4 l)ƸdVY 8sgHDGV~o{/g\Ȼc14%3|Q҆X|fgPBiLŐ釖4zI(&=`kś107饙leN].#޶ mJ;A߭2oH>]uwiYU~q_ GڻRt1.) ;\Ġ{Tgюi{<KrQTQF>c1K$Ƅ0QnM ݑMkķ/'Z1"sֳᐆvzQI6eFMӁޚ]Ԝ.Ţ{>WlkX<&Yv$ahC<U26MXSqfS:4*s;I@Gȁn2"L#Zq}κL1vUYayw7ƁC%I)lҺ_Mn '2#R^"і +\lӡ~ryߏo;!M̴V## X"Ṡ5AR=P q_6] {-@_2섆fAe^66nhm>^wSt`'LhM=Y|}|QLe(#NMN=w RN,pP#A LxJ14$?ISnxjv )pq9RLAɞz0VAOU5o *BH 3X$)|U9827H@Cѐ ~-̝-X"qfgdc<zCϛ 1΁hb4xQu\|xkЊ+t"Ob6pfCD2/fq-N5i)u5bf!"!#!uH!+c}@tU)[Wr]=>>ۑBc\1]U5S6{?ͬ<ݦ3>}e My g&6D:gG;ZA >Nnc2L?0QҲj@p8U77ԜIp2̲ة{b2=k$рLT,)[M-$ "+ƾҪQ9Bд`<ݞo )D] %NNLJa+lHl7iKv|$XGF% m^ Z{b~e ]꥟n`1e D霘lVn([1<\#bK1c,X~(ܔ.Q gAPNmȆKOd(=xo _GSȊ Ha[D7K֜Bcٕx:i `n).dި*jt+@B_U2u(b{L>T1OɈB/Ko2`[J|6jŎ~%̮רʨ 8g,m~/i9"%r͈}+;H8 Ung^t5"/1~tB2{HuN΀7QOvaѲB>XIȍNwԕ6zyU f1prf6=0EW3si=k {M,ؘW=¦ hkoMcmݵNS#aX?Bc۩?u uZx.'} \=eyRMtl#H9k_ NO |h+'.v\,,ccɭ@ʼnA,,93 ;N¤ ݎa:%Ɛ"#J aU"e.p àc3kQR؏{ o>@C[jiK}~ͤA?@ v7Ն1O݂!فV3#߂+i~{vj>'"5:=2f"%uvN})ԴmBN-ͪ_f$):a@ij=Q9HxBxww;_⽚:L^F1n< KI+99N^ Re>vsp[i4q׭&ؙŵ 2 1 W^_!JZMa6Ӊ jZF,R8=@@.+!d 02U( ToQi6FzqmǠg?`pgԵFv.VN.Fҳj"iÖR5M(/Eׇ -Cn+42 OF>$7{9Sۗ0G-0EN{U}[Kq@RR^~E!/"_(QFgPvFzqOmNZQ-7 I-<dB\c|ٖSX1.0׮XMZZ:b>;x~$  x% )’`!I2aYޙ 8wQ& ݅e,(]/̜,"#l ( džxH%Q38n@FLЃP75;W0rMķtUG?u]˩mc^w,[YB *eSy/q-Q ZyUcA]te㦃xҀZLsT!Z=zb3YG]u,\k1hW¡ iL DOc*}h:_k'8]Kt:ї9;Ռmp5i?,yN]-#;jg'e/Sv_+ >y}](o `0Ў?@[+]uJv%0JV(c)NE՟=@ں&"HNmdFJ2~3aL)Xyꩠ엻 _b"М96i<:Y(35Rx#%r$e׷;RUhP [`gJ.~ Zb$ ^ZJ'FaOBo`*dE;nmD Kn;n4:.uu`r#5Wczvib[wٻ4shh\燝б[PPckc,<Ȇ/}c?A)t 7EOH4܍"Y8k3&=Q|Z>K\ʌc ~HjW4ͻ"W9#ETUi)~$MOs& VB==Fv7$p!7 mwդyx,Q' 5C6~رl{Zز}?`XDAJ̬9T;dT*w 3oьX;jaOZO7l7d["XѬa019[zZR+vw\"h ɖ1$=vVK'o̩mrǥYYZX ֿ>UM"hֽνX֧e`&&J ZeyI.L-meK@#A&ukGoaj)D*xM} ޲XgJ1EH̛(*D@+ռ0bLIt[w9k TT}$CJOĹ*Jl25k)\\ԈKv#Xv?9kPxKA&VCC\츘.GbsMEi4Y^54+n|s.L\;zpnp2y5Ϥ@uܥd3xa}+VAJA ~ωf98]Nn sdeݺa6;r5#g'i  + MZ6uF0-~ 9k~=aN*lr"냾406RH$HӴ6 MGcӇYH21ec2`2]!Ejhk55>/|mdѵTH\*pvr+毉yt82M0 "VN8BZYTe 3i'VҧW?KϤ~e9j%}L46v]v *s^˾Dw0Tu#CmEI%nj|d„I+FeaŃ%q3Qۢov9ci>1Y%7G D?F鲍XٰUS܍-`>&m#;VE4d1hfO^?mf E3י8#zyJf" m;@U(kz:ChO0u8}՚ql^ ̖GyM&\RsM8Q T*\_ۋAxGtxO]4qD֘~-7^B]c+.W@㜯1C *y/0bݔmܡbUo@*X9C݆t 63vci/[$41|ӭ r?ce}C ^T:n2`ZKz? ʙ]R㴤Rm;@>]+,g*#ܤZ[))6o"$KS''u=TpM:70,LJQdA3qԙ{J5ثkRתPxd(wU B'E[fdCHk2NY=b7_$ؗH@?I|ٸ{7BP]$BZ LvB`NF1VN|rVރvn t}A<[ajr{֫6E,ܴ$60UPUzZx_ ւ+vubfTQqFj:;5Px %mk9_q|u9/㾐jKű޷]h;"Q~e(PP.9j̛Ï:|@A46.k˳ݮ2UE>cu;lHPXnQoEfY#==byPbmċ9ga-C /#θ DU&R.UR_ !*%#BXì!q=_= o@7 <K] U]ا,ƓjGB sr"Txs }daOz "\ǤN*]wiPoؘub)WˤKw߾U5ycw0?3P9]Vun\ wxZpu5eptni]hM*'%m7j'2*@}J`ZPUoxFH j 1~N>x3r8Jw?^DQ+-#aq,\} aM~MAP4lJMMU6ޞZ3h۩?^XIYv7@6yMM$-].37: c|k75`>r fl?zDPb< 4IR>LM%n#b~Ϻ܈#2&}â:Y$z}ɵіv& q~$4'~l0yܑ7L: .FIr5jR2hׯ}FS mz.K 4}\}y$iͬxW2ycy1dO FW+._ŁZk\Oj}[|p#q6Dd2W;I>+TFf42GwOֺ^=6pC]蚴x^n֬fEU;:S]ኮ=卂bFBoJd%˸4qg>t *=O V%"A:Һ$|`r֏ ~19֤KӉ|8h8+,6h @4~^ dANoh5ƥI}M~=$-AgAAy}/÷g.WH`ّ)قs g1hx]+dC[ 1BC݅qvkQɚȈs?/:Ac,ۏSGFyk+"ا XP3tnXڣx~K./G] q^͡ªv5?bc#xPuX|vDYH*b݉S+9~ ^ ѳF^].f9)9({w'w0T_Oqgvv,FMЛ5u`9[ -^9&^ю0.1h=g5`f]V7EkCf>ALUxHj.BuIZjTE:_j,3T,j2MPgq k:0"0Q3m`Ff YkqF IU!Ą3/ȏIE+jQH*@ ., *OT;C(Aїx8j +J2bnYNRk褞=Q^v\Xg#^%[3"?'^~CLzqDz9f$BUn- Ai؆N7-|& Ѻa0*bJ^} 8=Ipb'TbOKwk'.|bd:#1;x+M@#ݣJ'c[/LxTpd0gH´) 43#ˁ8?b;{.d |!:q/|#6OZA X"K\uX"pg{1F"T%6'{<+3:O p`dVqa9 {Zy!{ "3 t,B|1^3 y1@WV!X vӎ텂zu),?g78d7=E19ǣf̫ykD?\ⷹ2R4N~g>CZѶ &7ӘS_Fm$AG ,mhL7m@s+Ǐ]L>DN~Xc40O 3(ZwӱZ(~QN%V(#o =[WPGhU,&]Ĕ`mgb`:#>UJͨ{'5`nԿ sLJcKGt<_*:v@:s1A=\A'8s`1BT)qd 7I9h w798?2\Bb?hxa/a&E|dP$ɳp~\\XB)^Ov_вfGoTі%/}_vs}Ӆ5;7qSKWN~7߃T;mOE59RB g _?j")ZGPYjd8K1w ~o5lU363R s RQL"k\55ȐTpѠV_wf^Ox ?DX6'xd5oaɗr c&U=/\N1>J)hz`0$&D{F?JJhTG!6nxl)%Vb%Kƫ0-MJZ^DQ&ӜQ=[6 n}ysO4E6*B=Uwi`ȔBƿm;ϴɭƌ@viܖ Ɋ6q[{. jEp#GP,׶ ͽu*ϳoZ>Ns􏗵8v. +~fQ(2_WXKe FwC< x+E=£7q?]ƈ^xLdu4O]_jp4fU-ܮ%\W4qi<Ӵ=!b|݈(` G*4 \pzY3*dтm1ST]).}iFhݗaf Nkb9=)mt k u1|2#Ɣ*gXA16u,N'ByDSEocI0_^t2fN5_7ml=2eĸȬ{4h(l灧m` ܿCZ,[ -"YLexK=Aq80p@Ga-'6슲1fFX"_ +n`g<4|(8Ո4/w3&S.:YϵTecv@"/+\ݭ3,t]V 98ȔbR]3 V:b0juկ߬,S&+P" B,RAǕY`XJ=!O^_|,h8(#@Z^-|.7p{w 2R6\%`[ hi$ltK䝑aDL&1AU㾵z~nܭ}0u  Q ds4wyoG-Babj>R !/fja k4KÑ@@j" J Wf,A*K3d5x'IK 雃(L{@+KT9#kOw_(E}ʮ[J@)z#D;^ћO1Ma%DEqjbp+exRE(c=bKkEg4H=+KQʅpnw~a?<`7a|fu`!ç o$%*4 2E|j=NHoX-@'E,6_یrQb^kxmXhF1L\/n=A}¾*YqW VR߀ar #;b\+OSQz7U#f gҖ AU=~s3XT#RGK :&rmeчt$ajr.y|lT/sD28-rwԘ%=t7㭈pTAGBr5v+VUŁIU@JW,ҹ,jg(~YH7O xFo 0nm:i\g#W(Y||?nj0%;Ҩ:ߦ #ٽa&l^R> UG͢:U1 zWsP ޏn lM),5w\u6*@=I3"qФ[b&7՟p0+kӸdH1 <0M{+NӨQ!2aEnYo0 {@5'f<[ *5$ӍVYpk 7 R#[/KpI,$S\`;ЭRtֽcc+7n:#jEJ*XxkuU.HTjVAH.D 9J{Qc{WjڏpIK'AT 'a9DQW3It>z8LqgZO|jus266RD+'FP4J!KT=;%;YYz5d*{:0µg`OyIC@2x[/QT P "ƛ.N9 ʡ~jW8G~6k=30;<´+s.^׵m(sis /!vhc*)적e{ ]B\LY2)t6K|OښwsCV^Ƈ]?.K""<$XIf)}UPWZ|t!+Ӥ(A_zRSCן\& 6#R #T&o oWՐLsǧq`MB3m5#Ǫ' YV WE#d k岨KEC@ _U@D%eJi.$ X^eI" UkFDXMP<nG+;$VXLd04f1L&Dۛ_FYԌczMTRbiC 6`0lvZ %a|HƯyHOn`љϘc(j1bOAސG=Cf:5hpTS,gn'95.L"O!?U qôb9,|uK:xqCZ0^}ER)LBf8:{3T33Una5ђNLA*dO@4?=8D1H 2Z&jh|IzaR Ϸ~ВSdC?AC:YI_D9]-dϡrL 6A4(8"{g ;  PƿF֒ƺdrYHn0^L"&,myM#8-eQ\=@o({rWvA74g$&!C9!܁SF[^C|`b-Pġ@h(fzt<`NB^`qUr?:0F(MRlƔ]%:_EM$=nԻg eFGdNHA%"qb`\"2\y7M-[ Hnk M?FO+{;%.,hpё}N v8gmb-B4 H_yaxlRs`zt:3jhqQZ=ˢ)3 G6]*]h|Ɔi΁ҧ J @z t<'{^lz"'\/ BOnjTQ {1x<CEPy;P 0@=T؏_wn8 ਾ\q4٠Yv0bP`\_{Y{Va=Y70-CJa8y7ܼ%_Mh0Abx]#4S5/l%Y%CTG_Al_0? +~+{`TcЗMWjONx湁]1@b#6'0.^b_Ou!G)"̧2q2< :4)pa̝9A;aA9Z&$)&. M.W ,e |cPw`MlCe`H)#!d/NfiW}-3- JLSJ 5 MO7%f8-Z?֞_@㚩:t xU,ZK`qUFYrؘ L gJw~jdc bfm@kHvRr|l 08,g* N0y')q/UսOGAnLX1# ʕ}u$--Y bx 8ap Wbpxķko& j~l}ZM.VΝi<呷l݀MuB.늪of /1 Lͺ.Z޸ʨۤyĸ4xbFs2PdV/ Φ-k 74̛6",]ga\ )w[k95#sfFQrBLdnpV\EHzǧ6acrujKqx/֏ɿ52v( X!ȟ%()ilrﴜ #NxǓY ĹjP:,+r䃍.[cɺvF=ݞk-18ޘkϣIU+}1͟z( \ף~* skrZD>2ga䱭FY>WИM,hf#xgC߇flەV#a@K,\v4 &ƗBv=/W\3p@7 Յ:"'Mʄ]Jaf*ni]@w6q#DwO+cXd0N]e#WMCMZ3/8[dP@^]ԧ~aId-kEEi fW4:caW8?-eMpͳ&--ex&7eWuxpRǮ0%g|BC˿4s53RqR{*2dA܃#gBkt Lڑ69q0mQ)pY:r4{pŽb-ą7 ۥE ovroVPQ08-- "$By4pXB\cUOg<aVZ Ӊ_J 7]NVc8s" aF]Ask4J]vIh|иq0zC҈5=gpx6KZB^5,nk|j7KFK(oMnL܄z'>̆@nēy\2y%P]}L(USB*(%%:s%f l `t<cv{4*ga[!4rmҾ2<(tdbs z^oj7+"RsQ(l%ـ4^Q* 7 YѕW2$H$]q`G[L1!HkpFyZe4_lN33 xCPːg`3㑆'raUdg,:7 Ό(9Р3牰  (A>BͮAxtjj@dA1պhYZ-Mq -hfk5ESmo Ij`홫-^$q)^ i%)ln(q&]hLLׯvgV$G/ceӢU@=>j i yT [$E0Dye'(П$ 9ý;BvIz~ hvܐxv{hI' 2F^{BP<`Czᔹl۲Sp|8k^Ύi EXO\9,_Ԇ8wf&Mlg|NSG7bQLH¶5>:t8}}ءBMRrF#3e\bY&z~p&HQHT^¡Z{澉%~P5z)uȐOYp q8 -4Y0ܱաG_%/U{RT6gOm<_q yY_K2S0'*&2ލ&by8Y`RNݬSc]CK`1*?e eGFߥR&傼GXP_s)ķ ?>&Ph(}UV "tb bֲe$1Xov6Zݐ%I.;m G;^a[p麕HlZ4Y"7K 93xoOk@*>7?sYmP {Zs^_'*>˻ڿA9wQ {BP‘iW=J)UBf 3ÉWW)Xftu0P2|WR_zq(G }zM8zڃ$G\X[ʄӴ V]˂oA,d0}1 p7r3flհ`DuړƬY' L!XH]VD֌z^02kA:S?Ea4`W: S F.?ɧqmM6]|u=I+Op'P2;M8CO,=;>oƁn4j M20j6e[ؖIN sG."d&NGbU*lp&DZ-D*%~h8awbTKHU~.á \GS.v v6Ga~?Ivmp]EۈԘ)80YUZRk Co.Ǎ-=Q;1!C{*̻r̅v۹x:&&6\QX_&TV$xYZK\G 1oZÇύ% z'zxJF7 Ot%_jIX} Px($%)wXʧP*K5&3voA?o^@{H S^gY eU,#z>$uߖ.ŸגL )`|4ٲsv%\z~ж܃?q~20y%xB77G-*{ *].$k8ntsb9g8N-rY+T@Sp#a.nR0?ʹ2$*k*% ($,!))jo!8QtνxJ@Dq|XN42ۆ5_02{Ӛ؝>Hs4fl[XrOh|ꞵGrm{@v5s|ye 0HzxR2nAc3)ϥQXg\E(z!7t E 7kJ<2‹;.|#caIxG^Hd5SEմ~U ̒ {aR8&IS,⵴9is'uYUDEhiRv.XLebk5"YZY';u9SM&87N *M!-gR祖=`;oy:殷EPP_(O*in'H~3j=D:f^}ǨZA!hHJPĪED1V>jCwy!9+{0L/:o=/c$kjMyRJj[ q1 L2ڿCc>ފ=F;jBu N^js5[:ψ|ɠg'Zul7˼Xra F΃;^݀@т)I*qzf'}á:69Ϫf%N1E1t˅> ԡ?!vWQFæ]tAL G`560UKo}{Xƶob_N˸J5oПŴ#^~ϱ;%dX.&uS~3$3לo΀{Ie5{h \2,/{9i`$]4jxM+3V(+XdVMmGXJGǓ;^QxXSS;]>S .Ġ,VnZG~1+xoJmTea ձ=A)P+7bC0F[tT=`džtpSRN]H}"/`U]?G+ଵ҉IЛLL٭|m)ee=`bITx'mD_gH+Bo[Y4z }lwdB 4Gv?02(" SqK$xU/J*+-U3>bYD=B+EqP?M)'.M k/f2d|Y=RAcȳF8Hb EH.]젾pڡçX%p(De^M FX*-zb҅wщʀW|Â~.6mlWTВc%Qe+5{ ʶeN6g}0_ ΚA:F@0 ?ugIђͨ&!-JO`EeAοYJԷijXjw|omE`o6oʇzAr sE$I| ᭏GlP#. Wp&_f*NZpVyq|q_@Թh!>hUo@)}[gJt2}k@շ @̛; e7 ǮWec xz4yb\4F-mfA&X &kOB#o22KϳTLxÓ۽? M@>w;KUD*nj9j֔}?ѲGُ =!(^P2rJ5r#T5Ω#R̦>#E'5v\=ła<2g|(t`eaՙMřd٦Zɯ(|f lϿ wUkuvUM 70@(Mw2~% VcWr=`Bb!KȮN*ytBQt&Z/C~ρqR4kc9V;V3}' cK;(T0w)Ud?oCVJSlE7vܼo*$'F?&tFsSq])zwߕRfُe=Ɣ8qu3cWYZh85C;w:rj}Cq8r˨9JÖ{5 EH_:_sniN㨭kta=pTa83jvEMfO,Iw6܊bthZN2w5g?sN$e#s, iߒc9xUx\HL(TLx‹JN Wϱ5Op%jMlX_ㅧvREgIOe,7ydqzq eXPeE|GZ"/AMzD@suJJ2S2<G :C&%jm\[YRE52"{+Tat಍8<[ SġxZkAP=+ڞ־*EV)ljM>VV{ ;*exٖu> j7)~xDS^Ww:p隇-+[eVTI1D 8jK`dgi'Rpw C;Icu$hnڂJ4y+>zWW[i)spA\*Y١[i644 :f3 PAIqh~2msHB-ńJ@$qr7X*|fsc 1x^حJnDs⌃}WGc !i퀐g$r!(NZz3iBB*UXV?⸹O\=pP|Q@z@Cz [Niy{ J_t@ ggR$xqJGR|\lK3R577dסAL bڻ; ,N̔@ָu(/\Q/a(4Z M'Ka@CMrqCUޯ=M+֜\ZK*޻eļuiU%@$WaNŞO̫͌CGCCkf#DPeo Ʈ6H4X] p9ЯX_זNZ=,ّȒRMU&0M(kr kz, !J<Ξe`ڍ%cS%ʒf}ډ1έ[r4<#dۚH53U=wGU)ݙ  <yzYM 84Kۘ-=F0B8eݑ%lP58tHqsHW9⺲dƏ1uz'FXd:"}{Tn'ӋoOt4nzU1 L!bk(pKm^Lؐ aGRAc5=TڲH,&UB Oqh]iU {!:dyڋjh9uѻǜyYD~RT/չ]%Տ T(7(ͺw5U۔|(n ZqQxl@O&P(ߞ)7zx)>Uc~U@1R&B"Jm>WҌE(ƽa: 7|5tӡq{b %?q[1}o .P|FQܯI? ;z3qꎫ<"lvBzAQb`MPA۞klZi^Al)G5#UѻfUY۶}k>>/\g>zm҂y/7cyI+[D/:BnQ2&G6Vg,aPOwȊ^Y,%2h.'Dy(<\1_T5Ht>hźƳ3O*,tGxLX nOw3rc}/1lh /6X"G@ %@qݨ'|ZQ|2YwhbSVkW}>@-gnr?}b XWZ#=-&/̜St{/\ Q#:O_Ttd9A|)m43W:'{ la#0Mc@3J~i=sx<0<`҉BesLW9N3Y]C,dsl`^lZpPY-q[ t&yHEmL'˶ShC+DUh0kcnaKwFڊ o:%]]I cQ( Oth|n1ͰE0,cL7 ER 7K.Y9fù3EΎ>Dzpu~,Upb=L塿OJdç63]MY f^(ovfErk^M1zBcyulHTiI8ԑ (=XAa{ D+%dzm Kt@5 ᣘ]mc@{M=|¬Հcsұ/3ˡrS׾nFdzt?xPu@o=NUD6޸[;^|W~莐Q#_7)hF ѽok ΡK\3}Hv0#"^a]Bg1JǎRvXp@ǻ< z6ǿ_dblP)w>^"` @5.~1q:A_Iѵ>| *Hgתewo=* ?[Ros 'Ý?Dzn4>U2HpU(0VԾqz^E) "dW,9uBEBƼ<Oq=A6n.@x-۔neDrRXsH[) Ud0 -p&,N M}j3qU#4ΉPvQBkV,Q*@='⎧GUyLJ=Ɉ6_OM3+/R҉eg5b x ߴRd59=NQ >[ZVOU+.&+Qc(n7N,Y[;Ee)xx$optq$c_ 36"u%w:Ł&{()́<Ұ{a|}'E\@K2Ŗy$;w_[ ǩKngM2x%sxo}FC#gqC %w _~~nQ5է7r_s&6с]%cW&!X1JDÜT'$g=h<ݷ1aת2 ᅓp#kSu ۨc)"|\c>eUMUC4ϕf ÜNJ=:$]{VSnFR{܋hEq>@ p6W8}OPv[﹤˙ VV Ev2/ο`2 ; f)b^Q|A QPÐr@r99݉iM(`?X$l.OT]PcCz;p?MK*+(!@:G?WЕ:VY,iwl*?]M%Sxq;\AZMG.SB67ߍ-Y) U2aM^#1p>JFs f2R·ЉTndotgOVг r/?rc;pU7[CiT?+#A'{ FòdiIݙ~>X>{JG! XBOSB%d d8mӛ~P[@B|_S9h sk)]gE 簲4|y9`}(g^Iqg )W0r_Umv߾Vsߗ)SL勇▉6 !2LG HǵgQa|bqR_ԉ^tNsc;0諜wDGLȰ+rٶ ! U0u^i hfU%8%єl[b E) s6!8%F.ܽrlTЮ) $حj||g āD鍯OWyuoHϜN+c$Cp5JRHz6)q70p V'Ipj_qK?h1eK(y 4 ><6,(4]}l\ACXOOL(,p=#8(QmQՉ3?!Xxe Z4jD27@f1+8C pb+!MRSblߛ/,[*Ďٯ7wd8yb=ǕhMc*)NCU eq-ZWVu)f䏉'KkP?OI4Š,p%Ձ{tR@NzQ@m@0=u,:5v ǜ V1+< R;[ at&A?Q-2k2+76#[YY2rpG&|Eܧ[m/4oh@5` @%Iv(4fe;uO9h5K3'?*Sp3GF&H^JqxJu˘O61 Rz I&(>|bPlUowlW?_*-'N帽F ́zkh&_jUb9dĆtt.%{x-zDH@O3\JJ0ij 孿4>rU|3ZWƹX:1yX CMR*n:5<V*^iZxcQ!\VL)qlҸ~$o[7t4#قX{O0#%,ET1[p&B-A|I/HB봣cEvDGi wN·5|#m) AD E¤zXskp;44ڭOM - ,0%L E(: n[13XXl &S?'JW 6ɏ: VT`WQX-o:y$CȬa`2jd]$cbQ =܆?D =v0KX^Jãa=Jj]]K.m"P/JJ%5)MG1Cš(τt;:2`J}cl 9Qή,AE1e:%8 82K5R DlvSOfO4ۺк@vMaW\{jF"C0WR`<֑"ӊ^t 9Pp+[~2>S0H!Q!؇lM4\j4]jd$ėcRzJ2x#n-Ynr`YSիďV MW}BZu z< v=`Kkq>3Hܽd)r ۤQDr+\eL ]y(ݣa`nT~SopmqmWLOku(2OU+0B[jZnc[iY')>t!2T[nUd}M˙zWw^tǠBǛp$ h{6+RG;vO[2 fP Uj$^$cp^8a腤[tn~=;q5n5i:Q?$$T qMd0 Xx@bϱ,24W?Sy?F5.Jw}>8aGQA`LSsJHy"622pufA63x\8*% +/TI7__A=mWo&8*&|g,I6-NT7pto[k$Bݛ˺8 =aёN\_)P*xg({8}յR(0~,3iJ6'Ax+'1?h ~(^k~_6d,% yvs 3Gq;GdeI!pL҆)*Jƣ>Ym8вh+\/#,z4TF@Z+0EZHG 84H9.HvIM-3Uڌ'婦+ 5 R;oy2։ )LѼkWO83WS n#Bo]%M R4܊z9R9KqE#ڹEWpCozXqGuTY^Omm&7</pIۘld8z1`2_zqIϪ0`A#XMfd'z.fg#Oe5l/%ǂRw@ٮ>pɳˌ5~QsB^;NR'dmqijG;-q__t!LR;#z#{H4nƒh3Ѐf$\N-`p2yفD̸Xð :؄'n+(e鳖lAy¹<kG,}[H cEOE󮞇w  6 a=|qrrL_9} 6V5Dd94ݬM=7dX/c>U'CSn ZGx/BnPŽ*VB38GĪ>Y'Xl謣[ p0VM1!"PsR-ER𕂼-.un&kV1tB$y8Up$qQ%D 8 0p8 :>I" nL{'`%W{Ǹ(65*!v0ڂyGj*XR?{ҕ XDL9x- |Iy!NP#WvOq#C_VrD9ZN^Bh{r5&$uL'}O|hHU;Cff/Ǡe\* W%0Ŷ4ar16\<zڮ=jhGe{_眴V× YXd泲pQjt?7}R*,xuJQ{m9C={ٹ3RyyBJ~i8\|/L= (fS)!jmK8@))5s7_/87O+]R?;σTԔvO͉J[< t#]pakF8XW,kv,\LCxU=_ ӝ;\K~BB2Lurٳnc=Wt)I/3WaqZ )gwp݆!js܌GUD3j aj5aYyuvAaAө$<4 Agk`le5qMقlݲϨX`>TVwilPУߓK |y ,ً)zz9Q,0RSTiӈ RM㉭vWOƵ{](oV 68JswšD.3isMTiTps_a9\Z*TLΔ|Y+汗 dMhbV|"W0e᜵JLV-cBfHBy~ZB/5M@ag" Zⱥ_͂Tĵ"d&%ݓ2IIc@zu+7K%6vf7bu߮ZDm#{u~Ҩoer|w۪E_5"5?*ޝRlɈK|G,7W hʚB\&gvD c@As`bGsrtZ0|M{ ӧJ҄W#qdSڥCDՓO>,I`*B_R5#k¸*ӓ<:gr8 Qؔh?o Uܙ4Ob0E? ji%!8p@!3eٖVs荻I$E04cD~zu4E ʴVvw`[ie.6[ݻwy{{$2_R4;aH5ok@7;o*Q3Ի@Ҋ }hۦ&[%c"rȭg~_3}\glk3C?@ ]uVOBmGeYMR~N;/ <$ -I uABW)"'0]Pc^9PH%;͂Ŵ>69]zffj$}p5qz b0 r%#%~d>LV9swe~ tc_QL6f#yq:d@\n(V}h[P|?+-R/97ᬣ&tTwWwm233f9bl׼ϒfVhϿ7tNqJv* t\ۢZâAhS/[&>g_! M=蓦z>,_Ч sBmj9& &^ (0/ V~T.9AK."+(m!C\@GVd!$Kb{`9 f9!=Ֆ,y5wy"^SK6NЛA߿ ` 9=+kn‰y|b}黷(EO zQo\lOH}7-s55WXo6 ##Wj.\} NVWIf tĴ9v/uZ 9HL e-4cCWO͠蒍ױOLQOjihZ0U6"F GyS ۤ6}:xl -ES&2CE ӞŊWW[1:`6N&1y~{y=Y%r5[[7Ad]S:` ;=(B_ Db`9o nGnsMHdǣ9G)kI u7f 7 -'|-L$ \6y aK}D}^y|Yt/}›vg1np`@d1i5vs(?7LU@yݗ+8W^p=7[vf{lvi0^WJx,fo>nO֋K HR9{2!fĪw1>ϾۉH5-Nz6~`Ynw3:#82Xɳ!gT%AO,Y]↳̫]d Q(/t~S萤n%xem33ܗKz{ZNmiػsV~Y3EXr9Hd1Xn//(8v{>ߐ$ɯ?H=x V|Kg_X[()" 8.ܟY$VL nfj9Odzhh!ب1},X[w1+kq3&`꜌FP|S˰ICs6Q\&R4~!۩%!$~f2f_!M;i*g-Zj91 08$ޛPc9pĹ J15fZ W񭼶;^x& yJ@_YoWh/cPx'w׼gg JW\gM ZN¶"`@)HoMeQp4F'9*xl)S䙬 GXl³Q--璵M"|_B_7c=>!o D3e3C͵-i/!䋕O_6{3t2dO@fqeV BzCIr gC#Z]4oCdQk vc!cQ2Y)0({W1 G eDC<0l/V<";D ~bgbnѮ^hƇ& m,m9nXSC[6L ʼn~ޤs ʼnna'(,;*u2)|m }MAgCF> T,>CF]Pq4s!MAw>$d2F+:K~w6*@C\hL8K&Rq=+qT W _Ie̻{ty"xżs]$}hVTap\ÀD-L*V+BU~,Xect}GfU.?>B?jBG;VjZ!X6w84o48Y> I\Out*a|bOBG6WjM _ȞD >0xG ,ZՍD7ʌHcMss &ZW(I,<^]ӈoq7&3.|Ϲ$+>ϓvjG{]Y۔ mμ3tITt-9;HHY ,,n>Q;+pFldpLKwrD.pUJf} ִ6^YL*Ք+mWeɍfT2ʕ0Tvu&>kUQAa// al7K{fU]tV υaHKRG]ǯ ȡX~?҄M)v -|F4dxǴv=˿(<&T1M)sV*cBjv0T>p38zxWW7̆xg,19j'!u`__C$x[5܌xKK_E 8Ṿʖ{ILnpZtH~NR/q=)1@yu̷`.uCቚݯHJ(9{%,-VYBVfP+Fݍ nc":}y2ы;nzOvʕL R^*yui*c੢O:0a)"q\Ʃ+ҡse~A^ $~AыnbýձhZ~r3[Bq^殥?D3L]}m:Y8#[շb]9+X!O{JfzJ+%-|Z.\pdy% 3t2ÝK]aF#;RЃN)B.u ʁeGlDD)>K9-{J4Q7LϬY-PW͏T"qlf/]RӌN?3's;Zb)H[ZrxvӬb"CX6;4ȕ}{c3.hʳQ&Cוt$4;} ҋT gTatHKU1 ))/I#y6WLMrdC9X~u) _5eIGI =xR~>PCZ!-,XVr5:[Xvwzȴ< sxa[8<5. )ܦz4 b*:~w025\(4$/=w^b Z.caQ;[jɸ]/ȤꬿuE:&|Vׇ /*| Z$<LJ"®)QKx.KOe.cTvKdw8L4 ӐUXJ⺪EbbF69`JG.҃ZJ-`qϗ}c_cS+J#/]*j$PVO'wduBձuh1RGoc9Bx3 xSF.͎4T  |wyo0O˘ B?6ſR=uE GAP$IշWᯀӊ0{ 2AKwѻ6ѻlg Z-s\+H q}LP5m RsWp^|xcN Oɐ LέH#R(%,\C3?+k*ud+ H20Qv~W0/=54Lګ~pS(KWvGǨʞHE[`1aJ#NRBXswz7? j|ՠѲFlh[,Xdh!P[ s.#y9KjNMs'5TƜx, G6^kJ^s-ONFUB`1ͮכrQX cwdd&,$[OU((Q. DSU#"Tq㺔ZɺC=yY"ڒ d|dV ZPNdb~>̵7,@i>J.StX޹/F~)!ȠK~L հoB0oL8tXh?u{*_H+)p' ]\+bHab6ǝ_hj۫;#|M]lEJꢫښbN>ˢRBIU]bkRen`D]9<1آ㏡*eX{ "u%ʲ.t!NG^V᭒&]"oC÷ᢳ {z*s[JeۯBV}c{ɚ($5 YH:fs<:jhNgT?zTӳDΝ)dR[ľW^lE>}ԓmQ & +wo;>VK3: . K@*t#yOmdsk H)~x$r[oI"'|-)J<3 Ke _ ;{,#[]\ mڼ'3`5sI U8+ \{(WwMS ~1P@{<>;FEJt,'<֬2b4\6npZ4L`Ƌ )3%:sF=$8\GEϗ%peTyat&BB1 Õi+d>sV{dԬ\0'̻}g4x\ ů)I@vpn3x-=5^Jxs@ԡݫ%2DOIET;ri:oQw6h&)m +4 4״IAB˄YliJ^%Y8 롮AZiV1 r=yqZ50'L{x9”X=T<ȸ,»͐߭ѴBQ zub1@1ǥ󯡑 YuAEPeq/s#eXoӭL 7*; hyvbv^M$&gSʰ9!ZoMvYE:7@DWʼna/+*uez{ç d;|3L5DyorJM1T+\{֛(6ԧNs%Oɨ(GtWk#ԞdZ0ccj&EG[߫Qz-^*sM%FJ!r\&dk ; ) 8x\a|(xy\h7^}έ"BGwsEWW 1J.AW-`.#E?-yX6 ?#C+@ GPJ %"P<*uE^v9"v;0RQ/V 8PlޘCN_=AA q#\kg\eGX9]Ƃp$'Lb82Y WU2p&,Ut6!ds[T;_;'hMB>%֥ haRXB65g;nLwyѰo=~,8t_}ua~p@/=;6Oz2ʾ8"I)}^pp.n:G~P ݃#o6 /:hrX݁0R.s&3A=,Jx9`YzLX/P45GV'٠M7-fX#KקB}w$_c,Uٴ+GbD3([ K8B5kue͗qT a/9;xiuр"?"WyZVZhXFXT'H*es*K g*5w'4r-?PʐZ$/ Ӗ0E:$lhtjك|^SNم9աޒC{NfpVOZKk,j->ū'Kn!Vi|qwb|ց&J_jd@9Tvf(yn.x`L^:!߶5Jpge!Ld3GC;VwYMݚrk-PgT@%#k5`'5<7sPiVw0$. a݉Y( i#V/(Y^=hq ߓYgE2rN[B \B[ }@ޛc9yV{7`9C=If;Nb2E~DŽ.{IguH ǿ}[圉?ʯsQZL@XTy{NJ'C[!AVՐ4U4^pxF!8OR(<+8{@Y BUܟt/#3(P>Zs -؈J>䭘"#m"?; $|m[N=O[12E~S~>' $3F%r+uI, )X}*lK4D vBjͬ#C/F\HtWD'sܧv3w5D;GoU~0q ~'[NA6*l{g䂈u5M\1M 5 ⱦ̚E\,`.÷O@&)K//ot$ b-&XK^m&H@WI8Jֶ, Esw1QBJHGz~W a)ZPr2}PB ̺Ht0q۷vȗX̯h0dLz]Xy&g;:(hSQ#w h,'#rjA3{%Fis?L᫸"O UqzBڵ ݹIb<Ȇޱw|J/bǭ$M㨣$vnLI5Ĵ>FV&WB h*?[+iC aa[1drK[BtZDpN@V01/Ũb[NBM΋XTd_IF jEbKs""w}+Ӏ8{ko WO>T`+p?пif!܎^:/|5uPR_u#>r]!eGHQ&$Ou^ްLcNj#5 12t)6֠<;ߖKRF>o ')`[yŅ5hPs;޶"©o,D8a1cm~ N2arSno&Ϯϼe@ |gUH2Ȱ5[w'%yMCu@d:t;"J?~~6*_wFf.ϻiNxpmP~* ?KGcQc%&48Bgp=[9JcP{ip.10O0 #}1!xzwTc ]{=%#6t;#sScŮ2 hL;OSL~.DCZ+򅥊R ]7[)>h%܆L~§m͚ Of>/jLbxyn2Z^ۨƠvⴺȋ(Nq⤭Qr}On~TBW^g^8`'SwG_;c!+r"O^F=:?'+ptSR;ON(_jFDz,2kl;/oq_F5ա io3Qt4@Kq;Q/ˀ_*qӲhp}$%ixo.Wuԩ=YK)&86bݔ _CGFX L Dv31宣%h7v,;M!A!HY9A;}>lˑ*ǴO4QF(J-З3pҤ?XI T'(vq^K~*$Y$] _R׫dgXh5%! [9F0TN|)̳l"ySKd18P[tDYpآU..ŻRY+BNkзSmIN}${ը=FV{!e"~{ʘcW] CPǫiZ)`mZb*@)(lWɆȎExf3tr ڭ6Û֥Tq :)/ m𽾁X#*7~=fV謂=UΦ2F$lqee%*UeQtF(([ph~mGHYF>kv a&::ٺ!׫s{ov,4m~X6OQ~`=,>fw.#҇%E2tB dK;j.Lv˜a-l>"}`῁4PF "Ɵv rtkW.j Ӧs3˧ bX`VMG4؊׻K: Ø߶$8#v8#ږF"nTr?/3ݔ,r=B>nЀr*4%*>HϿ# gt'lGǻ>Ҧ 0U;D]>PGo>~^uy%=ZS-fMâF3ڰ[N2l ϯН.z!O 偡fCi3f#a2ŇYt,"["jT.fWU+Շzݻ3yI _5߈ U¥r^E鋤x}qӑCB>5IzI#Ils5V`6)\ǣ74'ky;_ӂS@ۯ mY Dgi#eL_NxTKQ=rkQWE͘>FmqVrZYi"1iɯ-yRL4O.qM\,0I']r(ze疕Lb/XlX[6[Cm/3L &:nOT#4IaIy+0uEgaz!Axу0ܧ4}j &+E" ud: B au  w _F°t?=^/Qb; mq%6+TP]!}fo\/gs݁Z~j]AL)ca/;E 4)Oȳ, |1?-Y+ak-t]PƘ|&u '^fʼnwzgu&TڶX = n:ZJ]5*DYxmelU%|\= .A=`i?D^i R c= /becNP0:ߢ&yLScu?E}+?1U O 0EB"9 5Iؽ,>.A 3MM)iuOZgNJP o ,DIKL"~$h fL1J Jq9ݦDx Hi>~8 /VLAmbaq%Sdby~yZ{0y']/yV2pҋ\. { wLq[EƁdY큒pzHַE iTf!LJ@b03uRY5;hàAЙVGFj#z(*:qoHtUGS6csow. Œ be [jRľ;9ȇ;ڦ ӼqГیpQ~cugŧ';qZ#-}$-7.)#m N[Sd6rtO:8u^m3?" LgjY%t8A k\ XÆ€az\ۋ!) frX 797QMq g礡\Iu'h~m`t[zSؑH1;ѡzN*!6!D,v?ҽoXMYqPY*> \A̵b!'#EJR5q_ͥAX5 kpiziN2LR@Tt 'ߒP,+5~_"ZH;7ԝMfǮmwN>CSN5J1ǹ6~#U5bӪ4 DNEi M7zWqg'Y*UgZSOjֵbɱ0ذQinԬ{ <M2&@|2Nny6Y ^jۚ'S  InuֺC! gWmlɍ2C$\c&wbr!pS %?Zֵ)X[tta)}"ז A03$Y/XCz8ķDrD}X+[^s[IMfv~JO(=WCX؈}Eɸ7ZZG LѼ|ggp3kiE_?9 {3N〖ZɌ*Z̅Ի1@-4 vѦ8S˧פĠny4m' >O֏jѭ/*7nfᖘϠMͲLw lnݾMR3qpټm`3  E،Gxp (a8Z~ $ݬi|ٖ @ߠD[G4vCBUAvNП^VWe"s--Jв%^\PfAP$bT%}4fLOK58/s eG mENYgGesIiGs݁ըSA1nK$媣T %r*Y"+/-SW-6PDpXKb]|9lY-&a\!F# L?ڳ1 xS ^`NRjC#Ӯ|@@ΦA ?Ϛc1-ʧhB ǝ̼󕙌_c J=be'& S3sL&Ⱦ6ZC?jAsc94ƬN*hV{BDZ@ @\TbB3d3ȼ6JE v:}3nR8?O.ڌYWY;I;XR)f“ᙈK{BR2Ja0,R2]fTyU֓1[` ߟ"XK|cEɠφm7H9 5,k$Pc%P#]m3wݔJ٬-x$TLAeREsϸ;YfzKzlM0%}kF!S\% uN9A{]Qv*k0`- '݇C]˽ o>Dm8 gZ p,*%:h/g`.p,m>qP'6-f2;Hc7 Kr]z?i8$Aw$$i Q1iYzlbie3Dx4l}ҔOFa<@fЁ3ag1G)C-6 \l̏Io ezBZȮ>P&&S̡G.zpl^^C_I0)Ya毒bKgNW.wA=7[78 +Ȥ>JT<}}=saq ۛ'w}9\j2 `]o!= 5j@0?lL4se!4j^VuU%IBkMђLPp_0q {a0 %i峹=$;jWz8>|H>o 2)V$T+J,Jw&)ȴuVapTyӏ3k )e+č2'!=lNJ5֜6鍖LweP,) &R=)=/Cp|q]2+F"#7euÐ܋IbׂjG?C-ȯzs| =s udSJ mk0^n8 3CC$XZFU*qvv4<ջ?Bo"z qVc]O0S[J;-&3j>3Oqtxwŕ7iv8p V%֪&s矯{n ȥor+m.n^ ˣ6!n]+烦u`W*?'] puDh3eWIYnc%.3Ty!J^ct15 NH@’N'F+Ce!س +}nߒ3ךHʠsg?k !~bL8uaejK9x݇K2`Y'RbcS,f( 98GW,ym]DIC\Ko ܳ-5bǦH~9glΆShCe-JS ~DwuY#St/a`=MZ*X V U4wͣl?M 4K;bBj4sB|6+&' xnv'Q R󃯵gJ6T'd~fd=~v4pPz?_LYG:xT&*}u4lp; XWrKzy.|36,P8! #41Ҟ٧i0SCb,<''IEtgM4Y{T@pt5cܥ伳;\~t.o7xaOn:7];W>ˌdvJM?XnPv?]d:QH $LZkSx-m^a8۴.^W':!6dvC=fin#$9ryԚu6G֫ӊ # Ц7 ҿ/X[r=u$^j\-`vL[y'uKz2m 4DM<.Gm?0N8H /?@Mr>lEn}]qDߩGh-M) ۙ}{Y٠ D؋iX J;:zSګ !U[5f3+ S(z^|'[ҽ3*Us8{)p6PmRĭ`x9N :*?۩`}.oe+<)ӓ9rf)\C64ĢR,mJ(F0k[0ƀZv"2V @u^E\BjqMdSYڎPbjy3#_h!oj@w?3WM*AFjPeItj '=~&*aFVG~bhƓwz2QǛ v$d$~^zP$fv>"P΁`%hڄsCl)䱜t(\ƠZy) U1jqW^ҏF /Ai+ YIWL"Te%%2*8\2[<ޯmXP 0Q;U<)N; }J!E< bZ` Տl Ԟّp_!tţXҸmwu SЇbs?tz_&r3Ml(ٙ9.2Ҷ)Xa1YxGJH7`A Çե̰Qr`'cf5R *p_ߵ&&,v~ { -G. x4KKvnp$N))TIܮUP:^L"D|Zaj PsAQ٦Tqӭ5DE[|Ѳ́CH`mUSQ$/1-bkQ)KoyUqO{Äwpſ.U{զA;L̑3ʶ䀛{ܝ jcn&Np?nl'A٠.3OPccﲓv.8 J̅uDS07[B8j@bT+ Hur-0Vbkv`w(TE'V>`-I7⭑@"QTUk A9';|#k.-;QUM=^-S#FI ^QfxL5g<ܘW6HGy'Njt ܒ{HЃ^H0Ÿ"9N"wH$xXN|G &SӦ_\Fue0/PM%:W$O5+㾕ԶhwDW7VFS1K;[9m1s.nwl)VgPF3n 3J'U؈=K_AapkR,OGb.pb٢Ff5y] C|Q̻JedGH8;\/o-ɇtYR 0\^lD_Rg> *p%%KBɞW?P:)PΜn16Dw9GONٝ[KD-L3=uڤ]t*0k N Χ[,Of POdtU`k8t)h*aE]p:A텊SV{RQM\i2yB$\ݿ4~&aKLŻ`7  Z-G⤃_N }߸̲]xq&81zZ",1C]$n:q6_R8C! dHܵ6FKˠ.S~Ohv?RHkJ H[>!>whyT &}jjZՉNvy.qCB]b#LzOҍOn>fP; 2 ė2")3hd,آe7\\}K\ϗ;:< U!!w0LDi: Z6K~N$Z2ŸT f6~pZHp3vG< ' ?% 뭐2sSUd\n?ipxߚ:qr !T?85*G Q]UqC/LN.ް|ZWIg O`jjPLW`V TT>sBK%>Ri."$ ^lr x?AKB1I0YyUO =3)ab״t.&'D>_ATmlC9&pomUߛO+EB-Y!AojL#ig HIS~l/زPO&X):tPBڥ@a{6v(WD<; .8f5<*;BCZlȶ)%YG'6:V.w cgcTDXlY`ՠON D BD(E0]$5xJ5'7.l"n!9hքA@h.j 7V% ~3kN- uk2"3J~"fڙx#-V$؆ *$UQE˝\,[{^WajSgE% Tn{vПR((Lr-(q3 hY P1!j7cpY]{^'~hOvfxϔ eUO62?=ced3vμ9ƴ+~puLdB>տ G@}$1}nƬ>^•*+)8 ou5\aq.:- r%{.`9 N(=]_ […!/7i{ x^wkKO\B!E91%mبN|ʣ1VNRv#\ fj3.`#Mך]s4,$D<$ج!fREjCjLD$,Q:󨨪6L1'aXe W=SY)x(F*'OK&~{-F1jQzEؿC{A-'HmyJt$ (o'/fKCOx mt (Eji 8=~NQ᳦e(S΃*iB2b(,Q! t<z:8*nwYIR{| ڨ>mv1Uۓ mHJWS7l]]v٥Ɣ Dwj&6CBu}/7zZ)lz^O+?4`?]qדQ:O=yaFkyA&LˌrwJ`bl.gkU%Md5~r!֒#PΖ '9\u򀞊;BrqJՎ=wΥ#'S.> ?*rXŚj+X Wk+oiؿUR.K' 2T̉IՇegv4"He8+)Iq]k?ɉ.-WFmrAF0wv ӀZѴQ3!!/\V KueT :MdRqy"aBh'xxa6fW B0{Aa'02 Ok+TaY1z1L rpNSY;Mq&\~CI/2CbʝT_mW}0W]i0ŵ ) 7%r ^b 7>&vyPMuMUK}*W`HؓuP3}9Uڐuc 1bH-֬ʝLe@ F1)|6@ PNs/SMy\]YqXo`$ .~$OASVcď-=nIrၘF+X<~4vB-DsؤooO5L>lkڦlJ3)ۉ'+-qVQ)q G8p?T]iMIP !M/r4Ewʐ+ZΥej(;>I[755ˤ@rqOݎ1ƩJfyHv{>%z HzDžJӟ F;2.b.7Q\lV4|xݮ f!nb\q "D-Y\A Pa[y`mgS|H"c )/!ڞ(gjqB@ ,j;k)va.FOhX՗1W xj_ Y8$Y [=+MԎD.愈BIS&(Cp9.W;Hײ6 @d),nt{5Ry[A3}d[KS?4F'h^HRkDODf~D)0ߠޓɅJTO! ux'5l[P-<ک a'i q#agsۈppIC2: -9FRm>" n.O=f&  gS3"+4 ⇷(cxv TS N0r+y&4>BmF{ O3 2>ɖWN64;1E!a!9Al-olHkUw1?ﺎbL9G޶!ye3i5t]#/Y4TO¥@p<̏tQUb2ݫH?j%5e2⨲n%}£e @̒J.+mD}9ZCp/sUOiƒnǮ]+IxOϭ(Ffq(!-QYSF@"]s*`)Tn-͇;V Hr@z͌[s6LMyǍwux}3HWW[oWntϠ\~n90WHd1_jˍ8uC]fc`DbE>u* C_ŷpIU4"5LS qGkU 85c-e郘nNv$m;2Fbz]f¶b1R#R(f&2 V-)S& Z^ت{#k93K[ xMJ3}z4CUaLLP7%|A& 0N$Uqf \ ө*J*Sm` fA+AkJ}f3}0-%qN M.a`눴ӊ%K &zlU,R(@hOvӊU K܄ e ĪrHS#nm6T37JCq!=8R0QVCU(8D}=@KjU)eoHֽ`PTY*hU MQ.L?%Bӵ^$vO#c| h1΋ffL<0F:Wt}VpA VG7ݮKeJ!R:C'9;F 9 ̜ \00qWJۜkS1">x5G8KbjYy橙I JLDAXϥ$|;N@)3.J{TO|U/PQ=bTl\==0;'j~^3&CC$F`=iSNdJ2AΔm]k,90 ֍U qD˜(@2Cϛp,͋>#[ޅM(?%HI籪cg,[K LTl9H0)(Ul0Nd ?k_ɛqSk_CGN}mgmӚTr)91%6U~D'CA&PXX#6T`뉫LX]#s-&O&ZAaUIAw04>!ϝH3:Gq:Hڵ;IZt; +)TQВ?Xd+S J\ɻ&qu}PRmez95T?g 5Lz}z:S#]fGOd\zJ%&ꑶX(l7 uʙ.Q3WoaGc@0{D(@BҠW"lJ4/#ze~UbRēslt<㴀 0d;v6Mf-gQBR݄˚q8q2jwX*̂9돍8Kf+AP#XhCm{@iCLLO@t yz SM%zu cd°Mnubuk\eR&š_evI] I q*];/f Yn@ʻ&I] ]KV#{~=202P"UXXC~ pBI]WOTn VT!ǿ[Op[XKy,iyFd,ޞ&@ +K7j-NiEmf)ޠYJk0xd]b|W\4 |~^;g   Vzcv=^0j |eesHFj4SS@0/ d?Xh 9G# Q*s)Ȓ-L'yHOa6`oUFJ(ih'Nxj+&dqܷ~-LF9"6('Y@@SSJ`}64Km|7kZ4滯.?{iZdv [JU?M3#yeF:dz>P=Z8Q' %JjAMfRw~ i-a(y+6I0;E6{ߺ߫D`GR׳r97#frIi// ^,tccD!@-< Ļbp5NKHxJw# {"$QėwsbIV8L%XԂ'ōKmx}XUKHWk>i̎2K8~')v;Hٙo( S5ކ_ oԛp[u8ɯ WTsu/8cn>ƛ8rܥ$yu#ZS\uazd7kSZ" :lKoVV_x/DO8Y祙N$]"' XeJ?ML6yR ‡_',9msQpfhm `h+l  (KՉwrw.ǼW^"?ͿozFf? oY+VCؘq"9y6j"\*j[(Lc|!43, ̹cP51$+JŜknE ~X'PM6B8Vkzp+'2`GU+A*$O),"_QUC5kE/Xχ:#N;Ț,AFH(Ϸzl 8`?A uBwXt4"2l$`Q$tAY5^؟p.A6IKy>~?YϤߛhۃý NpTC*V]@ԱV?9Wv|KSqp̰F!9;v+O?5e3fF=@%y] &2 q*I U0OQb9+&UVwZk{&/(u|O9•UEݒCQ!1wrX$[s*浪ٽa%nv}k}X /b"P_!`x=rp +1`g 596ˤ~~٨0)֚eE7zZUN4SrzH Ot57{jq C6PN&[ ;LnOpPpUР_-7ɿر3a 1>񪜋70 7&4}i!4-:OZ| `8ي!@) 7LD \~tuyysTXaЉWu<NCDƨ댅[=o =Ll^|x-Ќ3Y p!6^DzjF A1 NѮ`i^d &=(,~T'lMqv6m$["{5/E=< |{+0Z/AMp /קXN@ڄxBm=+*zt yBn?ry毹q DU]Ҟ:qWHpʴ ezPZ?] M$7HG_h?2SƤH<[n˺z㢛 =#;νƴ5To.tӍ-[ܘ !3YP}6aMh~=]\% я|[sNt^ft_nѸpJ>Lwj&8ȍrwG;WETdrc JT<-~f?I9s~%VՌ`jyƗBLfcAWd JĚƔnVc}Uzdkc}\=L=7;,b[s Vd3q2&CS]R4ECԟ6/"Aos+j}aث;f,(#!(wF|[D [;CaS5괣XYW y7Ae HJ*D x# vJiNT#6)e!B %mӹWi}e(-ce[z(/m)`}. fiǪF 4W<FϢ$JgRlNK"/_X-9 v0<<ڞ_RHέv{_T_og99d>B6 R}d\*! ,]2n|]RJ?ǣ> ]k#_CV7 Va~A_^P*Y0/n:0>wֿ4&!P-eiք2?..S櫱~.{4Q0v h?SfίJfs HJQ:NU$1{N,xd 10.36/P {Ru(Op |)C_2(wy.Á|aI(F1诲(gJ1rs.֮luɪ_o{Hw9^YL/S)I:4Fl: ox+ 5z*ÖITjp O&Ls¡Ԭiy7b87rR2 ; ٣7%Nc hoq1>`ⴏ9JKN҃vz)͛fc`vH/ɄRY=5VY0>scNj6AM)9K~ꡑX-(à3ay gF:lAՕwףel bcU["AyU/t]^b(+nٝ^=r^7 t%'Q (s| 0$,cYRh:3 .:yn_PIfEϥʕ~IUM!V;tҒ Ԧq?W$|3 T"[)v宱~Mnק>BAڀʽX,F~|QÎBonV7ƍ|hؔ{h$3G 0hq/#@ʶmӒI.oPa@S*cseE)D9ROlאzoT c=÷˧u#I~D0~7Fl͍L#-&.L_ goj Zzi/il/S¿㥌Z[\F"VyI#4${x2XXN+1pS:0?}͐0ZBﭺ`׮ .e3zJ ,oC08cErϙAx-xG=.hEPT-^كU\xNג#ߨt o_S`UG/%s%r DoOMԉ=N C+9nMڿbnCJ6Xf6?^UbYzV6ly8lŲ{*Qop f/wJuk;thPXӀb \45hmwDO 5e"-̸,9*,M6vsDS`@s%e˛)@x؊rk|G4' Qin z?̗E@q;!$(Ǯ̾\,{f68F:˲!!uJKQrQb9dW}Cpw7. ,H6}4XqU}FW w0*Uc#8tYnWUbmojC\&˃` T}UD}Rq@%(UVk;5g^HtT ku ,g7ɓf]6-=a  ,~`JX10Yߓ*ӫR@ 1w൷NH& qh Y<kN8?鑼_3K]whHD kyhFm@KE X[{{4/ )lRJ8, .M1PMFs*XOrl< TnlU=!%L|'$Mp|ۤüM"*Y~ E0ҢX0t8/C7A Qʱ(v靣ꉾԸ葚.d̉EVtD/")qTW8(zEa6UCIAGd$gI}MHPDWFuzg {dSplc{HGDȌ7 ҁ`DSΒ1p1Eo6a!yA7ʔr!jy6X#9Hہ:=-U 9>o\1q8

    F8{&ᦑ,Janؐtb=[lzØ(̃~[m.:wR?.yQÓ-Fyl]{:+J{78%qia{vB5kZpg$[/@. !<2V+R]3Xb+1LVq5olX=c.<3vTlF+YB^a"""@B:<17 : ߍ'#_žvC +jrOMyಟ '{2}D}*J5b$dbF<vO^oZӃC!_/Z(lbB1T؄A`7yOEar8|ywGA\ a΄]c,CO{8f?x -Au תVS뉮~vJA6Nj-dJJO6\55듵ڟrQ+˾yƠ :HZ2Ț$U . 9@ ebu@HƠ=r8ZMk9 P$!qK?K7"-sb-@%LMQ&R>H1V`ڱ[ t_ȣҾ5>`JM;w޷;O_3]g8-qY)% >RzZoc`[VX]:ND5rvg}\4Qqc3 A{u,=X+p4' {BV `㏁'g+R`,ྟ0 +ƃUM@_/KDV:z 8W_΢w0Qrx * r<-!٨Z>Ijم5&[o8 c+5V#_7! nrP;όǡsW*=(b;f‹kC53h@8:-afwow މh-{Dby!1 Ѷ'#4VoưOL:7s43 ju|0>KpL^4zzRjtOS>X\m9~KP*ө1+Ny od$3IᣒI|!Sޢ;VGr>{m9I՘TȽbCϟk}V<WחR"/߃6.{%YJ}h Hs9#Wd'/fIWݸ5aufa-3-"ztMz?hzAޥrٯ 2H=XqHp[&q!Ojj3u*tg7mF{T9F1R+lD<8Űviؗ2M\ڜkdVw*Y @eoS,p.B0~t fN`r$?؅{h*./*X+B uqykxY:괱icX`Q&ވlsAn:/~抨wO*Ԗ"%9\x bLY-WOsXp} kڤv㋛XcgԭpK`eQ@@t!}y܍E_\㪔2<[F"e5Km(@aP1Wƞ&hh~+aWDcեU4[:H::תTIO_-p5P $ldԢIyVaa/k,c"}éI0'u xz*&U$\~O>ޛS;@Hbp @6>}Щ` Dҍ`9y&R@?Wf$lB:$:ߪ OzY卹nEXX5wIFk4^o;se9rNfI𸬄/rC=΋'s lUG쁸<0 (`={ E4wT/頻 o(UAЉɓJEČ0ψ܊ws\Z{,fgev=Ds.!yūˌ6"T `uHd=/CMf[x^+R(3fZ'H4;UC\4XtD>dy۸sAOąJؘM^; DGe3UU15hL_yMe ^|s;Zai>o.:',5savS൦j$$,"Z@e-g&vܕ8f`Y=aX6 B}Z=7i#4( I1&s6[,PCKR\zUww!r >ͣ=m! zOSW5c`e(3bh,+(7s'9U(ֹ !+(0HTjaz7jT| 4b@5bXvt='_϶D7f;WAJ5pbG +'q)" 7D3ܒ-S3;>gH-^wF$9cJq+R#>%Ze5Ta҇2jx]K.++k1"ČX"RӌS=!+U3a㭽$.w'y "?TZE1l'1ލ:MǘvQm7EdMc'yED@ogq[k*OoWeuP|\;ߺe`]UHP" iKnJYd5W=/n[^EiW(%4a^+S>&̡>Υ1BGJMʼSuVAZ@a?CqrTF]v>xIa?հz9oܨ.ٍz(2<ږxwR%߄XVwQ;L*\Q8r{Ualwc›d"xB\%0 i~528r|lÛ0 z[9 @Bhs6k v+䜮jZd^ojk "831~5BV$Xgveԉ[\zE/'BGIfY`l4Bސa'zʙNoA%Úy/`L;UX SUjҷH4'$4yX/x@6T54s J ;hl"NΟ2$"ux=1/VM@2vYMXrcS=ƦvZ߰nqlt)43 7B1sZA̸8Ga/7)/\L;c܍XV\5ٺ@6jjsҳKLB솒MXLmL8h l$Z'ztBP%Mx֜{hjQoln_N?F_WQhqaUM+0sbW*$`\fKT|wN8eѓ{qwdB噲ºﷱ*rҘ1vA 'H0< ff! 1y.Ĵ_$Թj4lh)V >|OafPgI90IIYp>"U-C1 SR)#R jZW翽IEBc'An^O ,7 =K (ƅs}{״;łiHW ^';~xH$o6?O|X<Ƈs^e:E6U_GVꈉ$I]BE]t`Z+`zUZwj{Ԩ }2P"7Ea S#݀YI_`7R2gN "F4#;  lrK _0R9"*gu_$q <}8f•KT ͮUbhM%T.<:qKBX3M-kƾψWua)LĸЗr')O?KecRib\rH])s6'FPh#\ֲS> - ([~LoWl$XN:> (5!tRWd$LU nZ;zD J#=gm :>~$O>mXTyb&OaUK;|rhmO{\CLGpy7ټLiYbv1*5;T/*ޥ*};{gd7.`ۡoJny'H.C테7(p_+|LNHW/!D9ν԰?67ϢZ<4uNnEDas9T[ĉR *M:`in88(8i g *7~Q(J zmBj?'#bIjP~%qE}$|ʩ$0P=f˚5+ ix03ʜmz `}pN?%V5Xk8GWؙS C|Α}ClqԘE3N#;Zptf'WQeW)$$ʲ^`DnUs GȄ C[Tr(Ml)df⒓qP JH:x(= m*-_G^1FGSۗ9K#sE>K)q:9&h O V`V.%ZeCq0CARVZ%to\H,Dp^ATȍک&qѦ,GGrX7=1Q1<9Ɵ>phFp4seui5X{e FJu{'WeYi9p B*$PK^A&[x,aeӅNllL)ä'M8O8]Qf7;O?(5Ri"Qe#~G̑fe܅E-g *8?V~%V tUo P:*Axx_ 3Hڟ.2Tro,^\I&kCTFYvwSOt[)0UF&r{<(kQ!pQ~QZrH@KIZN(دϢU2}zBf% c2X JNb&36L#(+9t <`dpV9W:g^U:u58: u|}6ǢOdD ٳS+9{e(H^4Fb6 +vP' p ><7wI|[ح/6T\۹՚uT;1g|;}F071M#hvxpf8~_|i0vYF-墹bk8#͎D\µc cվb%MsO/šb ݆=;|i'+wa̮ [k6B|\kB75~Z #&&,ꋱrQɲ<^2zH$ƒq&y@HJDz^y.(i6tvUY=h>T$ri9J7_eLCXQ+ ޚ&ʿD 'ٱA{Z,L;njD ~d !A=_OXR=`ˆO$ʢ!6LuhR4+1UD3`P;aYdYyJsO!5wtx7F{Md㙻ꍂ-9VuީLw}xm{wODGo3P1{L.x(y7: - GLŢ6 =npZΉnXPY 0@ex|#^31NUދg?t VK;;V:t5wwh_gv DjBmL4۠⬌b-yl45I>nxU?HZ ͛W7./G[Y{[r>h81!t\p5[PV戦^&mĀZe8ŖJ"' V(5tsFwKa)ዬ][GuX̠2Kx\yUO+9kF'vrу^qп&7 Hj[p&MƪG nH:nCɹYY wF.٤w[ _Dϳ׳$K_H zq:g/$m~N\5O |lJ~HR.KM2SuaWm`A!ˍp+déndF龇TMtNuߥ~(uݶeWĢ~*9^n94l\6q!aIjJ}8mj22b%Ct&aؼuNșެ0(9ygW,hԖZkђ$̶hn֡k1z_R(8$Xj  4O|:j|awmɔP':3kL7tpyCLa(`U !P!#p&,}!ؕgPN!# ǂ[0ZDB.Tɮr[>GQWU?`AQ~{<66W5ʤkiT/`Cu9ôJg]%5,Cf21JGXB\k\mƂ<̦} [EˆʴOC]]uSV>fe _GW+i w&FϹiۇa-D30;QXqşnw!)%RGdmZOrmKrg֒]Qa_rTNw[H$vqsG Q}f3gw)چAH K={Cϱ2#qd.fA2 sav+kBfWOIv~SKQiS?<2bklak"W)ϦstNQFQRk8teu.~,> "c{hjgٴz5Э.g5vY)й"=,`oR<z)NdfmS/c~(wUR֜jUCG.֗ʓ;dM-_nj٬ 5Mb՛%55r uf*%/a`,ċ$4w^q1tIHfrqh 8ODB$~Цr;]LRPpA*H qj2,3_4[O.*$zgoFv钩&_Э@O=%2A9!8J~֬#9_ǮhݤØOS&J `T4)H[Ryv|Pzg!]h@l;#+xSzj*A B08}huYv$ytϱ3>"ԑe9nU_> l9W:ИC~qyGŁjT]$L-!_YA)mVq EfLq{  VcMIO{l{狅p KـDܑW֫z,p:}#w `12Od[Rb)VUl@ Y^]yo4*`5QYnvZ+Q4?>yBDl#(j:Bf|.1-m U"opU. deecΗ9m.226CB PaZM7A4<gTCF}bpDVuUy2^5uYl,г$b0y}n] F[PL`}5YP:~pB%ko3y_ڇ`sV-9pPB| 4k#}g>3"+TuIJ-RW)7£"q:ƓJH`vcJ0d5:v9k``Z10;oe0lcܯIˤ~lK,E(6yXdPI6Ͱ&כFe&-5q&;x7OƶZ=\b g!ڙM&#L;9;蜑/12yp l*jajh3.B!G`#A3B]K;yGpu׽{r<U9nu\N}"$N V\4`\ֲYoj )=+ F懶`č⭺1c=H3 Qzq+tHIxO ^NxQHZ3CBˬyXJl'9K56_uUⅢnQMҏoRS06y8˜indA&1̡is|}! y 0s{׹,N~d#Wd0mbz/.ǭz5C|#{cx4I_J ԙ50POgY`mw.vV j-˓xY24߂Rk%|־ȱ A=lZtLBϻ8HRhV |mtZJ~] D1Hj=\^,S->~<:aC9`dJsH?>C!oQ"?KcM4H} c6wYܢա^P |>Vk#2'"薧*CXg~ũo~s#Ϸ:?t'*Ӕ |MEv+s"c'5,h/Y^ OPRhn^%rU|74J3+Zvw1#ly"{w ;`5O2hnʙJg.F-%tfv?p"_aQ&{EL[8-H̠K[=Nglsv*$́ 7 cVh9e띴Kslo{!z/Hag'Te$H9DC=z'ھ_Y}DvtN ~($$ljcSOqPZ%qx\WZ+.^x@&x*k{ j?)/ Q +*`Lfp A@+&[!Lн BjлZ>U!jFFQvЦE,tW!ؼ RJ(/vZ4 予5`lGЁ㟥w% 5߼BJ|)Myx^\߲"$RՍwعC^fb$<xIiv*%iMCXrwzOX1F#(ID._vw*J*jy]|H|<mm!e/M*Y_ e'F`v]SOsVy@P,tx9^gcL |lR^{I 5J*T,W-@g}O@t`4EOr@ʼnQ!;Lm7`4uD~ЂaPULx X0 [" Wqȴ Dn\ǃZ"IhL{̈!d? qS {0bEGkNlGmJ4Q&Ȱ3=,3>%"[5V AҹHW\>e4LyofT鏑շ>L< rWGg:!*oM=NՊDuQ4D?l/2+&*1:YqZ EVdYtdJ->nE}zԐGJCQܾ*֮'?N) Lvʚ(@ դD,kPa`O4n:T3J .hFiќqӕs>T:>x<@v2m#yAg>TF?{MVpdJXۼf49' n)B Z1Nޕ r4rcr ";Kάח wp8p*7+%!z|=D".vx3<4έG!ǻ~#7eg1ln֕מc]`4a,/ (5|AZLmIǥh'yfHk#şY7{yhs!Ն| a4F6d5k #F%~o-&2j0w +$)C&Wrk<2w_?dJ+u+mHrQޖzg/ 'IPu=|FS3͏RziD[jz֪U$ϖ(<[-Ns&YeՌd2N0ǥV;nvuV)ȗʪsxPb|g<"=J$)W|14x[ @ThejUU (jތdU'HʾC" N,gEtFZnTcCDE-q\rFTSmNGw~acůl(6w=[PUB vۢ=w0ԕm/saʗF>Ya䔫֤qu*b]{l+ĝ7lL4rf/ɂU)o@ŎN(g-DU^>{|^JL v+bQ)GH ʬC~(/ *8:_d[':A렁.g~8N.`N~ࢵ׽٨^OCE+mD@Aa=2rL}e?0'g[aT 'DLނ.ƹ+T[[V>-);t6ی*y.uZeE7H'il[^'gGgB5$b(.%{]A-`Nedy5oӿyƃ>I*5ʒͣ ۘgL;5lvFX³q1"ntU&dPoL:X8RDVL~=Ơ_v:HTj8oP&wDc|H'V< ja#Rdxz&1!`Uv^ߞX"R@'M^"RZ4=DHxS̈{o{֐=",Y֧}I KOC11noUȆQXR/_ wSHF ԛM.*nj-lW9L@`|`9gIK-Al|>Mh-j>Ptê7af D::\]ȇ(pbUTp9/M ^/~;b]Ҡ!%ΉIn tvI|oD?`6 <(0?TCDn%Lp.>&>dB-ߢm[lw,wlͻNGRc) b^7;.e:#N#x ;Xo8bt6&1gI7\Nkmiv=gD*8p/D/ CvLqGrL}Jh5/BD콻 z]JILa')OA_y8| k r`\(*nKj-70$]1#ZXML!,gwv7s |فvf$wA!DY~_G{;iR<-G)6wHئk l/-_(aiwVn|E˅h)>zL}18ub\Nsb/佫4AJ]mx:u~ځ! KիuI{zR1 VV`xgDE!MHYVg94$o*S(wjIleBӧ+/Qk71(8Fx^%<1TfTBA>]@Ʌu0Z(Jspi^"^FۙYJg|qu3G0a~Wa\ๅ#4xqQXđW8o)Euq!Wpg&̒3ԓs(\0RkC֤\0Wʧn׸ Qܐ-g߆鮕*y?щ9֭ʂќ,Rӵh=ر|.&\wT. V//9RK0ia(8(/TgGڱvVÔ/mJxV(6ۂdヌby6?>Z K1K:)ّyV.cǫhK%%fNHj\2΋9+\Y{`7.0M#[ qiV񾰘 c AUIXȬ$2f7o<~>ۛ:Ux-[Žڢcm03L{I_dS9('Bqh-Z9_Ld Dr$hm잝EEμ(Hh? 0W#df1o)ɿ&Ⱥ<W&gsjWf(P?]₇TQL1:<7>xTb'$p4rdxiN3_5$Y&!S!NVJuvyg{ϓFǚ$̔Z3TɒIφ/xHf|ϭ>{<xp%[l@]B]o[݋L/6]߃za6c7'$-OUm (@#a_"53or Z85a^,E2Oc_g#JfOVw2(u[R*,-и)r c[R BEC{{Ei6y]pi|"^%W/mibJ0)fE]b чaIJ( ShZxwi.Or8U_vU8v#@aח9_E!,FI435""0t줁'~_ٛKG$IS|nKSZ\BG_=M Ú$lia`Z\'w\?~s,Tfdh8(H+V(!TTD9{QOB8Gmj9-4Do\ȃhX8d4^K&i#{{of):/?lDbi@X9z}0w吻z?I5]$CY2A,JHhγFW s tQ )[?ةNHGwiR}rpltfVyJ=i{3 |PjDKGFm"xbo0'3$K# `58b[#HP~MsS>Ǐ ׹yj9+ޭ# Ej?X:XΌ.̤'k  SЧGcF@+ fm} x6tɀ GYMoWdwRQf0_G|T%AXðHzg RD0fcͦ4 2n3Gpd̑^73!:bg'sN)wyA-<,Edv({R Jc^@m}j k5xpg˗Cu :l*T3 GЇzȵDr`CxßgT+Oa*Bv `l܀Nި1ߠ pN`KV~unl&na]f^ ?#DdrjT)!i.g șo .L@Q*xm%GRNp^ZU) [i+-ԒkUe?/VN8-^A_(Sms@EK81,~8/bO~- I4vyL6r H.@iNB; *0 ng"mZ8mv~6939E8F4_RCh*)Rfds-5Nb$CʾDvصaN&ȟ*mB h nVZ-QNApW^Z#vi㮤0t9 ]#?#2|pHߪDl֟OߤqC!z_ ΰM?ib)#Y}K,R dT@~wzN#O'ryTq OֿRL݀4aR6r؍F<{"QuI `ܤIr]Z/ӸC"6gAHk)auB9CNEىλގSSb5>c^Jɛ, 섧υל *ZzW`ҡlT aaRBʨnK@¼d7S7ZPG3s[0hEp$?lj ,)э;gf PPBU) NڜN kcb%?cQc CFb5_RZiy]ǎif6*uGEINJ6{oPdMΗ -Vk뎐/(Y˟4OsA.H36NÚ9 羴&qz E9s( H/m{j{$o*t0S F{8rڲ~8,<LKλF`),Evyʟ`%-8Ń L3a||-*\f҆D/OQ"([F Ք|ȉ KYIL/A(p#A.%a`P|u*5&KţP7 ]Kw S,+^Wy)HP& c⃘ɟ[])|j4/&H{O.e`ypJ;`290 c"s ?IY%oVy o>װܺ1kJ-)[f3}Gq벘#q&ګT-J|moaMv/wmԯkŐ[5̩2(N3>qKA º1JC\>`[0_(HLG[]G,دx,~r\#gB.Lc-x%yRJvQ:B naTrT%/? #r<}/ m`s媭~QdŠ$@xyzkSzx%*6QyZ}~Z̳$m?D)+jsgxIU T1z̎mSCNtD1wa,Δx|+ I~hj1QYj#Wl@B.qYJp<  PjXq/AACn.Y,H[ɁqP>:.j]3$JX;1\I `d6Nwcޡ(l"wZM,ٖmQ;/h~n}=spqTm4\L'WFbauX½& J1Tp`;*P @~G$.@_?N=JMj9(^5o&m&`_\z ax~$.Cxn'Ko y`XΏW U`i]ԕL@D2ӐnmMI5\{(7.w:Y`V_HvVyځdŒ`Bgpc*;O,Ж0+ʽ[oZ~n2jQeAz0&c$ǷS%Ќ rH/ ݶ'A3z.z.V~jHHXLuΚ<4l@s0NPEy=|d]mLއWm&!{.PꎀwX^ ȯDgE[*RE/\{9Վ)Pcu,p\%22/EjcU+A~sB8:;h;9RE_9YU|= /Bs~_ d ƨ[3]Ca㛷a8oA: u6(+YV/)O[Ĉ[M 7Dо N_0"4xrUSZ$]]Kt&D~OS^>2Hl8.O!X&ӮBa *, ^Sp6xe/MgS9oS`0U/\?T8,,[_NАgĜu6FTlAf' <8xjtV`kzIaY sPjt)ܫciɢTe>2on]'܊'xjr&4kZBjrvO'3<M,sҸMtH\]qM<2Ӏ}l>eǡk7ǖp ľR/vX쾔c E\ mC\P$AV.e4߾f/CQApGBzN\FM=Țms"pؾg9B:>EbM=arҟ=mxuGbg$Q`7$o oBm޼Q"65QAZ,Yy*ȂIcco @]u~cK$˚kC )Pնm02ԇLl}s4!:6bT0]Nm}Xy" ]k$AawVM ~?!0jz5qG:hga+(l)'YC#i뭏rDǍN%]!\AЎ T3A'SMvβ^/y- /D/H0%8A-#fqd8;zR=.PM3X[h:U;{wA5ߣe|@D9. v\~\*K g9qwjcy -Q Jǒ(TKwWCuY\m%rn-{c1(:"~zNgYA*gv"3LڐL>JYlh 1UˋCɶJP}j1<ݞo_F~ҫ. kb>< {3r<C 743ٛ7* B_oirx$r|./MX.|eX@cn6rCtN`=^IR]CZu¨SW8R@ ([FFr-kUpGr DEd GJoCMy]'Y"  &u2<R1D#87j 'UC2b)g2F[),*㟛Ix|=O-֗8`hA=?**ZX!+9/TBx _,-o).`z`uf6!#yol2+CSaD)f2~d># vx܎TEFmFˊBH!뱢I06ql0bIc+~h17/ 5f ΅HE ؉%$0¿":򜵞[)G髒rm.}+!vB(ʥ)?'2GBHnſi!G]CQ khB/iS/ߖyk sP HDZ{|o|W'X,$<2 ݙ*Jϸ3fjtO`–s* ަz(rdkzw$b%Jui/88Qsxbj1,cAo=e:vSS{^P!إ=-퀅%N4˘4wKDV(#auN[m›ߡTKā0H}SqɬƄ6f7K*@f<1 f p +3X#\O}E80 -y49> 2KP<߳}]1W ݻ,o i76{U`*&[x%H;% шL"!Ea,.*<=HeAH"gui#`=6wz4%⒱E\GJ'uH8Lڮfx*n-^/&[Jv!5O*Q{ !;IUau J-.l]B-PCzxLӨUph9P*~CU\+)'&zHC%[0a+VOeFt ?j:fb`t2 E҂ɗ)f::Hoy'v EHn0aYaI۠3gԧ|Kwj AS<$Xbk+T.ꝇC\%z'$p&.!&VאOl$_[.LT6IE6nQ$Y1Ꝉg5jWnCBJm2"lĭ}6ֿQqWٺKQHлxTS}#GSS$Sʓe%Y_Zo6,.2֕BG6 bS5V6ZZ"Él@a54d?"8.MK+W[;)ށ}lp9| _>6XGRٙ" Lq+X.w݇v !yȱOJׯR! N4Tv9 (&7L+xk27C=l*ģw}~ *r69p܌)us2C)\ىTcsĢ1U)L$On _,co;X€ t؞C$ٰHS:ӵXv/6KY*Ewɒ3Gx_6@TQr6o'DuŐ;O$„lz? Ѧ%ć-"W!远Խ?@l>:-<:x[kA"^H}FԆ湿s(h)h3Ь%kpEꅋ)_^*e uT| O(T\y94A>mPk+\{;@F6J`FXXp*PQ7Zg\0ɣZj.0r_SkC]O @[$Anv׺)ѕuְF*&Cs3vY(EZg3Ҋ3>IihPӥ|T+ Lp $u۱tXYݵ:[|0m |,8FAˋ;1-<N^J.{@AQErM, J#Hu>G,!,agQFZTAoHaKZ:>9 V@! D[ 0-؝['n!գћOy<;1+I$SsU+!,R%E 94 HU'q<ߌ,̧heEg@7;Kq8I=^4w҄K5U:zK_ōt?O<\x/_y_vy~\n!EBUO+fb?ɭ:1DHR s9`D$U#hE\5g URY"rƅ!}pKjIyʨT@ n9:SȪƺ/!EڇbxT0'%ܕ$U#&@f ?+Aepnj'KkVD d>" Ө98nʶ Bqdо.8b{K(0ĆcV0] zp[Q쓠ǵ} k*0kF]ރ7+37_g/|# 9}ߞfoo|,譈{G֥jG;v!pzə: Y_ͷ,x??/6 X8?07p)q> kbbvﳅYS]%(f[r\#4^.}w5܊걌MHcG헹]޾|ljp,wr0Rޞ%Hghj6ȳuZz% o>ĥgT}œy ݝ?1{w*8G㊽MЂ" BƼ;D3B1F ak`HB. 3|IO}9Gp/׋gN[% R|{+p\h!|C}l_0+_*PX^8Qt@ɾJ!S&cPm)SO~P_|QD%,;Pn61#,cj.t'| Wh OʒU{Ͳ_D$VK׆x%DNyYU攧S4PњE!{Gx12:Z|HXzbؽF6 2CcƆEL"wL)0X$[_iK!RQok$t)_Ό*|!?˲H:j}z 억sn9rxDC1W(dF!K/7hP;jPkDgB^mt$B0kNC1J%=^g!>}dFۣ}I!O|Iͱ$UÙY8UV[n} 0Ԉt2` ~a*0)3FB{KȚT$8yHUg4N8ޱ߳ d^w +m Ltt1)8LI5pE-t3q3G8:{ /vγC呒G5<ID[iDtb^eöG#H6&ahLk)UQfյ!6,axs GFPq3(Eꌻk.0[Hw Uj1T`IY$h*e|PM)3͒gzL.C"y ˍJQ u`p\4w\ d.}M^/?e65;O`6 fiL]4̻5֮*,Rqpg<Rj*5ݑ.pƧd6dfaLI׽M-^%aX5l21HlOaA?v]Ks͇\lC}:|c]^Yז9#o71%29@KWI0H0#eċݷ (vrL!dTh&j07Rhۊt@0"LkMI𲫙M%g$!ߜ˒%_̾_+b?\Xsh` E)zV*A8Nr ΢-+P uU}4:g(f&t EaJY5dæIB^2|&3E`$E:uF3;fEw^;z5=RN*L6[5JS,a]TqW7ÀaE/ePp3p@ WJ? z6 Ee图JE#rTp0yeQxsWrm-̈́ :iWyo|S@>N0 8R.E͎5tq,pE|=,7bB"){TЅVR ]O*͢fC"œ429(-9hŕ/!nD"(Ybk-V# (m :ee:$@'*?t  CgPJ>%\/ pC}}HalY2^LnOwL-pS( ye2d"uRx[FZnejUdp!\.%rz".AOoh0ﵴyÙ %b_{[ f~1Q;(!o*dMs#ի"#ç^hI ԶƼ#F$U (ƂhQ)J:%2 pr*Gs'+L}]QzD)2GWz φsY\9Xf)68VnU(L 'ZH8FAά8ƙ ˴sT987)97{[,XT7q;7T3tK+"j&J`?:g/3 h Z҇;(3!t1i?| CQ!BĨRs 󨤂Ijw=X^е8:S4Yas`Ke tMYTd2S b"L+koHYK˗!/]Av`>S*) DjP.uԋt#KXqRV#L3hKgDΟᰉΟQQ0kGc^39QT̆fN[>pcy 5ޔ8SE(agNYq2A8hG]z,PyǜdzK<2\= p sն zRL ~4ֆ jֲ0zL3p؟B2N-_@Wζv۪?K*ȷ)/&'*Wcm6\Qa [tvB+AX@˱4^d=zS,#- ͂&Ӟb`bb\Zl8 %=DD/qmazg]P(n5kCB rlTUB6 ͧyOz nD)>"'Tp"׫kl? 9^=,ii QjVo)R"&DxGFgcg(|+U@OZG1ߨI}ľ>Xzs$8k\1~u֢i%v4GկXr󂛄As"nn9 7^3qڹ0hOpc⏯4ʬ,< /aTض1s_l7&kf5bдQZ_kpiHꗊcކu`'9H=pTdIIsn"}]TYml𕕉OeX|g 'j0; `Tǘ=З+qh!T!qlE 97"*yI˪p}hu4,\I.x `.fÉ~Qd06/券M&DG\$ٵ%3 Dr=o7`Jj*E71{Gͦ3H|@UyY .>|{vz< ~YbkWqSl?B&C{w+W$'1ybǷHX![, )F\Y+ "L3E? 2H $a$ ̻y5bz5垸;ؔPxN ޔ,X:SȧU!FCά 0#zuHV]9PeвX$:2C5}j^ )hN3c YK8SmEIvR a/Հtq7{Ӿ ‹H垩4>``?Jn`C(QI!zyHIC-:zqU\6IqQ3?xQh  .r\mϪ'ζ7G9>G־̈́ $8/1 N f|,A<'˓xn1kk V z9:4%w{4aW %M0G|&wFv VIjdL׾|C~o>B@18\"# ǎcDZ<4XT=޳}(>r24~E@l''&*?(UD%dVɡ#lg #u2ΪRl%sEfŵ_znD0 M9->SCyw54lIr׶Y$* V_$;K%\@WH[@xadtra@f c_v,*ݻta2%I oz'[oCU ;XMV,#-hFF }0(k8`D4͠BCdC>RPoϻߖg{Su"I/" @>I)T3/0d-YuۄZ_eIuʅs* x9ƛu< kKbOѝ?t`Oatj*mUVtabi]-BT#"%7-lc\*ZسtC]O5pڞzEdJp6m"O2I}bUw\BER$K5 .1q-+MP5Ŷ@{r^ݟxM<d ?7!@}nPS iVˁ¤75kq3?w*ZzW #4"S43g =pWq[iPi!3,lX2d C(f;>(Fp7eu}<rٙ/3S<5QIϒ-ni8jv[S [@X/P_Fٹk֐b Rwmr o4^׆LEJ->YV[/cB &ۥ۬sO Y~ylBFNÅavܨ,jicCo͕֜w/dZdv#Os+Sr" CCۚ&\4?[" K̠ޟS%\Ȝ y `$x J[毙;30NgZ|Rߴe _"şE KlxAg 'z9w^$5N *m8-jN"l^D^p.X[PM(t9tWZL>5ϮzlhCYDz (ta5HkȧEW۵ZocL\cd\i4+OzhQNKq.SP ba_ݮ IrrzKɎn<FӶFcv} De8rxP3v{\N?TygNs]i)9⿌IY\>b~!?DwY?24aȴ`)Eehi ^;T-O &y[oC+PBI~ڮgVnV~֫lQ}1c Cx 0b'd'\ޫ^P J iy'_+m!> I.]Y|,oPJό;a:sR_Roq}U0fe" DIpng djm8HF)4ǒyA~n"&,(@Gڊ'1cA0IO=ӐhUéKRCo2(~E3Q ;V=(QYi⻲ f)%Oun>y}h&ʦs~U@Ý jK~(zvt|H!Z/]5*JƴȝH_lr?~^ѭ=9]؋bUy礪u~8@\(֩<rn]*Q-XSX xi9XʾƲ')hΝo#[3ٗ}߲@QMvXqe5d0l%~{Uo bqmrT' zp,QRWca`ll4/`*û鷶۷FR' | ѻ#EǸ_-&iN7votx 4b .q;nR̢ށrd|`z^@k(2nUBVB; )LU;َX }L@l* _&Sa6~ Gxyb,M0.2h[FvPRgLKvܭ4!Un[ zsxekAϜd3$+>X:<&15h-ȂnPP{CO/%zf\!N| ̵Uu>Hb .#G.Ř5 QngLq.v5xeCno z/a pdSȌ1YqaB 7ʃ\`k>W"]dPTn C $(WۆӀr0M 'jnl쏈`Zū2HJQCA 8ҼQلk7 qikԮ;5$sn^GMoW_>t1zvJsᜁ, :<ӆIY~ mkԴt0?lB2 Xz' *DGR%_bdb&eeMP+)&oOgY<9P ghXaջhDfW#<=9MU&b:B\#N,i$zyCY:U;lrD} ; c'C!d+ָ8Eߤ׳:)@^^T3W~;`OxaH;@bRa$^VvZJǡj.#{Q}oPӚD7ΉSF6RL1~@}fI.*]PZ(xv ~ID{iM:||hК 64":EZ{Isg[@%Thaƛ9Z©KАUָ2 /6p,PMP۲Ro+:O}DP R܏;@anس>TFsUܞP2ǵNa-%l\˕-ty=襣G$ft8fQ6C9u;wT3,Y]5SiѢSpY.S)wJ~ ~4\BȑZ(Վހ!5}[߿Ys{I ؄qY᷹.රt_e[/eSVi5Nh߿J5ךK-jE!\+97uwJi#Hb9#Mj19[Y<JA~+3q2q[Cl}8 n%"2{?qC7?lrd4 BUXK`Ͽ& ]bCZtӠ[ pːH|}+E\};z,Cx@b~=|1gUFJ_R3)Kd43tm"x{AP/}+m(ĺQ]7e h^vK@l@8ߒx",Cg(5 e㱴q'Ez)+( aM5K^5j VY{Cl]t`ڟ{n^fEUM78JSND$Xˁn}+E;{r^m.O ޥ-=V ҇^%o񧒅0%4K0N2V}IъuXA%E8G:4{bDQ"NIgҽ 2]O)GW׹NXtbgXr Q3/y)VBSPg-H|ҟ1Brb,f lq4(78osX|v6r!÷Qmlj,gqⵇǕ- ib1Thh;ܵ^U? @غl_z>VMR`) EѲFF(:b~}5V5;sFk@cρ`Ȏ!Z-<\ K"^^>~{ӚI8h? m 4ݥvAq{G\QE$\O`}n$t׉˗(OR) - ((2 FI 63ޱUL""Iqݕ#@T|b?:.rHG}M*u5R^|L*r;cfk(U %zh.],IҎ#8 i-h%k%>2(ʿ]rLĖ@;_:n~^E(9* LKQ(QnQYF|(SO m///6l289 =Mxr׳^pJ NgR8 ZOG}ofO$8C$wt#;np`'ufVo陗D:P K4MB dhJaaܑqy>hDE]_u()R)31bgZ'|:`Qi?Ұ|6s@ZH!/FBu aX[z 2JVA (sg 9)/Mk qV4ˁesXJݡ&*+e* #g$zH$i˗݂'7y烒>B T&:PQtԮI\I"@6Ew ~$jWb5wI>S ynRrBs6+ߔ%0Pa`qHf} fvYumOq,&7Wk` bTް&1 ߾_W[5!̆51y6(䍤@g#^-BqR.+I贵Pdžƒ _(qp3M-I!EůmǞE-nQԩ 'b}E2?Bpkbjp\yxg/joT D~6 ~I>-94Q6%њ!OXqrRV.8Bݪ:f7σ9@;lD1 XIj)|h廒#fdA7-@C 3Ffp7e6rG皹cj{k4$gy.:Q3Zf2ПLx]i5PHeV8IN*{~H 3d7DrdaˁhtD7K Tc?]n <$8'7WΊrU>@N JjYF!Q\<1PLIcCKpCԊu~qO,",hXm'3ʀE3TDJ/hXՙ&lX02Coegz5Z6VldǪ,@4!3-M1;{fZgFVCx󣋳O&{G=  m0r͍wuUurʝ5H n Y'kE{ D/~G EDXT dP_;Lsv X[;WAS9kWFF%`*Th#s]EΙk%Ϊkν4`Be栙MWߛݹG;ʟDs/< ZBfs~i>ic,H9xB۩PV X|`\}z (,2A>pIz(ZQ ?h?;nWLQz(i@d&š2ͱm]8{I=vdXJJAƤd76mSKK@j8&³ PfI0=d5r.C>.A-\{ǵ$r1x^& n} *=񳎘֧^13>pL4/((Cy;p8|S?e̲tė,>Q>_s¼6Y`}⦗khϗYxhaпJӱst7 73 [+b= HԎجp2^|^@ f!]͖ )[U#&'3_f?†d-rJ49}FK7d~1KyŤ!dԕkᓹ,-U"pg!$7j=d+= #c:(!ac(4$,ّoVCP[0g]T2[uLApQTt[猡CmTCbg3-*.+ُA=Kqe9:ʪnSTGj|I@rmIk38&Dը=^U>W=RIen;O+sUgkg9pjω0$Itי'/P{aZUۼڝ*<򝜑;pj˙%S~~1]zMӽ?KqNnߺd.EU=[Zs|p{:Q n1 Rc!?j=E=a *Q -I-^d LH;G 2\,F=4겕e[Y ZqͺEcǰh, ziSjVD2[]l}B*]#36/0b>-2*IVFn==n{Q~[髑bgU8'S*d 8a {k!*c^~Q8eUJ@pd _*NGxyi b<62ͣ L,akF >N)9uG6A;FġwӷG gə#HU_-Ix<\V{i-Ί {7.gMz/ZrdT{#>C}`旝2YIhW!5)L, xb_=V4riTlzީm"/aRS?jkk^,eS7ki< Be D!Sgr TH{qS)p)^XB̹8g>R@_6Mw97PSזɆ iI涐r P،I\e0cGf;g{$-'í¦z $% .‹2[tئϙg*E|~<1K7ksaiHx KU hYtNSe 0CO/vXe'⃫uHyk8LeXhe ;gu?۩ST[ل N@*WfA{Z72ӿ\%%J1B ˗xO10v+J KJLGg/u5AL5.H'/*!}ZDt0y6( g{$Kʵ%l+洎)h#R:dJCUkÒ{IL%j@@~s3$)"ߚ'dJI.a4&!鮲_(0ZgK K'7w0>넇QettfU؉e]>.E8|jG@u-ZuWըxoKō@^Q#)^=\ۈ|uut԰=1.!a6B @LӢ!HC={/10 V_K v*W' .>HeY# <=\0c tn2|b)6IqL:m,jY*iAʪRhih,iE@g(.4Hbgo7DfE!dcZWBzm7Q/rH'ȐJ_T\C|2y!1UHM5ʔG"L#aƎJϗF,pcLAt38GNnxvZ~ 5t7Ӧܐ\.k7EC+)cӿ]kzif6? r6cTٽ`aY},ԾMrCty=h\SU䎊v`xb}vp=}2 Q.6ó<9]U7_ED%JKC1cY+&{ |Ph[|s+G(`(C ild!Uڗ 29yKw2v= Q[X` F3yr4Fp҈o2IE n:"ecK0(vL T~@}MM4<,pe/ SKu,dc~}Kg b 쯯[@m-Vd'oV-7ĥiesG(rq1ffQޒwR|2M^<$'lXSԇUܤASi;:C<ZW T ځ*қ,LrvaXW-np;uLܝ!~؂}DvVG6/) !.3MOUJ\f}Q&(􃻄4 ]B *Sc_/O1i欖bYw7Gp~q.̮)Oj&RߌQ&_z`NGf4z`O86: ָVw_hWKf#:D׹ f[b=&o81v G\ Qw4;5y]P "A|K[ {C}z|cc C-ٖS?Ҵ-ݔe6E-H9Z1ƻf0lR"3(w&ȣKeڄ쐐QaV_Qwȝb_#Ui"S׉iT"5MM$[b< bhFo}2i)'A68{[AG _i2~[Tyei-`_σh*Edu.@5m;jo  F;*&{ ǝ!t@w AOBKmCo9=[Qݹ íE \"Bqi3c ğoSAtfVJ;h݁;bytha|7\ Oəbj鰳̄ ٰb#֮hGz4/~;vDuqL+ 2ڷ0d"l{_V+/}_k<ˆk\^YǏĕcѮViI3 J<It@gᦌ4矦%{;ii} \NQ#y\|ByNgƠvNytOT?1- 2PM~g[} _ ќ[ t6r}L5B^B(NoldJAʥۅɓ}TGH(PL{DX91mvj|ٸu,-dK]p[T/xQymVs' dcdP.Ե j8~Y>jX+5WC,lbFLo ci!8$ B. I^͐Ir,}G\a"B T+dtSu38IJo4~P2恬 "^kw l; -{۪$klͣ%Nz]MTL*gUS4A=uh`݋ V؈a nw{@cĎ.$a"Rq jC? f+0lGVsY#gu'Bl<3:/hZ'[G^i Xf~1!lF;y!VWwZPQXۨP,d/FӮi5 ܔCsjNi֮g;LNr;cA XHR2@ᚸoaѐ| c:cZlJ:(cIY mC iLtO:c%?]%M!!~@b}RH] 8xoilR@շ7s(T6 q:|[ fo.@Qs+ 'o^+Fy/g'e I*$-k]ʈMKzBX#}+WƒGEca Z`&Vv+ZԑN< Yz̲ҨjzMc5!?%9o ^%zxXY S~-N<*XNҪ@KO ļ}ݗ{SLE &?oP+i0_<&ГM&aN7ZUxd$oҴ2 1j& Wvz9z`C O8($rIp{Y^GVa忆w-225 }1c=-}dqsRs;/Y33^ɿ"r}zUS 6GŜ>T!/=Q 34O6_'Cd Dj4cѭXz/X.]Fж1oY>eF/aWLQiNeaUQCQBVio$0KK!tHF$W=!:YZK_%/Y7R݋ap7!"5Wqż;jc)+X >/pqZIHѿhB~\6TqjNs&u~z$`v+^ &05s:Oj@ pU7ُXDjо3 &5 2lja>V#a^uid:D)9/\^sGe)cHސ NDU=^nL=Px3唤@EiM[{fkIBuj8=E^^t963#_TWW|կc?$>kf߼cN;lB4kc3K% *ctPkZ٩b'C 'ZYoYľݼ`gg yGK3֡/ۙX*W}̥QQI{UVbU(DZU'L àďdHI P'6,A랈 C08m_OKռXm:u;- 6X*nakk(2ޏLGMU{K s׭eߓro|-5<2}bpW@*Y? w̹fS̺ܣ-QAdvmSPiI"Fʾ!T$/RM[-"cK\q*RukE TzE"kiŨ OkWѩN!H:-mW^ғ` #&_T9NoFRʒNmx80"s!6շ>=y} H΂]m]ɬ{ F;L9_;xoA\`QR='HZDF(il{U !(ouK;r@JsYgN?J3a/O6 n;l?<1xX* $ceN,va]ޒ..XzyOm7穇M{cDr^r'D_{Z=?_Sk?O _Dn9`(q%*;[3sahMFFUoL" 0)ݱaF9ԳxG<)\=[oK[Ye[ބ }2?:E<z:i11.Yp=ʴ{I |ϫckۻb8"<41Ult%\o;gh,NNo:JIҞ'$ (B3X_ؚ5I>*;)-^ivG;ht]Sp1S@E,Nެ!zymp}YC aAWhƳ{DEogU ~\ÿX/pI@IIeQу<{aQC&nEҥ؞r"shE8|h{3jC ļ`z=6 5:@_!b>+.p:䮟;u9tƃF`c aD"f:ߧwCsxIUUZmݡ'F_=T)̌\!6lT;qװń%4 p74)DI /xYWL)ʉOλvk̦2 NpѺ~z/xjCY%ϴV[ 'ӻ|0>6&p[¨j /lσۛzXq/(0Qn&zQr5Cs 䣒tasT Ʈ-dAH Ʌ'caKyIpQGE6= ٻvP^Qɯm~Vx)_P+tfˣhd=\&2+mgGXVD b3j䒧Բν1<= ^=U#'쬧=H~PWeeߦ 1U~0Q Q5L'-ER֐PQe"sP4|dy[Jt'?6E,LEgVj1vyuRK72 H)8tvqM}64~ S#<<+Uͪd-[smhHB|,S@iJXrt-ZfV -u2Cd94_4 .VVZ']V8=`AZUK©έ]JK4dnjzbUN$ -bmwiQm<trAD{uyh#W0ٺ*~vb xp#'d$ɸ$'pZO[+ʨ٥l#ˣBMQyoDS%rRVT>8‘=+YyC$BU~!hm9. ""db@ (@m̙ΰ q{CHY0=ݟFfGr?EGyOG-LhSKyi'<&ό \bh@ Y:Va\W2R?/r}=\m>$褊D+w"MjzUVVP3^|ʤ$QOR.uvZ/g~GBuPbrL>J.(S_Y,BtbmswVjcQ5F࿍Tw#E (t-^2caw/"~t9Ivŭn ?;u.{)oi0.ie}๸4&#-'rw!-f!>ǼSG %3fϗ\ϖ]65%Y`u2eB Fv S ПBB\F*`XK&QJt!L^>b A@e&B_\N2ϕݶ uOf blKdRbEFC˻ͳW[`yyFgI*+XH.(5no5e b'Q>OǒZsqҦ՘ ֨PkqP`ډJ5rʖ{jz@}VӉ &p~ ەG%J[dL.2uڙK^i?;9Q-ؑr]?K< 4G[T+v籚P {˜)˥Jϊp8& 'aA}Ñb)R|,tUA]8g= ^]a4<e>~m/Gi2ź%*ɞ1 c!(2sʜs"HEX\G|A:eAq7@nc)7b s[E5WX{Du'tv/q[g-_7Ch!Ȣ,93,PwI0 M&L%zf~y1K2yK ;}] Vh۸kԫd+ ޠb,`X9PrpI0Чg,YO[%kq3cp"L\2 ^Rҥi 2@iI@7?3NS\/V%Qk^Ǽ#=,雑0 lm!:(2NiC$x{gߝrAThꔽ氌`F.p.3U!#CIa<[ G f?+xuQ4Cv wɽPO*)X5˼^@@z~ϱwHm[p)eԞ a$ʫ%׳֕JC˰ *}?|jDKg=1Y|E0'BKBwdf>79M6 JrBEm}1f1pDiOf__ޝ9_/NrdU2/B;d?u =5,LζK&DfbUix ,|9) #*q`Oc0Rq_ )? X$=N?XEf8`R,nf?{_N],ݠ\y]IqkBV1zk5=Z(`~C x ֯eZ4|'kj(cb{J<NuÈ\[1˶#<8mk2Ud(x,<ݴ(c=fH6eIŖfٗn{^$/ "4{ %Ie3&ԋ x 'y}o%Tv !|kMM>(_a,50hos~6j|a3ZNEѰ{S/7׆frgE]A!goEd9| t eG% Zl r+*Ĺs-ͱ1"T~X 0rZ0u#XDa(>̈́kW-&{;zrjp=#褕ZP##zqW6;N~7Ctߎ[S_hXrC#hS\tT6>TN̤+qKqId:0<,h-zW@EƬ4&8:VI01 SɃ 8P|5-߉.o+^zG YOO52,W11A݇<E@qOB..NDǴQ@IAn >B N5:Vi$LFq%N]?j]G JD([k`C&HKhe͟hL}e".5t{8\T=ET鄝|" Gb6dQbН~ԇ-"llcVmb^xN<ӱΚ$, OB T}Pq|Cle Cð8':]̔{ Sn; ΒFUؔDw9 ϜAyJl/v?ha%!olٷr/zwmdu/hI3(h;#"Er(f5Q',YT=l!ݼ@z\(ǝ-kh]dn ;er6o%|]Etޔͦcw#xE:=9UbPY&|fza, *u^iѿ*D.BUBGh{  #xA6*RA"`iY; U~~xNְWKXuixeTzxv4KF tY;si=N>C0xҋk'@ s$6J Hl\2=< 5"֧!DKe8 $XBêAbr]Pkx-<<ۊR/y9X;u[lETg>DNSS12!)/a.XBo1YĔ`":ԝ%w fvQ;/Ox gEϡCL<vũu{v,3$ĕ!&oj$m\)̎lsg:[xx4һ^BfDҎ|>-fȌJP[m(Tf0{u:#LL~03Mj5zK6'osa?\pG@>p-HyWe_%̹$&G( QVǦRmꝉ(VjBlX71RŦHF~Ip}2_ǰ+5+18kbj*!AߞƞS@SLtMx2򐅀B`…#uWޘfX໪}ͮ{;SJ+]VSnpmd1ǥ)?BQRF5Kjm/zߴc5^nODgONb1'52iDDGg\ؠDۋU nqD76nUX5E[Y+Kznk/#CڞQ hgom=2h볝Sq2+}8A4*yi0N cÂ$P^%KTa O5rHǂb#VHDΓLLNa lCn׽B܌yfr%gcle@0\jY/T䃸%7|;j~*#TFP@})Sxk u W[ E:P5Z;CsδBy Y!BHZ_Zuٗc o<$jpf?m>/+@LS(FףKQQ zB{ 8刋\ވw.4Mo2ttx7ޙ<лo`pW`l^גG?}G'ܭJ{G*?N]z. NۤxCkiWI7w0)j,Jrt`Bt`7;w rGahܾ?w<&<{n QB$֚y<]f o縶: |f"*tEs rCr/U񴪑w/01rXkn3ϜZi\} |Hd2G}Fw))=sGҟE+J O=dܱ?t ũy++*Ho]Di TC֊, &\Bi=HRbEpCpU@+{^ I04kd&ՎLun!8΀Y IvIhSDpSL]#+WomwشgP&.pSLA: 6>xKz`dveem ;ut  iμTO ֗}eG} TJžJU͵,w IpD<~fY˩j:0dJ@v܂?vUY1][KSnHw6 xKe)S\9O?!):l;]gl5%R!~w)m*FB}ES6hlGg}a 2S=42>% Z{#ތRVL#^l@?0JwV׀vc٨^,P߻֑XS!.T|^f12Lq!r݌8Th _Ʋ˔{SDz̒ID!mgi 9aN>&i5ⅴ ~_ZXn4 r–WW74l^UC6@{?Vn۽4N[T1^^VާuHШp)hV14;7U6b+P.3 š%(A:͊q/SbwJQ* W_Óh>#|ї!L1# s;BK)c~ꗪRY$HF%0LK[/UǛ)coz{q{ѷd4;M*pmXq2ٚ Òխ94 t?7w2vPu)#{ 2S 5H9⁣:vxHsUAa鳅z/ 2f[]35Q Ob"sz]n,oL"Jn8~]DXĈTE+8֜kt`fCM1)ɔ8 *CpDj#;)@8brMVbtt=Qrdr$x aG׷$[VUp aFeDk̻<dL} Nk/vR w$\v2r7>Tt@qmmI%tJ5ֱ؇F~S%;6rd8eX~E%MUeb^ǔLCqY t5H/1w]݂j րXD=f@1^%Z;|(и'cnVlhZv@ZE{`%āl)m-W~!ӸQwsKH~%y1l7]A~Ru=ڦ5d*Rt -]YplͤZwd͔ɻy8 lbv?$,vʼnBF;>$Zພ-`@߅ XyG判dmDm0Ⱥ_ۄ|4崔ƀck{/䡎U ͟ Ӯ̗lwԴy =.Vb;1vVa$T AX_5 [%Z(}Ŕ[Z~YmQ^'[SLɁ3~#:v07.fcن<NqJ k|U{QD8ߝ nଟE=}qiܸ8@=d {}pHP=ؕ?o3Ida=}ߖ.//;e eA 3MyIdm~1 s5GϘݔYyeDq6#KfmpRYR~21)|On=>{ Mv@49,ɣjdz%#COb&d5UQPMƒqv.WIU繝Š_Wc WZl!g2Rz nLC>E2.D}2Ion.Ov旡RePY-ěHdaF${D"[AX@ʜZʺAHLA㰅1ƃl4g +Ӭm"PӦ3Kʄk KA8˅#-i[3BRdɵ\sQmnՈ#ҖO]!A͞:5*Xy!&$c/q:J}f'{ i̷sILŸ"ti2}+2@"(YZ)TpuAz\Y'Zq>j!ȍUvdx&fB;hPUw#yA3R2 ώIkV0BxvS率T;^Zpj6d߀4 (acLب.d9:4 P棽Zogdo;3,{ B{LQJh$qLb ȝcPV,;_F<( 6Bf@o֖ä#-hX ޱTf6 {oTJz±vSMX|X3]˳v:9Ϯ;ɢ)C$& h#-,^;uP\TI![5jqUh+w(ͷ{󦪶Y-l"pՍ2VBeF6Eow &gr;()=< W\0k}Dň-U4`Nv>S*˂4W,O'[@^,$#YK)%vCFT~8Bp8.L*Te\9H!ez Lpu! [<㡱ˊNTE A'>$xWD q5hh~"lG;,;#/еHA&a1 pk4PH=$1VŖ);zjz$*wrs8kE ˩`l1+2` D_ 5i}.2PDy(C2VVӘ~ Wq*B=sǚeޒszWW"B]f޸с~w58ĶSO66d~Bgz"P%[Qx,`]֑JV}hqT0*p}ʱGڰB|P!  &gW}RWݰ'7ДcJp8yܚü?Q䛶N;z"OV9^)|m:m/ilhbO%c4ŵ`,%cu" p،0 TPeJUA!}*.?l>p ՠ).̦3k<|R{x- qUI4}L $Z*,7F& ŕ |![BF9h/H _"Gڅ;ȾΎ[#%ǐI-Iuva l:o|12yi.Sev2Vx׻h*)Ўi$W"8gc1N@tGg7e'¦R,x 1#w;S=New,\%c/zxQb-vH|{Q [.% )ȨLL)Ik= 8cutGIV9O25.v6w=v3 A}wkO ZYg:疀8b##~0txf?Dkj w9)+Snt(PĜhOFY6Ɲcd9'Cn˝Hy$U-{˷sdm9(e{T1P׎v,?*vt T[a3Ռpy[D6*fiEsjo LVHwdIyFZWFY4bb}^3aSMuH8Ul9 >$<2`"ap@`%~}Pq85׃(Dxo /,f"Tl5fO$NjUƊ|짾"}t=^)QW:#b[q}+7 8*楂G5 Phyt5Hun@4M^;ɮrTN p90u Z]1pr} lg4Ϲ{z4S2 "ci2lJ<]q1_A+ XW&_V~#ܡ8rP V>q'؁2BjV5 V"+Rn-qGPAq2m 6Y<%+S|%26sboB5_9(?}f>$4sR ?ҹ𩀏E4%Cꀮգ=lLIGLrZѢߔg%e6MϠ5V(uI!(MY~\mM#`'Hjwv, '| Ó6 -O U(/dMəNpIєa԰;(Mz%@gd5Z 13lBRUwsύE:%}.U),<JN PBKT̉@O)hVPF947Vfݎc hoD1`?#|9xӪ$*Sp&:EZUq,Lя;&),#TEF8U?X&I5a|"=u-}=2fwwZ467~p*B2'!!Äfw5S2lPCqbrVM8RZ86O4'WTs90Qk/(3s7&"/贱)k`#NOkȸ_~VR' FxuzREǜc}ջ5-盃 n [40q/mM?jaX DM|g_8-F}>M~X zh1[!y^O9)XF  dKcry\#d}ۼ- HTq->cf"d(pGp~G2{wnRM]Ӑ5,Bkn]EA*4B5tbÙf; 1تk%A)$肟F&ITS IO]nsBV@sNj#|L$$le )Ly!-Q(O= Z2p؂g Y|YRE;Z :B'^]FF5Ӊh}gx>2+ܒ \K0|!?484.iDP05l_H}budiCF k03X [[ }X H<=9aux곞UUyQ6\S#k0#9?5:YDfr_$Ѩ T0tBtb=DJvp0 n!X_(():+/FQb&Ӽ5m$/4jۑ?Q7A Vd^ɰXES$q#F C$, m38V=gSxP`g+ӯC@2Itw?f|"jάPprⲷ% o=ɰI_4y(^$ܒ HX+գdI ֐R.0ʃ)EAPz0;0kR` Y,fg{S[+d?>HSY9,]{Ƞjnt$;ᐆi{_{)wN`Lzc/ѷ}@cZ-PpHg0z :VNXVlØtxnMB:^ 8@#Y nS@8b3a1%|vBiZGd\d*s$Eq'N* ^1`LLzGxajq"̸]pMaKzkz~>sIwYN^؊Jo4PPoGZH~{*CWP:eQAD4 Tk%;fĕ2 :&2'YLee^+㙆Aե[N"6hUf]~K8:p&X#I|:;}չE5B_qC;s.T{7Dt(b{.j%\)r[k@V$L? b7 ,$AJ!9#W`7f3kXҠʱ֘kYC?Luhf 2B4s'[L->,rihmyGEyI9= .R]lc"7,v$%>,T5! &es֩'zz(z^{MXh_ֱ2:ԑ>/!p,AzjM=Ao3ApZA\iZnϙeaE?A:ME͋x&"cU[w?kH?>C Z#leK{2Ӂ ,y'*@RW]F ,'hdD:* g{5Mv}'iYZɮFq[?rGC<(Z@;Jl";L5I0~ /M<{K/{9}b[I$<mzRo8&&$| ɢȉM\qz)[m-L*ixJ"h=mIP.Kdہ -&Ν*9RLG5=2?~\ñ%bȇA7`"5dǢ[ #g}QMGnWZ86oL =?tS!ls7ҺJҌ.5%O扬-^`0=NsWG,&א-m2)$nLG+T9-8p.WF:lƮ?)-mL",&L  3*tJV+S8_Usܭ*P{ѻ+ӬmJ?NGr F{h0ewLY{^)bJ_ёyGc©qs{؃|p9SյOWsv ]N.aXy7rj#F :JT_L7bڱH6R"Fc_X'dkd.bnT߀7!90 FXMI$]w" 9f$z%ˇn:3]?ro~O8Dh&m]NXš-+:Vx×GB@3opZd"˘8j"(@k֍5}Y5Ŋ2_M*>S]%x4_ f%+`;+UWRn ~ ߧkd K:p!'5 RQ|c*qNE&3ԛaIei-OWC5U'vY] bB r:NɌOք",=)2lTjhN 7*@?N<kӧJtl~g@8f~7 c$0CKs ΆUKn$qB=otBFlCG2$`R1J(Cԙx> {-+u+SyNV$CZb*^9iV\`t1C<.>+}{w/eZ_ uJfGĩ3J7[xgbS`*cPdv),f",.*׋ޯoy^_q-_.nFy;9,7K^Q~M&6F*mF#{9аa2;ff_䗯tXQuf)NP܉r)_Fw,ijLx 6*}js143;V6#,SdNƏWE06  ߮(ȂCY$p>J6 FyXyk [$V92}eZM;rOv!nUr5NDYS?8/KauI*% ,hl,Db˓~x̃ӝmAA3s[DtzJatPc -'9E8O]*)Mi]dGL'悂Q?/nTM +<꺏1br/žAZ=en(HۏJ$8[9΄?1_ |{V #(X%6tա1>T5b!d9%G%IE.٧:VI6B^E(8HG;޴3*(0wQzD R\Fg^YBЗaѼ* A^Y,28S/N3"S4vSH3G N9Ǝm]'G/8JYνv re'RQooВQ !b8D+L$6V #׷]fF;Щ%9F6{l'lF?;xJ3jE9dHK{`-;9ܔZE,(O{| C6Md7P_uBM:.XBQ/WFꂖ'8a8ؘ&3.1cS`.ZJYXYfqJgB$6ǝd;u9~ׁG 4N{z!._|]h)9ĝa*s:\;*k$oh9ou40+&eA}/I[26 6Z}Y{ʝY{%BC_ T#xb; }gpX;qp|{)|eKpcIn{> Wo9aG!]58&Ȱk+Œ )i>"1zvwq#$]7C{2d2mRj}aKdIi$:͌\qN# YJwh릠MpG1!ˑFgy֙ ~L>u$LOwoY:@o^SV=u%'BMA1cEx\wBx!Y=VUHˆFdi, Y'LtZq 4y\B%#G"R ZDJ$3D X/<NF Z l/`a{lR3zc(IEu|mC\xM~\ˬG~'=k}"?j/Iv'FC6oSp3>^ꠐ4*ƥ$,ջm.7_՗6L7qEW[LXu;ޝB9#/Ld[2Z<?LY(H> x>c=Bs43L_˰.i,L#Gq RNF W$e]|)h>p*TMڴZJ!g Tlq2<Rx{I" =o\l3mEIW10lӐu(kb;L^ve (Zl?~;@rK,٪?V%&Y* u%,R0 蜶p] Q7ݙVҐ螄ߨut%~ `K> دߩ*0&v6B2Lyp$_ݽw\QAr&sE_tE3F) jbgdU$@-&eDq'-hYށ\ ~ 2ZgO5}gWcqA&EVYXe(nz++X +d-7تM /' T9)NFPcw䏴PڶGl  ضm+K>f8 jmB!HD܋DX%gEmaC1iœ!j!n/2'w}KI=Q3)h$J'oT,jL:}aI"E$XXN>ce@S6ik;58\.Y+`#G28G-/[^h$j&B2QQh`WfVWy[fbU76(ۿBxFIјqH.W7R rᵤm*#6"-SQxwѢ㹎K)uj E$y-Hbyw MJD0"TatJ}3T~c־QlvC\zʇKwI'/}ߋ;lRw[u{'M("3::N0:,Vĝь˚~IF9S}Nݷ>4>OٍqAI#6< #Ѕr ZxtVE;&!eMʫf¤)FݤuNPJ,$7?]lji6aAea'p1<8jU0[A֧Ad$>bO/fcCoŪN6Inx 2#XJ&'(ˎɱ΁6WxCB=@EdB:EKS1 me۩[!ss \V;;BAgKxM3/.g {D\ʌ@V7/8w,|슇FD5'`~rL@[xAX1(gQs9­m3naya 8ҹi^*SJ%9TC1Z4?ڪ)IoiQpLgMpee`M! Vf0?- r8سPELo!u?kSm~և}1^Ҵ Kx K= %|7e/MiXPBNוּBGg}Ԛ)E>vv|ȥ^ nn0o\/_h>^Y.2F&iѫEzYϰg{"E?"|wתSK(OI0|?YI_nAV4'ӏH'go7t_}-.Γ j- ?DͫJg34=9~&VэuX/J.U:^^ 5&?W:0l#04$ QGQ{]yW1r{HT`MK?+xMs ß_}Pf H+HV5KD(|j)[BF*􆠷[m\&;.Ix᧲Ċ ͩi+-r0@a&ZŪ!W54b}†k 6P8x`)Wļn<FA&50S,!'QЬT!o ̭X5(KMk*%:?3 9NI}PX N_4 Tr4!.X_fⴇRG[O'5a/&W15 0;2}#i{?+ZjAHsٽɇȾB:O&] b)fʿUUW]X Ƨl³eN 盠SM]tP?3݊m樓_(F2L6PVz}}sNyS~{ZJ#I:9}d%`-J wpK6@ {APc})Tpl+ZNp. ;ھ>YXb 2 7p(?9\/)B aX@a-.T v?}^mrNb>O.$Lj~Rk W sEqt2{5wH%YV-69(Ȓ>=,˓p^A3Pm2Iܞm'/8, MwuBQ9$ZCD鿹KA5mKG}2)Z[@ W:sGYk߅?wXӾM;VRqVÉ*|:]Hr_-I`OnIu>x3<׫}cl& UXR"dix^Vׇ0*P$[Q'G+_.WckӅv(hG]yYn3b#M_AArO5QxݓJ涮Z{C٭S Q-56*whS~Z4fCn+^g\KFI'Zp7Q}gt&<0`8AFwREo #GQ~XyViN\Cv"f=T@)5_} :JKq@(|m3X) qN뷇,s.yа5%*F:ҳv}:k{5lu$6=&h=xJR &Rjfĩ_'f]CFP" `C/`c5rjAe0z[<벆˴D٣ֱj|l_XSBIi&]MzܽFCZ(RYz=uUОpRljD)98 [|qsq J'ėdӻ%d:s?'gk8JW6d *04Ʉ`diF>:*tP4GzIgGJQ$D !-"|sjװ&4i$_&R]fwMխ|G @qJ3#uiI)UP(Tqfhy9%xEߝ5<tQlW3 d4᜿M W7%WZRP˽TcI<=F+2绒)Keߝvџ.RmhT)B&׭x P@?wȚN$ky(NƋZyq67 5Ϲ~3B[4Γ7?N sC8Jg+mT֨$RO+ 庬4 )h[:n8R&_|0VdžVK,9`\I>ƻp\JAsLNU :Pb`sBARO e|^mHS_C#u2[`r\Y QzyȜa m_j-YkHD`D Z4[pK֊j RZJܜ]C.%qܴ$瘢`BѨ Y/w/& c<1*3g24¼fKo>bQbOt Qlb>,WU9h]ogchൢ%qJTN*39D&n5zcDA YV'oQGl|%~&5%Od1r&X[A?krXoL0C;` VO9RXN|JGCgak[qF65"#mM{ӻS 2tnHy*m)`D/3ߩ\9Vm` W:ʧJmi) P.R9%i*V ش'#>װN#N?beMMH'J Zm 9|UFkrWxWUk- ;7ijFUZRp/V ?t,9y5:! MG}p x#Yg(e y}9 Fm(J|];7qrpxۍs׀}x«9 W?,uI SU ,6ä0* > HL$I T:w(0Ke54翩TWi-QŦ5XgD[>;0Mz(cPN< *#ڮvsaÖLPcp7\QvE,$j]MSBRiF6 2h?{ZB]fRYUxC_#=Ҷ ݎ%wpM"Z̺s 7/:eJ f&N4hAT4 3imc#yajy/D8cCk2Sij>Ɓ68X~< ٽ:}T;9+Y0V H/Jp=sf)UNEri*!jQ8侐J5)7d 2v!YI;Q[MHVZiK@  $<|٥7t2l 7PsD?Bƣ;xhA^vYnN1yf'u-} "Sscr}_TC4E`\X'U:o u^^5{3^#ZpNg=dͦZEXsOxM ^osr p/]Wv"8,rQt2r"b)5]EQ ]U}q@V0SUg&HuoC,| qh;$|Y(EBixfսj|G|Alsw?;} f#*ΈpL?tw5GBL"ib`${ZE! }Qp,n*L?k#v&kE4 c!![tN&VzJh|,:ٖ2 >'۴Q_8YNѡcDD>e71q+jpy/MΖjZ0Gh_gO]hZla#AB9_`Tw2-G jWDoo<خAV,ϑ[D+GXbM^hQ`uUM~#y6[=j4౴M~-+uSF(^be),)I և~<ݸQqm~iU9go`ҁ2^ =p|(t9m'5jwiF$ipokC0PXOrΒ% 2oG5Q#U\b(VgY[Wh6`  A'X¤:[}3 . af:%dM_@̔mO4ངbm ;QxUY W].UDy_]#E2D$g.2B8kN|D>ȊŒv%w '[X ^i8NA!]fv/J]@))<SQ9oeGPKέ5!W}]4@7ne2/?\bn/=t_7^3FW Uƣ.RY4#Dvׯ.m3^&T͝ r=  ?;2bR[zP-ni6K|d^kl:[-h.NޅA eی)ۚβƫXZxM2ː$=x V~ԙ)J$// S][,]fcGK`#Ws[كӮD ؚ! ƿپb$ߜ1}fRY.R gP6o$2=N4@׉\B7=DZȃbꆦ0 m#W[ۙf+Z5IT\HrfAIYG38ׄ/';zFHM)TC\T1TL=fu }@QSOJvE wz3'Un5&qubjvVʡAsZǚv {sCʐ߱xWhaZOܜ%]ڝ-ڴGJ%<H,|2Qp f(CgQG9-+iB؟DG-yq-@Yq!1w (Qr_DqL[L9,ma52zyie{?ÎH޷bVߴ_:!mi[5ぺmCD@5Z' XPIsUf[ӞEOٜL꼤Y+K]mln~Xt̿wH z&ţY4 5]. 'Bwjfב<9#KU4Dߪ.Hl_H&DIZ3ȅe\UGH]u[:vcDZ"O3L)YJNdZ.ԧ}% x!݄W ֬V>6Hϸ$"5Y Ҍ(m6hgRs>ڹXY8%XpxbK[?Z QZ pWgyq(FV;dDZYJVAJgfZFTG TkZT NhTP=ΰx7O{DbNЅ‘oJe c]?wM$Dc;ZUST{}B;]7^k 1fJg(zoX!*_ Xe/Spna*bş'RE?[d|,̡5#r. *.#A#-|FN^bEy) W,,DAJ4^QAiz0>y@5"oA&iWPDN nK66ysꚬ7[@>0vZx&4Mp;ЫR$;'cO@+L}gU*(zg%1+q]IQ"D8.G0J:U66o|{%`4ٞT܊fzW& rE17&"eW2))v0m0[U_e /Ba^,Ɓ-UclQ.$ѥ- [7Da`'mRSuk2/%!$K(/z eZ .uW3*| ȧhMX9wsbڮ[ 4zvI*F`m+D١O.oD[x`keB[ Wq{ߥ<S  W˓}'r>FaS: )_Zp0 J,bңiQ(zyekO&ؙԓBT'CU>`΍D)L(`}-^0BVfMXwj=ȿz6NY\74 o;6F֌DD8߇؅g)yRLƅ'o ,c|w8u(4Q."x%p%}.6hB0*o]ex?xEQ!c(H1Tvh.L9h$ d"jU<ȖjXK+ $N8-,שǻƌfn,Rv6|ˣŔPD VM:XՇ>˧, dL>W xj, vmiK_xBlMR|5~撈#So*zS^?u{#Θ𥉉a* WK L49ВThᜮLMw}&Rewx_W0?7X:RTi ;~yhAR<{r,f9 Fz"+݀Hx6Exz7ca-->8)ɭY5GJi{1(o w2aO&D]T,C%{ I=aSRR0ke#!~{yi3ҹ!mkM(aqBik(=Uv!={-qʷ<9LYLqN4[ޙ  U:c*cEj17$]K۰J}òݠäQ|m*j{Qt +FBCn|ukW9=:eI}Ui䢦e/tMIhAdő@ꡤ}/h?B!oI/:w[`7FBÀ8OB_ 5G2:< U*-e1Gxt/_mw'vZ` KĽ֎߷R*ZRu=cs0*nJP&!`NPy&|geҟo=k.K᳷!gb9`F5yWP$xwܬ+cumwHI;ujjEx 8{~&2Gbȉ84Jm4MƊZnu +>CtJrEi%h$W E)f7GX*94m=~PVhdySG,;Zkĕy BQ2Rܟ}=[gb-fgҾȮ]vES&W|>N3-\yefݻ?:Kqgr5OΈNo(2ѝ(ဘ>o䯊FJ}ښ唊ȋc6 dQo|śфSnl5Yݢ4h)Pa<eC3*/$>+wԧbB`'&_5gx" cX1Bl9$8mzw6gvMA\ F>R;FbGdq<)9_&wS񔽾P•NKbeEDc]?صi@D'pWTnZɱz2|:SmmexOx4\ټ!/(-b&fνw~=P2^~O4ѭ\:! gz q!/ $v1\`J)9yy @bwP*pEo@&tj& 8Y³#@zΌ@q0$oQ(@ܦBU!_L3;'Յ8'SaB b-nE': yNAH3]V)"JDt% -M)˫ŗ\^]j!{Ge=mL%@0NaPNt ϟ5bvٴ{Ύ>eX^w-]ƫo=K_YM_Ok󕶵(O{לbl:h޿۰Gay/mWUd67 ^aM3/uiF+%i7g(!]ߋYަ~L{^uioꠀ400Pkv2Wܵ4Jb#ӺU<X8ktݼu{-< hw4*:Sp[9f'7I3"nэICV^9 9歫^i6PkJfTd `CH{{NYw7):Υ(+ńtD"#/ B+PRf݄!M} ؂n؊S[a],&&0 nkĞs91 34}}+ȃds܏>,bg Qu;X MG7O{3(.y+FjyBCQ騂e7hg42R#QbCo=BjB>i oP?Qr䏔ZCR )N $ۼYK}Ԥ9J,X'MHU4;t"{[JB]d_Z(y"ц`9}ZG`:iu/!WG.h 6f9n>FN _\L`Wz[i lD\㵂% :;˽i;͐6.03/G?wLy ]HBb!Upwpʶ˛T0GM) [jEc˰=Z~Q<$#+Wbh-_Ϲxpy&NZEv $3G&7muwto5V2ʚSĊ\@R!Rb1!7i~6U .Iwĕ|M8,2:;[ OΞݬjHHz-5JA槒`2U&#>DLO `$A>-NKS5lV]^w4'*Tfbp! **Fu zDDIZ(&ۀ tgD׼oHnO'nYKt#e'a$2d!|ȰaK/Bi&TIc5=ud`E2lU!;83&T(26x ۿN<7=b 'bPy.JLDiV&7(ynHv_#@ޘFQ7ت~hݼD`E3& wY\mB"nW\ 947ע(C1X!)ȇ]FW@腒ySM-lO^jH=XDj{~ܓ{(fys&`\Eͫ'I0baH;z'xJCkmЏ,3%YI؟qBg4BP3栠; T] dA] UL i_vd \uO(j<- nmBj`/Jw4zt|cbnwX$d}gr,r|Dg@[[k3"i{_1|YMw` D MH#wm,8Ð75> 4BhG )V3g#}!a*zT9S%L[#]>;>@x6>YJ=TU$]uL󏙖3;ӟ&[dECE y-=B&c27Tv7ނ:ȩx%_+l#Ćasf]>W}%HQ%;Q%ڃ_V@I07 ]"84NLc[Q'ܦD1ux3jd-^g D*]`g_6( +" iBNP7 ;6JaeΥ5y׬5|5_kUY+i4th]'\ T^y!g齓DVߠ`\R|jFϤzP9:, ^\8Z+y!Yk$S9QB=l/K &W6 ,ʘ}ݧA!nQQMhOCm>P]c*8Kz?sWAL*Ki^!AbZn~sаEbyP ?; $|ݢ'\+Й wh K ;ua_Í?~pI4DߐКi>8P6Ik>O!.=_Z@͡[TJ̻D4J?YW*Ґa>!D6y  _D:8ht-yz ձͤ3I8\0Iݙ#$]&8Y uz ^6tA\݋lﷃ\}GMܠĝ9Q&%:I41 j|흶N7Vln=+lY:ٸx,=iCCo<.i,YչrZ16  1) 5>9WW9{j`NW3.YZOfB Cꩭ#8۟CzC /7v@_R>N'> ƫ Yg})l?? ֏NU|ݪcB!j߮}Sh}JnI|FTk3!x(MJ] +";*(.@6z蛀ԃ[qc϶ҕ]d ޷s=u*ET}o66dvTָJ@\ .)3+٦p2KqI {lOQ^5e+SLY8wS;*ǞwZmv#.bVxeZo tR 'k;UD>L,b1VdFO]d4%] !քO}\ߴe"pO\cP,hǼ1}#KJbCJA[Wi+/+p ԫT&v14/ARh7%r|H[TbZ6fa"uCa|p/G8ڇahi@S264h|ݗm+DvnWJeye&\ {gr"MLyHYg6ٙg /W18A8rnT໩)ΘAFUV*;0ϱBowR{㬃 s8eR*: ~Sj>8e(ƾ0pm!K a2H BWBA&5K.+ڢlR-XMIy. J &N†#vfC .ԓHjQܲ;1A&'Kۈҭz'gyE/+k>(r6|b̼qd\G6FblA1"vg|/fҭwDeFo%WBW5@z7Gz';-C.-{Aw1:ta4aH8q7@HEܲMEƥ+Li S'{!Ϣ,#W`6:E)<;ON ]&w"K]`m4,{6ĞA-I1^CHCgv_\sOuwXE48t6GeCȺ+!=:!2+؟!./!'rT'wmX$e9ZY3>OA1'6ѣX[a&E TΦ=iI{ris9UYG0݆#Rl6cޓi'|ed^e+089lKU Hԧ c%|X^9SIfSh;5-y۬|6hp|Ƅ#2W`5Y%ȅTaS`x4%o^PxE-UÃΙ#K;9?}q%xbzxFB Xa9/Lἒ͠>l^Dazr}e65 c{u'i?GY6Z$'bDVJy2mD<.wBN]0m:U_},#.AW)+ Ȁ+wy4`dt Ob!F'n2kJۢ:WL!7z=6ז ޻\Ծcm$1慽'͚vUڣT37T[fC}O)iM;iOwPWgVJŔdmA+Ƞ/8rK7M* E'I[{a#c& }NmYd5^]UjwihЇxU l.QDZbx_hv6cj:/]}O8.N`NU/V8a*ʄĠmg$=쬋~クvG;,].DQ2H&-Wʩ:t/17 X.&ǐ)qH {O=]$*pC&m8 +9Z ?Sgyp3 F~npr 9ɾJ,o{$[F[斎ć8KgBu(h S*r_nS44z#@!>Nۯa~ yE+Ԝꑧ/jH:4QYuj"P|=Ve(R4~}K;-{ݣ9"@Gx!a M;Q!?a9 VهUI y#Zf,E?5`U^dQ/V"&Ӂ ]w(yjᅂ96N!'xޤP(}&2gC 0o_Iheo4k+ (q)* ?vbk7cf{\:a4h/ø|UVcVw ɓl /ꛖy:c;w7y3C# H?;K&1ϓϯ2*6RLt[$8&u#p~]!6ad+YDx7kDΑnt0yZ4Z gQHG>˕XۘG#5ަs`& 8{=)[P7XGIvw!%Bd|j% HE>i 89E\TW2F P .Nʯy) RnAK:zbT.*Kk'wU7dp{1j1פ"s/Pf#F0sϙ{wTEvfe āukݨ% <gZZVdauѣF٣:";Ъ8QqT"Ilmɔio,s&&ylAtj Gڸ:Mʽ\}08/~8hNk{8zSl`iBrڽ̇״q4aFk#$ ٯѿ}#=[[NǏ-iNd@]]FSLt k[r .yvItb;$4 H%*|qﷴ?70<ҁ8i`ؐfϸBVu8A΍apg+x]*֎˝>Gz `;2v_ڭ)M`|,oPXZk..i'rU =*VɖӜ2@ .˱bQ9Nɝy(\/y@ /uJ>gF1Bvw[gOLݦUJl_wGV3?Ůu~c;)(dyzʗj!| ypk~•:NLm6#G$d8z4~a- Uktca^]fF1TLx+iK?dP_FQ{KH: yaiњ_DիovR;AbE =nT~[d,_;Y%mO9:G*}%`Je_[/CD5 )f!(,.0WfN yqQ:iz m9AǏȧ&y[M-F|ZL^IE,t\%͊"e Z#.ó]\U} (#3ƒ yIxpklWAzF,-QѳȜ_K"H`EC+AV!s2F".ٯht-uO/C&`~z=[*>vhGO@&PpC?wrnlLi}gq}##PQ 6%@dr _w〸pω#3*^COW!NIwp"'}x:!ZmfNjQ5+8(,bi>nEn3"_F5Tcb\A<+3jW)?IsWPYiNʘ"pHMFHM,Nivk͕E}5 7`TKJ83ӈ_ B؎264zblLڢ*GHOpuRTJE2%Lr`B% P4:Reɑ DbC/mlEweN1輟 1;eacGKŠcݬXǂ <`зVdasEi;};3%^o1q}#n gj翯X7%䪠/Go+B?UWu/0+лʙL2ek2[\uF|/|s6/?7W&)IM ݵIMՈN[OPUnoA{|X$"fo-AK ѡޭs }ϻ+E(g1 {b %ưah55VuEU"yO[Z}GQǴ4"dp죬 NS4v;&[lեDZ0:1gq'v&ڇ)Ɔs^6jt}Yl^ɗ"Q;"PX 7dbK&ܿTh>CAs@f/ I=E;X,Ϲc@#)yvVDT ؂&XǗ=,¹:W6# Œ(ԗ!aR싛Ѥ%&kVmg}L8x|$Y$"]i䍞IM$թZ*I11s'iÅ "M6Z9.,4ATyH0ۖ]Ga*\ioKA Nܹo:lpTdwuȲוd[>B݂!¢7xJ_Jv.je/u@y@;ajPPѼj* K2߽/n=,X,C$n#W{$r B뮉3]nuq8ΊoL ‰n?{1p> Z/af a!({( ^KI(>6xL;:acEjR"q]Ďm՛wqێˑOZ#K}Ǿځm>喣09#B8QG>!dH0 y\ J@.~y2!&1gH>K=-ո /$:'ٓt~B`E$eWkMWdM QP'`ƴ PE`._t]э1xLey e` l1Fͮ]Tr;\ueK p21ޠÜUU&Q2Gd*ukg\x9+`_-L\iɂRgd`@\' jǯ3jf $_ -hLFKVztrQ*?V[r6!J`|oxm~My I X#?cc[pn پ:m'Nh pz  7cyC_x+c'êO͊U"}pXp織wNRҧ2= 8tƜ[F vU6- ͝#ѱf>댉M͇pv I$W&V#f!_e#Ud<8[-^'q_mJej&jK≝ֳ0a%1UHyBrẃd[(@ 1lb)FLL̢Ls[^pZ20KF^\싆Qs i9KkAՓ5?`|QWFZdm]13C,g^m(ZD (^O=Ԡ7(]|vס5{TEL%yŷNA#M]>tvpȲ.i)թ\JAoUMy݁z=v^"I^:t^m'2}ra$ mwjf!;{'fѝ@jV dXM=c\0q,XkѬL]j-dk*3-*\5Tzj3&9]Uyfُ򒙅2Mo|! yi)^ꪄVhEc{F*qj`lq(:'6 7rm%$w?N$9N(1g. }7fd%8XF#{dFS5<6[#d1ý8`oa̐Iuv UWɔ ݯL xV?zgq;c!VjqhF%y:#Am #W1i^_+bm:S#TUnSu Dur`Ոl,a+w1OhTAJM"䭿byS담7{ֺu#I$ZQuCѓ;M]Q 17oC%=C>Uóo@`KwH&&Jsl?  GƽEq1jH3Fo5tzM=L%~WZβ;EWR oq=1IbCkeKk=oamGX,Jg@NbreH | .3`Ե|WwJR*B .8Ķakȷ Qbj[Sb$*u/4  R,AS}?mB$ꐣ@%/TJoUȚbwUQK ~B ;NFcBeI}D6$cV8i`0FVqI8SGE^{w)u)cnV<;]̑)DhlSx'?Z_zf bw>/ֱ?![ ?P,>{ˊh?l C|\lWIvVzY,w>zʞCb岔ހDwi@gJA|Jz>[ d63Md Ezv^ ֔o-ݡ[q(WHs *ZĻ$T03)C;hUp HыBn6>üFM!H&sZA.81*a إ #s2\i@mOQd+ꃢo7g w P^檫^C6bL;oENRĘSw)0Ja֪Bͣ`{~aXwJ:X=C"i:^ 7֏Zܺ ݖ"M!پt ;ΉX'ykg4J)v n1IZ@"S ^|Zb fB> /'#|=: T) EJŝ-S5GתI*dw:|B^ra9qVd7c9\.tI>MU\ 3_j)JKt:nqDikfO }@+ D Z|oJrUMQ(CZv_#2{lȂ&B9Tg$[,4:4fa Q3ՕG4P~1D #+@[j[S7&y)trPHև7`mzEXrϧDPҽMe ҫ9ܽ?ѲDnjCB|Д 7Ȗ5uBd&@C4fr}Nɕ׋/Mi/8`Q\FOd:Hl>3?ŻtϽl9*Ko$#cO\nYA[PiP UyR89qot CFq\L)?TdӸnGJ>=[< ~fBA Vk]>*-1RYגM3(ɜ5j?|˭*\";N{n_r< ekGp/r8[[>]\òpOr1hņ{)<]H[qn |("I6 j8{ BtŃ vp11?9Bxxà~ 0 -S!6;Zd} B2HoesK*8'hmS9|0 7&D 8(VO0K?ZC)AgJ`XdK>IJϱ.^'<#Ĝ2&4RCNp&w,3~2^ϫpYBs\a;2U=("\Qq]q&[CClijqe9M..0!bQBc_GőzZ&wr[y [OnԀb&~ge&)DmcXg5fhJ݌V ]̂}|.ا$uBm,!;}zvGgnbU^e& 3н)jɇ]'$Ǒx1MM]mJkm֙8Ċ-ݢҕꜽ@ 9hdYrUg'T^_.{a4Pa{h EB߬`X.`,kg8mI:Fn#H1.s6VBU효Yod?D(Y?VfEkd7~$Ml$ ~{)]=wUNNEL3*xg8egf<*u[;N$uJXA)Ʒ(̛M:4]wUŧYK=B F;GKa"Y r\W!yȃ]+m3єƏ\v:>]o5"ifYrsuTr}m\P;F(4gљYc?ܶWqd/e,'m%W,4s2B 5auővgq{3lL׎,|;\7f f̕N1ef$Hʓ.9Y["AlnЉ^4JTIFH\xj;z䮑 1-{d2=  r ʓÃ"?YBeUh#COݳG.H);n4MbGd⊉wiwAC (d!rL  }N9>W(fNbܟh ʾ'KᏃuf, =aV( ^=$5}R 8CL0>@I+;}Q-H:FY:ޑa&3/6Lܐ=#| X{d #ZU**؎0ȃ.|YZ, [m>ɨkJ`L&3 BW~a,1ʺAR8eHJV z?ʰ$`WL{rC_C<.h"զ`e_yYEn"4 7>T_ } →KIyޠy+˱@6_CMK24ȸ>f! j|}ՍdSV!&^K|Ȁ8+0]73Sb.Ԯq_rjՙ椫(^vG@$8J SݤeC:z4-R˱ S#D0>^@ƘMZI?RCOon\MV6DTE '۽Va BBIuvFCЁEql:{οgqn8?{ٕW)1WfFE[#bSдoZ]5-R PLa!a8fQ|^~l\v/t!Rɼ|XdX T~}!p0ߩYL|!v7E=ݢ l`G=Aò.FcoR)ݔ-ʌ 7vܪ=%(ԍQ@AbIQ;%/Uk=TA'Y[sY+r8.y:~V媔o[ u9<,4>jEpXRWd9b ]9}i 5HDV C kzXl%\R'{/12~RN;jmOT2w/,4;ю(sALY"@.x#Cu:fz !+_sGIEiɡ#:8Q 'sǴP83V(:"eDanP)'/ <5D.<.SmKm!?שu2n0Z]"Wm x1ILNSMZ'$)քOY OaE:|GKeOX:?Enj y믻 +/̔(Lh5!Eթ}ӗohncty[7cC/TɃrb d Ɲ2woGKw\6/3ad>:+UC3F$rIMJT6DH qPwǻٶ@¯v5O\IzD 5u'- .gn<0&q?bӽjEb$$`TRY\l a;~~" J>u Ń"<įA%} bV34Պ,+1~R5P>Abősh4⣵&^( , ˣ&}zXU*r%[`7*oFZp7Ve;p!#ޣ/+߽O_mΘ6V' |#pmm1Nhd 8=E?PRrTٵygv}`L_c(C2Sq.oKQ#q1\ixEaTMΨu#6'>HC3*w'$2<69!+Fm3ytLU`~3kpl?C[$.x#]u-[xNܺ?bdI(\7zǀ`wI@~vwMeߔ4$vijb]v5HKEk*y_IL+.A \Cfޥ V Hwla2Ga9!'gKxG);}IeI:ZO3^%/֗v=eЩu|BHթeQK<o@PaI{n+Xgf )<T+_[*Ve~|aj^T3 Vlnf͍)mK _'s:K#IsaFUEjigw}sQh! [&n%K!GXNif.d)PROTtcq&ao(KA,)Љ= {5hۜTc3>$3GDNJAh.s¯r)["<C\Y#Kjɍ+cZK˩ !tZqD/1# Üak ;7--$wtOyA% k"Cm;ڙM w {+KyO2:r19`0Ĉ_bl-p?Rٓ-ݦ;KYZjZ9gTZ%blT!]N#ӯrϞco34 )Msqlu0:U# 9|{l*JKt֮ "'hkMN;ܜަS_^jsf`+gSb}V]Zw&:˸swfT!=gX=e5>09Il,b2G&%56dٮB2U0w<(Zu+ylZjN5X-ya"ܪh!3ܥϯ}vl*sEj0}oZ2#[x|E9g2#(~jq+2C`oH'u;`惘Mֶg?xSvSK IWգ'LhvZzTRΐ]o.AQo%qU).꫔:G1^|4*r|J C`\޸^uhSxw;M=5:Aa`/meC\"C?aNٹTXeJjH*msGE%d)R[߲G )|/\,thd?52[^kXШ%9J׳/PboEMf䚽eLl8 M?.pUV | !6]C@7o5DxL M 6|k2&Y̿נ[)?oK ! jJ 6{tW@S#*+`#>_͆OG@C}ݝS<[M$S1TkI|G_!?!gl . Ds_?eʄw3WN"?ٚt^<ӱIKAdy78eA*$<&X!L4;aC:"3N]֩fWQt,= O#t_+:$ojșZټQ3kaXԅ"~1̎v(0cKqRo-ygb+oDWx׬0_c؍Lc*ER&?Y-guke->R/?J ݿʦM؈07Go%0<f O==lPR|Ew}jn d`jX44o 1xHCin*~n޾|Zo~:8Y0CxnyAM"Zk~Bw8C,UȤJL ѭ#'uyph'k H:Ǎ9\=+ˠw\ng;a} vn><L-Knl; a&>!rCiOczA5eUØӤ3MlB2w|PC\!yH+UcL ^/ۻ7U nXi-,BxtU4=h^0D^NׯN?>W$I%U=T#}K 6KrA[vGe/e_u]1S6'sX tF6w!qi-?|Φ/q (@C|sw1R>[nNzFGb0P $M]hr#::r \h݁+6so"nJk1Fc|y5.)HH\ĹtF[Ƒa1WedZCq5:l`DI(KY+~bkTN  PD>œ0~]pQG| N Pw&+Ic'|+M't6ud?#݁8 @3&yE$\0pg:Zn90 Y^oq4q 8b:i_-}@%YfnAiPXӖS@#juQҋn.Kor+9%oj[]وxJ{f ߏFq]"4'E` G#lo^<כcdv$VGv]JN5Vbfqc!M9=]ޛ)eM)rd(MF+>T}'=P5=LCd5$ ba1e)@_[/j:ho tFXVأಥUg̤SJC./i`߹1Mh.'/8#c-5 n%\ߖŝD*; \Wua"g:%4dGyj+6ѧbNՌlAqr6)HP(өBf2$Fޭ;Yubz=g]ߺc jϏ3{#Ի [7. Cv>$cGXs梆pEZvV`[B38ڞHΌPh,gМ%%%-grQ o63$yd(GT6'(|;ۣ~&?Xӈ; :1A Rq1 hQ$QB1O,"';Lvw@@l|f{&1s3!&co d]7quկI4I;0DWf?҂i!5/4#K)1]pX`$0M>t@'Sqi@퀸~dq&&bxH_s9Rlq(2?hF#n 28]i]gӎ;.#-.]터z*҂4k & 6[dcWK3.:,.f]=/pL֌kfkkH{ÆEC9 (S\JIտ*fQH6C+%]0ϿԀWnX*u0` g4o.S '0(6rE( BbisPP'GC$GB=3>Zm*[[4)p`_:Y%׊@Ÿ(1'4xf=[>8zjO3}7"]g/H?k#Lq=5g%EE ҉{hO_k&[=&mdR"j\KK4o \ғPeh2nWf8gȮgbް' {tx/SĘEh b"FLW5~ !#^~+>Ku[Փ)IX"?bHq0k2 G̹d0dƑɦrZۊM?Im뭻mC`\@k%$:`m9k0Jy'8"S0\(/ h;IKy;hȄ'>fĶE Hd4#OƷkMe+fYJlbx;HLF"0*T-+U[^uIn^6VAp"h ڨ_kRm/2#a^E΄vU*>$^i`eyÝVtȐ5zS804UvC M_ZLzFߪ-VwNSroFˁD( 9RWqVi5VXvOut ;bhNϣ3vuu/x STZx/e q ˆDybX"n^^R\{&fibao 6 E S߼!3'ԣw_;+}_uTzMɕ.> Pumqq<]x}"7@/)E,8y|TSڨLGyu4V[xN"_no[/Jf& ~{z(:צel0캓dHrQwׂ`&Ҽԭ1w$ÿXԫΛA\yu['Դ{xTn5-4-ox0VtbK6u}t^Wf~4wFns4]6h[?N8F;¸֯tYna(u#D64A.?eH*1ōRO$ACYcQr`$xWgOmy@17w9qru VBVs: A-@/!LuP1Ic_ύ5J۬04,?WéU~LP&ooH(,-L"ݨ 3bӋfN&;磠.sڥ-z02ˈ m{ m'>OEn H'<%]})>妟@]!r}ӫ:aWu:g͞WU{$A%YM+U,gF1oQv(qi!"B<3mI+!47jRl܌ "nZ %9P-|AAIݨw\)iyQI^!u56"6bq݆<] .٢.{ aV+?fuf[v2 ݕĚX#"S0g"mlgl+}m" 8L!=eԧZmIܐX"as't: PJ\bSnNQI!6[ a1"\m8ڟ#e`U^ 7o^m* ܋6\fU6|(IpÅ#'o"Y>`m4_*K%)-AP,l0j98ݯˬW+|حцryxL`'띞QЏ%+ @G fj FBޒS$-``)QM;]?pW<ܪuq/i"=`/YT6otmb3~fvtk¬ |"" fxlK%gnDFhCU1#&Y79ʵvVx _Qp D~Fԏʶ=m~2ھ@os#6AOXc!Ց@ rxllV<fj>\dA_ t;4n_wgHbEO~{/K&Gr&ƸנI bziɘP0^}j.yQ5Kאb̬AM߂S%҄ ZrziYnC4 hݺ6ĞPHKݧK04 A [:L:O 0%q=6_`0@ړb>"`7Q 'WUaZ9iBŦVnAgY-fW^uޗm}}f&$^M`" 2)qPh'ҊAyCնZLkJ*vT3u&/625 'J4*Q~A'^|';O{G(ԽX`IQ yKе,)N<}.:J㾬'77rJNVBmKpeMߛI4.ѝz h eͧVskX3ؔx( &fbߚ!3yLLcLdo[+:\`7Cnk'u H:KݎUF^کO0)7:pʒBĉYByRIGD%P2Jl<)VA|z$p80<'/q7Sf|o o(:?bttɋ{@E|^zx#HmW,q&J5XIk%ɝ-Fbܲ]l ;"U:P' v?c;\?Ъ0O+^6JQ% g iܑ_B0UwRY SޅJ2 ik|@4xa :OűWyt4kI(EH-Xuv>|g{͘?un9qh3rg1Ҩ> j`FN2no`YGJ%fNAI>bAArntł:P UӑSdF!gZ!t33mFĹERcZ04;#8,=ZY g X._+2 Cb |D@"(E{iM7%״I7–2x}oo`BR4ZUbm4Z=!:Έ5jh!8lH (\"ȐuXu0z;~y x!4@TM6_piS"=WJi L; ID(ؽPewCPAQ~n$^iJMՆ|BƇ#aETyCW 뙽?ӎ`SSy7J)5RMd]M"w5Tȗ$8K)TMn9E t%u_:"*^3XHٽUXҍA!S!œMD6ZX E=ȚeO'.ج։G'T-jlշf4= [_+l,؂j41K`VGns[`7*=j74Wy̛u)et}`;ĒƋ\N,7mo}iZ/u!+g]T2+h@N A̰ǣczAlF?9js5S(WBΰ:GpK2.B6%Ӌ_mQ$AnȐ*m@c\GJm1+EP ǀ9Σ#@fPeDݒM^Y.";&$E ' :d^Z8%L+hP]A, 26e!& rmEJO@aS.粱1˯Rrk-Q!I0ǼS  g2=FwBz$n8 * /b+Keh"W`f_T#p 6R25qrhΜf4x:ܦEywsZxܒV 'Cwҭ@>_VJv KI ޢaA$bHjD?Y$Qaߺ6 뽣沌)/_V.}s (zh([>t*+BMi޸ Z|<$c0w5f ^w}`oZ#ISvUɃEۤP#܂oQR\փyn(\0=VC3,lݭ]g,+p_Na΢%Ժ4$-{~,CIFgFIrjDZWIh~|ܦ. UA43NV([s D iWpy:lJZ-Q(ub$5Eut.`I"[ݧk2}3ONx.Nwc72H!턉c;("AI ~6X,Ha^_AFjY1Z$G[ctJbd5Wme̠faw>T2EDxw-<@ ` uSk5DJL}  ī)Gnjl ~NŰ:)JJɵkEaw0=PldAPn2ahcCVa }c!\ػ(tVd+D}ԙOmܰ@3Hp.|,}y ׳1j\0u_yN7"+Bݩ ];jk /JS$V>s}WvcBw2OeAk6H?8 L ^?.zs;o6rTL[5R{s KuܮEU'Mu/&Zd>+ܙK;MPMim:XaR$vtfzNڏBgv4%‘ WrkWVb _\asC; .ws?# lfLK׹0Lv/ﻍ@6򶾍3;At#y!zp|z1>t"FL|9Z1k X_۩W(0~ȭu)x35ٻ a5?z"Ht_ G%ƻ3ȟ޼kɘ=E[&}h5 yk_'{#yH3I@/i/ "<ňE} 8kئPڟ>3Z|4 ]3kڱq7Wi$O\1; rNWr`Xi;=B͜_&卾Tqb#Ho7 ;gfl^~v"/ u *RtEap噦([dT{!ji>]-}|c:.|E_We@+ϩ!\wLB YJk!!sNy*r!@烒0l|fm,65 b\ǀrgvjIk@߳ZN$Ϡ`m{LL&L௬/~JE}(7󧘥YD[ѣ4ʯ6egK.~G,}!,dn\JvMVBtc88?/oG^z;CV,XR1(㳕W2%J4e!q G*3(|'CCB4`۷g 6tX'K Ay͖v"pOfC`LfhS  V,)ɂ${U*帺NmC]&zIA[ƬdW~{!_6Y dlwm7 ;^sm.b7ye7Rg=˽4brƼs.PWRb_  \O3Z)z~N:f0o8^x:`VxVI|gTS"O!9jC[P׼Eޜ3ίWqiPF5sC31Ť}RpF5UU5[IJTѡ%?+iS+NP$Sf)r4⣒TĪ& 9<|#ZW՞[.0x.U|ޖv 4߬Fmdʭfvz9cҕή,)PD n=AK/_PQ#aR)L lO+(tr(0wWnDPuT͡{c9O4u7ztBA0WRa[g^,=E#Cjvwvԉs/h_ɍTǕ' s)&nT 58B0DNē/Ѣ5X2PgCɲ gױ)M|X kD0DZO=:Ynft_tD # xC%HzN {b&FI(Z\0 q0d? +?lwkJO\W诿cx~TN^wSA谱yl%]؊9D_"-d آ:Ųk:Jmz~u͘ (WEPK@!Иmǎ3;-}@zo_T2fP_!ed>rZk]rm\B| 0X&6mதH>"͟QC] p1UTxRjC=╂6U>z&q?z=^$ZWG <|o:KV @FZBk"u/ U|gD3+"8]|p+؃xUINW[n1 M~^<;ym֣?5Q N'2!CUUa]+oEwGM+B|t4YXh g7gDqZ{e]ؕGIcͱ\9nȴee$Q+kЈ}  }N#>'${Vu4r重Wj1GR@י6H.}Ho 6Q#{Snrj3c,ؓ3jϒi{SCo Ryt o(+,0_J3^g/g%Ak='&=/g63?3[[䀯5GznJLY;$n& s0뙕S@ǂ{pq~Cn=u`[^u\6i/_ hD_)(yʧLRhs5ps\xh e3i7- tB8? O?Gc9Vu)J33iQ~E39Hx#+sI𭆟J>D ,as)[mώwqI]E`:Y^ޥ ZiE>!ʿ6/~ZCG·5K1UO_PuXp $rR![%hD6sCįEպ9Xu^W9AR;) Q,̷c,UhVaʺ/jB8J:dgb,yLO* Pj T (0לDL^H1N pa-#:S9LB s& Hg:s]Ńs(w%6 )aײ%5urtկ[ Y*QW6r.n,\r0-17Jދ#YQt3 SAyC0*Q5 B%}Eb_Uympplǐ'9o42U@brcZ8̀Ҍ+=,-Qzw I3$vEi[Wk  *2>G\cx fY͡@f4BpKNwi0*+"EZ~ctRT:et#@=z*1+NCLN?*#hbr11xJ!^[YA|q76v+R/}9)]tptJGѼfbZގ^_OO((wO>ȽulD=ƍy$WGoAH\?+jEOBl9#K5cdn10YVYDch}?b5OEυKJuCID-0j]C3?8Hߋ;;&iҙz$A>^eUU"r]r5~; WG#ɜ~y\ę]Dnkt}rc~UE?] 96}r8Qǵ qBjH5EN&i}9)Ih&.,Á6j[.:.kyNeEqt(z۱S"=)@# gS{+W^3@K:w^dj8- `,N3.е]{$LJDI$[3o6PbL)9Q|HKqX}Q-.BSAdeAS&sLfNoQtL4m6I#k-Od!(\*Z:Qy+ \7uoMaF~!9хO|@jqCC~eJz9jTB̄. r]YI݇tkRtkit1:D]^xɻc,(j!YWģwP8.KGі/{" C`ӷ{dGHGdUvPV?/hP:]6ۣcሖ;S! LU}ӣZ9jX|lz +!VXb{u;L^]W"i/P`IL칻;=9zH*hEñШh$lXmKF]|/͔ţL#։rʗ捿W=]L [ڔAv+iNL2ha0ߏ/49ۺ {)zda`QjI#xÐv̺]v0ݩ$~2G"]Y?tY_Z ;Q?_Tka{Ov&br.URܼ&@vف̀ӭ~sl|cdcphB/ T߄S++UvXX?^O,!ޜ"&8sx`gtbs}ʚ,C‡v!ɬGVd$J1W֌2__<9KceG+M3-롈V ƫk ~v)`ʵ.08p*>cx~V9^tS68E{b>[*g$Y*[̟&P:t:oVE<.1ܸv}uK[ VMb>Zz?eAioM&YcPaY`mGy uPx;:-OÞ/r JJ~ؚy?U/{G@׸wX TO⎸F˳V6$,<ů:m 6^KB@YnVU.g@v`/I$zXkp76#]ͻ {yߚC  xS R/h gA6{ʴUh.7 ΒOq"Y@rԶQJR)dy()]5u&8Wzgcm \hh^yktGP酪6DD l15 "o -6% xbfˆ'߾O aRE^Js$W/$zdDV7Q1%3$wW:5+iCRy+x<8_ uhS2W=eґd1$0+Em`ק訃P?b^u y횖Zf6s,wSn؉AztXgFc_He1}R4f^a8ZxqӦIbl |t]A3LtԽVo<`ø 6[ mȯ jy-O6Y Mz,uZylxSɬ뫰bZh:Qi8:\O~(5|\H3t3uҼkԭsG,8E,*ОU˜K~HB"NOl))R2|ʳM~ ki[*q-`_A!WkoNu@&k/D>IMp2§8\Cn8jl] ZN[^ /_~g C/qEtN4`<ʻ<§N7^ &!T:m:,{c %@K0u}b₹{RZ6fܜE/HvyG,d vZ"n*R89Z_ߜR]lQZ- Kp]j%5LDZRI?eg8ٻY\ ǀ)NGt s < sZ02u[ ʫ3w ckט%S4$BT̾lhS6<ękkKc<i]CfѰ,W\bzT jbKM Oy3_~o¹ք@HiZs vPAO{_gcQk]ae$kvE+S`^*Fm\Y{.ۻP͘5q:)6y0 @J{Wi^zA`~پG:'Ⴎp -m Q4AV3LހJߧ%kJ9wgH[ti P>Ka)=yHn~t (kX$vVZ7^(2R;Jkx2Jni sP8p ?V@Ѻ+$xk1achn[U7 /IyHi|lך/4 |iV +m e 9X./ o0-k>WjH|0ZR "e^Es>%&5P=1YfALHWi1@L/|t->D߳ j8\E  GJ;U;J4rn/3g5K"V`R|A>śA_EG ȥ+FTVW>\vIZ ;|>Ro AX9ԏu@ q4v Ja9~{/M*Wֳl ciܳU5.S\áIrcu?-)7zur2]kk?WxcߘPĕI?հu2Eoc05PiB!`myc9g:cnΐ Qw;~ol) #E(W%_FmXe>I_ic"aq0Ο%Fz_&&bk61IuhwgɚhߊK{G:-f/1t+rdžI<̞}^qd^j|i{xHbSK-L"5ַbyYnF$e2ݞ U,@`Uf+,(]ZF[, #E 6a5("pr{{=%˜4dPbN.`rV?HTPb!Kɓys4(eWU_W!4uVj7;:4qC|uEK8I=Ĩ9hD}ڥVY.ТFOlC$T7[oGiUR&{FJصl' W,\N+οz^9pya…TY#G^l_IY.7!T(0m?|E2=i4|%8lSI bd4ޔ6_D2iL0xZ6}B|~^`pYSo3kֻ]y)h8j"FeXy:f>v@qt|QGAs-TԦ~1L[W4 ؏ҋO|4j>R8^0˦xȨyj 4>gٟo'~"n"{i Rh IGM). Y8 0U&KQ*{T8JLr XdyaZJ Mo&D1|K_1mp ʓO2>rKzt#~3Sdx5LUq-Si\pUwd,ںܤFbs)RwڙZ^I}j􄲜 8M嬆|:ÇYRg֮.kV&ԹVJ5_=%hz`lXo1(^`ya uʝWqQYIL|JМ.Cs22(;5JNBeЍ"~.3 (w 6@4XٸI^T" 4 L,Yxw0'zـp(2 C#A19d _L-I"gr9Y\8-HAbo&B?T\DBLIh$3}[l|_د6yklm>W˩3*R W 5`0b=?#q,;PΚ٣K=2D)Ө*Ibj18,L:^Ct0;i\WBS&"3 V4Xk̄JEX1Z*}CZB:c* 1)+q1BWh֤,")E#K9tC<*=3\ϮwtkBvqt~qrrx2B)9ׂ%_"AC:V@Ԋ9;eONi(je0Y^l3?b&-}֯E-ǀR3T 9 pWE B ~ W}t0xf.2i:[e8E /5dzHK&aVˆ9}™"ڟ{8M0$ܑ,őeWNOh!գJRVa>ap@z-w{XIĆYj_)3eTM +*MBYˊ U sC&7Ze #a]רžNk'UYu0Gh~NLl\ׯ*{z2y-֤g,KNC8=a#WtbV8cB_1e,:>GlؗJ S/pCSKSp+IFĻ:T;qcć:@S.cZo%nk$ }u~hw$5rQb S7Eƻ;:Dy +"@@G[o.ρ4h;{yܺ>M#(T)0#=;A;3 uوZli s d$m^CX>G1RUc|ʙ^eޒ , [:IhXkeTH4(VQkT$o)zcJ#L^֧|ect5 A/ƞin)7ҡ bv}.̃f(WWF5C\"u*K`EjXA0! _ /kt; n2v9CхFЉL`H\qE  \"V9֯̕aRʯVr$M(-L_1O rJd@͏An Ni z􏦈~8Wt|Åg`{_M-ȇzp&MOfvBw&5;*'/7Er+<fwvE#^3NFGdE`%I%91X}Od`<5,V68]To4[.؟0ggvN Dނu= rI28 ,ǜP)+OJ`*TtСriC.d]$c֩h?dA }˦iQ> ]?BzAo,0dޕ1K=%F#~ZuK0"p(#cGLixdL}V !DJ-> ]ߟjo/M-@,% i]:eK~m6Xt꼿<3a3IRLjbP@A0iƖ!3J3ƶ0b_j Eq3 jwSOpx{VYt=MxȥK8. ]e_=j z =ۜ .A拠aaFkjS7p8\mʐ8rN97LԡZ;=H7>h [l29{~m##l;=HL|65x} |.j3" 1MxZ巣l &BkSB\aarxu(㽇B֜5_,/u(7om e1ua* 6É^JÍsIf9L6 Hݐþ4(9#.w,{Drq5}\N~-Cfi4Nn%J7.R\/B%3Ў3м^¤q ܜR/awXOGSX{ e7GU)Iʔ %BQ޻,JNc$z=ā ߣ-V:ې"R@oRZe|Ma+.Z ?[p,>_^ALdա$;/1 -HӳL{,`VljO]YPK+PBН1L3?99L-]+qjHny`dku0&0|mjE"7M8 Bp½F=ɾﺂZvXe+@|u]lc2Yq}.Y PH1 p" @q}hO ^꼾4gа .ns鰞^;p+o/Ihٙ4sÑcH/P$/L)x}'tNߖӴ7Qe09\ó D+v>co)\т-}e߮ 8KP!+FV[qFǢNWw>h{mg1C+1ӷes_ NoA2/Zr?񊚺CNS?̥ -,]Ǣo:49nݘY+`ZEB;70e©!PgQ^dcO>8 *$/({v rb2͚Hw%8:ZeX5X[n1v~MγkD϶4$W:ݺ(pSӤ rzfܦ9*=JvVc:.Dڅ~ZFpUK>+[i5JDRu@ǬJ_nCFE[Ndެ =׸z \  .CV:;x<dZcLq{ի#);7JAFKJBWXRE|R>O2ݛ$m玑a(ǣc2=<]/Bͼ0bIz j<8&Hp gC $sPkXJގFƭ_S׶p6vM#ZÂzl@v`Lo"6qNjR4W|/.|8艌`a@tN0K֞;wRteJ;k^v&mξ5QS$:s_R<\`5U( =z < Ja܍ezTb>Ԭ[']U)"CL#s*7Jp+h8[ B]?bD^i{*2l%{>䠾Q+*Q";_>k=4p/= [/Q?4hsg 0MkىK !GUDK'̹wnfd2!GEAF'3 =5::mb;WE 'n'y6aYmG;'(@ JjXi_՘ޠ2*&- Ϫi}/丘~0[#BEcI!( wgf{qpkKgxPkq/}g36|w߇Ύ 3QT ї_d' lؖZO3%Q볶>?XhaUzr pF[]⻬Thg\,8-4仵puk;G&%iFƟ`KAN;K aIa_2$9>nJ>ی}-Q2UI@)x(γX {3?H~b9qj2XuzXe)"B MЅaio9fBg]K] 7Y.w1J'&pTR>,7ЉW'D_;摍vubg&M& &u@?$;_`ZukW9Q|Kɥd@P, [;ɼ|]{جҨٯî0:s'5dW/G6i)֞LQ(]=썉Fj0IFmf?fZ?󀇟j*߰?oly;kve{ϋ~UU,zɬP.M&Y`LY=fd{z/MR4gDx:`b{ϛo&{=1cʰpI89= ("afVIz3iBF\&wfWLS,lOZhhhj/ T2f%u(juWɝ޵7lڶYU$"f3Ę,Zz mnouBW} rr?mF5@Q^>@ @U>)8}շḔ݇뤏r & ;GU!6< z;>K,L0.Ò{#NW: ua~~4\iQ7WjvzU98xHJiInЪ+D D 5EþgC ׅB", &J;/@wS?~J >2ƕ*ӨDt } `^?Ԁg|xɁ|r\/m9^OQL`(6G`cC̟:|4 J%.߼+w;ej @i*711TIRYBm;rPDéM$453p2gpsͧƁ jٞ uhylp/!Kzծ]"\Gna r+39:H P89Bnߘ{# $BRTGħ,J5tO]O!^I%w@L CbGi_$_2 BPV898Q) EHQ:W5cGՊ"I"uh;ך]0SU>Z- a;O^ |̫m. 5.n"NE qbhpltXTCS7V8!dm_ ls`_7چ-փ"[S#3(I' W--#B@2x-"W>U Ins YDJy"ێ(уcoe0'#OBq:܎%{[4}t"LL_ 5x)Qk흞v{E͖t8;6l 4q7dmiAS>PW IG(րz: H*0ٙ𧓑HEYoir՜ab=e(ˮ|C.vV~aA.wõɣпO=b+8%#;!ڌn&]QfXṊ7_} f&.9u3)XW\*6wކj҂&+,ez$+HM8<`|I ?^Ru|tPhPJrO{B(_:hA8s _:&H'XoTk~;:6FjX#T&42+P&*`0颣ܛ5lb.OBY%YU!HpֺF&28gA:oB̻ ""ٟ#G#^vMB޹ <8Wh4u!g&|KIָgPJg۟`Ɂ1ZC+RdKF+BYd4d#=Xy r`$ZG%hލ9D" dCtuRG]➈.O "8ޚrh^6뢅w[w^d i )t ;3+fsE{W"~gXwKS2(;2zc٠rjT7g 9׍3o"<ӵ2W[o}/G(CٹU|SDp ǣ$ʌC&?Rr Q E* 1_bYK;u!{gzNPV.Ǩ': M^ݧ] ]y,F)_Km%oRBDY&&a_NԆA ٵ뉣/|A {"YJHX%xDވ8|`@EE8E]<$a9-j;X.ObL &g8GmX-b?,0kRL ѿ[aB3SK8&mXJ4[U$O 1n h/#Qayg1|<~ߪ,s65 AnIغokԺRŝ>l/>UKV5x4BCDjf_l֐ޟ'l,-(c*B'4y ij'Q gZ`n~kΐcOY"D=< ְf_ 勓 n0kהe}d* jqPrڼy6Rhl%ڍ$umLqueE04=b[%iU"]$KDP/CeW8b܏ml/f}2pz$$qtbiI<-lP.,D!~A ??x&XQTل_~ ,3f[l Ww =xۤ㗋F3rrګ86P5ݟiSl ;f2UrϕFץWiڡmLF܈ AM ֝7c:D/G#qR=V =Vʲ-kdN܅{n#L:Ϫ"zf(%ڟ/mD(z6.P*T).dcjډ V|~Z7o~7>5МAsbErtya(M5dX}YܛHq9J'idDWa{zi2y7Qn|֙+jb"%s&Ї{Y\A x$?h!!&Ù;L^M:1O'G~UJ؊ ) U|L!\#=ϬT =ԅ-5yOTΉΗya +jw}\x3qw}}"/˞n{_w&wzk2 ﻛ_V<@)??$aLU: xTƆ z$R?̪`OqB>@p5"PX/CDZPŲÁsїXP[pE3 wbx{re(47m [j=3S1xmg݀$$1`/",LkV=L|nTN﫲 .|mMICܪқe[RFM0QzS~ GrxjÙ,׈P\O#Ѷ:cpjqQ.>iԠwS/0$H)|FHp1?*}P< ZD'b6A* ’I튪It?~kut:+r$`>;aodzm/hk Q_ǽ;pH:} T*P?'zT2 6Ng Ϋ D[h1P(-(-RP62_ߎ=2Ygvgݤ-A-n8V;;`˚ j&+9DKI|c<;%"O?\ -8J9"ߒtq rŚbt!"u]IDYO}o(J@Q-9⾈DѨ6Q{u@7:5|p1a9z ]Mj;^9啨V4̹"1U~)[Uۏ`qpmB ƣO?2)<ݙ#c#fǪmT֢_c:G(jZ vǰAz )ܼ+!.GiJY* up=Zi R|eƚ\H@3@ {j|ݬ\PQ.DJ^>P wUt.UľIMk@0 #N|[͗>鑭j+RGjbſbZk2)?ꦼȢ'{qK mHʽ4eaxJ$j2`JL#"$@C\s鮅~Ooh&'0Igz; YIZ8i/1(3WnUܒ.pî4QٰMȳzmmcțϘV'T݋ؐGrS%BʯE{t\y󫗟Ono!+'CʣK=\x(D\Δxͧ:T 7CXQyJu&z䷨v7`y;)rEOv^ZXr+M x_|$ޏGyZyj+mFp숶GCi^"qD}>,<0kj&QQpԅ'a^#$2 9Օ{djUі|z^UHY06ox|dv"K"XO =M;˜Dχ6E慄J$PlJi|^psDG\~NߙcI*c-\fqSFTun4ZS߁5#tlDyÖ"wgCؒ<}a}y({m#@VGDcB@fhŃ{ptXL 7ɿw5+U5 8Z*д$=CbDfቡmwİ Icr6lk!SD(шwD=wCu Eoeϱs]ޠ8 lJZـm%8ezNO0Q] yڕj36 9ڸxM#D`>8N\$7-(d3R NvfٱY̏: 5G g`)!Q'1J]l!`^5OG{@zp͡"M^G0P[G&W'3cH՚0 X+qlImwMY'WO\N7իnd'kLؖTwhy#Mc& lFHN䪬Kz>^+RKRz"+eD/`ld=1();0';0QѰ&$7Z⭍ KNQ;`0PfT2hϺ<utPX=\ 0o,2`/7Rth;OieE b&GX4U\o lzͤg-oeL"&~OEC2$1~tg#ɟj:KqCơu|$O*{ہxd0[vIIkŘ!P\"KiQ8'_~6Bv|8Y^ :oFtS_nHhBYr6g; 7'̏n+Ex/dV"ڧMdŲ cp}*te KCsC>4ϷgiR޽Gj1Nk؊'"0&LA%KJuly#hSe9oNF̠h!LWA#aBx,tB:A[@$ѷHfA%=8KR=x+ nqb61ւ@Mr*8'7ܢdWYQ~,o!ד14b8}Ĵ^0coT9ZR-W#f5}3ΰ.b3׾Vd]O'H*y .Eknb*rHP7f7:Byu5 G3 ǻr2^ML5Q&cw'EDUKݧ`™'؛2 @ "KC{_E/$[~75J:!; a+ih sD! 75( yu|;_O֒{ spiT ހMG[_nC}9>vls 62گ偗q0;g:G"S D,`SC8iP<:_t&rÐ@yEazԒUUA [o5c_۵COCW>=L~(N>7rJHM^gOZBZ_Me tO9}a%}lyADNo(ϖ3Ԫ=tO+bi?NU)$hIe6]=iyTd$r ,h:wgbϦX&‚֕g#p/1hes~[ꭎ_8?N莼_;gQ:1N+="U\źM0&Cg|5iSD[-ye6RbTPvN w_4>)z8/V^hCt!Gٶ 6)M~@Bo_]7"¿?Z%gjdxK`3n|a/11 iA/s94yt@O<.kkrv̵4?K.* !F Tv1%Ub?:F|?Mr5׬ʏ I+^(vO9lK=WRnD3#Otma:ցJ*cl#^%Yѐq"d(*ua?1~}mJwZ08}k>"F7(ӗ΀;0S8vH]meA0J[ɖ]e4!a{+-{)S ۀMu1Dkm7_McMzד60X|Ujs+zFv 'z%.r}=x2I Gso|Y^_& 9'7cW8"As4vmCǖĘY¿ b AӇRZ/kCQNy;ިXTZ̋d7mhv/av6acʔ''W؎@mwWF<ŌCآr>{'!!KK5\ +˓f692zxjgb <,'ӵF8a# d}r6^*k;wsw4thWb >fm%Yz (l^$W-+8Z5]CIUiK˥Z4Ix{MV8WD{#ZVL{2Ea5ܿXIR ?>мHH:\'Gi\Vf&o1 jHT|H~x(i?Iv.Y.}* ?x 67gl ڂ֘:jՏ)5ѤiHC*_]t]F_1"@Wp\ ,o᫑BlלDn67KKǐ!ͨɬq& T.g41kH(;dF˄E_U"f6dxv,`n%phn@юL9 *vqo%Kya;x>ZׅAs9<֚p :.꟦A9KA{=ktr{ @:ZAxNAa!%&V[nSі`dZ5zp䷳gQÂ"FkeyftqA+gt.Y JHGݯ~!R05NJmپ= &"Q}qۼҏ@J*cc+峰|ꙓ&Vbf覵o.9([A/3iu:F=lyYO[@Fښ %@n;v4 _KX,lěs¿뉖6n@L =n5*WIq^Ex9*fQuBq2IY3s^@OW,vm scodϾu4-g\RCR{&3NnO{;<fZvnT4V6tը`7;1) ة8WD|-CF"I<>zEK'?x(6FlOtlD 'Q*mF-]fU=Dr{}Av:ӐbS-ֵZK0bJ!~Hb]&# ʜCсTy;d FXv_,ÓsEL 9 tmZh%2FzǕzp=7ɕHd3%w[HTp!-ꕪp&-b=ѪG]Yط| C@h߅yI6xO1.w6ӈ(]a؍+_&csrYiy( u&VKEH(;LCqt~C$o_+@=?DiY ~u)RCI9Mm22r51-8ěf_)_PQ8-UHHV+O

    p,gjZBf4_US`0k9E_$"{6?cfN}*sܴe\\aKS.:pu)^Q FB_'p6ldp"={+=y7vxp[j,}W?CIc7F >_ ߕ&\[dcƒUX34L|Q%);@XSLPxyD:;,ד}Z] LiTh-XXҦL/`:oDpv?៾Ee2n\k@3ZEM7-QbJ 0롃mdOӆ?)K]:6,h*=zegPD^#*#_raG l n\ĻiiRO+KRjd @IBbds=ЉaW PC;>B"pM{}7K)u1{9ZAفS,B_y("9_ )i7_.&n?gp1g@3~ ?b p3̶52#*!wΊN*o++>,ZNΆhr{a|)=G+ŬR5:`ca"ZRh[o.E#쎎RQL)7  T1{GlZQ(cϰFgJ]{Íq6?P]Q1ɚ&xq;bE2-KA&XQr)L LuɖWWX1b'Ȍ{{?U5FM96^ hҫ@+ z?{Lj?ޯӄy/J6r9.h[DvƢI+$$%?|8&hsy!<*祅Ύ3A d9sh5hP.tKQ}!&MԈMH;MHfQYCbIb*f: YJ']l=sӱ 7ܯ[^FNB!4H97^/a mxh$$hK&Z㬊KZM8%IPq!"3̷P֎Mn0L K3pd >m2<*s6V3]I0S=9Ý(l@W:sΗI÷K6!wM ,FÖM8ƔXtm+2MyȮiÏ).r7ғ DwF"sxVzǨh/^+l =RftjT^E%?vKwcC=PFKrm'thL>?Alat0:]v/eqǭ/;,$ r35+FjlPhn7}Xl@ժ_ͽ6@Of@ ^)TdmĜz3åNRe`~?N饿3/(N\K8>_^smMSZԄG8q2K7!=H#l\ߨ)edj1Q5Wѭ7бQ ΢ڏcqO`Y;R3}&j#[$0W3 C<9* m{:8>\-6[|Z4½!?݌"M$Il/a\ܽemy{ܗ Ni|ޙqHzΎP\dvSʎwxG5)XeM( Sxw=~cN"B23M|<8ڍO|vz;qF'{xU(WKRĜ'%P4TCkӚq)dԹU'Fŏ|.sr#KQ%Ep??mҮ\+A .@!%OS~\+H9G8خD) L\'XٳТ~۝^bidNK8M|%^70e #wZf+Vf۝m*-<A\ޭI ;#-ec,e7wH}GN}=VJ[kȆAhi9q4HR @DZ}nAt2+ߵ6UmLbe4" 0EQv8]]}nk6]< TPW]x -==cR7OB]b\Gih1$e7~'o#,iSϸ(!H)gOlktjhHm[7*2F&%ߐ+ZozcF'bjA  (XΟoM4тOEn#Z 1x+P2_1wuΒծR!0@M&qoPܔ!K2'%]y"%Qu8ĘQ)? l VWk=z(*3ǾF:8C]s]N4]rL&W\NdqvEN^Í_0QR\G4A/):Ai_FVǸx:L @ buνk ߲;#)#YT2Z QmZulR+Kh[=lvvrz;yIil. U +L_&$E||矋3anbPYxwK^o&K*=Tv ZU* Q27 ~REMti9VlVAP̫QN/qN@k9},1T|'|Xh0{_t@RVNKGy=7A8͑ŪH\/"MW2 ix&cمGJ*.rgkf6Khzvz,yZ1o3M!Rŕ9KXF)PЮvŀj.=9,wݩ]+'?kiL2 \R'wOE; @oxl~`Ati2}`*PfsKsgJ[ퟦ0M wy2cVd+SQ:£韺X1@ϖ!*XY=A0G(o) yCl;F zcRD兗ح1f2tWڛvť'rB "Ku9pb,e;O@L;dm_ E(/|}Dq6@!ihuQi%=lXطe԰̓!_7Mӡ'(.E )!QYGݰ]enX1P)e(>uІH mx.W9T7jӟM)~v:nMYW05x*iwru?/P.~5 >uTͽ&s5D.w#EܴB.z}h 9dl+f!BKtHvfַ&|}|q9@<'З7{C]XT']ϝF^ƞ6|BF#{'а=+dgm;k*z\`0b6yK!:I'TMU~CTe0Ϸ.:k!*Ld8i"ND/c.1fTtߙ{ϱ'>'{=N [rPKOeJ-O#CϬ !pJG.ikΨ!OvX˷40RW5!(t= STK⚍ZP4xEUd C,JQ>n6]cof=8H@Wcމ^d q)ݷ}gN]E2`~!sMX\$a[5<6WQIXN0<_CEEq&"O<DKk_쁐 RBوO., 8T?YK$Z9IEBzv m`mܗS VoBylG;P4fm|P?H!6yZ2 NK GWe1Kd^OtǼI&IMt jmsD1H{eZ0k(- T.G^H (yF}:L6H*w9l~GH@vOQGbN*(9)eLCX^R6nS| wt7wkcfSΟPA(DDdNֽZfA@ b-8Q ~nDrp3;`c}ᄉ-Ťy0loØ$Ö蹃1 XByO 4bӽ -f8ڔSز |$.;n2;['HP~yfaۅ.%fCl"'5s{EKYP) F?< ]r _.:suUJhYaLQxb#)Wz/^иH}~ϵTY&5p{=,f>щ g`f*{#OH]l`$Q ey-8\UOz$cМi (@qI_钴:3 j|ocN!RZ;tټ$ɹ-0!)~B#n$cdvC!syJ3El/R?c^JxZOYD#'\>.=I`a>9k͟jFyW%UxҮ2S>gW}QI: qK%z@8+ 2b<>fa=Þ(َV7Թwd T%2 _lrѹm1F;D*:UGz'S3Ax2s/BE4{$8;œs=m}-SNC%tbK`Т;m]p61* T>]I ~wtԚ-Ti?+@#ؤFŅċǦuJD8SL"!USM?O(\s*x;\?ݰ͡z'пrgp_8]*)Pp,m!^=C-S<+&Ñ퉡/ʼnT@Krb ϛwfa4Tks19[& B /[ػl$;LzpB ! X!lfV>X/^O:W5ed ic wP@xJXG m:ɒ AZEA ¥׊1E͔ERUM0E3V!}-wk%_fݽ3ϝ89n?b7\Qx5ȏ4#*{fJS>>с4^і뼚,QW9/&+zBm%;ho9dSڵTPuMU[,'Q존TeT(K0kPcM(I7xy'!nNu.#+2O&Ia {ԦRM+{٥䓉t9t pYwrE4 z| $YYXe\sgbTБoRNoTz!'n!'[㫿S޻` AU 6z?lC+/n fB%=&FP3#?G`V+=FiA`5'wLkz\SiyE=3aЧ_= /9[n |=6eAɓDŽKN'GAHY47WIdve(D}z{?cfiqH)ꚸ+{>D&lߍ,pXը\HѩLݭdRr%HFP{wy6̐$Jeɇ/x~IFďsT5d ?LDVc]}esixj*TjVddK]&zc<*@w3Rws|tEO= `m{[UUwJkAAY^_MՌpn)Q1rHd%Y[ˆ M}/輄(E am2}JNn$ $flnFUcm|Yg:O7݀>W%-Kp =5|sd?ko8+b|q%u]Q*|Ȍ&M -Q@$Zikq@1!]a bMTawRsE/SoC{@Pq8<rOZ҉O{0VNxgz_Ȋ`Cu( 7<'yBQR d~Cׂk<^m ,GMTZ餖G'մPH0jdf^eK JM93$t4 7r:aQ,ʴJ6 9bN-˝▩#s%4c\~ov?F=  Gm>$1/>5xKs-'EJnAd!9c\>"?Aw tA)ilAr2գTr k9 SZ^jp L( 2-pU{:^ASEwKĽK{+-Q>sRjwDdK7ϢNiy2&@&pyI%sÖg |#g2HuD³. E"$E#k;ػ K"FJUBӲ+:C2]RF,.ٙ1$&rt,P#^iV8ޫMwErx7U [njP qDVHRG8J6|rBS,K {*"%SX1xAac \̼Т(Pt[jZٗNgO76KY\>HdŃTVdwk[^k`aʨD4"y8Ȫ>n=9XA;-7μqkԒ!@StGu4k _w臗vcٻ2aE 8A_|\ '|L k͂LzMV+!{)_p A"`Mq\WᷲIH`+50c#OD`ez]b^HZP^ ,B^aTծYkPT QF飁4m()Rw{>`F(E~'@GKr*^j-^Oy߾QzB!MzCi5ỷ!˧!n ҿ'I~(i~?Zlj" AYJZ"Av%9hSm&%;ќnElj/ i"n3dg0 -h]^XQ?i=xw&/(1O_7962R  ]"s=͜ud㇏$J^ylap/?Gr|D7kjOLkI.)1_Xǐl8ʰ)Z?wɚ-~P V>e ӤCW eIBFZcx\ؗ~Op~65d B5_VeXo*Z֞#t`W!2:I3ӝsSޣJ|)bQ;eQ6dԮ zK^F1n1!3N,F18{FFR=b"³fbUԑ9k imߣ$ cj|5sXqpe6*$Ŝ֎ )r䱵~+ʁͻ@,vIc W6Gǹ|t!,Z ,^L #=ib؄̓WvwUeX[ɰfc̅Rͱ |d*d0, t6roK|'+#Q!7jҐW(ɇMfkT9m\U|l/#RӼiEHb;`׀n]yo'fm @- 8{InYQYgG)˸4B%H'~NpŦNW#o4tIcEٯ˻&'x;Cd@o3oLa s 8&RzfVч8Zzplj3!^-*_"xnFg&:'Uҽ|⌓} |r(J 5p%/T0[(Ib"XKP̀ /dzWbeοtrG\__(Ǘ=}',O2el-t%Jܰ)`Ci:M˸nk ^i. 3QղKEOsI@;-݌1n [ {0py3}I!rV޹|n(W I2{ _̙HmlH=Nw`ʭ]y}>=| QwܽgSr8 %ecurtŰ#:(9MIp8PL#! aؖEC1E ^s1n?]2,_Ц̻g.cɵ*m'U~ Q,YHRit&Shd"L̖ջqcnfU R~%7HH%_J>xyݓ/E*ҚW9 M@x.]D$)cX5.-^hl Ǽ#tfҥ?K6̀3ҏ m?ՖԖcch[lۄ(P3BY? 5S?liN;.gBByyg/$HW&<0+ 2}A[!?.[5vz&6_+:䛖 УDJUd@r5T Jx͢؇ }n{AlR?=&S!VV]|xV$XiohmQS=F5 ƅ?L' *q Ŀ(חRqހsBbBDgB/3WF.ȉ{d'!b&*gY+WX19IuqmFl2V1AKq(pK;һ{|u5 F(טCf },?[鋏Ө,.a'x_;`Xeɴ935W}LnFl{><_RJn7q:pb ͢vHf?(9Ȟn+%OA¹mHR SHS޽u#_c=F6 Tn9xSnnQ=hR3=nYn6nyc1e9ڼze0QL\XGʿi?Bn<@Ϧr%]GI/>s@hhst*e#Jɶ p,M~ٯt,v0y%-g#wV! s.GT630N22Jh1TWqb-,Vy9e8= ^XU7_]p#ԮhfoHiiT(~|pX]PyVHM2M8QC-Ms}ZJz#޿2aYh4ǑLQ@HV{fвrf3f.vKLi}݀,бU=lbhKNZv06k|J̐!7QS30:6;1XUD [w &%ƤXyp88Qb B݅ }b9>Oc9SCk[r}y)=1p+;(96@D6՗op· 8Ezk-~3ŋw(T j})&q[}+)BA!K|{gɪ%kIC@6$3rWH=iD7,׍XYMW!>Ze͹A<ǒaGlZƂJn^-XƹЕ1d05xk(;*14SZ,׈q7 oxR2Zr]uN  /VJO]{sF'YY~1y%u! P;&q70rƭP8}W 3&T,B##vy8P;<R2EllClχƪF ߉Xg[߷ sќO"T|]=Vr, S'y[(E.ӌ" lA`iJ?f.ޓo;zhתaBF3N2b,E}cqPMD- r2H)FlJ✁ y1-,`m5YaZzJU:,a`O_v1̤1] AQdzɄ%TQ}YA?h(jQ8yT{Tl^a_W<ŭ!tE4.B vA'+rr,/;!I[ةHcc`E7B3e I+a( Z'f+ľ[<& NgOE2fuv=)$jB|q&3U/mƩzig fq7yydYIGUzi;!Ƿ{|W̬}d*;I\P15r(F!g4v}r8W*td2*/;]/ @*>` :(֥&نau~8(`)mJ*R0f}kf3 ThGs,C﯐Bp.ҼL5k `8ӣD#ZN?Hj%2Fh} bQbO(\F#,C`*XH%i^sU]).M@WFKKB<@ıR'WMe7iu6nvK1s|QE|n//K1u17r:ev)A0̕73f$X;O69qʯb|q{^ gnu&|F,iLُ94zÝd76Qwx)%̫r௵EUWNu<@R\D2`XwRj+?^˙L2ɧ^zfŒ-S$gԙVaƴ ֶIXO̧G C7ma@kLIa冦BFp@pZO-L{ ccpɼUmLR8wA\KyAA]4ZgFz9XqєE] 怵jΧM.nخ圗B]I"OhKMO'T{- q&dlM]03T&l)G Y"7C^̾]K`2fvfxԧ:P+yE1- |d ʋJWR4TJQ=}>37so̵ Gp'=ϖs!IJ 3Ԗ[5j'`GBq*A ԾBR]▁07_ ǀ_EŴ7% kiF_/ :?L"kuE&Q./]OQת^̓1jjuF : 8-QE`~ءX 3 dc_'"lj_)i5_Zc!ٟS]R׬Ԧ;@HT*{> 6C8&3]:}kQNX&!Lp @0wV}榠PHEgr1 ݕΔ]_VQ?G% P0Wh(Y6`.]ܿ mLѧy۶J)BDiçxJ,~;w^SgvČ1m.sfhDQsM!N'G>;]I(25+MtKFIۡK̕se$ l3ȋR4ϒYWEGh-ߏQɩg+ȩvPCrр:/F  M`xpÙ8sJ~mi_=k2Fh0äo ?9h[rO cp:*pOAWImDPGpuyjHLJ +j+!T}%F"@؏N+j& A8Lr"kٷ8cQ"ZݺJSUyB ̧YD y/\ uդXou!E+@BGig>\7 u4{z7J4-;y4+!-pޑw==:4gZou3 r0JrQ@81ڤZVsyӡ"l""s6chauNh9"*W|BRS]iᏐqeZ!מgwO2vT!lA0eļ1٪!4MD\:\v!(dRawTyDaEa㟜%3na]ƀ|x3dP7K-#vq-,aZSkK`C^"IJW%9^^(^/ww[Tzմ>WϷr FnhdEx ey&˸W)]ݘ7qƚ?xfi['t2s;Xl|(KZK!\5)Eovg30O' >%%բ}e:q6H:%7Mf9qg<}L0E@e[GI!RG‚dL]Z뻯 s(b{ ϣEVPq4@oG[{ u&j#KŬiPU홈=Jdӆ0Wcs xmboh,~=I=WP88eckWc%) R Y3|(`̟PkM-;Ƙ PfAgjyF`boz]QQp_O=YJ~d:_ɭ=vlzt,.Z=Rh)C8U!ǁM<3ϝnxp:CQ|3="V׵L]t[JXȋRф[: 6qOxO;BtƗw;Fq"wpVtU-Cмmv"h|КW$}ty\=V*[ [0Ec>_|w#I7HsCuѫ"u$q6XS!o2eڤ#%ƒu0͖I sX<+ eyr?zGnYXFu9b|.7zi=@=B&/`%;к#fDc)/K}Ӗ~6. [UA u#hp\|)2*=;`MTDG>jM  PdϢ⠒^M7' N}I(OU [$c/g"HrfKEArR1Y|pH+n$@]di;a ߞqQ -FzS!a/ڎ ,962Sjy%yCӬK"%5>etŅY2mg[o"kѲisuX ovpkRC 4dFm9*ame_\"7N(1fP1U HsptۊfEc0CF]FgaH?b⦇\:o9mMC0EwڇC3[xt5^j?Ϫ/ \sQ\b7>دHkqyia J>i{.r؂DTV5Bևk6`+"< c2hp~Њ4EM+Lz5 |]y#$ׂ.]O.ߛP?~gLZeN]Ja>C£r) Z-9n K]y"WКPCʘԐ>SmPPb.0|jE16pӡ?S*#Z-$KA?<+&H %yE* U>=׌!m"[R-}}׮bYENNw>yLC'zc҉ktuSW.ÃS`Bsc :6LJ_?.D6b{RbjƍQ0(qC׭(=Lp)蒔3kZZt8%DD s)-"_h!1LX[睩Ȃdge =08y{sQ gs ԱgD,||lsYdI`AڸdIq 5@P |CF\ KX 'ԗs&aMWtֱ!ŋy\_'>U/%9Sa꼡M"'nE!GOEQ2cs`! P"u++1-/kUg~Jw,"mz΀sq^lTț~0\(09%*wvBRw:"r#HTy÷'x*7A]5}MORiKlEm8ݏ_C7D'bzaYS ɺ>>ΊȎC5;!" AF@@XUU PDž]T_:E11,5rɼ_3;(܍Λ[zF.Wchj&Fv鸟==X URP ~O"3[:Ћ?if$  kiu's]'2Llzc|CXv4̊$xI8!yEӄn1WSp݌pO.y}1o!sVjkF\(kOKX%ht\z+SGJ$'obS_a?wJ32fUWۜc!MwyOrH_pQ(|A\ evQ͙W.KѨzCLQ2̞f f퐾<-@]pMZ!@KW ]Y%"~UEȾow1cgLu9M1w:R1:u~E' $l^bp` ai?pk>,\gR!bpt=ߒ"r)qMQqK6t :#WQ1,z^&& tĬNs͵!v Tu.rn1_84[@b&!xAl7LIH@"L`C̝a)l lUg+K=qI >|jj -E7ua/^E6eVO5Q$R[A5^fm1!y˹u9y2[0W켈ꮂXC(m'|-ȉ P.KJ]vUPlկhS ÙXArV~"ch{.\{F$(VN:Sa|טC,ܙJFDN@Fp;Zij>(5iɢkyU*)6wUFZTn&tq*O*(Se5lTH (s|@mא Sw`W\YEډ2Dֻy='n]PBE: ?2Xamڳ.x!)r4:O,_/V,]|[&DfFʒVuqmlsQ;.^8F ikΛEد#7?yOdf-+gX`g˿[Z|F::[K)jSCYB2v-C7UnbRjhc.⨯?q_MT—ګ~ Hn]5 6>گL3]XT6fi, ۗD niGgʷgT7ǧt#]td)cpVe(is'ht:jq6_&.*=)W6N R uFW9@k6q30ާ=Wb@ti^:#c oзv@`s6j}PV5Lh D1.'~l #p9lYVţo. /4|$ʅi@fW Q|xJ戧6w z# *Il~TX(%~7ٻXMk6Fј:-VK rjP!ʃJ?ֆ[] ~7NѢtYɁ40mßs 갱S<܂_eaO6/QQn3nčDhK^ ؘ5mlj8F@UJn$tJ]_m >Znyk>e\w=ͱQS&P[;]K m\4\:Qhb9&\gUr&7Z!3ҁRgu7}_Ip-g+Swz+0VLS3RAH)!KFǰtZ^Z3 S:gr HT3 1f9r%p#sӲ0D"5g4\H X,SV*Io.W3j27MT|x=읂#@#<< JpitOĤp|qMOTI6%D8"ӁTDjiuzJ*@Oça6&џq€rҋf!l 'c"c@o!X~"j^879fŸIjkȧp@vƛF.gG)&̲Y^[%9dB#N2LO23v`[YR5t^)<:$Ţ#pJuXnetG㆘hY%)=lu:?5ί`BJx+<nce#Y_>Wb=Em-aRVҵyHPin wˍE1W'h5oUR m 0Qw8>XWHVK]H~aN3F3VyeilbrSxA:ˤw$o9yCcY'"+]wI'PpX D?s@-:Auy_>jAG9;~ey9!+u| DdR ;Rz\Rv8ʼnYVPsDEU9Cb@eC}0b<*s>^ ]^/mi<'>ls:w{/T $z1ѨKZ33Ȯv |DpJ*^  @}13dkn"y(@*hF1&G8z°1JoQmj$c{z1mVk遤̐`s M>r_Z7:>1ڪaބNC,Ƿ+S!æ܆E!3z -*wKS**u4MlXЇ:b{CEӃ'}aMIe ?,XObJ#ezsS"v(w3zDD'/3>Pzvņ&ZQ4xt8OJ<XAOMV-.3@:Әr><=EMᕔܲ_9& Vk>MUYyԯ-[Pӄ7kyu_.qE8+5~:lŤe/ zNRuUcHi~pM̱VP.+b :eAOS1UfjB}WϧιOd7*jDlQfޙ9ercx(t8 CMs^8ߪuU+#\J8߈ѝ–GXheKS̈́xw$&g|g}@ꌾN=HHM,'l@`&T&* c{qUDŽVJ΄K܀bgHe\y^vۺ{jG:!2x}` 8 ; dNt:y6P`]H -9ɐ,Nyc}B[1xRYES>Ѿ},*.*k?Lᑮ5憫ob y0R/0&GWqWt?GOU];Y@"(^@Bvd¦Z-@7%:zfQx=ß/Ot\p633)9/kYyּěko@EXfMV{xp\X,-h {O l8~1UV,raNYQ#l_c'CCAmcLp]M+|6O15328ٳ]ɨ)+ػ`R;;Bs׋Gs^Tِr@EP=Y[X}J:+z:9adp3L2P'cS:T]Dvɺ%>)7Yh$.Li۶Lc t\dؕ+Qo><{tȗgbX{-Xrĭn *dY\|Rr-obF&la_an&ҺSև3>wWei4?HK$I&4ԨJe,<`?iH'\A5MX@1AR/)D ,r:2(7RK"/`6I nk& #8'9 -ֽ 93I9"h#`-?+req$"DR.sέEScV=1= `#lW;ackl Z.)§նSkuiq͈/pmWXHoL*ɹSH":M:Aoy9>^Ko).Pe({F4gfd"ћ8AWϘƎ:ڧ c5aǿskba.és;6m<ޛ{u2`z,Δd'0#CqTCQd~GE,S26\|I-v|KĐ=y\c2cH4 euCr >z<}}H 07R0,lh%*]R9r߮ڨ&uE0T]p)MHsC(M~!ߩH ;T76$AyLc6TUVy\w3+Ȓ^#2@lb穮5C{.:2 ?ju$9M2hIDUho qD=_ e.)j ӯ뵋h|wIK:= Ő_4hz?=@MBy'7Cw;ZR<C65QUhC ~g9TL;=ah/!T}tfS3Š>R$ݿ.푶/~'sU9C_0`@$Y|jnnU`nQxd*BCcb|Br>Ѩzt:*b;ĉ{Є86Md8,`Yl0 M\N4mΜu7bNd@I JM/7_[<4&+ C[d+ 8q%Ȕ^oRdַ!ZV;C3sa /ۿDwt~CE4, dHʸ>j ҕ%3wshu_Qأԙ+ˆ^ kn9&`%5t >R`&?n }ggw"nm b׀Qd_n1rW (SIe\{@%vDr\8jJœ|E[}m P؄&f6!>9 e>1ˊ/f2h^Q5ka,Z֕s#=RKŞ3aA%zݹec#=76 6%D>#eOT%[XT-.Ks^.j;:xHO'"/@-jсN ]ֲ]Ub ,|B? VYv'd3U_#2op|;X&H{,i7yҀS0}B[tK+-5ZJƫI'=f'H}bAewGV4P_̤g1ur9ꬉۊ`$P\Yke-te2ŪX_k NA] VQwh5YԋWЙ'_NQ!L=73d;{kq,3L2 Ȕ!9}kИ#&pn65;h+>vQp:):8%9mZ󐵝3{ۈlR D0s : x´NU+ǐ|QLՐ(mL e Nc疀G.VLh$lk p\N0cN/ LI=tn/>qSv_6x,u׷G7B"u4*GBCUQEc/D_Kc}Σ=vSs~JtOC3_#%H!zRHkuKr\1P`w;@G=&|OWľC;҄*<'A DÔW'Da0!Ldu_ҁSK/d8Ȱ 0|w8Ы5HD,1N?v,Cn dbAR̯VFy;R/k<5ښOY&{sWgp<.`7q xPIB˼֡ɥ'.zh)a G^1{뼾M%N@(u1'BQXQ{x!W# U$DrBݬ&A(:ȫr02j"~h 禭oh+rpI>aR֞>q*gYqل׹.#uP㴓6i3*:[hYs7; ٵ=Chhcc 8>^&;û՘(FM-j9!W N,/Xzg1Lb_,p}j kKae.Js<hK=xZԺ.|ނ|sObvJ}>b?R^-kLBghv&sI:&'':9-42pޓ@ ?wn23c˺ClQD2 4\ >)t/{%z*JyA߄'O`έ6@㭸`9r~UG/m zzs d|645&2 PWAVȸ{ _1,?*|2[t!.O0)t\MUEt r,:RT ?> S@0]!oe]/I.M&:  L]LAoIrD\\zg`WEAcFv(+&?mƢP<VuIV꨹olDWps5tB D63 x0)NryUR jY@$LڑaJ*qܭ7n.nJ̥ъnQ;6b/_ͱ hg&]HDRz.dj?M^Oy'o=h̯~hIrR@,L3qMEw>NA!+;al ?(+/&SԐ~ 4'vEv6_ `!?=%f +d^Xzۖ3IY+8M!5)Ԋ P|*&#FB H3; OS((XIɧەrS,*'NMԫ?6iâ qkZF@[y8!Z\=ל;K]΢\wίX,;Uu*E ^Xv˄x{I%ՠL6#WkdR 1gr!6 սQ؉ז9KHˉא3j@14yŸSRc9_3#~ոփҸh9T;+)XT\Ӡ ϣ&ya/g/o/P G P<5yc3_\u'D&vgqwF*2J3('0 QwD_-|rx,&M`hq%@Y!ˎMO8ȢWŠm,l҇k,@I(~=ƊTG;JȁN7~wm #= }U'evMf\jmoKb%$"gFg '=L͐3Ӷ:8O!Զ1 o#fc3ܥ2dD5<8]rBP̎OJgS7޿SOHQ\Rҫ-" D4Iam$oH>݆߬ӨMH:yU:P2B(LU-+lsG.vcW`( Ș 'о!Q`HRH|)5C] w\fX_,ILaNyT7Ճf1>m}ok{ KCv35ǯYCF̉ ?jkZ&2k3HlmJiGgC"-Tv=92T](}`g1yyJY}iV PB.f{j|g4lNC?1IǒgGXK~>XBG1J5|zf7q >~])5nX C6\uT?nd~@;R*evY#nɡg%0th:ݳO]@xrW[pM,,jt0i1>>uiNڤNLZ5 :8t.J.XԂdDvυnʽ{(aw<Ժ_SꋓMD/yXMնo J(,M'Y1tj[Bs6y)p=߸llA˸}L8My|,og˯T*9@"4~*LjYhh9"¼f@&q&`hw{G/6|Qj\s-N*|Duk񌧏}Awű7%5S١d]Tvykŷᜮ7\,T+_>XT?1F^{ڝPSf+U6rm_4d#}oN,w!=*p=׎v RmFoݰ@ 8Dg0eY0*3ƼSEI׍O"R:(ËpY2YZNcbE xxr 0o[rZ>T0^\co4Vl\jY|zBkDr-^͌? AoaBĄ25b20@>@u{y/I .kהWA͈: %BͳՙZ<ĒK "tQ^HT3ܹ)aaF׺ePqL1 .%q>vBB1&R K I⏺z TqLUtY x V S{?s9<=w{[|Ӌ% @~JpT ]7bc&aH])oBS&,>rAOUr6uVu|f[ i9ԱQb2aE~+젧Atz%]"̙FzyGCMT/z[$0g.u^p_]oتhpV&83e:FF*B#kwX6i3I I+|4I/ԝiD(Toi]Imr:- lDP&n\I(0y{ }%by$8g>` /d- f70i,ϋܩLcΉT9V>R8S۽Xi[n͆L)>xZ @ Zk"#NV0rw{o:L2j*5ʳ5'9_}"[L߫v'%5Akϒw!<1ބs<C+597mgʕH w08lT/Z=,}xn'LdBs,9Ca:Fƚ=jo]ڜ#<{@J8c9z_qBAܧ}Sz d f45:#˭V-"-P />;3&@Azs@d[PQC*>fBoRN A1`$Q[AA:s*M~@1ޞ6Ppȅwf _pIy$a 2b3@NשKlBfju G|fA 0S-vC vH= kRP9L ^t5h'I)5*f2]A!1bcW]$IST۠ 3cAK&:9 ~ގ#vh!= R/`Hz;=d=Mmg _;*zA%-?>:J(Zl]TF")x:~ƘG"Ki [㖴.~mKw',DmP(S.\>ւsD' ru7*JR7@DSK؃hjGvN5q{7A0tDl2 ڂ;:KZbryNlP[7ׂb̠fPIG[m7~ Hۢr>/\g%J(]&-Ժ[E6-|kK#+4|i4zTǶdK>fu8&}( ٨rz Y{3 ؿsj'X.>]~U<ٞ~vW7scYHA3p(dBp\":%Dz=b>U-ikfD28(,[@`vx Ru*0!fkdhÆRZE K_J nU3RI~Oln~a_l'P (Ag3G lxyUN]A$ x.D%T6΀2H2 R"_K7韱΀<փze=I9=f e?MRqCITA9J9\lC"na+?^=h A%DE RѠnKum8z-=Ծ!,J>PdV"IY.=T3 u'ER VjqH Ob~r0t?Y5ti6^+{URP'g+w g7Zw:#>m!k.d[fзu Gǁ:sB {|'P{z:G$WfF60Ru/tM){XGH*J;< v@:| >Z&#|&J@b, jg)tSU՜|>_En5[ e85IJ8R.lMlb?ASLU(F*N4"^R| 0TkkE$ABNZ|#4lh]8*"N^J8;bFK!8.7:% W1oƕY-sײh _U-~/^%+z=X<}+-U.=ҹ 03M{< bc燓ofU{_AuH퓔39R'|fE٪ZG Va (aW>; + g3Qkx!{ZUi,=+^Gsxpztj)Sk0:UA M U 6;Unu"T|޴y+J^7| ^; aoQh 7_/La;V] (PT ",beRBowVӄWð=D]9i)~Ͷ+!*YMB@  m>F! b(HZC巍AVPvjRhDaw^@UO"p)2HŦ@yS?ΐgj8kBlnΤO[{RB=}bCw;*+\ %qϖU<(7tq\$T~%=e$$,81ׇc:uO{=0?¢tW_ǑO.)7-3˝ 1\6dDIT4&N*RX*vD=БWQ15b8OJhݏh+Һ xx~Ŏ؈H4s3۫ot]U6npzhN˔i"w+XBz)v3Y~h,eE]KP"8&%OphaUң?$1]ћ EAށpx(v버ւ:+\ 5)tA/IQVdh5IWFSxW1ld?ZH[ 6dbqJsxXީgaZlTBܶע,4Q{1d9'G$4=8$G*:dS.#'daQewREN]KLϋ'ҦOYEa"6(AV$\ΜO`>>!*vREPM4'3ڡtuSmOrݔqe[166fK8! udu,/)d?"q'bJ(c `O:%4y8MS68oJT-2ڡ "G$ГCUʾg`bcoؿP@Y<ᇴ9:QþvY]j7jZFv~5D?4xyַƸ˸Y\=4N؟J%Ռ߫*UY*u跎;+$7[YDwIkҋלz'FNc4CĭJ'?,_|CL·eV ֞E?Mi'>9?^+‹'=i7cT28Cfiļ"4lTRh*=pp4XŔloR3bb)+C69d0[92?\ xjz5`DxI9D\O]p5/% Y+iEɫrRnlKĞ!Cְf.eKk(ŏĎԙi`8D?6Fb*)4&ϕWT Rdϼ+O1"֢Uawmv^F~ܐkPEA %=K}Z%sTi>9LP1F0/:r_3njdz%~u^ Sܶw'BQ- #$@ ~Z\NXKxCؕAցG~H FD dG"]U'~ NRUc%Aün&! 䔩sדKJDU?CRp'88M [q/H)OY?U:mkZ@pS3Zi Oiko}eaZ^f7j I~D>^.-Sf脈˙j]PF-n_TX|>se K:P-ZRf{ 7k3vNX(g1:N5 oGvцq%мV=šRiwN@UI"lp /@g^. hql7Ax&jˏ4Dx' l~\ Z`|5Ψğ<>}HuJ]&4=݆+СktB7ƈXgY2SѥU[S~o3`j,fZCM*DKPB'0V2ij%U0)ZxMү Ԙ4489{a;QFXlPԨ,XVdn+,\ 3dYyY%TQ<@H1ï>!WUY Z"{biC,Lq.D@. I RJt,/m.̸.Z[p?Y9| LURF~fp实q)*2jXr׷V ;!)2'$ Z3lo1DR~jNknĎw\ %( UsuW#gґ~>\y[A_2˔BE(Ѳyl@pF&ad+-'$ϐN.BH69& 8FN1$#_>Q]L19>l*V'bҏKc7b14wA,p3<܎`V8?e̕)$a\'lY)mAEX din8/|ece%~|+P' HdjHFdN\ aDP> I1Xcp\2ϣ"5dQII`:2葮YF% c9+5s -D/'lwi &Ǖ Z{nb"dI{OҭT<  *|Wι8︩{t>Q9MZA,Yll< 0mFi^#ˬH2Q+@$yXv#܆j`qf3[e6j%`_.ʿث8S4Jqn}]"eKQ+E]}Ua˴1QGjEPx[JnDMDst&v |1ݹ#]z۫_bo\_Tf=| yhS$gs n좇= (͙A04/gMw6Y_ JG18{L,u.fڲ=܌ғyr &Tq @SJZ]&;Bq@z-R=_@[a$e)VupΎ$su,Hڷk(kI.&D pP̴N * VLk–@^uwwfO=u ~l=q ՘|~ l2k+UuqM=&t6muu]e-R>OZ~GKY0 JIiA;Տ5Pi-cܿvt G#`^Sۋw."bwAf:X4h DȲe_w132Cʻ7rR!#Ӿp|;?XH){n >0OJǝoBuwϳ1*@\RgrwYW^J+@RHYdyӇMJk4Up*G̾}g<FXݸgbk4;qQ 񘱖z#߻[IӞKU,bLIs{:U{FD 18S[uޢf{(W ѱc(]܌4+naF25RZ@ԟRRfyS(DLjcƲ Jv΢ʁoz]oS @#aJ> =C~ TTmA6|4ԯE=Is |%3 `a&-s@#''E//)T~?.+OuȩY`X?|I~l /Z7= >GCT'P*ɝNx cdz,)2Mt HNmm*_ގi?[+\OD$}pu1FXi^zшSH Ⱥ\$j-wm2ѷ0!6F2hC' *ʃDO%*K6q;[0RDy l|)N]F7PkC `s6ro5N:F~01 1r<zzIu5'2xb{s+ߜ/(N&n3:?^yv$f4rwƦP33O}ntT]RYrH?)5}Jb.eG|n~XE6;z#>Rhy{zڡl"x;X.Le:ux)*{5cϳ23 gS=x#]7(hB1D6v7=zZ+:,_%esdH"xeKrOgcsU3dHC7Mo^+[V9L^t<nA@e js\1!Pժ*k+IzEm@W:)FQpP\)?EDGYdp\?𾷀Ǯ: hbf~b$Pqi}ga9vD9^ڽ{9EIka_g{m':eǢ#oK%H'Ut;v Ȥ(S<TE=y\V\GD9J˿E<۷JWQ~![W "Jh<ǧ_UcEYuR]@m gtC I8hElK}Ͳ*6 "5ҫ3Rzvj~q(zP0N~~ o , !¡ <`?KBwthda2ZfLH壠p"4ōk ,F+?[Vg *TVi4(~Qُ5lqp5_k,iruKvؠH;QS 0Q6m0bV2nN0"-EQpƬy o/umniµ 6J\SԚ CF*X#yf|Nr9fW&p J[1eL-c7q7; dUliz] 7JNsPQ*Nõdh h^O!.C2R'ẅ́3ŬŰ})-ӶDWt!2zT[t t+ؾ ݡ5A}6k^)&ا#u 2,& drܴx`lka}*,ޒ*O>9EFcbshJRw]p4HI~|2@fgǠ. Pa֑?HL.ArÜG2{ƍ1(N8m#6jU,DbcL-2eϊazrݜW&Pa"kZ=Xʿ @ n7({%>t5^-:*;ܴt=|@1WPYDTjHBPK eLV9 骱^vO] 7NQXH &Xa8xՊspOƛRmM`kJ0T̐1$w۝1{^@E,d j!#_2/էfEh ,>~Hix<˯u=vMћI2J"H N7i7i&wYp=X?:1^TUBGpyTn-`CV/`m'+gC,%ݲ,mJZYbڴL4J(FI,˥,[^)og1; |m=~?΄@\oM,~2fZ_!ds2U>qRoR8m9 ORWaiҏƁT|ab4.6(C-1Or-?cpQ0"sZ,&48J1.v.YXMvcqɊGf]RA HyǴ#ii'\e|REսXw0t s]T`-f1ŪV~ـwfcbޓm@g_$#@ 'a.uvb+G|qaU2gkTyQK|p]o t*=C(e_\݄کO'bwZ'Ngw|%z6S5+Sȡ搴&@^WiI~Ŋ \M 4{LᗾO2%VB(*Ki2\{PC E#Qll"ɱC^עGK z@aoAC1j75+1O)L&~nCAeNI$5dU[<N~ifL|>IF {~ Ҽv`1V;EG\Gp ˣkv͍aSs!N 3;\gIF5Ҿ@3"J:1=wIN?.T%ы$7Xf$WΑo}T5l#:fyku$e-x\#TV(Fl)6ǜ&VfՏ`3Ӛ_ -}bw2J (I]ʊ ,VL*2MO 3ҿ=袟|1A=;\,k10w-e.;Vt8 ,,eW<겗,b?ܰC/&HCDQJY1ؓPAdq) `U`FPd/ r+knLn o0۽l2TS}2+%IȆ$!T0E;`v7)r>uB[Fx4܎)EtOĹ0Ci(EsGס 0; '#5dE,b~Dj9⒴5XXn|Viƛ~`L96@[>ץ MNJ6Ttqq%)ftbSsN|F1:Ou SF_LSv} 5o.'z_!_: _̵a΃g1D\٨qauj&/'IcZVl"%d˕@(tKg`_V\Ab;V G$-ȕdَ\4qNa'VW+&qo߬ΙvT>]6`b=bPn3JR VߐgX\sz+KF 6:6IŮ9/"_ 'нb [Ɯ$Ж 2{0K`2rn;eΩѡkkՊ]f `B8K Q%|CEf՗!CP&VvW).њ!Gu[$F}ö<}x{g k| /3moDa 6v~qeiQ> [^,fФ LSH%0zm;^ѓUJr#i~75jy.4~^f2*Eԓj< Nhv`ܖLk]{ ;u`͔}oK"}L.+珩f{]?,l/L_J6TA$..PyUy@ ieo+{Zó|Di;d4-w.Cz4Zo ) Tu%:oAoZȇkpsBg{B\5uȒjn1~FOq#=Bgqd1AX(ʪ!z~"MB!Ι kx31.M',[ŧ3Jޱr02Z4kg&N2;{u°y,Zxg~X`ʎ/fbv5`74; qd |^DP$e(y+jy]`͜U@_飜j뭁9%ia~hqͿ錢S-7L]3ŧ (PerޕH\V8ilze$#޳B[Jb2x/P]z! q v'rϯ,t=Gs9nܵ"&5RPl6PdY^˪#S Dr-9aDAKqPP2rQ S/$H>xra:[=)Sk9V:t=Qrj0/G$ů] `x1z{'CTn)!K$ZDg7IL} P:%v2c&2A 8AVcfA~eԁeE.&q r"#jN˫h z X"tf\_NOϳϹEW bS2#GA#5/} z"#]|pa{*6eW}恎0M+t/<:6b)eF2pۺCgm&!|j Ss~8Ѹ&V@Hfr`Qfl.nahU\A;&g6[bv=m^>u+ %2ƗWlvծKN :`-?[\qFF7 . Q#uMjmlBC]RH[9V ExWy}lZpz_[(6Ƈ- +)a28}Q3O|-Y;O_ @64N?#K׺nkI!Qn?Qj+&qE6Kq@vq:zU~; |꤈\ITa!v?= t҂ւeYOׂ,Eq[s`.SHKT`ٚ4Eh0BOatٽ:V|oLT~ck;!l :E /*g t!a #1<0~Z6=Eք!##m֫؁đў{;Y1Tp+&Z}H#LZ}&)pY. rf^|0I0O5? ;fo'PLka| Q2ta {0 WW_:N|oRnv<ჭBshKC$JҗJÊW}{ bM vHVl(.>M?9*Em]X~ce!8'sva@}'\,T~'c"mĈO"lL8c_q)Prـ9V&3S,I?lwvꂣkg DqE0Ċin} [98t Y~"Dx72}y2S#lz6 QgyCOty!L.f\b 4`OE{f-ث3/He-^Ka T_мyR|p/|xgg6L7ϮM6x\>K)9?1A)8-YY db=,!۬9Cq8ŀﭣ`A51 YAn0Ϯgpflpj7_؏ K7(Բݶ!πp ոń:)iGdJUq' I@ȟo vi+;~I2$gƨG]hPR!%!cpw7? )~ yCDdS}lhDkEv+=l]f(4kxƣV`2g3 bQԜ9&>j.d _oΎ^ (&˅ӼQHHCn"_fK}a< RL>&=M'ŐSzvO}<񥧰1@-qЫ\ߒ %-O3' 0ZԃI2⁛<bUϥ$eޮ7L9N"Xx4Aol߸-BԵtp|q kGFԊl0n$2O۰}u¿؃!IwaK8Y;yG/ E/6IPx^ Vبkx,2!HXNr_ \ hm?CQcfK"\~v11Gi`u u| 1Z^K ;KwvXF& òCV?bQ<8$jV"gv1T0l9Sȑr,dF 4^lߤxJ75n[S.o!b s.S Q6nCt]csM.`1聕C-f2+:;NQÕR'>ݜ~\,k4)N=!WZLȓ5k+8<79q*3A{T/* 1!D7)LAe^VE*:z'b*'9ïJކAUv/:AC82u9E H2!:90|$m @?q,xZpQIM}ךf@ *]xq2p1af#? jcCrs|mn1ۘwkBD#V/1ZOY:ՙ !C}3G[LA%5?TuQ'7zB}QFELכWLlpixqTx@_w!'-db3T%tסLVN=`e/ 1E}²^4S1+ϔeA{ Ec~ 8s@sȨr/U1F稭k o;߮]蠆f`3⾧*6ZYc}@/`62l"T!Aguk|U3X"0|cL_CZwϒZ1% c0d ZU|񗁩b^G=ː]A b3Sa ؒ\ Cʕ)1 wˁJB)-ZS:$:L"`n1L ? \]ÿ\4qhͅ&58},UIAI4Mb|3&1.Pr/bm+FQMg!/Ey ,I^GIxD2ЍDC#^jĝX`B~ |䕨 50 4/gA8gfL:66I"~'b oXMѡb/ČU|8J[_,(xIm>(Si˗/n]>* /M@OMϤXtL`R T927ea ڥZʖ>Ҩoʃ,؛muЇ-`@"5UaM>E7(LrX;0Zk1#,อ pezjQ-@\b ds@St ,F5PY_9uCe:"y4<GM_JZV/sfi>8Ϲ#ZH(apǫw8.#BYۛY\hA(tռ8xZ&IH&R)S&f#qM%Rdԯ7#ek>!Dne=: Yk"Hf]Jg0fw 베բi0hҊhBYFi>Q. 闇LYKc6HԏtSHye퀒#IL N ԠxfæFEa#: S, ҬHi dW7KYbCqNxygZeC?z/͐s &3Sy3V+~B'!/tvIVDӼlH#2{.sK9nm1)JAul1VJtZ=#Z!u /X}L,;YY)Ψ8SF{M\`ib3&*]delsQBuHG T9GBc,$J@x^4pu>#J5J,d1 waLB,,AE[UѲsyVL{Cfr -_j`;Ln WpB]xn nIq ayQ- : 4T 6TUg3hl_wQat+ %[y\T;7b]@{]ʨM;.0Wr@d%\C pʺ QGaz^g9"CxΈՏ?eʎC;fVU pj<.g(ؤGyL :))cCȝ8ig>̎ uom.E>CZqώ|}9>5ܰ(r Vӿ]!1Da=&~XSlŗR,)F]_|y:FAձR1"nT;>^Nܻp/| G=XSܾg ;z܇&Xqwp ML:"iÛ"mG ipR%ZWKg gMݛG֜M3iOw>Q\8UCn?J_ \27fK$A*9*H.>ۋg\{dm-t$Jnyfh;K,gʆ7`-MĮB1\,_g8 c0.dI?[3Z&fuskUxP`3Iͭz%@kԭl?;%lyS@A~rt $?BxVvmHN"s! D?d}߱WMU~tD+FfL}]+iu:e 8>I7& ܥ4iMzU]'[9e@ti(˶9#xHbn "K6w 2!!HGpjѢBg`)A@*1[-uP \;QKS|ɕc3Ċ/lrKJrLs˅v|-asYl733.w1#Pb;ay~w=4Sb>8"QW_R5ڪ5G5-WmEܕH QچJr-@,al1''@[LNIrs-sVx|Oúy|ỊV{(ц@:vMgA' ̃NSCL:S-g&|f/eJpDkR H|u$li>淅ʤþgm~},W?˔e5P䣶#ٝv'U]y58:ɧkU&e`݆dҴ͍Mf}]ug䒹.Fxmɼi1mz1~(~,x40vRM2#C.̚v9ҒE1];F4Y1>t/6UٕdʸPN8s? "|'q/9MrCrILDeN轠HS0(n<jKMswqrr}+\zz[Ty JٱhtO(%CwXǦ@9_wqAJmn{ Vo~`.,rZ-Б~WClW$?fߥF_ T`>. iK*uȪs' +ĭ7^K*VgOjad#]Qc &aAΞf3qĠmAgᅢENUB]ܶ 6ڊ>{]D$\J&Vf{}B84XS#bV;-X6EW)OqR1OF9\-LX= ϝaLݡI1UwHdmjiS']ڴʲ]]RM%VnfP2Ut`v "K "J["~uhƩSƞ[8elRd)?V7xԚNOYĩG"#.RoV:r۴MQXsfiBVW|76.XIAX7j7AtުLAk\ I@;=< 0H&N:}pZ1`YI%#$FZ:do7_EgݖVJ VXkxɩFJa/kpe/GvY'KtQBNk'Be3t+@|ШZiB8s FGF_XIgqTk1V5R9y-A/jWέ!p94;J\]kHsRtnꦇ =qsVxILѡʋӽO^R򰴯 /k?{(à~6q=L%Ck\ujmgY{wKB*;vZ WBZ9~bOobN)4t/XВkl#|ͰzQkϻ~ ҭh #}9"OT.M'x@롱%<(ؘ 5tLj~"D0o(OgܿbdwsUj "B cB><ܘچa=b%eLT(67y/ؤnfJlY y66Gѓf??nH LoH2$XFZ&,# #drb$8_DMq/_. *40Bi/T]c#5L? v/CuZ';L[p@MiWSJ >o[\8/u'L9.aS*2u < P5 з`P{39`TE}9lHRFq t3ǼC٧%商HBc]Kr%s$JkN湙(䒦:S X(C3ќӓꞝ'8Hڝ@IK8HYDd? =`+< I"Kn=}NJXY_g:nX@ %+rV/L+~ J%"@\er6,'$,Y$Yy>%.˳ь(lE #G |y]6Ԓ:[6(Mk/ );ᙡcNHTyt|a/ Z#EʅVi0u9ZQV/}x}w)麍qՙZ7Qs; `'>A{* z!qI=?L?aKz$Rzm)ƣ q`)vKY0Cn(SxpzPgT8}v,lbE)"[[$;=.;ν8kr#I[<1AwUQeܡ#pl'bfUhJ0ˡb-\'[[u3ලlЖ:n9T{-нfBn/f=o-֠϶1RڧFcޛ;>0YW3+_5w7_3Hӽ̙`fB((3_v1[p@;ŞJU r%2Y/j,^B$ۈ-Bf}Y5 ŋ#2Ӄ=Bl#`b\SҴvb|ZP5>K:5jvd >XCHp9R7O,:5Fbmnڧ$3h߅nN^TwVP,nL aAы"V$,Cا5-Bm&$U )"D^d.$s}GEh'x_i"&¬Gƞsn帀b.+n/p70 $ %a(;ӷYGhFL&b,C3G_$"{. :<ˇZ R1rbX~tsEƃB?Ù&|쮉4bՔ"pa,K|jkIaQͺ/ptMY|e#/ޮV/݃|YEvwS}:mJQ|["{>nm8LKE.[`w"~7/:B.,^[ۄ'BI`:*[zCb$El.8 a6kۙ*o) ݾ2#cq4- KqSi;uŀ F).@^!8Қk%+ U;Z4LQ l/o)[|v G)b.b]acP[Y-x.r]mKmhe#!}y<:RV7K k\@GޅKhOU m.2>PDȞc!Rf/ )<Pldnu`sBм㋹_4 {cR\4n Kb(F'ɕXS.$eA(%j((S/)IEß{ B .YOkZ?т,\ސ/!HlVzHk͆rߑT]^ qiVxX }O1 C;3sC;8 sUK]1` 'BΛ8߰ZrӭUcYRBXxV, 9 ^栢Z}f,0Vrdk}ۘd-K+BB-UxL1Gf } +rm'$u!=˷yŕrTC17tx،a"ôsosܓR ^@KWm\3׋5\zh7Qg62[Tp|EBe¤L@|yK9kx%+c%̂'Tjw>qΊ7v&IqɌBZPg)OɥHRSXNG1K.ܮ6Psvx7GA D.~SSxCbk'b 9PW5/IùGI--Cs6ݏg)`51:PEɻ-0 ^ɖ>. ѥ.A;N@DŽxກ2oSU}>!P4Խ1F`H~~B[?ŕ^e24TFsqM%z\;\Pǣϵi+Ce=qh*:M*W^V|gCO{f7 6b`gh//CF3RZ&zcr˟dJx!Fu0Z9oFԫqifSa3nc@:j53q/l!PCd%X=P[C*ݙ3PK7ġm*v(7}UB RK3.sլj%1[n/Pu8U0Kac9߄bpֹȄs/#S|wݲ$Z53w#w!.w_-W0 {Pr&zm؃X6W#6@5(iMݵ1sm1=CP!OOzI:{.IrGteG+'(%q9]#*km̮US. Mh WnhSq tqO6b[wۿ2NIf秛p!RM"9$r!ؾw~(8܎ 84ڲ s]Ur4\,FQ,87xzCԡn)b[>xvGaͺR) kCFi 6eueA8֚1eBӏvjŭ`9G?VƧ('&` XG"ͩWb m+CEnfլOVè&7l>Pɬpd8G٢&(Wab'l:3/I1q,L::LH!= rO>{qNث[DUiWAWG ުn" #B:Tv?)_I+d Ѯ)5N9\GE`ђ^-;jFǷ8'>MYctQ;!ce^7'X~̖,jtN`Ezc(CdpKRd{;.Z^G& NۤrŜr]`=e3NG( \'8)XQ}5 ;.GԎiB8;),_%^W@f [x+'uBށ- 7-|qaN7=,j~c WmY Cu4oMvP C5&sΆQ?}*_'l P&8Wc$/Z96⋗VFFF򱶆_TurȀybV8We}^:RJcոww<-wEWLhOzA 1cd̎Rm,:m_T̕5D SZو ZڲөH*EP "">)s:BhA'QW)@r'׌` #{_)PqZX00Z:c~bꎣpePAl-+%;ANY礓c ?0 <˹T#5x*?cDZS~n@4qr䃑,/ %N:QQ95ÔtwWx506uS-HXYcq%96K2՚ycC2h$I #k*Ji]4p]Wb#Vs) ฐA6Sp)b8< VcU~ȨLs9% Sh%Q0zIAnT/h\tzb㉨gXzDZkˀ Vh 7da]?0jgT 6= L.0޶ˊSgl[:1A:?3!Fzpa^l2q[8B\\ \Ӌm) zq"|ħGv7U;|$/яWTy! R¥Ѫ#޼&-"rm1H͉|pN H\ :8bVR^'lqܹT B(^w!JmQf^"f٥(vx6e~㤿i~}00&|nOChz˄ l} sJ匕d5䦠c@$5&:=`H9u}pt=b" @*a 2D"NՔ7Ff H*=SvEGC5F"I80I/A7me!X)@N$-^!^e9ӑQӓo0 _ԆcLYe& 1q$Ӻ'Jg M~u]d2t ˑ<7<ɴʎ~OS{ܿq8\LF4xCWRǠ `+IHOMqV#uԷʦM׉ TD2?8fkYA|80| 7낖(Tu2´iRͶ_8{ZeԌߵ_t&o]!֋twg 7Np LuDԙ>%/A@p.Qt4># XACzq݉ҀD%NTi֒⢠m`aH7KjLt+;Jk^?kT%K@mp&pOPӧ#th{K=M/tWR.KCb99.!o1 yjST/'0OE߯*߃%5ec;sk޷Da2Yŧ*!a5vlަhA90k@៌mMR1 MaT, 4 B>&EkŽ %Ivza ߴ=.d)%h}lUF9(!yKHNL9 L d-PlT[&S8AA_`Kԡ`rBEʉ0!KS岹&I㞴N&юȎ)8.]Тp&5,w[f+ "oC聒ش 7iTV\,r,/uK[tDQ}t"rg%.\w-b-KNB7BO.a";I%~ĕi<-_O _R2Π`rGKnO XD/Yj~'w4 =ytCk1-Un 37[o<91V3.TB3cP w.Appˁd<-CIX2Z%e/^#8pI?ji\6{OIykzQ/jL5qOBR)!oƆI%R\3}3 "<|cn+ٓM0@ʏT<16^էtPnkJաk-@%싁LzZt f|,]+n~~Jl咝 pn SeImܩ#%ܑ!It] V^@K!--wR6 pdaOЃj*,ԛr~Hw,~ol}DmmVlCXM\ I2xl|ˉn -#y伹 ;S̹a\t+a* `P59I-ܥnGB9.Y.ɿu~՝ٞ o=]d / /iAk!?bt*rP%9M0(ЁJƥ(~1~Y @x:2BID(zGiǐ[Z7T E~)~"JB`Vl2@ Ea:^-CT QK[f*i8t&n rqnd/!4bOnaTٵ`C&4t0lsZ@YoB;3P'>ʙKIj &XR24:7GBm"  9azBv.VăѶ>Tl8ŵNa$eՊfqHL$ϽGˡ!-(oQN&0ȦϨY͖~s#}QE>}j댵+yܕ+Pw?h:$Pk@@x.q:zjU~YuA auc}'rw8bC >Lۢ |PKnYC C57Z$X(}78ܒFSA=ťrDm:8@A`3 NLC0Z#%w-Q^`J8v4~']G 7m QmۃX 7T:=A{v9o̻4~-oq1AZЭ[ȝfA(͟l.~Ѓ= Hҥ7喅RJ+yOaSRIwzgʄ0]UW{Ȓ-WdM[*7ϳZ$4]"T^{pzĬ%.Б7C :?i"2`p &j)frR6ܸ:`{ͺ7P2U Y̊kH4օ?BeM}!0aXLϴ}!DHI%b~{1=m3#*Ƒc޸xf0kk8-n%pD%Un6Z?0(A\h:oͷ96\$VwK[eLen0Hw@D4-U<9[Y{6N4畱y_.:63\[N+/ex#wom6R;jAmh!Gԧ.[D2D$Y 6y9Pf_2j-P玌Nkv6,Raq dUOMX}X #V4t\9r/ꘪ5ӷR9z:J-%vj:˙qv[wМo^yѲd܀!_-^ONd0A'1v𞐓| JfU?a1qkv/ &O/1I,l}q*BISGMē&;@VWc-Glhroz9x/ȼ~M2Rϫ~&6,*)ѫTHB -hrOOSs_V߶tHqUH|wmhߙ٥|9&mGelYK;}F3a̗+)Sjh;je(6`nxHW<unZdKn|x崌A8p?|%{:+4}o0Em۹i|b>x.%z쀃 gOJ,4j)>qi9 x F^ bVHC pAv쯀DCަjmVhT 'p[yN1{s7jWdz.s)nUrP"qxJ908v.F)ۻȺf9 (ܤ_-RN| v\6\P`?$dk[':!Ɵ+X|J3pFAg U`\XbHh3m[R2^\s˞7B82nwB+Lv5Z,I%^\  !/41ܷ9;J$m"QvbmwDkhb7IKH@_!L߃⮋l Z$E^\f@"KcN|s*kذ N" jǧaW9`+-Nsm3n)(N-OnXm˾ 硋~!\7#2s ҈gIBS3idYY~G0]*zA/̇b|{{p7\.Wu1^sL\O.)X`iRT- 6@epZtyL:YHVg J K%"X!WJEmab ꨞ(ͥCFEckOYTAkIRV*)ߙwx̜}5`~@Q$u΋*[n 9KH*lHsw/DlVMCOHbf=RndÑ r~MK*w?i ʨTCOV9yog/ryekXBAglThQ&;N%2W2e7![#a isoUS&۰`*݊>Ӄ 'R N*/^r ٦LpGqGJaOwJ?z,CE&Y-)I&6uc8G; ֻUrZ"ᷙF5+ҨsbY! 2mR!kI$T>tHx!& iC9lmKj Mc In͝r鿉α'9#y,};.;7ΧV>3P[ !Nt3a"D-΀!5`E WSA PmC0iv5dx \Xx!!?  ѨBn񶱘--%p #:*UM4~F:je-R#َ[a %ơݧo~N^`F;*9L%@^THn%FyZ6mm*Iwϝ&F؄KP#7Kʱ+$oYw9i:bs_ ydi{ZO-֡93?"p+Hu@P {Nc9l~kqgV{; "_c,_9E l:Md PR5|O+thr];vIn`` {'V-3-\#nJ8t-Tʀ%qnN6FE:F*yϴ]Zj_w _H^l)p uVH/4_BHO~hdR9_d0sœH@.nV<"A ־c %[5 ĞWW}S+}mu`;9%M 1=L$fUu݄Kc1bT`nPC{M Pc jqX®d&@ьΪXl'2Dc_tu֮!-j.Ss M g̲,^ AIbV16QPCHFaj*]_)ge.M:o$ VtRܗJaqo%AP &[*I %Ol[G/Լ $K]Q|=bZ|쁘6F,_W2jmb <`~0MP ߘV%փ>2NY?tZX""dhoZC2;:' uMG 鿙p{g&=R}t3Y]PbTP -0ӁU9ɓA5q*!wC0qp-9~Z7y=}̀vcXX527?{G ׃ٮsz攗Nu^G#DPhZR*U\yG^{9WDUa\L [KOܬF^erbb{#h: t]M}YBa1 'Tz .gT'ZSO8/"gCH8'[g*:GZfPš ~T']"i-Fx-}I/|xY؆apї#Hy'Y3{X^;'i%c<l_oU:Qw7Or*V5,NHY[:G,4ez3Ë2fOm=ˁ4`fA^RnL͛CRq& )Kp dm~P i[] mY?+r$^+l{QEHxJ³yA$SL!j(ёߕ_XBP/ Rz#s(|IΨ:'ګF{x]}UIoFaQSlT7p+MnUag%gUʡYN(X ⲻe*):y(ѧ;JReV7x^>U&XݾJbC la隬rCz]ү7?4,{g!DLd緙?*|a|Qn Y4t\9%e!?G-?%wꎩϯ0jngTD_m W6&_b+"ܴ Oy.(Uo0(5Sr jSZ+. q;)*Cx([x v5r8_Q8Hh9&5QRkED^`IAT>AT_S8wv4<-TS`~|+l<wBJFnS|\67>+fU'}eŹQz*!}t<MW"2t6rT=:V Z;T{OpcZ8 q[f µgw}ۨ~z1+IFKFnZJVK2HH)xb]6h Ud X(ϬaՋUm7ma6Fޓm2 htQzɖ*E`N`'2_{ x%c|RB0!BhԢas]-˴je sρD@ ȿ\x"56b`^0|~,l -ޑO.ERC/apaIŮ݄}|j ?#`Z "4ҦJX\jG~z?,Qq,(wsγb  bGI򶐊v[*г0 Cqou`=ɇԗ(SF紤\`Tl]%dQ"Xl`w6Њ_!KZefmaLe:_,OдOlPZ:x?Ohldj!:)&W+?m BѬЗ@Gdjw5+] &bL엧x:[cG| k֌yZ,k &}Oğ^3wRTl-eֿWEb4&ԏ柰J͐(²*QXBU^n"l\|CK ['1S l! wMʧ^e9سĚ@o!ٌH& r{K)t*$Jּÿ/ U핵]g[ >4BF+ `C~ʢa:w+ۄϐe1PMUDKb#/JW \,dK=(=<ܲH?ǁv]??|[4l .N 1z U)@S4w**𝬌ÉximeE8Fϋa'q}pɍ/Bw cokHe͹OC.W {?SUs+uڔ+0#$e1i]Æ-lR.{Gң&A_4~^qsCg֣U4a4+Ev[Дt( [[kR /' ~_cafǢXx(oy줒2FۏI iE>oF@ǖ)?5; pݡ;.J^/_4={r.0 "<{"uSROnl$o7׎?4}tcd H!-qw-κl5Xw]?3ƕ7 Lm&N[T.o6yg /' U aHܲAJu^fBCO!a ,uQ`/3 1*] $b-w3єEJzTEb3~K&6w4L猜~%xfNv\iˢytUpK x8#CrGej8OF~WUb\V X+e:#*A/>Xo![}_uLV禁JK )(tO$8i edOpbAI KMXplsp xQY^4ngϞb_Z؞hRswe:w5}8UQO7 #ejjHl{ngzʒU?>,2 ;,i]j*}"KWu%H[6M22R;F0e6e$6D?7f'άlZ~cwj_sF/nv*~r]"5ƕmR엤Vvgs[bnm4j }5MޱG7>$ ."_SJO:,FnV='TƱ\\#xVn_pX`QX[wIuU=O^x&ʦmi_i7+r$_hH!>T9ȲP歇GʀR-N7,TKs-SPKk9,> uNXRDnwI6ySJJ{"[ 30 >%4ϕ\)8`Y{]{-,GR6)LZ3i6 ob_-UjZ5v 3lo+*/$AܰxA=_%'bEL @?a*ZJx03/@<, xGL{HY27-H|e@bZLm/5"haa9C €*l *mQqKlcB{|h-) ϣx cL;y /\H|.$ s@S>#@zmڦb @/6-{j2yP ~t&F(TןN5I3Rq[[l%33zS+MKHٖ )*MS~ srBTP{Ԥ}H0[HZdAN"!A//6,3_@Sz3|`K /#@ i&s4uϾ>QW8|Mt!Ks&y~O hF&[Cw""(fk*J#&[d[@# ɪc+봹Z!VV/ZfTyy mu;:$j&՝;?`Ưvcxڙ,b$&M,S. zP*mܫȝ)xwC+2)VѿHZ_ȸAfMU2Pn^6:DM0E-٘~f^ɿR4R`P ݇PT_#CO[9\^ϥ]Fh5{%'cB]^ׁqF 휾b7=P?,{r(vx+Jy^#Laj=l*RWV/X4t2~:wЩVG)3 y^V?Գ}#l`Xec3EA<=DF"cj;{u|@ϕbX+([,EQ6NEjeWTn'jV!Hm4@۲D5d`Q/AwI(o+W6iw8zcg#+)i\gR-=[fF0C.;Y% =@ܛ̝m ~¥^m,. 1Q #ψ nىi6^/#(*KoBJBg@ ݋`_n1ېR?@ `<' &\\Ϯ̃yՇZ ~gs5KYsdԣߥzJl/Be'?2MzhgyXH,.0f浊ܒO.]tfHb:ƗS#Y*YIr!+f`FJPtm~_ل51į^vF"= 8ea[]t|č|wTK&fţuL -'W/+D;T)Ѭ ʈǼ@9nhO ғE ^Z}y9o"z NH I#kKb"ܲ6u\<@M#vup%F8ƚD'5.ݎT >[](P9;bSzC!w?`<5u2;WD3UU49)Yqè=8n"GMةx'nݞuNנG@;vкXd-^ms(V:Qv+3sP}SCꡤ4SRA/-\\{W29';XԘޯ&@\[=nvpX1N盗gga?4+S_!Aor v'睨 ^

    ꝃUVn/n5*wqqղk͌v"'\5MrA*3 Dߣe7*9s` EmY6\,2W }y]WK?XhSpB?0:Ff:Xu@:n?JjV֭*{ݷ2{ujlJ@ЉogqV@=H$wA^9raW8jsPɀRS)IΈ><+4 e}MoV:Тƶ^HdE1uxY-ݫo; zd2=[R(Ǡ^WL>FZcx\ۄDF T˹cÌ}`@4f;DJJA)2delV9 SAJ'w>i=3 e4sgxGi~nNV2Vf0H@s|tm+g{ّ&]6L΀z1i$ %9FoYycONo4 Ml}uĺv[^tLz\x:מਤ Zm$j66UW'_k>j: #j.qˢg`X^q"+H(}@җ Z"~b!_A:d=!nހI0^%<ʙ]6:.<ŪKD >O; ݲ4[VÃA\Ktg棁 FlKiDo>5 īQ=:.`da򪁶w $}"$ R_IebN1B#|JE2Nԇ Q Y`[I$/sؿA?bsRF ~O8T M3Z&f9A%1a}by*~Ȏ#c╎ 럁 ϊR,c$u=>EݙDTG [fsOHqT*֎ߡLlU=e0.`%yY;]U0.%f0V\1B,aZAp:cxҀPULD7QIԼ=+Cp[j Q˕,&2V<Jx5p6KZ$Q ߦk$Y'B0{~fAa'tѳr{K0A qA7ωt Ͷ*o:d7?kŸUo!#}δ *r_~?B%9lXK㾊7R79#^,|$ (FΥߪyL$0XD~'_46NaIz($0u9V0 lWp˙ZUG;o#C/ݳ?^EA/|N/Z6=fr.\a}vw~:B埝  E|̴{Mgm"n?RE5H.LMN_(u9[]2 qgVbjA?b MNT3|d\hx-)RWMnKBlNNCOj1oѬ. }ɜ<d026XVZHovgOYh ^w`olJ)@dYi穔F)聑}LÔ"Mˋ3Z] Z oU=q#oʂFx,טBe.VϏ0Dn-Pڟnu,zkQ_LTW`» E`ZܨBߗԡ[jn#5A86q>Dt r(td4P";;=MMH]pxǺW }? eqnӓtu =;jrNIf %sW9|G@vo吟ƪ nF`NQaT򿍔y{g&ϕ7wl:)'Sl'!EQ;X8k#r` 8=(~is+@2bQCMhv}74RcӣB x]NF/V5TgáKձӘG3sO.2c@& 6O^>6ɏd6#bX9;r*^S-pysI#~nIɭݬޥxz%FAݏY#q>:{T"NBh\]viYTCI~;U&Gpv\W7aZQkMV22p3x7ijo!ڑղe*s[rsFtshbKA*W 3mufP9)ɠKrZ-"Km<_Y?Lb_)2M=縌KhbGT >Vֲ˱(L2!VZq27ƄA4f2gRzm$UzwNpYbTBQ3naNBGXJ ݍr Kr7BA!q]j$N /8Z]UnTI8Qs'1_T Ș,/ ko =8/0ϚG/;m&A oZ9 `zRkmWrvrfg ϴPt &̏aMt$ D8Ago8cqΥaխ=/?vbShw=6(|nh߲nAw mȜ7Q(GC7kX<-+#vϘ\NKXZbL}'\8{AE`ټ>z;D0Q0f# b/I*D,8d0wBeQAr J-9˹~~B}h{//lJ~dڡ_\Ea?׽ ]gíi>y{JLPfU' >ASc84JlQ2+>b ć2U8$hjR rD1?|kDbҼϣDC`xCpL$ԬM)RI^ V='j>b|\64 1rlIqN)cJj(X56OeV.^nf"2\ znʠs2^濈\o췃YnvlZ)JIt8(r: Z\8߾_%/LLBY:Hؠ@E.k׵hbG D-bm$IP7)BJH~ƒHMI19_0mx M~"8,2@ZҴG 2(0§^K_(/]"})28Ol'$GDmmuIL~僸$m%_Øo]f@K \?U~6'"/mT5RKS,3RGMH~Fɠu%u*u[Ύ)N8*Yv$@oŷ[9JdJbOb8*o_Px>j#+.}5hM)R| BWh+,( O Llc G"?DI<23/bgijNq(*<4K1(L'jt=+fQBF!  m=tm~^(%Q:-.뿃fI@QJ (rNLֺhPv4'hl7+tarBtiZ#*w8Ax,1 K%l'EcF/+E+j1 %:D߃ 0hmq/KO6B0ծp{,BLxZC\Ly,9bmA_O 2Ҵ-^[Fd , RqfM.E [aFt4cosvpXɖzn qnm( UY" Jb6˳0yP)+V'ᚹb0TGb;b>ͮ[*Jq}pŁ. Mt3Т \.u(FJxX\ cuU3V$8 cu)"VЂ.뾠9 N5jAVx܌doBo73sv.$S7G.=} Vԅp2-5V['V٠˹#6q=HSMgfokY5:ܮ#ZLZ٤KWDIp;2>1AM_ <$d+&_M,w&0Gn6" ta|3U Wx3' Jp^&*M}$3U='I'X(G2ȐC@tLh[ƹv_ PU每ٶ\wfbMB%yH%7\*$Pj[RHr22w;g?E1J!F`P 3СʧS2v".{[um:Uᆄ=\Ƨr1X1[&7jp.@9oF?! $Cq6.2Uđj7.{}HrB7.(wKJ67WW7vL Kbco9mG(Ӳ6Qx?W;4: TbRV#υDk.KƍhN%=h@05SP6-Ŗ^AdD2bBx[B7 J߷tPG2*->ܒ ^#6;[q Y6dNF $v$ l@ u/zMrG_3|92fG潘n)0bcd#:W$-Mf'*r-˞5yNGJfehKHn)l =跚Q]8b26ɒѩNBau?c(S#](2f]vs4(^nQqQs#BcM̢5}|~+4U7!YftIg6_]JLCD,DA,I*"0+cI7!/r騼5hЋT.jAosUd["8j&MGcF;E+j xԯ)Tv癑!;| wjlĭke+oLHAX A= ʑ4+7fHEƿn0&~@w86 nlQ!\O '.USyT7Nrg|8tR `Ơ |;.Yr٣0 54Z~(m% U\3(_uWJ}iU0NB0`3\8oKJtO4lqg#aCXAwߴ>y2!]lp e޿It.>vtQo/cyY.6r6i $J@u09%Z7 \3%auoy̚W !!P+./ M7"]{!۪ȳ2hp>W(L؝%c,?Qs]axARB_H+i{Fwme`ՌgWu V'v8yPL3p*5/XNE:P\<-'ݠQq;=iӅnd C 4f+φn":]#ڭPV`d|X y5A/;)S}>IO[]xX:Hhf2.P[š7 n,m-"L;_*{I}Q-lrQ4I-A0jUOٛ>?6FK2ynZ& D9|L08nhj[{]S|5_;fhW=A=W )g|^묧8|?߁J;-Y9FJɃBBA4Zqcd*c zg'+}2Ȧ4YTft"mXmL9e0$P]-JjKV7E23|B'(@ **d6#⦗8/jn{;&|Mt }7 0Hm^XV1+p5=hٔ-kq/6k$0,$?0('#l^`ro ,0hID#AB|z#=xƇ6ef:i=0q,]70*مuI$_yRjr'&QJBV|+EF@ IlS|rh+-Ha?+'Vi&wGG_`-[1-YDH̀+} ,t]Ƽ[>g|!32ы"L Ba/ǯ㷴Qgﯥyf&ӰQ5TgFeL6E&d o rCn]񊭫,c<(ɑUy|.ٕ$xf;l?[¶\@*Q <<9$V4RrWOOu\3[{nAb!=S=eb-sS7 y('~SmzfP~Xa-AlunPxq4&(◭vR,k+ʳO!q<,f'ǂ8εvI&"NBqnB׿G)m ҿNJCpv-#"+aM+7 DyqtH&Ǐr:Kˡ_G'wVגbXc@:kQ85J,i֘@Dku:q/19I~W_hQriݑ I (M+hh̔7xDjn|rc8`^.-|ra ϾÅ!dCΣz.FC/@d8H M|ø[jYUyq5bFL"Kc1c(`Iɪx&ǰsX9^+Wpkv`>x沄3XU6oL7:8My<$f!ixC4u(EMفu5uniPw.l;eI0]M gQ 7=*^+l9mRUv \Ea&(T;{!Cpi68FE ɽHV!:Y,R:Nm^;c=U_#@F15"NPC߾K莧@mi,-J_#pFZ^ zn, ;/?n P S,e@y8kҨMxJ݈wR2By}v[2Dj>#V{qe%&fA!.StdXݳRX&RkT8J'!oHi 2}$iMZ|.f=!@ 7`1('XQW=&f}yR,YC.!9jX_;b;"j*xo[kv='nű:O+g~O{H0I_V̗wu C"]m,M-Ͱ㈐_c߀3IScdzvo^.Qt6 = ;|4!DOnV#%i,\N2D Uh~8 k䵘s߁*V|#t zQvRPš /jǒ-4XҴw.'7<>#=Lxڣ T=v HEkbZzٱBvF|9I>*-ر]5>(:1 l>[`Ph<=kCW#v@Dq*i֔yV&'u<4*Wx1[(肌֝PVdXYRQJMׇvZP.=ZkE.jfIıȾs\zK4[!NMS:gRit#.9װ| Y93$`GG]^؍Y /*K>P5Zt7dY"-.hᫀIKL #)fm+%n]KS#su[N:r\ØBu.H4ɽaq Ln|9_5ޓ.Cu䟘B Š=|鈜tVP4Ù\X > ہvct .k}%*ao!}]Β2'-LG{f1TĴ:݆ Ygq G\ 0͞Đi`uXc{dy ߅< LSۓ:JI fhuO`H9՝jKUжo-+-x[2eN5)B [c9kdY_r!f GYo6gF'EZ-ꤾNɬφ$ik H% q-Š:)_[h?8F-qylւAD'ˊxYWwAö՟dstJAMm3iS65Mr^`Os2#z5aj߰++K< $XIy̹[Xՠ&IROubE$=T.yMt2BMiOnCQ"l)$=ҵWHh2WG|iaL1SYQR(s ) mp5ս'{4\PȔV5ƖToY!AS]w[=(4qG'$1) P^r'7m p¤wظ9pڶR~Ac{&%-W?G_G-_r`B!6>Re.`hI2\_`Fuґ OȢ)D UKt4 a)^IQE-GyW](+w rbc(Nk%rVTϱ%308FWa‹unxqT~ 0ٙ)j'0JAy+Woϥ8T#&O0ߗJ!/BJQ>q@p`A1C@֞K@iCPoB,:RVdfU*X㞔=A~.#C7>ge< uZQdisG1/0(0T_h\ @ߏ#touu\iǣ%cᎈĪS47%nb42P7>qvQw]ӥ( 2bFS9 9?Of+X\nR%F,O:~RbPRy'Rig rH&UرB. s4S5u z S_Zzho:B"\'͔{z7|C-)-qlަ{L鰗7ޘW U}_z# ;Q,\EA]g{U~HlJQ-S`TB.J#xd Z~ıۥBqgA_F` \=6݈u_-A_Է:qGXܕw{=_aXGSՄYfQ_Ov"W_8!txl[KR<ƙYȞ(:oSi,HP8ǶoQO獤oAEx}HBb SU*ogb0<]  5`Kb x28b tk7? cU~C&ϔ >*Z@ךJ_E1b405XYt. kw.+T&8H&!"-7zo4-*'&HgN1KP*qZ Dd v)Jeb! *Ë;3x|j)yXﴰUh%((fQˎ}4=Yg~Jo30 @ =6Z.yIi3z{lW9 Ѱ˨m9]67I:=Lbk4z|W 8D0y~#?9vjw@,{#BNVĆy3aؚ}8ɫ tc0|= ATfSfZh QysRD@TR3e.CUT`}%2> uWk[1y >zy]7 K>%xV3f{ZT{^,o&wΚPvJcn0avc^Drhq9պTĦ\{v=Q &0p3-UQiUD(c.li4?rƕ4AvR{.R2 Of/{=<:H<"}3 e4˱zͻ>!4 D{b5C`g8 x@* %(1XLH򪞢:*s,'7KY-#dGUC@ HV 0ĹH3sL/! ]ڬK/ l3>PYaEi[4:L F$=zkA ϱ{L-d6hj84zxV "EM9Ϧ Y ^ݐaiHM*wюחoΕvgl ?PY[){p3HE8 "h}i`0irbhL cpƸatGh sFݙZ+D=ĩL.?y ݇@nfdR,&5 ls9p@0hfxnƴ;:"xr--|Pcqt|यi qqݪBjuLeF]R%ݷVblI?'4Z R54݌J6ڗhËr3 nZ6߉ Xe+קq> Dح t`ۑ;傒D+eVdnBxP`yDE >v" pI;w1d/˝O[<(i|%l̿VCA>sIQ+71;~3ja lw*Bq10!^bwy>3E}6 't|-4oFd59C˃!7<ϟ >ֲ"A#[yUJ^Eg)tU:0S0a4#ۦ'qv6D+ 6t/wpmخm+(Ark㕋QᚘʜMDb@ɵX h*HtS0 {n{>!E0}NИhzyO|8h&2WvZ}[z:|ȾUt.Y@4qK,k r-=HO%RUmTe 41/GfW3̿Į1{L#Kkl̮OcCC=V&k͖XcBjt2ZDz!ߚЯO>CID\X/L)a/!܌餿5D6Me_f6sYU!: Wda{Ä\GQf-4эL -Kr%[frJxSDb|K]]ORNC=(0DeyD$1Fnd֩7|ƨLTsL͘5;喤E!nA=]3lP Mk gѻ5QOcavkb PMplx VH;' ˔[-}:57'}fqWqhyRhhCx#YuCoԎhtҙoNrKFrO ;Pl#ܯ?ozQ0CL~8/_(I᭑pEvyJ|CBqjϧdǰ^BlըKBtX!.—vYgR1/ ;r> ?3l\zԭQ]sj+YW1bZmyQ~P/)e9QKIq@zj̨:EB(8):a诓T~Iv$}?ȹދ`z;n6d87{xȨnR0P ْSWX!';Ѻ.@ Ȏ&|Dďa&DTvh(_yUO6Pzy:S֬,|@7Em.Pp]C}P-fblgX{Hr\\lכm>[ zUs@}8urz#GpqI25n8QIO 2qc}FRYJF >Oɚ&Hf~pڠW=\ZӉ+&etgiqNq&嗢GnIrowӴ3|:)St6i Uۄ}'y<|_gEEpve@}p{Cs=?1 .`Q{R):+$E^E'ߍ S ly|mVs2IA fݍ`یIk]9!ѓ]-N{pB\ݘu$d?=X4`^J~v 53G ;?EHn^qv^sq-9 zR3rЁy+&=8Rv ^Ut .W١ؾ8=HE9dG.*d).榹Z'Pݧ "cH׽uo!Vx/UQ9bsRs,&6_<͐wPj|^*eZ#<%_cʗYxN7~-Σ6h_l./S#/=Tud zd}\=+*ġ/Ȉ =zdLЬ.\$ pgY.9D~S;ֽeVMTSmzsbn,,W:RTk-29lɿҚY“\?~(Wjw&'f5H!4.PkWC6™5n9m~y U"8l1Kw]] z_eDiA{NLMp"K `Y/] {K+_*=&P"Qn ?O)A+pjshGK-K=662ϐO?v$ҥ}` Oz!<'%v#yoTƟ1vQ-e6{Wx$o_'*+Qa,kR=Gx<>ӁlV>>5864~Iz^E='DۼS4X$07.:ş_#M71|M;ewޒ*O׳e3כ7k}D^7 ppgJPx R|Ϭ5nܞ?!an"8NF 't )f RpOhI8} NU@:w5t5`K 8ڏ8郍M 0Cm>q -L+B$"&ų:aX$DM 9y%/&"b M^i&(ߎH@6pBe^Ay~n@)a}GԪ ll"'U9~A,3xٮF_/uKj +<$M%$daurK+zӵd]XjCDv և(w[8ԥ#SiP:ϵDRO{LsTBP^VIllc>e-roΏ@ ?jb\ܡCڶ 2O v[QQZEF$؁hj{#6 wwN#; Z҇I8U\H`I"UYeƵ2$dORWF'pPh0=UhkbAg5NP]|3ɪԆBE>l|) РPTF|? 'AS3ɪb3^]~iF2&%=u=;;au1 _l#f3ZIrc8@ ߐtQU M]X}Μۛbe`Ew@>Y<#tLSqη:@(5_o2,~C{ (+[\m xOH.hK[mcoLپGp&6IE({ϦCM?1(Y]7`5'RYtObUu)3CC:-"qx2c4V&p0)';Č; *C4ĻENK^-Y8iU^ `*JrNJ͗Kug;jK@ij)Whм"mo$F)G17諻EI`:cP!Ж䉥کEr $a~!zɷ9P0{u'&*bI2=g/<`tkvXq")`ϤTOa.RiAy3?*m 5cfJvw `m;Ͻ-( ?wLR>F(m'hhDZ֟H7E~dz4 nz +n޼(GǤ+fG#73>CW9"ȠGu?07Vl2k _ ymر\> ߥ_9ٱTC-iVL+Lm]rKߥ_}12V@o#"mO>bbj P|XU50mzxʮٽ8WbIe>eO', # Ax:3HVך0rF&PrSZHxb֙ca3eTqRZMJ=776Sh./>g ξI{)dlo"Xh}R4>AJp5DCT,+c,eQRi,o+xP]1H.3hդϗ&Ҳr9Xs0ugϋmpP. { p3]"=.O>ZIιg)T(Y}G]&alxN]GF_(!@1lǨ |[ݢh26j=U CiQ꯲'Bev2H1Ǜξ3H"mW?ojWә§`ܛͺmDŞ!c Pϩ"~A_u0&y&K#z~_N~Uސt 3A}"Ǐ Z4XLml>@"O޳#۔MNn316m,$4B)`O4`LP5Cdٷ.0r\od `!tMd[T .1I^$@Qi &^`a;cj Հ(iIJsݏ2&Tpooxԕ ׊*< ^;4ϣyoȡk4&V7z`{!P}ARfF씬DS:mJ[k<=bj>ML)eGg\`3)%jCOKB5zw<`/Rh`yw:!/V-[KYO7b>%|@uxGHG9E,}DR%7@Rb*syeK؈&WQR]Ҧ*LO'$27 |BG:)PQ%O ϳl{XKS`eXbPx̶N2=?_I3$Jx[I9'`rNLu췲խ"i{hTD'ED>4r[ځ͘Mq1:ŵκB\yY찁lfLINW vX]}Cdݫ72NgpNX-^K&vDJ9@Pڑ>Q]LxQ -?ॲ=`_)ݞc\r lت =15 ,Y;r9dg ~Dwuat~0(xpi>yJwFmz({fQoȑ=1|Ak=R9yC8jZJ%4|En351+W1/0^GV$@ bSN7v"MPoKP^?1Bh+.{$#)%wњ\Z u@/ ].kŀ/eG  }SR858'*>Uy}Aw$}{*=fx{"Y+Нvl-H@S.fo7"eI?꺊} IR ,LT{p*]ʽ:HJ"m818=!ٳOVlL\*e0e\}_2#1.T^f G2o6O zkkJܼ5'ոj LƷ\HDl̵/`S٦' iNw O.u[onͰ[΁WpJjYk v_uY4KhV^SHl jH_I0Ԓ6qHbT°b@re+;arĽ ('h%sǡ;nq202ee5CܷS+Ȉѵ_M<&9g.ՐdFI)S,~N*լcsy:=r߸jB~НC0;+\&Sxnvs;\>qrUŞoAZ[9Up`)!~/hК6aok%,kЏi;c~x=4rĩWLa65lmگkׁoa"R|P S4y{Xjzt"mj՟$}`7 \VMF@/`urGF,OSBq&am-kV#(ϵ1׏'*#\$ƞ[L3;[i?(Y)wZCWIPD4iClgြ#ksJ60+e6hSOFEh+DT3)ꓚCΘ4 |1@9SFcZ8F+ߤKzXbg{E3a1K2[1\s ?L>X7kئ(@WJ=kQH&SD*um"bzH$`eGOh6שV]VN8͕ y|? ڞ/H­lG$Ir\5ӧ "{]^0lCFwh8nGhJ}Gn8څ`$60>V=R?.(qWGt_ U_  . ײ_'bki&5a|ERүسexc3)=pW&,]e/4eËpo|Tr<׸tFoEsɰ/| 7wY/lᩈ9a=ɏ 5 bI(J3)3Q޼Ӕ[^ԃ P> ^g]N;j 6Oѩv E}F֌ @Rc;b%=Y/\H =;5r7K>lvv/". DDσk41H9CR~. 78 ] h"𞻝A3&|5'\ Ցd^ at3 5<' o}TAyWZk*i0 "޾)gQo+A/(2 {T?ՅPFjt_'ۦuJ@^ۚDkwdi=/τ͋o9Mbw@Fh,A :}ه](D.o{Y$\8x .D~[ZwǤLrț2E2| "A ړS İ,%nRYA oG3HPLxc*ޒjW`x]ozx]4 tAgbMOj0sUFi &&Cc>H_k"O0vC6X$פ[\䫶ֶj7# :^\}~!ATk,MaՄts#M5jӭ!Lh^ U&3;ŀsxM0f渓7V>T_(u쇚}]Tfl!cr|Fi0sZUؼzeP'gZ7)8&A>" V?Nk*LTȨJLx_؝, tp6kp½㭸eJ({] ՆPbWK+e1m Ŧ/$>K}yaðResp桽Lm*RgmCNF(o{ R_ e}3vgtٺU)m5ˑY5#~AoH'ΗWrlÙb@ܖE$z[ P)bI!z) 3_)K5D;,;eДDZHEX̑$cșxAMNLӣvҁ(]ŘLJo@q.eFrԺ7KWY;gcVF,J"huR6sMqhpu\%ia@gwd릟aʢ퇞o@ёr.` >]Cb‡zV0(e;7v,E/CVNǝzj# jtplmp٘-AxeK\bCi+'3q-N4)[=Zʩd+CQ*ޡI$>U/g EoB&g.$goe7FnP|bu$*zRn~nfON/ wǻhgڔ=x>;wi1fT ТC{'1_C,"(ÃhAeSG W83݁=#Ήj; )zTE0ǟ_@qJ;AkLx3ò Ə`C, l.^G P\u,*U7Uh9l!F<ǒtC``d|߳ פ8ga󃧴'`[^$니%&Zxnzh4GC{Y:Vl=-$c;xvZqx1NIO XIdT/ĝ::3Lhb{8?7w'm^'A>)P]q4:C$DݵeFI0ol25?}c?Ԅ>Ɩ >"mO6+Nƅd]dD4 (ڥ[ӡFTW(9fdO1'꒍]%788hʺu(3gl ,$-%W"A Fw--2 W] [Hwv$K'~2{nԗA𙾰><#Y%+/to/>'Gy+hQGg]R{=w@yx0Dɀ@+.W*# Ģa{o Un~g.uN*o養~mq)]A4dҪ_yWCc/] Kp!\vK4|:*)wK s1R1O85ǜbU]p[lCނ'"7sU=c ǃN8YǮ< MĩאW.iu (ڲ^nAVayFLÏ1>t AB.Q )ȡP} &uI+Z`w4feҰ%+d[ 5dar1՜J(J֕ Lؓ*/$J<깙;,To+y %v;a]|BȽ01e/eQg@MLM*,̼X>lv8piIQF.'1/UG2e/5!g\ ?x#lB9Cqoz}{b{2>' u!]PЂl(=Jg|J ]]e (j֧~qOQȶׁJƉ0ٷ71{@mAWo;ݿdlP*L V~@`eĽ-մi8FsNRIFycV'MriA߁w'C|"!kXn^t%gdo┈<vMz?L%elf\Ƿ"E$>By13;Vo! bkDy]5˾u(k^qlU?I)tO ;kTeoQNqZzUm}]8DV-7ؼ۰̲ v'֮[baʝ1>C#7K\l j:+He3/bM_:l*ĺ>+-GqgW\;Õ-! ۊV3c"Oj]J(swd$"PϬ̣0ÔroaLTP'2J Xy:N'0r rB7E٪;޸(u4 bj~[el){mJBĊLpNe!e.WN;9aS. lxמJ+{@:qҕE 3Pni4z1EQaYNL1^#d-R UC$zxig|WwGaeG~o@d&;4Rg/jz[[\yiUt x q%O}Ufα%I/'Ys Lۣ6-Gp]g?ZSu;}4]j_T]Ü-\1q\$|jrЭuv(d2~Mg*TW]t!܀B XpY-)csׯ~ּ8V\R\u873MtV4/{o;ۥC/? mkM 3OHO|hch/) =U_kVϡuԘ$ rw*qKsgsjʜf0;Z* ]N48 dm pH՚s V ^o2sbo>ˑh wע.8@O9[ 'C3+ cJa ^u'绖"jUF-4~[Jw89&TC^wޮLsi'rxV?k FnlH6a~I=  ҃ypǼ{_$s#9w_HtX~VOܰx |7WV[0Z He,~ }-eF, E tR7(%h@oUraviy-5,m ig4, [`k.5{ KX%3-oxvZ}|]) W}Y(z3֏`܏.#Fu k.UcؿtViSaljQywM ( /gD@q#.hk5戇iG֙KpӈN C7<o̟i%璯ҹȦ{!p0Hy:FdgRd>.= H0Q_nݨBi@BUtJ:2bK-Y ʇ0Ƃ*UU}jI)݂y}ZJ_ە6d !qWȚe`,kHVLLwGc8h`<6طY> ]i@pJtyX>Pw&"i[nnsw鬎+]l}zeYƂT9sr_A~q\JC"l!/<{l0WƮ+幈Vŕpv~fё|lrdw:pFpHO!3X(g R{[]3і g U>L+}:ZO8 ބO^`']>2$5ln7lE0Q@>gTQa;&NƐ%d,-Hw`:[c!'-ddz^P`Ѹ|݃_-K/'꫔ek@a|V`g;)А.*vD`ˀ^]RtpjQX^8[(ML"JQ#Qy.J[=U%'k9;BZ~%( v~@:4\T`J6]]%Gw-ck}}|6| 9!`䆂{IR&՗Q>Jmp0wB/,>~~8wT-J`L5eO^j$X8~Yʴ;r@ ;V*Q@~)%i(ujy4=){N9oŒ(>\s=GE+_s)>HSIVf \t$p 'qCf+¯#3GcR#Έ-9v>T 5-[P1s}{¼GDG0XU}NJXΰDHõBf=0 c=W4M1mEU<F7y0vش%".EA3ɤA]1e,M+_D-HeWF["Յdo7IXו_q(2s.uR2ExjEB[g_@yϚVxYpU 6P+OmWgdW_/Lvs >"ZS$;,}±{\|C KX.tlCQ{o zK6o] Eۢ=$ߺGc V1x>!M+F8k7_ z_WCK]zkѮz|U6 +-;ňaW8P~[SR(aD+rg2QyEP$/kC@ȷ)4v"fG 3^熝ր9pdC8:ixF rj?g.З&R~NNO4@z.G@wbUw7$K0??ećc*Ov4* 0|H Ar-a_3[>.LFsxAu=X>Vj(dn ޚQjW+_9~""ϝBr7y[gk/NHJnG5ʄOQ.0o"R^bnOWݷh*4"t3WƉPC+xMi&Ӊ) C]`>H t'™6﫸*ReU1I*t'Q4t\xxoi٠U_.B0)Bv f .4fHZbW۱&^գǢ0n~P ڔIG`#tm887:`vL@xzϋ Z4}HIrJF=L+' Q0Zt m1z&JrĨ8(WZI@s缬 Bx"cו4q3×UH/`2 w,T+~Xj?gF4#rMv3b2Lܤ}\7pQJK 2ۧfڻhT"5 FyDӗcE!v:NT2>-?԰w0UmQ׌n=!Gw(oɵ GmRp=!@댞rON@E{}|hfу!i̲}k F<2<^|SԲz:7&\!vr tj䈍M+eq}U,˻αÈtDQFWq#h4c$Zp ؗ% *#*PϷ E"iwtd>¥\ .y{\T2dŁJ}Hz >W0)7LGfwob;i̸p|7ei6ZVM5Rw˦W d:hH#˧ Us`r*'Ǡ?d> U 'Y-o#H$kNop?ORl-{E?Cp4GwW>~tA_c3djoۥGcqB_[}hI`3_ A$[La.2V|T6'ᅲ!UT^##p^A@4g I;GmTqɌû۟q$?r994M%KTVrw g>)4f=:Z=b\쫔c+9n K2VQȃ΃I֬౾j9hWr"9\m@F\0w9՞R~1&F?G 1g^#Ry.JCdlUFRWm5YFؿn_)_&+hd1Oж)4MCdgbBCrb2[DMXTyKǷ_vC>Zc`á6XꤿٯNEo,&HyQ@+Nވz dy[>z3sEC6MxL!kO!rWxFTQ6jkj™?[7OD_g[Wu+cDA$_F#97Fx)Nb"Qn@N_ 'Y*Be٥!2Ϙ4~vm]2\`"NxkiLvY <Kb+Ίx|X#*.Rw18t2(tvsg,b즯+ {Pu/ו85 n]w*r./w#L@29S+ [R[]2(Ė8I1!y<ӕIӈo+1-(VV/ m.|7GOoŚL᳢-ei~ՔUn)W']0b̧:ڦW%qꃒ벟m7GӨ'> ٫OӠ.ΣsIALфtzҹqc}D8w#q֘µʣtJ,' >F6CQ{F_eAF4£;Wꌞ]jR@)4& ѐ4ŜnѣcTL-z̲aTDݭsa`eZ# U )רE۾_NcȆ`6&Oֹ{maHKfTb)`E, mVkoQ~ti&ocFٗg>#+-rh!82m&|"1.Hi\أ̻#GFF,95S þA 2gO6.8T&ֲc&ui]Ҵp"[P|ќiOahYxXZd-Q Vk3qTRĤ'RDVPxr@)l2v IނiٰF9Z[[NU}(G#F@ F$6[z&Voqqxl'z,G_qݾTq5SY!(i+b>98-?TEC*_rɏ$_&i^Q WińS,W ~ 'OHZZ~gPA'rU ; _\&^{MhI^`;4 7x˽^-׊>A8`l`#w N['FvEW%DǞhuPϋz?X Ymդ"VM;[&8(|~ӓ~9u?'Q7hɫڪUDXn(bZM|ɴR{N["4 a'@KE\\-[5 ;KcͼYjƲÉ$_yݶDBK+GQQkwk>dߟ k:0 TL ė~X)}_3WzdBa٠=DE;x#ϖdgYsCfH]BH]Gd>e>:B\-M_vU{Ic!(|x'<īpW81gDwea3*};׉CLշԐOٛ<@ po"[!GS"Rh1IG /oQJYZn|s9XSݯwHJY.D ~`,ꈛZ1܆Ps= #~qD3>dqKROC.]M5M Kd'a#tMFhA?TJnL(Oe(Yt40Hڎ ẹ-mW7tcVZ؟^_>=s'kv /hۉZ6: i D,%YUf:#8_ׁD^hȿi`:L[p#BJTK7lv'-sW!U&!(ZR|S2 }Y&R\:=ϟ| W)fôN LJօw響% -)RđBVlTdH$[aI ˴--͊e y:4:[αE}ǠAc15ᐾM NI4ZAGĝNndE BQ?R|2Q8Ⱦb7hN9ti#a9M8αESS=_ݭ_р{ QuH!ܮ{rFW/y(.>9wOr$F1@m>Y&WZFh:RG $ʶfyJ3'z@up-l}rA#G7%Ǜ\C4j rpl-'¹pE 2}1hwG Q#3ۘf6'F }k8?҃8I=Zs L\a!KjW!YS”Ev9`KM5xM{H@/ўN8FS)ߙ!D I!vWr֢eru+K/~Y,n!cj54ɆҚQuo_Wz/>{ڏ/W7QS$ŋ gb\ʒFLzIz/Ak4i" Ge9UDwF,z s⃌Ǝ*ÒWψT3i=]p"U+=7?+p @, GWW :gmH3 ';AhuYw3eJ EOv@g qJz]R[[;bABSZd^w8m44z]9ϡYL+,*V' @- !UhQՕp3NޞSmcM윐¦r+Ƿj]?Y E '݈bZ;n;TBG>' u%dKuB\ZcJz 1ybb{hV3]#,/_,nT{ks]yTA"W{K^sB3u69.F#X_wQu%Q]:h={9.&'%,ZՔMe6vnLwbޮ[8P Ѳ%&N2h?kǂRW"[#hQ{MEyu؞UIչ?9 hsQdGT9/!~) $u)kTJo<_S)ϼIl1ZHlPaEhQE хJB떞W ջLcվU 8lF7tބS&T|~8 =bS!FcW;@NF)op#Un3(o0Dx,+]h =_>|D ~g ]R.0qMўna΍_%N qaQkqAoY\a9Ml;#-\!7Pf735Ww;*}2v=`i/@…s6wbr+YYFD@3|;g3=+Bh@_"дmG70ekVV]|Z4vўZYonnj6ODsNpᴝL؀k1 ,°kт&3Cw5`G9#8icpTJT#+Fq8pyWe/7 Ui1Bj;3>=K& OzeڜD:mEn.q`Gg̾3hJu!5+Z)QM|ɼ`nZ&9kɠ97jn$)؂CܸkCU0}yCYavaf5Y kn @ah 9[. 1YAPtuo2L)wh'OV3=qۊVw:|KsP=9e`@܉q}3p۴"wvh˚4߮y54Gz7neB@Q p Q4ii_ l.ΉN&pKYWDr G7_Z@hGjRSOʄx|Q|ǒ(#:)QdG j|iihycEqYhu*k%esx Z 6e,Qm5D=/*c [c$Ľ;gM到oUع̦XO[Ѷx,j}@/$(k1Bp!q=_\{;{fZR1!%lxB18"]f^ᇀ[ 'zt>2Tk`Fc0P%iod5OjbbÑ7Nww0 @Z Qr *ΦBINB ^bְlݾFO|l-tt曒7z ~I)*ſbFb^eL*~ZAk:F~@~缢T [Q ~tFcrs6Wi/pLi~R|E3vX sti5ZHۋF]8j?o!3KP4JeADG9>qJHIl>X)`>΍U=AXވC- ; |ȺfW ϯr&eЭ( áLI {_x(`N%71X&aBqQc qcHW)ǟL2sv2lCCSxÞGP֎65S+ռ<=XM`q}ȏjFBjR#)MʠiUxߜ(%{}WWL9Hn=Jk8J'hXݏ\ƛ? RlE盁vA]Y(rJ)>3Xh@v➔owNZ&/J[ l D(fZ<JiM$oo_QHMOVgp;lD2繭1XGg@Q*aOyj͜Z  E$^z~aŏ:FNzYiKWK:Ruaqowsrʤ`>:Ɉy0 ôm}{HkȽ&L"}P 5S 7GF~Y?-@^'"]bފqHҩ- Icñ9Ƨ(u2n_,?զk7k'yu@h^Gdb.W/:d=Ñ j<{ŹΆl7S3_xU !R1|zգ! &Dq # RjQK* VI>8UtȌAFY0J %;$ּu*1#ĕ.*5Ux7FPm(oa9LD%TE Qލ6 IE+_>QqAART  V4YTvrW%Zt+Gnʪ{9j\HGz)fN!ma"G$LD$bhmŢ*Hbg!8'13M !̄P ^4%`?Kվ-|aE^/pTÍޜVtrHߴ#X/40H~n]:.3BZM}f W\D(`(@Tη? xH6羛C65Y\2O͙>vcxY#P9ӻ4d&BEMİ|Cl>uŞR5|0$ËdWQJsfp#^@&< hq;D@"g k!OFï SSy8pįGw>S(ԤKs/KGꦵrHڄdӠ:MiokMr6p՟*JHjN&1]glDDtSu5̈́!LWčXvJTިBtoX:%Bqu:":㪬xhe6Ic_".y9pJ5#+ Θz#Q P+Kx]Y<7jpRcӡ_V5; Wpߴ3ȕ6SѡDK-2'SD>ISKCR0b]2!4"t ,WP~|&-"j~/j#3Q/MVL FmomWB:Mqʪnnq5W,[EWYxkRpOtXrC=xR\SH,_ ._IU2?DzdiHіVIBsbjC7qLcF먥vmޚ9uJdn( |E 4 0Xx\4I@-xS:8*ŋ7/X2K%>n v̖HbCɝb)5A-2K;Fdb1 sJ7x 3=Hb#7!~zN^=zzr8yaϘ\U(evȃ* ^]Y d:9xn%,rBRu +ik$ $vn,VkI!focˆX @i( CMs98A A`PBlFMl +Y\Vjf'r>HyM"Xy)3DIaZr Ɖ#ڀ4z~"c(leiG9+)WT +OtD:`3pj*6m8bÂP'}J Smnq-qUH ]41_f.uw`kg]+#Y}ApOgvo,gN2Sߌ=.XʉC um)#0u-lM7lC5L;yKzuU&RVp%ײ`dN]7j,7ᷗ0:{Hh3W- 4F"|C5PI˻CLcF`Ho9/V c>&{u?ʌ5f5W⮊6BTސǍLUa-Uӱ{iԇ҉ .Y6hTPmTM lou_p) !^ !}z"ȌEp2:p(=.ʊo]{~Fig .}4؝3P +uzϙ4!8l`=t–Pv⟍(1$2B7 81%m/\-L&4,vz+,BFL0k*k[`vAD\Dg#\6)/.Ư L0DC6c /=WNTF s*|O%^Եfz$#7vd'yڈϪhTY[Hvx.gI0sY'}HK)Ĭ)Gkou*l+wwP x̒u;d\]5a֨4ˏ*4/,❫kJ `I0l-)¨in\߽Dd2+ 䓆VEFvc$]  bwU. E'SΈ$#\Qq *,) JѲ9PΗ5Jۓ筁dunR/~+uf(É_-4Jf~/(VvR_ &+.w3fۿJ_̡fJu3رh_z7-dVթW<%6+mRE!/VѻB j'(}RxH ,/7Aېa x>] /ֱ~3ofp1wUpsZ2 ` c?YqmSF64Ûg_kPBEQ0Ej{OOjM.!rÅ$qA8 3JlMi$"[MlV, ڎbBpElZw߫u[;aۛ~uB0p?u p`N NSWk@.v-cg`.aC ';; @W)]:^c1a ()%1Jo|'/B6rTM T`wfTTI :GdIgGi'D'tyO Yhۅg$N~Q@٠I@EV|%iF:j*R> i8WaKyK%:dDkE4xˬYreʁJ]|*;f=(F]gHuo987WEgY`|Sp 3 .+`;Ѻ4@-Q5V}mV;谣GR:1bkJCj]0+K2% OP1T<{C*{Z.,O43yHNr^^LhEɥ 7WĹxŧĚSش9,./do2%2p$hT=dؿ괄-"Ii  M N-%> ty у(Vͦ"KӢ=-;zO/(1x|sϺnᬺC\*yso#Sߓo)~pʤAq=,ٳtvu/FZ޼u42tW4^7fa m0NBY/vA^HH0jb&z[k@픀+T+HFNse *%^b8i ɫK ̫3afX7==^>K2Z] X+׭FVmH%4(x,>S´ z}c8nJ[6Π%oA"<h;s+ !XkfXԺ}CvI5p^B˺r-u%M(}=@2J<"'}ѭЈ~K7جbGf6K+L8CuC ވuòċX\][. ա&} Hũu* ][C#msH2㸉8Ջaf ;sD#;R1<\J}L뷮o]qo#TLoYfXgv.؈Oo,cWRiDB3ƍ X4 )j}6Uw?Vo!ףlŒH>#{J3ܢɬ>>na{t妷 PՌF24,(Qz໯/IWA]g5!Ζ.6WO*{44Y>XiɴY%Zp@݉~6၁T1HKK̩|(K׸iD#,S%./Nϊ^AdX=|Bl7HB4$1ܒ_w4u|=tmLC_)moaYg*\*R3:g=z9gApeE" :AtitX4f&k+A@[w`nʚX~D63p쓸3m5xqJUkG0>TsQG&|nw;9N)XpO2%nn~$ 3ѹy'|hrjsXnv_~78`~PD|j`:OSu`ӆs1E[! BL6+Ӝ _˸D麎gK,&:XIVKtPZ-?.=FYhg+%otCO%k#ɠj%и] 0b*2rIF1X&)^@0G=-DH1󈇫×Q~Sz)$ӓW1hXQhz+"Ė5U6\ DHP,!p0{-IacM*VᕼS?4FarW2WCnR1_B~%}R+dvZ 1{oՀ_A0n* >?D6Az:SC=>dzcTd GV~*ћ#@@Al2rzv#zh;tdȑ!3ƷU_7CI|]kaT En17a& Xk],>qz-4EFaDMz-OǕLB 7(.fЅ0[fSvʧJZ ܩ!Ad}I1<J08Psao S緤3:e1 *pmuWPl0*醸¥2 J#?YB^V\-M'j sa[lcϮ H{Iߕ1 I@ 6Jxy&c@ neEIa+5kS[nv)3N#s@QebNAQV8|;Kb|3 %h/Z:o+i.BBҀ$}L9!kB1DR2w!悽xZFsQ~Cme7{y#9ElE)la[= p |)0TuVލmdi {&п +ol1RY74wjIaL˸*VA``_\<x5nLmV Kڥ}R2wF`'B j,*N߲oIEVd{]yD!zl5ö0ԻBy r,>-M1f9>HMgz56.ᝤ-WPQySvh=J(S3/ӻ0W(y, xW-y ~UCB{ T$̾*|*qZ]TgnD dmkU;o; unRɳJ9Gg3u5_j1#5-2^qd€S\ ̯ݘDȈlE%'Tl&FFeq7j(޺ iS,L{Q1%r. 2BQhDZby*8 M|bm0n7rjʪ02 {2wnhIgg{cd5c$]8v)N5԰xŌIDpN#ʉY9rV [JWbȀ*MQ+ U2?5 c"zAT f(Cj¥͔鬢k{\S6Son^FvGDžttVȳh9bm 7 (s>fE?b&@J5s72Bfp.ZzO(JqCz!R3 Du<5a{3L9tn.|l{]Htc 3'9#i-beu4tyzjn(QxMYF2X{3>˪,n :IҢ5i<0/5֟!gDh 0I0! sԕ*?OR>*|:PM%w;r.`sɠ foc$e|^0LnXtXq2ppGZ@·J{nB'. bp˼klz1<D+&zg:X.>_3`hoj 5I mBS-*7mBPۑL~5x#e=M ]{.$㽿 VNh0L H4hcAxatKzڥΟ /P q=K,Aw"{ph홭E賝EuɖEpT{*KXۉGyvADF]vL%Sc8d@.3HKH&M N٫G'qV.#9%7L|X7xs5>.]^[uDd9]b__o;\Z"!͛} Mu,V(Q蝌3mruT)8rQ ndR{[zC|{gpUcϬXP|9*GΓ{SX.>56m>Ʉa7䭿J7:֬\ @cbMV9V3.QĊ\DC72nizhr34O)tUxZ1YRͫ˩uʷ4]F_\/I(3*{R'/YK ˭型ҕ8)% >/κk\:C S!vMxAݣ+|VôX왂>OܱqBO@zק} e{,k E%MyצkM4tLd\L.yT]8 C8\;mݓk硙Ffmy2B^sW6?\u91u_)ŏ|:mcu@~6!G&lNϻm̬@kw"![^P-D?ŢxE8f s, KTx!uQ XthHn3NN䴺{CFLf4x&2͗"]S*TnD RQj4pwiW6;(;Vt aUb*vXGL%|!fxYIcdF 4Z3X;-X q[ɫƋ-ixhB-2U|zQ vsr4jzP!(8[Q<ƿLbUex4LP|jAE(d@6-\X4'=ސ$ڜ~רTU =!!;M?NUSQ#5 .sZN,+%~ jh u&8yWf`ݮBDz?*61y ǹתJpѥQCeJflI$>[qEG\HOD(ɝ+y37UU*ґ=!^̸sԞZмJ`"^츥̧c`P8vz[ތL<蚸GG/Z|vYiF_ٜ@fx;禌 'ʇpRċҩ/B#-ZAm8-n,{f`-b /pr,D/9Ds$NbǾi ,J+Z[ZP Un j{c['B2J `Ed`$NF;Y<ү,/+T+qmOW/HG\ĻĢ\Y7gE%1|o:q/tFV,ۃӾÏNJ뜊uȓHh_q5CAX}LfQ[?-/;E0KjWhaJy/iIvr%`1!ك_;:Au+O׸=UpٷՑ`,}C_kG=(#zZ9!RS  5"H8֎-hm ({ƙ D\VςnbKYoq%F˄_xs݁5W*Zn.;X ^[#*>c/̩  >eYe!-K,ԊZ3{>zb8(&NY\S"3EZaUA^рe."u|O`EsR!zsXЙ7YzO]ȭ>NqYmϸXH){C~4;+I͌ q\?@+ UĈǽז#]f>4o`hv0i@nTG$Zg{1kWlHӪU\[Zniؿ7Sa*J`ȩrh!RuˇnE}ޭ Ven͏}WlUT=YƇnX lYM0.һZl*V sDp4gęY*=ʎzN:CUd0s/bC3(C+/XPn\}gio34b3 ^#Ząi8>(9ʘ:zQ[=ax~D.o\^$jM3>m_ҵg`4 U׾Sqh5U YMwW>Q&pA; `=MOa0E q9)uH O'-Qҹ˫{ <(cwqApYc :h߉=h3׸:-\zJg"UC?]Ji_>D h=0!h6CGv ."c:E-7ugCDĄX2RA!?Wʤ;MȂ0fJ/ji'\[X[:UT¦m|dݲ1P g-lNODRĬf9Зy(jt25+)c̶_!mPGTzE,7DDppɷɗ9v7cXU(Wu=/1o]\ xW,t\^=fzEk>/fqU?e?sp:uXvw7ns tKj@+[njBE(߲y#<qRE=A&Y'7\>h5#}3բ };gwi(f"D"# gr,^K\cy~jݭD ί7'+3e A "YA]J@rV΍kCl`L<}ve_5ǝ>xZϲ:>ak_QBH53ǢRO`>v?,q@a1Z>:#DbJ=kώ1`qq5ҷitg?rtפ':S:Q6]:#E4=^X3"T|`^Lݗ=N 2vݺ^#{XBryӎRN"<5]jR[|yw+4Sc[TٰGs\0  Ҁ1*mRex$E]Ky7P"~Uq|8u S,[ M spRQǡ[d(uTd+KGWbG52t"`ɡv2'_aH+pюO,TD D]$mo%8Ӧ&kZe*{N?}AҦ{+ aPGY8ʡr $t`ZSb憗xGNהO>+e#IV>ؽ-tCP_тӐxN{P!'֕HgISJY) q"1D2g(065sE5/_SRTCadk-L?<8'ϒB GVUE榞@jK (HWEZ汇v3ZU8 k(HE@y|PETEtY$o,=_hHtм~>Cڌ6K3{>ֱiuV,Iud6{8+E ]799`qaMºTV m+N mX]H*jC1":_y0AK_Oobډ@c8L"'hyK1OC$Xҗ'͸cʶ n|LB[]Uf3>}e'̥[⭳y . z>KGY2UJ@.T+7ʃqZv:0$P@ץw+ 3D}zK|у򇜸UE pGFJ8l{lm L~ <ڧ#?f t6 ~KkoCЂ$}U?^$O1&>z7Td99vikKc:P6P2cHW:yJy&] wwR5n~ KT\NI-C v9+ [w"T4| ? sl5ˑɛM xQvBRRB U{01!:^e݁Aެ6:zDOO~s7qmZ*Oݨ*t9Td1?{ l#{Pzad̠ym0b+;xq58q.[; gd@Y5M\Rz;J Q H%K0Q34XsdRpG<4㪗EVQD*YI@,UT Cxd\R,\~áO 3̅N}ws 0RM 8 eޫ1 YA'Л9nE|hu t{@ϫ$'ԴWv!!@[23EpPډ ('~nb|/ܢ_QH|W%zBL z .Rv#n^cy*_,ؖǰ.Ͼ~dk"mdT"zB%+,Vݢ?NƒIQ$I<mv(zhy嬄wg_ "=W(H7ʿWˋmϣ1a=b#閰2#SR, 쒥{D4z=Ù.D R m&hPR4TsIJa=E~GA㖅jc`V}5Zpr8o2ivf/v2ndZċN5HIRp$V> NeLl[0Oۣ ԑ e\LŶ+ZbV|`z>  'GrDо+FJ'HhJ~Y{Ps|&_ȷy}DeD)؈huHzc_0 'E|: qS}P6mAXQto{G5œǓ&~ElŁ P;0EbyCs庭,e8?ۜ% l!^ z@?Cj4Tpvo45QA)eR0o\ gcW5e$Xߐʐ_܍ ^NfVڼe Dh lV}O(U`z$m&]]f)3 [-ԧ;+8f nYWԲ:2/_~*߾:W޾X6Hllj4'P2\Ȥi{\OLQh-j=e֋j~%5Q0O#g>p5Ƌ޸(fEn0P",fIvIYdM;Wda1f0FOX_]!ح6s1GY{"C^oc^д8s*۽ fcsj#lK4%f-585$3e=1|3 Mg|85j/9#2BXw[yʱpwQgF : BQ'7H% 7VE6ͮƣ S%_Yf\4I_qhmlR<"W'p8PY guD栩OL2f"DMKʤqaWrs[t ߵC0fvU98C'3VI)[3'J.T%8.%~ `I,<g<t|` 5HB, (߶`zB^[I`+, ^lK:QT5r)죻Ma- wcC\?g{&׏ dSLq?1yt$TJ9@C ?'a4I&lY'|w\} .dL)U`~\6P m\ȓ ɭ\XzaGS5hZ_yuծ&< 7+)d@M*]]}`U_ǪV8m'> H F\uh_yGה,wb]TbLӡ0U:S)te@?~dό*hv+,EJM'Ns?wL1 R% Y%L qD譾&$#L߯p𣪥amԘ&ZÖ+FG;51fGZ"0/):ېp/rM >nK3w:QBo vbaWI?7%nYwl8T) Em y4U43l9.&ÛbJ'GsU.c^Ql5ErHYaT.2_୉uPEU.[!>3+Bw}SinVlnFC] W`]wzmrMR"jz'DYw5`XDu?̭ '.XB1k6QvHG$[YOS f>堣(.<J)Ӯ&z]r^+ʨZҠ>h~=NC'p}af] 1%+ml`˿S" ^9l?i>XOZ(ƭ>1bF@x+BzOT#;n>0:9d\vx)֝rK!ov i\߽5rY᭣p U#.뻇{ty|:=ju^s*օ57&Pv 4pM騣<#Z1f3އA ?d3Bl 2Wãdiܭ|2x)ë<ϲU%)):r?bc' Z6z)u"я#2B!C<9]"rX+ 4M2D!opTAA))()LЬP'ЇHߔl)-<(j6m>&ˮ>]CĒ=gćkFFV9cHɛ9ٯT|܎kZ5>ghĈ!(j@j[bDrSO{0Sj Zͫrڒl`2P%#ȟ6Y#毂_xiCRMؖd [o96g EC;c`aӄpƞ#x5GC~+4,븶<413bS_dl8NEǶĆJMkHM-nJ﮻痐2$m3^Q}BSTP;wb~{A_ΙY Im7ܰj#'|?P*ɒa(sK?5{&OEu|/ [mMlFWLz1 m?h5~Ǿ;RIñUK \kiϪ1Y@K^F%U&GyG1kҕ=ɫc}M.$8E(lv]G;7i5Ƙ1.| tj_/G KoҊCi;2:c/17s1gXn7J\ԗ.qS64^~Kmt^cz$ +|5=ȅEjE,s!H9Y?BVu^nu1@HFlhJ(VP{Uf ]ˣ azlMZ8uH+ , ;sKkdwD$Z96 B ]tL 5ɇ4';8Qs^-R6xT4鑄FQ祔䆺?zUV~n(g ə8ydAz%R US1׻=:ʀRޔ*{ Ё:pHpd(`o) k00DaCE#i D?$o,5[;X^B);f ׯ:x8.6!B'L$~ȘLL08{=ZzcbRK Q;f֜eڊIU:N!)˔/ضR-p]O`t=atx!#aK!,it=hE+%ɃlmkpA0(@k=ŧ.Q0c81̶'┡ޙ᜹ {0sn͙cԥKUI5F8&b'ԫ Aק-3ċݘW/W.ttzȄ"]I=q tYأ-V4٘󶃈T8R6&!n#swV5(J*WL;(hI5z؍!%iLu-᯷Oɒ wu9"۞nk"; u4g~xm`~5 GCfˋQ>)\ҡFZyT"rRx::5#+\+eKv.lRkpz4@lT&'<")Nɂ{Sa vkG(xL>0FH U14GH1 lfoT3sBzav& l:ͬ@Ff9>+S>ei +oVX-vʋ2f\ -4U,#@ CL3C&XS"'Q0TmyFXC]rj[xn}}'m1,ν/!o_HR/ԥ )+'P "0pIoQ83(v(_Q`[sM-IH6{E_d"ѹ^#cKv` R_o ?@FC. <);wZ*j#93 JAV u `p~k4X6g-,1QX*A4~̱Nbtu 2'3RvMW/ 9z@Pn='I&W[Mp SB܎"r((~.\d vRu`0jR:ZyRiLi3cdczNIS"GԘKOLIEG}t ";Z\܎MKC'7` jG4w6cQW>S`q0qBoDqT* A߰~]PE@y< G*ͼGCTB;v–hPBxF5Nk 5ُ5ھi+/n,/Ō]T"A'ʖ  w޲rpR pw̯^5;UVCv\o$J`]yҶW0m`7y%s-ت0EF$O5Hg>^仔]WHx|y@lR[m׮KMMqB-I,38oqgAn8&¨{_}1׶5V\}<N*nu^.,dw)puNړ[˾< ۳5fgaPIaBL *QPEPuMƩ+:*.)kLX[ Mk2菎E-5_fSfGfh&@LqS_$w W][Р:#JJK 9|_52iI-^ذ1p[xkB:- (cq@1&ʱg>Op#- TGOwj Z)@3W+mX&M:5 VcXE˺t=xcI%Et"{+U a4{J/d:!RWAqjķpcΟvIN&-PՠiqGA0 M~?\ vUGAna fP~؏abYoTWׁ~2|wŹr9piOZ1?Rf4wWFs7hM%4^ o $ gˍD;3BH̟5s2m֪dRPf~Gș1.ls )ѣ9@P"~hi{rƵwH0djդsϵ.OMhlP!M"diC&MHrOdܻ0W2H:/,w_p+'a9QNUO w^f*M64-)8됻v]0Tѹ ybe-0D(;ync\JO!B(lC|F1]MRлr;e=}DctQ }+%nu%lzȸTQ#Ux_*7!#6ixcPBĥЬ}]\@2rTHbM!W0 7vQGװ inTA vm麿ۯW8?͙@/ި^J ņ3v7F&B ,x3> lsGbň:}P"> rAg j%ёlCo6Ѷc٤|h,skQm4{Sx 'T4Z) &pZcIBq+; >d{ ?(nruK,'~Iml|j;ۆUeJ#oTNGOY.$~;ĺԨp. q:A^iBd(G|).}ZbܓDx#RݣT:"2قdZzurM,޾she)z$TR-D>OuC! }RzI: ٔ5K:_ǣsh2E],(@JԚlQD4󅂫]?bZy 5&xx?n?,߿} (QGfeܳj.>MӐ"M%1}^~4#v\Ws(ު]XގzsU==Y G a -Dp$g!89?gga!&NJƟe൙ ` o:4!A<|?j _?W=\_~78o yG6R9I'(u6֋m^V FPQ=" *@ Ap4za#y4;;|ך2/Q2s@ LN̅W<>~ jڴM٦vlY  8#F# 4.)0[0oQ(RU "&ExGGjJA+b3Du1]1hGFd?i#Avx&X)}sZpv0}UDLک+dIϠ\z_FǥqNwa!h~A[B.gISy`Klg%VaQ < DQO:bG \< 7R*˛ǍL")PzXx)l$Ixj={xdNR8Itj poLKbL(Gb혔]U+&^TJ?bx*׳ 91=s#QHNgHx}?ӥꁠm#Y>iIv(ܸFl%k 0=;MYgmPaက)Z_>|%jde(2iq%: B,zKXɕh1 "bcpD'jaU|r*}^n 6nijT9AŁ}3yY[_UVvnJZ "1$6fJZh\Ť4]QϨ;Z wAfhǐ3⢼}ΏUC[y#5ħw8=2߃7~}\ w5KX=JNZp2fV%~fEe2^s@ iwBrX'5PNs[/Vs_e2VkV`CK^x,BwVn=nG:4}8m7uR Ώt^S@! +VkfR ^f:s`mN ! &B{\1SU͵!4Y6JLw9%~,M$2 d`&ngr^\b\lY"67[iJAK@vWU ::q¨xsl/0Xh {(xe쩊VȑL>)'v9;׽n{ |ipqܑ!-,y.ks_@3M}< =fʾϋ:זH#\߂ ϋ*Hq] $K'TmE,w38*7Bu sA|^-û@ڗNElGz&LXO 9!TZ;}3f.f$>zJ~ٸԜL:o#<<~+s(8)op%O"{AP焍O;UĜid|X?SvhK(wީ JI6FNݩR?ԝp19c$E\UoeUCp\unfNxt&ъewď]a<,B} ܼ-ƻOϙItee8J^Q~;H,cs|q 'ф/G5 8ߪzEG%M0K-Hpe(SK2l=WZ#DlȯλLDWŌm`{=يK-sSQ%L[*JɾL=Ok>H[[QA5zM<폾2(S|.v; NL/YyCʸvRqzǥ?A(toIHs9)5l(%4G[<[E IH16&v0:R HG~WfބZ1hIQʀ,⃦(58g$zK#WQHVV޹/"soAW ȁ/Ĺ!>%A\` ?\7We~wD"B W (?ƆC2Naf܎ХfCT,nIxlhaΆҸxA2?<,deg5[ 2ekQ> @ PbKP=@bV@@l-Hkw>aS.UP(q])E,\^?̭])8uc0HgWOɿ'arS*-G,7)j7C= /CȬ)$m"Vغ%M_rCi@TaXh*^\(:ևkp;|F ā.LTR_`t_eBW%ihʤCE]=eicxOܛ)|V %wG֑iZԪwz+Τ~U-B',mce{!2#!q3QnGnЊC^(f(rGm;M>%l8ޖB㔤LZ-7FcXQs#p4xKx9MP׎ 4ޕsU'OOʆJ<5/FO[ (N/& טVZMfIs<dGm  VX"Tw,mӔ}iTS%b^Fl&dӺU`>.>lٿ*Hs{V$T @q'mT5)-Bnq2Gtǵ@Ta%F8wZZдb3)/k*%xt{I@w Q;Z0q=++ttS 7kW_G+a\G=f!%EN+Bj `t;Υ "$žC)?^u<3 T=FNj? ~|4| K1 ٜnU[{}TA[߄LL@\1v܄*Do/♠k4ؠ za>b5߾o%-)M'5V )QrD%WCNo>4)s:b\M&2Hb ;f,m$9?`6V!U]h Nr EnKxfn}K+_aXOtsVJG0:*Zl3ga2E{PeFw[J\DƯ įmh0oDoP;cOmxl>W0榽_6R/*f@ M/"S0(pZ1k A}yN=_wGIM'4,aסdtuj!Ob8$ EȬ.t#_]ׂRN!+T e6p-,A+a U88_OJQyˤ 2 h"O})JQ~+HRNT֒I/m 0Ww^CdGaG+ h(jl)ןL&ƒF֊+tXF!l9-63m41= -:?.5%? Am)+kOO1/ :aAo\P {?]LqNSZ:o*ovRTNzKJJR1GxV~ o[5g]},Z%Sx}20nF2_뛤lܼp†~9^ohQ2לۿ}Xd~kT(UNrCiI*}| ƙsʉE:*_ d\^z^{rjעRx5;s3/@k?Tnu抠 Kص.ard3D=G@ʳ,ZrYó& W½TՀ-M%Ԙ/uLWQ\W>.!]hO|64 Q;H5*-QͶ=I磔/ @ ԹEv>BGNa=?LP4$ 6V1+EWHk8%RwDUkqTJ瘝[ \{ h;03#u1]DBג_xa'Bqr /t*P]:͡T@X U;8Чd) Pclz":m jW_&J@Z?me0~^IQh Q'fjEXL/MYȥ8H$rբ,+`5~p\"Z2 Ps׫tWκ"f+Y~e5!7܅?{^K*Kn?_iB[=@WM SohZa\5AxBLqn1vJǎ1ZࡃZ%)ry1-ш?'Q(fZ.E[%[ FW:U}Tj:0yQk)H6-/;XJido{ץ 94!voECiH)pï)F߆09%̪4,c^AgcT߇L:Eq yEնnx0L]1&E~k!3UkbR/ނ9XP?F?m'(.G^h3PXwҍP~ӐܭÝF[.e>p gS 3.8IEgTȚUD Ks Gd:vF`MU> +hJ1&`]>9'#sY/’`SWX}ES.B'9a& Z’hםL~dh,HsSͮU(HwxǖLNɝ`bɂϝ)u<.8_LSe"آ0>r6Sc;lvtkjVaasFhΏ%ȴ~pB+,T>I~Hi@w #(;^E4QT*>.B8:N8㮠Y$9s&b~bę ʜe'KR^M/80{ߊ:+ŐiZeokڥ-;jVV Y;M >zP;,=–@>~CHcO s6FCzǨG=x\͚i~=yŃj~kqM "]|`Uߜ7$s8мPD~qu$%GpAP@L2A.5`jK)|š~aXf*|2 wvrA+UĖ|h'+ކ=TX95̠)7FzŜ[3 F5heKgQ4JUh>rNR0hlD{* L EP1<>j>E8%gʹeV!(@ZUZ3Kފ }wdD>a{"v ѕ8 :QZ6{u}v:)Φ~"ҌǮ>vKC>:ZPzrDBP?8@ ቙k3l w5URxH2-~1/XϰRZ*ZI pF$9ٿ :?WF#-"ٿ1U ,|F|N9;|le+;|Bϳ3~G!dG~t}`ko)h{[PqDZ Q67_c" em.8x<}(쁙<FFA86*o1O458sjx$Rr̵) HA{|I0uׄR+ C{A704$9D) ~p҄|K XQc~%DElyhuǐ'2J T_"QY"Y.#^;cT7ۖ0Y=mqHmc.L{ %"2?Yk5޳?{q=pSx}| {%(9R.uuh l@|n᮴1-XĄ7]"*^Aon.UXjFɷ֔Q<ݨ!zFvv.7_Bib$6iM(;;~d%M&*y~wBCdžs4K6#𽁫[*>P1Rȴg8RM̘FŘh ,h7r)L9em2 J`c2^C3 gW3Ʈƫ7,|:8ɣh3 ijZ)阝ym[ܭ.NUTe4 ,t D ?=H!#[T\ԳE='̘ONZN2\E?hhM 8K+{{/2J?hRR g[/Hz!mAڥ%Kxݠ@oB4p'%DW@ZdČ%䀐釗Q_By#m$'KpeRqt5Pg<4;@* ZYP:n k."QaJT̮܈ Sr XF1;ʹ(nHX8K1-!n a 9y߯}ReGq)CQӚ>- ]7peJApKRd'ԇX@:-upI; ?K)n㎸RJHķT﷙0?@~iw&z([!ALeR&\C2C\ixģhM7diҿq8oҽ7QYa|RfVkoCbϏ:KQG ytLFprͱWpKE^ـI ] fAy9@?dqUN:^foήJf SæI/./KIK xIGqe+}9O`%wy iKB@^wf^8ٕ-fZzҼ*lar׭%wsJWr^Ǭ!O6%ZM.`}s > 4Jm6g},kJmvT@a${iHc4-5|˵) ah6\NH<,ɾC e'.OTkj*k^#ii)'Lj\B ӭ*qHj*JޚаQRC*c- 7ߗ._:ڲR$TSi a*j<6j@oM.0u&ek9d[&.i?*rL+ Ӛ`x̟ :S0Y9OqxuKPF>9D)'Q{N=\Oycp &OI2&OI0M{g8ןhzq|Ub+֫{[&EPoqTTuqcw3e|pH DtIS &bײ 5_[b}_͖Cu>ԸXX3ͨ)Bjoy6^RMn"{e ]hJ e.IL9E lEcmIz [$l{FUbx'uOFdǴ?zUHUo̒߰WG(ǮtNhPM'{Ɍb(m ] 2JPyo]ʠyTI)E-̀ 3MҌFcG:$b3պ"lD!%mdZT +4ԓ<8)A%\8bj2cBs3׾xg; MtBV2DU8 C. S5#'J^DAcuRJ yfKlI ]×By96/T"ե!mG)/j-M-|O{9CzAvªBUyOYPó@Yȍ7R\w!O~a[zpoR4tV-y{F@H!TV- CBWZ.>¶k`ZIƿ T$ `J5 {mF#Wp. opcO;v̲$:Ⱥ>k"\qEt9Z<+o~!bUsÈ8?u\xzJs:^qL`R+Gt3R<ƈh- bjYg2>2t20S4|n#8\|Nӻ\CkL7nfD^7#_-jgfZ@<ӛ큮 (#uucB:1b29:Xԧe=,4kXqĀ9<@ Se qRag4S17!ǗqG2Zݻt`A}lHecd@ 2N ܺ(&R #[=7T^TGۦ8! '餭tdl.T>}ci7-h{^h'0~ kD,j&zq >X)JW{k]ᘔ p1oH ԡ0f١nL 5,mD=Irhiq>/,sj@s?nW¯'MDX;ŀ.ZFAe7虎7csՖu*I/x!#|Ȁe˸Q5_ךK%`:g<'C\kXѕZnWpZw%F6 6\;EElCE;hv&!"N+t-X*sʎw%ҍH}V8 Us=ld w;k,Bù> ) o^I a'`섞5i9U&e'&yufD ƈ5mE'~\"c0{O4R^@nv =>oK ZXC@-'"k^KDH|ī9RQ!gRKS ;K,C;A9A/ry]1_*Wl<}VNONHШ}XgzWKL#:֗KlŽsY4mdr`0"-9ꏍa-o)O+ jqڪ/MOW}r)0\R? C=.v1McKO!dwa3sN˥N g'NLR Ѻ. LA> <9RLiaL^gTz!ňpÏ:ʹk Ƚ_=s_JA{1˽3J zڈJ]&V$WcxʬX& )QLH?@ˎ5۰6 8*I*]E܌M()bڐ_c]g@o$͌e.)wK3&P8t(z屚!S%] 7mGxT(}lE@|6i*0ba&qᢕV;B4=(v 'lԜn€*r3SB}5XNLu:V:{3V?5Rѧ'D ^v?t[xTD6%~Z~zXmD 9sI6B=D;p:'K$u>3ֿxYg.z'anMD4Y̅J3UWѪ"Eb4Bg"gpXjG&zævK Y@`LPxr&ք\rL*9-~χ?ٺǨG% zTiYNYؿ3nVi;w#pP0gb !xb'qx9:6#?!1e3݈$fulD7"J6Hzt;UkSPzղ$ b<Ń~˹~3'h-Y߲r'XOg| j7D)Up <mN|W|"]^ξIDVݻPj3ZY<<x48=Qm0pl!~Qe`J;U$b"lgK/IF8J6CO@𠩕ai[ [;} Ϋ?n+y(B͢Rcp!.Y/R2֡s|B$~v ; B QQ7!]&$M:G?qTқ*OqSQmb_: ^iF&8Me#z>(֋`P|<@$7U 5#v(b c/6*r 7n'۸AJ5S/ʧ|^D=o1Ժ1D/ծE^*yDu4n|`Q=tvfQqgOKЍY8 8U_cQw(S77{H&}Up0Ԑ)ƣ&}Ҡu[ۦy{S J/^8}BAHG7b&edIkS=rsȯ[;duS˘pF@ ͤ3j7$d8ҎA騕$G_ 8bHM6m܂xλ*-+! q+^DhC3M+^'b27tSʦoYc֛h^&`iW#\ueWڙd5Yϖ0y\lnRB.۽G3Yi~6r6Ømr;WӶld A'0sB-Z+h+xMIPć͖żM˥qMxQ[|߰0a+2Β}[Ba g4aVfZ'%85TV هɉS=&NEڋ!.Ü:rN$-4DhA?$Tcb ]2"mS>E%Wo0Ns90?wdpV=W_HA&s-Sudg`A=ƠeBTDԞK!I؏qZYv`+kٷUmSCNT?+voLP/ Kj1tݧYbV]޶*?)>/U@2(tGwfqlVm\DX]E`~<DDP)X˓Q ɻ?@_dg''=_NiĒ[q8u{YHJ>ݾ?7/pM}Y廉tM{-F&gtc"c3"g&gH)F:v"4$<^a+dtx!Mƍf۲sy<\}y8'zn)aw/AAԬ_Y?HmYOTB i"iXayЗ@܏bY|ßB2u]pim66Lp7ޖ3\RP1t) |m?DJch,7H4/+5h;39q?H{E蒊xsg1IqNsѢ8uR4 vV{@&5Vl_Fb ~YWRDm/6Yy 6c<)^D;7oA~%%s}f-HN?[i7%+2:kO0h6P f~=Tm!jRli'=6Sj?Q;!r#F n 4ν/rDQSj i˹?I vHdU/h|LF Crf`U,VrvKb Z>\@gl,"\㬕O?+uvܥSkucBVA8AB "erĚR“;%{ʊo ‹#m-S/뛛ם x`e+RGfBs0kݶra$qh alO'\4\; ;,)In̓5Jf=)ׁ XߩGIi c6 L4+yK\+3ҝY]KHO6{}|L+'41`֍&)Z j;Fm" #o1k)<хE3;Tu?ד~ժ`k7ק<\C ~/z*V=9zMhdx (~jNz|BF=pԖ j6W7O52}' c"7"ѕc$[Ef{ۆ/ HnJ UC;y88Mv.7ML7[\Y{czDFDO/!Cz>N܀_ǪP/\8[nyEǣVlk!j kը԰(!LNo݅پdCDU)]S >eD1Lgu`sF2C'K_qbZ !X6H|U'Ihj:3qzڡœ*\Qpg#0jr ޱZFo{+MOPs#pEj A6le/lO s$'b]a|`Ѳо22?(9+/ *Epq#'K~'v0DrD|Q0*Ӷn,gΕ˃o/l@hx.S;t[ mb;5n:-Xd/1ŝe5xK+5 utBM Bn7Il%d:.t@ *fJab.}w*[_F$e2:7, B ءsնR1։;9SeU7_HeX@(}˜ppXU?é%$\pq%<" `ݼ4tY[^T400La"AG trMԞDŖ0=܅giKOfN?T& v1Α(ˠ L\6 7wA"8Ӊ[t|`QO߈ QwϦ&V 5h})^I1.tn`7<1@L.ΘwONgLM0ۘXḫh[3_.tљ}9R[j"„ 4O{hDGߑxwRƜF7p͓d"y¦E}}Z z4aM!f 廴)=ft3mE3wa ׏2$2>:Y{pH*隟QR^:Uka҈a#ݶu?Rv.0ҭgt~Gsu 2iq3p38[)ƞC\_,eAGDm*';.߇#t ln@QVZ Xp")HkӎªD3>~"l0 nwül787I?. DAmNS@/oߥxG|F ]_m )ZA'h[{<tfd If'2! #mZ:[e8>fs* >60?r 6})+mԉe :m/e)cd6g/5+Vn5:BfYT;+qx[݇_can"tzkieJnCNN?sJ$r#H1$sghw %gZy!nZ.=Y0]|ˉG¡] Ǽ"=?mTF!ނpp;j:;vn,x۪)&2%d3jM1y٦dD<7n/LZaeM ]vW)`-6!w񍣽=ؔxx7jG#t]HOsNW;~${14[HNE&X:@l4..sрNZh)}C"v@%?sg2UIINQlI&LK[JzFo%')l-+tMso6sܛ+9 S ,H-4'8h^H[ |6M N~-!h̨kt1@nLb]I8HA1>z KHCH 䍣C& -PHfbo/zuZU魲$ kҏկ7K7C{dӼ}[a9[z%@+ 2 6$B:(Wd699]z|I1k|g˭mE9C ꎅLU& H yxv:8 Tnݝ3b В)4/D鄴%FsVPpO>}TXfzӷ'v;6⿂ϝӃZt<)yБ]"[3ژ')CD݊*}=؁\ -E)20P\q^'Ό38L%ɘ6dcVAK50,J!xj"ml5HJü$, .j*9k FM$XGV4h:$Cb'L8lW%apsΥAk8#?ī߂=zYH~{o"9fJ i?$cHDjBZ 7%:s!;rD& >`3*|!Er0Td2qǾ&?󅛄=wbM#qsӣk7loHwnG~rfm6~R^/48*U}NnHoXLl.e3AؼhGjVFH'/WJ2߱ V"I,FliQ햅D_k.tf@ :f@޲V+1dK dC*R XE D$NA#eU=> JbL'E, kf#W(X;2__ *͘p!ϗc ;¤eo+w35g6l/]>/Cv,K}Zv@{er' ZBέ@Ʀ;erq4Уro?0x.7Km;(ZLkN/: $I%|,(&N.C-ԟ'饚U1hQg7l-J[QnI?;#bA/jc =Qw_زLW]5 g+7VVޠ`T>fxLi_q_?X7A+"_a׿Ҟ@>=S Y㛭< a3BVX2oQ,6-KQ@=*+e PXĸBۘ!hMJm!2ˣtyvbgΡfeHx3+& ݒ~o\07YPouPl)n 1wȮ%mU%GWJ0ftA}ĵԼ3pj;ZAnt|z BgjTI ",.HE 6iN܆c3܉#$+}j÷=A7zKK@y=()l-3+ko0[gJn^1d%OS<+uCzmxlQ ،K? 2?7ʹ4YbXI((f[dh6/bsrɖR6 K]F6Jӕ1]+\{10S$猩r1M#J1ˮV[2eSG渕;/H/>FtJf]8dVu*9T~5{ oYN+-+4Ap gգuVL+b^_<ںݵ(Apc0/ ]s NvrP5$do5ZԻ_" )",LRH7?*R,eDm? P&q#ՇU[t?p/$h4eGiN]ʰgq,:";fԐ ' t7 j`IB2K46Wb̗JC?{'(vF'I5`H6 JĮw o=|]d]T |\ %QJMsb2@qA?jڪW-j͜r>p"Bp 7|:;o@Ȼ*,L; MVEa@LoZXQgg2=ܭJ&l)eKeQUxkωк훔hzA<} n{4 iu-5N+@5/F\ :PG^IЏ k+*(.eJ" ޔ)|RܔsWfmT,G41h顧Ԡ=(Y4'T-[ ~:;BO>7!gDȲ7aԓP14GӥxŌ5]*D'|2y@L Cv5ZLS/)XgkIx( Pzf%!`}E] X6J8-2j bUE]I+2?J)Y;iy ޴I4ۂ=o{fBMoH}JQ v$_ovҌMݾc'-5֔1zBN3aV9pb*nŌRd13ld-:*AŌ(s4yuUfL=w{کP 'pBZ?Lb[h J %{/w1fT#Ooˮfhmg {}A$y BDH&n ͳ&a 4+e?Tq7ϑt'@L5TR~bL: ܔ -d<\,+I5E{Na.Z6xå:ْᒐ4b9?kdrkʼn̊%$ WzE, /y2@GOl|fp,+`g!#F 0#kI=oץkdp|ɝ*W 5o8aho|Ms!&_Ub$WAHXv9. >ógGS Mo.V{p*C2rX ܋XZFED5tD!j6CFih=e@~t%\AU]HPX!:Zfτm=>}XuZ>jĵB?/>0/ v<^ozPocy?gbeh?~]ׯ%pnTnߩd512Իq`}SH/;͡*rbKFނq/rۗWg斊oʠ"Qb`e@2D\\Dٖٚ4+xhW(ΑoqdxaFltÒX4!Ǔ 8W܏hYɊA$ZubvRxGO%L1; :I}9«]6^SLݏBNPo5Wta7GDfPVhx%kS`E:MPnB.|0F:XmÿYAph' RP)1sђccU <_NS^TJ{{.H r]n1#a{(|͙Ӗ_5:\%q ,+anvPyRT cL}];*kH}fC\Z' ^jԝȦz^流UQ]ge! (}'KGVVdf=^YhoY,gRnډ\n?=)nc(rcv'_X}, zy?QtFSj'" 0B*} 'YNeyE$I<W7]s~kLQ֖G od`ҋhI2m>Ng:ۈdC4&e>!MZxґTpϫ/p %ma4'{& &pp@gQ/^e^ c"[Fct++S+& !?}DT4ߎW{ޜ Q|Ӌ͂=F+HzKPJd@flHGV+G]nk qLP ɫT\*;J"}·*}ge*cm*ҒmlaW$#Fk3RRjrn.X/(RrWO,ccV_jn4!lJAX l|{G,qu*YAMJ)K#:'*j1=131ڤI ׮H0DVMɢ+0CJم/jlp^%OdLzq Jy'Pǭ"V<&9;iafٸ'Kݓ,p$Yc׭&k4iX i--``xܰ'_L ~(? nܥrRNp9!]f+sP/-^t[1a=A|^ݻ#kyyvH0`/3/Dn2)(:צq;fltnG28OL۶myͶޕvaUWN 97q٫eHw'*q1Jp?ǫ  lτÊ"kM]\qj GvQ ~pEdSMѽLQGgrroT_ZqNf\4UlֆKsOM|? LŜˀ><2IW/Ru, [P`U1s#1P鷌a/J`\Z!0Hb+9Rs7Z$\Of1w$lS 'Q{ `1Yy.;ħ2驇m1&q:qQJVOiJ4ݗS8k GtcGLJmũ r|r1pqʪV1a 5_^%ŀ8qt:y w%`uNw&?4͠)IoۋПiGb8 z(fρN f uɑUk1cAhdY3*>1g{JyK=tW@IN+Ph]j,_ hHkIZ1v;T+҄~bhL,ɀHH3n{$\6<+T'Y؆5IūG~ZKP!oJ2.AD7c-ǂCm1y4 +Y?Aa{7ȼ?O,@ݵ՗lUb%6qHKgOLLyn$*IVA)8,e=bFjPi0Z"胀ݹV\o5a9PNG52Z_:4ϰQ??EO~,1_;6M6Gξ8ȟҔC:VF-0QdȍjD#h=O0m[:Ej岐p퐵܉d7-ۃk `ۆ #gd>3;kןpTHKb[^z.<)]K5wP 3%dLjyʃe|o*(4l喼 tP.w{&yE\eE9Ƒ+Q㞪 c\kmr ɓj< 2ُjwm. Gi`~*H>ŭӱ!H.NP[^8.ގq?]+EX?]=o4F_{aWQo`~\ -!3/﷔G6skC!nKq[Rl&'0%N8@Ch.nZj_%LJ,}+1j 5KmAb )B\$T@?J*’Ӷ؋i HWAmq21HR +h֟|Kwt'im OehyTZsz3?z 8[WBL"OVb_*g6%JtG.=I,~Z{Z.QQHp}ѕ0lX20y}(bpЪnA=DWN΅p{e>#y-_9&a k: xE'$mɌ;wc!wش~{h̐DQ);=݉#D \dZ1q!n@L8a"RII]xUhIa _Um{ ˻>י|ֿ)x0r74_ɦQmIS1JGl+C 7!,Z VX|dHi'ooJ/j/*Tp(`>⏎\"xv߂ί )rF//8)~:y |Ex7V \?1 Ri!wpBp; T%dC=^N؞eClX|: tۜ3ER^Uδ1 ޥ2=?[<|L󌂊ABE˅0|a-Y7s8-y%t}Έ Z$t chRc0@!ZWBJtQq&14%F^B8 v=Ԍqh39 dYBVlHD}W1D25.?>a7{ !ZnŻ-'#.]'LurަzenqA<kDپKi #vIR|0h[UFm8 (n[愔WP1_+&/H'J`0zBfW\8s8{_GOSPi`p!>:|}G7n-, S\+ OV.v}͙ ZB))HJ@Ant͊[ lvzҤ֕]#v4F|{_L}!p~u|uőeGD^g9oNyA3#> ,4?I5=K3@g=C-/``mÃڷ9NUҔ.@澳}K~!ʠ=.}Qbulj.7KxYLV3|:2%y$@;jJ#[;'*x_|~ȯ?TPsaGchKjx Hl3r}ɾR{kY z %&̘;Oyl-x@d @rcEJ~X&;c[|> vig;.n}kA7$"> !%u3j@W9NV(Y\tJLVF!J,qïvdg?E꣣RҫOExv19 a͸m7 i>=3+mCgG.р'dg4U@tcZ@Y"e}?WTӬ ;乽Nj(}X]}=RL VdFwszNN؅Dr `Ӵ4?Q;eNuP.}0&O^^$ӓGx {;ʂ窩T`:Eo (ΐPi-:iH CuYݮ&<5ɝ6 A㾜t؅lg>_92.n UG m:P;JYcJzvᐶgZӋ7{0,-tX1P1zd*?t=\f0y^;辨JVߩPvsp[2ZR15U߉>5 ئp0 yѵ1f=L\"YCS,oޝp@³D4XHtWp*xO,%qBm2!P"91+5iI6NsfOc| :0# $`w\Ny [<qu9;[(HY]R:GT%Lr#P#ѯ !6צ5iϕovֆmJՃHmb/{2GQׇcr 5S>_+LCRr֓뢾*N3x|`MCIG 5PG8% ̵o[ƅj I"M wK-O49{*,*P$[ |pwUI<8ylc(T`b4dO,-.|@F>E.ueF:ě9"$d6rxs*V/t&dSN(0 XD>1xZdjqqRՕ7S3boK^@5 QUk_׷3:|Fl7֯ aƌi"OM)' ի@| T( ;S+%1򾰩 f~7ԛ$6 /?3 0=e(kj aqP8岹1b)6S#,s2tLڳ yɃ4l7J4ℂ4KiT, C !Iy-+U[`9":sK ]qQ`~wU#@H/]>-gyVeڹsMQK&ACỎ)\5QQ#tY)SOŐ*IA5R6iڥϬvyVEͣ&?|c? cszH:¾]6%+.6ˆxqjN8[8~}zK -_đqx\3}9|I@[n,_ [+D`8 qvyܬO8yqʤ #{v"ujժ+&O '?+Sumոecʑƪѣ`qFJl1CnPw{EJ s*[}ẄmO5,D\byk?QjCьn4ц/RH9$Bއ&@S_4ZgêhfIIg$2 1|qᴭqD9R&Gg{떱{uPv2K|b ";SD̀!櫮%~$Yq)RPbwN3:niMVNaqV$y/M%3<<:d*' "vӅfMtH>aomt7Ffmщ/ypTC3 q,WQ}i:{׊a|Ah%^'`Le$*neV:թ\S"S*E˳`.XPH)cΉQhL"`R(Wm b2wt@% g 5ӿІ^ *Łcrţi 8  `na ǶpZ|]ȓů FB{Wxh1蹆""Kↁ9_mjv~7f #^/@]9]Јek^A7)-ƤU& 3q 8,71OX{l<+uMsXcTuO@(e*5f{$)I7v9U"wOkc3v͐So_|Q`ʴTscS,dqv8c5p g̼QӁ(´]Daq1  'Oaؐ.BX$ZXZ|HGV'/K[n[c$/ȷ|YT@{1>ᒦi-}^=Js|SmjFC|T5bS&v`"WM{6{w;{[Q R #en 釺 JST[~!ɂoU lCr!;=#.ΩHbJZ5+,bUдufWy7#zꕢ|N$3C/3c(@ԣr 8T aCh֪dqUcneՎ'jK6}ʢ27 %mgh٦*o)/EltlXՋ߸}qqj(`bG '%h;FȜB\F򦾘.o&[p{;pax#PUE$+YqZxͧfa79ŜD<+ᬚ04 E _`˩_{XaKӓr)NtuLk: 9S7S?߇ܹ"(;?BOfa_òҹX V4em֜Y5:D~sƲeu߉k /-kCL~lre .hcE$pj /1|M(gC>e{)muوقS[}/7s>[*Ǣ:ihN묧B}~&i/Z~0P`q*x.{Q s#T۶>uBc(O'7a+~XkűQ7;n k0SߤfTk|' m[irь } fo2cNLiCX80/Z}ܹUio=y-77#BSu@yRK ͣ?bRAa0o#P.?׭/.=$ d'sIdA÷DG,.KsJB*fN"8`aws,o5,kτXGZtp=ux*Xaxh탅~=9,벁z%Ȕ8HYd<fY,j,>v4p 6&bȴ[{1͖^ gjBvyS͖~G1=qv7]{X"j>SC6J7 J?EwVFC;Bz.0gm>VD;qI1|"A'_وօ;qcd"+㾱-E\Dn.5 .\fhVXx\'ҸK ̧гNdZ J žJw|rGh6bW,Т= k\m [{J>+-pf L|8y[З@:ghɦ=;+'8e@cI%o{9`1Ȱ$Inl8g K}bV%N%)f 7&'7Mb7ecό^tZc2pE:C:2Šp'1.P ݐKe,(a;YKd%FOӶAJ$b;kFKUBׂuS~IE)ϥ[LTG:O !+o8$i^iQ^h?(%7CfYWK*S"_*oT/<,ʰVN13ME7X\<աb|.zꎥ2/5=(qnc{}L!!Y`Փ0m>CK(L+ -ta{}aD*[,G-`ib8%ʧ{#lѨ2-Hu 9_BG W(^DHAms+\瞮MsZ~6]B&2mf,/uAO:j[#Ll{C^~$ڬqgj68z rP~U;@w p5)CK.ހmΗVQXj&y3CUrvd|TQjDt6R Y o"!ۈ7>X/-حyWq/6ݵ-E3#iI4ߑz#娖H8}y뇽?} Xa*`@Ko*G V4|qa2#Nɽ7EY8y@iFsZ3ND)h@'>91ɁnpPLmT;V՛qs{^RY T<٨J(` ]?XQS /ݱ ҍ7XDh 0-+!;m##o4uf?Q׈p2{(h&R7諣6׌p@i.-BfEBX1+|L 5^0Y_*!p}}n اR*K]@a"rʔ;Q2qM: DZTk&©gj{$.S#h='tT0+Lr=#"$xpnkx2@g)\Uq`*bDcRL!qAQ^7I<{G6-v` ՍTMAIK+A@x N u}-=sx+TМxpL/wXҧD0'{_KFY.~4ܱZ 84LO`$?\G^^%I\)1-~8P-Bf .-Ma1bbZl7릞-},rܓls0lHВIWP|#_Rwo.~~k! vR9n 6xvJS# kA›c Q?n9PJ>%foX%{bFQⳄ935,]-3^($mXe3k&G rwszΎKvCd~m9˶N隯W5Ϙj@Ss+Z^#ё6׌g V! m_70"I?316Jc݇hx=^1ܨ ۳l1\Iws~O68:JL~bx/-JsW;8#Qr3(Q[d ҄t_RS}08FJ(+ s`ew' {gbGm&uFqQv Es 'AزGԉ뙀Y r8`>*2謰 ~|'n(4kW\.

    ;ُ68- `H&HWqc2BD l1AW@$WGLnݾT`{rjz`> Rf=j=A)yXIKז\m hPH @bOYGp&NdMq6or a WA@֤ʼM}W Y_1Кxs*Jx분|{ʦ<)ܗZQƄX%dTΜJIX  \ nVYS6+^Z~5鉽ŅY3N4si0DPa̵u&)i`sݔY$xZp SxF]h󹛋Btf+;ϳOϲodc817a Ft4w;7 a̰ +H7*Rnʹ:*(NHDbU8BN.$ϖdbrf1X[R8Yg זhRA}r6H"+zLWUz̺ȢH+AGa)]I*Z s,[KN,`\.BӒ: -LEa8ZM3lHqCN7O.Lz^uiMN[ԴB~kʌL=#N+ds2Ӑ,bJq/9]"|fdYgNJ [ Ԉ|s3gJU&,;oR" &0|~f{b^|RGh\rYxC|S+1%6hK|Dz ؀Z2o@mJEe"OgJD[Q`3@{:hvդ 3)}K;?A=DvT9b9sWf1ѹcZNĕ,7i_Q؆j>ry,R󼉈itD n'fjBat^9xD9z_Lo* +nveA>u[hpFmղ.ȍƉY 2Mjw\<#'ClFd#9HcwS e i8tWoX5٩) jr !.a`eA {ݗcՠܔO&~oߣX7@YctQ̲]âsRQwW=x Ǖ9~G8HcX!1޿qKz[C,Bn:r2Hz@ΟlüHƇs>3勻Ц\04_ xFi 澐1pwyMhNxR\wrpd#˵!b@X"% @,idqy5r=Y7Ĉ]ƕv $qo2Q!VM)z4JUwܖ6l VpRug:'VUocz-64Ҥn*@h (vuQ0|T?'ւ.?n2hEq]B҈l &8j D M֏\J[s8>NIeYDzV_ξWu{3 #v>p(, ali`\(zCb&B.*؂>ʑOMfCaezpG 9B?`ቨU5ܤ1ܚw˪[\}  hպ'E9v~0iʃ^^#ڮ գ -<AG;(Yof.#R$SJt Ht+}Q s˩ug.o6,KY*I(wes0rՁo>d;J8Ho/oi ~' cn^ (/ǵb%~X(T|7n4ɐ:;L痭 !;u!ALDI[1#9tKm8=eQIc))9˱3pB ˻O/6uWM85\ #դ 4f7&Vq[2jĚYd%mz˚%ŞOrLrx82C7l.t߈C>~b)]pL/+ zL?͌3XKmvBoþ)KGΙCy3}07ŧ}^ V!TjFI<P;I )h!y=Q51>P*1M5T_ʦIu1aXy90l? 1>TqۄNQĝ%ʆB;Ə%Kwa >dd8ўT(YdFp75o*M8ɟrδTlMɶ`.7΍TcK:q.?*?m9_\bEI>R1IT%0xrW$#T[Iє F&YaU`j4ފ"[3 :1~e<l(~a ags AZhЉasj3ɤ)~u>(G(ulf[#R8}nDGgE J1ӂ>Z 㩪(ͬV2I$#qN]ؽT)+5OJLu2:'b$6+-~MȷEj'ojyM?JRKL#;e5AF5 ձH 4 5GӠWEaPvߥb RK!Bٚ"$/'%ʊfǰ0nǥ48 A E]F'u7M6*aM6] A!" R4#ahP{wbg0K[ '`OqNE %|91}#<{̓LfL=\LbY;dm`B+Zb;PtvNyC&<ےB0o~mHY ? `KQڝ Ác8hJt)_[& &< J:WFn,A۶4x G~t:>jSgyLJB~xN$܋>mp)a &U?~6\m{y Ya(}&#?yht9~U5MPE7EmVR U7wYY #ܚ2Ĝ\ȠM_=:P 8 PDB5y ?j}U n;66e&׮>OVOqdk#gK8nF"}I ȅ$u^ʽ/jGq'QUO۞apEǫr 20(uŒ6Ov1sM[tMHt\Cz UXTh wɁQ0>Xl~j;Js42 x4muB@طKikʜ" #JeԖNjo60 @m({m 3cr' E;/Nh>qܒ+"u׸E.8zY!̬ZwOQ8s! lðoQ?"O_zm F5?at5vZ|j!{TRCOKR g%vHd3FN.W5rI %G8f<&mҶp40׎~(+g7cp_?`NW2txBL[h)'h`!.Fb+9U$N}9^RX;l9u`TP ;ۦ 2q~ϝh3ڗ$i`Z:R6XTln;Tq[Dw_ n>kyfqd M1<[pmS|rJ [=x誰Xq<ї8 |dN΢<r8h#0L}iTMB R{'lX$X3Z.~R/.#1?E gYfzmO^ӭd8xLeAc>",pZB&)\v챍)15u[4W;8tXqJ-HVgvq4 EX,y7,Ӗ)B)* |*e$*`&CƸݚ4UZпRSD:}.@Ц$k[CƝS93< YL*v-Uτaz[,3{O0tʫeܵe3%4{Y7!B/xNx"{cԗ pn@٤(_X|0TAXr{)3_ 9f EMq dt ϊB&NWi찓iKE{n&:N C}+bޱn1Qo `wBw(8l8a v5-`RTP P i#Mv)A oʣ Q9ݟzo-D,ăMAL-0{Ch-h:av6]#[he7 MoGi2IUB:#Y$u֫/qC;94O+$ 6KcSct' JOlxy\&)<zF}744ݒӲ+(P* -5ErQ=m9؉d +w Y;! j]-l¯23WޟRQewɗB)-{#h *[cw_؜-Ec̶OШa pJ_o-)^&c\Gov]8|Oꁽ*0BP6*.,i4UYR$T (jF*t ^^[d!Fa[uZ0 fɟG;3ŧʲF/L[ {n,y%Ťm/;9Mo z4D+8% & k@٘$!l%bQ]̂aF%ĀJ˲4 %ww3+ta%`O<㄂A}wXMPF+[ 13Ҩ]zdz!b@óNj?H5c+E$ ehE2 pjފ3yngaXL86d rQ,F^fTD;YUcM'[`UrZ{-5o#z%!<)Iyx;c-' <,4~3OPʪZgrtQ=:q=z7F˫vg˛ su<Tw|CV'^nlЎ3Y E-f#63$2Ȗoc\q< lF#x0bK8IЌv1üb`hVL붥|s/ie>klFb11ity>;qtyOXSRyɩ< ٦ib/2T^jCk c'svV){ \w-qr')u; .ba**` ?¤ܲ */dcksVLd01SS0(Z6؉2׻Y`+!*Q T1J fӈ! n|/W~q3gu~v}w@xz`}a0 V9H:Vp!v\oZ==R/=P鑑OsfF{U+@O_>P0TG-.&*P q7Y4ň=ϴT: @[h.FI|IɮB{ Dm&=d(gkiU'a \r[NkB+|u{RZeAs]ү$L=;~ZV$'tIui8)K; k bW%AOS=4tG3<_v>yK^ֲ86prJ7?S8l3>O7קX ,k͚#'N2Q}!{IҎ*zl);-0,d RG 0UɰO..ځbᏒNKE^((e[r1n3-;⯛-潊đ̭=?ָ7{?0PP_.j26KT\Xl`B'ʔbuɃJO wLVg5jGԑän R+b#%$FJ'ޙڥhMCCG HX9imV*c,5Y4oLN^Cx/~}LYUE-٘̒v!8mH7v}"DvqgaS9QP/Ne b3R 1)c>;d}=4:s\ >߁NEԋ: r 6\,LG|Ƨz¨_䏽K󎥯#K /j{/惋HpC=$wj% _5"O@ ޥ ౨&D.p#道&)+#\m8vȇ3 & q:tib>"f:Is :VX4/o?xD`=B7D2`Jϳ2f>'=| pI3瑸E?QƊJyTEܶȍ;UB;p0Й2Ա2{'&O@ w$+$ ̤- noyMχ1_7dþnT4+4ڝ!`'R\z#ྻlW|Hel{NHܖ,pٜ{`q~vrS[j8\zjl*daRI5HbcVmk5"Xc>f+xAf3 2מE_?QUZ\$|ZXY']u<1CKE?V,6*EpcTebC.jҩ#Mo o πAVHClg鈇>tƊH䒔CRy#m,8U]ԻOvHg.iڐ}$ so%Qg<oa[2|qE) )0- 5K27#"g̏5rTPZeu¸B(4ZFӧ2~OQ<52.unW ڋL(fM2{~ e $43?)}r"ok3EKDD Yl1,dw/L35 ֽr;O3Q $o.,Z\?^ĭ`࡟4s O'iI:iw} W@KXg)4@z6 @2H)τ0ioz@Pyq鰲Aqğm11H~Z < v>zҡNr>\/JAǺsVywy$f0D3i[,xu4#P"L\3yPXgnkG4]U7ɻO>=S>6A"ֽ^̺hM ˙{fez?Ԋ%?F}qtul[tA<=ur\@.Iķ3!2_._gߗ.2Α vZBǷU苬Kxc4[jvڏh.*æa0*>A9[Qk#M y6YDN.>S:Tݰ: [2"JD`cdm&[Vs(uJOow h !99}|t3(9XHXb:wc[6_N.k`7?|.39AlJ˜LJx-Fx,O0;H%U[y#>=Mt﫢ӾWhn^ZU5-Z\&eM桭[WR4=6GTy3 n3 s@Dʜ`84C{f>럵"֤XbLu"]\Tz&"a9(%@7P R=ALFzOPdW$D\ng87V4ql;u& ?ALW"9Z~l5 ?CðZ-Kڡf/1q(\ۛ`i‘R<ơnL?@8Apy̳uW-N6Mcgel1ٱrWE+P;lb]KGf>AhE5{q xƢ40@:5;bƓq1U^ͤ 6As|x$*AXJ'>K_a[_zO?S93(:ċYwQ c (td)68;m`x';x7t,.ѹ%`ˤT t'*n|^^-TzlcX’ W!뤌S*k@0%t֝k Ѭ&D>+d`ؕ8nҐDsKmձ F:#MaW8:|&[3>#¶ê8ʭBT8#oG 5%/{B&b&7N]3X=RzQ3~P^joH4z%chptsx,(,Ȓw4GZKԣNd;DUO>N L^y<о[xL@kH2F4NReQ.Pgo39Ĉ\}6*o4ޟTqmА n*Yd㞜TEEc w+7[Pwˈx*?6j0|}EqeB35}px֣&>!kEjtzQVh9m;Ufl vXc}e' Z0MKH4~GɂvʽPb;S+7,ҭQy=6 jr7v9+xlḄ ^s5!(`SNӱtFW֨lh5yWlg'Z<Ԛv QCD0OU3d,LgSz  6Κ܈e2hےdDa\,YhmnEAojE<$~Ŧ\ZL;)Z#s4M2pʉ.>w}*•.dh{nZy=s$D aPpX"-ƧAjtUڻnB_% t+c  Ot`5RK!U!Dx%OݤHQQplu<\7 QˬSq\SaNsw=CGbՔh1W!xjOsEm Bu5_9~A>wb9_*ܞ^y5UtsH5_`VGgŜ zJܨ6 m"Fwh0X/(;]d񨞿k0ݽQ<+v6DrM=qϝ i/ oJLv>^=4R ~N ]&!W=m,.!:Y3'gJ~R;Y23Ԣ47fڔƿ*%pb5i/$OYgh띊 ς|*`xc `xz\w(nṉqU2 v ;|Qx[x4Nӄ|ӈ>砅%1?uZ26|F3-b;(enGU՘b c蠧9E*Kbsދp8f`}ԧOgZH`f)N vcCS4yzNl O 72;E2.Mw%չZҔnD7T]{,ߧhd`w1OD ,F9 8ļ,ZӲM[x:__jn7#l76r|~ו ־ OVLZ%L,8s-+?al8 E֠,*-f4*0 DL 6|cIa&eyۂ "CT]HS,EV".Ĉk9l~k{bKi-nZD|4rL*S5\(r>uYn W`("]%Y%ȱWc-M;a}DJksOE=u03t82gDĔ0 Ԩ:|B#ViM2I˰w +_{&l):~GNyqnc`OXĢ0I<OyၱEw?X~#E\8=-x X,˕:l'> =lUЊdD""t 5kGJnp^ɨGX,@QKxv }?_-o mKJI!. <ܦq~ /t:o!Aaw\5+8FMIŰDz~Ү%#=ׇD+r2_!>J?uV9Tł g4y \hʲ2!b%"8#Ax_+|LD#4U+mt "4j"{M>ѲÍot`rHӗ8s郰"A <^K1o hkQ1eVh^ڟ +=Șx|n>8BYz|R $4 p !ˆFQ[:A [V3ޓcm?Ċ\W7,z(=5V6I9?o|Myii5_\[p\ d%$a#톤sqYls;'ݤ?F eI^*/S)a?NX7 1Pм~zW(q\c eo]k@/BMKQ@%EF`pvDS#!$!w6<oFd%A_L F$j!o|ڝ:?5Հ68x{Jd!pY+_ӓ~n(*Ddv^ u6hk٤Hf;E=r% xmBPPaY'[a-L j@=܇&:ZSt(ھ@D14V#@.-hEA[ Yh! kS[Pш\ٲҟ^opw6Tֵx.(WHnv0D ױ}+qt>JF`myV_.k r'KRPjEKz0I T' <1d9f3.`;<[H%NbjKS]c#ejگ */k~",mLK:bO|[cAu=+@gI}G^#>¡c3L]]1hFwl}.%$!x ,o`L 5P.EBO4AwiW16tK&::,ˈrf WMg,egshTiń=v]gau QBH 88en# Dd%GlUs8*\? oG${3Z*zKMmHW"l6q}i.9۰I]COCr+6[HZXI(*&ڮͽ4iD{FqK;(nn}"YL ({tD0C=J~@$(ӚHb% w:% JIa!(5To,=y KW '7qx C$Pȩّg-0Ɏ '.!CYQ#UZk_PwsثR_*7ܵěPs9 7թXNq4߼+˕&[[ON 7ZYV!ih kAIn8FT;k4v6">P2\v C Fv/)8CmVN7dOLTS(GP_Rj9d$ Q>l~O9(@,4uwD4#a\;udΠ)SaX`W+.]K/H#"ZB.9h.2-(>'e9>/tJ}QӃ>0+WqVTk10^zÑ,(JA2D |Ūf.ޯ72hv:<,L\F@ h>@v3#V q)aT8$~{Nqߩ>ba6 8LVxT_#* P`  GWK\@BA_9- 8c%bM}Zb U=4ʀfh50mN d}xa*1rE\Xv['OG2 nkZW8c] .p pb8ֲrCSڭDxJUu_J{,`rRm@_+@>#,.W2X8=v082M`u^ad9"N)B+Dܵ<gRip7)(tW*ɭ\ I1m'@!XyZm0#@;3f{">_ ޳$n)eP@)ܐ>%x\b-MVnC4m;GsSO2|$.М?h]B O$(noY2Z<[ڳ %`P+iEm_KFMOVqMs- ;NfpLUwdtNr!b} T E]iIwor 4"8U;O/9wыtP8oc1]@肊馋RB"'Cd2ה&.tMeI(Ad3a2w5TqDWMfq#'",)*u.4to62R|rxjEFaL z;;J^l%zh7m,^' ]nW ΂BFI1XX )N)^ !GHb\A? ¦9KI ۖ9%SEPm(=ߦCD\ 2Fs&BP솶iJ.X}Tz9χtqTMb. z'@ pkLPy i]v}춶vzX.UH_Yq߸Pp:GiS׼ j gr߄B5 $ }fy>}0:pZT Q)T,ƌTI f"&U?RqTGDR[]g)*`aАR L1AhjUNN;OnfKt9.ѹx'n> /{|X1qx*v>QZOFL8@rc&B%Z$N_ s%454 Fs$JYl+l@ku--m&!S_,^_.)D[#ckN xr Q20=n/ o~mC܋t#a_r%s%!BcO@9xOC",O"H[hc0s^BR`Zݾɰ= m`\)qלW놗La4,^R{6NG1Zc2JXx,i-NM& ,g9odŢTbG)񷏫n]H@C56{S 6+!"IPCYL++>P@( (W邽a}n>`?'YW0PJ?Je@YE>i1r6"Xxsh0 VN 4JK0 !LԚs/;\_DmvDKV^8cy5P.y+Gx-S cim GzAWrS4;m)AJ,XG4 uc}&&!xFMz by12:'M+DFʼnE{B`U/Eծ<7ӄʤSgva/TNS24I gf9sZ%?P;"r4Ƥ"j$iP0vw;{m v-&'Lo*;Q =z (s-Ӆ4^g^:WУCSGa sDd&8Y;>1tpsoTQ^#Ѽcx~ :ހP-VM4S…2CV`onfMRBXCHUy)G"0DV8cMiZ*$gJ3~r73[Ik qF$o3"v /~bGl߱pA9F Φ,Q|smqQp[IF`tMo'T_!GExqMePeR3(/5QȻ#ֈ]d`]P my|:z&\D ojn=!8^ج h\B#07_\h]_vd݆?ظw7rOϠXPQ۽ܞ>vl 91UFTCY\Ј:X2O^b& ~>];|.?~ْZ' -J` ͍B9d4^*(k߉Fќ dbqtqIi~2|TPO< ēXAF8czLKךSc \RDD,]md^Á"-:F>>QDȌ?vFz=Xr0g]Yl2E@쁃_"\ƬC 4ФZ*EdڄoROyK7cu_ /zd툊!? $j-蒖s)7xsϗCE_;w!]y}tjj&jk8ʩ̑3m&n+aϕB-U((1ǍU}!)5&+n4q |3CDgbెfc)QcVEOwzs=o/Ao_j?voQ*!WstsQLΎTyDcWPLVTFxW"f`6Kqz>{VUQιG0cu2'`wy|MIVVDn}sTip gJ\91Y8iB@cVs俎J:&}[d//pqV1"$ ?boPNAעѓHWxIkeJT#O<,Vē_LoYtBgˎI,u{)K%mmBz\j^h2'$Epe Gr)WM1aD4N 7 SzUY.Z6ʼ1fYHT'}')Lp`ˆæߑ9CXAV,{}:p}`J?zAPv uhߗ"~c!MnGeéo* 2 Jq%WH9H[㛭4>32ɦsuu63ٺ1u^ |o~(/kT8|"{hNV |C'H׈q3`5#kg%`uo:* icy+$ȑo=f}w:N|׍%Ze@dQ$KfXvɳ5)8PL5Bͯ(mI6~!2 ݬ(q)H88Ի  8㙌4qԾź|t;g뙣S`3ȠB/TziT\BuE4}bRm_mF?eͱ /G嗳N+P&4κ 90v؃`HFX64o L }Q?KZV/Z>Lm?">623*-̎xES'|-F# &&L¹ħ8xE8Ѧ0EB J5 ʾKj$W{$efJV6Dqxkz[uQicUkg&p"b򅡞ہK~c}iJs%!r,1 ٱ )ի/tŴ Jj]<7]51_Ila0NAI"rU<`кćqFkebwP{Te+av1u$ :-\pŬqpT eDȺET?R ޢo Rj3&ҝ.?@{7Ξƴ1[D+#`tV &"u{?JwG@A 4b?3(dƃ|!6U+5D=Jv^'TqImUu|Wf$-VF`jxk\;,N7y+ZqC9[RMb4BvpLB4DШnQʈD..uEId1:vOKJ,u:Ým}=i28d(Iڈbir'Öυy`U11yEd_.NJQ#65OmsJU?OoͣKXŌMuCRR"t.H\϶lswL<ΔOIwKvPfx+ͻ)|r zvgN%o$6ӹ=h@oŪGK5%U+r)ƢѽGq)jVьSʘ>$T*B0tv*yԷƵZ 䞩,C:ygfجi x"^AYZ&i%<J.c';M\| ɯ8t*oZ`㕨 % Te){Mm[5f|z1ߧBO[uokAb@QG|:(eņ۴\}XM/Y&E`2{Par | &]#b+,:F XN;2/(OU)YvI؍@uѳEAdQjf1ICAɲTCwDϊsJA֑gz7fy hY9OK?hQ6?4 0ADWN~bEm6. db%UpZ0dp9Se/}o]лMMWC<9c䌀s&x-O\zܼM aWY.Vlk/QHmMaa K ϓ8sLOVӴtE{Ρ<6-7;C2+7RaE"[kC4 !w830[yC8G#~- Ys,ʤ'-W$5eM0^*3spncRM  /'bW!"<n]1ݻ8@'3{Kpnj3n%b{磡RnYuD[E+ʤ[I?h^=Q0W7>]r/jv l¬֞;9,8laDRAj;؞JK R[Nlc?>3BJX?Ytuvr~tvO=>wEkOKrb @<&Pn\X~g"Ln٭p'ݝ}4?@)YsDDys*)0ӉHyTKۛ. MAF v7$:4H%H 2o[Uݳrλ1N2Cn\7uEb aGFgKG0zb(]ggFN]>)6/vS!G Ito=}4T0[Wf"rnJ, ;"Y`ėd&~HC U~o&9-!MH(7>jrf,oƱtDž2XD'7 ~4>jk)erT*.n٩+ T6<zXc!q8YQ+NWmJeK:J]2%'3qJ$y`W9r:GIFQ$TF&HqzN@ILLmgمqm9e;yM(U=>F Akq?1g`mՊRl>/T\kWyܰ^S7 JE{g,Bκݷ/|yQVorǭ:q*fxI,ǯl⥮MLEH߰<#GmٔMǘ}))bK;[B^$cR[^v.&y{#z0Eb,:5 2Vf:y;̸C}/CHiŋvB*79n,Kڊ`|\]lnycܒO ř2E0pQ|*=|Rĭ| DUІ5*|Ix>aG |fPaE}-Jf횬u`NDlʁONK9x% 4uq gZs([~m>dޕYD?TJ34 -9`oMP #3_~f=H"=bRaKqΛITZWӛތiV?ꬫxj628sT~̿T.Cn7 -*d]^=7Sj"XCLp$DIyaDes/+sH=ҡ‚< 3ÙOuߦK2M-s[X:voJHt;pIjhiZe_ZR0~ P{7 V Zp6Z0_2S6dʲj&wޜx說SyпO$qʭЯ;T3L4}D\R&#ffdvo鋶rpp F[m@ (|–EB:Jᦓ|Zxǝ1ndXn} =zs|#L9>.};=Ua^ϱS=mid['l ߔ X3WnLYU%r}G YA(*q0H8 ğ[hAE2f/:B ď)`#9]zZ51\uƵ\[&#+](x~'уH~Q`Yȫ؁Sd%_?Q$yR]')D2MN/>$5k&RP? +zx/(6IgA]MMF~o7F^q >X-(0h d/n<{k# ƿLƍ`X q8!||pAT%.,7/F]d{o5*|~,D%}HHU-C``wc~#YDly]A.Ňus&y"(Ƽ.32ХGlpZP,/70єWh) ;te8o\gt#CPv?xCN%70T7s'|Fn1j@6N ez@sB.<)y>MQu++Vo16LЍL]Àxj=ҭ7ۊ׼bH)y@= ]P)]MǀJQ\}"?4=r);vƵHSӍ*H8wɧQ(0Ս]19jr>rì4=HDPV#~P𞘢˵BL'Pli.^ѭCdݝ%n-o1*]">[Hd'6tl odQ[vKT;\EnUPjoZ/7TRœ{ Ws<^O&>_DM+` b.EjJU40ʦTnPEpE"(x(U*;X1Df(N?ƾ߉{{N"K;̈́+2E$BЯvE1pNBKRX8"~8}5qR}Ԧa ]~t)減"Ro4ؗ@Oɸ ^(_OȫR9/>$ٗ=EHX ^ K ї}21al Gm7A<#&IlV ZA.ԇOsf꜇[HQb1ӛʲtԖQaiqT47]aUgeZV[FvX"cNªr>ԋt"!t;O$a#Œ#) J13) gi`>I**;56Ωϻ7g/BZt,Pa?z/&QfBbe #}_XxU}bM X49Sw^˜HB>TroȎynwaMU_G'D\F^bs ^}˃C s %;%=zB6P)/FV LZ-cA-5\Rb%-EG,vZ F}ɤ@ S$cI|%,)lTyUw1JzҍG @ίތzcR'~#2' tP*35B1/5(DF{)L5tdO^RJcix၄S]\Zzvط! 2?VvQ<)Gy%96ԪXv YYw@zئs<*wœষFi k[[K5F q}Hjk,Jbf9YQ%3gjy|aZWTU9’03rn6XRHV=l#^cʎEӺˊu7 ϕzi< S50;!:4.dVf;`(or$AkxC5 [K/(}d |:|s]fa45$Yxȶ&i<$8%QEkle<5Txr1(YẀR H(ѹkkXDͷY!? ܓ=DzGjxi",06#an5{[0C!qZ01,$Rj(2cT].h֜ GT fS,DW: 2UqcJaXV+1'šu<- *Ĭ !tzhe{zxap t§TcgwiZoxQAi ? ^W\O/*~䨪:`i @7D&t ^g1N\|LZ+8.-IRݓZ.Ŕ(| 4ox)na;L"-C TKo V&ֲzPsT5j}HC>V&";P@O\=d*bi? mVSq~cIxݥ;q \mSsQs~|F>U7_u5O׊$-FM=EE0"r]YpS8**qil8yuv< Y`n<ƕǩ <4ԛwO-7'Qz+5Í7Su?aG4mO;a6392J nU!-o(65[ JvADFk|tSjZG0, B|(.ϲzy?~+^!WNC|ŕU:<2Es+wK8|T{9 yV'^4`q7Ky] 홉Q xnk.}G5?lQ.da`G7h[r#0u$p _ *e1j]]Z)U˟6S>{M#GPXjE< з}2^B,oDJCdמ~,KZG{erq MF)c17v]%*ezaE^NNqQ6 S\e\0*.) W)0},>JG|Bdr&h6FRp]*f < 3"3vF_u,ZT:%Z}!<ETͫЃ!5R҄⽘ҵ j әYG!vʊ_2YU xĻ&[&ʟ[t R 6moAXE+ Y`Ӈ5IX.\RIX&p8:2& >,oRΰ`oVTol_HcXH2nIYɳ=P4W a'Q syd8I_Cf\_2a?NNr "3Lj&ʡI7a [b(ˮYڗl7#z0OO'\Nc?X[(gWnЄ. Ws%$ /*V\?3P$|&m.&2+, oc{.6xѦ=f %PiKm),d^9HL1(֖OR\Z9xh`eaniyfd8|6uUjkGH>byc1w~4!~veuU1\)!xdH$. gIq1>m8Ckn&iw+*$jEP02HǕ{T=mtnMv^^@Hh1ymi21Wy. jOuhkm {a#mB~v->s{^Dw ѶNͰ)pt<CG.X,(" 5Yu|ñJڀDg 0gHXJ$"ohN? &z]?O ߆ x4BּX1)r/S$VV ,b0~ض\w Ppu9W*l U{o>v.ڌpl 8w4ZmL\IG~^ 0C}1?u]97SEgWa/w(l,Ңw#M!ȌsY@BczS;}8͔ {~t1);S۲ (o0:='- +$*DR+*3UyZM/M%;ck|sp!&\Y+AJahJ{AwNؼ niU%C݇3ssexvtt捋q\Ckރ]~u fLJS vgf/Hm}E*1G?N%!ʦ,]9$?vĆW 4<{QPvgjvUu]8Y/b8.~ZB,<5g\tBu*߯}mDUt{_ׯ< 8B>c|B_61Rjd?4Jӣj{y 6-#~|>x9v1Z'QY-BKO a-Pe_'5 :Nqb wh zhƻOJu O{-M-{B2oe UT=^o0tͶZ"[3U&sXl`u$~/M6Ca@ ^duMd+Zd6._arjZsT}z2DDXuFҏtm5uhKG<@VP??Jq=^BUk;tH?P?[,K!~B ԹckܕKb}+FϾu7͒3@}Yc&i|{z3Tؾl{O7'GzlF)6 7X$,@(,(;U v5 mU~Ng$m]o8{ӨP1@fi:m翉ܑDž:TzBڐOF#"*P63™l> lYAc n^>mda\1b6K/[D2NRkӦ%C1 Mу%!*+,7 ۦmO$ kMN#w{&T0V<oOY6D0qo4}M^?:«ccd*vF3w~{v_%Y>QדZuzYج"qCxLs8;:dZ0K>]Z:Cn0otR9{WFJAWN#ߗd!eScZ44-( Dpz.jƿFR[D3D~)&E@9EgmWXaXXPN<74\C}sq慱%YIuPkdu1OejOCD^<'"e_'NL{1~Q`WxWPh4^]P$<+04K4#H֊GO֦s[@#/i^Ghv~f\,A>NSs<)SCb^poHyZ8 S cwϡznE h=Qi ViU׎u5e2I'`=~`6W<H' kgI>5qlOKratjq,Pj+BAZ3ۍ nt#f&HqZœȄiU6B.0ʘioSgfb2x!qP'o&\[F* <#2uDGGĉ2ha$U[7(c7-~)Rrlg1ThO03 2[朗-փiZ9k*I;y[_8J0 (qHYT$kL C >5[eB{6@8-w#mb2DUU I a= =Lc[턤vAbYh5^*'~/z~:;k/tZm쎌4ӓZGhKyQIv@(5mgHC}94l+䷣K7W (ZF^klbEfP+TW' ݇Ovh_y#Wc:X4ånղ:]G &o]7d ~玤˚'Ӳ֛)SVzSb/۩4Z'u۬F 3},2U(Zo,bqVR *D!)s3·x g(a3+ɺ]u q;+LXdysxp\ނ@J#Ac(.wKu4 2qO͍0Z@j0d{=JAd#QE4؊lHնlR\J:dPQ>x˪YTcFEaOINO𘓉)yܳ$p+K"#Tc"< 5|;7f9f5VGgWac1+#Ǜ_KЕ=u>kP!6j^xT( O  .V{eZ+MiCA~L'/*{ dHi~"@6t4N5 K3qZ3Xb,C<:RO)}3wNH8wx;Ik2ɳ8'M8q >WKL1}%WX_1uӐy>zS #֙ܣF31o\QNj%xB>KQ$}a* ${w'9i3K$%"$pd9`V{7I|Hu%^,Qf?-"}1$uVRf0@ @vAt4 Plf-N2wzv$~ݮymL[3=H]>KeGFf'KzRXy{N_X0*DP"b mGFۼ 1zxvLߍ=^:V ܠ2=9:kw; 职-N+cql1{;@T(WȿjR2ro1db}2=#B/ 6P=:TUy& rB Y):iɬ{+O(9{B~l-H,DhHk~@=Ce^yQKV@!;Nx3&mTa$<6I&.AK(d/6ӼŎHtxSy8.bSuAAV©wXOᚱf`CjWIc&T  E#;lP=cfm*l-V#$WOt]![6BjbWWwu%xQha%KS"M[t*` T6;^3aXyҙ#^CnONAިO^Q }+0qM h@ܵm<&oÜB|$!r_qdxWM%K ,6,/tdfzKlsq>v~pQ$ S w=-#UL5SJ]PZЇb,`gRqt,\'ЁdYUGe2'(r zJ:mb5kn tTW~g Cw{sےؙFċ*  n=&f6$OJ:E/62pgLѮlI:1Bb2*Yy\$4iHkY^c~HG漴X2=M+Oϓ4gCr~~L{܀!@6Z/UPOV+1nů͆]bSim-,˩!r IrU+&&̽ب{ާ%jG0][2;s 6qI cE֎Q4̛$y[wBA#i^`!0y7C +woaSͰ%#Q܀D-h-&}GdL ؒۅ-B@ -p?1$Gaf$`DH$eDOƺ,73,U<Fn0o_aO#gX!^;)7-Д-B k.O$B.8沭~L=} Cz.I=![\58k mq{َ7bj]Nś/=^~rY"={ϗS Ӯ@k&f=L!NGZ\@:L5uR4Yd?ߎa'C Z j_P~Tݘ%TÜ)^J+kxؿkzxmkfK$Պm@4>x`I2#D!xE~C,v20Ct2׿Zz46mEE3af;[3סASs~Bs)W!Zv޵_ЫGN&X쇋A`%EЀ ٪uH[pϖ=շ~~H! jQ܎ֳD؀47%;,4oE8dJ {!M7y/}W[rnknzJJA _պF ؙPV߹_I0(j8f4 T< 5'-~naLv (m@}h ``q?a7Ě/ 7P{ItAISC{ޓ)yi.(\"jWX:Eze~WSC g{QuQ&nNp[~@PuLduW?SQB q<7ɸjuL7ho eB>aǬ]NFzZ:oOΝek>lG+gkqn&6%-TIˆfBk\O}>P۶tTL 剴G<uA`'Α -I' `TxLO:ZHSRCb|^>:=2 jE4t?HLkë a)BuHhMtgRZh4eȈ?x/]%Һ*3ݭ gX% 1o^\E5~-c2a SNk\D>iJC3j~*\$utmu qƪ.ƻ )e2A~2b{!3%)W2#= ?qz#YV3>*b!g_FORۣFr/(\z)庠`(6˳D {>1>BE͡vPw3<_1 u$}Z# ,>p 4P] .0|eNKoO EN2 ?%s%r g3٣9Uv\YdN3'NM qH*c&>k^ܗoN8I^֧7 hN^㿌5&3pC*Es9zV"rհM . $@c0y@c11l#]0Ȗ|7"J-L!+?F3E$9j"F -}OeL~`uNcT d3@ωk8@6YBnpnI(-4B6\@<!l+Ŕ~!2ThFրN1#8Uy|Ss-* {Y'4G%ܠJ&ra3ζ=է״M-|dP ^B@oK=77 ҂MM⫣^.`G I-ΤXuZ"b|f$fEw*)^nF&1^.0W j)^:nM7掇p%?bė0Rb_C bC|v:&&U>a:L~$ސ?ʻ5~FC'c:aOZ5,H-l%Lo&f Ox1J"ggxòـLmhnճwAp!>Zb}ZZ?f" ʩ( K|ɨsYnpH6k2@*eM0Cm?$zjb?[qfTAwLq"n̅-QA'E7FQuduB=VFd>!)Z˵[!',>CG')UuNqD!%|cU(OU8V.9Oh|;~H"+)yv$hf}O['wsݘ*pk_ፇgҔӗE|N-O7| J@X۱fV29 =5IH6{P+2ۉ@# i7n :wJOMɿ'6:}bzp\k1th䰤lxZ"Ó{0􅮾F#uA1Zu>(;. iK%Nsz5$oFJa/_`OS}E ,S9JXuħI#LYa2:݋#8D߉vk⣭Hk~+q\9ןd~#_xEђC*)3%pC[v6HwBw?9>C`D뾕%ݓ u>hUcύQ֖e_h@kވKmVPmzu3+5Fg@;Sҟ>@:g7tgMD~Ѕ5n)mH YuPRMyձAcߊ8^L%?0PNo84n1oL>KbHTCA7*M+K}/9=iwu2b򙀌hY/syiT;H$΄m8 9K1TJyu |w*:SOEf<ji_!xWC#&b\˨Ǵ%0ac{&lMM*,`\J9S˧l(%ڀuVYt<'l6?˓J`XSD(:". b5&*AF֟@#FM NI11a-ϔѲei҄kDώkݖH8dti6A:? 0?}54 %2x\{}CG VxBWrvNу*ӷ}} B:^|Y!sjƁfꁼa\#r*;)?z%`7:k@CQ"֔{rd|QB};lG(8n+ᨇ lE+Y9/Q!BJ—y0wrAVA}6OCsaYa; W/wY';f^I*.IgN]F[ub9p+86HP,Cԑ`=fi$vkFvmCF)+Wl+?pnhW5 19ܼ3ʥZ}̖ e]Ϣ8u*2 Tr5yYð++ojȕۣ×8e8?}W3aip&¯)1b}]9 FeM_8S2p\.oX^ڀJ֦;p04S2.U|urrq6^=SlUKn,%gu?(K$\fWBl>3:8JygXvƒ) XCyvܹV>W5*VzvP/4kbeVE4Z?2iۼJ؀yHs oC+`IMXJR>LK-"[`R{FjފBS}!?'v|~uG[E=H1Oc1F`_E@{\fx SjGC&ޝXrJAoT?6`kKߺS x-TBAGH0Q~ˋGp$}?<, . bfq1 zl}4muͦx8=*))ƛ+p+bjL96dғ(COM`wɞ 13GV@IQzy1hOϭ/dPspa{NsV%>D'"0Zi$ps5 zRsW )&M/, ѸM3 0ʇΣ&Qa,К`LY4MP$6@7d*b(EϼчGЧ$ΏCR+ zLId;F&ڞ6A0(vq4EaH= wBxpPU~/ӈc՛ϱ p瑢0S Lh)rK *xB}7',]4FH`_8A E ndᘔSPV 9kN8JP}o{at9;-gh,(+T=Ro ]:ɌCz&Vjm = od=KL e)ݎu6R=KFǥ5Ga|WXo>R^=mw|oB"ʒv\Q T[ĺ%3{h1~9RWʣcٽa2 Ƀ`3x [j q^Naj߫5R 2'>9T~Fz63p> j5nIsݵP{,iOkuNX4T<l5)UB#XÞRqԱqA6ݤ&^0ѽ:?qâ|B::Hi(xʔ7iWh\#SYNgYw5 yx_ɜ5|[7U@b1{LK9j޴PvK}c֍ԿMfdNHAʧSpk஢+eÍetqxW 5ѡrvczyi) 7?ya(K^ |VD3nN 0T."i-lLh= V\Cdh*)74h d蝔| HfFLJ6ڱCI\bV){38lKXoFPQU{WX o-j: Jj_,tqS y_3J QYS@1 3=R@YoWucD\!E>_ek8DNALj%seظV pGsT_+3DZOm O/4!Nsc~_ KA>@eNEXTOz>xV)z:&a˭Os"\DPwqF(#4PrN81t&H.R|O3;ÉfY)|htO]I u߮yh|jذ: ,@;{8\;CnzNR45~A_lR('z":W~d:6j*/VJ*WZ7H6dM=Mؓoxss8̮ۣ}+hzՀ;g45z0Sg@>;쎏IVIK1 ˢxZJ`&ϋ9;sS'R:P\T,ٶ4睃1K((,;1xJ؄yg6W$K" s&0+.ֺ20-jۺ#p rrUpu rK%[.wR~eYq|8c_˳"έHW5:(OFp/&O>TxD=A6VGϨɾt$)Ϸ;+?r'Yz `($jO@KnG3C\]Uj"A %Ege'yP%2ʂ{ݺk-S@ ef}zw>'n!?ᥜ\2x.^y{2/0;hAU$W͵*5.0oviyS΃bu3I9x, h} DJ#.M~!E$aΪO!9qM-ESWCLl=khQ!䮶c3 fFm1&@ULj7(3"qL%7iBj@t̹KuAɒBD3OS)1nW'znIQ`[KLI'q`G찄Bf,S7ϕJ2rsY5Jb[ ] ^N'>[ Fm'|&뫛`ִsR519ϛ@eGꈟ^-Ewv:J+Na+QIzG2pc e{"ŖH5Wx->8{nm!5!er&?Mcւ8A܁|4-Ӕˁi$]NiO0cRx$ >g^Ky~ϡ!z#W1ݒ }W^&^ؘw@V7|-|᭧@|=>*4g˗$Cxv/lTg) I/q0&}~Ep6h.I5D_ pVޣwH͢`wXL? w" S/Gvկ2wָ8lg .bNϩH}0M )`ɇ?V[ [1D:ݱ5,hZ8@s%~j,ޘۀPs/E!# >)LⳤLu+j`a%7VEq nkߤ`A- ]=y!|lh9bhNj'ZGG}m 7&rq#5m.Nsȫoҿ] ƬENS-q::SF.o !my$Gha wO G/ v \jmo1:Ӧ0#ww2( Uyޏ5FE#: {|>biLL -;Xv֦hv)jl KAL0T7>iDL[c2x$;1/Zw3[L ~IlN;%`v(zhTZrNlCZ_QsIW(J!01($PpPi).%碪;߼)g\uݤIFᖜj=$J 0l7OsMFO3 믈_I cHk?Gٮ"{ˀ@L[OZk? sQ:wTT*H[$xelJB:AAzU|JzgV)wHئߏiRj3& G\p)BNws7>˲zadi8Jq"f+9yp)7}lsu*?νi9<ӄꝿH\ vLU^ vpEy|XtHk5AcK3 *7l2VW΢ն^}B AS:9s<=ɕ,Ւ+uP6;ZQNmYyA{ZeK"ّ1ʣLP1Mօd Qݮ>WJk~a4+R&GeaTo.U .Qrֶح~I q <?XkS=S$=ERy.r@>6>=-6JDmzҧHz#@Kx#J.b$В`j=M>o^z^O$C*WdYa[L!pOf %]=1:|$&jPFc tpjT tPFɔK n&zܳ-bcAm8 ׷~oaقH85NbtޖmlJ@av aB c!3*[i|0o Jo=L;x*|_Y)?lgnb(;n3Ů7#%s= hL4L{hTA wvo,|$ F)09\$߮.R;(2i/bkqbqr:3erwIm#롅Gq4m_+%0+pGMٖm3m%%9;+@\~(+Ǝ<%35 v]?7q=5Cäww</9#=1/ Do$&yIm.qx=Fa>D K~|S_@ D|ķ{pT! {hNaކ6a+q_]HLsM̦3u,' Dᜬ äy&`a*!+A;%wVig#i/:B%xI|EB:x&9 2)E 72DuZý@@LX*#J/'GmUJv,rwD3c2$=QK~V">1'x!0ŏny]iK^:☒#&Zȭ9AkTD@ @h⃩VHb+l3WSWMr%(?Uy=/~㠘 (lN#ջYH{Pr]n?ۀ,$+ 6WNv7Rq3K`JxEFY~q\$gC.JWSML hRk]f E3#F1 Bk?n,\ 7ZS" l&1`zJXD>ǺdZd6夢"EuE;0]+_(l?v%SN). ޱ?mN$vM_Z{_`B&bCXŏ~j Os0 NRsr%&8qr=}cWochlB(RMnb Z#VY@tSԘ"{;R-qTKxkXEq\XD T{z2ƶYS14]]Vrpu C*e䎪i#0VS˹zqV\q*dRtY7ָW8T+N6TnE1T 'KZkJ0(}q+2HҤ}Ǫ(pb fP-Iɐr*n $0d).I3dGI䤭M/:?m6j>]O#zUdeLyjp:N_܉p/bj3{<*ܧUҟA01tƢh]iUQaX.pk,ƭc_C+ь@)'cG.{JmS7AY;#kMRட cISoRE@8y@6Y(sBVzF드K>[1a=s'"$ wAaח:L[Pm_ohCծ8*Tp-CЩݼ[mR{c(CO/LlbcJdDGz-q7t?:. tGK '1!rkvZ\PY0L yă;/R/9w 9\wtw mOy1"]#0^賧qhv ܶo,;Q/_mILsjL J]_Ec_;$qQ3/*##vnG=YBL> 2qkd&{|uۂNx"װ;iw5dCQ+߹ʹn'A_R >*ryj]jM|}yIZ5QU/2bڍYNg;JgJݳP_ch THhh FsL9ǩ54gENzV۰,f'7XӪ#@wޟN"X6R(6D5^_VsI3Ec;!h([FܹTBq]{꿮 N$P؂XЄ[Wl9MaC߬$9Ĉ^D|B[\ [E_Z"c^#,XN$[n֔υ3u| D?@泃>~Ƕ[V|` `0Ky#r.ġ P*A#ǾI :}S0L)hK([l}(oe\L pq^zL=,[Peq%R^V&,&gy{İ/c4['g7 _QX&[2 &|o >3brG=xO.ac_˞Xyv3-@=F$7~CexӶvc˖bD˥v04P@_:fcBRUYg&1PÆ7ȯK^i-%Mo39SqS"ͷ#(Q@=ᩏy1~ᄆ~*1Yc^貉a.:>o%y$HU5VS(eS1(א4KՆ蛗ɝ=8Ų`tJf6+0"O'&'e3n:@(>_`h&2DU4U\s"h)Jb1Iwf谏SU3n|`y#2BG= Q>/$즨ؑ&T_ytIoO'7Ҳh.4 niDLZt]pwq3Ca@9[M(jWe+I} ZX7=lTڌ d xU- *&BF8&6/޲DHb^ZHKbW3DNϲOQa=Ȉ1<|l\+.޾ i +GTuV$I i˘'fSjrz/oJ2`K`1Z_sHή2%oߊГ0ĬQ)jiKI.ݧ1m֞[@l'op>\4gý~^ =3گN 6<,Ǿi]jgwGVd ~v"Emn4n%L'DhK*.P:l]Drd*J4D^B, v6nc!(k `~(:Ѣo z-aa^9 Yi&^ :rޞwbj$NϹc&P6#p..耚 ~|^RGBfW=qijDA:; ܚuP=Տs$,D w{`N=R~E)/8eV=1,*&&p:3.r}N5fS09Nv*"RX[78(zʲ]r*A2`i_[q +(l(G2uTk=A OIOW>r8wo-=VH8 {|op5V䧯o'kq;e}e4@.Zl…<=͕{>&njFVgD&*uzYeىߩ@ 07ԩ0D2%6y\& - Y~"GGxJjg2RjSN[L ^kJv|ʳ@}zMAX@RZZhEK_RqYS"ӿ_y?(|pf~: s!^%󪆿حqP0l cbt8o4#k/ې7Hf%I&NbY@.S~fembTMsO4${R Nq/e=ֽ ҽ|E jԡc"ztĉ[8 "6.zeJ[ɤA+6Rp޻g{fs|E?{/(ʉtq(?fESgi icR"-8(/->ɒB RCNBݍC9qN+vJlc5hkiMF٪l!l|hggj|q 0YJ4++ &o6(@@+0C'$6 I۬ċ/3?&S "uᚱۙ`2P$(̔A~!D ɖi̬AT!8*7dP fAOk_kJɨ):DEȤ.P 必ضـfEv{_U*{5+l%m 79A7y(}RY#&Dy N㫚_#*;lp豅)Qͯm)~{zۛ ^hA9cO/+6"yKQA^.S=iRUzҍaTjQ˪t99bZ;Z)xVҪyTs9 TbmD{{Qk Wy怌!F}2" ^Hc7C|B/RŎk_@}'w.~"C/EO+嵟/Gf2:YUg2ڽu/ ;{]=$|fEHL<kHM޼|y-Y Wݼz'4ou,hYvr cϝ%A%a3;1vɩ09~S~90k@[,8KG`~FYܴeʞkk O'D2`y΂laacK-)K˖mJ*Aޏ$b§FKm0y =R^'!VF/=0j:{7d8.7,s,$uEZϒk9Q4KzXUJA;A5`Yق7kQ-zyga3xmjoVк~jCػ5bV_FM/o*?<;"h՜2PHulѺ^UTHSYE 髜 J*9oclV܎>]f -:4*p='NF2pVĴINl)Yg6"ઙ-;Vf},r-…5ߐT)>)@$ }+A4W#e!TU@!&Z/^ '\D6A;[%Ho-[ո=cP$xB e.B\9oXAhC7JP)<ő2GM{Wor,G_{3YfkePNl8;6.r7~ʌxfsK 75 N26?ܺoG_ O?AHtmaZzL9Q' 4켤 1.ewz RU2D, IӋ!] 1j}s5ЁVo'c!G'aA`xGZxH= jmHt|k--ֱ}240+9pF7 1QE ȉk2*Jtp+Hun :Q 6:M:9'd pFShKXَ:˾6w+Qe Ϭ~.wITI1eI[VG=Md&FzS5EmZ4<)Ϝx a^pt\"hMxz F)[չ>3H$]Q*F@M4Bbw1t#04=$cYk^RJ|sU  i6{+ȇ)Q>Iv7A5\BcU E7.zȘ]r XLuPB2X;7?SZk($WdM bgP"$B \aOcGʭgZ@ L><]ldiI1_:f>Ru3ŐhkNVZ(^sOHM *8*Uh<` Ka>#J9S5 dOڊjӗc,df v3^Q4bdK#Ru yw^&<\[<l"#d0D•O)ޜ E|29}20:Č'_I |: 1?ҙrM]n넜=[EU]rVIf/S%ˢc;kƶfQ) 6̨͇p~Х5ěNvpP,$>/㮠>8غmM cWҫ%<(֚^&Q6DGpUƘ)dxqKHVkbRg}SݳjHZ#WYPǃ)pD :3ۚJ@cdպXAndi B$~uZH?Y>gm2 b1i~9:]!Cyp:0"0;"+{A,cgA DFpHEı,ٹ]s.Q@^euɺ&;`EwdJp<Ϣו,I9,|P͇O,!Lu|y9_3[@IJGtQ!kc/+d5jsb QG!gt,i$}Ndڡ]!~25 hsxSYЧ'-)ܯo.~׬ neMyo SZLK3;aʝq"?vXpS)J B]蹁P^"O^n-p. U\lƩp-Q2^h4Q8dޖu--P8 ɻshn] ~(B5zQ4Wp^Ɲ>ъx rDFP&`7;4eZB<'bqt4>sCu~ j:nPӲbD8n"ST!&~GNoߊE͍t| FΗ_MF 0'p|ɱ5_x1˧$ F%}5AX*MA]<`sV*V `D =1ȴzgz,S\ҊX^[bA'f ,fsPC߹0h'Z^k 0A@o4<;M#1!5=u% ̙JB߽bixg[O{WF\,@n|߉M2nq7XHq8v Sf]_HoU^BG{&]kV]fT+e&Q F*>;MZ6V)K5C_46%h6|u(yxNjJ;4e&B3I5T#Z1hsǸuA.MᅃXS 0 3 `j-Y4;h 7 _ -eTjBMSop*?Lו 2Ӗ+vģ)_Vsr(Wy͢lVv%XB-ntϻK]^wԕ9'qIC, qCPv6L.xFxP)kcޱ^z׶wז:% ̆[4R{[x/ݽŀ7.u#xnMC&q[u`;a'mdh"mڪ/LK6';I_?؞rz$ɿ͇́EEwsX?5ZyB5 * #!pM~6tMe2r.9860!:iP:A@Fi[7iPH|3x$j9#XKB@0]=q|n͉~>8V/l}fL82^) 8Ei\}G-\"h?)s譞*]5(M ]地{%HWz Υik<?6%F.Cw̿ -k91y'~\Câ܃oل&1O )>kdXZ-9ߙJ?;ZyI2Ssu7S5*H4 ^j7¡Mn`B|-N{l1a"4CԻD?ǟ԰]ȁR̔/]dg6u: NS.]T(Sic#vO: zh 4c]&l5>!MVUK/K8cgxꍘCt*S%æ'bəz:1'鄽d?`&r) ̀]ä¨ $+"Z P&5e2|-kUh/X r䌮zriq5@߽&6csSdhwVqa_Ė1HV`)Fuo!-d#x-t߲` ț(D\q\OUG1~6Dɬİ9kf$-0Ɂ ɰ1ҹvv$&kqNddXR{!_~#TZmr( B1~7\^-_W77iC?ڃI .~v*k>a X2pfY^AAm'iR>W{eer4T&n %%+% ,ť5*{!b@ƳmvE >臭J``kP+wѕ99׺W m[U :F:@q2E QQ SZJGcK2P@M  Z|@Pt: J<UUR rjT:HoIrJ3/įge$30Xc9ʑ}R-ؙwUӘ rXE,_K}gXgVa*J PX]]kݡ}#ɢ?|tJ7O)^p 9NW6e!vMb9} V>7|(9CXnf48hTgՊH A={kX14h2{=K+{\nsm7ƾ)h d4Pgܖ_HWUVƀ6q;u9opE~4+`R_xaE8WϬ1wgUYt @F$?:!%\jA cvH+ GRhKuGEΒ@Y-?-toSv :*Aj{%EIL^xzkCGbO`Ɓe (:$F_,d8 ztmEl==(nt^~XROEe;k 4EB*eU }dxmEvvs c?Tf 7|| \f[-o&F!95tZ7Ju mu&?vxxu_dN} ` KT3}I)bҕu.Olh=vDga@v9fӮ=FңMh8 {E1k Ɋru<2 k~U< )U”:T 8\ e)Xl27㩍 { 75;98lAa:֑ܼeDv#U›R%&tHpy[j:Y6ʄns-5ZyR<$UR{$@e !`16{<9ycŕ?t);ɠ%^>yx%|B9aYpNuaU;w^*u0@L z WF&?xtv&1{(Bk̬г^_oCyy-ljW3TV2 ԁ4`rCr8n%I?ߏrtFOn&4|n->fpmoմMCĽb>s{P-zn]z0)+A^N%&Vu7jaf)Ao_m -<hӀ\y/+`5/5DLdԤkNL8)ZJZ,w$GL(F߬x؂[yX AK!!5'ƕ H߷?t!i]ar "C!` ;4U.єcUlq^Zvػ"}p>#E-xW$q& EĄRC9Agy|kk %n1ن [];k(1 4KԀ^ތyti{͠I7>R!:s=2gVH ީ8:ha.O+N90RZ?g+=ÉF|z5ix^12rRHVa kn,Fj2˸C 2QtH"AܠG:H1Pch:^,T -XV)س z`FsmB"9\o]kgP0-;^'[E\q`| $c+^b$wE{ lh d'"-Vt"$*/w{QA9_:v|Oh58&8+Q?k"ٽ<.R w}S6S5~xUa>X; LҐWu17n'(tcج& GkU 0-܂+fTe#,ujx FeC9h ! #P)D,d։`k&ԣ(ZGm(9֑O+7Q^JvoxtD/*=lh]s_.W  ndEȧFl<(3hӨeG(HO]IJ¼UO27MitLͷgj^3' D i<%C /MBE`5/N&V9ES~-"0YͰ>tZա{ &F!Yڦn!AgH!Ӯ,B yK#`0e x1,MlvmPA: Fs^0y=ppḊ tuAImNc tTsRA ]KĩQ¡ѭz!rypP@A_}˱b?b|Upsߡ%^nynl -%2qoʉĉZWI~;:SRujƯ'Ye%nIZ_JwP]nCIbHV2խEl`[w+UR&ȎNMݞ`эb!G9y#b~l50o|%Qu"+~W(a+#]m\I⥻|;4ٞ[*yInf<.˥?.~z ׋9/`f#= M?7l @|UH0ie2b}k 3}5|ԉhl~X>!͗-a2}C?X:թw94tQr> $i` 197x|BlI56֢ ۣc$vMotZ6y+*nn~Wњ?.CQG&S%y0q^0m$=۳#!y?Ώ 82c13lLզK=WA$_:Lu_RLwV׷mai>/y.yEi{P|W_o.y\3}pgAs@+>t!;ãP! :Oz)uG׾/>Sֽ~n1; N\z*hbvM٘y)O dQ+gp[WQ?y2E#9Xd`jvGToFzfmH궚џ*wEqv$Pb~v/S- faڟф@hU)^Ubh3GҙDⱚ{*bVF<L#@+~뻔mңjdUVh!?stA_dvLTv_kDY,*MLܖwh]k?#ga]/#o0.ʹL{:}PcFUd=Ku濁_4|?̼[lpiW.Qȃ~=X%]:s0[Ѕl%pYK7@6.z`-xi͏Uh|crZFUFc\:eC̮>8mqy[Fx)9{fzK%{Rzz.%Y #uQH\!JMl\乄Myn(h:`;#}Y4*!O3t2dq_xWG*_P*nwK840>5s(-.i~чgX'.U\w/U=іB.A3&3 7+2EoNQX3‰#[ǒ7i4VWj dqJ ARҪ\E_$4w*[NWgԦkBSsHzψjYN&LWUBxK $6fö\*P0FɫMu6(25yJE7Ki0[7ԫQFGq> JdjO +ُŧ_L{ 7B\xk%O<^"ZY2 -h̽edBe"yY׹Ǡ#~&<=\~ @[7%5[}9N !4m韜| U@" D"b_>%l1#28U= !^&6s =&O«/mGovIêPCY -Ɨ^>/nOq! Gb|!S6ViƒU|v+BeԸAlX6O G,~' >lz ASQv 'cA..ȧqI=a:SUpZaXIjm`y*=޴!zFE@۝Tm4ί^k0Ιh#erq&X_?r T"G=Fc -kiza$8zbaaa^k">öLi4{"uP6_߲6nu!JLE{Fu=U-  ?qCwr|}@ls /r3 :c9uTvII ZANNkbuKf.m;/sws7jEfʝ%`().׿!xj_3_E&o_PstgP]%t9X}7~,ь)ae ֝n]\FG^1yս sdMw/?j{'ۼ?QڞNKl#{[;wQ.\AqGe= -u=Iצ†ǵuU$0 epu,}7wR;;|{%\e-fyZ%zQ3?tx9o:8țF!\sD'L[ZNyګ.V9A߮Bk;|Rq nA1oMhPGmѳ8 wTܥ`Q" Pr =CK0z:]W;_HQ_C}u=k>-*B>:WơDaqk0g)C9ܻ%-1RacysǟG >"ǎia6ЯfaLnb% j,h=gP7O0~(j-m8y!׸ecRUY@},qt*w IRUF ?֒T->baroVnyGWm߾'lYV WI&hI2],ew6 Y{ sD\LeS<gtl(҅:VE3n+נL^iRK@$^NA%ǥ" F"C=ѽzb9Dq tublH*2:|zec\N9gm W}&혊{W2)(ž|L>Y({n~"t*hdܹE|7*R~,=UyF]xW< )T mV]-WV>WVY4.\߯$vwVy͌_+mzyޮ)4-Q] Մqٻ-٢ܤ"yp=icp Q|%SiY"G;Yw(ħ'Z"qSx" y+VGr|F oA֌91?0 E}TϫQj&.9HVkPu.{' /+@p<3۠/+f ob=ePVQ|5 "o3^=G8( &PҒׂͷ[aw8\B-tf\VKg Z QZN0=p> H摄w۵dӆ||lU#d?cZΒT^:^L@%>9mf|%@u?:-R^_&2u2{⪉Iuaˏq;;购 PJp^f)2S;Ea* ) cmopu~*ѻM [jZUY~tX,ő( { $k&7]E͍9kQ@xj_KQx.fCdB3($9#j!aJEb}| ƃBJ|S.Y!!5miyz|gלDJ-`z-A";V<6Sol:1&PJמ@NxZC;E7LDa%Ўߢ ?{y7xJ O݀$.Etcs5pd?EAc#}R4uQ?HkXsp,X?L8Ӷւ| `|p͛>_ktBt8$z2}P4=ECY~NdBqvc%,A"!Ide?@H4?(C![OXPkU|Y .ew9bf&N M/ҥHclȓKMLRÖ_SWo>Gy4~+%t(&!b:'G.#;Zz/đO=| 4q6OKm!a&ç쮤{*[@,`DGNDDN%A#o_phkrVQ7\dT+4ݕU6ysa_Tuw;Y'D.,|@pP+o!LLJ|Z@QO+;Ie G LndȞ x}42ľYʐK8`2B=I˞1kwiC^}es㋩9BFDCMGWkiZBtdCk숭|Z[4L–7ISxq"r@c2Џ >vs fFmAΉ(2:!yGkFry.!Utj[ũWA8{X«P0b/]9~t?#p&NѦ^7$r؟̙=<auH 3_o)9䋇$P1;* RLjRJ~-/&.$8| n'n춘if%Fލ?{ Bmh~Y MHp|B֢*ԫoKnǤc5'`@# w#aA х'=k)0\!;^cF(^hSpToG,(cV?{cB!F}㓩ԟ|*3(a-UlWlOT Dv섁J3kǵ֘Ӥ!;^#fU.}RnI2 f$*ɫu9FbRG5X-?m2~'6sQ_=$Y–WaZ :1kw鹁p$F 0Q_ѤV(Uʽa21:xYl2ӡ둎^fҽI(,zࢍY/6< s#ReKP2Ά(싸}"\炡H$ 4vH| `ZtҹtG5@wx ~x!g;JO$fMܹ=>Up1μZxrXe+hDoX&]V c52@RhG`{>}ƁRqb ?_(%1X'YVR|ND$5UKRO)˪7~UQ}:XN?y$LFl$=}!2Y$S|dCNG&H>٬o1.v5l-;LcD *>*ё3j)Ŭ_2/M=QDnŝYI+뙔^„+2b " mq֝YoN^|3y70e&$hlթXy2nk6˓=0s anDXhZ:+ iZh XjV1hE 6]]-d=~p07?oĆݡfGc ] Q:E-HW~HwqՎ섟f]?3^|jȚ;UF8G/(:q74]~aNc3e?CZ{Me0x]]MPpv3+`<8u(fF1_t2}aZ7B@q-T~mDzHxgǍnhTA]sK[q-;_sp@D'xDj3l" %HBPG)[ebw3zI2 .ͽw֬~ X;5(yAT }tn)MxW^w$icX9!q`9h6m?BqŎ!Ot.zsZ7Bq"ߌ4&*^9sv)ͥe‹$牤w$ڤ`R?ʒ#+EZ2Jڴ9w8*Zt 4hG̩`IVuk@#ₛ֮LӜ *u7.ď' 4 oҴJhT :`j민\_U3b57+ߧH /#\6JT$% Zp&9{ָ1]2nJ|yNfbb .((2ĚVŃTg+05u;/{oL#e,}xr+u;P'NS qFW=4e,2hKu&>3Pv)BWcdlu)dM8U/'Kvʮ2A}lWX)TG>pا߉I$EqR)%Ҹ/룿YAnM"on+iQr `W?Ap͓Gdq[;Ð g %&ۑS8MHƉB ݈4eu5.Ƹ']ĽLP@n !܄d#ЌZJ34(YեMg#j=h|(Kԝ&mQE~RY&\4r\tɷ>hQHV)FFYiqBrn32\6E!g~3*aJ(+u6OtC7OtEPE.1pӶ}CaM4xǺO@|AhoV}չ5φ2Db1TW\&@;n|n>JYo2WkQe9.o'>+5#q-Gg9{~x IhZL2f {ٶ ﭨI4'-M+TyKq; z͔!67DW,o\P jM g Cx3l@~:PI!58|8UTˊt&2lj0c^na+(PGҡg ̯2 LP*lU%GQ'8np/[X` ZmQf _3GOLveGHDN;IZtL Gg -YYѤ$,&ap _iMELot޳~!|pLstt꽮y BMԻL^@W8G5uEFb7jwC؂)%DE؃q\GVɒ3*/^ޢ^0XyY}úʁ:ï/e "pr[/. 9; Q\ 1 ShIn{GF?f凊,A1%ҮvN+ryMfZ<2r^䢳y2i8vi?aJƶNź ú٫v*I_>$ȤM"893HqL7{[pՃqr(V^]|ϥ%5Ԅ\2*|fU-&&rf͘EޕӫCi...٬EGq;BbҠgҚ4 \ovz>t"2  Гj~$?6̽*R* [=%Iл|]Lw5On9"&mz1eIMJ1 W{:>< W3bLڽX肒V<{|Z2qiX|ggZG70s\4%* הw&9V+ PKK LGoKPF|9"xE;^{5$2{HdƱW邺IT+ ,.T:ctr7 Q>reʦAAc2ʙΡV=d;.߂.q\;ϸ*!]U5gn/R#d7w 3P>. FN kj4 '\:]놔UE-2W>@~#VcƒsMk4<>h~N'DtZ8e﹪j1q 5pSiO,3G{WDŽ < 7&ng+ߩ1EViE*k)r\+U'&UT, ew%b\ 4鶤+ ;Z᷉r+pT*+_7p8G놞j4PuR>:a)^:9v<OrkPzX rTNT׫ tujUjeZm̏XG'DŽúHrroc 5TVy _[;؃8^pJoN{@A SKI|M$8z Xd?kN m 2[l8m_E=sS"`xCp?VL\auq0vvGKjU^4 [k*LDcN0t4'ӊ[_;W;St+ou֊Bm,dg80vO KDNLL__Tqx"j1|m{s1gSV*kꗇG[!t_lt 5 bVw(*:pİ2V<< 1WleaPȑ $iYi dW9oFhc@}@n-m q(p-LGh1Gr|VA}weؠTӜ8 CP=I3 y;꼹3kɩoY g*'89yR0n=RdɦFR|~"tClB05)~OcT|'Ȑb6 /#qد"jCXQOIE;avʺZ%x-'.ޚ.BTވq6]^?E1$t$B3F$Q%1Evņ60>~\OCNZ~<3v'X%tC`+"4` a-Xx%ʯ16YU!8c H YA|l`S dYU9^FgU7M"yu#~wzx`G筝/BͿ>ӻ ʤ+ @Ƴj>7:S^ka,זy5EȯFX l~!2$>Bb)蒿.r>=O8UMlD/BѷAJQ'Jn~; + sO^~%a8+nB vj~nmA6C@Zo"qމX M: 2g'NӫEQ,T9pXDL[u*`Cc<"yE# $Q$37ZPʰS5@}ݔFCF+k4(DK)R=1Jխzs`F,G%cQ$ԾܕHJH.(.& ˿ȟ|[l] c *D{Q`OԬ7)8z1!#[# p(L@6>8e\ {qLBEf9fdDQ(3ǣyvrtB [fG7q[d>BLD"}YAY 2~ LF/ٟK n nWDqzʄ8S0iEu~gx<9B_$A~5tCY4qMSv]:&˥~5,QRd;>[ F1'E5PpȠGœ`b9$󸶮516q4Pmr~?m׳/w瑪 zOҘΧ"?6MsCq`0 Fͫ8 >Cl^=d6_2e X97P9ƻs)H[.%P~UEʹ* vV]ԛ?ӤFrsMe9J ojrrf*L5rOeȫ,H%֑D@Ӡ>ӹ E'rkoa*#t0QGץ#GDcB, >sC>M䩎€qV whqHFd'wa*XozhG.@@^˭yҐW96[f]5 ;P<%J71FAx0/DIBELx6aĨ^H 'sg9v[ K OpQX ?hF0V@f7ҤjDws ֯π8Ssdot }JR8?+ZA zл8$R1^pyﮬF01zabϧ[MonHce* _%Psb跉 r ^n0ބ #K SȱS%ya,.K@j2ׂx»MMgx!?D@:+KZ8ABg%,w_7`iIX<zi(l4&ca(Tt< 9 Lu $IЗ`Ni4ukw gВgH'(D^$!D*17V}[;[#@ 鑄*ز3I=LR]V+ $Æ`_1r*2^?Z0} xzq.ARzr,1'\;8/r(?X{E x]T|z#Ͱ Y~_lk^Mr)nG*/K-/ћ͹D#@^/2j&Q4mtWԉQbL6l:# b9S[ <e7CFa̳C(L~vA31w_%ʡ4+X +<& ҆~ 3ex׆Ԝ=Kk/Z~ 4Q-lw#APH úqQob\N,_`ݸ QC%ϒB.jN[T}z9/&G5W7.$H"Q En?geJ!bCíkTwyw>y(Ƈ}<1»yITl+ç5UA~ ' 2}괚kDQMO~ê㶳U R9r ]\cY(S.;sW Z-X_ߖ}ygxR; Q,dͲY8?'N cšIvl|v58"xA#'"lId=i>1&UG>{ šb1aNhfWRu=tKA^r'Ɏ%bucRE?40#8,?bFGF=:K3g*Q:3:H:.ETG*)Eִ4D9O@p\(_V)l\۴&_X ;ܟ_uPazn0zB.NK.Lvƀvl"Blʱ-GHKoj۠M>ja+rJO9iݑ;Ek:mGCQV~Rᰖfu:hbyޠ1WL@9ϣr8#~7 VY4 9 +R}cǐaGM1aD+,G`_uss-:K@Fd,&=1o?]=ϔ Y]P߯=[yh!?פS$&z`j0N쏡u:dx[=OC EZy\OF;Y}A.TI>>4#װK)0+wuM ˮXvo)~j#zk :[ȸ ]~ր.LS^$3#9 g1}Dqs ZKA)k()0Et_Q~c]&p FH>ǁ{VxjƐq pp&!X yHف';͛.YR(Yuy#+lzړap[=\>U04F+| 8G7s&c'9#큄 [u %iZܢ|lg̶B-(\›%6; 1:u,y(N5\`}0T< Qp%m-G=5Q2'|I"dczlхW+tSR:'7y+DG.uOͫXN~-[A=) bsn/!Ƶ׾LHxi{n:/ @dv iM^!sgN]yfҷ?Ŗt[03xlmSH_zuhҧ@PuVQ ' 5Ű/ 063X!(ǂs r l!m8-e 0|ځɕ4iadl 9Ӂy D'`2ǥ- ؍/ daH<{,\Q&T(VZN[<rLUrEXE~Sg!iB2h]RHc2y6.> 6}Fqɽ]6ŒAڅe]{3˻Ҡ}77UվH-_s\cO5]`<#4r S EfQi#kпN!!bo\AVH3X?fuax~'ВzX8HYv) z| h{{OyS($3kp=ъrXSaZ{MHz: a#^-8yy~r @W[ mWѳZ_v4pNy 9ҋSkXfkno6}3{3{U)C*#4f;gG4P}I*T{p=\HUZ4 ZET=紋Q r .BX?9Jfhuy_b0vj' ᕠfqWT Hu5L6n%)V%g oI2T6134ƀ63PomGVhd%Ӂ^Ưi!fG&Kq]LsQSw~7On!Òj613;-p#LaPNhqO,p-k.A _Ph0Bl8X 1͙GN`~F-nK7 іG2b9 ~;iqjC|Hbbg|KṂw:"ex[LfhN˜ (|pb?t`xq\42tBSh8ek'pkن˥$ ?Ί?5!o9&屫WB`'rfWh&p7:jnY+ ^m OQ nJi>٤M|oj""=J: ; 1; >حV>( p 9 e"Wv=O< q'3 DFNJ3aa*g: x$<30Ų$KԈ=$4ti l$S^_1;k%aDWVYg{acZ>ר ܤ=p{0bbLHw!QDʍ68u՞GOKisжXsz#Ujq`gUhK9` q@l׼Cb%{-\j\f.؞UJdUxb;OAO EjzU,>'=p/vRGٹpSf֘'d~jF+g4.T+6$Up#(f$-Ŵe)-S|O: 7ğv&^J * 2(UחIf|b@WHL5'%?ߘQ:F:((=M~-b>M&N˿D=^!LVԾ#6ixo.KФܪLMqpdM"0\I )ӫX.Um :l'8:BW,C[?uor4;NadK~L\?i﯆+5M t@ qZh:,,8.87P;^꬈@d{NRtߟkxtG_Vȇw) D!Vu@-Ao"~1oRϺ]gAE`٦) 6̧;{jyocuM9!B:T(+Yd%y5&H]w(`qpp<ξȵA a[ kA$膊6D SF#j뗒X;5VEq'=`27 Ιԁߠur o K\6_q rB&n`4VkWM ׅOʈ&^h-œCeksroRAw:")z VQLwVkY"1)fqsOZ fsefɭWS d1TYIܩ }8^jlHn-!g9u:abM̍C GI(œT&({:fCZ'bqq &p9TdK rG)-JռR׉]k!8úojE ` IsvyFOITHP;x*u[vx7}//'Ar+V 8㮴 |x t쥲RŸSW@$5}(]6ѠTfL3οܩV0m]w3ؑYV(|"T@ҁq9`Fy˟:NT:K[rO]swXU]Zkb&+8nIL_V칋wһxD{F:#X~ 6~Wna}:'e s$}[$?n!|Ha>&V_$YdT!:1Ca8[4j-تԺ2oS?3rU:5nدմ{M42x i@3}KP}B KʕorO$yvOnq#,7y׊ BI@(0*'# {_FHL#צ%?";q.*F1m)aDf_m0̑ _vUsi9դn^|XpZ fFגPE*I??EjZzu3ǯUuE읎9j(NM;Z}LG,e+(_fMo4uBC9 =k}?Цc4㸆Hpb/iV%[*vmy_IYݗx5sDM%Ϫ:y"OЛvt]P k A$ k;e G8 +*yc5bСR?ewWB{qF"JCe1\6Kgp,Rjm ] Y?< ,Μ)q,XˮA~aS 3GAS!ӱ,!F/R]w_p[̐|q0Dy!&% :U ߋksS+?h9Fܩyݚ-vlFgDxG` tж$S& 7$U" j{/_hZdL8h[k[3E \Wܣp;^:"i;+3eM2X٬ n<7|ipA) 8`Y=i0?(X5cLr]llBOS@zOLU= !X duSpłEìNSNNAU|3dTQI2oH isM#ZO$[\J* `md?x*EVUqDNH2G7<`@83 wk3;v/lgրK lvLL&Xq *܁N7B8=&}(D0N*(^ᫌ<2C&%d`[d$瑧Zwi{*fdgrfSD& Z*Fa_hOG`$E&h_BnwE!lE|%%+hKZבX4>´na(7=җv@See,-hnU|1F<zZ 3]/ ס;hJ`V2ߝEe"CKLߑu$b>Ȱ~зS'3Ě[ `b ѩטVļ/?4a: GܕrT-/D-&.)lRwX[ ~I}Ǖu|i;F@C&Vas#nk?;1'AQH_Y$ ϯM ąm@*ZI&Y` іCRKL{s {#RO@OYg_?"aq}W:6t'u[T;XP=Ehic[-6ýlr!P2 ϴ%: K/qd( 69Ĉ{_<~SVpBT^`ѵsēxFu!]@xnAm$7ROFCʸdŻ6H5`V&\VAdDE(*V|zD!FIpw(1色8%КeHg] bK3]#/Mo: =auL֨!xe~^zA2Tќ.qj㳧*Ϋ2 P,u(Bvɮ<0:fŴVBtw@SǟׄYͱ߅2AdZGݡk.Wtu!0Qbmִ֔ '̱s;p*;0^TIj&Eyd+R(z065fV2qIYS-$7FncuiYR48m.Y;Ʋ{YAd"azeR%noٞ~[Bewnk~cwg?9VrˀdGzO<(&=ZXfSoPiufKMy0VMp WU ߓ ٸ_;b<(^}V.WNd Q9'튤ג8C'K F /u?"{a#E"Y!)┝z%^ݕ# A"f!/Յ!"΅9EYQjUzyc?L#e~O$W)3ڎu?21oܮ~A1j)pλ3x$ς~fl :HxA N*_aϸOp˚N<HWDȦ҂x{9|<P4jM{Vց=ї PM8\:; c\,a+7nj#YfE#§[9ZPn0V@B@4=\YWQ#Qn.o)8RΒ>uõ[Yt\}Ƨ |~6b, c7N;ura,}'5_J8*rAz2 &>iNK.XfsWbtr-^hC?Ѹm$ˆ u8'כ7Nɴb犷<Ϻ:JM5p{aW!9&b)iO)NZ," \vX|>,M-/l4kVRcY{̬v f^VYsz8nmZxbu~ǍߙC1Zǎ_*ԙ(YtdK++ )_DuDY31XaH\M ^~`8n0:M}A! \YO{`Z} զ9R5&T9ı.TYu2@{4.H?>E a+|{_EodѸzo;œG3IE6%}v|ۏ\Wn#>866C֝^ޅnS|Z&ZC[Lm@i;o w2SD8PD9\ B\PC'5ҭPNKϓ,dx+d48A+9gI!8;Brm~4P{x- ֬h3HϿ\MʤLg*qWOӼV\z4lEuqrlG;µ3=wDec?Xwœd4T$${kPaC; hg76I' U 77MHViJ'RetJca];5tW`ܪ3[#lTeƼvLɮR؁h/S0 Ѧ&_{~_m7QmWb0L`r~z9CnQuhgUl$R屪'>IDPo'Do`OGՀ| \ɶ;Μ1vRYlDŽqˋ!Q2aq^lW\fߤȳfj'0B{jieb8W̴LBm~,xY큊KD`_yR`./Uj~&TQL E+o늧)cGuu50X$ /Y2@As|6+Vjpv NC/"fQl rF WVrj?xeEF?pQ@a ܄)8cO7njꑣR2,Z{ "Xӛm~ld4C#/LԳ0>Ojw$*w;"mq/w_hu4u HXlɛ2#W[eHꆼA֥ x' uC*{;69 LY$-;f<,Pm id}l2$D*_1h?OpߙNEZz pTdh2[߰0aB*a_XߩiW}%}C!_VPp)9!lF qmG[4.+siɷȓG`]I cν0%ttaW/텡jƤ?4ZdHqɦq!0qExo"]DH(PaΣ={5;!KqÕUQbcRbMMXPxcv e|ICm ̈́ɧq':.'nlqkSߛ9psbP?>|t6'A|SfLn2~Eys]ȏvd3B¥OcC:hH;5dg7% Kc9N h Zn#wz2]\z\UASCC+Lm9kJ947c&71HYz4mj|SL=O8p s= UϿz 5nڔ=.KC!=;t4sdf);=.IdW[C%bn H!I 0FXs^]̃J2N :9p̅F0I}ӅI^s?35̏z΀N#Fqc|-۔RIGr 6Qv`Dpy.^:17\ HK/IbI辀#@,1c0<Nc80d#Dkic9PD_6 ī5 ϴ:TW"_ e)Vgs4Gipg D"dѠU:ڔ@RQ _4 :F@h'[=ĸ?Gy%-PĚ/:I^ thnk0W +a|&>@3C[$-(lUj Avp~X+Qڌ_`kל[Y$fU?<*1BHpu EϘ\"*x>l-Q\ q ]~zZxJ̈L.G^J|BȚp0\|R>=k:o$T\9xwSwK_dwj& &jLa)ˁhE x;lV+У>O TjwQ&x_׻] 4|!vsTyHxħGD扷 |HJ͙w h nkW\Y)ckv'3ȆanZR[|Gujs>K!g)r}}[RDzZA+|cO[{Kn:J Q֧낉H&7q3e#ay%2 R|IlItt}<ӕjl{8 V*c_ּG0j' *.[7ST%_b)̟Mॗ`uAb[:~m߶U ͯCRCF9)ᚵ&M0Qpdq&)9/;.w3 t!e\sAӼދFR5;Dh?VX[sDpnE#Vծw(bvз'3gQנ `=ZvZ.u:TkOTqӮl=/hqD8C%VtM⠶*w3Nӯ8cFN1Kr'yӸC@wKp[0!Swauf5o{-m`M(\ B_(}!uGVPO`_g\YqE[ Tʄ(}= &58Mf+3Vj,*y4Z)9WP?"v%0ݬyS=x:+628:Pm] -*W7$= |W|XfNޭi]1F7ASGqvX]2.A@݂Vd?^' o + \80t_SߐD&$V\@c#PdTrVvߌO]vdbC;hJHkfH}5]UBwCڮ3WTZ)M͝-E^Sǣ˹yNoߞ*8mz"t; v&muZ. Ę*ha5ݻ|"s,\\=m+ߺrhk}-5h@Ve11 DW B5[ sDJQfFa 9m9qm󸎪qoƺ:p k,]߯'}['zz7GIɓs-wkpNu\AaHbx_lԆIn߹H͋$PQX*.&{eX%[Og)sSmp KDauxHzĜxڔ,%2SCuY;"!7l H,_l!\2'Dsz<0nةg٪={G ,#L׎ vJH\6~S[k}jXL|n(|Xo*xԖ|0nDߟI_}~Y2,3$NdE;Uɥ C4Ӧ^p+%JuC ZTb'Z~8&$\2Sѕr#{M4 k8 -Au_0orph;R :L5vtڶ3УPy}w| i_UԗvCȰP|kxd!;5yC^T:X0Қ}UE_o=}{ SMgo5/pY,lV}g70UnE(0=|:׬ͽ O` m4U{RX)maZi3 MgZH#4%O_,]Ŝ 6:0,"R9{YR.'`X˥]l>DɼX4PXÂo5z?Z;bǾSGEm$Y;u87E},q\?A}*F?QFzjCPLikkQJ~r<9\ YXEZ )1꾮SW']~-fk'ʼnWmF=v3x4.\g|[`d_gzWw}M,A`ރHx3W\ *}[S؉호08[fX'jgZs_EiGR80J`&6(P5ѲTݸ:?4S8 z8B!YcjG,x?0E:O! ^ܪYbʊ)ē#6Lle$/,OScw,8Sg(%a@GzBܷQ\f+rAbb+1Ř)qIl$^ւF],iË(+]ŧʾ .YAM)l6 )㠞UըмY(κW`%g>`,dLDS ƇZ 'ecUAʏ1:zo<2V;2@ N=3X=KKyI)ؖajNc% #i*Mϻ}цԭa:@ ?8Il,q<+L 8[HHV5sJi`b, [IGunnhD b`(__H[zzRdT qgW_ /Էc)w0ŗ"BSɢJ[D@ͷIRۣWM6yP~D7?qm^; AJX`1X2O>0-l$9aڨnEZ-1<(r-U'پlpXIP2nA=#OK0f7eg^W~5xڝ3;QF r=-]Q>b*z٠G\GM)iL?8GS1pRCssEr_)/W-)]U=2ԆMm6pwF14, sb biL(W?q9.@ %*k#v6g$ x L %hkC$HkL&&iI#|~wWYC{B1#ob3hq.ө_ȵ+Eϙ-#nmABQ? JϽW5K-Mo4@R!_P,7dofRjw\_yk>8~0^)#B4< '[h!R14FT- Jw(:GGm5уZ3ÇC A F2(Q c|1gu`(|i'aD[&G.3AviF3_J|hKwӪӦYۊSvDD8{EBT&a!VLHV+F^"|J }ˇpfZT!M$(="FG+T_djڲtђޮWڵ?ȍ)W0P~3,asRvm~_7^j<]e9Id-O_i!P_]6jNIoGʄP9{5׃|9w2d;K2uV&,؋֤bG/̨"aIx1ib}ea hmh>5EDFx]ulp/0$:x45|=p(\tyZEKlU.#&{1H[2u7Z*g3-ݩQtùs|bO˺eKٍWr) ^;z52 7Я3>9SI 7zí&43+"_c>_NO>O坤nFrnYjkq(([qFF50Y AR GQ5-%B~Ve52̔\ MJz r! _: U|xr}y@P˛V7> Ƈ@GV׸ Šm"2_ʚ V}e*DvrL76fcs4`H @u&Q\D:v-2C鶕"?D0mrOpD" _d\Z.`QWС L]p'}w*uvXd4/s"s2kra`p5spr?g%-ۨՃIMI_:]h%mm(xs@qk:J'tG8:Hpت܂vFt}0x;, /j K*A9 ׭ec_FD!£yVjtiz@e͓{4Y,Ďscp* :Ό"29,X)VB,d.mH|Ιt1̀sj9KJ;oѻd@аi?Fgޟdߐ.(DqKYG1[GyY :|UXHSvgAԔm=NGev)+aiK̖)L#8\b$9M,($$P% ToNRᄦc C#n݆@"ߪyoZ]^@-Q!d\N8!]cͺXϭcǤ$KGZ@/~yAd_ T!"sVگ2*ek.vm?a! dٳ2s`f>`#U}SZ*uYw+GVOӞi){Dz\ Y+KV imHnкnUykm(qMhL-6voF딉EkƣeQsOp֍{p\aB=8E < $sdTË}#ޚiۡ>"5f} m@枲<|g'Bp. af\bץ1mN-|v*1ϝv+lAܗضDѬ$W ͮȖvwW7UT{]v𽅑ʎ)kDgSEe}u4w'-^\mE ]vO&nWkca5?wJtdw]!I7|-/;p%^ \<#Z\-^;>(&L…Q)DlbuR`bwg!.ߦ6 @@ +9kE+:cl^PxUm} *`LUi"\l졘/,ۤag!iq #O$o 1|E,WKu8WFa]SW c+ߚD^' so7.U1:A-n)K x%0yiIl4fC c^*D M7?m&6/`\5>}d_!@[S4|qP )lG`hx;%b\w,hjz3_JIYi i{T&O5ߤU2JPjA!z8A#%u?P<2]EaZa"33vАG5DړñБ xVvALnduW ?E>]s~w{(^ FN=;r]`UrLV_x-eRXf^fe)XanuG79GY )KcS:xo,53:v1(=8Po#$ :'>npwH-ɜ'=r?HH:VTd[Q*[)0mZrqcA,l: 2LIѴ@e G762s$Sc@E#i,WA\np? JIA(FR iFyؼ0E; Y[cp+ا6IR4c%5Z#+`<#ii D413q"a'hI(CJ’a'֬--Va:Y}|rwei>ô!e2 ^o8=,9icmF QH%,[z٥]>_ܙc%odnʙt0燚"G[Mƍ<'oīWIYp϶(&a?di~[=K))*븬~x^\WJ?͘i"⭃(HS''T=n;6RymX(Q7R:ͨ’u1@VDMH{4Ցya-|g#KxNX(8_=Bu;zoakuH{|9CK_%%knbDJk-A^%۫IK9?8 !OX2/*D@sȂ{NP&Apϸ.r)s=Q ͤsΠVUPmܺ[<MOw|qdc68UvSGz Ƀ7?*c+B3|qEK4=&Z;!* )),D_4xg8ve& lާ;?r 3,e u߮ݽ Ǫ5i.ajG#i!i:i> LfHoEL=^x ]: aZ"X= "-\pawqsvߐf* #u n!8aRB%B0wiSAuoN[7u\6ŻΠNvI#lk‘;-BNجciݘJ =hi2)tSzttي,q\:RE Nc(.xkN+sQe}&DSh&yw V_+ 9di%acFPuUŖ=Bkhub@JIQ~(Ļ}O׏{~,H"~5b|ו:]ng/'ݶTʼnzwXpk`pbBiPqL q }`!֜Y4~y~mhӱ6[; RIFb`oIKX~*zH R3mקqqKy¨;\vKr:94A纂 rsbш* M*4@c\86O0!z\dsO5mR:^y&}1Oa pJH!ާ CJA{t i}0G/&v*5? $tJWIk"&x%uҦ1寫L11 w;WMrB*`6Mu,Er&}$?p !^#Uw$wIL|j}U pT.lD d9'JVq%q D ojWB;A+!oRW r\X@Lj<+\PfڲW?~ٻ+) CU+N-$t 1l Tw'>RGq>2 K\57~9}oPc# B*e`]~6&M5R#AfJ[^Z_yuўk^@v{_ٮ(R՞@ظ<OaCtC-mn%ҵ'hU5B2S3Hlş7D"kh#9Sf`N?\B{%VY̫J^~b.e}_fwDjȿ% }l&n$1-FE]r'{pb6Gsm$~sXbQ.rá޴y s?(OK5MYǹe*g3@mHMh:U0;Vd [io&C}뾺wO D-]~|tOɪVf2 wq=N6]@U@q1x)u=Z1Nw<@2}vSڷ)^-/rOiϧtƋD I "C-M2T}@gւp@FEs/bV'wM%S B5ऄh qh0q*M!CoE? “/oʷI㺛Qo?0*l`GZMCvO#<лsWUO3oU2KYm5Vsj_ 3wWU.h@Ԟ $z#$oH#*8p$GQy9qO}4SWy:,Wvmķ6 f pw:G\tjiM|"y`!h7;]ٔ#OY#"ۿU:hJ,8=~'w f} Ē3UD*CO*7x@('.QҲlW4 j?ԢX[]V\IxPiuҽ7Ew9G f,N?vNJChc0>-+v 窥WY]LHM!yԐԚ?#ca}{H=Zg X)+oUH$ʒ^Sa0:vQ4 )k!=g~ncQ-#Yk|e~JRj6i$s;iʹM7Y{:?n؎?0E.kFK%U9]-F8aK8EOF YQ3b4U2z֡I7yٝCm~ykCmZsl%dXPky8X`eW@e<}hu ÜJS( -QhYPa"bؤ}2Yߐl&oJP2N{rU[*{>/6\:H)RB!54z5W/R[1JCs;hjÄ.F b Yux` DmJ2 -,-Vj@)t8\Ce\r9vj)u?Zye8^&KR8ߒ>9AYVjl`7ƻ0' 16YBmm(\^ +#ƋoA3"8!z`[tOktU2 `48 I JtWiFX#zT%Q6gKhx`]$*u}+kda1;Tg4[/ O&l6q-|GnO!U=PЛU̴zou*f5}2,2RYR>J6.[ZS ]K4޴[azqZHx2u&<*P q6ʩMG?}8C^$ ڐUK*vQZ)pSF!v[UH6eIA~Y*2t)CS] G6%qH56-;a 5?Z ə;';Ձ`"rB S[7 bVņl/p k'1~\KѦ!fmf+Aaq|3(̿Q+_rK[VԸntC"[A]7(,MHf52ٸTݑś*Ā`*  ب7MH=:V`()2Q#9;έU\UdXBxg \|{Ka)jSe(U7l6YPq/{J#![a.~᧊[alORE#dӢsۤiq>Eɤm1{Xƿ]-JַJ{ Vƻ$=| WBWO/e!$|kD1RJ[t0L%f855c2n _x?l?g7!Lc¸I/u=,2ɯ5bM.RR,3|lڐe)#X h6}lF2(T>|QV!%9aj sSG-V&v;qM?XEpr'z&6Ĭ ;$=nCX7 E{#4Nfq!b?~ӊ` ;|{.}Zf_3[YO6x eMy/VWzLٹ#VX;I %l ,f>qd N(+65[pҀY[f: C,)h6kPOѺ@(\ܷ VtbN bYk dž?qcu,(FVP_/ 9*\9 ՂhfeO|粌d'dME( b(ckOi< {тAu+ISLtyA:tMHqa4 n#M'?j`1Ƹ%}Ϗ+28Yӈq5ezh”#+oy 3TXm" /աZ0NYbH;c&%uD ,.gڜV,2u2;'v(<kёgRǥP ^‘x!7u6UH& tHuaZclh'I;Rgh]b}Lާjy 6+yHǴ.&:u=V4hazSx_+{KWO]zbA,N]ni6=}Ty;&ZOT.3B ÄĈq筹Or2Crڑ˄\9R&=q6yr{'q[:tZ"(9Uq>Dݛ~V4aZhF.~0G@{wkm"* R${ PR\93[Cڈ?!؟=*QvtϖS{f.oo>MtĿ*'[kg+H)G~69k[n2űWG7ԁib8e-UՁgų:\~B+aGR܃Y̜/K,> 8 XMI"{QrTsI? iD=? 4#khSCg(8 >mg=zi,&]9 BrN_ --ZIhPt@pNBmËhޫȕO @ijh z )7C E*%ӕlԵ™Pu.;M'?R]ߪ X d^ÍS@@(PN0nCkS(=ɆH$Ed2:@kCU8ӽol9@FCo^2_DF4~ѯH돯$-vIƈPJ֚G B j*Q*?LE'+TO3M'7u&鷆Q;sbTĤ+9qy{{uجFo\vhqVc?ԍ)P}YV^4Ε9iߙjV F-bP2f ;' {>HNn bjl bBH4L?Y6.ף!F^UpJዉA_wA>BL7l^g%ԣ^RH|`WI sw֕\IK=R& v^Du۞7U;`= ꭌ4\^9kߩ@f  0J;r6k:Go>O遑{0"Kw?j4v|-IfƒtYX03KWg{m" ;ok c@Hod[Wg9~K5\T0g[L,j`ؑO`L 2B^hd^A"Q8nf&O6:(1SD~PUwBi0n=]C(i,G^=wˡu'Xɉ1kp?;B0VҡOߟe0i'y;…p\?pt~ FB G?nB"#? 5_v&3-i6(~}%뼷/5;#/D'aahkBvb?ԗvR_[B:#lB#-v(Q{ Cp7V"hu"Kp~*煸HfebܼtZ_CyM.gL)Szqn6D_LynIƒgɐ'arR#-Cl<%XFp$_ݻYkcڞ' 8dy*-5׮q}t4laFRƎ{a|Jm?[]XWNYW/IsR~^ a8p/T" &byր]P3ag' L9h44͟19@AaVv$Ηh@?W gEߔ QڦpJpCzRКAU\>n-s@b w0K))O%-þ#|ar~CJn\.I9A6 -6rO!pi1n/P̎ufo kvZn!K DS!h|ny0y-6#FGoӏbӠk^-xypxl¯/{[p֘AilᙟDtqىKJͫuT)>_zuakd' @@T4."K*=]P<ҙ)}_Tی7N`O}v /8xD;?WbNLz2K=07j<~PK!u~IW&alO 믿MٝiIEq 'Pd[ 3r1ډ"2I{J{ͯho1jh^ Ƞ;gCeatKiV!-DF\JŕɸO>Hn;7tF~hCfgըQ쾆ͩEoq59BkN?*@2N2sVH} 5>;*uާ'>fB~6JJL zz\Y?f%;X6#N2%^wK cfQ$'M4s]M~V}B'NxwH =JV&Tس4ڔ-!5ў?ՙ"arYyʁG-k:gNx@˰O´SY[KH \ ieoBNzfx#LW׾$$Fs#* n_;VJ/-ZFUcȒ+K&G 4˄>^RGu^Xu+Xbm뗡|zGưm&޲j*߷h ?K57`\#aԑ.8"-H x^[֌tDŽ4Zv5S2LNϊ^^E/lhXbW u6qo{+Gk$2_ސjFVuD(3aGaD/׵ Č2qNjl|9JO}5axKhDY"OU(YP7t4b#CZB*}^ Y &Yp"Ԥ.`:mJ$y[+ns~7B[q;Nf߉nN3Å\v:$3[5Xu+2C/oL@G>Ž4$:[&TH K0с5Weg;U |wadJ'͎YҵDw~D7u Q[WyЋh:.$mx֡vqk'0cgrmQAaTS*Ku:QJso"cZeb"5u SM!hA/Րg|^!s7ʇxv3".R҇J.bbQۜk}$gp#t7똋AUffmh[gvk`FBc 6$Pvzf[Sv5 *A{l*>=Ufe+ kQz|VjK:=Y8?ƖSsv-+tcoFH=gxR4ZK^0o13Gj`({߲*v-sDY6b˅őe1(_ 4ʠ%}"×1Ha<I˪@T: L`9` 05fZpzv s#Q 5(x/LNϤlŎt UnRgt[P)DHØ,NkB|ea~v "oI@+?FD[8nƀ_di}:R\*s†L^܏_L_; 8( [stlXKF,L+8]T ͹K#Y" .*O͞LZ >j3Aڌ;v֘09LdfVوo=NDHz,!Φ,x$SmkF,ߦ5W ^\ T18g`*J֑I"En"BEȬDl'9Q OWw}Gpǚ}װ(D`t3&L64>ћEقeBB~ ;&OWg+.-AL{=0 3SmҏLb-6 ;,/)g~5ITOٚ$5,(3Vi"k|oƊJakEu+d_@cBh,: L,4[nfxz4ntkMmK!Oʲ^vMQ PەnY| eI.A?8dUBF20WEn#8 :8>Y~ hm"U`,iP+.kzc!PH[VZV VG}@}ڣ?2אE4N p_7m^~ڰL?bơH9u\zX޳heC#K(\y-$<%'z vPp[.7Y4}]iϿJn4xTq tO^_d&ia Һ |l.b*Aś{8>a9L 0i)P EoϤp2Frg02A"M[@_<9>E ],)iϣ;im_EYh|t.Cn@5#-g;x:Nk3YN>C`!+jzϟay1-tawtdۤk|64Oz`6Cr1NZMVa N=-N➞#`S +_h)#ļؐ:i]r7\n_[b̿Rg q,F\td:o?J`mr*c[SNi)ȊfkytI"RauSw_#Wx)_ E^^7s:2`/Ch+Qcݎɓ+MjaG@7d[yZHvdjQ16W%zX51 ٧o~B&A+&ꎉ1|% @Q4goQ6 ?l;We2 ~ v'| T~[w%}:{FD$nP1{%h>{Q!RNX|a׹F,Wc7 5#`LWuΡJXbJ|vgg~[j].kiҢ I.E K>%{L*4oݑHL}jؑ }e{et_ x!8#]r^OFx(ׯfnNSc _U.iv\vxiYmk#R Q\yNz XVx<}l͎9Y0 L~hX`||Q %|ZN@m]TUTL[Yn=PZWDExa\ξt;^|\kXx'CnpktGxmPiyϲv3X!5~"\P-&S%ɷU,R kEӲ6r/fyzj7lJ iϜmKppk[?Nl8MGsً |?bwAbN5]5*0f.3Ãـ1f~󒹂6®&!TӾAA"%J`AJBUCWiZFNrO-૪EX;946hT׾~2O HѮn$ x%2eR?a/uk$g xto.k/w&&"F5$XyltnfJVmZo0KYq ٗpy^-?L:&rXׯu}UZ,!C9I5y[򿰭~Vd{x=>& CPm¹T/Z}y+>) _ \A6Kߗ{ϧ-å,WJt~2D9- Lb,Lfw%h:tZ?m oSjS!f~=S~<%I-2:W JђL{<=~hP KL|%=Q_98rOVn6!?0ʕ=B<(^;awGe"/765Y y |햔A#~tQU& }XJs{*[?ٌO0yzaxA{l[)S/T<@`Hqj)̏L\$ 0+Y/Yn|`/% NgJ(y|^jnQc`E|٬'c 3Zz`Scsk0 =Dp ovOca|su*ĖzO$ٿfd{^@=\_V@Nc/k;wAf U7G%m/eQBg)E%#@A.*}8bDjZ֓-xZ:cB+ Zcb ^j ڵi(nEs֮{jKVӬs6g|?y sĵ?<ԍE7V;0PU1WĞOLVqpq~qX =-UrS^ӿ^\kFZHy3%2&mӺX T[J4tUY>C}@F\1#%nޘ{}e 9hxx6z} TD~5(#QrZ?zjV<룮v~3(c G2ow@Ioc'yč!#.Ǹd؞c `HȲz*{^B򇃆O SH&N4a@c2![AqE4mԁQtp_4EPrj+>Jk"^E7[Sz#˙{¿Nȵl[O!O^56JWedeZ$+nf-5e(난/SXRVTN 2MCLվwYAku`|6Qhd+YΝD#嶩X^gCf7i8%G;vel8Tf#oR7zs$7 9J tHou6jT&K/b ߨWf0fk2I̎c=z A{|QIrd\K>ڥ0&Xܒ':]r~Ši`_ 4AGՆKҨcÀ5iI.Mo罗|uE"H]&l+UU5A-fyQ9lwX&%@M8Df;|~M&T{鮡y.* ]%jlٟ3?t.%a \r䰚 eB9}w-U ga׊dL/d`A,bL&\zQ|Y_RQuLA~Tlwk<=Sn3d ܔng$r A9'QVXzv9" aEާs+M:5Lj2aEs)uDzFn]fʊD&Xq=$ҁJ3/r-S%q^]ێSGG羟6|#ZRfQKBMdsCUqU8.RAa+YTK4g( 3ssyZ 0a \R+AfEzb55(.~[I?:.Vkm&m$ùk3v~D)ןUl({hm0,yJ{@RUA6. T%Z}5)qOh%I45!)ф\Jva*@(6nXS&lǞTcpf n&5b3qW[>q2du6[StOP\Zv0x[gcSS&_7UTSjmw+/r#O$He,sTXi%]ѹ$Ϗ1OAFIP}mqí|OQOFv-H)?N7]nS׷(a޺Ac5JHҭ7[WD1hRa&71T>p|~(Nߔȏ¡`Z{_vC8;Yy߮q@ҜəBv||/+ԅjx(W~e׼t(P x#obx/uk4 MTiH =k&(M@ 6-FQ%/Wvh7Մt)K޹ǜ^3 !Q%?xJ=.Cהp ~`uu}a==֗a9jDizZp3*F<1Oo 4gƐtZ|6Ϭ=#1L%Q;# _NI2eŹصC`g#W(%qAԊPmgڀj`EC2MS^yR| %ȐkhDp"ߢN sYԽLJ&GIF5 vP{7O,چ6)΁]ٖSFy5M2>ɧJ#BK"M!Sr}%_!.c=/gep1ْA Bбw,-VP܉c'\;Ӯ+P^,΂42iFa :U=.Utzf|LvaX3.訶*|I"bLP$X\EhnҨm\H}֐@KA,߀1T =Wpe)[cb%-Q8kGL[%T,URnK6aVx%%? )rK+, bƅ$x9:ֵqp6_AWsӏ[u6Χ늽9bۥja7uT.dD yHb5u tFUfͥ`LìJ2&DU?\ynHw:.\$/!̩NA8K,FȻWq~Ȯu oɿ!F˯m N{ N)dtNpT4q`v~c7%Z  fB?4qf.ǗV9zL*v7dn3J|i{4MKw-NC z.zCU/ݪS:{5,:LdRTe[xl1W!aR4aQ B}Lx,]Q#p)9%v+}:F~2FRRkgYS-~$H-(ED]zTpfU?w};Tx㧐R!|CbU8Ti*a?3Fh;Km1 ZelN%xNҏgWFV:ꀼW٫p8AMЊTn;c̆ Tgs'A3Fݣ`7 Jq$bDSȥXĐl¶:#k6ڥEKMSP,o0v2\2,1 iaI[g3(a=_[>ׄsk%yJqS Av7./9svݚ0wQa*yNqelB *pB IQ[@DU(m͌Di0K7}ԭpږ 3ɵ2`e pŸQ E!xO? ݛKL;#CoMÝ@4pšDB5REwmdңm¹OO_OMlNV+ *ӫI.m p#p`[B=mya$]/LJ{z v V1't뺰ښ>;H@HN ~^Emǧ$>g)agYlt=ȌC 0~ ha @ܼA-7ǚ{"w^ٖ*R fUM(m"C!2״c>J/4=C`jb` |c.zrHňTWAhsJFi6ڏX]5&s[Uue@wA^j=ܗݢ9t}Q%6M(""8gf3YRFq7} h#O k5j ʛ `#4YqR#;x[0LJSu4|@x#_$3M  RTHƊq(Q0#@E0YU4FUE=?TP}l^ L:O1J8K "err4.:/ vLik(;3-qu6(vBeL.d1řJ;믮_A!a1*bjӭaQh65w_|P﫬1jfy~MJE8 I& <F(+-3,aB߱)mry&СQGwjه\eB&eASE.",m!/hw{fox7o0hhq,"A q1R֛ɠs7ΊK@-p=B1 ~.2_m'=7MY(Nm p{Bq}W\sWSq7%&i tHx8)QH ~(T_w}@hU%BCmJU14NcλGuS6|]q!q*sXDF _)s.C'y6FTd(j-a&pqt u]uj=r&ˡ2ڔ6A#:)W3EU72v^4\lҳjvLj?͌s(WN5g;K@ &#C0@ÿr"M=QH)m։p_4YǪyF1|03JƄcj6_%I2$d  %pyS _?$d'摁.j Etk^d0%UPc688 'kysDIJC`L;F3yT-$ZlN~ ޠ}RQҵ2Mv 3emZ=z'\ES$JZ%2ܫcħ?M~G,eY10"ohHrϚXMyFELhxUm4%]rX"x8WB7]<8@,׀YƵ]%//蘷8#ɶBYj'XVJW- (;i5C鹵(+}׾ձr#^YcJ1zݞ;Frm|k1{P}|?PgktI){0 }d [ (LG8ԔB#:k@9Uw,Kʓkщ4pFE؊idqfB(a?}O$ΐ%czE1Y0czY]h$MmfWu@c3^rrI L\_^kkuU&`f\r3D]_9R>xu\ub《ɋ\=~pkT*#f$@7750yT=7Ę: TZ4U\Jx3:/cOl,\uSB!#4n^ȏ?{GWwQzW)F v |:Pe*c[qM,g#p$a!hy~,éq}#HL3 ŵn0kcw!>̚3Z"+m^F@G_F&Ȑ@fU4 KOЯ0tnH-6b C[d|B|=exܔ*u\oŢ ^!z߰>ǝs긼51/rYfz1PH "(_PA9G8d ҍ}$!moC,\X[ejUu#18hԟ7 $o6OF:e+hۈ]B5FpzSH-L@$ʈ):[ }Dڇ}X^Hu:sN]u[t܇V0f>DPXQn'8ycg;.HOFqαRHPy*SXedĭQ@a!}C/v=EI 5l:|m9g-ox?v IBؚܼn:@hv43Mol{JNf4gPodJ:}[!-p ua1C2gg*Pデ|D>@$DH܌ $?1)&^ƫq.VTDTR_~H*QvŶG;& bo}q:?wgm$2n"5'#aE*xs>%e:[ py%+Q"?'cv2dDzoŭٜHSnX]mgpvFy[:*PRߧ#3:[#"OL.^p=FRLl֮ĝ1}!9qA*оX%:HiqGx7Ut >м#h kfǃ5OoLQgk EXŨj sq6σ<g(FٜJ9 Pר. (##0'qGlL ,P'tF4'&bv+[Γ ރFFkpWи>dslM B%o+?*k ͐tn 4Kr%קT>^DnD8bLYʍ;> v!Oڅ2bW ^@8v HikBe2Zj%̠ך WӉSX <^ *!V͞nOrCL3L;r{?6O(T|ϥ4pVKN\.Y0<ㅌ2TMAelwgp}AD/3c-ҟ I#3 +w+a8VMN 5v01~`VqZXpxExٌ +8vFIͅ&d.,tpj &TW;f>,S s@h;pgzJ4Ynà>-Ivll]7)ҺT0 OlEE6K<^~j]K=q&hح]gBzRX|=p<}aZ2OUins?<*zFx dRa,SPW#?#!fgZH1[ "ƜN7Vd0@158pMJkx;K,XǹԒ%kIr3|EФqB:‘*{yq]N|o&Aͫx\3e" Z]2զYcq#YuEqu}&zƺ $66u|}yW]uda-'rw1E"O׹MO^jwazQ%6m[`:Cj]h@_-c)F4GyE ^VFuDiXޏI28sޥqb yqG=D8czUU?QjMi IbI%fk@X SBΗ FÔP>v[kǯ;t&n]:A7*WVߣFGJ&67KqW8fzњ!aY(ŧbl1d6njϮ-ZZڐv!`6h_igH͜ھIEKQٽљ4֧HAZa&C[6u4b!3f5_AZ2JAq.O d03lJK/P%Bw {ӊ|6ENj'oqR( Tyjyh:P\/țK(V,ɇϗDePSd2&li0g!ߋι{/҇[\BOL(<` &`ʁp=TcFe:{li ki ==U 9c<$Um'W ;NM?T~ȝ7 my |)D+&k@*Cv+Ӹ6娨&*ktU \_..@bDˈ53޵:y-Hc A?K8oqR,$>lf0W7N%LcjCm-r ٝ4EN v҃LX9.T& `lowhnc cQ=Ȋr8y<;۲(|A(Y$1Gw-V@նzj%#8A/`y5-[ա>.jW8:A;y+ SJOw5 0hX"\$T0| 2KNIHS+l3w7?28 ߆IwݤeKF4kde30X ̀-}I 8 kQ[vOtckOW_Oh8/mss\RWuۙGEc}-S,KC4tb$~2ΊQ1(y*VL~4 )Vh2 ݨ'v~x f#[h#P^>~Ci}bj=Q#znb~CPnc'OaPLO

    OO8 'IFX[7?IU~3G.컹!hEd0.@uܶ;mj .QH{fӍUL/!Upriէ7?-/:jb>۬U6,h9!`ZlT}狍Qf$ixU}8Ky.|6a]Yd] 3˰ԥɔJtqřkaK $!ԆLULVIA8/U?*e|bl63ح1ޮwp}p%]ф"7̅o{Eҝ8#rL1Py\GT(gx,{6FI  ve$dak.G; z`z]d/(0] jd-6?"'Q&_™u@)kxCs:^\/u~ƾ|h]?]/`uv8߿B۫Y%8yf~ S-ؓ|h5+V/Nzշ8iִvkvX6ΪΕQz |+0r_'o6i.~Y-,^S<4xϘs["њXo+'"!':Ǣ$nsHoa B\&ꘋL$F3@dvpMYCp*9*yrEDB iÇVJٜ) ){e eNB5;C7JFR$ bۢIi 7a޳5[61 %:pLZ̫*%QӤH5ը٧z} >S;GR;Utu?NJ}ZH#! WүG?vX (pH`|qȇ~"gat*Wҝm!yb&V:JDӍ gKd볡'FfqYhp%f?^Y# ѥ9 j;!o+[C-K=w.dQ*Vŝ Q k!]ц`ЁKUV &q.DL>C1= {v@eq4n ؜(j"@ÇQ>s<ܕ. x1Ba99 AV|f5-ΣZ;ATd>ڇ;JKUp^1i-+G|.r|3 8y 5@MCI,CgjxI@pU tl&k+vxYV< ۟΋dvJf )BJ2Pܽ(ԥ-טX5*FvlR wIull}_nL.&1gL_b:ڻ2y0^~D#*歑xH6c`Yik< Lݕs`J\sMfIӆ-recھ5'ahw IF;-1_ 7e\G5MOYq+JXaC2M "/c&l?c(PFEۚlLyQOg|.1fq>SQU-c $?U/ȯ _>ܝL$5lvgظQ.|m j12c9v(B6`po ϟ"V*OI:3r: F욓ǩ“XMӎfIZ{IEb h)-V8^pDS0H ˄1r6y& [9HʼF>+} ߓX$ݡ1SMӋ-ˏ0y 2GZSIYS;YYQXIc]!d[]( 'x,kaD{vzåz){*h0A$v&wa5I'wZ]I^Q|uTLAp*oymېHu:L  ߒ]ۼ2' 8=)75hTʋˋ*K7Xrdgo.ϭ3urB02m'wV{m.rU"YuP:\\y!B慖| %e+Yճ5X! {* Ma+NjuR(vXdmK sm\4l2 ^wQ:hvxϳLgy n l[ͺPHZcJ!t"HI8sG;&^J=pU[mO1NEzC$awf?L~OrO|O3g|u >nդ4(\bY]Z2߂)lg+ao3nY _`D ?Bw/CEȜS"L nv-wvsK)>ÁaX{"̈*G"/+1tO5fF?Vj攋Px1 54vpX3ޜᚐW43x%I[ ݳ4QAm6_Mև $Gw"cV~rGt2"[ p7R*OK@rV PG$1['킹_>bf׊QC/@ ueVn}."s$)c5av.:ЧGrϡ7КՙVK<)2ߦ_4f4ɪ^ņUwYBE >n6<5`̀@,~۹FhfFp9+B^!`2u|rۛjGmɟW'6q9|=wyMŴū[ud7s3ӭLuޣ&]E׋]-N:pkiB HNv"$AB6a^n,m_GW?;|"?f E40X 4-?R,)wt9n\:jb]S7qIw,.+dś,Gfk-r}?\(LAcYi;wwQD3(3u 6~0 kA+\kP*?6p!ޙ`pcw ̑.E+c]p·\(wH Ma{Ge N-F6~y TE-y;jGEQocpf1C7 q̿y}Ԧ`ƨU=`*`ߩJ٭cl}G? 4 lBŔ~ٙ_wH\"\[9:-Zw>1M1gw}l#˽_+4{\ɮlR&Ox'rDYl{iVYBQvMxZ/: ܗjq˴~x]&i|j{j02[(PgwF +9A\Y>Xk}jJl5gY, [|kZ*k|sx=x,NAFh:MjѡUPGxիW?l%r![t'+CVrll<:sPTp0[bw323wjRm Y(s !y${Nj0ʦD+C0HFWƷ_Gin'2u^Q>c^3,(ᶁKioDsy >S Ѓ,-7duV}>p+9D']! j%K\!8I򧡤;ۇVpD!=yDv&inq9\\S튪LE)QӐkÎh0\lqªpȕP[qtIifڇǍ9Lc dħRq:YghҊdǺBHoY޽Hp6+ ;CRgD}gQFf? O0#V&UgI4%  ,q,޺E£̵[3Fـy?Xzmư@TJF"!jT-$n *fA7iJ!p3(EBsn$BtHgMe&ۅѲj'j[ IڮL$; !\t~!*,ay75 .h㶃ѕݸʤHegn Ф W{It5zHsJZ`*$uXz;RD}[mL뾷986Iɚn-EYdrJ\4깳;>*ə!2\!uu# ){sU]Xղ+FVl9;C( -ғZ}GTX;ȿХ԰c! r,.'ThzyǓ4SEMT[3YWWW$\JLf1 KK;% ;{un֨1H}mRE)EhۜsWx[%vwRQ *c\ ͟Z?/3Psw9E C%ZΝQuO#r^hp&z@|٫b)uAǠNU:.*v^VǞ5)N@<%R['rK  .Y}I#@Srp9p 6xLR"x3J4nlgԭ$;"'Ol@.A}1P (ä0yGd. ʺ6٥%U`cˤEcƲ(@ O7ungJOIN81y" ۓ&vNVMv;ڟ,gUk˜:@RCTARDSfs}]t7g#~Cu| 8= Uᴬq]ێzZ¼Rn>_^li41}] U>,[ÅLP Ch3VfALIal+ڌ*q˚ʹ.$3&yi/|Ϋ(\.%B iL%rK0W߹Jћjo>@@RIFX:&Haۈ;cƱ5 xሮ`+5-Y0b.8kuW!e% R*sV5/R]xqgGAߚѺ3<#L([D䘲KV35V(%nϒkkU˓JwMi?VunCpYBS!X(F iG,U3?u<\A= es sKP ( |3^ bW`9ޘVݪif,:&P\•@:3l EVo` *K6<_ZaK&Hx1ī]_Iz ɽ22\]g(*-״! E6r~BJf"pyD|mɆg;≙W?&u!4=dsxFsvɂg3@>Mx1 $> "tUT8he* XLPstB!_a-7 :w!vDı36gCLFRF74^m<\ȓL^#>=Ўvق*Pd~VW<&P?)Q+(GʁC-?% x2k˚IY'ʝP"6ws Z8C j\I*ՌK|J \FG1|O?Uc!7+rbB08XEݩrUUBVb bUnׂRB}Qmyw\!I[E'}:tO6B&%;z< mqgdNԸ&4Jईnsޔ5~4kbڞxlZ>Z8m O##RJg)/j{o_cΣ:~, {!\sBj*QkFd Do_Y3\y;76Աg(GҌ:+x;H.̮҆=XQ1 {:b$}$5DZ:hh#[;!Aa  {/+2pd_Vދ)BYpZ's'u ն+ L0qϑG~"c1>6 3Ĥ$4DQlήW ԝh{dDa㙮1z %{.XI}L&HͿ}M:4/n]lnq)?PH#cR?U1L Tf8]9q FǞV^jQ`@pU!3aHd#qQQ/buvИy|2 C3Bi̩.y|u F拝46E&:Bx42eźolLA2]ƀ?SpƔl o ,/ݪ׸-s&0u8ԂҢKw \џiv:R6o ee[2%zL" viz٩r be `M싺8JCRY<`OUt{cE]@Ul\VF1n}Z,My-~ FsswTA?{CbY3V{:sk0爵U > tRω]{tz̡v`AD.r,] RUI},1 @5v̰Y.RN|,)ъ[zD"1nAM9|,䖥n:-R00uS_c%"Q }aTװzNzF gcC ~=]>cOLEu8F } T֚&E(t'B/Kky̿9 Y]X`fl06x\W,#󠂧<5U9ReI$RT  X24P:?nXaXX?»ejGr/K+X \ rt]aZbº/5|OxMk^`KZI5/pp4L<8G%5YRsCi ƾn~ҥl=6V)_Y L{,wCPY:?.-v% Rx/ӿ.0#% "?Ǻ#DPUdLe}Uls0ve<48^*S@^>pp>١IVXꪋ"%Th58rɐC@+بT_qqL]M6;9[/%mI V+0RƔv)5%@Ϩ00C#+jE" p/$>\k1`Hpg~wۥ cDHBWWr*I{MY [srԬxWǡᴽ1*0 .;4ҩlIcQ?͜^d54r)x=,>$3t=CVD8Hb 6{bK"jB+?D2e6x+s!Iw3*C{9bypă7@-9^Wq~ݺOUueM9H:^t|rU`5_R@/y%e8J]EST=ΕxLHg9c/%$ewM[Mip{23H]C ?Y%>D+N g ,  &iRtS󷣱llR:q]tL C%|%ΧEh-Zt_JH}W)jR|h{xpO06Y |.Z9h`,=,/c9u>79aDg.~f+/qa3vqGFOIԒkh֠{375N4 C8 >5P f&{[_𝦳1z4 Pf{ qpDt G-cHRak 8f:h́#ʢ0ܼEe|-_3uP.3ᒺx*V On˕6So*Z{9o}{جz'IJ\ݛ}1Q|!/v @/q坻aX8Ӥɥ}ڞC/%#Mvv Vb|bQfq]Vb$xG+AbU@]`z68'= x\yM,U2$9MY,#%+x4sQQ:p!TwkZ[?|j4 ʭA "TCz{%uz]54;G $<~/]Y3*\-҆m(u mb>H4B%XUsհbt7Y$.Tim&nBi"_\T!0dN!C{掚2.D?euroM/sZ<70̖-uJ]ߝT|oI & RsCbex|<+iBz\ずY𞜛~?۱b!#֙nFzᮞtTurfrGfM2Qmtlw%A!ƻ{e[kf5:Ӭ0ZtiAsET WO0"r)4%erڴ(ጋm$To)5:$ E4xD̻)/Z>#f z y9ۈlV 9|d(s0ĒIR 6ˊW۶CƳO&bJ2<|ԖQ_g"ގZo$V1Nj8VJSw$te<#ӷf#mHgoz0Lq2ǙK3[0=٫W)[eb#_\G|npt Ƕy9\%(阀y&$Rvf!<ڃUb4I7Ñ@~`{AؑA*e9$W81͂8P4x$^AHʭvbr[2S2]6+m6H|т_6pU?OwW$'jwBd!TM Y>ZΒHhJfs*#$STO_(fE2~08p'zMl%ՉHTicpN~iOП!,U H{9?fX#S>u?)?Wk/Iy'RJ@@CYDo٪%;zmIus*?(^BHRd8Cj)D}YeF2ώUn*w[f LrnfVhKۼMSm@/cMf0]N.Oba76wfb{!{t~sۘ8DG?|OC=tuǘJ dnF%,g ixl˃Yнjl#@% 7}_0Jn@üek\M (($H/2*X?Lif{8ĐH0#R?kNR\t{ vk{,2de‚&4H !M[tq E_%I#Aptw-{}a29e߁m}2|q.{V\jEM+zPo->?kh[V*Yr>Of/v<shQw::MN͸> }Ts^Cca0C:xS}_L/#4pDk̫ x\q$MQR#d=Oˍ&]uIUT|rcoS)bF^ñ:52vsRfA-]3h1V<&/"J6Pa9+gdc9<qBpB3Ҧ]'O0shKaoTϐ)} z4YʴW|@1:5A uؾ X:fwO[Y,qnH5<\-D4)1!gV٘4AAG;fVT!Aia2h靌eFenfy"m璓ƿ㫎^# ɌnR%Y!%ҡGRmMr ̞!VmdYНŅX-w9,U rO؜sԧ:7@ }`?,Ҥe:f$FUSjC6Ŵ+cҩ34O$O*o\xێOp w s }sl4;oۙj]5QCUWeM"zȔ7<_>h17G[SkւJ[V)*pCc&E,\=x8]M adٻOL߼5œYj;iw`d"qjgIlgEabLcV:|{8ZQ1n(TXxP2'a=iYJ*w™o)`UO^ +ȯ msMgj5 p/ ˎYqgM=;eu[VB9M'5>ԥvs{,:Ŝq^N@5 8Ȏ$ c_sR4 }M淋?|.F#p𶴇!HC+\ l.Bܹjf<.,؋^םI͘ wcp_7 &U~,xkM J$~v]Z(i/U`gSj3D]\ gKq}:S!'1y=jG,` 54j qBZ?ٞrc\ BtQOq jѫ~?8~ r,Wc=Եv<祥R[De؟+9>ǗP+h+bvOia/Qy[8 qù V%2lT0T#wuԲPqWZ/MW0,Ni K iv~֒}\`%zy/f|IHcf,jMf"t`BEstM (_WOE98sj[ZdZG=nc`1(fz;hʼ'_C~"ҡl?\JK 3 (/81J!KNYߠL3m$4@>I!ذ_-v69y(irVH[</Atcnl,#~΀HtF7E׷箜ipLPv [I gGL$4VQ߈~XNb|Yz|B/]]"_[&C;Y3ec ^V۴9AȦ@ c^.sv ^ᵨMc_e,V~ly{ Zx PRb[W{?+/t-ou% *N:# Z$A*=<%UtQ%BSc|gX+j ZBPP*$Y;rЀWKl1Ql(fHC]{8n]r*PAjO"&FN))~ vr %fi~qˍe⭣V'1Q 3X$p9vQ1dWWw 3/ҷb ,/0{6 cE &sΗZb.:ϋME<'.jܤru(@KV)-"SZd&Hڐw KT 2 v#>Q-|n("ã.sDw״Ά^T/Q> k09}ҮpeD*n"SX)3lGfuaCs!wI{B%#-62zEHQ$0CW/k珻a\a@E=Rg04qTC>]m<rѲJq eUAfV8s2\\%(3@`Ҡ.v3EddeؼZ!Ҝ%AOvI=8hOZkכeT;;݇EeBKXUqhBi $턉 Fm +HxQf4 4#ۥ+$-@^-.d.!4K\sed,5BA,?K[.\LTrҹk@"hO&wF7FXլПu`*0I#4w3JĚ*Rv C{L+4'˒ ]Uf',k.U].#.]e E%i+5o*Ql5 sZ2PsAfWyOdłwk)cx>ѾFו,<&wzAs.UF @ |znLc+#C1FTnpqOGfZpIٮ%p̵`- yJ<"BO!vbWo WiVht#u&Yz dy*]`4};{NjJޘu'IJdYc &B1'p!Ko@q/i"G2piBܟzV#BpIgZu3{T7=e 忐4MewoJGh4!VegZBdHRc8#=8ơH.8ƔCUgd#%߼ѹKi]ىβsζ(u Cw=N2OcA4]MUޏvC*+) u.xdB,d/qZ9E'D+y<#pVIoRڸDQ *]({SR! \_#~,Qg(<1MI>9|4?|S/qHipev0vT%3A\ ulc[iStדIt8?:T\"^IS^w˖$?Fz{`<1/  #},c]3x2 8EJN!VP$N3|SCMjFp"jǗKœ?[tҼv Ao~DP6B\!Ԕ=qH*4c=kghJ,`gْ(xQ_X@FֿK doPwIF3 Q<> ևwA`ʙr'Ƞ{_#K/ p:D'r *%7/)1b}s\#h&{evd)Gkp`RaWS3GwՠZ[h~fLz; w^m c~!Ze!'*<偌B~l]nQ`g.jWs8T1|Gޑ6?q<5vYIBϙ/叉}@YC9!`i?q)Pe`R<> ? VMޭKH3P)7_cFAe񱦙ː/<=v!N]cj/a20| XT58/nŎMҠ3AX& }hE lߒK`ƦC.[#C(U3 uaUJ&zwzVs-ϙ0N;uL3Yi}Zi-u A{2 lslQj$9HX!na E6$KށlQ%5jY p<ЮCaF%fAH]e}W{w٠;vTJIt,8{=|B? }e89d^d bwNN_u2\^_"KDu֞C73\C˱fs-^`ۭĤ%gL_":ᅮh|ϠB^W UGB/7{+WՅfW<䋷ιbTX4Iؗn]F=:G?[?솶hvJ~U+[yrw>྄_tv ʞj{O 9-GR1JMw#M'[yt hI_*y]cB+S8p,Fڨ:-RP̴6S xq71mWІzP:JNy1?„3$I.: h}zQV7-8h&r:q#h|S.Vb٪d,zD̶ѐE^xC#ZTܶH?υk(v\#'<3ˇL#,YFR*E2ucx,1;erϜ;l[Bg}:[iU򷢤 ÐK)Rugڡ*x_M6J >Oq 1X7kr-y`*^%%zTMdNÚSl d t߈֫`?rc6 )]TzTnL/fOy6EXtQMIC?*JOdj_j>ƙq> Ոco)}a[HW,9{AMy ^h,ܡ鲭t..ew"z/0llzJ*|r a.`x]fܛ/ʐ. .N^Z~ȮeNtH #y3&]5T[⒖7ВtcBk V9&d˙ME:cV'䷕6rX7Ug4rw;P56NysfVb UFM%&|7O7Rrsz([sXxg`"-9 9׎Hl(z'C֚}\FB4)Yσ~Xx} {x9q0i]py UDMl v}/]ªɷ(s8ȉSg\q=8R[91_L\ɣhr~f! AyOQz%`{ R ɷ^`^+fs%eRsLDޕ6ftV)$18S~߽sbs"o1>8`WyE7ƋzNrFjՆ)'X<3~S/9( [z@CXqzQZe R,Q,݅X=a@(ݹϜZkgޒ+# |A}l+*hȶ?P6-]7iP1gB$I _)d1ĩ6hBΫq3h|I@đd26ӏ̡LhT ^kNܼd8OV7>o ;B*] =4Ja{M]<x^#)})(@O6yjQqEk5 {{6V3,o־VA.^υjX2w2ZD7=jhalmQ:%}Td}Z}@()hD4UZFX!e˞FtۅѨ1P! 7$SV؇>*C%M5wu>!挰c7$e؟@=s*g!C>`.źu\lEo=) rp?Ow p@|s}cVՎSWBe,KKcfhjv"gocgRE_?@C/Yn;?r7;j`}qR<5*B4:= fruEȬ<;hD7/%n2:9k[j6caͨ@8~X07_NdȌ[sAƘѫJy0Qeu8H"3՜1d5 b10$%~?. ̔  g}@Hf@o>8da~J~KnH&hL|"\NdCR(?O f7)ruS#nq"̓9T466F7ֱ!x:by wy_rJ;Z9[S1\uO!)ma}N"nB_0LeB\)FIjhd]Y/v>ͩp Ҁɑ88*4ѠrM hn GE_~zjx{B$٤uB~ur%5'j#>d/=#jQǜs? yYcncjwHHn$$aik=`r#XotP/􂯐'@'gb[kӆ5DLB2X')R3x Ld/ʵ o"3\;s%0àLyjf}vW ǂ`(U*;c\U)띠q:LJgKԚJ8Okz&PN˲!c~Tg!)@&^mnft1-|Hmȫk-ן1E'\RIAaOc[-$S]wƊz1;K0: HE} UHpzg9 M :ܻ946Aة`A7xc-y!.#:DUQqaƤr!ciU6 :-N5R!A )o4#r'r`%z=j`T)[vݖA遜!ޭJˉGՂm6`#SSj~P{Uu N{{/Iۏsi<ܙQ W[83x綗^({ XD;3MeViopbW^ã Qs<']:G*{տuR$??¦aAlp}ǃNEe9S@4I1]Ul*EF(jmq4NV$K ٵ 5N(Tct1ëDI WDݗ?t.bnkP:|UqC*ɽ$i-P[NFaXPs2=끚 ፇS`k\VabʹpLvu>Rb'Atm6#{Vĕ"VSaRh!כݴ5*jvk%Z@/ -٨8#7qsOY52,d벯MUymp;70_X %v#Y !&X nis.fV42&9UQq{Hb0׷@5K6F{&nlHKlu /Iξfc1`ă[Z&XVTƜ}0&? M T5&pCRA݆L4qs؄ HL6ͶZidɲ +ޭ<#^M9+|ZLkHGCPqr=Oa%Z&S)M̩Pޯt?Ϝa'~ʽ ?}Ǟsms˒ %yT26Z֞yT`'N!G~@8y؛JRW(;B{blJ\$柤}|q? nu9:~d-jզN(zUMwBlp<l{IY\z̄aߝ3j-tn!Q+,+Ps~r=빁T|0U2] JV;̥֑ԩW%`ݶ%}ȷJ*u][@.wck֘`j9g*H:ϫLNV(ZJt=v8~2lxiW j.6.ms}u(~1JdQlG)5+k$_j ӛ7՘xwwmuu;QSkɮw9dN ēxRHճGNRF$`N;)pcCt9oRU^;[RU3L,6LX^!%%~lHA;edtDgW (NLu#h lB('g\mA3oX>ea`f@ۻwP֡9{k"-?tifVkў,NRT6e 'Wa9SN/ք = *Lw(axzkS^Q/~)Tj@ڬaI sI\x1]Zc[Bzw0*+ڮ?JĨȶD >{4:BL̳D]`]9œ[~VI-HYEتõb֌J5j@ ĈZEq& aCi#˺wc(ڬBniǷ}ذ, X}Λ*Gܧ뤪qHQMXdgD1FnOz JiRmȅw(D m!!?eFޜL)^DԭE773&pVV`ʃ5DTF ԎPS-D/$GP"d76\jU>S~$]* t}:l]8@YhzGǮcv"V9~hJNm m}pݖ(P(*E@|k{rR. &gݚ`?03+e&i|PiD& ("#bx& "E9t0&rQҽN_Ǡq#b~ekڀ!20*Sc66-1Futd*x1t"~5/,8#պ*FkR(_bBţ:y/51fqk^ta Hd`:UՂdPCd\-\9D[^+jޖbt脶'.i%@Yü8^lfԋʔ^k9|; kA$F嬝&\BaOS1ROs&ö%ah7S 4SԆ~*;C*CnG Xce qZu El2 ՟hC ^&wO(ՒQ&eR !"I3.ԚvȴZʼ h }j%Tޕ$9ICFr BQ>bU94r97xHE+ V_ZUJe/Ƈsmӿmw9b.271mpPi-ވ@gM][vnچ909-$RF4fEHa 3#Z&]g&gAK$4H\aL$($Y3(&\vFO!)&f9R(WB{HE@ZR[PtdSKNm?W1mUS;)ݗST4,,sS NczRy`n⻚ԗ89{]3oC*g- R19~n3Ƒ*imȖ) +kDl; ut!o?ٰ,CQΜ=Q+P3bSWs0;>9C1 [v 4ŶF ]u|a'HHbyW;) (S*yFm+[TנMegt4j)doe*T$QK7  reDeiț5 w?S*a5{ǣMHc9ij.8(&jT QV!$*fWšz0b((paJZ'ȗXrI]u,e$)(gQw{Mf5Lc2̀ U–Cna{iFL7خ#91wCDOQ)Z'x05A΀ǁh>2aطG\$QN8!kBM;H>‘4lzq͛IQ# Y8ܥHGms<ɋ:sq!7C`)N Բ"wyckg{3?khzNasa]+>0*4:blֳ^9$fָwO]n,L -yD6lV3,K$yh¼geTj'ɴӦ="+jNi1vtzHΞ/G7/]uu8gc J":}iZJ[#uB_+O*i`?t?z Ȱv2HIH~sPmҍ4TvD,=~yRG  Pbt ҁ8g1 e,pb{yI=ST a1 [5b $\=I2krrMxn8;A~y\p@ Jdh2Q;[K5gI5_DҦ"C{j?nDы^dyɴWJ|wd'` j ^[MLElHM`#8Ͳ+U_Rx{46 AE'1s^g1hČVZwdJ ||ÈqG4`]^8S(sLA5+Z >%P{!ˆhC4ΥXsE73mGHKsQf)RڹKŞ-08'ѠkixP)Ng]! T[_#YշHiN'ՄtVnˤfng/v3; `SOQҚ9^JUx`//QOc7(Zǃ$2W7)O't p@3RbYÈ x udM͏V;w'> u$" ;і3gۀGpSl4yG'4'Q5ІZHpKt N13ėem2xX ʏom! F#i/W?DBC|}vp~.\ʥ#:p,$J\Թi&kKɉe~!-Χm պՒ$M,7yh&&4- (~;7 Fhʌ{<:!E]ýzs*&B{8*ݖw ,ࢶ"& r'^1 Rҡo\¿+LCL 0@ &~kȥ? $` Z R˺ t,iAI'(#=+  3W?);H(/`S,34UcL{)+4xmӗl% ,mkվs_&Jbzݱ6Ff=faDž =IH| oPS}֤E%(7FwE%yo`ϧ*-LhP,.+h&/wp14ђw EK L^0̨kLf@ڠE3>i}nU|Ҭjx& ^le#\3~K1) L}@]PT-[ot21Ӕi{c,wz,OLKB2q"!j;OBҽ#w@Y-K=d^nw-S>y9C' >2ۗc*O Cz*D%%YUj95lX%z'Ⳑ X {BdG CF *&sMѻO>> kEuJV`(f,G@a@2BI;xs YxA"stqڠ>6W@zex63eHrPMxKlZVp&`g Hxa 3n;`L<.=<F oeȩ6:4B`Z|k;Ef iƫfm `i  螒ʼg;hMus<72SIzR M@G6lgSecc;=3BtĤ:3NOABuDi>A9(=Grۋ+ ¹xܫ,j!n noxn*3X5؉<&<I7_kwL?PmpO03QއE^g+O, uN#o&Nǯ@N+PBl<9 <+ˋ f O{K-X^r9Q)X2w4@o5"ǁI0R!V\~&aOSMd+;au`S!oM«o^||?H:{Tؗ>5;w"ܡ-uZ9+;A",,m:6/K!(:aFOV%HW$PA\ =`3.NUtƅ4˾cl Y<<ˬ#1+1"и?/НzF!eX`ȕx>mdEX$DdJ l)\TH]p3f5.vP|ٸ5Ƶg3◲6uP߯T:j5_H%8#(>R/ E6gu(}`'zKw[88ƟtBtCe|;!#WE,q5/bfI47,[ {Caa0bQz,͉c|# [Zx$IDГ2'i3! FO 䲒vT L+yWE)Srde>fKuSMd=MȤ[ϱc !n/{;VC#t-R w_GP{) /؜,#5 {Eyy%4f-0<1._;&9%d11z|8ܸ/%3(^UDf~Y>y8_`܆wXus.XY܇ Fuy]Fh{}'3א_VAJ]..dѕ1 B|LhG&Als3Iq?@stk 1I2}%B݌BT%Ӿ1mf/D޸ΓDx BoR fR4D8g$ct,1+&^!lE~;(.M?Wᜤc`b씜D; !, '|5 MH~G C#nV!HW av;vifˑƄv"R[#%4m^UD b =ZB(]Tp?S`Z)' 3vzU>OD%Q(*!_yQ-Bu*ņnܧĢ'9T\g<\XBka Զ4:7B뷫U=?;y\)1$GA\YemԚ7NS|لv~Q`a> TMZٛ-,OI$V˨ R/hp>@TCް]Y8$M'gH+r'ޓr:Nތƅ ;X]BWCm.qBPVr-)PY d#l4{'7uPF{_0qWKJ ~z AH5a0BFX)]l[`K@OA70_r2{vpu0NPmۜsGzHQkFg~ 69]-:W}$x$\l\;4ɮsBFK?*!/@ UZ8rJQ&f {iҖ#ǟx<2务lLPٝ@;w_߻'!XQWR xI}"il®E$>%gS.J=@xﴛ#-!n??G:X:$N*a832(X+.8Ə̍;18xot[9Ts{uo=|";*̼hb/7h2J5 }3|y65R+V(dmd@wLӏֳ1we94 on5|T:Ɓ KmL"MJ.ԕ?p?;! ,Z`̢NݒW:1Ѕ/E0}"Tڠu)kEa>+d-KeLeg9}Hє ! İߪsG6'gBG&S\mL˞I+YQPw H,A 1м&Z^QuY;^\Esقoid\DaDՑ]EkZ^3d2i?MXDA@[p3 n?f܊Lb ,Գ{IZIքLO1rA$H>*ŸO?EPt"́VL0b蘒Bݛ#MEץ᎑Zi 9*=&ՠ,&|<Oo_E~r>3]qLci fPL8ذQCVAE macG{qb A.Q# z=IE.Z-Ïhָ H{#mjCk7S7|x Ӊر,f1mIVx)﩮cuSEXnY1C?s!x94+Uƻa֚MewIهצ~kڢotsc|HZ-;]U]/YJ^uYv`,qCTZyA^$ru]>GٰӒ94ss J5T+|m ]NtQ 1Ew)k鎑;:h&ԐvA'WWpEt^jvXkjbҐ4_+@:l\=s2_8|y1gu9Ak2xrڽ삂Q4Ѵ՝~VaǸl iDg5PRD׺MÍsOcCD#\Z!{Z}vUz%Ʀ Gp8]-i68, =S\kDW 8 *@ ܅w #Or~.V;b(jq(jʉd($p6vxr#ROx =Z同T){r*kLf嗵B1i,*֟j՚?]-+i ]ʮ挛cLcf 5(_G$$G (#v t)d$7wI0q[ <,Lq2KMLWūޜ鼺ZYDm9wrvFx/_o&C_O rU/΍\ ŴsJٯ]@wh*A{gxҠ{(>v76`[\ )f(&9 P63M0M06 ϑ|^( 2UJ9oRf80컓>\jQrItvr+b!-n1ϞVl űC@ վ JJXZĖe4fvʋ2sokkq0CӞ4!N&"MdFH굉ZpQrwwrJhZvC3m%2V/}-AwDn왁` otX)Q&ޝ/&ټ+RDɆ)LQ2Oc'#+%HZѥRHމ:[-U?Kq;F/bXr=y}S#CLuEVșYf'ϹX#4QS~\˱v5?=Lj,mϔ>֒#~'P>SF佦5BJG}pni0nSoZĬ,ql>fMH+umeb S;yi^C-4A`?垂kAY" .y 0Ѽps܆HX}(|2rZVy$/\EGi%b kC|%0CRF-pWm EhܧM]N[-2!I'Z;XS]UtnLQI]dbPA<^)mWf]+rKut;M gy︶ٛ! cĻ95.X+rhw"G9$Wڼ_B}ӿgޚ*Μx끿)kZr[}Gwr;`&_|&IY6 4Ħ1BHǗB6P0`SX9(Ĭ黓B,xNM6LM6b9D:!yUtRO9֏W(= _1f]_퐻7JU|hfqc^ "n$ƇqCoxA0LEόr8fVU0ou\Gp@ ,E+r3sMr++!/d]L[ noYOL<a>zKW^~*RU['H;6%zPMf UeU)%S< OcTJ"^cB\vkfr&'o}ƗH]`HV+9ɏ._0xu$[IfܐhY( oRxco%AO?)g w$!Z9|]G\mT`ʆ~3SYGW猃&3%{ F8n^CgJNsfX$?rrӖ2jy><IkLȴ0gBN-|Ǟjv%O0 ;0>6af῝O[taRom0.P " ̴dz2X8$R=Q`hOTeW+[4(5#do *~ Tǩ'WىE/p~cG<@xV; spoPB<ީ^# :$ $X$W8(ηcgYfiTZu5,U](z⭞\5e*ǜtR\gd?A4GI!'̌٩ JX=u$ܖ-!jى : c -!u٪V2$L\gAu+<$^>ͽ͵AADc[7s7 3 P#&bKl0Ga%fLhvl:G*I/?{fdJ%NhBk45 S 3cȇqGM|Ŗ6GN^ PT)'}= 5NkrT:V"%͒.@=/fG٘ T2G.-rL1[:37B7Rh BKr5N\EpĿG*79麎?O}H'GLuK|\g;2jC}x+. ;#ԣ}_tfWf2A1 .C}D*XrE@&%ճٱ[-@6lIJV`C!*nuo&:뉥5Uv 9ETyhhw_"}uR4i0|!,䧹AX{ۈIW%4j \:On 26sgXHT16O"Ӆc_7@Z @LW"%"(z z`Ċ+#S9ghk ibɿ?y!%pd;Q(9~;tQ TK2}̙n(uAsVk,>F.coL:-V"Os)G(Ƌ>r>š?wKMGlVVֈMF;c?8XPmNn e4rBj?<ثXܠ)0}_Gy-C.zGlMSj6F 7sќb4 t1ai^KT 8NF; OT+dXsgfj1OW=htS9r%Q5V^lϣUί:k&wnMSŖX}ufe`.]BIOya[#ܸw2<$BxI B}B[cŕ ݢs3{+_<NM=Y(F {gH% ? jv:zx;rP)V٭G ,KQfZ3ty #;ŕFCv esL <~x6sK'Ǖn#"n'|/04tDV|B# +դ uSu$qF o $|7-gK19"4rۆ2&ϲ}WdlKa{~ZNwAL53[ںB1(eA/D35>ً- dD?(5¬&vi‹i3Lmww}PwYcà5֘kI%mDžcP\D3A,PX|+o` "bce!/7kع旇iNjR9 lTaExİݵ'3r7+ѥVᾛE_^'MͅL䢠 (rJR*Lh8GHR7V׾W{?w9Jsm=zRr2QW!spFY2j`0r8CY҉*mrQΈ#WVvHiA^?oO<= *Szo1ԥݚ%:vi"Qd8f AbJJym׮zx6[fͭ jtn/CP?&l8~Tr Vq^X#Z4:6 RkX`hMrZzL')&IMW5c_KfAH=C_ޜ;Yk5ga Zv~NeW\龕.Dtw (zX&aI99XŻ+&hzΛޛG{MgEV)v9_9wqq(7g3G&ja0tA`!=anu~؜`6:DN  \\ | <2Mv7' ;LC:\Jxogp}`4G1H\a;Ήx(آH`F@GEԍ0kƪ:D@@o(>$c nS0@Z;!Yؼ|Xa(?i!_ÖY?T\>W4UJNAȒ30>rGQ;DΎ g'oљW$Mj0\z޶m/!´fUPSQC_ jk{kV)e/%~5PQBN4i KΦNhw&5}$0cb9yzgtup'D#!*LZpǴDFA.q,3>.F vkIRkN9ɡ7;T`Uo>^!)ʚ&ϻ*W% ޘ_+ZV/vA"0k}A̘|<b\vDIux4dYWkIc}8T$BHL{8!Uyb&Pgƒc))ܠ3ՑFyFYv@nƭKTKG2*n=h/,2 $"HPñ 9y72@&V8Zԣsb]t fFM\+_$ufTNbu!ӊCW{7?yUgHU⺴QW.):0MődМwH"!_` +{夏Peѹ?sQWLރ%2aѐ?S:CGQ~i7EHaX;i) "2f1q'\-'(<`( @2@ _x5Q4A\;ߦ-0")=4bBv$-|BDz .!ӔdzsÕ~"T'8?ΏOˬD^Ipta)ڈ [.n dm(Nt*#U!4uʲ=78dY,zXjb{3cͷf]֒q.Ė̃Ç)plsU >mU.[軟o1aV  T( ]Z H\M5ώiڌN"Urrcв:sdC@6~ky t!~ 7So>N!,>Qc.gʺ+jH-Ite2rin݁;I6Ռ\``}W9D[p][/>̮s`+Gݲ# 3W PN9!2F?:J: 8.k m%Z$:HrE 00}8U`kv>JX7Z9vL1 7f7@rvćWcX̥A')̈I/ |33 C1e[kdffCU >l_kQFD˸eDN< YX8>Բ02>Bh˾ρHЧB~ZΧjlMr3t]Dclԟ@~gzPS_JMO6#x֧zP[b1m7g {7ƃXe.cL殗q,/P9M%<:P Ӂ}dҗynC EEa*2  {znISR,^VeP@j+>|44'+;Z-̄ =۴ث vsn6}yrT>aA{ QU,E&Nm}*-x62ы=}7biiE?>*op4#,OA7KuL˵é$Dܐ|wŸk` ]`n,L>' 69gԓn݄9'vNyCjcH2URW*b'dV o[hdz]TzWXjjXw%'\FW*k%hIQ$* CD}Ins<ǎ@ߝB#KU-vʽ=6mtC*6ܥWF2,TPt3P]mN{Rsu.UYבLv{fOvy29,Ҽ&"]x{)jҮ#a6BHCXfd'cԋ/T:\z!Bl( OY"j=Fo{AP8ceӤn3Qq:MހE+JYA dT%dJ$, hC4m:-z5IKl m'S9,Wה]7i.cHuZQmE4`truHbՊ#gHyΩs ݟM@k?_-YǾbfJ<"=^h-.F/bjckWg<@98, )b:b?" =/O ?%:r ;T{V;H|noV,ڥC[?v{*VkwgAmߍ ٜ~ Hk9ÕʍtǩUT7vjLŶtj.Sࠪw "7{C M 홙j[iA[Cu"` GcrJY쥞Ľ)NX\=e6Ls'ʕCswг:2#-ZP4ot77z鞼IyA'}R-OI\v:;N*MOS3}!` d۷.!`Ǡڛ`Kt-?t^j,F~ 4VcL՟r*f=U#jHB@x[^u I1D{\X*.EQobyY:SZ}4ZE=Dp/%pDA7 ~2r۹g)[MfP %q"$rS/yү1JLx}.ݝI-;C~xAׅ/aF~2fC(SF~JZ#GrDDi3Dוb/DŶE6Z$5WBƳCѹ^ZDrr}#f gp5fyVQv֠"&DL9FPfb~CNiz+H$L$+s"_jEfM n&ӅQ0ّEvJu˶&@I_Iq= VcHd$LJo˅H5c CY9 MT*z[p}q~")Ի#㵋>.g*ZG[L4=˶{hU5Uߨf><QIp O)ʏʹa76,.i3ѧDp*I5})RqЌiaw㩎p2i| "_$+V*DJEήt7 m h; vjI*ˆa1 y"zfr.)&r4uc-ԗd.[Z>V#_p%^[4Pҫ H55)nP оI (逬WQ.="DFũ 3DJ7"'$oh|@њE4gB3"tYtXYG>An+'SIfRaPITLm?VXvYqn[xT %JY1HRҶۣ}+!PTUMfRsLD)l P"%ZثhdX*110==y!XI(QS0C"zf )N@>gj 12):0U*J^~ Nf_xzRwBy":]' ?d_N8.:gu }MK6|:x y~ *™ٙ(`a/DGWI )%)Jh9[p{,Qߩ+e#7\%(:XdQ3PI'5Rq7ݔH u?!aD $OsAC7/Q|V2R=DE*dq:a- Mf LcNOÁe-8 5Duf|D/-ww< m]}^>Ղs8 \{=ր{@J}w vƶ-G V;%70DݠwIjzRâ&lZ2kP\I]U ;c#{rEO \hzZQ^}*ʈě}ލGy1W0|o*g1YH3GT:^].sF G%G c[AcCEKxYjWS q.'_Ř ]1޲th~Gp 9"Xu]#y])A|jJdwTH9r.y)o( XCLF=q9utcpnMg5P񆲿DKUhBaotVOf}n"a$wH$ hǵl&e D/. 挱!ey9PҾn4y:5h )8G\.w0. NWT}csl{58yO`R86FwDe/eD_K'}bDhG0jj b[koRG [4pOyHk4lU ӆNuW62D=2  m' \֩7cz9Eu-#og4P}bx@ΔxcbuQz/ĎVwdJwr2R|)||Nx"@ndC\@+͈1Z")W_Z8)\LIG#^V" 0&~4>̛/Ad##/ep6;)wz6=!rT_; Фƿ&r\V3^DO&dk aLK`aC3"dwa#H;6|=Q;ڪ^sKC: %gI PP=+Y ñ;*ڽ9ԄB\uKU[U=oB>I0nEED-#hJKp=[>"Zf*Yxpw-na/Mi 7+GP UӖfܚM?7T=5Y g߲% {hS_pCHڝE z\]g-M a+׍@ߪQ̅[:vyQR;pk ^D'͎eŦv>p|~y/]e9ᡱD^n<*أr>E(7ritE;VJKIKz0!RG9k jSY~VWbbb QBAMFwQC . YRxjL02 ~8%k5:Z ܼ#x[@R0)|;QpQ̓6${GRUnS4Ѣ*{:/w `4DVU#"Y`Wzx!,Xm3ӳaSO^/m/PF>9Z7wlGJHSqb)B&b۷b=#,Y$ }ض,1hoc)rtl>hIA>)BGqNh&XaWѬI[YC:$|T9I`SZO7!A&uDHHZ㜷y[p /B;~3JmL ~<}85(X%:9&Pd̜5Ύγ۩1VNWn0xH\QWP;C6`f0ϯ"qZ!mrg:9D6JyJ/jYNۋ?ʷG}Ѷ|NL eJ͎MW%fz ll7AmK*~tުM7j(R 0g"W/uZO|Vr+Nsu ~ !%;HUԂ :(YL9zK,s2CC"_%$fڃ!/f9nY(?2yks5B_"ghq9M_!Do*pR; Jsm]hq+S^Ƣb3MI-%"_H4ػ6#a:2G'/c] -!Yd4n<.nHZfUƳOil+dk&5^榤2p.D]Eȣ7*`@fx}̩_L!`gnZ=:3+u:8EOjDʌ`G؀ bƌю̀(N3O_l7ywY(^rP08/׾?tw#ض[) HEz54I!j*oV D=a</v pk6 iVn4'k9&/\B tBU r8`@Y";GQ a*=.m&+ `Uc 6 5o-*V4չCW᭙Lϓot7*M%PoZ75;`q0bZS'#3Hc[=]!cc!7Ap 4䡊Us܎iQ8ck`O@cޗTv*7N)>cVM70GGz>\H";~Ue)G,cb|PLm 5rs6cL\)VI+ȿ@k$7{M'X\*WZJ.!`0DPoD.7ĸbλO5i\P]r.ʖI{֢] ^h9: !5MǩG9ؼAw7ތ1KkK/Sg Id +wD g f '۔vGry` ^2ZA3' Dm3ӒxP,BN mC7}u~G^ΰwr`kqEܗ*HU5Dt+k*L<'yT)I/?pF5MiK;z1,֞k ,VKl8jsд19{l\&IrWre;Es>q4"FCi!M>EĞ8ߘ;+oGc1 jTꖊNkNJ3>):) kk6T:;UfcxR"J =n*1A-jjN$So!~-5ccC*SpdqE8wQlefꯚm! 5+.tƨoՆ;v&hߡ*ɹaI[\/?ESg<=ҟc+u l 9ċ]SdGe66UMέĜC%| GiƒG=H@{W^dpu*:7Qͼg%G_A?_?x6ֱo\1Hs g;׉7#+;i%i%:LI<":X[}heբhM|USo}5l&gMvKcX(v˘alpZa Xf-l¡h|37Mn]K덠ƶBS n=J2}10v-8V' k^B&q(b5Cn $RݡmtX̖&I}{ʴ =*tdH|=0cG;|3N$,Y}Uxk66R =[6ǜz ^4~@ =T:Ynyƛ~0u^=5Xn&o+82$.BNE߈ N{t|#kRѱtc>r-0AT?M$E'ma'UGmDFxߧA{l8KF.ԉBd"pj}Ã!2J7p{T;=8Z!"UHqQhN0ha8`=c Z!U >UhZ-uw^M6owοϑft$ȖErcSƾ7ON $EKZ[3mD#KL %`v.KW&`"iqƚ3{L1t%'6 ]*iT,$4/TҬ3+rp7^gVy-a@Tm7Ab~4U@=1 l\Hb,7`tr@k^qZC;1(՝N&6%J]ކv"  u(`09JMҤ^d?[HdO3 24kyV)\qDIPˈ>3aM,uhaf)%یp-r-*)灏+x=+\óSs~@+2E2K SdEyH?'KY~\ZZ1Iw9@n,I1vEv%ű#9v*o$ RԪ<rE^"LO8Y+}tvo{>TG}]I4L"`j ng`{1d8UlN||v`[UhB%ce*|4=۟>󄉕겒 Y,nbH-(4(n@񣈭tIiBW 1E , c,BA^Ȧ߉OqXKGtxJ w+|$ $m!')ŨDc*k]l{/J !||r(+:\ |$3L$ȯixSgPv)UYA0S!݉3{ T&yN0̺GBgV8lFvṛg,x%d@/qΈ@ghNZ| 9CA.I?^Akg?kyMphaE ^ޜ*ܽ\¬dk+4 [3}:BDoyh#og"T]L='=7_*pnb,mhaSFþ |>Y+hnJ^ sҐj;`S?~;,M4K$,|'~|8)-RqtX|cocUG#~>Dy:z-%R_7%hfÄtj3 p;g w梊`͋.//྄l֦V7t3;g4i.؉wXqSUxbP䝺>YZi{kTj{Lm $jЫ"$mjd48Cjc:<8<Xt8 R%$׿NFn6u5)ײ3'"v ~5dRAbT7P5[G޲{&K0`t OYB?G`4cPRrH56lq)E WR+J'cŞlRg~<@:ctf6-HV?BBK[jEf~v1S;lVfe)O4\`1(/2ܥ1F&n EBe)Y,ķ Kցl˓dM'ZXLh2 |PӠz,ftVC3z.XBhaưѽ\•~p'fF-*]|b''M$<*8\@YYäS _oaӉ^P= {FNR&ѿSiBLtn{ePIdRڬPJeLr7M?{?&hHl92J!E|`/I8X.HTf:(!&$ JChB'O=گM:(Mf!%>KRJ_E "(>7#CRH>:\f3gLQpW~ *iudN'INO]O'Ia*8(*"yp> S~bPҦF=GW8diQ;GVN%\TԒG`WdظqѷAh~K$6e~"qK MC)!&93Qꦽ!D) 9&M[tyYB.V(lN]3]Mz:H&_ac?^MZ'Oxז]![$-On!1_I!U(DǰD,(Yʰ}IUzӘQ$ n?.mKdwO벳o^U]B#{"I y_ !#9㇑39&pk%;NiE{!@?0NBϚPסu'ïҟT[*G=[n^-?x$4nJ;ۚ'{$Tl;ɂV"vq I֊dtcF] s^鹚5Os߾:hR~CP$ oRy<>IC`8I[X0r*Ա| [97pSƽ2gbE+O+qlZ7Jɟ` Vd%^Vγ.$P+N(~ԾbO"̲*~#r`2+B4l2Wxri9RO4:*q!' AP36NۻDxhJZ.n՝wxiH8䑟Ԣ\,ʠt'QUE8Fc@j]%hudX" xWR>qeX4= Ӷ A XatjwJrɊnTBa93Un;YMf轳?o*ˍ|&5z:2psW~>z:/CĖ6xL8k&Rsk#BNn\~Qv굣p ӆŇ"𫹮8_ FjN l  ̉9'~̃?Qbr 715=-,piLfoOǩɿ4آQ^kd/1<^й=e` (F- b +RvT8(5-v!;fJc8V0 v;)Ǩ3 ƽT)ejԊ)Y}*TeqY0ik9%L O}T(F$"܇,e۽)QJrewNQ 6vS9TYf8 3aB2N$#wZ?P'FAqͨwuD3,.Cd'8~Dfl3ep Z'WrS^ L gN@_Vv9x)J(~~Vie%| y٥fO mfhWxqMos9~5IABx2a9' 5(X[EzF`P^;|cazS q硎^]@ʩ[1==f#2Y$v?:LNPU/mtzyu(Yݘ4j:ނvRgNiNݴn桂ٕI#02xpM충\sl`)Xࣸ% z/1/Ɖ8M%|8⚂|:Nf/3|w0@vl18w|_l(5,oHaZ.G,6YGɷVO 2+W۷& mgb=Uǝ%7Nyvi9ZDTIR7^dxv^%y~H!־G.Ԛ[riI:߀S 8jtFIݵ[ ՊB6_&$&SMn+Firv cS<ލ Xc̥Ӗ>P`",&ocn* $y#,j:$]Lf%z DV+JT/vL 2eMaI:$|H0'zXӦ7?˵5[N¯ĺ۔D@OGhz#A? #pfLQEqkeOEC͌T9Q蒑z[&daU:BW&q*A.<пƄ8l-wQ20"Aw>Wª='Sk9- Gٌhbb~C#?lxnRԏv\Z ]Js3,uQr8%%gݸ> ]1S,"4,MRURFTlKLFI>h-fӥ0:)"-IN,t81Zҟ;pqU|; =nFR.F_}Q1mֿ}ISNdV>d@(f D$WQ6r)c7 VR4^B+vf̓Jj~f^TmٛY|䫷w&I0x+izzY1he\㿅%6PUܗsk>%/h` e5n-dp<:mD#}DFKǒ :7`MAGB8LQ`ff:rz0}$R/^<^b2CUz?Ws5Y (k5{?/H7ynϝ\TKgTwl]=d+Ҥ5Jj{J0F526";W ?3h,jH]ZVNIr6"-z?\:{1c. {|{y~BB8cW&S:Je ~xt>^ąl b'/[ DLTQWbuMDE9g!USS2pCZ+R3z;JY.4KLĂa|:ʮ٘h0fZh+Dt=v79Hsr;7(wn2zYXQZ*_q~(AɨEVOq]_(;6ڌ|7qӖsCt%-(H~ս|>!uE&,zΒ(%ҋ zN^C4N`$C?'CE#z5ۋgpX~צ&~#:@,0_?P`~:[42m``}ZlC0~uC0|cn=i@BRܵbeUPŦ± ?22h܄u*)&?7/e(X,TcFOGW.@YbHq]5&:i_z1C^-{(d.62ǜ1 *UD<H?ꖏѪ < n#,1gx2$2c\3ܶi.bCW ǟ뛎7n(lSV/ KCu96AJC!nh9[9/h̬(&VSyHHq&"RܗgAK{V PF=9t 6ڊk_EWLwY[~Y)!Ɲ#WΦP (L8e֤KvruѤ1J~3uDZ$ݸbÙdw'EJd5<ы<^9hM>dK` Dnxեo^1\nݏW4==%܂ Oho mXA[%\O޻@yQL_t1.X-;5 6+pY jT7/=1/e6fE5f33܅??[ԆP ieyV~ 父IՋke3YBn~kX7 Djԓmj^~-NqaEY11yNh+cWOVW2ةԣH$\}էp*yZ&뎙6ƨE9 OC;$BWkS="/R@ST=.|RjOZ G*3?YX$'$MIa3!d8?;iYngqR*!]-%R&]|[{/馕Z =VfO8{~fy,OSy| 2[iGKC5^5<~4nCL1UYI>vWx#l'&11803n_F&$r)l&̽A=MǸ%orͫ>eS2ͳpUzك .IߥJtСp] ]0r5MDd sa.H~ݨ>G A+-fo2ڑ(bLYt]i3,=ԼϦo9 1Lp?>͓DqY$Fk gVߥ=in@ӯaσưܘ$TVٮST I3Eȟ8bVڹu**3ʍ4Έ̖w.R>H65vl߬ D%;S!. w}\ZYIti9!?hPHmy| Q!Mj|_3IEuЈ0 CD芒0e3VUG=*:Q(#3BpW\0.A_Jȑ!(.C Ik})M|^^ʁ'X,`d>"즩jbPz ^JM,GRb&1?K{2O+}y㪧Ŷ_eC #)\uogE G^mWd[yt*x F sqJ,']=(ŧmd 2Ս0xfP>!to5 T*d#r#ոm1sJ`h<_07_XiWvS}(o iigy; 杵И^-Z@ևtZ*JV O.-}jk~щIҞg6DWqL )Yn9bő އ;e2ѝ .:ދfHY]Uުy"jwnLYN I>}%hd]*Z5UYKȟ=IaS?ㅉͶOc+$\sQ.}VaTW蒮xY! ɼ `XUZ15>Z2(\, fևVɱ[R b.1n˺KDQq*ocNp,㸣`o հqSMqYř%xf'Dfˇtd4Z:p)I d#a/ƷQ@`xX{J㢰.//y`seiZee$2^u+6"VK~6;/^|P}w78Wif-a ˋ8'ͯzN+g94g)$T3AI}yiOo'dꗇ80r|wyOzic38*t5x m' ?|b.&~YG*HNJJA&ɴٻ{p["^xq_f%Khphi;v@"Hֽ<@+^GDE:ZCvyhp-՝޹ L+TYچ) 'PNlGw o(Hb Hj=ւ~&"LҼǀ,DsP}XG"{W@++ `)HIе$5f'o2Me7 -4쎓'+ ƭ ^0{4fHć[&+@M3R©?dWH'G)aHz"i;qk)r߀m&)‡4p\jN)5v?5W @|i )t5q$/8! +ʓzJgǁfmEYL̥,?LWR})(~jHqb"uGQ8~[7kxGW(KAH/="hM6lz 3{C!4'{_y/OywOgf9Q!8b2§g_jSTA 7{+e~4N.OHA~O*?Ft$[@1KdT>tw`o^'U"3E (C"(4;M9}Rz E!^ PuR>!.yD3)]+la)"y⻘ e P/0fxCn8yb:Z[ʂ0ƤMap/O(Cr1C)8hvM<-Ա_4ϲ([Xf/G|ZK %%? a6m7#A^z8ߛGCK!U@W̃6ԤR? m92]fy%AzW0+?Gf?cMF5u++X{7q;սMH)A7CXIeXh@ Dc\0񆹧WqfZ~^ƑQ7xN=? YDp*p?8!AeN@o.'f;D}3ZWX-jD\IvvWWpY~VYj2l%5~#GT1 <ʈpsؗ<˅JiA)9$/RlURƕH<7A d|\>g;#c.<|3Vy' 瑌 ɥ,1#mxʁ8T7`yv\2N^s Ϫ+.{\ouM$iŦ;ĉŬ4tӵZ nF|ݵWEjw7\< ~&l #sdu &xOU;N=)Zs{݃҂ynR1!"IG5Ī@ |-߼Djxq."`9D-%Sp&ҕ9˜Moh }ouЍ7B-']ѹ٫F=@mOvwkn7۬@_5M(*7TY[mPP<LM5=Ъ4PQ4V4]'pe+s͢Gnz[v|#GYBODo]rX4DףB6@ULR^Jnzx3yo~ks# +]- >oebGy/ "l*J&* 풿1Srے=vGpUEgT$`fC}eW(Zb́fW5+H\ǕI|^RJew.>!l0~c2IKq7Vf;<(c.US޶0BhgLӸxW9tS P4}~18O{J)GKC;Yoz'unmT_| Y:"$ |I8rbLjZd /s%g 5h)#t4m^v IҜēK&R9D=Q|=d" QGQ)n1#L X2^ ð u#󌘇LjBY[j%k`-5-B9ߠ SXfM>oΦ=zG5;LOhBEOQ"Sb?k.خ og*( T"KsY2w0E@%Yb([҅}D9ys$hȪK&lj +XDK*{)t{YL09 Dݰ|t|x *ʴ/$-'?ԗ5 uIO[ Y# NgkwL?섣Ƥ(&jlH\؝ PUW()y FݸxͿՔZf;lcM?q\A@BM*_4?T~;kpҮWDG^=NƜơ POhQ^>J=W^:U_9oxk3ŶY+eÝ(iy ~ƈ>{r8]"ϱ\U#{KJӍGCޔ+ %dU؁owfn hޛWrD;qݵր+ (K3GHm @ yF_zk{(z=l PgWqf>9m&0v7zb6@:foԎto"$0T&M|yMNgNnU7E0,4sq 2x6&O "R[ A"%PKTgt(bRy>G}q CCB6-k\u~,/ A0j4B hOP`  updFe7&j`ʹNH, 6sPOG;3a$aNqUF؊&³92c =z8#o5KFW3T|ZR/Udch%\)v͹4*t)N|h͖5Ep 0K췳om. G5h:gҤzpѢ °;k:?S65&t ֙F, r0}ڬ#@ew+nL,ֻ4>0tyCmfr$|RFml籩آA3|yp3H>'c8ВP#]kx?I\B5oI 9N;F[zX8p1npGQV{Ӧvaݟ6!x#݆=hܧ† `ՖH.]e(xT2hsK 48 R{4je]kh*^b`&_hc܃~L,=dV0I&0~=0K2)춳9*]ݡt:[{ĺZۖXR̡)*}q6GpwY\͌cW2)K&\MG%G`^L7Z@ ʪ(?ra0P;0==0tY15xΚ m@7w5ujI-nD0| jwWG04y."AkU~&w$OMƯT%aft^wa,Ѐ 6s>KI$_+vs|Mnİ!A_!}ҬGy{_D l)Z(k8/d\c EM$u=AzGwe Q'jODfS(]>?67 p"JY(|`Uhů$\(87wZuo ߊ.V d7gI[Q}pSq!A{X.֟Cѹ  ~K1k @<=D-B!Z]m=}8'4t,P=@5-L} R/ZɈPqlp",B( n t>z'T!SN,Q&Ze[p ?+S Ja+YI޳`Mer~9%db mRdYk`TٯRgJL(S,jD%f _Ax_ׁDYqǐNG׏!dU\zhO,qfD?4{Rh{W]U&S/L#YB8Yj慺f8L}f&+&4pTs^N"6O|-Ѓ4J6Ќ3i5h8]c8ɧ,iUyWue~ndtC dQQK0 lBj`AI˛c&ʹs2Z/ I^_HZ:'aL s.KGWa/zca_?M"-VTY 4y xnCν[?\;1RpW! V ?&]0sur6lK=S~&& b!#)@3Ht/Nc&fbP"1*MJ[*[,8gY Z]g \p'tu43HY[t-;{UzJ^CS1|caLm{Y?qaM8cmdFE}ٶNvdyGHԋra¢wl7RwʩM!AR f9o&!+t1 x5s9Sɍ|r_ r%LVj֗ftO\k *as8}x) vI.5ʭOG\Z cEbx8ҍo'_\߽g]O3 {ٝQk6DcuWa_l~k陡z) l~$1oDx>7еcꓦ4j-B՘q;F%DVEՠqSDt2RBRÚ bAx{e}9lssJɵ>V?M*5L G&ySp[=P_(f0U[o87ɥ;Vճv߱mAjWƨYsJsY>tkh0I'훔˳ υ̗DQ9Zn8e/RtGZ:TOݰyƕ .>C i#{B~15 6;oVM|E֢>>I;d{dU'o!Uw} $;c8~b1]L+V\]"$QBc8|΁m2\}xv葖E# yPѯvc?ũ$,Ru٦t;F~*hVB)JR?T\Qxߥeu024(?`k DV.߬#m(խz.*(uaU?e؈OdzZx!oZyb,ˁVZ67R6Ulʑ-itvAuJETr" }Sg( FRbJ 8 }_Fב@ y/tM9nͦQ~iKGT0 8ߨ~'t[ ^r;Z750U i'3AV\CN0j(eElG>op1zYxOSoYsx~!0%A7wOFteжTl_Fہ::'@nc^}c W9n4_.;#ٚլ\fQiWl؃HjaY@=T{7?2ɩB ({F`W[ `8f_LN*C]C^@ˤ9~e'Ӭ'E()ttroR8M Sv@*~qVKкbT=jUCc@U'hh j?@}ڙ P!(R/,Ҟ'A^o@Zhдbw_h̚F4ŬZp^`'Rtef~e{ކHDKAڲ!-{7AOM)RQx] 70 ˥p7:6<3yzT\#wΨ'iF?{ϦzÚ ]@K{@^AOLalLG.7u/ǔ)+0KB{y : F.^&\z:qy)`'a/[UJOa|bT]?N ][ƁSveR5: SŻW@g "?ϭ+T]C"@v=H/kBri4_~Ǡѕ{ŝtmL_~F9=HҤ4gF.CWI/o/S.$1a+./3ƟBΓZ4g@;V4xIhɧA h[1($F~}sc&l#h|dnGL/1]R,fӦ!"TeBq㟑wEenRuAhJȈi!WIO\e3ޓ?9L46_U*5HeS㣟h,͉e/v(jZ#=gR))0YT@|9ͧ)v&45qLa0$襉M[l\"8c֡˾_:;߯SFnװ_q*uV!D2Hl0L݀ Ev3t:2ؽc5NL }-~BTiwRœcye%mTCzN5IxB)<7!}dgoDl[HT+cb$9S[X"T>E=СUǾcPEI>\ЙV5AڼΏbd0a az *fU˸vPyFr(51}!6U1zI^AjU GDJK]-1hL4ci1;,#-V#`:z_g15Kc "i#]~M"$m7dn. A/ou #VgJ hNoQ!0ọubW. #lSr ݁(r9(1-z. VxѬZT v g}[i䢦YI+FT̾H C~?k jX?lKkB+-|^fE1$ /nC5'DCO5N=ajFD !zAe[KD75ڮȏui]d[6 {pzJL> D45~6:2G|',͢(^o+GP$G(w+ŧH֜0͠&%\m2\YYDy}5I4[U[e[ k/de6;3h~lPY/Iߘ̚BFfߛ .#ID#>A' 7M>|ثo Xm^?th kjrͣ CP TE({0c%SlYKti@%;m!kcDJʻiD=9R` VoQ?=K-d~rYK@C |jlCLs8&2 ĘP: o+ۇUP9@ĩ8o 9KvC'2XבE"^0d8:I!Ԭ.F%/./taS9>%俴Pt̻p;8 lZ seֺz90& ;u`9k&t6 5ƎsҢCjcsR] m-"uuRvcy]:m!¼6&VG+yď4Q%Vՙ bވZsll\܅YntL"؆,LK@}ˁ>-}kb I_, #QnJxGV !ɿZdؼ`Ϳ] F)/ա yvvf4S1watLnGE[xje~y1Wȡˮn3"hu>ģDͰAv^A bjg3%NtnIђ- hCb>5 $6>y"m5;U[jk!b}.v/}@Pa[DZ2+1fHXq$=D޷+g|V`R/]4?ӔyL/ zdxdl"mm̳ "ʲ'[ĥ2F?1 m23a76mk<+{{paG&.bz C\9eqM"#y,!J?0Rݺ ؙl(StT8Yl1jzËV*κCG튩GEw{%hՍPWejhlwjOuqMDB`q-z,Q4pp4zx TVB#O(TCLJ -! & ?A oiDVp|Ook|x+W,%uTG{B ķt++Šd56uX (}1ix^)G^h|Вׅ&>q* @tDL6 (j.oU.bI%u,7!ea]| S[!-E L${wy| DG9n)!q_\zUisRqonеr+qd$Y` FB~`I(7XZ,m$GWi9ghP]Eh 4W-Jdjq++.Zk r[QL&TϘmJ z_]i`5=SA:#!;Y3NC1/w=r"yG)l(!nm0HnO6[M=%3P%݆D%EcNo78-U0Դ-ٲ/1G hPa{n;?fZyL4L[eC*mhG4L*ÐdޭXgU<=G_ _"&Ȁ׀rG ,.cdgL!DBDO~Vv:fw"iWxq^[C5˯ +ك#K`^y6aw(@jF@DmV`fϰم ]Q N]p*FMP̳+LXU3wtt&CLeLJ+7$KVK#bMֹx{dǚ;f$ 3o6^ۉ#݁+$TE gSqwK6hc'mU7\W\Ǖ쟈 J{ 7u  wD+i9P܃~KW(2_JFg|| -DfP':GQ[E-XE^'s,A4O͐U_9ɕ>RVCq쉂[0F1\AXݔ'z%< 4&l2ᝈPgs-3rQ"x(wVWdG7Ο*]YnyM^RX}B zVG^83M@-Τ8qU}T͸Mܓ8 JSXZ{oz뭦 jF*lF*nZдHN8AGy/TMњTllv.aP נ̜SWVt~!Ųuw]#zW@J=}KFKw]֊31$+ѷXztr6u\}zNI-wU;J %쌮&_]/JTcجnn)&feSD:x E1P=sL~"UI%ݽ+3[qZXR ]FP_MFyN:WglQtS t{]DfaTEalq]-!򤷧\(b*ɵtwKC ]^.QE SBݢ$Ͱn>n:.imAt@܄Y<Ө.ォ6'e|ڬno u Um ʶK.03:R`;9Ey$@nۿv=z`yy uKID?;ZAc7BSjXM誵7?PHMv wW:6ZAlWxWouw!D S)ŏձ %~8.)QLYu ! @ Vg5vb[ ƫdg O78R*ZY-Om Ʈ+SՈ5JBofsH0Odݕfņ.I)2CA_;^3q`#Z܏-)BtO/'?ƍ>N/+C-qU3G«q"jaqbyjqՃ؝) Sz2|X|pkb*D_/P-0^JN}ujEmK|WNSೆ?R;1E,@10~Рj˓-$i "Q؁IGR&ɬ#JooVBg\ A7PL(:UaALR2wxL7F5x DQ:̱hcɸ ֬Tm҇kKd KbxA"}=?杶ۆҎc l|ߜh1VReI"s!Pt,8t5-K;GQwn:kҦ@Md>< R5)8z ;`6m:Шr!@i'=zsDq 'A1( ыվRΨ˶8fH"|xL+; .jd^,X~QGWd(c-x/;LS5C`ڴ,jhߑ MH'ĩx΢?C7QUHfp6?Z9&aܦIƎ!HW@ Ł&"?$?$g'I$AD>dfX!"$}%o!8eڅrڨNt;6u5a7a,]U2XjdRQveKX yÈ*:h$ d 4.GBf\Ƶ!-MݪW1I݈M+5AR.K /ă5w2'_A1_|h8M-xbrw.B%'(My3I rhv_8Zh@fq1oYդ}@kYf'WUw*H鬽R8'tk; O;Cge}C*B+/ sWiy)~5?TU6J(9_ Bl̼_~%4Xߦsxw~2/#(pфU؟](}YцA˖Wr joJR 1& FA3T9`= b@~e#'I2T`?;|Z.*My*Ԏ4P(6='kzv{,)786oך@dڢ@鵈}Vp`| 7luV㮹ƺz`?fx^;YQQۑ.{So ^8WOy~1%9G=g&]0r2 Nwۋ$x!JkJq}m;LzoYvO@w-/n,ӍL$~h٣fk< Ⱦ 1\+Zd@&ff 9Y1xd77NɷD s#m( >-W4% lxۙh+KS!&>6cX s`fxbG ׎~)`~w?U !ۀYScu]^\9Z鶺28P1ٴ<%e+&($),գ/r'ujm1GJUpѢ+yANrX[B0;t?LW&h 9.0#u;Bg{=]oy酘iZ{-pxځԳ;ۅ fv퓽(]]N2d_KQ:l}#?@#ǁx/RxQjcb SݡrB.uiBBDqC<*(Dt@`~d\65Vh H|c50lؓ X.=3s8,q+<l`g2?1̦F2B <™};:WYzB!1R?ݢNSyۤG.?zیOmsy5@_[ u*MU)Nr^douDJY,۳/ 9LNN <6>ńCv#&/i#Sic V7]D-7_u[@ElE4/6S1Hƕ Z_ "%K@j eBəpM\+P*¿u?sY-yMm>(Ika2ҡ+9:nt础xoWs_`oyu M>%JみggS(4l $1Ga:X3RsVBgJvޅ~'yMƮG-h}E]PVF |~/Y|iA/U; 1V$a$g *V6z7MToTQDŽe/)wbBl%A@06|tcWK*;/H0( ]x[wqe[nÉF@囮1w׀4K=6ݕFfuw`KΔ0#4ATvPdЃ4Eb4q"9r}ˌ4~R7;I"x|SA2X+]F^y9e{Jоx>4E7>sM9fai<dIEkOФgu UT>WD/0z܁KDד4˭;bK|JƑ^jmmq!٨)_%pEfFQ۶K!Y;3;Fn'i7U }qw~zţ0"y"2_}~ KI'%Wx}5Oa IUuRmEN9i{$e$c&'έK'~6:34^Zx̖w3hn^)s\Lw|sA"ey&Q{U)x.E-8!' Q}6-74nCINby6euC> -[hQAi^^d"QrU}T~0K,ռU~7g\2s|IR=?pI?]u^qS'kzz21yFYkjZʫ)[)5C[Z;x;OJJ'wUZ }B|녢y/p^_=e ۗ/MۆA uIKzf8 =n~Խ~2HC#GHuŗ*N-0kk=):bN1 a{>Y-:en8niEټ!S%+ESӹ6 Mtȭb:թ0D ~7cz-B7<3)py{g:B''eG͑}& )4?IG1]\=֏j{MMʷB1԰=m&(ii{:÷%`.;R\+/8MIla㫝 y߯; ШqM>gRQDyi! 2%L8Jʅcl/{ -b4$K5 Ŗ!!K]-BGJkg? lD콯'A!/p4WF'ᙻzy6z +G͒!XIeQP3Y O?A@&"w?NUhZ\7w}4`W}/~|̒2Pfv qI9Lc1*UKl~|Ӟ0>|eju`>;씯&MMwDNX`nKZi>Z N].[(dCO^+_d٧ǥYkP:)6W"g9kH݂dErz晗C4"_0aĿFM:U,8H6="~@=acRNv:lDCz2ߤ"k .8u ю5zrfgw9y%Echߺ#dVw(t߱q CP+vM ?l$2XFX7%N L]hkZK{BM*#Jb'ŒVv#!r/LjDҴ.Jnfaoz2l7), ڠָI~ GMgĺɁL"HEijxUC([f{8 ?5}sU W(cgX<~ujiƛf>ន4`aó՞XJ,io c)VgoafzZzfj !l%o%ysYN:6 g1Zr}Xt]\e۳9]kַ;.ӨlCtIV!ҖQS<S1 #zR.c*ÅN[8^"FQL&jZ`舢!dsxx4r\6\wA:By{ӶqbV5cKټ_"N.:S?`1|=[k;y93N6:(JxlLgOEۼBڪ%v NP oP= V'}/@#w|SU_ߏ7E]hkb}ڳ f)_\ޅ*4<K5mhPn0Z^:Fw)ŪqtW$KŚŶt'D?ħ/맴>-k:5kn'WYTv}&A@jxY7$h/ٗ/v{l˹a?rf8![ Xf6c kA@SN]8)n%=Ehċ+ߝ:nM]Y&UwiQ̗X40"Btk$TG8d#99!0zޖ ĴIFRSfWI<~%]!b%[!n^ Xp -LEMXJxTp,/ 71YyP뮏Jͪ~'ܖ1Bn(٥I-#AtDR|3]zkOz◿܂CW#b-rU@!i6r߸hwR/q9>bn|jgS(PS2N;h(do__YkH>6uvV0{{ wE&mð:` aSN0fLmZ\xWĘX8tSfd"ƃOˑ^ج)1aDd[h ~2f{>_$c'})HvD[=|7m 1z~c, ۨYuhU5bux0 r18p^Y}FS*5Y5=Gyk<MQFOmiוGş O|<[FbEym4S#&RP':l;?vP*^Hr5冎7f4Љw֭52`RˣAs+(`.F) <ect(aN9f+C>*8ooDD6xU1fA>~ c?nOCrkD 5;O|PTx#~6G˅Wc)|G|-;eL_,Jj*27A\ GiO+XG|T&t܈&Ϛ&c 34!\Rҳ6Ma&E%qy.͖ \ݘ/XH[/ol~.o g>>ʻXyJg%5v)坘Ab=ݹ)J.Lxqӿ&ƍàϥ B^(ؔӸ]J uęhDVk Y95) Q;FZ@">d uN5]G'}pDR VSh2OOZM+;l:qd٪P"?{ndu(I>ci I"Y]i粲bϲ8\ S@|+, 1ȫ{JPc0ABU皈x gr=fHHrɈ/8#nP10'd`.`ȹArzUX;43Dlb#[q_mAQ Vj@S_~GfR`ClTaSMybGq9g)G֖5=H8anRp[܂Zm8sRK<2d4qH2`@ uuu$@Dvki3j/$"w.щEBޥcIJ 8Й <,Š:gA+;*KF0Kԟ#Y3.h~ Ҋ&M hݻbt<c2"_@LjF=i:ss| p=0̼Y *뫄H_~!*&eu?ށIo RJ@f<<&MZ 7fIWmVYq|÷Т"}¼}a}` fbw>=}>[KX}FJ!(0]΢QChU %wpWJ<ila'ˬH(ϻHyO`/ƻ3V;w!l(fr]#*ˣ3 [Zjb+\})c~Bb-cʸRu mݹ'׃ÁG`2;|?M#nµXϢ7ȃFxCw/?H1|U$)ߌ.p죈6By;MtӼ*C}˾x5ؒϥgPnpѻ+74z 9-dj6]k&WKfDVl&tU1Lc-2Y@uęi50S&f}l8<ŞPNIu{6j,X~-Ҧel]mz< 8PǦLՠ;oB cbjܾ ) '}jѷpzmN&?=}]p[tKvҷ%m4+SSoG uqT~ަvRW5/|Mu屲٫f H8DQ.hDALA.|-Ǜ=^ RRrn|=7C[~CykRwq;g&q"ehAr̄mu!ށ1V@OLn[Wֳ ?_2>d+e4H vVeYGe6eO\4 &8SaΆz=I qw7 *>i6AB}IHVLwZZJ lez=G2ڳE4t..m4m`_RЗ]E2CG· "ۏA]vȝD# tmo* 썩 ]B&–v%csm2REL:U|&G|Qz9}kEDD5( e 4(5`]IHܹ.8<^4;E28H\Իqj2{nXKa|"ūS1ZS6fS[uuϚɪ3[^$4cOQi 58ԅ# FrtZv9e`E 001;YNCFpV{Ɏ/Tc9IXYP{R.k7(wCq)߃= tP\ eS,&T:*6p%ijLQ*W.%Ʉwx_L!1dΆQ m MBTْ;=ɡ?9u3 hY m_z>TVb:ܾ(,?'*d8S>JSp}8U Sn7_\c -s'~t5dCvwSGMY }]s tﳲc:"mڊb%8}4C@i($fy*c =QWd-1R$aڷs-.c Q([pdɸ%RFlO vk.'^Ny V}&QdfgchT?O`5G*GyսԈ\QS0&xy"vW] GMW4 QY| (ZEu9TCYLrp,qh27=HZG-*mսʪ:=8rOFq/'&yDk-QyP_i(ӸtӺ6j (Vi{DZBrwňt)o.'{h|14EgDjO~gCDJ-nM ^nUo9kif@I{Bh㙌2/r!sY~@LYxMXWb/1\>]lz5b/PLN ^ḅ%iԐ3w&|- e =U!F .R$W oRN F[@?(R6!}KɦV0CM"&I0[Z=NN5UaRm W}n'mr]=xf=t wsQcoaڷ-DKȭ™^E!58FNZZZڳA_jvAjRa+;(C$4Xd`*7V sz( vusV]LwZ  pFr-%)FTQ8c8q(xX#q-d+ӷFLte̛?ah{Ǖ.J"4a9:=>!2, bBW?@MDK< 'Snm=f"i82O$WsH]E?ON8Drbʁ1eŕLTr6εj)vkj+iL)tϻF6ɧIZ/Vy^i4jw,iɆl:NQ9I6sْQ0Keߺ!8y-YԎMJWyCT2+ { wu@ mN+{K\?Zn#k/ '݌H~q`fxos2T&ʞG˅Uд}w6p8.4 aA;66 ~{Y -:?u2abD nHDBuט9Ժ>$Dz1l/ gHwrtGJSv'DP>ͳ&ށ!;GZL]<=̽3-6v-ɐG#~c_ӰF#N Z0oe65g)"!Uj%i&ۆA^/1u 1[bGNX-#J`Y|7XC%r!!S%؏6 c ~:a3S@m&==c˷"+λ%.$1 ]V2=Nt~3JHn z(  !3!F<{|a6::W.,DZe <_KU*kɳ8nۛw &n8c=?udrf<@A /խA~ت A0 iZp n [{ 6L9 QJSHꈫ< 1{B=gꨴ!6B+W/k>cD*^LwaG_Xy7+\mfv[КK5D2Fh״s/%9va>Ԙ0S\|te%f)VTjP0۬3Wdx]-́3_C`HZo=ڼ?{ rH+ղ0`aP &}+ >#qaDq$q[ K/ܓ!(6s8tVEp3$+z# {q1riS$~9BY= l.nOi=[SaiOCD~ɭ]b_o QVvJAHC|7$* Oa?TC7rSN.iW¹ *JXU`p: %MCm=H63b&Iŋa<V6-э(y$>Ei촺ǒ]T}yG}OPAwgtʙp _̇^kDo#ʦ+?L|&޿ rIHg9݅0R6Ӱ,T' 36׺, ,XQ0:K SF\ eqm2`8(p^Tn=ow>ෑ H/38N,cלPO}׬Nz)Vԑp-*}{oe CǼ46Sѧ  4 VSE5 >PؘЅ$=g߭UMLm¿/O1on:j |퇫\~C2,w<3jOk\i_&P)d)D-/fF3踑:'ـrY­.ӄ#O:(}ϴ5D0wdc1s{jX ۏ᭡{)D}΀MB:ZXFwp HV{ HT֢<94H0~Hӿqt0mC|t;;R57p'%?sq>Ғ6ֱ;VEd瞲whDiY"=Gc뇴"ow"!ҎŽ [g4zV-P* ȈZߎc3;{d잀@^m <]{ޚh)!:PpLo.S&, v%ׂ-,_dCɔL=.C `P1jtX8ǛlNKPbM/X1p61 T5F/lqRv6o$/al);պuRj7=X_K(4Z"2<,ELw5./@e>]ڟ Ti!.hV\w-7~@6)'z#zbB_@?-TQxFttm#IA/m_=HMǵ*ph`fOD5sx|9{ ޠr0d~^~UzJtt%sYb,1\l#Lv1/E|O.MM?S ~ehe]a2!I$HoEQ9F5 5"ŖxaU('.@I. 62s=lqm(ۥެu4IU]HKZǿ{M%_o< ;ҍklpUtח}I+K`O_PEK"%b$` S}7\$.ٿ.U;lud+ġpXvkv)FVwX?}^ u$8vI5ظbpXhUV2ntylAò|QD>51sqBdˠ/C}{WR J^%S-kn[})ģahsf.̢Eil\!ؼYC09~xk |ٷJqG%ه,d]YO1@:LI hqȕTJ6 rks{QʼCee+9X8,fu_ 𶡭{U,E$;>X% vҋE_F3^ ߦ@.r$с{ݺj~ 8z;sM3}tWXչǶrB%1r!dcgdF/V8RAv[xʅXBO쬸kQ7aPF ߂p4 WW NOpx*U2ZI6^I:$Oy0oF>a ()gTkPia]9ᠾbjΟA)%iȋ\c9QbE'3Ǹ]jgb *胺}Vy} 6:@e-Y}N'E E8o%%MіiВ{ GvibFS ?;Wq4Gqqz<r@ _E򋖾BBhKTlgDbŌpǍl6?bSkp DkԓW!`#s|合PgQGKr{)KGO1.8*Җ8N5?`{u+`!)瑊{!/@L!`NF GlQBʜ]RE4Il p'fY]Pb;3kqJ##*^|WvČy_S\2{yX`@7h2A1fM(pm_2_Ȅ;m< -"ɢ"8sl; ²ӱӠ˻NU i1y1# ZX9ޥ5q {We*@=A.5j ҒG~G,ey )!-#q+C0@Fx݂i[mGڎ&.k/֒8EO8[:P2.2ZylΖ@ R*^'`w枾ܲl܊)ǃ4MQNyD9t '`C )<]01„]\gW#,z }YZ\K])㮥^T%ܞ3`VM\G45zƃ^9*&=)!Q]waq%'P'd>ʰH|i=Q~XU6AK"'l~(X||Uޅ^X6R!~׫zp>&7yb#q hU).TO; 0|W79@kb dqn;T7IkyQ &a:4Ⲛx6z ܎&53$ɕCJ9umޠ Db LR:kW81F(T2)M#=8o_[d .Bcl I>rSN~j;JuӺwAEKpѓlt:RSZFn0ie9q|ciJU(31[h Kn"ї47 R`TV:L՗(pMY8}y"|Ŝ#kъCVBrbv"~9%j-ܖ7 @P2?5K{\'mrˠzP@u)7n]b/r/{! 8p4SWGᙉ=YB-;ҥAWO#j;aUho nsuPVz{uXTuc՟1GLKc@gi1[7Cȍ/WeKyb$sHqw8:t4F1 7["1'VX3s?S>Cswmfh$C##W,]ЊJCucieWkW޻<-$2/.z[x+^-ie9J/¶J2q %g_c;Fp\ZuPGpΐI/2vUM2 fe|M7, 08$D5D| xlj}A܊=#TU>V랡Ĺ nɑtHqcGe&|ZU["ՊαZ2sXb' 1[ֻ"= yU&]'(xSC"T4 ~3f.=^O#`D=Al1ߊE q>8 K$)Y>j+/b^/rs" S~ Zd޸gKi&^Qp"GG\~IEÚ#NG46% HA#VoI -P[,Nd^1S?EGqub] w7ZE >6)r]qEKaeB\C, c9eݏmѻ/b] ¥{<o@ +HFWmUPvBm>&8LOR"'CACGI~ ~P dʏHYߜd $&iq=ԪIլ v @&q w{.3˫:tŶ L,rΊAj][:%S Ƿ?4΀XbxY#03uշ=g!i=1g"J"ٞqD]O$c)}8iwSaIOEgd!5I̽<@;V: m:ȌyQ7\,ass #q0/avzQhJNx[sTBeI(;Atp(u/W/\9q$4' #LI8nm7(͛\\Uz9vDɄt0<8xb*^Vs3x 즦I2 UM@w@QmIo|<@":JRT]s!mJ|, 본#|.wzF$.6j~G;¹gXێZ'0`G \ g#yq?O<)ɭBdKp:@ %9v /J@\*j,聍 w؋-@s@K|n؃Br8YR OE*OL#L S~7\>SOp+7qF\""h.Az Seo@u 3v3rt$_><>8Wۯdj Go?뱅9mUc** `\^) Y: xۑ$);9BShPU4޲r͊>@K|$ons6bFh3Ag^1<^G=m61 6A~a6vF A7>H~NHhGgk\BHUgӯ|7]cnKl LJTjdB1-,j]۽;5?8%Ǫǻ&Z)JXAykjt~Sz)Xk'}Do9O|^tA6Aާ^hZLvLf4Ycr[SFzs0Q_ 첕>i/O[ǂ0Lz/6T}53'A1raI"ȸS^A[VqA`ZK2-])tUm 7su ׼qUZ!{DÆ5HgP L dtޞRa,*nҵ8 Wd)rC_9KG4C|P>KK;K/F9=-56@FfVϔgw]׶x0 s;vAyk4EUYƿ e_2W`UFRF^v@ڣb29Jk ݹ-qPKd"aЌD$gwێ_GybSbP |yuh9"-a6> Zz8ҫ{.)_iBNQ&zI!ÀZ/jXõ:RTaS2 )~/>}ɉ>ޓExqpKIAsr2{9X‹@=ŤcM CqDΡ īg-QF8@ЯI/ 4h^ȏvсuStINj'2Agv {e|IyO*fpQ2:xFr/pz$႑wsnf6QR E_kg(7p{ 3JHLK &{xߋI*ۗ|!/iJت\.,#b`Xfo5Ji 8l hꖶݘ\(]|2ro锧 o#t|7ME N1sn%N޾2)xl EjX"Tv;l)AFT`eMe*އ[m'pE^%i*f ~57&R:7v#ꌆ8?Tk3#7{ ]@ə1V7´آ:]դzje`uW"E]fH6ygEw`Mj"%]0{m{>H$Agxt!l0y vu+wb0du o#@hWGUʡP6%i빨VrxF{UVf~lHt2g0u4YeYBgBKVPYSLp:TW~,OA*t -v~j")J'm؃9JЁ8{ x괕5?\qbNZ-3%"*荏#v0YL[ghJɫad$yfB ( 'Gۖ-ۓZ~m&\)(jG4"SZ Y)Gk Fym wo  ]RST΀Yqux| <ϴr7nb31ShG8_ڴR!7>)|tZREX_pUEQb!x5n*X2*&K"y߬ZH(yt:4a'{ٞ:$ ݂`O\)"yt`[ְl"A j>}T0Qnڎ! .-NqZ #/7Qh! ~WɅzuXtje`?~=^?)\kno /éX-{;0N-TCY42B' nȭlPf!&^SqF>}5nK8,gij"_ѿ,ʯu8>9<%Ԯ*AfGxեi3۪Kt [QV=pk[KrjjKR@HfsiW,O`ҫΖ;t^.%ߨI"k7I!aC5I;h/,ԠTx aV/h S}aL7FvƏ{43{x.=2?Gmx[mΒ{y}WF&ԻZ*Hq]*pw`*X<{fZS8xoW.f緌V! ɟ+=ߠv-zVßbU?2na`pû;"@ZQxa/hV/!*ׯA|tȶw6ʟ)ѐ}UH1o~G0E{^ׁ}7XeMv鵗 2R^Ƃ>grc0ȌaTf:[DmDKF0j${bVee!fǘLBMߐxD,Õ%WhHg t]0f~xu\V #ZyU!&\s+8Jt K]B_`/>+D.rx?#-Ap[)'\|_SIނ4ID$D=`H<:y@$)[UPKڀmqԛ}?:Uo ]=s {.I R^V1# KF+.H|8LW/ujkE7iblb;aO_Wjӎs&+9c*AoqHb.nѸ0%1Ŵ2 ".t[6 Oiʿg~\Gr6ѫ~b3"ss?]b 9;J, ( & y$X'{*ͱ1Ԃ⺯qWh}}@/XqAg>L;䊅;MfeZŁͷg\gkנ1f%VKᄀ$ؤGRNGLd҃MR6f Cx_ҸBSԌ'L?hD8zX>=-N D2TQsqy.cFÉ>E#'ݏ8s @ %R@ |&@]DU^+hQ&L9LȰbo+02=Jm8""<J|Cpo?٧pʃ{UN&/,TNnDtPeXn(ffUO{`ݩ1(2 RW.KqJ\( SVo>jSt3`LmJnmfq6) u}zg7S 1V?^vpC)!ŪX əw&A xT?>α=8Mi_{5pLglϋ"D|rHC`~Mx/׿iqg`:GhL${ZF~Acg/$cp|e5B˧q(FGm)SWYʳ髢 *LG0c1TDs#rOo2<3DX Of1w+Dg 5HUqHmW2ý$ߡvLtv˺U䞦 OVMoOjk6 /_Iq(^d#:Xm.Sݦ;σyCcǁ+.Έڋ zQ-eb^4BulzmCs6]EIN6.7┧ڻ̟6iM"]̧dVkkhL0t9p=b_,Q9Lhq,o՚qg-· tg{ڙB)̀uO]-1-,)K{WIc, okR~y*|˗~Ń,@)湁7=r'q/t"a%+tqﰚϖWZN_ ^X6_;ސW&Mr]Il O|L;ݜL ܼm¢ z?eXEXC$_oϦTq>O&ՃN,GGg8.N<pE{PͤօH _kZh%z:BAP[ g%e8w73jE z'̓^u7y0{|ƫ!B9IH] t;_@,߀K\JyxŊ=9ºEJȦ|LfH!1ygZSt#çEa*܆tn3lxM"-+DҾ`_B("Q荼m5EUbu, bԩ9fޭ20'?l'rt#Ei2(3KNz@Shsyܝ}rcQ1CQO;S=W$8 qŹmB'/\)ţV8d9lC,Q5.Tg:LGC83m㵲pa<_p=r*CZ8%*Cn4L+$)<"LHC9HF⛣'mZ,\~?  D?]S™i8i]ٽnK֟qحyL¶1XB=%Ҥ=k͖c cC).K_[9fO˜Սᚐk/LTF$&m3F=O MÖ_qk;%{]$NCzA'M1Bp0GZts○E0NXF4yâG\SzY;+P\i&NIM|5E(2!qI F%9x'R&=;cM v=淋cNF9Px5rnWV'3zvbRzR.u:fL5.f"8P􇹌.vLKawkol"v_c.U*d$1 AxU_ |M0Ap;]9pc-fuM%g,YkN̺lJ".L"Mv;xc"S n`/jtf;v9:ErYw8^A;v\ت Ք@U2UZ* zP6 ]>aЄL[kdv@M6Qqs|!d< 5U0 ˰la4L 3-D^T$Ĝ U) {&ɹ[7Z|[&.÷t=Xb:,]moptZ6u>rpuqM6٪ coG{ Wp[ϿJM^z=S0ɐ3Џ(<5 =&hg/֭ʸ1>|H^C&F'YqIE1MW+9"*4^= -_k3*.+0Q4+%XYEBj rG5#b%O>Qnw?]RRZO_02x/ #KL՛$1'lx묦t=zN]8m:4cds-ϡGN -W`fCl_pau@.<\b]7$M_woh|sE@V) D&7-&ဧG:,Do)ڵ]; -xm2PXj.cC9_Қ(, &:3eRؼvPs,VP /.#Up$a4!L)se;{Ntt62q B$@fy]7Pq"[, !| їK6xyq冠"SI_[\p42{t+i?4$L`^h|ެo,x@Ch!&wbPG*X_.Uf73i2?˪yq:DU*IQ<[Sr$~Ƕ@bmׁ؈996I^Ut7cb^ Wԑ>xKwxu.8PA-^䦓6"X j(hx+/[QN:(ye.|%ƬHE ~]g,G' IfO&jީc8Bvw)u aEŗb60GKG]%[`=e@ &aYf(R-*%y ] yj.io~F6kEy^4A sHJ(&7Ud) mMd#)49GN>(B;,qz1–]  #kKm)ߙBnc@^eP"@]l)F4s$631(*[@䎣~8C~!ό"bk-kRUzZ#^hLQwZ#.Ez^M 5V`08IM.@{]$Qs2-4B.%י( geE(Ln<,D!$ 9gގ_]+qmj ^ϕ' ъ}I2` ."L)ONGXfKd rAhcPPzT՝XA='v$lg!|ʊ7UDZ`V9YU yŞT@$ERW2JP2p#@b|D_vW&ږVo[ ȏô˷umLVDh $9\PHQl d{F=d;3EݮxS7ATN e4yz l=mв?x0ax|kƶ&caxRW _ր'aD̲\P'W zX>\2-~+#4[TZB[gBGb Ź8Ydj08F;v4@F<> g. / |?NeS8Z $y)9_0*h@تraW:}qh ,It^d3G];KJYi`ĢftuAHt;kb_׆Nq#YMLTbVFm@o?5Glb@ݕ |֦s:KZfg8ecrkθ;J1Ӵ"A/d˹Vd.u0 Vո|!atc-܉\OPzs4}K_wG~q*ڛޏD DoRX|DSt xvkzV.$+ϧ m3Aw(bxrr& FmBم*\"󰜕螝=$xL7ySE릦X;o'ܮz me 8wJ+oY [&'~S6I0ԙBuJAl"~?>Ӕk=<%kqhؠv]&"=-^gd4u(%2]H Ჽ9LypZS"EJ<ּaFChًAO}ic.H Hn 00veL4G泾|$_3d:?7eAXM+r J.=tb)gj#+Z)~flفXf/+K'!q&!o=Q|uVg䴵` `eR쒿K\iޕt8We* /k+CʬZNpyo6}a]$ĺ@%X:ngrha&̩g8 |EE;W lA'akY13KVs 5'֨-en ,"|VB'1\ȺK!-n6F&Cԏi%EMA aNˋeC*j}֠ǜ z3$^X>>bޢZ."~=1uEn8H<|)`>EvG΍wk=O^_(1M R05}oPb*v|̝/O2iokDH)Y=eWB%oT8&gfTdz4MSlL[s䰥׉㬸ؙ4Ǭf#emDNn>R)|rF3qU\Ills LTUxb`Q-\U'$VԶ] A2XD\$ `Q{SeK_&պLW1)Cg: g;vABnuw  %)i!cw'H"]TN+D|I.dN0.P`]jf  譻Gn7?p]ݧ! v@@)|a7^BSu< GbG16k˞ʎƎMā] f"&"t[O&휰sg/.7?e7@g=Mx  QyfOPM<]cLK/fxgVo̒^I;Nt{)_i!cG^u5Kߨ54 p$ a Z;ܓ6LnKܶV6 ?͐زPr9k!E^5w`lIA-I Rf4uϋ&^!͊5T Afw%wl%fi@RpOr0739>hA4`X; tb=}|sR0b@yCI@ldx4ho$oe$,D}@uϝ?rFΙ(V,yy[@ M{6 {9ͣ0č<+&8%͟>OgLΔ牸- ZF-Z!$Y_(f;se*.m umQ +׋WS|2x cX|",8kݪ?mk_`V{]J:/,c`%| %܂_r={G`0&:ÕNt(8wj%99'&gQ3l~OCp2pŅP+&cùAR2[HLHߋ,6NU ?{$~kȿxY>j4a釥6nu@?-}]Mmj_1g@0ⲯ9Mh R!8\SE5s{'yUb3]rKzoh "*0gvNפN4cN1mڢߞz` 7 )=8rE!M/[`@5 (y\u[xz\@^NstO:Ԛ Dඡʮ|%~zh4q+\H~!lΔW3FQ`UBP2q`vsvovB kQO߄1Z'됯8xԮ=-ǘP,D3! }VmcRd}EsRm=*iy E+I)-#87"c@:>g^l 3:xZ$7&+-3y&n<9AxąK)N<,Z:GvU e}]ƛBB-O9&{)9Z7.Q ̬Dys0K7ס[:g"p2C}ڷ!!w6tf}K8p%LwF0_t& \입Z؉(2" - #jY^/ `遗([ Q2w~c-c!7di-6%w4z`] ^.FmN8>1, j5nGZ(XBm-@"~xѱ) xpȮ}ܕce"|JL=(̗Nc^$9h/D /d6v+[i3-F+ȥcNwœˣo~,T=h̯)uaB^nTcu(PJHsMTv@_\pV;1n~tF̊[6h%cU$0[Hҷ xj\Ѧ \ 0@ xJA#s=P~*Y(5k rCc@0]/]; :s)(R $X W^]:q7ecO+%E/QIUΨ"FfT]2o!)l_⻿b8>H!]I7R>s 7pl61lP7@uPӥI 9zEX[GV8kKjD;kX#kfM&\!T[ v4SOB R~#@jznc}T)WRe)7cc|Usͩ絣u8Cp@OӦTM oS3{[ l.Z7d: 7 /z <XZ >n_F[AzPن= ɭ`Z~LUQgd>o떫}yxq3Kdf';jӭ"SQLc,9>Bc8 0vo%e(N)f#|Iڂ0; TÒ/0vlgön0ły=p)}c}Q>[>N\,IzaX_EƅnܑP۷MC؇m@:_G*Tg:VOXߤ56׿>^s%0&t4ߵ?QO>h*HL;xQT(&{;}aWkINwœhۖ%D³άɒ#! d|*$>P!&aq3UI"^/fճFiz~߆ۙ߇2+.Ymܡ\]8?U,DγAh'&($x,.3k&jpeղ!^ J! J#\;jmvZRjٶ0QW_ 2LEXbL"oxDK[q~j-פKN~3X e$ { r ؁КYR-MB < & y,߹>]J[};;a2E 5IR+~&NӪ'lgB!fksJ<gW!ૈ՟{IΉ+N"M0zufG]W"·YY1vidY逬5YozMHN%GaͶr9ڝ0ΦȲC7 >%NwH wh)Eʰ7>&eqWsPV@%u9a#myue ٯBm:,@'jlUGVջ byj`u{nKx\dnqDsrFFFSv;*i'H}$jQT{*X}7II]e_X+a1P]˹*c] #W0-AsWw0A_3QN4q̺l}+@fe\bkf \^uJ*Jd7iv X#oRofROUN~Ҩ~6gA2&s{ ~Rn637? L' )tyENWU3$ BZb'n[B=mXcGuC!?Ej) y9L6cbaxA|0q#]DF"Iik46ɣz{لjsb?e$t7;,P; EaglBI@~w҇c6xZ&drmk& Un.1צ~|6uɕuI1{%D:g\Y |+31><ǃ/PO|Xí^;/=Ngحr8bx'JuĢh; dA`Բ~zBUhc5XI93=>@?mr^" aa=yߧf{Cxh3l;.KDt7oTq]`~ՊroہGDVD((F铚M *P>I{bڹ,I^Y#a˶bb(83Ūv oU7CHuxfѫ^}u0a\rz lb@b}0zr )ohh`tOK=(A6ZxPU,V=~ºeڎ5xs.V7\X"nt}YOHâ㴹@.BJ8|D"Hϸ5 )]/tpJ[ދz㺧IEf=dHTn'&AS^xdhd&Pʐ[3֛U YZ~'(L ]DnrըT#P1O!l\!{pځ]eu#Klh5l}~%չbهpF{ ؁7B\٢͖iʂ`G{(ZBǫE7QWNZ{rݠw>Ԝ6""y ._Oްis$+4[5kܓiI(^o xuϏkAgfȅy緐2K@6* lw@UP4OfcSN_rG zv8rFRg:elw4vzD#.p0#S1X8 2f[ր^ t).}V`>jcJ c;\\j_6=4;1\015`1{μnN`R`ʈ]XfEkvy!-%4\Xcw+AZ6pSNN(ua\a)K<85!Cz@4䕶D%X4'QS\{"xqe tk`5 ƙg4Mخvk3mGl:# tShUIhՙNF-Mؾ_w]m5:6a1VĬq vG[ v,Z&əqrD(ÖGgvK,v;~Lbe636ƴ1jydx#(5@Y|5<\Lw~)"fJnU*֝.vx%gV"’\QU UW]fog.A4Ă<nSpL=19/;Qr=>=o~~iu $5:rEU/@`>YRc|Cr p bb|#-h0aT>: fAg{._YՖyUa f妁yuR$wu-X~gbƿ؀*23΄#Lb[C,^Q`tn[M_D*l07sNBcpBh9@)VOVXyGGb+'h~'OS-8+4q7$q{}5ㅣ*.~'F<:<^ Ъ܊Mmi@pe0U\ljhseA͖d 9غ܋7@5'H]OxgkkW(eH,h:{ЦУ=2&fNAZY/z3}=<(f5"֯mNI@Z!FA*ED hR8oz_"%JGda' +DU!79J2AFP3"T VF$$l|%M`S283jj)AL+ȒA-H os@QzV'd."9wEp-j.`WmH2pf9i={T MlC5:p&0@vXu`P BܝoБO\~osj qұmJor*^|k%Kx_;MH # N xtD s ωm+x#Mo9~T 7q:=zGd lI~i rjOn ,A¨ʽ+!<⸛wI([y@G\^9»-):\8ĆY}o*ݤVT_|yqZM?#Lb}YI+~SV"qEGy3` Չj_o%Rg93).ȝ:SdPq:qԸ$`OEtgx0PyZo{(т0zHM@v@*חth~M@=8fo mc17n hT,P\:oiLNv[k&OFEf"v:O9cp ׁxs}|՘P]}c-eX$R]hGf/X;ٞwEŝJV2"ʡ@kr@%{ عŁdxU*~5heZ?JӅlhC$ Rkz=ۯ4=BͨePzWl96>7 JQ7 vr+l^eZ6\' ,BZ umKfOĪUN HOIz`9jGzDǠt;pE7i)Wv4JJ,c=y׆9lNv:I+֤HϼW %)k="?tH29 {7,}`'dtCy^k>[$@ v;SqciH 'JW5.7 pnZ=.~*rod4XQ=qYV<{pRFPeoRAG)aqvopI#Lz= 5|BmګMuLÂ<R4&GLQdIvB:2<OEƿkҨzA0Hҷ2O</F.F $$ǏfWoFB-$̦\5 1 IaK'Z''Շ^͚qɁv$M#]ɷ%݀jz-o$<^nb#GT B%O `N5`'f\z,`40& ngRيSoZl_,GzY'E!$Q %cYiKRD ^GZ&ˈ%R0_wDrG#N}\ /Ii$mpBqBT=;MV,-4$\S|)%{,dԟq0% @Ɨ ZGF~;H"^XaoyHk?$b u5F ]'4#La,rFw&eº8TV@qjݴOkJ:Mf ܛ`%!}2F'<]9^la?/srw9XՊ6rP/➏wx ^EYݺɶCY3;Fzr&{_|^ӳUK͢q?_I xMZkm2s|[&LN7]ܾ!Cv4S|0猪aܵUxqXq-B )t݄NEhP<,٘.jdآv{a(sZRGZ*2%7 @z:.gv}Pd^+)7.eF@e~ %9]N>n|Ǹy[#@3ҿ m^#VZ 1OO>؋3b#LA3yHdmNjԄ5ic~].JD,)=¢q6ǞXF7QM+dg|cw_R1RQ [Tj,Zn-|B7ZbP?yJϟ*9JpC=(ˈPeI;Jd Y+)(}m_U)l x}OhmyyQ1Պ+9yՆewk~9`W3oXM6bi4|Em5wamrQ8)eli*"1xa+2IŁFB]͂ѭ!V".|27?d@Ӎ `@E(gZZ>o.ZRϬq\:_VxchGU؈^_0aHHPr2rolm 5{+^W"d=oJs3lq0DŇỉG+dܴ֓{K^j-Rz狘mL Ǧ+&Ed aXn*gM_3g]o!L z;j[IGACxڍR,5$e^ũY.@w&0:' |FOB}>Rw'90`2y'X hǂC?0 ;i&^"T $([FbVꗽHbMKnw1&+FAZ랬- 'C c 1T>9.&8p|>t.sx.UxD;MDfgPKI& ϮjȹEwNJV{rLTA xܿjxש< 7 ']d˽y>|Z, wO>piRSNJU6XGJœ Z !C0S&U\q=-ֵq9Ȁ+}A'`|-CCFc xFPq[}짆9E*dF#?]v0Ü\H|E%OSM>p!9z]M#kiZKqǸ\U?Az DŤ>d$ S ? F pϸuP pΨV&x্:pC%`zFa$75F/J簝GݞJRK$CQЊqj}t£ne"Qu3d%nz Xfšq: 1&n6n"tB%\-" fw8"TT%] v~9W{IՠDэɳPc!xb²՝zݬ>CG!6bkr.7;gRĘ%\(~|i_mv.`6_dt; ]_ߜot^y@>}=TwO--81=lQMOPLko- whQwt6rdҤWD{ gg\>oNš}3~hlk|nC9n@+ ښY`w``A@kfY5ic*CL,Ž󇬤Wϫ*- 8fWZx@EcjQX8Q` Pf鏉+6z8 \ҙT@R<Lyl%WgE_Uox]H2bd;T|t vڶDU%F1y"v# }^&|O#|h ILI\t(ޜmg3G_Dth6IY|}c޼JLV -,d@kU]!d]0gKkd*,/vG"Fv,-xA)e{uԀ}/O!u8L?ObHHpI - cLxȐ>Ok`?NLOotaڧP`ǦJ9XgNaT%,0`+:0t4Lp!9`@_IfUST ׌q]Aj@TzG_J>.947 x6<}`j ϪKFTA'-| c׊c/6Df6ӈeXWqYT )n#ijzeX5Ã64Ys\~:gP딗xl%UBieqP}ד>l$'2'}t`%RH=k,!HFhwh9ɇ7?ѱYlqZ`9;ɫUU.$-kj:un&;_'/qr_8 g7~,βo4PR vpg* 姍 <װzIyQeә+`^)(iu6W>`䉛&Ĺ5 ب e% '辽/Q|rWV:9m-Z4;*(D\:&lj5uy}.ОFsI5(m*T{>i>`7]ki K&wbVlEOrƲ|BTaT@VsS"`ZLP׹B~歎!GM:g ԣ+< c^  r B7&PŢ&0@1h O R(}΍b8<dcԅ]i#NZVs7 re>VBq[owʿWG% ]?3;3 0/d vNNLd𤻩߿¢ƢYE?k[hbOib݀qm)a 1,!Of-.ei[ҩRݞ T9AĕFm,oi}{'x~P5mB-!.nRu}S'td? ',WjCͿoW}=(oW/S5N 9kÖ=/4oz< v:F􈋵gA. [bR't .Z"E]h{o/_UQs.㪣a^)r-:n8PTNUF77Q9w3$ʀź-Jhfy/y<ڢ#$Q?ϽJQ[2:y = ]JDd x+}ITd,R b?aêߐ%[F'^E !^3&,xFBsG |ǹyVUd%+_n,99ƭy'->iv"Z Cǂ@}#n@)j/,^q c߮n,K%02^kԌG.9 s/)T] XTn+Ǧ zs(&@ʝ~-Ώؽ fq0C9 >y^N9"o FJ0OJ%2]VVW }1 K8uvG)Klf q nuOo?g"RLD+-1 X;EݑzFv:Tss; {DgCPO~0sIBSk!VRf<)LE8m3H/Fy fTgԵ5:1X:daN <_V0 KFP6<%$xRnla"wUL\w ^E+V -lV`}n8<#̙#9։CjK@rz(p@Zv<1NGm KB+1`6yǝΘɻC\cUP&#TLݐ]^GSn,VV}ND݉@4upOgjUd =LI+N*3u\QqH̏׬HXǸcTjS4PKh$RCԒ +%Rmgj(\h߿ngivWsd]n'8&K`:fD|Λ[xݔ{[KQGis  '7:hgZ-7'W%Q/wW1 +8^;3\`°} l}zU]Tsc8ɴGy_RC \*~% ." al&pM$Usf;F[K> fd#H+$^SYDG= R|G䄅_sų5/cF%`$߅JW%Ar7؄k&9us (ÿTw7+/Xi0ǰ*֮!ɜ= x*QYa=G.;|mVIVe¦O:6<%b{3usDHnm ֲn,9A " $8VL#lKAgkeEKaXWNJ]soC&I;TAǨp {2ɸd`Ԩf8bUQV}H5؜"i1EUٜ?"B1Mu +-%~v@I4)f3Ycr*K&qvɽCS&dV[q!N`QH4J AZvKг||!~F⨁w~^UDX ]u.a{χA{? ~+g]!-e۪\'X70ۭIBkNj^`/Tԁ9 (kxNI[ ا6,&ŒUX ݁XB[|Q.}kZ8'BiG( ixCp9ǨO=5)&Kdpc(CR# 8aI-SPFqc|EADߣ}QG|jqAc%:} Xw}H<%BhaOn-^5*38J_ X7K'_ӴXId~B yRqhFmA욞r9ã9vOGs ;-! aJ{=c4ceW|XV`b=v^ $ꍧK#(TCryF. N&#˧$dZh!j/,g*]l$4c@ # .iBU c~U yz~T)01qG-kO)H)ZeNWK9Acxts|ҠcpORN0H7R"$mWG08De MNM2&0B< dB=ő70gRP:6E ۧ&$ 6ӇD?xاvE&{Af-;cApu@QiCD6X챣 s.eEc 7\/duDzʠZT$wgy<>"vҙ,(*!]~T6E?zSU,i{({MG<܏ ,]w|)Ghk1qbH̪xwTߣiY]#`0|a)Z,/3#HqJ 03M${R~oP[|{U:KtF&ji=8h)gXxl h ~T9,=Ct`co̢ʼB^!ڧ|3>9GOhor#~tVүav=wc y"m" K̮^1-Tk `1vQX1'"5JLh,~#ٜ})ݻ/ +@_hmºǤ[]Mu uTbyagmBg,R/sRn`ΖA[ù姪fǘw |Ec?"b'ws4lqk0Xy- ,|O.f%ƸY X8l#^6*OI]1Agw#A@(17$C5KiצaAϰ1=Nr}{8,U59F``}5ֵh\˹yFF͟{Ir 4D©t'M1.Vy,kf6_A-%dX ܋NtYnsG!yh3uEFoWס]8nt,.63wtzj"# \"5V#I#u'_TlJc͉۝8Q M1?tqt,3\DaVE!K:bL698QHzo SKI }5ȭ&ߥv;B"{/T!4tGSxI)Nv G6;іVDȥ:=Sbȍ\vh=B8۵Vu*Q z^Y 1ohYl=rh%uTЂi[bHB  )v')˲wp.gzosfu8tBvg睊fVݣQDen\.Ma>b[@ihkź_A2kDk[Ƹ]fYwlc vqa_o3z{¯O8Vݣ79N>T1&#u0bBV31|wK~vי)lO,oEHT/"~M=efii: VEX4d!Syʉv|@ xϡhX E,˷&I^ܩ@Ih2ĕ"XH>|~uCV񤥕Ӄ\ZzȦQ!ƿAΏͰPR/x)wQmWmd3`*1 e~FT,fQK I0xX| ȿ`+Ӑ.sz5|$֥dTI]`E'[% E-clh"6tߙ \[=Da].iށť$)fa(ͦcSYAbs )O1>~jP`@CIMV\>HMqhb_k 97X>KQdQQb+ˏlUZ|kUklY^ͫ9;Kn4N><=B9{VFE|ITNj>9<[WgĐFG!ϻG/ J„ ɞ˘)Ek@^x#\UzGye`6ޑI"T;Liɩ-()/r`"?d섾ڡ"_L@vj0F eiٟAڪ9WZHz#m#m.o2ڷ&[$mh's?t~o]X۪8I7̵1h7Uϑpxx1k\1ou]>Рdq&i*>GřpeV_@K3—$>8 shėq}-roV5oeQ-4iIo77̉< C"H-#mb#CݪO{ zy;$>K#v"Nd洍}KjN\[mg JT=ڒ66F \7T1* )blO {r~ٙW XX7)GN n;rAa4V[KE]s(Z 9# )+b4a/TG+S ]6B aB*l#Jgb=s9CF~۹qO\$`G|k7I4U?u$/l-$̊RzZ^J6 {b6+u`(9Aq!}!+w2]qЬ3vR@r2v:pY&b]^Hٌ[.N}GNS/!y)YEfށ,][P {e]Á  v ̤ר5mR|nt%WqxE;Is~"] ÇtUd{[*XFZ\Q΀NOַ܉,({=ru-'~+qrxceg ?m/X?u*$=db@#b FNzk*tH;kyү<;ֺV{l!a,+jtwB!4I9&w,7>ȼՈݎ<3UQ0k}вƌʼn(38< ִfF~baHP|,^Xyv*?@>rNESOu~v1{AKTYDM0K!G^J(!~{"bo" _!<#FӠ۟,?دIb%9KVDD6#S'P Bkb# tTMw31{rl hEZyD]̱qLCeYޅGټ(^V>vpXi =fged)qYN-?.)&J,~J;MI8:k2*o YCE椐)X$QĿ|ew=4"xᮗmf2.&UmSd NJgoH{NɄ@)v|"}!sc.2x-Y~&xKg2c4ϱ> ^$_+Pn4J;?:% t5 pڡt5`۪xh{Ryw-X?o !62.mN84-"#anZkL嵎lVlyqJ$(b2`sq`1߁YW8N%S$:Ǟ[?,˩ eFolS,bRw;*zW6h#f\ ,|ZdxbzR!~y&8D ğ7_'u6a^lI1f2RepoN0)R?=0Mi5DT x ; p ;/ΜIhzWmZ~ͦi4&XK~%j9 s*G5mG.U,ĂY%^  /BW}kw|ph ְ+jdxU_[5a,0Ao!83s +:Z#L$EB|4Jg걩vN}M\<& &)yx;wOTn?DN%yq4=Fx'EŠ)%j[:nGuحBu GmhŲ/F )J3RaH$J ]a<,@gtRFP24U& `U:$@~,mGv[C^ݷaj:qa JgPfnot?0r{P4̃sv |cL|[M ᅤP֍ Oo{ *L4 ζcW=> tLl-תpȵa$\. YWGv/TOqX t=|"=E"w!*p9M.[0U3 E4OOjAl&g;&&}Vs(KqzNfryEGuӜNE|NR 0VW.QD3q&\p-´֎}{殠DU2gKV='`LƾDMR> X'ԟ}HN%ءlksi-;=r +]˻H'yidivdJk5~!=\~ .Z\LKxiz4@cqMLdƑv(nE>7j1Bꃏw)$F\H}u`YٵS R~ɻM5{vOZ0e*.$SaûY/-6Kkb8Cq3^Y ĻĎ2~f_ŸFF z[%p.ITZ>Cn&WvW:x/:6iG8YHSIAQ20J6U@̚)A:P0`._oə:a%/MsJ&rz[CvLF.1˷b8łj g ˲WIkHJD! m77n-oYHfQe@UktP695Q6%ǃ&Ee!\j 5ea]vFĺzvF V PTM ,KguP̔oaj% ^)VL8%Ӯ~ iSsuz_۰ c} A1zxnXsmǖZ6NSohtvfFl>J8K4?nmUSUrY"ۙrw?Y~TYW,1qB82G;bVqLdI0 pfwE1tI92l5opbOl!)kT һgGElUqa/ } 욠 3cB ^T`*z: k@#e NLHu'ܐmIf{Np^=6SL{8A!(@6bɦYw"COA_JLQ"wS5m`~|, gOH7ozyt|6EXbDEunm8MYGԜll3`Qcc7$:rvHqsj"tkJCh89M+@V+Z a7;vS\̨J%R9na˂9 V$[_NRlqJr}wXIq4hC'kz7.GCmSY%F>fp$ai \я6l(A'mK0u=0 =HgG_Ñѷi HhmIz.,"rZ6xn{l6_F./f߄[Ƀ"WSahQ5Y v&{dU&C,F4m.!pjW5@Ҭʼn IKSXq]el_fM\ȏ%/H ($lLaau;C6>Z2'8HYb J }wqLj{ӔocsUGRp^KkHrb-3 u#O&ra .$[9xl4f[/鷩 9 \0aşI[AXy3REHyJOGqZIZ龹 ?3 iQ~W8S"B2'NXSF;/<`dnɺ:Du$"\CD*ڏr:Y8@ukR쀀í Dzr?-аSUrٛH&M6cͶУm\![vE{8YoV#~PUsSR3tFZNtz̐pOs6Y!V]#'d} :@Bi|ԸUVu#D M1_qM闷sF:Bzšl-mЬg>-^RenlP '8d@!C6BQeQmTubx?A>zWuQ@$]1~i9hqlF-8N|3 cDf,V69&3SBX< 7Cm' <|f AA$PPR"pLqICb) ؼn~@(fM{_f90hSyȊdM8.wE?;"@y+ @1Ԙ0MLMۗ;EMMҹfHSE`⍪v"Q|;63ܱM]}{<@pbӽRhZ=F,ԭ;氻ALJ+؛>LZ<F9q?rxq"z0; 8'xl^n?pu|LD2*,ڲz,$Ul^';քT^7m7ّWأz”v_ڽ(U;Pd?SE$,=r\Vx3h E8a $Bh3 CdUY\J6iH>PQы"= mˮ E Y=$l=`Vjy9K$yjئ%7G glu"hi}~'G^4W$89qL="_ 0OƝP0hb()/f*|N|<F5NMʛG}u3IŐCzҽ$#B9;YQ𝵭M~OOrg .yM@ ugm1 9)28/wVq>b(帯J^)vR;%Vq'XJ= 8ct퀚@3S`۱w0`e0w KSh0=K8/ӕeUGMyN:i{c^v$s's]莃 ! Ӕ`=NM"ab hx:l?-vM]&C c m`]`>~&!R VNSFqJC-GZ ^vA\n1` 낶bti3BsYCl۾ܫxUTTɇE6K7PIT,*`I-z֛j[d ٟ\1-4Pa6z5]kZZlu)E8헇ɥ%5Ԫu\[҉Ӓ#Q,޴E ?q4%zHE/r|Pk|5 u|[SvnUPq<S:'^eda; vw؇~gY|IH7# ^]TкZ+vjHTpTr7CCbA17[<{P5;R^cGqԀ~mf-e1vD -+ q|@Tf"Vw&ýGjl8MƘϠb+uw k\IUܺFq+ s wv}'EFUSWs"fU v~ࢰR4((-i'V3)JV6!x- A6&35P1ɸ}uzovJJ](4 2y(e)rdT: Rnl.քWT$ ʠ a4ľFF"O*IbOD;x% L >"XڼsP W1$0/|EgqK."tC}!8^Lub-٪TlWؙ` i!tE5uvlHrv9\xPoq[k1kcG\[2Ba(Hj?ӵu*K]Y3iF%fbZMZ(l5ၹ5 \Jf]VuΪ}4\[eH=bԉgXox"ʟ4 Mq]q/d=3g5u 4)'igċ.eozPQ^_ycV"_0;nNؠQ QUܮ-1a|0=.{dX*=CTIlZތ 6*QQC('<Q  _]8^a SC|M#]jR!4ҫn!^s΋:Ș˸4dѾ@.-jubj5@_B)/޵a`5 r"Tc ̚6tJyT+6CxaZ5#Fd­^zl;UsV@܎ճ[ Tvx| |@SF(r;Fƈ!a2]Wlq(#5uެE#0}5O+OʖFYFToh@׎(\8 0}a2XͲ~W]5wT;I ԻcZ; D(.hir갅dLdU䠌6nR{!/ t>9s}?!>FDLRw&'נ$3;rx7;E;s/zɒV2JpNixW|3{mv4>l >SC){HwbV8+uڋ7̬ *3u5TP4ցXtr% Ͻpw5} +O!Ik Ux4M7+iU>.}]e[͈{Q;U !nbV4 '#m)U9i~6!z[ĕ&f1%(!f΂zNIq!9YZ[aE|%G}\o^}#.Ip8r> ɗ?3Aa$|ڐ,Ce+7 41 6H<ìR- J1,Euɾw)a9LVi'*7^ "mx[|Q#!x/H@p}(y{FYW]>uyݷ" N1A;< ۮ5Ojֱgy*ۡ͞Xd|r6;>rdPXO͟e'ќz-<㊉W#$ePq(4/rl`d ;$^!] [t9w7 )l3N#fRx# #oPMD%7N|emRqcDI"[ ;,NB8%"SȄ6zc%0 ǚټ C)4A3Cr Ir\E$dH:#ɉ( (gT N_}5h BFx8ڨAzk]6-ͮ~<ڼ"Ή/G|!KF086:~PܺDL坐|E WMUq&o 43zn,ΞwQ ɀ, k!ac2^{5ZLplՑ_.eqhVz9j9#1&zViD@AŠIH8:hS`ȫ%z@?aq^;Z bvsUnOg&5V*KwCeɉSq˴+('ٔ)A#qt:Lmԝֺ#`! Apr>OP %aI1ˑ{pt9"Vw>"#[vuȅƳOԌi tC(4#@T;k*7+a)zlص9Ѓ\K3fݭ9Vy(o]w^̕isa0=J4e^ ºv'y(~Rq %HAlF_<10d~ ^Ah맥dMM¶_]$+] |=DX98X6UHgJU2%Ɋk]4)$h.>'VoQ!m+rBb43}EO>/JKMq~H/mc,~WOX$q qrҘeToևzjxT+GVM3W@)i<4hXzU~BVJQDfs"05h98`>syT?SLqEo'רx94=(ջ+%)Y|ڜy;.8Il9bx`ٜ9bV9>SOOIá~ON%S:< }h'(c eeԶw)3c-п< FyR4N!oX!ƅspx^e}hiזv7ZgiX^ g;E`w'W!oP6@.Ҳ?巤eH{P+0/By "/䟫55=P8Ps'8?7r4ҦkWιM.e)_:=n8| :oYZ$JO՞AxLH1xʿttS8B=?bELԙ8& v5L08p9oZ K@ĤĠH-Y@f~#i4WO%er,:ͲԝX]S_6 ɾqY[ETwUžsC9ґ%劢U 8T'Pov1gwGe(mعgCӃ|. {Ȱ/{9GIC]2GYֺq9,Oǻ;bwi 6hM`ҫ&B]SyJɔB7J}a=1pm}KBSݏΨlI$]GM rֹLթ^1Lҹ~uOg/"]'O2k&^rMz#ك?_VXHH` b)ˬ{x,HB\I) 3MMABy#C 6E"Ż+MWq?^ɯڝ+j\ P7P7Up:c_¥$o9LHfLgxiUN%IKJ_9 4qrImr"r*j^zkhŊ{X)y Nb)@2 Wl\.t)$ sH Ӣ#2}F6.B-klDbCBt-Z&bYu߇FИz+宄iYXwΧg b W=ei5.B٥W ^'R+2X ՐxifdNC~6gh?^ <2jgo{z[+ˡoInU{Rx2VoWyHcZ3a؞W'!kZs>ѥ^[M}[3 m׌I 5XfQZ~Cא!; dxq޾&!]W# l$7*jtʫdH#%}lo͇,#WC{5(zx_×zCUeҤ[3{5o-%͎1x5穐M\fgBz6(֪$&wR6%!D8VSL&*{vHv DS0nKM;7(hj15uFCK-{&ҿsWc Jpਘ|M@ =3ݢlh& gPqW"1# MoX8 yNp.K(I DM۫8٣oc;-cO"f{_3Pe+4sKA_Au{W&'Fb~DISc+&:?pL Z~"#}0Z(gkGpNn cY "B,XG8r+x\ɶ0AL7-P_O;h]NgC鶢{]}<ѵiC41yg.ZFdt iO%ߠ {1hҶ6}G]'vV8N1 #zim~Y`1UMj\gˡQLyCX-^c3>.b)}>J9824-+\Cc}ADXd$ D6 Sk?aTVV2?0 u,"r2Njnp2vJ3'pI4jvd|Pcrbj=Sxړx*gIYV{zJV}{ĔYe\?Glj'le eXe[p蟚%GTdvw& Rs/UG.ʮ|xWc{|P_PoV?G%1'15m;bAU:ͦ%"orl!bH@z!0ntk!1 GE:2޵rJFM )l pQW`9UpŎ_ݠI@X/xu&_%j4U[x8Jl7dcG[6bsaے!:X0zihnKRUEͭ7β]I FfFߌᜆ<--$G,sCաy|]"`F uE|b V+*hJt:%^ K"=;pFYUGhR?7me 0B^uve'KV >GQ"Dpmpj*|L,:>܌9R뇢 EStD+aʕcxj;P\}z8 WHEaM(sZ9}ŭ¹+Q!>!uOsbA-1:÷to g*j39!'ЭĄh @|E3dPBKd*'Dkz"Knz'SuJp)h"_G[B}h\*lܭy W.S11mC:@[3fjIzD3FnnGP؟fc+̀Day|թRPt6:8y/$ӱħL,*&Maf0wϗz[9ϒUn<|l!NDwqDWYT+E0r[y3rwJh;VVQ{ y#wk*æv܌U/4ͪCc$kGX TX%L@bAZ@ ;fqu5[.jl"$w/"IY+J5~8^H&9M";Yr:qU:Ѭ;͛⡙2A,ϖl>k:$^v,|l)z/GFW䢀*_YlL/rӐӵC$P!zؤ}˧@STVG_'(k'DcbB{ )iI<) o[2 xows&Rh/ߟ%d6pd21-K:Mw-_碾lH›泔YIτ[qƚ+5.8}N֗Vj^;[kgHRms$?Վ0ZtSՊjjZѡ/0h'(K}QM-0P=Ny%5ԫx9=b!bs}v>ڂ*r WD +$VQq ,}xH~-6>6rjNO*K-q&-. }&oY ҫ7D[F&zz3Dx6y7"Dv[b}k|jŗC* ?#8|$inuڼ?lfSP1rՀҔ/%[1MNʊܼ#?ET/|ֹ`U &88CiӵV:˷Χ٭VjL9կӉF"֤/oClR=ۉ%@c]"mԒT@p0u7auf'I'^#!tDasvjd'5#FieæFKtaS4q-D#nPwc@䙩 Q'3׮taDbXd@e\S9qj kPgQ dβ!M3qR )%f/ǯ d@K`98y$qTN.FVH7SD&ZjenP (kȲ\Y9+llk Zk֔I/ S@C$@@ti>lE=4$ CԣyԔIW*V^@&eNJd| p 9 tvjXi8m~pqx6w{+I0b3x tzNMC† BƉV g&$03d8 {hqKe3u2=ֳyBFa{\|pQBZsa=Bk():Vq-K|p޴ ^wf~֋37vU/;%_2rtzotk=?XK"v_0#y.g-F2Wӻ5zJ''f>OH}L$- J`<oƉf (RPh{mN&DyxX*gb9Q녁:=kM4 N5,-!VE^/XvdK#' UFN%VQ㠚M6?(S3xSE^U񧦖\1Vrbx̗q&]p U*:P~ }~J爏0)t +8t j۲| D݄=:wܣuv*S\{e-gpV "q |6/ 1ԹqY4FU3ȯSR ؆0@F rl Y$" I49A@A'/C!uX|ԇ975)WE$Ыeۈxp1 ]{D'}Oh|ۘ!Lb} h~ z@Dd?}$Hܫw yN{IQ3E])P)K:{#1S)m+ğJΒ6(M󱥌U'^ax;+'{Gn5l#vח6(tQ$]B;SX^d q)Q|w2m,id EqӚES@$V:\\83T?/=scO `l3m$,p`jp[YklB%NqjzX+ H+#5 j%jyٞbbkUXN{$#ǥZO 囝Mü$zy%W_2S?\e;[Ȑ oGVAV5涤CelE3>\-݊xO9iY5 @Ap15<٫xbo'C8r̓k?i v4h!+z4__yNȯق7(UBNOV.kI:q'Ul̖ˬX*|Bg R嘚.ysK"RDEah`҈NHۡTX1JQ'`p"Os m[$2i97h >$RCp%9U 5N}$ nfãFmmw8IO`Yo8WG*0sRu/a\a9z!A eU]˴cIrT/G" @~``QYWmaA>tg]Ď|ʻv@TScFDQ6-DC*vD deon7JO tRlp4Q 䡕5r="r36iëNȟ+Jm &bf L'`2Owtp⛰*9$rq^U_@;l! 0:J;N]F O;ѭ\=BUR)z/t7e-m~U$ HçKE]Pj6n{M6.;2_!p@ͣ{Ԉt ^_T5e꿧tu KN79DLCܑe3^\nԻ!9Y+${poO:`[Ia}VY߀tT8AF)M*)eo4a,'*zi `sד>Lw/A#L - }-~|ndm(qnc懜G6՗.vy=>F.V.O,o0JO zn'L7g ׉LLS԰`t$ )^}2WS1mij/i,͑Aa]@$IxEbή(|!ǣC7Q5/7]됂it(5D罊rq08E%hpD+D/  # N*u>ce[_j 7sB0ڄx0ECɘ$6 5hu>JQ w48b@VThXa0)3 FSKۻgº$sZ%5/Bw:;0cX__@e\+%=L.Pnc[JdvO0(GO:YJƘ]H~$aWLrԟ8יӧ36xH Q :hz =EN_i.[ L},Y">Eͱ%xK 7Wn=lF<ҕDfFXEM$࠳90Jϱ!ժ) i ӥ׍hB#Y;- U7+)IOww<=6B GE{9@@EQg-hv?c1{$B$K{n-BJ8 RCi,#lP߄)7=% klSݽA$Z5ZunOIA7;8qIM@@ZOhP)": Pa`=딭^Lwde2 S]DkkT&CJў&3np/BWQ%|}&9׈c~ԔR` ϹπکͿ[{{&1%xqί]~;y0~1eқ&^JOa V[-P=":i;p=](4S DY/dZ;t[u/i< eMc,}:g)r 1tS2]%U,m?ߚAjDٸ\ZUi{ ߙ1[SFĩgW2B˶]2hfWTezrcKA0er2%7wqNLr!D͈pN(Zƭ%&rcXjl<'HcA3Qk.0>:0`b% f29B%=I2U)'Ox_)f2Kkfd]6\ZR-cX{cć)"5G;c8wqpZS<5"U>@lkݨH6B˖qLKnaԗB r$G{IrR)<`H Uf%ZT{an)I~WwfDQ'/hWɹU<" G,Wa>;؄r9+~^.#eDYRd GDf!y'T4!a_zxJA!*Acp)?7O%Qv*G;2B>BhOU+g֎aGhi梶om ṰXv+^ʫls7h1q2#u/H"ÖGa)Y\N}8?a9<rF<1SKJkr fY,JْPÉ1~xMOmöVX:k%V35 {oݗ@Sa~5O~^X9  7QzG|7)`M%|D0tjs+@~䨜ն[B 6.h잢=o&ʚ.= 1;MD!xQBV.<>" MoSɗ!yhiʷ5"|>XR0`?Kz7)U([j/!1k 8$l!n'`}T5GRnZK>igCG*كWp-t9{ uBZEbGI1=4wycboGt4tI2e6`CYp IBlѳ"3? >B8L~F^ay' v*`Vr e6Tv-r(#!xggMefk;R]s8T ny<`D6 <ӹ@T9Ќ d,i'Oa7^*ej̰}3wΰp$8I+.,BoX1KI'Q‹ɏ^S2V9+uKH6F̧wޟX}'$ԡW[q83|Yoi5x,ؒ_8+!6wYF=ĩ ލmՙ /eBfg褢(U28+6DRT8t0Ny16NN`%%0?Cz.^@] !dE~.Z:{~gzh,u> &bU{!ee&2T%VX_#mXT C7r!RfI9zή>3!:E4cJ`LЗViűr]T TebOI(MxąUzV; .F#RTʜ"\[huM5^2V,CZ,?fj+PkBL+-j`қsuA$ w]QXa֌e'lZ'+BPJ}Js o_R9L%D{]_6 W u;VYMn_gЖJ69}MH—LΑ` h0FDX#'÷n'q$y$u3ohoj6缍@gl0nϛ̎VJ#  G9^7c;4" 5c E}w JsyTxtŒa\ }ދnaE9uUmv1j]Rnp-`(D r{G & ~d/2<7 "lI ZKR\0R~y{F .?aWTǯ֋B0g'3:.+U7q_(jomR-" r^8^ #[0 :`wn9LV5׏Da\m4î b(+^;_Z&x~l ᄯzMM(?1@%o&7ܠ^2˳(1`^͗a yLj` 7+!0qB#q^ Fma#Ϗv3f\1݀Q Dq4)͓r.s}r|lq=Qr)Q x VDӚ5^P Ay.N_Tp0p?|QKU]yPnjJց&g.;o{J:c!)-t s}aW_r;An{e"J/7 4_NC6?QBǹ0:͐aVf[p$_ʧmSeH6rr^jbe#~ML#rˬ5i v&bZV %1ivuW q[qJT:iN%/ ,XwHc MaKdVWiЖSBtӇ@S|%{5i{I>PςO$QzahɌ>/wul57Ό)d \&gf >_HbմΊO.SK KL^VfQ5hs_$p.<)Z߲ "NE[`ĬUX=Ƙ]}ar$fuGn+(G;'ߌ>"#]۹8\'KSHxN?Ǎk(b'Nf dNq l\OYS7Rĭ*=O,習 꺻ё2i,u.rZ5I"3'eU)3rldϡʰqʊ_MQ72dɌeRH׉j s Ip뫠#s?m Ę+& MXB{R F(mI{um jC vw@8! yPĽ2oL?ˑx G9" @8-T/y d>Ή's-Ɯ熔n?ovP76ZY^RE'ӟjj?cA*XvP| nqNuyDˤ@1&wNSת*7:ڎ%uNt_T7kwXHjd=:Rf}2^=t;Sy#4wRJuIt+xAк!".eźA}}o;֔[HN2dRj؂!`4̮d1z,)BZc]3&4-r¤!y%HDBߞ/J ڲƹ^!2cMY6w@xDiaװțXg^a2lg%?oxg9uMSٙOjʧ*Fp <3= ZN̹x#̸ٸwVa^4fv~qz5SCFGk/`ѣ{RyyMjVU~5u+5 *nUCl QK)>uqmy.`jO-gќF,)X^+:fF8?0Ƨv{AHѫOEa(.pma`QHw늆 6#ʹťnv ]]8Ն=7Dd sEeAPɉplhn|qbd3J_^oThRMd]=|O'.q!oS`0N:,l)yK/PO5RSʔ_j12YlyLpuwfjҤoDRЛk`J\I.igYG,~q7P1R% +?sR'=B6*N8JI< "m`pѶ Ӻ;=ܭ']r؏S[|W&;W1 Wz:aeLFaCEK[D!V׬47]7[- vb im&`OCCJޙW@(%m\LA}&?7 ; ,|LjF֟ R!%S;IԘ$W[ mlnlP o>` i#}O⏉7:Km @^HteAM&k_P|pA`}lua,pP?,Zi0Z6`" 0㘭7R^ @ݷiQmD S[WUfV?MլX9^N7{O8 obr#ڸY^vJP\"(i7dOONi0N]E,$W7bFR/HZΓ"!z˩ 5wz62;BOu1,Zpdޫ%o?XQ(:gTL-./4p.G| ڒa=UcԻ껗BVڕd8" K9L5QNIkG{XV7ah7,QJxEL\F $6$)7Hv^F 'VWLd|g*?R1Ji#hb1_ᄣm {S= Rx6@)dN3Q|0|Hh W@ى"R^gsvI#fz"̠El]%A;ٛQDwS<|}ßB/\tU}52HgAv.UZigہME9(5StL2aSD!q~#-WAze$Gtm,<:Qj訛{kXȀ/ad/Y +eTK|Fh00<&}F )Wԣ@ͱS{%–Gwui^㭮sK|pCYuM\ q E_jԚStƽ;vn:{ӎmOD7 |n>k}M¡8v|TZf΃b^aXa "囲*l q`a'ʗ1j&Bw9=\gVlǁyYE>gf~>. }U/JL,i5&&`DT0Wq7'Ufw;%}FŞe>C(UĎ|dp.NO`ِk+3dc ZE$}mxBxUXgOə]: a{i+fKT\"3)Bݷ(\oxbk&\5XuY-ejhZd(Z=Vc"d }7"ϲz1MB>&)L~P^&Oey%I, p l䝧m qT&NɅ@ /E=d2XJٰ &$Fhn8'CG״wUUH&Y5.J1\s*#Z{Bu2*.'LRPo!r.*]5%YN`R×GEja"|J/Tt\JBPCF,#HZۋ!PlsY0p*fdMƗ&NTcZ%+7|sN(@M75YZV6bPk#fP]KԜ& }߀Eh9 hO{$@W8EsDI1jy4dV0C "ʞvP*WnyZUj*]6?b·v-y1M@PN6#&U73EiIVUӋv8Fy|O0 H e p F@im[ɣe7]PrSns +1Zc✪C._T;Q9 Wo Y)yb9BYC{;frNE (׻Řm^~x;X_͜I<HB8B*(sʄfɜ끬)KSx,/ÀaeseC#bd*BI$E6uCvYg{.3CmF+.' vfVJCᖯJ5 cgb*$uЋ0? "ns PǠU;Noi+(HŬ={thsؠU fN[ ê(;y),#nHhts*"~Uwq)3ʡh5?|c^S,S-V0ҫAvSEt P=KM)ca~jhtnm&%gkk@Nr'])lʲӄ߮>1LxngI[ -cs佮|w×;@fr]OߑZ659 xb %n C袒Zf*: t: \+1+ܮ/6bt :uu,80 wzsYɀݕğ@ v}6$n;u97m,S2uϱH\9z߂k>W !c@¬mp$Bm #&#ml?SX<63[e(s2]VkK4DДwHX]e&2 c]BVwlhZ@=U9`9䛘6K' RP WŖ9F \`ј"}PޙۗOfvP`:2Pd~5AE)2=;Ng{cUzwkLj96`xr&Rzf%nxRVHqfY/ZhErz#(au{7ijhz$P \\<?_{5 |6wqor+u)8GQ SY" b|p7k t+P18ZI?cBLXlhC1?evLE*l'Gs` }wžUY1sLڼ4bZA'oCh`orߒ`#Q y  YPnmn#|\2#EFž#nb:UrJNej){wyGMnj6^o>>b]y%rտ Ņ:jhwmLmr5k{tb13e9mbg{:.}jTtaJ 5 fʵ*(r~N\wh&f bl6'+wA1$X='6|̅Һ8z+‘P VH,mZ=O55朕%_EťS`> D 0ǩ} z"4ku@6Jb#Y67e&qJײ&vQamEmNCktc%NnNC[Ɉ0 z7բ5<.zY򍿬ҧee 32p$_}繁ˬ)^+3?#fU/aSaN4YO/( $f! TM36gd@-On G%Ac7\ܣ].'1\d_NZ{@$/!h:7p*i*I M h=o0vXm;\tEnh.:#?{{.E knЮHA~ f+i{%_#=[5޸tE2}˴NTC6= mY/q=D>-IW8dIxwk@܀㎶HRmvb.` vʍc>azGqH@āG1%ߧ #%/0f8lمЇ{݇ B~/USK{t#{-(gWL˸ ~Md00`HA2*d(g%o~rFC<ѕMFXʼn#Q vS."잜C1BT:@oȯr'#njݴ!E?F$Q_Q)^A(Yr%yۥ=|ozw\D3Rxx@8Y>Aˠ6Z?YJ @O,~8Jfއ02-:^7/`HhӎCYd+#fRbV?~i;tWy7ʢ(6^y@FF*!6](YL ce-PFRgNztG%(̥A u=f+z:vڙ7=鐶uY]ߌ8=i[I*\}&$f[7[ƙi6Y,,\[L.{%'MIߺ]OXD.L _:_O-ƪ!iP7Ი4uay>ccs[7c@:vNI~j2ϗ֛L?"8f nkcbZB0WBF=-h$Vwս)ʗ>ʵ4I ֦g\#VD.e"J%gt>p[ "b9 >b`zyt` Hemj ^67qs&CG -)!)Ͱ]p}np,ԷɚO K U7s3zOE鹫CpͤXE]`Ż-Wp*sX2h 0jtMGgz8qawPZͅOKF x&֦ X&ϡ*ѭpQwWl&D:'B> u+ʅ ;&#%')L[ .zJZU;ձ^zvN:g᧹_ỳyp4tyPr+vGԒY,moyC>WHEYˆF^uYn6_,L?ݛ1%L|i ?>[-'`m_,2c Pv:ShT5!e }:x?#< 8)buM . Ǣ8(*ՙqC9)Pw]R{^~ce1g="؝Z#h^O=>mf/ :fGRbÑ*CW9j ~KVlN1kw,졡(J@?ާ-q!t!D+RKUF5 |lp9[H&ϩ<9J`oRAt0şB =Ĵ1&sS2nKͰ?8q56g|-\v+j]$*`M[ fENtfJV7^?Wc@t?ZbB=ۧ|$W@, 4 tL8SSܜAHnb\~ %tM:p<u `Ne!d zC "tTꒁoׇS#}eq:8܍͢5u)sñ;jqPzr:H!eS6ŏb(㝥]!ПS p6u^gUQ0q(Zraa~Ky ^KzbO(4,t5=N7{=1D*V,=ʮE0fƻkgR B#&Y~Є}o+E?4' %3i:zfxO5J{P.nz0RwUV֔A1[^ B!:ݎ^wy)8/7K)Y DLP(r4K}0җ2@EpTOM^[67Vt9H0t N~oB#2'f=~+it $6ޘw<@nVvֱ/]6RH ;aߐ6ku2[Aׅjlwg8J2`uëy ]O(IY¿5 AU3)aC,XV8=jTiDn47LK |V U;*N}K+ΑX1,2+OJ7@3Q4LZGk{(ɉO <5.˅s#!y/,}ؐŦFo(@8bƵWƃp3PA^pCW_.BRb}dTUvHZxzQ=<˽ xB'x҂`wN_I;.Uau>wQ.fV-PUeAVU k}cĞ6PX;>:fmwp-Wnk 5R 6r'rAbo觝1#}gg2њyfiF2BUc啹A`5^}h&=ۇ%6Q34N[5yrϔQ⦣7v6b Bq>\a @Z p HsSS{x+u#8Z3U G8$pۣ >A 7?ٻBA3E[E%Vq, PG@1*UH+/dġgBY9 %pgrx _,,RN#R_\wP V|HǀJgxDNTgB!?? B/=F~Kɲp#(@@<R Ys5Å`UPFG)Empsxw-]xlj}ڄ"ċ,۸ Y tw\bmMaL3W:̉b5S}ogRpxEԤKG0]i0O'PhQxta< p+y+q o2ިR0JO/.;Cŏr;kr`ؐB{\$=w6$Hr[=LMBB,K͑>HJѣqG(LBvng#> $xNB:\F0.6ַ zdRDWO|e2Q[yu9S%dN!qMK5hx;Zvk6M 4m A,0=>] %E6#"r1X37xoW_fz(]D1yR-T8 󬧠)p:Wk%Ș02aRy,JKڨ6l(b bWsGQtYRZؒ8#-0V]a5P$+D;Kj! t3^TJ]J(-++X.CtE BĨGڽOh} B8E}4rUq(XQ$*^Deu .w%FA\8H!_Z(ƵO\+Ӹ"?1 KOC3e$= QQ@ǂʫzS9 L$ ^Z yqX2: 8i$P(R,~{g@)VZESI9Z$b{]"4Z!]*."~zq +|ǫ^m ))r0Y%K$nR/ 5xY!S"bOؼ6֚y^vמmB*J'f çP@ʒ&uUP<+[9aRФ-Y/ W}U @.c='#YA}OMyZ^̳Cb2f櫣M*"3&1']-ɾ,K/4F]XzZW7 0-k3 -Wܢb#5񡋐&>M%U`@N`|FÒE+*tQmvn ABKl B2Li8}eÁ uhmoxvDgc[n/dxE2K‡Hֈ"68ZPݐ9xԥoVd(1.xI j455h9o ZU32+B,yEy<$&Y =TQ,e -Ì05Hj)HKmu4._z-;YyL'G+fc r!bNp9󤩨W'pz.e_4\BhBZN1p&XvIX@t;yLf6&4'!!%gpV:~ +@I 9ierCUJB!T}]C0c VV  sT8qLR F7畞_)EmG0H_VQe?vt4ZQN#/p~-CbDY؍ӝ)8N)!ErҦ'@)*}7b%AEE IP|9ė20ǑM+h[rQ=H.j'p?7: XRm̧0>ڪbC9RIh}'(3hfضxкM*n=KգxTIih:IF ՞7iWO}QzC'l.(R1TLۣmx]>_^7\ݩsE_(f'4dRI٫h-8BMnpӳDb=~ظ|1`z}vͺ'{Gb8ı[`'tCMd,h;xѢB<SU;NY,׌q̛[@Sݾl wQPQD/< h3,Uқ Z*}& h]׳"8D{5`b:(vYs*X1)5:U4 Y {ZYg2`3_e{LT UiԼ|ɱ^ C;Zjbʃ&7[&+/\Qef+9I{$iaX'tf'Hq=z䀈cht!j :Kf2ʹNER>h^knRfciL)KЍhoTe<r[k 1JPZfǝ X]IAW2~ě1GK}ojxM=po+"1me7R%%PE0H .r̦z#2ܸZ%*2{X+Jh'mkhY9ZrlӎJ]i;Q5!p;snS/^t}ۧdЀzdzwq^}?wCC=C,~G1NeQ; zf]00i?3U ތ*D7Qѿ9ډg'bҙB+[A hRt$=xNݼq o4tPx'Y|1V7q]'V~`3Fz<InBsq;51 Bn( \,Hْ@Eu,猾hf=hF\Hi<ܴ#^6AbP۽?ot[D$w暮dmJ|I;ɍjmQa!C=Հ*ܫ92Zwۀ^ţ~Y t*n%Pk@ȝkhY}z+P{~77"[$G7 aardX0ҋH$zQdvpi͞'oh.qmP@ZYOq?̔n#w4kX :t&SX`$[u+u .%G%1pC0quql!,{/-a?de-ilV|F1 祎A#Id?t*w:+̑"[NG3H,剤{Yu!aYFRņK1}Ir啘{- Z?w^W\<4PAT'me*_)7G"js=w|V!Z*m72Ple^;?|抆 ȇtn [d|B@R=E*{}NhY3Q48PR}b6QpLힻŮs"LpPbD)JFHKc$Y>MRUL+-6A =am9̥qquZAv4ݟCT` @> xn"^m2<;kFw/(}7t#Z& Fkޠټ~үelYBdvitznbn* ;m_a*F;R֣y٦iL8_J'4tOs("9Rd[ (ψ6AZAh%d0c w?6V!61xڧ7iW 9i0m.O3d@JK ZW֒; 28EBq&|ut_;zqÜ^XoG eu-iu!箪~ʋlu^I+!N,ȆH݃pTu(kS$."'n1Է@b9LeqH꤅ -ޫ}ybM81r3g-*a9G )7ˌ'D&!`45οF?:;6bms@y}BPx9+&2|R S=~Pd_V#͞ۅ7h^% AʝEl: \*:(R z0vm͑m5@Ϲ`(57.ahjAwuFT@alcgVP[rEUhh+k sݶIK^yى}nn,ǜL{8kT 9@rwO ܪTzM"꺌ͲfLdgMXDQکz5[K4dè)MT!YǸT䞴fؐ@@ϡ#-ڜɶ}Gm w<d`j&' ^t}XN q`YYwF[F'x(J!L OpІUD͂*:Z*+0)O:iε.!Z0ūUq+ߩzc1I:6d1,)^=$wT>Y;.F8k[Q:6TI\eDT̃||d~mgG֭s||=] 4 ~|EpMvfKJb ndԓpU rM1089n;1Ƞj!9Y[.Jz8,z wە!Y1%:[vYlWSΚIs')eqGwW !YAPlRڒ˰#IMA;7*ԏzT4YĎSbB1 Uyt {$shx\?[#('%?+-_o/lNHg T/ýRMaOwb|Gd˧ (4x =7~9}_Sy6ȐHb91{0:_-R?6 亯i"C`pBםX𚠹ӥd0C0; vG ­tM$]i(B9e D$!pXGTwhѲ!Et[Һ$&)%`3YawKZX?5V/[YZ힅fO:“E,"RgqIcFci\}u[pƦ V` W.r'OR|TdBFnӄE|^~|PI@+:=0dvGe,yϳRGӇ\1V7Lrh<ލNNOҡULҠ"{ǁ8zhl:!:`^DG'b{S ĮR^ 2EhD{"蒑eёޱ7d8o-w1naUqװNA.hlJ!7"5N+YqϷx);t޸>|;9d?}"=UhI5i+_2'- D k |$01MP~?w6-Mܶ0/14Z@';NeXm&Uvp. 6I*ؖ% Hc=̧Yb/6KG$nJ3R5)`eᇂ>p>kY~'$wΓ>'M;` _Ϡ(ENԾ32W3DXGN)y<60mַw^տ?Ul2Ff2L]zKދݶ9E`WjwP%rMFQEy#^-q:TJoL=[B .7E+ҀJCƒ$~mȩzoLިcVuu}`!J&L5ԺqQ?6d0Pn4|Y ^H4PȒv;p'lGe]k гu`E|GMz4.lѤҐs`}rlі?~ 3a/3jITMV)iyb*o ju  nQ \isn(5_QĐ9$'aK W+؅*uU#~I=0PMve))^BG8:OOd͈0J|Z-[˲$͉uCƣqqݎ!Q3Jtƒ܊O].6Roxe)LsWH孶`7,sur0dS< l38h`k'8eyLI) c gRR p`kqæF>AFKi'xFѳ 5aƴZXIWޡCa)iD$4Ra͂cvw7qPU+šVKmz U/k9ݸJ+t#i!&1B4"`j JF޶L݉zwh{ѧRLd%rwˎҿkҭ[fpGZ?: ]W|Ecl{)1sm{BR*{*\xh>t2ϲ97nuw6%$_+.1#9D$S9NMX,)anHgv"2'EӾiD+RDBt֯"aC}q(Y_ !]6O G]Ew8*x-CK#}N࢝ S؋7_FB<8Q&5猾Um3rNE[z2+?D~P3/%)qQ0S#u\E_]LLSJ?!hƽe&4;]_d}SQM>)D܌ qdb^q-kl׾FaR[ s2eu]UKo<t[r 7NK̬ \(1=^6D<6hmbXrCc]OBCINx~6BX_뿻LV)oҊqpy3WCS\<ې%ftD)?LK*ǜ XYu_fayϜY-dÎ`}ݪ*\>{` *@:{nZfXST'J3*HIV1`]AP7;[! Z^!]]EL@|Uyae#BWQr#(+oTGr)R$AS6C3e1Kƹ͢C#,J/76%*Ǯͨ?icaW9'ΑC6ߊN0hP,,;kr|kQLR%ɨCJtE-4BN' <8U@!Kd-|s#I3:7Ttd4/- /FXY..pLV#LQ-S[hjM?:}no;.€3+cLhc(VqrgґJa]Dl{b!ǂصIFw~e%u8$R?>d_0>,U-qʇvڰM9FB bO̀3ntիs7yTƮ NXIwȬ,3/&M2+ӦU* NiR`ѤIbP?- ^η3T^B{z_rYyKHi Mz<Vv4jDtKNᕆ}Љju^*m T_IA竚pА )}W8II8Kh rnҀ=큣r=Ek˼N˳0,=[d(fcL o`y(8G`ΤEKGSOH3.+ :7#҄5S}Z,|pk"[_~qRVwN4L=ppsH.']uӍ[ X˥a3c"x? l+\byqW~ A=扟A*?SvuOv QF=EMGIn,%O K l= @@ox-ӠsA,>n{OFM} NR8Jp1$SiDFĨ7+dx2f<=. \#[픈M踭VHP]iy:Yf?n:ٺhf[H05ʓ/䀔O)ԣF\JuO,-v$ U ABcGs0p4?D=~k$F)XBh|9}ɛaI/U,z{.''(ǪgzICe0lQn~|]F9y:<~  fשUq5',E08WÊIN#ZX=2E(J3ȋWOʝIGn0BGNb>*!YL7^fvX׃ EQA*7c/@;'11h/~ЦTa(,`=2i@> ˇ>^#&sZ;wʤ.u8QZYgo=bU>`/w*)Z=Y[HWmkE?HU5NwQ0YXs߅P.!`o"(%2: =07"fY9G1Z@^w-t o~\Q15"@E#q܊RS~r? ]Fg&H$Aa9(,3u%]A:+q/X@Zk4jYSaC()Z6QUOq[vJ!P ;WiY~ܸ%(UZщuRoL@yo#]pu&u@ H7y&eE:;TjN~ROW׎QF',ʌiNV2.;dw kQJSf0ݲP V)VƜɰ τP۱ݸwH' 0 CMv #Hb٫eAߎe&3+ CkB?`(~og?ӛֻI;1MR7]fhgtdOx4??\v l>ӹQEOw8=HXQǣ۔ yFǯ}ۏA1}d&ߪYE")JՓn5xP(-zXYyߜWZ&J7ŶaSQ{d{|s֕0̪;NpkaBaU.`Jൿ'o˿)~)3Dkx|090ǀ]L')hPD5O#zJpc$vz!|ة>lAֱ)N5T9Hn N:GęEd퐻tZq=* J8UI3C$8j 3 \h 3pNKڊʙgAt{s ;ҡ&3x-ƺ& З hYCV5:Z &0!qѸ Ta0_sՒ1=fiy8wfR g= Odk\q䴆'8;.wI 3SCܪ>x  h4'4NVbv`&wnO"mnԄt{T"{x24R_Yպ"deZFTC%f:ɒcb~t6U}FrxRB -1v{sEZlڄ΍bF*|~LSK߆GZ*JNXHs茦/,a3\w>_SCDo%QA4qMS 7dK`֭(q!ܭdΓ[\kK%)cN}^uh`iXOmhx;Cgu{mcg* ~VI_vV-%%BU9vEŋ.9 kr@:ۺ4N/[`kZ{VԸ+O ^n+7h]AdD ch#;&r$`1K!j(tIԒ)};j#8@6"%:Ds)TGy" IL /XwL2R0_w[6 zͣ2#FKPCl@+]ػ&RO[ |1CB8 zחfz(@i&袑vUȭG\R6n:ToLfԘmA0]we8W[ P2Ƃ tZO꯫/`pVZS,B_uLϫ1j.^|98@N^6L9Z> O@`#pT-w)Vc  kj9`j5XS) zdP`. yfbX[f{4g[=ǂJFHᲶLUOe }$` ` :o̼P3V5b^ $`<_jIgéZ]'ƞhGBz:BKp.C]H DFf:brB@$jP|=DYx];. DѿխCEμ(mykZ~\,O()m?$q,eS+8CH\=F E@='t0>:d9/#tt#(gb6w9dp9t8,jW@W1Ʒ|JG3M,c8!%5lؼ~w봭 g Hux I)]]*Ayŵû1QI0CKIfk9ۜTsE(MŴZk˩44ykz$S( F~9RJ/b*V.s6w(+h)1q*O Q3jTڹގb&4H0/2'v*uMCh<@{XȚ*l .fLgZM(QقLfpaA߲ms1~lYbrЖD]J30]jNPcP&&}i(}/6"]].rH|ڱ2}$Z $ːrmjZY@#0,4YU < 3O%ȵ5e܉fr00 N"sZ <@'EIᇽtM9K$u">D0)<&lÁUtD捕^~V.d{X*?nά r=KݺOSЪ+IcD)# {0wxl-ac է'*F J~5MNp]7YΫqhX].әH o?Πgi&b&J u[Yc欏Kp &:^1:k,-})8lLwb5 [zzٶ sUcgQHn>3a#6H=Έ[W$_qV:띓;+;,z)[l!Ƅ[}\"3eUhzt\Dt'yûrQTƝl(|ijj!?Pe~1ے2ܦr lY0= 9MU?" \9z)s6"fODs'wS r]YgDzS{΃=AI/@H`p9):%MM9UT[ev'tC). F PWbA@hd .Sf*LnipS`@q/NK0>)|^Y+ QV|(S4w$0=39ngmQh.FlgiҙsLcpy/ĕ}#]\T *VYX@ 7 ľ *{?=ϔNKRܒu[02fO{.6j8=t`!د6I1-nBʧŽ,gBGTzY' yg2`2}:qQ'pBL{ƭųxM>~2RX^L)%㫔/uzS'Rp0oU/;pBTK^h2Kl'`MA>~f01Ս71BFċ/P&?K0q#Y88(ScXϹ5qqj}J=gJnJxWTC`jP\rYѓr+CR/@֬g>/˛pշޅ n!8dG|'y“`kEUv#p"@dV-yPFq:#+j'={E'LHCY48<<LZ3\LQe~;^$%f ADX3z,D WMI~n3iUqB,aO_f|A0sKu2f/\$w1YtOZ!~T<NdÖ$g:=Nav 7y%1<7SQFl`6DmQǿF2"Hςv ;19u=4cWJBU-SKR'_Q7’ȕg65[a]U (`y2HV=QTaTH|[^jrZ]-/G46֭2̠u@lV/_pgҎ2tUբI=J>@y!.B@qjv'ipMοvYyg)z8c VlDDX :~r ]>#,!{ ݷp_HG<(޴RjCQHhr@l:x'KJWˇ9l^\-*iŚJf|붃;7UM!X۵b'`!+N3BҟZ.ɻ{_ >*^#x| ? coG,xxtA1}PMD?SATOAem=flүP{PR4 eSfXA < h~I@`3?"c8|@zbS `p OɱBGL:Syլn @!DJd ) )<@b5!/ĻXSdѓ~ oM']׊#MFF3hd*d?y+UL+#xL<> vRY;ćy>9)1ѡO0uM !kp>i'iyf2jAgN~ 2ˎȄ&C/sSc3{GK0|æ92 \T鮠UrR|\!͝V/2GOhS]6K8<+dKTR R hL.e|ȗ~_b½L HDk¯ZO6 cr~1b Z`K!A 6$[rl.e,tu]戴V3h/}Bi~{ӾmfALڿv{Sk f?\|(Onҗ %jbe;r InGx̜8`w~ld&F2gTR)+mF<dT-vF0?d8t}?$FaA}}Uf63QoLXv?hq ^!xh$떹!lP70TcS}e=g#vۓzv Okpf4.(^񖹽D!jNjCa79ro\EG5k] PǶcMyC!=,y:O`8e?h!\Jpbx)X7}ùR>mby4(#ꓤpˈb>s%KV:MHesy\sDž֩ Ya|܄cK'=eV CGKhT#+m/.bi )g uG'v[w /3[\Z.p٭T21xvX-9y7V~{}\UgȈB2gh$Vvl;=@`¢[Ÿ=}WE[g| /uw%Kp%쎢] w.ZjWǷtN=ZA,SIDK<~xH2^q6@r]G9|z]3xsй@މ/Eiz sg2P;e@ZmC?hyI3nT޴y@튨k_a ,|ZPMDkf{PqƮ-zvh031H>z'Z7LI}aTF(Ϯ[X)ku"Ϫ[p܋c@T3N '.4AŔ[1\MB?6e L^:;QSXJ^˘q.՛+ a=(bc[o]cU4^-v aV*/lgu]9d,aP R_D3-Ӝ͐JKA~a/ZY!Mjn<cXFQ%.(jm`k2ç d/V^V5W3ّrV`8MwM=]L<Q)FX?(F)gP"=I7(C,6z#2XS &? o`thR99dmnLbhqDcX^DkW@jT'.fdNP,eY_* -)ĽFCɷK"(c!%O+= x3 䦤VKF˄;5[t).`Ov&$U/J|=69T=njR{<N iƠ?|/ϥ0 g^|/Dv ]rXK;BXځ/QU^*»JeIלxumiENRal=K||a~bJ3D4uDN|,Aơ%}*6gxsmFv9sMiXY{*k:0;EjrMJn*f)'==TZri,2̵Bf#[ʅ؏/5;/w=qp| __W*2P _/R|\KSQr~ Ï 8ld*VsߍB*:T6X=xti3?䡺[7o>M %({H)G`:/v0mޖ ӻqv輠C#C8ԃ<φ}+qLZ A҄U$N;&A\{X5\gܳueJGHPПKvO>_8:E]\gk54YcE!z!vQGԪ6CwcTS ǧum)bDt5OzYDh h[f-wS\)#S^W5aah#a1g[\*ZP5kV# va_ 1d!8(tSͅr Vgơ͵s ${8 t:z0[Qj&4#M3s,5nodfTm4dd?cioCLmFI­뻧uU7=żq eZ5խ|[/px"%ǡ8@=W$[!>*d,(csg[ ~BS;zeyt-D!σIӃ" ښRTkATJݶmem=66b71G #'W}8a+yXq>%LtrjCdQ^XBdoJ9(䕗$)Iw>alq6g,ƔYIyg}綑#-\c5ϯ}TJ~-C΁7.S9|O2ΓL۴ζjrd~ >caC#R?**u$q1a$'k-AF46Zn7o,ӈNh~b?ߥ>>^=1g-=74|' )t:M'ء!  :d3E9@N( ).91ht)QAV22  1WQEdK|6=!'Nq\ؕspv}dwG]DO%/IJ0wPˡ@e{q0V!N%[[z~jXos*#/4MSu5#S7Szs$t݅xaӒJAy;_aK܍HT.L=?\aMXLP~.ڂꈦlii>lRb@L𻁪c}H^XW#"&/l l扱V=҉5"T[N0*%f?D?.x0lj2G l/n؞)#4-)emsZ],>ZzB|ABMvPl1ބFlZehy#dlq޸ӎS2o aGS졬J3AX8K7>2& 00=&c@␲d1k6"YFuEva8 CT,3fN6%N?\YPޯmѡ~B `-DR"lZ;((g*J\ IʁGWꉦ;Y)I{9Ѭ70Θʫ4DTZGJX!) _BQ.rRyM붻)YG5lOw:ҦhbzXiѲ.ws?z5lŬZBRG/(KÎi/fZխfcB_bڧ0,_Fegr8/Bg3`y-Xoij1!kB8SpmW{|~F^:. tB_,;>ٿt2d:z%៰Ͼ̖klD26mlf\?Pi6ih=iҁrnY/b"9^zT՟ҟVt?>_}ÚrJG:gHTkr@A< ĺbh3;;W3 /¢UZp~Vx*̊CQJo!2[qyM76١؃_GU ,;ԉM4C|w!1`4ʙ`/?4r79y]P1Mh4EIά+@ycz')xi`)DT4bZ zxlTX)+jF5&oK Z4SfD|:uaz-|O+.H6CnSY)o\<@a!ǹ^ W[ɄRvC= t n?m I xT"\)R= 2{z^I-YM دXQ_DǘƙF+ΪIḤ`\y1'p\/=@M/w_2wڕ5_^\߫\SuMK,`xx2I/Vù@ZYi1Q*c&eseN~fŁXibQBrc9 32Ҍfq*+4tx,MQAeI4x<}|;C(ni:WlE_VBE >)@ZTl\,2^D" g ҬL|ܰG1"+Kl~VSH1mKŭC+ݡy]T&9bgಠ?ؙs獂Y~=VDZOLȐww] U YAASǁ#8ᤥr[Xqoy<АfoVMM@ݽBƃa% .4s,@J.ݺA$jsBUp.\_."Rߒ#_vexw~;GRVjզY ^x.D!wl :MU_jS]TQNZ6c~ bWבɆ9+0~v}ٹGqlc!ʒ:urM7=-c׀@ dwjѕyt z{2=- *", (Ju J0!iZ2WŠI Җu,;2}*iO@;xy`zlԁ-ژil$kɤ*5s?T)\:R8 hXGsk3~ i9X|< eN3n*ݱR~5mw@mC(sN $ ͢g. 38  F8̨,Կӂw/PO"ǥc,txڞ[߲֣fjyRdo0 Crlpx#b}K jΤdxN]b:0(4'Q>W=gv155sRYU些:/9m`{Fe˘/O@; v+nR&#q/"zD+,|E`T-!#x+TVPo,C-xKx|"ء$':q3^,Td8<_@(nbsAY[%7&V9(F"![$*|fʹ4!ori |VOo-7jQ~MozQ?}\z mo&c <[[{F(%"/۶X;Z(g=& Pr '\ y"3ֳ9iwIk⁘r%bz jJw`Sc"|y nYT!s1* +MX1ω.ró@ ;TH1S<+*eNs 5:68۹fWx}mR޲s tEf钔ᘡVj,OWLJ[ߌ`ew$gm|S-GUz]Vs[QZwqx[K+Tv}QM w>|ZTR4ͳ111BO7m#!iÔCJp>K=wBOU tHPC89gMq.v.e@ʷk>} 5}=**3bH`PKBT/͞K_gIQ: =Bo POc6K!a]szid믟 o+Œ]0UCĐ.w{)]<O4wMْ@H{G(OwIWpv2"xkw<-I˱k&#j Rq/|&ɜ\J|ӣGMў(a xE`%sm$SA )|m*y)eCK'Eؙ0 9z㒒'XO r岏ϧ[[0`gJ;xF~Hiw5 ,X?ms_%q-OH4JљKjcmT r e>pR1B_'=nvUS;BEaammʣq MKJ-bWH'-Ӌ~yNecIX̰2OWITD)[|aP9gޯ`]X'ިھA,vPU $Ù0B}Ui0+8̋W W¯B6ފ|,Ѕ[ bB@T5ڃPg%dQ$؜RIv'etDŽF-v)Swˌ2^G)]I9|@-Y7Kj Tl}nz)b|x-YSasLZc*Xhw|G k'+ ]Qy6qq~>>rkJ<۠$8~N5i&/Alc7vT?AQ%}we)") %Ikc_cR\|k'!^HA[1 c\I1)2nX4wasBAN]o- 1531jsQEBHe_ ЁrX*>y %e/]ľ'x\xB&|#  `49k|c{lSǧ~2@/@{hRۀ0Žn+Nzn+ P[v5oNq{[OlL/ڿ2#".d> 7?[*91lXpA?G@>?P[$ڗփXxXMq gk6 2Y=x3鋔 M"!$V9kRtc^mݟU1|?Lk'RT] FNNzD"o#\}wVȼM |0~ڟqmơB vjS`d 98s(ir6&$ 4\Mʅ䌇j˿'cH\]z%gpߙixY ο`lUhH-[9azztMB }]5w`Aw(Zb/[lZ}˫'!KupwWNuj%3soVtwϊê^=aaNZrbu |lu\ԘeuX_ UNz%9΁-ƕT@ʹ ZA`yGH՛e[ `2)MVHd <$}N(A9H%*4${q#<< $U]?aI'U2vPk0S SŬ+ZITU\EKڍ6j!L?OWRDj:N)&wCc:Hx\a;z`D,7y6|[ ڡ<NQ(̱)\3qg^eAuyeKQP֨Q3F }dܛO=SvBV~>'-}uyiEzP*kHWD隣xX96hԶDiT,l؆eZm5aBq)wP*=#Q* %(gUf3lNt]7̏DtSjNV4`4_t?-fx!܀*#Ke (>)uoR^jC3dd=>y\+_jW' k>v,jBBl|ϸxu8Ng[n^7$Я-9$4//P&oEvtQMdZ*=(¼(kSC0/PI%h+/_ɐ&ͤTP?}vc? è >VkJsO@PnJr`)gG .)B.|ΛSrCA}b@ l4QCKDZ^W w?@&:|'WǩwBx&p#yAvg]۲Wȧbavprj*%3g !мia~f~Eyr%"J&:0QC&X"UTWvPRqQGyəx3)ח-H#(n[ֺ iEt_u+5hEe\3Sgu2)(w'sݕksKW8]B]IOj#5WV]@AoęԆ G(,!JնC ^wkHf`3fNx?>2ܽV&@w& xPd>844jjt팫c i>g %yr Ly抏1&Rf:clws|WU8H4c1y ED[|^7e3),˫UNRF"C1s7X'qf\m6.'9uʎQ^L)`. : ʱwEv6GOپYWts_Rg}  +. 0!FN1bEVK㬵NF.Q[VG CT)G*L~> {>yhxv-ؖ1mʈ}D8b{ ac ȮOF@R܏%Ncr#,n2;ws^R՚>yN{W % KiH H pkz[Fd(f"Q zޛswnqcPHv]s2 rɁl>H֠ ,6gۆ>%!Wɟ"颟hŖlthH)(k;Kfb/,`o۲bvտ:,&d`o' ?hIRN]g]D+P` >gw%(%R"4nJgv/-,N7⸥>{IJ>+_$}3V{>=;Rn3`z(YVU+py)Kq-|%`1=U%hl(!/+{dP/Н'Xq>/=|g62_ٺz_w*1!"xhVu^ڴ$4_3HYgY6g= ^֩}˻M[B $s:h$Z|=,wF5 ('cBGL["ev8xX !!>` +YhJdH!тlodsAW_e N8&D?KBl3b'⣴<q }A[ t3|_Y@6|9qLeD&>cL!锣_F̝Tƕ;=z S13 8:'!B shO?ybI.5s?[_gm0SUb%L?qح=/6(J7ropRb媎&Rtx13paUԙnҾp|k}7ܑYK`mu8ۦJѵ>_ [$X ]T֦JA %M9Z}*FB4ݘ?Mch>;PEQ=ٴR=Kxttm&i<)7AJg}W߬8F|f8=n<)"r?X(GO|1->9`)bT ]<Ǖ9M/g[,4&LoZ,:ԾrXt<2$5gB7?{)n>z*a<ǎy풔7 06O)/Gojyu+8IόƓ #?Nr{zc;F7#>(5?Rµ!o*j`#`r R&n ,#q_j "g߱H[ fwycw$k)an#gǦiw4HKIcerHO9mcEPO7,nHG!TVkPf؂%#rPxA )}3_E@# ޤ 'X<йӁP>ӣ6:\ycdq?$13'$f)jA.< 7TO@:/ ,bc#Poq?!-;wFy dž14L+4hU"W%U02lYܩr $ VTq5U<:d9j̘K|\ HOžj˫$ÎZR0Ee'483Y?V7vT&ztIe=;qxB8~YBb
    Rn>ا1t*l,p_nsm\r(Jv96zO]8p{ׇH3Yk~cϷ1) Aq;Us@kry ZB 8NmA!=ŹO@h"g]!GH6WlNզԢY2 ϫKhU T0|c-3ZըDEHʰM% -I}ytYLZb209K< 2HhI̎  GC!s 0ǧ|+!G^E%&>@&Pԅ D-.3hkc{TIrSd~G0w&l60`=-)2_z)5xZwR,=NL[,0v$+Ь=o߭e,q*ĦJ$H߼UqOm޵fvnsqM~y6-{N[5m8Q0)(WtQG-1!R-c!|` ".]L*Lz̺%e1qƢ G6Pǡ؉of961R#Hoɳ:Dw ;67KWnVOLLxt} [4꠬Fg!\4r3u2?A]: ]&d Al뿹xr͝()*ʢEG^oJzݑ8 K-ܼ]#IU \zMUp|z;6o$A+8jy4GRF< 9=kS í/=$:yMϝ M5g77:&̦ 4#X{󡶛e ?lLFDc aG,I / k8.:еSf'#7rAxV~c65v3cv/j[ *?!N堨 Kuq[TEc\p`+8*ɭ+U=wGE4 0KtZQӡTj۲}-ڻR3LI/ *yL9S׾JA7CQ7{]_~,ޔ,#Y!sd\D߮n&+`U,63O (elTgtblM FLY h'M}<Ċ8$GEPO޵eD}x9H-c'".):bm'L0ed)>&3&6Xs)}g9?܉[ȖQL=)~N\(=aݞwDBջ"li%@ .cW Hy/U[x!Q; ϵ} ; P尸2b7~S¼v#4N"U*=Fxnv(MZ /HnJ>K$VI*S ,~ݣh)=9'YAP%/f!/7:&%K,Fx åajbVs<;`Cl#6<2{ ڦCw+( ᢓkCFB4#FzjH1O&Y~!umZp3O!AtQ;Qn4FS&KJw. B9Ҋ  jmMJ2}t̍V@3xk|Y4=MI-mKAVBw9OCzH)ѹ'bW:@oCݾtNqP^gװ!ޞp!LTJ䱆S=!I #3דHmBZ?K!|qS2?n\" ES kw:HBR=8IbGo!AqT4=iv֥yUYI<4),), |H y/J1'fd3ogˆGɏ .h8t2'Yl9~gtTbvz/,=5ƒćA ޮu_}#PJE::I>tce{tqH`Dav?рYiM`4ۅ,p= ]gs "yBH-_DO=>q6*~Zـ 6l$8oTjqO!CR/IN9{9 yh`z"z£[_Xgh]w7eh7STb_ĨVB(%MMOAsß3^(mԽ{p-ry1!`pD@.WY<T8pSc09y 㱯s:4{rGl%*HVmϝ/gm9TqC[bm4 3C[&OnXu\, 6?cv`rַtZ j2]d hp&)\1<-5EkZ䊑\!NeՒ0k;ZQNPzBl$Sd}gyT vuق1nORߣEke/SM- }jr=8Oy+ B&w0jӹݯ bdQz?KBAѬ%&&7 `_k`M@$ף}]H 9iqS>C,+-u6x2֟X%_'#At6"[!'w>]κn($ [x|QdE ?b%R{IR3ؔ:g& :!L'l)D_+±(8˞WGO佁EbZV߱,R-fwzTtI#ڃ Gw| ۆW)4I/=z }YUkqC. sq,U֤1|DؕЋ8K#n^&~/!$N|ѯ(o}=Vr֐ez/En`ӛcQv9H "-}Z~q"9;X`Nz˳™`&U뿿M0"S{Ǹy;a? g禠i6r&i=*ɢ Z(xÑ{|,XCIƢ~ZWbiw,W;bu@Gw҈vs_p0KzT[y'45}N"[ VT2޶:<\_KRg#vqţl=^{6GOW`Gf~u60SЭ!6A@y1uMǵꊵLBD|\#HD .yN 6 v:!DW?\T#x r3! ƍ nodmi..:/];-/_6/ 2m/_A:U|lȟ{ZT!;Irgz4c>91)#ZF,-Y2*!zQa٪G.f$DiތMe nt-'SƔxl>_T$?䢭]P:eZ j2PkQfkQpy/T7/$~pgq3ҏp{^gnaVp? `!:2Pwwuy]vx`t-0ir_9Qp,K7jTEnLP-a \2ca]ߢ8ydB27o*{ׂh@0]v{?F o--t|,tw[z2B>kMK 7.қ@1yJj4-tRdYnyaz1Gc\?O-"FWl1i'~efpzUprm ٓrӀNi=yӻmF՚k.}b݉FoCzF:_R;< dW'DYv{jJJח9ΕY88zT/<n-%`?x(.Fш \ȫvvYGꘒ< Ki |U|#;ٱoTHaZFԆ 7}!l3>b5$A^S;vZ$>AWOg]k{Q^gl^M7~p/& ~|2>T=\~ 4An%n}Heo/r8I cEl&=c4p- d$i-2nhr204e^es{F-"UD!?C[.hT0jnւpƲ+EZ]c w`9tp֧s^s) tp$Pq8V˷}&V}F!ismF~J3j8 *|MYyL+Ukߩ ?Z=XҖLsto$@& n)I'r'sK0+NL@묠gu-4_?eɯEȹ@c SbZlamERl853z s]mHҜmdH9FG"BИQ oWђlH^SǼU%ġB&:{E7T64Ei&<4CF"?ǃ[fxt3 d\Xр/|n !`N5nn}V3kȓcٜPGNx)Ǫaj Eв8G:#9{ձÙq9m; L=?O#e~xV%LT(Lm!';@#KC8T*q{ͦ\S8L]Qׄo+L3އg]"ʁYГFzsI㱺Yj>w@R&794a"械3E:OӌnPWį Z 67\'SDDзf [\gO`3ƀRn.'yΰ3f>'S>l k+ԟ`钓%H\-} wWN,68Gu&2Z0IS5 nMA֘e0:_,Xlnəĭ֕@Z\O[e県]|B[N v3,7D?M5YID]xj,&}vRs6t/w{?0O" v@*;*I:cW8~B[r;M+{H9CY5#ḄۍβpWVYѪ0)`d백M<0!ܻxU;$qy$ξcKLAvVa_Eb+Ey\| R`Cǹ,El݀=uI>v/iIuFD4L+ԒQ$Z||TDHJuX0^raoRW_.ldAMx)G2K `A6mvɌ?Va/1ٖvqji E}Hq3sPiwLOKmg)3RsN܅SXz^X `ՙx\+: O7kFN5)12>LKArTL&}g3 EC'8Jȏ?VXһL KNK&K ”gK n;l<*M2w)h9'xMCs| |qu@}7𤪙'?DpV_4OȃZCǐnn{?VG%,e`ƮD\VG#¢/Q@΢KEU''8dꣀ7?I.GbPbcm:w5.x YHx? w}@`Ն\#.K.BjzN>=Od̬3*(sy}-(|&4"aNS.8=uS}7py8 d!` ր,ӡ!]R ݹ[  (MΊIᗡGv&ٝdGpKr&>x㫆}9’1XjIILI΄s^1l6B"Cè7N.MdQHꩯ7?޶A|ʌ8nBAވT0D}C=lu5wcAZ3uVє9Ȍ_.aw(KN U<CvKPWƞeftW! ш/ދ̟+dG{&;e0p0:@}̊SN';.!s‚8&أT-??dx{JB=d9ݜ_2Rk#fA(j0ĦctZ6ݧ0%pR{_Z : nd ڶ[IY64GSM6PS +O sI/c?;)#=^QhwhC3`eS^dotі3aS0q}J}b6a+INPq!vάJtDhE2y&|"ݧӒ왰)Jq,_4g}@L‚ۆ Ukna*֠i*'2_B SŚ;!y9F ]'\5*\x(xg\1ߋaTTfbY@mDn*ӣS:ZZΩOg$֟`|)ۿ0:Kw׶]-̷H\{,Sgxԥ:POiC|sS79r7av^k 蚌$8wU:<?K]'z.J}et!\OZ_W{fhyl-׋B7l8 kp@քn^*U2:xA J$߁{i`g*Dt  R4 .Dɼ|90~hzCĂ񼂳T~ܸ7? {{({RM$q+Jx!$ ~9qht"cJ.YBoJ+Ys'K:3ZJ5` QK'r;:3rwWƠ>X \=7.l2,^-ћ$,0$W{}.G:X2D#Q(Y9d `hhXRϐEL6Y`27o\\(S K+gGGpD=B7*Hmĩ%h]D: Ϗ bN U lԴ] j VVx2Kv/ az _jdPY14-Pl@mȠJ]?ۅ*>!@}z S)H@C[8!@$!Ay 2s^Txńn?J[&M¸wM"]PW9KzyecZ 3.Al{N CnI*R_D&QRg˷Oy%D.*mh9s1ؾw!)j:1#!3lc3( O.jV Bc=uZWћFZjF 7^ +?/]Ӧm9yoOyІSlHl)al *23VE wu>_o[ݢ7 ,cQ[ha +BrOwk_q9?BQwU!,G@Ƀ 1[UvT*KCmƫz׾sKؖ0"z1BՔdJߨV=cj 3hKєg|i{GmTs.OT1^#X㙈R;y٢d &j=Я{s1)A{y(c6 m|*\t"A1-ApdT"\B[ *ț0!TVm OɌ\%hr{y~RUc/<`l(wj{s :a iA^ZA1XC~s{7}0޲׆TlՅk׊H0WZ ]YR, ST'u&,ږ= HdJڮ$)#n&VGULcĪ̪x+o*媖 J 1ko[ AFr'5!U磐C2z5 3]3sXvE012&D̥W!7fܚ}G| {k=SDC'/pUąMk=x8ΦGg4+24xNS{GOsxix? `룒#=mqs1I >Xš7}9hkI 8 _8A 4'] {KIz ;-qIA<8 eMr%6B@c+g|7vd]OӑpYz- cR5?}4}Rq>HL-^ nK9ys%7J_ӻ!m]4!47͕\PB=k1JeS:^A燅Gܡ'^,@$CcGaN-Izs%!fqC>:LԄ7DZ*u352KyR+Out3}@zG`fKHѳF1iÇƓelpf ~Ek_yoڢ^GsIV%livpM/)s#T:36B,H1ȻN; HO0=V{tWk6˧|vV10 %^a1 ,DpyeXHD?\|+$6E@:,ٞEoxcd\u6uE 4ڜzLwGk{i|*Z{R2;rDu׶xP򣠹 ;-j!s8|ݵy }NCz΀BP_190Y'*3 =F7ߪ;gR -’VF %8=3;>oZ;::?١r0 4x9`ꡱԖ )!3dÆc[ͺw5p,Zl.O_".TВ%6ҳ0"DNO~0έ_b¡5XuWG| g*&*!M fMKlmՕ`VB G =Nj֮=vcQ~OcQx%NeI\V>Z)Fr.`mMOPi'mLsm:Id}ʌ#ƈL> d4K˨^P3歔^`JhS4\5:uhڲ tgdY ^K}3lJ lo`*" 5kr7J.aOuRwbUyq|B+q_ZKNlnѪy?~.K07i ^֋Eb"8hpFf;7s:&qShcn}lU*i+N#uJ;s ېgZFȀ^(r{묲ӌ އfcCEF8 Ö_6O7Fjkj | Ph@̨ UsфKδ+"1.K>X2?^W﬌@%)H='`B lc?h)ki5Yj[ .ԊkVF짱5(r@ZJIT(j?R G9p2r!g_\v&:{hzh+Htwnavޝz*ʋ2MAHH<Cr&6psf-%(u jFHx_gAvKr"|Ǔ<5]kfL !SA)AV(xNsN[Ǣʦڨꚑp~CA E+DK-2ӊyf4 :;}&at3#~rW/ 1O%+@8$e3EZpyVy9d% {ﲍߝ\(oᐽ J'F%,IouS6L4F_̺XʼI= )Q3vg2Wi{ Qt4aXXF&KL"[kRZGGA;-͂32/;rj1#Xt刜2M`ji6~&ab-qreY. z-3BS֞žzJ5m%& v h%u eIP-2x(LPm8ǝ8kF|1s&.9= (lX68L$0zQbw+֮M|2 }z zLN 7c= uj|sFhg=k%@KER ,=ɪ4Mfv _hxI)  )?ӷC8'|i&Z 8eA1 u/.8ܣ5?6t.3WIi*!ȤƓ >}s8ZڜdtcY}͏T}-a13o/6n+ 麇PXZ0X;K ?F%5l E 'g#$ w]'|ˠ~CTfEN+`p(!iq g/zٞR;6YaU;Lb7Ye\No#呾5J-xGb|In2)= Ȗ"%v+v%u-nل5 [oa3f`'4ϧUJHJ!}R‹*Ib"]>ݽ+ڱ/&}Yߚp8qnI&Ψ> l\UmG|Kp~#ZjHWl1ؒق.$}u\.fd<} NuU8w/>\Sjo(_لvFۘaUx# 7R23r;o3MwDžK(B+頠Y?N5aNB>G<@tpTк[Uwp٥ P>Z)ŒW͖e3q%iu0gQe=1|1T>WPSlYkC0`2(H%R _fzd涂[{Ԕt_㢣dwuC:a ۰:ȷŀFq\=Z~eV&b +$ K!OZ 6lJb2NS좧xVw H C$ZG5[0I8f^@ij \ 7 1"jЍ/-^EԴ܅aYABzLcLr(6xnС"V @iMw#g㏡[袯HQvL+/S6Q:fٮm/٤GX%B=_zUNν~ϏG/!6cW %h9岄~VY o;ypz0k?B̻ ɿ%螎3 N.ĭ&^slA+-Ga$ H 7(~o2$1QVA4Zs*ra% 0$NN`ngtNU̾SBlRC@obBǮ!&9L#҈~ƨcD:- h^!>i0b:.cXd·4lGI^[Tsćoɠ꺖D3}9LNy쬼)́r"q7wV<*V{lU픮Rx姂| NY;֩luB&f*22j1Sp1|H"a٨!SoPG%f]' G!bnC@!4{{C(QNPyNFe\חJ]d0#5p_}ވA$TcPrj'Wm/j,pgevs/? ^nA3Rs%lf@$@c1_GS~GZªPl~ t>EX~gyRm6<_J2ȀQY,$4x_+SN,n-7Mop/7oA / 氡((tK~7JV6 kOaFSnJ @1% ü%vrk[YhƵETz1ߢ |tVnf탻}HH:_I<@@WT _+(azvm|m,Q,^t/UB<+>h\#`s7T5P9sB}k&{Ё ߞ6V2$ rr-V&KJ<#e-3$^)OvCl<M|9Gtgj⇰yv,w8mqBA.bԬpˏ1=rew]XkCZg0;cE*|~ r+1N8Q #nc x{\óůι%ݭ1cذ=e[Ԣ:5J $BZFs%/ xbwšbeU/5Ŭm~+^{]̹wNeRyK]hUQKNèVR-=(Jᆱ[&QeTWAv,G_&zŨ9k1K9a 'Z*а[jnAii[%M緑M( ?a%ub-+ր+& z6eGg~q2,L wϓ_uFZ8B9J*i>s(đ!?_S: !FLW_Y-e'*gyi롼IĖQ}6>{gz[e'*DaE.rR5*1Yr_JJzF\εbE&VGVjxg/LpDvuPȯV$F&AX 8)lOM6(L߂redeUi^}N[L4>2.q-)+QQy a:\p&@$k7 /_(6 }&hONXx>'x =rjU5x)?hD!H2=TfskTL}h xQG4\7~R(=]l [>a!ol#Z7 ,*Л=hx*)h>öQ"2eh$WPUi Z/{R|lcw!S\}(P ˊ$m<%ECq `P0G_Skv#R5Z[D̘h4%E8KBżx‘)\q! F 43 ՞^T0" !"3ATQ%bJD ^BOډz"\ PO=a]8R ohʊO8ePW_.[, 2&a([, ){0uYYz^vt, &ŨӬqTsW>ld( Si=/P߃╅B_@wQ4%{U !jd&uqPv (A/\OyEȐ8 hfQlKξ6iھ|EFʐwU򎎋w˗Sg>5POB$BtDD,oד[`e.IHkOFwك8#5q}%nSeEX0P!6$+GcĦ& M>I,MX֢9 Ӵx(dɿZK2E;B3D\!ɩL!jVm<>'M:,<~ ,ZRssS'TPHNjLt4 flbTl@< C&:oiTӜ7q٘5S@s&]a!vqU 'v5 .Vgur.ed<15q'Kʩ.A4ɧ :N6I)NAH*$‹I:~= Ʒͭm=s }v1a_+TOWi6Dʹ߯h"sXE8'ױ&:3k@90!FYv)7Ӟ.D4)]P=A'n`F~];͈tu]]ºi$HlE ]yH7qBB0_ɸ֛a]+O'7rr,UੁKF]ÑѻoEf1s~Y $ J.ƞJAYd|=ɌN!kO o k+ :FtRvxTr5YYIL4qA48$ǥ_6e,ҽ_$$Z]ڞfNFR;b(/S(6z ʐI1x PiK..{vt[S o~i QX_ Y8+\+&ckz0o"rPaNfG,Q_ JZΑs![.-gYV)sIHy'!h@g* D@| 3~7aΚ?iu9; ΝjΘc񠳐?^J-)Ľb8X+'(ЌM d#qB @pg^fA'o-n\܌nֆ B/\0%T;ɠ8FQH $˷zbxSP wɇ"VcCϪ*4Me*lSt?X^C]̓y&\"4}њ:Jp =5YټQ@ iyr+t-0]bfs^^=ĐfgwS˅幎&.è+6NNPI+?BVX)gҶ` ~HijYtBN&( xfni9 6V}HY~;5x̣q2Wyy(ϗ:wBV]e{oƍ 'i6?mPr1W݃ehI&bAvVYb*v1l39Yn5Ů'qsC*"v7I",' to6{> ?=ٕ9pl\%gnCՉVvWw=Lkqs [Yb:~KV|~:RN1'@\FB4_;Ovw!DAH}i*][vYOqf",Ë}o FL"dׯR2%b]Z% Vuwd-JzlV++BS6ۉal7ak\R{Sryۓp +Z\q/ o<-zre}pͦl5Ha}7y< ЄL S@W؄+ u8, i;۰$(7_@d, %U0PV7ɤ[rzۋ<*&zTH哿ԓfdkKQa4,I K%`?%DLQl4n\KEDA_`thذfFpM UbY|;)ҭ*n|$𮘮5ʭÃH-cVM%ءX9ֶѳ"8 *m#1^6CȖ8y;r,i^n5Ld[P١4^dh٥6[;@Qg8Pd<990xt?硇mR8d[A]P$yi>ho\cPK [hTrB&xSECnLZ7=6bH_>&̗_ДeuF2Im]^H%A*q3')yl o? ; X!DO #;sg^X?SMJBvJ}jdn-9Jr|^dU23[]ʣ݈DJj?uPzb*TN(+E3HRT@' cwȏιX *n!iU/olu|Lq2МlLg504>XeJ(SJ\A1: &6#Z3B- ky9T8RNSr3.KqfaD;ZO~T{^lwiivQ~W􀹀: ->e'݇@ pCNKv AN]2gTHxOI_WYk.9,+9= 4j3`8M8 ~@[Oq ]Id .;p/> % (h5' !w>pbGtEA3<l5'e+gxv;٬g=NSn4&O:k#mWVL"BOFJN3TPENk~PgЖ.͜!PD,J@&C|&irs҂-k* hB %C̝Y%NE ],A3T[Kaۤ$ (تL&OljpPh!Vooq6%O#3d{eu뛂aE "Sa%Irb?&ƶ+"'i8 o1fy#i )Rf9k>+]Ԃ63|-ᔓSހ!Z`|͙KD9=H)@·T$ s; e iV]+*H!V-x܊XVh Bh_P4N 8d0gfbzV=@;O HuK t+.#ά 9+dndd!Q$_U7(|&mg!QlC7XOWCX.Ͱg[Ss`H6ݱ^==#xԘR2 B݌%Xr9T"OS?h6ԋv9d { |G $ɭk1bXG73% S8(-7PEEdި:)z-,^ՌxWAx ҫ}4 -ͮ=p KVnT(OW*eOKFqOD`2VP0H#ۻ@/U^iԵ]@* T7r)%$zq1u;UN$-1اsDGLƾL*g뻉 ~ƥC:}:IX/? kײ@#?؍+ٗQ4ڞ!x9B(<ٻ+_({枟.ar|oH |#N-[UlVeЬD%47[9کAY1.74v2$ߗqlc̜񏮞O>zV4B$\-4g@)I0zǴ`rO(6{_3m(*`_;}c;~žoʀ7R֜VL3:R玲O0ƨa;4? bhi|&YMX XutJ+~&yu7 x *H'hƘr𗮺?ua^J0)P7d~8֛ȵz M@ZFy?a"4wUA7MM>ތw~Ij-g5`4l&䦱^TzX+d(.DhoiZ-J=0ȅ"hjvj"+O=HdK<ƈһ:4 pOAtZ5Y C'l #B6ئtKTT^H@^ߝNBeb7+{{%O/d8v([DHrv;o7J/QkU-VpQנ0|~IKA^o:N@K&[HS0v?%ݔwؽtr^֜&YJ.JsE &j@tGf sYsd]S^?0>j507'8r}ϞsDǮ'Szܣo,@wT!*.G20Xփ>6u0%2KFkM Z3jx>}Ѱo1h(0ƅQԄ 3 e 5ߖ.Z.Sa Ry•ӫl5u+a5 jYI2,"s砨=w(VÞף>km !.+/J4'  7THhE|)›jE]?Xe H߶F[+P  *K'È:YO[I4WU<GڹF}ڧI"s:;Cs%Gːː I_Z#H3K<ǭ>rKZPKF ebaDvzgIVVF:M !ѷф=Βp/)Wg5[I㋵n +jhioI+tnއV16 ^Z?o4l|+t~z$2Y-/ej # \sT~Hpzt}0 py{1`Zݝ~*ֹ oz~3l=9U@_'zY.W 8H\FH5 oQrTK,dFԸK37(;)#a;`xJ i# "ibEj~6d/;522opȀ5v'm"$ߵc\b mIej6'h67XֱjwG|wȴ$R"e_p)ÑK"䍼O8 }LA1)VUs58}yNhy$ίz;C8YLjc@%^Us =^)8eSeG+-x6f>ݼK.ha> }d!}[iʄ掀m&|T;RŃO.®kXf!e(HUْݞT hkAiUvo=:~o37(gi<;ijr[Oܯ\MEUmKZi!N4e0+^@Hx =o#)vp|[Ss?C|XPY8-p>:jdw Wn|`@UC6h9T[tCu4sӌ\0pUvP{&|O '}\)jC|˜1>- eK g|gS]r.Zjs(¢@3h&55YS*=CTdTBĕĜ}8GSw.j~ٓy}psW7ZT k}]MXۮhۀm H*@8Q 'J6tD`CUC$J ~)8Y)V[ŹnBP3XBd#,x8Rm>}UU:.w[Uʷ§37ˉ ked;b\w6@wĔ8+vT_.k.4}\`Qz<{{M⬞ٝ.E7}KCk$jZt$ZDAn0\͜ynpQg2l-q 8!ҲCԫxZ뭚HC<i˛-VDƾY"sQTaBdw6SmU.䢼zCtmX3g+`ڣ|M(m1O@=4HX㭓9}neO!v|GdsfЙ!QKFήP|=LG%2oat\b 1MBDтkalOy8t+DK԰;f"a"R8mu/h0SxВ  rŢ r[ 5$ѕgɷmե#(ІB8?`X >v޴~np0fʫimBmX34|I߽HFE 41K=:0Of FJReb>40O{_y3\#y KօH3 Rk'nC[`)&t)Յ6ܞdQ e)Mϭ-u5x1l(JO?+E5{ag3[[ӟȜaCh4 glJBu)"w͆ ' CG`_~CKc.@j.y.M[843p@f3QPFr7_Xn9cx1^ pPoCXg %|QR{KHh & ZCRB#Ga"{&@; 6y|UG 8EE]6ԝ82J^eIqOL-һv?;Ud*R=ZvԈ=5\O;isļɨ-]Σ^6T[$h/͎ v*gWu= }siuʱձ>!-;Go{3}me$l*a QNY9!(鼐σ6#W^:I0g/^ãze@ ~;kSCzJ!)b~ KĘdN.(߳m$>V'BI{eIф#s9@:K +J2ōJr{aI[5r~)iಀ.-VgPLjWc;eި폶f(JxUiӂIe j\yOѼ]2yi:Y%a2=$3tYsc3o* סV"fIpDMOBD1b"NzWp(Y sj?LpuV7p]beAY ! QyM',%x nL`k(9= .&25B#Wu7^鮔\OmyY0J1F쿨B** N l1РLFTcI<9{&T ڰ$x$ǎV ϒ ?C{1=&EjQ{ؗbRXv)h[pM>;v4 s-򐂹L |FոCY@w᧶a꘺-R Bjy21, Wzu:АxDǬlM)-p# ]FKO $P@e\ )ɩ W'_f$R, ; T2S(ϴ$@Q=I3!d ~j{zGiT[D·w;L8xߛ AK"IXw3cC[nt,ӓ936HIuGtWqIUUi,}J*ЏuAž8)p!׳ZsWKV{cA`^#p^v.$_PK˽{֏!  t34nJ5Bũqva]\&H é:$Ac < -><$ B !>`HHծ6DҰa, y >y>s69)ӻKJ+uOʁ9 ĄN*(fS"*cN:!D )`^`^c?S4+ .Z5 TMoP7jqKGx y^b)c|un`{_w9M.`O:>.E@*995QC0ݘK' <'ZWwe:GٟP*8Ÿmà %t R4F,;~4xwLZG-gޒ2PQ%dxg mR0xB jR%t[u rh R$@xWp&v2,qé4ӠTV~svFq@]s:1x)!F [U ] UYb((Dl Q2b5m- ccWFβߐ{_um%?0Ťu.JI>(#.,v(Kb7/O۰F-/dRJ]XTz"U0PmF8ĕ)yI@U<0|-拚:׸#=lzpB9͊d2RoODf/ BM@#cAPǦ;`y> Jf'o hd!CMIp a%'P11,SƧ#wGjz1gc5~~#܊hTe+pp?l0oEϤj&ռ%ͨRU~EyDIiQU"\3v\%1O`)BҺxdvM8ii[5*7nVdwc UBZq  /h79X,X9;>q-am;k5l X)rw}iD˸,$aG KK*iX<4\k6{ -5Һ8ABv 5{;Ƅsѩ }-=rx$S܋l) UQJa $aU9Yk|U2|"tC"H;ԬbI֙\v,yY!a$xc #"VՊANƭY 3j{D6@<:gQkSaպV1Y ~X %IAt]*[&y(/`G#Hxm]l§LYqNUQOF(r5p=l+PKs}x/ݙ/Ƨ LwDN'e轎0Ǻ"xKEjO]@ dDT19z%+J :EiXfgBlC{ 8N=U/cԥ@CHWۺ#(~9!ӝ;͆%Dk}Б:A_x?\,=\r t`-p_ ٕaa5Ąlf&,;QZuP{/%bVd6{pzdI؝ۍ̙Y 't]`1OBA#]%QW( bE^ K;:eNXwu}@ߩo)WkST55(IUX׬Nl۰4|'d81m~2h2{s\U}PG2Wg)|Vv ;_$%u> X֋9lq< Va"uA ZSZk"9zErvÒYpW(/;Dσ ǥw0l ׍#lN4ċ ݴ'wu|:w`]CKVYSebX혈qDD1 ,{MeH O?,C&>x NNczP4ѷ1)!ܱg x9*xtŴdXQƩ&H=s>TJO ڜ DZ5f7tbéh ;6'̂eZ5:A $ERVl P^s |K6Jsb6=Cc|. ݙlp̝g27+miUlL~-2-ޞҎuJ;`{CfD"<,WSM^ &R|6]1qHimMMi5m:f7b(y(&rxWȿK?2ܬG$$ s:Q}7}ep{^Jut jv 0w'l3E AM3oKǎjCbuC%6m*MO /H 3Y2&Wm_hiՌcD5]?72 .˯B~ "/ڶ.S Zl3'mHQGqRSHi@**mRe?E<9@ء.L##qQͼۄH\gGӗԙU R$Қ*uo_*P/_ݺjVPWϽ.A)K||I$ xSY.Ko/ At1܍FPހ܀1{q8AsU{zǮYGd)H t;v8xN* _iFJJO;Ĕb'#G#wXc޻O"8k| 4VGGgT5@t Jv>.2QGs( q.ŃoU+ULSoئ]~9#:PLX,0PAЅ(a&&'ڔҿ^9XgB(+~+GT~xR̜j x5_~ؙrPUuZM4zOq,xj3 (D`[F:^f;~L{br Ո3Kbtdj #3I_Dk"'_;MaDJI_#8S e]2X6j!u2e|^e)7LN`_1$#~ج*&#:7ȼQ^<$ |C$hsqzŻH/ 6wmk!jr+f-'ގ9t/n"/Ʀ^Z*yF=a.-`$l[+#?I$q:HJ rP/91CV߀뮋-ߊyiKDjAJ" vp0t!*W~ 2wcy+Xh'%R#1yhJ$Hj: TyrR<ˡ+m I@pD' bc߫m]?B9%A`aL7 Y- —j e$+NbN$fe+zF% Xbպ;P m*S3ΛQ(0$z`~=A<ݟp#Aw)|p6mNR3\T#Rm<bb;RV!?3w͆Kev&"#"9ί&CP~-)B2L+:2O U`wnI$q{FiX)ZPyP`\YnpOUi$)iQ]+*Zݣ)N9BL,DpEM^ԍ=+'= J=X@mK>ղ,M1uT\xc]&6S2{-o4o{iv2FF3i\ `Ksy 9[,;A̐e?3a{el A*}e0lÒ0ĶAS).w;(5*7d;f7Hl%|#}= d5rvL|Sg:{D9X{t0Bj\/aљ&mP0,Ǟ v\&|Pr !ڎXX쐾tQy5>r-U9ݯv|I;Ggq~j wYU:Yr&FA|d{GRUeE_L@Mmc!j(mEgzg|SV{,yAwD-"tNu@!sԓ,$K^!|,%-l:,NeTkX87G4|I m㴏>ļ]1Vz0OҿrhfBY&f5č"X'N-+Bł9^ Ns*XZ =!`0Ј)0Oɔs>ΘRє:P ڰGkHk\F3 :9mЗa5Q.S_2-Tϓ$~󆎱>7 9L;NӾSrTu\23 ~@ q.r(VkïLma K?nq"2ľa56h#Ő)l1sǎَo7%|*)ZZz۝KS@' 8l\P»xċ)\=۫L3Y% Ҷۉ&HunXNl|3?dBHVܰǸ GWUSAq"@"aIIܢQYߩHvZpP}AJo]@Y3G%f$M6+&SB-e3ybfh9q+u6&XՂ.:>gh}%*W^^sais.Р.QVk/. 3 x^ >tQ׊[N-tٸ6Y:)m HgYs Ч)Je4nn43k<=U+9*H-heF|A khj~)Z>[}W'W%{"C(VyX 6(tSpIy=iyꠝ>YўĒ{Ҝ/_:(>|HōFNGr{J{|)EhIbzG-Y;\=ewXӬ&F0 Rk=_nfa,IqwgT`@ff/ڥjġ왘i~~hɨ_UTjRt?pCبҊl+mk3[׵8G'HɏSp8slq0J{‹{x3,7p]*v뮳b$'1.oČ <Vچ> pߛcՐ"Ag* Lk%#xcp/bˀqL}R92,\ Gea硙n| S$0QҐYhdgV.(tdCW\fيCaGp%. 4rK0=^1ÆJ;v~VkmK'+Z^7p(n;P&⢎GWxƮH7ʯni$zTI$1bMsڷֈ WWxq']ӡֱ­y4>|>u0`d{ww(1hKaR[1m窫]"uҺi#皭=ub1}nBX쯮C_z0e"*ex$C3_;)݁@?qw4(_+$OKBgAa nrF97#BpUdy`|Lpt[ o4 OBGZ~Srq>{Nn:: pWϐ̙?ʺ璌.rD ҝO=ϓUFy?&Iʥ jN1]XF[℈: fjo>kgQ\PpU'/1~-Jΰ{tYb-xV pU[.D!}qjsx ;P.4|j˱l~ne.Hκe<0#ݚX=c|kVg,5df`#@/X\F9Yޙ:K|' pokĦMp!Ử*Hrak#WK:AXž'H^9`fXt%FdHHZB9B!> nmJEkXs3ݱZ̚~>ޙGAJA ?/-a'RdQ(whMd҈l'mP.Wʾi ˜|t`;D^}d[!cq_­P{ή􀢝]5U2wwgag2۴ݱY֌ˑ+('2!PPG*sYV#" Kpz,AGUӑGS[ygeY=Eq.J:bv¼`Gpp]j2OOa4@tB$r⧸_UJ|vpcFi3G>aǩ}swXrak $j_@\QxTE!nR5|̷,3g΄}QDݘӇb!htIѕԼ>tׂ"&cpyt"qqZVkT "|̴N&$ɟY=lOE`tկ UNuH^x}t:|dM3ٺ]oA磿ӭ2J-VG]VP}Ws*Fsf=}_KJha۞@u?x!ECf,fRn8ʢI&ŤPWEzω\lj-U%Rå8+U>FvXP5v&KSޗJ۸3'f5J\5թ;PB=;ѯ ֝o^RdcH|,d3iB^FghmLj&sjTBG=J(lylY68,-S-rK*~:~v• 3S+sH[6jg,\xK"UmI 6lS6Lgr.`eYq[ 8ę%`V >fs*p"-".qNil|Vœ c)wTQyzFt4`%@Z5`ܰdgR"Q,b=,;| 6{R[ ;(F9u+ t a+8dupso.Әf>+2ză5:lXcT2XI,&0U}YRtي&m⺽@:ak[9?bhB :!&uԁmpO#壚QHo JHظ6ƻ">!ac}lDzP5+sq-DoBV$rr7.Ydq*p҆iZX%\"E??kD)O 6iQ+^n7-k< 6%*^)7P$uj8ʐ}w PJM#plC>ڏr$ S^tXbmKpF΃twʛtGՑ-b @So/>I>z(Cq~bY oc_q|3Ru5̴01SGxd읠R&iiг_͡Aq=%tecT$| Ύ70US;J0B&oz ,}dGp!KE’1mlװ/Y0KÖ:OmvX x#ATB#9g{bg@gp"מZs]]H_~wZ_S6)եR jAE572PP e@sWimJ>T|7Wfõr ߎ,bҤ$"*>XdA an]v.}-bn&H6ŅP~FN.}aP\ '%~܍wp'yOHĻ"kƒrDpiDA yfY~npk3AU#*\94Yí0,zZM)bgv ,D b_ٝL-AB hKO࠵αнVXӃq٠"EE&!QgrtJV3GOv׎+t-*\WI|Q—mo#BP|\qw+ ө,Izs}^@G t$PHO-p)Pk9D3?t󿡺0c־uKU*sjM\+'AzK44-\9``dgx{m^H傦EMͪk7]ĝwvg_G]Ւa`VekLJYH<4!l2 Q̂\I^``]MɐNh2AdQ^?ĕVf̺w!7D뵧eX%%ڦl3R¾htm(4t '{Mpj}5yZkͥr OI&-/s1ڷA_EU~3Mx| Sߵ/%ܿT/O }f X[rƖ6:Mf;iIGNM5Ȓff߻7*npR9/䎻&H~vОiP=_tPtgT()v6nZ=ej-u`d։y cv%ҀުLdT*$igINJ|Y+&S,X`vI8t@X6r,7ځfeJEe&ؗa4mŮf\'J1{:9 He{C14jkNxu~ʰӄINÍYoD!6u|Ubm<˽i`l:ARy/7a%14gis߶>- n u`"8`IA(-5i%7X泌5|rpWuqr5a4R^y c/G)2͙W4=;te NAZ 9v_7_oJa%[@A+wPц2$m'XYqk ({{7܌K㩝`yZVHO Ic:v c*OB)3WUA3#/R/Խ$}#b&ts]_D<"!EhN;X?ΌIEyPt! Ud9 2*?~FE-SΈ~`ƂĔ(fDʙP2=Anl6"V#^ֿ:" síiaO\78"Eb9-Qr108_CGoK.r7;_ ~{b&H<;ڈ^J+)vlN2&%z(s&[EY|F]Ry&cKO-̇Z:4j/mϳ,z)]J)fC N #X-T%Q(,bHR/RhL 덼.SN:2P^W*TvVH64;DJ}W@  |aD)?>:87zp]jwϵ#yeI$Cr*Tf?k7'NC MU^S x;t#Ͼ9BNq[p4 9/qY͔UVhqv|]*Ws@l[eO>zʯ{_{k1_:-lh2ZYi_c\|c q']b6@Q=coYUl +QQ:{p%mfOtgҍ? @MMQCítc!ȋdN)1!ڥ`??. 5Ǣv/Ǖ:h;| Cvd;ZtGɹY͢z>AC^-˝T鬂a}U0}6ʥ)Jy8b3Yc5يQS*\ :RJ вAHԭU. d3@ eUĈ~oAZ3t9;"DP ' F4?qR._OT\:/KqT(LJdp2]`eJe7\WMr9utE"][î%vR ud~jl"V.' 9nvxaq8`aŋU.lv@[C5~;ox'\uO/e$WB!D$j6b 3n2mEmBFǫ=d;$U~s|ܲYj؅e>2AIHr1940mDFՏ$#%țN.6 .!CGw omtO[Ќl'W7X|xQT0*wZWXB'KD!wNUqIa  RO q|뻶q~2 ]W)_2t P8:K^FFB/q!!T'27結ĝe/@S2xk-섰%`l!m>/Uߪ{!72hHڥ' e[dL4ކ`.'7q=yGB+SV&0+eRB䊱&S>^d/=]0#e\\R>ɘ>IO#?kCM}@Fohϑ tE 2%%zJ'b |@3wܑsSirD$]{t8ug!ROi-i ]1<갳wlQX L͓K1luϏ1B0D5k!1Jr ]ѧ{rbL]ea&阍bm;#I:b=H'haٙ n  ٮyV+xn͠v,Բn|?P:^KkĿ:NHR=2).ҹDF$#I80Vcp9:G d]b35s{dtd0*a%Ze|c`m}rKR~ i*"G#9:ir&dH?80hI\TU![ S?0M%:/+46ƈHl`^t9o3uv>t))NCYQr:QtՊ1>Q?2@{o妿/CɮEU𱖄IJ>XJ@W8`d3!?m;^R',[ n'M]e#&ytC,yn'Rw-#vsbQi?;3.^aDc9ݒg#zA6R&߲$%hF7|GM'1_Iל`\{2 0^;(kɖ`&XH&p.W܅*# ' Sk7VTKZW$3)=40$R;4(Wǜ1$J?(,z"ʃQVT2"m>*^[26 Oح&C-n>$1l4s!~4(Ø(I5Y sWxOo]:2K Mv@>ȣrdߙ׉uMu @zwp40Hpr31ÏJ }jk0kA 9GW;KLEkPiLX6TNYB.rhUuv^;-9rdVvm׷џ{(}8/zFh)KIM9HIܧ Ny,HmA-P g'[8^rbn5ˏ$٬x+F?Vh{wj}ut^] + DԮ[UY=ٷPH\ntiN3$Fg6nWKʜho.#L0x @{Q(G'x V5X=vrd؇I8 #C)Wڳ ZNMS)ؿ-@͖Jw >!{-T؂T{uA`h_TmsF}@a/)bҀkS/sSk~'NuYVXFpi5#9lV:sZ;<LSo>t|r,ED*dpf33Ni"LiVW`wR1oN?Y2PMz]*q[|Y:+VZj5MGϛ\˓k_yT! mjFud&NGC{tFt)~z%]}@s  .=ҦHi3)8 Vɏ$8v8HlA?}'ҝ TE1PFf*RaE\N^{߅U?Y#a  Amb-'mH%hKY ɾ= E%/XYk uQ [Ql떐{DxٿnQƏeRt3ېE3z dKz<]/цP MJ~vdKѥ*M^mfiזui6,+B'Oլ(ѺdAeSa+I)TJ UƱ}jwvp!X-U91Z3;Яf$>$p[KUQu;v[ݨxWܦwDE;:΄G" ^܀D8 x5HApy}W {ڑ%ꡡ؇>'NO/zPQiCMi:Ȭ°!]BՆRaR.u#F0~ Z<-ZkLSiz|iyKc YŜnc}ٕ!JZٕ /dA} ̕>xLf/HFbة(<-fH$Zp[\'f~̷ɭ:rM?㚂e_|&́zkAͷ;95]k.7C/>p\\nY a=mfa?R"Қr(Oם->o/?WJ] A,xܿH$^A=p&rzLEaD#-8jqN8W] 1^ݤTfd xӧr4a@ _R(gU9OtE (&U/׻xB4GӉnN\Yj/3*c_ +2<%V).nw`}DDp x@c?kƅ@'>,5E~SK1{_Z+{Li4-RbwH'!42 i5$5B+m FU:I}V$v@/׬|1{ꪏzmow \MC"ԇoimw s #8%MN>ї%ie@=3F$d;U!#Fa_] /;yO,[$~@ܙLIy%Şx1L v'Y,\3G湉%{!OPJE(]6mY{RXPΔVXA(!h`EYtgltJhnuQ LHcR[e=$?1P L|d}SbsU>BUC1!XFOᡸ5'r ]re`EU.7U!= .fu~U 2&v~k" MMJW9i[G9NZvH{ 8}A;FC6mB'bk.e%WKHvZv1j‡ (EFN0G`~&a"4j)Xx_C]a"m[6%D\:}$Gm Է,陱3U@at;'r@EjP>'Xcs!QA9i}.g8g=HM5W\'r+#Đ6 eia)>/b=B0,Xg hc fޫJGDH*{w$GPH}zKCGpElc >}"ӸAj, kU[\"y79wWf gpMIs5IK!ÜDGZuɆ&T/өFzBgVDYp *0cb1A;HgEd>T!}E0UMR2@Y>YDd%G($rkW~4/X={JCy'4RP ^ܣ[4Kbȃ ؉Yq^!^BF!tuo3 DNeo!w.Ig,""H-;UW`, 3sR]p#jUj r9~v88ӹ B?Cud3&@Z |DUot<-}7^ws7`[c!ay|@w[28^l؜ OS) m8 PX%Mav7wEYYFOg!>pζnBDlMj4iA?જ2Sb'EA E$.;[_gZ)97}X#E/EQ3.޹}^g8h|ll206p=AߺqPJbE㖟ӸF\$[%sƜ8 1f#3wF1f WP?&(t}=&s`~Qq.JFvX_Gջԣ*gz.z L*mvYZi11!5 nk4h5 Z nS(^x RPѩapQVYpA  2갃zڿ?pIY-Iv)@{T_[y9;0Zr R/{XED a/)DEkׄH3ZG6'$E#dZ{:_*Vw@U}ۇY%ba(cu1䪓|J\":ט‡PPL'pm wN,O)0? Ip:GF,pJ Ʈ|KN/^Nr_t;~.z^cPmENƴU;Ro50KYIR z`mr-lF'B:w6|tr!]İ6)ؽq#9Fn)q``8{J^JJ> +K4F{.W*]e t[jYD%l+f%ʘO9+^2_y,װP-1,)gk __* Mmb様|iVH-R5ì^ .<3 9EZKp_1)+;ܸw8"!-bd#Mn'%TQfBEq??Z`zZ?WFi]GU6!PEtD+K u1m͠0܈45ހYVa` r;L' BR,?qN}EĤcEj{Ҿ0%+%Xa%̉E2b7%+sw|^dNW _gAKSg: lw0\Jw>@Y޻q!7XLAA~Y_\S*cd܅є-63LOى dcHF[+9WĨ /\zK0'q g.$ͨσhjU^6j&M@WJgyj2FQ k,Gb"/c~=~q&JgkV)v&mlFzΥ}fvG}Aą+1Q,N9c]؁ut.ӓq0;^{:|ePl&a3BpȦWo RRԏ> n,v2 7ik$U!W3B7;S z2&FySJNZӂ]<6qʄp4䥎&t1ecR*6GmAd"#MY~Ӎg؊tiLfajMpd.&lgYnbf9pK(=,MSXs\9]wR̡(RPGU~(wFeLSc%siw@z57y@t,%{WE'1̄8"SB)WJڢX!ag T~e1KMe&-sx.nɤ/\mJFB^`zUyJ?8&R8KaWN \|N&ۏihfJ]C8|~n;"flhA;f|s[qLzK=S a2y$7tS&Tr3XWGvvh]O{eaCdt/'p L'%-YF.\#&hzKl i|>cK&[&[G OL}o{6JUYSmT7|>V=l|ISxdտX&#\ Ud Ϩ2`W?=uo.ƎlM3E?%ɒ N(igTh6i}``슧ڤqɟi/2C2;UjJn{!ZTO&P&?x3Bv{^뜦FgiAlŗfPs@~ȥ7FjU9v3)w= {ץ/Zz|2h_}x1M;̎JTV5GiYB|h< 8B~.'}tjO%|/4-uOn K )!Pͷ[qxk[?Lgc7@4}@ :Pb{@/~gB0%`N< 'O 0 {J8VTnS;uTǗYj&~ ]J:Q5Mk_ڈty=mCmyТZz.ۯu҉}5$jy'`0D)ϛæ:3f<.AY6AK5FPQ<~Z9it԰Έ G3~9U$z$莿^k!A<'O, - ֕ʿoP.UR[[yaZ/ih#IJ 38e"ާM\xO8h>kޏ/|ٻ̘`˜#7('P J mhByOn =nogrŔK' 幷`)ܲcYDf+Iˡ^ag+tkd[r)ųzE-spo^*dRZW>ϯՇ,PG`rWQ ZV*VyTcvXzuET 3 NvȈaٟKzO;{TR4a ^IHEjpàV529%srd?3&JLRVtz"7cg1FL1o#" vhEj~@]%J~zoX3Eq,(M^`C'l>r>1%+c/XQY 7_;/TfmS0v=+T<¨8YRꋴPw͒ x-~8t |/0])PQ|=˘]@tgO''WZY*HV?8M1 Ω1m7ׅߛL!4gd˟\ uͥv2ߟAkOpP|Kk~Ȼz> "^ \6+]IRZ'0rSg>QeUaDLiC ]i h#<˩!t5jzۦ雡T`2Y$a#2Ǻ5^Xg4FgM@-IiclY𣻒d<&\|'z$j=Bzu7_ -@΂b2_!7?0[?q ˢ:i+3T825+X٤zFBؔbUЁ>7E[eP14{A  #>#ѱ˳Nq!$ _iv31 :\9Ctu8#Я;2ЎyBv0*: R]Fx Ĩl`-SvI S:0ZKbt/DR;IQ@8_)*5uɖ5̔@rHTߦ _[@1ItqjֆRM*D ^?Kx;)IH,,^Cwcd7t5u[8>"2R{^5N.}d\z+W-gBԏcY鬋H;`nS hdKA B`5 {2$|  mX W@kB gR_9P}'?,3sss@Rm? Z& h$VnQ][ e *6VMzR%Ϲ[`'PVr;ߥ-Cvxi;Q;{ ܒ\o||Rò&aַ -Uf6\˜m#Fp\湡`vہEР"iQGX_hRH>4$~R̩$j O/pm}9ZjGl?q2\6?˦c>DWz >鳸0njz`6{3g'>][q{LC Lj4ᖫZv;e5$&8d#Wgq PZBC+V]SZH=0 g!ʐCos qܡޓV !"e?sl?g;KG_L8AJn怮H`6baCs#jC_fyCNĕ0Җij.z)'@)8-O]' w x!חF* LZ(3t̴K [; h~Tr]hS#y#U[8c/|\*^sCɔaйTv׽/Th>a&o(|n/[[?Bg4p"*}gD8 Ƕ{@;ԀHm%TmȵώYa}g ;3q_P^(`Gԯ9X[תVܸ L7\7F៭ՃI:xɪ !~y3+³>+ݹ#$kO5j'IJ"mQDu/<^:& R_%ԗ}",V4#Y_svW PrC6N/TBv%~߼F5 ٤kyCX K,=3 5.Fn.~63+2^0jj1drɌ7EblXB436F9Z$^Tnnk%uFx$`nmD?=%7vaa#9P+u4 M4IiycSZ0phGBίuϵሻC"^b%[wUkK(aT@Uyk7 ;-xpNTI~uWRRG1>%^#ՌrJ_b*TOk3GjIj[W@x3aD߃2;PwG*{p1L^Z, Dޗ;E>ٮѴԞ$$k=Fv pjQWZ/wuϸr,vk |Ec Jc CǞ0Q#HZ 1!ϵxnxIʴ'6ە~/v:]BՉGnF.9sk%(־G;(βfOoSQ [g.Ɩv\}wz(d"'`"D;TNYU0 %kSB?-٥LN[=3䟫܊Oԓ\C1!Ba)J׎\<#;]jEAo o@EOOI+[I?p{#~'8! S-~ى;Ǖ=:s]!. YU +]#8s9AtG%_) ꬗ԝ <3t.9εYqB 3M`P|I޲*Zo7ldrQ2:5 ]oޚrvYzt<*,/K8 B-ۤ 1c{a^ nE` Z[p@׿N+2$5 7X!5c*VjݲgvE"k-6Ez;KcL[[7q  ĮNKgcӃ9'Fv=RO6Z[Sq̀37о?VEތ&gZ 9IBbAmyC큲a.%\_Q?)0J W%4t,}LMx쌋].R_{{S1!Gҙ-P-.e;+x. ŏ&y+eeF] fb|%}aV+ -kua9DQ,C8R'?{|BX '6 LqOz߯>#y&uGy*RTT-bD!ZՍ|/ة2SPݱDUVHjc{G-RgJ ߽[exMύ0CesBbF ~ !$[)(M,o6;=칫\N/2|IO14U[9P&]1mF9T( zQJe~Ѕ7r8I̗|h6"b"xz[W}G{q6kHU.mr@HX;Fk S"B+H:keu!M>oG?b0ΤV/NJQ[xvase0Oki a(PQywJm*wY *Ơweh\,`ym# 2do ͓# 6YSIxnc8# +:w{ K.qЕUPO5InԆy_~PL7k&Qzds1zP߷?5sHO/{yBh+>0 e_YH66co,UZ#wɠ!~O>?yepWn+#&t`Y wݥKõ451?H e|@s ޓQS9}'+r۪u]CI-gx5?<WD}#. "K@Z'#ɇw|Nէ~}BYYRk]iˆ^5=0QZo1 BPUz)c7I U'!J}LmޗSF{벶7}+b.G0x*z?O1[?dϲkIZk@Z|V/0w=L$ "74Ņ‡zJ6L z}]5o!MxM,&OU\=DV'rؚ欆5 ĚC?#43τ&Iavo F;fV#G20>%tH7%gWK%sNlP F^K2C(&~u>u}?pm*ЕVHIN 3̔}~sF`!Ro\y ϫ|78Aк_e {y3&%fXr2fyӋ9dx!%g;$NRИ <+G̈́:bBî6pXi?]mJ@L "G]j0|مI$%Һ_k]zU={ehp4= beHF;Qt!61 {?=֔XFܑ |4{)|ڛm632D!}t<~9Ksu!]谷[/q5V&1E L%9 BQE +\qKp9pc9QXdSWU~0-8az9穥R]ꕜ01"9sн7RMmQ#>ְcCm.K,,6>ȾA`%SGl1J4h'(+ɦ̨P ?>X_̏K\q6uMVvTb}:! k8 rUs|Sűzw4Y)L5 aX>5|Vl^&Qi59pEubCC.7Qۮ~ї*3y3GAya\.M󊸦:3&*8$E[b 0eY/hڨG!SX@VsVleVB›\kTmH) jG.)HDY%l{=R䈶 h])( =A;*i1 4R& ?&',l{֥ .p}S+>L5x=Y{{Z{WS>|5nYTCVV9X]Tq~efK%ծU`tN`ܙ'ȥtu_v N 6V"IBuwp]ZG'hH@+(:Pv:|d!ٳ"-&uTzoH2pfAd,u FW&GA-7GzR,Vd[ K8 |vq0q^P䁏OtGP13YHHS% W?8GCOU?6gur8pO*uE"^W J6/n6~UF_Up-V^#_TyC$L M籯~6jCXV=:eC);^hTO⧍zuM۞Ff2Y$|sT\B2(Ð֟%5g 3\ UE[L{7פ6^(قJ!K{"<;T߁=xH̼,u Ϳ?.!}6@r.oMK@F}CGZ HRuOTܝoEUXeHfp Ul&|ɉpϊ~jS`oL6~9s3¤OU x?9Y ;pრcD>RawWPۗ V5\o)0ܘnHY`!a߃ݞ*[rt+GJPa& 3t+@O+&?"05fZ(TϢliY.=0?^Mj}XRu: r`ew@x߼z)yCx âj6eU9VO(mB=՜Vtϭ|1rt+}?=m{pWך]=N!vْ^d#rJM՝t G&+f22#8u\ZNwUңLES &nQACyDE*FK~f‰䷑q8U\ɒκPH3d(ZiI)''X }nD؛1')/[źe啳m 0[?N *ؘt+q p|Q6ǟakw6`:X3!~*wu֠+nL{ԧUarr!h!5\!bm&!']UN4:TWPA|v_J<ԉ7sc$c ↷5r4:#lG54Z<="PSA16"5|>,\ *Pt.ݺm8#VwiUsh7mGoL.{yۅH_Ʊ^(ԇ ؇Cl*Xn"ުtT0`K4΁- s!ZVDg]1j-D%3osJkt8NZyWj*FI3n~@ubM̧KGg2ii]"ˋk 0-8ފOz?{ ID!v/z|PvkͲ]jZh]YN4ȉ;H?nv{Uqh؄Wby*v10t:v&q}^oñ= JYo`)jǤAy0zF"ED˻=F?[nh8 p\M_`Aknק("?nKNs:NCGrQd&#o$=R2J C(JQ[Np?JpV$vcn֌t%)6Ȥ69/ZgI[%F#Pj FTAS+_] ?f{$b,0~-<n tbyAh~tQݟr <pU3}Ź̓_Y!{{ݺ<ȳ|uJǸs=AE3iꏑXr\2~66Cxv|#s,2Lz DsҦ'-}*s. s^W|qNy_M5:;"'FbO&u%3|mS~m& OrGC'f4\/}Bl4,j-wPR%w_.&@M@'a35!D}~<$QI̚/$t%D[uƏ倆>=4! "f]r"O4ݸYc7ftl|S\'N`V_ZetX(STg9}9`}H`Ʀ&b0:!%e;5>>[gJ [**j9`!߶tCi`Kopf+"/V>t](tx tUpSXUv67\6[q=Ȍ ?dQ4ź ;G$W: $&Wg9w{#%zB*Y P哆 f=_ 2$L.jqBQ PGk!]neY@Z Upy-á*[X:31PnzisViz-"Ul0>a?^Ne蕌Ecw8.PC: AkBq s6 Ӿ*wRKV}.d[jM^0QhLO9㧳@,)ٱc<ͦZLKAQG FQ;5O]KDzJ=;Ȇ+9 bHT5C׽7z_Eml|ñ'  T_rNQU\ִ!C9nڼk3,0UUTNk8d1SC5sa}X "+8f3"v{$U~qI}7 S-Ze;7Fד}NH);\ϕao2!*-mBwް2N'ns6ו`QMdO5_XkrÒ3*zZ1^ܗ/bn[7| (CM(ËDi6Ic{qq4_dB{zrL*n^Q=NuPP[]~_HyMCPBQ}1#:JuB,wGZ\_8Bw8ڍkßq,[FKL?]Oy>;%=׭HXa-~Pciժґ#3($c vb?̎K)9Z `ZSA;.KaAy٢/Ik7lpN'/<-1΋N7oS֮AWi`660ir+ kqSVtcNHA9'Ob!,k˂ݥ[*Vtj Mxp]f LŨVǧ3n=h w=Y7tFKmWht6O<+B1 )ʓ׷EmVo{&wߑ^=a!?Hi ~;AE+>CX^1|T)D>fYh#%WW#6ʾ>\6QH ;zLOX2J3 we)>etJ{ ,mJ$:g{\l%P!=`:n2STO;|'gV^[V0o&mӽK@F!JBO?Yϗ1a HR2:'DZ>~sʮھ yrdc! w9nV_f {u^(&3sn! .0"_M[*XQߙ ^c XɽTr2a jM4lwP:$n\˩b95b& 5>КQK}L!@Gmb﹊۟gV]w cݹdA&@bQQ\:W[hdh /Vˇ?ͯ>k8 w´!Pf}d._0c9&ڰ)] \oX]5A3tjˊۀ;a<5pCДY߰[]'WA!'_ZM< =~1!hֲ݊F DN`^\^, ;={kkRߞ+CjB dދ\KթG* 0j+mz%X%>g=@OcM_E{袈ǖ#Kw#F˪D-1|hKZK%= ܀@ۿk k^Et؂(+s5"}W$Bz-%Wz$ء#% ,u1ص0&T.'ApsE$G3V~ J&#:reN*Cڷ6qoϣQ= ݽS*I0~vWQB1R7 &EW׶y14c |(\?kB1^㽛^q8Fw!-?ͫB]@.mt}pD)6]0꫄'!>q^`rhiEĚnÁ|) :lGc;鵜N"]@otZ.+sy)K,_I8O[rԯV^SNNNژEAj3OUpt ?&Tl_&Ś/(8 ]".Ph4 ޭ/w:3~0K"Z夌IOxxrcBH+ ,xB]$%+GJ%aZu)WLidI(d&@’dЏ*|^9"6C[ =lT$Mx| f(7.xdw9mvQ=՛ꭎQNǁAlik ܾ^&d; PeskntbxӲ֓w2C Gcçf5egDl › 0GV w"eXJq:y^Vc[ rddO1¸!E~8b@h^]kF*>]CW* gG{˨s؆ݥiP'DHNHg٣E^$&hENA(.[=?i,4 XGY̰D.R~"y\SE.Uh 'hAˏN0t\Rq+ϐ8;`O,'2FO@hqcp-0'.sۦ4`FUxO'J?H!Xgل5ţ(yZҹMWE|4oqÖ`m$Khv?RU|}. ~םT ꚟLyWS >VdE3{@R$74qgLHATHȮKd]|1GА?9C`+["&h M=/G%ȧ,?\@/H%rJ6pDAGxiz/sC]}_MCD-L e<4>Taetli\P+`,wbVQ4Y9K}yW4S.5 .pꡠ쎬3,e=Z`x֧, 3/nFS"@h2@:mfTa̽ !rxac_`\-3i &RV"ӳ%KJWpܱ$bw"fTH K6.B+}|SXoJ%ےH\1 n7x9 4\wXZ⾱A^/ɮiF] jtG}B UU:AiխU+Ptd0עMЩj~Z^]?]IDP~,|)7>G"g!iއF$SU&& ߭5gOe`qR\yrMڠ 8H @jS߄ݳZU˨[1K7k@@5m81IPF(L2ozHfG‹0(qE%';ymvY03O,=*T"TCl.ǝhwՇ)NHPH E%\^^2Sʺ` h j F~.L*>39ʒ62x? soBB,c'}vy7,P֜.8Sx;ɠ.g("3+ 2m"Tڿ-8xY9i:8<&ịc冲J,G&RL[f&.G7ẂDPy'oOZ'RplEۑR̯J;~ o_p)icICW*t">v b4`N u9f YY76r/E-cDX>|hxn񁿤ymQ$< &r~`-NS?!lŻOb)Ou_:P;ԮBM~2/CiDjKŠ }a 嵈#j<{O ~D8.VƖyflJg Um<ͻV<ЫYF+oBf>"JoZCi^ѹM>FشK3<7Lo$4iP i3zxmϔwK7iv R)] ;ш v%AMP&wڻu!&,%*\[I8tM,7$n8Of~3a[htP0?6Av7_^oBB7o*oڅOBoFux+/#pUu0싆qҍ²Foq|9¸Ayar7ݻE  Q%,GڅBQ}4'4a 2Cr8q#ܽrkNy*Ê[ N}DڝBR}cp bP?'}mUgUï  .mzAr\/ź.x7|-Bh<@X ?(|mؿ`=qcz5^pƱ\IOp'3~;-qD}<5=XаGU<Jꍗ۱P::P ?mfQr!I= %! lv Ap.~ 9߄S7AT۔)[6o)$ Vvp_ "PRAUՏwycKt15>\_I?.-5.9UfcfS.!fIW]l8 3Jգ?eUa|eLH7]87컗O@XZC_듏:% ~fRJm4\' U B#e `B1+䭫ڼ@#'SݲEs 寪oR!i" ~uȦ]Ə*L,nr`l۹ @D2]+35ʏ'ⱈNl6R Kzar۪{=1FbOZl\Η~ w)O'H9;̈\pE3AfݭTTd?a9o쏁hR%.?c[=b[:| S u62֥bp 8(0dž_WI|jk _&:1'9F\A+:uQ4b ۠fKorxkt$n6H ,ZLp`X|:Qq镊Ǻ &sAJ )N)l.V+/~.S )4)ɅC)q}eƨV!\OtDo)T2#[KU0KqD7'4ClNk`5$;4bg=%.y;:ea+믳Gtslt|3O-Vq>׼WrI e!1qDA;9(l 7H& -X7On3v֦ ͼ(۰YL41G7ŷW@4?J GiS-]fs.D(m>!5?S.קIm9'/;}LGn ~R*݋e)Dq֫U'R&hAkzbud{?5} s[F*}@* ƳAMF#YΡӽpK&f¥y"2: )&}cB]f7<d-(id3Ǽ(61aI)gRM+8P*X5JT^7vӵXVyjCނF`?TD3 Æ^;NXuO80nZJEc &%-\|6e X1m"7&8E.Ғo b䏫=%p{#Qލh* jSYc690oRw G^SVX)KVJۇeomGWU M4"{T|[& *ﻼkޅ=Vuz{J}XJ8l>) "UgM>e7\ȋ?Lԏ%S/Uu{>9aJ< i7 U;U++2  r( (؃0pxmZEmc# ,+6pW`UMà-XPkwŸzIv]ܓ)>EJeĝ#fb鰃 W+O|W\6u[0N%E 1YVVܯˍp 1%T.|x\:Գ+pyټ~HMpXżQ)_? ֗kIL;:?/{h(BM&`IBS1e i ?;d()#ڙOfӽT4~_8"csWvIM0b,fV.ss̈jl9ah"_ #VbNQ$ޢp6i@ H'͉a![7t4Jt Y~gC){?G,ӝer.Kv}wT֥#*nvI!Ex<Ѯ2K53}hq[nj-VdO͢ңqEBEapaɍ7T2s(]cZFP@ҍd='2Ӟ47 `OȦ.\E~  Uk)w'uyK1=9Klbz#]Fc6yIr$NܱγaN&)*nya_nqzd`6̼Vfpf(.ٕY*F咁A:k$ߧ V+"@G%'p{u8u5B*& -Ll3m}ʜX>%:=D`^e0~#}am촑6=x݄&5¢ݷ J).Gu;ogk?YҜ~+>SU=JַcTdwTi _`)+,Ҫ6P) R;zEu2H؎vǫÌS##{HSp >ǥoZr }Z/)z8NM\P18R[jE䠇\E_J*o27<nmJǃ2k;9ϋshC3\$n}Ɯ= Ei#likzyDFUΩ/{$eX6T/?tO4N}#Fӹv~ r%À]y{|`/mvt3Ґو0̬l2HbF,Z!̪>;T0?xCE(M mJWlt #/{($2@ "@k<0gMRb,xrǓ *z"vL%aTjK-,_֟;jl5H;߹%Bo3|l<~Ս*&\F5BΩE>_ ع-a6?1 ҥS[ kM"nR9G+0svd߼䑑gT-JV͑7bO,p;ypI&qm#loMot^8^ZH2 jKM0@2t@"vylvoZe# Ao{ܙB-[F_8-~Xm5(! 2pLysQ|Q6,$[IXiH!}Ӯ?oH _ Z5ҔmɋZ}vHɭ,#dWAւԠW k Qa]'kSz:X^t2dCF{zj MV]1ċ4Y{J S%gU%˭lVlo4ˊ#jE+2MlKR=y˅yWwuH}>Eůc|"l~q69~!1Xd-Բ>ln )ac0~Y{&+śCOS(@w_t6ڞ,}l C^7β)n|\c: )ĭSb:&D B>&6K'#/~vkaD-[M? W@,'49ZhZ4As0Ry'&#f(BǍ-w&JFd%䆒{A*oX D?SqjX4> b!wqQ=gߋboiكVsɬ۫G##gY7 uDH;i?gRC5t|;Fo(@+NG3<1{1 ;@'ae Ʀ6uOd;ti OTF`zHiҒ:}lw(.ce,8r2EK8Qŏk%]Be/ <ä2{(]yn ,tq3Sjޜn魞b$B,;18!|_^yYrADyF4X_r|{V`{74U}a !*!Bo?[e\@Uޣ2?,{IԹyJt,Hsth2ew \wFSGGw7-+ SgH mK(XCP%H鹶J".\03v6afW9ҟ`hSgdaL)*WHA\ r(}BZD#)G&ÜR@bE5C%S#+i , Nd&kI b-tWRr;[j]T)["DV'EsJU}ǖ[*Gı jr4 ~L_m{ngwT!+$[(A8r5a P϶(4`=L(9h\{9%++A$t  !.&_}R56J.%xwp0 E=/U ?8sa*v1pAkl^UZBV#jHxxI},ܿX[, ?*/ s_e>lX"k+K7-V~ {.(VZ_O⯪kk;g##عl?IeJ0 L][/ U^R[ڜ*k&Ř ocA˵4*Y;v":kϵ/dEߦ% Zn“O8pTdI8w=pI؜M61*1BG_sE}+&?c%OzI )\HmX!0t\9-4gN3V1֑?$(6 S5(1]cB'̮$8RfJG/A|R)MRt m<[{ *$#۬e eW7.zSuxtF8˫K﹵-X x\h,I[UrZⰧ&dN-t8{'Q#$vM^5YdHѓ|I% C?x7՗q +=?e ɐtk]]/97@6rMK,3$xp=[Q;X֚0qwn2q2PՋ3\A ~椐xK@{HhAWs|'Yۿ -1Ek?;-r֤x9+.uf|&s Bb%>ۭ"%ɋr T9o=~QuQ_s6G zXbG |o}FvCy &( o.6&b=pH2X]xǣSRJs^;d\/Y:~HKB"3ѩm8~_nYr4UaOGa">ݴ,O5)(4bJ}*Ðd~؉U;$!Q'Ǔ~ <F EaρvP(rsҠp吠[t|h +#r:?+Q3Z-$S9|n_kjLYKlQ^3^f>;`nC!0̸h~H{$\G|p̑.vV?WMܩFNT"s~zp<޿quu65lwz#0o.8Rse! bUie!Wnp1Ђ.R|NǚTH|W߹S此\)cR+; oU94aPN¾yy*QV`dR?= `paerJ_&qƀ>KSM`w'[T#,=l驡M O,ʄ1- _& O],LóS;S|Ar  k ԉ聘ɏ#UO= u85@9֝oZ;"!&wucj6O_GY/7T7>Rn"cGhuce#nJcWfT3)-C  %1ޔ;>Dp읳Aڪ g+ʌ? I^nf>:v.ΫWhnLY52M=fW|j˽b` F7I詌I^uoWٮ$l{{Nd^AnS}Yɢ`10a.al2 ^}/vw SՆ. }c{u+$[ښ9wvk*zUX!Qp yeEs,'മLpb0bl&BE'H5f5?[fTKް W k*8Y'@] =7/4i<,(lNx qOQq!V. +X; *} EJ.j MY.ilvŞ^S*ح}#+Utx2I RnQMсܨ{C>.H9\B y+˧{E* EW)yieĉX>PqX[,+R҆#G F\ѴǏ+EiI)6O0!ȻV6Rp<+  +ra:Iw967IM {\#(=K>>[9Z j4=௬bk `uѺIJbSBC_gH#^ǔdTpD軁I앬ZKpW3]JBn|j+,RGМ~jK-Cu>)f)5A?M9isӋj5խW\W=p]هأe6`8$^`P`l#v^͚@@SUuVj"#+|\ݽ>L `fд6("g$&0:w|G^B]v|k?㕠 E Z7k\Քs ^+>mvEA?WD>ݖP!GK~l31>ZogZd5ʏ&/1S:*X4|{ F\"e-_Աق% Lq?Rw_KP%;)yp+YlAWaxK)8_Ql+ p+B*yi>' WOoٴ.{*($ŻQU}%)ُ~ ncLX'aI*y[7G}5 k#iJ FhԸůe0k=4czaZZ[ia{qk:@&uZjxK8 dQ.$xh, Lt̖,,5yN[']NT"_X9"V7&nr̅XRvfH@B[{NpW61ZagLBq:!N\彣 "<2'b!t`&f.ΗߕSY3JDsX_qq+aJL`+yܞTk)4P\`Wphƥf\hg;/'DaX6nxoەٙU  =|†]TS$|K4+UrAwcmCIW\vN5O6bWhI;9 -YahdYBQZ-V`,q}(r)5%<=Zicc]<^5}{#/⤏y(m/U.8xS[N$))+ʇ@nxKB8nG(vn,f֧7v=5QM ^!K™3Z *[Ƭ`̈.'8?Vj`d0qӖ(o\Є˯|}PJ u柬??㽓ٖiYմG!sYulbjdZکA߿GmJr&a@ÿ9 Yͪ D]sIS-*2Qƞ%e⵮}膲`a3S|>_VU͏b0h/[>"Dw^(>90tZo#!B x5Lcv]ƙs{v>*s!}Asn6n=pQDD ֮r5X@ 3>BGA',{Lzwc8|7B.؇H)?t|G;$ڕz+o.(RLYUܰ(`+S)mϐdü-gtyA7#݃͡ or>wdW`r;ֺ vx&O`OYhlV4* W~82{= 102.*~O4잭V#N+`K^ȸO{w)1*ߠ9{Ɏ&_u1\{GhӸJ !B҃u M됸Hax Ak?6Cg9nV| >RI~Fa]݉J; X,LMBGUJc07SYvwCӖv[V#BPq X#8A'>L]6eq ?ÚmƆY}xe1V|6LXZ{"6R8ab}luṟц+U? G\oONV\G¡bv^AS&l8U2f=$bl\ِd[I#?"|]'-aEao\dVy׏HPwkz`M[QvC/]^"S4 yGHyU`ꎛ kOՋ`DsKDz$ YBgQWO"HRh[˚zV 8؅h|}A`|!1T+5U5Rc5jV&j&(dg-MٖT(OXo|nV{lM MPUէNm8M8k`|S 4$k_͕W9ȫz¹Ȥh^;rrdzR믍#ޛ5IݷOuCdS /k7[sfztq|AI,ư7KHCtHFi ghꁩ~#I736ӢWoo1lj";u&O\1`1Y͑寐O/Y!3 Ҿޥ=qФF3lHq=:e-}(~ɓɃQr|f*ma2 8.Vm>Namh6$Ԋ|nZ:{FA7x0˰V ;3uP˹ OE_#u2}0cg`jc$uzG?gt=/)ӀkY^ ن{ Q| \dR*j|+xG@v5I|Fp]uF<?αhfgpM/p" ixי2A564bc )[?I:jsF҆Nӛcڳ=o١,+'|";|S=8RoETixkQ=yUD&1Pfc*ƩWEͥ{}_$bj5߹OEkqr^ cHR|Z )^qo{3utxMx ye5;ki,+) /^hW(]GDz%ԢŤG&nܛ)H 4T;p^GbEe ,qS &VSM(tN%%0n<ޢ?r6U^ozqTמ&$o@fTLI`~%ބCVT]3yJnߐ<&l/6͢Bwls8jg%/~-q2nac2]ZϽH)z.qنf(-" ob5fi"1" ;GeGށ3}?aLJjZ3{T"2 υwMd1:Y%T. N'ؠMK>Lz f]>k?n!{%W4%[~S( yk!=F髢ɜ _|!" QJt!`ܪ8^`Օq 5AiA 'QP |-tX66_u\\` nToŹ Oʗ *f+D[XUPh &焌F.NQǜ3j[$ؔvŧZ-?~jczjO4V-3JRZ+n;ݠ:`/)(|ruoQV]9 n Zi,ApKʩ@W;7-YZ$ڳH8\Z^2hj Թl&x&%9m|@,]MCo_=q5RG"C@KMjl"sɟq>[6pMcĈN}!Y^p>6O iy1D+HX"yur,}XATCVg17'I`FՀYRm =ho!k lėE[ES9e91?'y.jxBG\YG}*xUPٓzNw8@ҡ6{ {H0CpJkTL Wy,BnUX:N(ʳ/-Bmxw᯦ZUm? '?U(Siҍddee/$)74V&P#F똝$z}lSLgBI4C|븘KS׸̜h :Fa3wN3i@xO;F?BUlmB ׇ"&POSnˏ~nj%Ox:*(z{aV!\b<}CW*<5'`6. %a(F}/%~ m7)?Ԯ0sC)Z-Mx~yztc'lq#U̱FKC5qg{':O-k^ RdLil梵~l|ZQBqٶryBeȩ \lwC,8ֿHSL$;5JVd`-RO너JB) 1{I (#"m7_n5@,&&/t젔j숁SkBW_ԈIӰʾŸYLh =%<{e31;n. VȎ('KadRK%³q -Zhd;FCY|yۘICyUnU6vp<f#AN(7ײ=@ ~O |>"f"\RsGJ-ߡ*( /.%%] ثLZ"G6Jڌ +e>1hOwRjc{kE'$Xk?+IdceY292B~$Bhm3zK 6eR*b\C@lz8m02Jx|/Am31Q~ZƨM}d%c/)޲lp=~[ _J 0<0Iw]qE5jն { w<bZJ$Jk"50i.e]~-j t·YnP>xzu99m(>^FkN$Lq\-nt̘Rי8!vMKjl2"%CX ٘f]L EqåԂh2m(X,n\}DvhQVJd|0 :YĂ,(|7`_y㒍U ;+I4Vp]E/8a = d)jÕN\͓DG拔l{ݝ4]q]'%=Ώ2\t|/N.8.G3ٳ{"Zφikn4BJ/<2 G0%Cм1mTBDωVzhLwHcL섨T" )?< VA΅mtDQ~Lj,HN Nq`"!'Iz>lm-qXY"qp#X gyoLg?lƱ7=eR#[ &飬[sBbQWe ]Og/yQgL8&23᩶O+l#/Ӄ4qI!<#K.Y2eCt$LL}auV;F'!=8w8GWˤ& b-g~#Aikt֪E:M3lۜnQ?87NZ}s@깜O2-<%Je;엪nsAOΛx=Ge3-My eb[P;D[йR>!q1jOO; :T sd΁-b?CB2~𡇷+f %7ҕQYmG/sfVܽM 3'Ma'>M OokةCЩ;= Pz@SRC\E2Z8sA7-5^&*FH}))v +XV  \c0T4WlpTfO=#,dQ22?oY{ޥJ WCm9<=dGa %3'mbMC$$OB>"yR.!;| խ)|Uw5(+o,n 둺d$+_ c!;N,*ᐴKn>ٛ*6} }~Cc /-S/ٰqʛ6xu|1]M\Ufl 2Ɏfe-3ʮ0v'(ag|IS'F}t+˷_v!LXWϾ7j鯅'[з]Ga#ЩMnJd'˽&3h &g}8l@7wiU&꫊r'\Ґ]meW2x4|;7F޷D5ӕکt,vx $๶@?K9؏砩aFf쿂7 D}oqY,㽆QotjYMp"Q0W:zw  ^VUB[s@ڿv ܉"i@ym~c6O(5H) `18b"DliЕM);T x zBIDHK㊉e&mTQ Q|L0i2E홺颮ə!]>rrٲrƥ 3VO=,vK3')JR@aDy+*zw` k"-l 8$UۻxT'USgL{Ȍ'k/|y%G~`osAq.'r><|n>ś+^_٤@",}1{P1j+}ochu ˷3Y,\]DZa"tXI ebWGbԋ0qAk9I贃V!cgTaEݨO1jL~ƨ_01> .#v:/Y1`"1YaE"p}@ثnc1JwXg{F e+ۻlWe뉿M>jel\_E#*6./JqqOH 򑛶 fYE;?fPLͮCqpzY2;5,2o}˩J*Sc~˜%"J{n5ۖk?` J OH.m"rvy?2wݑ4f@{NjG}k S6[#JgҦWD)X3Fs7WX2RۊFYdX`_g'!sh4$'NߪJ !g"6yy 8dZu;Ž#?7!3NKe'0c<>Q:Hr`"h&yˌMԨ(BPEɀ2uMd׸s4 3ٕB`V"W$:M0 &lg1ҏ]b?ӖaL3vG;2Q.ApF\zwPFEV'֟< ͟pѽp1M(2WizŐ3E!+mȐf6@( ,Q9cu_ 'eQ҉^leSdFSNaRlk⯯c\1/q{Z_d!O؞-azsn"TH-ɛYAMJz2!/Fץ+>Āl niЗ Dv_X7ԐHD&j:I J;ޱaG7$^ͿgoԉtֱXvZX^ht%55 ʊ:׷ 4x}5jC6(BAsV/nj ɜ~HF$́S쏺%Vxo9 W.DϚO;E~Jɖ ѵ(46EMFΉU l+!Kl{rT,y8cwɀ+hrI7+oKÀ-%P׺;BWSbQ1PiVx)\ѮF(zIxiM>CV:PT`AyHɒ3fpDAdx~* G?ݏ:cP;Y֔+nS$ '_JpA4(-:_pJzȘ"w+[Sb̻*uF7^ٌBAWL [L |/'! \?)+r*^ъ.Z5I0o#Z!O1&amƙf: ÿ\[@H\\2w{QGnhȣp0$OP*h:+'?0ZT-KGnn?^CG.`` Y#6]dF -o&"mJ9hzT %|t̰e{U"JA!â(_1 09eqqTP.=T?KНH8 Lr~w)ʋMi\3,I}t9&3QGIu1SeT?.?o+j"$l<,].Eæh&詯8L(`-pP 6TL>^8WDBaJ 1bM7^IH0#v d[w% |+!&tyIzMk&F'Uo_ 0mBX3Esu6wE mqAEf=~ N0=\wz]$$JO+NpP89I5a r\`d8Kxإ^Cb[uS[3 +e)mФF+|\{ܶ !j9`L8YZ3y[m(sڨOc GMe11D?n*uq7o nq-ʫlb LJڨːe;w0L/߉z2J}?uZ:Pշo`NAAaԖ I+63 QÉQ/lF53[@sD)Tηuii to5Ѝze~;])nP/d*uJ#*ix%f0<-BWUܫ @--9gbB}mԑO [3k E }J0l*ͩ[z.hfaG'ej43" vV32*9IazvCYKXD7ܘt $93rіC[6o0I((:{H7 _YkߠqˤBGB(;xJ (4fx+,0;@v,h3:xYȒ%DO2.-QbLWJs]K_/1dIQLqJ0cR&$וKk]yxSqL# .0GT]cNJxN+z5ft/TaSKLz:bgvI1jN-WO>cL"q[S仡eOsg͹)M\ pӭJ'A ZBQ]Êҳ{|PN֬صncŞ% $ D1dF{^A28;6 C|³"JHM4!Ә~f j#@ȹN왦cϿ4flEKn44CXʷI) aR> |{`"pq"L)( Ltn[1]!8hޖ ḜUJD#J%8B{yx֙$eZwT㷥`ԛ)q|F2z|O#DyVCb4eѡ)`ٮ[>}T0X|hS{K"1CdpFϹ= wn{aK-f]++R#W-O}Ubg]E5Z_rBV\H)N# e]# +\ sx*Y ,඗Zf큁]x0zUDY%(Ÿ#NX*yL;Ghe;*5O$ "9)eYJ}qMs`I41-Qhl+IyV{p8, -5kB]`LcW+Q]e#̷jcPb.T sTr9*J/xݥ΃ܮ_@oDTۆvVx<×MD< Zy֛ӹv:a?&-Xh_8OwBnwJ5kmG\`LĀަt4qFZbm aQBvMKo܁f "?~OvtH3E`*!J5І3nr]i|{2R*q񞏛O::8\ճ*xqeZܪI3k(cSy UDSä d.0 _pq^Em <]fր.xi}ww8Ur1Kh^#=)  |/V͈C (QouU"0^8XwNOM8h{y^oB.vUh=QHV@6ˠdk+{!VMc܀^nABgF/U#ƠL\=e|g>EtY < e}#5;Aܽ .~TC܄&8թ!}+Xڌjvl}U󊟕uM4 R41X'22w$=MoɁXᾝz!mfVk<-_~lCbS7lE1v` MpC_W5Q^1z^zύn~|IfK| 5u)N$@XȦc |0ompQjdDbOrκQmH&8 )ғ0#)I@%~ Vw2)cIj:E@76?Fii;+')D GVAV?_ԣsAԆpOscJ U-T2-1;|WUvofRrfא?\α9a/i~4́20~#ICksD#؅ܪQXP_|H:o(iĶJv[4iʖ1 ZնAX{3IA:(WYʭ9.+G a 瞎*b*RY?{h7&#TI<7-ԗXwU"#TSDO\f.BTesd J?t* ,^r.w @tƼ6̅Fx8AcY8U=-W;Ω4sdd aIHg)$4]Q`- XE`2sNp륆Tn^;=//fr6v%AƕB,J霽Yfg?D$>TArN!1; bD )\6ᵺdd$+ F]gz1qӡwbj&0<d."eTui?3S;~@#qNo7aq⾓a_ ̞D1ߦG c)<.xϴ)}'+|yh/G []8KCkd _;ĩzʺK! u3v,KR ~~dCv=|usf\jbxnb_ S^3KPKinwZY}v(=,nKo%;8K,bH)'Z~~ cԊj + voz68Ӣ|~>}ƽʁj{wlS40L.y^zP5LĦ1!FO}(*g1E`5bXC CqR_joce+v*TE*.{u" }DN&!C> (6,jQsjp {.$! V3[/}Y(eF /Z]TlTԾO_a+-9 9ex}Mzt}qd$gmr^iK͝tt,f>^!5% ۰5KɢKϨ'TGjJ8©(~8'A&E[yoϫy=T{Uae8Twm8y]4(T -۲mK;_L\_v궁줷 #3ժI6I.ВTDruƪoKw.eoI]]3y~×v &*NUٵkh{<}:s;a ~5KUIxs%#&ѵu8 RF^ʹN9e݌wi/n`onx!FE+w֙Qquv8ѧ>,K>aϕnS×NVu4ΰ#iR|  E&qDK8[;_i, ݋O&f\WG_+qzJ]LlfBzǩ 3 \gƕ! _waG:ۂG-ҔqMNWg9d7o{ Ai6 #Ȅi( RVLvcqO7:|hRv^|O͖T =ܙikIH o6bCuDC/Haa_hDjs񃟞V@9g,V`t20Gi؇-92f볯Ts C@١%?2ciX*wYƦ/c6(%o!R (t۳  Q[NP5Mx;]Y5pI~ßeA2?%&*F&2c_~UIs]Q=n>[>H1PBӞnL$kj pLJ,SXvueg^6)_d[VmΡUz 6VG{Vʞˮ!R d4Ѵ֛Sz.W٩YUM5,y$SLoEWHb<.Eih: c+"ǛY fo^Lgmѩg'xWDr6cN |xC.=şƘ)?LJb`H)b*bm-dQF`%3źRxg>;sa40[0ш-97T(K6Oٺ4PtsVF΋ ,ޙncLH⭓בpmLr `3N1J@:ȍ|Z;-8Q.{yxIgɋUB KD@Atp?ֆ߀M(*N ᪔JWb]m}7K-ڥ>x L@bn/f K29`žDD0^F!" -–dhYN"빉w#pPEm/huB^ʯ C6*lWeSg5KRת@%E/VSg^nHRR?j]!}fDb Ŀl.%1~eUy?BLdRs~̉NްR$I[Y;^ˍXž͔XBK3(ZՁl{w5#`wX jB?G3&YpnW.ߜ.qƒF1EL83Xa,X\PTK4C{\M$Dvw!l E(6۞; :}TWu&= ,`oege&#Uޝs$0E#E@,ha* ԅ&L1op֡2Gv#Al!whFy&D`ͤ8@*܀`mA ]-5px-IW1xo)(rѴ2%{`{GN h6o._dn?fSt~AK(ϕ}VjMJZj "zߡMS!]; NdȣmHi#1iu">qdn98 {]D^7Ώ$PI_os,ccd-`,$*ō!x y>w X$OU,M') N#V,Q0۵E׏K>yC\X'uߖrk]r͔Tw0ڗvmeQ"v9{@sZL4%. }mČAV [QlgjA5p$|g?5]&,s[Tgxsᘉ[Q{?Skr^@;/ tOH TTQ d,]5F=tDX+Bh8=4q /.p9* F/"j:ʎ["O51ZBŽQ1La3\BvKi$e4˷si6Avz!k,u*1sB@^BiUY#{ %ǒ-W:'\|pYͷ eAOvF8Pŭ:3>᫅Fbi\&%0Dr邯h:6d1[t !چxXpL^ƹE|`mSoe( Ndit.8".Pػ{*5IheqGPUE=!zZ;$8$&޲7 BHr+ =I8NP^h)6['?  B eh{.\{i KY[F\E*wY> k"ئ&| htuq6vZj*7VpņbL^?SlR"bCV \nQBwZ};O0@/]#b!#$$+O,><򟅗[dB){"kD"Kp-FXja*]ݲܪAB.,3X?{im+׍.?jqT-`$S_'jOKKK*>]0 *7h*U,bbh S3eYT7]|1fKiKaBD'Rȶ>\չZgK fBb)l)b\&+_6$j-/eИĬ!*Y2yVp+ĴQ0io֭=%t4qQʒq 30q??U!vp`2gbsDG. nmYj3ʘq!J9/R?Fp&}HFT7 u&~`0H18zq6gݔ576UKߎ h2':B;Cr˝[FP"9DFs"~ݨws%=Ѫa/n1xfWt{y zsGl"H|O^ȟK1UO0uYkSW0p$u&DgMO:7v:{|P*'Wj3LM!>K2 ]$')eBYl"]  hѥy*1L%0ZAӉj]<B6Xf|գ*7œ_Q(y̭‹T$-jSoy<x_?1?Vv60sa9Y"褢)TvAE .XV |倁m20I߯`gke~ ,=/?2I#}LHңDFu# (Go8V/tGF\}u5LJxIziTQ#t7'j;ߨ0ct 63T  g>O'nD']n8ƖJv=nƝ >~AI})%nmFt(8sGnK))nZ/٩&JwUsSC0D շdhR^Yh]\>\Áyq[sV#↕1~%!u7ŭ!wp|Q2K ds Hs:2Iߥ_ዮ=[CpZC{eQŁ?**|9msifk*RToq)ӱ /'ya[/Y #Q*b Co/^K YיP G8G C&ROZzb" +]4<-v)r*\)f*;cB #_.Ra 4Agʕg<6yZfz__wOd (b: :dzɠT^%gm4ź,M$W/5ٓ̆"2͐T(b}^C.Q}[&iJjY^Gdewyq=*#N$8`Zs6]RxxVH5MB-rmAAqD= ޞ8)iMKӍY] )}G8jퟻ-%҂hx7$VN6a[wNn+nͻ &(ƵXmŅ>Bڧ u%4M{ IZS35Q=62uTUѷn2RvFj5|CU Y067i- q#HF捫m8j;Tpۑbcgilަ$׾Spa%hV9\"eC"#a0a'.LZWGW!9ZubS 4CU|{ĺYVDAc9ׇD3P l77dP)+}dZD$y8>4%3TcU7*p\=+=Ρt cp{4Yl(zqR@钒=qq Av";1C5CO&$j! yxpW2X)6W1{#sgdm_:${H5&wzΔ)բwA*ޔ-̫@(ʦI qAb ڛ"x'~2kMw9 P6>ʐSJEP/NV3~峯PiRQ tQA51/w_Wd3ÒytKk%'S_>0Fģ*PuO@{xu}:?<> kH퀰f;Y/0Sܸ-QޥJ|>IM `"Ŏ%-'5? z]1w6?,Qqd$i]ӛp}K xQ3ԗ/JOc+\Oѕcxުpi=|Y@LᓙՁNB4 P?S^+-v5C82u(5m'şջHbqb .:KIW]%d*st)Yk;ve&DzZj)^q갫L^䠮V]mǠzص݄J Ӂ;oOr#d F_[1Ua.L^-p(r< ڽtf"ĚR Z>\&`-"*6Uk#"gcU0HAry^.Ō.3j13RA$*q= mV#=2ss Rټ6uOi|uu籿(}:  1hX303k҃hF@ YE0`k0$Mx~V:jӮxejIU2ͅݦż\2_xjͱ"BW.AlݸG֕q[ԟ~E Jay2EG%ѕԭi9`2:}YRwr/l/ʮ=C挚bܳk7) k_Io-몊 pO_kW%nV]oZ_o@'l(}6`8#{鄈F軿n%j+ fzJJZؕ^b/|g"}oX0]mh[e^__Y.RYK,o9p5D+r \]C? ۡ3nGVF`j/.Xrf F:Ce2vaxb&{QVzAu-v b%aD6:1,r쵌p'@m;"K^+N>Mhރm%K5<עW߿6a5"d+OZNAO/L^ESh);4[\)>Gϧ`Ӎ&MqP*9g=B#@#6ODKp_,YS2ݘkQWzu干Z(eB.WE*L4l?\uSQg--B܏+BGQHq߹=]8ѳtR-\lP4HaC} ގ]*\ߠNy'EhCA6,@ 9 ܂+N~s$#V~_l£fh;2S+ؗy>\`4NS%9jDt7GNQg9~0'<96` -JX2 ]Az(BzQ'0)U+MV!; yЯ?,k.(Q T;#RwQb3p8fLKXTᚍG&;lGҾ):$+{M51؃'TG1wh$)زӗw}V'a gxy JށAcH%;yXہChb3#Y!.8/*z F!۾Shy zYE g_ݐVEGD2T (Ȫ>",]c$(VFhwءU}mGo!!|\49|r M,Z%BBMJ߃bMH˗TzHjk,OJ! '9SR̚iXѣsj.`46ԹKqRt0Mp"w{khI&dN݄18$ (zZ 9@rTdIS6ft*ݻhW _zR!n 9 1W=61/,R.~v&rV{t|+M9 !-"QIBj'5=.ʴ8,,# '\3\C:`~BOΡCLh32Oն6JlƵUW4 q9)7'Fy'DJCPA:ڈZWPHB v=ݐ )EdXnR[ Wxw24_uogAjyV f琙'.Qq}3*22]hQBq1k"u,$)P<~+7+"LACEU:??Ws?K_mfj>a$y+-?p]LV>6+/uju,YUbۀ'.^FvD2nr*=DlxauZ-}A &3.JP B;!_pdS)2ue%rǔA-u'E.KԫN\'n1@a9(}r!(+5#he^>pˆd-ij::ˑeLI*g]v)q.KU܅ Ərd٠R FOf]F%.!|Mf@-Jua,L\"G' a>{_w^$::Nއ7 UKfF͂kN8wG!C_8_X/^+VUč0;lpN>NO{4d3,Oyͬ%X_qa":R#L6o|fDBQ/5 1K%F'jyC|Zpܤ~r(,J cb' znmx$pOf:%q0>E}G/OA:p"K*ZfoE+Jɛ\!5jf{%kWdjB9VrUdJI$r1ε}AGT{>. >ΆѶm?+#9^{a46>cZ-i1W'W Y,a]y,QX!(7]eƐyۣ*+yԛHnIW.#|Lw +G+Y;, pTն³xސ ~֬.+&T`ơ$>̠#oV:.+]50(habHA3.\A皟pfJx앺|"mus).ԣ6帋l.K C_jsً# yCpc_]r!Tk(w*>pKD-sk;[ .Q)ZD &+a*5Sh\wHjarlJ\p-:{?N_bR;M{ԁ+rQU*W썗6S@Se.|Id/-ĭ-XL)v.iy@Zȓas_=55'hp}FM~Qy% ≨S`Dz<Ft*yݐ*WfV:-Oγ*5&c mÀ8jʂI4:OVP~"%CqxQ io Lr#Z.4a7y^ Y1 = ؗl& bv(ݷLe6\\sZN9&r>2c>Zlt"1p853CЂB hS*//xv N 2\iW 6}Cj2E3.1r$b4JNqKف.-nKRD P+ #Ѿ(#:&Ee#Hw-خU>мOe2/0)m&xu*q- 'We=ß2oo܅xAMټma-/- Ȁ()CS񯜾Nzydvl"e}_ft{q{31#K`ڸ(Ftd7{=j9C5\̃yp}pyNF=5-h.( _U ?6aZ$mggr[@9?VlH2kggc i< arFU \Ue&/}G֘ $SgJY9+6} TrF?:؊&g*WOL3ݤ>թ$j|6hq]"@*Y=! tLhZ!L lv=|}vd=]0(H열k?$b7 _ɠIcGKЂQ [Qw|K/\>d!cR#4[L_kbiZ\A\~x%W7 ]@ R/(E :[wf_Zabo󡢘g ћ 1"$.8B.DΚ=𡓞[z8E!_VukKTh g5Pp>|9J\?މw>_lCy7dʫ-pa; a{apy!GOX$kSTv3@x3 l_&2.bm&QK q衉8JKr[2$GUDktT:ve)" %n/H";^_SFFȊ:Nc3S!D= :ie5Lug2Dâ LUs~0ȼ.@p׊mwqnZBmdOG;Q)žGh •-pu=#ncl5f!:AHEakDQz>vŐ}򃪯'CZ:5%j잼EcȀKKL:]@IDޑD(q /mn5~j ,~v\@O6Xda J2, 6r)d?3#2lyc sokK(mFl1 }Gs3N@`5uX%]-Kuc; n#ߚ1Y hgPdNJWy^,:_j/f Ű:})dE3^18+QHϢ^<ن&Qȡ=o*Zz[4O!/5Zw-LwTNp&ϡBzXj@ WP#1VNj}xIzY_':Lۃo=yWYĝql[Pz0icaF_ݠpx]a \Zv8%`X纅"ȭ{io:(KMjׅ׈6%\wW1׬B\]~- 8E rZJ+@܊mRZw 5W90 2$E JԙuM+;R+>׹cKMЄ b- *_eV{,3~& 8;G>L}6v=р|*!q2%,mB\KWw[17҂1/n Bm⛫u%ZBwb"~6YWM] y:C1q-Q6o**wW5mcAьd%0@s09K{RՀQT x^} .Zg@ZDA@4ΩzlBaQhoz+`PP2_U+D]jHbr^W9o3;xba+e& ։p/+9L7PY y#  鬐 .0;{ xi5d||k#ꇺh&/;^&1Dc:dcTI凾4K@4FPlA욖+ V7 7:0WXRȰt3 nTbna2X^7 T,2WXT'nB٬vG"B2Fup`ngW{ 3˪D!(dJz])+柡" %=+*D@Wp!. ;9DCu/M9 p~/_%t軹pM޿w) 7 zFsF=<ì6 `a%Fm违i|:t&H"dlzGEacL㫳t@ @Im^!ͷjKu͍lvB;EQPiO_} ,ah(J@K@QLѻ6$'1>؂F ݎŻ& `Q6cW/e׸zfYU:kN6!w&I4|u!!#noi'ca=\`rfjPeJ>K>+%o:ٓiO3_DG'mM#!9*'8 CͩR-t52mg̦"P5+ʅ}!{ 9[JhHP#@Ӏ.tyDK׻VI.%he;4vBw(""z%u?j_5{w|3\ן1T!Vvq%=K?nMuaVYJڲ ']+u@OQkc!SESk*X:påJc:-QBYm+Kv_.#! ^[AF'xhb?72sƨl%.]^_uԞf6 vyJ|"ZrL;{vn/[DT:1%fs^B ۣG:?_~Q]M1.fَAz+˘7USI.q8 PSI'ͮqN"__pcд>SJ2WDbYBe>O""d٪Y漹GoAi0(Hhϟ+LΉ&g1=yg4R.iXI)DGD0Eւ9p X!%[ȩ{iLB>Δ}bvYȠ027=R;Ko @xS/mIT1nHV%+Tgpl1dQ\,<*pb?\oaWgN9 hz>/5E6$ڮoSEcS7`&mI\jjXLnzla+g yP~`c H+۟˨FsmiAk3^1,gXJFJ9rk#;ٱiZ9^6d UKu<}:ĕaIDi~ ȍEI JhLiZ;1J z9 cRo V>DkJdX*Щǖ0̊xQ5^Z=PYAὝIo9Pt@ӟk"K#3A78]EHQRO (F.% rJ_ς/[N~Vi\ L7zTx>[TC~~&yA$ $_.jȅlؖ=EhjMQ?l]y# ;rnMd6cW3py5`iCȚܽ59As4T`c( 5y YrW2DH5.>YI1zPA^wل~R9S0~JV%ЅGŋI  42;$@L=# OU3؅Obڶ7n IU6Q !{_^B/mXa9woe}lg%aײB^Cl%4'ac51ǞX{A oU?ur/xlQ*QւӶOD2׉5&F3 ;ҾDʱ nƳr/ Y ޽֕bfɌO^}GP:M]_zu:u{%^&CP6-u~TS8,5As^y9h{[Rӎ<~x[IҹNxU4Ԯ1ҿ"F$NOŦ>X#(7(p =4 1])B jk1lbz4?^ ,lN^="bɎLCp|{$NJ`=7ex\TVbBIm@ECx PKJlAǠ=0Og:DJ|LpA-ՅS#kn>O~r!lH8(K{8F(FTf/vpBsyazM'V1Ҽ3˅Q5bkh| ͧVʄzOS%´ٰ4 %S)\ɳĶH.=֔4+חL׈,Akj)&PE+a(E.+ RA]7Z@ک$-1yOd &=9T'e#LUyGA "~ãHm2#yhAr1ׅBTWˑ5^2 AS7d["+rqtA攴Kl  ^+8רIFtGrC ?uTz s/ߏ0;N-soQ'=mD_Yo7\75?Ï@-CBAMi%P*1P'h$)CŽϺt ҋufY;cd:)< f4} EO{J,.wGIJS5T|5!~o޾,\zf9 [O8npN2h0&\ΖeyV"?i,1}ɸ US@{nIRkW?U)Щ̡l/d xs,ZmaZJ P~r=weV XaBίSnĊ̱س\YIknRVܘoLa^F Xu_ ٫Hߌ5zӌ,pvFw:8f+Ng*;_v5pGޘ;,ʶrR],n6PlKa4Cg&>K¨@Htޒx:R/,D %/8;̛5~F`@ #ks/yӘ}7ekK?fI.5iS2:h]fD.\%z,M; /}V7aHIVs@JOL0"*TJۧbX$U;fw`G^ æF9`8$wcȈN'pۆ7Sr_SI|0<7ԍjAqyM\L{@*vq+MX;l +@^[PjYÔ/vo6H)Pw,tΈ1H::lP6}ǯ("r6Q55nLY ?|P]$)s_68K3Q%# LM)% {(WfyG\DH ɍ"I QH /%/M19>9H/%zdF.. ! Z*–v p "v>Lt&H}W+lM,*ŕw}irr6L­@63V^B Af/{V5I7Q V {y:xH~t̴ƻn}4zkz Ccn&jl)Ԉa=@ <1{j҂xG8\|m?(抪R4^%>ƉMgKAdmfu{ 934i&H9,Dg 6Ad@5#W VdcDuɀO PgB/9]j =M =akv!`Z@D<^R8b‡PPB `7*4G9gzNnhM;SIqfkB"!y;5Zh̒K˭INh wri:wFj8f3?8Q0.=M-|O#gP\.q^脕䈪F;>N&9:v9.q4?P!93)mvCŤF c+D ~{?S="5ѱ1A­}*̅(PwǒV7=d^ ;԰RwDhr RٮD^Bx1]OcB V<Μ8 PQ*Bc(N-m|39(,ϟHda*1x0- ~ mS|kOŇu6>:o +NkMs*Oc.<`&Vӏ$O{/'a~{آJ RO̊bz}PJdz(9E%2kFK({$sԘ GUZsA6Va_D_;ooMlM4GH "MAjzƲgs MmmN.+yA).9 KX7[9xoabFaN=4ETYKEL<2? xH2ca("ĄڵxV(E泙YRÒkn ̹cHM[j=p,SxnEg-l% ^,Υ1yZ)ig?I CTftU>ڜX烧O5.[^4wv( {jbP}kR·+_r:gbBIICq]B.q a(g8 lC'cU/zMV[k9G73~ﲉ]N£G*z~L3{5¼znXԳp!Q\&/ ңqp*aHh/1A4U149X!Nyk(pOC Q |ӓ4 "/s|k.Gw*CW$Q*WCt?9sCϮb %sM䞭#vH&Jr ЏQ(;<7H yX,i\0 ל{蹪ޝIk ^t$}Ő"J9pp )(&OǺ*bĽX1j&8p9BZh*W͂#BTk;d(@Y1Sb{vb0y_˛ e 87,W1}|͋=}vޙoYP86SϢ9튳c8 H9pػq@)廍NC eSRi=Q0[k n? 'M財}ppaE)ILx9,!keiF4#l~l| \ ˊm':S~<CZ{C=)ؐHDJl ji<pz,eks2fF\[a{ӷϑl_@gi Um9Nᎀpp [4wF:P''oo{Lglc e8(!wB4Dc2:ʼn)V겷GgTe=h3ƥr}H ~T9ԠGJū!'wdz O4gt\7/(H(o6)UfCQ3F#=S#̛Li2]%z=kgYC:g(k(|pf.l(o: W޺өRw=qL_GV:srhW#<ԪA2`YIQ;:{t֋~!s1x4ýcw[ Դz^`/J `Ȥ4E)'A{`V]&<#g AП 0UZӆӨQDGPaHɴ©Q3XfA-8BI~b}Wփi̫{I:ҿ6̩I4!/̖RIXѩ} t#+pxxjF+p m0ܜ*wt55g8r_+Ku-'=rgV)Ф3*ť 4Ѣb=H~1_O ˊyJO 5DmruN=qbb~~`yk$cAfSp ,h BҭSqd¦jN+h7DƸ;5 X{;]#A5flCNca5ZO^m_Vs>Tb"<*z*H˦* v?%SAu 9= cy%IXB1 Y:Z {+Dӹ(%4p^ثؕ_7~%^lIh6`q&`4 %#.Sg(aLkOX5G2?ƽǰtL4/; E3q.qy,(/<42p.WtNjw*-zaoQE~ˋۃSB~7#̸GT%=VD9ҿ K4#lYg#gO wJr%8}Ɏ+>SیxMGԡ{hH-1l5X, 鮭E_ ;JZ+ZpIOkZGl;),8S=v8<E#6᫆Mʆ4h2>;:H95f/Ba^J&Ց/ #\I~wfX )p3zd llwr|ݥ>PZ庹;8$loZuc4-|UƉ-CL%m~oH@)*,K^Z4,YռXcg+}JK-mGb$b"ҜV™^UZ=[&L1|Q3@O)M)VI.wy}ڈv0V1#UXȡou],-2B_L3v]ƞLt+fpBPK%NrRbpETI~jy$ 5҅5r1H`Po$ =whj}?mW addJipY\gJb>Plw$翣]YbiP4>x 9 SkJSMLqs@@c{9婵'%7h[~-a~~{8Yx,SO'EţqN7D'qzi flYqNZ@! S8p?3 oc5=u IȽG` *жLvRK~@fC6,3mHe~KX8aڤ+ ޅ'Z-,Y( izRj0Ęz102 j0#5nKL\PM2:])98b(1Kip ·dH{ƌ&*K t6nwgpUJףof|߾hTm<Ԥ [ ,Fc%CZ=W ξ%XA:T:LyA^A!Ӡ܀6k'6A>{yRjm[۝v!ʦTY*P̰tɹp xP9vO=B5ARt/i:ժcJ_?RTCO_A7UR[u8,Nw(PrBATe?Mj_LPjD ~ZM,+&;BJBYl&)DdzB"E%xhmFI 5:3pOMg&-DqֱD0NIT+ucrG9H7S2:,l%mRzuPRؠq FXg $Dldϻ.WY,( L;p0-}o۝Miam7;_Ӑ:!>Fm١qlrm!'懾wBRTh4R^6)O#? |ݏ$'3ZȽ)wjd@8fqoYNǷFǬ F-OY7 ]eY)j)h _۷hB'TUm`2d36/)?0Fުhl+;8gW?1ZZzuͤ H/VDy$gu% l"]b{v佳S/NX n(4k=tÊz9  P|;ԓ_:1CO(*9턛._f &ctt9Ϝ` dCTG)_)N/?3_mr@S0uؠv;]KJ+vik)S3e`)Y;ò%oy;-g+-o1fyK2U)I-mpTߛ޷0ѭZ+PbT!#$ǝ$ ex 'bk* Vc)$d(d9ÉR$W$/MYM _. O]>Q02cu+߲o" Dю %}q]$"tpbja] n&r\u]䒍GG,whA;t@-pu6ʩՃ!i./Iˣ:59!.j<1{;+7#N;>Onr9A OCaӫn!:FK̩Ұ7(%SVrw=000R)M*=LV=6wYRsvd^*wIj9zJN$˂m7ɠ+J 'Y<`m:.;>vB`uSfx[zdyq9 ou)mߧ9ߖcR4SCe{ ot'M#cJW[ 81B}S75b/_UYpW}ڶd `3\ Sݐ{ͳʅL=܅2Q,j|qN ~= jaX - gu/T_Z'^!^P\R?&@ 'MeyhzlVqo=َ1 Ӵ]0HFI}>ZyHi&nd%zOjTAsH!p8hmr4LiU~ʏkkUt?R17R'1BgM|?K.`uY'ڷC>t#˅w$OGK\{CeqXIuU{Ֆ&(yhpC"N4HZʰ,׸sc};y"73@+)2a\O8΢{3e5hԛmڭ-N3[P {*ŝC@Y>,orp;5ċCk(-ȍ Pn;F?r;bSz-B(lh(^;AxB?׳U=ia3u sG2]:xd_ h5 Ѱ%: sgjlqbOe\-Se/x:GU:8շ:^V< AP9/1&&O80-L8E*,}د5FyS:Pe3Iղ !]$`Xw6 V_~mJؠeFN?TO[u1$Tsik\Uyi4|X[{3MwVp; xK^7 H t߽n~9,MM@5Ɋjy.Ψ_c;ƣ! ds9oX$-Al֨Ϫ$P#Uz>2 y_TBC9|Р[79#Zbs\ž#(*q;n_۾[+Ir"vs)}{<0뺽f{%}G~^XQxW..Z uX~ l] gSttǡ&*PqˆZД\ÑdeHY&:{;:9F7xcp`D8#:7^=$?Blqo }lb(2(++yJF&i 6u^sRbG\&AOkyGs/M%ea%y0~_E7:5hf,Ӈ0R0Bꠅ Zyo{#Y c>@\mK|bjyczT<>Ҍ%=jÀuMeߵl2V7% /s@@ :QQklQ2-Z>¿s=x<Td̓վW/T֎|O(2xќQ̂4s@__*-ufk`#p\IEQYJg%@^58h! ɳoT0Zg\8s rmᜏz9EF1& Dr79ь_XS"ل] !wy.H20`(H-E HaU0((Xe7?l4FI U}#6xTE.٩6%.UzVmUo 3Lt(2'hwl1 `[Gۣi׏W`~C@L pFR#f+_ZC\9fC2K k!*{(DK rЊ(E!P|Dt=:|_k™bKD26tFgƉW$6Km86*++,cAETq,_ > PPm\PTksŐ#yY$;FEb*_ZY>ɀ x7 o6RntbiwW@q#|[uem={v@M*9;hw,5ޜ\p|H7u@顉>3%{mĔ2"4TFNTe/yaakU@~?YUx 3Ou{8"8#=JBBg^[cK؉Q:ze DtR:xX]RC{53u C;Е@%3$֋M4a< tcKY p21~!7 Z8B.ߓ:$%)f%bh78c86JeЊXģQ%]Uʒ }M7K)Te(Q40^=9';?T4k 3vo^؛Ŋ>EHuyUdgE痏Y8k R**܊E,j9SpES9ӊK7hrOr嵳K g(=\e(C1P& Pk 1ڒL~lw,Kfc1]k.3 O,fHƞ@>x_Ú=\Gi`#t32kE9<߮LT:W_O=uֿN')"➭ f{tJ>)a}\rMoo y%뺔ԌyM"M5KTȕ+pzߋ}FΩs0^2𓚯DOUͦ$IމX+gԌwIeڔaR4 GLB=XKQY"/[N@3DhqA/I>a!E+n*%g!sg((F5IϥAt qᱢ@D&i'MФ]5"Y(mrJƐ^P,XO~7>@E?,k\J)IH1%\ZaLU"YA=-evϷʉ~Xke%ĔA"qo "e XZ*_..W}0ֳod[U_3j>;q"3o3*Z 0v{Y)/ acY6ږhlE3#y.-Ah#4 "dw% V$oYChW*k>i#^5.OT3ol6g!9PavnsȶQ#&7I{ ܐKmknV]4ِ3w>W:X: Sf($jvGʨ7m庬G><[sc?BV;k3bh͒seq;"w`ݪpJE&w2Ftx [6k9(bIzG慥ňye="z7+IQD}#P"F%mr;6=tKvI.ad[+W CтjkT+dt:1Ae:Ņ8["0{uGĥ)?co!  sۯ=GU2 0BQ,H0/{=gbgq=So8Ct-7 Cn*&ПGpI;T>FN,(,vm+%h2Y$RH<]P oy!* "G>H;xBMOd* 4L}v19d%r.^&vFZzt{8*,LQL *:G!]?d#'E^TK3cUIXo2jV+6=z3n /K!ې z>(aQ6b$L`%7za6Xl7s&(Y[o_ ޵=f\ͺWt*k"40Nf^|-[92)؏.u~Wbzg,GN7SV | Ҥҟ0ؖl﹃,uP&6"+4˲Ev#ȐO._9^gkTj X2ٜ-+eOPvvvQhA =N9[ᆲ3u^*7v=3vɪ|˜|ݒgX.B'1$NW7r& qD h6)H8}Vw WXR@]|M?N:qZ,,_M7z(+)|5c/^{5/ǦOk4d4+AZ,n2TPC5fw]L㹮CͫŅۯP^Abzp;*|AJݫj C1s^`CwAlhxLs+$p/c",+aېUTB , ZJlCGtYİ%Y1oӴ(|]#@[(Jmss:Z@?t}n7oWdÍ|t Y'=7F>qΆ-  vEW44GhIs,пUiPm zؠZtpFtbrÁV}cӼB4]uS&/j?]ƱV~Y>JcN]Ax_n+ϩrUu%DlOauP4ۑ&xBfxg͇΀WPXD- Y,8{EJGyxVd4/WofW6MCZ.{#7g7OA+K|# A@Y՟+EzuPrnA-M2Lu%jy똒z¥gU) (7}C87JaR$])-: ꓎4%9?;2QihVOjR )Pg,~`aLMB߰řIզy[ N.Oq$^cA{şԧ 1Y!wh;^0=2]+~TXĄ=p"5H^9V?Gж;ٸ%ᤁ455S*U)eZjU<|3OY2n EL)r^]S)k+ۀ*P ;bK>30\< iڬ%[)}=!#LJNk妜.cQ{DŽ']˨P-$ Q7ta cU"0hש`d?.%B-_O7["pq7E3[XmZƛDB}߶-8)bF s*f_AypI2KFu-< 8jYos2`$1Kaڌ rU~t|;Y ,/蒖]j8z:v`A-qRa{dnoE\%]=e t0P7 ZG6\ÄJ`sh y}'یd(=SGtB7u5ړT.Fhm"trRlI.P ft| g (`ԁ}(ߴ:aj ~ɚw%)_CcT#+dVw\h^2;n 1WKT|~+yy`)%d bÏ #u[ٕ^DIf`xE$dS9'X3=[ELQD^yMPֱG}U Gq&׍ @pٮWy!: 8G U%r6TrF a` :e%ԿU.^IsqK]?=~:W&pg*12@ٚ"$ ~?ac!FH#ʌ }[*QuN3 F*0Bu#3{uGK\#FCȞdCkOO38jq9?D:ˌ/@A'aSyC&w@!5k]a?!16GԹNPdcOWڂ3+-PTr"D5%us/~9Y)YpGB3O+uͺu9(A<./ yhd"."ޡ|Rq% ]& Wk-֙DFZXʢڼD_xZ׌9SBp–_`g#RczId ¨F{+~4l-Dzj+e)3Z<&A@|WS#.Sa8}NrO0/}?^z39;S+ rn "CZ%C*^R1g(P(>`7]xmt5 0)|9 "{Ϩ0S)H*v+ _oJ=`)cj~,OH@;$eY d2S ;q8cp1Gg̉#;#|vf?@A@|nr ߓ}_ӬC⭼1Z]ԚCyUNY Pef#*pA9e 7z!RnKJy;.Lj2sFGփPsbe@?8IDȤv_8Q=˥Lqu5כ01{3\PΘzp {O7|M/le {Dh~XQlf@"!(u72_u]xf^n["AFl-`f~39P2blk d"V> XkuSlAň{.zjz4 qR|ib^:|>[VUo wfȔ'Χy% H\q޶"u߉grpˋEWց]O뉙$V:j2h@ٷAA9MHn}V}w[ڷn0*~Ŋ8@>x@RlWnEZFs>l5~b<$F<ڎyiU NƗd-5X?9j-]Kf[* VsEfQ8:T Nzsckx+d@Ok~Q8Υ`*RAOCEN6 fj@nrQ_Yv١ۍQNቀy5O" ,7VV])U>l⥖TE3mJD+;pvOg5P) ȐYvq~b)gt`=&J>jkDa&YDSZGAX*!Ƶ"Wy8)!|i7euE\R^tcVLeaA8UrWÕW#)*bj<>]3ՎI)}|2-VO 4pŹ#VTJe/$/WOdghzi'  'Jrh-paBf!|Ӆ,w7)/,vk ++BQY*l>CL7.,).>ͭs+' Ԋ_!Ѡܫw+,ka[T\]󀚐Nkqfb_8ݵӣdRFO~Ɔ?"ՖGkiIl\JK5DCpHh 0&(+:h2ۄ/x6)*[ĮKXL&X,JAg\ػMيO a҆GʋS?NZb/Iew6HiǷfd+] kʸ0lȄ&,`i]sF?RmZ\~LJ/vVr`J&j`hSo~;LHh|tQ7V/ $p8ǜ\mUh7΄kA}uե{Ц鄥o& 髊CZb=X牙x4J+0*tF1X*6IqR4( ,x*Hu@|?^%&fdڥkUK|lte}(i='M)/ujӴEX'X>G/c磡ϺҼݙm9ùs *'*,%݂iC<{r(PC>u$a0Ɵb.U/K˘ w)QihJHbٔ'/Gd缷|W&BKMCogFqFM]WFjbm[Gϰ%㍆>y$aUNwL9Dž.$%T QcxG1 imր (dG8u Ei0'\ЎkHEU8tϓn9gp(;x(8'j #r6f,S$'M3IQ.[~vY $*,˹tUΘ#8 W&'nj_ pGUB8PfRX[{߅xnٞsЕ]s85yN\CfDP_絬I赯E 9hzc aeάviS(|i4=o,t<2}LCtנ آqsl.#m}fSo #c1;R!]nXC4:]aײ>j/R+6aiTl5yŦդ ƒo8i/ήW/Z z5< B' ͷ-%CѲdCd~5G]eñy<њ^ՊJ?C TNg5"6v/NPAlòe>0T:Zyl,OsSIW rm4vdz@񧃟n%U-=z2B@h\4]qR*-{d|!|ÛCqAJ͹Gzc*`d>6~6=MSL`)3@1(f}(/#{86S@R*,RuU#QD2l9On ҙ%eKˑW6CC͞HaK=RL^ Oi(H,H5%[[ӀXbX'(d2)?HPiW=~S[Cf f,3 -Mn 0Ph4#δ(r߀w|R,uˠab^ 4f/Xmy6A}8B>$tZ:Sl.FҐ Fy׃m3$: ~ܮe FoEBXU*0XQg%CV>_cmX$cQ$<\&3#:,NW~e ! ziJ[TWWKޥw+w^MGλPmwE1SvћixZ5F絁ilͪJU }]f+Ø'Њ6 hK궸3S192eڀGxnM>RׁeڦO.R1v4~2a>MXgHa9_K1V3)?"-s!8 anԕ $Zy^t$`-009Π{8M~n7*j=U=%OfG`a84]>C~C۶NgչuŝUGmR:sעkw)`jL,\uީz~4W(X`.^/pGwBsӤuznAT~7R\dcx[hA&U4gn˒S|\&ʃ-@~?@ܕޛe(p4DrHi1 Oo}1 ]Pc;˝;m w*gI-Yw(WLMV!.% @:qaoz }wN{;&0 L@ 8@Fj[/ˈN:}rVغSd'v8d hD' 1"Tj~A>y/=$g̡z< uM <^^$lZ,*0hT+c s * c<|[ItB_( j"!},y{AYm-& 4`CiH_ GސUyI:@jI ]Y+c>iRPltz{P7,KݝoGoU˱D|BcLoM xظ 2m*wZe-J>NݲmCykOYn,Szwӕ =#]d|}$X{CY[›/&ͧ Zk~ݤ^x#eI ,/c7o$D JkՌ5(ec(>\&z=NЇ F q7i$+?>ɎĪM6& -X_*uU^#\d޿"n,W>o^*QTԀYFѯ R[LKLn-=C1H+ߏw1)~ 6r8˓(ڌԾS[PryVL,R[>H {[ 盰7`~KeGjFE2ٹESH;Z#"{Gnfm荱p3t[+%9?aw0GN!3<$ TԳ2drSkbP\BV ] lKh2(uχ1 5:Үl밲5 &2 QvT9n[6\EjQ*m]?[Po]FCiKum|:m,ѯ"}"oD 3+$\0R'U)zyMRGNg!GtV:`3ZQ[*H^ я2)TMAoӴmW-SwpHxWsAg_J@njge5YXpt55Jö]4*%{IE1#E-u0`(_UoD0ؽ=A9Z&ф(H^a Xԫ~tBwXɑ5㌦Wt3 h>g9 )j)Q˜ޔ$5w֍-m`۔OzZv' {WUYbs`OFx Nk*XVy8,R\oտh<LrVP+R0#ϕ˪wl{><|T(*pNtX1uPF舆 #S, ) ˅YF>ys_BKw}0%lhL߷Ѡb;GE,:ºvz„; @ƗA3Q(&.F˃iB5~Ĉ<mKжZ|1 \S'eBi$uhlj47*DBDY^>`l=}0]u湊2lܡ]At [&j^<ۡBT2(!M[Z\&ݐ|r>E-*rطĘ6lLlAsHb9!!s F%u+1,t#(AhER9|'`< Sb!㪲ᥘYѷr@LPF4EFĬ[bC9g%Ȅo%*'8+e`"8&ZK-¢+LC&# z+; =%a =g};{R8^:^P?(j=sG|z;Hԗ2afF&?S:e+9cIUgyF@:] ݖ i1JUUsY*g&×uhxfpu*<!ZSҺT 7!\noP!=̣(}7hSK&p+9xAHĐMS)QP_P vGʆ,v0(u)et״6Mh$E1Ӯ:қ c3t`SOD'ǒ/G_o V(C2g3maOZY_isPAy7o5'a4cG(d\蝽)s796hӸ֑ܿr_3JwmG+x7S+9e+! u _q-ېb^j8c13?I SOW4.cá ~m'I3)H~sOq"V\v}P&_| }ɖk#m2ȸM+IQ0 wt޵aQ]3(KBk{WYs!\==F'QRlI NdSoT!R3|~tGn,J˕`3=Hq0®iETɈΙ^{cv]vJ,ͪօ0]4f5 g=~8 >7 8T9ƗHk{759SRd_q]CBBM(!?YEBE/9U f-PZDp|,hM57 ΀7vo"wp7+G,$"Kib qt ɹ%  }y");ڗ˾']X_@п B|[(fgŌ=5Q)>&eOzW1 APUe[Tũ :ݤgt_L m~*^ m^m;;w Ipx6usE5%8LE/dS#ej7DžR4ăxQ&L\7(Jޕx84-.s8p!lH ݜ63[XO;GIW0V߮2z %.oe03 ۴%f[{ 5!'f=*ޕ,\xL$*'3P-ӉSX ppB߉qLb.&{9fw՞+xBHd[ 9XzP!xeA.tcS+ћ0vIMv0ů)zsȜm@{H}u j&D_nͭ)Y] iFaZh$cU9mۨk^sc̶}h 2sf=Ef|b 6bb X&@h}"\ '~XP _Hi5!p8) Fhƹ{3Zf1et]\ 5‰2 <:)d# `I8O "»ag;0#jmS_& 0]FP|,w?.-j;<f8@FR}FmɺJa ȧSZ=qc]C[5 m3:k֝:qo,Ѯ/G)?jάb3rwK`*J@6*ؚL3I5i>L%P-b5ŴgM.F3=K>GaO-|VuSVT5Tv0[Hŝcs"Ҷ(8g>a(<>Cugw)cZk8gsl:LfTm0eR/jC$9<3!b!^wckk&l0nS>H2JXJYlCc;LH@#]G̻HX l͜}[b0%LY|?wg , "`Cw=5/o5%3N*6ڞ#愚rlc!p Y<EIDM Ϊ5 res{S$~`B ލr.FB/B02! еGcgJَFͭv!t¹ի.<:DC> oi4ɫbѣft{F6y,W右+9=3%ב+v?`MROQP>4߮~=koitNbR7 MΆj]- {Ӗ¬9=I-I\KygZ30n.8Y WͱЦzђ{wti*3ȯ7h)LY}F"-'\e֥ yتu \C)DrOaR}THHs[N8s0ˊV>LR0q+qPQa9M}Jl{PN0Vjgu>DJHaW_@8=æZD7͕DtDe7 r;t6yoXaWS7 h6:is=lhfCO8)q:Zզcn\x}/v'rM/ y)M| _LRʝ.>?%'b7jiu% M<q $ܿUj Ȓ`="oJHlzmaC85̪O.k+Y >O_aXVNJ1y}bRn\ySklrBZZ0Phnq !OuHrwW_Qw6UtpbcRQ9 m*ǩE snUbݒٔT;ӲH";9,r)vM l$ 'YJdm\.!DYLzkQ ̈́z *2^đҜRֻ38๨ptt26Ηi " j>VT0 SI#گu̩6k6؍TT.$ˋ9SnPac9V˱$U"z|:G2|5@,s˧*z㠞U:7Q#3D({ҎuQpEW#o?ma[c}\snҥ6@2|gNFx]m5a֧& 3ZzYҦU$ژL>$$7 ܴf;2O@$)%ǟ33ߡ`Lfhɴр#^ARTpW Dٜtg%DjH{t^Htr20o D1Ƥ+|Qyc'!`tKzҌ|6y?GՃC C›8q./zNK} xpBŲ+1cm`pns4 },9܋wjS.`5WR`_ 4tk7 Pز:疨 xPoi th3TQ2lhP[#pSuj:La=t lIdbQ  r& _N7ֆu%j^&S,w*I zpզd7 z=ԋ}Ft1,wKD+&qjCXlQ]U^ba<ך'T.=bu>\}xQ^78jHxw0x!ľp4fueІ7V4G˥OI,(UL&?ch՝M324Z8Ue_, ue=َW;QN6_'w0U K6&Ta xji|YēK)NZ?T;h=ytNb`H^U6uDy_9ƨp\z6ÈuzmtA̎Gޭړcjir[ʪqW(Q%/L"U.'p~Z˻stwp~z^~Vڢ5O4Z(_Us C`툥l}jR(Ij/>"7Tߴ̿0a!ºBLETiTq.zuQ j<].~ma!]B CD$3x>SMΐ%['19@ͬ6oy(3LZ #bbEL*Kf:R$PL jɕFmPτZ~+g>K'Jەi))Y 8 *TK -iXě1x9ѵ肮7c 1N,2SÓ#IcADqY^94=dkTXxXQG=dNLE{'Ylam* G@;orgXՄ|ƵGg/R2Ez!,36O? pLv?VӪ(h(Zό3#yj]ňZRjf= G`nZ.aDP:(MZTwÀ6zSN  {{J4[DB}֪ʟs92H) ȹӺLx7/ghooaTGT=G̪+UVUGCbT/p8ň q" Y (YZOӛ/^ v-֢t4 (1ao5;s_cAAk o GʟpL 11ETw'΋=L`Y!jMk#e@>xL>[xT!lT:|_4>2Vo/B-p""t *8G5 *CS)~IG'H+L\t&6>PPxkLV߶㗅8 n TX|[8_ $h痬E=V5y=H2nz4cր5^'AÔyЬEVvJJŽ{4(mVgǰ/<сop?}d5ԯz%[w_,7#[&K4Yς) u1KéL nE&#ʹU8ʋI̟w"1UGӀvEv,?(pJ~ 9âf/E7 a *?tڴ<(EÅ9k4cQ1pGv#W$ookϐn$WE=]I2!Ÿu:{zd?H֣Fj.̒,'YGJ$NY8heha1N(y)( {\xhC{cRߺ9K@oF@V?xƣ'Hϗp6Pv( E]:'͞c- mޑ4U:Ż6˅z0XMy/٩^=4 $G 9H[Gl~\nI ~9_o*/ #c!2.}2w9T-Zh*ͭoBjatiab\cӂZ7Kr}`Y##ɑ;)EC"|Lhq\.wD08@ŬA繨ESh6{)AK+vt.sc\Cd oH  / hbĽOoKFd~oK虬()\*q2cx{g*Wgu9-2AaB4<"VvM_aCypJ1!D77dɂv"<8P2UqBQʔ}шTSv闽A:L#p̓HlK:*'0 +8]8YbgT+,vvL\"wCk=qwfG_jS`dm U=3Sy˔MBv %?4X[OAӏѦ %JiuU%sW>T!zOui>8?M4LҴ7](Xۋ}MCu:ܢZ0ba2h;·Z=!Y#)8e"x`ZbDTcv/_=+ͩ 1FWR'kRy̸@XџL7 P|V bo8$W% 56fAGz^@GR*E7,8M0=O2Ilj=p Bb[gԳ!tv.׿~ #gn_5;b3\QV0FuWaoUl||r5z/eĤBŅdH^FO GZv.%svhe\x '+%RI5!"ٚhs7< (ZL~0sޜם\f6VlP9?; Ψ#4"s. i bTƊ@M7l| L-H&k8 ZC~PfXUհa("n=̠=0ʫw[؁uG!YjRH0.S0$ < <1¾RSmUtSudf;{Cp5dMuP="W0z(@¿A? lxaDZfQ4hvO7j[W2HXj*(uN o݃*O e\ޤ}p9 UvBs<4j Bg,58IP]XВ To:crTxi|WY{[DUh604构! TC\Q6*&uo#<׵-j2c{j\ڝ #(}s:,;T- Аw{u@Q$֚t^N̳tr$9kï[{0:&~\_O&#_WK,.kA nJY"ps&9Ft9 c j*mqA]q1\aC6ȆN]/. #5GS|xŽ_=2q$H:O?.B4Wȏ֑l(_8\ }FKQvq 8Ҕݤ4-`IsVH>Ibް6 dRtuy"•kx:ɥWs(ȡԆuQ6Y2 qMwOe:m![ Tr0.Z,x&0D5|W=l(&<+HFK  }҇zmB{Wڃ3a= nd2zʈpS,x½JmZ84A4J=;DqP$M:O9 1ΒStcŶԕ42\t5OGtnެ[.JzPH-QٻrN]K ? NF4hmÿG7 MH(h?9,4.sB'1:g;v;.' :s 5]]3z"ǃ,]IGq%VjHd S>$q[]n B^ ۝f\]J%gmhy 3{Q'Lۥ[ *>, ]Bv|AϿ_#8}tCāw*MDqfK0s?A{Y.ihfw D4N,7VVr‰tdoFg|B /Pgg;9>?-#g]=Iaw[l:.I8Ny;}ܣ)0]19PDJÿ |YْD¶ŗo$Osl· Nnݔ94}_lt/˓H-Gİq4Cs邕uQQ2 Y_֬":1CLG{1Cyp ȵe1.L DnW㠉1]]9ھ)JZ.yc`}ۉpxG=ΐgeNnWS BKc=Maa0ʘt#:9CGѭ8Z daU~5'm#{d}f2osZP锫HPpVz߅K1{KJ~{DLIǨk8ҫ ,J-%dHSu h g)D|E# T{AlIt )(ՓE?2#\8!Dhz/@P||./$$eKC[wM-h+ٹiJ: јY|R*(̪vę h>jt,_X.-ЮtL (.}L~O̜}je3=~sjLYIHeS:qxRf%_JoVx0lF  LJc msYw5琳5~%Z!/a"<)$ꦯSpaMC_GGWxP;T:c`}w\oQ/² A"ą_C&yQvsoh /sK/ܝjb[|gd.gFTw 0JUt޵)[ejA DhqCp y Og -#*u zeg6c  4IX{pe >ȍ8"At+#7(0 ~vZc5JnX08ZܕKvgB{v <}kN6[kMͧ+ʫ:ڔ1UT<썭e0򌱒[q' &ă&wN@qmHVԕ\dabjE{p/Y2DL\ +n30GT)(HgA[E5{e| ,f2,GRW:; + }pk'`RwA?Οg}§Hs./1}=V:ַBYZrE4D[)aj$DǑtzl)-[\q:RnZ7^[ j>)ݻ *m9je7Hwo&8M3f6e4O >7?'.I6:WhgLy*+ݩ ;&# j.n2zڥ\Zc؂>OG6w&v~DHzPu\C}^hi:kw.}%~`kKH n7 |bwok}l> ,lkxQt.54es'ulT:H#"ϩrRl"an7O$| [\|[DN7d# o ;Z@z_XzWlBdӨy6gF曖P3cdqFa+W`wa=RgZ0}Mq'^]j0|by:  dVQjkm}BQXC}ftsez恚F3EY YXU5=9tzmLx[9jnO!u\@b|lïո $=- y9wP`UOf υvXFOTU6Yvji+ -lˬOb8/< qgXd2*d襁atpmbl /ej&q_,D>m`}MIBnC"Dd"fFlAXgC35*TY'feqԏ6 S?•@-%`gJy{)dO+~:(!Y8 DzeNrhm۵}qZȐ8@.U.fb) ʼނa(F{#wsd&E嚷=%0GSo[Zq:ؤY W;knwU2q`p'X֩&%EX36 OA8/_j}`шcLE-F÷<DN#Žm_=cgz9fvT=?,ST#ePw9%xAsCQw T h&+4Avsx2*9]~ ZpFl`w@8-hp0*Fk &s{/0n$/4 `(zRwlRCEFѼ63$z&Ы[>6af'R; B8ţ"Fz6EbBtOh1VB_mƺb(~AЦnqU)/򿬝 Uc` ;y#&fÏtˊHOQA$Ŋv/ V -SvZ.*j!Վo kx VK KCp>_Iѱ$N<+ vpQluv&ɍNkӠICp{tB=[Ibǟo^tzL:@,f,/LpX 'd+h; v3 tzO.ZsfQrO|\B:~oy%O_$yFkn(Ej,yy.(ٌ3KBX!TʜrNUB7O,C1۝H礏 2,0$Xl6 t/OxB¢„AL室] ؙ}2 /h(ng܃ eg]ԮQ]]' a*.|q*]E`ׅ]j}T`Z)6+k3( d2HL6H6|R8()EU! \܅Hf1\Ls-  ] 4a"v=o#3$5q/~dm$,x}Rw]k_X|Rq~Pr̟ul+.K8]cdV?f,%$Tg9ˆF3ٛ9vNCݤ'L8fC~薃I E8G#R AYv  5d+mEf.>H8Ҷb`K4DC?sp'_)}CJLߟBȾ)z)96K0my<$Vfu9.a ` G& (Ơ᪻Ra]V 0خR#D6~acYNG㬨6|d<",L\/fphW^QP KVGM 0I07ɕubE.VޙwSq菉}`bNy Ǒt/ D֋>{aQOs2\jNk{XwV<8~hx0IC1:X1^c̱/s"a\I'waʰG>#XnX3A+!υlPx)i4n.| ^}kRyĈ 3$o4y$6-|qyA+> 5AkLw 9"e='3kx (m8;eg-JD%rն4jfd6D-2<\7z oj\0;71 5pL@d2Mg*k]Of&7T٣Z.CA6B{D[dOisSڒ_sw[nr{*grva0_'oeqwN~X\҈?9|m^\crXacͧB"[^nۙ{-#hJRm_l&CdʱxOA~++qlrXGӼЖxsI ʪA}Ff_{sɐ_npVRoϋ"oOdy @}T?ڒYyhݠ,&}҇d.{Ty>B|(nt}J~(Lo.t»O#[,0Ћa!_+pAS5/ h?kce|[OOvSS*=?<%Nǎ8S";0눙>pg4v@,{pդx9%g0,AZ, 2yGE'{OMb;0~1@>3aud1A"UV -HCI2<$ jx.V hK1u|(4Yϕ[V(8 |VqTQ1 ! (y!.j</ dn<#@U(|CVFn7_max/O`*q(g=@-T+iXliy"TʕE$It;WRY-|wO`ٽDIU NqTT 16EQlp_ ʳ 5ef@oz4cv SM 'xj#!45kɾ64T9xx N-=_79$\GۺkvxSfT.#m5%A,hZs*Xq } 92꼳s,z1hh|]'3>W XeC#tig6Ǒ(iNzi2F"bOP x+Q8i0mBu.5(v,l20Q$a/gՇt{&,?c)I#WΖ) 7_C`)`2;k-AU[#]mP&CQPRM^%cwO`ICrr&(&cԂNO BZzߝ07y\cK̳K %AҙvnoV~J\zXQLLWx8{/N?*DKe%csЋT A3kȤGy͠Q*Sj :y[ɺtjHX؝gߎ# 0LYKu+[ktCVZuAYX '25`X[xvP:l=ivTm8|~ i1 En'fV^Biɪ`"17MPj tQAP]vA0hYxIk6FHr]4e؂su}ݵYH0tp89e*)!ȝ:^:5Al=5К:yjQ5~|̾M$z5.wwD#/m9rۥ⨒> NW2 'qA#zܾk |J tYx5exͷ=# }xL(x T@'l &Vs*}0vdY4q$sɸ,8扐5lʹIA,ɈZc=nwz(0h/C)ճ`'+s 5zm[c Em1GQM `縖hKO,~=}ϑ@x31UWWYvk~W^wZ]H"(y6<v &_Lw"@(y(N˵"#7.p'Z"#VEIҟ֪СyG:I:WEOouX>uz t~4<Ђڍᕻ(}~Y| *N0;t`CeB_J/ę%㡼E9jTY'fƥK&E$װz=+2Tc ;A֮7)=P<6r"M!}ߊqÀ|_:PBz){#XO]bȚ,@D4,Csʎ.EDk#iA Z1Ђ>8@#ݓ)0qt搆 )y!쬁's:< kۅ|9B)k=GR=cn备"FUY$Zy~Ǻq%W/*'S&t2I<F(IR1t<}:(Xߎs_L{-MrRB[ҕcdxw8}jiǸŇ32=<.|;O;]@ma'7*SVHƗ'=6сs}AX&E((ĠML^*j!$L! qCP.Omi-rGv5l`S%Ӕ>Ym M5U""Kq-n;!OHtɂ<F2# o+풛& *;]լa sœUu_Pä 5ش)?(D5j.x.ZUbif2ȳAiǣn񡾈vo)Tp/d3O#_Q3/2d9._P@MOc>4umz&|=K (^-d\;E=a&òVR{':቞ڥҀñK{C2.ۺ~~Ʀl/ޞ( bhvQxq|,*i)`Z=@Rj&D9NsQZQaZT~FEu3>{9:CdΊ;*cZ/_9H y./UvC.'M S/-G%LN @Ƣtj~^iI,ZG{/ԜeE MY<~DAgXJUJ8n-]3=SQoȸp;/~׾qJу>CIYMa.=& =jkh0ǫA{X}'n qJw)5c0VR{OKTHu<]L9X7l~fG%E̤+S iQVRNeYwt9EzFͤ(ƥ |T^OԷ60;iIe"~-q!7 WhQ$}ӊXn) ia7lj#zӥ}jێˎAGx8L|lwEȅ<:WKxm/mͲ,cW[*YOqҞc>#:;XzƁz@推y&^j^NR5S;G+ ralG/Bvvq; h`a 1Ɩ7 I"/@|GfLb 8@"%vգ~//{ZPj`T:V)#9e*vR XKe3s_x+aT8S9.bYTύ*@Hg'&n"W1utMh*rq5JYX72Wm~n=;TZۄHLqV2Ê !1L\B,I1wY,k }P]i!8:!߄ϛp9g{$Q*9I0.kmkYqR\n7֧{[A۝JަщklD[7w!օ/~EBUK\cÊ9x(Am4P8,z71dh9lg @a'pȄ?F2D:,KWz]?Q/6LOxx@GAN@~`L+0c+dUla9h7UU92ooT8z/~AU~W'_ZeAGD!,Y&f9lf`(xdc{ybkҮlz" q."@lYd p0Y  \u[Bigmx  +"nkhXlWa3h1vZMBJ|\:7  }Ɯ9,Qhk Jf#{4ZWRCo io4J/$Q|Q&~'ya_=QFSɞCt7bmt5lΘNབྷ#޾A%~=Sj@[o5%^Z ;x2ZY5,2vprF '5qFd WUAV(>Id55I?fڄm\.VM"[8z~d Lۼtn4rZ# qMxBwC]G[x~nP:HL!7L #݉!~En&L ;'8>o!DåX4!Nj]g:"0pWlH\$6u^AC3]vX7id#NQc۪HߝFM+A*}wqJdv񝓥Ld%( P|QQP& j:;0\i!*-lwBg~G]Xv^;)t eHr/2dHI]FӠ›qҤk݉ ZH6Baq^ۜצxE179^PC^UӾg$H|Y/;EqT.D'3 G9}<o&(Pٔ߈}g7, 5~(m~T@׎aHR"G 70FSR}x [ӹȴ$QSlHiU mel2gkYy ֫1l{Am+Lf?𖣣?9 P.%.d|=vNg*INݘ]dT=AiB R+R!~Ǫv(^@ XǾaBCjf92Q+Ig:_D2ey̙J>",ϰ51X`?yw+9D5 kbйd`P}-t\fMiaPKmZ<, |4]G8˪54ǭ8Q_[e9h 0EM 19rj Z'==U숎PL?Cߥz64ڹȳhpꁬۡcO:90q?ydH\ j \OBhBݿßJ"\9:;7.T%cr2" 6~kK ba`SZTv6୹qݤ0X%r zx"@l TW.W7 wxn,[ZrGeuP-zغvzJ,bbopq_'?w`UGvD /8> 3ف1(;TG4$b8u^@-EN^#LI8QHPXaj/\Û{#!ՖӎExu$7"0:>屽&n_򷺅RxORB.q\+! tg7qSl څm a*щoԨuD j[oR/O4KMVnij.a !@OU0 Z<ۤ)jp_+5s#wT -U=fLJOn@g\T*G̫5^E Җ*!$i0髅m?R _b6T؊P&r8ժvG ]L :fꉄZ٘EE0x$G!E;3,ϫBL=5FWhg vJ>&VvB'mkƔiiz0Q$+3Œ`2$⠠KΚCR3 UZ {)\1>%/cN9( iR*d'dL.b(ҽG.s֏2WYAv{/#(KF$cD@50J &<LˠjOnbUd]H墤LXtäq 0MhQEbiY%Eῷ>2O+yDҋ'vQN4P@"Q{lp6#k5d:5LY퓱$Zh@B7%C)x"ryz8V͙¿SQ_6$'~%?}S:1d)G9 wE gVal~W %0JZy vm2^1[{-(vOj:m9lˌZG;aTك~ӐK<2ٝ[SߧD-g$@mWؕӛiQ ȹ $"N.᷃/hiEam#A?RkK\_' 7*b՟ ,7H_0 ۀ'e2"d-~. 1[ţ9`|2c].oϜ` '%bdeF2'9(*{ ۚ K?wz#/? Dq.O.ƿ&5%ANuѺ>HlR|l :5 VSqu Wsi_տjW\C&yE.DHGGB#$ToxSrL. 6uٔ!5^ .̎b":*Zs۠Ծ6l1=sbBlr?[iJw ,GIzƂ==ޫkb\ uD,q#wa=nXȣð(:Exy3{.?PsF]fO}k e,QQЈߕG\*_F.7@g_W2UsXnex8b`rˆjefCgW])H;һ)W-@474; |7an .|}g!y,2| gQb:ZGAf,A87|p( F 0s'p+3-ro8 mq1^Hͯ3&6 wE9Ii~Z>]%$LO>*~{0OA`pBZ(EtT9 fƵ{vMSLdhEECDBߞ]˙Y *,υ.1ˈ6B󕥔7&xF&~,!#& ۹It!:FZrwGUV^86zn +c]PwF},t%GHT^͆S-#r*wEf yD!^9Q]tcDoLy5+X^;rҡRzʛ9D)khGotk=/ϿuX",6Sɚv83r-kQ=!5DhA&m-PѴ_YBEfKCT\0ΡN]D'u.J}{ZH=HsOB]m֮"Zrd&ҢSy hX/tu, mx/.J(j^/ gNpgr;P#g`AXV5ptSɼ J*sF,GӭIJv"JV6ZDVE3!z\k@)/C j08 P(Zָ0:+(X'JV.C9^FaF|8#ϋ%, 1Hp\Wųa\Qsl6 ۢۯ en=78K!xmeo_QznGgQhtԌ36zr"rYS|Z߻9`[)#!;EesUMa\,uz; B],H}5$G6it*P\^/^ N2?y/H&Rܟn2KV ).ˋj\&PvyzfñxWqW4ӓpv8-T<(̞`b@;G:UΡ^AXf׉RNI8BB/Ucc~g_4â2:D.hFB ?$rI͙-ͨ<`GaqQQ.V ~F9S4&́'̙M/"K\@,t+C J[\- z^fwctEc~14O&WOr l=h7 ' p.8|SIDҡZ5›ke?9SL8-D"Xگ >$H.jggP"ʥiQ! lD>Қ 4Aw fZ|cK[9qr/eۘ]r,\li`[>&?{_ԍsn G`azw~z ;6ĉES.s8}+G [Llkbm}bU ޹W/]}X9{,SɆIJϑr>(zAF'0^ 53W,J0;ՊB'8KPt0^\?ޡp]Oqb.RA8NLݍ`Ha,0!"bb}Co eFC+lt͜f]0\x ͢ J#\څ(4?i ˺Jt(YsimxIlBitu)wnW. %*NP-qwlftEsD@ . NX7t{s*w҂~EԱOs-h̓`g{"u u׻iq <BtëO32fNwh~1/\Q.Hq/Q`bQnk2U)zY)?Zђa)Cb8HD 2/M8c\S<9fl@cn+qʙ\ ^u;3<691>bi΍%nGvҜ|ī=fB$(Ǫی07y!y{_b]ݿ},"VG2i|.6Vd|"J.m^MQ&#8Qk$XyR]U|**QPs'{k=yä'O% CMi4:9v902?T|ؤbpw.'{崛shsa_ ,cZܮgS^QlSrn{syP.Chvc+PRB%-pz<8ѹV3(rHqf3^8".Q9j~KZ1רx|}!'2F09#$1sêjGNkgfuԣc)"Tp@1BUV*ot&h~fwaF6gǻփ[렝(W,)9̔q)ӄM'z7h5(zM7ٟwӏ—"%Ee(ǭzdN Zۇk7vAD'}-߃7# ŗ<5V 5VDlieh.*%ۨcp Үغ.sܡd- 9.3a 8۝K,D^J y2F =bNG'^++uQ{>dAǙ0uaҀ;k4ܦÿE  $z263-|x۬0nLO_!427<Ҟh[ES&=_E :2,e8 [9Sn[<1L\ &6C|7 ~*u݂ #ωxu|OaatԶamt8}QKĦAB%uk `'!sL+-Ms=mȋ`G X;-x+i^(iDO/:TRLnι,+S4 e@{- eJFɖz[VA)b|L@mCG"+FaړcF.7(y<8 7w+F"4=v8Yd~QZpU_ l |>\mۭo_aB3f 1Mvxs%qi |̤4#|`6!Olr%ߤ!Xqţ .mt *;kY% P.7=wM !)&IlnJCu7;COCZ&1(@ߌ ӽdxq`B1q_7 Zk1 ᯬl:{UI/. ^Qy2O=jnsƊkE5;ӧb XًDͺ MH Z ӿlW mVcAT񯹗+=㜏ukczGU[i$O`p<~@90Crx[8Gy6QD̗-0s v *Ϻkt'>* +U)XXѽ(|Sn^*  HrW?OJ9㢷Ox⤢7Ui(9v}+>,ӻyp " QZY, {n؉ #mؑ7}X#\3b~9x*}lRKhr(Qt:#lrT݆Cؒioe戍 j]jdw+hr! /dZo^C_'ǃR/׏$hOCyHvaq$uy".#~k =ŝs48O,ڑD6t;f9jѭҢ\K>-#y DDA0"5pKOLwdN*{6inPUP>ZL?NYvIV%Flpxmm*oח>J;$:g]9hAdxzK)l̹PJt}\H> y) LRVfb aDbAW4Zz$uN8= goݾȖN\ԣMU-#-1)8@MDXyAOϙ{̩@ Rh\ 9^S|J14Gka 9.[טdݩ"cbWRb+l wҞ"d07X? ENBΝ1)}5}-v"oz _+LBWeF\E͌JL j!"ខI T 81Qеv~oqZڼDBa`ׂѠoK*l.Ov[EʤR˯!X;\7Bܭ.үRe%\z/2 2L0BŦg&EX/L$ƃu`/7)2j!|t1^Ю,w8'Z->—f&3%'s0D9z*̢K#B9]IGq2T7 "$'1/TFsFZa b])ϡ r'WAsLB$^[ {gVVZT0*`-{8ݤӛ5 yQL_яnT=> .UpZAȷD㬬*R梐hq|A R@H9L+ge©M0sBc0l+&̃sp*-o_̵ YaU1;FUбހ3nTss7ZO1N!<~w{ɞqzċ@HR]7w\-rHsn[87:8B Հ3˾,s xޏ2tu&H޹(mG %zQ7TgZ,V]9+4i% 과}Z5+N'w.s~2Ci`+mWiL0磪Odp i>ـ5nƕLX|#@ZWh"+h;fM%u_xU"&,ka|>7gJD#;Y,{q#ئ" l>_vB#_/X*RHƢ0K H5sј >M7]=KtcdDGN8??p71[˷~sY<38T/}U5_S`|$2xƙL#O Gf_A *Rz$,IVl;JkoTJxW9Xr<ΛnɥU ,PVks5 JˡtLt1"sE@%A1|,I*9@"#tI賽NTs< 1s*]77G2-:nfZ I1[^ltH_黁A̾ãB6"80#Sb5o*UEc+~CoV[FC_ܷ)1[ǕsD :(xA7mk$ @£AIc}D#RU. +̨4`ཾgsҹۇNy8J~)_XFg붊Dz]g3_GUUɤ~ :/[k4m9 ,X ʭޥWCPQYcձ:k B M22B<85h&ہ "yʌ~/µ v*Aɟg$v/ hmUe^\ #P4q'54A\, a:H+d:?l d(d}YZm#w0ryi]>.[!ƏjDD װ>UV9)죂Nc܄Nr MHl3lXj/,92 #T>:F|g+s$Y<)*ZP}qO9`_wly)y-C R$׺/KxqQ?Br;6QThr/7lķuZPF1+0 qrל@Hlةs*Q` n3h&B5>; ~Gdj%S@~IS;,%/a糠n6{*'hgH̩Š +7e8>7c~WAS0a]DS IS3_Q|>_xfj]UP7OYp%|9*;U; ed˷Rd',:> :$G2A֐NdFe˺LU؂GL 5*rA%M_1]mPv̓R*cOZLltm,_KY (@;[) '}i.V:$4Lh 3]'J< & ,2|Ff/f4uRlekgGfpߓIkqdcrE8 LNq]lJ}Т64fd- POt L`n0%5o t.`Ћ5o g6s@}j,3*'xxT[Bldg|/qogCup}Ǘ~( gKߤW hiP̝IvsFSOߐt=/`._&I%ڰr@PϘ`y ,C B^1__ i2?M2 34m> o&+hYAk,kٛ zB1~-rd**S nw'ݟtTF]FC8LۥWej1q{$f}EZI*\E}1.KCF|G[G|1]Qg kq1ܭsQ.'M m=|̅;}I$O~شnچ1{=SvsV]39L^ 唆IVuIv' t͠/]FU,Fs9h2J E⃫)ħ"y tr١{#.j.tp&-Q|E 1 "&K8*9j$%ňna@;1Y&;V)\~&{:2OdgI<=h?sSIn8r+{|bLALI6ACc8PN~Oۘ)&JSdBhȖ? +qA(Mmo:WZF̨iPqGJI| JA6=&xodgqLa67z?P.boh4a_l@Ks^]-)vcWw1vJf!6Eۆ;om./U(_IH)ʾFtHRyѸGe}Sݣ`SAhs!'pP+~Ji<ŤM'Jj &[.d x/q]o|RBSbF MC| `#4 =xl|ؑOA=shɏ$"ǗU_80G&X +ɸϞPj6wwN#B' ek⧥߬uqK)A=@Mx f2U;Zvf8SֿcOMޜ^"(L;io#0敖9냱Y2j+=hlf:5fwlgPS詒Gh 8 (?*ӳHp+3CdQ&X؇&DZD0 mَZyaZsScolkf̟|"{H5/mD )H \)#c3+vd&h0nҩ`;uS6ƭ:[bA[aHVmz"Rщ c4imaXw49k.L; ؃\giF m>;fb۸0mMoDXDry ]t~ݞ3ߑ C\N@L~!D\v31JV]wyLlu C9'@ĝ'P\3+J́~#e Sܜ;՘-*FaGx=bYӬ#׼~7pJOm$-c.ާۇt~âƉi4$JU? 9+6*d̎?%if#cOW,n],[xbSv1KY;D5&|#lHT9Zu<3)YoqAeJF2+rƚ ~'maR5G*i%;â@Lvl>8Xd? Hb+P6-@67.b==) m Ab6v,.0u؂qJ~*hh.mX3?d)ZE}*5 rGƛG̔V#=ާsS<:)Y8 $i[X+mO}NED2hx'=ᅩ#es7<|;!p)x\9{0o%]a>mYL~Fid7mTI5 N3]%HVWoNxmK*goH2Fn ~GUqPŨGe Q{LOx鍴ĬERubx/} hB, S/nL1M\H4/R*-]8t4Zg00滏̰X?b# VlD`bd'81]5'ɠ߫eIJ9=r3?*i\( ;[Q\Oտ|\&lRm?Dקd!a5T:r*,o0e6( Ԫ > ;|׸@!سA\OZVD!=5g=[/VOC2;% =!&|N6GVdSnYsթ4Fȳ]R籑sX2Pm}1WYg9#"Zk<'gcB<`Ξ1'Ѽ҅^` Y.>PxZP rr)Yd<+D-.6XygJH\$ qi~άa金sofs?ҋڥ{6&Q#g@A0:@(*kh!AA3eYIx78@" G#pP`v_y m{MUݭEj:ArDۃMg9uMu!96iu1'⁷H͢cgM`-([Zq1V^Wt\jyPkc{% ؿu3.aG=/4w K` I֖7Ň؝&ps_km2qm@t,o cᘴa@P@->,XGM6;OФ;1}E0=kTx_$ɜ8nBdi) 촱[1΍/QP%.t7D zh\gXk59NZA˜u@zro.RlŷK'pJ([]TvBK~Vrz^e5.mjnj-V΍_؋k;7cXƿJA.x֔h۪{\[;ӦWFr5+QpB [pcIޭ~@E<Sh4AUye=XFG+Hb3# 7K&e(Cjں{/] l_V6=8Z|T3[.Ɯ `Wi;$P1?`:bB|zUүC]1î:b=yh`u[ȸ-5$ŪGihxwe5kY͚}DZʅpa[Ď0.r5"x֜V' }L/\[c#vz SPD a2r7kjtZ [B”biXDX[rce.> k1eUl!/œ5|Vj- |8 7  8gP:JT8Dg} t0OY`]Ĕ=5jB6e3VɆL)ٝ(l'Z,F pȬ^Ec)?]%}vwn|&[ q]5W1s儼u(סEP;siG?Z;osmUaEO>21B"Vi\̓l(cwKmAeN"S|;Ǧv{iw!+y!W8t;ԝ(JkX!ADXk "yTohc(v0ʣ_r^unZbE/Cr _x,6=&e!5.A>J:{OεєMH km79r ɝD TEh*CK@o,@gK/^ 9_8[I$,=o Dp P\XHxR^i3nF3+gV =3kXHOG{+~,b 6ɩ/a %}"5BoesAQȞ.\.?\Y]Ht-`u/*+s䡄=%?M7\ߎ{+glj@al s`_Bk^oJ2Z~=V3TtޒH̃*ZYNUG5[\M; B\ek2kGlk E BDr'0k0Y Fh]Kݦ]n-L_Q7zkZ'XwHTt*|KKW=Z^BEBH?Q9N,V!O6qLG 8f N21UG ]c1+Ѻ(gn/֑ip-ձ:oq i`Yߗyw8G|#"HR`܉85,v  qF>ѼQح.ahfHs#VkeSX̃w0SMTHNJ@ݘ.(Z,h<8ޟg;Q=]wKpq$*I6qQ%n5ySNn|f0fг;&=UMk}TB7{b1>(_o$GÉT!TCs?`͟29llol(3xsj.2C!L3' 'BsXmaL#(Q)}MA2jBrMhZ3L.1N+(5Ic&~Y; 8 hX&\Έjv=.s[.`ؠI&K7w+dfgl9|G:eN3:E=u5i {\; a?|ڳ>2-)t6DB"\)«[yPv)'GOy1ʡo'2چgq.W;q<wIriPk t@ 伫SOmqg5x.UljRB^_d  㝆fQNh|q1E$3 wK9aYN>OjdfҦ *4>pZEBIcM{.Wq\bzr/0yagRrrfpә+FA CIQSPO {PЄeLYי3N_EgIG*yTi&} FƸk]ꅱ}@Z:{U|d2#anRmB(o9ѰK'ˍA0_wnw$MLRDtHL13Uώ/t~X\ T83aYҙ導*`;!Y?sy6-O`@od#F4@1+]Td1Zi d>"kpzaT}ƚT&Wp s9D>S]M\=^Lu3!&wUrs {+:[K>5,\.Ȓ%iJRFIka.MD%Ϝo:̬nbe_kW}"u|)*Tc#H7Ξq6ǍUhs{zq1[ b7I5ނVO8:7;m&bZDՌmv1Ʈʲ4{x> sG_)$nFS4()! 2a}J_.h`J0Uf\͝K~%d-ۦ |m騹[S )q(aH:>赙$oޕ҃ϦLh wpɋwƿKc3(6]|5u^nhI80k#K3%աYV8iJ mı?u+a|{6&!~ vȼnsY pɋ뻫Wo)sJʿTCL TZ QIf{7#Ƚ'J% $X./)hyQcs3ob FUn}5J;TxbW*6\"QanHOl]VJ"6_6E_ p> $hr95{'UL=Dk0K,e)0+S_*ngY[rr/\Q'KSn؀ xgS;OO©͛,S)qI@ƨUwޣ(?0SU&LH%|uǪw;o\n MF9DGc#!.v=qMiݵN}lMۭ?ܸp+uy"ZũOr7nOW?M=jʽ뜮$äv6(lXB}}F셈,Tf" RA&LCьmgZtV+R_S$!J`OB8čլ[rT0UW˼l_Zk:12e ?WhBU2ьsaBhyuj~ea#ͻ*cIGQ9 0gؐ3* LDL6hw9l+uWg\nT3fيŠcf(gDÏ>KcWTi|(5vAw?J,83^{U9$L]%*CUˑ J;\CNdl^slZץ"tj9o]|8xe؜9~5TqI[v@ Ȓ;۱fw%ƣLV9W |āg* =@(sYhX#mxظg 4jt c="A N$P<ocK 6)-b'F/32KbzUr^F:QrԖ}nQn J/sՠVv\Vcnhc*@wb?U^|gndtٛ Tjy*B*᷶w7oX'cUvM*@QsN;q{>p`;uB4??`i>mm]oJ1ͮdJE`XP8"TF޶X,ŐN;j߇u#)ǫ պPN'u% S*@ܷ| v_?.7;Ag* 7Mq | t J<;Ҷ򌋷w lKeRLtIH*\s>ݢKZ~2P2rg h/e+KQ5(wL=Q᧒U=hD$0[#tIor2,E wiUuۺeB/e>*;]8Rc3fNd`l\5^EBQ+_pUTNwP_*"9Nw-+m !`%`נ 2ự@XRS5 aڍ&lk& M?dSƯa v ;o$F(RDa)U#YEUm!45⒉p%4?i+wi Uң.oCh7]v؊/S> ]S :$u/dbV# ~j0:uhcJ'+y/zX2}Nx^XD5gt֬ȕ㚴R2~ohy*0$V_@P+l6A"l3EB7mzBoV&dj&li_a[\_pjjg] _!;^"\gGo!98A f##ØYE$~1Bx Wge8(A _+hikxrC %7,u!Uk/0zX\[Ñk:%!ؼ[?U^;N?!cf+@+_ $غ瀒)e쫌 A(eX` Hʕq{ɐؽldڲ$|v4٬<`{SyoZzIr6Q$1cԚݣ*2QSK"?vmi %iT~߁շeptFC`1Roҭ]9d+`+>f1UρXm&fm\'fªfT[G0< 7l={<;mƠgƎ Qhic- ]YChJ3 >}=Z>ϜԃX2_[wr{'TaU)r!h% FXfjt?Ztr뉵Q"ukm~j.%EyChM\Kmg F1lL+r{yb.5ij6{:{;vDΰ ' Na$g٦-T1G_C:[,#xL@D/-"N* M[lFf4[enݵk]1>rd7c 0"b ~$@%jjPxԑ$+xtBB0KnK^Cr>]Yz[t܉񶑲k0qٜ_Mc"ffu~C]TdF*'ӵz2 06G+.MRlyh彯qSuA:b*wrE{MviC=mCRe2g50!Crjh\Q!|T.f;Q>9.cm&`SIn}j@$G؁ 2@:t=kXjXq AIY!P~]_(^RJݞ. tKdzɼ}UTAQ:-x55<fQf**SK͢yOn_!زѺ%p27NR\ %,Ro4 (7䚖 j9,5[%MRdYEPܓ ŭ$8Յ{N,4R:yėFw#~¸!f6!GbmlVލ>eMR$ \&{zz#Ǝӏ3͉a Ez5L@04\}f2t*T󇹵[ZCT:YpQsb|NL$#-)~2O{!)Oov[Cl T"J^e!0Ruh^EqDr XVpGh(;2ɇS~Q25 G5ݸ.c&T|68xҸşq0@wp5䎧Vb2ꗣnrPbS3.ԩ0w s^ob(Epy|> Nyl56\Z{eΉ2>{)zIptq- i92,/wsMP܌KL@q_ ⾹<Li)o܆w[gB"'P;Vtă~ _ ;ʾ.:K[{BEaLP&GU6ܼh(jpc7~`՗4WG0T"R^nnN61èk4 *?JFMxWPXI\g,#5|3:!;гT|`Wm:'Ґz]g'PD/IV%N`\ eAmkkjH\G#@{CgKl\4T|СEWpytX}۾ nOcH}%%ßM1"%Gte*=ılZư;zInX->usRֱ{2Qye&?j,$gynd|P`j]Peµkǹrڎ4;`[kƷ]ÎBo9!pxZ v1GuF+lvi x`5{wI^{?rj{F羆6h#3'J6J$@nK;PYN% CE\Ziq4  Em|ybDϰw*Q҄E(;Û$. 0!/x-eT{OUPi./*B`z/K;jQdxK5 &8| jv$ڝ,F$G[?4 ڢ?1Rۅd/NWW%p.G)ޙ40/cvdVQ~7-4%jBe7^G_Mass&'˖x^h EJsU?T=O dV,xz %6'=귬LHؚ89gM06e!#x%;ld;"zÚG砢rI4RR;VaZjf yW:ӛGC R;r]ؚNU@0l]| !0+o=?q`\_]ؘX:u;7̩DQ:5)b)i0CD+V ,~3>"|5u8x(Rnmb{NӶ`Iq`{9LXC/,*C CZA{},aCf%^eBFT:E8YaM)lYw" /HelNa4HJz**MP%<&sN)bp,} ~<oD9}QfH*גSh;hw щK%:P'RJuqdU(Arurt!w5iGG/.1 nhiOuc} ٘Tn"O# cz>>%3p, O,.@FbHg#z aǜi Z zR۷cuʝEE3Sqfoe ҘWmXPj$mruI?l~_E}x-'XܛbԊ؎,FBr8 ɞclAhC1rPvP T\ sa Pd˟c@Ntъ6&' 'gSIa&C-n)P95o,|D8Օ{.{ym1R7 $BvNa-2")cn;o8#sJ{QrڍCC])(o |c )Yޭv|vlM #'|pEJ1(71p VX]W$8Q2,]pnMXd.?e# 4sEv+)]rYZE8R%>߂ B\s/!***Vb jFE-C }Ĝ.k|(Þʳ؏ԛg''%ggs'8@2xlL<\-'AӺrUuuJ (9|A.9ga[SC?V.[ !A8CsdnD9:br"ENhK~?*c8t}.{ .`Az=Wlť2Y/Z@ju+_6z({ZcUK}YZgCfB@?Y_a'**B2ntkus~?]Bl{ΙںzٿɨbPcuZŴ$52 Ld+;XD8!ILjG11YLor' T6'#un VpeB0ZT9G`%Kg9oU<7)Q21x"5rEA:NF~ gZǵz?5xYQl5839]&2ź;CjWgLmHӃhY˷C8Wdb$rJ(Ha@YˋeI&wZMl=o;ǹ682O5q.2 u /2GO-YV4-*]8:, ΉL4*VtH2K七RD,ͷrQޖTSiKc^Wӿz*)K[ş%FcE>o>(?*M3Tc8g0em߭5 YuM 0IYL{ب߿W~su"G@ ,]Kb=rh.wY^SjrOc >(l#R18=Zrs仛n&ӱy ZUFXL;y{8F"/ K9uHm]9_s RR)ZXjNifOꚟ-D57~v\Ĩf2һaIOlkp3 OUʰ`rPdu ) RbE ,_<ա^'&-1῾l*bDG-ul&G.̪NWmx ng1 Db3iYcahN$%67LeL$H׶)\*F%N Rt MnIpC/&1;A>ҙ$X.зz.ސYi鏈%ق=o6B-Y(mJ\+߸k}^*bLnlC% ~yRP@jmq$bBBĻ;+9ɕ:V=YR~7A,$ k5',ǸwƩ sR ܺ rR _a=GكE/ wb!]V$/ U:"{b`W$9)ш:u5QmQ'bk9+YT J|blϫRF@sZ,xRn9X,RؒJ9Xq{NׯŒ UA?!UN^[v|xq/h+Y`6y0 b235F=T_+̯xr),&GËw&ۻ3¹>w”': 8pUtȅU62nZY*n!|*ߎ%>gu=NfFLp{W ZU9.QF:*I:mٜRmSs)cJK/u!/9vVg ,n7:e850X?*:v\/_k Jk“9 i-CLвWրhln++0Jyo!Zb֐0HLHdء sY_"DKԂ + (3y 1wvvSځ mMOU}L\ Ke:xP.3)oB3p+s}Xੑlc[k(+uZ?ڗX$qzWì[x6&.ɕd,~} ulC/Qeؾ8]Y X%e7-<ߗ%ߋHsj 3U,ےNbSP>; Ĕ /sR]|< hkÀ,K"5|}=k@ֵ(G[6(ž#-+tܧ6 dsܠaky9G Mώ|gbAB O,<3S+TSq"K@k(|VdZp*a$CfL" 2[;b@WF!0!*d]goYa9ȕSHKhku1J'݉A/\e6YȑGǑRWvEgn EWZRSQj %&+vqW81fd3$h 7kq{mj5ZT7>Yo~\4)gl +Ǔfϐ!.1M E{2L7Aω+h^3섲+6skSdXD9D͓ۡDz]4_7/~sR*FcWQLAIW)Z=a7)J!󡀲b@ cVnYMNlG:,j~%䌷^6dL-ۣ};ӘY  ' `ݩ =X& *%yvDwP 3PkR~yohR׫q~*x ,՛\ޓMnw #'>;hqFs!MY} oIN=~sP'.uWiAIu`GA-]SEǛNL_ٹ61k*YDh:#T'%BGOI\\%e!lz>ܪFh/(]i?ð\Jw + W)/E*p)| /aAJFmڮHfPd1*_!< TFA61ɷ¦J;N[Ia62CAꐭ|#jd *( 26u)W*2"(If aL<|K  [0B@$@k\+y遇W]"dH9GYxg_9(V؛Bd)t $\'Oۄhsy88͊l~3sĥ;3h,):^Y䶛konY:hμlU}*!pWQ{Ql=[ {W\^pɟ\r0ibYhha[=Ye{V>(,OaK1+xh{JՓ/?54/2ÒF"9c)6!lI:  /_\UZ>{)$QZt ] ҭٕQī=#V>ʖ;6l$%Cϼ{cyU'!ٟ\nqvJ=4g2YMWJ3S+Z< Y!҅5CnBH'iwoܕ wi1W{`o-#ErqC L'OR!U4bXan(9&oe$9k1lA*yKKf&0͝L@n0j";'b9j2stSJ'.f0(K'x*I\#T1&l'U뇱)3z8A =DXF]~Rn72V Y;US֠5@Yt&rz(^R gWXێ=}\2I67ȑD)>M>B su cj%$.0GDˈ|,s*ず ࡈ82} Uo ^'+ @ޢ>8c"/4G?7)Ewݸ_JokĬ _$IthE`͔(/Z5Ir!CQϽۻLQ#~CD'#X-MrZ9З~g3u1V_oֻ6r)Vz!/p7._dMDH+zE]eivlЩfvTņ_j62gv9Dg~@>8<@zo*\|H飫ͯwgzm0<Q/RQ U$ {kμ,'1P[R΅7!(Up%^^>tUMO^KH*tT 7&Aײd`l(쌒Ci.0ua*PB/Mi`T9 T5*=%ۼT"dm!ZYc %>_wnJV. Z}[*$fn麈 iZL^Zs䅽IT%ONjM&|"IbQ,0#u~2='G:ܸȂHTgPP-7=-ϙ̀G> 9t"{Nj.uSo@]ri0Y*rq,'R@h"MON;nMy)-@KYr4Z at+##XI,ή@Vofתb_XHU}vsmTnF>IN;b⮟LB\Lޘ-= 1[L_IM~(Vec!R.mly#g놟db:@6]=wEHT)y'7.|Ov%J&dH7F`)G8w B"K 1kZӳ 2/.l.P"4Ն fcVl;%Ea2 ;DQ釕'NdהU] Ps"}]C䇵je۷ h5K:(k/eu}dՑ6s(p(?u۟/M5в3ro"1}0He 4rtn,(yFBu,\M [pr5AG:I>mLXzE)UlqGgl~i".z-ҳ/dVҮcwp^6jb2NWM66*VwءɨEP{'g9 Jzvls26P=Ӹqs,P넃:u,l,vT.Kl )t∸ 6t>dɯi hFN%JܽJtww{]']5#i5ojZi鎖^=w8~w=Wkѓ9\Q v^v2U}IE!(C RMbPMsyoZ*y՘@uޛ0@Φg~3@\aкzڀ$ٔ ^Cr㱛r6+p5R[u]=-DVf&Ԑ7b#dR*)wa0#fڔ#B aLNoN%+=h9:w;88kVꕡSɿWH wزGdTe][j>#xPW1n3-t`&nq\`fzazЯ69jik'|}6,4=Q,_WpI*]=A]ohni@E5ٮd&Q4S?E)pNhM t/v[@P YߙGSSoc'I_1) E+1 |à_n|Dp5ݙw(9Mi*Ŝ@ndwޤzHӟ(O7Ga*2>gB Q&?7OW8qx4gw}(i=N4/FK! =q)@"+*{QAi.ꪅSbORx|8@,z :BN S+{->%MWc{DI(w%8<j&_&"U?Qy˞i7|h3@q(5$Z:'Iw;'6xz.tBw)<\0Es3xmaelN6Eǜa0"[4™ { xrdΈ$P)`OƩw `9r!'W-6iC[.Xl<­Uн_'jdExz3 }=C(Y^h)fO6әsMyɆw^@ntXbe3]L̖UWsYW:kG, n%I[ZaqCL. ːZTC_֠C@GKVwXAfYxFC iW`ز2Q]"(dj?zbEٻJ|HQX=~1Z/%"ʷՈ)~c29TҲMiN s0;NWb/ja۸N-;*-9}P%+s3/2 "@,k)KE!XY+(jz6b˜3pc6Tk|` }m q P *G$q/2. ddpq413 ۼm ++IZSqzBGXHFWtu?] .z>OWY^DAB@!0 ؊ϔ}䘽$:5jrXHF81.b&܋ ^xc{ˀ3@ 8GJuUU jN}'syxїغm| i=9n JYJ/L"{h$y2HuY !al\\\~+{繘OS??>°h9zi*l$;1~j܈G|FY%bs?K7_"hY/_OzwQ޾%Uu4`Iմ}<᥄RF / e,0@;Ss4⵽V9:ZD7YO[↬@c4b`Y Ù ^*'l:inDu-N $p9I{Txcy1_B@' ~ѶqT~NF.2* i9ꇠeۇo.N;% ;膮e`gVHG3tՉs`s (3;C,zApf~ZĆ2uOU"Ā.]P8ABi{vܗw*3fǶ7* xM Ys8)?v^yȿ({T֩2اEz]O^z^m",1d.Czw2  <ީ]wn=Yġ'r!N}U9<~4"S6Y4 }h9R: h̲  ,Ŭ5P` fjP"-z=ztsJ)SnFg,@QEM&޽ח}CS:7㷕 6't`,|:@:<_@ i Tᕆx1XKsޢR<}B9x֞g]#ds3xؐN Cdd87 c'Hi.\,N CF,Eڤ+ kgs_X&F}70!lK/j;@CCoxGbԆd(Ir،sނ f84ǶaL_vxٓM"A7y5˂ ?{mvQP/-}5,}n1"Si*J*` `zz I~_sY0A5;6IʆT (oF3) k|zz6_7 c+KKpJ8#TޝqߙjjcԵ?fkR=x;R #?>S-OwBW\rA*Clpqf0P"LzfAM]%z=A751i-E;4G ·uhz8Y:sJ|ZP>Khca@P 83\ElyOUKv_ԖfsTuU*{bfU^bj0;ei3Ș㲭zXd(P"'K c@CdX2?%􍘤ȷ $YL՛rq"YU D[ =gOx IS#b}iKQb:;+Z{BĹ"Zcìfе⿤AQg ,W];>FKF;vW<܈ ɋw%ڒqUg?ir0Fr Qw^>Siy$pz]K-eFK=O> VQeJww5&L૜SdQaHuw{('#b6d:fj D\+D^ڵ\9ߖ,VN.|U6XUnt0zk֠T"WTlp 3~:^|,:DF9' `Yav@=OB+qp|3Q!N$!9Mwib}-V-dA[ c;=*ڌ sQg&7;=ZXT"$SX^$PTTݩА :<˘Ed>:P{ҡ `əJRW&6iR K*4C=CP%=RU&ZOYG2] #o>s +@A0+]ї'ptW hʜF7́}U0-_G:MX@vKh =XǵK쿍DZA=+$i!4N ߈^ز_KmVѕqVZcsm0MbqU0qͮژJS|"TxWs\ͯ~:lhÏB"5Ŀ$|&Uʡi/]?d<[Xk˭ayvZ7)2he/'To%@+ArՖQ/4mLPAi\pт hAYIWoX<*oDb߸h|kh5z2փ] vxky0iex҃4er"~I<#ߑ4iyO$˯Z&-5% \I) ^>QYNȾkVVH6h8uGCzw}aSAh6EKV:i};[\${Z<)stqcHCb$\2K*)tEa&N57~ZԻv$+ EWMJ6&R*(6?dϫ2HGgFr${վC؀ Q$ɘrno-am턎DU2co*Z;M=2A gpxNv˵gTpmg $SϝVv(II4Ɔ},NOSME 26El+8r1%|JW*b&xfg,I4 ]ݷ~ROz6[ CNmW$7r瓥 GQklؗ(\^:0HH3᥌ kfm2uGJZ>kQHF )|IiE$E(8TŖc|lK`LT1* B)AJM-Uh:&ȡ˄XD˃!ZAc9"R@L:*A *wҾqX+}ܢGlUfӺj9aP"Be$Ź߳tandTk/-e5 xŰ(vsN$ҎEػ{ma#`iK d1ӾJ(iCh 3[1:zVڪhCJj& "dwɏ y+҈̢:"" 3?2KJ2u*M8dޓAcBH6P9Y-_ Eg+TuwBvQzތg7$+]Q4Pŵ ([OpFr10bw ^ۈpk+!(Q En5jliGy$Տ+S_o|f~n:VVd(_&1ر0_$I$u'<&N_=FTD+˚6cD^,UpEvbɟLhwGo^֐͢U:"]^0C I*< a%[2R"w@=VZL(q,X&ȁzg `UKJ\'ORfCs8~?:4 q<,GAHKݗ%-~Qf)-&ʌ`xN؜ ߘ7^/Z}U+.tbt/hD>(f,/?}a Z:@wΣϥ@:7{1pg+y=S# Lɨv;\/ $*9u֎n Xر3-.E-=&WkС$2|5c_g'&;GIPݛA)` Uѱ\FR+e[CqBho|Zy1$w91г3훼~%{-33^@R`pƋ1:F}lhO:޻/9SLB+@JS:֛|59},«>1vau ǐ E/ɢ[XcEGԷo\]}ȶ$ >.-IG_"aHm)^1?n [Q>\a BCky%1v*shN7y6TTm3J"FEZ:WJc&1ÍZϸγܘЋ^|`D4)[,N-DyBgl9}{vN,Sd]t$cʢ)_?z%)1+# \|cA>e=f SFW klkVQ3Xl練"jE2 ~9t?ju䮜`BCItD^[z)gd*¥1De5 O!_ .X$NTHXEu t-&L/ARyw 1 -Ny#ܚŅ"d#P`K*לj&4 |a5;WC'BsD8VDH.D'mK8ޑ9Gp42T[>1L[O&(e5wö(<W/0?zЂax&eW 3GOY4j(S{2 њ$lϷYdwkΖ`dD4 i}ZƋCq@*̈z~m'!x<,"__A,E2 WG3ܝ_!'km7pCG>2` bHaY s)4e\XQ0-(Je@'g |ˤ^po?%Y_ÍvB!.=-4CVmOGP~Vs0V*jjT0޳ #%W74i-'(#2 ™(xiӼt!Z~`7u[ïu"¶oP酾Rya㒏?77`>5!rt$tNen%H'IdY8$Qa-n5_^|`0O{}k܅FoJbRP`g齯;e7.O5"kA{;dr(L(P d2 2CI~.q(. Z@qՏ; 4d"ѠA1Ҙ^# $C~pڳHH EVE6c1/OڕC'}%rB0&ܐˎtӉ¥ 0/oA,Jdvow Q]}d{9B#jb3.}iJe'z+'`P0^md [3zRj4fVmRlʮxR NK$?r{0>V7pG`^*Yi|x#:ju%HN2贬X, _`m'ҌyBخO7ס:P܁iڈBjgDX&1u%?[83?[-',' ?S|5/bT])k-b -߈D[THW^Q\Mxz (.l5J(J>]eNd!o/d ܋N+@"x{k YO.Xc7DmƾAi eFY+mf&Ϲ?*0SR+U`}5[ݣ.\fd(HmU$$h7xͯί_LV=d8אbkS@6C*[)DK̓**vhйjlk[}51 [:}M' <\-WV@ ?GR#SwY|jc)o<S~-Vo8Ǽrъ66ӘjiPfaZ|,(OɃん{5V^71.L %LLI  5(Cғd]ȥgk A[W/*8\tQxVA#Wx;|?^cE)8.d,4m #|R(>bU(yN^<{"M$3apt@ fIo w'vAIٛb]bV.b"kk H?(Eʉ}(UXJc6~$CWsYy-b1v}2 agSI\eķOooM|!' wMj9mvw>䈱GjnF5YM$g9H[՞OL#`PJWX}zy Y٨aFoNdvuCL gY Sz6z`+Գ^w(E<9~2@zutV%'ȕC fZ?XE4o6A];2y? ]YMٶyJcjnw nwS('=[اSuKঢFPBea̺%Amsta9/x,}U@nrV45oNzQ-Y6jD}1 /bu@hɭsTY}f-/AS]s~QjЛ?.q4xJQC$nZBIVH^wB:kG@뫄n;7NUc>ަ bͼ۹4ӉoQڻxU$id?}pD7'Ud2 }RkT[|(BO,OO-GƠhLȀ^B]'В_NkH)M3( p(-'+\`r$ivs&#o<ƿ;M^u!mCxAc}.of Mʽڏ4xY| fb%y|D9AI6M/"ޣenJ|n$Tumx}g0G~+҆pn5}8b;~Krqͻέؕ5vT-8|=\L%k }#bnj!c^NUvM fkڻ=j׽oHaS44Iy`jzXX~9ISK+gDz>{8KcT}#?" O ^acx\| :e60*I ˯˿`7j !c {j9^M[dL9Gi+4઼v !6]e( AlvG,+0:p7G? Kpgl7VwL|ulL]j8o Na5TNހ49m8: Y2`>]= >aQFt݈]b伓O"E_4bK{4oĮ3N ,y"( tpqa&u,d dۂk+^}WW8Ljj[d!ONT0,vYt$O\^s UI|ADwIe1s)4*k=@˶a:Vx>2$E@܀ノr!C,P{z lk=N2wZ Wư+%ILV ֙ 1F"Pi dۚDx=~t@*6 49~77LVWIU㇯QmzgcfE(؁"9ӿU ULyA(f6kVo'1, BTI0ϕsaH׎yҜte!ߢ7RCEfc9tw$>S2=5J$]\YOQE=hşWb3&aD\=/$(V׫|K/.< X i6qDiAi[j`G6 z}64g.r=5Ja Awݶ?a6@F,fhpAuyZi&T6ʕޛ.>ds.Ď< deW_7 #" ,p-u'<whthk].57ȲRm2/Mϵ6QzS1 뤏Y) 4/8]M5 $$"C};_#u%fMDC %ڴ lJRhw;''۪ XusXN^B}}UBT/kb-eLMMvR@>m9XͿV1Rhh>޷9csʯPr["MtX /VHI8RxiC`4-41W]x{BR? xPM6⶧ƹ9J:;,0*z#2kMD_1:wUK 9m}*OVCE5>/o\_ ֆZ2Л'WXҳ5G|Dt*D&i/,:Nw^1qgOWyIPi=핝;uu4EE%fn0|꒐ fO,aENDħjlى8TcKQgx㫾Smخ="E䌥X~?gsNVdί3iM'e1yA%9 QE`N.tf U|v]g P)y-2 uguy;ucf$x;b}1C6g 5,D\[rG3֨ai4tJu}D'eQD-sjP HK,o$rwA_xP%$aK>q+?*A#Z;)@pSŮYU_p\$&+wvV66cK9*Szj؆Ih ߘAt[gb҆ ז-V4Ø 8kZR59'ʜL*@z@͔9Uߜ.-33ɵ a5$yt,qF!7oyY5>j _oTP:v^LqqkxOЭp*Qd 'GCn/z㰪j {!Ts(0,= bw\>TJ.C0X%D\;AlC&'Ӂҗ o(ۚby'׮rSkcFSS@@Q*U3%g(a}0x~jxJ( #=JqRw,yh8;Yt``=Ɓ "Sa X yJLVb^礃 :Sۢh:W>@ㇳ7@2{B{ 1HSWfTz*GmbD-P&Bz(98s \=Z.ĕJB}]MhWɶ6!gW>o\}\ehn#sta}d=بa|N;xYut=ٜ:EĹkYba8Bײ"b$xca D{HCSD9_&Y=b؀·صɻZJ)zu̟ h6nAqXPv/$9~8=:wI{"n."7oTzot%I˛&L9qIv:Uq@12H=>QXZld=>&o %Ur(W1r3pJ咜31Q1){*&B]5C$:K ~\& 9(F幋Z_= "ѥ@z90b' 5x: w: e#a$:A^x8wd%$&tr04n0³K5Bh*.2 ѓz&WD?| [뎉(n([LLY{LJ+y-bL;qħ>ԫgs;T6RY6Q3 xOxtOe J2yZ`jIEO+e]dKg7C>͊WKJjg`!?U''HAaT0+lP9Tl)}=Ac?pk_?$$҆&e`i̘7gxX2Bfd7``G@'TVGC#V eE,7`W\ѹ$Y!#/䊻!R =h$%Vz:Qn&z<}][xʎ5Si jSM-<dí;LoӲA6mm^7&o7P^9LcfNR3^$gءjr>!ykY& hDԶe~قD긊TN$ݧ=5X[M 1iwE pA'(3CO߻CTЧ/0ȉ5 TJ9ian )”Y #m4kBѱn% [#o&./˩Y6= 1g0c\Y0M axبT&,M c:&3pDmn@ 9|>h(2.ޑkfDuxWb2t:PW[i Ш[8G=ww+NU#(<qqv|$?_^#̐hBN-n0%#As[0sHax?p./߁c8brX7 +]~.mf.";xVFG}G> g:ߣVObDfŵ|ܥ-?`]dyZ2+|p[ݚ2̂b;c\E?qm>^E|blw dl\=26Rl{۲J'8zd,-,Aqw~vw:l-1_Ձo N"SLs R`jJvJBW#k9X[!&\ξ%žwAHљpGiI%㰼5fs/ w4oRH,\87Q{<3m{\Ms=XqoGFZ*" ,Ѳ{iԚ"Vwexxom [a[X&5!A0fz&`=\vd/+ʦp:@N иp]I$cJLZ>1+__Mz`ؿnF"&ݡ +h֑hu,0L!w^yGa^V =5=4w!T2dc.`{ff:V{OM0S} VCXX|5m.] 6В*[ .V(݌=ҕ} ǃɍGjڏBv|/%o6ֽLs׽r%?3Y"ukP lG| w),^ڬ iNq2a?$ _d.&Z=N#E>Sbga  >(]fdF4E>Zr˻W%Z@85+>A2AC0~/@uqQ<`gW9bsct S!J+Xwfvwp@aylYC f( 3}|ZehBdsu)3$H4mפdiy֩K{ ;cb7`M:KW]V5CǪm ߖyf3CzܣZ`%ɥy+e'G"԰g'pE E#:ezrNŎ4xn#}؊xJs k_lyf,:fE,LR[Fk`q=ٝUk+ZD]Cv qz`ց4ӅU։Лrc֊C8^\It,]?'@JkU%QZC?IF6-⌫p[x{Ek]`D-m6qJ9@~豺r(LI%d9 /߭ >辶uz}KZj@GiW\Y7paD|`pEָ꿰jʙl6WO~z鰑 |+O*qn?: j3S*'~&ݟ| `w -dSrҜQpI>}?TnA\r70ۅ-IĒ? lc `ok~3> g_r6@O -^{k#gx0">,N'qDrɄWAHmQ,bD^m?A 1}Y#{DTV/STϳ+-c2-]ѷyjo ;Acqȷ6jq&$TYD.VQ*7"1PP@K|X$Ohh,ƛkOZCZ ُFl *,g9>6%>H{&+ej ur:PVIS22}>N*TMbNhzJlWS?a08SI(3L'5넹nXlV-%fbcslmL ]O { @uG]Iլ":N@؁f=&GemF@]g#ѓBB|p򻖇e5=q*Hi=#C[ Dn-x$ s1(~@'qTY  u\0!l?ScIΛ9 2E ݺ̴{`ǁT$h0 4:<ۮvla+m#сѕHQnI^j*wM={ PGn8muUH% u<Ϸ└t7ͤת*5>d1hKhh7 4SGJ:f>U] lm}!*H.O*mf\~3X,3@'bjh{v+}{$Ee5jqmZ@}QY?Q"lwo6,%/TgrpO ],9l ' XE9_Y'|kzdBdc|8Wc%"J 'q "N +kCٟoBے49{r uhibNb!&yي/P*Plݰ0^׈i=#'1~?&k,u 䜌{z$#*dt7 նt) /D-H\k D5Ff8NUwB6C㰃j)$o_z:J Y]Vr7HE2Ԉ5TG;5B7dkM4t6U/ZPt/Ys֥5|vg?^L^-˩3h u|S ,2K$~!32Y,L"n,\v FPu=r%ơOIjEp{mh͉g'Na竗^bߏyb"&hޝGX7.3y!޳F i#9Y 0(}!~,ߥ"3Dո+YY[/{0QQj$b#헕91*% 'pt)^GhfՋf$%%4]i'\xYyA He |i)u.qAkFey1:uL2|jDAU,A&$7QίI&6eCͻ4rK1Yblg\MG^[s*نcF9\c_ ޹51z:Fg imnQE{%ki7|u5ȷPi@HlɑAR'I`뭗(e釖}ZkPiaa ^s$:Bq^i:\}HOa-nu>&0]q^1B}2F<1bhkT6|6:A^0nkw5V@be_]I8?`ރ$ن͚wՏ(>ð\ |قx WAE\ƪp]T 8%)f~Ήv: ;'y^AFتtNRv =՛Bq%O5QJ =[}η?~JQ")r MRηepZ EWۯVvS4Na_\%^|akk5&,T퀼v͌agw .9!?x-~\ Wl0м/sbDRxŽ 4scWQpEgvvBCHW#ƈ7T1Mf1Q_lqVⶏ#.gIGly}&( l<_D^W%y<|)(c}MG1 ttA:Rvi@KvDwżjS[v+&%KmDs.~`ϫE!B:*mSe'4{y"E؀=C)D PE:pz:ZYY1eZOs[N5AÄ@dtLJ6.CgֈFv-0t:83M0nFuC䎧L d!CPǮV>F1i&)-8^+jgg+*eHd˘NzErӣEv;¡txGLrl:@nQFRZ _b*FK-H B5Bb[~5H~3a'aJ1U40.0OAk>Fӽ]J?uEI?k(o޾ϟN#Л>еuR:6'A/MMp NV cT$ vPkzHx!D5 ;"P)@Mױ@՞OHH.7Tv ] yAąi.SEC -V&dU؃D%HƺZI/CRxT|\|UKRt/5An>0OX!b̫aue TS伅ToWI ߇+BO}s-'1(ι.w}_ JڢA(^of%{6Fr"&? SQZSrhC\4 -TqWEϐs3+u_* hXiۼ\!pOKLx°C(1phQI;PT蹲rȃ~0|ٜHǦ>GкΛφweg/pśMғchPb){:x+M3GMֲBYm `ONY漣S+#bwDu(˥ QvӚ)xjLN3SKxۄʳ\E*Y>؝'\3SFYma( i 3iNjV2h١k)7 M#ݡ2aHwFJwbH5N)8~~V0UkFyfy!LWWf(a[?' 3罎W4I@n(m6hZA2m/Ή"d+h 0!19ѼSϏLXO`E^Lr-SY6(RB^d/Z qE=|#7b1AS>(*1iO _}U1ɧ"3L8^/p"R}"o›^nfS]pf$)7 %bR+]TG¢oI*=q $fr77 VH'm\u XaCg~B-ޖ@PLATCh| 0:/aX cr7PM4^c~菰cq~1 f "5^"+*.Uۋ# AbPs?ǴǶHQ$1Z`]Mj_cq1cVn^(k-t4~:U<- i֊k!rLFq@KFv~ wIMKe.@&տ;JpAIuNA0]W?N0t&W  $"\ȣL=Nj>QmQ^28En6zމ3b]x#W]7`$kS1f;D @lDp֖c6p"٨g_%RkS&hm8qSWmNL`-L}$KS|iY%4;U}UuhcvD!Y4۱LQDF3/! ~B#X2"ucF/cE.*p,`;`ܧZYk(*A>n""Ҧ>}`U A$R(Y6D}) ytq;>C[v(;q.8!W4i.٨}V}Cbpu+;ɨarȨE?/s/Vaƚ7i FUyC 3ДYtPTֻTN6LC.^z0Ճ ,B{ۻ.ZiF_g&:=;ߘ3J.Ui˰/heXCh'h mGh\9dͷN\2 *fw)DgfthpLauR|Gfڥҍ*5Ԟ&b0@y٥vTWa A,ym1OM+9n5ihp 2bƐM/cp>mEi&E J(18fc7z=Ql=aV=&㽄o!)Pޙ1j5{/0, 4}!ݽ ov%p .-'Cs CT Ϊ2Vy#W;{0 d z`}+zmDfQ[%+fpPآf?o!D-ZMYiYQk鯩=@bŹCF… Eow/wGM&9mIT/_$6W4S/l%FbMf(ѱͺ|&i/.HZ]تzU(V`Jju%͎k2ˇo1tlv s&Q@H!ڊS8+ *USThUʚ\]V w''m+ݘ2!12; 4ެ<~J>kh3 |6it lpۖ笅}Ya7zosC\^6MQ5jy3kk8gٍ_܌Ar?gIufp1 h*&Xuv-oNqivE7nu]fښyoPadsf {s.j5}鼐3%u>/cFJeRwŐp톔QKTYXl`! 6gmP-"-T,`ܜ ȥtL㭃ζ%fv"=/q{2^$b2 ,\T3.GW.Q%:f_-3z춈뵹lMwgwISu!4&dáuuC<1M.9˜|/s-<"ӏtM Tm|zQ_5nOI"[TljNԃn ,m55gDf >ĬFG w-z-Ce\͆%!Mf+!CnIA$P^PLoW8$8ƯtB},M{x39ҟ[8UR! -G0}06lHbϥм9qlKZ0XMr)J$ -ɩiј<֘tLJgSK {/uSc.%@v e#x¹;Erf 5La$ z!e^Ik2!Çù(CmZ/<`/+4wX.jd#¨%Uae͸&HR8_ҷvۆ *Q`vJPa @\[BDߌm?B5u'XZDحMݎo!&p!%n`sniVHXV^er+~N/D(f! |Cn]G(ψ}9^e.*kQmO{Dz&|%vASq}`cЪɳi ]PI#ťVyׯb2F)nD-Q5,* p}>wI%*ʏӜ4 @Vq7>N3yhr~**6hݎFTןyj$l;Xλٕ-uZo.6~aDzyʯPEM`[Ƣ2,/lhb\n6Qy u)&V$HO ئ4ZL} H_02ąktO;>I4s,Ņ;jrn/\iq5#.TD!Բ=1j4i ֜S7R'a6+Ukʥ^7M3E1:EB31䐖goU Ǻo%EEajR5 1蓜^+]_}pSvH6ǖگ;tG#t>c)S}Qhţ) ^,f bcnFE ㊔Nf`pҋƤI^=`漧wx@4}0, `ʗ)Gl'uxgjTR=m|t3`B4\tG&) Z1.B-Rz~y,Uѭ#Qm= aLx1dy[s,,%q^x@1DdRy: ^>.¡t-b#|'KZ&xCq\FC,)\\gb#+r;j%q5_fx<Z enʹ#dVFZI'ъ!LU P;XR:;x3|`v%{W~ s12 pQ6wJ^$G4LyOe^"zoni 0">duzWY5U=_ʕ$jtqʠyw0sP*䫩SϝTZBP;OA3KF~L$Xco5?J}H 3"넕ƣ.:*ب.V/mKڱƗInuZJSEScP@åJHv{S1#L |M= vetYb!Pg TR l%1F'?ŠW;\oUSVr=F %>RnY**k}p^^sѥ\nwz`_KWKNYŪ|M(Xxat`Z W:ysձ?Q͍$V wk``tc{9q y|)˭g).ix3=uw$zÀj}ɥqJ3W8sq-8Ojg~4tkTao/c&G@ y}M*ղ!AW`&!:2 wd]&Ž[7x{jU9ON/ƀZz! xf%KɈJqW2 &^"KyZ>&nB`S!Ok }obώM tž|3n{*Cb0H %kr[7)"FLS-B?[ /L\"2Ls%CΙ)*#M+-"lqieD!yxiHSӿI {92tٕPM2{-snGm6Y}8eb ao^՞DΟA6$J pK/ǯ,a-ں7NLp= NzƤ72mCFÝ*mhːEy?lckF>Kl$.` ñ{_ц"Cj57Ej0+(0FQg~姚9q6b\-=<:lK~År lJcvjL& B d] D\OK/TEНX23,Dta)ܿWD.E{4"YLfr4ƭgyRi1\ M._棖dlY-A{LB߇}N0v+Y$ǧIJ@ n~JlKV_!Ѥ,°(=D+K҈D}]\1/E&E]Ρhzhf7uDў{I.ltyUymmF uO=%n_xcH&Pj92LoSI[4xڷwQU ~"@'Ũ*+&ZK'j~R7B^ ߗPDcYQ'[7fJi)6if;q416"oSHW֫(1yMp_'#V*hE魼>i2i7__4 4#EkTohZ`|Kg!,H$n(v6{"l=j_Un0W:KnsFAPɣ2$zZSg0Z$v "@]9:$0 ),K[ +sVD Wp~ƹcǦr0Dw_[gRB[c5)jط2)[VP7}N^րZX(h~qPFjv2&a٧6.""ױbUJڦTKɿj+N@4uh0? Nh{p+cJ ?I:r 8V stcL`- Ҽgo64Xz'Бo]t8*e.Rb&Id_ڄgcW%=]f4yrEg_RFJ/ mys_6 FN<l åt6w #6܊;/xSbY .(*oHPo?.#KJV; \9ᧁeN$g€||^VeiR~ҩrYx.Ms]8h%oK@T`- ,#b)30e?F:g8y Y bhm^h'Qmns@PD͖~iw>o2'%W"J&{Ō5s!m4<&9p60*_[\8V$fܕ鵑֋[lW#'%28 u)/1"9/[L,Ǥg-XHLC5LW{ʹDO?z.iCtb~= v]9h:u\xM#ܶp>UWp|AkV9 -s f7H-%0!Vvf_%w|\-|vwn1ʯFY#  lS/SJ;rxQF:вXvi0T ߭Wvt[e;(v#mT&+bP4W$]<@ozzKurltnM"ha VW2{uOjNβt7ΑfBpO?\;@nվdl?6'W SXjep#+w8q"|MlQ;~ |퇵Oy αɠlMcZK\ ǝ0 %jɰFg,bZ5a`d:lҜ[{Qi@z^WMzjdJME8ԫG*;Χܿu|Lgë[v y"R{no^Ϫ7H"XD夷xxm㰼ef(n|Upޫ6YћDFt=P6x.]A0Tg OYh ?{"=Լ6AiA 4fϞP)T%~uI+4 O@lEX(Ou.d0'xubD}0:(_sb2[,w{fSݚ, Fz3o[>aTw.tML%iO^FpE1E L}bAGk(" ̑&Cڒ~],o]y5imPCWX9 ӲشQ7|ΉaŅ@E ~5D@QXm㱷=PިBB #⬌˕5 1.d ]uRi*")ڈIMr-ߝZU]n F={OӾ';e 8|-U>Gml,,`m/[Cڥh6c Dx^W5FV WћVVpu/ͧ/ צ= ^p-(?w{^uFΜ*ecοooVxXjfRИeEZ2h#)/g[`m0YVn)}qWa<Fp'3woR8vGv~cN[ly֮Xrz[t:Is="v 1c֔QaT֞Mj\¿7T-_-@o!\QK_)4~őtǨg-"8 ݇!~`J%Y7ޚjF]/2}颅 ݪ~<c]y&Sӌ2],nl]9R!I`a'+CJ7^7 ]Ǜ+`@:t:+oɧCȆe@wWCwЯe}۳Ѥ[TwUXZeDJb*XF4t4 i0*wvi7 2w^?^{V~HA\5~4P𲶆tdMU68@Jˆ#ƞ.^> o9u睖#rwY*(mCgK@üS}^_-Rk] >L>\;%P]kEL0 V~E P׍X̷Ɵ˫Y{VD|?cvnݚ B*S@ނaXמSAoN cx pe0"Ȼ>U+҃0av ^Yr9* W,.z\i; 92Qۨ eQ0"CQmܭm LRbܝw$~]̚ħ3WT^Mdg>Z\n%ii9*ԍuHu;AWqX*P ЭRv`A=nRX5p~5 bn v_k>̿!L!Qn~()?H\f9~R~GO8nfX?.C ST-v> RZ.b^M4^#U{p(/Zr|٢],ӗORF4|u rҐL#o01G +5,n}#rGXt+Z%Z2 d|f~HT}1o#G]szY){TA"Gfu"*kn69祚 M4h=@2ELq+;Ɠ`eey]$,w~P5D{x9*`EL5ˆ5z`:[d{ۼb:_cVG7+Hnqҫ2lH0I ,(['EIִGESnhi«Cxæ`= ŪS[q@vUTEEpWd;GkP-OiO]v Ts8 +1An ^=ZtI6XX5PZ8^I`UN\[ZP|XGBU@n%նK_F2 :o*|T,&f=WR0!r?`ã?FB]2/7Ok #I0|?$">S;zpEГ?UYGdXVPlk ,sYä́,tf|Fd@-S ]X()"PΆAJґRX4WKv'n'ms:O%~W]M9j vpLVwYSe)w}/ۓpC;EBf _.vP5޸H]p;ivCKJO5g2d\c ƞ뢎>]Z=U >$iA֞) *MgaܩB٠₰ڔ@x.|\Q5˻DnHxclǤ֌ p >U#붊M{R+4[^D@8Y=4 &9P۳$@+7n36\.d府~ Lм*2vѽHR5*1JQ軦BwESwA` ,5,[bXw@ӷczPtDMDgl@#s%P BGvm9Sg.=TkYZa3&N*M~uP(6֏g%ejF>+yqgU~37].ɣf ]]IT[5U<~]j3"=U޾L_AŋB!"7QL2<"_9Jv@zwWuE{y& PIåcG97D(9iz֏M*K8ï !+*z{'"5=i$WtH-uh=II&x[hF׊Ug%ȩ/֔V:T]GZbG88z:<2>̤" oWv*cʃpc8xxBςM4Du %%J_oങףԬ>>Ls3ADm D,dIO!N%8>t:7OM'|4T@hIfH_ӵxLI$DCHr5 EH1y}% rہ _[1\+>T|_#t|= YhKKkVW[;ohH 4ybC":zŽ_rGWJf|'t^Lr /xK `EhQQ[Vd hR=v-Ƞj X/ ^-r }K'.В={6Ȯjτк^:ۙ;'Xmo,?tB4rɵ"Ú윚^>i$DFAiCIE)l`xR~/,zSe|MN1Uf +eDgǘ&C B@TGu~5>tm>.x-/%]C]L9j`=#$xE*PB#)پ `SObۤǍh_5F@/V ^-@`\wmtϊSO[Qp")1n7p^b Ny+qq0]߀߮bKz0 }# hhhľd9 ^<lP-r^Mt*Qo(w Y}lZWO7þT7|E*rA't'qPbomg򗵁2G,4cQ.@EİmXڵs-EpbeD/n)< )j"w 6!2'b˧dD p8 'bbsBe_`GJyeS2:FJV c&6 t_9&`eft VӰ/m$*Z@_fUP(RE$i/${VvzxsN?ֶQZ~*hzHrlZ^x-RKĂZ}рCcp2EtS#BO|uP'>]p P|`bl;+q'vaԭ(7`[t?Za-k^""lX9?¤OnX\x=Uwśze|h%I &s >^5(4;| dƸ7Zp0.FuC-o7\=n9\)G#'&" S $-D .vUGO!1f{]PcLykgH8۴(TZ=4~g8l f:tBh+8GpZ8Yu2mJ=(\4lS5:c)O? Ѥ[gp';vĂjdPŒa '"&XҶ48Ȣ5x_OM2 XEC @[pDQ5Wq@t@7W^ R4^b5p7:"sYCC@{ n)E[':8rF{b7IA𰱋ןxԥ,Bʟ: A̢؍Jsz!`4Y|jEhØnnqQ5NJ&c m?}97',وҟC|e,xh!:եPyveL|4{"H"H ko3҆2MԨ z{=QNE`vVEs L?n]ol.Y">YI9x4vX6 LU5nK+v2K`7TKLLW`;qۙG yu60$,) oƂ̾tK|P[u=Efڐ3dۅ>:lU\?]_Ģܭ%0yX"Kg/.UW2n|]|?M1gA5+8J(pᑻԖ٩WBa64VvER0NdG52Xww/&K2y,PyfZ{RS5{PLMʮv$yx~K$+7j>).([w%&we?SU3D&XwzP4hq!/-+Օ[G{9xIlfBwG2,yJu,iz  I^y k>_ZEɟ&VvUsSM[18ʍ6T?V¡7^[pK"/L#P!O76^GС&ʘ?Vc=ѓ+KT?۸X¡@zu5 8c8 ƚ:? Q *neHܜ#jjDj1" ,*PPg \F7JsIYzjܪkH1xDP1Ș(e|l0@:Ļ C;ݦ Iy9^qQe0Na CLr)Oy`k>c wala꘵՜ .1BX=b?I{xݤVF:~L'XY tꭃ=[D_Pla՟E~2M1݃d'` 75Gn57hqn2H.!gAtGqGWZ|%JX奕ʅQJx˱`g#HkYtw?hR fzA" WG"[Tv'$Z}!Qpţ69f Z{!^.O@W"j6PQP[s,E\??ȫ'q:16 t0ש Ӿ}4)mZ7, {(m+ZM ԯ{gY5UjKӟ5\FhX0 Db_jVW%{2A)W"i*C ؊G<hyVCV}%D 6A* ;IHk!'ۺi''۱/ #h,1͏Meh]rOs-K> =!*|T^LxYkh^ q-Vuo=dGGF/Zca& .J@@*bm4eEո7T;;byJWb?7 !(CZ5# _-I,w؎V^zgc*}Z.Ip>C,!HO*v\۞0;`Br h|U WJ,nyX Js8n*q r-%!ܓ;^gYj1Ơj~O%s{w0>Xټ)\W|@o:?Bަ(NDٖKpDÑT[uE df 2̀'ؤ\0벻79໻0L[e"tp6UtҦi?P=Tr .m6)q 2[pHOكSQI8ִ5O&%XXg;0K^> _c>ە͝J_: tp&t[ W9"D&)GΤ|ob#M&pM?#k$%'U*}?S<26 > ehQo:ܝQ |P.MD A  .6WeqB_~qlghw957Ҵ`i&]Q1x8i?kaNQk)"ضE9:VYɬ9(G"'OwC2[$nP2ER#8I52p+[Z Ъ] un##m>; 0c'WCZX#mv/NB=MM` /UĪ 9\k! X[^ɜѾ-æy %JThJ( 8 (xQ掦Mu-Ud5G^/K6fq~'^uSc i\: 욹rrs5<UN~l_q3N?Cz}-Me?Fl  w0@MLcT5j ܶ5$\mVw6QC"0&.`4B<:HqLGBP*]faڈ`>]CPB2 ^? QR,]Dd Tϼi="ᰩKME?;#,͢fQIiAJ[4F- $6QWnpk #߬yr]ÄLy0PZ Xem} ׼cFv=|Fq3\,Е#חܨۂ/&@;ޕ"k,Ԉ{A4K%yXmہHyF&X'xz6 )IMw*O昂G?ڒC3 y[Op7%m碭馁չtv)@-/Ԩ_hS42hL6WjxHk)W@m˽^ $4:`jUep9}s=i߱52l-̨oL2글?WS@ »͞-FXS$ = ]b:0eѢ}\q1K2[nAeZQ%Fq+CP NWˊ̎@o~QD`c[+ˡR4^_$ ]{}77#lQ$<[~aWY=t3Nп%h C#gd*xix Z4|&#EX^{]DY|-c~'v{݈4<4 J96ڶKsu:5bB.BWDpy)(6MmVc>,6 jxFH4@;IO^٤Ld5٘`B -nt,H4)\iKFX ۫vd cYy7``4N;NQVłἼ t~L/ }` UytuAȻ_UyWLQkLPf9T{-}U!PFYsqqf㥛7䗢Pe e"DWo`uzs͘<`hizpsCgL1v=Bh2F.{dRgc0v?ԤY'ʏ0!Gıa3݊ebp}Y%6@85<4F}y*`g 얮n 'i&f\-zrW<;7i!iX5mdqeC,u%p+bB9W-vn,~}R*ښI5̽voJgr{ ۍ|>k[%U nB7//&kn!+Edg裄3eou"=d~*kZnIY'0h w.b0HT"r͈ڀÏj?a NAG<.q -u,.x#297| *.^ 5gUvx9mB#!!k@ǍzVV*VU?HllMSX[ܒ&g%?"L8ivF_gM\x0k&LiU@-p`" \?Ln=N9FbXs%|UEhM{ցKr1S4ߦGyߦOT/Zz1$ǯjWߥv苾2Uj׫+R:pN U9GÆoZFNros@ ,7 2f`J=z"h?ߔATͮawo`v$˳ CWuv¿gAL*6eL܄vOƘ?b QɎoRzZ,W đ]cHNK{Ӟ9O60"U/e {<|tg4Ig1ܐ+qp+Ktcd|qOafwi[Xj CTؓ,%$̓yhihBA^"dm6ZZୠ8/0lv_j[H JBu֌qvT(|&38WЃ$A#&)gg%Ub4ϋ|ɍuν"6,}qA8tT[Z"fPn W-m (Hz爃 v* y=ƗjPo &\ސpt“f;m>jxbSQ{5q񟾤8Yeǔzp;E .Q :q7LBS ANPx> ./\$Z) УߥJMۖ!Vo*Y5NC=K4+9c: +߻Eٔ,k;olژǀMX۾&zՈ=B\a>@ =a*/ =+5Yu kvjXN8 zaaX>XrTٿt@I $X$ F3+sLSRA"kɒiyϜ&utIQgQ5Ry%"O1ޡH{ 6|]USkͮH!Y)m+kű)tO.^|WλgY,`*̸py%&^7tOe"+GNɕ{eVp*Q4q=:o V0^VBIc闒n 2ö̴{kϸ&_Q[doČ# \S!/ v08~_ƹZ,&>9 >^D0P:Ë}Qx4R0Y*IQr[byUXl(7S.7F$oOTԛ kl!:$?W0ImS4@7asm9,J+ VS@B%$em|t&ʔ'|; g[ZޝH;Yh:&}czD2~+q, ժ\caZbw6j`}($9 *":U+F&_ڟAA90G} d-d:eqMnJvrC[{\W3 B)۬% h7"Ej+vO-9,Őb9ڣBkPz8o16{:ڰ}4_}Wy8bl{m`Tsw\! QӮ"ۆow\zw/븚5$%N %;mٍ^gT"{']uHUfcG^I9OxR ^9ܣkۊt.I9Ǟ,-|ng4i(*ZM?g|跧gsD ok[Gn:y=/}@eaT,vFo FY?4ҋG 5 택"q^UFCԓkg"W ZN.EOkk꘦)nSIc}S!5`i0e_+53e QR&C/@|ۘZ\īE3Q)7[9Zk :l1s|Υ0=V>y~3edyRLSBj臺B;E&xy7s#w$ C[DF:&󄋋==.*QƓ,'xas +=Т{2Q -RL}M~vI|Sū V!`#հC" :nh:?n3CĜ 5,pOMHt8*k5m*B 3 mCk :r@%=e*$9 ol3gd;41qX[F Z#wZYusQR0bFt`cx.'+YűH]ȶgO`g:wAG Q"Є[d5Mk9LJ l׭s H$6ūhyRJn1F.gPB/FoCWXKp;-UA|߽ٗ5 e#-Ir~MYNb0B- ?e5%WJ}>kd sҔ0LAxjȌήZ1f}N q5f̳.#E?\ :KC!Ձ; |6qWMqCÏo"$a*灁 Ssľ̦H$C,Q"D f`wK Ssok2E˥~ݤ>|=4Ua MIR'Xaf#uv$E bTS&CdĞ>0&#ȱnOJaaj:A;Y:A6]餓4\E.;v73m$]׌vY/9\|G>" 0\ʭ VX.ѯn^qҁiffRe吙byJ;%-}6| }}Ou17<ִRoaMec<ޘ02^N@sF՘5 ~Ga `s qpN>U%#Ar>v̧?}Fkakħ-_{?e][ @ WYK-%')pw,&(^1rdu V8|;l$M7Е}!yi[׋ؕkUjGS/Py`S~ Tw\`2E+J$JD@f7@ͪZn E0'a*V%_CW[DQC3aQdDY9 ;e\AhgG,nmoXzneWI P q6 .tPg1~`{Т4*>Ǿ%,!JM~ ]q§^nH>Jѱ 5/_~^fuwDYT1P)"G T0ɂ5+\GHc KHNOV8-w)w*76PSrݫuDg,|tBC+$F&Y%2̢[0o}JF~䖡6eFG'6?$IyaIL՜ 8jkkV9|$l/C >N MCt=&=@O潉EDy=@۰"TTU>wGpX3Z%?<}s!R˛9Don`Dtac"oHP1?vXˈ D0ba#l8n1={M`gۦ\Is8}RY.A+5{`1FS_3LR1/àF*rpmp@K9ǴboJbһKgZ|ׅ)bňBlqj PQ;"LG ?3gI y*\ ]Yo*/ ~?ZV!qk_f?Bf$LNxTkx `rM .ƙ(,/޵A:#Cɯ1F,8Z o_nJ>K4/Ѫ@d;Mu{I>Ԛq nK<ǧڦ">Ad_f&`Dq{]] 1jj94i?bVwܠ4,[ϳ9̾PMd7\)e%tk65d&Qi'OκVBd3qfShGg9h7%0i6?ac]4%  [e}9qlwBtKG45gFVġ6 %ٹ>VY mE}fJY(#̮e{uPkk:,)^1{! 8K }o #H )N}X8݉8YЅg蛰9zILIlh–)<<2%E~2P@QHLkIY ׉aV~`E)HsULpho!J3Ɣb({ud|7L&؛"S|KXz>5E< kG$˯9c wUB6 ˘US熬ٴB wLĹ 18! 5mЬ-t'Bgb7b-6M-. I p4l`6І(!13m04S$ s423 9v( feGe? /Uv&ԷP{+k`!+3ǠOtYpRP<1 <[ .S"f\-΂fGt}璻 *&5%L`;_ }4[wol^+0q.#H:)|CgY!JD X'g "y - / Jr ǥ>}W#9FCORJ"]T_J|_`H^G'ROF45s{ @=U?ւ0g \*ڬ#'l"J'Ispj#5iSո 4Mr綴K#Ǵ @#YbP<ī1*r?C_3"^Z' OՐ.AZl% B+Se/*ƥUŭ_e'K  w0q$z7ُcr ~d jStHAb-ANPjuQ%ͫkjC! !ݟvuQUx"! Tm8'}e'+X?G<0@ =S_OYhofl[1 (7%Z C`k.cy5+z9Y YyzYa:Qx #{W{Q ;Ռl/^]^p6wj (Xx1" fsc}s#ѐv@r+ph45tOrQC~r9C3}eB':+i+~xwE: /V)&DySU׌,{g߆x$SjVd|[S~`'9Ncbӌfv9 40"}> !2&10^$ݛu;:{XrWJG O@Y׈a쫙v_sܙ94W6O1-S~|I'֦@DG5޶gC1kgFP<69Frd{.[Y)mCي"v0w r&_ ̑V-1ݏȴf$dն Q/O~G_Tv@*M i꾃CF hΐbӏ" /j,' LjLع-jwʺ^gjit لHk7KsQCL !<[aj ]P-RPv\Z+?QCQKw(5GǨ1:lmkO?.Y7#il Np;b[#us[}qw{hcZm$L{_ i gt)ŕj%] ䷶W=iP(s_ bHA9F"1sT^>ϥ"OzZ:{/.̞Uy}nn,c]ebW{ST !f>=!~HB?Ұt EoleЇ k _B˞%שxeX"?bt1 DM7-nɨc-6kh7 \D&KӤ[xG+'l>%*#&P8jWrCj_3q!hyYpc`:q8cB+co*_&_csgIũITXHSXbtl&uBO/aE|dG?؋A蓮U*E3n-lYg0_|5\mV(r WP!}y|L]:+ Hf g61 HOySһFvYVʬ2=v3+} ^^WG#%"j&<P%rOД-ro ">W h{vwuC&[lc@5bApcAIq/ImzF\ܑ~of?7>AAwLJn4kAJmĿ~'y׋;1 %KK ߝ>fki;^$#;~uDEcb#rPƆXA 7H:Z;*-W[}2s*,7>" _28Ŕ##L&v#>кS.ʛTYSdz9h--tK#bjw:+.7WnLŮAh[/jcwvt,鍓 AzyR?Eq3g+-a0GRLm8J >z d)e[c+x]EliRYegNFԳ F*oҬ6]98VbaG/n/!oM"U ܏v[43k sk|߄xT0KDž;@Y1|Ď]>am _ӂFRpSpqRo|nKTP̚_QNܝ`<6Ԁ2w\:6A(&.XL:eA毺ze - 1)D>U="?Ou3OiNrWr5(d]ʋMfܟz#?з< ?Ͷ lҊ2iԡf_h:J!tL9gV` uR:@g%ON*1wz4)=*˱ N/**gʼnya]{(#oql2S4zV[G~\$f_TAʝAͤHa!rԫ #5~ẘ5XxфH= E[dV6q^v!e{Fx96BՕgd z&xrlSt^zϖHnJRc+U[);UvXv$Y2}j@T"@ rE*@(%qāI`:Zd Xcԓb+m-q9tgi_eg)uAClp8sX}VD:\:BJPb?VP/}zN + -%ޙ ן*[/;A/`D Xdkb1nz"u;4n^HjY#GIgt{QoW#T+ IĝHS:XDZo\-`,-cSSpWeZg1v6p[%\2IHvlR.,Pƾˡ:x7˴;BɂNKg:VbGjOj$_pV 948zia>5#9RQ5vJGJeD Qe@LOdm6k'@9DԔ9t5*gՌ94`7-r{_3H+;dUov5aZ@4jR4fr[sW5ޕAw{ ZIstmLYh="u4NܭR ed z7f|+ N?5nñ t x'V 8g|̢o5]:9f@gݞ`^s9ْt֠MYzNdc[O^Wɪfygz$3^v`!x Q8э- lDŞ,ItevI7 I`G9첃MF+!̽cXǏQCɄ/1 JgU(CMk2I0 Rן n[ư'F--FW~]ӭ;𩗫ʦQr`8O֟]0gh@;Õ{,Qw{(kT 3രxAN~~1vl^ݛY-7p6ύb<4  T2*t iW(u~OKcYX!BdY>%G ݢ\dsxNRL?c!f;qSnq"|[rNoXrK rP?bHyR~~ե&Mⓟw.$զDIB-E12檥iȇ#<1qό~C@ǙX6XJloӸ.Qpg?DT❀YRfɒDX6_ӮXNx<{;M9v:LD,k"$a  @wQyaefkai6ޜS~T}'۳s#WETG8qDNmRM_l0ˣI8D /)FvU ?i2j\Y.WӲKȸ&/%}W`#+r*Kӿ@idlAE-5aSAny+#&וZϮx;#֩u{u嚠xNևVVѰ3e_J:n{uO Ą#Rqn dziK!^2(0b!PV_ JL (鉵S( BŘ'1n8j~9Ø('`I>h64 5o`s[l9#ho*]{zz=;3iIQ$" p_c♴l94d5il$q[i7O \_UTx]{`enU{D#/#M9SLj:7,鑍:SMWp2q%/\֞,,rej@FLRF{uB统 (E }2B3" ":Pn~R8Zn}/׬ؾhFӗGʽ VR.\a Ɯ.au<ۗ]2RcF4tB$6 F{F0{P &( VeEH 7*ki{j֓5Sg/ިA7@0),jUp27dpWV\`EF6\%o7^ׁ%E}Ntg"SM;h96;.OYm 2љ[D~A@Mw`lXYI!JZC J=g?.+ ^ThOq\ޯ5jZgQڸ,'̛z:KCbÙ cgxB4}+vZb)[J7. :" q$Э}_6;)Mc&v.T?+ǟ2!a^`UQ ֣Iuiޕ_SdeCMsiϔ Em'A+"(~ӳ׳Qꎮ_ Qv_3gQB^*jB my$*`+)gZvǹl_gqRs K VЕQd8G?\+h 4/) mˋU-(HF ^AOD'3dVf MT?!t 9ucU T?EW-"Q$-0f^)(:hr^aBfjhhDr~G]sזjr=DSx+Reh"q,)d[ohCd>w?p=;cCv~=7J ݊7ͬ2!")~MB:rЗ8`eBaT}`4ɊT+:>y0's3cv^Edc=өJO[dn&;NF$Y^)*?M5[2#5 9AZoU0`D5C5  DX7oEݏG{wUh8=өxIdjAwR%&#+6PΫ$ms zZ&mu!I]37Es:fltY; x -QQMBv iu/G؇QZrHl/5q|*).ZtT>n'Ֆ\,oYSg&8W0E6lQWҦkaƂev'4}gyl>,"N9i(^j.W͐*\ }D5Ak)VF'tOʃK!r?gpnѮ IAĊY =_&LD*#RLOO$Z0kd GZ;z/dPMqrfye fߜ5:{g9&] }UXccX1pVHZ##AJ*!\^7h~_i`w6bn>;N*IEu-"afռ_CYV=̭#nd4{[Ma{6/V|y':jڀ .K"#)p#_0!s\Kymʔ{5f{?=I3@z8b^iMV/w,+p$dv)_U/ޟا+TೣO;BA9-ؽT= _slUlEuSasr$|-+E sUu\]lZwnd|- rso7xe-YŒQ[U(=\n7>k ,<] I 2}JCDy[!͐K(NV,b]Pa[P9e$o{J~JE­Im- iE]{qQ(2sV<\iI)%ad|"bqmSnA#"Ȫw$2<ĜmX"faLzexS 5m3")ƜpPUΘ` 4Rd񚿢9 \79Ň Y'?j p&m|HKSvKZ[lc [/Ŧۤ%ݜtBDU+qPIgcsH:׳0jÜ 3ި\ޜ@}=,Os-NWGボAG yҺRnQQ*ׇr5usR(r>b*`վ{GÇlq3H*!\E&zgU\8&$gOrZ 9rn` `thPpEH{Lr5J/h}1q +vGn0 ŊFt(]<45I]Pnj0Kշ 䗔:3U5ֺ;O#ǡqS/sӋ#*3]ZxiVڢWj"Dz$^-pkZܒ1B;i|OoC\Çd@R]z̰v9\l`7Q -!$eP¦L5O;~N!ك]^) eA"`θ?jr-X[x熛4ă+FJV5otAOE"dMk0YQSji^zaw-Nx MГ"qc#,ȗRmAJP='L a[.?ֶ@_Y{~&yY3г@;e uM|DhHR0j'S'5I=1|Zh@ۛ#p-wE2ن~,.Л6R9qC-vipS[+j&Я\漝"HHu3f<ȭY8bnG@v5JJl b: 9gBC{5Vo*>Kt?BHm庵zF`\Ӗ&OG63x§ bm`V"Pg99T74]/~yx5 ^,a%"p,\`VSor!Rq|ƳAJ/**m hCtCLiЬ]Y)h9'>R_Z"2&֍fi(K !L]v}@'Aգ8.n,(8O^2$.j?# Pn"řڙBW%>J#DqZ۩; HA;QU1ٺct%`67| y^FgMqd |h Z'奙M^3+1.])RېP$fTU|5tug6[O k ^ݫ.q8D™b°rKI9QpjtMӁHϟ:*& Hh9Kf41.H\G2n=:jx 9=:H)øJ/`4ngW5.Ѷv'&\p6yVlBd"l߸OUOU1ĺ>ī*ClhH3βMKOX (3EoCd;*nTA |J(u}3hm}SXnzOB.X8LcQ+vE d3^,44U:6(lS^W#BaVS9G9!H< |]%O:T~ D)1schrc?Η?E uܯƃnӲPVL,{ylU0*,3I#Q~)ǀIFc:%MlWjz\; t=L_)O T<Ic,0q/!up)U̴*ƨɊ s_vl6o^6PHؿVwP#? 17bݒlNtUht%1̴=߈~G5k+(4þVا4FZ,-+?/A4_e.F OjٸxD,=2cjt}',c]Gd(xƒt#sUOdAX#lO$pG[w;==:LGP7/( 'Ւ͑@`5Rxi\ k\4Hp ʡC;%&+d$!+ M:iXAx\X@l ^krڽEKYוĘ Q9]{>j\\< (dN%5>6'y!s4vBp4~#'%$hh=ISG̡Uh  !.:mV$,E KH wqx}+̃z852 ` /&ˇM 4on'Bɰ/ȃj$ǮG݆:K6qN<ܼOXR ?hڍ./ ~'8vo.Ķa:ph@ڝ[Xr< v<$B.7Τ l(LAo= s=T?+.B;j*c FS?I5 Ri ,NQU)RAc?'ɹ Frfŭ@oЊz@4kT_xp \NElx<W> (X`FvQLp#wG0iVh9UংpjL '_pzh#Qㄪ壄}YVow6ʯ>qdh@!aܰ<t1m~)U 2 0' yؐC ͭ6k /A Iޖ*;Z ! '\/&fɍ p!= =t?q9o>sS?#[>1t< +ą(~)NԷ g\/jxXގز v?4ӴiVagwYhplB<6hrq VJ ˨). m=dB.g>0z{$ΝMJd(B;sTt:iutm^kYJSBnfpW;raVHAK{e@_z!\gl`S=V;4^\KIS‚CDPɝQ 0QayvWl3`z1^X ss,ZzPf!l$˞٣bBz'"η]Ǽv&~$^1HiSu=M:sW΢i+>ӕ d&I$#,} U!]wsn=$ ^L떶غ1牢>߼W(UkXiǕg:Qz=bZ!¨ j+;ZzWp!(ZҵzϲכdPmKuհh v R;oI dǕ_۷ԴDifPRџ΢L}]ɚ^~2t uR_!y aOVFݪR$IBRJxi7:Du m!N_ǝf-G )\ Ƭ,Q0Xc7f 9`O2q0건 ?PJkӖY Ȏ6 J>q@I37je+ X?C#k=J]^Y+d* %",}uM/"POQ3hC@'N|dd Qq:-0^}٬n^`a.GRG9ot˼1l 2%FAE)tm֊+]oP$@NbYmw[:WpNIy(`$e[?aHǁ CW>c4s՘sw@j+~wGl?b~Me"A^“Dk`@?8ˬ_J 'Ol]ș?|h NSsLCR }x3 LyZl+!3m~^S4kdBh%$i!!:DyaސPfIŘ?@*Ef_gG+XrѨ͟o!Zkv5Jصӏq}w Ŀ(PLNM,-؋ў {IA{I/KMBZP@Ҝ8OwCg[99?e27]AǝLo6ˏ- ͋-6>84yg`Td[j섮r1\/UixD ?h딉Iqx_ [SDXe =F{N@|d)JeǝyvV+czei7 #s #5I NbbEsWvkQ#[3ǩ(X݁>k&~ :[͉I0[Y4@~ :j)\^B>93G7,DBIj\(1fT 񷆣 ׭=?rGA4I0j,nL)N[{o[̩tLoGPh0H)uwC>8h+77ޯ\Ӿ%eUl m=v\B9T+r7 r}w>bH )u{06h=i`Wi%`HC2lb.iu1n{bNkܠ/|8H ;9\W,)zVH{r\omOvdKDdwґt=yԷզ%=BM 3'td9\>ǽEXK]Y:1G^T   [0 g/X.O8 1SJy`5-L $XjdJv4ұm1tr*bBۥZ.Auᝀ7 \b #vy"* 'm(W9slå&KbU[&k">ΐ`.Tj)D J`[W$/ۙ P>n}cAS )&BWQxK[!nmG0~k;7P_/>m3 KKոW6IgS \ gIڸ„q;-?Y}H#c$}Ulg&V -.eh[ia䬸 W#}K@Ӑ_UoSى*ɯbeROvq@+CKtpؐ;d/c]~b8-:`fOd_I= }]/P`rEtG)` ص$0TΉ5Cx5Sȹh{D:fn0 ?{j\SJܺSȯwD!SlFGYtB4 rKi/u~tOyE)+ne1yd_ 6PZ "r?aSc^|8)PK}7f+? X'%`SnN.aX0̉ W ݥfCvE9zw{蛝⶘`1>Kd[Hĵi4?~aH4fZGjOSF k`^^AC۰"w]mgMԩ\X[(.~w?sIN'K?t TO -ւ61=F2~U"[^פ@ Q%\oqh\ [בt6`CRzҝ}~#6 X'O%H6ƟB.>;듃݋hK"sOgKI}{hG7ư;f5cRmBƌF-χPHŪDJ+FKh>]C (=# {k5FDZi @e9 G ȔJ$7{~f&8Z"H=shJBY*Cfy/C>צzے#(ܓ=˂ߘ4y ;|2f"ΨH S=/f%ý&E!{y's{Yǧ^+~+1"mdX5裇Q 5l>>hٽ@_,ۆQ6JÚ0;vM2 .(VR;z:1Qf"J]+3TI LϳUnGYًʇD v(-t3T1~7cmıﰿn^Edܡ#opmkq.1q2pzbVu'O8C-\fDK(5"%CU$kF*϶[ZVG"(gndvy[/Z8 $ͺЗeDU^nQ +'O ^8(w?³z"m B`JOҤ<C;dH:_Yg:&e2(?״fʃ{}xx}ݧhν]UkLBuM\`)u1]@&fapޣ=:Y(5 \H)b'OX4)kXAE=m0k9.oRa&% Â?T\cD40lKV`ip!2I:q/>kMc<ٵMK*Y6,p7c"4ɦw6W6IaiVKǐ< 6ܯE;g}x]0v =qxijy8Sz~A'Uf.JF.9CO8h; 3|[!!2u!U)t^*8#JM*׷wѡw1e}2q';!y0 ՔG֞eET(<[3],8#n+^-B'70Gڳe$ʙZ||x;PElj \k(zՋ~6Ov?3}&Ե!uG/~a{]4@^efk* ,ZXKV2NMݜH(GwͶ5#ϸ{Qh/)1^)p Oyk[r8n-t״A?)4&T@O#{=d@h0WOV#0ߺR@i%щAn6ح>^mDOt"s˪o<8z_Mp7-vqYEE ޑY"4C[hw%V2+*0"^ݢ=krh{`W= Տ^dz[CoRObf-uv/?" ⣴ mT^ ;IJf5nnW ;k! ʿ{UdžyhG22a] ?`f9<*2bq A*k? SS&ku]M0Wg{8KHVptCǥZ+[ӬfbPK(Fy@my8-I G?V֊quW/|nn$AN=NDspL[pGMP4gzčd {VO}5PxUꕸBה@y~ FVQhY#9!}?7a?+(*k n!yf4z ϭhMQʧXs~ϞFE?(;o@ūqJ 2`bw@hU#=w͔A {45P=;\ϰ:<0+0ǐ(bg=]\iK.#eVYkiLږ\C,s!mF%QUV* 㜸ׄrk8F^)k%Ƃ#n7-TacwW2`M8AKs6&geΔ& z FQqyh=ŋ=PuFeӢhѱy´}.ecZ4}lg붔'.1CMP$TKtb5&͌rr^2 +l> -Ye ?rRO9¾`Xw֝\CX_,3j*s:|exxd©^cY9e 0,Cc1S>]N gAg0v;b9oS:p}iA3M+$6y5"#? pJHT.y~7!> N !KS5S;%#kV!Gn@e@SFѶf\WG@f) .o䝀 O?M\q4\QueF_rD#\`(B&Tӂͭ^8V}zGlOLW-zb{RvwAI`jenO@&n;JB$p_2: $ɕ)P\)ro0%H/&+<|JqȱK8Hfz UUfj3U,q>FldMfGZjުvl9y*e:{ƩPT}8(ș'.8ͣ<Xc0wv"LVhDxlA * i?sTg71~4֊hh;='KT9ڃOwV}ɱOOF_.BQOW0 I ZYRVJ0hSoh%NSGE OP+1%ad߫1I<2C e:=̍~Y#-rSGʖBJ6^`%م|#B4fozKck躝Lj(8P`KлhrKaSp߂?tZv1x>`UaoTN-J WȇFysa}:wcun2}A큘^>,NG8ss$~"\ĂT4?PrJ 6eqw%X&#s+cjsvyax+ DM,]`G]۶6(khݠ uf/cn:YEʑ#\GҀ-@vM~<}r ~fǓ0ݫ1r̪$7"P'sb(c]RD\!j/:Y;x{>b]ϥnz@u?ZU9Kl˕oVYCU׫}| .i 8ƀaqK5Qcګ AKkף1sJ!+*s r/{[nH-5aϣŬ!ö+ łԸk1.B䋇,po̵IъEJcOrM#$k^Pĭ 5apv&7GԱwC;};Jv3jsӡabߥY\e@_ؒE&;-C"II6%\;~JioДӒ4A'N'8BmΦV" ^^P{t VAiG [@zrq6*OR%VH[$ <";־d~;Nkw5{ ^NAtHb {[(H ,@U 7^t̯Q%GI_hX]eNitd߀5=W!A-`n^+!' #B8Qȴo'ܾ L}*̘$6.bQ_\;VuUQ@`w Õ?ag\ ێj5S:7!Hb ʔ(m<-JОzN}t|.n 햭$&NLNx[P5i0J⽊4AyN?%@g\5Hˉ>"Qa-*&zCbIHEFIPDG>ob4_R޸/T-ɑl;#3-һɢvC0^0Ć?+{O1 T_ql/S 6ljݐPlF}g_ [ a+{сjRH7Y!r9/'Uʌ2}Z PzF,.ҁ>O`G `o@uם`kuls^ED}-ǧ@S[ZH탸+Fp 5|>km8DیPݷέK-ndy2~"z]r!T>b O;Q\BlN%^}Tb%y}=7eoM~_%1_H(]麝/\Э, Ƚ>ߖf"}3FZ*OC65';q3sA3>f@ZKhiwjC^+Hg9'zOj*G"I*8=+>R2NlQp7Wv! *C5^…z5y|=Ӽ dāU;uϥ:`ېNbu}K<WPRS6B_)G`)*'" Ĥ=BBX = םl<*8_|_DH[͢HJ6ihT ( Mȕ,QE%Na@TE9##۳P2w"2k~2okK'F,2>QSK`eH&sL]ۄGqUyʔ$O]h։W[G^&8r:LF,L{%MSgrs#,M-`fJ^,F%3Õ !lZ`X;pc `"Qz0"!xU*l:;rDwaܰϲR ݝ`!2VsfD=4QB)^@{2F wJio1wvUlgD QC4{|ݫ4-Uw:y_qlݹ;6H`f |ἃE4|R7}W4 8VqZv z&4 K0?0 O@ ;N͛C.H,pAd^r=~S%ﰖ;Q#gKAH~=EfA?D䍿oOV@mL/{%r,%ޤ7?4e׮΅ ^N+fC?/VΩ^jf-B *Ws I pg:DUNG~TRLs YPڦѱg~lD];*?(St @>Y56vє#ܻ5wjTpM}z^BNk*I,\GAUp(ЍVh_Kbs_@]\Ig?oWbrj+/boAě_MSjq7lJw3M".x}kpx7,iS&` a!fLM_q/E!hIf7spBlXhEhC=Q}DΔO/I"ec/Z>\}y:ki!H*$ָǺ:OUdzh:a0(W WзBe5g/޳Ѽ˒whޜ(΋\8uϝw ,}eer?9ȗ 8#A"s4e26 I m:[C;۪.l[S뜰~2K|1NؼI['ef߈,%(Xwxb_T {Q BJ._(x¯}yM`.n2`oe,eS<3:&{nM@Cl'ěA5Ʃy 6pD] ҍgݏ`g$Х#QF240^lyA%1 o2 5"H J7R:0-vdSğ48݀uDOj~^p-? # hoCqT-v"UWՕVYJ1 Gp^vPb9sy?$||)`(Sa+u '~*%r{IT VqRl0<"Kf= ܣ:No0+hWL;(%sRgp?x?6Ѯ}C֚5g*CNS#6&$P<ѿ"g9kN;ß(:Uc\:PKMMPOoORO KƢ)˧2w'&oɳcjNod9bAV_>Qŋ{r?%nYwA.uS똜/m(6ڇ;sI8_ j᩻[+.$9Gijq:ŗ)-ztɑ?TzVTX'].Q$P&?Ϥ\4OQZU YlH\V9[mV%DŽ4/#,u EL@vNuG& Bʩajzg$)AZ[49H5A@yH fjl^rGa4*EU4u& X-\$,gq}l?Ф#1"}4odĮH^ek~5dFFA62 )#̨!^\?5Lʕ,׈-x/*rMt|\d?twAi*TQÃ:{hH'jg%:';>j8)4õrI$T^2fU(e膶>lfxmFw n .,R0ْ,A⮧,ɇ^ aǭek@i鐜Kc!=* bM x X[_g6#a`氡о9YЏQ*7:8zpC[_ׁzv$25)H]SG֖M|\Rt7*8Ovw$:ψJ 'mcY#H"&Nin%F=`mt2,oSN8tP癭Q)p7L\\ ۶Mg,DǶjj؎M\3v;T뗒IӄH 0^L!k=@8 Vة97aYsRbZJ|aUEt}9)J$̉/\< ]g|-!CfEPQ() >{jR*'s˫ $9ʹ~^ah&} i fBȨ>I]uބ2 .>fF8;aqn^.5dvI>/Ɖ6S>5-f iv.3-hОʅE&HeڱS#{3Ip:rzQ-B(0hd` Iv0 4'~ `,gڎlFM; iU×AY2%?jdg$Ԡ:9y|b>Ӡk gMj4Z<#y6.EkfqTV2 1{cD6gF_S?V&Rk:ZAnM:F @FojرoC˙$i[ Ʀ;o~tvf] {6Hc-\pI c~fPA{%Gz^ſ6 d 5k#VU:۩o03M:ɑ@H<@ k"h¬l@^OYTx=G#y_gsiIƒ-UvHǺyobmlgS=(+&K) r3ܤD JYw#0j\i <_ޥ\/,rM.(%N_T.x3vE6{x!a3DvܦK]q(ng0/B 4qPϩ#aEf3?*P Vz^ckz9L©p {G^|ơ 5V -%F1VŘAB%HaW[3ͧ׭t* V?LjCEW)ktJȁ? (Qy/#Yrwk{`epS (N\W_wŮ(eӻa0 ~a¼mJxa'i/H x h]ziUm-_}#~an5"1J9mAA&l@L÷,@Ktz.jN#5# H07Lth;]lP GjYljO{ :qXJB&ƻqw^t6"#/Y}D(c(42p2 #Du>Yl*!mnpRnrYep Ĕ+C=d "b$`P."f6׃q9[,? Ya»&2 -+V=Lavbb4hҔ{K2v51Kv&sD,^"齃+)Qt1%%ᄤfX^vΗ2SGZ,+8qaY~x \##w~qS-2k)BK;lOSZNBH5Ltc&?6޴PdOɄrMs)@һNp]U8INywzߚ9V-HP2yUG3[< ;n#]Tm`Ju4|BEm<^~~|jfVlbu-],^`nGDi9 Vrs6͋[sn>c`NY^w1aJĮ* i]T,~ƃS;ťA{?i뷶fkuce+(Mr7No dtsyUFu_95Ÿ&EKyvsm=p7绝zCZI8["`tca1YKя6rn~U cF-]]dkSifz4Po%rG:$SS4(Vu/ܛ~*Ő|<Γ\w{ޢț!Kcn'_^#k @ݖ9͚aKZR;?ȹԋ;ؑĸgb8p鞉1O8JMc !˷eygCY`U5Fm)^@JJ"KI[|"@3FLdf8gQ 06fp%p4$DIx, M_^h~b`o<2z=re -ccf$Y|QtLJbC;@k,+b y&>F2ºvs}v)*yw^WU@+%CDVڗG|.n&EÏ gK^'B珦=2T-ѫ6.ҶzM3(*î\A}t7u( 3d+U 7*XwBWge,9k'HeX?H[SmTpO˸^JM-J.Wbw $Lˤq-OTҴYf>6ҝB~WуÐ K2!!3gbbRoN(6l:2cئBuU-0X#&*]b@B:Fǹcו.rgZdMs+3.0fB0Ĉi;(CAsYӳ뜂 H}ZƷ3Xn*@8;YyY4sݘ) gux$eX?=%W!n :\<Kh<>e6s翦_[<.g)EWHFʫ8ryH<{^xR]8OJ)ӏ)j[Մg|:w 1D4 1ʧ*v5$Xzߵ4߈:D~݃|\b'Aڱ2~i•1iw͒iUg!H~>B{}ST}&zf/}r$h8L#\wC8XԏD7NIy Qo=f%/RCM1?.e)I݉FH ] ɣ uAz,54L8ůJI=!h&1̶r2[m4 1 萯X>DBsU-lbR`%uJ'?M?nɛ9E-gz2PѬ=FQ7]]U}zط}z|y)c 5—.ec?+q3y)Ɵ)Cb#ÙP%fowW ҂K765|%P0=aQ %ld_WL59P^H.Cf=Gf&Ƿߍ<`hEY?},*?퟉0P5 z8hl]nWHr`0FQ奂xb =AldMKGR./g9W >Ͽl1viU?ǟ.c-Y^;*-˵ߖ@׾+F/UZ">ŋPjB((Ic(.q6L+$Yr2RU)B&Fa9)NPv<,3, J Q:PX8d|i0Z)Y;_kX}[΅!"/A:E觹%[}ҍk |x815k ~q]e;A7y`zjz`^!f-g3;mudmUNwӞ\[$I?A!]3F(o̮nFwr ,QvT5ܼ|p?0f羴 T{췟Hy!IEQ8hĺWl}$:nNh>eYVUQ gOʴl)* ul#A#&XqB2S 4IRoIqj PZn<~q"!AB9*Nm\$5}}³N#12u{Jf:A.<\YۆH .o{(/+: g+j,Z4*ҦFPӣa ΛV3KHi$}k 1%ځd?>K;w=S=Ij=Rf i@D>Bg cE f% 0P6 ,!$tY+GSTglA :~TCۿ~ݥCE2c{Պ Xla+WWý{,qMS/18wEV|B0e2igTSMeQH-2㍴-vCӘd҅-m:]Pw٢A:`KKӶ& ICӾSe^>.(5p!j+EGV۫B8o0樨?S_uu|?8FG:^>3BJ 1nb@癦0LBҝV`>.jgiD(ּ|]jXrҰwmg |rlUTi_뼓 #L~=3 5҈|yhFCַ}ģМ;t6Hf`!՚ :^%̻e㘀ɞ/Lr wQG8&)'-^ ā ZhR|)): (70@##lѫz.&V{I]ZPR6+ȓVpg x}i($Zy,501*nMbp Q+";(߻Eq͛mbbD46I \$]d}@#uaxB VW^^MspJ+òYocz wx( ^^k7nVg$J>^Æ?y*G_2׭ze×<C|fA(>׿#Iw/g]3je@[-j# 6CE яeNWׂjA9JA `E$JbڼNTBk w| }wD Wv)2n\y$tIĿR(zBE$G1ʹ{sD_\$L=|d |ɮ;*뗷(d4@-U >+THEƇV[ҏLQbz#X)x,?„4y8܄wHS..s! xNP=UʾVWLM~ `F$< @R\/ڷrKY-GCpQfA9T0ąY9d(6ij9wórY85j,amP' e PkRȐM=pY[*} Z i6I*5yj$&&aO=TKA҃6SNeBw"KGb'BDutJtv##3Ao|oBnx(u@.mM|tIq/1SG艺n3^3 o~ "@腸.RkR|k2[\243rpPk:`$aV1ozEv")[aMGs>NfpHuMlRWܣ餡4T$/!bϦi<%cIa|j IB"3U}ؚH(,+5ӈ`lTԎ֎(dg} o4| E7Vn(57C{z/){ w\hl# 4jCox"D bwL)+?8( rfpLB9א`b-]>Ol-*yР\|YǽƂ1*XQKվ]jqFEv%ݡZНMߦ+CS3[֮Ki^@zX9Pl؛Ý/D ?~U%][V3#Ƣo4Ahbc %͢wkE+ LsaN"aO:S.[ůa,rks7mBeLf).`14Slf}4kIMkZ|㲬0] 2/YG7up^N!dxB#;5v|sUf3i3ۆHq!jY6I$v!r#xhZf=hy 9DhcLު$qB@v-WKe޽׼ aI9eW_v ^cz}jΔrh?[:y5B kךī@K}cfhu.pXgVޫ+xZPXk0eN#uءnu)eZI}P%>'yof*| ɭRCyom.O|ݟe֢jܰecB. WBkU_MycBJDڀ uxTxgzacdּ->Vx*E c AŮGFo?&ꇊ_d~R/"_ 5hZ6vKGomh%cVC=I*\*A,!RVJ2Ќ ?ȑ 6˗n}92]2G ԫ B= zγ.&gkP0Bv״Iݢ̼Xf(b$y`tjh)ƱHJ'RRx{Z~2"қ)DUc G?ڧl [H]?=&5\}$+Y%d'I0φeԷgFa6مveNem[Q }.PGJ>T%"ը Fj@ax?C).>1_#VI|qA:+qe8[cB ߳qpųc=<<,Mk{rlΆY@uQ U[Ju#HB$}d-2Df)Ug"wǏ$cVt.culM39K^4Fq8dZ"-0Z, RDT-!!4:fVa H᎔5=c;IUPh:#a.+Q D<4]iɯ{ԙ?2 +FSz gחpҵJʣ4gzi*Mo \+5D4̝2. +6V}[po:ȈY}`yƷ 9wf&R"t\Sն "=jql߱y#7F>zy^(Da2: RO$y3i/./4o|deU F~"~=]݅(FmԊ0NjkVJM bfjeēF-'9` ;P~)Q\!Z 6=$AWFZn/v{k{oEINi)11jrMۈZہ'sV8&"R@Y$W+X\f=7?V@~(ZQAVkHQ@ nm*^q~'6YlL4NnUNQXZU gkޣ'v)M8g``.I $s{Y$6:T N/ѱ>RjU{ (h%L"NWFG  T2]^LX=.ّOڂk~%Dx^ oHEEFӥ/ !̫ u~W+@QJYaxaa ٣l㍉/}k[(9h6|۫J?9r[@>ک6$ G\9I>Nležr|S!!VLN3bLɉ&>a!/=\ T,BWembSaQw'n6":@yۜܦ9 KB .OԞ.4Ӡm{}J 4X 1ET?ʅIsx{_(Bsk[.9x53e~}t/t`65$MAS*ţ#x #kڌIq㆝RU:/]JB6=Hh6zX@ρ9Ǐ9_c5:,z5e1񽽼Mr*`b&/!Y*eIQ /.$m^=~ZS3A޽7_9n;:ZֵERkYػ&tMc_[Q?t0f}I*&H =pOv0𓓙2.{ik%ITh`K7w P@<g"Yw#c=rrUu̷~G0|iF\[nYr!\n@nt#g$R"{S$}.oi/+\qnvʔ+{ȇ>-N 1 IklZ[o&$)뮋PR"-^(Dl? oݔqaбu# s%R&% )薹&#EtpSOXD$WF._M 9XvZ v ,E] T9B  u b˕ [[wYhRK6jIM2N[&%ӤQ㚮)ܺk)9ZWݭ0;WMjv5_76I%HDr/7-2d` ȸ.Ym:9zk5Tnni:提C$0sَ4r^fᡈѺ޺z3ԟWG{s՚x8RR<>s-kzi5IJdlh9gҚkY9R( :o0-Mg#ЁI J MҼYE]tamEwSM+ЖTX~%@ֺOA%%w„7 )"[p].Fx1۸cJ pEA'X݈xy=b51p:Y0d8W:"È M=gOI,{9?R:4# m::ɛvW؄/A۸ yd1NmAI{ JJOP%w5*7r<|^=z?f9Jt˪qZTUW4vqG5$(T7JdTX["yfZ[.7!v&ɧ2L"|wMV"V0Ԓ8݋|H tnhv2.6ݛ+]`/ Y}<Ȃ5C53][*gøt*9@90>9BƱYX1ohkAUV[Q%f_oЛE{"v=H!.OON& VT?6t:FTf+2Ъ(m)^lVl7 kv# xE 6 ?hL$f>w'-a3JEI¹t\L,u nM`۟Fj"Su3w  `B0+Շ-Il.<܏9x;3Y Աc*BZ%_FNHAVl@s㠷2C:V$?#N@*劏(J+RߴcIl/P< R RL,{/cteB BEc0kNGYuFϯ"ϧG,2B~"{.K~sq^)$A//aqi>z p4+VOI?ԓ>g?UǠ69y|5`.:*q fGH^iַ >ye׶ےg+D#IJl "$̝{\9|{ҦjbxbخHOgeMzw9MW]HVϲ7 Cǫxv1 5 Q3_1|&iQ5 ^兕 ?|ʋl͵(|OC@!Ug!FCxD--|0azO5ԧY4"_K9g/źa(GJ0İj{|:_e 5(6 9VN*wuVTZd3M<"SSn!yvhi=Cny\hF{D*WJ؏G4햘;Ͽ>QUb09n9C9 fn9bcV!sn;.Z6zKVPm|澹m xLLpg?TK .@8Gw7(61WAV=s:.sݥ`zܭ+` *RK@]GtO ;l. N*% :R'y{朠uYSLTlU#yY|Ivub$mU7wV&.=PL0Ůvg:E1ԜT+/ggS3s S+Q@|co~P~|# GʖOR- ^HƋؠˏ$CaRa:w8qY[{SOfq:Uަn(&܇?b-/LlNӶMRxg˾i4rð\ٗG2wJZv&k6 uD;-U|jxA IYp;u)-n4fU)Q[^4W3UsڞJ )Jf({9eӃ:!PHEyLFMrLku>tUpkb7CN>ḛĜd&ZYM! $])٩FL ).I&xvt/sa܃p7{b( 0o!z3:0v#yv)>D=Th*ӻˤ羫()յګFЍ}D!''r!B&tUXum!FY8!" xmZ--d$^~o6붞Qz^,=F!nUls|IqYrr?/QXj[n4滪ڨ"J bU)֤ܾơSI*|ĽOd0W ,:'WrVnZx?anKa .;S8nMH7?/{4[k}4K]9=!B)1s0lD02odxin5IYPeoAњ Z{Ͱ=]nECyo64^0m>nӎ67Cl4)VoGC0lm2\k9QzM~׎MOVc<@4߉T)H|.=͏Euq*sHN/;<0<žm7ŀu 4a?s{m=reKj t!Mݡh"jCe+0U*rf>+WR9'=5|z՚_4RzMD, xؚxHD1D(/>Vs`")}yd+܍G=8KyKN?[re06c:Wk_Ds,u't}JMWqx f5:XK= ̩o5ྐ²\$13Pvܖ. G'V )h64LK B-t|K3l|-( 4.}$v>-o@_ u~Z bzi;Xjί(`L" zR.6qjVs(\,rVJG.$~3}  TŃH" | X|u)ŋ70nW։i0Ǵ<Эf`~ggb1*c,zdC=3;3=f($(caçMOp~O7{q1X}vl-?Y\k{ .qKc'Å7 iDQi>q= DܺOX0GF)\#\M=/$iLjaL VkFV"?g'DxvN8A )BêxU6.Sƫ U Q.˗G " :(O&FNj=OV)j(G0U'z1UN0;"7]7JwDܗ`erd!:)6Sa4zٝDo𰰐Гm2) 6SIr ~NiɏLN+j(>BFڝD3#Hl) 2h5Djf3:/#I d=<YDD^$J`Y$^ TCWS@9Ed-?b$Ys51~js."`2 &«Ri5L}F] ّհѼM4c@A{ޤP#+۞/5~H)"nAXޛЩ8倹܀dIXmD1A$`G2%Y_jh¼j9­B%IhpK1JucmM-^kj~H^ ʛz' ww<`uᯅFi_ tL2mR6FFS3>>/HIqn-nï omjMV/6aVo\P"9VOy;b-a KCv]Rw:4tn+L$ 3K G;Woƣ%~KŹDgY]w⏾.A06x8^EXp-ƃuoHrԧNe!JX|3Y*ބ',Bv:Wc]oMmǡ@~UU19%~ٸO{\{X~E"w(זWfV?餸a~dS3l#%ؾ! ŹY~!;_̗h^Vl<¢=by<6:L% ŒA6ZG]Gs,0Zm~Rg9SIZqʀ؄ P#/hwc%V.r`UM>? 6#{l@YEE|a @d_r+ͼ:sfR4&ݐ~)\"e" ˜wveFIT-#N"e[ 5@_C*`2>K;ΔIDYO6.#n3*>m7O?OV + ,ůF$rOm3a!Lb(_]H&Zn+ELʂl%O|G}P-EPY7/u_ tn @Z]˖A^H4褪UWӲIRz+6#۬17rz"J`aN/i0.w.,ɃMIm={#kӂc^V@ ?)%7՘޴@DA( ܞ YYWjxhk$z%!e~4~0DB/`MClma}f`X:/eR-^_KWv|~'b_Q]湘S ~n7c\Sxsmg3#YYBUGI A #E(qMn`k)r.WS@B(Mϗy Wę S\vq)*R;qEQ[,#W.K{&tZ&sicōLeo^qdUzb<NˊdveE-;4(~YōJslU5Nܓ~m;#w)t`Wث*=}HUR6F 92LQAFJyt ډSJL,w` ڻR ^ezڪl4 RT˹7?[q39Ô3g2^a߇TRCz+Y،K֬js2=qvOjבB_ 5]Ay=J? N{1uldc4}xj*O^%Sz%BJ$/? 癀{%+;bߏA55xa f;d!+Y' Å<+RBteqؚ^ՆQ DlI Lorm 3'/ &m~PCU=蝐|QdzMd1۞PA mVLYmB۱% ,.V%EviG b(WμxvR; N3&&p&~Smb%H[POV3S@yMdRmҚqUd)'&vu&$b>R&VGշб,"]qŒ~*0~Fϊl5348̸@YlI]l ũ%A;0ҖC<͝|F>3_3bpT6X'U΢y)~ȴN $KDe"[c uPc+bY5<8yYX!+=8&pܶ/Yɔe7a@of`^} ,$xG56ȡCIGtbOKM4pAHr{j!8NݛfPIa&"ikbl?gd;|Wx-Mp1Os|]טFպ3L["R|ɶn#7 Z'pjGJwn 3 mY׷7c{xٴXֱLCYh*0V/@N$(yh$G? "7&4H !Jk)Y?2Vאj724HmH=dSydRfVIpAJyHp.% Lj^J߫$Oq]Uwd'"$aW)_2SImS ;ES֮4GEeKYX/ $QEQ84QSIȖJ]Bufy0Vp; vz*(U9Dqx( ЁW,g;N\SMxLQ^dF!![`u ]~<^Ӥn*MTM= >~^t :$e;<8h 9ov+qFI2L.֎'3.Ph[lYIn@Y&y7`_z ׯfF)~|qf񢸇}9#\%E oL0my0xӻ4ٌ5Jz83/:keKK"g(,aj^[o;nRe)]8ڄf >t4G )zyo gf検>k:#^I w 0hij?e!d}m;,{c.AݞlZG_J{)Az G$T Lr)GcZ`a}'H4E@k)3@YF1SiޜrI4EeXň'OFh',)fACM.EM$o5ޮ~?h«iuqS8ѾBҾ-&U% ZK`ưg{b۝؜d=r7G@|$&&B"{} 3ÐezmNpQ =`kKtlͦc|}:y@iif)KhgW/,?0fs $ _ń}"Ixl".bq"SJG? 2 k\zv jE#R|ʾU|3R>w6.jz.#m}h슖630bm}[LJ2u}|; <;w%zoeg 1ϓG:VWߢbPS ;1;P-\oVo_(/L4=YqpQIIݍ6 "*0T|mZ?} QXF5:9ZpB湯;z3 oVSɬ v˥yޣ2ĥ۝ 7-a36~uKDO咷.= D7a[P>ߒC A5M7kcy&H)$`~t9AXlkR>K/pɪ?|GunYOW򗙈mO=MՔޞwv}l :Q ߛ!*<^>[?xL &Cox[=[^GEvSNG"¬_CչN7ȓyPo-rQ|i]vG= oܱ)yg6&zV0p g(Og"E' os* )n"r=Z@YKa{MrL2r[DA-_C~օ]74Ub+F#cs̐%%W-EFU #c$cϨ >*Ov5'dn^.I,TTiqsQa+ l̰br~Q U=؊_3@:!yKnjA~qAu.6ƬQ MDž`I|];jkm3dLd]dZAW"䗽'XPI5ヱ3 Kη};vmS)F %U'ў/&l:GOals%Cy &d3pb6xмPi,'j6JE8hޝ¬zϋ=S$Xj;:=~h: }ʩĜk&I? i]W\*W>_ɟ^KbqT,x8mJ..£1?:ZVK]R~k æ兖$N荌j@Ī,+ Og=7(n`#nEQ"fa -:7y _a:`(`sd 1oAE8CSK뜁}b쭨=mLOvO\IV00sr*E#"z>s)wǗ†!d3PV"S< 8j9;9Yr. TM]ľl;K;P@M&JdTќ>oTHCU4VWXu$sf&H]>e|T]噹P?,ONN_ʤ&3~0?^l-^J6c1WřcH'zՀø.y[]8j>tw_ /.1`2Kؠ8\↹}5{"rydWz"s3_eW{ 8G'XU1c`S Rƴ0ߍ|G3@cO@.k/*y<6mlԁ&k,CGS ͸\-%( D_k}s@sxlFyP(apfl&X 0 ]Cp er9A@U$<Ʒixqf7tD5F?:r]U)\>htf?26ѡhk/ jJve xɯr:4wi/q! G %SȘKt Joh@?OIUTi>^yr EB>^bj9 -P5m!C-ѩ.chUqK74> 2WiY֠vqA}qcBgOCiؿ ҈W}/!tfjƯB{'e}fO1q&߻x&d9I2/0# 3́or1}7/A,~A-4H š_?~D)OOө-(iaV7)CLIHNY ŗ 48 Ge+ ×QPa[m!TKY$ff5x陪vk- 8y֕A1l&KfGUY܎I7+`&;W$$bpnQ*mՙ os(o 3IKGg'MzHD+׊@ ¤B$[z+Tt]VVg\.b:lO}5f%.n&gw>"9韪]z(vy!gy dE!m1qtƺsTSlb^T fȳ^YA>; R`(U2&͛q9&tF U4S˂(48uˁapږy |IWwwm!Hm̐ڭ#e_&1(^TkШc(vw'yҼQd(Zt: ٯ9G Xw:"n fz|̘ EiEC2S3i}Z9\+ uv|_#N96dKF}2jC5K>w*op:HQ_;:롱UtPg( G7H"wC)c&J PU,˶iƑKOk V'3BͶG+89c~2ׁA+6>[{Eͻ JrTEc@ M(wn1W]5{#t X9.aȘcXtU逇o6u/C>E0 a"o8Ky= tL.vpfm'Zf *)䗫P8wbjXte\`7% Zκsv*f3_[5$+ NKa/"Ï^9tZ!<I ]5 MlLuLn[?ҀcߣLvmF wB+mVBbKIR_v%~T ul駱6ev1@( l=+*R {gF#.]>QMȲ ).~6!}V}A(-`tU^ڐZq^yC b0jdZDi!IטFR.UEXk>D)/ZD%b 0F{wx=6% ^T^r$I0/8Eqo㽆fHw(e_{PL ի4$__Xj[qd?qO$iM }?E;M{#&2(^OR|tR_Z-U/c YO`y͵ @{X@\r| A!$]وu'jɑ{( D_xʌJkQų'5! q4u)_Usȭ9dAd-`K8K-+F[*W -['xZ gpQ;P7q0v-R_<6PZdb@B78.x2yXifXH!Øu>KRV#Y(86e0C۽bG\Y2E G{XԚ D#mn8E&@(gLD;X![~اD< JԱ$qIĶ+{P[.g!zm6DgwH~/'E{_,RԒH5&Y&b`piܯa1a_0'ѯVU/yavLWFB;YM</F5GJUlr˰H?- 4;UU_^ >6D eHRa(z^X2r> ;iB1 58RC5 ZD pu;-VH3Q^TMBr5;--k6P9qLtF n?n32-9g3P/ %tƻL^nF)iuU&Uug}Ps9NڄB7pkYB)RFU`_4}!+M$ :a αHuaF67?2YBHM?GTIbRO@6 (tc@mchtB6$b6> 4O*1Z (3_E.V4@(75Nɲ&[wKyiZFqya:GdPc =4Gy>7O LbHHӘ^֧_-j^j Qb;a$R}bJWA;x@&8_/ng̔88#itIڕP[x-h>>@ه$Ub00(݊-CXUatrJ+Y4]6vc8Defs"U4һ2Hݕc¡hXn_1_O[(g6aIyi [O6S6}Wޚ]Ʀi_+0 ;G}ds]* ev ^e#.W&U(b/TZSP!haek/۟C#=H峂2F*v'-,G&ް&(nGD'$Lf2Egϙ?^K%.Sb+5eQp1V2Sk$Tᤗ{:+xW|9u5rRinks$m:pra/Ѩ\qH+=`}{QD%ցXd΃,rmS4:$~Ct8y`1,W']ܛ#3ozQN׽#0o`j6WPkU g)Gd'{%ؾFc*L±\ƴ)__Gj?Ra&`^B{յb|AԬ{m /$ɮHqyǓ>}6}_R>9 >GYusC]c/E5#P)߂62_͢7eLJEm}N(OC+1fc71/@"t#.)^go^uׁ;InWq? ;4(MΓY03z*!k2/o [Qq.vYl$<(ćl^2FвclrVQfDﰘu:/eX%(ȪʸޠCnfRy{{)_.ځC;O5*>#nPmڌ@Vt#Dl2xޤi5#OS -~diDB22)Ljx&'82"ݯN6StI~4{I4 wSkG?`a ]͍Fw t.$"5t_5"na)Ms4Q}0)8dDt<Xڠg{I ҄߿BGo[HǞ#(J=SĜc,6kPGDH:).!}xQ EAeH%,ݺԅ|1lXhjF#j\h1wB zIb},x5M_p^h~v¡8lҷ:R'RoAj)뚙F着YMR4 v#P̬*9EjRiX?ojgtvfyS>n״yBfJf_i?} eXEd [:JןՌ@Vc 8"< mNTqr`3oU;`ژ);dqx$phN+^}jUU%^i4m,Y°_a1}͓qv ?;XeW+ֲ.rtSw#:S^<2jI|- <.<繺(V Q+B!%13@ ^e%'կ؋Ekll3q3y#I!B_qST(mU[ !M:Ti=$MwRn,==|<wI݂žCSEER v9T;ӪuPԙ8?Pzg S2},R4'%@Ǘg40jJVRbwu=t0$4IWJ˼dis .N-N-?&Prl{:ZYX xBNh>v-)фaho|}؄=*+O c&vEk{_F1"yr1Ohb:!~vxg[J|u[ҲW&ޘ;AOMETḂ RGS6d-|N:ueW R(%mB~ioF@`glK^,1i(jEN1/L'\\Ev\k)nNqzOOuMX 9n][E:J^HI4>bzmWr[Ж>G&'n>*2zLEJfx%Sz8X:_^RzqW8̇&`9|Q Zùt6N~?w@(45s&v84-7X˫?:+VtM@sEC},Ap Zˆ ow5$DD;fd[I8"݋]&~۽RI=Nn7ma/Fİ˓^tLV >|3)k$Ȧ'BzU@-h?UuꝤ囄iNn@jwe-+L,yq![W|^û(+@.U_*[YKJPZ)5G01aԊa_"zzN0DLyF`|9u b= D%&b1fIЗnAcPh/p$7ٻ[J$׆L]wIRQQ9a>d/d,p @uJ:*7D#"JX-8':[+`>`/͟`6!ׅm(5`w^#PYJ]D|Kͪ V V+>,/˗a;x\qnYrj;7 HݲLC |i[apN2+;+2˜Q?emiKR4ub*o1ml0>>q7dYyw!ψƴv^I2l ankDg{!;YoOj0],3 zvWc'Ǜ$C<- &(vVFcwh"44󋺞mƈ2֫jD}l YF#cE5kS8H?)L;MhɈ*}DgA[%u{}e[(,sS{qގI>O\ LI(U 44S@[v+ x=B!%!q%QkQVsS'p~<- ~( ӄMC)@dѶn[qpy9صP4<K/˜渑_~ZJ֗Pƾ V[OGL5h!&1'|JI5;z@+BcWFjC=0wNhi(Auc76'YanLToS={uWΤYp,R Pޘ9'2Px*)UQ%_# $rGIdAo! }瘭9)XZţ]>yl`Vyn0+p RyΝdA"hN{=7 RҖ/O?G.Hr8s,縠=o*hc;>!ie8uRkٻ^.&W &BW<ǔۖĒ'UNV[0;궙_|N+ܖ 4;UZߐ:'֍#r݇該11B*Àt!`n)bUo<[r)Hz;ԹRed#"@ ^CNV(}bWT"+0"@Z(K9W ^{(I$d )wg U°q_p'*BFm&RD-7ͦ>#Q'yAƒTW )2l ]"K2,O=TrͮZ ^S -B78q_E"w}j^o6 ' fEڕl<:[i`Z(=-}Ha8itq;ueꍧ0A@JA,Қ'X$P!ZD"B(jws&āJyYY OfO(J&3XibS$j0_#6NOI|߃^.cbĵ7tb/4,{pբH @dJAE&A^ 9z)zj~l3ZBI Xg$kk)x+ùU{mESY%~:;aHQs\-g-uylew$Hd(3-ڝHIaIx{TUPY7/ lVX.'Ot;3&0p]Ș s.?c%Z4`@Q2KPzti\O`baKJ ~%Xzr_1,<<1sQ8%z)1{moVrɪ[eɧ+pXZ sA#iCIj />| h$LA:/{o1_7e*1!e^ Q W,;^dwuyGHJiк!yV z 45ϯW&h 4!#Ver㍑gFC!Rt"J^ 2.?gҾ< |p)Lץ:|XHO3+:PH K*"mTZbrnmNm"Q_ \O)!jEX xN\GUOϳm@݇n8yO-50G!ܡO˷dLB%prb,dO3Yc^a]]KVsߺv#ne }`iC wD5gH,bGEC+^77{&˜ kՈ½g8D@n9#gվlrI̪~+0XǕבtA: ]zrxH,&0^fV{oh{>!:=j:McpD :h%g4 :3TI69?E}jbѪ'+x،6bv`u5wkt$@1SNء:37X7 #b\D]U.Gr4Vj # Oa?w &6%b7`I7s'XlK-HîȎ͈+99ޮW&1iBEftyGӰuO.&"[BtL׶wRVr8FnvX%݉Tt%PKJSs[3gwimVpBĔ:N7KD؄3$ 0ƚ#o-pʖBS2ZM:da7@qUQG1(Xܭ߳ׄ]r+Q񨳙?*U =ҫوy׌'ˎbOޯBk'z(~uO6rnw _ ,rA&)^ ƒ͘>W%kQ%Yktc #S[$堘NC|*‹nX~uG|:}l"fnM%lMQi7jǟyqzBf,.ӽ T֑`]h~⾪c<NL| h}(w&Oj3{&ϔ6)_2 vyLVEWn~ -45ӝo9 5eV[v`#>T2{vz" sˠtIj,%/8գaUP\X#=_pwuIն38c&;KX4ȰBk7")ݕҺXIg[xE_ a#iWQ4orʷ̀A Yqc/ș `Lbyav֫+[X}β"\fz ?:|$LegXsm;ZÀф%q{Slt?"/姇wv[6K}">܋30|x)Fv#ߎ/A.nA(CiF<a Q-A/)/h?Tedyt%殉MݡoƏ*;Z<5^'u6Nԕn]L b-uȨ:IBϓKs;k5 \P U;tvu;5/Ce|6ka;|PlK(ŭiϳFhB^bφCߞo7Bag9yic dRҢzi.d 40-X_Ϳ FƌS30'uq W_B0Bm(4!,vɍzcpųa@71X#[FyI*C%Lx]% 5_1Sqf!l-4C^C?7)21)6b8r_r;Sf1s Xy'Jl]xދy*LB"#m`GhxK< !c\hO Hiṹ8{3ˠ,1 {tT 4Y4Ts\j+9=B{9/g ]÷y\ ל7Ix1"ɨXE F(aE*p{փ9hZEHSSX.(4zdPA=(J xeFh?*XSCNϽdG("Q {z K-o4U'x9EQ>uM!َ,w!9+N0eO(J.R]4i*ֆA W >f @ HI'qNӸVW4cv3ʘfq(%D+ڌD%IJ+QFUQRBw)t-W>37FiV&ke&E٧[2ţJ&\"m$O`j$JYsu΢7R2JCzfXj7TWS'ΏJqꡕmԆ- Q--Q7C|nB]br2 j-4U8ٽ䷶2 PS6KeX}#>>9~.tV/tQ\ ]6U'^w׷!"1L('Qk_Np ۼۖH҇oNlL~b[H<]M| &lG< e s8b60a:b)I|^@:̓ؕf2eԧq?T*GI{aFBe=VqtćaA+ )(m2 nS5)}^x:M ?#xcW:rIZmƖ@UcLRYG˞@иNjn.|64(WNQO٣+$Ә(K$PHbZH5x[o4lݖgkF.Tݠ,]1T~Tc|P/d4JSBU Yc-؄!cl%|Wi@-%*9-<\G6ϸ=6NmD/Rf oOMX"7t a)#2%A_n%C{3]C`wk&hzc+;EKۗ܁NcLЗhw~YSJЊ op&E:/cN!3v[@WpF/IDMK_OK!Y&u}˝aԊǓ75M[͗Od]6}(Vt݉_ŷot_μPJrX£ᮭNgm5|Ըk""ɅFhybuO3>C{ZS-&af׭Lu߿H\Nj~DT' m4bׇq'Hg ^Rm,k#,e}V.3WW|cދ\bE<\|V [!}1ŏ$˵ "(UVHB;a{eSb!/懬oeTP;?Qo21%6XvWC#RxE?6z8\6hOS5 =Vmֆ5Vgn.i-*G cJЌ9rI?ŇCZ 0^8F9S.#]h [Q9g4q+ VuoA)/ub\3 !j9 CR8>؝0KAnbj%A6],}I!ۅD^8Za#]sX1'v孽k;+ c޺a|Ԍ)tydC=T% =@N :޸€9m(ȶ0^ib .\kWN) K'$-p؛uplf~ <_ ,f̱I8Ҙ- *l@{'U)cՆ SnF*݌Nֳ4+D˸hɸGb{z*7¬#h[ /!xITj>HFmTV&#H@W6A:fg-MW`;s*n?,SB':Uyc%T/&2#+xLOSc+=] 2}⾎=fJe- 5,%韾h$&1 fF'D<٭ &wF 5JPe/ֲu'8ѫ(Ԟ^g>?V*(Tl1+ť?_r|M'b䡦7B49'/Wsp1vL_3IXB+]';/Ѫ_DimE'1ʙ&Oȫ6B+.$}9RI{=g-t G˨g0m͆G_dt^Qv 圹MaCc qUq~n0&tE c~,º\9@޸jG4~@pk}Jf0~i#]r[WUxq5aSV/z'L{6.]Zprtxxz:QS6,)K "~D (BEhGMm$}13V)T.kKev,u'+`YR "V |xͮ-M]*Re)m d&6{uh/Q3r.W"q+8S4vt7ef 4/]h8xbh&{:Xuy6VP0Yϫ;#qx".XW Ce'Vj׃R`TnkPJR4Vw756jf[ZpVOYX ?,q)V^Cu%0/4VBeWMk<$gPܤn/:\~Ud? u@4NPhuI|B[B;A\q_z/kb@ t0ֺbؐ-[4!cY]8⤱JplB- 1sck.UpܯυMy= 2CO/3КL8+{8߅q"“ǽ(1~+ AQ3_ibN23(:3"fQY-8wIkŃv(^GT&7,f>5KИM*W2}o;k'4,&+b$"m!Ff(|*Ε s#M'"dFҞc b0\>0OAu :] =H%Y%BE#W"v񕇻Oƾ*ԇ ZR`NҴ94{E >KUXm+5j M KMDx]*WI guu1^(\! sȴ p)ڝK]3z8IuvؔZc>7y_l`lo>~cq׀0mpT^e>Gh_K;| 93w~FVpFq4q Ө@=w!@"VEJ{oWk@UP@k*/P~6< vReAޛěqԏ4FbFƲ<sS(ћU"355_VUΑsQ22֥EIWB_vNZScuH}U)k_ɍQxwMŵ%,L2AV^{ћI~ŰoU:ON8ye^dP3;J4ƍӉ¤F?`uޘ@4}T?~ hۀAM\k7R] b%.>f3p0&*6B KC-\&\/}^JGd8xEt,02l% GMu XzHBM=.}p=~a`Nб"mϵ!^1 B AO=̐{[m.3I/0ɡtvu)힠֊p|܂ݫ5sL"wh/7/-I=D]6FB`CIBS;qTPܦ3L'DbcH2c\5@äYiN/QK^Gdg{]%.ћdgJ[7N!EɡO&?| >a7ĪʣS k^*fZ<#_MGUA^!кM a'RᤜسKvyL4b.;Da@n$HxiO67k5]eE>_>fO 8t}矯,䜎&K;g!mOjOK*縍ol R9ECfj$J!}92|NEU jfk"N0h% ykEiΪ CJ~KCFNnEa´ޓC:uJ~ң%Ѡ?yԎ6^9P[8CZ9XC4TC"( x.id UN9^Ƶ~B 3~lo% 2,՛8ؠXcum S&_5~X/kٓ%@^j*wKl|^V^*zW=~\74j܄qpg.{.DrRbGo@g{̻"_la'Ut[^?7y .iSQ{'yj-U0b !L $ $0E1Pb+jͶvL"2L yk$)AӲg:HʖBmA.f܌J}]G0B\~eFKb 5XǺȻ82l!5XL=Ed)*ߣVb7~N5(]ku/<{Fܟɠ!l#G1#$ [Pa491!VM[1`.?cb3I YΫ(kat!p &Jh,9`J)˃V T_sUS\?ѶMľ!zp26SE.[٘U3r {]%k)&?4䰉O޼?u vj`e:|+zŻߙMɰp(f4uƊz ;y>n};G}SV0e@|,9?<7 ntq!]Ó^KiR*nNQ"?c_SzJ[$"]w#9C!DdSb~)UȺ}D@+zX\^Famv@$wF Tl 5. ^AY g^ec>EĴ`@ͼ{ydOu2; mꑱrfQSF \}ubs2o\^T AoFn916B} bŦҥ\^'މ[;ެ#ijMv .f֍ &L_ʒ֣?R4@%=Ru'j{1LY5&\Omb 'x#]ْI98:fGu.r M`= ; * ȬZaV]< Fz3dKS({R=טY)UQaG_Pa2VaFk;2Ĥ*n· &c l"S~+CX~mҠdf=Dr_[ \6F&[$ v9:*k>̪WwvmֵCms3Nmya#w@;^NVy}aCΡy/#UP]oE6[,|[mAQUy[;&aD} ; @Eݧ)`C$c%R 8g)UtΘ[~ݛ>̂ ^Ґ3b6I,>af/+ΏYGs!B(̜M~j24MSW:Vaż1=5.}DM(74daxHQdN>!$BeJdXeEE_nX:8xQ9)Z̗8)Nu^En$;إsxV9F)C=Y5usnGA`ٴ] 5Im*Z9kՕ>V gx NiK)Y[Ӗ)ppfUN-څ*'8>թ[ Uig~f^9»APFzal؊ŏla?yCUd ?3)1FRE,Gy﵂{ 3SָS0xJW%|JW P'Z';65$X"(>WuۿXcʹƌkߪڒV`_TrDS:5)cbFVdUkr$:Dp06yghq;DsYD 3Qr-sjEܰ?<܊Qkte8~x;XxL}oy9~͙GTdtw) Ns+R;tX9%hPm\m B2]%mHG6}@>}FՓA37qe|#rz1>oNxGUߛ}TLeƩN= GJvHgKzܥFOXꬒ."y&E ؅YjT,eYzG ,xH~P-Cr'&\"@Nb.eWVoLY^B}Ҕ]b W fcYMBQ-[oʁH(d|L*yl2g޼&Bj1o 6-pE˷G~V#ԏ1a"F깂-f?G2s"al W$%4tVͼH;;=Ui٦Fy}SFټMMӨ} ɘjeRyR E?27m1v my*Q718q)yQvVB_[ej/yLY`%::V<dvz: ub);ؒ)y+$F۰O[OV)؍.x8Gwmga<)^# B}o0 %o ˜{u[kn')C"' ?d?"KʃdYF5}y8m̈́j˧6 1q DME"zBE WLPAC$DeMLfWh]F}f3AnǸb Z<#S0EI'4ȕ)!%B*3Ok֌6#y|&yB3K Ĩ*_eI&^ͻ~K7| P{M+7ϙԅ]Ua )0Rނ bomm4VDE7DdF/56fgR2zϝ]Zt7-q$^~@[ `~uXe5qR\0 M3~NF:Y~?lk/ൡU8C#?DϳTy$[omC%-k’M nQK?X]X əK6v̴Q-FhQJ[;z[l&lr_ U5RE|ۼ+f&gεrhٖݚr(ud :|rfP>#yATj,ZLskBCٱ&iz䝈(`ā7Y92Q[sr| ň:j)B1Fg>?:e#uI;Yދ9\MtmA!KX\?)XG6 6*hO \\?VZn|'Fc80D$Ź>5,L^ ,:"acY*0@T>9y|iA7{Dl5zE ~ňGj3Fɯk[OFZi('slMʹME .'q_: aW33vrښ'3VM惙]kGS2ṐFHEVLvR79 _&¹1|{y*r.8 u"L%hw@#Jg堦>*OBZ~_+\(:?nFUsz}FD F7 9& 39+\_)yc)Hl΄>o;Cfnҧ 9bTFr5FﱛK;/ ԇ/wk`X8n攎/!uq]/eǜ ip-N}Ѿ*H/׵_9EˬɸVҨNv]&'z<ir pEzu\sL1"88˸h$#o q+_ؤ.Hq>/ 7{[c73c=@Y/NyRolR+t )ʱp>|T迺i9KDSS.O=gR٨ˇ m</ ANyVb͓J^腖5TŒ|SܗWތ(lɘcD᫹19RЭ~3!>۬ M6Z#_#$l C }f~HLJ vjRZoI6oL}.]h/H>DiLhLҟ`':"!?R^*B=+vQ !P(乽I)?x4T' 3&X`/JG \RhP$>[nxH{[i?jxۍ7wΖjܬI9UY5eڤ^~^,Bikxч$Dё^/z+ 6lYgA&Fq?)oBy9<]\$]|Qt[&օ3z_Q P):R!+ )wW;am)`Rm;~Z5ם]'ՃͣiERGe;w4(vth ;iahkp\x$T_YqPVTd:Xzseͺ]PiDVOAa5 Wfm(V!DM<`m7Sj mG3+\ƿ32!|T x: oU@{%ՙAlBT!)c?JqRA+[8[ӝ<^p &~,J/u!K@H C\s~p)HXh ]\ԧlJLj~ k\ų\UgTFT\,/&y5;9 :z ^+>\qVHT?DHKdz|}NV,w65f8b!$~s9@%4>e3N 1Qeeӫ4ksVzZ,Y85T y_I;1rx\H.O!HGg0x,؝, Rڄ[n57ziJ\q,8NgLE޺ W>iWN]uڲfTt̨o0[i=ģMi]Ë F2tm8  }(Lj]?hREp Q:}NU'G~!hh(M%]'iLH!AQ;%m{rT=Œ*MS'`'}E ќvE`;_-ٛC(R˪J س v߁}ē]TM:Ӧ?!z۩i2N\{ey#~3KLLҷ\_?cl-J2zvVH\2vYDӭ4RAJdjbtjNu%͙*y44q բ,jK' $!#8X(ƒ~jSr%(t2.5EHW$.W x%GB"[)?t䵃MAJ.*WVJQL 2˛"I D6Bw3}CґR !h;WW73eϱ}KΚ)M-S?)hsf"x-4-4q ͷ{ho>M^;utK tLF#ㅻ: Y%tvGۅ[53{X W")8`m~21)pJ X' dQrcNjvd2 <`sĩDZ83@uD_i^5E rd ֯H~*%Arb-(y5=qDZnΓ S2*%߈pƓI6|,8&z6x# QZ֡msIA{ /:z/qBLd@馡xg%5?v80:!I͜b8z(qԘ]v,, {TfH\,O"Q U ;=_j^X G IgO3~զkj6 aV}v2N/O!qrXF##gAQQ= "㒵NEIĚYN(i֥Nzq1:AaM@N:ўQr~}#J`دt Xvz)w Dpv٦@jQ'RZdRd4ӖoOrGg M7[$^ɰ4!jyfa4g/a*vG+!6'`> ڣ>ΑK05׬cuSgB =C1 kۦNX[L%*'irŽE^cߏR/3pbk;Ņm.o?,X:*,Vn5cL bAaiuyfiUa.Os-0#߹c- 3tӯ)'%p9ߏ굩d p'Vj8> >n^!seօ7M?saJ <]ÕDJvǦ7 mNvw"!&xg2RrV1Rt.:ܠ\CһܡF? c 3@-># RJ,1Lz Pme#)BŢS9A,0ն׻;_o6rtnHqwr*3rD2sݠsd/SlC:=6E) Gӹ\JI_Jx0K ?YpQF \ApS:Mŗ T,3QBpO%]/愓]k"#/HZ_>v}\h*(;cK j|.w0]u`&*/e¿\y.]J@`)8 ?YVcU1$ୠ[<,@;Fֺ0\8vai;~?4$[f4iƯ,mh?ehAvȌCB]H듛8AJQβⲄ7?":'-T`}H B遂&'E6(TEqƳoX-# ʢ4snW3J =l/.Q#w&USJ(R/w.ބ$jl!وh&[44:#V6rž XXp?Nn4 )J؋+h[9 0kNC$'mk lAplV}hLѦu*U" sg`֌sem=`6+ZIkذ&NaHO2єrQOp=+g{ O ̑0S(<1.FP͟~\7V*f?[/ \iZ甝,UA}+I6Hfa!sm >LpvN2і" %o.峑 5OJ%:oSj)^}?Gs!1lTKo]R!T|뾜vRm]5sJd{@+} i©6KAR;cM:PӜcsLi;` [ձg]ˌ4}b(/J>T<st:)">zM3A00f1T ;7vF|po¥ȅ>⻝,kYb?(ۤEthƗ!lyeVU4VG1zh8=$ï"W"ؘ^ORCgGv#?%$ĥ%.z(lfQg `mSsݛYL#{7!^<*/V|Zֺ=m#X!b=b~r\s\Iw=^ u4|sAsB֪%u̬8MpNo=KM1-Gͨs&MjKv?ǿIT vcQ!&ӣ;9єߪVe=d©`/2ayU#,ḘNQ Oh ?T-W[#VK{Z> *# '~{1k17nM" "3 g (Jվ 'z#2X~vfKyGH).4C[b^Bx:0r-7yIƶIw$򬇂5t@ `͠$rެ>Nk]HqZZgOoވ-9pHJ{]VOQ!HaXoL\3^#Ɩ~Ȑ]@2H2.B]KG,^ :'o̒ߕ\`g`_9CUԌ%h+V ~YrWxZC|KN{8/pIwf%}Ah_?eJa$2-ͦc 3LȋW6"q0 *\:"ڼkiXD蘭jjPTL~8F |&\ V1&('kBl bd9$D zg27]7}G|5 rҧFE%r @x^mS1DYURG|WN+;.>V=l/nIGsmܝD{mU2̱?bAKi\'Mo(O/7ȻM鍪V;1͵*ALHgu갎DȿO\Rkc y5Χ&Xkiޞ BSآPrJϊzSDgALj>qk'Aի)N]>Ҟ`G~zjApXP!]%f3/i0=-Ź53uiSzF[-ߵ/3p{ [7v7̓)[B@ʂ2&rNZ1X=2t4JAml~xV 2tCdٺv Pr$]3N\`>3~d U0penٿۚ18:ȭ~$D t LOi dXnCK2CӲ%ßN}_kn1h%+]/o~Dn͘)ZcвAu>hq9swmқg] \ ʈޭ(4&u6`ѓWkⳜaY0L/d 0ϚA6a]+!;okΌڞwOa wgߴq eWh6wxB'Z&$4:W[RxLuٳ&ԗxoԣo ԑFX$Ͻ6 xL%66nw)~j?:.ܨVG_6u"O?}&eC^E!n9A«:6}[n %[j)AR\ =Cwx{8eIM!lk~; ՑJ3ݹv}tP=jkʈ}4rAD suR\U̽R<3 zؤh[ٰ2Co?Ɓf<LJN&=юeKÛAڳ~w˨{=n%Z#\ֿ,C>.ZAswQA?hoȤ緜L܈*:*)^)j7MMZ^Z=^K(G+e^%G~w"ńҽ0ӊ˼xn\LCLze  }gm[uRQ&EL`/a/ӈjqNQ -'I"H6Dۏ]¡nuŊԁȶ-&8\_MV=D eT0/dVWp~p~Di?ZS@C]Kf E3<6X'|`CV2x_UҋfwܰMב}}Zr~ъ&8av/yw$S X1Zw(~:+7<ܔ A%&2?B`'+, ~ȲQ/dNցHk ||?"e=˅eH[=އȑIgIҔ2Zk*c)qQx VtjZv'R.S9l p@8z)%X16lgf~qe),J? >KlzR`׺ ݞ[t4@X"3#|C@Q |R-ԾKD yTgŬ3~O IrX*NNC9 Pۂ> 9\[ЁVxhس4,Д۵`!m=Ei CfӺd>=ĒQR|7o嗬VaR:CA&%]KDY3(WASy䕉S]@e({rď<5漢[# /cѺx_&MDt @fgrxo3WZrÀ\@䓗/qv7dfՍ {aVφAM~V7 8.%Ke /cEэ)Ao:9S2en$A83WZ'խnZ$u4cO"-k}S)(=sYWs;K[JRk: \"*t:B-J&I1@ڸ(]D0o샽,_\tL"L+dǕ}VIZw j|x@z՛=I0K騐.tDৡB#0}wΉ6YV"-3=T|WbFCv$q~`G;yl( )O~Sܟ~Gs@cRmnbq󝹿j\xhD)H8KQocttK5̖2w^%d~$Om+VwCOy3+0 z%Z[0x:t8oɘDcU{^ 1J* fO ų~M`(; O1ofy2(&J0GU4}| T,lOôx w9r$!8%_+>:L$Џ\dN;Qrw; #Btx NIJ,Eͭy&Fh 1j6sW[ܱlVԗ [:78CVA_}1%f<=hJA,B(ЀU2TN`lE4ρ9CIؘH1s70)|GL;h-࿯q!O8U Lfi 8^h3XVĝ::a1ƙ8}x#-3R_X`BQ+ O[k&,FևNSeDT*0*LoтYF#>o* ^Ym9ZW4S'^ Ѭ[SȗmoeTJC:`-DMdkZ^>Qa3)`%:] 6C*tr+y딠".0` F!^#T qW:jyMnrj+Ggg;n75 sEP/t@JQK y0%{Mmd 5W{XII<9C-adܨo*ZR=)q bԢ$k+;5^TcB\:hOn+T[R"+H86$}>!͚ #n(eNޑcD^Hi~bƀ b)ORQT&ΝOÞgTU`J(j B+%`yE/ikBezroi)a^b5Q iq.1Kb_JI΀*6p(MoIJ]m@RVxQC_ >7фŖ귣V ؘ]4kC~F4 ~3L7:MwQ|ݜ:Ct,m/S'=`iponO_fJٷ6:[6`䰜-&s{wpZ~,'1K06]" X+ . ~u wJ)nۚhPS=rΘ,`Cuj21憘 ^mѶIw ̾cd`UlCg;MhO^ŭ? ϙ QMPot^#N&aMUtn3#~MϓS!)n²{PqB=: h)QTp19$ʊFC B+&wsA)ĩQbbpm;mSE4}lD?Og 9C_s K {LQG쬁J?tQ[j魄DOUPgI;]rMU-ϖiHveCƉ-P(ƌM G+(pqO>J3)^Lje$ 4-Ӗ?ؕC'~H6M˄ V'tH?Wi蒎MExrb7S&C!2vsL?JJ!P%m],0)ge9g 'f<4NumF|Hhe !$VnJjЄÉbvhj4,@0eA碢e&=Y]*c7x 2?nzH0U)2'EK.%"YE5$P=Qˏi%s:c" 1ڟĪ&KcEEGg2GOr~)ʞyblv$b W{ $pKsʢUE 4zgـy^lbMu9Ɉxկ4+Q9(NU=^J;i[[% T7`ui%/H@/szIxQ⹅ 7KW&\tlGPjCơl 5'x9$9I$˞+t=n ) Rs*Pddi+;A}:A_rd*%k48uԁ@*Ϊۿ OĔLL+#.x75n813cdȶ QýHLOknWvyٷd2ٽ}Μ[Wжj>#%EηڢS5. zxEP%&hW]OZIvd > fN^ ï(WY0Tbch|n2 )4|XvE|fDejvqvA_ ngǂNs*ЎXE{3`RAdbMpjzj (q \y2!!6“C粅3 J88EԽgn N KëR(1Ŗƒ24)GI_PH]su)UɹQ}! +'&m/v]Y-&)<`,\[V7[KP+i2E4o'(AWUǕɸx1.xOW*~ uITmjD.T[c"'QbVljni ȉ]GS\M7"z" )4iCAˈ8Б ަ E)צU+,&q jM2V;_OuLH$ᕮKlvlc*q^Fl)*A\9TЧby.9&U⢭jNoME)922a8nt?wVф|2?hg`B5{"ĝ.Nj*XsUn/URm:nKŻZv29@ =jh8V`E4CTz C# tFK RJݩ!bu֫ꜙR@ 4Sd݊;(P `ro{:y?~AlۈONOk̀The]~o 5vR#J0ġFd]u6"/Ed:uaDw;=`.\TC.Y\+Ʉ1ߛBI_;AO؝$7ƥs?  ӁRnsMS{a|z-"mט@\'%@ 5&:[R#0 {0H3䪭|XG_wi R!v*70* ]ux(6}nY#ԡŲ:`@OTLJDqy 4x[~xjݒQ4)qRz$T$0zF6dX'iTjKeibϙLXDSY95[tY _Weرec4Ҙs"qt=r:yRici@eLrh_`k9,x I\N)rnp.}_ۯkrL=^T 0:WE fx*Nh0](OȊaz&0(F*)w#5 |9n9-z/a+LǛ!c-PG)۠ wݓv ~C"uFCyUzt; ; >h|af`)^N1=4?$$*BCYq\DI 8ΕHt`q1e~H57t7  dY5$4Nd.8/1H-=>b}]ZݵnC" iHA""f];Uy<8GʆZA Vf;LE,SV22$|jW E4" 2DڝCǻ^4A}}2rXAO_#IiӐj^p'U6Hi<'GŪ!T}HPH2ddqֽ?OF弾!@TH/Fv$qE7\KX}b dx* +ʳR6rHSw^o!qȧOc ;Og #5|]IäKy+TZFKa}.耈} kMۀԴ ߸k49~ XB~rD!g'ݓlT;/,\'\6`l&Ɖ&RBTc3X``&aT!R#4%&n|*l9)]z/.S~q[be(ɧ7#Y5":Z,\e-]{pBSgI(;&&\ۈFls{Y)BZ5o'*ğM*T9ʫjWF&HK"9dQnnTnh**ا rlnD@ޕ4&ާG(\yodq 4@#E/n|YUejHws<;fUOKtS=E6&YR!/c շU7qJ8L1 T+oi3HûUHTUhdxMZmVb.Vi+ QoMѱrY+洨Im&Ny< _c{Cп=UW:PsXZ}.k.H 79} UiA\n E'sh ]OGuX YJ)|*:Uata#P=ώ+$c 7N ~@B0'rdĶm$15:#>~-1r):SM'(?̆~lb aGK(3”B gXB%غj$L%ZI Ӳ¦uV^ej5M.#gHV@@ *@:< ŠXR [|["o^>ٺDٓƘ*jЈdhC"P~$ӐϔNx){aPiԅkՠW:!KM}PSR$D1'(DMgH^{ M7)}}Zi:|t{fד]v2Z_ê[f 3R(VjBQޕ;-p)PvfaG 1M1Fjt?ܠA2:=~dž&"`!CM!t~NNH; $ x1˭~ T/NVMCݳcZCBc2E Le9pDOrPpvZ;8{:L|W`%1IU1Et/T:c0Y_.KB`L!n | ;8x9chtt ?rڡDdɶYIx a.fz͚heDޕkgc^34'*B]imCW4B5MEu ,Lar&N3*YǡtּcX)_UcdEagIs~^Ezh[?]_/VMy@G@-O)SB}]2x߈49ߥlM*kMDDOIOtu^(9,FDwG fs]dX7uAgiwlM7:gpwc@g`w~kY"G-˙ڱ|eRUZ42(xc4[٭4ŔaM 'Ҍr7.>zhpu kE嵹G-=% 8\,wPp4FNfsA +s874QKķo4f+ .#VHe FBl@W]&o']Ur65SP)Zf f JV~dQyڴ쀄WGL)nl,Y-y;#ď> D9kjXD%{$eV D P(OM| FﭔJ:L26:5*6|N@?-6a7 RufѢS%n(sg qi.)VSqy ԵP)]hOve|V7{[a@n*\:S*BaZd6QvtW yJ)K'F ; ت|}o>H >K޺[wXNe)ڹ캕pxmI@{WQe_ 7a/ު,Dwj)65[`Ud?hgA=~o_ɮSʅ"Ʌ4ix-7ҝBF//J [0$C?7Vعs>mLU>Dt킒E_pb9b1ZĪcjsϏ X, a"+ӧ{NaR}\ 2(Y QO/Ѝ̛ٿ.oMճ:}ڪ.]n> 7*W\C;F<֞t b6º5Fo*GUp'T đ0HTfĿ}W-TqI;'-Z"~9V{N^;䳉5zޤ`j׳|Ts%G x%Y_-XO ۬rT-g_ZbӈTʹ4o@qr;і!V> a( T>ȕ<pT1s']y{@S6D u*%S4. hR혙,#4.]H, 8 1J!2dũ&Ms2/9U!]cOǫT3%nT!DYQ\3y'OrE^W78+ud!ܿ0PswK`/dT-FTC}rJN'BDa4蒼]ƗqSUE4-47R_[(BrzdP A>Q>[X@O)|FTOjyKcpI`'+E>3Tƞ b& a˳k3SUɝ5e'$p#Kzdd2%^g͢ &4&\zY?Ɠ=YOj( 9,W`H8.0FhT[u~..1\*hk* uUo^f,x|3yl5)#6Ș9ڻ*8| @kf2.*,rm,"Rl7gǜR!A#- $dxwJaj<8,*U_ʈS1j"eߡlSC " 2tI>w)1) /'aucnH[լ]ݡPq0aF#]Lw)0TU$p"G2 OEN\ʟ85V %^&i[TOj* 85iba^Yh\% VMm`!:a zG4V^Ft2 YQ-%,mRUЭyg*,h"}Wo}vQ~x)=e<{C?(0TURme4$c PC,B"ߘ=PdTW~?濯7Pb3^ |  ǻjUSD_X={) Á:H|-,`|^Yj[-CrXbSLKqXi`lE4d?Lv7vht_^`[ l;y >!q͘)6C̎"8-:B=ldH͟ 5VXe. yd QD̈V钎T* @B=y+Ss '.<cUClLyUtv>˗i7Ya33dkgNzཙ?d_#HOA00~~jW 6;' v>ffv97ڶ0+fрVN˞.ҟ=o(2l<^u/G)!g̛F&:"kh3YWG&TS$,,A\0B/ ,`ߥNT?XGˆv!;ы'3ٹ ?d3hý9^@?)wbE>_B[1_1nM&,mي  9e g"1_s|(ýOP'N<=eF38~)}="WuVkxt~Hqb?ހom3#}6$]T"\4 zu2%JI# ':`&I"Qf'-K"&pxwP$}{ѥjuD/kqOLW-Y2w'<<hO_mW,,p/G}}[;tin\-um1h啄kISF]?g3ÍW\z")󠾨ar]ңp.)]9uҬ¢4PtxI6Y ^\Qt<Ϻ͘־7 Md!dŨ$?ɺoR.6za/#Qya BAs!oP&ƫf:$s6oCC_va*[2?kK8@J.%۟r`,Ijt٫ΦǍ%`=0'8{ye=,؂GD UﱊON1!0@Xfb|̸+x^CRHj\t`p)S9̴h7w.`fc|\'߽J=FN~O2Úi@!uҎC0AdEznջKa e; Wlp0m{C*\'KOHd% 匳eՌ% L[PP6rJcEKە_Y=oW" R}cM^H9+VZ#%bE|7FK.2}uZ=ټ-l}NyWy:Fthڦ?,d\JUP u+,ɢw:ډ&,e9Aqcɔl,}38 QPsh|TvۮRjPλ, ^F6*%N;w9"Nit /yMXnnlVE0g1XLJ&N*I{Erh#PΛm<vj>1ۈ[dƾ̒5#_8CkO)@/о} 6H׭CBkV>92VX[8:3 ͕:S'ϓCli^g0\>5}k6*sBwv. M$6̸\Hk%!U.z>Lm> 4OI:sl;Z^92+/!9rSo ;i.dF@4>/ֹ$#< |s;E%a@+$Ko ѫ[PVW7ԮKT;4ѝ#ZIR)R6o-ثƄV `YYMz`xu${LrvQaERuK@8UmL*5P~g|JN[:ɻe>X^T^$5|T. 0M7_$QgFJ?|`g'9&oY_STyy"2!"_,POVHog|ܯ($Jz)潾DJ@ }D}zʭ3Ч$" " SӺ@GTA xoQS3cf+EtFk =MG22+ 6R#ΤRѼY.#f*J[頑)1FYa lh:ܚbQپM< X"$l2A -tިҖ-M~_R・Ҕ;fBct[_N26k]mx==|V38Cop44V̓C^J8:-$yٝv'w&FΜ= < Or"J,ik\Xx"7BKG,=EMugj|KJiv`]JOO_ٝO;9V.B?xňjWHNO t5m_Pg#cجR|ѬN"cjPs 7֔ujoQ:%721_w! I/]7F6ЕHS*͝񄕺4 aH5@nτyN '\n sWO$K|u@]](Xo%S  lOO_pZ*P,s Qjn{:=1agKqm.Fi'ĴKiV?Ѣ9Aha%)J'B d۷i}u7"ϮE^VTQ~:~FNɥ H]K/Ђŵ z ϔ:@.ACm|qѼ,|Chzꘫԣ CսRe5 EPrЁ RFuӗ/v.9}H6Eii_SBմQ_;̌p*EfKQ l ɜSieWO0 a* tOD\~s(*RrE~KDP: L5Vr vP(tw(I2Nd\C%:ٿ; -;ȅG$jhfWWDѶk=~R.v"z̝Om `Y1.>|fq_{:*Q@'Ͽ o.yq+9x 7Q_#qMf{FAFղavΜ^5&47/4hhڃ *NCy%l$а OlmHlQ>cW lBB VєJ  u(Do4Si{Ti)|Dă5ydy Qq̵"NW 3ZR/rq=Uxcoc.@IEnmqdA2gȣS9Tlb_cC4q>0SuRO\L-= #POM.EWM؏/voc;Fd:O\Nx9Dzߔʈ="avϪNi3hN]~o'n6ZTm*#ZKVD|u,-ĹY㐃-O'4̘1W {]RfKfwh΢11翇[K:-DGF@z;{[Poa:ۄ7f1(<{(љҙ)8,S_$| qNd1}&#4N9D {﷒)|Ar~m`m[Vbx]\p \!MnDNc, Zoۨ:~(eUX@572Q]6 k5 N$`emRfzte2/k"]^#` ‡?>a]e24F?(=)ɍT#׭ *Җ\ ue@[⃹Zާү|I2^̌.VֺK%L JaMŴ>P^(nOrL?+{/R)`9W{Ʋ˙1 w)펭[cf;P]7dz !:$bVV¶(ݘ)m'>g< `ZC@?fKn3#īa_ZŇ9]m?d$Al\s.;&Jl0 ʇi 7GL9b]h)Fݞ\9?fDUY9=gP݋C<kT:8I^NӦ49+WɂCuzv FOcLzk Ԗ48S=n`5MveuK9MDW.4])`<|ը5Ul5DAypTLۡH"NǠ<' 'G ujD9iGl8"ĕx3-4ŧ)>T]?'3Ӿȃr޴hïpBiBFChH#'YN;[RـM.Of| tx4ɮKaVlU{Us TxsFBv 2y‚H,7QT{4 XVYʖMkS+g_|jG?x/_~:^=Q!Jڦt1܌nCC$a4fO#0Lݴ suERΐ ?-֧1 !{}!z#0SM g߰ H'g CFb0"⾩eK>{ ٸK;>I ִs! ~J$:my<}uCĮz4 >7/<Yp̦Кƣi]TЁofwEBU:0y=l'i[OJR# YQd<[BtV(n,QD'bz.~G4[p=I-Z#YPGY$蚣i*] vIMB% mCgjW_ᘈW;^ (n9%hBs/,"@iYrC7 7iSGt)v,uӾ="~X"p^ږI[ڞ\ 4r#X#;0`||Ha{%rx}P՘i qeh4Pbܤ'w80;CqU (X Zy9ޫX Wϒ1qCV[hoflMUh\_ k"QطT3Vu7ķ,o{Cs͏c>C* h ^Lb]bQ4x^ >fD(E$˃9{m<&U;lkɄRT Op$AZu(gQ#q04*|Ln :AZ7Ep+%[~^[QQ|%i$ѽ ~`Mְ?1c&m1aBZ?eQ΃vX >a#/JEoҲr{h-(c]Kr_Hc +:0-PU/8&}Q\Ewb aĖyǏmf]ogHr #[%Xk$oHQOp|<β5!IuN}M}U0@焱E$F?Su ѐ򘦾q#f+d~aqcwl U4厜oHq''=i2"9#wU_;~4xT 񞙋yzvV:VqVeIZ(u+Q8yi#-O{?'hG}k^^jZ&ֆr,$p;WQ>VV@63I{QE~YD[9-0ܺ!}stg4 l+;fe%">3uI)vr,Z]"}0\ S.ڶRToȥ^x'4+q]RHz/q^lI[+_kNwSZ5<8n=\z"@#9 ׂu }<1+'̡r1--l? ~) r>VF}}CL;藛8:0>9){(K0wHM-|M\SikR9<'f3cԽ ܄gX+:mpTMSf;٠)H'+b!6-Nwб?>]x2#:IC ܪ\ہ2hϋAS|N,j)8`+Ȯ>m%&˾W +KXZ>5)SI )Ҩ"Wˆ[N>:@ Oi#;ܰx]'V¨ń(wۃS/ eYE/64calu9P]>9Glnr\a Hk@J.ޖ.) /}}<9,co@qk.cBK!x DHQ C!|M۩ |ɷ&\l'^»u#)cz WoxMc k}.>pEDQkk*s|[s#^D+&c0ķǣ'@ b'>;D7pZl-)Y1/ _Wdk#,,Ǣ#7R&j)T%?j  Y+!jEzPz~Π"o![hk4Ov] 3r"SyL`2])tlbsI>Ր]Fh! sE 3 #\m [(W,G>%M8Ŵ^'?+jX%]f^n:m~2A0Z".N[kOnjcS5շA۞#kk#3SA-c&o} ]6Hz.j>.c #nLWzduni~ ;z]c1/Bj/~S:󑈇an4Jb|˜zO}b ,1Zh[w"t MUsU~jFb@ZZT7* a~Q6QS"]g"=[=3 \cʋ%G gz}V.p = %Kxr`gN.9j EސluD7Dn2 S`ifS/1mD3ruJ_if?`GĒzf] Wo@̐`3(Fc$fmQwv(Uꝶ^$e%㩟pȯ%B6t'r i߀\zϔ<{.?&zplU?X*iMeu>f™a }l2sdd>,םC"٠[I^$_ntT&œ%`1]A!1IL%nliXMNe(bMXD֡n,&%I/=  W7gwE2U/\DC"{+絔B[h<P2}&JM!ֱe\ڧQBTRLےLD^ג)8FZ9"+z;˸{QEGk9`>%%{(JPٞtY{Л] xqǸs`q yY`n>XR`/HyB y`9Z9qIfpSgRIKiLZaX,w 鴋/Ooj\-b،`!n?ݛ]Dpj;2 AsKYk3Cl[ҔB.*i'6ȞZ7 =p7CNŰ@X1S!B!DuߞЗ$4G|C_oy +O AB?ڳf&Kx) N 5ǒ/"d`X- ? ^/wAM"2KX/*E%4ӎJĺCpv!fTY{DD125M*$Wn 5h9R`\]0=-iC\ 瞬BE([?Amŵ[b꒝"-Hn\)+;}9k#]D#W*ʭYЪ^23ީ6!X(7*l:+}On9qB:g[MK07N̤VWbjp(R"EjKoĭE\q^ $O̊_?8<)G4i@4So(d|_vWRhꢆ+KhAQ :iuЖz>'9T2HpYp={C-byfN0r*s Z{Ƌl[g%:  OѾf,( Ysv}hYApldDbs W܅M CO~'U{r+:d[9*{nJYLH [o86URʰUoλ+;m:DPѶt4dc5P-*7(N48dW 'G.6. IQ$;|azal@Q5عtMl<‡=F3 Xaædf mDwJpc`h]tɍ /#pC~ O"ww?0Ol[&gsG'L~wA |1j9*d?éi~32v EѤQbύ;}9CMt]%Ѵ&JA9<_q,w>{[|?+PITGC#WX=?5ƳC h`w(bEj.:=VsGg0^)ӱh[EȲ~WQY |!ԊLȵRPB5`P_> S<$^\e~t&}c)]іNK=.Yy5x[+pBPV;jk]Ci ٜgD ۵=#)̱ ߞ>0%!(GȬ:d=_Z )ɞu()DD Y6Nv5L&B,ˤMWS¤HBait5- E| nIO,YABaORm7 W`ۦepׯªat2wg2PC.(?*C`Xdt-A}]D2_dZ`XA@[SJH4Niim!s|} Y"5 QvTEr5&׆f x,pIgĢ$֢٪aMc- zJQq֖}<:,(R!u29@X~>V4dÄ7FךfE/Qe ͞ De XfAW]lG9@ٞ SBV)tDW''LA>0Ky| "ATJ_^^x1Zwzp$+jPt)8ЀHW[wi:+6 ,h UO(/#?&2FY/1-2\^sRpz΢P0%N\^: P= gn;BgUl .itWRO!";S)d NP~Jn:$D鲜-=H}/Ъ!=:j:ntY lyt N9/ Mz&#Grz.A(N: ]/4nn9C"~*jJc&o2,^^CSI,Q†SΤ]ᾓ;>|ZvbxUgSYM䬒{iR EΩ + !AȆo(VE;SكreKXl10,x˚ oИ  g"CK=b</ji!4qM7Zf EhǬBp/s8lGݝUVș(H?ZRi hPl۠xK O"9s&TT}z {!4iw2@҄T[>B* ]fF> |!Wỳ W}G!1oq۴Kk`lo5(!mI|-AҊTa¿C yjto0Ѓ ѐR MgS{5៤{GQ3C}Mi=j '1tv F<$%s(Jt#+E޷BjO]GhR ̈́9WF{ԁX6smQ:d.v!C fDd(Xb_{ {hQlʼmg4*dj`8^^;W1Mps sXζcSPh/S=\`\Qѿxk@27(#ګg}"HGNAT(y߮;E $Q#t'y8Qgdž34ܵjTDuhFtyw ӹbLLNb,1edٵU0j~x"k Lf* MEVDЁ,$Ǭk0qaIJ !3][ajK纋ѓ4_hQv3Kp*jo0 KOך?6Gt*devⁱ yMC%9sAhou k'"O69 mQ]=2m"l iLW⃄ڹ0إIFG6ꓝkμdq2h;:Eb`;~WA@ǷG {}N#4s6~Z~ KpU=N? FƦUy+gЙ?bm]̿p(aEHw&ㆬEDmh h=U>]VP5ks5*J<&PbuD;._qC6{#=+R1b[i<E)͊VZ/% ˣ ) Kv7=v0 Er:=͋6 ~G;]Bjn"^ue]@& /wl8qKLp#Q uUөt=ݎibG9ľG'm p\'`]Q9C`BJb)[l3+ k9m(c ?U͞a@+ȚiҺ`U,6`@-YvC,{JCO2?w`X (Xu5NSr]^,bna|PX2)LrEct?^%D_f i'ՠ+^$βT4߂Ona) -gŞE4r{1}!f r3ȁ_$B̋s6*Z{wK*cQZA+ShS}N j9TU}5irkTSǂb;_!BR6B6`U|~*x*]4n`)# f4)Y "`TT<.+m=rz Mwf6JgI- ^z5!9ܗ+ՍVCg_ͧy V=H e KyS",Ri `('le'\2^[JH.; AA6M:h do{eXÜfB``76LbbhH O)8./dd9<> :YS'.0sjmPן E?ƻgs;t9Oq/8yw>c$X"=KG>)Fɢ#4^Ϭ&;n*0wf{)9@/H!:ڧ= zl^d%4rek۫fŊBPYӳ 7c"FD9/e*L,ZiPW>c>{o'}$npA!O [i ~ =uo4!rxS1՝svT9|W@wYq<&xTZ8e&irĺN<xgM6+ ؝seN89 A-jv G W 4[GLm$ޞbSutzWbw=$ȅFYNQᥟ걾5Rn}-(=Í6ʹ7o!0E)LA7" Zo=7_ݑ8CDo_ ="m:7MPzv%#U^B-~EKO=1J=6DZOtSTW*0$۰II,*‚ғtv!X1\"|gznXۈoX$aK$a|wn.ZWZ.{:{ֿ9-MiHU ;{AX T7uvdMs7C/%YB r7]gŗLsWǥ>Mn F6APN6ߥvo;,~<ÝoH+"^Xz)F\SҮH\b˩~T4tce=YI~* r}AENGFmnN@=B"~$qHÔպ L>^r>$o6k7+fUf˧e{f.NĨsGrUl\H@f.~ :'l<ǹw V]IЮez`Z6IYs-UhfBQ'7m,yo]m)d%(R8|-7յ,_c@!yn&(QIAdV6z,g$ MÌ7zx>0IR!B5Ye2.)+nmѪ Y"W821Z6Gq!5&y!eLܱ^ R#ScM~f9g;P%S B_eY>w&QK#Pp@Rk.e}?^<'G;9P>g>_7 ǰ?GwIAɋe]Il\j4=5R|m_&]YV3@B`u\yKk:!qفRFG$L۩JVy(6 &|b}e !H΅S XxiqCeDT]Z#\?M # DL>$0Zi1>5FWS0 SUz- \ͺ.#ьP~XU6| 8O/=Z0gP. 8ɥ8jC`Srftwp.߹yzq铄<{bku[UsڰRz*HW.f\CɁe.5vIlekR( Za8$ QneehMzG33[%6]9! _*I24/zVqyg&Y8uY"~ćiNVpQ\`ㄶu+M ]*F K-[5}ĨMuH܈oNfWP  0t{"Tʌ=+ۜ4z*m6T?И#KSf3_we[ v}vdվ>n}[ g^}^\̴fU˳:h&6II<-/^1s@ړFBI!ON}FGSnIퟀ|צs ԧ \RYYVJ V_j=eU֡~#\c)K.(i~d4\i6[ylݨQ#͑u,5!i..;^äѤK$kT$IC:n~XF@ݷcԁ6]&J]֡?VVC Y2@"ě|ӼETnlچJsj~]z0k)``deIjyq1JDΒU=[=dB%j>pty +ʎ9HC _~tPSED#dĭFVYu5m}%3pǚNG1RVӾ`/~9Fiji\(Ij顾kOR b,A?AԮ:Mb,UeNQ}~F3~ߏb ܟDU>dI5ֽؽgI`ƇĹ9}6Z[LCLO(dwЧ2bπJ ;7G&,f}̫w $=ezqsHޛzP\ׇenMt{,˲wljfM'dD^WC^BҋvjG}΢d$ur.s[|$YO',Z^y: BN2ھf@xl桿J0965ф.B(`C4.m5~nQ`F%%t 1nActf+(e(.}-Ü>87W,;̫7 X[bJ+49$үF1/`Y +TK'hssR0 Цy3RrrN_Y"Cg0hK֡ (6j*I-v2>fY^mi@Tkrd'd䄮Neӏv4s+hgT =ÓJNE;o/ l^m|IwK3hQ^?q#(Q$A@Krosiǹ/cj O7vĭ1dܨ#uƬjJAP#1=3P݄[ܶw![Cti9ׇkAŰaoB8B^D9FaJOsA|g?Rm+n;8"oe5D\QXG@ڟ`J[ژz_!*E:}O?HZs/J5 L/ ;׍4EiMY +EXc +F}6XRQsbx8'W`@,bW#p@iwJ\ %(D笪<ھӹ^8w~!:DZ6BhJZC~|A? 5yIkhoeW> od%;<*)MY}.<' g(5Ib:]%BnYj9KRI lig|g ?4w.P>ń$u}V 0\QPi̎N3l9*x^z ȣ`e.Tc9RGqǗK󫄜&BJr{)("e㛵oA0ß;Sȟ( Om1йG:s/1FN8ujWM\aڠۦ^J8?fW#sa:ƹRZۏY(a lؒ̓whB9EȦ$9s(.w ASpMϓRV;M#zB!/;ʺz٥| \QͺfW0w2oGMr X &z11 86G?z@G5d1ac@tTDqs}C)ѵDEΘHZnV/P%df xO&b'L0yJU̓x@G-H;?^^dY㷂j\Հ(|X>;JVʙ8/Ӊ>^ӧt {In  :@{{AZkȇ](c+n-䋛"~teJƀR=h7D,*H߹Rhf J.L絵R طq2r. hxK 4 XOdz]({x>0mrLR¶SzBzQ1)(Lo]{_G8'&h6#Ŗ1b{G/0GjCO~OofcY%+f -nq.9͒1bDj6W͹ڟ^p "b05F&:rYhO=eS֗JW;b|ch*~YwM{X5@M?~ơEY/ } '" +֖YT{369YA!4UB+L"&³aqNFMѹ-e)1 /iwy-Nh C\Ʈ#WR{ ` }XZ$FkЃV]j[U~[?Ld9 y;LˡpZx{cemnK?ETdUȰ.tp:V=߫ @F!O},tUE yy-Ub{ɱȉ-〘d\f..+tSXc`ټJ`'Z2g\!Eay&ƀ(GIhF5ۊ[r|!ʝf8tXwoHG7Ũ‡#7-^z켨V&\O}*O5E{%7AUKJ'^}E=ƾ8+tCuB r2wtp~>`\ԽʘvE&y)J@YRg-"fL9ǒ/M #Wq9X C+s,"*z`#@^9)k'NNETG .oA84Ԍc\dLwnT5Cń6V% ;^ ^/6ݼ5T#ezq)tw(y[3 Z9qV6#b9tRzieRGT"09fa]26t_'$^"C9 ;kFA;E~}T Ti/M"c dv&9ySxu~P?q,Gmy]GN 4bN~K,/%7w!=|Ve=KiIu+&Q5'kO8އ]>ĩ0e5 r~g4N7CGhow]k[ Հ^r|A3qaZ\B_!t9Sޯ}FpXYU-]MzmLqEÒSacpv.u5Kⷫ*`2ٌR=Laȱ5ʾI6,[xng$ҩ";}?or^LdšqK{\Tt-\&{MYMth#!vDc#e@4o0JgX}hAx F# U@]OoZ> (_Ȗhe,p.$Kb\+^}<@,e\׾E˓ C廖KhsN >U&Tvڎc=|z-|xn4B]Ӂ^exJMf|3,`;?5)D8!=jДH6߇7kOOu+P#-RB 9* #KRG7+v+@}SjY-ᔟl,)b'IS'?z: ݛ!Ġ#&:RC`-Cf݆3Y-= )XJiS܎pQ7=.GNnP ]{AT>ͥ^0M^:_䓯OXТcY`ƁHTD*0w-(f4ғXU `b`4F2N✴v#zMyz死Q";f ~/KXsb毩ڴyN+- ꛎ&ɶ?`gIFְ@uKm2KZEd¹8~!({@ba/E&[1!?W*{ 7Ƃp3A8CVK;'O[xE ˙*D8V~lS?uv,ϠnA;/تϕKy*3BӑG?x^ζTon V/8u7kjƚw u7ެ Ε, +nEw|]/5Wm|+yO:XՐ.ؓ!p%6F.#PHg`f P*Όk;K#Vjsgi iZEr ҙϯ1Dz}Muv=u]o/QЈd=ԠXЭ e^nQd;Ą@^{6Νj}Ӈ,,J>3&FAk۲Ys &H0L/ 5jg t Moa[y?Td h=OXN_ Nc:iї\#M?%i?ч%V)BH y~&ݻ6&בmZͤiE)sPw8UVwh&6'$H?:i|,aށqolP)nGI+`;ҐFy8UDO58T[ Ty|ZnN-;ڦ/OU2+knQx-Nng`Wͫ12 adX\_kL }բPtH L,\)ȅSCAU`e6uWXܠcq \5'՝n('{p]?SåCRpwsna5d"{B O[[Fot}w{}A剚d`~xgm;&騲):HXT1 e~*\iy%0#BLoBhE,nɹ#+_ފ`սԘd`2})Lְ)[+09>?"(ٍu)R!ю]p! ߭yɜ{[_IZ @u)_DY˪oI`˰bg߯ 5="N5n3}X:=\, Rȍ-Tŵ_["ahxAA4 \ X U OquNJ͸!Q0ް'i6~&8rsdulet{WѢ2jph zZkgfu(r/[qg$Ak[jёT97;{8}&C6\qdj]Pz]-OKᮊf24[jY4%*sy-V џtjdG+_ߑ//2ZJRR Z utB)-@U n(Mmz; ima=f1ڝ\uj$`Nǥ$L=~fee=Ph#DnÂHL<3> g^i~iYl?:"wDjea47sPc~3+RiAjQnDda4U{ S{mi9(9BR.vm0ߧ)T{&T%{u8s2Zn@sMÀnrO& qGqсmEkm\eǒedpXׂaG?E/.guG ˇq"5̦eM/"W${LLTTubF9-Zow'eD_ :M?544IxtΤ"=_-0^edѽ8lPXZ|ö9h H00x†|6 u e8$x؆=PI~&ŅЩݠ8pD:~cCA3ӈfDwBC0q!fq*9eKxQv:n~ TCR`z䁥*U-{dM""GhWWzᰨۃq P?`Tmi. `ndF{Zݑ;КJ6ĎںҨm0NTxx Ŗl_!Ԋ`$JfV‹;~֊n]{t?yYԇ>.'UNsŔ v)It3tJ'W$jٜ57O^BX&:Gjĉi66@a6N㟜ﳉ|+ 7tOf@d}kI',bXMpK"lDrڄ긍mr÷]w^}J־xԕ^1cG,p3LDn9zdwiۀRc`tsd3'="NR8譼 hI@A)aMwCNC'aљu ΩoHdJƱ[nK3obu:FCsdw =x㳬)#;j<nv*1$PCY2CEB' Uq1!AAx\}6G(Du÷D,">ҹ4']2jN椿7s2@׿oGRZA{E;K%pGK)`@m$N *LvΒLSK 1D")]A֬;3l@ \Pԣ"[I;} L司;>Uw^gj. Rx:s$ Ţ,!rS=5룆v^?Tb)84W1#٫A`V0?ԂY*2YL~ŲG>?YÍ ӄ .m0 "NvYVWhl6\/צË %D.#Ӭ5үJF4S I EO|G qhNϪE:}`nS̹|sA%on\~Sߞw RL_$5{0pGP{T<>WA\ۘxo1.){;]]jĺeKg7XnKݵs!h+y=^&_, ı@OC ȚB*`f ɽxԜ@GIz &\?%t  {K~C%1ٝ]bP)mC#^Y+wO9f E4m(}Կ14iLmگl@FU}LT Jr3i+Pάikn3)^^!\?(UNJc Z[p2U:'*Ձ#ЃQ)Ǭy:ѽG>xowꄭ`HOmҌI6[hJ9uD^ir[cm&k$!l6J871"h\{z z~h!ߟy*v5 .s]5vI˹M=}}ϭ}ReNxj>2^ WTJki_虤)4(Vsp]<E=}6"@o 0ȑmjYnJf)sJ//yI/(zI k)Uy)KQT3$OLgՐna!6׳;E]W.2?(ipDAs *0awB P)PYwTh4p}c$H)0dM"OB;qӥslp1Sq(D!s6\_$">BҞm85hO-'hٕAAL;kER:4~m;i^VW>kz6l6r< 2A7)QD*Έ܄5]d9t1=0A4~GB||Lr4cטM?';GZ/fPZÏTle,]v-2*W[ou0O拽[m R.ZlL T|#_QsD쉒o|3yl|ZqRlFϯI9|i8Ifd;RQ&c/wqVeOȸKo/9 Q er c?vy!|kS"~gH?)D-{wx\"Wlk XNqP~?{ e fs_g'\)G}4uCevt<)*?c -sp6!jFυz)8Ήy`ڭ@;p ڿ8 ^Etmx2AQu\̼]ٶoJNT̓ # LkݑؕkŶfkВߚ'4B67oC?nU~W]SLzس&c}@%w c:P{4^ }a"$৙b %L|,piJbxiٟIwDVtFZ׆ZPO鍻rt9H^yoA?Ԛ0 ugK={\]i pg{*(LJU{y5nj%R~g:E׃hw8<%'wy ۉ|=Sh,'fU Eݵ$jHWĥjݯO _}7Oe.VY2\`6b6y٭C79W.4U=ɗ3O _1za+#<̀.똇mdv%{nea~3@%^rYYt0! _u :?ղUK2cY޿Yq(Z,_CvlBoLC2Md~QζRb!v"~R5Z9bJ$$^B Rsl3d(O47)mkv5msq|9lhow{I:M #&I,sFOU(xTh?+_d'j (ZLCse@ gYqOw>饜쿾pf(>@.>M27 fi5~ 0el [aBٗ^M?u,! &Ϫ3]QW+ȤqHJ`TēC8P2yvi  r&`u 3r"a(X۷LOg+ƉbxE{iD zzY;_mB!c t-34=(P\--1Cu4ĒmgSv)QN8#R(nŬ~:wdzѴU#^MWTCy+^ˑ%^ U#v)5〡zyn+ˊJctUߜ k(L1ALm}eg00N+|UUM]+5NK$Ip[ˁ73lcɮm弝lf4Ae,yeQf`c:WN$81 Z#;:5>G.I+#6 [ڠtǷ|X9(ic2h00?G杞L׌DJwS7ET@Z#=PV'C"zEUb7#̮aڄD~M̑خvtkӢern#ͭzT7֡ ?W-h`9Bʕ Nٺ[^=kf@eZ 'e󳕒ЯSXds;a :i3]zsQq"`_sB8nfL%5qmޏfI.U^ϰdmAeTs-hn0Q<N[|NΨ&rvp9WQ8*J8P[-N.Ű,~I= wF:hu[7p64\x2[D%9{H]fi95~@$E01ߦJvH+jqf(WI^՚*fDCug ]\ZR %WTK6e-؀W@B շ-0#ÿre/{6. c~o%إ]{Y YOmN}hH@p<ՖaPˡscFds*RaSQo}}!.oU'ln>4k#<d.c㪜d6}e'f)*] m+-/xK,鲢A޼aU{%geVf Gt] ǸQDH0EOd ]+Hb-,\9>3pf P|%״<\ a,Zk vR^ aO(pD_k͡vd499ɺw%G=\˵%u|ys7f-3h="{$trm8^>0#<1o?RMP #srx͉K~ͨ9E: ϲ!-bY&y(#F;`jYQWBܔ okEu}q95 5(Ԣ= nf3,B;W:;`FR9紏[ҿkALnzNWgK <2q2f`*tFZʤ / &7W"dxԘpձ58D)ԁ)^1$,8ŧ颭7 ;A/"7%evq\V$XYfڐ4+ƾJ L)onHp[d詥v;+&C8)~;3ׁC/vʃ*|JSM㐤EIY,GmDsR1ͺP662ռմ H*xӮSS~8ML{E 9 Ax!Z@0UE.vXU`;v,4U}~2S|ٷSe'Y19..l湓ֲpy?bR卖7A˜@nn' rW#m@Rϗ+6Xg?}GPte1 mIz5ѯijӔ ,;)l6A򧿣-d3H$Gv&LQSjDhQc;hZl5tÚnOܩBWH8bAx͘HDbs]sSǩ\gYϓa)hJ"!_Q;CZjR݂re$arz^mBys{J| S~8e}W@q-`X6jAD7ף1^GMyiOC˝j=3ee+=K2;+q[FN+f2db@#>u|ܢ. B6UQo.d<tMw!;K9hL1 'Wq2EzhdnoDf m2|MkIeAZf`NbHwŨzX~`oaՍ?ÄP9l~Bv= D҅e'Bє2Xz9,eOgtBׅ6{m@kq UHP>_q#Y{llWɋDm~}!4=O+CƷ_3!㍵ԕYϡr@C!G!=bU.r e^9 azbГ<82818}}?>),Ah/){e>rgũ^$lʄ/b̑ſ2='ݭ2[ߙ3$&"gVͣT.O=p+?h1@\4rQRt_Z߅`;/ w.q/H]g&$s_Z7ۉ1a2SEi?Rke{!Wlxc 8Ub9l y^$Yܾ"EnD);PkӰ8^G]1[HYuOϬ,<(}5PY|VxE* /9aM<=rٟFv99)sH6ql'Du06uK::G`>V ,譣1KxAL'C)eN怵z0p{`°k2 \FHuSկ.W`P؀Et.q_~>pH@~nv8, ӿx֟/B_p'a!|&&db:J%T>9x(983:Zsp SkdB4DƴuD<[8 N~K!ٗ 9ġ >rs$|ΎX~ gC |M&}_`M|q Fқ}Kߦu5m0=E;e-]g^? <'R*UeP`W5_ (~wF~:ubkK_Z }%JB>#I4jЩyYp>wL(e3O Tj7g*i-~~ܥJnj08n3k! <]rNhgp>vsOp9i4.ZƱN~Vʑf8#9*.Z4u @guPj/Z ٫_)Ś¤䑼8K,)/ʹ!&"ۄIԄ')r*DyȂT7m:IxiOsSSn\v F09KիKTk)F_E޿q4Ό%0 $isc6ktmT~+&1@Kvը4Z AG JίvY β[.$7(8XuHݸxE \T҇ʧ;R),/<#dCBgAxd̀1mzI+tUMm&}/L7>)P̵+<,.Iy<*w*H  䠑ZR~!?7m;$mŒO&]11`D 0C=b`^_eA5daݞq%ȎrGε#zTIh,qiڸpu}';ȊR0t!3h3Z K?VrN4yS":Z=9ňH(1 V`돧Ђ'0|,-]T02%޾MօQ`X$dθ74O?}[ Le?ǻ%.6f 6ɏEOM)jSnb`cHΗQgW7 X1]H!z'>[y "u$€I7( M 8O H)۵F /٨û%%I۪GHC?¸H [ 02֮?s}6m b)mxQay 4S{ݱQEc 3U9ƶہ'wf.埕"W:[b@bDՌ1|oaI.1OH~'#6{\ W1>@U1eMB+CRAtt;TjJf us`oKg-dsHC<}Ovrf%M:EV>w%WBRRaL~jiT(ȯ 5流b_CRmVzBXv xۉf9Jʣ+*ib?â=,Aalahsj#_q\a6y7\ ęz섁9Sg6 X))z$g76qRZ ȴx-U;ЪsՁս$ ߞd ,htY54Zh__oW7MDOqETse*]mF\^ߖhjY ޔ9Q10/|9b!S6/40Sژna1&4Z پb]W.( ˋ -M߸p* <L݂31x<R:V_x٘>2JAl5r; o,xR{ַ# W!/bWZŹT$# ~DE|1J 9T;8Dgh뚞{^XU v3kq1#cxiݝ~;v)7u  f \ME,v NicХLntB:ixRJG6?3{RԨ0( KH˨ &jmU1G"LgoBpu+%qb7 @|IOy{EM: ri cnBdS.L[xUSVM#2kv9dN:=ohTZ?m#t t7/x^чj\zKFryY 1 F@zoCl݀'i,RYLVxU褣11b5Alu"CR#qp2ae+kXR|Z/h#< G?ʂ@Jnvp݌kHJ= r`F4va} hVUw:"=U(t4ڏM ]-L`ʼn ܆VIj1̹Z\{P<ƌ.s |_ǂY?&h^GL!+P%&^; r^; To˛Rݼ1 V1zCnw9lݙ; 3+@$SlfcY3 *(57R$O~[m4Gɾuwߥqf6OGOXm@yRQNdo zykRK.Սi"s}LM(fkmmu8Jd`c WED}u{+\lj <1cYޙUbAK cդoԩ,`pt>oK /Y͝*C5JGυzm'>*ydRh6L4|JN|_/՟*-On{ɶ c~6/@z7-ȼϑCGK9-|f06M|m˰,Flg{;ۡ;"a,q+i'DkٯJjYPQƚR|xXUcnêԠ)5&ԗsYpK@?G1o.Ţ!AS%kw UalDEЖ˞5Kw @cj'fUt-QZ0*M䙕eGn(E{8߄mѷ'p*]anGJspPcu'JJ91zE gn]f_"b=H$Rj<z JYE_LDRP6PGm/؛[k}طV9z;dk]wʤHj˵q5ruTb`QF9s4SQC֜X%;44}UmUB0<6pY۽׎³l5t'?_̙}&2+>q;׬/5HDݷ~m;\)Fn7ܙ)a:ɳl(I5*VsGM D*9ߌ~cтnم\.qg6a˭1:Hfװa[Z%>)P(cL ݸd%l`L3UIKS3Ӑ[Diט4{6ԩm`NUR[֪88H-50pu!M-vMգXQM 8?ӶSHl څWчJyH*[JUP4 =R `Q#Ph#|@ LN֦L&9HKТ. Bg >٭>9>Dm/h AYw_X=zȠuK0;Up,/=Hc&Y!xgqt1wk8~ P:p 8d,&Ueg="xy~m7o!!V=w>*\+{,&PܒPtR~kOc0$ s.}P69,ҖseSpB.+8burk^}RV¤DKAJPmdmЬ8G%-fP^qJCϩBN]r=({*i5ݒ.U ?"M o8wBM.4##QɻO،Z6fL*RGaLv*@Kc8ED, NӓtXvvx)prd4Q?+JkMxnja-gi/3Kyǯv1ʭ41~0;_*]߾5Y%Ž{:<wˁ C(sxCF߇9߱Y.n[{-}9'k [k{/0B BAE͢ljr|<)n$g[X2%uqgAi*#L'qZ3u}r'" @H?R'՝,EAWN.wܼAD#@ͅnS\Mj DZ-cNER?%2芈\I%(kk˸Kl{wQh&?Z_I߱ߪ'! ;*}FȌbK$ P A& QȿXOf5t=ҠGKHW:h.Pū 5;辱8s8Sݷ0GJ]`sg!aBC󸶜D(d ?h"ex筗%J¤o01/9ϻUֈ}~ @'Z4}QIQnAHg!зB+̦tAhr=Fm:Rd?੐bznCU<~MaǛTq=gwJ-n+, ݨ 9IzGjBʬS fLwj@N_h$"oWY"#?В g#X4͖ڄ7MGDbT&ʍrswz@=Ya; 񾭲p4p>lpp$+BvAΣq?ߌ IP=ψϏ" MhRwJp&2Q/Qq+[ΡȀ.('7[nr=;VyOA1~ -Oq_f-(mPk㯞dotm5qT*ck_^RR֚Ш@m7m\Y\']bfYb6"m`spRwȣr >IS a%w=ݮajQ]VJ\j PFn=d:sɎvU4X!vbs2Mٹ?~=Gņ7>^'#J&O٭"{^7oZGSS3U1UYO~>Oˆ2R¡Nn RJ[k_õp@F z,+-{\̛K4n C` jot# 1TV$6qs3`!'KުP"(Sfɡ۵9 P2.#gZEWn68p@'ˏY"̮R좛רf[׀Ֆz?]㑻{7ZOv.2I@] XX&:!ß Av)ӐyDG8+yΞmU7e,#2˸^yp-kS`N7 Z p%OLG "KTnՔ ~<4l*JBQ:1[x9@hOhDd5m4#\D튝 (hG̉Ω7Du7%xHCKi>zC6{N9Hi*GYaG4? j)1&D4ɽ5{iIrpRo0cAu,ֲ8/` qxz{K+h,E<> T.nD#%ׂ3C.];($֊/HL<6BG3囩*n2eh~6+6;MLDr." w:">p]V$C`TI;:vTD4?忊[!G0j^wlg|1_h`x.ڤf~~Q+&\nE+wdS )MYȻaèzfryQ n'ܹꆔΦjU99TZ~:u>Πv^]S!ݰӱitπCwQO&ΠS-Uбz-&X``;]v5o>lޝL,^3\:P?],)$)rB7+%.3*3Y F[g L,dIHoaW~Tmw4Z~5Y2(g\A^}?bΕWmk֚kH=@43nP)=7&qN깵2 UA' ѫߌ 9Ciq?afzڙdŀ҆L< Uu性kț '̯ Us\}y"!8JX7SN_Nܐ[~!3Uq?ד%a&d]Me3GXp':S9lO,Yy=/9T8 ( n" ʤ}jh?+ԧ'ȧo! dK~=(] b坰<-d+c7[L,q`cPسJhٶxzEԏ®d+H1:I7[#JTRC?m|PC95FIdY=+1\JOiVvlgm'B<)Q MƦp}~& ^xEi=E-@ܸz_7fA"Ĵ^rW@  28w`UĬ0(+͝_F.֍%*hfLi$0|=4]ZKҠ =; 7=hؙh<hb?r㒺u ]&_#P=1ˠm%b wFLWZ2|̼z6F"C!;6 xQC5X^"Ejp-x/ˣ) Kek[:5炻 L fRaT 5$Fhd6 Ίt0M^h҇L,5otTޙ`=NH6O̦HR/#"jGy" ]ѭNW0Ax.WnNe!z؇pړt;J&8j}4 /$iM0SPH9r{^}K%Ftg`p]!~13Ujꃴ}FƲN{A(H=m[⎙A.3iTl~2)J!'« ]uZ/[<}RLd+_c_JT2q#X֋~5B''7RZ6cBcDw@zAYH`й B(b~j% V)cM;bY'4dfX;zPARoִ#?zA4,b8O?>CKPR}p~DB/,C 'n`5@L Cvi*KKRMK^8&w3mwT#˖_9ԇSW~j(Nxmzm߅6 $FJ}ƹbx(-Y5pRӝOڟy~k܃f!aw0Ӧ*{ud$U ${ʕ^MǸ3 QXOGMzm#3_S>[3̟Yy[sdWW3g6(]fI[=jpvwbb/lFZOOG6%B% B7E<֋d%L8ai\HFX:T\D;nzE.3/elB}zIu!&'ƛ N(d7f3jHD,N*0G[̜[xxjVyDWC&!{ "phFytcfP3@\dkhxi?"H~)0Zyz4 Bc=Oτ//{#Sb)c $zӢ_Zh#Vܓ{e=;6mʃG. xL|ɓ 9@pޠ/ aql=PT̩#rz& **vM*2e^i|NS%yt[ t`bpzݙ.o?bCߣ$ŽNˮX,'G+UNthZqEL`Ug ]ib;_iqOKʑD*kg3tDN­Dk |P$uaYhj^SzM[w]f[7 DvҀVrw'<:gT -x0\d旃mR9*޷\pҥavyR@!i^x/_@1Z8gUpxDϢa!m1|p%]YOi(*vjE u?d&*CXkr0tDSAdHk 4@)e|JXx=>e˗3tbAñ+ʋxCw`h ;wzK9  tu5=)Tn,[Vk=֎ j$ zN3Tl \8?.|Go<[#VWlzPA2AAȧwJuWE~M \xP["W۴ T18"uw!p:^fJTh;q] >."kwíEuWk-'+ 2ϱpqeg(p&8"kC LZTt=1x9K6҄h{zmSKYYu &Bk` ˃Sxr7^١:b%Rl1P1(1(>ӑOOce(E/D:}!Cs777>2kIwB~h#uJOg" ~9|+ 聑+' 1v$X܌ayTQ+܎!J\Ίby,UOV_U͑)Rh]z5XoU%s}Qf|459g 5|y-73b ',]ג"U%=y8H΄"0 Yf]Rtu%*vK4p\-anN ױG<9^w'VG 5%eG(,@C8uh`c6y-GS #MT>n7*=6VNkSht. B?LW}ËNx[4JWw&rqOFwj_RqIE0"h3kr){J"}uenD`%9W>5Ź9JF ^ QJ?t +S|̛X{Xhu=fk&PǽE8ipYi$Ke{>zUyFjpOMQ+"M=_ΒT9Jh |N i.WI7 |dCOhoi:leಔ̦;OTpOc\ ڵIcK 3e|DmۤpqY :o(4X c P`2Reyfq}_%}~S ;|["G02UDZ JNfMI}@^AR]Lv1HИ L?of!2' ޯNᖩIP]Oz:FN<~cJ v& [.Ju}?jg}:YoTpO0_m6qz ienB.<՜ {7ATJ@۬+ԹnLȘy 2x~u6I)zbs} t:OsS-=QwM&jsaVO$u J Mt2qz>YBHQ Y["*5AcF<kwlOΘ1-ġ$6s!KZE4sN?ՕHsqy՞ w /3L7lmEد gd4H;٤Nr^Yubs#/LpDk\މsşR/Ro*-P\.*7MQV>wyݛl@1ª#x >=&j!i'){}# \\u[nr*$Ep{ P]DǼJRU2b7iiLj|j84jP?V_Rjuad{TB)"!\`mc:y eaB;h8qɀGS* !Zİn-ΗkVF"Y+.zvL kV1l,!(_dY4#]mW+!a&?&\w^yenP>u6r͏Gwz? 5'[95pnCB%oVmІOL_J^v~ ̇)g.ӒWs w[VMFR_M16{SqUT},((aO+1$kr,:+0nӉR[{cSGM* Zc)&)u  $^PIPДϏ+ّBH/vmv,`u3pŤ5 ҠQ"wrb.|\2_lWZb}e EгUv2s(u_S"')# i=l-3Bd^.s;yũ.,]H2K,Q$ :qhMЎ_=Gp~17hG%h(9zQDž~ҘZ ^3=,Hl5w>{{ՇeZt|:ڰ(铩uI ]s |{^seXwcbvs @vvߟ+:7,yxV*3Z(CjLXϢɱn@O5+Whe6k="CT)^8^%^ץg6htcAZUe7ՋMFFSb:b 4A"F2?ΡO_i-軁pT/`Sⷢ ,2~,_8sU8)DcsU 5dx_`xU JDvlW3sk&7>m](-{yv'GzN>GkMj3yX̙~F{&wHhw)`MVlBp w.rl)C7<MSFF\L@bDGXz+XQVA>iOEp; t[/'FSSU #cn L[TsXe.ryg[S"8d4&r#bp99H1M,‚`GHM?Coz- P)GRh"oy+޽x md0%Fgl) i9`5yGt޸ڟ*nGo&r-Cm [ܵ׮qNغQzސ0wV)搬"8݋v29 eq} !,hwufM$8s|i(h[ bz6"Пx:6 txa-&14HX9粔ٝ˝ *JNBnњ.2i *3Zbr۞ẍ́S):C"j>1`ن-GGW5z1߻BڢRkI@#!*Zh~s[D7 㐡 &w %052R83O0hrPeRFm @uo#^F\&1/U4Z"uЬ&+b`Aw"2\ͼ5H fSJY:]}kD4R@,Ea@",3|}"GK`@:ȁ8 rArXhRKx!(، `h!SY~@5U a_`1gDlQzn68ٍscR]JSПRvg{+Cak.ebZҪ#q 6aݚzvO"np4"'Ö76~ R@|u>9?b,BZ2)ʍD#/K7v_=se(I.Qdexb1Jxnpm#~xu EЬʽj0TZǓՖreb?}}&9;Z4qd6W3jR7H”*e(0STǍ q[J_ 6\9._R7r>p@Ɛ29 Xs+e}dtLݭҊRŸpA,^!?_U{Yl ޓ|}z0٬D"L2#u:5/ևoVt={ 'MPS}n&r|,}ѯa(L{C .>62^/sis>ܥfRo}vob6] 9'|坍'έpeEN5pf{VJTrT@J~[E]vk|X@G}jVF noZPul-H`.>.6>v~;t`x"p|-o:︮Q0Ցp p5pBq3 i,tfGMtm^CID-f_nܾ)gdЭu:7]axRsW X^ $~Csws6a꿥p@E1n3 nTAcBSZMx%JvVvM-`={}ܝ?AҔaSjmPY^vXjQׇ= %F8\AY*+DneԊd"^LH_  [ Cʳڅ#Fp}*Jx /Z]* "Msa(*{_a׊hޣst+@յhx {{V6&BFfcMO/dPX[:`^e7lbtz,7K>N]zP7hmHlD/S.i9wfcU(+7RJ)+Ld !^vx ֬母'\E$ih;隀"Y(/Ɋ"goSP*H/ZƔ=B^ LY[v QԽ`vyμ¤!]+FVʑ׍(T(Yũ7Drc(1;~0(ZeԖ*9`ck;ʉ¬qC0'<20rOÙQC|js)5|:IGo$dU<Ȕ>့J^\/#|{e{[/8=1Z j)"A]5MY=[r(Of sg}"{: ɥ:;>qSf ֵf4Eg~Ӿ&^IV(fטCoe_[%Lv8r^谗xCnttg%I2;(41<IʖI6(03g8Jj i_S|S..va(sgk%fA@{iy *?'C7-Ԉu vT]7:;"5WUb4V4ͫL.vV8 r=UUT7>.XZrP~xx2|,&'fw}*Vl8K\D]M"vQ 討6w8UI'`z${f!Y NiDDXFʅΕDi\S_.Ucsl[v=(ʽp/dr9dD. J):Ӗ 5]Vv ((ثCQ iX b/78*2FOeM4:${ a$Q+ d@\uSNZ>a$_cψjOC[DH訸i7:$> `Q&UZ:1S ёctew bwÝ/l*5&s``."l6̵р8FI1!g+u,eaG `p)p2x>r.9Wx cP 1# RT#O_( M>o5M:~t]=|X>$hXkS<3rEANZ1ꏏrkcMe<)t?֕{ pDeީR.dYoJܙ>_)SxшPwu ^D@0h4#|nʫjMráy/:k1F#i&KXTg'CfXS|`]2k>TdP:z;ڤqm(UQPۮOǗ R|'s6UhXh3(Wf[(ւ{U(Zdz,ͱL-S8#m.ߑ.a$lTdA[40WEe0]t9?{ʭ6<iC~SӨ^{D%NsoX; 3QPMbK`1ɰ7Pȥ$cU3Effs-OD m͟ }N^󮛱ne֗ XRZHWzbQv (~Q)jk;T8"*d܎n*B{NO挠 4& ^B߲ "v e75@ tU7K.̧.ao `abkM==O bi^~{K: O dK#D9Q"#Oڳ(wa8D\XAv@Ѳ5?*LLbU`}P3k]jy-P,#:&J3ITOd".y4H^fTq\=lJ0i͚(x}co%؟:58)tBr/?MU߫u#h$2O[/5f e!Xou ܰzb%b0'Uw`|1=->nY$gݱ\$(oUIX(-en=ɺ$2WX^'\ ,CQIͨu!V$ t9frӻ,NI>%U :rc*.6GEq݄㴮4X^ޅRa)3w&Yf^.)Lў/vM&̺n%B9^PO>z&Y~KH,\܊w5(iP'ncӤmNa*]1ip2 /W5ɞf>{ U\W|! \g vadGl> +!5gʟATSp Iuzㄗ*x=)˵o/HC2qF2v# jIJqM ]opszb'叏c#)ooL$[ѱ~<ŮcYdkې5ņCɏSKӎY,.tW!,QdN-Tqt02;J6{B2Gp͹Z^ yjZ>c'@PzH섏VoR[ahcXO/Ϩw܉1ţX2㉎ibbO82Sb597}E`=z@X|mQ$z!&^Zߐ/&WW9Hѳ'i\bOvECl1 ʆJ{|O! (HU9u?+&;.<n M )VwNҪu:9ӎף,rm^!\{Alf:0R9>F8v̲[v0~Ml0%2Uq]\(xC3v-B-UM`mvϾ'g_֖Nmvfhց$#+bEݱR& Y'a($Uӏ2lM 2 襮Xew1{ެZX5[htᇒo"k8Kc'7cu T8lZ 9^6aɩ ahaR#)nrjP$6& 1S`'&=$.]LЄ\Gv;=cI ƿ_VusJc`%B)}g,N-^``L!| r>Bu$+a#oB4Qm މ|U]i{5H5}gpgeބMЌ3Z2wsIڸ(q:ͽHAE,vˉot$oU±_v^)pNc)h pEOYv}-02Ug5Vw_ZTQ{/[puLMX8'|!OD .7Z~H!.T2fvcO? Cn&I z4&= Ni-S|ÉiAH @"! `VqAu,Xj-ǥル8bNrؔ6 5 ,y;ª}5hmCd 8- ӛ52Y'` fEP‰L,g$_k41r`|(l^k_T;`h X(Tj/v(^P8tIcd4ӣph$dJ}Nn WBB\$ _r8(oL cE S ޔ8gy,i y@:D ]1jֆAm+Q<| k9A~~> ePJl= 2ï0 VK̏<Џ>JE!"&]`<ϟOjE"s@ѲDŽt))v_ՑQ21]ϡL9qի1d%4ve'iYмmliHؘVHnƔ$J߰9lv}Zk]n` ~c[>Bu[~8G< dS_d{,NЛ߬`3&}y#t0Ǚ-zTk3xurLף_L>LHÚ 3}'c.LJ y>zzޟ1o{5-ʯ,&|ATGpQ3W.l-#AoK`bk+)FK Ͷ5$e6g@KZeź`>ώבWAnң21Ḯ4˹wAX7)%!= erƨ@.x} C˩K:*tMb >WVvv#b" Sn/@9K_Au3QmرSv̞@/Ip.?=GS(;m''PQi%o榠OL24@L1R(R,/Tb#"KKlӈ7W7ќNRNt9t'e'uϮ97x^?I[ջK \Ǒ*G&L=ؐ(NuBd;j"ps~; W)b=-Yfu\ [[F/݊ l*q$ZE*n??ݛrlS?*6Ԥv5 ="4 GqZjnFǍ¬B.yŧ G* I£{4+^/dZFlFdtiޘL~d݃INI2U@Y^=jD13jR40}N0[7nNۄܰS?aeg ڍq X#gppPm~Xզ^@a1@ 'mP ~)EX Y+g&|BvI$Ϥ*(Z!m3E;?+Xq 0'g۰$w]4LŒ,1{dJ{UbVf{ud N(̄S֨f?簞\ ^:;Oh$IRs"&F״)U"\jXg_3[%NrM.('+%ـ[ݩW'i$5 ?p-64UEb1&[N,7-kw*xrMYU!]pm*a c(" R 9ͷrIhڭ3;>j@s0}Nhs-)%;[8& -_;+/f/_쑨u/ЯnoL|?S^8rgˀ@ĴrQnhU-E^rSK*,>KMm\Y>O $^NB)OxȄ0)fW$vJ◨7pZe[2"fn3$L!kb,E%PVgRq ls|S${=%@:]@W 9A~*$:Ȅ7nj20 ts'| ? ފCHfbd'0-&vB,HP6HUFL=_%{`5#Pg PN! :*A2ͮE0BrCF.  O|i5 /[GjB9Jqg(`~GD̆bcΗe*Uh5\FTbvCƜ-uqLꩃ]!tr Cr01(7TaT # #X4Rd;_iFۛ"%6Ĭ?RH$7YP(b+@N_zW]I瞸U09%l ɚIN`MGS0{VDl>蕷<*ib-W6+[yJD?w%X8Lc~Cb_KV˪ICNwe!n{85xtJ`xj}hNZiAxKUc^.2MDs[(DCq=W+a촌"_ƹwe6;.NΦrԳY`asUKfbD8waZpj-(ULfqnΑa]ӼV21٭O^ThGW 9#ӌ`9 bӹAN~(̍lrWIl?W|'sCI4hWʢ!v q?, Cpq5vH½@; &q,MAIW8-H-Ϡn jr?I'mWps'f,\/75Uu5!|˭nzD;ku4":< c(JY-r+GWP.po"@rj~hp 34.`EKj:JIÛkcIh^DlvvKW/; :3aF1"xeXtvw!Yyևo◡MOO_<$&Gz6R^-.1 8+2uix-ż IzQ }`)VyxA ̳Mє8LC=' Eih}կۂShSˁ#Bਫ: ckÌ\Pvˤk)@Q}/zn:7Q`͂hnlbnchc>5}ށ|*muYrZ uaQ\(z-=WHf4_Ypy沚 FA3K,o@qLpO3G@ dR"JrTʽOI!߯54@tscX-+ѷ:\T6_ô 7&d3D2_m"dLp''3kM7_!G?͏N\="=0Pr9DnWd<4u"i9V~e> U9Pp{"ʇ|1rw9ؔ E!] Tb-e . .njiԠpRZ`ށyaaB^=yjj!TH҄ ^][rppKsޢ1݂'؆P]-ۨc<> r{+^^}2tW"LbY6*gΏ~cTU&JA$ߜ{hV}Rta?⃇QxaoA1^V.-ꙇ/_uZeTƹO&XҐJb)+9ΠELһWi5FY;93N |_-gHs>`7Gqe T4#%$*n+7N ?wOՄz'X7U9NaWVCwGv)y%KX"G|f:5d Gܘ7*JYñ`]mY?{6yI(e\r)cC۹gTzz_DRL8+S%AY^ =|[Å}}嶂~r!3Ng]_z:'LYk/Z Elyk=UC7&hbYs6uLX\}#<$ziwig3,D2Ыs*F+)T53݀J1صr}( _$XfG0}vIncy&"GP>5Z_jRFFd({c@ ]ycJ|$W>bMB/e!0HkWN?qg ^<9/l@'`c; S1 д,'Z@+ W 0_PJ`j1$Wܕnⶺ_Ě?}Ci =?>06ewQ<&=ec5.љͣ4(<%R2 59c)^e@V[Z?q~`9?/s>6="(.3YzBG(bn:6CbZAL8;5=eT{ Z*(+x"rmF >&R4vIIZ&Zb=zY<>` .Pe H Nsqv~ҩVҰqK@f@PD>,( NEWsV j7Ɍ(pg4Wu߅7&gH$Iv B%EFkM9kDA1U/S윐ujzL?=̡;;4L $`ugxKQ h&o$x"īyHK;n'Y-#k m247R6O/BHKM. eEvhhG*bq2,1ӬK3'IlGpgS p`ٸvpa.HO~W`0D ?QYY[,ښ1ML+nw2\;0 w]; {qB*8 DtZhPCXq>'3_M!XYXA xby]CN8? ǷfpP*f"oh1۾(E)I]o`8o)/`ludFƁׄV moHK+$+WF[g,VieSU7Ydp\%]0NjePPG6Y8m 9$co[4XHXO!} [>˷u4C.{4_>"Qj EIG؂)6:پEX1@S^Aƛ_&_–yՓ{c&s: Xy;%4$oq=y4xEg(?izděIw&q0l}(H* MH6i$t7dHUϼL2=iY# r@` .ߺɜ)T~va Ee7貲SSegV#¶!;S >ˏAyc^e^3_f q,jid^O=w"gMK2*+䌿^Ih|yG $'Wf9d]K1BW?S&z k&7`͵?h-paϼ4TF5wy#$ഭ]PY񰳺r3SGQ1G'$e?xctRu-sxh;Ws |J%]C_,d2ăo=2L4(! ^m"&ݮl!d*1yŐ>T07Yv#U$迗b ;},PUjvMvlP8Y$ƿIt5Bk"o=Z2GS<&i ArqpڿX)xc-ƌ쭥n^GքG6dB:gIS~JICk4JU$ُaȧإӆ=bEoVaX>hTȷD>MZ;]gם06.2UPJ>Rpj1\D6 \Gf%m S-2ӢI FNǮ5nc<N!kG#8S;tP9g`ykVւN)F+oOe9I{OIR-R\7@%Zz(_6$$Y/_d6_CwEa=0W"gu>Y^Ne Wu~:HfF?pQiZU~DdB[~ < vؤ4'Q.[OJ{!Ӧm rk^r'>_j[XZ̵t#M/SRoov]M `xjaYL#&Fc V XxqБ{`Mͱ3y#8q5K'vLSM`E|pY!ns+^QS|c: ,RM[k%*bpY gs 7`B2A8>i,ƒ֝Ф6A8/_G,Mi^M&rn: r FZ4I6t4 6<.c?⓿CްmL聝kλdɳVm+ӣ[ܶB0vn,AOoZWy^3AhY%ǣ8S5Ev>fUzb\i9t<Q>gbʬ: ̿>g5?G36a-ExZ:\ ƚ[dvM9eOζӽt.f/ށFgmξ,`AaVe{D\(B(5*H RIL`&/Mj$^OoDB)i̿z[|%5"ͣJH ՙxf?J\ujׂX4f1e]"PK٪^/A-Cjfn4M$w2WC6ꑯ >?ACi7Ty y%x#(u^}QB~%>ORbA8WtH)DQHf.{ z&\ uT{m*ξzw3k43U)-\Pto L B f+v]<3R(O|qjUM~C%x8_` w=|~q(Lmq ;)AZ"V&DBlc>ǘ]Z}R^1VC];r$~rg-i:9 z#v{U PnW:^>cuM@ cZQTx!wsUH6`Ȏ4I6nPi\!IF{P߬;yiȐlÅ4į`٪t!qV|=m/WI$rl~h`)nӢVҨ8jY"b`\۰ǎoiH6A%0+71ҪJ$L% OoC5ADg{9O '` Vc6ļ^jо 0re:~$4/F#:zt~K(:TجU[ds[oro!=NkL;&0'X k~0+iؑNS>=zDH*>|;(/ nhGoBV;48+:x@m^g-O3@xqADewV0Q巤xM'erp@$,f37wz?G,9a\RGt5KW΢Θh`}I/˒Rcaq`daLaGۂ 8^Wm,e)m{"Bd )B4jrwΗQzu26X`ncfm_HG $j-&Z,}~SS 2 L*JeVf2}$q6?-64bbverդ8K6 ಪfe}T%ݑS2(M:XvwߙP@[xAPGxt̩\J.!"TqŘ+OVA| 91qo,;II>s);U-)+E)}-,es98Me?jsY6NřV/j9٘;U{wScvJ%e~WǨxd_x۲mK.#\~zT>Rɮ{޸`rۯlN2d F)0@ԊnwFB*3cUYe+;[C#kT%L{F}1э`v.̚qxP# 7D'D`wTI>D77/60Gj"xU/`4E3WKMRZp0H½qR  9[6EKEMʬűmeFO0cѾvœ[)Ҙʔ{,dy䱪HЃhSy Q)>/ ]qaYE>/x֋#ߎ/V Gƕ|(Ǩt&=>B.Mkm*z*~ཱ6) !yyw%M+XDUeËt]]Gto!9 k3HO)YÄĤ#x]*[us &cDWTA=DC/[;fw^CDhh%G:lFg8QGYJHK 4Q(G.YhShEᣇ e7~y7sm^?b[O1\|e&^`H\DŽ6Dƴz`ke@(A2N{K GE39PVI5: V8IaG'scۈ:*y4W .h#D:v4A+-*0\{9o5\k2%hN$ִ*~h(yu콿( W*K-%,&a+5w,&nmsn`rCҲ*/8S1p{~#8*f3! J jN`uXfmgd6hZ'g lA7w芆$D4RwC@OpqL@|׳%a".aX.a|n1ԝއ&j>hiؚ!u0;I@rr VH*_ ]tF FYyy YQ-1߱:X`;AhDg &lCA^;R6ptKvR}s._VQ\@ ,=?ef89]s^k4@j ;ֺwѱшԃc֙ TP. f|kA=fsTjԖ| x[w k|De)[A6{b/2Ob.2RkBv 8^s;+v^aiqyw|53ϊ dŌ0{NFvwCB/?A'ՠ@\vؘz3.\@o4+-tRF2'A ch6ziw0u#}/-@@v64~bXcԣ()%(osMu|t]—$, e 2zb߁c*mɓ+hh3,T`LTi38M{ɇa@*x)[rYSU>Q x^~l2 ٮÍ1e093ugZ%ov 8N\i~eb K7 QiG*0V[FJR ozxI/g*_6ƘghM_,~xbxs7˱K:Æpij¬+w'`;*[_I{e[(pt>-$Vn=ÉI|nzK䥣7ufdkE]K7_;t8)oy!ʈz>ꨫl+F6r;+kl[P ~IϹ3]!6K@,C;xuOJ)r-}NH mq%&Mb킨4Q l"g߲R'y8'na2^3wT'd;[A54&F0^R'J+o]Flx]VʪU ԘmeQoD9v[6gNY+f z˫!:?ccSZQePE;pJEkě [4Vlwvf/^5z‹5㹚hB1Rֲ8En儽 ^7@:*uR Ny.*H*P.hAMil",D .`Z35'lWj)>u̯&k}}`=^ю{"u1h֒d;4Al iL|Q#C x6%:o'UY)U%A 5>N:,m5RT?~WzdvA4*zH\޺d.1 *sB{|yP){[j+t.iR)pƖ0 _K]pImQ z:3JLenuFdoo|2 GB}&Kؾ쳨<ӻ WB ">ɓY!.P*JR4|Ƥkbн2{DAٜja$wHg2, QzUtX!PkXLl`rR,]F {X=0g"FJ4I4DKD= lͰ3R>'"i:+:Ɩv?^2L8fcӞwD*D5# Z #sYf"R:QG\9zbY)zK~bDT*_uir`q]P;} &a-uI =]fR}[5 .S[$.v.Af@ZT8Vըk' ̶mxe#M09 JbziDPY;"ô*3.Pp- k{&PrHEܮ^8T@)!2VMHS2ә~jZ4C?l7- bP;+GxIz|=H%4@i4[ApGS& }^4Mj 5*@Y#/4}ⵃVN( 궟hkP,~; uD"#KY> Z͝wn[9ÁUncEn^o6Iy "B#6˚ )Qv/B1ML3T"]T}&kvatDIx+鹙{N7e&ꉐa{Rx "_axjcqMa 8,~]IC_.2= \ы{D=']xAɒ&SU\L^ܭU B<0'RX CuKoGˀI__t@ċeRLA}#[NGY>^>/lwߧ[`Pߚ 9bGd •9HJwN;/!}0Ŝ؄ڕD5h:f3?*\?fGԳ@AKS#߂H!CW,mxu`Y]~ךY<+dcN$ #}V_){Wz~J}F~Se4)꛻*tADKotRm}$ׇ :u4ח xz71RҭZx@3*9n= Z GLS Gr#^MUM"jlP`: +?&/~);6._˅@{uB7 aO9XipVHg7ټ̍i" ]k D:8|)s. B\d@eiw>[[C치'y4!vT4Mqf-3ƱPgQӶLgE??'Z\ihV4NE+V#%k5ƙ[qAJ~L&xCsOސ~ԘPhP:\=%Ii{d V$fL 71VAou_:#'JwaR-yԪt #ٮpzy,|x":e 4>U꧳rl2j޷3Lb6˗mq|zD$bK -r>F" z߅U,>uHDgq7˽p+@"ٸnqz>K=,LE[9rAO?-VVR-EI%O*B'/'GL'q؅hFlE] ?>M i5j ? ҂R6LS7.FSv9[rf $"įpƘ@mP2g[h`&pRlb΁>'I.!y o lG L9)|a~|C>4t6! !]pkwA`J6 UD9UZpCG"K;J]+#ImKZ[ tđʍn_!7kSnjdlWIц!Ҋr2ëyJ?0^L|QCF dJ*2Pf:-X + D['S\Y{8ḳgJUZX?R3"#NaeB51=zWPe|B6%G{ku]bF `➌@hg"RAm$ePMXn,H(<+<2XS} ' XM ҋ"9A?wcdy-"*n_{CzG#xQI17{Qq4^X"F&A@Em?دJ9¿ PUV_$x[\y#!uR{ZOJ^6C*qk$@Iq9rcɌSgHCW (>m:ioP _ViN_H+:LghYW˂kTiE *U)#JdC- X)44f(͂o:xqlQ9TI1!-Xy& $o2׊"*"hΰ!ӎͳ MɏԪrgfjD撳PU4mY|*g5vĕ~vˇu s)|!W62D6wXv>:=kxP2%!sljkA0wk.u8Ih?bqd2.JYlbTj[f#.&uOtRPԊ{:a) rsGRq.4)oĜH~|$M',#&lG'mV[T^DpO÷~'))ߒU`n0&98QhRn[~uy vYB8 baxTh0O(b'iHٿȖ; M6p۝Og^BNƁ-e$vA@1PHEu ڍu5]jM2'i)1U>Įȕ3!d\>֯ rt|y$=Wp=.Z1!ۄ| -G^"Y}P+ˌ5ANLM+XVϛ$9u:lL\L㵸eSr21űk15}=^(F@VKlΜE>i&;?:˰@ ȥ=o,hh+Lb-Z g/Oo^vm`\wgŏD`bv Wp/B`>+beJrTMKj~7wv NRn0(m UQW踟k Onט1BJ }%:*.)Rb=Mtl-l4)?v{'}UPGތ"("ySӼtBlKjUזB}8+4W]ZrRnR*A[ 3,JD Lfp.]ICٙB5Z5hu0 z/0zଠ(܍hj_Eb:Ja |\c&N0E\XbHrVzH^]j}QxNݑ9Ζ*oZ 1[q2J:yT[%-di?Wu[ztMLm٩z>]_>O_0-rSMDA?k4rjH 82:#ZCa 7t ],Z1S1d:k^l3\D d(AiQOٲb'U7!]1 >tW[RS#asro2[u/\*dziMuҏ;ᙂE3jvL-}D/s);7> {fx U3YŞ*߮lr`FLNvEtr nPɷyݟiZnGW) GS"i2ؘկ}v_ymh d= <{6 lY/Rb?,ԺE%:K~uRʺLb{,x$Jv*aҩuV5ۉ#^чLnOmW$[k(}Àq^LJJS=rKѝ䩊 u:NBP}H>U@EE{k{QP. ɱzd$u&PG)ԤV˺&haɴ8rO$N˦&>0-v'=l-b:4o*ŋN닼#ݎrLeS(#~ZVqn:ZmN*mwZ$"a*|;JBH},$pA5ɤ&ԭ ΍6-|$`#MQ&P ys 4H̊ԶOnsC'1W颮q8l[XbW9zOYyY)tpq#5:syO sEZ}% }RSG @f-c4*%ɰ;|,}SL["Ҷe =ОL4>koT>F xkO$LfmUh8xsĤ[@CA2=@?ABM^Ȇ9"$w=Sg&FNtj'w;~ΙT8HdhئE 2^0BdXejPa+(I Ĵ4N랦6 %'m(P dZ9(}oRq lv ܟeοLYH=Z#ۧq {>`x ʔ YvW4KʍqƱiO&(;Lc%N}Q܇ 0P9 8@_@hŧJZNa?H;3_ފY\alOHj]' Ёئ孑$"xβ1`A+toIDW;̣%Xf;äLn˦9drv [XtĘ_bUË}+-p׷L9/ϙQߪc&ě7H!Ø0#Z@9|)\ SMBWk$aWVBaG/T~F|%nqzx%*$SzRr螽w%7↓̓ߗ* Wf%/JGpuz. .z%0aaԪS60p_0NZ ۥn0B.apJȍS@Bk}wcBT)"7eʟרn }l".UAi$uvSϒh'5GJ`Ew=2Pq}I,ш]10XUc*l5$('l9R]ƴ_N}ILTTUJ.I[ټ*Uf"AATUUOZP -*{},\8Ic JtF-1[~~x`vx W8S$H*k泛8'֧9#4O<x:p91wjCDFR@`Ns6i>U7 ;f I(Xv9t~|L}&(J&B& NsJ7/xcfދ~(b%hY4ٽ0<(l@ yk҃U#sG9o~3H2o=}<ء8oIKc*e0`? gv>#jW"W'(8^"acf!jÄL  Q]&MZk̮NY1?5$ -! `=%=3_"(69Ukf K=&Ͱ^yPݨ1F}/3c1,y):&~Ĉ܏) ԥeVJ3<̊Zվ >bxfD;)-RiY8(%{'Y}Wn+<(c+*3GT>vhy.,7`C/> $"J˘񃛴ϓ)Cg u(`EekXmjfm*X79lp0: _ӆk( VG4!F&_: 6D$VGn vb*5W2f.4y葓puwCc p{s:˄ {lד;QD|"}j5B1Y`j#EEodKG.E)"`㓑 WC}wQ`-0ܤ @Tdÿ .t; G.6-'@׀])dz>}  G)NGSntz_%zGl.*S4:Ny^1?< E=SÇD:ETdU(4nky ҶQYLޞ O^۾P|9ї5V $s?/3B|Ph;N}\hLZuo!Ccٓ O.nIZig'Y2%Dl )ZCJ>O0OQoh&ݫqEC*?V雗x6]#馽s[WH+草+~ö;ܦMWH\tzot6|v/ ue2'˒x"?VA 0 !|.}g=Nc 搄B4PuG(sܖw/-um|eB>xJ~.{(#Fؔu r|5;i;//>8g yYo jHȞrcw_S'<[@իc(?R/ ļ/P买qV4F'[GH_~ r {G4NƳR NڌHM–]sJ?T"ApxL#>7iӻ8^跦r ECua$;`'TXE+-Q@o u8|\en׉gxB6N9< T'boQb Y6I)?Uw"q#T2\`>&|c*Y vH( /s5ĔP &uϳ%oky/8 %WR+LkAH6nL3/1<.e2gR:Y)R1NN9 | g6WWtK1l/P6j*ځˬe @rUYB"@J޲`[,rt|~ XX0H,:32*//TLSRd}Ƚ&GӐ[b ?CfyvЌf$4'8/l-R@`WvZTP}Ewd/~!&z@&~#R 'PbXhJQwJUl lC Υ)v)`bڗg+h®$ 5"( ݸr UXYb:'JbgfC}hk_haSO1DP-] T?nK1rвkW ')bδNS`j -Ms'sCB=?9:ׯ ̆[>l3i96:T6MU4Mꓒ\'‚v"ڥ(|j]CL?|eɇe8ﭑ@x+5*G$FCK>" 'b 0 u;` zr%rUoӂ_pgd>Z G1v2p7X np\-B毺:^@%ZwȺ!mg v7?zgOkn 8;)i6cie{bΆx(6"NBmU΁x4| wԋ%dCmh`vV$X,8]4h`+@Qr\*5aK` Juihυ\w,]ʱèg`f'_1y]|SZ-StiVcԋiۙxtm҉&ԲwCn| (^ٺ:A&~E [67aQ7ϜʒOԙ4K38X9’Z+eqF!_pFǖ SO5yx JbcU!13M~re8{uG mrm<AGI4Ԇ urp͸zT#\H,mEzV3FgZ#:D^^H5*@NRyn7\ӱp 4QȆ8u/۬ V5(hVobio@5uz7m5 ,#~ rQ ޯԾ:DhTִe+D._سGˋT2V5 F;nG]p-N?0.3bm59woaeC'| ~]csi1b_8/ɘWcPrH]Etp@Ja L8N;0wѤGU}o..Td['>uz#JN޻fAH˲0d%HX06rþf9 #/1@((q.W s.j~oQ:;AjLHj'XG<]A_B<\Vxon>%tCy7pn;Yԟ(gmRZ 9 _ӛ^IgcR!Bg0w}nYe;}%_ȫVk1#_}iWk@M (b? 76vS3\M;' t] ma,NlԳ5T3BmhΛuV]s|ToM1/o9-+;>?>"_5̌3d-6\V~&]TSdJKceꉐq1;_2ʑX&II(8ohHXcoB $ȽL 6S>@6 9 %r`_"VjPC\{C?=1 @m3;̐]DOHDmݰb^Y UMt4d @v(1Aq,VYJ?UqowV#:إ4.u?seVMK Lǧ Z#l6  aA'h-8 FK 8WF `" nkEsnqLW,G~3 6q.;hս-"  Zzuw3.&˃iG]Aa9pTݾcۻgf^@@W%ҧ"T6%*P?u奦X4?qG=7ì$:s#M>/P5ӬK 11bkk͏ZE ߣBQ}v7(cЎG%~#|_{Eu{Z$gTunũYC6/m 'SC@2 s5J/.I+FȌˁIޟ}”Ոx4\c|E #o ʐ^́dW+:,\a'@қQ7wk+HߥRl&i}Q<],&Q΅:NQ~!ÐW=ߡWx`+ ݔb.>|'z<3 9rm?oXp!3KMWvo]q<G(z62|NRm]Z$knKԉة׸Ҩ`n?Cغ W^׮571rhC&كtkT nA>~8n 3JdsX gkH8oDclwJ0Hg\gZ(bv%qX] ܖ`JlUޫ\JXkOŧ\qnw9Q9Sݢ`Y_RwL9 Tﵭiv =Hr:+{z^yE(idl}tפHC eaUJɀp"!0Uv\~ǪcJRTvg ܰTwt┐@. (M> !15fUӘQpH"<;/P23%}L71w(ߨu "@˘w.?~4-kMinƥeWFoA!#|[Fi>@"ĺ+u/`^͛/9eE7olLdgo%dc}# bޕH@kE؄n3KnyEOj8H7TiZ50nCm[ ZD5x0Ӄww_@z]f~'v5zkɩ"O\YF=HGwtmr R翮dCpxy1ǂӎW[vEfKI87/+׈.zF@ =DQvp=Rfʭp)$Q< Ax'#ˠe0oˉPoKgYf(% QO4X>߉~\2З!օ>yJXT`Pf6lteV.eK`vjStVFNy`q##;K͹bb+U|TfL[s4)nS=B_-u@PCL{IvjjۤV#wOiJ D[~ TcH1~SXKʪ*Ev:rQv61A4LVXv~ h^&92X !~~ a~ц uK~/g|՘#-xlPoVL Fg\2Pt׷d5|{8۟!$`ΘEpO D]+V3js=[L13n!~n ʇ58&Ş(ӊ{˧i~=f[h+iVYwM6*If~vuPQfb<(!Я@zFJ!LZͦw杳"l8:OPʼnu>&uD7!dw&@b;!3'g5`ئu'4} IGDK=/P8BVE^ndio,h^3IEG`oWbYM¤#p;Z`=B̯Y&x 0 xCќQhaNsR(R^&s|oIx:m{AW<ǝJ`b_іÝ=kO)@ԋ;E1 Era6jVԷF!9҇{(Fc|'؊n+__~{~Љ.6cOѢ/]_;>N'9o3=a^MkilI5ؐ\$Ϗu*.LkQcDwv1%5LαY`PE/)̢2F2KT'U1K֔ ILE,Lz20*C`UXc$=ά_Pu$ybƣOV8wefYT;Wr tnL#ol֙-&jgp=t-3G, IISo1(|7`L5cЬVxk { Yxé,I-y;*R(jϩJѷ#GWCK*>{Mt4ٜxJZDa^ sRFXz:L:ĢFA%l ȄpsmPO'S#cHM_}:pOݶUD'k_w_,17W#ߋWP 5Ptcȸe1r$˭QS7eo$>Pa띕!6;4a~83sn A--eF/֏d% "{lUqGW*wQdta9~ %[rRsjlw ɵ&3ފvW8y” 3(ct^B^D9S+ڄޖ:}:6⽘{L8 ;MxV*n FeQw0@_Rf3^0bSM\߃;5m! A[3ХZQT_y3PgrR5m[hc ]ֵ@Qw,|サ^Πϳ5,dH~Ӎ`n+>o ̘+|JܟE<=Avq^}bVabh/TQ`Nc\YA&cH2"K4Vdn;(bK'snE I0<U.k4.*&S囍ny9v^K8Fp"8ǒ5|%г1Z#"bPH/=;^g)޸_{AƥJmĹe4yAͼEy*߸i*NA+!n*м]We C#rdo ,S"yP׷rlj/+)I kď%B#gHS<O"v)PGvɛp]υjIZu=X뤺@ny(^w?hdJYHdMُSaD^޸W =y:u~U; ,pvT 89@tQ :`IeQ I\acuM{2{6fI^ߧȶ(B:.%&r|dbso5I0[hG߇JFVPf\CIdܱ{ p54Am]YOe$8+T`0%߸FxZ,@byn郈Yf?Ύ`A},;>)G!mQJ6;xpR̕ME6{pi)RZ)9^+n_:F~ЖP~*Nv mBzw5n=Qk-ʲo8VZO 2TDS{@OZ&9'lx,'%SO|Zh>Eռu20T@K75_œV? "YDV '0z,Xu"9p hRSę^_:m]+*U9P[Qw1dSuwA5":ɐcrg Mܗ}mt PrK'ƇE#/./to|MBZU.2Rtu`@ekiL:MYtHY"e?^-j4 F!+hޚ !:j^7~PF5It5 sԨlfCG4:z׿{-#AypSh Loda}H_+_H4\ƂCCmzj?=%/ ^|. 7MroYo;(A3pdE?DU^!5=%TOBیFW@<}P].LqW2PȄ9$F|}|_I38pESVԬMTgF☖ew]8z!fŋڽkžۥEnZm;61HZj~fힷVI x7C 4։LdX -[UJ$LIWM >*qJd!VitxU-_+Rb҆otAL^H9߯f0u[QP G ۡ(ʼY@w2pH%uԧh뮠;[bW{Ǟ~5E 5 M|4H2pڸ&cmuCZNzߠ9G{/sXq)\ڴ!/Uabﻬ3ȁ՛t$sxJ;C=ˆ⸽#,{}"*<_Z,LKPcMz|>.S RUFvs5 K}$4YjJ _7$[8|*/4<a2ЛDAuN-eC!gRT84uvZhLɗϜZ EiY,,nTG ʆN`3J otBǂJ n7dL ļgZa{’ܹ+%e$g>g523o$*\  3e!#hcTbz$rJRa,P@; nɻ.g  4Է7;O/iP9Rjd ܔyy ݇zAc.T-/:1ϢOߙQ$}"rDEꝲ -;}YL~JrGn:QݫNT${66xkXq$`k^|`lyokH=ֶUݟԑӫwRZ-)E&Ü[`5uĒ?*.  EE]|;S]$BOSTOn6 #"pA C)^;Kpzij4=R69лE!XZ3d{#ed3r. EWX:kU _ޖo(=PMc#$ Eՙy [b}äfԠGLG"Bq>Hc ENEf"cYzW%7d yL'iN)X n>ԥ|Ymb l'g(\(98#^Ƿkd<_ZMV?`ȗQ)tn/g[傐ӿ07t䅫ZVދT޻bOLyhsRy^l0ax}Fgwd'SɞFW4o/͛Hrmhqp@|Ǚu.jv^r[Me{8Gyn.xY61XxY>D@Q~4OGqmsV?P*7Jy>}@~>qàH&P}B%L|ڜ56<5.:9Zn Ax۾K25iZoK.EKŀgpaLJݎ &Ji@tk/ho*Os;/Pʬ:p ٬7!4R.9ƱH$lBx\4=wA-DATpۋwZl=/R k @p,7,tf.]Bb%XF4$X?.wE ^&' #/ b6uῧA?H_<mEb8|=r`qCe!c0&Uze k%6봈\c\QzLn}زbؠ;hzkdenҖ̜9&2hg`S滇& : RT/yA "hJԶ%(Nآc9cI{cq)0*$s@uy̪>RȘ3S$sx$q.jL8%צ_EFQ%W7,_ ss_0 j>AP/K5)ߔtWCLILU/v vǨe-AT|Uv0sJWeC{9vO[81@ 8Y'r蟶I!ề"[v2q4b%FpfNk HNNlWfY0S([U?Wąmpq熲kp(|4k`r1i+x >ܪOl<\PnFUo4zx}H"S]FdֳGArBA. W]Ly#njM~>HM(? ?ZnEd? [o'KCSZ5/0*F 2 ҆#=+Y ۷ TCi'APɈ"}U .$K'Ydn>E0/iA'bR@hAX%ёVN?VIJZ?5o؆5ڰSa$=uQmB-#R\ە1T&WvZVmS҈Iaid*ɂ:L5j%0ͻ1d)Ib _͠I( bSUB@ ]To*G@RLfYrp3Qlm585(64ңeF^SƧP<# Xd|y.R}8-{jdjS6(U y(CoiH ĈoUFh #l7{Zn}q=VޑiO+o&";ӅOv*%B_?,`vFn)Sdգe)7QSճ@0E3tX@YS"HI&5JΞQsF^@UQUQyVʙRH8`4N*zy{GwGw~*&h "'P 0׊&DK⸉1SC֯|zM{ mr0,QB 3 `]r=Z@p;xey q^$cO֘O,Rңd 3[A~Zw_4!frK[b[ D]92E1*2^ h38E(ɍ>{Ӷ>֬|i52mxkUZiO KER,kt4E on -tu. YΝq(as>5WwʴTd,Vk_si&+Va6(lFXC(@. FW$} .7A m3Os9zy|@E]88rR v(܌"E;z;V)_"˿YAR;/)"48K֗'lVQ2GdnE*U 7>!(-X>}RWWKMiD{*{o%!hA dW`yHD *#N,u=oӆ4 н C2R8'p m<_4BV΃llGX('PɃ"\9"uY{%#ؐ%ڥ/иՀ8NBk :GL3\{,pqѴ5]u1mx"|9 <@x޸$*!ux1AX޼ATD(܆Z3IA5[+zesRb{uƹP2h֏wAgֿb+ƘxBcgUDx E 8l8#,!( D ^neѶRaAU b#rUI;eQ/Fٽ魚(9[7cPhd5׳.,I}2\'iT Ko9myd_Fb9-q[CM]p-ӨtiRUŅL';&6 D2poƱƽJ܃4P+B4wXjD3=l1/:%n(mŔ/@T6 7O|h^=s+fۍIkآPvXd^bWSEmnґ7'Y{3[t0u\!Pd W{zDxD@]=-b?-Jq}s_ s Iw]A44u >Ϙy &,A%DH t:gYx~(D#w0$>)#RZ#m$ d,V{^y X=LYL;|&@v#iJm7Ժ 1;rWX٣%֭,֥~BaoF YILI<0 MŽ0(Z47tE}_*yZaNM-{!K~Sdh"\Xx!̋;t4tYkGƎ~=֔DΘPt.u;g`\oMCSH4\|SXl=Li.>`F}; Ey2[^1\5̌$\0q{gmf}ۖ#GJI`5%CoP_5ϙ%_gCi^JAu4U XQ%Y@U]㾭.KoK@JX{]8OYk;9;w0'4S2\f >vWqǘqC) )hz3' JlP畡.89뛍m>~M~Bk<(Tqq-CQ!N9„>P*n 8aW0nXϦNU/Mnp2T IDRI#U"To:sꕴqUG*۶Aw"VMJC{9kW  :Ve_ŲhS!ko{ОΘST_R,.%R"?줃?:gHLîb *aul8$[Emw&Z(iE+~PlWXMV:ˬ]"ޤEqx@řL(RqQ.26HK*OȄL¤&&C+8Ep=(B7c"Ի:( )s}k4?:uܛr')2>p&7,. O"}!R#˪AeTc7`. lBF=~>z| ƧDG(.O(o: K>`,?R<Pt~@lQĺL#d]TPU%Ϸu|_SXωt[#rIn1;9it2#ϑiɝ #q0:2|tX—عF#P()jj#(;7is[}[y"4Ž/';t|lܵ󽃱W=3M :#W锆CKAkh6m7kÊLp[R PvL3f93y{ǩߏ~9 ȖΔw/E_crEis* /XtI 8'fLjjc+,IN&6.AF kcztգsst].ҜgXzңs Kb.Ƈ-xǵGYB^_QṪ~[ Œ7l `eT5P61BT|4*m|;J(b 0$и΍ _L$NWSa\uF> ?i#SolPE^d})VFI-^_@B7G )lgƒ>Z=<:R *Eyi]-oqSȚ¦Q@q5=i}R?MrMh/Dm!m>mߤ')ºD }R5"kAH|aqwh?ƒ`^=Y΅87c-bTԀqtAx#}ߠ3!CAo|S>iXnV]|\kߨsS5Jd&p5>} |+t:!hVJIQ `(ƶGH,A }y1Lgne .-e=ۮpL&= ?Zg޵b7Nn>!i-U4eDt.ʴEG5V4LUyluF~)Qt0 \L^'L~\VA*xH SD -bO$ٝ`P #5^,y]߽]gpCi;fcm|$zFv!DYâ1 \LuLЌjExt5qFTz BJ#j~XWVwWЩC"`Ge$AlY{.T`Y{)n  ~Os=/2FGPz6 x=Sǡ#TS(IκiqƷ? GHpWo)NL| 4,Vl-!iaG 9)۔X5irQ.b;ץ|OsK9Y?cch w&ʯ?t*JfD|轖X ܺ%-gxbٞZ| CM|h*\RÒ .o#̌C2B@u](;/,dk(86.b3u\<)JWknHsVHc\oʏ4k"M~y(U>kϨ㮝j\ץ">j܅K wyB=Z|κ=4Wi`;<=mh w8wzNHɍj14z /PıECϓ㡻}?hfyNb`e&<|^i ߷kgyNL Q? >@8o|0莲™Fi@[t}oVȡ,&Lݙh2Ooxp ǟ5:]֛Ⱦ3kmq%4J:c2b;SoHtp~)V2 #n~òyw Eca a$y̨-P󟹡V4m;F3KSzIDdrNd/{j)߯ _rd 㞸}DiybJ֟! }pq)u`$Ώ<$ushD'o5N=B ߃ujpڄ^La NJJ%D)BvI#Z #(&Di퓄ݾ䏑T('phnDˤ 9 s7W7hP_SKa(^iF6Pl:7rSyӵK`^~qaDXm{I[i;"ZaL;vje/IzT4S)x \ǕUpc z &8mXBOpԅ#qM>0ρ;Ω0AhI.j Θ6f6:5P h8gnQ`R 7#^3`xudY=x$ߡ`JlxQpb Bbmy ;~ImB~~f;d0BzfJAu.g;pX8"eoD=h:7[cH]VI OZA@#kI >G< ca.zDt'^W<˄6I""ov'>?Du=m5ϰӰIQj@B5*do"icg2kwoP0'S] tV7?F4.*uMW)K+RNޞL:wD3=:yŚ; WKX7!Y3\#9x#8+^&*tv=N62/[2tbe+HՔZ~VL 0Xw _qi6)Fh ՈJmhu<7t7>vNZؼG6-FѷR1&f1][rOAq-~=7Snvyou(V!Dqk?v׽ epl?Sc P&A4YygQ }`zP#6ћWNK&_,޵6[9DD ɝ=Ԗ%BZa+U<&{'5ԻaY8CU{|fGZ0hLkW{HP9֮iН<$pwGǘ[`-ʈ& .Oc T%'8_<}ʣnweJ)ME P_ɻ? ZBJ۾֨ #~8y:"Aѵ Q2)A Hz@$idB0dřΐferͤˈ^AWb&Y+Nf8Q:Q1t2D2R*Wt䡾 QL8o mCq~YkHs dΓ&qZF^a`+{6 W(ċ3 RJTK ص}-ڬ>rq))s6T5CS,&LgnK<7td>w[_Ys$}҂͛;g?=<L, KB ,:Uu~UP qMvT"$!GEJ"|`cp]-vI0oLQ! ;13Bc"dij{g|V,\s"f2AoR}lrڳꆚ|4.- Nvj)'?s5S3A/ + 1`9eu("153~aXqLA@Y=E'ͻQL#5}w^%=`Tw:;:иD u1[j)^'\΁D8Sq9}8ʜjN?<45*)heW| (|~YR2@' N|b4*l"%-Bf7#2r2{IS%}_?1pUE9T%0XBϩ@-Zq綅3H&)t[c{LJ<So802B,/.&6,Լ<Ǚe>ҰE8B'ޤ5ƴ TRz:mS^}ުj8,؋pNCvࡩt-9א40{ڸ0zqB"nlXM8k_7'PGHNWpb~+O>uEOԼмL5$gaM/(To(9geyE^QNLubJ lŪ}if|:9 Cnr#c0q+N(^Y!Uر:):goTɮ/V++mC^+8>b%A z|İгÚ5&`9>uz >0*_M:"ȽMCʩ۠mA?!8+7H.] #y`+JJ+f6_hBr7(_Q-I1[԰k2 p='wH]2)C D4>1NAκCB’t^oH&#A&M3.0u_3hz[ s)#D)г gT<T/dhX!3\uCzۻr,#AP~B: @oɖOr5 ҆FiS2A!%?vqt،2F֓‹_ ؗ3^#I'_#\{IS>IHYxr_ 3/xwE̻ W j l2#e`bحCK|3DqU1׫`_*+nvUS`S/vFB%Ѱhw.Ih2d ugm ZFIY{`sz0'GlEΙ|qs%x L.6 x|HgM3|92,g.=>H)2/ 1.\AW5y#.ze;X>p~.MTl>2h4q'@Rõ?Y]O&kW|kDd?4şi'/ؕ[1I nM*>, _IL׾j)e /F;`E"=> E::^W$ j]]$%JmPx;׺:*g[3>{# gWzGHNv&<~+'_ЌkH@lbȋm)1^>jW(5}Wxo<-_;+,@scmrw6*d Yf-~}AADGr&{ ?9UCopXRhi6A~'c݅OZ~/+RIqY.QKeߧ㽧?a1ڷ9]]v"EfaXJ46PDDwFje-%?zKL&DӑzaZ F&u)ԝнZxuR:Qy-=y S;f+(oe|ְHģӈb{*Ջ~y!*9c~'l:v>u Qpɓ bFN ̃lt*Q<cP˪}TD`'R. đu e )~9F:'9Vu7Ǻ.&h$m@@E>ј;ޔPkOmu6d{[kǘp.ݕZ›G`bv@옄NBξ4ж_P]z@+N93ΏD c(6tVP{lcl*07",k9IerPye)5:@z:8bx]y ""4'(, PDC.RR{y TGf.E(_(h=~\jOp'djV j>OG 6 H'lc&~mr&dȦ>U&"DQjݼb4}U*ʐ| Y!:4ا @EŷhA@|0"%Jwjf4BT\.0 k':eUu>B3JV1▏psms8kH$DJ,Pw 7)9`Zc-! .dC` y/%^'$G@|*+w$m; t<.%U)!3l-7NLʇE% MC5Sٽ}aMvױwiup5%M 6pZ*/lΔ +:+oC4lUOƙN{*2}E6Hоj۝_D|M"kH@]0@2Q1sq_x a%Yͅ  ~,twJT q4a]}=cQteq~n Oo3#ǝGuhώ|=1ap[heKΐF^#/ 7+4"QQaBhBm5FEOV#W FBuʑ;G'r;mG^`]Dvvh} ഺ.ċ$G p]S{tW c,?{~ҚLۯmиS'ўI e6nHFnnKBUwݠqRLvȅaœI[~ \da`yX?DL|RH~0t"ed(̈ə3sz>UGBR<PBLI8hۮtͬ4ks &Ģq{U$)1| {OB(]TӲ5`S&"M%p`Yu7kY{#S&nY3v ye@g&?0iNC(HU2ћL./0R,ZaHj'U54`_dcy7L;fFp WFI6cnxq F4YLCcSDŽ{鱨HA}OharHZd{|J4u6[^byjMix4LJWc^P]( =.th {88OK>]N NOE޳e_~jN_rtR9J,| $\ߦp l9/#0@0k9YX@=Wͅd%OM Hȥ]DItO56xo#޺srl6?RM];ڷn'YRM.v 7Lx߼?`5$eIt? ܺKɭeJVTxJG\\Y{F<טao-ԗZ%Wn&ʏLHՋR@Ydر(b˸#k\E24ճ:D[bĖXYZ;tED0]K$A&RHc28XYDxܫK ,jx}.Iz_jHC|szit:PMO/ǔ6=.0wF<Jїm53ŝ U`%ܴKy^3̝.ݠ G<.:_jڀXQg1c n3gaˎp'-uL:eJbwc9ґw,0g`5Ga}eo</t3c^#s4TJ5\ F9@+cU+a9i%qVqrR+u*]'t7Yo^kÁzd*j=h(/YX=Fwhq`Ud=0 &śwі\-s0);W)M 3 djHJk &kk?<{XZbD@ZV+(!:%@7uXg\ٛ r*F?:%E`_swvhAΧ`{eYB;exl@4֎8-*I[ag7~O<!K(&[Pr#KaC]u#W̜J22@ݬx Jçe-9/udސdCgQW[۷QJB7VLՠ[9 =%LDUo/Bp#APb5LnP?APB}?f~K]`Xh?4PxO%J~&O/NFo0+cVY(U{dZgV@=RQ̵uRFP zU 2 Ծ^. jm^@G4W9.N] " <1,c#7MEո~W\6k#.k9`kik|I^ϪQ1/$^^^ϑz qةueI|#a7> w`VqJrK];޴B1czW}w !9x4ԯnb;єYIյ2 л5.@Z I"F=4ڋ+hmapbhAD(WRE ~QRZ]Vf!tgR'cBNS9э*[ӿp,j1r@ _.aXn6rƅQU/q17xl;#nL}mÄ;֢Zȱ =Lp]Ǫ@ր;Эd-i8`CHmЧ^Mz|^4=]ė .˫I:8/TM%ܰ9P[O* 5Y> ;ה#XN+Q’+\V\ȭ5)AyNT)/)/8;e>;C%0Zж n'WN;>ݤvb/OY[oEܾfŊqfhtfwWd0)kadùgi F!k+Þ8 yuNj9ی\o٦gC&yPޞQoVEZ{nc>*z Ei,+#E/RJĜMQQ^aT ^).^;eB p&{E %ޮ[IfNI3%Ȕij6vhX$%K¥)`bLXP E2s5 vJ u/DɶV TdP 0 lR^NGsr :V&Z =M8F*>Z3, J8i[rݵdXT}CbmЗލ4H{\͇$b+)%yc"sKdAFWQ38P4e"X5You/Y!kylwQ56p"=G k7Y~6!Himͻ.Q!Dl\OL007~E׾"f8eo7}; "H& 1Iv rKj tT6҂*$6ue(U҇h 9s<}|ep7W~1:T7ѷ(,1] YvR_R0A/v'|3^HMwMBb ’8_YiR*'NKA6c lј7|Uߝq7 FNZ[@pSH_&BKGiV1~ugƢ5?rfi񈚋9N#JD\̿$wqQbd_plSip>u<6Vcw"z6ͅ@-,tS,nqYӕ<ԇ߉s` df9(% Z64***/]c.Hm!͏+MFbZ+sS.D-EШ!"!8JzȺĮ}Q>\6@5<464sDzЈRtb#*yy'@czᶋQ3&(VƢss!C."V0V^8oX2cѫSL)k=]*Fi K9't6nͦb:_  {fGwV0,+ #YI CCxm_}qgܕ<9G2z8"ٟIP\t"2BQkn*Ra PgKC$,& 㚌9+Y j=T[# )uwd]KQ bc^ޕmz|/]Q 7>n8ڷa4rBXE'ӱB XCک:em5<:"+`,Y5TS Zب'7͋ CFƄ뒵\&,Q>HFJq,bcX QA+^r3J #)k靁oBѝ@UO1r_CRtQx_vEEo2;h=Z`)z8%^PkuakVE3NmrJZSPCY2*Sǐݭ[Evk6Z.`>RX'Kܱ7ܝa[ߞZ2O[7ɦz7L'oӘԭ&*q=^W#ePkd%dR@wFϰd1-Jֈ-= u W|wϿ  77 NNYȌxk#I¹s.{'<bƷJҸ^@ZZdX@D*FNGmvqDzG)1#y4Sg+6*{Ѐk)Tm|^ca$,FY/6ϗH#sdlo?2M|檊H4rJX$]zZzpW|{ zwsaX =B gү.$Q^X,zG 6|y| zCkoB1a!2 c:Q}meGrU/-_ד\ k+ PkѺ^zY-EFk=i Ɣ|'+(頒h-;ϸ,${~C>" zW|?bVB{f^v&No%F^%Q 1Y] |Fv~wRWD}=|fƣM&FTm~wՙ%C#կ* }ۮy ]-c=ݶ)[NГtP5fJ Ut $|}d?UYcfU RpgaE|w4#t'Ab(X`~uq: )>0[ucꐚ@S4qzgQ6A6ޯ4b{`O=`nCx Wl)ܫ5 $.j6za5TcS8 4|_DtG0*nV ʃ=cvvj_qΛ9&d`︨Ԣ,ΉD7XPtv[=+dQx; u3uƜSuP`K=6](n3C|)`e;U!Fj96f:u2;J_lCq- 4MZ۹R-.al )ו9I߁?[sǎAf53*[xot0ڨu$ cNT-#JL8!J`-?)Fa0#-$hf+HLY wG xK!-V펷]x=W9|0zPg(Y2I"rڡ{C@ʏr8HJVaJG{HϩN `ՃX:|mY[ꪔ2v@?+vP 8/"/avhHѡ@tܥ]\>`Tl3cSZ١sz=m[%iӍy/AJ% ~,DM:P̧.ohXF6+"8 paAZ(m;BZFVF/#ɯ:?7C[ҥ:"qMOO\Oh*w:+K /w}DOJ\Wk'i88DR*AbaC,pzU=mCTwMƊH(T*|HeӜ tB@E.Hxѱ(gUl[lGwv&FG}*9iYOj>~ Ml1kON h = 㞍 , H` >"_0VR&}u*pH%)O)V Ӿpyz.苈K-UKMom D//Ā-: HN7-K_Q)Mo'X*bbKl#ϒKHx`߈\EZz!.t~$r!^娵YCW FB~+*o:k C C@z-J>rowd ;^\R|VR/*uiƛˡ)Ѩzq86L/d ,# Ֆ s_ICH_g)?.{$B-OHItӽebsۊ"qZ`&1A.=WO e Nkބ2#\ 5j+3- ǧkvtszP!*񞔄K4IO.?j TԜ/&Z 0|i JIAd# yizO'py@@,!&yj̑P51~O6-/TgU҉ejD |6;R._;iVlZY`Ƽؚx#r`b%Wz暭2wf$]aTF8fo\ 6ʭȟ!pH"{u;lRxONeBن?.EE@Z[O*+`gZ (F\d)#.*ܺDR ^8%v5ўd>CpE cUkafZ[!Z]2O&(:6fk&UTc%쑷|Rt7Ym'$6vU1t& " 2y.9gq_t*7B<G'S6`#re^WYA.,o~EJF64u= gg."_gLqO1 " &Bʿ36oFG)O7XaT-{Bf?w_\Yar6=L˯B~y3m.ɾb? Ug&-9Ҟ_UEU`w Y1su% dpm^ =~_ED"| cvn pV~Z6ggS 1ށ춋t[yqpO[ |w1ڄ@vkx]dlH7.Wm8*ĽP q3\pTk53JEb +{@(Z_R9|<>Ë8ء:/$aoŀƫx@ugрwK_EV):; 2>|Mp2*qO5om(!Obm- @Oa-pNщ}jo3wi(Y{_I#O3k'YUǛo3DpSZOj|@K) x }n`t翂߼p| 붍mRMώ͚2n9rXanm3ߜ8NXAcwaaVv+ uT۽#"V:>an\pM=" D=ˡ\edC(ڴ"`εy|eaM'|8%DL JIv3MT+H'hvyJųc6(wX;I:}+_4#˜Pl(* I+~^ΆC}M敝p]?Y tqYV3{7F{gTVƅ0 T{_jTX`Zk[}X&rWLM/mC -Cp(Vvhp/zBjg?J7 qGkb4oI]~s=HffJ7&~#+;t_>b + ]4j"t2$yvhX!ϬDC4 ^Z$e50LT)v 11N@*+VCɱy+d:> y?؇{,~U˝Լn:'\1=#3qG)իYI|Q%Q* (vhݎֈ]oM;# >BiW"@BV(N@vV)wm% 3[TcH7*A[;i4n&sIQ^Sn;!"<=ݸNύ}>|;Yhg5{ ՚$I=-^-g]C*0 Yrr/'Hr DCJGupQkz RꕏFip2ٙNAZ~ѡ"b}& 5dspO,T3TZ 0ו=w9ȞLh**`*90~ԵP@AIȿ3djߐX:zP.Qv!/#EJ +OA$#Lԕ{gJz7wgG RW=3/I7OHq?B<*VS ˜} @$024yJﱸ,s3|q$IGgG*A 8Bӎ D ~N`L%GGQ-Kp\Q=@ҺH5U#Kœ,^-bn\QX Yܧ[% E[#a]˄l sXo q al 'IЧ-zzt'ei_U>r|8ٺ^xBLz dR}#& 4&-XvhIxLz+7m *EPzA,E.nz0d {ߟ E)ezK(<ޫ)#Ui7]>W-r8~Wk{e.gҌr\qVK_ً1ʼns>!L5jcϻϡQhbLEc;_j GIU+{=3# KGWt0/3ۼZc,K]3y=s#mUЬݱ@Wr"=xJ;T[i/4BXo>ɓT|8>vi @^~Mħ}Ō}lˠEUN͸ {i(|k3~}T5Kї#!04ф^1ˍ\ l[Ǟr4)IT $!mCnTN8x09A$;j??0Qp ]eiozlYpFV@ip :ώ"ZbD^3yD X_߃/ThhT([eiE *PXYL" (Y2pbZSj`hX2!^hN_muE;LR,j+w&֊"*S<ſhl^}ܼR@ύs'_brt+Qi3n2:b NqnWm{MRkE18B9ek2xtے:!zJS 2Zh 4[JvJe?Ɏ6%bwz~q>k r:H2eBy;T-I} ҳp? OGLkwkzE'#CT*wi>0GcB/_ᙦWz73ȫvE3fi B}}/u$FK" :_A`ע+lMI7=fhɅ2h0:|k&N2 3+]P^&[~C F>vy젥{l!4պG;;%t*RhsN*oQ3 ܼQ 02zZW gePe7vk*zVwʭF܈}·}@ Brn&;0A}ms<ʢ&NUi-=/oopqM/s}Dݙ *|o9g'f5Wa Q:ӀB̟ X<]ɦ,m;~PKc*xkh;WԨA^9+vKLO[ ^ 9<=HJ~ezn(7{u6=.Oѕ~`BfetxAiӛtdYBPIF[FFKhV츳 Ont^'섶bfskuT/ n=& I_D0?5}?{U6pKgBgtw!Zm#p^QtYPm+@f-|Mڭ V:aŮ\N 3m[:c||}0.gs|,d_yE ^DI 5nz7  oz1fH9I,0dʮwȟ+ɐB*8-8ТjO\k;׈/P~?Gkke/.{ch|L+ 5Y0hWZŅȥ2B %~.T%`n7m}~k:v-Q_B&کuqjXfY,3%`R.Ԓ8HyN -ڀ e (yQrd&oE6{UF^ |_ʼnax/o)QPLQ`foյ?Ut9*Sɞ\OE ?:E9(M՞\J$ݬeڐ^=0n!gE4֢1ձf?c7cp\gxo;U8GzBrC1dfI{C |> UH$$`oZޥ r˼؞lnd0M=P!gmKjvy=_xk Xj64謴dU//,ѕ 9aoͭH; 憈yV2'(hy_AX=ZpA2P v&v#dZX)+<%‚$E%O( E?&ϻ' 0=Pɏm^ɁrjŞUKhanS0R_'v N3'U|lӋ+lh韛Β  (+>v|ňO*;XM(k(d9َEg,O`}s-Jƪ_Q[2:bjVZt=3n-|3k/u S?s;HkVn.P$B3-}*=Yo"jXdcn5TUΙڑl F4iLg˩47IV3qu&SXLGq%{" .8P}(:h \մz_ pJ`7!aKp"XfŒژ~]P1)e8SPҵ`DLSS 6Z蹴q̼jxO0V$yгߥ aD_LSmQ#M8%&>5( x69 {D1zoX.nm" Bo>2[}l^/^!Pa b&Iy'5Mglz6Cwa]gv6uoˡV,sr82)&Cb᧟*`f`p{"n>31eȾOH,f0Ox1tgPZwUf=N{fXS; $ SO}#m̈́% A1[RN[L'n4V+ HR]:т{:Jktrf2Ϲgx+{qtGZFFC<'tحP z2ky K0mk}xɅUkY hx7ZSΫYqR٩ jFqP*}j*ǺD71mt<q1>Gg( FFn$Wc)qNKPx͟:{&QwhN h2{b7N>Kƥ?bg< Ԑs((c9B| Ư3Uݥ/uVQPXzU h5ϳE)~ /j$y H sě0Ή- K,ŸQ&J2 4PTҊI%rA~ƀ2ʯ(%t/9ӫUot CVb繒 N$=)c ( a0#pϺXjc=6 P}{_HxJyV{ne[f ov̛^EFC/Lf|Jk+Ơ4~Vy߱">IԳT r{EB<1^vf{{~:ZL =N@=F3-z/W89f鄕nR%QFޱ%'W >"lT!| φ͋@Nd)fzbm0X:aӕy7P)QUQ.+@\p9{/RiW '4@Ze'$1H<>BLpƂw`$f&PP%rG _궫g:gRbRǷ2 ^B ԓkծ@TH&11Kۃ]#ˌ–/^!2~^u2v׼Qݖiߔ3m< {]wc̗ &".k[VĔHxa $IVʵQ6!kvG ^9\[<6TNOuϳB Tz\stOtBEԕ屖F%kVk!ps҉Ͽ:Yo~7!&l͌4<@hP7 OϲǚJ^{^sYWkfveǢ~O-z(ȡ4ւngp-Ně7}&8h|!%~Tw$ষIGe+jQ~O {E&ӗ xi@fNoog~g;Ҟ~Nw~},SE߱Ź˚\DB!/*Ϻo2nSX($B&vwI CcRQX$:^%ZxX!+QB4B*d͟Ĵ}@Eq{gHj>3C`w*'V>si) X(Ú]=l^? ؗ֌m|\sN^j~g]-@p cߩeU"vRJ`NzAYuA7V  *Åqj5Nb?, ʘ̮Gi$ 8O,R~##8[qD:w|.6qkVe0 N 0V|#O `9l]?= SwȤOpk?௠}yOn!oLKCWT1uF?Lε;KUDї h͓mnuOC!VfeJbG嬐=@Ox0"+.{ے7oB˱x:m\˝>m*E%cSQo=[Re頥ާqSC$QX C@if O̕*Dz掶H MgP6'1E `NtDߏ86\ ߝ? Chj]m@Zif`y>KZs 4)ْ϶6mq%c- daX|\ѡf@uAV Y: <ѭ{E?UcR 9GY`ѱJ/]3i󞜣 ROw.ߌ:qf(Qjhhe@9\ 0`"EH?.Y]6BH&D a &]X퍩7yكtm Rto϶U._˄iU6]iWt|R {>Lhn]o4:<귖Dm*5FxF$G!_.˲Z0)+'P6L-Kx>3yZ2+7옵pT"}i耬JL cM88yԔ]=5r d~8v G`\dOj>)^tn$ɷ=yqym{FD M:Cdlc % ATw"F7c N~^t_5N\q s Z'+ YbEZj=_{Dִ;g+'Ѫ7ܫ`TO*_loyGSWU4 EXa3/Q3 MXxH >gYsSpW4{b:cFK.Vםo)lB$Eo*Hi$ml2rHtd"47L?v>ĖT@o)sK~=ĜNk\09W{ |(m |qRh 7gĿEBB(QXjvm; E؂ha$ 7~&Sw -J)S+_Kk?9cѡd"-]u$ J*T &VN:|BnW vȽsS'ya,uwe}3=Jjk^* Ӑ濵.4NT/%uU dSuQp6۱+]XG[|#sB0K;5'$_UM^$t1@k2'̛Iʨi(Z:^pȚ4>,7V~]Rc؀y{zgVܠdf8CUDy[)U4t>{YAdbcZ\1!Bϵ؝lW'We2aao#~4CS7  }W.X: :2 b$quF kǶncx(r]H'Ap2Kf2[z'۠G}mM"Sw8BDSbU$ jj*Α_R# )f-Ud}iU/QG (hR!bi9kvJ{P83_Ȩ XTiҋ?p6C1с9h~Yжm $BʘJB<d.ly}AE!BU gR@~ڕ)GMa2iYJV552b጗S, y7/C\H$5c=<_]}' =ßNf"yrqEG߭K&%Yvul!MOs 0V<2öD8N#07oUJCyi{T_8y&kƬty`2>jTg7i#׈p8~ 1xvf+ / `K}h'Ț,:׿TW{]2A_̴%GܓUOPxOA}lIKJ$3RHcyxzc%\n!5O7jf6gs 7׊xvp0 W|s!*SX {tơ? 4[%q)tkG'5}H,0%Cs=B#S{wmj1+/ux4EJ⍱w(ڝ?Xo]؄{#~.s 2T}Gsѽ?t&wxn=gOc3#(8|kI`` ?[\0u^7D%C,nCCqnXk4!N'`]"&#<߼$-oe_wjtGGY ]hgbSrR P1w<+b;-c`An43?&bMNB-"I#`D()|UQ ~T c7)ǝ8a|@R['pt?;_e]Q?y/XD#iQ=!f13{Rj3$%<b~ݺu˛X"a SKF9XB{'|19 =Ĉ'*q\ʚF"Ĝ֍o&#$5h*b]K[om@ăۙ%_qٮLXSChѠN;qtHE࿪Vi7W>e2 $UM~;~e 0ʘ ǺwdpIRcmlY:WkܞI8OLަ}/r۶ЉǥBeyoS9fe[,qN̤`V+_&E מFULո&Ml;P= UQ;!e 5/T= 7vvh +T撹T"bzcXSp)˂&')Np:,44Y;#[Oςo.ÛO9k~͖ETWF#P˄1oUzQu@ a.I+!g*4Fun{`S=H2.r3*T $ ԔX9$~/C}+l"K.#~:a\#j}3ɒ߅!i`ow&ݻH'{ְQ!!;_ cԷg|[2[MuZ*MlƌH6!DGGYNY=W$';n+Kk|gE$te/e VsͦpYi7\bKYBjQb7p'D/Zq9_ E0/ZoWt{g]uZ 9guR%j6mJv%n`ﯾAӂIT.#Z}Cjfrck䚅QI Bi^kdɿ$6"Cy!A-ǵ-v%A<+M5?xh ($zB"`]řÐvq&Zu~/QE4 :Ǧ& ecDI!>۾Xb>ݘ 43L8]Baa`s8vU'3Pkha$_8 pL R] :QH]pQ@ҦaOirM#:Eۓ2! EGΟ>T:A 5*.WHPXE1v;Ao&rA5V`G|>0=W$/,b=lJLFK.Iz\k] K)WNXё{[2a#>r_k8<ç|K[oSKm2BȦʳF1E3b7\ %S'x[[Sg<>\C63*Xz6}R@U+`!d1=ksDH9WiOM{ITqT63/V!TQ1+Ϛj=* !+FwAvUлHYvzB$T Zx̿}avpd6*G'+m2ՙx>H3-hxoSrD2O3QEэaG$Wc3q *y 3n)XuM\!B$dpظ;A^E~FԽ DSn!Yꙫ8af!bkkįK1@Q(QZ3Eyն(l)F(TJv;<4Z.&W^*DnRU˫Z^O/9(RPNDҾܹ &b-؜vX'GD;Gm=+Y4i&p/^ zn@l7du3}iV"uN?5#|^(!uLۍ+dXrÙ` :pj+j-## s~snH- e;ߓKxFU[4F*&+UҬi3I&*!lVQ:Gk;bk ; {=0N)仴#h̊_W eK2`sJQy?QȣnwX_E pC5rAMC;hjRE6x M!㚳x!ϫ@K*Aϙp FBD[8L^zI\ᙊR/dՄ?k*RcYdjҝ< ~{X^A%Np%jlI37 G58_|-3ڶQ gR٢ܐ*DWA" O9PѪf~K?PmsMvھά=PFD[^`og65jRп?D8n-IY$Am>%kTj_Fo6LJXMMٶޮOaUXT!WPuQ[qA^kT,i-𞺎eW|D)ݑ|4hr%ltux 8 f(/-D&>mxaQV7M2`=1 WjOS̋?dPzQ:b@=~% [\#1m֙E;t7NUE$TKzBba1ԾSޜu3V9=꼽 Gv7Y7vJpߩ (f7zPeYԬQ2lO2voE+MT|X.qm 5w- ~{suQO%MSc-A uu}+= m)7A٨_qc\Y/J$74 fʼnKi#: H/~ 40$m9nD׳ \9^1S#YWB{\8 X#ͮs[/>J GU(@V nNi(#`W#&w!{Ⱦ"qo{`,U3K.օ+S%BWv~x QgikרЧE};#G]ЦS&Er'_UKdZ4&( yey, 1OeYP?lOM$wa$_EFK=\_yN NCZalUQLn_&mc@^H Xف6$)N_s0 d|9[m[ 6X2)Zz N0^98"}A]}V7Yfߜv /U3]w:13)=M8Y*+ImH]-is_i~-UxDԠ47۲U@}߳Hsng}hr)/ n{!`'|j=Ej%._V+?\>좺+{@0ȹrGM> ?#UM*K-~U1 ^Վ+<]ή HgKwc0]EZʼnwq"6aw6ɝl H]kevW&$l̨}-4`uM!r@XOwt|MJX8[7=6{T#iQ){1,:a5EhiYAqǧ ;9T>gti:鬲DQGEOiJ>3Z}$4,176k6Z $--\'C^P.!HܬYʹOu;lY9> 1فprꐴVM8O s4L:% luhe&^Χ4JBD1Xd8V ;TjI mx1ȼC?OL#/St#Mp =NXUHb.B"_R0g3!|rf}_=1F"-{utT{O]U+. I3e7 s#̤1AӦI;ߕ3~mS+sLcТ5qZ9X.K(')q-3MhX༆-K瞹t/Җ|Q7^gG"-8!gI ^> pBݓe3%#O:h9(=mfbwl+J\yՙI8&aa"ɜN*8m`'~NhMvO+Ώ姚se!6 ٣D~Ҭ=36q\ NE8ePo!r\Ϋ4+(. [ɡzLʸh!#eQlQ L O;E(V`?V<>y'Pw/qؿȪ:Oj-M!,l$t҈ O"jՕbۚL;*dEA8^}DLӵcBErT$t<|@sN '?( "$ANLeӎJs:=[fvbqRtCfhMgUPf :T5yk#i}):Ж6Qnږ'Ԟ=(-n> qsf)lDn_4>e86"4-d$}PtfӬv+>=lzAǜa"K~- *`d./0zgWUM gT$QA&#6}-mۄ[,$lk;K~ӑb:oQO RGȺbx9ބ8E0 [V'.5"W%Ngӆ*NAs<_51)=3ln[ڑ 0fy XsZ,9/!,SI:h)==G3q8/6Ww9Eb`u 3lV-*~~z/˕$9l$@DVںqI´dN[&IzFmx|]w#ay=w\/q#l\qEA*Wˎ)̑sk: GUhL}e7 GCxTծژ䉨د5tmmW3F_ y{>b4S>Y|\f`}`V Px\FU;V$zܰsxxNl=ɺn`.pBEh6ebgS&WH wD}*ts%㸏F-5C5"f`D?Rv{JsSDZe,H̛4uقYj`oyKFuqaGqI;x|˒><وgah=0~&^8ϧLCA.Z3|_ C;.P3D4Uwd )_ЀxyP`3,m>0:e>*ze.&!r%[mkr;0ʦq3j l5I6PJ2U]2jZ8!Pgtֽ3@I K3)lQ8ZM y_.6b/^ 6)0 |nV(-^1ǖ.6OZ1ppk\W ;EYP2-:~9fRSז3ꄤqGhFuq-w,1}pie? I^^/81p.K[;_t]Ft0 Iѭ[0xl]U,} j}P_P ~T,C^,^jD=❧tq :ӕMڍI]TٙPzsy+*RjMYTԉViqܡpYQA`^Q4VJ,C)5{\cDW/*}1Ci;P7kD~tMCc62pbey\!VozilZ- ̚@9*.^Vq!y*$.=jk:j? ײu7 ͼl\ L\-'# &X:,To֙U8F0gZ18Ke>7UogH#u7bBʏY v |UvlGM|/DpͩB]: n睈$iL$ (C5/YKXL_NLWD6'P {հ\$rnmKtН'~wZ5N3(k1gN`G)ׁڐH,I䛣>T%_(!.ffߑ4cOdE/ؠ%R3A\ m(#Zt8a ۡ<Ú{A* !g{񤻔)WNX_Gz Hg mlJu;km+,[_Ӌ9!LjׂƖQj/ Cn4|*RA%YrKLP;MqJ_ti  5/'5[6Ƚ!­ ,kza3 @[77\0CΝ3sGncqx^7Dm0| jн)} ?8Xvcش5"NU$(wݾUO%Z **U3,]rV^D",a ^$%$0vx.uӑ 1e 83a*F9f+}h2pk7$ Uog @hULFla^s,SIcL]sA_j,ALz\L q=ONܕi'Db?eDZv{F?.&3[no1RF@2N&줫VPRt(A/6[W4TLd̈j',~"_U0M / JF^ʕ@Y`ixOQ/:E*nAȞH,]-z=EC@4^"xgqBSK]mj]GIK$ y KCB1J2(ꯛ>zCZ l7Ǧ'mPK_ZՕtPMr ;PaDEi)GQz4^Fq7 ehVX k JJ'+ OB\=qP&A(c1ˋˣ&FD62 |2zduBMΖ#2ͦ#@DnC?΁Ɔs|Zq7F$1'XYT8QOuJtHz3[X33+&vwF0ɸo'\4).ɩu[]XzVP4#WC"Ţ&?֘uJwւ[cazVDNl&Z8-Pڦ}3͂עس'kK搏\\:s|X,~@-4˟#q[Kku|rP/F"x/oEa)UZM!*i@X9e7e7/uCbk99A2ۏzr8|]gWkk8NP xeSq|Z x2wn#xzI+54iHylV1NBrzD8&[jYx o"‚ `Aw1D-"Pn$&]EX]ny֩pCv̐2dK–,xl|4MHhCSX, ]d*{5- r:/VCT*[3=x._8yW\0c20N=O7p(bZ-K"ղ(&+lU6 hvѼl̟~Ila2MGTתC]RKEJ,8[]txya#`lDRp*'#_/#)>Kæk#*&,p6IPRJ-wOۢiftS(H[J$7RP(tQo / {ǝGl[Dk^D5^6׫Mr.niyeEu.]iT2mCdV)ri\)P+&~KK5M~O8?>7| U[<6\;EX&2A {Uh>[O^[5H`} 2&3,Di>@MmLدm~gm|Q/ _XeN-h#x Ae_9jY>e©K(=ڽ{wl,|f+YbJK\ca~;c̠yܷi_`mF-eL; A:)DLpX˧-kxz3S3N#bk_g'rTUYJ<'FUE^Llj9*P1Ыph$0!t|/poY8_"-3[&0=:FHN|vӑ HHE[e1D}՛5lsuâ#0<ՙ-D,bŵD.iKI,Bs4!ϼ>&(%TּH ߃GRas,JϺ!L= f4wQ:;Ug&a [I]tΠʈٛt}R"f̓#&q2eчzqvB7۲f[P^i+6(G qi5qe }`%^B0ZYLTy/j'SAO$jK0[gK&-D)T[1BuX/N KYCƅ_4˲ tQG %9˜RϝArG*SMf*?])P JԎst/U*cӻhZjG&L}_EVKVR<}0ҧc#Ht*;WtE_ЛQd{"1[Րt-42^5|=WGr#5'DV!M^qd=Lt_K= ]O&ck|6KXP8d9o]PОKjub6*n҂Z1ԒwI2>آUkN"ɻsfpHx;Nd=:jث?J.L>XHC5u Sȇ?;J|[ }AlN6rBT17!?+6!*`@˅q#\= gP-6{AW7]lߧf/d Ś3]eQvEtOvwP~bJSČ5޼VRO$*;g\ďBMgtk!k76lԫt)OU@sȩkxx 5D蝇K" -n O`My&>4BkLcBx)ML7/_-%j3o> `,JpKL&)yu=F8y@b=]QX 勁 u%ա@61j}\#vcқʮ_KݑM02"c.qnԓ' Nw}ƶ_tlpH̓YB@=VȨ *֚ 1-FNW,D>f ?Ȉj u)0F,!>SNAV@#Ixk1| tsMы]<yK} &0i Y?e5P&~@0NKD,AN ]:÷+ۨ󪱐m?s$xH ÍH(ZEn~'fTXELO1xˈKP/Φӗu쥕6*3{11L Ip%ٷHRղ=nтf)A:37\\5R!0`k4l`i0s$YhFU3;wO5{\2.&qZ>? 3s-E}%%Rp=*Ptz7I(6urnT *,[Md <>WA>V\)6sſQվٟy@߈dUH$>^`|5Le%vq~JV䵸afUƴ/֗{(|6& Ĉr…lb$Dx%̡>IlZxG< ١2LܧΑqGB#op(VR)%V]X6'ത sZܔ6X{ E&>2/D#4B:U0_bSCcRʣmg{3"a!m컍6EiJخ=K{IjP;[;$S2PT3Q?SF}]qgK R>8ߓK"=gKi0SS 5[``Yi-A=ܷ__&{.\+ ہ"bY5qVcj:iҊv%[KMj;uXoz =ߙAi,q:BZqhyH5rT 5??p%*=*Jω 2틝iNd7x" fȞmcӍl9KISfxt "`ц}`ktmddgvhGeFc*pT$aK:'@8~:vHm^w$wi-/Br^eߩ&Cⶈ\f2ƺ37#p$bqTw)y߽b}hաQ1$PFr5 ~‰`Y} O2.H<ġa?.>> ~h{X#`O>!N1K*-uDka>7<ׯgk}Gtz J"n<_p~B+M5 :2D-h0wޢjp=jse/MxwuZ*]0ePmX,lF֎%Z]ghDv =t! л.,,p- @pGAU`ZNGexpܑyU=5LJW~u B;(x&_ԩ V~" zZ{Vu9T6)KF{,lNZtmDAw:59 @5mU"ધS/݉ R,oUSZҺd/yH_gD }OHR]JkT4 dT?V5VnhKtJ\s7(h'TeNӾ ̒4~yX=8.:YKD/ɪ1>6~rQ`ҢJ~$bz %oQ~ۺuoanpuË'RPf<;*Ek)v$0WDS6 }cȮK_ -ey>B'H 4;(XEƘXڤv8q 㹃b+Pvȥ9 M+#,~hGP7OIj2 vG&_S s'?dNi^fcm윆L#o?jHNm7te5k##ȢuZв8z}]Ԕϯc1Wƛ}@3R5A&rfx|8CE _QCsgЉNuK M;i\]w&~ GkN ʅ>1L^]S|$GeMo #gr.\Ejj/CfX RAHρdžM@JYz 62v- f~xϱ2#gCc/w!xHov(smp6KVȸ`D35vq M ߇m@"lw88tɅ% *W2r`d yĎx1n0/7^&0WI/uB+צ)[La۷%64yċtO/0 :d咸_Ko&=-sGrN^sбn % !i~/&).ި,mq% *i@rؖ{@l~ ɕ6BӞ49XNxM'{ݸ ;rޖ?J wc$z}Žb'~fik}ҧVt O~wNcYۨf(s*D$ObnӭCVKЖs48ڻg5Pt0^KNtm.'=YQ"m=rp!죥~;6%j:~WNb_H9BC{ru1JkˮY)ū F"MⰇS] 103vX{eJo×B"o &Egx!,7|+f/!͙J7Wj|E =)oW\X=yPfh"pȴK6}KqȆq/G/'0}A)q|w nf_IV"к/Q R7@Ш.=ޫӤ:q]iXB>/hf _%lz؝DWP4A4gv1 zS Z6fԺ6ޓt}_;O&TQ /%@ s҂>,bUU-m0i3 >HFfP@w}O:⚙DcLW['C,\MvO=ɍYz8:Y:rfrHB)pA edfp[c(2@-4pU?ȭP fS֊C=8O at<}9Nvf j -㔦D'.YXgŖe JP$ǤW=9ZVUn S5rB_xWJ*["JG[),9Xj1/|K"d'ۢSio -<[:+V.>OyOhoXTDUEՔ;+M~+ ©c(gʪ&Mj?ZA*\MER`eEƐx9SՐR;-aTHYuN`N*:3Ӑ|-]GM%4f ` Z?eDfI"П=>c?K.Z5/,%1 Xn`44Lp^7I@yDZܿp9/iW4&d*W9P]1< 3#P@%."B}?,#DDLܖ#!C 6[4qWOCS3J[ iZEdav>9'yS z'k}K6+֠PH+bJ.C(鲐82w|QhQR1z ./,q۽.a[髙,upB{hˏmtkm؂g%{'`QC !}d<,V>A2q~/!-66l;$ @jIE_cJ/ھ x`XX]4h>pF bC+MXE.1ά}4zܻ=J"ɩ)E#nAWm[syƌu,uĿ2}dFtpf KKp2 Lcރ &3t6krwo.j0(ͩ٬sA":U(D2ȻV7-ASb%X ]mz Ex-JG07"GWm.Cv~9EQ:x3t~|-@ 3V_`%|P.Ap p7mqBۨI@F*)B[\ 'Y-E(IK8[~N aP GtM3&EE%=c ʀMOtǟ]ӚBq0*)Ovͮ1%`dKxhm{pX:dctž:.@G+`C;T"S5Uzߧ} TK///MJsh(6ːĤ.o=jӾ'CFST1ن2^W7WlyE,|oa:E :}xFѴpzzҸ1_Y #&t&=7 <5dyfp^cDg$bי!sI`;Tri&x@BX@ Ku Ѩꆙ*13V"lvf4+&w bxg]ij ^;W `$ұH0B5|3V"d+tlO?2Ը@tl U&⧽\,*1E"+'Wcrk,OrjJJ_˭͈ }/ ߴh.BMw2$ZˢQ8mu a VGwRF¼IџeQbGк ;Pβ1*T5 {K◛g<+4oP,gdzw, EQ)A B0RS~64ixS7OG7;[XCy[6r?K)x4)j.е/:{2iICjM5"#@Ֆ5vbB0ShâhOۊ~0 s:NEJuUf_b2|8J.FB"Nr!P;STu-*&| yi! 5-uY[NhJM5wexh |C`%M!^+٥ 0Ui.FɉP䫤ԳzY dȈ]8RMhN@+R FS^R_ (JB~[zBی oݧ)ߌҎDPY1r~> /o%OՍ#dk="/F(ZQQ>K)MKvZ9Ԏߠ tAaz%,ZA Z'.Ps,2(P0%dN^!M0 vPk> V{f dUz?ЀJ)KD9͂][S؋3DȽ@r'bBSONB2+5(À*6>)0RTj0.+p]Z4T7WNl8齌(eVѨ/}GrV/|zƯڎ0{V/(_q*ÑˉJ NݧHL]+HEVmIK<7=ᝑ|*@PkP9pZ楩1 DѢHOs𑮠!X?+5`6J͆E2DQ{{Dحc8M[;ն`vMwK~;mҀ/SV)ڱg3e{ 怱O~\wOcrCKyz3ges);uP8K=} =ui$;'w`SktN/9͎<ob\A|b6>3#)=r2M[tC>s]d8!>͏mA-P"Լ> UM!b087k8//l ˜6($p% 7 FqSpR(}~V/[|j6.LBtC?i]so[rkf~F%o]sxԌV`p}d59rR%>M7닻lM+Hu6xkrj /=P績۠P;fL.06!Zx(8kTz3Uu2Cao|9 Be#u>SEbq )ە1),%iη b"ïr_ѱV7`B<(ia,Jv9Scon6I$l#%0"`n*J|\n0Nm2x}z{xF%CW+ED 2ۥe4 % ZG=0d t;$avOj͔]o%;\]hC\2TX,G[@j #Xn](!Di Ƹʪ7\G3ULy>̭Q3p헗-5g|+H+&#wa|}MG -N:ܪ"~,[ȱd%d w\;qǖ6[Bہ_u"&:ftR鳺"SCD~a1g`F=gBgiɀTF]٘|d3v(gZ8\qPdJ8Kf x@e o0}:Uþ}Hܱ[PKGeUOF,BT={ d^CV+sfE@KSy2cI;dCxNu,Ht'YL沬ʥH[,ߕ '=[5$H"AP:IkP^VXdVw/P&cނa:ZX bϥv@?#@ٕxy05$CR)2ጦey) O\ ԉYu*Je]=f̖\3ʣO##C# QeUhH (C8eP%}dK.E0,9eEW#nKtۀcd^G^wRs& 3R\PɗlfC~}}e>B~Ur[GvI+3̆Xehdjnާ5#eޱ i_$  U if-nk]߃`5}mU r}$ވc[{t` ٵKcݥ5g=f>d.sܳ`:P[ܩnLH%\P=!=Omj?X췸G^y q(-K9k-%QdNe%2T8#ٯ \[Sq`jr(DvCmqdSڝ[jc&Q7{c2v^]]w/`sX0s&4wUKA кWGċcE΋ 2Vz k/*-]0f3JX`Lɝ-`NiL,c"hGb` ϜB3L~al:]=v[7A{$pn m]ù OnhE釿gXHuTf7MWkC]q!3Rߠ<:bf$HN6rcfiM5i`||'%Kub)2hSfS]Lvt{-ejl &"pQ  k$u(TW6 ɳ;7e |<,Ѧh\8Ζw  䨎hgvF^^6L#L2LFuWDV[ܣ^QiJHU貓eF`x:܌1N 6eߥPoJqR@UaH=w$ U~Y 5'Hs7Rc(r$3^p_DZ76Tu:ts-] ~HK%.NX.HwfعTܨoEk<ձ淈0>c_`\46-ҭ"xhGa[M,$oGń t)[Jp3Y2i$>u,;} 9@x[ yLUY&YߥW,#wrl? [yO_weX~z &YZjKR aDȠ(-O%x~`Bf!z %U]w /;'lGzYß#Z3`o>i p>L2Zxڃ ;?CՍ.9&zЌhSuh 99!m);eOgh~9|_FZdQ͋nBInX̱`T"g!1'"cInP@5l0ؔ! !;/J߃nbSFf27$-%D GFNqŬȑQCK#G+%ݾvRuQ]0K۲Lz155곮LC!P:NhNI͜QyYdiL `eV0E cqaqbpQ{0!AAO2@k:x5wJy; uc4؅OtisʚT$  GpN`RXUb16UiY,.қOnX@J U9H0M7/0i<ÿel“ˠ353zuM9X5ㅲyZR7v!@qltGJ,` IXФhl~3gD\\u hCM,T6:S, ^yMDčΰ˴([  c4E45iw$C 3PMi+Lhv%XPtKaJ!o$j5QՃ $3kY>lv!6S` \TXE㒿|jB6;O_DžKɶ7TH 9vl4S]1ۿSLeuw!ٔ';eœBIS`c\v1wgt^! ?={>hZzhS$j7͎F8=I,Ffo=%ΑSde- COyeT 5jR)YCoO;]^*֎ަx\=0$oT\fܾMh(BWDNFɎJ>XM;ft@ YM@1> ͧkpiK-y_*6fCq{ף{tUfP5EQxV7gxPiAH 1yu sy'Wf)< ܦk%*T.֩p\_2m0>Ze&v]:e4U6ɇvO}]qTOl0! &}'^<^ ~ 0fq:~N4TZ֢zDΥbҐO6n^} =SF p]PG0eS,^L7Z'5fhRm -STBπxB^HxwO$Pj;A\DDz:t vI-4.%Hl{%}۵&B7:p?m<a? ]2Yhh ,hs/3qST>&;Rg!]8bz9D0:m&z5".Z]SFZ][5O7^{8 ġsCe~QcN < i,]dNjzҟKh@'s3Z# z+,]Ì.+ŹeP=c 's4`e?.ӆ%II΂uR~кɸ),7LOr?}0

    qpҤ b̀z`ȭN|p) %\rlֻPf)`oOBڋI 6z[R  []<yv \b-_ŠEPd6 M,^W9Ŕ=fISn5S 9 Alm`HQř"͟ku>Qk󢵙Ŵ6rp:mgocޟUi yq"ߪ~?+JΌ u|.}}O8lzb[_ltL֩ Ɲe_әjm  s4&agQBu!_CH#W*éMΩMȥx8g,dHO7z*@tF$eG P .ّz+//qk}QxUm\PC!}ҧu=܆eGіa蘥)EW:cͲ&?D Ґg. !DJkAǷ7!">HEiR@#gT,3hh7C7g8Mom>e&Hr(d0Q \w#PSm (nͼ:RtmY_ъgn1Y ~O=gia?R 5BPDޭq2WBBw>x ޷sPɆ<#qYkοOźBѴ _ΌE9M ;pٝ{ H^|Yv#D>9re6>ԭ\Se⺩Jߡ!Z#jTQ:klD_|i\4_ɆǹpU(t!7[#%!ߖ*&Pv<gCfA%|esPU=u /}9.C8ֻLqO1\|XI(%'}fF-ppfoT#{hŒWvF1:;D fSMJ,t=.|f.nf\數?Rх3 'C=lXk)jLQG"A ){ՙ>Lq45a ;?~jn=x=ro9qI У֍Np)f1&xrmMƼ7'ep Pq:[c4r롳3]AoFu k:~ӻW˔b aW'8w9r(^L8YAl,Ǫ!& }O(.RHK2h 6o5z})YJG8bNVdΝ<' |= )0'tb[PU@*ɖco(. B,w=N80npe\UX?TNT |dARu#^OCrJkU="Ga%׽'hπ\]1+cFoƀZZ}~#7.c^k3j}#cy!:,'nݖ?0J]OlmÇQt&),Ÿ^bڟx,r܊*mo*%U kӌӎKFI_@b2|tSlxtF,)uQDXOW}h_pj y̑:x}:L.dӏ73d]UTS./ԺW j3rwyJ͕oFQ[fdK16⎙ɔlѴOg>lV8-c5`6"Küuub}2DFmPKmv..3P6rn"V.*Z0F?J8 f1 wpɻOa@uր2h|eW̥Ud#y*vOCn9u["S,RKpM ilI&5ˉڻ6ܟnm,qboco7ǓDX  PƇMsm"?" Px`}y ʑ w:82cjG\ ]G_^Zs\2 _/5\ |6aFYzAnFWa\&=o_h!|4ٹy׋5M}Za7!jxU\b@kHX<;)]rdm2^7g k]f.t@ 3xJ11P٥bj8* J~5ڿi[-I9LI~R7GWwY}x2b:Pgl᮴<ǽ3:͈7p[)Ȋq ʖ-ZՄ])bM^{Fz['F?ZRJ365j<DuqdR֮jb]\_cO>!n '('nI,B{n*ߴ5D~^ͼuƨ'~`4ިq5[QH 53cN5@fIi==)xȘ1aB2z"|B|D6Q>7U}׊)"O}*Gb7#s}w[u, &Ro J8I?g5f eJH7J,:K:i<;%:ja3k,nI S~,מ.q!]Tbߙݮj啇c/o@u~{6Boff:k*hUycC+Zx0 ?~K5L" MgGz#~*8mv;Ǽ!p5\&.`ėh'y{/[ U"< wC<"xW =Qv B3}w?PP눡A 3nGzK5! )[)1`(?ug=(xWJf4 C'=6PM *JmkNi2Bj_)H;ΜsWI 8qR"' u{ ^jhƠ|Z8NyjO *KF|˖ŒeA}n;.1j7:`:Ckvl?pImXXsFƦ-a@^/ّgijS)LVisqDX`c;B9ܸ")s,2/.cO f;{"!\gi"!qiZ+VTүGAKP{>m]r0>c>*s#ZR}f9N%NDo5)G2X3m+hs6u?h^-R[v9x3~Wô 7kzK.fy[skmXˈuXxZ^ߥZa/°RWEE`Mo^'qTmIʮAM xri^́|2&NM(`^D#b^#sWݹW ı3Gs{qW&ZyKK7)aŽO 9X):(6ԛ' ~䚶q]cÐr돰ã>5SUdݱZ͆ 3^.rQup4_7Psݐ灡3$?QEUU`P>D@N^!SdXkv9մ7H ;we Xh)a7[o¥"ҹ;{(-_7M7\]0>xR2-ϥMoxWX]L9dޕckK( E&ϡtݙD[Pfh^qDm~ v3u-qd8U Vu릞IV*6u;%ߺf/QS\1u=ScV_{4)%N;:rPEl¸I :8{Lz Z!Z&=4M+^yXlx'ނ=<4Lg)DZh"q=V{O0)ela8>m3w %/ccuL&!FYx MUk  ُ%7]=m(mjI}Fh (%²=VCP"baܴ'iK$M)CH;.엕OLR S^e1ix[󇜹̣*vL)SvCԧOd6Ǯy0sD2(moOfX" "?S<-l:D_]:ЕqeZrb9cTa]aAR_g&6JU.̂,sYo P{~[F`)522`x"͛K.+&k ӞLQRQh> ޗu!2ӵ^ԪDBҗ8fACJHu}%w[{ݸ*u:|e vDj\K6Ŧ(|՜g&UHhRBZ>{ݘ^hjazZa:PIqyKbܜ@Yħf8A7 XU 2RX&PI:ĭYҠ %lqo(N^GhC,4+ @>2DKhzU]ns35Фorۑ mt h01饉~d RWypUp}A+L 0>_[ "V 5?4Ko\Z= ݋m[˂9pH TzNbmx=[=Dd As6RbT^ľSH81B=shdB{ڇ 3%kDHfdùa鄶#*g(~Yh5Ǜ/XzT\7,gH,6lsol *sOaxlL#3/pH8`x_*?8:qJk^knǽSp#eǨ7h[wlZ&2R U`zߴ`' 䂥0 :+!733&BgDnz.Uc*oͣ{4IXЧWt$gՇ"vV~;MvF,IԦT K2r GLBi.soF<H rc$%F Qc0xyG=J䟃:6L܂*GpFd)^ؕUx2_gN75j]}yNf\ &HICˡ)8@1 FxY1=pg)"o]4 =rG~ fƶ\zr&?F*"ҍ>^wfɖfП ŋA,1I.EJ3MC'V#6`Qt}R֘RuQl1R)yUYN`l|y-}\o ,h Qhjbfp6L_E\[/ŅD{!uZŐθ0oͲ{ :j嗘n2-~*O XVm+u+2eUǬ7T^*VISrږSXY-@m pESwF늵ZT,n ,HI߭b?Ź=6L$Z+7< .<*^R9kzg. cо-f{QzVXBP3w%KFě7. Yź X˖S[nmI+6F>$ިQ1\sVfA&K=XbgU^>} {l."S4V?Ӏa7siV铭 QF)?"j9ƹ$/'vb~k~LUL/@8^"<4W<􈨶rWIF}+˭ӣz@ga ;31bT:8O3O+S=6p ] pg]L"SoӸ .uZsZ3MZ;b)v xFƢ݉/+&we؟`΂ 6qE`ĊQK@2,O~!һo$$ӼH@khG: ,vZgx<~ݵPoE|ivyf 8 "̃14+&;붦yM{`5~䕤2 ƃaVqK`?V;JKT/l25sci&F6^fHےΛn٠!jįN-NuVlq!GKJi8~tg2^G'rWѫ[MpX9Y 'jH73B``W[ /C ArUfά3d!G)aH?Z[DQl =Y-FFnR-2@_'𿧳2+NLk=;{#/ַx;qB62|<u*ύ4 (1WYWKFGYJD7`W=x+(rʢP^bgV&%޽++דCcoOlUXq):IC>Yܰ~1A-Kn9($E0A=&hi8^!X'ӷGs#褑O(LB^9޼DԨB4ۯƗwRљ[o!t] "bY^j4}(Y}b)x0hp?]Ԩ[Do )=ð &uĊQE04iAjŎn%|x:kh:+K$7GFC_&mm%fk2<ܮYr (Mk( _VW.c, &XʈJf1@u;koz?dχktR# lKk97 F*]0M1pzT2`Y˒ pS߹R%2KN2f48..Ț o06q#A! 32%V#Is (8;9Mi3r6GƑSM v?G%i lB6j4\-$f4zKT C(RHiuҥ˞0J-SSih0y:68n6,$0*F;?i罫x!9)I3W4A [z'Z>ުΟcBuK}|_حB1ks3# 8H%d™9xq:`rJV NRSbJϨ=FdY"dތn͵uw4 #دJkqvh=<@̚RDcUgژR(J;< ΐ@i>](]LWkF4[[ ּ7Y 1LF.M+ g[pbalXspNb3 _Fu~ !Ӱɪb'y-"{={lpa1ލkOf*[vbL{2֍p{lۦ6..q7mvs0q7Xajf[`id&;: ^}Wv$bd~ߨN+v0. &ԵOfm0B]%k+W.YRnTRwqސ{NOu! Y#m֤C+z쾅}lTfl-،~BbHn<˾]rVF~ߣ3pd|V+2AR-ʏhEҎ9t/PĚfatleRR{2rP j<4FڎvoӼX]?? "Դ &&}61MG80XzGQBsTA/2b>+y{&YοT$ 0MQ7Ȧ~P| b;Xoׯlk~PIFpi;hҊSj,iC:Ӆ7NkOOj}"JN.>c T29Q O\8:[fzMWG95} 0P Jqt;g?%Y2YhQ$z)şt{5ull]\]NEN+,FJ 0WYЋk2dsU!yd"K,7Ywʋ?-h i}!kEϼI Hc]Lqryʷ)F2iI vT6p zrɲ#^_a_7/K˜o֒MߣGˆ5́w?j\e(2yT]hatiIWjgoݧÖ x_KL68t> -/ /nM7U(@vNH|5csKf*Jk e=*/ z++ژOtG"qiw+ >RNL5jHJt==jG4@dBF%piKbPl'cBFg cIto*ˎߛ_w=8n2zfY5MS*AvkAEty>ݜ/|r؆<;w?9A/a_,lV=mf8n|JO<U-oB9:ki7քۑ"s(&7Wr$sZ63S⍐ys| OƤ գ*,+2b8jv{Ɍf䇐 yɈDeMm؞& #ƄɀʐHG*X",(,c,AUJ ”uu5cQ_ʥը} 9 >5@u$h$v| }h5ڝ[[UC׋N5*XA=yݿx\aw,06qTw{m1rs2}R" a+gAF"_d,r!*OQJ|dS &jBkgݘmF!Wy`6lJTN=YW?T1פՕ P MlNJ9=| :czf0&ߙ7`e_};]KM,_˪Z ] d;Śɀ[U$Y^hdntKDN2|ryRvDv5z" H*[5^2O_15`MPYIQןC9̟gA> 76\pec_>Vu>`ej7ًW^||Dvpt.L "8OՇ@`a@١Y>;IuŬ&䫗ݛ왒wO6l?TEe~Vƃ'oPR"z]St!Þo,U}?<ԸGU}5K//i(bJܴ,.H~&38b|vmuŗWm YHD`g*=WC,gX. v^SjuT>01gS6IJb_}u#A@|0"Rj'r^O'}N76(E>V/fH*.aW! `瑫h~0̸p*URf~pj²,gT~ʔ`q3opnu2B{Fֲb?9Y}.US|8qyoT|煌6*'^qBG퍭_\{f.&IًӇdmٛ*جR18bfYPQx#bs7` zE۠{8AA1LZv9sLdZA9OZOTr3jds!3.& #bs0~ٵLy:6^:"Dޏup7띩=1ʍZn3co Jw̗Y>SmCxA /$mkȡg;kBP=ܹaR=,f jrW]PŸQUW.Zy # ~ \P]1,3&A0[9T@f%"\C"|5bDI_@\"`w. Ѩt@-(ba'Mܚkjbd[ᐹ>).:F';Az{dE@w:p àz6=" _t]B\ѝi>=`J'5 W,}B:M]ѣq)銅7ډd 4@UlN(h .:դ+6ׁ>dbYX -u2-14\\O\kA>f} Њ\Ur P[=}yoZv[!}'7 "!-֙*?҆ق|;낄G0>*67K}[Yjci=XD5ykhJz%49~阸Vhdtz\!1wt!hq]R% Ei_{0I2MJ5icz7)m*+.Jo eAr_n\7h@R[Lk],> h=q=?s3`Lsǁ`|(9+ pow2$8< 0p+Z4[1T~RsM0svLOxzqI6l3ӦK3c4x{i_d]#F+1`I?E33j19*Q雿gd *@\^2i9%@EطVDN?'/ [JwG*!DHwݡV_`g.BS)נVW &q|<$ܦ !G= qV'(Omn,N1`z`c9o Xˤ! t70Ѻ5=lG# o5cZ)4 ʍFmODx9hc@FTI|R^Fpe> fS{!ᗎNiޮsRFs@MLA|5æl~!܅)(>ĩIߌ [g]>N] iO9!!J$ bȩS0bDۓ E Ԟ}E mtz 5x;Wlub9?L[&5Z.]b݁Jx4=et?aJtvշo5 C 9B8홒 P`7DP7Ř 9n(#v&:6rc{¦[ 6cP1m0֊,L_ͯK@e6[|蛈d^~*b Ѵs$'fXU98uXjDЌ}dXkΡg"3[mELiH7CK(K2r^׾ꄚU*΀ ;ZܚCk;.;PKUё!ZUa&_NOe|s{Ӗ/ ﵠtfk&4B‰y̬N-t]̳`ƞ@&9})A.+\"Mb 44BA^6(e\rj$4?mD Wdl[:Fլ<).}Gj JPE!55W~ϥjH5sgZP]dX(i) ;Y5YhbヮZJp"fT3zc-2  =.d5 qh) jNBUj^R x(*@Z* !ɀWKQGV d Up5*w)J1{4 wЅ݇,F xJkQigD & j=/ Z)ngWNR_" ukS &mJ*9e-;w^;&&Elo(9t@>yH%P:<[Xas[иi)ڽNov vf00$E SvE)&FW8N7~&ի}_D sfTܰHmi_Fˀ?籟.`ϝ=}uf #Rx%iu%/*)Z+0gPq]ǿD!Vr_7Er;G5ԬK< ut=qGNZ ZEUGlqn<6&ZJo|k 7ti4 a?Vo ^ncֶs(g%4kyUה_D \ĔJ)PdQyZsBJ֣.::|yI"YPSM[ ,YH[\M?kLymP!~7,d,@Erao^ 5z7Wa ,R=(Fhd,'|0Qto#vH*Zbb3 *4oLx\D xDw:±@jִΝW&y8a4'ZuҜl9p)6DcTt]4d'm<7N9Y4&g҈`n"t\ȃc"I %jbOTCtiHAC(%M@dJ*mh9` ^|\u}S|)^)#mA/1|%>9⒜="ń`u/W:`8O0%Ѐ5n`c;~n{ms᫸uO†.xz鍆AxOH8X֝- JbS󜙵h`x"T-o%1*AZnt馸 (UƲqù]%2<@@q` a]]2{ت/W_yctR2zjgQmmtŸOd'qaL%a4^_;ʹx*Dw+ Y*,M.OOumI R5)?*ӡ1ΰіlyꞣJ>otȀl !va-ۇ:ޓU'gmM+:|=ߖ$n"WJx|ϚݏsWNZ_iE,A2leG|#A6x(9pMBH)x+7M@]K,(R5k4F/SX}*t9qؔߥ-&lG;C R |P)hHlA5yk^xemIK}r {8)&jP|gRCQd{Ȓwukb%Di= WA|yi倩> Be1Kޘ^B7Y9'T;XtW=Eh'=PFέAP}QϖdHV09b ~IJ"Xlŧ,pZ{jU7ည/?;؂qgYtj3(=إC/;+~I0h˝sի0F"v" ɰPAнG/":'xe{ FZ ; Q0H0>q}<^4BHB_Ic=ʮۜDQnڭ9,y9kQ,"._.;C壹 p28oC_>?zdD;g<x:z][g`-j\aa[>Aq J=*fɏ)%RAO yʉI80m$ӷpÄj1}J/*[^@V ̒}oW8&T$9?Oc+WtA C5vj\4sN8`4ٸM2 س n/ym:UT֤ b8.Z1,0iϭؕ>pG)eUu|aF-#u\oE>{>XJo iJ;̭2on=Fdqx1>GPwi(TX\++aBTI2|h 6]^qJ9-)wn>ņhkaٓ<(M=Z'o{x ÃpiȊqa[:b@4J^DʀToHӉGJL 5v^9<H.'Ky l]~!Tcq3K9^cObaJ¶u)~&Jwta<: %E `K*dzBγ_œ!X05R#M22цZXbyFj{:X=Oc_+]Y-{(IM)*i-dMɓ/}8t҈J9 a6<< ܐ`LMe'P kmaU (F[,ArzlG3`na);K_@-?UutT?΃sgH%b7G-|ł_ 's}#;dn&I1< O7HWjݏx 7J-_fσa@6 K0{Xr2!AN>\t \ȩA'Po%TM2x`TRj8* QcARGr P^[vd@6Y.)5=M. [ OYl fvATl)%qHDo+|Sz3?{+p/3赼"jorf%(R{Rke!:ǜqd~#FYT+ݑ tcQjmtv_X38gqJ5w$BLM3\dHZZ h!f^d Tޛ3KmQiNZ Yz>FT d=8G!6 yB_Ҟs 0e3K*4ҙAܦ%.Yd_uǻ $`NrS:}܏)1T;P 2;n~b ȵfX&!}āC<*eȇnݛ߱N60- Yg”9?0J#N GoyDx\=,=EkCjayT{8s %KfwxqŎN2hNpٗi,%Ch/FD㺇BA[qF~puشw-@1\aZbM ~z\ԙjޡ/8E7~?tEB^eQd ގ?K$m-._jڨQP0ZN7x3-m 4` jwNJSwY֙68Px~eM!So9QpYBTlbߖgtd1z/iT,<6իjoީ=6ב mۀg*z 7f( fy&s{'4+9 2ɯ\= Q/LB?KR> O/Q0@cz6s$p3d9%*J,UϢi6*44BmYi5>%^;c^3E[@nr6@о Dy>or_:9k0o6xl ]6 6KsIx:orO=ndoW*+ނ;*Iq[&kI:aX28{tk*:_񊚘=F&pN*8?H\1)Xg>f3pYHi#(4HAUj;Ɗ^Y+0q:Z^D*^:)ɭ!9^cYmh$qSl 2~<9' $pon5P&|I^e~*0MJ͉9,Sj^ؔM~mQ$C^"$˾i,+ix y*t\ƂWƃc H )-!BLŲc3ˌq#>P=A)Q.)wv v ;eՅvp!lzVM;8^ -PS+\):2:^y_Z> ;dp"wM\-bg~c+7]bu,_/.L] YY%e#">?D"+zuG&!{ϸ1?h٪mۙ r( ZF}3B:W eCtv͜+豊!d5`MAr>t9صQxѴ.h0i}RcCaab@8.@ JOIZAt` #Gq+CJ~vB9[6脮1F%aտݝaT=[A!\(ǝg dҏA?PAO #:T3Gx]mAAd-;pMUˈC k ]kob<2T1G$1C߬-Ƶϙoٿ 8H/j,@.)uWN:$? F ǭyc Ktv >W?O8!_Ʊ9ؗp$#iWЋLUt"|Mz V +ǘ=,)H0l_N"f^x#ݞ!?q k>CU[OX;;mz>Akz܇koEqB/FNҌ٥dPA* >A7͞GvFyGɟP5_/{3l.>iHY6Բ2ɮsLFoV~ e*G\L֘'m5Gzvt`&hͬ̀$_2'>t`iXiGSwq{We j3tqx*c $(8SUhv'2/"}D`Sk9: w,%LrTD`Z7- +04l~ֿ͟ag0rto6Ww`rdDaq"ģ=!BDᙚ -$IWOvcAzV)H[& i{ɓ{ɡ/{|3'nhY12&sW68sPr4Hb\(EМ: [lBSUw$k*tXT>9>SI#vEL0x~ojk{A_9V_X =G( "tlaxNڜ9KZNeQbh=J&3 א>7Z<)hg)[sʤf8Ct'CWHբҤiMF7TF L(3Mz_uhߩpkc8¹0L:Iv(įTΧfK4 t]YOx =əvwIt]L2UT΄p?ت&O}-mںrde^t6Հ$>8ðYi_wa%$)LV)9OEEz X4wg;7dpO nş?*On1f[{w6 y<&{`E5=4@!tDa$pu!jɪNe:y) FдOp0i% +VGv5ж6m5QPF<Lb&9)9I6W-߸RSplD3|o`]7EDH/qފdN-(<8);> PTKӀFK&N4.Hmep>2Y"9^d%WF~0uE2Tl$T\D;Y.Ǧ|]=F(9p^Dzl6d{w% ImEmOH@-OT1>hīI/ѣ֥dĽڶsb\j?sT*0>nN'eÌ:{V݈d TOѴ*9ֽMCP0sڣ JNJ>&ʌf uSai0]yɚqE(swd( 0LFAt*woC^{/F&#!|S8/*%@B}P|нʻf_zӰf[o.Skt<sI 6JUbE=< jEzo2R<׎%9y mw_nQ`;|Vg5esP"i̾я,t+>_2$j"4gOIɰ\xWUeNqr*A ܶlmhR'~M$R^9mc M)o92͘},<UÞPŃĉUCB&i;ː/οeA:}a # rr%K9S&#qno<4^+=ekH %;xQcw_j~qV"CWvpK u⥴ҐauJM7*5^s-ѭT+_t_Ỹ;% !_I ()y)# >08 i>ӱtǧF]zl,Dx0ewZT1ؔZɿMGD۶+K:b4ٚGFOǂGщQ>sBU;ёT{R9,kh>u87V Zjs{,i:tP0OõْiD(}>tH$EP/46*Qhko~Ȟ93̹#9_>289-]EsoEMК e$,&֐Wd Dd%!% Fuv%&>ϒ+ Xk$7V[,r,)N ɂ""LЏ*<8^ BwVyDM(z;D8Ș{_ c9\ʅh`*" _7 D5Շinp OaZ@}W S#ςk#1´V/]QiYKMeJbq<á%U):lLoQ~͘-&NƚݢMMX-9i k mX} &T%es+oSyy-n.LiʐB_ 3E"=9#D!/;(q`8ua_G#S=xVcʈ1n֬'}RN}Mo?olz۹?aBP -g+Ns!WV'jEHKb2qzn1itBF ޭ003Rth }-!xb8;Ha_)$"<[s6`އiLSk^|f-1JEjϽn:kՐ@E˯@ ن#:h 3;wuw|lǓ`>Z,Afb)]00#%t3Ʋ4Uhz$'dC%EIa 'sf@ǂPZ@WPbb2!y%_SKV (bIuL9kgA)/gQVSV``BY@sSe 枃h!G4թI)#zg1(2rH XP5D 2+ؿYlͰ zŇkH<ٮ nƞp;wWӎ]lg#ჇoM8<1/ c~F=~ذaoļQEWTh௣$􌩱._h*ةRv &9:aIjYup6mh}l7È z3$JS_sTH9PI2ɺ~SC zPDť>TR6Ƕ9+CGmk)-n5a%S/DG5)W4"[,V!wbb=4`Ec3OXZ6uXνq)DGɗmfF'I^ŮA;2/ sC}"YPJ^s^˜ꑄKׅ䊝P{0(0Z@u=/:d#sUG w r,C)."_λul+3FGc҄]Ÿ~{Ӷ@QjRYT,4kYt;ϑM*O~}5%VOuU.xsL$? m:lmj)NUzYG֌xa0G+]Q2QA; l ygke6T$eFS :GK"!D`tz],ai6~]wV-:1e,LÍ*(i=n|=أ DWRFUS/h|4*pAU" pSLU&5ѐD:?T ߑPz @s?j'$D5[b ˙ɭ0|-c6^ٮI|_1.QT`\RQ9ґx-@1x BgMSZdʵRN'fK panj@Nčy_hEh*HJ5&9? `K>Ųgp2|կ#$~ Y+ρ[|U7ī)ƒe HIKG_W5`7q潮r{.kr`Nq75F7Knv|xPK@>d4'.U e^gkgF<R?ojUzAmO͑#b| ƈjGȅy&3! N6ej 5,#aV%:OB39ۦf*]k[yPҘ$Tl#$"N~u-H,Y3F$^ o<$"s!h"~r{ KRC)oEɃ}'%n/RNB:9&f6%"nA}tNiJ'A]—IB %n9p}uR}/L_%x(RB gW/(֬h.ӈ;$F)d 0*.˝ja%b N xˮ#96ƅ_\%]c_OT &>z`w+%X2 Qܾs=} ⥺!Cz} $ay8%! V5)DW|-NF1?6@=wWizm9/Ջ CǦÈYD,}ˁ>GqaA&iwa]l$]K"w/{":Vڏ}enSbݞ.`ƦHzuQqTl4,%׺RtiZJQYgV< T8}8y)a?TZ%52{?78Kc ٗH NI˹̦?n9''""ou0m*ͬōvZ9fʖ_̹$Wu/iu=gvEÔ-]j~L)k//1i-C < YNh2Y0s):ޖmU`@1l\pAKbRQTe.&Ђ5cwwkeJiPl$-C+3OB(uT!d9%+q:;/Pb‰k)r4RSeߝM|ѠyY_)57k1rylYq}K@+B%H$Pqc]ǬL&(v?6ceꚟr3-%5wmʶݻm[<#l02S/ՌlOۼ>O~}}(M ĔP6jч/b~ԧ5zy3Z 5N;DS. U_rw=_ csUY&Z^> . ZptR{>!VR;i轠q }U44SCpmČj +LJ"G3:l'y=P)'1gS]ƫ@TqX.C)bE9w%F|)‹r=6ja`p":6F҈ߝ5Sp ckWmN O.8A0V傘jRˮYß^md]{T&E2SLu* U(f2'WbHP!!t|; S??U~!n( E0rs ](]@ՖOMX^-ws (O$u Mg+ MiC5mAI0y0 ])dWsDiya" >`=iLHXEQ@lR f6v8Y ='DpbRuKR~T* ~Q )J$[V۝E gM,^~&6&Thɲ^fmM|e) PAݸsRNTM$}X&?\Շ/%e{gj%A1d!)moh{ow  ~'?9az^N6f$5\z'~+'fr3Yfr]5XNSRK@$!jhRo11uFd+,=h@?l9lc~zrDҶa)<dM2Jh5O*qAn"IO2.g }6g8^9BIUA1_#dW1(A$B%esד-"|pM?MpP/gef )AA|#YY zH)̖SW=Q!U%ޝ@/Ձ51܁;K6&M Eu.%P?/GY?Zg?y~utehڶ5a .h0ʅ?|OD|'4%'qأsc){^}qw˩p=A ;ܟRIɔm}h D'Z-/P;3ײcLlKSt3Ex7:-S?};tp wKuɖorx@Dۆ)*G~HFw7I1s Q}2l$kKZQcP74O˿p;|\$t LHehcvB>IqC0Ih$i<-%Q-/Nad\V8(ir,|llІxܥ5rY—/٤=!=9jB)N >jyk`}IeBm:IqsrN`Ph}``aTJlrq ٦S+ޞ*P]af_ACtl$aGm;]?p$N'ߋ+l϶>oHNr{!B-؎^^ H!~;+>PE;!orP=~}@~&2|Pc0&ƶg8q> ޼uvV2@]*tV@nʟm2S!XA"- h5$ݔڧccF27?n#oD`@۠t[ńZC|dIY:0{t $1>+ІwMRN"v yL’uظ kbS\q+H9q䷡<Я;C2o1yôbbP02 i|F2T Tu;b@R8:md*oPayEHl/Bft|>4L${J>a?e $ YN]eh_y:A7ӀÓ?7^"Q+;MƭmكM f2_=sy2yKC~dg^KCX1y>zw"jF ROz.|!Ԅ*O#Ny]ec(Ssx:.!9(7"ϳ5Moz@$ޒBF}kw'Na`LR>: wXQec>- ,0K"L`9n6wq$7Q x&gFEpY[9b./xUmmg^Tv]WQ“r5Ew(4TurԓKX9zO@&mДgX]2jޯz~%Cg v,vE& %~SeGNu.`Y!- 5ls5w>d$xx) _gt#7+g$ڔ%%#Zcœ{sOc`$NyPn/;/'ocm5FjЕ F`29ldò+|T4}) FGU/d>]5Ji9.=w79F~Z-h}᜝˭A돸/riX2؄ }}Q(ҚFI3`^uղ"d DY;yVHگp-NiK 9vR%52^eR'_:6cXo mxS!~4NG0xȫf{d6G{^ɔ7ゼ[FCt1;j4&aB̥^m 3)Rj:ȨEPV^vX aa]=y<@.q߯h,ӄY3z^cؿ=t3%$'r-<3s',67Y̮6ӕo3if$Үd4 ]&쟹Pž.Ho:.N%c I1)9uB|(/VeA鱫O]q (={CQ!:i!",=ouVeq)0kוas Z @hQޚ$WhhIFk +x`Kp\WǪ:>\k!>zga]^c_6(p )*ߤ-k- XJ]98SmSû<삆ELÑ{HpE'0A@=%.ru-ps 3ocM[˹k")b]q̰DUk$p|c8?h}\>8a=qyWr8VV|NsYPeً `<0*\Ηv8f1lț,8|BQmlZʀˮ8 ٘J́t^"`ͼnYqEp۫ͺa*O>!o<\O܋/k} spv XZpQ͙J_0m02]% de#M +RBv3i5NuUJūylu?peu+$(w[? z#i&䤷 `NGY)?М0FqR+4d)b.1 H"JJe\x**kď \Jl$Qd S>$s}UOy.B2E(U撤66fU=?օ|R@Dž3/Cvc23!T>;#=Vp'5`Ȩ)3ZM-H%0knfTo{O(Ј!::U5iJZNEt.,9xX5Ѩjd"7kUq+AEڗ/ף&%oO=j5T"M̯j#w8;hp{m_K2x#[)NiIV򂩤7Xk֜߇3 ^0%1PaNp%1bєuro!R2kO*kæ]v#(9-8D6/BռC2涽PZN)x͌\SC\-IuQ|;^%-Ѹ@S6OhjĎq̝_}`)502x9XEV%VhE WyAY-ިSCK7acN ៉]p;rܴ8 _xYHP44o%P ОX{aJ=L|Y52%'X NčD X;23"2AOT*U2gr T.qȚ *4ƱԆŏnlq] H";,6jF9sێpwt,3݆ϲHAb1,[Y;K;l?T2#a7D[N_ž!T%[x4V1MYUA𱛹;(Oa&L<Q1j`:fZ~ r]Yy1vܡ9$lRun  \-J1B"";GmTA(/>d^yK+9t`&‡ d\6Qi d#zzIbOX->MdX"|6~Gk/5[A").%>!l\9‚D,Mj3wجat?:G]8ToNզK7r($?_kˤo1e"&pG*!&弢a"S6^d*PyX X<Ѩ]' Hnjڽ63[?jg]щE`ȼھ);%B?B"Ǐwq)Yy [h&}Z"F/W=ȳ~q<q}Lwn0-7GZcK^ = oiU3@u0R+3;Wu\fO{/ nB%왝Gzrx;jd(8ݘ>Rd 󖄭:s!LT Nlo^yVvQ" E[)̡uh-ƶ';ezn8|-OgD5̥ ֘2|EQӀT)V%6Iaw«],+ImުInZ ;ӊqRJ;8 ݍ}ZR&`,,d-R&9t:q~o;UAE,3Op8Vhۍ!\g{nW6tc}L;銾apStzCTYS͌[zL̎ ;S5:ʶ\Gb-0Ii Z1;n Ia0< \zNq֏gKGx+efL +AJ`aj&*s~:Z8"+9[w(,7|kkbr#m+ȵ(A.B˧ 噏|ǽЯ' p[0Q'VJ3H] "N<)pk-Mhڄwڲ WQM:t) "fijRQg }mU0@f-/ܚ #`HvG߅' {1߄[5[:oZB%,LjN岤ʼ+z_pӻC'=UxpMw,YE0Ɔzn[ga BO‘@K'UY@o5F9xGFbN;T&&PgAyUr`2֤oy<N#r}vJ1sdR*$~>Y M]@fHttX< ^Kd<'Sx$.m7pѫpwY _/CVdkySGMF.s$a%2:#d+&G7xhOW%._Z\EE)tYiMnmxfP"ĩ\lS>-*NI8o,P:1[$43> M,T^’DyI_v(X-Ic"t+qpX^zMFrJ< ڻNݡfޭ̆o +P9D nF}`"-T +S(TmFzimnQw#D>݊fC>#h(٭$;h7h20u7&PuLfPQkN%~ m~+g7_#8C@~:\X~nMZ,KQ,Mz\*=;b|\+y cGUg)4~J6@ttnd2]%j3[kܿ)Pbx|^k\IYsDPx`k hNl1 zɌFe } kCgrD*e$oܣ >fJ4UHz"$OwK0#!)};#wC'e+XAh'Eeq.y hZR~hTnȊf!;>A"<]R\d0"n![EN9od wNgdI~!AkҀ`a]a_%5V$JRe۵*dXUوx "|R3П)b(!wrYi]yn$JY,:s_6m([Ķ+g/C!~bghs͑1? P!gwy4KBizI)΢s$?XUǬ)2*'Eaÿ{Z ,'7ł&Q)gNPkOUOivET%$K2԰F93(}7&jv@&;a fCh/5cRʯң|9B0n +zu<-4_Tjhm/*aܱ;~࿭ ѭ`vQ&10emLKe0ك=zw v#Xy>B1iI 7l]V߅2[ph@&XNR#DjW7hvJރBa!F"hU`@:4g/x@f]h5#NWP(}XBFWX1xK+),z*ԏs6{DNu2y4f5\bꍑV"~rEk=Y%nMv*-E+1= q@G.`pG{Yg̙2}#y6pL`ʋX|9i [4:[|4RVAVUHY.^;l<~mD*>E9=dO]_)(k(&pVfyL.;#֍?"D!BtsJxąqtbx0Gøn:Te[U{ϊY,>ݼ4 `EMujjzR\'iGXF-nI5l/Lft0Q Ã*UiqwDgB6Hj ABݎr`1c p|NaYW/|A@9)_@2񱃇fb)#t\L+({1_m w*֣Xha-nmx8]cpQM^\1IFXcQXÙDwL)`c-DlŶB=7'Lԋ$E\GE\OyBf\sU\dHdt:!mpSXbIɣS)CKQ~bPlQu)NX.VO/zXcK&TIV z(kт D@FF,ɄV:J[0~uhvU ͹ԏQuB> >/nK)P"_Bϩ)naO+_=GIJaeѭ!dv퍼0sb:2WM)7hg1nSj˩m7[z&Y;fߠ}QC<1nh׶OeM z < E``¿RR-oȻV-,Zeu%U|`'e CAdɟCJ9ZVBvPv<H JM7'(kɊ{ʱ#ւrjꔍ2e)!gKY ]یB j *v2gWE]^ ybʊj^À,pƆVSǴ^DŸcA7ΨR]k4 N vŬ$/Yh3JH)) i/0e#,~TU7ÊH[.hRo0t!#Ixq>glQΠց"%X뮸+a0 lH9YOgŌDi-Vǟيb-k‰Vf'f$VbOڏp\/=PُܑϰOہ>}","ϣŬ4oD *Q]{ ΎL+ c2gV.[}xx&=6^bQ6tݎ^ϛQ3 {.MS}w5 ER4F>D>EƍU<:ps%$KǤ,Pl>գϥy"B׫78`1FBA;e߱z7~%l0w,`|'W<[L=X{Jz ".(bDS)0{\.S]R"9 c01`b] LG-cW= b5.\FAT-[U fOp礼lڮGi;AJ TcyM)%'j*ه.5xCCQ{E L*{͆ZiwJwvZV9l*N _@LU DLM<]\(\𾫽 &";-#㊾c#gh\b;OTׇRJ^Ek*\_(7 s߉*8LJX _JٺwrdzW)Oil崇LbkJ7xZ(n? dTo싷?)=$%ּWꈟa7z*,Z{D=:zf:/Y۽v@PI#n@Z…h.hMuw[i~F{o ~疔r, 0_k`rSA(aGu9էM{}/a pծzJt4Rzҧ;áٞmnl_n1VzځnyD1Ry eC a'~ ]$ .>9,R n/;1|j3x@•~FF3 8Ɠ=7j¤vv%~\§9 _d~ߤ@Zɠ択*mx  +~ByO7ĶgB}j@-?s>Ho;#NI T-Fνhw ?B+j]\cٗZ =:/+Fy >IRuVCě2 /5;f.ZɈk_v#kGvlM&J@P%4𘚄R3z ; u=G9_Z(@Ctz?C.uf[xUYJ:d;uTц>5d3yGp^Рq'fH'p>zbagT"q~/!"d+EYRqWۙ!Im@=\ oF'צ2T~Q$>;MDs7,tP]W_3`bdB3Ћ HH"=E--8lDXdpY^g Tv|X˴9̐)5 C>अG=+\(|Eou ~y&K1;' n"t dj}@pRLwz&h.%nԖAFw%+g>񖽉㵠wUDXea#8s5x$SKZ>9NhpCE~ VrSMp|q &N`c+R3JZ;B$x0!)vk!mD91yF Kve{uFDGhҾ11ttP{=7?04O#M]9]OLpS09}H ܢ"k\{rab-F6|ז%Δc1A,C|}I%䳯ZE<_!M?AV%h腦X{=!X%R4pp2r@\4~8ׇ:V~!9apPK]$IBcDZ ۡpز,kM`Ęߊ7S i/ru ]U0|y,Ds{O]F9o,VPa(4Mⰴq\/N(9˻8LΈn㕨ˊ  ?X 1 R*v>TwLtyh?2-ZѺYNC8,bTfeC}ETYh]RS'GêWh&uNHNBލ9-F#&믳͋f"ϣ#yڇkܑ<M:9ݳonAsBCIJ 4 cysӇ"Mq!@%$Bq( #և<2JGFvӫYmyXvsm)r٤؊݆ݶU귙rVZ_ʁijivmJ괁zͫLͫ\r5(X?k&p4V I \otL ͌gT)կ޳T}:dZ1݈@:OARl{hz~r{3Hs&͢2m[#BІ۰`os U#@s):PLQDjWIEF@6vb~>7kJnX\چi r$^aR\/nr۪j箴KЎ4+wȐ1Ix@$]T%c}{'*]kvap-8&Mqr)tm+bB޲.@Չm"0U.qņ2Dɩdy٦ N3ӗ6*9DeN1N!NF*& ( !1XۺlZYBc9^qw1&%2[JpB gS5\|7Ҿba HiĬiv$YMyRh6(e9dA7}Eg^K5ov/p:}S-g}[ǎ 'he `a> ]c.k /Z $en0۔uUp!X![i{zYA^*9oEx2UeƱ\]o4ef"0[chg.KY{tN.-dOcϒ&e?LDBoO.wK n4iKxntG :|(>t; }cK$A\,Hk0^7w[c B2Zf̞7)ָY& O<vpB;[9"ͱS\)hѢ͝;UCOhx~"0F6áuQr8@,g?7fOC5@sMhn;1)[k:w3A)S#UR/yK8UNqU҉rd 5,"ma{-a п,fMPvD_d"@LX i{du63❴=͸8@q1VA #M;JA#& H/ 0;_ŏĔHN OT~y*`!oyAq˅S)<) >O\I㘿ח[ Qwø,lh]dDM6>?VaQkQ`.rA5_CmܓmT/vg("/yk<{G_ylh4+T٫F?Fե ;Sqz^u剛[1MfC &1VFD񃡾M2γBѵY\w*XQPlޱ"l/: w()S'ڠt%K[vBc;I 4 sM+ҕrQ<4=w@b bPG/*W!W{ˮ'wۍt[gM,L0n \1fIxulԩ78x&?@  O;Hŝ&y t<+3pf_<޳]8r,q7 H>֫/|;eUaUepX 7},2{yJP0S[iP?7J,Ac/.{yeba=W!Rb-86a&pT!0)I=.8"Uox'=r gx[yP8Mv09WFцزKjWlsOGt22%۟q>9bq@Zvzu:khMke2!f<8I.;-' b$Q<+#>.fjyEOfp~ WgD56(E >3afl8Vn6vIY8 /e߬L3i;VpCuUco4¯[䏂F Mf?b.bkzZ]tbvPT7f8'#x,z[y!ta-Ȱ|9ݡ}ǁm#A8T ;+J3 xۂ`\0o#/ (Me_\˻׎d((O$o[`1zWwc9W<8b$ ,nE >2 2]dq [2p?o߱dtZ020|A$;8t_ T#ᵖO'=s!4ϕS~?:us:@ MTJ*8\Ctb9юI'+j HG qhh9[%?ĥcTo8x=kU&jHnxKQK@ԦVy(R ` تib9#*)6(_f;lP2Et +4aԮT2^{.Vu\@Rqb(JPc\oTS ӗkv"wm-6Ӧ᧌ ,yCt g".+I~TGPd7Ga4R_=bjX"pH~K#mDjwK J>to"&MSZ6f<h6+ok;ȖݟUWsegCfC/oWہbzc\y1.Q rDu&&/LE.岡T-eyB3I-K۶FW{|M+D60G^\VRy&k9֐wGct}iȞORbC7n6- ]+W]#OJyw,9T0.H^ev&]YjWT ?SǖKNu7hf6DW*`e;3%*Wl\;N|H%O rM95?^&8`Q׬-Dd!ZRR1'fRΘ]`ɛX"7Ǣ[HC3))CCU$K*F@gf6˛ Džݺ;lE5zeN֭\R"jw[m IB[q&ʭ}7B}G*c9]TпL]zH Wg @F͜jّQ&7 EP2R& GFA7_rxC^eH#,XZua0݉+m>;CBþF7( T u0띕e7L %t#NJS4s9՟ObX~:` Fb.tZ! !O=]UN1i NK\0)d1Բ^/SNUF|2O$sH?"?\*<0h/d;>c}NFﴻWC)e:a~6P͑yz(kf" qaH+iAkDsl *PG1bN]1Ƹӯ9h-6k( p څfP@-<~![XDuPwR$)cs@KN"šrZQ u۳qlDz NO1^KH!?l Y3,_K_epX,:8oHj;a{qL# p3|bpQ*n~Q%e^ E[Y`mͰS3t\]bl[7ڰe'$ )j`b]8,伾p1RtBfKbrX9̥f5ǝ؉#Nw^X&cYXC{pKm&dUŹi,Δ0B_,N-APy7XvP8Хt>?%ޥ|+ɛ_F](;"yCZ1M J1I ^ ,/@<~PAH-k@ޥk,i"D^̉.h_0ۈ*%1X|dƒ^ [v _™ r4PfMӊsԿU•dT4.^UyTw-9.NKJKv8F7/f"jC)V3:Dl"I{c2[sɀZX.Ov]!{@D3T *guɳ޳PW,mI+A Q1:RC8;Bx@ BM&{A]dRBD.s_VJUdBv*f@ᢐ5EI-Tj0cNMLM/f 'CrhB7!)Iݟ".LT=&l3g%W$2KQa(gan}˻PؼAugg"?U7[ sU&wx1Xuu)3;\I[ZmDv%`3QY2Fio*?%y.,eT$%c!''Ԏ՜8:WہTmM X0Y~\'sNU ӱ3";|л@9 󵊋z23;j H,o،DEVOD1'#yR]-[ۊC)-\= >0Jm :F]xR9c]XV= Þ0)=:]j\>`U3yhbB+EtoFGatշ7Ou>Ii!ewR Ik͛Ty'+EU+$"%0S7-JczV C_OĪFBx`ٖ h!{yOH+V9DN6{RWa d*؎i x^YV3hͬ^X 5y$؍ן˭efVJW&QGk\lP}/*ō`Y/nk$14g(-(tCJ9 HI (4hbʶ7 one=IdY[㗅X[~@;qsC1* ^73-% ψayPw")2#!~( =.,t@k8f=CRmt:4B" UFá7!2jFXK.5KT"s2l=PUmo€`Ug-J;I_8wsjh,=p9-^:S)ZJglCGte^,*=Knz^()AVإ17HϱFI ⚘bZ5fB[IZۅԙ&<4~2y ªFPb<|yk!VYܞi.:cDú1v% tBW ܪZu)ΏQԠ"ЂU98I{7`=5K=mz :AG2l]v(R=Y]/c[cR,ɥgvBh;Iin@0|mVm[A|.ru DKCۣ[,nǫ7 zSc(٧VIpVSu8h%ʾ>c"w9eyL,da*I: T+W )J0JZ:&Br7w,8/Gc@-p ͅ% \F#~cҨ;y'Stumy6V\~i{1-.4a7_Pm4fm eH6sx;*ehs6}0ҟEӽ^ :mg c6_wW񭇷 ".0<œç-Qlm/I&ztBm vHs~Woko <ٹC[}D1m)jL um'VScZu L ut]=22kx U9 u ,yQIVXU/ԅ'#Du1v%9H#.ݷ?B;IYP[tRvr*PcfXI"FpI-wM)=G&Pf lUK&xSr26H@Z` XԳCu H(S j;ѧlu^~n:q L]ZDE~ 2A5"hn5KfiCD>PF"h9gVFObG g In 3s:[(S™X]`+nڨL_nniFH5 Nˡv^ti_uԪ΍ Tq-cu; 1R8$)3q&nD3)X98@oj0\>̥;{uIQxƹv*0&'G .CBhQ'6 |; 9+%b:#@呰DzMq7:`8Pڽ۠*Cd"eU&\qE1x~#Ño>zنհǫUsM@y<=DHš6h fdP65!/ [+ޥ p% P | VЫ2AOJR6' '? )EJsO`e!j@EFn q3oµR\7C_:wJ:Hb%zk캉],l 7ٓ> ^:'Mλ c-Ǽ%6_;R6Z8$]ʑk.ׯq?MO3*M$Y12A Q>:(T IXjMT 2]z \&.g ]k-H*~TdJqfre1pRxa{:Os3j&adI&Jbz3:ils0#J,O@Dn6>9h>C<%[kj0;S$Թq RYTd$jN ,]T cpb Bqȗ"B~1}oic>~2qnZTӉ bJ2X \v}TArVAf:L@F=/NL KM&R)5q{KugL Ƭ9soQgvKJt6oe^rtqҔw7R-ixߌY~"R9)EF% 4(]mK N<6h0կ!s$K:8iyv1F =uk$7DC)7u$3 JWr; % 3ʬa2?zCH-$VM fҕ5 DDl*ug|E@1 }U^AT*alR; mA"*oOK8Gͳj V'*8Fn!cN}~qMTev\2{})9/*Lw3Db6u$6p6 Ho?`*U?T`>8r,2eK־ͩ3D[7dEygOfKi1xs8<F RI't|ѸZo*)fҺ4>4R7$L%0z RoE ˕)E.H^Dw!#!|7rߏ8kZnzd oWF̊06zێCexAtd邻>'ᵷ۽@!1Ӕd<e6lǻ U޹0ۡOpIdi83G 1ӢA=(K{؋vX T(]X1[J;jΘ!V@Ie(r~,DUB"a48Xo$VaE*"܆<$v,x4+=ۍ?WPl -bpGElS2I(58,ҵ\Ő58|Ci彎\ (H"7u6f=˚[^mЅ]ȅkc5!4{R϶h C9G]%ȗ׀1-BI]T\LBpEUF~00m%Lq6(?`q({U Ҷx~YgŨn[=c} QtH򙙑]hX% ˊsxԬ `DN_CHDc-15?0pfxiU#(s3S uZu~L w{fJ_R#;cNmIciBkX ֠WvG- [!LZЭFF5z)͟T'a&?T:/=J}J坜 `aª<&/8bQ Ac INCXe[:ˠi-uS 6Z2cGONe;1ʀ"b~Um=ՑШc0jx$XRaD^/.)UFrffpu {Ǡ\6cOtRzgyʿd@"ubʿZOpЌ֘'zJFj3v|ғvq<(2K`:iE ;Ioߴ[xZ@(ttxe /H{}zjb^CVjFk4Hde-fy'fPK 3"*8\pP퐮 D I}xd収~W ~@t'4Iw!9n8}jH%Ceon(Vˊ*.D|(`}Kŏ<系E NNԲ Bj|60 y| ]-ڬ8n(zOxFxxޠp?i#`XF  e,Y"ެ)Y@#b'=pf~R)ߺ `Jkۈ7FN1Шbq˻s -zs慃m)XSc F'}ģ2YUaq W9 QT@t׍m!'A}a$n:"ǁg T!5$;Q$!<=6X+ɠqYVMUN25=7o.,tG-9qL%U~>iA: ?O.|*oF ~*1m]uGkn%أWs<9{pAO#ν]@'ZzG>F tΕ ~%OBu Jn& ~ۍVϟPEeҿQ#8WIef2uu)=r'񎊟PV뉇z}i-m̻1R 6!TT8bE.:MUs x cCCYU+9;..ʻڈ~_*?hP MJ%tW)E8|2kߊa p_'f!# DX1=ڬCa*oiQ&y}Z\/YKaM$RlT Y[<{_ҋ̲Ղ'˖ J:l<x߫ͅJ&He˾O }$Qb"ޛ誥Ro A8hy(*L\ْT|AFu>ϺE>BK+!NsF)b]<ZZ'9SQ35Y7rQ5-~'IG83~mb{ePǛ_Owħ3_9uјz$K!0q5DD{=q&LZspnFlx#lbkI5hߏv  b_ba1YMO"ɇ^]>}T2\/ qPSINZKrur*pbF)dv"fZvG/?z/UIR=.}"hV]z:Cd&mtf_+s )V_'إ=۾> xf>=K4ZvHstK8%[u7@V8T#h'3FkPb6ytu j%!ſ0hmT W%?jݣr+3/E`TX$`q¢%(L 39(6pii^74W?l;_g`AS{nX@߸SW= 2{uoh΢ѳ x8Na?Xet& aנּrD}T 2 tND?Lx~ȳdI.7'xHe0Tk~;RzTiKTuMf6rҪ d;>$KS-@U{a]驺vp\R(NU*'g5:]](+VV3G4ZPj$Zvc,"k4}&fbUT K(1SӼ_)T0 S =/ԚѝNjkb/8lWXp\c}/SdpR.N0c*^Kqi \d" 񌙽UX bCKԍMs?ZcFx\X&PS^dʍ(" 6mIy(Gj^d`FLUS=na#>30aGW+\go,f68foN4dR1;qh%RY B+6<41XmùcgXK5~`Wjh|ācxy'@ω^5eǀt١yw )tfĚшkM.q, uP/kr?~LLuw&^4݆/^ȟ`)3 i<_#Kjo滰ɝ9RϕI:ٹʹ)єEW"AcI0YW{\$8BX b(E7L7O{mbk4N 5f7#&r?ׄtѬ،Z ~,*ׂ/W6WqDž 컋rCvBWDO |?Ҩ{h"PmB׬?hLbQ21l F)|lX@TJ 6zSҔch %4*!!Hd?&E1vi |ˌ>Fx*@}zIUbEcl|\<'rU c4"#̤dKD{FQcs/u!Q-78w)Y@T+Mlci#[oH8Fih1W3$1 +Lڝwj"5@rZT칂bX籱ZʌR"PaafR02NsD';SH UE>n.G:2lTO}_= Wo)h?5:NHRT|"˕䐢} 5p)s߆l黉cΛߓ @`;](P 3?i'g=5޻}vK|ᡏݖUĜ7)d8,jcLC *dFnn1X'<;(l/w_a⡶f# o\G~ҲK^ M;xG6 >>@r U=M\Pt[uPh/gNdYB]adOp7x*{( ꕁ6 #]q˝q> ëiO2Ic7Ro%v !$0M)1EUdV4yc&a"@(U䶣-uKuV`oZq9d!iޢb:q٭;qy/O~uooR !^gs?uœZNU /ϻ=>7. :9Z-uȗ/x_|WN׌s!tRCj. %!} ~ޚ: a#1js :Z2Xan6}7*XaB,%23 DRc=vaPNOw^ fçfC TqkvwI8IZ?2 q Hpps SVlb-(ZBȰ% Z$dzLsKAoi:gI#:yF ,WULc@{ʳZ8ٯآ&?0@p?DVx>[QsEqj/:uW>yAY$A\ҎL4#&:d /4F7UƦS2;0ɳD xgmvAee/nJ78 >ڂt&ݨ39OSqS|ΰ ;T̳-LJZjD A2jN{"8:E7jn/e); @6q2H_PY#T,6Kh!_a^0WWD?}E9jda[vh{`S$>Ju.l759ʥ`}穸,ڑ >Ogd,)MWȗ ǝͬڡڇWC>-jzIKYvmC956Vl;4O {UPI %}6M^NU=ܭ}9 bO|4#kUqޏ'rr'L/)xJXN$UA™8SX?۹oO$=u{ѡ98W$0r|Ad_ ΁+@UL o Y(/ 5q,lxQŜ\!);HU9J(7l}mwI:;x&4܊C Qi@$p#k*}Ѥ'םs' ,q]U*Han(Plu_~"j!7n e;9e..E,^]R*i6lwd;i@QfY exGZp-]UfYL[V!SB%hYpuvĪqm #U( ԑ)c!mG4mgp p禫G{upgȟڨʝn}PO,ܗJn^rF&;>>(=D:8 0Ic`Ⴆ`M h;)qJAb{頤lxT*I5ʱ>V6WP:/Y@ Ϛ ة@{~G}Hԧ9a1'4sWyLyM0Ee4Ĵ̙dRPX.0%j-pvD9n" q^})Ax#i܋'8M͠ghօ[cQԻ}n]/)vt CpHN8LwE{Syspʉ7(FHxT6Ry֛7-ح $F\n , V(Q~6l\٨+id: *- ܺdp{'V9-6d'rKcZr9RfLFʤ&^ʫr}n!Bcu\ЯSUW^R)<I8^hYʫyza /M H2xŰ7(=bq=jB>N+|V<ĜC+>)g'?5ifj9)66٠g{)fd&kSF J !bsʦ1/VN${T]l>Nfa4."#mxnlC ܤh@B%]>k+~u+BoӨШ [4bIV zvfz6:HhuPAMoY!7ͨ.qRyg;E UC4iwGch7{ +tٝw<)>֦m5 40Pә(_motgaF;bAx +jl|@U0-5r/[(&NcS!Q\u+i؟Zo6o:%:;;\.NC u(؏_.~G$`E6on^׻DRSWjApw-,w  *VZN%E.?3q*vH$3q'⾮dI¹UIX'C™rν̵ytz.6m@bd'y'Q wW>sk8+͈a=.8R.+?`Ϫe _pQu3̦ޭiSJ.PK#?~uj' \~x}UE4Eܼ3ZèD~rlB2 G5GIf:|LRhu^$^ew/f}ڐTe--&pΈӪhʺ0t}/vb˟- I;~kxְ+oɻ .:%O=|#!Gak4}$?`xG[@D02V Tˏ( |l _߳U13,`fG`⅐6\%<䳛\@C&XKOOwV>ʠpHX 栗"urϓѣorVRLۯêwB0ݚ .Täkve_쥭xhAXVY*.`DI|&dXFۿj6vai%Yں*cENYqaGVES 4ݨʣѧ3[%[5$`o˯DHTTEu6l ṟ}a6] ] W6>Fp 8ct#*I69gm ϧ`uqkO[qf?Jf4c%?Uhp_X5k/!~H!:z&gcLC܋2^J[,fDMe8C8B,#>[D14vLVI+Q/ybÈsC+=J"ٙr֖҆Y4-+T\sfiiXF)*_YPph)!*6s ϋV@t d^j*MqVt-ʏa@.G",|wr\^ "[خ<ǰGzu*}99*<Q3GHCAiYMO;mN0 wfOdtZ3o1|֣ytND8l20}o43sqt.dCØvb 4/3V*¶Y.ŹA'EEbg@5DU.Gۏ nI˕ME!AO:\ [! >#-GVSbL)@IF|@s _ȋKw Gr +qR.ٖM2r'l]AJ'C@Uэ\o\V/Č+Y}.qՓ<>p4cek:YOjBp>pUo 6r385+6ѣӵ?H?lF/ POx-!y=I1t%1:96*AM eMRNVV-:5\^W;~@uw'2mOk'SZ"ue}* Z 1 p}9.m%-ӉUCaju/G\QSF-4_=*qKM 1qoLWk'YX+89_g[BV+:(4E=bmδXN~α H)?gW__Jtä#$]H[0:V4ĔsnA?!>Ȼ_#Ɔc;8h,O$Qqs:emӫS0vM>VyFsRg;r(N6W(L'zZ X$si3~`'wOڀ%Pi ;!6^cH5Vrz<>ܳÇ+zF-+&*m^.:6^Ղ$` <erCo17 @h5.$0N A7_CTY/j8.KW m,UsљؚG:4!Y4Ic{k#ݼ_6FP7LS Λ{`HS.u[t-gGpFI){ΝSO/E:ce Hk"ILåb#Ϣ)BDUex׼ f$! Fd$Evf™.}N$⡬e%8eԟv`EJ g/>N MuP $B%u@ $&rsX]Ҟz%WՔ^;JZצp@~OrbhgkT(|/%(֍ŠGkZ-'3n2Y:hL1״tK(]y ZSьzΘ'H?e|{3EJZD4R/:=x-ymAj~61ω (Qw~<m]~FxDu^l$7#7}RY+;J$􇾌2UKvSkD`̀ K[RI &n2}B?[p)Q|G?T% ߰WK>{RkcUHW_Irjvc&Twu\9$fz~CP(l lTG݈zltGi{2Q^ )[:|yN, WJ^BX]>%R{]e&xaU1,^V RgHFs>_^5vz@1b PmRaL[ViFb.ݾPJ 9]N"f8ecvBZXD⌚<Ҿ 9#@(oӞ*Uuqrń esH,^ O&E?PPd!3{dU?=ɝ-.iqqKcd0s bRWz^ }Bkn3Pe]Hli##ɖWTr+N?Ń4ۖ%:aڽ #bTjhʆ+AIp1A*mq4ڲnxJ'}RTgGurC৚́]d/w˜( hP{9G nm<8݀w\>US;(۾2%F&*.7b7gѭ ҆Hxi@D,hݽzA=93ŽSe仐輳49vC4v nL哩*A>o:^둤]'$[JaJW+@Nm:bXŖ? W$ލk;ɟWL)fX2M9z}*:5.no# \K|sȏgPΆFCWC)o5!8 {~΅w CsS2Dք,ĝ)Wi&Uo+Mtv; {e]pA&P#c@a'j񺡬 3xMjƼve- ()?՜E#0sHaCx(AYr:k 6;5Y ~3&'u6Xk#] bZH .fͶT;G"CRj;H`t_y䥉#SC2|-E];& PS; R>{\ uE"x@#6ImYفYSwIi:qYf @F'^0D.uEKܳf~1Ʉ"t[ tAXw`t0\3xsK[X8(4hP >XsZ;P9\իrOќ}s1J ,4ikK l.+c\jXH05^p`^l J2V!˫[,|@1R Kw^S&!@a{[PN 2Ԑl~v<|GGYW9uX * 6Lxi]T"- K~L#}:-Hʴ%ZDZ}5KnLHoW qREW3HY[3׈f5RMh0BEg\M"#/00rh zϠ0B zEi7wrt QfԊ垵YPQo^d)?>U a2hs&ٹk!'W5;E `v#:6cLՇaz۝Py-tζ؞}dzm8];+.eҾ%islz#lmذc?KEŠ) V9ΌŇ*O߾zUQ 2U;׵ЖH٤ʣʔgM, U_Ky.xx?ڪhfj+9BFzl;Yb6wDz8vV!]wK8R2A 98y@42Y6f}r0t HeXkgUǦ:rΰ{]ٍ6$V[ѡ*;ÇrwP;\xXqPo%<$,j("[pVt(K*Lxf ޘ.<sFǒ3mj?6HIlHƮ@\=¦m7w0ff ,9<v>I*>7pu{ѴIVD fX\xE8+&7<8Q}ғ'j!Rv8j kv8]"݆ 4^jiya) 1/dy 73P,hc9wY:jgwd|Ox>p\%&_ƴad c H" z9n xiU#2(7w=gMiv[3R $]c͇8ЉkbKh0 -aq}{*Bd c-Z= z9h >v.sT/} ~ YLn>tɺ@E-]Jtgi[l[Jhՙז{iߢKLW߄]u- wZ͋dZ{ѧ]f8-xaɃfiݸ܎&cK$(bGSu WGR^ `;ZVhx9 Ed6JƸyI A?`3òM}ZEh%cV:`NosN#ZioX-zߪe(GgOֿmu~Vl]BT"\t;D싞rHSDxho?l-GT"Dq%G ъ}ڬ~n(Brs JV(kh=S1MB[Y@>MM6lW|HbALcxR|(אmI 3M_R(4LdOX/=O?b#I祀!>'[ĈO7=SgN?q[g)<ҝX~dm*?A/2`pXzsy/1K6o›Qi>-ܿI@=#H4BM$ ]ƺed;얹b@Pn"HG簀]2]>db yRD'IF23LiTx"S_ 65qy왑=ٙe8\c攼j[j/R4@-)4'm\˪AUgrnTLڿUwiX, ŨᄄNj<g92Z w`ém^dד i<,4)_Rj!M1.b,.1ÕA(?krEMNhfEX6&ֆ;"c'D"<&]h#W_cWSu)*,k w+pIFN֛B4$X8Q{B_9.uA<7"bfʖ m^]Ԫ,SN܂=)gc=c@F6V`z6ߥRQmJ,a8tY+y/]TM8EXᆹo\rSkrLyfPđB(ou/%kae%)LMQLW@os͐s6/|6O0*X>-PnQr ݆|j-͊r."1_}hJXWx溋Cu0H4ɬ=4f)S HH+VW Um~SSq.KxKOT kf0yT)pvS/Z'WzO"9!z<~v61G tt"lJ L2~x#6s2,I2_~wm.`F+䷗zC)x0Xn[FkKdeQ\ j5[gnjX+ e:ޮ]ѓ1^ M- m>YF .N\QǯmLw\ ĿV=0X`ctYx@Cޅk\B/n_) ஢8%BBn؁ ƤC@NzjfJUkf|6RbP,n!w|6UMrOZbͲTW'/l_alGTb|1 &n>ve4 *WEڈ@pI=Dx]d vNiy)E^ҦN0؀1\D:g .~>ތ ȨqL0[Nw[lb ^P*Mx"g^z dLV޾uW|+5p+L&RU3h6<7= +h!폱7{HlR|\eDdbDjH! (ݨ8 ĝ{Ygؾ!e~9|S%@c#Ƈ(MPD=(An~U _䴉jCz%݌b6 udW-gdIhFS0; :1= qekp&aBƆSr{ێmȼ裮zM=jj|DAt{ĤVPf8E|v}[#v?^_blqq.1CKacq3{*{w[Dj뢏: $` J"q-CH5˲2|-=҄b&7^vWpnRgށ2uZo dbppsw%PŻx~c5R;쥛|ΰ sWsQ5:1 C y* oJcXL2N'[HN_r _]dbk'aH dWM2T͹R2,0'(*31J,Ie22U im- @ NBͶWՂzjਸ਼q͎2/T;{_LoHl#kz μ4y0r,5MhJ\tihÚ&='3)GPs}ͪyLxu CH)}'M@o8_Ue" )3fVpsS7/Pcxh{+V` {ڐ.fx5Gzmdwzk#i_^S5s^NEqCs+B?&^OOiH%ԗ d 7[_ֈ~x.6q kKs2"a:d]. jV?5/S+O$(Dz(!6Fh]״NF{)֧o뉶YZ֤KǂsFw֓\00M'_J0kuHyY@bB-gv;|u6.^U8n&1wCJ=é ڛ:XMc*"iRW(aqvk$vMzg+= E?A_f n+t&>H<^_#f$@zbTY)*%ζtbw5vunB9z5+EsƴVΙI?WʱS[/IA{f5rLЪgSt~n~Uզ+T{#Na`a 6w۲oD,:PS?Ƀ&> 7iov٘HIwR#c:Uco,4'_[ \4~04tm֩p-+ Jx<08ڢM7螝^<<}M;yUL8JBEN,/o[mKhmG:CuH6JW|qV3:5<^c?>LHWǑ{rFh/uPg5TT̺E߫JCon/ RmNr|R5O;;ne Lo(G=O)cH+t6m Ѳjz SLsão]{R ތѯrKJ[EZF]yn?drf`V]!f`xB_6$dUX];v0|0-pSNa 8)#0+=;trU#Tcu֤xm@S$qA}6` E0*h̿oy%)qlggq"d-鵛 Ug FbF+1")ǐ^Y y"j%Lj60ȸ> iQV)}Q`DƏ Ee2yI~+﵎ 3.K[M4SωuTާe" ]ADqUQ/Cus7m~3-_ta'q`#.vJu巶2 D[EP0o wX7!8cX|vۜ₯eE+??$ ! aXS΀Z + "L'&);A eIY \/L̢gQGA7Il8,rBٓ64t14}wn%,zFJ1WT `*<격ˬx񱲊7 -T?h7Q pBlD=WVZKJl)PTepKFƐ[6~+ _/u~PF:$?gKfw5+ d42,5urC͛7Jq Z-EoeԋfesmM x.`z}|'0z]k{OX( ȌY9l:QNhîJ.v<!-yVH:_:ހƂ z=?9R4WY+=6{Rqfц~A`|RJC>eў{maM/\u򀂪‡sv1"H%2sg설#>m?4C6ןӶ0qKi_VSdw{9RXdY1/3D'(פNH2G֖x|]dq53Ha!+7V"Ϋi)b p쵳oZKH)C/;2WB!hǿg2)Ɩ kY^Y|]q)R#K*Qn>~J;TnH)<%EkR}cc< 2C O!]k˽8o~ VT_mC3p"+!Pa5 7on@ c߸n|>p4@~0̈J0iZrp18 khT4L#~,-tEDsкI1 ),>GEV䩷G"EpVճ XؙiN CK!&K3v8 \"=c*f! „gw'}߂w7j_H%EiqXzj1E;~ JMT?`+ɵ%Odo/&{CM5>8!K3@X})]ִQyAIX+5lӾ##oP:cX٪d߶,H9+^0mY ns@RCyE$X5e~?A`D-j% A+xΘX+kVeaivL)PYSf%.TIEQ F!H _iQiر^gs̛7rkcQ]7} gbLhZ8rABD$^>JU_; ޼syOh[ sa0_ˡ׺Hުyt^Jި֧DT7A[; G{>KO˟h.2Ղ׭wAP_^+LkkT-(x钛߯\6w^2Q7=zGIɉktzVFƾ% oDz`< a.R%쵳K~`8Eۤcҷ(썉u)q3"uiOj>qwe]Q'il.J/A`RBʒ]s. ѪW0h |^'ʌ;;җrP$6.*a>\y8.7<5eb۫KF} NNg_ְmU3f!cc{.ys bP6W4x :Plu8Yʑ1 gEgrG`8CԾ,%R>51Y8&+ *&-@UVGPObAX=8Iw˳T ?\[&`nV߾bAu3DKH[C1(zR.y^e>K(u 8%oĄ K1U;Hl8Xz]D/5rYNDNۉL`;h4e*0уHcN\4pO։_#9ߢCfKE8Kp:Gr F1rJRf$qly!l9#bnjT61@1oD$R2.h07pdXL3MMll{`@m%كxR#48G`<*p4dԙ;FFe9Ul;k^yL3X^RפaےPr:*tRr5_eנC65}ر#ߜ@ae u ӭ .U6{¢ƽ5b5ՙY/!h-J`擷: >CX7'µ1smdcS.i=Q:LjZZj !``Qfְ֗ Suk̢}h'X7f# t 5C4V߭uCN:U]2fLaG٨0hļLRIYbU/{H`2I<qʾwWx`y B7{umFPaVa;T< GD|{pUfNb!PՠWYw>RInx9R2^.>dK:|qZ:PXjΘ-z-Q+fJf1^qvwoQλ'_9E1 *d;nD>IU%sOy4?'5QOG&I`Dp;8Rn_h၈2fɾS1Cs ZOӧ \lM<, CDxt6ow君sW@%^bGh  ћ'}t^6. (ÚJT SbqhTO:ɨWKւ$?HYy㻼8;LnT-C=vKΔ= $P~ B^e6Ƚx@:Cn2DLxqoS>UUۼrnV@JF#crT[.7뚰oԑ}yIi0(:rA|(KcS@ZV#f* n||-᨜0?6dSގY=+=y;DQ\C`X: '*ڈKhF\2cOpãpٝCNbpsW7Bo{t"JUC6 wzVE L( ]ce1 :B}ģ~D&~k^D)ltCI{'/Q.;R3[mK\iGG{ vA:B@zd-|mY9͓[6 p,UbV(L* ER]Uw2]YSA:ԭOث/%(mXPD`8d-bŖN$Lh"m%</)y<+gd6XRHEgwZ>2J(Z% e&E m?bbB zrQ]y(W u:XM_xȰmpÉQ$L P0Q|NG [A.\pk6cJ%uKZ3CV*֥."Y(*Nht}ofUoͳ~7tBCby%F5oŠ9|jBVAڤuJӨ V'&Bg>ϔN BZSBt5_|| TjGdњ3(1`<:pRawÐ2rCS玺ע_QƗRo215?X-|2WPw/$!6Y9# Z};(l,e/I^x\aOf[JHQ1r.{$H5j$q5^ZTaG-9AN]mǸn ";!Kt~xݪjQQ{动/ϋwlRF2/~;N'W*GlAR`O1@A~<0qx#Wڕ@̰}D΄ ]Q MC EE:`vz |g$W^sAg(yX`lȹDR hJ@ŪIDx Hwm6%boJ`-Vlj뜎y`QCUӘ W:4VtfW*kf:]8Y4T R & P6Ԩf7N: XF;.܎afYm>jkIݞMIAcpTBUjD@#U N-]}4>r_Lc5l?\.\KpQkr1[&V9zmї逾j lhvyg/:snE5xrĉjxʓ%mzA$@]7 bo7aRGd Q0߬4TqўJɮ0H9|ЎZ3ܛ*Y-(g{1:|(8P»㝵l7KhGׁCWu5-|Cr(kvρX'fn|>Q Khvkw)Pp6{;ds; f7/aq}8&|u] *9Qz8܎4|X8^i4*I @0_tfsa)Ȉjh7Ui(H !$L${' d|J؄Bu‚*aiV$ 09ׅ P&%=Z1K8Ho<@nJ ̭O#n3HV%T].^Z@A\` rV9I]J, \8Sve |מ C8 8 hi)]a3QL<^JNŦ˷*85`!HΙD?.$c%8.-!D)6ʰ@ax1WnQ+=R_+īPh!Y?'mhK }8o{PHAi`X/[I*6!eI6US\+K|g~9CSg ;l >5(Vo|:XfTDM$;3$S#:`~DFuB0PWn^D֊l@`ˈ{'7Wyw>+6{6߬{HY_6ӳ8TlKm;>@+88 &;{ Jqj$m$wK4Snvv ١2c?EfZ_d5,kaӛ"8mw*1t uqId-j#~oE@Ib.8ؘj~[1yil? Y 9Ҷsx Y;"x+Քj;*/1h5*>Jo~ еikhZmoxG|?$i5Jgڥy "sU/PU2m5)p@E ρ\}R!Q2G]0J0}pn?vѿKxyCFMzöaXQ׽+E 9fVS[򬥪I3,s Q|ɤcv;x fRkA!iQY_RWq6x0֎? -iO. y VI?B2Ȱ#"$og<nߓ06,'wo@_-c!(]7"ƞM|~),Ϗ,]++ew|ǠǁEx.,}N,@@/f$ 0ǯ{I+K<*7u#ߴs?ynѝX; GE\$ƨ$wnk1/{GSwN♒ArB88GR5)3 Iu wCKHC7Tw}isv\@| ÐtoS?[J[ ,]Qrf0#+ Eqoe©(o3s "NҤ،M!# _EY)ד+jɹ7SqYxYlYۛ(U8|Y'@Q,p #M˰Mu؋znmNS69hYE? g.WQҙHQ?5d`o%&5DxylKgB2 zF0U&ղb/گi[>лD~ZSOs=6( x(GÕThCAX_lIg_n :/F$)16ܙL .@)} Y\oƽ c :]|S'>|Ӏ+='|qwdA DS33VaRs+_13{vm^ZkFfIhT'b*,a!7=PىVS&XVP~K!q@&.[B'Fv8OzNgb+^QHNɤ;NRf# ŶVۀ umcBI~(0 JCC^QLR+,bsr} mL "w=C6U 'X oC^CNFʉy&O7*Mo٣D_.ݤet);@,,qZBjrG> ̫g &-MskZqR `q"k%G{C`)7ws~64=̗^kVhb,yb<Isv5 \8LOYNW*W8A^w5|&(Gtwi7H̏$kdM /rIu|P;뮆@&R$Dqaxvs!u&\Jp#haɺ-ōsv >Rr&+;:"GRlu[Fb^Xik24u"}as+$,۞"vQ:s+vC85 ƙJ# [^eH:si4$?fP%!Rr_{Dz=LZ(U@B_s(%l|_Ƥ&f H6[Vhn(3tɋ vI 8E,T,!Ε7t~x#&ԫ 7j/5,y,xsxH R?"QR}mjOܨLEik mTLU 3Nt*깠Ϸ/v}'l6ljt'~侉S}hc:-SJA \s|:aa_%E/w-0Vxsر3a{;D ow9IƇ*²I7 i^7~Mm坖ҋTod8Q ೟E*ޖt}wpׄj'U G3[SYϾp,e:%h!y)ar39}=lpp~qoVCjZЛy i}{F%c~1ȫ1 3ѮTHO "^tK3&G~V[m/prϝ =*CUSp;dJKUUZɯ~P?WdjxJ\zR|[ۚ\OΦ1L tEQBׯʻG#/: X?~u*A aZ3~$̴f6UqzcZ2CԦH\6`wd9h?1R)g,At#WMDPAK˲%unŶBk}&߶:A/4Х@J>rMTˡLWB&zFVHS"/ ־d`겎,'b +SW_("Uã|#dJYv^{yҋr[=bW=}L6\6.^ ~񭮼se0GdX5oCCZY0 ̉UY{tkN 0)ӷ3ABxE=@$U|%^~b8 ӡZU*:Yœ{S<1ঃ&%Ӓ?YK7SshP] ?O8_9qHֳY:@>P&ƁњaqX~KΜ$0 n G/T~1;:!s|R1fc.׊+HuSd|Pt6d ^uWg3.I>2#+V..Ɋ:ynCWPX7rix >Rc:ߒ~ Ρ"oatVa{9h >nn$9 PV+[%cUJNR<`L,?X6uE} F.30Qg  ycbdۋ2u>}ܖcĂz+jGGWsFFlsDjRؕxtiL>f=f{.V?cCBYg'>%O}0@Uu'U2".;ds1x~-~z+DGSO 5pKX/!cpR]XKGH;UJ9?/ge_L shuތ#@} n1L/.9j'rou/1=5H9ޤB Ukǧ YvՋU3SdiɅBah7h2P2F1ߒ̗T$UJ8FOR0rb2a^0GXMrJ71*D pfwA۾JW;4 mH7fjD:qJ 8"Jq'2 <ӂ 7榔퍂c 8}Lhl6?~PK$k(³6wkz9u1х,g\>kN^G ݗܐ䈛?i&=SwG Dzaw/TBb"W5*2: V1*zazqX"s}Tg6_&5^DBC~i 1 6$dv\2p: y:g1E_Ї-\i3!pA @Y Wd,c}tȱDž,{rNmV_i!Ěs<e<_S.ݢ`4)?K-lҒg Q1ZV%p+ x)[ &1P?me d!΋eVqw>tO$ҝg[y2N<$Ͽ[BJ8k7Kޣ?\D]YMZGW̥h<J0)A]Yi?X/{˫oziF<+ ECbr]dsZO2Iyw|U$X($|]VGy,r\''= N@8V4 LVU!$\O˛s3M]CG@| /zw0^9j@r5ī;=9:ٵn*||ũIr2Sgmb\h&^MQioR lT\XZ@ }h EqFM]#uΓ07^V=^ ;R.Kv #\Զ Na\?2@~Hك=(QqwS>^3aW:-]GReiLj2mq+9MwY_pS]6=#(:6Ly Zt396f̷pXa`y?o}Pzpמ2HAcJǵpJR}"]ַ[JAyhy1_~d}}X'3fU}>^>io9ae5g"*](a^ғf>xUe}#*zX?^lj7 gx˿zMad\3t>$opЛB1 dq8q^c[9b/ȏt[0ng?Ui[.m$LLz/HY\ݫRxAϸh7@LВ)73{PXh =ƞk%p ?WM]_}`8+Gz5Ϙ VކԪu>>0G^S(oTAEWԆX'W^!"A8X %(IJ \2[9o]S/}ȍJe`ukAҞ?Oo+U X'-U]ܶ l]+9b;?z,yƓV(r7<5B2-vg6Ap"k [ }]irѲ G翣KW3gwfL \]wq 0ܛYW#פ qIٔOlMk$<ꒁ%G_b׎buQTcmVs݇Q>[]s XP,ߵPeg2`#sb#Rۙ ~9K q1v!. D}4byx\Kש@!^[!b#)\cLeV#cJud)<f[jVޏ3] ʺ ٪=ӂZ~LrQ7ENhT1g7J5Gje^Y6~iC<9QlM&u^䁻\;PPsR|}߬8EZn~W%?/ |%aņ;+IDC&ĊJP[Q2ׂhb# l4VB_wW٬=dn<"XluòNlN> o/`(,{HWwIle;ބݞ`UYmDž0 nx'I`Y[%HY/2: 9 DnxȌ7ki*MS1X R&ϖ7{ׄ8Ŗ^x8گgZ2>VDn".3]5;Be0lX^4vn4״$zdިIqCf᱕sMv7cػ#dlv]"cLp#lcE35C&Xd3:Zb24#UOwL*;.X:8ZW<_?"1<ٌ Nd#ZyR11 hMN^5)4) Hz6 . 5w~lμ i襎bigMګVUބMK'f/X+3;,'88njo:*u$ 'l>'&#ըy?_V8IЍՔԥ|RerNjmR1x{:|^V]v}ѡ%؁4Pj{1r4c,tfq/ Y` (QHj/UO64VtDM:}P~ 33vMj38.d lk&v! %lcyeg8pÓ7P<: -#u3%Gr3ADNoL DdS R?a̚EJ;\#r2r̺:Kf?W]<<ܻ}RH_YTkǰ8okF̢cJ[1ݲ&Ҡ)v-ZLp?ì1ù0q9wP2u I^o.5t/y(t ? qi)KtVF+sD y;%TM}!TT3׹>ǀhƐq."DP'szbBo12A6 m*~1Yo~³k|…T<XܸV MI:K'۷DͳI<1+}EL`3r6>uT+i .WJ8z2A'KzGlMAJR!jHbbp0툆HO'7.|A'!˩-wtǢ轃%^o]>MR F{$S%ujrkנ4yҼ'c/֢6#=/ȭn \ɋ?Zhf& njvOԇ,ZyBLP[1iY,>d|?ZTgRhv"bbyع?߳#u(.ʁ1iڃo*t91C,$~MmFHRQqD,,tI/6{w 8 vP¿jբ>kfjd.lM07Pj:@"俓Pq4TON٠'0zU }]?RzҮ訜\j6Fx褑N(HГ|>=?)4ʄ((,-XЖPgwD9:0b;Tq~өA `" .d8(ʯ%!H։Vkv8vϣ-d%=)F }X8aa\NmpO S]Vl <K0 hXG8#0p0S߆ G{W)cӶsN 5Bz+\_^*T% E [xٗ6K->ѕ=:@T~ ='qI#ѕj+\A:FW^7n瘢Fˢ閲Uƈ= 9g]H]Ϛ䖭bG— ݕ-|k@Y%pSx;I2`BSj<82Ka3Xx`ꮽ񒄕W8!*G97wS.(Į‡hͶ9A:k+z+l!`y[ha7k$-5l;䍫I\ڲ:ozXJ,՘%dx-B5 z+PjL鶂&&o(HZ Xp֡ r 2b)1׺ĵM\͏TTLoeWH.3o26g?Q{+:y၈ ^~9xZY'IWŮ/yd]*:Rwll(vޢeՄC1h"3 3cm u6]F8f^Nk}YAzr4yǴ{*yX;wa !|b5מtX&YQ[XO_9. E3-W}#Wm`-r<\XUOd̏WʈvsUަP]I_E&lol0!zh@w7a sXM[ʛ4:t;Dfj|<%(@:'A2T񡾸yG @t+x)jA`݄ g\flWҗ-=<уur#?$O pܽrү|/n#zQkN,6]Op4+tz~a%cD}5jCA}5` 2,&~)7&668cDV0c)oddK*A4;6FČT9L#}zHDfd?ѿXKmSգ?*]Zo3ɺZf2R 24W$! SFUU.rr #[{B”O1JP[k==~ip8lv_U>NJf/Gyf]yI'1({|:-*:;%liCË A#,;ϻjt{3xRh>oRb-χM\G;*Пռhפ!fs:n~@hL^Dơ^䲮H/%Iޝ֗r-7֍]D\t[fDe+Si ؂ e6kR !ݻM t*nN̉YzPqcf֨KN4n=1 8lRر#%eCDAE^6R?;<--\{, %=Ak4Z?EZ[6ʣRo"PrK/2a ߭s879{('(7oBA0V`Ml[حNWqN0\IXK@j3!G,5ݚ}v?Ґ,1`W]X7-I[jF@(m7ULaO=;q,C_#dz>ȳPm]A"o׬i9C~`bZ>OâһR7mFM; νye[}7%H IfD)оhO.Q횣um;稛(ZNflkuIuB5n! {=E࢓*=OZ)MBgt`Q^meN& rUicuQ 0䄩 械9w kym(m+1.$k̯rx)tI/ |Vd9} K [:ux<LO)YЕmB>aө&F /$=MLHsQ4 "ِ۵/Lt>Bޥ n;LMψ7Pʹ}WIA.^MΊIwBOn#ЈD1!ĵe%y{[,!ᜋc&l I)?(.K|J^0tKvsCt8A;s%NvF K 4B`sqR6l2 pm$iaH`0ί#y&q7ǷOF[Wf~;?~|>_XqLQ1;Жѯ U!Z`>ll\+^$#3PMNБdo{Q48ҝPuWC5&``GCN}̐ۙ9=)jy*o=2]ZIK\^CfPDW01m YӒFj(擥ޅOfn6m1@smXGX4]5.S+GѰn}<9PJZKrlrMD#9獁v6ҽ+(S{x\($UuhR# |w.Q?!Y]ӄ)؅X,"iz9RsZnj^66/h{t|Op  U V9U-hHT/cU|݊s?L1pHỹHF ϶\wBܫ[xGbXXpD}fXTS#\=zFgb!t"fvfVٸ3H[;ͭRmf<fY>HS 8>|3eyѡBXpIxOi+g'cZK+YM[Z r6Cf4Fϛ?+jhp5Kgii̾>Ő)#ncLa{>8MrቆK9o #dip0/~őhձrc{QgaF:vc79tUi0|2I[E|[!,:2?)4Kqo#$S rΑpš.*31BJ۩E7&WHbXn@&*qc[A!Uw ?ER <ғv!YƦ;Xb: f/X^hJ-VRذCXze:XA襴 `uQy^m2 q>ym^cs'@iF'lA5c6Iix ~6n#\sH:t&ڴU> 񁩽<83bh ACB |kg >sp-O,xePw2ɮuedLl&x4 FZ^f Wc}rt/s81AoJ5,-YW+,2бnǫ oHl]|Oa b3Q^K=]4$ 15C"_h?yzVqat!XLMd#9HOx) oi( 9ڟir?Nc.ŁX&ȇ1ASu*7ЮnJ_"!lTM?@) vlJmm 6 ߗR+'w+sNۂ)7B7u \'ÁE-o.pQ Y,9k`~>gJVS]F\:Bh|"])%>ݘ} [(= љiF,Nہ;38W{YMf'04T|'o︬0^NW`UlľXxzF ͨ I7>f߱EDTz$8}2!n]蹨Uоhle /cyl ɰn]8I _r1[?f-ӐMEab4 `I^)sL̈m⨇԰x|J<-< &p&Lab/\QÄ5}yL,[6O_$ҾMNWd((vTm/Foj 0]4~)x^*CfHum2\Mr JSƘ#IfB`Wοtz,0#`Ն8/8f[LjL h^+'n2zLۚ-2< gCUp@ɖg qrGjK owqs.Pn EDZw{do҇c?c{&FfI|ɇ9r2B݋\(*9WT$Mb=j$u\^L~ji 8~Ϡ&T2Suqݿgfӄ㭠ހV'$ 0P)*juVi pu9`L˰S<_hήaGVLfC'P'qrEgv}WRme 5c.Žpwi1`_ɄgylJԦ< 8r#$W*]R^ X]'[w>.N$&Pd)7!ja"s_ntc<3q{vn<2nW#t:!"(/ZtCf˦U4J0&۲=fZ\OR$ .RueUWbb8^3#}#Ux)M9D\1{X~_]?h_Ҷ{A1#</0gޯkƏ4O*0iwPhYƭ'$sܰ|-ollg$ۢ :By!_/LJL=hIB7"q| ?[żT\oºH1̐-KTWGk7)wQ!5 lwV➁拘@qKM~EML~Da8$8GVƹGZȏL"p҂N#!jc֌i$8eV.nn|p<1IhOGV`z?+{ǡ7|=e\8@&nt¯! nZi.D,Α P8Cr\yy$'C ǹД -,/' J/Y[U];Y2 /0{WyaOdԝoǻmXLH%EIzkшQl%',Ey1PŵKUMtMI:=5h֪&m1<ԾK^Y/L>O>] MQt/76U8ėS.?pKAcƛI2t"gIJɃHwCRONb\K`wN@ܳWeu'%Xc+9,/̤k*l1];âLP XXlR#[D?ƻM1-PqEY є1VY "?`0bqfB9ZHho{ h{RuV:^+6-4M-F/#W W&s|d7ۘa>$~v@ER336?X.߫OGxQ+ t(JC厌| =@<=ȼj&wrH:I0,s/ɶ;~^Ztܷ/مpfsʴqF#({"[Km$BQK1@(=ɯ&&9WTz[uYTrE>4 Cӧ <6)ɾOJ'%FKؾ]#w+BU zdQ%"V1$o' /EUY&юuF#:Zht۞+rlnUx' }m?I{Xmڑ7NW(>߀TԄ?x$jMII]nE?g1 -֑/̷^e!z aϔ4S6csSN5 {(#ćw N졊?uӷZкӎ1&@Tb1TО)ө_ȚJ2:pcb; u\d/KQh up@q?!>d=c ].WM>#I?fF@e}:9]bFzT*/|9LE|O .v¢9F5Uj}#]do043ޭE <̨;z/n AQb!8 {/ivOXH_үj.)d+~0`E4mem[z|Pf}X_?ڂQ~ #92Wq1`'s#/ҷQzCHTa5z#:&GFwzOӚ pcd/ _~ިS?;)+PNKkc. nt((QJ[JEm.}Xl2n~ǾtRζ#)V)>=#klHb5فMq~ Шj7r(d)$holQ0-IH3_£w=X t^|]΋g?\m 0qRO̷EḰu*$[*p\ߵ)S?A#bL &l f$\4s8:YeL' (J5?AͲ~A5.0b>Q~0\oI3ݜIXuKc_h]&UGB ՚I!d D , óY@ ʏiۀD8nV+/\{¢ҞIzj76$X[E*s 5+DK(ĕF)48^J D{levs_Cˑ+`](tI8y߲ӅHn2~pD)F[)f{:|}C\ʂ&=>j,qC?h>9hv+aN0'O>sSbKGA#읾H;y11!lCR Ei q3K_z$\ϪLD1ݫB*k; b2=uGphVDuJ#`SL?w u\736EXRЈw,c,OṾ6( mowoc "NmzmJ4) u(ʹ[mS#CU t)91r`Zc%[]Vio|5ssB eusz8J0cCFY߆۾:7U;臵^3#4wGK- 5F%I'K;Zݠ%-1^-g8~]'Zeзd H}6^nY=w!|jR>&w_FL`{v*[`Eil&f%ٰ𚒶F~3zD?|_lϘ9Hx MfşWkӕlYX7\Qddu#n#tx,K.uUEVH-̥v9 "̌.liĘ#4&:Dy t!l2m ` J/^_(ʹr$h$)Snp^P(Ze~mYϧ.Ƀ_4A\' q4qQa zE,۽o EW IOJy|AcV5]EӻW;w;0JN%[eoN2p)w!*\|nӈ3EcuE5@rAЮc=ۅJ+ C,r3υb_ MWΚ2QM)4pku"PrL)^p ->,WM+Ԑ,HR8pˏqqBM; eJtf1˷ăxG5 s9M c9s|}1h6V'q|x+Vfw?x\ +ZYw {gd;Y>|<6z5{h`p O\d |?Xyg׮Ymnce͉JZ%^ (P;3ʀˮ+0*DBZh}䆾 Kg)E{ n!pmWMkI5.EwgPMib[{BHJ =%| ԨC8ܬoEPi,r xC1S3KObtGT@L}f13ǹ`A ڼMwA*J4]wb.*1K쨸Pd?p'3UWO n9Ɯ oZMn/RriU]Vt0'2ϣ;:ɴBՖF•tŒ+ 7()x7 Do/t"K=<LnX߹ L` hrXuZ-:ZLܶ>Zo@?#znUS: 8z*^G#a4g-9Ў) ȟyIU$Ws xJ7'SAOU< UEeGۡ"X5)- ) \S8`"ABI6Ղt,|Ua*[F˂ՑS֘qQuXkRF+Ր+ț|r{8>Om c: -g5 g1=d?3w)ߓY#|Ud'fr"6}4K*ip5=ʌGEѿ崞((e N] QfSxm3hv zEhm}mٯYi0cZ%I2w ۙuףKIoKdA«Sf! N砵nbdF([8)@ {~B8|%ņ}XKʃL</˔"j:d4V֫U:zz@N@ivuNe6$.[5 ZPeN*8k۲*7*8tMʥ B j#]}7p)j#9aM+:7x(oW켕]A 0yzr0\7ަqT{G+m}4 ~պ 7jr5sgI[7ME%zMVvD1\1=٫˝;-Y]no(cD/OwXjKtIM]%C`y@|fQף{6gD={ڏD~X]<VTJ 2E:YW'h!G}]ׅ}U< _ SَW_"3qMR ~\ w~6|"B; ^J> 舒)Qn2x M@eY.YOr<^#}2aSWDPlIn`U&nS'lSze݂CJ'@j=v<.ԩ 膑m6X[F*jLʫl `߁;-;B/6)ϽŤ1Ľ&\Unh.vfutD\=zD)*f7 3W!IQ<_|K4q<>5 ]gE03GY8,fƻeIQTsƯa!!,, JGNQᛍLTTK'𹶣E@xk =I0dD̸7D|wQ[9A[&A]'&2dv#/ tXgcgvaz5+,w{n"KAQ G}vj,⸓/IN )ffHfaECBsEtFݓ#;500?x59U')7ȓg ;()3H~?\4iÖw}gOR4( wnܿ{2&B2}_4SdqRDBc< H@ӡ`D\H8|糪+=xxW2ˎJ@T6e EP>H ;ӧCENuUpe:#G*߷֬+tSDh)̎vTfQc É8Kź1 Q} TF^/]At rϵ&:obMR^>&&sӹu"IuJ @4jW aR [P5ȁ(l5N5_4uˆս+XQY}?mZN؞r2ڑՄD%90ҵfy(Z za4R68qDZ>Ѥ7?LA_d&6RY>voFIE9g^XޓjO#`fǩYZ%Dvt((I~@ >Nu3] AZ΅̭MIuUqOz>Y EmZE+:8өsyvcsa;fdfihmpa7]sPU_yR0!ۉF؄F2[2ሾ"d`O lDO8y>If1%+='@DF]}ͻ&ֱ^b⧫6BqcngK @@[e^vhW:N3ZCFdT}&à0O.v<}G8^nQtdvb$4rM0E(D@%9fZI%G ܼzFmMjv'(mB5s 1(Ibc"7KhH#1Him_`1oT5 XWnzPz'U"L<*sqg`p}nPw{FmujNkxȕ2L|vjADkWW@`w5wH]8#5R!HAF ώgVׄEqXT>'|+ѣ+_e*(Ɂ.hp|U+A}BQo'eL䄨.j+L=MO qFW\ Vu@z[~1oְCN͎R6mWHdL>bm@{/mw "c@xC$;@T~ J1aCU},h#;K~N&IZ @4O޼ϊ"%FjlSYP@Us@Mu*F}TE L֋r(#ę| %{2^]$~hG p <_~vPI 'oʟ|ihIh?D݈ W?@/Ҳ1sp9%-n;tYmh5mᐭu{7R+m~TU5&IYq>W&S&`Ke-t]b;7wWe眒jg{0~8\&W, Q׃$N5(BShNwwm{P(Z.8_E¨ qѻkYQ+!vsDe \:ӗ P@SHZb>/'jm8f¶)bZ+HsP"Q1_iEMjږИRI/$szjYo=_ ȸK99[/LF~GWwb$|kR&̧MXela4Hj o{gޏzU0_}Oq2|^I&:"x7YJ1yVbI Lө:/KkJ| x|>!R=9$WuQL [t3!t#-wYGwu6-,טe?晃(FQLX`[d>뉠$6ڈ[dx8F"n{'ܩ߮ڳֻF(zEINBFBwwO)qWmڣ4EFBL?'M~Ծw}1Bo~O3Kߕ=yCxrqhgsܲJ ūF?F9)ˈȒC Ptu\S(j{8$ś$';{ hawVd^lLaJaQ"71= OMő9QKXXPn* o|uB"wW )ρluVX}^ E؉pFlAzj^2p;]n36* OY=TSo!20$PYuԮDEg"@.iAk `, *%1DI_?M3C_W{. ?AR}g+I bUc  q Ѻ A7DyG (". kr#whD9CjYmZ蟎0|C?SњAy,( 7Eÿs+klQV{HwfQ6Ybz\Jh+3i{Ql71({ VixVHqIJta{"Ys H`7 C`Y\}#ufm%roETEtחrIXHn. kaM cɍRй+ :0\|#уWˣNT̅en 6tX7]yg6MPe-Y-oאf y67^|Ora,c(d!mUJ~>]0'/L&a߀4ZvftAo}I\N-0!B1pYOkvzRa7Ci!+8([lAq=ٚ>WaAv9 4U+_9ǡ"^9xP{ H 0Δ]mw~)DNl@`NF8qLц{k lEUGd :Y-3ٗs?`wyJ*#A+7'#新zʄgM(^08VgWFaE0/Zqh>ݳ `qrJS.QK{&;si]+L-$><Z[!Xiyi K}> ZS!Ra뵅n*߿i1U?ۆ˓Cuet%ь7M3HPn2$KiTәOë5z(~ѫFjӬ8 d5a@8 {)-kC)B5 |\yLqj fiYc cP3eavS IȆ>*x-ʿBHp8UEddN·"‹F>MN^uY]JNDoKX%jU +[xàQXi(*c~+Ԫy_1}yZV,$DXŌD{(oW΄%,]m72a1|P+.#`U{l=9wNWՃ; j,h{G g ħb1ؚffFÞ!rfwpۏعϤ͏@![I\N,RiA bEVr&Kgu$_QzJvjc6a]r n݇5s': bE(a~F>\;VԝS)p6Ɩ(ҿڇ.qr%;?Mih>b.K4$@>Q BEf7I!x{{%[D`|e*d=2R4ohDR v9Ku\ buW Oy)6 z8ZG$DҢ|W` 'R%vɋdGi80anD){'K@Wcͤ& I$rЏ MWuZk ÁqkW m2DL:mzN#' yO R)QP|{G9cmEX\١%;I4̥G].]2q 7)E%xЬsLM(}w qjEmuAoꓧAmy03:xR",.^Tgfj]4nS6|~b_Bnz߯^UOSܪ.!J|9]NѡhdhsՆnjQ1o#@՛-c/*zW~)"ًihf󢵈Wı- v._+uHox(ur]16W|2yCt>~aU  lA[?p!j 23"`3Z'ny2ШHi,'&2m4ڹ֗vɼ>lhoeivYnkkllwZCWoh%Zqʋx(aRՓxꛛOda>Q:s\Og P{ҽL$ dX,|zx'pܨT#Ҁ5pz0^kƴElua̒-~3x=:!:Qw.rq#:o˞͜24tbv; f+cei'(vShWށį,dHf]77)m/sebn'; ":.jA_W0;ʀ%e@.XpH1 ImAeFj1yIN-~;Y4͝HXLP~hwkGdqC6چqB<#@x͍,6&I#.2Jf8X(E^ 1?n` Q1 #ƓS!v6T9 k4Gj JJblܴhЕ ?%{"!!_eL"԰??cA9ny43;aoՉ2ᳱL].v( ut$ty5doW5n۸]ibg<k;v}K/22- ID4i&i˻y*֧#+xZxg^oMRj 窖yX'$`Vz)P/62NifoL?5ׯ'j%1咡WA.hjٱ+l=bꬍ褸 ˙46[ciȤ遧*h?Xy F*5Qr\z8`/1 `]ׅ蜄yV29=/#= =4S, rk=(m"/Kx輟-hnB?jW+an'/aM˩fU 29=I' &MKsԍf6|+a'r/:Kk̙9N r^rOgJIiW-DB3")Ͷ6@@wNu6'p2td?.vk]^aF|mcWӅUvqY(BT 6+#6+c(т݈O->-N>'l?LC]D.:5'$m ~mŮOhh +\̀^ .咝^IT+ɠeי_3ePHl(>@7R3@:11zV^va/8JK(Odgnl77픇ܓ?я6.qz2XsfG>7NHEkH2':L.k/I9%@Rģyty|,([E99)@+'vZ Qdz 6ki4pM_& :TH0Z$M<Jd7l cC5$C3bmø;Ӝ(w~'&póatYrֿeڈakd6P,zoC5/3go6%aB-̛ލp@|}H^Vs52xm.3k PTs\l 55iAX7tk3aA9~;s^fcZ_K]Jz@n2d,ʮl[:v8jB o::c(]#Wz2֞qʱ#w>%tsTxXN-]t֯r3L0natI~Fv=fY?=`hmBB52ݽMQ[/^ǀn\.Yul*Bg÷,J0] Y֕˝b( d;q;h@.JpddK67a ؜^;=[*xr.*-B'sڈF6VZ^gt?#Sq;yԝTJV`60>(TmϾT&Xix/gXh+14eaDa,lƬ"pDI D/)ɟ4G){t{׆SBӖ"'^!.C>^&iS$eՇ?%z8ֹQ%X`#D+"Qt9[ztaͷe7ꗝRRc1fߞ¼Jx:0|^ kX]2d?0f)e=W4ORz=FVH£|P##WqT<u(;U5O ?B+`̣;P#Fa d&NjFFGkP󲍅{`\c΂$<`_n -JS){ {hx"tɔ됊ɪG]jo6ThPs~@ܢ -1['{%[Zzߪ>!k|{,lQDlēHI_p rO".Fb ҲHkBtQspX/N5}l.ǭ2Jh7`\_[ꎅDJnbFVS6'ЁoM5e\7}&3EpbqJG8!ӗP[f+X-GZ~оSIȱaVc@J;!a?R<,;y7 dk1=Y:&v)SN`LJ5t|8lYk/0;S4qrڍ:7DWΐ쁜")O OW.+2_a;ߑ`qj?tMP̛89%"zo aZG ¢&bl5;/Ps* )}RߪU c^UXT6M/ "7HqUp+[?v 6,jm ղL 1Fף5Mi-9N| $ف'Ug ]-v_̬H2a ),m|0:UguWpƹ%_P4: ؀ nύ:tRPN+دDoߎB_7-oP3N`ɠu.0Cj3JXp綠 CO HSjrǬ{`FQԱuވ#y׿&I"q)ciFK>)#Yjb/Mo騾jҏIi`!D-M;+ D1ΞϠ6iF1'xK20-<'Kg>od/eb{wLUV j^eٵ \]tCޱPCWN}sj72MdG8y֠XEnvKtP=i"bD'Qqmk/Qvj-A@V3ϝsP[Qp ke1L 067jj"N>+\0 y+ @*Nxt15Oe D-6UcԦ)EfJ+ʒZ3/h$_%,Ύ=[c.X!/VJa+|~]4;¸J&۔o6D~y>AԉhɔzRg._ {Q5wS.֠ƺbQv݃R}%99ıӴ#{?̥:O֦62Q ہ$#4g@TEqllhh.gvKO~%.)D!^@$c]}GR>Z޲Yg clqzeGA߿E9nz]Biu* ~즼f vr8X H*sz??׃xdmF딦`VüquC.$Y`q'}AJ 8#׊Xqd([:dIӗ^I2QVqӨP)1;(HuWHgAhގc{QϽFֹPE(;`)%>l=\X8e?KF /7@ xlq,Թ65ȻvaXinb@9b cs<59>1T|'2H]t#w*38uT*/{;π1-5]e60W.7I)jHJPxxs{y`u: Z"")xu_d}!Ik%W7ƮߠS`nj-CC GZXٗ|nůeI ѻzE*euc ߉1mߞUBF0&-X0x])W3k4C ]:ҧ.}on򿠄Y~^rkH Z ;/ 9 2`xS)>J'Lkt =8="QL;36 80`R8*ln:USs ş.%RIc+FBFCZI~Ak'lZ??V׆(D{Ҍ!Z׸9Ө) ?A6g3KOk1N4ROyy>U`JI^L5F8${+rkK5hjGOYY%Ԥ>-i# xiۧފ*A9=d, ''/B"HB:*?kv#?_3o7G#A~ijԊdX!i}+]"UE7ȷz%3. ..>Mz]g>?sw/;&3]rhU"|srü[',1oU]ct>>\UahWL bӌKW!j=g l5ɪG<i8M֙ZVixl|,ه/azP*Tlk5"lQys-SpySs  ufg#X  {2P @Y_+zm^`ʰ4Q],ͫ )aP9tO&b`h!'̖I_~}g%muXEP4$Ri| )ҝu˶@sB9E1Nv5D`fhS"._~ɮC8yݛÒpc\&s ZyH{Z7V)-aZHk%V /n,'|KU|Hu⤏B =DRݒ̃)lhpA1N%bgۖF_*) ݋hܰ1@xS5 iEޔpHp% PaՌ!BR`ՄOjXf6u!(5+B4m5 ?0X|&aX> >Ԛg4}^$I&/0bK 1tHlTGPb |1?H%܆`PVXxY5+h{l6qw@;6Ȗ9=¦No^3NA?)r *s]R2S`)0 jGES_<E&D%7]XP\Hǭu!> 0NSp9\wBc: (75pSаn׻m5@eSf}\`.D 7}6ʳN9i`8٨@QnDCe`Kiexn#ԁvq[;qY,JeJdM%c{|玗(TQ]@`I36fgdcdyK7hI7Ye HLnr~k:yF[}%ƟcF1xɘDթ*0Uziz,ˑH!Gj'Z^oiϬŢ5vN Ҭw7M@d6tѭ9jVJ#QM5)BfiK3XƎ3^b}OR,XEPCJk&5ܰ$ T :U@$#/ZmeB-݈\iW$9?o8I]̉C}dyM=W u"Eh3vv7כEWc=ͽ?ZYEU,g2:5466NyyE(jB7}S(TY6{rsu^|54 bw5)4JQdҕzֈaP$&6>5F@O |YtA,lx>xѴjqUفA\{,>DO2A*(aP' b&٦ˣWSQ}Wmsn1"BpFllhNOHapN;6V)%ҥ N*A ׶>Ұ3fgޘhȍPh1JSgQNƳ%+8㼇N=r:\aٳ:Ac:(Kxiՙg QI"61fq% gJL<g;淪CM yOJg[)~[G:w!I0cȃ4)"E7!:cgseQpjiM O'-2EV=\C_|tZ2S|B !u&:R+e^UYT:jCHĐXz1>RZ$BzdA‚ \G$c3HKwFZm(-҆V0юo;1w T_CM3tʋz(W&6^LIvhV郾XD8+;EE˵]27B3Pj MٳX@׏B4pb#W ͏פR PLDHtm0%R۝tQkir6/UԂmCobȞ-U^sa= rצ߀ df ֊)uq~/:hg>D>ͯvfy)5V"./6Vx b]$$Bes`& ȌWBAz*'pP EЫX\>jWnl1j&b[@)@(!Ƴ\$]u\w,4)9ŒbV7X (YTwߪAq5.>XV#WWetQq| 2 L '??(}{2*haZuD yׂ*t(kM(]:=c n(,3:PnoJk~WZ֟IzT}}r|agi̾M5_aD-Rç/ѹ'“//>T0_X6 #ysEVp%Hᆋ42u.Z0tyt]z|+D;KYƱqKmtOk]%*8}xnvy/MY}.rڦPmvVG %>XcK{ȣj43iB`RwH`Vݳ4W*D~3٥&v;~-ȼSOV pZBT PXW<<Z^ױ^^\!Lsn;W3"7ekuu%nz)53pm}}>xR:kz P =d4b^xc:U>褩%N_yjG9vqVVI,h>3ڽz Rt:Rΰmn*~{O/>ъT?PAJ;iO|MK{{0 ;ɓyT|̜g5X…Td @o'"$cZ !TWsPEFp1'ɚ%JC2!А4Up`ʋȑ/> {P|'O춋uVL/,A &Ye,D )⤴GoZN&I髐PƘްy't$0پt%ɪ 4xSM]JbZ ?JŽ".7(U h'D[26ʿXR#"?n!H5u4Iƪ(8A,h"n,,oQ]PXZɼT-ٺPAbjkjzCz5]Lj?*SS^"?_D7=4N VY_,-Wq2]r--Dr XLM{728>d%I7;Wza -O/ aNۃɋk[5}16*D-r!)] 6Bg1B|G('w02gmZ9I9^Prbb,fԗ¦?e65s5<=h0 z| XjN>w*IUR,/啤UZ Z'ljQ' >ǩO(܇XW j}uh܇9}M>:h"{#X%Z1se4Hި]uha)|b_N qrHp8nA~S@&2)rHwZ.N=cvDe9aTl~Ӑ{qIJQ<,  4۳oE;Dұ~lҨn$mؖ.K<}lb1:M4oDYA4;-OuOg8ޑU@U[+HPg-پ[ I#wCr9%#Nzh]TɄ˷ps:gنa_5bau- y)(HEa6sqᢏVǖy:0у6)3NW8/)g;39'mJ_iypP++tAVQI QijU\ Rxeo蹔vx<idm2zGpmAU3ߐ>Uοoq5ȼMy;a.)7&#t\9hE,f2zSd }vD@.v$7Cz#qgyL.)]uOpZY8Z?MS~v1y]  gs)8+!zNTLsWN {:I8E6eWF.e$H-L)J8q;s?hw,ҡfd*PN6RAƽ.ڞr(` V <-0 yq<J;]>Vpc6fFd:,$uT3 F {m}|EG | /F'9)*-vSS; S;y5BkNeJj FK, I_7>"l#T+-cbYbc@I4J I{|~ǣL3md?,W;&̼Q2 |y,CcWl^o}C6gbUh&|Da1QÔ4a_-kwsO"+/~[toST `j2~« n#L5|VA)1%bt __o-\/Wc KP͵%cl 떀ؾ'`M2;ݭa.0Xa=MXu=i9Փn='8z8ט%ӟ޲PJ@zOǝ]:ꛐиh5Mʬ\D-'mۤb;n` JqY.>Ri`ve&1t@-v u#г(DUE:ẹI+*?\]v %Q|:*O|=lsͱ %A>-*"cetѕ^߈vIYSLdxH l;k1B0P}Vpc:J)zW$/Ӹ9${;:]aE12~?Jߵ7kLD7tr*˪٣~@ilQ|5"w+~ 0$vd^;ݹryBX0__bW'!n/!wԚ`xawG Cb3P%\LpI65Ⴙ|b킚ꅦUCHLEC$?6{dsO[1}5X0K5g&kί ih(6?y >fHSR9SO+;jWȌL `ss!Y_ *1Y9WӇAZ;wq(1ÚՊ,wdڦ %LnA8B` my7ⵆl, "/a@%w%%ۊ2KˊC(IjC5I邬e_+orzdE_1U2OЄ|8PcܞrRLol[o Xf!{Q ojlmBP2fpUo4M*;8B`(fR"\g evo_3ԹhRx!YL D)Qu,NfU)nφFD RvR֙8X?;w`SƔC\.^2Vy_⒎*-F/,^W>|C>Ibsc7lI5v? STi4(wIG q l9# AUu0`.o>^$$p :9^&y£1 ˘F]?Ihd;y뽏^ !O2?U"]C 9U4$KD%_cA t .vهdv^)cN@6'N 4,EǍl>%ĥ&ƒ!:S: )$${K^s{id ^]*B3&8Nd0CȰcT{;qԻ) ӌgrT \fG*4N. ;)o3"6Z*rI!źu3cA9޶r!EUj4LI1ȲrE᯳zpՠ_[ e-SoA͍=&Eε}m 9ǐzv`\Y=ױ{,kFt&f]Ӯ 9J =}*G:p'7oaHrP0%gV9pxB&DڻSc^f؄knȆ`DҀkT*R,E $B6b[͌ᝆJD೺Pp{RWhdNH.a R"q]yg=7R)0D,tG(Ndjb/92lY8׀Aa(_]i&9~>dFp4e"^F#-oj2lpk;b$cM# AO"(Z?5hw+7~3H̺oOVGq&ڪMJBq-$UkWl}qW9`$`ߧx n:H\ן-}!Qp?4&jif ߭fUmrp 9v}ϔ:+3eKD>( uVD<6B7*II>kAI}gn MauR[ؤ"VEm3E6r4 L$*SRM{lVR,0WWg)gf>f<_B|i$3ֶrk  ۖ5~β"qO#|(`)/mHUOa9F =kH* 4~X2D9 )Q*6ew͏U'SيkTBi95`A<'rِ>A¿s**pM୆4rÝ2ZZfǕ+)dRpC{XJe c*px@'஡df|6t~Uz8fBd߶M˔~d~ OB"bt#f(H SC`jE1莗(}IʈФ%aF?qin"jEOUk07 @/^<^3vWHd(Y:dOaT+(%gۈb#yh&ѧy1WGBT9d.ތlۛmBt$;G/8eux{>A֚މ\/mRԮ&F͢՚>>lXHh;33GOq2ɌҚ/ :n[{0ZXJ;K`4r5D[ <0<@ 1YaD\rEa5 TXJ ]K sFBqӟZpl\P<w;˹CI,p`"WT,?F(mxtlRRR3oV@*,@-<0XΚB';K|LRv+@*,&,@eFA,_KfP9TDm@-'X$J /{ $fͣ)R끜)vD8u1*53Mʫ^Q*gR>/ X8 #@퉧5ۧhg0UXT#ASB^EJw̟~&W{{h ZT+!,Eվ39]dz`'#1ۖg|jG*j-)5Id9V'?u*`Xs)^~$;%gf8a{,U.oHfԭݜrl$H/SJⅅPF#!=NTMtր=.Tm HDc`,(:O V~+e~0f=ĕ0+N{|1u7^.Wt)6[wCoA&|oŒ^[S?p*^|g0x7 `!!^ivy})|4V)q"j9a?,tO\chNYH_aT ygWdf}1`Sېe6d7(&jO/bn1"fԐ)$MxUہ}WD@h+h<HO-ce~ױt|dl9'hJȳbުG݉tK溹D-iCHz}|gCzbt2}/¾n'i%B û2GsH, ]c=ñ@fb,QI&ɪa=Iu*SD*UGPe~9'\f<{ӯ` 2j!"WVnٻH)lp iKmTY1u6~H;'9% 6Dk2QlY`CAXG%o3DR_Ŝ)rw$M$;Yղ2I$^'~} ҖݍFoRgX^6x" bݯqa-8"qlD {W$Q:)@~::smkjZgF-"ցa9kuarP7=UgL4.=y ^ZDW{/:Giֿ`7jjƊsڤCk0"7q  onD}8N>|~XjF~NDq ~9 gGSIA*'6j\SdMJ8e t9իPE`] LvP;/8Ur+nׇ&{&x1Fy;;m<#I>:?c!* MS'w(;NsfdFi1)Hv%jL:C2OR6bM9SވclÃֈ0?\%@K\vA4>bK 2Rz۞&@S{0r4Qج-&ЍLUOEǺoٻM>#nyh~ߪ& Bŗ{%o ="=qTԆ&ޤv&߇b;{^ QHH9}pH1JYFg4^?PP69 18$QgGBx.>D{:d~(Dn4K.7}'*$dkf+UK{BU|Lv_CEϷFZdꂼ(> ҈:i@_@]4'ϼ3n@ĆKt srl]Q\ebw:,kv%u~BF]Y=um%oBL8*`ƢDcbͪgGl55U V SW+Ip?^?m M"pϢ)e)7h> %QerGI2:&Vw`^'z]`f@χnRU-1p8-% OY9wD@M3S={`'꒻Á0P[/t*34DJ-t PvG"Z\ <摠{V4RYe#81a{uTuMdT},8)kSP'oopv! ^f! KadN*(atTϖ'>R)fq#0_ѷkӛ]sX 1svʾn^1:B!F_I,~Ϙ%`kKlO-e2m- } KLkvjs0Wa{l&XZ,;\񇕺Q.gBu(,&ECqmD9JYOzV67OlU s1(ޓfʼn]sg8o“-Ιl?ww,h}INL zuv0Wl&Q@rfji9p!3YL(VapLo=;{l3p#M]tAA$<8 bMUlyjo)|5\jEbB32:?.LHWۥi"81e DmoiF0WE%n.ҫޓÔ\׼/dlfPw{l?AҐcO6mhUlt(8C=!/r9*!mV&E"lW :8R)0?* fq@XsԄ,SH""/ ZΔ9ߞhF_84/ɜaf)۩/.9;䷖KgM2(s8R^ȍZ^m6cRuS\EcK:l9d*C4Jh1n~`qgLbE8͉ǥYDe4AT ),d(FEfNqvZE$~ѓVtBL4j=1^YYFnXjL6AȦ.~Ca{qy>E) X ⡋q%"x鶛 )>4MPb9,T*fl]XvLaKqi>h k =\s=~dO>%kh7GJ~rEta&dx m[5;`!ZB/%ZS[dU,Qz Sぢ5E-(;'TRD$FN`O0" :sd/8oY%12*$'pTYu=*n+1t[d ob{ohb#]-0xBk |R=-ƵPݵt(׉:Ao/E&rwa 5+W6Zr&apۙgg N^]F#pWJ*3ET`3/g :!okyM|JoWR=qۀ5Eg5,1U&KHv&AI4%CVSLi Mg\'q*Yء5{CȶEl{`U^<JlN3[R&UĮRn%N5ZW0hǷ[1< NS&+oj D3 VuXۚZWZf\s[GD)ˉ𾼚CfXߑ}q4|Zϊy0V;)]R)Wߏlj099zɘݥ!ٟ2q0F$I?qM36qN ܱ<f&ݴ&U& L<8Bs$ٗ-tO&.J \6j: 4 Ȁ a!o/{{Im5[^s@s =SmO#-xF${;O1B|AR,PAB=j0ॾ[(1`Qd ~31]PaDAuNs"f0p%  cdkMdڰЬCYnÑ nGlK~M?-\2.#'RlMjr.pԄ^fjABT 烅M]-2A5kx=SO~lʊq,a~h?j(}-wMe%KzՋeT\ :7sDЧ*NV׵V+H{8tOԠADC`ع=_5Ni&KSIQc\= g`3|w2TkΙAܢ)aƵ/C 7IiuŅ5SSħ]ΐ6[[L^x epTCuނ1#~-/np> _,@8|݉o)9E烨|;$ȋzɄ6rp܋vc ?3zz,=(%Ch -tN?MDSBI]7oMr߮ `_3?wkqNNֳPK sЍ #҆fpm6սf*6WN}q >vdD*Foc0-ч, @2y:76_4 "6AoxmCf2 7$"$2;b.ՓO~ցpR !lb5MUp`ڀ; "Zj`1ir~?6N96?&bځ8OOˤ`6: ߷ m)b&JQXJ\(JozJdHÞЋ;qeUpHx\p\ظSFiiJr:kd*]|ǵ]IM- 6GLy`]eC^0pʕ#|/tY@$!eBGڶ[ZB#70Sn}RͯInBmݹc:: @S*s%Y26%WÛuo\d̓T3Na>]bi<cfb]GMh8]*zwZ#D3ˢjc苧Dr%5[kef+E-}SG⭽TA7^emעcmŁZѵpGm(4!47 KT 8Uz)sfM+B΂1Y&ZqGu@kA@@] }7g-O]Ch\¯72-*p 'ce2:GW>-hBq>@|*+sb2gb+ԣ6?UYnkM*5:IɎZPUYe}~8do-5  M9G vH17Xn1v3q/ADx/!م"Nu"j!cҞ,̆8+g=ʉtѬ:fw=MaT``sx\8]]BZz<z8; *I`u"JD=D"(EM>k A)h<'{?KX֤&`h@]Fe5 Uh,OTݓ跒XE]Ubo+3fH\ݟKK #N;y#n6@X;M‹i4KR`a_bL",7Y] oз|Foi'(*nģ+W-ɢe^pmiM8KJt s)g 6RU~y^gppzR+ /ú~Ypt~ VY \gqe^R 2 `a/b$yDOo;36!Bj2-u.uG)&4 j4(ZFʌGV]ͱpHuԈ;zhƞa8?nT.Դe&ҧGȢ-3fypkZ@7h(YQޘD˜uaMk5-mrt F4 T[ȑzjm< I &=[e'|J:̹Ws;z@2$g % H\ų@h2p::br WIp=a1ow.dx/Zd!u9 9K#?kgt$-N >RS_aY|oiwֺTJ㟽2Ûٔh"dC /fT(Ҭ@B i'q/ ?_Y(֜]89ҴR $3ݚ)ٜ~Jlͅ-9Ttߞ@ VLQʹcM)[5Cb[bgzm@n:X@duw~;iV,Dt Me}TRR!6W}4q 0^ -XKr-W~I%om[Ղ{~ =yޮP?N !EF~t2R{ 1ANDV3Y&4ҳݸ^T}b<f E'xfCt FU9ʷ/L8Ka6Ex+I>(} &;o'kx+ڿF˾d7,sOE@n x'J-|jP׾ I>H<픦߇ZASmm%uPc]"Z[$gqinG8 mHgiC9 )n1xV^_5pomyPc]b;.T|HK.yf[5.+ m%PojQW%g8-#9YyPVO⚴a90ڶ(XSG6~myjj3ki#KN]vi VZd?f=J-,uP DxBxk~8C3vϿՋXpt0TXScu닷qlAn5'%_T8IlQl*0e'b6ؚ83mn 6Du{^g6`7G&3&$2!_$JR( [IKd{ZFﺱY;IAҮg m"  plU>A:T_zPH>yF :⯞38[yr#zEհtnÃn%0>Dn$^LZ&+*j|Dj?--+m8U?eaqx:!*!sFzk>LǪN9.t/}kEbqmoFu+_{o-ɧAyo3PR{TQK~$`i`S[7D IJW~j7F>?rj,q b  i8' 9 KyxpjLIsqҔguȁ/B_Aj(ࢷz_T"51]2Ĝq;cOJbz\,^]KN"Cg=Wՠ"EILN~VJxp41@L \4uNf~5tY)-|ܶoBv 04qNuanٓҸv}K|U;w*σTڷ1r8nYwb(EG!Sw#j^6t48쮯$'+|\oӑbI mp=g)YՌW6o=5HPXڒTF. {3Լ3Ya^`+e4CO{2{c;NFyPDg$^2&koa2/W K& )Gil;=6V wȕd(? 2.=^ƲO+w} ,?z3it]|POq\ -h gl=#ԘߐIvL( @-IEIR/?҇RaT2[5GZ>1zH`0ȯ&OU!w;JO_\do.~g^ʱ'fi 32:QrЮzxwcimVʉaLV}30(9I"]Xc,G2t7nv/F3z#ٖu9p%~ڠ mvWSrNn>6bxu{] wybD8pH=y'SR ܩ pL 4gLF³c!8YϨʟuAJ@Bhe@v琹c,A!ݐHݛ5ԴDÇyG_w j4I{ՙDҹOý|Ihka97 }i M>ܬRQ"%XU 0I\37|1JkWv`A!y/o+[eڀՐ3(ޫοFc^@mg)~ʩޡEׅpy e3JCH|VDl7KS TFŠz΁Neݑ‰R]?pC|q @LX.S^Ys-JA-]h!NpYI ᛷO`=a=vv%=#<l**$QqB:hW?ۃ󿚆9&m VP9ҫ-#B &ٯፓQz6A*dJNV$j،%S=򣪖n Q."~.] .NZMCw`][?jtQfuu7x~@=^ҧjYUAsbGt(`[0>;m=XN=}CWyնB`鯡 :6zW](«i$R/@43 %k,_ISgqd2n>%P9gxC@])x⑞h{d;O ᦁgU& P+P&PT($6Ӂf0jv=xT7@pk:ҎŔ&!<6pV< u`\&"r@-,o#<#0^ |;[a3e)C(Rz@wXK(fN~c=H.5]sVUq3I9~#u۹?0ʦug7K G>eKjAy(@eeё4R *ƻ5ExY= ?PhҒC)leл\8RDaXX=OH@W NM>teSeHnEvMD}{Z4JW#H[ENFwnw8X&Jl6ӗjnX^{m<)ܽ7N5/x+<l-dY ,Z-s%]cYF#`N=i<7dcϟF,OP\ .P<>V+n۾ $} Nwa?`}RT{缄f'.lt٘yBQIzoL 2@ ieBM/O={O|y&324mΠScI:'bvFG5$!E.$f(m3HI1TY_t܁I U-0ƯὍ֑cVK46{m;il2_{T 4LZݖ~10P#2.yCMk\cF|kPsd<6K$ ($3G?~p7$`e%;쟥_ЊBm0 1qJTN=TY=eC,J Q5ZsmĺDCh0^h،/(I4cvSɏ~H 7ŗS۽-kXedt>;3Fp9vs ?hH\3 bi1%cŞ؄ʲRPtZ<2P}^*2ו)WuLx?W 1oY6xR\-R@+[`8?h'RZ6O'%[I׎߉ !@2d3Bj. ~v&)ƤScem|V3Kgآ[ |{HH\i{A*0B$lm6.Hhg;jˆGZ9Z¶zH/*qM;tl]\>DeeO:f+޹+' DV=5 M}լuT|%ĜON-y#{NBCi<"5nhH/I r)yXMzPԾP'&c+:]~ j!t9 ,;bo %ǿn?. ϖUl4zER cjЮF Io¹< rԿU>A}@x!=JҖatUy, 27^THK^\),9Nuu|'T>>#=ЉϤ#*}TzNP`lo=6<ԓ5|qӣr|rtpU<"7,'X wQh¾-7IИ+yS8#llSnn^.2^B<&v,G4[K`kPSJՑו2 `B{q6L\:M ATQf-VӪDR”FrL([R"[Nqow}.k}&?d? U; (: 6ڑR%_+.zh!GTg'&貃}潉G$9G*ֻ];N[ q 9m1˓7]@Gⵛt80 ؽv. GAQ_ʨ]s_};thZ~'wfdvMTYWV[<5\wHب:/w1hlt% Yh"v@+iqX;3ka̒ZPϔWgݾ̦M>^DAKiS"pv' z_W:/T3_JU^8OBMF*6e[Md9*2rfLAhQq%;9IN "+CD;mUˏD^vԚcݫdv5hio€ïՖ4!lH/1 p`zfyMokgA ж=] _р=\=H?R(_7OW \u]".d1ҪQ9$,"r" `P'E-܋)e'[ɨk?!FRaķ,kJX)R3u[㋗#$.M닖$h;7$Ƌ9Oi޹˜5 Z(x9/Oz8Iro*.p&x\$6.{cuŞIoy؋5r4AKz~]hz߄icV%䈵~M Y`W[./u\^{$.D 1x8p`cY3 Ue6xrFTe䦕Fq(`rZ m苯%̡'-Wn^^wߢt"\Ы_VKx @-%Gpzݫ&d-jQ& e1Z4@ 4x&gWhλTxaSpNe!ϐTχK6 'K:;= jmzê$Ε"yD[S43]^O@/C!3l<<#2տD_!"`zb#@4g}+k8tOUC-.]]({JeÖeL 0A|p;QZfO(Z_As(2s÷}vȼ1pц? @c,toqM$s f.< sVh+tL$LD 6őWKy۝ *[؜(M?·%Nc͑ |NPar\o+Gލ~fevNR涳  k:kv1ZlsA^A bcZFù۵ϡ~{`B>;'ŮrqtԶ$KKo`3Z/'K$| =Q3/DbC N+)&Gg `97W/ŦpJt8]xcKj<3r1z*Bh Jf`t$<0<5Zw8$/-YK!j@WvϏquD(d(⮍,S^l x]xb_,CǗ̌,N$GQFHX0 Au*aR/;UNL휉gaO[sLܠ-wX?h %êtF$}O裷j\ To;mshxDRAZ ޫl+Y6dAގUva[C4OŝuUo9r r`Ph.c : iܯh(Bs;cwW] ~8\@+3QWȜ DiYc b?f7g|6R rYu1U^;t?2AbʒɎ\ZiQpκ'!f~n껠 ]Wd_UlRVf{|,l$(!W1`Ad>IVups ;4:u8q-Z.偑ַ?vnefTMOf /">)o K&IfS |QaNĹjuיȐ퐧o)[ &lH1ˋf ie|.i ft'^]kuy(␅zQ)ʲq |!LjI2VGL̻]%LFNś~3'DԕәRfqĪ\94Zt~d_.ݱA)rՐ8Эb~s UMWxؘ @C *vYج̆:Ems?;.g9>eVT_`= pOρTc!Iu[q[(XsIyv;ŁG4rR}:r3};cL(Y1p /q"!eiK/-aj 29A30] ge:hl#P 0[{%zCԝxcVq>Y!B9{|A T_g  .07@?:g} AH0,;rrCҬxt]*,H8mG$;,?`/:Q,)ʤ ꔜoD ras0~EyWX5TB?`'>{YUAXI<)o|@[ԴqNB$0~ĎvŶL7H>0CT[i5.}r$MdYǃ椖=۰UF>g+2Ewt5iIyhI/rD`RA;򖊻(@:A+ Pu~Fo"x =꽛{Mz Y%Ú/&{Ӳ %Fd1VԗKRj4=7,!T#olm{2x|M vCIbҼa<֥8ivƼeUǎM# I! @ t?rr^l7rFk0埀>CfpWjg(,EʕxCo@]#O<{SeCyxhnIr= bzr' =__ۿ^֡]x^C hU\J8艱  c0gxlu0oܫ#6Fۦ OZg4}Dg4Z ^M.ƕxྡ2GYG uUrN7O>Bè߁'t)%/t#XT/Vi,01xKr6=8랄xt nê,'2٪c UpbqO|: s&Fk?t>l2o4gg񹎑$ؘRwOEæXr`}U9X̍7X8@'41޾Cr9W_-8T@?nY<),ښJg^O:ĺ:(v|[!%~Q(@x clRi"y\ٰVQCڟ7oN^߆oAH{9<5CeTpi_i)˞ $8~1\n&JJ/G2$[HHYWXՓt'SCr'rpCEjW.5ԋuH>F2 䤚,:0.:*@72-[27Od((HεlT/>:rW}Lf ӴB;m r Gߑtt" Ki_!q(X'iJA"IZc~ᶜ5,O/ x2d@inû+a3Y$z/ԃU_KYOJ@|i>OJGxK5&ZýAS6FOpnAYxctc2ތܫ]ᲜE32zv>Yӛ ;`I`&+λ[F7 +ۢdP1P.eYK8;s){ 8w 2JJ@6.]AdIe/a*_C٤\/O5fg0:Z:>"b$(HR% qVXɩ^qEt"Ly?HCd> {wu :MWHIo#szE,g98BJ"+eX p8bkl !qP@L~z@eD KWA;\eb'ƚ<z)*-ďXW-.]d ;jG'1hlj'zAS,E&~~$e1CcK۫e%øv8>.‚=.8P8^4SiS;<-6$sgYs^³Y %Vi~!2_ͯ6dۚkC3+SYvdjqt9w'X.٥dV \LVgĵ2 b`+ZSQ \*n$TWFNBNcoe7GȌ3;M/7s>/`s"Sa$m[c$2{Uė^@ɣn^ mҵ4$-< |ֳb/cƖĵ`ɢ=yB MO9""J78R W\5)jO:fbnv칂P7aYJ#'X/;p[{I~(d5":D?74 c{ nT5_{`f~@XrTڗQ:OC_n";L]@]!r|c;ðDMHQj$I. +Icj%sPzԂ O͘{]P{e>Õڵb>Sjzb6A'JU# lBݕHŸ; uêvPjjrEgt8\{jj, LC;NR4U7f'!ZkL,,XpgKvzOcKa#KXT!(JE= ȉw sɂ =9)?D 5rKEmIX8%aYw-p[9`_b`yr%gǷӤp~ @iYDv> EpSxs;3xVꕫ:D듥hpWl7HG7PE@bhr]diop̬֍\'}jƩ-pE+M_ϣta/L퀌:g)=l!~3%#0$u,QV=Q,o`5 {" +a: wy6<I4-Л8"p Maxߙ0ZIz@{l=X!$+7xCOwdtͺzdM,Gk-yA 5@p hʹay[K1A[ `Q8њvKF=g6eGØd!I4⼚o*J؉ :7ay.QĠ0Zʔ*û_33i *mY@/;|-UDWJdJBdo;FG oN RL(;,--}RJa?r]AWF՘իk~S&2S͐UYq}6NkBP<#ʱ}=h#"M&Sc wb~[reo}t;hUV49.3' uwb^S Ǟd.!ra) ea@;XQf5ݷ퉄5h^8)~DR:YZzoZo()@nj~ zP= 7i=$@aO51VԌct9p1!9SiIFso?iRP18l~9_x@((LUKDPSsf[ns6*$+f9z5dGS5H~=ǜ7,#=or&S#FϙS &T 2O*.ezE3[No4)w4J #ɴcv#J%g TsyI|^D}>@2Wq1Q/`",~M4]@d!= ћ໰Ž4*v6scָFi1DvLplOVG9=r{QĄ5//%N :̊Dw0!>.u|-L|IC0(t!2HejezB?\3KQ&qҰ`J2M­[}Y*Cm#MzhYn)fnSzf%ޞipmO782G;nL6&N_聻Å%FMrŋN\{^%5- ]z[(4,t[ZE2Hg4gOOUS(}6ޙb@1@q 0kȽ4 <;!w[jT`L / SK\B`N|sM r(?JzNU+IdOOZ>HUj*n"OyTg+4`i|xvN6 ce=tdLt zԾXX{^'Wi;!LM-S1כǴ XjZ'9qqfR1u*lȴk_Tv-+ ٹB 32h8H;kjȱXf'/qUh$)\ Y*°Td(ƭ7NܨJ1>l,E1j'p nvu@Ήo>eAW%ݪ5^m 6f&Ȑ=Hu:MNW0qUj)y3|.Gʬy̵3)o/ߕD:9czH(bcjT;SSa%-NGFRS*[rܙ.LgގPHD> US.ekSx4 ,%fR<Ҋ/[2>۫-Urn~,j㚅ed=P8&`Kα%V_͇^PsәH/\ _yS9^mE!!d.ţԎcrdKУ)^|)E23ue\&Jcv`az}Àcu-[({{w |&^Hyt"ίde(n7_wMY}3/^_0_U[ʗ1p> 9XdEZK?{cA-{Ҝ& }F%g#;g1SGԴpu<@ zØ i! 8%sHs;$ڍͦU9c9DY~O"09 FFL*B's}_(A֞R~Bd ];MLf?hp|x Wlı̿LKOʟĨ4S*2 t4A\9q. GvX8Hwnt16=UJ`>O[976]@@T=6e|'\ZjfILH.7\\]UWΧvz0 sJ<%, jT0*m=2QQ?=Nv'pecN8)!zXBGYi !RlYtx4PBՙP+QU[-)Pʼ`ed>GB|y# 2[eFMFDJD@t˔)LvѫMXbr:[mTA8Y]-OxO!Q+'SXsG)W03]^NĬUmf ey;0< 8 h$I=WF>$EOˊ5:HfDCXo[|#[l M:S2i x4OW_? ƴE S|VQ&@{tt{oHxtB}pѧto:'-- `iXo Ū -f(Qy{T#-\95Qk/hU]F?&LAlO=;I##[4Q 9Eh!La=ȹyS&q"Exlԛ3BW@2%*L Ldf0+bIB_bPn4{֑^m[O0oMX5΂Jt}";`ΰ&c@;sܛtƈ9|$3g{D@@-n^[&|Le>Jq,#^0J_ՍyfHT ;ɅwĶρ,8>)5hRX"ʻ`UT`Am#K UXx5,Aʢ/˿n쮒 Q(IU;4r͝(֚~n^G&;:Nկ~F! 'I8Jc(\ Q̻VXqI@ -kk_}΀\[Em4,8#*a,LoVu5S ^0p7keř}>ǁ47ʃJ:kφ8PVd*qBJmJ+=܅Gڵ#!WIi8<1Jz; {2%ߙ=&1t=B* {vkRd8W``K|ŸD#w(Exd^1q)3U69#y~ er0Q7z#}SM0lOrșU cwLD0nHsPZ7ka];HӈDALb h NY§rf h%R)UNc,9& lǒY REQTQ1=Sqg$%Z.w^ raw7t6*#_  SSϽwo[ jJ 'O4|'W1{,B(ZTOt KNʮkkL  ,6-OZ0(2ۃx$;!dȦ}RA(MQҁ [e"Df*)'8T4lW4 @\u5vq~S:Xz 1+ ںV>oa۶%Fz׭QX;h:2Gjt~vYZ+2eMnB7%旽ܲrG{1_IB=?5.gd1/ Qk66K% G&y cOECp@EzP;탟_ Gh:58c-m A{OW e>*y8{mpVƉÆ13r@&&Ky$Rw/qqND4<%TdXj-Zg)yA$eg{fGz\>X{7;̈)asX<ɚD_ D08jn$;YM{ʘ\Vo5S^;znO>m/ͮ%n`Z׹VN>#}۞2GHN2V<020ICLK½+OU0.}*x%H;(A;/Ś#b#@i|dRC$`a-,ڨˬV~ʷTm&ƻu (P?H2 .RC4g1o_*2ok ~ecb{ڥEANAkL8hZ* 1hGT? MkxzMRL(/ul~1u:/fJ!-Q,]J>` 4N?D7|(Z%]E?L)z\w7sk}/t#OK/ob"'9xnJ#Fa&?[rٖw>e}I% u}/vV,oXxڮỽxmE)l —\&R `!krk:GnDF,nYU X>@wsSX1Fus\`bZttqΜpEH#82cdEl[r߮]*1 %FQK1קљ@p"@yOݞMDrzM洰 ]E7U?=ȚTwBY.-(%2c@+Vi10vٲJ=c^A\ Qg{gN''#5ѯOuY6Rz^GqX[u;3KN%y4qΠ|݄D9w\ǸߣO{&ҽR/`E vhė~H&,!Ҡ%%_@iryI'Awa$Df)|xIēwZVg _LmKOs !Վ.o/74QTSfd>zoQ*b/d*RhUdB,Ux8F2o΀>I(-(ҒDW藟7oQ xAZ/SM<-IB*n2|C2j\JRZ, w E׻L5PT>5Jy4M"1o^#bP1dBZǛ; L}lWⰽ%g߾NZu0%ߗ-iN2kpJ}*>f:AJ\FKS ٳ)Xq_\FM T(l`2r 2 Db6Do;fsJg@F-F7Wd=%!7XE(#;[܍ <͒9I Q-VFJdVܳ1jvDȊˑgQ@N&\4j6$*cJc@R7U蘓k$4]*9tI8t'ۓ UBm>kcN2?wg jNojaJvK>977&ry-naA(ZAnHЙ=|>èݫZY cC/&4F#BS)cUf6(%3ol6MS=Eo1M|̣Je0B|k$[ʇ_>NU0VQXr'*+gDžit?3)e巯+yiJelF S1z\}VFXd*Aw~F`NvDC0&aA✎#HρǤ!I%2 ƴ>#?Jq$:B\X-`,4j rcACƪ߼HJτWqRuuT:V3*GcRNtb+m)EJ: rFObD^w,0npyu5:u e4.vHS#]x]Ĉ9q{B"`??XDF K,B6M9;H蝸.e۳2{J+9x4qNHudq1|@ˆ&}/ *Բ۾N ȋK_7.%ؒ()ݐQVmJ<)?h O.5(мpK IwdLd4v$&gu:60WM|fEJDHd`NJc }egӍ g4 mR;3 N8&\$t$DY|SwmdorɄ=bc_aUi<f\Rc_3yW@bj(L¨E=4Uґ[s!%}k͑#gaDCYÆQE"p$öl#2ͼO\<( 7U.ލX ԏIx72)H&c>h43ڑ~n{o:u?l*1ʬaaVHdDo眿0*5ߦ:: Q-f̬2kg&/ldҊsov( ZEdTHeBM϶xL'ų`n[EJv &ՉCS`ė`%=rՉsYaxZ~S4q7ݝX 8'/}nsѸLLaf۟Q?FUҐ[q![]hI\+rs]ʲoD;iYXx0%sް"8})IBǧȲ0n0 Tbu"G rw/3U)HjuDIV.oS~Zr]xύ"M=Rxvm+w(@VGg)K(`^yX^j²-`+hCC'm )%}`јwL]*+3otZ1?Oo{_%m폤j . $LQY{)_ ClBѧ,ei mLhH:qEDZ;42B/j#~Y#@=%17)ԊL>[xQ\OH+S+p$D'6u*d"wl״FV\E bNPgvh؋~Aæ7dy_1")4*W rM,31Ayh-KЮ5'h$V {P0 S4Ӹp\(-1"¾[dt /;+,kfbz EE4|8>rg3FO4LqUNknlR "DN)q-aRyZ4:gY3fЕkZ6G)tΏ=̴S`BhLM6Y!liWϸHQfY.C1 +;!Nc!k׀r@NAN!ka5STH\tZ,4h!Ęؓh6kz4畍Ài9y+R!^Q=JJ% pzn'ҘC4oлdb15ZGxəVH:l5 wȵ2”̱χ.鶐>OCH3M_1q /EMS=װz˶j9:q`bֽDb Ms vNGI [)lYZ1ۓ-ꂺK#H“@Eٹ)Wȃy #-ٞqMtzO!F9cotȋoZWPd"0q,Y84)󣑽'l&ga9.( \ V&7e{ʕVJsa)Ĵ?ΔS*)v˔P^B71((bе?g&]a~ox#pK]OPF$X·^CSDeyh`@eI+у/Rd@;\ig|ϿRFۮ^"vzl+(+Z? {J|πuhF"}^4i~d}'; |m 3edK>ApȈ`BB p?hs! /RvuP6 ug{ph2th܄&5W)+1dU}j{6\r!(dMrv(?LxR]@cjdH/9PAGmLZ5"`R.EwQypWGڻc0woc1{xU!۝sepM@ea2-C7E&gW/0ClRR^ϒ@c--3%@ ׍3N{w9G_HC&mʹ2 "[KS}ܦ%%Ѐ qz΄[S @}ӌ><-˷ƿmA}A+L_k$בB2A _chTN=ҰRMp-?>&5(OZFͣ*ƝAs&Q}?¢%].zB!~s0vN{1 \`w&ihFϦUq}%ov`b.c/DToB{a5*VY&>Q78/ԑ׼%^Jzi=EXbB0+!(2A]/Ȣk(/GL_/ŁpkT$G4%AqpĩwMYYm L!9gJ#:Yp-#Df8 fW]y~OKCCL?\cevV.pzj <}ƚc=WB9ª"V&+JBRo+:2+jGys,ヶkA=Aisy|ۤJRf]3NdvZrYMU m]#,ٝ_ *@ϒA"nܽY\R_e%r$d]CZ6NkLaJAdIUy2XN%1Da_L?,EIU` aI4ʃ#ݗP"Ȣy+wz@|͕1qQ`My?٧ޗFHĕ*}E;@I5yye>BdďUs5Jof$Q<۬+b@WIޫQqbn;p |(aPV0F"s-zgˍ%q_`}e1Aֆ*pT-GjbzhFX`΂okoirTo̧;Vb"bin ]?ع׺A"/-6zt?A in~9V SܞEH\9`fRkVL!E.ì=m;/3ۈZ&MfW(ߒ+ߩ*PB5U1ԕr@f掓eo4oP;Qk,'m=-g\{A2Pڻ`G|$iU½ӭn !J| )"egn}W|¼?LX"mDo1nF"K~Kn& +`a8lᶊ/X U^6=|ToZRޮ 2s5Q3 W#a.2c5^?o-RA6!J!d\ %>$!<X~{>LtMjۥl m2mkmL;" IT-*<_G,FXGF0}XLs8Pa_ $Owx`sh X=-I 㒶Bݹb>p]_ e{.ȶj0?Y\G=Gѣ-m=V-cT!1z2ۘ9v?"ЛԘ K de:!*BD)BimuJGTT~j+D_#Fd-E+9) ^$Wφ/3qP Y}5o\e i}Pvwdހ1[\w / w.mn̰˖l*5 귑}Z/@PaFn x $6'w#K2 kHi; ɻfL~XĈK ̴ΖD5Fu,p߾Y&r;DsPDSolZˁ u dރ>UWbّ;ù5xX8r6 wXC3}"^J]ә]g:|׹i:b>ou`#>D<CD9Θԣ)o$¨=ϒ"(5|Ʈ"Buk jb"Wg_XRq"4AZ~"H_rQMѰuBwhSJX&굊<ڇ>SKpn)=&mLvs\݇b!v8sXX 2'X8+o9ځp//)BSg;bʀb87Ka})RJjhiY͎W e\O4%[G/mFEHaa딧>X9ˑZOқWpx0rhD4d(@Rft-+ TQr%I.՟fKd·%}>6u%mfG3١ 3t<}O[ -Ģ|ah>_$;v+W8Xk;W;Gki#esu׸Ӎ ߯clnεU焧rNDNFڅL`{:ݣ{ 2w9{X~Ba GN@K*_b=guђ= ܳ}gt,1#c)7 iyb?f86m@5CqX*x_nphEk̪-vh+ഈSDWW7 h!"7S5y,eܟĦ/"{uR\[Jgᑤ1];j$` /WAM3$k7Mc616Isie2Tn-Σhl*UbG7Yl|1xfRPvpϩ US8R47p<&J D*oߍt겂gS޺2&}4j2:jK'|Up|AjUHba+<6&#xB持'N7r\,Kl^FɽcLo\=8ES͈H?dϪKrKM9\i%P_,IJi'H. `,LMuri/*_x/xc,I`hDwin|R'+{ 3dt9=w/P_#p k?%Эlf喡h:}2lͶR/ke΍w?|6730 ߻:,,Nsb5ZX8c615+:Ey~LADE[tF;z|7 KXvy+fxh|36p7B Jls m.cPrH7g,JٿpsD{#UoϏ/Ėr b^Dls>4ryԿLљղRTGU C09<;6N_"!`; %z1E ȮTՠxP2}v\XEm{&'ũz _@I#|Hpq@ Gnk%R׿\~[vW ְ f)Xv^[Z~<(NμtrרּzZ, /\Aew 5pS]ݽ 4} SV`9б`0)ͥyPyq]$ʥ:+uMZدm!Ui{!i/i57T )WR+BK51HI(Ušm(QN~?%5J Y[hʌ)#TD\ bӿ(BӸ\ \`t8{?x4rڿ;x\:K=ث䗡S6;eHLt/ s1a4Ӿ4@Jɞ3XmX޳3EF? [Fݟuyz!DLR!LaCjGi7çd< U~}̦!|$֑0x0A7ALLa$I@f rbOH`$b<;E|B: ϔP2j4?'UXO|W<|>ze8ZeׇRGp=T[֫B29ajbøb=ٔQ]{Ҳ|Qg=rs_Y.mDyH^dٱU-@r|tޮ^e%G4vcLȲ6jǯ=I<Ҁ e"Wٔ z1P78~g0O&ڥAl$R9I慮ӡYqY>T _+ZSn j/HL|-o(8;ZcQTΑu/iXv/낔Z/2WN8kg<XP5~.* -CI ռXi#;\X Zj{;o : ]mZml2;i9`UB( L{<\#b`үvw-oThL8*./Wo_>OUߐELݯ*"Wyi6UdD(D@-]b<\)騉 .ʘ:lW~**+<Չ<^) xIe4i5x*%>$ ΋II86Zs=Ƒjw&AQ,֒l\ g4ؚ" =pl"1ĩu  HaXӆdcKFQa; fM)Fr>F ъϖT\kΌ֑DffޙjixaYݑ F`m2&FTq0~`*وAS\)Ht,raeXÿfϵ"oY" Gw⾔N7!3^EkI7rYq!)P q7]Es,m? Ұs,N{ V:62(Dhm2(ӹi ty\Fiaâ0ZisIJUZ&Tp6io]+#i51`=;ۀ0UqoSu^rqNe0PZ]”Ee%*糗R^ 1L;x\_AX4 /< N9VSAir`[k4P5Wէ&*&!z,dx+-zp #9U%O(xZ|zT'W: ȚGr񲎛'=¾O OrQ7%t^ 'ZVWr@k"Qb,<0n98d?9B>G׸$'|˲3;'.TKuG\O{r?ցivA:Gb8{*g57IL\ L|`| Dz!SMLbpY""r ey.b2h+jYr4V>C v((4|-"ݦ.~l.dl9]{+,=f 03z֑M 0{_ ]Zo` ttJ[yha2Ұuvi7؏/sF=3Xs8hB&LD/)QSq9tv:>\-76nb͢1Qӫ poqS6e)hW\k@Ƚܾ,[AoNXךE's,t,j mE MNita$* 5;1L\,ypCYֈF6τ%(?$غ|$c B0tGAG:YN'ƚ"O16dž9SfGzahG#MMx@(' !Jbk%-.ݾsJa_b`[ݷ_KX1@}Qq8Y $rDžRq&eW⸔AgOET{SƼe{Wx^jZ/Ct]*B 2!J‰oMX~ᴅI`cڌwNahS{KJ2GcEfZ6(h~(#+I^g };h$1r)!$#qi%hk jlIPv/-& 諁Є_{;i  CNJP+ :̓HԁVf;>):ߨ6u\%X ? ~fUS*M [+o|R^;3;Q'q<Ԧ- 6n8aiLflHoyr,CjqNҲG|ĈoLC:]1Ž#N#U˱ FX6ȻvFD$dίN2٥sت5í7n;}#lGR]H}>!>4N]VY|r _lD6u_-u`U}/H%ɦ79@ū!V|$R6)T͈ A H:~\Fq JLCb*&ܖky!- &Q>KDJٰ>N$Cґ#$x1Qz]"+5yl-UcKZK֪)j_p3vi!M':~دyg8Cܘ6@Pn;Z:V۩ngt슠]` =(5[4'+W"X Œ}/=׿Q1MĉnVGz\h>atN͐rDP:Pڷ7/^թ82s窖ӭ )'*`SŅ5ʯ8CgKp1; &9c" xnr:1xW B?xĔ޿}NRϰ̴ӵɩ;BvoTcr)ӨtV(L\<8Av1"5RR3d ͍ f-{p_1&e"ܟ1.ٜ5ː5:JnhXhfc/#?>%DjRklJH:n/r XH9+?u-K'&n٠ B&gyj3 m_VZ¬wo7^41.+5!/)@ h\H0w3ջxP<)GeӻAO"h`t 蘀 5fxkPFxRK:ݒ @Gi0joʩ ED0NV>""u@%w_}E%qȲCeŋȥAGZ)5BGڶ(р+kÐ9saR"kkѱ\E Pw%flDm)#q} m@Q7" X" >]1ԱEa{.)JMgK5A$ߗh[7~5qJ?iԤNo0.CgH>g `:!s{!s}K=<sh֎e8-\Oi"m]~kq0e륷#_a& bc\pյ5N~liі|,,9cP&&Vƕ!pM@cS:;; گVmΈ6SlPHͻ,?dK<7ۻٴ_q%薯 'ƒ:NÖFIy܂യGXG?:) w$z@fp+W}mXS{VQ#o3"&4#=$12:ƾj嶠Xp i b_߁D3hqtd$6_B)DuWF[?kH*)Vi Ҍڤ:.9|\I?h|5 C[T=Ξ0lŒlAاɭWէȌlY)TR/'K82FsBԐe3Z!HBauiĥj-g!W,;?b3i5͛_kYAT d$,40SV͠ &T@hnH h-Evޭe{jTaWn @Фz󍭷ZLy胱m|YVH(PuUGj*( kI`#|R\Wbu1w2-t͵3+yZ[IT=A|~$Z6GC2BlI9 X`6>Op29Az`ZÇ'Ekx},dU狍 VK s"&L7T‘d斮Dk^yXahuM?ǵr|zc脜Z5ۃ=q|٠?: #뾡hPP 2:@]U@Jfgr&T;vV\w="=Ep |~J?0݊D5MQcL6/x-# S!Hu9z%æ128:,^=du!$.tw|U2䧯phSin]D:?t]Ԃo]i5(h9"smv!,| T/߽1O@Az{nСmSz֣ۮeTr}pAw{hEwKc&TPf{q+RYooYޣ<3n|e%!84@EgfofBt`q}%#Z?46Ih-!:p/鞷q] XsJzN*>sh瘞m0#?P52.8 kvHn0.+_[H+ ÝkA ?QQ䔏a0 ޫbq%jO02ǻh%YGOӲNY( &Fl08)Z !cO[)uIA_fv8vJ vh-#{Kq**֜ *G' x _u,|g'14ߨ6 fª5RKmx\.Is :1s?I}HP~#LGb&uȵ8ѫr3O)D"ũH uo6.rէh%vDe `-|p{{/9 9N/+s!nI)xP=+[ oq+b@L*Ić(Tf8ox|2>/(u$-jbD@BˊBrqb%Գ_\7Ht;X47 UذUAW'yf\Ŏp!;qV\ Ɇ6FQfD(AaZ»v/l' ƛXfLHC+V(+ G!Û1Ǯa2Kt_5s^,^GH`ynOhږ97m<5!q6&c8OSԹYWKSl $5z,7FXzEtb%[i~hR˶Hx4~VBv?ݤNR!PC BvP!8DcŬv,޻X{Y,}K8~{ȃGd_P(ޅaज़_}Y:/w[_"E!0q"֫iI~ oM=Mha#ʦC\7iFt[9Z0ajA*XFtkrY$ݯU -E޴4ܮj4.?<-\ۦ0Zdx]VrSFr|??쀶QKcѫ:CjnG*N^}1ou~S뭊iYEzti*NO]>z+U[V&ӻ~ZhYo9;e^[9k &n寷)U 0_I؄'TUbטYOZiIN7i(}&:mbBպV rWӯ-XѿI3^F@_J_#iKOCxyp;2K:Pbd s1 6wv<6 ?2!@)%*_Gy&A(z);n2 /EFfy>` yW2v)m'|7Kt7O$Cw,ZG*E $KV{EANFV  b@y?W߆`^ ٳ!_VJծa^ ٶ<3OO/uU?(bOgt%MT.XpBBmW&FDr :*s=mfz̐y%^+\pVIcs[>\եH۪2#CU0=}/n_6'uJPX) zmm;v||rYïP/R1֎M+nw8-.߭±\j*;"J 6 *ƆD^:q;O].SKnlm<ק-f,/o5Uasu\.0!"}<LҙB} 68 rܣ+ʺj\wۑ K4Y*-7 t ˌ;&!XXBĉv{ z(N2 FUgknj@A6&٭tPo$2hIRZ6:0d Bm@|^hf<]ex]K4/+.Kԕ2L.Vb?p Ԛڻӝc}X۰&W.G9! vyzq+v0'8p&γAe1T,a_-^g$z B,sD)Z!QE?&Jk :-%-|bjrY ZaѤ=Xjhgku ?톦hRjw#ٙbnyso9Rp VqIZת Z4@# K1 fh)?@\?}{o^ח'΅5[ys eޚ\SN5$L,%GmL!W9ht6߃.J"0(Dy)Q'm=N[Ԁ .{Aʆ3W=i<rMo_j8-nQTJnj]HY^o8dZن߂nm,MN#/oҕ댞3 \.Oi׹KT@imLC9U_NRFADNM37nA.dų]Dim U%1o$/19V AŰgCr@dwݵ8ǜAnZ2Qd(9X干p'f?LSCzݓ'k,jהA8| { fsׅ@x'Kͷ' } n#LyvO{tB鷅OzER+I$\lP1fX_I2U=`d楍ߢrMnbqGĬzc>I"1k%AV±<iˇZBB0I{ ߤq|JX0hp{ut+_-꺌XG78|cc]H Q<'G!U1,dZPPUC"&̼7| q .Mݵa]E)ݼAgڡ!LD C2xyT # xM׆zXi1݋e9[sͰ^!Im>}GbX/|=p6c>{9!v#p۔ pH>9㺴F\ (+TX3Idh/©%[`[k﫿s1s7bjX"qwʡo87qp&|f`3ZF$Җ`E#i-!5zVacHf' ^sB~ ([{܎[} 4e`!;{txq|<;mC#TӐS_G,<64y'֩v:'f]嶆Az51-(-f Z=֪~ ,)d,a쬉P2Td 4G|TbC䯓xFnF (_mgk}-YKLZ*y˒NPoenkh1E}iりNrr7& B uV)iTi J0Hb$ F.{4G#1Bj-N:JQu,f+􄀘r"βcp!ˆGOGM)^v:n +-yδ\,)rZl{U$o;|\<}ga^_U@&قM5|]7Km$_>5*?#41*:W[1m@ξFU/| ?ݦv1D 9K`/A֍洘(~8eQǔ|k͝ |=SG91alklH՝Dڪ7R-4j|Vf2Ef-r wSD0t)/zeV f$Ö>R h;)u~^/GtZC=fgRAfM}Km v/;0,3](V+!g7[muY!n =sQ9hBT`<,Ghf$AmCF޾Bgz9bw'yA{sƅNSЈ]y  sA}A $%`-ixMeFc Ac$:Qw5<,=xMXF,o'?-ޅGjIlN|_N GZў@xS&cٮx }Sbm/vTخ*+43ǖSՓjyWQ&\Ѹ\}ď:EnU` 3;PA09qqvsY {́z]+qAgr;C\4UgoA_|(u#ɪIˢ4} (0DPp@mPh?g(,**U~;Cɢ#VÉo[o9Zﲟ :ɚ9eè*غJsX#m|IoPsOOjf 5"n ШAAJ>vyEn ,7넮 BPYP(*Y%wtp*1qT1H#*ω!AO\ne-:$xlnɛSMyܤk2sS DyLs:Uv9&_9Qj(sbCmfF ?ZAxc#&iٿ ɴS aPgSy{+N:aClU-ruPīƽBjYҨ̭J%Kک"-"7~vC?ш=A^`kEYqSUuFSDbJ?i$aE ycAz {?Ur3._ :Hԩ$xp];T~j:hU|aӑ9p QNacnnmzs~g茟 ls8A97uhGH7*o:oBb놋NIG.0qgGTti LgM>O܋߉/!e {$&ߓo~фILh8̵#sh[o01ܷ6tgV6jw$py"bb3USsFBQXļٍt*PKke6nW:JMk??39;0MnB,Ef `3K 1fm>7Q0+˧gg#雎s>v8IrN?vwZ4oHh\04LN\=Q &DZ R嗜֠"cH4>*Kzs[hh±e%x'Q< @_fqq'1.Äi 4 '%!0@_iqWDF?50$i@d*6Y@.Ar~ ElPٝ)ŵ3ۮ+ "6UA-EFlw"䔤j), `v[s*-1HѮ~@t#,\1h9tN>^[ohQ%?SLug7 SLܒ8D;xuA;{LA~Vj4OvkLM;¡+-ϟ]#7H%(VO5gꢟk!Ӫ ֤B m^su*;#F;l|$2>,g7B ,IʑESpT !쒱zmnj{ؖW lE:aG \$Qsc)װfM$9% { mG-IV91arBX(N9tj7k n+.-E x":հ\z>ҁIIUW m󆾋Tsĥyȹ mc?i%I.DLP io-]vyI8oӟau?l#SYwNz4#3 zRm_@yb9Xi$1;\nR%j_"9]/x[0ܹ[H4+yO(";͵b/GW>Y}k L:m[ uƭw`'3%ޅe;qLBB;+x֪Ha8Z:z^CR[F/qìവ+3 })@ Q6Ρ:57Oُ|M;n){R5Q}ZBnk&Bb* 䥮xCj ̲t`McYxƽsI45xۨgSa E²أ kZёp2A|W!r.OOVh"a@[HH8Z1_o.f8RX54>C-\"u0F{U& (>s&9@rjD)׾0ax㡿G#PE,XbU(/|NE럟c4>? G& 'JlRvb/?eVc%u, y˵,%ĝGD{eAUeghQ 5w^9h+nMA$x})p¯RٮVSFRhD#>-Q&v)#79,ؑ6JR[n䀌7ۮy^_,4wlA?Xb[ H(常,5(U%pYLnzÔSWG_7~w hFgLjq э`Mᡷ_L jvBx-j ;OZTs@'WϹ K 0MLy nƯz9٠?Fr 4uw~~sfXDgTewvqgȝ"gL)d:{Zt"b_ڼ=LWȵe܄d-pه$)25K\`ą횇YpƖ)PcӿwϿnkPM47_ jcrUL1A!D*䎣 { &;>ZmdZi>+%Ļ$fg|g𩇺<ګ$L47ҧFNf'Vh$XT5ɡd1ݜE>ȭȑ C&f3mXIФG`^#VTP>@~Ey*feHeo<4]k/~ nBWmn\;H1vǎ‚`G C}mf ңF?BRx*J"gr q&u/C:60.,/9i">jYml-Qޅbi8ij|h6>ʅ_ 5@Q̋Cy+a@C(q9|sݦUw}$UrZ0tݟWm'o3(h@>8FD7նmNBeo{~Mg _+7fØV*wi6`:%%'i̽eQM$7 &)L?!RT]nc ωāRe~7l<:Ia'+g: v*gA&aHET2+ntбW7̚4tEoyAzo]g8in3BIcEۏת,gVe8~Ua=;$c[z=mz)"WD5_H(PO-6VUb$}DੱDV[JYt+^v%534 gg2Je '{#oevjEe?كe7(4Q:nL  m;x(,[o;mUβ.ndؑ>J܌j_gbi%e6@ VF™鍐#)A!J>Xoff:_ ("ʷ٧Ole7c෬(g +4/UL Gg!~NsSBBhfʁw#!-b9J~b^sAX,c0\/ qn/dqB#|U1ۿPwD dI-vʖR _YS%OPrz^PlOt&|ZټP08~rz$BoeXHU?ǮܺX5o 0F$\fJOp9e?B,$jx7oE|y+]4P ˂sYLoߚ$Da_ `^~AE|t:/*]5@riɠj|DgGK#b%#L ܰZ0b$f>0/eox׆ ͵3L7NeP,v*RnW+EHWWyrYQY:;;Ot^Y' %fv Z=479kPZm|*jr6}'ј6*,.GLZ~bX֓&G|$Ѷ)8ʤl &tq̐'Ce '4@,Ӟ> 1l-JSXm@^ bD=>@FEMo J +U%F\[d7.H[{#65ex[ؓG|\-Ncrck*%}X&K!Qˇ"~LV5 ?d Y5  ه &k3d=7Wg؆{0J(Uy* (!C\m NoZ+*f A,\^[H[ D5.&[EaۻOsJPCA ݌ ^8jtUάد9`__2 sMP78b447GkՓ,ltbMlόs+*%J\6ϹC+.})^Kj܇{ˮ(4% 3*lFV3O כ'nLYu*8])y&~ÙwӣyPQhx$Zg&& *;NHBɑ)u3hVO&93>C |J}ewo i|~Tʠ e' ?gE08gZ]]ξ36#*\z,2qm`;]`ŶvxUev6JWy Ms*4$`S(7Zoy^%1JbO145U Y)pQ,2homu.2Y9ܠ.t{q<oP8X@a }BdVԵ~&|˴:݄ N_R`O/͞bǗ2@jt镹;vac> <xă1Hꔍ)umSKc&v]J웧Bk:Q{zO[G'ajfy~W7%t+ qNND~6_*yהB!H7׋E<"żON2:'5̆ɜP0Y) r Mq-`2/JrWets2O޶WA棢9Rb)aĶ_dG=*Eq.TOڈ7d=J%aN,g){vٵ`mlՒz&g^;ѦCdqRqvavffMQ@S]0U`m}7~LMyBL-!C&GmPY(?) O'̪K";A{~E kgfJ $n\)EUS|_垎׶GF,# # RD~  g}+|MGZSsVS~价TR9)yjs*f%xM1!4rb^"*u94{.89M'^ޑmeUɩE=3?Ü \=W ]/wN{ K/WEEӂSTNjPH8VgE~ mXsC]7O)fc~fĶG ?$݃>va~DRR}̒b{NUKw_p#2թdm]+B/+ 7EVobVqr?PT[_>`?b}*Ob&Ol~+⶛Ň:$XNjܒՀ򨕤LŒ*(ٙEFyK[G@$|KMcgSfň3y9avt`”6RD0ېc!Yoe 3ֿȋma Shcqi,}7ЏH~nCC`+%5Q܃.my%IpQu䐴%qr#Q$x8mՀ4\}}R& .G4TQ7dWcp>`϶9'llVM/J<,n{3v:y8K 51}rou/dl=,h#I7IeZdf׿!i_=tNS޳qnBKAZ\tJY(g-Pfŕ*0#|%3v#M Σ3s\)X!t<c1aOxn^S&e$Z3?#O6,k[)BMLx(^>]ePcu#B^)K/]m0Wˆ vpXw ywHko M˷cϗ \S 4Ǭ[ig2hWmͅ-; ;|s6!f)zTtPO 'Dnj 60q1p\o c)}xfeh!2,p3P;\P+v hEŹ)a or4/L ˤҫjU?պC%(l>=#?ƪoʟؙROWy'DE8[˕LFYǙo2K_^ s? )q |<>>e$l Q sl9pVD=2БنN`oߧ8g8e6BUi_e,P^lD(da~7L3!9.b/g%Ɍ+J'ya= Y?l2l9qHZdoCaQf'CƋGx@ؙၭz.^D \4wT bUq?gH#vMn*$lA g%/8,=Kņv# Й;Ώ!Iߒ4GKUHWMr#Q=+ CL2 E2c<4qEqQ̌(hӀID֔6/˄l4YvB*CK'3X'ޕx|-G]ҰɌ-@mċb"+cNP1-.Zy`;i8fO)mx:id}u ^jH|9 9jF~3ZԐK +V%( X9,;vW&#~:;(z:* aD; dA2v5.m&}VUcWyyY`U&ٞg@"[VwqW;6ǫneWWԙ_N3M)a5IW>1M5+ RzzFQG3ԩ1PեnGh+y12a[) U ]qÇ0:dtm2M9O`#VO>/m*uf 4VW ڗ4آˁVWSBM+G`ֻ*[oUp㊅A$i⢙;G'8#8yG7.3eQ)_DdWF@dH̴Z/ Lgt*CC7Wvkz-/hpƥEd+b_My~? FEVlN"̈́_MbEC tϰTT~w6{kAik@빺q{;/xTS .subƥ@$n22w 8f V;=O6EI~$K g4d+q_`W`)KaЯ9-J5 -BQE4o2(]WG6roncp36oɼyʏCfav޿1'Z36{0._U(W84GySbصʛPEW9jAض"m+2]eCh U%ΑXu=(2DP|M #o2: a+G.BG/C;}t߻m *×pâ(N?/!U'Pr?U/W,fBɲ[[M@eZ[.FRx@ѓj|mP>={O1C=SA酹x@_ۼK /#ɼ^J@z,*_D ~B:!^o~+ wM1qÚ5= ~.2Px39qu?,ϸdЌ7Am=j1DKl<%*_!x eL;vAd "a" jv%=([@ElYhzU ˋlUHw\}ZuP S0)%H]D AH! F=T>ٚ]gB6;Ywz~?$a2d6?y0<.`Pi Aj^ZR3H&KTѾ-VX/OeY/Y RRPd@V V<Bt:[P1NYϕkZ.ˌ\JRl{L+@9:FR҆ fՆɒ5c?bxՓrlZ8׏ gۊr?fo֞yiB&y2u>j Y#-~+1<2Z n3D vK~- kۡ5#0?m¥ca/W"z; #kS1ݞeشT7j-0_B!kbg]1?%U%J:0s.︊ r + Vd<ѭ GcT }Ae,ܧok7R_Ѫ:rhͻXI%piV.HI\r'c$|)pGϔ4+(;V^y[d: s"EI#L`je? ]v,ʲMsǁBu+2"a=:JHrKGBχ%1X) 0{]q<ޫط43;X_`,q?HZZ$IfI j^`Y4\XA741M*Nn,wW^ѥ9ʬ ދ'J[)]lˀ`ϓǜD_5N+q$V-S MSmHeboDՉu9zFU SH+U.z,we\J("v#\c nB}΄V!Ā?e.^jZ?S~ 3Ò - NfhW|C]c0-ݳ^ޕ?^Y39w曀WC\\3ygGUꗨl睵z`Qp>ӟNPBY| .: 應 G!7o ;P2 bZd5!bgMd_Q8*$`["x>r۸na9Mݹ$4׵XrHNk3[b* q>:G| h ҫ ?"uTfHj4»F"G1IG?%FsU+i1=FgO5iMƏm =g'|~'&ob ( Z>'cuRNZi 1^N]TJp_NZVJT{d4n+`鬃{D.?6t=Ngɪ 䫊ѫW@ߵT[+ڶ_Mꋖ099Nbjnvp9`2kz걖.tJ*[Zh{bH?,^mB(eaqO긩D;d&^ew̄ -kp*Y12t@\aLB+fM7̀Z幼Ie&kXK~ d2t3bVs6YRN1㔚 ThrA}Fhz ,֒HӶې[|12dCy~Zz'6@_bGb,R\ƚ7dqhaLܰʢ04օuV%6;e"s[E^?[G"dDr`7^vi ?Wt,vl?/sKJΫ~Ø)Z9OUʒ7ِmvI9_; (`JUPL܌ݭOíJ}5mzAw<U>T^R&F{,V$Y؝+cυ ̉*"dN' k4%&ρaJue18چ*xr o/]Q; RĥJKu>\1 nj8!_Hʣ}Ж2L7k#E6̃ NM){N1C/Wn[D#B&=\I}_Ħ\@!32Z/ﶞJ_pB鵎v8rP'4Q+ O.8 Ä xW  [v WS͆GڢԀ.q) 74 =ْb Ku4d/c\|;Sh69Glk6DMe@e6mB,͞73ȶ 6;lN/a]0'q^n( ;v`x1Z&-0`aUeW$`WMN̓C)k&픍L8#0ހHX G=@S5lXq,wkܜyj?K] qH!6*'(RZm-rFwR.~zگZT];n6 `6xg3n>hc3c&Lrwjr9isi"!oYG}D7=7,^=@&;>*0]/E/[ g=srٷ9:.pLfolcqs!06‰i\o=}R];j**vF $pEJc]7r o=hiFNpEJa:Q1:VCџ؁MVŽtY6s̤<َ0t~3$G\̥~k KrbPq,Ԓ3z:o9qg㠹ttQc)\\"iYdZ@G &k|'{O F׎*' -4pr8w7;bfuvcz.Z=Qͬ7lKE (nѺ)yEX ~krC!k,ޫ('d$5#݆Ut'4?FF2ۻ\ n,9m-w|M%y<ž6)1qMi>+c.\t\$QN{)Z -z7&!ZLU.v?ʟD`w_/Ҷ`W>wK뙺*b7FoPbqD%9V]01V ^ m*H5YPDULfQ9(pj-befTϢ C* 7ag,x4o׈ <]63? _p V_e_ hXIGK/퓲՘KPRGخվX3G1@>teVi.)%PL/ü e|qX@U} ;ыNʜCe9?B3k}({$ wX|_G4,uzOqobHxGϼyUЕk'mw i7;T_qypc:pRFVSϒgUlDsSl\3\-cDѺ_3G0,n LK:|ns} L3hluSܙF~O zf{JޱeBԃ=6a| *ڦҰb5sk\KxayɢgBXB5t™?͆PQ1{V aiI],RWީd*?T*;^^^uqLfjx |8NnfvA!J"dەUz"a(z.6 i~3r0x|g;)m~B;O2 z << ĥYw+vpθBz4֤V4-3 b\y/3i%Eg!iMy2U~D/Ӷ|OlK&Qyb2BCnՁcA@8#vR4[]ko,~hFKu*tR8mjypF;VY;ڼ:NZn^˒x@yD1`jy@^F9js4XC")2!y,j^X/pcyȧ8Usp+na= D!8FU't;?FޜcsEl{OC/N `s0Bj[^gs.wB,g ?3lH="pgo)fNAFg@xqLsQalj)iӫ}Sَ>ʐNUFKcHVz^m!аŢ2m;m1k"vny,w`xV1iRgA@#ɕ`:阐FMNUGyS~g!N j^=jU(30=UteHw{y©Qb}J+ uH{`7Eʣ*~8bu+nǬmB7Ē?zcVWġ!V*گFDpܫ Ч_[Pb5-{-_[ .2P ZO61z;y/gG0eIJ/&Ù=i4yhZlٝ.-i̳@ lf)]lQc2I!|wnv0l/5j\ c}L!os3d}T7xh{Ng>>ؼڶ۔saضq mW/{i l8vщ:8eRFAT_Q$6Y5m'Q 0 `WK~B5>9zpMg߇b2)B, 9,ouq- 3$.C@QPy7pNW"ëbpl}vb狷;Tp=K{_l5-)Y=dcAޗbZ=!ib "݇/pc8]#A~3NxDUgPoMz_A `8Ff8pT'L;Ɂ6%1V>_{sW[z3$IЀ^-H@OX|̨؅ǶӦ;hd.^JrH,hW淬+xdnOrB 4͊. T% L|7 6 n#۷p<-,{Z6wFƜ2ʢAhd͜%Gaݡ1g`2Hו¢D2*y Xև ɫ[gBp^E]]mٞrCoy%Hdo-D<}ȫ^z뚯oe%H75(|8ccCU?(Rȵ!T߈>2O쓚ͻ+VLy b:)r`Yw3tmgZ#_LZm{T+l ^[qꌻݚ.Y=7#]\}ex"eEY> (}ׄ4;K/HYo~*X2 Ŋ6e!^!!YU|'s̖xGM)"$^OۍYvmKUƈ1ّ [B|kBgntIZ%J9/ S(- >ç9 0-G"rJƨRc `Cù*ϓ €=.E/QQ0h@*zp jZw=5&\} Ե:\H ^gn؏ܱ)u(ŁHiyIa6y!W8ne{M0Rh'JK0vGv;ⶳ7`>;k^*1q X`>p`=к ϒ\&k,b1 `̳y!~H"÷|) '50Q^+rKbs$tgPN&giTO1rף.x:f\A* pϐsg;d@m Koٵ%5P ]8&0ؤ+!eI]̽W@.ȣˣxGo<Nj <ƀ;G[sQa)O]JXR&#Ae_mP/|! sYY3m];<lhdK6)T%^!U.x&E^19DqNE_lݱ~|6.x8=76ɭдG$ "B?g bKf_CK| EZ&^]s0d)O/E-9'E 5?{Wvn M*U.EL2/4rjWuMHdSN;xoɂz4PlK*m[cP1D A@fmDŧX*E\DcfuWv\V"8hD,!+:ڔ/( [xrow螵4Lp -jƨl*0Xoo-@WL)b\(Y7VK8щ8g$v_zTy2 *jb' \M&aNGUeScWh$OZ( v@XhT, kSeSÝQbxo}k{Џv]Pղr{lڹo @Ғ>[Pi_02)'j ]$5oV~b?]OPa|]gc7vIMպG-zq?G9c$* ~k;t^(N-طFdsт#tj3k_˝|3zfJTgE\x9\;z&2mmƨ fRƗQaH WY)ǷeRQ!A`Qo(yJ{hhm0F $'+ZZv\U]&m#:d]|Bw.i| xRSf S ,fPAAS\T fF Wƹl whP~`94y*٠/J\$=u& SN V XpFCa5#Z \̍%,))bgH&w| מ|O?5aCivt--{6jv)/<ƛ׏̀rTĩqp;}FNw^g^Iӡ6&plo &1%nWIӐOfIyQ$d:a+l }ϏVu`H"?PRU!! KQŴxt ZV̄òe hSd n||Oɢ7$D1>;"yzYxN^Bm{P|ao(Jk*/5鋆>rL&Ҥ8-~|80јGczdiG|hC \`+Dg+a"}W L^b(CB 'J+jZT.͚iϝ7c+?Q^[GzذDd= 2 }G"PVI71/l7V"GõNAK"/\hrRu.kRtNi y0%07Gʵ [+H_UȔk˄&r'uQ)6k/zNԅ69=娼+ni*Wu2B%3-]/ܮoh(!ln}#DqkM,,'L~7Yf旑e V{ \AyXo F>~ %u(Kx$F;U;Xhi+k̸Y#nKJo 8%qnS^+Sщ[0aq;Lv|rU h`.|}6gӳ̾RN)N`|J`~ty?TN*Ld/$cc YZ+t isr2c@~g4!~X"9!\CEႣ*Yƹ`y7Ii:vڢِ31M"gHUܨ lāѱ@C0|}<C|~cSMp ,f4o7 m|&XvN[ zx?M{͓? >nY#J!BBW~_w! hP?eCgB{چycځ6fC s#ph/= 9^<ETڔKߨ .\$3;?F9FK+KKAKyۀ~gNApa_!8<qm `ȿDǴN93yo|$ i6};.hD7)adz >DܴmޟAi![eXL&c6H*_u#J?3cw-9aCpP+9;>enLtZ͐oCD 8Sal <\fIm ?kiE>tQ SU?W1c#tc'gFz_3@E32]rd6ČlFsPHwQ 댮E:Brf/htj.4b1Y$fGXBo^Q9b0ab;9)Wa@n/೨ۤQQ5f,s|wHiMLYai{HUh/̈́/uE@Mg:$ە!A;,V"rlZ[IQդAsFL=-{LI![ 0CJ4E!]v1"^&W/֙ފ_^R% ,P?[S2買H˧ }m<fFf;f1SgqnbPr460TbArVLl}oɧLEo8Q*!!`;y J^~/?f; r}K-XRJRc6F kRwA+2|ۥa19$S$p"qy)zޅjZ;y ȵAH.+F䖶`^ C vXIHyeҟGf˸؞,(+ͮ+l:Eza\$J[UO0\%yF'5e^]}ڭ8|oJMʛ9fv;7`N'Аc wHGC?r4lSϨ:'CpN?~W* p&U(~̂aCb _A[ۋ9y d,=_նUr&7In 5,  s׫R[OG6쿕Dk-4xbn}aJl :́"߅GllގW`7; os^'{ժ<[QeZC4e_BnK,@9A0ۓe'VI y0/~ISP媦RE:p2fOQc)-택1cщNM>~"D9Ӕ1c6U!UD_rSRt4B9WWF]K1#Dł{ׂgn53I& j$FL^@gD Yl)<۽H`Ԯ@Z-1g[ٛLl ؚU"|ƣ%87H!4v@!pI[^-ޒVYHv8rnPQ9v8 긖=ý#;Ou7Bѷ 9BƱ*82`'RJrRoQ6I~PǦ-4pl|1Xݻ ˷zqƗrYj"K7Ji+˭^R%iZC(Oj2jv-}COYNj:=BFTz:# Ld%bu L$Tg M,ŵ3?1I^|Aqzcę"D斜X h)QdZIx3m-eKXP``k)Um` ?A\NaaK%SphHpfCӅQ.7yC¥Sy"Ϛv]&Twqo#+\`qop6l?ƪ?㪡(; 9>)Ol&eRe"_PQDZdC1TM@d Zg=| ^T\aC tں2RԙܫQQgꖸ؛#S!Zwvj~E!eh=k3πtnQKE}7Ɛ3yKVIГ;P/"bT^H"IS'Z] 1 ]۳ʯDl\5eOJlU#(P=:Lݪ Ι`E$`Rgk۲d(F^Mٹ?%Z^XFk-ᇼg;OOd2~BK!SO>+Dw㝅4~sC "_ kƿc?t>OK u>GesoV*(@0J2oh.PS;z2b_jd) + .:)'E2-(sp]鯉旊rQj'5,@I;-DtVH⠔KW_Oݕ"T/ r,A毉SYC1ʂ1}N$"zXʓnp~*CWolxBAe3(= 66c[ ䷤Ta}?L&XaNsTj!t&#*#L BbU费gSOK|&OW/=Uq3\2+̎\^S +kvhUn}%#'[f._6 򏜃Z}q(ETw$w p:}{ X 6. 3 s=F8;?EGrf,&<rX@Wt*1S䃪=@rӛJ.5GLcUDb.! ۨ.{uq(V2~SQ? |I`,j 0D)%&FB'7沰VXNh9kj:⏥q8[(s_tmj-W(EW1~ J9#qWd9)j@*Qǹ(0U=(x$ޒ̃%Ad4p}N4r }Ʋ2ɚ>7;syW7 pm:HT:s\ =_ 6`\WۀV(}U/bD1 d~Jm < ) \?6n.eŜ@0bk*})rtDZuq}5 Nl89y ^vO3al,56&`B!-[].Tb|LvhŨX ѳkJd*-& }AWDa]a'p?qG?$5/+D[Jj:Oٴ]6K%YvUWyx0ZS9Ԟíf;>i SJŪdag\\tDt[sK *WG3=NN.^4 +  8%$2^ծD,mae}y ٲ"")C(?N0]cV9&|k`خRT9uFvUAP_k(j.81H>*g QB'[P;ǖɱNJ ]M1h:H-+eVy W.5y;U.8&z#"<*Z_6CyIZ@m) >iybnUԶc[-v8 g?Of/~։,O id$}RC\lpsPfa*:K %5rPq%oJ[ᮢFfK= v<{R_4ɭrЄ[]ZS#3?\ tg.ap~3[e&"?ʹקXojrYuzptQtlD  83QMu9y <;Iظ@15´Y~)ި"IT>7 !Dd~Wn)^۶Nj[X*nXB{g]SrַE[3>tW[(:yǥ4׏"),1(+JDj8UD yJ{DPJ·47d?L{`*[GB/.ʛe.˃VRK_cƷcL 壘j|AMx==O0\̸ecU4{i4CJ?Zq9 [ \R#gL{_9aoLPTMm#3BeVl4(쇅 ;AoTKy>Y*W? Un5T~fAiRVa:PpBنs/um]EOB"E1ރꖬi}%fukm6T;X4cw|6Bg({ %$>aWðzW<;.yidž@jU*A/xH[ϾlMF EkGG8He2q_CɾM3uzT#>D x/ṃl?lNy{g[L..}3W,ˆfV 6ck[ˎ8"N]q%oyCX[ʊtk7j3Qp~^H<0 wQؓ) x+`_Ad{ur+ˎj4D`j`Bϐudg+{>vѣ#KvT|=0ng.jKFBk7ALje{Aݧ[:wJ@l:5|X j\_ǻ>7B=ZbJ k;-,^S; +6Isǘq!kzj67JkyYjnQy!Cނ""am&V+[.J Wy8$ }e 'Ӆ3v_CFs,+8U/۷])Sj4dc4\]oHT1cs$-wB"&C;sxऄ!iPRB}ODQGQ*.{܀|r̚kXƳVJ]ݷE6ݜdY^OוֲZA3؇\DZ\]us >=dQ^rrT͠A(YH0=rΖw*@\c5JP+K[o9v !GFv$٥cy76udb˂i4SټMEHOnx W!#,9~%ᝎe=>q4h45iaj; 3Dh  /(n%+ E. jM|FDlz)i)ʥu(?Y esд|I9荮!ko I\C/4=eD>Wvny4 "f=s[ώm柽!D˗5:dߗwR%T*`O05hFJK.T Iyɔ9mN14~jP]IJy^8_$>;E9;gh.ArzQ~dgx=;ۤ\@V{OgӼ@;9!{[[gm@]u\B/{ZZ|XOkcڤXV P@TRA6TQ)*%H+Nb~ Bsסcl.5,SGtnֈ5!PK ,=6Rk]YaOቼ7T0O͘1jt]9ؤ\'ˈH$1! .]\P aWغVviDh4GF{tY`sb/dzG-7dG5N: ͖m?hPh(@XWEI(n*jF]k`ēh`jԱ%~ 0m8+hX bQΛMx}t3 ($՞)>swf~+ᯖb[6u>vqiO"$X% S4ıәh.oKGq3IF:jHbhf_A-|-.RK zG+"âfN5z w8Ƈ&ţyҢK ˓pOwEy\7XwۗHbK3&(>w¦:`[AGnH^:q[&BnGTG/nmBlT59Ґ.]C XT {>Ha@&O>&._`>XT} tWuŞ+Po 4 6(^fj[Na^Uv&xT2}YK#iMH=?:cVT u{Bn-yG~% N Q70^-to=^] Gr8ȐV;+A Z3l;>mڍAIeH7SSHrz|ZңO.m N qx{HJ}LӎEg)Y4!l7"H ëcو:H2p WKcMx2o|'Ma bc'IFYBhT"fB1x:^I3>#o*y? ?v[[Tͺ1*zsE[HhZcavGt%+G`r2(װkH"2 50^ծ0g'M_@|PȱQrS@$d=/P0$2U69nACм@udVW')Yd )#ƈclO+&*pB|4?Q'$~" zuL-q7.οO#HaOs{CC͊w9|Kv-xӀg;K/C9BU+ݒO?jy%k`%u)B㎠jEJs{طՄmEQv>l^ܽ[q+iw~< \0 !Jv X 3{+;(4-FVEf;/rOΧm<Ԍ>R7\WY惈%H7iߧ DThm|NlD7NX/] xi!u? i$j{h.B7gX,œ'Cǂ]ANP4<:7h<=i )53y5E8ӳ7m~\A@ƚ8+1L? W6K:I QQ +<<`q$rNt _DdK: ϢBd&ܵFhSІh vY6<{EsRԅ'vPplwLYYy'gU,C&R1ܬs<̾ pW4t(6_w#'6u=rBQ#̰soݬ9pSƲ \24Y5KLKc4ԫSZG>zz&@kxwQoTEw5FzDY|qlCa m aǚNL(ǁxx/YU@'_E>llnVJ5|u&~f~:VfHz2R (ѳrðE@͠3GtS`xnMdq#ր?ۆΣ;3kG#nR+l𙮥\zT6EA)Pf@$-uC7ƯQ!W*5B3\HzGBVFW1H=RF f^\879psٖbȶo+1D+9(ܳLau_QL/~"㈞LBj6خ?Bi\FkfG5ёs/ډ`h'bo`MzaEgQr}+RII5بM)Pt-!_Φ6"Tk!Y:7Y˒-L9*{t>9b-]q~MQB@Y$H>ZeߏˉƍKգAbU>FֵjCffj1"K*?;2DT\kTaO\;uZG+oPDc)NpTͱ 3S͹RM;rmxD()ч5tBg}#~vB"tu1(iX2gun`S_wޞE8:8C `ds0R{qY]g1/!JD-τ\X3/Į] ?־mM=S-MI إ^d AotBgxݙBsuK_\JI- ݻZWgxLNBH" O]!Q9,K2{7rM3_iK 8Gg)=ν;18[\KchL>q+ PE UҦOM;f=sat{G T l#XdU%TR쒹\fF_u`efxF`.R$Ms fNmNvv;DΚL0y]d_8`pT2}(9ZOs&usX+rB$2xF73Q(`Xq0թ)Xf "COBMÖ<4ZTjlܩ 2?6Dܾcͦoeqݷc tj*C"x>|G}$(Ee aK !iĭ3nTTBcRFYlEД#+ *P>:Afp)ɱ渦f8;d^_ލ^c)8+ZV</jєAěG,xoPRVEg ekQ}^t8.8R{vKrjE%"4VGg7s*:>8Bf UKlXe2Vl9>%ykpS#LK墘^ +\#? S@HVN4W!!Ь $ɜ8e BG|BV4FrO6h^{_eԗPOEg65|f0* r2P|)Dy"9x|{ :oy\ט7#!JzbEp}~1xv6Ϩw*(w$|/L稇_֗kHv!qU.gm=0IPM~u|VxN |Ut*ӦR0ؗUi-I5,p׉8F,@nۃ3g;JS^z^ ]KWj7.XuyP=tq,{Q9'Ҋ1{[U˫̒/JgGbb5Cf([Ǩd1|ˉfzΏr1D$ s5$4 J:gFt1Y1S9Y?H_ί%a%sy섲$``G ?fAL;b@@g:0S!?Q5aj׽^pTOBDpnm2]4UyuC,hXB !ьr"w'J?rp+42u$BүH)3u΁Գ"O|SV4^R+s&4}R<;Fvr˓k:Y%#Oo= {xYq6 5 (Yxuy`ϟF^_5z+7JsuC㓢ƹk]е3@N-Q:{0m\i1&4DUٝw5P`_ٟ&hץJ_Sފb6ϨҀ)9'j< jy #S*X"v}?و퇕ꈚ}_qDⶕCo)= MiyXxd烫O:2mX2t杪q$7Q/z\*7AMSE!(i`jvP:yt)G=5J8ѫ?ŚNb'hu3i-A<僞IY~9e xTq4GW7lb,тB5}IU42> A~AfBgFN^ QR!*$ݙ6$,w3F͊z?`鞽>2k#osؘfS)߂&gN MΑpBmvULf- = ta(F*Ղa"tUjvvYVQ.}RLy3LzDE1E-^č R0߃7̜S୨.IJNNI%Qc<{XM %vC `[땴07c{UlBH*UbQP[uKha; p/_ve^V!ztY0?~P1e٦W @^Đ·SeX1lf\wҦ91B8]BYoZFIy Ŏ sdruBЋTx7aµ,n"&iAhL$yXn1f7CEsM.B!%$~5M2{b~{CKn俋vЦEHIau{> 4 x!4=}|^)|vMg Y?/Ȏ Z22EtI~N>t卪LaD|'73 SZ͛`\TlSS(SN[V:F-,P(+UrA`Oq`a*~I*H2@X"X PtG%Ͷ nTBkd(;.[Iw'>Nv;G%(V̏͝^C7՚s}!V^_G;OY9V)@m^Xk0cV`\̓izTt6BCpKyf r.J)7,2Vr`e<v|<5nٌ#uɧwocq8ㅝ3qjhtR?B6Ϊ/u_~R/#5ţ#N*Zx3ZJpֺJFB0g˔*:4?K*ix6th#TT3}cDq#jF%jbІins''ߨ]ʪE"C6=hLMQ62(wB.^g0b wDm=sqy/Ce{>6 !gu*.-vd( ^-0kSXNzV/gW.";rcRƁ{Atؒ{b=oO~`}ʷPh <I[6Y[砆}f:{LY?i+*o>5?+wϬRbLmgtJlW9nV^ +m' kh?Uα%Ipv( uߨ4)bKbp߬ӣc |9P+!8 ܢY[mcw^kvs RGNk#DKPX} 40q~5,N;4r-xl "[dDv$CM8"R& F|A^H`Q¯O2T* .d҇bE?_R$ ڡw&gYXLr];-~˹Ԛ:Ϳ`K˻]Ke(/Wqehj#o+3,7h<_N*8 _)l`!lidn܍3DžoCv8ܬQc B2omUXQiuiv9%^P|I?G ,ڱn ]4h6%m pL#zD-{3n }|i[- XaFˍ \)K74`g,%ܳIUURnl9ْdc=[ޣL{rw)o6/-čhٮՎ r]Q 1ՙN 69"vX`-<<etpi㵆vD5#E'd5wĹ`%h¼[L[D'_w]*4B99SqcqۯrRr@XD#f{0=|A }iX؂%fmkNOܳca՜I4ln _ _52w:}1tW*Qb}JdX3{WZ7ODCm@eȵ[ d沮C z%%V!k19#R :J]i)z2z;.ysVUzpvySUg7ZypAwlXQAنr8Gǘш{w.]񻦷>H(TD:sFQ25DdzA;ȋvʋR?19 3J?O:g쏮d;UNGhM؈& -`!x w s0G ;"fCڝXxw r.L_N?Y~Y;6:ijôl͘{5T$\nj4_uc<&Cd6Ҏe#ByS?yw= ̞l`tjPR3avw+jc`_0b+"zee):|_ V mR7i#։%FpDSTh.ee2:DGP%l;v,Nlԏ\$E$T1-GjPG(U*`)I4п"M~5 I%'sX󽠠iTb_7J%yr+iumqQ$ uA7C=sm 't3x0_}bIQUSK/=y/b &c\?s3 ?Z1uv ::Ɨ^-iEcJSZ-s ȇ>x~A+6]9%F*>7 :݃t4t+% aJ/3ʱ5 _| Q= #JTV}\V`(r^aR w T0eJjGr&,n.B@⨊D~ yjKbjk_+$vp/KN8w{jB7BWe 5|1Rχ]͈,TTD]2C$fw-ѿ7VԕH*K)5h0х,\s|ke0źhSHL;pFtplSC+y{u4n3 ZVN q ,,uT13͒/7Iз`k&Wˈz=^TyvH^FpBq `]2OR=s1t0v/VYI{iPոRl]a+iQzTWŎ@0htǚ1ݢ`za$DLk >%ic0Fxb8.{j~)U >zۖQ9߾U9O3ڝ 0,gS}f/ũ. 町(/x ;a[,* ,n?ȡ馐敜\Yl9+n64T`v;nX>[j X \܈kj ;p :ӛl\ }6 B7cir#U۶R%K ?`pz(VO- Jo!˧}O%csȌssaYU/ S g]A@)NjHq:a08kFQ&_ 4$ Povn9ۮ=S, ɒ8cEk!`wBB򁒘(@\bc,v6E-re}[|(d[iO > F-di]/"{\ھsky7_r`Ut ")CevfBiQˁ wdF{DI $eHׂ郭%a!8b)?F8(F7S$͌vlW1^uT5Ȯv?d:UoJk:4'Q۳ig- V#Q]B]զ@Q=LI,  zi3/IBX|>n>MFQR5rgǔOw \jr0 Ƀ;T 0Kpp2aUf}=^a=7sm[ SOLۜp:5OA=b„#uS<[Pg]%n7]-C&JgMڽs舰rw#. hDb+#x75NˇD@ Ig"|HOi!Ibe G}MWp3 swgQ!%)jWo,kIrbiψ֟r:vHU/ۣHhDąsEnW'T0y6uC)Fܶ!A90|$7u)̻KRtt(-5k?7OQ8'g9N# hCYQ;N= >( pV)5kP"_I{0~ZßKJ_*"LWKzLݚ_GX9 cftz2^eX/T͝pbsYH L=ܵaD\ 3`J.5֫:a}m;Rm KMx/+6J6x[$]iy.dIh3sϏp\D;jВJBZwv"ުj(,\6ru$$d!iu;Kb2M9U/NZqXyMp*#]}Ԅ g6U)çh: ty Xo&xo~Z^+1sUiq@Q@)𑼝yBs\Cb&)U]_IJP cWŦMS8D+%2 5]̔iIW@}M1 vso,Vgf`}7Do]}&2]X@p°0iS1ZS,3]oÅBE9|89pW%o &E򩐮C̕}U@aּ CPa;M~/Q)ԆD1*iዋ9YE9hZGZU$^̻O&J՝V]UbS†UU P`(]u_y^=hB>7\=L*R5 ?gI:+`sUQD7Fӈ)|l.Z5ʂzE?,L< o~ז='A80LTyz 愅76v^@LhxOD̄N~/J'M5i?&"=MɇArNKCh޺@DuxK?ESX<p:4C-oN*RER*T=N:Fo2#=RNƙhY!*mgrˠB0)DZg+8Y2)DQEXXh8P"zҎQ' ]3|pWUvҁ`dP`&yge{"zR;Y,}H-4?b߮ &~c!B=z~Kpr}8* Wx"Yf`oS5Ԉt¸Ji%^ߏbN Nnvc#.8K Se.'R{0+qLG̟cy5B~6!*p>t1c~E (˘`2%ѵz 6Y9& r!_yXmԁ,wHPw3 >F+g0GŬgw`㡛F`d 34z "Pc› i8 {jGLatTUpluL(ta8N=Pa{d]ӻpGuOp&ZikTc 9|dq;8?VJbm=:.M@2Ns5ZjB7wRBaaR]G|W!)RM?R&ۋfum&19Y?$#NX-09FJ=.o֠RwUKSW kb?o794onv}a- Gl%1:tj{Rφd"D u3NɺEo$|GX&5kT3<;gZWZZm޺7![LL,duOӼtjZV)ćYk,``Twfz/َK>*nCT۲L a,p9 _负=.׈uRVSͱR9ff)8cCE\ BdDZGn-OA-b 4owK; 茨 W 'E̐Uf1(\Pơ(L灛Wѭ,n=t C`wzC1u#MXIsJ'ޭPlsh',JuS:sa 2DqעG6wyHS݉L_'#\԰q2C.:fUǠhQ[I${I"c/p^(Έ\nS-re< Y~x~ w;+NuS{LeW`])ʺiiSxi 3MݵD}?SNNg%L,^tb@h(SAzxX(DfTb(;f$ bfnKw3"۴y9 gOǫ3& rPhI>}bY!AkH|=-:HmMS, cȉ_3t݇iQ"\/LfL>/cmScGaꄫ8H;HYs2 ^"Td g,C359c"|'!e"ϑ[fUn[4[ı9 :Sb2:$oWRz2ӹ&o VGf `3нShae"&FJ[ExQ=1 px90|OgQ(uZZ G*E0睒m>$MP C!aUӕu@38RpAV4YXenUsFhǣGU<+p` b)ys\UxM\^U'苷[nNi=[OE,j!~qjAQ|Z5pQXbO]!0Ͽ'-#4+ʉZʥzz:~H? ŠQ#n`Ϭ^Zgz5d2ѥ awX2ϕ$m 39`ɅPrsV &z%J߼JGMϯj6 l0EyI+bF!JWq]o5`ęnp8e)HTA )Zp;`&/v}EVP)kw4bǚ}`9xۚZEsL y4!"oS_q7_VAA|czܻ&mX㋖-.쾐ii)`L[LiOCQm ex)k1N :`5 ㄽ|Ť8}uFgKht30n1V1@Cѱڕ32>)Rw/0cwY5V@T[ctnIq]wʼ50=lj mپ`A5w}c um̭AMq!G2BW zEa@ v" Q\|( !I^<#|B m#PۯSU;Q945_MB:)M}1P5^9A8X> 9XZP:qB%l|ԇfI /p3U·R4H}jzxxT8'p`H"1]K?/=nhlܽRia5-J+tU05Ḳ隮4qB"{ÑJwB;Z_$G*,= -GonV< RezX 󰰈R [tAEgIt 4Ez%N+VI ܿ߭b,* XnsE=q!~_$Eޭ3`gZ)h=މh&CYa0[D.0qf79{ɠh EpHm z֘4on>u_\vE=)ood e~>$V}K_)W݌xjP0 aP3k@IJzU L;񱊅ڂ穱@ #q'J[ -KSmȷ=`^&R_".0?}[L@噵D ToFTD;`!4EYťP>$#+?#)j!,g(1lXZ~٬Qϱw_jZsN=2/#uz%pVa`1&Hεr \ )WtO~:.'GݭpHtҴhz^/0T@Xܽ#r]bB'Q/^>MP9n@Vb]LnߑWjd cڊ`ZsUۄ?P0rxTwD>RN[KI%HA`HTE⅌)1ۏ~>H8 oȃ!G&_2[IjK%"w$JQnOeH:" .dh 9_ ҁSP}D`|ص3DO%*O{qc9)zg\dLF&u;E*QwG߽lN@ClI}W ífqb}[ vDӠO9V7@~v0xalؑIٸ3<ԔUPZB^AX\5'IwXڈʊS1Gb+r3͚q‹7ZԧұGL38d^b89NF,Vqq6jƴLUN{@~bI3 n"6JyF˳ _캘DDX4Zw(ab}Q&8/=z}?l,,<ρ )='^K1Kdam{޾MBvBkii%d{GF>' ɓp~,NN9k L`ӨXq]TdD7mʲ<\?xVZ Ճہ|ABIz6=lS/BCY9 $*Zi1ܹQ#[GJi*ʝb11Vg(3~Aci\02n}<'Uŋq&&41M(QL6Ŋ_f8;[=3onyPE3RkKÊP~J31'KvMKZ/q,;DszKy9WJÈQ4.JR&Dpݨy/0>͢ M(N; Mo7_=%zVJ# -&E6?y˜ dۖS|7{lٌ-*5)I-ng+Ȩ[ęȭFkH$Ʉ+܄(/9o,MHoq#ޟ~PwV1\c|1 >>:ݻãMd}L1 wWd#~oRZO^Yٔ"0Gk{ޅdA=lhV(1,p1p3R{wb`Gx{Zf_$-]>|嘂3{R\X[< 59s" $q$ Y6MUȐS FL,9JZƪ暩5f+k\>dAqr 0h'8S9is->"C%^34mt:m zY)^V(4$?ۓ^[SvqTlFԷ1^Z8o'9mFL>ᙏ{p(ue~hK#˙_ 7=SX!xRq} %DU>J&,yţ;F22KS3Mؑ$PDx{)*03pR\6ȯ8QHL wSWU@~fn)z{HS5ØNE5#^5RXt0ΊS4<5Gzx*qA3M)}5tNXӨe=Sj/d^KdUt% ]3fdqvQ,`ۓjWBO"ђlRMgK70λ ЯYQt"!czlYр)"t9yP$֟)a/b ז.:1<&A,͞6~X>~f2sN^;jV R ݞ)}m.A\-_'N!#wVwÇK 'ʶQ>xmC+Wd$qCj>]{谞!|9aR.m/ÍEE[@9 H9 :%AT%vEY,qksSDtj'ke%feq^? mTbZ}lh3kߒ:;P&ZJ*Xw2mȈlԸXɡgpE,-ڝZG6[b8ըn#V%l} &0m~ӛ#P BAȑ?-HqA; zŏL /aJ]\FGm@)ɳX1ߟ9T {PξI#k5DqSɲ6l! jÚjHE%;œ OȆ*;a2:P) <? oZX_ay5Y {[[B7iVf& 4?2$"ds&"t n3ãHw`MeCyKSBJcPk`fg9K3][ pĊaBS`%?vcMʻ0_2+՘aEmVʈn8N҈<,|u"%GI1M%hJ5ҥ=&"#ͮ=SSmC@UG|\̸!Zy>!RRC'WFHPvןOJN)8$<@kbNdG` u,=(f/PPe4lrL''oXT'H擿?>Bt-be& `P?Rٳ\/Qw>cǎ/˵ t 45JT)7aF[~%*'$SӢ y,*׀?EĝrB /VCtvܼe,FmRJ9FAL':$XMψ.F|bjv30&E Ծ ǀ E4"2,?n&?+d G\ߔ܆s t#id?T(?aBw)B>8/4]5Nϱ֐Yn ib6dlؙfԨ&fvPl yB H1(k.m $f<Gsò G"0$!<2-:^ D'3bRODc `'N_iϚfM*VR7PXl^ W6Na;M?e?gfPDԱ T5bT0N#pzB! \SnԞFz(H6M]t;ԭi8S9.G?ߣ q`Q_غͻdY#k 8U)ހk휏UVIYbwpkfDڞS_=1Z,_C>qS[KTƉhE9'qbaXKѻf%۷ 8hW؀ OVKԡbhCOmF^ Z :|QΟ`NJ=;[5B 6h;`@"{]!x؁L$́TX9Q #mJ%M>HYEzmpmz" F~Ns% U'yI/7$IBt%\QAșdV:3KM = e\@ nPH7RQN/0q]džEl &pj>/r>j ,:KKmf]9I<)V5;&v MO繨2WcA JlBc8P,dYx֔\*НbӖT4u3/`pg| f"njhE1?.>9Q)Q~Q5[}F0Xj*PүUYgw?UPr4buWɴ`[Wc%?_&ߥfTܪ +9^mq I>G?ϬҒ[mH; Y=@p25I'0 Zn5ˣC%gPٺ.|]RX:J)2-TpU wJ~%NcXCR9|ǩ1消x` TCxIn%'{2ߛUp 0uAdAE9Î>ŖneDk~eoH8tGǜ{#G&zٜ`=]W,孕\ݱ-πmk|B, .!((W*d'mw1; d7gz6A uUNm-? mD^gNx&/JcU IJ $-+ |skĀ/M֝:8~~oQ(8r|yA3#HHX_sr* >VFy_/YuF_r\ ,jqzd[?F6s/8nTJ˛z/l_+g6KbjJ50-3 3rb#C|䟒?Eη_Dy:\ 8Z;ƒgŁ -τ64.+P0[9JsU`{r`/S 0RLT]>9ݙ Np|NspU^zeNk:w~؁(`zEbN`ƪ}+ȲG Z{9B?U0ҋy|U ":|}o4YBkV T2{WϷ@-25YMԁ|t%k9nDבV )eA/{> 4J !Jיf=1:S5s_.0nA s#Ձc} ?s<hK4k%=`>Yb<o 0]c z$'O=z2۲*X/<w,z_wI(Woि 5>^>KŷCv'.g+cc3%%#ӌpO؞Mɉ"xP6)g" IZmMn5zUQ3 [&tDyox8ӷ⸽ZT 1>݃ߟDYH`Hjx kKA`9+W REQI2 4fGsaF$'q&߼:Opv MHi"m̯Q1#(S{ W"y ECmAb#CEK AU~汇fbMU3 ǘp;22a.e??#DYd-0.`yc7OD:K.[C}Av&k04ӱˀE 8U#7.DtZg+! qK^ߚLDU,(<[Ba*=r r* 2 ^ëQ:2NijVɗ8.zIpqtŜy ^a "ޮ6CjblN5 dYko-"^ jEtލ5x'r4).oCXk~Pꢌe°4U0ncrlE݇&.嫵l'#9rQIY`nkJnɷt{kOC)[M{",@1uH[9t/0HSֽGMŲug{uv&2HJ`ȫٲ R^&p(h%<ΩBߑ:  eA!Ŋ+Uw֟[8>⫛ [#D>ncT.кkt20ɑC?@;.݁ppm:SU'IbSҤ&@-TZhĉhPf9^fuu-4xVcxM/\|p*3f9H;R-;v}$0o·5xz}+rSY>(gxL3iD!Qr)5y&Bs|.D)_Igz۬z6믯5\ Q[J!&Eb:Z8!FRKU;Zٕ>By'x}5'ohsa ?q@c,MKiq>lm!cWBȞF6S +@ 4%klԐ8 ~^XlMIℤQFb].ł> %)}| T"m9'Aκ9APA2Aϻsh$pyVt$f޹/`+E8튱8kii^5X9𿊓꼘EWz1{;!apTL`Kn`fcdI EuY3ѽwHQ#Z w>1&~vIjJu) lJĩZHaV,ɩ?%B2@Pb-bL M?4ȯ`Q.(h_#k$5_m ΙU YKDl>&jD5hvIS_(EW+rZEB7@ k1 . ,,P6 Z 7HjLtWXq{>K(k gs' 'L6[`=[*yO#\kj"N?1uG*;Gc̯ȤdOኌQ=S1sQqyAjWH2&t_a~?mY.WõV 7 3^Hz$k^Y!R`5Ab3NsZ5NwT-4eDl lZ2ct,A#CŁ=cVhO3ɗ)MkW&N\ ?I dMhH*i]k,+ѳR+] cc @߇L>Z'pˏMC{ Ohۍ-"s[N#~?%/z^b @34hEk#mEQ'x&lDBsؑW*X8e\6Z\GUxЁ][. ï S'A/|cKb3RUbJΓ~2wK*vVĭ&B55#] LXCDDmkX4Z{Z!n:.z smTbon^lw>i.܂H ڜ[/,Kr=y޾(^2 :txG#seGw,oȗ!TrX {P3pʄ*W|[εS1SVY--w.x#Ŝ&Eyd-TϏJq:]6! :Q7%r۱R-֮yEGK4@A9sv~2 ",w"ABzC4i|6K]\-Y-lMa,VӍ% pB),.{)V P^ʛ;u 8"1߳3L^|-F˓d(n~래$_ԋ#֊YY8Wzi ikXE;i2{?tm|*Go0ǜUhHT\ r,=1-D27Nh.UO.P$"j )sȎ4)1([\R|n<ІvӪ#e_>[{/;_T (,Ou/Ыxk:/(ca4c2WwiHSU_t&cjdR:51z?afkPpXg--.uUucݔiS uUX^# ;.9ѬRc6j#>(SbͮEfLdXvTt 5PO {BJXLqadcWbQ3D>U/F:CB>S7riF hawnhEY ն2;$Nw۹aC!a/z#(L弡11kRsGu,oR)դH6HȜM&K/\0sj;3 ܄gtfҏsČYT,কC+ˑ17bߌV`-υPmhVT` KM 5Z; ,@Kl8 dGv"2c%88ݙH?$Z>sQau\{)OB,vy$ ,9Q(MF *'g? ҷ ̗_s)@Q -*cw{w'ejek,u,\ȾjOFS,AgC $է_"?wEFop~K]XyA^zO(.weT۩VoY:`PXZF[ @|SEI.lDCg\Qa5q~$ Q)|*m8vkLZ'Ij wlM#%ǴLnoq.F")6. *o ké ~gY# <{hvM],0LmkB>mB%:餘:1lݬܭ_?Owix_\w>JE\s .#l+nhZǙ;9I>yYJnLQ%-{uE;7:Gd:;8F#|9w^Gi#_BV7ٴ+)3z*5{W!#/F_Sr^ig xId-`JY"3[e*Y, pJ $J!&PyTd`rp;@;A8_ٲa5?22)M,=I okAԒW)v \UەE޻xF:xEL$윹>s3v2H ;($@٨MyDm^pdV|kc* -PmCwlghUmڭ5#ĂD+7c"ˆou9)R-)O)Ξ[ Dٹ?~IWPs]9m qUgmmd5B(,-b_WG_#^}[D ׬p̄Vh\5e6H/D.[Ͱs/?Nmy 't䵮h7ɔhl"DMʎ<9F{CRR<f']ytl 珕]uq<#<AX@:yv%vۗ)ٲI6XA'"DPdvb *× D/hp◄,\Ne*?}uib`Ս\Ox}!xbޖ6.qÏpD$-N> ghxtp@qG@R>-w#^w,8̨j~C:[/,ŠD˛x?<_-[ 뉇x'K!oIރ}1 ˋZ %e[;| ^pE1Sވ4=ǿ c#|C|܍ L+lF`Q~c=h'jgmԼaN=Ub6 D&Am83+M.5/@{HH~C[dwEo l_' V:, * 8V|:K&R:F0 "-AQ-z!3(UNp|u< ?t2=k"}K`]Ukf(FX!~@##6o;oH= FTH@Wrki=daT2P Hb̨ _hK竗"R*n`92TP [Xs^gu94d %E%RA]PgK,1&ƭL,dtOb:ruYI"աr?XWQ̹5Hahyr)A;7czC\! ?}-.Q-kͶU21hSRFrACCAe4n9l ׼e8>G!s7ff|[tlwF{M@%tШRt@jikm?5Ac bs2_MpDíR&R}h8{1ڔ~T}vKثjT +mh)feP{C0bJ7}䀣?qeķ D;. :>ɘHHNI|ö ls}~NwR G\6#a豎{)WG9_X0Qnr"ܕ`g ~ep$@v /ciOJz_  zt~TشӿrMlzeYs؁cZ𧺤yó bAdx?S 3)i<#iTw գ;˸\_[@GKv@;LNk!pջK<p e#J@fhia);efo3j.,[v)u1yG7rAqc*nH!QpK@_Wgr~&?1F#t̰P+|%"7f--Yr0Է0gRg&ؓ'%˝,saNep .@spؤЗ_-C -ƫ[Kȸ東CIA;%hNw}`cMBK'-e1sԡRetvU k_|9 O~[Ւ}KΑY_zW!~f@aRsʮ= !0wȩmfqxUuH[ָKUiȺIxJ![@ZP M̐Q;Q||%He' &nabdQ$0L S @"k$´1n}pRMYSyQO UoE}Zao$Gr0C E,Gͺ-.37w1k\Vj:ygT2F"#@%eO8Pʁc^%!|>v hۤe?EdX4-Av 73dY} ;;]kI^Ǟ틙}RG ֐SE>-4$95y1]mv.*"tnd29/؀d4zueF݃(IGY]-Q)ac̮g1cweqCZ ( Ņ)Ua,?5GEc VLWz Xi 7E!1Bw4X{ǵEQ i h9*$BXu}nkϼ\"e8gq+ڎj%ӀܬS!"-̓_(K}{ *CР_DCl%-ƧVp]ѻ-#LĊVr)ܮ{m IZ0W:@H|g0^hp'^eʙN\Mg9b92 xAߒtԆRywcWy5ob!/㭁!&~$g.0SU:gg~ya.軇 4mmZ3U2~a-M &e"lMaқ-,6l{궮*@*(!;4% x;%xӱ%#Tc#VqCu\?WƟv~;z,-~A) _}E)4]V۬j0D%k쑚IPz&dO;Y:L,"vwFk9J0M:ot^ 꺚c C>~ԇ@!WMmL!R+sFD"s9hV{۷:} $xHT:yJ,,&U\- Ťek 1~͛ :cU+uCqeŭzҮCI82=~B}TFsNY>K '#2~^jO6\tDYsKe\#S@M6Yq+u–]XWFa$7VST AW`yYv,~4%;LT\?ɯy.ƛ&rlU_VsGZid ]\֊9졃=MOeuLHq!C&Lzp便$1;Q:ԶUdYIb3͑374Ĝ0@c 6_%m3 ͆ 1'ļ#n}QC#bWIm M멘[OT-pbY/JjaB:BIYbRGnN֩ҨBd Vp/߂\z-N{[ok'5w*wG~wO.'SSZDVOL>BkĈV,xe=G~=X/&0;+Qm93UG!Ӿvb?{Nyc_ t^U&bgջjGCMcv@1灭"jCn+CHKѹjok^c. :m4 cu||G0Tp?IH;Yq?q*!u"C`xb6mPR"<}!3=5"@1)FZ) /UBdu-$#HZeT<ѧD.y{qM'0PE:JU'G*ga/ nJ#x=t{= A`UL?;z3#Iӡ#J>8 {d!cJJH`:\.`[Äm.loTM6/0@`P,@xY4jLR~}H&ZK&-&Y}s@A޻=c]jxgZcJ/×'kPFqi۽ !F厚U&U覱]Dvm{KI.Ъ-tK NJ}u`EEoӐjVytk,v2vyP,zEӼaJ N>V$8'끧ؒY=*'$*{Β1VQ dP`)bzOt!YV%GuxN Gm\Ih(ӑ Z,ocԃf3䷫^yՈEˎe{9 )@b\ }Sa }FaJT-r@YU[BUwWo::UWb 9\x;EdUՖyt©LZV @cQBVL`ꚳ >+;ʰoj՞ぶXZe^IͭϢ4'~uA}qpM)tQ1A0b0iGA"tO"fvl7h𨹵jn C7qv 45-ũh HFCGl_glǬZ (rKc<ɫf V^۝m +9@vp|}LSf"r?LX-B*r̬g1[+f eOշ,*tS#!$Ƞ=4ݐ4P-=I)@+Cc,c훪yJSdv>HӃ wĩhLF1$kJ~, ï)&9-ݙh-vё j|Q}g#HXz *yhJX hUE -kڂp7{B&#K֚$@B$b׺ؤ"2k/ita BaJRR`} 6_Vۊ(:VOn/<_r869:ua+by+·BWd*t"Υ x9„ Z"QUL*30SIWC#8Q<PPVl1~YfRC 0aߘKZ3͖ Dn sҢku\WSL8Dfd8%)*̡$|El2CIG~Οm+O[#K c(D#J^P_zBX$$(B":Lɼ 1ab7s!6$ܢ'r> ܍MZtmv_Iixh=%KyGIP"o23F`HoFC|(lSO˟eЈ;(ξZ ݪ)N!ŇnAc.2d)X&^#:Tձ0OD Xzf͂N)S^2ȦрmO?h"d,YO_S Mw"J5ϴ1|6_5ɗz0gd _3_HZLPӆkAZ˘π# 5]Α.$`VL}ڞ(BKT0'M60 q?"¹>GiZ>^-wNIk>H/9v:σ9YɶӚ-=$\y0db5c-Sx]lvjJ@I1jCd靹1c4[Cuך wQP--;-h_UROېMm=vcQ3?o:h؄L;Atwuˉ-*\/i>[Eb^.Se61qs'!h F x1jp%Ncx42Ofŏ?aW .G _O:>R6q/xOUgİ7 N z0FSSQ]^sAA\F Whde6-ߓx|rvi.:.My͢ SYcxs8؅V mu"dryM\ bmD]82Z_eWژ?}jeYY.A7ڣ].N4ɡ8_FӝVfzjي8b;B~WZY?KDі/`A-l:Lt D-U5׶b BĎrXXKP3Bh]ɑmi yg+[%)w]An}ɝ<f|nh=p8X_166?h'󧊨40Md40N|sՙ)dzkJ -D*IkK">bXīGPJz4YkT3%F`cAcZ|+t<װ }T%sٶ Xck̊d D'ҡv R9Qƒw;.99R5œ ΍xF&z‘0eTrۺ4znl 귯>V>ߗ) rY`Or ɹi9- ^pOMoM:X%eoChn \ z&sD01Tzo)|~.R?HB;e1Z |d67k&Wn>Χ4`Y^1 SdLE=wP :4og(}f]$ !lx%kKLq_/qyؔ$j d+jEȷ|k|dfq_= t.JX9v'w ytG#":pe?O@D5lC )u*d٣Q5JPQ<8p~T){5RŦDԓWr\í Y~SR8{4]c\haw Ijރf&cSwjQ]ϣEPGd?Lu2BI]䗓4SaY&`:Gs g̮ekqY=]l?o[$;[5(>SWN5ۑT} 5j"JÛwՑWޝ4ЭOV“ZWو1(ç>?pWzD)NDfi4ѝ ڲYLNC8+'vDElYF\6b3)VoZ 6X X 1M̶VxR&09%CvʖE;Xo)CV)5PjeO$_6oG^>'ejw9ΗpYx*<">h:a"F L '7(NOw6 jDMТV#ي:YR+si?fVp}up@Fًsh '.$x0 ѹ \2 Ɖ-K! -=lx`7 _JĿ}mDجaO cga|ͯ?6{j=L1 _0\oXfDۇx][?XG=)Fa[.:踃[ևNjw\|~=A8aZc|WOc/Aִeh:O mŊ^*` (liدL)x݀)IH[~lL{5jxea$ JťsqO,t/e韾eFZu 룀NÙ4RHP*s"âBj^oNP>bM_7BsN>,c(fm[kG)grVX(|A+=GzHd. 6&pw~$㶱]zBX^IiQE[[ w{$GZ1_ ub=O02 eK!3f/DhFy|~K 9j2Ɣ4whz̀#þ'k'Bf4Sm] &, !Z(i l0&uO='xvd:-6J7o` }N{Ѻ4EW% )Qrh,. iPg,=:O䎅qJ}Ш\j@ZlEado)MkԶ:|1YDԉ)< bYK6Uru&g0Bx)}ROؕR uq5j݆'޻ 2 @M=# GUtz4 yEZ5R"ʻg8*4`m+WxZ}8%Ҡ,[Dʧiܪ5meiO<67A y*?nth .wz@KWҹw9XŭQ 43:ʤ+kIeVAyZsf}$ϼ,qaP@a,o]46LV, __2抲AERc{O-zW% )ޥ$[x_ *0\Fj)\4+*+씔iFvxn~gxlnEpn %^"'VKLAh6 ^J6 7FQTB-+T|1zUsBln E$vCiEͰmm,#|pG|rIIx 2hnٳ5/<a+Rܷ[ iUc&t}YVm_RyM ܾ Hlm; Ү[K n4MMj b s5&Y~7Ud=Yr}@ZOv)RK@_"=0#r::5q.VgF& M0!+iVA쎅7WI-ؓ co=umS}`lo;N.UGxS2D폒Zl!J<8 WtIYD6]i@~dz6ŋىWߛө"GsLjx l̕$XhެR0P+² гɁ#ͬzN|Au  lf~ݳY-pth(EsL`\"t FOU.P`y8Ui\MpaGij^qU2 R tW[Z&v^ؼp&A21b31ۡ:٩8˭c_eY<01/ժuRg^)m\ Eeq{ }Mp:GU⥦;msd컮BJ#wcisS\uv粻͜"cpvUR-<䞶tĚ(>IJѢ>y^z)LuS5|H}oX{mʭEˤsv-;. Aqg sMES3>1G 'lmxUOpE0b$amQo&?),iOAOf_\6+:l$B@!RM5kFRK܇[_DNkSX$g%?7?밬1m SÉ=B3/"ͽu>'\_ڑjgT&'$y,K9z]mNJ4}ƀVѳqKJj8T@|YfQ? Z0;D}kBk?M$gYYn:|YrcLG:>.CA|FF\S8kd"5aS`/4.{PAqQui1uNĸLv bdb);.kaG%8??"Kɏ `AsWT{Dۋ\YTՈE6\u([QJBÛ!2"QEC [6ryF, r#Iڵ 2a[3/hF&N.)Zz%GhX21bt*}B4`OktB-Wf툯7 }cjMn{$8% `<+wVwIC;.Bў.RrxT )G.z=݌@GDpQ9M)6>OL 5; +W.Ad Kaͽ1BE}igm/a-QLؾsbET&uETI웬"jxV<"yT>vCCyG[ɼi! &6fzfc7.Ulْ^/~<x?_aM=<.1+~ʝo~g/W>-\~:%sU)p'|>/U20jի؍c.02$@1`BbTS/uQez[t& J-u8JU R뻆s=eax+txW"zqל ^RҋpP܂n +B.hNs )T`]2-xgtĕJ {$\Y X~i=mY72hŸ` fQteWrT/? %ǛbEn9"# G3=;4#qhgx9Y{L j|@uMuTj^DSINvj)]Vѓ09xCwn/DyM.v0 X r͆ 1fcdqŔY{R( wٲCKաBl )cGaF. #cUI 2w,r ꪦ& :퀽W w sKArg Y}f![t3Y{/u.eH`^<-{Ivn(U?_Mulv9,;§75}6"'Su n%t T*'nc X1 ލ1߃CH5,)4-@2\lOt:}ZVS;YIc^yVIYs3.܀pGbuxZCg~6pz5xH/@RcϢZ#iWcy~iqkM3BQ@+m+U & V9o.9d@Ǖ"]>lv;^'*h5Oqj^4JBԹ&JWtSQl^F?`K+.?QJ~uc%mX|F4JM\jr^4KR0-h-aV&p~׊?3b8 p1N]3+L5(iP`Q-[--;JbnI1P7GAdA] ;J Wi#+<`quAe U>'+kIѽx}" 8-`v72j(8xIdU͍MOwgj$u R4W%a1L\^}C{r( I&3@p_V5eMo Brn7H79(a@p0+2^֒m`|~, c@^hZ<~Yi`l=[|(D5bM3Lkl&K,(/xޝ ꟻ]Fr3/~ow7dܹ'l `*\ A@3?w PPP35h3Lt (C5_% }|:I"œ \cWJ Sťx'eό]WI5Xsi5 ^DhcJI4ٺjA^O}±LKl,qΕLk3iu-B䐈d+zWe7R/>_!ކ7)&y6Xyr[!ñ?p ?Y_#/JWy  2I.!\$P #@ {%\ns,&DR[5zq}@d-%ؕ}o0LlN/+%FiM^ʘ\X"ߍDoIq-EsOAW*8MU3YyCd^ҶpzyTkpaSCuEl_m^!R9czMޏ.[{p0p8/v\}ˎ{¶$͎f/.mu KQH8(ُ۔bvL8Q6<2wSX>ŪJmT(jN9I-H斝i% R4 jL#Bp[)z)E _Nv[' 'v4]A [uDri]_HO!O,8׎[hp[y W5u],.IJ M5&bH\C: i +?@Vov|@j.Y;1}!ݲZqVB1SDQQ[>0QQm!:s`X9\ҺZ-PmMHEMxQy BU=FRYw0(%Tr*#p𭚇Haa+,[cwu@ ~dU>Cha$&rN8[ecފfŲahy)WkJyhcYȗKu mrn}1#k6%SFm; O+BO`עDt8X9~g/,)S8n]bz&Tx_荹uLaw}*ƅ0V7FZc|A:|W6Fկ^׊F/ۯ1Ms<^A^aaWJ vejW,8;}"]~t8z\N r!#dIL!\{O.'ioB#ea4Z;'6Q%3T9/]rI!xhLBzM\CRΎm2zf4萕i'WW0xsZv'3| rMDqH҂iWe82HW,%0s~X8EoA^8ax*@\U>G[]>~()\&{%7+tkx.2ޞJ5>ӘgV ۯ2ȫ:Qc.)Z!zQ!d-#s'I掺xNi o%]deKX,NC.Mq:$Eٽ,On5=ѸQSaJ۲#iâF?H}[ C_pp>רf$;#&__򙍭2 .f&OR|h5E yQlk.%9ȉj`+wퟹknb3 ~oN|ݸ[._V;gFl8PNlGڗtQzg81zòVPoe/X]ɯ8hvIJ ㋘}*c;pK= & IP=d >ysl@'a'j|,~ _olf\T uNp'$w})(AxA򃎬%lGGA11Y W$(Y-E y"llBjY7X"ԭJ}(ϔ!S)@A3='}{线x4@FØ@Np3Wsl(b3:m9q2*O+\ ֙: ՒñP7a oӇLjE<_䃆vΑ=!X2EEǖ>6&, /BEfi0W&@T$KlK)ٿ^|lDsZQuxl\˄WHOýd{bV;z|رn5:%;K2/"%*|}vgJ-[f[̼  n06f+^@1(+M;X<`;%'~S!!X[]Ks3D[a?}퀱ʧZS#8yWh2u1n)ER6J,y&ţΈ6qkG M a_x$lgV@7X+@'dx/MV,*@(@;.`B\4xPҡ2=vAzE}4K‰b)bjr4;RW.(iR ۭ8.dKF0'_R*R12ҷz{~ΗhGOu2^*Ƒڬzx;~*P{{Y\ePR;(a_,d@c7s9pᐦdB, mcD03g4vD+Q.:g;3s ={tN.X0 "'6pzq]x)نx)FK;+p3Bq`g_5粏/+P@ h-$G^ ZRF=D1?0Se/nCqCD-1KʝC%fd2zZ^# Ӛ{/h5ْy9=L^q6B`O E$̴]Wל" y[=j_P@_Kl]Vb[l"W@xkZb?p [-17L 0qȌA6(V;WEUw *= Q=&ط #KLۡ>q2 d9?Z@OYYs_>(fAw]G#b,_yb1C>'dk B7~^?N~Fƀ elPt_h=%t6H\|f?.^߼ʱ^Fd&Z.q'`'pc> m.q^}B=htu奙PD2^bC?w\PVgaA_e0ᯡ!~0%9-?M+S1ѰX6Gf1ZG3E[ ڼO3{+ٙyPkL mSi^/]`#[mpII^L'QN &_H ΒR,Gc7#)نʻf%<_\_P cTCJ{9emF T;jr?ФsͶqF|a6iJ5ț؜Ro *=,IUy~ k7ZķqGjڞIe|W}7.8f.;HH2&f=_\k&41. r4lܘc58|rt؅]k}ɼb멪^Ys}`o{Vd`V,e1N_ #'2{H 0 C5.+QOc:ץ`0\yx1v}1^).OO4={q RWoiA.Lұ-b\,GQ[U}F 7U- (HJX\fhC*Q[1u4_LȁԬ4"r~h9&/ngbZb_w%.~T-ëAʶ+*1Hn6Xmz8P WDyV)굘[KLm7:"s%a ; ٴp DV n(3;z2pٝ nE8ʌz^ۆ\ߚsxC7Y'Һ`] ~w9Eb[vWt0#cpGyj23 nan֜mQdcac0;EV%K0땳I,o١*;֘ωNq~PxkL~G:5\hցo<0>)"}A֙i>[kGፎ JhKlJPJs _ڢeiǯ 9rמg#mE gH⍿\-_=/'x-H={'98MXWc Λ-n)ІJw e/Yi*U4FsTgNRNt\NäDfV?]H 9Cs>⌋;ӤtMN®^x$Z˷?cgt7QΧMmQ̠IeG:jʂrT1͒n1hS}$1.< п煪~^Gt~02?x$R\n*=tWP3>@z9Qsr+R,}b(hS`w'>ѹ 3v*4gQH50#g1_pEyʷunVF_:ԮN^_Eͯ,wHXF@dd2|\7$x@^U(O8Egx8ZIp8mv̱ [JV{)3fT"5 \( w5$ С{Q}0q0";K&R5[w#H3ϣ.CPvRu[&gH76rkP$֏qR1= i38`17pzCaVu{|`dN d֥O^>liO6ip귌(_^[#=dœkh<ԁ3Ҁ~ɴ:k%w&/b{3ʇ< AiYF[񋅑D翊r>#U&NSV(P9k+ 2lN7na[ קqY~x;gja)6%N -a8$T#]iED ȣbaAuŨ:yJ.fBqJ3+=p2qΫzUCJ%ÁEȡ:\Q Wi҂FuӄBFX1j,m]WiaWC1% jһ/ DVC0LԖpD 1Fq56K T`;trMLFZaC$~b9?KO v :^w<}n%Fqf9,`8*ܿ塣Bx w08Z |Dt, uwQ `Kcx,BsFEL6 oDTG4HSFQ"F$z%d<+ɦrFll} c}rJ55cܮ!Uxg(/+Az/7ok'&U 'ѳ[E[b^XG[ Og/`PsL7|Lia=O[yVV$7N~ ai x*rYDaq0ɢZ4_)G^g[{];f):5|0Gf/VRƊMǧmZ0/1RCt\m$\O (<7r{2 clպ9I.eҳȕp"B'W_05k&(WX}M|Rib ;],65w\\q%QqA2-@f@Všo!'!xHB̉rUW qҴ2Xf[iٷ$2Зw 4>#Kři𧻒ZyKHrYy]f=PnXPIyI{6q%xL=^\Ad_c4zY7XވR&/ 8wLZ>c"*bJy#ZV ŸW-CM~9Od 뷌P4Q[Y;4ёsTII2G*bGD$x`1*ӄsi =*uMtCXe+lw3+y{(S} {XQY jQg?N'G1c:%TbDޯǴw1m&)$G̃im 6j٢JD/p^@a|2٥,aZo.Xou{pk(-Gj60Eݵ=Y}6Z$DU YiUᠢ`9J%AQ'Ti JL@75K.w CnG;3,P)RT-#j(ZͬuOKuJ1L\V]Z֕>heG0}ۮ" r6;:Qd&#R66fv 9Vy6:n3">,pA]_eILqPTAФ~J̭l"J./@u#AD#fE CɎcQ@1ո͖v?RLL!kpaSb^*F GtߡBPjԐg'+< 6=:Y$ǧ(zs:Sdqqs0%'c,Ʃfebzߢ ӁQ_(#xfgkL|Y5qڑHv#*;/H\i:M~~H4h *{xR:@QKC#qd4[T "F > ZoJ7Ru!&@+.ʆqϚqi]ɐ L^&unV@6 `>tPV1!7z6U\.^?泘ʇ!|SU }eO J"҇+w AX9.IgV.?.\] DRPCb<@ =w1A?q&O=Rܥ}W$URMPʴZEqy DCK0\M,K~(͂ oK64us$E4%Mk)n)h: 8uܗrEMȗ5,7=;kL 96lEQ[%@můj)pQ,ӫ?7]A.%h7AgS84K9}"IiVamD1ׂ8WW)6eKv8SkR]H">Uʗ=T;`o'H)JTPp؎EzY#j`,:Gs1 _Q<'a׸5|Oxvb~ q: T\eBk#hpY%[۞XRvcYiF楤̹bdn3ϸ&I49ݔ;AZmxZ?bn3DhrU2zܓBZi3E6Lgj!,iN|bzlNj;c!\2 ԣ6_I액_nQy K,u/HtЧZ@*AFe ox.cx (Gކ4TVZuǶmK\zE2_I8ʤ}ЦS=ƴ<=sAC֞MT| *hN(6"ǛnSq;u}/SVO[=,|mHe@fjBpcwǽmO'h'=HD6R]]Iadd6Xe+'Us5D<;yx]', c~4,^I,'Ah[4Ũo8qνT.5\ջG3/40{OBR SlV:ۿwm(GmT$w+bi, d$^s1Mى:Q$L ^"v~U%(tֺF0c-4גT%ZsZzld Z[Qi*4 'Qfn+̍tVȪV.IPh>xGJCdPޚLzH}5W3RVxźY+gj ]/Dc]@чSߟNHydnJK1T*UpIlL{>R:X/D*QfWʂ%<u5qMIZ.R-vLrU >[hP@My;h=w)b߳er2=|VKp!ے(;R\ fG+^@63eHv~k1lUlRmE ɌJfI㿶ZʚoOV:!6k&B֬B.UyiĜ]*cIqj҇Gقj4 Fm]+G:-υzʅI!2۸vTVQu]g9~H~?\Ih::v,.>RViX150rGBCKyMzʤ1uUD edZN{$ g<4v8#H諠D~= xڼN51>&ݐlvz5B7)p[%8z`n q'B47,~tD̊JccEױt#x˗$_%8>Is4--#>LA#ѹά.+3nzE~cVEz40Oҷ!`|@'`@XR"#w6*wϯ\1p ݺE]jnM9@bfZݲrqƟ@ld$Ir1=4; =`Bxo:=PrK䔥ԥ lV$.jKD'OhS7+~fpp;0^!_ m>a\d Qy俒ggօ.RA N@kĸ6ȹjsC`C-OX7?304s %獞ͅS땪ռ-VnEtfO,p V1eHMuQ6p˳FӄQ~mTtV9?hm<1ĂaX.d1'k/4|0nJ}Kdl +b46v ɕzҖO3ϨG,ȗ{vL) =>rb!Y/^ɐ7Fg JK(K&2Km&ptu Js_ YWd PO * ~(N|EIlY=o.HCSvEy -S{iB~!QěOY}(\mr,d[@aMOO@v P;/:O+zbɷl^#O\soT"q** -{ו,ę(7lD{ĭ$g+huWڗ5) 438ԦcGljd Kq6`E4Pw/҉$pQjŒhT8)6~jI 4`B] <'84%Eu w<biاൎH/-^?rjvӧ-ݜü"&4 ݬX7gYWq'nר,ْr sez-)Rwіmi +])apƲM^)Rd#ll|9Į9.aѵ7ffmYB3-N.A:Ђpa!;Fxۋs59 Տ[k&  -"rxP}@fWC,+8"ԋ1ʲS6q1+6oM/Р]V j +kU i/~kqsu@= Qi+(b 5 n `6E)X=^PK4p6w|ÓLѥ9I,X@>s5cKЦdQEwJ`2ƶ֬;w9l .>MAs:n+SHkl||TS΁`{%ЀSʏmV4bfơ~gR+փpvjU1U֬qW@ i1q%Lg D W+I)em-a觞cΎ$Q,/90ԟT"6W焬hcE PKٓF=&1Q)C6y<:\&}f/mXYe1!K#` 4nLio]ovqz6=o@vq0Kw`ގ2^way*J;ES%u|CmNm'|`;2cU C p2Z vJoy/aH.Zt_s31}w\%]]FS5Ήc4D\Iw3?r['V)T8G;ra]B'Ɩ:9SfAGx B= c&_ݷs"q< s ):+ʣݵPjw.~յ`uD;4,zggh)7,¿|Ӊ/"ɚt8%4ڔ][2>#5f3Ļ_UL\qzyꏾڕu9X x'0hi@?AD,g/fRW75KEQ.`s?AUm3tq$|#v-~ <6c{jw%[T[a&ᣇV\,MP%6@;7X* WM|HH*B鉏PcݚNi2Y"zu*UAw2}LsJU#nA [OȣZ/b ߠy \S"`7"hqB8e]`O wXFַ=He%¸S+a.C@)dg!ok*2|R0Ͳ咏uH/>@ ʑ`C7x0kXh6j}''n 3% 6s7ljOvYxN3e%O]_U,ꮷ< Q5ݳvb++bn7u' E=JRs5#e?q9 c!N"#޲`gPN{)+M<öG@Ux Ppu[p 0R$a7 h/ ıޤ5CqC#-𧝘$ڕDz]ܺb/}{VPiWD > 6U6>< Cg+.tCkPfϝG>$#Q4Z4"T"7j!5pT0 Wh'.WYT;@L9R | auOѺ5OH+l<|,Cfw7` ̔c9?3uPc̝9`Q~]H9<,0E6V_O7h'& <=z3E_jn{AҜ{E$[s,H!7.(%8)o46"mc%ְd|&MY9 1u~-k،- ].4W=G)d^)P9ªC#Kocl)5ܧHf^q[K#㳞>(uc16& {9 ,i›ELvOg̵ʂ&b^_R`_;tzX/yg޺-ELbB}e)|5Y%-3`. yj%H/wR敨fuqYu5r NTI>:S_(=4BdK/QO3R{f?g#GUe X=mUGTk$^}cX<<[r'? DTW> 7f9KPY&~P˘G];-{Yɑ%Z^b񽒼@bTXl0h{p,9i'HkhC 3ȕk׺ ,w_CG+O}^"AzS=Tb+\<huoRq"w]ۿ5Pbi'ZKD`ghu~U!?hpWkBv =۱!C O8wbEMedı".ogbÄXY\E^|&Ő>Ȩa hV=1Ҿ E>Ff'"VlcTxUS$%.@@@[%kahݘ^idv9k bT6W3"&HNE3j*&5!w>q(*5\\w\!Tdx!5g$uu2SXH2xn&*7Sʶ) Xۻ]=%Rhn?MxܜRQF9n _1 WpeX!yG-m3ԲBu>׳a=$v2o% MHڀ+4m;"1:@pFunx&0_3DZEzNV(ܶMf-Q|xWGyn[2t{&mnOF>{itb"ldE!APW+k`jTYx9֡sr,3u3lAvZpa;j^ݭ㥘(K-L2 q!# K:9IJɼ,Ȑ]}u,$CQ){2 6"t ܬ'ɍS1ȐaX`b&\YءX:dGXΒ%+͡s8(d3cxu7a B Z`zہ 0@bsgkCH'_V٣>h]!.g^tKPrnSZ7a^MJ%I9"`-Ax ڸ\E8]/F#cw KT:JQ- P WM0+,-R6 i2N?%s/؅8c}Pu [P+}ધ3|cIaZ&TU䞢 *Ԟkvh~-E0uӢmu띍<*b83g$f`JAƄ Hk5:>?"fY·ÖʛcݡWTg04<侹ہzPShvM] g#,*c~;{kRCZy)\ģ:CZW2o8-.ڃራ3.tL>}nh;R[T`OMUȫ KYE[YqFYbƻj&yDI)zkCAxIr7bM|[!:$>HHʈfUNX#}N눥g)&mjYDfo$ZRs6>IrVTBB|l\+sRc7CRslb[y5FW 6\Y"]H=nѫC7wHhSlrĊe5 ]:nfǃ! BS 2;t[2:4n" GuةJ7 -"1c H@@M1Q'6(=ZJ+ qt}av-"GRf=:'93r"7Q7PB/WŇ4rͿcPh?`:w+Û2T{LgC836V,>ML*]$1R1:3߿ߩMF%F`ŨB_N?D?nJ"ɪ8S0}$^P&iʣDi*6&V][YF% \;'8];?ڐ:;+ST,vW/SW) & Ka .Ɵ)ǹj!eoSM q6.ՉNn@xcL!d2b̂AGMx54EO^B 1ȞpQSdOnokaǝoUРcQKu=矌!F@˟Hl^.iaXU>f1e;S9c&@,5-|~ 0w_xl *Dy"5 ڣIah|Ⳑ)J]$4mt:ZW#v^t;&MmfS!ExkF-#hq bHk6}nw{#p g߹HW@M)۸eCCo9a˒.t &˒Y*%Fj PjgJ@4h,b?*xy:d xMRlqIrTC61KUi ' d@79wéT^0=s1Vy/ށ]eOOG#r pM2wkpcC&f?su>q[K^9uVmGt#Cfl,Ԫ#zfr0tt!R+7ӈGZH/aC$aiQ##jt׎db?7Go<:/'bϱ۰EuLuLzϰ8ҿuf7ZAowXsn5q7aތns[ 2:T'(A%km*rUjjEz*,rlo!eArR%;'ՙm[d$C1}E\j{9oyr-yP],HgwfGZȈ(%6 :JX,q8TŞAZ҉=qʑy(tF11F.fo=Q*Q@]jq22K*O+=gn^3]Ml5-=?<$Q}2И3ɚңuɓNo*u/:"E9][gbjcV%!;Z }`e4eƽѹ(:p<<-/6ljv⃻zt; *k7avcbؐڟsfdAҽ/!x43h@@Mv&9rҜaܐ/xS %^  HrKuo$֗M{YIqxT,a} rI@gN( PFEr{:y}-)+,ZPC5\؈t;Sө\ECe(gUզMX7{>\͜-n`^+F) C ,׌(f1]j^䦚QiE dT) &쀴6޵"TXSnTkZ-QEy/#*L(_G@v-h% Ep DS5oXLum}x$NX'7Ѯ5$vkt9Hk;jg ^m?)#WF[siFݤB8Op0=<~T1D^!W Pz&0Ir9K*qIs1FsH^l,"cCQ0Gx86'+G@uJf|j΅E}'Z-"N[_ia;>{&7[1J|RUl /슑޼ fRlK"[S]Ij$c`ݝ tS!7PiHmJwe3)=x=#C4@9 hOY^oǀ:c fn~ҘRfEg-4_rX*8ɛ| P}+bT%]*3K+}X7+\ihJV2 @q<6?P\1;zvJUQ\ʼn藏 iPny$BeTnя%E Dk:̷.giQS*X-*gSz\fl!Ȼw%a )rNZ+֮X4s"8>'9S]u!aLsk 4J9=ߩoUbNŠiq`^T:iXL5 )l2\^`#m`_g} ĬZء(a`kSӛ>]5  Mut"¡~+xc4zy^jyW  _6Yd3@QoנCk3YlS;uPcukKߪ7-_;8~@j(ǯ2V &M7Z.g?x._LO} {iu-5s)Hyjp9"n =E7hvƖeZUlwZ6qV=zFk p< FáAߦ -gexҴ >K0D){B~3b+ceH}=TB) ~  œ0sQVK7 hx{$4?Jo/L-:~,òήoC[r0Uы:)B r j}Aw.ӯhWK~7@UEpR؉3X0GZv&VKⴈv$qߖe#.+q&&Sg3V!TMՑ}r;,Ȋ}i>y"$m@q_xv> dN(>q5?Fuġօf{ZpSH6Ju1~)V% 2/ /}!%#KΗ oHurޕ$mo04g6vIN?QOf/e$/S7zvv,2n8dS O訉F;Zp_AWğ:W@uJxe䒃2aˆӒj@w 5qw`V_M%bc٭%uf\ `}owoF䎴FO1p"~,,4L;쭲*7 †k|. r yniݭx$ (0m~eWxgCFpσPN&!x$VkǁNCIvM"/t잢 3mO s\F>*Hܨyrhxi)Ny \4Vr:foe篳5SP!3u0Q}BCMkm,􆐝; 77~!xb78Y˻.63FfS  (=6`H"3mxuMΉmD؋Luft<~qjn 8y>*^7ï#[1*+-kˤ*K}jRQ٪l\Iڼ sTcI"NWJVE+қ!:YGhue|c[l臏)vQY'`a_=|JX)b[@u>&O]^#iބ0ZLn~:;u 7B_|6ĞJZ"_~qq |Y6x$x.}0-79ܬJ`n}!Y\O/`-pui_zUE [sSj.Kg"e~T*0sB߳x^rz GXj*/O2GH+HŘ澳#x0 JrOd-D"g4;r wS$~Oe':++cz{5+FF&Ř\t9|D\}:rJ]P{aiMl&} /p̅faʊNԕpxikvkb+AUR1%wA Sy ǃ>E]f +@ <_ǺELml@Tk >"0Q?:&ySJK4xL<21?rKX)*j}H Q{Cpֺ97-] U pOu ʡv{0_inkC`SZ s+E##77F D>?TԟIacF |wHpP),.r88Խ':R!5a?D<9Ϳ8|)ˁj9#>̺w>`f?Vނdu3k|-(I"i]qZ8|RrU~Oz#WP  j0J;#hjUD=NaX 6Eݝ9PJJjd·q 9b,h_NM3%ajC˃Ջ@*S seI1f/R\RrMB,/h8~[WT ϿCH8#6eʇ8֥Ԯ:4y!(Y B; >"8o~; ?Apv"I`Y"(4 oY{U)ϕo)^s܂2BK̶%@t}d+NEU܋XM!C2ص;a;JʄaR:feܻS*@⭛=WS.K[@!bdB@a0rDd}[ItZ3@xjYr7)V1U"BiSiڦˈ"bwQ88<֭Zn,RZ3wi\x.yx{=F֞gڡk夝=+f!:y&a{/?7%VցlG1O%[3gA>2ZUeER/VbFOe(1$/&x_PS5A u6*ZcUyKHsWr! b*.MAi|r>Dko%ד>.iC} |tcr"vDsVݖ/|M5j ɀ!@O#Ҳ1:}0!{†2ݧc^C% J0v% JUllz187 vTqZacbKcAD s +V;ޖܒ#s &`bc+,ho0s|ջ# %.Kz|nCIHj>b ɳʳPf'W0 ӔC'ZAm >坉=OCzW>˒c#a}H!౯;7~eAg͸G9Q3ձV&c C=qwuYe5*{IA6)E:]Mor[{IJU6@MOr)A||/BlSl#%wAp]nSh'Ž+>()5]TRNsnn/d)aj3A_=ZRF JLIq2 u4B*ބ;b\MrlWL[6|!/;xZd%=H+5Ns|QVZ۵kH!Foc{5zCbtd"TD;%O`6B{rVA0W2]AShӋ?G1ùMVޖrkhZbT kIo"NmUP);Pg[:r̗4C򎧓(@w oDsqXfQD͊!{ti*d@=(iǁ=҇Rܗl h6ȚTk5I^; .\w[u E[W.s]۠Qжvmw&N(m%/Kܖ տlOޮT`V)zVcוb6RHn4d"8@D.=j c70AeH/[ VZ)KD"IUʅ 2'5>/I!:L̈́w`''k$XzФ?+k<FtA\z m:㇎|3i>9'8wwJI0sM&k#|}ЧfA Ko( í2:#@3 Nh#nXᎃq~Usn¨ (XCRBY|&u5DՊ;zF-Gsh"( g@؅8ы%ai1bM *~d./ b6)_o1"/Tn R OOyu>V8azE 2NZ5RUs&w‹ $w TML,'m"qa~:<$QPBGPFD *-D~E[[?g7oIU4P,q?PPHG/RRaC5qfM) v#`ɻu$A{C-{'CO N0[5,2~KZ!LzsnMYp@h>Om4W(Zp6)( 9q\ j ڎa8eT^~rߤ6-ESh] oR8DH'[>o`7jO8y6YA#TԴڈ5[\ѵij~nq>`֭O p''nyBm} &A3n kRd,=/ADW H8u8X}ayzZ}JUs[lG%2ft]tܴЬgǂ;e'z8Ryg ZU~Km脂;XOHo8_6Z~R7_ fxH8o=h*ʪ9 -b6't ,?F?M_t@nٛ<96<;\D Z`~A7&,Z}Vǀ0"0裼<ƇtunQ#cflMb'WtxO?+H:! @lЇn˙ #dQ2h>M&DpfR˴4栀C7l@lnśf_>Jv$9ew4V\3wJB:MoqZgy-l/azPFҭzG I},X*mF*s&jbǓ"G3PI0*w6QZt>,ў]WJG^NSTD LxQКe*_;Pq4T VD3(`xucAR[RR0%]p5(PL= A|ZQ.̆|VduR9"=%|(\*>Gfv)TL[{_ $E/jY01,:88gY0Q.#0DR\WmN 5;lu" ~|G 2)]#F_rX}MXBΚ97XBЀP g^7i`@nwW'95x ?^^uy-0Od@Y碲^@ &#6t&Q(P :Mve ߳B`5h8FX3x$7NAEU e>ieI)A@<Պ*P彥UpEl7 `):L琮Z3s\'*Z뎸ҩ!0֗0v>&"i.UJzkEvǁp&Hhu5qM[ i#ړ_"#}gH厀QWbd?\rzV(üH pzq*Ot+L-1C$_Fc9bmW"EGQ<Ľ;~ZkopV4OƄ{bJ"ich~6k^ w5ғr}qJEVe_zK䌌lO|Z t! 8y`T3hY>oDa0*c%Ŷ^f34ρL IGfqZ48Hp*ݬ5cU:~…wO=3aW;SI`߿A$1udb!e#}CAJ<)0$^u9;g]9ZԹӇe&(~-6@GᏮG~D>Pe?ٟ!^86=$wQѲGQM_!  Oji39iQbU-lZ&'/ΆNǹ.$pUJ_.޵itH :1bm1((,8jC֏,,*DD4FR`QOGjRY>X5zgF^9>1EXidVx%{yiUPi̅k݈m7mꈗyK}\l[ l Lz녣0N9,IT'79LP~o!.́5Qʽ܏@ aPl='_!s9xѼ2I"v `Ir GIj0 FcDKZq=|^ /F\q`wp|DkHYĀ|aɰ0 ?bu ӝ.PYYK oH"{laAu˵@[.^(>_ xq\rIx@,~ރߵdX!|ELH0=̖]NXGf{ ¯] ͚|)Z,6X_aYQ2o@O5~^v@Q}A͝)e 45/; 5ղǯ6bP v/ϢCE?;;`5; %h}u7.ץa&66e򒿆]JZ`=Tȋ,z,0v笽50=htWKבF)n"MM.+@,(Cw2-esU5whn=cN^W'#UjeO%顏yh=/HDr-EWsߛp؋h{-}Z2tzŎ'RPFBF.%‚ ,=_egC',L/^*ߢpW'mF~$n-y$px Ƭ\͝ 35ьu|>u/~F+۠-FqU +sUwGh*I-YWAc0`cigz¶v)?y-JzHۨ%GI$<k;1?1&n. #02`D#Dl}ֳHQ҉ Ɛg V@ P:)4QI8n1 eFBRSU[/Y*vÀ9,Q٧9Du,}8ݴ= 4e9fg{ij)b{!)SK`_+ٰDi<$Պ/mG~}3<):h39Tk`qZAujI~-e#]t|;IGq HO'4zdMcYJ^@M4R!k^PaR2YzvIβC5sMv-[bXD/= Zk76߃ұgLgZ50 ;nF44b$c tص+k?DO_&bH^ ^r:S w,)򫽏醣q`HZE# ,s'-չHCĆ{YCV4k9X| 8D\9ͧ֍*P@/)`9^*dc^*R pQ\8\S3]g] ]o]֋-0C.^[ϑ }F#'ڬ̾}AF?h)?yY CO^͎aSaBcw+ ٠fmv"*lWí1!D1cZ_0PwS\WBLl}K;1Yuz W1?߸6 \yb[ng;Rlbo|^ V*XZC|QN~MN:=20S![$JW_ALQ $56EMe+(}X~L: 8 9 v=ZP>_ӻpl][my}>þ9m){ y'4,8rC0;T`եPVd z*-ΈՔ}^I>CBsynGԀ(ES# C_s.NV 'Y v I+s.M\t]LGˣⶆ´]yz0JQmt5= -5U!78,cp%>|uUqäO8Ra|:@?l`%V++d'1;YTM+<:-po(b吸@WL>m7pʩסNI#Ih!{pn X>{)%RҖBYob@ݸwxxvp-qpyt.ax6P3zYoMw͛Qg(*˺b F}dXV@Bz؜܍9 ru5԰Ӹt:ÓFLp 41(udȵҰKJG )yK/^FSsħє=1VO-C?}vОl8Nf B,,Cل}"9􊍡AsiV@ SwӨUG^K_|Ñq%j|itU3dզ(Oa;B S dh`T0wm T3;rU7C`??P@$?@ٸ *-1 ~a>WyZz=1KsLo)dbؽ,;.e?ddt$A (dK y2ϵ)+'>)WNoULb]}a(rއfbjK; ӪN>ruSE<ϰ{r6`]GPY/ng07̰dv||!HW )khi="zesmb8V%khX-1W6\ȡK_bh5T@h8"hZ{7lz]?̶5"9ٔ,Ɍ?BFIN(4z"9;Nx7ޚhx~<{!ͅ(*R |rV=Wfρ2qa*hǎ3&2 2ĺBzсBTwx_CES-lTS<TD,c3pM\g>׌H식$-c@uC1"=l{Ss%lRJkޓU"w$Hn#h$~5QγrKrxm<^l3y0̎f_ƿntTHkACFcДU9A:oJTQeې+v`%?'LG+prDAh.5 Mզq|4!^UB=,5v1\c53˹\)*x;i<3j1=6i9ݽAī03o6d 2ӑ\cM:?y@ưdӂ{R%Cq<˿Jf"֨R ud̯f*5Xm9ɩbל\0"ЏHx"I,Ԇ, ۓ,U*lBx.e7 QS`R\ԁ4۷!x ^#.ޭ~E^tUԆyᕰ2byaTwz_8#qhXm9dp *EkbKe0%s?e+ H"jQl3[ vW2jJ2W1jcQt(Ηғ{a0UlP6ZLIM {%TcNX/,=u3_ܺQfS"uqҝ~TGO$Qϼ*e0-3i^4`Bm4 !K l|VǕ~fE2L<,g`c>Zu ,>5?zqƱ+IGJ^q@F#?*;cءY{WkVAGm4{J0Ovy_ڕʨayδ= n;s[ PhnD7 {WAv7~g`d9fjqWҟYT=(j$ .>3j A^Nǰ;zXO: -XTʺiS۱Uތ b&,~L7Chm:].p?d.g0'wd qwGW!@{r9w-&iҞ4$1@z댠YyW+༝@@L,כEȶ Ԣ}pn ^'$"{&J\yn^ƅb;n/¤rt`«a ܒ1r=~8 T`43^wjdumԲ`7pŠq(jʙSc]:=3B QԻtOxK?` љ8wQ.?+mI!s :NiP\,rް#q qH YcO4c1zN-Ho /p!f;fhI_FK}nLT(x:gs0r3"3Bɷ0cyYY&AzS&hu"%"DҶ8"m9;9ZKo&h?֫zY"ۮdΆm=Un W-htW(LuT"j<1aNfL{LGccϟ.@_LF*q!DzW/SfPeɈ?>8 VM߆l7f]LAG|02_@9[qIqAϰš9;,%+[dΪ o =H8qq@ѹ)Ggkeh?ս8 sZZ@TOgȔȒ:]cZ `t]uCvޣ$wxgG*e,c y 9jkmVHss+3ѨB! otjz,L d ;=g1G7a˻m6wΖ~l{_Ƞ6\p׀D[KV1}dYޡޠM28ASkOS{vZĜiCs{F;gV%Q. {BPWcc)"Kު s\(F(?``|Քy `N34Rs!dah&9*f8|#b #((].becI0װ{O3 SThvm@Ҡ9W'Mw ghw%-cfٗvG٦DU H UҶፄ\;] _*O%&}y mYx@ ШstQ ȯ),=HGJ-$JV x:h/`{5qwtI̶ Z[a8|Jp&q)EЅqrp=nn~%ٴn1 ̳`;HJ@d d_;;\/fww8(G/'8k\_]^:c%(tW2Ö-cCUF ؆RgIàSwO~<F/)OiƕvXcksąOI>rb)\;~P'L_+cdn@ʭeQ2ζo?G=b4lû N=*4`"K ^Ǹi~BڹlqSW_ӒU.*dɭ17P?(k̊ +ij9+p)<? ƣ (ZDvEm9^1'Aeʼhj;A䲭W1[I&)1qb*_\snqs6j䵒Fгgg׆N%MJe)[H҃h[#7EсY$>c=+I˅@_ﺐz\eovz!k`cYVS&mf?(BMސz 2MԝܾgZ;5H:C{M;bWAn(NeC3Pyr~~}-fgyȰ}nahxVH)~5Cr.{b,utw?B%@sQ/벵S7΋Vm{c߫g?w, B2O^z^‚LKc,[9=g`ux8 R  ,.ׇfŴp6csI0U]Ljޡ aOv@KF:e΂|f^?YV04@ 1P3AʴB%"=eܬz[!εB*0}Yt-RHiHۀڨE\4 JT>#hiqA &V.\,lRp.p =^RvNJS0Gi64Z/922D [KC,'U,eoOϨ:0 Iދ \YtŠ 'IuƨfMTv_=y>6YC_9I&;*OJM3Z;ڲX.47>p>N@0aՈD鷐Sk ClA?0}X~ZC!<$mxQXSz0IwgGudGUNhײV;@'DˠXT,wېa~6ЀfIe ؞w|הnGM~C"fyyHuӦ+h8O4 DԸM namLh~{f6/w;hRPwb=%5 ҍkrQAWSݭ0t =8!C]6#qP iBas1^gU?X, d- 15Ez"bLZLX^F. XP[6lM{0Ujf/I8]4P#"O22d0N,!a5^$ #1gn{}eb #QFOK6<L.&jqMVG]Gz'S =3sgT+8yLA @)e_g!>Sc{qGWshpZ漈8J9.]"lPt.{)`D+ަ5K\ۿamO UV>w)"~;uZcTv0FTn \:1L1Kʔ/E Z}$Ҿ!I3WdtDӬnx5uL8@u! Kw[/jkZtoWK>eL*b"`,2e։m5(1XZ3ιQM6W`@`x"EWz@ɠVrL41*G=k_ꍜRcOS>ox[I*?~9(@߲-,Lh/dz{@|2]_`fҜ1|%+Q檐q :D8HsSjdN0:tXG&݀YX6쉱,Na2mа/~خEn=}Wn4Js$O ,A_kdD%cj8%bS`c @uyl cRd DZЁG$njNO$E)6!mĽN RPR+Ç7S+JTfE N{Ml lc=߾'1d_,I?Bk}؆+/_Fow~OqhT" !Z|:ԐZ ;8ԅpR)Ā*7*yNpj@p{ L ~@A 0 {zq-I'G*S/RQ9Jqퟅu)yՕ""vڡ8"׺#űu"r'vXr}h@\@|PDEkw%6pSQܦne$(st=5PQ2&^J'>RzZ8- rfܮՏ bl( XY3roUnyh8-VCDxS9D>t9*ΩpPnHKKr&c BI{#`kףB^ޘ;Z/ T\/ѝa~|aXIx^24zJTើc1IբI -Jt'_%j8 =<'{IH?2z@2S{[+j ) + l2$ErEuU-oOHx8>7&LKeTU=‚T({'8(,,S)ucn+tꌿ/w\iifGJ@,j}|@(m9U&x23y' ;y/\TPu5JptX7-0TS*rҩ…+Gg~>f)Di n{W:e˘iv`$үzE` vU8ۈ/VUgۥ/,?i϶*7U[!uɣA0x_gMR>M=xmGp9 Q@;=xE0Gߣ|2hmC";l)AЀ<$GI=crFMKKdy!#XVt [-ߥ8QuAbv\5"ZAݩF_C -c|/0f,Cq'Yjs `n_@v%-M{G=K+Eo=u⋺Sœ* zƹBI@lKQ1O9wA5s뽟L mʔ/B=d(i(nKZ/j1nœ1c׉'{ Ckz}o<{ӿ\%sPBGcWl*ޭ^6S1^ATq97_BC=}:[Q%h{L1PnSfJBsR{I1ZT1q KFĀL/E2u c?E E_8h֊]ZGul[:dcK / nB bPWH@JT J_dVSOm4{#yl~+8XswpbosKZ` ZiQ4(ōPuZG,m> o=wa LwcRyM:L*05KM<uAϔЧ^*+L% YYVH.h%+~כUjii/P Vً!ik75+S M- &!|*Jq|I+G*FAɵMq!(OMOz[%zV-$dYGmSĔMy>$?bܽsPmY0bNt7^oW%盁E 52lu)`&Ndzp[pw^sK|韟{]a(~J_*1nlhu?+I _B\a!S٪8QmT:-lZ-E gOrʊXƼz^]ۤdkx|Vp^*KzJ`ڛ>' ֨Dr7[Qm'J6gyz8;s\g$ %r/ +a͹(X_oVa qy(S<ZپřcX*[ ҵYV䗨4GEN7kdJ7 ePmdj$nh{ix6cwB 7s)}ֻ ۠? Ym cX]W%V┉|Թz(^+91al:uS4݉{~DFݯ6@\Wr 3fL!:ɣX,D>P+¬oSոqd7fh+ ,QΡiت%7woy< %Sx[3Q TI "冐upF9GQ*ҩhڳxwLj/]avL;bXe/D4նJU0hRF@aμ,=0pt}2;0SO gƠI~J+#rbrl Z܆W.Dhnc.zHB9 G)?o'RjXFsv!pf==nz\=z?tח/Lڲ§ԃ'5: fmFE@EG@c]VtK A_A5 J^uyЁ@ͳlXzvdW*G`db) @KFU?a/jj>DGyr:G {a)թu^@svzSvI5oCUEC㴟}켁O3Уw.WCMٸw {I1kfJJs'$i-C4>LY0^5,PGrORtX2lҤ\Wvm9D6nkE\/1KCXh13|o9EkVHz+Bo=JD۫y6ձ_Xv5fUaRmPQAs.~}aM1#JG]Fv'y*8uVs]ܒ] M1eѶ z&Gl'b4F=K_p.l>Gݙf8e/XAs尮 H%\Z5 E@xOhmf&J ]tqXS&;lazPW*OVn4.hN 8iE溉+7OEX.8#m$5vȵ{DQ8M1")M5&+ E%2z96ţ5  KMe?{o#Ii|a2Yxdk$# \D8?h(5%IlMN^$(IW"ϱ̒h2 ce(/@ܨ}Mz6.^j/S;RKzxe^Ig6ۑ6'/i>!$} ڬRգ="f -PF3|eUE-Xx(utCM]cdhck]k$s9+F.촃uoj_ً*J us"J%oħ_^D d溫5c/?gD*Ӕ&oK_dU5cc@/ȱƺF;jPeT[DAPSB!dܰG)_>CͯHvloT cak%w*wRvH68EE%NtOPF%)oJCu{{E٭`bc|;R/Q4' Y` -aG.) );;8L+Ic .Rƅjun3vw"ͨfz%sc: K4EDDQHJ$XyaG '[} w(BKD_CA }V!r,S7t$ :1r} iߋ[M+H䝏wc`w;\Y4/IU})VCswI%E 5ܚ䬅rQvߪU3)T[w=!qG/:Vem \ҏeOQ?5y[9Cq`yL%꒫A¬].B0WCQ70d Vs!\1iT1+*'?Kz č=-N?oNpԃW7qF93uܐ#CnLMU Ǥ8+7HxX p/9BiG0}o4@ ) ¸H61%hͻ?;b܏0i6UXwj5_ s, )d:0x)Wx~B VHR%plOJд[%~:%Xv4 u31n;Yr|Bt$ )f1λo@JH4\3=͈<&ThyGFtr`R>kSJ7 .Kc]}_A%w+T&SUvPk`ґH,ΰîwK!R6Q !1aT'NnLw~AMDΔ9`G]z$*y ZVHx]wvphbK@{f)q2SٛT?:Ȟd"S;]-. >X5,Lr9'l 3,nts=qp14;_>d}Duu3b㼶b.q-z-‹E}` r+r vMXŽY 0Rh[]!ls_A_ Gz&v"ޭL4tM1(wCWAT ﳑ`s]>ZRI¸Q8_,tCCii-ŴX<~*Uy"?ܹu|w 4"9vڴ3$WG=eH$tP)!52n:IlV4rN&c6_xukU2r1\νգ[ijAQG4G 5"Ք$CltFط t8CVtq{@4*/Oi5;M''vJW@֧maRXaoS128L/`n|x, Yܽ&"ZL|2O/VU f|W/" }Ĝ`D\4F eMZR=ϼ%;7iZZѩ˂jC-?t쒴jKg*2}L_.VIPUz\f 0 À8>t;rCj`8M Nsu+p\Gy'z5ѥy qqz)ai:kzo$1b_5sUxK5wkU(9jWHSTPr1( ڙ~hV+驊. Y qqjiA/xj" 4:B,fV}rxdĻ<'%ʇ-٣v= Ee&Cއzbb;:,- ؊nhCi]Odf[+`n-$Пi0OUb'{pWc%ԕl͸*_VzC!]q *[4kRMkWlGZ,ث APG,=e1?|K f-joW!t?J/d*|uT9_qRg\P!a5=T1[њE^{pUWJ&+1'^/6}c5TDml vJ5W5 {Hϖw]$ٝETSgw%=Y2:lԷI:teMx2NRu`:J 04|ަ"țLO6Yv\5TCW6"x2S!'*,`o_ w#~7l~ Ё8wsH{CqΜeWv>r7d%0əeq#Z`1q7uDG :r4xYbo L<}$xb&oَ}SZ6[%8+J_6=ڶ 7wBwoԧ,GfY:]:jF̯ާz-5xd.昲iS /sjC;<A%o(ߓ™:1*SEnǒa&6Y,;(AXL ^,HOj. PvBq37 ڻY(u9eP/(6M:*r{߲n($v(Qc_(7V_pCO@*c7}ܞRQQv/(%6P"nbbA:<7ag@BK&sVH@/!e+M$]ծuG#}܋ccisGP YB<"W; *͏D5pG?Ji[j 7c3MlNÌl >Xhp( '/Fҧ8ٌ$APm [U03*f9P_ @yKd~)^k<6i9mڐ{#D]5zԚ:MM)8ROgKu32:)zmn/o⶗IeWng21P` :2 6 ŚS?KWEv.~ZKY*&{X xv1'p[7KQVq>i.x|tD!D  ~;oHB_.NOa)0<%K!XtY`#;C"h?H%`DlL8Mxe=IpAr-Zy{Ā׿v1xt;sT.D𸷔O 1m ~~-N;kDNoodE]ÙiupRFWA`.A"E.<|X;dq%) a]*TAroMt~n~ۑuC!Ex23 M$L(^(k!Ң0XgrOCۡ,ᖚ?F>3Jgn'ă͚8K_tд{捡xǜ(yƩ`ֹ/?)%rAܹgpZ!8<*b'lX]H _ Eb2\gWB,BKќOM0?Hd5%w兏[{w;ɋ;V"1n@/qIATG*=3/khz-.WHNrE=6}`mdKyߵWZ:|uWH$F}x# ~~iwe^kEL5iCO̅"4ܶg1=hMh@ATm~qPF[ir `&]u)SkfJw"U^[ەVC!+;'*YęݛoNp}G͂Ch$KͿsz]>cnS9GL⽖O/x?wΤd<ڡoE?PW>-.PS*̮2\ZT{SDAZwSW:EF-rľ-w n\=m!4?`1jϼ):M_cѪkJ?[P҂`f.+*.H XbԤZN\9].]N)LxF7p~#5Ow-Y[r&=JcH,`Ɏ&OS̈KΛJIJHa]Y M!5MqAM#LwW uеFkj Mg-4TN<2BЕ>5*gbY.֤ӷw5Xо.@(ۛSv ?UhRo^I^"VQ'8b n.Cww#<5}/}`} L_#? uSq 88V ^{%˂m ^((D͙`}joݿuًV"{%C^*lҹۧ (%OS|W15}rմnTHd=Wt܌/Fۇ(>Zul2j\4 G9ltę2LJÆ/#;|dX§5I|fë'J\z6Tk1&Jz:^b}vÁ'oy35Mށ{y^mԝ<]=WzVZTR8ml;ю">]ZC*Wǣ:XbHQJOʤ\{ѕ ?Nq,QK#=ٯl >AkY.O+(ȧdق&_&$ߣR@[|Rޟ/y#TH{PVm?嵴G$Hr#aG(ɮ90sͽQd1uyS!?~|r:͡Ef^O"(Ϯ0ru7F)g+UIB d8@\5 } Cɫ&Q'/WHf^ëQ]1pL2uAuJ[ᕽ-8{t /G8+Uw4/@XgUP )?Y{ Ps2aA#$Z1[`辣XddmO*7àJ }.#Aԩq . s!SxNr?5U&"ydpa@"b~!'Ͽߢ/j6˺ ĕĨ"5sU/uoר.H6%7?2{NkV<уu2{#iU?c#دu#Thr%oV]v#\_fby-43pH`"ѝ0s)["0柲F πΐ@{\ v/ y) p~/ -dOR^_GUG;7Y-V/5}?)VXAtdPNC }&J&jfYV1NGƿ>E-9NgNM8֯6>)?.* 099"Ѝ34(x4-19 #DJ踰GN,`ZjW}V[w6cX SzhQ3$ф'ektGs Pl}$tQQbG"5 9ܑ9C7ЊbKØbU`tCĭyk*m@ RSiQQ{\#YqSćFlWfCZ5nsőꙀbKj}i4d2< ':Ԫ0 ]TjxǴ^1|}q{㼫;f )gO GlYx`q<5FSr0ytx*F }+A{\…GlXf&V Ƽ(;z'm/ͩڢr}K`WTM5VD3kUgYe#7r, ~pVL&r9<]ew.HXٕ:"5yб|h8 T8A.gA%[ᵽWY965/8 Pā ϫġF"NkjؕC^YUf.x$ @E>xj(&Mq_v AƥߢSGs⑍y`tzK%fÕ(4Fyʥ8B#||zkHl|j} t!-Q9#f՜($5ԝKy($,eh3W1zS+ {2q&G.7sR IFrW1C\ G9.gb)×/4'%ڤ2*W7'.;,~뱟UZ}B6n}8D w=~ -r<v{r\턷y9HTk\cR 9#z?U6CҮG9xalyY 1#fH׻W{e*Rp+͒ ܲ·Rϯd2zzx6v3Z9"DZ 80/Pj 6L%bK9YS_B7HD뗳@T* KbY2Wy%_c.yE:9w9 <,}Jz]z!WՌ E Uv}HdeڼV&3 "nC*Rj f[L~ØMԱ{b2 ^ږKf>Z_@y,^rj@=Rs?h5PgdnQӻsε"w[ uQRbޕ JO 2~+⺓qsp7Q}.+Wnp*sЇv&I6eU&KK&Xwr>3`2t,7,'pod[+35,b+H.` :mMz$.Kl$.TJ"v203YԄJf}ˆ w% 1}} fF= J&Ū0N}T.2lX5#ccD~u`_Ҽ8.!}ǧBbXcWPXRai,hfݔ[p#81s"D~䧁:H$Tw]7 ):H}qv˟|t\$Ui4ҏ+NukВUpHq'_ p hpȨ[g2b% @3Zb&R%.p,lv~俿$r7`>?vZ$K:w*2%ROȪªC&0Xa梠(Z੘x3 ʮ|[ʩU5'!_{%W eKɳ6Pqg27(}חitPsڛi<o4-) O 0WF-u7jPjf#x['~WNmv~.$n}tItZb_nGc0{ ԟ-r:y먥vrΣ.ށڹELF崗r#w @]Z-DF&FY-E)QIf`EM1$-?\"b_F>o„㈃Q:8aD$z KWkyL_T4FG96y,_"f}0Ne'`"[:6*{A :AƑ_нG ԥ>hIxɜb|r,fSiְҘ@g9AakឺT#|.T8?~Խ^F$約YD;c!Gq(MV qj9 DtzZ_K4[R9w Ѻ+ H&N’#w b9CL.'fbc1Y3ZhJ`k̑I\ovΎ  eZ@/URiU r%O`Zqg٤OXʗ+7 (GVIцtNX8997zǿqSZ>%2g쒺qao=%qPV~ω̉{+V@Nf.QB* +eXxٟglXfWW?HoGzcUZ!|@V)j m{ ~] Z\<"BJJݗ=1e9zLu,$V=}5LļpA-( Ti\$$p%]' 5:T|DOcWg$ջjiʆ34hҸWU#NqU_KlRLGW!WoA*z'])eiR }ѼSw_Ɍvp>Bh ygeA=@$ʥcاלv$t3%R݄/}ҙ(LckYhd5:Ǧ:(F ] YS 􇊢" ,Kr>u"Gm ::٢u"FƼt@ W<&7bJ pMX*šAW^םe`[qQ쁿q&]Wjwַ~v >GR] TFoCjOmvE L1Nu\['->6zޕ{;5A@r U# ':pD~7;ِEҲ@zQj[2N#rw6GTI|c#zǴv|Ÿi>Q4d}%OiN˟o`;F^s 0;XR"ا+U2ο@6+'3 4m%iTCȅi/+ )d0*I .|9Sܜ{XkWo]52ۼ汋KSķK9ABT{W"3 0NJy{6hN_çnysX+ʊ 6$v'3? vSg\Z/sZǘXUfw7`b@4vw˷S\$\@ -ivܟ2`ZbWm|jނ}^vT-^21n&Tcg4m0Q9TL4UG@`~ *(xkΓ9#BBp$'Q \P :[Gj1I|(\iV3ik*ѐShOu&iWq{ $kTÙBl4`zJlK8>WAIX{޿&3!%o8&Txy!SjYycNjZ u6jϕ`rMS}jùvv7ϝSe<}Z)wD޼`ŀX£mQ]NMQi@ i[jȴǵ0w0&Ȃ7D .;1Jvkq)Wi\db <"aGrT%9F|ZHmKhj.]#>椈/v -UsNs=S9ttE!Jqۿ PN?=G6W?c4Jl8N5xoA&SOaI,-(&jIw}Vz d *Fgoj̈́;GRF=)Nqa0a3F“N4b-o.=WԮ֏CڂF]R=x'HH@vf9z;  ~՘itENn1.-eY*2K9Z%+z? ?~|Mv:0k*필X+2 ce|Kӱht=]y6P/D:xMQ40W2pF|XIk%uY* )bNTb0Ei1U8~6ŭ{8qNgK#'J^ ʧuPz̟1/f`鶑ЦXrFY#Ti wj P 9{}k<\( *Y ps,#2hry,G 4!2s%Ay(SZ^'Ցa<^6Q tτˇ1PCX:32u>*^n[Ƀ4Vik;gbeEٮ(Sm޶ N;. q<2qcp@f f-,?֊3Q 6$cd(8vN͗[HioX}~*Ko%_ j}W4zP+H C=V:@d /jM_ma+)|naHty42&1xNs+ml#$tOEY-CK eOE)p9t<43QHz8[,KY!f4w7Nv#M[t]̀(~<}d...->ŷ[ 3lĈXeciG"ViW0PHmB,eYgL'L<@(&i财NƕLXABf욘1JLKm]̥GfPI%&#^7M8Bz*p><}yC wq+~2Q՚c0&=Iܬc˙xjs4o;,Qy:b8ĵ2'Ά?##]=~NPe\0<>Áayd+ɅPQ$Z{}"Bڿh]ڠ%jrخ[C,/Pisg5%u$A`^%(1ƉҪZ'[LUf6?d %k-jFBD*Brǯ0 Edb]YVz$#K(>o3 UÏ\UJ$7/D7l%W6UN$&R]̞?OQ>;?fδ́oR+/ ?<[n4{~k+0ì/nH5Pf n{503/;`i& ~*Ggt=! Vu~IaIIiԞxkzW3zԽḬ[5H@\6[aY85xk߈5@yresIc\(efıդg-vr¥(\В,Cbe92{֡).+aV^RSYxf1K6x(!+>ޗ=2Gj;g4'y پ2{{5q_i>zh談t4gqN1F~;P.zMC1]yE x;hW!ruKp'"g}GdźLa@2b/Q$TΩ UziYKmv_-2dZ >`Z6kuLRSItO Gͳip1BFFwY̦zrGnpsiZ0)sϊ3^q]ShTҙ8^^7B.7X×Z): 3)nfevo@$רwQ %@^nY搠I6m~E!vuE^?DZm9`Y,]Ghwlxiy:wVds'&f*vp_ (|Dn-4FLѺq2I0ln۩JC^hrs&iU1xB\Qq_Ƀ4'yG (&ЅtSMX2SiXC_Ȭw{8%<*8Pz,D+\LӾh ܍rW}gQ֧Ɔ̜9wۼ;p/5­ BNɜ*s_l/N~rNW-ȿ49k)A`ءQ=pCCVYd@wwogU\ !|XymEKy>wha|Yl W.)Yb;h4O4WƔ-3ۭ@V7?)RIL;"{mAQT+/52@fYK*u;DT.EJ f+S('cS<vŬL18j*FV '>NJ} m238_8]wywIX sՈ 6-9 UW&@kiNH*wJvc4 :ɍJXH^ip%osa&*N+f;K{o^˄nR|WĆnqˣ׵0H9(.|B嵐P/xEoa1/v@ /+fYctPTq{R,L"pnFLSuJ)koQ6pO(z(}|B <S~E9L-}m7ssOvEbN*urK.0[`auҺv7P)#"KNڢ4Eʌ*CXmshaBƠ8hvbgsCft-<"{t-XxQK,JL(Orl~dή@jS9bsP߉( |I?w^,3>G-d!iD*E"ȣxKwh՘[ o: AɸX?\YNJx ӗU_#1c]0?A_U&>lf0Ns8@p=?)q0"MiD$`igfLf}7 Z.9/ B3xY!-n,ClJVc!^A:Q(q[3#Gt_3|Rܜѩr:r!+Q82IZ{Qiԯ!D1{"S\,zn"-#G02|m0[\S2|1an4\YSHE-%7ɾ(؉>V98Z} lA(._TۑOc \WD{lzSGoc'$^f3@VXxW[B>. lfft>$i4@+$ jpuac $,ob]okXW< '>\T/q^0!)f\t̸*yD&'sq{U nUi |yA?❐i>!:%џ1I{IH\2&Q^Z76@d+ /5Aqƕ&䶜vy}kbQ~0zNk07 4- e˷ecBDH~ோWbY\kmϙ=uQoN~>uq1EZiD!JB>AQzh{]6&0iRܒ(WG(%k gT?Wb\7S̋gd2X*4{A,,Ƈ\7F z M) m%0|/4,-sq;\R6% 2@I#{IEMT OڙXaBPD0iPpdY$mC G6@cv (72Z18=t(g0Γyե ۛeٔ]Bˌ2S, V|G6O:)͵ѳ"2<Þv2t fӤG(m0Xc:X"%Sr'z7C0Kwi| m-t&!s0S o}f@F)!h^z> VDk3NFF]p3m( ҢKJ6Uq Hf7 QЛI=tWͼ#'.؜>gC9"WCt߭HpHd/QUH0. Jvv7[dtzƔj!^CG>\e GB^ +(|6I Mr-ՇޒJF/Vf7l:r.b ‘,{`|veI޴)PW] A:{Ă<ޫqD*f!ng"訇(XNm\''ƮQHqPq(O)&&`2d3ht_ mf2`(W {s[`)eIkI8hČE!ݢYD!L tBW%svA7y9sɑD\EBw Vtk$ѵRM=$OW4l]`/lAF"M{庻$-4Jkû6 $Ġ)뗽Hw4+*!Jd2L҇Xݡ ~ х d,`B}FvD=N# E'~;F5!A^eȏ"``y.]i٧'c{yZy'dzQ|" hͨ1]{nb=C?h%3$I\hBѢT{sp9ٸGX 3glSFW3K@V$¼ in7Wy~0vCo(RnJ%W&2Nj90M7{7%۞eCcO_|Zi>D届fاz<j-$i?>әRKCTj+ Z(OA{RV16~Ae{Ч5q-A9ySY%r1v @@_1scsc\xb>`x4!Rv6_V-ň[¾@;m8 >P"VRxS28FG%SqmR$Ć'Ki^؄6V=5zJB`X ZN *_Ԓl90Upk0r{uK8 9:1wZHc{70MF+Ɛ+`2 #Pfd` )J6!A]INfb:O_ިmO@?P!M!Jn5ar0zZmZtc"4 hڰ-煑p#R',+P ()%.؅G$A^%@d.+Wo^6fmS :P]bϮ ™WmvhAג:> DMFDHnq'2mXpvg)k%mk>~skV2N7p3W=X2m&-, ]Lނ_>寘!D}^Ube`]tȞ0qXP-䷚HȰB~L;ZYbmm!:|G:et-윯MȺu=5gG}W*55$ xڮq-j d-j#wj$zf U ~%=rD=YWŌ~"=w-<_5RsqA#Vg>#^9BԀؿwŨ~"j6*6py>]\:{"c{YDVQypYL*]̝rIWáy̬EhhH<{AªemmKa0g0ň_!>lS.)yg> WYT!xX LhRSxY<~&zZ~h>wś,k@`{,bq84Sy]%Ǻ|4LETn!SܮN Kߍ&4 L$/v?eVB<>4luY 3BoZMƻvk9>w"F4Im$YNpubC_VW6%e`M0m԰ ձلӊ}!8Xa\@%dZ+mѨޮhR,  dRM+H"r9Ww)FxCpN PM_@S(?99eT,/=wIocYG#j#̟*= HsSJrCaO6#zWQ~8ko曑jrszilH@m*s)x,Ca/>C"G_s&uRID-2?Za_]_5CpߕRQECQp%KZ]`9z4`6 mߋ85Z|oH16n35&%&'NEDdys_|х: :~ߘx 73#`)#w_ڻ߄B,yKfDAvVCDf"nC3jEFsR?=Ix,*HL ^ =5͑+bMi'gX2ΥKyCm>lCJ(x=.)jR5Pew}o֨O_b?4huӐ6#q>f-772ŧjwXፃ aY~pa j(Cڈ(΋ޔ}#@>ˍ<Bx)ZXlȽJ<.ޑYqak=j38o{tht\dRWJ9*_}|T܌c2c_-OI #~oFiV(5@>J\Sﴏcj92WB`K4m ]n<Itw'ʱ.?ZU<}#Je|FNo x3R>ݼ {8Ea]8VkzO 4f PT晤H@E93M_%)b:[3ھRa}=~Y2Oq0?mv0Aڇw+~}&@3qx͘ЉtDicQdPߗ2<\(zN{3,9=@,#8m@QaNe9 iA]ʕ `X !Hd,pZs箞*gh5%tcyX3躮q&/ 捫>w bh{>_+JS[.T50Ba y&;̅+a$Ȝv&f!im0G2av4KQ(J.uN"n J(C^a&ݱmad9 wz`^/JQE5ZRtcG5 :s$d̷~d+pϘP09X9 :0] F$y&|eZDRVkZ u3eGʖȕl:pqɡd* PR2N.j-TuձM]3Hf~| )a1jvbO Vxi&PSsZd͒oPx 1ՠ؞xLwY;?ɦp=lW!<q=tI5OG MA/TM|w".h[\c]f Ltw[)< h4Ѣ`"yůp7_h[eGeG& 92o 3 e?2bAku"Cr VdF+Uw>ڎ%c.40H{V*` "/MJ| ՜sB.Cw,@ 0s^!_Uږ}JyZ=~*N?؏G VoD@|Df>tjȣ7  +qRWIzʵD_7#SzY HTt)ODE Y2GXjVM eK G[T!H {EH'dcisnۄ1FJlmgr,GPGxr9 sV/ër*N Hfgz,v(3RbH~yZvH|4A y+[w+ǹ28}ZU+j%oYl[ Ѥ2J'XqzO+.$̩9u37Tw4NF3SѴ O/}jN]~:x1@Gyzd 9ܠJnԨ"1ܷrя@3Z|&pwG 2LِA3!߷tHX\V(3FV?ncGwxvߤ3nz]9cj#OJcJǷC~>QDzC[)"$GD(dm CK1=9 s?:w%{3m0$D|Gt-UѰOaD⍳m0ZRxL×OaB4 F 3#B򩇺!%7]gʋV$jk^-Әbs\V^_ɓ| >hjM:zG 5= ZKmY/E#1P@}5c7 u`Խ0mo_!2 YIxXL pcDsY;7ӐP!e&I'ZYcK5+"KW&@"/70S r\ec|042JVhr[ OfEm{LPo__xox^>0².rOhnmRX?wI~ʸNݾv@D:Nr̿=43X1VJ~6E5<>e"b4]!FfɎ<+Vzc0KfoJteK[Elu2 5(;i {z;FnF(1[˒ڍH"W0(lfPq9̃w_0qy6P+ oVF;%\DBg\c#/9!μCY`$̀o[}Ӭ|Q=]Bf,46/1'ŸLpAA'mun2I[֠;~C703𨠠!KQqkxpI!=93S^9 'Tc-}%9B=R5j[umXFXvlߝOc `5}G<b8c-$ɏB7 hs@6o8"j%&@m#euGUO5uM"򟶣{("rr@YK,PeE!BM27Yl-+Mjt|b׉ eojw~&fwahg0uD{i3nښǒƱ,5hmw v*˝a[VΞ#ވC]2pl|M}hyrZx@@oi&Ul%C)+cX؅TYS٣hnհ9lggI k>Hb\Ae},s0`o?"_FMrNV?MS?ay _t":OӜ6mD,A0 BRY] Cm8%˄^reMBEiMɛ]h!f9OM)'D M@+syH-0K "Sfv/0ŏpjJ6Wd,p¦x@ u=(ZHD<xj'7<-OD C-4&z\)6NGw+:vh@miYeJPNX>l DP;KqQM_|Y[# m ݓ(qZUIĢcntY{E)8@P'?ܲumA= zƔ0`bmGJ 1/~ L `?ࣶӑ6sR w'./::$ m_X ަO?[JJ cS`ϓ&dT?͡}/fvanR3 60${G$#?{0TR3faܤģZR eW&CqME3 +nW拽)^]T d%1]7)|rwK[*U ^1=hG%Z!D<%pf.XW@e6oE!q\%D7xm&0BRڐ4R^i?Pȗc# ozɋO5͙WRi[`ȁЬa*ݥD<+7bYNAmQ*C֖I06x ?ɕY{&ض hQ/cO  N*:@]U\=HUx;>lSy/hV[$hq! a7=a/8xt̆.g$K*&A;\víے́T h4<_>_V8!%ԓ$qx9ʯfxoCxsb ̘I{\xIZS{mrego|xG }]C h}_##$xf(<. )p=Q>l"aT_)U2$|l[Lr2kr=6ΓL^oU-` "O%Ln Oe6e$4Z' )<'#~5ug#GΜ +t\N^&ILL#keьa9߯1Z\5+j|=2e{;odDž>)G06R5GII@*EIߝ%‚^8( 4PsYEC: &l+ &G*<-э$Fwi/)hb*'敼t m1n0i8$ftKU|8e"@GbTD@*)@g/>x-^fL-Cmĩgq o%"45:әvΒ3^Y}tme\|Q ·/' {+Tc/SClE#mϒpHI_vEB{!tI5DQsSf&EC=uG |֪M|K,BkXdC5ƦN8lVmZ 8jvD-$=}V܏H~DpJYH).XtyB[+̎ѐfs@`u: /𜛠YPBFh)pAD?.Gءn(Z!IeqQ=nP;FU/㺚pѸv\K}x 8U/fA1/wmxG˔{Xda}l}Ƹ>+Vڅ_{݆߯=>2PÏY~L 뤃u-LA.X`q4 LIBQ}4-=|MT!¹Np>/ 5b[}+DX*G AaH4Q/HUpvE`IigxjΛ^Ηkcҹ4rt$x ma K5 2'$@w?ne7t-js Xy6h}~LK2HТF_SzöWOtG-_vS3 [{kosEĊ;mH!T6EZ0`z[ӥ1<+%ԄߘlC8%J {+)%kDR\n6S\tkdӁz7Woo<]ld ꚴWx艠Htɘl PTdaԺ] W' zK>?Dn2#\z Ӛ~OUw[m}og>mbY1.SY+U97;ـj!_ZE ZA;XA' (p=d|e>88{ B- 1ZdWAR>nPc%oC :5Qޚe]ܵ|%XC]l螀>\.'m߲pfC%7*$zzOx!ώ;%,]Z' *0S4Ӎ |ptlsr\@@i~q!-bI2r#s'!"6UR?LWA2FSP}h bQZ8_c6:\x~vg+ u͝KY/qɆ#9i$ O$sy%f)&U}q^>:X0GlL'5?Li蛧=39BIQӭjrfo=y>C;/Z,Kg:Ͼpɻ ['6ͯډ{;, ;M=02no:)<33%,eyrot|1=xcL+0Vj*76q<덱KEX!*]+!9!h`c><^P5^4]1}'iq}ib¼ FXhy܄p4 g 2O+\)h,SiRHDHQ;xfm\cpMwhT$A|̏[F!}D0zygMw.%[ Q:":A =VpsuD]m0Ѳ<Ƈw:~6 {{f4%jd0:Dĩώ2/;^wUw0̳F G9wrkd/&GekV>0q7Ƌ*se?zOfj |}Sx-1Ռmаn ;Gj ̈́uJY-'T.pq}YfFCiVėmd{Ғ,f4r${-BWӓ&ц9ے'?uMΩ~uZW`t; C3#{ Gt9V% 6Q+[6BOu %2 5OʽɄW@-2%K?aS7Q2V|C͐ <  _G|g]&\"LKww\ffo)D^k&mi@-=,JDm{|w8` 74%<ԬI,i9ܰrRvB\9LjR0KDh83;>H НJp)Ϻ<_8(Ȩ(MI\|M,'e 5kbzKsckQ*^Styhrz " dG_YE\!Uv&7*.*wancCIs$EaMj"F6o5yT;*QҡǿCcЬi$a3\O+ʦVG\Z. z$x/Jm( :gEe~K3\Y%DO-PlrM{9dnPjWW p =3hXk4xW +xO2 u+&2 !' QL,n{$rBz^&ty& \%LSy[wx(PXztM*xK_f;.ރ>) 楕 9MמJnbTQJ>Z|}HȋsEET bP|œx&ɸ~ZM7wx^G0[ '=kN)V{>.J_ #18_fCZVkK&YXF}bM|8#I^Z"YW ]!)O5, f{c=&JցȪN6j}o 02tiByӅ9{6n>ֹc@bn]N 829!tnҋ4ŭউ竌+Vv, mјA&L`'VQb.{<*yaMx0xu?}J A UH8ծu˭g}\/sCc2$߰BGuQytDRSx* '!oo_N|[NŖaN'愊qg6{a KD>՝T۝S#Dc8e>rG/"k5T!)=1 S庄sal~hm "`s)Q{H";Եk&x yŤxjn_gБSa"  H3CSvdy>%i#hZ%6=yk_ܖӄxJ`׈'ƶ6b^-;S2c7*n ;]3An]ěROnΧ[( n'+⼯zTa##ً ^.aPW–qzW\;v+ZڄkY@;Q~dKMrFCĂɿ9%._ԆC]o??'txa$=WBWۻg򭊓aB|DN +oTHW/fu-&OOr=ee nf_g y玳هx^[)mWm']pQ0:R-+VMgӎVGLx](kjQ٩B|\2u>uBS\9:"zggO?fUa(Td?j~w2&F-$l"ɒQ.#937c|C\bew!\wiJ("%Rt u6?468V@cMm2a`~=Nr*ϳNXYlfSX>԰ؑ5Sve]Ƃ{+_Q|;}v( x'=Zk%IgZPOwG8s&tgƛ-׵Zc@|s8oآY(rim3! uo_l%?2,Tq>ع\ \c#; epCX7 <d|ln C_)ގs4cM/Ɯ)WDFl߈]B:1u# dƅpc:j-R&n!atWdF5 ),NWV"".\) WI ~̫wêYF= ]HXղcu'5B=8H;v F>'q<ϡ,9Wqt [JXW=}\1-鶆`=I(Ub_`4s#YAR(O>YΑo$c{yy.ȕgMBaכTέ$kԅ~\QRp΂/йZds +~= *A)"s@oo3AڠȴD!p>p4.dYiQOZ5+#!c/ZؘBқWs_<>|h:Yp/qV^!^,=᭄'[qB`ը 5bkԲ*rxoՇfoB/ZJrAt m.+Q7ې,4L:jD3&8U}T GYl+p>{D.)k_vxgXgr($o!]WLGP#jۊR8ϞT؛Sw{_xh=a% -׻U^ BdTG08n_;W_F[@~>@.i\P}2_fL]_2޴!6Vj{aq.SuG3.o1|EX.N]~dΚ`/u5(Va]z˔6(Uɲo/.ҫ)Ɵ`ZL(k@>]-%}"nԁ^] |1TwTJ'TjG_9`~> b]-OXZ㖿J@-68+*hFQ>ag\aNpS^Q5 b1AFg4KVa Cm4WU't;̀Ivki\i)MEX>@eF=3ނ+4EjYx;F7>}ua0zHR>aC"0H;{Y!BegwR4R뽣,haS1oĊ,Na?%PEMxװ3r86_l;0"-n/y4 s {N1e~֘iP+ͼVФt">L;FJTU>X1_j|s Dd%1 "A9k쳺*6؈+J&.yEC;^BQ7OuKp a̗3HnL::I.4(XY^n(?Ecr }@Dki>`V_f|'i6, ߯88- &6 ᩞ-Y{ .VfBFC?j5myK{l7A"k㰸ovxxKzȇn'$2 }M?@'Y]wJ`~Y$|B"]!ă% #*zBߣHULy?V.\OLm m$ (c0ӈcHUZjo處青hk%ɍ:J#V4O\4'ԏ RĔOÕ )@:j[^i9g@HV*J2nq[%KF8 KCSDv6ĉDo8@C\goWns/qڬb #xIw&t:?y_bo JiH;Ԑr*b&$WLu3f 48*pu6^ )jK67,u.b6b0KLNRn-lR6qCJ̔#'S6{:/I dn kO/>6dC+X;L*Ԇ~  ':[37q np鳋㸾=a\YbsKVz}E!,ԫ0nex@Ծ 90!jiki+=I),rbc9zexM#>(q zpެ5[տYowG 䣇Khlg=姿P8(FUaf4(_ЛmitHmnHޛJ,߷Hc(⸸ԟ2̀TnP[Y.PW*F(Ti D-Ce ׄ͝b[1v\{WW[ Ó;+.b3ʻޮmWoI",0),ĴљAZ!3DBbjqzdeo̡MQ6Չ 7O@ˆ# in*!fh4vyړ eT I 紾b\SuRxǹ sۛ2Lj_ `R[3:+[=!{C*MXO=~r&V=-&ym,, +2YCrT.ĊOp(V:k~Mjΐ;g3n:f@uPhBT{`3Y)eaڰ+,VB?BƫETbڼABV9q5CMEidX1tAۮ+NW[ 7<[®{1_5چ,A:ۂ8k8MtjA :G]l۠l& %HP MzF C+(2=ulYh7/K?飜t6#§<-Nb lx<BbzG%ĩzЋ+Қ`ʹ\XPbD1c)dm [%vBU%T]ӸzR; u!{3bzgvӡE߹jDqxN~@`]iQc-G$(ib Uώh}Ϭ;ą_ &k2&o[CTfy6Hݝ,K;p_ yb׆f5]B6RVO2Yx>f0R&|#RQz?֥iy0^ fγ`W y+B_,asB1."CDӆ!ީKcHH.wWg;rxlw&0 i.WIPfErԂeYE$cXvZ.%-״47,}C֪c [>)< I)\r9⩱Jܨ(J"t82 ˓o2 1`)FZ .ׄ- d%ɤ%S{QSWKBMrl4'DATD0xL"i ܊"sW ke*F (Lp=^6sN+*{ ^T$ӥdnY ] SjM'0yS^ʼYT*i~Yz]F 7~iߝ5eEX؝R5(SWs t|# ]#sp0%k(uA{y{aD%qQr/@oLɔ#co_ V5?AxM%:JcEJQK3'#ʘ\ Nd;q҆k27N\PSt9j@pXuІ!jԈJ^':Z^E C1X&h~7 G40pgEZyjYpC.Jșb m# b^[sHdS@m(m:[i[I#F(+vo3l9!L62ώX^&JPjCD>`jU/_lޕW]B82%%Kq4}zk x1,Dd :МfD1u a"P3(joz:\>jہ =Slխ`|Nrw+( Цu/\ZY%wPN~A:{XMX-\Ly]˿ZGInP^W*AliƸWC0550_Nߢݖ.[{0ҙk B"kYHPJ?ip,j# KZo Zy.-Nو鰌_՗|^ \(Vze4dQA< ~SZ .`4LOuPzO+ /mLVb{:,0Z¿e`>`/̭ťt f: xvƷcv@stx}:G"hh:$\"=d(|Q>)C|LumͰW tNǧ<"$ξ3jgπ6/1F8iqOiݙ(L  I<AQY3zf:_c ΎxӒ!^>l=xͳQmO_0U"# 3dP~Zz@r9h$-Oi.5ɀ6TNb1"{Qu6KokjXJ"UBԮ@O7`=G 5]kt8!~PQ E /IrR4@[{|q)6BrUE|ьFMSszduN$ߌHFHfPS q;C qb#PowA;.qHrY~Rdp]^W./OlH.\lB̽3^@#;"F_H?.ZSMԄ y;~=av6&9T9{ L(g3O֛)R+Ȋԇ WW*Y}Y;S̳>A3< lV" $mxNge cŷb_^,5³HeղNi/%PH@:xJ ߮:ө= 늕o05TvCm@抭44ź7._N>ML2?L aaޏԐb)(\c!cʹ7+&SB{uLp=c@xU1+c@%BZ(=Zk#@#D$}W'K*VOQL ݕ4{6'Y|.bܔr)jf?I`UgD{^hzvpI>D6eT)]vt/}}= ҐwenUJ (=C `P:.5O[!),QewJGT?ЖM[J"ɦV#MtHCʁu|Q׳)lGI}GPUAPIkaQA/%"Gn :J 2 4 [ *mq kѼ^o-vsAqza5W~C*Dp^jFp3$Rd&Nwh-ZYmPp!PQ9~Bt3P" ez G7?k;2w'-o:s[ N\l +O`E:t9?<;>mWz 7ZCUxnW@g_fp`㾵W;Od t>1+]@uf<1H~7")YvDLu<)cz?![0mqNkCVǚ?\_8 ň{#^DLţUfm*:V3y ]nfD"ҰjjI}vUp,o)_9,NP/`@5#N7BU, ^_,Wh֪ lmJ9gH!ecMO7[I[Vf} ӽ+ -+zKȉ6u B4^th!Nl϶|Ou+2e^JlI^ޟbnr:JOh^שjQa4vݮ$zS-Nq0bjt U:o8}$ c,hyi[;|Z#5~jS@*OmP!9 %jLP =3k2g6A 27T$F4$^M1z)..=:?{WϨ6+N2s|&,o?ʮBS .Z`͞ i1˰ǿfc4]#*$/&JGCcnҀFf*)s2ExlIP}(^o{I Zwl X! e.:Ӽͻ]妁3OL(fДE8Sf5) OѸ$Η>M:BF䤘h#Pn>^ \v |K (pַ잍+bl)1Xf[m9 zr~UnF"K1aw)[hhXN}" %WjސP#KNOƷV@NjhK^׊@NCr6V=ԇh= DB#1ՒG?%%Sإ7RrE4ȅ6#ڨNRHuގ=_ׁGMO1FO~^KpR.oopEztz/®t`'KZ5Èn|3Byڈg#"Vj[3qXSꀆ/鉉|$JFI0K%z/*bSlJ8(k =}^<&@=7ok #&-R9f|7!k6ŗ6pHډ7Z<,4>U"@#Ht_).,diWM u&1/>3~OdgK~:uRD]EOO,wW7b>=-yZ1k0OqڏEH|ihC~I^"zAsݼ/16*KiFDrꁁ]}r̋QZDݥ0 ޝcL$h/YR`i ?%'ʠ|k5HBGkQXBa;eP31Be N١Ob功닦|klVovX;A%}.@g0cJ/ MJ { F=|AS;}h-([V[R0̓s!'~G̕M5Q]l`_ٍw`~rԀА)Ts+.36U; a2r_AD!9/I FA]`޵4~P0Q.r3'e_8eE< `+/Qߒlf}R ~xȬhc}ĈlDv*=q=[>j[QV(ñ=G g=Ub$_j+ ?h& 4p[.:J#Oẻ(H D؃3Yݢh=ӆh4`Yͭ6t/SJi^q2{ ;/AI-UiSi2hQǺ<̚ @3-|.$\SMYo=Q"Qm9r03:d"U?cbHi V 1㺷"Hsv+V~5ye.2"<שs=ֶYڇU @d>E]/f. d,1M[A?;8O{K Kg~zz,aeQ떫J]'PuR5N a[=|Qa()D ~C%N*HdLCzW|6.p)ilϝ #9S:a%L瞞RJҿyHB[J; 2g;BRbhFޑƜcIC xS%0QYe2^D) F80pf{ 5H=.p%A܅wcţj;.Y;D^B pfldzWXҴfd]%Y"XvV!]c l,y >$~?}| ǥ Q6&PXàXĀM4s!^LѷotJ9*>cH5Qė[# CivǏ/Upڼlw%)Ȧy,s rx`󱌣y&!UbfWȊ0c&ݩL[}'2GVd Y>_GreEzQ1V̙k2ؘ30 pwg./t*~*(34J۩o]1 Bf{V?Oq3F, ^(\I8>:LCz1/0øgi &wbʠK,yNx%psǭ .*-64e К#;اCaE`Xo:̷*CRXWc]f&nv`L$5]ZIh6OG0[ J 6. 41=6!h%IDW1Ͼ%SiLUOIzWlEnwb;wRʼ!i"6T,ٓJt—;V,p`"RdbPQ._q,F3ɋMUR۽׿`@ hboas7ѭLuQV7M Jy.DD5 F xy@bVK=j$*CA2'E;UpyC\br@! Roְa&5ըf%ump`Mwdm\Yu3eX&>gNƨed_hA!G#I?ǥXJ(%ɿQ(MT 3ъ؝RtbRZ85,*:m1xzxVxp\, ώ*;z^M9a)'T$iF2jJQ7Oc?0ԲT ɢל2dNΖ8$Q,ޗk.GHJIG1ߌY]TO13*/2}{c('5 mI?l\䏼c+=!&'k6:!O cqA鞃 myI?7}mm{ZJt ZV?&;0M{4N Y1)*لچ&{Ìa —< qy.n!n9hJ;#):5U X] 䣭m,V6:&2: l5=M_~xpD33 M!kCRoHW:&7,x,u@gL缩>ӨR(\:< aVBVnD?-8a˨DN/Iw2H^^.@>l &kAqo_O-}VmhgAkL TzKbTwnhQM)j(I>nVԫ{wF! Ҏ, }Av*e!qTԯXO뚎 k0ve!xݩÝ̒zjy&FZI_LU 35%oJLk9,H1sv;~|<GK$`4"Lwctyk\vvf5bk׸ij*B[,%"Om2ԠS~ mL۔bs2M5L,vOYkau<`^~q-MyL-% Svwķʶ>^)0{5F'ÇQ*HnknY£`Jq"K,uUj+~f4ؒ3q:9W@[oXPBn- _ h&fu#\'2sb,IfIh\@鯔pG;tB+7S5.OdV]e"eiA|>.d|+Mk GCh"emFO8sȵ.;IӀ[l.Y \IʢbY~i.պٻ%B?Л1Y~سwn(hnǝ#Upm1Օ9W2@Q!q1;(ɛڋ榓)m>$]נp9blaғжLv'~u'H%@Ya]D.S({.DPL4B't-@{\#Oe5nN$03hձ?2Ƥs{иeq ?U;vAl;8d'ZlU:.^TAd/٢4p.l{l\-kԸæ.ISZ?۝کo/51&lS3/NJm܂ZGΡ-7&>QyKq* 9*l9b PؕO1FHG% 2 $l{[h*=[S GPUě^f§Z@VEMa`<9oȊOqˣr!v529d\?l+*x'I[-֙-@Gv*)0?RzO;Oy~ڤD- iWeKL\91E>մ݀I+$HkI3{KD_y} ƸRhUcԞj!FMo ÿ)ǔD/.1K^c'L5E=IC}]*6Gpyjyr2DhlAX,zg|],tdrd`ɲT] Dl YB+kE1=EDKJjkV҅ e8ɶm5$Hj.g*`A› P\`=P+oՒ=Vm‹_^/.5b>xRW9q+ӖiC_^ OooFt{{lԿgh!ޞPpG~IfQhp$T+H# tR7`҄g=X_\=x|U 7s̴C\A}pV2WyQFT&5?b~X8rZ&1=6S7Zec DVrayut9ZRVיv"3}yX}ydk'2hXħY&$\Q宜!*z1rMQƞ"鵃Os߰{ͅdѲ2(!ងi~SF_Een?jY**47MԻr`&E+VDͼ5P<+Aq+U)'LgTt(g5]X ;yՅ!c@o?9V/_ Z1k؉/o)G SmS=` h>T=mn>0=d!z6iK?5* yB0T˦ ͂w4D"yYUfrRYׁvc0,_^*<ۺ-RUi5Ч>y:7Oz/[gml*CQ~\$(Yv$~U1RI9 z*ȭ̮m*%Wt Wܬ7U2Q Io QF/q{@fYsdz.h]%)ZѺgUɎJ/O[MNbXwHnoT ^T{]{Ib (La#-N:豽[ЙjXbjSYd#C$vvZMQ 4+|d~06&g gI,a,@y ݌' .=3%TV #b Z!6E$z-Oې| P,֬1߃)OQ"][֦ƁWI*("Nuw`x:.+«"W!#97:30!XX,yƚ;ְtU^@`0h38+q3<H[vƒB٦WNnpKgX@F <%|apGaw6fcJ^G-GǍl^*ؖ 7wujm%(PTF2^7TU-*Oۆ2 *^>ڽY!pGY֚:c$P0$$s$}eyzA>kIpΩMVۙד~ke;BgmR8ǂ}$rf(V+9$3< ,:5c|šEؾ E/yڰ8ydǻ UqڽgV;DV'mQ5[nj2$X@^BUG* ՜M 'm`p0 (NMx#^Bq1a쭼9 f<)%!hpeh2yvɶ؂}@T.D //++tnfŒ9 EI|=^&%V_f2'!k29A&M~G`֜ǫFAMɹQgeR2(|ZZTG7p JCK![1w-%FdeYP3|(L6F4P5lTQUH ,Hm#ުxp{B v@x"J(H E)⠾1}0HjeD!10Vx3nEG01B_x3 !aLBi_*{y䪚 ';cjV](:6#i4{b"f}?vDqm`d/Eڶǝ?8zW2<-09e>OX7[vʴ9@x*p0ŊgF^ѕ tl(V؏V׳^B>Jq-H d1Vpa&ѽ:"o] 4:Ed-ycv"ϛFcc0jBQR{54  Í=e^мYv=j.t"x[  Mr9*VF\!-H=KܪuGOBMǁ͑ԄVxm55#l!^5È ~β]`4: C$B?3 Xh/;W3q߲%U/*hUCn[P&$!'.'z %c" |5msf,P>,;˪S%tg'RA,ͪќ gf#T-֌Q lZ{>RhP^ `cx,3C*wnGDʫEYudgF5 Юx0/oĽkc[76 fցG HtfJ6w$Beȳ8LпVD$4z-Uf'O!&}DF[?ʬ3Ms##e= N'x#h>8dy3 h:=6g):T1uLJ8Fס^SݴP}V< Z/̓FWk {DW}͚yѮk8<;R|2i}x]U% ab6q7f q)z"GO:ؔmY\9tܰ73^"3i>Fn$ٚeS.lpsVyU=Ԓ{7y%%2A_835.> -%*~(6ڇډJmW^_a=󕮳VDnB%ik;|ϐ+荨#2Gy3J w'Y؀u'i]Ƴt ΒuxB65)*Wl蚌<(b!bjc/eB~K)[]U=HiMԣN,E oae03+4;7a1=o﷊ XH1cOcrm [niJMmFQCC_~z)9K}E5MC5rw}\3mb3^g?.ǖF~ʠ#N AIOh)^ s|t1k"otҘWpcNR*u!כ,#~6᎖1S2|RL@l,zߥujk^ u7-l-;3 ĕ%Jȇ\גE]R[ gOR5I\آ9&w)OJbF f iZI >'-WW X2KMw@~Tgp\A fϷ,y$bx]|%O])sGB)RP?@d )=;;'g:`:Üvm~ V} jPFӾBr%\!}`Ի>S<; JFF!rhPݷE!̞p=(Tzݨ`~\ش@%TauQqs\SgOKi2H7t,mYvsM,i.ɣ.Y`A/;Di&G\uK?54rCq7*vl_bHU -@Tg :RRqX!`7M8Fk; ɛ~I#t8VS(]+U1$O2MLΠx%v,869;ViN+]2ViX'՞ Z tRTOEUP]eQgҮ`m.S&d|;c}j甉)Iv:p4Y4fbz跴R#U?EX^pѯH(sA wtqjqX>غ"$-y (5ބ}sDj&YC&ىfAEzY!؋.K`BEv4 8=.Q+4Dj8C*ARtv9=cn5zѲm؋h,||ym2waGH*qG|;<2\S%2Da.voxN9F1.)ܠ{c}Y~~ngTtzvf%<F:ZϮTeȷU=0"~DN6>C_2E0|/tǻZ{n8.ƸaOd@܅X8ff n.9?}ZӶFU'.2: BKAYP|H<~eg/Sa8qA9϶]XxԂ[$75,Ft!=+^+F5Ųd`y_ ReN69C8 M4}Cӌcm㔃rz 2#B`j3Y'<{jv=nhZx>4,> ;[Fmʒ}I>7j>0T:y܂凯#۵"lAѷ×mh[GbwZp#\Us|&3~hl h5- i>ElH 7+Do[$v2?:jjlJFkð5yFMkM0~̩:&cbiJPvWʓ;gR'N`щ unXӰ^&dt"b9e 7gfb" y=Xƈ+Ǖfp |90NL8 ,,Ÿjav]y!TYodu#$DZ_j;5"fQ~J֥ದ8 mU]Ӻ2z.$1jp'R6ZVJ.8vUsM+TBKH"RƫDz*@ܯm'$yBl+L"Mިv{6hd̾1A9hrPg@5^lFɾ,pE/V6 D4j7|qgVRƏ7976q K4vy{*;sj94Yex & + a¦X9Rx@g$P_8_ʙh6AilbL{Ht۽@K kQci kt b.n!lZu̙҂":I,Na8QUǓ&a9wzu$)س0>~%t-GX 9ujd5tR8{Md$=!'ҡW^zd iV%BfFq"͡ N z=,UQxӜu쟄Ä솇`F]Ur!B)͓^}n(\֐`^wul-Vw1M8"|im^KslW ?$ԁ :i؍ j3qπcfgp3 0a|W5MFxu *cuOIe܎tM05OxgvJTn~Tf(esGwjN5:å G쒄PLLLLqMK8`R.]Xi#]0-j==q\^E/|^O9|~/  TwL_\K 5|kf_SM߿PMgy{V\/,em3E7o5=o0Y}Eo˰ljO>>kwTiL? '89Wﳋp$zj5Q욠|s;B~_&,6mۿ0˰+u3%i&3_2gdP-)l$Mk93/qSZ*uh7$*9:@^o@8<ьY pBK+/8 :N&.W Z^Q}( ڲyr9+xKj{)ϻWD |pu&ϢD 14͸r箮51(R$y ah 8H]|S(u xU'UJP|ƹLBr ,h[W;xd6"4d8aRw>0Rwa݊A &L>e6 (E/6mǂ}|ARjzOtl"G}g&;!㊡%zFD9pOOn)լb2i8ȓŀB(ʫO5eIJ lJa:2Vn\ x>EQt^]Ds~!l'ogzo~ ~6EQIjy͔W _rq4%Pk]6C%WJS,W5xΒa(g6 np$2pn)YG7A}m8l%v3BqpMt.j넝 .e%C uG]O酏eN[7(9Ue#s|7 BGCj=rI!v-,Cemlp0ls(,5|,-,^) &TB66i,jR JF>"0)hߏ.~0S_6BmSZm-ZPEÿ<ړUOIpnQR@|M ]]:3RW)SK;8ÑNT=wHf q)Bp??Drq}ĊY5[}ȫN+ U?$:>"tG^z}g sx-BA<}wӗfd4w@ v~WNE&ql9-+Aщ[;!";}JBe`z?a腃D+B1PwkgY4""=+)+הٲ?F3zlgzg|i$g^nau%F:H gb;痒}b.m0ŔnM{.Q}>')a2FlT׭nB9~'d^JGUa,w;h\:\B6]$bG1\!AKj/7._*F {t.mtӎ!׵X/`>FQ}}TyI†Ai\sz !N4U)sAu(̦y7"mxm_et+IKǷ]ESZxb_U]nċG~Ǣ$ VS6E2פ!2 "f D:*Ḱi17d !t\g 7lNrȬZ3XaBs#Q 9;,bµ?JrXXè{M}]-aS E,+?hX˜(va<[ADc}OOٖѰboDY#Dg4aq԰`5)m+L0,٦BIFu:x̞qZevzRlS) XIwkceRV- 8IWos]wi}ZI%gMjjhϷ6A>n 3uTg|ƛļY=c`r3;!<$:̶]Uc׺4^D?"1T}8BT/,;h2TKX =N9:^U8+(V}=zl(AiKm],lpQs[T;˜!5HqIH%tӒ0~٭_d@~Lr2z͔dr@9,l6=eJnPN/T# OZkWwXĂo!|ٱSYk;2;jiC1ޕvni.n댕 3^+v+LLP sa1Y>,ts {nd9guhg ('&vԫ 2_N;VG 1WO+5K?:idžh"P S,uL؏~ڢIP$8jAQ:olg6qWDʥ&PR:@m%QOh-](h݆cl(&{᭸C|yv3U3D%JC /hO?WD|*owWA)Ƕ,W5^Yw?@C0"]QmR¤(҂EtnSDwx!Bx"7J) mVA&>-˨2ǩ$1P3@VV;&(/g}!K[|d|P'l& ,@X~XƌcF]=1 晦+) ?q 0xK'O0/O9,pbǐfR$ET8c?!)tL"r= TwfME5 ~ 5 |}QeNIγe #_xHc`[XQ*CNf^mNS2WQ@|) UdoO~SI:{XgCshudV6lWeO+pGH΢^<*0ULجN5lnɂ"J)seV6>!Zq6#l l4'A"'celuQliX^CvYp)I(8׃Ύ3ǬU$?`ۦ@dŵ1-M-qws''չIeP̿*yBZ0ݲ].,3/eSv]FPpvz @v9cK=0t𘂓eم"Gq-uڡ+ \`U)X:g<|4x+CiDZ"R-bqFVH뵟WC85>vi)M)5#o0JNn{,9 ÖLl!8*=Lo?ӂ /q bThe;պK#1DNkiVp"9'M \fTj-%:(",xtpZFMjmJCU="̝N $w ;ӣn#|)BC瀓=|>έY!,ܛf/'1%1 X2я1^J&֜+|f niwyE׵e!Cxyh[ba@OFȗ1MR汿[S "aL7^' ,3Y?)4Xax㢒꧒=FĮtQD=eHP(' 0)ř U.5Kn _g8@!gWbx^?S@v$o uކ|U#y 3^ lKk2d |-NA`uJD[ ?L1onc4Vk>!/Aa0il=}X*u {$YjPwQ|Kτ۶5B.n&zܪ D$b$Fy: 58g2Tdajp^_ Ic&}!Y{z{m=_N"@DŅal Ʋ^(8MϢT iVRВ"͞ e}Ŝ'ШXՇXe'/9(Akp <0YvĸSjʻi$({U])D>lĝԂ0q7?l/1JЊGrhӝ=;^w ŰZ^z>+7@ -"`KO,xˡ3yX[)5 ;0.C#,*sO_*ף eY#$qx_#]|>LʰRAv0|Hl?o2|>;$u#IZAڜgT $ԇ^eMlex.hiK6 =C!SE/a"oI۔s n=!X_?U=70m;_IZHfq 9!`t-IL[?,vk#B`VRFݨ1`͚W19jX{*]?DcRB`<'|X}L36Ro(qQk=fоi㨻XhYnL$ JAҦ?Pr Z{D5:^#32j)`T$vkwtATc$E8fG_vSJ2 #1crlfV0mg Y9$Ա"ƅwfDI1'Yѳ"1ђ;q7^padcm\U0>ʋ,RbTrjFa|iPbv[m <(٩6ܫHa ^ZSBTԏ/p[rP[Q(ҧskHQez>^a|Zp %Y%f&q&R%!Z#ᄏĦv\cOScdSi 'xJXC,E'Ϩ&!xx2uWVVF f9+Gy[;A&Rz;SSiDp٧8Sf 1`58^̿!#$m2P^X؅m# ᦏ^ؔ=մǠwڅ!뼴mDSک)C-3@R cG]n~5K#ZY濺#329@YϹd }8enQLFBX(I A $t_nhmtH/xYSHyy^F2 f|ǔ z'Y[R^fzQd<PAM\j)(<6"m49hhEBtS!L"62-βpObfLZ46!{&MVSvK/*/q|i"[mI~bP4q1eN%fFHՔԤq!!ޥSʐ {ƚU*sk{܉'~ D޻ߓaO" RlkνƘCu67>L봞n!/QMJ#JlP~IKVl+l[F GJZ\|=ZH `4SmuOm#JHQ7= $"H>X(ʃQ _m'OE5,nml>7p9߇t\| @7^mX[Otp)}[>C>-h(J1S/*2aU3i#ο%5@kWp/^Yb4.']j:p GWKf 4Hhrh|W(4s^I*3#C79I-SB0Rxk*1]߭JZݔ&ۚJoi;w&@ubScY=3 <6ׅ6nfBrcMxSp>+quh rT_qD}xpcغ5<3# F| oB7oi4sۭ&wBݺ/]\&WZ: &_LA ;fcY;ml9 h4%66(m$'ke@ރhtwUDll#0G `C41\/x7$)p Zz0zZY_WW)cB8{Mn VG"^<>;GQ|0UY4bxJ؜q>@&S2.&$9aCDa߅M$R]Cܒ<[ {GI9rT,W^2uFF;]5eޒ-\AC]G;t6`A$`Dz2*~T(*8~m;Fa uT Q |zƍ^ݼA᭒W3q\_8dYǠF>1 6A8!aI+^Sva=8I{vo]qU7թIj*ZJkm(?C\u-&. FaZ+Ҹ5ZܧIb]5{87ũsQ$mipYLlaj sjYo\6dG皦6>[_v B|/b\**nV6}# emI_ OskrK}[7R vwbI1W^YU\o򷀹]ZV7M!2~%͙Uȅz % $m>1tqg)sO`C 7/]fցӬ?Udc}+"߻ON*_c1YT;̴;֡6P~(0AyDH 0R(:GJĔ̺#)GFA, kkWb:ͽ އ^;*/_;x:> "ykʔ"_xxNfB[͐uPFR%!S@ܸ-] ?HTA >@D-ߏc]fE* "v6r rm(NG(48N"(H_pFL`RϲnCY,+QN$hK*8v}HK{B,3r9~|MͽC4?{^_P5iK{c{8fN!!;]aB-rfrE7 bnOKudA|Nd|ZRJ(Md;P}n>(T0fUjmqjT8Zmw AʋĚ$]L'O 7NGysbAߒjS2z0{ &mCan{+GOʂo$Е"9R9.kW^ Ἡ1:R@sb;M!X=*aj(.F"TZ$Ɗ ivM` []!W'z)L"`nd6/ypmmn(ηG OlK"]Ahe?B%f:L"Ci` z ltnuO\m;_Dcx+/b婲a<+.cQ\cQFTQCKfu34e4sXR0ǡh j%kMXo㞓fL.pF%7{&z1ZއkQ>j`'JCo6 *L/͉fvjz5J>7v@L IVz8mۻ︸?HY2|r~ceWI~~bCX|HAX<7UB(z&=W$e3.:)\QRk(Fu}ʵJ3ގ( $ n}_˺#Ћ&bm7{J_*E_nmrY8-!?/܂2+zgL|ɴ6_gnPڠ'm'ٽ# 6(8sz&Q`їbF`ڀQ)T3qS+;'[ )6^C'0{ː@lj 86:fηF_ GUE/Smvcºsb  HڇH 5q:ѐPͅ!Nt"zX!#!-"t? Cu8t;]/AK$2M'zxZ>UQ ˦,LZu.#.$4sSx3.b;# 0 1h @{H$tl\aTO Ǒ203k=npx_%~jܝ/ `L>Y;]v-$z}R[;W2~oS]) [a'M\8hfFlAP`be$Cvߑ[ycr,?O 3> M['KvIK3[N^zZ^NE)Zg;My}V$GbZO!ɇ)M>L&s¨p24}9#N4&ʺ]ШаlۗJhXiTds&=4ϠweI߁z$nV /nNPuWj0N6 ׂth ,ST cA`@aRb[-bSPj3eAB; t5YFT!~NKl|00r,e(@G"zfə_$/gx9o VgXf_X X/Ie++-L`Lfaŀ8f֏!p з:0cFC/lY3"åv92,mȸ{.T1.(J"aIJOLvvF.? Xqc!nWWD{$LomPaoi}wU'JJ"YIӉ-(㖝zH2RG: 5޽5<)`hC14錍KuF9K=D61 D5TRa:Z֕cb،b2Uv(Asc.&S;nIZ xDBRlKLj,Eꊅ;!!s?s#BgYfp*H榳&?nɀrKσVXwlSH1~ns튤d>6_L*FD{o ƿ  ޴+g>ԋŚScېIfEOk nKLꨃw!)s Ʀi|fs-͛yo>e˛xԹ7pQ쁩1{t^[vͿ˵̤Ghфd=0g:Jq+C&ֱC] .{jt.A~a_vp$Jt89Wu!ux3?"W3X ì . b>ކ\3jk c仌' #L&;iaSG@㟶Wդ?^I8PK[^:J@-"X>Ć)apoV\1L]]a ׹LoЦb1RcBgҢ-J0Pѧ2gxKl"+ىPO"؅'Y(ΘyHɄY?X_4P`DYgرRYȌrڔMS%,an$]HTO3^FVF;Y4u^5slk3$!6&E3Yoߋ1'-1,*LwSH UvtbKCI]R.r^ܞ.$?jFZ1=K1źbNfSL'h&E| !H "/uV߃]S׋m y!<5҆7S45{ P Bǔٽtswܘb2a.m7b*i^p]^j U_Ri~s" 8erB.#}k51n7$IRl.\8N!1$kMW.⨸W -Q(C-M\tlP\pji*miFjT+&d~=CT"No|!8 (泛_4/{K<PϷ++:ۈl>anCGԏ_i9e,=+)xtiS U.OQ1Q׈B t 89zQ,eo=*a&T>c}-Q$G>:@d KcSKrx(K) uoRR sϩ7BlCߠx6,؃FZZn9J-#UCj"XMI;wy-o<ϩ SXA ψ@_ W%ݍmxPA=mꃍn=lp(ݎώ$$E@;eѝֻ\(2#fq`OL!lp16g60xnjbVC9x3bŗ5:hGg$#FiM=U-d#a&'oW8evgM'Nh2jMjE%p!iqAnB-ɢ*ɍ[K7iuˍFv)E22!3x.}JKf_|Ad -`G W_?z./D./'xgLuy:vR̼R ys h9"<}}~dzy3\d{9-w+S#bL(!-M 5 rI׋JQ@d3=MAnPWiyG+6,/ƪ&&OZ1]H]vu"`!D")3BJw)4ch/c N>Dfly,"aȎu患TBAAdCi,XEUcG#j c Z'rcJ3P#)3:78T JWK(#IN ^t1mAGlkSLL$20$(r!aⰼ(P0UXUж$#;CAv͒8D[T:盹>Qܘ+%1r0hlA/eN<!˜܋~T?A3)6܃ܳpqxx2%v+6R:蹫 -@Y?gI+gmŪJTW7]mZGYEgF;cplҜ2;2Ntp!-4 j1l ݒ/=;2!jdBK\8*Mx)K`0vri>_ۀB.m fn ! Kx*/uUsO sk<.AiI[3ՃU, wox=.А|WxG-Qr>#JѥV߱Wy@ng]0whum@qf Դ1ꌍ( i;dMpoD㎅O@? 0:藏 Ę"N`|3$sŭNa"̮myG#=mȡm.M:pU_(QޚPP2{}j]k9SFحKD3O[b#vȪ{ZZqw3D~F˧,("#?fᖒ.ILZ q t J+$.  3ut[3i!U9˖)Ԥ*˗7ii@#wUL)Z+ǔ& _^C =!@ˉ;ūGG-{\`b?2~fJ.g%UP@av)fN#PyyX+)T?XsZpRMb}:0ÕXM^-Tn/]@tJm$m욟(UͦG :|! g[+N}#_7fh><"kŵ%%%n↼hQzȂ43tN%Ϧzf<llֲXM~v<Ӊ[].Rz  <.("/MZyޫN( 8Qh?Im%38.~SP {3arIDlnqH&茜 1T6) 4Q:čDWk8( XʉӤ9ODykFcq/Io|.4&Wƚ X_L*8=P~칗i^ T@Wn.M)H[[E]=C( 䞪ٰ9=Xs6, FЙ )cD WU8׉:+aPL1 sR#觫˽1)66=́GH6(Gc K _!$#W?{CV>=)VkʖwWh-6% X) 49ˎRZ6op87/>^eӭd;JLfGݣ^I$\BCo{c[2U%oML$x*ܪ-i$ou&էqe`ȡ|KS6de,"Ӛ#D{xV< iVl.x۩Y{'->#TV`݊VZ=9P:(خŗ坐hFdo(q-<˕eY-pUMKU~-khSvN6Cx,;b,̆xxki>3+uyK(M$j;c9蔆*mkȐ<.Dʧtz_#9sTFemNm~*?DFS(jekEʡTL^ `μ.2B0p~k|kKxupؖYw~뮡0F<怽EǤA"cVLo,UX `F Ә8h,D!r/2R܆6}CA40rkc-5:n1ˏYrӍ]+/97AH%{J*TH *5 C9Sdf-.s6LWqvDJ[ Ǟˏuf떆ۑ@~Q^k@JxUraVHvs%qBa>ep|@{-DgcItՔ-k-җe-Z1]@[(yAb/d=b"() G{AAEPBՆC:k`ŧpe4a/ +y$y w:KT~TqR|ug2CirLrY$v>kЌ2Sg`(0FP%DOH{Ҽ8w#:o $mq^ϦBl !VumL2^SB1& YΘZ_δKW1 ҶhZ!f rKV AJ2ŠMtB}6!XU](\ZQ{_14* '1 ̆Ӳ?Ʉ>yG#ӚʙKrM.^3=E5=Jcoͱme߾2#px~,d/P-NMW^P_mL3 m a R`@ZQD1Ya2Q F-ѯ7%ƕ 6yɖOOk7HzJub-+)qx҄vZL ~#=Y}w lNHዲ Ѫ@ +} VPݠ.]8:}9GM@L!φ?6>I3;H(`O6)qflÊG G W$Jy1Y @LL-i:Z4q[kK% zh@a E?g%}mf{*#@NJ^6 XqٙM^0 ).Ӹls:V<ŀ3b_ir?g& (CQ.>]p .:ptv*E7[VU:ki44c2B08DX $x9e Kx堟hd57֕FHK8a_[2MmTmB8BW Hz>J$nt ɤ&_w^˶W]U35xۅEҪ+$.0)iZk!,&3ݯ? 7qN=uK0q2P!{ć7̐I*yփ3U@wʼ Q,s/'yKN5  h1B+.[m4 !;hBpeu̡aqDagL^}!0tmM 2( JՒ}0" P[䳲_*aŖv| #oG1"3)_" 2WMIh2-+]э?Rl:d8>%-v/S~e!SBw2@jIfsM7QWs)G`Na=%&u 9:Gl5a̡:m$Jw.8&[@f4\~3X`!i\Doߤtڦ/#^ .&ZK Mg7ɽ~6^-:=0LuI $3 w,\d:~ĦR)hV4d7쩇 |h< 6';󉜯^}`0)1Aԁ2O+$ĵlZ, S WushPM)Ljyqk_-X$ AǾCARyzr!/A[#4\sJ68M8<JF&rn2SRtѢ tZD34y?bI. ?P!܏l (/)SW`mFec+>+iS1YQ/cص#zw|X< qlj" \y9 U"/]z5':zWEm5 R 8 `qB#k1" &._M-Q<]PlD0$ņm!C/dD#~ 1TC9¥CYT5FGmm Q;J=ke9}io` oi}~1}m*ۅpѰm%2Xq @\Vxf*s 481`YQsmSWW;K Nx|_'&;nȾo/.Gj񮣹=bS`m+,0:_YNShا;b@:OJq&d|$z/7z{4Pja[̸EI?OE@A&fo5;{Nė8d Lʊ$p0FPJK*HĪ7e|DU~B^|ѡ~ wD*Aw3g?5DǙGjerD|t破?¡%j_q.sJ -U$27QeS+7ku/nXpu}HŻJ.@tr  a#U_ q3s[=]<7_9 D\57͠N:e/}/il%gئTcX/Jh|w|$[Z B+P9 mT-+?wyLbU0RI/3=bI0.8uwӷ2$եr^@\sD8$.?^r4!u@C]J+?t4"M 2G nj+BQ(pdA">'ȹnx$i 'c?f/ͅaa89~nKB@(5[FRY}^ ֱ]F$p6W B2j ʑ}\+{̩ńvtu[/Z|%k= ʺMQ)i>m\y֓db;'ξNK,^[˶rg}k=ɖC5F^N] ً~Ѐ\y$(Qdg[У>Ey71XRe44(5Ex5RܤzMJ$YKAN5dAcaw JFҺ>ڼw௮B"(цWn_:q&xB fE;{ު4']zbLsZ #Y99Ϩz EV@)V!g1o-g L4i歆MIHoI5 f Q##&q$7q^vQzHl]NAΎDL@bRgys EX6΂.J'i x5\܇7ipB"pNݯcs\.G.ӪttJ qxFZe[ ?(I*tةЪcVʄi<9j@Tu DԊT.rݿT,4T [p(Īchu((/f(/e#V"(0 U^:)tl~qm{E ^x^MW|'ҧS$Bx'YxHʟoau7զ\aQyLٻ;0DWS;;ΫJNfi h ]1iW 3mV# #~ǥޞ 4v>ҙpSz8 Pbm+P-zp.&?8)F2+ѵzg%7.:]&>ϩ$U~J"T(eY hܩ9a9{dqCy Hn+L"/>86i,Džၰ2 7g48z G*ZɋB5M@OwqƴB5"16yv0;_%+q/I~eقd ]@|r;`<¥4*OgVN2t]X 9Lj݌dX8Y2CŚ$. m,ɰyNZ7@W%Ыco:9ݞ|׍(dIBºs6 #U W{FK*l~v% i.寬c"Fv0i5:tSb-p+Y"Voo6ddmX OZ?rU`skhKvftw? UXa^ҿJ|]* N\ Be'%oHj2N9 EdWHp)E{am4DI7`[6=Tߣ-':d5%0dw#\pZ}fdM&baQcT4QcЉf.cdT3y+fH#ۥs+A5Q#\VsfducNTB_[%0VCAiIQ׶ X &J9QͣyE.pm^jagAxtߕaxę|H؍{ hȾθ:P9űͪL^#.U(7 Ο/ *RIδ?xSЌڢ1BcГe}:V7VppQ; ]29S0h (xƴItypf5Q-_v$ߵ)} ,6wy/**Xw~m^BD`2>6'Œ/bxL G{0- ]0?ś:lb14ujpAcT`:=!Ro4^<-2$12SD!:,$+杋b wй.0Oݍmf[n.W=hDL[=0n>nd^저`C)Nr`ɤ,::IQ WÇ/zV'.qy]"Yq2s\ă2oOq;о,C\G<&_OV6?\JrM^<$bV#WUͬS^;"`^n.k 2gF3yBoH-I g7>cnD,<|Bt RG?ˌC=E^ʏ)P4O/ꬵImyuY(%#&SVˀ"f6eo_~7T-hC 8Btk:qvI,eLE`tf=WB]/זVҞ lH0a}SYS}+Q"!Ӑ(ශ_Z!c(V+a^-Rħ,]l \]XaM/YV1 ‚Ҙ*KlWvY!H?а6"IB'AIYmvJb_U5۱# ڟ04[l7D1- V?8 *41uSw KL'a zRnغW3 {% ?o1s>:~kE\U dTA1\ u6u;M5{A 5C=TN=Ҹa|f_4CO~[@*$ xjb\/u<0fwiOx3JF&6$I/P9iQ"cY $+ca|+~gtm@1&Ri0ן 1W=nzےg|43h{nw/OHg\]%tms-}i vzhEv*Gm@rE2nwe'2aLYmQz{\m+-CiEH4ߞѧj^^kBXb1lSۙp5~V. ґJV oFrbzr1>۱~j?Z%( ip@M-$X McΫ/{0SjVpj#;ri_'Q9j>pLk)PLǾKh[vQwmHվ:dS':`ĭ82-Ɲ:ì+r[5iEtx( n > _h+{rQpUujo/BwC:e%+o&P 74T>hJ7< h s_EƒZhmTC gԡImj-;Kc DOtj3khR!) 2GO9`.cLϋ ԕ`bYHzʲ6KKy% O@?EyC_4UeRC+F .qÖKHN񯴘%pNPiT愚w%t=J_Ab% :/Qv:b*-DZYy0AN͈8EO<2lכyЉ=[80ێocN0mIm&gnةpHlܔLj>J$(* /wO} deƈ) WLvYfu<Е&\K8&'+\;aI *Xmvqnrnfy;pu(&=#!Kɒ8+除&|0·Gj|a3Ð :~7yH[w=/:† c%}mԻ#;✛/0g"%LUY14ĕzm4fh~M0MGZVl'pb*Jюk85H_uO _jީff.ut`V5 Axݻ|]8'Lvzjǭfy07Pūlj %ݻSct'zHa:Ge h1Cg="hflEcL PQh\X0/* aw$X#|v [,*HTI4! g^aiiyJNM v"̢A3xp tR!pO9e l)ڂgr\(_{j*5zچl#Jy!&y *\.b_9N_QQP\}ApL4B{-7mF)WCi^&޺/r:*>=浾g?vK x%zWB (޼~3tVmV 6~uZ:>Y9FYɡv;LYPXJRe7WکTTko}VYhqXZ1x5i:acٌZOF$ȪP={(-pL>&z8ĄyH:$Hvc$FpQ6.-ɍpq(Zu7+_w_#)h7 BX tk=&R u4811HJ[Dygu;c!޵n5WGl1]F5+;sg*AL_srƿd~"_n[EF(@KHn`D/Q}ZJsЕӽxރhxpح]!E;|(_q"ɳ?ه*1y8R%ctmĩ[z`0\c@]ʪW(ˮ_OG].֒R[t8ES j4s#Q['#NuD "fKˣ^I:iSgP8DS5y&Rqr{}"= AjC(C/yU Ô-dd:Pi-Y]M/j(.1B5N`OP(Qdy)=kqajØ؝< ;v5 `Z:۔  ҇}n+P*.3&yƓQy #1[sNa9%|6{*,cQ'>Wv֖x /Jߪr5OwO:X`eoiHd0,/1B"K3 ٪)9hMhelUc_w7 ;U7ZY6([lnaup<P]4"hq&A=%l?h y,|ƹSGeo/&cN,w\KnT. X쓗Ϗhg[/ |k⏴&rsIEVecdn8:_* ˠGnod] fNrf!c*BtsYݞ6y#nu~+"ؔ\_h0N(}N1Ђ@K+w ƣWoɭr; q7esH=.#64&D^8`d€vj兠Y=^Fmk EDU=<8JR;Lfjq;DdZe[)闓eg պ60{ďVraRQv8.8G.}ηyӘ5'KDJK- y5M #/U/䍁z % s5>ł7" .[fCsSj^ ( #AoG"T] `pA.O-y(Phn h4W:6A}5)%Wa=22bL;X5y3",u;¨ c,ňi=1\^רE|jHxF<)x2AVXvmB>c&Qjo 0d<3=IB{OglL:%9=G].?y HSN?vPmc~6B۵tBޥ0Q󤃹?0=1FF1K7)>q7Jd<=sۄ FϠ7]*CmUPy?wtG7j0 {ShB5*(㚋J~Jb>ZJFoxUjnZ*\z7"iY"ST=p`q~bYR\3.v5e]5&wAMp SzUF;8]ڥy5O8=3JƪRXt4Y$ۉ{G'ٲ4 ԱJ`:ܮU$_7^̸4n:-荝c{l"G"|TL艭 HwG*!TK~vDu8!c@ /:YtAs?g@EfڡX(COx? ƞLW@'#ðryfZqGxիd-8JzT%/zGc)qGu =5^Fg#*9u} +TPlX,%H$4f<rIK^{,B5E#ˤ]0%wD1O]uj}.*Ր j5GV&YKN1˯P͸[28>$ho bBdbn躆 [+F/rw5+a⿳d|s`>ʄǼN+;Зlq!^(l =(MԹ^<u4CWuI1T qȠХ/Wu 7-ę^Kuvu"]@, !,VHЅ^Q1#G6m G&E4fmlURraLMz&)Fi |&ؠ0pb<ոJ9?k]yw+qR)WjTʃJ}MCmrߪ d\@ Wz=iEV[0QOZb, rrHl,ԗHB*Q-U)%Ļѧ>xKr p[ZS4#U^ o#qbP^9E~$YSLhY>NbSiNO$lIyTl ɤTf&PxFM _d7X$7XM-9"2NUoUkKo[ڏuSGH΃[z. \$| Ů]E*<4ZE ldp&Ĕ|%A8+)N2W w 49Ņ),GSX[VD(FzLv{hӸH{̵5O{ʁ2GV=$6Fl`Peigmz 9E(A&XѝRU>o@&~6hVLβKҠJc!@v hNfi ^b& hhb#W׸ ɚMk,B,8]oègs05.M=bT”%f ('V LB-NEju,qpTԗzB|vy 6GV^E3Œ@ڬsijߵ:5Σ/6v}~p6cݺ}z?y|B%*i% LHrLPe15]b%l&~$ zK&DOޭ^%(j̓M2HˍGXŠ;b1IKl;1˥usIA}VH'KFޝ |\۴+HgOZqG4/5bΙ?P]G9 ND0J5+&Ҋ6[]Lj3YN3WgZq4DA{SX䢾 #N~1}iEw91$~x k풯63n"W NBjp x5!Ja}C“yЪ9෩+ܬ<-nSLQi@O%,;l BW{Ex19aRR\j嫱/:'jڈi;a/'Kt4 X0%;8@+Ӵis[m'\nxi@&?i~OGt[};A;VYAJ{3M RҲ~6wuOӶRi}ނ&pa@znKE!R( )6(&:F+I<piADWz r_GJFfɐn>:ؼeW3oVsz hZسZa;w] ԕn ($CW %Pzb8[qrlp9M9zBmg EA-M\oV# ۸A8.!+IZ#P@RY,sKF:2!GeوWXﻳ4>E :)c|p~ 6:cyH#O_ F* >y@>:`[,/.;69%0-- ZҮ,;=ܠLvxfO{#dܤ_Դ4Ʌ _V*ӑQV$/iøM_qVXGK-J7blz w$cCtQIPDmc?',dVe \#19l " `f<.9"TS7h:5ek nG,'99WRoyq.tfiӇdA2}+l{:޿?}/\mF9B|WzZ4(\3Dg,P6W n7(kM !oHp⋑:S}rzb0tt ۫,JGiOMl~ALA9NySr7shXncצtORծŪ!._!A&DR`>%|jшlCY*5HzŐ7z* }wAG s] a58D%o[Q m~C|^PxqcS tԛeC#GBd784`ZNWKT%eD^S&V7Ks)=tBp6v?>@v+O\ƣ>]Δ6U S1x_$GcgF&ތX'ݎA9@ TJ^88$}%2\-)WQdY7S )F=,tǓn"i,7]yq 3i$}2HeR+xN;%68-k,1yHq~W!Ov=qDZyzf]sʗt.%tR܍DVt x8~DLǙ@X¹)|M[R"M &<:>mVWSsI4&/V)zRRĕ/]~n5IJ7+S)!?M8w}rBbiyf&ʃ @(%enʸQj%wuo\>$U&zLnؽ}/<WR"-s j}㟗"B=faO$1fOlεUb'??H{zNP|7RP/]hY0'P\b,] P_b-_*J4xIЩWCElBf\K8Pػ0)3rY0g"UZmT}ezG6\EuE`B[ dio~րTcRgMiM}7CڂWO#m9)|!zNimݙ,P!J7i_ĀL 8zni54ƨPAR~"tg9߯ _sםGc&_"wgҷJ:)2M:oMC*ˍ^*qԪDD`E1[K>6ɞ:V~2DH/T y}-_05qz5M_RCsDQ#쑤3 /aӷ?y+&k}p re b䉰2+)uek:rl}\#˙ ~q,ծ4YB3J&R ujťyR&˯(L.˚R%yur DuxGDɝs$k'dw(+`D{k W4T&tDUXr fvrQe?k1#WUI C%d-m*>֣@~DM@O4&a-idx5Zuul-B4 2DgZGrRܞq9Ɏ#qB#FZsR 2ҭEgĖQ`@UTY~Wrw!|NW/s?=ԉȗ";ƦVʉϪg00-KѼ̰PˉDW [IIvڲ^uIzl-7wgE!B豪!ۋ ;Sf d먆" ,\Ih!v8d} n ~fQ ߛBWݦ&~-Lݺ f7#j+0fV:PA4+*o`BrUuE ujö4|sˉ?vzj8.|obAV'y v?U#h0K >c,]wq\?v|d}MKG/x$k0Y8\N1^gQ莌"F(G"HFG2v ipP["ўxS mEIT8-Ie[>`TN Z9DDV* =/U``}/"ִ~փ/.,UUr 캒dr.iI*ѹa;S;o.,ϲY'n=k8pc0h [c kjp״늻U.F𫷹^'TYu Lٝik${/ȑqHդFfk%"۳I1s05{v NZFZPQ_ B V0eׄ+U/g E穱be@GYCH̗'1/sʼn\hl; .`ʰsi8LH13Im b?fĊ^A;t` 7e$H"pdmGrBQ&Y d+JsLiUu[|"~?VTiYr=O ,qfFf$oA\9鍵яJǿną%nP.^%p~uHU-a&VX3HNRlk yZJ.{?}Y3~'Dm#-3%pϬ}$SP$x%A}eOM&NB p 2"fe OPQ\2}#쵲}X[3nW/u~ĿlJ DEK8 7Vc'diR*fez9dS[5D}ueS2i*P9g)SߞPD?uJ±E}ݺW\.%o !g킲R\թ-ވ$0ÃkY[W|+4:Ema:@+,c0ֈ16dK:OiXVQ1g<8641 ;šOQ.pY ayGX].C7s٧eSXQXb+e&KIhji73!e&;M&1,PulXܦ}un,O8j+'rw<33abeݗ El.w} MRه$jCQFW-r `)MjcĹ 1 ~wYMy;'be_z9RhRxMr8[붮޴!ų?>0ZFz6iPf 9`꽵fJF_ $&2Gv;rFL FȨM.S&LCŅq? ^:mJ6:gdDWWkX .nD&-&?nY 0lbJA%+m )'$:YGHd e3#%,mEjcݫ!P2Ɔ%AUfL|SE5khI9V&4:{J3lY7 O:h)w6zâr{MC1^2,=Ќ+yI߰T8BXwEC$[AiD/,E9Ӝi>٨LOFSj]Kn3G9O=j>C)1~>.#'g]NqiݼwF8K+-~21>,ͱ{WWu[k˴χ<'j4̙z̩LA5xxZ4E|+m uM/Eg$HPrƧuىB[q2c?{ =KM!]q,p嚲Pфᚒ ؎b9n vzn RSpCo[ܣu/y[Ցtnm07LPl>ZzW7I*_SKEBRb'mdRC:N -L5<4%U]fx7i3ϵ)U +uH.ra2Ohtqvaɧ'/a&\պ5KzCFaր~3z| u? ٸ+uL'􋖶DVR{zFߘJ}"b2^^Ͼ2$3] MvI^L:jZ)]~?(‘ =e_?z HӞ m΢_t-kKxq!lI4\ er&D*t8D[U񢦅$)C#a4OPr#w'GKPsl)*h8lmD0Q9TIvY_phhƘ6PVVﵣ* Յjll*nD]U>c:s~a9jjyjfr6u[3Zh%%򈛉W0~dj۳bł-xCXRQj~ޛ1;qZJ m\0U04k=:#[cC:k>#ةUG@1E}EDNűJ #CX$pۣrW#בKiܤf7BwpCX<`A!uTMYPQtrnk_fy\,<_YwT<ÈH.rQk# H,Rc +Sf!K /SH2Br>a9Ӷ3ʫP23P}+ [etdΊi";xjZy1(| ZjL D>K3n@S3Ep:\<*ge6Ù?~Bi4_ґ{X3ˇ98~cb-,Ȁ˳'G2QŮ{=ڨ(_{&8gZdܰS κn kpŹ^*~Ok.4Ѵ:p:fМp;.v`ܪ8mʙK=^t}8>DƣZ`{ޮ߶*Bޒ8$9mfDf+qvr@-&ܠN(N Aŏ;|0[հ4VwЈS+WrǓ+()> ЃaQKU XP†D䥲I@?&.>cy]Yے:PA!Ҹ[#'f>6‰T$ёyAty05~}H.9'+SkI8[*{]fn{5_+ԚF&5il% /Z)xn\|NArn{WpMj8!NNfsrN.W0Į܎5}Q\[ )-vn>g}X1#l%D*wH"_d v6,$u))fbb=h+}zphM c'ȚbLxb]+I*@0> '-Z؛;8N)R鄤P!@ρE&; 4;-0α5#Po嗢ӵ{(g +4nHNm 퀱6kIfu9><ojEcр c^]X5:n|$Ygʑ#"OCDpʩFQuKg8QKDhK*|!%'gUO#`M-b2ZWXVv*{[|!5:"Bdh7rVلYDi$ ?x|eAg|cϐZ~%B?h\YO|JQ#i ?6Co0ρQ[ Mxhߦ iZ|U} |y?l%3~. IOPQPaq@_Sxҿ_(c)!程tS|inwg_l5Œ=41f;J'}QY q"K/Kd֮Օ&i J9|r*O`` \$B>t)@-y/rq7Ss NJ.5Z;P%>ƽ?qd mGtJj%R2\]?m~A-T!ʭO,Y"@,;uj1oݺipwY&hq$h26i(_aV5n+b}+wqe>QB%|&O\mNSKEI'g/L_|`$D+ߚ!KKBRl&exKgvbSlSoVɥӥkwU#;HɌ4e[{ 3L>fey^E?.Y91<yGg5NƳRAVj 8i!ݙ13awOo;ҾWҸʼkN-(м˞Kz~V FQcnz2a|wQgP'Re⍗ C{%(ʼnprcA9|jm_\BEoÝ9͝Ex*" mY*cfF(ͳ`$ X#am9DkS6dB}5n9}'7vm͞dÓ !Q=(Qf;'3* nr9Cn2v 7A(Ƹ̀<,yI o}ٔc| Qy ̞,Xy?5mzZu&c)#kA}+`zCRXڱPqU2G AEc0#? FhYJP/wɸ퇥ɳV4Y"Kd҂k9}ņ #%<>~|SX0d°-ᜮ=~x$BvBq5фd^>둕.,24a{$q2#li[l/}Q-Ԁ!aG =eLq#ұ_= 'fW$B %[FO3&'xe6yϤb8D_w,ң4hBX+]zSBR˧.qCݠ;&~>(z3Ӳ؆,jn+9P:Ocrޑê6t+rP9ytP0c&HF_{'-Y)&@N9PwH YJ؛юtNUo| [(PǠ6y{3sNP_7Hh>P9| ^u& GՇu31..8ֵZ@NU'"Lc.74"QNƒr"b8UwA_.7Jp]bH&ΚAd8H @i@[D/DRG紆@-PǪ-[w!x"D0L6\)o 6 4 ݣyysdB1@ '"΍uߟ1x3؜U-HG;5[]m@AT{~ ǡŌ"W28^)0QQXݻ#E;" $AUESd@n@("w^j\CI/)0M LhgO(Ӵ;a\y!ޜX=X\m㯁I3q K\+ XHi9*wο /wc# X]%1yS1Xqc>% Mw%,xʜSj+;qPcAa1aʦ+K WIxV5B] 4+/. ҏLajK* nЎy?GE.qGOQƐu6ezkHJ涔s!7j]3>1l38v;Uྟ9U}iR?A=;Cveeb`n;K`[LD~w~XY wƆ +D ]2M9c\)oH|&&5^b/e|ON<drDi`Sw;FҽvKf ):.|iTVR]7/wת  .J_/uKs-q<\gI%[xG]?Wy<,StIa}SZDpt+ė&Laa_AX\fx'ztyOȨ,~wCe Xf,(YPl,0 'SsI0'C6.E/~ bצ/X>ŒrA)(Ny^8(8ո٨YԖտAˡ'>V P07;WAvG= xL(d8qÝ:qwo.hvÌsjs1N "]Ub5WD/eŖ$ = iq#Bh dO)XF3ce@1'J+nQp47gՍ" ٬}jD_O7LIa?z<)emJ^0!%+`8C|1] )y4c9ؙCRj'}<#O)Z54bG#A*'zMc{r2^AѱE@8"2E׻tc |Tz#fJ4$HQ E}$CeUaKޱ.N1lU|ݏAmP(O25Ϙ#ll5Ԇ@.| 9%۴iAQYȹl1ֺٸZtBVᇵ#Nh=̠WVyn]Smvi84CT~Cs%bnH#j GUgu6c@ 5]/ɕģ2~] ƈ4lUQŢ Dc9 UCz¹+& CC p$ qJas:I$-o:ʸ]{G͂ZҪ{f=!Ț\_$0p ^÷aS}΋<>5 [#sw->\o[ SBW.C81\# 3.Aޑ  :;fkV]WV+@,Cyo߆@(qT(EB+sIA%{^Fѥ֧Z;<ȸB?w8M-8D ݣnB 4Ab<ثNBuMk? Km'UKhXCKrZ$vtUɋ"m)b"z n._4k3>=_r\_n  TG 1 s}ҋ(x} HiZUQQ~k}thHi*F%(R 7vmg4z2>ײCER] 1bݘЊ-$9;Ee^LcuS$10QG tSOm"Դ^$HËB#j]$i&j"`Ǣae)Yy8Sp}gJW@,~cnkǍ =7h_!Sjs(ޛ }R dcm&G:䐐9egfےG4 N8-D1+߱89?7DNeݰAZw8%d}$pUmzî ;.A|nػ#* \eK..HdisȦ,-Il x^[yMXMh?NZ)H́O"_Hi9EtkRm'hr8B ꇷJO;2M^3B}8|n A :s^4؎MKCQn!Y6/} 4 UrHwl1``*QAlgJxdrwN\C{IJ&F[*BݼS,NՙXWxbstkJxLFZC=RMdhQ:)CߵHR>fPAƘ^5Փh)6 cӀ?r{q],e=hTN~fp5RU ;j?b&+[äcmc[`Wy9;,^b!EM|).gp`©_.2Z[ZSHHGk(i"Y9]V߷(~|&lr客l^.2JR軖@^x^4V[DQU"f=^Yuu^QhuYvٚZH!85 Ku\ ``[=E{ָzqm;=/ۃؐm&5\fޞU!iu4Grk@zt"7X߳aҎ ` vp?(4?-,f{))gX㢜DFЇ|PK709)ȱDc1/̖'UjsY8ZC/p#Ѐ#ReC172u5Z/bToi!$&vt']؏DaSIgMG}8spv;|Xs ,1م*\x ??%<2'P־s:<v-#{e+?2#'I;ιP+Y >vzyUH%w)i\G }91 R]^/^̻cHQװ"깻Y~$3zUM-{Ar5>И7t $ɛ԰ P$i#Y[f@!D\L^0B)5Fl1lg nwP3v2 7lP~{n -[{~54jPW.;'D/As%TlXnsFNynAQEe)[-ZKJ#[ØjQ A{~sFLdvQ:wn)޵Hb(l3`xc-٪75<jߎ cdA:SQ0%H+'1])*A~Ġzb9=}Z(sKEOB/6[9U.ӱ13[@M~[+6'ͻVVSgNKDQ!)~שAR SCi]n~0UP<ޏ9ZcqYʼnPDu0{I,+.=iu||HZn_֡ [1\g[XޞBy~ k鵆2vYMQwg/WrUF ltij FlhPheS ̼r7G،Q 7K_!岓NgğV] 92ńǫ] pZrq^ǵ6LpgjJuP6 OsK̻4P;n [c:9;Sѭ&/^vjČZ#xuq[krDe`5!~?Rnnp*44ɞ#Tz/o.VsqHB7'>yo%+`v]6ta=:;/_2x:  TW.ը:20TT“h1d]>z/״ 5}?l!?k.EZ 8.Jw`AtB֦42GQ~%1Lp`c"fria+;Q@2(Wv.U`qg6O%in\#rbyt⪋YZСbPS@L*csQ+WP5Dp^6˱Tg#PȖVG}( O^x9&Q_oY'FJ|fur84ʹE⍜酩z<MPoEP0 7DbQSN-}n3n 5Q\gRkDqB(h'ώ@ivp5 ז|]G[[߉cնۃXEN{[obwT :2 8~B^SCD̑Sl g29 >d18V}yhU1Z)]D_@RZ^u?h7=f Yq%7{  H,LIT]ZP2\nx98Nd,AlN5zLʭ p/%IƇW&EfqA$كHt=RZB*L?jƲ:b߅Abޫ]<`a~ ͌G5xdsb0qx{;k=A B,y5R^IŽ[;M"8>6QN$ܡ֨l]h p|rt{kg}ؕL8LO晃-8.LJLO;J/hKJc J-nc&m,b.v±*(ZIem]Pʏ Wɕ Z&QOܚq.l jm,b#r0?hE0&0ğTAJNE靁bk 2LJTZQhZ6Rz^f\VJlx'yȁ/RQ[\0gpL,rɝ[mǭnQ zͤ dYqu Is];?:20[::@Z~Up`? t0uc;j:>+i S9Zjغɞ2R[~x()ҵ2rXǃg|e샶u#0'eJMg^;kx]{ZtsKbt(p&LmA8@E IY&BE2ljK=#Crk:iD5XVNS|طd 1蘾 MedtT$bGRe7>5s^ ֏`"hC; Tu$eop^Q poqŤƃm8n uL!]K&SDYXO.he>vOˣ=;^CP?݂T ZӡfG[K7;pZjpv5EXS1㒾;49#zh?zcE!ynnYc/+n=^q5IBgW= P4+ uRg 2j3SM-餈+CNYO=f*VaHq#ЬED x{VԷ%ZEv"@Jl! W)U,#. v:ӂz7 ?:{.s:>6;~%Y,gf~Gֺ@ll@n)S& \T= (TqHZׯ/_NK$?f6 %۴/ya_]Bגj~B@i d{ hxg4]]9*F mre<Ƚ $'v訅G'v(8#h*p)̻t%nTpq}MS!}Z)A :;y{X s._'}հrRXNځr;LVGmkެ6GCW|B(1oq=K_*QJWp8k6D mgS ChCJ9r{Q/5~8KkdF&)=O@D $6qC 9S0_sw(yI]! Nom DM65\6aWm`;mr~b(ZAu$ ]ѴD9# B@/ -&|~+|V[BL*xs:u_Lw3! xWWRLNUWzD<"U,0prVPn*l~wkW Y]\J`E°d hyLHAc VT~0)&m"Z$]7 FPf #ȏ@y|e/RrNf 2"M^͜]?pϜ(~{"]^׻0E,EMK$߇zEC}ڟycZ#8YƬJ(yU"  xϯEпREk?](S\&7eBMrٔxgnj섲{27Jiq;zӺ!U;n1׉=nW;i\Wx̧,wno_3%ZbzC^% NzRbd2KKBOݲ"t,ὠ]K&v Bw^^rc&=HG7@U$qLIrJ\su$@ $ѣϏ2 HZO,x *SAJ眝3IANrWqd28_r2>v$F6ew+ G{:>[3tyoeBt,P .R\`>_*|4 87 SsC ,ei\Ը'.v zR=\`lwUWn>CJ䋑ZWo`.,eq`v@dFT{ct~"av;kGC<+P!<ǍO=G)h.Ӷ*J3-{f\wRn ACʐ぀]|3JrRPծ8g2e?9u/dxx[t;]}\}cݹ~C46pp ?]O> !'XBS]Lը(!9_L@;˧)f*JW=Lop)Zƪ!S Y9 a4ήNm`iӷ~4@/L0[2tŬZ'={.ӓ4 O(X>$L瘹s` s+&q,/_tFʘ/n{ϒɟ[-WI SgGD3]\ _ hύ|Ĉߓi{l@b`8(TѠ2y#o{<*Cz@YuW x(b*0b?Gc"Zed^*\&m+M04b.qYm\FS|5'O2%IIF_Pפ]ڐsp?B )j4Vo&=`]&YnV~Iب&fxR.=xos[: bnd{zE^s2UHʜĆ,šơ2C􌸶EW lȹ8d.{,{j}TCҴtUehJdݾ6XbӚH"`xJߟQRv}\{H3EvfX\chCcs Q.^8ƅ6r?q_NJupQTv? ]EvMSS%ewԂD(EϪXlܞHB#Vj}ƚ1*U`7n e["VUP)=Mldg[+R7&z8h9u<{A;ٳr$'2cDe{tv=h ھeߤ|iPLu'ioD: <F!'Ң'GT'B #55Ta[SBHT+pC6NXbd,I0|@5nJݺʮϩ+` U"F8J?lb GW c&rJ0!zpU\~&Y WniqC ]ovnc13L߁ *ީe#H '|?!$kw X5c꫷L \nƲoC¤i.jD`XxPԤuAbܜ@4a)~ ;eʬ47|!u$b؎& 6DDF#%_'gf扡vjz0'Gh>S/7_< He@G}]e~LR"xW+Mg,=Fư^H}Μ3_͔Q{?Lْg}햣޾g7\H0C7|mL ZɜS| Ja}my$&}Arf a/J x,2h1k'^[K+;$ʪpi׍?ӓrc&P^Sl 1= Z+! FɫY%ϿqhQ*76u Hbx`MĹfC|.~i_<竭Y;ƪI~mfҨG' sm½sɣ}O;bCF49aAJzk++D7s9=EBbkx<`wM#id5%*5o ZD6NP%V.{J Pp.U顝ÿ}8:7^%L1v NV4BA/wtJ,F> tXݛQhƐ`,2-4׉ԇt:Rd{6>wz?X# SO{WPOL+gdj9Gݳۇ1?b#ZF&|;zOPRLnvL b/[U1(Uo1VHz* Ӑg䢐MX w%GdÞg㧦ZZהD!?{f6z37t.ȟln$GMډNf~ m^sBl)䇻ETR,ሓW:+)sC:Ԧk -ŋ떽 @!i@ rh{=yGFUo,VݍxsBLmr PG|)S6@tiU_㒇/?S7߫0#`%XEK,R+aV7'VԠXѢ1yPSd-']w DIQOtp)bp: Ys^~.$Xaj¿@D%w 7B?;S"t:ܶ`0c:I`Ė7+Ho.wry;ɜLg2`:ٽ^=ѴHS;8Fd`ŋ=E(k7o}UJY`K9lC;U,z5\az\?vzWsT6p&%.#H :аVGmW;T[]s Dh(qQ 6ʟO|qZxN'd |JSbVd2LpKC(2LĥQYx\J;IYdkG2O R_HldL筦v_9nlvhT:Y_ )6B~-Xóx+a%-gMn"*?0̑(xyN*;l?W)Ꟊ$|5ΑrA: ~>7x/#%ꀚx>~$_C(ؓ=;} .b{ O&%:xneSxUyJeEݔ3vYL *؝T%))e%75H#NTܚu]!RUo!&{?Ekۤq a¥SND,p^NV:)tlQBiw\D}+N/ʇ kOk—TVӕ#ҨꀣW|kz/8~nR̾ 0Iiy8&y-[H'+f]R\vH3_E{c&ki\g>[h2.)ӣ+d1{ڮLATuc&]ˈ]R;"HrMX-m&θmY g /jD7 .գquƨPaS~"&:^:J 8~\Rт{HwnU%$^7[zA|9dd^0`Vi(Mk v<1*BjN4f4pSBLJw'S$^XAӍ|#.^=KtO/: ##*A\*{f4H <#d(FKfIƞ7\m{0yZ!c ~18'g>`n{I͗@lpEILѵj#8 nRH˛á:#gƇG0riq13z} 8$sIAK6A1^RCzD9HEoZRL92/fI _C3^|`S7)j '"&-h(z>߽0m"ai[4>.F:ෙY5r wUPEOޭ+L](UmtƜ^ñ:̲ĵ* *]g֏)c c?cx"Xzq8qOnmi1t-ݴ(÷ͭL5N1K*DSM|9O_̔Ƃ_65j3=|-A3F=>>8@?bWާ;";"ޣH~d;Q~"h$ppޗOL\մ#|L2W d6?jt) %B&̎U+K%EGBA\brݯll[dH/,УtS\fD6uIqJt54umvL"f˱<.1wf ޢl,IR^ǖ;<$ XMҎ~.>X|(DE2G9?tއBC˂ٸ:0J{`yX( .VA{|#Քõ:*(VT"KY/;^%Aֵ`a YuIJ2fz^.zhc4OMֺHM w'moAHWaQ>-#f*YY`l6rW1jvInu)Ƶj{%'WRgUHDZDuCսS%1m]<kbyy9V)6_P2UnFFMb'<;)sEgr| {()3f0ZmCo\&tЪ1BK24J;2LUU^걱<;i>U6{K7jۢC7(:l~/ӱQd@)wK-fxJ 2JE٣r+PvgGqoVait;T7F ^ɗd59zDxƫ9zzB˨ҴT  ʘ9y#q{ֵ G)P[\q/Wn" ; $CP$`d۾.B>n쟺 *&@Φ$8S\fiEDܑ~G)/69^8S*)]?`XSVu K#OzZƆO#b-GUQ .8zm1?^X82],J7:l*sQw4?ѓҭM>l_n|Z_ƃr݆7~lK3rwd`9B#/ˮ٤GHF5%l4U8=7qhl_}9LjjƍfA6S_Se{<3=!Eě*/7.i+n 7i?քV2K5B(E,PcW.Wޱ Cۺ*]sZP7D]eASC8gW̒WH]:w@@Ǿh;<:cJQz̐?z<5),-AAA:N@a}ؿɫϊcD^AYǫ[RxL:(2H-3Wd!JDջa,Y_F$c\Kj=>aF.N_Z8gݑ#l1JOXωD\1ev|0=Ѝ+,wNoY]xܞdGZbl:Vs^:8LQ]ul}!UB#rİےAF7XMedCq5H "{+rS8M 0\Ɏgeϓt>ҥ\u ?qJ1-þJaYVؼ%2sPn5 l*%I`/ pFZ]iYT}>wn%#I[$Υ,)k ]x=ܬ8!&-85D*S޲C`rVt=D"hK2*k #JeG;sTGdAl|pZSwWߕב* @ 7MS *ymg@h"N. }MlAXܛ @D{‘|M8ɟ2q  սFMBF\!W/ŕnNJ:' 64ɕ2YC4˙/Rg-4;uH9:+4d],:Wю zv1b=b?6Ca x=ݿ$Pir@&:*r":vF,2OrGiZwSqDlfh7Lm)&ˆ8*4rtf#Z2 otL0ո(JAIpVbEU"be`DyM6k (!| T}7`}gN(ᔸ0@YC,@$RC1Oq9Q.ō0y ظ\IrQ]];StDq8-[N((n^phNƻvRܗȏ*AG0LW_%&e;AiR4j쵸06>:z zQv!A9zEW@Jrs.}i*B_EjȆoQ;D =ln=`Ҷ~ è&.5yh_:InoXfC mɰnzFpEWB*SrNtljuB?z3=MaЉ乨zthz7=G/D3Ӡ|Հ/MCeM?ZL9^|S=]GuDdŇ!628?]l79oa-w{oϩs8SLO#uQA܇^i@V_*-)<(7#z,Z֥6QU듶gEy53աw3RK{ݮ2L{R3φhMU­-A֫7.oP:rvG޾[%LbA(oza ?ɡ3tfmi5@-?k.IJ3Ñq$f[]#̏۾Od /廙`bQ `lzxKWTaL+Xtjo63(4"GЃ H&Gلe@I?(㦵!0(Bl߱O,8Gc7Х k]X2TDd r:T|5$G͛$UW^ז+7Ӳ,$ q i=as%v?+Ffr粝z@єVf|ԗDc vxJЊ7KX~TF ~ڬ0dZ_@3Q>d` Cyqf17ZkVxOH7:$՞B'k196L,n#?5)O s5ν-Xt8|x'Ib$א$'{!ZS.5U? }V\Ng}:&ߣBQuֻ7S*>n@+`@۫^8ww{&s HEhr&VA0u}}}1!ڇ۫RyvL&ֺWn$I: N/IcueItB``.tbU:#݆zВsTax*%)-Iʇ^î~vM5X6:ܗ f6Mӕ%rs赔% 'B֦|otیe0Jw-}_ƿ\Wn VLR3]BXk@/'Ӎ^4i48Pz0Xv)eҵeu&rS d!GZLU"> chK7@p@K$h""%Z<%2q^f)I|,۟j 5W[hL<L+oO|(g'gO:2H 4=؈`T-Ro/{;.u04w0 ƹ|iSR?%AwO6p*#"v.! 'g;0 },(R)Q/=q.t`\|GDhx&sEܫin};:桜:`We 5K8* 4`% #ڮ !LTI(>eq9zLEN 8ؓsȹm/&q{TY&gaep' vg*,2"njE \'4=ㆤ]ÅQk _w?_-wB,ʳ-=D [d2X)#B}51 b6ZBGN\@A8PsN8QfAY?5o/B:4jމ*>E(lW@G}Oy~KsV(x,:r΀ I懬>3}:!u[G}ߛhUW}?"I3t 1< #V19q1t!lXbq2 `-]~|##w rS `.# 0MBUԨIVVV߿+"];gbϔLEk2lΆ;À"⹵W2Ŝ)NIEh叜!2M?_7 7wwH K`&~&<3ľH{-T!TMxF̵=H A#P4^ɝqgRC)U-G|96и-^H~a57|7*u}yN`V2Hwe3@(Tk2joqH.*ĺV_ӕq:#$+  }ݣ*zzEuP8'\;z"L~2`~@Iܸ@~WwpC}.DT~?kBc^o%3?|SDKб?}f;K5mT:4NPUAu$u-F%~${9v|oLiمb6[p2ll*wW"xQFxKJMƴ煮$e{ mJL Η[[ZX=oA;nxWPK=5Dy["RlGEUf::,m6 =uyw0  tpK-ǭ7xm`(HY.(z`{*\ x^O??tj|zlg0f0{kaCv5-4D9t? 9؊n{9$,x(Wc'*{tOӠ: MH ~5-@{z 1AA;k%*낱 +P?Ld豱# vwc+=g I]Ř)laO=þӰLiI^\ _Nė, I6zҺ&ɬXbq%9ExCKDIc{@S C$zVvՔ\K7θh.N`dٸDgTeig*+B$fvxLcG>aHsL=jiUv4-WְǍW\IKh=)NN{Z{?\s">p;q#^i΃x (ƭ1^;̳fN@5YV*$_^zڛV'`]D7C&}u/1?Qz1.Z٩:C#GଟJBbE}/~7<;آvjiwE9 MKKXs%vBc@`C&>g=}i+pepwSccǍIkb^A7.|@?I3?%e5uFXP_0X˔i@ >% H!ՖOm:[\to +$1Ͼmts~uo_3͏Lprݩ90~v5?٢th%ve`)aKv\ž' O*7@"r%-mZ ]QY`&"5B#< c/+ɏ\X '|K7iQr#WHVRCϼ-L[9pQ1(]n>Y8k2ym}҃FOnfΫO,~7~좘̐=!y {aLܜs $J+DrgJg}m#3pyOJE}S?֠]$y9πϠ`^6rAJHG^Ib3t'h?/Pr"u :Iǯ}~)={ %ؖ|HNA!4UϪ &f/jT?,V,OCֽ -"Ľe?l>ާAC&V^K=2^rWdIoƨބT=Wɵ.RT~ϟk/[pvl_Aw|Bp` %C{o ȑ$s[ʫLPGR_i`+y?ͼ"sYy3ln;u:=!jIy'T@4~僞3R]3/&>*&}=P"AUEur^Qwztfp(=ʺPJ;2kk!A}Őo;G%iͨy }oV1p$urjε-i0&зѽ$0PI]{umb/RGfoT y81Nzu,[&HaW;.$T `'9Jԗ`~Zx&@7t8d߳ E] H4ߐ4!>u!^Bɔ )',п I*@t(w-Z_˞Y+^[#UN0E377V`o01"{~6dωm,BX6|W%0l#^(e߫cPNaœ` [b& W[ id&:pozu7^P0Ӏkx.wJ[s*؀Mr3}72CFֽSEި~E\ƗuϛGάOB;[['qe.bI&Q$PvU<{1 %^<}"-R#o+YG}=b?-g[%fzϼ 6+-yrXveP%jVp`:rijfm05¶D-[_ tKP 3sQUn}piD USrC]xɤE8Ne3(4J5xE圠@Xh僄W19o)S%~1G xߦJSYfCH8`KOa%G?u2Y3hOR:@\uD QVs E79l;,PRfm}D+Y| 1 ]xX}pYbϟ5?h!|P/{n]  b D_ Up`؅e;u}_4U .Z+y;>|ZqrHc05D&:Kd䝂3UNŝrc\+%@I֡4v ,X?~7XeCi8n3=uP\t̷1@x"YjaGh@hb87Y>Ƚ r’uy Pn`2(t h elh)T$9,eW~lEҩQF1g1>w9 C3$jD}n9(18`\O&_)>矝)Db,ZUUSat,|LPwfWz;z>wIu,A$R{C<'㫿 H}݁3{dpo$#D'Z$rɃB.R*F !:] 4q(P.qN֡L tUI.|?=c;t3!(][C4pÓBjSYTE .xC1G,ZH"vS۬W-dg27ԨhP6 !q H %R1{r"?e Qv-g2rBqhJ(g.2gG":T:|*||e,%w`,]C+3"=<^gݩΌuX{IToV= 5Vٶ 9*9TQI`eWs4tqS,Gk \DJhRyjvY]/k\,2C.m4-]]>cm؋,:9zƒ$|NۄL-Ɩ jfx!v֮N?q{[xwVJeL+n/{ ]4p&dcjW@Z3QGYL;VzyE=n%ͺFU&  ?"QT6p Ʌ6)a%SKK(q3W,lII1ş`1, GtD%vYO$0Y|5bnՒ]cNQ9:r?Ч9F^+P7awa.ͬEtgG+|]< kJwy & [itoE{soo? t4_#(gSlPuu2]X/%/[rG:qM]!q 7amt(7yP'qnuOlHCm}wrD; ;Z2 rX-bHOjzfFX=bNI?/~mބ34O< 2`&0 * !mn(2 @؍uNd@k?$'uv+{+.Ih}-iGt 0xceɫ0 ŭ̲=F|\t*dNȊL3t03i:OqO\,~iԒ@ʂYWYE`0; 7Xpa<4 6$,ƈf p c|r.V:f@: d*hcKFaJkW n$8 vx2ܒ}1]8^//Krvnd>&'gz٧gNWvbmwzg; %x]ɶVQ9"wLE-qY=cMtz]+>J1MXfj p4j-A{ͨ+OK6Y7ؚ,ylw6i$w1Y6M 箯  EyOa[! =tMV0$LJ(Ki>Oc~f'TrFxDw>,Fa@oVUFtlI:}dH䞟i ~pt ߼>oOQͯvt+9?i-8Jf5d8#ҵ} $4nOYEMm&+(R4zoQuRfW$ɘ=qg>^}h2З*Z5TPV5|_xtٵ΄KPUכMQeq- ".txND bp* ^Ÿuؙ@1<]ce?Ziw"HlC  4oWζ :TRb>6PP*g" +j Q,#,zhXZtI B Ya2U] )}^t$nRpPeM)~.+5e` >paD9m6sqZ-e#< j٢d9STh^ :55^&UZBͫ _M)#thߍm2FO_Cwq~}d_s؁yCضdj,R|t TdDY,hfSznڝUb38}jJC]8nΚ'.;g¨*Pѯ-0]hueR_6T|Cxž@\Q2Xp5IX?VTjHҀ!];֣5&XPRZ6t˫F"ԣ!4 <`p ۫xu%gFx7SQ2;}r LJ~wVl )8uW$:+VM k'`?~n|Q?vߘ^(O+Z%hgd휣JT (&꜕+?#95)AT)rpԙ?~Ԇn0v]!Ͼ`T4s T_],l8}@c讣ڏmw[8 XPQ>Ə7Q]P8&QQvKJ0U{7JgGn&BAI-o#g|W 92Їo}t }9kHjn:-XفM0KRe)vJhG]u_Szmwf6=Y^Fja7 qgiCBsi @@52cUV.Xnxhet] 5G&/)Iz-t J4.-jY]d[ayе"XC@] Jʗ7rTtzJa#cԦ7+k.{p3d0Z{^&>07*FyHż&A&(U*yIFl3F@Z89kI{$|:hB~=XytaF&x0Jj d+QȎJh;0YW<2\=N=j݇ed5X$hI=ZL2K2-ŴmzbSx =.p,P*ʶ~C<^^gT,ƃ3g!LEO ?B|9OSbhV`žp Ah}M? Sz$@R*8*Y&e0깉& ɑkX[Ugu #)kӊoöި*`'}eYmw V猟:͸#ĺZU.ƹ]2oR ⨗A}6Yntce؍7˜㹝"ΠNm׳zAP`ݹצ MZiQ'i!fZ~㑄Vy`:~}N{vqiz8MH(QzMKw: 5tAbW^J⑵M< KN}JZpaUp0y蠡,EO^EֹM]W)ߵR}ESyދ#Q+#3l 9, z,6Sm B~<@ù)8; ]: {S2'G 1iRHq+oBpWBv15a-L*,|`)w)M#, Aq_ @N|As _GԐ\7{i ̊grMLoaQk6XdhWuRLG^U~#(vJ |/] 3|d nS_+^|G‡!21cӕtZ^?' s)ɞ5pkԘe^B9+7TZcOZl7n{U[=XsT.1<-3|t>ufiq;e&S?XO V-Xr5#v.˻ oh*@NiD봰PthO[zKs4QUY7t'oggtK$фM"|9=vċ˭I5<̗*>mR<:({)#$>Sx%y3O]3d[%8aP5~gz6.m/Mzv$_|NjC~_՟Q z.Ec1-ʯBDfijiŧZ܎R*W4( Ckֻ"8vkh?QX?3ίjr1sѸBM~5m9='tRw~dvdGpFTI0ڦ~CT k>#u>ƚXt$>~I|9V Cj`lhn+zTΣ 69VQmhT$*m;-B^ B #`r06F-Jf rf,mF lA<=zdg ZUr5Q,iU/;z-ɾ 2^{sBT-Ɗ[.DJvm*|f7Tv! ˩:(HSBi糕i;PJB+m|RէU%&N!}}Q+p,3;%[f.{Zd@w51PoJv A7Ϣcdm]|̃nv^RTBvԣ@X{vz Î\ܯ:?=+^ i\( Kz$,LwƓ"? ՋdA@g(`,CPtVyPDtKD֠!aU'¡a/j?DF"hJ[gڭR &x?̦|fWP +(4vhNé3"xz y`Ce2xa+협zd8Q}] T͐oV*[WT#@7nFO29oHYv+`ѯJb*{+|@Eξ-]kdeĕ/&-kK$gB5ScdaQyBG#؜_.\ez,bW5/$([7;_[2pEKe ʘYY/9CG…Yk+NaNPx;u 龌jN["BcCs:Pkhnn`qQq[> ߽ܹZ=Dom[t%:iNEvB;Lu`[ro*;}P3ekoc+M`۳J)?4R5]WW9t |f*d\5lO#mpP̜goSr( kW3*o0:*/ؾ0f ĺ^T<CiXJщW)1߁Fܬ;_fF@CQQ߼CD.*@׸[#׼wnp"# \GEa?EʈxBaۛ{M %*"|ᄊ3v#U_=CNkեʒ Chw\tHbU|/os8/_}aKII-0Ja]娹UV6NQ:̏ze愑¾7Ƭ5 B Z4!2~O8yF8/c +6m2Q>,@hoeF#.A[B yxρ:;(: d-ʾsԴCv=|:_*hHoN-!thup݀SE50Z$hTuϤJ*)]dX! IvBa> YR*8o7wIwNf,K 3Ȯ"ZX p1z{51 L2һk~ϰx #umg m}Żgw.~ _7sUx5`Sſ}$1[ .䟞cyrɨaa#_H.>e9!Z;6m<}<'9@ΚQO8΄y&."j3F,x+ҁH๟¸µhTBRC䱵djbh:b՞Y+|[#a,an:PO?#~b!(^wSZ.fxbR)~1?pt9Q"Y)6R\AZ!]g켼rfЪ^Er'$^oVS eF* N!}m>L85DUCzp1ZQzY*B! خ"-pi!R7"p)[BԨ\>$eDCHaO2~H&_%[쬟PBЧDRpcT[pGP3ۥ:\ॐk1<\Ƌv3[MP4p4K⩝d r4-V, '+o5=bu'u>ݫ~DpSl'.II63ϐ="PEUA:x+q63m jTCb] cp3v{pX49SjЦ)Qݿԁ~&`=P|savxU+8\'fBxHC8*b8$.3[PRǿA{u&<:2{ss'm&d&6+yoJA?&.IQr zusa_С+H8׍ԤdUg$n#Oٚw7byI,!m3D,*̚ZW܀aʨ>zQυ^9g.8(mGm$F:tQ/)xw%(=eM(+/j ILƸ᩟,r߇ɈiK԰+`P/= 6RsS=%RЋhg!ORYc; ?Ҭͥīn<̴ԳȎ̈O2>\y~R2ER!b `CC!UױSSRN%S2J|TJ 7h߇lɂH{ߒ ?[偡;6*.T~%|zڗE*4Q G3wD^W-|9_)?5%"#Z0 hŜ ְ}tB>{K)>"C7R?cMv/wFu8t>V7-4=0{ke<ՠ 5+TU8aa)[L;bbin,1I1tdLJ riO 1/(Wō.-\e1DҔ|dTY%} x"'Ufؖ0-[D(Ъ\SS7.V/HY*^}ÆD/ЖSIuVr@PcRe(j+;oฝ1ʜ$0&D@hc$\.[5VC,.}5h #Qv@x`,5kb8F)]<< oq)l0+8*,41ʼ4L<%.Ģ#b7ο|A9c,i 5rMJEp|UB4y@|la]o9}{$grE S:R3 牍 ZӸN)lH x^}g2uI9(‡{|"<`GWa4&)fm7rVNq@v:Y?ZE]H+b4 T|J]KO!*SF!=̓HnaInj#Clqhà`U$jBzJs0[{Y[etzLɭлE3ChB; cU!ɷ&~dGFذxd'[53pSڋ΁(^j9ȧĶŏR[65\m zL H}bDޘ^S?![Аs߱IbU^njK1 X|qeǂwCj{0KڴBf9/\/W o5dp͆iJeJ;q3ǜSgPNh$5P4#ĿۜQDaV45-IH:fh{k B@,Yd0);PDqP2)8d0-mhB)*Xз1'GiSv8V+%(jH^ ' ORB<`6ސZ0# .mN~a^;{,=geWVijzߥ҄%xxUxQwSo$rk/*%SooK88ʲw<ܯȗp= p) }Guӷaȳ|1$? K( 2mp\]4dJk[k=LG ùڿfyF0oUjK)vbgiř'SV b4ي%jg;U^&9 vR, #JɤoS4=Vq/MYQԳR!;&KSĪUFD ٭B8T 26I3,Ht[ n1L}U'K6ElMv_}T 6ad95EtTN-^U;!3U%s^["Mj^LnpEp9Pt2DtNІ{B*zfAG跆avtLŋݭW }98t7 %|K˹L.__qzoѸ:z/SGS~-i+Q\N6 G'=o|Yw F;i~R<y_Ns[Lqvl3g"LquC5XX p\/i Z'(mjg5K+S4M"M0ILz cA /FE`o*AV;?ptBQdG-[E6 Dԕ}`}#\H,a26̀@WzZx7?WgEO-1V1߹̮p>do3Al4Wx-ήccn) tRKci2ms孖D;N(TgCjaf?V#[Ӎưqva;SrVCmGFe/ ZMNm0EHX=`W4̄iDkun }VIB`*lּL#QFTKǯiI32Zܨ dEx8'k9|\(G7 kQ.h4M3P %RT(UQ׋ *"K x\ v+?t*.aF^l" eF$B KѸN.SQddzf3jͬŒq %Ժ= 3v 4+)!`Ko&o]es=\iO y$[JјogbS9ER qe{{uqAHЋ$X`Z_`GSvOycWcB ŨdlKG VRG$yt= ;4@AoPw_BQCΩ h&]tۂ,v7zRIX9|Ѝ%]7]Զ6!!=ʲеi暢Ԕ&'ja1s|js_uִ'qb]HbGi^˶_+ /݋U T0X蕣^ vA9W\RUy`V*S3hETEqGe@[ZsylԤ`2[yMn3VOsbk*@_hԿ/Yfg窡)գ!>LT"ӥVp  ;Z7}e[`{/y`jTIյV2WGA IR^m8\ɸj@࢚H<*MUih\\ZI7b&Y@d灖=1)&tTvHWC40_O]oaFMmuOgs"9`pإYޘHQ0ݾqp ؑm,dדrLSub yiUT)!p:IHb#0E鲱D[ h`1#ĥӷF.~urf(kLbrꉗ;)0C*U!A%*Blh0_NuZ0mr l0b෮~x|(.PUv\|{H"O^͉4n<`>^I*x /ǡjul_Q[xUtgIX~;NtB2E~Xo!kw3p?$m'݇8"RnKV5t: SVۢfj7+`U/I3* jCɱqt>]>H [uw9n@VRB;Y [ }ܙ0~C^79poP==`PJhʢ*1 Q9it yjp%%B Ի0#H|8שil7OVև"cA=.'MXRc[$!s&w4je 6443|=*ZG۝;ËzI6$+8)rlu \e?_= 2x(A Ny"8FW97G*xY$K9AS3miol>d@ V!qR K98zZklܿ_Kv5I;bRNnjF0ͮU fq"w}-HNJu 3cn%+g"㏖^Щ~uQM+v;(oNDy᱈9'V: /VL :}/½`'>L: 1U GA# QzZH,5ĔJqO%ӇTmF?DsoVwc=)9_Sx͖I>r^scBgr"݂go-؝:Px61|7AD5ݠtg!UA)زtA$}c q?3.seHKw`E8$ٚ=;*ZoI@_1r1qgV+]lf2M3y[b֌}hqLK.2FʄBT[8h0r7 j2mݏOn !X#jq4*0 >]u3~7rx'-Fz cC:pm; 'Dt"Nt撦Q3diĜRTEX,mKH]*vdw<2'E'||j4tK=Eѳ!**9l-JU!mgbAmR$.sjpeK~h´fy:|ꌢW`i:w[Coq굉 sw@d)a,$E ՜~7=2[<ʞX?HWFU*wL .[vAB`k$Aj+kY~e4vA0 (~a >v%kl 썮5!m%A P8f#Im&jI(A/+F(aY\JWmvf+:.Y,@=|Y4)E>ams\wfĂARGvwYSkޕFu8msJDπ連P,Cדfb?rTgǵV*h[1\+'qy77Oȃ6ShlO,H5㣧L%ƟTq"ntbFBzJ6rA `2O=͚ _CۈpRd{uӊ]X2\Cg 9}RbCؚL nJ%` SHm0=Ph_E%Y﭂(E)$(ӪGc [UP 8#nq D)u`B*viIbK+z ^=â2&{/mJge|htvgZ9\bq(>͚2(GJ'|M Q) ds 5HK+ S6H)3'SSZ2A?~M>BUVM3tC/5rE٫z N%@RyW շ0K_慻#k@%'t'ZNX_C됏;Ak·Pu2w RS {'= L]67&|J,Z&0\JYbnWlJ2@&yc?UBw sJy=Hɣ&P+1akΥDA|y1.g*@-WG 0Bi\Yo-er چ[wȉGcD܁T'v I;쭚%]n¤ 2 cSV#@Y۴k'+#w׎uF1[/ WxzXz]S 9קc+s輯 VnYsQ5~ BdZ]_)I)Xa! Ӥ0 oqdc*)*zOp{9R RA FW{3#Tg-1~>2 q lP&8(5+ WlOVHK;'a54T/M κhن4GpY }c_qEM.kSA4hFw=;;yAp숬{N3VA2g0ƚ鎆N^k8{t%#}eˎDcA_tZ/ؽia9z8qaE2 ۫Il "^Mq^epw˔#77Hgx B${hDrCOM>-@!C=,D;d3} @݌w,'ʈ{ZCqVشq^G]fH%YyN8LSK(Im+j4OG8Qf,ڶ?@bZZdX[9@ :GTά btn`[$Nr9ԫYG\&wQ+vNNX&b& aߩf"'Jm^i]h]T;H#zX49gp͕u KGE!pk )("9O1+ ;L>w;CBkP;+w\N¢_@1a2&"0k#'h[ mf1@V Ã[hjq!>̿bjǟzr,b|ɢy#R$Zb˝;GUe~ 73t0`k9) `"4nhi3IE6?*{]|VlB niKyhMslF/[jՂ^rmtU|QeK\zi09PQJ1"$n㸽* l5 7)ޘHK%#G=y8R\Ed2&' +Auĸ"PؔYz ne-})ޕLKz^;ΥG7Z:9j'gMz0wiWc> NcISdmМ60"y=`slƉ`<}ӑ+8>0qF'W -VZ)k%}w~җ˄q /՜i.SM,ˆ~J-| R?C'}TCd=s%?U5w;`{UqȆed hˌְD=~!Uk#PP3`(cx}WA} ytqnAP! B'R}=q5n h6J3G_JXw-SAցC~*wnb ma#k7Q dYg?3\Q!\odG܃'D)X 2й''wjVIlg>̚ xC<&K5/DbҞcb ̠PW6/{V[ZnY,on5V3~\hE ^/㉾5 j8q&WO8&G聮<@gf2vb¸q?#hY>#R)DE=+0^*&Ҷ?Qȩ7oNv T+R:. lO~U],Ȑ>Ho\cu<# >rM*\z=!2W<%>HϤpsBz0d|O.g2tfB{PfgX2Ȝ%!c+B5.U:진L];,f//~ q]?Qyhg٥ 4!/HT4ẇPM'M$k#Q@DR-VM5 ;6sfy$E3HrÃO6t$fTE'fzlY9ZuU^T} 7Ǝ"G- ;LSw/TǦ UKF +ڶHע+bxA]PUgGHzg5ɷ ƾیw?)Yݿ!F o7˽S*gA}FM'1n ! q qn "8^D m'h_+7ː;5j8I|1/#nkM @#b 5] ў9+f=ɞNB VPQ"?,7 &{ tlxy̡rzS092;N.'B5rnļQC.>KGtJLZP9VD9qgCIzaOԻ**[DO_UsHqn 4dtse+xj>ij xpnn:, )Ơ 4 tW:,"j.w6Hm N h"`PƮc6crJD7/kA 4 4(l3: 0vʃO$*ɳa3rHd4?Rg>BqC0e`x#M^m6 J:"L@kUϧE4SM .q]Z,LV8 &FQK6) JZ*TKLLP-vzEcVD5YVGRP^mK`R\HjOSa74Wq4HvsA#^` !mGڅ֫ɽ01Sf#ێ8dG$EOs`e:a_@[ FIXO-C\OSwO֗d_ fG un[oYU 憄GB༶Au0$!lRڑ ^4׆f!0IG<ETTNvGt(iŤDϣ#>A/֦:PNs,nU#̙c5鬞Y,?\F2-j],ڸ68Iȭ nb%lE Vm_z)t'R7PoX Fsj/t;0kGYK/+=f,OZ^\rL0mw[".qnM-}8:ҕ e;^.7m 6%H+y2iw-^r$OWA­u2ҵ23^ee'9;W([ر,4sKҜiN.jg.+VwA&rGy[ 萍AݭE1T#d±f6SCL$649j,cN;/J7reֽ4xsgfᛚWnLL`3{bb q} 3T%wy/C0ie WG 0XtnQdקҭd).-Z6^CtZ} کaq-r@ 22B6 !%p Ȕž=. L:z^6r)@&Bwb>_d!6./LZr*7|]0 Fecw(]%Pb$pkdկ!0ıG\&ϖ&* [x osᒿrg{/)+8GWJ`[ ~p\w~ "G^\"Q3&41sbʪ+š<৽*@dlkQ?6sMO?aeN*cߠ[t 56WߢM*sqh߶)<{jV]l;!eYb.q]mjrd 9h{Uc0D 2}cה[Rhi,(PoL7'3Η ՔɷeE&h[*u ڟjkc} D4I,v᩺}z g͚}:|G, -g .% BneB0m4W*,m+m8~$ŀ2VRoP*6JH[G)Oo_򍟗xk7;Saؚͮe(_B/}c $mJCtL܎KaS_RFH}K_i4qKAƹr1jD̦gppy5f&u,Q?~=d ^1o&GtθiLSlt#z,{Oet_0O`V5 5~P?,/ ;oʡSȎv*uqp<̴rH^zuMX5ĥ>-rN+ ?Sf-^ FɮKNd;)F <:7B5 iI3܏M;.gFsik:6eqJ}IZw6~z.BUY8(a94ljI,(x%dt/\[!(!˼xUˑ*XY1CHcgVY ^-k<#c>ڒ0npY!$b).^H'K. p`fi|ִMV2u|P᫣n4;{BAvv3-e 1 ej3$^3~QV&A˄?+?uTj {Zt;Z";;{Œ*EԿE.%;?SsVܶL#ɖQZVslKj p!)K_s(7!4>}ȝY߂ b]J=Ĵ ӔNxL#:=593a4NB9PFNvt4ZB}Ȧ2/Jzh}6\0Sd^g|-*G8?0-(VY0`4P0)Υ9C3$푑S10S|m3Is;[KskP ¾]hZfj2̈CAƎ(蕁-'a$!y}o;6C#T*:L"Sˬo(&xpչzT eD5ػ[;;A E'E'DF9e6C|=y{.T,4'E oK=)|^ mJnr.`ijG磮_kiYW̋ !z՘$MMmʳ$7.fD+O`(:zD fΰc^Opmzkz۴kt2oY6Y `VuhK`S ()#6u|~cVFw+qJMpJ a|pM~|u Qݕus)ZY0:+ZJ9#X/ gr$j3t|܂1##i*&F/)qԤMxЁ0D|Q/"9iNrl 7þKQcE| *m@|DGF[Vc=g"#SйZ&sCi"0g Hf]\W2+YeMiq Ztzl bI;G!f|6!˅Act`0!cDv$Ԛ'}@ՙQQTW4C3C8DB`(ӟ 7j+Ò{XAPi,0݊P:>\k~v@3 X}9f9zJ⿁AEO0es}ܓ)Tߚvmfc~ 'H.G?Quྵv+NZn^hNe}7C?o%@,ܼ hyqHXKJ4av?\)! J |$>o@D m$g'X17ek=x{*ºF3Vmפ?(K3PbU".@+Cg#1TܖSmq0b77W!?rrie۟gX?Q26Uh`&1S/W7kX TG衟&ѝ`ZP\IxBSx+VVd?s,LKA-7%ɢH- ?A{I$;B V3'˽^Jښs̝n ىңT ekl„0c Yԩ&? ϏzyݍXp'/5N=u+g/MKRYXtyOsTm &z>Oaә+Cayxas#e;f*dH4z`1!D*VW~HxoM-wH [Z t6YMaAT ʳvϘF2E2ޯB7{\\ H44QqQN224wz 4ٱ># Vr>ёZՀX`l؋$D-3L %,drBhm=2)mD̰,1:~ES{eg Dp8HY"Vݭ;dW .J.ʚTPiq{^`R:N~7M4bWѻ"˅ HSZʆ^m"&؊<(Z)2/sb4R ʋJl6Quϴu?X[ϟd ӎUIQpA^ Bpl, }k$=C > ѳ@lf !v(m!3X!\Aɧ/ ^1y"앱O/0p]X򯻛Akw% ,"tZ}W7ݫ 0 ƟGmI.P'O5 1K:¼.U#^}J3$ah@.x,be= >f.bS'p>t qZ=`Υ'#A J(`P*d$ Ov];@B|RӐO;x[Nӄِқ0й`c,Hn]IOqm՘ϣK5}LyhLF/RNuQ9~`4ypD|6pc`=۱G 7/" Du" Ew jX4wI|:4vp%\x XJFO-ʀLq~ S兺8l[H5  p0G>f Rʵ09UW%]"_z9#/Z}0 I}XhZk`(~lL ب?@ro IAIHjeCoA2!,oѦ}eHwpN}EũvTy/X\gi%nQlYx7z\ͅ9*l?تN;CaErE{u-8~lR pQ"$\OjrHI?2G;rjvMg qD aA{Y7S"] 93(G93p u&E1ԅ"=Z~}!%K(G^ sT @=6Y<4 &ow3nYL]P5.T8-*}cOf)52%ҭ8WnճKj9AixeVs0oJy*c䦄J#Ο~ԡ)bN?[p*Y_O.W9= @O$.\oNR.J%B#Ώ(vruc]Їn4eh.:5ܴrucVgq[No"e5.r QşKkNt\ajY7Ű#YDQȋA\ Z$>D#=e@Fk`8H!Ye2]][pIhya!ms&=~+Xu[^ஏ,wxj % PHR?+6>"ܯnJr4J1J36bve%FᨃРmf.2S#MrSƑmjM'v`xkq{'ג=TŜU͹ g7n" :*'?QGgSm|,v^|JNM--h,cʞz9! .6P z @\܎J\3_4BN5CU#;~$uH{q34*^z.6 OGSƄbmKx܋m^A0vk* k,kG(9C3׻#ݳ#p͆1X }+71\zSUI` T^[Z7s}4SyHcsd8X~;ژ/eHXW`rdۂ}]&?6ҽ2,Mz̯`:hʙhVCԮ}NJ)#3ظ s-E4 pß(|>|/LE_~H%^;X$Ww3|[]/>A^-R/}ٟ^`|## S.Z\B*aX肹w ӷ9FJ4r}9{p7W0`^ k*u\`z,yjUpn[&uqحx#:QL^BkOYz?L}~&s{,h_Jiʰ p D|r}&oZLPPpF_=~+4LUt`:Fta}RYk;r|U-ui9] t@Kg&*J TD;= fk V\hZE5(%~_vPqA:TanM**py}'KRtz|Cl3P0#if["˙aW ~Nvݏ=!&;y9n`QwB3vΎs ڿ6 uC;? +Ed0m26ܼ>|&*@Ptu5jW֗`c%w:8u>r pZV|d/${2H )a; 0T,Cp"vI@Nʥ0֘t1ל%5$dxtq[^[;QʑQ 1>qe%M Ͷ(V3N>pE^2/ B9I[pUqw:iͤ+l jr}}C?VBT1IE 62;w\CΫPCvp ؃Ply/=o9_u*hk@(M%tfsv[|JXIrJpaB&)Fe%j9XZ<zM @J,E:XPma]6ós@JÉH`<VV] W|ҝo6mu{G| *F'VF#߄򎹙QCԯ9I{ \TOE$"Zz-4zdIևu\-*ROn6x4$y,%G[n (Mؒ7ŅGQ)VAR< 05e2i`VsW^E&WG(% Iݺ>SvFKf8FV̩Sx5 :v_0З (zsXDp%O|߈ci[J1_:K%5ȃNvn_z;n^Y>YšɲJ,$n/=l+oQ(^fRɠȑuUlyL4@< 7`PI7JSy:YYS-}lǽ~4D|س+R@rM4l5uL8JD3cu/?ֶ+e\S|PM7y՞Mp3,M)ioVwJ14jJ! tΉ19LF;E.w>5b (8% Ԡ<.oHHj6[ 0Wi Gۚ (Z̮s04S+}OղQ?9y)Mu7m&!;n<#㧑b{ Sy.exvLy-knė" %YɍȪ=i *#IAdDJ g )*qcERCdU V5+:.e:ւnmL(_;qdxE߮LAa0uZIf%Mdei œ>[$i;pN{H6P#> 043,\06vמXHVkfa0ņv[oxzj*LwK ^_m٦, UZ=QEo$--f=lt{nnҡkV߂(|$"bK,-l2x_J9L:a nS2B* ]O؉=Kz2WJt%.5 сR.(<~w嚎9h Z&^y!*N2٠j =[6C4 ^IVo|J7bվ޺)TbRѿ1#cZq,2TbKwC`OjPk96@lTRbРzκ֔qQ2ΦϿaF!}Dy$4O^]-ʯ$: !1}P3{\®g!rr'SY5p Uo!oe m.+WQi|q!j0 =Q)Y)Ȣد 7#y`:Tۭ(`Oᗞ8e? ^WcsZШ )2VedV t,ez.3|i&hVVFrr?By6wӇ2x{B{?OErl݀(=߭0[@XjUYfnQ=qگ?ҩԴkile2bBWvKJP^ߵ~x[=7Ӛ|V}NʧoIrMT'},8a/B=,._Bkۇ!Mv+Ȅv|¨2Q˱sMsjjc ,jn(΋o$JKq'%FoRB/+!ϩ(s)5sK$;c@z:-i8[{ShQV~?[?5tWpw]BQZV k  K=&iqHcQ;v >1f?8P4#}/'D.~'[t+NH(upY佣IH`RUn!X~P6!1P"\f98JXda4ZԽq6ui @:-rEDCo׈n5>=[R/Rɓz!H\n}^^Eq>E6ԵWyi]3"̯Iy~Kڡߔ]]s,4 }ҙmrulj,^NŧxYA~4;f $,=*:: +G`'W&aIع%As^hq8?ao7`n/;>sz-(R&2)OK͆θ͜vN&IqtknEt$g;-cf5? -k} Wr o3yp͌xcD6"3Sc^ MCd6m4Ŏ6,ѨS9muuޗ)+ֲ- ;8La?[^箼uEDI_bE]K>v>78)Zc{L <@G~c]Pxu 52]j$S\[sf+Vr;'Vr7L4⡭>C!ZtH G2"m^AR$w,*t`$_R0E:a-aQ`/S;M+4]gL03G+.W,̿^ a,c#QzIIU4D ˠ =UœˉqV~+c_@Lڴix86g{3$6m!'պ~h-@|a8&mTczqr!gW^;sd )K%mqt\z_,E1SL_ry7]U{XUVW"BIN %c_,/ ]ZG7),20s۱s<9 '6bP9%NJ0#j?jC7!u'%-9 ~m W*OM"w)֌iʀ/.{V _'}GBrhL&-<-߸rQ-Ñ%z41H.U?.`*)"b9v;w1cVKkm)v6H,2hX4R';t(*mi7f\` R!rn5׮GqV8ESٲlJQGF_ԃ I ժV$@VFtG wd;q ûׄ,i|&-gI94^ *xwj:[+l @9 Ҡ+ɯp CL݀w|ĕQEԄRw^č|#`O\.uA<c^ ˁtq" _~#V|Z'=*P't[ 't6hǺ gW CD{I[ӄ̾n/l\?81cA jp4Ph 9n߀ An(~Vͷ{=QأT=V_P $zڦ5tW7;5.\qůBwjujwWrM>E93/[O66u©ZR/qFPw"*¦-!DI>Ceyvф .0F $+a9# lҋq{H4NUF,F4|r`T$m(TbxJ-Jytjm{\yėvH s}[eD8my9 d]6zi e\JłZoxrh&.TѳY2Sf>g温 YEώə](G Eh}SA 9(,6d@@$o..UėN5[8XGgtk=E!T&:?2X`I6~FB\ވM?,됎.G~O-Y?"dm/ o^Ĺsi=RB4SZ^ 5Kw] [($ Yj7|bîՉ[1.qDkc3P;v>t7'+W{`DP`m#ԦP`9SYbp#7Q -&X<j9Vd4_\e ]BW>rlIFεx2r} G9w%LsI-y # 9m.eK9tzAb6g1vMlSɖ&fj^2eoްaȻ鹁7,\UH 5s%3} _Dϩ q^Ʊaf6z*g.zbUi>ෝ91gyǢw|CлZ&z7N&ẻKfV r^QơLvХNJk'I1XAM`/̕рRTNz+aet ZM G1q枌mjP!2-Qpdt`~ sTË(qm4$߮ޑǪ(ZwPTe+nԃMq TqoXGbg۟%Ƭ\>3NS'+CZ[:>۔ ْBl0T6>G[fΥ3DݳJP0wJrJXziXpI»Cŭ"(@!xQʕ= eSҦ`9ZޭsxCQ`/Cm(E>¡":߹4^wL_eB2҄\!6s,T%d-,4k]h}!^$S3+ٝ|jzRq,z+Mp7!Ɵ#]N}8ʾ2n0݇&nS?S7)l0@K}0]|,_J\CDF&!qG uuX 1;r6}# ݱmLr+;gk\1HY4/6o;077?6ԍ红3چl2f=b]flѼl"O$V6>d-<)@a Se ևZή؂rD6ۜdžߚc]l i2Ry3`kGJ@bPHժQfU@$:Īv>K6]׏I/6*b'p 8{AߤA:b2<gXb34c=Ļ@E^e>1dHt3)JUkjzvѲpFI:]NbVQ? .zVw^#;ۢ#d̥FphRsm7I Z^ڃ"tt7qU']Jl= Q*+y_Tɶ|(I~\ "VVbǀ읖ADB.@a`re|j溧d A<(t/4,㸑pVtCdx;v+م?S+NɏͲsQtړPE&XIvf2nY '!0?}}1:JOޏ(/`͘,HmwuUC'L;`#VcMN@6'fJs`:  +lEM|e9Њ :(mH?ϴqq-b 79#@qOͿ .Wوpҗ whR1\j}Joo/,G„yF["<|eSk?_Hwg+ԿI)G1f‡\R *\SS+/VغK"oFnA$a/ qR hjQփ6vbXp X pce/qE’I݄>(U5q2UbJAm: WOhAD`TP pSz⥮Xg-ӓJ1Af控Wm3wC'm QCNH j{BH8*0D@h$L.2& wS4wENYoQJAkFt3be0VQ$j5rmi2I!83AUܡޏYa~\.3oXbxr Z'AD 5"=?/T$9i„Wɧ8K*4/$fOō1?KH:dN6M`=+~ H%*N !j|ct%##u,LXD{ҟLO.GmV[tEOw&1up E""=-6;pVV^;A O׍ҺLWbЕy%|yJ6b!L<'bbw`bAl:*~}Ǵ &ܽ4QT<ݍSu_+TÑsrr), k\oO`lk¢ʌT 4@~\*&.t6T0ߘ(y^]'ѹI]34lԤ>LݚF3M(߀nˡr=Ӳ?Xjކu8o7au-6p< g hJZ)CӉ);oGȷxᇍ6J#P|(|v(Փ3 SW lֱt/2'iAR f=R4B.jOӺ& "e QФfb*"׾ZqW&`INM*k[wal$GggFXY?!=uY촏B<]NF9û :?x+bCz#a'?@ Rw{k+ω/O}b6x@Hrv&Z:lM1π5Mzˏ_G4mE\{~~]9c~ c*Nܭp} ɒ()H SY1 Y{e"kAe# Nө>UQ˲GȒ(.t 1-%ZulEօ]EN魈c&ة(ھ۫n\8: Rg{W ~syrz#=X kL%/XD"y& _yD kjDmSc-%Cuh(ڐY m2#aR'h|q !$f{k(diԨsq}X;6+ ;h/s"N_8VѠG4l&гZK8[*s?Ntt,bq#,c.H^rh7̊W䯢'E oUAҭW0 CG؂D < .=\)IFa 8=r}]oۋ*'`\LffnfuFz̈́0_k8SW;=9`ƍȵbڕ_pHv'1. @hQmfe‘1"v?Hl#AF_\/r)T|w Y-ͼP> =t Kܒ?g@tI:`T)5"'zNJd:! #@o|fLy`"dp:8,"ccEv2;@d`܊\(@8\zi_2^MYM w2T TPQ|F I8cg꿺~ȫ輔g/<>mv}t=xBt練H`MyIZ4!Aa.Ζ_0|WR`U[ ¡L  qO3U_\7LƟDŴD"8m⦻][놙v(/ ĥi\ bw6+GvBxLRm+⬣ b|g&iٝ65:afڣFO'_o]6DW[ Ɓ; {†Tw:Rɥ\G< $ng:Y:zѢlKZISms^MdWqZdҊw'\Q e"! KʢH VFqQ36faG}w_TwƓaD|)BHĹ9Oٸ|{A*2oZ2M$ I}iKPw zaK#9{N'K$T͓<6hKZ=`nJsq{Ԑ䝮$A-qP O &r=GB&$O;_x,/i~ :{oUl_K~]{ Ҙp&+Xc &y<Y_A=iyeb>G[ͦ3dErk#ծ`e+m}_7gI72ߒUKcV8AO3SVA[z]sZhȭEW.6-ЭHj5r&3}I=wr e@OWxT—VyS2{[aj?C)}0K9~mGrɠ;Z8^ Tqft/ΘpR>w=H7sS,jk:_~KK7Jsɂ,[\xQ<'/u*hx*{sI;mqb> weޚ/9)O/{9\5F2+N_S,_d2=V7l n|"W 5uNv}/zKؘ̕ao4QJ4՗ߔ#+T7$aҾ&=M!Б2NrHʣv.]i54{R&ޜԶ{7 aӤeegBa!Dx-'b?f<̓ hΒJmViٱɋљ-t%O[Ɇ42(uPs\0㔮Rt2pl쳻|Ip8=*%0)'z 74Y,Px"v|@i5QepzN/FHgZSZa,LAٚN%?uɠR/WhMB9 b zx 3~'{7-DlL(bUpw§x~$q𵑗Y6ކUg'rٙjANԎv{ܰļtOy,$K@HP!ܰ?tsz}3q<3 39\j-TG\F *d:,Wu}ℏ|h1̈́'1h S3|'|wUy Ye8 b[/=Xt޻8R6l9Q/wޙ#mnawŠN&kCr={p_ f4ԃ an(6;SO{dX@轗z-}uC3XQXjh_O ]RU+ (g%u?Չ9dwԛ< D&G8Lfv fJAeywbddiS7JHUȋ= ׈Wihys*:Y#&r7"+5}T7Be>'ireĎ%N(O b!^_Nr ̼`J ٧Ğ 'NHKigU`ka(O[QJ0ޭcC^-r'hVTr93FQuxxL>Ȧ0,*[T[1,bu[s,-ܛo0`6n*#>/k>ڙKcS߭e$̖}G/%{c}OxSc1Ef KއIʣ+]c9V8ݵ$ ł Ǧ{իp]hNQ}6[!~Ԏv6=BCJefLpAJҁn!bzpC0&Ỵ#Wo`wYvRC G"(X³B"Dc84A6I: ۯN/=.A)3C^]UKMI0;A2KNJY^1Z׎{0=֣H8ahlP  .ga cVT֧VX8,5?^hH1,!+[[L+ȝDUjTw~dZ:U_Ab?9.1:+K;2A|MJ qT$MڄEds{VM[CAWRoʉV} y#HG6j?ufIPS#ko[EGSjޘY߯[Jk%RC/$ccJ4sMzKFY.ĽȸXBG\}bzAT3&(/_|d18.h+%e \%.츘!@~TJzX׺bJڴ9`*yy#Zz3T3lC@! [źNv~z2'C^ڨq~ D,"=0B+凮Da6%1hVN؝w {zp&\4g m't&pc}%8`?Ty/G#HZqk 4^٤m%bg*iɁ"!?%"owyu 9]|{8&儬"6ȫbZ0S+10fGHa07V.^MGib%DvpwV5b w) $}Va*}m7wP x׈)[p>6[f@B 倨HHovM$ bCy|Z{3YU38MV>u+7A6ܙP铔brIz2w'Ng]k}daKa8Lu ~`{־0ꮹw#ZdMhg1&_ RƜ1(hѷaX{xxUN)zF[!p0de\؃uV={W]X'Ӟs3΢*dJ@P.1/BǠ< }1[{2Fps(^/wY 1CA2B蛚Zx;AZpO.x]#z#Õp+OQu+6r\Qڼ6ͱ֡K1O 3OIغo*MoҠɖAU;j5=W¼8dmY M{@ߵ3.T%k5_ʇ 8_c pǙ ܦ \#E1UԵ8dG=X7Y< mMĜn ĨaK1tSD_<=>'Ձs}=/l/ 퓂 ZΉ@BŶ9 Y> 8E3hy79p'w4#Z|GL6GNS展3N+ǯ]ƪf% :Sz@z.e!Fn@y;iKewrU3TjaHX(H ղK~wƉkaq U ,Dfz}$`)O*6|72^wD=={ge/O*$PGIc<( ?ƻޫ&(.tϐҿsIcZXF O <6iDҜl=M * )pḲoacZXv3034 ŬZH6QyTƹ͖3HwܞLrn6jFwy^emg m/zVg-a(6 (2LkNTCx;("`n1nf%HTfqXA_mz]XG&лYhV|,Wz$muɬ^sd=,WDPQ$mmy}*Yo@)Nļ{'^A@njl4#)qf P濚.pG22B*22;,lĔޫ{)B S%LUYnZ0򀭞%qսg!z .{ G"G)3d\Y>uJM:!P>>/2Zԕb GQ J 9Fq xRon'j.~07:h u3<747I?}e7]z@/3)U~FBSu |=N2ÛX4,ziInU|iHh ;8N @at:+:ݻ.q(!ѾT ?vn" sO-?C.dK̲SKd`C*<_idT8a%}\QigCL: tLL Bp {"k񊠶~i9TOh!`,Pn5\S FUJbK^8X%0  ͒2n7Wڂ'iF& j1c+8VW|D9+/igW_/k2fX;J)"rU1v:EZ.f4]rs" ޜ3Qv7IXt4K_i+8Ί]&In g?'BP_Í,_.2\5x md3΅8Lt&x{Mv1  2, aF>oCjAlo-4譨j 8߄ #jwK m/0mnkC(>;s&D8yK{ʩ2!z[XM3̜ P?ᇺa^E,%20SF}Z+'UT xKeY3Z|obL"<6"I|_mL'7k!}T)+dX=e2Hz6^ % u_hqcDJ,(c$@o4*4n,pj"@oFB@pu,?2NO+q/ ?7hKױ-AZ/HXG3w{PEzHm7B*\(xHԝ݌__đ9}Q> ss=M+e h]#-7nAr\eNHƵRTkX.u +Iz\G;j qԨ9p=WH fDw, kiot&Y2>W,<[]`d<nwQNB~l+C+|,ɞ~.|h]vBL֟$_{;ǁCH(Iau푈0UAVY =Dp9D9ðq3)3/Zy.¾,SߦhJ󸘍qM127Hw&$s>QG-c&%P7=듻suXryffFʉ{45S_͸4Hr?9paAy%op0 l#)M*瞏u*8lqie l ֓7L .izO &W%& tվf#m gj3jjW!y?x{QR۶y疖mv(ʫٷUe 5@i% B7A7,0bxc["3HQD2awՆj?ߌ9+̶L?M"onb#JM#3A  NM[iO:3ё(WvW &Xvȹ!IZa\띙A(2Sb՛jpKJ=#sɲG7?GV% .ѴBYcqe|22q_z*e](iJ`J$tھN|Qa{[#)B߇SABݲG)5w+>N^Jh4 ( zJ21,i57'뀝L?`k1/$ImTG-E|(n3p9T[c-\ !])nWxɘ `L5ހ_.HZq{YgO$9 ?S[ٷ;_ ^Iņ^O$K qmY!w0VNI2*YLvYy *ngMܵ"a[e?j]A!}ͥĀOyd{Du GseT$>1ۜ`_-RLB:v EYVo `#ivg}UeNO]ΉL.λvNc <3/#!~[PɭJJK-WiS E N03'|80"GxGZ@Q>Ns1[$ ȱT0w-:(TtrK|˫BR)YpS0 :Ą ~ߓDd;"G[YWm.RÎddl 0OoQ{U^>-;[s[MdV:mR 2˜8gDM!0yk Ҝ!f,կnJz@o Q_dM}'Lހ:q~HTa;C2pX L fL)۾L$Z3 KH@@M~ӝ8T0GPjp-#` ɀ?[Xfej71_I(漖@e!]yn[f>pH%~P9#w(*=)lV{ILлaq'RZ|NFN܄k|M&~PbKT"L,bj:?` '2|Bc)*WA8cvq65nمK:O&8he0h1ؽ,s_ԄreSTD"YG`'s"zt[8'e, Yc'^%J zaCGL.(oe Hv.TKvCl .i bF|j"'v՞?N$)`gl^"^sLmY 2ď{w9\}Yrul&~MưG&`=9Kp峂$Jyjago<.Ghb$mkO#aBGu~NiU!3^ lQwN>vTGԽ/)ݏ $U. A"!RqcW Z"3bnpQ8yx̵i@uBI݇0!X^r[}HX~髸{(2Qp,.C +;:OEp=ZX:.+nT/ϏGq00l^9B0$"%).~)TFg#_"dR|knq+J`nKzic5SKQϱ*ͱ0_3C91\}MSQſ>tEAJ88"KG֩`nH7:Qb$tqWa2Yԯ +j"yoXiUY]ʀfKZ۴X'T+7SmwuigTfdbr!_۱KU|l"5yjis6y?iV!R;yխ zfۗalŅꌶdX UI6{>:Cn9&vJ!$Z^v,#U1zAhww\iƳ9 CŕܶQaGHrwY4.U\ګGٛbVΛh5ZL̢T>;ٵmf#2S5{턞 `+ cQ\/rB n/*Ipz rC Ad)k,>B ޼S(F^) QKA ,`&\tlO55Q5bUTZF_ AN[L@6mɕxny?]ђ{(I'_&Ry?pQysT%n]jILH"fЧejF=򃋎J:7l' ca~βz&n,K2k6@[ݟRqr׽kF/L)ep?T%=RC~ }2 )Rϯ}*͏0*Twq^֋\u3Mվo;Ĥuw"IdK=j FOCT/7G\E9y/ e9C t_?ލ}7y~'>\b{]pNjLJzz\_!_~({nPB`oǗs؛Q]]Ì3<1oBBŴIԄQB6#Q:h"FD%?h k:X0&{|WaGY/]dĐSSa?#:[0`AKg4kJϒ{Ƌַ~j7COES/vrLuέ bXxJsc=a18ߞ{j0@O54}[%ƴn%\0,I^AgDI@q'EѕR Ŋ`85- Ku;Reۗ9З~h]C#˭;TUsn9$vdaB.Hݜ| D#*_+9鏻)#bi'r{O-2)1Ϡ> Qu|#29RP#XsqB`$Mnq?z޿~jq6|VXȆ 3 ~D[ʝ JW ng4 #/.EJ+ 毲ʌA {7-m?qtv`q2Hɦ8w8b ɭ;"-?9ِR@jWHo Hvsk_N$/\YF-8C+N nkE:@ sɥA=*uH6" .o':.̅]279*qTp>h WP29EIeTs퀐Toh;(T1p*[a=o̦&TN^qf{RMBtb{XB^w.:1- %Bj00MI`x0Ю <@;--2r MOduzt4%RՒ+'=*83av6:Ad)nv"[wAlٻ57/s.WĿYV]]2qcOC

    4(KW/h1]<'B_\4qg?rRܧm_ X󍑌/dy}[O#V iekTŃMGƎOT}zO>E]!HDtLXt[JI4rj./!Ѻ(sG5^(>Awb虿W迥ޯtv[vj6:^b;@RY{Zc7 q--3)VyRhUg1rO9[2ZtWCL oShjG )T02P$H8 #3Q">^k)"xV^Y5X @&0{q+ \cJI :i<7>z]BO 8 VVmW_)STmߞ6h8`ku~0}+5l X*Tʁ)o}KW26֥n3xwqlTDO!@n5Roj`EpZ V@ sgѺHOݒy򜞯4D˨B5WJ}FZ> B!6׌n^%xE he!ys/ xZxFT}|er8|SaCnZ)9`+4$&cxx=Ka–D[ _<15ekSM+6 ,xʆ[i#zld׳kAЃ 5S~XzzrT=o+Yl^nQ)T+GB%@ӭ6Z>[9>=sx%XG@v kӭ?Q]J=%Viү*Jm>quD4#WbXi,VCduv)P[ h J}Cn Dž_ZA@=`xrq 3;3 V îk6άϖL:x$t~r/N g+[w}Ymn @uCS&Nw˪єV3>w_r\\J0T鬰:TQx!] :.y?ȣF!o򰿯j5E^= Q=yšDCCA=1SߺX9tb0 kh!W]=Y,ZGTa[<ͽ%(*b)(>5O11hYqJFoK[^8wͭI6"q+E mCkC^ұ_O3 wBT TWTĆ11/BnCIǬTެ >v;=kW}:C vYK| SY?kIE-vgra\XW!mo 0V{v~lhK21(UTG[Љ3)91vY@Ɓӯa8f;]3&hkBb*,'L92d"šBk.=Vy3i{EQZGd["$#G-`Rn%͗y@s/WDrW~ >Â~<+i{$ʬ؋156hd/!7-lv$0-\r/jKwԦNe^l=p]FC6bLt*}G]߂BWKNaEk &`y&(V_lK\(W}ڐIǩ垴˘͂- < ƴh]Lnoo-^ j91q'nC/zr؜ьxǸrKsZ= Ju@DatLz .ĸ, ZQL_l _sdqnn]a5,.#ѱwɁI20Jm\Mh'lvf9|xx"ztRD;e[jZ|"Dc4I{ю7L'~1WīPzoy/666-]&Ri 1G.cNf>0|re1|WN|S<8c-GJ'14Wt4,l|#r7ǂ2%ڈ$OhntLiҔ߄8eTrެy&!au(s2(5۟,L)MbӋ}Vpa9!%Y$.ɭ}zLlnw3e#b҈]53DxrOl`mKeZQ2+{OCJOpە ֻ_s-WUNf) )VφB2B GB0x}} mAEP" Ν|w-P(Tc Mg^cA\)BlRcP7BPm [UA@hY&yfkU4J]u{qR T>rn,TPȍ;.&M ˂RI7(Bw J.J$*~ /.]Y,Gǣ?L(E8N:pcttZ~=)w;,j>;'  bŽnlOQ eX#aCDv Q҄c3-3jHB+ `LKp5|[D&Z}>"rWeԐl~[ 0D7lwy_CFd`&w38ΌL% hl͏gK6BHyKW?BetfΡ Ӗ&9A6k7vO'#'٥!)ڠ\\qKj.\FKIhSVKǺ'SY2^ggK Nv6tsJ.p!V;Ntǯhn9(Rr^EE|!Yi6)A21b邽DRy ,/I|[kC^϶ۣWW1.uFf?f_0fa77fo9,,krdQNNq:|j#/ jL;e lKz&hu'cDž̽氥Aȯf8 c+FA|L%jleX_SY.[|PwNr#<ѳ]Ԧ vVs=E0YB> `)gc3a $ヵCb6|Uok Y韛OTjG S*,NRCVu?GMW>5a(t5E ĺ-jYo(\6{AeAp _PcnXGg&6fW^_Ŕm|9ۢ?kB"є _>-~Ǥ](U:Ԩr*]3]< ƬKʱrBo_{fƃZgiTΩ2 N|~Uߏyr cPz`ua]o4k)Gѯ܃q#Mg ڨuOc1]U V[`?Z ޞRtT{/r % gܣ5neGVfs&v5<|:fJLԃlՏ,\}c˔|G(&jwWeaI hQcEz+8CQn;&TF{͈6 oѱc9|8+]P\hZ8Uhgju)W;tytak@]tz1S_r:3;Ѥ)$QA6D( f+5SۼjY#Sx5@]FYccOiն SCk{%ݥ^êiDXM0#^\ p{ O,b(c6 4&Sf{ &R^o2Y3*s#ԤD*UI51ӳ6٩$TO\%v *x9ĸ\rC,~"=d ܚU;3dAnPs.mݍrg\U%b#?@$3r@GJ+nӃ8R5EpE!5XǢ: *5ŷ̸<ۖ arZADX pr BL,;p=b[Pr;PU|"!nSYK{ӭ=şoobVgDįb(m: l@Geʃm܃d,)"(GMl};FNx-VѓϢ:a 2n% e3S]Lpu9PMLycK69 WIVCsDQ+ݨ"/]Pk v!|H}h`}Ûrd`}񢀘ӅU}'6F`r:$x(DߓΪcC6wnx"g"~WZ } {I<^~;0 jL~hơGyf#uG18lB枭5+ o$^ i9.DAFM\d]3}:hAЬjwMyp%' StO?DzKD oNwaa} #h>6^xdDiaRbg |׾ uyOݑh$aնZDcP[%/D!TCzd(ͫwh2&> :131*w.W7Yag`|fR-$erYD+( H#;0f K,ǀ:3߃ߨjr$6$wn|emrQ9_@)rMlJCJvLO""> if7cȘ.qO1MX$5CR^Vwd>ŋm=FrUfpdW#l^ >O<%9!KB~}I6wA=;0Bl?*[d9h{hOރ-SO:^bXU`!FH\{ Up!^4%KEErmӡ:,"551ZՆ?wؕC+ϔ;4eft/S>K/Z|iD4NɋR( o.4ņMŽgq][7Ym>~1`,uUyGͩiSi&0#įV :kc}WphO `'wh`I"!2LGc,y>iڻ, D)rI4 [sSlZR"-8X:")"88sTKSTMij+Y0V#ǹ_BluOՐ9(`G ]zeԥ\t L7[H_4=Jxĸ؎R 4`l#XE{ ʆmRcoӬH](}v $ *g=W'_~!&lDlFkS&Lv(%#t.V5tr5݇L %6e2V684L2ia׈rhA.d􈖡pCXz&-XCb+uhԨ ,o>[FYD( QǡgJd{73 KLv1n(GK˂*{`1[E"o 9oB:ZEƛCFHHTkhd?q]u()R5 (c0\8DhD#^P /˓$ !bv{ ekg9jÈ$/*c V8.95q5k0jΊ4 K)RE!8CFcy=\xVL&E))8Ǵ'.XNEDT/ (m⃵O`y8AN;+79#hUc3]H3.@0( R{`\Vrg4ė ]Fҩ-소E<)F1wp?u`Eoee;P*'Q}x*9"ANy9oَgHadkãEkḐVIFk 8w6}?vN3Kl*Aˏ ]#7rgA+ r.3=7hJ*VfCh]ogp;v 8#CPaBEKTDw0831"z 3?FIMnUz@ސD!Im+,X!q53M@LeOg f.àIja] BnЃWB찄e46-Ѽ6 G>"zv$?Ahq.?)#ԚZd=^BN^7EDLפښ&ό|3u$:{*w/=(IΫ!bc#H.!Rۀ q~<1 xѴFNSں,H'd<\=bjlr[w5_EؕCx4V8i^NW^Q,HOBMd2@ӷ@qHёl~oULk1>bǵ}29_; 5XsRW:/^Q ,:&=Pϋg&@o1< ݫVNՇ?;Mh?&(߈>׋NR_cOK{{3=Ⴚh@$`z_G#.՟!nn>-wWh@O&Hxkt] 8yg ܎榍h9}vN5q&%ccKn0r8dz r&HsݬJhKjI8?lL'JLÏ],OY%U@ښaYe=3r3}#UJGCUU}.(WʿM&lWX_=O@=[-{Da߇qsEOtO؃Geg뜡ّN_9$zܳk`EZ{ۅ^BH.OUBpP/ bX=vHEUZp3ZF()x8gő6५o`B0E&X4!$8 dk|ؑLΒ!ef|xH40וΈߟXI^|Ww- nkZfL8sW 2bb8/Pʢ#bfNr-0jFHejf@D`StnpĒ kTcT%-!U7A`CXKhM3I>@oCt>/9MjTc\JFT %!(.V2=nAsife{da5Zj|ǐИ1U~ +6zYpFIs GC;|^sւK$zr c [Z8#rMȥLބ8*}FrOST ʆqXӊ-yp $ӣZoZJ)db+Na>^H4펰ǔq[56BԬ~yyvA\߯x0JVx#8JyO,I<{/i`<"9Nzżj>,L_ L>o?GRSB&Xw- kMWBwl2DLy_s+G\sVݓTJЅ{(B%3/n'@tI)RHj}'ؿ %WJOl*9OF#'_vߠ)g"N] <( V֣ʀ2Defj%,–Ǎn0m(|"Y%.@%nͧFڲײP6@rR\@kn>,i0nZZ^/͓~6 ԅ?4i(ɸvIdpJ}#*Gw51ڔwTۛVi,ywBbZ˰[HH4(İFs7KѬ qZH N_@_ZwJgk+𺺙$eiYXpfTj`փl|y,"CBMF s ԰a Fdvfh6PؗuLq<`E Z g}Hܰ3Mdr,Pۖ%mk}X5w/%z>l0@8҈ 2̊4~iׂΙX~..)UHMJw_e *,ڏÒ5r{p\Ka1DLC6Ak·2̏c!1|Oİ!bܱlePa`X}tFy[jfK.yKg0mJ)m)n5wHNFWi E B:u+>:=]UbHRU;1B|ΝĕClGYCpAUv.<ś~YլT%QC+=?iis__WP0wy#L%kB8k(ZeKY 7pՈ^b0pO[*TUK8?Ltu(_-m$RT]ֲ֡;VkPxBMJⴊɺj '9grG0~)Ň`xӌ'(l=x&8s%,yeU1<فs ^W->i>Y ;tljnƳsv9"E*dw/UqvZC\ͥ<>y@i--y/XO}{|K^hYnv˝BKԂw-m.HZ$Vy2hhjlbPH$ɗqΠfmX1ǜ@}23|qZ m`yj+ !ݏ2^{)e _w[ t^Y\ F~Gf\pKǎd0S  l%eDl@p@赌 bɊJZJ XTtCs漼lS*wc z?I/~.vvaW3'1Q"j$|ةu-]`FUh^ W'EOӷz.;ʫ?jY XOsw,꠵H)UZ2$yG{Cm Cɮ5=Uz˂by|-jIVTz?7?`б]$+_)b4 O9;AХ]b$۝MYh[D;|96+7s Xu58²J`#.yT,g{~SggG#;2o;<)\ڟKA~ꮄ #4 8MuQ&!Sc$@5G&DHimirZQ~aq>)NjE<9ƃd2[POǓ\qN"Vvxci̿udoL7C^:RދizMimGg/%K e׸Y,ľ gij܂.Ck'gTZ^S ?~ t2 }3BΨP~2P).5C~c>{".2'BV_U}py"sΘ.lfKܸכj2hq(tG^,CS6kկyd/b++rjSh)<*BM 6Sh5ly6LOY?M@1˥`אJ@?sU&ۆdmE%|/baA3>lQM/7^ D!;vl x9'ˈ o)!b=/8U&wGL5;sК""P;0g>x,[}@(cg@@_b_] zWB^7Lo u s\ma RƼ(Q|ө55XΓ:녒X:R)bC= DuxYVg󸃳O~IiNzN޽J$Iel"M1e bL [0m0\ u+Hۗ:#y;$z2#':nw-(yW};l |@gF0B:^1d,äbr>?EH}g60$_X{vUvHg}Ӄ@͐SSeb#Ǒ/7{%!5& ɳK2W;8Mǭ/*8Vft ;tWGغ4ݻ <$f,GE$k(fQ)-H(Hڐʫ.qMx +h|,+hpIढc9mg` (]T:vdXB̵P{W)UhX*zњCuu+[5KF3rgݏ6uhrUlu"QȨkw EN<{ *bN2~` GNt A/n#Qd2OU%Kye2+A GsD"~K / 䙩o*!!{Q8o^?._e'H㹪p<2۝>>%puΑLB61S(n!c`\]9ېGLNx2Յ8 .v@h:u/QPJN$\:6Ip>Oo|h8EQ"x-xulL'T^YlF1Qr+!:o#P|V^Cx²\q,4oAU>&8 2׈*ׁұ,3 9}]=5k@ͅ Elpw[mԮbWl8\KxEK%6]~ܣٖCϫ5qO}ȵdfÝJUrZvuޓ% (Xoؗ*[zsv+jVG^67SOjXʛ5Ϣܞ&,H M8,[O,dG$3,4"!Q1H5i[56!ƦG뽝qjhZ m R[*%"$BbOɺ%+ĐŨIv9S@@F]Ĝ+-ph^HJ,7w!xU8o' n5g1@S {*P9|U X63jI Y%pc݆VG:̫sj_`F~cүO Vؠak[wsQX*,u_aQu|$zQmlOO׬uۃ #wg(k'Rv.NjX$R4WA;uxE}MsEjBٱBrˮT3fO#0KwSmf|Ik62{9T!M%> k^y޿n`6:[> pu㎳oH썀U\0 {D]D>crwf!dI|nZc.0!j\/דt8mMZZA@"nlH1'XR(?7 TvK١pPU '( )H84]0:-];19Ic6q Ñ{q\Yw1}Wgk0ꮌ>MZjO.g0ZSgoXm+@g1U| c5YҼS!@Uz+uf~GV'wkвkX9M3ؑ=7_ 6jyg5Ic86q^FMJX{5N?şIF$#"G42kD `Pn.P35!Co$_*u<$L!"dZ1PC<~.E2❼kpm :Kp^T6>H3LnzS귳ӌ@nΛMHZ!#W ~2٩oeJl80̅` :5f9>RxLd}>$Hd>䡯@w}}@f;QCP)'cD yi{)vp!_{F;f'ZThPY8]Y+Tg3 #!؇YZ?m_R޷=BeqqZQMǖt?JP<]CE&Q; nLfp2_h*o2 sOpjll*+Xjy^Wmh%U߮O J~h,AuK;y Ѽ`M.Xcn4GĻMHJ_~$3 ֣h2U/Nɝ6yر\Op.Cd"è1G9e̓9|C˾$&QNG})P{meQ03>"~Z a'98`◬AD쳝;nS }1{넂IrBhRx,m- 8& -L!|d'k` ߾} 9i螕X~ Ǐ-c2M6rJxHnjٛuyr&4Mwl:m{h2|u:99[$Җ4`kG j_+Yņfzyy 5̾sυdhQIStŨ~ess#e6ӑqϿkEKˑQ#d!o Qs OLf-XDjo(m ˇ~Mv~ U'`Ú Ƴ# !4pC! q ڥUx=V.`fvZ H-')) }+(?G׉N8V |CHa;.}:"]ix T `ZFFV@Y[Z ≉!.vB(4qRiP9tN2OB?x^C1v$tpr›2RğeΆ̍8t'on`DN U<3kʘm1%''6h,?Ɖ<3#AdN21ՈtyQ~c`jx ٵbH뉶yNޏXw"7ˌ1呰fwl6YGn8`G/@C3ك]5Ag(yf?t/}%vG(iD3jީSp"K^O"C*[0._dꓔ2:Y;a߷ ZRU΍ t y)֙Cy 1=jbLHZ+AMVc-HHUUf$뢅s 鎪l_\w2vBiOXD; Q7{+1;7隒?5#4g&,0E(u}Oj޾Y#x 4YeFӿ\[y1<>Hn<[=HZg~xz:^24 Caeb__ ,:D~g;|2_J5E[sEm`ؐ'bԆahg J4gO-^@lwAUsm(k?щ gݜA،>2 If:t/H4(deKlhk_p&Ă50=l215}E['57*6EEc_b@6\ e"%f.iߏ⿧a=zI9杬r"h`GPJWn.x?,~Bxx[er^h!h?@3@027V8Ϋx?,7ȋֿ逆"#&~_]&0lFW#BGy3m3uj+زԯhf dZ\of&X2B=`" \k#$,gAlM7s}PƩk dsHerNj4eN'j|n9%Q֧aH]kqr+BY{>W"(Y)={CeiVOݵrݡSU{uz6nkon^ES$v*_I\%wggM̊BeER`nhV3-N,\I[{(>GŅj s \O(n\>a2,[:!xY̪5aQލ54+Nbvmi zC_MoWVڲP3q8o~ѳXbG8Vgh#Qbs*#D)]u O‹ћs$'pϯQ 齶R 'q,ڢV`kNbpp?rB #pX=3!}DY7s>e"o]ش {( vTB. DDh BBq1ήP/UO۠;1d`KnK(Š5L]fAuR*ɦɑ#z^|Jռn=x'{Ag߬IJt9X߹c;Rxq04EJ^!Q3{цl ltv_J̐e >=*V`Ү 'yph+"<9gFocS*0oׯ'Eƞl1YkPw^b5Tͮ{sb-yeL,ʘ&*TdwTG Wij$wCߕ958?dw䧞bӦ5UbDV T:e5uT)}Hkuu}a*[>RI׃xB<"Eєu3ƌ䟑G=~ÁUv]h_]CAEEC2MmaS@d lbbA3B%äU.^,dC1ӗc]3b}QQU6UM (O1E $ν_>P W,E֌xa]L& 5 NJ։i z?- :v^L|8]~J{%]v mU zvTA/K)]$f{Rxsr8/Pu;ܧ \Ԧ!BfzAv*{!(̸CХ;6Y!gn g_v"1J$0 wB?ݱ=6ObVi\XnLVQ[S)ΖT6!d j1TIj ͿJuQQc#5.6d!iy#\uª &T>pbfVFsxD Jsiw}Lp72",iÃ$HP^ 1]L+|o`sM 9z^'MFۺC;Fg| 8uPM3T[g~?/'qOp.^h ek \|ôR KCJ4xVWcf9}!=(W-9 z8U६!%(pz`x#֡L{&Zw2TXF/5r ?|*Q_v-Z+j~<&}J읈[^De> l8vGVc=brX ϸEb,& LUJp" zF{4c::І.e ;E{!B=u늈8DnX *4'qEvDH3Xj̺S/هzumF$XА6|=Z1+ry֍(>82,wKL2ҳ:- J?EDBRQg7"k<ڠs5ۨ9'Nb)n)}R=E1R=1;) n:;eQHty7H!`oSfR!TCDL1< Av7xcn?Gxʒn~}noidߛ' rd 0"۟?8tU;ZxxvGBw`jun۰+<`˷ΑCÊPשcoQK I9̠3s~3 5#=uADu)Z,Zj0&4<@H:oO'kQ>Ǚ(cn |{V0whEgub^<'W]yw-а:69gIJӟ3WWN?)Oؘ2<9Gav: ;hT!%$ o"dh]u2}ꚩ:qїx;Ϙ9e}UFn}4#7 M5/#C'0{>zI,`s[cOѫ۹ ti";0S pչN|i*? ] fs)hA3ZyTݓe3WY|ʭGX@]>|ˎB7U=gwE(^C; 7@U*Y0*-/$r˴C1\ XTv!4$bH2᧺c/iM^+}1}d`4ϳ1UT1`W<u&7- 9կ;Gi NTkBQiYśȡr LHO.ɸ\0IWY,MV#{Y&&ʱ=a^Z8Hx"6S oש0wmQp]|9rJaI?< kH1h@bЪ\6<י9^rg*r >uj.1Ut |F|@4ǘS@s;tZﳅ^4l{W%gteCzLe dcHP:SҠ˱f|6,J0ZUWq/PA+2fu(%=ZchXcko^b0.0݄p{ Z2z\A x,cmY\eR!M/}v:'2?<Ͻ4:QlOjO(l!Oꎊ!#"oGzi¦FQ7bΊۖscj; Ҙ/䖘aSxk7@;$d`du` #^b)i p<DPF;^}9ن^A$8mR>xă"kW\oxecUV $sNo`Qe?l,3 }Q!%|s־f>9 r3]Z8M92(&2A$vj}{65_cz?u?zk ¤I(ŢKC3=OA_gܛ`+ʟsladTy[N^Y}=AiR=6j=}]J|~\٫[|Ԕq9cqYGC90|)ZŸ^s³&֨S)A80"R}C !67jʤ~Vث.d6T} \7i*A+m)K\5dO'LxecPҬu9,]U Q4{dU k<"> 4q)qژn 46x*Ks(Y1Ӡ%~JC-z9*ƦFr"kg7m"~.؍Uj+HĒaU& 5.R{樁Aͯro)%k s B|9X0턻ߺ x A(j/u)QqBf_؆4b3 FǓM~XAU{}孇AK5R//Cl`WVGiv+҇t04bTCy~2LM ́'`^Kl'F;U8Av'n^.bllc hڝLo CGK-N(p:.r ƷW1D##G.8 r l`M sShIbJh 1+=;);ec˜1a6]Hw,n Q0c*gZ"H  ߲kAѯ]{ܳ`'+;Oݺt̓ b**-m2]! ~P-lG {V{7l%`_&2s7?6ȗEXM$ 1WXѕ$\2WMsf۶-{y0V水ۥM&8.y{"ZBXlvo@U##d^'h"QvUn'Q!H2mEjYh{m!n8=fubXV^/nyzVi&9$)1}M)RXec3%jj#L̜Crm#'I < X}OQ'˴?2w+,ři$ȏgQ Jxڧؙ=)Yo&pjHx[xŴz3}9{}8;#,D.jɅG}ȅWt<HTlwX(ҽp}LeFb6ĕd"E gGrR{`uG1r7ReAuct \&x7KB KdL8WBZtؘS^$rѢy#EA%$ĽcU;oeUl "8mblOj0}}D Oka(FqBYqb,[C][XQjDjwhLK9%$*;9zH/nSaר "m5"LS{) wtrS*C3 J BHnTǹQ8 wdyoݛ[\v b]"̈ oQ>+ʛ= e=`VӔZJ( ;9"ɝ2R>(xA>ՄqP vMiG+EڰLV|R\96lt icu?=[T[&4=*^&RWE;qag1(W}&SdT6D&I1~ 3oi>ܽ܆Tb;/ Tߛ)ILi S҈݃y2>G7սϛ9%)&]ɃSh)=FX&UDFK],֊PJͣL$UVXG2wl_ED4? bs=~kN0~vRM<1=jVffP@DVutWl[pVT+MpL.(h#/D \8Kv#zˡarDv5YhW{$QsGL@gA11VnaD&YϝXˋڼf9!,m, >WuSm4Ak5@RFD5r]:]'\RRv>p0:lqDjJUؗ"9ؽ8 K98-2'ރ C*uG!H!!S ,#T4d\vz`;9dYAz8^}]9pOd-(*_jH׉cC#ܮRRI?rWFRSKkQc,O1i")z͔aw]7t94:VZ\0v2Sbx6uTw/uQ0 Pe Nld8oG,0ͽҿ?V >dٯt^(1pTE-ͽGmޫolf 4j [D|.rLm7}/!i|'0b.ceb5:Ay&ӊo]/ ? "d'慻-҉N*bSޅaZ&͆sj.9KS9{!C,^yZ 4~\/X#HNA,iG]nƷe~%XʉLI$]rѪ;]1CC> JK<τ1 Մۃm jIk:=XW\֜|:!X NGo/- X; MrOp~4o|ݝ5w6PL;hJ1`Tݧ2'*QAɟ7;cR7`%ԢbTѭo'9ѼdN:ו}; _if7nUKՖ*kCP" j*XAEwH+P& n<{zxPLkG\$c=UA:c77MxjMk. TW74ek>vN[3NujKepvO&9* Sl@3_|wW"/_3}SA>R=f!i,s պiNI{|%>F$dpi_7e{)kLa]u`vwY<#: 3KOQP|)6JU{[ρ_([U[j '=|.&a\^(?~FN.1.[@ʹ`6KK#&i.t:.;Id&O1:pDȭ u d7u2p[5}/yvmAӼΞiQ0|?P_+ƏM#KVnTQL C&4>-"S8tQV@֤JKF,( [OК=(H=xJE$ ^5.e ؙC\}XW]\ȣnn7mʩ!7ojuLbY[2OM$򇔾cL&oQŔR4dN[Ûysv_h]hDF@{EoBF\4GV nĶ!7+e.N/6v"Ϋ5(N^r!HǨے^j)h2,-|r d6&@FIS!lJk2> \lf42c1'W07-ּ81X Q1/"Amtr` ^;匳^Ebd:DZP+Q@:yt?C:1i̵El!!=Y)̦]V`+*.h *g0,2Q,BbC .!IqY}ӣç tyx:2Kbcf)uZ:&ʻ'[͖C]Ӽu]{cC6# 0ZEV4[~#XQȳVOx+|R?~7Bpo;{x_t*5D䷪8rk[jLШb3h_4 .q^ue?;h۵Jwȸ>&YPV2fyWdTz869!_%cI!gyi E@bc" =^F^-])|h΂L4M2Z+Šfi)Y|7Dh̏`nzM9d-}Knf Pz\>[y'Xg~ƞSV@q[2G UN4xjDw rzEBȤ!f+Yl1t5k^X7䜢4!^V<_0Eq%] )AG;7fV$H\:BJSp?6<2|y̾P\a>o 6]?@}˲$`IMq%o>$xSXB>*$;|h 2bY,L%Uĉ&$~w%&zqCkB+Qwד?Js+㹟}-.!GXD'T~S&ݣUYk^э=rK&܊Lcu>:i6R VCSe@SF*zW;$w "P1 &]5Y`7%lW{8$īčd'MK;K j5wPsiU2̑ytWDd5n#dA1Xf"{  n[k$[!>p6iR5CepMc0֭LH*RjU<6δi 3ph\ P_{D։=]^fyK.7qK{DTWcٲ3/?đl[&!@v{d$nfiY ùQ~}&JbΟx0nBw2RaQV`ٰ@$t Lϭ)n~QMM.Ӎ릌o+2x:UPofV[ b%g\Rz%?Qߋhf48Y߸TYr&ɮ5iW#ǿa7.aQoG)[$-{aZHb\pM\K}=p%]O8*v7%|;'44Ĩ}71O8(eD`m~?2/ٓ:6_E؄V~f迃! >AҪƪo+&N plx doXR;RlSU9)7NL6 :#}H❢A-ir9ZQdEgmt]H\/88˜qh rIz;pV^P"wӞ"Ŝ_9^V'tP44 M m"CLR[Ok+ RAiJ@7Uh7]kb*>el@\F8pykȪGaR }C6n=3\68{a B`_v]J2+.֬XݽZu2z;1KfZeU`ռv@hXwL&2xP5ឳ0-' *˦O Ds"pY~6!Q)Z m量ae[`EvfrNCQ\9e)hcp$Cݛ l 72nl9)AO."jd;/t|4Ϗ@Ozb!' 0"? h8ATjzcǵb zG$ewƋi$WHUSF@/) a|o1asYx*ca5ˈ;B-YY*x`TY{ }͹sJq#=?p1.o( 30_<::!t?Ct#8%Ģ,9?x1f 5n8]u!i=e`"vȰ)rij]Mh&*q؋N aQ>3:R"^C88aF hS#]6hҦh  98i{Wg䇋LI80 yʎ0Aœue%ͯޯJ 6r.7I,Ei{ݗXKT&$zK/B@@ҏithq73޽=c[&䕜3,%_7%|3:L ſNFn.陙V2Χ Pϑ 7ri$uwڶi33v>pIK&Y#??Vm%_>_ףܵmG)^+:*$W:?CRB lnxG@:.Z |u3ZC]iPǦ&O g35O-Yn# .ҌqwM~ӓTESDE3V@ƃRa1!?ɭBmj/؆3s2[nm(|-4`F"YXqN2=uֈoOITlwVX)#acDg| @l0:i˔A(#f}6j SA_ҼP2S3|lfCd: .1{zse8Մ8UVtkzismTq\ |"Ԗ6gՆ^ۻ{+i6jY3b@F4VAy-fʽ8-C fKU}AAL&kc54"Yv*UUXK,4Vi161kշWJaJ٘y;iٯr[ y;//:Rh#?F)ce轤~S2PV"'vB,(py29XZiJy#kϻ[j,P']NDy]Qx>R;]Zn_:񶕫y`nzD}IAw0G:`C*@&RZX3=HV憰I78\~feK[`N9ti8,g ?NK}tdMZ \ sڬ޲v]E&H^.4$'-ob \7MX=?sz* bt2M6β>n gڻ~%V;7Exo v&0o_ڝ ]:(d:CFx|R1%Ԟ83i+Œt,SjzZ"Зjځ$[`"eNj,&sVR7@͜? ?P,fHéhL)-gv2ӕGtAy--k`fX':"t (WTvS|# :YHy(Jhe>E:@Y.燞ݫs_o42k*q?F+4QgN 0Rz5SZrY,sіd>{!KԜ%Pol٦= YyJO.ђW8 <6Vr5;V$Zv*x_^Եb'OEO }QDXR{xϑz<1iJ--ZX82aQ>2d.p]v1]R19HCQB97!hfLmr5"xLq2] I2bɃff^UF : DQ"%{߸4,+5DI[dnJ{#{_V^w<@l@<^ 3R5oِt^!/b#L J%R]edW :R5(F)N "SS_OS4?+]^;ē&|snbkrn| b9$JפK @ TlܜWxLyj! dN<"cakd"e\;t)qC6ԗb.t-j<Խn}x.V$bݧsK;kl"~%C9Vn>{Ȥ+\\%#]N]*~aʲ8HVP_oz; \P?w]俶_g%Ԡ3 NENLR#׍aXmbYDHKfO'YwsSߊ $Pw#8@eaWeۆ.]O`hma[&j8/5-uBY-(¨ǘSB,oVs#5E%<|#Ez@+['e}cOb(5b!;Hg N 7H鐔o7'-z/3k30f ZQjw;u?Ojv>t\]`c(fb lKH^ [1SyvfYD8[H=Yހμ9Bw{5!wc8{%s yjIlANM(; A)@#:_D dBFtb}߆bu]>4-.P 72jaI[M&O5Obk'&7ߧMϒg'3۰éRxQ6n8oaUOsgem4Kg>z!NHt5]]Ci8omF3G`O sqE?- T'9 Ei&,p[-S ݀Kq0桪~F#&.)pveh-%~Ôb0=Bj6TYZrRCؗ``b[a q7tUFg?goC~*<>C)-񵠇Z}W*,J@nޗ/6$>sc;gVR4ȁK0ӧ|ZJDؐ»Uh R2vIKaEdJ3MSe(.e~†A?}Y޽ˊѹ31oƇj Qcmv$K+,HٿPү:ZV pٲ)!"*[L5zV0QĩrP+p<ĉ̥mdc3 )Lc]cMY%,)*6 Q4)9ut.]8NPܟq#L&'xL.ڪ}h՟E5 L7nF1#1+24⍂3E xS[qR ~JO?jƝ;.Q9%su}WoD_.xzZ;c2L;?ЇK}ZրP) rNvku8Vfq};!YagFas_l8py?,}jB@quGa-v)]8'0 P:b{5f 2x2@ɓJ r7GLu`9ߤO6 F'(B]D y2 q<>#mjo =ΖEz8N~ާ k\f*JeC1ڎfN\>AJFpT(3NrR"iQajU8kOKDnɇ{0R(Dg?{I0+n`  Yٛ74AJnUyz4/.Ş&po 5ŋC9XgiKh M:-!]F)`Ƞ@yTe/ZƮ0i s#o(^ZM_;GD}{.c.ldTV^YM;p C'3tu9ypKX(gu VUcmЯWz/U7NNj1y 1PXs`jN{T 4"D\E^6jﱱ6 DN4nnvܛjacP^l#뛨حHi`[0zfAYeE";G^Tij*g*pͧ^aK?/L%8@;f.U0brc T8( <B22Kǻ]/xUuҴ``VғI$`R+AӃ4L~WE?\=x$< KJ|H ndp^8A bP ѵ󿫔n3md#4#H垞D+ ^6VmLwSɪW4[ONNwf84ʔ7)I<M&/qTFlJJ\;NJ{Y Amx!"xM57@X,[! >36Q-1Nyd' h_ NWC띜 (>[C)![4H.&͖y)3 P@(THgAׄsLXU*SXBu\m` le l26~Q\QzD"#̳hi@rcu_ig{<ůw8x:GݷDŽR~0|m7@lgܲ){CP mG~,XH<ܮplx`yl5̴@J`P7:-Q~Y/ |tRWs>eo|F뾠?؍㵬1jիp:UG38W2z$A X|͘ljG.Лp+^xd[t~\JpMGDΰ<\w>6R>g"r>oaJ5HG!7d郴b9/[i29[{ض件W P{Ŭ6ӵP!DB+{V( n:\oRȬSk L9Џr`B"e5Ld~ȤxY{vN33QvB;YS0?8%T20pI߫Q *MЙ Yő_jfD2w gL^ /E;܇H٥ώ7̈́)RsMFu6}([2dX3ugRWx)lJ6^hظlً*5b/X3My_$ئ9&O%l\nҌ"AxK*Ncefԛ9Pغ*%9a!хJ`%ؗ3Q!N G>hpnl a{ Wߩ Li­>x-D|Hܴbj!=oC8^>:%$]םO-qڤ7szz'wxn!#i};J`eWQ*u۠gYQ i H̡WLp 2ipfP2lXXw /h3H&܏{KPQ7j+XOA9S5]wvϛN <r@'a1ᠶo"ǵT|#Oݱ!A zz' H])NeKAsM\Z$:,> P{qF`(+.Ւ-W UsfceopQcj5׍bP~6@P` OC,HfNAQNFoؚw~O=U=q=+BUו b}A@0Q5~};#tfɣi (tǫoL]52JPgؠa6Є:M a  {81!$Z]tУ8I/o ⑟xH[Q̰)A`SQ Ǡ<}eA?|vkd% .!1#ۆiV+l'Y$uߴguWo<1X~zzeZ!QI ~J @;.dɪ 75}k9{ uG&p[.@R,㳦̎ >8YA*j66o٨7iFt*vPR裓ͭXja c, x?`* ѝ3fBxt?~& :deЇf*l% Ձ/pxZ:Yv}IH>+d5n5pżҬ(|?%)?BFqE)okY䡵MѠF}tTDv1v|1!Xls%A4$eŕȯ7cbg.^9lg'u'ijd#9psr uHesڔ~%'Ę7ՅB>!J{gF {K[R?1VkOxx75L1G8JۯOr:9ÏyRD[PIEVg2Vގ0W=TlNUO%`m)R27f6)L_jUmTU)q9l`&e |ss}\N!"9V^PU0JtA**'Xee>fzMrVR( ys<k  vP&;ܜ$g\s\$q`Jyw>oLl JK:JOKupeRš2?obxkTODli`ש0˹h#H o*(槤"I$UKI9d mRFF VnxPqz4V87:+ 炱}@I54\V6^ʮ2]{q=s@CBp!`m%2.| =g!NIyAU\@\LE(8ˆ[x ٰ:QMU~:fd8.jD){ 󬜤vCkv"![^:eD=Bݘ7)/ =h> 1kCvvՑDY^BlzS=t|.tRtmdD]Ü;g0+1e%пߓrY3x$ -CijXdda=5dX sy͋7x} ΚTNv!PK>x0T6жQOiVe[T~n%su>\12_,+:_"kFAdͩ//]~au`DYdR1t4ŲBW퀨5W{G1pc.Q [ Ղ`K;rjƟ^k{*! H^{i^ZO |zΤ.ڄ5D]-%k3&P7=WT&ÅM;eYd%x8# M>>AXjtǧJKzJec[d`[6zc/f$ ?5 |5'*l8Cɭmw-Ft[ :T׭e_ɂ|y_`JC7eN`ۛ4!)SR9XuN ){4Qޘȩ#`6P oI3 &0%\"{G}b< 4}Z^ǣjlU(h8Yu&D@|azF%Fqe/xM @R11viȱߩc.ŎTSh&'?om!0Ø3T}9%Z6zSFMc7;ovci5uʶ D/|&BucZ٘}]&vp7 Gv|ۗAHx[+ږE&xVCx 0bq0=L BMN}NMDw6uCӅW{\~/d;s^BO+-ݼ6 ;'5 2xA?blA4?r_o*5?E4 6Y?:KYTs4D ڏwN`ypa T 6&rCj[{3چ;6\a$] >pF *×WZ31@cԺ[?HU@ika*y.'nRZTsrX:)<Ϟq-WŨB27fËt92N(k-(15oJ'6kG߈Q OVX U{!̹>_Ӥm.q't:{J''D / >Q!^{Y Ӓ@O!S k%T`3 ּ{0;2'P^d>yeު%D@{1 vh֏eeD zC}E9*3 1G/5 1j nCyS/ËWQ2/Wh}Hf(CI}4*l =vlyNDktFr+2P΍Y#F22 T֯6jW¡y1R=]`q?p\:TY3L !Apu*{!ROr=eY;< 7*mR0>\=TEra'$bTk"ftMm{=o3@Ҵ;=Fv/8 (Z 6071\l^ypjw we{=Vwju/ (ڏ(r: nmO6KGJ/>A?&!o}[g)d"<+x'8#=:f?Hjs!')f-ǭ&?kݽˮM)J{V~E$ YMń&P!aУMyDTy'+EzQL-I}Ph\dWu;?g=L}дR!YPpp,.$T\vpr:9b<7m%xyf0#;X],Az?G5 }?NJIROYt|C̑l)>BM/`LG`|2C{,Y%IȖ3:m"Τ=GE]ne ks~6:>;yI#ˀ)İ=.KC`n1A+%Z_|"^m|>v?HK!l90eh؏"ɻ*+wB8y!.xẗW36c:}CV*I I9 !vkw\[n 77WǑTɮPaM ݊$  #Yسأ&jN渶m&a[XQ 3d%'f0. 6aC+qcFn?9Df6soN Osr* 8&gSf1Gt6} ~y6?Km1l]xZ@3U^Ew!n[+wg`$k(%y:!i;l@bs'HoD޵,^PE=(LNNJo5TƱ&b?ԙ?xE~ȀJbuG₮[>xb#*SXKnQm&|f%P+ Pzf1ף#BwwHm?9;1'6ˤ0 OYZQrABd_ ]R=Pi c;޹!!hLAEylDp{1UlvVh&ByAgਈKS9 z=>BB12W| Pe]8F;}9Z#UP,PzRxRi΀@=;E2O1l[ E@uIeO:OTN@1wB1mt~/&O`Q46*ͼzgTsG LoZ*3W[m>B_8[|?z3gm\Qy}sQuꐿ@d,M<6I1$.ZF w-|Ń B\Rv1pemZLOy μ"H|ly">ۜY_ݺ?yJZ 3n6P"#+X0vb`^>NP@P.Q;6-y04 +HPC02b2 ݁`nLzyhXQCZdPJ8~$c.PН8&x%iTI}$ %75 ٠:xv(,~w.q*84;HȈf tlo6Gp> ]1]r9'6_=`,vb/N / ͻ%,4|dՐ-q1yycN_!W=!!λ@5XE nOz*BuQclp3FB/qZ&zLb?#&Eknq.Ih|tMD۲l}:Z3 cy/|wBKc|׬4V"휝C :pZ2pr;Sl9H5RiGMɓ S 2陨 -֋3!*\R+LZ9vd2\ϧ<,,Mk-4\ݩy+>޳ qh҉e aAKNbk+ 捫j3'*O@`I?23:Oh=>V,4ڐptMˆo-mff>:$` uKfa#`{o]ܯ$D8\1"ZWt吰)ta H,FKBod 0 3Õ֎x8oW|왚NoOwQ~9;͢&pP㡋cJ0=+-T sx0gG%iYqo{5ϴlҲb44HΘdvϴEC#B%Q$gc=b2=ѱA~JI8yH8 aPbbbTb]5e\78AS4Jq 1G}.J zb(NJ8Y,#F\C؉X1uɽI̘^(g!|Tk{$zo8zB@Kg1yEKn)p_{ 0 Q2>!OXX8>ҬQ ]?-%o/vQuNylP-sDϒfBeE<[RYm -FMA/m!RHsX AS!@ȥZ;aռ"1u+^#k)g1 *$/wq2eZAG G0McZpۈqu#3C]qof8iz~n\HRC?CK.gI3zӟB*X> f,:Q {Hۛwm5k\/i63C+yfQ̣N㡏#@ء8h p )*Wb '~DN8)}' ]fe)ڸjtí1`&FRAkr:y}h&\XnߏCI7zWEF~2Jz>$&Bad94! ^<|~rSf9MmF )N'>/ѬD\NI t-.&`Υν=L% V"{XN }OiSbgtK3D6RPR|-LtݢqҮօJg9`tDݘ͖Q %yc`|spCh+xӵEWUfy5wjȌӱZʣB '(_XnMLIĎ8X3BRe;70`6^Rb:E/OR͜_qńfLl݆Re9!U>Őf%@cDdOVȢqdRHtnuU&L,̗[=z=};&{bdm]XḶX}_w0uYGVbt:U"L0'w5$\NncCvkf`8>A`H"rg;i/Nivw(W6ʋ|M蒥K=w7gy htWt*\zDfi[ރkQʖ>W2*zÉE `{ȵsyD]&-lbl&9ϧPjrxRq'}eDZCZ9Uk!"Fŵ2=a{5 5᷶#5bjS/ǧLOu8k8螢⎌ToV ҖpsS7#3g!WNS\I]ځ uZ2ܷZ8dV*A5~&u$:2Z8 [^AqP>a6ݒkB]|v`*wk1™$6 ɍ8y)o{WZJq3ωNfVT0oPsmAb]?%]iaXFpLtT*EĐ]XЙtZe 7$e=yFfuDvQ؛0]Kϔ'Mj>lA!l`y^{\EcvDNyEۥd1Uj:U5L|V#JB NU2VtS~VKO~ %K nl3pA̘t'%t?^WE˫e-Eȕ8HXf*4xgW>>İ翓/Og1M7B߾AHj ʑ}3Uģ֘; (:kК:{ aVڄ&o/t=YT}4I*1d@6$Q#Av|,oha ڠH4MK0n0o{VV"^ W$PUW(섙qC6@N7n |nYLW5XIR ILqbZtM=+*Kz2c޲q\ 2,(Рə7H7"v@qyv k{.9 TsI; KrAq / |%+hyAꇛ,Nm4Ц^eNQ#nI> ?{{!i6HROPpOGN8T5j{c7Jhc@)g%SZ>|-q".u>y ~!w;\y9k^Z.^$K6}Z,_L(9]'!jBEsݕpNVsP2co CщA' 8%mN~h>%0~DWHԣ}j\37'ao1x+ƨ\PcO@Mc(gr7Nd*V ֒re= \ 봓|hPĸ9TA|Tt@,̝'Փg}/c}~)ӑv A &%aЗѱOkXcr\k.-i!y$ѝqT9$\#Ut_ű)=1åEm3%ia*WgUX7(.`45Mio+JhX?n-- \0c(sLF~+L$O_.ͺ]/ {y2o`-}?mh)7V6em"L.yř62(.RS1S1JEMzo8Y,]0(* rTRqJ5/ P6Y0忌PSI3vwyp-![p<Ebr;Bú2X;6x$5E|;"<0ʁL<%qlgOOe}h i.¸D19AoVS,Ä(SMjPGL&+# qf;#dOQh]9 Yfyj:*p,x\Ko{!qIaQņah9 OPEY Һ.s L>.Ia2 SGs%[I˛:I5+Wt)yHe"N'QusR{(D?EEkU%{#Lb<)H{=9Wqͤ@DϨ`ٛ'YO43-j/H1(44 Bb($ Ǜzn6>SG 35w1&=@\Ҵ]GIzA-zPAa K/7,u̫@pHdĽz /N]?_Pt^"/ϝbvx>F?|K̸fk=o¸!b q»}KSo'S61 jUMEls:b`w2 M#'oFX%&:*|nJklsZUͰL3 &J=UUB22^&d0pـa s 3^\.S-L?| _"R Y9Gu,Htu*9lQn`q>Vޱ-4]kG {(1R69w>G@?NJ/h oXn&hNg& @EfMb<Ii=gLrk*yL9sjHJt9.mԪ[iB_iHbjpwZ9&ck ¹%AZ \iH{_s=d _@oM{+x4 ܫrUEjkbFU_+/`ǘT}C[T#ps7?l_rTqb˕%&<;I,Eb tuU \GpDw7l[/|=p07S I3&3+Hmt[  *ó խz1 i&1hx5۠C +D@CbZ3YnЮ$1X *T.ӌQxn |SJk؃z p^r[L J3:@.Әa}{`s1$r(IaRgwEz"n7G6g0M,t%EƄSCdANQw4J5aub,* (/*$ fo~trfvpN?JPVR&C$Hu֑DݣD7 Dj88 iA\qvtpխAɇfiUw͸)E$h#tEID XÇsVz{UޖSM.mfG_us\kƭ6 + .7p"Hk>UomMbD̥Ag8ae%%h"+cwy;Bd:>u^,Zdٲ$0 ңw{WMSL"h(<ݸvupd@]^xUXll,')hy-M'^ӓؠwj2eij~L\CKcY!ska^ ^VG[v`@B" &SOVIB*%(0~,& \6"GkÇq`+a_5|9IߟB40>/%Iy[r7j 6\ Y"(I#^s4>۝h{9)ar1<q\/a-IQ%ĝWs㿷6'C FxI82:Y'1n3+T@*45lF {xWMZhMR-G?yf j)ϐ}J;& m}ߞ}#a٣pJo1v 1^ #FmU }ݙ?%$jT]Mm~b<Ƅ,A%άUeT;B/S%vx[ml~@d:@܊ ļIf ;׉ucuhA!9=+s{8_U!*u!$Isc"ЛO 엒R'ePX@de8@@z#Skٳ+uy'^@.- r}PZl ~3()Z%#zCM|]W,FF-.ݵgJYJIW\jeRt>='xw+2*Yʠ953,C0E9V<sۀO4M.!o$$B&@ĸ0} *!bwoH&<@[b%Vl{yIr|_ضhMV*C=),sY:]{G/c%VQ0ֶB#ΈfR靄qrtKAW˴auѺAf,UφUvt%|ӌ}͇7 VdzH67-XDwcFrs]><ؤ\?;fY/6iuò^1gGŜe1:|L?w5Q^Bd]FH(bKOGD"iּNȽO[PCXo\8K^G\us(~gǟ~?C([ o؀Rl}J9 [Z'w,)P*Pnv5%bߋ68Ghslm;oz:ńO~dmHT'7J:`޵'ňqx;er,i el'Joh%@\ȶkekD\٧1kP|DNO@h >b}x p9~#ډP/n>DpC뤸Rj)P$&vw16[[Իa 'CZ^Xn_R ͸4X>)^ t.#cb]欀_\,a=o<zg` a_vZr7~; }{pBA1E Κ| QnlRۻ] :X~[LmCᤒ%8b3X>v3$ &~8*1"v ['J&pöJ!o聿H'֨1l {OcMDI{R GT/H;]؝8ZkD*D9ߑhW*-!bcSҧS,AHI|M8LvfnDŽj.vL#ΔAJ!q g=UB,P[>(䎭)2R4$DՃW**bTn,@Xj\W7oy iQyX(ABؔ-~7vQ kbXCJjVY^/g؜(]B2}F+B.z[;e/ptL\n zpfZ]E6 7_곛vLp#TXT۽tVs<<}cpJ1߇ cqi; +bPat t WnhGFɯs85gqc{hŐT0Ŧ׎[?p^djܼeg9TC5 6/.M+P=Yt ~S:C@w\ zF ^ܼ_iC[ j֊S&>ztS؈'r5SQ g"3P6=wlmᴣFsw L`МxȌz瀈LNJSEDnCKl]s d0]`EM'-YPmF.HXլ8<\UX֑s\<,ӷ[i-th" /prEοװy.7͛~4H2i(a'0-(+LzS?@Hrֆ(/4܃U->clh(H̡ʞ Ԙ2^K@pƭqk28C%X <} $l2w$A (u(lm@LtCsYdF D6{ zHq,g, GGBqA:9yin!ݠtVF+ Z,eh_?z(N Pod_G4=!fćk+i&4V:²W $j5A)[5 `/Wm(7k=PB)FLEes: ~a=)'inZ!7]S#6>ظ:,$;hIduc~/J8MJwNٔ2_0, vq6^QQ[pe.+#rj_`R_Be,̑G} =hwx ]؞4Dw(d[J~ @J#Ԝ8V*>Iن#oWԜhm萉穀,vzrq, iF_䯓k= Y6C06G=טO:@\ U7(#i%!06NnmwG ҅ jW-ZAHF cz唨a 8V ~qgԭD_,F֩mFl1݄rnҭ{7.]zIx?e]_8($Iyoh*;\׭>?qR4OS"~g Ԉu {;r"w\.)\hV;5#)}љ++͒j^hNE*(* ⿣lP@? 2<#lPc_ oz9{0Tb+JN &0K>ıpi ='h y*͟OufpO#N'[)T֤_ky⍝%U|<]~(!,cv {lv^/JR,/ rn_p8kAqɆgv)\|26i| >]/WcÀ79&>MRy}n^V[Tk HxAX TtRaL4UYȁ8FaK˻RI$\{ < "Gy2{د }uNbTq :Sn$Z"TYprUrs掱3@' i=֒埽eN@9sOGw•w#ݐv~˩X<2YDR0i6/f˜Ee+o?HԜ՛N B 㷦юGF$nIxL_c{vf ATeOEɣ"-+L.0J{33 D#ZS]b;*Լ8壆n0ZO;od{FHn %1; "|v*^)1k:H? \2j&zf-th漳߂wBlIt٥6*!wD$W} |~?|SN`"|I4$ u W2r_`tu2⌁##$S G|nuQ{eUsJZ TI`moJԐ 'j1'D puÒH.׈KoFeei 84. uHK¯ۭ\ȱF((1UMm F#3eOz,mȅo:9L/]w ƻnm6=@_lْ.@v4v{=r 8h'11/ޒ~Zʆ>#h(2\.IfAʲ"8G*|.jg4'\~h;Ƚ{ (Nb3@2 24x8B$ڰ]Ā s\isxw1A1w^ O$x޾VdUP%UE4v[<[{j<ƾ횸-RBhsդ|u%olڑ/@=W؈DsI븥FI G{U9m@#Z~@3Hd쥕a١fܾ`5ZW,ӈ =UR:r؊C숍as#;]Rds z<@+@}s^1_)X'0\ 'k[4LޡtDA%*ktLpVx9 Yxn0V!J+8!SA>S [^bC- ]Dߡŗw{j$W|5@9=-@:N}0sӚ_ H52@qPkSb璣RCqfT<]jZ0xq$WT#5^qګʛMog% bٍ*~INcP GI/qe *GIE5uq{HYR-w x' 5![c7"wB(~G^R޿F(}a*Y_i4 Dh/DX\7O{$4˓ _v"h-D췙ʹӾUI%8Fx] 'zxħΤ'9=̧f]v[_Ibr4%uzF`Xh3W)M69H WfG,zy֮GӚ}dNN6$Z <` * - LghG 9% fw t\CV N-TwuT3{e-V]N|*$e y졠귊|k+Ute) v- ht&VWQpq酸#s"Xy|UI/\)+n9ojE|SP]H-nS *S M&m߶dՑ_zN**DNS^[n0f UlrgY3ujڟ ֤亻n#5s^獍Лh),5ν1Kqwxˈ.Y:#L9idB(9 1܇ttA&_=.Zj/yњ~ ^,\wM\`&gZȧ吨U@lD( ,Ϣ0ms_\>Z ZP<dɝhG̚7YR*Pt7YO &Ac7 'I|,9;O 5DݻR.` X1d^y³A^slx 7MEOD U~7"GN9$s! #p9?k`v9dG~Z7TΤ0tW^yc"+vz޳'՗TjA?!-<5{MijR,hP ARoL A) h-KXe.,$Pu 4y1;bi|I#o2AY|Zp[v.}9 $\_bS-*W]-wPZ k T{@֞ >z`\EBW aș1BѯȌus<ΚbH ̲'G-`vWiUķxu F-\[9t#ՠ}F>_L5Ǐ dkhHmwЀ =Nn|Aork9^jB?oo5ˁ }#󁬍aFǥB%.~B6HcP-.t_cdS46$5}x11B7Zjn%gqWmFL%HM,J>TS5`rZ#5pmף̺Y Uc3JO,;Kf+.\W7HِO3z ;BSdY7 e/$ΌxWm ޖy }n,nըN@wzju>ќgUD@QN@ ͱlЉK栺dǓ } ٷdTAն6 @^m $fC'ɵ"z eb$s-i=iaVDZ Dlqzci)1*0,6Xޤi|V$V2.M/5fH V!QxMb>b$f;23<#T1_v8;&M45d. yMK}j$-+zu9 AO so5OuU?y#3¾ByuGQh'Fn<"׭@hu95.Gnh'P1PU0ʽ:T:&ޒ 8(5,[*j(?81EmQ׵M68,C?TQӷ$h{fO,{np}C=z1Y?Uyh;*eMO:}CT0Cto0nLApPda^L }^n ,_L ͷzQ~^}5:^ڰ,tDJ"d3j,=pIgDEWh_dlJ!ib ay`S;Z}S6v=q09]Ii',.`zN0R79Qy/*ۨ.w:Jy-Sxj@[,Ph "}¦}͟d`88KnDϸrQe ,I3O rrn$WXjPGm`!>0ȝu찁<1يdrdWI;%8ӯXb ҈w##ϛ܎Ϊ7@3,DMDe\9MTA\d_inN6Ai@5x[2p3 jq,v'pPT>  %;к1bB" @h]GDp1k~"9ely}JҴ:"ʃW!ܻ0k"C,4=.ǑmW~h,Gԝle# R;K, T͐Wdf:5Pj{1 9 \@9k 6V,=yTȼӯyqڻqK?+> mkԹz܏^2G߳X]3]lA"_ӷ3TgH=G9Zk+Y:@ Y%Penn880xL,?: vOL E52t)j[J!*֘qٷ kŝ{XsZ_+ȭ15P8ǁA_BwC5Y%.af-,&]D}LYtfKel*)o3f>G5'BG$\ZX~O|{]_Tw, 8x"WK)4,`fc4U2;T.ANڗlcleDs("nM\`,@\g4U4` sM<+(ȸ7%T/95Ԧa3Z6bq4/RO;fvMHYGϢf X!VCrZ8_q^@)(R7Aכ)<0}ZXP(#qrӞe[>sF @CK@{an%bқ8u(@S *V=^gɈ-6(1VQtyg) cdRP!}hS6xsqV?J=6'.fXy,To[dBs /;])zk"[Gm2p;a/"6ZTq-17xL$զAd__`NjZ&c!KnN]>6u^TFjXC԰sWxmPcj'4hG]ѻ|Nqx*_/<㤔t;H~]. 4B/A-x A\zlH aI"yu;|/*,BQ&S ;9 iy#wc48s* D'E+Q뵼) !TG./?咈mgC>}w.zkce|8vH1K܁C}ϐ@՛*U\Ne@  ݟ MȠs )  IL%$4D]yc4ދG mo]~{}n]޳5nj $rQ) { ~NEd?&_cNY^kz c0G&,@LW.Ckdz\b+x~WD2RN H.kfSR]Uhh+.¶/U[R-RR:U`Y0ʶpP t[2\kɊL R&W;Kk+B40+@^&x 4E>(\UF_B i?И3>dMXAw&=•AֈYQւBC=ų!3S6n$!񟠹01ӍҒQ^#9 q͔ɋQ?8ׇ Q>CWz5 &|[<6{!$qhη\IUW !h&Ք"8Yb>Jv9HZ\YU@=V;7"C@Mv&!v| 3Us_(׳X(M}%OFb%m$TLNG'J;a>%fK]sʓLq:T`>} Y7%^43ZJR qwm6օD놉֏CcOn8Tlޢmb2tH# )[KwʻكJ f垇`mv_ ad=`/ڼ2oQRޱ?i"0ᥚ jƧ]8 q-WlOoySj9Ov.~|(h}^.|_+ ^*[yU|xyMu{vAZWqh{LsNٗ:Rc*ƞBRf3!Q R7 ęWrA\vLPOdR!5ѢqKe\{w$o_xA0Y3/  [)dz|aMD*Uli6듹N0˛o%gki^+E/ Gݶa+&l;5ЂPYZײ.Br5t޶фx(fyO%^&gKg脁cbZgwCw؄Nk6 { Z"అ?z+D & ܲecr< ,ak3[cwR}a CfJƷn{E.ZJ]8 }6o:Ơl/ZJ6b6^Nݠ-HSn»"tƓ]1zX;L<geR-o:hU@0 1+ W9Z3/BFZoѶ껱~[M+JF oybyqƢ-WMRgx"kJD9wH_:ctRa_wcKrfe u1Ah7,%l"2-̄_853ǂYskնu.dO$YB|D%/1ƀJ>|h,9xrAj|]Zf-`DŽ+gU!w^ѧ/v[}Yb nD{j|~f'6`6t7,:zxvLvMW{:?tQY8Fڰk8vv^wDɉ(ׄU [Jb@p/K NHyפQR oȼF\ДX`?__%~U=U A@E8(OIVޝ1d{ߥEZ:TE~x9%! n#kxWc/a#T--.a+\Fч#aH ]Svk{8m@UgGРhB |Ehz5B(sdž$ۆ)N4Ly=hܐ@~ԒA&L]QD/}DI T7LIЭ~?{˹bs*/uYmk QMK O;i#%5 , 5읗dZkhgy=M O:cIVSx%|XΔhK_\ԘO;#ywfd`gOkAxʬz#l͙C![آw$>-f8ȞƇ/;5%Hs7Y$&_Ymv[Ӂ!>yhG?5Щ+bC^qvWFy&) =뛂c>{*@s(㓯ֺLFY>(uSH|y/ЫjLuq}\\#!YU=6j(5N(V.ܤ_BΊ8UH_)Go;(w ?6Hpğ]HFoyyy!IUl_9p^H|bLx4{ c,-ZKyh 8irYV>o^ޠllmKs_7X&2j+L1A!I^KLV^|2H2ɊfT{]5_;Ξv -&gyeB/!C mʥ(WJ%S~7`oҠ»&7ċ^ g61 oKBJ&~'7`Mͪ)K!Ĺ"f/idS7f &vw*ǴYvo*@(b`Mx!NCDjmypM>g-Bnp&.#]/Nv)D7kp% fBG`oBAj9!?:{ _;ZyAS**AZgIya^; 7$f۟?} @]aX~yC:+N[a5P;&@cJ)e[>2*2jRk5[2p鑝`EG_q=ly[A![;-^ Kgw0PWN7q@gqZB;(poD)tDW&aWvĊ8 7Wg(R6u>L%e9ǒTe{le\zO%-T~La("0EVv-GoL=<՘{{&}O> *}tu<@K& buo,Iukf; `qr^"^{wŕHuչD@oU4*AJ=||g6_ pd{ IHI92jI}ub*+5b_hr9 *G W,f|N5TaȽgǑHaa =y֘Z?w9ds@CNNFR'l /?A/g-2 q^C0n~y#HeZwd^r&Yy8`HPcLhh@)1P 7A%L8A "3KJ)8K7G #snh?0& P0`_8|) w\~?$L~$\Vv҇W(CSԫ#s:4GTJ坿ǠG~ؗWcΆ|:0Xx{wFhUWw hQ5 pl\# iBQejAM֮pK-)psd+jؖ'ٮC8'(4?)?A -tV@St4Isκ2ƐnS1c^g!_/JʁZ:A=699p8r|ZV?:@a^bIc1-: Lq*)ZIM٨Kr ocl8mFo=Z7@g3-2GAlVN oG@=0^,7:j,=Hf16G9А2Nm^q鄕WӐh@~"wEv!LU#/-(|ɖW){ G/ЇtՇ1-SUP܃ #1i;)q32Ӥ; Yqw7HK+m9Orb, y+xȱW (V7VUSt< pQ gMIP^M . `v)9(6t|,(I}K""`~S] 0")Fe HVu!);v[XlniA 3qN?(VPhCJ7vQ\ܗ U;_yqpL評j}QeLTyݫAa Z:+ιUUwNVC%h`&1waq2/1WIx&fW|oqqlT;ȽLUC'(ݙ k/$OgЎor-o?~|^Si1ّ7zVs(@8{A6o9HY~5jweJ~ nE/,(.R~.sƨ 7 (j)wiݗu| zi12۫j %1<,'= 5f:0S;Ufe'ˬUQ5g$v9TIp"ūz;)8/9Z"D/ɱ|dtFuf{mrQcÉ-86D. Y "#oFţdt Gz rx34mP(h0gɿ sFI;9婘ZFyM 8Ӄ ڿTU'? M],g#KnS| x0Ny_o!S,^C,v !'+ф~-9#-0[9y8WZ_`Q>+DB *MDbឬTk+m3&bE>9VJ MhKR]]%%"ݴw*t/m@lUaҜa yp\{h, 05(8[{:0m#ٵe\ڡ3(8R4^R1seQcacB\8)셢FeWaJFB&-2zBsA[\Gvv9`4\7GUϘ9>25?ad8j89rmQZ^þ"N[V U_5J9|h-+"A[PDb#Y_`Nzi֍Y|G9 htޙAG_!&\11f&\z>H=Zny#L$sc~je*GȅRǎ){| $ lV3c,{2 ujl.,H1*~Jz]fn!}6I֝d< ?' ]Ⴙb>HNHah|h{?-ۊ?eA%3W7KOF: 7d6 }AI&~ m67x6c9JsSF? ~V;/zo=Y[Cܰ>8ր4>B 10-kXmӸwȏpw-Q7ŃeDcQ~ 8v_?)PG^Mc Ux&M D~3[tFݚj;8wDO4,qJ5ΣEmTݧpG3KO\{es"5Wm1e&AS5ã]u##j9/ykDZ#RT>=}rٝVr4-J2qI\y &FVQ$/n*t #9ǂamrȶ,\BbDҝlK|,JxG]qCu_@CAG7$І>G787U3R ΄t `CsgbKDKzW&JDg^DEFd肾Pv7h?2'~p6fUqp^Y&IPj3c`-yz\vz~TO(QPip&X86\ A>Q '}](\{6躵#֮2"KpUG޻:9p* JTfWKqS6.D'|9NOR Ac)+2$ju`4=ͅx%̣1В-38.aK{q4\kL7˒"ERX%qN $09}}s?ؘc})r`'Rv{~}M+0iMyJutщb.G #I,XDIIm Z3ȏl)c1 I9x04Ƌ딳,J^3s9>K߬IjΦaa1y?RtӠS?$B{մAIOގtc"W@pROXg+7 H "z(JlQVOV&M #؞pb~z#ڔ*8LNtõO~5O6~x4} '5$1tTll ?~d>>oӨTIZ̔mygXaUc 7B?ϐWBг b^e'BfS7:$PAJp5g`:;op/VWF85p5qxhbB7(dJ1ԣgΤ 'y {0 Nx; wNvzXkU[ :χ5jf|c⧭l]1$1ˤipzsM495V(#AܫECf"~T#~|e Q|b56Ohcrҿ54ѥD-!U'󾼡9²" [ڿ|:wQ@xQ]8)'h\K>1Qה7.S gYٔJ/!&s4ù/-P_h%ob_O{vSCŽ4{ߡϡL;c[y#xq&^E|_$8 73 c`XGFZT%AȞEk^Iv׏'r|>Q7P2way"olGPNݕsR LsRYh6F{]ܾd;/N=3яP׬Yߙ7ӯ >—q@vr9+w9 =k_ŨtY=~4h׀!4SqAvJ}BW,s ;iѐUJ:QI!{R˂r4;~NybU7uGЄ>,uk z|y͖L*[+ ;Y,|jX΃38(yk>uR%ҙ,;Nf ɸP5b9jvHN\B2I6_]Hb7c/ !=e*w8Se0\ӜcAG1jht]AKN\ɞ[p*ς87ZHLB(̽@z |)v:Xqn_9$i\qq;" :Q*[f4zF+&|hHt#缉bvH:ghx^뺗a5Emcǘ/1S֕MщͧTtF ]JYe&nX,%kb(|հ<;;,?goᎦr ṇs~JM^;\=4SZ$WG7F`} mh'Ei.+[]1l.Z|&b}b(S3N1cIA3D.F,=p/џcПኾTTck8>ijm wQB)Tq$91B6hu QX]eƄnh|u5{V0?)XڭԶLX|#_|..oZ03* ̈"qF .)[ ݿ ڀ [%ʘO$ZOtmf̐: k:+aP3,q۲B$+W. x:s2ʷUxeّհuc\`IrO41rIk&V1C?H~ 1<ӡ3Q0eu/>ڗ39à7 edЭxEgv>fH,'G?β #4ՓY:%4B_ߌs Y+Ç uSD|tlV<:h2_u5[;ǧs_lX7D'=[&6gKͽl2sjO$:'5!ه?XHfbF jLebJh"oЅuߜG}!TNq QV>Wg >{`kh=BB$0d׈-J 5k}4~'z?f8׸4f\ v׻ؐ8N8 wr<$pԾU@ >󞬀‰B-sGpT&9!{iX|Z#dI*݃ʐm2Z+b#,&܂xp1WN=NSd!# YQŗݟ-d'_>hAeG*uHV wF (Mcݏں {ǣ^c)MEL µ |OF^ &e ] ܇wh{O|LMq\jC6bdR"uxfj5/ZpVWn;Ob5r^´G2*$ x|hUt,Łb A: a/zr\V} 5 m%/3`Y)mLOn7'|yHSyg}s ƻgx46+vQ kP6FSazHoj 1->A]wFfnqo>JJ6B,s/qy8ٜSZ3:RUmy_x%[+QbhɌBEb+}F%0V2 h>6){xK 5_;c #XURN@35ÿʵ21-Zu$V:"F{3вrWj/:TUs :<s<{H?P\ـ[Wtge9Y1Z<e}Y#v.玃dH1RyzC$q>[\K,vu_܁u1ػI<W?D`]p^8/lʙ&_$ ՙkp;?4vw;KuzwUT5!-f6(]?r|L@!qWcGyFuwH# 5ڒWqT ̡{ys%M^ rw&m~[*8L4'D%zwqcOk֎f|{s5h`Rw\S;i'aP˱D-D[O_<Յ e;7/ePify{: E }nBT{9ì 6ّIր.,ޏmV*<Cu;Fz y Ù6ssg~q-9rܾ'WlL;[M͹/طV\3UI~>S-=%ĵm)M[Ör4 $ ߽|Tirװ5%ǻs ;Fݘs|+.V5uƙŰ},[@`,֨zhuZOk)CW:; 9x$9R߉PZmK d %x݆WXle}qlb(/3@o^|7=!S˶Щi*Mh ڽQ2u g|z2 i d5jZa@.Q6cqBGlMmojckAĸ73)WM>jS'&D6WKyJ$Y?.ݕ5_x˝&1/Y%U UN5  ]'TƑ(r4ǝ݈(\YQ^MUr|1V<+`4M9rQ\EX_4T/-IbN$zNpSn/"hnwi0;l"0qys) ^%H"[:"H6=X/{T9:v xKR 4 Y?:gwlt:\J9,^"?MFo$dVY xds|=Cw뉡vbD\:Tk;Hg`ARh ,xrbq>=)ets?wיв9HLGG1pRU7?IEUbU(W'uAQq{_ I(\AGJԋ?2O'gOێ_BZ:SDǡCuR])ʬ=:HV{̝"~ `pwe.fOFcD:uj2˘D@ēkwm3Iv E ^Ϋ0{Qu A₻K,pYza.tx}- hŗ)9t5}e4aoZ]gڢƇ8@p Iil*Ohz/d#_#V;X)Qk\f(]HZB)ӹ~IKoA]b64BoFZZAc!`jԙ uA@gɗ_viG@>ܺQ_إ¶D_͋"lLeӡL9_l468z a͇UgRe)jF 'u\2?|?j?{@YhSʼnre/f*-%\Dq-To^4{xY1"Tm3WALTfIZ/4vE1j.ShךbB{ ~P-,FgRawUu b}-IGyAL.=j],%^ݨo)W7 d0A9&"FψUm%dAG#͌ƢR>#o~0hd0F).zH &yM+mpi$˵F6}|ߡf&Sxͥ!tFmN1vY/<{Wi0j熆)]=yq>֝k4XO%1h5.l>0QVٵW*6nW9e(Ww`w.M3q/$ƕ 1쬥A0?n4'QgST )kdqh,X0( dâEWG ~]#f;g]b$ TG~(-`iYvcQ`%/W{u5\:}=P넌\f[HzKoǩ򐪯=*S!0WL2l#ꔎO/gǹV=;pcQŋcCs XOqqY AniK73|(4l4в$1dZ"9\dz5}lrӮ9#B n\3>WyvkxM8J Aq߉>ݥ{hwO>9 p<[GQ^v6e-:~U8s1|i\*? !)Ji H<*h#Z#yK k$?%KSp'ß4f7q-":njl.(Ei-zmփL2<77)pa{1MB(t)xz 9%u纤{( Ai9}~sJ(z!p㿷XIC!C@k$$'&ಬ}/ri98޴`9׾Z#>md|%WW/GY{>\akNWwlHF9ki @ ԯco0/~[WAL?\>U׹ɠ\ӯX,T@;Xՙ<Fd@#e|)ݳdj x9urj҂u,a2L|f Ѫ]Y/! A`!M+ޒJd!u#J8O}+dZ-݊MCLrG|5NOM<:_q OE/p AGۑv1~+!>%<% s rQ!(rupȽVpA%*~/BMD@;(훦΍ku`*uM߾vR|1["қbJK=\ a殦rؗM_}k /o?qdoNDXh=|ַ&R$2JɁYR(HQB*ahѾ6汼6K9'wFߋw|#V8%hr: X_JE,A}{M2qt#/^c)qYw㜘8/%eYU\rőy'XYRHv|!A>H,-pNK-g#pyId㘦*{Z1^[A3RgRL*?s<H/ M"!7~1Kl]ne:zًH&u-#ЊjSz,P )fI Bkڎ2 +/StG)~"Oeo$j3l GVz52sYWhIW,=!\rG$g_~߱*@8Vw"ُ[XŔw 9 Z sGޘ&b~`SɌ*Dwv Ų6^>#'s5\SeVLD!&W/91GL! S*0=ܶ0"Um ˚tܩoɓc-LoѻKgN˶n[xkҲ]Y Z?b$d/<4(S,\pMe?uC3"٨ 04J D |Pqvb/ڻ>.jPT[Kָ*k}-.Tf1-0l{!<޲ZEP۰DB,K_蒀 I[}8`y w9up-cO`%nSzl8^0kG96 pn8Ρ.D^Ԍr>cwŴ9!(to{x^~O ?Hmw*UkoN_#`?07J-4J{Í\ ϥ!#JDd ߟPlƜRDw {<%x[?-wjY%MŐ!֖": mFKԸ%RZ5GXױ"4kQoljs)U"抠R GwdAkV: Ufq"BBMQp€=9$F k^ctwb+8zUq[^)l|>> v9ɡ-jIVEش rXJyQ&W%,AjjAOPiҚ-o yw9"u:v>׎I]T<;"iH6-!} 7R-,8/PrLW1 DA(fс@nLث4cJ\{?vݭ/T1d:&rFع5]u%}'c6%IGd\OXhA!@Pe Љo٪X6O.7,S `J"$F~#98ЄK,(7B9EUuZ!ޞ JEy!d-*91]NglvzT,,%;s;LT;'Y{h, F!4:SVJ+{#/luq19#swX #\g<Ր W|$^ds/~}qZK>&w|Xu%I*TT&]aȡ9GH\▴@*|ţE}p̈́n /0<q [DȤhwye-84IFMEѢ~ˊL[qm׍h?˷x7&0}HH<&ܔҾS H}JK:iSxppyB6 *}T]ӰwI+a3kw ]!r˟@nfk詠W?q -̻XN]DȰEWۀq #Qi]=g02n& ta76b7,Mㅇ'y+˚!||OhpĮQ$5lwP{ 󾖽;s"=97K߫&0Ѩ 4A_5m .MhRO燉aΫlhƑJ|N ϯY30}!\}_Ziׇ,6C10FƜ8F#|yzGo#6fl䌤Q Q IaO U -qAc2`15Pc.C{n}+܊zf$kij>718?\0;2߾(Z}I@DݝlgH{ʫj/eT F8Ph Feє.OgH!jv32dWֿ]yf{I4߅,l'ܺm3El| Hۅ-`ǧB>0bm )H-g%%-TXU9-uqw*Ce{\Map_]1&9| "uLDWt(`"e^꯲\͝YkY0fJUPb/p8̋LJ"nyR#Xk<'%_BWNP.dW?OpƏnO6+Ҁg7ҩV7{2u ,fcm_}BmIy|vS "r"4M+44nuTwץޠ vJ}+\edrK3/Wl+>y@ BZ<ωCWR.Ll#@~nb ,Z30C߬3/hYGh 'sct;\6ES Mw.W֖ٽX:tC>YA}9ͨ\{*X;:{%%:Ulo>sC==_/Pt,:.rak/Qnr }Ӣ{菴<w@&;^qyWQk n$qTLCW>wƯ^%Dbȁe>3fҟN* . P @!&vgjHYx#ipf4k5|fO52epV랄g-W_i: >΀fbet_.j^d}+B<>7a (l?N  h2Nqݙ5Kw4R[R= JqqOar|]ub19KE8gTNN[vnƹlCmU;Z갱%]A?>| ˣs9AG}{ʒlӷbigGF-8yن_2j"3Er5 %XvkЪ 1De#ٝ DmnnZBU ՙ*nʦxL0 2,]-"꬐nk"*%a6vނb1C!s7@nh fm H//KG0޼r&UL"pFٛ&qڷm^"<|聪_ĀcՂ]6h~v-= 7|bLx]>q3ϏA#vx 3Ȥ,mdi{+5^a8B']C-j \nwAˬQ}֪J8}P"ⅽ$; uɬ--}?A8t>ǎt)O@D& ӗHBb%M5Lpd>4bD{?Է JdD/EHUږ[Zki(-_ɤ3&ĿQFeBl|I3H2_ط"20ڤI`?{{K-laB>G" ,:XXh"OObZcħU^6~ <+pl,瑍82A7.ުeg\5 *Цڢ_Y 8αNʫUM͖|j NX^ bꬸcE`?2NT{]RC0ub5gd[HftxOb<:O>2Z|/_UN8Q9Oʣ\M_:uߙ=ЍLMv y 1Yc'˶ kfi_LY^I=wїˁmNAcsد פ ; TJx5_p6Qq(Xꄈ8y+u޵/eL/Erb&AˈNBJɄN r):jh#t. B:I/Mۇb1|xxdU%̸yrw8Ac =[+^*څsk.ep@ _ݣ[Cf7{zEeG9Zρ* ?g%.7,$ݔrt+ -}/f FmzTcvo2/"MF lBKhA3`eי&M#fO8[~nб/) b<h^ Mc' 8!ޘ"i o{¾_.$C%Z.?1Xo)5o=gf`i?q@}0hlAeT,:&=ug48¯%wz_3;NrGFX8kpMWdN994N}?ʐt.ZP }gC6ڼE)r8q -33d] !)5P"YnZ+my-g_!LU~"?0"+G4"B)^D2NqPm"jk砕q?3S8aE>'Yҗ/ΧgHV- ʉyUE F_VpH}> W \#x'7];-8>Z59=8=zߏ]iin1e^ 5\jZ%1B~FyȚw"SID/ -! #}A>S+7os$JXxmBD soS H4uMgLYvgm A[u2͙kZM%QbY:އ2tQBlij %JeM8)~wc b&PstW)RcaPP*Ohs `}#yGDY!jt09Rp JA͑u=3Z9Ex23 `6tA8@wxki~ǼN28Kze.*ERESDG h}!>3i'NAH=RPa^y2r "J.$ ux颭O]IncvͩY& J1Jݩ.]YD5YnZG$?Τ]FຩeP<[y`8`mD gnW1^[CdfG!՛} O{JeZRJ-?c05t?>~ˑ6+| K=tmhY_xHuV2V+z(ߵ-~w)Gls+,0_Vha;K`F*-˛mgɴ@S$ÞM_1DpKg%K#kb 7Pn^]T*>jߡtnӡj4]Lq%]F'\'wkv}WQ(-H2>tEO˞674ھŧp%q/g_t'Œ&F@= j/0orShۍaXXzsW^ {'Q^WļǏȄ `*#Ϛ_= NQ9[}`\U$ ={~α)G:Kx>‚=ThU@ky?o'+^zuԌ<ʠ/cVR2zb 'ρ.3dPww*[*6}APֆinx|4Ų 8Bm_?0}Vk͋mɢ\cjLNpO2BOqvk}cb>I ˳F`x1*=aՊVJS= yFeNT%@pkVIm.I5R<0d ӷufp=̮9*1q-P&e{BV!Co^9̽:kLHrql%cqT5?I>)U*u Os,Dksptm *>T~MҖ|Hz{Y2tL4ų39*.^ȆC2}yQV^dr Ê>1w%uv"PAV2!CfzD]N1šթ|&qvq, @-q Rz]:97?`jW[O$R=);΁jU^u="WP3̝.H]JƩeb̻5Lym>P],HD⸤?`\:~xitm t2ar$X-Câ1&a  k۪a!o|+4iƑOn*ϒj$'XxJ> Dz4]JZՓnF VЇ.vXU$f>]w*kfa/0N7%Z Y1JKpDZ~jq:] ,-SK˘J;.),P5E~0\ Vv[, !С{h=m;Lap#ϻ5s^V;hʸ 8>a2K΢4.KY$aQĄC:0lմ*|A?\L]%xL=I?C4*K#i] DeQK.ȴm&mZ"G"^=מQfVNLa`kgu(D ߚ{Ґ|SZL̐a !Ŵ~bٰlj葪UGU?SqUYc{MӲFCmB,8YUTJP~-Zs(NOD˒X ˂~\_? w߽VCQh^w}y$:p# /CP:;Y}1e3:[؍I2HUtCO il"e IuxxiD}BK: }b7%`O5bukKSxp^9)lfR7z#YXc"DxeW[hZ1Y1pS!& q R!KyΫu ?Wd3ЂcF(.Ty9 FRJ2ki8ݐبÏ4vKkd.yXm `q8[/2jTg6uiAa~p쵌Mopf("I)|?Qy~ܓ9 Ɵ`{ qz"~2ԃ2G=3Dz $]m!О6ăD wDi^&WR;+ƈ_G6bnR@ - Vиכo/(PymF6GISǎcEY8 =v b(HDW>@8)7#miXr܌=T7ha}[}XJ-dF^/ClDډ7݂G)}Od*A3%Y }acua#Gu0aG`Ev@5&Is. >;~u>kں}bf7L_\̚0\t,3W׿E,2-Fo|#6$'LT<%(o$)/؃'K/^cȿÿ@ujoЪM"/q0 UkXy:f&'0ܥbD3E[ uwU锿hcsY . bqɇ믨j"myr$,k=p+R5{.H %gYMC#3Z .Ǭp~Kob #q8wM^VxR' S8ZV La#23*lbvOZQ&n JR]45$33@f[FQu=; o;rz׍$E},u~_QM!mɧ/Z'A)7Oc;ؚ*++G|z+ybpTGj徝$}3@ uOP۹d$[E5{o=rx 1[`Ehlз,Rp5ٱ-qF|[|oy|aDzq/^SRCu(&'.ߪr1JYbī@Z -kaZnő1@NB: #i=|+U暋Jbuկ{yQcʢ:Pa;aWlKД(ڙd2duc1MՋSG S+H;Ae]2]_݂I9Q84v+supca}t&:V .JHWav86 i63N7mKLl>nI:9`6phb!0#pXWb 䈘XM]Ν׆=6lY˲q(T-F'a:5:Gvh{:n_) CSh B@:v@~1p@Vh $2qi'ܑPZ>͟p)ֈQ1gh-5C;qΈݼl}aki׷>^ۃݩ'`s{h7}$WaGjӿF,q+cc52@ZAGƠAPPd1УwZj8`@ ̼CүgލacbR+K^#u,,FbZ zG9]5#$P-aC\H))v ˹1tm ')e"tS?'kyEJpp2zyM=&X Juֱ?^`z^7KxH BLIj:G|?HpMv6@A(Otf7 0&.U^U'P'R +. 2;AsrV݇Ґ=[j+@ J{:Ikrb`{CǁRޭ<򩊱;,#4Ņ}\@KG%z$)u:^$mL~a=~^ i4tہ-8z n<Ś"ڷ+XF#:@XQxz{. Y4b]p}\]$J2}[d\p$L6?wEu4:k@V!8i #1aYMsM0܈"t%!ܣ1 &xzWZ< k畩1Yam4R1gͦn$v6LTzŐ$I/)~ 1Esg r&'j#s所* MPZܧH1E|C 9xTjTM^ t<5/:O >SX/z!lT*eERf\X\0 )~ܸ}C,%1m7YV "]w5Aq=_b꫺ZP587t/.>}Uo ~k[2S׷ԐֹxZr12zv]NS%߀O1n=_6tSYe6W%0 ȽB[ MjD4 ^!nrc\K[* I.cY2*N.H\a{t(0>١g"DL Usw6ZKNس/YWpGy.. /xs8S_Cpzr;O 2$EFY0!֑v-o\>礇cbkbf]N59m28tZ"ͪ1B@RU{r&Y!5׋1aHtyIM@eU JM0i>+jFMPz9à[;w=hIہ,7D1PO3 8bO{ͱ2x93_@`GTδV PDQ%%ø*,ټ4,Xq4CAN@{ir;ҤVeM:2 S Jo*wYB>̇uц"0H3\U:=t5:%F>z$/nL|JIR+yZ, ]cDxpJ;=`Trfo͆U>WVԥXEJ])@=Y*I9<̾{yql͈R4c*ˠ][N?U8;-va-1ԥwx9RUI fg(5}4n“Q{Bͫjc]=I:hBjL 7L[&ˑNxօd Źg񈤳?}v_lTѢ{𾵐 i!wœOQ2DP9Zim<95\,<9AjOLغV,42Is,OWDqEcO<9v]w}a~a8) .l+&\GLVIB d'*[k55OTv I./A%;$}H;@HuZ]'"2I¢ߠq d+VF5uㇺ,qx1^n.vޜ>?ȕ`M(& PA3u{h6*iC <ꃿOqj iM)?hrr+|M aZʼ7x cRPhuҖq.iCژ!!G/^*Ɍ/It3z>s?s촰ad!!'2 ¹W.=nwf,>W$w6TPh,!( Vd ,to.{ I ߤfH_1'i [P,tXUlp7w ljSҡ1fM{χ5Q{mÅ"UOMtDG `#xBfeJARF z-E p. @[5<ĚgDCD2L})̺go67ߑs#D( zP6<]{3|_L75HQ{ k}tG徑XKCI]j3o(A1N#Sq- 鋅mH:%j?:}dH.IugӯHJ-"Mfg\]Tu=*RlKnKnzӘʲ'TaV֧=\(Q=OM P4ZJb(yBO_3:DMFÅ5QfqW0a'H8삞f6E vfx}L7Ww,wJ{d: ]`ɻ96 b2rfe/*'>4 Iz5{d* VKP)QVdZQ?Y>a흡Dyl̩4 `=nBBEAu+jO&~X@eC(41ڴ/ čtpHb2fy/ >d~2H8WJ/PL2n,'sҙ"*nXo|SANCCKsƁ>92ϢC5rh.U?˸#VH"p}4n#ȁhAI |ZooE*0!zR¬p;'YJ" o~Bwf;(Vc~yHdCVHlM@ڇ2J0%LE-t}BqYT%fso~kAX.}W6JX]|/^9@S3DR"꒖p7M%#o1Jv}\?[4'j9޼4+61Ue$@)x0fʘT1PR7VB ^wLuS "D4aF#-2{jX8<0-1.ՙV-=&&|5/k29sKSԯ#GwJlvYnU*0{7Ttݗf6WL $D6m u;K⛮pri?_f12pI<]t2EkZjb^lZ8ݫRuxR}bݦIX#%!~AӊEoh{Ѷ9j& uvI}k(.q<"ZLdy=z mE{4G.'>=:fdCvR4 33E(ZK}ZZn9CR߱k bWҶZrZCۯߴX⑗jjZ`e-P7դf]eJ˪b2ĒQ2,`/̈́ȸJY'>|A1(1$q p},ٯ|Y3?ћl/; za~S6oS9C%7gNG:sNnT"Y?My%c0LdLkؾa! b#D<15A往z i IPWV=Mz8«ΧRĻ=)Ki'K Sn_Eu~4j[9G:їȥxo.POX4+$G㩞%I!3;vtBԴ; @?`}=Ut:ފ?U[%xQM*!9/Ol: BWZd[<@|h2.^ DI7/>8o3VVf[9@QY7аB2GLtB-Z0cT\GQ_}7n<5Jf20:Kb eLk<ɽ3ȍ pl%:VO̦MzHw>ɑ(Іoӱ5@ZC@oWjvtxrص OusQ5q#$LvcSw@=jTHDL?UBc *j#ĩ:v!Ta?vC[Dy(ͿUhM :J!qU?-Mؤʃל0 3c6`^ ?Y&iY ݡVl+_@otXyN(Ml"H G~dvr{d'F.1]K.aO¨AOUAǿ30x#7Ar $iaK[)ѨU'A0ҏV%WsJEJOW97;"ĂNs ?-p}%BGfu"kD mtۜ{HqqB F]he);~;ǃzpg ᭗@mnLx"{0Qh1Z\jvvQ}c/PͪSLpNKS(Zf% >W!3V/i qݼ^EwsuE_^Km8k_/\ƁlC~h=WSu bbgQ`wÃӴ"`eF\߅Ō?3c^)ꆛU!T74ܑ\-9'C39`Hk-{2yrq0snt.]+pl].}^jFVtɋW4o]׃O:fDo Eb_'M1lf b/!YmC'q U[{ߥ'%AƝ^ H  4&>?#$>c1Cj ƷGdd)OTjvj`Ec4C=ŭ8cܡ+,ܥv'8LŒJV͝[Iy 5R7&ԫudׅ?niEyaCi}wbk}ٹ[XlAY@-#5핓TI֔Ԡ ۤ4h8P+ĭJfa ߧx-*GP=d=h  3]YyM*ކr,[5kK8پ+bKQ3cxv;6hoi;ݦBp xZBT'۔K #dz3|Q{$ |ſ>$vNy}AI" 0zfċ([񁣣0$'v."Cyy0= zhQNS YeNvo}_i_*Ch6xQ5f X+tT& ]2g9Nb M+u a~{?zA;XZ|yjpt-Y*݃AGVRX*CٷHm.M͜߹tvAN::=t.5Gi;A 8`GrN !P*IޑW@6*=?RSi0!ܞ%'V 1x X}EԀXkX .K:oYְK%tBgsA ܼ;vz&\^L;ftXղ؛S*IЮ3ݐʕA#E`CAaZt/3-0QЀrA%pPr$‚ nkI2ZќDPr#/[sbL>sp4!?+SfdžR 2/u[!:3(%:8LhKO^\(K]B~ t]>b/B15CxֽI^~OUUdFDX1>psI3bk=ٰ~ɥ>{|o AST槲ẖ_ߩ=O-%j0xܵCj* iC/IWIZ׿bI,kː_̚QMj"<Ү=AIsMVJ̞uI*G)-酙+Jes~qnrIwkE[$ ၰlVog7]Cpw9v1oW{ƞƓ徏Z$ ~ Oef@^>hGvlMJ=@5$21 1WPԢt2&Չ㧏XwR{µ*i**I[G3L>4ki`Y6}s)ZTW 12y@}n65IH 5i?ď ZB+l2##uP;#r9)&;=_!kC;)K䀄tlAv-/թ6pA) 'v_`plo⵪$L)0z[Be5(Ӽ 2H\yP[ * h.;;ǡͷkZ ijaD|S_(tǰ7LMqNRUEnWtZ?i|&{ސYة% 7WC}1a?ew~φA`W8AWH ϪV9tBRd]n#;iˋI#QcUEX*p!ZBå1$Ait- 'lLbֹE,xDTp~5vr]X+/@Be%BԊiԑ ĩٓoy?g~L@|rq-^@kM}#6~Ou۟zkM= qFA;:CQra~]!r0Aouݤע<s/p%yP!{{iȋ1dMpFhؙ׿ ,(Vj̸pqpt]'?]>NDҀgPM{ٕqmrtsϼ;zd%[Rs\ݚME)[֓Šw.!<4 ϢXفdWYlE\Ý4,+''ʬ?V4;tH^ޞ,a\%Il # J@ pWٶjuvMT,X=gDl~h L!s!&7N'j$UTja/tIHcC .:?@¶2W52Row\Gʜ^7]G )ƄI#eF-7wďc,k(?ΒB\;o`q%XbUN) 5%ū }ؕ50"d+.kLKOv%Mh-3uPeǖ(<^`~i/=}J RlݛD]!$1B/*+grb vL1M6tNt$Iӟ>ivzp`v V$ ߲r*3k"ẇt6ً' r_x_"U@,L t8Dlvɟ0\n^+ouC@:kj-+ `ˡj<]@9)ᨉ.vu 89` tOcc^""wY!i?ω y4 YE )O)Q/ ՍB*&YEJpEvfsXVXlc}v NC~iʪXPevC1믳 ޙVN:0GZ\ Zsv oڸp(Pt[.·=LߞO/ iqT ue]vͽ2.@@9v۩7/xP~PZuDy6RNL4]G[aSeN, %6&H~Kg;ɕrJ[Yqn߂E t RK.TvKYB j+0zV!K9?-ڕؕX*r("p%\ Wӥ>79`B=+=QGrӿ1Pu/$RYZڲ)- uF?t+zո7*V ~\Sgr{W %A%(KAdD_d:0n6 8c#-幃R@:gplfK%r3b1X CCbPVLiNU횭QOҠR䛆X+@29@ynpPmihK@mr^KzWu|UGZkȥ7͈TAOH`g7'Uds *0E qbebǥiB/_ giLtQD!Ac#*9¸FlVKM>H)9“ G%ISWI'!_Aj3G}7nZ^ʩt5$wϸM:ԁ ic-e_ayfgtUyDi KVTb X Y^6 |Dٍ*,"W'|FO4"c@_$-8DxG"bK^!{oi/x1vV" _hҬTBξC>OSfDMQzS#΁>BIIV8xZҷG\t D1n:H;(:]$D9gXDž1Ķ+hyesI|IfGu?~n/6Cur  EjOUV Q9E+ Oe;f&[(>%D6/y\ WC@>nqo52|q]b$"R׷[e=K0'#ꉒ%̪Hݣ(8Y?F䮷$c 4w_^7HT ehf\~1 'Ј_U_΁M=r>^cY06zYaf<Ǵ"(){.3'%2C^"u? O[ѱHTwYMc~y- j2l)⁜:['M!liqr ˑYWok6?\a=LyiAb]!*)U= _* $9~*a~ yT kiY@Ԑ.;RSOOP`|6MP;܅sKپ> |E97L(h$v%fO,8JO׬ynJc gɠmhO^YdwRiGWEZ'{RIGDžhY_5vo3+q<Y h [)N  Re2!( 8܇;ŝ N==a 2 l}Z-Ʒjo~ !btXe[0g.]YH=ѷaʭ(]!Z*lNAзKYhQdIFܕ \ =NTr5ۨ$o`7c,tke+K(>ؠF{>94Oʇ2-(,vQ H q>nV?pT#"cu*S̰VjP ~ D=#+If@m~3iB)@bſ~igxbD@6EqB%*,iawm78 qSK&@7 Or`j"]c}j[vbńwztյ@ $#MNb=P\y *OA>D!h.K)@`2ה.i7$er = ?Bm&:k,gjB4s3kF4{zʷ|*SQFwTD-"A+~=T2E)9.㬑2C g*2l+(/O32շ1&U!IjŎ\0!v {Pz֫b"Q#&\q/c/| lw0sLe'9p"JM[f0L:/AӰ`Qx#LݵhXPL؟T*,SV9S~6E<ِ<="e]U 4p]~i%2C6m)4HAsS.QGt~+Nu q^յp}?&+tkT7RB$Z)Cy8gKݭxjpM5y"T+,1^ ǀ75O,$y]a/J<ɛr(L~H˻zbjZRA>|wSe0(4Ÿ?O. Y"my ta2 zz9Q@QK85Tr?3B |5O xc] gX.M%yc~OCMd֓iJX$N>XvZ7e z(1EFUqK\cyh}.V I&Xy_!)&$T:JOK3˾g[ӿXdg}Q퉸OtjVVrAyw-7RiS>8{$@;O( RhV(oPV[uF &$n,oŝQB|Pܪ*ɪ*|1~!Hn)H8tyPƛۢFo p_)7Eٷ(gdœ0ٕEOHrk?8a>k^j5F$U!$GϪl#ۂHz &)u3L/ ǞŽt#.Si× Z<3'W.R63IY5b aGui pb 9߸-@&ش76rntPY$E?MM`t#S$NW mQYt9ՖPD a]vūhJʐeu=Yv摫%לwn-`8FԷYsOvnĮŹ~51QB³߀ G'W΀2V~Č69(Q,}zjMF:FKҩq-5q B轗B]\H`7| ) 6t-3o0H>ÂDՐy"m y+M!waq!YHɫW_Y߈N4<ǯ:9tcɄ24H|qUmNi$s"|%O?D:|P $p YNs]_# T[x$% d3|91%nq,rV<b wwOPݤJq[0O `FyDO9@-yA:-F wT]g@ iF\K!O.K3PCj/#h v<ᖁ`IEXiT8ܼ H } ? it>*B4u' W6%73w`p\bL#R+Z{G쯚*ԪS|ޡix@،,Cm.= oNc\N"j B'O0ƵG6rC;un?H>x?ɋ~ɉ䵱𮁲~T#|UBz>9ĄZ7oR7yip(gH5]zsc޵{V{]s&;yz )CyeےѢrlbJt]usqyS 7MѨm< 9Vp@Q>!t4nppjhFl6xr gq $F6Dآ _+"WhhT" dbVЩQsb S~qqnOh/UgIz ʎ54i' [~;S>|r?;/h{3z5ԋJikZ.ݫA(Q'<AHw#OaD;'2TS,抓mT$GT!o5Y}|)k3?/6QN~ aTE1J~Uӯ7qvee}fm']so4!Y -[3K$] @Pk*&ç#soN"7(K f2 R Wy|B$< u2!A }OX}64QjAWIII=zGư ÑnƤYMfh9 '^)xZmTk,`ɔX</VaZ0 c0۬ٵj&wl,MqDUHf;t+kQ͔YB\|ÂňWWVr6 vwd B*!Hi)<\[|J ~cyars8ܛ~AJtMQB;sZ5bF7^=a ̥Ӝn\F\qa #u>GX/VLZKM뭫2H'&T*0*3Rf,a+<8aA aʷ1KMo\ Y'P5%A*eIOqmGpv>QKX Y!nD6`y/<_yGpdX9%?vO/4}a~1ok\'.J'cy{&bH'08diݚFt%&4?$U˅#OPXv7`f/]V1G6lSA @{E"fۄd m@/&#w,:nu^\>sk _UyP^' nO?$/L /ѫSb.("#U|dmf&)u6S}J^9CـFGZ3]`FMo EQsod4O =0IYH gZXƩr܉poNvV<{Hupb er-n3,gq+ ֊LϺ[̈ k+lSS)-r1.(Zhzߍe~dL$a&?v_DduVi~ۋP. SAEQQT׮ϫ;k^1c)FZYnt"D02o96ؿQ(ҟCsQi:t~3r?pv;7Nxf VT,ޓ"|mZ)  } C\c };sFʺoՆ>A^7o@HG }ʘ6p"{uBV-,PZy!2V2ܸ$Cۋ/Քmb:TD QG O~+CnTRŞ51&IJ_RN4o/pP+UI_Rhz*B2̆3z`5-KRɗ(Bri UqFeAUƱA)e$Pfb}}&~'gQHx#GHZw(SK56!TGzZٿr)- (^UKu^CZ֕&Tpyu§H򴝯NF>\6 ?6= zUIR'A;vU:)+zP>.롆vl?5nn;,FZA D ʎNt:"TF7 p#|:dA*QIwC 6R;~QK3Y @ԍĐAqmNbD06*N";=1CmGG5lZ񍭉s뷻{6K]:ya]”k¾R>H6k3y@|H 8;g\?ѝO=@,(=NԡiKwk_;pr gg lWRG ͢qPagAhݞOfa{ c(/ ɪ|cើA'tX V )*GT)5|c5ΚY'wǴî>6WXL~Us}(%,%vm<2 5 5M8*"I <|Zx8M͉ J>BܐwŔ)x&o 3ou/(Bhr!eh?^H ,A!=/ry ZLpYM"azH=UKf{B'̡dWPp 6m=᧼_Vuiq##ͩeC|/~#5X )VwQyP8BF@2>@t fz -R"=\ 9(,C/'|3Fc| ̇ ycȺL,\ <۔Y0O~ MS [FTM֣$9'a߾z oUfi% B)wOɥ.5SyP{"y$G+WgBdl^-m 84z XA |6%$xsVT")yK+tld*#eTѦ;/eـd0$lAS c[·`?֌ Lapb÷wR>R^Z{55M9/QF|v۳rJu79~LUFRE$ge$welh&աM %vhU(]F>.zk?ƜU 6+q[&u*UZ?{M+NZx9]F5Gm΀*(;3r#B#d*|k\+e3bgU#Ţ"-ɓu7,1Bwab/|xm2_fߏ9#ѥw-nr~#Fw[4OrVӢ[ J1kRq~tB+ >prol5 "L6?y76pZƒ}%ΌE6w^[&k'=pT"]5[͑V}6Nb_OAn[N7tOr~|g̳~Ko2psW"b˰imy*m20* wWMOM&1BS&I[|W{){hߓCL]IK.36起<SaCQ1Bs&,|_5D7e<1MNavBRYj[o'qiS\]3a"?z͗aRḞ,r%A>CrGp@ct| sT_J)(&m~|nq3NmVeiOA jzރ^r'aȠ޵ɓig tǐo'?Pc0,LwM8MCk%%;>,{f58޻_aXM,Mψ^@fqmi1:#[t,}G5@*:gDδd* 8r 92uϥڪ+f1V]IG4TT'pxe>xZ6cMBNjpSbt.9t=Cl}]ѺD Nꙮ?~Ah=N[ơy[ ,phN=cڤH8S6ƌQ.'+ŬݴrNcZaI "$brV*j'Y ep.]L&t(u&NܺH JCBU z_5\%X1!["vla'|{@-[0!z:f,1لS"|ssv@0PD mg f' 3H4.JzV;ꚑm#}8U+qatg2X0eM#/|AJ4Z&/AF%S{nM'8!>.D祰_āM.1a%h g%3R0drj!+⎕nk B'ި?o;ET[u^pGd~#%y8Y'Yԫ5|zMh!S^.E0g-ơ4.9m+ QLaϒ߆LӁb|L[R:N8t-sʳSxM͎+TXi>I\sN.;ZU i>)fb"gI={k;ʹh5P$(t{\%;/8 Pkm ,D깄Tdq$= Я~)7G %UTZa Nu6EYŬ 4߼b4d ݺy (Ѓes>e{HCa~So0BFc< *6`Ը>j`2${\rjRX|RLJՃ`]2MŔmȑcwYT:;vEi_yKD 17Jl!U]?@'Q#mp^h?d :Tq`3HHEۓA_z!Ֆ@'7VP޹Ϝf9͟E&>3Vwa%;E*ƕF 0/>}Eu$gB=| w$P"DB_8=1Cdˣ d%TH 0'{ճja؎DA߲% 5t-MV`<+|Y @ޞx4C6ggAs%6wΛ<;}۬酥;6d ֵ.۩! gҾ` l彧8Qi|Ull2KJB@Pkwt"%7n$d1'dv&䴃PYp3{=_e}!_[g%|L,fJܝlXRp;"]m mU`LfwEϺif UvgI)Om=M^"41(kۚ< &m8H 6X f^, 'j RD/8Zҝk;%GG%+k<\f,I~,ʁSG#;`HCed.q6RZQBT+vi[ˬHWk]Chzfdlk_-lOaEӪm:6TmvFԛ ΦIr}mP0rcPߘ >m w[>KV6/MRᯕ&7\p84f꭛$5DfNWIzOQ?4R.!tKt2ʴfbAXK]u)uotNF냷h3L@5|;Wzjaa'+^EXPh9Ȑc2gHL!)R)j_PGu[8KSYhCxU +&Zy;nO|<ZxTH=H鉬Dڙzސ#7)D! dAj8P՗2H8 O-7tjXu$j͋!l>)?io=P4:˘rbȇS4{*opHPfAe+$Q]}ַj8{Ϧrʭx}ZK{3Kֺc߶349Ob&]R>Ki+$sjK_kl^֥OECRdS?m$݌Y| v\kƔXlv6VT"dM JR%X#m)KE_r}8 G c`N YҀd<;4##fcbc>ΝIU:>UP:5aT{ "NR3hخ>^P G%Ʋ$58Tٙ$1X[3^d)zf@>޻گڍ9p@It@3qA?PrSvΜo2[:_-ӄc!OA` C cϸn)dpĿMJfɁk0CF޼![rb+cĐ ۸<2vc6S96š ܕBp&߼dTAGю0*q~:`]m-bZ5`e.u PF:wխ٥8W45GSSxK)eTƴ7V-%\Y䡛@hZAjr}pEd*0fs!݊bH-LHӼ9B xݥK$m}L,JK`9d'.!w~vu}֤/Ԋzw-:@x`UnaLwirJћ.A' s`r vGrY01 Йw͜A{aMoynw,Y19YS 'qJ3:]No/[Z v~&ܔ{?뺅SgMrF.5J%x<҄'<x|׾a{onk T2l͝p#/*Q\ZkL۔F3WQYFq5Rk8Ϛa /azrG:ZB8lf5ﴌpK@0AFD_M 6f([87W<`͚B},#t* kUX U~MJhC) y =ĪfT9r[顪;n,*+ٙ'!Grt'9ok8/ !b]e[$`k8}/SuDSm1a*⿃Ƿv*_$'wEfv.Izc3v$t점W)A*ViO^UL:}md|F #^3@A6{VXdYȠD : ,m㧃5_֍A"Z[ȕ_?Bht;]V) &# NVeDTd*@p\8Oq- 0=$l%2l>%ov$pac 1Dو`!m &9RĢ!u~fǽcۋ:=JT8Y.5a,_\C9dgnger-̇jһ[頒xKuL&-OI!n!LeH5 A.Gl6.$%4vR{ҮHeJW oɴppz"F}sFē;p&-bVLZʞ_ߜzWR{'uyN4p+dQ (Fi:%0 ) C0Cӏڸ#uxT4T QB*ʼnw~!ۛ@N&0 fYnnkז8 $'9j%eb l[{+B? rZ6}iGtVrԵ~#z*-*[,d6 ߿N} ]!ѳ2yA#rA{攺`iF&y7rJtHN FQpUh:4 wKF܌y& (vℿ5d.'_P-ʂ`\@3T#Y1ں4c6.:]Òi@pAN;3~[`KAY@xs4:J}[&5|8Wlw}L-Fz C ˕x1|+G6) ,8a ?Q A?ʻ:-&|p%j;(x0_0aҫ5N*s/cHqu.PWfQD1#8ks|iVb.|A~ H.u^6/\6Ee'`)/ iesF,PCD@OiGLb4Q#7 w=(T_B["PPAF ~$H\Z(eW 1lh8Fmcs͚ejs㖻It^h,FrX<9!EMO&*.I*o9j2[Pv 9\#iQhz(Ob3< _U~nQ_:f]ʃh!z%Zc/J`D3t=-'1lEGČܩ BwVHh%!']CI9&h@ Ã8u.b1=;GBŞҴB8uEcnqh7RysN IЫ`J)Jf>CSwΤ,?hpefkE채 W!dNi |$q r Y9Uk )rYBPfTT$дY() [zFk=&B fo/ X%4 7 (bvE$rTD@RceMlHW 8"}GHLϱjDSN$ZwZ #Soco=lt͈!k:?'VdŒa)M1 C8L7mD$x[Z CnJ}K\Ao E*\qߝ/G?-]Ӑq\ڕpirUYEey7#+zõK'3/),5f@pD*9؜G{Qv۫mv7 aNZ5O6y_귅1XXӜCflO%Z^Z{wLDXqulW'i1 /t!es c^cOP4A9:U잇`DS[޻VuzԭE*MbY`ʺ& {blI`^C6+U"@ 0Lm\#bTi/$ZW_;ӯAY]2^"t!Nc1'˧{ TI%Y~!ʺIaq/PzXX@/E.fCOQP$67#Ͷq%S 3n6,]N5lG7.X/ep}}?̢R*逫A,"hX,q|N:hmdOv+JmDH%Ze#뗛JRM[<)=8|OfC^q j5j?vFSKE6}>uQkdxV"ܩ2:N ˋtSQ0k"w3Q]8F]Ȯ<#2NGu -K9hB,䶾m˵LʶuaUm(/>ur{9厫\Lax0y߿|VO Z@Ibl㞁g_.`'Y#Jݸ&z,A9 Z?7v2gtq#(NN|q}-isSv +V{~Oۢ*^yf'Bsz.\{d~+ѽToڡ'f與:jKݿ-b@ç|ncf(4ooDkXj:LiWL[~W#'nR2`Q*)ͺQZ7E7>7/|7K [yGFC tI3;LdVN⥗x W7q;o w^&;pme} :/iv'OVN5=_%EdG&7ƄoW9'hmSjT/DH.ó8YlШ  ah7$l7"=;48sOz}:>,'M5`\w}#,B$GgD(v!.*3#ƼȄRB^W%ZiqYkAy-s3Qoqh9D5dEai!LO=UK|noLx>mXѶ¤JF4 3Ktrkm_Qe8/l‹yг jkz_| TԐś`24ۭJyX.='C$ }Zp }zݍs 4Jkx'~Do5U=>Cln+(@7|3*V]?Rt/D>IHS*3%g^t$Hj)l> HpCM.v{ߢkQ% !tfGl-671\%vExޭX!IW(] 0 ^ohj%䡹=D!B7 v? ѴЃKkOUņ,v-"rqAWsN&9p"i'%U0$4T޸au畏=[N#=s92ޢ=/?^ vՑ4.&Ǝ,wlyA+_w~[>hP@m ~1p#f @ꮇt~MSje0|oOd}2ZO=8 ob)1px_b0"5뇦6^2c͔rAYU-[K3a׮|0)i17Gp:n"k5dҨ_!BT^Fm̯/1Bx$^OM`pPl rո:6/32 yMC|8P[&,-L*-ݤCd?v~^Q/HXeo7s;KTUi KJEhW{F{qǺ/$fL? i@D4H Ȯ.t +3uS^>նqoE#UK a+PnH.(7 NZ4\38}⛣ ì@"JJ!TL.sDIOF-Bzt'se|X6T0]B;῞}l !>џ9ɅG7 k峊pZDC³OJԻegV!UhZ\?CQSzN`##̌Ix0(֡c~~}}u`hUlgJ++a y Px깞=8ھ_]^/O 喚(J, >rσr[y X=3U0_:ZP"!zeg*xu8K^$$m.,uc㼭]`ly Lp^n}GBl5E=^{R%[0#H=\gGnsPm(QYזcvQ߱3\kƧ8iȭu7?P׏R vMm9uaLjWl$ǼȾh9w[:S?"PU0Xb wCs\ah͟2ssq*[ hlx.Ds#"ނ]PTP(L #KiI [Ym`O*N^ZwS!HBѝW`6#3и%YHPyi/|jיs](da6ۉSS7+Wwȅ:Ap a:@x,3;PzHO]nr6@ԥ_w{<=f> En~%Jh~]DX#eX.$@V}x7 :l|3/!f1jAВ>d&lǀzH6\\khd+FƐFa݌?o&uF2С8cUP5k!#TZ SrʕF궲{]UL (GFLoJYׁ1D}"Eb%n+'W냢'jasn[` PWpM80k&UdK\LG2-4d! iI/T,9WNkRs}YJ(1.͢oOsą-)C`SПk|=qo{!l AӞoQyhpbΫM9xZt1t4BYf>fGnPCYn Kdu*%q)h ȼ3DЪ*'y}Wmì%rڼa[(jqaz 8ﴸ~a )}A}~'@ZhVgoCEfyEY.C0cõB*8aQj0HVi^e$GIO&_DB{ l]j3p{ q#g}Upo+':VpЅ(uGKT}1z@zYX C?)f]tIxrrhqID+ wdBԔHC۾vuP̽_J6SC{ 2␀a~<ThGyeڢιI.q!`Ou}D>LD-~\U٨.f{UmfL^~0eLn}?@::K$ o5XǛY !QHR}Zf"P0M݃gA43sO <c>ET]C2GjŒڬO)f7pDJƧviO/5vHP[nb+ȎN_a( ؜61xK'Ս +z$rx[UD=Qk<]MqPrw &!Y|mr9;X&`e:.JuNR~=1 #bfg? ؝}F+uǝZw( g6 ~'Jg=ߊ{K4~_<,v¨nH0wp)XZKJ%F]u$BԟRB ' xz]c5J+YQ+vBZҸ$$w[ENppn*WҷSKYڸƬ F=&^j3QсU;nm AFD^.3Hk-)1_qM0UnPR4wc~ ZA/~` 뷕[>b%E^T(ʙqH%ƛ&?:EoMM=>JE ȋ*r?_7cC3W{㎅bCJ}3U2M*oG%g>?SIRR%)qT獝Bn}FتFS _ոd̃rC `"'g!bzdذ +j QEJ}IK@ʧUagdXN^637яRCĹsvo+#[usiewNDEc&9"mH-#sSlYחmD@ ?µ2TQD_{jrPOξ]{FWh'F_v?F?*^.M6(jS|Vbxv4G!El爖d~T6%џ?ܝ>b MnO079ZڡX͠۩ؙ(*?z\`b_[3p)* AvpGf/.%\VŬ0.99ք+[Q-[ 6x)re)FW'X3u]% HLփWl7OHzd+Zcz{Q3T0*#H1~xw 7?"BW Jz;/HQsr1Ԧ[\ д~=eHƔ! E334ovmsf'ئzk)L8OkOt(܋$4^8ݘHKhSL faEFYHsz|1KA$߆ XͲtQ9= ߩ\ 8S@Gd4)!![\lo=9e$7g}ڑaCb&ُ36t/3%UYNG.ZP:1vrA◶K7vbPXNxX+7]^W8b.r6!yIPpuUR䋦b{ZF-T>{?%ԟkZթg~cuRBm͍a=EbjD3\}H3k"Fw+|E  Ӂ%v|YhBN= zaFj*PAZZF3F3^@/-@C3UM,"Ŷa[@שڷY9u-K)b UFtk\χkJiot/F4u^b!kC~<ȥTN0 ыS/ 23_K:)*&{V"l,bHQ]<eCTz ՄD]Eu:'xw-~PI#\.NbA] ش:+=2 _jա|@_#P7b4}Ao 62>4XUAE g)L˄كO)* I~\nEyK!LGTv1x(d?|/ʥ[@t|qJ2%dgNYktEdݐG H(h^fpZb&铼]4Ta|Fjb;OJ`U%f' JΉ:5!yMOY^VC<CΡMڝχ:˥|mKXgT$9ÙDJ (K}dO* q=eQR)v<7F}ڌEF֨B76éKu 2nm12&6^J-J!;^2!MZ)ڇ~E l#~ )}1*]w8~RLjm-7 }ꣻBx'wP0sÊGHEC&cP*GC @pL_b(VVk5B̰DغQd.0=-`P5BPkk;ͼI'fg1Bb"7J,fe/ΰZ{H&)A6`0 77CHx5mr^w:xmfٿoȿedkD w%<;koz "{+Ì(sVIT&: Tګ4RPܻVJ 7/=[BV\E ʳЩ^EZbNy%_!C+;9DI--xEZ5#0=Zr fk-묮]ZIu=rp6E*>]I;N69)\- 'Ɲ}ҐF!  u-㔞EV}iQ@; 5cԿGRN+raO5UKsfF|.\heࠛVlVCzV? ӏwl:D|E {) ŵցPɱ nxϮn/@:y2 ?5)Ob-Z}p<9 uAL =v՚OVmeH0DdKaR뙎Gg ^oҰrA" C|?lj5[۾kݎZ^ K& 򀚃_,7  #n@qз}/qGz sh;Y5IB[5QI"ca);o,pи;j"qe_Սa`_~l$8Ï)@KTZvqtM M**9םֽՓWOEQohV: fQtj%* o tGRd@ɦJ}Zi6x2ǤYalU#jm -/8mSN$'j%C^`>$/[Crͫ,GNB"o+bM\߶@ݔ|ph_fŌ N+#9&5veJh+inm1+0Rj#zFo%sNjIAw(eifM5X)ͅLTwf0q/QO(Y!O^}V8N$mLw^@<V1J(U G ACaRRk⚨stlTMF:9)Yґشiǵ` ߇5Z :lBl $;fꍏ۠&)UFGn"Jf[//jXy؍<*c_ \fsݥE5U5Y`8R@noz@ղNMh4,z:1M}E^VHׇɜdG`iEx tioɆ(%8,?-<ҿ˿w:q _\CnbG%=Me5HxVF8)3q$@2Z/ Iw;0ti9,.8v%_kc{f@UCʸ߶I9 -* "./l>AZi(rf!Z#Ӌ'1h'TZn1ۣdXha{mƋ/kl4dyDDāreHAY\dޡ[%gbؘd얫m]sz/UhU޼ g>~M0U^'{(kwJ7❻ljv[yetc)sLjHg,+b:`¼H;@}I?֜@eX2 '"@7{`Y'ڹv`߬N}.ߨ=|Vʢ=ack?C+,Ls̐1Xs gFkj2yG+w}sT $ӭP@']bJş-Gٯ*lU; .=bMEd Ai07-]86O-z%o vK̩38{ph)>K9%d!$[gͼ @Z)2䜗zO)It 6JO # bYYfB5ڔ)zfhe&ޚԗO;@oȂ?3wIʬMsu#&L92:*R$/{FIB n^e U$x%8szQ2C8$mk'Tˍ ^[5ĥhg!f7hQĔN%EX(ZErX/Crcy--Z&/ j=d X=b>qNJ_=UpɅ[_™]+2AC%fzdvWfg-j}AU)6]4eS'lEM--pH״)" v{/$ݒ4nVk/ނe l7xxێ ;:-/ $4k!.zdȖd H]'9ڭ"oik|k0}a:74 R{ux.<҃&S=~Tls ̗ g@z nĔ~P5 E> `|loL0a;3M4.X ꒍"<ar$tCQ¬".?ΰ,VYe/o𦩈zƬS'Zi fօb&K_&70xJJ l&d6i`TL>s]h20KUTqPuي .vS _bDB`%>)~At\' *7t8l'ud*9t95O+[y;p*=|tzf\l8۪`Tk~ b&ݳ](N0O`RI®gYʡ+6х!)$j*ɳg|\a>]z=lDGG"$`M7Sz1ܷVCi0noT 3>Vլ6&;uKE 5*;OW}h|'8mН (lNa@B{nʌ66mxY;h  uEq#]Ki-Y #[Q_!ȒVG`0˔, lIǺvfBЛ B "FQ=mSh[# hwO Jش'b==9.LOOFPmtPӟYhg͑)P> /ڰ~kCuUc+l7’Kbh].K(U:ĦVvjfG9*Q0DlVۚÁ@J=f[xnh$!-%KT^a$ qm^Dx@U4P%d9W]Ap1b-iT6gS:^q5OF>]x+X?v4|M׵hQYK0Eϳɖʲ*Dx ɾ.W)mu9GZ$և2(c\jZ쒞T` pt :ge̶Dv=Ė!XA~ rDn GFZ?fLӠaM9&؆' C 7-FtvWbdN$gi4TDwryA%xd]+ɀQX_pFbLղsO"JU@m ]ҳ7'2a%srd05Yk|EKrQ n H cpŋ QQׂ5]|Ra8)ĤdglA?OB\9М!x-CfṫXtͪI;+)NTЌקJ"Y$R:qmHVj"K8 7Fzx<H8 awNXHoCeD> upM ;zZ4}`52P2 2֑R {+U3ӥs&\##rTOei*%M|fљfNĴbHd5-'f709aZV _Ąf}Em])w`af"Wn_OP!A[8HBz/XXgn~f8گ+/lGB׬(4h}J43d5,6 w@{(D^^"zQ] fF*nfAZ Js|zYڷBHDrli%E %ëq3,xj_[wCY?lġ&lMb3X{%I,]: ;HyK[TAM0_{w5Pg^Du@Q̯G 'qLNZrЖυsΰWZNEG6 z8{\VriY['Y&[J:vX~\GPw!1wsb;+MzxZ$-0M\8_dj5rٹL~?9+7U˞48J .] >[=XGm?;~k~jqNOyf0#1g["ȥa~^/=h H)g'pIُsEǨkV g {z\j&HYk ,=jyڂE;׹c=,1~uVf(]ۈD "ugD gIC82f#q15C7<{;=6-ݫ\axK n@\$ VKD xl?<=t p'X@?2yM!yc&k#3Ht!,B=T(Awl;AJM_Ǝ^QuX> !FٵT?ːM oɤ-[S 6Sx-YP~Hw!:L$OtL$:%Ћ)+]oXئwg(d~B/o^_4WUV ќ(b \:QbxPXvՍ.pU&=7lYad7ÜsqqIJX,yU/ء()ˤAWF7|>p4IÒx_Cl&MVߣQi$n%bo8 Ra4S`9촌St/ ,EK\!Ӱ-l[z=ԧ昁@]{cI&LrzsZb&NMNM*v_6u% g0Q_ ))BR|8'!?TgQ;.Vb`syۤݹhU 苆C46u1`3EW0=b?g2.Mk3\q:Gdc|'C~ɝ?I- z9{Bf,f}LWP sP7qLA\ %g'bIM2!F]_\IV0RK]QYBqfͣwB!Q#V0 MS>6]oʁ`UȗycLǥ>F6D4dZg؜zU:g^f7Nh ]F1M'/Y/ YV%;ެUbgwd;B_.q"}:~ <m_KZQ}LrC1ߔmrNktU p 5K ~rvś7\50xhl~s^+n^ &}}i OT oXQ6w{pUlB*-T'Xx6sHwi KQ =c+j7X9Vך"U4͕sBj0k7< r^tGu-:{:M xIfA.hHoj^>j9mwξu埻17)>&4t흓as%`WhB{S& Z3gRcfX2-DKz@#YZ)8Иcϱfpƨh.x5 (2NƤHlR&@.yl%Q+w X -,{~@w]q!6|N 1q۾)!k!HE3`!Vd+Y_%@) (OJ9wӕ^muC8R18MpED&XRc̵mLn_wh|E͓}43"aV,'/IQ- jiP{m`_z|Cuo]M7yd7۠@EQMy EhL&JW`lpg3XM W2j)G¹9m< Zkqgʘҽa\<`pO泖Y>6 w AU,ͥs諼Ϧ"0XՁU ,i7{6 Wѓ2CE >&*"_uo; NI.dq\ڗZJ)kpA L!)ƽW뉪R9өGCPX%fUjE'2XڏrQ}Љ<=:KM]0*$y_ ]#O$WA F6KoGqnxqs /[?ݳJ Mm 4o꯬NkTF[gkZhJ_fɕk|WoG,ǘUq Yue_ oK 겭Sb|uz ?V; d@ /n}MwąS1_,-bB7< WgZCXA~ZT ]c1 *Q{)iJZlSz[7R7mHNP3YX<_[ApK)opn24WJTI5fnW*Ge V4 !!P`Ǿ,ȀOV>ٞAP{;vBG D:&2f2K4Z~MypkΒgS}AXAB;jw^AL Wv-ZBnOPRJ_ ԦJiglhB\Ƽ<(v`pCf(aYE[rh #4pMݫ?lzso^x:T4Gpv\u0)}X?4!E;>:GsJp3B):ېlcYK:uĦ7䯋Y&I(asGґ3fYݎϮRc~XHd ,q F`̪A=MLJ,e11NWU˿oI]Lh0eaȃѝimaY"ȖZ8 (i62c;|L=ȓ`K&6k܀}m-Q@'뽜oHwbI^E6lC16Ƞ6)OHu `!~]0YDF6wxz1.&d;u飊.I({<"RF hH^(p=Tj;D:ga6KU^hTJ6-i أб3~b4ˊ//gg9MKckNݺ4U?+;\]4A#t; hu`&E84@9ד>7O O.)=F2uj8>"QY$EME~CX6R(l$1'gJIFPw9ka(qf D00&m(SeDvEեe]rT@"΍F쩸.v5Hfwrճcg`zEiqǨd (7 NJ~B%6,1$eA >@˜e:u8}Eje` !4ON XؼMjY䝝o7Z^2jyqMeeUZlyʡDF}8ٜ8 )yNY^7/b;v]y=1Xr~;o FxK-QKNi0TŒ {B8&N;ޖL7x ƉϾ/Ou$S ƣ†8g!gx=iwpF0R`1@ޔXkٟ=2KXG⹶k((b+oDOj o.kF& ;$T}¹ EK9)"mҔb(0^2~/H$n.-cx8Ws;"G̀dU>Rxq3*?8T9C懘:?RRNXPOtga6*o=|=1cmAџ(0|4C> TA }?Z+}ϑҙN#oә}n/]3ReYtDHڲ#Ifo]΀= Z )4ZO P|["`@e~3V:, wv̍V ..h.ѭbW#Śbl{gNgc0ؖ 46sҡ$ġEycf ?͐*|Gq1IfZV}I>7;C@c\ r?8#rt5=iOoOH,#t(AծVf 9:po3xUm $䘳 J9F]+TF#-0 )zo!ݲN}2ce:{$QB^pa;C)Ox+[d(NLeNhoޖܽmTUX%}oWx~uBp%ijNx"'\/cKl7{ڨF܏ԥIz8iŘ*^yWXM(8.=esUTmI*o"DMckwVZލ0c:̩x-Ft+-Wb~uuRsN/ygW | t6RHBfpZWJKi #J_X!n@{H ?OM,%W!1@ U8KJΆ`H6r|M znvD@Q>ՠԵ?Fs\pYTVP v,M3gݥSxCRB.6F0[]͘{e3Xt gm1CewJyE7>H=\a_(4P|NR m~ :)w i~tt93XC̍NK>hsó8޿13G3al y2J}&#>Nϙ ϏZ7!E &dĞP1 lb?čH@La^M;,* u'l$q&s_ufX#֍b焨]O?W0u"!}\Ԅ>_ d=n%n^6A0zAȃ+v2yM`f)nIF.!&iġMvVbk "]^ JwhCk_Q1XD<ܵO/i FAkx=1Ri 'XIgO 7^ ]"›z>oXYf t&8O^IATkqlݕ`P;cItjU'fC `uGJ-]$RuQC*eN(ahasYy+_9_LXjOeW 0DKI^BjK0C, T;_ca=Ԓ㗪5ZJ5ӱZ Zz(ZmF̭L?74,o|xR\oGr!¿EQ]&@v8!% z)pS[O' `*YAr]9awtpŕt ( ѣB(`bR }O\lt|Ԛ!@p =Qf󶰐ɏ|tJmQ^$+=Xªl8Ԋ!oqysC<iEOw.xJH[ou^,,GSNWO z*QD-$Y;TUxwͨ=4[dh&Z_|z)p$7w| _~WSA tZJ!նIU2^xɭ\YD"H[2UYNDw.H2+)$M1mN )/ i:sê10JF.e{ 4"5 U"i Я,a~?W<{ }>>G=q7WdTm8TؾҬ kaj'[|M뎌Hvwc]+l3!5&oSm!qTs{f,S̨wX0hl5ER"oVq% 3&7#r+TWZd ;1iV5,hBzQ6[9o" ErJC]\̼Fwkح"9.!e{Y:BSsg}Q=k}ʗٽ0&;k]b;z~=ݬw6/~ . r7#%&]꯫M1|guKGc.4x&SD|g({IˠAԕxGZe6-I&i%Ggq91Em ,KV;y b\<_~p)BItI-d_*}l5֙OτX񘻱8؅Tw{?U2 FA YYؚtL{gfz-]vAX4Ԯ'ﻢP,`8#}G Y??acWC`t拄6&kpy# i2;#sX#pʝr| W#Qwk.qRcRj"eXZlĩy6g1*mkٴ1/,zH;Ccn KApw. z VHծ ‚1s&ffh-/툗Fi;3#nkzu[Q^%;N&o \3zȺ<7ƻh\ܷF6RήlVja) W9eU1c WN"_7]vqRW,T\yNbGjyh jjPo|+:~GC9; .}}pX?oZ ow[mDY!WfX,xE<#OɃbГFXBf793Cw8dh*lM}H?/󂚦7\- &tXF>)8Ǿ]&5ýD6+4[ Rʩ7*Cw@xo_L7u1N9Qۛݳ!,q.=}\Γ{6oj(-FIH~ۈ#m70XwCD-KS`K/VySfSVK4,&VGS`\Y0k:Fw='mZ^a Ա |F}2S;mɈ.1o705R{xv )[[7L6aIIzx&I&*Rp$yyU^T|\#W] ʎpІZ΀S$~ykA6m^\›wm1/ GI$Bee ې.8*(8S Is^5DjuREjҨBazgv@o$aӈ'#&{tC12uZwH3U^9,g]FWKrU(}y&^n%!r걾Ha9 wpj䙁VTqjP̂'rN~G׸ $ސeHuSq#m،}=&2Q59R^ӀJI m#*(wo@Djb4HƑ@b-b U?XnX~^s_8N#2B7c%}b:uۗp%aZ 3RK:{\'dV+yh%pF~̃ QX} ni\Qab9KŠ,/匞]0i(:7¢D&җw#{PaSWRWOp/K&WYT7X ֝TS_X.ga W LϜPhyIȃ†= K+oJG.F0&HQs P%C/.hYT7R'eҙo=XMr`Zw165xb΍(>}0N4c_C0S7(}q .7,LY,4a0>Y6v~1*+CPUGGB p,0LjXcq_/^;X;ȯ'eh Զ#CW^lgJC&>$ZZN0:AV[?]:-ĀҰC7_ÛbNE¶੷ ՗E:wmT tZX)Dt* =i w.wRg!vGoOO`߶.O`)H!SPYWndp`-7G@[v#-yp~ }OWPEY<2U}S bMwex`ZﱁtЬ3?./:}~ԺoaO^#{4Iymݭʎ>pr>ݹB/<{j}s.N"^l} biNkq*n02DN$<_?}o = FH ӞG:; &5]\:6۽){|9x Ŷ,elr_EO%گs}Я(`' 䴰6aFZ*T[u.H,;43(\lw s4L໗}mաky3wmfxz)`;n.3fE&lWJN2ly ҴTɱ,A]I𿞫~͖Q3mIyikKCgz0, t9P9=kk~WH&0i ˂ K)n rz ?sd#?(j~Z QGr-p@G"̦ $7\TC9qqHTsTN̺^KI}HŊ8;:.CMQff//¬~6F5;5IpQ MRJ%U4ST*RjHW!CNW#x[/L5D*: 訢Պ48OzC#&^ u(ɔ90J𲫽)w!1/6n#!c Z~p^ {m#sZA31.|'5n~>cC)Ϻm.rd&RMP/~*K崏QSX) j(lI&ᄨvbMTw=Oؾ^Q}:TH,E sywbq^tFG@}Uʉ fyfZv A6.ZiY<,5N܎@BO4b{GEy箠 :r5I!ȹ2B%㏞(%A`Й-Pi 1aoCA1 jZ1*krB>aLnD>%< 'y`w"@oJ' sO;6M*&_׬pB [osd't<7Urp?W#)o CEҤj9&`9ښi+3oت%pp+0LWkX4cHl#2avH~04}ʿ$Zؤ/],'y wO%R(?dA[gMǺb(P=Ds}3D8LnM덁dͥ"t(wlef?B^G@lhS\oBnyzep3`Ճn,M9to}cJq2Hcsp?Ըmj8mxG R^rj)g#owGu[bcd zPAqP\| IlCh>#LjDjq%5Zh4BAVoR)̜gɐVݴi>حrf$y$ oR GqrP|N~ٱ֒.J܈)vyh(#m\&Uݳ?J@aS~`M7~\rVa6RM~",Y9= p"FHE[N?dX;n^Yb6 οU a)hoN0ƿ"59w?,sj7+7cuhw:sGr0vvLg,Vi=0{?Ik%t9mD-j'0cLy pP} ;\zs1\8yHߍ(dtj:լ 4U۽cu*hߗ:= F4 }_܊ r&*2_ub1B*C\Lw3,5aXbrXA[;^V'{~ $RASG4)Z՚3,EXhլˏ^fx[}WaZn,[R#yά.y_]iA^'?#]/_z3zu@Nr&JufJ^f`7z>AFYG/$!+j0w]Ȩ6M hXbf}lUxC> /6 ]ȮȘo_H[~ޟ2gdj{;gtFye4'cTH WK*{*Z'7& I7CQZtƕ1k$-.`o%{8Fz\-"wA~mCKa,8xF}VHK$Hͻ!6pjUAV&46D\]*iNWĂlgEpL|M&VOarߜZ3YYM$w^S''0޵l,ɳg?=n`de9bW8"p,>ۯ&J E+K Sf: ) QN9sǛ{S Ѷc%~B%M$ k~Eߴ,E3 |)f`9N7Z95XvN%3]@s~3Ҏ֣g#¶0zB]T 0aj%_cq#eNDT1WXi?'_d&>dq5q#ilORG7g腄b ȋC- ΩyU9oPa󧘊U0Jn=5qSC b3%8 jA鏭Q8\խbsBl(*YAdJP#[}r7@.Oh/i eŨd5 9n YJ l}ڔ` ?,G5QK23W^N;oNIi2Q:ia+Kkr/H@&zWпCtP ߽HE{,Өkef:;:R/vJ' b\CAvtZ_8Ml鬒՜xlqd8:$:Ɛff`&F}OEgahC!R.xxQgp_8޾ֈes ID#IYHy[p)] ds xZ_#OkigZf|A]$9R!A,VqAWLM!?}"p0uzп3|'+I^*ԲcM,8 Gߝ@bey`JBBK:]q7Dl*?TP {u(5 `N]ÀrJ#OLtoL۔OR{$xx]x2z=gtyҫu颸D2_ anM7hC.,u x]<^X _r>CG=2BE^3wrF럔ܐE8't/)MKnjF-{hw0q܃m5VT(geM47%uVʃ )" L1Չֵ1K;'uݻ.5YD@#(ڏ 4/'&P.͋EW#әRB\K-]7_$.IGOʂkj0|k4 T4$$hP?(ՅO&1|ev8|l"H-(siEnQ$kE@X}t1Z/&!y y _t : xr_ 8+o!uT (G:o$V%?GtMZ9g>I>{5j]d:bj`" nXs5ͳR޾ ~<Bu lT;j `arIw]W̲ uׄM"qv(h{E,AZQ\h;qW az]Hc:^~1l.yˑ>v߸̘A\ 6g{ ^Cp H]9K &je43nsXSCĮj.;pAԆh6p3P3"tY9RwD*de@+n?i?6m$ ^Bun&c]~v LrAH!= Mqgg(!) ~A b C%,7_,thі:H;JRh%ٕ2~\Q]z>P4MfQLVav¦xuy0d UH] D Nߍ Al_v|zz~nޙZq۲Tf_;@w>;xh !]gpqdy(K)ljNu155|+#vFaI]9,1r1m:P/n45u:6ṏ;No5޹>% kjqw ka ʄ.R7*LyuJ~z8-N_FA'~K߬s_(}|F!$*PST)5thP nj%mԅ g`zh_i*V95":hX7>5_[w/6 \䳲PVY _5Mf]nd&p}fHJEvĞ٪@7;4ɒӵ@ s/6`THxK-&xJMk3LYv mXma[(wKdDZt)4R>/Ò Vް'Bqx(vQ51yt!{Zns$K.卬vsHibEilYe1k r #++BS`iߣp nnF=Ѧ6zK_jO}@E2?GťzyhZj{5Ot ɰVT g0ѐy|)O(4dDq[y|$wxCvq{5Cv05aZhI]d DG xFvV3I]Ӯ6$u}z.Lk=k-2=ѷ39bD%ck~)ud~M!/BCXֱT:m/~%ƳQ.X:Df/DTdvݷ,fv^@Qwg.ؓNZ,&dei~?\nMk.^˪P2gS3LVG݌pJ4l+(lcls,/~7`L^2M4zĬ?w}k6s4l[WpB%?b_-`OfK, y?oZcUqKfHC B~5\1iPЛ)ɘY"I9|-krU .瘹LۡbM`ůs> ͯe\8WJ !}f%ib}R86v0zD5u1mt6E{ .g2T|Q~dr\Ww.Fq#?2D2*q/7E r}<)P9L6x& =gFs]2`\o&VOs2Mq:2Yz]-w;71pďNi(G:G ~WEJB]OeraF#N+P)sQQ7ڣ%$Oρ׮Iʘ^LlӀm;L.7 Jx+!RmQ1Y^pAI&4{X$x?ӇŹmygQIori&ū6!)$H Aihq'YW#oGNa, = ƛ m]#=?/ǛWhsRP")EGK/9 jixsA1(Ml!BO:oʞ>N9Rhec$~AX/!q EՌ)hS ij ž %CnH PJȪn`- TdBkDEF_b;BwR$:KzxܷF]7{޼!:F:>A3Ȯއc~5Jl_d =ާ `a{l5p`G8'xmmn EI5#Ea祀j~uNHW8VMhζ)dk#7_%a&"Skj7l3,TkE+[țAkjU-˫z#X4l^}/3/QJT1V" 5l~.JW9Øͤ27#0H4hċ%2m9^7x*Zs#3g\cSMn(5TKr34pBph? /+l.J @ЅQdܡls*ˉdS$PWZ']VL5CN-N[W =S&(Ș룭t7յ`P/ ]\4E텅wFݸ27;1h696 ;eF7~T'vg9Vi(/~Zoi cథHԑ[q{.GР+k}+ ̛(6*SxDnF/$Dbq@˖;ތn?חO6=~g+.,!Wye%bIOmbbVTj1;cq|% W[ּ^OU |M9j"(˂긓: t8ywӫFWWphC:%Q-C]7Z"*17`N,L.Q"G> ;kr6͡b<Y!->FPn舙.o J\JÿS){fMUiҎ#*pmm+C' ~DUi'#hQ}<9ϤD"h;tBlM 'mVQu&Mr72wmc@}gXfpP@d- ܏PRz A=:Jöo F⪝eF* n'+Px޾tM ÷*Kdz|B UNL%2s+|`@ߥ-ӏ}ƖpÔ)#^:qU&O@wy }퓴bZVF\}M4Vgڞw ('!($+ӑR2Uj0!s7nz<*7q,.ږE_ 5i`&!]8W ,\+QIFR5͠{(ܺJ"F#&U땚m+&1נoT㹼9SQ}&ń=McG"ؚ]H^w6 PB4Y 0$v% >K)3T'f,c6}Y@=ڞњ/zqM |5q\ `E"klGT])G\Q$pYh vCA9U-(7M`x(_+!V1"C eKA0h{+ wprA GPڠf` r)3;[ocr7M9h+*vgP#`2]t5GZ&$:~ 8olT>V# JԸeXhj1W<HiYZ*zQ͉@- #nH꾥{2 .?{e]r=eVKht{BVG 7Wc_AȼpۇJ*LT7uE+#@XL^¦}TkS_Acua3y GVt섑>(F~)Y &֔NBG\~#5o4d)wioAoRSɫR˗iqKt;χĈ𷥛݀)pV,# wf˾.r;+y76 ރ 5IBq}tܿ{G*bkM6m70?)Ad C; 1~41HafRǯ]@ѝj]쒁5K׆YA@NVkuUVaYi=/߶2n -aSoEYIF!DMR|eS$/eW}4[!HZTW΄j!esٌ7 aI[.N_Ao)- E歧 B Po]vX︕j# < tY|<)89zpzdÒ1D_ϰ_j --(jKmD ϧ,9 jSEv( Xm穛+kxӨo;8]3:G˓vŰ pѽM_bٜiwd=S cx.Ud91?Sa᫼sdͣYn%O8?;GLD_kZ^n e^wrk=FY- j#"͸0T&=o 7,/tZ(Gwذ>okODQg2(aM[,< ?UhmM|/ast|hUm2ƜKE%:EO)vm yׯ kw5v :2c\jK[Ell3؝fO$0k.filG[.1k|wDRv~c& PⳒ) !88TmƗ.Hҝsk{=MG0$=EgE|1Jz?`2K@v:+CҭZ6:ɟ55g>>t#6BGBӟ*H=n]U8QErƞ) }&Oُ X4~{V)=ʙ)C;k\9WuF''iJH(n(H q] PPb5ܮv&gQ|s_nEٮ=E!) ZoK4zl9Jląz 1; ((Ы%t!E+ݛ[.G{2jB^q1xpBI2MDBz~\TVB\Y<^7_=e/z>1 1C\7|T0NZ۶9^0)dSTfLg[͵KPy/rSlo(Lz !(/y |=Uq1 M= ^U##/YûEpY[諤mL^ <|eop]l)~G=f2qĒ9rqz%j,S`Dtv"|a R¶T½32G#[DmaMA3P'iݿ]%A zN鄶+:0bz (B讟Oಁ# riËrw&/MD]Jebm7Ⱥ= vE:E>[̅Y'}CfP&X!DK}ihT<3u-`o0ҁ%=f: xV2Z!aty~Ze$V˛ zs@4 a}z1dcIcj%F }>qy3XD j vז"7RY?9̟}ӅkԇJ0!TUh{H=[?jqnM lgy{sX#c\R@ޱʚq}FEf1Iq6)h{;] 8dҖ)IM^Z47/SP%Q ]\x@m&H.NJ-ڂ7˩fܵGO&+<&E\_~(CЅ"5+>/ Cqaτd_+!v]P,5xv@ iqOd?lwi$жX,8㇐65=Vϊ`NrgU; L r;ymě9R**koF-tǵp/4cLhkDĐʋZ9=U|܏ӎe#dgt;{]-:4Ua8sAAA-v_80"U6 oƗC^{ Ni2J!.ЀyZM8!2zF*!+Ez[;7Մc<r=M.{)e>f<]zsmTgKS$ al? nMlAO\רYy[3 ɚ{Y`ɨh87βUbhB{r/ŷ>+[!TxMI縇x"Q1l@#~J(H*Ƭ(5u/͏5G=;V2ɠu Syh$M.pPM/=]94oԦ8bJVץ5]SĐMuH{ PƉkŮRB~C 5E]<&yڰw4)m/a D07133 n>$z8O:^KDFn7gbth0ԡ:egc4fSwri{ 2NI7!_BrA0cp[uw^|ZVx0_d |"_2nԘY3PviXe| &lށqq1|j|HiT:ޖh(NUJkN`nU @/n94/jAYyKl$zcmvޅIp+V3Iߊ6 y*w*˭ ιr6e߆nZQ"malE1;+₸'wG `j*W]45RɦU0bcuaj;ZT;uU! ON)+7`Q֭M<' dAbg~{eH *_}RvO\sG> OȄh9峅r#HW˾y>S9a:'!z hZ kẒzmeC%LW'J5֟>jjQVo\SÛ\j6z':fDQ^AB,Ǟ)*i)4[3EMBQʠ>װ1s rqs0T=DkeTJǣ9[ X?Sh`L6tctPl/Y#@1cVӥNO{OT&ݪ͉Q#Cf(/"ٟcfuw;fE<\M_BaXڐv$$ `uٙtѥPi3/j^+(3K5m Z]@̪I e/(q}ȿ2C,U FMv& lMXig&QpǴ[a+kXDzq+nz_BF5#N–TF-u-~ѐ9&zz;E*I[ 4L:&pau^;IͶnPIC")m@9F#./QEz7ФA1'2b]De`M"d-emqUCPH|iK#\+X-pr,gzK\,|SH:bP㑊D(|Ig-cqtAOXHBet"X:$f :EC^2~nP.na"pkXT Hcn|ߐ#WeCLROf!}C%RWRʁv*ΘHa!ue0(dxNX[lT>[̊}ę)=M1&Bj^Ax!|@~.3`ՠ#unԌ.2ma44.x Lb)\aۆ>5+S +?"e oL"Q_iNŶV]6TAdbȎ20oRu̯EVЄMxƕqkgs/8NݿT )7b\n෦n(,S}]%e"VU6vb &&ü"pcؽxG/G01n`mU~7UTL|0Yr3d%ؠUc` Mn͜򶋰Z:rW! .M<7PikUܰ&4kq̫%Uք5XzvggLr%Yq²ސaj;Jc WVv$b`H pcse<Կ8 "Dal9 BvU韠vT=EG/}].]b&k492g55%(,dU@x?tXGl 'I"8%zֻ8 5cYI\= 7ӷH_v#VB41aV:7z L^`ІNN)Frw_&W{ aU~x =?1Dkxaz>6Zl~58BsYE3b@һ{t0vvc؃^ cH2*@:s6vX\uUQ?3!_WSR;81o#c8Qa$OJ /M"=HC SCWՄFheZ" LZx\?ڋh|ј#v+8d><1ZwZNn-iH.ng(ߚ1&YC@G`Z.e 4F` Ari3~}A3Ѻ hy R2S G^<6ʁgxw\\2K"%> !Qyps"9*RZJ%Ă) "y*IBQ)4] P S_ dXS'݋+cMҊYݞ=kw?}xLE[5BkP)k,P߂t"jc2ZS4nN(=i_󡕌MwF3E9^|Y Ot^chn7IfgP}(0}!X&]bӎ6#>mcbBh=__zz7BCyER֩BYÌݫkUN@-=pJ*k9P}~ 0XX;IDԶm^w}mP_ $RT$ pIbb Ev~``? ws^K9jy1Q/>h. Wì?T&?S/,wpc[Pm"]KӱQ[l7:('wl=f=vz؊:{\f4 YPv:jDZWN6NZYAw,余I빻!pg`;FDno;pC\5}duIohU<)9ϸ8 ɜ_?^'3{ DFCqD>vsI /͘*.;)f&p Fꇂk$xda3AX<4w}&cq8D<ƨplJ(|-rZ^zZieÎOdM}űA`Fm&T}x[@-cTcV?G̍/Z2<(̛OP/'\f }QxIȪlBh\P)=ah.E,P)J^zqxNGOHwU !TcVṁ!0`xjwS56N*c^*i$T6|B. 8xI1 JPYV gZu'~b.1 9p&*:ѱJo:ͯ22&liÅSd]Z%l)%j2ڗMy/.;PS4(!D+( Ԓ\32dhupNz"PDs:`޼mjQMy'D{SFNC˿y@ЫNCP`:֘y_3ijbJR5yf$ މg" Hm%+`R \@l,mq^Z_]66 +1QJ@l]/Ww兑 #3ҳo)YۼQZ;9Evp#+@.ПG3giƞ()1 {pvcÃs$y+_o#UjGhY657,Z *Y:f.YܤyX^{֓0߈m+[+ϺZd9["/Rԅx:,\Rp^uaWNCA/׋q`k*7޿$EHQ/6NIl SwD5΀IR`7cSAoޮZT{Vw5NT bI(^-`u^j3 V._ᠼ9"w B*F[*XPyNIcD!jdB]><"QaRemlGu^M& Aҋ^]ڄ+7Oe {\$>:-<ڝ~!aK6F:Sy3Û=%ܓ4"с@"?w׮LɥƠ*&Xd}eHl'#&t̠` [ѼӨR"T$$6Yj<$A^n6Sl_RkXc6Yn` #<@lm=[C 9dy ljRMl7QLTD*Yq$C[)m!dl,m=%Rp, cM u,Fgɴs(Vqk2ޗO UݜtE<3A'[;ۈ7^~jZ i{2DQi%D>~|+ָsfu3Y翁xˋ:Dٖ~ׇb Wpj[whTa>W }Ǎ3I$0}y&߯iE5!RW S{ HN.BL/΀+GLAs_7@,gjMށ$v麫jte&Ƌbv|ᤜ+[!kPȬgK4 ̵~>^حK~i\x5#0Ȥc;eKk&B"MVA%2\ovR`Jept &p&ߴ8^ O w$3Z D@_`#.p&'&>t {sulۯU7nsyR^y7,jWZKЂ%iqv>PPΚA08dnN-|̈́Q96gUE'y6-.=c?0Y]ފ(r'^>w$",%bZ:%ɿBQ՜wO`<.ŲhɅrbw,q-(B^p`+l(mc96jNj"xت|g*qeЀ.D/^SMСWU!N/KiO@6h :շ󩂍8ؐB)ݘYc(mqnOs_e~^ Y`q*q04a`r ~*-xd4BI$V!D+k%kK,}[-Sg: knvvHV0}?8DcxjПG~I[3VGf'Ƨ4/&VHzBP'}ƺ9]L@j]ΨIꭞPQVkj&P6P="9N^* I* HeC4eh?.<>DDq_ D-;$FM#'bŞ2HGD1qqu!c8q}oHsD6?-gt&gP|!^Cm. -hސ;O|/L[+^.`[݌r Ci %EfК9)u7Im*HjfG~*ƞ.ZpN e"Rl*|נ}j똭2Iە遳>*)G^PB9ꏤ7~w*M0oEGoEN'"V\/]tL'9lescض\G{Ƭ{c% b?ybXȳ;BG.zs?a8aus2"uP1'$F7XVkORMrDfDZ/F)|h@c' ЪdLqy?"UذծѬ3Gmq Ǽ>ɘ$^u`˗ f!"1AR @2Lt@>"Z@NlEhPe;H}kxR6 NNZd+ɇ1X|ֈ,@c4xʰ&3bSiY3MRЀ,Pu!ki@'R+w̻H(yJax*OˮSQ;@Urtde̸ؑ~eK_v-Q% hg;%@}^HuM]hs\D,(XtCa `X2$<wv>{9y0—f`Ke;7aT@G pƚK+ E.V3RRʖ$S*?a= 94R 97N*V1Bں!sՌ|(7mytꜚ`)!%xMܔFNH:7ā#ܫ2oI-D RdP!"bRǁ_1وh`dd NwIVt|X#MUQ?SNrYl05C+B[GWqsn҄u iK,0ئUS*qZ7#j<}Lf0NZjBk&!2Xyi`xwߎ@k֔{H-e185O9UΏoJb<lP#]b!Q'9Gd)Nʽ"̢E~>+N  [m  jz5\N=eWW ld.6a#gAζ](1UϾWVUD CK >O?/fd<et7DGS6d`jE2:.I9rǝ)M'< )6NAƷ(5Hz , *-/uPzm r SmҘNtH( lnMS)@;[|d+:e?Ukm[KHj69:8O]N=X{y~Go鿒νLkUJ3X!z1ċ8wq(]y3Yb98Pe3w˟Zo- Q_=P׉s]JZ~7f@V)ZM9YfZ$Y~DžPgy5)ol.s^}-T񞠆'˦냨)\-c@ uҭ'b-(hWYa<8B,(ȻѴ}ӺX"@&fXO㈂Ew NS<$+Ͼ1}*Yp1W%p8hT862“ִAF@aTk j=@m[Xc뵌zie9$mCakn25/w\lB|1V{63J\D|mySTyxL|S|L]{ӟnQ6C͟$N/vt:qӢKN_iX4Q(pCCȅMqi`+t"u+`qe8sAF+VTI1b-CcEx;QV?F!ORI4WPǦL ' 8)ZivGxK=&΃t<ݑ5htf2\qI5Z-\U –g7I%0~6tToW*}jXʒ1ԂVqQr$Q~_ OmtX1I%cQ Y1![[Uk:ykd? C>h0=84,y\ `#"y8ޘ)/ceC,킻 x*}W'}|Rz|D髼'"t gMDE[@(7#GU.˜DtOґo9 3v-tO$Ks <_,e? rOJ6!#^vC~m%0 N.)gʹ6A:P;RMPeoxgB_@_5nMρ 3SgϽPǺ߹rϯf27VΏX-M UM ! 0 5ӥ\W=᱿b̬aq2e,s?DK`vP*; 0]pt.Q&X 6fàzyũ'``"oH ΒK2lږX,wڣΕq>p~!%10C5Q(Kdkvzy9JrO0i1M^ E%Sj۟JL;'M=Ev<͵⠾#3*Ar7Ol"McՎ:RYE@|r1|,s*km*XVd<6&G$ Sodbd>.*ehe`б=4J;(8ܽDhnVTGSi Ax'eȡ0P1էi_Sw&<'W?~,мuGD?[h*ILmV4Y >ۺVWU^T+-{ƁjxfF@;;ج*IQQZ8qZ*2A;$wErFjAKo& *cuA5@{y'ߡ /3L7l\:$ɹпWbDIKs`03$QKK G^ IJdԣ^ Ok!wx@N?$ r!D<ZDwj> :eCmRWb>0-ap0ZC_APaBUM[ahzdTݕSommn=TVEtE\wq_97%ܲǪiU~RAjwqvpv&ukDҷs/sx^ԤPjJFOGTr?$kC!?D]3bPV;*|@:LsO :7 PJ"SZEWWpTENLj N)|\u"q#wAf8)5*|3usUg^Nh-!n(^:b:o<Ӑ;j4I{pl?l!l+9Ŏ pe|2#8l~F/ fp #,~74|dl*T0ޜF'g/06QՎ|FVb5&qFҚ0 ,@>k\GRdlR#T$92,nk[AJzTDL? G61c/9$QDplLS5>4ZkS *CxJ[MUŨF\LOy:8Z%'v^vRN)EWȺ <+@9;Fbd$ɲQ -_\ 8Vl7B>;p|t8']a/ƲZK8""%ev(s`IV]yZ Kk2UkOc~ٮ`&꿝tJķA1~4Im8nwޭ(IgOТdX/]6+,n*)~>{a÷'KW];U^UO|[/ h2ZXĥL!5zF>9Zw*[q"CjHwɢfX`.)ߪdô{zcYIpV ^eb |hb/HYU5)da$ӀOX R Ĝ8?iKѼ4^a6W 9h]%ē.,c.lAaXvw{h_So:} -LhB= ٲh9JI-p*4~sl^9O!HAtNcegq+o+0Ǥm0Qz[.äL|1 iegPn~ XTf}ֲҗȡOQe|'k$vfN}U7hrTi!J<ѵ1Ú%:Xޣ8@T+0#B)f^ZcmR認#PRχ~ E0"6(qsp'(+rpջh+uUU^dq`2hz e(R774Ko0}E黒+@כCdwۭbܱ1S690R$֐SDeȑc dh@ż DUqA Գ|(f9!z8!mЪIJy m ,ǚB׋6yDŗUd*hLYzBǹGvԍ ҡJaX9f.w S¥g6N!n*݉CzOam# Mb¤nu_{ ,#,S1pnࢫ6n,hEU]97U"g<׍=.JyL(Rg4%ŮJ+eh xns*KȬy3yVn2z;̝͍ZN7= IZtKb XWg":.ESI*@}qZn!|Bz471JF 2(; xr,$ )+kg\`|*dC^KM̛Kf]n(-BØA$CHw TOBhmgh|:"iU ˹]?>g艳?̮Gp(OȃļTVgmj^=z,* R|f5ֻ݇-Bę{3?ZO/iO{`:@&&-ZȆоP:#C 4 >F#j\Ϥ"㙣t9Q!棟8ww;yAv,.UYl$IU_PuODAÐDn!unS0Ym!cf"@v %Eϭc4ݫcH7V77 ^;URGR(Bflm0+e!xup*tfiQXUzgh`;d0[ vonUVB9Pk'ӳ{\e+U0=Y~rR\1*(W]BfbfZ1ѐpawצԻUb䊤:YY^2=N`/̰FC@0CUdFզ pJvx1݁RZ0tC*mޟJQ+>|x_:q=sol/ =!#A\ e +屸{{^RM/E| f0\GMr;RkPR8*2k1\3\smGƗw&9L0hOynf,xO5;@x, 7c> j" oY@'yPzeΦ{B9aU&h.O_zMl}\U{, %b B*"p`He3tT{-&Z YCXz) WcTU_ Bci ;6EĿ,Ib Ѹ_*U!rc{s'Y^z)Xrcyh 3 e+U =B? ǀb!ײ/LG !Y~l΁5r,+ES#u -a{#Wb*^˞z~(f[sRI&Zg,Y2{>LХY4D+=uzL^(ݤ_R#gފ6Cbq|Q@T7_ Ɗ.|zZ%?/vCjs@JSL(@K&Lqͥ5~/{aM^dpnCݘ=X~ؔ1fh&G+(K;e$KM<`kI;ti0&{U?BoGTI5硟BFsiIASrt8jfa$B~M166ߟQ<[#h n/86VoNI8I~.wOL1o=KJb%a\ẋ*VM^4l䳉dy—iUG n*%80?[fev,f?Mv6@~v4/@(_~I썽Vw+SpӃcur8pZD;˶61kr.8_`r|L4&"$6"lt7ujI^\M4v?N䱐Ξ,_$+"^O& DpQ_dEĢ=|r$8> b^iᆙ]m,u-#/'^P':C[݉b,EnmK.Wx/!7`n鼹 \ɼRkף2ݭ0&B,s(.V֮ E:kŘyd6Rqjf{i*B֪Rs;;ݖ܃dP$ؒ,&;ow(ol~s j8(ԁӻsI pnjg ?D;,:;DǮݚ ?$;7Lڀ 6GjDN61pKb%`HD Y5IAosQ=Y{Z\fiyo a-r2k)5WiR jƫ 6};9 sIba2$߄V BY85^$ {@&55x-H^b,4l.䳩;{OFm\*eHj1j ~/A'U-?S$xk-S}SLbVBfj1sF(w,;Q%hiQVr6&$^ (["GڸwBuCChr J!aaIjO,27iY2q^e?r*3dxb6t$ä3^|aVTpCj ; 3,<Y?sb(B<[9ȄJ92I_!9os\"(=q_.a]mto$ K"=w[3@=P<'h|Æ"VHFT}^e}Y&debRյ>,jepҵwjdyĬaw #B,>d0G[ӊQd j2yR\!}zۣFmS^ U5|w<6f2ܜ"up AL9@b~p LG/`)za]r5:6AtQWQD#Wi?a y 7 k#3-E#4BRXm>V:ͷDKLR_Q MMQ-$Z`M‹%$o<qZ8Tx/ "! 7C @Wrݏa^c.{U5-*=$*4bNP,M~:|@/٠Nj7sVƦ+ !+CܧzNN!QjhnNGYw %iW.BYRT8aUσ% sX>SQl;gh5`Ǡ}iߔjRJLIde="Ū%#5)~;cڒaD;"oE/[KQIaDznΩڛU +磓ZmtvӁEn_؈U1Ō0jhC,N.S#R {oj ),?0)"fn5 8^75<1qQ>p6iߌگeQ3ܟ#Q8EQ*vYX@f*/H./ r(i)Ҧ%B>QZB7$xX|A.pRkSdGxH: U:`0/ZEvm"HpTUQ忬z1EpVTEr }W]waEЗԄA \9ĵfA_ \Do1QѴ-z߬$(Mm\#0;Pv"Р'B_&r䁕c/!3Q0>!SR'}H3oNʏ_=!FaRw^sDF +V,LC;m[a1z/:h"iЄ|2˴eE>zvYU.n_qHր#1Yz B8 Б jۀ%PG]0K+)b̳™^< 7c:DAe7 p`ߋh4†W`g8G"@,vj.V9R/]PP 6WzV-#~* 2*H|XXA/ZaFO,"ou':/3 %Z+\C/$rXg Uyjq} *5>;"OdlWެ<5pzvp8 J ^9J'fóŠ .U'gzq؄laHOk{ȟ"o/QK+vbw DYv!9'2 ;֑ZtMezF`nHN$9(7zpKGoAVV5mzn#9 wa͗M(:$ԭ;c;aulVhn|4xJ68S!#; e4h%)U&o|!"246w5cU6DG* `cE-Fd WVmKp.ɩp04dsړ_Eg$e<Ƅsq6]3fwsl^j &?i֒](1I5td`Rr+TB*[xƝcL#\ !ʀƪcE-4.}vxƋ.1pWfP[h$kT$cf&t$ȵf'$ADDH.O_gd}SxIz_$ԱAbrU.aDy|Ȏrw"$Q,o瓈ũ; ੉DCKR\mf z+lאe{jcdKq"yT|5əE}}` %o.$ 9ful5(odBC9*q^ M x2I(2>mH@Z3CIĪUSD,'~ElT;7HRSw <5kawiHd ‹?%YQkƉy+#o`NmWh&F In؝8s(T]OO@M$v oAեФOe 9}̨i]1M2=&EXx oŲvhypN+݆}s;;: p\b [ÞdAAMNNjSh5ʊD'y\!C dV]m{4N5q_DÙ=^FGk b{.0TV"Drk% oFp ?^!hwG&?𐇄,|@uRގڷփ$}. MŻV{ ZzRieZ=0̿)Mʭ ňgT"< %w|ZWs݉i4BL"Vd1,FD -Q]AT:\?0lN+E-8`HFuܤ^4༼_йuJX>^C/lZ{f kߺCmS-NX!G\ S:~4Ps۬;o6 bNYΨy_tU8I腭港-f Z'&3nR£ XEEm*E' ł`Df\QB>w09ܟ},o5`փ,aODlF߅n7l!~Vٳ8CߟY=$vÐ@ eoQr5U4h6tqɆpeAeE9*$'lg^<#C{;a~->Г֞]X5J"a[e'Pn&ڤw)2I=0xP5r2T-N=t=脈$JI$H-Vv]9nT3";tqPx*-W{67}[F@{E< N{uIO$f9aW:2 >#T>@|%(Yɳ8N֫n93Fܜ}D[p0Jom[0I@h |lƔ+[bdW .0[XѺ~ |\=oM^X}jFJVϡQsO2nGhh7`T/ER,||ߵ^ИIkoʂ1%9$>y$&@nNI9ۭa!4{`H\Ժ:ei;G-}#b*_F9pP"]E`ajfp_)QC+(Ί50I 5”sIavÝ{F [K)ӄص[*Īx/(K0+Q!FQx7ϳVYe/bfIkUC+ [yq~YoыOҳ>idkOM~UA`Yc,cH}qP_A]3^D3@v8B!</)/C\a̎o{A=z;IHS:S+4ӛ֜BGUJ^T ^um`gp /w)d3Oe_#2,c>7Vd2aM잋{yAzm>Wz$bomof\W]Z|L DG d"Mޚ,S]~߃0 >TH%5v q1 td$;>NvY.s*%V"d~$Өkk؏9+nmJǥI-H~A 5]=>p+eZ1JPvh1c~QS% 4̫Н* gxXIX-^_cI8x= SˡE[_*zP _ g+ZDnں^%K YYZ$[ϯYK¾ 2ZXpe]SݰwXA6{ [P nҧ;y q$[NהD~c=#':\6lńQZtÜcf jM#w龬V^{CcHA4ԗݑ#b]}({Xnw=(V9ZrAja-ԇɛ7q})HUGYbhѿ2YQ MܫSi@[O, "7A ǹ*xul[Bp# ^~Js7ğh])8=g~y؁z-g$}|meoX$b~N)~+`Gy>ȟT G=cjKM^ 0$G?N<ڸ_&,=b"zM(lc5*w9p.YLȰfb"vS>|W^Ȼ=/YDA06=SHAdjlq5te <H#G5!\ wU C@ÀGL&uX^Xga eazՌ~pou1H۴xDC3؎I`誌 gE˵ DDAif76yF+GԚU㧢`Ё*P(_ *Yꙸ CRb|upfG3>8d`F7Vrkp"etẈ3*\ޢk`?W4ּ$,骴Z>Mn E%B8P,qt2,Ap˼gt#ƹ,pi vnq@{K23p)Lyc9u xx/FҍP\Z5m@zJڷ獓ZwPU<[j͛ӟj[Ue4Өs*.`~m9E<2wng3wEőlIfEXxF80?Zh`qcHG0ؠ[qQo8{ۼxi'8O7.a^sS8~dǞs}3Tne v`f\vhv/ /9&4~Y5;}LҫnUF]b0,M7d;e!kkTJ>*idk+ ot^u-ä2|-̎EZ{p|]᝿CbA!hh*(ĂRuSAKfqO[$%X.d36lh^J3ݴ# qo{J8aDT,I\E⻐V?Q粒O`9OW?i XL6WՐ1S xL] RXϐ[*ufcixj u2(`oDc~m0Y,FI8Vwn?B/g-@9ƑQWsQt-27ROs1 &)ԄGb: m5?9sv5M5q(Tyl^̉__Y=(p{Ң%xEςP8T!sE Yi4<۷3\{E߀숋8ٗhAc oy!C3k0Bju!T@)ɀJ-Dφn~xLrr曨Lj1byH=VN$t+7XhIF`&sF?$%u3Ke[l6/d ͌X=tl"SN'-C Ø6'-LN*^[oSrza™)cel$ZvWWQP B4 XQ`Bړ.}? 4wU)-2M@&|E1p 'TҜ)14 C0l@覝"t`u.m~GH@ӄՀU!u𠖮An (z$x7)^ ۡa 7ݙWi&Yk!(IdbAz"}<dA7'~l\Ўn[3E%,Y:hF{&o,=} ``]}BNRU}Anr.$􀈏 SƧv 'g*^v Fڑ۸Sݔƀ?ua޸?5 VU>O͖$WU_w~yt;[˘ k69g+sP{Zhۯ[;/cs#oM.Z4(͍,ّqQ@B ^I|rX~hO[|z| }ٍP_F([[jU-r}|;8ZJ+F^8_@AN!cnʔ dl&>ck7›S<2Lt?4o? 8!eHMUCZZ}CyɉpDA^.i^a<\si~֘Ib*X>wد]OTN M3523Ѧʛh`gP딼W+sz5!6߆y@$nt]L<v8﹚!%BTJl;g_S: M3n>0%dtZ?RRZ%LZ)zyLfKJ݋ -(Y=b 6ole|VOHM ]+QWY^)Fp1O{yGN~T^yA<`7&n?@Em@m+gz_gy?朙gjIF ,*PzGLB4( =]+NdJv0W*-,?ץBqga HZZ#z̑459ezc,'G)m|ƲkDeX|(lR"N)ۗ}CN&\@ m2񢢓Fl5ʍZ[2[2аM]2vWh‹fZӅW2p`m`t=xm$CzJ#u~?:*-L3͙ r hmޕ.҄jrh }(eh vc*Coeb}W 4 ZQmq*3 ;7A6yvV͗l#!\`MA_#/=6 &Rǯc%ZAGt6I,x?ue#ffXE7Ne>g#i=L_ϏD vT<؄kOJ 7[_zV36{Vwy\iʶ H'0Gw7@E  B1Hqqw#=26}&ЁaAvM{ .dM=Ɖ!ԳpY." :)Va`Hẍ4Y!c c^&w;B6k-CI%%]B}|'>sqA,,$o&g(a矓i,prn3[gRPMU~;&.LԲ' 7 jZYY^;R=ʉz۰4WI - \}ӻ)MD{DIX(m{?R/+7\熷pUSo$p~To2cƅFFLZ%CSn=khb 0POq 56"n9^b2h$Lw0 1hm0+Dпo~v&YoSjM$1VPCu'3f|wpo"Мa΋z)έ?ͺgFa36vXO;ܶzŃtG isT6"@9Aֵn=n{ 7F2e\fGS:mīŀb`:X!yW{(G]PhƎb9X0Vy€^Y# _DFg Non)(m#Q b<3O*'$eiL9[Zn̸J,5F,×,) B"[l ¥:5uTJoe^,;cm @d6-@U}togcY V!<ڐh#'EO_t`U59%Z#W7f)tZ?C 2}^ϝDsٲ8WN'/*=B.#W>g 5ĉgM]bŀʻ ~}hӊ]Df"(w2@ . %`/GN'5VtZ|,*f=+*B1I~ rG)ƫ(: XiTJDaxH ٰ؋+hѓPq4{{;dI#JZ{ {HQ2&$yb_*c7%V5H6ATHML &7W܍է FK,*bx*eY q>1$^`̇RM!f(%,=A {}Uޤqsh Թ;{_[@ 4E|ym1}Cn3ڟ ,KM=xT' p*m:e5M8A{6[:6 Jc%=ñGA+ Xɾ{`s+7=-q䟚X8'(h[\D0(~X)h9c6h٥d=@މ]=g, DPfVAY?"ZPa1oH2e[P2$q-xm2Z#_LmFNRҨ iB#[@w0lFG}&Ⅎl)%nBh(-v L`~ഷXרKzvBa%>2xbHÎB0srރA"BMM;^AQDXp^V\jdHI5%<.Tv-ԣjLɊնjBx/UVɎhR[@ɧ_ܬ[$ ,$jsl4$o1VN-';9R;Ƶe}֍"9+ٲ}۟%zg0u]4? NjgOГd"#9 9ӄ]ͷdc Do6g8ubn*.ڒ*oxG0 e>{{f%`8Iha[%x ڙ|5yiH4OiIғ{w j=4^;c uEz vHgW++&h_o ,qk*Zv:JЖW)YDpx'|,mJ5Cd:rf#y0C .mi悰]˲' 1%sKSg0W.b2@<[;z١r o]YWSA"zbJ/=JLDQvv|yw?1fXjU5l0Rx H@$lCIOy<p"TԈqlt>ܟYwOo.Y7 G*8TEdb8ԃMl;{!# {tP:}R*'`/;t6t %c?/1+XMP'dNH"BcΒ}A <}8%,@q(*F^qՖ+C)7- iң5Q%psP1@tgmњ_4~Êgo:>A:]įH( /^FcjՒUb3OUDʱT=e1kT_c^,'a$(ە$e%&}Ÿm'WzmP1T6x!zj<=lϳE .ǤuKl.nɏ8\V0>;>;Gܹia՗cSbT꿑.4>"Kj Ή;)xV +A]e cD2 ݀7k"O2/vj.{2/,ڪͱ+ދWvӄjE%L 4}2[w䬄  9Qts OJ__~ǝqzGZtܿnT;JN8L~Wsdx$`i돷CmXzYfgٵwvXp˿4s?mfl?fr7$E#I?KŞSHXS(؄JUZ<\ g0;cps4dP:yNg6$qLcGzIv6],'Mbznz[ԧ O8U{,;gmc`d7a2a&|?ĹjH$0Shs ;AX2 5@QQc8pR;G>bYN 0a13Z2YEh ̞=D1؉Π6UTCNU1(!4p؝G,n&a'va8jtP+Gs}Ol ȡR:Y[-%4ȜݝGamד찝H :{RY=CY?1ZMnx8!rpԙAl׌#g,C7P*Dr [z@" x|r#&h% z^FM<ܔc=9s~jYihi|n/;9A1 )B\ࣲA\LLyDo/Tq/!/~2@ޞZCj)/` [\ˍll3Z|ׄQ n_XcoDmܥL] DȦIy1R9!&\^}뎓26 !Hh8 v*nB< A6Z?d5H{җZKozƐ$Ȥ&j14ԆʡJ3#,.&( +wvB0sH%OTy"h#g1 +$>0|e;h]T0- ,0'Y#lC!BčI;};'Tu|Sl쒹#/v;R4 ăuT+ʌ.D{7Cw/]O~\:(sfɼ1^̓ZgŊbh9Ύq2&yr`ՖVd+af5$CI0Q$O)1|Ha{K*+gAp[8Ɗ# t `_EhпYK2aCj֪Ur1&H~7t4)Ļ3=wȊMYē$TI>^טlүz3؝ڎaL"jGobGՐ嫦\%tmuqQtOdXw&Z\I;Ǥf8)#_aM9ߠPbH0BPS 9]޷޸^4c)qOcolt_MdU=O+‰eLU3EK<'jm~kcՍHZVJ9$I/dd̑lD& ǓlfdH@ S;S NL7+Xvdr#ȰuSn`Ո֏H">0%'N(cI#y"TnR\xeVu|4#;AyM*<8ȅ6 )HњAEI mJU7\=4 ZtWGRz|T]'5I7|-` :Vj6"oØixum̥5r) Z4+\%:Ez)ISb7%l;jJؚBZDuh148vd *iT,$™C5GQ6"{Ӫ:8 (}o˰iʨSʅݴ=Ӵ궛S.EMg[]f < Ew\hϣy+n?j΂6] _)0؊w-Rl5v$T%ֿP|O6WFIiBp%* CƓ`]ҊFK!9^ `ˏ|>62^unioДUһDB}Lxq/x30d?H=IhImwAH JRlkZAaC Le&Ws~Tnunu'nX͊׷c$ZB-ʢ3J-!_.8WJgsMՀurRZPy#й~ۆ; ['x[!]b zWM~"cw@[kF|}4j{;-'QBmI`Ćkg*Jg[QM:6sk\"6G+Kg-2x}vrJv];홚Yrr=bkF69 M3.,y 7vScR%:*x?c{O9W۴ *}|Iړ :Z4A,W,o^GWvƂAdt`C!c_20P^1YBIZgs.wTV74pKTzI1w 6KuY T@qU*-tK8W-|,5p~օ"5 90.=.2E5/9+TٕH+PI|C 3bR%V 6;0rWTؔM|lܓٓ b뜦G_2$+exE.5EJ-Fn+LqYw(‘ {sK胡=`[Φ/_HoE0[+B49] ơRGDUu 2X >D}a?aJ3ćUNq2q!9 L1e[nMVWJW5^A@l;PpC>\_c%ޖD^("9I0o\)f*hV2 r&sK&!·:4F]UәWiJ1|P[bjDp4mȐ9OFLYw7 4jb_T!B-WǩzY;f+BS,E͘8WC EvkYjdL$N0||c6kqٝoD_"[}<ݬ0`Y -aZ[7n8xhu6TMrcS NN'L?"$qfMq5|k0Z- 8rB猧AAק^x۟ Cay]b^(?̇4+_N\Zo2e4)Dx.}0mwbE&.heq9vni2F!F4/5X'Rʼn<vI$9 m_vwD3@rj + B;'`?i7FP!n2wi1 =0ORBf5OB~+r+bJqߞ'0=ԇ >֛Nl.j? Qs.[q~y6 Ve,ZIfacR<)txuACr7]7>CJ`] UM/P jKAqFp::35tڠSJg;5BӴq(rR]?fS{=Nޥ> nN<@u~Tw H(G0e t O渮HFm3Ihey а!.~~nի*=&~~ A)~ iY`H"D{0hDTM~Gm(" ]GDH MIF`fNo=t.J㑩 1d}#h0((`h0tC>>GBH1)~V[KCk[+* 5@dN#} $fFN\8[վ:/Q˯TYكg5 !T 5$46پ4t?IN'ίcP7d䨛K FN'ѤʴИs~*`Dtln0bYJ)#8utfwpA o;l\v !IW'ftd L[Sryz.~q%lךUqy~6_{s)Fxt[ ЄĴ1hAo-T:q!6a jg*!А0F!ZDŇnűikuM?Jp[NK~@ {"*RZ~y%⇠~H֫Bp:rX6}Uu~rݵV+]>6 ճہ^UGO8MH0ߒ-*[v]}. oڍ`X"qӡq m7^& dq˟ƒ*N*l T3ϓaCXv^ @^wF"ͅߒ 0\x?e(ꡰ3lmqE=0s_!eK -Fx~E!DȆ9Ζ" Ŋ&a˰kr<h(8-аc6sMLҷͶ23*fEyq#XLfRQ踹1v* =Aa)`ҙfaNۣWw| t"e%,xMzz:4BQytj¬#$8*S:{G Ee`C\dP0{0r4 !L~wCpO"ܨqgl_P̛wH5ũS67@i )(.7q裀ՙ𐗘1}U[BKK!B$.7K:h7ACti{yxۙEkEtDh^)~([ E3K`SOҤw`10nDQ M{=lc?Fœ~Zl "5_eɶ0@%QJE@IYh&ɼ):fS7QP /%SXpEhsM4?w ~Io!1!uo/2q!VXh蠾xb_J{oٽR˕'e* (]>Ϳ5cTsC]I8)VT?vs1z1 O.\ !9^mNR#;?>>JD>Psn YnO?*p3̕Bf F=NSuC36QP_u {Ⱦ+ʶɒ0Ý9{ ^_̈xl榾3`/)FX`6:e=Pr= QeS`mx*^jOC2ډm8ёdE= ĵ\b%j@JVhwFPFǀ+P$Wȓ_|K?|wLGz#{FW`1PEZnXNz|S&t!V;[0NrKfu1j x\>-{N(ltA(paKT١%`J۩ (Xq{d]=5pG`V+ T+ ^6>,֤^g7?fWOIt5cv6!Zjt! Ad5v{%,Db^f7Cj#9P9g߮ɑ|RiZv{GP_8!݋#ވ@,O?1!vw3/FHŏ j\Q~yC 1P$LlDR0bШJfIM'gd vGLTaXI_`=&I;X@YLquoȜvtX#FX,=} e)IhP)Xy˙lA|{IvY>b]k,+唵?+T+zVpPQgdo&u3ĜK6qG& 2YsB$ݶvS5f8un鹄%0䑰ϡ J!Oj5.=jTblV7[ؿ䆝o1ɪ,rd5N73YrDj\-qM85f+׷-@78oIT/,>b:lZe*".9҃@WPvha6Ku돒W,n>4r Q0O+NUJ)^;J<#_% ߅/F볌 1*3?qN%pv=K!G^'b )?d1bn1qL"-+7DuU:qٝg:ڻfGY ]'L7[&X('-+z`[4[!ݙRSwۛ(S}Hb%l06j<+T !{A lcPIWxކIᡧ#MRo1DV%gOG'҈ۜ# C1 Qp DѠ;:m_^x`;'ט̳Ko+H:yt8jBQIllBNa7 ypB ԃ۵>dma. ό:"1` %CHYX׍U$ 7d֔s HN/H*XEOn2PO5+h! V?U "RC{Եݠ ]QxFPh@!%eNG8J=@HJ( E/;_^hQ"6?VBیpĢEuAeܯDjXX6# .[%5Cf{9}`\S978Ḛ)@~w4Rzš.e)ΫJ!"!3Ʀ :2&| r^򸠩;g'g&4bj?ᇬfol9BOte,k[MxJdex{ u, 6f7jxq٪1jynʍziciv9jz;'CXݙKN3nwE]+=Ot&$=\m6cdo"DK꫖odEԷ4D*2"@ҟu[PUX};* yYNK|\fhz%{ѱq*Ÿgj"Vdx?P(uNmyJ%q/$2viP3 m􀊒GtXC%yHOzѓԕ~ֽoӊ!f$<Q^)]nJٗ/e,acp9f|>ۜKt1 V%uE6I k| ls.osơޮ)4q)ՙ׵#-Ɣg J亻*m`o;`n怤<nE- VqbDx%=զ!;nԅJ8`!H0/'ˉ(䯠 Co[P+b0;yPCPa;̉vW 795M7>V$=\p,$.fJK +uV(?鷌N%_Ud ]BehICL D>#8&䝪Ͱ#ZeߐIOzƞ`d@) J֐TaG7(A/ o)]-ee#1b{XX~ kV tݴŅf}]B xȨt`OC3TMe&Ӗ\@މ$%_&|ЃRa@@G!Í]%{::'MX"t|sP]젊mSS1ǵ&Rх /-•gm}ۜʵ(~ѻ7i|/`|PTAֱDTқͬ/'Bh1+A29㮃 O>$x}e|a^}48LQR8"E+[ UN۷8ddp]w n\ ԩ7F8ٛэfO0*Bs[:Sӑh'Mr۳Ч=u?gpzsj+R9Ft{r@eW\u?5!`"SQ0 UҏFpfEt(kpV/JEǧ~,yIbn{bQU΅H%cf|;4J Y&&4\fTcsOLheUK]ݼw\֙ٚ6|j ܬf_by8,wOpL? jh5O'?s`їL],I9{91"=PH`5DR0ri ~' Y<]\g_SJƎU T֍ 3#mL^ЫƖ4]797,S^+!NjeE`Vіoey/MfG!Bqm5|`~y[ [SEXS"١އ0tDV)2t5/Ynzr/^#E.cQ 5.{<`ZikIJeP%{BJ&-8eAzv{m\cz2kX2uv h1^v2!@r:Wu{g7P\>b*Ep솋wur2֗Ra de3RGv?. ivxtʄCԂ`!tm"6c 3Λ8ԤZ.Zrt=PSep 9IJ51H}[&B?;daU8OׇCљw~^G T2 !>e$Dq5E j|ۊZaL%MJ&]}vh"4QɦWkW1V#"bJ]ϋOl|1TQ%Xs"MƧC!Dn8Jo|@:Ja *'&$ķdF198ɫRWeA(N$0;aa9dYl )xоz|䞣ԒW{Hv/ʾ$+f/x=b`TK@D^`Iߔhbߍ2K۞ϼ[t\ [&:&`avעp{VLBKF≕Hh(ÊZc4Dl& WxJ] qMQM,+ ASdteA4R/)dR|ox1wZOs"hHwݤ=Ga/L\`nyO]2> dž3 J9.dz` PذGvs\L&bN{ѯqlJ5e7|n@W x:/?ݧ0׽fl:ig4m"B*;eOth#5v JY&CKpHlJBz]f˰ߚxü[k~J]W)unvǎ{Q>J _ 6k^( Ei/=EU5^zʸG(Uߘ? ޗ KjPlU Ƥkc-Y_(1wDsb#čIbX7Kef3 ONiD0 $]+󛰱VN]2F D2!OMk0=)G o=iydn F|Fb=3PQ$IWMbxǹ5cr ތ+4dB Nwj>Kw|άcT}oIjq윥H)i AY&Z[Ֆ˘'%|XX7u_y0grImr񼗞e} ek60)(eWĸμBdj[RZ2D?ΊQ|hw|m<'b7Ư[E-^-^b_꤀弰]ߡw)/TdR߈Z]D;6F`[O]oΩXcD-Ѝ/}FY5aLۿ(gv,xd*jH⨏0cUWw?lNl.&=3ϴƈI73YQ;Hg;pg<>%e7 j q(uI8p] ,[oqSc﷽U^@S$?FU*"U LX&p#(9Z/.q) RdMM1&`x`$y潀A$Bǁ"^8U8"PO-; =sKx{g=ooV(|J#y6X2jf5 mBukXX[ tCӤ-yiZ&xj="&}ON/]˷lGe>/gY:Z\ʝoR7p.4 gΨ9m吣6^s@"M}^ឍMXbo:  [TEɅ 46fȧ~{XJK;_%82@A³j:ׁ.crOJKR5})a*:V0k,@x~6>zz^l\ȃjϩx\Yp.,%}  &7@&ݸ%ЮZ⶙6m~H<ʥ/y;y<ґq?wv}]r}, ȸS$*얯]C"[_T=XOIPent4Fu@a_׹K'="sM}nFO_~q?X a2O;-UdžĜ E3(G'_7v(*([EO(9RC8=)}%W+*. ~Bb7LgśȽˡY ",P|sg2/F620lhU3ڷutY|NDZ|v=[r>YoϾ}b"aG_x(LX]8vslHrc!9#} ֣4VWAUh?Hugba~d,2"mC[$iOu@+0̥]'TL9хD5Mai.ʈܺD}ܛ9]LM:;< FyUKPGIIkm..@NڴFv b6uajUQv9Q z]E\zAA`B2@gZnrR ', o& ?Zjr=D#\U ;D=RT5˃z֙{Tߢ7r ~(fѺX&^AV[)c |at"Y%ǯPEvĪ̞p\iIwϜի\=U}sd)2s$f s',P].Jn=$?dͦ$ ,}T;1|T WV`A~/q%kH]3Tz4V`|.!d<fp%@xhhy4}G<tz{}!qG=8t|?"+`i+†^s3 1HHe|Y&5cpcGfIDysЧ"Ip?^-6W:S Vnd F(~E]L+c ҮR` z(RL)^_4#}Յ>S%+(jTLtkS4QOf+N\6 }*9,jњ໦ Zɜb^3Lnʓ o78!ϲH:ʩaGhVWކWb WU u{o7Hӳ)-I]YnAlb1"dCronG"$'ߑ_8hIMU/ȉB{`[4:h p- EmcbQo#'m/d` '5! /5lzP1GR2oBfKҁ+d["Ib`;-:LW}1mzDQn=S(^LD蘫;U XC<b-kX> WI~h vYX^ jY<|ʎtˑ ,^( xi'Q 2F$ǦfQ6R;uVAwX蚐sfqp1UzVF1S7;Vp(0ܵ z"ڝh y Uқ)H,߀Xª2]nby8 *lv~_:e뎁م)F?m%L,>,͏aZ=8Qa˙nBRR sD汬겜"Z3m/fύ,?X5DZ?j'п9}j>J(+"\sRX7gQ=6vS%G93,RrGz"0oyUWz{77$4M)a@E g p%N|~B" YVYg@а‘>Xwk,p,֜ur  M5-&"~4sq*dhxes9Z3GEQ~^K ;,|{uE"!1"//I{|qrőt&/S eEx*aT {>K0 wɉ>[aHkh1~k : ?OT3]8if1:0LXui0e\Q4_BhM5#%gU8W<ѿnZ{jp|Ib hNF $.B-nK>@-zRizM![s+ʳMy/5hʆٲ)#0cFo|‡m})|D7 8E?DY^dR 9b}@3x[wF"FG8$pwU)B.q)e>1 1YQ.X}Q][ c~  ୪ LA^C0v"qdz7:4ܩA]W-ULӃybb3WdeCkwM8ˆ']aw Ȭ )bps ۜ\^=zAИv2j᜚p0MGeg**jOA >0Z? 򜃻Qc\;x-5iCtʹn 8'8N[s KAPU) wZgTCQj :z5+<)IRحQ#}`2g@-2>/GvI{ۻT+pHL -r/xë[xv-Wb?x(K"@cdt <,؈4m\co}_,- }tr Hp ݧ;Z:A?pԄE {x2dT1*~AaCT+O#P)e 0Q?V=RWt>lQ9ԡ֧^dDf}"*9*pP # |zT1+gl {>6*u tJiA*ůcǻH4}Tn~o6H(M+e F) '슭Ebc2@MU@.7~v@ =筽mu7x>SWm-u-J%JV8OT=w]]p)6T4 8xF1>{1a9XqK^ЎG>fY1eYei{8ZbNa(^|A +W@e9b+n_PK,^nXX[4]Bl%[ǿOgpg߰Gؕ)ySiEvfmxEA<ԩn B7ˑah"IQdYz/zm?*U暇wm)_m`p Y߭8e]t{vX>9h`v!+,C%4w/~h) Ǿ'=mh=AIHyK+ 7c!f8=}&9f%+hIKn"m~ ܶȎ@״Y߃TTtvMnDUӓx+yK a}M\ ]Ο0a琍/Sj.iT D#%W8 (фh3(ܨq[Emb$Lccʝ/3۽$rfQ낮g чIxmh*dQ\vI!H+#G* c Wۨ0;' ?ϖF?MhxuSbPCo`!izzERb(2 ll`O-wZ @8O+ sbnֿ^Ռ4*&(7zgZG{fnL#d`к+1j\O֨j+-rt8M#A*ƥfXUтw^0!}`@%{yy󔀭iTa1!ZAܴC{XB\Gc jOLml̺,sW$1 1wO\5y2ۍ:mx @_J5v>vYt5wsz(K+5F.{ؐFV3Y !@Ҫ=٪+$u$lz)r ockuNWD: =rޘsQʮHQQYDBl,/R|/BM! ی4X *3dI}v7ªgPbBg'8] g#FJK2 ~TKwC }w[5Qvf5g?],89eDȸXmP{t~4vVԢ ࠵ ѱ)SxGM0)v%*n.T=l@R gea{W@!GʕzP;+eEFOȻE*w,"l/sqZ:2Wia D9񷥍yBi9ÉThА(Ɨ6rӜmo;s{a|a )D:~붹t[&.=l)#\gkJ!٬U  V.:7@X.UqVrWI.Ȭȣ0Š:hfhz֡Vpv пNo{(RaPTW&dplj,Cv4:#g%8Ra0)zǮO 3B;^+<;.9cל#_:NQ?S>puvreL_iϘ+^8:-x#Ѿ|8i63I3xl0U29yDA SK1~wwŪ#6Yv$Xy;%9[53`Pd_"sY*|u%gP7GQR7(^`.+%'Yy|'V 3kUǢ@|>zvHe>(>!;g_n(14iB҇\#Jˡ׽^VDB6b \3Q9+#zԀ_F =Ma.Kcpe PLgo]6U=V2ϻr幻I%㢼BHqzV_,tpfJN;Oncw p]1 .?cbI+gyZqt~I*TIJdɂ $aWT0A\K֧6*E(>u#2~U;c1Q)A^yS%O<Ƭ_)v*Ds\5)]絪$Y+~t )R@4=}jG:.*_I\ayB' yN^M`2W>{z 14ϡ}e fb.on7P'SHPE9GMݾ9}-W C3g䭯q:zCY/Xh.hw>~{ޛ=H1u2ca#Ӛʝgq^@\8G:)%z?Ā3kmm$ɥvJ]I }P|B$R-QV|>VneU*&,`WVwr"RJжi8˳+ yxG }A3"fj_Q|uKJrpJxHR *m$k ~̴b8'1U@œ 2Q |̕ES*QͅlwY83;Ig#Cfwv>8!ֽeM`fǖ>?P9ub6`gj~WziKHJER6ĮZ {HHG_Amg] 7aŅ&/TfL+jv :ۭۄ2r5:%@%Edy{L~U:֏J=\gUIf]BxL F1yQT{AlEPϼcP3i>MWdxX).6~c;?Hlt~iF4@s~o=Ub!a,:=1=о`B3 -){k"/ܵ_1>c#nĹ8RQ2Y@ճWG }H 9ipC1MqP Arkj.һB.i_hza̩ٲgiT4i2g)ƈYŒXh(${q#3X:*!pTHk ~7Ha 1~Jh+2*M-ƮNюUR awVdL>:IE4AB K\.YlBm;V2Rk,u)}$ zɽupB=m.6|Dy.0L\Kp[R "EHPe%U[uw]w*FSuqWJ܅0xy|Fq&m%)ρcNX Se}ڄ}fh.N4;c4ݼeI3d׹ؗei6L $4ܟ:y@g{~ .(ϝ4W$@f^ě-82,ָf ZQы;l!m{,%,ɾY^J]kMV.i@ll6n8vټ T?hPؙmJS³L/2m3[s-6|\DOr=OU,t\ ok }pAfLXeG3gcb1=".x5KF@'φA%1~rX1V+ "H78*OY6k;)_ȣQUN;˧#Ѩ~rVvw N5K/h+05?Tcp tS`;NPtvխDT;r:^ gO(*/WVE-wd?=Hކ[8{. i ΫJ⤀f(H2|~ӄŬms=̂Ze##]K(~ġ/Wmaͫ0k:fED۰H"*@J ë7pٵdxf`ky# Ɨd@~ oJ0ጦ&"FOP}A6ͻfn>R;$@$KS8ٔ/J0[P، 0" TpnCeD֮W6nvb/HJTp7CH\cό];3ŗw邱YzA A ea{Wzy$vSNhۆatW%]\dOUb_ 1FZL:.уU\(\|Qz"]B]] l4/' sg]lAP~5YGPEimqIVRr Io#w˃ +6Sig NgwvL*,68OyN3\Ԝ>T_Ӯ9-`@[WRnU@(7Lj {o+ IB&gN0MFR)#i1d#.Cod MAۈA ~j.lׂ=b X/1)c sJ1,9@E^"N5逈@4ީ+>C,nKs'@N=,ZfFØ ,25 ^/>rvQDTԟLPdPiӍQ|R]E;u!aķ>kt%ߔʻ(luRVG=>['%qeaE(zy$nm0N&4:pi2.9܁~Jb\f*[ tqROmF*sgOCEg)ͅtZmȐbQ"A!!Xk~ԩ51+; R9X>i}s>fgqhbSV=!PT6fa^R__2iawR;7Me'$o¸2Ο_ƞՖ9d~ 눺1rQT3&ѼbJGLYH\IeЮ:dnnw>;CH(~py"[9zQ/1G{oYi֔"!2Ӓ /bD\ \[sx }bQPPG\cJSBT7Ubܨ81S!s`+iz~吞WXC-+T/+>z{eF1>!8VI„\-E]aoTGw i!22795 \R9,I852ϐ=mOS;lu\ir.o9k .$W3$@y&q2 X9EGҥZktU ywzxB,c$üo#z*X@$Bl݌?w["U3ސUv_Buc53UʯE27)27=&aGӏ΃zOEx?ԓ4FCkR֬Y9LN9 9Z )e2rTg8̕3$F0A~U=c?f\^B:4hJTVH&V2D9R]X  Um53]9Sܡ=i n4;'VUh6&f-,'n/S1D{p>nT:žZŻ ~R, kx}X_޾F*[咻(iTNXnY`˞|9%@^%9?=P!WGl 3%T%bg_:=OJ'iv7JU 2>!)RpA)=8짓\rkf,mkt.Ia7> +ydSAsuIxwP|e/;z(wru3{qx}tWeRRI*nCT b 07&p*n&eEŷ̰$ 3qec79K\DvAkQRxZ07H:aOL[۲cNV5@(!eZu/k U&ǶCEQ7 0_.Σpe8 Ұea{,jE'71un]n{?a>/jx1ۏ-[‰[Wv9@MHHG[-x ǫ}SKkSlnlZIn. /"Xl ^e`8)jfgd?ygGr]j9=uBGBAy;ӫe)ՃD{;7$Qm*Հ0|3%3Zd|zM1!v3iMSLUhƫ-߽T2ä [sxK<#wlg 7+D5ҕ y~3Ifz\+1tpcAwP7/^j$4w6 PȐƽ` c^HW;).mN(nrG\~qF,vhC) Q?`{L7^2T{Ŀ[w9M/;9;㜬QX3Բ+ewSUy$NS W]ص+%w[oçK/ヨ1I RdBjfI4+xi/>6u`ߚG)vx$] t165P-6ig(w 4ȃb`n邎@ t S3$ K^{@EsWItF⠗hFt )LJ|i)+7vpmeCX;g,5T^qLFk!ٜ8|#c@o9+VzfT,r尬iEU??$H#q XCCgD +GHQ }pݲ,S\*\Kr >-! ٥q4/|1Kf uOcd_} U㉷1`qӝ;Ų^򵤧JA;t7+D=sbOi 'z& x+1Ob357gk?νWQ`Yve `FSYhFBd;+g9ۦϮ^qH@(l0A VwH9 +~b$ (Q^\P }_z SYpb ̴@^4EIǤ"bzIm>NR;`T~VddLy5%򢮬RLL<薏8* ,xăk(Ȓf Hg\v#mbF(?Ih]η}@H_ⴎσC4ѽya5h28sIy9)D w@q 798EHSe6vQ*ǩ RfFL8P_IЎ&ٰ]}Q+<XA{#|,zveDm}l=Iꥴw?"6ij[4F`!eh[#إ4M.E,OͨA,'yU"b8k/_>'d+Ewd9ΪQQ~YXNӸu:`#nw7k䓀߰eÚ Jl6m [Ŭ\u<̅֬(h$c 7 YTL:S+"sVBg_:<|DOMN4L@._~"^,.<,6N6sXb,'F}]p呯!(@5XFQWQ{q@׉!(ڋaZTchG@Akp2w2Gl 4o;i T}#ddmݳAaPti*"ncn [FY:\z0 0fR 4ƋYM2:a;nػ;]kdSKԴD[0驼ۘ>F-/!(,E. oE;HBA}t ' rOJpAkQỴ^B,Zɒk5t==SOxs2%iu = wbz(,"B}[|/ ,}\Q- 4]9F>Q6 .T213{ .>iPST#c柅= );VR;/6U1_-7 7 zO9 n=Mb}PK0uXVTQv.=yx^8>3+ pD6);z \[oz:Jw9]}S{c(/5T s [D# 8>AFj1n.V17?l5 ('ktf*ԃÃ'@8Qb+sPb0٦}6mi6xL UjW溃aOEzhF:Z\Y'*TS@~|>]`fNڨiL|VfTM0qD9t)^;if^ ;&A 3z&h 麚ʉ]"_-eβWr[5]e ne=E{jJ5fs5oY;˘_̅kuk$fU,20"&0w k|E$&&=S'$VB\++YO*hcqaX~IA{f gRKg>ܡg)`,CMA.Pt0% ]s6cbRP6/3 $}Q F Y*@kn#|yb+{nD9(Sɳ籰ɘ3 E*ڍz}%v`:~0ԴJwX6n d; RLs1Ei2 S߬-JwߘF\`S_异ߩOEnLr5- @ HLn9+Na?ֿnǁ r4,5)Z*S3`/#{`ű;QBl<Y83=O@i5ѽWXmˑМJ BM"am401o3.#c̕IQ oG:qNPj07oO!Jy.)_f+K]s8CpE`جH!P TաځZ.o V4PMŦʖ:CEū-kX2+t.9|==|@mK'}Rn9Snh rQi ~(e $KKFopeI,wPp cNTvMR"gU. V[(s-7Hy DK;#+;'+xM~Y!*VSU6X nQ~OJ4\WYr?ozt4x!O:+PhNE" 5`2SJf漠 pݙBH;U|Blyh/,XLdO'j^U8bLhvpKTWVj(&Q}9PWB@K7~ũfX 0ɰC X֥"k󙷂qz|ߊF½Wz"Vk/Ȃ ^86ekanb-0p B7Q* #.g<;3+K^_0=|裍1*q_wGWY W{SkFsGɻrO]Դ$YzR{E&wE%I!kf#ީ, AhźGvS-v=><$ d.2gwe)Wl,>= .;K8e}:@3 {7(mS;c*v58٭(\*PpȈ2<#ƒkM4ao |j=R+oGcm K<:RwR\_ۀŭaGɈHJBx ÀL/L tܘ[d픰 vW(7ӳ(n#)Q óNwPv2bŊo ^Zq{JUxm1c Y¹ ̌3+gҢ;>KIJ@&<8b,ϯ$rٳ^>b^;rvaq 9C4!ۖ>Ix$>FDs~GJS1M:^9oDBvOW kA'k^PFJ!eۼCV^C0le0k< ovs!U5T=sIdE:}O_J~*& _X qJ+Y\ߌ0Sձ2"0&ML S[U( B@(9#,P (eMo\0P0e,C sĞh"r6֟޿ ѱ"ԁ(mS+E9\7ӢHmu6LVnGT{(M"!lU 2GMk<bst]I pD;ϔ9j lw*6Ӓ=Zɧ˕eVb|$U)יP˴ vGl' >&KxTE+0JfxW H>\qTijw ^w2UXX1Xt)⦙fD< x$ڃ^E΅5I,9پ$ S,&NJr~MWyEW(սrz7Q&rCldu'eJ FzRޱSeEF sp{%i4B,B& ~[pwrurlyMV’KQ{2t:{׎˼|6PxG8Rae=8ʮ$9)8]$/S\ɔw^Y{Mt#Kc?`%m$lA}dXV߭PuzٱnTgNH81*mG;/r0]-ȗX16))ILZ6"Rvj v|##4#Ϋs:?"%&d)a4'~1ξ N5*Zu663w+Md9Bt oHQHd_E3/|¸eqǭ|ff؆z5s/_O Lo[j.2e~tt H/ƞdފҎ 8[VFS`v :p{D !@mɧ3_IP97Q3ÝB$k8&m+nԂF< VMzEn{ZٔgB'^bB&TsNlaڝuN/ܺA0s+cĸ{%IQklύbjh謔U꒡p,CA8^5QNYx$mtKO|>gQvCb')A)h .Q?w7J gsf&{`d.f*0qgHT'SijM"Ւ(u;Q# !pL$~@mĩWjj- ~ln AHSF_!6Z\,w8۠'W$WVZy vgY/WD],DMl:[zT73o_la. VRAAG\F!L k=z5i oW@+$ ӜtT73 [feȿ m|b"GSѴV6T{Iڝ%uA/ߙx1ё n,q)b-N\ҔF͏qRhwK[#/ g$4$U# k%ISɅuy#;&=]XǢpMZLpݥxQ4(TqioC{ vCrbI4ez𡂏ȶH)xm4jJpVOlgH┈Or m&qd*eTf4M#<@QpDaB(>\ #|?H@Om>O#2 $)=ȿM cYѵѭg1jpw'dJ${Ȥ_vаy9p<>6Y_Fyu1p H頻[ я/(uƝ 82oUarqb4qK6mweqqg[Ԧ!ag0f7%F,MII}Nd&4Qm^pBtU;V{]׫ohLz[54As{5uaTrqtq2E/mp.oX[ch&$ Hm6-kULӯ0GCCϦatp'Kl*m̗y3 $J)cC۰PМm1;pƨ-&iɌe8wWf?;@Vf{AdzŌ.8Y#&EuHkGXU`uه$I EE*GO24dl^l3GrT*-c{Qn ;pϲJeJZJu#jSb xZF4 Md%;1]TN1k j@XvQH /D!?++jm (DRQ3$GsX1AW{voJp…g`"fߍSj ڗ+q8v,.0_'`W= <)7 -vM D,12` .eNMIu:ֶ 5=\Ղ1Ke4կ;Ma>~~V9Cl#40b?2/gcN׷@/)ț13^Y{U+S o&e2$_|&vFq2;4E;b$y*v̮u g1IJ!y`8;6__ZV ֮.6\$-}۫tRuWw&sYvK={,ri,K/ݨӾiS&|R^[c)%2ǀ^QHN?3VWe:vĕ$d)}:cuq'՞yZ8~\D5TKҸ=3&Cݮ3mD*R//]dqnȷOGk{~-Dior24o%^2kHʉ\L;X:Lb1_vyR;j/GnSN4XG:$f;VEdV}ѵzu'DNh7]V9_D|@keH3Qp(ƳB" Dn5 Ho?aDmQ)кG dLlمLϦu.{9>ˇAkzCWRv=C`',!ܥVXZ7(1è7"m#u Ƨ#7wZ \0x;_5SL1۬q- 4MM,gn54x\R`PZav^E˱zl{RbG,d094zuCCGAoiqח4kd7މs8 3,7dA~4fT&Gr_:%pߞ._=&|֥;֤Il!r>Rb'@iیm&E=YHCY6µ*$&dUJQ&zJ"$%0qcKh6-d-+8yRVT[l \kyov'(XDNS5&V#Z̑iofW*4e+$',P<-E2(/oҋRd#ɦ̫T4odm2tb,a^cC:d w&C.tϹBRo@ZZ'iUO?ڟ. Ƕ_xj .b,/M*S'Tcd*Hͷ1*an!B)|DkX#OR7v}"Ubꅯ?Fﮦ3|`VTRM}~B z2P =3W4M+qD4X`y G.Z ,nPW%ے%T^&ƞUӱ"| {0G^壬V6IL\ucĥ?ӶaQɊvsdƭ7 ɗ&L{e2SMփMJ<+.-,X\8@9 VN>SG%hLeH &ճsDs@zFr=`.ɀiu=a0Pׂ83&4G%}y4T8)v>l sqsK $:X/ I-@xZC_(4d(R~GSv1ھ>-vu{=1^QV_LeرN [$ U[s=JuSE\dg`o8 EB5mAt'21=Mcӎ1t LYJkWM?$-_;Q$K4%!I`t,z+'r7ѩlf~[$14%m7:7_8Ě9d7Vp e0?JӀnƧ GPZl}mՔAAڋ iBDZzy$w־ENީ9?r2 79OsCϽ0xTjH+%NU$Tw' Nˊ,.m^jb(nu^*O]vngbXKzgq*Rl.ЪM TF^.,&5_!E Xt_CpLE:pZn#sm>L8===~(NBYY%f1 %# m]m%SgWڦV$׮ctm 6oU_a覈m\qj6 :z]5"?XcaHeKEaa㑬BnJ ٖQ!nERNn?0l[qNÔ+WޮIHpR]k q+`9!/&?C w!3ZcDˢ cJ \<Pmʢa*kܫ{5:>oK?Jb|Ry!p''/˼9}u LROh<{í#itRF|pp2K/8 4ߔchh%aަ&:J^z[`+Kro^g0M j]vtL)j!r!]/2~28 >` 9"ZޚTXdMt8'R1QvTBi+S}gM>?)ﮉƏ[fKM쇲#BD.Hq_:Kv]oՄl;E[ 78gӻ, >vY`I\Zd|oMQa_Mm=,&C⦥lb+MpCb CUYKv~feP[dޞ6ٲj}U6[cN"7@E٘gƆNWv'ϧnŢ E񼛓#M(-ُ!q)զ9gP9Zb(ݐt4^:7 `F|H30 +n*Ibb =f7|YA1s2AWϽ&j7WR6bۨFK$<+oxOh_"<.9Í6EjM*Wބv'NXiRO5r{YClqۜέ n0nayl@9!FR*lQkGZLEh  bM'""Ŕ`|h  nAgvk~ (WV4 ɩ.NJyC*~1֟]|I\GWΞ3. xi`%g/ߍ%]K𞌖ВMqa?I-x'A(7Gt@X8]q쬗J+..~@ɒi%kg0u7ͯr+VTΏΜ؝eo/d'@y2*0K hXp KCG5mQ&a'Zt=$\6V ,DGQf8#A6n 4~cQb&χ ܓr*/29N[9*vE7Y%PrY5ǟ "IA2>|^?3[i0 !~9K]Z|]l%XϐZy$?bt*cl9$d|Rt}?qO#=B,WWݫA$:Aii^xzdgGQ(>A{ 䀂νi:R,>ԏB3}AyjNw=/U"-5:issLœ<sS7z:Au.ߴz-MNR1@KU&4 bD' +M5`Ϳ21$A4-z <;хY#i”#}$0U~bZ9x9ohK*viu!qe\XkP!1K^Mm?Ġ4ZT"6QZH`,"[oTߔY_&+ JjSs~@؁$5Q*D":k].mtHͮYr{QY>;ofMV1 ĉ}|8nd*[@&Xl0 ]XL. 9.'AɓUJ.;)b':\dO(1GBP` pGIJ3eĖCcs_CbC51 >GdnEɺ[z>:$ .*ڋ+R3c W~ΤP݉ɨ@u@NdJB&LX-yFC{tYxX;$^)nn*%%atͺɑ뢚Sh%ߧhrne <%ݹc¢QUK(cٴ6V#q੆?9Sĩd,߾ NbNBda{Y]I*fǏD13O1bGLܥ>+\p)-|\S7Eu.CsF7r;+!cJD"9[?r/R{2DbI6{?fM; _eL{"׷)zh& Rɼe@)1/'o+}wѸ?:@* .a ]W[DLC͑45|',٧,^~Sbo:Bj'^] ̭OSij>6Lma|$|%f.67f;鑣sؕ^c>0>n]&=3\V^V9;flNLJ {aPW*E {eYVdL%*ޗ"T`6XdZ*!F8K U= ' 4\ CW B`KnmL`Vk_*HQ IW ݦr_AҦ{&w ``&e ci~`]O2a :#mVLTe43paV^1=pXUB#0U)h><@-f #R7/Qg̾qP$I0Mx.%oi iq鏉U t[!)9PjV$G+ap>^o5,(M떝vA}kOedP k3KǯYAD= ͚,iżqԢe |xo @ ? *͖)> 6;dh8o@ OOK~ qɅlnTrSNs)k Ԅ8u&,) |NRc 룠?Ip2+ZZj}GQo6xsr}/C0W*CIxl\ַ ?>s?]<{6a&#Yf$pOLp E?BlرH3*8k7|s:*؁]M;UI_Gql8%Z [ +8X|۝$ ))!T>p6<.7Ӿ`:D;#K6=h4 Nh=Q/YVo_xU;8X vRɞ;orHb6d (2ިr=>$Fw/V:77_Q[i m;y1)A֙NkáӀy%X\FRs$;dž Te~AMLj/1.ɺ~5jfH2Mdr2qL=X&9<նOD28G)ayORu 4 8x*'eKꕒeVEb 'B,W`kRDF%pAW~Fj0 c 4m韌n'?SWyT 97&bVD-|z/[TU]=͵"; .oD~-Pêlϗdu7[}[B(o6Y$ǙP(ܲ. ' |X:IeHmXB |Z=4Jz[>P%玙y4"eY[æFh~L̑9|.&R_6:`G`Dt.GPL1w7 ] %>?#4J$C3~nVH ̂ i" ݏSTF5nOQ2d/ XmelAhwx;o6;4u>tOk⩊Kj e]c)z :f",]"2mIA#@ZI6vVX~|n-E;A\nBvqBd:{.Y]F̻aZ1S~D;g=ҝ#e?\J͌=Eb=|ThT,!ȕ2: NC4r̜"r}-.$Z-Q(?7S0%m pL:Ƀ@zްAJIj~8qWOD6i]g1n|.MƘl,c̫e,Zw]o/UƝ# I(LcH#t4~4 9nj> @\;$r빔M~֒Фܨaכux!cO,q7 *pWR~}g60}GkL 2sWohXwd*4e+lsFr4vy7$8K\\gW^ m'D꧊[" Xp۳44YR| 1P?T4Ѫ1XI8AEEб,@[JpnRR5FF#zUt[J #CFwA2UkP@c>ջeojŷs&j1rjWY Ԍ$V̫33*lYraWvkN6nEBU?! AIzM=U߇O;@?n s=͆4}K8.oa4br)uK}o;^\ⅰWV~64))+)Gxǖ*ݩ/tܶ&u >,ɩJ^w8w:He=$&ꩆM ݇;_bɚ.$qvFwX dPLt&DDV6쳕b0l1 wvi^3l/4F:Pd_GHZ^/6-&?(}x ڲM(lËX 0_N`X$^<"I40\ Pš^~sC+Kb\^+,}=+ ֌L:c}}21%C5 ,5J~Y樨h@gC!Jb\.xw} t&{E5-'ut9R#x<ٜVV_sؒ+_p6аl]x;2q\Ov́pi~oz胸Gi4E@qg5ıhB\qO<9QѨ:8$|C@Ξ1+i4 vWsOTTeQj5T^R{q onBX;BH);hN.-zU G M{^u5Ȉm-%Y3dWϹ !euIHA<}y?b :ǻ-"FӨ*R=)XJoÁ]? `m*V)_ m7U8;i#P'x td8ZWv};^7w&fA_#K>g:f 4u86m^},f*]#KVqӇJ$7 TEe`r0ls&׋î$_cX)P:ܐ#jWY#;I &-53LM`W: r{+YK>KD Q31aLBz2]:݋B-++okI#"sA#S$ZVچ7oZQ خ}D[Bk nu Ԑ^\'?+gHQۑ`?EcFaue62 %$b"+KGk=ax `F:6 j@-*X?i,v')&io8Ak rS;+Rd,ǂ A|71ӘuVuvs^q6Dw܇ &A+J~X12~5_NG4̦mėR,PG483U%Ub' W$ގ B~k$ُ9fg{i1ۑzBoZ/F+ m>.cpiGKZld)jϙ%@Syb1T o(sYs8f荠M.CRs>%,;}躢*JÍ?_]0|]{8~jՁ_s@#t{vscԤsq*fcrm&iEo x鬤Oȇg V `u?} %Hz#.A@΀=@^Љzm$0. ^\K:Ip~zM9iL[nzf6EX#7OYkG4& 5s z6=#Hw`Щ#.tZSQFͰ#7pGx[ڣBm)㘦I6ݟ*  i̢̲.6jpv5C GH1$ϟX;Mye×j9Mä{|S2qH햳?Ւi1ևV4%Vjgח#tU-Π|sOVi|8|8PKQ1H8P?X_vgU?mO!BB|Rv:#wI\5CΌIfX8,n^\tggH#skgu;{ΤxE1R+ۨܵ*SasD3#j8m]gʠ> i8zZ6gMK6\mDp>ݖB{v`T6LN˸fQ+]P>(b5%!nCڲhW*wVv#^jq*'S^"Mm6酸O^3<@*4-)<ripb _[pLtn>k+?;rb>:PcgQaAD1J~ŷdw5JQÁ#Ɂ%y7g VB<'[MxS_(`Vb!ڲr2!Ɂ}ޱ;ak2U%!*d&>%Bfb}Ik Eg&r](P<+FGP2#IKr.2L۷:Vf*-vZ:"`1Z!'ǚHʵ7ST.چ,[ϕT8̘|R:0`6|Vع+`~U/.oBX}m;RKtry40[$N*P^/S劰cuH7?t!)蠀8b}@];Yh|hW]ޖ LB"e95"0`B}fKTcj[% >@xMghCGlVhT:/MblCHn@s_!E8 |5U/̘Vey^je0YݤWѴOMM SR1%LMG'ge ].K|UU/54ݸ?mE;"neAsS^;>]]e~VW"%a-q9@U 4 3zjs>D͂DT9]!s8?J0:UX7:ht&:72ߟPTǙRZY#5[JV,_o?&yek4?@<)4l9]y *|'/CPkz|r{:zWhIX8'rPUyt2 '7 *6NMjW7}|B0<&u7foz"+38|_dK{P륥UNy-)3i P2f^4l4)r6T]&),EC|b޸׏Mdq8)ɮ؋%/^r_Arth }h{C0yB?lDvn۝#C'F|w b~efQM͵C"nI74{})CdmEf^&^;S^VQ-,KAqf4VM >r۵ H;0>Vpd,GJ#jM p3|,KZ4QwĐ~i'a6aneF5)*u$fn& >3ahYe/tGŵH/ռI#DCm&6{˞A"1ڣՖmoR;6[~2_>wu09Ľc$3{g/auv|?](IeDa/G!.'3/6z?ك2?4T1IU0!*.oĥ 76ynd%J@Q^ɜٵo%7[q'UfKD~)~2͛7#sz@"[Bqs*t Kq7 fkXx>%ojO1)~#TU搌HH mcKE{kIe|q:w#*i>1et,)x2!By0Y.2 l8'9z1Gp9NiRlOpv" Yhpj4o( 835htFY_1n'k;..ZAH}BZ 8ؙ4[~ HAq:Ň'Ϭs^8 ZƄPaR}b(f>WrߑM_r1J0(⻻CgX|(FOL>W/1h&=TY~a(@,d4 dK!Ϩ7=fV]= ҌpRkC\ ^Rт~8rV8_ ^&W83kz ɪ[Vt\CHrCvwU \// D=-DϨ-5Ҡ$KK*2T7J(@u<3>WZAn.7/O):QqoK#?-Y7a8/ #f(H.<32$9&JV4eӚ8VxStƺS3V[ZC" 4JNHni y;hs.f/}rt;o_ʒ|$,]9#l$>Vٷ=td sq983ΆM3*ҡ&|d`Jq;$T.C<ѹ._IO& =D/RdM啽'F2Sn9Z9r[Eo`t{ &~F@`.ͥ41_&!܁淀nn,9J/R[S+#QD;ۈO.X;wI{e~j2 Kmۡ@`'c/hV_"[tC[^!%vԔduwʩxj`p'gbqYX¬iedziX~҈ D ʗˎmD՝ S͂ʇ~Q%gZ$}-x[/D-r]W+,uE}e万ȘfA;@ ao6(> sWz gV=/OC$h XxTKbȍH;d-6LXNiM;^Y8v2Zڏ%"G?XvcTH3T޻'ʇQ૫Hj9Ly&(E{CK{&?(CD/z4glX κa3QkF-D5[r_M}/$ gFbZ ,56%\\kq=Wf(˙ u|:Y %/@D2EZBaQ{"E)^GX1+vlr3"m+[Fկ&㏠t8Lilh{*[ԨR;  "M~ H`M%;>?sUڀ/Pq46sDҦ `/ن˵EM Q>JvZ 2ij{@LJlSGXi~􋜀#VEGb[!Ɵ!~ t*z: h$1'ϼ8c T]\lGSfҬvZk '*5HMXT>xȚ=!*9< :}`4^2^N ԃwϡ9JFj=#"j{3i .Dn.?Gv\5&=7%C:xL9͎w{!2ˋ%Qs=RBrcӫfybY!ć2nD~S "f3t0VRV^%kLBVNvQwkdHqQxnق y_' هfm#KMC(n& 3dQ/xm8^TW,| 'NqfJe4xg&'GL1 3&r- yׁ[^?dS~OODn(-O#dIn$ }|VwVn}r:=P[A#?T8R\sP#2S|F#x\nI zJ[ ]= %♹y eg]5X#i7jwY sj2PYw4Yv-DYmĚ,6i"'@Rl:\-3g)Vq,1k@C;?tNg_q[!ѿ,\>đТO/kcHJxóYn.dmUum#P9ɾh(f~ +DXZxd͸? ī[DfJ0*Ӏr>RQ@WGm|.pZ'%F)?¦岞º.w0:#5{.3o lR4ӭ;,}{WZK1- oS֡kGZtI|) k:l~`祂72OZZ[CKb2Q6>TKUX,Rі;ޘ$o bȶ&PQiXH Btc7٢,\^?؞fAeK5 \gI6j,2gfxi!Bjq)g07Oo%MmރyJS&Sw!osvj@+CJDd/{:W&qZy<7^ HJSLxnbWzMX?z}Cj5™yC:Mm70zpH@qLR qN9u=%[Ƥ8"~/=d)LJ >/-DNKyM$0(1*|_K(cY.pY)d ԐuVMA59kyLFYrRXwJ'>tgopzeI'Sd'`nKRkgC /hFf4΀YGj`*ܮE͏{Mo%(ہY]s6k*pcA@x*+μO5)DKwŗF3 !13"E3D˴f$N9ka5i?Fˬ-mL,** mfQL"W2ݧԦ |{=nAHפUFf*T B1nm#5q| o [[0(C!q{uUWm}Kh]3u۞5bfqވ%+0=wA23ᵃjF"-Аဌ-?GQH,pPj9B@mv7U,1݁  1kXtԛQF5Sĺ攮ʻX|Q,υjOuTj(5ro.-6U@|.C`apYĒqdvh@Ra͈ 4|Pqŷ&?5q eKwTCIqn-֊#BdEoq7Y wp=8k5Pt=n/lH8HhMm]Oq"\b+5WeM{M &fۀfY=jANH꼌vV^-k'Bi?* )UHÚz被͈c$5|`z@[y7veϴ}P@|$FGi=PAT2ecؔ!4*쳜HwFMb;6_ >#IaKø]Pv.Z)x&&6Pr2ЮFE.%9V!rqA-&+"6/%Lzed`\7tH?ZֿN s GD,FHاaR{yҺ{J$T!b7h'ˠa?E$٢@q}|'N8tD,/&hzJ<8ի͍<8q~*"V!\W#R?9J? JnqADRlu}՛srnn @H_@s'=c<'1eOeS[+9_sx"+4 [I{8*jqLF~O''XoRTs32D6^C4[ F861 扨yT++ވErT6^)vʢEy뭳(DRɫԜ{LT׷T8tJūXCtƐ1 ? *Lٛ@:-[o@=/-Բ([P>,kr %Z9J-Za}آlktbrl#ϩ zBĩ-܄W|U̿n F3!$YlJ{I`If#%vA0Aidl2HSʲg+>U.kԅ-}ad667G5?Zʦҙ?X %sb93FѾ39uVEIPqȋa ur)_bx}P\H>`c"ӚZG:aH8܉)[ht X= !yᘔmp%3OS]~~I٘ʥ# ¹#,ЏM. #I "aK&4Zp-GC\;y^RUD`1c%u3 AGǂ6%9-W+Ey-5Ʃiz|{J=X8lE̵?8l8χxO)FWPgYX}|/iuNq wg DO !q98bA:47N%r MĚ=v&$Me?;W6_4T)xfB!!w{?ɂK.߼hkl "u$qU߁!O|gEGM FsGoAN\2߮-_kD`q^LJ?TDLzsAZר(]qQpqcaZ*? W8q/b^:aջ?ю&fY.~eLրo;xqg~0FE KNW3Ly=+؇P PfCtM/_; 2#;}v˛uE~y.AB/4N*y9aJ /, ME;F8:RI->IN*KM-YRˬ[+oE3-D׍oק{69KS8Y~<mu5Ze9C2!`<:wmUeb1I٬opa/dLЀ5vn _ran8 8㠇9,\̈́zCpP41Bq76B+D^b*1' P@Be|K t9&DYn(KNʺPĪTM ;5M<;ZOhI41۟IsPJd[IހZIqKg1}ѲceIO.&gO뗲!< $ʣ1%x~g}5(Y)^nx7ZMH 3uw<(DqîuwV!7b M^g ]`"xSf84 >eHBm9訪կ> :4T/#<Ԭ@|FxꪯwxJ@Z9?2ZU>%j̠N~ >  Z+a>=MQQa訂Cd 33"maq01 n O3"zZN'-K-JRwRb'+`Cup"hXX"^k5YȽvFHVX.rг;oz)91Ƹ8~棺? p̣hT Y9w c-Kt*_Pȧ {d,YZ_%-Ѫps-Dq2pG t9[9ͱI"QqcFo]F5h^[+iQ<^3ȏ;A-MVN_*DV5DhѺtۿ)E@@dYIµ@~#,ߜ:_P$);[n`2INtJA*ԔENZL9࿟'\KrvIznDdJRvBUe苻Wt@H^uLI<֠C "]#P𯍒#b> aJh=7*!ӇN`nlwX(yK:d: j8\-5 %r XgS bߙg8^{Jkf]+_Vnb`Bժ8W&^V'}rlRQZ 7xpM̓φJI_ n[P`Ex7t~^HaI u]Fw]k@_fY/[껹!JSTe>cR^)o4R [aWS3/0ZR;3}HоE $Xgx&\v{F[eG1ȫ'6[9ov&C]ujj(Z#n̐1 ˫]|A+Nm!`+oJ?[Ssb,~{up=ᓃ 8F$]gH<c)XCh?uL<+@EvRz16Ba4uon'*S|$3Ljē@jP~1ӡ|(b5>¥({'`&3gmRKYZV݋|g^:z{ݙt߂(2()8Jm(y/r[0Yvs-SPRzC4j'9mov~CRqˮ*~].Z&rz*##gjqIrayW5C/g"TN?8:碹47 TqڼtWq ~γ.#0Jᒁ $^RG-,VmǘT9x,w7{hIsD46~'M`*BYeJoJH?&Go8#5D!ƫ͗2 کLKWo$dw \̩Y6'M;K,aYҝ!-!@[ l-g*IɒVv{M: Q4c/RɿpP NO>&𗭆0s-(Uy@{Zo<{>8:Zu v,GsXme;܊@  DT-#s cƺe۷Q` [ᠯt̶TwyC/Au9F" Dt.7; Rd8D9boSn*ZG|P1[҄P̯&-x,V3Px)iOq"3C'a9Ab&CӏRQN&4lRG=h<&WٱYZk Ha^BhG#TrhJV\ZL52Y)\ud҈w9)'A{*GڅUQz߯g&{}cUn2' tE@ǁg& 8,*-K3z cN$EV5{3^ r`__́'EI A3v׺U`PA "[4wOKѻT+em3%"OL-Ǻ|xy1v"=x{G^ xO wUK6.uLs^pD\ KUَtS܊ql[;|R.Y(aQK)%AFښ]7::D>Q}`uΦiz*fҮXϮ SE>qw^=HtP(aSbu VmcӗԔtN ")#j"rڋT:1@J(e?Ƥ46QhK#)t+\R}2m2t*@샛"F଻~\+"7&'gb$T&ęUHê0M>ƹVTutGT,v2u󳨶qr;¯L)~tl38-e÷5;P}䩪Z2kQ>>V֢ eFIH\ݒ4ON ۡhn;E7BYuϓyDʹ "Ig3 YbE{JjmBVJ)XJSUɲz5%t&roW$|U00$sl$]*$ 4rM(Mf}nㅡRv=[wzNÄ^]Hc@fdg5jOZ]]t 9 -`tV~L sv.X(O,EԜU)Wp!HxJ1ZQӌ[VcKI% 8Ju;ijP\ Y2?`D߸I(V_f~6Z5xk`R53@R): F;ʮ⫍3uAuR:EkZ"ٍOFyRzt ڂV= ~T-:ԧ0K#fYF#pU&יN*6|Zj``d>ǔd۵QY̋/(vd|[B4FOz +'t)r"sv;֟_, vuP(Rd[|c?gOVk) =MXᥝ`AY}]"̲ o16H~\O*W8K; W6G̊٢әEmI&oהm&t&^Fz;=qgE^jw6F!D\錮ti8nb>-JUV53`Oy^r,&npkT+뎟&OoD)QzNwr$3j`u<'nhSjHE1ЮE*I9 GlS6}k\^1,S0WPVն/iD#EKXxrk,$6rGK7cvIFO*pvtGR˴`YԐ "wV2uZ2ցNj#YLnl%^xsIf}I} ~ Z{ȴ;ԓu=א@X2W2O.d5š΀P" HS@^io]LY?ezmG#V/8PA&ru{;_kL#)FB"ʥUbuD>ŌAG S$!k.}QԧĹE'!6ŀ,B3eS-aޅϫͫW1VBA#gF6 U&LuZԉ{Nf-q I=*"TmuKlX1\֬휞$Na?9zk8L` BYQ[dhC_9`5s(*\;ƤGi>?&-]ݸT7 y"};d.s/Q"ey  ;B)1ŕ*܌ ?cq2.t&c2̙\۽+ge,פ>Y,~7(Fs-KΩ x?[-(9[r*Խ#&80= \kj1⨞4϶^2c9NlWTrlVcTjgjh(ZA/vIՕ)=/LrT?M|7R r'Ԫ~ g]qVR?Gtńtȫ 0`D /|r ܄EǸ7מw;SWϪNK⳵^T2KU|}JJoȿL`G`b/MB~0ᯎ21pĨoH8z;'"&`g'Df&V OI}y/ap֨Ҭ zIkNΔƇ&ˬ@qIe V${L sR_b>您! ޹xqB4P4Nɋ^ϲz(6ƳZmkR:!}l7Znb}4JLI՜(;n3XǺ*lBCȞ475TkΰfKD}ȱOpe978-^Ӊ0y]jZ(bS0T&Wk?iGS\,3*2Tt/}kl_g7#blF <\-[J -Hm꿑XnG+빻X$|9Sz 3a"!Ew7:;͡XLV9ָf1Xjrр]$Q~L 8q=t B1=۽uQ,uiv %a,*NHV~@%bl6yeXC3E26p4O8B#ä1\(^!f5s,EE11;PG '탬S:T,~gR?*:XIXV|0 ?tS..(W~Exipݺ1 AyDp$C`]~ͅ'? \,cTRUIU@_cw-,nYkdGŽ(2+yTaJ2+_UQ(I &FdX)3 k͜?/ۼD#j ^p7-s&$8(Oo)LFlC増KMMGwuok,r0#fo\fKS Hto {/7Xd%v2ho| -qua2Y`J-_/I /wq08^c((ҕ:љ+j6 [ѳ[a}Xs}Cq_Mڂ hHoSzPedkdd6"ջMokx*hR0=4>Gxy,/b*\3G .8CiƳ^w"äohӵ>mCܹ(79\3^NK I@[8,RN H_eHR8иvnF2D&ǤvY6?<brzp;D` a.5u G"vHAi3kfY:k0(i̲YZ|ɇ8_b<3{1>\cuY齼Pdc4m.A^3KV[bG~&ORtS:w+ *Y/⏩ аy3Ov[{-:cfJf8G9"u]qsE+՞甤V_/-mE!k 7i퉩̸ɴEKk ֩ { M`|~CrL%âz灓U?“:Gzɕxj:*kW:0XANQ!If 0B7rI۠[6~CbNTh44BHӟ&9LVBCՈjoǪqĞf<. &Q VQ$4Xa=S%C/m! f{r|MO 3(EIV^nXP:ppbdu|{R z->u!o 8)N&O`\wT,". XGKy-{>e+0b}ם'bCv(_xtPEHYJhnغQ{qZN''@"3R~W)^?caCJXWw7[)@A~L&08fe;Gl*ۣO$%yEEў醤@עH%2#$O,uT땥3lp=x6B̐ct ؇u YYeFlv<72R,@p~ǥ RfFvV`aqCRCKo(wygZ8V#`6gPGCkte#sat#i;(mJGUx[^s Uz0,֠fo9ĈPsiJ&LuXZeA!GE]8ܐbr+ @:ā6db |0aNq\Q&D1[v=8\n:e/thv3\S/fwC5? o2˾ydi:NP-ub? f>wq"g>:nz 3~*R'%dx!fc3RkѫǨ,[1q_"Q0V%$r.2AMIf/OV Nwsqhb<^q:N<'ޥlOQW ii青\=6'@>wb[ń=f9s`M@hHcMV>|?L$+f(:7\`y&4ҍv@-py(1/9ֿZgCzɉ?| 6]D<^կc^X2Z g tAx-h.VB?5#kbڮ2Cb`cީqDf5g8<0*ཛྷv#C:ѕa#AWSO$x!wkVAHrW.>kj:I^F !7 w R sَ+}32I.$L՜k;:P+*Kg7I]TFqbZ:-;Rqۄy %p; Lîk9[YQ7J(GF dSMH:q<QZ`L7- ǂ~窌=*vt C0lc$g%}y"O YwRv+vQocfqM |N߶Oo0!Q%H ;K{I;L#Ғ?J^€B:UziOSa\jHqQWEG+e,8vNZ"#o|EdI;ժ >XG/;-6?v"]4btwsϙ7-v#W@~4Z4^R?}Vw67ݶ^6ƿRqKZ\-09J&+_^n2cY"U%^LQ*'(Kk̰[t)䇠T\p[;8:!^-RqW)RJ0$ s4s#= 'ETJyV"ڞF&`:ǁr;;^cRmܥ P(Q&G풧hgx4Ve2@|9?!P3@;sLj$5K4ܐiG0 .dN +cW]p M"TL5yS\Sߴ \ t3\nC0߄ d#&T<^zNra,&$/z#%Lx׼:ȴtg*mURaA_ y] T'%ޅ ]=9zcT/UL8ҏŠ @{\C]Ǹ8-!DZEA/[eA>Q:#ay4J9oR+c ?jo R;#Y+|hd$,iCT{ns-JS^̛ȰG5U(G9bmF!Ӏcш=~NJc^;<xza\R@rh]˲Ci#ko3MQGY=Mdv'Y'x2Pq,SV;b OC= #u;"YTj$ݵ뮌1E,:(IUa@ޢ=-jZYN`ua"/}J fcB+w2Qu So`,Lı)f p.xwB$-n8}azVΎ;tiC~H{ f+!B_y=:rSXg$X)6i z.? 8r%lbT ^sVjH<+Fy:KhN%6~#J !)L@'o2OadW5<X|SG}^*K5s_6vp &3`$YVyֈT_APøJ:a*}枊Ֆz8gR#0H/(vbǔtA.7v_Kj>ðW⺟KkLф~`9&nT7-L (x M})8뉿2ZN>e8yMgxN5 5;[b8a_oq&Q;n > =Bj`Cf juXN̮yAcDԳMLnP)>򲮰+^8zx<-CKibGoSX[wv6 (~1{Xk fanT[#y+m{b\'c7V:kbhΊX.xPo7jԮV/EPżeA-H$d M-r.F­PWGt[MUCldY Go TQ%=9XݹrL hOGrͻYDIv ۖvXrF e@To"U$Lyf.:I&҄&f.:?N:T&_zx//Z+YN0!&-,zۑمH|4vF]>)ye١AM# fKtR|}PArWG47m(I܃5"}:_T~ܨ[tO̠3UdhgJBw`t$3 b - 04 6ڏ-"2=WS B?O'it{2%&RU|2 pf|b^F6!&6Y:(09m@X }@od8 o/Sj!]YlENa۽BT#`\Q?_W:-I=SH6輋!3M lۖtPny"aڤUPVyCl^u5e#/C R=aFѡPy8I@{ٌFv;I]˺pڮe6%-r:JCpw/RLn @dpK}J¬q:9B)tsX@A;UE l?]^& lڹ:1Qhvt_s5ٜ,9'h .g/1yu|=!$M՟H <#Q(whzI 'ssIrn72JasiL_?ݤ[G}U<," -R0)BOY_a乻#ޑfj cw3?Mٰi_0s[!P_M9mFP5Cjn`*zJIE-5;WQԟ+l|VڏxiM!l*}7q*&e+ԙ=+R@!(9i2!Ds񝆄CC3}DڟJ $@]iDŽBU5K!^J3w~k3C.E'ǂ_'/&?EUfDof >Te3D$im2u,bh!n^ES~ #*琼0ЙУ|w:SfY) X|j ^6 2c@uk|D<.Fc GOz'xuLHeb΁&BܪӾ"eEw׊9 P!^i}%~1ٿ5=QAbQ&ROa&faƌlh8.43hD5(tDD(sY簰] rY6|g(h5M܁$rqX/͐EPWumM@R&ɻV"t.HsKN0a[ϓxw׾3&N#t|aC{}` k{ #! qiV_>^tPnoUU&Wh`]rE$4+7ly|lE2T5vzIEǶ{Ƅ)vjPa42^k]P(׿v .9fr>[P'!mP OEloU"UŴe&?C+&Kpբf0H-2vj1h*Z9"hp z.ioӁd"B_$b6Jx ES1CS*[⾼[% $F)OiڡչqsVξȄiD Ї=ow=5]&w'-\a 1r?Kv2ڳ$ȅc'G(z\81CT^xi0_h" TxrG;Qpb E*yYGiO:7<W [@jU%CAX}L]lk:Qs: Tr Tٴ n>d&fs>6N 2'JBB(k0y z8j0gA#~{hi6t^zHVQB *絷#%5'"=̿aM=@%Aa_{ba͛Pj{1{As>"ES~D-!A4gL'WiDY>Yz5CD8dᄰ ({l AF׮lJZRS;,볧Tj8Ut*GsΦWOtJrk1&L !&BV$q?A p+GT|.?ghػ Iؽ}apo$(]tpטj̩s}% |=|T)3ĔӇ9h]N NwEӑYD,U`Dc1 !yLinR<!>;DdZײ\UZNCD"43T Uch!˓sN[Zϔ3hk[n؂uWާijVС}6R9~9%a"meK{Cz{wٖw.[,\y6 mQo$i6dQXŮW [%㛸,Q[9~g[["5@b`ISͯVOR(M?'_kO2CtxLl 컴$ŵL Ҭ(gb9w0z;;i!ʩ w / qJ4\L3 q:?:o"5`yuɤ2WI!SEyè[M# \r#fԏM.A7Eic'Q|Gc:P/A`4#VG\MivGx) CE0\g lH>xɠt!bQ$8qMNɪ63@ gg"xexc߁C8V9RģYKd \u(QthJԱ)sC~mT 2U㟅?-cn'+Ug_q&)Rb~{.I^o1`fkZpO{<їx86-CE |΋q,xIFѮhk"l[ǚ@#K hpNk6 |7R:86$B  dNjLlDk%3O?5Vѩbn_- 18Ičp LHɸVI;-E7,IPauɞ v)LQws,QI"ԿQ6/SoW?z] x-fnU>`\D4;6T唺S,{7m@dl58Oג Eg# z硪!iSPA78p~#/04a.5|c <5'=0A $y- y H)͈'S%-v C&BU?LAdzVVpc.WnmUϝ[_  L'faQ][Z DG^17AWfʮ /pl~=fA%NPdoR8 @m0`pHJc]OUwdvߌ3Tt_δFrK<4שCȈFLJkmcPSFa9~&>wp0/P6X[v47q2ȾMtz KbGB܎CD^IR2K&\, b){|;`++R泣e2aΦtWy{12{NM}BcJ_?ί8+K5H )kUE9knRs*LoPE> Uc{rdѬ` &sAiM>KL2Ǿb Fv+Ur0c<;Mx,ׅ4i݁Bc33 ^Lc`h"20=#P' Gq'K&0_z cbݶhϔmߵ(ɖ>|QKe!n:2 Fؖ|+@}[,9nƲ?$(G̸ !UY cqC-9 [[(4HǭMف4QL;cS@7EF~OZr$:w%\#|uiW+8$& ݲEiklúWsD$'kC1ޭ *]93c^eB3mꊣ<-[}2KHx$ &8:p& ú`s-bS@Ay->uiVё&KoZ_Z(4r]I`_ eg7;65F2I<(쏑*6kʠe壶TpTh/4OK-Br| e#Ceф"ypE2.?k>gV>\C_L˖MW70-!c2Pugc5dKu~¾YDb4ىѼAOBAn謋;]OR9ް̣+@vF_)vܡeZ"2q“"|Iҥ^;lo~[_6դõYodqDr/q-+p 4ȅ=78&YYjJ~um ۼ׮е-)mF !UKu)(xp3 Fά03?a:EL{sm:pt_`#_? k34Yg. $(1;UJu=Y$PaGӔٱ `_a' !!%,΁|Fѻ(f wC: zFSWaӋH"ك/ܛ1&ŸEAćJM(7EY9}vK–T* %Bi,pV|'Li]} C7֑.v)~wyv1([MrOz]|aJfJ;۷+57UXnUX+`7\<4$˛)<\z>F=4D"Z/OSQ5mg{;ՖCi ufino))}H)pOC9Vz', r)zx(9Cm5##zmEٸ#(Qk FUwL'Q'XZ/S zx VEP;hGpQ%́(oň6=&+ҤuW$85Sʦ$u{jTk"el/NGj4NjﭗDz֨O[3.Θ9S"J˛e00l&=.4ԇ].iWO8d?j;~#UvrZL~gS(0>]CU[DFMvDg@Kcdn~6in7ͺ9q撑dήTUKbX6 E`GgEŅJBCWjS{G}Kn / 5X3u} -Bj0ua58`$j%$4L#Igt/~jB? VцT+CթFR :l X$E6e9f T.}ꄔ{(S?՛P>xdN۾7[*>\<XJT 5GfZ,86P.s{0Qj']Ⱦ,h[)oyUgxAj t9}Y5Q̎(ʋ,]+V%me`FFg W4l1?ebrz-HpgyA(Jm0Q P+4\;{[>tKQmQUN@noKd0*+)uvٕePVž17uo9>+svTu989'hU9B<B]29urꫢ 3tɨi] E#|{`e-kY7vM~Շʀn28DAK FX)^;[5%e$pn8m* ? $@r)F"^;^eڛֆܣZƢ iF#0=F=7?҃I m&5[gjMvsbys;#j ']Sj&H$=QfQ{bPͰ-BބNȢJ9w;QeE,)3}lkL/h[CZ]'sϪMKa*jkLF& <" 0t7-O8y */g4Jz;e P< %mS)J2λ P^fدpݍ. 2njtbP(-/SGv&0XE} ܚ1{Bc)Z;'גJdWfZ!*(0.jIWTq9Զ%R!5^Ǵ^bB|o)\.u$gcGi^k;V8D"C8WMv}48lXƈuee>6k+*[kI!TbPW(vu1F#92NP˻hB")cq/{)eW5JɑP/:{0 >|x]tU0)B=mAc`Y 1Z/[I? o҃oڍd7s5.mF>y/?:Um_62ӱ o]4?BEMrE`X[!, R7:Ԧzl_xQCI"I|Dj&,hoh Io_~T!ît3'vSqppiiM8A7%+rzia#xh`8)SwB·+xvo@;OQN2sSHR4\v0D󬬑:u'f^bp3%Y go.J}2G<1JڻH&$Ǜg9.Wg0"XT@FNY56E=PDD@wmA6$g e'hߺy-,*4NyE@ L]iZUjؐc^>-JZqgz>ʀ֋Sb)GMT'(m1MC*H3"PBMEv8-]Zȇ:atEgrK ,"SV(K{ԓz'wD&'v0T;YrTXgə zLII?#:](<VG3curq}JlI֋ DS@g 5Rԗ:ȸeB q)V[DͤzzIȨ1is&[sYW1K9l ,Ebaڋ \ɜ a5@W[2&%$<"ȈG2YRKa$%mWӞ*Z;CQ.Vu'E3_>b9,ذR]H{gDWu<`"d&h6D4n+!n53`8jZX)"QdZX )-iI}(E3&$7* \p݋=Mw,Ý/I=cuZ ^+uF? Z7cRl-h& WuMI~mn.ɟ-Ӱ\I(kce ;oewƫks`|z\Ȓ)ũáUtJ#7n4 x*ZK,$w5R v`yͩ6ٴOn(Sp,|&]7ad1nѫ/vfT>ǎ|#Sz 2L:!?%얝wp#Hye~ %{:\AbD6cy(}`Wڐ4_;qu(VF n<_TсiьkBot$k]I`,QiHApOL%u!SކjV^KNL9T-zߞr8Gaᓡf}lzHWk%]n4h1xPfp?]?$S"r)\Pi0H# eoWp%v6H'<mw}5idž @䘗(zMDBZ;2x?JJh ؠCkd&,g9P(?o(":UdKqH.h1A=]QYrx}(wbAf7܅Ҷ,b `O"eZG-׋Tj!UU`Vߙ8uH0Z\{il7mq*M"$7\ 2M/d\U J-3Ea՜|}.[RY(Vw}Q"cuWl &j8PǷh$!B&и)uiw4*t߭`‡s:ӛ| Np6EwVZ4:X'xMv6VeICM>6GmZq3P=)U~45\D"4kSZ|/ ]D ͩ&gyȣ*T!$n׉!SHYpo]rs"rX%xAH% ajkSnHl}^AkHF0GeQBZЎ?4[Җl h+C?.@b[zɨbq(88Ʊ8>aIQH97naBh`G-k{Ÿ'%-&UwEU{2=B.'E p=G/7(ڧO]5e[$KHLvsJBQ7SP<˞c| 5)tߟO@1BQ^l}ӌTA.SD=F;ODWj='gzd@}-Xf{ii+pA ,XSU TdOPj8 t:#.J|OfRuUh>>(Z5d{#NWf]7JfqpX/:o&:ڧSw@+ -}k!\&2gwҘ3=^Mϫcꐻar}wzWQ(g' fOWZM >xIQ3$&TB=byZ;Yo?Swxg<\ZL1 {kkWj%opLki5VyFĝ2 8.IW (@2GbtP!Oh4 лI^*]2u&b6'o]r8aߐ] .:dQ{oT ϓ-H4AYJ쯤TI蓁KGNUCyE;2~ Mnˈ~ iO.u4%n8溯2٧LtncG5La7Id n~>2Mm]b)#OkUD-mj~ui4M[I^m|f]['-|[(3j/8_{u$2.!rI.;D.c DhomhQ#ċбBq/B%r0p4?7Aƾʾrw]cV$QA=RCqhC f+!2.S@` ]l8Ago򎁧DX1=jH=oc/>C$n1YSr/D=9tQCV77!YY3״])-,ZZJnz ԺY#$}Ak"儱o [&%67ZJ^)`q n-ػ\"d] ~Z cP~aX¦= bǟwI-nL:.O7ls Q#Q>j)O3\{mF!INȦ^:㌰c÷/36^s6$G;M,)$D-X iS(%53;_&vF6#o2z.IaT"΃Ė/СPbFO[#Y{ [Aoׅ(U*h03q%P#A<\heܖ!}/%%?[TD ׽r|zI"n<(Lv=묯:zzdɐMRIfaΑy#KTI2<`c2R(}rU\LH7M? $`&z,|8nFcM!$+vYZH.py&)M]4$2@pgǭ Ѻq^k ]w>D@c)<;HC ANaZT!ylrix,_7&W|/REB]^ߣF tWzRRɥ&`;x~=",6*@+]+'0f<_Pܮ"b'zIu{4d>ON=wmjƊIWSb,FV[fK!,Ե*؃7U1̲c|>4WoX-rc)M[k~@+k>܀tUq ;WsIy|X+ꁴ4k #Vamb"9Zͅƍ/? &r^o2 َ7TEjW[u{! U fMЪvD@;`mI,8Hb.zixerΤ!RL7ƖK,9ƂA1鱿 snA;jHжI~A8žDN]Xk c||+ 7AS{"YKf ú )]֐NX\)26+&;>\ PYن$:tHxR:ÞH&7IŦXjm[9[7Q` I늠|l5.Gr!~ fw D;"а!p&u1ZN6Ȧ:ωwmNaQj {=D tZV>b>ɜ<+~Om!VїPM߳7ٻ-SL ۂ;Xh='HCRE,eQ\>}g.\WnrE_L6B@]GГKP1\P`"$i_s9R =[/02Gd;ti6ej(Rs#4  1Gެ0ފ!o-vT/d}NfrdlA*MkY!q0-?;綐$ɟuCHp1rhmE %VuUI]}*Ё&xy:5Ph/4vmE]   \(Hs!0A3vmlu=Am *D[3|v9Zݛ~ :J!(VS T/9$Ky=dVdwu(TFe@ŗL'4>pYy2c]oz1|rnQ",s"eYɏ3#WtYCxTsrjk]ZH]L..?{h`5vaMpIE䃫xMoHXWyOLyȲ1z`]Q ފ r[WK5{ul-y1+am<40О7I"MHQ [|#]&ޚ[MPU(-!8qoM\V"q;*bU}@$ =|$ `?(¯8,0C5ՙ:BE׆p޽=I:`NP,k,.a _,<eng?iaBd d4|c<5>NeJ)YRV4zD.7p?8X]Lb!t[Mrpv%w9l=\HF])&gV vrO r 1\hF}6F{QLP;д[&d쇝@ )U.$_Pd֋dN]S!Wp/(30˙\)a`\f-FPXf|4JzN`׽%m\*3CZa]iTVʆGy=V(׳"8kⱠy$<Qg&1"Zp7??1g ;ãqX`y} tM 5xC[#2;Y͸;nC~U. B`B~yk<l#v]a-ӊi1AdQuԃs(s]x&[AUExV'FRf^wFNÃd8WS=(% >1oJ> XUjٚ} +_#Bω%2WkPA?Rl<+U;*F[*a{؝ ipYe ?_V.QL*Tz%Z]?^)F.#Ee:XN>P-a?9uuzso>@_-2K y Գ,Fy>. pzEy`)ķ}ڶN70lڋK 5>.#L!6F'I< gsk3Zc-qxՎ<_>7F@SFeVٿvOר9`z·>DSf##i `.Cq-H.#Zg\Zז{龲/2@ץ-]BBK?p²y}w3k@;rI $"BCPm>iY'0Hc社< psSRG#-W#N)ӄuёw_G 74120Hf!R4E{D;{!xJY@fj#lcb;qc\ݐP `V Lu/R["8CЩHlc;T@sykF #}? ᬭ hhʠRy%p-D3PHK"hc*]-%nFaN0#8|@jƩ]Dq\Oɀ$u-DE'G9tI$rM8`~$ZՓo|H˯ӝ~D$h!´l|Gy衱MD;-zF9b+7TŖeX3CۯLsTP+SPyA#{PL3O'qX 5~˜/u:sڒg l=ofp͂ɤBI_祀H{p=% 950z//ҔEg~n{ĬJZcS/XԈA^NM|#$~3؎Cys;,|5X0&'w"z Gk.>t0h`e;V^@jHGx< &vaE%قEMd-NO9]-WhqAkfl&H `7ўmàa'C}|7U+X}aaVt§ F]I(7w>^eоvg[]"zY;d<)k.f0"l!S2Bp[ܬgy!-KwqoF*!8c2%2؜p?kù]OwX/gVkas*/)q3ΌμTҁ4c[ $䶦dŵ,p=ރQ!/$q?gO;iwE#?vWp11zGUI!IÃmQyq;O)fRF,?fY$!ۡ%ej,<:@B^(X>S\ƒELWSղ(ɭ/?fχ ܮ?Pv ΂#c3w~O1HF'}O}2 "$ i,E`,!GmqA4N,a$ؾl~(b0 Vvqb;D,i3]8Hkozݼphp9kHxP r ;\L@{[HSjg_ӻQYXӴ V Fu`rneԤz [d'lӹ.5ľbO` Y(kSz? g nx}5>v;]tOw\/Ǧv]^ ̔E]NY4"J* 5`Ї.K)i\ qYq.+~=L#Ct8lJg r1jƉ%G-c,%1} u\䢉񊼹XQkjŸH{ T"ZO^!p'6oT򓲠r&"] ^"-G?VpY*MMhڇ9t5<@LvǯlKǮKc|Z8?uXsU#V(Q:G[A $ Ъ?/&b8̈́Q` 8HTV֙ CeR7Տ-}QfR{a0W7:~o#|5#f1jhFuA_5Q,TC+֮jwcGD(N aR~)ʫ<6FjpT\GsEѹBhGc4qy" fjPܤ2^uQHt0d/YXԮSmgB`:w~`'2N>3; K` *׋P#Pj+<#`}7>iF}o# FTM{#XU A9E#a~G \Xוl]f>:+qZ ]Ϙo dbE8] !hK^yIV;e.;> ` |r\e3^aLh hx‘T 7}!ז-n1Q5lk.։ͳ ށK49_+eL 2E[=aK0 e0ΘԧBI;K S|8<-36KqϪf=;DmIg-L\jM`P4JU'yQs!fyJz'Kp%/JgOnxfy74{8዗w-b8dٹ D\H8ό_ Oč^@SHO2tWĀ\׭KfX䲞CZї5.3/yDf~u;P6 aulY}S( 2͘Z+iJfM-0Dܥb#ۭJxeR~ͧ~kցD"V~.nnBTX s?NjMqo8|"$_q2^5,$nRZ r ?&dyQr䪢WvklF{ߥXbHbǁH@xA5hLV$~I -5'Vo:J_6ٹ㘸"C]gG )Jl ;'+1M zh@ k30T9O"U/ITcx}FCL:ۆ5O:層ʲߗ5vhJY<ϩe+ i}H 8 XLkNGoklοP]ŔhKACuR8YoɈ̝A#۠{R v:Y7*x.Ԑ &bR,5^xҁlt^i6W>\GᴠTRPЪ%!nmYcSG?p]?\ ĕ"?:0O{*,t퓛- |MW^ȴ=YgAj&Vg)]n DŽ33= afWwVQEtUvPZH$c /KFGfRN\= $^|*"7瀏5 *@ l1(QEnrWeGԸ&ZPϵzE~4FgFv0L"Q^Ͽ/<лY+Nܩl2|/@F;.)//B*VY7l >^v̹'>]-wWˢi,cE5bӰIyLQtDjl``d.0OvZ(.qsA([| ٺ-:Wr-wPyc6df}"(`JV_b~ltZ܄h;˷+bc,&G񥳷7DRġ/|lXYܔqUx+?hz&rVdFy&Oo-G9eGaKg)1ڬ#pNZ\;E!7_/UQ;;)?כҘ=NϒQߤ`r[1y H1T˕jՂ_8LYKuAŔfUS'|HYU8k~d~M26]5 !Jg2܏+DRmQUZ&C gD"_V#7Cqbp-X3" El,\w%3O!DAQkolNloXuy 9"y  p#;nJK| 0Ŧ{thlLn鲔=nt\STK?%oXxp-C'eپ׎b?OڐLgF$E37IlD8ԵXz]ަM,Ѳwώ8ŘYn[josB%6^ #{O~$`󿋨@_g*EwևėeQFN0T޺"avdV`Y[X>(=@aBz]Q3 ى )}8_ G}B5j?4;1ђj4_ϻ4*5l޻ .΋L>`OZ(5|qFaR=>_q5\ɯFg-懃Bɘ~MnDc+AJ8e\ΧW[r"jZա{ M9C۾ ׸MZOl# .dZ,U<0jYdiZbjfnY".}X<%d-(31aiX(^D!|ǪC>x7v^Tvp>h ;NCp aV1TӋ rD]&iډǙO}iI;(ԄY/I]]|uiESVg]93Ù@jO>6`B& *Um:púYIN|8sƂ%܅א aܟ9VMek nYwDW!Z<=`swVutY)i&cF\#ƷE3oP!zXClh>HE\×򡣹#ai^TV?4`dT4N~3,lަ?n):^˜O8LG;6JG}!Gn S7FIqlx%}޹!Pl  rti0-Dh݋չ&&T.ċ,09Se ?e:vt]9Eu? u,?J# Hf`JkTLF~?3M;&Fu0fY_nz {K4^w[Hjу*B rCr+uc ClC+7.cr XbK# Lv TiAq,Y3A8i_ѓ8bd@an1]EXތaB!{P i8}X&"]p#ݐk_5D71(sz*'6jяBt?l > _<^.M&;,91SM }ξuLmo C4Qy45;!'0Q؄@j20l. b› Oe2A`7wrdQ;G񅌼+<?%ӑS3:%!+:8{z KfDs$ܞda$Bk~r\i0Gwɢ(C4&QcBBE ORo*F9H ys6-m J*$ur,;6ƨ%$}`W״anq΄9tWR<]iSk4ڐu&.ۧgbrd|Ǽ鐃6; {j_N ϐhxpr{PҘ@ROb% 7!H6l~j85m)xQ nBDژUb:L@*wxpq^.˶2v{"ÀtvtbW_ltQ[]4nN _l 1T2}Ͷ|+k{7TIFj[6(,ajz_P:'Ï:!}3ݨB`Gjٵ ӊ.6II6j/4sR%P,i,O mv53%8E*%^\bFVa V6ZBGqzi| ]s_HQNa;I2M 8 Q/@R$Yq\7&O5~=؍ZQJ2,,l0)A㴣{ù2]Au gߙUP2.vm1d|O(gx9y=^A0<^!dHQ_X2YD/IT!g%=B'|]Vfl;f547 ~hUh0k9+#r)L{zgXg]'te=zԡI-*s[]3fޖJ+XNiWi,UGq:˔Qj6VMopf9[3E%9 VLZ'X,KJܞd ֊['\ܝ ;򉯔^s Ǽ]jF#7MP `urL p0/h⊣{F5>ͩp' ĺlg4+{6ŦA?fABP:)SďjZ ~ a%%ls$j]̲Vʻ)Y.B!rj1R9$]!'oNfvg_5} Ƒsfw JfauH%*#wpDeR[tLJj"xȑDv,6FyU1'~]w cݖtwMz+GN@?ЬYT qӀNNK 4Zm`RO0 HT4DϸH@18/ɋzw_Ҝ/VXb`RQX}ΩZγ--Y孳Q!{E %k! v'n8|fzIDܚ0baW_ǶrRukF+u/P4 NqlwG/&K58ATtIZHxw-е:qg]q#q3L~63T̋2{0$ZFF ܝP&F>`~oMDHFDWc}"-a6+pݭ6)-D8^u`*K ua[XxZ% mǓM ZʯulӬp ѿw+zQ`d+!.6wL%DRޖ~Qv}jc 6L|q?:NN0S.Lx+lӭkVq| Q79+îSzPOb¢=pP(ǝMf{0]^u;TѸTgf֣KNTX<-/ؕqƴ l3EtQӿʾg'׭*/ݜ '3N|>3h] (`g5C7#=tq͸ont*Es`5A7~)OM;snp F8eEVm>dQg_STgO+f땫0hg_e\:ڙ C W%P Ih%WeP-gv{#"k=ÌM|rdYeTğϦ&`jkʩet h/<Z`ėMHBZ#Y=lȏfI׳jJ*MG?mϗXݎ@"j^cJ%l6a=sr[hi.=H5,iOo>緍tB$%ƃ ̝M _N ܾ%$xd:E&90X"k Uuq&ǕF{u/qtBftVɈtqg WPl\4P~m(C`p<P8Ǜ^Q>/M{=Tq?@9aPoNԺkQ\Q+1r jZH5,zt02)(//Pk&x4Etq/ZT.ȟ86sG?fYDv!F$[뷻pBC"T'Q&KPB/ aZ ]oGPu:[n˜A!:d2ea9!cVwN5~r]ݙ@źMyAUĺ"w7\yz3,pUmɧ gwD;˒. }Nez)GA\v9(|ՐHF1f+3c3D Tyon<\Q8BJ LY/ױ*_ 9Qk\nEm4[1hq]T3(q-ӗ&RMWŽ4͞? &B+ V/oDOy6WLKV:b&؁ADKGLAY5t\fCZxskǃE/%gVJ$fJA>̹)!;3 aZ>X9?պ6:fMk[^6U)nTAQ3Ql6w|/j-Pk+`,@(y-T2UF"DWp`P}%5O O1HkidZ C6cWюUH> i}4/&a3yEu1(ɆP` VdY_Vqgo 0o$NeEYX/9ӐL6Xl3P'Vԧe},tK q c\~Y+gj3юZO8X&޸Q÷u0hbyFDP;4yTCN`0^K<?HF<;,Q D| zMy׮g("=7;_Fn@ʥs4EX^QUƁ.mCκI\z[c?L0LCyn GofYVr [/:#P{h%}wq¨KӮ[jouaϻ'[-27]inC"HkjLѾW^HR L2d";Ec}gj5jdT,z !Wvz sj)ðxY]Is2Swdcf 繖1d.on#aܗDQ, ➈QogFk(@Z=:}_PF.2QA[â͊x(!-P#P*/Vk#rM]1o),5ɸQ%iZq$xOnz!xTQ.u9y)q) } "M0aCZUΓ.׭`u76*>LqAeÓ"W<)S>+2Y 'Aﰵz6U ⦯T}oxX.CLz[w/$`%lKo-i2V#r1cҷI?kj؆Q3ѣ|j25xG9NoVi\b&2pJ!g2F \CҩB qiVy|2L^ゥM 3Ex~[pj+};d҂T)HJVeV~z.2t/HdE4FD)o-ج4q^5FˎK/X}{M@tƴHb3]cIo(NPnܳz%3X2WZ;L0v;*p&g; Rػ2h椽LL"&7 .z}*䩄^ -o΅O !:kEh{A<4yOx湥pI11cEw$H.hǩ)EpYJ GrZEKL+#Y s0/5ct@]$yq]Vgd` i0|O?+ZlIXMaOkӥBǸpCZލ܂O1̗"AUgS$qAmv;Jչ2 QI;jtS螱ˎk&PP}]Ce OO g.ȕɲD ^?fp+^`%[ODT(=@d*hs׿y`%!SKy(4*OeT$nmyK[6ɫqCvlZ릮2$JW#u)>wl*yŘFـg\P..@(bx'>eGYp2;t@58~ ?yD5Ș`xK%0{s ہ0DeS6B>~z7<A-G.tU:?BG$~Uh{UaI2=j(Jx7z2rCF4Uu9G ,s|{Dffc'O?+ĥ\_!ʪrm6gjhn#X@TLp)ۣ-%i;ZBR٣fhRԦp@f֥AV)1B&fi\-2 !Y\P%C2!@M{-;[L=O?z@wXX_ю-Wn&,6v6hcJo*)82xq8IƤI"7Fþ 3%|?E|16K+4܆Ҩ//zNU ױ&p0徘6/ Lͥ.*D SmMuz{SMkd,#'$Z)+h[ԥױB\xPI:dS:s*`gB4HWE}xn&-J:3z cgvZ5" ]|YkS0M_'U̎ٲ*dk{ь+)6 e?ƛ,!2ba"9ir;:Mm+}~8!!\!pXhn ٱ]/UVesӥ]ЃPTsH) xg̢AEbS t;YK )ALħ/CA }I. DҒ .nV{#m4 MhӎZKV 9F?x{ ;ЭtcFzhz'IrSf/!'/G(-,&FQSii}(|~h _]u&Opovѹ쏸F鯐Wa !𓹚X=ZfxƻkZ:m@]A}nc Z3&EҌ7:ޣ6±̏¨Y-r焓А/vSoB?t 3XJK;hŵ6i_uO!ě !٨ܼT}=r/9"PS!iW 8j{)YzK$Ou֨ tTCV_P]?1_qj?oTڕYyXmUnB@t6(.{):! w{|%' {}8]RJ t1D~ΊJcѐ]o񤹎zaI1=2:0y27Z+7b΄ݘuCGA V+` 9!I#[m@E4+im t0RBu~Qvm}eBc@A«e] %&A5K%ճ%.}~z슮؆I$,]INFl vg#l K[M;8ƵhcNNLH\؂1#҇,6ʉ;eqtw/~ߵ Ý+m˸Z߀59Ica=ȓ7짧$K(3la n|k}c Nͣ[SKd?jCtc R,د\јb3۳Tdςu!c=|ԨhGEh\YсN>Z>ZݿP;d#>Yh1I8^[+|hPV!??%Q4E^k~:sFp&DA5FC5<9:p;D~7y]~ՓLn V}W$*f4\C8Ls, UNʿymdո8r$_]8|ϿZ(2Hoҏ/ΏwXi4r)e@&O%hj%*$m _XRhɽϋhA_=hH짙v ?N1Ç+ n=·&&w @r}r6l~f9 0NhOS*vv2S!C@zVdWMe=ȕ`k`7w!J{*L\W/Vi𢷴dvĉ%&Ll`ܕXkv2B-# ;ϥޝ_KB pÚ*oiVZ`,/Of ImIћ%,koh1 @eKE^ T;MpeO 1t1“J1K,Ѣͤy{ծRM1] QL`r[2g4~cƂU/. @Gm?&(nRsC?Fm `{%U1K9i7u˂vHX7uբL5Cf,* y !~Gʀ@KdvG PP<=$Hܼϲ:EZETOA~r4-'|ޕvR8Hfy؈(MWV `gxʁe%o__ؙs>CnB"h?XzSWћzKsU<ecHR6'&ؚdQ΢0 \#K  ;R0řgd [Hti Q[k9)/Շ3 qᒴzL-e&q;>9<0o,J+' ́^d~Us6#Yb|XTNoW*-І40D<; _y!{m$/\p'@0PG1Vx;;q> {"삙iUZ!4O8BV p'f7uTvoUiq ԧ}hۛ?rC Փ:|Gj@+TlĭќΝQNؐ0A/65`y$EG=BRqnmιOt8Nx*IdFAږp‰G Йu>iy-d4O 65MtJī+J"$߰2Ngz2R06UuZKNfѬU !^g[+b:34kd2YLt>.$`(uTUO/xj@ww=k]ͅ.1M[0eWXvaH";TVzk1hzmh#T}F/3VrXT9-}1cbYq#gv%2еVs:tKW~yIv|Ao|O︃f8 gŝښqܙ"{ th0+{+SD: 5KLCXlJd PNhgb4QjW[:˖g7^UٰZ#Oj}8L^⩿[uިݦBoHxF4h .CҫVN@|?qJY4Rd)Xyhyp7?E7b噾;yA+zQWߊ~}c٬7F0mG|sӪUͯAt @?tP̠6|fgqIQ 톧)PP!gCYNeG.3nI@kQҀ&-2W1 C"FsgPU;CʭWfw*{4Z&uYQU^Hv- 3i޽uNfqHV-C?ERVH ƞH|&}sK Yx!~]cu3 =UeV_ A hLo'7`2{,h{vD<ہ\G S^;5țpU'Y3;jkX@yZXoĆ%,( ⟒f6m畍.o 1{֑@OV|nGp>JA#X|©ƪF뙲g Jb6 FW-w։/2#=ILIlT9(kn "m>cF;Ta6(14ڡ_.uruݱ ߶@ 3V=|pݞ*B ꡬcwSM-r(ﵩZ,A[FlDF ZsKĂ <L0 rAD5U~X}9jḑ"` L,߅l3g1RkqYtOH?CW6l+\u:|EI m$tA;bZXIYZ%%;1 |XY1z9n"noG8\@$J/U:lk߮Th,ۭ1h%.@jyMi $(`\8:f{;WᨡgU3@L> ^?AF.m+6Ӛ|ږQOQmX1*_iPW+3[ M29 nSL*117Dpw_1=qJ 0*~ŸOPknDҹ@Fl6Y7\QkS`4nEqhX$InWvaPb#_صe~u6Z}_N&'ZgM Đ)(A$^Y} K'1;pgķ+N>ի˘^&wyILEV (2Hjat:za,/Y0S#9fEE"Zto'Ո9tvYǑ2hx >z kEaĚXX^WrRsH(?易'z E9n,̧ZUo |")\Cqy'r2[ϊBR=0̔0-T ^OpZĦ/cXFZ ,g^oW^ 6 &V+r rEUZs`)g؅̛+ :/4'Fw햡 f`+|\հuZl[#wj_dnE`+& `ⱆŝ8B&8$l, 4Z>7lqx]W?E~1ѸNUK 0Z,u^p^ըJ^\!S%E˫!ym .=O7‹h0UJ#&2?\AB : Տ&6w8pKE O-s^y#!sC8rr!هc6 GY-™VcS ̴7e Ib 6>)H9@͆=cꆆӜ' \H3f_$\!XYi<îpi^/mQ"/v-zjW,EU׏ivm$wk$t LK@4%\ʓo \!YmW2w':mogE|QXHF!-I3-phьi%+x28@e cob@׳j03ŎfbJ`F׭o [(\f#PY[*ȗB]bDM6W&yO1%FkBD: YK$ xcV0K0Nȟ1JfOKD^spސeY7UD[.F&ߩ⁙W2*$4an_au)5.jz|{9x$q5RyqĪx.:k%-Olo[4 +l6 GhtΨ2/OcRF ySP?fzA(Y|B!4rb.*"Ѡ#Bk + =-fo$zM'˗9j B21}c*`ȓ>~{xcc0Y*ݼeGD„Zm>~4º00ppzDKa#U7jQ3=%χ bxۓ~Z1cYlgF ls𖡻wCS"aN`ތVj*i}j4E-!q쏜u/"?h/q4zp[aݥd&Az FxARb,G-(Dפ;0>HQLbO f*v@ Y3z,3x{c*Χ+Q(`$sQ##J;b6%*]Y;҅YI>".!ct30!a'5M@g7,3:\V,qseu1a^9zάcz`R5Tf`ZT_I *؛$DBaVi\RmtbӔrGdm[g IQhW@Q xcgm_Fx ]Ua, (Ŷτc?Y:waJZ a֮3s1ÂMFnpiq.ߋ>~ua]7S^,)ls.\/ wwNcЈ('x]8UP>znTNODC\RDLK"iT|OkјBؓB ˇΖt WG#6'dj>g 1Z2yX 1Gއ:0a 1wFC,p}. WkQ?`$oBɑܞPR6FG#AܫwԒR;C~:+v,lVO,ʛGM6Q'U. [FCcioK#5G8{&7R;Hx_b7ݣlU8WhfԏuiDkmCi~'SEtjGrcP!R0~%mOr;Ry ɋp谫sD 0t B"W(\3vZBJO0eI$ȭE%V #ej@~Ko$)5A+aH!t뫍20W@94|;b܎%A !fVF7~"Boaoٌ:Xqۆz/33Т.G1MBKriaMQUyk[+7g( `ɢ*? y,#;xe]^x"S<'j*uH07L" qD y҉j0pߺP|G%(ʁQ/'ؗEݭ𭝄"uG!k"{nϮ>F3nٴ'b9hx,XRw:T31ξ KʍRʽ+c}?Oj~i^v:/jQ%[$a5xw#ѱ 1-ʊhoxz&9DBbl1_O] m.`J` ԤR_ v־*z@̜ͼy4Vu9M~،HBhG ee`3bʽ]TS,Y]] ,ALW1No4}{jÙ25 x5aRMuRҹ֣|ntOZ&R"P*8=5DU@ 7\҃5P ڿlBeޔ>ө0Ԕ^sψDb8*>+O;d\XvFחt;P0ɸ^5&ՕN>FӣoQP]$ :Hݘ ]uHq(J=mJ{MC=O,hmO!2;E rU)D]?f9\w| "<ei#P5x%@/VbS jy.qͺ|JfV] j04=7h '3bH'}#UC :܀#cO_]er ӑ$u 5}6'1=)Xܽ q"ʽ#-t60qV]n]nu?''څ}xt9Yܬ3q%4\l聿p}w-ntT(4< R%/Kb$|J$+SY`q:';ci:oלi(b2A4Xa/ e:%I栋3zj_`FC񅬗ZF~zϱ9Yr5Kv!7a"LD{#0C8sg+,fR ;q{@E7ݪq3 Vsy8Sm tW{Igjk)槗nw<`N_;}q~+2ҊRj3b D?{Y{NJJb!E<+^[/TÊFfWOYg(k{& F(){];rn_KCvԑH2 3[ץ}S] |Mz\֎@6LUNiik9v{DH$p~va]`{{(VO"bЛPw> \xӪe#e9A: `? $ =mͺNd,VCG"0In~4 r5 ֶrGCmaF0L1j[@ vǭ$>2'fc#5>2I [5Y>GDh.K[O>ˏ<_GRrejz 8K.tD4q =^hfDT+ ǫFQP{{*My%rEda2tl^ T/_tWIښ,%Ӝuʝ2=!~onvƣ*g5a*p.`M@p}rOfXX//uCp}¯!.A39P د*T77EvD_Yn=VZY+Yw24ΟbP$q*, ZdfJF;G1uKi;l=c {\u~D<5 g4iE?Cx9ӏAb<6nwQlԼ腓wI܀) Y0AFBodᲨ;oLJ[i/,:1K]=|3ǽޑR?&RL46/d& %Uʍd`xАn1>y<2EnbGrΟZ{/ ϝ쟱^ ٷ+쿋&|!ˍzM[/mt_6D815~#^*F!0x`Yx%"sutѻ\YP a0R^b?A;7tz!~UE|a' j|FiaiXL1iF|fDʑs;%vS]Wc6t՗P/qźLpaQP5Z0wBKP@qBWo -6-Fo evd]r~;L<+.R+x ,g9HM"R):I=z0Ϧ}ZYV7 胳?NѤ?q4Yt͗Sto[Vתr[x|K%Ƞ:=9"8rM?5I lZ :Y[ f+sjr>&m*_cֈ<$" R<@R@,Tفo DBedm46ɊN6HAeEuniy3s '>;Qxy=՗Ļ&}IZEl⼻LTD*6_E-*xdl/P*?ynnO{A~ E*#FMvybW48`|jϢ3JQA\cЯDl#Ş!26+Ҫk%^.&eˣĕIOdl)hP@}"$J_s- W,-PҿH9Rj!M>-yC`L#7SP @cy.).6J$7D/OW*׋7RdyUxl}*fBj L-St íړ=mqk~P(%P2VD~E32J i348,a5XMN6S/iWOm1.F^[cLRyhvz_@2[Xjb:VRiTN{V-pKXIgXFz$kٜ@W%4JO̗ݚI\cc^Jn _bJ>xhy^ޞkv>]ZIA80yǽˁ5^x-[f5d)0;{E|`c(qbcS/o'`]BN,.ѺSgt^e[%I4/΄&H$O 0(AB6k]Î#R/Mv\#!vñ^z@OwٌFr<"ڀm[Ve6Z(Z-"=z<.m~ y i$;.{UvZ'4XPisa:GETFsID> 1zcѺ4g jUlt\V@>(g(Q JS c5i!,.ZQva{+VO:.-%ҟZd7HR60Py 3$PsX_\G93HW*c8ՑX/ޚ~;lRHQ{c1Q] E'D#O֚ncjf=7 gU7ct_{C^vA|2ސP]C.y"wNF:$^j(<B ,NF:}jDm rcT&rgC &{#YVKմ(41;bsH_H,[d, 6l?n8Jdk+MnbR9'|zԶ?A`EQ&ݦg}"Jϩpzo-O!jaF*_AGydﰓIk+2R`71Ĥ:lRGU<wg`Y:J>fn;Z{-("բw!6]k)vlRƈG>{-lphƑs/lD0ў4>+湁jޓ 42ECrR-7A5S}rĺjvњpj<|:fmϷ,vkO&+ߡ@_SPM3L\6k":1'IvGUȬ+RD l1A۫T&A]D b> #~d 'y0/e03Y{VAn%3y=J]1ȸEQuWNă0*7$lUͧ*0b \ErԪ_=[iۥ^rU6z%)Lu!Q|KJd(8ehU@ >g|-VٺT|ҐyjW=1$t%,Bvj7/J|_r!s Ëp3b>OcQv"?IȊv \aB> O t {<(&;+)[4My/LA މ =B6ldrX (8*Gܲ|Bf7wݗ'!]#I4$rU~Z@q=J";t2(Hy*.8: yI<PР"z7L``/%r? W"|Sj*$)8ŋ fIsiNiWe`atwD,fVH;dYIY4\ KIwmnfC"EO{JldʕxjC);6Dʄ2ԵN PgcVh$.r1ڊH=U6)[lE^@aY{ h[ܲ$9i`,v!$\KU}O0E|bl5GkigPa8)h32飄Ȯg@F}(.Mx,.]}.\ gZVWޜjNB0^{+k9I «6 -ӠU:{㑖m#xhn 麟02z;/0WI\L2RKI֥L%"ڬM)+΍c2.yPA\r9ë>]Ӣ9y{ӣri;`w4*JT:3z{QtA-:^Vt |E~|e@~F^$,;?#+HpabEG"qs2q1u¦Ϥ$ SvY$]&XDc17n@nyI ^6zNH1:=iϻ#VwΝTu_*taB iQSX[/]L qF@!hOs6}jey;Wkv`6}u:IñAˣD/(rQ6c R3ӵ1ƽߍ5/heDI'SE#:`yCo Tr%``tQyߝ5Y%= ^17y}  Kp6){ӥLR{n*PpqI]V Ag|z%|]w~j܆kO{U誢V&wb71}ҮNb;^U\S]Y{FFڪlGW桊4ڈ]^k<]sʺ5_Fȷ;76ɃA0,*Evyg3qZyI#O:7hOJ,RS%Br`e +8\`WXM 773Q5 ~Ue)1/ 0=3zm,F#i_.3iXW3ɡ6p1k^;BbdVXC2a!|trBoIX ߐa{}R,ylݓ~FGRu4֌JkJUH{P<ޅm;,s>R|tDBKXW\Z}gu<$aXK)X>8n&3u,lY.q61}^hb{ P/;WAc5a{K+ c=N-S<E`;&}FeijSRf60I|ֺ:Mko,RHyMSJ{ne)[o1] 7]Nddݮ1\(Qiq84Sƽu\UFka,9 c1J$tQ҃$IcUr% UnfQϦPu~몿u8c3y,RZ[KޖL]6"NSHwҎcb&uŅ^.:P^5Fގ;dLZ];%ƷX#8EC@FX(%vFF탬;ayQ(V߄ɱO[>$eC*<$h;gD!悹E=|C ϸ-e(ӐCKOe@mҝyZ96f#&nxtr{ +~1 \UglZgY^V%cn*hyH*Y&[DM,,(4?XTHd4r"f_|D'Xt7E>" 0A2G둿BE[V2iM_\ IDhkG+Pnwe25[!LyH'tL>mhS I3Ag#%~H ʀ&XA<6 ^ Fx8 gF3]j"KqdbM@cPd@;'gC>^'YŃPaVC]6:ή:=3 q,)g3X% ,|qBa)*Fl@iSJ%o5orlD&=cb P=IF*}Y}󍆉g[u[CRLawoī^i3 [g}Ai7]9+Kg3{2nCa(A) 8[kLt4σ(TQz)k.Rim x+,3)jLV_AG}h8wKzJekHSֶT)f]IP{(6UD/(9X6S rJ$"9RK'@ ' m!lslI?@#怒|v"CAQo̢u5=G 2I6^lUB?y5͈x O+,&lF& :c LP]LrP InQ}0^B:MpFaS_)rD2qvxOeZ ͹2ѧO E:%Kz*υwVi^*dr~{G8јC0Q ] 'jJQg D,Po(UJ%/Wg> q4-JÑzdE5 kn}IqY/,,Λrմ?xgr&bEe OŒ7#Y8)•qCb6'pMJ*# 42/KC\OJ8])\t"OqRi*ʁ t(PX;W.&TC}gCx!]CU]/?WC3 R1`E2}VsZŐȷmJk) ?$2p付@nӣ-fTbxM6t/Q:¬C u|:E~gOՁyw^3FNsZk54(MΝ6= r gD>!*<ʔd-{Mdr" z+(X|9rJ/DhA7:X.mPC=$,@՜o PS+ͷlf~s7s5|P6]ԝ{YO-%&9Sf&Bj~kSLTj&~pOOAd4 Jc:":%}  " }AFmΤsƮ#&8hrbc G/֨OhFu\2^g6D &ޜo Tm^5nm h52=u%u䵾l7^;boC>U|3J C(YYם$gg@{G{8yz4hdT&Mi|R1{Zf ba_Љt½0MWXUGBy <@mjl䌉pLri H WW)>PS@'0k兏(*@ǜ&im>b-/4 MC L {vE2[]BX1/)"K~~0+a{57zTaZ @tUj5ky-5 C)4up~v[i,M 3Cg,}-f*$](JT޽tZrεc8!O \@+ 뫮me/5n<hT+b;+du;5fHBi aqmk9x(;kk@[8.5=YXK&o7rC r;J#r.xѯ^A1Uy6V8s~VL?cKO}X OZ][sǼ?MG{ 6hA;vWgQ>W6)\ca]7/~,Ѓ#؍|qO$rcКBBJOO<%;DL*LF+;u5t4 j\n8#p/~PFK:p $"duV$]_Hׇx tc0ptlHs6]rvSH`w4wC?}V&i n=3C  8Գ<`HU~e>j**IMoUQ5>Ȕ15=6<4M/MW2葷q'%$1 q!}W,cW5.ߓTY dW(J4]zw Y^pyZU|m'AQa[-uhPr+ BOHw&kk͏ ]*f P$Ye*,gp}R;dCԤzk53{8jQֈx[.5W yP>] UzCDשtVm}Q6>; rN)c`N!XWlxI+i,ٽ2 6Coea|kZڈbxq _tU9cCp#4 1 - CZfsReZ9Yϳ⧅Q=&FW͝`RwHiLՐ$Sfn )(ZjBsut[{qm/gHBpHupҵpv3 L4Ycsx$2- ly] ^κf|O<:{*| >dz=a#O5M?K]Ԟ Rޓ{-2|z8rBlՆDF)m,RƿC~Kh&e.K֠qfv%OHrŽXvcڼ~WlvFS1uV"Խ^*πXwdCzrv㯷XPVa6 ;2va~Li5kJa`>Le5#RWCwAM+=sւUٰM}Aao#tփpeƨ_>AԓBk{hʴ;t&LH1 %&k&<}vdXQ.l6˙"RE ߢ[L+>Ifn q|zã(P%.o -51DKyêZqAgGR,)S쒂O'%(2btdwEP,gBZR'`6ֳoZ>{{v<諳0/wᏡC[tPhEa,yO/yc,̓$"Mpݱ -(K#:Sh . ~lw ]7\xc^OT+Phl5E Ėdz:ܳF z7QZb6eGuPW>˟y,xHc]ht#|jԳ[XMZ~^1lE:V*Do)T ЙnkgQ4X]d,S_GG9J{CVt5a)_q+^uQA Wkoǘ~|{ZǡOp:B]Iŀq92ڨ )%2Ҿ9;3h : G=NƮHZAfZy 7_," ;4vC$_R_PL^ӂ(i6+l.F,'b .;XR&NOŢr^Ri%^%Z&햴~ndTK#3l- Gk1IrA"$.'S+[>\sq1 G/R\&Q5C$n߄ T!>jђBq5';RrK"/:͘{NL?0ְe|/38q͆Q1(%&W@0Am_ܵ77?u dYF\]=R-A> _zgypp]%B( N*r҅ Oju6|2I6rEn(]tq @GJN5>Ki[*%A7Zsѱ6&p=r%;'v8qzt!{'8DRd&ɉ2:xoDcѯ0_ZABJȘY\or$\4SՖ .a|tuWwY/.3vJ4) /IoIWPy4qs1T#ȋe¾72$,UX. r-eDX t*raݸ,R]*%`NڴE^ T2 V)>[˩V5z_e.}%J%!KN|38fy&T_{]*רxWXvs~ItX6:ڪ TA $mB3>Mֲ4HϐfOs\0MQxwɩzƯ (<@2 1TXc4KWi֫WYo~*xע쾆w \&n08ٞwK=` M^#cYfjGm9A:Jp]d8նk`)Ĵ:y|gkyE3gm&pg}VV3$Ɏb*^[Zi&; BB'S a 7Mkk|E͑;دas[r ڐ|rk*}C>шVIre#NX8*Q$%tmq5~_L7|ܲ:yz&.[͟YuLAU!MN4LΒ:_U:[_8ܢt׍!?LJV0>E+#x·v%z 4ƴ2mIklL͛Z;AͿ+wFKB96]}d˖!ڮ|!z=[r,6QVY9F~D"qێM:Km~10-BJ2[ɸ~q =]l *M]݂}^}hC#_ Y6CqZE{pH|`JEѕSX`~>"/E|n #8gG77\7_~N R.;ُ_M!TƮo!5%e]qq+"D^^NE҆'y9̷*.m"aô(O~ŝ%sM1Ҋ$X (C=jXxZDZ5mڊtY:{xXzLyіk-`~^&pB,=`cHrɪfj ˸qAo@c#*O#:B#$+%ŻITUq ,z-RMQHA9U4=*wcd'ȥ% êQ L],B˿/UhĀWwkix4e7!H_I;bu,v %F.ԅG5k߸b7EW*2VBŒ@y=3WcZ;*PU7ȸCvFH~3`p^hm:KJ&]κ]N?yga2FZ+`pY+\10^}tGw&7k®>:rUuTX;'lvujjb= {603)#KY_s mp@EJJCitB9%}'* ^ ]Xy Nյ'. "s EGr0Z}})3\xShkf5SlZ,2lb[_r9:t$@{~OyYlGL5wx2p^pO5,?u05BNǞ ~=5@L)nƶU٫G-*|,GS/( }0)Zl xHLve~TN=#bAlJձ~7}-TьpaĖp!cB} iIO{ԷTHgjab8CtЪ?k~w`iЩ8C7Xu3D⠰݊ȋgaճю،Kޏԋ{a %U4"U5e#|qy:2}^B%FEMj, 2&8;n#K42 L)_YcTr; aRq˜ru$Cg勅9QDZ.Ib77]Q\@xLfyOlxxy6GV9u$Tvzn69%/=Xvzg T_i&5 .ݴ誐P×".,] q'zIyGQFZ 򷖤]%lkRb <ޜPڱswLZ]eEF}jU`˖]u:a>aE '4t$ܱ3r#*W4֥w1/X-Ż-^HJ, Ӧ@DS>hI4鍀x( %6= Wa.jF\܎ҚAJ2fN;2`ӶRa^[s=oEI# ֏t@pNV:$3h38$!"WMJ➧kܻ2ϭmX+VsҬ[(]EbB`C|(5trg g$i晸+VYoW@lz4^2~rMäg}8] `"F Qh'0xcT͜}qT;w)[pR&3lт*ߙO^ ruOL'DcPi⯚ޙ zST+5}4;@ _:AMǰ{!z z[Yլ"IIF0{毟$.5!(L{)Ij.8ʽc1q~*M·B4(p`C6]3r! kܾP E1tBa{IvڷݖsbU^9.Umx| J͒"5G["ٸ]ݡ.f[NdX`T/Rϗu8wݒAeQRgx;pjQ~`@4> :fU!VS;ه‡9ʉ>vJ"P.QڭK50ڀR>J.NQ6=%inQyߓƌl\݄e {u$(_P8@{@.{⵸`&ŝT GZ5l k.6Nof{ҺnQae\=}S9߰:dnKxhIy{#,#+_@Aѵ<$t@%Op3&j@4bCJp\|/UNUq'#'63fyY+{T&|piTi7|:ػltJ%wɵvN2nWzN \"p;p.ء1)0ӒV7"sZ!B4%fNGiNmg9Hךճ< #XHA*+J.X>Z.@xFZ8@V25d?HF;BJsC>,EVۙ@Y-75@ z$w+Rep(&3K8 C]>ޣݧs&h+dj`.M.A.dE4ao|ދ,=+vt_E ?Uk0[dFt*XE0CHRgNzs˾Pm{Oߛa\wZy׮xfr`xǰ&X#a} .L-~Mcb"&k<ٟ˰qY0Lk=_= n>҈c%A.HC+ǏRsW%SjF\Rx-uB-ub5/C/G"0BM[wÊQ`n.1QF\-ܬJ)i/D}x0ghB(!oN";\t!}uJ [aOmڜgU6~ôbU,o5ĐCcԅ)%ʢċmw̵qK/\A}ynWiEgf}Su?zk>nb_cNy;rXT;2TUuyqĥҡH:{׈ֱ0\k==W}xfq)g.}][/|*W dyZ(-\]{Ilv 0FK3'&Aum\Բ6gbj|wH) ۛ{;\  9Ajj)'_Jr 1*"rOuيkFʆG2F̔UHIQ/S+5g y*0/$ TLe'.s*Jگ58 Yݞu;.Ref8*M0b;٘2РZpCZA "v!Tk}鰛jD d* .ke6dO]A9G-f-}hmW\ ?`L7k- 7[S@|lߡ'^ȌVSw;QXO4xi/Bӯez݅kK+ni]x', XpYZ=K}xد_01 UKܫvQ(@JK!-Ő>Wr~Ayym l ؽf[;+wfLdS m% 4^uoNd-82AM29KAɕ0'IetOZ]J\> %/7̫ QYjchby%3 C͕i{Ltᶛon+k2 3eDex4H''9?&k Q ҕ?nq7f6 N8j .vj]UɾVka<UP 3]\ؤ:s^eݿ Ifs+*''8Vګx8=I^@*s j7y0l"IBH AK%R~y;Kt>=H 8Q+~9| 2"|&Mdl%Z!/_ˏ4cM^>>C×#$Kn93_"w,tv- Lr萺/lv83EE}k SjML֣K>C q$^sa-@nWߥLsSL:o*t LP^zl "BR3D86@Oy2*fP? P8VK!GDCtwiy|iVezF`w+}*GW^MqYe#a#%_61绥'#$ے]v3|T fme$KB5 .~W)0~k \2eYɍv˩} lNן1^/w4F( nr 4w9u~W1)AFL5c1tUgȍٍ=<ۗ_VK`hkqzj*8qY.Vl)fۻQ=b6iu~[VUUIڀD5]3Χ*LU:4V1D/AIT]\<we'7EXHK:MlpԺmy,OtX4E'v41P(QY:H_Y9{B$?K696О9?OlX>q[mBOܕASǍlRo7q-h"'VKt]蒐pv5$އI H&`'@ l9ԗA[^#$M(% 0yMq?"gu3wP2pt@:zB$t_e7m$ӪEz! )QĪ\mL#[zMčge LƁ.Ic1ZDC EzU#bOY5h侉x5[s̉$8k B W_OF=)g# I1,TkO%}5Ő.}g 7~*d`Ew*$rњt>|cc/ey|D.[ΧTZxq@8`qM}Ugi6$fO**QںVPbG8v ܽ$)89T6̗?V#D^l I^W#fOǗ|y Xw5;=.ޫGö'Uװ)XRYaIBVqFPOott!n$yV֫r{6{nT/1qk)1q, NA҃ X=XN?7߮ H "bGKREޟXsJ ,ˬiH վHuN>XPaI%\Kt:ݷ4f!W^2k$1øǣ*$oi ߯F:?QQ,wmx6937'tpp1w~Hjq^ TLqk~ȦgM˨޼>#s46ϣ|2c܀G rR TF@:ȬQPF`%RzFȵޙ'¡`$^D5g?/[&v0Rk5ENƜ?0};]~ּA,x )"+i&z3 K][ ʱˠ5-9s~A շ:X Rdt3lΏ&N*c}ЏpMux2,`DvMܔaɯHcb K5ljh{AAF?sF[I-KjLHA9Վ;vCdC@ĵ@Aws%<#}E?Bu鼂UE+OlsxHW>4ym2 )(mW.0_L#XUDΕ>@8vbwi3;vϽy}UYdO1`e2EWpUQj7m'w/l ]Ȁ+>^.=pSSwѦT:P7 >*IcO@O3c] d@)?#eb峩bZa 0JzcvVW9ZW.1q>s!\4P)tهȹWM.W¹94/zP1ZnwNns|a>|Sߔ3i7GU hZN_ۦa@$CuJM-Ӈ'FD !6{XIڝh/&NrC,٣(iÙ3!^U 9-oV[PFkp7ezM%ᓒuu1jib~1SǾ\JJzi CN?)ӦS:zIu >/ 'Ms<ŭr=>9ĹDZ;k&&/8kd9p,tk .< 5 ^;NU> l% |\Du| 6Y5҇n c-Ys[ D/?/%5Dmӻ;NKPo]#3ѰgU x[Gfh}WQYFqy|(3gNQ(f1|)f8E*Aޥ% G?B򖭝(Cdom@%1,O!8c'cb.K $\9aQzKCsHЦo.,Wn ԪA[[Gqyo+ٞ XfHkC4QZ[ͷ=F)}k-u RK1rWIOIo#p8AXl & EkTavL[7,jbkSzwkB R,57[Vy^aпC+W+=٘Q)c_+Gi ҏz]}>eYmh"ԙGEKS">M%$+t1ȡ Xѥuy-yW4 qBU.3+T9OWWyݸTE2DA"&/`@gt94S߈JBmt$iV4oNRQyE0k,5|[|8; wVaHDŜwO xsx;1K־k٩kRYm rGB!y_/Y0o9uC wkT&4b u9띩01Ȟo;'pk/\4^<_"ÎAQ28ʿ WVQ A$sQ)M64|J18, pS֢eWCW#d}iV1xmb}`~JH46^CoMS荝=˪тKtΰ t p$E?#]JYx5EK uAdg$J^ҽ|VkݾR`4tzδb? N]Bc 6u1[LP\coA(_) oiߢ=Ze m66#hG:Uy&&j/-02AZXT@wߘ^Jo8՚R9v Hvh.-!" wXwz=~9وqm L#F΃a.%Co,)C S^g Tw=w}H|7.U6x;Z sĩˡKA'>A+>OKYpݯlhߥs4U`Bg!k7~ַOXʦg8dE5]+Kcw6(~sdK& Fc +tXa* .Kz pkf|_}D8GɦiokNԝ}iH3C $0m<3'Q >ZyL݇ 7^^TήIJ)|tw=JhJj[2m`G.eGJ +0NzZ ~|.8MԿzQڿzWpO<%GP2t0<$[Jﱋ1Ҕ6wZL|p)eHT̂BDˑI}]/ wn ^{UBB@ޥbR.9*RuF؊wЯbbixʩ4"b;+AsVY D=U"anIC1^gWf zX4Is-@?ڡZW63[/eYCpA C\oOcL ۆ Rt2G]3k+( mJ;'Q)P!u %a`ͱD3lO{Ba8b #\e#YI[6iku`Uzm|x`RȘ',G^եq{^"<%jOPSJIu$AyS^GJJCl]"F\}L(i('DKױcĸUc ]rDxU9eT Cy·zѠDYB*o%3N9Isb?+ 7~[v;L7 ]ǂNZ?-ٱU>тMU+rH4Ɏ?:[I 49R%텫Q^6OEV2vn۟tP\G9 mU=PTź[6+L?im8#UFU񮊟3H$I&ЉJR+LY+ 1`TE*tI,kf+ǂ<{* eg>XC8WSKcњXA+!1, _CeփO܊>kyBY٭n.~v^}> KO` ~pfõ_qì@=2Z,} /Xj]^R>&w/cA? ʍp] OqxbTJF-!|+wdY'CMB#\iCaX#0)UWo+4fdz{z\Yze 桠<˲pIkӹF˔yR$ʂvD>#&挜S(X'Yz6lNǙ- yzCu ذ}ؿj]2:c7&Ք~u>5L[tnx[ G  G:emBg;+cG&n 6 |ShNe6ڼ4Ob,f[ %AdHXCĔ+=/3JͼY)y~ymZ@6sLF'&(P*0秅-@]3g[; (թчp4`W.xwֽcVdcBS 6#`rٿ 9LJX+.dtUm-m,&eוMtt&=Ild8`62'~99Yy5 Y6R/%a\9-j% 床<:Ze9ug*6i59["鸒, uꤌ QyDgnv'3p1 oPu]m)qgp)UPgKNn#{j@H}|s!ApzӺ yHl:bD`EAx,XcQѩi*Z4CBm7bqv}z{ۣ%/bўvN@w1iF\#sn!@gU@ٞ`ܴxr?({Eǽ&mٵ<x9=n[ZɆgc8{||(7#$T|{\ڐWhLXϥ4 [4>X;Z=0}2ɻcC_R*/'dn8D=b_`gR%O;+[0l$]QyڛfP"Fmg -ސyoUs Re C2\ĩB`H?G.Y~q\GJq5@yz Vt;yoL?hPHz_^",+wW0JsF*31WV.P]*%Q`$)߸j:#r@Wwى c@) rB̗Pr󈐅CђIaZ|H#Jdqr#Esly9:1mIp cWYsz" 0{$  $s {q&/Ys|&֩A.EOU!˕3jR~qj^` 0ZMU\+cBiMi Php=7Ã&r@?tf|&ehP;, ocԤt)U& -UH!7*ei m$m> yrjg?BTj̄aA?fQЂ'nzCj0}rm`)0Ve:˾:OEܤ,4DE"m[} F@hӕJHɌGB6~B++^~]^19*d?`>b)AeD(R!NS$閻Upa`ps^I,ub'4GD*$ w0/ࠨ`eZW'v;u&x:QXg壠=5r nѬr*<Sg NRq~2ؕj[f3 4 U.Nplp=#87DzHH{ysAJ EÔA@zzZ9Q-e֤_Dy!  _ ّLJOFZr 0<- dME0Ձr8(po W Sev"{j=α{tj6% `t$Z{Xz&Z$4ImGGK}P-Oa٦fwmca'x 9R]Ykr¿  @,QOf6 J*;Al~(Јp2`3_#яH*y %5z78dOH+`5sF{DB3}w-xY o5G( DN[ݸЧxN~]ik\ TL{cEu&Dߧ&V)>8N@=RK3bgMp G\hƆLw$ojdd>:}-b7:"vx2罼~GDk¸~M/;L{)$3Um#l&%1Vu{ _Um"E$sOlEeC3)F6DK69%ML0]3sXvGt+.FN yjg&[rY%e.9eh0f|>'n&"@b~Ti<WCQ Ȓղ?)=LhiF>A#Q(l[ӡ~UqlXBp_a.sDRvgD~0*o-Br/?⒔l;9d' wSٗFlg8c3ފ}$9Byb֐=oߏm/bc SVIC¶f@a6`2HS vQrrӝ@ަuDsR,lu-BhYKm0,+ {iϣ^J#Hai/j}`Dлc"ӆtɪzx8{Yk^l#3lY,=?uWt<:5@3xkE=?d_4bPڳI{6t}yZ28]h0u>CU2^8Wm0'#"&c|S/ i /݃GJEj~|n t%Ù勎#ENtɨfje?30M0ÜGץAV^! ' =$;Ӟ8K$o(1P]|- ]er3(U+yaAmP=H99SUE4:lЮk(صҺu1P9f#OX޼7eݥ3_Z84wn<;ҤT?+wv]Api"Gqv OcK\ ;ѕ\O^Юu^6})tU\7X⩚O8,uxoP8UXQlMꄅ2EBf7mHƖMI_̍iFby hW]0P+18RE3Aۆ{K(Ӎ.HWuԕ]}85읣>~S[;#2$7 0ZW? - H6A#vY0NuLi+<צ[kiϺ >Jf٭|ꬢ $"Ny`(A߃jyDiZ퇊1!&"TU[3u W+ER^/=sRcZ'x%#:c Q@1!=c!tַOq>t8*؞Zc/WSe$iaiƮ7ƀBow"UNW|B: 'MVH*Eg^W.+bDκnm"'P홃Ia>!eF>%/I,,$>Eب|"tC&uQҖblו0-f/йz(#gwFbDNin"05B/֙4B7ۅ4 ߏi/+~i\e,#:0s9 ry|ۈ 9*iq@4e/$~P4a(gARx=2&vGYrP^G]`u,":SE:[K֮iHeIrX\x%^4Da Jԓ)X1;ߦ yp):j++y,9KqK iF8O{`68pxS5ue`:(˾Q''fT?\k3{"i jfk3pgN7$Auw3eN/2+LLlph=2izJY( 9J,dkp* _ǒpyuuyYfMӽ =4]G\ASWpv݋4WQ^ $̪釅0,ȷrl]z|B~_V?^E9Oq7j% +7$y@t"*fh*JYe_uÓhFu]&Wh@"h$0Q m0nx&=-.h!ܖ I_u0k0"#}%H4c$AƖQP@cɯNt˵/Gb, Of_L'挴|({ZNvlZJ]_>fa bhl@5"kS~3h_a>“lKkzH=cYvW9ܚا]9@7o!ɖ/BuKx*QՆJ'-bj!@#';йnS<qskq?93<(s+@AװGJ>͡JS_*_Lm#J_cAcu`7r*"x0K`eb\Ly(0vѲM9pc5#`Nʆ >f9sFq@%N@`+)g*eQѽQ`7aTqTi&yWӈ[[cr;[]¹A9mTYpaƀ+wݷV3X7+HV(V %`ٽ.12qU=PeE:YzعGw7/588dzb̟F=xSHq`]ʺ Hv}@8EO.IIy20ˎGBr 2Ck Q%+PBEI3]08Tۧ| p)O8: M[tz՜Ͻ(,Zk{^:9o3rQ/zl#O C6( țkN M3aԠ]9mHәA/AwC 'xas.zhs[n)=tŗ/yi5[(lYs @ca[5{1~udmgfNwHL/lR.|ё lHN#IPML+{hf|jyב6oS;I퍖\/j~W[rt."_D-oo㖩hׇ͗rA, c=q4Nc2p 9O=fg!NiS^w”=Wpsl%:M6zBɥ1w=24^ ХQN "DE;uX0+Nh jNn` ]6ņaHm{(E|>f1O7n ӘVSV1bEJ獧О2U؉3+1}2?I B{W`|%|#0'-(H也B_֮*HpWF(j_49@t2^@!o"/R u-Fno-zϨ)_A+ ls8](bL6"H I<@M`ϱ,,C(ZgW47bxkߺ REL| ? q6\1`0ǻך\UT~~ ʤoV' z"W5(B؆Sy:6Ϝ^+﫭Ȩ{"0DOxXoҢٸ(ܗ׀NJX:mRLSܧq\11PPvmS?`n[.0FöʭY-1e+@Y0Tݐ&)yܠ;Sypźtnv'AKoʑz N R E_V ׀ l}/zHFg+uFvQO֛O{2][dȄ)!)[`!~,VX?cg%%8r U?dX2 ˌǜ,P"#5X5R ipbʅ0 B׻ s$@KT蛶RfpG~J0P{s}s*gkHp_U}f K`)T2N7H8ȴnzHѦǚq7v \9xN5% 5WU5wwOPzN.Ƅ5QQX4zd0d"L:sӯNl\3dĿZ̝a+Ve5$mSp;\r@wǫX~Pr> Y,1[h8zlaIw2HRSDd #gL-m 8@J?OsAO:i@oihx;\Bj1 j.@ztF#i.@{7g7P" +a+Tw\~/y.vا.Hm g"փ6,kòi*+n/2OU&}U^Mc͛\_ުQWQ-}Qr̦ە^iNg*pNO)ScYo4."wڀ[W'CO Kć7\zV``UuQ^ӟhБ1Z4QrQ/4Y[E_-Eaq g{(nmO6}w@B44H.GS"itfiTkHց xFpW6{}ܾ SAbC ^X(/âL:ȫS~c$q20}8ss 2} 7&`m7M64qW| Żm@  HhCwn|"k)hOձǨ>"TNqsWaj=3( M{EKҍi^[]{yݤtjbBdv2QtdAXi7Ó:,hyg pzVfUt TP3Fmg-y3rB"l1,t ӞpZe y3#" DeXluI%r6Q79 a~|x)l2M S/1HGs %{Ӓ'@"T*7e#87 |Q"LFUS`z& R8R(T^|N2ʔ+Tʔ'[ Jp5(61J1ɢ3.K5&wܐKoWuwցMۈ"=]Fs>- 3^+Y4Q x=e,Dh ǥA^;4'mӑ0 L)9xtPXppf|ޟH;p57ƻBb}ljtRCïѹF{3rL $oaH\(CtcpBO?(o+.:!دQܴL {i$,q@rAa$L1(MGq0wK0 =5w*$NĿ6 # 5cߵs{:Acpma^nL;MW,n79l?4W0N7 6fӮ^WDkE3 $- TB`YŢijrlt4/;=Y48 XFs*1gMѥҤ~,=IutYXj{/d Lt6*vU&Q`6ȑzhul.5e7_SQM,AlxZ|v.Ͼ*!3Ff!4nQ;@~I ՊhAoSzC s\d}AY% G7IW D0 )(qK{@ rsuT=QXANVϐݤh]&BD,^۴.Uy(b˔ѲO^׶ĽtxFE;*$yRBVvλ`Od*KoDs@]S ݦmm^`D^ױ#] IaC8|s 8B D ΢W[#̉bCӌ6QZq;}g>n8$w\(5N I\i%:NuB1lT +o>9WQMsw3j0v B7)_e]W7Dzne{,* - }x=OM8q=R7Nzm.ֽY6^AV?GHZ1T[,Z+SAE6x2r`q'z!6[R۶$f2XpmHmp'm;$jkѰf{, p\Vq4^suw_A{68X"`*Y/9e99 qxvM[W5 Q7VvGp$>X2ǻeL2yFn"1. ˜,;U7/mc7kFR lQhGϝb8)xjWмR{nx(Yh7~1`a¨cB[0ak-.'q͙]>IV^ z ƙ,ntuwRŸ @:ЫNmSpXU.~*X];Te[IDWqçjOP3 `_5Rܕߗ_+k y| ~ |Zm֕hxxL_J0Z"!oB'/gaOed+7{!hT׼]:B5 *ZE,뀛, 7t&nP 2Xȗ?R _X5'ҚcIWpVc~Cut5&d!y՝>z|9{ǗAp1V(& skVfm8=t` {% 4: y} ܕ,/7FD:_iBɴEW?P'I*SqzVf3:uH*s1ӂ0=q_x.cAOsDº?؉j)Pkˉm U:zH`2XJ0WԈ?qnY}]%\NuSG]c?d '?d"j _5dSl# ؜ybI]4R/#L̺dO C NǮ*_(0tY@v_ˡE)k%aV$TU-qOYܺ14}B&l= eJ@.ɟMcr86$P ^+^_ ?N&±iA0]gb'e  E؞~T|1vBmъ|fv"Q|//u[wa 5q kOE?9o|82x>St ;ڵ]M3ZH؛4#iyWҷSS5͂ ,.;<ȅȗOmzt:}YTLC̓[d%*5Q#5͹>&K䝿@8 os߰T,"7^Ӽ=S;'^]J):*) {^pyY+fs?t[uO2b/K088SjE6o~JozVgb]z<- 8IugI洛ӈ)i+ I^dt mr`#(-EZULJp8 "wxC[.ww< yI\UkOtQ,HtHKRRy9ۘɽ6ė<1tA&M{Lby RRuջW< &66k)ڇ(01I[UZ^ǹ"dG=YBR?Q#T?HJx1 ¶7h4Nn4tZݬ,Z*5]&(T v㧺?]+@aX.#%`4C(vV-\]i=>_k$!lUeny]Vg>ھ+)VmgC]bRv1דªSsyuDfii >ncG8{31{uLNϖVy4G`HMи|wmb#f,Y=]<EN:YG)"|WJ q??DRHAP؋aj+[@N+9?H0CgZy`")zpI,qlӬ GSy^Ts5N&]!Q4(JtylP}Tl> jiqu̍BxD؇i/%EwX/B^Ʈ; ݎ+D0;L屄 6@US.{R1˥x2xIĦ:&GnU^&-fS31,T<<;!)ZƬ'熉(id /XO2MaE-7%oJGm⊺YNP:Çubbq"Z8JSbߛܣbfo) v[.7ee-gZMOhD3'U7Z7g lQ uP,Jݤ44ROBD~z"P?;)J3Ew?H:9NlWfņV x*|S}F,cq|`TXP[?:1cr .=ܵ/Vpr+ScH051ɮ RqwF6đWXiAk5Y~B*3bʜ92Z$[`9`o{C\=xUm⿹ęfv; y:!7=QcT) [Gwlަt_u1vi(ƈ_SoIi>ѭ M- ϓKFݷP4_.v.9!Uׄ?׼f9Gӈ}k#|L: ʇٓ2/y+_O&*Yrk)OwHi 6WLt2 ;eP_MHT"5u5xmНmט/$byzM袴<&!9Hҡ!KI1xe,0/Na"L?+›{FWwsB28"7 7Wkvo%_g@|ChMNI{eQg͒-<աEpG$1}wlCXt3خ٣W+мb}>:`^-S8MpHjڐl8g ]k-؂QD(2 HPH hw\9֍jc ${Dj${/u\"r}lڟyYɨ-NmHsUBft!آKllT? (sz_]JҢ8AKaU"ԁF+ɇcrc&b; <_@ C[05?m6[V}VFFq\%֓i7[Ⲛ p_KA՗o|;7 ݚJ%dH+2e fd1PR|a5䵻|Gc*9LR\lKj)(EקS3FKóP=7ΒR*֓]ڈ'.lfޠb?%jts̑0xOuia$ AXƗMK :®!mEl8_|G*|ShOV*=0 ։RFR⿊ݝer-qf S٫# 79|UH$tz*5eqMMIlD~JRM^6g1 0[[:ƹ\ᾨ>]x5T-?Pg[C=v8ٛw*fx_PcvwO+glp_y8_&SnRW~; .Y.xKHM5S~󹍑jN 5Ux.l sUzSZmwHYy P{0ӱ hTZ@G{BYy4A^OIdFY,? ]<K ,hYGYxRhE& 6OߖXUMIv^]rH4;J ǙAo)9 59/OXzn& ,GMٷC3v6<Si&2v(.I]ZH=ux׎>`S_6>m\ŇkXR|ISX𲴢1qui[G[vp: O `RzS:_X R%E~kYMEm*.xoF~Nl;}UʌzrR$.~d>`c{1^e$ "1p0nw:XNܛ-X Mv̦ jp GLq1TNpkPH˳? t|_͍4k*Cp+ʣVmDN剆]4h;4Au_k񻖄d 8[3?g2$MZX ֋Z7hUKv^,'$$\MҪ,4ʥd~Ysܲh(]I%A tYg}Z1Ħ0yDSػ| e;g9_ w3taX }\D9MA ³~{N±tp)KcޯM׆"˰?Pe9pZYLrBe=5-̺ b/̩@nus #yVQKV,E \r~|TsLpwޣnBȬV3N>g FL';bvb*yy8-N퇙['r 1h(($#,r?UQMpCL0OVvw4VtL@Dȧ4X zFl-)u}S> AHb_]K-"<R0|k"@d( e-ﭔbfa)-dL~~:Ԍ֬¯BA=`#8gr;`U]q`-aKfmA\ܬw>8d5(, 0~=Z,(˞:ʛKiW;kP46Pݛ+Gx7$!۳2'ǒתwȂf2{4xXE"F7Z F:M^$32+Ƣ1mtӠз! VjmVpv$77o=&:Z9 C+9Yh1bnUXVr[/y~.݆voCp~mk éȍfpGd\]Ӧ'ErN\rKa0)%Z[džֱyX*\[;A{z"̾ w?ltqs&kkuMDC8gB[q6V}iy+&תe5.YM+1po>L nV((3 ɃNRd_Wyk G>1Mif:5.-ɫn΁ۣZe2黋/)8.sma!7dҗr*E/%GVK#=ӓܰʼn_ -#Pe3ƍ)eX69T}A9#$rcXs4^mjH%{W(&ftOIbM##IE )> Xo(--AKXٽ4]ǽbKsdp2 4&f<{W޼h#?ß~W)^w{Gqyf(Θ:Fmy&A)C'#zCNFOAoaFᎰ 叔:)mpSjBu_<"Y>T EWa:AF)pW#|-B1!@NiŘR(BAH@KT`~N8Ҧ635)6lF%,JjbE+xz+LP%q):y\~յ(zzh3"4m8P"7:$zy7=_ku3J2Pm-{ 4b +*6[kJ&I] ߻x{K(."@n=$Ud B>s9_O8ꓦ,!" cX<n1I@Tapy,ҢwcE[כ$3=ia!g .ʹ#3ǘ{ϼM>d>?\l9 $2'\cX.ǗWBi#<EN!}37 ۚx!MFUx4L 3#K-;+ |7u z;T⋺G_&OWC1ósTwg Wzu{M5em&2˫%·y&odۘ sRKΩD vvU ;_L^gMԘb 7ESKbd[H"Tg[NcAwS譻C@aLIm'n|*vgi+9D"2|$9|=`] OF Ҫ,> _r.+<{̰g3AfN{ϪF %R9(pI=ByKZIE XzMQK2| m#PFN_ӿw>[Pw)[i# z)۞I/'73q>v'M=5!jwR[HeNK0@J2$bJ\ǼݑP`{ظ צR92tEX$\"O7D=2ޡi 41h ,9"s/>z]u4vs8$K^b[F×$Fvl,A2i_)˚X b=60JW'(8i6"ֵ5#5mGs}Pc!$FXB0\ՔHEW6"A-g(x⍻ukK [,Ѕe!+2bY0w'p 6:>/'ҙ1PYT}?Ͽ*Qg.Z|eb؜"HeS)AԨ_\Z{aݭYRJ9Oԣ5y_QG\-{zM'Pb=g=Kת~|۠$gw +C mgɃ"TŐ u[{'ڳgD>1V$z0$4oQ\E=q;E,Zp 2*cW&o2P#cނcC(djckL%˖37_51ڂņ/O)l2EKJObŅ]Yw'52em)L\hc rh)BF0Wa$/;hh`ٝ @h~r5mpY@$8\Qjh+!ݑP]TjYvEz;정Y'C,ť ^W&.,>A@R};C6kw{_q@A?*hھ0U# U]h⥮)PX3{lu[u:b X=ǹ$LCx8x{0 w/q o`qa1X5Rߒء'(W$m\֗Y.;qb2/iʫA n5uexȓUnE X'S#J:m<.i^K`Rf c+ΈA@吸nb0GcRUz>kmg{a62\ڟN1vɐjbncQn{dLz5fNsfd)!$T.-tyw= i"d2]m&3l(; 3/\d(2'M$"# #Gi7zB+ZzkZ,O+6 mzNlG!e+Jb+שzzP 6Lu+Gα M]mrjF2J'FB5= UllJnQ*}H999|<)XY:-aYI]@FsEJ[եW+ttq6۰2s>'_OL7Htm)Im88#H+[u.ޙxIsvYsG%$;å6.2z]6@ hn,!2-Ѳq"pQ3BorJ͞0 T3h j5vL$3]mqcYLZkUv"F'I*,;c~CwG"t^tDj#u@i)UIΐц5Ѽ(7}]ɫ^X|:A:% K.ʣգsF&)%N9#Sj:ӣäCi6ֺDt?D 4ߞ;,OFh޴At) C-d8Pz6l=;R!H?;A4}eצ}"T2C[kLJRo/BMnB6u# 5ſk3 g-ڤI_9&^Jҏ/Yg1[%{%D:U0D 0X qw=\11(W%-3ـ(?F.SXk4#G*jAv|<܉(3;;hb-wD|2#M|i%;a׬Vd7fO.ח@Za؃5TD99gF:鲧z:,bgNCZ\" 7`6*< T). 5alT#79/ozAsUϴMNT3qT:shx"{sh%CoFsO.Ro(OhLa9HP&۵#e;ӒmowrOkd C i-1?\h::|=L(Tg3jp Ϸ=<,Btğv܏\!`/.J}'v<w; IFT#] ˸SȷAx,%ms}?;2VۣgP2Vu% ln4aK$XYx'^!3b<)TM{Y cwBpDDZfU ߏۙÝk (ZPyfFKnDi30Nc,STPފzٿ֨wK mz>AR M!*;Lj=#i[{D3)6Ep3mK-ߩ<y2AUKN`^ BϨ`BߨgUR͠;sρwm\e)InIQn:vyyJ+Y\ZXP?Ed6#L"7(E?wD,_ۘ`b ,W!\D䬍h٦:/pE5ՖHRp`}a mzu F/A1vȭ-mCyqvf;zdp7Iav~MЕߊ#G m[vBu !u 7u e;ϱ)SBs>1~if ²cߒȗ@عY\Đc'd hu-F:m+[- 3m`.;W )V\ufkrf;Mr*W7<٬$ g$!>C7 饑I{K *`CK^AwzIM]68M:v3$: "m3-OLpXz=v‰]M Rh^/'!̞j°_3Lq+_>KVUn[ca,be9y&#T{43#:t#;<8DWN@Ξ po8-A{/$ 2Lc} {L;K3i+QsW g,]|,j07邦Ճ4y;(;19FT=O" {V&.2% ]K )UG&vQѠ1ȫ HF&مHq&WdzFWTz786sS{)Ĝk<=U8l;LZs( fwë1/Q]d1s'XLL⏮ N';S`8@~ TP7̯1Ou$FO'Νb81v\"N6"(qvHkC`gw[dۙ#Ew3<]FE=99np~ӫ캴A`Zb/ib {a6f[dP*r; ]9FeliˁvB@#w՝ϐPEA:ݙ I,7W(ka&ŇZ'B6eHui3z%#VCvuSvϕftG@EV)Ixjb7[R e頯0c4 }E); #z.,_+B5Y=XQ_8|6@ )yt0K؏6fzUI*^71 U2 -`pd|$07y#.Ͽ8 D8r!eqNSGEJQힱЁ:8zql6TL%ddkEs⚬4T[ZTDQ )\Ѱq OC< (:96G)g=w JZt#=9 $y$%N>kL Cl#S1 +[.O}mEX2@8ipqoGS=ل+uwvE^" HQFH`J)~rb|]cVXc 0_&R/ 3q3Rp[ʑ?^m—F!xJu˂ƙZ)<#n\Cu1QyHnQ<! 4ЖE5w~3KaLVyOEJڸ|`䭄u?@r{[ I^Hbf5Av% 9>$7f~-#WS:Sh6_..v.5 *"MsIc2qԋ2_xQ-085I$'QBI1*9m;hE[لc2 65cuRz-7%ֹx o xOvYC$]ɋZW)lik4h*HkJf 6p:S*1zNN'O7gHFi3--ߕμ˛#ET|:e٠zU[T|G_oUJ2uV 7 xLQѼkN>  abWUBUiɲ&r㾎Wo: xid{3?9V)+' ޽AOG6s*xx L|h. F|HS:4,)(lCUNOJmmՆn^\&6}p/YKB[ë=))xj'Aa[:5}NN{CYcsr[ZX=ț[6}H X]) JJ// %zH!QI3PV>RauA)=Jft En8KW :uH"-CoF:pȈ, >[:q9RVoMI 2se>^,F{FDOϛ$F)ZOJeuY>ŰMKQ镊|,5M©Vr[()iւQ6 =fo o]T/cy@!Z!\jw௲^"b2S޾Սw ;W^L]4/n$ ]Ga6!-w%p6dG .]iPn,cZ%&!y֤;?pUiSϠ!]:okmB o$ &Фsoqt_%"R0 8ac56D̏no"z:pŀL駁pKmV QqwUOj65a 0YG3/c> Z]У0a(&23q"^GԆ[ox\$ V;rn"t`,R*OWMyAhz\ehUn; Uuf5̞ ^NͼΪX):m{ tgS}0¾jB&cY)}m $6% L]&6v:ېQQ ӳLjktUR6^=v(ù]H~KI] Bc%Uk[LjIh%.iN-a*hL'9"i+-DItb4)-_f=Vl&?kݞv\8ܷο{{Rԝl27 h5C& t5?.nQg]Inʔ֙&J]YQjpf.Qˡ;NDO ]5 @)ߨ$W%W"7+dG ~_ɑI䗻U(P: xlHX&9 X:a(rQo=ٯ`L,\Ʈ~m,-R¡5ϝ;RȎ>4r=Ec7ڻPnW$ dR8;h%68,<t+ZKs[i'tZR=!knQHbR.[Cb)Ŧm(u[-h Wg,^*ERrOYԭ-ydaI'8 dKmq O=H#vNG^'?d*]Ns6 x\trs!"Vzvo]tnԷiwrO3F:M`ۯn^o lH5ֱ<\Iu"EtqDEd([M ӽk@'%og 8  Ӆ+BوֱjY'N]+H-/7O~YʰT~ dDyE]y8W$YoEb9^طNFk׋^&qS 4 e9;wtI(SMԃgg=b⻀ SNNF^%ؠI![RG!m^Xfx@?Lc 3}ǃ?TH83#9ZI`<`\B6]<2fMJ&6UO>;cHK|@|MG3 Q7>zka 'Z`q/T`B`0P'jrf-M&(=>tL5;úad( F5Ib}3W"-D$ 7 FO0,[#NG]'.DżI'p*W8JD}e ;&x\+Y+9#*w卻[SpBB_sbܦO'LL_^"\=ïEG96@ YM$ƑM fʾist6LZIuzM73 o.R(y4*g #s*`"5z5EFkj[7\â$y\h!G̣Lkb`KG-0URZ F/k5jʠ]~4_ H}SЃzЫ躎:< |nˠ7i\[g?ZuH- Z\@$1!\`Jgg{xsF|eR(XůVOi?N ^)xaGsm>)省}o~ :_ʼ2WMO4HhqdUxQG|JQܠڊM06.$j6h5eVs{d sv %׭0LJ3$S W|En[vLwT"V`b })/-y]M*% ŝRXN7\]8CYF&hQŌri-<P,>\*\M2#88\  aE*֪(PbTy`_)чCό4G.L~?վH9+w5 =mT[@Tc6v+%BI$Bv}ԡ4WD}}KQ[oxɣfbh7Q)nYzxS'0y/Ziy'.&芒۽Yyx=a8G>/ ,Nfh`%p$t/jnvЈogD_?eO廬gMsZ+_TQtt`k."ݳ~vQ.D:'v<-ޜ 3|/e<#0v &v م̟)DR8Ԑ2< j4R> YeHjh]Vmkt!(oq:f$2? UNKfm؆yv DcZV|sUo_bG˕)xx?"t)8{ TZ7M%wrd9&T稼 ʳďO7ȹm3Zjl6<6\ܖ$|PIa6eY+uTEeťNI5FLUݳ;/ 2s<&_t?GdJ_1! he3q)~*f! X+g{#P3Ghq P9 Se"1(].#J32XӗJu ^/\fg'WAV0"@9mV6bWA?%ਾ# G7SR/)ŧ1q4 pCH KLݵ(*ت%,\ E@[BNj"AIAmhp4F7^X0UD%ن=[h53/C'>z`eԨKCOڡ E≀3m䮙<`$ {Lf{5 .x3S2յ8bhrYD-eekzw$,bȶ 'MAʿeqt*]CujO3茚cfid\ 4r.*tlgQU j8=R*e [e%/,hOYb'ᷖp7UL3(ɺ$l=:Cèf'One>{3 vιul=;jsׇ4 u{eN}[!_~-qms/T 7$MF3c+BpBQe=PɴX;J?o\p`YXrnUZUOIg^}_3?.)/m&B"LupOC6Idpx5)dBOn}f-4MN0~64<#2]GVL\OJu՚ A+jG! _X//_$K(1Gb Ԍ Nt_cbn_ p()A~mn'@I|8<0 $y+Bi `eaXܚoby gƓӅ2QG!1(~K%hoPd=tcb<ǼUJ{ Kx#*rqù+GX1=~2ߎNߌ_&X_Y_ú ! ~D[#r{t϶zs ~gթ+Xa|Gcq}};FB%6:.řU$r' c!uqpY,gns`׫7%MҎC,lȃP>j\i-Mc s -FA.Mzvo+[mv!@ #H-UE봟S\*s{T:` Q$Љt0TN`tH2ae y:7\T U/ç0*spVȺu9R7DBULkc~uy7 F{<\s5r,81e4|@Ts^eeUD{+ '$0۞!H(5W]_AJ27#̰OO/)Ԟ#NRgQ d|K^bݞpQ'$̈.:)yc_`Ґ@҅Vjcx] wr d{QXz1^i}OH_ޠs7g} 9w%na%0U$K8Vh(X{cA-s+;k{`60c{Y*rq:~ZIudb AGWj&Y<盖 84F5U8K'mܺ:2>+[DViȧa!hZL#1aOJTE1{GRGzuaQ(}b#~iaS@藞`.9G@á8A=61,*Z@ eXޞg4d˱R[=ϕB+nJGj9+aƿB\TQ)]1~N€WBh| E;3u% ƬSٞ9>ّSExײ{r06W xĞ5SީuP鑰 (Oo= B7J1ǯi1]GX#:/\s5PMw`\b&oڡ]s9 dз<-v$-ZlׅɌrbsY iqxO.I5긛W}V{0ʢbJ :}m#Q98?=,\6S޸kݸ T̍3D?D=8俨r*qewb!aWg/d(7<9E$6$hhf @K ?_؝BMC\{V9_ d{y5Nxms߀fNFB 꺔J 0~w6<>f买ĺBn= LI@g<S'&dњc"ʗF3?%~y([O1(ea![a3z+$k_DiϡQ\hlA%S,LdZJIɴGĮx2v{bG)AYc\7+8s.^ѧ/H0aNQv*eP𬫣E'dR仕lPSszvNүO/$q')q٣"?Pqk`&L *0G lQNj#;/{)޸Ӂs$K;\݌0BFSТ~@OyrqtMb\;WB o庠/ ]0(W8aʯ𓑐ɡgHե썁ٖ#JwR{B}ιʔW}.^D\`zk΢ "li?\ E\d9BUT 8RH5B@Vcg57$h6n{*|$d@,G3?0-75h2_K{HpϿ#dl0HX5z-kRc Ґǝ(,} š|&rQq By7B'룆ǷCiWr$: s B3EZ%ҝ!ܥyie'&k3>gMs !p d5Do AqxȘ<]y}J4U֯2(j k6 3^B'+3egL\t.N;.ȼJF>ַm=S3kβv ⢽6ao;X`=o [ = ^vG.}ml \|۠ ?9Vշ\ad}Qq<N΃A5GpM 6K$}v' 1R({d;ȟR L$D81" f4U:/A_ uXH\Jg1hNK4@XLMqlנ*󓬛;1b,.19Xhѱ`D#` [N5MΗm.\U60d :Bt0)pJ/Y}EfkBp&pD s@(=C\|ו %Q:·[h1>Ѧo V^b0^#v_ih$Ν|2qhlPmTŵLd:'Np"KQb0ӥy^]Z0pW>o*eU4Z%Ns66(h* o{z ˷9 K$78hc|J]詖ty,z KX+3.zq`nhidNf =?h)i?J LZ+jnL S@w+Z{~4[A+yew2 3i#ϲK=d}=@jYhL;{DH_IEr^iJmX;= VRqͽl_W0 M5M lHp&k8f%[Εb)Z3 TZ]0@) C< -?F3[-=@CE B(',tKE`Z^[ Z 3w^M=z%3n̓]ڄVS }$k+@5%ىJv,Hg4kg3.(%_ŕ$0TYr+[16P`JJ.uHX2ef֕dZp R +JSQi -,^ sN>25zonQae%Xw7G 8c?ρ[h)ҴܹPl1N ;yNV0}o߸u>lx(>OôWz87DS$D{s42ϾGTGbs׾}WZOSih3b{o Xo`UĸsnzaXZ˦LW.y;JxҴsb.rSq%C8u](K=4t_ʉL*a~R#l(*]Nf(#Ϥ.VE a#$+k);B]45we۳a=Mͨ`0g7xtŬ@k ,,B,E8lOm&EZPȑ=׉M|ml`WBM[<0뻪%O)ym%.Qޑ/SrU1XY4$ xҘݽh#i K/nNf׮&6]$`}pט&.?`ͭK32 z}+4̞FMpՔYmzL!. +EF86kymk@ZۀA_sY#do>HVP}u*sʦhc3\/o;CQ{P08ƓR$ISj~ʈ#_^z&S|%NYs * ^=3u orZC8OqZSdL8JbhKӉhGX,"DB|r%=&Y8]m#8~#WjlRcouƳѵWT㧚ܗTڹЩڟ1Ĭ,S{破ZX31 krwf7*;1X$Ĩqz a؅-q1N"\^:>Un܇4Rr]!j[|/IRS9E3(qh ~|v7$c[ǁI|ssgGyK:"ŽPx.P:^27y4Loe!KKhd^x8&*y &G׃C".l*M jzt Lc!}%S_ۜvz# 7/7 >cQ^n Ai-p7к4٥88;uUOdaӂhXl5dsi@ 1 _OΧ:RALüh~ C0_ӒvzAOa@Sm{9R xrXJGd6y{_%p4gM>OrPs^i+\[d8\ ̊6UrȐ+"ǡHSr"w_JXȈOPp? wsaplDDM"p΢bM.)Zk5]48~[Keɜ!L=ФOŮ@%źa"pӄ;?f6a=鶯Vc:v]XSq]PLGEq#MXdhSBy4$MnyxZMt0|9~|0X @f"3<| tSǭw>`W1ֿgDbrǞ\endh%L]{7V/t]dRH=gTП4"bEuc"}b-]Qd'6E^z^=,D~oMۭnD>t Ѵwmz<ER:IDR( t`>&lֵ|1{.=J@ǜl`?_: e}>D)UeK5y=^[ !yz%[~$1f7]MɆa0}Ux#ȩ륩;bp‰EhMj}'V|*I186`9. 7YrkǎXH1M%.)9 | zFMsvw˫qGUkrgS zG,bCTl!2+ÀxM,|\y~"+8lX39BN,L](u<ɍX0D1Vs0ur}kڱQ,W1~?3t<+#hԴXDۂ[ʔy%)EiK)էE6}A'UПI=L(# lCqp Qzt!d5#Xa ?V F?$w4?w)zQ+ĘVkZZ}7:8҂Ӱts;/ ,ؠ;ݕi) 1X3y$ro$[9^:h?$5O1Iu?qu{gb%vq k|n9dm'O!e'66{o#mSΈ-]a_xw`r,fwt똇e?K/ݓ*h *cJa% ᐕvGn%Id`D<3p\*s»mm"-yg8&xS`"4SlRke}_@ӵo>d PtK$?7`PΎ(NЕ,W˕ q[pap_VIetnST#a!5!lN)6d+JB(^h!j. 3>{Jv};C඲*}- q,m_z(VlZwiJ}Vw&3KՑԎU#63"~38PnϞmrW/.& l=Ԛa-n>HfBӈh_vnY +ɖ oS8;u5̲ڨA\ 7Yo&+u5]`FN~xsXhtY=}⹇TiI~pTvm{J^ǧesƔi\ni|kx3qQW- JdI)[hQ gp0;& ;ӿxϔ+A 0rUTv{6~ya޸viYt,?w[xYrlm_vءc~p=H2\|E*6|@0C;Q)HL jlqZ%pF@/Fs WsAtm. 8Qric9@oNeB72ڎϯ-+-\z]㺩+ٯAot8 K\ t!~DnfO>MhkTDb7c?qc@85*oy) @ (Ą1<~*Q#u&K U]ע~0Kpv`4I$'e&쐙'^f GAl%!˗ L7ZrF&O@am~Wnyٵ\ʏ+ 3{G EU?gSV#nmko!׼j2//JeSJvl Lh@ȑz*vnGM_i/bfy3NVߜz&~#l?$k,9!t齏T{Fgmha,5܊֩%s1wsЯ,LmH=6=BTy/ `-BY9KbU 7CRdR!k,Mw&nߒpTO# OCDBǬA;{_%7ΐi'vBW"E1ĭǢ7T;z1t82ět 8}5~"wqh03sCe>-VT i7mkS K?>ظf'9@^w6P<)M9|ēR|wXw q3h b'ӓk;ktFg£˚~gK~O0JY&?Z;bWH=A]ocSӁRCyW- Uw<ǥT~ST&(- Yf#RISw4FV1Y[*Uš* F !CKjpbW·Cgy |9z,O2awMQ8f'8S3^a%=`++"$YQ}"&qpWZ&t2q %7UL>أ=S:!fv~wE YQIb>=9 o)^4QZL܁%7d;dM|-ϝwZ!NϲW"|Gȏ8 {F x|ȗKVOT$7E"%BYP dr͘ |<1 S_’@ ~b3( kVI lm7zX>;P6)^-G8_Z4RB>/[Wa?z5&q! 3[}Y̆V=~pR;OJðpKA[^rT"|$R7♐K=x &Hj:y;ZkCk}2!cB RX?֮K6``(OЋ@T!Aг7mWDGI]A`ԱnDlM]R"Y34u3C%KèEz PABsªRljYM %Eз[I̮$%Dx{JQs}3kwM JxE^qIng4: q:%Q2KB^#RT2Nfp֚`Gf߭K;,9Bϼ|D8!{zh,č;k;τ~:a뤣m%yL4q˘!L(mХYE~I+cd{Dexȗ3VQF͜vLb;',x6u0˔̣r DO'} 7a,>KPZwI˂93ٽkP+t18ѝtVgymu3=~狎рx l\|Q9zJى&(.iv1+@cl^v!L Y>W {~; 8_&j![Fʦ9|̆bX}n=N8Jm՞g'[ܰVtjGBK[|X;Zu|Q𒶄ơ̊I_.PKhcv~1;>uTXEڔg {*c] cM!ET&+V*[V<8/C׬)5vѱ= Sg٧dՔ1ֶt* dzՉ [ȻvS1,UM9YpWW_m9$ETn\w(z #JU(x-~?'Ӥq_RPnS{MRb,skc%m\wo3pM'TW{b_>4P[?zTX&\`&͈:3dʓ.B9)8 ;"|>oH^͚<$X+ې:8wK=wxON@ XHb%Ɀ )ͤorp<]Iѹe㖴^WimAWax(D!1a٬?qd#{g9ɭv2騭~5w_C-(HnNUooqC8Z2$v~tlZPhMs~׺<۹{x[5m3L*S,aEӜ?8@84 3PR`hVZG&gQ{Ĥ%!* @ڭ>J[@GuL>gv{wt.]^|zS~yu r`_~ h0wMoI >Eգ~#8}n(9:$Glāw|ZRo]|uPƯLO9)l.uir'"!\pUs;:>L¢ʴU%35Ge$WQ,3/ =0eS#[7CF@%I9FjgmcT4f0AAaG~y7 xf:5?}F{rh!QD߽:Ѻn#DpMf~ؕhYB֍PȠ_~$oL:jZHO@ :WUt)Fa: 72c1M oM & S9~O"rC< BuJ! s@KKd*@ ي\mSzDGgU*R'0]q.€P7"a/kRG* K0|f}papdAA$g2FMP(#t7VLkfGJ)7׹tbR\EH=NM@ӷ_ڽ?$Ò z@T)CGm_.M./Y25=W5BG(DA^ feLڙGʗLW$s`m Mu<)e:kD] {KP GYQʹ.29wI]8(oZwe/ȊĬr;}yHYl~Z} tBd7/m=Ű'y"VS)64'sszM괦e2UAZCmG+S^< eA;`dy"ʘ̽<cJ0YȽ-^O$zʭyK *2&qx3\2ZA%wגYP߁DM|Q-;7#BȬ>TB}b᧎8 T̜󶎖<܍΋Ѱ;qLR-UPfo*ozx|HJX)5t͏}J-F,a|DVڀYƻi#k(Sned 1Z07 Bu_fON͗(\~N=z{h$eͯ4&p`{{Wѓ]-_ 8!:{2}ITDfv6O  dBke4"%Z'd"2Ƽ((N0::olu)z418rԻ%ZլeyqTn%R@k P D8c0u#%̍YE]0 P(^?k!6{f\gH+ S\V9<8gG0O Lcz Mx_⣝jڀ2[_ҳ\sOD,y`NfNZ]I?{1aK {#9 eGJTa2CQZ ff(јV0jqpkUqeF2lT^C0kI>'CoW\ u)|_gfީW©< e])(MFT7eArхw\~Ҕ@sg=RL ÊIޒ<ڈ1XEU30~ ΋;;z^i]ceLP$"4 d; ig2Ff+3Sg-' G{!`+Fw#BFW9)]GMu$zJ3^2ROVw 8X$0r lZ"ÎL|_גփZ^lDiQ)c@. IW ݙ=Q῱os5ųOТYOO.hozaW'r `txmG~SRЏ2Ȍ|i?(C/C2}RN=JLeŒۿg;sbn,y;JǼHђU>I;H(u7q E1f _*9N'J.oRٍ)?cqP Ǖ΃CEcڑr gda ]\PF.AfOcVRfj\' ZahׄBD)6Lu8@|ȶyFF;NY;}(Q֊;n-:> b$՚59T'uڌZu@y[;NR;E" C= lf~#s7fF vZR 3Ba:dtp^Q%kFGs}-Uh!S3. oq^>s):*">9긓g# %ޖ~)e ]h3{)Kk>ԯ+l8z=fNLwԫ܍lej\<:ܨ--h_b\O/L'_az#@D-!k6JB*f~oϬQYi:o}R ik\XDXC tߜc5Br/]1q9{b Q#,n  ̺Q{z!dc J?jU:9 &D-i4Qwr XWǮBc:IѤH_$OfF#Vƻ=CLT ck&ƈsgzBMjOkddPئBZ2KwS.d-6 6yv@<ֆ-tte lya 9?᭕2G,@w9$R XoؾMsu]LwPB坭zzڛJm[4M過F?vDcӐ -Pp&ĻMˍBs9(b}f`r Up=nu⮜NP^vI;Bi}^l_i\*q^a?N( E{ܖ҂7;ͷ:R֘[7,<Dt۫×঱de7I39ˮ%Yu3jmtU*GWavmhGNcZ9_BZt]>:aN]M5F0TS[fܿ:rJ1 QU}i\-C}%j Od߇ "}yb 'howTkҲZ%O~*p`@ؐ T2PB? +)[$ԩm's7 y"h5E_pcZ'%}3fx9wUH?69 3p!wLMW]Rhݝ~2\JHMj [wSNIC"tDHԝ(JI~=lC\n5۬glA4u^0֏÷c=}&:yl^[:*az&=^$ n+MrBBXheܹ+^a_ח̰PQkt`HG7[ 3 CI Ǣ ;:;7[sC=vd?0#նAN7h:)Zh k^]bQ +ثO\,аb[B g20X*~tϏϨ%%LYn5f]=;kэ\T%#o4Xu=G]0T #5yAV4Ѐi6:!"/ &:v=֌ L:vcAXv+֗wW 1)Á`,*tpFـW6,g|^ hDۆ1G)R E::DžJp Zv\gW}ea b^bH ˋwbÎc^׼QCe1 sW5wD^J8y ?d%x,W٘x d~xg笡-{Be!Sk̋1X΁.[藔*_fs'hUkQ 嵵%E,hKo~\䔕.tNl8xgZMrU=~e{Yyc_kV{f4*MFo55.}R.}X1Uyu3tCfEav?jҏy"39{W ֕qvfʬ Vb/kD{ESs^6R8c* x$8WSNkVO D6O_ Ծek%5%Q<.#_uO*12 jSY}>&{ƸOr,jYr犨%AYӫ:!$:zەR|g (DZ-Ae~x(r3+Y`E^#RY[({mn%h`1sg7q2Vw#+3Ҕaw G0ajIhs _!*F;R52⑊r}nvHF7p)?5u R0uw"­FhQ0A\GfXiOﴪMv6|ޡK*Po83k& zo$$f+jaI& #( ٳ hlN+/d _v/0æ֛Ȧ9tׅޖ:dd4ZOL8F=[=甦8 e̤I*zlL^7u2#?޳;:;O>mE\h71:?Ƀ7Fc.$1_Se+L 'ȃlfr$8,+y:qtt K%gx(6&}3ft!E8McI~x;DՂM fDJy^`ft~ٚhsn}Wqy,F\*%GKދ,p(M8XC®Ȝ_@b|@[/ RNmG|Ӹ|7 bSo:vSZ<4V(PO/ wҾF] yKezm` K58ứOV8,Βg.ևejJyhI9*q4Lۚ,M5{!PknPNpT̢x)ge30Ͷ:7 i]q2{DcVo/(, R74sTh η}ĞYlb?+4ؒ,^WJyoM "h>l d/fgzfs1{`?)T>,F7n%ٟ^$uv4Qg+UT ! Yh+ܧPAnFxf0dEP[]iٶ vHT)(ʣ6z}qMߍ7~.iGK]{?lE8_pCaYQhWm\YU?s\'/ȁalh W;w= \-"|@(4J.;+8|HPƈG!UH+%}I$ `M) K Dڍkf#8.@ƝR`jDnjN8~ w1)x <怷区8\)kҹSg:)c?*0H&łq~'e/䔿K0_&73"nIw §"?"y P=*@CF}(7L>[D} TYMr֠ 51k?Ǹ?Ey WЭ}.2i] 5S0VMB0)@+ \Ng@_ŵP* w2kN Ik^ډزf%C~Il}nA0Q^Q[@U'ÒnX{2v/y{d&RɎE2#bыB oeˣTpkVrm{J ^ff&ɳAhNr{mijv TP &tfE륛7d,<)^ּt#J3$F%Ҡl$\`O߼h+ZVBQ)%Cġp! b3%n^Sȕ|܍zWFav^ݡئ鸑{"1>g vEO:x쑈 ۯgyw-]*QT6y֖ i@#^Ȱ_{^Ւͳfx=A?AɆIha zC9/JxEOF.n1@1]S?e%'xbzwM3/?"{ELk@Tj.$܁8Wd*ͱ@A}ߒĄԁO uϐ']PJ lfM,cJgrc xu/l헔3^}m @gv?kX w(.u5n'3 hi1q@r\Pn\bT2dh@dEyT>$SrS펗wPC}'F2 :kaث$yż!Aaӽ=ub64K¥lh`8ڙ岙󼉣?T3K &$1₴-qZ_1e);eZb;Iل p vL+4$?B̋HDrSDvH' N*\bLdj]5BQ> iii5EMY0ԑo,"þʆ[:dׂß<"!mND`w'̸%|Do/~+Glt rsjgf iK{sĢpNʑ^A]/:F#M<70|b{Y hRs>J 8x;I5bB=1qopQdq6w0>qۙ`ʁSpld.rG):Z#Hʆ&P/U+@g"Wv+S x]$?+&oVjvЈGeD<& E_:N9)S`J:Cm-| aJ,.SMI~ 6׋ ;d 8َ΄I}Y[圈W>6kG,RʊT6/Jxo,s*~ct=jhN >u(hQ7UyN09AL7 CϤaNNRs0pDs=#{dDodO:ۈBfTΔSLl4z,"in$w9N%*㏔TL*Ciq2o襨o*xoS)r6wr/"fCe&s4FMmr5:`Qӛž.hƁV ,={{|yi΁UzT_PbZeQx-T0 DUpvmv.Oj/v5B+=o;[o5fo!,I&? e$뷱dC*P05(vB)1,"=yIw;i݌Ο^"tϯ%&Dģ\@"RNM^i&24K< Le9q1~ T+~F24r|l4 Sm:RPmR*ɡ& Mgv>WD@n@ vkUBQPdScr7~ޢMK>"CvVUVaَR])ܓ?[i bZ_doYfqi 0Gl>(\A'fzf(kY,?g5Ln~o`u]th-f1&OxW eiEnR|{|%8lVuR+̍CRmG@!-'0}h@֢b*Vya6> 7mb8_~gU\hKP!nSLBVR>K]Egi q+n5a)zza/Vp6.5”KE0AJ<:9'K}.+ig=9t-NP^[^R˹жuj3R9c GSCs%, 0k{a#ڶ%|p?v^B 5H}]sPʞV9+H~\K1g1p#z:NZDp lUK>:)Rk9Wñ)GfA.6 *e\cķ%8v(c>2Ǧb9 l 7+W13*JwF;xD<4݈ _WW[zѬDC"o'%Uy ӊk֨GY-H鉮V)u@w_ O 5JQmyz-hvI[QQ gpl ZQ2R^ (V2I$3օCKHToFK9 /~\  m >okMhHѝ1r1!2HOI-5gO3D2ny=Ls8u`UQΪ[/V+T|\ܨ kwJ=Q|L#DIswBmCd$nG!YrhYiJNuwҟq"y '? 1h (j`p.i1I1h^iZg]y/^*͚i0tזW^<&>r::i\Rz<wMt*> HJ4;Kqr >j.HTe&J#LIYMW$LysURŽ\);CXC<x5V)]g p+ۜ 2-gԒ5$=GǘA\oCUgtOf[V2\6ІSǙͯDw{mu@E2rDūj]"L&Jg_8+$ JN) xJ߳L'W9W#xޛt2X@Օ<9({lz¿KIl1[J .wخm#iIv3u؏+ubU[kn1d'7~9eg ggv܇|hdOO aZn KQÉoVnmV7M޿E=q|+t~gxgz<@46HlopD/_$طBkpJM8+ꭳo-!QXrKѓ1&Y^Ԥ@asJ뻅u׷+׃Ekpa8 ށY魐<>ί;y rp;E6OOrft$Uz ̟J6#[E=`-,6TKNkIqѕ'M2r6I1؎QD]I yWr;,ށXx B"C,!aOIN:d){ <1ZNc WDSW|:~:Մ L2Gu!JǖC3h0g(!ohTܴn~%ɾA'oyCysG:r%_ ~ۓA.W YzF}'pڳ5%uF9vۂ f WJ*2CrL _|i0.ʃGaөMXmRwQJ. 7#.GNuR[r@(/U1䱍ocb`EY{Gn-s@(1:ʙcLrZ T`Prбś,(V6gެpLgaq@|o|Ȁ.UKL}~b&5P#!7$CsBvd'b==vV·ǽS6=C9" 2sAo2Fq\Q:3#~ǂ "*ۿFy\Ե2$Mz%B)2YQShˉγ?0$n5}觌ӚbQA HJګ\2 c3m)l Hn5_w'I)HYoM&MPdb5K _/wNDg̉ ɬ[ Sx&J.njUFͰ&-Kh NzV[6:-uǴXOd5_:C98ygOMp1 1$p$F!1ا̞L:*w)M(IKû& 4))skt]~1f4W*Bw 5%a=a+' ~N1:B ,5앓ZL` :9hCF /rh"oҀ7L=uLoВ,uforj'AP[?0,zl6-,d bO=.x /2v D">n.)ܵ1^ZCRrY8s'j?'y-t*3F![#%eE5!՛o!f~Jqp|^v zERsDlyYۨgU.m)Ij[與l–='ju2 ͅū9͆=-KI\ G:we Jߊt#h, |BS?i}Avcg\XX4o xN'3Ү>כXhǗ!J! >ZϚZ MGɹaZOM"G\ɶn72џ9ϐjb5m8SNP a'uYwemRu۳s<NG_Ytz^|d UJYdMZ!-p'_9D#}(&|,I(?kBH+T{ tMt '7̏rZ_urMyF5n)tExqQ\bָ^KJ( Syri뾑 j4(\HM0𺧴|kxuFƠ7K[=O KMw_!ɛ`~0DKXTLϼ 4{F.Jx 6[ʰW bA)1D[o6[0T6L43\(Xl 1wVirIbEhRA{ihej (<K粚砡xU.#GW6)O+ Jg~k]U/u;ĠmaR*hS i(׷߉)~X6Q - 9)Dw%. KTztGeELsgg)4'AJkb iԎ˨КwGٙҩJXD$(5ciT&C[f:QɇaXFh׋JcL6 /V,s?\~B䲇CV mIs23/!*6 9z7.Z@} _]Ҿo@nPʬ1CdzwΏm&g͠zG 1 fUPqr#U +BX{jǻ/ 7xhzu'F41Wu΍o^ԼW;AN#YzD 9;VV̀Hp8~@̆Bz1( ׈1cJB1pHUmm+eA% ~nA(,'0Dd0FdoDASm+sҞt]OݐtK t-zXJfg=$| nᥱ^?89XG30%P3gI #b%7u8b;ސ +b/ 7vN`u52C&0hTb!(t NȧϑX1 )@c[f9_HV*mٍW*>:q sGBO%l /BaLG ]@FL@yGwp8텣Şvkށ]IY"?bFPIKXh4E5#{x-?Qmch߿&o> <@13x(Z5;Ġ<ίp Gp<+DWfyݸLsh Ahm +H˺S~Ct Q;.#k0-u}.rU^'pbVƹx"Z @ףNQ6Gpf/(^ $:RI#4]w]B ͖mu"C_rᙽYB揺⬧Q)"׹J2tCVn3axt%'$p\WÄ:@n$'_dK )m@}CIP6KORm7zw3\4GrGwlY'*eÈ&\=^CZR;% VI{974KV4|qҭLz0v.bT0!4D?Aګd^k.x쬉 -˲FMAW蕆vMVˢ?}k'0o]{-#,Uyx"sǗ2Hߛ}~gWz)d&0>Ck6N Q c)WcGͩYatD'VB;ά'HwА"L4[uDY2/@Ve~1ܱb݃nY;Pr==4nۼp\`ew\F@%nQ3Uwې.ܹ3Kwɓ[ԘI'O1lE `n혺McZN.ֺb` uQx6̈́v+uTKP]хSoӋ\oG^Ve)*/Ϩix-1E .i(h b @08hsv W:nՋ+=мRPlj K"fXl` (| GSf+KxN_ׯ P,.?K9L?iߒZAķt<}rVE 4~{y&Rsȁ*|pɋAw2M`3'3!pev@n.I@UZXIG1헆 0㜯lGBW2m,Ξ@||+hU_ر3\&P$/z11] f q O$(gU.]jLdu:'JW4q{RO\3:߯=yh}_27*? toZ=*wla.6TSCxGoz}H`MrVoSpt*WHw 3UKs|B))P%^(!^hM%qL5--H$$޽☂vm$Q=w5zAYc( M-)H7!ˈdg  `=̐ vOc<r@qΒѧJr@HB;t+2By]%8:u3X6-#,Xaݎ+$BZq?6AEy*kx @fY|$ < \6{C!kA /;'Ӡ RD?gA(jZq '@kѪbWdz F(I8fsz ef{ӍYM{6D6:Mߍ߳Gl j5I#Jܥ%Eg}޴mScy cB? ^(,q&pa/ԃiF CۀW0/Þ{ÓpԿ*Iɞ{r Ngy'vռȌ q$rGF(|$h=$bTTs}G%V'jDXŒel#Ţz#Mc C) @nf a-6[ !; O8ԧ 'ilߎl@3 ?ULV$2fmwE/Ϡ]&? Oy9~Nr=ڥ\Fen-N]D=344`Z? zh (ý (^{dʑ?/u}cJFK(B8E:8nk:?jK>PslhGB/RG(b.zMj|J;AWGnYnpS!j|wWcIEN_zf+<& Enp?:pc )َ2*Gxqc <},M΂tR8GOkɔ<5Ψc?簼TJCz|".:>>ӃP%_Ѿ:^ETn7u9]/Q -~8s_\C1ei\*vZvGdFrB R,Y55"22==EIZ+UnbޮpR SۆQQ ~ɧ+@I轮`nlP]61EB LqzlO& UrnM؜JXʀ"C5fX6ry`W1(F/Nz\l/5P7wUn spk lfp}s:gHYC4$e#0Y%p3UO'CV=p^wE4?]@cv 9wVpޱ0H6ufEIVW74G_0^-x7ݻmɧL"%Nˍ NEzv5N[S/@x gm1=R?(MK9B*itHQHLWR1#O2 =H8V$gGT Ӛ)e[ԾyNf=!Bx. 5NkzhK.61ea#.zÝ *6B5^-ɿucљ /AÌ=0/V "eə?ԥ9ӣ!E= ~6t( Nui2:z[MndZp<݉r: tDScemzqEn*6M? | ŽE:թ&u|+) 쿨0Y K- | 2po8mo.;pYUG#j%ވS6EM8IkCeF?R c~ܺE*ʑ74\Jl</<14]_J{ᅧgX%5^[35@7CYPl:*$Dޛ~Y/e0cLPäO|}D "jcS*zF Zyxr?;)JE;0e4 YZjSNf<]ݤT۲c.fot',"g6 !8)&knMZ[oɀ vc*k#7'-'Ӂ; 6/GCqB7yD?߅o=dB) f܀4HkQ1D\b/ztX˦w&;Sav [Ra`bf8=-IՎֵP<&4/o}7 OQlAΕU F ΰs>\vq)d ,)߼+ωQ *NZ|I$)A4]'K2U$٠Tx#7*ٲϏ턋ctr7OAYQbwzni|/tED,Bu$'FMuH^a p\Cb58V؀EtvO'?ұ [qc#H_*Ys<3-7f"5Qtt'VM_o7ߏ3/5+k,W?Y<h\%+$Z"'Rq:)<+E79>1ԡR?ѵH6X6ο**Lfֹl/~U|pUJUM~o5\uOx&RhS=wKêmt; C m+Lt2r1.P"G^r7rlݏj<ak%AOV: ^Zv!V(-UwPzTfk<*CZ*b fW!O [Tn8|Ahԗؿ3ZkFS@W;J$ ͲSDUCCt>/{B}\=i;z|POΟJ9J4ut6tkN\ qCF6M;X$(x ؉W_/6q!`o8Ї1eF^uv<3p` weTB.O!D'yͻ;$.vkκmX9xxzOTK:vG8 H^|a ϝj./{?}%zDxkQ%vSI6@7r9u\cc%RƠs  2eϠn SWaʕg=ЈGa@NbZ6X_*0M;jW_c+hu.j%VpHhԙq MV88.a·bS;K) /KE9eXfo8O Œ;5[3e@|kf0yеVoaS @.T.[#9 ;AU]9NP}Kh3fot(\)Ayj1Rx'^K>|FihyH_%vg3=ʙ@c( 덂zW#Z#ћ;IoJ'_mDzdM"7 *aJ?LyX*{aQz꨻T&M%DMb$s- Qq{"! !)D2S.m CRŴͲD8pwְ:ف# ݃h=ػqS&v MN& YP9lqKm2$Uy:M(@%-FfxѧE;ҀP'X5Bk;R: D@YkQG_UoiLӖ!:Ė?Wy\Oh}&%je";[ZKN S>L/MBS{'Y0m5z㤩 i#wD>)~ӽԝ"o-I0n]Hc\\U{ϥ'Hٓ^L֥s=E N[q@>t$v3^PS Ӯt4;$U%-)WI%? v{j(3Bg ewqzX_1X>;\Fu_UNBA Gl=Ppu<'y$ $(&F"·j7XoeG"y4fy]e_6)VnQm@o鮢qYI @?}I{m?gէ%r (AOFPq)Z:4MJ1XfP6KE&E-(aQ"V6^}򥡊r? *%aո,}?FUC,cŒ KMﮅyn;^t7~8L(?|5"~NLcZ:lǓ3xH{DgSΤ鄦zO>v2ㆠu`^'p@\!3v.u`(o y{uq@*a$8}Z<ڂSQ4Qڸ\@;%4_Tdo! רbK$7 ME/CQ&nufaFkN"6je5sFmKn]S 6yҡ7EWL/h趣_hH/@߲`bMQHvstMKK_2hᶘ3BEb)l8V3vBKd?ׅBT}kmfxlۜCpw[;8I,86Rv@5j[=Tjl2=ᙈ 7!F+B+E;ҋ u/ yފmI$AD/U ּQܐ+/bYl,ulX_&ud}="U65Wf6~j#/€o$ܗ4"S2r) P d\ZoQ=,|)bHjl=V4aJG[An%}-cp8:OVo3?I8 bԸP4S5ݙ8\s`zQ}mcUl2滟X{Spi >< 3"_b9<~I0°y>FwY{?[PʒU$;΀u;h%'ׁOw;\"#h jYY!dӰ V+`l|zSGVO=Э5z_(pZMrz\ˋEJb(!e~,Dwy|BΨxbRU&8 bɬsPu A2 )=(ޑa-6-x-1jw^BߚΗ&s=|B֌9~]s"8PӠ,{3?:c;B!CYOj|⃏hxѸ&:ӕˑl-=h{idu-S€./U#H[o|($1(ʸ-\#a63!O;eT=UF]= dnB됺UѰZJuQ[x&ո$k=td#oy$և1Wyn\6hQ" Rcƞg^/$j⺯~_P>UnB;:ǵwyxd4?/^sDgAY NHj}TL 3鑒1:'˂H坝K0Ueiq"JcZYt#rN#_#L|J+sW VIߠ9X{vT!|ͺCH6Iݹ^Ô0?$d^gMkv~#wpnĂ0˧n1*Zg1+ΜXqMbE7&FFR8aagշIyTߧR}s9"C,SvI+HB# .,fg-ъVKY(8!؀ zr"Gv<0ꉎL1VWP HD jѶ.o0xzl{;5g?UtnMzDƔJ(RϽrOg)WAtwM>vG[|T!XK/LɠkxKveV"-aVtJIR≙hGX#FCc϶[h-U}%ءlv+zx ?]ĜF\{8M6M _;$%g aPAA]{MEUH Τv] ,#r'f 9rԊT;ђnȪ/vMakmN"3BL˺rkضLah<G yM拶ǥV<*j T9)-([ZWn|iXڨcJ_?㪋tlˢDJ4;czWmNk|/fwvig= 2IQ!Y0*vYYZ_~}U jmIN6 b0 {W4tK |TIxQW.mAdf1eU@R Ej~nwn^8 S~|z&mUYEp'B.5L]m>TbRg{z]'@q@i@j ?]lh-t)d ^NjoVBX+Q6*Yf}PegZǛIfVѕ$rբ~xˁsvO:6滷2AKEZv2f^ -ꓚ7'aRSw>̀7A18:Su8=ZH,Lwړ ]eXDu«A~ADW5p6 :Л%:(cWYa3M$oá("{R*Krܥc9s zyʟŜۡ5xs3 g$#Ѻ.rƴ齣Szzy&Do@Բ#-ziqdcXSS+2ɄF˱-E&d[f5E]":)ՊI!oTh d6?8XYCc*V#}'NyAsk& vWu$^:ǖ8l".QA^bнK{e1i18jj!m:yXKf}2".[T_7XROg~Jc#i IsG7Hz.T6B1sƉ@dV^Lx|<$c_ۧ(׃)6>a(h|qNt- Cne..-&910yn>=(ixwwZ0^.` dqb( A}OqTVU˧@HYa/iU(n[~ :!Яl;,>u0, ~, XŠ>W(: rI!ْM3XT"sMwl>ے2aDhWc4՜iMe#"P^Më@h񤤥6pn@H3Źa2 EZ_/ѥnb 19L_r . O7mj8OJ?2@AiL#Ǵ$]rΝN$C}@KO)[Mx],zݐ SM^\R7ϡj_]˪aHձ$8c3sIXd81s! !87,{dR0E3;XWGf1s2jt[xj? b20A5"kL0ɍIMl`WI9B?BAFT F5soK1+Ti.А݃}&[2VO?D!kNn5;_RWA>0#):C :i`-Miq>ɪRXu&&ݘMVмqTo%J.ܿу~p^EFlSbח%6.y@`Pa " Wy@u~t,ޢ!lH>Gh9=(Ns"X4>K<"0kCߑۧ,eg7ĆMĚn>azx%c.XBrnSD)W9g,j_,.5[CĠ8= –LM{':G 9aԵI-(bulC(E9B,)NAߐkNCANadM0-<Ȍ\Ҥ_G*y4$2kL~45.Xzk\b 6AI\;R6i_m˜8_eմ(kb]^*hD=pp78q1ei,g:DRϼay:2\@`?]۩ `#hC x7[`1e87'ԑe(M|W$@8pjŌ鰫c&F̏ެ5'Y+rX'M]gk>}2lx5`gPϽgWN/Knл:rD&l%D q&0+:}" 4BG+zx]p¨z0%QqmF5.`kQ??ZNQ~ب|, Wh;Q*a;E:'e+4J `q J|XkVa|B4؞GDy>b^쇪F%!@ԸTW˽Vұ?^ 㗥'M{ٛ -zdTbO~;* <>߅)t[Ul F42wL͋3)kQ}:t̺#c2*L.U_z3w6&J*:EV[k]e#xY!G LOW&{8AEc?a5WN 9祫]AT03ZsPmv=^O9Axe>ksdB8.&odKި-:Ip:wZۓ [84OgbqWflm>L* H ?!T5vVO|Ud0v"Uں58MdV^RXI n G<Â8N6@*KY*=g3M+2B4_H8gx j{w-ʑPpNk:j {;bIqcxZܭInf³fA̞v7]Ӧ(І !bKAr$(@]=<\Qq*f9V4[#5_fJK%m4Xqz`a؜8#bS^OT=2:[|1E µȑyցl Ra@ۃ3W}(E\~ؘ)n,yX~C^!zV,N܉Nu|k_0~֢܌?Im(jnGBTc!d,y8IPlTi?EPpU`~{"? %)B}f0ð8%¥,?;| _*LM<"-@-s"rdۑ%G! 7%4rlnj%p;>rI)+f;VXSM?5dgC`u׳>ԓu 8 ޟXrw!u<ŨΜesfܕ-3ݚΐ7.lx~(0" vq׺^oa@ vˀOSN=^ wW8q/eܛP_R&dw_@ʌ<'&-*o!_;Ć:ayI*WFEw1qf^,^F~ŬEF")BN /--o ZM I]}}^}%ܠ~0˨pb୦i1ES0Jч%Yq#Uv #@ fB o<'Z\q&%kWZBU+ňus:T5OIgG &UKI@k],qL~ݺ&i4k}װyO-ڃ/Ԭ" .Uۘ)*yL`Th!)K`೯{;S>hGZ^޼ *DѼX (K@mouZ# dy<soNf'k^9X -fp^*1k &;0k)mLDZyy2:\r{>tZ2k#iҹ nh%.u0aI {9^%gb~mK@m5{ٯ 6J&&M$cdC/&:ϝ2@?{1[U6X:X9DX`BF7k hϝO(V{h2%='<sǃ'zw!$}W\VE\D㜲dhɗS Ώ6zQ6?knыͅd 3zi4Z,^A+lz ]Iz):>8OOMe*T4mL vYn:ny٥0)r9t~T{jzw>fCڂiw{eP&WJ/#E =\枼UΔ6 nLp pTܫ֙md{dX"\^8#aIG]bNvڈ<Йd3QcM܎,gEdK/i˜TDA2*mc.;ݻ]SK><(yP8FH>#ܵ=H13fTĹaC৑ 4VAp%VY.v!w% $DVQ-Ce<^-GiwUrƘ.|hԎMH֧h\o*yAQRYTb.1G^o*((jsVZ}N:ԛKdw)}c43?'U*r #4}(=Zן6k`#xA\rPUb?BA&)fdK9u6pa;wW%'onؑgRkk<: 4}wO\06$P5+lK1FNg^98t bn{Rj`ΓG(5 \Kt)9`&d,HAUR eڛHW@c>~L"Z rIO&Loa8Nni#hx1zklevwfpp^l5 !o |Szq&K9 эnu!"`1)ڨ!S f> .4B>=ا8U:%Oƛ>P!ۥX9=1nk8w9@r? J:K!(HGiv; j {pqPnHbvXfv?Ï%x4/5ZbOMۗM#aT=`|!2<{Hyh1̱gbgii/W_h0-AʉOn﫱" 9bb+m4)$/)azM.8PqY?~Z^nC5=GޫYt%ë*Q@TD2ےRc8T>=lGmchf$$`٭$8  ٢:o9+wM4Ҭg܂ǯ~Yl b&3;!&q"vwOs/U)YIf kWXZRljζNԨ۵A3_3,%i6e<_(Vź;JZ!)V~@1 *9`<%-RI×֏ 81dI=94)Z"rVJ΃iD)|K"!KΤohJp1fjOH.җpT;+43jRo}CF4t,Sù/Ntl}q]Qj-ۈ$Z8:1v_=/Y`{.[XVω(qbJCc{⾵s$'K;~fw[YVFIr K(gƀq$3R)Ϟ})w@)h@[zD|nҦin ;T``L83+\2 n+9wCcUet-NTK"Ħ2!3 %[ly"eXpS%7Bpg;^q'Wdyͬ5-|^Msz1AKrUa9K^40#Rl.J{ޗ^} =!8kɣKRVev"ڳXpD{#W=ʢ.0=6gVD)Bt\ҥnp*``YQaE1k0˩Si%?²b-)״/-m\МΣx4Xܢ2SdiDpE8p.KcLD 7]BE &Y-HO$ dX{mcy#EPL o$Kݳ'V"Ar,!L-|9c¥?’{(Q]=@<|aӭP]2fCAXE?`1Őa?I.Nj-ck&뮳$2& FxjUKק-t~Q W9O|2F tCwmBewk CjѶZ7r;SfC20_hh ԹFasqA ]G_M{m՞:|S#5kD/}Y2K7 ?(hn4 M]CM.QŽX;z`bNJ_M&+lF|0Xʶ:{:5tOT?%'r[)o5@I u?7vܟPԱ>YQeApll5IS~4dQ`͡9HM5lD2TG<N.&p٩ rf ˩.6-iwN szv#@f]ě˴u91m q8~;'jhv -4t^mpl hX\nK# 3}#,ȮigwM0%= =W86rh|Ysfs!()VO1z:2i'^42Al?j祝0J/5L9#ڔGU`ȔY$ł][7(o `@3}#r4j 1TT[ kzV?eᄋ>TdS0=7G pQ͠S{ڝJJ 8}> 5m'틞>nnʭd&={_gDC3LٳZUΑ>ʓL$3R&O3ە@>qMbB8lN+V zF_VeL3ăaIבbXGY/}m[67pfxCxQ j+cV!N'qp$ r 7TIS\"(g^vs?5Ifz(chjfdElg%+$lF2`6ζ) ɖdf`b5o(0zqk" Zu]74$lV.%їKլNE$mGCXj቎ϭ̪5N WNgEw6=;O*bZTq>$(9̃ 3$#pP.jV쮈Q%Bd lsh=Ǘ`8+ȃazaXjqFQ#3㲷XZL<iB)f ҳ> (6. bEY."=zLW{\m 嬰AaUnVC@_>Xp4@a>1:dqEk(U*G7pBzd6-YR/^h2 YibQy3 0Hix<C/Bl?4K%{׬ar o@lMLU.""׉*H=Itu7GfG_/*CZd7a,8ڤE 1`mP309˻Tqe\y7kRq9 7}YSJ[ [cT;CWKnct.M3ՓMk._wHh&#6G+c+6əŤ }_c?hKrz٥Ygv߅99jjms)t0NRVQж1=tW~+b H]vvPEܭ Rnm\s9LCmC5{n@`P$˅wu=;s~wś]|oABkH)jLUn !Nv 8e,RE47dˣ yp:=mҪf\]t3iAPdGaJ`O^D.PJ(<+8 *dbA.!N/V+9EO -πth{6SLL(j,jx$3Z$$fH;;luca5t9,TӾcu;Zϰ3EJK^0^YޛAf%3FDDǹ0jiŴ1܋; z8âuE|URUX@;mb"g)kuHk$M}Uj^(=@<% ̪:hPNҬEaj:Y mSߦ'f5iU mη'Mk5#lG_&O?U5BZP[B8i,C6\aJj,| ArPJP:.(GfeÒl>cמ̥}+i.1XPo=kQdZ.k̡(jIޏХi,>ԎkA7EG6V ܇z쥔ܩA|}AJB%45yg@O4?^^ EƘN^@۪ %_H#ĿF} P qջ׮| ɤ^vɄ R'"?_F#/+2#"c]fXԹ=~a/6J8S/֓vlBDOA`?;8{ Zi!=~:KA;#^@ %c-T߀~_*QW$F,1IcƬZvAL[5Nݡe;8Ԧmllwy%8>‘z椡vibٽ((<&_1w/aZؙ<7K,!4MBqy7BE ׈=d,&X6AYƿ rj&E^~נ@ץj]#~;Нj"N}khKNa+wNcUc,f(T H1mL]ol4כz'z9Bp.LҴjBݰvB{O5tmV=SS>AafnbÊF6jv%`WKJ^Q5&b;&?~Y5rV;k84:UpyސGIllb:D}sMdmrpU&x榐hOg #dm* MLE=[*(2O*@S` 7`h,WUX$`' Qx88la }{M*TtQ M*7aƈ~qߐM)RԱkc&Ez7y zBA p^"@L@y`{ո%Oڄ+,&U<55.I&f,MۦG& >w@l$0{66。E+2OC Eȇ7w;i$ɠ|Hכoɉ3VXNj] +,**P9{J)ELZ}+K;bŋy1Sˡ SFJC.ƃR-F=E nBCYxB틪B3o= {&g[5Uektr@a圷zVe€F9@+Y߰ IfIZS9CV%t)n<~)q\V¾U#b&K)5:unLMeEzxgC`}<'Bzo↜k̛=v5~P9}MRsUp= SX>>oC^p?zl:P?꾜OqYQB䓞"9R/( VݦL%(7K^ndBURcxBN|{<ۮ,M >d (q5Nbf`GB8Esɐ k t,by}rQeIٜR#n\XºE% d̺OFt ~il׷E-?V*w)z2ɂi3$~C23c^*gp$I~`7ߴDQdi-<|Ұ?7oH[i'fo:& i6V3<- 9xw+f^ .)cth QR}9B,K "gċ*֠T3"xb~6hzf/'S`D=ʀV_ҒbKL\3~Ɨ 萵 !9=>U =X4s'[|\oGd*Hһ43$FCP vgmj6Y [Ǿk 9 0IM,DyF֭b4˸\?hCZ5*%bZZ˱Stb=>dK0VAJGM&*eV rX΂_2)9r4/VU6G{uͩ**jA,W)awr{@=\ E.w|Oi|{r+vX(*֐(sji){rU/gڜu<@(Բ +.x@|3$Im7= *ؿ%Dl[HCI0ӨJ;4k\T+BE@صTstB`Ơ0χ }[n聯Zj, %H=+@[ ( oRH6Y:A9%tW*OX^{ pְ^Ѭ""jM@鞜>\R{#ITMa4fգitU<jFF(Cd2+mϦGŃmWKCbaW׮n~m-Gdlzicsi$_31AM/lI'qu9m0|g7W4rb0ߨX{@[w7bh%<M0מAts%6xlܦ@.iQїQY: 0NN8EZ4gvp5ks?@e2Z/|0=eڒw>ΦJ ,G ?It6vfCaƛI!p^?X% Q+,̲?:"nbmk|CxYL4F>qrUݬr.ttXbIXxJ91egdM̬l?HɲօmOHJ}8a[[b3ܷʃ?RhXwIK8FSfjW|X?ւ4NpmhR77Fn7wXqvAn(7EPl+aZ xn'-ɆXqȀI~#΍p=2U:ٞĵi/ %*14{;Hhr12Ko|R n`G LON4E=^V7?'x,^pfeyjD`R<"'/b~oAG؝ϴLj}Lr}0%85ӏTpb(T2V QRX^9[&_*{OqC6aGY}=8- E+]Ty0 ضA '4_+j~8̓]Y!Kf 4eS1j|G ?,Lw,8&8k1# |JW=$IZԍrrNW)a-vjcP-t j΄CLy&ܿ-',q&ҹסeL V֥gz,SjN ԵNA65?`?.XxXmJ`s7%DVkqL`N4J-yV_pqOߐ %U2\%1;|I9-$GmXaG"uBC#$-vD:PꩧSZa2|nSE]md^H1rhkC߉T7r 5Upu:Rf7[!TTv\[9 .O Ngt %n ɱ?+*$Q'H+Y~nO x(Ϻgx!PE|Q4Z &͜(q\r4$*sM K` DޓP1E[!#K;pVVG(paoٝig Ԉ"RPAͯ5|n GyWk|R\|<`|i\nBVq0?rH~_q<wP jqhͩ3e;fa!Ш/\JhV˻>XXEtHmt]9⸀ deb0;*ւǞEy\Ԡ-6vJj--΄p@JӭF [#Dp3#N")1ۤ!_QY ϪA^ 傻Gm9U|0 #~d5ĕc }P;OW%8g>I07FA>V1%`EIy{WG, +8_;Ljp\ڎB13vM9-fLfh믵ۈp((Ҳ?MD!/GP Ck&Nw\ljIXf0ց)ێ @DZ7 A2eYn}phFp=C?ǿ}$FsҢ+EtftkG`굝4 !]8}R֚`&VZS(EpdlMCm 'fwȪ`WEVOP.mg>ަخ_ y7Yfgr,F<`$3_(73;O: GA"9IT\InIEbƨvHUf9##e4%x8$⺬ZǪA'ĞYbE@XrEp*Zia":qx EAG]}ǩN W9&m(3oE5e9{ў^%wa.6]˓# ~df4{Yxαw4>K8arȿcO%]FDfAG,C 'ʫ$tpL]FF`?cab镗n]4="=Suc`s p_DH2WHwps!UAPQ*6\Gl3{~G}YA>3(R*׮dӃ 2,:E0fTH%c郇 #w!F='Jՠtw;<8|<4õ`j!6G]9WEVF ȟtǑ-u\}%>cz Jӄ7 ׂhc9Q<{b&ft1raM$ĉŋDY & @׉Ёђt<J¸Mࢫ;H+g }Jj&KkS !ʔ5OhOJ6RR=O KSc?a_=q:ECE:鞄ƓAD @=7TU%4z.B俵6?:QT{_{h* ~C-| 1遬s<7?R+)=G-}W6\֩6!nic8dsi`2L٢ωJ&7ZQ Bv]73k bOPͶi 6Q#&P?i ,jY2ְI^X;qҝZa*6rߘ2jオ 3rXHv4ЇƞG&(#;$*1 g^ 2r >1ceX8ZB5'8 S~4& %|@Bp=8d%|w/hHۭ!̵'ﮅfqnڮǭڳ83 yHo!g8u!=bV>KExpNe2`^D$-ZF3r2RGg& K < 6MR L="*Vs5^-o{ wp˴} hťࢰ< Jrh?deƙNGy)#!r}<LQ"|dH٢)4?IԱE'׽|" *Tڗ)Kۅ\$5 sQ<ǯ/nWV uh#-'6taqZp埰v)-NIInLZm੪OUV _2g2LTh@?рx1x]k9d<>*9>T@ٴnVOlE>E\V$˸nѱKt'xYщCv^Κ+}tL sc|{-GhF}@2 >Y'GuҹICnjUq|+ 8p*)aI; @EWK*0c8tLTvڥ=Kɏ*>+aN*o%p %Kv䍗P/?vRԢsfF4O4tOhe߹5-Fk2I0W10 r5m{`%&]@rkFgRP84Mh=7=fZl Fq6:LlihF1~b*gb2ّ@Qp…tU vѪ67f u2N">pAA3*HU'us\6 ;2-UuԺ>0cmͨ=_A}g=L>f>0@hRveZE5+b#PM>NQ&؃z>HaJ̜0'=Cg6{,D}il;ǧk }/ eK ^Ds+O8IT{]Or%.UGPKh =o+yRCpq9-}KfrY-ztJᆀ8{HUh#; ~Ģl=9ᄡ BNRhz1ACU}ygaD՟w,dUr$> Ȱ7f)RqޢՅrZIM77UCP ׸{퇠rC.;i9>U4^O8['( L(G.+e溶Bg)\#Aނ<<@$8S`f:yrexCz*ƞ>E`X]1egIʿcPud5Zo-M8[;F~nn;xI%Xw1Wf\+ٖ7a6n=4OƢ'3*-5^Xi9~P4AcZ±M%ޛWr^oPih.8F:h0X<pS+1N{8.px_Lۏ3=52t*4#6< ލFh22f> Pnm/WPseٲՊ85A7jZҧKԪsY $6 ByTzglVTb%xP/_,!U8F3G/526K()FkX+~CU/[(OKxEMW~KmSKaJ\ENs~Ց} jxI õr{ HoܐafENs ثARO]ZI^76 _}"өJw`XfߢU1w{C}Ffde]DaydP~Ϫ~Q(MoxX<^9ϨCj,8*k͓"Մ=!g\12VhqLˀv;z4AC~S.cry^B,0jE7Tb {6R?b8tPh|IBFҶKtouf9h3oD:itTp:UHp:mvC&{̜o}ʛ:.oL)b @`p xyjjvu<{F <~R2e !]z݆E(0+j)k6G& _tt¸vokG)ljf1мcA_|<4xc"X3݆mY~8ify}FD+pi^7g{͉jAHrTGꋪs:624iCXwJ}y#VEQifTYdnۺ`~c 'rjWe) Lܞ Ɖ0߬ 6^R%lKɎ^el3ZdT_j,;W[4Ydr.\zZMOGkBvD^: փ EeP>5s{y=_uYÍriS4*ƪ34G66Jԏg;(]ߓ3l9#xG)kfvM!mBx4ktuތ 7Qp|.KⲬH (W)@Mi9SdF%NMy;)@͝0wЖ8L4WTJݾ pΕI"2|R fIď+u+1DEUp@'e1gr qT. bj:zcqa>ΜY_e5%/ }qb|)BY ~ #?(U`qcCy5Q 3MߤO6+E;hݺ쀆aߦQS)O""H>iy&nQt)֒b JIC C X\ƽ|n# >[&݅ 7@|`vض<8*+R`ƌE%A'L&q6YUM"+=~սjQuqn@GUV2d}!@\V^9#*y.ܵx$6M<#QΎٷtA.3Qklߘ116LZt}|T16k>Ha$feqyK_[aعw 7̆Tph$ ^ f1ΨQP\!<6"ℐ\3EK0!\M9(S+ ɓeP} IotiM|)O+7KYQIg[hNr.Ut?+6`Z;&%z-Xpt<*x'@*\%e ܜ-SK$yj7J|\f@7FBln$g%s?~)E9Xi6ONNi-=M zqұܶz(Sx F   x _^s@i{8Q) q ۹ ̰φs㥟}}Bzf/EokX ?~[X֟.lyr+ێf*HHgY X_nNY戨O߀!'\"nO"T/+kmv=vR0g@Z2LotVa+#>^[YBITmHr'X`64ZsI~Apkᕏr u;YxSMdQ['ThW[\ş)hM|hNAQb?f |3/}[h9C _8E wD-73+78k }j>=cN `a&A*NI,_4!~{Vxˮ}7U1.lVá{s:lkNU \{Ǣ19BKz[+A!`pGl5~2˗_̸JJj{7qr+X װliBP:zu A3}rtC~5poʬqPzjܠk≀Kvg l[OKPCatXXbJTFWM⃄V}L[}k.U цfB0[n3ޑ9q* I]GLN6cVy-[uIP]!޿ 敛 DI枱 2_ _a`JBEfa<9=M\Cb%^V9z# .Qsv)rm~hKojz_G?=*K>u5l }9BU#~gaAIpv͎:!$#hUjPb}ۚ˭ eH}yXrGAo΍q`bPsMPraΊ[ ҆0kR#s>g:)U\-5 ȥjھ~ `Nq[CA D,AW2h7D\-[Yl';,:03M̯/DTL5Q;H+6 {\A8sS4d%BעY2h]f)I xˊ0|T|{ -N?R^=w1v(BvD2 ~d%=fLb"J]--S5̨zPD Tdo>rlϣTټ3v+ q,mYCk D_^DB8wu^kέm: CD\Smi-}) !6L9?yQ<= Q@K*>_rIuC'^S [Ij/mR/xPCLHu`[ᩦt+9X=yftQqJNr>8{u4:|w9p8֓U!a-¢SHrcS>z8=' 6S\1yvpi! ^Ud-zp?93$.t*KS҅1P[T "X=n!NhDc}})^/rPoD\MO=UDAKe^B&V{ٻs sN @`G8wNv7}k*2浀$ ];PŮϼa-QR, [@?_ٞdD;?=gQ2y@ Gss18FN.>սDIrnʌDT>fYg(~S[>]PW)DŽ;|)Q+zvQ?Н',8-Lm#s _ zË[4g}f[.!|=D`"Dq:s_1-Zl?$Y9Lt%pqE7]JGJnz4f`>HvP&{c8"FPtO>>`"`!@-L꼊w6=N}rFlJ^l%- ߪr|&ȁff𻏲6ʦ3[E*8`f5?k~X>0'jC7pr 3XrXY;{8p8AccH(kj+z E %)tLUiڡl~ 'kmW1г 9k߳ǟw$XI/=yېMxj@xwCx$@乌hUK ^-h`:g[] ruRǍ׳OН9?{';4M]A*}Q3ens"$'zBkȡG>Zdz71Q[옝M= $G/[V^!GWR>Rdq'-ou./2D#%[Q`81&:`fG$…^M85;%yDQo"N.G1E"۫Ox':E4 z. Sd^Uc-0"8=$0֖ntʧw?c`ȃDbˣ6RA=7D@VAzE$bJS/?|<,Ϸm();r DtX +=)r @W4`!)"N3<5 1H;vp"Ff ҘbmCSE䘦N|r^bC-܎zn/tN!Г1~\:B ɏI6"t%CHӗR-NUdK7-Dx^ᓎɖa֔d4ljq-aWg>1*s#!;GM0zFtW{bT.=CgpMz :[+rx sk؆LEMߣ5G(y&\Pm4!\x:Vr{*GR'dYg]UI Zx >(DQGّۺeP|:J0%p2l6A㹞|)y4&E55. Qb}d$dg˱;JLC⨄ Ҕ Gv1*mU ʱ}{aRk~:iŀ`,}Pb6 `'.N'3&wWe$o h?cA Ҷ<8im752yH^}@X\m.( 2lȽ~\+yW!nyL&)9Pg#* I #aMD}/!*JeiU_|7 P*r j*//4?l6}C7J{lIHIN Ӟi YfOs2`!wZ'ORz"q/L$/tPad!Ol㩐Od.?XbW"1 8^NY>MGO5..?=[fy!LGG`XR  { Wu0PhX#N8M2 ::5B$wS.X=ւ]>-[6 gt÷n N&O}ʘ.aR.Y٬4!62u?raD J7?n@0+^y8$ymP;H9[h9<[!J6@]Q {Jbmt,^1>qG ,kPL$' 0iU<"B1A 9c \5L8PA?  WI׬u"V1qb"R5#UL]AK⹉COt]y1@K(F$К[2" aJPV1?[2K`IKbrC:_l.QHِLϋ* +:X96Do踳5ƴ#,mu{?UAdfd h E&@-0pȔ_9 a^K,2yoߩ<㶺F% t` 7$!V7;)W34_zFB#(YW6:;Ijv"tou}$BKPD񻭏3I3M/L&}Dz$eoSTDIt4_v+ {)askȂ!]xSw߭)Bʑ3LZCE唷mn~ciw7Y\[JLI|[X, {꒜{vMa9K.ȈV57ϛeO%ߨNp!?ρl$jNA{W~GcZp6t`k(jdWcvzqh.'K7[1+y뾥ꁑg6+p"2͵3z^8ȇ/df*ȫ2D l_a3|ZWjY5:.]f}MsϦK̽`οnP44<Q@{/sF|Ŷ2]=WA"gƶµoGk^,[5;r \&#r~҉ʰ lUµ?y*=E p^ *ψ4c\|.S7'hM]s9=o(NkB'!@ZM<6ŋ~*XyI]թw %`=ۄڷ _E+̜Ro"EBm2$5j̩u:gm f%$nO+T쭼N@݀DYO])]|-Fι7 {|F>(Lx(`UÁ!ţۀĊ3LB"Mw>"2܂|ͻ @47 VY)alL tu#I,휲O}W墼WHDpBD5\z3/Pp3ŰN? RL %kpFl@=qhO2h߈Ui1PjR.$t[FDH#%%;R DUaqگ[y>3U^`ٛ:aX;.&1v=ژUY2VDK dX7WQkxt|KM¼ȼys뛁d]yzOoʔ~jJuqDYnAg#R|L '@xJ V+`YIȥ8/t՝荵jz)qrN9b!{;F7-sYS~H-o>lJ_DAZR%J0}ލm儡Um?7%Ώ/dE| מXTTi)bn7?;6j(hU2J!"B9cO,сT7L {\: V(3Z};V 0&xU-,B!}~h5fJ_2ȋm1g ̦4c:JJٱc^h8;Gk&TM3r?.+YU5˺4eu7.OM Sm %Atʕȼ)f_R0\l /|켮@H޹lSp'H+s0խD uGsbxYy7U̴DB >z6z0r_Fd΢УoP4uvb;S{AX PE]bZ gaH>}<9:W3I/ DCab'^C`QΚUkoL"hGe3>ǜGv*-5+ `=AUEIgo)4gBuqv)/6rOzU%YJ޷汏,09Cvd&v? a؇«jm(#I.c9)^ $L>hÛSzG7[ Mle?Jf0vQ. c.ۜ c,Nh$?c@_%D݅ڄ't*#8ū-.߂:w8ԋ6w50VsZd@uG7{D6;K |j DUuh^UBTе҈Bx+/} oU shG wc@hCpEN7 HD.NH AxjGe/g| sbg+4GZgùhosy]jL-Q=RLFden\t9-H?e!:Qf&?8az_K刑bb&~3iǠi#h:qUMTԪL8QbYz)LЊ*yMez8{}ヌrevE۝N0c'6yM:բ=v0FLISrdCcy'=:Yd5ֻ! 9N# 73d%wߑ8×rtkpMI?Ya`n'lpkAL⩓ k\y>QL6l$弯;꛷Ӣ” @%} q&?Yo+lעO]މdY;o(E?Čhf\ -&ú<_|fil"F71E"KMY; cK-WLJ΅+i0z[nx q8zmUK5 ]]Bn5e^tߟ| @e5W ^1vRʁVҦWJ)5M:l{l)sV[1Ќܡ`$گB[ȏ5L}ժ-eȦ/;ft1׎jvۜoZBRw&^aC-=Tt-o 3^Mſx* ߣe`:m'Qq;)25Ř^`YQ18d"->dҢڥwT, c)ťqػN-Ɠ&Q @Vd$E4^Eq@]A9Ȳάp(H4Ch\Y{ƦyG$8x㒛cZ"Zj v {02f@v")Y=MAYͅ9QZvn@` ە︛D i =Z?[/u^?`IFt{Eml i4Jȁ@@ʂ#frloðض=xhkO+Ii'#XYC1+I  W-/UniB6}ʔdzKiae/ׁ&ڳyyo}",4ꖩrҢn-WhA1>V`Dԧnܺ UH;\Уi,SIByn>ŷQ82{HguF72`S%WtE'P35T__du` (Is\;-JաquFuиs=X203Q z;;}_)} M3ҮHeW;JDmȑT ~"#_3|MAd:f#.>ݶ f#6Z w\wrt'h0MixlL kp~ЇgxaD71ZuAG.Ggh%pݷ"2IDIfMV9jj hxyJ4!2|A[⬫ű5HgũcB(J!7@b -@Bt g^%=4sa9^ID[JzO%bK/:2iLֈoSHdj/\u$"q@z+˳cqX?Q7"Ϣ﹦;VBbRq7wr7^7+ _Ej!0+\nחf̟fQH9.@th. ȿYSN6+rEtCw02;1?,߹ p;C`7NMS$ җ_9"Z7?2V9zؠN8up 9Gبې<(]-冯0:jْsțQqJ=@. 3 =p&|Y'y'#t/lD$ل@z9{- *z6L DtH$xe " I2IcT1z( ~3:{j` XsKR=ȈwIf$^ o@S3y릡Lҵ7=7d,STr06ߗx=Bt]_%P[_73r[.ϲ5Bm[]$i2Ew-ͱ5n;hdg_B;8?0䜶l /\## )Sˠ> HG T!tG~>P莉r2ji1$4\N-u2R4x4 Mgju(};pSdEi{?4pM+,vgǭ/߅Y(~l RVþJC!PjBԆ93;T|Ԥ#i nL@UWUwY0#eHdSjW]LB]9'z^e@CV[ l߼X.XHc93m?ȅ`HǸ_ϊU(\-_MQLSpdOrhĶțC F4ͧMq˜ 1F1 BL'r5ƇzLㄩcth{ВM^vp :mA^V   d{`ۧxgfN+u 92v\:a&˅\`4xZ?RzdvrIHɼh[N_;10FLňόepBHl]~6yϐ4٠ եsdpb*5hreV$M|pXQ0"<+<aax}ռ:Z: 2969dJ%1b^憧Ĝo6q]5Qp@GC((U,ͨOo@,oMVzkxw=5/,2:F˜'NJU`?fC!»oO|t*Iz t22g &Q2ZOǼ܎Ś@@Dx/j[%P(jd n~^*'sJM&m m{ۈnZfː;k6o`@}%1F(~j|C?|+TlYu?&2'O/#?/\QFQ ?@@*56R< 5T YIX@]=|w,lp\q\ xa`f,e'}ڍy1`G)hƍHXS.3X1hqxRIGOnR_EI?GHtv13ڋ'E ghL"o,eT=s!.JNV -UP1X^}3JkP0ͺ7h9OVbq =hթ&Eݡ{JeD}5KNjPHvSFJ!9$wgVs _f; ":=]2 h$`FGݍcbΌDfƳlƾj}mJ9G Q~gגհ[k3r(E)٬l]f6UvøH _YjG{-ƭ Q ç֍)ѷETGD&n)uqT37~BxPPo`=JvܠCx٨_1Ti0 iK~18zQ%ts;\0s0v`\HT"7A4} ]W1ۣJD//LõPsejR팀kĂ6:HjRBD,ƔY6Xtg$DYj(> ]2WHDԣ^WHoM ).´4s:rS)O٩w "&"l+zʉ3| uݲ7כcEہ t'.dBQO֭;t6T+m W\A[- Z N`|o\KSlpf&{E>#E4;/>7s+aۤ5O&M ASRhM"@vG{ z}?J Gb?%*#Q6QH=jO<@LK WKqyTM&5թyIsXI$Ġ$ |S>@{W9L*љrhxn9;Gߡ Is=SaB{kF!Xm_xH}}:vu 2H+"AD԰X O )D?mn ,fv_Ɠ\V $ T2E˘F9,၌YgaY<*;Ox=D2(AZ% |8'Ѱ74j%FJWa X'H$M2\*s~Ns+}TٵJ٧!R^Br{og5I-~AVi) W>xv7dlA'j@]qxpjf \z᫭cѱ]gnIA1Z鶶t/^0  7V XZ2~Gf8km'mb F$*aXA:7Q<-Mgn$vp:-4$ ^V9d\44qy& puwJHWꗅѼ|0l겕'4 4 r2 3-9JpTG7x;_c7UݝbpۂYтyd_3|Fc]f|~lq>v\!Gh /7a~ٲ(3s&ǔm+E*t=üio1_"{ ] ugC-Ex2{ O-c$<,g!`&C,8oiLgMK~abRLQ*|kq6'W!P@tT_!ډ)9X.Bv9c> e<Ɯ`ٴ&F{qdR[Fa7Dbԍ!t޺Iw!oB0)5Q??Zw5zRX aXb(Rptd0I ܛ5/Zt2*: ̻ϖǢ}W7}$X`%/G3B4MZ:6tX?.ܵF2㦵.0k*K~Qfe/PWhuAks5vyI=o{7a4jͮLTm+ݾɘ~Hwv걳U6Nڧ SO}ox7;PC5ǪqsΏ}\ڍ7TH' /{fNg%L6lX;SCXo=]v2vIY]=vOS؇3|OP>+\I$Z,9a1FyW`aw 0Bws?> fP+dD*bGO?6Y3mT}ys -4LAa}KK2/.fn/yGܺ6ZjÔ~ õ` N_S'? 2R``b#%`ٍKVjbЕ].NopCFhN tQemWܹl(2j1wevjjr]9_Se\?j~R-jʍSkV4 e%Mpބ `c "rrJ ->ǗSqLoUq,bfLZH3-!{֚eG'0[a7SFw}(X 6uel#*.1_etoB"N%]"77 fhAFCݧ3G/+q'.XUȴrR)RmHLZ%X6vo͇DJؐ/)bheuٽ]Qe8_yݶƊ+>ŗrtGG"GsяMKlKȥ/uL>'^.*$Q_SoR͸h3_kLF􎥹dl B=M@*c5(2Xpegi[[G^,XKH:kQ`K]LT PĂFź9q ]{H  .;ШRT&]SB#urkWu8>=CЦ.G)DLȘs=-|}3[\8GU.Z1ks(aI Zr󱐧Tg{ߺ+hnxo?Xl~GwZe/\q .PMY&j$Q*{eJQbD9/̄p5gqg&?2{qV(Ma x߬rKQ8'(saT<5Ee>(&v ͼYÞ5U1Ub" P3N*:5/}3Y1%\ z RMʜM9 M"'~%DW % @N3E.Niє 1&:UK TX4o J#7'8+w:# d;<~CT7fϭòg%.Z%zȽv֫pMy,]DX"YtջL:^NCb.{K#M2W5wǗR𷛞*0㚋=E0-}EX~,o=F"r*j"1~>*>--HJsUoUC`~E"f @튌*us)*T~S%BIsI$b2y;>F+>\FZQ#7É(6RVyva$V*ܙ7mFۦ} #r;k#1?r̀ ̙ۢ؜8FqqebR&n«*6=w֚sD)rڶy9WFͧ|Fȍ8<ͤ#C?_| _sNA|?z}6U5 >r*«GG ¸ %[sR`.šnH LpR5B:fi_n :t/p/Uh+MDqNf֠ @Lةb[U Eڛ ӫ.j6EqwڜߗF${DNӅ9L@k2a wysKˊ:V }4W4<qϙ9>/QMߏB92n!*u^m 12fϚ"t.ecJ7fr~7P|dMydOKZUeȨ*q[ 0z`<#=h\O7עfvkuG]1Sa%}=\@ooYZ@7v%ȑ,aÌDz4EGr[Pp bKhW(9ʸ¿wz%xm2U60 qxsI&iíתzovh F o;|n>ȿn8֥܉i>(Xx?s Oڄ3)~(s2!d a.2v@SEN|UpS14ık/Ρ=Ku˭1i7̵PCkPJy~{u1-^LgiR@ߏ?$Ļ <_'k]Y4V *7ߛ׌RBx2R_B*2A\*?ӔJpUt w/ѻV ` NC+ʸ> f@!lPT]5u u{L,&T6N#I42-oXNT==.A4j$gay7A;pWelmrA#ZܣRװ'.ΘMSvtv]9*/jd3_JeIpb#`(ё 0GRK- XXW)7ɩ'p)YjXC}\{g6"-[~m1UMQE^ d @#t~BXr/ȮN tyJ]>nMeue_e՜eP3ɠUfdhxDLN<‘8!ӇT CPF:=DW$v\.z;-jjnv - D\uȈ2]IY.:OԧxϹ6!ߪY^"IZҴѹV횬5|:>YN}4M'^O1σfHD\MzO3?[<|HDy?T-/(yX ӔzwTiocȑ~eZxGyU9೛'ǕjWxHϣoKbs]="ox5_+5 Qȑp.NGl/;Mةr4G])QϤMԮ:ƼY_$^>l$yW2kBiRXCⲇlO+r3օ-Zm ٦lDh$t<ȣͫ;W/dN5 xGZ (Zx;anA \z,f:n܍xIA?GL"p*F .blz+ح.а7}Tb!&8WѾ59PlҏWi`_O;tc9ʠ5UrDHo3Xa&Qs27?jXd%`qNLUֲ3vR#@Ԇd\YW U"ߺB+h01D%`oia!\lX x(#ņ._#*7|rp/. rl;,fq|&<_\!|97Fd"HSRG#Xc/}yh‘7i~Ȧ۬UeN(~xyR9Pdɥhx#=cbu,GL,F@rtb%ǰDž*~6kQ"koZ-t]gYk"}?tQ^Ji^)&-,$ Q` xۮhst)S巏r%ZNϰq/>r١ _p9% %1r,Gq7{(zOLS1#B:UjV[!RhDpP%m frz( hF0)W80e 7fo,;qUЉέ$-?gIMQ}< {Y2|Z-ӳθ 3. 2EQa41u!xf=Z fTdmr*Īe|UG:{ʖQ=uƉ/wB CmȊ =|b,[AgOe)^*YEDY?{w4{Io8YX) <iߧJP8 LHxgDVK1cj.t*\;"#,Ռ?ΥQ~fvuWꣳB+P4dzK4$_f N=PEk/q_8Օh$3ki+Β<dE>no{0lúdhA\t~]5ye t2z`+׃l#qcLˣ+Nh6BV +\V{5E%^4Vf;>q{3׍Dd"t+33Ez35 _8}@msA^Gy9à.xzL9ЭlS^Ϧ5gE^~Es0"ʹnQ/y]<=h$oPOJmfQu; ]3y$.&I@CmB/E?81aYPppeC=l°w~\ՑP  dEyI8O\ii~ʂ%dnB%;&Tè4[ϯ|JAR.^^uE0ȻP| Tzt!UAUR,!'Y׃7d_Mwh3(=w!Y^ Cڿ&RUx$#B(e/[TOG&xT% ; WlJOۀ(~] dNirK ݐlRbw49a' ǰu=9@-/ r ^y|Egnykni][6rҸRȯňG4U*K,VI PR3G1]OgxҐ[bbl8bEdL!F;ΛnO9{m [%RiF_ȝMy%~,&8ͣےCџQQo#1/xfn&3i+"(&*R[T]dǰU*cیGƸs7!ߚɂqֿ킴\# ax"%&|s$8M0/lk/+ILLF?9GJ }{sx$ǹ$껆U$<iЌqڅxW >vhxҀGfIko%,>g,SثggAhbPmZ,xABZT77i vhB͟[0Ҙ<}͛z8h ɲе;xWR{@Jz.IJ=XÅOr}`?RB".i#CC$W'bɂuqwSVy'Iɤ*a)3݌V#7 ݟn_pO EsTZ8R)'pxSQx]?2R4"//F' č'r-Zޏ䁯A@ w6lK(KBF&#8zm12z ѻ֭:侀B\O> sgWRvSkя3wD8#*xo%YZ.c!3 m]7nR}.Ő8F'P.w&kpޖcmrH'᳋~iȌP @x;s d'_XӚUBi)Z-O?aTRVFI4R3Ze.;T(mOH7aٰC& r&/~nOs9'=-6l+,$k3$ 2؋\eg H&urp!ad.e!b;E"azD_~,ВeШo$YJ}ڈfA9RLrګwb5˓C5#CU0ϙwY|n8mkӠSCMq&}/$~!ŬnEP| ;cCa.S:;*mlk_2q`t-?daxɍwNo4=n VRC>Ruۣ Rݑ.Lj2IaL\@E_GF#P _)FV Ljgdi33 3϶A\ v=$<cX\ RF$DzJsV3w>ӲL^qlP͒/ǬTxPorEΫ FCcn꾜b~s|f(_=|ȓQBۚ_$%N3r;¥r34m9=3}쫬J|"Ux j mwEHaA(mNIYu "ԘK]Rtnrph̎Jճ@7&IHbh{%Kjm?jRAWZuAЪ[oGƏVp%W,Z9\P5Jpd">`<<']9T~-fnEe m<[ D+j^-Kb@Okgɓǭ%l|S 3wx?ToW7 &>1`ؤLRľXgpXfy5M}K~ntCndC )j2A@DMvy=cN=.Ry ,w4Oץ.L|SvMǃ8Ykxbk^(.0⻖4F۱4\[drk_[TLKf'\oQԝ[/9UvfG:*wN ~ws <,C/qͬT[h_v&BzfJJO̜r:p=v=[Enn"q:L6AM8\P"iw4y+ŻZ<6M} wkLcfܺI˔CQH Y nRS:^;jgf\)920l^3X׉WNP^0Yb(9nDX(0Lz&MV}mׅ9'3[soˎ?>s+jL']9HN/8z lJ2 "HKyuI|ahڢ#y웏/ܭ}I}(?h̅?zsGu1?.?72GZlޡm~ J[SokwwǙ[bRc`A_ Zj4FDP?C>ov@`N*ot7@ZBRڲy3idŶ WB]g*yGFO r)&j2BW䝬T{C`ȧ<Â^d^"F֥U@A1Q2\MGQn}'Y' +`U˿a;YtwlKO˒Ⱦ2,!g q/Hw#?\${ٿ7\) \29K;)B\I-oLpj Jt(6 ف̠,,pVICل`)wߍSM7VJ A ÿ̦P؍/MUE<,8m e{ǯt{T{dX}.Xt&7 1.[)$|;&\;AkrF<,U\;b{*D֕(Y$_t1P^}1fd}iIQQuLoV3xwC7oy*_ځ/E@XqScAfdxO۴Oo؜g݇*ܗnsoem"lӼ=L7yBX@Ȥ:pɵ.@Y nI27I%ιmڮ}*Hv}϶kZTpQTLAVsɌĻzZ;f ЕAc^~1XNugWxTMӳf6cv\:yT b`Ʋ\.:|b|džy[]?n+?^*v@n[Ȃdq~^./<3f#HnD͜4"X&d;*5m&W 82qL( Z="&.`/Zcj0Mj'4,CmBReQckPBbSɘ^<82=hݐ`REV CVFaN c·ͭ{rE~xxV\oI  4Ho.Bx4:%h,x/܇Ϭ.@477=Эi+f&HPk;Uj:w{6A%y(  < Ȱ~y P;<:[|:ru,5CגnV9Y*^8tJNEU&c=|TБ#c)]I|e[9IH>X/8IYوr(F:Ze/%Ԅx% Ϯ ]/5HK@ Ӭ?4`kw@dsjgˬ]RY=|ńɟ]ܶ}V'G"kc Ƃ\),w o6oR&upQ"u`ڼ:~ 9Rz?DۼE$p%-N2q@hwV#/׺=s DŠKmgLmkԀO٠Ru`_'AeC')^@tw.=iܑBwEz#ӆYvq7'px ހCb4?9Î5;ILPlqA vlSEEDLA`ZpW[6"yΝQq l|8k\mh<8 A )$i-B@d4FS >] |r>$ړ@c U( xT/3X ,SgCMY!]CR;J`FE<0v3Ϭ;sN3'iwq.n*Hwߗ6U!Gˆވ5V1XB9դ9l@) Wumfs+u8'9qc'b; OCDFSNS0z"~[ѴX#4mBt"GB]gE|mEIȋWZX VKP܏wDʴ@qۦ}QU >&ډ qZNؙY(#gmXt&[l#jQ@QVPYr;7Ҙљ.8]\SqݢWgfJ3W<so 77`K\݇' 0fB\\PXFD/<߮0^ 6Glf2&_SS8[c>o70!930yΑ^2ûݩWmw樂ܨQ W>L7$LwpsG\5ӡ5μDq q vi}]t ~{qZ&𧨗AlX?ʕNSà.~7FP4*AP^/#T! zb0Fy7?j݌uQUʝ0oZ yi;D'sł /ϛR6H"YHOP;S_jV˝uQQK-MnuE.Ƭ8COLcYv|8{i9sIq, "@b Fl6")4`o+;oI,~TcKɜht'˜bX.wQ %C4\Xn;_dK56֨.1l7$=;,0aF4#6ç*3 !Ns 7/']Psg3$J}Mph$RT@]n?h[S3Ir?|\/0Oݫx@\'zK |3=X'‰{UYTsIORgQy&W:<qYS7wā//:̯ZscoO(c\8}BKUL MCkk2TiF 2g'lj 1/~>ѝW)+j0)b|>$$+*F'#E';ØbA>wVO8AE n\ܖ?nyf2]DR864"[ZmUU>qO*&S`Qb P ՕIuJnO|x%оIE),sS+^^(ߛKbz~i{7Rdtw^3Ol6uN>?Y२pJp d=zn_d \˘` _ #I蚽?p>'631O^yc;cɞr{?orN.0+ +4a=Ec7SN`x&ⱁײ5:2vrյh,{}X38p.L/K&~ܐho+J ̾hOjSe)9S .a֩6"/A=Ak5dji=/@&U/Cz["ʸ@AѾ[ 'm|<_]3V@[ M}.Eq+@ƲQe F9O7l_I 5:9Eٙ PDN/v|vE uYpI PD43bkDoPkߋ S_$ڀ1tD+?&I%D&riP򗣑w`Ԭm /ؒ݉;?:@OJs wgLΊi?%>me:#ઃ9孃# 'E L?F[UXBO$<>%1[-Ϥ_CvߋBHq3;͒MnYo%$Ȅ/-jNgy.{hQnm{DmAZg:6 8(}MӣGf5.w֌G {o#^<9y~252sHush6VPaf+)`NWy>~<֟3UQ[iH6p>'ϓ1O'I 7aV͚v׈3֒HOJ$MKx]4u0k6AD{֫]?5꿕f%l3nLbjio(Vwy`j}]*Q,G5=]@`'!  o&i'Pr^.싴wNŹe{F;HW; Ϩ6C_?1@!A"ql][j_UBj˲?\mfPOY YDK𥢁AHz̄{9gڪcjeeuhY^a6Q >N:{ِ[usNmZAfYl%U]s Mr Q== ϘWT<оڼN˅g I((bϔRR`}ס|w#svGR&0+u: ,Iꪎ F! =?sCoҡ23xn k1W{< /s,(T"T4>60~ vH^h#RNWUDb{{ `8Ym1l$aL1\dYzb? k?ZH&\a-6h/]pS7WKP & ؋yhggOM9\EMzR:|]ѺWX44Us2Bo ĶBaMf*60SWucbA++BO(dBNCgQVm  _:KX?}0n'`|\єNc̕*"W`$}株 "[  6VuZ\0t,f|iEm'F:=֯ȠyII׵Y jTt?a#\qДWv"L',g+ ӓe2Al~\P5dr/H8%FYL%h*;2Nff UkN@q.X u hsN V#nZԻYv؛L\X%Iȵok$1O dw¶A1y pRF8^u^J(.<ű4'r5MKhgu*&5<hJM Px [:U7A2G vH62߫GITld6oR𧯲qO*1\8#$>ݨ>5-u^6:[(i%d SH᳜lzU㖿=O=NHXD\457 v_r,$I7&KmF]/ٓeO2pt;r1ёET,ov*r=G\K5#j T6GÐ :2␈T۝${4?X{zx᪱UY\+pSsPA"3J~AFs)/)ZV;@\<}R%IהoW,aײՇ4JNUT3CGoO75*@8Ir.8JRu ?M\2$̓¨UA00UYgNk?rmBKۙ<7J獎R9iK2mlgOYM…`+ ou.{Zbp.v-[-Vw }Ft ׅW+J?φ%ˌu3r*.u]FSC`=U 4a0]'ڇBюQm0*ذ,$!鿈 e"muR}v ?p@a)4:A1 `ɨX*e-Ej$vy9)g$㦧+-lp|j38CVj̃ R doPđG[Lt(쭡 ۴`Mj80l8a?$ؔ]__6+7By%hVɛ9UQ<lBZ2ym/*_^4Cr㔝JcϳkHg_4SD)ѹ(E_c"yVlcU^}~/G\n-ɧR+hX>67-`aʳ5&i+ؙH uN5c8쭇#~/zڼw YCoMznǸ%XGnpYѡI pX!eɇ_E4zN3h}Vry um]{ 8|u=9xJ6a]Gjq-'Sba 9}N/n`mW9J Yٽ[X M 2intw@bDOlܮSo6€`G 2Te2^. M:۳b2~[zJ5%*+-ϠF zЗ$Oy e\nz(1s-h ]O)i 9?e$dN/ҴhM ?s2g%99 'nM&QS鬾-}$ D"wTs&N#땞:U&Ӝ~OIfLh i}$몘VpeDŽ't`l6n^8 'r d%ӄppDOQ䪍Dt[~Hꌪ)(44)OWJSDI$wv)n=VU]ם/B8IzqsNܛ(W , .F#g?goex+y'Dg@ntzɔlP";w@!oRgϮ. -B`wv׋YAʹꔦSDY0;VnPPJ'_¬֡UpO;:}?Q2u| }4[t6 8f/L!!]50`'>&e]g(^|pl?X+{bߛR;m .\K=o}C*izmzCy`Qry4{.0vI%)TVq(K}Bq}r l= LR|)n}S,eһ/@9ܶEJ@< !ު0N÷g%Wnx?)j?ya2Z RO48hH{g}y2˛DěyaoS x)l>cŧ^J/GF@rPґUԜɿ;/φ|'[,WveX`'4Md >}l`j$&bÛ??} !{ yI:/5V[O#46R;EBc.y)˙OA⋒Y~B {+2N=RPb%Y5`権أF&%kG!rֻkjoVn.eӯm;54B F_^vEE8LDl+Vbׯ nVFMw!Lȥ0aIniY3\7ggciOVyz@Cr'3Q.ѥ͈ު"yTi:0{SqY=x$5=RObh^$G1TRE)>Ð[SⴅD T Uƀ!@Fό@۴77CPMM0k[$mYTD$Tp-(vnRETz\<]B/S.{ӆp̕Ǒ٠Y5,I nLO7p| Xot2zgp\7JRK"4Ra7(@!*8F< \yv"B3N[t釃~5= gi3d Oe5[y9YP+%5onmXl ^'ۭ3= PF0C ^O[iGt0~I0D@~m9od 447Ez 8fe$R#in<8"a[ko.˒֣;37 ּ eF.aݖIrh8?y<=sMU< 0'Šϼ][m(lVåiXa*n1G=^ 4BO &1eP 7gt|Ԇ<>i;})懶YRY#ݩU->:gt>3Jat4_֑t *κ:yaEۋNs1d #8v5a57)! 1Rg~_^ .3}C{> \^%cv!a=zz2g%㐳c~f]$VE k~A%`t:Wa@Ny * b@Ę$)@hdR?{KcUЙLSaP4 ]K2NC<:_T9\:vVf8ILi%Q}# ܧ'hȏN)$gɗV&~LrRֱgEy{f$T鱮()!QncN'SjRdムtCIbgD{z-sOb8x]G?71+*:][{94w]uTn,m%$y+tAզ(|ƛľ=U=rXPDZ \>"%B?))pLQplteQ4WE(CU^!ѐ\^c'l d%|*k70ϝ<O&km3) Jib{`9y!kwpjbjwٽ|(QUxchI67O-0KʌD #'V rK_ka' ѷ7 ߪy=m;Lݼ6#U]Kl=dM;/-ru2GYɒPn6/_Zy%c}梚r-oJ(Og~gsr)m azCw}_@ƿ Ƅ2Jj*zvggrᗗqWr<vg; ЃT0 :mm!ſtxU䪭F GjB7]چӠjs&F)Wa6E;l߸$@!nG 8 QjVPy4`Xܛ#z|HMlPC*&!2Yqx\*A(vԑsC\37Ʃ'4*%_у<^,aX^$"6T,Ʈ#&184ڃR젍j}YI.^)2Χ&'881ѫg4Y$PxC! kp[n!]; |Pmۙ917d`짆*e5zù΅IAf!Y.Z!Dlis^k)sQű…1/g-Zc~I "yHNgQlGǴscୱ}@@/D4c="M괤-a?ww5;O vOH0C{3/ X^s8*Kqxv?K+lƮ +f`Ђ@Hq"gRnx6Uu@zA wuL饫\v%[n:Tj%_U*A9_-_*`y%R7?^ʾ`*RP ^fΕ ;;kxu+vo/ͪ/UpԂa$JtfԛDr? Fh[&a-ӽgG=XGIw`JEDem."{FHpW)_aϰB-U-BۨQ^J{="? =Ѕ[q[JDTG: x$ L o](Dz'}K!Cun}O+%3䠖QoF54dI0p >?{t!a[_ow]ƾݖhjE! Kb.+ hPءy {/gFL1mȀ^O;IL2rنWE}G~6N Xά'H8_ItL4>Ӳ)q:0nd}\ y=VϫBS::Lh=Ⱦ1up=t "d(U2{$9:cr f$bV[;y{t/0TFRCjp'?@Ȯ XIhݶVۢh ~ >s\S Fxjm9:<>Lp ?'&lsw tjAi|}m>K%3K|1> ~-jqs&P+tS%g#Sy@x2E& j\T+GحxWxzr]R7B&hJ ?$z-#0"܀qd3$li6c2G»㢋+wZIX|{8D㨧-&hx b#K|۲,Ecִ?62qpU4\`W&h|ؒU2ió׼ 75/,wk!tӀhi@_1;l0965P|k^kyTOI%jPjEI6AA[@ڪH|*]`B#tH:4`̳y%+v ^@:re9jNz&1w|ۿ$9u8:D eUPX; NآvxqLH5Z#O4GwrE{NKkgAVz;V5ډ4nqil]Ҫ(S}&͇aq+v?HGU αPNXoo=G2@jy랫KoV&=4̓BvoIttL)c3qO Pkܷj^cvc&g8kvP5o6gv0C,4=kT^Sјn`7H."fnѪD" ugBBaPh,f_ޫs6IoƮ;]t'5#fʚ/sИH{C-y揘+4 wN^": FMΤN|~JE(2x*b$, "}T§ X5tT̾Uk[q>F깰@6ux¯):v1eC 25HQJ0JLcHv]=ibۺp+k[ŬlKXݽD1rCfk1XSd_pM8WWpRMF|1Dĺ$%:/Qեj S%/H7oȢZRDX U>N" SgcW0g#=XQn%}4tFxǝ"㬲C*<+>QY<lg̝AӠc7J%CVu(|:@l+m}MtQ@|%+*< ܏88xT%,$ Yx>PZ,&56:.`q (yzFS `Bh\T ,{8-"bQ- :x=K#9k{4G\lҴg@jl_5MhMD>2ބҦbywI31Zpێƽ=72ZM uͧi[Uk`AI- cא]!7[ExlaZ#u0)TfM]3t ; ]ǘ/q.oZX;3XÉI2–t% a8D¦+ӷ Е%P>c!'{5doE3~a6R{nR,+Β#=鸑~E.2ÂE'x=LJ[Ƹx}Vr <2 ކ;}Kv'&LfS孼/Q`5TM䭼*n4ُ$7߈YJ;h=R:[G[)Xsrz SOvԨ0Htoe!Sd%Ʉg6ȞQpB<}~6IO{i8uiuSpl葵 ;Mר?d~$3ԣX.$U0@EW]E G|Ull\:PoKPKzLP9"5S(_(j#߄<' ak󝽙}7>@Ɂ_ވ=ޝedl zmal(vS,ѥc4.p l0B.Q'UrNWI.MUsS/^!!$y4BDpssڵr} t~Ũ81MjV=Apߣ$ՃrBћ]x=1Ƥً}ȶԔ^no'\ | XTiCȉDZl)(DŽH3 l>2V5SnB.`OOcVriw?ilLzh;DKكAW}ԅAC/_!x&PeUHNQKuz6%3P%Ij>ۺ)H@eGSu%nA3 wiPHJ.Zmȉo}݌S2j _͎9r?itp nۋ X)Um?%߈ nQ#NƤt'k=i`ohV!",___-]rߛ Tmq3ς.ϕ w5aWu(sxuBh45x'I~,c,HO"( %OOԼS>.%OTYHEVFr^o2uҺb\IE-G3kqfzt4tmʭ,`!6gdV1h:D%s/7c' C.xa%ƍ|JL5gq>á.WsU,=>a\d 8c&cxAA@E(n/ uҊD9rXE@"D"Ra컺VTD]ۍ BTztʨHF.K\i b-H`cgy/PKԪ*!uJQ|Bg^AcZg"  ) J$̖;5Lp|ꦕwϾI#ۥ̈CAutx$/D*2^S-tc~nB(#u8: ֟NW 9͸[eʚ оZta(c3ݜ݀eFoB5`4xJRN8*3gILg*<U(tK1$AAYtqE`{“&W|_zB ȝ]{h(!os)^o򩌖xNMha]v!1LiCn}ͧ7 9rp[t̸Xm2SjTJaM=,i513?[pQ7`扄)j#]I*u6/F1exytƴne9L]}HɉvS(Ye/PMK»Eϻ_llQTހ!!\oLJn ""r|A lםq$i{dmo*pt@i2z6%Bo~/а'NG۩rwP"\E{uFO0C 0Ʈr5MF{ #]Fx E)ą$Io:=Q{tz3Y^wdgNDP\rTU8Rl`aHWųe˚y}ޮhRWX;t?{Ӂ``S0 ;yfY&%:f ÁOB&.3< '24"ſ~ě;q6V3ܑiQ80Q*cnazU+0sc=Fh)o€K*, BEq[1esTZ)npk  [H@:rc=KnOiJȏi H  )T)&ycr$_ RAfp(1=?.hR9/x;N3H]doӾ/$@QHLA/x[7Ľj"h֡ׄU\ ŸR#Ϡb l=`v0@i/M@L 1V(rhr2۞`[zb-Mm-8WMSWt@!V%QAw4g#߂B?f!oFGhot`ơL5{}s6/dJSId_hJxy}WeûNd_U]3nbit*-NPBlfgo/S=2m קL>ɈJ$Pw[T䄽gW}z1KOհK+'!EC`FuWX?A41,c5|%|f"x%)W9O+ksrsyo3&ٺ/G@Ic]۔>R,Z *R=CrwigY^ 8\;"dKaj ZW:17{*scj̄d5bCe/&އ``_{ #uqo4QBD!m9l$Uh',ۗ>T5q4͔YLGι]3  p6cPv74y_e߭SjRgNG|%^r38OC z3ԁ*fDLI?gq:ǻ#X3<)y |OQI[sgOq?J-xy)m\,s x/:&wGX$tek]#7>=S%g+tҰ}6~PzU4-( HS<*Tk~S^7DOpqDzHyYv)3fO!lBzsay:Sy; M=Cv:Sj`LQR3􉾷jU>t4+_ٸ)߇5E4O:% &&!.C]WjVpV6XK"4:`2*6hc~&U͓! W8LE@WspX$"SxE/bNĔy0x,0*ӏZ0c|\ti]2ldft_#7~Rj4Oۦ曭mWST'p&/$ tҹOrF: VG@*FK Wx;"@Au}е@7phR]rD bEB}z>(ep,)$Ԩ%Sr]i9XF-a凫D+[.,ɡk'W:3+,%4xh߹'(:0ܢ#a}޶._ L+we^؅לf brXDEҢ \#>HuA~g&MӞqA$+DmR6ni.pˠdixpG(tOrfƬsb`!E_19*H/Q٦t'XWo;k=˗ `*_/3#5^6$<)yR[2%d0^dtzn\=)kĉp Yj"IGP,#j4g~7l5L=1NuE]g JHS77{?lo y+#Gak}E+eЛw2Gv]sۀ[??NZO]-E?Omr(SB0P \> ҼX}0i1XyL VAMtvB$?2xc/0X(m|M_e>_Hڭt 7"t->_qVꕓ@2Afc;sY<}#db)dG+2.9%>*eWYMXe隼c2[E:=kꄾ}ET/Z_5JdfV̩JʉqS۹_ MG; 3R˷会9~6pywTdlؔC=53Z-[w=\W&'X]ʓxHkQS22r<==cB#bь5rU$(#naKL7Ktd~3[} Hҽ[ ' M Y[c}?ǎDSd`Q/b5Qjڼ]=0) 㡀]n͢JOMcK=Kܴ;ZCS7 0k$F8F'A=c4sOAj"?PDyA=K[otJuCwjE옽׮Fюyrڎ!A$#+M`fr;^=ktHFOW\`8RfQh"H *n_D|^.s[5Pk Jq= Pi3eF3EqӪ;rX;⼋ 6]iHw5&1z.='D ;Bxptk}*?lt}FKF`XbWwZ_Les5ȴ0IG~j{gUȅЂg5q4u38Y8ޭ<$L-_Ac þsu3Mf8uQ*a&Pw@` ^U4N釜uQ!~ uyu]巂s{H#{|EscWa%}G!^l;}Obtv&k>N b_I1aGsڭ8HJhH|.'+m讀~gjC؝xXtMNHmL{-qN{8GTȣ.'N*0σX;èP'$w-0 +'1񎲴ߗDv͕ ?*]eM} [=X>Yۤ<.tim'ѐP9"D= {/Avx"|+ke%Ҽ!t$ ѾD ""( iP1zޫ]c WyKDk֫#/GaG YMy{Zf0232\NgcynRc I rL!#J!7uů>+(%c <;E%8 1iH.6 owZ?)CIn/T8M|]Ӝu@͗࿺`cz sJX-,[-i7 6QyWŕB ;)Yx0UZ3-Oa,. ZoGzogh@/+PM:v6 hC䯆:(y|zߦ' &)i3a4-X4r&굳EkZ^)m*-|( ΢WRE엕Vm4}Br(;,?V9C;୫aƔfO~A-鍇,!ݹV_Cl峥}BL 37a: q"6H}js3ւ> d]wU˜Ym!'RȈKp]ΘWxg%")hpyQAlRxximF$)ˊ>qPܪ@w\X=`reTD*F<:&uas:9S)8i; 1(lh!uL_l I<r.+[MfXv݈vcf^{z^w).W O˻񼭩UmgŕpuF\6CVq8p!2 my`LX30a6P~,j{r-:Ω ` AuC"Ʈه91bhKm2 \)ZW$2K! V,-q%t6^a^ ݊Spۼ5Nf܁%1@"qn@ē+qڂrn-ʪtoMS{UFk97كܠ 8}Pq#Dg_uy]J,ϓCKӀu_DēµfMv3HThdEs1;|+$GwS# F]c՝Z5xPKn~qme>r5 Cy8|ى r&^RߒP SBWikuN$@~>ȵML(=Dߏ^+ۮ'7veR:!R/0).ʨe{bnZh7"]?N 8 vMO92}'{x\@0{*#hX+ʏD\,[!RkE5%<^(E"6Bb:jL*<[K/N+^Mbg0Du篠)߯}FBQ"i^d45͆XdYzALG }@,.e[)[eѴlLrέw3XH+(DH&ت2[FqU_r 0/Zȍ7G-Z]/ۏ܁;E@3v ϵc8 y"YFhA\Zo&UHoG$GZRfIIYi}P\eC\Ѣ oc h?ÒA$$mOP}7g y2R>Ľ)mj) ̃LfXG|+(LG08FeL3Յδ;H<`O>d5`s*\i([-“֎卫P9Yso`'0|,գUৢ6QS~EUX@[}}\{_y,UT\R&X1dҧEKs]TaWWRkߙ 9'},G+KI̡*uҵ]Y9N`TK)2S! }COoqx` = ҒlOzۜ&/*d2sm ҀMo5[5&~ , +|]r5 =˒{u"Q䅡]H(l"c[O(,ax ( | pa'.w ,"F xJrG8 5wؒ}C\3:uuuW',c~02S%i is >([md]K8'џE YwcQP'C=/_q ĤшP)ʿL弉 Ks׌'푱Nhgx+F-Ip\LUweoɢ/ޮ~` ŮLҳ' 3?"U $џ՘6WሉY"}?muBی,.]YlfU ;GK&SU@óZ U#I/a/:Q8,z`%a`hcsP٣̸ٽB][N Ĕ0#2&`sl ?UyF 'AtPic!gYXDT/~2O3K&I^n|Yn&g5((oM?0R% P8ed |3-y]ג- HM|o/$[w,v@wdgO4p'Z~MnD /mZɍGۤ &L+.lWޥ6;?쾤]#(8nybY u.`+`uԅYA@_RXH WMd_4RkC4[ αzHݹ6ڔb32ɸiv@ƴ캄+6|=WaV ZdsD A/؂Az~"0|BnMR1e3yLJ^ ,ox*cK$:O~2,:l$=bv+Ii6}Ơ62L09 vEi6AJTn}D;;z. .}Oh\_g F^GrGy#")()KivB?T+r+#{Q!Q?7B 2A k "3%D9DsU6Or"%vQ? =Re|VVD[L9?ò'YoEkbUA9;RƎVQ&$)j<<_rڊ$_|,> Zi,E=P8MZP@JW^u$u\q\B R$-Pɲz[JMRXsf)@wa:+ ڱw^żl]c%V[m|EuH ;bYɫ#PIv &iRNkL[MlpHVu{>-$yknԿuIf.YG7o;RКGPf&xIb[/(IڈJn!7^-/`t7/G-/ZFܗdrni&fڕ>-[vf'{Ylыjͣ}N~)aAF QwF4+Ґ%[`CAPӬPКAN2 O.!Ę-1 J3nŧa1Ԯږ6r9lop^$&Oun~К| sNdo@Uۑ?vdcjPKpϩkEa*%_yG"ggyPǐ`>bh*z󫒺-d~- ^l@ʨT9fDyߝyZIn"&OCmv|"06.lN^m G X ο.27_7ܙ dvnf:3 fʣ"5u2mvc+?fyrio]**tjbAח=*5Zfg4s1*zx}2Ogd|{&{-Fɭ$"$1=.Z"*ƪ ^FP& 6hVngA&Oۀ͉ EN ROO޾jBy1ώx UqLO|t ּvk-މx/r8/o`P~r⪳]I!vlnVYT>)HeWC<]I Ёْ8T4PkTkpJ v=`bɞWo\RJ2RMTĚ?gEJlxQ_b Z|>;Zבrv7W$Gv=c͏s !l8wȏ@ 77xaʍx2DH{~&UŖO&QHQ y|M5iƀs=4<8k'p[a6xUJ.TjQ@z:Ǧ&.8`SFZلc锍Xƽ4] |<M@@e `T w$̫s9bx"]-:Uf}Ro~~֭0CKTČ?sn2R7ʉ LEP4r"Riy~ʽ=K%fp(:f{~"Yʸւp4RLQ%KUS|伤ͩՏ)5tt9GdqInim_Ko\F)eEIM ?oFW;𮄓Z9,7lDCǪ%t&Mp;t?+01*X=SQUVV͚db(Sdŀ,?fU &s xyf@Z&(0$%gUD;8xO(sUuUUaF'(ꩇy'x{yڸtG ]hϜլɈ޿xc2B%Z ,nYhszVXCVRctr=-BSZO!,Hn[S: Vաӷ]a云G]h'[D{kL,GS!nzҪ#9،ɠl /f  U>- =K=WN+n0Q4u$nB:I%#JAxÒҩnN8gu,'w$}h|B9VbZR@{3|2 xDv{M%J*NW{Vtdb탴K /S{NƼI]\SIumIv^.V⥊(<9%aypF ~1w ^W$[d-0w^uD,!9Df=]rarEQ)islWBEUwq oZ~]@D@1f6ǒ~ PƧl 48{#8IųNXk.0.ᆓ8At$H=36t9 {'Ժ%']#d65l^ [U4$>E+iԭ$%!1Ɛd>3`?''>fr>KY z>''>PcmQU.7mv>M_82+jX e?gIٜ~d*:i 7E/t~o+n6b-j;.#b[MShJ'T SeҎ,5$axY/N͏Q&wlF>C=+M/ @rj0m~.d& ϡ̎&m?m#F0 ps%]V6qOoYm5տ'Z1ϸ dv-Sgw.-y5;e l"^p5!W{kJMd%^%++\NR0޳!9ac.uU6e ^!B 5{ޥ"=c'gl,sU\E&i+IcqNNG&"EG7+;48 XҺ$vRg\QbZMGP,E9c),;n"!G6k^;A5FF#^xKn`Rs5Acrɾ{ưPXs:QuY߇4#bBJ( _{ A^B0@38iV)2  rnuFw6X!ʚ]|YG $;fTj4P>n^2#X&|ɻ>̺Q-3pd؈Nɝ$`+͋Ρ*``1^[R.%a>nH>3.$#͋._\"J鍩Ŏ G=_ͳ#AU"\-k} s 7Y\K[#s3ϨcX*$F3Pp 69Uޏ0vReiMW9८ɮ^p8R0RwhFο,̥'Faƾ J|M+UX`I8(vm jq,Q[~ B2(*6z,8z6r7)0N]#)(7h40֞'}n6P #FZ>jCQ+ (ٗI,^iK'"Ht6;&srmc3>cCTfMvzF]Q 4`أeQ μZW]z,à  @Gx1ּao VSÀt3|a_OC{lcy:E9p[ sw9{)QU__?|#6Z㐈Z`Fѯ 5g+QRN%R1's%ol?QK GH'H(X6Cݼ:XWwsZG@Dp`/(=69?i#>%| #Y߆ lsq@tJ3\p@B@GY<[+i'aa`!+:ƕʀyb. 6K\!(G"-#V?yEqԬ<Ooh9d|SWn 6L>ggcr@1?fv5`1& {shx{Gc*2WY旯:XSPU~Qɴ٢q)ERwh 6~,߿?4p~ ]MzJm2!eR<\11V\w56tEgci@M?ywaث?HvR1:rrbUپ@i^]k9Rrcdvr;azcM9?A- 7#b%t$_]qj qj[>|d5Zyuc-Z#f{+>K ń7RJe͛%4">jv< pUZ{Ҍ™vmJQUL0##JTBc'}[OSZ)1u#QCAʪ7B5k[tڜt:V.E)QѾ0K#A o,ߕ3&j\k\l()7qG夔iEk7w>RIXK~c N}?#K3!{4Q}Ypw[` $Y;AGTw0Y7A+g*IȽkf"H`o(h;zor%Y7f@ P$2\[q,YhXtA-e&ĠvZRg[rAL{-*{H/}=aɚR  hxmp? MAƩn-7gP}&>qm`,Uo=RפW~?MrBQ?J)!I\_C MC|8[ #>&chOS4KCs!}0Xf#2EF:3#'uص#W#ksY@Faͩ5ߓp|Aaf/uv"s$R#[~8-f7,NelΉ" {cWD;s?(kol &_ʵ/h]]J1`}w/b^}6י/uӥQV< icȓl@렾CzKuRZ5qvZn(wOƣZ_/*:a6ncwڟ~Bkς5G܅Y f/'z?z([ޕ$K}c A+,vhɴCR7 z[<A:j[}A&PtJ`tR0 -\d'vVX6[ m( OK&d"3~(#oaD_7`Cs8k.@`clv$WQlP* j ٬3$ /9y0 >3gZ ZĴ\0>Fb-ֵ t An$c׶ty/?+/M,ɗ0 O_ D oC-_\g@|y壞YT=G ,)T'm*"a"[O EEDm KxF̹4*ncMYf!,Ř,.~PnRvumZ^oO=p1::/9@Er9K2mJ!Woy̶X|ᵛ,(-GhZP!V9H>hO\*k.5O_<;jZʮtUFW-h&(NQD2+C4)=0豢"]5VMGb.DKJuWm>N o_44m8xԮ`072 )k HZ$``\pb@V>c11o35O92GܛsYkj/*XnL~gc"uׯIvLJr9DSFϏJh{<WEhLnQ2Kk˘Q>j[yn m".WT?gl(]Hh2gƐۏ_bf!#Dp̔#y(}ފo"yND\)rڂS_@C U?vM$Kμ uºQ˭g @Mph/h"4"Vүyڹ'6/KOk -ʋ=@|\&)^7bҹ:92Z֢-i|9}!Jez;t J.L꣧IFr<,2$%gAѷ?*Qo7LL7yR@.=P$|$ȇ  lrfGib;;$YY>5F!>KpBhu*/3z0U˅z V;\up#iQk8仳)?%d0qe` Du }ߞ9.i5Z& ?173}yz̀Z ߉dpvB/ 1x{]=)"A^jI]k2pvKLf`bc}Lƪ;YQxb|x̽j+/wa?jHAQ<~Ɍc{bGvm}.|v<Pʯ")I#*AԖ5 Kv-[;n1ҁ7+MWV! I_G2z@ex3ݝU9/1ʄyhט=͐6ϕJ }b|毕da%TsK"Kl R=sK;}c%g]Z,R!/']HK G Ñufc`!1IR_#;FV&fz^y'y헙26|ʓsoI.9N(%>j 0E62ЂJ/ " " +,:-FCGTߩ -hnR0-F)؎-h= æ+p|pX׿ mB.6rܫ}#H~wsXpI6Pbbg>)B3bA BUOXDy V&Gvf况̫#O8]ʢ%qX?քQ@l.6~dE{'PkiזX먲Sl={g01[El"qW݂sa@Q\o5 yN:w8X~Ιun3&p3;%j~kl`ȼ Ħ84[if$ۉa{_FlE'hHQBu_.|bH2vVю1Y > =A{OH-7տGL1FBlXb35iy~u3',Ul \ 8Qw7, .?(n0mqc]wC(s^=u 82t;I*NW`V5 f|tbL h0r 2-\ԃ ГHYyZnnHzFXT;R%iUcK2폒cwR/?c݉:řZ0SDkf5pDa_Ghy'q7-j.%ҹP]4X&Ʈ0E3U!D#K^}/|de)h4zƄ)e?.#Bs?X@y,lfzaI*L7%`TIxS'Gߡl"8R4٦q]@iK\cժ0tΗ\{8Ic??z;Ro1(XJ#{j-߲o+o\Q6-77jyqC@[L`:mrwz(޷T=1k~51Hlbp1)8 K4)p-I)^c78*[`UDFs!9n/87ΐwHQie z6r+dDVvOZT2B4#v脅AR7:u|L3{nдPoQ&YGW 4"4RiNe nwe'=3F4ۿ"6\ОlH o+/s%Z:SO;S~"r!c^=[QdⰻƦz'ɭ3QV{m<*lUn<<^,~*SzE]& t 3 Rt oycbO[wo R,ˎ?_[F,!T,E*P4΢؇b3'0tFf8BOE8 U;Xֹq?ݷf7P|,YG.) T%L%)q}VPrH8FiقXF~;.:,rW3 6TW T: \Y4={Ec4^N>͉'jp=lfVce-)\6)!1,N~ey sCM"T8t(3>vsLtL) i@GܘGqdSx9IFKP"p?js$ q)(""e* (COb@ni[IdjP}|*6(5RdFVC8;"t{祿yKxFLF8YjO p 8);̈́_ڄP ȶרney'zv@0μ:"y$5 m 'K~T60N+Lm ,d/EA_q$\ڮčHu5x;_d$Slu'I=Xq ՝.BN0z^u5U 9- s.E*\e,hYd[cUZdf@sw^eSm@T/=0ܡ4!6h@uKl/ZT][ hfx6uN[4[rƚN(> Hy4jDP9M<$Yrtş"iY_K%sQi:+itMzo:қAV~.mEbЫtόc8\i Wk"Ԛ]gfPw}U;/ToQ^膨PBV ,YKA|I:zo1"'[~]h$tw1 ;A+Ĉ HS8@kOVi7Y{=G滟+iX;=uɄߩt'U Sp/sLAc_Ѐ%N *A AE[z*%xTgz%תn$Sܲwqss+$PmvD^Yc}rMbE0 K'ܑՄiҲk"[A%pEg(ضsq+lW6ٍ4 Ou턵lRJ7 /ǜ<>6 .UQy0!+'bۍUUaUf[# L s(Ʉ_S$'G~ˇ9^AVz2fyF静#Θzlʄ̒)$ %ei*W;RܠL;oʨ ;5]I~ ě@$ݟfU4/֝V 2a1*D9WPqS 0a%v =MV6qѡߜ$4~8@iͺe^\*CwuHVctRqC%9VŒ6(߱[ o«% %/`pea5[+^W/hn[&wA3>B/Ad^Xg1"B΁iDΛYjSoC+tPh( ykta&L {`J q}-՘ۨNE$D-b׵_IeY\ך buwOX*-%Be*#&uٿ)e`#ZъۻKzxSX:Ea5oܮJs[)LbkQ*eb\fvI-l2ta:~ߛ8QkMU<KYuAyKQKoYBuRE5MK? N V w򫻡O ߽Iroђ¥MJbj4=nJްB11`ӌ ]dc*n/:w.YNIuGOGOnnў ]ԲĶ*X|'wN( -+0%;/#c UjCh-j]gq:WW9!(X|_Ֆl*Uؙ@ FZ?I3iT*'ePE75d#MUZp]@< pVgy[E!ȢpI>nڮHS̄oXYD++Ajƨ(N-\MVmU("1]yCtgЎ-x9eߘqdN~vs2:9苹N*&=PGAv \po,ƙw'|6owzEv/>_+= c.cR6}8,0p"Ds`& /rnϓD sko_8ȯljمvT6$(}+yyr3y|W2,nmtÏRA`]`Sfatق%pwɕn&b-CO;wĔ vh6);!4`"nM 2YtlI#*]Di z֘y ڃ@inF)Kp~*oL[7C_(n%BēSۢ:MȋE/Ȑ)y|CYA'syZP;d&,W;lo۷E:ޒ3! y # UoOMrԁqlըduyr CP- ΰU1ڨmŗ_΃2}"3;C ^E@o^8הVxtW$QPACи0FWet$1Yx3uNIڣ[ c}H1vhB?YОR=щvhcsqѪQ3v@t>?^9 pL!ԳQiJ?^a7Zk@rtdz GMA}kȰj㎒: =hMZ>@5UZ7%fv'7i 7 ⥐ȥ<F/:yjN7hiӤiǶ}!y}DE᭤ 5u;M>yt'B~_,%Hﳍ7$3t-hrKhbBW'xnXwKCG4Nzpx^+ZkYwx[eOjx̅ ]@Y@zCjaE㸔"8Z~'k7V WHKKL&` ef7V*ζ!ſ-e ɲ7s_2\S7cYIU*1- 5t`.rM~'F%&{xZ=4BgK_̩= ; e1anh~ST, d^?|T-}R{@K +-Vj&10)R/fG S y0+5rQL(iO6 6F?Sfi_tc&Iv  ,"Ba7Ezo:h- F"|'Dϸd^_e.\4*\QH1_ZyvKgab`"c6 d9Rߡh{RI kQqʢHPf6*g݃9WH қi=֒t#ڿ:@JɥI]ɻ"Er(sdv: c)IhW]`A)o;l>GH?Lր6Hɕ݁AY"; =LqG*]s!H0(td@ F_H?Ak"c yNLʚ3AÉz[npm |04CD"/b֪WK/sn8U^PtIuoEB0xk /$WM*jWZEcU uYr2U +XЀ*WuSۿ<جioX-v<:}o?B}kBl=ޒ5KgYrzX'Iew_ުtR@#` y.27gI""(* ֊&kq>?ݠd0.w&'r% 5_;dͿ7Eo}&@qUAfфSO$3FLO-v%^@sǁ?+oP' =qYf&;j9^3xO Y8l(x (K"}>A??ʲ2wOm3 nָwaDzkU52mL-Q3P.1T p2Św1%p&VHIq*`KI{~>1gް=B[e_""ϡv{z5%3=&:`+a3BB|vBcr3ʧP( .胵gEAGeܠ#0縒9uedc`Ju*IjkGzVnmy{Ɂ ,ɥgRpPunxvl4 4|$y4UyQT9VJ>wJ]Eav& lk*.|FݪΩK%Vep]G[_!s2 y@kBOw/yY%41.~Ν}o=qcԊ ={{é-TP z-]I|7GS.%>GJ G!\ӔsqHpѬ^[OxeFߪP FFu -⦡ܥ@w-nI_֪qj׬[n\ҋdXʡm@9X˔qS,C4#7O4T.>EdQLbc0a7P]=^!?WWaO L ͵ȴ_%YK9^|W I?Q"A Ϳ|! |C*}D`bҎ-#\@#mWKS;n鴏&R(SmHV[KJSa]lDxR1c37*iOowyO.) :3޼691]2:kIDJ,E{ZщVꎣea ?c^= &J; a)ãbz޷qq9B@b},ey)S7ܧƆ&`55`h讝w%>V4'8ʆ_ iȳM80^[aV `i{/ԝ0Dy̳øNU\HW>}+ZD2tPIr&pazsyv±{7$; 9҄n wˮcydl*n_'LU9UtAbCǥv&7}۩Ş%l$N+ {FbIrLlPG=pݕoס[4:*CAP_`AZƮFL!,G*+r YEK62j1z>*;gMNQO2 NVSTi#V哎%}WW((IA$ ivE m[LjEV zB/`Bd_Ul¾y =ϖKIV$PF K{F%:ؐ'{5NҦNҹxJ9oX%5-+Jیq3/Y~FN&"" _ 'j g*Y  es~3Oj´D7n+ltneKO}OӍSTzu:*}!tBdBIǰ[I]ݑ+” }Z_.r?ᅪt RtvyZq~N,gSa=&fqy(@fK2\*)t @Rpz!Nğ%d_%7Gp }C\:s[;6LM!^R E4 xFBI+Ա?ps6m//+A![(w W^qq٘ՍlaR#=4&To`LVuNl?f9Nj1w8FjA3F{;eZx<(ğ]6D[᪁|=PMYLsH[V?&9@x2O# " YuOPPOY`x!F΁E#gPNL9JBLi]g#q22CTP7|y>xz=;鄧`<u$YYJDhF=]GJ@] \2ܡlAHqzD8ੁ"BwJ碱/m b@xE^~Ë~XqkYW.R]g~b_J:0a7 $Wn$^( oAKUWwWM$]>s3L B LŪ ]:3}1o|²"wV(9VѩPlx."^˾ҿFY/*[jeFl%MqVCӬ.n wތ_1ޏJW1A%z p(N[ K.|!Ջ:*XS˩geqˬKA Leֆ@D _jcs,׺ŊE>(!pE'gQ=n geK?LEBwiܘ@k*I82B9S%G'N~*{v K¦|Tٓ6Oymt?Lj4cG܄T[ҙ Qd3@u5a$ p'9&}S#>X ̑RIg )]Sl*wDB]=QkbǶW>xdŽGWw'JX6f%+ͱ8KDȌ=TtsGO2k<<IG?,<'bNrA$\׊ 8kXrIl(VIdi3rtH][=r.1,lnO+C+u^X'{,ebBC]mm}3$tf +|;eޚpa,_ MTnXQ =CV'eyIq+>{sĒՂx*J"_خ`1c/]X*ɪCZ\h6 o`ү&Զ][+YQ<#wRpcThE:E|b[PCB] yBO;gN; rϚp!r|01ߗijUոWװǏ6hp=ਘDQ}hm7g_ WW|e;1%J\"RYGq+ YhHz5UDC>&lU+L{Lw/^7k;X1OF 5qa(yW>S[׶2J^0"?Fb(cOk%~k;raNj>#6x=tvjϪ i**}~ `STD܊GuP7GNUVwF1ut RCQ/c3iJL tez!ɅW`>»e8XɥY݀ ۢە$S9Ѭ0*; X)YXhFc"S>b`hx2:^Nq6p-5uu16-8 E.Nt 2[9T\꾄쾠ꄑ q>s(̵/;y[!z2qV`S5V`lUdL%%vvvr:,FVi/r|i[JCf)]:X(FqK#:Z4w(eRR;;;0ݎ{\e*1TJp=O*-$HY~X3s RBaHߴ u!D.nHC(ʶRտڐsv9u&ڬUSi? E.cXl(Hi]2tj MYOX#Ht+cDg)fEHZc)h%xw4k=-,Z$k0S,LcS V~6S"3WL?,JJY_엫!EIJd_?|Dn` ٪hTc6 I |˙fQjT!ud1//=hQE+94u8PqN XM6Pڒ#[-p u]`U !ef¼n0Aԓޤh~ ^:L $\Q߀y+rЦsn-"/rޅUdߣ֝/?G[Xe>aiBhi5q]}Wſ듺oo-1lW_C>;Muz6IBͷ}?Q(gq{- \Kwq 'qI*HH0luos~u:f=z S_9={!ֳYgqh ˯"9+h6IUVkW?u Aoy$1c pbP_,;Zk7!وf?|Æ_K cjN{hnRJZ-: ɟpLfqo |$4a-%?99Ӟ6('a'G>L~e4 ;7oEHPaDs_zDz8UglaKpɀ, ;X. LdyBAЌ/vLtbpi*j4+R4!$ZYL}z>J>@jQbl FB^|0Rez!8󋔵P8k\VjVs}vul* Nk')m15sKonڬz^xNqɆJp CsYV(^xۖ5Z#.$6v3dN;W:H||efV ?6`"0|ԪV("3~YWx#۸)aU;{Y; v~GUѻWgIX&I~]3\A@|Y>:U>jM. W̷WD+Ϭv ?(~*ȳP˾K$F|?ݾHl1BBV_Rzȴz78)R8/‘sz[y3졲lKq1ǴC$R\Nn-~ w4XckP53K,|xF'R'|Mb#ey 'GIdȖo" sPy<JI2zCV8+^yw:JP`a<32-02ETfqȍAΞNE'ﯲ"1&F~Bmn۳ T֧Y`:{cŽ-Dx3v.p=j$""b^[*@KqgI_P5^7}C@޷ F*IyED59?zȁ˦r@j8@ܴu| R6 bkd# rȘwg 7o:%@_OY8/Si*?ěO7B61AhC%Æ:T )#Ka<\E-jV{ B5Ҟ ʅ?Q=LHl56תj 뼎>b'P20~=D2(vϦ-/J?Uz~"w nD٨$V ̽.:S ON@)&`(Tgw'8έ[Ε ˌ L:\~v2{]]6rc&D פgɞHܽÀQde~cYHcS&&섄#B(I~Z&a4uI ͭ ^{Zk̫|΢ap0jc0'tㄨY!x>'>ُޢdDۏNUeTS[!F6 'z 5?%TqhFbŝbT7S0 )q+{g@F7 1qjkrn@8*>Zt>S湕,)EJ$d~oCKm Q9>VTѪK`3d/rU27gnT7 ă#gg`^7`T6QJ[_Ocl)/E@'Js ;%>bT{4"[P2_&f]3zŝ) wt ck23tw%iz 쪄g3RUijܬR&?}}D$aۖ#R:MIv )du" u6n>UgGŌQ_cy7駱2nnWV(H!"zzmNb^P&*`G 9õ^rYfhZez;3m74Yvjv)=8F'Goj>*fjZX`$%ATmO!vJ3٥)b0 BI=]=3J4-KO&QgܛR㼲7Lj5wtAT $&AM!wbX1RŤcZ_L!KJWIǽA1ljE=B7.\1HtZ/t@HU3t91L_KT* g=pf ѨIפn .[Af.e].t 2;b GJķd{@V:Ay7%*IDѝ(n_Vy產W[QzI'j SL YNv*XgNɋ:>cf} `^}Loim9)m-UO=6.Uϣ;#$X׳ÖT`Z1K9]ne=K!,j%0 հ:Bp6F%@7ǟ.7; 2)3i՗+lR߫WUg )5)fh+}&5pKșmk '@` w82T;::nʑ@|0TY]AO\3'm'8}ibZR. [ݮA ;7(N-=syJ<%}< R:js˦蒎͆A|r=7FT7DVS-ّ~%8K4|l IdI]OιdoN̓@,2&XTOg s\u@T3QH̜ F7]ަZF=Q 8|%gXVi_v5& ac7W \@5Dq;య,e?Rn7' } im:tD2tِ"VxHâCgIG1M413zgҾߦ+W5J x Fp^c{`y )S5,i()^t8%ȽXBAi?;[2=#Fv&KMaQ;u2vY&"wY^GFMNVJD ,gN^ B"54[w oT4h3 /07|.mZ2{$1Wvp  b e g=t&X"4#q{1U5ਗ਼0ʵbG0Q > d8 p] 3eܠ(DeW2N?r&xE9$ kYu!U@Vݨj@e> dC)hkjk>yΚ (ϔ+ö}cntg X=H< 2E|B|;|8Vmj0]yL178XHf;Y/7N}>X4g0VRs@(!zYΜi(ɠxtf3{iSe;{ (:Kѐs|HɁlp/%?"3܁1rBPο!m OCjwgv}i.w;mJRH날9u_;7k^͔6YnYh]biv(DKn>v&hސ@WY1Ak{O 3 u9dhLJKo'\]Q!@4_0 J`'fcRfi:ʅjFG"mkUrߪ=yyD?s'rfTBhe f϶MȔ_6%o nIs~߁.X*F2H EKYԙi_Ժe1dCQ]'=b_=Z[Fs2)',Xe7OLfJC3OX)72FF)nd/m9).dQN\%{NYͰ%?%ϐ n >*@"GP״Y86փ#Wr]jchƮyV:ZC9t?ObW{ó*r59nL{XJ(pG@O4S2mo󿹰TFy3Y؇cg3p;OP ]ayA2TDGUYv,Z;_K0OF5ҕz@ON\uN3iP \O%Tq.aˑqtOФtmp: 6f$`s[ l^m`V>Fya3cZE7l:.sbewsD)2Ǒ6%m/?.mw;TJuET %~xn[xhk=uMXظY*Qxenىz RsƆv+?&3H0re=^?V@D0v|و{n;N]oHxdK&L;vQB8J9E~/d,xLտaÃĽ:lm R-}RT: &La7+f MǸ0A?U56nR[36ff ' gzoˑ 1-gm3tx-?5a,2GTrLxX{cjfhA];ѤI;X;Z?g_k(2 F(۱H`杲ZTFm2zMhd5׈̗fP̋("I9:) (FXj_LJ]YHc ={ sS#!P/H.@N1E|!ez'RU<~y&ZY ń+w F \i8{%EX^-6qChʈ2{K)TP.\ E^^덞}KB ]w [E9%`ep[| el%_g~vZkvB }rC^(P.BJ"Pfx>!HvQƶrjO(wo>X)<Y `QIәMzCOT :]Y, 4YXFfi4xTfGI?ڤI]{y^yj&jg֗ҼiEf,;$vx;h?2Rf7utBh  t YpD=2]\:jjz$O@X%n Dps}d+q Mu~29,Y&~Ex^pצe߹*c`0OA(EIBlƎ+!dBO4/Y9k{jALtgsp>#Wsj?kx\Em"/NM lL2 /fiyt{s8M4?7W)U[d.^c3ȭ?tPDi]DΆm9Ak00JLRÙZ5S i 6Хԛ z0ȺeWdÜ1PXx<Е׵dŀZϗkt _p٘\4,=gr5XO^abOFk''|`ѿ*73aI"þɰ"e>nzjc1ͽ+bjIEndP,ڷzW~}Nkl/o3t1s\af@RވqwvI >_ ilid8RUC9lGB}c9X/}acr|h%.WxDyŐ6ḙ pLtQ[L^ʤ!aH IBG R>ݰx#d ?9I=j'm<)x=`Y"*/ᬳy=\Ʉ>yyT Mʄ:JkV}k -O,(څ /s9BVvm~;ar9H]pY?V ڮ3|`1X[Q.E2ɖ u`!᷀Ze6O;/'UI.Wj`(*߾;:m@,ڵ`ߕìS==O?k Z?I FjS[4~c: OKg߰p?/v0=WTӻGIz0+v@OY%pDϺw6  ZF~UCUʎ#f^w8_4QO@DfXGpn';JjgZT}g2}hf08:2rMG\)%S*,(Lc$5Պ'`y%6졁5XD׎54kMgu!󺘶gŅ}/1c33 '[j9q˻Ѓ[=+QCˈ݂ I2 bkJG;!VPc?*YG?Tşh`ƁhC6Ŝ..8-=O;av}>T# g,.6 0ly ~؞{zEM6dL dY %{qt]< W 䢮6+! `QW}wJ6 *+;+J 飢 Ԡe @Y ;]v"|b 쨵QB;ItHna+G0a79,k[`nNklT|Wb8""-IQ֓'@%=$<$1xi">K3 s@hمz%ЃҬ^'X\wnx+> F;Nr:?/wd/i2 COmG Դf NZ4}NO+La<xK+(馫a-[`"9\ߩAsURu&5rCl,8b1#yVԒ\}V ڜ{cTD ô;'QE<[` +e`L2EiǏaq38 O|> m"]ϭ4+D\,x;4VsT:o њ!e+<`u*E6J,%TUhQAY"]O=jG&9>]Dn^ UXH.}_\9}f\AG.5wͽ IKT++8, |hmh]!}@QY$}FJF8ks{.ξ$2{%LLGUlWfJbŃy (LXdPL_s632ʷQgo>ڿ*e2i\|}0H\r7QmpINͬ’p}sȃ7B5Rijk`PJ=["9k֏zjg m[҈:_ϱh2/uu[ X%S&,Δ}(iKan8 '/` LS{,)jٹO+1xkWC-PF`X`52fqh[ԿeU,UQ ;4¥-`Ct qXzj4>d Ŕ!NkNpȽ2s!s D ϴŢI,;o\0" !`}B/ccR7(#+f~au':ʸӳ={ƴMvdK'Dc ֟D^6d(H]e''P(fzc2E6E5Io$ 9Q,eq0H'2asw*`b_ܐ'^ p,d+j$0Bw;k/z?u*DU➃iR(5|)P#y8y|`3>:Reӊ9'xLC{_Y6;sf+5Td]k(Veo(vT ܔ}_~1#!%mA'UvoŽA6fAm*qd">ć|sh0F yO0ZXi5cmч&hC۞O}UCPWg@=^W/Dd.k ЮE| Q~ts3kc{okd/`[ ؕ9%XRa+³_p Pã=7z,J)+34=?,ڪp+!p $G>&QA}<c=}~mHɴ=M_d;%\{G{z߬0e"rEbMkԫtt|ۄ4t#+ pm'u&>f<)\rNSҘCF?M,zm%kR$1~gܱex癟tUn"BL6&^ˁCreGFH|G fx.9 pn8&_ b\~k ,z>hK8;}\Y^e G@|(/ZYr9eھۖvI;CV6:dLBKy>R:e&&*}Xc:`oiBG&:gk\L 埄2>a9΋"5%3`6*$rW24Y07rbH}9#^ХT٬;ψ` JHqP=aaYZW'd:¤c5>Sj/GsrDڑLEO_ӯPT}\S-a 6N 0oF~KΞLI/@̅ji*$^a;_/&YPQ@D>vnro5 7,eÞV˜}:U_[p9#_f°Ω{CZYh,[m~C@#߻GTAp! 45Љ>S0VnbH>pwG@[ ^6/X2M{-8ҽ҅W?n96m3G;s,٧̘^.4?an= :rh5QԒ;̥]C4N+^dz^~% FVMOЛ"5v^;5t;Nkjm 8R0+ݐhD短M<kes `ѩW* ɿy;&1^ >\Otb{e@/c\|76b26> q3b~,7[U'k;&gwjI.Be z-:sƏӏ=q6r_nh?qлqV6O IH&rG͍Nx0 ^*Bx1 2 t"*J-@R21.KE A߯/`IV IOn1 pF-&^QB}٣hP?#ߺhXRE>'pO ;k<(R$㾂o>t? wWR/M4zE 568bK0\_ ]Vs\-1׮IkZ{# IyJ?v/J9mC^_ӿ+/*' p뀘:(n[S2uETH>^'qZMj.injL/r߶W˦^_JL'E W6e/ nOilL^Bݗ,Ni0 ,(EO~6(u7rT֡|ɂ(aOaky3lC*ٿDFWA 19vKކ^$F-a ߖ/u/wq[xA۫S[jߕ[]ɖWNc%mj6eX[\T_Pf*)_{NA]YcGy:Oær#_sXc?3jZ 䏹v}.;: tqx&UY+yNp˪eeԴOҲ舯n>g #rA.Qr.?=,ׄ@fͷU+J &n' }Ӛb!NH+s_S~3L4x;9>32k%޶C9E!cRѧX:ZI9<:Z@fRǁw_Vwrt3n q) }ς*L;gpm".9y"hJOJ`Z~5fpN&O_L$)H?g bj6%m5m4.2烮 @NS+-m?[4p UurJ,6P `ݤ 3j< aEzJPOwك_tA<|;mQTm*;rKݚWS~(N7pk\@փ^S~+;Յ웚lV qDSr$- T ouQ&U eU;vE\qAj }>` \y/G\2ȋl ֌7~_)y2 W@IFcXfttcz.X!e0"aS 秄 |sƿu $9/HGշﶌ*6`}< -;aq҈ߕk^ɟ3Lg`U]Wjm=Gud3 73X 2/%NRILDĆ|Е,LxwaBgt˄}Lهa ][<@L)ApD2LOC#Śsm@XA7eK?6o3 x&B=9S҂*^ڧn]AUBN(kZmGTn|=*^`8=;ᱲWd#䮤ig2ˀUQPxB\(t/*^lEc /f9f q$F_"%! 7,ؙAs\VZ Ύ(n\N;;DGl4_x1~ٞWX+ ii MEi;w)yYGJHN -Ͳb$~{H~pRT2i/`1bo O]Bگ@!>O傂lx%~e60C4ܿjKUӹ|yV$X{dC|LLq{),tSF}q9r="L\̀Avzʋ4%Jl F1rڙCܳlT+Pƣ_μB #4阘ChH5K@%S@ޣ Yb#vFm#=㱁>ͨ b#چ:qS&Fx?W @ffqdNq,hhQSv@4~,D𸵂9 >o\ncfІɶH r,]8ϼkXJjW2Hzq5Klk0xz0Ō!E͆! =U{=Ǥy( ug1B.rfJY}^ha󸻼w_[|}&ASaƳI' ӹ8 {藐 `%iA}D>;&t+NG*YIoNE#hXR}24x#(gWޫmt]ȤBq"~Kî OD$8z!tgX5th@|TVI^Q ^\rxJ fF/ @5W]`5l33<+iW5/;{U/[[i.'E.N}37~PՎPshdg 1/-=_S}σy:EO7gxkd DAi:)"ej,%xA6Mʤ F 7iekH7N˟y)x {a5HCkf\,xUiar3nvjV#$dPrhi6ζ(ÈhV0;wDsʼnφVU!s-D_? [C2^TJԑm|g o3tlZ2kGVrѶi-)DW@ 'dߪx-w>2N n%4^pވ8 L/$͙~ڱ J# CN_L$O*t ,Ol} `7eL'd$J SsĞ葛JL9esyI)6pͯN&Ol~ %]46Llw2IDhN3kgwvu03H~ֶ=Ͷ~f~^SqGsg=7 >#=_ `ȉ_70#RkGktJddUWenY>yhK.-  ?gK,sT[H0|+:HPve'ǔ@{squCSzTHkHu QL-3g9YBT{up }5jiKS[MWB[nQ++g#9;CO\ػk/ʹa<0ptLyƖ|cx|{ 'FU}iGIr=XK]Êq~e}Q^@Zmuᐓ!-J*V& _Dp,=m4r@k{G>3>Aކ/{1J86?{bx9PNviv_Y=ޢ\r(**( Zr_H;B\2uV)% b*OL ٧GcAUFӝ^pzU&X=(=}niW)D3Z!ATT>mDUFk3A~MgkN=tt1źzM]te$!?XGye PzJcj]sG焂/ iիBlTO+Gk_PhWt!25Ax; g +x9 F\xLv d\r2xJUތc,G}u#&kmG9]ftB6o1&_`- OۂVjL`"~64MuLދ^S/Zʠձp ģ 'DzYY%Rn_plloF#%mTajebF~%J瀰$ڊR98q3XdFg6añޑ|e@h- ?~NPf,W Y cxdI3| &z\NiʼnSeR]п2 ϺXj/@*rjYA!BU(BeX,6G^>ٮ' 00=@@# }o#/q;xmzJ\X; | ƿ fazEvX% mI3Y֜pF̘^rr$[mu`qV%b~t/5Sjb`fT *Zڜi[wj~m:'6LG⺳2e.Z'5]2nʇ)`U'HRT扵kH{qLJ熳_\a&{v`&fSpRu?bE ̠W>:8_J-Usݰ.ǿP +`'5 iOY7 sSu*H;{㍔9{>B~DYxnu¢Ts7^a~'qeܡR+>"|~LU)s7{UPA̘ mt5;ԯaۺw0@(ûm{b1RHIe>TRJ+)Rfa7E{t@C A }"2)!f EMvc[Hƍ(2A=3mgn 2@GM-8^ k$D+'® J:ɔCӘFt#:̯],-CqN3EtlM?ڈq?-Iƭ L+O^ߩJGEt+:)t#%_ֻU2E Б^rŌD9dGƙG͢A ?.XC6f 騬 Xaʖu ; m=ѭ:eI|&Βr,&ؤ)MQvg!9|3ўQ_fS 2g%LD_Yoղ~ͥ6un۽2w%{̶^G]'Cu= ̃Tjycr6CM;tGD%Br=\[x4ݭcD6 f/)ǎk;fzS&ip?}95Oo0i8ήbS7051R\᠅&?UTF56幝1;:D-P7fePcfav׶=P\J".Qb@O O8M+(0Đ]É<!GwXUCEn bxS_#Q̊0KF&eI@N_\Z]`i>x)_ᦹx{_`5"fnc&m(E CC dčjza|k{m}*{z4_Utr+8hK? =Lh/ Ž;W#kC,8_i}{6u0{YynBs DŽ0Ӑ҄K%}jϧo64oA;ċkud2!i.\=S+cDevi$F-?0"&`%d$!iB, 1qa$ۧ/ oČsZ6wI2}2}hB.GazZJ|ۓK :ehJ{K\%e9*t4(3G.!}@ шWBZԣrLV\f$FEzװ6%zj뷾t,A&Ad$G:BG`v7yQEwc;f8tsY=-Ӳ&I B%fa))lC05,I G0 n3Ӫbu٢ [ q= )Jo{ ='k%͝LfĆXHdqaϥO@llc\>M0 HNzuBv3L̏Sb7_\:ϻ` 09nɎK]r=Bq~āl[9T:F7 @ngY cQYϼ7^ⵚTLG[r$Fdà"q1 jZ4߀wOۇLŠbL,4-ˑLBJ}}]X. P/-m‘nePTg%^(Acu)?>&RQQm8\1ȋItjXC䒄 vQ(I#JsBtDseM垮axr+JSXY%hly b@o]]1Y yL6P@B-q`djIEc#.;_ðL&by{A/FzS哬 /:6K} ߡO8@1ZO wcA?A%Lea RV^EHmZwD"KgǩՕ(cBv:"bHu{=T'K/U}*j3k8@$nG &S +P`[\d2mjre˷~٪cGHkӰOWiSF _fv T3fAcikW=KҀzaHm;/In?,bsN q(װr]rZ5KnSagRP$+ur*5g}ae7"]aŝrRݬm 96m/c/]=^IR~ nDsW'BD`EܱmX4aF^ ߲vD9 Ta78T |2KBmenZ<ep\+f_'?oKBӒF"JjRґٻ'u5Vo[#VlߐmC~<0## /?Li86Ln} S׸$IMᦼh/zd XBV=>UqoX` pe@93q *[Q] DwzK彆;$RҊ^&?s'i|IVA4ggةN Rs20lf报t{fꭸb8wK}V-Ru"Ɨ@iܸ7eϲ'ԷPv ߙoQܓ`Ҩ wR~iO+k cmO/# ^WUrC,HQ=dӇ"V>*w;ZgHaQZdrj,@/r[{wLhvһ<4z"[=s{<SUѤM]CB]Rud1ysMF98̌0~e7]$1u A,~>cG

    t!23G*ʴi tSEY$cX~ϥ3t"IQ9SADpW eST|*WFvbkyM3foܐc&5ޛB *C?,2 æi_G϶!7.h{_=:r`]kˬn^B9^R* 2#3S6N3 BuN{'*:&ܸϗz0%gdƆHٹ؞l^(@:q*1a`BHD Kl$'v;O@hsᵦah(um/V} X'En9p,nrWf$ AؽSZPCLWnZV| B Ѕ]8e螟0}EcR7&=O(|ͫ-/la)mw+R`-fYE4ic7e.c(dxי-Gbz~ÒŊ\aV?{%$ )1A&D[~7,WOPe)a{9kJl6X^Klpf":[3VEK5bd%x!5;#dńc"92ɊjP 9ۜтmrTy/%2YB4zh JHCk^zxr^VW"("y\ϗ^r/HC)!~{KX*J#iŀ3ߕ뎣An(KR<[JkJy/B[*n#Њ%Cgꤒh1'jIi"}z\m*bzi|8IJzoZL֮F1zbJen8`DTe'"JRM`Α_ uR2PՀ)jY~J3*`i:%,x*Qw1FB7D)ĎTlD6vcbUS>2GWR in;ˑ)B }?,^=?4P-qH.ˋ[@򋨐W lEzC 3hf:{ӗ@=dn[7nS3h1lJ#g[T)~0h16׌}$>o^۸`X3UKN@gKRW 幭ńXq\s!вLPo"?[J%oMQS8hr7!wE':zw.LB6xG}X^h4V5{n25v@8#A݉R 4&gVzF=* EjOnH7sACAv;{CVYBW øXSιUۛ ѯ|(jQ]DZ Q*{(;nSٵj_ij$YJrjvկ՚#)6l?<f(ֳ_<&]Q^_5r^0[YX~dV\%JgLR`SW-)'[ɕT`!jem V_ĺA$;=w7:- \|y jY"R͍=%rgvcF@1Ҙb[DϜ tuMΖ/1_ABED%(Vm!RV3 wݶ"Nq]}RιQ2)mkj( Qu+n`S @@2>%<۷?Ác6My:JND$*?tOhPjM㨙b@=QDm__U̪a]sQc<{,\z>p[k.1@w=%teg60֙9Zĝ?`hR2$uI|GciDL_֗Y9!j' CFm=m2 FK]ma%^ǛX_2"%ָTa~S+6g^ CFTRnA];ow8k֞nWIvs[ Lcɐ7 `kK\sZu v:͚pDdttf/OWu?Bu/?Y$ E_ W`x}չX_IHmD맔6-{}OG:c'2sN>]0AQQ} c`ljl,r:US$#˵H_sQ ijhQ2J"t3*Ob`6z;H@jZ8]x>|B )o3?meW_QRYqs;3vaR(pH-~jxG36Sl ,;kWP搀$LFACE78`„!q[t%"IE]l`ֻpp4%Uۏ/::;Dk&3 pDN ؃ixQ{zVƞxTЗ_XzSp,Uq]mJ Ě 2ԱT ٺwϒC6k =l̢Yg ?KtQ|>/G6TZ˽[˰#qӸM="A;,AxD_?#~ P m r5zS+f+*ΙڴO859+†3mXU_(m.u&:6$vcx~|6BE}I]#!;5.6MGR6GIT Jv!m<ˮXx&lhJ?kevAVtܴJyzVRn؄uõ E! q+OI0C6iJߚzg^YL7XQ{*Â{@oE!yfa=O W@)^kS50-[&7h.AV#O?֥)to+߂c- b(ju4*&ⲿZlS3UwOx-ħs,mc=h|\9n3Eå:eX~Cdc6]LԔBu~W˿5@FƭkB[L` 튱~*F:ZFܛރcbr,+$[ 5)XO>9pU͐;';>$Ѭu妣V2 <Sv`sΣOpD.SL?:dר |+9oa@SŋQQ+~rD)G ad.>o+F 7@ZqMI9F:p*K+)C}lqׄ58y|l 䢒.aFecexE#0\U.%4S mcL&󳼳X@s*~O4RL]fںmT)|.+NPCv?Q383t" .p@`wD~Zmf8 ~Ye0e̍(Ŵ$v&;/=✑fcbQ 1&! yw3Ĵp۾9 gsƌ<+ȌN"hYՍ H7uIh(`OD-VF5Kchj荈=EzZb,Q'H`'QtgԖ@#€0:*9:ֲO?\AlԴj+y}m(QoD讉U}5Fyޮxn{86yJj\6Fl_j_!kMtGJ|P\_m=tW#k0h%/ٗtp5U$/LXҖ0 3b^bfg~]¡FG V1ss% M T)ݺ2ej6XZ\Ax5ݴ*eL>SIXߓ]ՠsk-{/Op~pd$؇e1;;4oyŧJyҷ IbhҪ(n;́zX~ d}#8A`Mn2m޲O**TpQ*MG,ltBؽcK)u:y? tCaQVv= ].nV%/m"ǨyYQ}}ۍ@eB: ,v"H8vM "#݅Bh7dE/MU/MJ.DS TѶ.Bۮ1,i6_Q-l KP/2ڟYGԔ.%d{?~t`GDU[ MMK/+͸|dCrnO&Ze[fShL7@lɹp-)@HOKB [f'̀W"Ed'D)0:o0!͠4#`DD ej6֪uQӒ+kTn=k ?B Nj=+e8HmRr2!dV@v[n$2EKG+ț[IG'-vd7qߦ8SxXW9exrDJ KrYYFRd5Љ|@ >յLA T؋ s?ilf&FU}?lb{dKšջuׯKڀ\ _Ѯ,cT rrJ v@EYyֵeS (uQ$lQIh(}E:Ǣ}g=1:ǿI7p>28C#3׸.(REW{.&T|.: "@tzϞN~MUKw40^T t%; aZ۱l}ˎ-i)x(D s_b9{_̊Hs+[UM>~`ۯ8C:'>tM%8sGy׍JYfr.Ws,hv8Tt2π1sT4)- ޚzzDdpE %[+[ "v GJKREQ߃duHP%)v51ʮKȸH/tηÀachZ%/p5FN '2 _(QؤDm"nfkcwJjӽLl Lbwj l_|:?R<ه $D@%kkcsE";>;[鄤KB{p =gU#'ʑPbcm4r) ZPU9I֎_m xOP$>]!Hrl ̝(1> tiAkK( E*@p$`Ɩ+jaqbݖ|(M@U [D\o)_5tJFR5]˜b1Vp#QCB9#3rܑms V-)o؆UtTFjI'x{@Ify9*_*oJ§RnA%@Y y/37Ք)|q6Y~qn4pQ<+)V")M8 Da_ ?5~"x c:Sӥp?g{DFsNx?l}B=o$j鮽CpPZpH>Mb@ J-*u1[Qx͔n m?v#2:'ydGԊ;* *$zس)#,7ut֫%ԫ}~_M!z Ȇ9غ zMZ{R[$1} َ̺}6+|Rx4|{$Oa_py7RS|nL\bÞ(d сEgVt/x1F6|D/R:מJ}d\t2u8_AmӶ<|iKQgg5i!8]\r` ĄOh̖>:?*7Җ|OK"!a5)'ZT5)l$ES~ݵ7"Bpl90<Ń q'3?? |!lK3ܯ7̅0lnqZdnCupsQ9E}@`vQgp;g?l0Pj Sj p'#8uh]P^:9\c3\W2ԀDt+6{7 *E Z|M8OK.Jk!Ae5y`_Q܉ի{<f2ۀTze2c&|dcK2':Í$H.L%%#WQyls?Pd@v']gB pRZJ^8mrh:uۛϫM6GI<;G%sx6 ^8$\N+rkG0r}wC fa^%]1}9jUSŮ_9xV)S@{4cFC$L)I?n ouvT,,79gFo(NL/?PD"~с$ YNUS]VH7iQ̽CN :pi^S@ ^ؓ(B:S9D,pGJ@3"tM{"GY#@OjBmn5nح9&j"+fIZ?j-k0dZ&nA켫+ 0=-ǯ*cVߒ+e~',2^?BTejRV1+hޫtfjb{Kzn"0Tf kx5KkcZ\̵m6_̚cDFo"Vaӛڐ8[؁rxOkN/lq O^$옜Xurzyém5d>٘zCL^U9t䵓5e468M+\yل0{g1WM#آ;dyyC욮I7T!WXgW=٭rjbaRy:vi5'qb\/`ry/ciw9Evgcϡ(IR|vʱ呅Ns"z?HSe9EawaH:u.ҕ&M[&5DPQuq):Pg ?x6$9ϛwbQC i/FlXeڝdҘd9RG '*k|O*->k?r5mL\OG7f"_)5wʔF_N3<$\kfvM>eݹ^ WA>"ZrP{m~BT`ގN3yfyĭGώ%.'!ryTT~cyاw^8VqANp&tB:LsJŝH4,8kmCb,Lh/Y-.+nh ̃nس WIDt%3N^#U&Q͐PsQ:JdPu DZk9z TT Ck&"eUHO RHn d lLiq]os sOa ȼ,Cα6 3^޴ʈJt$^SsP19NiMл h31ay_(_.~f#G\&,v`ƶȽX!V I'W7^L8Vo M^oM`xЧ씮ͬpfvf5<4YJ-MI@u'3Qڶf?O2}]Isuwa=_w7eUXqE Y޷p:&ޞ,պ)-kϵ|y ,yh!^D ¸(kgLd nZEi# S暍mTM)͝}pzuGZCۯ`*BN9j%E)-סblpGJ(c?>+NUz#]>_ s{gbX={蕩wEi5zgfDir[nZvŰ]鹓"&rVO?k7uAb8깖8ûd k4k@2h5bHav2LIסy%E;Eͫ-'bR1q:$Zt*sC^izA>[xA,@]q}?i,Y7rbuI!wLG>* f,8Qzs}F?}R }~ԉZHJ,0V`BA~B7[*AN)WhQa?{n.}Yk`0n/X~,riȕ.H6?paluWTugg<©ƌѷ`{5 rV؉ ʱ'LEqԟ*u.KUxLFD[R(9^TVRp:L[3\b>˄k1(%y:iKq,_z9Jkp}M  ,nL{T&*8yi2N%Hv7n7ry B#Y!Ev%hWV9*Zu |'5ߋpZ֜[|ʠ]]FM*J |F'*i?kυ_r QǻZx*N{B鯒 R}:*JC"w#9Py⏲-#&5*?YR ,hx,j$<k_ !\M"}{s#p+@<… nW̾ 4`'M>4.gR9ow~~|a$(5"ʾL% w5ʟ-$)ȊE49otdN  ѷZ*G z,;x'#=#n _)X{&#{N rNW|5^˚*fx ˧,JgwхdߧkqP! J4l Să@m/mMeNy`=\`JzN(m*) <8gJoG hN`ֻX9%d*1Zw :%h܌_,v~!h ǖ#e̿]tBpZ8f=vf=inF6=Vʫӂ_ȹ8 nmN, ʤӊ4yt'ّanBES/JUխr;-.Ea5IDb߷ɈW: \L B,]B'vKӚ6jˏ4! ֟%Dė5;w4P 3p p5L^f: :[v [9N`gROCM-!>y/;?">>4љ8 0C@/-fƪkjaGZvp 9w wcC}F'[N} QLG`hCَobo<~MULZTd!YWV]FULZ7'Qx$9yC_5Wy1RFhg xxIeb/sӃbr5W!g);/Ru/My-8gʏuvf ΪRӗ_~6ӑ``̄ڿ-Zi!hCPLgB3ʣD2glg6뤣'[  ҉zQcs"ZCq$ zpg:: M((˻`ju>ϩZ6q^G<7՜wIw?p+:]uiBr`aܟcVR7C߈#hu.q0[-n!.7:q@qӥ`וfN{&AaC{ȳURy jJmNhWee[0N, QQ*¨d thnLVE,pl WuFMf&! `Wi#6~RGĶ$ې`*V\Иu\[!ͱ͜VAZ9rA]5ƭT_E$mr}QBp:^%"-> ?1QtøX#Z@)X 2bu@\Ft7(Iä%[})Yԍ+"rb_`c[k]Նby ˞4SbqqJGԳrB %z%_کG 3$2JmF[l Tdo`0Ov ׭ xR {ggROqDt\!sbL˲B =Mu.¥g?^ߟ\tQ x ʓplǻ",g;CpbNvvœi ?%< DOe83촆E6PE]3Y;d.8iVkz=6FEZU{#8%`4%KX*B-N#L=jr V»Wk4K_c +;s"]'zZqBzvQ1wwNTG95cHG'S!5[4 nAYgɓT'+f3ǒЦ)A9r}nnUIBވ@ж,>{mߥbi`y|PdFq(( a% TG/8o}WdZыQ%7y|\pHZAy8o"§Y8F9xVR$Q-۹϶+$׃&gXGxB(PH0\9ᅲzi;"lȕ|ԐucZa3벳ËCSFi.{ TUz䘨dfSkWW>ٴh&QHdQ*%Z}kW8 /ĥUԯ{l//(Igv:TPdAaKwh0 ݠ怨'(Zj '?wh++3K̟͝9 gbcQ;'*#ɔBRI}YBsb#Db?D}f7v?9Ɔ߈ik%]-qF8oa9i̕iqz,D0w$=aƕVlVR5k #3m}vq7߶dKtOy5GhHhE~Y{=%Qo0м\[.;z"aZMoPTEF9`eO-1j~Q^+[r K\ö_"E4-*KSK!l>EZ0;G3 XVSqH}$U'Gx S?>92y'lٸ +0;o Xȋ%M@ :C)u_ZDŽBdw=7Ҍ7&O qʝ7j'w&,AWˣ@Y>oL#DUk89T\LJ!.}RX2{_Ijmh'r6q2^}/o0*Uqo# ,p+IxTSj 059bChi^髄"æGJ˛U0 D™g<~% FF-\)w$p|1j$D0Du7v ߭V"ү?%'PA}ְѣZuxn ^n逩 u6Ț]e@2i9b(V~`'d@nHN^%FȩU .墬^1f=S!YѩToBK`_7uSU^F;^`OEw,Vo9 ֒ZvPF1HUNu]T:kEBH"!KpR8%n~wfHIQ[S2IE>$2}I@O-l(ߒ?u--:l]u*N}TxY??ɏ)2Sm<qpZ@E ]$qX x٩`^Jh>ֵG1"\G=aY۝E&̓f84LOJ(8؀vPCi-AʶK3Ŕ;@ ~6D鰈8+/8:r))wjWƞX9wB\;w%˓+\|[A瑳Mmp= iOAYfow!"pT]L@cJ|<L=(aTpWC'kexEp%/J{ۅ9Y!bќ%bEcr A3ኰkJ{u緢ZeQj/,E?VfE@ҦxJ)s2_rK(WoG^Njg?LvB4./Dmyч}+qB[qʹ"¶ 7e)ѹ8cbm[MN~Z(aܮb F+L H}D=D]\鳉i˘ NdPw9M' JÀe@0Yw-'@VǢ)ԷL }@wj[pI4dp?TŖR(qK¥Y%6x*ˑ< R<Ɇ-n1'5X1g2T-ŧ.lC-Tgw]({Lcl1%= 祡)z붐qGp*HГT5^Cˋz*1+& ^HjRfQ 9<+yHP^D"шX\-4Eeڋ6'A__ʬo_Lli]IUi뛿MƸ ,mB7b!@)&wDz!~Wk͙wpᗸ?(nG( I뽘3y xa%VehI 8 )Mn- Qݠ^U<(te-sBCbB,^p_Te#v*p2 }+ `ц<4Y5Q"e[AǬBĪvgz?hjW)z8<"I&g .-!8EvH9G$4X4:-j1%C~mDB[N#="L @7U؜FZ01XwsLI\9ʴXMKy~b~9ӟ?IMnߣ)FVVT7b]ʜd|! &eizvqb7'SmsJH(XE.Xj>$(׏^Vu\=qK6z''ZH_)xU lCEծ'ƗFb);!!~`JRAB0zQmYs.Ug @AP`A:-ݏ05`-.+ՆB!+ dR5@WM"j孧dZ==D١X#P j\ : Rf(KW׆昸"P]?qt=wXW/q~k ^M0 &'(Ca>';DȂ!oNUDE?aq[,R(z8]"}`uR)S_lҡHW؊eN'mC۫_% !^3U :@7d»c%qdy-6{PQ7+%rZm1Ɉ&ҙȟ0@q`UtŰ ) Ne- mR(WGQBXm"ab:Ӳ_+6J?JB8b&=A V*cD[8(0Jy JJgK8:~w$\7)}9z'4>);*{C]d~N!Ʃp;rhkPC <"rKe["B)JXXnpn;-¹ȯM;Q[YR 6(8 )XL?,>88wbnǣEzd5_E~s`i'@șÛl\6D| H_NG֥ SCu MjgUTz҂ y,S:ů0بdO{pciGA XD*Z1gOHS1dYiDѓ5eɱ?@x9xL?>=VٸB?G|,>!{\JҨ|ͭޗeM{Et&/ܫX\2& "*VTR#CCШ Gv401oEic>G]7"rWגpJsR Tz;t% t?VdYf+6eTcQ \' "]e7 ~/+=|:\=TNu;_hzu"02KK?ŨJV0D&3ɡa$StNv澒8`/u>]c/|PT&$i4Pb «*EoQ-mDi~H-Z˘Y#"9iF&05,%}j+/,]s#>LePM&">1u S+鈙\82S3 ABi<7wfJ9{} 4 pzȫzouZs[􃾉ٮڲTK޷(iu%0=ZS¾ٹ^' {[s'bHQa&ňwz/ڿ8Q[[~.] ;PjW/t.)I]}D`(OmUn@D\1'?1e9 fpBN(\9qcInb R DrRW}gB<kuF[B"y{50AXK1ҭC:DӖǑ7>OyATqDTo`)%dKJIےr4FK\?w̮ JZɱXr)SRIrx!m'| /ƷWox _T#_1(v$\UiTu]*v:K6{Q!]f?=e~4-8L .)؊fr ^=31@3פnJ-]9˽<չ[<5~9zJ֗xѭoi"\" }Nƕ>ogH+VήY>N|`]aULfp!&t\sR'FfуQi^Ne˳ռ!)u Z}/8 Ɨr* 6WOyӉ2a~E+%Q7qH'Hc{"'+NӸn_aV$g2uneb]v?u͕TYW~XŪfN(W&bxS-i)}s =oUh sK bnx؏kb\f p?!3-\e:D?A52'j4i3RGG͢ƕ|1IC΁\?ҙz`r3H9 Whm^hOoՓUv|S1r+VoC<olû@OB{_9aYVEN ĢmA?(k?)DX7Fx;ќ %Fp2HLIUU&B,JHKYPb }M(T>$PU4y'cqC4|n`$vi'pêe h[<]/5ɷQnR¾ #>וxӠV^imҨH?dڕ1 ࠛ.ĠtaqI?GKO;lE0(nj9H .ؼjq>l#JWDmwY>aجyL9D1,d|~;nv6r +}ԿiuiiŶׇHNľvgIld4 ۉ^H ;Onq1U⋝%Rƍõ~wvG0{?*) bm?xrXՐ"̀݊'B|ZT]AuYՄ/WH&# (2%qGk-taMHBu:‹C =aqJ7د'iM3+'h ?ɡumW*:Y*?y'1|Ʉ2U$_fG x.ېˉ@ [a׻gq)@ݭV\H!G@@=EN%#g*HT:j*\@>qN,PFt pBbx{o `8Z[Q9 FF*,6lZ(2:}yE,$YXy+>h@Y0ɳ'vݪ6 8@z[~ g8(ZTJԒ/-I{L{D 6R0!7N7vB-_z,n^)y۱DxP /XƚP`복]J #Ehb%$UXqz}2fq6s}x ߪ˔u^BF1b~~\S~e]o(+mhTbL$sNpuX;>u8>~og.X>)!f #RR!kzA,`^b"C; Ggm8cobWOU[A~ۼlOߊ<t̒ WRW ~/ڷӴab"Ce:(*WvF@ 6j|<"J7fh0Zli%f b 2O/sFSYKX4AӏZlva[ೖjVt+Pdyva:'Ao8swήYkNm `ǚDxQsӀC;f_\A~W1sL`ET:a-UCvDFAhBj0%nW/!ե"-yp6P^*E]VJ=֓TikQeWPv6sW$BY>{d$* ϥ $-6ꭎ(,pC}N:_9oVmua ~Ezhmi ?)oSK%]p. x|QI2j.n>j7J ݪh:t}mN]_tp{4wlY ^Q0*Lr7o }OvāW ƃx 8E!0x6BvM 2#I7"Ց"nXɑQq̆ }u{|1ra C_%k([ڻi*:ZfXUKM 2=ݺ9Y'65fXFkgcOw[u#d0YfLc{ zU]N¨#̤h>1i^nKd} 4 ~8]Ft1n+zc!5 @(WF^.gI&?+nȪ$Qm_qmR~ up߂:guP\?&-Ŏ'@zFN]=F[O{Bm VƝ޹8l:x6OU+V1wI N$7MdS:L6Kar}9NpT)> oHQ:zQws^Myg^yV%üu꾛o/evPbțM3%F6[t)[ hJXo;=g#(4b#< 5ZP .l^aHV{*.S;>6EBz}-qh7H֍f͏e44bbj03EMkT?-tBupTH1yׁ zXwu g=fUeF^E&ӿ<ۅp$^J5H,S{Ctebi5bM^ 7!'\ xQTM&_zIonFOgVʭ(]@KnRMnuX7M^A1]u)#<Hu#V=GCNbbϼ:c@~K`pb`&$֋#՗-6tH>U~@!|g{sv7{l`BL? ]"ŧ l-Ɵ;`f~uFEC9SnIy-"YT d'ˌdA=Bk^ ˠ9}}  @Xr%QVxqlB'sŠnɗIIWPԄ#8{&5sh=;<-cWF\s#>t_?nueN(?Ĭ;&Ah'V RNw}]˲P]#g!H'UNްmVEmgPEbp t<ך~UEU|QEN ͳ$F'fZdw(g/"rj~i+xO\r;rB, u*Q&4{9yU(KP̼jxFYLŽ1(lAAVVkU(}pK7_|c ;޹[I8VSN*Q2oeO~3 p5 P"(z<~l Jh‚j\OTHri[pQ4W)蔑dzϸ`Ze|ieJK&{Iw9_),r#4q~ ha&gc1 \]i|}`\ o ,ƒRI01[9%] xf oYx{yy{; 5#*K/V˾ޑ5e8d[SPaWDDsQ98ݲfDcc**/P@nG Pc2֒ 7||W \(s1!g*rlâwR/v/h56ʅǫIȑ Z^v!hсWՃ'ud7zWX wu )4F^@zy]C)u1Zný>VxyY2vxSV^:1ZH A\Nz5xI[D/ V#GEOvNik*c}MG~Y +eWG`Λ< m#=b~,aٳ:&^pxa |Bm;dB&,|cKL-.@I'nPg__8YJ}z/h%f j=6N 663?`=`.SiIG}ɕ1p8nIk.S#^Kcua.>6y.84*rqH |Nؙ$/16vR*xj*9A(|1bbd.z߷A|4)^S=|ۋVjYQ֝D濃3>7+Gd <͙]|mr䤾LŖ]3V|lǶs{RD@Kb?#xkXrgHv)(b53#tx4` kW6q~lkފ`.2_pnQ?z61Rg_Ң0tPS6A}JOy{㛰 o˨Qr'SuYzRq5G~U.x1jqzIb@_WW3"f4N4zl%,HF ;v?&a2</ei듇D/I=Ne@Jp{(\6#]`jE D~r1}]w) h5VώF`fȄnY1ڇG'oGߢ x>{X5gRLG횿zwzQR"awVs5@$n R$"Q37G.|/u c Օ[ J QDddAQ0S5w5 >`)ׁr' |G55d]oe8HN׸\w?B!aCƎbYH娤VO T'$NV~23I&mfh;>_hTp+V3X^PAc/,[BW_aS[G@q; {e@t%Bn>q8ⶋ`hL.B oI5d6I`Z:L'ׄ9q$ҢEZ5q,dlRv3s]`:`/V Q2j5 y)W.DIZl[CKؒTZج .wf[n|0dzx*O歋TSjTe+!Θ\HYh9NKA}k vfճϰ ErŮhM=0{!-`Hm;Z@-łg=1~NlBQYTSݪd=g넚Ώ ?Tǜ<!:\@Tm!GiXbl1 DJvY6}q]\v+_/+)~$*B[{kӀ Ç)\je=n->ȠbG݄ڤsC\[ @Cm8"(yԶ-Qd:!5Q4 uaXk"Xź傾[Ya$`oo}8RNtf*(%9N,ccEjv[TV kk\7)+Cǥ9b;*A;8c;U"m=U)XҀ z@ /h7ήjQ:iAlJ}e-P~Y"P|3jDKF_7эR-Z 9Dc ~"gPUc]*E!'t3v5ߙ3c*Cڒ=G.n0/DyY"W܉I>TsM礟ڰN0NX-[w3M@U#DtMkKh?5#~ns}UҖiAF-~\O]ӆWc`Eb{癱]RԎx6,1DY÷g1x|V_{'͖fA'rgrݎp5%,lFO,*˵/L^*S/1쀎Asm4{|ZۜL[fcf`8bL^jf imo|BϽeKf7Mag-szc]MM2%`m';Qvhr&Zomx>)^BhE] P 67w$>Û8eΚD؈!_#yPSC-8$[! DrH&<0[Ovfp!K5pp r1:m;A]i-ik[ݶ ܙZv)RǨNMX&Jcg^î %;.VCiOZhH{ތ}!?h4щ懶:*.k}x(~lsYn2Ճƻӟ=๥H5\Fm^Doh'(3Mʄs9e;lNz~(=HyW<9?S.MCqpM 180n޼uZr,8k ^աiJFOtfȡp{ٜ)!k `U.~WHk8JmCAɤφAC3z!z5ʷaWߴI,'iUeS:/\{񺃄Uf A݌ۄmj]g0ѡ˶0.~Zeض06a:1j)PPx#`D:1BuLϕ_ZC1'(kEo`.pzU4q9N/lǕd7;4Ĝj̙F|'q4ƴM!l8f@~oy>JYT!'"Z4㸪L!s5K*`(1U?Q?A%6$I@K9M,rmjŵK`.v+MnN,6~W$>%+L@d5Ǣ#_T]iX^m*tRSR UCY}ڬ&%hN&"W5[~Fޫ=p>FQj;s#kuȧ货^q?WD/:<ޏN[+N7x TQJA>^7brAf]yT%s~BQ;NhRFXn>.-Fqbg<}OKCPQ;X>b1]<7&6SkW x\VgAm >0CPM B_ow:͒\ΓrCU\$]hZab0rf{hR¶ pVN˧E4:z={}.<%Nd"M_ e~:)Ę| HPyη R+Mįm>9lv`kI1p60[`{6ZȤоYGwa@Y5uF-Im'%:?}9)ӼιEz?=IW8χ"-78?]ЎvD$19I`}Qfw,'whAAi/rzfBJ[$no+1aI,hH4~f3ؔ*A^3.{y1jV"4Wwi-H.^k^Șގ-s9"ZŸT1h΄yp8Vlrx JCb ̌¯Qi7|dOҾYGb$$YLZiO["kk$q^t@D׿;~h22i?cwԄOԏ.%] x E ~\Ą{/oӀ7eoxj'ђǏX h8RvTmKU3K-DN:lz~ǚr+2Uϛ5k3yzُ 8A=xkn~S :LD0K&#+bYnw&e`4QC$KxNh00NouqWSq>-߆^K2TEw-0,ggklD+I<?߰UuϩK,ct&蔉4}mtQaLCx8th ]t Y,O9MyXB:O rXu "^f0 .sr:`" K<<|ywx>MV$V]*|Sy9-t='#k ePh{j_; !R9G7}i?)¼&0'NRG8ܮ1EYu8=RbL8*թR|3XVptz?N೻tgj9E=qU-^ i [՘N35Ch2(R:=Wx/VmOs,x T=inUM%m{y^blx2-߇QF{H7飅\+L]T 2"w"J\ꙋ$Nk,h{K~_T jBlffڻDqunSrIU2:19m! 8w ɶoSgCub9d:V\^U'|pl՞ ̷FaێnKk&QCNN֬tp"AKh]O |8yfTKp]oii#qO_1E{6 o{DAp(?n=µ`@y =1Ih1L%JKu@:N%Fg".&\v"Ol >Å6ۭD2_R,k I nƗ%X7R'+9JuMv0 չeF&lS̄q=`{R )m#W(@5/O+z ?i%5,k"`.;Tsm(rg>RY?b,K|@n6 gV5Z'H~VU% L/,$26-!Q\p=c?HPuOAz}9>.MG_W4H\~CkÚU(gxn*')͸- ˂ќ$Q/kG0:H R+xmNuWm2;#$I$\yQsSFMqPm#eR+^}o PWT{-=dyC/CJ%V?^]Psl!E[F_ޡ;9.gb*J9ҡDwQ)+L{#5Ut$ n,a>mm|Gt9h{+H䡒f:jr">SSgmCt{XGwv"JFh'psbs( j ;Gm p:-&TQbةd$@Fx),c. `@k%ӈj)C@*#vGN3Un<ؔCDkn9|-p~N{ID8-,_L |t2Mv_:uL5}lըcdlz,[eX%ae^z/-b, )Az52 W|lcQd?3Le'9/\{pƞ<_Bn!USHw">\\9>D9iIx)We;#CK(N{VN[Ê-j،-0vA8vTM߂VζHC}Aw\I5,O)G~M T0ʑw"4G#ģD/4Ml~6'zّ8qB (fi8p}UYdoty Q{D i Q{Y\ _BL w:d?ax,!KuxEbwV6nsڋkQa',9xyrN}L].CQ%ׯuٓQdlME3a{KDXHAe>O p`;`s)ۺ1>MՏLYnGa})yxza93]9FO;WivͧNalw@#vbvT"@1ǔ;VϑݶzJ[s NV3@r:Ǣ`쯒uq5$;e4.$sYTm8KJ,N8~g)^FtMeSa5VҲ^%GAk;8`d9fa/ԋWms3bagƹW6h y/XLG%s9+lGdN'TOG-|ӗ[f#2P&σDMjyIj=GVpgq=4#9a8Yu[ܲf*Jz} %%%je{TO޾HQO Tǔ qy OL@Ah TLrppVE`6(PdfSr{xjIagxB %]M%ws80AfzOo_\XKrMESJ/;}@{T+.a2؆È t\˨"A L:\$%(pB}x|>N+ˑVUcBtC #U5ޯ2Paʗb֨*VO.[,[1+~z冘rQ ֭"nZ-|RJQnŧl/nۣcP߲OLE#K# /~P>߂{AhG?kS4 -cxyk}yAs4<,n`XM.="o*>$m>8'y97թ+DÉȑŒГv2v><PIFS}dڋ[nÀi*+W^zZtyB&gЋ]O4W1_ i1]FV7=ߠ!td:Y c]*pmr0zp[m˾ψgɼ(ibXۦёR6D2v7=dR+xp}"t{ ( RZ> 9zk -JPchK}W/C|` mwfF]Dٳʧptd>}j6JKgÄ dr" e>˦w<]}G/iךu7(4 &6ߥK4!ZJ uB QJ& \+ CB t|wMh@,Kyp'K"GH /5c7p#z~j_093 7R;0k)?ϊ?/⾲42@pJƅ98Z%SZvx-7Fw)9';SSaBzFyuRXH#LFQ C|EPs*+P)/ʘ65aW7t iꠢ(S4 hۻ{ઽhCȠI5x-28F4SQY˱8Gu0BMW NΝ*K<$\)jwUkj嘛IefmվƐ\q )q5+ݲj8 y lxa)5heXHIb(͎K[q%yԇ+>k68uL+s(eވy=f@U(?3Ŀ +[ M~mR}הJ+e!$e|UlW`ôz-&`A$Az;Z!Bh>Uv$g0 13-j1p Ŵ^N(M%Ô۪3{Gdձ~*X{6=(lC!8c$~1A+wt~ѮF0]2HշWn|9$لq(u]Bbع<2  j-PvC3+pnsf 5G:)0%"e\RKЫxnyw):HVeu/WBuNirQ~wV N(D!6A)S윧muXu;a@m-(+=ՄJ: X*0y+ Ue]*UaFRR ŊW nWeT{SՊ2NeL[w ֙=v,{bZ(.- 3i{?-4Z ,'V͔Q<&`y)@=evC*1lO)S|ڍ=/A#^ nj2h͔2!i`uhsU`FOM^ahc%v$1v(Cz> dȀ ӫkej$zKAT诀E|P~Fs_[XK%fK9or @gZein׮+B("l>7>r4αɢMX9̕ '*4P/];Xmxu et BIDp72l8ֵrmt^HvbмvҝaoB |o+-S?t?*X3T\bdLH:4X9"֡l]q a[ f07Kޛ>p6`-j0ZL<_%l';3VطMkQ+p>o3DQ_Q!?R`z?p{0 ,_+NPO:1Xv\8 D o{>A+[?K^XgZ8'#6B}R׉rD[ rD}~s';]=kP/o4oCu< Kz0ڥ>rb6pR)WylUN1Ҽ_ P' EK' ȩ$tI<8F*cBT&ZO]ϱj=f~h+(;ը]R Z%3;>]*icY -Qk^LzX'X\!хIæ]7&F,9\:6~8kt5ޅvhLj R`o|sMRb$P<|Q ~[0;8`,kNGPbA:QV+~n#Gԩd>40_+{@rR1 V }'@ u5Q1{vejuW/ {\2R9p ڕWd5^>C1b5r?A/:cqܼjR`"<=*˫Lunh tv.Xljvm 'e6ssj#БY9 "Ƿ GÓֿ)r GK j!K4\!㡛ϰOK84ٮsI *3(}+pep: 0s mEх&,vưa?{cECA?.moy'dpsVC O>.UCa)Cch&?ժY=Z נS&u8j @4-%kM@N[:Iai;&-s lntgLTWQl&cv$h [3a EvG@om'{YMD>*Ha//,3 K n):ۨc~0|-eb< R㖸`&r?p"ƬyR YtR.kA>Wbʑl%5݄ԀN_:1HT&6 ~UAl@+FW|!ڑm櫟yžsN 0ץH]줌-ʧ[vt3hbD[X;UK2r ~ h&t]0lqIzc? @,zވ`Jl͉_d+37ʩ8 {knk;\ mC+13DWLA5TD1RA)bbgS&nS _:_"s Gbs"A,(~tUtߧ`Wd=q\6܏j_Dc@& V7A]*505fgJL {S-*M:f1hBjss|efHj7rӲhEZwf\qzSc:)?bOjm>*{N3(qJTIMcAv[Ve*>^:7 hHh(G,r R$Gg׈Taط.Ucw7 ƼdB&^H953ˁvT3g:rӔ/1[-\%=m5AyPI͙#y;"[4h#N[OJݜ3U,")H:qPGIM]է.pD.'fC,:x2.lfE79=fP.O<'Hg)ZuS.gGvX vm;Fk?tLD޵5(.1 Ŭq ^mKi VZƹwӼĔ Vy"[ӌ=7:$&\25VpT7s\!Bo`?jnSqV)fBPhwٖs!'YV T}sTsşLGY!jva 8{|K rQ6SgGb32pe74Frb$cFҺ@b ВeH\":+doNȟN =OVY<JY4J|ULFMyh6 FIVF] jv}KfK gdaVdDwQ=`UclqQA8,CB:21Ka^P.}U\/:!"~>OJb#?6j Ih.IA>͞YwЁ4`_b&ޛw-V2]-N;_ᶳpx6e5DC[\G'jahf?VhBNgD#B5;8+Ҏ5_p_8U@C,NdAh:vwBqge= A/؆N'Jglk)j?{:yl{q&gOo"bhSkdJh^!A*6Cvp> kiƌbq*3-ETmGcʗ_2;.+IތCϛjjf*?5:,sӒ]0men' -@b ړd,VYbfu׳{?J_IZV8c*l뤉 1WpP8B0'y/ NnBӦB- WـJHnbO]<ގFϪ%3!gwOf,tfԋKIW4GZ(;94_u:oJ톧t1pO%.O0V}[&kgQL-Qš^ɔfjZπ#Ev1S&gܤ%Q heĽ6oM ^39eMIq9(\Nkd?NDƻijDaӮ_oV`ty ^.az{G9aQ6FN1|:0 Lr^ns5L;SF kW4ag4:ˀ(?[6aչ:$ :/1+%5f{h(^sj8$!,Pߠ /hgMxSj~x7o2^&v d @L/NMpM:7 ӮYhK"#?fBӡ0`Xgm/f)NRT<&)SVs,FC2oT#%Ni$v|M2b48!]7︢ a9# ~9+zh"~RIBμ~HxN;>V~ÄdzWOSMFS/p;}eL+)y5 \lɁ\on/ >+hntz0X f3GՄ>OVwFD9ɠ[-yz0 6; N:fp/0j]Ms~{Kaa$c08pSdMU9apuRi(bZ|$qkZ{5#BZS`G2yё=f l- Q eA }9f+Wye2pQ>6Rz{gj 1sl|{l!Ǫ}-LjZɹmf|*4^zցc׶ r%͸Qi0u>?%&e v+mmhG;d^"\.ٸLZZjyQBdz &O7ڕg޻Y;_k_|αNF>zKȅ r":' '`/ .l OgH\ CQz$?D%.txL))wE>+74 UYJ2R!-;8h tF[A6:v>'݊0f06W;y)1Iba0,^mJEGK"Gr@)V-0agpT\:%1FA4u)5=dM縒 O2N t} -'dM֝?a$V!p*5]>P׋ 2h-q$# ,p1zx?1H& DkrQmIˣ)cks ʵ _U]n! ww w;x*ʇ,_9bܺQ_BoM)#e?Ha$H;KD1.[_{O e?ԗ ?A=Fs$V&M&1m"%,^ Xo[y+Uf=Gasi9Bu=o;35ƑكD?zd鍇P)Uhu;ʐɉ>#Ըˊ#vΫ,F_Gi|[P O+lt\KvFB ۼB& (ҷ`,4j~[KZ>ƼAj{-­$㶈µg' dQ:QMG؈kFP׶gnjo:u(dTѺOL+ (xY2e` WSQҶ%yZ›QVD?WO¯O~bdOW݅-HQyز!ͦwp]-D\侽ޤZ6bTfr4\JUAu .J֑G7,WЛ|a*T׈D][fصTN>ؤע=M2xToFW B,wa'4NӨy9ZśPKR<G3,_l!OJ[{ѿL2r`IJvG*A66#YD+'ỆgpȞ&cKmﬗ榤YJ x4#V8z. H_lj w .d}I) LouN' 4xzeВg>e۴ M|偑-2Miu|YnD8Wva#EA!%Y2&6Aڂ`]=]1c|ɻA p9|0luhA:S9 C 1z!D*JТ DɼjW*$3*d':ͳ弐wcNsf.jdB65)wkUi e%`UZE$'l0pxm齈r .`zhM, 09%wB2{J]YP/H@2Z2EC1"ebV&զ\"D z(i "פ,/ݳ%o6m[X 9tȰ-`=w%c3ʂ<|V·`YJ6k8^eP8\/a:G+MTv!gϛ*܀z2~X[#E8cc$f7GR>)pqYl̢qE+8Br@( H+|l>XZ{{P_ k4fǵ f%\qCx0~^C ' κ?w 9U~ ߥze¬<sVOSNL,I%x\r+' ?2O qPy>fu}yagw-N$R OBe7?N򂴏ZZ6ɚVfZ1[Eձ >%[X?E YN2wbrŠ^tG@jIN~`jbՄK>PZ0}&l GYcWHƸPGļNf Y?,gONN㈜ ^=ˮ*fzٿ*K8Hg݊zg~ pp̨iet$Z%ܱJ\",$Zp\>97Nzn-*" B1׌']yMNݏjuOf~kCJChftw=~x7N w?E;7[(!L|&ׄ?FU&( TkټFvI<]03؅trm\6Pjq[%-eP|]9cMDN~p"PqJ;8vEx ܵKk0$- }ihK6bߥ 5fq}+nTn˚IxqiL3(lO*C&`d;8}7ڎ@u a,~XjPw{ U>Ei?q_Df\m#M\5r8Gy"hDn.{7udhyz遱I2xxBJ*RXtQc<- D] sғM |x05EA.CZZ>亭CW Б)nb = .0\Q\in45 `$j)^ˊIFu7è V%(c8b6@+r9>Ak`;R#j䪸? ?4$FlZL|.9bC⠠ ([\r3I(P}˺vH:Td!}?;Eu eeC]MׁDc{w+>[t^ؿgjfo/8w,ܯp^f#O)tvӷd-͛q0w_Cbg7[ DiYfS AiKwAģHg%WRD~@/*&c fO];A*؇?*W >4%ؤnWaNzLjeh6psy0j<;3t$.X,kNʂ;L%nT<NJaGx:ozzԋ9?=_kq(CT@C"7z{Ge &1$@ Ko+Yѐ\&LKd^ ;!.WVy5dtRY ᧙"̈kcO(ݐfZD|Q[yEcXէ+,}8SMugas Arxt1;XqB*Kpp >odMӟ`͋zI gZ"Vt6ySI^q[Kо/t#o+Aca8Zc|`Mj#x,7z5P~%{Ա*hme^,ANJ.GV*&0U &,T񷷢[wVA禧 +c-%_u{kӟ,P2UU- Zvq+S(23:{P[g-Z#0T2vYMMo *.gd*_f\B"q; KX^|]ԪPKrq4W6%u= N/83粈 A^ y:.n;0lr."AI#s< ~dF%}L}XuB#Κ!Hjzw< _zKL1DYFoע+䖍G4p^ྷRe:h<$8 |;G!3zQF*g ^E6]sQYئHl^&BXJn:iakbOhW oV<GC~#h?¡[0RgK "Py+XjoҁtAʴbQK;PC4cSew5]2n+aGl,k? jmRP0㊵Y2A|8QD O@u}]#liK7fq KTi7FoA>qU9'|?;) 6LDSN?\  %vneѰ@CgtqO=2F!B+;"-_ 7L˺!OzhK-VaIO0挴zhB`4(v? %^b;&) lve`k\Exѣ AN,̖G\<%`atJ33E-)ee~JLd 0lۃ;/-Rq c:av_fV>*̻2F&%6v؎8Moܧ۷[D"b9j4EI2)$IjWDc $I^c ?^5^|@)sCq?]HrbG[K]\n[⎂ל,@xT pz?G.ylŌ*4XXI|:. m^Qrw>*c& t1k oSbLs/*f$$X{Px$|WМSu C'=S˧SJ1"b~Koי[wǧ,R+,%A?[bAHXJz>Љu3ٰtț ۪VCM -R>*{ $ ~psMzZjbͯf=5΋NN%ῄlҪ^fB$#o{nδ; avE{3\& ˔~~~(E e>]*1d4[ 𲼞\8MfM'࣮=oYl&E.v]"\|3L'=js[#ȧ t ^a3LR8N5q(@؏ Q |zG. &)!ޝ(ޑ rs:zEnOa8y8嚌#)OwBAZ"VrI#(ti2NKP#fjTfz᧻L_sW2ȚWW ,GW?w"#ޅ;͐ܕN C=a:M-A* )nQBIG7]LaU6G53(:NgCVfGK6^Kq؝s%f9,@.<,}+Tl I37qÝ/NG,JxOq&P>QCZ–YǧWąq֊f5u`'uҖZc9/ی/y@suDMA1on֥O|P гQ!}>w@d&6N j&1_PgMƷUD=˼ ĭϘ+ƃ~+\zκ]*=}6Cz,3)fJxW w| ۨ?g2-b~uǾ,_l2"J, eΔh$x̪z-y %D@]uZ}l2HyK [ܱtc͛{*4bXxh:SB\В)A+_JJI=p1I^﫦zG)z`Xx6> hޢ FF0=lVq5c@d |;c2 }kX>_͞~GH^Bӆnwh#a{&:`FEa'rL(;1Zq_fu̅'Dc*j C~,pkˉ |=c2,odQRS`g񈲵ewgk0M8JImfnYhIcxpDNN{.#j ERG_[ %G|ejB͚d2/#x %nYV_CϔK$?QB"&ai{[ixʩVnKMY[iID[ZmZF?(7B ab?vJ[A$M&-zZS >y|Btbyĺx  CA[Gy~YEImE7 wy.ɤ6#VWx9E 7Edb 0*{uM1ATjn"0!68C ^yXFV0F([p޼J}&b`3baޑӳj*TK1HnӲ ЖL Ϡx ,쁻 o @S <ymvifŔo900kJ" AH0d6S{!XX^Os(#F:)*]d٥N~w*F v3ϛfU X-'d7VnhtVJ8䣰u</KBT)Up^1] ,մ5L\fIL|s#&NyO\; B(حc Aa8o7rX!l;~h#63TxU?3e(}}R882ΗF$.;̰ln·yvլdYEheHEP+cnC|O@GgH<&yhSR6M*(<>@_We&[ @ e7Q;Q2i̫f )qBI7)sqRlefʏ\e0dР$R]zܢJ*z, :ŭ m))KLKXtZԕ ٞy,~X#0$JdrX5WvIcf ثgh'@hDo~β+y769ı(<`G=cW( Md^,t+Vɳ2{.{I19>Z\O(Qr;i-O8{,/є( ӰA=ļ6}BuE=ܧ \eA 7:\.HpJ3ל`DJ/_<^MÓ8Hʚl? Eo_C3d5|r5f嫛$Fvc uDC .8׬Cq`# .j?ʀa??mǥKV &v |SVI$`/.k#z?NSW>sZ!7Ͱg֌: DEvm4uxA Q|8n|[Q%d0%nR{I(,7nyt"4fp|7K iKʕ.l@iKh g$6yzO itRDŽy}7۱S^w?)AzBk+ߢKC: Q6+Ax@l}0lVj?텶A/Y0c3U'KP"R0ZEu(+8+ СY3ߖ',Pk^aΧWP'F|JW|;,t5,"ߢ.x!Y-)^“bUZcÔJ7|nWVW ^>uBQ5o=n~=xB5"# G_oPQɐ%έ ;Hh6WKp7jtnYmR?)Ht~6R- L\Eׄus)U!i(!SKׂdO/^x q=R ϰS$SWS+ؼA}][1m']T EW$+[ײk&5&O AOɉujXFС4LMرܜH]36RPDfu'lK`7;ۤEH<2 I_`'-$g1vLlb!ȟ\F_Tge"?pz<5̀ ȀZ^MS4nGz~?8Y[G &8Gɛev2P$wۯ贾XpF#]RVarx~Q^`JZE2edxyĨkkJgMJ_xkbs]x%hj\P} _$dM̚`${``0'D hraLlMMS  8@!w*ma+0Ur%rN5@g\!XXh%b`,ySlS$֛jS%֨pqwR=Vr?7p#|JUlfDGqrTRo?G OT ?5V[S86lY[_=Log\YI W>~ YS@iJ*wuZng'c3CZL8 ?C+S8G얠FyF34gf?0?Ԏbl,U! SdQߟ,x o(or<%,z#Pq!?ypJV Zd_JR/2_vXzK?q x#*S+-uzvéI+:?PMSܓ jX65D :[ZkۺBd'!l8ٌ#6'fk eEWO?C&Д: f'v_9e2˽ Fg7U^wi߾]~Cxl?QO~PwDPJOyL,Jݑl`oAa8y,1dKֆi&Gn',E]R?[^3BWY&j +4@$@$ave"m3μ[CN bG/l+a;{vsh!KK_SR[$$ ʩXh!CkA@KM^kBq 0j{@*me?=ki3:+!Pl@w! )Pihchevq5R"t?b H+c3wO<-XW/}IgSITDazk (JަiB/E޺NIdK!n"'V~txj^%ƹka#7 I"{kzJ ^( $;DٲkRϒydlBI4xm aƵK%Q 805%#{G_$5ɫetlܪ -3QVyQRmX>{FL;M Z$1g{"Ն5 *Q+,F'4&k9rdP^+D-C3U0`\t8!ճl} n,?qo@7קmC;OqnNJfLAޝ*B+kw`/3 &|eF QQ^*irf(_zL lrkcz|Kִ[NtWiDkժk)W,w=7X< jJ$!`\ tns\o ?϶V[#Ae!HSQ"tJn !!gс^]COnڕtG!oYY<n}FȅcĊנT~9 ^ylCECj-Kpiezf!M=w^! J&#At xK2:J {c怳q4Dڗ-!~ľY$ݱ,YkyֱQԐ>%%? C4hcݸU\}ҍci,f*.8߂LtSvF]|1oTKBjG3!V*GB b''&iPs[B1 0Z<'фlR񃷊o~JutGT\qWiJܴ8W^k4Iif59.dmɏ_zV}& rb|NJ;Jd]ܞʟdQqg iD>vC3G|ٲʰB JT#E,*4wf4+Xet:{{ 2D BF lfz+2}_sɗZ4no3tE\c;<7EN8mg,V|w' ݤ[:O}^M ,Y <<ۗSqd\]q[ ]0|7Q{N{j$=J8+Lۀ=VY4>ZP5Yh@!FUwޙQBqx;E{trM3ݹ8FLŢI!L BkIEe ,عڔgV9~\|h LN88~<7x};ҪKWGQ;hN?L:슒z A;45q΁7ChAMI0b,.sHqӛ>]1waԂuM͜sdž ҩWg\i%[FGD_x+vh&y'b š41['B- wji.?~ljOdCat7 ?(;[\@zƑMHxhI~{C%r ^ Ż9TW}MI*k9/EFl$3FìX'$@T-?2wؕ-sv^8LL2›Bl`׏*`43\ jQ,q_bФڣjD^ur6S:8/FٞpltVY/E4͇/d3*`nNPUCaѥC Zш䰴b.4 ٮw$z<_i*m B[=MxmXDIž^2`LH"YA @].󡍞rCC0,#kӦf.0O];0Z}Rcdؿβ:Q}0Nf {&ŝ-'))0E'eSvߴrw\ȕxD,JUf㩈DEdkPWš~pI`$uw3ا%p05A3{JrQ+guu.`G']ڱ938/toWP4ߤَB |nLv~N6'PplZͿS- e ^*L=%BX7 Kl o?PNVY#K } SPߏTsdR6&\|X'_E ??Y"luv96CxCMr0l{Z!9qWLO`Hۗ bsB;n-xo7Ř^NGhΝSL-FL5G+WVԥw *aj3%<奎UR.e]Hܥ_YQeLR7tH~P﮳@E`8me\w M-5" ,L)llRO <5j@ D­’;iTXX\">aȷU:XlZh)m|c]t=ܾ B vK|!0D*X @VmfғΎJ,:[A>V]Lz&vDYʦY9)I2 RgR* p.HZ9hCu_a~ɐyXw)T gxmC?Tet:#&b,g9ڹX?-~!|؍gAawiHhiE4NSS+Q KjBp1X/tl N2|>r #|4 +Sٜn!a B}RM:|@li#&$Do#'U- iotgVegUaڄٕ VrFyM=¢2PPpIK$kYQsҢwk#?ofخiJ:/cnTO4bf3s{Xny@h6ztȵ0űԡ!͑U+j= IzV>ZIݼʞd28 J7p&CD_ӻmɉ:~|Yl+XrF#[CJJBu_uQ vd:qr5taOŋ`KY{R}HN =H>LWN1EXy2t )?'PFj,w?-NUkG(]+06F '-Z/g3ȹ, & 1&l'.Js?*XNiVr|g쒓F92<[K 9Eb@=l}YCfm=^ƺYF HJq3X'o7WL$@ҷp*.}oLL$z|uV-;So2Z ҭd-/ԴA{>i"vw,z-r #jW6z[Auq-._j7Vjz͂*께7?A.y-ޯAO ,YrymMe7a2'UŴ Yyu+i/FKW6Sw ϮBs6?[J2D? mS#mcA~W !=*/|}wDo'@.PT7'mV_[F1wsb܄OuB=L֍ |G0&.3a/#NLTkyE GB EӸƇ튵 /7T|X4l5P=G¥†8Mqo$dpaę;!mFX[Qs۝8D|yh| E#2Фl4jlY@nN&䙛S0qnWKe(St7%"WEU=C{&3hFbsx >IN|0G8 oz)EBM j{$orf<mu`􈄙}=.)2,{f3HaMVfL꬘6QmWM,Ok+ N  aE'? VpS "aޓ[?6K+k/h/^+#djf`p@1]Hbϋr+F _yR=bkD=*ji<nQNrH09q#Iͼ7D#+>SФn7ğ=Tt$c*qQȌ9.BmgID_,Egk KL>ʯKP,ϛ~RiV!&ƈ)╚̀RAI@HU{Yr;`){ݏ u|]-|ʣcӎ9)璻\*7a~|lJdYC=g GB_(;NKY}dSM{'4 8* MR ]tVFT Y>=1d`2}O*#FZٍ hH'\?; j=l3#}_,lΛ L >g,)7{zlKjJcu;*޼% TA@ NLjL ~!zp)wnq#no=kA̼#%8]'nedV1DU#_O0d껞(/o)=PK@\C!6V[sPdYkh0cGrELJo cnԃ ͊޾M@Q"NڣXUeSG6s;05~&tdk,x^@[INЃ^ gC뮤ha6g㸶:Õ}!SE2&݁/=V36+AaGsG.R|*`nz[>=m1J) ( tI&M d?_BvWl⎢;&ʮ N=d#[L@C5LGz|;YNo.?ΙaqDj/heʌi”55 Ep[BR6"N9؞"37tkŶZ?m`q y:x1Mw~֗zF8z nAQc߳x'Y"^i&Z/&5"j$(C u;:js8:1"CTS@Z2,;+qdD.S@1~ƁEL`[:d0m6Y$+C4Θ5C?0aqVVTpJ90І"'iT̻Zv}Z(¼MʾmECW& Xf g<ͨ@a¸q܀BRv(谌me?ĝ Ԏ0 W|rBRM(nK/]t^"k/{>$H{]m|BƲ8 !k|dyB)l I0/By~CU໭ lFFntB;?*jj?MS)7lSv(oKE<)bQalNXin}4*<gK+f׮V@NZ/jNME#3e=߀`%u&oBG %S]凔MR8p溦5E!CKAڂTil5@S5wu+?`.BCM0}KiIH-{`^n[9mcydHSG2rubsDs\]aEfX}tuO)  5OH9Kk2su3C?Ҙ)&Jc8(\*9ͨUp al4tߙ~v$q 2K3QBVE0W<ՐGT}ZŸ{[[*bG~hjjn3 BHЧ Ñca8| Y&$MS`f2u߷Kf/yMG*}~(v+OIKj %=Cϑ/lu=G<0MtJ;x `J qNԿMx8"C#ni焧'υ5QaP=nU!I c Qf&.]Udyc"GODWֈ==VsZo XƀWfwv6+5z? @"?# x *X?'48rgݘ Nh}E~/4EUws4h{$aW.Nj^$ `d*7=lN Ccg39m }A4Yٌ>Q?o݋`c; F_)=ҼIH*q~Uaլ万͘{׮7DUJd^,F)'yzڏ׎kv=V,o76X`1^E:W~M7ȱ:#io G@.8Ռ{[=':Z'k X<{(n<wO%T$#8RF ?6:guqq!%+t7n^N؉#0i7ǙA- ߽lSh)&m_ blWNisNI8~jS&&w e)DA]wl%u_LӢj;ڶ/dCh_yW\0|)o7|LX# *!mWVdESn4!jDV RydCjl {?|ώY@\T?I2|n @~h7Iz'.7~iW ) OS4(|N~S[*)vDo>Ր]jJ8*@_E7N a엦bxSnZs~,@yezr2ҫz𛚆m׈Q9z^,61?xz ߳OӌMBm ~qνMPxG D} jH8~F.sC$^]0IryN/b+ Fz5m!5!l''4}_&6jUab- {rVAӝl`/7U%ôΩ2C3ynt_vdL"@ JY`/OK] )HnE*t|]j$e!$E|ҧGml;mhHqf!5ڝVgh#[JS={!`i:r[LYVf+6ُݢ&:mlD+^na90DYsepl3$+L nٰØQ wy:Zu-3a'@ۡy{}{ H+<<̫| $Vʓ5Tlr%&Dxۮs w Afm|tOZ-)X BDi8vnD?fkԺ4C@*Ԍ=JZ wf~OƁC] *&r:Vbè T,ASwnF\gAϐZ VY@5ے վFGBb;_9S"gVb}]t` gD)5c0đ#=Y6ɯ T9GÀ\vU v@Ov0k\H߻g@YwP`5.`'hV~9 \dY1kS* }UWİYM1~|&wʭÞ #%|~G 3*;fuZ)aya"+e h,$/*0fhŕY|A(uzFL +}ԒE E-qER$L"?}Nz|LI{ꊔ^-{ O A=pyUD9!pa XhmJ~D(6|k6uSBohO!j-ؙ6G$ De 4҄vu[IF>T= 9x.πy= Rݛt?hu!j`g@y0IMKDg BZG$@&m!*=X}:aLy \kdnqҼ)/ ` p;+EQB&6k4Y6ldbUþd]j&l 8# V_M"߻B客A_[.S7z-?SK])e`RA@{r8FgɺeskVx? Lqbˇ D8Pq%t+0_swLj| MMn|o=ʓ)f { )dkB;vFhei+W_#凫6蚅 i PW"^SN-~ Vg.F3)u/3g9K%􎦭?*C*k1GdKӔ2{k+s~Τ}ҥjb^=nOvA3pNj+l./=V XBˣ j0 ˉ%!"'1hi CVe[U˫@{N)  dF ˢޕ-)Ig׾=fz$6j!D*aG^ߟ.EY |L>QqFYW邒CP歷5($zWPPgr"([=o^>UԞh >?dQkx1ͤ8 /Jy55+'k4-lZ>X,_vZqMRw?L5X11!*Ɲ#TԛyryL$"JP+ ']unBݒ ϯl׫m׳1oQO#~O"V Ym8m{mOlblABoY{m/ӹzuL 6/; AGb=sDgɧ2&c󂶕8BoϺݴX3+9 8kD7oބSU;hg!5HeD{iqMsf7DŽ_Y`ߣfz)z$c<If]ݜq?<WY[0e7vﻂZ,=); d5J{ oڽ?41HMIk*F~gcP j}DmgG:3㚎5fe,o3=x-e- }4{l䔺Øx[N]t4JaACuXw/W-1SXŗ,K$٩ xw$_[CCqT]J2+4[3Zރ'ۿ1p*CG46>Uc^woL#{OKߖJjqd35InE;$xWJ& ۾읣 6G@Ļ$WT;3Ь)${qͮ&1ВQ2);%Ϸ(1PH9О8PX4,{p^Kګ.q%sQ-Ca>A׀ڭV#Kp{r }-@d? JI E 3tJjV"ɏ^ [-`{@̕jaGeln8;xu5mƘpb|>NRi:N~p Gn΢ IEJRqL9iU5Bn5jC_~#ZwZ/$h.v|3f[.Z5^.gִbRp:;"+vd\˜Y( oNaKI}G2%X :P[8qf+ua_02rCn%Nv )KRb l Z'h~zyС9xTg~z9 ڶU#:JΞ:7N Ovh4h'S=FRy*kp0_̊'1-j\ך W]%譽?'pɗr=˟KA07oulfA•F|V bm]QZ#: R"'w׻j̤,.EM i,{m`-a =Lg?^1icw8# ҏRFIFiI1vտNK//aUߪ!гi(!B9r՟@PsM!Cb0)S،;h0UzW1LPAqs1F\ ^9ҠQ|aQ}<#kGRRLa5/|#)j~+Lܔ- DL`' `8n<ɞrս; (geFСo{jм |Q򌥨= #-5zʯ%#hZfCc\amj=Gm+­!(26Dcn,fzB]''L%J9 ubKܞxlrSyC+,G`1`,lf P*Sn=Q1Ҁ ^1PFt057&ku\OsŁ e+OVIx/ߡ } (#c*N;ahm͌ KUH\NOOP<)0evmXѿ: Fĵw.]jlnc&*E>XJp) @U`п"v)>4% oT#\&4y,`ē r %#' 2S&$GJDps~F\˖6ʏ)!6GXz9}g1Vbw{ҵF~ut^H|qWV %$Wc*,54|hGQKo^Yze9s0͚ )Mp'G98PX&sWcF~k׮ Ž3:YNn^Eexs:všNWB+ xvϿVp rw?5oNx.K2>wJ^锭`^pY ҅22~yLd5zL& ^y7!r~Ad"bӖU'۷?2@+GzC@VTh zͪSەúH;ŏx534=wϷ%Uxޞ2 ^@dׄ7FM N9O](DZ_U'l)Yhv ~[5 ;>ˉ3gwm@F"ꑸՏޓ4je]ηs _r@E $ftǟVA ds4J_Ļva2 <# :/m 3 zv6"oE}S(RdGc61kUdNl_ES$ eEH~/$έ>Sf ˢVEnX ~SgqGkLiXl.ꥊW^^i7mx( 6wvRr r)rw`/`/$bI;8iqZ1X84b^J;*8e5Ki6!C%Ue#\DX @!,cw2rg,tZNȊ;cU{cCዳLDz&P~􌣷f%qT|pi6]1"龶:6ٕ^<?5z(/ygwJ0Y8hL(FD6OvTz]޻(Ws`OH? yk=M֗ 8й/xn8|gZ3mք{:^a4+i[o&_EWXb ѿ=7vʯI^^1.KyӕnZs]qp,=o*;A?9.DžQŰdljǣ22eK5qPa&9ӝkc:Bspٷ٧0rQVEn])sk*}Z'RSʣ_yhzUR߰I"e?kj$MߏqT4iӡhL&-uDi7]>0rp.ЁD/[vVq"z+Yo[9wF& Z\."*]g| N#K瑋+F,VToƵn>5?ʒݠ1 @'$쉺Tv\Q +HkvrqVo䓨l?cU+o?="hZoG_"zuXr]|yIzOs1pC{T 0B7~S 1 w\VvQϒXaN- tEu,rdQև\U\Vs1~c| Yt0Pr]6j13wF(˲@WK;8a`д\G-%#ЉQ8;pol;ƨ/k2"֯Z62ng# Δ]-4Ex[X>0|6' OĿuA7,Q*]%b[[*uU)͹fM%{2Fc?]ofHL ozR {Twu 8aōvJ2og[K??$!{A/jAQj!䈲{eЯ=+VSGkKUtH'UTWo\z/é0IO^NO)6čF<}!UXhm*4]tA'm=|IAx -iyHUF 4-nX1FB,8ܑMmxD7;}Q?ZpqA/Z|Zi;WpCF1Ѽ B)\-;/uk~qo+)I;xa(()R"4,Jnȵ`H[WIU3Jjyl=k 2S~<S.Ӝ_۝sD|LR7J0c)>>WCۅ9)P2 tYCw6uH\-sB_*|eBQ^&A#!e7O2ЗҽLX,ha}1HXQcH!t/]i@(M] s6h>[v/"iצx(BjiV817GpId @fy{Y>_~8hzHl?j\jٞDsӷcZ& ~~'y T]IB8H]VWB뙅'$~7t.\;C&8gjs*с1sŐqpZENÓuHdVrOr* [T8XV~P!Ie'2Dvё-PtH7.K}()$Q &Ⱦ|jJ7"^9^ Hb)5dԖ8{]^MY|$yHI0׌.o|A,^$oL#,ZNd_-Aŷi[ማ TKKy4/m3s3ONMjq/ Λs+nt]=3s=ܒ0ӟL9Eps"v!?\I[pL&!J$l:z.~awe[O#/.VLTBf:kxH8(DعEXEK 9|ܻj0gmsA`ty˛7Y8[%A6j}_Ĭx'&hSr41Ʒ-*w@Ȭ:y vRb V9kGjX^}sslu#v= 4Ӕ<\':|u_83dfͱvrbel&]|8L-po<լr?0NdbԱ> 8cgcq *[_LPJ1HWP2+vK(dž.;.TjW13{;Hb+l> & bнEm: ab% 9_^S1 2W~U^chɗ!y>zK(Wx,TQ2ˠ ^9O~ H`E6Cȟg>_E |1^ t6; 0Z"ur37VdHl<&:QnMCcN{Kww@[ kYφf֓_cYE\ l};?pU {YCaNa#Fɘn6}zUP XbICٍ+NcM^M31}C< Y79M9gzj%1&t-VHT"n{f|ؤ.q|0+A>a {P;cc8Ԉv+ىb Q-`xܸKeI2I ^IdzCP3&ױ+XnʝG*~FQcoj^3IɏF}jݶOq 6]xpf1T>U9cq*"\@e^bfIN'3g¬iE@*G*uoTu҇ !3{7ڪD7.(8 :>Tа{<~d%a2edɇ'4 Hq@+ԖpkI-&<5/@1Fy(7f=)8dl^Bj %q+VSMqHyuahȩR:ΓYD_mB1d:7üFJ4dW;R/3U=2;GI^X!.W]o :9Ercd$* hyLf\z2=\Y΁ u;+IRt]N,v3(9 &55 gmOLց7 4Ͱ[AV)gH@9 G"SA#*çi)l#!k/Tƥ K_&gimt m6#:y@gƠF#gV 3\'b3by2Tnhj+gٟ$D \ě'Vzszl!̬9œGX+&td} |Χ`ww9ã(.T[;B|bG3B_y7Y։i}En_~!/4a:D ]XGY:G0'٘0p" $.+JihQgli9#%|FtJE[C׫S%@1`߁}׌e} Rt2)ӨVЫOޞNH(QCGb{vn{ x&: `]T%!^-4d-Y!E(]s.+XӖ`U;!JsU.id̞\Mb DOmͰTq9KK5w3Zz="u?w#4䊉'U>REVM8.9ƑQCq9r⡤QnҞ i jfˬ֎[iPY^|j Pg2gd%vF$JL[qp?4vKNv-F: "%v4xb"[~m!+\p]ּXkuX>T~`=v%C95&EyGR{snQ7l+) W*.郜?D^M {lXL?,۰~Uq{L*;~ q6(MB, jFɕi^S<0(Jg.I]¯mV:աkTfV1{la5Q>U A9۾HrIq&W0|) 0ɽж°8 WI=:.LE(Ɛ(!sO$i׍k0Յr6rN"}y1ހט`hfm`|%Y!ǃC<Hsi_Ρ6oU #f3 \]u,Bj:ACч MψCG)ﯓDKubozԥ^20u~DE!DU9Jk[('K,J[]t)hhF ]́ $j[.R6@#q_'jL&NM/oE$Z.(>uս -va[tqŐG>Hh. p0wu#h&^W 5msbbTD J XB^AƅU4xApn v][7,x̞-\s0p|6}Cߥߎ3^!.Uz0B6a+kPzx~!wdaS7$= -}`1rAm/8X.~9gM ;82K57BSdpI Y#2xZj(:s ԟ' Fm,>$@:DLyOi<ߏ3gU|PƢzB8zw>D 'Z4K% |_NxC`]5KRK5bw"6@WS6Uޥ>MIm>Nj2;IaRt'#A4j@3f%0fO98cAux)1ߊ! [M6Ijrr4Aɉ[J6Wg>F=\L ]W&r6JCI帴"ThrU^8q{WCN1ZQq4?3zG)`ڡ)طv fKS\4M'J ߧ9-oƳ}8ZڴY}Ox] \c[Zar/[Bd{% g}ojww{Иn6NR0lY@b94A>np`d1r&jo6x9fGX̶j!;! f-5!Ps@qS})Anںez 9?W_" ֶ5aI4fB5dkAz[=FX }:k!+)ٚk%hoN|mo |(QB6"-Ԍ@IAz{K#;,ij!Jxap]n#3#M]"6\Z,}@Njj$фNnsO]wY#Z:nZLƑ:g~&4@phѠӱ5ͣbI ` U|==Jg,u!ƚ* B௙.W7r~{ֻ!FI s7ZoWB2 x6 .{ b*>%Y `-}[{8?!lԶ@V%AD Aܪ(8{L}oS1(etYg@Z"IdwO|'tġ`B@˪C{rUU5VR^yh,Mg[ 5xnQaT3s~Oi*v7X,"S@)nYT>i=7<C߾gtYNK+yaa99MYUNu-mv ڿ|>b9-"TmBXu1xb7el_%!cͧ2sXz*Nxo3M2^fkA} E Džsu* γ*A>t B-~G5Q)DV1*ؑZe׼p޳퐃 5KG kS "Zw(]4h7̺WyYU7zn R6=֎NI@GaL^ѹ> }9.T 5pdzDǜ)O?.AJET8MEm n.T:UG^9%OL{_(9Xz"u9.L=:N%C5!{q dJB*/ҒxVۢZ7n#wz_Dn;?'Lط(.hKJ]_v# ev`k@|wd=U7 bXKw+R .|7 GcXlgsVjÕejTc}v:ޔO30Gc\)V@VL*CPPwtN %ڭ-#6?,r1^l _ zCt9J}ȫ΍g#?&!3A}32T%HӲ?'d>3ϴbpPxfsF '^*02< >xF'*B6MWaA)gx^Kgn 6[=z i؇%sH1|!1L(=n X ]Dzxvךz8y|ă2R<٢tY!)u}D=-6 ݝ L2@XrRh9_axn4ipO}N9#=4j$=0ʻe9Yf1q/2%juZ:-Qx Wm7HF \*#3Jg76YGv1b&d3 cS ;~b!emT-(>žbA 2_rM>'&cok YptHv[,ދ7K _71zsMU|n^6=3M4pM] *va;u0Ih)!~l2;%<>Yfj<+9))C|hPNc=x;)J/r4q_/vws>XױxL}8=BSTj ?c2JqГVGsmvP"[LN_iqdTE&M+P@|+M&Wu0oLoԀ6Lza"mXI6~4@~)! o"윂)s+1q5axmamR氥z#2 j%]r;ť{44|GXW:h:F5*u~2#Ր0쪳D#%Њrx%vf63>'CIw))_2=5|t \_- CҊ:[Bmu,ZM?Ysx szFoW)8fÅhnca,{H}q!wDec@LኬEnMfK-[2D9lс#.e)QG0L/diQm5Kn\)g#{Z@P]jrcGkdCj9 N#gghm/w[J,s~%sFZ!Ai{ʍ=0_ژZ4Y"P)] ~?J81e`rO6o]#DQ Ap_w;;:d:h\_Hs;eXc12&/'nOh꼸4~>צ4ê֓nN;#[i+ LL>1!ۖ)^ﳼ׬ 23d\T6ˤ˛Nzg֗Zϩ0ע{HqGjju쵖| E++byӹ6s| c835×m3FXȠ!d%UJǗƺi8常=>3V&g>'PNPT؜~:>PĞ\q^^]|8e$i(y%n?$zͻ^#dcY;3ac{s$ns h5-c%.tr 3_f$~Ab`uqh(6x}DKVD=yCN"7}{ šv]t΂ќ=Ru.tYMSOlL8ߕWG;C͛ e.S2=@ nAg'bMF 6 O#^)dEn-Lx\,SR/7j;kE8[VL`xX5;Lsafq+_ #3U> >L([Ȼ b]IJY.~:2^61ci wj%1;18즓[{+@\pfڱ~/ZИ#Fdf3:ևNE* ulp bF6lK^cu\KQբYmgܜOi a`&Z\CHwqzB.eE[Ed34KGI`pC`y NYM!^-qpBg piK &z-Gz 1؊ݬ]ٵi{O6@uef:bKӂԶ, :"E eR|D=H~OCmV73=/@;@UY7 g SVt)2+ڀApCֆ~@:g[hxm[ yinc_5u^]j1WDb0o c)VfU1^Slvq~Z=[xncW,=__L (7jP WCg.˝w2B\NMP^`Q:d.j6f`¯{~aihq)Y8 Y;lڌ g=7G B1%:e YR5;_YIs& 4u1\'rs,@B  c/o%C%~&1 U@a1[^BFeV:щk~b[ b$SjCf}9gFMpQ9nhQ1*c.?ff&gjsŘE\mEX–26R^3~1q^d >29+Ojꑽ܎A%J`JvB/ޡs@eZW=`-*n zFGooͦWoXւ;}L[Hvu( dZ>87XַcꟌL\Hwx||yj~rnP7هфTvq\\]2Ŧ@9+xod54}&`Vp/Z-4ʛ#Rdoxa m%. 3ׅ2F61dg0`db}fM{Q֩(V YR*D3hu| ]4Z[d%J;ٶs%a',K[L55Mu.%&V@cjc=B{VB,v}E۠C2P郛:AM0 gIҚ۵qBW1Z U&5΢9˹V$A+^l'6dA_?*Tw6Rjw(l]N_Ǭ-aU@;f56p dNUCGg 愹tP9GK]g/NŢM#NOr' S1("mi#=i:q(${,ZS 3FĕBk$*\LTt"[BUEbHə2Ug5"iR{Иi{{#Cc饚VĮl3Aҕ̸RNxq98\4oS^HͮdxxBG/ꂭOq=nle5+i q $g#ԶM HݣbW[7 'rUll("2̧$)˲ϱ8,$Ɵvh|"W@Qc_1pV"̆lčt_CF} J!͠6x_nt#/v8 ^<  9Sd#zog/{ F3vg]zU.0\aJJllg NەTqpb/p'k ПGՕslH15I5[k &CkJkc:Lzszʀz3GY'QAt0S4䶰z@#W/0vJv s{Yw#;dm\s;2\FMm6OڌK>GJ{]35uźr] mMcP|"Zap36񷢎kd$<4j{E2rM `1҃(enTY0r*p+aZE<]>F_ɝz$ tpWum䚲} -kwY<͂Z.E0-;$}& Xz`oLMjOf$Chbmcu%`vͥC\[JO\A'|/9Q Yvye{[~_?=}3oBsݘk#|q`D`GL1oD oT^06Fs=ȍ c0r\9FE||Ϻ .:wl5_[}K*gG e `o0hN^J8ep뙧yJ];F'\mJV33+:T}]. [n`a8lD"WC[n“wMaxeK&obvO;vɑFReVheQFq"޾ TKj FtA8e~UDޤ>=I8t2S"]UʂP>e;ɓ-oKМl9FD\XUrpY҄=*0o/c<xq",x5(xAO=8@q N:HˎC) ~c|t >n8~*!,g)Ũ/+qPbu0\XYtTA2YW#KǙg-Rv znZj>Hu2W%͑[;L/ۅS wFGüӚ}'BV%Ө{h ȿ Ik/PH wej"]0L=\kݚы!('f& 7$Qo # Q:9C87Dpi۳O( .Fc^3怆FXYM\Emdă@k:#*S?94Z' jcy.D1Gk8 eM*_Cb/bIz`\N'vjxl){7݀'^KB'{OCT'͐p|JۿACqxWk/k|#h /ͺ 4LL-0ń1T祐=RUj^yl nJO &F8K{zdC XN k&hCz5##Ճk\* jH/-o64u]m#;Siʙ橑L/Jg׊Dqc1&!oIPA? m}r"SHO7b$ݏF2l Z2sE*B9PU~l~1}~} 0 qw~\T9F^b٤ \9+-hݝӒzEP݉;0np lMF4UIհL,Aa{LJQ/!ul9x ъ?RY8=y]yMt$]BRzsd-00D #~2g)5_gw~GuM g] ջpw;FwYF`k/1MG?++'#wu321%' ,8@}EFZrl8%)a,W0o{Lq$*(V fդȁ?y yȕ^q%l֣吡hR>87:<7Zw$oz!Y |r uM#e&2u J~ORIv!a,fʁbXB!z*[k<1,.#e mYbl=%G⻘uÍ^8>kq`uiL9i&ā߻lm0uRNC+ha "379!ɑ-@knpH=ܙaJ(aGI=KZQ'afxf c<0x1%"`+00_$. bf|sga:҇\d-d 5SzCM(3݊VfsaNݥ~KY.ᖵOjIT4@;miSX߽ƕ 7'N$`ZnI4b6/^#00Biüz.~'Ze/)D&EI7)Osg0=p l?duاgZxAOU; 菰4`pGwg;CS ۾kPVؽҁiɟlrꮭ̯c<1 `0Ϙx]yݩ?H8F/L=+bx(TaCJZ3R_E%0wVs$fX90Hߞd9>_ jM`/!m7ks2ެw[[۵lIY;ۺ "Ry'.GbNJlP q$oux񔽤55VLTXvfȴX4l IʓS(m\3EΗ=}3֗KEF`68k;齿t#iͦ6V{0م,H0p6-j @'QIaPMVC5< -fܫ 6~\6&Uo|ô;@ýZA#GʧMC)\RSD5*CcbdfgZж6#n Po"pм·}Z!^Z򸚂T8G78Mfcf#k5bhCR_C :K):Ufo{<ɧyuwr>8JDcl~Ya p$6V"Kf_wi0syn^_LrD!Lŭ{3\K:X,*"nnXdMsUB?مIOL0&*3_M):rZ[|@WG/ q s0q2 -n4,#wjkK{u %\B24 Xb?>ٽWSѸƬ|= @ vN*ʦN."| 6zl%vU"7mndZ-A/ 5iMUkM wDט5"#P' e:\ʹ HB % T†&a, hiYgN$ Q;Ojڰa$ IRpUA{=uD@kXCٚymKIy&7.oy3 }P@hlxUWq'٥iKU/j\ϗ+h}x ~.jݤćFW'^~mLe(IӏRϵʘ*k$ ůoŒ,]ժ-zl OJ5a pL^\\uW|GNvq.C&^}xaeH[ʙu8s]| qT=L Nb+L^9~ }x| I-H$۾(kтf8! #\PlPߴ̡%n pHuBS oe\{va K5ˏ~B1o.g;&+2>ճt0/Cˣt^e;P߽5_8%!yxbAw4aK,OهoBcx*3y@Ii)NݏlP88X=1bCcX 9.B! ,X.Ut:o=_ <7  Uݠ'%*h6 <<ŗh9r,ͮl0$ϪLJ&mTD>wD "^9e<njåLC}v0Qny׷SB4wnk̇ya_ JP)Op!;֝^洳8Z'czHTHxDђ[|00WΩ?UPSy "XSVV'yr=,^\Ё2/ L":c6(4$ z([mIx<`E-ciԻ3)f#_t ɘ{@ 4|R32C}~av^5V/ n9/!U#fat> QmKT3`Q,BJ5[{aȊ-]W:@V=֛Io,ACG7'崏>+T;= Ār΋Ks#g] k.O=mPNv]+LEaTe$'QBՀm%-|+|j؞рϒ-IcE^U zbtOcuwSQ(6$60V }X 3cH,;(9o0[7. GyکQm;WU6-+\4âÕ2r#4~Z( 2U[NB %+Zޟ+ Hvu% "626]G#[IݳgO't$p"X7k .FYsT26)9j%/ YAwթI`[%#+g^Qۖ3Ubcf>?T4,aIHȒʸ4bW̟W@xzTf3bG.niai8 ,FC ׻ K ze#/]=n7* هTIfr-x|i?ؙ]/mpC-G?CEZ38[mpiEZl9lL;꿥!|={N$j&zL˞(q|c^cibHT?'z`5>m\bsV WuVz+ϔ8zfϿP~yOK6D?a1ϣcM0RLmo (7Yyhފ`Y=."=|-ud3@ ěXv (2B>7ҽBݱN$( 3$y饚4Ϸ* Sx-m'h>m5VfNKT|b >Uη.3$@F|CEWp&*7\5*oKhuѡ0 Şʓ~(ة0k =EJnv! 5B\-9+.SdVHeI"6"an cU*sJ N_GLe L rRbcVf>/'[N=1R]giGEeTZ3.Vjllq #n3~mv7]A,UpE7io55D|Vy(QϾ[UҶi/qU :71-,3%^a,ڞg9Pb=@Pj{yV}c@i]}zȘ臮8`+icF>sje)i{\H,A^:e&vpz)!q>UR/jI7+VY #vFɢSq@+_v؀駘2ٗ!bvK8$cχ9xm~YDc@^5 ԓRl\ϔ3G1(,]OnzÇ/TT~U4[M,GHRkw?'?M:^hy .A՚Ɣ󌥗,<C*cr_?2F覒o5%dYS>ٲ8ӭ ]D('|a( K&pV 5M@ 购Zw hwj,ƅQ=Ck_:3k]&s<}9j䙁pyus b-dJe|9hw]FMin>Yau5ǸP-ZZS"A έ:N1 B:mwSq~&'-k6͞ݥq)m؄mT#P̪ξtSm*f!Oag^{l+RD7Xq6kiÙךU!Gqpu)iI&|? Te]4U2үJMg{J/34c,5$DM!Q/# '@&[/wީ-e?d3J~/Orr7cyI_+\(cv2A 3iAz[IT<.t FRVC}kEP*_a*gHaj!A"(?ngzڜ-pm:ʼn {,KEU43@N0W?ꕉ#8ɷ"F6F͜br7] +9Ȣò^+~vvB|#;%C P]2ĭ:˱겜>EXCb꼞NSMJ%n ;2I:Ss t yHkTbi»Sظkxzwl)q<{9R`%)^fb6xwjShwZ/q[7\!='U<'ʹUH&.ld ֆъAqэS"7~~:۾Bx|9 >3ImDDkW'dfSkPV27J [(T ÁAL|Sdn 7R}_:B,;,Ty+K['9џXt}E|D)uFnyaY_L!˚*wV8[!cL|Γjk,'5L$QPo`?AlʜdAȉ/P!-2>Ic([50jJ؉#يu U%9RBɢ@!zokc(DM*dzԣָXRWQ<39vDCh6жK3Gb>Is[|@DA"kEnTQ޺/W/puI׋ooVGzM G)jڈ)}z~'"n: "4sOD]΅`;M~yrK4=h8ljly.UYv*09_E eP9'[ޙuN#.~,79+SorZ̄|4  e &T:  ac3s3 {qZz>h!B9 тk̀ɪkW! =g@p X,\M)C\ 6js[h0?*T Dzn km$vs"yMH\lbqz@kGgE(V߰=hԓY:kQc%ۯèmzu8+ʮ-=hEQɗՏS5Wr!C^?yYQn04&-*䰰@\~.Ʉ>NѸRf!ıWD·<t (n7-o/]Y.W{h,S%~zd qˍ 5fNv`p ];YBm$ {62dR *ق|d1g1ŇWRv銍Xؼ3%n0Si0C֦${,+Ew]]g ȧˤ7Ϣo]. 4e^9W/$Qi{ae)<{1mBl pk+/\3~^r-޴pϦ(Q,tYf.kpYBZiJ> N/W "q; 3 [t@_bmgX,}w\oó cJgsV,rhtj yh\I}<M-;OYEj0DeO{@WA7tGG晊O>'R b0 +Z|nETL^m ߘ{~yoMŴ`F *sRMV/%/^XY~UɌmRr TM|JwDžS>/]MxM?5 ?`(S0i^Oz貾:|c wY_'ڝSxr_KP,B}$jH7h1G3</8 hU\|jeu;F?'MYCu%{v 3lBGy-Xp^mw8jJۍsP ~/Yo]ZD\op\SI?UX!߿:!ZDt'$`}d x'e҂#)pj:tH149kmpG 2=F3# ؞Yj>z_,;ѼJ,:'DQRiZ419ZkQ b>kE4@ ]2VT|d ӓCwW/4>'8 ck&|̅fzdo=e_{ߔk7w,I&w4瞟r5ڈ=Կb.i`3B$>.'Æv,.>ϴB.$"<]X4Pz'b)ʨgl§$۾Y*$#WKҘK\ 퇭z{f\a :FE.FJqu74]T`ZÎ|yQ1@~<# 8k~J%Iiu#c s8@-7ݪžZtԬ̡4(%~PZ@"w^dKU#cj?sCHG2ݓ}S'&T[.NJ a4WS o@,]*34=k-bZ('&B5& NwŞg agex5om`Dzhe1a}ʌ*̫O}l'=oő8 *jaFz Gzԛ;ʵCpcMΕu eQS/FnŶW*ͩ=-sةaV0[J9%xQ ~v`|BrI1|")VND|KbNwc>Jϥ8"g`{'n1..@#$55 dz1RүtQn~B~)@e ([g=4`gM>ͼ[BA<@]7qL| ޢQ:EP[ov@)1p̛}t(n؃'1ڦg)7 |#}qll$ +{M.XQ *؈.3$|,Q[af$7P;[8Eehᴱ ^{8#(roe^AU ӷe djFHTP8SJ?[F( =y/lC"C=)Ji.=l )O߀`Mom]!ܸ|yl`yXd\,.rq̘͜ yU-;IoCx?JycJL|3bjUxvBIdQZ&ג{O5 .o}ly RQ%t kIoNۤl])Nh(uDrdQbP ~gʼ)?|K,V'j>5j9H'f 7MO4jTl:V7qџfylm+ϕi } N#~W:ҳ(y˄9Z$;m--~m2Kh!Ha'-1Mm3 /b䁳g}Q?jM6dJmr` X&YM)JOA{l>:Wq3F2{7 nz'R[RCD'ZNdFЖDŽ8 U0ZIj~;pOt0J̋ 5Zq~3i$/A݉c,sTa)puۓqCHV`Jq9Wdx`G{w;;F 9^DfqJ'gàZDXRLUY㽬" ~QSG&FEAEl!bRn+97=߃‡R`Ԑ:+$ELn4}pM`^ KE1y@;uf9o;rwW|/2wjܧHG/B/} A哅#JB4" +hћCh}&LT 3.[ Pb#ѱI+/|.<+C>u:YGz ΔbVLLxZh 9`[CWn_s"k+@+44JMcMݛ)r,k})|O4[q{ca/],E.~pTXNf>g)&׫gE7݀Xߗ_"7# cF<.:tkacR"9:MH́t$of7ѝe A,iH?^JV 9* 8(S**dp˷ ;UPYj&&'D[Du'5@S`A-,8ճӘ?jQ ))ĆlK?*fF(٨DYbnJq_gFCYu4rFw㎕ m(SWtm+q8߇:D9 DI cW3U I$fˆ*~du@W0xP[& $>qZ]M3 nx!19"c #ssT2o&6 x 1ىScd-/ wQEu4`4/Mx}w1LJpmgؘ} `Fq}U Q&ift(XɈ !Q^MA'huW" ToQ4Fdrer\!JwcX-|%G[ #4ڵݺ΀ Etnثo }AvXNIdhWqM4bg{ss[2"}dКdWXOM/7,S[ $ܡRGȋcһf`z2ޥWrGz] xktw|HBǡ0O-iv$͵QRy_S}&pEL杵5珅3o@d oCstgp_fCb _no#_$G'`X ٌs7L77.!mw8Z? cAP>>o ^rfKhTYq@pr+gݍ45®Ѣĕ-%)S͊g akɀOe?]nYLO~󁚢;h_堸X>'yt5蜡񗶭IrR#3(:g`_#ЖbcwWT,vӆUz^uN֌oMmr,yfb}`rCfèDbNЄKhhVo圗ލ2ܟk佻bIr&Pd-c .k[P1H _Ϻ|(A99)j2~a:<(56f " MSq\\XgC[_{DLGm< Y@xbM!r\dv$ƚ_*"ؤs& 7#([ vpޝیOqwv!Ȓ,a'A=LFЂDupz=Ģ<7Sbh4fL~elj,1nB("-B,?ԕ58L6uqvʤ#{eF6 ȑNr:FqO 7L:-݊ȗB 6.~3FC;2kf`8Pj( .46!~8KTD8ʼ:#KFLCѪL=40Aw$!pƩGnHS]?fm+5yMiy'2 pMfʢ7yȯ wV|uT2 VywsőU t=~Nd,h]SsSmc$,V`YGY윊Y\t v㛝IIld lMȘtaޫr(rSr"؈- WiWUX{+Ul@/1s{NyX : $W{UzO_..7G?F!yHz_FU ùu VUbE*20AA((J-taFy i3 lnng/77ڋa]\E.c|{xYjh%Ijpq)'Yo>A](3ƠB]qD-Z@wpBwe] "zSp+SD2wV!E `ɽđ >˩- F"λ '_F3|%"þEPn"4BK~i+gDuywxEtyy9܄5KxZ^#gd/%0it8UDzɈpqx6+JGsbγ١oep6¤.b_ NÌpՕA:-O)"t#" iYHASJl.Z훰޹Bӕ;\۹/6AD~z O4 d C/Ksq2[BPWKOɌѾ+vC  W t^à#fg+KN5:g9g%V柀{42K1^QXppQ0b7QWü$9?|hzEdY17n_|䷈#PͦqSHP˿A\F%'at0'a^>zhrU!_;Djc]ۍ"]'P2ZWj$IaFD ,lU^EP?iAEo,.4:vį+a5N Tm ;)Nʰq-B 6F]ZU+9gֲL^9L|N@mS9+.^Z~ Vݵ'wHAFy*$r9H"bPLQeA PnaT "TQxvI4gs?4KC`hN^ݲ1?|&$]LH]s{[GƔ9 ʅj-d\g>V{:㍖j;œYx͈5;褓=<o-2V,|*ќp6ش۰qjܱ}㾑Yk<)RsĦ[ Abm_#Mg#MD+mIJ]>zC_҄ 993Q)dy^.7=GDQ-<0Y~==x6Q)٨EͅՌd2}C:ws{_^S$ҵF[ZBwd1Mc 2p1ѣ.a {ђHi';4(T;R^IEV0g\ʽ`]ɋgkr^Ie_1%+&TǢ bn>~6[nQ LZ?_/;(Ԝ~Y9f"[s7TBH ÄZ1pjXԇTh h>kׂ/lܖ6x4ܸ(w!m3Q|tņ.pjHqf!ULmI!9K'-bt"ko;e-UɂJl=ew(^嵇Y"p pP*w{V'7KTIo.r4uT<ћfjWaU0 Sp|mP>!cf+2L`|gAg|K'=Tc+Y&VfdI:bW:f?  Euo'qa8YM?RMq ˠ(Q z1[Ҍ|oB,lYH 5}CxL\J`b}K,o@Q8ZEԭz,eۤYU ؼ/.;Wp !FCn2%UlI讔 E=)/lJTf`!y&doΡ7h?{2y)|>.a'o<^.9|#nIk0B\C{G~HD(h(x] S§%~}蜎fvaQ9yL{ ^݅5^U3i[p7i yeil+wyL3>[E0᫸JSMD #g}j ozmn~,i|◔U"a/sD1R̐m_^2CzZv|A xH<`v LMKf6\DWo3|H.5G(PkFz8F|6,cvQY-"q.Dka?d|K aLh]ː!_(X3 I"na|tvBkպՈ=(}OMLk,D ޽{ O~ir}"4r&z2!XWWź15*Z3#GW٭K:-ǺHR;A dCp€5 ![ cLd0UO>m`P丝 ִ e&qp:܈G}!!դ-_02_\R7Q0BN-n oyPA,hyT%Kl!,YA. @yZ>GO1G^ŒSLFhvۡe.OV1rDB"!h%Th`$a ymi{a3YC eZt-.TX^煢/_?8kM8~c05G@=3}8N mUK|Y2^N_ ݊P/ޣ}>>꼌p}督5Һӹl9\|_LR;Xx>h|[c8aA[48Qq3UbF&w(GMy(U1Sx^N<%S4t%,i1&$iӸ^^[GggRs^>F2(Ƿn _TP~*,$2H[os!rNhs[pwhs%avY1;#Ŷ:͉(SMgbDˋ‚jC[?92Le)+EC?hYQաALrwkYw+|a*mb4^:>DMG5#ö#DGd3\`@gqX0hƃPb$?۞Kl9*>91+>;7@+W)L by!Tg~qC064t6Ƭ1k1-`ɏ2uqQ+v!dc4#_D#&Iq︿Z$%GX:sȀ/Sv7G#聵zlF*m$AB%VԨ?w2b^BðC7rz*/KMvt% ?Sܱ#Ofq[\\>ǩ=.Ȩ/Yo2%⒊ʲ1Q|Ii6~ֶ̤ʙ ^ RU. `zprꮝ`fR`ӆ@}ёP8]JG(J%u؅X0f n]T-4@}fEilo88ئO o-!BB  +' t#u)BD1ڃdOb-|^p wJ'Ne2U\<Ty#sV 28\@e;jrAvġWz*+mfL à× WyQ&~U}4WQY$ZW|kD,*b]鳁CF%cx @lHt_+ SH="Z_#9ˬ$K`ajdZrbQhcAy#o$M:ggS^^jI%T¤N#\>R[Cpvy:Ma-s sq2ȇ4wu.* L:2nVF)?rʙ4G^. lL.|/G5@PmMY*[0wo33,KS~ؖz-\?A&)OK"P4wܷCT'SM׶O;~#.aM=־ňF ʨ92PB9HRslb^ r!hROf uCD!_ł+Q̪ͦwsBL _ OYrw/K>r@ϸۅs(kCe@OVE &y+lf'/~RW^!k'b[籝KtgL{S.r]Z8>=pLSu .-i ^xtBYx_ѽOy=wl̨,R@\ESo+'ѢEsaP? XU> X 9ADvI(ZӠ[GMҨDnn'x(xp9&O JI p5;۫GjIgIB"yD5ٖ5(}Э'ܤ2O~\SHv"^y>RW߯Z`1hVJۢ5VG&D-PWs)JvIP̌m>uP\r KZMӜ}7vְ014$[2[l aG4+#=\z-:17yՁNhRG<ûfvʥ#G_ [ˮWS)C]ǐB#"Z`k0 [ V$tgu3u03D'hM`jyOVÄ@^qR/JчwvJ}*\s"={ PM9h\xdBM`.4'4uhYwƚHC? Rg8":=DEchA$'gT; ]S}8 sH3/ Yş<`xjJ*Hf}X49K9F}q\(ANh}H_1|wڀK_0E<"Ȑ'н+sGDTLQ_^_spF#=,ą*<.!Mom6kh}C'#s>ޫ'medf\US8/f4r?weQ@{&C_=WFQ 8ִcoQ'XSOUnu! t2zP-Ei/# cƩ$%F}? (ɨѵ[/M>8+rnJ$x]%Ўt %4'4\vy\K2Ynw8c(]tބ?I-:AV絃\G*S/$(MSu;R#7*7)8Ps_*4Rch167ǰČFwW <ad.0kZ>: ZKs_=H#rZc(kEusjsG9WZOPg6B(]i>IEV""5OWb J<$2ܳ&[ܕd¤3M X1>%+fg%|S9HZ;3ʤǠ ^gk2Oͪ^jԵ3b #tdjYb\(18,X&!u&1..EЏ:Wr]:T - DcEZIw+ FQ33Z {v?k2v ؇snce<[c\BE7Q]͙шPO kG^iF8r0z+D+ߖ!6Qiރgv*p>NSP#a6BtN.%#Q+% "@6̢*˽[$:eW, kF+y=O L}0,"hXCwPfNf@ىkOwm61OǏѕ!Υ^yQqp>qil6¼k2ˢf=*J%x楼B;Yꮄ[[59٧#`6>^Q!烩TF4'85o:$l`ki`A#oxzjog+cи' 0A䔳 #rUQ<4.hDH= _<ۑlK;͑՜xdA ī?lq׏Dץ@3(k<| F$r~OrA'+^qp~EY7!jZ~#D֭ >r\O6eD8;1}\a9. ޤYiKK6$[=7+KTw" b3yvDɲ`*p]wxKf^p7!R44H0[+b)0-|Bfd |+ $3xxтWŋ\yܹYME{_<ĭ0050VDJ@ձ<Wnb_G@YXTSݽw:Oթ!%W"ҙoi* ZCğ$_{zwtmOܶnID11, |vSW Πeq[;,!KU`rX*)%H^:PH~Jϐ1mab҅BڤM%6FQ> Ykx3ۯr,+M4kxe?r+t):A8(!_*V:ޏdf{}ՔaI3ZI(G $|: #I>C?Ѯ`Is%KkGl(~ k9'i7f!@d0KR"Zʘ"m,T&p x7!Yr0ͩiya2⦵l;?U Gj\PAdu )WkQfy2eY׃i[7$-K!}#VaMV‰h,ѷ*Ͻv l]#ir'-VZ :H!w{c$Ⱥ{} pJox*0G(]ڟ;%0?: :Cפ-xìe֗Eм2lL5T!W4/'/S yfx K 'ه1f eТp^Z 7~( `8STYe-OCۄs=g5{P=DMX9$GoZtO[y޷"C3O& ~K,cKl&o] BR3S!7R]+Uxoé{Li$ukCw[M)N|Jl/9#jlpCtPrmBҟzRme\p_ U{ 8rKCu9iE6%/II9R(_XG4CN6>Rdv@ N11=pZR *#1L |y 򕓊ńm Njk`EC\4;_u(frI`CP-r*,;;}ϋv֟t@ XzטqW:: dv$_?@In)?Q,ۊMKыY_6yg JSj4VHH׻LBMGNR]jY$ ̚ kA,Hؼy &7[OMlc^>i)AϮƲ慚DvP\hG%BF;!5uMp#?|)c{S/v=I4(7YH!t-|O9N_Hxkg$ =nU*\E`PNg-P$jhJV DO,7EЅ4HE=X]6 e)lX$н+J`.^~D9ޚIR|#[΀,`Q z TR|7Px@X`HPڌ7fݚ&R jQq^OtX?QG+@Ņe6x8(0(әC)i߻q%8n"륁;,g .)ӯLA6t^ÈU5L'"Vt=QuKƱꌎ7;?*$5;j4Uyc~+yKV!݆*ſAs^3XD R]UI.(, ,; 2oU -ʛM?vWj^rVdf^R(H8r|}mA,6,֤cҷpQ\c3 4 cQ$9Xl^oNSᰔH@sZݼ?`'_'% #=bCKx#"iBURN ˝zHـJ_.H!nN} pճ*7# >NpQtX||f"CW*ͧO'pb1']W:Cʒԅݑ#tΖOT"ׁ' Y[J1s /tSMEoDs|pH܃ I!2J?ҝW$]a VaǀazݣnfQiD7i4vEFI< 3&k/9$bͺ*w񪥑T`T+X`E~=m aotv!gou3?P\ ۈp^CcP\X~>'8]hg^- K>m픒M[~63A+V9^g&^+]4Ț:v6yI0[Vf5 ϜԴПa"IqdWK`]΄ 2J N7^;Wg[V|^5 y ; =for[vP#DgiRI'C>ͫSHSwCz =do;-RgA~K}XWh7mw D hg&z6|Mw+- i?Eb3E{%()2mO=QvGm`N1`|Pװ*x2=$HfϿcm_񦴓aJ}Wդ^+ E>4Z h3=H{g-!(8p9&[J 9=oF"^A4*N qk7 \^6ۥ_ ͟'=BD)xLr>ܑ̆_9/ 4U˗C| Qd SYC3: dk̝|m&PGqu L9ZSL>c2Z[qiЦgȆR/9lՒSrYLCW ҸO}zFQDH]Nqe@} lhm$ZfyH$4l),q]`;&=(V{R &b9:W3;;/R>g.i Wu~&m_Gf%-SAUU_]_t9TE6V=8y`@nB[m8}5w/*"- zXܸlѹl{<4|8݃CV쐩Zȉ\&بAdP-EaOx,0anb.v*ycGoCT(şYGܜ=VO\ U{{e1x !9,v +R;A)ou?ݼ6x*1DKcE--7$JQ px7ɺ5\4FR$4oÚÄZ܇0&16/?.l7\_XVfPF>+C8ʼSv ya(6@PnP8Fw$$y`.o 11M޹Mi㽹Z% T=r;poAzHJJ~_p! "0$4 = g̨=~ yY>7MǶQo|ry+q[ ,FkLZ rRt(pBTߓD1,(n[B#ݏ2>S)*Łvm ֺ^@&~\h4?1#(aSR4=flsnj%aeZO zТ1ߥ (U wuu#RT<kS"B=y( qP[h@B3:wnpώ9o{B|SDPY4Q5 .K;ܪDU+ 8۴K t+Ƞ\d/X13P'oyP,؛FJ^yˉtY'^y`ѬjE!Lj!ʖ fl3 :iCw,o.喌>,wzn>hWXvm$uD=z&i`-VKy`hrk SrK5GӕW6]֕# ?7kϦ>|V?sz"kL_5|Y{Ry'FWqxْ뢹cA[]Q0á,\uVi.x@CgB h -g,]*~9/e{$x?T4TbNNP;д6KSHV::P()o kᬻVZxZNg~nrWj[r}>s`㤿0s)jS|<>5f2`p6P/rn!O5n6@bc {"h"d2䣤C@=0%Log~zuxE6*8%"9CI#OD]6Q![$r7 >pײ*OЊƮO{RU[;eK/7ۢ,5= ySR'žt !|TŎhV봴WR/j'hN/[Exsoe'{`aST qe((N8/,:N ~XZ/4~ Uoor["{Eև-K'^k&E"8̎Xр)EvǴ0g ;tF2B'G&-D0Uy7REhCJuZɑT?Էw^iD"diy# ~K;!\ǚD ]!`&hǭHh/v7 {X5c: 4ޠbN1&.6dZ;C&wg &?QJo~$&St|YF}#Ng^NJ< w:#sm&Sym:z@9|ss q`kƤ6D6/> 6|DЂΧ0x&DX]tl{&(ܱ~HD+I{ǜi d!!@\\l%eqCJ=<;y_$gms̊#ꬰXt Z~+Tm> i dG %jMf6FW.@0遨?^즺K$h>Y9sM uxe<3Pd̈w a=la2`~7O3UǐL,S86?y%m AKw|T kzGHhVJ 1,JG7$8 R28qJ|TP}8fBU _fFŌ0~Y*mͤX7H2,:B"A^ &_)G>w'DhApp0]QEy}Pŏ֟0Mai4όoj5 \1X\26ke@u^_2ETo~Eu* N*3:"h c˿j*Ǩ¿ Vʹj@}.o/_ \MǛD *vEd})©e ~e(̜nQg?QH TJ{!JuUk7๓A_[1Ga-Bf;|^[AICӢMgO׌e:'۪)QKJx@iIx$㼅J栏,th6TpY*q#y52A˾Kcgq' OY8D&pw#d!PmVT*z'١?j,!%շ_Aq3:G! L,)DH1&r\BharHSUK^o6"wK(+C:1Pƭ !&BtqR3eXnφӫW,Uo6P N0IorYҩG"vEdzE w,Z&0/W"\;_nwFn# gD \=#+%Δe3? /]>ω Q#8"zY kGNEP9+s X_OIނ^Up[G]iHs2˸ SC A*,Q[}Ĺ dу ){5J%):(Qh m::(0@-y0&.`#Cx O俕*`XҒЃw#Ռ@qjm~\4/q07yLs{ [y("rgn8B:jo{f V|LЛgJ-D-vM(~%>f8i@fk2{Ͳe[>P9A`ub9pf,yZuxs‚Bd,-y(7f!Ef pRȢ-|) 46a]"a{#t 5^o&4j`5z'cmU%Rn(/#,?Ebޱ2Rc{f%mHLZ~1íβ?d=&}}BBCERiUl$yK7"tIp$5j'atMp%6^ uZp)1r6\BjY,JD1$UQXL\3h|t0i}JU@|%LoYp1H9\0!/:Z,d kI VGZ I|-`?`DPĊI(F%cAnST=y}X\U2]*akqB[{{~YaC߈߇&1wM먜cоt3Eu!RRV-LY?aL c Dw)6~~{4ٲÜH34,߯ɗ{eb徑.i[fAtRG7ސF]-/8Ն[[:{dO(DIrÀ;?(0[s#;o.R@,p5W>4,S+L ߔ;>d*sn:xXI#@sm"tnbi<7q ™,K׃l~Si%b /`j0VA5Ϩ?An ש>yJo's԰%qeH" eupv*2Ew*A/Cx2!j @<,$*vϮeALA.p=7ih()sI'kQyZؒK V?  !%l@j t [awHqA=jo9Š˰^:0vnqJ6H3CT@M.}yElG@h|MF{ &R|k'DH򱖳 :CI5_.X){%3\⪫÷ݷ?LK)llCʧ,Wq?cU셔.6":X?" CF( 5pܳhHpsG͐T<|A)_=Bǝ~Q\HmV9&N\ ԃؗUxc.clv_WB UfS̀ =\[4A튕W J@*d }Pj#U6sFT}h x~wP0#1~\vEXkT& LX#+@ Vs`C~m>;C2B-|p_f8"{ʆT}:4(̡x!@#] FzÆ9?{&z$aC/Bn:YoMu~|iwpi6Wj#u\>'WFˆ)[pK'{V:Q) ϱ+_>ڎ2j`0^nnP_#R$Ĥ+PLȶ(SC>_mO I(fP hY$2{Hd`}-8+fg^ (Q'@wa?n`^d4Mr鹵Őܤk~]h!:Am߂jw֔d[ =ix"5`pw]IYU@4ciԽg 8_>v@?_+7vtW{_=QɢԊ/Yw^!X6PL9:f^d@%:n6P?l>a9PéKCWحiWTR0e. gOٯSpe'a-A j7G& ,5ijk<V+WK2UITmwG φ=m'թlf Hֽb,tR .I%lP}\;kE3=xD>c+Y2h  @49YWSM>K6x E)3ືJM|T DU})gZG?~*l2AhբUۼ8^ȣr)!%ٽ5+n:uc&]4B=:"Ǚv ]*ʽ$WT^9{.O3_tu >cysC 蛾KunSgv"l[{8u-.3:]#Yzdz{l '/1*V 95|S7}p=E'+0SRDU?N3ꔗOTY/fi `oL`j >ͬ5xҤlOF"A?%쑏key,[2r~A ʋYFGZ$ l@Y4@;_06&uchl556h1dx]4HRTmC Yq6Z"1SP}b8Dxq$1t9#s=p\ XFڸ@|:0#- k"J;Yadx]%3 WO) p&-:dyhljlo#.a$T.Yc^ W5.d򁐍&jrGf)@F{[OsLo|bUrRp4pdt0s?]yao d~#B[1|]짦}\NPR+uiF: +:|pGҽJ^ *LUtqh']7@[Lƪch^xoHG}ӂ@neѦ' R*rKMvATʜ\'AD 6o[O9HMľZBEi(  ?ݠ/R]ܸVw9@Ύ5VĈ)]0II|)%P 㴪`,XEjwe?aM1ŚX}h1b!2>T]'}&OPv`zWp6~`⒝  |ƶ7M`:M=F?_4/ q'ȓ璏iZAM3ةRrP, N5GƃCuz+?p͎Jƶ7ErlgpP lftq<u ^w 歎y(o֭͊gV1D`Iw#=IOpk]ḨKecUi?Agn[Voh(TGo;+%Ks7Xd.RNp[UI~Bp1S v.}I|@ WjBւ3J ʨɇe-E!3w+;9~Qߌ Gmpɇb լ bj'(IbÄJ(OړQ -𚜋["` dz+)FN|4Fo#tI`u=򮁪jTOѱUn5cA]>+oN+R7k櫦\9LTsZPF %c7֘˔wR&LC+Ȗ w/wt)Y&C9tB?.lF/LIlCZʜX~/ :-ZZiE-Ʊ~IхDH8EhwҍX.jS0mI('fqgD[C0sEylFq;;J!2N5:q$l~~CS;޸(-SلM1d aGIYWTiRH'=j(r_-WHFMqDHڵ:CT&~?lBFPlF,&$8Ǩ4=1)" rL ɴie/rUXnޛ݀ P=CɩXv T`nq!(4e%^7f<8.Yp;%En! QJ4|÷-{W[xl^vӪ?H'!3bDxv!pU:28ɗQ(U41ڱ蛷 %+5 )b9:Beƙ2C5ikG:aتCA DmHd %F3f;`[qʭȋgBvO`ڻn==#C6A : rbTJx3:#=άElw8;fh; n@'#o$QVwǗm*B tr-@N${Ϭ@8.+ݘZОNx7tdk?%̢]84,pk);sOYV>N8Nмv"nC e Sj{.qr\6ysA~~8Ԕ$ oސy2" =ЇW4}Qsj{Ք[0kY<#gf.YvM8~$Ñ\ A'.:_(}0Vuzт ?S+m \GfPuTEq[NQx9%}(A+)fb!5瓵v/1Pz|?ػWƔxBoA-s;ǜ7,g `rFn-I-$A#C?y=q)߽$`B"g]MӂY=} _0_X cutYd`zvzyCČ"P,FC;:odUWVThyA/A*ܐhjm~W<d98E:d˜htLQKA&#m!v"G7`G:7Pu~~>Zm3JYaE.oƦIrL>\F9ȥ}ErIJ!KA/&f FxE`m2#>QZsir{1tPa3$0D(Fa \ *(?Lq_7!OI$DJЯK^9` cXI_wZ ?!_Cr9v.h]!]? Ξځ-Ja&ŮzcEW{Zwx |W >~x =R{ Bo3KˑD]AM@4z0Gh9k`u)RP4LW P~GfO*Aò^&P5anP~QZ<)ƃ[߫{=Nqˋx^#P|H E61|dہA{hC'eb3 @i6.)M:2&agj X<}N%u]KO 8EbZNRn`UZijkŗЩv#b Bׄk륌o]eWxzr&ӇQ ЇO-D( ɰJ= ӑF:C,]KSRmh#-TJV.2ᬐs0a)9N(:@ImO'SDM؀.KL͹/s]JbZ_j TSF{?= |S+pRoM_W0Kվ&Hi4_8.v1ze/:`T@ʐ"n|o: HX6Qmv[$<[ ]q\血za:>9"/t6$lVҥȔwz;* B!?#l@FI[{?vƳe|wjzH|A%Jg`WŞaP<-~Nw&6σMW4E!ט~{585n6!{$Gctoeh)d?[4oD%_:@VBq ZQ \YRŔӮ + Gq?]\*[x vb8XPOvΐW] d1]WK:Ca*4#3m%&{O;yq< I7ns~+1e|C9+~Ӭ&+h1/@߼;g %"NQ.  #f+N5w.Gh`(#g$_sb }"w 'v4VEJI.W[8Rp<0Jh$S\+#rX<2mSel-P|%EK;N` x?hr&2٨z58)#.NVNl -s7 @QD(X98}y=܂\ёBBry#P 53N: A@"J N,iX ڬ=0+;WAcϒq.$n-X&K}|'3:Fme gC,\:.N6{'()Vs,u-eus+z첢ή g)3`g%aN5 mڮUE1L_pW̜ȉ;ɀj+Q: iQXG#6‡ ezbE.X\Z3Z5F7*Fj}߭wCXzbZkFT24CCR}LMkt\-ׅHOU U=#!D?GWo9:&UABZ ]cFѽ\H2r!1 'Rq~4/ʜt}oSYIȆWlx.:2ygrr H(Qw\UcP%l;FUj`AȘF9|OǰDaXMD($2J3ɞwBv#ϔ%qNa>Mƙ,v\`雞"8/1 Օj/+L۾gM}0œ@pYI07ĂSg4rҚ!2B) *Ѭ蔡afyM0G'P`tӡֲrO\]:@&. (&U \1]ZtX &Cm8|x&]_W:(NJ355/߹pTFi< Q Y매pJX}ARwj`/3233fʓ3ϝ5WCkj6ys:/FZ^_}HL[#\;XTnR1+MPk=GeEZr/8]¤$A_d4Zk\=x*>=l(aR2-JP3%U!XRcpa哫~q)wL@|gGOq|amB\‹ܸ ?=a+LW<2 ZbTڄϻ@,(o*6[|J- Vn3oh~&U7DIt=uD%;,Õn,R[W~xdXXxkCNEگ0 ]sVL4u)$}j܂Ո;$zgm|Q<0B?v? c2}it;r/~Q3-D Uòm-(TϞ*UUi]5A,X;4ұ]ZIil[Iyά9o4J\f/4 :~% nDQ.#u7A%^Q)PP+(. ȍ!cOobhx\'i75z*N ̢iEioXk2$[,8!Hc .NƇ!clR!H5ћ c[~uazrߙI95KK@ [FV+ٗv (y `2-\?ϑ1 nvJq]PmXÜ7on[sI(aQNwC{#8k9 CޚJ%ZuPƅ Pp(kvA+/ߒ">ם9 MKR>j4J- IlR"s:raW+P+6`g(A55;=0BTǿݲi..f+HHѕ nLn+Yˑ/ 05]6(IHBG/M_H>x)Į4t@*G\R]ܰ -Zg5tRu2>gET ("]Qpp}fTqNKp1i#ލ(DZ"zGay_:clZcSJfo4a8߉ZX Nۮ6ɣء%V+4,P׃CJk6b+OpoƈF8eĈodZ+IKPM,)Z׻NdnZ(Xqe[ MJ*?,kF81S^ Q֡@Dp+Atn` [d{Kfu&2xۘUw`旔jGmQKPAO!۫>Ût''FI;*nz,a:%t!6uUշu91Ÿ$]W(h{\jJ[K03\1re+dWVb] (\&Drxs.oʩ=%%r-3p̽'o=̝f|ѵf)[X~_մX{IPbojt(I3`|&GO!4ݭm6zCImmXhkVvDuQ;?!|Aܔ毧Y:j)V*y p$Zr"*8_#;yн7gUqaob^".S}"hcqE==vTqWTxO|uZAÜ@Ap xӥceKTI|NN?_fLy: mk dz^u?$L~]p'7H#TN6PZ~o@U`} JBw@SYS78*X4$Ѥ^猍5>={|nnwW]bS21v_\FEi{Aw9"/,:QݜOӜV龼T-D^uM,`a2JС7Ϋ-|R oXAkM_~ȈkP%r}#/(+gdYl;|Źj:( Ggw#똗6-8H㮸gKЭZF5G}cAkP'W_X$ XG(@5&0!SkCYly~iP<+~Ifg/8$?נ;!tŖLBx 1K^f )j[*?zf) žJ{rɲ rI?@zՑ9")XZ8Ʒkl9s41(Uh˨Úh5GɅs}kS_e@ﯢ6@oGرZx`fڒSU`54~PZ"'j\Q,DMV]P[Dke;iI (=rܥ H^ߎ\Ƌ-WK_aט(9ՕVLq@.@mM?6X%"̒Ĺ0^>qB5b2S<::(%KbeJ1=J RH eۉ2eA#rwaa_&ZSRz:TKXU^U=tGHYT{58тŮq:YOJL6'x^* qqn M]Nۂ?=DH? JW1e3b;x]뾭y ȎY`)In9mk o8 eLx P4tCTY'_oYRKjAU0#W[y7 M7όԪKkl#'(DD)fqzIDG2[ scr5~;u&0U-Gpəﲘ#p=ԫs vr*¹Htew92_Q@>ʙv($Q8n=2۷{`dbfΫK'4Q;kuu r55k7WѲ n;D}OUCP.8dn%9m|nKI 畄TjWl?<Ԓ6Rv{7R?e78 HѝQ<~EywaE]~ K!s 3͎%1/D$WѼk4dD}w_ AHC\0Qz] jg3-26p=ΟJ+E).3Y""4 ,F9@ P#M柙Ѣ#շ)1dzcr{e ~ҷCwn[-@Fy"G3t=hlo1+@AYdIP$i !'${H_%*~*Vی%Y} ^@;Dj-_&tPX(;M/ЇbG:!YS&@C]ZLW =lJPC6C vz2=y؎\KSû@$\vukB0aUpL˸\A!a＀B{+y{ɐxBc! D %ѵ 8`҂ԾZkIq܀rk?X=J MB*{8*a7čL!g=n9 Z%[ hy;Õ3EV& ^rΖK n4U,s+뽽A³DbEe=I`nd+s||lti7fnРcxر99&#`+p3v*7Uvw_2ߖIF~˨^?3HR#5}`sA P,yC)h U V^8u0xoIM*mRg Bs{u%ߦ>J &Ge|ާCon`f^.?|7QUG;nА%"Z$0$N_]~{McðPǀ2W%0}CorAA?B~_Se-?BVg/ T(F)1` %P(؀~'|T\vV,Ͽ+8[3 @i,9!3'uõ~t̾$#ru8!8;F&8,9>tCէmg~4O|I Wn`lN1 u;MD smB(#m:`8"$z&ܘH5!z+2BM(mjÙNrSb[ۣEU"cˇJ48Q]5eVZh'& "t W\1,~i"_Itܦ :/'eU0(~H3|X?gX0+ GK#b%LFZ:S ^=h~eQ"A`wj} 0GpUM .nItl]zH2l*9b27P\܃@41FCV_uKAm K{y;@n Z2¤"f?M.< 5K;U#¤p&4n_Y|Q«gnjE=Gk] H0 r;$ͣ jc !aIA{t_pD#KB\sU Bn|tjL<(~v xT 1Yr8Rcpyu?;㸲u`~A&}L84 Юo,o*z9T02wc}GD^lz1B.1{]~j,P7w]pWG V&d~}-R|<}lh+Q+mx?RD9r'7xfN3eGm,@0v&H{@DxNmvS*D'M=П=J纖;߷rdyjWfq@aq4LV2UuLh܅$IqhfO|Ѽ\\߉$UL86aЫs¼a>~:f^@KV Ν g,휥cglĤ{b+]9&/KUHyZшpA\4Ci`eWXv9d0FX3$U9#ܿ- DBSy}>OhWC>0I6Aui{NZ|o&!a R:yDGTm~7tb)Z TDQE λX[kaY:hcF [(q)pM^U( ;-%8 oxe:>/N0PqnIn8Q}:qΛUQp8t'COl!3vy(}518o~TV(uޱpEq1:MzĔgG(,s֢Hk)O;rKc6kկ2j]vI C;VMBo5tcGs^M޾4/kaBP, /ExvYW#HU|v%,&AF # !KѴ6R)w0,tQ?@} S*eXnRkN7eFr1y$] IMfql&4#D։2%3%^qsPm㴦B:JeU fޔы69K0_æ+֖F fVCZ]OeB ,Ûո 4.mgȽ yT^5rTeeRK^M-$mi$g%píb3D{߫paV}GL X"S]bt@tQbh7}RRNr.j'U܈9qjj$Ϝ qWDAȕLLG+c0)eg7aQ U:L l.Rr(8m<|iusކEf*6H᷏W6&!Ĕ&L;qLGt8 7dqgmZ.o{ZlX[p&d%̺UyFXPk,'yVw k $q2Q/"a ptY@)4uZ#WϷdT%J=w+<  ܟ< oU6hX()'1T6*znpT̽7{(`Osa` &虆>kHBP<+A6VcN%%O'm>H‹%b_F?;BZs3uf,x/<;3jLH%7,3Ҟrպي6̒%Fy޺tlԶ3cUymjǷj"B!׷(,eAh-W7H*P`x8uDRV/?O](V|q t ls&^FqAuSqߎ{1膞Ni&U9cۣ9 SqG"uq'N ːu;"G[:6sb=Kw6AN!sE/Y)&- 6#2zC+|HوWss^#,ZwGw4E]_D$+TA>b^=심)jx%z2#o ](^}ٖ<`dlA[]1%wu%9B 75fUSWrI4ضkuJTMcr=igB2F  l$1%ƞwTQV4{uOf TNA sXMCw÷p j񙁜d!F+9 SH;Ko}wV{D xH3'2V'T#b[ɻH3@aO 0ɉ90/r%" Т =$b;'#\ yg 4q1c}.!7j)}r#?'-ڇd[aX|4C_9A ;[Zv Έ68U'U䪀CRuFz@hBB(W$D=,6~en9cS鿩$b&%T0us]!8of`-tAoJjE7+ DKeS.uVǵ p}#1]ȅ4Tt| G$  qZzjpzG/Le]؃E4=![ft:bN^`:2Ծ Fi/^T}mq#ڑRcxCv~,s|TLe5./ZQ׫>8P󿆢 w{io eц{7Olb5-(u/')q  L!BE wpi:41 2 (A.6/VZtHI\Ə$K h475Jj%F84;iBK˟wH_N{oK Bh (?q^B23Ë́4P9A|PX fZЬ\/YH ?Ւ+'8kHwS=+W^M$nƨO\k5?N&M:ڰJE~̶淫ʎڿup졥Y-my:1݁bpc9O3ne T0VDQTwaߋA'?V~T1JSdol m0+u$>' 0)%=3F6_,Ĵnd;a* ͧjسLNN}*2BOt;`?TŽdW`n>  hR5n$#D~ٱGp<{2j;xmJPG|e岝Z&A~mʿ脸f tN2>jm8^"FמP@Y5v֯_2:B0*I.6\Z0"f8e!5ugM*ƨw,h9 ĊF?AK۶ލr摐G?Ze``{3a݃ wssmUd9,M$>4Ġ-gX5CRl LZ"k mv _ӌ`]\[#tڟX(o ALS ت¨|m;k.z>ޝO!^GT_Ӯ}|6Ca/ ~1YкGMqW| |iD5Uff"r=-/:'c}PbKcH!=ncUѕ (>8v{gm_ol8`'8P~`r0/pt;ccL9Kqi2 Vdx)IqVڌkƪx$/Ϸz}E%>Β;'6;hJOFPw 6ʥ=IƇ -X8 EJө}V=M.tX*8_du1.R1 H~tV~{nNC)8lQ< Ӵq!,}w|T۪i;k3WizH 4a,*ԃ'<BܕRWn:yr^"=gGLS;&D TQ8g{;)`7p%SEl *ѱ@/%U4c ujII16[\G '']] @[/o^;(f-;;ml|Q:r w%?+-v^wᷩO0U~R7y/`Mn1BØՊC\`K uغJaP`!4WssdFױT$ژ"zͪC+k "ZRbOL$,2c[+ +晔'[a.(K a޳:[1ę`_~@+gTLipQXacS8&ƽ/A"}')"~k36* YDvF&=]yl1umC`fQ? is/$V-4,k{V!N8XcJ[F: JT^+Lɨ4}* #7J^kkb4W:gyU? =˒-kߟհIRgUBXsIDrqo\^`+rE i*GStwXmN5zɨ;{4H4J:!cߎ;t;E-mP7FO>-~$ \wj@s;zv}C@)_ aU&S Q*;7VBaIRV~bIބkqy{jUSHIJ ~nlKoɌĞDi94~$Z& ;Uβ4;kHZd ^PqWN"OrTL R[LQIӶܒyi}'0m8sZħ<UT1-xE# "XZ#aY5zl}͊8҄,Obl <щö, R=e*'dЄ$Av!fKy^D  aB]UAeKr5 Mo˟ @pr{nD-ooH%2/ZFY \܀ѦTsO_lmI+VYT+ "5rS:ۨN4KSbؕǾZC .pyC]E[QѬ~dHz4sPrE(b VtA 2^xM/d1Cbk-oOlË1wm"szÜ-?jգov9myb8 ͷvm)|Z:`kY醚\qLٰn`]:1u!]MR ۺ8Dfâ2[`gm! 7I~=8ue"i:}m_<"k ]s$D"O>KP]JtfZՈ$ļ06=x3W /oz^1ߕ0$=wOdU)uk5OAe$*.ä6r"db{G hNئ6{> :0hT_y ^v6`}`yi ')WƄ7;'X)Xv84Z SL2+EKNXv8 ժ:NIM)A<5~r~Tݠ.@ y~=jNN".̴SE%kMKue(")72J* E*EM(0;Imw[.]# CmZN3pE8v&{|F0 <ʄ4m (V\^#;8HXLjy `|Eʎ_Pc>A"Hb[H,{ZΡixTdGP`@jnބP8%Rғ@M蝡^Zr=3n(vG3ͼqGPDs8Wh ϣLݻXkf0$gtȌl⥴p0:V=0"*-E0^XUU2-M'Or|)z6y&_/-3_naޒ{ϥYv|sgBiluj8 ?yEĴѡ<˞mH~yj+Sz{l,Ȩc񧲒fHL ➋/ްcƪYdԎVG̭;#*a(+iodDJփoeuOÊ#°T{\b'hK*YT M+t#Z)Bf:}淴rAߩM[Qc%G61*G~HcnQ.rzxS,E xǏm3{mBP`^bKuVElBOXRB'bT|H $vH(q_ £/);Bm$ܴ Zq &oq:b 9z>7ՏXj{M)nEEY) G+HuLbl횋(dRʓ/Q5Fd%=!eB G3ur#Yb2p5=CR(OlS ӎf8̋+'k&E4z%~Oܳz93bĸ󀎷N@_??o O@{ $֍9\T`\Y\8aD]Qof]`nç 9S[9)V%ٵHsb`o Mޟ/AJ5v=Kfk]iP[cy24fvcTecZem>8d ߼PggTyBaWu.2E k8I^wgk`ABۀ8 vLn06v؜A&9 z[[$US (J Tw7TƲ"h^/b.ǫR)++"#LYzgSͪ9(d wsWj$*:Pµ\.,lRhP92R1. {?D/5o\7c*>&|-@pI+ : fn]vm4 pP+Ntd<w`S,.ymB&i4%*4L^맃ҽon$ravFs~qCyL|RP6 5`M|%oƯ88QM)/a[NAZR^"8ss hV-e? %O lu7eWy{E?T eB46G!C!Y T@!gt<~4/'P _Fs>{4nŸISN{lOi{0ioo RuΎWƇ j`~VMݿիA%7J|lM$Uk\u$@@ᢗ>r[KE7> wh.hO<ZuFm [?MFف"WʬZnz,+)TTrP/~&>i@W>VbfbYzw 6:plBV'4сca;B>2A-Lt(F]RS pу?h9flONvbIRu~lyua+rC(s \{zqXYߪyA8Ҧ55\2Mn 5ݢT8{ &]&.:\piBfb#Ꮴ/Y<˴} be=ئR/پȲH ܩ5y K0#$uO474YRd \׈QĒNL*B* ?݌l-%Nq )X/=D(}ʏΐTZքmk5f8-k۝҉oxM2z/#gA UT0Ӌ֨Ndfcw<;!m>4.]*X̏CK3VBhnH+VLsbm[BIŒC1j{g}Xʍl]H{-/cT7k렫U7rL0 k\|Nj}盡N i]{/IOZt_ L8(qŽ*2H"=jz|ntk;U3 ǔ 4 ɻIKM.f !=@`'V`DJYLܽg-!V/>5@9޵gεS?{7Aiuru:?x0j1@\uTz<9TA=INPgC/#W5S3)7[5Aw , 3a%x=syG'r@ h#sa4^ZR<'m/&u>4EN]:U ('sV؟3L&^Փ()H!@<s ?LR`ǵni@ ۲VSG,oMڔ{ZGKY.1Hyt+8Dj SFJB_0Y8>׾ʚL4?[oqme"W=/$Ex2AD<*"njsr L@?g+AtV<;=!^3ܾ']%6 Kh|l-_mbQeHPY^vTazkC`O?2A_%2OqJ~=وFRαҷֆRJBc'2BO.4Mt[j^l(u1 ˏBAJި.NưGyWV2nIa٧[ HX$zȸZ\?t1^8kބ񗈇>ɑg䃺MB.^ʆ?5 ohWZ:](& Rԣ$V"Nsc,F2 FG4wmC˻1a50nUAz-E  ^%EXu㴐g%ݔ&sn. ŚsA_Q)^`9`7/:.> vzu_*`hpmfh 0AlGXoj55rFq|s7JsF`|ҮHĥ<%ʀ9Tebq8;H%I&jNcoYa_A[=}`- )nxu*jaV4Q`hwq/48c;$E3l%A X r54׭Ԩ3Ro !;m1i }nX*8S@*&|2,Aa bwۯگw48"tjn4LXe 4~Ucs8DPu(wD :|#@ V5)EA9m_PI/~Iblͮf1isvK}8ǮY^)? bԃ&̄΀Z|H)䛿Y#v~wQ NoǓ.a=1D smG5Z'[ +df2SarSNgT}Ѯ{o!iv51vYq`xIlko YUE}Pw<4L匔}FHTО18!R!ķp sU:\7Wvdnhw"'lN<ߐ3^ RJIX+H x)lUN*̢fGӹЄd]iv`3t&TPZP6>\OT6 S @hZS.n~'NZTV+qb(hJ}l8MR*_ `j04d~'? 6â` =5=M\67( feX9uL.[r7sB{Qao'zc@!o0"m\"3ה0eaKH8' V*_*#Ncps7āӜ0)+2}_.4:1b|sz 쉉?zߎ Iv^IQu'`nr 86&y@ҧ3;v}㚵TlR:rwً9c>`[ o?&%.d~uLvf4T y7A?*WC@`ИI hu8%rYײ{HeJ3®Ma2$o45TIukZVC=W W=Itt*sx]2(+b6Iݐd1/z|R%8kҠ<-+F̡i/ڱ|ny۶ gk'!ًs3<>~dj޹3hZ>ZEo]<Бro4Ɂ"ʂ0P`!}My`nddȨ஢]X׻/ϔqu'TFF*<0V0.WKe #PȑLVМG7뎚=lo!,_TUlJD%d?>Rp8Y5$jrXtUuF 1KU-Znݩ1Eܹ_>?}F Y۩Tpv،yN>xTɡ҂hO*p G+ mMЈOaQ f툳6גą{'aAɼ1EUR06D ygaY# -S"ɎPFaJxmh\o,;A[0 1UxW:R^f($ yT\7Iì@XbK6q|&{+I[nmqI*@E\ KfE#_sצgIFɛÉ[O&zw{Ɲ!C䝪B.ndɑZ"$-Y!ēRt@ЎHYyOu`T͍3Lـ: uZztBa१r}94GR2Sxpt䁲< =lN3Jo(Gk DlcY~sˌ6nWο~3`T U< =M3W!2>s٠^DLb!^J  FW\2C4Ut~ܲĽ՚DnY@+ߗxۭ`B#smy| *uq840K0p8gel-nt{rc,qHu{UaUCzZ'/0zzaa&X^]%g5LR+hZqkƒY6A{!K|]"}8rce{z=>QOS7]() td$PBMyG,pN(&Jތ~fS W (/`8hA>EŜ/qQIn'5?"iVmyEeT?c U%F1mkyFͩ3IH KÁos!iXBh:'2'o^jWU }ohF'fX{NyQsۧz*#>DP Jk'DŠC }BtzӇxLe.kPC(*o!moP{վPs"b])Ah'0QkQ/:wpJCP"W͡Ynr wg7qȽNp3,WEBl+wn℣ g^0ٱڷ İ8d-_J*,ɹP7Ip q Z'_ 5]E? [3J W:;0Kܖ2%H` -k}A F+{3&:2,Wď [P12[Hܰr7vj쨋zxFd=mwɐdhy]^Dcwߘ_5}zjTMkJ,2ㄅ\ oz4"avd>Q=z~$RY`EtO|'luqR7ks(d*,HC$x"w-e[Re3\U7c(ϗdߦ",֌."t$ J;CC -?!Wj2_ʕTf̳叫~Hc=saUeI)~8mJP3P~oě^# hn̩jҺĥe 8ܝ 3ocuia`w~*&jPX[N2½ٖM!Oա GuD#H: XȢˤ/SS[HHOW% VGG8F'dyT+?bKһciK͇e"*2"=!% a9JCv'2F?Ch93B ה7p)g!K.)QƑm\9 CᖝH|0WZcRqaeGŊC<'Qqu C뾱pZ%89.rs.ݕ'V ؖA * 3T?OVT?[*FNk0]7 |@&IhhYafS6Yj{7 TE] :fk(K' /K=!:?: XpB.r& Mne 2B 'Y!vc }qYi&XBG?2Od@-T&fǑe__>yW4TBC=7  )2GXNV5@/9rma;lLEe-`̊YB5dB]t{V߀c|DHx aЄ"Ck C[opk dѐCRʨʼn#1v򒤟\ V^r͖0^I8vc;o\~%|i[0uk++h(/E67QpEiTgA v⫣g63ZP&*Bcrt ?߲JlT3rXw'G p}:Y ex"I[CQEWJfN1A,'|ȵvVs+Fo*Lyq!ʰ# E2x;R^j ͗?,\BMܞ)G7$&rN rM0:uRU݋^ar?FZ}lRU*@|K#O@aC?>E5NDw+$uۺO)'Ywۿ._pۻ$ ``)t[*񦞅@?|yQ}M+F/}ۏ&wVY0\'W2zE\ I֤=M]m-wtx_a*]0(u*ٔ8)y PU2[?&۸+ hFf<_DL>9bj *;SNc| ל:Ơay&O~ ?BMs]Nk.h=ҸVFWUQ6w7d\anCiԌyB 6k1:ơ's;ayk1hſH^H5ȷÊ]yvQ!ݤ*>s9;lVh 50XuIuFg>_\ooU]\Rcf Dd*#SL]}:/ H?\XYl}GWxA75IPkd;w\aV7*7S=92`WGb;C\ClF)Sq|w)O˜l{lEHB{2wXB) Tr\e풢3Aypɧ!.GYcR< [%GD)t('j@P7:~[@ vfH(G =̄Qt}*j́$#I;]C&T8< Aꎂr|*Ԏ)1Yh g2N,$KT5XKouRґ2îʶn#+p /aV>s׿Ո[g= =]Ah&/JZ5m/ҊvXHtyZK>2fMA>8û[0 ;(&׊Bp>pK=Rk0mj(6K&QC 73zk5޶~IX&e4mcy91OTτUmɉ(t PݨvGbaֶJ71HSw2GƂႩ0DI#s2!kIT\YKR5sXM<t0O"3kGzDhojnA-_-4ũ]Ei@?8Id812m',`  3Zk56i;Ed4s(m rZ^7k*{}SiVII@ MSSv~#JݚADJ?PUj2ɝF3  !V}v֊)IB@M~w R1/Q^/^qu^UX84]Q/bDHB] KgazGUG>;ZO_;VLɦ0(aƦ7HG0> >!g@"2%ϩFFW:NuIxB\lql 6d0 y$h́b3-<]3]sn-lx[WhJd>Yvg]\JGaETT6ؒYjH[90\IH -tg'%^qdp MXZAg~i#VݧΑ8ɪ&P@0Z&(VJ(gomF9V Fۣ_/u 1G`bt:&u}#+W(]7 <9$ ps_ r@$=`]:N#6Xsֱ6g1WRm`NV..(fJW:P/uc 1ѯ}fkWY[FQ~FMo y|\D^JG&ו]xl}JVC  auEe#X59߅徺3 3-+Fa 6Љ IÅ V3wGUnCFUMm.kOXa҆UN;Ys+Tt2}8yLt&m``D" /Cݵ?ɓ*{/#sYBJ9ANw0ƶUQl'ɛd@NPX"(}njħQ&%x0qfj'jGw09*TH^TsdQ'p +xP,B߹NâN|;ZpԬlh2mD՟h Fo^8W+Lvf[aZ;b( 2%itL <Ä}c_Og9_+4'f[ȳl(eM:\ږ (6ߺB&ɔ}iEwMzTF@lU7SOzJV+ѫcnSZ8*{4VR^]ѤMnҴgvSֹissɴ\9;G' H㓠gkQ^ŎJc%}ϱsvbF ڋ&#C[\iz@3tHgw1ZđL(WL8uP,jot6aq=%ļزs* "D4 P|2lP(1TM\̉Empsqi=HX*UOH-e ߆1 a]N+XWagNrGH\kӻ[,@s) Hdd0D2v6\WMgbY5(3R-$=]좕S_m&W=Qpͫ9DH`Mb!,KyA t⋽jkvn9팤LS縝0U"JV!4*YOИۡi4$<.g)L"7 Lº:MU C-24K/ DOShjAw :>^%Q|DFvPkKkU-Ŝ'"ڬP!G \ F>e!5R-= ٌ0AjF Yg]CD%rLCjG_5t9pvH-QRdo~AcD> >ZakÂ| N.K6hpV4;v:&=QY1.=rhFKOuTgCs aTZ͏'XLg(l Ft Nr 8v3)0ӶGeӝa'x}]h]~~738n}[tE|~.n!1X`(*sit2i@/pOhq z>i'7|p~Jx^aS^FhXGH'`msc%O蜤9v7#CƑۦN& P6`4@-j |NSUWD܂|M-\,aYs^\>wǻQٖ%o ˫]犜y\= ǩUt}WG5Y36c#^, g&Z^rLb=O41O0 m备b2:)" @4"J)tj |:xn&̓OִDp &A3d[}ixaKŧGc|؋۝`{f0 * 3LcwˣLU?wcυV/p1\U6|+4ĺX7ҡ9`^o *gF[+v7vdl"Yйt&¶cQĂIN$NT*~S9Ϫa薛yA̋vf8:m}$=PMxJ=o6Bas"XW5l&QƂƤ p7&_gOoBwz|KC=70LDGB5O!2t 5VR~||yA"x1WF'k'y-&@u&eEt˸Wp@? ɝT?LBd vH&s3gƟe Y剃z4E 4]yNIO[E"%f9 cu+Tft,ҴY!_?{=A?Mʶbp\(؍r$dP(ǠGR҄G%2 F`C IQj`G& t-};R .NRsE4/ov l^ )Dĵ|3zrs8'.w173YkE^?a&f="7`J2XYh⇇&Yx2ʒ‡f;-\YI7j:1xD{]HXK儀:޶(qڿmA z`h-4F~疌sߛ|5#raeii{q[PTWvVU =1 JZ͂i8$sNh̿6XyӤ (;lϧHH:W+DX+B;P'-l8% oLH녿 <5:N]; 2J9V:9+H-BHcx {r/שtAow?|Q{]\hjΞxURZWd̅dXPo!H庈K֋J$lG4o͂'!"ڢl {4;|2zV3 TW, -V,-}+HBVn/g9% p@tul >_a/"ts0` ?INJp~t`wpQyxc7A11l0yn>0 еluI̎xƑ]ezR<֒nle|bv1t%YtYqיد n)ܺ! 4 9)Vy L,##,kU*50,b;ޑ X%Z1B,Ag!\˜I"C8Twi!u.&5͋ UȬhQQ#>hKPWTY"e$pb޽~KIsi@v s'HK h`+"8[sJLQ2()J_dՄR>1Bv1Z V6a2Z\+x^P_|[hQR1s>M—C? #C2 j?ʽ@/?7_nCUc3ii@63wG)gdO暨$\P3[Z12'uOK3;H7WHL:,ɴ n'k[=`nWM2As1^)8(3;v s 0N|87;TFv%W&:ҠHkiZ %^];X*V9Bp׾ܔH_W1Qsl1CuB1 ,t'ըxeD؂ђiv64H۽AX,5GvLgQջ"i#"^gm5;o|HBW6Ɔ/tȸr}'&w ae8J-;3^GEʐ/L-߆ A+bm^#ڀI+Dm)yqcLjAUe3`^XP@|5⿸"tђ2![m[$Ik: (/?SrLBߣmg#`mR$vqOCxs:l\rԌ\pMv8;*,WjU؂$K;ܰL%эfSs4]qpfm hp[m/􍳽!OhKR߆HhsE9XDuq XJb| $8u6}%keaׁioLRJ 4]$pVM8V`矫7al޴/lZAJn'qxjC?9UQ#g#Hg݋P'-DѐC1vW!}~'39RLB"NҲ㰃32Jd fG,0~=>prQ '# b7fY^l#r=V9L[^o]6*^O ru|J"\䩵lE/(A^ܰ]Gj7R8 r|ː/u@/9JD'ʛJ!g"kT ƒw ?zSy[=Зu8 ʑTcۛOzDu\ԓJB2aq:GQT@TC`$|m{7bQ.{._a9>r7݄\i>Յ;g/ۋUt~+L()`& aN :#pu'8tU 7^ka~V;d%VMD"+Xq#$~T;_FWkb6AsM&`+[Xљhj!yà3{Mt.A GP pk`D׻P‚Į- tEO*1,@^ʃj]v7+Qx ` a}zDow^r{20 oH* (U~[c>&M j\vQ)CzaAvn5}twS*Od=+j)jub52Qb+h!xJ@DX8,G+8#Lnk{7ַ1!a5P$}6gq o jl[WCPir z)**nu]A,{&޲3݆ཋ2O1e Ƹx7?qڰR.CCg$g'ܱ2J!.%[U&]-_9BF uwxe74lP.|K!dr7EJmFi IRsPnTYsz7뚝(FNا?.m N2eOP/\y0 7m pSh)͏Q:ra Yac{R=fGVY kpV֝tO )~*.wG A:ƟOIj&s޾鍮0Y& a5i杗,pii͏6Z&:zsK}ێ.6媕xFCz5O5xcUwM,P*lIOLj7AE[ʙm>uTgdܓ[Yx*xJiiD4뤛|kdpLwM]nwhK 9ma2!.;ˍsc"t<Χ5K-VPQJMdanApo EB'D,oʌ/3>}t[zu zKŕf ]E']8VGY%~$y-,zƻ,o[u\n )M?T㱰#ɥ(NSQV8G∳ɰ}Y cꝼBǾuE*_ 9ӚOJזg*lmVʁãwQoXfCd#Е)0.\&r{fKk: U?R]kYd },t21W.ŤհB3z롛͆gǎ] V<74UU[\NS1ا|n!pMٞ T~YWgv:yj䈬]'˿`[obq_?~}l 9^*c#ퟏBrczWqA(Ƨwg˩yW'd"Z~b$ū-sodPUfb*|o!863+!ѯ\UɫXQ\xYjPK ͤtXD4a_7'i+ *UZIV[dnjQ S i&fVCk2nb[1 0mqtiymi``B5Kz&&Ėt!N:xL w>5 Q9$g@QyqPI"c#wxRsīX {7Zq|i><ѳaf xGDRtp#ȇF' Şo_77w0Zcc)*r 4ۡXDz?SL#Aqfo`"OST.a-zc.AO>׃Y7Y:m?XnmiR& JP(b3Voc(ed٢9Ko>֑'}C>в'/kad,t5$=S?SX(\zy 5=ՔY;aP'Iax88t}~z '|\E2q dDu/tK?' F{!4AowgM-dcUG(mo͕/%(/9~m%Ky1=_4ߏbf$1? 0P/5ZoDr/p +KrL{>VK0 erU60SF7A}2%<57;T>/'ǀSpZY JiklwO>m[*|pA}Zf҂҅BGe`g@4wڍ~=> mHf 4kP~ kzu[#_h66IGr87]r4!QMw‚ۼR(ņ3y3:kw|=k>t@y5tCWiUn;+#OmծaXl)ߏ 4Q $bS IL$ cV:~]8ДavG'U[7@Aw$f+A8ܤ؇ ASkVE9#t9]Ȕc `{04v\L:&wMR+SY+zJy2A " wU[.K9~TRU@WVMg'JJn b>+U6#y?- ZGs;<-W[?< 6w H9rcA2vIYFJ@Kg$6Euf!ȗ=d`\#c;oqy߯62÷ޠq VaqfU*B٢8 <.}X\/wѝĆ`YrM,ħ22sXZwG梴[J57#xur2>hD]y6G2w?MDmΡ Bdoj('XM(7!Axӽd4C)Yaw0I8q9& I,?ÿ T[dv, S`|ATsޘgkԍC٣E/K$xS6Z Vq -\yH䂆Mٹ۹X&dϒ݇a)j-i&/bZ<D@11=g)VWjH*DLjzLz= {gB s젿X{p&"͚{p},FE]{* WVfH\MS N| h HOEুrJ3=lxiNɰfjNaY#.a9&)CCOvo$Mt$,e$veؤ4nvNJ0sb}ަ+.H$x0lW\o Cz{FG*0Ƌgz Ð82PM껛&5 ƷkZePY}MNq {5#Hό(}06%"Kn}\g vft/G mSe5_w?m)%>;pcZ^"_Nyӡ%"+d$]ꔁg+?J]_%"R1sdθ"ƚ37S %"}$@(赔gzϳ.YNڲk&,gP<%4=&- 3:|qd Css}C{n&x޸sD=צ9KTK->[|E O`U+g ZefPs毮 s Ϛpn˪_v rϔޫw4{/:rPȭG٭MdY|3bid)xtƽ+SıbGµΩxz"v.S?NgL|#+w{o(xİ] qX<wm;4bjvo,k2ǰ%|^NZ"`gD̅->t1`\p X)5kx7]=(="ENO)Ce-K&Ғn)s%C~90U5{,f*-kXIgs'Lh` ?CjNAX1;`5w\FzH|~̗h)؏PKA#͵ߏdN;6&AHyj_`yG],ib  SeK)'jl8EY3QqiBuWYM*UCQ=٨pFO[DC3y?+HKr ϵ)]S3küohF\Q1RW \ֵ5o[&O,131{y#iEdjny@مiY7p ӡ2=\hXY {nx2&l[[*{ 8=`j1*L$ !Xrw Gk+ : V+kE0_Uo%@-e`U{ t \EE-5/ݪ/8 '>[3:['$3kn![}!&zoX>p1@~ h#=pFJ6>VZ&"g=W%zFa]ٞ+έ៫FtR :^-'Nw*1$+VirOL:Xo_8{_wB@Ei|oG}^J/ ?e˕fL&\3*̿hp@՝)鳞n-RHK|FH=*DJMZPbiCbiR@1eoSNݷte*`Jbdt]f!e*BRZnZ7%:?4J *xq bXErK@b]4B,vO61vm^LφU l}G CQ?ʱ Pp#2*r= ᅢnyV.c-gBp`\59w' ,jg W;߱W|3Ntnqm լqA R љ{6t˕R3瘜z{oc_T-c X7;w׳_/şdd u+?p(+>D{[q?Li3sq3!g3X5[͉nJ^(Hb~AۤH JD'β1y|?[5p}C98 kkZ(w^s)I{ ^u@6TZW{Xf7^qnفiP0,]؂ `Iknyɶ!'T`>y맢ĜOv/.2`)[qel j(w3Vv1K޽pC.t,tjJOE$:8ݮc37CmZCS>[Ʒsr詯}+44 ׹Y}q.5|Tkp&!vTlL)VYJj/E{§lZQJΒtO 5G@QAՒ2myy7S{8'g`~+tl_S(Cgt4Sk[Zh.[|U*LTsUԦ_@Qˆ (A+5YNˬ7; /@zP:;^Yc$Ț&cEPu[*EMBoU"  W :TY,"ŽZk8Mqxlԭ1_ގ+H C. qѠ5# pi{u}d"za\T0&runڸl5ݙbDiY HT-S6I@puﻷSG;9P @q])4y…kvF(gA3ÎŔ$ *l>{ [o$=GNW-d 68Қ'Р$aK`? I'[ycӲዌ/LzwFRP.(ρɪtIػԛu9{i20f~OSXr5t`9m7 yO8HY (0 PY BU6ǝVf De+aYL1X%a/&. s^ƸA{jI%O,]E:0744~9TgptňVٝvl˒Glo QZH_ղ>"L2g./{T njʃDw~Ds nu+ٳ_~za\tQܩ&qEY pʇuVD@ 0.u)"mwH0l]5i,K Aϒ/|K b MXVj[9 et^]L' c#"Dd6N*-"}q9/D u07з|OpuBw?eMWèGoP*lAN^"vuo kVYWQ*Dt?pok& SY>B I!.| tHx薛ju?$y34jBx}%-g F[/*ɪ׾J2rCfdQlAIS䆼]u67Z@{,i:e/Juv(+ڕ38iBV"$@)h)q1`@W Bs8*l7Ie7D\I 7ԘcZ !JK̳}wꋑ z'J }GG棈@Lc=Nmmӕ* &NW1fl@GΧJ: S%/ttK#V8QPa#d2rkbH`L [2Fܜb6&mZ<;.(:/ɱU'3֌upj)-/At4M3RVFp7flCףvml]4LPM䨴+cgSd+XzF3@jxح:S=&apv$qdu8A!x-{a]lԆ/*ûVSlW<`@^T_jRsdiq`BkZ; 1MgLuW =:;EtoQ*CBC0kU>VEvQ9~;fiM'59q 7 8UdRiB~ptap5gx4`])IA(U´3'A3'L KOǭG\lr{ٿs7UV^:X΅1yH$]霷`ZB]9 dP[G;G/3*y7]iԫ<~uQhQ| 6udMa&#W#NݧU]C/[0/ē'1[~P[n VNĕ Eg#\C*xؕNfqyV8!n{mUr ӫ#0|tͪ\[rGĭ|O4ZaEץRrDdB&rd[amoIwN6JB7^w v> Ѡ)! 1D[@@Bީ#˅Ud$Җ-y Po,<)(n<͝߃ 4>ѺN-'!)OmD]]q]^rijG~Vi6wFE9~DC+PteM} LĤQvq&/W^#+.]FLly yP}G.rߊiwRYP‰:mVܓ@qܾ5m+ TQe+`ںzo[a Kv$"tƆDr-d*&}lcuє* VB?rWY.Y HJzQgxM}zҒ(Q auZ^"d5;Ab2c50Aȹ* ߺzEWh@TS؊xSo/</"S 6r.S&<Z̥Waid 'm1R,|TΉ|b`fɻL*Ơ(qz $頣*P  kiĞ"k$v!\6M -pF@5#"u4B XLb!es@ KbhWt69vQMr ~[K'~}-Bϡr -`p_ Ρ}uLGŪˋݚ-\ NM\)Ab;%!^JЛ񿒆$Aò7+utgsdRU5 l䂤];^I훢C䰠>p؋E޼-9Hƹ-?&kRi7{ f߲{sUצmOd\;kgy &m .:cwFVFt/98CD"ҽ͘T ^jJ "a.yB /A$jM(C} 8cMt24os=؊06.~綘3Ac<@'5p^Q>8z9/28\y%Rٹ\ OC{Ľ< .f(=3#\lLjyNY>/l^'ӎ$"V{QMOHM{d3z|bP gV:^aǜe|YlNOcݺ #j}>@BߞW:MpŇ)ah򭼝޺8 *RqW9O]S~ q6ġ8w=2.5 2c \u1^Xf^ƟG㐮0$lϛ=1o|Gۍ%Oa]F}.|j> f~#Fl`;gQ_ Q*o2N[%P)-o'8" iae {ԔS6a0jVju[\ Zԏ8y0ϔ~ z6ۂd]R۹9=z8W_RDN]o̟b/ BLhU%AHqk"Q:Xǁ!Y'mzȨXT&t*NDĮ)zg'*^89{ýk4Q'gEpرQKLk\P@72.M7H>oq#~x=) !v7x;.]UL#I3~6#I[ q.*gd' 0vd1 $2ez;s_ߎ<AjKFm$N"1,g [o=oBq`ȓ8݀VZ} ϑWH:DꬼgAG;SF*eE_$*)VU&1A`\H{uҲ,dx3@4H] ƦrѰT^ZViDԞ\0ۯ;;Ag?(Ȋ`@X ]dFŅΛ>JoiEXmj7^!E6Svr;+7,k\Q3ǒHRyʙ᣿U~xYӬH 0aY8Ûsn :kv)+ 3JC45Gi`_XG%zg(,zH󤦈H{ʆ'~a3ǽ3$Z jd*bg!Y\Mtf(+m0F5[{xmhlBkAk~>#Ѫ&@f&m.%djp` /"4;>&7vQi r4J^')w(#8viNo+X/H&QkZ̕2$r`\ݰQ-Y-?=8oб*5܁XlG:htOIhLQ&iA΢\ Ч ]Z欃իEy%fo{3r^># LArɊŻ ץ7'\;;6~nԪ͔TaHܜYߣ2uRo(KQEq]YMnJHaJj)e1g($2gu_kg/?a&+ aPCWH3Jc N{W=pǁ[΢ UXurgƼGf5aU_fܠL䤺NER?zDAYqc|1}]U~'7C_ؗ Ht4YyhMJ-whAfC u>Ss ,ʝQ S 4c5X#uRpQS ~j\Alw*I"F[|E+ ?nl!99 |7m WS^xrWNw.NOi}ЩB pG:"{*$n38\ 3DѥȤy͎uCGb»Be 4YLi@a4Io0A/쾘'zo/d@ٿ 1F~S/ 佒$3Դ'>UI-}$(tk}x2Hb]%l11:ɚ}C߂{i?l_ԯ:&!xܠ5T@{Yb?h1ӝQ\Rld|_B Euz_r'o]߆;!!5o*H,%ێy+Ie _ rN5܏% )? qD^GsGقs 33Zks9FK&r6kІ\u%8 C$}1-IHN ڀGgFN5Oȋ5_˓]v5>)PrMaߩC~#!%y/ڮ@Xӿɦ̴ksB'65XX¶),aZى N? s{C_)vfd*hD) mϴV+"IG_<%!?ia6E$XT 0 X1 iL:Ӌ^Vo,GԟNGd1ɕ!Xr&f>ۻk~Q~}nGp v;-|&Z "v'n&]%Or"3_p67I;=Hr)4Աtۆb $_uo|#zc2,+<2W1gc+;HLӤi*P$!3V ס=N.W*S H† QG\=pPދ#$AX0\[Khpst7/n͖yR٘='wu@+`ۀDұTʩA'9JZ0͞Sãy"SF!0:*2Z>eWC+6ܒ?@}(x͑:^HjqDk;`@j)Pd?P2ա\ ~v|8z~::DUMls;;S`ͱs丘/ ?6S aJ!I˂1B,*l3,i^8(dtgֱm7 ](|U.ceAɿ5]iC+([c Ks3˼ cꕡ WIijX_w578hǾᲪ!d |qM+!"% _+zU/ƺ qZ#H͊V>Gsm#cT?o2*iWfiSQR7VC}$pos}hf{LmйٔGx;99꼋ȵRkN[v!S!]qcW1-^$!HڞD'v0[n[)VzPO۟эˢs/FF+:F9P?9wLB&~ON. ,c E +vliaDɵйh"^#i7wб[r,mϊUGFbCmNIR|W utKr']/e}N_ ,ܽ!}Cnf DKC^=>gd9JUɉFVFt6=(!A>F|tHA-.6m4e63z9H6Urp5?w輬F\qT5TQcZ"9FgsuFrlRvyc e&;ߡѫq@n(b!2]HB5p{ы^ "Hj,/0˿k1&ٖ͘>1}4_%`!<19ov]´l3xrfTL 7t{85>]d2pK3ٖ>Jh>`GpKѴwihOXXCXXt-M;E{uKQGZpۢ|8ͰAo;!C}XFO鴒Z$Œsw4Mz=\;:b3Jjze_{]9#^g4+G&'Kx;m6zVLz1-z^" ~I9>jʴAeZto؆i0̓ <.o?,x FQC̗xF4^F 8e%TVKv#1Ezc? [3A[J)K>%#O4-Mk*x6NS*cңx^K td*~fvUb;~a6 Ve/f߀}Yx&o(iq}q-*hZ'S&Vb RDP0%qad KfkG_d*:t*tjJ ZH96qazW.ɘj2!BW'kke@k.M|@R"mQy}eU =; ==iN{)Ҧ'ٿWV؃s}}y,Qa,*jqGPj kH;\ڇLrŦ{gT/G7&a-8iTqnP ,ejxL?7uQ ܁ۙf,,aP{sýOJNLbf}cNpt#N^q xYEARNr]_AOn#h*w)'ު;"H>SI/ԒniuE'^{v;rA$V!bH }=oq^e*ztJOQ`ɾǾQ%XDW Ih. 08tR9+i15:"b 1[Hif 0!Xf;lPر"NT)CIo n;^^JOYM ,tR/S'0TQ׿CWj=Ϛw31"\\ %Ƚ ^8r@-݋\ȫ3 $I,J~wxI g.;IcqTSq9<W!WYFd8e^tdCeR $=VNy S{+3C<=:,acR7'vRI86 A,>ͧĽ&fՑ)/H|$pKPg05S`Vn\:ajE$Y}'ʶ:;6hp[ZE!#m5.eKI똠ĵG+0rT'7$gdǏ%tư1}Qŷ? ir9ێ%;tނ,a4qy&3 ֌QtP#: &)|dᬨv;n`]xd"z?j09í ԼCcWQW}|M'w d7wf^|ߒB̖P̓L}ҔlcU\0uۺ&XdUE6AOD*1Pg.b!;U Q#(YQ1x1EJ25'I޸wxl28 IRJS۹#GggF/cSXuV YN"U!q-FŨwÛD$x${22Ski9W(aD`}F_J(8!.T(H$Ģ&{qK*xDaFnS>FےīS017L,}NɑTf#\EOy!@gDH21e"#"(M[e?ٛRlXa7-\sWDtk9+iBKuu@D(`>9 1pKɲq7fJhbB~?ɦYTJJX<Цx@a6X "j5j|w(ś z |֕w@ 3_wsrc>c A"*Cv9vjt`3R3.)[͌|{;NVN\(<&u9)D eAfDLҹ2 Ԁx3-a[LeՂs^j,) ?Ť2b1bmL㈓!HW?>DV>9`f e)SSڗ<ܪRǡE7 T6M-V`~)pByQzm d)KpÇ7˄q(fWXL (yRUh&x+qL !qZS OkzF Nb6ZUsL]ƲSGEɇw %{ڋr *0,{.pY@Nՙ9&mF1 H&'t Suv t6d[ (6j2,Q~YMќ:#yɁC7o&OaWò@j lBzWS7H^,IvCwdY4lh/Yki}zc4xaI+iRwoiPDVaܹeoއ\`r[7,=kfԶQ(îvЌ&LZAdꇉ`v{<=.^_6 iNbV4E{u'ssz'˩"v7q"K.?$% IlfJJبr_qG}CJfRZ r3(q䷊ԌvAu*:Lk`&z4;${حeQ&`}M^UUϲ׶e41~ \ݪBZQ[W􇠡<=dOb=.FbD7YUc8ا(mx ea}aKqZWҬ w.$=D;x9y~ߋvo$= E5Vڟenh*T& xē *-S}!E[Asd$ 5XbzU6}9KF Ltsk T*ےܐfozsxKtBf{y~Y<K/f O8`D#A6BY}G~}v˥_L["?ʶuyߏPe1z6.ha4[a#"XZN/Mg m-bY{h;ꭑ߰ʛPu*gv@:'Io኱tR⎵VOoeԷ)ϓE:HL3Է }`퇄QxLuщjۋ8 {*FTf뻋*{⢸Dl sH~4YV q,%Dbc+x-t2Uw0Ƴu͍ߚ4{%`%%vH]c2H_:~k\8d]klSZ5782Qi`|4p]o?['\ .AK5:bkREB75#\bC(Q+c͏7-\irJ]i9`bלW>|+1H5ɒxElۮ+a_)9n^?M'U'F}VY Ir}ƳtM6So(u&S"EXv'z}ӑxXL GXzlƾ*(Yli4#բv()pH&ZMz}suNY%9k*m[b6ՠ7 :kΎH4sI[; ^צM/הߥџ$yZ2J$שZM^ZΌ!eBl?*_m`F FGko*J3mM&Pxz`P) fc~esH`UK4Gbƀ)@Я+2K)fIO^g[Nv4rww:tmSQpqB|b_V #ݎYI$=( a>:B^۵d UU Q6qxv:.0()6J0Y~!y1/)lK$Qh+y{'_PP"^t7`}%n q>AL?KPo6bArk_ ]I/%?.m+κxo!w$]юr1+t ;_Ȅ/ G-Kf79 B GtZOrOJW쇠K/1=oWT\+"QkeXc|_v^N~'B&\Y_!#ƀǝfV2_ 3ɴG*I{YGwYH_ǁw~JZ3M^ȑ"\h|ޛb8 &-uѿOdkŎqE5Œ, N|ƾkQŞc PiVZƅ0ɱ茪>u-/aEڑxտ frOwe <8<:gBxJO-6myJ˺?˸-mе'H/g u΂&3%U%9OLF*yO@ [2n靖&u3S5FjZS)Vsajd]8Zuyxr7^%'fC<܅Y{JM%ٮGET =+@S iVϽz-Z3as͢Jlz ɂj({BqZ>f(zOv;&Z`SD2,ȡd #P JH:=H6ԧj=CS,svyGVWea1ڈ$ԟ$`U`MK_׫5XvU(s 'zİ=.bTPhygP# 7-{Gi;[">5!)g<ӎPjyG^=^0?`)o~@POW*2,(_)Vžq (RRZM3cc(屆 7c Hmi+fpY @˱t ԰7Iqp]*dXu瀎W k&V*I ib0_-9l݅5\cGZz{/PsIaPml&+ͰV./ z]oM&'MQB)"ʰ g T/8u/H.! ,$4Exld ˮ;7F2b{4$f3pv0:WqxTopSAxHR& +o{.e ($Cs(N C[.Z>&fDGaJ6á j2!gs?t?b7cQJݼ=P֊,g 5|"Yy jPaھEL,˒0NT M-ׂd H;bdݕ?$']{wm9-O8~ɂi?vM`l?㮐(·nv0F\#S U;s.4 m7/jʰ]hO1-=k6qk33܉-MX:X} .C%0[r!O+ ^tGmXs҆y^)Zӓ %'JWvU$BI`GY=5Y{W60[ed!?lTr$@V؟E"_L .I ιf\ $EjEɩNѸJ>\QPtWV[W˵xCr%;wݕ\ѝDq+ Au(3l ./ -3}Rp4%WqrxWw܍XUw!^Iyu7kvv1Hhgס_=)SG2=`hq0Y)pǾ ӈ Fg[Eǁg-tXHAg7T`6MwӯiR[6JVƉ:Mlӗ=64J}JɌg¼l[eK5bVs%7`J\C7~vW)TizZv&LP x^w CC1J t<ϕ:jlu3Iv}y`%n{X~d?A@T^TI,*[h Ky:0# lI#4Ȧ\ /i?`oi!S/Il@Oy=>DÃ3׻}eqOD%7zXs{'@u<ȱnc4wj4Ҷjn]ILeۙG? T g4R}!@ʚi+AӬc#ؔWAJ-X8)EcUv^yOA`y%LKL](A-)\z(@k~ߨxHdQåϮ2һD/SFaA ȑo`A7d@A<~yڿ&7 hچɴV$US>Hò Os`]O$+G@ֺH5}$a82$*3V̭<E>L!XByfr˟ǧ뒺Z*!|(̃ ؾ/[Q,(%w%j|l$MVZB"}dXNOn.a R0kS G)U6س-;Y"WsvYFwyRiNuuTDw"kz=vp7Z+L/8%؆n҇,21~O ,f(5$X<75廥 PNUxV Ùiom>zo{Bkje45ny9w޾]Qdy#aQeb;Rfqfۅ%rjϨHS!sBc'X;D]Bt{- :;f!//M ZlML;/654;^kudZcU|}SΗzA̠~YkG{Q0eP}cK %Ct8آwCZ˒Nt+frـ` 笅m)NYyV}1otw#lz>I~EVDGJ]<FDoܜ7t,B{ 2΍D -<ϼt?Iv *.ÆV9~U{E=;T8EQ*^[% &YI%h4tjNYϧzqSt-IGLמCXtU" wRe6z[BJX13 (~Y~'Kj@*g:߯xMn4W!F"(EL4b<z)rQ9SK&2Ex5\i$CId>Uz&eݦlA9gI6c-tUZxO} pL6WIT_sAÞ XBzz&tYwgj.E Օjh0yL.`83O9=AW8nsY<4i\b@$|L}=]'}+2_fSL1v WbFH 6U*1Ro V6^U.GSaO޽*.@)Z dE,C3M'J,d7}:Wy\W*cB1uFY?J#㜜?GmHN?3Lf/$/M'DMQmT3WjB%g%|HqEv*S+Ý/ jͥ+05`NПM(1}M$:4X]}/O;am+OH, ZcHyܩi6q=Au=u bnasDȮd>:d4 Ѻ@ [}0^3%KXŽ@HW~-~#DӘVYGShI/3Y07wJ]=c\5k̸*+O5FV H0 WTj٫l25xXru%^(O.MNc_ZcOT1M j6/adPIp,>n<CҴ7;z!*tO#cI or8koSl~𳣲_:s=AVJ](kq-&bW0Qc{!]K#lorj7Adu w/~cڂ ;ǒCPqŴ~<%/!\jm7Cj] /kK|o0g+ȁ=9 ؝iGSSP`e:Ϸ<[j@G:+9K ,v`,i{B9=6 co"<@\n5c: L#s.br OՒm?o UFXUtV3s'oeeAA_H9_YZ4azg6Nc Se9AWyNߘz N*c0 K|@%y1Pl8sTA Ro; ;=ZGL6IeqT ]⚪bMNY/T5ARcׁa-]ճPKՆk5CxE`^ۃOn"lD01!V*M̺5AS|PX {rU~d0* m۔ $yI#4zn#\JF*[0ELD=`Yu,'J,0FNpw!X^S>^ιŝP|g/.*6־ _Ԙ#=#2w#9}dۃ Mim, WK& ?t(I/[c=W]2aޛ涪\-~j h\vQ^SR>ޝij\))=TjCYE Ac* A+7ōe872wX!0LKŹ@p ě~ xIyd<tkMlֻs?JPz`aBLjA3 }za~?i*8Z1Z%Y8]s9ʀfykܾrl^ 06rp 06C^UOC\Ƅе/0/F_ ~Tu`:C)a6؏ۿU{# @.ࡸs`H"fDj4v5q1C`76M;_2$d.-TZTn7 ecJ\DŽ]Ԭ`Qs#v eHLB374)ΓUqG.su |x3@Ю+k=w襇(GE̍$&:0ϯQofh2mPzasyVE3> (#)*qφ3XQ4W^ɔSE0¦U@o 9h6P?ԚPiAaFUBᥩ7oPb!R=oda:Z.ѫ{Ԍ5:0SRV3~kF0&QK#C& 5~"oNoĄG>ϠpV.7ijܛ8߼{Pd| nPaEH9/7*.#8;Fl@'jg,U aæh'-R|;E'˰tW {Sa%\Ryl -VKr8F29bR 긖} ($n d#"aT*B-6FR ++&@?$BD ݶ0b5OqlѸi)Vymi7L[A8qbdas Vza} bHL-D22{prlhYЈ1K 4 cE7O6nTbߎ'c'^ Z)%f엛,6`]F wa,PJ63銂awj).Q%+Qrނ)Q}heDK c;h+ղO7O)kļfj}V ^`jgӄvcNk7D#yc@Cp8~}zW.z_nNΆ| 85E ˎp sukX`G&q+r8R+L#梭1T&{:( ^px&@ yD`?(|^^Ĥ9nf_ʶ ))u;$R LРO`S-䎝 ){u@8߿>TP\'Tg"=+x zw)s 9UrQ@[1'a4wBjx4N]?WF5oc~Bx'=liqzEA<( W÷ٚ#l5e -Ӯw`e4C_Љ  5@v))6On}г0TA#|E#dzaZ.[EIV-crVYot/Z,ԉB\}"XE9\*tBK=;ϦIs,~SV" u7tWsWC:g\΀ ګZsk ly&:MFTrVnTl5{+qp1]cУ (s+Qg_]A5s֩EóHX N5V F`&1)"%q4x&7FftRE}Ie7)DZk%k hĢb2:"vI;s| $&79: hvį`f"b\3 o#G`ԑVJL&Z&ikmP8%ꆜ/h`)Jju ͒HI&C\a1> iU YxtEJ;gVgY כKlkXtWѓ(G~4놕A#?N*Єi7,{ xzZBUn_ 5w֮D hLyA:B\遜r3NZ}Q6:_ g_7pgn^Sʥӽes9]^@S'l-ڕȞۗ"(ֻ$ȏRlgפOIZhOudYVcLf*Ir?IlSrbi% ;ѳfBIm!*$/E3Ѐ3ˠ"\-}u\3w!uUvXw_zzoga.E?62ףZyvE`y"Dc O'UF(և{XQ۰9Bx̱!DvH&iG]:,`?myQY8(pۄfajȜ.-޶HtO&3y"ꥷfgvIܼXYU}ޝL[Lhv|>i"T!GE!2X o_q춽e< ɸHtndrl,>ģܺ6Y;!I뒹ol(czKBrFζ;)1rܳQpqҁY}WIgs[a/ nK&7/m-7 hy+Ȩ!ޔ+?4yG +Bbtj9SJWd3k:!7'A.~j=)!b1Lgqȍ__ܓRk$^ߨirM=Տl=41Eih;2OSa4z! zYp,t&Tƴ!seNW e \ xSL )IJ^A6 VDJxp__6I\~NQ!YAI/%18C~>h5 o@6\_ش!:XKo$HGQKβ9+asEmr\<'.:\@{N&!5-dGRi%J#7WV0 `rO209hz {)6fCŔ)ws~3L ~X[r^^epXEY,2wO3!,~G7ŌTdZ`!IP;̐؁ۘ+p6goQ荖P8YR,O|CA{I.2CiK]w6:D4Vvo^,fߪe! fa@Z6Zc;蓝)c/]^z}> SXWqDGڟo:{ECp^*#\@CEvb)QFʚܬ4x <ŊBa HŲƤnZ[}Oi 5;?VEV5M(㦃Ju VeSg=hWq`g,{Q]TO$NBRjT"Z|uݢ-^6) 5q`/Z>! OaYu(}&g%Pdo7I쳵:HAqcb|^Ts"0p:OqnŸm~SugRɕwВ)*G4L_O}ֺWdVb/ گ]*)8I«WωjWLZt&(]?&K9hhT$?k~c@yt 7;k+0C+_E49$9]97m@&(^;2?R8Lq)U)X՛oB +{xNOղEZMtΑ|3l,6u~<} O#+֏+xSwJE=p. qs%㏲4ʓ"_(1zec(ښbi_grfK HE Rt>,IB r`D^V5o"m_pMx6řӞFƦ ]iH1XR O w9fEOy16,H go+ziؿ]4%2̈:~T\l m;?=1n^#[yGX)Q_bm[bKm?A%[Rl($iM~QEF$k&A9 _MJ8@񾷺JGrz7d:kj΃*}$0i֜ 6M6cE6KWdᾕ5 'Wb d3|D&՚6;e(>b9p A~d6NXXp֥7m`]Hb;S=wyz9:zfa)a},i慚pq=*nE k"lŐ3!:@kg"_c@-+u:Ih '[$T唈oZjX`qFH+y9 %ѿB:- 66;<=";Ut,TtTq%_Y/C0Jy_%I`XbBT06**M=;/MJ%2@#u$"KzH[7ǒeU@%sQ4 ]{˝p uY( clWjj+SC+C,.;7s!XàE\mשQnFy-^onF)ZR# k9 >u3ab̋e6!) DŮ$cʂmH /Nc4jl56GiLqXm.DR]̙ti;~u(6,\xp]`p4#Kx5p%;Q)Jl9Cs<W j-TfW4wmg0Ҏ8+3S|]s3ϓ-͢!:b3vaKGˮIKf`ƻpr=Y#惆&wq4gڤAbfS^=bTC~ !/lekn0UtϩF2hހYyJbPev!ksbA (jzx5]Gm7 xQ:W-1|wS?߲Ntr8AFR^@D;a ҂+qT2E;y3s՟uH.֧P{f+ul .37[*:1p$.Pb(0T .f`Dg_@]pr\ F'kBr <a@ O=:Т +V%ڶ263?ޫ #1;}aC@],"`qB=ƨvV u9(u˦}W袱 l٨~WYhBۯ:n42B!b8(9Q\VPcGre C!sяUUi?/khzr^*iX"mBo\| i^eۇx  <.g&S.h+MU=-e54bT/]m٫MVk }!zd޵KOV%γz`h6lD)A?IS$[zo T҄IkV^rXѷNQ7+{eYq6\ʃ$m˅^qb[DK־pςmoUUl Ed %חyv)nY\|*@uOUD}p0{C::-߲5p6vZߡW(͚}tj|)}|wb"HRʖb.X[5^p[s2FB=ߊ'*"D{a{M۬ G B;G:*r:8{HZj-E^`!԰J%ۀ2m#w D5|Xa_6vx^Zd;xhv6Z(|tvIDԊ-QE\XF!!gX?S^lGlIXjU0[y4/KR%]7#K!QY>f֜,G!O2˟5apk}I:V@? )gvy'\EI)~^&W-W񌹶[V\*qq+~ tg`ty+Uy ɏXM/(dd| d Cjs49 v5s6bGQERq*OpB'3UpCM|b3PB~3T# iRF~SHSZ=k*M4&yuߋ+#Oi̋i T@ |kX Dl]An Xs:i6 h7r\&}dSn $L#(aN"kEDPR$][2 ObF@/AL/U2O݃ Hl%P^׃a )]J3`SAVOH?kڐWQҍk"DC_PwW856S}mV[mw)10pf>:@!1scz0@n5`(vK4+}:gnN'M- VrC!ѐ^SclUXZLrb~ voz l0[ \vpR0UMFt,$"s`+ ?ɅʝI#MxW'~`jZW5f -:EQd68=&I "b*/M+z zps}4Y⣌Q1{oHuήy;e 7#I̝ݽ~ش T̸VcRLىU ,bP ˮ~xG}xNWMDXiʗ)] zIqQ= 2.e3|QBMAh{X' Z iw)Ӷg`09gO)?OJYx8lZRcyw+y7(T~JF]2i0q6NbA2V5»lNƎ_0|\NYp[[ v}]T0^MU"d/Μdo*˧U3M u`&kZ'l\ĉa+8>A )|+-)~H@`!-E o @Xqm+d w?9؋\`-yFev.6ޤ(4\7Co&ڡ-'ݮNRZ9r D*@'21VLJJT|ak{@Pf섄2Zt_d[xrC+޻xeTajNh?bȾJ<1L! =c}"I)& DJ4^~2=~5TTx$?$&_c#86Ȟ{bڊ'0y2 *'ӠPQJgrnh>2=Ǝ V92yYr~{ SXJ+2)h4 O<؁w J{[V4 "6–hXY8{j-sܒB8(41~;}lwqޢP2fP'F{S4+= U )C7;m 3j؝IXJ?3Pk8p~rINAP$ww-e<=WRf wr˷I!dUK@DfLZ Z2u iL;@B"sGKоoeH{w;'@7KZ{2CկEb#Jd,l MʟLߊ'I$6l+v2Z~EByʾ[MV)_mȚ!o/@t?CVÊ%uo;_JUsسB^dߊ= }5ingO8̣JlbLJbJ ]{#J_H 59 –i8}٫q2ǔn7(>v+|-i씼˳6#+,<a P@ &HFͲyC(nCbw }B=S1!ѣQ&C>Ϧ"^y fB F$JG-AGtڴ9v,! Sb uNHK@tѯiѩ*M2֭+K*sQդT(_LGZZ9"_!V-,ʗtSJ׺Q'k lxzu<2ޫsЈo_^&u_&9q,謁W% (BgFNk:O}CֿsݞW-m+ZsyU`>4np9V3ccUx a"d:08ØPԈ#Q-vJ*ZPp1J(Aɺa(;*˭F.$4|`=Y"Oy tz.ߜr{ =wPDȬQ7LҜ/MZW$lj!x2&j`V`籣O4eIcAFw?)56 /(puo,R_7a.Tbմ'JaP,#2Ad0]!HG6DVM2܄GVPX7@Y'&yӶz{ U]6"< BO6R E"η Tvřf^݉x у?/jU^ݸ)(s3lFCR؃h#͌H_Cp8j-;ZD_LRc` 2eG\d:`N6/^hLIP3v$ru]%+жmBDƣ a;>)lf.6^Y˳XB1LL:"T(8rR㙒Dk HA-eZo~}n0[~@Re$.],|^Lia~NM ,є"Ko*cSj";C=8/ s{J$czqK9`.qtM`eh)Y(՞mMMnqSO('&›'րזrŁXP9% Oރ 33x۶*^wr&JؔlIs2zWHkvMq(P*t?Z|(5U -b]OR=GA3w~slȇ7o6f踏lIh_3M! (!R6g uҨbe k֛38&"EBt\F7A KeЖN,̦mkYqWދaeuPĘ̀;DLG< w=/%@ e B٧8U5f|ʛKJ)_rarn^w؀5m.#iᐶrH6xL"k_ԘV椖 cU=FztҜ 0w0aB :;MweԂp#K=TSL'slDmHs+ F{9/j(c0[{c=_fD7UzCvH0qH,vG^VG-iy aB_ŠvkІxuB<|YJ Ի'RGz(NAe р+鬄?YS)#XU/@U3CsU\$7FgGeZ\tLDKmͬϨ 7&У[[(?qXqj|JmggWUwOӡ,j3ф#P((PC+6Ѽ:B@j(+xv6_BEbDdpT$5jW˜ܬŝaP0n[ރ"dxh>}D׏8[a''p{ReяӤ'2^HU^6 59+ZB 9E.C10m9j"9.͛,dzoeVRm@ÀIy u<½g홧k19ʩ=h x? u2pr6^§s0mLg> fN(u^~itEl:ʰd.ͭƲ\%{A%q|9XTů*RȻ!Sŭsfnݓ1hWVf1M 61)]Ph'Yd732/cusZ21I@|_B-eM@5w[Is:)&qoWnʀ2ruhYax}Nߵ -=bmlN  ,H*T|jpyUbb-s6ưR&I|/vohJS )OT-8k^F̙vHgп0adpP]+ذz}re£-z4ӊ~y@S!"]dX?B:BR|FJW#:d9Er6s\s_UEs?aB'5dN'S5H[1`EoY)!iV>JwD˷!">KݧiV^H}R J[sFi`4[#2-EHB `y<`$m6OIm}" {Y\FφM*KO/ hWl,%Q}+u P™V$<=iG0A(6N:BޏENO0Iu IQ"X5%E9FE>+RzOtz׀0(Zu.Gl~ eOv3ǚJ s_4 ` +h/ W8Kô`04#e/ϒ2!gr.zx,u#¿vsBe.vuzHŁlNUg A2wLSTT&{{R2Rԥ @7rIJ|J|X{= b-NN;8I }qAEqLYh!= v#*wDۃuDg ԓ(ySlW}`2|WE+ =%/N\n?@,'0 ܐ`IpΘ7e #gmӾ ݷIO͍c^鑳pcr{NjyTI&zYn4wϊ]Oq!Ҭ%[S<҂m6ymY1bc'*Ɯ8kFxcIm0d V⣛b¦*F;-QW7ZuV噒 t_b{KN  PJSʫ^^EDtcQm/UZܩ!U̟fY4Bˉ:!7PǎrihD>uTM9Fbk|%mc?U_b˛怈.DKjDqܣLB ^b(ʊu]Fo'-D<)㝖&" c>H;]߸pcԚܰC`ynrFj6B" V‚N0A|7`?z:`7?\:hyRB>FrkSS Ɠ$i w#If)mYh{(,ta~86z!LOBƉR2--Ed6Qʶўb|▾:_r\W@̷ňAC@>nRKG-.0"VY ?`0ٌ8pV 8nUxOk!/Mj*)b#!g]jcS3IB1v 9 HcL]s(JD >kLi4 NE2Ǿ%)e; #[И$ \Tg *.HJ +㌵FGc bW'+!G!GZ[)\ Iv?X4СSZXlTuOpråTD ~Xz=[-f1^"J/;84 vxӚÐP'ǀK?0cYMޱ3Cn /8V M[5Dx#z3v oq0{Y%8ՠrQ@U0-&B*ƅBxuW%ʦ13{D g'n='+z [MgH. WNO\{OF10ߖH0B<6۪o*.}gmc3Hc,R +KM?JX goyivȽHFo)'4\ǎ[ۣ "@Tg1koCZnfuFaf,~T}ζ*7ph;p n!?Pn $H'>4]6xDSeoZJT" ԻWZ.?vXFG7&sݮ4+T;8ȁ|o䙓=dCRDDIv៥V0')ɍ,,3IRI];1>' GN*uc֖Ewmr _:iD99;z~[{u+XUfQ sr_TR0̢7~F3"~-", <Ɉkl&^|*!Ipu\\*$x7.k |+{phro+`f޺"b<^źf8PA7}AQH3ED??cpf۬}U'hy3U?yP⏐R˶]a=[0xۚo_źI%4j OneAExR;D+3Tj{G'qc|Mָ}YUJz!_9؍9!TOa#5kF;+>Zl%L"h4Q=!o5:.^3`PiP\Vhn D#xh y ^'꽮MܷZp0G?:SO_n<[nʣtee]UE#ETR]c K<6p˨88]ɶwי=7:BJ@J}U!A,zV(bz=7 b RU8ᑹeP 󑴀6+]'ttWލ44.vNP2yd7y(@=|B~(s{Z[.F<'=:IvzՆpB@W[ 2ѣTL(:OTf*:uPs-O']wGڀ^tg" =뀅 CKIZiaNGi3OɅM'.|h*~_ӓw>8Ug)6%e%U@xD;~i(sU)]:P"xh],7E*yk:h*4,C@ώWKS pCŀ)0MEqKq&4m7UjJ1wus<8 7;" wOF`ep{o X)&G 4Ȝ4ʹXN]}˃D DHRRgv'_vApGӦ? %EˤxL%q2]7MutSڃw0;_\ T%β/ pg4Ir/L LaQx^j\F_ PwV8YejW$>Ǭ;#/WՓb'nZ]@N5Zp#jHcgzKg̿Pid^-^C<^ӜDHZsC8qۉ7j9< F)/JAo/kD(З?)\>q:qgt,nGzG'~*݄Kh/BVg^=u*,sN3jA{n}߿cлƀ7[|=[gF:Dvp0X9wf@UUKT+Xn)sQX9b4ۺR_*A xҵ;r&26D :Jsٝ?K]&{8dKqt@XX5w Cyϱlك0:ewsdqviu;G Azױ-֑x @FGcA%Lԃo2Q+uR.Т,,v ߁x+} 8a,~@},~/"|P G; v9 (xs>e9.[~{Mn'LeY-`)|]C{rP^"[}@F% u'ӾNj0Pfpxg@w[,m k՘ɣ$Vcz+I*byN)R+Ս\iϙ+Qn.|(dpr@s>2ov2W;Qzbe.jtD@!AP_T}usV&AhQI)(~ jS2<\nW"HsNHv`ԝ0 ̷+"Ԥ׹`}Psz5a4RL|;؏o!>!++Ԧm.G&W5sΧ7ݷpѡR6S՚qyb.u=CW;3+tTuBs'"K|0孆;h:Pn6q?>Dckd/M!]A!iP)a#ɇV6Rd]|/_i P|urWp_2j67tec;j;bpE\c#4NUbuEDǭkXTСJB`l#x$1 sYz- E3ܗUL>Q]u B*^jXĵx/azVtIDݠFς"U}wBM#v֧pp>y-.K+)*s).=\HS"RYm\Lk8sbM럅D'5I`"!@=nv*oKܗ*^5'l݌z3;r7D+ nDDϜ 43}j a(<> zۿ7#g\@Xdf̈'TGV)bU617YʶKɉj\0Aӿj 7&* =SYuEĸ/y+W6 Ucz`kJD 0^qL ?'N͎OtJ G8,CXU qT?&bLYHZ>g/7Vm MHR::^Jdsُ=NOqa?%eiyb.t-h!ߵDךV7l'n3-ے:Jd^C13`2,x溄⑞fwUp8J?sOud(1b{vl765DV 0RmX?ZlW(ÁI8/u Z+  cEfQ'n'csf e (WueENfm Csp2s rhɞ-Cє6ɞڱȱqeI*W!tx l@F͟-BE3t`TIw2=%:ٲ ~,؁VAQxi$z hb\2PKNMئ}. &H`fw0!j4#/O4ːE,s^D;7hTP7w2f&//`kN$&H3Kw=7%,p覍WDkǒF|i:gS$DeҼqǸ <ܔ͔,1/)+`ՠeE VonSN/B3Pt i$MA&Y;[0$#i1<-s^B6d %-`@qm.!B橫\.7Xs1[Zf1 gc|{󿄤]z+CVLriH1'_[\g RXvy;Dr̹#x1- ug ܁Df2 t60MN&D۫zsS{gΟ%ngk vѦwWt}A^7ghҸ [3@, &H.7_Ln[\mMpN0:ԓc qOE)tMUxCɳZ9_0LOIWyad&kSM䃤#:$W~Mu}0 h/ 0NVq*Y?X2X"w3T)qoKbeMt6%BN5NPkh#u 4O™T* ŸvY5q`ྍ8ل2I}. NR_tX&:^ß\LL?qO U|oIHb*|%ZTX!CIc[Y/牀-~rPl/Fh"M`!4C7/iMd\U4An]4u0!q'*N.u1 Ҏ0K: ~8BjP,Ӭi` /px9b 7 lHzL݊yӫ ]KM V UQ#XI@(^eZS/^ߥJ夞ǗlLJPu@rEKx?Ne/^R$KE#[;bmX?0xI)Cfo" q7 f0Ygy{5 eW_z`aLº_1} Z*=u,pb/eILiRc4ajW0 h\r|ރGfn{?!:IBЍІ"؋1ЊH&0k- vAV()-$|fPz2:,۷5o&xC_1S BWbq?P%74+&jޢT [8 ("DrRy0jÿ,?0SFɗ:CxG ; VhS/ MId@[4iu"PoX]R24?]C )TޒAO(:H_7,>MQdHUVOKK 6>W2ZjKr̝#/,MwJ}mvMΖUfVN/ /; v;@vjk)R5 UxfWPhWW?ju *=,\DYІZ2Yxbۨǘ}6doxJzCTP3c';Rbw_^rHspB_ y8 a)ۑȴU)2CϬWv.e34w͓ .6%jz+gBy6z\M9QcUi އTrri7>ZhMn3U 4` B5)!,SQԈ]Tðg4 Y\NDWdiXuEfD^"),7;ggWC!;ep6|\2?,>`}0rcJYpb8d;a@JFoBRɶB iT~==(Ure| [1u!+gkM=FM`T /+-Щ9oD ]AB&8Y0cuWb򔇜mM[i-:9yD{0HȄM!~Y:}k^\þ8![lƇh9sdpꀙH(+1V ߚ6Ay 6YUa,^G4 ?XS`I%|G퀞M7oxnz(zWLxzL6 <5$ί&P8ad)=J;&m=_ʮkT ?r0tU~:p8<((`+DHg Bs:V$~+lNvqw71>*~S>a1ɢ.E~zjfpu'Ͳ^;s)& / Ή!7zj՜S⃋Aks%}mh*~BǴ7fG_^&i0߸^`%XrtS*qSgpIJ Y@2-J"q2a} q$qt 5*A>,mnDQ&ARt04Xf@$StNC+ݢO&ojR U*d|DÌSlTp53]}6᧕gI<$+]Rgp9aq]6_B['Qߋ`"klE94FY#H\6, m-X^V"F(nq>n/9rP2zVO7˞fe+m%RƜsV:cåsŎߞXI5nQ d.Ä k88++RD;B tȁeSjǯVoMkvJfmqvgh(0easI9l#oDM3tK_e蛈u;\Uey"̠߲_En9&v4lSI5n [ %apvP4л$VO{]3/噇)!-L-&r?x9JBod"CP`,oyPъɽõ/& &lu:}X"}y׹ ;g@q_%q/nzl1ijCR1iy c.UiP__Y6<vY9} hٳpaќЯ s9; _}v/}XDSL6rWޤױ y:V鼠O[Lna]Gg CW qcet͡us;CA<|fZ Z04kW W#j v@7M|&%Ed|vH*Xzjêi4=j ub4 D)f̈́Ֆ\ז 9Ȅ$wHeiG]FVs52;5MoeDT`wh=K7T|{fkx@X;x2MBϔtfWpW.g@D:jr1#qaփv]2q$%ZHdVO MɉuzO7~)[h?xi"c$+W*ӓ|{Gk$Ԟx;8($,(z:|W_yk_-ՄNY:0VXu,`k#3Ӝd$/siiOl| DIʇ)2 ͑(Qv_ 7GKK+^@: 9v>oxE+n6ZhTsc$5_%㪜fk>j3b3H l'}$PR %N.z!oMK+2Uselĩ)1+[Mx[4|rrdc!Л}cv LL#zV8)x=~)%iQl0cA %vϕGa57!)V.\3$|ߦW#QV!e<6hA1ZD45eϐ_O #BV} Q@(K{\$KIMà :>)RDj`0bz&`Z = &Rr. 6{a !Z$NM+WcdYCٽJӜ3wwNF"ېNO=vM=l㷏hJЩ\8n{җi77DKRCnzy\!CY AuZ$^Jk;1ѵa";`|Ԫ}j غc(Mzqw )N8CwU#g@4d AZNL#/6U6`& 'ym#-20 43zCw<k0V+db4H""R<@AJhk Do5SpmNtHT w2E_CS8ocjdLH.q\BH%^yp#wiY}w[gCWagyq)T)Z?_K5Q< waqqY(<u:g`uGG2*}Hau~Z)<}z˄HXFp&TKK͋ɇuAn` ͞d^>f=ۂ S[h1ʱT/ }A'VM(XWP„ISʭGz B~pL.MYyfk(vJo}Y;zK݈<``B=ۊ㈰0@pRjë4lE41j:?hP1?"/z r+tbBE^Hq b̬$"ZTW#m`<lClP&lz1=7^$զO rleu5\پ2.7UCJ׊[xᚸc3:ꫵd^N~msUC\fC~L}9}/@yA#B*R&jUeiV'ɡ_]w y>PB?sfޗxtw5k1/JdZRұIDJgg]6C@#+rn]3R "p[\?p#<VFt^X16~0Y p{,vhl:'zWxK8D EآVOZOY(e)uVU`亷yl?T|I7G旪Ii|os3HJ #qRM"Mz Z;E|*Ỷo7QH2j;HÈ")io^/2ш|&i5ǰtlb, ه=[;TYD_0HE79ȚRv*ar,ͻP(筻6~|a}S ͹/Xtn[I8aFcYb5 ~+x/N-OZZgo<}DuJr ÷0xW%2-]%y Bel :B|k ۢ#*r%gY6!W,||HWI_|ƨV&[ 0r[3H@nTmh "Xr rϵ3}t .͔Zw;EcP|v"f-(i8ȧ#XqԹ!{'ۑX +Tиj`l3kyWVLF!xlYR5Ō}d1ܭ̝ߖ)U<7Pp_$T9U>hό[GUT`LM~&@1\.vGfC)aJ QDDk!㤌XkҌ7O>A:zGUj3HDPT"mqݍZPS7Fw*-hW}ORG:jQkTf\zDk2t3Zm>"N?Q?#ߞQ@{'GKrSkkvDeqDO#uy*\B3UT{@SjNABC츛bזkXBd$w:5YSZ a(vŨՑzjzWe慢.'K{A,"rW&su&H@B*/п"·IbvsxQ]u}2T:.# sVQh#94.{pr1f(=BA=Qb5# @ı  b7$,/]ULbi1%r% [ ̤H zTp3cz~tF Q(m 3/<pRag?l`=LThNҼ5XD&lΩ%ΖLŴv{8Rr_W+fcߓK|\. ^ Rf by%J@ǴсEO~ ޡS݄80D/s}x`[E.&Y|/Lr 0Pyj~6 '@,ASC~L(Z;/ln/[DCイQ‘JL\0MyU8bDY4QE=46u~3j ?ޱwϾ}H>q-{p;b _I"v:.*yy}D;*yC2Lm=.ri-v~f#>(4<# OS:F=i~檋X{Ӂ: _WALUF b/>𧏲o"[o曐]h)m?ڈ\;%'7 C\I4&8_|\d#([>Q6:h K>Mbi$ܕb6cX T /FKW:?/So\:aֳ͹ͿASWp_CA`u@BX*:e7Zn?MbۇݙQAR9.'AKeC(nM]<\JT40Wg>Ep0@>EfG!:olAKݮ~81Mv|% 褑م=A{/#aPbE軙=  f4U6{Q MVuX(V@bp70zu !ÊX'%P{iωdsnGcͅF㍶I~bK&ƗF5ۣm`]t_5T% UTypfaÛxrL ef']@&ݓ[vP6嚦'/4v]DJk=52$ެ7A*5R#%.FUAx5(gQ, }& V,H<_"#,/ǵE9uaw?3#v.ZW/!" gL[Yr9fdqQVmGRzi o"|[I7AyA$ʯ1ԛ7 uHHtK()LFV/N>?ai7t_/ʁѢd 6'oؐO3Hb( ЗTL2fNi!lߤ\߃|rݚ0&w@I;؂JWR"4Rpw_cnܧCڅkoG.! l;Sn'ñ^c\(O+W3݊ZӿVryaUM\c &6_!W]x`S%Jv;i|()~ ,X :cn\A WiҩrWȮaM'&4|52\3E b[~Bŝw6mC;` kה=!Y=2sP-n8^3پ/Q|^y 57^.DzQn$,BbA6G碴ij,J,7B|5p1ԝX2`Sjc>£AvQ n'ښp7Yؿp{m@idF[g<]Ya%||>oxYA!kВCn-9уK"ַuSu~C8"S!?c@'$t2%7nGRJĦ 5$0M{/HD/L;0! Mq~X8q9˞~| `7 N2(54q_ADdu&0+DR$8кL>6+h"l9٤5מY2OB!)K m\5U5a5.E׺3 "j;ף(]% k^T@(̞7S@AEPTTgBV1s8w3)5yqi^~QD+̆Dk<ʢ6] p8Τ. G\U| |7:<P,!_vYA*H#JTJNõ{ +(gL`!J($j62c/U'ӊm7y%Pt[g6y24LڨKc: F7|AHiT3j(w@ i+JH/}z89zoNVYo~ӘD-xE3A{5-V8~-Nk*RJ9ضi +)D TWVJG ^jQfT? 5{[=ɿ&sBܖw!MGx0vAVnSJăm:E#>ܨk(uxe'Xl_ g>\0c3t n+p4o})kNoZt]'37jTSJȥ“s Ɛt\X#AH|vľX9j …۱/ ğY1*ODVy¤xn? >{WТ۳.#>D)gۇsWCqZ٦kOy4:ӭZ lγFvxsrF=71jc'A QR 7󋳘nScvQgӍ;R(OS%+eaUEZ.0_KݎɁJw'1l@B ퟏ\ Kڄs*64bcom?%4ڗx?Oa欆ߌc2ˌ;T{1%([Qy{~Tf9Uô-W4q_Zv)2,?ELj7޽~:l}[V 4{9j4efp;}^#*!QcBu+>d!AMz&J;jI*Dp3{?izR XϷAӚ;'r),>WA-`ְw6&`?JLBұFYތ!p 迤&fHe? *T] &Cd~4N aʧtׇ_:`'48Y3^l{T 1OJ 9*0CH-̙oC$*`N^AO {`yz!w|K92|4>/{GT4[6)ɑ+epI\q7e*4/]G}L΂:fjp= x`u}K85P=uD0ASLiDf.{S⮖,NQC*l/5b52G c_I.XyH]LCLӸx^@x],??J2iMdedtBEga/[9o M.5cD z|M091z~Ln+#[P<y;LԅܑZL9<`fQ0?=!ith]uV\ne EK̴-hdYŒ#K47Ϡ9̧߀*!}bR+ g^bMk>o&r[虎G%OT*SFaRno+d ~ri]-%8:2 >9p`oϺ&zh42-ٰ cG` @I+ܝuM]@h'ӵv eMw3BOlf4|pH-sV[RRb(cΩ>@؉4 _.TO3bL^4/q,|"?8`_Z;!)x  5rՁ }!?=3)dxj y_&-A׫`>Jl󱰫\>lCZ0vw{jx^"\[VQv.Nua7:J+wJᚋ dp$?Wa#S'{!܄ش񔜅цJ.[ JbdȳwIZ "p荊J++Oqaϖ_g3oIAKG {]}Qdz *o U`9bCE˚r?,/L&>J%jڬd-*C-܈WC :R)?ILUm]hחxNO6#۪+L2ؗ R}j@L3@xzLJ䷃Of`pKʳh5 IG|s-$An_nR~}u?/o e0rA񞉅>o%+2.Sv((21;f?B\*ԏtެ|xg3 * G=_=ϾίTa.h"[£x&ϡ,Y7?t/T2VDzTLz8]4ĠQ8I(^R u9qow~S& QI1~M@SnX785=HƇM]3YqA{Ǎ8JUaE~IbbL_GGPxq:Ka2JZɕhO2 aقcYu0 1>[Ԝrpj#`ĥЦj6{&Ty xlE''(aHΟ\<ϬFMxZ+q=!#Zd睏~ۇ^c3YX`1=u-(haNȌb!Qݡ"&9֩ǹ"klzt 2gc(C:B Q }msރyW<3-HoЃGrlp4%mbD0EbSo 5#ڰ7dr 7rc >";g"aIGcg@w" 6#D.2 m5 o ."T=˅wi$jw!YC>&3^{9^$:2w""[fF?p[1[1˖%ʝŴ>ru1(U#Aj- (m5FsǣBnCQhdmfxlca="_-:8i(Ah 7ɂ(:6G>%.fb +K$.H x7Vи3Z!˒oȍTQc=0M2EH{+v^21.969$ MI3lkQ(,ScII^ؾb8y]IcgF|O1̚a,5y~"FJS9N A*.h!,<8Oӓ##ג%og'sy5Kg hڬyꜻ9*#Pg(4Qs/.O'bEA"cۿMj;,VJ9 C$9u%zvY<.;Wn4Xpy&i=p]j(+EdHQw@`0)d!H)B*\$rpYy;;H|iX_wH-zCڹ~W/I|> y< QT(E8~24y[tVQ"E?9##* G*sNZfyS uPG_h*\L'Ŭz•NJZ~z ̻S|f'NOh bS7woxJT#V8s.3vAj&ZԂNKQ]s- :ujq'}H 2fP5ޗfWaw16'1E-zz$.Lh( ˝u#H9&H%UJ^']$:59NJ KNL:czz&}(zT"8Vc= kld#>oX/qq%aȒw2bD#ns.3yK^b"`2 o|TUt,ME,=@?7˜ƂhO2n4jɺ k-_Ӹ4Ak[~T&1(~|uma ?uK`/^p[mw."x&4T-_vyYѨd*)T+%v&ΦA&#, qGdC9e4ʓ4~$ٿ/RA>bet;,܋Wb큄>o"dnq((k$XpR, W{V-`ÖaÖHm8cڮP28܋LDⵥ8v ޔfqC(0Rc(LvF~Еb;x_P(oeC|+FbHLh_3=IFXAY1*^/Of>̧2,`arhRw7rX1aT'bjɐw>{+$t\"LD >;ۂ8èd\ ʲ;[jd=K<ٕhIסZ<ڲ˷sOXwi|B18_Κ;F(ҽ-Va~St&r'ArQ@,D\ '7 C[% \n5-[+1fNx0x=XPH*n} 8^WQ rX'ILMh5[-`9y3>z"| 2KCrZ76fQm[GnNҳq=刵Nwo M• Qf!\]7Wm [j*LGRgb`5Ci׮bs'blGe582\%j{k^l SKE/BqY/#3|28WAPb$," /9 {TvB" I;q6У7u"Ш=9e%M1b=$>KOxn+9#E֨*A2&(F࿟fXF3;NGOo 1UֽfpcGu)q>HBM9WSH 4]%+Dҩ :[[vFHvqh ?IN\B!9BQ`MA' ^+^pQ}z.,2]gt.PI|/R&S 6ZMv-w߷B8kӦ{AwOĥ5LCfʘ#9=?_'T]Fcf|£7jmDܿBi`$iٕ78n_*ri~q8LͿ``Za'^>ŨQ5I>Ɍ) 8>,omIz)Dō6mg7^ '4fz>ш ߙB~3 ϧ )t5[MT}k^Zs~Q[%j{%u3Y,S$L$SDƿ8ּAtDNI#k}"^ٗ#^c&6~6JhmcCZ$[G3SFm{2x f\פHLAq[%=`bƗXM^J#13D8 K~ҥ3Eܔo;Y]mpa#ҡo9 "3O:M2]uȍ=b'yh@)e ,cR10URգ^oٻ\!ր! !;;hO0N羓YXu pC$_iYIƋ:lY!\Nh+pUG8TV?oH-U{asU̱(~:E)0xNu o_k;Ԫm<}"=!ۇQOhD}6=WtJR-u}ve;h} )=AZCBXj*3z(YoU2LDF"ҵP \q4{ j3O~Ș c}"CF~Wp_} I ˀL0g/,UD8۞.ZdX"㢐˵%ʕ_7ޑ9?Bau'*xZ?i=IPr2)12 ƕq0dY7A]#$Iu"0% B 05/b־]*M~쒝V4rS̯w{UO]VB$J]!sHvh%?l&ek;걱/э4d&: ]ΣVCf ԁȿLܜP),YG0 I%X߶M!%z?BwIT ӇsQ>ԝ=2ԷM{•HI de{r`t[FUʮX+-Oo"eq$E,P,M` 4}})2[.s>ʼ}Xћ@_V9:)ҒF9숶HL&? QUoZ)>g`N; .;xYQjEJ/9 G'ԏ=d}'J Qqeή=>eŪDz}޳3grҬ՟pE궻Wo"0 899m\mhVmYE&=]!pE&[S"d:!׹xk4SԆNPcVBoC)WK"g t}cQzX~|Nݮ6CURqu۠[lуr_ 0B2kH9"ia!v2;0gV`{w]x6??\5݀PCruIe&E^?@It86Pr!4$ֽ<&)*8f}oc1Co T_@~#"Mu,ԛ+}j=Ssnd;2$<)/b bW x۞oWXRlY1((|wT=h) kCb+#tЭ{qs0aZ"t{* Ճ{Sz慴DGviACh:х% %EURןuV6=EԴx1* x;2H6 PE1:A& Lg9P'F1q0(/b7eΤsXkU"yx5_2hўm Ripìw9qVvo^7k{ۀesNiCdyNl<<Ɲih<u1OٶrM$#'@k<y}kAF͵A_򔃒,>#?LY[ǎ c 1}jv\~r.oNoNc0N'Y{`?xtYt&QJt82 Ng^G`iXlS5"GlJ1*wo0 ;=kɫxzeq1νH)b9#BГ /܆ZjC>c&bъ@l:olt*tqU ^@or_z6$ך]@hb}ܔN%jVͩWUܜ31f xp-?? yS_{_\zE38VX.r>rLe띧\N,%4#&Tú%{k yza _Vپ8FViŸS+fƒ䄀hS dCc} +hm#2HWjsgdk+삉M% JZ6h/?0 5h-y0ī:y!^{mvU~,KΥ~OA~ QVlB|`hTGʎs|aQeL4%*hLSh+1g],BB>$i*l`DCX ]eqVS{Po[;Eߴ*ȝ'W!V55 sH՛5hFo3W:ͺ' p%?X$E9{MJnݓxy|u0YPӸoSi)jY2Fp9XG:Miv1֒7[q;9/;e+`4M]!HHL\nvx2$<#6ixA_I'Y0NPلnMbeBU,0䃣|fLU$ @*9&ep^u(ؼE—>*UXxlPZ4&EI)4ўu>ؔ8,[~coy@fn#kSB Q\3+?DNO!{st8Y^lt,7i&ݡ8W Q]T0/ҧԫ})SջbpH9o %f7H05vSӄ睌1ucY))Ɏ: ' :~E-9&غF\!#,1+ Uc,[̴ }|7}(#MER )DiqJQa塍~ݯ[k(DH$H!J(7/!}KyuPyPט/>q\K þ6IE7a Hi9.daPrww)%OFDZ \e`'M0ҧv?Q͐z&(GoI_28:A0 sR?gQ«SZ*+) -V^ڊi3#2wƺ3e[&h͖MLVMZ%&py"cM-?ρz'`'*Z#*McbMgb?/E2lEr#@kie(3ɡO! D]:Iu'Ν_uc-}l=UN@s?-Y+XȒYγpDN[!fô+3 qh P4΃(}CyCL)K(Ԗ Bѩh Ȃ\k$\?F,QѹPDjتXŝ2mqt2Ƴ hHNIMCzPhAz"'z{K2`qyA#٨wֆ{VrӋ`гOo;|]`J9&4.:PIz.-~ p|*xt6hϷDm G&QqSޱfquxh'z`kVZHw?R@B)&HOJ ';y-ߑ;q(*: nM49<6љ25{r"~[E%6Cٔru}m'E 샄R"RM˗AcjVo`B+%,piz-UmF )_g5@MȼؽD*|$II+}~QZd*? wlGs Uoz ? ]%fU)Ѝ0#Yhȕ aެjcB^ExIxʨ`MڄMmg70_lȳq|/[b0@d(N"&͌Mە;nEr֌;9l5"iv)>2NأmխɭƝW1PV/%˼rx|O-THO܂qЂɎѶTzxKf]]*eAC723WN3K627vYM,D%xŶ26XT̿5*+`b U^}۽dqXФd>"c;BwӞ_ՑAvE5z֚ov1; ^R!(a6XMU4uU (H$M'eJ|{8-<49VKiɰWN>z aGu} 10#]=N0+?sbLh!|I˼ˉ?8leTDG)6tU}L)b~ҰA3銺P6X>r=M|ߟNBIkT=ccbiڋbw%ɳrӦniNt\jE(vJ<.:tfoɁ6uӀT}#6 0~v9"M`"ϝs,Ox b򂎳viԦ秠"xG1LԶ8 t<ŖYyB"cC~xzeM!6i1ZJ+m`a$Omyz%@Uԃpe-u#!iFĄ,H-e}Ƞ׽D֢X-T`˪ +Z:Rͭw!Ԋ.՜׈9Nmpc8հzakɿ-}|]K /ĴvS>=KegF J(0GsCvۅ>QZ@pDI! _lb]NNX%1Kkl٦ l 55_.7n5LB:$K9H{R{vy"ү#OGԇێhCYS1O˱JUT) /yJ>AH/2:Z>!@QGnboڀA1ˁ'E 8X\Rݠ܋b$TV&axKi󡝽{%J}"&"r=Bҡoό4pRwv0BًZ^D%ߒfh5m헭$u+Gn)e5:D{}$)aXh_ҭ99Ky&O5]nAiWwꐹʵ7 );jo]èT-HܰPn 3G_svDU%o ΘPcG*B0}1 Ҁmάf`irK/Pq.kM#vޑ!Z.^YϒIeZ Y14ڷ Dp"JwЌ ?dB I۰F?9ev#P*x:`KF=B}{.Ֆ?65&Bԥ+Tm~QciJCeY1um9THK~Z ʮC oZt@{WEߘ"YQjqXjm\q= i}O/hq,O Xĝ! }snJy_sEY4A}'&m;O8 PS|գO#N,N$` l 6_9JѠBvԡl)0a7n0tTR}0R[D4tKCd*r1 k$F?D: (- = ,sdJ1 8<2F22}kGFM9\ N&xR?3]S h#mDוJ߿Q=#W)b`5qm#nK}QjEM%hB[V;SʄYDa~tHнrrC$$0Td!hKpfLY3`&}NF9MiFkF˼eE { A ?WL"WF૏&Q5,M5 VlgzXQ>X"i"Vݭ6 Y=MڹR>USOS&{& #\钉@8.&İ#YdNpZQ6;&据U:U-D1m'nk"pĴg; ^2;l0',B0}C̽BdhZ8HVS&JDA!;L79脊_[z*[dreu>+hBĬ(l|Q}^: 7^\d% 7]-&nL"ȯI]tX1EEy3z>! 4%'{I% e)o@ѶgGd!d[^qo3WEC%ISNߞx8vptaZғb/ܡrEi-]J0 X 7xqkFuh2 %+aH-5/|"bVqJIkRs 7O8+=/m&C*wA|? !|AvZ9hQ0h?\d('i*HP1Bvq.W SCʆu3!g0#ٽ!oa9|9tW9 35SXsCR ߅APfFL(!Rm#]jI)G@"o^1B |Iz-b=.0 7CF+쥆PS#w}/mVmUP5:,˃_;} %5į0,.##˗AeN;jbASb,9%R5QR(_W>Q&udeBCjiɄ ,dWg(:XzUFU1V {JkĔQ)kP F6Fi#Ϧ̌XA w:"6 {]I8j5uCWWh"@ٮrZcZy89QHnE42GrraE<&"V@b)h wT#K Ёlo_U2- 1Õ*,ȹ#c)0܎3X$U :$QՖLlc' -ì RޕTv^ŚYmMCo丗M3ՏT1rmn|!^MOb'Di@ U ~$ ]:_ bx٥1U<4@YϪr7`nMIwݮ+7t*a}0W_)[ߥQp.GJ8C}p)em~(h,bviO ࠌ]>&WBlҾrЩ'suGĦ nT?UFZauz]lGG ,tgf&2-UhNW%%CceH9ajzC]+=M틼 BB :fO]=2VD1ߐ>.$+}z ]$Jk 'TQX9AB](D\śKCZ1<ή` aj Pt ٕ9"E^IHAt=ᒳv㨓0>N.+@{P,vljdA`kSn%Q vW_wc6igD~v:!W]*bI׸~o&ˇ'apr']88}L"jeaZ (.8=LWEh4vW6A^)̿[43.d|kK Ip2A82 [%둕g-t@R D a2qE: cVuϦM4G+4d2/ZUBrx7oXSU&-Z c>p-2hүzDZ΢9 a XGˆY@ a)V`hy5xԡ\LéB_"q&V-VMX`u7ꂻh sL ܣ~P\AEʲ~RV+[Iև փ$:΂2=_sjz05n k(jWhB,rGc~W}Y-]m2EL7*E]ޅzw$@`FiUw)= (W)b #EK71ՌݳJBT&PoN7苐* pr1nyKITO:pq ~F'`c?"pA ^J)yc%ؖX`V"ewW JNhz8=a'yݮ7O-X3!b>|ebHƍ;;,zeИ ӳ?182)u]=vs GT\ɰihxRLVՖz[-9DTgd X(&,hد0(+$5&ͭ v1UoNޓügQu3,0`rb'/6p0~.A.OtWFIvO!=%Z&1 SCm1s8 κv 5hQ7Rqs"n_@eI@Uy̩fsF7ߞ!П嵓Dew\(+Q -;js0Hwq]02IzBhqCie:ͼ0+bp^o3NeVN A't UxQ>L):dl% KC/K;'Å(hHh\_l>$ߖ9SnqCoC yXymfxg|bgּJ"Jq'5.k!QtI&&^+hNg7}Am>xK"aKՐ{w(ݥߘGM9!si̪D"gHYUx/%  J30K M\`9 }χY=l*h-x ~Xtj+<|$z *Y݇SON>\-,y[U8CfP30hn'>04vċ g#zK豉ZgAܑ P08A dʉ*7I!I&"0B]MLsr4AzW.%y4숂>@P YokzU; n^h)|7K'Xz02]1{7 6vxa`Fe@%qS!F?d?mDf4"If=K!|l\/wqKJmek"&rh/U5-.nL>D)R&Ϡ/mm6G^]`I@:tmO-<,BqGx4?DDo6 [#?{fv ㄷtӺ ǩ&%Nsum|? wʌӇKmRaAqX"B/k \ȦWs>|Б[ DrvEgu5\]B,T CĬOi5k>kHF|r` DZ6 Y5LbF(;dQ{At XG.S,:A굧mqE yͤg:uwnE8w._ӨvБq.EPƏ`= PW  &k DNk=s2PؖY. |6/l)SŨ9QߺROk OdNCR#f@mKe7o i 8aRVv mĞ l 6$ڶ)TF!hj|es ZR8a@v}aLu_;1hYR,;aHWaYڥWZb?A*$ ̃IXrŦDxba^b &ݳY)ݾ٧U:x4́|`s2͏qǹIT>{td^QbėXA#ik 08QXee@~褬oST^<kHװ H<а{gZv(. CᏏ @Aag$w-Gퟯ0m?<{ŗEMQ혊B8.&if?#Q>zPI;hxs)?(gpmC,|d7͉wϚJA6s+( _mRox^8Ak[a- s3H`@.p5h1-ဝ"1!+ KOrE!$9 0GPR o6F‹tlfH%oWdu`z }nX2fnt(:+†QAw$WM|_c9H4il\tDr$x/F_36A ]ZAoEs9f,߮OW@;d| =S1Z}v݄u% Y%N 9B8֎ ֩@u2}TQ= 2i3d(}S.kvYYθL20ϟŗu DɁ־Q#[lȸu"@R%[\ėEqK Ȑר+i3{k&dT8iK0U)wo yXڍl/V*=U1D1B7M6!}+vpƋo}t[z|Nx+%wm/[<68w2zNagapRA&̻*H |f^A0Tr2aRU㉈q $um!zɧDr]m^hАu\Nh ,Jf_LzY^O}<$cy`L#}ˆ;aK`Z[yPօz}=)]ԽGI_ɌP-?oQPP~xa\Z|[V`;}8 4М\K"Yi;'Kx"c&]LyB9Xyx 3 [k%>FՂfpon5 3_,jġ#5̑`c[`yFH7#v1+)$Mbr"WڵBo )PF؂p.~o(FF4/ϗH]Ox9SAGH5+l$e-xa͜1Em yr,\͹!anXHa:=xN0"b״bɒ5&}mSW*\>BEVD}잵ڦ5|$7gYm+UHX\vAVÍK!{8I3`QI4W |Fy-ʠ1޶^r<u c3DMXޟ @A;,>K$`G Vrp nQ>Kf<:Ē|ĝQ 2yF̐zlH8Jo +g3˟msoڸFZq'|*?߁Wچ,Jҽ,&> }eMAa,>:5/Cք5ǽ+mZX0/O{%blrA#oYBV,6 '&>LMRE"G3k)D.Bwn3ZIs+| HikSO?:i3f@ d4P^LZ,hep5.vƵ&᪂!/o #+,C{W7$&P:*>*񤨧1gƣe-J 'ﺖa1f7kQ VS{˓SW1^cwB_Ji2>_2Y y^NƉAo=*)2!"W]a{'ߎAx7]Bч;|C. -r%ՠa.)Ooĸ c>v^ު*!؉ۃ` ׵FIP?ZT$1rdF;Kw dYQѫ7Yv#Tj-@PV<5|XԾ#0/;Q+AF&R"|Df"DŜ篁DE!b"PӷνFv0##9 c9j\#7u84իš8-r `wO6)oCB=j1\h=P'hs^oec8+WA XUAo;uhu}i^I3?K?wЛ %(C@4gjonUOF5Yp##JiѠ-+byJE)K oKyjhK`$R*Yh3 `NGX #ȏ>*u>%%ʙ[Xw"fr_7Z[a`Y<xU"6SKfJ? u瘂/8 v㉌@V~muA ԃ- :.'#]lI &m\5 0/F鞰ؗewh^DID߿BU}l^ 9SfhY̳^sK6לYQ03a_C2=H,T41}ؚ, i{GHp [+ݴ.(D=oQ䐎oS,2mF񕾚!?J9fVbUqxQJFtb; OFKE@W+iIRmo;I^a0kU0zUޒIjhafx'O<&‚j2Cv1'Mͷ s^n&P!=vh(X3n${@rW1SF"ӈKɃ^S#T4K2HdB* Jݿ;iNT0b6WNbC_(P^24^ rY["О2fnN);E4?RWO횪">NI_>0ayz)ORsy>cS钹2ߺjk~ds%Y6R 0!& ɎPA'ҙ6uplI ɕ ڐzQi_ēFyGg_wkD J ӸyKS6v楩Lm8rٵR^UI;c@ί&xyǴD"ԡH[>Q6.\! ma"\t÷N6/[)* =7I1iFxC,8/Sr#"|gA:o.ؑOJֈ\t=\]|2&/O2bA3 ;TUF%'il^I+J!ꠞ^2zn(DÇG[LjDzN~.an/:dMTBLrzJ?M$;D|_B,6 ~msU'vV-*©% <]/%vTͷaI7T!@R.3AU##0<9wXPW048SF%\b3_Џw0p9&C7Fbu!ьfzrTsO()Q16EQeEIdͼFshFգouƃ"Mf C S#`u1W růhHu.mdk\oq>0i-E. יϬrNZ}$qzozLܤz&&קցW<^E3f/_؉U,H)3خ1s.jB;H/kAQ*}< S(m8j^h@?OJ7~ÕCY{ÿXў2_o-э9#X5 F/Nc#F fbP H:ّܤQH~,WzAeZ Ƀ,{㟯qUK~:Lsg_$q_x#DF^ Wz5\>f3Nbhsڠ'X жo/EQ!z5EuDo&vc8*ǾO>u Ee :/XbL=DM+c >_tbp{!tM(z]LݶbF~#,7FnOA]J[ÝC@b?nɣ4C~dm/؟[_.{kיeYyԈNa]rׯը]u?S跿F#ލ0=ެ.۰DǴ$2C^ ;^V*sw"dcfaZ\c$N]xvu y7hsHDNSPP2M1D2@k5c4pZAhtW4R>5LmWu^1eה~w*cK"7"Jl >)H8'6QC6 Bė';+1u9_U "Ct]ܜI%0xM\Cw"'oKRq6/}TLKx(t՚-+B"$ ׊$J gV2OFO~8?RBQ+#bḃ={4h^,=.ى7GvT! 1WP G4%>рĥ'T9Ң<#rStigJ^M2"d8=}֏)IB >Gc⁦lL5O!vC t7+Jz_arTs7WJI(Ɏ1}l rV!Hڢf` 6cW:Y}-Lϝ{㕸`E=z mbH&,e(3tL JRjɌ-LQ*5Ok[13sQ3ia(/ gr!!< ܯ[;@Z4vj>]m.F<_N6hYA0ՠ͚B ^1ųpٚ)R*3{ z,?{6ᇃJw9kUcO -ׂz/ebn^Uo_`O 6A'UݭǦ05}C(D-pXߠ7Zcoapj*f02+H97Np C#u ؍v8Kc 򐎐ت7P8FĚ0*`3aoUhxhgNT4[#3@Ksl:ap;&Ctx4U0i׬м {<|fœt, 6>V/dAH{$hu:tMd-;^9{^Cg7} o'׮^ f</C-9P;\D.hT&~bޯ4ǵ sdׄU\v'ߚԍdFX5:;Z#.юUq&&qcʌʟNT[Z//-sLhʎdb:|eU)3xͤ}@ۃr>Pc;px<+qqh$9 L(4̘̂8=ͧ}yFW+=uTr75 "~QGϒ GsDL[qVMW ?w=?UÙp`I+`McY*8qAlbaa#YJKc%^JQC+<: n"Ex8xzSҔ@b>n}F "UNݼL0僞νEpv7Mm0's ;3spۖ͸n%MZ %!cg8DPY~ͯbE]#lmYk j'|~ȫ1y ފR)+]s;y-v}]jOu̸OINM W[}!ˠFlaz| 0j鷣ȿ57M][|4eѡVG}̿-^EȿUߨR3̖׶J>eŮ"Z&c\W" ݘjQ*RP׍l_Ӆ(`˩[ QNN6Mەd:#ĤLh_^qTj@ǹ@U }PSsTD.d@Yy{SK%0(1uB)]1,3ze4 Q W~m>u>G;:F;ƽs0n$Ad3@Bz u0Xg`{[J}vAA&Q ukn9 ,j>4ʑh7^EbF(-(l˂-Z> HboDQË7б;'+ݕ4|3m-LG?ˆŽQŖFOi$/16kj t% ~{ -er\mD50Ui6d+OYdUN@x: )o"iv3K k֍h_M[ZK}`,^-q/l7*eQj)>>F|lv3eܶ3R_jղb!Vоrb9 ]ۈ3z$TqI]΃ƸAz"|*Jo'ϼ&=n/ oHyAe3<Bˤ}W @FM}*hB&|BE/MF*aDCPT-vq/wa*q'K"N:n:@"oT6aILB7UTfKB3:7a r]8H,W_CpAR>JVGf_x H&UC`z bz3>uZ[\٨__ J>dKw3u#aKxϽ t|+Ϸ ~K.DAe63U{u{f¿ o'yr=$y'|[Ȍ8/\%|4Mlê1N畎6)%ւ(߉Xt YSۏ#^Jeڱ¿x{k\4hb#v(J7 ΁ބ:w@K:$SW m=5SlG1=ra3VtNW\ɴXv@OiȤ%$x:1%w@Cgzҳ+#qmh#J>;ڇʘ>НW룴8i=BX )KzjѣW*Mh3#t !xd460@ZgX2 ϙi RǰAe8I}LJEōݜjQd]l:F5QgjBi.@D|׀,ی[ZG/9% ~*Y0ؒ|gn6zzSl2fgȜ /$CM훍 &leDKHHX[]\\1f͋" ͳ+[JEDALM(g֊,&mxГA`E E7j{7a#tyY(\IxҲ FI@Jhh|0?n5='P[\bۇWx͙}PI5*&;e`>|&ܖyeɕGolxUp4Oo[PXh /$EB@C_!joMϽy5 K9>.7iOH SVzwɑ<[| j'58ik5а&BdWߍc;H z2{; .2F5+b!keY0c,0yrWTVX {ļaqC4K^b+.Hj`0&ۑ[0^5ᶰX"EӾ "*鰭aqu'?cpRPU<'FȟLķa#ԌFFԣ&EgtQhet# ؇':H5eM5o 7*YEkIo;ma2y&e n#lb0#W+;O "B_iO&C,/ Jr,yY\H ظd\sd vn/j8"*5_H:hSߥFSǧe+_YE6lbߜR%vB=D ^^kM w je/x3R0B}$ED{,c|!$@o+}EDyEbr-`qj$3.iC[@rM6/Oi|[<u?Ut@0#te5|h9ũ}wZ.egУxP8&rj7 /^*V([$M9ZONMfS[ׅڷK>ϝ'P&ǚJr$LeH|eqPM}Ojdrw~ͯRqӂC:_E~ +)6S gѮ=Ȁ"R2-pj`X zmAL'!?hu4";Eʕ+vG&T 23I3IV`H|:A Ffl޻Leal`f?ЊԧAҫȤ&St~q~wTXdޮ%<ӫޛt5C A+J^| x7WQer^<׹[e&-F4gBDtv&A!ӃO7"[V "rfE7rl74F ߦ6I_4Ms0FMgׁAjlO(‰9n9 51aKm#oHe4=T?4oqz[RأJ]5 oy~0q 8g9rz((<4,1mR13= ܷMm8y5HL)})C6#c81( "$$.Qj9PϯŘ L } '+h{\كc8 3zDz<3)36d%5|=r.C}{Բr,MSJ!rW0 1jk#*hy݀˓`|U1쮏:f6H8 pY 1ȥ@7I5p"}^l<',SEm /ҌuS\biv#ds x mjF~~x, =_z#֭gX' hVݸ{z>9@ +1kpz>=Uvrb"땒;o(d:7lA٩{'L :p9 oW/}z[1E\J?4iy F+-)%p5I#JTHq'hZq-5j ƢNn eТQX[z hJuzzKKv!#~>m V +?vB3|\+iV;G!G9ZuA=p6DjƩ;${CvB44rcE0 6'#PUHUΰI3bɝg䨜 j~zafSưubsYE1slfR8L &Z4wKֵ<*[lMmk x=my2)u6GU6EStw 4ߪ6FɢsOwnne;? xk#ZYnq< &^_.Q Bjnڢ+ׁ{6WΥJbJˑcWSXV"iv5)<};g{gdb/ 2A]%SpTkc!e{k9t0tWGOc (DzOgƎ1T(Bl!yw"0W Ȩri|`Oܔ-Ef,=IagMücuquW]IU &)sKW'g`9L~0Ijռ~Njo>l8m6RC)F`I&㚙r˰5@Fآ~J{9[@F+#2R ;yX\!+iN}.>S#'ƃԔـV%\oEA%1+C4ʌ'>bh} aM{>ǃ7ztNAL>즳q!eL$jB 2.8 `B,v#<*Su7cY7D)6Jd9|QL+^^!u `-s #ׁAW.] ݽt65h6sTAh4^P!@S`~*s-. [2*6ۋШ+{ ɧOPg|qe+YZ=|I Rs)ډ9ZԃyA} # b r2mk|apN\ j3'_($E76`3pqXAM ۯfIq+O}H `Izɴ?B>wv΁^fyOv&肜gsPWƩ0Ca5U,~Γ]ٝtZ9kqRh_I W[$8硵ZQ^?b]aR40jY)KXrϐB3 !GIo-g4Xr6F_ 1Y+7/jL\1 qdJڅRuX,omDŔ Ѻ-NC,r$(<8Wc6pvIƔ%'nM$*ѐGǕRrCSLթqJiQTj|[}6'< bOO<[\9sqZB)׸(=MG%*0'ǹ?ޘq'ѳW-HvP2Jo QT11A4={*y/aٱp铘!)SOX5}B6&N=} B*忋zV>Dzwx /nڗ*шU=r_rZ/fE{xcZ@۲M,zeRX1 w*|V;l^7oX6r->ߥRn~ sQPR%S֮GLjM v aЬ(6g<@&L`HԇV6#[fӧKcPH5S0W_.m9sra/}1Ѩ/$|zgV2"zP> J|4E";R"iQs}zc<iBz*mK9,2LBiłzyBX"'VpOh٬ϳ94_ZžI1-R\~|{IӔȑG:rhL1Bd>N a`N0j$ES~<_-8U['S1>}Wry`:°%C< !scNpr~p&I C,%o2X2ߚALO K|D#X?[DOCIԠkWSrulXg i/ݳcz?)i?'t5ZS1y:|I3ŏU tMǴ@9t?*2%&AȕZ%g}V]=&~^_J MF]d̈|;0cTfLȏ]sӚΗMbRT_„$%|aqdIտڼx#naP ]L_h H[SC\xS3YL3P}*R_p"0Ԕ,Yx(fV>\#= a yy-mYM12$SU܉t(C%mR.?faj,Q "wmn6{tPCopTs7fHA 9yFfRYm%wbŦ oƆIj߯iKnM!Sq\Tn򷋽Vl'fhs#4x\{v*xm`#W+ F[{^߯8D& ]QKpgޘX4Y.\ns4,D! GbxPHx^ãbycvH-Dy3 a#NE^v!GR[Jֈ _aW Èg(¶ Yv XhMb}+crph( T5`U,F͡dbSUѡxa{+ޤS ٚ- CZ+ 2OW1<뜩n-̜$}?a f&nZwX;ڽ Au m eLxm]RjB07s,]T^(sQEߙƢvZ~?) =@es 'ꠂAs '=MLn^1)?k؇ltOv6ԩM+an]r ZPm䷯aC/8駞N8DRcj:@)om{02uAƜ~ݣ4;hAok ̄nDܶRTskMjKV2<n˼NI}F^ un&3C$O`ͤ^.{ F! {ӥY^YOP~g"N~ YLJI>}oæ2bxvau 1*,G`2RTQ(F!KKy#a5s ѧę`gҳS H[z}?,O0?dU2n rf~^'ґߢ/ -a"~TѶ)Kef6gH>v h0ו%fEV1@S5_l#i^.Ax3)=bO^ W&H%kt(}O~0 Ag~oh/RbвeAaC+Q2!I&~1 #^9c ;[6N׮+q%yN5мR8W_e[]K.V&L_:9ōߜ,|d &/uC~XD5~7Q0Wt"-ȋţG@@,<[fDWH}8xBjmm9^ ܰ1A204+Ӝ/mZ%3u}m2iٱ_^lLRZYhUNN36P e$rv]K5Ru0\mV/WzMޮ(|cr&n ]sFRF5 1p-Fcxlfw9 )d#g0YQU #-)^B|hPeա“3 3c'<.S(Zi'?q/xl-нFE(u|4zcsy`2澗w632P I} UzKP^_$ٴc z"fxa@xc}&!e G{.+j\~bW ^nw-)VqKB4#(bmއѠ7N {,%\= sܥH%@"@/^ Dxf/vZ yS(숙tᅧL335_vw-/P ong*C3BV&^5޻]OH9LU]XUCb bnU^RE x+F4JYO 07Pyůi1KhG(ysveG\rۊb&ȇ=Z2hYVuL@?nDev-dԎ -UkuPKQ>e6'Q6IH|]Z8'^ woGNs:kFzkl_حeVnfVhh R^VHXZ.U=@%rgO-?x;-Ίv C/š#x̄q/o*)  3Zl&jJ88 >uQy*H`{HG#ȁDI(4flR;`,W4 Gm:z>uMBw)ZҒwqB6py<^Rl1 X>MyAdRrjy4Y'*;0Ydj~p+<$ CuoO690'ɧY0_.D1t˟#ٵ2esFFQNMff^P!U;pPWIa@7c 0qlDSUɻ8 )jwb)6=HgRrUpl..=uQ?M7M-K( wR-ɵ/[\2|It?+`"pL^0fHsGυ3G /g XvP15*{=HOkf2E7=." U}vM/Op[q#*D^~^> 5UVyFW͍a@l+3ϱ Tx!LXB٨M> AP} ަu~KC' KatHz }kO_֖ xT^nsu *!i2{/VN0ʮGB(Y{.$]:]:} r%(n[p LmȒv)sIA&.M8Xna,w ?W?4+;yԉB;a\u8OFPhlHk9,B}me\]qF,_)J}o]90:A&ԝd8\ghZJv!NLq3Kl>_3z*iCg>n *>"ŭF!`8? ]Zޒ g/0?Ӽ%ӈWֺ g2Vbdx3rgPw(,٘Q]яhͣ}ثW2j>}-Sl(}P\; |g zH=.6߽ k 6ښG󦵍ЩW7 /*ݘdSXbvA*@NW,Pқ䌢"˳8*ghƿz=(#ꛛ,,oqehƼfz,2%].McQj9fk+%SjVA)֍7o1D< G1>rEB6!JsN QvQ >`$U@#wKĽ׀[! *[$qmN!=.q1/m$3x 8{uJ RӖjѬő"p Kt(벳 wmxKWB1L Zz3c*K"<'I\65ݷ➡c?慇ZB}aze9(ej? 5mT Ɩ:x |:=H+/FPdl]jeX=z +WA*HK+ex0V22} DdoRDTD2p:9$Rqm %= 5`(.\ 8in"Fe=0F@t|*%щn)8wTbeuP#>'(=d!՗ퟓ@m# R13t}DG8՗._ ž}{Vrn{l!X|P'di S05jϣ%j*+Fh|Ӈ!cOC~닲V+ '>'5dYd:= D RGxoʗot-q"C0/0tK@[,6trWj.eS-JvF&8i1J *1\>m\ e*?3];)Dd2p9c1x0A瞣Ě&  t '+;k&H'hn/ů ^uf 4ژj&-uYoAki[b@^ŞAUwE9AL+-@WQi:,~HMH}xU/x"6>KZ8QH #s*,"YZ2-9GBϓ |}T1~yƱ/P#cbfO˼+.$H\X'xAA[p#f6[s%dJ;ӊޤXa,\{{jz3ZB䔬R.mT@:L]=~H:qЂW{^SAb`.c=QhOoPiЀÒ4I`m:ci%S<>NRtG8.U'?-<ÙGQV:i57OW#JтMe cmcJaR%,0cmsuuDtSӄ_i|/C䖎1abRSѿLo>D_0Mg'8&fܸ3eUCPeZWy\ FLaϳP>N&)V 4 I-YtV"WU:ܥL&FĈQd>Ne9lU{t݊a h+@:Q(szX͸.>Q OrɤCR9'Hsn'a8ΐ{S) S bˆL0*sx,6&CY޻[TXFBWx\$wfYJ||6K}-dxA:4-:N5)chCF j|gxק&6ր>ZhKвmmvނw4U'vt$0frM6TJpSh7׹"PHWyEǒ@]!5? 05@qBL*|> T{mG~=_x#u g8Ry;'}~"l5̓XP.ghPxLO2N+~ \# a"!6^r_scF?{ 09d}~R(U0/ r}E9zɢ H]38Hp{RIWl0 u@ ėS-o0p7Ȇ?R[HwVbȨ*8UL1 џKb,j *Ȧ-ЩGv[[R ?73 wq:UR{yg;Q#ʍ2 *w%.G?DJ-f,!f;*wOf۵LM$^b]0C WM3׳Gߖf13~60e ' {cPBh2|n~lGFȔ} =y=i]uFF|cձ ,AL1 47@X@[I}M g#A;jc/5BbΎRKK\&$u}: 5 (8cx5ghA.\<'%1S^R"zބW:J.X xz>t \zJV9//0L"R&E['7xY`mƅ=̥j%d/gS@ka[`5"FFvni(H{F. 9Kqڞr8W}zq_uq#9`dX6k 2b]s}O.?(I81Yfo.PhNӖ1$#?;懩ڒ!P޼YvB$ | 53 7k+Ά_zw-ϥV #nPG꠲=QOvkUјvS2FC\~ɆhIāĭIdT~5/!2}S>m; [@nWaMlaVEe)''4aǮ,惴(VSӅG.i)pMPIB ӼXc!%F%dϯѕQ[Uɵ쥪۝(A6NLWɵ/qM;wɝj"Vi Yբ!ڌV780hx0o;!nGUoG$g،\hX3lE)k!r5 :%Z)SsI'B!HsgٷN&Pay=́,b+@6L,.+Tm)Gg]{qC>x4" E8ru*GEncs5DOj$eS}/{:4g89'4ޖ*SOY-^VJ݌+[ES+iT'hUlFB Pz%uD\%\?>#NB8\퍱4̙fBN&5?]pAX0go#a[37Qs^n<- ^[ru:&ӂ18``WuPi/Ʀ0=v;I1 O?UM<3|RP< z‡ԏ TFJW*b#E-"\8Ԗ`9:ߐbKv={TRV;kC_Fc@SA@K1ye=`ZpJdo< #7&XoR wT)%H{e5- } xV&/4?gw-$綖f!"*_Q=QBZ/0Iz|[LE7佋UROk'J<<_+e;,ber-w؀x:ƟA57s ˏOΫ)XVjRRMXY e JP}&Ѹ=|, k jL$1+t$=$KŠfL¿ߝXm̟)ݥ2r gcаLUG_C[ʉ6(Q[w[NZ 2r3#A7;ȓ5Xv*]Tl MCܴd\3n/NVWadly&dPm"m|@9 +ܚ8BqwU Z 5c,&x _/;pid/\ ?H-S[̻''ٴdQj PgwV[x?یX>F5z_@5W~aBk`oyg̷tZK3toPw/UmmmrGB`3"rDS#N=8.,YnEʬ #&U;2)e5n끤?yĘ( g3U͔3a55T#i'NAa)94C>M>sL;PoKPSɵR.W0PUZJ`s7H#Nj}u&X>ʍESen r|/ BzW <)WAL kdxfC1P$Qhf=r_PEGc-_=&O{ 8tց,t'YeAz)oO=CB_ĈUFf-dGFFTvf8ssU!j3Y0$XB@볗ͭVĸ@M%]#,;dI}>dq;k,нF(WV3H, OlN% OAh  y7XIAWx33-EV,]?ads^ -ES;8wyƷZ@Ͳ[4>/Mn7\tR>eKilpgY/)XZZ5c;z Ნ 𮠶{BI_SE3` ".c#ڸDٙKYxT3Hԙ>fp­gw}(&E{t'3hDr+lQ)pdk]Lu0YsSF_02֊w// Q߳0 <N":88 P;99<GMNně=fkTЃQfx=] ' ĵJ0mZ2(DZkdQ#`m~$-?sYcAsPt}`5E cVʢ*PsB|߾?hѕJIe5q;(`>tCSIE'Y1@DHV=9q4SV_"vY+4ՖB'\{?뚟Cw`ᐊ7}=#27W6sz`,g\vtkWS@o"g*$t}"[\yjApo/Ibd> *zM$Ʋ1g'>2|L"&NN[@;@##}hSxNoj&_sLg['l>\jm q!@S+$%lߋB:d7^!u؍Dq.>@ o[8+!9eکő= OůURшl_E5TO@dUbS@Vđi aIʭCrr/`h)buTxT($RrpFހٍ&v{:4 MOjHcfrNG#qāBC2TcH*P}6?M/)+׻SZt<{ئ`G]_M5daȀ^cD1D겝G:Z)PɃp$"a:o$j{H(br6CFʼYV#E٠;Y\b.ܦG6`@ily'%Uxp$ kPB'5QIMz rz$ص矱-GCu$aqF3of7]hci߯.M%hW5csChI0,S)Z$wLo@R1DUL uԐu9ɯۮLsmkRH}Myq ϠvO0;Ŕ^=PĦRŢx[;8 QuAHvV1: 5jR3a1 yi/~PBޕmM" zVU]EEIFBmِjX H\R -v+WEcx /.fpGfFkLMޏS9"t$. *RNS‡TN)%(9gO#(rmv^ft9F!uYo_c*_8Ր~ sK6ryw=,YoG8gڱmY V@+-|Rh ۽chgϻs*soP.gE7ٿMyŒ3x0{7>A%|?&39I 8]ٵgV UJ +в8 mdۙ/3N`$U.1)51=&=%:Q{M!L5Qn ?lŶ(DGCġpNM\m7Sgm5 C*- Ej-G鰮>6-88+"1+SfZpV.2W"b`/@S\i]1)h'g$tg=tƈJQc)%NuS؏h؉"uSOrֺIdݪ9g[_>|fzqݑ׸vv?Ldu¬85uT!'$,7AUX:3ڣI `a";"(H۳uhHQxs(DkʾvS t@chpQ2!#?]u#ɼ1nBr0>2"Q|;$竅#i߃uv2LT89EډfAg%̄地|sD'OlyyD/`t ;`$o)unGVDo5uy*)h0A G:K"ՃXy ky߳T]È B{DɹOj#ч>!x[XU)߭t̃j9Ul+学ʋ `j(5җ4R'$pg .oױٌG3<12  雱q~Nm_4%C]r#Gͫl7k|9_23$ۖ0A}wIL׼qݜ&ʶ$"R1gE_c[DHQ>ߩxK?p -ES0`swYFUp|wGY:I乡ΫDiX#/I*Ou_Y 9WĔ")3%ܰtg]S稍^djϭYZU' lwS2I76o"b9BlKw'4 ǔ:ē倆E~a O/J;{9Udh-sEXMFɠ;J.v6jL L '4MxLWKP^Q{*ה$}]@_Wh̙keIr,)OMs2_?LAK]1Gh]N3Kt;.ԼnJI:A'PנּOvLLzy#5 !03cbp,~Q1?f>a}>)Qx"B:S /9ƵIV@B^,Psw8lȏ ];0zwK +?DK/{s˛RSSkdT!+O2vmSRƊM ϋ%.yC~Q 䵯:N ^΍c89FVtKsd9oDm%f=hV;3v/0Ԁv^N 4uiMR"_0dDNuI-eF)IqnNL| 駔dv̈\]X~@pEk--sV!$璼v"OD7b 5W ѐk?ʼќ>s$fP%Xb;u>^ ܚS}`VQ<Gf{A(qXɔ2w,5RsI=m2ԂB/w윱lI19(v2i⇴-uZ)U.iCܑ#hA\j"?0u/0D\B^`suu "/0{bIUu٭!~@7S痺Ͱ<8$23C ] j@vG3.XtPlԬW=L3cS8,BVjBA!I?KwÇ0^ N-wviӡ;~SJRkd㚙[F';] l-ZrTx q3Z]HNkb3[ U9\am>W WƜWo` |Y \U Alu$/[oO^?4tP1b*`8f:$Q>j.nNe[1IJᣂ~Χiޒb+%a0W=Ϗ ;F$7clT]vlmrne.ZL-~[L}>")b9&&0*Rf=gynz̢Gw k+r jEfN_EFli쥚%A< .CBrpm IHjciG@acGZs йi:JK+ne@u6I@3}R-|PM"nh>u7G0] Ft_5H;^5څ{PhcqJ([72=Rvу0M%o ʀ0sQgw|B[؊:Ջ?٬ؾ/ _麟\G*HmJr#Gj+-DG&3rʄxcq.-ުng ǯcp`x[*goބMG8ScЭOֵnˌp߿Q:j[7^KzV0 1`_ ɮ&x3Ig=7#)&}&PMa2kԼvӝލ%l~(P9z'FG۠w59XNT6'6Kj^C6*JMG4Dž,;NHUgE3_hE7 +:T컂>MBKzZ@Ta~1AJ\\/vg0%dWB*7}PfLf `ݣVP)1Jnm{B.׈#6BLj5G%_BgkpŘ:=H+ח뇇UL1ۧY-P>V]%3YL:'ʕ͎]Hhr O90^$$ IeY4ӢA$eB+9,BxJj쳮Q5HxwF `OJvU4A^y"Al(SW֬#GbFg6 |# {3~? ]d[)0F? T,G[ ^w4 4 m]{0Ϝ^ݔmo "]_ 1G@L?]' +y y?h7FR:۪`*եp^\;}_Y|"B!TfibUo=or_%{Lxwrݶ${@OM>UH&Jli@׫uL-H HY.*cg LXQyNSҷ!9ɰ04tic$E5L8nOG\-Ifh@OCeec6G#YQ7B?մziO`mMǍfK Pu"~i \*|]%~s\r'/ Zp- M΢+_\ $g*k}9&-"M#KQl{R[{zUo[9.vލ~Q##"8=8M)~>t) S;o%fäռ`#hh٦[ 9=H ؼ/×oC$C @wW-~%D-Ds$z. mۀܡlZyf,?A<ܿil!|( dDʫmI t!;%?DwOse}o4;PqQ`48 Pz<`-&$c%\\ʔ'#ǔ2?dh=ɠ eycn^B{Ҳ`8.F%жd*[@S{:>||Z/n܋q1&{m-d@`0,_4lfkOJsp'IoޅsZl Av?jU9DIQ^Rr+!pZ+V5',0o~ 1 ,_TF [2IQoڥ~ִ4_t$Oյ{@Vij0q)-h sJ'*+}5$ːcKDUyԂ4JP|eXoq& #IL^՟#ɷoqb yjg0,S'8W1$cUV(tszj%U˧VFk@fGde0KqBW(,It6<#ubki?˓isCι7zLǏ˛j@L=LaP\>-|*ZFeo8d0m7|(b,6IWCtAq.wT|: ?Rn!i,IEwDӗk<0\Q073{yC?Ŭ@Ş]Hc=:-[#門1uQwqJ9S?c+Ԟ Z^. 9i-3$rX'Dm0|:4K硢"m- N;X=;<5j #k+]p!zQeEXl]hA@=h/.5S40שm (+H|Rʒ'ZsjHz4|J-JHYTy վ31 v"ov$\.>J 7g/?se쌕EBdžf(\I:/t;q|W:HUΒ#TAuU.Gu侏 ZTl [Df)<5Tί'^c&4ZlYN]eN2nUfkmU *aOZW"Zksɻn sgGwL"K,v 4㠘x nCfŴja %#d,p'G1D[ sF 6>(#7jR < 6AHЙJbe2-$^ipk m'da)˝ExKrxif/r!)7Se#TGOl)R--yg $7䞏2F[1l LK;OҰo%7|w)̂@5S17t6R 8VAFN0Zŗ'̊ѳ!y9=<2TG c]X,l(B'gdCӨW%ǢßK=YB:1v4/ &,jiw4& -@7e:KYQ1R)KZ|\J$9'=јo@}S(ŶϽD#G+na"`KgXӱm@gǡq^$̞K sXCR b:jԄ*,WG6SYi|slj*Ⓧy fPPF|W WqA (hg䵧n PtPחVxo˹!.!0s2K #⸵J;UY f' M:p4NdUŕ3}5X1ߩA,?;Ǎ3X㚕e (%x<KS~p!W1w.O1XRFĺ9?-8iGêmJ?ޡ" WH"¬Xpw'†ךx *<)p]lx ݛR6V`Saaeg %\e !rR*o66c:=/ORHEsL~J5B;'ȪS8d!k&j=q1c=Ib6X`,iW!4Gt@|^Yh֊n*iuKiȵUXaXl(g Er58B H[x31"z ;dkoҒ,@""*+l& .ҁ͹1+(44Z&T{zTaI>B^LZ]"z;P)1=Ь3Aѫk'MڂxK ~I)7Dgh!N:a >(iP%z5`\Dg)FPI rX#X(4v=Et_88͎7R &߾Mݐ UW2Er %vؑtpG,UTd w[FV%W D*6"%g ~fc \D)ɳ4d fW1]#/Jq.r%7y\9Գ5PM ^kwTx"7w-HeV>>um~Js3+І2fCb{2t7&Ű{s|^bp,Ҹ\ff lb xp~qRI]G<˹ʧ NRQqSNpjқdMrWb&+8*R}^qvjߠd* A\F˛EkDde<<p( kjKЃ=h7 tC,)g`RX  U.?V9i,o(U/[2+zؐ>1[TXE|poP}J]S fsLpjtY3 ]_Ɣrr#!{Xx̭ÙΡjVJ(~y5&Ë&P%sAhdM"}RGov"TY,g7 we [ aoO[B( g ]4;s,'>D>P2مS޳m#}jøʔُ/\N>4޳gqLZUL _rg &2շS{OvD0Z4O,YȡVIo#CH>mPB TXTe@惗Tw7@wɴ5"nRXen6b)L=p R9HN):&§6 0Y1o |Y?w?;f~V"FN+/&AszW)e'ظ"xsЊ.n T!)\5%ϹUO`:$oDW> QX~")KZaV#H3C*wܐu\6JjkDԉ9blk &6gLJ9q8zԥn.|X҆]9!lgZSVꇮ悘;Kp?4QO N,1Q{-)'f&$1ǽ}c;.mvDH; "aKcyē,$LSo>NrjxG͵,;_oPf>|kwf?/eb$_3Cpը}h7$1pҍ|xO}L"Wg\Ӱ06ݪV ϊG\pM<;BKٞLOnU3)Y!豹r:(׹pza^. <堇oFu3<'m%g#F@q:+AS2P׺{(FWZn9zx>+,ٲ&!Wl|/7z.wm(GPU4<{»*eš,VB֘mw\2Cz%l,A<85gqS6d#z$J]i5C V}X1J VSZ"L'E"(U+g-,e?IOyH,!is)Iqap!\\/2.Tkt5J'0+ CEJin0{60P$̗όȌրT ɅmlIJ0 ђ78Eo/s KZ|4>$aཿ4vC"pSkF6ZD;k3B6{s9Ȼ_hL(B$4wPn󶅟Qör$UyOA/^_[|^dp5۸j.ʹF=+L8 X LP_+-&d-_rҔoIRDz0Քl-bnȤP}(t<:=+tzW#E) Fl`rP/aaU8sV,UkA&_kBcŤG('IJ[XU(طT_DC(6Dr0=@pږ-1 ~aO>7N!|2'^jK5'S}|Iu[Vj;`zdočRzRޖ2twwKL "B S}m&G˨XjbCg" z9R?T4͠ 3Q3+jfkn^ntTRQ_Ny JIOoXAte^ (Z򌻪M Q]+~ +0ϋ&5ug*ib<LZE# _~sh:jo=٪3(S8zVB*42ػY_8['D#@N ;F?צKfp 4YOU$?{:(Gb7+)sn{BP= )0=i0@ Ei5 ˕]7p)s68Se$&K 2h뛠B1ؙ_6)P2S _UW vFMy*$SEoG+{[@Vֹ!^+   @/c_v&{{h\֖mtwsw,eHJwI,+yʳ9!8#sh6;lkX1M^[nJQBC;ncK:v~ںJ+q \$f=:B.]ˈ_ϟ^WuC} ݖ@p\ sY:4 5 g/@a٭턢L! ~Zl/1`tX" ~J%FApl#%{@~bܚY˵m N8UG_`'O>!|(bĒI[/.tQW郪D,C%u0#!H͗}Dt9v^HZ>VpS[ ]0w HU|~Z\Ti*$ O }KxWvȵQza#jY|yBwy;5Hs 0j'lܑ wF!3 wJG E->>V|vtJ 0;ى*q%T1.*B.-%=óSVSIEXI-7vs/r1Q7eģFΦW{o5г5Lf[s"E'a r0cq_I+4K㟥[CTTŋSB4uqYIxS׳$^ ^^<|o|:*B5~K6nG}9W4gRo/Xha@t^} ^D}j?M[#`F+n͐Hh-t~7Zg>s`dz^N~j0CY. Z?>دYⳝ? )71;urWg:o~ V%Q2lːH@7NX-h3F%E{@$0 N8f񡿪,!!}u5^_໸Q)vнOd6rl+y͉Yd#z>A&*qԅo]FL ^C2**cɪs'0_fkU @;[8Llj{o{"8#uD7iеݿ|c.xqj~P= rɱJs|ϭY]=8]NPa͛\hZ-+%-qU"{'ʼnd?ɬT:0[dm76ب5I\G(>V_հpI3(H\/mJ/eMt?L_EmVge x7 $,&R^MyQ t*bUܽӅi ujkTp~t>B nc"gĬ㭴0"IAĻ$&ODŽpF;.0Eq!yh"C?3qEչV@f$8c1/(  9 Ew+>E" ~~unPUfF ɼ\ EJ ;bܚn5͸҈p~ h/Ǡm c[n:=FN+mUD }H%@X:z jҋq:,Rm, s./xE,+1q2%GUuĹXc85(ْo"J$lEj&đ8{"Nv&z.h)} 2ȝ|d_ p/z"KT`n#~MݟpFH型Q;}teD mO()Q ʫaEs^IɎW4FVO}WqehC_&rG HWRC'je>8K{* j:'r;eGo%#Z.YΜԵG.2[VssSw6hM}11!]z.a4bSJmayY]  .vX`DV9.Z/@ Ku:9bԗiW7x G]`>A?A=Gb}(+X /i)m~yL(~tv= d ӱyAg\r,sd3s ɥa.zla,Lv1;X.|8Db}$-1Y+}mB +8߂P}DH:V(SvF9Lri@s߳ی~fl83 a5~$ЕS554q,rmцڌoG 6N:P8cHj(\=càG]3>71W}L_Hn|In J,. rGg1:$E qd%Rf'ܺv;=B(PzfAPб+9] 8J4-)??g fwwңQЇ1 eGTj`]I1-5s-`>N(t;]յopP"=w^'C4Alz];Ʀ$j`[$95tw1U7dR?׽"4HH6EGxHCz) bXmӇ1ZNU^4[\dW%WL]+-YZ;j5a،KC/LS֚L-y۾2v5+8ϔ=Wݣh"Ӈa{h y)PF#Mݢ|mz=S%0/xSpcj$@:N}M_NvH52r'G;pF“=C.5gt9ŶYG {Gz'egj0'KRl5&-:GOZ+j'SӻSSK¶GMn+>?D}?^Z 7Urںr"1)8&Bq8BtRmº *H'MS8ǰw0p"7D0=k{q) ?ӭ|.V(uOQ& CmuWiG" ARӧ ;4wMu. g,g ]}pwO6QjCi<{r Agu`5;M !߲V~HqN#E#9X*ތXq!BY"%=opSeWlErV䗜Z>h8=vjCpˎ'nPIooIRR4!5$ ڐ $=VWY8o;K:k=~L* XB FwʉLR y%3V G֝F]_:rɌNP'"6e,G/>?vۖCITg">x%T@D9} 2jVXSM5_ч 3+a+s7C93LRZ&j? L0:UVng ,2xLE/$w?Vjn磇=L6m3鑊5Ѷ;ROw1 1&nS|WĊYbPpfW mqp/_#kq2'YJyad[rfp\ ,y棕(|IW׍u=8Iܿ/H/\Z? IMհ볶̥ Obb, s0^#]z15wՈ1BNבka1(6ې 40*s45Xb?2{:?!;s4xGJIO|ñ]DTϧhDCKjR7Kw%/~j)!nc1Yp`|#pѮE9bvk "q50o~]8yZUg4 bm;ZO`fY04$~)#iUG*]>bqMʣ 2C_ sT~ yd~@W3rî~Sٚ)*9FkۇgTsWcVK C " 5I{"Xly$)|K3y#YM_mGAc>39$L[7'_UlnfZal< '~v~<lV7i}5$p9X_͋8 mWnڹ_xf's0_fIJ񛑶[RN84]/&L0?"^!F/9>CJ;ޔb"tg7ڬ+a ~9l'fE\k>ZSqXNO.,iQjxۙ- y)o^rV&%lՋo{dL0TѨI3ϴH,Q'sDK!3,`jBe0aگ/abs Tp9 w`GMfΚ-XG˙ۂm$(˃TTNa7~{Bm*\%"R,0}oT`h+ĊE9>RhB)Z.Rao$Eq5zo NRO j(UbyzE fkDe 5~566r܈#sY=Wq~w./ʧυSgDd  .u~! 7a?A0hf%nccGq،+sг}ݩğW?jl ԅ|trS`7cG)7ofW l04sjl,C]J4es8V?F8j]o/H  f XP|;6H9oed'seB{4To_>[$ʶ,Nt‹ ͙u-vC J{jT܇Ay;ƟdD 0W@Uq$M4Ry(NonzV]ȁƫ>MG&BX0Y$#B"$Qp}I/k4A\QS(yη <ȭ &n\]7_m$64w [qm3:*F蜵Hzȹ{+ TܯjQI3-1V~Mw]i舞vW=γϷDo/ } rŀMBMT'6 -Cqh~\V:<${rd%,ve7I֧3;r0i$w|66BOQgoȗ偱:Q'w2“`Aw;B0,bD@>;: UGy]o:PO@Qد-jO2hj`T[ŏvtV:i ƾ_*"v@.XxLScpL/毞Ux0 bU;v^<J|A._Π~ }\U};ywuڊi0 F[@$ߧ!KU_UvdOPc=ϵ]D[ I'!~yK¥ 2i5XEhHy|uސbRD {jR݇3dv[71pj09$ ekEt)]ڋ,醯DzRm߳?+y"&CDYWl6Olߢ܇lf$Ty*4S3q'Z[]g=1f0xo8|E4D~ʸ*DhTQonr*@o R@~X@yGPkTzۈ|v ܙ[zV6'DsT`WD(KF3gӦ#" Ce&`>p&EFX9 70%8K 6ܬE~'sĉ '8r:+Q y%Vxʶ0X, J5u! Yeܤ;d^ ciu0<$Sd(Ts AHW ]V?O((#0 A?&\ 'BZou}[Knc@g|9ٜbx #2 {˧anAuБa} I[ Ȟtw: :-M<bvlT @XNN~OKD*!OtֿR<)bpveK8Q*Dv{!ςt\?Y'v;ps `TՐu}M!Z7ȤʊHB rok i}V+o\w3D0HX7-])CJ*7 q1/,-k? -0GX%aС Х@ѓA}r)p?F!udY>ͳgGёL_n1uO3<t?8B/|U/961 Ns-QnWoP\zz4ŸZ, v\/]cbyKlNP$EhyiEl',?s}\᱅G>ƚڐ/XT@F L[yk"LzP Pд> q16:5|◷Ems*(F2p7㾜@<#, Y̨ͣMA%wV[ʏ}l\xS9兼PzeuTB_Y"+wNjzy6M$p6?wȆDU BH'-}ɴV XvPk2nYzopy-*Ӏ%4UP]Yzϝ̫Iߟ< u Yh0@"GJ6U'jP> ?zzGo=}-i 4*—͏ Eɐ2gi/D+a|t=I̻,&۝x٪o >[8?;DM\9?y USmhEݻIM%']hjOeU3 ,1aUmG['PhxiJ>_ Tg(:9C2?o 2"\cY`ܼ%B@j"ĐhČ 0xq~5/c37Ƶ?cL/%9Z e6[ @,X sj8DXǤrk,CԤuNbaE.1Gs%D eR^}HMɣ4˴C9 0@w4._-Rrb5ѽW(Ό!$.݆jsH]9 Łwu4 IB0%2cCO:!4" v<3RĀ|@bs]ium]mPrl!#w-ٵ(5͔l" [/"%\d_r?O5Y@ > ѻ"bjxf4ʝ_$>OUhiTuGǺzD`n*w3\$œ֞h"eR6>pRF"u{:A{Wb.=;FQZW{rE4^Y{A}tU˧^yzx:N#?@bW|t+c/0k˝ϏbS2[XJ-) pծllȖzqP_-wHg{+z-[8ӧ҉ԌE'(F7¤Oěf Q 9BxZ-e/yT ] d V2P($12CאC"W]yet,mhth^ۜs1 o}}&޻LX}"-C8j@s!MoLwS=)ֻ`X_!U5gfEk'.Pq hܟG8^Ր#O Y$6c7|AP=Pd_}Q bDM߂y@vaGM.liR'>y"pǹ7힖vYp\qQUdQ3Y?߹qP&an^}f163Ѐsi3q)H WSj]ڌDu mr6Ӂq_?*RȢ<^g%?Q/CRMI^1\'Zлu$TUy%)|9LTq.A`l(1LZrtk{>Ty Q+b=C^ [MyR-ƶFI1ҏv<0hQ8r2HNJ K7 uͥ FT7|wLex[^Re\aZj'Y@Wo?D{ #s0qfouc뺆C`ٺg 9Cpjs#:4ib< pmܬ;E3RYܕ 4᮫)bIhdB6.kٕ1M; Kʞ*(T|Nh&x4~OP`hJ - ӿ?;-' ^sv=jRԗt=G9H1+s- =8YBX5M4>O\-D?o_eˌ2]/i 6yX͢)XB)t<b^ںG\ z&-S#f#)Y!w@ض_wb{ߧ =Rhz .#8}CJ̠JٝSwcðN߅~ +Qf[>XPԝ# ׺J\e 9&b m~K7Y|#|LiX0-LfOA_bZL;h[{ZKٕ}muCB gԤy8p,Ǜ'}WP&Uf3؝5 UzhD;Ŧ;Xi./,aamr@Իros.l WlDxR4I*ujN3G9[j!-*wEk|bi 1xS[SAulH]FBmTiw`bo9{xc*oRCpHPYW,I5l-NU9'۸/{ HYZ$?'9_1~HPCVƐنn92.KN?ױ2*)Lsl9w=y2o^k2 kxljN%0^c<=zF ة bv u_ct3O͢dxV)vh;֓w6t^&xOV?~`(]rj Sf' T 2t ֆ1n$!I,1ٔR/ðD1 5w|eFO 'p3F8ˢ!+OO{,l:Պl ś<5 sF>ijE:e|ez$}v]htBCCMŞkTײ0KY0>M.ʍ ?EɊS3x5!2yB!~:o3Y oX2H 3;}^2l]};M&ņ!x%X|B/ @t\@R:urZJE} Ó/ &VFBysupvðw֣QVdc+ fd2M"l*ֵ1O8E蓌+G0x\% Pht0p%v N5<|A]O$.̈́Sƣ2#: CNpudb>ylelO&\t<gfA<-GFfM|Tbc$oD O4%{㽇HĎįޤIM }I]D2Jemj:WGnEӲT&bifE)c{A*uq\dStP|$aQ3'#ܡ 5ՔvBuT3iZ{$h3dN߹<X~?,zYA5_?6%[!JxݠnS+rˑ흶K0]CJo1I}TT LS?!ײ۷w ,lR Pxn*H HJOGƐa6BwqѺM7Ӳ,ϲk CݏO;8/iӕ&;,1?TܻM8{ɍc(NI)z"C9"G9X4PCÛg$Nkl['oswmtdSe%L8? OjDOd/e&N,U2ԱSq4Up+Ac`еyr%:ݟ?`+7tY/ЩZQR Q|ˉfVКH~ e0JTʚ*,pz#qpݭh=6d1hwmqC&30i$?` ),>N+`XTzUqG\% O3bRo%xB5 +8 da()6MIoZ4%6*{Z9Ot6'f6Jk(-vU;g^bG-[J`nӚ C{ha[nw $(!ݱ[3D:PhqA@_ݘd/,ץ1,BfDw6;z*TP(fGRm>e h Uc`k0b芦lhԞ tQ#sVNjJOEǩ1HB/9n3Jo]Ck>MU@:N,5;O w{Hh}=d 0SʆnBu 4Q(=ap"~D@Q{ߙjMr{4}Ro]j@ 濤WlOwP? ٶ]`QJgw;W ~ͺڦw+Ć Ìp5YOSͱl#eZS|%\墇Yt<W+߾rZ_z#ҩ$m=_{eEy<VVvt~r`RUzx!R1Q9 ݞ&P@S =υ{/XȶLs{X;pj*Rr5E0ZlXZAX-?#6u]c Ch6P C Ea{X/aAD=S^Jv\.(RԚd!ѶIt@Dg Wr2JF9(@% Ye K6QqU2CߦQ(a !OEk*mrɆbnm2,t%zPTh#6zƶ:D"5_[ *Ow=GM!rr 9t{u>LSTN;7Ii6 V?kV^YBF/4I\߾kHD iWuRR~ɡ"8 b Qg!)6"IJCKQqh<0VQu a}MP,[ 7 a!y_raD!i1\؟V\@{9vEW5nX%Zqh9nZ,㪃~}xY:4ُjV`&eMQ&i=D|:3X~fFM,P@0 Џ%yt$0NaOe&3Î|>cnD-vՎ4!)CY?"S J4ǰ6Ƈn{kՎiRnR(\袍62oc\& EMZO iC[T<y>I;B9'C ِH ){jӘJ5kd5zD}Gl翉I 7W>S*YRdM)sOn5]FSںMg~B2ƃA!;ʚ`#u{l%^mKAپut~R-!-_lJ6$pE2.6_=J2 %Xᵣm5~͟ aӅ"Jy=22w`gsD^gQG^RYRdvW x;>3h"5i!YTfzwzzQ{SXÄӁ&֚$ص=G"{@Yɫ @D;>`20ү"(/5,.bK!"-ٟm]tD̈ Yڜ4JN:TȫcJr9w] {`I^S~kWE>ڊt!Ȩ{]vsLZ6AFv 5h<@SKPbK=7[IFGm ayO*N^D"B]|1aVIP1}Z3`,5WED!l2:C3+joI27Nt*kSTTa5Qz|ҳ螸ƭB`䏡87S&~XRH.o o[j1&)fȆd(thB#@^`鹘:zr%/SQ~ˌ?EfjJeQ$θ5E<|[/wqwbO an% J ȚP1 KM8xu!\9ѐwaCH2x ek}ltu<(^X%NSK5>"mσB4@fMߧp5&(-ހU+T*tzf WՕG͒)Il&z1.[TPM?jDZujQ!$bq[2^ͅmRH/S?ΐ:r| m/GY<z`!D].E͇wOJRr_lN}f9!(;m::k>t/>DhC._CɄ&Y@q~Uגnſ*3syp7y,u3M,␭"! O0)/ _Hl!ԆhJ]pexe|ˀxG6FYrC8~4JR Ռ Uw%Y~t5 9.uC2s,Aa(ȹ00]"R_v } O].T[y-lt"XSQf5l$L.+WU;S"՗TCbNcowGX:[gfy/m9^vr}e,df v cry!Gzj!9KVH+L_zT ˭RBW} 4>p| 6WD/V/6|qZ)DKWYbȿf"9 h(Ô U!R\oS0b+BTgDҐ&*VD}NVs7$ Х @Qd7j0ou/Yy?żMW$C z|MXQ"̈́jݫuN+|0zZra7ꉊj#lLr Z 'j*"ƙPw-g1恻T =B#r1D#4bgY-l簕dA.P䑥s,FmS.{OzdvCm_C5UZ2A|V㖲4Hh؄^8PS 5=e(R)U^Qtt΍N4FTD8G3dY1W s,ЯUG?rBz -lx%7=GU:CAB7:>xx/xhbLMBGPk-r!K;ḑf!Ud8+Y'E+N`{H}mcBgH# k ؉˹Y5>,Vٮ-%A˥$ƧJ@ijyt2d [d̺܆2ND~Db({B#;Ѿ1+[LImJG/d(b1]pF]:EΩZa"ۼD $GX-&+RnnǛ;B;}QAE81%C1sHzQ~)0تN).ɁdzZuH:܂^2FWO{qROѥQs, w'Fgʵ흅 (JXw!W>ёNlDэ3G[yJ-dB+h?HxJ }X" 7@Bf8{Gwخ!u#ta@Af0Q 4*[਷A&ݺyQ!' ;T嘂㰃{--b=BN# C yŽ e7]X TU-×#Vuθhʟϗ8f$K:p a+%?JcмMak#W>j>Û Pc #XB+kiсͤ+h^BAFLlY(_ĈXZ Ø¢w`!RGA"O֮\d9}sA:xZt.jۗ}.v&veF48!^uېmy L8Fqu2!R)_N0_iǥ-z@|OIxj[c9H'@zk* }~CUmm1+[Cђn.^dv 'P4#Rhyp_*4݈ceCGp^]J|ј Ԍ951Ž6k.ͮcu(!Ե@: O }ׁdi` P.0*@<Qt1^z Q=<:3_ U}+ecZ4VG%τg{ZDQWu GK[?2W5fZ[G\-=t5B{L.;hޒVccF:_"t3UX7d6°{2\97  6j;wI5>Jr©F /#*"Lx.#Z\V޴/U|`z mOOjk4A#o/Zt' k[o&io3;{M@ӷ묂-}C/E/s7Qf.O^E>l&ɒi]nӦso+1U{ vXcu\wWMƮZ6a%ޘy]'e"d&N &n)2 Qku0"%KcgY*jmfN+O&PE?X |jw7}q(H;թmiZX4"dYw@SHʁdsXrђ@ZW>M;jAJ 4C7b4d÷2=lkEN?[)ʐ Vh#~p*|.Ez#e5 esӨWpc_-3%QSD?mewP9}` q7 E:&:u/7[H5NHȂ8uԃٸ #yQH?R]^&#mD\Gkio`MmqVI}K #-Z!hq`uh<>hlQ!2xJ%|wI@|!?^3sֵ1@Y,b_ZT8ryqt\x ݃+x8޸)@g~A)vi,` 2 9s,iK93b|GeЛqb<#mw1*_8gVA ra @_wҢ,DH&תH>6qJo>u{ZJbY7N&(*&{>qryo >AdPܴDt׼ 2!l{2I+Kv#!jk_zBctS)cFz>%sQc0HIfD3}wѕk$rHFŴ#Moזt7r\ؠuZ2X^G0˽]=EXߦ3Jbȍo*q!wP_i).A9b Ok \n{<vPMF 4^w%jv>/RD((!\ߙlby h*Wnt (G3P?=m z-!TH nn84ggdDF+`%6. Rd}4{ia4bE]͖Vu,Fw*?_Y"?GpIUjBmgY㧢?~ipvl+KV|+*c/Il4Z{ܼ3BHʫPCk얠#04I wng5 ef-bp_U[b4|O;0=*Eu >)Ed:}3CIqfZ|4)M#h&)yE-VQcSd_x $613N; NOwDF>m { a3'x%/GXLL6R"(g0w FNeiPPk*ж5aT5a/X#]#w5YYFW8E5{ゎ7tJ HzV E0gx؈gm9ΝJ+$g -gz7=,Z$ݝ7<ӬVa _V";ɋۚ~w{AhVٳ, gȻ|_?b8$".6‘AXEzx$Wo4fI9_ *:"$ 'JjmʡlYoh4ء}U]EMm_~.ݞqa-$N$lTP> c1Dr6c7ɾ`k}-^TR^ѕ75 AQ ɸXO,\BVMP<®wAF$N= <}uNJ Z~hZ ӓ71}zH*@I٩-"|Y I4P8A 299_%kid<sp_)a!2h@R`|#5o;:xc5ߥVi)699- _:hߠ/aSF1 XįҜ8LI^\SU4d%c.VNK?JV.z3}8[Ø(o`ċ:IY/R_5L6cEʬ\p~230dM+UmdVx$wE {haly 8%5<_%)̃-1@)۽U8WJ!k`jՅr4ԱI@"#t1CZc {7~qsk)h g&P<#ɇr6r];|1eď +o1x:J߷qv&,@MϏR znѻ4nX7k9l0uHKZ2T"2ݧ<ڗfZ>bIGӝQNmKkٲ)dˀEA˱S'99w 9CdN۳Ow)و]LhK$ .=ԫn)m=5*fIC<9Wl)cGN8`;;$h*Bf`!?O7b .bTStWyޏ(O%kZD쥋)[ 1*- &#P4mY<.WDcEk(;5*F贖hJf4o1DBy ia,,$p8hEB nC@7T֡wG9Gx>KcUr`ahl17x9h8tb% 37M.O&o(߭ofk,* W~lBeG-nt>mWa;)O_Mvi:I.=5z?Cg)|W" k[z/,ABb@Ch%^*(Ͽ&G[VHvl$o(vTC_IBh8C^qZ};hO{dz%H]K7=M6'3I0]&q&uVƝLpPʚKwPZqA0bK,^xvGJ)16>AKGw4$at>k#HFK7kVEz5 I> lKKݾM 3^X^GS<̢I@Pvjo; ֛2j(paf ^s CЫ>oY3tDϽά,Vh ډ+z7<^՜3RiҎQg۽(!N.9Sݝfyd jҹ߯IۙެDړ:!{#dFM˰ngI"Li/ѴL{=.;@U(QMy"jc]h(;ٸиb~M+iUZ~ŁC6cGtj K\O zr&!Hj.0kCg c2vZm e&-)מ?tO;in0z 5bk!2˿,hLoss4`專K:mog:JF` 'Ytvd爸 $W| e;|/GZ$8#$m4 D,W~sgK0/{ {SZ@ꝑ.T3Tg1ɚK3S5}w2)♬$F w# R~u3B,e1T1NlA%~MRh%e?E=U cTD+wهI)NJmQV5)[ V`{kzDQ s`yTY-Pd-ߑ5 O%Z-NV/N͚cGT]X=5DHqۋ9攲k*7=ɵ/^5KTf4zba;~ϗãVV>ekC&3 `25CA>_ozBԂH4@GNmK|d>%\L|ms4]1 2Z?ae0 lw`;U ( &2!x`FW̋_*B1R .2lD=GDGC9Хv[XHU|ٵ3Fɓx v>j#+tbQ& U|_MpHkx XQ\"ʷ)0Le:دGѾUz[Q^-m-UpSCi}e~g;+ SZ:? gHND[g8K_:g*Jzg4$ Ȋ&ɚr ∃6ҋXvO:`2_B5C28bIZN$LCWU-HY1t> I3[]&R2%҈L _9^jnx4L( %V'ȧF .*oVv.*rE^>Smƙ䏜! \+40\ 2BJsjyuvR8ORI#6<]m^7RY%;SD!gU`|Ub dv'DG[(;Mc/Zۯ' Fjre 3 OTdX^h%Lԝ򍬖yJnM7Rͺ%;5>p~zUb79 Z: ɤH&QQʯZQ8wRRY@;d+Э48LQH;w777 lDprt\2)>rn5}_g*o~;1l>guW 87vmeG=$,mA9]6ʭ%1PiŜ%W(MP&q%PƻnMaza ,QnϢGx,\F)+{--'jJ<^b K}fXqAw{M&PeHL1pQr~~m[!-rOJ~$ZkkHkַFZ!x{qmx<sμDž O8Ae5I_:p'_ jĸ*C>N }lS8|'$@ R|9S4|D 0IjIQVWԟYygc*Fr@)Q$ωkwtL-F?JW޹_o|r2 } ٜkU]1klXrdw,®|RT)g't7޻ITHHzyd_}eAЄ;ŎG Bf=Jv\`%-Z?R\ozKtC2K*]Bxem$S_ BM3iDp.8^o#}B&<'SwTC)k[ hq (QaLtCr"dQ/_OvNN?IhZw<{\\Xm7C"yWl(#i^YZwef.4P@߾},811BFOk*)(ՠ9] rM/c -p[g+A! P7(7Q)xw~c,U 'RoxӲzjos/ߟl]=ͯYY;RtlLԺnj@<~ÒrQJkIӰT$?=Êt,_H2M =XP?k-$^zhZLcq_}ܦ<WE"t8gC:S>?3FecfXc̽]}ZQU2ty@O [JOUԽKiR?yM+;VmH{"^ۉLH=  /DW z m~ H#C[T3':,恍Xݨl$0[N܆q\kiocW[ҵOw80'3m.h ! T:JKZÌ5[P bw>-]hgAix|j o"I-Xc%Isw/5lv$|#Pgː|3ILS͠sYaSZvvi+FHCjAfNWP!(^3e 0,uy䯽=]|NقQ^9[&@f9:ML`\W}WX845F뙳ƒEa-sECXB6xxu[·QPŧZFn/c}CT*Xv2ڧlQ2q3TlwPf4_֝ O&"n^=RV}^S;̿x'%qy+ ,=yKLРOT7MvϾ(ܱ7< [VM"p͡FTHHPnѠ`Z^vdI3]D#.C_-i'=@rNvqrAGל8о6KB" 7ð>y,sv:Kޜ qr@sfN2Ve$X\~>c44_.x9uo$s&-V/vJe)r; 2-Sz[K9_+x&Wi}3w|xtq4u"Pf /fSP93KtBUPf6g~1F|)^8~I'z(#Rq.uRX! VB4_ʾiO "}ᦨ? ȅ1)?Ir|;`:}Aq*@eI:$wװ; 60>yAչB~wG)ofRgCP ,L-1T]3yW\5cy&lK*䩚ҚәYp;V("Ǚ@*⍀ݲ!.8'Ͼ8O7"m89V8 jTvd*<ӉV 1UF?<3Weq>j-~jT/R]8o|rc(ϗ("źM|j);zE.s#kYPGF?uD09+^ bWge]xMMDվNgadqz;b_)fz.6 ޭi "DN=L+.Yce3Bx(Qi- n]sDR=l(YИ^=odLrQhK#Fվwd@As:x2{ \4-Ҍ`ǓR9W3?\ǥ_YM+!2%Щַwg9|m8c3,:=0ۍL7g' RaʏtgS\Gf[Z }1׀Ы4nbv+Xʜ&.^ 9 =CB]H}Vf2s<4Z>wL׏MI>gk_([W߹+'_$uT~ӶniG)ltג]";}ǔ8S1Bm3ۆBKGO#)0L?z\_qUe8CeY'J(Q]P}'E`ELeӇS=ʇ'T=c0;؇18YG 5^`CIQ^A?ȰBiTCg_0-iy^u$viQ6aX#|%jXe;\g(r?"Nx#f>&ZtBՁn4:-FB\ij05p09H|3(tcXM(zVJr>?:_0UXþAJlM CFvB$T0X7%8VjԲs5UۇMH;t_<즶B`BoUb+9ͦߟz{j&| eՀ ru|NnCB\3o%`xCZSNNA-}[mvXM@p N^ֆe vz DEXj$@W_ۇunQً^_iq8SR݊ : 0@iSXƂ`ؽGi cb|W`cMp94Fn٥D^w nIկiH3 5F7"8M˥ Ň ~9>^2kBheiEE &5co cWEͦ36Z|0[;'v9I2[wud$򰤊޻Rr\ӻF,Eݑ(E8Q+u8f-{V`i x[ b0m+HnK'<.x96sPŔċʤKᄎ2㫯lIx_D/W%KxiR\CW:L]TeI{2.3=y o4NZ9W3 t;F2xM\ޝ4>Pw&xψD682zҵe3o[`1_0쩀1˹miK*rh&Gi_M΍ÓQwN>S7gEm/ϩaQQX7$f7q_5I~߰B\Ys cl꟰ZR~9wc`0854JM>0bNh{#LBYpo[tAi7߷]/~l mlZLeiFKhjB[``ýrmy<3A y2fQih=W2XRh{RPmo2ÁҨK(Qe)ÙVG|4SZ Ab,}5 -ř3Kƛ^->ShTqNF o{>/0OKg4 ߞ04#:(X^%giݒ)}QAx?+ Reb.ThWIFHK=K]<-v ;I9CDZ&{eʓIqNnb&ˑq6Af.x鴡IBp;M1X%9?HB.W З Y}91H"ޢ1_ zDI9]v,5D:]1`쒐Ao˳B}ىLr.硳GHl"R|x<頶cq߽KEsenH[&dmAjVuƼP*;a}0Ow~lbNja^D8~n<3z)C)Zo?Ik_sZٔ &90}z tmW K t59䩭E8:;cvgbSRIq 1j1ˀjj/̆=ڛ'}  hRLO9OM\G@Y.1J)rUY 6Bg\*23s,k rlMRCXwORC?ؤ4Av7stT^-Z*|RR(Tb-Jϛ*:W`bWX=OErͩL Hxmq#C7b@BRϋWGiyf?-/кvH}a6w.Yt[ԼHh1t3[*n1 v=bnms&{g{Kin=PA&$#KߥŰD6=Z#U킑!%gާyBяv@횶to37%ȭgGΉN޳MߙY&|ZMr^(bJP<J!Z07;QM.$X|O!Zj"vAOр P//ku!Է[&jXHT>K-x ށ+~rI[*ב.w85|%y)9Nrc10FtpI+4"thI, f'BJDs@~'rɧ9@# ZH1iCh),*S;3Mƨ~aj;]W<7< f61"y90x9?O5> أё1ݜ[g272얝YP֭ӤXuSZ) g $4ף"`  O>D~K׽Ƙ^ ;CDh%3Hq:ٛ";9( /$YnxAf?ܓvaw"|S;|ޞKmg5!ym kQy.q!'0'ZUi(XʰՀ>&؎Z-3X$T]Pm'+Bȹe/aH ‡^kw.Q<[gP=dCgb PrF+Dng߹F )s}E->qx2TdT`_Kq8:Qe"2Id,i,_?j7HY⡆cQg|nņ4:&ʜ$' ̓ Łb v%/ȵ.~4@Z!eBC"Xf㋵a@ܤUu,,aQ7˜ wܵ#eCJrb5|XF9gccʏZHLdV!0M{w(&ZX8J0K+:)4jo^_遂1Akv(# Y\l#5xf꽪1VwdJi"⹩=1F +|P/lY* ;7}Nm#:6%;wݳi^0Xڱmk?#˱>khR飠u(',VK 9t%,;@%^JYǦľ*kY>l8E<6BHi8NP~cv9?6c0P3Y_m2iq*d8XfǬa^ To lni-%=+_1x+#=& tQ9Vn <|.9v4(Oy}fn˨K{1Ue={z"Ar= 2f4Vr!@{--o:`uR(>*_ہ$%G,dIBʤd-.L’ӺNLe_ϋ'[O0]JLlE5U%xENs{e>i4ylOF gϬO Gb/qr'Zc1ALф%{f}+:sTی0{)qb7_grl՝]Xɒ{rZ3? R;JZҿK)DSΛOOW[pu#щvz~iZ`bSk@ t#Uh3 |~~{ ՋGQ-*_ Ż)KS_ln d= zk8<^/%%@xu72u~.6HP8~wcn4@񚺢!wڹk"2=@i`8i$U3ݸőaizҧ(gv>b|D:F1tG?4H2ӯ3|$Ƹƥ$L$a?<ۿ^i<& N`mx <Pm %)Nbf@!A-(wP>bM&$h6 |ohA6`[̓lj(hzFk'wF\._Ncs}t :*@YJif(uI'L !ZNY}+WUrԎ\o6# T o=I!қh6nMp1V+ر.SDr8/c7GN \sOz'fS8<%>wrff#-E5tOG| vKbH_Ԣ颮ME" K ~( ܫ?ݭ@W-bF&֨^J{pm[tP]U$]/ԩ.4:O5OdۛY&ߛ쌲sXpo_ 1i'a WBYUn)QkeO=1}oCAȖ"$pP)NX'%E}aAD <#1O:~R}~kpI{{ |)f5v*H=qY!m'&W||Y uY 3oLNe2L;ES2*owp?\ʡQ/bgEXt <|ߓeEm`-^c ^_p0vRCc 6ٖ >Λ-/o сY,Zq}sWҰR+E2~%=3 Eb.I{dŷ>Tr-AX!ّ98 )~]TH<*e3 5:Όe|E3oa* 倣עA=w@/gV XޣC_jJW=XDg,Y/>$([}T}p35 R%;kzZN@FhS]R4gЏy#)SzTSSoиϚe&}XuZX@, 2F o-W˧^=sIB}xҩ8۝% =m}IF[b<[sCgVn<ղn@A`Q3lReٓʷz/nVsR*QQO^ \ җu/EU)wWg_xLh7{Hx})շf9]©X= r{wYnYq3btpBOK3G*I-1؋{YU ꌣs|M=PD_f?5ԩLܰ4,%xLaz=Xw3R:H &Q;M3 QKyW9 "' 0Sp9G4\,-crBw`I pު[m˗–1JGb9QSpQҞhx6bp*¢9הp19D>I;OvApoXtC'L[|3 ß*7Io`k{0d2&10d>k[5$&*ՠk, f;Z!Z2e0YMTY'T^+ALtEb˼ \1fkvÛ=n1Q XNS-abOI5 Q96=rf[xJ,K{{A#&Mz( )WT1Y Udj/AԥE >H0(evƣ*R6JBFke@Un,,<=B3ı46qw"шQ%M7%ؚ;lѸ0|{l_|4>@[@)A$D9ZLL#5I{%U:q?H(@*84k3_;WOVf^/6H߭_.,baݷC0(ذ" `&5[2TXU$i'4ݓՏx>1uw9eծդbi9/;T:ZMڳf<`"7֨#-~h7(*+v(kա\-*/7ڰF/ﮨKԟ=0W#k2KL-7vۖ_ DsKUTևft{|1!t c)ү:{&\~ݑå![@>+dX{ m\ /!5O2d|8LY6F~Ή|6~4CD㗸;&s%za <:ղ7{o~?Q0Qz :RfRL#P:WBþXr A"hu)k6W9lnjA|,,n4=n/j'@Q0T:"raK_|p+%OIjƤ8r-UbոDUdzvϲB 6(6V.^Ī˭4|OGSť弥SlskfkeC /2}.4 %j$gn,weð ԭj;)?Fc'Ai7it8;+ܬN # L#ܣ 0r aJePJaP__BL?u+bps 1| 'R{"B4:0$LsX6@C}6_oX֘C518`wi5mXPSH@ g&xsx:.;@X4 ~àI 2lƔL Cϒʇ1 vl'A`8:D܋v[#Dm4u*kowfM!4v"kmx"$,LfgA>1^&q{k(& QBjrun FES+C3;D %us}| VU *!#Ki9I/Jlͩ8Wq(S =9g:=ד  Xh}ҵ\t{gkZtw#J&%*MxRV4=<+O<̝Յ ~FPPA/ǩw1fiGt#Q*yخUP#`I}X%I|#ҫR($1NWHvU2}@vUP`g:;2Sb:7/Xp=z&J7 NWGy&7~S/ #=MI/)Qkm u/nύBψ:"V &dȉ %~$DEܱiN=^Lݕ)^+Gͪ$гeJɜ*`P%h)Ùjx¬=9x=8[/E_1؟ҖXǤG?j@+)+Z5w{o(L*ġvP3syZ6>Q ;o"nS{:R2{ Ť=Oj)Mh>hʺ M-鰝84 ~츾UQ@=ԚF=BgjLӪp;1.2l?0 ĹZs}=FOꨋ Yہy=~u חd[E>[a@ת~ :,LD㽊Rg'er `.(|-c=˴ƥI ˫]$FV9_vSec22Ⱥ NBe,S4ROP6sVeBq53 I|2@hOj;P4A>D\XP'Foaw I3#I{7h̋VB\|66"R[J;i7S7!mЖ,Y}e{#yYG/7lexy$3C?~6zM1!fI3,/ v\3X\(+5!3B?8X9P``s;$S?~\g_CPYR@P9a<<=d>@_oQCu;{>Ót\`dQDTs QImLL r)OacS4zP8|uV^q)#/A ^٢nYm>NkV=`AڍO|9ڽ HW\&ACZykMz1ٌ2p J49J]h]z0BɸH"%Z;Lws%3UUq/,R3~Nnp]`roo՜F̫g?)9N[C8O=Dя b]bRRZ@O/WvS_95RSk ^nO!(ܙAv:_JO`6=8m3c%4KzMljf:RYN c7%}s+OmyȬEךoU-~ h%zJwRu\LaDySKpjDXV2yа膕ZY}BEGj18N@Ge?/B 6=yî2J8@UJC+~ZcQkB6j)*˟{w$y]5lx3wK75'u ݋O"f|m7gzDc=- ef<erJif#*dCI3kRߤ|d5Nz ގ?] Fd! ,TXzx,nZ6ő'Ɂ>{t,q=Zv]jC>l^-}_15@Y#b?h K3>[VaW3I7% g v9nsܝ$Κ=5UJ{P4H I{ S?zQB{a1xA"6DU*ب:33NV֔KL9!.ab$Wb33CI!ߤDPZ #6 JFxы0Îi qP*y\ pOBMRJX?. pL^XZ9=T ݆t_c>2F &ɽ0с[|y9](Die4)ʅDFl hn=x|:"s0KbK}b6Ua^9M wyV\++Y)$QyP m'[fot@k)tC%~ P%טRD￐ {}ϵqX ܢW-4ۼlDYPK,X'Ql@kk匌%_.Be rϢ@;r) z9| wh3.!Θkb& 5 0 !JdoU0F?a*t-۱!x 2i&\όCwĪ88g~1˥ZW槡s#ac`Wm0LWġ7@x1i_ڜF̑ ]Ry2~)vtZ\&q/p2Ћ7v&^`c3>R(ګDwNrQ%Lp@s{*F:34`TWm D mqkgt3(6nof (ILMDCtr#MI3;q].BnLP`phˍ(iZjvQ=!anAX~ A3f GSBⴉdB}mvs/fo[xͱm @FY(ƨ!m5ȴV6t׉ygvQesj/s[ nc6sSy+lmSQ?ɻfL '{ӽs;(K2X3ӿ]Rz%!Ƒğ܈rt@'/7n%4`A ph+fQM;5b@ծ9ŏ58rv9 bNfr|dsl&i[5̆4dM[~ Na~_i=t4؜/2#=k{HEXѭɴ 1U3 |RɟXWz}tIvȵ_KU 2O _2y\}yە(.s9N *E+UqC k \ hFG~5Zu}+YPFm$nI+v$j$~ķyYJAz`WB-'^\"{L .abiA\o%$dD5[AӔFB}#x:V6Fj6gJ0rIl}# D)"YeC8JߡJMTgX6.W\&#S[`P<[iN$\ 7~[XIlpci 2c.2#&W8}a\" gգZ.$8+KR#횟l̔MOKP5-wTOcTBy4&릷9O$|쾞x6ѢM\\a2$nb!')R3q Kkl N&7` @ubZCWMDt׽ڳ¹'5Gk+D+ { x}px!LAzFz1rQ8ԐK3.+󸝹0 R'#|v^-Z3Еcךw,`-rDKX)u|uq2iY\gyǽM4 Ԅo* pRijP3蕨f[CܑQ[Nr)̎⧆R^@\ /~]HwӍmI U6zw×vl 64{3L0Pu56ɒEdYѤY `E Ft!b&sMO(˚ dؙ[yR &Amg|]l6R 4Ȓ882J[$,\|>f)yf07(ؿfH}VRFԅ01^}&47ѢVUX冕_YO@DnbfkQp"#lZa@ y ,9ؠ}/[a!Ͷ1Rds.biG>|y)OaBPUIH-a|Oܬgl%@&,?2uL 3 $m$$BDW[ƀ<@O7qT%eZl}ܜTk'qz%`,8K_=x )o?6&E0ol-!R8v;S;zf-y|.xNBlUb-{s3v螟_uJ. ~b _*}y0Ii)7H v2дPJViZ(Z a~C^ά\o/@'vPa ')qP_V FF yka ltt^o W/b;e<:$ P3ER1fD>BrpqJ*zUOGd֮}.NzaDw;د3M_wΒFclU$|rrjO`x=hb@xוR5-in\nkvcaTG؈UGCxrNgelӼEUr6K,l σHi0Oލ15ư$;UG;@m OD*>ֵ)&pA_ 'Q+e78` 7s|rjLaSG:Հ?%.gd_ؓĀX*=3Z̤hwR2cB3Qz5|kuA*l-FFF060w _KD2Kՠ K@Xw5_bsI$:mz ꉭ0O ,Hx];} iA̔0ȯmFl>MdU$8QnsG}:}f K *B:)_|!w=Lp"p:nBIvUw?na,OIky"fÛOGѹWkSz]0_UiQ[ę̷𻩱A79 h OWzarihlqsg Û^caş|[IbRN'/#S\צJ&=khasS x!~N/r /Z6q0Aa.j+-.M`kb8?p^7a>H \!nY WSV5ɏf[my6T[& m tb4ȍD<0Hʫ emڣ*o7Z # ʃH8ɕ4,|>LO>C2`zm & u'`٢>'vz OO5Z.D690Ori.3Hlk@!ljFߗY.lj~$bK`]%1 D"Ph 8j..%"ʨw Z+ג"%zWN|nG5i1K$%9{*K ~0X>=yRޖE%y9y^*"ծ̭.\^}pGl[rEJǟNn=~\}!๢p:)vN#FN 1P' )y +3т%q=l(4:-I׮3Wqk7L w)A QHRxƷ Q%N4?E9b!:aq9('v C\nWƽhz\!zbGO]텒Y^MP imR~ 򌱩#?y$ɉɎדG/u~i_i=}*HKρaCjXڈ @OE/H=8KP\]QaOes4hMof2n;S00T۪{hK;:9O\ҏ40o? ecU.`#R73O9RԓfLJ"e٩]:CYS Сm[xT hso@4 ϼRCp#zӘM:^U5Km  26.iSET>B _ 15 ҾOJG:LPUW0$kdvvK(2pۆ+ 3܀ku. V ek0 [F7-tc7M› [i;Q_uк$6Euv4;=t-!$QV$f 1viao}Þv`t7Jr!zW ; ^=,x4Z'٣v|e^6N m[yJژZ:r{@3~hZIcʨ}c7 k53oV7;!=ݟZ`i*̫'=p PWN 2QD* DfpQڥAƔ 8Ea@:.(oY8Z1򈙨=H[@}Il9=_]KO/WێsQ!xE{#B"8:$ TL }P4ԫBgҠ~Rk80Bg41Ӄ0}^¹jRW;vutg4 0T\ߦ:L^Do)Lg[!9VvzRS9YugUP5(׊QP)Nmf

    y_̡I ;FL֙9wbjFܺy rIbNCq'tF"r>`eG~TxNQsom_3f3ƷsT E3U#N&rU 5/XF8˪9j p'^gh9]* Ք׷Ͷ>6yRwCԨ<=ץMoRjPj.B:b*=mHү5<8,FS^2gLO sY# NݬNBE:nj9$Cƞc_76ָamFkѳ+O߄:c@zlk> v6CB%j`Rչcf LV G}拪 M J`wUY{z(wr~?ɪ\myr(ZeG0AZK. MN ռ]):߿t=e$ʜ[XYd+?jǬtr^v4rAv[\Sџ(`eT14qJfsA)h|_: 4vW-Yxe stS,57yhGj ~œkRL-<ڗUc5.-LXo ΐy\v"3 8&T\= ~ d'@\" t%nQwwJ "vbv=ogtfMPXdU,$Qa|C5 x?=/ DqԴKD"ekف!g'8lvA)ٔPVQBhr1sHuq@_iFζyL\_WmёV L_Tiz^*b_ U\l^<9׆9gَ_;?=:Pd# Y*MX)9x<@`A: ɘ0p$}"l^?0KVQ| u,ls.QyJ%=jHv^&A2K{W#{Lʼ~2!)W3H/G|I x&<OZ84Xrfr_Xs#/c<*=%ˇՌ`XIZjfqܐ#?@9XgzAQ49Btb}wi>Z&d sdfCWVxN]-.Y-4|iz\$Yfk4g3>5!ʶ7x#QRMlgժ$*߿CJɦ%sңrCw6>:G?h]{먒@"3݄JԐop!Qjs:lcgB̟dܦ=WGX.+ IJvLɼѩa"R;@d>#qF%eVA50r8? m@@4P#\:+[F䂒]I705$Y0mTk/*h]$-2Y&C۬\\YO/=>oGlȠ38d ԼkQ=mb>ή{[㤣Yo)F3VA~7w'UFXJ%ī1NY.ؕȣ]?5bCNuk0>" aR804,{#[*u5/Se",=Ћ8v̪}2#UɫЈ. LμZC4%Edeݙ%ҡ``6 1$mٔs!ɔ067jc-!VuvM", jToF?OJ PwGPtÓxlP ikk5N>1%`2W٢c¹`{\M,P7ѓyV t<\㒯3t,T0=<׮o v[Ю@0ڂQaY, | Њ$>&"^Ex(x?6;a '#\)PdK#}FGYeiR7A1&f?$6.0=53Kp|M@nH4K Z'Tx$&pTl1 g1q{o$A#J(VL^{l^`A = eD,|U#zQ_kW<}G<-TJIؖ7Ɯ|y!׋PU#M;*w^!6 Мڵ/cy7 ~&14DAwӞ(Tx 4J&={<$W.:wt@ڙE1j\JPgd7rJn.*{kQ˱nY4~YgK 7fIitn[ϐG0ڑF=\<с|ZIUò AҘ<,*r/(|+ϿTlԿ:s!ުp ,M.bmpUۯde\k=k(>AK[ ~|TE:,ȗy HD~lэ7#L]$D9;~MI8F/Qp5[qͮP4Q㪗NozخEl0AKvWhkSokѻ bpf 3$hSm'٭oU}SFahTZ2z\d6faTR[~ΣKQ RVb<c|˨̋d ~Na2AABuPz|}f7Y mf[/< >SBBs3m"=Mssӌ̡!fV56`F8ۀF5Ofe|X]rh(W@ܖ3~dM0SI 1T5P;;r*M 92]3'RO@$a1 ޲#rVgxR.04~;1kNkW#uZo&1qR^@2X UlOH~7I~he'i\ A2.?Q/}BS޼BeN*GzW˓7UiR [ tu˼~%ͩ )#R8vc@L Yȃa!'de~{<80cY/9Y7鍂,~&2aۄ wL#՛\j6]0]TmneY_mKT&lɚ|q^`YeF J_0__?pLx|k5s5gX^Ŝl"W7؉ix#LU8\~ ftNIv1ɺϙ͓`:sOxIwh+GtV_ -Lh[[63?^dǬL|=+ cHY11`f:(x gx {2hY~xDZeύُzy>E3$?IC՝7Բ&]0<(.OE7y۰\A(C0jqV8V0VbhhE) )vv[ȶc,t_y k =kӹ$AK:2w~j_â,{^V {n. R:U܉HFy!IÓnax i.eHXBgE,7 95δ_EX`GA2ƕ' SVO/46,gN :ȀZW6Nc PAi%K?8C .uՅFWo qGY~x5>qKgxe6=ls/pUy D[+sѿnH-P S)Ūt# Rd^yD=%^W$X{-Um-͞iUb}o3[qniYGs5h4Oͫƺj(X6Uڍ>PP5*lO3]c Ku#;W,F(F$~"ZF]󤯗v%ś5p'3j#c'@w]P#4E V.)JyH>dos!e&Ji^Q6j/@vEȂt+U6{&_,Q$@hq\NFae "/hDK = Wfl5)OsХ;z cm_p"s n*#e4"դtRI#JxaοE3оwg9GKN?Qs1z,Aa\u E0/!evv4eu2i8(o݊HTGr$}~P-/pv5I%VOeJh M6r0KVVZD5ŵÁPԀj[.F<ἏDjIv j-5/Z]ҌYp >Vq륔[ǛMCqzQ}VKZFZu&0_ {1CPQ WbQF(|^;`\QKFr"5o)n!kt5@?LajE7)7&x gP$=h =G]R;s.buG_l H@+IP'X}H(9 9oA+-Rh%l$KbGXoe*,d&kEE`5erkoSٙC|%}yAK_~^DyH` }(0^qYir/}~a1}.{,aKPgpa0\=;@uidA 8(R{YEll )Aq*J>uigʔ~(VNfc8Y3IL:ܱv?={+~AA8I[m~v yũ4-BNa^S͛d9_AKnZW=m^%3RP}ou3n\x,mI˳F _dzvވh -=OI}Ğig]Puڹ tXR/ƅBnʹ(+ϴ]i4P},>|<7&76F|.hmsfx+sP)+6f\c튃jkzZC RD(^ ±:A@rS8!$-E30]ٿ2)+_oo@9IPZX9$ksEVam:*#J7`ceY.;,gșT޹qFQF[P8.WTenx᢫V j Boc>i^{/nyݽǙ ck7$uY?k`hH`ak8WX[:ڃm8Ėrn*gwS._j J.%5]=Bǟvز]ưsg?xZ1 h0#j8lh 3.'Y;G4T:]b@e|4gn}b q܋ zB$BSirx{ֶ(H?t|u<4uI?hcBSR@HVi+_VHPr*]^=ץ'KXZ =-!,)z\ hq0߆XA ?\d~UCuN2Z놮92 9󃓆S;p7U?hb , nNo9wb*KMpv"l+ǐ~V՚1^i7Ӆ1G)yo(dߣ_! CdܨOZԾʓY;eSAq%~FAvocYlZfY݉(pc} d `hL6nPD/hnn73 :b~ZglgvχSv0 Ԝ)l/|-&.C@J5KOUI>C[F*5W~ Q Ĺydԋ=k+J/tXok }Q[ndI&17SJgeϳ t~"pF)Bk  ê^k/gxIb>UZc|ӜR8 fzC۞jP83{tA$qxjjN/K4FWBq91.C)qc]_zܴϡVJ⡔c;@+j y>&Mx~o [6X 38@_ȃzpN3lL-;6 7u `?kcѽ^+E _\taݱ 鴍"-\~٢d: [HfT^jwtOoIfhP'&R<,x01zza٦]SB)|Lb CHK.M&9Ca<泌$4e3Бs,cGٞJ&s[Na]U;,S 'RPHzP i-BƔ^e (+ܧ;sEW w5or]y+zvҼA \-Luʈ{1~ ojuv*C?[5N ~vx 0ayJi\O 5+4D-WYDX* s.1IZthh +W"&t5+يáy#HeUS:Spr+LT13ejge}7fT(` ` LAYHAzf \ "z|וTN=ĔH-n¨'`-U֋IͷzɫQ-b(GjC,`W@\@1<PDcEq>z pxĒI, *3Ptk(_M} + v>#)6*9;cU'ZB,4ޠO9-}qee==3^lްl_Nl3véSk/LpBFQtZZſ!ݐp|N+[gf< f1ĺ]sER[^kϽ:Ê}a3l7M isH*`1E{A<2ll/HϮ[+s!q <˖)Y`3hQ2%5(ܡa߽ٱ~RdeM#6g_H ON] `8 -K .!T&1&h*=ۇo_R#Ln;I#"πwC~6[ V;[:_|Eb<.Ba"DZ-u? H'0=Pk;ۭP:bZxliaA}[J kA6km0/=@L:iC2G8d~X>{F^;WwfW{]_ vRQ'Nøt龔>Lu7q`Οsź[W V=Rn(hr{(G>j!LuS,?9#Y6iŕ̼hMݽL^@΄?2~lXG@z0ɬQ>(MhSB޻DzzHK!Uoۇ衼N#am3o1vbŰ!y/ ټG#Ƙْ SPHpT&2D.ɱVDV "+?Xƨ<3z.a47$ [w`7UON*6SR(FxK}5g:8|qFLzVР {H~9V,!t];l'WT ɖ'ѓQIsd4"l'>gs.s]+sO%T]&כ2p?M±]-զogαQE&M9>u)@R\M9D?ބBk<\5*]Ue x+,iEJDǶJA؟o5|Y*p׸`GFdnx'_рxLU?'!.4d֯4WW6ޕgI >4sppsJ +]IQᤜ)lـm*AHʬJ48swĒ'xG Va$H)nY"X|py8mHC@&,AB9{?L~xhĶ Xoߓ,QɊcy.FƉ#Qa΢D K]ms39`yJ" ?3&XnvQ$Fo2_2c(|GHf9!x6p2],w"αOjnYIX`݈P'@c ;ؕzbFIMჹH?=2lzLJ_f'm Ju U*&..C7~Ӣ?_G4_ Ԃް汞C<%bc%\X|Ʋlxdhe(kHpSnB|K踮0Gtz0U5qH,ٞ=7mygՃWC:d_vM3̔R]K.uc+px~ȀeʊNNnլӖ0H VFe 8=v+倉=U> w٘Vag)~Ř+aQ Yѣn-:3ɹ>>3@UW¤Q=)Fxk7"52ndӊDIc.3`6k?бFziQdV]]I9~tYɗ؀ 0 ':(s=HIJ Az uO\ӛMrhb@<*ԲRStD'.~Й/]͊Ӡ*d;%7qSf(nE ; XIO݃J3F’P,obD4dWyb4DG:YD![z30b Y;'kn^C%w&,f 7d0:CS}鉫rn-he`'xS`$%;66(iC%Dw=^!xKp.r~U'k/kQz[ϹfTѬ&J3,bZu[Uk[74d%!Mjm+9{_I KlHDgjRY;f Qz)g#)i8^-jj}Se85-9 蝽a+hOvV MpT_,Ȱgc^3h`,rL l؟"~4<eFJ4&?X_=cr ִ*a6[jjo]_LJ7'M* S'+5U]Gfy:; Ȇn}/ "bP?m CHTFT8NvBH,G$UBQi0(pC^֝<جnmhzPZ Ÿt O^o;sW,3Wgtr/pf;~A\-eX(n/@q;cB`GEJl4̥7we!G^vݦ%˜Rݏ]}fh*M柗34R 4'10T\9=܈/tIE51܎$yVt sk|5z)BQ2n˵^qBЉIdAPĮPq dII,zk MKkGѹJWgYRMyVkZCT;UrA ;e+)>9-+Sת~XJy^̡7&_w4\skOC_F)d^)DlQY8C@) B ؼ[ yp'v)_E]׃h$@>e8:M2X$"U|#F캈 X x<.vxyo,yҲl1O.֥K4KۉDYE\8F5\n@NˢXr"+l\HΈC2hOH_舝1'UIUяŹ.NY:sXCT6Iı QA /&M{j~eϣ?? Fa:˻L_jN Y~îj1DԎjє^hMM-ӿcE"?=IJ%/t=EaEFLŒ?C뻊 E$}K-<.v3V ? K菆dۑUmA,#k8(0Fɥ<{h&Ɲ,h.zN1nO!>Y x*Aٜy ̈́TݷG.;y5jqR"AEHIخ#hODu'R<]U4_KH\/VB~V_^vUŝ=b%D188K3p~u`G#1BN9]2W+_wW&_[YH诙R1kɞM?Īqo yƔ ân%nQjJ^͂/sQ*;Yti+Aָ) =mﻂPp*@+5P`V^ҮCr /U$[Jo]<3TɓQ gٚDQCQ狽7'C;9J0 T⴨x M>"䶔85\"}G; S`xCŜ=X)ϥP $c`tY}=Y dP 7f Y% :%Oz[CQSwe +\YZĊZUȨ\dfҋ-9/+:oBWSRYe M O:[>noSkq_ԙAn֜ڠYq[gQioC47/>ػ?_H+p=l-N!d5׀m#j5XT=ƴ]j=qU@MAV])FLC̸,@ Bi+ulTGf'Q{۝D85;REf"X1,4[9]:A  zʛ+}`2bn4/C);0-MdIYoW4PY?ą^c5 az>) KA`=JQU q"ߩvd喗L3f*p[*HI<bz~=_u m5ٽ"w뭎lp_؛8&N¨q[J8+\܃N51iu/nYhV,&y4oOnZbďqBd^ !;Ū0<6˲9:vWFQ 8P[ޘ(/o'AjW ]Ԟ8'a|ҴMܞ`ú`c;&{kZ^N/i^^]D]|瀢<\'8hFPAk&ં /:[z9F`~4Pg( exRRe2ÎxQK+]1SVbh⚴l=Ha1ƩcƽIbu՘lޥ*"vɐرgp*PZ'ѩGʜt9id!F$oKUggM%{T\Cu_@{M9QӟzdlH6iomA.Sۚ! .;#=d9F KX@[XU~ud>XUgrFUd)~BG5X=, 91NkU0g8`*A GGPJ0K^B&:&X]q-H$`>0̱N)RkQvlʭ EVF ?`D[}]}@$&ry_H1G0yH>f9r?˃Hzc@WT2 X`(m)XJ%$1= u\kvdk8@8ѹ/KL(R(7 y)we?ӱcg $?,,%T򻑁/0qW JY59RwvN&ɬqO z?kg:L; *KO9ەAڛPt^ CIl[йkVq!(:%Tv ^d 2+,NX`eRSbHwuIN1q9Е\pCNb)3D0Xw T=;eTFyJckk\d^43aNX--LLǾ}Q3.35~*bF8,ȍj"3xBAx ]\ke'~8~bw>#}L}4{ʥS"b GֲvUK}wI3ipSQ`=G!r~i+皆o<ՀsRXЪ~J)%LtP":*Qo/+֘JR{Uc%oW?AF9 `Ϗ/O}:/ 8" ^V] .2͇KA >" Lr.AbW7H)\'BOWSǻ &OcSAz$ފ\:D/\|r-Ql"eĸɜ߄ ÿnvfmt`Lplv(: @7ol ϥﶋ443?dL8-)D֋cQ%Q3cjVYz$KF;ﴊ351⫉;XkX WL  6>3tɭBvݧ +.5:إ\04`"]9TRXL6x}5Ά-! ©c(/E:H/]buJ0s5V+mnjsԈwd uQRCϧd sL18> __leGhT3'&Œ.N]S4L͜1O(x!pCeݸɛ!>Z]EQx{.8gUk5Zx &V t'_ -M>"A]j*q`=bT@n|4u\*}Cnq 3A5BԾl}z$SYPrTbwAާVQkbN)mCV ) Sx1&;UY9F~Y0;X8*o/-2/ "nѤnҸ'C; bAO߱k:nR-p71Ii_xٓ߷"˭~?8Z|9K\Y9th"0bd~jϐEVSSQ 1YϺU-f U pxjT~X-~4_l᜝7eЧh 򮦳ܷԨl5u{6Q.Y9 c*2IgQ '=L)\9-bv.V(]hM8#ptM+<5fF켁Ŭ +:{%bh Kj< tVtz x(Ȟfy2/BvQ0=j}--Fwtw!"A0n^:7=h9bY락_$ ~^VMdxzv;^pQ~hQTn .jWx?{N j*jI&Xt芷Og1V%ԏk&Sc(ͥ|[5x. [R)jMx`˴[HW,5 r{)ZFJ 0%QcFDJ$ l}m6#!#Viv$W>!Uk{v;L ~G{* gF~IʔUQq+owft}@3mAgH*vKޟ` hhc{T`1*$Sl]oDrjo(%M+$O u03@&*5Djp͉4N DDŜhZ&P۽06fF;nƻ.${ST{Ԫ?` Kjm0}VUM:ŔyQ4Ξaůg"#lv"\J v(-G[/x)*dmUR#cug?OѭKȰȽW&pT(Ɇˎh歹$+4÷s:ؑ|긕B~aW"_ySGV9CNz}B+ 6B S-[#m밗V̓%ry:)fA#U"ePA_8`$r!"l)H)*% _]t0*x3&1Jʟzj( 'ēY+ W^W ӋCɠ0`Ҭ4CH|kiP6th.Gא b$[$@\Plѯs= b>8e N{M=Q*jPƆ[D3vhEB+se!۽r Pؔ8SO2'V[::?Xbmp RZ.c?B&^*]vHh92K02[v )" 톱0|& 9>'}eŒ9?BLK-$I"Ґ"%Y.cise8 (}|3$AHB6t_,Xp&w]M'?Z~";Kow~T$vb4>.m.~ axy׺5K{E^/%A [3|^ܛ0g;>|cMNt:R!iw }y)'(Yxr&/T(\GhMܢsQ.yO߆M͹B|D {(|oɞAgTDʌ 39\K_F#JP(Ҵ e]/˪Wk]65G0"id2{^q̝Vi@f)T^t*Oeh 2u-ejYLfԌ c@}@=zΙZbݥUl8Щa=In% ~>sAtc㾥6Vn;pu0.Kړ}AyH'SnLH!%znOfJG0qDžB=Fi94&MjvqQX@r0 U`@ zSDeBj)ӌRz]~SA/~bҋk?4ȓqM, :@No#ΗIJ_E>vӆڡl /|9rR N\/Ԟ-Ҧ"59һR2e םh\݅t"F-IjyvvTCX(lEG1gbVD+¬ L5\c~U9 oR܃ C6>}GuYkö z|04k.Z"gqMU7/,==kDL`1~T[Q+@^T Mi/V`~oۅ#SgNV ,?l/eUWNe.ܼ38 |o uyfWDzbѧNjsEONHCX}B#Zh4s-%e0b(:;f `&ˀ4"r&fe-T|K {3$l;\6!ڵM~<ҔgM5q #rN ]/k>U&5Sx`Bߛ^r KI/N>C͞% `\*d"-,E7jI>x9fAǀ:T|EnXXCN qd*-R;T=eAA3Opp1\+:%lkUt΀ \LM37 +  (BPÜ23C`T, Aa%Ў1MKr[S~XS㺷CYd [&Ё42:Gy%Nt]C e^vW/"3^w0Rpdk/(NVR 2Ȑw[;.AV.9-Aac$裴)W4 @֯1m Z|z9y*ȥrLZ0gZ}|7tr̅wW]juh6''A:U~OS#e/IHIWj#u"n@b[ \!~[ J]E+zު2bN|jգ 属g%DK- IY*ז5Tcw;LѧB@;,Ew<#IQ^3Jd jK9W(o{9$@mH 0Cbb!+dIdEO5·L-]618lXlx•SD1g X$%& IdcqTcM-==cRoQm1Wzt *,%x:]Q>@Y0;\R6@yZѵ-W{jg&i R/N #Y*{}.ڱVwuv\ *fq{`/- w$6oVeyNYV!)!mƭI3K4%U|[]-CnZKQwZU~ղWC-%MKM7ŬpXA0Ӊ`=MxeU?*6u%ں>/1@kMG\P#z"oZwVD.ű[.p|)/x`&lL Aisػǭk&R {“WncQtey[UH2sTXrz IGdƞ"\T/4T FI2JqYMC,GC 򵚭-n ݌(!?#I?FDR(|f=pfܰ^^ 6 Z)aw»@-WGqcԊNPf/SS"`BD*((-@2zTwBC8бL( <3Iぃ PBtZb7cv=|#/W}-2Sƞ#akU!<`{O-c uWdH-* )CQ6lC XV71,'huKdIC0!@62ou:04F*&&խe #!1“أWK35U_\7>~MVJ_AI-uN %xz@[_Y#"+r$?3D(RzZԋ5h7Ւ<EīmNl5>;WwB47|UE6Y0μA3/,oN2|sZ#Hp_Iy-*S*a=[0=g~tm{~0f[%(Rt( W]䠵܄0lĬ=1 \ZN! > XƔcΏ>ՑЏu#Y,6w?uM)$l@{1GS3٢y1(-b{pA3/ѷ8`jv Њ 0H51&x @6J}g7zVKs+cYAZc>'L ֲӝi8#LCpM},KLi  4w]q1ZxǯMfy;`'zWP,k5hC~qQ{*eU.&,<^p.O%t5tHܴd Q|$3]H% \D/6׍ђ#6Nܚ7!9hXƀ~!"=<\! ؼBc-<*h7rU[R֠]p¯SkER8! TꀙV {>7 ۑؚmy$4ST_CqDxfknLꥣ>\ h c6G46 ,\F3 <gĵgQ?C3V<3)EAflve^zQZ"L߂ *sx Yi^GP"[}qYgceL\Hwn)EjJwPiH dK巓4v rQ9![Y_y6J5mBn֫Awq?ga]Y?ʾ֥8b|ʸQXNa]b aiՅq3Ǹ NM9/q;c&ATcgcDNՂ_kDJ6scP!O:!d&W%5hsTM7dڊ TᆄVH&A bGo@V8e`ԋYpbscOJx"֬{C0xԐhi !Z~YU@y^Kuzƅ_o) IT e?;3@KUȋ;d#UT$(Ƚ\q4R; r/baX^3&8FPE. &aKEvV5k\Holj`sKLj8$smGd.ؾM96U4MsϮ. ̇el]4O:~ж mEB|TAZgmA?92~Ys{iY ī_nb07=3j]b!OpD1WUYmטTsd25))ɒCn_=m`kZه{.dB(7mrٔ#mnqݩmUB9'nNCĵf͂Zũt Mʸs.A<-J- R/%l1®>h"h{^G6FQ!Px~MN;c Ot2a9ngOh7-ބS Zl{]CF}M_5e tl:M#co\fsGy#rygtsC.yO\e;fmsKOsC wwB%ؘ`?8=>omr"hEAGd۹{BRٞ^lsO]Ğ%K#,O5@K$W?As\4xqh4d1 56V0x> ,$?I!'zCh<[ϟx3Y>k`I}#4n\9AΝKoDYYOƞqCv}{Gh敮?6ϖ "[$70^YF93xD-Bh/C'2M(J']U!vr%\]8~_!*kSWdK1ܴʉ#OVTβKF mGWNi+E5"2 rKɥ>ssDn$m@/ wLY1xP~dӧrk$v{ P~)%L\ F/7^G )M}HgH\-iz QYMKoue֘O34~meQh\^M*mRcwك{۫:D[9ܞ ]>s1h* 2'թҢzG8V7x/ܚ7) ,a9B)Zk>W]QйjY#~K%jIzމ&*D<) j@x^,yPgx}.ua"AXrd(1sAr6aE]5僎[(ͩ7(\pG@7)9F !G%e&H'Xa_ qx ]׏SiyM!r}ܕ8UXy&k{23*8񉒂0Z-ہNmT`aYp] $L^F4q[jfz زV"sI Ҥ "{R!ģ ie3j;3MKUuFM|[|R۔GRM-!o"}`q* BK7zY.RZ |,Vt6'gL>J( y@O;bUqse9υo76bLRYC0@o?A7lHc)mbid'h$` i~.>7TfAM*}c&o?B=jT{A\߅.1YO\ML$ǔMpnoQՂ;^ksD[N娍(΢&;@+`_u7u^tP jgJZ*0I~(kl =. J6ں+&X@8]٥hI*.7)dx<+蠎77SAߐ9Tm°QaC P$4's_# φ܉}VϦ)<3/y +-[:Im-/@h] τ|XD?Qst¼Ea}CUπ_M"|T"G49Fe2#hl9,jfG)Ng@hF,#Φ P!!ځ1ɯQ?픉HvyWG8船z^3ɉZ(i.ސ̕ F Lɟ 6Pu_}%qvlO?ųMFbma8P;ZM&AhO$yFq`M!\j6d]\P"y(q{s~.mԹGvE=e%ƴKiZ딬ۗP'#d\-ijNw1TooW_Y/RK,k<%cQ/wEE4$v7g#dqMiZ1 O ONXs\|+h3lI/_xqƿM$nxζxB&&mwc3xvd`ҪQyp'_V#ӃL$~iE+@sx^FP+D}'sZ8nn yE0VZB].Ks.ɏ{><bt @rAXHOĎ&9AX,\ڲ=| Uen_"F%H*8,ghn7>H5D'[tT\T(BzS+C7iBFǵZσc~q%X|t͙&Y: fmyf0 .ԭ#sevPnx.X~X@DWo8sʩK~(r(F~|b3("FzE`%&Ȍ1 ob`R6!P >>!Kn ˘R),mQM0?J0x{.]kAs )*Sv E%ZPQ`ҘPcJ?3ά 2fp/v p'_`v\V,zk6Z#"i9ake@HI]c! }0&ǒP!.06!5;ЪD _V-K@shTvn%Y%9)ց7{0a8/-gFR4*]+ V S [R;9+\՝0p[m"ZypW~5d? >̯dE뵪[)41y .DmpT_3 ,f }5KTsKYzh2^bxv%#r[Y%Ct ߶Vpu7xAUi)%m(Qsϭ(t vtM,~v(O!!+XV# ~qVo2OA[FO~38~b9 jQ.u<$D~4Cئy@Jzl=r"38/8PkGx>{4$PEFr@%TxR4TsMEW8{qqf>?QgAz|1?Oꨐ.\YϢ mx|7 ^æ298ZcoiI{Tw '7vC*}#):ʜGV ~EL~)AZ5Ogqt~De@JB&)A E%ȅ)@ی0}-WG-Sʑk`v5wmҶ6؞e-z(cU!"KPAJrm;bSO| ^qݘRȋUawx;y G|߽"=K[zcgQXnNņP]qf_>舱BD9%?BQ a/r]0~6]lon`L޼EYY֔ggO|Jρ{zEzp նK^ǁoJظ9&QuM|nJW"[%Vҧ%ZRr1<"\0I%ҟ&qV,ү(7KTDueM.מԉepPwuI4M1lb* _-SN^&zrZ錔xQVk[}8(ЫcF]Tϵ︣~4mm,򏂯g[z?%3Ac+o tl}$H 9 {Y^}7>X-%Ys/Ȣkj5f 9`PH)BSdN~+ϝ ̓䷳hԀ>5ӧz`>U_IرC髠<`/#I':dF/k<&HL8ˬӟkT64vc=gKR7Eo =ʶ򏼺9Om*pO (HSr0J}P u2-;E_ǮUZ(К|&;W=[>U-!q{=bf*cGzTQt8i-LGZ;x%iCc𪆚:kw.ta6J_rGGIY@Y6023nIa M^fE:Jc Í(bb1pudRYR7 Zr^(̆!ڝӺŒR H'?HsgEۖZ?+J7d}!oT[J{R7pܝ+>~]4DՄ%E/S( YnGe|τ8 ժu UlRktOTtK]+r}Ң5r}*N@Q)2mqZV +: ]6{jx;L1%JZ~Jt5 xB9q}s LA@~YzʹGҺthIl_rG97t+@q|ILfk4w@wi/=p>mH˩_h{K*oZxϦ6.$?/ K#8\샭îYQ[\E'a={)3&"&(.Yz'M q}˨"h$j=-aQ12s '7-ܓ=Bm.YZ"PV%>)̼^ I$({EZu\cRl!Ps$NEhd;`xgI:uΠ!Ϯ ";Kz˝hNqQʥoa[ELkݠ'=gm\;AԻΜ얿e Iϣ*%,o~lZN 3|;ft p#vmh+5$ة{ CH}lPq%j!;G32KzYFp^n F#RqgC_ o7tgg"1(M}HIX:FK:3d(vH'q#Džj&سEUcǣCMb$2$^dS=ݑCH~!7T:,;G1C: i}y,}#Kچ WSzI˜1RUKyMtp8]7/ym4$:>XkSB5J'-gxkd&2#vY؆Ҕ#nGb-I*[bxs^IeTL!MvJMʦC!Zjx>EiUL6?mM i+;P|rSFJ`l;, C܉upe ifL ۽Cя`eK|ROW,`9JV{Fuç+I &lӈE{C5ztV> .q pYw"6U7?(ΫMC0i/ݽYL 1x3`bId $CXU&IYŧ͛Z;-x j0:VqFPhϫ64B:1+ZGT`T{*÷Nej%ZWh  59,VT"}Iu矜 Y@ȺՁ=b5Z.i Oc!X\"}(My?L(h !gJxS&$f2"0]AŀxjJ֫?FB?$Ky857y*Wʤ[4-wY"nt=J[/!ڳ*ECJ/װ&"j,ǼO5kqWpMGz*3Ƅ/cw{a3lQU v\w BE0f ج\M^Q͆: ߍw1TpWkء1 .M&VǬ+gvYhvָ1]XB/^KvF/("dqtV 5Y2aA- )E`V w烋˳OCdzҪecS|M^JLSlq3S;tl;!8T'ۤ@ߚWjsq ǹmWѿNfRgᲜq>x+>J(b-o젩{y;A ^GRrv68u+73S}fګfNAA5W&VKJ=ђ X{=[~ЎlŒ+GPy=FdTiDĔYw{HE1%b9ffM Cx^8,DhcRo_h/n;a8NeѕQ[ \S *RU8t!V.)3⏏>m-fD[.dm駈bRкGHcdB 9Yјf| _q!DcIk5khSZ" c39%܎᦭忇{~vvftN`=ņK'ia"ZD//H+Yu}Zb 5yթ 6)@&J`ZO$Z=h -~)fb~^NGz. 0[qnje_ǁ!D0dܺ\%3w̉ :?)QQZfF t†5i/H5EM8LǨLr4 يmM]a"6f[l *ݬ+d q񣝩-E>7e 4h̓!IڜJ$N:まjH%VgRzRrĈH m}dKg/K#*y^\e8{&֯Y@&e#:+U`.JXئ UdRվdIg7ސR}$}zړt(\ȯF}ݬ366OMVȒ*ȹǣ:n4iC)T8|Z$zT&Y6!%\'pex wîxCτ3z9& $~hо $@6oӐRگ*yqQ R~ʨ4\*' 57pfiL>ΔKxKyh buk꿋C\*͋eg\vB&eis0~`pI`l>Z|=FtY2<ٵf|M^.bmW,j&-`cC5oP X:}@~a`ZsfbabA<8]]ZpV̼nu޻)5V 8i&.m(U|\fmdNyw*S_'o &|a:ơX7ޠ8 xjpdL&E~#]xGqd9 _u/̒ǓEvtdɬ싕`iG܂3qB8&#)C |ګL&[`d5*puݹq# :_Y0|_&e͇nֲe> lE;5ʺV݌ kbQ2E̬S7W Ej!ɞ"y\i(˶uFTF2MR{C?]} f2gR4a^ ;vP|S|AC +ݿ%bL7(vU1TLotY&aMHt#D:X4Өb"(L6?4Si)K8 7!~s0rNUx*%G-?}.RIxUbneD*v 9!9fչ-i${gI wWXQEktcX!%e-j(x7L hB@2~a_ԂS]9(Gdi`ٸ1}]ӥkn&ߒs,Y/ '{I!J"ހoڐ~02WD&pqw=͆襅WQJjMu.BB[\gfbXMp Gx>9h6Gtt7ýy#xTKQ턡Z Eb2?lFe[( qm18Z"+9wgFoКbJ]*'学aOr9d˗JQ6-C׷0D"؂>fd^yb=v1 4=ӪІV֥zN=&z5\Å>dyL٧Izk:1Lw6wW9&!NR%x,o2N[C\(߽P=lXT3~%.slh7]]u`=c.R^0}iCҏK' :yI݄͠υ(X-KM*TE ,<(~\~@ذO=OpQO P`q@ fQV}'#/SɅO^A՚dڳ.HmePJ{xEҰH7*RSj) ]320stU?8hd~1HiY<z+/֯y/hIN #zDɐj G_3oŪvk˳1:+;\ 0JuNr'(kq`Ffrz~_"?/HjEjB+Buzѥy\eH T]з56 H׮^w];fowH+@&,7okeHSÙ-Jzy "n蓡הPV6ՑvFJ.5^_=U@=;ՖUN"έAZ'x@mZCP=ZXB_ዛ?I!1R@ A+b!h'Q]UỐ 20:}o*鴑.v6V*4 ӫ Q#Ypзn6xƎ6A E\ǭEYVMxQO2I]T,[8 6IB}%jm{R>dbkYk 9(~MUYdU MſnҦ\W,`4EcONZXF}IQd??z1p<%M ґ}!f跭EuNa)x}0X $(Ul|LL4-]˩<9~}JX*n:G{E  y)K^:S TC /uL_ߚb?8'1H Mm'ɀ :D&XfoQQ){nLd%=oQ/jt]tHQ6M59otkҠ^icS7,w_5 .avJ}=dP&@,E艞0h|Lt/f(-}p_Mst>W!LbYhYlpjbhr{Oa]RtwsB ΋t-u=wY{ԁB9rR MuΎ,兢bL֗N9wmEh1WEƵzxQϹ^3P-Zpuz2~x_|,Yng8pLQcU&GG*NԊ J(Vd3ql&eѫ{7]K*GVG ]-ZKy6a<]Pii*4 `U4OA%b&$e^_:uA޴:c_^о%'R|6*vT V-eBgʄfs\1gaFwr0Zj$?|~'73˙*o_a7BL0m|A˰U=Aeg2dP NvMĐ ^nC@k]E&IE!T^e`@ivqa ]g\D_18UX IsHTbT?F ^fA p跙{k-zDzo"v/$1+M{TՖ X9V88\iQ=Hp|qZJڧFGm'Ȟ 56\E Z:A}rVk#[δ+T'%R4H>WBӏ3<WL6U^6iiB`FρQmn(`[)=f~u͆8?t}g*IPfdU+Px@G(')޶H.oo_9ӄM _vS襝^_iQQ=cRXd$NuXX<ċKQJ$:Vc˗cu\OcPv[]h }kFB wcW尢 ¨TRU9z'EN;%`meX>vP'7 LRrɏ=ѵ9rv&o_96@2^ܦ?'T(Id7#@>Y ꊂ Nͥ>vmi=Ύ%1S?;F᱈t /ePXIɏ6Y3+>9sv6^KZD`^F.6a[F]m H Mϳ9gQSpyzhP$1piECWↄ m /Oˀ9*!g,Ylp]30ԀXaODJ}zrAI"Qppxz fanu _Gw9SkRپ BK 7R*JʙܔwաEZ[# LzJz1" |`Rml>QZK!h^@ Շ 0llR,9ew ׁ;>v0Вҵ[ rj{ָ϶(dGHDDY& *3q7bm@glbXIB' ׁCsXM'E57H<_AdAߐa˜زA.0CΫVG#g@}'H>#Ks Q2'Dū0x36؇^Oi:Ennj?"ZETOMP [2d7$SB;eM$? dj)=R B^2G.RZ3ӹ~ߟEğ$].%/R߮ Y703fvSRaf#َO,a w .R KxI'Ki3 NeM`1) g 4u(`Cj^_Iͺ D9s]ǏI&pj#T ALtk,dy[GJ+HrU_ y$$i@IP«Y/a^iR: gM<l:C㚖XYb,=J M䬲# ɐvIϧ]?R)ۭf:9w0 o>(;1_(g@^Q\kJ摋n5z"= O:4t@rs`Nt1)6qۢ׹F Ɗ>E$BYZӅ2# I/63y$&,ь (J" .*q)4aY߬ۅ%P@ꓦ;ީb@)}Pϻ?0+2&vkDfy7w MY:a=qL[{V ĆLVzXDƙ |\ ΅pJ';/<2WV=kZrUMuK(~PD *Bv6_;&oƪbWA;"Xh >iE(ֿlmzxkbn7rH˷ϣ 1 4oHp^)?:}ue*ź!C[ 4_[ Ȼ`@;}^ZL$91dLC>y#=Xp2)lԌ:ÖI|=>"p#eK Zc#tvQEu28x4K@tq)]-vToYLgӊ'=V/CP wW*S[.LHo8H/X$[/s!hs3{C_UޡmwiƧl{S?ē,t> BD+22Rh#Ԗ);9pa tdX[ӤyݙV=ҫ KiX{55z݀j10x9;$չڦ$&{.ú elVc{V6)${4]Z0c]v\QΘQWLh ]w皊ƜŎɟn3]j5P@>;ʳx;1v\d8^QBx `O9W&fm<}{#>ݎ B`OK8IR6U;e.oSI1"})EN_4JAL?$ڡQ(1l0g_-[EiwuXe1 U8Rpo9ZJP'6{@.sd} za,~c4<[wL6GJԔ2_A2qň|y:y[iP⵾?79NزRLe!p"s ϪͯT*9 'fvWr6c՟ҷlfvsycnн'd,:|&퐐pAjR~DZN{ t>Ii=~LF$H$#=bl"5+Q\Ry-]ˮnu6$Ni(#KdVYT3sg<>/v2/arGfxADaw2wJ[6Nə^l4gG)[33!N8T8(F[*UqwVJn}r߯o;]ɓ_㓘1xp`]k52;֢IB9:+Շ٣a#̚EVG⻮'Wȿ ` @5A7AP;1CX!%ݰ?ZJxt2hlŕ᥮ \ MC%@lȩ6 Dψq)"Ѿﱨ \/D>;˒y=$ 9mC&6X OF+d[PǁC*le*d6l9N'Ɲ (yL+]bcz3z**r O@Upjz+̅osPWH",NϲR%UrO beǍ+,*R^=Qkr.k0+\Hr)T,CGsSh# `PعƉrAMӎl/X (Ü]UAPj-n.ʻGha0Eכĭ|5~sE]d֭('H%M~ןH4 LJi RJO"A٭6t{cF5B_>{@i}N͒Ri \z2sXp棖5v*1:@@{ ѩ[`%B{rJ9 %}a9U=}Ås7{9zүv2m_N24ca {3JmIG}Le tح>tϭ,l%ƬW_ҜQq%qSOzX)YVhkwX7<ss?Skh9u U.PwFKEjf&緢?DHچ.j#475ɽΟ&i!Lac cNz;rmr˨ˏ;WeJC]QB1pME6F6tH '1 ;x6}F31787ƺdW"{szM,!XAt !'%i}/aq,MV8Td4\5m|)6,8,alS]@41yhx>M8&0Dޤk;7{*J0q""8W0`}^>DckDkǚ? jl <On[#1.@֌LƔwXΆ " P|!-h3=bVDU* 6`<8|{=@rg> lc@j[E7_Y3?VOd )"[[- Q+T#Y}]g`7 <$=k"~@ew>^3̳%D3E4@ym/ hzHfrMU!LfJ7]"*!"9G|2)Qxc&|NGzQ1/=@x { ,tt"~TAa d)2  M^/ּG#c(/o5(L2@ -[<(LͶLja:O7vߟPLM`VyK_cr c "1m+t3Ufp/ƴ+HP,!_;?UCF@8:P<]?h62I?gA˚ݻ5Z@z;RO!fi OE>-L.>"v~{DF|sXdv(jLyg/Ňs|.0p˄3X8j 9nʞSs#*fIg.B%ڡٖGV:/&^9ʏ5&"J/mh hx:i_VƝ9Sw=v+)R+_W o +Bk 0@ɒV}4P?ıUXh+M1>B-b*:9ZtaX f#e[ !""~c_d5]m+?&8޽wp]r3O=nseS]Xجeid{`?]@iwY1 oбa<Ý Hf@ ]Qܞ]_k޼b$wd6WW}b:9e Cd7Y,@QrrƸ7X`Z3=GPL,} l,A$(84/i}GTv ]F3LriX?'<-(Vg{tM,8O?7[ւ_ JYVMX3k :S-Hb;:eBPĢṻ"r^"j@3Z7>;P.vpiZW7(Zcg; j7{Jl`r蓺*_]|h ;aa{7 KβS} ~`/H)Bw6s0c4 r} ]QjPῩEO~h-&([y- .e > oa'>SH-wU>P蕝ql'{?VgVjWK|:ӏrL](s _CfX܏T18> KOD+#"s%>xvnVQ֨gι~V-k/uv.jM*|r80ŔEUf<VVįxrւG->L?Y 6?Su;Ly,u/(nX_ncGC@BEm[-z pg$z3ڄ"Eo+%ѓƯS i"~\|߃,xx`\u.xc&/QhegIh]k¢`i@$tTR1S@):Ӈ>V;L`#vP\vݕҗ9?aO0 t M.wQ`b|K7C-370Je.ٴIL ,:6>,GE0.Jy'ݑ}D2?FuAؙ^#}<@w@Hn/]7B3IqNm} /RNz'ʻN L8z;LX@VLu(c'Ftg /C=!,odvIPȮX`5? m?|2-[XLeVRC F艶n dG;Fl*e)7ڸq2pv2崷5 ٶ=gr{)9+[Q\qϪ=khX=>.Im/G*AWA/%cӵ{T[" B_ h32=hbKݞə7$].iGޡ zID,\l*H=ÛؙN]ɝr"ڪsɃntθWJjQF"S'|%zCp"ٽt`+e$* @4lcDd  ^׊p @CQOTgmOG@iVu/ KYeվ{=2 v/fHG)1o;B z ܘ3>lz.qHF&kiaQCm#{_ҥޮ{fBqœ ꪯ3iqKAba\~{P_Ra3 ~ :AF֫wOgtTښ_!$2vcytx+<Ԫ?]۴X~lq152lP-Bw.4Ȳ7;cfm A&P$:ԑq]zL?_Af/"̕W׉5ߡŐVyZrz% Kx|FlIKzEۈ8UR$~j+AJ!B:-3t6f溘}w~2cUEZ>Mtw9m(Q\~bI?^ ;ƣ .[xgx - z@X6h;A(QLl$Sa7۰^P7+_L6:^ mL{mq&\w;-bALyFg f:P%,xC]e{B'*!Y"bsZAff풥 'hzĕR;śpo,zDCz_=W/T,9 SϮI bQw8n@J'p'*F6f`Y[~?L$뉧9}+F)-a]ߴ*Ќa^P ~ rPAx!ǻk  FleVjQH"gn~h{휒?+s ?m!d 2.Nwɿ1VlL+@]9bHGL`BFj [n`WcˁF:aTMSuzÊDpcó:5QoY$ՓY˼xNsI@tr'%WB.*.YLSPE7HܠK, k5n6$z~v?;|XqR9b4E4]N %E7BƧ%trPRߗ P0nk;2+{0H?߁3,惎cOpLdkHM ^dKU4/O!^-NLIY.Q/]wݰly:Aҵ-;QƉ IVm&:!1PKANhUyЫi=. V&wKJ @c.{.td=pP*fv&JpV3iF7D݇~7&W8GB Aja#qlp,m&&?  f6bJ̾ЙԐ^O|%&2Rhs.+aJ\s9?1#.qQÊj^5{#-jBv;*6rЀMZ[[Ʃr Me:{WwA,>PPSe;0` HKsFv?sMlwżN[^c>ZMMMn)nR{;M1 t)"GMH膍 Ӛ}8 ^ &xNYc[Sر6>ܥ x hP:uDin|WEq/O[ iP: {٣ >9F1#KAڦ!8q$7r}5nrܜPusNihGC.>aj%sFDhmmA"R ԬIFu+vcv'bd,grl>&Ũ˟1OiS'-SޢQH2Db}BQFV}@:F#F{cklu$R&TxZT$Zq- FrL@U/[6C2[L7#{:{N&hQZV^@!l){D*o$]*Ns !QW_|9dvA}\>u M@~6:* ^h#6h']*%̈́J;ψpbuf*4!tя)ocf0 #e=:̦Γl|5RbޞY=Rk,@qSo[׾!|1*-oꞰ5 5$Aߎ0kㆷ"8锼xD iӡ",NQJONN(¾(K?!qZ+@qg[S '#h6:@I#t*,4tkg>u8 x*6 V9ܩ KJ@< A|颷Po1{ @^A]Xگ'6~~׳mWjP y%L su9#զl]KZkFR= pYݶ6SSgW݆+}WD֑l4.y%m*o(\h$|p1tATS0C?VuDzt)}awcZP\_rHRǜ  '> puiʡEUl/hU|nxzN&7hE!1NvVk)2/uҺ׎\Ο+Sd}eIS58[}Ol>C4OK #ZgMRxz06'dc pOqgLq_5ly !{Y|kU52"+B+@7((;QuBp | TBk<7˯&iьt$N =)'8<(\DI9Чv3Ɔ J!Qxy3 ]yIxNc 5J EjZEփdpq LԁV4! bg(R,lU{k{p5֞= O92Xs3v3O$t >a`\4Annȑo^wv 47\B ]gvڿ(n~_8+-LlեP|]p_%9>pGa6ZB֛mE/#TJXX A6}Z VkiR:Izgϭ}DS/`&( mCQV9U ֫E .).&/t01>vX3/:Өαu'm:wS p+exIU"}[vO7ytIItō,hk7TǼ iQPȕP }s{Dʝe*q54nk*l鳷} I esScPnof_ɉi:%=PNI(|u-ΰX շ?"Tjoߝر-;FAh0*>T$mYL!YCC@7itpw.y0 ""^M m-l1ѢA"%\╜R[ of ui|}曅O_G|$ة?,$e*mw=m$$oV/<\y>=d$Tϻn*ttv=rLd "8".·_@ UzٳQr+v)m8n *y&z[J +SqGۼ0=:YO}WTVZpX`yT|󖠓*|K!彣S=~+^K/* fDC"-Xk!C (Xo޻a`F`C rZKM V‡4; !8Y$> E @ (h[i Ni?QXb-j]lTN$<Rs3Jώ "Nx]Äl)X L 8Mn[z?ȼ? eͯ%fa#퀭z{6Lή( oc'!JO-|9Sqg{UM`~{! PJ, ]S&shCptk }سբP T5I&NoG/ N)N.ȫٿiNj١5,gI8 WTËNL? rJ6+3{Fl]Qitl'Ѫw itCFt](ia#3U"(u0(s| fX%3~H/7}3\['ԃ,{a;v&d;s"Ѣ`O)ۂUAcD8Kir<VQ[w8չ-"A5r?+w !Cq=-c'~e%nӰ %C_ E TfC_mMT1_<82/,9j> hb֗ >U]R2ti[ԍ- 9,嘆鶼aZĕB;V=[tK'U3Z BbweÊgQ_k:ť^< ˣ =2f9pp]S_e144#-̓9{13up%֢ x_Lau8zʼLcnLՙv ZT1}A/@g_,[NDVi=Z=^PCi UvP q&p'~T_DzAHVKZMND};Ӯ~Ӧ9X ?V,1 t&C3>]mb j(.'l(7ýkH/~H$%QQffǦ߇׭߽[Tj#oQ']ƿ\_W+ciu;-=Yu=v0h*';{tEbb;ȗCiD& 5egW׬<}X(sΕC[* nd3Ms}N<Ǽhp/K9'q. qNؔqV`Ry&jvbQ(kOlu#o m_c뽒WBwcEB,u =yr{Ϣ_`jrꠄ#(T|}blJETMAS)k)QO2,N_3- FR-=m6'` [ك672+@ή>xd- jϬ:RC<$F5DG_ԔABS΁#?m!(ג_D6M _쉣@=, B,47Q ͏_TﵦXb +~\aIt j۹\ /)[;t&w6|(yeUb!%px o2ÞUģMcvRG(r$ ZU{3tb.>Sdmv+͗Q֥4BH'1{i8RR]9E\oVu*eyIV~ԞQo[(1#TӜiȗ8vv=sKwm0xaURh(@ȅ5oqR&{qyJm Q I/@NbZT?9Q_+^7>`(,ۛ3`kEP<※SAScfb1v \;Vlo(āUE)|c6-‡ClY3s?~4TTl( nUWMF"S L;U:oB~@KBEN5hQ% 6Arq~?5qM\Ȣm4(Il ';zj2]j hVoS ϐ)Hp=r\Rs㵧]3*[75*2Z#.kGԎv O1 Ȏ6}49YDG1HHx~Q\Ťf3}$yj5Ӧ2 yDŦ'Jl" !Em1OK<]XX9qoG/"9`5Ұ>MTZdp#Ґ`,p,OR ,XE4L]̊:]ZcߐC,gzχcF),~s8E8aP#ܘ6Jr+3=A&)GvXfݢ j6>1D5M TR&UgnXtͮэ,kDAwsy v[SmWX :YZLYѓ&M/ 1LBYWt `xڅ4{꼉OVi7([ڸ=ƍ̖=?ˀQ~:h~d͗H1{m b*p' dƱ26 mllHtN{|U1hHq; 4HuCӥB39pu;zY^l NE̙/ybrԇգ$$0Sƙ̇(ʾ5\^Vl/nnMh[ Arm&_k Ⴔ[3 d.=ApMS#y&ª^J2IonL,)Afpak`XI]s.ΰFVR'e?,$L]BAV&gu5]43ʖ>`$!pu#,XVV}>',yBAo55l)TC 0AqkK a;@˰ 57 {mG.L-˛pG4$Q(j[H zה4GՎK@f8 ]*sAAƐ6 yPonLOA8w&mqHL\Q⇱gcCT Rc'Sq柩ϙ_DWJR7J1c &K2+ /2osgtH4lL-aGƧ2Y'ۃiy*Ai7+PW)TloMŝԁVX9;.\6y>>a0+{#4mY+-H]MxSCa1Rs6h4oR$zNYޠ7儢'2TB:Z9E*9PBzGfrs;J#Ҋ3_G R> 7/J.#9]ѻ] h ͫc5rw~82_<\ ,_r-BZhG.m='rQKR=BB!{]e V}%)Li@9H̝ݐBK(xi rK>$T>+Z@EйzG$n\k݌OTtL"-oA+DEyǴ_obT:vx5fW^\rȴm?jGa9\~i뫥= uXKNTW6~ٌS$ROHg!T(,3%.@ܰw*ྎp:l!gs7,ځ$EuEt1O By]JDeŒ:?3@!=IJtk9(p7+ZրR~fW=A1$.0a!CR!̑Y#,3%{;IrCb6CLɼ (ћ\&B(¯ H}2f>_ltdJhB~|#=^`e%}?zA$o%"(.x^!/z,u M³Ty;4glKgޜvp@U$^|mO׀KkhotW=C.!q!N1!m m-Ȩ:h$᫉!k0SSɚ?wSL 2ۿO0r㧳5 0ٓYru1O[ļ㯿:q*K=s07_ƎlDX bEzGjÁ-2V.* ٷS&Z kjQ&pt*QkKD15Pnܪ&Jj>lq˰T@N8ھǗIs#rK 6ߛDJ^E9[)ai79p\y@BSV֮يsQdpqӿ='PMRvCW㡾8ZtM}MVX}tP.MH; 'HYtJJoޛBYG & Li'JEfGT*{OMg\7ڎʋqςZQF 5^8iS7-պ= :$4"2h+q2]waB 1+θ =P< Ȳi)Dj@ ;/F>JdTA`,uĢH˫Ĥ^E r_FH\ߕy~6zr4i8|>MxE@PLiMVUQpSZnL0M $Aȵ)HKY!C׸dw9}B@І T3@aWw|ŋ%iAH@WfɕOes/K.s7~e[(mL8lп5OlWٵr?uZS5]b^wWiRmd t {pI3e\Lh xh &OlQU _C`ʱJ<[! MpIE>.jk eŅ_ P3ʚ}\t^ _P5v_q}/ro~P9𾺒N¥\هն5 ]P55YI\>m1,gN!3-f HKyBx tZ,'@vЯB{*K KncGfX[+d3>6S7jvzR^xjHMjRr+ى -,YU; B€uڞ@C +3*5y/ؗ_BG]~}oO:!1C ߚE3s7Ѱ߷iIChGe)0JsFNRB_r'kԪZXϾ FXq/[Qpn%̱IQJjH<J ya!grE] /jظVFQּz]H!b3w~dE?*m[hi]z]h& ^C W7@7ֿ)2c< ep$AEiO1x,E*f (vr[~Gd f=SKBvNGjѸߎ;|we)|j-'ɱ}0+?;wqBH- 5WcN«ajꀡeIdboC;AsHTX*ҤDXJФiWA*z&E7:s/L 4Fc7g@^)`-P*E$%h7qB-~ԭڋw,<2e \8 _ 3l3sBlpV!b-Dd;l#wHX{ vb8/, *RɋU۔$ަ~>' #" !OCWM>^Sg5<^  [J/jEese$*^G׃`N%j I;YFm9iFV Ir&"nQB[xߕke`DJggqΑ긥~'*DKUD;Osy\UUwwe%ўp1\ =˶]3鼷=,"*6j0 ;1h\zgy7]y#CŸÃ,!L͟W(F{ twf0$^+ꇮ$)ۦ`A9Ccbu?D%$$Gt84ePvJd#O[+,  :|ItS_ j1yWcTaqI=TvQ5+EP5tT흉߹](zq2x%al+ؤ/S#(KJ.C_C1_Z&@̓7tknDK1l݇ z2lw'i/ Lxt+ApC@'@bPe]V†Wh:ڹA+\q E.z6#I FΜ~ڍU8 5b:G} ]4QC^[`fOڏPh^TmfN .f\Rc?"&IQci7Ǔ:3F-qDw0Tp_v8*tu |cVLrء$iXワ`nk0ax0qWMLySoU}a2*PC*>Y~p. ^NV`g ,rt-n%_]paٔyeyQ[n)m+᝱`1!]xL g%X!z5Πly=>^)9 efj&̨O3,-cŎi=`"e.oK-jCQ"ҝd%tĭ?}hFfNųPJ(SӜu]!zD>p|kP<-1iTσW_n%%DC7 {Fx˯۫yA$Rդ,oĖ#0FhXTT`ib6 @A"† [-XeN6qXSh}I:eMmtl6C.~׸;Z-&"~^?Oȩě>Hϙn8:XYCDe'85UZ"ywj!h4ZTs|ERbl,i{[T[ω-l}h-4$ڐB!z@(H)fd;Ds XϗJȳm5EX\5Dg騲@>{ :qUfZnyތCܻkŬ+˃n Grmռ'a=rM]m"Sq+U8g kXƄsbϐI#yfʭ7n/Rrj04fz+&%&.bDGo5W9B\W"ē2 /69u[iҲ$ǯays" D 95K%ϔ95xUdDrz<9IW:PO"5XTH/ ~P_ƈn>.9_*k+)+ ?=%fBi]fr&Sae =._tW-QjՑTZ5&0qn 4b8ё -cXJ>"2\NP):cantae>5S99.z&<)!!]k{_x;(_1#5K6NĎdG ߙl`Yx;6d#%r^6׹ud7a>eJ^zJܖgQVyF0zt9>XF:Ԓ.NxGfY3tgklῇgP|;7Oi(ir&g3CfL̹QLzWiS0\Io[S1jvngoKZqe/f- 6rʦOUs}V0=BD)*3`\ۃex"Pmd;LTV6S7UM<4ρ2 hf}7cTFNl.ՋJY-:kb쾇,!#\eq9eꜺ5SԶ{դg]ŸNa*AA(WO,_,̻v; 9MM380m5v-h@Un$L{,l.y¬v|@Ջ?9)}-pʼ{% L4h%3xkWDaH`ϳD:-su=(_jUSVF=@ILh6b:W "*dҏU-%  /Ns`/zCzXn B=>%X5H-i'sPAބ:d0{hLl鈵r,R kقf`Ame C寧{q;J#L\A;~_Ǝ҈+ @w聖pߪ[%'wvafQߗ #iѿ4 kՇ/x\ާ2U>E62 ! l\]2iNMO~8v,2efT F`TcQ(/},}(:y K_@X3;J{d~oA,l9|xiAz<.=J\:an|1Xy3\U)#/ǔs`SG9drPc{= Pw:NgnxpPbXƩ;GpDzg2бbg0pV`yKyR+#txMYqXjr$5HzT @=]_X!/o AUb.bXs1- jDP-~(萃luH*3.MAi(Ρt0?4Ł<^ϧlO*嶨O`>SHwzˇWأL%WV«! Pg[9UCtKP!" }{51G  z:mu2RNwg.0ہYqv)+φ,@?EvvNaEF ('_ٱ똷ZOA\4"s~KJb鈿hp;߭ r6,Tn駚WYUC3m [;u+ =?v2q/FA3M]&2 엙W,DL"31ab#@vĹRaĴĹEX吙zT) KIB=;S&m,$NGȕ{m+j] (io{Z|#:p%hjѓq3qoOY=q9Ga9)Ɂš- ۶ECMV f's5e{WGd0:B(9k`ec-jJxlh2Si ;|@"MrB{82ځgx1mqXYUh= ~ bd(pfI>H`|&@ޑG܇[d~XTb<93SIߡg{/-Fa83Cս.<:>8  B%%׹ބ4j$E;_뀡{<7 ;h7 bPWHm|ܸ[+5(P[Qp!2HfN h%l ݋OHtN-- VTDډ?6@*6rGHz)ntqBgLkr.S2l?{LpёI0~zV׵%5 R9-Vd&F>Dg$q:C茺qxxk~ ȗq ǧhOLpt:\5^| Y#иa),.ѳnAH" f6`mXj - 'ԛvA3۞xA{s%}:u}TE$Qè&mc pZn\f@x Uu"a!:p-)N6?UcA72FQGa .hsojOݲ&(}=e~ XS|"v^;X T0jXvWz[[R8_~#.0#Xtk)li.u&Yw-LB#" 5].zMy*i`8b3 HNĬ_X{oHd㰑`%QKePJ#M `t4o*4>GS#li?IoI!`}HsCrx2}ʰ80Uwe] & RpBy*Yh&6ᤘ6&`K dgKSO'nɤMM8{aN{T'NQDucv#gc@ԇv&`';UU~'fz/_>wl%+8@ c~S]_yQ}J3LU-7+`igK0yÃJlzϫwu-r>X]x!mWY> '7B9 =z՞mA o,k"i ǻ3^?mx߇wJ؊sgxZ?|nc%lZ9 OαRԾi"W 2>uͮKcɦIEiJPԤ5?j _J>"py Md;ʓ=-Mرlwȋ zu5>f?(Ay&=xYcm Lc/?RkN%zټHa*0VEm]&=@Hgǟ3ZV $Fpa[şo/¾vrzl^Ds^勾`J`4"8, !aQz/L@-FWrIOKbuVk*`4cqfDz+FnU65T&:(Ne&} +GԮ*e/:JrP&'I{N3?;>?̙΢ӂ.E3"R\bZPW}eS~ 9N^L- tP]i␒F2Q4j\"aHkhl.nG61>#]+c"X'4{Nü/ ,Y( xZ'rJG- r,i%Q.kE-)#w? 9y+Z 8y3s}ެɭ~J :#@( 59K| V&+]|A3.IE Gp吸7l񢱕@yr]}LU߂-y~)siqjnX@>sv"J4i{ GHJؽk Mbn EaҤyf5^r T:pA@S5te6iݏ< ,u+\o D)4{c~  iSߤ0D1 oFeك-{ͪ[[Tl?" 9P죺B">y}h4Zw]0l P8w*|`?ת~vYy8&;ئvw)[.mN^+gdl' ߉!aHI>CARREhn%Y=#3@=puC'PQps0+0:2F6硛A[r֔wRݽ%ߚOK,p%zdq*vV+h []YsE< ˎ9)]Y@IV w֤I0ꛠ0bŇP&gm%[3b, Zƫ j)q :ȉ9T(YPsԀaggܑ~ ^+3΁uD2eEu@3fYtQD86KHK,?t7z1,*x(XefZ;̓䋻iqr(0T/QX4g2++9O&i5x^-LۊU'e W,֦)WE8?+Zishq-kx VE;D46"Lr $1 jelr[Jo9/5<$3nW~/{!D#eg}I<`$k,61pwI!р5GYunK+{{[9R\@)dlKEo10ݏ#r4zJ,x-ye^ =jFGAL_^nlkQJ>2(~N8PC쯔En;PqډfȑQIPD|< _9eef] \h{]R#غ~ bI纄s G֒:|FXR7B!I]o0׼$@ۏI}$r$K<ݺi(eHk=ǐ+/mPUaQȲ`_c_0@$kH+W%.}G?2-]]!Az?x_ ҡ\%p!ӛu$7px?%bjHRMqw'+iRĀbqj)˟K*:Рv MROuGLyFW\B_th1rO#5mZ\rH)$wMn\{ x72 Ҟ"fڡ8Eƾ_ |b&!\Dvȏ gjLFcXQDzNۊRO#]!FKr7莫pt!d$r¿̪zipT [7Ù;f6=ln~~Q UةNJ1 "DYY0KQ& C/y $I 0kJWlXD;bqeֽ OuEI3d0F <*3VnPqZcy"Ɩ)bk H_3Nt J(#/cQyiMVvuP%|6{q cT#aj NCo7[5,\$-wZa~ \;-/psw˚#9JߚĻlOnh;`0Mجd^::7֬? ƟoopwaL2휓Ð!V_Njl˧5+dϸDZ5M߅@|6AAHuv[l*u&Ni!aɬ&{`@mMxODs|WÒlhb'rGDd}nnɍ{`üp_gf+͋.!/U,q Hs~ZDo6~Bi^u9fX4Ίj񍎿)ciJ#ps~5`g\Dbqn jP돩r]$'}'3ʒg<$/ɀurշ\K;+.9u[sk].O.l|1;S$٥$ 72cu3{ nJcмW_g=Qo<.1$ܴ1t_loVWNDoOeX>Ax ݣ92_?Pgs 5aw]C%}BD4j}L|] N0PQ]ӥ_e,`t->!ޜ[-Z.B} oo_Os1I\=vd&}!] \yhUm (Pe*.mlKw,ɒߍ෽-‘ZicaXI0A xˋ#ؔpt-Xש/N&AL㢿+=C>XdN;$)k|g? >4Ӹ7EѣP"" h-V Cbl}n`1BS |(mB#3_yf(] |їG9"BISN^J~|c~y%x.ڲGY{z\awh< FrƄi@?*6'A挅 MHV v9;:smv'/DK,ڃvyZC^p郤# )1.x-aES9mbI^Nr:xdNNƼ_3$4_5k/{r=:ISwiEv 1 ļ2QC/r $7+ o*i{CU89TDć#85Ibđ9mӧRk7Mc㛊W) qu7ǪьK3 wbֵe:UK2!s¾FBљ k/]-.B4R r`+U\O d5@q"݀RۨFhb0U#DZmAZ^5p czsWXp*-Ex:e{UތV,+ aep۱&nFG_#8@_Q^<9&r/Xk.FN֚靈Mb;y1{wH"ńSԌ*/3 Dʪ[AM:nF .B԰+~jyw}S!UѸCeRa;o?KL ylE5W49f|л/-v&>*D rNoP~vvU v">X䈐v~ZDZ0z?^1/Cv 37K8ό7SB|y5 %=gTJ5ưe˚zdHݩ,6ѻZd+T:c^|彜(9DB6;pNS\,dADgK]C沩Û20;%7`($.O4̮)U ;u8yTu.@gʇyhϤGcFF[^)&tA2&`u~N~#/[m6==XBpx:8W2HŐCBX mM%@ ?lL6vB"])hK<;U-6b:6C}QJx'l\W ]Q0%8ƚG-g4ƌH$jtǚr^y<<~g]3UlEEcO!y}3G.ȸч*҇7^-33Q3M` 6O7tS\:7[%rMP1Gg%@3=s\Рy[ Wvg߂=-NA -Ҝ$ BEq~:{wHZ!4B~ ۈTpyPg' @Q ߥW!HV-CUk`~A5 i ̓է`|UMYnnVesV OC,vs}/3qE B܌Mo9h^B%t ,pJ.RdrR !x{D 㡪u6ֆ@=诲2mF\ΩNj aZ<jpV| \IrnLx4jxk韝--yy(rP;>wYقO!X(VT`@w=@Js?mQ# te/H#cYo}RJ*'u[ic xE)[2sߟ$ oEˁ2Yq.CsGqQ&$y9b jD{j/  f=>B*d7-5AQ̻hy3or SY3(,);^AfVJ7Ӫ,   SD'ubMg#?fY \sπ4"{Q´izJ#P̺X0Y7cׇ9n6#y(^DCnZh+hX}uez<(dshQ% AFnx)ee$+=-ڕXKb*hmǵ•Ѩ6{#61ثA͞1lL01NwC\(Љ )e]r;Ab+ڊ/ )ѤHHIB4/WԐi 9xݟT/o& `2Q]'X8{9#U\K 1A,kf0;`|.2uW$ʨhV" =bX`}ox^dνUr7Z4W5qX?e_AyDy!B .k{;Cr£Y[G.)v4ߒ )wÏ[z?uʰ2[&vw7J{ 7/c %\ }1u5(E|]~qR/3ec#aV37YcD_8(hnu~[/ibϺ|fCn>fբ1,$2<0+ (5AO?I; Sl?%53Uu%@8IvUA\ ˰S MMEPd|yu,cSDIZl~blKp%z} ?2+ XTf*o1v ^+8{>7I|(B7 ͯ-rI*d(_6ڹW'Or S2Ui F a`:9$[x!gV 5v 0Q8q8WR2$OzS]^z?FPK|)_K!#cp!It\ cg/`)$2h mE)5^j(Hw4=*1Zr˞D $M-/`%=K7hd*̥4.`Cww%2'4CWհ) ٩?0ϑq)n~ˡ? 2wR^+.&z$c9.,ipBRCĽa#zTK35}ڬ1.zVnsd{iFn^Tvrbp=;] LjbR 1V}<},^u"WژnkMcB׊Cʾ uגb-kxLw7'zŠYyR? :k#/g6Ά>4g*y\ͣs95Q.-W|6EJDP {GQ:UI㐽'埍 Y͕Yֵd$$be1Ͱ&>CVH0yj爾zmB^QAz,UEJfeWL]zʍT$` d=Tv,z@u{u WX[Wj<(D<뚡&JxVC5nKոp\LwvSWc*.W[PaB5Q5 D>f<(ћ)Z}(Dݎqa}>]@w10 {{tkܰ:e ``ʯN3YHLAy)bS_g]ύ 0 0֨RQt}Gi Ҫnv |ѮH%Rw؜.R8hH?!K`CAv";`m.g$pkhT&zryLt+Dld* m?9RZS'^0 Dw"kp%sZ u98o;xjկ-Ty0&D BܿlI_ZuC3dkPWƒ8(:9oΊ)Bb)<2"Wۘ@Mh9boH Ry'p~{r& fqcfEsZ#NhGbB1C|p<:ZO-b`5UODk9x\NJZYC҉ MlaKB%sX׮Y P?)pʽhOh ~c[9` Tϵ>҆VEF:3S`p,dj#Qc9&%%9[ޗQ`P;P 2iP=X]C75=SJ+YAy?! d%Picʔ@UuEܣa٬BI 6wZ7l&+ZJτ@^I}貶4]NXs@i n MĢR<90Ix (uuIV_ٗϿ<ݐz#dЙL*R^nf|3t+w_N+(Dsà$ِny0_g+Oz%x)s@' )eQU29 H[X//Jx]-0H$Le<]k}"z"fkɁNDuf҃לdSm $Јso<2ה*^KoB>qlj ~J7v#SOş3wq?ivPH6ɻdX2VnKN!AMJrh!V E~ dlHV١C?M{ yCy~!:7!5d*T#h^2vW'`պL<_digaӤ (& IP[lAݵ0s~<9|$g ;?4EVĬNhAH̱ډ/0`"t4U R|9y4|nUI[ ku#3]^!}cze?&|0{,(kr:U .U婥YZc{ l-uP3.>۫1sE?0~@PydO|~8dD-f A|l(K׵Eb/l{5kQ9l]7O˗%DK\boyҙ I~xlC kY52`$Vᤓ*̶dBWDwźhSU=Gq=ǝj$7.Z9HKq-z̡Bx gl4j?6tڜ|:n@K67JH($~eQgž󤑮#$m3 變^r, *Ma̓L'.~Yw#XP! }Vr=،[W4#2n2&¶/>I[D80$1؞D:)e4y]B2[ēMCWI kd9pW!ǁ?k>8}hS~)Me,OsE1b#1 Kg 4-i86/cWZpaY#ӜH4Ig 1g?-lQu[IgX.L^) ?eF)6eu^k*^Iԟ\`1NV@o3MBm-m17ƥFr=hg̮æ] UY[TuދGK"8۹ },-ԉBA E_P v]:'e!Ȳ_21Rv@qh_ n60KbU$M7f&j3k")/USౖft$QHLRU1xQyn0[U#"׈V܋ŏrNcuzrxob q6Bϯce  Dw=.Ttu,6Fp{PiS?8` nwM>V8 uxRXoٵ@ӸF1й[ӢIL5~"JuSދn.$.W=(ɜFaZ2 UBX`R :[E>lSi?zԯ=;&&M} ]Ep|f/ ~>AVUi,s; PF `/DqE8hj$Ub& NK7yea[ R.K!oe?:W1'cn $!e- P7aJՂ}ձ/$ ̫U{v %' sN#|Mp=e \Q0ǥh]J漨 Ew XE^]tz[̦v=:D gD&2b-!wC3pt= ;޲~ M,Qr^bG-Ѹ3.iZF)RNȩ DdS52*>61)ۙEڃW$c!q+5ZW `\dz+OQ5bӕ5{ẓHVG4D^;ܹ~&/g`yI58?z,PFzw7qddmݹQwUR(ߵESxf BqU7lY%:YzX{0x^s-ڼI$ #8`9rσ:' .^JJ[>g:}] X;N; w]NO \NwS7Rinq"Qf40*kj'B [Mn)"* g[(~O \8VVN 7CȞU lIF}֭pJAp44^e"dsa,ׇ`hH;$n8S4y:hN2|P BJ.eMhaWhm)U9k0{X-[%)=Wtߤ^ tGG1d b9;7]*=Ly6ULK JQ|A2Xj5@~`qaD?i7~l_׸\rm|&W*֑Ṩ]+. Sa&Cp#fHJq8JzLY؏Cvߦ!A}e X"5eFs B /1@C A6\54s=CRgZMqkNً/K?5:BVmZ#eoӎo'6hg?WpnB;vvV2ƅށ q̊L! r9dmhC@뱤Z9*P9+@X :…~ s!dC갎fxC߶ku7!t\v8LF)iҞ " 2'FcB{AkEF?snlWAK@z?8AV(FYl~$㴘 G` <1V%|e>JDfzL{^લ(C| l@Q!&rE[CsU6Y'sQhȷ C&1c?2,_r {{Q:ן<_d…^''CJ_O.Aa;jwYr|y5_!iL}^ƪwdsh(i.I_AD2`Q xn`dz6 0pEV{rs KgNcJN#Gk#!'i+X'H!qp,I˛r}t3uݲ1-%m4UWPzPxA: ;pgl#`[J]\+HF`|s  }tF|oZ-ƘbNo4cyÉb@>[l46CGoqw¯ 04,o^+;͞@̫[EQKC7"A"D.^Vhj 4vB&oT4L\*4]f޲k {ܚs!rY%j,8k5vGblqJ=9JEUzfR݄2g(3*O|} &?jӇzc HÀLק_A}\Ml\&jϝmaie qHظ 1X uM(¾S >[t[TSapkzD}h%G9Ju'ҢQ& Ip]iI1}Zb~Zx|ޢo%|*h/?*ӱ]WG^Q68 ;m`F|2E]+=ֳ WYi9hkcR 5 %X'&AAM$\ٖy9&_ɻ{!8b䋂I&] ,ST^rk?V4*Cɿt&ǎ҂\ϛ8Rybšth:'! xRB"F37LLn"Q'xس `V9B9*E$j!N`E9,@2NwXo|eJNY@wӏO^fePzfGUEl-uYojSS n\B6)Qq6F44l>;5O cw> O6z JhLy\nZ#&GK{ ${俬YFCʲqE7F;unq%ZŃѷ/`nڥ$nqL0' xcu]^0hP } vLڑb;5amX2N0nu9#m(NmĒ/.sB+6 aʘ,|lЄϩjOϊ-(;yW.C8)hX^hN/5q$:&0 ^#/?CQlet\VN?8hg,>wVnj(Ϸ.w CFjY*`BTh'%UOhfR{)D.DSlTMdD^%d +Oۛr*D"LCEo@,`g]{KKM$qռQ![+Ӳ?Gj*xcN"80iErX%?l]!0{Dq[OjCp|}%) \eas ldS 9msfr*E0cpǓSݚ~4U8WX;kh%k*Є6q(mȶn]޶E=|ʑB)f5*2k>גp[GޱcYbnZe u֘q};U?h'(rE$X]hawBww6OX*ho/yqʟǠ?q_-Pv:58w t)bn9B@ <7n\ěKaW:ptq}tP5zjxЌO\~F.&c58L׽|=Hͮ@ ; QO^P#v/AdTIiinܹ!nqp62`| VLJi~eOH>Y ar傢/C]n믴D8/)!A ~mHt:7Ld[1j|l*&h &?y5''îGy=# }oJMNpB0F t LaV-C_Nxק7+v2ePYMW*J&)m]>ƫ&2a'6/z3Uwww^O3^knrJXpݿKv7 Y&n/TE:&Doǭ`ӹTLW(Y%v;fN junKm bt厸c3f?NjX¥xZfU&H&v'oS_)b3]e`;^-@AAf} l%QM^v=IOElDk3IГKM#3ʹ݃;M27)[(%iX9o)۞2@>ߠ.kQ V TG?j>sZӁ}S9!Ќ趯@ ۇ5' Je udnK\8C&ڞlDC- "@JoGj! {o;[k~,vz` dc ԲDŽ/Rwa#'!u"?^bc}rCatSu]ui+=9\4ZZ0BC4CJ+xܚf[VrhGC-G7qY7hy`7گۖ8b6=P9f{,EV;is} Lh,Pg~ kX~5;KΌxH;gYI7>3dO=c0pa+=Џ|`%=ɅAbY$ a*8y/peK޺{Iˡ/Ւk0*;u:v?DJ cC;FYˋb'UaXg8]S=%$2V(Ke *[d)'MÿlgB-5 :&>-]T)7d}ȿ ˙Fƚ ʸ#*%`KL-F `y} __hZ眓nrEO04sȹg=, ZT%#^́wLH}ElڞY˸ ufZ֡TIHy NnBO5Z.ΗdV :-~(kFȕ ~$R%_ѡh {W߶:7p8xG9?CqE fmZ7Y}IW KSa}@m]z5G:}">jCՐMW2]ʍ+dhM>[02Ǹ]GQ- <'>ew6ڄ݊<~BE )i{ Bgeq3IY'`"_{m/Hފǐ $Ah ][$RU)ۣ<SwmYsQDgۻ29=?cUM&HBÛ K}Hm,GٖO*g?qd틮[nﭑb#-ڝ?ag!@3^]麓vp SXr =mTBXeEe< qյY(տdAWw!:q(_4&р Yf[J?c/%[ҼPt }#gƾě}Ut^Uyy5ֺClp0NĻ:998@ܺ>@Co&.[+SCI,w떢턄F HY yVRnBMA3vT@&tN'ЭwO}P bt;'ʈ!-j2&հT۞9N jl!lռ7ӎ2 4v1]F?3Xi'%6;q=*^^b:T{zKd͢ԹOZZrcChkNׇͭ37?uBiDx[ɱGx/G֢ażmM9wC}F%-^( Rq>Zzot/+WSFFcKXtK9c(ѣVc/%o3ca 2`~5Tvn9b й1DŽv\z"Dac;ۚ=󚤋zՋ!Edkk^aEg{!%-VLb{)2ʦn e81kt*GMڂdk=^=T_C3+++ߑ@wm36MX% [&l拡2%&@NnHcNy"=b-iP3J#u!Dzj8tVն謓iQi#ʁ({0 ϲ"=!,pް_wZX[i6z ??:,F$!HŪcOk;9bmRpQZk}ܺ Rg^-K^t']. loB:.rnE!i;1AXsZț-Xs{9oyoi[+>Kxi e+* jK˨U5WQJSaItchǥY%x$нUQsO.?Z?;:5f-žpЖW #:wj9p:DbliEE%&:{KEx[[laïB_.*+# ¾CvlӎqEj: }aYS20r){=(N)@Nd8DK.4?3JK:Y%Л{ޛlŭ%8!E|a؏|9ws:wpkwD)Q-)V%wګP w-/ýO-+`(-mewx` ^bv F4{cL$ۦcoҮ|fdku^u.$ |z''5 pAwnL7>W`r_oSA1&l8fǙɘv!-d0MӸ6įc諶c+QLTaz_2T? #9-a,´i /dܒ(b .sNyAkƣUVFZO}zN]t[v iaF5 J3>hMn畨xwG<Jhul''l JWzO6A,!iԼds&Ί@uGK;Ƒ4 tI1T*#'qfYpx$4b*~{=Nd@nKe@{:!ދqٝ7851L+]GsԞS+U8yCF^Trl2:8](_f!ƦӢ-5v⢺>tNZM~[i+k~x>>%d<8JT.b(UC@N0<4̮g1X XhG.%L@9 M1ő\V0k(w[5謑GƇ/W;%m gJd*bJ=ee(vmEW%w.[^a#'OdQ?uZlV XS ~ 4 H\Ā&֑.я^^è_ԥ}.=&:xjDWG(ԻDGnm ) ԬiABߜgǧᆹzcRtp#xV-JX^{ LATUqV25)y9d@CpAg'PѡѿPwE-[(z3{.C2ϔq[U!DYڪnW(MT yZ8KX͈*Hk8&/_6gZ">˪/`1y wv|ϕVJ {˲ER{"AXz귳q0nV!ZC#m %/ç,P_6k.A#;% s_kKr: 2<&57`%J80mwtJe9H[VqwB(}'ý rݒ'QQyش;9o0 ؿPXxpctr t֠b"`IaJMklNN| \B!qOu%9W0DoM㇑׃z\8Gv D{#Qc$aD3p|Q߃ih%4#|dc9\He#eJFhXpyZJ_@gVYzTl^K{Tl>sf X? T =Kk eħ>D7*%"Y]NZ,3."vdE]tExIj׎ݹts΢YAEoΛȳՐs&A<4GmG ]9=ԟaM~jFLm(tx)*'MtW =YA_ACguWPXѸv5:ey%S؀fz ieWūd^Jr>i@Jw6wgjeX.]d8@@B ZI&LPN]1[2zWimKQE ʫLR礫7 Lsݐ3[pX/T?CuIGm^G[ROdT>[Ӻl;C*YH稙Dl k+͜t3,/&ȸF)>|qX=L{(¤ǩ2& ɸ5SL'$9P=:{1>>Q@cM\ %a8E9]O蠃)[L5ÚL6TE3 *&|6Y~ӷS=.^G;&RL#Z2o/繊CN9 gJ;7w|P3<]fljɧc9HgU71qZ@ :䋯%?z@>x32mt&ES. 3`g('ۡr#RΛܚ&5Ubq !h 9e3nBYf}ꈙry#p[ipɍ?G%w֎Q7+of:ddU&.3=%ҳm! ܫ /MKPʾ:ƚ"ZAkgt1$q/{!LIjUܣc3VpI`^hL^McwC.Rq;쪟v﹣y17L]$ &:@$ȜZY,7Q{~BCK1vaRyo2Q@^ޔu?yVB!,n9l}'9j8- (X&)>rbB7d3AelTo*0[i=bȕ+oglUuԒ3068pS60|=,~X_h%].q9z6)KlF,6d|.%- e -fIsfTI dЋ =BMC#KiIJK|!鼄*/ ()lȊkڠvȬry#WW!P^S!xMy¹N5ܾQ0g8' S#J%ݩ1 $~mM(u, j_ s]'ȞBBTs|Z&_f!dHM*TV#Gh p0Ekă'8ڡ'IG-$$`!cT xɱs(i{S70w9U]( l!ee sgMO(nH6^Sz'"'4UK!tK\Yp}`xz j{0/6eyc/p( ;`J-6=5'1h.nH0 驨ݚU|sɊ*x(u. M@=C%1֌M:b1윰;{h;6mgXv5jJŵŵ`XǏ@38^#gU92@$uvA=e(,u>@h"΋6 ƎR=w?]$l"R"oeQzN UJ8*".❕χΩ 1/˰8dm}''7@G8 tD+b K#xs_0{{Y>|F]O=@džgdLþP\$ۉ{Ļ57:ܻZs5'AaW_:' q |@+#ںzd0ն8&El=O Q%P 5 @ߕMWGYx`nK6'qL`]d!d h_/ gnU^ēÿpOu0Yc" eK=[!]_=f!?@ao7fk4ft/֪N/XEu70v:H.Aq$a ԍYeQs]A:T\ɪyP~o ifr/h2K{חCz>`+|/r!'snA-`dqG1(+ 5z@o'qWHw;pC&F5Hi52~!2nWE&Ԋ-{1w]Gu?grJCluh#g1#~fkYkt>(bqލ"c$W{$^x|fEJ23Br^MPeAzc8ZtD_'GA/)-m, L$ju҈gx-t?XAfkw*l?. PrMlb6H':d,, í ر=t$IWo#n[I{+ro'Ur7wiTVPs4T5 ű9m&w\ tۥ$ QY2ҝ2l?ozquģBσIՈ`1#S;onŽgRJh_`-ǤWa%ߛzz[5&}'cJw_ozZ!GL";v+W15̘r3T}A{:N P\ڦnFsf8Җh;ΠrRj.I!OeaA6r']؏CZjm25ǽ5MJkCZ P0չCka~X譿)]fq]}R)۔[Óۮ:\~H=;U̴y|'q0; =ܸV{i6*(N|e9k<^IQ$<5HK1c.o^Or +tKO,nǹ&)6a ^lwFblB>-l u2t@ CmR.Lo?.keMx>Hˮ"?gdTGl'Vh`VSlD,Q-LC JeLB|?I%]4̒kYh zY 2îxÑնIehޠDAn9HhQڡxE-MڀlsAo Vϝu÷g?GYlʋA -IǞYyr01,+.BrtLaZ`%]7 mxlF M[{0B M&.:\bFv9%_X7A(^0*;HuN6oHDlU)/hEcfC"n;7V~h#NXUcCƬOP5f@S ]|7xw(Qv|9W1mzR#Bd^K?2\\xH͊_S:jJl eo1b`h21`@#dSD7KA/=vApڶxU>}jn9aV}J(Ǵ@ ׻1 _qA~ j3Kg\r2Qe^#-G8j(\7v0de]J蠜Ⱇrȭqp(lԚvV#nno7kv6o8}~bТ _(sg. j.+$ㅡ[b|n958GXU !oTCԵL 9]&& meYbw7ߩ3E>z|U6`RfM-t. 'pziEi5ZwLzlF"Bn-j'+%&A@fciT1>!#/ӫK`2&ìI9!u+edŁ_JVE}etVk/@Zm'9ȧJgT.e&d卞e+&XE.ӻIY P꿝o[{רgScZ ~uJ4'ra jx %r^=CgZ xᆴ|A>KǴ;/֝&`CTzޭr fu1? fZ(h$N!v-9Vs$|K D6x?hCf }JxtdӠh`Mp>= ڭMx"Tﲛn1iJPaCFk@thᖻ OQbC^I_OSaQM%Q=qFXҤnf~wVR|h&&!9]1rܴC nZuκ7VM}rdJc(qY i5Ct}ܠb'9Pfj"j=J ?CWf[Xh]<ژ*dcau2?#Ha.:Z̶&tf\Lע",7I5"9d͒a3/jsn;yO8ZnjdWFByBvc遨t;(FBrTGRpBY[+N{VcrǝUBP զ(BVk܏XGEIU|v&C}4‡#UR}<*G&ld˅aӟLjb\6/3 G) -MN-Vl؁pZGlfVaVO/+0J“ M#Nnu>\__oKܻHKI a҆`96au)+1^b/L!'l=/(,RhA'3.>Q$Ǭ TYո1B 凋<B^\M6?AY,za}Ӊ ͵d#( Fj!ɧXxӭZa!q3HP V FDD:"݆@/\8Sv~ Qt8W~E |jT?52)1);[n\ pfj_ v6ڀX:pI  ֆ ra1[% &섘@ , +A_FkjS 0!:7~<b,.wcѓctuzyM y/Y_01mXYb³j\-iBuf}7z0eP.uh{|F;P 6cfâ)(̰;T~x:_Ex6Ha2iP/օ?7sU*A{vAX ~|T@I!nTP,'AiRSn_?7ܴτrC7n1Bj=>{X+b>+M67;ІZ^hZ!xs[Ъ]K,siJ9&a&H/m:TyβDD+;3=\'26$Lb%vCpLޗN+۳64EqYԔGC<4>L ifۤc^T'HyơE(=g Y@!If^1ڱ: GA),)w\4授BM-;{dPLȇ W9ӿt t(p [0PM} ,ywVf-Cʤ>rvSњJ{u9ti8#> K8'|ȷ $MCPc+3qizɳ]p5y _j@+JV*j?r 8raP ౏xN*%[SJ t(Y{]!uTR8U],b{e`t*coE&ȍ6GM>Ŧ; 9Y 6+A 0ޭ- roIDj܋XX,wFIT;jMQ|D|Twl;eK/%tWDKs݅/|A]Xڷ^)YdH` rujOV-KIekSX%<"yg80+.k|lu@=)V_]G#Acً̗l1h}ÎO~ע 5ʃ?N#Π[9$XJ1s#sadejqp]yIHQwqU/GM3 Eɔ#E:w嬁g۞]mɁ{/ pR2/v3|FMidG[ mطlޖռٚ`J/Fcm24rZ'/@] .&ĭf5X^Zn}w+T'd;}x"#\g"7:eƸ($l+ŷ=Ų`CjHj ~)4G>sLQiϦT{ ;L 4(.+ ">gzuF[_f@EZf'PCbhmR[N,/ jH;xFgFZ0-S1ڲq5Y7KylA-Q7q p<8O"J|Ri#!Ʋ÷x䃎3YghՉr>o˔WZ:YRCퟅܸϽ}WBK2t>2lT>P^IKv;TPYY&M]o?/~$.._Z!R[>u*?C%̡?kx9gl6.ܫ隕9cËP^96>4çEƼ S,o"v!XΉV~kS^s]DHPGN :K=ܝT_܍F%OƄ;7o&p *5RmFb^M7=x$rxZKj SWB%6 )5;i$MM+3/B3Ǖ#(}K$oC׌fx?rg`xERc0Z$:FOLR̷ՠNXbyzY|cr@Oyԩ :*ac#{S"F" Q[V0x]}Nzm0wśΪ'ڛ4,Qq00Yqo`u*Nlk{JV+VaWHyNIf&;?\6;sܹ{j2K.7H4<#&iFDO@38cܕ<YVx|Wup]OD<҅HPMl~`@i3[e{ZSiPfx6z Q5,Ohs݄n.cB6A#5G/d*R֨B:֊[J^=*GTVNBPq gw~aѢszHwA#?cJkEp6nSJ˟c [ǻ4DcU<n٦>&F;'OZP}Ug l?K_P{ӄim-w90BT~~~e]B|prD*bpot$H^@K]~bv[SMNZo+}`8IFY;tu؃+0`5uwx؜V?MF[ q6ȺQ]h@WC{u<)L6T523h8IvŤ/CCV?_41D#VՔ?}mY0FHIk 6MKlwkX( RXV %D:ƳKsۍE'7ǠOoe6wOU -agwZyRQ 8w i]hFCsST:]oPW`/HS;,2D Z[4` :/MWq j )nSF!D6-&ȥ6;8Eni9NkqhR`- s4ٜaH3W0պ,,zQbI7i&hj!/k>vނ㾞͞,_bgb~o].˧:LC<>Β^6#8PJŗ4#P_aJD IH0گ.̚(G Op1YMT T✱QF0O%G1nX8?iYIq߶5]v,V{s['k,ll0 #J'÷hJ+plZBgȗm<臂JJ3a;-68X{YiW6(΢T J:H.zf)dHq:D., m]P-SD !hN̙6SQ:iq4B(͐#-Ac`Yq˝; _p쯽a<2MyoGN輵2&;گDvizHLPʻ[sE8if[ VspbD 5N|ǧ-BªXѫw( >3߯X8x2$eg}꥜,O/$}{ 0 ˭YpyFzoz)m,օu>piq="Kme&( [bo._Ib_V dIW}G~6[o@:+JXBfOh5i7:%h%B5rH䡔i#iz^,Lj0 Kf^iZL{[L7߿q2X$rCކCfdpIuc[cȡ1u -A!L&nyQ"xfTq7 b#b:A;o=ա) 9[292B縤@ /XԩB ^\~punPjQfΡJ}":ƄשAWPlFx,ԸN8ANњݝR'Ӑ(uW̡&ҹYut;ya'Z 6E\+s/[Ymɉ&`7ޏ^XՏ}D%Je3=l(5rUWa Jrhl9"@(9}t3Sw6L:v[NRޚ0֠Mę]yYr $T| \okֈ ɽz_wm`M;P0X*؅chkbO%LX(.3Sy~[ ݼdqqQ,#3.٦5!k`ؔIU {e'~[VMt{3fjP:̽ E_ g̔gDTȿPX-'։-Dg/hX",gD(}c,ng> [.RHX9ߛ?uӠ6଻o9e@(+cku$Ń-ާX>"qƙصdGݮ3}q X-[06[0YŒT`t`sL\kzC?u|'$,+_5&;ԗ Tb=[mLvP8C&o9 8$ŀuQBeԓf"k|79#I#d@-@O/@!jMy;"֛?':Ig-RJ֙TU4#1<{wn<ќ?bB掺axIl[I8]BCjF8H ٱ9ZFԄmSrgMڪYDW=Bb*Dx2s~(!½0%`rm;UV"j$iG~Bf.JWdжC|8/bW:5#Ӓ@ fE*FhqI.A L.>4ҟΝøoKL0 ٌ+Ar- ?z茚Lj/Z굀!~l`o eEec5l7&(IRZJʣ>@HyBNOZ#B Y ֢J; U9&K$ɫuʌȦX8SﶱQ: {x9؁'zԠ,7/s"q`H݊\O|z`t^?6'@L*:;z{r[R:V 2~vI8dJq `æOO;9}8e70l RIU$;ϵ}},3k*v/f=Qȇ-`3b͙jsTǩǟyUb bAily$%s |fy 33ZZ Q^B%9zMXxHݤ/Pc㼟ܲ:t߮pps]qd"0,s*d:%I1͇f3=c) biGqFfpxm<$sF!L#*&$k#EƠ(0D?yw 5ZsHpG \rȦlrALЀuw~>: Mڄ1\1w?oى];.e6Rلۺ RGvh{VVމEUCHҋDbUrpMV3Q,;ۏqTxNFKy!ͅx_Ϯu /ͯdʯf(Sƍ%CfR?F&9 "DZGxQ +MB|k ,(MYA bEPLMŰS@ CKA6x;& v!4Gـ۫7vF(1K=wԘ2q tRM;FCHZKR"Cg< I;)fUQx&H Z1AT <9B2k#k)NUsJost'Pժ4Q9mIZMYnDi-*;6^t>b4B&W;:{G7zj^˧7N6낐05jֈ(Z:٫nhGmh[~d i@&괍׹!]L2q>^8XobbSj@ (`0 [8h7]#\5s&1x ̃f%a&@M UĜ30|+N{ hfE&KQB!'84/z}ݰ5SQzrukzݮ_slLKXY$(Zp3K59ƘGb%U2x)_lbow=wY3m&?q|SCtb,1$!eG4 "l01+hK(s6d%_.>}tŪ)c!nWԠ0]ڠH}6} wTđ13oa/ͽ'N%{^uA'g9Zt5їuP1D*fZ##my@K !B ģN/'pܟFU>~2%/eE[#x%CF| q-l5ֱi!(xqDdA-0X)kR(tLެ|zhV4\ 3p;v-L,<TcFiuћwQ|:]3NZgl(٦ͥȻ5 ͂`RO@>@͠ pn cShﮨoЧ҄8@խT+J5+$ԐDZ~{AkDhje=&+0&C tk&Oq8IΪ1͖AӱF 3xSb;9s[3$Nu$bM6Q} i͙}6X'L>ds6weɴHğ1{'Z4R^+CP.mfDP.d6}ȽUƓ1*LƏ#ҩnԧr|va~hKͭ gػ+kGG.c< 0EH-}4eq5X9|B*Byo Z^҂K5-AptA !& aqVA.ҡ I)I%cD={6/"&wAcf28jtԢA*~7kbHN;\LtAf 2Ggh{;"Ns,1Fa/\D6x\_o?"E$+X/җu#Ih!VB˜T]D>eV8=@yVQv@$3`Lm< gНjަ8$]iʏ4.jsDJa佲K/Ad Y7NJ1ln. ۋQRT2Em$kK? Z=\-x~7XJ FUD\!}M8΋ Gx?TLmm4d2$=q%6d;!mכ3/`x+g)z >Y'y/oaF ,wON#.?˵)5aI̙]ެxcg[IF=ew 1C#-nO@1[@]]S?CVڡ]2V؈K yt#gO.=OCK">ojR QW:ĚH.~ OR#H)~l6AT}69{cZNЃkz6=G9)͜cEwfR4Ut{Q?e=5s10^rϿQbn:;G}QDsF0F镙)ձoxO4i&#q~Bu[[3# ȉY^U(MWCAal3 1ʻQގ˼Bџ;h^I3"帀%MxX6RK a7w@GVA)if6 0)=n+ 5ܛo3ۈWpzzJL|Z9ˋIYġѿ aR!KP3ⷲsַ[r(*!@%LQB]*$}k?ios¢Uؓ+zyöHShYx OW@!-̰ v9z*y}-~=׉:aT}ꅘG>c/& "7 0WMǀ$].?bQ_*&!QǯVbٮ @H? lVOhf+a_5^pB-ԖogNK)j"w~AVl l-+5),DW#Tۀ>HErAt|@9ߧ %g}1o g g %1Z;wC7?G2FeW+ $ Nh(im4N}p"Lk1ab`BkooWgm6}Ӵ%0JЍ'иza>F/':]K"o/^ A&>5b{#WϽAww}~U$g㽭DJēL0-XHe"E4 qn]HhF҄&3aj}]"8M5e+\ugqz+* 9BZ^xLw'lw yo ~mtJqa Vt.9/zoB_%{gS8^^iMY/{+˷跽VbWTAF?YJeߎ])Q9Yx'\ѱ䤋=Q?+kv"by.Xl~ 0o*:wTF&ܥYbElѦ! ûfb:TQ&Y7KO0l3j*rQߜۋ-(@5EWJ}Lq?Od=-vDL>*~C%`k!ho ~:UY$H lI:sܗyق+sM «Kf3 ʰAbؚ:R-{l8G[!C ܈U\]nGED1 {3,Xe%|4 `iuK"©e1$6,$p>:;56aAɣ𦹄 7߶yR^\wzq&0/aV<2xr4.*aV TBM$Ep"ؽSh( o\>7*e-z:\DYhS\kW"j$s$i3M;{2wST.U<ȑ 4dRWپ`eܫ䷞5l8C=}<"ݙ_DIܠ^Ŭɷ|F0[q #Tm F/٪4u_.5ȠEWeKn@m#em\zbO8 &Ԟ< cyITeڂ[ }m(%((wZקIՖV5?Ȇ%xMOvj@QOgӃ -W+ABL =;/4˯F)86q+(jlDQ^+y2Ax:%JyF(u%l0Mq<.hH`Lwls{Ե}[ϓ$3Bœ\YXԭ hL-C 5x7I?JCr>.'ᦏӘ)O$F"==7F~)A Z2n]U˽IhOw7~Jz ı}QVL>6mA*(C g"=~~lR-FiGexQ usJ&LRRT}S"ijMEDcTx1T˖Fok};5A?+_dh:O%fU?w#_,:6MF"UN%ަ9pطYoiڧ22@הFmD3 GOr'7oI}&!,Di[TC" 2N0d"KlָB` rdA )6* |E24K^!sbq"FD6@آ}r4%/eu[ƀJIIMnZtg=)(C;RE%taK>>sj8q-$"A!Wne2+X^>DdpaN: 3q( Ul*}_2un/zjCRkNG_MT:Q@$AaJ^l[ˬJgeb{^+q{`[σb VM|A 0G Y{wPj禝8@ D?5NUI}3 -j(=å krod*nsJѮnUCNѥB:W؟o5>aEZ ]q-AAu!a۽gTGqN *u/1 ìj2 0An+Bm.I/nCal }Uy|g i;Oۂ/(Fg+N>3fH`?܂Ux cJJ84(ĵ~2N^Z>1Ӑø4E[9M2 ĽkI psp`xK0"RdžoD=Z7HiF$yq3dD$wXJ0Akmcҭg*k6 ?uGd;?\Un?SKi54nOIm^n)O QM! Bi K:βN~G++r(l&n[sl4C㷱 4,%GQױ_7Ѽ.u WK&ip>Rj/j\`6B xTSfD7`ghJItn:ruP <8Hԛ-юCy)~ )`b;^|ь"pљ# [SD" &.uF]%UPxdثt^lBe2a%PZepU\6af ݍ 'vwX&zX\`֫1 ?aW ۭ>(dTH+L5WCKx}fJ9mjOt4߯Vɳx=^-3whzx6KSI/>^˂ףU>HkyD<d*78ͧ6obE5P O[O1UE5©=ST_Sq hick؏Ye:Ttaȡ 㘶jH ӛ>d. 1 ˏ? 3~:4w ?o̷@ߕdCLDj36VD.h:d̶c;JB['G(6^($ڃ߫@uvê|UW=Wݗm ptNxoƛWC$Ґ)0CV^DPCt1C<۹\0'<D mf"Q@Dy?{ڗ͎TP7)Bឣ%YDkBǏ"8boU-"Ș]vri_egOSzqc;@82_>|ͬ.5$?`6 FF]$ R^qS0UB,{:TP]L{]/qjTL  ؾnmxikXƓPo{NOb5sqLEG<_ pH˫N Sx('dpO'Nv")h<;rzĉm,ڼUz{$i: “#ðNC] s"νšĐ;޾RQԨsx4hqcW̬)KjUfR0$9O\F{e]1k)`Kc|,jO'ROF;:da;qz00ԝa0y2itQ&9׀k < ){.vER&sN:*AsK ?g憂'd,T(I;u7*%(9*9q#(oG1T٬3=_ZiZᙃ€?>=XJ;Wvs:E=>U^"ًI\R-tn⧗F3psjG&'qKl\xB:kxdK 17!M ߼pWYI SIBU #N#W2¿ryZ 5}9o6G͗['1)@VŚ]YF zLgBpc`AEJ%OcZ?ǖGU}u-#eRZxat1t"%^#4 k u̜z>#ڪlf^|Eqg@ b="SΊRv5QcUo%>FQ)Ǽ+0oR\R26UjO4ȀƢY+摚=kY# oSxګHAWiz?8Bs˹ARHH) @ZM\Ɵj[[`eܽ踓<@i@%ƥw#CާV%o @ =1=lδG70sƭžc&qVl]\UG%n隻c,$^zZP<NA>ah7GI5"UȆRjfM=PaRO֍iCsddlnG/Dz5 ?`0-2dV:׾#*6S,6AҼP$C=UKj CЮk'[նAS[4N+\/NE$N5`k4vԦBe;f<7!ϭ48ģuĈ>*#(*f.>/i`}ʟ<[6$ָeHn4fQ .֔_n(o7gd*4 TFѺdHnۇWY^iX+e4[GZO-7F(A-Q1ט'{~g@c~uOsP\Mm7 -(faC,;%5}<9;Do۷ u!׃ۏKEj ϋ0j"F]R"#[KLoj#.?/;=+&5MI΀YFci6Ltom\S<.nVئ3i*\Kt޸vllA  {[&d ߭אٰDP1EKPkOk3vSL8RX5V褿PSYg<1 rE t\H]В9'/6IdVͯ4Wq\TWX_*wF86ޒ@^2.S I"f~(ſ%H$j덼Tf<6(VB- HoEti=l+8XmK.E\/!gENzǻJ8=q$AEusxp<99АRiEE'!tCĽN. fH+G,5&{vĖQY#Yhyf DL|c)lohH-"`M D.2 F^1_6n?}nmд99vCJD>5!"3pc cy=Q$mW9uĠ&}tsm|o\^GXqb\@O)oЉd~t noo.$Z8n\[643|_IMEU S1E-neOT H'R⍒Zv0%*@2Sy3E"-6@RA[/-l\zJ=&37$}2B~NvzZ9 SL‘?J_hY=HpT3ćjYiTV%:$?ܣV4 hT}wM"$(  f,"f=dJOn3>9;jNjZ=92? K$aisXs@.킷{R BkhPvUW-~eH,x05-/\EbN;\:W:a 3Mqba!t+fO_"DW6RUT(_ř{L6/׃WH9m)f_Z'bwئcN$^""  L_KF8]2d0 {>n]L}[ء;n2C*-ucE>V򗪾dXGK%xR~ii >&~ۑ;mm}TkxlX]pI ўBb U#?ou%1U7KцyS;tB j H;L>䗣pA]K:^ t/d{̋!?y&'ϼ9Ӎ0ŗ,S.G ܘ#GG/yȓMU:S ee~EB*c;r!aEi+|AkrA BDa d#FzwozPu\8q?||5Z7(u`#q+,yNJ>lJFtAwN~|5/FS8ۣ<%r;[qA;b6a4 W;[7#6UblvuoӘd*f6vcyŀ^{9mҖguۼga#5XlϮF;hUM&K1BͰuSl UrP5s\$To|z= ęG.IY8d%"9_^?&^d"vKQo6 .rv$`3 ϊ;o(-sF$ʪ`n ؀'7ko쒻&oo]#<1E7ӇjZH[n& 5 CQ>Yey5 ifܭ` "cA7~0`'̢w9NN@4Oe"\oj;MOv8mP8@ZuM Įץb xNhު<,mYY 1\ʃA'՟w:pdx5ʦqe?Zmpm "ґ^"zWJD$jj 7Wm̈́#M`/ǭ>J5suO$< UCD}.":CcJd4-S# ߻j{}*a½#F{u qy95\v#D@KiNnh\표50Pj8zHzzC$nygg&_d> MwAQjڄ͟>nW>ʅ]xE\lXF[4.jBtH2ͺ?5<+shK2Yνj=Rv !3jP}b3 )‚FqSRagk3ۓn6!eFdCby\NquR2pd˼.agF[ʴ{ʇ^0ʂƎGrǒR(^ zce">yV?D(٢LٍػW<.h)"r>v. mΨ7dCGUi |-P~j}ӏyl{רSs!Ri[5Y_bqXDH qF3حstO#+jAqp;ek YH`(6 q s^GlF Yi!Fd$tr o[xJ(~q-!}THqc0fڭtvuC@nJǃPpZXuo#Vwqw]4x@@pBΕkM)0hX-SL8hpʢ[F*).[ ec{adZ*Bd `!8jgTJsŹ>zs%$  IZ6R[Ά~ ?V[TK͇hP1+(0F 'ἱ7Њf $ ~ܠ:TWr- |:-^vvR1+ί4pdA=cb$hRBU"{ߖ Ymm'TLu&0GB5 ZiAωGYxdC6]uow:WW#;i4SVvTn5\gW&"mBM4>B.h b'QCDmgc[Wun:U9'SR"LFavD*Ҿ`!Ƚ JxrxS)2sUNU~^1_e*w$0-^&~Mc>r4/c0[UpzQ]DxߪOt;ƂEs>[F 6T*W䞊V"B}hս&9뛅|xN>V:Sc s}ILF0>RњI0+^`̘%C#&p) a_$L]RhefWg夎?Όn8Dp §t?2(dv6爇[t]9WgK.ʃJ,昍EzPgpz͖aP)wq(mKyC Β[HtYPAyF׺r^yTj'A Āy +D}:r·;VA<0c%,T+=8!y=Z\GK06}yw`}1${i Id!x ue9[*p@#`wJrjQ.*J8H\0rVp( 1 U8$4&$\C}g6_@OZFkPp\BoYuñ'ufnn[dѵL]:jD۠{ēUw"Xÿ#V? )P}Dm^<bv`vxcNV^-׸AKqLٌd[巠(o=M^"X&7n%j7XWg,Tdmaa0E9: sXkwxA*&keXlP1Õ*"bdxL gMʟ`[ yg'VQdizWT" 䰺$)vherk_[qŘ8I8=[&J^=~] DOg/.Eln8} 9T` jg5B;n`C`';15_SGQp&5e,+tV\%scbKP&! ,Oj 7g~'e{@'-jdfj '& e}~2@q5>WY3Mpd0cIs#Ҋl}T LZ{>os [ F5}'#XQK(A8y&*'54>95Hٻ`萾+ }oPB-rd{.M+nm4Q~3Fv{ϒh (?ۯm?[KvK/vn 8xfkv1+,TNkkI ;AWW͹)&yNh>..⿯rחVHbB0Lt߃Zv r2EB0O$}R mNR* Im=`ǎ ~%\ sEHPhS8=ΌoP:L ḇI^ PT iGJgg6hoWrAJTlh冀sV.=0iq[,[ 2*hxIe)~6qsaT%݅7_R6.uQH&'< P,`]!JlDZP +tP)U?E(w; %/5F-1ѳ rkRHݓP;S%89Wr>F34Sxu\VL+ࠑIvVt͹VJ] bE?c0 2׀" 82WoE8$0B[Gd!oNl=ЏSi.G:,9P6AS)#=OƁeu<v'rk?_ҫ%1zmR(76o,-AakeV(}:Ā_ iz+MKE4N̻J," 1( 4M9}*/R]$ܲ1x2[A_(N ;fʬq0[ޓO26D*vhf CDt5,:_ng/r|[0nXvSSaDl{a+"#~F׬ĂQ1K,c̍U~Eě0 {nP)'R燭}Mĸ,ҟ?#+WaTg#v95 O^X~xܓMrڄgD9l x /|-;-Y2wKI9OI.;X>jH'_C7Z7(SGHX~gExٙX% mte'@)w4p) .9k|Ar/.M=*Z>-wu, #eF1 7Fi&Ş-f$bⴂ닝B뎥{&i)#īP>_P,~;efiSV]8.AOvs2u#&&0 LwM1`?!SZTLc)۩ahpp5㍡D}@lWjUŀm vXY) *NGםC @c2{Wg~w=ǙPtYN)tuX1>1~l k\!w#bmٓƯM)Qෘ8l~` T`YWJk[:`g+pȍGE'zEst0хa{\[D:رez4Zlx4 ,fz\XϞ#7\~Y@wN*8w,.8 wdhi|.} 5^ǣɩ{MC,5\.b}ݯ|'QkgWw@PYV )[M1)[iV.qm5^RIu=m~u68C&"*.4W”G~GG.zi^R3Ϻ+OpU^Wk=7p3^mʜV@bf\]dU ·wv?"3yh)1m07Od&`"Cz;l5d}8,v*"cg/2طL^Q6 Hc~J_kDŽZh=^܉vA Jp#xTS 4zwvrLx}OCwD_*D)ВmAbh#!%'b!1]}m}~OE f& I.v0կf$C]B'9zD31nUO刎T+7Ira3)I 3e3ߊ߸y*&E1#<;i>`?kdb+VܽW_ 롓h8ӎr$˯|SAhnS>R$/ƟV!B=ȜY%5h"-KOꌔ__*IA>QŴSc|&Θ$ iL6BM^zl`y3X6Jl"pQM2DF8U#t% ؜bN=AzxgOyDWwWmjȼ!*vePx&_1<+"fdLKat5M*8N3Qg6pH. Kxb)>s\yp:v~W3G?@F9k-iO^K_us}jb&̓ p*P %H>ΤK_pd wkUθt%Edb6y`ىi*?#@k~U5/ ~/D]|/~;xB,z,[4zKAVm%NZI,v7+#MjB^C'\('3*UcMkeߢc`.W`O&g`' g%NOJZfS}%{ڝ*yÍm3L~tjwAKi',#~;6ӰuC*2D |e;HaB1XT ΋cmI"gzGRsv1>aOo _&a×E55q %4bOijv`zDWy ]±˂qϨnPLHw7ڤ<:CbA=+G7@X+V3q፩Oz+Sf,ChS|; P6Mܕ}'ﻁ`p#<'tbbCK1DM8$oyrwK1m*ٴi!'/F ?O#, 7wz I2(06v,z"!jeD#0Kȫ̀S.e&})&x # m^q/fEN\qUc (1Bwϋ,Qն7JZ'q2XÄfҤpcyBzr6lDVVO2XJd~{`2 >ɡIHzTfܫ Wާ9J%5 W̰g<C'P@=81]LOq=LBsQJC>Vv8<p%5C$d2;ZGz6|hkW%u"f=Cq[j:+Åu)!Z;y&LV \e?w@cWu\2a|x?m!赽A{gwo`PhTz|)ʓGNT_=*KE3w^FS>/XC r; W%WoGYqY3@"lf'I֣0=]bҹXm{Z,j_>euo'EA_j[ڙX02I]7f;v]U^[:p܂؝ [bPHql]p8Ώcc-,̀#>rwIW&E|Pr+k*N\x](( ŧu[11sHN⅃ݟk:rh`T`\o'& 5V@VN>\'䊡gЀH;g`ݜrSTǷ _x @mR\E g*s*1:XZɢK+`'Ϫ1ku&>~w%sHy); q ?4E+\0)؆0D#Q nuR%123cYZg;.Xm"F8/LDoO}˹=2Lkm(Z%#*Vlް A6ahaēHZ#i*I5|=L|͸ ԆGJp t4ӁxHzN?/ßY#Kk?䷳)߫ZB&o4#V;HTWZS$`ϑssQB fCފ$¶,`3$sN0Wc66ƺ#Ԗ}bATs=@myYⓅ[6 0;1͛M䔮T@hh^]2>ID2e"U!N.6BݑKꕖ{ÈHWڰayrI:W 8!jkIy#20B߀H5l͔47*MoX̜rO~ue 4`@?&Cɍ t?j9@IAP!4<Jp+҄nYR=Nj`hf}K;\w)>ԆvGQOƺyC94zE`sI+-Rhb E >@^L/25YʚZA~=y%8d{Δ6v7:/J(n@*.l\ L1HʓB7c8ܫDxG 5F}2L4`KhkF;ϠnElex΂f،wCd֪֡B颯-׮3m "~8GS[yq.-/)m=9rĴ+YxyO,-Z 5U'ΣVt C%/cpe4 O5]  O ỳX&QY᳡ -$O7_= Z+ )5aZ杦\AYCl5b3ox. 8c%r[,_Zi(WnnQ\?216_,3ۆG?l>{846m$AߗF(gd{_={忠"6V+]6Ouuh+^@D_Ae'm#4:Ydec:ޜ&mR>S0';\}Hםv1!g<\"Ps玹$] f4sDtVVkJw$Fc]`v d] tnv  Cy5L/q;4z7{؎:R"bR)DUj zI7A'w2vs3{yͪ k,oضY^٪"|ALoZlԋlQ5LCR":|}vĝ{)gMgj۳&X*Oby; ޳)PN֟3}ӓwz%eZ|\'SCu}LANyLG N]x'W#rNm@&r: k@3s_us-ӹ6-fl+{ jʋK f‡TBA03X{Of!K*aDCek*WYc{ޡ'mpo&Q]6qyhmyQ%ȗ&:䄽\y#e.w7ZU, eG"bk*)&1[CɰwP>vQP12d$_30A(G:rPwte/wUMTWNƚS\wos#_^S4!ZqʛU1DN.i;+Of5̇ڃjB$0CX1-R)|?j=kKZn}=u/E(Iɱ@A`g-bHkcB ]x.u -WG,*]8 [>t-ddԺf":޻9o?yƔM޶ǝ`$_aY2Ҕ cdIЩdnнQviMpF/^ HY$0l!?69t;{o엡U"1Z1>eKp|#囓68LgHMEX}]~pySI8iZ0@v[@+,%RӶR[wNb֢@}X!L#&ND , fxx֫^;QVe4c V0a@J&I r$)u suL@;E~f*=FOr jLjQ=O|l(`1J/aU%ʩK]8]k@ ؜~- b?WHK8u)9eSU_sy."xTE|I@anP%]5{AL๭e?\Eprq̋:I`mcçiĭzI֚JZeu#7qdZ<$=!mǃ6\6}`EoBM"]E~s|cd"vȿbl譠ڃal$~ n)љ.ZML􎎻.U_˼$ѣ2lx wmr ݎ4vKsђ[ÕdB]Fw'h2$ MTnO~$ Vc]̓Нp_'=țYUb΄Yܛp0c%*98<車wU16v+مn fnMv` .~ǐCpӿ{=u&h6VYY!j_$bcH<`2Glvqu: 0 ?dhw%.$3/5 +a50&n2\ħbS7 Yqg>>.Fm{\ ݾ #*W5=MA&LDM//YiOdp\g ǺHtu\$-0WW̭5_ݘ TcaVꥼM0gh:ܦ˲kf*NXyIE]2';zk|f/FӈXcoHE@9 f4Ŕ4mJ8ĥo{ȠCb2 YYKz#¢ڦ jP{~ qC 3CS45ZE+'y k9jE\_B$D.2RLI<:f7Z4u 6]#*!e4ud7[nx?Q ۢO*f:po&?C=/kh@MyJݢAR)C7ԲT?gS_ `o(k4֗š+3K36.Ay%Z)%+6z4g9+i"̖!r ?h'.cqi5k:+e.w=.!I—2X]iೀ}İdtFzL#4i.LN7bġt;NgHm> 95mM,2VzUeGS[zgc{srWՖԦE|qSs7q:P5Ӗtz WD"GЇ5m]bif[Q{sӠ;ZB)r҂ i6s*2IDU˕znEl4ۘT_!IS =-!ES rYٔtqs; 7vXER6Mq!%TWXZ;]tU ޝ‘!E)f$:"(C VqiuLbA2u 1H<~n7Oq:&sG:D2615-8%۩.q(N+Lh;P۰ 6; _;Xhճ3Ka,ONz(Σ2dvW66a P3ѮHXM,Yq4F20ɐdjJNSB:Emm7fTN+\!%|჻T؏ z,`|<\ZP%UW5R8%޸%t=bUoh0[0QV_I!axIg[$;51Ngٛ*liǨP9>F dɆ.&&1}"0b5eku*Ʋ[h0h}l\։ߴv zyRyjbȥ4+%cm8XGIRAo$fLBp9͈%lE<1Wđ72ۧǭ+\ ,}i\A\զqu`@ >6m=K]G1&tCatk:x&vOjmKZs '0P[b Pq8wߛ\վLu4Raysfל:*akቦ1ɔܞ[>,e;5ol7!U`L0)?)ka![(#sy-nLǪVg%{ 0'Q-L/Rp'Zwk[X3-Ry#P#u~PkTΘٝ )|x^3qC{dS/m楁C?)Fe9Y./Vkln,dc69_~gȍSU9n$'+sF&" *ҚkA8P8';u{k)![d/l1/!1z. *H{{GZ{ Ԝܠ&ϔ)QҬaQYo.H#AK94Yˢ7dE "Z IXEO5x4R E"o ͨyTI$ Z덽~_0C_e"jЋKwVz5j܃?Xj[q&8AC 5Dh|t@f ''bP Ve8m5kt_o11 XׇA|JxPeڨF3 l(}MV+xǪƺU)A˘Cl~{Y{ y]g< >,|4QU{AZ7dKpқC1a2q$T[ye޿ V:cu@n=n w\{Ifڎ3.uR 42A&rCMY\cubW7/Hcioܠ+4!YK' ͑߅,'xF ԯyPtuB/STx'XR"W6ͧ-Lck+Sz]"bŗ6$fFNheO@Gf7-n:MpϠZЮ ׈@֠f/&(5-%okÃ[m<%귎Lc6lSՇsabv)ssKh~[Hls~xB/FCV+l& o޲ %TS qÂ\@{5*Pw+9ùOPX&Dz3K;!0kgC/E{cRrɵgj%1hS:>s)g4ɋWM>GΈ5}>,]oY\׵Z]\ȩʷ${ ^I n BLJ~Lg7:|BI)U 3ˎK1wh4 ?=h6pDI{QPX[.,bt(A<~Wg-Jk+8 ;v5 κMsg :L {z. S@݋Ÿ59 ~>̙kdN#v`J' HMe'T d69/x#.4kWLMCQӐ}`ueZnED|K '(yAlm+xDk(\׵EܑhpQXI[ؓɫ3ܬ_o+<̯ʠ ~W{9x Mubn#lJ`GpiEkȸFIRd%*qHQZ.ˇKщU\o/o m $ "K3=sJT}s8NI'i`x rgsի ju2UV".a+ )$1?O(y: 0X I%|)1^gŠEn4]nm#&ى2/Nͼ'SF*}V1Ny>`EU<ɤpQF8T0wtݥDf3g8ňo0'$.`>,ZSߗ^FUPHߋ/o6WÓq} 2 e7WIg 6,(;poo]JiӢܢB& m'Hjo^7TBjEg\R }7W:9zmЙKZ5N?[~S9ߞ"ZĭU.ƚ؞l)K =TH|~9ۭ4*jCԪ}SIvP Tט4C'P~~:Ĩ+$.CEotK 9E(gy Ư8V{oծ:>r|iXQPSqznʹ!3s4Jg`x'1| Y*7{"t4pè)wn0 ^M-BҀj\+-'%7!hW' )-|BҙPgia-<{ia9hXryaiM|Ut d/sc*RVJ;:;mp_Z$rI$.seN-IraU;s. Yl0-L[*aQNT~C8oH,i䚮кvTYjv5rH$OzQUKٜ4U `wQSvUǔ^>@h1Cy'JUow 9q|E MRG787a)w#P` bxI1@推i2R76S˙8ӫ<^7/jkȁlҶ*nIxaj K*{r>H"Ģ \PMzﵘyt>:(U@K̏v/3X7]$!ޖ=lo_F;"}eCm*ln93t~2C{0P㣟7܍ ёm4=~i%4iN?-A"eYj*ZyZSs)EF> n5;uR&%b`yD`r85VkhqBt]9Q~G۴ %?.|M̱v\ic%@qpגC,$<*t8 m8#p ^%xơQqUհZ 1;trMrqU֬$&7G10׺u  o|~tbe[1XM Ѿ?sRB>=[.6[e۾0 -*o2צ.Wvq  |3PB˃>$>7# [zz~>+y?bY)SLe2xY6Z nn3e^,@2GAz wNW8B LPOB1d1)K:vsqĶ!F<C-[Wg~tgc?>ci a9D.}EKpǫjJGs+LPY/5~>ᶩBB+-"pi'0YdcQЖ1E[TZPC5m DO;+Sf* F]-5c,p6(,T?,(oT2~ /74_rH`q+x ,a$^r]  'oeߞnѸ$6|bBtJ:nrpt.irn3.?&N]LO4|./#hZFk2^Hu(Jx(*WUAfA6> OvlMn$*8b+WMf4ԃ\ݭ!C2F?_FKWak!HO+bD""toJ˦o2Q'*H-kYwt^9N%aߩş.L8MC5tw_ȱx|?^п q<7f]mӂKQ*h0%t <6f90Y}HEr5)Z/lmu9aI Gq8iaxe[kg:,yM_;s)P/FJmo}PJ DG1 7xhϺvȋֵ6٢Dc z~}*]~{GoA s!46 \`CnꁍWÙD=EzhruP-@{dpP:42@ 3c@G9-zmk&X[򓜜{^ɵ ೋy:Jq(wO Yqeh2VߟƊ_6:t6a?Mml+̝qvJ{1]PZ)x/u$W*ћc@6HP\ڣ GK%<7#f+({')ʖ,*4[C4KEx U=(.;Q &Yh3!]X Z ΢41aؗ|REC^xfosw`&,n٣%qWnqx 5>|)ߤ9 4vpk JYt'K 2W41?/*3GR;tJ1jiWb63yޏsi-4F<,m.P43W@c1C2Z՛0up3t}ngOWޣ4R rY^Ugk>ZU$AO'7"}bxQ j5<> Tgɂ30Doga'1q}AgLVjA|ǶdͶנL"e_.1_wh E93u$j>ӧՉ_.YمmĶ-ïqZW.s99ʮ0R29ԴEkA3H0)0Q]ֱȩJ=f`E"F W\X'!hEhf!,Jȃɬg`mqA6:m(x2F&YR.9),S3*usu[P)JD01E:Lqimh>1ԓ0H48^tLxQF/ Ԝ.3Br}ҌW`_E3b/ÆVWy0Q#ZlƩ 4NVyMDꥊ]Dac -zy7GEOA94tv2,jg,o*./ F 78eJt6|Gl= sVLGc^3w~\/4djׂԍ"vGFߧyq2s؟-w7*biཙrut{HHk[U3՞ kIhi=-GpgQm0|'OE b>2{jOڍM@] 8 A@:_"ՁF] ԕ߶V6C[П\w,0$(Ă:"R>O>6pnH*CPy&LjzL;8=]Tøԏ숔qJ5_:( y옃mhWT*cX<79͖O?;Bղoܚl &RfkV{a0o7(;Fu:S>3iJ%>Zy+FCJtY`7c╥t!﬷o<%kC@ ½)bBXA.oI *;$gB{l|XG8*$cu@Qhjs|2 FXm 9zV`ĮWJê-†8oJ;Ԕ Aʊ&ae' c<zN=;J sĹL&Ń>&n]o%H$ C3S֗ fSfjX>yϠD sVuO-Iau^ 7t(ZY#vus`BZt27;b᳞TɾM0!GW"޵-F w7`HN낺=ݐqNkJOQfJ #7No|Ӟ]"y'ܟ\doޢXr>%n01is؉U ZF8Oπع hn"[{o)shqOf8  ȏ Ih/> 1ˎ܎`IB/Ø;Hj5Ixn|iYm 5i@I)4H)ڕYѮ֔a-'\%fz ʽbRRrF(g $ꇫ~@05ph&AQ :.!_)])w~BYj:l8tN:>;x뫪lbAw$ÜX>r31%R5HJ? %DVߍACRL$5WA1]YJl/D9c&ժwOG uAo-W%98?{v1{Eiʰ-eV+ ?N).B@g00-~ j^, /) זeI\)r"WW~E_f7^-t~H7+Vs=dP}{cA E$ߡ,tD{`]t]Ά½_ڥE>ٙ7fٗڬHePUwDJbFt{6X*ycivQ\&n.8yRD%18ˡ onMd^K S,ALyB΢I!q.JGwR6(xȁOX5fotoE7jcg! cfx&f,B pzJ6h#N]dTLD=6"~cԠ߮}^gYjϭeI3;NOݤ7Z{ ."Bf/"~9V!Q3֊=Cu^V艤+l=3հa2L[HW UCJ])@ b{Cy @Ws9t))(WQt\9c4OJ3t8קasU[E3FNb9HYSɜ p*5:n"29Y$X \2 z(U"9YF͟eV9hsu]-M@WƹߦWVץ!SUdX~D麸g:'AmCuϓ`D4.Qrוg8cKa)]Rt 6)fdPVk˶{n؋ z#u,Ɣ^st%Jh oRn){Ep/Mv6$VƖ,FJ:(6tWC*ϳ<A" 7 A¾R];Zg8 A<ſT>]eFz2GS2;i*YBW\ݛzՔkbmPe\~zu|J8VrPkm;Hqۢ?0H+č_ܜ}uG7!>d=ۄvl\\~JN[[W)1Ub`6%z\)V;˩c;U'i΃D@R:+oVx5.U<ڧJB)/IǧC0҈4$wpy4E}5òiVQc6⭪.+lv Boql|H%,L=/i[_Gb Ybp;,ww>?gJ37V,[샳M5;t֕T56u)\>,ʖΥ~%鼸4AU/Sm߭tIDŽ"ߛRU=WL9݉\({$k=P453Nxw}2h. .Kj%(qa4qBoE &g:_Yð03<4͘#ԪhY63l4SoLED=H\#^ kʶC;,˳͢&ye/& L,wEC+cI?|4Kh"uŁ<: H }4']ET$ABPX: &ĞGx|j#y'WpW 䏣=@{mے/2QjlR(k~BAdH`baAK(;G`1C@VЅn˅"o{HҬaI+uAfX2'xr d!X W梤^b;}.]ߜLj?b GK]Vm`*-K=)'@f7.d2>4| 05zc"k= f+Mǔ?2 # U gY4-M4ޔSBDgzp;E}ڳܸ'^USmp,8P)AJ(< r){ܥ7z# -1yhށCtڞ=4ݠNU>3\nY v@|2I^|Ǔsw~cjʨT;An:/ "z(*3*"Cg}q7ˊ>34]>3MgVũ< H6˥ _[=˲i$Eŝo誻y C=#*clS ^Z/v~2+ 4~KYARJC4@{ 7?ߧ”UVLQ} fՊ;hIAHf0%[.ad=e`]Otr͇H$=lEAɥ,}iRTʹ#6սUFAEh Np"+VeZBx~%>(۳E^_}žC dZV~Cb_jsoJ?_E\Ė렷v;A(DR[=}|\>Grƙym3t'8n{cƋ; c ޚd>}zm80ɷ1?Mп:SߵAڠ@S>|l[U X6S=rzȦU~K5nnV5ҿ`1cZ.qZX{'"TB3Y'gf?-PFQJ}K iFRRLNL=J^,G%9gv/4#pCv5~&?Q.Y+}(A=N+3l9)Ԣk 6O?E~p<"*#[fj$q{HKa_&[9B;vzFI\l#4  OC퍒.\f) 鳓5p),5 '-sCxN;]8-V!~  kmGEʇj 32 TpG! /ifgK.'|?]ᵄsze4FK"m zfB"96W<}.2Syhvd略 `4QW`]UQ,._ ehׂ) QT.?uv)4R7ž*ν-iJw3+<R.er:iQ5;RT.rUc4$`2GƖY\0~ܙ }>I~T!wqOATRzM8}'@sWxAcA 7Ѿm^V[v&W鼡5֛:ϣm>0=rUATԘSK#u IGՋ ;}8&1(_K['9K^BU./Kfv@XxyPh;Q_(}]p9b{k\jK\uP6&AEK:LUt@bC\'q{J{z&q3WFB ˯S7q̡W=p%c>% t t%Cm+M%G~[Lo^@NX|1әk"a@r<ߔdj-$ X03N>Ek~> mL4vgV6#w ^r j!xe}h\FU/fnLqpIYVEx{?ݲyM R7oH~qK_yh~L HC^WuW51e E7yK!(E?V"p kVv⿤uԄ"mPN8C59Wz^*Hyς+Wp }ż,=d( - q=ɂjWlQl)a\ߍ+2XBuQxTՍY)KRHIlCqB^|O['+9tokY@i8,"DmN%z1 O|J@2M^xo;˲r%:j llݧR-K OU|Y@HWy+W/ɹ!Y4Id&lXސ8'vŊ8 O %,.nVQX6u{[DC &b3%hdH7lp>a$y;Q=J(t%͞kUO?t1\V0ݬNd}tֲ ?nyPBVrRH]Ւ_œbKȝ"c@tN2Dn`F⦋)~P:H=l~зrkO_&SZURd1qf:!)x#Y'RuNt+lCPbȥ,< }4֒fB(HVs /" :9 D%7m?&?s1KӔDet.]wdU2zXh+qhR %L~*(#g.gOV)ȨKX8DP|k!DP7H.P45KܜZKJDŇ7u ̚;rӵtk4sr?IPYP_.?3ե%&I9*+>+5$f̜_ /r.|]ZŸQDMR/$z}"g^xvY(?&bo2ɖ9K (uh/yGS $<*?t#f܌ ir>C0@t]{[8?05%RG"W`?6c4?`zZd/fŐFCsȚXJCW I]x#MjYF!ns:"r.n=K]Paņ]k娛nr'6ݘa(-#8B]&j1]~gP:=WDp v XχdS0-4f%.lĀv=w`N !U$g%,r$&UvgAfYlbXm۪f-|Uʴ$&XZL44jM6 g%uX>V'5ϐ Z=mKuɖx 8( Jm͆!ଛ FAu?Z>h np*y8t_XQ$\5T((9'IUj00K*V* x&IE U+\uyl8fXPt;/}{{NR`FKkov;̯͛)`}>fLvW>۾'ֲ̾J Xp\,]h `mBCn٠Mg)X֝%= OR%(OF\3auU B &D'/7o., P2H2,leF]z~]N25I0~$;N'jp=Dn8din@3do.{IqǢ+-(I2 |$||P1+KʳqHָh! :T/drnCFTmy j?|BRijvk[ꁛD*igoqՏu=OTk"fǛ5KE3&ɸr)|&ٱGT|Pr$'ixKwNiui`Q*Y&$BMR}"ׅOb>q -، )`kP4cԩuX?RP + aX;N+s rqAf!S FC]+ j>]W,bL_k;DfbʚUdԶ##0F#( wB(cx_3Bhm;BKDY]PQƝsV"^>E*$碛ڼDaG37'VFj8UEHH@%Up넉z¢9rߌplJ(rVGנZ@[}*m}wjYdj#rRd)ph%bs4:Gx* qhCCh _V#=uAtV|YfYkX\~Uv\wI<-02WBϾ#0#0n(ۚVHAHwqTJDA}-<7~'登 q"6u:Bqn;`4_ՎV%!0GF¾VTtG'hfqJ~-n-Q2S[ 0a+-~={i 0W@8~9ZA:5V1jڵzLo&J3'x9Z:@}ԩ|iYMAHDDGz_E@{l>v ~Yrܨ\Ph6E/pu%knoFJ3fEx;ޔLdࠋiNSzsf\>Wue>4317V&@\pM+ "eK 2'f{hXGR#*0L?_tQ*k,(gіo.rs %b˜lʇ ˦ xM=6@Ip'V##L`.39@Z0#~U"ʵIɲZ)׈1h;ԣaQ?E Ԃu~b9kg_<H`;v 50soɘr Xe-Y%ÂRӝK啟x-m aܷ}AԩU_^pdoŏߣ2ig{789(GEfD'R­BPgeT.WRj"h&xf%;1 W~N }XJ$\B0 m|$&ͦ4scD8%DW'9m=l9*)^abTG K+bX$"6v`(lKȄ }+4Y&R'ԌW3({˦P!#fnfu" bcjt q+#<(r[C9һ˃jwI ?v.7 +~`yd{EDt-#RIeYӌlMPc?d_f0rg F߹BnՙHG7c]~[Y:4 V[WV?A) dLG}U Yi\0H}8<>DE}r'mvitaaƝ#xH v[\&m"FbI9MH'3fvs?2&>MaSJҘhn$sg.G8vCG3g1 u/` U3>#ffNoՇ3[,!l󉫾s9Åi/?0u"%R2S ]y3Ie< NΪ]{/H ycuv8"ٸ5ϭ%3.:@ri* P:1"\5)j۶."ᘬ]{A - |!CU ozd hmRTm~R!;٠y_"`= 6Őcx|1D@*=Ik9"z{L , 7+1pqQH g鲋G,T}D9|Zl7fYn}mܾWRz00c V#Ϡ&ob &*is4ڈbQ UnZ!B3]e,[.`2gaLAc^rdo *(EThTj-/cPWlma7cҴʼn*H&&f0Y3{LtΕfV`/ѴFtP@`ݺU5XbUGK7$9ᵭ_k<q%8qƯPHT)l|CO;%Jo (R4ʟ3׸Wn|FmHQ&g87t4nP>&mWʦvW [%/G2TKA %״UNwmŽrlA07Ll0s9̓_JT׸^C;Ctj%F"Uw:7[ 2Nq+p> -JhZ ,Uǭb(\H-\zGgh//0we|5l(G>V#GgI q$ZP)!=lK9h|+YΣN4/Ԣlje)nPT>D>K@r.lJs}02{P dw ~Ȟ = c6 򶄁Ωm$A-rJzU w9VγUo( 0w v솫,1|$ W͞* {f嵬M7 XL= cȌW5k06mb}KV {{(FC >-Ajj)=§V(b$ z="t+BOiCC^8Vp5J"bGAVüh VRY7YmXG;Ef Or34Gg2n}֬+ /G*D9H)͸56CRgXˏg;y q_A ֑vMD,^pkmFkHv*ymV| U.xRJoçCgnFV)+ $Ab*RX?Ypou"Urv Ŗ37N b ypOH|..FL5~TN(*p1F4zV,Gl|uMe^ۚzNd]Z!/Zo*/o1CجyWJ7"񺛣A/ǁD2^?sD]xHco.6x$[h f!L|ء[val9[pa.b$*G6U؆|$0(gvPIT/̳Ld ɭA۾Z:8準՞ml>)7>0Kjj\7=6zq5ȩtop&UŎ<4R7#V2'gb51MHI[v \yVeU ""Ǐbgs{6bCCc7/1bOGpAW`jH罱Ap  [dj,r2RZeE+{}/*xhh'b@2M"%^nUd6tE{%_ {dG)7TӏٟF5q9c|"\ZMndA g '0f+Ed=F[-z)n#?VH(apl53V\-b!;^tT+8e c5航`X̙HHqk:<>v6łq ;"'??W=I7ryboH&63AyABed@[o#ſr-Q9ONHn⬝Ox ժ_*jߧt Avmi`@xʌJJyzJ&+@J Z, 9Ӳ:#}mVH勇fD;LnΤǟ]Ez^2x 7;PNK{AMswc$2HBA <D߳Zt-~1zѰO 9J#ΎF#J:jvvF"95![UPE=| dTl5F!:fGtY;p tbR+Ѐm_$¢yY15g?9%M)Dr!9٘e⭷U|T@sLgPPE.q` _yC/P(]{wWh|? yV}^`4"DLE!뽐#J'tbjQTZnJBZ/y~Iv/s ?<|ܔ{/jK^>l5ȉ/N~fuO]:RF yU;(kl{3FǝxgtDڄŲ.@2ڭUm[sB aO-u]21mMA)f*W)V96-g۬(4qGGjǴܽ ;0TSM #1}{;y)OqB+MIqW##[Rª@[]j Ԧ7đVعBxj~(u33)d|>*Q_[%i04pvnv:A1j/ R-W6aDƼېIrG+ 3tZ]|tkDF/nU ۾Rϒ]U5oXCəDۜ ɀ^6,~ < Aɰc}gy\`}>F#~T3-vFX.QYAE)W/?,glȓrhl0fŹ ڻ%|fb&^+ԓ79AW勘{`L_W?ba=`ۘ Hq<‹\r Hhp>@c1oP7ϳ*\ }xKyk+ݱ[3K3 R!bXw;ࡎ4 4vG׹81AMbPyFS+ʃN&q H3ac8@%: ,}=mjSK *k]~Ąְ30^ +J݃5EW \gU =k5ixLarpŷMDܣlLC,!@qWyP'"sKoV3eU]{ #ϢXBC)`wuS,$T&܀KL .JzH _J]RT#"IܾuG0UZ4^z5yTj_G -mO$eSMRXk"G2$ڄ0)h - >S[I"hGGFiuilTĥIt< u.Z}х#d<3\xq^z#b׎O8+Z*ˆ߅H^ܥ5P=,>&Mo"77ee ,)y(ƀ :*JlฤF*8A/Mvp'v Wq8H:M*ez$Y ?i DV~oȠH}'Ӱt|?M؇5?dpF9>Ra It$D|hI#d1~N\ER>{hM]u "2S/H+AߠTz^[hbiVk^pI\Xf̒Q VP=&>e$z+S5)`FW][7TM?PRBwqiK\IFݻABặme aЧ@Va@#>-;d_$]\QY!2`_ch]#y jߠ*g>)*Fȭ֘ ^SmtzS?  Pұib@z!v[$NS0ے󺘉Lc#{S*<>pi4)vv6zٮy9 z;/?c"F HeYid?;ZSlkPPN?C)[{@C]1)0u(,_]z)QWZκ@()ʏ0^z> \fBrjnۃ.$a? g(} wBw}Q!c͎+wI]9)1jo$N_oUM7dۏg Β)VTBf,SB-| S<@B ՟[`@R*Zl >)6wdRnqoF;;۾:̚}{FgGhvVcib&fZ?Q{-uMhk(T4;>KaUA.I"EZ< h{P>j9}lJۿ9⋶(02CJKBw#`mA==W|7pLǣ|loI7:J(ɦauaX4MFǕ5e0wZ$%q Z Er W@4tA[[n'y緶4=\F~ČI}v/m'yR}Ws~Ha0ZBXYq&Wm8?W j^ׄ`Ȣ$Rv*˯E ,́hk G4Y?t9>lU:'94RJ#FR(Erڈ+T{vqٮZ[ ,lr C)VWSLܑ|.C')jKNꐰ5O=c2WWxڽ)QtHrG;$*()>By86TDR dcd#Mg4-WveނMn'w%ܞt3A;P 5x9kfF%-''Bד} ]J=l\rh,^S P#:WNuAEg`ylCu墫j4.ڌ7BTQ"H5͙P+בTJٟwtr܄c5(BD--y2{pj#6wl1P8 $š=ֿά{HTB̝]M}P tM㍤C@52L2A gUhYaLŚk:?AC`$2%񘗫eS@qc& = F s yL_k~2,c]V嚑ٴ.w pGڱ#$օئ:{Cp3*jdV8iir3Jw̪ӛk~θ8%;:^4;U NJi+!ӂ=,sA`/YE=Mimp5JR,†_huhn,VY3z`EmlY6:u2N`jRtH5Zrһj/C)^AW>LH7)OQIc fэ)&b_HWN%t"m $>reH_:FZ'DyzT-^3jO |0{z91f#PѰ>0AMjA1!{ugpzZ4#AZ+m7$HTxK`~MKS W@;75 [=1nG@EI'JA}OЏ:E0"LJN aaV$*񡜇 ]&`Y7N u^z/8Yhbғ6zŦ<Dex|zP9 9ט~jp*_rdpGsk"b}IJz5+/|P9MBkB@ԁzdp-J'?l gGhc'3Qد%_ !N>keY&B.4j&=uh"TOP{t.^rHP4r@0\QFp22ou4I#  f&6Jl\R݅勀}d7 GMwUuKT΢5AEaKS Ռ~@l]A j= ՒTkr˒c8edu}rhoR\V:Fi5PrQB!B? =)[,].*!b)U1PO=F(7n1&ay!àXcB]e:l=4-&2-݂f.ȌpX<>oDDۀ؝rp>,]]wߧDPيёXRN S Dg!95˖{Wb9j<™6nKI&p? 3~\Y[u<[IYd._l^7p`CZN٥^i/0Hm*8(i3"j,WS„ ċ!I omf =/N l H٪YYj8ȇF*KƋ+ BhTrnz `Tvr_W  ]NU֩a&ٙ>d#JhzD 2^l a/f234ܢX0e)ĝ&eqM'xr)pf>PEaُ]Kf w#)HNbRҚUxW0e)6-c`43΂l &@>]5dQ&凞zm¶LO7 ̵~iv}U؉J<[w@;י9(WW]ח A6,ETel̅ hyE  N;qf-dЂMAڻ쵻"e*Am'Frm* zjcIWP1ʤ2{z0=m};L쩘4\} s_> o/_}(,,'%@RFmrt = 0(rCgQY"rr>$#nO<D8 pP ݛ|Tb:G.>Fc^z՟9d;e`Q@ÿ>*+dzRr!>CUB!/)cA8xeZ am9]IbE[at& U=1zMJmfp-$^OeL`MeBYP-.HE6@ұ"[bܹ5MnҮB픤%M NO{-٭pNfSc7 ~h1iȋea0nlY΁5yo#S =eԽH6amxɷ|O#9B$)̦,{RR6KYZw$=-P,\<#bX&K,t1S$E3a4_RjlNﴱDUn@\E5 >hjʗBv?,l ƧkpSNh*/'4 O4[Ϳ P;kΑ6?Ga>\AL&B!mqLOrq=СK>l:Eg\i'=IxO8koN<*?0}eig/:iMcVKK%" Ȩټ T9]_e& [r`YsCw,k\]=Dx`bsvZ%wܾϪ%,_ F{igi-.swl֪T99CBAxϐ cUBT1MGK3(uYϺ UbbLf8g)O_x5_ml\(2C5fƿBsD$3fzvWZ9*ҕ?lYәTc$̦oE] :Edysү%/8 ¶ ]"֎ _):QBu KX@Hsvray7u1iߌ`Fi\d>gRV\A?hOi3xd=GPxg[YO}&Ӻ Ç\;;,~Fοu,|(匨cЋHЮ|3V}q` 8rA5ɀ{^_0Q7.7UC  ~Z e"0g>M%96>l0߹ eb)Q߶]j@MTWBmQu*>k:U{P+;։){->"ZɂC[N!ed ?M1fD˕AWCYG})u+Y\7G]y^ yPP;{v^57!47>%<jF-:2eex?5w!8ŧ+{kPo=[, ɣ!sφgI!rᴚd( V1Wܳ2)32,:E9TVIlLxN j]aOza2ExKI>@ʍP^0O$ 7Hd$$ =Nsu 6YX $uNe4U5j\%trT0vY+39=!TǶJOVor=37δ }L y >OEFh.gBR4ۯGud]8AKߔ^{AnۯvAh'sZ<]&)`T>g]8b,A-Ź&D A/w~miLal@I 0m|c9#38%ÜjL5?X.2+ѢOq%f%TfL:yb~ v|jef[SEYv l_$ٹZy8>YFJ`KN9Yς,B=_D@|-55MrjGE-~۔8 DSDa*0ں \ͮ /)m`iup|]+\6?؁a|B%S_y7%jMdYM3P ߠ@ dAoc6;xvWYcbƎ:xDz#(7bW O.,+- AA)FxLlOT]zG皳 k ÝƹØ C 'n2d`Qr]3R40-'M2 0=#T'sd־5{B(V/ irp^):zP~̇,ԓ  Nz[) &˪:CLH~c qdUOF3|ͩ.Y8NJP L]#޽f}OtK+K|.tq~W#jja;aW Җ (<5(kmP0 08q,n] O0ֿRFzX W< _T_v˵4"<*+!N 8߹NPjخf.\m`QV6L-0ԞZG 0x;\%Kp_}`e"ŲH<ȱ1گ|BN+C{v,[[ӷ49!9hdD\EܒESXn/@Yg.Wo(IQ&&f-oZxEpkkfyd9AB?" Mhm+=g l#-bfu76YLJg/~5mJvj5&rҵPLZ6zIw%b;Vn!Chcj!@oFo!ƿy9as#tfŤ(amYNGUd Z]}qz8Gx>R"B3{d5`WV d3"wV$9F$Xu9_2Tm3kmΛ ZGi{y:"6055Y‚6EZ.9Hl䵓K*}8 SVqV|lKT=[@| REqӋi9BHorڞ>1{k[,ia/=e=E$ʦ)l(Oyϱ"vJuؠHquȐY+LeE o#d~1#w>P3RϤ@p=bu+enŸ~*Fw,rsEko & YxT& ~s-QK.{mn |&z؜KՔқcUj+ exAP\ UM =٢!ȂѳAE sXQ %QhHTDlw ?CkXxoՒ+!Se- j~lKSGSLeqma8B:5}L|ɈE:b_au&/ D0DTP+jl!Lv7o!3d>$5%aKO:xaq۰?.}O ZLjAcCDZFnTk82)-yΡ_;|͞@Fep]=xtn&˫R m*"x~;heUKtV,8˥,-!4;mg&Mbj*PZc)iw!4~jLh/V.<z22.ieI(= Ǚ*ڄDN=Y(|EIX/"K= #OW;l+24IɿůVSEO!j)n/I&ɰlB *3'[ CV8Cðﲜ41b!^vKC߷Rwl` %4aNLaCE)&!8SڏOKi'>:X00йwoKD^ʖh <8EJ_#j yTC,Mi- Y̓nL5oN?LjSY:u%i` ;20E}?:}m& vœ&C+ S|6$WvYSRvk=-GKt O][h`JBk2F: *LMI9?gJr,h3٘Q҃EVP^^4;uR_I}&@)=%U5-EϪURDҫdPS;6,[%Z&'t9E^"P ,=] a[{G(I|, O 3ʨc \~(6` |9_*$M4l{ȣrfg]|D*ș~ѩʔ*^Gv"4.`I|n t&<>6L)9ѽܖil]GTW G VXCftlm š vB42`R B~ sD b.l.1y:*a{ 28,M.)~Cߡ**) 8,נ:sa.gO+Iys}Rk9w&ŸS\B5h1)]y09Ro@ZoGVlۘ, O}҇Ve$dH%m D!!u 5 @m k3X̪UQj37S61ϡS=m='q8I;Wn[(OmMsO8e-pkr9MMvڤ&QYէzyP NiQH"#^G]'hlVz~6Js/Qcr}6b_%Fc>v,/;gi{ŇyzV01$DLA-2خIFgIU8k9~h3\Z>*X.#q9Yo`օqE#;9Mr4'*|_a›tr.pmݷzS Zn]zOG`۵\"tKۖ~o$$UIZb3DzX0%@e1&n.lA~^DK>sD[ GҒٺL#jaf^oTƧ:[B)r+jgFZjR<-&bl\U_э.|Ay߳In3zPNw-b$,KnqS[ 3PnwҮ^nNuk3'cweo!M/T'CL+/5@uV^lpWh$_ Yg1z5Ϧ֒A b$(n?(aFe\?PD)rk]2&!AG´㱵o,5d@NRM*SRmo,}16#pb@śjsI|˲X>dzjriHV`X9@"Ea55}M,5j@E,Xʊ&52-,t]RA J'qq7Yk:J-zF(8ɓxDL8tc1P'?Dq^cemD ׈|ܸ:67f&j8dBN\'-j(M⊏"4|&9{JNXҒo\7F`ywƼZ@1CJC]]>Q">_4HO1}Hl6ԘЍ#Y3eJyi8'V!X+KfX25<55>8L!朵Wñ ygQ]uԋs=ӚG7-.WYnb)"54- k#W6c_1 LF+1]L  Ak$"=aޖ'POJGjsc*urq zq6KGxN5; fw#qm87-'Ǝey˽QS)וt2g *ZI[Gna!7jR6S˜AQ&X9R{79I`2A|?V,W?OȫGU$ZyTp%?zbBh 8 L#+tCa 7dg_̷0@~a9O|@^T0ӻJ>\/V2{E]zXh5W;wcrxtB9fozn[n;#Nq'U]:v4;$@hވC@u҇y?/UTBQINݔ1 JюNજ Hٸi { ^,87 }V2o{h|ЊWS6siH XhH~`)Is@3:]%e59B AbO!hfĵ։Wl \PQMnTW 37$SGQYU_-6JbTݶӯˍ if YkJr[wh9;A#wK[Aga8m$\R/ެԠkĸ] 8xZR͚|5t=NGfŒpF݄r>`/&|–WcQKjmxq @(nYU3,8q5*Q?D?>{3(l5f1|:ύkdٝ[T]L9>b\L*ygYZ{]ycCZK{$ʞĈc:7w-3M\6h˲5G;k[׵>Tқu#ctNzBh7[u#2j)X4vcK<*L[ok6@ASՆJ:|\e|}ɰuɌxq6:*zy1T Ģ. >kyOjG^ZQcJM)Y'fa-8_sLvd$,Y˳ؕ-(yU玣CIc,xwZw>[aqJ|߅ΩeA-pN$R#kwUʁ~"R (Ȗ%b',gx=y.@ٔa;@f!?@Sv)RMTa9awjcֱlA:+0l%SOjD c7+lHNi/,C6:Zq:p\ќb ̽a QrScY<$A‘Ni ;S`+M$|h"V s! {"$nQ0C\XQ~qk92dig]J;M5baXY˨TX4KQnƸ~\BC*Hy H`JC3Kȵz4s8;@#[!I2\26y6,J8zNkÎ~:w2"c=@&{"p,o币:hDwįeusM] Ġӏ-.}t/1Å 3yy["@.S_<%"9䜓0uI,@Vw@~]"-zθvv3rxBRH<1@־,%3xzx W*wH>#!@k5;mF)>{;Iy\{Bʇ+H6LoIf1rv>'i[ O \D gW|R vxY.N:M"uYsOpok@nevfbѪ ~`0/ W5)+xLybEY~˞=,Tg]2E 2$cpI ۄp-u⨔1xcj&`.C9:PO5wɷrsy;{Dž/ywVڰyvsN :Eo *}k1 _]ܱ}WTC[N׈Ё[R0ׇyzxO X+2<(ںPY|KQCo!gib]0ul!jɉP ̄wm4)]H7DޣH[+b)8&)_v|(x//1BIp»jpBneos>nY:י'e=! 񔕔c ^POב=XrmoiAgI;mI4SnE+ (\]zN8dGj-DufӣÌ9l=6(̋2?C[M?Kr\pOT"4>QR -}P8^l4J  (7hOP-d}q_7$Y GmHKqo"8 E?/4vFj/)g?QFhd7/O\(&*| {D6\:ꀆ4FLZ /n:Bċ8؎WDqXp"\bkf<Z?ډys's}6$Zx~]?yMO}+a WbZ.>;O擬8Z&l{#b_#3(hCOdE ,*zcgoBVJn)VB=G_P ANuU91eL͘^Q_?v3Z \15pQ5 [ T~6 Y\ $L xEt6:e]̊.'Y h+>GO:EH5Ϸ{k#`_u@/rOLa_uo&Ľoo=prp)Dj#RZlÄ>҄X0iP^d慠I?nC䠰 { qV-,Wf x|ݔ%3]S3s=q8=2CIN$r0x8L'[!zɩ"khEOr@fuY9^/QJ Hټ3¯z ÒƢNky-pL!r^Iw5C) QǢ;9$1sWB!']131([aykt)R9G$S9Pivs-,RDe-iŵ1.e` zcs'B.G'Q/*lwHS0 a0݀)Xi Mc>\,͊"L f%ıųxoL5VL)8ef /H3}a?xA cNԵ6{>v/uT?ѫ[(}D;[+C_vcu0-dX뿔쓈t{/2E~vsѰr0ĈXH}|c)E=zIb2ȡr~iNA@U":=t@31a;82aYǁ=p3aL> 29ꨎMW AE˼@4>^./I CM._)W? G3Ѷ?*"̈́K.j̑ ]FjbK\Բ݊~9K(8 n׺cD.C|ڦ5v|Z،l(T,mf{^d͗J 5ࠆ 5ؑeG0$oOD#u;]% $j̯g#y^tNDG|ƄHR :\Iߑ=tShDa\5 "c)xM*z]#wLcY9g-Wn73Ͳ.<`q  EJ`vkJ&R}s:{A~4@YB6N)uXvn)\$͊"Mfe)qIn;ς՞,WS86 y 1.Aoh]a ipUBI*&i?ΟeB{tj̇m H(= ^`AdfM_ Vey~ݲ S1xkaԣTvʴZњ_HJ4Tj;rMs{G2X3??OއJMZwćGuciUK |xl“~N(p (QE"tJQ')48z'+8F@Wf1hfAs=@Jt\ګ_ *$ap&g>Ѫ rT-gYJ8#zZb"Ci2xalS™ U/!0]㪱 ߇rt˖J]U 0v2_\kO~n7G{g1rNuoxTXS&Z+qGC:\R2 _VFX27A.h.] JaLCPXx!r w+O~LJWA(IH @ ֺ'@"?1<9V|,|W0j!KtD8ASzc_֎0]3_:6lHY?7"u45;DvG#E飆[=%( SŇr)рHDy_fP'E*ąCTD6) za7CuɎ`|XU>_]pMJI̐`%'8,ڞLs/UA[S4 H dӧ.LǢ~ذYTaԋyVðѳ2*[nTi2HV]/DoÝr퇕FyjHbUJDjߍD"#^bsA`qn"ko;)\d~3w@}iO4%>XgI'2ķHR;k5dұPM/XN7DXK-I`Y,/ڳڃK\3"EȮ|r&?$9+3}u UQ׻VY pNn3Rj5i)v(aχh-vQ1(rx ΦʪcLЪKҡHt?+i<O42ؙ`8a۫'=jAIrڷW4 Q2ƙܘ>ao! u$=4xy"7+eN94F\,'&/Ӎ[i,ɈQk7qPXB%CRAB͟Y?9ċP`ȉK8͆;'9U;$JK!qmDjH%hE$"gXƢUDrw|'7Дh>QA6`&Fa&TF8 iK݆47,Os5"Sy|r*0 (]id oOu!+AV]G [-1Kj^gUv) ;V1=:Ta~9LnD 0o9nj+{%j<1ֻɉ5Y:{HMA. e, ƻ1yԣiJe*pUbFvQ(eE4ɆP0ߠSUϤ;iR1P˞f}p$=m{|=aiCDC6X ΰSϯ8ɀ]^1CrtH%?@ef S%Fxcz%%*ChmLD_Jc"Y'*a!_i`Se5T֗@͸~vE8"],ooa]VadLmijINVW$E,$є9,Ly>NllX[hv F?\٪ړJϝO<|`گ>(LEFczLtL{,))4n):BYIi.eHT_L5;f~O1*M^,};!?71=,_HbtdM<86Hً*&t^4C 6̶ۗ\2聒`SZSv[A>9R0XMioDJ=G'H$ O W sDvӐyf: `XOCȘuS7|{~y`qފX?̊ὼǛe)R OAwpƴoY*)7Od0叆IJ| 'շMޏZ' W蟓aw9o;ʰ!%W4^8:ͦ@i ^íz7Br W^zgl 3ԄU9wSdF&P!O97HH:w磖U/N.SXmJ䱺i!gj~̋m>ԷavwEv&̖MI#Y:9깃8}Q*SlMdmB)[5xL heoG郇jJ2_=|vXX/ゃFGhDγw};!} ^UUem`/<*T|m 7'g0Qn?0^*1n i++v򞞘,eO q gA騟RMq 1$m:%^` ĽY{Ӝ4|o-SAwD))zaޞ 0 0M|ʾ5*\yXz0j 1QK( 됃q9*Tz\Nr|+/KB…AɊB K($A2oqhr +jePAoZ<w&^!XwՎ@ҞE 6T>}ɉ]0֨vi:JTy"Ƒy\d:f;ů*q}x~eTTս&v\YudGf&pbq߆HDg4TNktU*cDlos{/GNʕQAQXkա4zߠIA7 #`]MR'`أQc8lN؃Ա*"lL;b|ȿztbooFhK;TgC1fȤ#VL+CBEsi` M *}T\".2f^d7<8t!KfICL!2̂([eG5ʆw݆FQr54oIAc'#NOy"7d쀤O1QJ-(1Ź`~\)愯=hy; os?A$cXG(/=Q4$?YHM0^np{ u(+7LS[lfga.-$:BY#R 4Uw긇ږp7]%vBc1˥ܐv8'0\%OE%xMS*9\^49@ :26A9 p ^X˂3Hb.͗f@$eN i[_KwvҰ?KO}-L^ʍ9C: Dĵ rNx߆Sf܍-ByV alu15 =U6 #=da͊"kϣ3Y9*TTuѹTZ[9+ Nwf)c6L' z-L=(I8NP$?_FӣsRȸGH Bubx(RSߘ霺T)WAXzAf,Z4OQT:hm@곭SOJ l I,W9@:ǢW-8a)K u:f5(U{8L b`0wx\~L F~T; g=yΟ}H1LWm< LJL$`Z4 U6m 3@}Û^W`Z?Btr&%y޾ٙ5o!7SuU >f?Q|EW"]2kg/2eXvi TKfJN`(JQjWx '.ѧrf|db(7LX8ZqUrqF $b7h<Ԫw?iv "7,aS3歅Gi?1l^S1kGSfNhi&11\Qz`w_Sn;+ZNeXnfauO>.b8uce|Ԭ.Z5*bAq$Yc%:2E k|o%+1+xs"9$Em2xVBKFoy\0!chː&I)c9K{A9#-`uK(%"ؘyH{A&-,̝]ʻc9C(ғnD8dlIj.W .V B*$>X?Qp,?;p sԻ&pz N +({|g/@Ni]/nc>@J1jyϴ+D5|3S@7?ü蛿͠b=0AfG&o]rYBg eoXl_:&G}ZgmW,#UYeɩ\!.*yE-&g1AmNm[/T0Ͱ,HRHea LJjL c;oӠ!TҚ<,^8x>QPz7av#9dV:L!83Pb1 fD wK ,HK | 44 }{tIdw2yք 㶊Yrz0=!×`~E3NcWnRÑfSnR=>ETZ2#E"hns \%+Tev}n4wns/΄TؐV!lj )絇#.Qs8>M^kۮuߐgP$Xw+׃eQӍxgkDp5sbZO^V;^%iLm?}|)ADD(R)p8Vԥ'̭hDޏ3$<I2Yץ&:J?ݼpva0m<Ah:0iJRǹ^v[%m u&,|d 1ռ ")|o"~qA) |KJG0>UQN@FtɑϹNHCK=A5-7$cNR"=>KPz9$K79͌j{2V!QV gVS'CTjj]e`jQЊG0:G w] 3T}Znh9N>ȷ8Z7֤ڽ-z'X[z2GA>-;|GW2*:2[zID*k˒P9>̉DXN.u4ESڬβL.hOO'8>J?qwhDk1&<,8fg#r*SQޒ?^wȐdTN4/HhoxgwR<f,{ Dx$k}U·d`=%y7o>@;/`[ -ʮ*:Vf{X[fކGѾ(#q-FR}vK^6o9*R&!"'Ghu֩ .F݈JHTI,<ʎFs\X 4u[LIl7hϡ2%A!v5FL\#"̌ʲ::Njb1gp)QvT!oF5'Pxw|hx3U2;K1 nv#cK_$>1G]΄Gږ_Ud!hmV-T>լPvN\p:,YGdb~ mT^@;ڍ鬡 ] !ȑ(k$S&SMRk{:PU/8A#̙U6l~}cn֫fN·_* Jj}b/M}Ҭ=aMcytk`-2@VXb40qLOy'N磕D\M)$t\I_aF$vrAC($XFav?\/(4(LV/|;@d++ōrVjAU6&gV"7Z7gԩ]p7sZk:%;J@z^?BD񷼎OLSXBNӲ-┣@fܟsz[;w<~V/6e-w"O(Ղnjg<D>/y2Z RNȲj9[pnAX 7g|Ğϧ<0@B?S,?55|qen N`bW(bHiĜR chŬ=\΂ d-@51ծݾf5Aɺܼn̥y`J ]=,I Ix\*MI1B؝3+A#_3P%}E?]8zQ O i&Uu@|:kkJm'(+M@GظZŀf!n&^y?-^q~2d&\g_,-1ӷƠM#{؊[e=YL.llg6ysA{:B33TaaXbAͺlvx("%t)<3SОvsAҋxP8ːk?ӂUmnu.L0.nѪ I}7:肠>owM>dKIGlLhonu;3P^Us ם\ѐm%ՈcGycejp䮔~{Yf  kva2E3}#`?@矦CB}J5C6hMۧH^.s"d{"ZhnR%FFL{:иUN \(C6=\\%yMtmDŽx ?1a]U'NwIgzgu\ ADʮ rc/Lm$CWFKsB] u/ "6;oCH`jg$ӥKs0S3yHJ| wbe{詸!Y v\;.K,pBJe`d LP1䣎H I99(ZaF-YaBE2*Ÿ2/~(5{8+:5~ ຼՅGWLky5H;/ɼ k=&l{)wӯX2L{w`僓#,Ƣ#lU S &q•w X~,[}p;J'8'ؙsLuҧ}Rx˫4%UxfJ}PDۢXncܼUct`w5&/T!KS=|k*9VL=Q.PH2 5ѹ u7e;϶fa((6RrIA [i"!% (z|nux7VŽjB P" U{ _-98}Z [٥ bߦ{H8k?8E2'|":D1pO!Yӟ ZdpxWbF ԏJ(:`#hn71nuRҷO (VvɃ9Nv-%Fx_llk~8Ҧ N:`fu"IzƎ$ciEE/S >jC%ˀ`!( j< jȖm0}L _iAo9_T@0̀aR,H78c9|.j֘?sX447ڻݠ껲[zQTl`H2/[CSg\)|=2N.` 55ٖU֏U[b}+ C? yb^&3sKr&a` ՟Ha"Je473%E[ؔ |%@&ɡW!E@vrErg$E(k"@l$|7e Jmi1(szUle1th;MTTOb03<A1c\H7s5,Uv\u^)o*ȍ_vhr9 dړroC]Vn,M|▞A!$Ɉ)3㟥V kn1xjNh3mB.( UmEoI)XMC+ԕT#G ).IQ)K'dwJ,u\bT4aJ!@{Fv7)TUa ܙcO3u- %=P( ,']>TNURaI1] 5$ 6$H; MYꌅIm|xL}C,s;^JQ+M -.I&D JHoK&l#\ 5X ȡ'=JFG3o1 ܐўqdL.<F]6pޔۙᦦp귰$i~&&)^퍐)|>}bXCs7FZedL aOCva rDw&*lr(E:Lۊ'1V|9I-[w8kUPi挋1o: !c>? 10Vp!,5kïr">;\`k+ e=Sͧ@,i8Q\>Y-&=P~]_sE{ ť8;w[WV|{ vpt ׄmskO*U"i].2HR$t2KfEj#.7hM[%a: {hb:\γ_֯4ZPWnnVl9? t;\5BG~žT|Ioӆfdw@8Y;vDp՜ֿCQģbR3<?5 ϣA,}pKƢ8!rW #SR6آ8FrpOj{BlrK,. &Q6QYPBU~_1UY+gb 97H4.FBv|;ə8?Qha|uޚcx H=L]t 1M fjH+xo j`qLY.Pxũ8^{Xb,Lj޴)C{wvm5+w~{Ę'2NN _ ]aDp|Y2lh +=|w& X.u`8}'"~eEm0p5e}=5(ɳdE.ⒶY҈͠6>{ݪ[cX1y" f乤(hќǃGZŀ_HԆWm׈ $zc6h3+L%< `?*pi-\TTfZXXp+_QA;faNg{>9KYE/>_LOOͪc ӈ/; xg]Zq?YW@u@,TG= Qa("t> kA\iE退vVn+@mEL 6K繫 5 _e57HuWR+d&T]-(4`* %pn6);J<"KgY^mevX?퇛@0IRgcb03].DOԄ8j_iI`\zlYĕ gtѡߴ%ߓ\ܕ4Q#>Cj1|N?]ٴ,ݺ^Tw u`\R,%ٙ+c4Mba NZbDO.h%ԙ⳦% t%RΞx1FhML} e>m@#`aR /S%ՑS$fq)uP Œ (w7Y;K.yo0&+AOB+y6U:)F9IZ_Ỵ}B{Vmi8~B j:ޔKC`z,?y+JDJ9~K|fjɝ`'v ZX͕"S}сN.Q'S$QWNLΉWpWC42+ !=>d}m1Y5!M*k\Y-ՙWQBycdq)T 6l;3mճ^o@Cj\9or}1i%ҧ{H&)q-~$g1 dvPRxyDS >RsfG RitzrݤRE`6Pd#'Eeٷh i*/IE0^\!+x2(^a-@I=8ړYl}}41MPBx?R<LԪ͙wqq>'?# . 説RTUorlx9p/L3ӱ`N``#^h=|w){巪RafTڷ{X>3}G+4Y*@ ȸWJNO*k} %jΣߒܲ>IF{:Cӧ'佂TYPRŊh t |k[JSKV VcP$ajiTc 4 ?/7ۄf~bTaе%Z$;~ r)5u+b4l&l+$ ~pF zJ ,7Y\r3}6d =Vq8frxt_ntn߉4'E*; E6ޯ ۮ·  ⅳ,V93mmr>Sx{  Kr# `^#+h-_#@|\Y[(ovA_H 7SaJCv&#Vlެp*a1t *q\j }R7;:\u4L\ACta/G>q/Iŏ8'l5 ~B9L7f\ޭ1DȎp=ߋ~!PֶF[V`7LtfZ]a}Ar`56_F '^]9rNp*Q-"'Qx>۰'ntfyQc.cRUmu5B}rnK֮%v|mH5/BT5Ê1@. r[U)aO$UF4K yf7,H(tJ0SJ\ G#Ÿzh'] wF)fUy3!)DfSכy@>C`MpJTpQݛ/Dei/P $ZiKB? ̶KSéV2lf ]v1˜O%_z9Pź a6?hy2Ԥ3>O#6*ѧ9 VVĀQIR9aH"^#]8 ^o>`a,3Nd?c\F=e[߽t܆[wK4kJ߈Cݾ|eΧ$#RgBV&<]Y2.&evq~ <=7G_nH`@>ECC@% 7gޫ&+bL 1K:-_FU+N,Fy\O.7-|ŇQ/{HIyom,nO@qjw15[q(s)?Kt}?xZ Ұ)|@@SU/1=ǎo6,Gw;s솛Zl6k A0 #4k e1:3- (0˄*JuE6]65Xum+qFuʼ$!Rgp$2s8Շ^-Ƥ0{˾'D*jHOVs87kJ%}6soz`S-TYݛ$$nSB.jF>掝~"K1$kYr&லX%=z~JZFkd,&<@\5nǬ*K׿ ^g)ߎ/, JPsc?́S~EgUq،Кqen*[ l]}4 'ًz{֒3yIJ CDf]u.,lgִ_Tc+%,Yq&M~ u쭣S A~۾r r{$jXtWgYG5/A1@Sw(fjrڬaqdqL S*բ`G_bT]ʘ]7aKާٛ5 o\{O*\} t3N|b<[p096 [O<)>[ORo͒jV4o;Ev[Eݵs5^33M[z|uJUi0e@L=U}8~v&B<&7x!q:b)23R_m0ț]JR?xqe+~⑍F.hCK8-~!py+EԽ$!Mth8p$d.A?@FJ{:B!IH0XS{X5#l%^yRn3q9/ydJ{ x/'C`ZyLVu'KJ&/O{[gY*toM +/.9ؑ+$G.^-gXCGnUDMiGu$}iOm{,`ὧ(+(h-\$~gV[cOqA< )`wmN:;6F(s#Sob52Ωz/RM|r1& uȼJZWryL=BiAroof} 㻆<oG^C$CZ.m+焀m@'-rIddyܱ(1HWbz{8ǵq7Mō%"[斪]fǶʐC33=%\lX3&=Fȑ/m%#D$]ڟ̯3dʡ=mouLuV~ 54ՈzjRqw1-/Qy@ޤGҬ$BpI5/=nA*Y5~t>$)VDWQ\i贅i O8^%qP91-o8w-Cr;Yq)PNv0w7̰yʼjLEs72hWp $CCU۬GX^+@FG\ osfq.=DNesB7W"fFXMtln{L7שOoZc#~KI!Z &JE|_z5.k`dw֮ Ygx4pLػ$2|UKN*8'!}1>3q\a=_]-DO #1DPw^KVǣ.W-;eyݦ*! lI6.*$AOXa C,/dFll os8ХT]Ɓu6yG-~\K r;|hԡ۴Q4 HM5SZt 7|}쫧( 9Xl*ӓ#Hک<7 *[Uy;'r A |MN9 驕ǺT f<-ԺbkJ fl!<hZL~1X3/T ='U{$=$ ܛ!x%>e/.XOfI@RdtD 3bylNt[ H( 嘵1yO qdY'A459 . +,|b@$?tYUYǴʡy0s 6`U6ZaSר l.O=80yJѿw!AwƕFIwu]z=~/R湲 W&Vβ8YB<^!8X|-S$ygN@L@*m\cw{,^Mϟȉ֞Wii[5qK g1!`?(hk4a}woP3?aV's&=Zl^y$x:ЏMmK#9 8C >>TovШ-|/֫~sۙp{b% }Łm5NJiZղ03rjR.ރ<#p{Pnէp v&JyKk7r,#N'&ʊ/INbvp,!л4nJ&.l̉PrHgJQn,!eLi'޴pMyC;IҺgnCUǁ5|y]j ̚Rx,~\{R}㿗p( A-ylGl/r:{UԷw$Q_Q+6ne]IjL7`EHb4JvV;8iq" 0RjNgjߛxgA(z0֣dq/k]15y>s9F(\pmɚbAٛ1SH:ZipF3jifŌqmD|"tCmXYL(shIߺ[Vؾ\$!E(nj*8@}G З:NtצQؾ@W>ًC2wL>3bZ\5 0=ܭ[]Vf!,NR=UΘF*>Zrki2e'6Tq 1_ƎLg,ʌ6^;0 MU$¿}(QPU+B*=P w齨uez`JoIg!a@8Q6bkmu91hmS 蛇5i|{gWdYඪ8f>JPCe4:YAE*Z- LN 5e3Z>zɹSl\lQURa XhQ7tN?h΀xyؤ˵74ў- 8T{ZSt3Zhp1Ѻ^$bT̑Nۛ~Oah%wXɤ멱lWV_',96 6uRՙb*w}ۀĆc`EOc_eHoƻ2Rt*,jԨ:wI#ܜJ@6ؒ 3rxab/3YF&QȦ3äDL74:P操zijQ2bZMJIAy4rBv( LIS+ |i[ pܑ#P?eDYЮQFN:N b`ќ "n#6m.{ne-&sf=h*Or[BګXo xIIؒhXv~J_023Nnf 3Dݷ̻ʭro|Zx"5;o ]UzA'aߥ0dOoF2 ~ttD2ͺߌ7o6YJvL՝ {(ys?xNFv5 5Sk*7USԁ6c'Esb.}}cFhlZ@9͡V۝XBIp<;Q"p.aڛCq cNh0>6`tx-$YwI$l]<KNV1蓚sW'c-/ݪDlQ2 ,kexq9 Dr{y@`qс{m[`#+vYZ">;l|RoWS}KbM!5})g j}7ITdtĜgs7v`%%x&8vZW@ת4;h^k` ?2I!h R S(f b6I,!#-:cnfy`bI^^  eTW&ud_0[𿉘ލord}# K%-@R[c:k#IJ; Δ;1JL/oMwC B䐃 =\ORa)A⛨H_ZoUb03pxh*̈Y\=&Vfq, {1>%ٹC PȽ4zHP ȢHy)V:zh Ƅ=R0"p(NJ # AtAE}R`cbAbi^YH228z=/\Tȫ3uӽT ;4&ario&BB,TSC"O| [PN慍( Y &ҙ1lހBZ "NAuK.8TYzaJ뉆`h/iШ Aƚ0V’(MU!YFpbŒk+fM/T!L)V ŠQ/ob ?Sٛ&\|=۹ڸ hxf|鋇6D?p7. `x"LQԎa-$j57:&HGa'|bFbӼ۾_Lޝas=p"zCg.VkifE `dF\;3{-=RkEVq0kiE07 ;P"oxڀ0Q@HafP8bcX k %7 ԯC$6}ZU*8g\^#`RtQsiIס QX3P gmn`21 ,aI:Xxӂk˲xwE͙Ɩ~TF)|_oA |~ش7v=xk&-~#r eTZz͒ڔ缿j准îAr $Xf\"{'Oii!ِ})Q/]K w XYeAǢmMa\/nҁ )2~ >(~Ց^3ЍiMD}3׀mgZn_l;۳Omm)nҚ4 `{~SJe.͟VfysSno9-cZ#pn(XwFO@*+wu?EiOKx Zwˑw6$[|LR;R5R)Re[MS&E)GU`zgi^X#8v@-w b/ *q2 tUJÅAg,l#8`xyNy}Q3OOytkhH'{`VXCD!Ғ+ $bkrJh$dT Ԑݽ1bl#aqg0Noa=N^aMg],0AV ?)H /M-|P6ԾR3ۣ>sL fƑ#8_LIFϭ|Y J*ƒQAX1Hb-9r,LmN|7O֟$Z=,| ""Z*O6 o\ )'ʚ0j;G8&., y'-GX s59ث=lx\t`E+˜O=41@)!|C6?׉9lb^zV2 r Rªp]8C3N&vɪ冤!B2Pz'U1,2q%X1Ia db?RV9l+-10ն+^͟ X|A~gB'Q& %0̈́T17[E]ozQy蹜ZѮ-tBxO1/ qAA2˝B=H|\򃎇̀qX59(hE/wyA$rNm['QO<+ՒnF*XM{qm\e!|SD1:qzS8gPJtZudɚǏjb TLmvYQU-?Vd)~uiJ9mJnEʩE+Mۍ9v.5rUE"ҧ i% 5{gi }vX^moE̊^F0l6- K:vRX-fklSČof@,pMCb_5>zܡ8[`t dAep ' j7TpLQJ !gI<)eRhJNXy X8A<5"(w2L[@8-gLmӕjbIa8m!/Jl2Gq}E<"}f02a|=\}e;WpҢ` nepyct&Q|=W4Ao>T66£YXg?rNPvU5 2Pq 2Ŏ; o,ttbSG5ag*Cv{2un MkХc$g.>#1<̊9X kRj"rH딥dȾF:^6qX*ʹyH!#Ewhbgm {zCWE#SAHW6E=lavQ!&, 6Kb:UW,Sy ث +2&9;YK5yi[s뽳3 ^r{`q(a"pZ$\ stNG /Yi#&(+!lXmesfw4whi[)3P.U i*xBbXCV#wZ^k-{{Ukj)VbG I+G](H7X=U/kxlNDRaWA^3%^Yt%@2e S>]k|ӏ{zhܥq@>l<ߛ 8t<p6ʓHA*W{ai0K] K疧A*`7^]_x P][\.ab~8U~aDGQk#qE8tPJS"W #CȠ`!fnWD.'vO\y@r 7cq C;R?#̨DjܗWc3<$$ pQ'LuC@bO=} @k}]ikY{߱czo9[|猂@s[*6y6a!-3qf%s/4]/"o dxI9_Nc }<8^xMxpN!b ]e:j&[}B}02٬4ӀE#^zSRu pjH gϝ> ZD g$ώ3nW`ح-{cGU}|Qo|#lM*2nr? ]̼*X;yo]_IZ!O r{D . bٜ+,%=߀p &*SuF~Jj_e䆨J(o[ZeR&gwxv3Ysn @EXsP71Wc2m3sy ]`tS."[Ӡpm-4olz1-?}4D FС)&=Vfՠחc5̎"uRܱOs?8DNJFc@Ӆi GFhʽft\^tI‰aGTl#IE)6ŀ8= )إd <É5op*s\kb_qξQRER3z4d7jnFkc^d+&y85d޿2Pl9`hioͣThov5&Eir.U:OW/~!V)`2I8sGK:T lCi[9%b~-@/mH~l;<8\<,Q gV1F&guk+u{]=I! W tQm. MߠkLI"݂Qntn@wLVQ_S&97nI~rOK;!m<{`>",Vi$5>LܣEJDL~-^2A_t9<uXxId<+X˭'^6E` ϳ5[_8"6~A>Nr4TI{x!˥PI/ۅ[tB@&O~(Ƃo̪ɈclF?B]k8V"w7˕+‰qZ)?PK X@B5Ь0 'c8\ N֟z À1s'Z EᐵuU*>ܦMdʞk9G,<KO4\J~#qJ=sI^?5:F%])_L1|߾wzK'S8%X!˙Kԧ /j՚0zmE?эT(Rq:C~O2R{lIUlG̓&S}ȜVw/fb63'o~l6[ <m^sr=+!|'#.ƻ(\NC3urIQ !AKL.Cf D1lNٌ Z1ԾaP@CfM-'O ur<'Oۊ6EVBCJ3.^ZKW.qlZEk1=8h.:ѤmE]CMᾘ"U$x qJY1R-G+.acJx2v߱|6}+o}ŜϤiXaѠn&x!8Lsh %ot1@|nᰗZ >J]ݠ) ]vQ1CI L8b]4+%lsMߗMi^0 H E+!$0||e89բiJ9fH9*zoJmB5?VY(qNg&w `YP8_U3 U}-ﴞ=af{t%>FG1.: mm)kO8.W~YQ{M_|2!zy)u`VK[$*V:@:f}o;39.Ŕi1şF!~1B}S \cqGd6[3v;aZz D(&ߞ EVP4ӎ"&ug>^bS/:XMmFp*E]T%'*R`mk5W/Đ{W XBc@m-L9/>i/9aiT.?K0Ch9 f} az%MǔT/ ێؓN:, nE`4fGY-T]Vj2H[t@JE # m'Kz- TV{SJt+\- WzώHs8ؓUV5݅u!_*dػvȹVhתOÛ$In5IrwgPSi%oMz#wx'# >AR!ln`z*`'ŵ-k)>ZDum9YA.ؒ\R-xr٫INU%ّ#J o'CuJ&|c쒁#U&Q45N'}B|U0󷲵tA) v=3t1IT@b ~4 ]dR!iEؖ=}뙌]V 4+CYQPjTإЩ*tvL%Ye%&[O5uܤҿdr7O,9oDoIuoWӡCP:MHU8Ax+`g<IoAAoq "&!Rv2U8]+afTXˎl¯ӿE$a}!Xfutu1@E`Tn ];?BS8Q$.xd@(T9 ]" c4+J2,!_H{QPdY]ρR@k9TM^wlr7h2moNoΣ(HjS"F30u UL?**ٻ8 3_qe_vw:Hi̱b8>Qj}w3e*]9LFYE@ͨv ƈl/JNfڙiҹ{u h6L]eg;:AJx{mds3\wF&sY~34d\ +4P %X΅ rÎXXNֈ}=z3cd,;zQnؼ`40ݐ7hie֔^-H165cHnMN[&K}v#p(p3Aj)LWJa][K)%-{^6u?7q>$+RNY s&9!A٤nG_gTvŐi7a6> R&vRҐ*|nԲ5$zӚWeP87Y3ΒoR@LԌ-ui1}u"t1RJIG Pڣ%ĬKДvw[tm';QFMsQﻺLa<։VD@Eճ0oCbC9eDWzw킭Q+i­=μ{ꟷ@KXZ8Ml0cud;fľ?Ҍc?bQŏJE)O`ILhn:UP WQ"Ã9Vї _c濿93S NNSUGG ۛ[oIq fC;3IʐS k_imxfrv*y9R3]W֬,gh#hXobɈcId[K[̎X͢$RUxPހ<{/y1dFh_$F0IN 7z\aHnw0VPo=`ü~fBF?|)/޷n1 <Myer3ߜ'` )ȵR6_\PS8;`ޙZ|K Bڱiy.cY6Qfq_rwȓQ ^3UvN Q?.//& ^ԮXzҾ Si58ҒuW v}y<}:zx/JR?ЛQ DO%ȧy?B@P U"(#2SɑLr$Kocp|i:H)l%_gYdZ0y04|-e.J)WWEPh 8BR~`g?5|$mC&3(;PWex4щ}ZFpO%5*3eQ>ɣ5Pg)R 4y+ ;僁Sw낦LV rjﲇ9"J)I^{4UKd+Q'+f ( R Tk3q2(әo})KZwD3+IOR/ P9)\ɕ[m š=GUP|~r{6R`0x θa:~di/U~=an͂e/ q5}cQbD cboC[F28Y \ykeՍ[EV;)G^~ΥP)0S4fgw-+:ބyզF򅨧`E9abD`h2Z:oͶa=ֵL V+B" G@[&em9t$ *O=". EojM#]iZ%OIrr^4r˱F"Q0L.vybԶ&~H:xک_/jRZQ3?P᪊蟠j㲑 l);^*xP C+j'KxuO+O,jzYԵR%DSV1؅c[Mo? .΁p;K_D@BÉLL=zGp~l΢`Xi'Ĺt&ӷBaFAwYЃS|'ncU,ƾQً^Wv>9^@܍;O@ѹ="'U"k_fDag'9gބPK~2Oqeݢcő-,ZVU,V=_@A -nQVX.tfY.[gfamFG`fv[>/u@I3b0_P.T&N)MA޽3s϶slcFUȂ;k]Uzz`=CSNEk',vc(šS?` ڢ|zAXhQ}I(_ ʨʈ9(pun!6:$/4'8Ty4Q/ M=FArhCϺ:2gx)%*3'#-REL{xul =[v(GM6;[*w>FArYq^(qG1jxqQ^_Va=Oʣ;?ʅM}Ĝ1̃-᳘] #Hɇu~zB\e0]GG !'R2ƶqH*\L 2Yd 73 2F1 MjP! 3ǹA7JK=wU8"x3bT=S"+.CsylD?uB8'l23/ u?0|Xډ`</z #/EdI 6zUjD_7|g-j08\1'&IHUVWXkaA*g(~egK g/P-:y+:[z.+gn.g'bH 7 ;dg(/)iڎfv8PycGŦ$+5PLMu֒b>lceU1`? ;"`-ȒRW4&|Z'ZRYҴ!]K`^SZ']6皈g 0)լpG򞥀Tѭa+nM+_޺2}7&KTq_l]e%~&{oi>< kS!E iBfL_6SoJ+25Zw"f`/ٷiFݲkC#%Ϋ;ސ,ܝTYyK\>*jOUR@ǽo@Yì#o9eG$qdtȌ_`[㟛L paxqAZ|b$D'@wرJtBP N "J7z`n^fi !3!!d~f v {ק\XȮ@|*a&1qdjJ5,]dv4j,"x溑$ڣa_|m{Hyo>/1WELJ N]Z.4aS~8ZZjZ=X >z뻬J% "n\w楄R^b~g8꫊: xUQ@Π7:|z-^̒R+1V `qVG0iC5vs 5(#uB0).MЌQ`E2 k"v&nqNSCbc [Y#J|8 !]{Y귛ﯪ$^CLR)].͹Lj.0< N^ \Z-%j|]\-榋'{O^:Q/lƕ<UM|VfECaQ$>Z34gMOL :$TPbf#L A \-Xh9g:FfU 6o(#GvbX"܍qf5bΰ?hT ץ^ҹ 1sŤ62 ϪV+I2z 4Iiq~Ih~1ԇzM4@ ^K5x"8|xs`22{9!) 5ubFo4^IPQgC IgOsooDٕ;0Z6-E>Bfe}8m46ʧ%@r""[\ Q`Cd8Fӊ'agBfG?i¶݀C1&\g+* غV&~.ӬPɎ#!(a/$ n|.fatKY$Q&{+ͲAٌۦGPEj{ :N'ɲDMma6$y->_p27?sgpHN ߪmrrƩR2VLt;U xsP~daހ룭Ǐz^8^ѓQjΈ|*Z^OS0ƹHl̩36qhXu"vt/4;opG- s;a1lz OpU+}7K|i?{(~_辁_ ;J9bLċe_??H2pA~ʾ 'XG/m}Mm |PYg.\K5HXvz,DxYy!%CuHآ?-/1Tcv?"[(˶ ԃR_?Vb猻ho4ƪK} /[eI3 (h(CwӦc#):sDF.|ci R|w[cX+Fޟ˜ym=fk 1?Yk?PΚ΢cr' C[ 3<]˓w6ṁ݈;gIeQ B:zR8˂tGAPWG̔_gE08,6=C >^?@#òH*z'ܠM(y7ҬIǝOl~7a͎uevt`EO7=mp$Y.BRp>I?̏zΦw8k7# O`7)9 !$qջ:vWBsra&<Y%=d'9Ӣ9IIR` 3y$KVDe3v[\R]ȲH ?| 26 e}Vf K(lj$J Z:mY%-Hreɰ0R7B(5Σ& v_nguXpYziJ8_V-?֮u[Yۯp0؜kJ -P]t]v{WJȭkS5ҫ2P F-g?-X ~I,bNCw/p)Ŵ^r{1- ![盆7b*nQvB2\/rA4TD"mgQRyy(h>Rÿi0o^XBD;y5!j̓Cݳe Zk56@0kJJH]3uKc#mUNeߖml3Ţg$O\ ҡ$MVW\eRd6[EF(ђ&IVl;쾠5+Y*P6na^+}nX C9,vgmTXopFrW{j6כX7D<#6^4`KlNnB3l5q5Nu'Ћu8 jNokvCZ JߠxM"6cN Hd  ai@ViVQ.\Y%B'0>v5#RߧY܁;2=Hh:xYz'Z@1.P/] ۀh`hFL&9&7f]9y Ɩ䚌9hJ.}|sjɛ;o'-Hն]lJa/4Pm"3?BQKϊSQC7+qwz$5ܾyYFy݁Xcu9$Zن3IvRa^KL~[09%ucnB?Y LGk1MN J18U+ODljs+6}ߦ3ٍ=tL#A.P U|E+d$5 >7/g@ 6qܘO82/O[g r./aHc}lu2=LYe# 2)jpv7!u<g kQ":L+yL[AMisIBlˉN}MB{bdb*/(qr@Gk3;׋"r m~ kWU7rc()8Qp@nf$M@6TT@Oz61?BC:_o`Rr~wk-S*|.ZiBZqC}ɴƁ%~p ڠe2ﴷXgAhޟ`yaxT_1Jn g9M0|TBI2Y"n^Zп a+tfhW`R JoF'."7(kS!~ $Uʮ%޷sF'}R9?7D$]aAN qn7쪜S*S1J-)ir]KQa{$F[e5>44k :´B=^xUΡS-;ė63Ur֯fp }G冘%@mg˫azשR=/J_Y)B@W(3.rMA:4 .!<^%@·l3$RNE;S,aSnB`0S8"ҍ55xm;bqI bw׌F7H FjlP̓lK?ٍZ+ *Mܟ&Y'hsY8|>W-P৘P24iaa4}-~PW!!L{.Nc {G *[μN', B/QiDʾ(DX탡zخ~paE9|ZnggrFEgIT8uʨt۞ |XwAޝ ;.\?FJfOg$50U 8z4N-F$g ym:u䦺T{yj@'Aev*r;.2zW@O^:_G|n>L@9EW0lЍ_9sU*q j+~$BvX٘ZG`EeI%Ͷ6ͬ&"DZ2OH^NY1wx"t7d@?'^E).i-ݩ P8/W? ߁&xhɶԃȇ5;)Bed)M)_R}paСAnz'? uzX`b3MFV>7 )9e'0hnP} )SH,\ C7Fm@Qy!E^ɤcFbLRuDg SY%FuYJ-z>3Tg/iϿO_\v۱j\}u_ V7˔@fĥ#q#2{F{NKy>ZP֡o-uo$|~aI/RlD!pspRq96ZՃyǙy(!:Tٶ4h]$1q R}Kyl 4͟Q%NGߌ :0%­]c1j>{})}:__G?Q 44w298Qid3#סe&Xv(h'}_oU{T_9x .4R4KRM3YmDZ(Tuh$~/o;f| ¾Jݢi>$S^Y–yZDӭH[xOE03~!~5UЕ(Kt-";OZkD. A -b^/eηߍ6A )v j |_Q$v~yt_$T휰N"CB/e lU3Wl llcY ZkjA%ټv<̽Dd6 "='[C**bɱ=L4"[Yd B%:jN/pVRP 5/*6C1D~sؚZU wW( Յv1uJeWZ4Md!`pduRHƗ  #_g z#p=Pm!yޢسBf~EH'ZqirUޮZ&9ICzt:Yy٬`n;iimplEaSCVn0R,ʣ5[74> "g2T5/O*cS6߲.\Ձ*y9Bڃիn3D|;'fi:/?I@b$mI8i2D gQon0^}]n;XeVep*{?[Ɖ.2W\>\ux8fEãZrK ˓O"]-Qag-bI1xR=l )`<׎Ѳ:s0`hv%(5IJ)q^y}_誰#rd<=IS;rJoHJ`>` b4"8\8i3uV^-ޙ ,(G\ݤ+M[L]7QHNMx}@੉z]3bk:ߴ艹ϕǥ*{uju˷%Rs⃒hg7< _ *CRcPn sćM ]Cr) qhqNHv+;$g[ /#Oҍ` ,@L^e;.F&EWVe84 AMoɫo>CUotAO+Ƌi@SPo`iu(e\/>'bflh-mxXJxLher- d=_n4v1d3k|Yto ]bs uBuBw2jK |F{Z\  &fiHeox lz',ι"O#2i"9@ fMW'1)yV&R~LTL_ B]__nk`ٞ P;dqA<6LqKJ{+acB2Gze],Tߍ+W`Lj)µ'͎.,hk(yN H6@zb^^\bVnvIHufYz.wEOg9&дYѱQL%O)mn4hs3Mewٸt6GQ]Ag}w$C!PH=ht GFD1'MZ<oC'3/LʋT;dBY^9ZA٤2&eҍ0r s"R.ސe(HJ*㶍fK +?ZjN$ۇQpNbyX@%2_|w-n.|r< WsVu&җ!"uMǪϥ[B6]DzPe*ia*KNMK€S, kPHu~H`>k l"<3>"b1y^v\>Ix5..H&yO*ڧiQ0r!އ5C 똰a :߁7xҺѓ OT3hHA`^Lnu_C 8׫7SuV.XEd\*;ݳ)\g6ⴿJ9a~,KStDA]SX`΂}L~^7d~Y_ }qBt4[򻎈g}̳Ͼv~-ߠyZoշ}Da>)pZHڥ.rOg`` ѐ>:RTWJVԞ'ϟ')<b}A±@g;):RSw*JYKu$ȥA"v6bR]/˵tr\Sx"qRFyj T&H^^* pLu|޿%D]P |ilǵo*\ÜrS\i t~LmohͰ%V1=UiQzpk0@a,^KF*M=X>hBHXIzo?dzbdp8V:^W,2N5C\K{?9dCW(~V)mC/qTf ucDNm+JQŭGc:c)p UO4MCTڄ ' J>-t5jLT^џ_OB !,'CotkhEp9>qrmGHvvZe Ŧ;uX5Kݡ,wv[~ :&sѭt;{OEgl1rİjϽjŊvj%a>a:ycOɭ'`[nKTL\HG Wދ).*m_ 2s3,D)UÀ*ѯY[UkJi~pDa'XIzL3_$'`{z%cggeH" ݤ,Z#B 5 (ەs Ro?%'kWUBj5{?5jft٭$^De=DςɉPCѡIb)~?GSIS*+NM>pAr:%߃*5BU4y!?\wҀ]ni:9O\["L=J#l$D-k%l/_ZtrUO.Y3!S^M h7=~凌;>ʨ(CZL:HXj- O}?3mE\ VVAGÈD,.ȰY S>B>=l7Q7“18JAlFSvA3!l%m$uf8 @F%/[ok< vM{w9 rt 9|2'/*l8θXգ+sbi^$vФ:0+.; m%sR wqG=bcR \ c?~b1̸ܤџ$8}T{GsJuw tAjitA%+gmL #z]rO0^&mh&X Lm*.hF(ImA BIY,zZ7/˼V$Y *uJWOтqvqFRy69 m(N6$WHZIn1~nJ [lآ_EtƃWy2`EP5&;2]yݻΦFu)%4cA'w&Yz3w:Uɡ^˕HJ}@L+h-T275E'puKwJ̾dx]= pFI6nraO;,k5kV[cg1Z5J cU%aw^tDOU8t*;X U5mͻ/;!3ux3re_y RnӨ^Q-2M쯺Nָt?)Pv@^=ka<+h 6, =!XkOV0f͔fǿ,OK/.:~CVYiq47/fLr ?AM/'< :1$ʨ1Lr2M#&#4F!v(Nr]A(Vj(JtT6ܴɾUKV,I >WRal27 Yעm}QBIEzgdy}˯c6|xBǩDU;+Auz @9M٨ݗr!Al@B:P(@(A?^Wh"֟HTs =.1)Lj}:k 뫗`L^iȍ@%2\)қKXOiv/5-ڭ$|'qxENgMgB_HE). MSRbHSɁ^Ã-Fa]iB ˼ y XDV^ijWIH#3hh!4cxnX 5&;pE֩H$tK`rX'jLz m.y C0CP=c"CkeQ^X2jD {<DKGVh(2\C~HLM{Y.(Q\\U4Wwa 䑛,qs=+amk]N >xvs;h[Ǹ|fʜp}gh?6|a-,zJđ85D%IeB7Ɋ{,ۈgk1ϟT1PKXnY|KRB@_歘Ю)y,j9%f+f]sj3 !I폽 !F49iQvn,%RBXd-tuαmV?3lNNݢ HMuCH (zAHj-$"!) N C>9wej%d/ iF9{νbDvs%:ӱnS wD(; D5\QAK$Mo~/U0\Dg 9X"QqP#Thz92h?/E>QiƪP̺Nj_BU&B|Tn1zyUQ7yƷ/*j sbd2K2"O$w>x];~ Bg:b>;.tTicIaUTX?p6NxxZ2s8"2m#8GƔ)ZC]ݹ$GdY YߟMl,9I_(Ά5T"I"{lR䮞WlW*I6 Cvog(CxQAy]]$ذ^XFj{Q*Q:ZO/7Ֆt3ifw͡\()UeYND9Y." (~*xVP "QOao"6&\3zHD/n%C#0읁[P˘{]f5}sQTyoUBo H]ц8(@-nM2^ (Y'WԨ0Dcq-dٟ,)2`ͥ@[!cEOw(3 m񜛯 xb%@28?0EIƽzXV. t~Yn|HM9zMz('[#_pU|z6nZW6DujsOu ]j$H;i] e.!O,HEjM62V?Y(JU:U<4`tc( (Wk[\iWnw5/8/*(xd4V"a"P` bۨz.%`ę-j]^bny ^d7TO'Y*'sw:lEl Ju_|)e4[((\ֽ8&IqI 4)#[+=!=,>ۊS1˸4]1̻r%VoC3ON]Na $WTJ>GRr3h #@̽/G6F} HV DZ+.b@-P<跙do1cO/&cvf z<ۭ"Z2$ b}8!;z_&Ĕ$V%fc툉Xd{74]*-G9Y *h|!Ptrg{.d?ro2].V(QCnޚ(>|6^Obm>ٚ@ om8)%vg##ӑg\,iphs{q[ 1.;>;r/(lisW)栴F{+PphOQ|7ay418!B YU[ze)'nB #&\M~5M|0_ݣnrv'~c~?;$l%ř73_N)v|sfb)iGD|]"ɰIS6-t!2膋N:!ҧ(34CABe5 ڇYspۏHr1 C%oi=*nrLG*!_΢wtdž*}j1M`?>–h rOr1H%sO{̗ Hnǿq ;T_{$ _D0ܺph,P@NE֝}i3L,%WHu#CZ/8_P v75B^C*tY ><]nD2PGnشI+z[?tWE筷r|A%m cNOgCI yE`/̗#?z!5s̻r+&_S~Tj^@X?O, : Wt{)NC: AsH6nC'Z[Kǣ. %Yu!mP!W>a)|EDZ7nlpiРx&o^Y9ܩϓB4N%W 05y`=lޛuv`~["byDru*rQxMY,ifC oi mY3?t4i2)rw? NحFMs,qFM6yC$vJ_-ud8}@ZA)+)(6ʔm18 '7E9jۄOgzP 6=^^wϛ-%<;l;Y,K+m85zOIg&Jd-q,pw]XO3yh?;ӕ9RLtr&?Bð>2LnIPp""PLog` ؝o'MH_mRp[pD;_Fq-ER^:?5 cP?Je2>~n=O!PKֵ0T+2<}gv"} "ٽwwkN-ʩr=J;EAXě*5ldXoadp^p1Mr[ƟKl3qeׯ^-&TVlqV/I"!n,+/K6>l %<ԢL-U_o=~N9,wvݳbZV*%tHWeQQWNBܰcwa &j 0g~ u #CY@4#xlc%3'iEfXkwn4юq:Mr^( ad !;. ) ֕*Q g{PHB^bW | 밪"!p-JZp#{HGJĊx:B錈Og#'oryFn(BmMG8!X?Po (="; "81H,<?dRe*@;"[dAH." Q'`W zҍO+n-[~vS±D$қ#ΌҋZֈ+9\殩jS}cmQuPf/vuzN*z'~/\Qfx6+ 2R$Ko" =%M~nyð[t.X6)F~ 4VqG+\6g`liuClSiE9c UZTX4匠=y[8L[H³Q>~6@U'ucCsw޿mJ01I,1-9 ql<&c 5J_sJH=cO`۳QٝAG\^.f4-Pgͣ1 =yGEx<{eI|fl3x=ի+i~8,MyXd ڠ`m"Ir~ܶ?O=uaUP̊!|ndA ڰ4+#v9 &4S{?L_UFT@KDdG2,eDV4'/#<;^I@ޟYي <&S 2 er2 a3p`z&sE{)΁ky=bc#APQ?V>cƍzFidrcrKѹ^AGcJnr M"*ƦuuZS ӂp`(5e8^WS%pIZeXSѓ$aK5 F^C-I6tJozzxKǼ ~DU i.abg)eWٹcʝ &I6&J$!r '8H0 ̠= c )MYewLH!q񘸈CUZ]CJ|me'!zsdR* ǁhFVA-W|)o PmE62Ip|B^q$6"sdD7bpH)iM~)w0ALT#UckmivN SP) -e\$.c~aP'g$PqB[/4rVs5u Q{xR]VOcpB .;g 3̧)nZq l}$ht'+Hԟ3xl.OYiuY2L@1P ok'H^bTz5_E(17VeīPAyDhc?|s^3[&,40A[jpi1\9f8/be;%Ҹw2599+/8_x3"`/p 6سK6U&^4 R$»=ii|o=s_*i񙲁2c ,2DS83*84;]E Q.=R8^^,F@z)XτKw92sU*oW5@qR]*wrs4LxJwLՉX҉sҎ #iD9ћSu_ՐZP-L@͙[&.}exJIbX'xĜXNxۏiU)pkJu+2;܄ "FOB_pwƆcIK*B0">3H[=6@KtҜ)hw6>iUfbYU,鞬TYƒxodaP7.c!l%,A+x6*RvB&AHxQʘY^Wd#:@Y?^|ZyD*a_'BTavd s" Gs\)tEHUnWwv*٩wzN=DTh! |sjcy!,rj @G\pNC4 Om sBjmF0C4[?9V!kF赔{ EZf+|<Q|>+;h ;)]2f+AVe nO:A %NP ӿrZ=x޼u .YGlL~nV8ak.2{Qe*<= .Z й:#@B'wE-/Ӛ[\|ݦ~q%T8_`pQ,{LyZBX|N\ې`⊰7˾5~)f׌/ BeְQ/b=Ųj5} ka":d*i~d۵e%|ZyJ5`?߷ ړo& 8hv~qgw`VA+<^o_{?O:~ M%`^q߄ozǿжH`sf؂RBSD.vd 4ӳn1GQ#pU#)L^_P>wavOPEXFZnyO>w|fj Oa[װO]GzAe#$ }9"MIS?X/Lt0fm-ufJP!q젟*lw-2!sb m7@bb:v3eDEeD^1K53삞-Tc:Nl, Bpxmzנʽ'ۭG IQ$1=0_h[+sY\Tac55G'щљE+̬Df/FwPIt &r?`o5Ĕ/-뛖m$U,NIhxFx[3FWE-CKB!FmMa(NF ?!304G:;+8ᾩaM}=RE۴`Sm&ys޺:F5McOu^>ՆevN>OeXwzX~["sPs%Fq@{ꆱ0Al6M..jm Lާ@EmZcX>Fmc<5s~.ܞ(,QfEΰAA3ý]pK׈ylBϹV;t e):8^V/r%\S{*0oA~)%0zяRb/ƯnUfI *{zO4R/ F{Al#ƻ/Ɇ{ja*a`CAhVJlPfP}Qb;A[/. QЂ'N%;oks{"qW/Dv+L?z 8W  /McohI*g+ {b^{Z~vJ:B+lt_uD^q`4dZ| 8ͦiđ#) gq-C/t2I)a co%K~M?M#ж\{Eғ(JZGZ,@)phj鬚HKS"[ BBz/]Z4 uşaSnQ uoZsi|3doh߆1v K **jr[2Jю?wfnDKx2l`WƑG^gΛNyFK#y)0 #>29F$b4I!h^euM{F5qٿ4ڤ1vgӬ7[\/+H7|nkXL.>xk^m JD6L= bl!OCQ <Uܗ13AFYw[;yR!AQ@^hijF!%טf:tת\3n0p\c˭3%,6;W?77Dqwn 4  $XGR_9:avF[TZJXPeoƫoz#NadUP`Y#A8X|>Ì<5=N,u$̇=w4yvmK12ӳ'co)bVD҃ly0~ؿ1يXTS$`OIזq^쩗aj},=V4^ Gk-p <%:ofМm25U߅A0نdnԑk\\xю[[p!,Lw(@Ǣy++;2( ŏlJMv!OVr><[) XFX@Xl6V%QD}^jx*qaqw2diӚc2;CC{0U ֐{" ŠQWmBH([ш%ؑ7Q;dDgU[u|<(MI"̨, O>"+3?#+gִab]S=ǨAQ3UkBpDN۪]g_ W0wi͞mtt7]Pq8CܭƗ,Aۗcr[QuD@=Հ+jǛ #O~׃VsWLi:/δn%w> F$C&`0|\6W="q}#LT'j8sB=ygqSN5Yʒ}1EehoSmոi['X;ֽMס,M]k[cum}W+>Q䲱"0VTHchdS#tFދd&P 13) i:G i/B 6^& RݠAJ$u*׹C!htNZ6Q&r)vub/G(Jv=Muoa *jleIiIQ-B1#ц. UiC}IC|Ԇ*A1 5IV}`2ڒFLE덃>&7ҷCcg3YW]ݷHA:кԅ#;ۼh}fRt#(^@8SHHdmJ2 i+b&iIAmOݛ'1YV^ 19tMQ`8 fx3G]_vOQ=M"QJc-J57czNi)žHg5Rg 22&w4n+L] 4'"іFWdMV:1W(cZi^_L+3& XO"Q JQC=L8i[ [XmH!`Si20oM"I]'h@Qw&aAC__v^AYqFLk$]5i@x0N  /d~}-S!! ?Y\ڸg{\%W;=ǩ1fʵhuQdFr#K2 5Pg ZCPY?xUG]V\m^1}V=n[dLsEPT RuOT)~цF?Ö gEI5ߺå-K9ĝ>nDtB>*(8 00mp+>_<1GJo#$? au1>¤bR} PƶޠG+eMlY}}.Ï#2I +-}}\ρ[sC/93PfKj(#Ө,0ښ[ ڒ9r\`ދlnBG}M'mq0j%pUZV$ꁯI:ygĵ3T{(^%wN.xnlΨ^ W"g4x\@r2俈N~&GVvZ-K 8@]6,L—HspnLJ }C d@ E_?ff Mc1 p|S'FT\ks\L:\d9ʎJNg6T%IAceAE3YN4:"%Lu$A5_HZLph0QӔ)* > kU//a/v=z0|_Q AԨ<~o ڥ&6^q?7.h jd(tM%{4N*g74EJ t#f2MẖNK;6#h΍ؿG'20 H`9/qUa1{)Я{"m玜KzGf渨dڽ@+%8("ۋɓR}h*|x+>#`TV7m 9s9 #@IB[Ox,⊅!)Vl3= ث 9 !yQ/O,b d:ղ ӫ;`+8Ԋ!y~0>Z~2.ӄeDg6$`GoQTp2~i=s|6MCq@Pj9dtmӗ(Q(] EQ@"+)+0p闧Bf6k{9b.G*λZӝtj|ЏfPcFqt1<8b(+}.=Nh'nū|Y*UtjwJ}֔$ky\m.Z๵p[dHc |gxEBU5B/5[<U3Kr =^o9.tScf:<çF$0"D$T~Zsd>Ks$A5`9/v:HUHyNLntP( P/L᎒oܶ?>8o{; ظyR!j-;)q6İ /Yt5&mOhdsiy\W0 N chk3(Sz16 t^ X rlaPA&!,& ^!oe^5uqaLi}ntv-ikњmXÈʼpJ uS_d]H!\M8|R[mvGX4lJ\|2zd6hS"69){X\dWO˅/򁼬Q^  Rkz 8k5^*}29:LR͸EaȜ~8/:0H C!ڻ{ htHEsf!&ji^/S2)Ubܩ5bW! B0^l+ 6y! 8DW_2J(6fVhB2%x#d *Mq*Md!!\z\m5 08 X c_&y:tøt*qig d62-v kw2m_zlY ϶V'p:>[nH8ҷM) b?J:9 O+͓Sn xuLe{$"@x$>X&`ůYf%NP)R:((鴷%hu93H~ClBQ 7 \UI6`XlUa?eyEDk"$i'Co[ <D1ܷ?W~*M%--TΫg= Z|%Y87ܞ|IPcޑ`D\T}*7ϳr%'J̓ !áBfX/] oD,c:/#B/b1NvhV0~mErϴ^/?AF}c6u^h3dI:ZQ~Qsv^Ww" CrX%!,;W=Eiv0THaK TظҚ G|9^7ZlI.xc!@?ߑB4Iped,P>TT0v鹟k# 5(Naxf[ Zh[L`FEdkvDc;ȓ^@Nؗ; ywzlV48Gy.*$ξG| 2Pw/*L m%.V' FXEv _{x[f6@lʼ+Y`d%A1Ihk4~`TT, g'$q5qHᚧA<5D)OmqN@mw5݅I~#˯c5{7ȶ=zۏ̖|h:-D1};& u{`ܕ,{4gbf zdnx¬ƫM'9ո }*2)c,BvW&qmAbK@VPK\8I~p (2o%?ގvؒġoyߠM5!|!k|Q7hҽ4T.+(Z"03ճ^8JmTD _bݜťmlPԠGf:H;<+dq k>X13eZ C|޸ط#+7uu(swH4!?)@Su񝽎 9L'h%v_($-.'hMguMO1KڮZx%>6c_ga2#h䰟[$MX(^VUm%`]04" $?x=ȽCzƭՊzI>/pUe=p=]O@^nY^KfߤyA6gzR 9-"ۧJŢrO*1:; V>*d6]QCٍy0_3>gr? 4;ngWr㱣t0(9&=|HIf1=kPGQ1A?tʃ,e;uƊ X'q'؜t)Dgu҉Ɖ yGM |h8V'M=ցeV E;&B.͒ 2ϵ[xn\M /^0,4rEŃJl"h*@1h{O%~tb˕Y2W@Ցcj QOMɥ蔕ɾIG˼/F7^ (bS:'wCm'nWO`GGCcm&^mA4,O8RiLbQ{>xN|LciH؄P >u,R"sk$15i\?Q3bY4H#"kN+ݼz;O?C:xa2A~?7).oh9jm{ E(a@4B "j'p %1Ê/e2<ep>U!{6闅Qr}ouq3! v" qX` bv9e0fM d’3qȢV[;Y wzo*kZf LC|޿j@okG+߷ m1KZ 0 9 ~xJ3+N$ 'ѭV3 =g~S=!q`3:1͘/fµ_{0W!C-qGIfU˺Eߊ F<}B&`tjW7gvh^nv=Q"m`Ua7@|L:;H&A qj۰ <_D2H"m~qtڋ/ށe('xZKͣuj,"|UvpeIk<ވqhMdsu%_IG Fi( 7Kkv2y}>@knk@)kOx<{l殾"`RiO@}̙t,SW7)g8&r/fa{AUbKϻ6l}қR~5Hٴt~[lVdf-!wea<.{|CATҤ2?C;^4)XW u{Q+ i$Dp/lo e;E@Yofm% ZFAKiHvap?^(TC320ְ"{cF?pYF_sn,ʠC&֧K%7 ߩM tiՎ Ct#MCsYRk$x\J񒜧?[xx V&\[m9M/gc.У*W׮E9^ 3I Ф֡_1Bs 8JOR'_pw%ncS:h Ƅ  W4Xs-LN|C^C/.v7Àa.( '?5C 6EV4utMƦw} iI嬈1ߕN;#9<fې?0ch0z%C+4uɖ25y$L_GѠ c0>f-C4"6UEkih.v.VOs" 8WRpqk<|=o_KnmUOqIe馶SqotXU:tљV.L[iULo?:#Nxg .]< \P"Gn 5ΗG6uX)8f+I_ }2->sn̲-_O?"X0y^W*gjro$+S-O|qě (6]o4Q/yL >ĤHJG]L5CY.-E J˶P JZdk DFܝȎhzyk57 \8R}W ]_nё&D?ՐO`|b_wdQ)daB+z] (Ua*a,hFVUpb^uDZDQqu#|w\F5" :. /Cpxa%Ȯ(G"" t(L;߻Wڬ G6Z:p"ϱL>O:kLrƽN]o-D ŵځvFgW$Or!k2wZg\̄9{ 1!z.e(r1 )Oa%|#F[%]oKuTj*"d.5g/v0x($Yf( |h%DHԚNV`uy %qt3<{Km|X'(0`]PWߝZ@} ͌[@%+!!oOL$|UN 0hUw0JhS^!bq&5nJdՑ@|~/{ѻ[&gpaiQ@f`oYzx]Ђ/ q>C<ݤ\VWfau &Cemmw`3u>#2%3 )ϔG5mAєJiz1C,o;)&8 jMTfkE;#R7BS\pb8<~PK%qcX/o(;ip0ٽWHĊCGmYQRO )( z<' jD&& lKGP`@y7Hkz%f<,8X te2خVg>\Aذm0 +KR9uI2uh*Ϫ6ce-ɔ%?K^+|Բ+4@cQej,٠Ta(, hG `%^ 񋗝OuQzx_WKxP+0\!HcG[NT1jd =-}qGJ>?MU Y9,F;~֜ArJd䮑v<-md&S0KsM,uY%湆 /9M/l\!ϊC^r{6f?s! 1Ģ&M@h?Wl˷?tQ;J~9)c8]`Ќ##4B:jg#iJK0wO8-KU1:J`n5Q Ѿp[ YrYxًTP*i;+Յݏlx2ˈBܣ+JO\HP$ԭv/=eُT$OuWSr 88GNp=.#7K*>ȯu˧\qn0Ǯ$it{j2y!ͨ ~97ŏ9qOOJW0:w!͖ `ƐTP?oj3s*ϒTo:5)]&aY^ /1a;^5!?tR 2([M@k3rX5PFAc+Jq'el{k:;JDrvðďU"1 K.̯q S#*EOa ]vS#?~Xemٕ1 ɅT:PSϦ CR#W >BKW0:cpʏج ʍ kcc!g.0YPnM70nXHSu"'q4yPm?j^sr5\kpZWV8a!e}$G pl@zOxMH녛1 y-;cr>kЉKY$`!@Uݝ TJxaD#5B 2:[azj2 -QYsࠈ0<ߊݓZߝ c%[^Ƒ5\Szh֕ҧ)%#~7p4xTGŸ > ZG(̯x̹<{Y ~bm p{/3mĀw jqˢUti;$j,^-T@X&d\) .oF |j'OIYg2ɫ7P+"pMwICκ xb2JDV%@9Gv>9_Ct$v{[VW5xLL4EqĨ[31&ĢUۃ`&__kqYbJF_.>K19<4ei0.s\$;Ǫ+73,=7\3>ھZ];X+U6 ;vқj]LB[2I<È˺AlU+J9WZQcmDR#m1-ٶ^Ek UrQ\8U`B8SsR`kv7R46 U[ڊɕݠY桂Etocx?;\ZO7[LHm6sc(>`OkښSjX|Z3% ^YB.Sh4ZDo&1MTo~QWDj XAD񰢐ĩޙ1b;*_yaQ\uvX3-fSt( 8 %OFA ecwvगf!:Ie#okt<8LN8 TPƐD~;[ee4nc1XT ᭡p_iUEi-d ?Q(R̳z}-9¸)w؊|TϬzcIʛEPT`jsq3@I͎Pݙm kdbBšd{jl =xWX4)[GN}9ē}ql䱻#.ۇPg8Ί(?ϺIԒW$VQ˕ ^V6 tU@=\T%m L{abv,{ut`+;Y(WhJi=׭&AUD,$֯&~=`Gگ|+L7%عs&TE̠^PaXD1Q{@]SO`4]@Qao' սnԹ . ƈhI:d&[ W>M zd19>}q`H-xi|0zO\se(R!Y=˅Lc3U9?.2mY|N^'hlQŌ>`mMV922%oz8cH`+6D#2|$Y\[0zOMq<4tgɯ\}RM@6\k!İ&# p%#~~\2?CݟwxmȨXuM9 "6ӈPuqVط ƽ\_';p8 m~Bt׌G ^p_ 1f^s& A̚f Kٛc: qmN5Ie?򱉚 #z,NaWo BGLFUU ڡ N2_ǽ }Gv6qA[`o״վ(A^8+=9qv{˱0k/~d\`9Ð切Yd]C L?-튍 dWⲬk)M!A8)7L]ܕet%yvfW<^_;kw;ykzu'Jw/HvӄQ%D׷nesϧ2:pkt8F$d ULs~yoIx"$_O x$ |+(!* ЛqB?O1]WkYiFς-2 1PݲEi!.swwPJ+qDX|dp`sAzgl/[zQY„Mƭ.ch)"3@4ЉW~G7yaثGHm/ EU2[T# .{1Qvc>6WSk8A(SXNU+iY%ۨ\^r_w?waJ=϶ _J#ׯڳݗU]5oxq1Bit?ЯQ{nemQZNNwkIYAsfs#H#h\;la՜6u9~'NnQN"İ-8ϋ<)P8ʻmį o[i]i7VB65Oџ-i-ٯB(.&Fk)xM}/A$e!_F>L͟}/I15B EYCH)mB"8!ϻƶ™}9k2qz5хzU<6%&AlMStyrY5;YOy~vކb%$e<+N S4̌3JuTN?QeqJ/A98U+u@W7%u]Q;pxk,R2HPݷzȜWPLxs*pKͱB@l$ge6uZ۠]4!4GE_ 3+ dyf;Ҕl_R+&k KA OO4Ew(lu{ oүxcxg9m7&*k%gS(Vӈh.<.&ͬ>:μgEtzʼn- ,ߜ:x[\)m 3o 0$USq4ü]4qq|b\Y鰲rN|{u6nb H@jfbN ٿ(Dy'X]6)gc6TT~;t-9Oǣ9 ~sh $J+>Aj`ѵ8_96TdMN5߬7G6%`B 1 CnfzE{>k"A8AunwE;˗ߥK.yer< ,Di7h Uߢ27pVs؆/= {L=8l+`0e G~.:߽:@WvdaɼS9i ""vO$W i((l{1BPKL K;TĽf~e|Ӗ.>:P=DE.bp/Pd=|zAŎi]q%)M?J_g6 F3}0L%0ԖdM2)]iUꔘk):`~4Sw\wL/ ZnAF@#]b=a9~C'D>pU|v07WKҮmK$ \dޯNgTr=b@ڍzj@}~3qfq2[v躤UR7Jg&dSiCki x߶*Nt Fp2?ݠJoϤ(C5*xS5 뼫GM3ba{D·멨 a[tz |PZ{_kGoǂ_씦6!=s 3^6L [̍ ̦D;; MEz}pc~,\&~M-eSoz}5Ek ^:$J hLnDm! 9;̸ډ%Qhӛ!M5SNP"SMY2K0< Sw%zzo9j(e|<ïQNj@`-x/>7^bK,4҉ :$pzwP,h;"lZjF+:f;tJXr eDűlQ+o:b7~,brn,^IC&sKJ8{ /|FZ(b)r;T6ѷix7/b7A#Gzj$xyqj}~(7,eu;rj*Lʥ+<~!Vk]wfHʚ:lU7V*9e ݅k*o(jMl %mگHL&I+U#6co 2nlhBnjEE HX04 VfQ7oE!dX/jL)=!NBƌ)FSx~ 3B[z@2VNeG91/ߟf*'>ҍMiYA-|GiIhmvlewRo>apo9 CG XZAr8$K9U ~kc%U+HyymllA[F ڢs9ڹ_EЈ#]4H}`#Udzp2Iʱ"8~$Ry 1HJX4@6uqs݁EޟRv%]ȏ#ΰmAO$cb埫h\ bd_6 ~.(̻ xX3zI42(-ߗ>=܎T#]٦[s*S 3·xwx5Mv(z$UL>M!?rЉt|u?@^#Y y޺\4TޞQ.# diWC›B.EU_\09f|){ GrOoH{}IBFjT%L H(ᨌ _L?}<3~af+uL~W*k\Vkު%c%}h@m>Oj;w [ۙ"7e+r'A$>KFO^d\?3Ϣ?yyΓyTo9pY1Gp"4.Ͽy&0da1YhzH > Kލ˻lWd<#$4ŵ: di7Z#ukp~)^K.k`>tL\pc]6cXC2N&e<,`wMv?-g\J$D I=ζ7yp*!Nxt5rT~KE^7b>meT0"kY p8D+[h}ȼ*M㹮XSw?o(Q6L!ֱQ"(OM\:hi,ЭdSd; UD~87=?ݐ4J>tLoM1&XF{2R尥UG-- HIˇ.E[D-~%ȈbA>%6W}~;J9|W}~CAFaLyʍhO,!L5R Q E'4R uV?VqA m-[n ;v 4@.jt٫8)} FN%Z:ɉ?8cy TE" PX64,;"J8) ɤsKeje ٕޢD ՏZCYc:kd2՘T>(6T>œ聍R>X9a}/1˂y (OΠYUL*~JX0\Qs!zq0k_QE:d.Ƣuz7'.!5"h^y^q/X#ut2H&#Vp\ر9b6J$38{pH&SQ ֍\㒒[v&XS*RPi/ uyloW^s[;R[8RV!O@qKO E%k:G$7?;28(gVHC\DS(}L*ַ Df %!NM7{$%n&PbK8[Bѹ nkHmwamϴQ#'q^%B*S#ʗqpY"e"F5#kOcF lS;r 0MB¹!"Va=\pG譶c9:F5 G'|R ||y kRiAϤ< #!?_1-T~smp6}m0oe{{ER o['8T8re+^;FWzLX=ٌEa;Ό9lk4 =a#Nݏ(<%WSR ^<88YsrfE(>ɑ )_eۤOfpXivMY;"`HW8e o0aJ-R_qrؔo=YezVo p˯5\fLn6qOg%u? jO=9 Tߦ0G }>Q `)E{:}={5pTe) ,\|.Y Bqv8U aA>A/ A0 8 |Y@.jJ/ܗKD%|t߃DŽJ{tpS٩I}4(" G:-/(6Vq!\Ɏ Z{{Ct7lUٗLeE-yij4aB+/( _OS5=+dPo^>-@6yT0a 1"DGJ*n#%1qk#ffVfzq`-2)Z9GJ0Eus%;^ܛhi D&OJqãR^3[ y<q !7D|#\1_^S֮)΢Q)IJWh>i 93Ȱ kX:'ekwqez5/l43/B`Ր$>%s -@$XkLq{nd(3cdh 2VBoހVVO(kݞ歘9PGhAbױ׼[ͿiTn-b& _b&_7υfV% $kcNAJ;L!}>V*"]{*> 6E3oQ&IV tmdc):///ټ4-)Y_k_-t$\/7X=s ;$C-V^Qֶo:[ݘ<Rcː l 98(7k}/v =\T>4ş_Uh_0&KtJj[ jJ>O8kmRu0U4C!8GnhbN#%jJ_i5P r7ZZku74Y~I h 8 =m~yz,w늠GZS4,B&[AROYZ D *̢ls-WD=4.hY`G?-)9wz4֓L f[$lB;ӆzxI˜孋v@*grKVS@iĞ̈9+ud7qd,eO` a2 9{ lK);ƻE'&bWIWM=$ Z,D=_Q/?F ȇP3 eN oZC)@'_/Z"ҜV흩#8$B !KP=*;JօsL6(êi$jГ#t\Y[4LTvb۝P2&DΉ`sqn0 j91,fEyR#9lQ9B!SQ~6޹u@!V f|\bNXq P7C&ݿiZdLƂ]͡lOčwUzB?Pz !h:h=[,{Xԋ~)Qk*&vק*DȶBū0'ch.HpL+;k(l=a9O7HcB2yq!?ju~FZŶTBq6M7 RV 8m K'lT>CgÛ܈B8\}Jh@_7{1kF]YS6e5mf "+MtN8 ?tImpZzD|0zRoYIr؀}[&5Aff]VtMdt8T`:!3l[]gf۬fnfzF!l)1@oqIboi4Į <9/::q'U>`Z>|1XkQZm }(x%m[HuH?O|!?s4XUsԐRfMI-!]pj2Nzlq_96U JJ(5Iо˃pZM=jc<[};Zc8l'Q㦢>mP> .EA̚g9[ݹG&/[8^Bu_tmL"v2w+CM9<9 z" HM&nJ!͸VҘ"(΁`6.Ys=/!e=42ǕPAc\A|P;w}UoIS;:E8mw%&F-U4 xg1M7΀A_ӫ=1dC|[5y}:hۤ\s9|Y.Jmi\  65J#wF<v!lt#ZA}5c$^CZj)肎^*BeϢyks|QS6uFachRauR6omGoFuR RiR:Q]wOVy2 98$D=CFT[5FN#?@J l(2>۴_Ͼ\P! IVԍdGW(y@ 7?e`i>~SܒHT\ B'{ -#n"c^v)Bj n%21K_s.QeM;6[dlby.]8C{fMRݴ؂wMZ ]!r9EylIȹTq 9ܫ-TߘsZ|xW{ /<-@7CkIrEڶ;\ 9l%tk)`DIA0Kױ6R2_% T-H>YZb6+ߥ6 n-Yy> 4}wDƍ3cG EoND)TJy'BYHW=u@itf=z?(y}9"fWLe\VȘW|^NJ~WΨ O>xOEv?D2#.%J?ya> ddӴF%pe Qkf!]H3tǤbӞ鴍ffT'bƠHeYr۔\ӼZ+͌Rr.OH>܇i_KMofU[c+SP5'p[~q_.!Ƕ1]|taHiH'ST%&( k*5c8Q#rt{!iX*s 3 @Z(^/>H >{':1^8R[E¼^x |@Fh)|8{D`>1AQOh\1,=T"4܍fI*-C[XzΜ:TO]3NR)IJ+j*rB9zaQ/)76s=TOp_C1 vs4e=;]<6~kΤt_+w3^"#Ln&zּ =F0!zPb --W)-\LsKi Uc4V6exd4IJACwl6Ijih]1NYi+Y*nؾ&OΑz4c?@`j(KFӗ9ygsƶÀ(uXY,*EC\>Pmj#gqG:lv+>e?uSVγ!sL'fmJxvwqh!UqY.6cUEB#@R1Sڭm47m^zkw#!\\CWWY̎=氀VE-VXlK3u-E@:R\eA )NoՎp3C"vI$4ڎVFU*k l`m;%2ҁ30j&xy=qD=0RYX'oXFѾ['ƒig)=C=b. Z mE;9MI6 o1/0/%8%Sbm7DԼ,mQ;HN?\FLƄa_C) +Y)ŴWiko:gsO3Pbd5\`OC$/ EI|\,@\B6Bo`/MaWrNUюk&=PaRB;bU(h1a#b< DY2E}\5sy=M D;,$(6)(K"zVٴ3l@{p0RD{lw=%,슢5p"{)E?WS9$#2s[*>k{vJE#G}ztx+ANg2e Y4[ag:6|SԻ8CkO(oAgShN S:XÂp&XigtŁ_օF$w379@0Sbz(^%;(7w"aD`6Nzi{N> yL8hLSG#ƒ/YGt-d)Uס+y$ j #G1_dF &}V`&'Z5{2sQSM@CX:)t7z@bb+m8gu VFT SXҎEQ?|}΢QF,PŸ$^x8ЁFa~/g3pNB![C~2fo3>?Ҷmk!R*:dd= s=@MB-qՐB,RHJr p59N|L} X"t޹mVP: W҈ȥebNaqr6qBIVL> =X2 kiк3%;K `R?~Ru(:2Z):-?p3ǼC18 \Ʒה=1j 5.H{؅#LOǫ }jJ |C t 4? ѱŁ]yKu]SHdwee4f$ȅXǂ蛽0=}$.Fs~DbY<>6Y+](?ip1Ys^'0 o'mnPJlÅ7qZteK boseGk6Uڵr̤i22n9cwvxr/;L#i Q?Tw(}Jp Ftt 0_o,xDaQEPAT\b.p l? N5W#-b3/{}6}:wj6a쎷k,B ::j|@&ƨx9 0zWmN17AS=3cHfl561tAXD_q1#Br˜?Yp}_n4Hi=t &՟GYyM?tDAp !t":2JF#0 8K0{aփHi{d5|i3}+O_ַNWEsHN l63q  \?OīRbAj>r4" ǥy$SD`:\s LщG+0<}jhh99mYMKUj_ 7Et) ]~!J}iiCƁ ֖.kMT,s|VfS>-9L\Zn5234CůUZ`׈-ac 4?VF=_cqw?U-/ږ2rYĕgc%2eŘ S^sJ⼃z)HEA ~cmV+ռ`Wͧ_ H Y ʨDՕ%*|@dZ;墏/581ȘmK0K鰐v _bR_0ryj!yQSt y쏁뎔"%77v5MV=j&4xX/j(Ƚ>Q HLmyd=8X@.}ڏkg8'Xj8lw2o.x M,ߔ8`t37c@u:jt=R؊~+} h1mb h\HJ 9#h93 c^9YE'ft Χ7W}#N:,%ʇaKyEHSͬz /Ne&O唚`)I"ս}l~  ;2Y>Te-eFv+Q)-lwMЩ)lI8!C^[o|r{Bq\RD҂Jxs+TMD: | 2=m2=+Ӆ**iI}3 cOmfDZ$Զ-iv.젹{bkwIϱ/ƴ"rÝE MGtf8Xy64+|R>9'7_>IkAğkRטX'Ϩ?~R$cp#g:x32L"ު ɏ <+A+[u1'J+ojit\6ZAO%o$BO-z腎)@UWzwQﳒףMDB֠W*XׯܱX{F[mƐR^-#lÿ>8 d Bf|o,qR܅"8Q?Ѱ RZF~ DYnH XQkn8Mt@zX]G'BA+ { (jo*58cF4٘Ϟ ]Ԋeκf[}oв2%YMlrpi#EǹwF^+#F:5y.~S?=`,,΁@C_m'boY,I>傘ǠzJ2#)[ 0rlQMl1%kh ?̈hOF}S̹!9A~"[ӵ O!*YvM﫽g"3r>ԔQȇ!/2ZQ1 Sי *]HA2qz73߃ZxqeF\K6|&ۀkJkF`pvI|Ys))?^֓Lr Df\6k>b%FWKS̴$.KO3q]~<0}IξtWZP!6߻AEd~_>@e9u$7c͓sYFh&ƾE!@ =؉dvj|yMWWfP&4j{<ם5|Sf,e')ivqvCvɡ^]vL4uc> aؓ7bb=?aVkl!pt^r&"omӛGE0`h]|AaAHwV+]U`L;&ʶ&}ϻ3jMܝYN0y;}{/Eaj@oz ooJ<笽qO6 F薂dxJΰq{qB^LA//:VC.m0W7/"Xk,ݥ蹷͵JcfF0:@HmI*kG\zΒagP9}N2!Ղ$d@.qV 5,nV(.9]8r1B!VSQQlZ}GIu:z7wo#+`Q|:%Y-5Z ,kS1ˢG#epYvbYxdCвA,u|~?ZoZhb uOz^!vC~wύ(X2۬ hj){пٔK6UAZC ]t4O$,EL~;+@mV jn CA( {Kj0fj5` %t 6dRP>O9?qrJ:h#b{)0*@Q8>EE>{0^RpBR{J(;LqޜI2\MI5HE/gC@s|ý>P򙚄jR<7ӪP:yEdm~NN&0y\vRT86luqZ!43gzE嶼9=gU<ķ|DZ VVmO:bʽ$NEL/̶åvv̦iXb򝷩?OaPGvuP]'"TBF@e7sbWiu kȭTR SnDL4wQ(5!o"ڷs/Oq? %1_cӣ';*Jf)_r# oHZ۱Q\ha|d)]5")\(SY"9"JM|bF~?~x G/9m!׋F)V3NCũӁ>0OkNTbsiy }6ɩ>RlnA:U^eg]#X;(qbiS?'c7EE?"~J`7j krEk؄xn%iin 9C]tse/LEb5tF lTL;Yᨋph(Y#QA{n` >. ͋4rbP^$0N-WQg A*b hiBAAeHSB2Zdœsrꍤ@'℈Ww56z\eZ1tI[|;G9uO;!~9.ؑąCSQEQb -m%},z_23-AG¥Cr2z?K4M\/?DӖQ"DLRu>ce#0úyLم\<}H8` 8sONb@%A@Jhf.,+$A]-~acCHPDo 1 6DFϼg>mOW> Py)=gbɝ `YJ,%.PH'9qHY]}JrHy*mS7;EC+h|Vafc_ jK'lp*IuSyA ZqȡdIߡOEB=@cEn(=q a ?*􈥣h9$אi9a B|l̿dõ2 FU +O9tC[?fe )k92:q7v:qҴ%pHp\VNN^ ];9tZf}Yؽ)zj@ ]lU YrlGyOX'ۅ&RK6ʗkK쪣VA ~@g(ofes `fKృCTZNWYfJ4,fWivo.SX˟j* g(=Sy+2eb`KV{]4Jg̋iy7W3&~nI$(}ǥݜ㱫Ϫ)A0$x<7;Kaڍ6QwV€|&,P6]S/ rnlBPir:,d߉ 㪅MG ZSs~E*{hmHp DLF=4ǰ_h6QcEԯ>.߈qk^W8P|{k?.V@8ArHIx' .q q3g ~x: :9?ܴ82)=\E-9_aY~|cC9rz6̙TutZ\*JIݯuBhсpJؿvϨoԹV5 $:R~UmT=kUWL8n3y|6dEѠ qʯ eVHf2|΢\um<+h=mn2!MMIך0  3tQYG%^o*oNW^g0P`7ʈUS+!sT'?)q1bM$PFhIiUxS_Дv";P? Qw/]Q`LQl渾B^Fۦ:ca?ˉ$ z[z$}o2$<<,6Kfj^ 4߼Wh8^U2y.=^']*@Ã駱L k6'Z~`|om[WmLdrp:GC5iq:\_&DϹѡ"2ؘWq Mdh@լEɞ& Y&8F&r'&P&9= ew0X\4A:^ը``C(?7RnK7$Bu|,Yf^,5Ǧܽ9GAU:hWܼϒ$,ݗi$WEkᶷ.僽#+>Ԩ}߲?vICMQgWH`_`vfe&"c U`3WdIQa먗!6DW\Gi"pޔqÑ .|x#asZ"N)#/&D/t_N?G{E: ?6Ї}|VՑSڮL>ʁ(TCY!m< ?WfFSdBy^6&"J! -J&jTω{ N=P tY>i/S|E)mM?zEg o!9Z*Xڴ^4slA7Lb8Mlu3 CH@ +`b8E7Kf z< Z&ݬda@+~w.1MD!%VjpP0d궅PnpFWw[}F@T/v ^@},7߻Ddk_˯M@q)"ȅ%8=ϥ|S^@ug PJs߸H'7D ف}>ѳADYQX`p8j Y0ǒ؋)MXzbY\ep* %ueXKc>⬩#DpѴ|CRӜtY̑O 5Ok_,}x˅Bȩ-df[8W!*y?n-vB&cT/~3@+,4`i&ɂPbUz&B6JG nXd.#n|+-PPB`SyM=$!-Q[pp*kbHHꛑ6H'Koi߷ih.AEګ_4ʻ[L+4&\Gt|' 0ߒ9\ kTf?tBAQCxJu@h :kʛmͨ $ёvhTύx~P>KX?h)%5[1O W7d7{:m_gr<ˮRCLP}6(rEG[ۻHyBCܠ4WNq'М梶P꧖ЈZA]}*GdW'(WR;qg ؉1T6N|\OhT a2Y0o*zKYpb7۩Ybv ]#r]xocA|JGq˃ql+YK8| Kr)xrriSǽZqQ$6o_Uz:wZ݀_@+C O鷩 [ LKrCSpNRNdjgha4n[z dkK<*ܻ%sz ۧvsncJc`t0Pa_䫁?J8RQ&lf7TqkdfdEj gl}A~0zslř~+Xb}gH^5%gQDCEQǕRQ)s~p[8ƨݺ9 5k|* Lm7Wz< H-'VݟM$kB .t]<v940t7ZK~Nz"<\ f ZhK 13wq8?zZՑ.{g\dA(f*hU _Q W ǣvn6i<{*WF 5>8sр}!P_]EV|6b)7Q"Xm ls ݂;M*A{2>hw bŪU~B$?;0v`E[_?A"wB/OGuI['&,]ڀ6A!V; =~3h:)Z c8?dU݋J IZ1pL(m3_$esx!(͇yYe\jf/ A.TWRC)[B޹#d7eиoAN)R(Hpw޴zQB9Pl)hxf#fJKNwƒa/; fC46& ed9nBnG[F_3GJ7$w.bE ~ag`ƫ9;f;gϿgTR{Ur[7)]N’+CC*SpCbe:֘;"Rot#3?| H߳8 ؀5!Pp$y%/E4V`gA])9\"8kMC13E#s[<"<)ad/I oEm6~>i&vs:WX?xOvI'i᧕w,n)Qјc\OVgM^_(7׿SskJlp<+-ꓮsB5Y-;a 4 H$֌([bz8r ;8Ű 5BV=nz tɮ;HِG^~C CD|.nt^ظh"Ψ4?ADZMdbd ԣDڙ"~RbdsqJU=KEF}"l Fð=FLEͭM[P (gUJuRq=>?.=F}&h>U4D9#Ik8 ψ52 f6bk1<:ڎj͢Ujd gvkYGj2)X;aʪszr^ = }Ą}7 ,2ܔGUvλ%a֞kuggK8fM4[U"a[8VjCms 1;&"2Mũޤʍ,#eFo,-oua[u`-&ϥTzCe83,V߽ծcC|r^6ϟn8K.ChZ"2[9J8=B%[wOVW{0@{0 +VS}^S_0D\q jJlNO'I(&w.iV 018N|c +߰׍qjpu>Z,Q_+ɚCyR{ZN[7PJolK#sEkGACxyMC^KL;θ |[dʝ}XCѣ,F0eճW>D߁d%vhC%~d/8 rˆacU_#oRk'`LL !@^( 8r*TڥM׶!J8rQXVVAS,v'|R;tܚ:*XWF?"iwi'_f]p[gL TRaT"m-~c;x>l')4f`##O7@uܴMsՍZZ/ڈE!(TϡdG{g@x/%#v̚w5&ÓzP92'EîX`Ѝ5a}y3pz(9%/kl.hιnhL.,:#ӗZ?KNl@ZEQ"WPrׇE})(URRr߿#Pb7Z,ˆg;<Ty$MlNͫSiJzTۓ6LNN P1sF _%[5 -UBIPl,KҪ3,^W`&>ArvԀ+4y Pr?:Ρֿ}+̢ΞxSKHI3D urֺ4gUeAWe0?J{Fe.Jiq5 YT>f( W!tU*:O(MEx'Z=>IQتmW1S,Gf]Qp0d?Ti%@#=W+P` Яۓ̗ 6PMph}i"Vh 7NBR)~j.KFa,jA/YaHj-m>'1ZD?6pɜ$s d~זLMu=DM)]z8@k=;|wdnLDb n +nxjĞDA!Tt_ q*{2;8L^MbNo)ɧ7~pB: ҷ[[vHCp09shc>^_X8:T\UTe*9⏭x%9 ` ^45f~EF*AddI @Ӟ1`k\j'?n_*ޏ<;ee7l p9W=yzE\!?>)/Uw<80w؉tףU Ð*P\ Af uUT&o&v?4_W0 c0bUqNNXDK%πpƏk2VAU(Zg}VMx·A1ѿWoȕ5M. #jo*~3:EݓQ*.o*5/ǿΝ+PPr[3s~.wH)қm+|߽RӅ~*E6%#=V/Z&(mb7쁂b Gpn(Nf;46DNȃj;?@wpNmF.&F=>j]Re}V܀\٘ `El_eU<@&B^V;KsGDX!*]dGXM+y^KT_qƫtIwQoK`OONb/I ؟~>)n\XP:UQ2kH9\Rgx{t:x2Z&z iOkC"3VU\=\oO20Ŏwe 7X$m֌P]|Iu=f)y:=k0ݯv8(ߗȎޜsrt t8Y@+gQ UJk_bE+ఒ=hkI%!^Z/1;oӵ0&Orw6dѩ3HjA?q`H}CVdWڹE(}A9LR[u#۶jD5HoS=֋_ wLf Ь8q?\8SDtMA,{( =dX3<.\iX4Jۭhupʀ4;W!K<K-)}`vlT{zQ4 "![~/bE*V##qWͽQNd߫12uB7w=bcG}18bNII=L>[TCO+KJfZޜVFQ"}:uꩥ) !@2*9+@NIyt`Gw=3mXH\-N$z(.)_.eUHڸw|#gaM`[wδ~4 ;.S/d5E% .D6놅|)ysW,M+8}bFɫ]?s8dF땗A[LGT9RyNt=]˧r-&ݷEUUD8IS4\*Ui5hr2OH}!`7,q\|WQ >0O~ biI`&T%-r[5MO_;)< ;jOX 5Tmn࡚%B$2HԩA%k)i9f(_gUXa}I6P#(5HsJm!{5TonG C,2p9Յ 'js(CAUg4Ewo|O'o)*L:>i $@YXd4֎]jN`W¥cvT=F"u~چO\*HjuΟ~ƄGLp/K-H:I}H6f8/cYs&Ys^DkR d*Hؠt*Iem*xAKBt?[VfѼv[1='axߺ3b:QMOضmYFg`2Nh=Jȫ 7$},F/i'WqSS)4>[-p*|;U/w)?CJ.{8Scm 0@3D h*+tЋebzT (P,~vϦTj ׳2y ^D(O)2c~U--G-M[8rPu@ ġ n2cTSZӤ!Ι.XMhsȦK_U`!k^k3>-Ҳ\JJZLPKzLdEzP enR]3_R1C3Tˮo~uT9SXjus$ vUuHv) كNt/س 6&}.߁@QZ)3 8Ai 5@9ҙxc"Kb3~5JR0$9ﮡ]HMȤyTGI#+bw(c0U8U]1 2TtBr/ =SWZ9N\WK5?QKb1XJ32yen~c%qFָEE6rH'jȍu귈AyY֤)Zt "ځ6J5h3Y|sTI{|\ +| 79.PlZUk*#+Y\??? 5d)J߃5>r5li8K?~{ -b !)eb+x8Z'Wlv~! ,amLi p< ڿl{mo'kA@0#o M*i22h:i 7L9&V*6:uktx0J&]ƒ$]UBnЌb? 47m *tKnLEvc3ؘ,9eKx+$5^'f~ìX_EKY2c<%*ڨ , ތ'ΐxsig*͢o ˷&QaYE}uJj<|LzqԔi/xoswQTj.T(.ə4k,"BBt=9n8!Ş4ҟWjYɉ k9pz|d_dFrOT\!}/ZhqOBCDt)%vB}}ixۑU{b'2oӎhQHLi&Qg'vZ?oO2`u;~ZciV&_0:pV$OCpj b|sqZ:o=|IX7l9=׳+d yר{.0#Z2d**y|n8RwNsMM3_B:6vߌa%%%Љ! }׻Lh>ϳ #}r 6w<%nڝe1<lġzbK)16)W@Xħڭ.6ZSL,>5@yyb|ɑioqI ajٝg&h\:fhZ!1oB{9^읉sEnjپۆYlnt:9ژuMEN>Eov-x*?pd(lD:WFDKcsƯq OmV,Bߎ p"3n7fT;HXtM- HF4U'DP>sAK >TM@#"5Z@l试$tM_>^@,?)z۴T;ю/ UGC)ޔu `Mj@;eܟ0שDZlh3hwǎQO:.TiBd# )XAiu,)z恋|w`U_f&z YL4͞'?ي'ǡi1STv&x̑AOA/m" % u%2")&w330gg!@VQ;?m5߽WYt‡]"vXՌg-o+:| YpH?5EO"]ǡU$?B6hfVrvzffz4:̧MG72l 9 J`+lY:d@qsvd[ӃJոиSD7L=.3uǿZD*"mMl+\ӆRQ4fs:iesI!@dξ/Y]ћԬz4` =EfzFcTz!~*1%nNN׻LR%,h"I/G"G1bAEi Yqy{S\@]$S_bIYQ480\-q^jG~/VG{w+S'edhΫK!}X9l#JL7{BWF)d UN;Mv1漏 ?d4Ԧb0񬌈j*Wc+ {˜ F@͛A]̬6'P7[1C :mq,+*a[uxtyp rVǃ۔du V_16TOe2-ƍp* I%>Q`3#j}z<f~ϵR'2.YK?Gf|^|pV kרH ,ҳ _Wg_ Qa,W=gԯ'Kmߒ ڬ)%%p/c ӉP䕛ۂeXа;O*qNpj|G@(b6Xʇj#Jj^q$ %hVV  dnnHN7΀ !#8rXu,xL :Ƙc`3` 0oq$Cr)MӦLĚ]-*&E 骯'5}.#0Bq1DTlmUl.EɚhȮkIQfk_|AMf~> +~fgqwVQ7Sػ:BٟS)?j\]@&X>bx]W`^S8*8(8Wl&M0,_wK޼ dah)X]H/ơ?D>WN)(1!eԯ~\g|\pā\=Ha$mNHKTfw.<:%8fvMoL16YxF"ŝre(|eϨvꇛ @2!j&]ҎXMʹR!pC]AL2x"Ezc/]c9 qdnN[c`jz W֑i}3;M8bXt8{UB2A?i NQFƻ5~yA7`eNI"aGu9xMA cF(t^؊͋}WhgMAE b]?-9].DE㶴4BSʉl.)'Lq+Ƚ؃ KX} WPNk<" }K/HHKҺ rZ<`6<\:>7^ÑDN<ժ4nٓ462F}H޽tюx0MPMC#%OXei}&s .oKQ!Z}!!IedH0|dB\ e祆өd#$fQx<0t'w@o8UazzΘ]f7DUla8?Z\ԏ-ۅg7YkVrQ'PK'Eu3si_L1,˹i *~،{K4c]\?"mځvgz0Pt}0`FFG޺IwuJ5!g2CW-i-%  7 FHqPy6l7<ĥXk}ψoHR5@`d%O{R3;O/}-A)L4y7̓-K6Qeǎlć+t'|5⽵7PËVW0/TR|wQ,4>r`:]+ʐ&D*\DS3] \\OW4#Ŭ}e(IZ3A¹(Qr } wsj/G>gR>ug6~u7>. ~DHe 4ОnR #Dik%gAS>/o4q>; ǻ.-COt [+Z|iΚ~$pbwk4e5i>:JMV*<h;8]U Q=Jpy>+[1+TJڹ~x_3M2Ҭ{\-| gx0:cS_y0G'EuU.F<'lC2j(e7U%]WrELI -±ɺJ0AA)7jP!Cy{┗2!A `:By`SC??ݜwWn&s?c{vXЃ&$/r~slj3V?% = HY mU*9B呒ųf\CFʙƍ M i˭kCLsyޅ,sٖ+J"hIMF;BF@sPi؞dÈ\^oUGVPАu| Ӧz@ fNfY*9{L^IvJWOaU@؁S;bt/] `[XI5>ڸ͐05oF`SgccĞjG7qO!\y3%n\7Jdu,>\@2C=(J0b3]/{|I6Tkw|&,4%fF5FG)bK$C@i_6`&RrJkJ}8Ms=6{Tfg)KTdD߅  b=eSSkbk"+alQ{?LO.z=%ࠠ lU=-MY02<|T6Ow$j?&dC𚐍HXinKȉ[,F'SOd\MW~լzp g)h;gmwmܠ2P#dC`x۩*pn,Jpu"uX jhI/:j#` ڤa3 ئPx9BOx(sPIt<.R^d`@cʫBr=w dDö#@HvѶ"YWA7s㡨 Kh0&ҦiZ:IwT1 :1i{slSV6F@Vί Hgq$ vꍯ}@M4\=j{Oe1C#.``#GUH`ױه+x.Hz^qV:N ũ:076Lz{X$ ZpZ d| %+ռ3 0.o9fkjȪbyR>ӊiA]5f'U;.ԓy7CY(񲳍soو+:Oy|Eٮ2ZЩ735Ҳ;}&3!4eI۽FAY)Rbjly+#|V׳{#u^4I"ZuHT%=F!ӊKVw \  QOQw?u\; 9w6}ZYFdMtqc)ZGilxpu,[vk3B;#S H ${Ѣ!je+xWcZ\OB^dk+q_bop@yj'm;McBu{uwsiIԿQ1͊3UlNnN;~ͤיVwiߡCƇ0Qcc5tlھ W=,Gܚ{ $KbGqS?TmɎ4k Xӝ +:fW c6 vHuj5kw/;DEv/(J?-KazV#+k!ZͣRI?kGcF&z IeKci9N~4AT^gI%@Z{KSۜfw~e(a مN>r5Lvs rjENbm<$%(Ɩ4ݯr}\W'#OZFt y9mc3d23+@FOѲJ_*M7 Xz5K8hx)Te9Jh? IV<H(Śi$XA3*b ~rk: ^bW?FFX^կ Y2 ?Byrv}V=e'rIg W-.K&pz4U $꿧s!ODaCK93q!raV̰Ts\dA<\*or4y3A8;cvp>RWjeTHڤiG-5:wDT м 3=XɞAFv7V}Jr_&xd%rnH#s*/"-Љ:i%>1 "PQZV6)f#/9'&?6N5ʞ@9h)4::q.Z[e/>da˾)Y47L0GR6z9p+>aX]x98=tjj,&Ri#8x&\m667~*>=c &KT٦=vĈ{1LmD[_pq~û ^vNj<bau%Y81 06 KV4$aa"%Ka&Z@7X Epc.Sֹۚ{n/NtlK.#T͏2لcbc{$P% GMY*֬JhlC s\G2&-Vq+IjҶ+|D/.RD3zK̂>͉:Ҏ8^AN QѪ[A;[+Kg X!(,Z:m[xR-"p_,|o!%O'>FEyOpr~7)&.Ij,u{ b?qX^dS g5 ӂ]t#07իE[FsRh`&wL'߈XkTע.Y ]|vK{/kvl&A/_g0]qۃB YHe񔻅ڜAwЄ H'E3fv B3] Ԅ%P:' sѥ֖uv_HD5'+c3zϤ6!yaNq b<)oٍ2 |'KӃs~C\'9\5[2CSIE=#1Y&8vʢ)d(YZTn+ )?}^r4[iy&/ܕÀiE@` Wbb9Ei*PbN_`KnX؇]S yNjON5Wp2΍Cs\8ڱJ5*g$'Jb!ɤXX'M)ݺY#N0ujlQeHN Bœ,?6.f3bs+T-9mY] hn#̀ `;E(3F߲X%NP?X>agGaԙދ#pd֗{s>NP7w5+5.ۖM2 )~I:|M#}|\Z P]ʐwFy*n7z((=-В1xtj-85>4Ƕ4* 'jx˹ikֲtmPs/Jo h,F>X) mOC9ucbG,?wȥ*+-(4(d8Q#RCte.QJDT+< *IO:,RO.& ŴݸW Q4.K"n,QJSZ~da%dQ(T[ ;COAY/IV%,"EwXfiI(KSoW9~0RLZ7JyD1J 7Ӫ2"WhIOoNEe!Sd Cü8yWCGL4e ~'Hd:K0~8gTBvE'p hXpY[!K״|a[]U;Ń~C}۴kv K>HVxy dE 6L"^ {j" q7[%v 2QgYcS sj:|c7H^qAåe-Cх0fn&!c{Ա뵆@Ոls\X`4 ?%[ I\0eZ~,ƪ')I;y8;eS.y]@K ;ﱄCk e+9"ZA@pH}90n;͑1'VӃ .RB/pUD1g>G?Y 3sAvTY^Ǡ'cJԙެ`Q9ݡUӞWE>9 y!+"VA<PoQFVA}vZZ u+(qׄʅn`AlAq +++`/&W.G?"}v_ I/ ۥ":)[xI>?hO.FHRRHW@OʹuPn=ԉ*KHd}np=ăـgqi`=ai盌 J3RO0v5boSArU,թndt ѐn4ɉez2󑵳EVdZޤW +fg)'4hPl4u{蓋Ħmlt# c)@As9+6U+.X M~dtEA9pRX%+= %.[ajMRbLftVk5.b]$ z2fTUkrp?W}CMA^H͒}ɭ R/Uqj-qI>wrcֵ)W0k-j8"5岴vp@#׭zN^zSZ-U@m31޽VOX4=QaGMM$͗*TgWa ~a_3DZM)gw+cc8Ax[AR0a}@Z ǯ;i -p pp;'/6PB8sǀ~u>;wMoQIw바; [|H6Vfa߯cr#<>kA;Z*PŇhlnߓyH$B)=i.;$a-CU.`)6` oV?("ccѨ&-& {sDrLЦtsp;Y!MnM{]P5XZ839s< H6jzci 8C#zBN<ĥTF>Ev,׋ _y8-RCdW`j*,߇F7zV)nh,B우}V_PSBrSO%МYf:~ >h$UjF xN@3=}=gWz^K@@c)Hta2sT*w.ƖHPz>I N _*ZϪEeN7wx'`zY ElF4by 80\%>@X|%֦0l ˅Fjpev =̂Ǚ;mS!6pr7zb9 ޥ\5 J*mT,ÐtO萚_j̸%j"IE`G#u{wqEH-h)C1ȡ}r::SF+hx$¾XjV٠BU" x(+W&w<@yo kHa@R, nLB{ f dn|Rs$Bm'l2rP*|G]WD1~L_:ڼ;0/UXq?PJ3|Mҝ2T=@V," SqzUF>huN6sob9[3s!2(<С}j3zi(|e ޽(bk1ZψAqlv(T4 2ϞD͊,S~(~D2sJ$vV#K+BZGC\ݔV{ES=Z"`cs!ܷ(Y yk羇VB_kX9_}-y ~Q/}¼^*hsڟ iX|(HĎR~:.M{qy4ĤBU0ME#<5䃅,KMvgB1£qI5 Xf_L;Y! KHc1[W!h޸$ؿXvAHw:/KCoڋO(я>{q?8L8˪YO};ҟv%Ysϸm}T%obQIYmؾӟfy^Hl?B=8$$D7h5ydדA3iz:P]a3PCQkJ["Cc2Sun64L:ڂEUè]H;JO;r:HewVlCG"pt#ַkCͮ`a!Y: غD=ߩ%Yk΀{m di?2 cٴhd{BQMSɓ:F;h p+hW_D[#9)&CMNEVH>#rHMЖj&I璝v݀v=}^o $|5wRt49cp!zf bO-`?5ԭ#j K,Rld?dTDY+rV4ioqh]"ӞQoZ$Ϳ$ކּ#/B~tc[q?+j[.$b:N'3/=/4 țyS(̝fao" L@ #K}mNe]e0b-TcAbFu2DӗETsȲݦ 1qtJph-ZU9cKkLȊu hRqwd12暕~̨&u./*)/Ûch"Q5w瑷5@'Z|g#gbҎ8S홬׿f}zA#X~NJ_7vfFoCB.y ȡ&X*:EerFb9t3dfZ?{szLJ:ocHBن?Aeo:ML>޿0B~kwNDr5l_h/lO3!P3ԏ`yݲ_0ã*.@8G =ol*;V;c+S'7秅{R(|R?nWRh_$ װp⣠UU<'~!g|lߕ1B6f3KaƈU0wij?q&j߬X5'wYgph̫hzNKKOB[ж P`ַ=",U"uN"noatm[BML bO]x,qUIWVR^SadJ.$(f> wԶ$;bA6]kqY</}@j6 ¨ռRfW e\)),ɵî__oڳ[|cSY\`XvGAr<"$HMRF[6C>"'U/6''S 6vEJ@(^CRO\whaCx7>Vk0;9! xQO<9fZ8<W0 *h>(r]WS\scn&TՀ$y Pc>:Ԅ܆dGgܫ+P2PvHAT1Z/ѮvOIg80 H[N@[Dѱ_ z<3Y<fPf׿u6YK-j.gm% o:ej~_΋Y)пnX #u}S[n=CX0@6b22/'brAHjp)cXbQnˑ%`roRyG5볹ݾq ^ 5qs&lkTR^/pof&J4!)2R$1e/aC?QQa*9H|u,LV#C~¡w9YB%*ў)^:]g_k2zҔ[iDpΕgݥ'$pխuHn+B^'B]rNT !yOo+>mkEzHHH]roBUq-pPezS6?avL+o8Xן%IF&j_8VbȬǢ 1owa4R7ŗ8w6f-J"OŒut":2TS>ȿِ2lX|`3;0s[)m%A. p90x U1; c!BtfmZWD&V=Ɍ{rYIJưBj"ؗߤC$K1s@3q40=Fĸ ̟ y̮y%ffȽw5n=RFXb8pΝ5% cK36.uKI%DQjPLi  w8ګ>{'QɉUu p)=EU/%h;\\mE{s1f_Tֆ S QRMߒ .h{@x6ؓLRƔ:0GB6u~\90K,=(E'c#2"R=5ԕ]r^D'&N)CcR:WA_r"WbZT`A*( NWQG^AUV~ scxSh%mvȓ6# ~¨*GWqkrfadԩ|2;Y 1k /ږ|]ɕE/ ђRABJӶM>65TڻB3(ee9ң 0J/dl zTިd!"9Spj:%i_78<f//Rru:KĐGǨ"y픣\Oa|6_biOX` e iO3i􁅪 7qILY~5o%~V:ԁ VU3匵ۯMvz~)Y/JQ 1OuDجY<YyͤCVpd$y~d#2oAug5Rv_֜_n<̅7o' ^S8F߮H~( Wr9U(L>)L SmHҀhߞjc}b)2wӱtp##GƼ-~ԗ3VG`P+<޺ %Z2+%sB-X R2rL}{2Pc1 6{8ׯ["J )Ԇ'yV6q,ZX#,ΎxytṛwD]tp]-w-oV_Y {9%:VPTR=YAZW]X|PœAXdmީxw)HD/2t=Bj=~yd_CO*I>#eAj.6Q/cI)S+EՂdi b灪0K$lm&؎~b4 ,~Y_}!K8>/HI̫p ~ u,?Nh+,!uom\9a(UJ-v5<VCݘh%1|9|Ieg6Lܶ!l#xyFi `x?)Ä@=T/PX}7PGzr҂tl8WG0fjB>[Q;#C#$DQVPWc>:.Wx2ͽ!%+ #T`'W1UzE %>Q'q7M6>HiNaH?8~ooFي>3puY&s4 7ykݨď4 ]+y C,ჩrHш)F_)$+c$-JWfb'Ar,̲ëaa RlǕ3`&c`cA)x<*pvo% 5zDEʈ,WR~PҠ"!-nf]Kte+3vl$os5& ZuT~Qȼ50j*@OGǤOCqZRDU*Kf(P5 JVu QS5x,c`+]F41(laU^ħMxC3Q!㇞x@n9a*{|*c|Y/ca=AiW%^RS*]~OK[/@)-9{4p#kfLyLЁkgۯsF98s)Q?Pd% :t?g u=oQ#eFLH#.[b Dz`^ÑXצ˚DK[(*j4F{4 rQ*&r* 90fGgVpG+tr2>oq]=׎98qUq0c &ptd;oA:OI /#oMM)9F8&)5X1T* 8y=!]ELS渄R { 3cRgZ|_{!ֱKt|w(p8T ol9e(DgI?1deqMXroNۤJ|EkCɸm6x ұll r%Ӣ]\1 rQ3\Dg_xFAn e\ kF`pw-WِRbgђ m(Z`64Męaζ7Tyw0#J7u0_HvLr]4  s'4D@~ =Lxz%&)|7/}kf}aՕ6e9DGvɃ ̓,Wߞkr+x9}hдPY@Se꿲R;M;"d-IǨ>O9I"}4(@TqxP]kF%E6 @0PzL{ 'x CuʖS)v-˵,xl; 3ZO24uW0~~8xSQy M>9>džW|O=߾eZ!ZB~;wo>{#\O-Q"Q ))MzHMA4ɍ-5EpȺ+|{{V!q+F\}=@h9)t[X:۾K^P^NSSZ Mɡ7{HP{b{)]Q䆀FcU|a*n{WGg( T~=+˓&`;g{>?ܢHS 7ݰgTйZ:^i Pl6S{.TF.vFR"b^,D)/*`gR{'G.gTFIL9[,2~}ũ>OigvfE7 aqaÅnL]8C1R`:4~Tʪ)"yQ0o sOVHta$ƖG'@9թbTz:ZhlN%3Pv(-uAȟ"^V34pB1_j[ p7bV=vC!2ݵjT}V>ⱀ= rRG\^(J-Z\z-Z^vK0 Z'6S~D~@ϊOp->f[ !*^:?]jh?YPy\6pHiY3%FXz KٔN ,ukgܙ= )$J. mwmy'x~u ?d عY,1>_ w4Du)?trJ'zKwGܑvc3oy/[*M(3TWߴVEرK m޶GQ$VJ4\uZ\EEjE [ Zu}V+PuRNbig'-me oѿH2/ 2E7@&K['pZv,@f}ǪK&ԿGN;G.k7/~ˤr!U &WgP}W:&PrcDn?Qȁ=7 EC%r'h̛ch.![.>j30^G$Ɉktd.˩os1)Vٓ^B<` 4%$oAv"r@[IXi068i}Q]|aZXǍ4+'"'CCDN{lnn  <:NXrsaXv+$dB/'81\tBe 1TP@ 14:hvP=(3cZ7MfgnF޳4;.~[2hف%a[-\3գ3`6%@RN{k(Ýk:/D/J'y DmI?B<]sci"IMt?+NeJ?{./0h/UhعR×꬈:cp_΁Qht>Q ̔ } K^O̦đ'|lI %{CVkj@IP` ̚X[k˖ays%Γ} v cyhe-%T N 9*0A)6J!Q3F0fditɀF4G (44ǣnqD`A ҍ~ /jv, `)א*ֵ2OٹzUiOd 9mm}#;RRQ6 գ0hnt5Z -|ec%˳{(D0VaS kU_cH+/Q@yPrfVrV R+шUu"53!g+Qu0 \f ;\Odq&ۦ)WUnFzْA ny8&ۥ.k)T$ ?:LbDJ\N96Pҿ^~qg\^_DWtfE.,<3YwS]ʇvtVlk4~XZ.vezI'ϰ5AFw7:jj=D jh-5Cw)tQж.+`>₼?<٪Xp+ut6 h-6oam8<S- Dq[-7/h <\J\11qBfs Ӥ%G}{7f5A䋥zRqD@pMe{Md?YBiőp8U|@ 1j(ykGn\ה'yq7i떗GXD]b"_\->P* Rڳ7DB!kF$gR*-t P @9]Xyjbc6c\!4w^)+՜4h_* :8O ?9r$Q݋k#$ gֈCZz6Zi;wp{yH :XFp.K&/~sHvdGؽJ_aFČ=ig쵌HoS_y1o'V, 6v@)\?7$Ŵ7"ɩP=MW]6@|#bnZ6vPw_t!m&yg5@2作+$3"=t25.dʈkY^ $$p{Rk*viÜL>[qe;Q8O-A ;m]Lېfm{ef1tn !_Bz`{Ẵ8 :T9a[C>:6/vH/z7nуT6zآHUtUyuzrx"y?~;u cPeRJJfG&|id(ArXQTTQI]! >[6,̘wi5yxFg} u{(i5 ŧ:߿vem(wA(<a)l͵!LȽ¸6N[܃u&$=pjeJ=Ae_>@Dc-r.S~w2fx 4*/?kTZ.>st&->Z'Uc@ǁՇ:%!3#Ǝ~껒wl*bBg oR;ƛ\;% N*_ި݇s+Ɛ|Vv>cc<3-"ř,&HW%&ܱM # jA΃9;7OTa8C١Ka< kyYݣra`:>v.ų»pJ 혠i71,]2-v&/cb$CDx"_I[$#T4iyFZqFxY/;h+O.|{݇r QK3뇃izѯڮO!a1 ɬEH!L2Zߔ6.~WjۣwDsJ%΅r1pY(הĸnJi$!>D!IᇩnH/ -6#OOSn_a.v{po2 )揵Gy2gT5fq2W>.Bmь4;L{>]Qėeܑ!9K |c?f䲄kB!Q%eFil%2݄ P~O9|jy9 VEr'UHطSήeBLȮ6b2 P6=Cʡ?cU5~![17QFHK# \#u"G>uWcJj'X\;UwI"AJԘmij@ɇ5pu.2 *t9[HɢrrޜIlT-$;%h;| Omar S);DI?f#ڑ<(FwA`H, u{k9/'XxW𤸛g/V ˈSaGr(f^3}][ijI5Y[d-.;*DViV 5_$*tvRp浭|i{d2Q7fb@eZe ZWn怠_.;cVAj_.76ox.YĈOM#{3 gn{e7DuO`:iCo]*XQU8|u:w Tb;[1gq[lέxdg/XJyVo.Zc.Xn햙y4_3<^yHNpLJ,׺DEK4T>!PtOFH,Sv]Oʸ_ QM#yD߆5N7۫,̺`+HۼL"篿qVrK]+-07.*)Hc(xLOף6 ڄ4$E_עj!rIGGg֦^2Jb%p$0Spx]c>,;O \3fl/̆ZehE) MYnuFh"LړhA jRGa 쥿ůطz!&/:toϙ11_1V,:L,ϱrێDQX0Ĩ pŷ/BB`$OC1MƅbkhT7‰2qZe#I"Q7udZ|m3bucGiyjV^RRa7h-juUXlG%]b6=CQk+{WT"3ۿ,D 2TD:ϊ%AcOW=/-5? 11afkvt\X*yv!>^>}1J |wN = )evP@gj!&ʅMCՖ-&ߣF .~Y- }CP+5ӤT} o2NcUʶo#yP|9y$u@9Kj}=Yud[ZS\IG ?@x'c>LҌF#[9v`ݥW]]HtzA}4m&3-4__}5co`;YHH~berF^Z)@ n]>gy7V7fpϚ1[m >5ꄬc^Ɠ9 |S=1:9=u|Gv~NU"$-&7&i(f-9#P;}wvw`IQ\S 2s X \s V9wUH X &9M *o5Fp%@  ч]oAw_?u}~+AUa97Mm%85@̻<]&xnw+t@4r1XєDJ@(U)ojgC'G?jJfgs?b{GVTEYƘ *ne# eܴO LDlU$z+BhkApa+'ۅyzYjg$mehR4E1^raNSBK6[ўb<M|<|"h?yPdL燌Ɠc7o5Sl2 T\PWh01ri.qz{=Lȑ.Y*6/ :餠#]=e<ݗJO /mUJ|=xŁ;T7)Q^>Ū(;Lb󇈧nB1xv=ٷTQ") eJ<қr]o,rm\f/G[GŧjG셺3w)_4}X2[xo|8F;Z]7|pZXd{Qa({;Ч[4O&HԇDX|O=]*t%E/}⥍b1!'o$Λw|}@d!y/5E^lI3|@ 쯙%/zVm,,ƨѠXɣHCx x㏤PO (9/d4K:EW3vLiBN6AV\0'WrC9P1O 9;kT#}Fzf[r1ZɼX~A#u~ |ԃ ;6R19mUҒ <7a=9*QZk.~>M 3ƿg]g42wTO'{fɤ:XNa?4Kϴ Hy#9i'QѢv 2F }[2|mRD\P/ndM'e%-cj~2s: a[ei!y07/72b.-@4g 61rtW7s8 ^#1>`&n8x ko*cȳ7\E7%qNr9dϮ^n}E%lO_5ߍ+@`>oDžyB+oho 5#vygYC̩,>,g'3'etjWe;b|p Ct%V ҬՓ];H~ Z =EPylU'VOD9qtYޣ/~ffBJ$Ǫt^}!‰d%AjHQwBQ+m9w\jэj5 #g khseF]oS?kS;&nu@Yx\!ס6Mq{й`=p[3PIgSH2m_S[Us6y'm຦*B<9֖k59^FuK쀂(~UR['lU q17XkhMQYHMm2Lv5 ^ j;i?SmӚj`iU^P 70H W牍.wHne"+0ԭ//9Myѓ.41FJ>$´si>.P;$C^JC &NeG؅ 9lhTx6҉w뵱A4yBF<7zh'*9.6MLݍ2;'pR,B$:6S2wA*Y7eZW߿.\͍mBK#zde7w֖#B;t­yTfKBS X?aXDiE''GWyTNwu`~+8TGj@+wVu-;! f)sɯ9{BˍX*4|k`P Ȋ"3r- wW-N,O@Qa:88" )ڙT%i:P4O Z~7qbq0-cgðv >PJS/S1ԜQ{y%$ }gL,F(6c٥6"2F+ H@O;(j?4r_mocfUS| ׌I V%+7MW#KPɺp[Os7Q- TzIE1YU|gjy_ބ9Br3`@M|r3딨6Vt7e2.(PPYn"Q®xB*ޚ?&A/ݒps4IrI2;N`BB 6tHa* $. UN@o0pU3ɇɌ 6~.+fĿbxT7'Hփ6"E'浙23Pz#JMvu y:\y#FݝV \d-өrsP-?FNO(7eI2`zOZn:&rU2z`"N=1}-b[Qj [Ю]r#ݰQ * s{a׮o*}c59qtAb!|[2ҨG̯*_!f ^i2/U* dhSc/E ]AkJ%:&l֐˴^.H'[-~BAY6tG: ʜ+RC\)G??DGp<Ei698X?M#[ѤN:X&0o gEqճ:#^u禁PD-$,;0O:73o=:1Gu mUj13<GSIA;Yw 7iglpcxY4cL̏qҁL!ތ"J-:bM\s(د)E<qIw00v5 S xA˥a؜MwNqeFQZ,f&-{ d;<V*b3x.a\sU<;0$Hds/=4x08zR$}?flau:!Bm0rFޫ͍)gC؍)\hY6SD%~No*oouaO ʭJհ'7r޷mQ(^)Qt,:cRt*#Ϛ1M4h-hCt2/*bkjs$ w-%fՅEeMfsSx{n+tl޽L,[  j}2lOyxLMD"w#;thYDzdUu/2p(7 \議~i0=*HK]T{^cgף$gx+u.s%~] 3]tŒyMvK_^~r]TOwrLZnqfA IȲM ՗9µy)D_,FZ Rw1ǰMx:x(}BL e "4&Cy̛8xmUN|@!Yruɗ qQAswW@y9 `Z9]Xڌe|bEӧqu#&o@$hʇ <} a( c-1"hi-РP04@+vMs5eN?d4<4HNwLV_8x!U^ǾO,}iR T(KQR"(d[Q2e“46;-1u8CLEXⰹ"fwx$E)Q?EFi?'(H?Rqͬ !yd7dzQ(EW~⒀<N qOepRaxY#Tе]3e˚tKdRdyPE1F2:= bJR68WDd@j 5L#+)CIۤTz_>96|&Z7b pz<[>`x-;XYכeQQJd~6nDW;isDԠN QM3Oy::!*ױ&G`贺I2pdT})8d[<]X,t٧sSP{X-`詚3qHar -О-観o m ^4QS޲@U͵u`pjt.<6[(*hlmq dd6BYrSnd!g uJ׌Lh@݃)EDd>ڻXUɖwzP+&BŅ^ydpCuꤓBF `\pr s<1m2lJB*%&'Xrǀ/!5P P:F{;f#RDa)O +ܴicg_EFac BےY_1]N0eKNmu5c_w#mw"Y*.'{}MqxpDsfcq`6u> ԻG)0Il,*ݡ#3ʏl햧(q>vH^WO61 8/*[/ll{ܲ6@hH)y /:A 1(i%ֱptrDkf/Fʏ|vIqQ|L聅iXGzV9A q$yۊgYBx;Tf2(;?\㋨uO5VGv$Y߽׏DvNY[k .XeZ>l˥+J(2U(멵fgAp-˩ QjqJ 8ۋ+wI}%w OYA xnH}~ _;X%Yt@>K}!3GvW|ʒs6T-b,2nQlR"2=t[J|9vBKK^5qG(-3tl}jEϊ? @'ۏ|n4ʧ*D0ZЙj6zJ1p ,0J10($Q3e1ۀYd LRIz@NiVѩz&)mc̓il :P)҇/\_6=7HffE 1rm#,] ضل#q!{bToעSkn,>W,H8@süLSɍߤʬvefKyUJnAW<*䞕zLv2vl/XVrqV_nE2":y{Rigfvn BA8F| ϒY ocv'L=f41qrJ3Vƛt滸)tSېjn͐G=.}{Pgw &%x tW2LwKLH!V4̊C!XfmV>(9. :miibxK-3镝ru:$(0ݥu +X+Ƣ}LF*' ZƦ /D0_:04$\7I8H·Ӥ`L_ѪGl B;y3t~FP=8dg"64sM5D X95&5WmPG**r#Fs7KA, i$8\0m,MLiM+³_ϳ;'(if l9 MpHGصc5@AsJI{E?WcgҍͱŝE$xnڌZr-o0*.%mTXw عYk'BA3x,á<`~ʌlmy@ }#qoQ[b|̃YH2L?.'W#Չ:KKk؜68ɏhEMe/ c)FW|L_Ȕ>&zy.JdtV>ex脳7.Onj|謖`>>M._FMwLn[B?ʃ.ܫ:S6exw Kj'F]zS.*4O"7"0׋<ա/pk8ṇ` wh 7 } :@l V0]ЕSs4h5=kܝJ0?|KH^~6!YIt'է˜@9D6}%@yL>xA5`c@z0慎 TCrV-Ank˃Eqj_ ,#1eί:!//;wa%\!0Y˒s tm=_LJk>s:_/e~e?(oz:Q&it)h+= Vau3$DJ3k߽TKKmЋԴ{j~ Gn`ƒR\aiH$=ɒɶjGѨyu)_3ӟ,k ),&vWUaJޚ_j*(XA9yI-0f5alTCk6EcPį ¿JAȏ:/xn4x? )[X$ZOF=pS}*@r2kt=_$l;+~&K QJ͸qL)_%f\`ݦī9 ¦kSu 'HIRɍ9Xْ]O$AP;S[9s֛lʼn6zebN`߼)N}rRGgy-wat>ƇګO'$i& 4$@݇ޗGIOiҷ}capK0Cx7EXtE U$f%sGM>FI djhOwFahzR;GJP %P?nFe1V.50>52{TI{7zXa55x(Jъr4=+gI~m5Wʁ),T9ڠ%BU̖oc]%&y$c UCCpIg/Zhx;kSSߩRxxF.\:/n6*)Q! 3޾d, apLXk R WdxxT5ὣE3XfaHB"geY'dȠ[ֹ:_yȿ*x=WH3 6eȖTn$BU3Ƌ/8BQHQGմLwbd,5Qז6XqTqzTIjcLIA4ߨ *+PdM-x44*˩#t( UJH{&c +o?<ٳKp'_ b$DQ |$\L`W|A٥Rg!hhLpN>J ̼)tQBx8'b8fm9Os1*v35aɉm [hϨXgZŌ. (<-QȄ|H#1 +:,R#I`!LntBVq)~ϝ&,Tdܜ&:|BXٳ8V@*š,t}iNp{mߏ={ZePqDf-I!@ BˢRb :F(xnMdʽp@P+15~q|b;/9; c튫'Z11o3ѿCÙְp5cO0-p WW6GNO@2lwtZ; ꙄTW ]ɗ{X8aTtyj4V8Y`_(@G9^BڈPHo1{8n&'sȵkd Ģ1X^Uv%/GWR bE[Y% 7*v5jg[*) >r#!/MoM3v iYR L͉~8k娰L wCivŬB)rnֿ);^C]V@56/\judǼ"rX<곧8$EYRiCb\[SDqYɸFpAǘ]Yn|<þQZQ :T;H(f,'Z_H nM((xx6B bԛ6uesp lJe`߷K&K;# `#*D!em"iqN5;ॼJz6P7C.-KUʷv*`YJun; D[ |?&E,.lm>. 8M m+Nћ?o: z+=WJ*!J ʐ<4<Ǽ`NL:|GS"0f} H\В}n%(mErPX;9t M8xWu}stM$lZTN]_6[+>+*` Ze }fG$9z<5/A덖S+$=\NM?>.;-%iy8vUӚG 8Cm.WZ*e;IMF \&b {m;d("h@Rgj֭ZhaAr@K\HGaM#qGQŝ=NP>h؏RyT[]M$\-Jfpm] O 'Sr߷#~wؾ/v>cPuo(0N#AMc:flB6qtQ_*h)c6Jh |ݸf< Z^?o+=aKIOb'WMA" W)^.+EF|JLr۲jppN&U&5m˷0+_0?_TFߙ>R xE`jb+k/U*Nףa*}nܟs‰_R_^>fmb" A9X8j~oLv-V;V)^^@ *^`!H]R5t)_߳A|q{7g9T|x'ߪ^XDpHvFK& _-P-fu]֞9?2$]ZCR F4wȡ&d3pd+%OEҲ X9mc' a6z`L^s߹[tT1γ`% :as)4DLM 1Enmbb^A) ӋI^Ld );WߍgmY,~o $ܮNhs\mB2`&~{+O7pmIvNQ<{a EN+e竓o'JfS*J}R3;05NnЖtL!Ő!t.5xH iw_ub놢%O&eSgbGKRߢdC88'>G[Чy"65zdAt`Bvd3'{Ǩ<4?} /GdĞ~vV:axFp \BrhSh< ]ّbtZMJ K~|zCD@'\C9@>T/=‘Y 8[V( &Y8JrO;[ppqa1IW{ӫwF+$K%ܚI< ;a=- uQ5K|/J=]msnۇ9R],vPf[}dnҍDۋeߊݫ,jS['6k^`V@gDaam6`s>e|1SQxfReU8f&KrN3@,an7BN)C|TcPʓPJbntYu8½_ /v;ut2]0*y`pB\ձIᥓ{{ Nha6WS]?f]2Dk QH!q!ҝ,(L/-uK .*9ᵼgl<9Qw{vXeeه)hR';vꮇ?MT&8>) ƄHa-]-VkI}l r,4JV.8bx]<./6zb4ҙ86iq(Vf_ҾRwT|3ScGVYTPTf.6^0վK t! ùN]P4(( Ol)b7X{Lyޒn!Mu5 %i(񺇼΢LjvSAP jUaW֞#}3Gn-N} ֦0,hG12K讘$@Ũwg3T^AĨ8oN &[⒧rcca?U߸N^V"/s[aYz: ܄c>=J3E+fmK\W/Đ᯽PbqGQ9Cj ~\!:b)m,Ppg\XzVA2t#Z Ƿ륐%%LԏsE=;VMhC ?Q\K7w"SjhjT"*>v:@=6q't\`r2<$p:i[,vm1>mοlXO;OgBh*Z u#󎝂Cȗ~%-ZR,j\'Q]˩EP sJCV?%mj1k0F<8Ti5RpD]}7uȠ7@ xg؞hǍD1W r#d51~b?g3R'&Db;qStQm(2H z *9dN9%/Ii-,3X$ƝL9-`mV'ӻ5=2ϟ!+I>3'ҔL@G~Z25g\w!2r>N&<7"ҧH_-3y$nW`bKS G@>b4\HAC;RZ)D\M)K!!E/ y/GdQV, $¹(ԡuIط}'c%`.̻v윤ru{<9LQ48~ ^bt~wu$1>ƣ@~l3$0@ԻYE>\͈6\xo&_ѺPinso ;p;3ón7G@+ 0ǽ˚THOrkT5,:|#]v&p7bK>=LMV1أ'lj}0e%N&*D B͛ a `w,r$tW$S z_=clk^:Ih Xb1bӹQV:6kJ$NOxd{#g.:]:!ox~DپTA=vv~Ӄzop+HhľR0Vѝs+|}lA$Ц NNL VVX,pz'D3RC ]gopryKbNF_ÁU<Nk` vAᶜZXV(nsTА4oZFըPsJ/Y[ؕg|5g:%zfCLSo`=D%m^?nЊb(IBc^ZAc-r̔P'KM`"i v8h!g5 U[ C`ICTs-JH*#9C&n|0۫^n5wAAmHH!VH~pY3iC|Β\ră{#4YE֤ ))\n /tXei'[X5mauڛJ!fIwSu(u')vb5xsl3% eUK!{zտvwl+Zrݚu/[G &]Wj^ cYE&8(_}Z3A  %$ N% m󃻦LfSF+2*l{78u9jRr{-5AԘ FTC\I2[]!Yfne:`=wA3ÏdQ)~TC1M{@|R帘hYro pfDUY:A3('(&LT0B &Ei `@rIMjXX"5nXsM^lz2vo@0J[zn EDU&z xGzx(pYh(0B:QR?qX:tR;5ɎewHNy^U"}JY*ɻI7WxT 6W"!ܬL_Xe9Idwj& moQKuງ% \mJFxc֞%ee+[ LtU)KTٗe+ԗvom@t Ǟ ?]<ϽJytpEqJ#zFE!vmY3YՏCjENlKEc]s D:[PlgpTݢu;cŁI-EWUQIMs%pL^܈*zh*wh|+Kd579w*,AzTAq)S2Ȏoi+*c :3ܕSи\B[ak1W\sؔE&c4*z!r'ҊD%S P}aUvzEf>ʤs@.ų?P~ {!~g3M@ړ%uލ&,1|!բIK6p7cvW9=*BꁝG G2 }~YX4f2v[:T*+WC mġ_š0uWvҲx#}H37mQzGҐ]o`-n {Qe:{V= ydV7 ,q6뎷Gb<>r/<@"[3;uhsdb;n8sm y Hi&}$W'dVB=h<і{8l6_>;qІߝ?ʎ^j9Vx@8?(Eo%Q5uKQ<"_լ|sC|ګɅmĬ{Uo/"sN}(F%wI$BlJt4)0Y1<;YgW~x(Z27ud- R3P1-a FAc%gɕqnI,H@C;lUhWVinrEz8DjW !XN}9ZNR mYTlf+r_hBA8ߪO?U$_6yaM3 Iݚ bA?SWE8R,%/uh4gcg[aƊõYr憽7/tUR#N0N~rG6DNq킸: 򸖣|7d6@apw)8K{2U$ޮwWzۚR'O?0ҰP/wc13@p̷pԃgvwfJS:Ag[} uZL@_%Jig'>3+d=*5ɷhp ZwȤx4Yĺ&ҠTLî8/sNF"|{UmFK9(81[lkG ‡>"YѶig`ɊpjYK5^#~u|_5:(5Er(Q"qKSGHff]g̖M ǚЫ%/tyNӸu@0d]N}M]&b+ BĹEx`%w2iWt >[S9Yܮi*5Ͼgdͪ(eWL` 1A|Gʉ'q.yN|#H9U% _[^uܫ[rx`YP)gA ~XLy:TZC!fsAPʏ j8*..O -`YAzZ3~]5PLÅJH(Vg!(+݉eҙ4/DBl _oB(Rs{.ٶ) $`ң@Y,@]ReF嬼>v_3^+9Pݸ93C亯XD}:}BDlo׸~[Lz*> !N] P8n˧xg (K͸vE@DJ_Y8:؋#-%f= Cq%DAQV! y\'O.!-e-@X0.+U=8xJo}Θ@N(bʋDv[3]_(@M^J"O׊~4NԷ@Vo)qEySdN/eηhd1wKTcO%J׎%{̐T}$bw>J.b=|U %%ylr6r~-Hi~AM`TmUDFC>7X߄_мĎ~vJPM6BU]UOM: K >Sʪ 8L4(}>[i-Z+hrQu1`-_lxe C#_Et^ی; B22qش4) o ]ǪUR w>{~M` <#w`nX|OMV01<9û Ga&Y|eBB5Wߐ3`*icvGs-T7Opp5P ١pOWʼnS~bjw˅Kڠs)Eĵxvrb\ ReUh?ۀ>L ҾiC=/_efU_(^ԃ7.-AGm'hw~zPQjY%4H#3#1].#A@4(Z F)~֬:U~ -V]*Cj'&DJmXy@ϪSl&,U)L  k TsQ1uw ].Ѳ׎c% &L~{ѳSjn""L_9T8=%K4Dgf)ro/h+&)__0暄`u<F1`MoR<)Z;XZx%%:G@Es T ~C.yXqٯ J7ƺ8 vԐffxO_FkNy-tjMI?\AEPJd'3;[#0fd~N:X6"5~Mh 9ndά0^'c}3(.⚏Kt,ޏ:8Q[t,NWYtBt$?FUwgM8OXu9L:PjJŻKxA4d{iK++xQRhޔo_3\(7xL$iMi|T]%2MIR35X핉X6VX}Ƕu,?La'3PYx'+0 3 \ Z_ q8^Ê8:, >1=܏m@LBY3ih'QȄ n6y$$q I0KuҜ'N~?lsE9iͿAkG2VOaG]% /nÞ;;ecP3ŀxLa@8$h1'&r[r[Q!hJ3-]4:.K@&Hs AJ8$D$p,ڀBӦY>}Q5S|N襹mrDզH:9KM3=e,Aށ0ЭHE40g]7K#{m$F&ů8ɦ|Tly{S)>_aU/Z ٍn1wW b/N9h3>9kMNa , BYʢU:H,bd3 ꓏0H9~kb@Mɫœ6m+骭DL.5 5k:E˓V C!G/$NÐsYN:KGsG.0{¼FUtә/sb ?V@Δ BzFyY$̖}*кZ4!ggqv}mz OGFj\fѴh7ǘM` |WXvDYl~TvDsc%j6Ip,T ʵcZvMG~[ff@IC-{%03i<D2ޏ$̹$Gtd oAǠ8Q)?rwˌ=~U#G~WOW'(60u_ L(V1 ("wL,xOA=@=Sa b6:g tZ>JX\!_kwoG0(!|Pg0&4Sp@P淜 ڸUCi(WF?A`C{5=Ys \|S7w $ L{?Ks0UE4 ]_#m-k=لiSAE]RfI+c]w /ebQS;`2jBhr*q`ƨM[jOB~_Ux2#L˞CH 5bkbR?TغNitiEI}i?dR tT-<.|j@';|Gj?l kցb_7EvdOjⲰKx=;5H;izٕCl6ӆM$iO_O]=XmGxz؞LTu lL:D4fy}?Y}\I$M]M#\ %nN$BK67yCʻj'R.P$X!2!/%+h;ų^M5ԋ"MG)-mOo|⼣b!&U1FyoJn؈AᝎZ:0pO.Σ|xF>;>80gBYmum_n ڟ +ۅ.[:M4I@NKVEd-_'(iݯEp7=!R2d!&M Z4ig]M~cOʖ|ć{u- L`#z*§ĢlRK bY7eo#UdE`9 `l.Һj}Ļ%#S73 S!6,rOVʔ4xT3Y.9V+$hP·'??U[rq 08UO"rO7f:8:CHX"XιcHkT) H@8?Ɋ;UNd8Gc<#aqq?fE̓+z=[o5T"H"GQ ,ͬ*TAΚ,t_63-ɉԩslLBSсRZgBvmh{AcsQ ywrp2W?X>ѴI`Iۃ}?(%g 4og{ 2<);Gv{9Aͩ!\mC^R12GW*[nk?S)N_ r_;wج ,vp+u`#%0D=Dv'\2L-B: }E̍Б&T߱˄vZr߭LC 3br$~ nU˱~wvA-gA6c=(KI"ox;>֑`g8HD-8.%>\i4BfĆT!Pm^\Y>S ϧ5{nQbTQdtgQI1ePi練2;pt{EZ:8S 浡k8`=@E1_! 5|SNl !t5Sƙhϻ -)~V'zz3ަ;i \RvQ}P7X)9VhԠJlɉtvKh TVDBBhy3S 'qg0 ٕzw%[yR$=vӻB[4!@  _.P C ەJi!᳻e 1/n"| ϾKt dyoԿ䶰"0 Tӆ^ѤN{ ^#YY`K,>%ݚ­Kz׀SS`[m74a5uxc"pF &F杽74_gܬ#$MX.]CLd\UFS\Z^ITAy0}UT8p~Ǩ~THD6Złhc~K!|4qY10ll"ڠA(n/k?&U-fNUY˭*7%8| Bi3(swMJ(aSpvxAs!@1|KTk`GmEVrx"o@!~sJ%?"au|Q?djzAZ:]Y0 7eDy,1Ba+sDE6 L1NN[:6 O-@ʊMVUmGHၬ4YMAYJ@nŶ:&ڰjC'*G7Z}"cO{Y&8azLҋ jM\;^HZFb-WIPCYSn)0/'2QNquXGlݾ"`v=dzϚY&&Sit#\A8WUf|5<_YoÄCXFgPbe޹p-t̓$v<}Lgr_%™|/g<1t"$Gq0A祍&v̩aGAˉD0N) #%9U:̶e覇@BT<dIZ8փiUxRSYV'LХ~ABB4/Qk7:@[l\[Ь8]j1:"KhfIJ^d=>t ;վVwEj#"?/m$P"q J'qlJ$s7~Y(6d`xSX\k574䐓ڿhfD14Ownz%ִ.[1ƟBnԙ+yȧn#H%*bh=>Unkc|픥bT3Dn#R8 h6ᾓ]Fe8Omgw1&#YM^A&fE|sP,fMB\##_VSSzEDWW?4*>7+ XhǚѦDhb`=IFm]wE- `q\ᩆ*K1<ϰDub <^ugS#!Jp6%;O4܄Te:J2*̞xzE]ɮ?f7U?$NJ{.+KyƐU}f`3H43UTS6!a/nDqrdSot?tC_gy\PVVVXhÙHc3ʶNk冴;P\XZ|Lu7s6~xNtߪYfxiðF*:Wbr,z>p> "-pEJMtDЖ 6F:=5+2FP,)|hhYk-~i$aekګp[LU(1O<\3xFc"Ot\:1v8˭Pw]S/ZjnIBSivSV?ƗA:6',=4*v^'7^n%\.T\8 "@ɒKT/#.4|¡*Lmu}rHnS.ЯV@*p&DxUTw@cS v$Kau* He6D.- 5yK_YQsV &d̅ԭnAFXE;*MI@gZ$V-Wg3iUʪGH1D0/BOp8Drg]믝30^w^|{t;h3\ x!D>wc0$bcy64zFez5?6BB&K8b-rY/u0;Mk8=/3 ?(՞u-5+Ϫ4c1z{k"E坰TRʌ̔Yޝe8Uf ].5xL@#t2Y.Td|`;6=р |j[( i=ި`=Hr׉9 {G@ $ѷ149>xYEƍBZa<(Nq ԑ On=!S:T, 2$jOML ?LP?zՏj %jL41$+k'&YG\Y<kʼn\l ,zUB fDIVyH3[Ճ 8҈rP}o/Bog֐Ҟ֮`B"V}i *n&yfņhrd{t~L~)Xk,9g hS%bB-|RXQGѣ(d'KnPDz-t0Ҫ"ީJJoA"03KVf^K8>2t!u޾WXݳ<Іw!l2SE $tVu) G3&78Z/J "zv[?U^g͊k^2ipdȷ\%ՄѤ9e۔SCRt=3~տvgppXȦB01aܹ(pڠS[v-g+o8ݣV iZAz3up!xk`O$"5dֹ3]lZr֭ IgIu=-f##B wlF;**6.'!ZXq])< S6^-Jf=9DsɬC䄽@hrFzvoGg;,Cܪߟ x/tl:p8P6 įl %LIșg~>_)eIf Nf_Zt{-t(Y]L0&QohL5HWчla9Uz:63o$#7HO㕣w9?brhNNcc45)[b ߜw 407QB%]J2-@W[ZVyH<Ќy{r&*J:QQـ^8Lc} ;lL_Džpd\A{;Wъ:$z7 .N= ][ / }JZfr1/€ߏY ݆wXCJ'^ˌalt es;8]$!-/dj̘#+#דvdʧ:ӉJ3gߡoh`)fBV3;Hg$~|68<͵2ig\L&X4{Pf|=oT=LUt$&05Á!qm[oDȼ,4`Gш΃~ؖ(gӿr>'6hz<~-zih['l -tTnNSS9fkS 9٧ J13f-h<=Sk~Q KTnZAuz`"epc]xm,sbb1[yLJQbG`չ.'*ۓPh-I,4 |w3EgѶE'8"=l._SlҊS*=gBAx(6 $?̟l!aR6oz8ƗH!Ì{jPDEŬ3L7%٫Oz@oۗl玠r!Mo7o&ϰHd+l8b/kkCAd;j^U@rbjy"%yYC=ӖKlyD,A'C~v帛F;~ S2c@Z]ż ٕi9Rt*#y]j 6ަ/N 8kSLl]Pw%_-v(@]>EOM3e'om_@.]`puNJ67>q͑ 銚nb%4{rj/Y'ffnRa10%]{H!lLh; f12w?a^m`FO-L/˨ bnh-4fmzȭM 8SB{q #{qXjIy9}֤иF2S[u ҋcT5Gg 1\l֍"5dס>ބ՘F3%by?CO8F܆(NFbpN˸wFĖءj*d?$Y|;L}XIbkq+yȱJG0zԻq&؉_4Z@l$M9F8%f(}EIV0"2=NʲS\2P$VșqitZB5[$')LRO l/ﳭ}i\#KqFczcǤw(HkjWA5^e:X,vWhҢ}#@ Hx=.mo/"< Ce*ׄ">$|&ފD|e,V":hxf<mUN YJPȹ9nB`LbA=)S=i)H_rzHxWGE /CTs+X3> fX&b&1BԡhH<LS\GqVAIX2q%!ZU?F22|]1cFDʉZ:Ed25q"Skڸ~"ɧLU;E3\K/Lm}Q2'fS3;[&㷫Uf )Eo#رǖ$ڀEY D%W^փ5.rn ) ֘V7Qcgc+ א]L2'H/U'GǼ <7U$,xk0~%ymU)#"֤ X:VN]L/^lBv 6=*=)|h O}Hс ZE|7~R҄3 o@ޘΘlF}>L^!!A~@&W ոvZs+wW)w W@t~Y^ L_;Ds7pU.6y)PkwD#Uusgk+jxi>hBarL()`n_rn5< Y$rы!J )wBcnhov&eMrwJ&LXOw& fL=DtUb `˅s3D_scРr k_\0j%8"7PKsl+f5u) n-}ʠ{,'_aϴ|YA{/Ͻ ;#*hãtva.mn}-7a0b3~5^kx'e9VqDF%W"p:dT# X+ZopvJ7^ᷬÓӽ) f~( nE;ZfpqGc-͕c{DԨaA\pt4oj܌󝈊Q蘁Ge5ߌ|\O* x£d ؕiJ?X"շߦcOloN6̮z G:ӿ3߃Q7Twc]!^]9t)e;̨RS۹BC#R=L( mt>"@Gl-\~̶'gK8`6tÀ20J4A/㹎h[NUx\勒ANqSIǮ7 L_ 9(}(MdMe\Ϣ-_{.$_Z1̅Phs90Q*|oZdjk~ѽUO,7M.l?mӋF-V|)x\ИڷBfl] b1!Dp0W)%e6yVڶ AƬ$ [PfU%le5o_$:ZJƦn;C JFX X>¹c[QPmFV]'u%'\_."׻[# |2@7xk eR"@$ảN{:VM5T  C7ʩx=<2Cw 6F:Ix=`7 \'ygb싙~J(֦dqKG~o9pv1xM'hT~cMubBo?c1Xʍ'"-_)73Z@u";B qy$/j \mN?Z䌹'M&rȳ:@?^ߴԵw|:ϷǕaWjRE7.!Y9BX_oe -ez| ާzRvɋ^Hd',y b{Fw/'^} df҆12O0yk ?=oQrKpbLGIJN/ڜ|r\<#y%qC% (Hf}[ RҶ5x\<+N3t(}H,&/>@x~agI>;Z\ Ř/xto(9ٜO|zpeyG?EXa/*q͍.L]uQg:b~mbR-R?C+.C28ӊִ`ЋV ?8L{q&g4"PH~}$\R.)dt0w0ҳü`U(<*~ q"#=5vAuti7j{D.x]u..hZ!'Vl}Tʍp{1R:tr2,w}<|׉f. qM4MBeJjz|3FGŠ^*VrҰКg:9ɡup܄31H<+o o!Rm`\C(8] J![+qP#f $ڪ) ݤ؇hU #6PpY>{TD5A>v+eM#ш::l™\X!?9(|e&ZXddoڙ{a"ٳ<2+FrĸO2>9]@6-FJ*$-AjjKIn:q5Y.ZtxSSBe1eK\Nϛ/q8HqU;֞q뇩(鬞TqTZ7$w냑F:'B fzgPepdN"p>$ÖWM$&PE6 q~0O $CUޣcs:;V`r> D{x l\xhKp)?,aF6 ~ -@4 bk2.}7'MCe@;DAʍܤ MDYNЎVxW\W^wz? aWIm6j /J9[QkhyBWA@>`|$&Ļ-,{^z{oM/mP+nCXWs$}tug]9,@7*M3L^o{|l BQM  }mV[C o I]|Eo({@Iz餒݇Y_E? YCel6WJ/U1R^?gH$^rϰ80-nByLQte G3Hg"/9Iv/4dח ׂauG(2Ayhb?יUqSL{]$>s ȘQNmdI"*W)ɐhJ&p3wN=&.1Jhƶ64C`W&TB qGE@$}%`75ϲv-p Dۑ娝*Th{JNްҎHuC#G H O6/Hs0_iXT,iڑj{qwxjUЉ;y$EU ݅7↝#I kkH$ iRD|WK{5 ((nlK6o nApdI6#V5{'>;ߺ Ar"Sϯ>3 NO C}(یs9{k?jZӍي16ߺ_ze TisHa{)Z)$<U.Բx(|\جx02b4ti} 4H#Va)ll&+d9i) 8~2v1h[H>_"gLH-^Vj:: S|C7lRO菌aT.[s'u_|sEh;NVgQ+m۳sy 6kt{*l%gd\H'sF5# XuH>#y&``Dɷ2qv`)@tUzq/<>@WXzdI&J^pݕp*=jX^/Xw~Sג9jIjβK%?pKŠ{vfPTqť=D:Aw/%oqlXWٹ`D2K_oLw4ZԴ9DLG8o+%մ8} ~{aejl^̦MES҈0#Uck]EDPN1/HyjM;42LNii25*e^\[Hx<6iE/z~ ڔN4Xm^_KvFWFliE'X1qD.!c/dXXJLul/i \oˋh.D=[X7 b}a~ѺbwAVsWLH9}>XV#>={ 9I@Y5ҳWT.Q _&y&5 ʶ٨ȘnANo֞oDӇqljW`1 ?C & CGƛx1@~;{TnǓ ˄,eZhp ^VlHܿ`j&d `ZjG:QRe?0:=}62tn]2?X8Y`4PU&E?ݶ#zή{k"a`oz!Έ:HO ;HYuz:Z?7Am5/J'qZ@au&~ =DUÁ) < gp4 B;rVrl{y,ή[Jj

    +=|Vi#W%]'QyJHӸ-%*.ܽb==O@7_ϜMò  {]şuOIʃG F#{V<\u-za2 ۈ5 Rk'Do9}'wZؖC97 7Q|ŷmrE!VsT6C|>"2d'U T/?t/5[ Aͧ X=(bD{1pcg_)m$Œ-WNtO/O~.WT_V7:HWϸ 28l> =^ [#՞:ϫ:JTxsو~:3k74w& 1{&$wfCRbWhwk@-U8p`ZBeɭ ~3߃Le?~vH#yI1lƳQ|y|&4999-P,>ά57Q*3KAKw|." dP<+uFۻ{t.~x~|V|ƜJ$ȿ ?8E`IyJcsHw %L9/5+MCli~C lk'_@M1's’3E\yI8tGQҡN8;mڵ0M*P u3Ƌ0 3/:H$SËw5Q-_\ۦn&o?݉ XMc*BE͂+38g1@~#[Ɵ'ߞI߸w@t QMtL]-5,iGjDh`p"vb6H0 shg)ψJ%HOor,e<%[ WVI,v}uynRᒵ`6b↭&W]Жjԭd:bv8uGw ڑP1"LspAA$?X*̀tdG\J #j-mĊl.to5cXS4)H7^Z#?!o{N\p (\O%۔axqNTGrXz%Oч>?ruB!gb3" 8:e2їWx EPG'\; ;9 5o Ebׇcab-@9~8%6s8Y[E :o f s(BF k ̂?72udn>P%MYxHJvv^Y@JaWpI|gi/y?LזrG8ա=kXdMQbeܽ$+Z%:G&`lRҎh3,@t=܊{+-Y`Qif%S{9`#&Q2u^ww! D8J_M핹>Fnȹ_kL@ɉº2%uLA\T8xx}KJvU3 HD v%Ifd@j,~f5~ B)uC:=0༝}3. ˫Z/6* ˚уT)Q{GJӬyIHh9ǥaΚ\ 'WܘGZSN$ C"Oc otT3 EpE-Tv=D d(q `7g@+]AAd]̬f-5=\{m5ǧX ~?1* uM5?m'KA0 # TA~ Ǖ3)|$dgvӮlKEtέڪ$k˹n(7Si >A=ԢISI W,[0VWww?YM7Y}ńYͧbސVoI Jt_5KDPR71Ò{"xv re`P,gIX.ӽF_݄ꛏuK|蝫ú$%_v0KP)t_[WF Fk]E]dE`TgO'Ks()s-Os/o@LV(̇C_NgDj.H&MFm7Bmao>:\+XRrU$-'>}[+N6i&ê7-pɝ.`M' + .;lFʡfxz *La7K: kTgx RO&ُ%yփw]su"6,D:P#"DyZd,M\Ga5&i+Z1P Vu|eKolnW%9vTj 3q4j!1i,5Lx,,/h@! "(̯>~ԝ7aXKWraI7KH `s ; /e8rгkW.ߥ`u7Y\*Z.Br"XAX$n;7Gg~{Q yC :l9nz_K5Bnj.%b2mf\8$|smO3@oL`ZGSƻyJ̍xn̞ۤ.klI 1h"_ۀZgPZs) ha½dX%R)& ?hNYs|]rFG&ʟ˸HJzd8׾+): v uT$jQ8S M8u%xa)*i]]R;*;/ڞ:hw8 $+BboctЈr:,Ċ:VTeW cc{]-~)^.UՂOy5[#ҟҧj+aGa&ySk73E> RIK|9H~:n,&zX5v&SYB ;xW<ǷDKiŤ0=R^AFsf?!W:kV tE>x_ XE4g,1b_Seº%\[c]zL|쳺;L@H"ħ< Tf_տv6֤KlDoffyJU $g%IN>-hsP9S0(TWt PXi@d{X$/?f[tǴ'ls"B~o]ӉYʟDwl.Zic,-t]u-?ɄeJx(6ųpl/٦,iHKo<3 gnB]*'bQisuEF+%XtntOK5| SqB7#W2|_$OuC 'r{n|kKQ:\×09|)q T৳)ya `mS֭p3  qme@{hAu4B[~uuavw #?TAQ/naXr8wBǦ>}s BAW#(VW5$z oHbQfǨ[/onVN \knA]P+X@JyH˫rdk(-T,5 #D@Yr=_$Y2JVb!AJiV]bf@9PS&AOY0Mִ WIק q=aj ,N]l/J6n dU\vM \̲st+\Sm3Nm F_3>>nwq$ Psۆ֝h/C"U#`\AnwʩهfxPCǷ:,ID&dvi&i{>#q0&B/5Df]Aop\kdNRt_9{@-w[[ۡq.@[M_(gۯoѺHzrn N@ KRf@UCCPZEX}9,Uƙp6G1U(isvq꙳UtꇈA49Mpo:$.Aȁ*σE7iq=%0e{Y}`|0ǭ;^JQ,gpa"hY?Ne$%/tPE-$Zfd':hD{&:.F4Aq*x3fa+~M^[I ToM۴=z3y<6R#r -33?@RD`>A7yBQEurE:Wp7ȠtQhT't.ͷtx TPb5\Z +}:޺FcE: 9j} [1rU?-z"_[< :q]Te+_=ct/T;0m5]g~a x*0x^_1(Ԭhx UkYǵ˘aj.s>6"}Z:^zd!l)4Ә s{/O{Q/jm#k_h#/uh%b阺 Ƶ*nu&{bBENQ`f LX2܃es'> oJ{<%;{6d"oV¥(EGp¶]SF0lFyYujZ-˸_L3T8r5"[bɗ6:&qܿĂ w]Tea@uxWCn:<.F;;ۼK^0W:fsz-@dWh?qjNƸ`-HAiXD,³wcn2(?W\|*ލ#qO%+Go*tWs2Pp<+L9rtvomDLxĭI8(<R+7+f۵ͱx]Q~"1T҇$ +-ˇ/Fb@e,ȵ*;!sm&֫1 e/v ,1,~rgї t0(biQL9 L$~G@@n "M~nFkLql[™J%wږZUi %vu dz|tg${syr mQƤQۗ#_KDc? l`IV|2*p}W-.G !P2q2eHys{TǘdIsA#[&|KD.$ 2h8f)=#"-$B:To_k M*oEv0yoC^HYa?CXþm*] n>nŮz;>?MCPHGnXCVa4 ϙΩ(&cF&-Cw;)/BZG.-Z W+LjvQIWP?KLW7;G0ZEyZ]G/(#L|6rTW gO#g{Mjjā ^O׫O#hw> ?̽D2 Hv-cL|AnФT:> B͌izR|6RkǃY&}r7_sf-MdsE]` o {"P;x"geM3.1!٬)~!*/c`6deW22gܣ'Zi'YO h_0s:_hc|aF=W?L/N]UD7E:2 :sAS%Xyպ E,PW ]KhX <_*:t 3N'cp /ߥT[xmK% A*:?XK0z7D{k(cQFҫ"=*E)ӎt?`9jc2}$;vu#{w![k'Ȋ:o"72h  j6ܠm>@:J].w[^[죥B&=DȾ~4u8Ԅ@ѡ@°S<&^$vqo[5eRR*Z6iiC%H-E% P(H$fuQ6[]FE49Q,%DHʦ "v~g154о9zejP[O x=xIAMD.61aD5VqCfBvp;h<Pa\4gV(V@bZNŮu##TYmԔW`+K]wKff+&3_TNjVt/|[Ԑb.V' YތUyLl›cpKM\ɑItf\esc $c5Tc hN%G„߹6ײtW!I >g? [jw?T"󕏹E B#ogK"ʄauaP(g , %~'GӉbO'ڤ1ƲnȍW{QYn3)KNڥbthɛO>!Ed)01=i N."520+. 1<6/!)'MD( eV.41 ѕT5|wMGZz: {YBBb:WTν[7z,cbPLo7ӡs:oYV7)-=Qz/xo]1Y&S&v2\>Wf#T]B%db<啩YpޅY6k5i4fe5RR@<2]GTBꣷ %D/pA# .3M6\.ߗE$$dX`g_iqXPu*4 >#f`#6 ˼LtKcn{4(PTS:))kaV͊sCzQݓ2] 2gԛo80xbz4ڽK[G_px-zw$3 i86H" Bp K+LuVo{Kv6vZ(& 4i„K0=XaAV"vw"eV= h!-a@${[V/DZDpEhaq Jaw6ۡ3_6Wܢj-KCYnbk1gc&zn[,*Qx9:P=fcYd0,h)p_bV#$^5t!$|=dLpEQ+. = )]EU;H6aSgE(?rSB/qwSN"/ݶ!q zjnGo.tp:@exmӯ+mHPnJ) *:;JUv!6"q&ۋA?;7Yd3S `N}؎2gVS&-g}gošP[SG&^(z,:΀)ON^x_o77.  ;+X 0RyT^swt->l#7B::Q*xurD+ t |aT<'+eԞXuђ>f BDߥ<]X6lȈhpDa 둤R!뼖:d+>ޔQU; [Mk{|V5pUdϫvtQW Ւvܑ='4> s !4o7[پb8}LxMʒRT|K@/2 ^6?boj…I_IGK&Ŏ+COBzPvCyPga'gtNTYo Hͦ|Z:([6h.;?<*` Xd[X,Ì^~+lb(\_cF vv“,wN:u@2t7)XX(hAsDZO2QSNC6wcF.{rbJ[Ńm-nܧG?S 19; IH%C[9vTeKzzI@~o7&zhQwz?ZtPBk0=hY9 :z۱ȱYaS9O<W' \ =p7u;T # SCv9ͦ/g^{uQ$FĮ#z˕usS-Apg¿m` ֖OQjM/脚|×ӹӊ|[!d]ywxo^u!-9pAbk>w3g jCl]=ޚι< $g"[@E?h igjZ_'YΩlC>:b$VVқoH2Qɠ}Bߕm:wNbɬk΂n 1| f7(G:R r) yx),!C<^[g tYxեA-E'$Y%V>13~w50=uU7AqD MiaIɧ>*m.f朕k2ЈPn`Fll#RH햧@؏tAnD4l __{ӐpSz5$=[yvĒ˧5}NIy돆 K̚EO?~%:ya5v%[PyږmDmmqx| NK83VcTcZ,BxF/F Ev򤌰8O83ZKeQJm]Ep39))&ĵȵ`p`W^tք?&+m7'ꫬL)pUBCY?a>pP#AQ9\h8S}:SH樘ޤ=2h E'CGEF4Wb 6ͮ|?MQw`U$qIvA?A[6Hӓtp(IKhl3+]8.@D&OW`VnܞUr:u.MM\p9_mYN)ġGvU,}V14<ƂŇ6?T)E.S;7QKU*"t;Nrgׇ4q T"?[I[ʈ&_)X=!8Ś<HiklW Bc9`psί`n>x1Ӊ1?TT? h eAJ'2vN+|;1~,;@óOjUY˜B)ōuJ #oS`nvz~ kQ(˵Gd{kOׅ oBGf|\i06PŃDus쟮},٦*n9d=!TC:yq4G[Bv)| oZK'ƀ݌rP2ա)|֤r'KU!WL":QMd^j>HJ֨f}Wz-xw B=.(/XSmoqScX٧FS[JG*&Ё埫7&Wo&4ziL|ȴ/#4_ՂC B vi8>FY`Q]WK݂Onu5ƠY.UjxO~˻LrE7ě!JADŽ'A.P =^T@Dt[ND+aqK g(aP֕Ql3OܭmEۓBX&#/ٳ()W V?1#Ng^/>ˆ"֐r ?Mr3~WBUBV+7C-Fޱ>22׆:)$.{Qd&||gňJ 6jbxO m1b"'dzJ{ZGC٘͠=;B髺+LD1'|j:g 6u[QyW}6ww0m |at2,$QP LS/zHL9\R[:d̢G՗JKf&{­6B]S,i f&)bCI)vYy$X£߭s_!@W.eYż~ilD9{\,DYIQ=-&K焯ʹrP[)(&ě7fiu extT`"{dv pu,'Fۡy)@Ph.0FVC1r##V&eEs8>^(D{+;(-SÉg&BJH!hG ⿜حk#(cY#g$sb>0fw9aR 5IRݿ%4ڶ ANW]-"BpOM f\mqpTOÙԵBӽ({o+ a:sFc f"9K~rQam; >qM7M&#8+[nS cn\eâu|V8WC)Jxܨ\*pJR囃-ZҸ87*E\k;d)jPW t*8)no Ie$\3Cd5֬lxU1)k/r=2>vA4~mON7 JA |Mct({5ڍTRETrJѩMI9!"Ԅ\y;-_|Oeąx߃'(j[4D=gFsds&܃ӑa yBS`umsE`⏣8.Qʧ3em1]2e_0is]}C|$PRphˏʻ* <xMbHoJѲaw γSx5i6ӭI(ϗ,?hL0y(TnN5̑ɖNS~tfFڏaRv,.Z1?/0M54f,ٚeXi(VEǝ_(c&RېRhL۷SA|Vt%w" Uv]rCIBGR9]՛4tv1a^W<庺Z_J-MQ̻Ss3IGN! Ls;!d]]0ڣF)B)`q`V S3VrRČ.&,|8Cb)8rnje  O|cY1#wţa26i]r޵K7j#(Qnx(q¤| 㭕'N^s<7f)^İ'ʦ1J2xGBMy̬.jc3 jэC0J{d,NpT"`%>ke`1ZNxRs̷Nm4,^}3염@xW!. J۩ ZL,Uͭ)°B** 4kP9-h*kosB{^Q$ќljfUGH9߉kǦӧ&/݅HgtJ'.0ґ$~'fEyɱ$A6GYF0U,cI:6G9OͭA䦱t-̑b_Hm ;Yméa }835O͖[X6Ea5>K&%!xU* @{. y%C}=u.;g~$q;r5Qi4ڠ߶+?[nӽ.[D;N9-'& oKXɏמܟ6z b ׿/ކ[YPq>>d~cVrҎfO$jxbXpU Z!(_̘9R[jqQ#ios1fC7oihh-B}b]28ywޫ Hu:lhxnm:tTֱA/Kz fGѭw,aY O)v@ɰA.Ɗ=sVcUr߈JÀp O4v `1ap9.Z<[]!BQsP9|+&deG@BaGIN 1&EUh\Nz͎Oc^5ӨC]>R"o\S]Ʌ&N;Wq_0-9VBz:]{GkD 3)?n>POA0D;'ʳQ 3^ o)0-"0x)շM-dh.Zys]X1&JK~7uF=⩳/j# ϗKh+ d̛D̆` z±RZm\3Y6āPmdLkTAMƉH,ԉi٪ϡ̨5{*OKyb=d*ؒTuɦfoF䘮w|Ke }DRoiS(g#!j+JZj[%aw-؈6>R"qxRqkBN6_|#[S;K&IFnM|E5{V"zUhs=D ,S2%Mt,"7R0IQ\ =ߊ}/.rrn\?xس >ict7&wHm!?#st9$W3/fS0~*+foNC01͗VZN"N RوMehmw>%f=Z._FҒAzz scqhz%|1)x!kVUЅG E*,V"e.#[_=L)Ɵ,|m@qᵡm] c5qQ'>vIbT 0mLgN- *ArYJV]]PNI +b+B mրX* Ofq`>͜e~SH xjnUfYŠ 9"N'1cבoU,p+|>"+lDž┇LXlsiZvv<ǂgeC"(p}+aP||19\J]/GI5$u7\] 1Y8Ըʎy*"@<={֖,e%Q2"KK| K;pY9t]_tpU7"]WyNq uHbjCnE6| 7?=Xe v/(GgG-L~`F6g{*ΧZc 4HBvŤ>Ԛ2ūѺ"=mف4]➃ 2p@+$KIx>e\d2׫ŶÕ^v,Q(@~+'K?>BZԩm%ȱ$Thvdruj%^}?[",f4؟ zD@P".+c~z 8^pPyKaB}l5g߯sT^Ě[dTSY0~$4z+%½ɓ\R`x)x!nA,^:O07]e y7d&|v aqW2T|~KzXƍF|{KhFܪ}1kETblYeN}'c|g~VvDxCHEM2.bw/ ؒ:/8Fd棳 ٨!J¾oRD•Y(DD&5v] m̓sn.ĞRNZ ihuk kvlLv!FOZ+BpD>Ґ1Q $πl/4|UcvV/5}ee^_i,tX)z0Pj<TU}^{YN4n+ R\}6-`<ďP _o%Ѳ(~z 3;ߤ;cMvz>FC"w( g@R<(ùT&wWP"=7 1RF,":Zݢp*ƖhXuN݌MBظT^d?hy" ԎI-9IO^c,2P 5Y&AV-RJCa.4!bt7M1ޱDMx6ȎÂ<X䜌 &Tg]^ҕ-o8&?onsTg).WrbGvf | Dy-}Q}fTD:^,y%L]7Ol>,R EJt Tp`.n6_k=4LhR#4G2̠ЈHU0ŚP„T?YH4"F`&bBũ*r.>}մNj,nSwRLpxlK~Uy9mpd}-u~=m=ñ[NvR^"?I8ہʌS638";U7AO%wF|:\ťi$6iH6Bij:ۃf u90(#[qxpŇ7&5q1SC?-g+>FG䯈.%_qʥj4LJtNvbٗW+ڛ1iC{S;%īx^}|ᣬ>妼LD?l,`r[_Cv^SbZg'`qcU|GCɺ_$8#3L`~. %sǗ'?o,9aN[% / C':8QI갡twkoڶ1 }Y\ /n I $u<<)[sJ 6*^+2eM:ĴAFÓ(@[@.4kϱjE.Nu@}`/p<O+IOy׿|8"jPe.qo'ӘE?JfD Jw KqC.x_|>Ѽ:tVcdUmZZ\M7BXj[#2& cz~7<3>Y+rÝ[U2Uجm?b@fC$$ hKAYrUK7\X>i܋H/‹[>OsS,ZעMlQq\ ]\ ʈT" .=!%91&o5&Õʆ,TJՃjA;(H Ws4k|m90 _WIJp^qO3ONPJH[Yhc ߯Fx=q+?"bpĠ <S%&ca-,<25l$UNuKUc[3'AL|mK7:)"3aGF;QR:'IG OAB{´YG3 S :U= LV|w\l(*ˉӊquHAUOj>.owpkD`E^ۮeY2W] |NRQ}İ^ ӎZF/i/ߛIǎa2OJhTӌi%j FzI"P'/4%'g$s'C ]cC$kQ)o68'I6>a7e %w(,f}:gL/Y({ɀ(z,3VR3x/Aٰ 7s[z4+M_cߜ %k =VUm%񽝎fL8g;а ULXȺ]7 6ʄ €c qLJz?!8[Gk<8@gA_bVSf4j&h6Jm-2YyhҚjS>˜3Z%g,#JV^I1]"+Rief5٣Id)vOG52u+=uk1_>q()/tw#/roĆ|@,(}) r v/C(=*}"U41=zq\2\%̒? YxdfT= 1,hlo_lae/#wP6Țe_\2{^Q1e4Wh#4;&0AY"w,AYw[w 淒7t` }jN1emx6kb|%Fl@)Ͽce6^B`5(2a~GI=ؠcS{ˆo~_3Yܯ^1 w~5%V4־P'.ĠjR5iY;B[|6dfyRH>?odպ} %eMg-Zsk\C|j= rM%D1#i oa|]<v bsVTYޯ/“Nsusce ,td HOĀ 1b(V 2)waKTqs^W7bo)ƜDhN.q8¹6< d.J=ƒ+RFyhmL̛oBr2B#p)fSi߮CgR᤼iVwf|'-.G(}?Jd7Xż1Lģo0J3)MPڔ&pnvlknAmO5nߴ$#f7T/oXX>LgGm!慏UW6AkyqN~n!a d%;4ۼtlQp~\<[ѫ)!b Ѡ rLlf3RZLzE4ܝ‡Try9C1O]|ɬy_rݿHcD/ݵN9 ƙJ|XmAthUBQb&* 5Aʥ F8(KuQpR:mªiYт7Y1Jv襉ݷH:d4߷ x*P*-ҩKvcJ%#=WCuu"0_P8w7j@'BN\m1} ztRa|tXiV9 4^6! 1Y.31~BO@Y]_g63GN'gZ-O_Q1=GUـ7@z6K  9߂-zx^(cQ1V^hY[NU HAϏvvE]uXk.M('g1q]Zrc" Z  /y5^塃eVxrh%t#>7SYYPf3yaVfoSyjp~If>e<yR99uZcC>Y)O?8#ё,JbϽIToiRh{Vn[m!֩oϱRaㅨCpzN=ZJA#hΨWud'h@n`(Z.056Y>U-igȺƒc>1Jo)`/6|b.6UscҘ2+[[*ѱ'׏atܑ}\WG`'~6 ϧ VxDz{m@ÿs ?aN\?(߽cx>F*pg7s%-WJ"=JB'տlnC@qaNJ} G ^̰$0g.ef_݇rj}>J]1Yh6fX\TlI *2v'z[|zVnq;F)'Arj+ 4oՅ7kym9,fE}ȅZ.˃(9@jƘȇf}.T*AxӳxP9g}nP!y0;F27Ko5X Tt0q?g['}c2ӒRT0_xDp|?ߵO:`$.,O7pְ-;DRq9, 1$cPo/!Z1S81#}{nEt#;VP7ʪm;Xq+;5^@HZ!EvEJH-rk5?}wv߰)d<p[ Qv<t8X#'M٠v#DzDv~UsO[G!sj6D,O:Txƾ ]c_FfBsY.R 8eB6}5g28>ޟPk]rI ÅDzK ϭ<P#+veҞW[_,لdLy4uc|hEߓPtB0,JàJuu,hHV8Mi4mA֎[IS+$SV6v])<^Jㄘ֔SY"e{ w %߆EZialWnPt7Al-3wb`?b} Q!ڧ@Da(?M7°eK`we^_OՅc|0|J x2|~ ƈT'H[:B/!L/9 gM|*t}sY$VhSwbɉvYH@pcY>]HIc_ƪyg\H-5R4^WW.תqn.إg4lC)dRvQO~Xt ¡r̟0 k(,`HCŝáv˸X~ݱ =ZAJ^ ek,ōgͳq#SzR^(y8/ut;#w\~S#N(9hS!;Mhe] 7lnw磼'UsoV2rstatcT-DC{H+ŎpNz4,լKX'HQ{2J$V-լ|?5iNz, LES*i*Cwgx-"3݇ӗ[V:~8hpZ 1:yc-RuaRPeW(Tpb*Ϟ)ˬrNj߅OxhBqᕽF-*{MYP-wkmx+WJPb`4V"H 4m-2 ٱ\6px  2X(GEkr3 UOD6,|9r)aSH ۅKr[g>e`/3E9p8[BͳIeERE ݉Xx[//G"϶CTP1 =TSсJ2Af%_ml^'囲 N35ǠGS>#qijxܒGo~iFF~FTa43οn5C\mC4%5?u 0*uNcjC T;9x~s81+^~O q_bXV,?wїyʹ4a/~eA دOTk}MGK]c[FP}ɂ!fhBl4HF Z2SOHBw8lmrX0p#sdz(YcPL3 9ErY ń.=ʉTഴٰsk .sBx\ -v5?:ѻ74Y%-ϳrH> \rˬH\32[H4">ҵ 5myVqj̒*7[ z[;N=mjLꢂ."ڷ9孿`g&# #/,hhm25i`ȭ!IDU=CdJĕ}8 q֪;s)@$N7( U%[`\ e6:̾!DZɾ0[Aеr>AСr4 (3əfXOWͽaaU6T+'oqkԔVd>hVEI=%l#!|t?r_\lG>Flu%<'`sB|>F\fb1}qU;Ȫ6Ro* =Ƅd1dG"WcncӞvl|PQȨwĮKe[9RʟkhwWD|eW%t.@Xˮ,BsH/=Bʄ"VZPyg& uF|9ʡ (av?_:-؇}k!au;4EPӐ 6m[NyPD8ԇ &f5ͽ|Z!;Y; Mbvt6o!քrꤿs`lϩ}e,c O5!>t,.(j -GS_:Y.n;U8,WEn%'V)i1Dhb&OPxr 9xt4 I'!u n @IdZUL0o461Y2f6#PDZc$4tl黅sÃ$6#AKE8]$G(4q"Nx}ٺy?@䖂7:'#8eyſkwc DfqDFKP;xhݐ]ɏ=>&X n W7!ySu؅YOwʓȲ-/_\ 6k\cherj"&"p)sPg!0Vcug?5ZO+q ܌cbԯ>U%wqOt@~Hk^{ N]lpΈx:Z ES] SKgpn"0Tf~~] q?@\sT~?u'2izTV~ s.l疪6nvV+ ků Rd+Oiʌ:B$TٚIaUZ} \ܭoEw1GLs{Â!z:RkL5/L?0%ykkȇ}?e:Iow%.$ G6Ψ%:۠-˯xip_rb, g9 !o}, KXm5_:-|k݇Hv <&CCdf|õ iz2r&EHIrɖjc`,ϻX# sGTq l˃ƁEnw.]= l/̶k=":B@`5TH2W@ځi"f"890(\fx4=-hB0$؍>;qv&4h%94uЂMX/븽'"bg{yBU71@i(Ej? UU.2{֓֡ӌb@l&DX;H,.E{O]ZinWGb\-ü tL1KoixJA-Tyk7*mZ3X Մ'_$ϸvS-C;H I ; VƷYChavk0 b0-83ˇ!cb~?Ut,*^~nA$.%泀4YVk"jL*J=ڞYȢ~Z&=gZ?ޞЊ7r;aWa|=TACROT\IQ3l`G-YTͽ/9*0/BI6FDrA2  ٰAҫX,x=0W듒v!۱խ&34ʽZMn@>~o5#òB\9YdV;U \nO@ϳ#+ YZ̾6SSaXP[ks](Od~wU.il+UƠd 3T$tdé KHNrf%i 4Ȥ^Z14{3k\e&• p?>I{-qf7w8fNWn)_TEPbm͞Hriks;(Ňǭp) h*dwQ|Nga.H|%M&7(`/^L@&ݶtPQx#7*OfaGa,.<@yWi&z#p- IՑ"*M,:L4s$dzǓ@+ALcD_qmS~cjDv?M㮷~4a@H~:41!s6a>Rz2V#SŽ̚xϷnNJxv[\H7<KW"OGdBC*9pl~rkoFQF- R`'$TߛptD9EST\e7sv{49c԰\fY2]p v}i +<1* ]oX m^K4C29Mj[G<l +? aOtAH<ӎV;18A1 rhu% H5K+hv:jI+pks*?B&K#4h.dx#d,S=L@: s@Ye&b.:Ģ $=\fv&癐Z[ JI\Xyf0Z;A$qCbҬeg=KR㆟VN4<1)ȾK׼RXCt )UW9Sfx^*P*C%*y'$)LČn]bߚTE?n-UOvuEu>khhAX:М NVeF}-IϧJro`& Iq5hWv)]N)J;Zef+Fµ&–kO:4!üTl>h$*ܓހPޝoy?m8 # &yHw"E$-!Q%ouL/AV1BE4XFV@2)9KxX=̓+؏s,`uQU ^j,M&J$_R/wqу׫ ^ 52E#X_uQ9 kج$4<,V}9S5f#ɍpi"8v{:f œe~{IcUPt[X3&9mXuL;,1ut`SfO/WH\˦#C1mWj ,:?Pj EHMXa]!e,3D,˻˧EHꥶ[U6{"Odx+#e,V;#_Q2hdFT!al saFfJEWؒ|d)HFb&Y7T9Gq)ίrJΚc>;Ua:A>}Bg2/dL^ߚf˄3s 3 z4z KZ!tjm#W^JOWV^]=QAIZYb r}$U0q?JB갺}b)r99ՠOCKǹVXH箷P{SG v/0gE` ^ TdHɕ ӆjz(*Đ+l]\#EMУw4qjUHY?lNӹVmu^&_z?Дe҆r bz"$=KEV?ҁ'.NCĝLEQ7 ѿtZ\#E}Y4T]X[e,V,`rBn`32M1(Kq^^zTXղu~0gw]Bn CM.SuW ]`Y?<ʘM]nPsEysh'+˲_۹f(fW =83YSM(\QЅƬyq3,6 !QGi Z{?H9J7ԇti~z}fy>0 @foWE?+fa.P/x'Ϩu {U?I49xbp&ه<. ]$u!>agԻsRkԣB󌠈`GpT[0 Ʊt zJq,l1qX?j*K3 d$`!#Q&<Б;4tbh5>Ea}Zj(dP&n- ܡn4^[+1 lycrP- ,KъM<) ЀI蝬_Gx>S =t|U|@K/9tLF Oĸ!NN^AuSV<bwn=(IdC\2;j5CEZ^roe]#5*{sUøģk(u*[j P\g=] Ya}l,L 8]=}_c'O-o7zS* {>/#ۉ QEsB4҄ec5JRL nu܀Ug\ mZrᕭ$O+%Cy .U崖9SVZsWqqD8* 9m0sDPqzдn+5Fa/Z#}Ӆ]uu+բ~ &F6ƍ'HzҨ_,+ouEUV܎4}iCYFez`T֗OͽQOIg`R陆l%=NFf+NL-[Q-)2Z1^w 8>E9MDuL(^?JVmsZ_`g:#PO)#vb+ dzo%=fdUSx6^c̱PJ'DF\pwрodѓO7>U_̰ :g! 1_ ڑ@w$ jӎyx+Pz|XVE$Na }&Ӭ_ )qgcsW gJ!Vrt7 itYnybڀۂg 3dǦ7Ʊ9Wbnx|]yO~DE2%c lќ'D0wPN03e۳Dꕦu铥M ;P"ekN/6ȏo17lmal i'=yzWHrwu Jz ~>(# ܉PjvDm5/~v٩jQ=[hq\? ?C;11KG?To'7^ʰT;Z [@xģ,e EOW|V!Q䤌rњ(XzcUkƷXH}cп~|!h9NXϊ$"!?X95GIٍjt aT4(5Vk\.8{K>DH>u.>϶K։)S,Gў1t9`<[ ƈxT>-b%~On!rVy+ԋ' ^(9{ ءg-꫰W<75 y\|jCA7PwAp[S̟{/FZG2:רloBiF7mQY@R DG%ﰵG1oܳ\V9(x YxDN*NΑn- )}v1\x 9>ԟkWCi<{Gy#O[mm\ 1M+>c|@Zhm)4=Lo~/'֨^ʗg5w vUy[ѷ-ë3P_f @ ;(N UӼj, {^(/ oj**o lMZk\l47;e)j #SuYΨ}#Uy>@׸cwAvr5+R*ՈI(ړ X!0{%~.6XXQ5ei8DkP5.ݞ>lkP1~ds_tiMg3t/;^$|b` 7-TeMB}}6Loڼ[X`~egVufKCVwL h驯bJ0S!V HbnQ*zZuWhU<8ߤ̇0XD塰T P=p4 0V0qN~zoL8ftug+HB3#7R_ ]hsfN-Of789s薛٦ \ oxD~;=b9@x~;c#ug0\d٤d`ZB$}.D:_r!bKg0GLxzLir=62HuR&jށL`H~@-8Mܗji4xyYSA,y]D;ձEJɁm p#;;\IMJul~-ݗw\[j(;-i3a߆> 4Gf=1͸.i3p\:gRI jll yHNs'\K_^?),"L`@ttCsD+q/o,oƲ&L)OvXZKQf4qKTjON%0V)#JJ*5?FJqXc4+|^?LPeX@0Jťg{WN0*<̍E6BzJE 9Klhk(1`X-NvĜ4- 819z>u X`굂4-9#}#9$:f0itB > kʠ d@VS@x80{pV"IЬ[zkQ'.C~@ic/6md"UvᵾbOM4Rהur*t5nG9Τ"E "T;+| /䅽lvk(\toWΡ3^hm}H/UP#NKh(r{ΞR#`&;/tn dpHKECH#>ZfPmO#o%Z#O (R`6_tcA?o%ܪ2A5MUbtXPnjW^Vq1ojßn4^~o\rQIzt;9#%=vH=Uky⍘{\ BQ/0yyt'fr@_6_R믥ň!B1G=$vY.Z}!N ī7\yՈ@*K /_>`•nICiܩws +",ȹ-3`As/˞p1˼}s'#dWǐdZnFΞF^vӹg 9ظvj1ýIJR O7ʉsrN^i;8+շ{ H$'ۃ|T[\ѢlѴr8N?‹/+; Ͱb!^p@5*qOCœ+Z(_ëT/&hJEZg,J4V Tx 9erKFv*S.$4y,AlRie"YspXs؂n6W\8NoSCm>9om0F&}j~W!C\k^|VF5drEK)m%r j)e_)2ͦqZ$L;ȏ-uQ;8sZѻR6JCm'r|_fE>M{$FPP⌆=6%ū"'pRgK3ߍ7FLQoKd#Clخ"]ݭ~˺]iI(ESYʔ ||w8UjY"j3~Z+L)Z?gXb sZM*Ѧd + ',ٷS|b擀Η8B$X> dv1ip%t2%ƃkGiW6`(#?-5FiƋ[d/~@{ӏ}a%ilXMq ORh.*Hph\Ƌ6cfB+&z LGĪ}I>{P3F>e&tvYڑz80lYl ;K {{'=}ߔf (X|uqV|h{}VDNη `Ŕ,/_\Xw4 y%kb?<ھ߳o|l*>e_OKl."gxIh𢢧S6ۀV|ZU`/xLXnD,Bg &g34)6-=(l:`uPe%+N5C~5W>aM^D5(.(!F?tޭVCSxds4`4[Ýf |Ưn҃MjF\<~c=ܹR̯,jjπ@\uE:Bi,AqGWwMH d"lEz4\s@Oњ[R6a#%=3^pʞr;1ゲ*_. *)=sm7Vo5_~eyCSYcX~u ]*mE7Eֿt  G:RvpSt!(2STD 54-N A 0\tiSz~!8} 0'!B6--Yq  %̛hde ~4'^yHbeR IB:Z|xv5L 'bd5\P<, 5Cנؚwy &7}B`f%UW(х|.豱$(j zFWv˦BKl횘ʦ2Uh ! [SkIǠ(f.g/-sr8\gj! 5a2U,|Hk3˔:2|moeH2ƞe(倱A/[}u?42FqԼ4$pTPd9ͼ)N|vXOLcaA-nxz$y5gLs) 39p4%$(i4?nK * taBtʬ}{2*Â߇骔2xۣ{ sb_a )%N+ؘENKHñcLDǣ)1.N^Cw%LKJhPE+L00Rz=GΤu~ Ŷ;7P'XE7N4TWKIz*j׵)!y#P-"W'Fo'ctjmygsՂJnPIU/kOmU-DJrKC% q]ř&x&w*7cVh8ڐP% v-gFTeŸ)w7$)mW3"XI-Nc~EՑUJׁk&YY3G5Nq\yg.|4uȉ;l|w$<ӈ}=+Ӆ&f-ޑ늋6j) =Z^n6}6 bgM/q@a 0xT j%K[\" \?h)dT66){9؇H:$%5Bu<*Bwdl"ÆidE# N)y@兦0OqaVW~ΫUr[QdtͷUj?L ZbPzmN3)Gb}q |ҡ9&?-33mՔĭF1="I 5̣R%]Sn>0:g-u.k&Hh )5 05fl&[ ATdU.zo5ġk7#d XPYBtbEe* #!B((&'VX"Ӊ-欥k;8 r:_}(FxCgl٪엗HLrTǬx%H+/o{G";j< $BC#g1UĆodPB>=2bX2yS5,IgYYݦ1j)ԀNFRl 4'<+J6 dܜΣy8CYjC%yNK,eI4}R4|'?Dܷ,Y(`P{p[4*BhtjՖpÙx>BI~@'U(N4G,lZ3`hW5mBgT O_ϣ^CԯKH_c-[0YF|UW `MG)ek\akQ#@4$~Dc5.JfO3oE]!>xu12\J{r<yͶ =՛gI zmXpnb<:DtBR-=HT *(=BSc :8eW!$|0[4sZ=(|Lض'(e{M6ʲنBKa8ci ؿalh;D8-K,Ռm[@H9ܶ?J+iIOKDe;oA=[nd3bnvT}t_+ "` 69>gb')JdMm*)OÔk}ͮ873@?ʦMf"(=v b1߃baW wc"- ߳MGaG3f; 9qr0 V Qb!Ntɵ[M,@L38>jQb-yST#[g|-&R,\gg0 |1Zc>&E=J@kݝUZ.5mo)ԀR?Q9 )f<=i5W&aI1ryo| %7 lnB`QSJ5ӹQj'4-ʖCjWb䵽@ H$ #iEp:{k/t!_f2Tk%R zim lu9 qOHn>W©&<^{_ϳ&e?5,TO$+,^ A4o;-ӻ@nd ~9NBlPg2EvWI%ܚSm4sRV}8vu#(`9xalDl%Dː}e@b}@gќ[-̼}Z ^zt,)k^.ݓ)88eI1XЉ̉8G(ӂݻ%h)I;E4EB9` $bHXBVS-;{5-fEkmU,.5*nA]* 2 KN Rce7j{8ɮ/wN!lťj"]%6ecϡƨE>]HPN'(ʸ*͊1mQ FfvAm5j(i޾#,`DsPg.f/I P76 2Ciƅxk~·M B!O`GD\ ((_x0!5)";nC_kI|₅fg[N^2B.Z`t 7*PZ99FM$.i m]h` z??-,  \X?^P>b \ T|ѷz޷hadUC)La q [؊ڊPaoEX$eE]ޅc憒@Wц͞μK7von_K{Jؖ̈́\G"pT-PGOh86G:Zn%c?gbZf#뚵ėyh쉷14k+,V.0.]osI;z u7ڐ014,}@*VăgK*w0Q#\M@6X_"@ Y|9"1j AlLo9cؙi,ud]B`{(T,l^52Ҟm%CV!!z^`Ll_^ҋRT5?߶\(Kg?H@:;|f+c;¹E\G] o>%/uZRڐnr۩>0|4eĹ:w8 ~SGצĹK=8< NV(jߔ|W?!P#l/8m4Kopv(܃I܄B ѧώ3S^NIVrv,jM Q*_kXV@ 9?8G 6k9˰n_Q1m>աH2)@~f-p{G$_i~KQ9a- F$bzLoi޸YYJKۮBV(s(ݝQ8^c.BFFLZiLR@ rdy~;8"HeoJ%`M &i;* ϵ[or]Sz䣀>sw' ϛc@`܍xgÀ;ud2iXhaȨv;Q%üޥ/F̸͇`,)M ~?5u?!.nmb *˩Bdybu*@O޻ ]xYN 4AʳQ@>1&#k**R(]f@_/퀸R/[<+-ޭ4.Oy.[:1ml)6,׼ ^݆]a/myE A YL*fg)۬z{{=txYij8mgWOeby,o3̵+8..\O 7Ls3\GQ0CDd0ݹh . _)_ZT9 J&}p2˸4 M\)Ʉ@k1y^>b;=GKSğWr#񲒍gu(}UgQMl8Vv=9̠wUudqk#Kdq u7v#s i~ :q̈́ؒ5mX"h|fx @;7920tayݩ@䊟^0FSaz:r׊!Ȩ{Ӎ\5g}^]۝{Fu.~C)6Gн%dP{ԼlȦ_g7RdHRCWVX !vwTYhLJx훇5gfKA&@LWZ`)!ef-Ncx )іT4|佩(A~/=O94j8%6~< 0cJ>@9̲,*Ӂ›j渀u߅QHc Yk_}\?+~[Ǔ{Y.q^/ה3 LQYZD/r@! ׅ>Dٍx邛b`ehTfrXpƎ$U(ld,L O4B e'NTY6 Kq6/ r[e?*Zvݩ `]Ӣ]4m @"|g!Z]mF:"b~9#K7z?2Qbpa18Dl#gԯ2戲Sf*A/v)F}ʊ";L%x$j2 ר{L3h{40a 8UԵ' 8)3U]>:i ?E=ZRg3o8  P7`8 Ǭ&Wks 1}SAg㯷4d4yORr]4|DB#7OP#yg,ٹjKT5ߋdeT9h^hvXKt-y VcFн4@j3"@W-悇z$Ff=tP[ͮ=a?*_kVNƅ*Vo%޵-GnD"ҊZen1EijށjL0QE/ԱOd9Exp着#J]F}Nvl-b41s_6NG#@S_^COmmM^ƄmO؄(ehpd>_:A3S9nAq6},-Jwbշw0F4a=DT߁1ΝC{32 -q^^e(ӂ5ߺeZߣ[; 8PB7LgXab?:m^2Hԛ ]8x@ooe@]k\kPW"3VA]/BO4-/aMJxu,teV`a硺(?Zey*9G*m䨟-ڼ͋KYĠe#oxZܫjj8T@~AIq"TR G:Q/arL2KUc<(Rkg;=MXX6bxL>/~P{~~܉Eg XxE濻$-pPߑ0I >,OvxҊlvus iߓե>SoiF gnxtZvNohfD|gF Nb'& mj9CeM*0;=u4n.Ȧ٧4څݤwn!GuĄS s&DmۭUѦnlV]a {^(9Q429Gِ90 }1L["A*Nâ4B1Q_ڤLy#۹<>]mM I$?5 S'++Kit4H~XIZs4peP>l=?jpI{Uc@"d7Y֨815|[De=sh9ȴJ=9V# J87ӗl"+E:YP5qv]@eoG#.=G5R"x:Ii@Hw EX+sv捒Ox2~N^%ZGs"do Nq0L>Sen-!foaHä(6wA- A/fë*+k0[B5[Uc?I~>5Y x|.u^<0xgJ-7DIҬK]%Y.@3WwIrԡ@M"d5 #H/Z%n:NŐՒR`=Cm#Л6v'梷\REth^H>A֣$Ml$]3G?m3dT C %i7U d"Gԏh#Ċ+bv"a,Թ٤*zWp/P0HC LYݻ d-o 4̈Gr\uFA2/b5v^P0C&+@}׉_xev0 wbb:wsKL%5Cu2iuB"ѿAV*L4^ ; GPH/ Mu Ĭp/=aB?oc+T0&w{d[ǂqzCǂ ݨ"co7`9 dr _#-c g%bj#374y kaUM7`/L?vu]CB)?XܾpDF #Sz{.kQhnj8+A/ncMYT&RSl8a|'͉n=l .X6#WBA!SuHrߨk3I֌dxwewb4!8o/G\oswg#dr51*_j4Eovgd2I2VtHl'[N`X8Sg.$Fdd~i~Qu2>"ǐPN}a1p`iZL֢J{N N#R֤j3 5TQ-맙g#L /Fznp^P` G!75%m,#ʰ;Qrѕsqǘ"G#Tm͐}7 {X/ڮqgȑˏ[_łi{Pi ,Hb8CJQ2B:5WeYZN` ZKm7eLNO0aϪ4:^ϻy_'(¡%~T*<2F>aQD*X?p=?}9#f<ͪݏnh]So.!*$^/:KбxʀGɽݤ;*2T@;2)p]O.khZrB; fӻgj)@RqG=S' U\do[ŧ`Ee{|`l-"OUOV"O̪CnxiՎ,T&fxcWZ8 8:y i/o3;HFT6&F@Y.̝.a?A:61sݤnqG o˒aFhXPAA_ɸ5{;Rm(NpryDc  /,_~z>6P" Vwcav Me* KjJv4 }*ܷ_QPhLN:3+a!a-n7 o՞9͋\}?k?}drm*Lj.hƸˮK)8e[0L\G8_T:9(^pF{:ѯBZnE۰v'A Hʼn'֧f F"+L O^*;愨sd\JU'6z.m6B[AFK /&$_X9v4i֏|]LBbRӎMСo=ef:c[̓=W#Tm!lZ?ȫ1%yl{rJ L6!h%KXvܣJ,ܧ33e^4?I*U u6 }n]:bE wN<2%{v=Y7#w7b~JT$ +`A-Δ4yI_ AoLs`Twn{2$k&޾DWzCy:/xa͑K#2[AZ{a8)dg#?A E~"I" hMZW[tTw%ɬth#fn*pQ"7V֮w+pUFas(WFpC Vِ,S)Z1M3+Gpv Rf`Ȅ$G(H_3Vن61~+B,O^ݢ(*`ѲpI0q ŚIv2yq$Z!HW-)Dx$W. R#j/H!rH^%Z U@P3g5KR=lUB7 HkV)Z[*~QUb1ݓ„0m I[ICmAʛ /="t@k&CД$MJm2;5*@Z0_;O4SS,?fQN>qBK،xU!r%&ocصX|^nR\ŕI,ǀe(r_yY_adnU xCu;xHIeww)^кL=kC$**RDwk[n۲sȱ/8 *0]Fet2-/ (4v7|^-L >)2u$D\*9GKнV\iwUH1srSR/TT^& "pRMM9h,r0O<zFzpv{ݤ79hiݦ i4fO22fIwPa܈8wÖq2 >D-IX#Ll&1 `UD 8X :r$ƍ. V@MsrDj EĐu#܍{AJٸçGT9Q?adq?V$Vs h]YaBl8η 8aR%n`&0Frn,ƱC.D/Khk=xJ @Y)5iA.y}yHlwݶ1r*G0"KwbO?,KUVSj^rPhBXFJ5BVH:!Uj,${E_lv f#F겘M}ekFv]Xx!VrOgAkhxDjH+ ihx[Sڭ3`q'oό ъ@!Ȋ^+.L]!+ؤO d5[}ZuP_tW 3گB0$Y3#02n_*Blq*7_=0beboX DAId;D|u0~l,OpDFw TPbYʝsM:Ti)hbCMOΈp\X2=0rV] XC.1e,;/ޠ3/a W혻YUz@*ް=:t\Yɿ0YR#L f7 wf27vQd#mKn5PGm= "ZSkb2eP7;{ P{agG,ꞷB6G8=: `G25HO߶<^1 U_b$(u#Rh T6aJ/Ү %+ ^n<‡lcܯ>g/Qu6ސ% 5VRmb:#`/o.cwҥPв4^)|X;,Ğ#L wuJ7=li(gyX/V[ hͱ55]G܎D"fS^X^* ,yZ]mJdl5`vINֺ2X }]'V:U>.)ň7vkV;R761w?9'bu]IHA>)#A<NubOJ)R )<%nbg%Kc7 n1k5#K:&)#6$fZc &8zIqcSx) hpd6#.c7E5a+zYb99ft{P׬s2-Jwm{B\@̡cs:(䞔A6"O+/}|,xxA5ӐoCU= Ace'G7|SKɋ7KfB^QEjJPمw@cimAbc+&zaQyzdOŶ<}H)SL/^H_]^ן&'͍` ػ\=x4#迍ܒt~.K+UkJ( VّgCgь}g_1ΏwJfl!)],$mu] V1[PA 5Oaf^I΍\/7/64ɼv O:bx+5/zԳv*.o C+aU 5aZ Ix ~@l)V" F MMo"q#=-;2Ш#Z5?5X5&=Fevލ1' ENLQ$PVDxZTЁ\ru:n| z2um0߷E ״H*"(V&c4kZ97*'KAz eD0wMUԼq)q#‚0_$lڕ88%}7v|WyJs~߄L(+$(L%B9 n81Uu1[\[Jc!HN[(@1yt)lŤ_>6vx{uu:#j='@2s%ٹrb,fgPRmXPb-AfFOx/>VBxT>5ύC/歕,5M6ǚDz2A%0[q(y:|$C5C_`B>GO, KR +f) VomҦ36/HB6hYotDq&Gk2>Y`l*3;py}ޕO8?FAfYVԣ4K1ޕS^Q{HJ-F5Ge뤸⒵`_ngW%W%F(E߷e(mS: [0D.p7.>> ?nn>0A^;K!ql;y$Ᏸ<٠Lc9Gm//XTqS,L*U" z%1[3Eˁ+$S$h2N( |I>ڵ/o `zDؼ%0K@N~g@(OKsAlGޯiʘ| A UK3If\BLGeM Ls#5_4Mݤb 8{Qk:G'ܯd{|v`՜+R)y6l^M*jIZ;Wy }{eMT"9Q]As+HZ'2od9{ @'ꋲp  fN#٧yZ{7>pM#M CSv*Ith8BݯCWr M{#>pyη6A6 xl$d ?inbӌi.zg Y@uA\m[?TwKß[=KȐ#S.(? Ǫ`m׮p[ 0h͜1Kď:nLAXj ^,=Ϣcpo%`ĝ>ƅ%٭AVi=+溘eQe+"0cܴO:Up4%c ,x$V<îP{˱troԆ9qX28KޞUzܱәڨDe`i[Vk9D0]EW_a _jzؐnL=^!4[et3y@ wHI;{ê ߉yw<ʯ}C:7OQMq*R0̐d+んs1.:Ġ][h$H;2I$x-'(`ӃѰi]H}N= ɵ{ Qtk.J>C c:'(_IPX¤71=g ѥBR/l<8l3 +gNCJ{h{T$[r~Qq}"otJYcɒ߭.wy1XlɎ>䞿a;Ny"N.1HB[!=smm_:ot3َ΢g(_.hai$RL չ\%לb#uEƊw9xטd%)7ۑy\;?* O_{ շ@1 'q&ϬV<3&4H70~uބ)D'YETLt  %$2ɵXJ#ҿq㠒l5VoȫK@A@kUv=ژ Gx!c=6 Rh3Ź#mloO}:o2*^cGL/J3bv{3 :fM? !ɗC{,@gRl@klפR<?9r&fu#YOiV`C#]1Q>ڰvWO&VEOC{,afd_eGV^XhK&6R'BLɱGŏHdaqs= X:Sg)F "2g1+e;/o]SUU|с$T:s&~B_zOf^)H\(o\"Ùa7t M A\Vc?0w-Ц`ҁ2*u&xం'8FU>,dKy:́SIR~mr nӞË[I{O Gkp?Y fi 0jH3{ q3!|X!Uj_qyÌ6Rդ6fuL2kܼ"d2Aڼa 6f׆GROK>`OrWk@U RHchCY  s^TLO=%Z}s{x8]Y`ʵl]sTɑF;qq- Y(#}%wnĚlt426};:e SNqFu4qOfܤ@ gq\C-];g,)vkhq9pV,w([U  t:EAKmx-3~TgNBL z%e{^]M[X]"[AxJrU DB3$RL+eǸR=J@릚Cl2S^vU KE:콃7dɎU+H1rE/.|$cVӀ#/ B-He-_dK};TjIynFK|{2&olYu| @350*S=*'Dt+jS y a/۲}x>K¼ #j/!MV2QPk"؋LTh5W__ Tt<,'tΉs'e+^eGrJS2ad85˨LlWdidiԶ7;} s90q\5FQ9U^qF3Tla4&>1lo=92ywq a?0dzs k?.8 P1+3|!s^cX=eTEUC)&ۑRE nf<׽|;~"SP|l`Ҷ$KѨ&;U1JRjP&7w8T~DeII!ۗz!(|f.iSw6 )($>avyZl2ROo ӊP5;&ud[[!y[QW+[_'Az/]5,(V;LxZȥ¤ϣ?'`y໒%YRv)NY7SH}GpmJOP7WrFg0\Y@;@ <~k`-,:^Вxbr.FcTRLU6ڥMy\*(qw"-سj@ݱ Z.XQ?@ӞWkP)WiY5M wr0fr)݄sڿ};z3Y") ;3KiuSQ6WxHA0b2 g~,n02$Ѧ ni֣M[`7"ゲh x4U}-\4tuFPGx%B:(Ń[iZr~"m=lG5A@0!H zwrjjQT/W_d.w |n0PrՔ5~ϰ Rsz 8 Kͩ` L&c|Cog_;dI =(OnzЎroeυ.piuiUe´kΑ\ʔ. = ^ج'ۉ|xruۚyfPLө >ͪ䃊4ɭWiuZ3]ѶJX3D 5}85 {/47Q9E7HHQ*24tJ|)mBc oآ.:S%PD'8*!jm28*xl1cKL&b#' ,Ț,8` NJeXmM=(Ft"m:dg~2ld3ѧñE) '2KfM89s_G5/ZUfU]_42\A|P;}m˄rRzLwuN,xQ<|=I~ eTOh>xBn#+{;(O;T%$tC'f?MrC3#2ZzBOʲ wQgg9Z٫:yIċ[7s﫦3T-Mm$!i(&gO9JdʹUM{22Դ1֠*nMOMVmMK刴[oM., -_e Y}.NUcj#vHAy⾾͈Xf-]j!*L0'o ',@@+rAIv&A,Yݭ"dXS *#Hcfߺby`>IT^;]v )%{x Mф6a[>UYfH˃ŵr>} ׇd3srJv;^ՎO.Ai̛&E=1׹i:cC~ђi]̞Z8zk.1suoۯp9QTy2\Li><HZ|k (n߮ jM{$oH{%ְx/@CYoÐٷU60V8%9Xc5%fHR"`%y"|l R4*%=萃-&uUy't=[rߌD y0䦊K _-E7dg-pNNSWX5/|FC<aJvzcg?㎫-2e6+?S tʕ]t ܏ģ^R`X0lq vlJ~>u{S\ +,)e2pQ& +Ԗ1qQ1b;]8h4Zԃ]ng"0SGZ;]t +-鐙 SVB rX[ij bAt?Ơ>yI68P<RvKH 4i !g/ht$5(}Wp0DwDu9ΤfH aЀ - m?Ft[] cMN;6D30i``6/z(?mVZq4~Z7=8(GL!%Ť\[N} t.ʚ=ǻN-7NyurKJZ71RfKA>+qK b܁/Q Em7"Nm ,cMK5 / 3X$)!02`EH{F#=5".x.ۙwYV"64v]y[8QMo0i1؈<31F7nM˽&ń ja 1bOV)\rXnusKt@/ lm(Y//G˄.I@t\[n#pEO;sb֝\!yQm}wsr( }D 2Ҥ:ָhK2qW9ZQ@p7; $ַEyJA6*"_`=iEPx^31&ߜ/Y(RKUW 䔎|FfdVV%OVpֿpRjVPB1)>3=DoRZt%P⥏lHhJGDZY.[q0ϕ[&]JYHo_w81ZҪpZjFj68ϤvP-<岡/XRs&ͅdFgCEHd3_͡Ws524\+nNb뷿p By;'|Y&u+mueU991lG>Goˢd.1!PDYk ?QF+ 6, XDjvc@b8P0VLZxZ}:׷瑙žk5Trq"{Da q~^oIDKn `SX]a:}$᪾Sl|};f/5}hcyXBc99UHܽS*Ԑ#Nr`E*Raz o(Q߂9* a"OꙧE[>*w/!C?{ >/-T-;Xl!%"Ȣ+ l<YV,X]];>\ͧt1o[ i K*qDžJ:ULVΝ1XЉĐHɞMw;Z~8v)^x %b?S<[zRj;ҋTE<=we7m14_[A/BƇ"~D8]E[9RUT>q9}y3ƙBU+G@ɖMSb=sOFԀuko^LRYےe)z_fd.iZTlX "Ш5|ȢTyBr{D'S!U {i:+9e/+~8I6%W,%PPp6tD@4ITF ._6 #(_BS|A D Qn|_=]m2 :K~eW M!a|c_۬>#}wU(t^WJ+v/+Ս35F@˂XiP?(%jcS4,eNиei &7R._m?T;&-2Ydl/ Ͷv,eW#3ʋ+Q&͢U#xl#w]l=%eR[m1]_NJ hxvxgS VƼr!x`:zZugY@،+v(&;/gHzIw-!owaPplև#Xh.3.8pg Xd٠ȏbޔ9f[<=RRwWL]ur 3\Tv] 4`pTW.S "&u H)]'B)Z^*4N=^E%S 89gH_v5cTs<ȤѤ`kKE@c}o Xg,s/#z$Cnhfĝ'GCG¶聃u!$#%n%l9![[gK!sYY!t9- ߳k6$S}l |J&|Z*iYq햗j*!]:|p.1:®*]{b5IE5|։ e^7PPᕢ۵alU+bUXyYPi7ZP5S%:᎔i0e)_§zxQ#.ΐ 5wo!f;ZH=J瞾VB[Y!915d] qP'y}JQCmݏ-f$Zs/iO{oSRuπLw>Htmk W)zysLpo^Z%t&srʠF"U]hl`"XmS0uGSͩdCv1o {jkk}-)]䡷?ʏ,F1+ ~%S5y%ay%W8:12sw(:a{X̛ 2CP~mEXB~N. ۯzcAVHHxsP aIERJtvZJs,@< OxkTۘ >VnfѾʌU;yQ 60(誳D6gU|u=IUX1i/Hפcf(la@R#, c/qNaj UST叟 "/[usjj8|Hz |LO ˯|I,2hT)+軪 瑩 EHJϾ4 '3^l Up'V4,BrSiy8B1LjPF&K`v"6>8+IrP Pq7K[ |nTZ>govTH Xf]t%kXiwWvR-ᢲU_t'X||vB 㭬I͞ $_A=x5׉k<{PƛmϣE!=QU!&MO9&ɥҪ{ izS?Ksu~+ud>JdqjB-ۏ*ˆ*b\h"U;:$}x!vs˘1D$R|2I՛UB逕<;5aړadjjfEJ;32=Y D dŝvn԰=_B’Gql$]7"lRS ؗe/Y͇V=:8=*YA#tU*SNup{W}I0I ލJWIJj-W-0)uD*፬Ý l<\s#٠90Yt[mJAAC0%/M’AӗH%n/bJC=gG~H$G8XQ g[>IgNqsqgZd}\ڳ!V 6)Wu.yD'LA1+"ȮRѦNT'ŮӲT9߰u"%s KGKb.$51W5(&J'Hɪ<7kX2LNyE7尭qg:^BHkܜ|[co%GPd)9AWL*I.N~o+rȳg=INg#h똁A1*쨕,t֞ p6:|+BruMv{zb%oO%>[sg%>kt19LF+_zV!M5M/%7yyܹUruuJ] +8c: P&B(zZG'ܰnxc5ҽہd:|Vzz(zLCSzOe lmTm* v}iZpTFɣ9{h]fw"Ҕ B$NJu{ >dĩ-\cGO͎m@Q)J./?xS$4&_@acji' h\a GJI@g{O Jz_8&d};{oǫ1W`1 tj('e]I#<`hg@KL$Gl [xFGUO}Ri#xb`rS@G0~ϮvSm X2f w Ul]d4W.EK5r0LwKP/#VcJڡztl06;0; ̬%)yeKPRHv r'uy@8<>\-`Hg~jVlVGшaDco> ovtơ2P^r u ~JGo!7ՠ& d;#O~˭)N4&aaF6w|)J|򃚘ԌaJo23{zٹDi)/֖>&6--MyFNܔJf/M}~FJeghZlw gh/xNؙcx<([^=|X,@ܞkZJw1mrziNT}buW9䵒iUE!{"H^G4N}sfdTlz,BR\J`2Fkx%,ACMJ1=t9bflԽjlsef?^E.l0-M8pp?iVQRMG~^ 8-2'T(c !b{ohkgBk A˳D W@64fܸ=]cPL;x?.c%r^K{vb%WPW-6΃0!r?  u=4V0IߞW_%]!`n0j#DDDny0+h90C?qj@ K|*Lo9%|i8`9 v;Ox FS.[hel~H fTm,ULG,ajB zjt zPU֪*O0F@t.ޖ𹘖=PMxԍe a ūYӓ[en :J-%2d'Pi޴'#q1)>ib1,k/*bcQwL't~GUMu6NNy.WH6S)ѐişQ! yu^Ѕ-s>ܑ*f\Xe̞;ic]4dq:VX5:~wa&` 4C& cz]bum[~"su%c||={u_mcaAA2%^T:Pe3M^Q!D9 7Ӻ o Z ŋHSrSbCm>%8v%f(0!蠉Ha*_NI2+1T $ na{BFÙ5 Zf˳Pm%KDw*A'cbʟA :BSߗޔ1ִ.6TZ,0Ň[7Q`F\Д~vΤ xAfIa \d-GE tu"Fl}-?^Dϭphest=jg-B:`D9)OdMrS"|s%W>G@>-u^04p8{.u2 *`L(02 lwAzeʀaGv@uj#?s{t!2}gT:P)q37C'/Jh^B,6LÆ6"fXăm&QV:F7QJ/eƚ.Tφ +| 1y _ejSȞT[IX3k974EJLA |hFf{+Z8y_cWz(hM~Ʌ3?0o4Χaѵ/0#^gG# }TFJsz]zmhdFDiZ1^sv-*A8aֻ%(9I9ImtEph% Id k #a&7k <ِUfL, i92Z` Kc;­ u#꿽R KGaTPFW$* {a!X+0I6upoݗ=)V-ؗm[jlyH`+Xj%l&#Tdͳ"[ Ex!_HR 3XJhm)297iB&:fnbyXvH*--yjygN{BP~dY$; h[ +^k! u_ x@<Us{(Ή,(7Tq =٠n 719A3} [˅1b.b^U.Wk<ߞHTNyq 91+' O%mRm4 w Ow|y5 ެyxH̴@D߫y#MqL_~?KM~O0dCn-WvIOS'䆠i/8m\dE))ު.S I$ Kpt8LNp0^|3=Mܴ+K]ww֐w_JL9CߙCUtȊ( (!CW-]R SI3)o5.Er;B.jȞ{/o;2{]vtușSm \ҠaIhfC^E>25BVsXZ ="Oqh4]D<]&Q;m(rYa^5P~p-MqҨH9LLn>ӓ0inKăduZ.-." ^˪K(>/gu:V@0Z2r4i+M":.<pgLy%leJ!ue]ZWQVTl uji{l$JVIUi?m\Fťt0ej"$@+ZR9\A$[zCgNȡN/ i*[)D;%Ze(%ƒ$lE(=VP{JQh,Hsd>$WDL?h'*qP&?:KX*ȑ[2'BΚnBp Re/<$O[H֒ř]fv10nBU2J^߰TxK2Q{^g$|7PMAD#^=@Ffͳr7!ŦxP ,7hͬ~ID{3cx|S܈|̷P*YJ^WP|$AHTpռ|sg;q8jq. lD틲qiؔ%2YnAV-똛΄$Ms,*f)bm}+_a:ݡ`l~X*M&'\bC}m7#3Om1!2`[Qd;u:{Fx,g8ifrxA0ӡ?YnX ٶA@(OKH-6t󦘑_sLAvMR 0Ci,)KK6'r5`߰"[~6-cc*2xe[Od rm2*Պs_.!Jc~{T\O0BT+?nqOÐހ;ND]ux1VoJm 7$\\# pȝPbs@gpk.A̛wF v!AKt .V "(Ґ2?V݋L$""7am3,ڬ)WJF|pXT z:yq#0j`w&;qC|_e.F@J'=yIϞY{Ϝ@0F4XfP/]WF0MZS`9vԐQΡL ̵[w5rɥ" \fGL:z6 rU⯀hIB~?ma0Bѕ~0ܬź`az|WT !$LT ǓmB@ [㯊ӈw+|tb3e14p @2\aF֛1z"{8QG=wZdR֋h'(P+ (۹AhaYw0meo7L;Y&yuHgª/FE K>nW3iEqbVrZ(t!&0-o]s*sKaNh޴"bmaF5$6{wQP;{l85,= ua|3mx1;7M㭏~pl rDIM' #ɐ8E3e^/{0D<$UY3`>= m(CvLjDKl~Gͳz*VcC,T|Y ̸.+x7} h"Te)VB 阕S4@aLKE¿X-h* jK Hh^lcW eh 63\JSO'ECbu%Kd &{ =kQNLKldѾaX^S/(ۧ-7Tڳm/c-1*:]浀{pǴ00dhζQ/>u՜͟o8ZzM6on&IGaT%>]̻!LT5Uo11HΖ ncE{ m6_~bA/y遆qTbQ${~N>;pgj 2,Ale<@d!l]OKY*3T]1$GIvv$%* 'kH}p Q`̳mbG(Hz^zt) ƅjSG 0|fA@/Qa.g"eN1mE~$yꗋkXsl6pySq^4 CM8-/{C`&:k~yuC$$wŏB]|*zlyxDxDyH23%rO, N/vs8(bD?} y *>~Mîlm\2C7 & wu烓o12U7\Rb'auӸLT;2{[9SLvZ e5OT@ w i빕gGO!t)Ű7c3kBjm~'ᵇ$8|XI!G8U}<~ BXk.v k~|VR"}8-һxP>8SHHt,xz l 1['^џ|GQxPHcܕQ.; @B'v1~#cj&F6>G?FuVvA^ " vC<]U8:Y,L @3ݚWIL,zaVmɘE/kh,0M{.h x۰HFxfVI6sg,{~E_hHk:`>`Ac[w tfsavrgkؒ #D8(aE "W??2vD{%,A{TG }u|Hn}h?I|”Q캾Cj7Aa  vAP!]eG]{2 .M|!zB"ɷ1keh(Sfkr@(WOi#t#8} X\—7g#>S9V;i(\@=dXi-)G<.*:2"uF NZak[Y`}i3^a=ǢO =U2e]*XF29e"+kI"$qlꆞz4=jt›qŴR[M iɻ$?) ] A'ai&eE4tpu6a>@?H:@?>T~qyy}鋠#)֚S*3Tiܳ_;+,@glXUCJw;R |=ҮPx|<E=]$әaVa*A܃cg(s{=tN\n22\}ru2XwmơFF.5*pݒj@?Q +a@H:^`r4 k-XGU{xui! 2!yaD~I#YLhưކwqb8,PIıDq-h U{NnVoj]J&)]@_Ő]m6z9xq$8DKd͙h̿bѥ0UO\  aßg/r =K_痲 8F-Sn'N3|vgMb6~2W/re45j찺j5m ] o8cgE\HدtF-<|c'ͪBbv0n+?l-)G޹q\ܮp+QY%H\o$GiLH#ky^) eb\0cڐ{GiHZE- 2f%յ&^S@BQy{JkL̦AGeNvySmu{?n 73@~6:;7ܸ@ )\A"e9fҘdӇT#t5&c{va M&@xY1I-t<{Qy8%}w!rw0ZU? WT }SBYόn 84;G Gq'2>%%ճRddMŝa:ʊ 3y~['K2#M(17%咀$Q y.PS!5&8^Y*)l*29,H#)m1 a(D!}QGBH]޸r)x0i_-Xkˉ ѫIl$$Ty2LDC3 wd.ń u2塯BpW`݊{BY> D;- ?Jö<XLYXq]Ac+20z>_21Ķ4EOMrdi p\æGF8P%A0]2uv"CY3n:m%Dܠonۋ1#kE^˧[+̃ ௠<ּ \IwIb|H2Pr7A?|*ɆQr[x^d /[)n9,OXG۪͈,wfbWHb]#2f¥ )WD.~+ (\x LFQ%ܢQ [;U*u s'.;K #) x8e-8_#<Hd EXcCҦl=_u~)H-z P<=B6_@XUjүp|weU drCF-[z2 '>]Ϣ%PZӐ#R}ѕQ,Ot9_j)-/2&l=#qwpZH)|eܫXS:Om /IKHEUnnvnb9]q3΃'#;ـWbZW3{ Q߶ 鎬}Z ʭw!n:2W:ʛiY}q5dX>߮Y g2Ӊ6Z}k)"u DtP(jYTfٛ60&BvV/ga#{VIE~dw,lه)]Tm4 =#R(1 E0 Tsa/557)}#ӤJd!TcTR%qkW}mIQU4.C +BQV؀RxZS (KfXK̾(.npCdƫ3yx/ &1dj& +SZYG+l:J-fFm'MTxҴWP0`ȟ=ГJH=&fKȷq'.S<+xmz=}TI`*x#W}P_Dm EߟCݷ'^Vڍ ϼN(~)cëMZm ɢ tJDyM!(65Aۇ=r}-p<ÒlCYT|ryb772"p/%\\ޟjE 5;vh/5ҏZM"zry%WrBz-$iϵfc4Iƻ%r|eF'Y}A5A53c /? Ë.ݰtǩ0u C,LiŦMj .#UGE=TmW RDߋq)-u57sBJPQBzSBs.0SX[ZA0jx1` $\C bHyWϘ#:kJ3a %:4&4mV]!TȺX'_|lk;hRQ÷x~%szQZӵ_Q#VI>jO6H~ `<#K@JNXC:tj/dS'֛dZ-)@;ίt&,Dw)ZʕzQ q9$wƘz9*FOW=a٩l?:œ{A Izj{=438ŝ}蛭 Q<e7:+LN'눍|Eh-9Tg8Gɓf/V*LNZLhHfuVxz٠/{]a$69ޏz%v^g?]I7|.=z^ dhM*/'M&nk*Gq%i/m'"WZy:56'%THNپnj9,nKrТc%@ 3R-XѫLi {YUqn-%/p$X>xUM#g1ԗ9Vst?OA)Sv(!'Bx  n NEu/='E'Mؠ _1^V0~1=2"0l6HՍAVtÛ:_υqeiך bX qDZԜ]HsBHSU[-οYz*, ^nvaPI͙/8t3P;RͺIqB'mHBix@zwo:?ecH0calOy@߿5R&_YyV#|E1h&+AYNJ .F 37YMi5X=vd(t9sPa8&# k~~𵡅t2('-'*<|zYԨJBU`X3o(?)``o@Fy TʥwZ *`0D:@IlT6Ű+r0`֫" ɦ?6aۑ^}6#'u](TE(ea4*$z)JX<=mcHwO3T$HÇ=^\*m<>NPm+]ngS n =sG?C(QO,HVSorw'DڹdY=&oRIU.3<>T#\өmwNDD^j?0絋TiOswjKAf]4؆N7< Zb F~n;*"͘8Cr>O#?ܙ (VT! %vNAc̘ˊ{9ICl.z$P.02ZE~U>50) n"hWr}RJ fxv(;E5/:J>dWeCr=2)dG1-Wr,3H bPb({t!g軘[D˶BZ-} HJD ͂v8~+p\X n~;8E1dqR֢5V5antC@YTep|.?`_;Pkwoj&T{\_\y5ImBՍd~M&P(^F_>+&fTdg;{h`@^)c7̂HjI\,_RI}Ybw+L_ygHufB1WHhqK.Ud(\_%rM⏳r-:jҿ3YW\CEatc䍁aOvlQS y&?}d=?26Dl]rSE*iu, [ U͇uꤱ&b*8嬍0/;%т2? >n 1%zmwm&e|bA7}?ǦYf~zY([y5d/jR,d&ʚVC%+6uL+s4OʹP.9t-"զ~s}} ̰Y[mEP A[4͈i ԓ_Cֽ7tYqN;y2j:\O ,t=Fc9xPgs/*a:WOӄ q1ů.)sT`й+ge8:'T1 l>BVxaA[Hm0]ݰA QlJ;{ZԻ@SDZjGEj/Rr[O6w@Poa5wY[,ƿUahEY>?|lN_/Ȟ |jO_\fLHE|p')ё~sɡ[bu(K%<]xY.CFGxMdZuJ-GaO+ M$áVc:N>Q`vG*H=B)Rq`9ߞQڽ9Z`hIВׄ+<m^7hAePZRL郡pH"+`X,X(HD}Dfo)ׂF""J *kЯȡJ Ǜ#1*o2LBdd,NH&Pk[wn_!&؋ZPM)HAK-'ճa_Vrq:8RTBjh6 R'U 5ǴMw,Xg0|[9WD?i^g8ҎvWD.Cs'2ہ;{4um'vQuG1MaB.D/\4CzK8DUXngǨ%ֿpvHJ"՝ݻۯYy++"ib^#MؒJ 3m{\~v!>vџ'PGNF]6lÉ \;pԪ3uoߤJ#^$Y9ㆸm lښ*?1Yl,C\(M?_tfϽNQ"N1U6!VIP K=oeH<$eqdLopW0į {K%fKUQ2KN0Qnյې FZ@nM'GLҝiV R`eR;M:C(| ɱ"M8)?6ol(5u߸T)7iiXjPQZσZޱs`'Kywz$#Hd!!%\J0,0 .Eju>UהFO*e.ykJ>F\EX u6Η1ghQc#dZpSf Ѯ=]su q ǁ`qC]YOM jW! 3ݸq~)nN#fA]92FfX4!~!M`% 'xq]J6Q_+4IH قu :0\0 XjumZA~8r%.kXB:usQ0Z=M:A35MegP@8Z=v,JmőEtaixc$V.Wf\qd-@0F >eMzEwhH Խ۲L 9[%k8}wͬfDFj| eI`8xSra\^qL,,qj۬"&4BM9Tt!G@h'ni^iēT/i&t@[:i (l&E ;lWEvu\ETUl45Ohru4ԔF"/ON[FyӊCv^EN,q/SBS3?sH?`Eu: κd3Iy㻂y8{pdj&/ڑ ӏZ^D9%GMG.?iߗ dI ph&>PvN^nAG%;\ ?ܩ͎/ı1 0.b +ADw~.-_ʱx#S&̆ ԋ Pjk*stt!X!v _ts[[2qyǶ"xiBJ>6NxeWQ#wi:I>}ARl bI^ݥ117N%6KEcD>lYSB[NSLjDT`sb%+MF4ZI֧#.IncJD%xWGItsfD0,gf]5^Ό92G=䎙0TD11<r\IV zwa } -f;xq^&p;*4tNڸQV oF`2ioHU%[:Bܸ*UA%ڮj.~Oră}!~dG*wKUʳ?0AKV=`9 ɸ(Q&}j0WADu"W䷢Da 1` cnDGC-wy`/oxx଑'JdLbSҡ7~;px )Kp(O;&El"Uԩ (&䵆}i:EL ~:SWL6 2q\a 3FJsZ2RfsIO\OEX/nY4d<^0''w`}y4A:βck 8H;G$Z,d&N02CZ[3RjdΚw/v9UjuyT I NFTKg`8aC3jZ\,il9PCJp{vJw 3D!yJ:]?wVd sW8m_]` gy uW =Ym:9+ڵUz.:^E^a} rwֹKAT8V w;q,ȁr'ǓA)9ݸ$c >ҩkN<Օag^~Q[W NWI7|`s=i5(aAVQ yL)?>cp *8&f;w%WKb4"2l^pQ/#3>QJNg!Q{#)6THi%Õ X_ 97? J@F%e 2D<]dO 1HWpw-$)\Cĉyf'uGsFT:ȟ8^;sUIV J G&J7 A_LT}SJD (=|vJ|Zv YzzbHD=NJAWC jY1yA ]xKJ?Fdž tg  |%;Q4o0/1P2i̢?[x[g ՏX& ʩO):a d+m(=݁|͑}VMPŸG G$]"E00.G:C9@~տ[7H&Iy_g4-?RMT73D  a:jid%;y.!0cqb,t2Xjyqoq[>tL9Iڻ_Ѐ oKz rJE@3K:ukd;tFrǯm@Yn|$K@ebcQCsm+Gyap!!+ N(87ͿD623L\p oޠ1x&o=0$5oUlKH `ћV9J 2k/J\G9|S( ,g8 ~Ĕ?c_dž H)MAGXn -X<k9fAg1\, SR ZaZ.4;qgS?S9wI j#:.RUβPH 2bSoRV,f8}Fe Mcޟ_HiOA@OWc . @?'?e=nbX T@lM=":s sT5PCovDK~GJ.ےx'|UsbG|aMTr;GgVp~/Jґ^Mj$`Ґ PիZe$ ٪ڧߢyYUƘ,4-E\<L/|ݽ$΅+]~ie>R+Y(|:7x~ް2ҬhJ Gq&8تsaOk+_D{/(z.[~;sX#yŘqC̫~*$xުe;6:wll5jئ?6:/~c;s6ԩf]8X?jAΒ|t:GL3Dæ[NjoKQĝz:ڝѼ@$ n7$kЇhiMf}!S\n\(^D>$n_K:tJ/\= i4{OC8A#<MpƬp k)5gP MRNzxqv7Nр5spkys h/TtF.{*vfOik# --&`u'|⼥<tę6 |%H}|fJa |YˬJRiV߭C9ʿfDB nP 2H72R貌 KvQU8;?H%tg ycxNbjiڠg\Qm)ay嵴;i3rkۚ`ll>e[L(lvQ]A);lNWG|d]#] QKm[]QVobS!e; sDoh:e&hb?6PQ녂*tR^Q~,ٖ65EXNNW!^Њm_i҇!Ab#@ #wQ%;:8O{X:#4$wXjlWO{mx X.WjiJpB";uߋ>]=[X- AU ~fҧ'-zFcӲ Ley w!]܏1Tu3Վ5Жx|@ka]TJ9l}||8 );$LI^,ؽ7޹m I&Fčnx~$@JJ 2k7ӲfN p<$pƭM2ꊘB.%eyx|}C{Ξ ~O{CSG%$[_(=XvlفwoGmqtM,LFI89T$S}kLڦp Bë{4o᪇}G8X]b<}j(~awq'HJlIf0N =Us*gUnU[T!hiZ״ɛة !TAAC{#"ITDTo$RWOBN6NHNqUn25iNx%6ծ;8c9챼.;NiT]qw1 T (I[镌kDZUۤ\ղ5IBydF'̳'4&wUҋ-B}ʌSwK@Ci2 GEa61@?oov{}%TAK'gS4mzwE%F j;(WcoI@ \iiͦzzvdS0iXwq,¾f7 2:*iuqei+bb[菨vkI0GR4pMt*"4œA];/79cvaI+Cی~Hkr~ւ_43eNa2 ^9Mj kH:F$wAL\_h Y#--Vݾ""-ROc%]aub$1vVIZo_2j_3% s '~j֛œsD@ H^-?i ܚ" T9?z)1e(!W֍ɋSQnP0hE z,DžIU{؃v:? jIFumAPu/BEp(\lH %ul.ʞ,HLPN+ +Mc;mu^xܨ-ir,iYqmSM(c=q#NT06R4:"X}N5lGGKȪv~{UrWN0iEtNr$!Q? *0`?TN-vvgуW[2bv=]F栘m[DJnB4\ê7:cQ(a^k+GD/a8b[вM%Y iЙ)iI AƠA9Ƣa#'ۍ+q1S't'n9mlMR״vdGmЦr1&SzSF)薻Ὺ]=¥NŲU\r c3xVcDl: 6CMG:GL"_沁;Uђ-=~ Ej]žletաEIaRMڱhx7fSǛc!ot} H˝-_cxb?{Hš< ky0#\Xo&,s6$-?138Xa l!@هO+>-?J8ѺTjU0%og!zez3vϮ7Y&cV2GFzLa'y(]SP 7*w BӰ_ Nܟ9]V Es'l!|*kNr^>rΎIZDr[$F25s?'iabD x ཌI(uN^r/mg%%@O=jb3VU220I7wxJ$k_[M 佻Ig2ܹV_Udk-KY%awK_bR ye a\?uI!|Py^4$=\Ԅv>] Xzo bm>? BσåE~YiK|v 4oƧa+V`1f4~&4nӸ7,?Z(I`Aj=6Eo(+ ;ZKv ѝ5*6J96{2;n КszY3S g=o$]#3Nöސm$so5>/C]!Ps m17Ӭ 3p7K_B1%Fs  \}o,LcP[^;3Vk?Bg(P :v[c9.0;WEbe4Ȓ-GCnoōzb`-+> FM}6-4IJ1躬^$ ؞A"@܎H#v @$/%ٲa sb3!}OJ 6pHiw4EcLw}K5]Q+7;"YbZ_<5 ܀+:ejEшG/1b'aR$;`0Id3Pfd=I'ě9CiB괊]<\%թY6ReW[XM_vboWvڝ{RA*RZmŞSD)Me4[QNuoU.) [3ԩC݅Ϸ[X0_sy=as!1opP|Ԅ}'Yԍ:%XbP*\ruhD<.Wd+mZQw5AK״aI`J!r(fB໎N=qxp˾ko'2gbâƾ5nt 4|".Y\u1qa [kvk͟9%qAJI7t*QӝEvR'%]K"Q?&#rMZ/3ICmMCm@ D6T\;'c ѐ+pb u}1zl4`jY]2`j53-ҪPQ:eDʇ{ZdHQg‘qf!YeOA;UQwjmUZ1NX0N$\lӞ杖ocmG#ގch%?t&n@?ݣ];>3vo:(*/1pV#Lq.{#?*sK y=o}QؼrWW9S2Fԇ~r:ْw oG Y3/e yVNDf(>zJv{ q2ϡUWm;1wxi6tC]/^),Kgq[_7@]"K·ad`=)=f‚_zlO0,f"_>zިGJ.U5; GZ)CEt [kV#dT +㕤)N/ _ۖ5='TqWZ$[clPT*C{7!7ʸyיN,$ kKt]Ҽ]+˂IW\]!vqz6$RoC rB3;B8d=iѥ:WϜz#rðWL-F~Zy[\lbq}3*~H<~V~”lK9#)D:%ӴGC1o[N疦ΌX!/7QT1Y0/6nt/,4JcU-egᜫM˺V3&h}8Np km͡~! `2](:qK( _[CxcmPT%^닝Yw">f83i؄zPO.yrZD8-%O.DU:k7WWq{͗zl|;Pc6;Y&HQ$EO* &菢/uPC+/UMA1^İٟ*Kda)75A N1@ ;y†PK7Y^hɝ a]89Q4ά]1=51''#b="s%k#8񱀫c9bǿ<*,I7am*Nn pՄu>l:EYZ!ijNoì2=Uul.閗O$fc""*KiY_3omY?i~KÄAD621rǚ<vv, tr B|-: oAn0*B+ xdX2 ^nCPI#UMfLފ,IIc aJ{mEN)DH/3pf%o: `,NuzB>? t߯q|GVG֓tg˷oRfa)}j pӱ\,ߖŐsΎeMo Vvޠ-uv#E< ZO@uQ>X CԦ].BJOm")hRϹ=*j;J;3%mP9$[DggO^\z~ Z)dnkشnH#Q&i#myC{T G3,#t'ӌV.8 n Y/#VKbGuo.\\Ȥ- ?dXr܆/PlYlR1kW~q@7mT6&$ĽW;u*93U'l(e&ʊx# ̢jC*CY΂<jMkOz4#oefX&Z':r1/b,?Al+~rn |'_$CO{'@h5?|l5h8Lj_]nP6IXڭ4Ǿ$dJq ilh Nol5%nHL$A-b>xmfB'pE"*/*.׌b239NC ;G5U!7V~תh0Q,lH`x,Yfh^!{ТeKܕf@?pz/f vn/s\b;vzk޹0H#d)iIf9g@<> YŬ<k,sauE5dSގFKsBs /iF5=UE/psvcY"O;+vEj3R#҇NBv^4t~yF̀pkpzZ:uP8]iG7&K/ՕD1|Myw+ QDi^`wAa%$O.krc!ܧq<ބyew}og5bJDzY*xgP믴mN\p2?Lz@ȗ^QކVEl=1<6&^tA!,7u }8Vև v, /0S9Ax 2 ݠsiL7r〈IgK59b4G»/J@=@X- ᬅH|Qn,D%푺`@F*:<;u؁"j7菅RDh5 \ sI4^gȓ4_BcGr\k?$F`9p5؍iѪ hlA9QM$z C^b7-`N٪|S@s :U2 |P }n#Mǘj ţq=KlSo$}> 1;h e'Ϲ88[Z$TCNF$h)>jNvdnn^]fm7~H;tE]-t@H_guTɷ #hSodVYA8I[y@(cO}pd"}4'%-{nU_ʆҙ˫xts,?$Ti@1OiR]|7:G4CŖw]4Kc9x=' tzE rKN#Qp^`+5}/ˎv-[gTFBTM\_z@1M:;m+mYу#ϕWbw{+ 61-fn7 YEJl5ra~V3LvU4VGiNhI/IbT8.&,OIQ=[/OqJ?*6g,NX5׿svь&#Odg|0* rC8EveG;;6W_3TxFtADjU[k \#NR}aꂀ&sDF4OXdqr͏k?G}$!MpSATb3w%mClԙ8A٪(-g7=}sK CD$Y*x OHQ[t7/+;*hP=ÿK@>jRD1$#bڮklFb[fx-ȹ8i~ J!xY^*>:6mu5IWч 3ݗkVvN6 -u4 ~}%3T4fX.j *Q<*I_y54f^u%0+SH/J_2Q% A{#g!^.+2Cv7O8<Ȕ ~!Mv"Np`czu|QYxP]uF@B!$$0KN!x^\27褷taʶOdйc=}Ԝnsɧe)2V 턆gڼ@uO"FpfUDo+,9ԴRXL/rLrU)/tUi/fRYjG_3e`1@ۢό HzWܢ06OO']10[0-{/%el`!E'E!ߍ*٣RQ#, B0k~ (k$rhucn8.7 ws$~|<L m| qdOJF$P呋* a5Bʑ妛me%jRL;{,TFu|p7j;6b'"w9ae?ޫW m>7sIߕi|Fm p.ЉUZBGj6eM=E0`fB=zПތ `r8jK3FeD8G"0t[5f2WXnKZUH.06'>ڛMٵ+=$3rZø/oMՆ@!Wbq\+@oi0 .h:1ӚLGO:S *$$` 3},,[knM [n8 | ڏqE19s}}CpI?3I\ÃU);fSbF8qER:{z?TvN<1~8}+{S\pN,A S69_M5ҀΌ/-ƶ,^w{c]f#UdDDYA _w-N^m\eP5.3d4JG#jBF8,g xy+ZB I2X$K[+B hfL!t_Ye@ Hߡ7G(ej_a?8@py?l]Ym|^X"&v4|9nm=r M4 I [Ԡ} gd=)!+H+23z5ɦq"bJxR(l1pQXЊuG~[t(Z nC̜J_NIA˫c5#k.. :}8M-=_/](pb=L(0S xG>t!J4W-Y4};^;R?W0ug w R!v|C[YN (r'~=vzFO>6- 9+a]`h2$}L^%?~%\ҩ^(~^ʳz@)PQ)h ݦFCQ7SE[}\05$rwؚ ESBVEVGxx:A]D +3ksF;8^55l0Ȗ!j;hI]/Bոd>P829Z[ VvtN!l÷-,Pe;/B-Qő/͈$2cMeO?+cXX*e 2ц#sA%%]-B C fZsHkJU1.y7{9Ǡ e7^䪳? Fl-&TGeq^Wkʤh_@LÙ{^fg]e.[J7:On3|:jK!%1uO7 :H `]( ɀSWBuTb܍7ޣ6zH$[-~A,M$IP2uC ٟ=.LGC!\^\TM0u\h=%꧍_=16ȅ'fjL[(dܘl796 ڜBj YzLP#)@LP#}4EVMwvx2k\+ Єeէ8T\3GM[Xwuft v3fv~`:EVkJ 4J &+rz(J KVtgH,N> '܊ͶLy%7F=j'Bsb]⌑[_fn/G2&\Z.]cgGHz%p%`lII{QMA <ٌ "bc`#Q\=_ﹲ Jx;Ϣ/Ҩ.!ڐs x6O= O,QL6'f˴d+k*Ӕso^7pHo+|*RS3ٳɲM0V>8Uh%jf3^61[ޥ(%{1ru|6)~멘Mz vl:eIhк GFhRhi6`7DmY鐀)f:A'gyLwcvy=3^XM k\ֶ[%YLYe = "4K -^T#Vٻ1GT]ҹ@4D&b"|"!xː3FKs{.`<!ַқ=:Q2\fs;J؛Vpuc+o hj<;Yp1 gwasiCKړnW(^uwgԥj٫ I}>.{x-2of\?7:2@ ԌQ"M;ƅٵ X5Nϒ)Bt0 cCWGjo*Q֜z+ z|)ҋ/ıftB`ZqG(F09!Ssa9R j ;5 bȌz žE!"Ջ;C&ņ43kN8p87uWacR5 Mb[-h >l]T.Kz|5t'LFW%+JS|?r`Hle0dxؠkWosv`_U) kO c%O??x{`nf]ڼ^a(y]K b/ pMn/;B-5x1b s#%EA't@Ie,K#umI|F~,9UGoH #!UG&5JKرfBeعtxy?g$GV= \?rٮ*&p]K7(PȒUVdv^{kE4[Xj?Rb8^a5Mg2> ю?Hq&>k{h3wާ|Z3 H07i~؏ġyJͿ*Ӝ2KY\]MtI,U eWX1d2:R,I%.L㗈3ʚO8 l]W$,L^7N;ڐ._4]m(H׮դDv!wKR01AtoUau3)Amײ zaG4+#3^Ǧ;!NwT4 B)6?_A1picQ/t@/4*$MK کK!{fž~b%/0sk+WY1*Nڐ`7-=&5٫ bZI1_nR'H;pa\1ڿ h~9c–E?( )]cjYm_} \BXI|'a.$|X(^]m^qV@Iw&a"Kl>@Ig:I W5>Z.pm6 R>C-fFY׶_VUsc;F&`A$b4o9#85[^2sp u|=&%w/pڄuO?7?Fy9w)huMSA9˔/$Q/ ۳"jET=C5z`නHdOdWnI+0Bܬ]fC 1)0Up[֞l65e]M>%#nҊq.ip *=IӐA@h+- }P؇|fS|;Sl6eu3Xv[j9vjP'+Ņo&ƱlV.OYZsKG-HfPGXaZ?P,j-*1L@KX?ԫGtHeÆu%y3v:B~G\VXO 55,]?-oi43X  )-ef44l_L(!7 䭟&s90cbҢcP* ~\S3\|f`Z089G( uqElQ 'rBGa0oymt@pU!I~`->s~<0Λt̪eAD '֥1Ƽ)QqSx:B#;o+ n{I H|5l--{_A: (||k{Oq.cr]&>y:`XeAQ! knV ! y^.x܍ݼU.p{޽E5I>+{ZR4B%b,(}ƲA}B>ߡg]5\üZXj/*{e#J끄;9$ ![k=R:܇8om㪿+t`sټ=^¦x$y/6UB@|7:ˈ+Xu(/vYQ伇u"80sEhz aOƘ%-%2>]Ohz6EUr{[k<|Do-x-OW<+B!@<d3ëTs l , }z2+6'G=N>d31#t]VYuH@ =| fv\a_=<-`azHqPD;A{k#Sq &0Boa0{jrc1%j1jzC4+󧬣BHYTr$$obㅁD?Y(WG!Xmse5+2:WU:ɀ˨rіf;Q,<,zvA\&֡|ۓC3ɥq;9nPpYM!hoZ:)Tѭ\α9 !Q6eyJ}N3Q7"w]^6F)n߾lvr!"[bd*mU,FVAUV/>y3ᴏiy'(F:f f'{ D>Rn#ƨ ^(| R"_"}Wa`bh]K*r#Ozy>JD8|+vMΒЏ(K & fhN !ӽ!}*ɁRūjS~pS upIޠru#:{ӵS9g'}BBX6R)AG g.+J+ WJ)I$[X2iq9"I5#URs}Cm S%OWs".e0Bh'*<,x/6vV ݯ?^'kF{ܴ$Fr oߠAh '_|4B*aϢV޻\D*E+3cq H1ޒ>z4#ոyg\'Ams^)n 诓Q:kԽ[sP"{u+LD??j;=Z Ҩ[8QIK7f} ۑ)*f|iUq^RZ{NA'hV'm֥@3{0Q~}Yyc/Ynbb~$4jU5V8*6#p9R >zL [nI)LJ\{4` i~r`~Fk<UHD< |3gΞRPݮHΰLJKe_╠β|{(pAI&F>Ku!Q2s@<eÔ1Go_ G ˤ j^o+H@"@i%5Eph2a<^ܽM'fQMB /vp Bp^{ TiHIH=9Ea}>J{2Q~9_e_ N6_PJd@ ^T (c)\7} 13$1*SjrCN6lGhkcܳ^+VQ" \3bΝ:}B<뻄wDC+kubl'8x!G =5}'YE_>@UqQ^ao#wvkLcjEt{jѰ%)@۩\AG삼 IQwI]ISeR<\!+4\Rw00}?;u 8{|1IZӨZd* R+`H"j?P-y 3xT` hmKghݘ "iv @ H \ È,C7ɖCg,r.xzZlLሯfBrJ  ("Zә ޡ:m59[A NIAz=,0K\-CuP;]8`ѫc9mT)'a%\0ԏ4v)CM),Uu^=h9gK`eHnlܯrjefTA9uw/1){3,aj%6ٲ+FB{_;Yҹ0"ez<՘ߐ,;b+_ l! ]fquIu3KٽV@|*, Ii㼭VӺ\q"y璉6XtZ為Ǭb=x >u>Zǒ'$kMEOl -}e6IHcfx: Կa KpD$dt$`aU#* UPA8sF\o,\Buv%Vg >BXmbH+6[-xNwa*}6'NA*M׳? y,wٗP^E:^k.G{y0 <*;g&7BAI) 8ߝGF7:)2 m՛iƯ1Vgn< .)[Z8!L3 fT@_{g/<_A)tp5)$Jyk#~j~¤&8mfzYvmbr G-!/Q Gd߸3R;1doECJBX>g\#_H&WUٻhZKgѐtLTg;.mr!jΆy!gX*BUNJHk,K>_cMQ2H,u!|h뿦)*մ2 F-o&a^#Npw+[$~ >KO mHP^[c<`ҟGXI"vRXE mJhԏw}^:AYV|=ג|@?S$  T9 UJ8)B‘ Lj-"0fA}D| x=W0\bRk̢PDDtWSyA2|}m%ǫX3U订 өBGꏇ#C5aPZ閼%v|X)i6X/e*iMp}c!ӰԿl3m듂Fdrqe:g6M+ƀR'ky,H <גlFc0-%tEF=BV<6nk7c=ٷ~] ڜʴ|b}-mSSMzt:pK3[e|VMDԶ/T'dYnKEypOeɭLȜf귐v9jD*3b >-h~,xWX)j 6-(m(2.'`ą$s87&j$Q' +L DdkgJQB##v$z>t`q207C ROՁ\Be--3Xc'K8! 濌E.|oZ~?̮"@KE k=BX eTFit=9^6hD2.jbܫ%*U0H<әZJF'Þ^cM0 sq&j%Öˠ$\0JG*je{¾ݟ5)ft K=/{rm}']-'Sk\|hT0 PEdr&V,\yñV,sZtuEK&9u9+aw!,30to*W;CX̊QOTEse$-N*a [:M1Y9gBBL`_*Tc4hNyb7 ۔A_ɀgUZs5ζKrMW0Sy027)3sĚJoO$kPtȷ]f-[Y8[7)/:W!܀?Mޠ4{Rb'xT ]o[-F睨g?.qnPu(_{FNzsw:`3T<%$I{i ~YJ7~~x3~hsm|߼)S+׎( PDK8&)Fxs^HzYf'63,#+ecu׃{@Yb xH8v6XCDGKLx"mֻF* ECnB);OXT[w0^؈#_ SVFz Fjmt!5/CY>ڼS=,G'$nV*o9Aӧ5JdH`}lý^Mz+6d8d"B#j`tzrȫ~-MaQofvj]b>)8j"] f: Ĩ:n+C4hMEuu}w $Ǥx]~tcpš2K CVlj!OY0n9@+?pX[s/ݍsy"!j:?n>>f6^ߖz"AsHC1XyvL1)S*~qc?jA0I#sl. 7)GVk\`aa ʢ!#TY5KɱN@` Q\Fv9d{fN!_:J_1nMqWp쓙M\pKb.W[Xۘ0\{{199aLnпY*BR:XGK^;9..j~Y-3e/nb9!@s(&nEEJ`I`?vU%OF Yj.>ZO`sXb}6 z 4&B!=,lxoAbF*!MRt;K)V1x8)T!P7"_E qOVʿx`׀o&ץ~7ЀeTR S}(xa%(XV8tՃ.R z']RYND S.أ2+,@ZN9¼?F0) `>YΦtEԸ^5 3`Ɂ5. RHSmHugr{@?wX(MƺI|U\qi9Џҋ?$޵Yp*:Jǡ8cl5/ÓC(hVj˞h|oȌp}8qWT*_W![ΠN 99m[4 %M#macQBA[XGK'ݱUtd’)eEUsm9:vs:hNʏ|#"O2aZa\Ee5<GWfo IP%mY8z Gc[Gz^YO '7s7qeSQYO1֫ IOݓ3Gi"D;UAuqQ ^N`Rd@hٚkiMEDraw_iJ+odcCH. Nw~uoNo6`u7߸F9li\ vy#)T^vԶ>R'KmyȥƓ2j(`w*d j*B<~-T$KzEAv--v@PF̏j(R/~l+ [͉1HZC^I5鮮 D p4}K^I?psQo;'M&\=b2\qErJGg<dݺh+D͎ǭ<l2~Cd?Co<'&V)\j6<{͞*'/خKyo }k A3*c:SZQtIam%#1XO^9Yg=tD|>Yn}QrQU, ƼVFwc̫>~T-̟cpW FyryU&Clw5H͇pⲦƪ˵!`$r]^Y-my191ݿrd 0aZk d[ {٤&y%ȱgz`43P|xJ̄5C(xy)Iδ%VIyR@e$*{}@'`i?yxS)5|Cyb$&6D:5ECij ;umn&^4X Jf}Eݽ>Nfaz?4j2J\Wޢes`{<״5ƪAh5MɍU uLa CTx=#TrMm_pZ<˹d)eYmへOh9qw`Մ7괹I.7k@CmGfAUcm"KR3O ,B`joQri赈5h Dd,F"\[pCs B0i ;6mDR^۱j>{w-y6Vwq1x]cJ'+5<|6\Dto>c|k5R("p(j[ ' (=5zJ]@Yܸ X%&4a 9չY~ ? j,0y}fbD EsXwOT3úhe6W՜,gIڙ2 dz>Z|1](;nJ0n\woB6`h,co<8XoeZ|XEvĞㆩI^EY q`a[J1WI`M# c{|͙2]ö/_+l1)}|tI)n9Đ5U'x>a_8BW~KfU.AZ:Dn< y]$Q/0A!|Cu¼ X֔f} E !d_m7KcFtD}; AZqE:9lH 2?TX:N7hdd0<6MmMUc2zsF:|&tV~) J-T0Q9 _E3s5#YɒZPc^u#Ϲ'L*|XYt,I')iJQ.X$N].­oS4m TD4@tlY"8Or\"N_\T_I/Ez+i˓ XݏؓG ^n$帡y_+U 'GXJ֋vovE|L9*>l|qϴA>؈܀ 3ȉHk6qkЗ_\G,V54H^{ŻzYyKɁӋ졡49&Mzż1a-}I /4 Dה3c^$Un%ùCi-:Ż7WFhېz[h|5CHC[Uùj8UbT_ELnsjwaz='-uJo}{.<@0>< Z#Be ?>Ht4b#MwV&2/\ܻ?tV*|a/Z b> q ;ѝJ&-*Ջ%a`!ۆrw"\zY8,bR'esrM-$@ })qg^T"G#q00yA ehy},1݂ {O5 Ogƈ@(0Z/|("@gc5|)^ Eњ_6{m #C$.z,& ~ AT{uO#5:Dz÷s%״%g[O,?71L|wt&&*ØVsd64K%$!}yPh >ZB@cNm`@R4 5SZpiҺ2ѓs51uuh.do O,'eǍ .MJS#F(Lw:г'L ]&Jʗרq\s>i~iR?*$$I57KRSGhoO®Ⱦ51A C'Z`[ p ($_kZް(~SRUs)h6<~xȐ+x FW)Q4S&=0Kjy]PuXb͌-_. m?t{{mkt11ZF7H*Q= $`W0E'ei{TQ=Y*5HMGb1^7=EĻ"qb=x:oJitI1?{mŢp%iM2+Q^"yI4')íeAXLjYh5 .sͶ\4ຖ,>IGbSۑrW'(VOFQ6(d(5}+i}:GxA Y%ۖ9ESWBkDB'!)@22Gmc.Kg_,Џx{RMd&QUX#r(L"/S腠/u\OMP guP ޭDQTr.I}m 5_M@Xߛ`7 vO1aq tТ:~ GDB >,Yr}^tZr>ȫ޷}5h9XY{' -' TQSlwyp[m6Ҷ..SkQsBb &nG̀%Y$p͸*~Mbt ߈?aX$bU~IB\SOUPOxgtDcˢӤe0oLU ~b^<\jJr49@L<xRJ|-':~"LC *JJRhIhbCP,ygjkEvoY_(ʸQ{o8a*"-Vs+2DsB{/i_7s҄oAo7pML]4QDB=lAٱM)T3t8bۜ`"=ik:}usyi5d%LL+!V<_҆ vqpk8ӿd'"]z>B9XM݂$:]~҆M>xěAyƚqůqJjJJg9(sD.RRXH-cg`R_zs7@}Zj9+Ozu\t.mtx=IQq=K&coȑÊ;p*ǸQ>(ؕ2%hM`1|ZSEdt_waSUo)0Bf/xm=ӕJ 9i7XQOauʱ 2v|7upBa6TWǭ@h/&-i8_4"f5= (kOx OST[w1p.1 v2c[向L_nX= Se+Yᾧrj0 $8Xzcћ)Hy)vk$}#$ٱT>}u{$de #ݙ)_=%\31zoE,$r'7&q6r$\3J,|y) ț趛LIf`m ʇ񉟫NG#(Y+R1 D6rqq][A!^ ֖+6i >Wkn0O!1&71Ňr( o,MljÎF=_l~n"T}NTKefzRXIh\>I^]Q-MCfE[F}-PXtEC }**G@> <>!$eFWOς&.!dN'X~bVvIf -p|W3a̶Vڵ ߗR@az%&R鼺?3Xggᶕ^_mtjV՗27tdERU>j9iRXo)+.4{'ͰH+O4#GInW3H ` mcT 쿊T`D=uZ$3oKz$?0FłP$*5eD zoHryBV6ʜ ;Syži^G(;>8UOYbYe4} %04gl,+[,G/JkZ~( m,^RAiu6޹ثSj.R4轋W+gL_:, Kpd~(5[f'y.5+GKhdM](蝺E m`^w -gi) B۬pr业؞]n'3X־&B/1q=٘A ޳I@%ZA)( s>_~$!Uy@ADBYͩzuZS-@Gx}'n61m&a3@Mi7EnOtQ 8EobFyv\mS@nՅ|s!+NϬ,$>^C( L5UҤ;0pC}yL‚8Ḇ޵%s)d7zUbߪ?v{ 𒻠 ۠(ss^do)h::W<L@ygA' -Ť)?a5|Ϭ1evø%/i/=+{2Y )_+#L,rLHyEZ~0;-c7U3hE@<ʃMVT9UGBӷ^[B%݄Hh[ l/!Fjŕ/})3|ؘt$tJ 7M x _z2c>% :[7F1p\Kۆ~Fa`A ,3ޠy?Xngd z 'suCzMi&L rAz56/QETzJ쨧J9,)o3&8oZ}ftҹM۳8E u:õbwz:o,Ji`xoVU:΢:ݡ5 t?RJ;lզ} -@N6ijcIR$=Sn3pTJ].֤m H)3A62g}&v~f'e*SAaoiUU`ɮu,)V+<]ޜ5C?%1֦~Mvu ] "}~ZnowB3TF\4sL`lU"{ngqNLaKՍE=߄kֲۻoIvS~\Doc)n %ٽ ʵЅ,"Y)p'&x=D.^JZ-dW]) JVXT5˱v ] 뭝Os^ڗDkTI.k_r,J?{?CQo;Ԟ,֟Jn5b_֚~l(Zt܀Cdv >>g!Ɉue&ijTj5D$޿uNNpW@5 ./{; 'hLb))+v1M&Uc>IKۄ1 L毝-7:K6/}*y|hIIEey@.@Lg4cpp!MD}y5'./Lyl_M`r>E+? *>#5 k]ݒE3c~␞b4"=S/gXR2TTym# =Uf:;1=Bj>y@a搃!=(\2i @R3'AkncpnpH@huEscWtQ0 YƠYa'O&eN4$%mO޶V]EaCX-d :8}%s.m׋])87N;*5@!nɍMq?=Jb/\]nJYj+cz BYk\U`V_Yh9pw}@vKͣPDGY' que Aw }S~їKsL'Bؤô0\h CY:<7 Wl8Cz-6-h=lFAz{]MtK%"#x:>h}DpDH`[;"_a?YtlpS}yz拾.DbR˃vOYS[ P_lhll!ָ«R9F {jfVq6ˋtBgh!Jhg$45/\_7aY TKCy\"']OqTSnj D^ob'W^h)03*Z^GaY\_djN+]Y^n!@|oHBo?Tq3 g3thgR~`n69WT]Vfz(^bu2%.3Ar@8iRs3/H +(a Q]Zvqs/ Y(= ĦQ<"DsSqRv j֔{c!Xv[)-S@U?I^gjG׈SDTڽe嚎P~wq~;X[TIXh8Sgz tѣEM< g 8ҭKG0ۦP;4Dmנ3't-2?ndC8kRCGЮnĈxa܅f<܊H4!~FrѮbIT%~H\cX qOW8n;$m2֢%eS.V;Iw-z5J[VOc7| =,ͥ#G!/JePBXNH?z谖>P x)b̬QH9[M%&ހpjЧQ9t~ _|[ `ɚIQHhu8cAoEQUbx__ve/&6Y&0ĹVى{!{^TFG CGի^-`X]?`ɹ6E3BCۙB+FQQ-ӽ6go\ hoxba0mjNEƦ`WS M2ֈӸ7 (=q h1u~P}"|>m,f'|` lU=IB6'?k}.HYaܼFewBcPiE W=MDGߦPs;0[>4$)$x­'`Ma:6ohL iY)cye￳0A2J pjk˘H`IX2`e,,O|Щ_՚Q6BV~|PtAb+EJV0 ,{q.gn3{,(tysƈF*:8W/>0c#4 jw{AV$Vt.A؎{} ƁRY@6@2;񞿛XHBDű~QVBŰƷ/)z û|@'fSO1 Felo>o:)ȩ5Qh (HHaKQO:$. 9є Y2=[$vE}tn,LCT%ʞCJfd\E鼗؆I1È ?!M'?oY_o E; o2gO_O7l[0۩ 6pOm (&]GKbW&)E :b^"nSO;=4UqBqRz԰Z8Up:xڒ-CT0K 8`Po WhdK>n~iBz`xcFBy>Jrs~A|d>ǧvU{Cxsu'\(c׃}뮹Ѭe'O%Eƞ[Tm oG~!cU({stFLx DXƒV :1M^kh n'r wxv"^V1O񅘉#P=ɵf?r1$^?;sw.Nh=A3J*;#IZhU(¿SՏ"X>S)ML1!H*&>/0:?NyCFNhmjR/jUT}>7Z|9O6LW3dx!R1#j%J˄㈑DYC#%ti%^pDrCO윬bug rLT0Omdk͙t#ȺA&k"gA1FrWAzwscC 6hI/W,k]#?f7PqĢJvO ,0Ҕ=:]X,ܷ>$t[ 2!)6 8hC HCi&6RQ74~"(=3JZc ^tJ\I~ D GJ\aĤ3VqH8/@y_Փ6I @7ptm27qVqIA?3,iexMPMZt;q1.$zD *Lk*O]2#>!QwB໪ 3US}-A}ͨAl=B$\ըz#ws[ϕ9]C[& {zJGG_pyﱐ3oc0L(pz=> ?(p]JFkxIJ(ЍFH1(lǚ6[C/^>Ee}}_W?2s c!f J5Mw}BxT0|s*NhSng숅PYTXa|>_/3Lhɨ; vNg]~_? C1x"iDq7[Zi ug5R:[>E]aҺ3ẴBW^ރ].q_([t4[V=e^|ˇ*u}TLՂJWU좚-ˊך?,]2wM[﹌t|@qIsۛTwWn)~r* l757AӼ^B#.{,+F*@jnYSL- H A)mLQ@ va)dGB3%baH lmh?DX tMl _ԭ{!tNX*`Tw3/o"S$~Ys + ZŭQ¾KpN!vHRfO|lC@]BkْŽtE[l WMj`SMh{Չ:#_ceى !ICd[0V:^ 9(XW@ɉ]y /7;7:VmK^ty<κx>H޲:8 ?3+Xb+*}bXL709V(8O̡[R2 %ps&V o>Oo&} uKNK!J|/*~Q޻4@Fpqp#*M߻EIzb{ d QxS0v8߷JՂ2O(nZV (<^Z4j}_j>$-g";ʫcg;14h `ylHW!W*.dv3 1=*#U>.^n|brM.@ * m&68ZʘЎ2Y-Nԟf@DrTdSX[cϏ祯EV/03CB@v[<öɬ}ijr¯_m)Z1̇7ȩfpOmZE^O-Lꮕ>;&ˣs+lX+AeH *)֍B`Ǧl-~OX Ay"@q!ӿ)1{.5SfE ؒ#=yɋe9VWRY)ƈOwG#T`z Uu}.tRIi{G˴vab, 9t/vhO֙6Ԯ4z]nY'XCh PV;*( h$i$(Mv-Jv }1c{E9BԲqUlkFx8EF'^ȉW5Ĝ#V}p =$B`U ܲTDH0k JG;,1A5Jb͑yXv5y/ƚ4<1݄$aנhY0I羛:z*M$iMx7电1+Y/t2_#,6Qd2Jk0!y:S}Cw1 FUmN-I7:6ԕ̨GH2Z]{-N[içUw3Y͂L&uد;z cBΜeDH'ﮫP37R֔x4P./8&^( -vn̢3§1_QT*DE_Mr\1k_[OE|2J/?z ?~؃Pu+S'Xj_5o/P`kAs3aq츌Q엘r# ;G`vXKđ;]oJBv= yMqY1xwG{CƧfVy˧{c੽䖂W'/aKf&|4(皀sdsB2+X+{ae}a .L$q{~3 C1N9g4yK*N 4G?&S26M;wFyT䶀ߢ"߲m!;Vg7+ӭVPAz#~Zb0PLfƈ۬dGy5#0E%}vCagzXZA=Ynek;`w2݃vKcـ$ĺ}09B*OC*VK>RA(qcybc=/SowBdJiܒ>!BYfs& "L'z9fsIg4?x]q(|Qʤ_'7ڑQa}BFU9k 'M: jFk笧T>`n g%uvWl ŅF#s:Iؓ7HzgY'CNGeJe05|]Ϭ,9)^?ץѲXRIJӜp;8zыAT:N/N?7CBl;5kEW6w뚇 X|Wx-7l2o_vr}AСoؾα'<&mo͕#.yMf&&Q72r|zDb}WJ;gm-இe\1hBYJ"+ #Fڽds3vҕ8 1uMMaX~oap󨞣lr-J0깑JleF?TӢðz?vyJE@j&rÒ_⮢ 6,mgWВ =?.MB5ک&d\g#B&dy{m0K+&^]/~.)^IW" G<8o NS ![Y$^ԋ Rtʹ_̊.noWRE8DK~';+8v8BM-9.Lv6Yo7`X(!e޲N>>Ht}21_!J4GN9&YFrUFnK֚>*1So`?ġ%+VHV >f%/J$@ݣAj]o\Wj@.Ƭцis$O 2,P. b΃MeU +\ k&Z ˵}\V "`XAyjΏ9ĸc3ueAX5X*IlH218gAh,^i,Inlѵm&Da̒sbB:ځ+9.|OQ G;nB3C8XJ0YW`FjRDꌊZC R@wqݔڃD<#ز!3#x ˞GSC{&LvFT ` ѠG=TaWh/MQfW'|yB,$w`B~wt/(Uz 2YQSڥ7=jI\mT qk<|! wr/_V[F\u 2Ypєѥ|I.1ADfP1 yiEgdܐJȌ`E;6WL5S)0tvy@XHSlۃ2I70{R7iVv8k量hx8YW8~uw.CPz7jjbe;tQ)t;ygJe8"e}J4cL VFO(=^f`RKFquqSmBcRU۽PE?Jsoz"XQcREVjuzHK6&FQ<>,x3״F`&K#oz5Ͱ种+ੴz4FqWA!\)!X25r#>ęjIBN,Xƫ=z8 o|5 *Tj/JJʀø=#;.V$3v!r!9kɯKtOMln,8UBٴ/JYZ5v3y~9Nerˣϊ-Nxuy#+D#>0>GRh,8+m./hg oӵdދwɤUfX1Bβ݌Ć+ir1j7Z\!ױ=g\ŜD*T8@ۡ?6CaGdVFjܙ]뙞I%|p&@sE>BglT7TߡCf]ה}T Qw)'!!-b[·[&Hw)J=؍- (ә=SL?(ke {TiWުwqDhӝ_˛{<\[DO&moN,iHyl֧)Ӏɲ.\|2rhc'\ްxkR:|)S(\+*'kC*@GDP 2k;ڋ)B7\s8V;E)AP &Yy-[A燱ݚ2^K>0.h\*eD5Ϥ򔋅;ZǨr|G,IMu߬/HhA*>m;CW{Hp: Qh7o:w&K>;{=1 Qc.֣G/ՔWwyFFwlڨ҇9[F#7 6< Iŧb$wZ[YݍK xߝ[bWkfAR2M9yRZ6 Ap#f/H|` sK+ N/YBG(]2?d }rLRLoYCL]y.ڙS!4 {0"vI)}LS΋9w˚h CB$%H_|KAVv'Ԓ$SbC%&"{/"hϥ;+tݢFOEG.+ W*7)yvS `EHzB%ӂm?Ino&@x1dewRgܖ't{` ‰S7lm.x"_0Gj"\ԺEd\S h?5L!M~&uwF:t̘fn{f,3R:YJvH9E1,ڪH|ful4)Rѥ4']ʽﭴUPsnS'ޅ9jM%t4Zg< CX08 A5!) 8[?6ү"=IJAhA(8vi7-$ Fܩ c+_,E)FғxhtYg gTv<2 k Wٖ3[rz:ZCڭGmHѳ*gǿhK**8[&$Ƙ}bC.' ٖ3̔;NhEG|j Y_4O;;=^ҌԁѸK:vHGn[>n[4{g[RA5ԶW/^H0 Y$U+ Qd&'L#?5K`XJNQzn E$z8$*RڧN砟|f3v8fST52QbAz$Km JcwFg`Zhk3"27_Ą]&T5oP==>ѐR _Ey6e%-DhM;d]M&hzG;{Xj va;mL-SVFM(h'wLiJ}e?l$Ҩi4/5uՂq,/ mzx70d#x#MQ<&)bcPЬrIY7?!NJl\C:5ADjJWԏ!z6CVLՌdៅ8ۜ~٤(ABZW'Wn+4&O?M6TU-x: r-<%G,isoNXqzZǫMyO !8aBΈ`z}yJs5υƵ "MõLkCG sO J1$uPd 0gm3d/d^*-(ux,'bYV(NɱhW,qTXڽkE? R2ٙdw%/S@[r˔ȏ[oVBDGO34L (JFO1(-Cn41כVW 7u,l3?"Jуt g;.xv*prNB &f4oR]ܠ[քqμucb]We t=U*ӔK*tgS,& "2pAcxUr&{N yt0˼{AHh:R&vZ]Xj>Řw4&5  v>/ujou&w6DGx_SL6G`݋ qUVɃ~Xˢ\䦲.3_:d""pmKW43Ȥ0!8ACDѪ *ؽ8 }{Pf@ǁeo+螏!:5BM`RNeicl2ܥn!g'cS֢t R `>NM˦y:T f)5f+ɽ܄Zp@`tLǒgv 8Ll/NnyqV;n%Pk􂍿թx|Sy?[E>zt"o΋v4 sf{zYSwC*<2 ͲX|ѓn88T 2^K] (3]hW~o%ELBvZ!A(jjlWjRMܫƓli?mDbаfEtQ&q^qE8 `jBwZk""F>.GӮ"`(04aQ& `H.8P?u~ w؂IW򵥂$FM_Nv0H|hg>y]*U~O󀑏+Tz^Px_ 5e=R tɮa4VX7:8^A)LLHe˞ \iz|7ˆl94]|ש= ;Vz+H0O*N8YZٽvCAhmOY 8}$")]O.< #t "SRr=B1uIZ(-kΈgQ{gy!=fP/^:̚U/c SM6G#@ٰo{ 45fV3xW8z#e XD%V*RC6Wz !N3vIx@EuUܭHCg&>h: Ui`lݓV8Nq20Ro%RB^`-3STfLF*B,0QpMÇ!a( ^b!:%NiKdÎ){o/8VFX( }"'V275}'@6bǿ!T j(3@ACʲDNYQLzP6OnPQʩ6 _;"MZW톖 C> n^x-S7r]x}zb[*]\uSꭎ\콊r9%LFH:~G/!5j >O.92թhm.^`:^{\()L3oy!#<@Qr\v{$7OjXۂ3ʐ?=Ӿ{8'-(;_\=S~r19x ͜.?? ̉ĘW 7:ȩ>RFݎ{4ڴ,!-2GȲOW'>L%Kr; 1ER0nfˣxXʊC 0̥Jrdv6 =v9Xr۹ ErWjHLfˮ[dJ*di @\)TמߎԍMR"&wM/-h(vw3O34IXnhƆ8JG̘dY,~{Z( 5J KQh S`k7쉘 asGogsE?ԫARnfX_k+N24G"j:?xK@R(ȗ/n7ӯ&a ˡol.H`Ei4C dyBR |Rm/I D%Q}Mƛ0VQVKNяi(K~;*T&vw 34vLƘZ0geaD0L=0o:fC…sX-H mOF88dAKg&rٞ(+wԁ=|\\penE:`x]'qbE.mc/p$V zGjY{hJ1 ?Y˟VP'cX[ 0Ԃ[ +B0 $S(ᒑ̋- pޑNHQݥF=ƣ @3^gQKv޳ET}gke00[stO-ΝZ,w,D8#<Y8;bki }g9~X k6.Ayg(y{[&)/nR ENAa!d6.@Vh|^[x~;q,z#{- _,\1 rS8z^unGhjg!Mfkr\yg~},"GZ殜+ԯz xB3\=uSd ci fTY JZ!XTGU ]EMB`lټy' / >Sk^5+U}!"EFn^a5a Fў:yC2`zC%:I,#TBT zLKuBZkş4_ލ`a=,YaA\5v̾[͓QۧV<\m\SxL=?LtPCg(h1m >ϭ0h9dCrqaWZg;_$8G@QĀ:>0׆;fM}qHaɣtF\& 0v9?u3N)!Ċٹyn$ЮW /#ean e$yQyYC?l ~%оC̵UkBZbaZמ8t^=3?i%XVSnΉ qaʟNݼ@0at5AGeJc?vb\ &L\σ35&O)#V&W랊IYp5r$]ţ;9s=f:\6,:ڏB'tKۉ*&vI~h9g :4HYz%]{q BW_GNm.^nΡ6aWzt#vUvB"sCc_0HQ\( WE5ro8wLfqSR,,jo̾ItmC#e9}VܱLS_KW  dS*/mn?y|ȫX HvǠRHF-#2)+ YnoK\-æDˑ9Zkݍi/&\X2q`Geҹ:o̡dN2q%ծ Yv=Lb2ҜW`Z!FYs'-ey"*KN gWpK)9ghF. +ʹAC /N.1.{wv9В=1jZ4^7ؔ@+|x(| rdN"*:E? o{ÀvdbCI?p5hVed=56&~BUUW} |ϣ^2<:M??Wh'EVT)Kd/yu7kJ}dio.e$lh"Xl^4;r뛃M27iPċ 7 ;ѧ=H(1Qpσ1cDlK' O'éeabl}`m߳//] >"1hRAJYɠ(ᒡjM7 ux!-[?€,V=ƐC4q@P/Jր'u }ru6wem>h776j'ݕ8WVX$bf'p |c4Wj{a A} &&D) "s>N8Q)gc{s]Av/ 7vSS8LW8ZKS"}Pc?q+:wXƪ!% ˌ33Ir`r{ubB[YϗKo_U;MbNeT~9yo;9 U!t@5ԟ'ii EW-hڭP<o g_G-I<.@d CZ%3keV7Γ2DvIOK3$j/YrzU*jI| )i\&^b!w]# ef֡FwtB1g* ՟%ùb@͙URbQ`7e-VSɚ"&9ujS/J>eR@Мzc1$ gƢ?ɿ.HZIWs&a8}bj^r6x,g%"(Mކ1IތM@=Trq4c 1JL3}Npٸ+|)ϸR.gՈLx5M{8T*}|*!xdEkD==Rwt -0q]T@K F -U#Z+3W-gKVNy&T8 kh!*gڲGM<- ;׾MҶ=ahͬQ!T+b2(V*uzmFQ;K8)~2 =*1U3EXN™ ơyFHCg@^|k)a2arjUV$3:TP% k޺bmk<Ȱmvox(t7_G.>_\a>x,[gHyͭm\񰄱OǖYҋV${+pYgh/$i$wAwkXUaW {R6vBB#Ķ&fx<%d@~BsR#p&)>zVonbOUh&/P4WSċZ #Jd#hDL̛S+`wȺmRHgHˠXE-g9\_O-qtY1p6~J)"2<_ (gU{Jzk0N}vdDH KN2ȅJKlDcK2?GJt2)H-GsB̺82K2 q˱Gh+]D7ZH*/[=]ѱ㈽;LҦ $C fϽ8X ޷#%M1],y^ʀ?4ŔIʮcնOƇ%c*mKú O,.DA ַ-{=߰5u1OE^8<٠^4m!RRbmՇERPmD5xhBo'kͤd:"W qD8"Y5a:RANSٿb\~# _:$#}M=6u*uq 2ߕ* r׍kZyy*F;k) B!q^S԰t$@|+k *6]8IbwwH6?N!J-)Z\RB2HHLksŤ.CgBѬJ؎wyWY7)`@ lblB[UiĐR?4#Tc#[ `1\i~r cOJq đg7ښ𭝁ǵ"뛷j\\oeyeITش^7 lkGu^%m1JI H>&`> -R4B(s˵/S*L(9Vպ庑Cá%Cn.TߊmC_5.F5B:t~8L*jL!'|WC)M, 19C(^̽pBeh/xs:2ڋc\ze-V WRs1JE^/>b3yrg =^׿]2̃u!ӏYXBC#[Bg:#xZ-AV@=S\8썊I/a=:dei$H<21zo_2+1\'CDtZXLw9wz830&;HZ\M,2C FP\فKӒ _XǬc/HW1/5f["<@F7QotXXdc/G }dfo{Ѿ70M]-V`\'bcG]=PxXuk]|x] ڌw~"8uy-!‚ΚjvpKZ0@!_h2y )e쾓w6rp&uoa(zOīJkڑ;'1ڝ8k3(4UW=QP"!WOd3 pC06E)&vcVdc=rHy;^-%ӄץl #e#w֦`(6I>P\8g3pt.oQ+*^p3Cy"3)j6I=T[V63zn@Q(R#-VJg$,D>368Jw~BRjEm`7f̙c:9NːR5h4)YX{ fi~ AQܰÖa:>H%4&҈9.Fl "akZ%r.)Y ',☦Խj8m[xII($D1@RvVČIy&=Pvd>h|#~Ni87?=Cxu ^Hs<{p.l`S!q3~!FA|4}Cea֊AS2VYS׎ 7Ȩ#.YoiIj2~65m&FaVK :]G wMR0洆K>I2^3pl!,?Ήuz\RC?(17m)uhaNBeKL=8-87,&Ql&CMOMvsǣLCI Xn6D8X2L3Qԛ{yQYƧ)C`l5 bqz*5H#q $ܹДF`{:xOKnB QI\3dBGw>CT.X ^man0#vyDLm`L$h)CO d8 nNw覧&3 R <n/:]Yr䦶81rPEr-`(}𖜆+Bs"xN(,U;(l(EX%USQ>/И:)X^uap4X*wECUXCĦ9-nc/q}$S_m u46,QE-v?[S A1B끙`ӀO(#zNAي7a[8; Rpx ){}vSU bGW1=[z#e BMb" xv4e. " 4. :i]9sWȖhtDS%Cj1Zeo$56$$Z C! l, y@Kfd l=ԊX5L .T:tT23eMMWRt KN"-;VK((-Iےџt~% ֊7~P7d(PI6&S8 ̝jϖ1lmr _r{>q!}8^*3exuPHHXF"+P8YC#/MA׭q1ў_u%M9ɗ2!0 joNm,Y_(*WlZb;S%f &TGd'{B 2(ӴYnvAR.C0 ? x1(ʆk$ ىvHS QajY͙X!G m5x!E[t7n{ANZS.thB4ajh&so WQ+ 8a)~? ^,A4D~dP+(D)2{">-w|]z ӟF=9G un~}ij(SU3wX+,JmziMcD5pGrW$"`qXdO#hR v  3iǐlFCߵsʴ>\`TH]o 30qlop:^opLMSLrW`ح2v']%Ufnd&4{T/e{bV_]؟ZtY  6j=x.3iơՂLq1ۘ 7M{uu O5<ܼZL@O|V$n{ԑ Mu忉rk1SH.r~FӺ-Byng6_KRW I_eᚊ> -^GnR r{]0VޫJ;P,%#{ )`ExiŞu!ݲ Au6,i݆#HA]!AX` %8mB[ۛ"$;EejZ0 }ƱXz*A)"`EJ< BlċP/0Igvh_`iK P[2=3HaÄl5R"{Q{(=FX7ߘtW=k% gὡ8٥9΍h~/V`0/qhA*2{bcf,q/Oa^L:y  Ex-E; AGeXn禭pM A[˫^KŦ&ZM%1V !;<: ~Z,B- Y4\fiZ^URD ~jӮ#GR[ ˄<= `2lB'$0 t)0l&j[cs$LU☋o-ϦۧE.c(^J)JИm2nPIAY}EKς3wuAu_KL}o_־AVuŏ ЈZD[?/VA[ô yR;e򿁤b/ޓ]<39$!4LVS0p@o2kYhp ZGw[MƑӕ>05")T8󫬚h>b J\ưi j N?*,u?,8G>_䯓:Uܰ+@SLTp`M8FC'Zf<>ETB r+\bhZ9y AN4U q-x'"0s(R`ZEj/̻D?LϾa(!k]r̼c+w8C`Feň >\Pp@"E#ƎH~"7-g>PIAODm~or.Smߺݖ45p r8qK:_~\ñ,&3P"|}?uD{do4Vn̒';gpw@D39{`Ǿ~,ֶ)<Ix(@-Fy)*m::@L!N^:Wܠm\oeҼlħhf);Hg41dDC4z›J[x-BZfyez!xUo=,x?m57WFLΖ DNU*d rfh\TQ] co 7ː^o{l~.xΎ#/6 \t]=HOxv4 ɕ{/gBQạylU}ͣ#fB[e^Ys-ǚGd /3RoExfc2~MзGQpyRcZzkc7[H.@օ}`xMUhj6z)Ra2Ң>[OG ;_]pNEӖ XD-(R1寜E4&p\G!R  j1,|'FD@9"9qSDj1eޟb`Z3 )a7EVĴT $*ʻ_B2BC|RF (b̷Bܬ8̃㉪riO}͇u~Rf !>cV c3zS%v; ϛQ"#M{U]0g*ŠhIr0 H!le KEH&ix4FB04V^E,U3#^";aX9b` 1dx.i ˄(1fWUdpxO줶:^XryJA̢ sYfHbipQpȜzK=ƋQWi3})ݗtuOS*F"9շYV;~I (pk*z-$O6g|!%]h b/|azh[+-'-D5fhozxE s9 ]E zBBJwu~4`l5}L@f?}փ|;ͽOq7x*c;_ϖaƧ2. .PCCM`/P$ܡI=4aޛS.T.o/#PtGyDTCd gCw\y`aӳ>1ӆm{ʖ.k%R㇖V94Lijs+ٖKkHcIht/ktخݕ߅Tb^6_d '90,XQǯI-UvUuB90:rKg0 @min'fHgFTD$xXyPeۉF ol=[]ƺӺ߉];{/>Xݓ_m=+Ƅ2_18.T< pT=Vnb㝟1{ 5k fZg-j9HЉo3;!tem*L*hdelZ-51Q`N50ge[s/X6 Faee[ChCZmTA0MV!T :񍤔Qm nPf8{93ddea\2>j蘰KstLG 1&]f<,\ ġŕׯ/bVXd g{J9񻿉yݢ!$wL20ZuP_D1qƥȚ.T ͬώDm*J$| 2gW!iS=w E?;+]tq-STUkoiy` :ڃ '0zxn6Cdۡxa,R=ɘ'#;~'4_H/Rr<@#$)4RÿBaHge-M:U-zCsG+f36nE K FuyuBFe_=BLX,2bڮCgقiŽwNvxHC $:CtP( ZB K%c1ǁ?+FYy3|;{HKA\LNY{8HUţ1-šƃC;[)JM 1Ez$O3)R tַ51C 'ٲJc>R#sF?j yҀdaӔ^k_!*4lߢ`!mӜ1ȕTC-CAGx>-`¡!T";_?˶DFԃ_* 5fb)2+s>")ʛ'}v".8J6iKڠͲbr$7Hfwlumv\(EĩP Id>E:;)Ix#DH{ zl6y) Sbܜ 3ͦ`ՎC;A:[,o*˂׮tkڲ@!BE#Եp 3|$!Gh&yBFe&%3s٘tPWe^X$|N)Da 4?XU"5~M> vprV6CQh>T. -`Nn}hsfwf4#/L B ~iҠ|^n;?u@"exIB2;ݭZ^J<3Rٵ(ǶʪD`lC*>$x8;NUOS$s!:1Z*{ޥ>b2IR<3 0 ,UU]=Qo"S<;E184hab'rr<:,n[7yd07"^mt],]Pgt@.K>ȀsTPey+=91ݢ])txsލoeh* z]e 4y^?}'UAwse؛+>Jo(7lvOE,D-*o( q fXo @-j]"ЗW/ˈI[vJ9W3`oC08+ 16ƋIT|ГpKh B9cOGŘAD8ěB*E`px9[{l,e8[O7ȇis(8ib{Z -NRz2P)BGlR;YvY'xJ k3V*dqhb7hn,xUi=>ci + MsMko2AlnWNU Zfrr2nk§:p?T7 /+"E˃~JGR+^ַY-c^/\ԪR8YݺFjᑁan wr4'2BFqΑC[F;}k,V͖tõ>T^?kTI_~W-l0م[˫Uڕڧ…j.OQ-'BE-f!Џlq¥h%w@ߩҐ8cF_/-XkXE ,H&f' (&bV,HD<-GNb pz`EU'18Des9֔kH#U!1 RjOeVh[F#M{[&eX.3~m0Xz&as $WM bV8PLb}Q:UMyxv$*Mcj߸JX98%LY11NcH__ $0n%9E!"f]%{7lR? Q'X`v=릑-uNΙdAjr;>}HPZ qLG"zCo^c(E͖1aݸqT8X冸ؑpGj4zqua/:U < =Hq{i1Ucy0xkϨO!0D&s;/ ME?GEs7]Uh+uI3֥x ^o58$F'늴ƨ;-Caèa=_YG@>T깻>_-]5bjE0>0uMu_)6YQR *1a!@=użk keAO~lMZ!I$]kDAJ* U#w{杒2@N9źj !f9$gim2L`K'A9?YQnaY{ل5tCd ʝ k(CbҰ_љ@sMЖ ,IGۊPCVаt"< 3⠬]%>k ܑV5YcCR}S~qܹ.KaKzUdC]!֫\nkh:q }qs*>nunsuۆJAd-l z:pSF͓UAwFWV+NqN{r3{(/SHt\a(U9 xpRISTߘ;lC{Yn!z2?@]Ak}ip!$%J-5.=IOnuMK{?"^.oSUx{ՙ[.paɱ#7"%` #w<'&7~@s3Gqj}9nvHef,%C2<_GaΠA/[ n/#Fdo4zFIϭ6z_Xm](vM!JC,bC.]`Ҙɠ7k]5&f1qyԸ 'Km~fz Po ;*MXDMC8:$%=1rzn(FlhJv)fk 定Oϒ{Hj3 jA] hłigW}?BY D/cN,Lޒ"ugc>p㮱!Tet}yi.tb3թ ߄nxwl,` Kt'EUݪiBB]Ik$o3ÄLSs< ҈b t5=A5ݻ ͷ LLORWKH -k/nz!1sb<KEdC 7HFݔ7b?׬ ۿ~ D|ƙn%eݙDzhC7t?smXe8Z l:ytYVa2I>`m2N~B7NN!jy#>?b0},L}eZLtvZj_3b_::lep.Mk cC/A#t -Xg#dTfCDQ#mC!K!:W_n}+w6)M~. *]"e/VF1#$TͿd::ž5c^G*,}՝FnL7o{lWAҋ5NvRhWGg7פ^|/~eFWR%whraNA zĶ(!8a ,4Zm?^~R!r:6&ݷN?N>*DY\&14Yco/ThG_VTCdo8ME'%ouS1)ҰyDTA;9A2y92= t{=ps̄I y5$x@+W@"!2.4UmA/j0JǞE"{.G=`~&O=cjtg*+~IT>g3?i3{؉3ǵgRwIi,oF@NreM`i~͸n(iA^6-0A1~a|!Vv=^iyyn'75,ӄ0%B{}ϩ!IAwšB9$)Oq{ =CZY KlW&0;~{(ev'/0:@$p_JL9dk~ h1<`5 RZ)8$L=jK7t3/KVdoq)zpxU )wvځg4r2X2<ٛ9NIh č<5)^',L7/ڳF H:`QZoxL׫&6SEطƑXV 1[PĎ/.[-tY"W2@.{Ȣloq4WF BnN(RإJppmDzL+[PQ x1G:9UA7Qv&=="ԇ翎؟[$?}킽T^؞5Jx]ش<k%t&҇짪ewdqkʢ;'g{fE }*5)o1w}b]'SI[Ų\Du[ u9e!wKf`GpB)#H#\~2+^L WIƽ7{ ##BqL 1v˷lIJlsse#MsAk|C2 x_fbHׅ7YΥAL71i|y>gt^Epmdy:X.lH?iznC.KL\H?}JjrΜC5FAG=ZWV-@~ݏušJQ-N,tcdEC:d3 @vYZ,0 OyNbPGsvP> ?:Mg\DG N/0~Y/}3/Lgɋ'6VE 4G_'Dɉa.zHӉ|Wc.g{OM@<0@Pˇ;eϰ r+WMC#>| >u_w L:B'BcgzU9b;loCXͫT:uoCq t['J" ݴ:q&\zd-{'>?qa8}Ts:M_|Pu^.LHbKs͐6{ȁ'FNlR;;4 6Lp*6gZ\W֞/I٨{3#sS-?poLƪ8$@%h4?PwI<".) ~ zcHk#7>en(Q5Q2X06deEƧm~j&kDi["IUF\xifB$Hid>V2>FɭtpikpQ yKz7uv؛Y5S;!vҭ*9g(wg@kʒxm%s{\RI}=VG~%JQ4btRU,Hhs*Xl^ Ӫ4AY#9uwp@& ^ 㣔̴HFS)mv@$EdGk~}rC.hCe pMsېw*N!XW'UXoLC~ XӐ0$Abwt ^qbDpYdj>e*,E2n u' VX,ԛE(,93BH;Q1|QuTrhE˻֊zE-=:OP" SxV5ͤ.#-*[YG lts $LՏ&O&~y-^޺FY^Snj\O#WPM5HU Jv^(мxی S 'g:C^`h@(A}Ц%~QˑZ~du%G(o##zE 3r1؛$r+I =s%ELN(|rzȝ{쎰# &|&CKBٻ!7:/} fn^MPSLCoZ3&҃eH`8!4,YIHW qnʿ;iϑT)~a~R=װcti'Jf}σ|U5[ ':jf 9 . [~i{.|qbgwB_vMrƃ Bu&7 1z]{z^Vyr\}_y*U<"\J4k"pAn4D ӮnGۃ*Xn6ԫU>$cI.tʀY& YPL܉W7}){ɱZ\Qoj9hFFH\"X`#lus<\ݡ&xzt?Nn(!HrF (m܂e0mTuZ%PĥRv\XOV$ت(丈Śп:ǮQPLTP~~=NzR.fJ_p͸4 vP 0I/#WP yюnv{=zN4M_ Ϟ0)񩍌v Zf%ԓNlOfb$a %'d ±:2} *pgn;Pԥ Ƥ gvg*}յ3U lHco|PAmQ)Zy19Ďɮ}VUO׀Rp@mOƲ9Ǚga TG7*؂h9U͗L, =*ɥtK',(Ƒ9_ҁ)nowrUCG"=8#}T/핏RB6:1!ې9g&%2WW8GzyBT m?pFr)3FC2V`5wQ2Vo)xPA2#o:&1|ш3GE&@7$t2lı`j4PXjW_|i}a^ks..UEBE`ArΌo^k?<-P]c&lO]O"hF)5boDm? ʱ~ᕃ:|H"o uX`aV Fxͯ~32@ŴJ!giXX j͵T&[7Gp9f*}g28cSWEn5*dI2LkWdx%ܔL\f<+iD0 ΁j^e4]|XϔSDThU^uwo:jw_t'*n̵Cx _V\ѕs- !8A?D~bau~D!6mEWѬ#vQ {^gj/MՈW]4`jpiR&(52AQ3ZS7Ekdfk*N2V8ùIP~P~Ũ@d 9yZIL5Y%AD' y@gX;/ ؑ{s($,LN~uvk%p1TV{;KlFu%/ғ7Kh zЀ_MaTaWU E݋M?Xa/ [ s\ͅ%=Smo D㬇=p%QB0D\4ퟫBb ȯÌ rO ,΅.W!x)v,dO~෉rcxnjF$΄Ww^Px7S]HlFst7=z廄LR~XcYvoY \E) qkW1w}[Tpl_[ u{5xdt C)XM}|:2{``Yp-@,tP7 E-Ri4 so4IcMJr'j>u{CK<]"SVVwvjLȚr2IʪU _F՝WI7LX@#>sC8$s&[dxҏAN*7v11鏭*UO΀ >'8(ͫ.zުc< Lm{]a =bf9Iح Wd{W+"m Of?83Y:`kwP~4/lLx#vDL\s85PT~|Ń(z*J?B{s%h!."uRxFՀK$пʨB0`%&\M܇~M\(kcSZapF,_}ytw؀@ :$ɛ5*-A&`ęՠODO~kݡO倜K8aquQʅG#lgie8O `1nDQlz <4Ĵ9Ϙ+ pK`B)CK؀*TA>7Ŗ@.>U`[^qچt^_/@wO 0j'/ԅMkx6g,۵^#~tMZo%HQw*RvGk~pO5!$EfoϘ1?yu>7`Z k8˜x <^sSCVYWuG&}yO9e\\z.(ٴnea}PջVG# 5^_\!]A1+{LѰ< @1'*7DtiW/)PJX<* (6?^p˾8vh{l{f?m5կZ7 &(\ fx7z߹mkbt,gVk bɖT118*:u.{Q9օ];R6x~+/x`xQY\,+'Y(9T=*,fU98PxWk`ۊw2KYV5 ZDFTig02yLmC-1j >(vѬD@݋ Wܻfmrw[KN1yt])>F@HŻkœ䛱DrJK[Me};+ix 9Yr! /ɨQ`NϚj0Zt eSsn=$(`aVJ~7Tno5Vt 2$SJ;mu@,#"iCG肤HeĨcFl%oaA긚|b[_v`(ը{~&K ~ ETY%)m1PţVJnN紎;5ϠݲV,UrL6ibjߢTVV} GG *xyTlҖ՘LL4NJq .2Gv ѽ.mw7A𼙩Y=Xۣwo [T<yIpϞ - >l/;"K%>:VʱYE<[$u~8zI}'Pr%iSUm zAX2?]Mq7ёNc1`H]S25Pk;$fsˇGVZ̼?QF0{366 b,o,o a֚X6(nWtN_m6f3G8HJnJ0+(w|a-w>ϕO)A/蕐=qt`d/_eeW.e@P(?~zXmwIʼU (qkQˮXZJ,Mrl5ݔ_ kFXupf1!,[[D i#HUJ~JjU~Da6Wb^v"%W| '56ze""|ıZOshCȂu oYeNK\<8  (,8(s"I->wH} U {#= ӵkedsJS;-fCCyimXʏ50 ^k":7v6*rtYd}87(K QR#p#UWPIO8OꢟO&V-YJ5BLYuxFmh3fn -䱟"B|b=:Y'o N:,w'f0z crޖ O)l6ݤ&e"<˒M] 2r\9AN(OEH!ee6%xy{ ZqjD'CB6ː@*iuK7{j~@=2* ]p_F$ b@=3ܕ~:v1$sVR`2iavF=pג kVe[pCّzN7PہcgWAJ<䔤;!^(RSb)|8IK~EW1)%`r% ӧ. >jwk3]Yi`qsOqzEuI^oM1곑Jսf1J(׌y.9!Fc2[vGt{r:V-5Q%=mBd-{߹vVҕ GF4BUE7qAJ 9i[Yĸfwb'cgl@m~&#Z d4r?$&c^-qDZPc~臧lak><Yc;=9LDoow]ަK0xU5يV—\loӨ*Gqq?;jLr!"r,Mv+W`'&[|g[p5Q{;9} q U!/XsʷEzXĩgqyJpRy塩ыUl8ܜB e8D.wp]).{). G56ms[FT&nѸ 1=HIkp[3)a\CDwO/h3{{37ZI goQFɍܘFzʗȒكV8ҠD4):ՐcۭnwSj;H9ɘG bk3ƒ)w;8QFl/G,æ/9)"rѴn#%>a A pIzWWm$2řG(G³`Ljshy}("W8Ti+R i3D }~7U8c#H`\@"1%WhLz `O.)_1 ϛI϶mO}\8=>gC9Ҷg9vDGAYBŔPpu<#,f{~jݓSZ=QĪ`M1ױ{'#&UPXeBW@\0Ŗ{{Q~h-yH)VB*+~ŦQ;(蓗h9ZI&Jfp:lwUV*sHߩhhvKiBF2yZ7)NZN;$#W7]jW 7UQ;xy捼ݾ]]CL_=pqI_Q0WThm=aͽg& A1Y4y /z/8ڴ_PHSڡw hT,Q0E;Kx&fQNC|=LZX=2>_EF9N '?) 4ݕ4Oѝ*x{П2@fs1MmŊ)Ո9' YNB5Hz:J.Y=OQ݉/#י~[k0_nx.DS0cO'LiF듨 *f,jh$s^),FX~Ogu_9b6%(S{ZK+^1~+٠TuB۝.ÂsM?Óء K*c`^)׳M"y7pwYָOРDn he;y5˖-٦񎮴J„{aEg=c盱mYh C#d?lpl﮾D H9pgәW@Ԙ{/|HbWgbBe9|~ew ?*儐ˢ^k7LTgfK:?dxJ p ,])'?Z֯CjLuL + ׼Dp G"coh~'M5QOXn(`x~{FŭwqltOPy`9P3Ry Δ|[ mY+;3!mD-S6A9Zjsv7cy̶sQsdIvV $`eɓD đWE1M'XYvYiEQ"ΟaA2 ð[\=n }&ޕj 0[4n "A/UDٚx<Ґ][8!.޳d:[oOu"0'_f#ߊTg0ڡ~ S614>˖tDG>e8ԋ5(z\h"qdD >sJ!*h:->=ͻ;a!}nhIdj) xdkBʔ]}kx}`BWmw7fn>Y)WOCe 3.^Q׍wH.Pձ0}ڜbq< eڇYS#_Խ%wJ;$Shed24`@%GRA #,}-UI2cGb{&^9&N Ls1| I*gdd\P-ޜ!8#N@Ś1Y?=?zm~VfM^nEnbo4~5TC{ Rk~!'N6;k͠Œ̣*pb|xcHP5NoI?|[DC<:!r`ߖ拲Ku\I^S2VVÉ\4%^.xI,P6F '~x/fN3 q*s+lϯbI6+|l c=W-ML%T n*0Ulyj2`8Pic F 'Cv}_wƲQ:u? S; : 8g4b{CP[+rc>s"~9RdτB+0P?z_-щŶ.>m(7jXNj$I]@2\]cuh좎Iέ^mwEbN[5p.d4R)pgL f[ĢnDD˩D Tdvۂ.λ0#j3m۸1Zӏ 25ђMӞ=S4V>M zQEm\uur0ZC>sk,SsܔX)z/3 {/qԵe0s9'5)sƂpU~m'Ve"LI(k>̮4bM4G+-ΥwwT~)49ҒPE{R0B.ؑ`[ l t Z;oXv0'4UY59:2bԞfgΡI5w_`HΘj{Ўu5P+|c=۝%\qO%x%4 ( M;ʲPaH[!QOiYexh6XN69X:MS nsuYtJ`+'Tf6'sE9BbI2% |wjM&mg)yBj@:rRkcsq)Y~>_eˍ{_>ALv#<(\*qӜïe{efքx#D"~6398^ v!WejŦ@Yja]}{YnJSEGOl0.AkM%lz)D`]UܚᲔЧp`ؗ萚Ч2vu-#3 3 C]4Dwu_z;Rbn{S٠T|01BDg-K ygݞKqtl~gotjqmo1/jeA"2I]ƥy3B9 iv: V|:Oz.3ʎ ? FE͙ /*' lW8@1lp/8y=I^J<ؽTG27ő :WlȘ _De*73ɗV}nRg^~~c}v e;_!=@ھX;XH.s7)^>E/`>ߗ>j^tˈKǒbL ڜ k=b ,p% 3-4\λZdC<3io] Haߝ }2L[2VNYI*ASeg@-DoL7hp -w(q ku wϬl}*Qa~ TnuKXų/xB͝WGPM|z@`o(I: Pzx v:'?ʱЎmU]{h`- KȒOĢN-|w^?]a5T.uTE_|d$.-p%էLG[ī(GOLɢASdt.f_~)A`v4CwqU6b(~3:ް(/%_[ m- -y'Wq[{`8:d{uy_myG\˪ߏig"/{N;E-RLBB"ij O0W ̡+iWvH{Z,? ֏cG x,D3it@`}f] =Jȼeٳ̠\$e|1-M<(}7VU:~CB"Gf'3Q!Lsk Re9|>k##ӽhMSnIs{޲ PVV 6P+gn Cp^Ǐ? '=T10܁eGC+x ̛6MNqV}=׻>h%q_g]WA}>  Sz$'+w{CpS2t0րdiYWmQ@դPqw ֜9f`R/)S 5cIťRquZj&^NW8!;"i0ܐ3TᏥjQ$ksHiZ@ǯo:[X-sEFaD(V&nb}A;!6,Uy46&֎һB +*_k{dnt)ʹ`]0$;Xɥ?R ']qf.z9bMska:coMo^|_OO!_MUNK=kbkgQФG byJ֨:Q6_7~-M[ݥ{7E 7bLD@F ЄE 1O;Ra?t"˩_,PsŃ[8 s E 2t݃o1DV-fkgS2.Z,f?(6]ݵڕ%a,gUk 9,*|)T K<ثS:Ejl L\3$GH&EUgelrIg @`f%@QQLC.E_X5w <ɬ@IkgA,7b.[r,wQm׽חĘFi43to1~ȪgZPfI,IR΃q݈% AtcZ'2g0#bu@ %L` Tl 4nĽu~K5*NA/ͳufǁ@W;6S TFR&=So;| v% *O_xum8HywC@[?uJ5`̧Єڣz]Z܄& eCYjʴSjoYS`&@$4B34|n#mq[QH@vAnyܽoM\WPSqD"sWzD|G}ɮi6]{ˡp/M"WUle\ rѳuQkZ))aŷZuk) na5 ,(M,J!lW%DV= T?\JeDG؛|%^wVH]VL햀Su|elOI#RnBbtK @;EJI*{x7d .kmS.=>ڟgBoL_N[3y,e8"Q{U'_Pr$%r7%pѧ /kg?TT4W M] RPdдc(ΧwMep_ Hނ8d*OCV;LG-hcA"Z~2U7Cx'5mQ49ɶXAE|@y+VcU $ԋ^1#|ue/k)1]ݙ{}`._<{c'H2W>!+#r#z段_tvm $aHO{aXr1AP=|˙¢Oio|;v,φr6x<_m12c(%8Ҏ+&pO)D/׭σ7`shlQXY$6 K ._vD](ӎ"ׁ9?=zXGUyzTe휬*.sFٟƇ} 26U8 Op8 ȴB'z) &.f +!D Ggoy?+t^7v7AEg#v#o]|M 5.>_+&&XX-~S:rPr @!7F3q?ޜ_бܴr/ #N!5º Үlei [z%x*P*\.]D0Gޢ]:i ݙuafHif;_>z2ɬ?;ka]7/RE Z?1\r6'ԋJ*Bds8ƐL28_qlz0C ic͈ZwJԜuܞR'AaEv v(/|9c^KHhFDw  @sXL&7@z4>b{`rH!\?D}Tɖ(1C. H9[ReK#`7+??dxΰEe?- $M2DvJInT, a4՛ P/ %!,Fh{ QhF&CjLvmtj *|@E~Kau\fTNȢBg2x0Zxnu% boXL ;`Z)`5@S?A5,tK{#wJu7' ۤT3 &4~IN&G y=j}#o1תD㩮PљQO<:q+ӌ][0[W1 pF< 4] ?8|(EJ-jl^o$D'NGE]-chEC5M5,J=.&_w8DŽܮ:~ӄ~(K8'>!tkctQw$#v}uL(ğ,iϙQC+zY(}="m=;7ͤ ݗQxNsf8N6eZ>W@P=uz7T$X8ڏ{xe#3`[m0"_*"`c|E'uSxhMЮ Bz̉U^f;y?С_O4xOg<< /]@.×! S1 <=wj^ /Bؑ|+oobЛ=єS%0?ȐnJ+>LO|M&Lg@ʩSgI-:( \LPSqTR5#ho}<K`ht/g0̒J¿ERrRB^ƤR4pUKKnn!UrZC F\ }?*do- ssȠdG;Z}?p{cNP#Z-9wk[n(-CZÓR LyxؙԫMsôƀ`3g /V hPɋ!+ "#N @|Fe%:a!刍1AD2p=l)Dx+.(6;j԰Eh_'rRw [ )8pz{kpK H.SD5W5sj[۽T7֘#,$=?/8N[>C6K',v,57whU$ockb[CVnbfHjeFW]5j{p8ǛJ)oB\ P2.-ahsiise1~?ğ+i2 hq-Zu@3Cn R ;uɺ5FR^@E{ THY0Z@7q4 nPj$QܥlxGxiL/rYgV4լ괈Nw}~ABG[>?S0یTȁTDvk?bBFܥIh'* ooPdF_ ZnCmPTѡ *U+==G{%It aĄP4ȳzKa!M Gغul{40ʟ0ڇ];2/fW$Gbx+ԕrĒ*9+J M ~xhP\}ktчEI{҂lIuKvcR?kҨdidmVuȐ޳(݆d|໐ƈs%j5 qe,FFjZR&jE 7,#!y-NL9揲ѽ9<0)(Gw!'lw1XNS;yv^&=ȍDX27mjtp?}F9XFhC(Wߤ]:!0 +;7[Zɉpɒj mہOhm0}x,ߥw]4~Md[`Iܧ4 ѩP\E56s- t {05L4|Ω?{xRl,_pgq56d~`!<ū̖Ѥ bWE{hlTB% J3RؠBynC G [HP.f?þLP/sgO ӊQ{2>N,;D t#+N>cRXGn9Ыo" 0{3ViG;;b_U o篎d<Y84FXڮVؤOYj"%:SC8Ѷq6iYj-8T.=sH.)BZ2(릢&e$Z>)rؽ4]C %@r_zMZ9-VlGRaOqƚoG.ظc#JGJv[QkBvA;"Кغ&6S?wWj jQ 2ƨoDl`4v4 Q ,Q`K//&~qZzzT:Y;e"f"^XU-'' ߼ߕ|Zfלұ uEׯQ2L-pJR%厪@i,g\,|ی$ YEh+B=tN$*.ac[+f~R%)`HVkZ\ _`<4.Kʋ0=A8XU5f5j HpZwO4 䫛>YM *<ۃ][ \WaX!{?PVBPW_lP}E/W\LB2he8@Z|Y[Ն"a#Y8E,49?sZ䥼8͐# ]rކ+<^3&C`XRY1e%n|NnB}z7˟LFXqV'|{Zk6QU=|||Bm(5ZǵKp˺È3K;THZJci9FG9qAG75iAPu-O7$lжmG~yE !ZN$ iH?quNs" H~Ɠ#svO@V5(`X!+KR\y7Z9Rm_sW+e1<\cز4[QQQ f69T]Nf\OL0;Sy &d%33WCdZP${r<۵kLP̏ʈʹCq֔aN|?y=Qb[>\pI,&/:y5ưU.N6$x%L^& yoIc.^]c?uk.JNq- ȜP$Z!ZʷV|,%(^ eh=m,MRA}#0T0oC+6,&/* Z{ȬE~ ~6'QQŘvZ' I+r8U/O Q||HW.L2"Jp6" DL \];eQ |zEә o In;yjueNA&*Q3>B@m2]&EAv-Oc֌6Q1랺8)U{-D!SfWiKdn@ERt&>}8DA28jA!!- $r PРA5 tF-*v;6ݗmRlobǽ_VkZ} -ª#@ =ԊùUiS}uo# Օ$zȸfx_'(}4+#h}3ueL;_71b1e=aƈ7--&Y3Yi<+؃s&Z}FPaywreCbbS0gΈ'Z#C6Ř]um$d&7cVG{jjЊ ym&+[|#Xn坶ofZM:]L%XKI;X,vy1^5FYpD J*E^uIŮ赈y!PVZ!qB`j_„P?RA^̺Y\gгqT +/SjeR5^Y8ɑ+@-voBzU耳pQ4>-SR\y7{DHqدE0U>y:V}$G /U}9[CgHޑ\!Ň:Mg|`!σ](4%zf]QWS&d]'eP+nI<\7h;'yUے''> 4I~1wQ|s7Cs[&;ߠ6Ut~_!>NGBl5}kZs\~ԷV'Ј+ϊ'LbL0ZDƃ~*=eƺQ_Ak? ߽?ܮr,/eOtF[ua3đZ'12'!e&OxZAm WlYbSeBj_+~I[dy*ЎlT:!YDsj: S{U74]\DzLhFĺ*bTxZ!eY ,?XH$4/>pҗd(I'埏 p$; m eR10,=hQ)o|/FOvbrͬ9꼸Z|; B(?`AgnAQRY1&MBl1-2'PQa>/Ɓm?߀fvq 30+|Fr UZ#ɐU_$龋ӁL#]E0 k`H}-@;8[VƋۮf )`Q5ȊDH+.aMs$W&߉ mp&Zz؟hSD"@4s`S!1Ŝ| u^Oΰd7]9ITNE4)01FK)hlZI\mzY/M䕘{^9o22ww'WD|B7p)%NP̗J[:ph򯣳2F0|yF?V7^r"B̖sRN0_6=knR`͈ǥMxVȡ5;^ ˼7NI[vEgz 4+ذ܂e~TU|FVwH)N9Ѩ5`67hs-|L=VAzIo1:̶6?ފFs}厝%'N:zh)ӍG@=2r);{3'h BW Rɚ}¥䤄$z*y  Rmq_/G01ӳKCQ/zEAyّ,wn-@ 6@nS\vX#Ҏ !H(5qʞjKU4K~WqpKӍ$gP; zdF+EM.AWO8J {+6QGoB ; $K{#l+9.m9*%>=gV\S3 #P ;?p&bA/3NBϠIzCPa[7GYB.BйeCf}&vSkWSHPHxA+CT kLxLdH]iqǹ-\R|"@c!p+Q-" oʼ8cI\+l@-ڊǑZKӎ܅FKva  &$NYNx14nB}٧Esp  fYg`a{A qcȭSnȋQ}`q'̉z8:R&Ƣ] ZdmZ~{1+W:L-yZŮ},JoE^E:ɃX(5B~"l˳89{Xq>.Uv5JW jo.7#D7HV<`uBBA\iKR %\khq4L.OHXdϟF O ;m+Z1AzQ s9s?%JxQMv5'j P#X^|-|Іyop6;ыxk4`V [O$'. v0(0j!8Ҟ<=\9 )gRE@/Xʷ4x%4^ԏMf]#'J6{U2[˄`"^B$ԛe76W- rH"OSICsbt8Df2Cr) Yp`aU$ Tgx糉[!mbnfأ$7] GS#f$B\|:t]v VЊbꞑRJcQ̗ 63qML Cwgx 7^g7ߜpO#&G#ixS$YU 3$bl7bgv^=FMS* ݝػÊOwne(BpIIjX󂙔#Ģ5PAFiZZG :r YUmVe|3k3m_Ř>s^x[9 i,#EO?);Jvc~h!tOnK6`x9t9mËUE ŃGnC;ﯟnV@4} W%q_+OoXtC%Q5"LIp$ޒ3Qf[2c$2NVf$taO{ GeE DADNәrhV%MMgBȯƢdqje_Hdҙ6H5(ۦ;8$=g3&vwE M=-;^*3I럛~銨r/k5ͫ?OtXcĮ+vە%xЅXMR>v7} 7==Xy,YniVe҄PKjRս„uoXK >sITϟҍ-EU3 \Ơ7`&zm9mxi?* -[8rzYPI8qXWc g(.5 ճ$˜h.=>Oc5pT ^aX7>&2;xaGwn?!XWHyA|dZrr^ .=z^'cbK;W4 _՝--i.O{҄/˭cg|D:&j].Yj4?g֥V냢?t@@ӝry(~S+{Bpx]j~&IZpnzLV{ISQEO,T<'*k*Kht 4ex&KBv9$Q,GA%[:H/KJnX7eY^|aBP/Dj'X捊?1-{X[}`_+5C-,i q3P8>Ua҅pmfh*{Puqkh ^#/IlϺ뎦s Kqd^`i<™"-d7^ "}u!-(x/E{xVFbe}C"b9mʃO[zNo{F L68|<_Q+5 }K I˕Op;ֶ!\RHA],ޭ\Z; ԥՅhqó_?3}+xɚ \w"p/9rW!t̾:7@R?!4^93}Ւd(c9%ޣtgOc{wK6|T+ U1ab]%*,UbJZh}g[`4D Is;{G׀o&X/?4y|4r m ]& -@O|\n_~vtv9J w\hȵ#=:%K֩[#)'V›_>Vn5 rjÅZtJ>^j`/%DV+]^ JJJqgq4#SyڛZ@kMzky`A}̻pʚ& +-"{U=lvϕsT܋FyY{,$W%Y_=Y罓F$VBo壮_[Dq! ¶-a<uF3-MD_30-<}.;Zn MvSEkNZ3ț64 hiWu@NS.hYѐoPnE4-ėU4D-3ġSko(?ɼĻW=/ab?FHN֝ s+z/xH`I D|Yۏ[D'UlQpR}dʢ2r-P߭bymЗqKWfK9T7wCT,2l@ŀW9nf1nfO]XvDj'!AͽdZ3pHnt`ę6) +dQˋ`=T+8 GAvjOiEë?`ºPz)K"K ;_$E|?'5Bdq!$ 9ćq8޵1W"+Y2#;.5nʞwtk‰.S :VXuS>Ծԝw`뵉lVGhOr".~r$HPN?kk> S"C8EK&z(qCX.EN4i~khԱȁeV\ : ͺQ~>N̪,fiܦ kl<ꅋqdC^_}aWE/E( PQl:-=gMzI\x\*vLj zH D"VC7!A{@TOJIvs|9Qz#aF![j5tRq*F#cO<.{ϝ)9KX7Kpg8uĂ3P=`Do{=upIJdM+_Kb(ǿS1?0!%NtRDrfǒ8c?R6XQ `>T#=Y~>jw_Ojvϓ̵@RK=m7S­pFXٌJq: &T9Kr9bnsc#Ѕ| Q.ψG揬$ԃڠ3t=h CDjjzSN2(2C{@kuU.\٠;3bsΫ9=`h`/6y?ἿdaCD͗zo\%Wٌcj/m=&$aK< ӤgHh~oW?@ _`ShoA4ι.S-R1N;jVC*郵I)L<0iCǤ#mRSCfDw&U7JWA7pd =:pDa?'oҏ )X-jR֢AȚKk 1N}څKJ@("]ຘ 80p,L܇p@&kZ 2qr`87@ o.Jlb0;w_+,溓 79ںw*tGp* ;\܆IJDUx;:W8Ћa~*=[Jxb"NQKbډ[dN}1ɏTek `Xk"܏&3W4(YU(&W2Y;Ǖ E l" X#&r[9be2Lr+!5pCnxw4rSW \W&%BVƖDfBj<9fًeNjvzxo|qc1&ݥ۰d{H5 x8vʵ[ sjÖәU;=G"a.v%UXT'kNJ!ˈ%[^4a QOe@eCӸC1b=@swg?iZ?5AU@,dxJ'QgK+tGݲW3۱:BwY'|+O0?{LsV!V E!xQRVE G[{NT<p)IMrUg-w-c̷ȃ8kAXXvC %a\QE@IJV;7J}n WCNn-W̕6{ qLo8 eк[1 D1#+'F.[F)'J6 ,\n WFwZvLTj x-?4G*uh}&{-%5ZQ& $T{PX  ?ԙɘaQx^x) "!:Jٶ<~#JhQю=CeW JGm"x!::>O9 Z$Z1=Q:b7ƼvDNWZU׉G~_0EAx؊œOmJ\޴v@&W-1W, '9uk|۫N|vܸsȱ;Td'z-%yɇYA!^YsFy?QjFH`V =JP@VEA\\`4M\= ^@Ѥ() 8Gvhf`p5kI'P/&/VQ8UL~ז8$Rfgiӧ2K;vD =@~'2X&2ٍ~5J]&&<PXUm2`ATT~^9;=7չ#;^Sm8Jk?wJ!/`1ޔ;Ds; 8ϴu[f\:\/_X:/QgRe;XAigĦNBPB|غ"ThC/QP~vNam)6pג_oI1n&"/!GnOofΤXqBwÈ|J<\D{#E),(dKvԬ )Ǣ:MiVi:g*p!Lrč8Ll_;7з} I8lN;)3ZӠmq0 ;Aq >JKg$;4J6R C/SnR|9G< 5GCvf[(ޛ[J#XiwϔkU5}i<GJ )\}=+p ?Q(LAY2{ wG.BY潙c }}\ D9zdH7KEd@_hlϼ>pl1Ұ?}pP׹,O8yT(/rJqLsH!H1s`1RܧH?DE΋b_4f!G;bX1<;_ԑ#3Fm@wYWEli<3yOCv Fs:72|g=]VŠq79cIb>{)[%9/`JsC hOw/I=eׯjVebw.?B̺n4{+ZrkDb:ZC ڌ,_j(n4㗛Y$B*sl.5H菊.KZ,.\Xu+= (=lp6<>B^6mC|+I%x@ 3k"^},]&Vft,iMDsj-ϫGuŻfx~җ}$Q9K BxBgДUǝvF47f$/ԖܞtGf 86|z{YJvwR e FËU Pk*Ev|fi!}y3h!R(S6Yn06kۑ.Hr-P e>x{v^dO,"w#+cC\;i!*F1Uœ#[`xuxZߜ6@%9 yf+L rRo`y]9FP9oņ><; m9%8=ݧaz^cM]i_w,ISWB4H@/y> $T`t7Nx :#}^ 0{h&mN I~P׼M~63zvY>h.25':[u ~Pe2k-v7){zSxNOvehĢ9LO7r9>s {K~Hpf58N&GX$j3j̙fWoN vyjEWT*FtZ&a#zV/ES%J14s@b4S[a KJ`-8:f[yW)!H9`4hT%_:M>?61g&'`["_8r^Jz|Jtq,2pܙi~;c}S(Q"$A*~`9̔ɝ+bM-J@CKu8(U#eU"tg_f4g5] @L*-19S}zg,9qOFe蹗 jzirtF3d=[&o-҇Q- 6%W=@n@bU?uJySbMYeÑ_(cu#MslpytN,"|f"Z2MI(ŰEX[! 8F+tImQ=5:Lw@Tq.7q`E.2!F aFּk!:$;o ι^[i "^3D}n;ԷvFRZQʺp1Ltϸag݆lH4lhT9FOUc`vQִt,j8˶L,[ 3^NDX喤; :h[<|cwj6Tɬ~A=x^I,:NRX}RΠfk-u!Yef°#Hf/oYd0#WcƼ.,FGF,{+'kM (8O^y}R8f;QƏdo2eE>:&sDc!n Ε0b Pmbg 'A(7a╺d/ ',1`:K1۬usgRQ6&`5HnF%OGDܽ_8=xf .~eWM7WVGEIo.TesN!7=nO-݉*ktdjBut^c'գٵTd1v(s˶9)N!_~U8oH(!uAvVpuHI` )m|;%R(+>/ޚxTheSBKcgZHmI=74%3'ΥMM?DQ_*Ѥ M_V CE_X/a|QkU2~R*Ǵ:/a'Q3_83"b@e.4$eptw-}Tz29G{#c9մU^4By~VJiA9a̟V n+qk'kY@?B5<ʮ" N5e;_B[j}uT/¢("Y';2vP+ޓ))f焁\ˆ~i]~++)![1JduJ@8\lS Nj)Q`򗻺3AaM`TeiE^#C=ү!4/9 %~%/դ6@<9܍W;uaerWS{_ ׫_Y~K&e$ tgBN mFRR:eYpSՍ/5 I ||XQSY#3jR+@amƚ)Ų=vznD~ (qXj0"ֵ?(&m8ndgsj1p1KŁ^*iO$AE8`SqU1հvKbe`/J&KK-lDʪ&B`SPÅ04knA9k痄xh#JҘMΫuAeh5UB GP? /V:L/`E+ap|9[8(b}h[ڷz5*F 9Vc I.Q$2cZޡ46LOFʜ.s+c@4rxF Ka;C?0py/mɣFNZsSXngdYVИ!{m;sxyTm{d6+Nr>)1kJԟE P*v3r.h+;þNĖφkmr "o u )/MA%ƜOkjI3%yTQϥaOp;e(~2Nm /24R~AS00ZiQwDI9S1 4HAZNz.ϕfw٦mv"K|6" /=M3 EdgV&eDnb\u}9.0D7ۼp%HgwY?v]~{ˆ?] aH9epHw_ k0N"*rV,"Ii ޵=>)='evd Ãnv_6Rsh_ b~[J7g_|SU׳|,8Ǭgof6 ~Wȧd)tj0yR #k>vZL3I >SrИYY1 cV첊#Y.CVP6APyI6~q%$ْ5(ǬcM6˘Uu(D}\AlChSzo^@h k)4{=iCdSzOi^,L)uɜ?(͘+]eWMšN4 ,/D]6{aT{wM!}ä}&avY.ATUcPS u=pco)E|X?8z7J5e3U3BXyȻFu;EO槭abE_زLS@q\9R1&0EGVBGؑAJڎ8Tf8jʛ_A(am=%!,8l҇ c(g 0ѓ!" ф2=./꒜M.#2/gEakVNqjd$xHPϮb:H*4]wk{mM_YA'AtStZ˻u PZZD:/=$؄%c4 ~S Jd0'lʨ+]#7vP7ii^8:s^QZ:.oEdZ[:/lY+x[҇)Hv->㬊5a~eӈr̛oY^(zKCe&XQTyû-=aVX62J?P:p|Ҙ}} 3QKC^ 3I@ xJ'<Ÿciu1 L7P#.kC NA=ϲ;Ef/~)U$j (jOu_-h^C7W C'h{Xj0`:?)ETBj8m;<`dJ@XWq:!>[`LCe :*T7cY+HD`aRF!_zWk__XZwH)BEޗهZ0F4ՙۭsCO}tfKc,;݊Bju~ 󘿉k@^?Tz@X׎)MgP" ݿ9A|+-8݀D QQxԪG"`cq3RN#Z̟{8 R2  Y&9 V͆$J0p)7"v,^4Vv Q;ǖ3|Ty9;#^gtn*l'/)CWԬ-/RX> ݆70#!T4-cl\4Ң\͞P\!*jK8\7~sL$Ř/0v[cc6mŭ|3dja!g{)XUQ*-}+5t?ѲjyB@Rxokb+ڡn_Zf,5ejRhDi7{)"G임Cxrj+4-˦@83E㮉;/Q|=djK#>&;YAX7Xv5hxSQ{0Wh ZhݺCz.3b+ 9W3̀Z4:6+<4/3մeF}7;୑˯')ܽ' sI% 8O(̾*aB_}VŶ30'V~=^H>'fpħ@a#ff3H۰wFe!N4lP _JL`j($eװh*8li\ם2>V{O8EJ`7|m 'j{29G(*> Ve{/"': Ǩ2}/CF(K7,&NK$qKUY[Q l `zѝ`Ott쬀ͦf1JbSCj:]BLs7'$G.G IMg"*J ADf4Vx )? M[G)bi&]nDpyhy۫dছn{;5T"T Ă#>_N xDcSm% (>쟨yaYˍRGUK!C+9G$5UsABKJ#'@5` U;t-KkAҾe4WߘMdJ sFF8?DRk1fAf,&I*Q܁rYOu-.ON5QomFT =v][ ⿄n.>6l6S}^*[oEWdb0Lbk 7Bށ́3"'_*G(+~tBNQVKrx6K¥@~- uR );"(5嶂vNTP!J -8TCv# J"-> }d}lôz2F.׺Wǚyi(j|mmp[/#*18y aX qn80x3SP^5)?jb:wO=x@;0ۼkVG[?>zJCuU ?* 1FkڥL 17o)Čxk2q&IE n?l(lc9d>b41"FnSYp"(x}J^(z&J[Z*s>(`~e\%M@9F=*d=5cYc-!a쎟NB̠8V"Zч #/pRޚ$EU'F#X%ې!E?uIJ|_qɹvp5igg$8a >ѣZeH[ڀ//\ Z)xr>e%EF_5F&m Jt> .>0lrFRՋ:+mXQAWo|6$Eil#bb<#zgnsq5nѝ);gH8KwGG'%5CǝDm({MhY[ ==.MG6k:@b8ő= #L4aS u0Ɲ}c7[wnLh%Q49bYp6"} P ?7‰k;M*Z~'Thdm>ʬ6&]OKUR[DVS43H4<Ϣ0ɼ>wS+7'8Yi^\ T'$1w_jdAS[W i8<iʖm݄Vd5=cO〴ɈbH|\AZ_"dO:e̝F֪&<-5)XG[p@{t[{ %o99u2Ӌ;B Д? 8Op\-a䰒 !/QP'K8j|֩rNoO`~zcµ2 GK;ݎD\ 95ʀ(7mk-@zt˂K lCkrZHgPn"{K-t \,]$yulj m^טO(Y-1TWOYH v"u^ U/d}dK6g ߑ / $;J܉MvI56y,hVs[˱r 70SsߗUaݟhH.9RG;tma7S7rC *Z@t0PO]a)X<ct7Faw悩*2dE`dw7t۹` UZP%8q^h%A+w X[SkK~f.X.ݒ`TTߓvƻD"N]"'2}vi-FI=/~ÒԕdY XιRT%B$b?E ÞgYnF|tɃH!Υ7]2@pt픉ĵvaGm?Smki[u< 4mCHZC)z ?tXOMaJHb:RTľ.iFI0+uenQ2=cdʴ !|B8 Iz1ja $eyJtZ87XtֈwHe L ~95PFЛ,s)i~vӁ2zXd%d~:}X}D6~c\ˠ K}ROCS>za2@?bk~{ъf٩ND;U5:OQƢ*~7JEYc rlQ"M؏w{M$@567D[bUL5wІ\{/;>_>l's3]OAyˠ$GޓӵKK B5g=Fe45g}| *M$=goBŊ,kl2Kr幌YDٜgvTn*Tm15zm>H)挦bng$:.]`䝖' Z.^w>ZOrV6z$N+f%ǴZKQ*&^#I~Q`j}aWD`)?#!7hBjWT@GHatM("\XCTb-sѡ`{yL0u- @D7ڷ .\Oc&y_ ?b !m"߼O$jO}5u,#pepDq>^hxtF2yl' YC`Q`VUBv$1=a0/t=z8h]=iW*sf0n=6{//C!"fm`EA~Q[8C@ z?ao[0+W qqnv[ c wK ·/QF~PZbM9tm2_/2\}'rqKͥ|՗ y~M)&(h?4t uSz^RmE*" 1aQfV}e HX/T:"h2YJ20w)ٯeFM]k ~22bB,naC65Cҿ{n:<3T]q.̷E~}|+b~!JvGE;"^57ʯ:;k^a':ħpݮt7$"33g 0q=\<^a1uUl%"`Vb[/%UZ%!fڎ~LfY:oF$@{hn4E`˛G~;l9)K~Ah^u9lۚewQO#A̳͇Ů;͒$U^L_v(B<,oW6"HRb^Gm&_!7U t_<Ғ}yT! I+ k짉ϲNk4N+!5=P=1DyarퟍS;^-ZU- %Ov-iaMΊ\DT,s<ߎxghcP6\o곇-!{ch Xxԙɱ׉%k&؉wƵ*FW}(MOPP (.Zv#NrlŒoy &p&%=$Dhqډt`cټiGZCMbC am $3>F}iP.*Nďm[ X-< O̅AC5_>zs.hegw:Rts? WP` O拭bWT!. ]"h DLwllGc&HkbUЎxjg%DPUo\%rŷUQ_|5O8wG\H{WQn Ӵ" W8>Iv'¼fKUNruJ7 s su6_x,10"#0{ݬi{iþ8ʴ(NpPaq%C|{*4 u>jK W;7D8b2ORzw8J\8jLyY̯]łH I`k:bf;}(hXZ`dS_ʧ|_%ZraV)(7fPkHA1AϽ AjbK*v[jL5giةH_T=:'xFyY#/b"-rދNlDawlb0T:=Qe)y+HtmYIB.$$֡˫PU/_ Ŧe׶%>Fw{6A"V5KxDAk0,`לʍ|"}νDP 'TBEGO1Gϒ݁poVNtmk5,cx~{vzs 0"<V_9P iʹ FXy,I^8UZ= %VnSd O,%W&J?GT:`@ؓrƙf܃0]q~~>=Lqb|՘N&gr0!`C~JX C)RPs۲6t]KPZ붮XO#öqb6O54ZZӇwTRʌP%mÇlx,>m7J{bTo?r 4"`yg~ K**v^]6sPx̑XM~ūzkNeg &p}*zTbPߐI\9@F3VLw"T | >&qJ3j*8[EAg#y{ /EGES\0flInMI-'9OƼj2i!z5 `Tw|27 MWEt5nM,iW6uEd{sNѓ%[#0#|X7gT{ 8"{^|>DmMu,s2Xc5`rV%`%_+öc||y)Y|l㉲ݛNB'o17ZZC*Դժ*Ry|2j e.Rw#_:FeE;'~a%ڱ"L=֗ oc ܕ0j[zQkO[n[c A?e Ғdv?02)b{wlf LV z,elAkXLs@+ O ѕAA.B٦Ȓl/ke #I _mzνѓAτOy$yy9t?4O,$er}=`TˊmÈITĖҾc>rϐVǹ"w TFfN _ko cKyO͢}R[Oϕ Hɵ D̨T `M$ 2!tr>e;_Q ./2WB3 Bv$k\,ԇHX3ڽb{D|}F/6TRͶOۣ}3#ZMhmN|* m0WuDaK5s.ͅqtM0%5ܢܛMr"Lܮ~bCZ.~uhWٕ:홡{_ChbX>m򬸘Ȩ=RGw?%p8bV+OG:$MC$ H*Ij3TyFMU d|?8 U|8IV37/C u䴵jDn+^h|^'/YͲV0%%6xNF;=DO`h~6Q3~|V톱WyhL3,q;S*?:Lڤ&5Z?$A"X1P^Eב޸s2ooww9";ΎtёHGiY7wXIŹNvuap,H_€@nbflPÒ1wR ЎnSiiֱ@|BOHS7(X2+PY{)m!nYYBh9s%oFa ӗBe9at̗y93K}R}1Er:UlR}@BP8!W yVC:dBM|s+]*Xn"q r) rXKj|AR_)>yU[+E#iU4A5z翌[ xV2#L69)dd5Ff9W&h{lMJd,„k?~N @S^+޷\U*+C8D o/^<-\ȝ^5p4NGYS xƥ]-UQf3-NݛW$%INz|OL81qyeiWKʁHQtbz4_R5lCGEdVG|eߺ;:#Ⱦr~ ۆ;x"P'$6L$?s?s5]w u`?˲a+p jMNÃbz%\ҤX!9'o2lύKqHZ klٰ&E%J^zފ/Ga(b\O^T؁L!HqxW~Ukp&u-+:KjߊLv X:@PXxC~$;L24 N>"2<ٽF!}:9ctuorEMb|ʞe bIF-Âz3'V{z%&&#,9*='Df_'ʞ#>RgVW[aBLʦSHӑ,U=h|bNh=,ճe|51a ?ɞN {|Oy U ?I+R)_{bB_1gӄ؆fPR3I~!6tr$pj痜?rU|?0`"|SȰ#[vDE@ZeoCԮ3 ^8szG|قG/@҃zx6W EDHmp CE\5|i$ߡ!RB/bpTtWPޘꗹGΧ2HNc4r ܶjBger0o[UY='T㱹7:!61Dt~8Amx,B' 4pzJ$"K2>q_7=b~r6݋'C+ޏYtZxwgVʛm~Ѭr3թ7XTAY!=~n0"EЎƲu~&)}mәB ׌ O:!JNqeN%bqF (jd9c՘)A\^N"Qu37%ײz{1fFcspYDβ`[?+Vn ȹƦU}~ˁقZC:L1}dgHa?g@6 ŋMEG.;MUQ lʮ-y&<8-( R팓OpORuu:Wx ֫=PRoW Kww@O x! 8{H!:C!4Vs+MNi? IfNPF|.zSVIDzAh 2f -N+kDnL/ 35- ѷS,2gZºARvٹXz'zF͈ ݏubǜcԥgyI% l2,^_c=)j RR+":n2T%CfJt^qX10h|h˥|G$d,(Dj[ߠm ȵ\luww|[@x\Me+31fT&y`C/qˆc*AW:ekJ)'{Cy/EHdUB<|'!s7 t  YB*9W{Kã1կ!qF#uZIj}QCh b AD%y fbhivixI`-8F ASP7p2tJAM,tHe%Wg|flFkՀ)зkcV{nŤ3*˷n<Ұ{96hsesf8 "fF UUm{Sj0ƒ)U2|ЉAaլL21h o2YQsÌO1+!\r$,jX3"+[M5b}ݮ!Ig!w+-?;iЃ[K.!L$8MDӡj6M!ϧUo( X Z4 >R/5-FtHB2@f@DBNS^aQ[A˧[t? e92\ 6 <~>a.c\JP :}צ E.4Do&tc.*V)I7@|;[L$RXMT"糡2mA8e-ΉGXש:Вig)rL]j6 &Z4ν+rb4X%&m>*{+t+J86M'7^#- JOdGs29turqY]l-A^/Q^Y}W54.|OǬa^Cc(qRA xN𒋢u O/9m +$^˳C/JQZPZj9h6 rUwWU pto7Rl3aYד]rْH}\ڃtqÑ ;!RO4ΛM<_,H-98s>_g0ѮV򃍟p/쉟%T p&aY^:ґrI%vxiTx㖊8ve <ZW6;;D|]?EfF  ʻ7nX&)MTrrZHU)m ~{E8d}JAց/Bm A0Jkџ촭"u215%vq=nJzUAG ÉzYaTiabSs+lsdR x/y3X!8^,E5qփGKN. `qbd # gLG?O@&x|&m J2.m.\TJuʁM]uY[R/>#H$uML*wOйBսmbr/uOʠi>E0p^.Ko.HlN@IsDu0GX'Yق%f+w'Eָ8יX2D'?qMZ4iv1u;hGj V`36`/Tӱ-4qI$IL)ӣ>xEJj320sɋzsc"_s2uK/^%Ud]lj#|IVivk1sǛ0ʉe8 >ԤvEO^c$&8 Qp%1SD}f {u1rmO?I_'n˯hSdSnCn$CJ漤d* ~|@MioTgw*M TMt`cD|{fMS5}ѵTV}}DίTI GAEAc`nBҭ`,E㑱w NOKa51R >aN '@&9W_qFGB=} M 5%֪^z*Uhx^[Դ5F ?*P<3X֊3#!}5e ɂe?j+,y$WFVXP[%[KS|FmzG0ۗ|իcϬz1nH߅4 3!YL2zU;WȜ4mGՋȺqIB0LPm!wigbRx4-r(ڬ1&X"5 &`F +:_99W!pMa "O176n EPEJ%R\ߏQc3Zf|5-ɐ!ҽk %jX$*&%xOj%cҜ=+#R8Gx>!7wTѯxϘ'{$W&pXV>1}~1Q ȯҩג}hC9%vRh!($^aBKƊҬ0@2fͿ:Q0.MFP8^Q`S벻clRmj#;A3>i}:Y[ynڹHwW1$F]>@I&L+!qR}ݑysXݧl׋S&h2$  @{w+Ȋ3Y|"h4qߗHs'&& ]VLC#oQ.U"X "*l@@ Kf`WN&/-Zn1)q{\.HmR7 YfMWxHiQ2JUSOw/fbYѨNt*_,Pлzof5^3ݴ_tɜ+}4@0gA6.Ǹp0(E et`^jN?b{A#D#NFP! &e}BR}#>ǹk ں:H6-r#ԍ 'ɃO(ɕI}9z!L卺Mfآ8aH xpo ' ؈z%jӊmJ5X a5a u6查~jBp6/+XaP[nR}&Q'YJ0P'p1M 퍙Ѵ=H7)Nۊ_`83ǪYB¨4ѽ, lKfE J-)>rTy2G*ÇD=ދd^o-t?E ]&[M*#jy{ $&$QlP=b1mr36НلF_dc4>, LiGFZv2 DE@hfj\A՗s9r7tdvyIzs^dghyWZmşF!êϠr_O')yجWv">WљF=+鳚jiW"| ?登==CU[BQfbepœ/gtzӒ40YL*>Ykkzij??!%֩RXT9Ө|bȣr@o/ڌ Kuh㚷pdE,I& YKIi̮n2YV,[Mݐp:z%Xs D)gU!D~*zfD$%tb R+GP4dJR%?3 z&`)ly٦]cv*ﶪ*M0"٧η/cjgUlY;'y'sB:ȐW݆,H_V-9p!ڪtk0>$,ڧKr>3A siqs`|\y(Kcܖj6jc%aFX QapK?V֬.V!2 M_m@nIrWъc;$ddC 0K“NqXpg0*}UB3aOO,EE&PzW] i).(X}k.!߾ؔNijb "`M)eWCH~N']:`00,-zS7YG0s?swC\_߂Si!] DQP7G}Vbʏ>yYQ-ٶqDZ?я? C8 H]zʲa.@+.<Vq.r:Y߈Nu"֊KzZrcKmf\1#p5*ݹVL93rO@E_0i&$2'K[GU5m0 S5sdޠ1If{mΌҞZNI}Y$3l]dIoI ԚG)Ћ3 ;D./3[f(6RqshU<9Pِň[4ymb7y5p/˽Q[_!-*8uכm\sBi69b"qD>J eMu\WznU_EXFlm@k'XTⰄ>FY~,veQO&dMoz$,|*1Vg#0G'gVZb$u .T ?9 >|M CMYűk 8V,GgnW]nL}XPJ?t2RZU^RNB\}UK@"`J(Bhb%J2 +jA??Mrc`)W/iXr@uw:۵ ;ЃuO s^M1>J##]Bn M+vk 1iyRRފWyXRgVZo:HP Bq{PE 3**%b!XZҖ+u#'  eղ(qsc5)uԚFN*)qw~QbδVJ@`Up_l\<9tl)Η\WVipY]҆==֎>=^:޷'Zn!*Ta"$+5gY(qmjV9A8܈!|>kϰly(2EfIi4m}& ʍ3%}Yޯ-\jc@fs7n+ԓc|N&* N 7nubw̌2t.cc Hn敡⹘Xη7s3H\_6NR̤{M8V=Ӈ.EN8J.np/nqJ?[sւ}NGm4%hq~FF$sGq=҅Cn2]xcׇ.ICvܠv;oФ' $ِ~Y-:to|Jx]CJfqw e;TͼM*YDjIj<84MG #Rc7~Qȸ%$DtL'*%T;*oNAQoZ;l c8hoW'?-h\&Q65 [ZNjƂ|oZ]Hik 9!,:S-0٤?8JF0Ϲ$ `bΔ v`v0#742=Xo||wmH%`5nd5Ak/)uխm<0/%.1s"S׀i( 98*J++BdFJ] #VB$T @*kFW*.3G/꺳q],y3>#,s>i)ܙdV7f*LXfg@^*1,t6P\BMCG,`QЁ!vXɾOx`m!ϑ Z<!Y%xOsJ3D>6?(v׻k;1;7#zܴheu(`6P6 IXϩ۶6+FUQQ,l`Bojh^\P!3[:9Z嗋,s,1r~Ըe_K5@z!=u p4H$iL*uNa E@g6k)mM06qIg9bJG!g"NIY7@ hdΟfd-WNBm5bI^OxD"b'tM,eJp ?Pv:Q+$9vnbA 2{AΆ me8dnv8ޣ)Bfq[ED/G2TnYqǹקgxu|WjEI}9nA:?^& ۶C26|i0j(o"+Lso(kz4_PWV}>F"vT7RkCuӷ~9EtQ7P9]kϷWAIa‰fdv )[}"+Xދ╞^IBԩPVPr1`k$g, #_K-ȑ(>$YՌ\ d,ipR0|bs?4GyԤHa8IĽ'Ϗ7K ikb<6?7X:d@8ɸm}Ypyyt5RRcrv$E(-%[>h(ĒjY8ޔC%Z1l/{lTvҖvymoQ#?"\vSc?>MeGѣɒdhW-Z/(Z ƕR%Y0v2Uά#*iU[*4Q'8k54ڌ[R%hT󒞡ϢkL4vt2_YV9)ɐg'廫6w$-n! AZ 4ꝧs?MX IO5xhOߝ>{ q>D9y(ζm~G-r'>v,jtOG@,or$@gEq\&< ?m+Z8PQּnd d;hU|^f(z7V 8)v쏈7oBILnu:v9_lq!fYtqד:VW:!vvQ N6<=_usʁ_\2VgmFЀwr 2!ӌz^D5yk^@@`ɤ:3}"Z/x"yna(WxVՈ >`>˳庞_DPpQG&0Sz 8Q9-P`@\ky _ǃ:wjĬ_C"`"P1wDZZ0},F0.VCD.{Z vMvDxN>%b/6 9C]YjcլVl_Kڙƻ(6E,U7u\" A VVi(kB`N񧰂YR7o;g;<&ڵ p΁YJi. _,cO ټRa竴`83X9^<G9ddY f&᯻:/r^YЁk us=9y1 rqziPPbqNp:y7N,*LK 8{ .hɁ>`IL>ˮ@תyUpF2NsK/n`ް0 ^Z%7+pS=vÈ ap ?t[~Ab#ԍvȣ4fc"gvk.4Qӱ\fKYFK^Ń\ m| f'vM}Rb ވqZknX123gfi9 =*z}v[jϣR>?GB뜔<^vELDop7_Lпs`QDYc4< f ,PƦH?'+!@&!F02D0H11KFNv&N(^=3Vw͡Bw9!ǯoo1[/dE*"aFʱc0w"9L [7) -##Ⱥc4ZA+&J8tԽT]ݶ}A<~‚OhX :XIz·Ѓjs/&݈内Ch*Tt=,_ɚh\udB!ΆBA=tF'bnST.~H‰.0(" Ɩg^_hXBu]K1S2j j;6e>f=hjVw8 <Fy:;baf1w/ > Ǝ PL{®I [FGci.:V4DͼXӦ{H{8\FSL͝47AbJ aь~;4}ۥSZ"5p9vUj+yb Ldm:S*4I1.7V Ժ|Sоu0]z~ӅX̽hԶTUl awvNGʃ*Yޝu_{%a ,$-U@\Zqq՝*Aqglh:u3&M)5-~nA/Z$bNMrA."gia= ם-q  rM#ՓL3vHfOUy'b)sbGc 2+ۚ5Q `oADڄ:z2?Hk* MIՐ3f^Q_-l-^6s]$Fb TOPvΛ] B*o2}/x&vm7Յu؁FoU:XRhD6W+}*OpZ)vb ./{5%wcSߗQ v7Jkvis"bu&D5Ղ'8CL M{F$'oBl>0"섣M'?[r?&:R"P }Џ*xL_!|!zRQ?Xt ‡fT(_QxErd@f]<(clG^ kS滠4)Yb9e9[<ٵ2XpZ1#ōeҍG~AC눨v`qař޲hFbg3ޣ{@ԏI3%k(Y($*)Z4gyoGrE@Gvx2 PoT =9xL/o3AdxFl.A'mT k'h1; R%PN`6>'3 ,׽;ZU0 {AIC2G6'p j0-{ :aJxjV!UW8z[o$ŠNM }`n\[b{S*b׎B'# mhirFODbQ >Vy|ʨn{.>< %lF2^d> `]8D]!W',HGExk,:^? ˬ?yz  qc$Q89xBF`1p?cI.;?UU I޻/x 0UdhabXHhoF0km#p)<oV _Jdr$#U*Z~VRD,tp0HZrm+uTuRd;|zJ]bߺD'M|=X|#OwQe|UnvA3{bͧp.Ӕy/j ;[;YAfZ|CmQX3%Q3?)wR:gO"XI1ȿ=aR^ ĒǯڈjOi"rRћTC<_"B2Im&QNĽ?:g1E?9M DD9%d;"[uCi,#xW ("-0ňB*~1I;9jX >-@V'˅fRYr9էԅnؚI. Q.&bzs$l,r$HU}mb̓4a k `-HOqnB"g=5qݢQrl"N{5.zZ' R/0<.J߃|Wo5i.XQl c5JR>j7\<8uaI6 ryGo\1,^*c-4HOU}Yh1Ѱ(oѮO!VNO 93DoG$zREh gVVֈt4w#o~Tȭ{Ui\&PB6tPvb o]bdv>PNŷ&h4Bn7XI|{I6t$tXFEug7S(!joj$=oB /sl85{jZ1pb/|Dm:Gp=S?0~%9ۧ?CzxQ&󋘛ϕ ,zƶ-ȅѻS5W.h~rl~Vo1-3eËtcpbTL *ɫ<3DeH3{!lzlR.=DPc]dv#5P%' xN,432mx ޽#it(2s$Ϊni5ɄKUUCɧj X%eΡ\ν5iqL gn;Sdu튞F9SơMIEx?4;f|6RVv1WuC󃕷Ah%vA KxK= KS!ء;ėӬ;!l/w_Tytb5xD|eZ/UkGɐed`Y4n͔ &4y:h}Dfo38|ώl Gx !傀[A=VI=; W%B};sUN(p.ugw(g}ڀ`Gs kU~(v\ Y!,c?,y$ :9 Kl-~E‰` PP{ٿe>t&w*-tF^y4p(-NfG{U_5x~P$zApTTveW5nJ^9z6u Ӏ*;_FNٚH-'J4j}XtNf~sel%<e(,%#X')4$G2蚌8LLr(l=9.+ cYzѦW[Oԃk1žIըNR=S!='~eB{FpN3>f=?_)輨1% i~0_Sn =8w.@^**4Yf  >3niZ nN]\σ_3Z0p, :e3`GbukF`&V :fGiae cf U37uR43b%|Yۑ2;wP!ܓH΃JE5EnwXoj EX up7.n$kz@SScbP~Y8N==:]"ї"!rDJm%ҶǮLiyi-)ģېPۇ0@8$܊4z)oV@։BEum\NpѸL0~G4墇P3o9 :>17KҊ>`ñÙjl5 dG1u!q6+xAQplưSm@Atc+5Ҽ)v;֟Il/ dI@^}\p-Yum$*%Yb E^77QlyެjGL7~|ZN3!2U:x%qWZmgX.1z3qEuyGa),L ;`"FGcݝ>T;ZXrT,$P{rj#^#^`U9ǵlİ )<4C?B "|).a}Ьc=\ek8>ž JGOw&J-K(st'|fcqjGcEU„>-L:;E h(^۽4QDCKosi.\,)O<RYyNs32|)9vDWtOz3o<S t~P@>}3-2NHT#x^q3oF0:|+I+8}TD~>/ֹ&l.eO(F`ϳV 7}?E-dݶI_PVfQtӜ>fl]yXD穕HB4((fn$J{Q[=ڿp&ض)bsJv˝#[b/~H Wgls(qJ{wiQ ʸ WXZ Y6~6B;G+"H7@73[ܟbS4F]"ϲ`Wҭ۝\a/\*^ɫwXm/x5[և3i#!QʑI&rq-aHY`C] pA[ɾ3ӹߎ_Rw86i$[F9~7`JS~zÑ_&*CUͼuY qګQs\'c|E1; &8p hx;<[,>`4̷Б /""ڊq/3iﭠ|hQA)l(%bn>p0HH%^(x2_;R;8^mQ6_妃* L v@@3fH,p"N^Ų֪fUfͶ#6vMIy尵sU~N=0o|!awӨUɤ0$ j Ƭ{?)\Œc;B],z5P~ |;:V?Z("q^<+ףp7Wz>#9(q;`7'4JXjJBkmBFPo֧C}Un_I<, ̼J1R {8S3IQU *}GX'w!Z5eתK.ltl~-$z2Cz4Of"N :Vc)Å]:;H/.up(72Je5D 4T={0%Bʰa` obi;o.ZNlqȌԱDS=HnUfp-)neAK!JccR;Ze@aĸuLH8 z{|#f̚XUr 3Icj75$M>T>yǀMUr 8zmRrb:Zxmsp)1hfg1KɞՖ1_YzEd%9-lI&UòȄI%,N/ [8KU̷Ln+Kmν/./Ny$k ,%ZDeЁ+w1·Xgvč4nqk43YtXט@ N5{;B-XHi7<5PE^n!%R[J<^ѴS3G~PkmNo7Vѯͯ]@;9R@<VA͑ʹE]4fԚEwRϾlg2ן虮[s:XWމ+=U2b~SS?8ܨ%Y#5#A׭$f$sܰxP1כ,\d^"HP!iK&F^/d7y4AHc MG BNbf5-˽LP0YB_sfc SEC-{Ϡv5x|˜9L}se˭%js0&:CTV%mG]tesSP-`xҒ!<|ϬumLq0@1hȹe)Rසt-&GY=)㈊[a[lAy,x(vOjq{ɵ71}M*ra odu+6I!}tV{ Q fՈ@cq&#팬96LS#bntA3kjqO6ixfi9@u2ttJYu,5-چw7'X?V1 i+O rtb֞e4}>יهD5)7y{W%r_5zqv7 I)ˢ)Ux.궉x :9D<Ed7Oκز:f<nr)Vrk5O묗b R#1e bOqI$+;deVtW7&<$&4Hv7Bs5l/f.^Ի<鏌M^y ~..kxW$. Y0W;!Jz H4V.,՚WgBBnew}.~`..&* qVU~i? fTAi\PCw b1#w-)@ zLey4\%}>xUvO$bhgHQ\,wvYZI'Crӄ^wrF+5t-40 7k䔀y[P82Z Dt~W)1Rn𜷌¶_`1Nr2#J eʕ|s#nQ~e)ny/9.(ae_HRÈӜe[`X0ݳ)h$J>'y wHankK…+rBH?UP2@݂ʎf&6ͲП ^,ajxOLT A(*` #>"\E);[Lsk7_j)%r]H]ŸakT#U, /ba*kmf lb;%ױCqV/qDPL$аw"ǐN > -3'8ؖ;?mJf#&G֐\H5Lio1ފ6"m#Uw0yZlAn=<0)lFT2/]q=ir4Ml3qvu}Ѹe"i1D0k03LK]EZdoAw+R%$6nŹyb^o_qQo[eK{>(׏6 *sqԅ^߽X$-|v,n=Jं<{ޅP"FRqL0ۦD)>vmGh&>L)ږ Ȇ. 2{d V 1*FKzD9lN'] -V<]`,Ij@Trѓ3R,qN2|70c-6|s@۽]뱘-+l矆S5~WJjĝV]t7} `[*8M?tCZ3^_/ *O#vi?2?LT|>_ 7jYa4*E+҆좎s'8&7UA5y z-LH h ϜO ZyRd}%R:dS` lFbٮ+JQ%MEI`UfQR3ܚ%' B|$T&-t4P~?ql~I{^/X>cgRȩA>RZBAAYNHC5^9YowKXwOx| 8V8A"69ӳxCz/e3im,qćhvWIz&RLj߃2eTG2Iu?J&,Y֙7ƫJKC(Cg[@W>L>NhlIy; ỳTγ̏-3K%[rjXt eϱݗf?e(P: ;/.1cSGrv3Gc> ALwBɷrϽk5u[REϠ,* hQG-gnw$ԛwNbEJ=77]~<=,xm 9]n*`ЎH7.p4XvM(geMV旊^uGzs"ӋT?6!QC-{Iu`g.$B<8-hZ/ގsOlXI1zaiUeRt!! s 팣w\C;֓Ħ07tծ4VDG۟v]Z{0!{Du%TЈV3=*g"MSX4])^l8׽#KS^m(9t+r U~Yע*&IfbT$Ϝ( '9G~lOɠc̗nSZ{}:5A7ɌG*9Ɇk/4ʪVMI"r6 u"!V ]ަYn,p)R`\ɽ nG4ZL?/s0I4 5  X|KN< }9DdWCc 'jv|ٛn/# Зiז!<=<,%# )}s7YT@V,hsw N̟uW+_Fgi-{(b|Nj?k}@o=RwM$)60El. TČodo{qlU0ZkzCQɛZ_~"} 2hߺʮ Gqd`p7nzUK;Ӟt}owgt V(&G9(v2<"wNug u4׫lXgvNpKFX-u@ Fp B$N8Mp|$)ʟ c0YΕ 7bŦ/Pk؆<דs©jrqnòT ))cYC*_!x\ҏ\lH.ҍ'j_85ZLnz`4뉠M WIꓳFh#p ̻Ym}:%e❤7_?gt (: L6thqc =f4tWJX~F3CH+$Nlr9Ϣ}IA[/Z 'ƴR'з վOښ+}0gDfU_4ڎHN161hK1KBӘk4OnZ}PT&[2M!6\G)f㶰YhcP@&teH3F~K1H >RMu"kEeqt/*&e0ДofJ- Oߘ b9&H#׽4uٗy=s`&Uz9䝻ֶ Gsz1}Ha) dY,O`A,:=D@]٢+} A5ӰWwP/xlȹxRmuuX&47]X9*B^LI1oL> ?mOʏ: ! |\G@ZgֆaxT7F-.trjUK;H1YBۖf5IIaXf1zuGZ;U IWtyl~:teb4PH( Q4!r`ZZ41nHb0 Dt0S 5Aˋ\fbD6Eh[cPԇ|{W~\tTBdB!yMzum^L!6PyܥmI;ɅJlaE-b%/n܄*>OTȬ}zt8+fݔ gB~)_r 04g*!ܶSЊ%/Qhtb0oeP1bmJϳ_@F1ӣ_ˋ ; ^T7dl3{\YS)F̡qa$zu&B{yda0FFz;$K*e-7;K Oŗɜg=!! "o,ۭ1Uތ1^0( STߝiV>~e %T.ft;lw uze1LYNplu%E4f#zǍ*žQh?6deJ!oP{]BTPq6Jj0ѣMk|E0b}89UXVqZ=nM皌cZQCHn%ْRu\\G0֠$Gkƒ"<\枢h f]%E{Rb5kQ4SDX6dcAQD/;+ӵ`ś=?|hM?C6eA-ݽbz qٟro\i+92/5z3zPݸu5 1zaK b mZ8 5 %H f>b\T|tE: T2Y&.a{`l]B_5XQP=mhdw;'jqb{S3CiV5m6E%}!i~' y11+1ni>,Is Ҋ{a"ߒWi8v=-s᫪):TTY#ӓDr(d Ҹm'EfFn30*:<7K\nK1#dzE_"5  Q+3qwUw/ZHC2"[ƀ'=عkZ3.NcR+VS@o<_J/({.-fYI.K#D!u}(rah/2rvۑ%U-+CH krg ?m":6&Vh/qze<)i_B_ޢ򐱬yP%gp*yU ´;M*2I~g561b)= /=h% dd4dΡ RKxe e6Bα͝}Bh~n#xp^Zv#mUZכ nKU_$Y+p :{H@.I72j+.AZG&.[ɝ*eC"5_݀wHM 2VT?B;6Ӕrx~G^--lUz*DCv|fmӠ&ObZvxs,oRN$X8n|pdoL^rрӓ͘tRZ'nl SU~C8QpQ1҇$։\S}v"@ nC'Z* R\eAwz :8$^NpXzŗ1qsDC' 5:Q9ŰkW~_.:xF- ȮRu M a>r鱗Q5jcb vy1lƖ?#'dZq=7I>8jLrq*wyEu>QZ+|87D!Ǻx6ޚ `~3Ro]Gxj}3sw_l"M%Hl8}?|ʱZՃs5Js/fk#/t7XtJ9q|ީ% pfbi50Z@%'~S;0Cz6HӬ\L܎-b.%E9z_bv3u%fv}eA %MG6"g/ɖ$dGTʉUY]:Hx H5ڗ aa~"<_G7R-AKt=%VsI~;GDSՐi)z?*6m%O|PzYHH{1ġerG)hxw؆UA*$IRS" XSmaKDO:'}w)Ǎuic9L? Aș H]w&Mݭb>:B=m9V-B.?7R؎/NŠTק‚dn:yd^Ctt_ tonҽJV 7 7:Y&&`SScn/'Em"]Nv8PJR>E ۳fq$Yv`?_˫"-B}0Gy_u>K٨./`QxB(m?' R0r\<.^ &Xv;}GJG6$e) ck˖ ժWF%S?Om2ƸD+s?ߜ:*?^_6`EcmBH/'g\wF+i'a _Lq/*<2cG 2jI1~^q&[UE\nƖO;^z,ex~n۲1;TWL*$h_u̵394lf7zB#_x8kδ'$MO@K ~0OJeqFm3'R}wZg!U#37&=zw6-as߉m6Z,LTj%,+Zឲ3\E8E;cKwMX6m$rP1aH,WXjG7YbW.{gu1"6PYXia4lgH(IűKeC vJΔS4p I s/ 2t`Ot.rHcfyt/%e24$ZU#뾡Pd=KAsc?if6w8'I]T)GO|a@q?WqRVUʿBli>Z4XdSu~JD-1xbV_]=ͭX]2^?j!`P p%l)V+O ,QZh*,0{ IJ qpJ +q9*u> j)ȋ |3lDO GBQ+TsQemk:k'?/yBf-6)F̮x6=HU7>ӑyK(7N<E+VL;UY<#}!Te@7>Y۴ smd8E.S|`_\hѯ8D F71yc[88+L'؏=T8 n=6M熆k %q6tcŽ.Aۿ (4 .-tg )tՄu`r谾b,8*#g~u2.{'X袐 P&WbS3شĖ沜y)LnY MEٸ^OHN߲Cmۍ0=ʀ=k/·way0ZJWPL>5/鰝OU;u<8bKһGRġ-rsj|ˉI{ON}?~vYX~|hqQ7.i+&¯ ]sC_~+pROVnhuY]]yeAfoPȆJڄg)9wʼŹ4]+(O=Ʒ(u ɰ&ņؿsϼG1 ˴^-DM7 ,~q 3QQn8+Cx\Y ĠDkհk?3_(Y qH JMi >(t6j'lRvA÷Q1*J *u}{~=EŀdcYx(*;M䍯sRF`]qɚ8[H-ˏ_, .FV#p ҄嶪 BPd>3pz3zսNFś6C4j0HZ*Z>d#IA٪5$4RܟlaOؕ)j[*37lп3lWް t0$mO/[PĿwؼ6ymރq/_^I`bZؑ5`tHJ5e`ab()n)EoP u~!+]kV 01 _R63Ίt4`|XHtQTJG9Ybx4o2DLO1V#=e0f1s7X^l}VށM5D Rt==W@'$,[6D/\|{z&3A)fT:vt]bd*ZaP}oyHj ӁQy))4 ]4iy_RVEr2ѽ.-4s&gv>z@OPE!cnTT >^5VmF4Q>).wwʃ ZҺ֥B MdI3։0X!nfcWr%kǒz o=(/X(澩s>"2\ qnC,!xnq@KKmo;RdJ7pOnj5^!_O}%Ҭ;,|3ڥ>2Cˬ$}|:e_-xR՘QWAtU(,tc!8ړZ6/ Yld(?b5:&%"#&ue1U=\;U80G.A.o.RuL;(8\]<ь8Dw@ k@zD 3q@Cae Xկ9>(*Pj &ˋ5~%I{Kw]xOS, rZ<$"7nlՒ%6<Q}O]62h083)I& Bt 蕇]qrn3>#u[妏$)J ;DIN|ro>8v2]uc9~]*mhM|eoNu<vpq.$5軕 ]Dyk{y?KY߸`?ڀ|Q]Yߢ؛1-iQk6""M8O.Z`g],mf7jF؍Qe4<[bAUNH&Ρׅ' X{ḇ'/jj5`'dφ {'yI-x/a% d/񤎈 θhUk<|d(/r&e{?`w="OR#D2| X]QO8Zf¨QnZƽ `zeZ|cX`Fr#// #YӕX=k䱭C/;;g5n,r68d]J v4ZZxAWCkɵs@r]\;zLJ6SrFʁJlh+[Q)ԔN:P]I^H$Q~z<#hdc#*h#O 7FJXQ0X>yO'}~IgA i nb#ٲw3dk펇Bc '%FT4FQL qLʙ<峳1DRŒU"(YۖNdރ>mI5$E s$u2Ke]u)$E/gyCːd4`@z,/[b4ȠUSX0:T4<"cxTUϿnao&2E9CJ^xr,nz*ucFçVoPAp{ԕ̼$4&$J0#Թ8sHUn؉7bjFhyCҼ8rm nBy5J4!%ժly+9dQS|[i}a0Z]~q\X96T6|3 YT1uiC]|nN,ٕ33YSh(_.<Ёs@iJJCa4_(,-4dTBڔ\׶3zRCxc;$O.#o(U@붜FZ|շ:oB%!`BgJvak℩{ZIG~P]%D2G[ֶD oeh۬CHBFc`pCxT-ru|)siijj̓{~OmP>Ê$lj@)y[=뒴iؐCwb xLh= IALq+ (ܘKn8%(~jɲwqD1Dw-u c𙅎 QX M" cw퍪Do܋'`Գ?*T)E OUNh7 K\OM޽K=ͩo{Z=Wk͚ w|@,yrS?2"38wXۂ/©HQ}xߟۼƸ[ۮ);/&?Olofr~.*m폪T+v$< $ 1MoMt[X4J EpN%~Z\StoYOpFVXGSUH lҐ.քzS u )'H|4헔R Jg5aS2j[_76!TK2 ʱ>o+B1k~2p 2&="]cgtHn |abBx{?M5mO/B qFHxEVO),DC,?#6a \)9Zp~G HǮ30u$QЪbՊ* w&>0z00gUTEſLˬ._'1&̶oXSoiuMq.|e=HZEe,2>~u3ܒj?#1 @'bGG c=\}9oױ}ޏY|>kn[`H u3NI\$#ͼ5 Hf}^(*~./$"_M(~&/=ߪS?WGe],7jk{ʢLm}C-)^hygJ l'ʪAԦ ~bXagd Tn8NK g#:it?^"׋/="9/?Ce>|5^2ؓ -ux3#6y*ϒ6*q:gB5EvfrH0&yU@OQEޝ{kB[{(3J@(:?\sZl^M\rmwE#ѵce3*la]ĈB69. XO%;`BRTΨN X"cKu? ï/B;ϵ;pJ/Or3J# ҾO=Y0l-Kjg-ZhLކOQrx_D᪓9W;􅖁В솬(bZz?US<#@g֛Rݸug}L<¸m"*WFɞPU7XJeS^SUwx #Zrih$*89d;+ە{mF' HO ! v0RQ;4/m"; 5D|m*Wrzolp-b~Ռ1sN(:OBpcsrHʲP).ծ2COv$%g y<ۇ?[*u׷^B0WK#X=ӻ0#|s HI#W[C#\{/$E;`F)\Ww vż=*EmKb=\==)U9e/efQSmΪ+JzsF du,(HRԘ chv$tb(? ('ù4=y1ތIjD _s9lB6dɒg}6/~XH |Si$@{!)K:;Bې0S68YH׫^y;i ]1zWn<* NȾQՓOTb˖d \Z$J=Jib_%weR[ŋ:ELDIվBy!ybt'`32Fb i=TƱG={넂3hXL/DR+|fz F2EKtdFƷ=4ojWG~jpXXͩKa*h9(Z%xz8#* &$*7_ң-196Y@Иa$?qi|PEi\j93G*Ċ A8`HI%pL##9|LqH;w^璛py"ԂpЉL]g,uҧU}t\52FRWtD4]Іwډd 3oS+7`VM_$vFu>L Hф` jۨT~FUc%mD-75 Tx2JkKl [b u@p&(i |Gy!R24``K׸vW/Y0̈́DAs$/I-pH 0a.ՠHx+佧 "2M<}[ or +RB)95h2.-0RA᥾ n[.~><o߲<ģr3eYW/fc(cC4NI#dVw9HT BT }Hedq/}{P׽_s_V~SXsm#1SB^-mbM:MIJ?JcJa ش'XJ?D|RN.A}[@#2g:)Z'b}AWhR*OVPp5QfM|n$.˄KO-aγZpsؑ[1V17,ro:[<;~[F$T#@6ZbohѲ]H֐,"6$LTh\$EQ)TOLy{J>6&7SA}h?caXm#հ]zPP d-X\6jPB?5|)뽬J#i1nm#9luQоc u *)Q1nHJdlt5ټyi:TՉYٿt|uPIp23*>ƣ#4$e2P$ΔHZ b> qXTxJ㉑;|_ :݀췡D0NzQ7u kP/e^DՊ,A*OgU _z![ăqNX!c4<Իڇ!g0P4Y-4Bedf!S2\k"J>6 ۸x< nDN46߼hڼl+np0d~!6'F"S wVTG=80)᫿Dȟ!ixUk(Hb4 hfvǶ1q-;o9 KqwLGJ0ti9V31QWDƿ_LkhqW%u'#\n_re5^?sCJrKٞXǐDB Пel8tbUߍ2"J䘝 )X[">US9XZȼ ;X-(|$⎴.+9EoIyfڀ]07`@ P=tou_toaͱBX {9Ql>aҌ7 hJQrX  HD3˶pI;JG2=G%D'iyDﻂ?@ɾY9vBR. =fp1JUc &u)[>}KRILQw?:amH|{=}):$ρy߰'X(8L⁂u7H]yϬwODuE&uIlPC~KIV$BjSFuލů @Bt^Ar&5D߉JX(޳9#x>G}ݡ?djiol?<S_N]+5]ft$k]TjˑV0q9 FH>~( <[}z݇8F0sXtEH229Pm<Ϛ1H#y?>_(t>]EEgteآV>$ ?%&N)ajLET̨"CBddc@aUnb8ty66smlWI,~mLBsamDT~d(qℍq^WLRs#b3B$Z-S.s#JDsI)"#Ju%p$n} ('q=vӴi2n^ KqZzf^ m:߶z守,n=2-$k#5p7u8H|#g ۭ̞*]Y(gmquП=j!a GIݒW4=W^oNxgAJaO&i)(= ߾LFLBT$~.QTVEoOiu4M$nsIBm-SCY Ir@?"̠4!#(tpڞ}Y :!(~& eDa Sʺ^'A|bK|'a}{3N7 '868W;a^2PP+!a$nۇ@l\ Gf2u0oLv8p1~g~5,ӻzAM-sLHm'Mn ]u?,  4C0r:.o7m&FP\ˌA==]oɀ_eb o-vJ*|8?QIP-P>h,$G?o3x鎋M/2:QU<| E ǜA\2tzK%񻱛{ dc4YXO8 \3,0ICH('?9dدrM7sO_kifbsAhM$])aV_[Q}76Tp~M,sڏs Wxc C#ToՃxm$[|K'G\.! R9<"1J{g0a~1Z,MB[7WMӓešC%y$n7\ 2 [Cs4&SyGhj h.7"pQVZAXy'o =`r HT[pnN&"S$ؾQKrY\qO.Eav5#MiRTh.oMLz~uvZ$vLeIZOTɝt-skr'@Lu@ͭ")`U͗f~oBʘs\Xa ̕: vê2*w Ynj6~]3,]?!P q$GLT#6.NnH~0_n. bYë-+7MItc.`W܏3)Q|W~NM_tExalV 6էa ?.]Qw"ل'fldZTlM>o-ܳt.s"zK Q#R`:֙ d?ܛY^HTΔHF[B$ӥ_#_D5uqB.mȏ$mȏqz-iZQ ۻ]9PݤT`Sp%"A ~eTb+Y gS.-FXGv x0>>_u̧=~S d/YT@tM -;\BOTآ ;՝5c.8Y͂w+ɤ9Bqc78tfqp,/S|,⌁3~(Y*=/ y=葐Ó/m,D_^s GP,N*ߎH. gBo23xfZI f1G$Ա|s$O:`7H b ~U-ak?q"KkB$pYrÀ{ŭ7aCAK! |cΟJh!xw`4Hك1w``3M/To/ 1K*fjRE700y(d@\r (Cm]luq{JKiv8WK7NBc6E>nڔK hEaf)T׊xr5j$Cj _6p\X׺St ̗.6J&C^[K ֶd`S3+]Ry *q6@nKYaŶk! fONsԧ MNSw}X?C&] "}2* z5kI TYyf⑹*͌ @2ݽHqwEE$'_['lSNM5F(2jl`X5t7h,lt^q:20~7qÙ>a^m_J潥pE|;mmj`CgƬL k@Բ8Ӈ&>`f@ZpYYi=]I+j踭^pJ!Yy !p-(-;p=&eYMl$yS?(Gy>fJ5HT^1!ʛ),ͮc>Z*D(t;7Jv*P[&SYgDFPϬa+jZC,WR9Zll+L} " *%"`~5/VφiK(p\T㷾tJS"eM̘ jىLyC qŌƘ0݇Q &(cAHّ$J.m|^*P >K,MrGyAVa'%"h_/(TGq(d\(])$Brb=oa\ u~5/y(gR -떞5~O  vw# s W"5'~C솹#Vΐå!8w֎gg~# |n iw?~_42u#Q|Q'V:ɪzGa7J鰱 ÓL3:AvoVPz_f,ɕ#3* {tA}AG]T wWګQWZ%wpQ3h3Ҳ$Dpt_* gf$S u+ H&TXg f&o2L:xBI~Cƀ$,#yCc`lt5W+OisG$ƕK)Kʧ2 ;{UU^2k;ʨrWfD%>kPz,1eC4t9/CQ0sqoE X.^Few6<{P8C 0\Υn7M*XBN %CV*G\GkNny̬Hhje%qM.}:WID 2nn0WE6?=Kƒ!meLkB`Jqmܒf{m<$#BWIEґj9r:Kq gNFT:ntWCm>n&gXU˃˜;T ja_I}$ > $v3 a禺\CRoqayA_w&TE@qo,9&DHwatɱG.v7sXoCU $چJ+e0k2DZ-y-sdswJ6BsDtl@)$)65<Ŵ;Q *@`fYZETRE-(@1,6"=966NlYD?C0 oplkۅ@7ݨD $TQ~ qX/P eI}b2+P^?=Ϝ|G$)NT:Q E1f'\dP]aa}%-HJ62l%F#B^^9+5ˉC-AGv\\d ̍v`x̉D&2)N>Hl_ӁNw.\4hכ5CH.$DYxޅ2T"7Rxֆ aq'Oy3G?GD=# mRQ&)rg{ Q}@ קZvL/ِ 8MJq"eo[Kapi}5D> e $:NZ#8xFan׹+%\uwc#l̡pAUztyiror qf:F8*D|4u-oV-ܒּqtk ?|a U,TǾt<cfz>V) $z2^Jd$\r;R6((~Sԙɑ&9WU~OEee=X!| yKS־O; U'Y7 mJ~Pʎ_Z lk4!AIR~te13|! )m>4x'l!0eKbVx8yaQ)c#͠XLE(,gw`6Ɩh?5hVks4D%R~wOʌA PLT 2ސ 0?8x&_N4u6z|2pa$g/[kK_dIhL,zr% i 5>0LWVd4Qgg◒q[#y)X4K"7Kz#jboPR"ro;: IrӫC7Y~bHbYNVp@E<ܴ:h=" U \O2p_ЍgZO!-BH_dVOj۫휵_%C4,#πK`հ]>Ɏ_2FdcZ$Sy>(1_ u`g'[NFrrjpYD7GC'(qEe0]~QXF`̾g&_#iѭV7R >^ $tvkjb~GmXDmθ ѪԉvJţ]n_FrKrgzR:|džFnz O A}n\AG A1* 1 e2; J6WJPaa(cV95Nlϫ |C{¢Wk WB!rWS:/ .|&rH.z"ZU"ȗHvf@D~u3Kv㠏D& *ʖu+w|kbQDw+nuabHMuAdZtFc wBkd3yE4-?.˕ୈK̇^1k3%=Ol! btK GW,˞n&ien4a~|(H,{Y}Y; _.6J8SEQ@>FƋMA+W ƈ YnϒtA}[>*[#0x Y8jHX{/'(6I֣JXށ1oJ13y4[Q&w76;@EMQ;V*^mtQ7XOfSkW)\R ke ?YCM?P:Ϯ0$C? 3f|R 5*RuwzhpQWAnrEˏT{;GZ]XPȩx.Y>>"Ehr|l/fcVyQl";rmc1:P}YT.N;[+> !mT-,q:NoZʕ?R2qTUh/ױd8頌`U(+29; YYxCih.?XHϽ(kzLZ܌T j+D oQeӈ⻬g%:w "ts7ZFڵ ^`;Sw.C5*$jՔ&w?!D OiSإ)iw,dnrejY2dr׮~".ɧ(@]bAGCDz*O$ bMcޔSD\d.OV|E*[#"6; 6,RA+YP6TĚɵ+$@WBƕ~VU<ߥ03KYGzkȞr w,TKC)Γ:TIIV._pAVx"8374:i˳SE`%V;c^{.D5^2DVgٰ^mGAb lA|GFIwN0O6oӭ}dz ałbTi$ 8'@/8uykMw^(&\ 9D^_3yN H#P>sv4>B%nm2 q4l]LӷՍCB& .%{ 0 {bU\o&hIEI4M9tP;KAX`. ع>Dd_=t VX!}=%nzp2&R~[pH!??s:_WS+E96ee<VCs3>$9MSkS5Kc)0j3PYWNyR?(kbϠ32K Sg{N줖DI]Cyұ ϣym>W5`CȨV.o`i#}J| R FE/mm$$Ê? zz mhAx/"o/g|=.[JjG))Uf+O`]ЀC1!ShjPO Q`ٿu>I M VWA ;S1ASf{1/RbIu;WW>a{,S1 wė*zɰC&4W˳NkJu tTzS8#wr(h@UƵs󩡬G]ϭTcKaci dG7Uh(,(E$㈅*t%;ٴԌ\D9CY3x1owRAeK谫S~?ᐔ|gq6o􇯒{NTMu^M .>2XbTOogmT zz&y'6|L, z0r ڛ sY[eBҡդ(Yk̢v7C:ϜZ7aKcKY\("Gȧ=qZvxA>݅}{x|$S2sUف_ *#HARRO0/Gw,C@~A;Φ;  i{ Hb(L# c/f2wq^zçl<9_9E_* Lړ|'t4~Y0gQﶭv'w 32#XwP*r4l0 L;#1t7Qd _e6|>o/J}p@Gsz[BN`+y nZIDQ3gV2([j%`|r!ZrőZ]'lp %dd>ZmHH %6r&`97b҇򷧱*q(Y goApǨX  CϪ6QLfh逌Vr+kyUɲ]͎(-\g&-t`cABšP6E\:a{w;@=c@ǿx؏sʦ2v]e6O}ĔӒ E1aQ%bژap RήE_ӵE2w~BxۭC jEonQoco'OF \H=C E⮉7ћ暆WL?$-ziDxQٜk F!my{4>b34y$[uQ4?Qoq"\vuܗ/Q'!fumiZb@mHd2$dd͘8YC;b6]Lc̾55}hNƁ:hѱiԦCct"ݣKٗ⋝X8mXGQ`pn'ΥV&C DV>`ҋ-sa OV`Z` TX a4 }*BGzs0X:diz0&&;;m$~r }|a@HC2 E.{/p60P#*.vɫ_M)ܬ͓ $h j X;?MΟ(3܂V :C2xF41)IhB~>Ϥ4Ƌx+;DErƭL/ِR4[=*Ra*$0݇ Qɴ7mO4S>p Oe-P7pZA()iɁ,XrĊ v;lQofxLڵ 2a_åU)֭*Wn!]Ůx?%_RcS,``rmhP`ߛJ%LF mŽ1II+X v~kP;8hͫjᖾPQʚ!6\fr d30*cjɩh5Ͱs>|gqeV a:}M UB񺓨Cs/X$um(^ߊu%!6#Q0RcYC@wD9^LT1+w-'k3tAZH_̇4M2vcEԥ[=NS]pEMPeA6EԭD岠b5 "x^`'Xn<*:$ ]BH2'nZ.pAĥ& u>$72lurğDZ p:((fyUy=K*٣ hgw+p~g"xR  dVR!T!ؒ_ @0A$‘8QZzWZq>/V֧N6YEl)MKщ[zՊQVxl<_ʆZ l'"wף`XoL6~,iP>tHOcϠ1,e9e6%{n?3 z.&%x 5n݁EKGjFݒ)J;ksh>OӦ)5+''WgO`hl3ݻGkWTW,Z!>2"(XTfM)]Ƭi_5[S_Nb3.)laź;ϋ}=31W^UetUkc`rpt%v)8CT[Qgm_>xΏSd*"gV#?0mBz\K_VA]<=DHd+/(D&ѧ2B^^s;E~I)k!-*|@S #HO  ]i/ޝcP s.ZH}0]cy p ]}19LBq&""j6,O󃍥|8V*K (3HKح-#>bb7iJ}eywnY Ԃ" eYk|hǞuIURAhz>?ͪ[EWZ[jndfVbS?zi^kK'Gnu.Gڹ ]pԤ8uQޑQ0jl?s@_٫ P\\d@ s u4uUC3Ԧ<51T1Dpf$9=ԭK~WSʹ^Y˾=95Z qgI u53EoZ޴`&#r@y}k2%VwvAy*@Qkc8cV'`;&'ԓ _ UGeތw:22|! k.Y+cVP{U8)k$]7;wo q.!;ϴ {rab.Eφ s~9*ZbDZ 2j UV4 <?a!n\ؿO,Dn\A`o0t'FbUH<׃_mPHrپEPa 14m|x) y\N)>Quxc'-U/Z]r aAY&nGc!%.%L=(\℉$~D/Ʒ70u n71^Z&M.j#ͯR$!YF+`o]BXI$ /">sD0JẁZ->7m$ȩnKn$-逨J{X Uޥ9b`eФבoMZ~Z&D],nu 6@E }']{UүU )u1bEA$R,Ǵ+ 3wBL;K-4rT/o\5`}9JX[4D/C( hۄ- 6MgCk嬆NX&;ԱT?Ԣ͙Q]IUh.a]St۫ҐDA)рZ*|;C`j/+ӠR FokjL8D*#SYF~^UQϐӯPclGiyK_-eM"+aƦN[נDX'e_I1pv:x@|kq@b0L|ՙIBċ+]`|Ty֓ZM(({=3:/V DCpZѨyO[sȎ2?5em' lHpxRt˫U\DD+mT|\liA[w16``.wgH^eV$lR(9, i6-yCibnxR:8#*nu*:O Ri8cL<> 뢱ne}p~/x"jaiG҆ud {J^؜?^mX!6"@!lCԍ QJ1#K쐈%|=W9!;ϔ\qu/]8i*#6_ݭ))Sfs\ILYCd%~ jBZSp)]j}'SN+[{-j,iq;(*g;8w@sz64!1TpXas[Wi]@ck7Ogs9!L6Tx]g,fD,g Ӗr-GRrMCJSU8J!sdJdaʂm1'rzR}1gB?7tYВ:UŔ}Yn0TI@ >dԫe7rtD7KRfV2sӀ%o(3,W[ MANi@H§CK뀬 Ks]x~yryqk GE?ȯig<';;3 ]rY[m/D?h+#7Lij/;$; } 2nRM~\kz0ÁP<+IТp[N=ÚryFd=BmU!%Oo$toO?>sJn$(tn',*5tQpDn(4`I BSuHijr>lDhP`^괳+{ЌC0<@$|٬{&,L<ט?JUͺzzvL9 ⷴ zkQQy ְgZ`̃]h!1=XWe A\r w[zTM*9CAz vAh=ّbs~F/+`:hʒg+j3g00N}Pz;S"] 5x|FuoT㲘ܓh$:QLPC^Lui>64 5]ʷh Q;!^MtZxEJY홞*Y( тv@/'do2N~*qlpfv3:,7hmʦW5(@}B11X]u쒕U+͝w:*ʷE՝ʡn-{O-ܐ#UyRJ sdeZ:pGI~R3bnMYBmi$::V8~ 3'3oEW.c"GPCi[ɑA b|$f<*GLI`E&}6Ԏe^N8HMQ ff0@|}\:&eOe Uusv23Y?bL/{v@Xc VW2"io _­`eCSjATE(姈p]F@NOqffe[ջ]GG_cg!URDu^`_#ӯiծP[w; Gބ<QR/5|a)…&Y`bo<i8>@w xB L(fRi2?"W9Et{DZ'ޏ&@2)鈃.bZc $6Sw#Yv00"b*L= )Y{^ CQܯwe@2,HnT@#_b7qQ -YB(*qQ0ݏRj}o+5SBHBbV> <}}bI>rs`ke?jCC:V2hwD95p"e#9HMKg!~2 kʞ1%цr<$-ƎշGDچz|dl_T :8beM/FWM 9H<)9lŰ1~/P[1|E[=^Кq6׿ ,|]hz;yKd~G[z&loR[QSEsI'lΚ$L\+JDWmŗ"0AXWtz9O_>uR #Ysڗ ܑCu X@_Qn ʕɰGcH1d$9tplP>VH2'mtCq1>Dw^|Ckv^*d: ։Ov9 =*WGҫU_r4l|kǰ=7B,vJ:0|W\i=ʹjtC<+W>s6) l8]DgAk})qhFuMOFsw-'Y$v&$jsй.8m?Q-^ 3DQ]'O8"䚸Юyj-׀ZqxSR2M;XB 2d, sǩՔfA/R >i]8nQ ";Q0?r8Dڮy=թۧJ ֞IeD~MYP*YpJ1 xׇ oMj+w-o=? .c*3UV៛Iݖ.:RyRjYoʏA'G(-mHQ!z4'GK*_O$ Jk_1NpK^_fU]DaN4`\^3ʹ &>nkG;7eEjs3Z&Ԣu1X#VR٧ezٸ`ByPYnfPgPƶC^UbFT˦#\cS!F7Z,HyizVoKGk<зP|p792Ɔ9)e)qJM%gI&Zk ZљN㑋 (jͽv;V~em+ /0-Qfa(\q<κrP~gE$^5o Ǣ)򱙈W> WeA`tkkiXΖV/O}<S :3 < #܃ wP >X4W=w_2lZz.؂!>}mŜ|ѿ9㍞jI-EFm=#(B֍<(qsFO[]~~YUZkfRo\~9`*56jZZv1*6`Gi5jOڤsCp tpW˂xk3cݽ6V\J{B׊N +U32m=~1a@Ge,=nAU,YaybC_4RB43┤KU0gtm:K%.i 6y΢P?5{gP5/*vg\(0o/6Hv0kOlXQl/]T/(»g ۂ#E_"Ydqrud)D ]AeЬnf)94Hb"iYCl@TX%quTڶ(sS B:$A91yp/`e& rPĞYr~*'U{I 1lysT~NmGucih*1Iv~pԚ7&wWm/͹Ԁ!""~=zcUkM0~ϻ< P"EsWdRќPtpa+tG)KPc]Y/#%x[]nϞ;43 $XL:?57qS7Um~ S8[sskз/ݞnzl"_:c?KqSa 6K,.x[T&\N$UHm:@vy\=7E3|25<53['x (&&8n @Zp8ͯ.eꆾ&6!0˳7?8$w3g 208,'F,=Ǭhrh^/B_EKISjJx콟clate:SGoO%( uOg|xTr?눘 4,L]p'q ~8U3,ts?ԭ;rnH}rYedᕌM,Z8]._6I )P#\xi1D,*r5ňbeP5Ӆ݉ !$Y$?}c]Lp~\YmeFA`b"(Ӎ.ZƢ 4a7R.j&/,ڪ%hWr+ƃ٘\塽Ô=-Jds Yų^xOh︫NOVkC cAhWkE b*3ȕ"_2 p螳 G=~|!?+^KuSDdg"` @m ץH tZ!ZSΨкYJ~1R_d7:Ҩ0]IYOǒ!a aJNŁ{4*Ʋ CO،ryS7H0)>nONƋ{3?e8t; NUݙm ;e{w߫5|Q"OI~>qOIoiaFN08-%c0emP0X. bΈҡ6kQqIaWW9X]qS?7^ 8Y cn}G9%^&312`N  kF]XpUP\b&Փ()W= 2cw|hAW%׈g8 dRYī_Qּ X{ Ȉ| `@uvbb[u)/; %.l=R@*?_ [[坢fmm9oZp=9pַm= Si(G7M'ٵ]cp/k US !"giz; -Tut\&>H}r%Fv~ 9)$g;^JَO/`qAYuL䍠(JZ>nWiP5ݮ>!_$c3IV:Y̻Ak31Ӑ#I^΋r^U mcñ\8~fLx*զ 4۩Aolt1g. #J~SZ[laǢ=]Kj,|:`1ϝ&X1\ɆtL)b1rDiS>(8 Թi$ַW=::i|d82_ qH[҅kpSJAS 7s^%rƘ7BA+#`l&%bepTg:pLhy)sۉl_[`̴U!r#Y1:&d Aj%w<_LY12Gv dq ߣ4cU;+w޳Jּ l]c QjלuNѓڰ<&^wy9քﵛ*b>[U"&Mejp'T~C`9wԳ||s)'ΐ^]$yJ7GzHKƃ-y}4vHoK84قR) j:N&-3}̻h<l@DM w^n6~v ~YԚ =񗵡/c!~A m09AmAW?ׂ0RK Ю,GW6WFzT/5%ZT14~&1\ӈjnw>&=^i:c"a?ªJaT*{Xp] k'}K h}Μ題G4)9eW+Mk4׳EIvއ?6Nsɤ7Ɔ /){xc]Sf|=օׄ.ri*j>'>ʐk^|VQϷeزg2ag\Pc(xdg5ЊƯ$$2?U"ĭ;cUjHi~[e8I͍^Ml*RKV"YkW1+nrTRfDQgoэ*ʺTuJ,`To ȻV-vq?n cE<@UC(al'DLZMB0ȕ#3cxi#^H,)mR0)Jp[GoQS-}YC&莜یs !Sd(2S+joS~}dbg0ׇZc/:: s%n -볾OztCWD[aEN4`~?ChUTxؙ:zҰ;#7O;a3SSx8PRl_GO\%N ĩW J-ɞ,x _4j+#C~ GL{goquc"֟K̚2٨½ lq9C`tEagL7B5k<4wܻ խl.978먧~,hsw/X%JT)Bj1O7 . @AV~QJZ9T |w>}r2T/(񍹆K%9u[FB<01 ت٥Jᜒ}t]q][mIB-eث"Q )Jj.e[Mwwt*ѤDXw›̀"zʺ-$q̛Y٣3= 6%k3L/##y*.qˀ"gs$簄J &( ҂ OKEX DEGIS:ALW?G:+F xT q4aM2 s\U9d]fnI}5}/q[Wjt 0߽.\fF ԯ Oc^EpZ n׫LXcOe)ީE:~[F^*֯2#D *B?F7Ӕ.Ƹ>ksn]HK}vnL'9&/"l>6gM=|+ŷ،|Z(12CAXoIGV'UͣYso._d? t6nzi^RP&X悈rѸTQȠ1-"za)yvH'L]NߌFY@Rs8F.ynj6UWJm9clCLJ.CGSIRf[-6?)袨V;֦!%~l-ylȀ{?CGsy߬֞"w;g%:heĀԑ8J*{2U cR1Dg.ךlr<>7_ޠJ;?ވR)Pg(Cx(z+]iJ 6<+e>wi&86C5}h$ °/L}K8AY e|^e-\/A*^waFO\{=" Iw#2Hi!B*ĴG ^Th8|Et_Qp"'pNN2;mh Yqpa[_|s]73G >z@~Id߹[o.*]p?ZG^R@"Ėn0 `w|1$7A|3q=p+n/c)cEJ[>f)~kDjMcp؃433i~J3O+uh E(؋O]}DLepY}da"[B]޽Ԧ.9 5 (LB 18g4Ihs34<9)rx6j#iL-GKA2΁=nھ!?U0f-[E 1qpBQ{>u^XMRPZu8]ʺ1xkv_lh@{5c};"^<j-sa/ =@;7p 1YK?' hi <ҕT4W=y,*u 4MaK!hp0NsǠʍw'ͺOeL<{5)K^n&:~+3+P8A)Q_Az #FSm!l|= J3q8fFtrl2(]94 nNX Fj&Lg^嗞(?9Mf3*'ة`4Fq&X6,fr@!vg`e)ZV\ʳbKs6޳mUM{HJ_u|Q{־}AY2S7-"̿A:&Ьl{ ^hx#IA6}ɾ~?T! /:cY OU HS/ջ}u"_5M `Z|4V Ջf 1Nz\?uj3W+.1gPs}z5*|"Ի]cB!WBA-M_i`@O `4\Mf2w0 f[QE2NO?VjB փk$1_01@ܼ^{OLE wHáM| IOJK:U2EIdm0`H91bZ8Xe[m Ή>7]lnz)EJOh8'ȪHhw4Q5*\/3-Kĕ&ڂl2\Y/ͼ[V.x^J[$XS8#Vh Do|H 6Efؒf+@ 麊3hP̎ g8qPi">[65tF4 n"(ZCT@u܉@HSO| 1iZ@mL.uтt)]!47|~%!-P2LF=r@eZSB̸݂VmdX}!'ebgpIFWB)~ձ6EhBzKir|~E1I^GOd#6]vüXӰZ/B`H~OԻk :8>{n5U?3Ͻ_)x /Mo>,JH6F7]a 釟15 C.;~˨"T;RI#+(mkO9X3w(w98O|6o k. Sbrkm}HLj>P Wpd2U,3D0/' ȟ*U}Ø4}1qQ3W4v[Mt>77MVDSbQMA(kcy~Mm = _-vaŋ&IS^ zKp{V3+0Tp7"fH vMT1jɠ!VVFc :l~Oi>9WE6 55?Z|@M[GEӵ/P:st7wEvB<Ԗ4vvjqhwoi\0Ռ]\gQ:;홳BeC ωG--Tq!6)2iSC2͍5dwwsTypFd3q5QP 2-l}YpD# I"ݥW#_A>s)7>Ym)9䘚t"u;9$#|g6A!l!9qpE;FC&FZ!D/5 wadREEreE=.Q'k6,%O}:fqޱ#@ys)a-ͳ|^UV!jk&9+may !^ 1eRy7"+nc(sVQX2kwIHOIC-Hr7Wȯx|)-Z$!rN0: jfS*jgʌ0X4\J3u\1 -!jTҘ;Y }r+Ukx޵L_GqrӈIq^w,ffQe./Ҏdlj%~f p7$)LD /\nHDAJ /BjbKɲͷ]:*ZKdql~s JugK;G'@\ ͸S3:تb 2ԕ3`6$; ?st҆jO8Kc`,>h6%18aZM%k,8 mh\ PJzʃ6`Ӯw7kU `讹Ł=|Qm١G|vBz*3 % \qIbCoI[f,Ϻٲ T mnVKmC$C˙ ֑QM̋5iĶ o.kA18̹zs镠 3D:ٻ"ɤ>bv?\ Rru+# W}1ĺU}q6 V bVSVu:h!Js!R{7+_$ ?cSt2alc1i.?yplԧM8{rc$,BяL_gEkՔwDKaD!E"7ʄ@LÿyHQ+Ypkp8\x=7W+Dc@+%σ"f'OkՈbc ^iՒ-\}Q1-1ތ\TUhE3@ p⊩8%ұSaR)sF+<_ O%[nV)_scz.nwt(t܉g, P1.ȴ뼲kAdT$35rV*7/C><Ǡ);Qby$zspg h{h:-3'bsBoz:&V1 >Euf3s34\3 &ԮCz@|uXF.z8UF42 BJw!OMEme1I Xk#bPV[M8+cn9~sI3dk%kՉM*o31LTfHē*L;e(r5 h23[ڟ/1'ow>~{UH.F PBJЬ` !13զ|b*ҟfЯ`yk2uMcq_$E/\Ud2n,ܐ^/E;l>Bld `n+ p)ȫz S&M;6^v'3”<ê@U|@O]d*Ayq%"~ JP`U]!N3ܡ^AYaZD덨2 Cy|6 ~/QY˝RV\@ \W{B o!4 ݩ , MGiCtcPJzږ)hT}bP\B jپ\|,14P;xwҿ_%.Ōg Cޭx֥~ANAoG!yڵRSX 3*](;⇙4H1N,:@R7#kZ Ge!MB&*6% ]mn*;dhjDY3hn\&Qtm`R: QpGsRCcf瑊%/U_:N`yȼA~U[oM|0%!䵑tN!m<4?|'̨DI+ kmd[xJi{lbHn`6g3%c}sjh7|+MM*č6& B#ۋSN ;DZs@P؝0eG[qt?-ؤ1R>' 2.7:BIF9gW텊m-wCchC ڞ;ѕBe1[7I.nR-v<|0(Pt#'baQ.%/1byZ<.d;/Bv9= N @87x^W2ɶxG[]'!CkUt L[Nv!X RϑzZ/~!^p>6tkc\'9^='WRH >困WETmiqWz1{u6%HdSFxPvl/{:}. ]j GY8߉BgJګ@EGq݊k&B;yVpz`d MTgJL-zMd(vh}$-Nr%{ 0]sxUd2psh=@=o91E͙յ|:vhVXlZk1 I ɭYK 0jI]Z7-b`ےٍC;?*kuo**CuD%$qSTJyov`Q^L 4@f EEqlB&n{C:Ls) ]L6RHCϣA[Pe o?m1Ѱ~Phų3|pbefWoCMzg#(su/yqN[F87hu݌ID4[~HN f!7rTS[y 2`AY'f޶ "ARQ>.\nmUw[Ef h/7!ye nNUJӀ 4 ISDHbM Ja9%Vx(}`I6%a?kǿ1IdLTO`HVu\"Yl4~+y?*7W 2gNo-]y< L>_d*w^\e֨lOM; p.G>leFߜ0rV܅Yz5|2*WS3E໋@y@vʗ1j`|7mXɩ\vSR=Z&H mtܰAQqʫS \y>G~d$˫ny)SX%IUS :=&}բ3trgSy,NVrF;8Z4Qwq14S߲9`=aKvCC^2yy߲?;Q N5N̨EuV;= ]srB lAJVy5irGm`Vߔ)MkCSoCGC񔆞#w7kܐ8safj>KWbBxDAk@[bl"DqV c w@/8hF&{芅pQ='}-@1M^ĒlJ4NdtRQ*us5j/ upKW].ni|/*ryHMc.IhNG28݌"M߃rVmn@ɭ8L za0tSP>.ە~9w4U/h*H ;rdRHw~IXDy"N0v``-#=+V t?v\ݬSR^awаA K:ה[.lF@1&{?zG0,{ͤs,<UW3̲?{=ZC}ZOp-Ҝմ=hW6|~nGzǍ9¿xݽ MQE\}Di]DZ`ka!%7>dIJ&*KWtXw*:UF4X/@Ծyd5>ܘP $呠XslCٍ@JwAYBWaVGi4_V03u"; up)H_xן}t>鯴$~q_QdIۺ_oEc\uhۄ.L@r|F#U(w|.TrAap%` Yk爛 gnoKcH`Yx2h7a6a &ޮ.RN?3O*8J=OI!IgXYlJү\&=;_R.T3,(DĻ; `Yy|P1#3%KJM-IߜɋY +:FEM.NG 'd0߫ۼB {'٩Wd;$0>[ I=ބa!}tEq&k2y"ƒvsKČxcM%݊$ ޑޘll (z5n҈ % )s2{lGޭ&Q¿z,IKG?7-c\q)'/=JT?E1'VʍQc*M,@lQ2<5d.{3J@\?:{a-Ҏ0g B`?f'vGGN68HWI,F |h\n\rL%@xgyFd"Ja3T; rMSy`F*OҸT"DeeeLەGE4F:gXȟXL(7U h [@THhg.t#gg]lOc fk'F]C`%7\LcSIWd//S8SS .]ؘm,iu_zPp}l{WzSxGtw[9Վy^BW60:&Iu rg5| Yy{T:OP#wpb#"<ƾ=c5z|0FؔL.sn</zp/%B._gJT 9ڃQP,~./',>8F7JRև荬uE; 9+Ͷb#2CzJD,?pfPME;S!V@jA }&=^0gOwRkbk:PY7si1G$\p=r<ղu5}u"pvݛѿU&r|Qǐ8<0,hy(L]KAiQ=!3%[~/;]E, Of b¬5v/O,ܧ_*!j8oջ({Kf?V p:ټ:8~dƘf{X $")>ѥ Z'F3j<:Mسs"@V{-o/gm BCtFa%%'DV})A}!1ZngE:d`U^}uvgU}[ OmLn~lŮz|yv?t~W'P #I:w0{avRNqP.4F⣓GJGbKVכ8:T+er RRhUuy~_հ^'xU (jWmEh#')ȏ{#|3J(}. ""fI%*y ZoTlw$]M2Uv=jE;n A?vU sevz $"Pm댧&\48WqJD?ckot-Q!aŔ݈z]:Y/ͮ7[;A`\:dg[!uRpu4}^.*V&&t#fL#IN~:K԰ <%~ ;4!vwY}V5N@81WŤ5 qy胃ˆ Ɖy~:4wmh`FvS,_PO>UPZkŧW-ElA2\w ]YX%M* ͍_6X7SrTalJqC= `\'cuU8l;zꖡ7a]ߎlmob O,Ø"t9?ъ?Uk/#zbfLƯ}.V /2W*9} 4f RuB (IF`& ~`!!S9[=(%m:*7aÐrM2l߯LA$|x>/8o ]K+ʷ)x:|"SSgr) f$ʧ. PmJT 0HWy usw |pr%TDw6b;̢C+kp `C2*$*F wCV <; q'd6DmuDX!ԁr{K|z쓕 /xkX>(ã2yˎÎiElm5=S=JA= F,rp{6d<o]}򰓕yc]E 2+#ݝP YOCf /8tt cDR@L6,O}vPt?(źd|e0 [XJctq S3$Ea 0t!x)R#Uӿ'VWXèyv[08AͲR?ƁLHfcւ&Ty F"X$H^ (_v刺}j:Ire\7C% ׽tt u[" 1;ѹ=?~@z]ύ|Ĺ/d"\7ĞB]RSxvznHnلfk[#(r洤p7  _)_d]yp%9t$iӄo^Q 8|vx'2mwYf? /0F &p઴T%Uf6t>X~/Xm!px2rawھ1$&GԓDEHOc*qJSt}$M^,@Z;'d.L!0ffBbˆ(/*;>Kjgsc6i*am˞ûwO6Q$) QꯁV̗*r@I?wetn) 2sQ_s.jަoqٜ"/!b-F?5q^vQL%o]HkT&|1*jQ# a( P^+3bzXqd.4K<aӳ'/z.1JؐyU/nw^^oXF4ަvՅ2]LlE1)ppa11%1YA~#.YqkQsj|Mul9״2)F6dv' c20P$PȠ"(K~Y I*1S 7okzb$#"Qi8CJ\c,0U 8q|A?2'Zz'hZ@3kD䏹.ߎ] Ȟ3vYiWb\}uT/˥*NGLĸu|9J+ *7; bUF`pڷdCr.n3m]9= ĎYۈ|\B^HۃQc%oj17գ}%3 B2> |?BG!s]DQF( o]B _;f_DIbdM馸w@Ƹ|+alaO![-0#Mt3VܛATq y}~YN^Vஇv8PL5i 3x]fvXÞ{.,d'7E%Q3nW/ RLK03nvߪd|$ ٪x2Uw9vd'zF[@ >ږ֧%vzIkaq* VI@ RR%v9L v77pV$@lQfyw$<گ4RUDrv^>W^l$&<zЧ[֮O-^- TAH\)v*0@AZsDpHQa|09A{%"g*qy\;ғIJc~ s $jI(.4`icVqy[oQG ap%ٝ}=Yƃ7懾bl/ >QZg_cW 7u$kɃˠD5r[Y觕M唞Bp2h:db9Yh& 0U\@K{-;hCXwKW 'hJ2MasfVVp ~컳T*:+$N!rN QzuE6c?qs+,]$Aܥ U}ZML*£YfLnY*BjIѶȾs> xR@ y 3&|}bWuO2I Ւ&r6[I#k)E{kZ$~!Ev#2B'=q:o:\*+adaS~@eIѬޙvf51^fLB)܃fa ߢ!0Banjl  mk*G%ٙ)dvA vD`@f/CYtՈwe M9Hs'\<> .Vaxb\Gxi=$K̎Q6dx;i?_-]n^0/YXyEls$2"ȵ\\6' V#q1CulC֣E'v(dSXhʋV 3,hzZؘ5nIUAQn* T)ch}ٵ3R~KXqx={>= 6h.}Q9ԯq'X]ᥖFhhfx֓)r Z-zYkgLqPt'ow՟UAbߝ:R:B;,dx-t:Ol1|bsv&X8~8"e%kA~+="V_j}^A!mFm PX3Q*LsGAܗTa ?H ZwdBAT{́j '.C9m~05@?"-> sq̐J %ӡ>mGjoĒdoWR1(&E PP 5t8Sj^ˀ_#}="#)&f|c`We婝L̠ɵ S*MB S:rLLX+ B%i$ACONT=*QAMgt)5Wu:Pz'ǂ64eU0"SzF"'=L m2pcL(/%𐑈Օif$#\&'\]'DwUPApȆ7V I̸CVhǨH?{w>qV^,l+RTѵGӡ8z-4.{d[i{.Swm:gZ vmlsܛD~.+ ٘,ܑy/|_ICgCD 2>((%.p*=cǢKO[~$OdbBċJʇrtgRU^CʹU3",eGXv0gp˥囌OXiskz7|,/!֯k (@G8"Cbc7'M@,)\{glcˇSy]LSg"z0c>|R"Cw2hW)'JxAGĊ^M;wX /r]T< B=Aw?=*e D-%3rTID/L]3r ׈' oy"ѓPP ֢ŚUxWRB½#%Lt1Ht6o7`gX+^C SF%)ih)GC%LЍ%}fv:b!NBG/bɔ|VK, ,"0d[hq#u:\H^ p==|V ]iCrn↹vi!:搀ƟskU4j  ݑP5C>Q,69QWvq}io} f %F|up4{-QeRe xr+ao~*!f|[}Ș!u~e2AjIL{G>կ4[:( RNa|ԋ(viRC/D w"|TϓW%oa* t\֑#3<:>SbjW l6w1H2=5$dVj̩glG 阾w#O06Å Qobkќ3pL|]3rՑ3Ǜ]uܪtGEC׏j eμܧ"HϩTKuwz&Wോߤc֭"srH(`2 'ePхheG{`RgBUR(I͆ Ɠo ZQΎscm/[^/PwT5" DHߦe U'L+ v`؜O52Ȇdçl[IM 9&a $KPV6Mot~8iȃ7HK^9Q.q';}OFg/t7̆Z8{(f~/R] -ջ,&Ux}`ac)x\sSΔ.űjHu=>5ĬƠ"yi۴z\;'! ðyCI8(Bkrpߔߥv/:p?1I#5Ю7򜿩@F?=BF,w{^e'g .SPY _T|h}KjNz,9#jE3$0[/I)U0}4 ҃)_E( e?(ǜR䬂˯AG, '1b8XI6^,N#5}eGMē/#oOIuㅎ{INpwRw&'03U8_-'i;z0Q&f'pñsI5z@uOwgeûBx$(u`m*E5LW9KFL`h*Krw9̫0#Ikb`8G6Lm_ҙk*cS '6I3]i'g9B/J]O/ǐQ*^rSё:_%H5K 28aY~滃 Vz`5e DŽPlKQdjަc%Zlb(nQ=/;͉xLE L9-tP=W"`_6$Qnݞ3Y¡0?FDZD8 6ֻ5\? wMc?3KS))/%6bn~ú^*4sJP>g_7M:,Y|yfx"m7HX!<|7ӿ }.NGrJ&T>ç}\@c5@Ϊw>W[WKeLl ,l+v[Nz{'yJLfK|`$ek< a]^4Itwٍ?͌.,8D>̉}X3$dhœ@`V1; |ОMxBد}V;rRLG^dМ#}_ xn"/&2z #F.3J۞>w@3οH ^tj%; ~ҧ}@Spj`5IG"'TT7e -ަBg{CU!YVx)‹ !YJ#Rv+,-OЅ9F֐Xq|]y2l$˯rzŸV*[}mѬo'M _}} Aeت?m cǑehHԱJ!)H$zEC(P)rhD'b5~:"!ڣ_O V{[UMsS/2%xpvS-L(qHY.xod/|+4`׷aFA5ȀKWenM;447V[^q!:Ч!VǚFgv'KVoGcD.g*'NwQE .00MNeHv0ƻWҗthW#kvsQcv 鐍b3W={y7 x޵^JJs- Ca|xJ}f)x!Tsx0?=7Cc!iDvјJv,ZYQ3Sg@և|Ԗԯ rJzl|k<2C ʘpe-x O| y6zq N[v}1^:>qU#dw"Ά!<; p)`NJ&ZX<7z.]wO I%yq-˺iwuׯ(KiJ/&z ;C4r48/"5h-OnA 4ӫu6)n9.q{9( -3ɨGdEpf2fӢr*i M>3G7I fYĠh*uKMߔϛ7If{frT#ˁ~ [(\HO`)X37)\b.0C7[:w*E|}O?+a0hbGߠyI*˜76fWVZ0&`~晌 _I6Y7<a#u4Y>{KMŏ1.uKDAb"n2 R\D;GRFdʛ?0fL\"ݕ-+ȍnH[Sу{܁ϲFh,V_r H3ȣ2Z^>!fk5}A.Z YLL6dL=k"'RLC3>($Ьh2!R 8wXXj./&Jg-&*#cd Ȼ4u$[}~fX԰l__Q$B24q^eR*i  3q&S5Ԇp<Pgď.f@eyL`4k;5o,ldזKaFl&K?h~.f3$+Q xIr ~j/䖨GxˁAƻyn{<?:@.aԋ\,R)v-r}SsX]Hs/*APQ~]d t*ɬ Umij#苮 Q)UK8Kӗ=C] oōDFH[QAb; ɒBJ3ccT`eb]329x P EέԤ6R"s҅#qѠ"5i*z?RMfz/+VdQ\?ثxwY{WM3[XC~;9|Y͟Y5ss~r]dտwS܋H(;c,>Q!I>gLf XZIΦ?jDIX#Ru_w#5!M T.6hptV5o!"2OX 譱mʕP[몱DUހ-6Zh])aEir)74,wI>{)}HhT;wvIi2$۩}`ɞeq΄gұTY/Lp%@FMͰ2\.K]5mdi{bc$ȅ諲+?bUNiG2ĺ^As t2\b;f'}隬φ~~PF52)"\T,6"NKe:z!$vϽ)y jTdhLg] 3w+3k=;0C¾YR>~CD{oJnvدRCo]mg b!&tܛѐ,GSwTY;Lၣ0l\‹'#zwɭ͂Y?>z K?}9sNpKaD`@V~tž/Lj4<,qz:ͤ-#vOo/<{Jl% ͒?o,-e&pX/1 q۟\mi>}kPGOd5jOJ)J#}/#)_B鍺{-%`|n -}p}0QZ!4rd{7a{ s帨VX MNU&>q  j#14P&TSA &ҽgԔ tk|NSF605QCaQkD^Ř(^Q/ikrJLh:Ւ6 c?eV6__l影SrzGB5cMGT,eOљvYΉ3 h[XA0*!@K i1ږs͂k/za<\22-O% 1+X2 aQkwB&oPr悞>0y!Ztj ݂^E v]#.$tR!bāȄH O$w JBh MW>$: 䃠҅0ݍ="ᢏyN|8 xo=p:B3:U Yӧ(bNn兙\)5Vsu{=Kj67s"6A!MjWH$`LZ{^s9V;8=xFFbb]hpA !'-b_ˈE]U>!ϣTх`N9d,k=-XV!.F?'1P 䜂D)-_6ܬOкo59ڌս4Cݹ?Z. ;O3 oF.XZz0tӃ _4 QysrPxV>]n~.ݹVT]y|+Рt(/U 6 O>H2#U)k~=)8vGZjJqO-l:uY&"[jI{UËY@s̀ȵPz@#9R n/qn9cb3Ukhh~Y!(xHA;_T+iPy4]Ӈ]֭]1<qǹ*'"}!ME. 770:F[k 1ĒJEarK5nHW#]]dEnZ[sd|\9>3<34ef/lA4|ym,[bxϰ*7^S)aM%M.ZF'+!ʕ1n~ F 4(Df\KƖ6>fvf׬~=$T[O7uuV:U^)qSdێ=je:5zFߌf$v_?P9`ODhEEO9[ӨԮ<%:5P4?$;*3]g# 'j{yv%/E)dօg}bHC, OkLE:+հ Oj}b p8RW'H W3;V9ۅKN@e|ƙ9큸 ֪uۭ")un)Ekɵ',L=mHd/mCk\FNL}t]K?HE9)z R}I 9{A2y!TѦAD[;21aBDB1307W~ 0ݒV`cKGDt6Z%nxBz0Tڠ^:cAeiyռ[ŚwDj~퓔7U⡶e |PҰΝWo(VRV`9\AzJc^q`K/&Sl5B8gT! _9XaCuI?>ak/`:,ȹx/@)Ԏ.Yh;DFT0z14伂k^'+yϮ!{d+ގQn u*hCQgή\5T_ZQ 3 o\OGPl纷. ZsE$C@"HKOv(hÀv- 6G^oN$42טԑԃ m+f;ǀV+Q&Uǽ֜zI(%v:uZ#QȰǼ4p_s\Exo/郾5wbwՓB.\T벩ٰzIgK'{j+ny-kWB5Wv?Q:&bxvkl/B4OJ]ockCdJC4}ܒO zVl`gU"=:h` G]d-tg:h>CS#XfO=,p*ǓQjo<SG9t? K&/o#ba1HķUJjFjOq6t6\DYqnk<CO ۄ9"O 蝆O7,)ʽo8tYQ$ћh2c*V(~PZƮ$+g+~ɗIY^L"L$G3C!Pj^;8˜( 9v$;φWv&}cF l cLqV͂2mM5.FՇLd1 :>Yq z iӼh+0tU>l{Q@B)k!xwg _M4caZ VفHP^Z,I4lD6j4&>Lj_q*$U`b2 Nⷤ'iڍ`)Ȳ(> چdkD1"[Z;7U&ʺg#rbN h__`u΃nTBU F$fMטh'T-zmKa7M^L%cX@;}ej4MLɁ C.Bȑ[f+DQrN䳰@1']߭)1v8I~x@rAH1D[Ј|ތu2, jwUA?|BȬXI?ж_\; |jү:Db/OD)0ڈeϖw?:hM[r j!A*$oƄ޷/(j AX?.';_(qKj,_Km N`>Z]g%7nuh"bdhXלջ{|qY$K%0V0 -7c̄VhZHpl؝`3Yb4׹q( zx(C Fͱ9 qϗDM"+>IyRD]#к?Ghn,$6sItu|-YNsitG-PБ\A a4P\^)kcdD̆FNP8Vlg}RR`RL}BL|=ZS+zՎkv7W~":D,*Wi: ?.JaE+QJİ}T?Lu{cZMtBa[meul}dJxsÉu[q̯Q> t&:@#"w R,Ӟat-& `(A>SG$\xCU]g֋ojy6YFuX4 ,If AcsZDD%:[?RbqS[dM> 6нKHc6JC;~dhVstGӄp/% %1 y#zɤ6@B6a'OVn)6(o2^ظK_:<^_cF1_D}I!"N`&j/nWȴ>Z߽E:pQȈx*umћ")HOcwI4~H^a-_,Z1Gba,G;%Nc0=x-# }\hPv†3Jjy>Wj'XY"yzTHRKزΥIZx/jYT!tHgEC~LsHSv$btJB׏Dk[19 6+hv.v̳t2Yu|6؞H[iR R4,F`_gMBI3lYm;+]yA_WH]\Nd AFA*V!q!IdA,n,H LvcѰ:@^~0 MtKDpzn63{Z:T {j"1jf~qW# D|)>ONX0[/4%XPr?4Q7Q4)ռyrL1-HD'VpBvȳfu%tܙ: UQ =:DZA7ͺ˵#V̴?F! ī0BH~ݽdbR*rNgY ׬L!6'8~؎I&raXL~)HFt 7- E2_Yxr7}*,5l~Eٺr!5~׿E_#'2MV ;أ"1w )[?BHSgOI(0LarȐ띖B =b8! C=-ʔiΗTOGnj8LޡLFԯ .]llcyWR'fcDK&iP;ɚ>i5JՓ"_^\Y f@H=P7 81#Lձ;+bd!%>Jq׷P_BNYam݂EGݩm~F-%{gme V?PLHk;vŊm^|" %MiOCw0wFOmf18g{E3o>%r%A75x7RVҖ.865NܹK*Հ[KQ8Wp]!J]Z=SN[PM9GU`;z6^Xe!6c 턐{o-F3XаS<)ͶAWW \ӽzs3M&X &9JM4p(?kKL䰁_;9"kP_)`C>O]}7LO|=(3Z;|'o%'4]NSAYϢ= *[Y%^-DM۵7SZĸ;Q`Fqqc3ރ' #/RK J3vîũf8~d:T L^v*4ү,7iu:l ~#rv3W6ȕCN%f\Afݜ,DZ FsA\o0V`bJ t}gP޿J@MRl!Xe~Hɰj0۟Nm{ ԏޮ;(*,q$YH~iw-*&G"C(߄ٕP7@?E2c83ũGEbj<.AA$vQa:lXR7f4ǔ^9p=C{հD~DlÎ3}aFv☇p ݛ0+g(]hW~0ᅰ&쳿 %(W6MjXaS]˼{f̚IַZߴMR$~}<ǐ`0[DҎhibQaM.i/U1)Xm0SV[>0o*\! N+q)\Y ˃(K2z fvS`n6VAQ'Zd)_ 6*8{ǕڈD5z#]%yI}kPuώI2Ni/xbB$Ӏ^A)_A E LZ6cj9O-V5,9] 6đUY6NF_rQhRא33Y+=:jm? G}S28Mڜ?ڙ#{-{n19: NY06OK;骺A|k%t;j/Z^KD9QUc{_t3;]!O%WWkvgl̖pFefUScݵ@Y~&̐fHI?Oy!_zEks%3tn'&?w_}UgT[+OZvl W[Hj b XMZ8ėW:<Ț bbA 3gtOS!sܒ`y^'9("֪tU*P! tU0]JZ¹9ꓠ9Ŀi/\l` 7ܲƫ ]kHv*!pUh.b.\]~vd6-~sFdAQ E H[^nѣ 7Χ0{/@ZCHX|eG6##9=478v#W` Vvwᡷd)^Q!ń>n#W@|[jN- > /cQE8(X"X+h]U>d ՌLt]c-bܟ ? $Аv ra : vOI p;Z,tZt`re/cVrSyƦbK Ӕ>q69GCAbfe 8M˜Щ4TQ6PKNB!]Ůav`O%H ؄1>5v LE)h/+MeQH~'RpC8+0v*WeڧV&a9Q =h"jB!A_!RiT'RٌBTYӕJ:6qڷ͉|9[[3pn$Snb6|e@I[^FW`C&%{v(S'OH$a󽩀 eč4*{{ ՓL@g?oYswF{nMLalAG&זNKN"dGk=f[;FERR&"=/Y4* `XÛ^KB(~ȓej3ͷ 5* p?-GF qE͛9'vr)l45*ˏ¦`ZWBUqb-4 FmFnQ(.k/z$p:0Kp HƼDGhJ,2N|uFSPȉvͷU3raKXIzNwf :F{;Ѩ i)=m=sm gFx;3`R~|v+Dj7`WYz:L8R7inO#1VT+x].~XQ6Ig/{b "oGոP?JȩF&|T Wtla{Jm` cmTm{y$L gd<7T"{5#al[x*u+aާ6r.-6H.\RSG~`}Gbe+įc x<9dUb (@p@O<b9MNtZGUtUNxkps=,qOF#r #nx=(: VTLfU!Ss72 6IlA}7+_|~fKm:_lu4f gKpqbn9T Ϻ%ruhek%85~WSD'2/TwUjy|!-.8Mv~߃3rf'3[!V"52¸*(%"<$^iqGt?E*Gy@[7kIIz#H wuRffoI8hֆPyοwp*2{-ް^]A"+ N 1 p!VG QdӯC*| S-If`pi?֢C?^R`jcT]!:oj]>lOJD?B;U=#@TxtoQ.ZGYF2}mBY_7"ch`}ɦz&\huR8sQ9ϜH_%C~7$ j^Z zGΘWDAAR7W>ϳ/.ArJkXӨhɫ~F}=p,,_UϞ>ѱN] A/GīIh\:˃Lk sO1ɋ,y3#劲$\P_~dKRC͡!_z17Kg01@Ɛ'$FӅrXxP(4mM[N}[v 8o@uAsg";=Ę R-arRs.vN]S2izL:,67:J^lOw^Λhװ@_]UBؔ08\QhJ$I!Xɀ}nK  ~-oow;mG/(;]zyqʼnӃ@t*/Z\MO wa9]$ TF/⺌B@Z:n6c8ocmՓ,r JiIB֠mB$.U|Wivw.8iX7Kx.fcTlQ)SxO}/slU8&Ы49>Jb鉰owwHPUŜ`hOn{J{ܡ M螁UnN[ΡWkBz""uD'᷻%)"' )?C5j\(/52p 'FjJ9oS⡉ e@zb:yJ5ГqОCwB;7 w:^{\AFftO3(Q{lN QLV\8տݷ`çGUjxI;RVx\Yv#g!ؔN:C=1pҴIC0hթ<A2d{]+,ԡ hmF:SPhg'GI*?~.g";kf>8.v;YE0;u 1!l^i3>%b!p PuCMJE/oBBK2GD>t \ƎI'#Xf&S!٬)c)O,mUĤp,RU%֙Vf0p|&7*&6'F-q~F2e\<~M; /p$ŰBǎFEf}+ RAw-;0]i4 Njg6Tw)a ܌zWvN!R'Zqm@۪x'(OrArWd3(:*0!?ahz5+ӷay.匦g#+p`PtrDnψ=h[tMTO<8;_gɗ`qO[Li bD;pd)w̢Gc^GY1s"1jTbM͢."p D5j(+YX'ۏO {RC`R, Xf9!<Mۇt;k jDioD<qKY!=1MF)f07]V147O޿"q8OM DNQb,W <=PRM G0_r4 -a$ʬvCoRLR8r98O bM?Jë.6T-1p"VOU$Lqvx}3c@YD|mU_gTvEՒF3^dkPI%-tMOڃimjl+@OǐPcy7:h* c>]lʐV{2z';ޣtXqQMcP?kNh8P6ɞ+!FMPLAMvb:nzU5 9%C c@Ŵ=)2]1X?uX@lE /o֋HLQ#2 jC#=\X#sƓP׊I꿚 r9C3/֌$sUoIdE/#_=bC&0S{ZC+ ?*&7.쏊,E@ۼI{`Z q)͕)Upo/vFԃ+I)5nOV$;5t#g9yZIq||Kc RC&K=}x* '/{Vt„>ϩ;^PsD*U|in-&$.]xvf=F$l6 !p*b5BGCF&+?ɪF KYP}&nbH*w h9F,Fb(xĐ _cS'u#pF #> xA ߹ e Sr4¿ޯA)\CbM2CxֺܐCvB8XXGfxbzomX*BBFPUk]SwW+Bw|pD6M /16CmXcQu Qg[n-B]M-|k5zUs=$)F?D992}C=y Ȯҝ lumˤzZ"ٺ p.:Ia/-׍0Rз 9 ?{jWDݦ@űb:YYs?U6F0C?|آi6yfQ%߮|7S̛hOXPgV[!o*C7u/> "ʩov;5fC)1r`v.v!X?DxSrK@{BA8h430e? žC)BXO b9f c=p=:d$Q Ɠtj¼RV&Q[Cʎ\s _W 2K|)_3IGU)=K=R$Qzt Z!?ҀY:)3aOR6+;Ƭ ƶxecoOab]2l;?ѕl5}MUKEG:2"vW[Ja1^Q!h W=<: f 8fK[oZ ocrލd=-HLp%P}[3ұwAcrp72($ILmFg"mOLZM|D7Dڸ b|,62_m"mjlj# :ifr7Ezʱ{5A k`&k`:]58l _CA+m.AOP⦂ MS)5VpM$P +Cu`59Уnc"x\6"qWY3,lbEv6I]Q//P~f0l@Q~L/Wc¿ 0DX^\"rocˮv@"G{ҐchZx#!/T7Uʡ78;*ze= M9t\7to[ %Ts%Pl#x XXWP>{}7DJ~<Юu֎_mpnF$7$)v>X֚ઘ׶az5.M>j~LYZ}7GdIM*85Q|ZBS*T Ι e=O94K#w@f>rvo3LJ6"+S+D= 8(> |bpzcDhҭe.G(_CbcvJȠI]Tzo, Û sSjh+ps4R9vu?Gƅ08D>0_Mu}YΆIJ+I|f%7ϜZ;_p5wV 'c"d{0~M2 u>|_}X[2 sՅHuLmwmøcr[Fp1gf =@{6 cW,CI=E tj%E _^37lqo-R@[ԃD%Ie3]F4-]X6kȋţJ&fuSOBrgGm'Pk|mM _`8:~\1?m!ەUQ`!нD2@h0&!牔5TE=W ).n<(C֒22җfYKDE]Q)6(9aN@nX*Ct * rg.| u:GOmbQQ>9Ni-%Fuz&"\\FZ]8PTL^ $K7]U:@] HaGdGϞr$Cth˥]mmY(E{DdeNxwM8n2Wq@q4IH |x[80t{bs"뮳1̼%7($*)P8][ޑ 1jD z0i1\Nwx0sQSiZTRuKϦFdsRK r.ߑ_hԅm֞R5yI?_nϕ"oO~꠯a0)u=im\6>*Zj*xBmX*޴뛸(OcрgXc}P S'+u!EhTݩnPsc֠{q[PMG;j1b4n TW+cاI^Rww @R:/۬1Q稊ـ@$@}ƌ]!y\T|\xKZyx)1G^ml,,3cK1.4L2|ywrmz#uL>T {䥯f.!SFkY@ kfPEe|ָК%jJ( %nDO@; KT^)]B-AeM՘ellL?`0QӠ.6V1DݧLm'ȶaLJ3s&v68Ec@y %QbgQ 9!W-#>D=o֒KsciqL'vVŰ#C46\%75Y1fIbhC,rM9С@I)6ɵq$F>1ľ{` =invON8ltȯK?:_}N\etr-w9QT*UAPtI؏DqW8;oG g1 ,`F鰫 so&Ȍ&x恲g'EsImQW-:[aãv:;$ݚ袞"+ 4=TtXΈQGӷiR%es$/ o )8rBLP3%&d7+O^SM>z1H2 [{7 \$w6q8iehOZǓK@rI} zg~]$K/ΡY~]_qNa .Bds jec "vCkA^:-PO.:RQ$^Хw?C)} oo۲%\-86tw(y:1Uld *f0Q(䲵'9$ e(H)*tFl sr9pT EȆ+{0P7_dl㫈^GA NDAɯP5Nﲸ"v| }mnt뷹9$q_3,uñq#=|y2j+D l.1;EB? ]tn1lvߺY;UdߒMpIun)uI)vS*o6 WeL#8,C]4 ~ p M[frШyko6{)@^<6Ϡ󧖯}wʼɋBcP-lBj=}@(WY,FEKMv0@hcJG 8s]F3J(eH ~nΐ-7^۪24p% 8ʋ18ͧK'O-[B2y,^/M 5z$0j'WFW }SEL-BlQ_,Ȫ9+W5:ם~^0Ysڎt@9aQ E3 LP;ǐ}'Bp#tRefwQ3McO/x'I[dSAkeb]\wlKU#S;QDIOcE+dϽ''-Hڍɇ[1&Vn֦C&5 ,ŨqOwCe1X:psMA|jF-h(m:J[^Y2_=1d%a6p4Ѝr,ƱIX o?tgl[?9W3vE{vT+nTz 2eΧb!::\6(TYE w%'TN.a ^%5Fǹb|=KDO+6/;zi8%\r"HKҴN*y`$_R1c{1z?3xAhb- 5fU `HsYVz_f9rBf%n7&Ȩ: o \j'O5c# 8,CvlRPn5DW' :C!:qrKkAV*ڇ؝Ϋ1fd%qTSSph1QO2"rlGnE~YZXnc2"`(ƃVe4'bc^ 0ǀVSDLi\?gp@cuUZ$*\ np, ;<|'*\W:2̹LgdЗr#,s29I@^Ԩgdx ({Wݶ}&l$:=Pm) ܕ>JӌzwzD6aq TLnK spvZ@jW5D1YJ>Gs*(EOzȕF{|#K< B=ojss #'&%ˆE2y(wD^~p6ԟ>>=^cJQS`Bf'suiFsj m6ߴ ifJ7^p&VĖcp?;͐@5Q}I߿jOT̤A|80~:O^pQqH=kлI6暴c~[2JECXR1JP6[̑b2!C_CIJ5Hn30n!v'z4`4Gߕ].8 ;&2&B~?I9ڸKMOelm҅Alvˢyl,/&݉_%7zO/HjJWq&\X,ٕ ʁUaf7%Hla_/[H&"s?[b&d3}co"pRYU`A8k3TRA:h3i\iM$H[Pq,qa To?Z3K$#FDeNzTDw|>_t*Zu~_QG Nf{بGGuGB皎$}ss%̢1E .& 02Ɩrxipuo({a^dw20׃/$ɲ~/Do[Qy.8C$oֵ-I{'ʻ6*aLMeE_5؝(3V=3%Byyl*ݺ݇eG5C̣嶖~i=Ym<oo DeK+pr닑|p5/F-xɄq=vU)KHvLכ7: s5-9qf#3N0NjȞT$R8Zp]ieP"ڗ#6LjC #S,<}`x;:~ZghyR1P%%F@$l[>QBH#M4F|]$?y)[Zx#SmvP>dy֜O=S:kr>VEZ(7'\kv> jkE % Pk3M!Y@mDF'ϵ;{?A/ljBYzw>jzQtx힊aJVD$Й^k_([aP]=;+a7X؅Ezٞ9_01gDꃙ[$-(tK˭.4&xZwcAܲca[(|q: Hm&#o%U15EMWzo܎|k 8{لO'ě;s̄ nFZ'~MFڷs(Q"J?h=; :~SޯZw{uVG?68b guaArxo_E-\ON_ϠXba5FG9J*]^I1ž1,6|aZgFDΟwϽߎOJ xS- WV'up]iZKp\! YI(BZ,8 x%R!KFrvRJ?J{J4^ـmJV %?}! A-׆|$|4IwR-?i+L0qpV*47I*n[U>]`PHϐLaKgIksԟ5*P c?mf6D*8 3+0Ȫ4H^cX`ӭvJZdB8a[ Y0P)xNUګI{>Mt'Ջ>pd~[ O?%w;L%W^zKa)Њ_mliDc@j fcxI[!9vv*oYG8MlYi83\ab=I(6x1o)ׁc/ =Oӱ^@T[#- pq?k(+sAY ,^߹1^KEykU-Agf$Ѥ7}p6&2P13l{XefUzN.{ {|W(<ۮ\B|FTӴŰ~5~2NDj.0V]|_ ( o|F:?KoPо&Z2r6hkdš/}\$ʬiamv[Qqt'n}^ܛ ~vKh a:w+&dMST 0Ëӱ=3@tN؛oo`AqoAb =Ƭ;Vc[U(q$!IbM<B24A5*?oGωHAZ!m%2bX "{4{ΒHm2#T -*{]VMT+NFT℻ '{FQIÂ<73nS  ?\* . OW}QPϫ.Be(u -[rSDܝGs|j/y@Z>4^@ȧw`9 oYF҉030+chYz)t[‚ MrB@u /031!d\%LXK("ԪPDBFA,Ey,"S"R[ 1g~Bh2M_n4*XT* L$҃)L+۪7t 8 pL?i, )q!y6H/XnۊKK'.H𩘠bx\;F#1PV[ Q8%GWJZT(C"FvyB\ ڳm~{[A㛖7JjJbz.uDp>ՆQףA߈;RȀߊ.#IW4$Bȱ5kԤ@qQj*g)LLM(5}Eu qqt:jRo3v٨8f 9HN#>8VW]N.'${4llsشÅk72M(W# q H+xI#RgO8+6SENx 9HD`V8=.8и@ozdw.U>y"* @sJEc%x2mt4NJo M>в&cgO+6mnfhT,/˙O,Y=լ0"OEG'H$?0:au٠$%^-{Jcb& 8F D’=kC *MEKD:o*DAq|"s%H/(hv:)f?J".jBVb:R 4d&m56IiD+%K?>۠c / /~vv]?bs򶇇|Ԫg=x:^#@-d&W`CW}\u3{8B9FUptt+{*}v @֎$=3ZT 4)4cNh/["ϩûJͼnȮ/V1N=Q6$[lR#7^t&(,%* <6C Ιn~`E,|etV6hLET֯ "TX$>,i[ ?\%o;9Z-I)ߕ88ڙ݉u=R_:K Z5"JI/S/ԓ@tq c83]4Ό ǮO?d{`zYZ͛29=OP޻QGېs, &et-ߔy]+dݪkD虦 R/~"Ew3 (Ug:O(GY`L" 8EŇZ&`)}ߘ'{AЗu[ƕÜcv {p~%d*h>o"i-G!u($3k!\`xƍ9XFuiMn~(p75@q 1LҪ$O)< a^?~y6W82Eia2VǸ)^6޲#z|:ׂ,+lc8mw;"if(eo YY+i:[+k;@)2t@,MrX# nPǒfkɇUH#@kHF02(PX~sCZntaқuUCnd^$ Ц>4Jg𫜴&mъ;aw- 5ck?J)nR2dʿ 4X[VIR p4z. }T;GOƳߞoriX1ļXsG,Fv/]{eN CVOt o }{Gż~34j*&v8o"*Ð?4.;h Ye&?37IDCH B9G&8d#3@ei:__C_F^6ܩ ɏGa5|~B?7Z-0:0_f u C͊bTg@=9@(bǻ,W(hK dxnW"49@4VYLY 엟%Ҩ?WqBf@x#?2Ix1W.څM5`dd2^P?Ubp70jܜKp 5ӎR(Rv@U)Lz;yCV|r<3{2L6 J+i(5P.9Y6xT"pçH⊉~)|Osyb'ѷs"貱p$WtCUq6.fN g^\n\9-&W1swtLE^>ӇSl"{.8XWU2e :4Hkz_}k !.yyk*?"\úG'WPJr&݌ 䖨l6dޞ>=ֶmd(_b|Gw:z"8%6~cȉ1=Y1v U%M#&U6ӳgXGI/X1@,a}k ۛ'/ȭ$S^< 4eJpSmO/R8o&5y/e:1YcokohY9$m`BrL0m0tuy7KWlFYS'r\sǮe0:^ú8 jb|ue~^' (yc.M_jH΢d }D#X3o~N%OF v}8kyɄk"{i[3nrd{1j` n?1!)y0|7a=lesNC'4yE4ZlGhqr n8@cnZwC= UAwvt~4n6`ulwVb6g >CW2R'ezFT}!eT%"ƅW=J=wu $l̄vg( (kLAd[3X*J ;Pz5>X.O{ZM32D&p(h*Wl\ҡP6SM[9h'/m˴W.] ]/.0E/C9D`7<tj 2n/:2>4BZ8 W?D3(H,{!׍ЮNYb(.҈0^x݅ B6*AA⺤7BFKn5l<>񔶿mm0,hFW))DDU܁(XRlc=ywcDLV:!F5]*Io--H[KqjaC\|.RҿoXεD{Hdz9[OհzHO%fCgPΨ˖jdI= YY!+Jq\[aZ5eHe.EрA.ۧ aQY_'4u8> p= ٹ4}/wrXT"U)*MU 38~EBM7*˒bWiL}g͑YcR`;WGZR\z<-ߵ=0'Pd\i@Ӟ9V u^R׼*;)[Ni%vOnHs|-p Zչ7zL`)r *󿳁}U `e*i%2{D Vck9:w3 )bPiE8|HeaRaB_V-CgV/%8CѢt^!x£;452 z7F؁ D]]Z;7}7Fg^##p.7Pțt$BF|Onp)ómIAbC "ňI`H_&&yeי0,ƕf|lή6qwl@s2--8wP(@Gt r5҇uw9ԄnRʀOE?+tVbT5{y. 0wLpW e\h ȩ؎Kߖ},hc7^ \&^?ҥV8!RmWFNj.\ieބ33f{#6XOHX07#ke2 T^cZ;vM N^=k!FtsXDef|§:Oā[%KQ3Nրe֚FHC S]QG'da+ ; ?VKSa WKݶy^lmM T+Xf'myIVI©'b9ˀUKR BOv nZׇ#э mT 7j_jy{҆Ӣ0V3'V=Bhΰ`PtD},܉ݓݔ"[* amEpeU*;Ċ%"oCn.pj }!Ś:b9ŚK22n+);"ys?(QȞgw "s]fd9%NOʸ, 7 h7TYY]䦘ؠb*ߖd>'?Hk3ͨJ3#DϠ"tb /{u F_&Vǩm.%~ ~x뇥 dyf)>-1?CFo?O^`z"Y)~jd8hui+4sj^IC /+UI<'[0ܞvYj6ru8MDZÌr"fRfȫNdyy1C@'yЎ+,3؋P b,`J-2VbA5X1-83}``DgQ2&\0 Bu~2aJL=U |"_sC:c[o;;ERd;?T.YqU.+c%RIpDp`on7jHA`V[к{ u2_>L .enJc{5M i8? P:YϚ8s݄9ʮ|Q ꦷ̻fڲgX>۲=#S$V<۲ӗ)cQ9iC̪I{='NަsUZʟn?S n0olr ATMGPj>gǡEϡ'>yqT胓uQ3+tJ%L0OrjARW0_h^Lð8xǞ/EXiշ\eo4wHt$@a'f"&3f LL3L`0ˆ5]+F 5qEizX5+N5݂߳bp1G]ڝܲ.e$PPj:卪7̈́^ :ZfdCu k3U0Nf&y; fgm2:b3DIIϐ4 "ǂ.|R{R::_Ià{[ e I D1C~Hl-L|ҕ~VS:VmBKh`8K~^8 jz nbT o, nR2"~a;J.Gc'z#ʒn{eL-K bc/|3C9^|U[N+p첚,^T* }u.i 66g9A(۷ǐOc0Z|ӛ,sCx7Ş? 3ީfveQ$ f)]a]#豰/@&b&__fEV C8H8(05YKa|J Y|}+G+ҀB-cͬZb<8DAl ?  ȃ 8dEY]~B$lK4<&ͷ11I\I..]As=;5r.l &PkE,ϥLQ ,tHG)LŴ;ꃄzDq81Ѓ6ġ=8iYM'w XA5I m><cs,2!JetO[Nl_L $L dɦX9nC2 W)P J,ߋ/;߭*dv_,2$Τ$f,7^0"lͰe̖)t-QPp٩s1Bl)I@~FW}`td@F+ R3HみI9GC2g(|q|~i][PC*N`~Q3f9(x*>S92J` (ձ.y:Jwz0-Z/⡄xy‰&_TO`~;M8/`zN[R  o ? zǪ.o֩h) lqǪEnC:h^RTlͣŽて:1byQs3-_ڌ-3&L8m#1jl3%\5HRJ[QY7=}iĉY_"vp,pT7T`{\ظG1q=dyq1,mѱj#+88j ly 'w6@802Q sL"Ng`L-JHO J ٓ=P ©FU@6?3aoPӖ= OmŊӈ|c%7[fOu Y-?샢x7P䁈/{N8W p!wĂhXn#Z2)ԭS4jܛh:8" h^WsDbUArŅcʯ[Si-OfWZYiϠ1!*O ݖg8PU 4 +lT=Ϛ6ƩPBfslY;i~Tد&ʈq7GRȻq@x@2B=h1sU ީ'gL X0;ק8;5͌es7CNP?fA{s8H$a]6)!؝ X r3֡LM̥}#ϠʨtI򗬵ǻh_t^{)9c[))/;wR֟+wT5vS-͌@?_}D҇A؍'Jy|8>{쒮oF !{3(Xz^KoP3A`I1P/ &UIC=[J{1~#=lA_*Zǒ(F3͗KbA”Rv#9XxTEIM:?fND1Ex{sЕa:TguNU$P3Gse!i_DzB]{8<Ӆ&O7!d܊|ΜZ'E^ÙpOZ\c +ʇ;HFr+"'w? O EHT$* ğ-FL. 2J f' 8rHA>2t-pxJL|$ D-ô uafJPݦ%#0DG\(")_PXbrxŇ4Hf]\Dbz_q2u3w79||RνIى| \MԅC5jvT=)j,IМqSyCNKU#Vke*3tj6c^RSxu^i L6DLNV1KW~@HaIR+,2yU*HQ`uN$KwlE~2}W x2'" }6-.ުL;Iwm?;Jx"t/3RN{mо+mg ^pUT#"u"1VL< rx(MK1'Oq#$yiOfFCȀ{ Q!h)~'^i6ɺ *}:]"?;|XHG!)s%*17Z. **9zb욅HgY!6\|^OLsUXZ ĵYM[vx5b`saɑtDUkۄgΣfNvcd#J7T< n >^,jPoIY$,(ϓuzh4~SWVdRL(ӄrA'PAY:35UI!Q. 1fM\\Opjs<]!6֬Qƅp|f(S]y(MjPwe({ǝ7Ep&Gmd */!nW؞r"_$@85Z7>rTiQFrJ &CcDӄEDsep,2NevDlg 3#C#$ʥ=b[sb}6hÛUּod6:@hTpm YDEPXvL>ڰRd ut({5!nA'K\hnvۺ7M&g8Fk^ɋ#`, >``o sUAxE:dղDŸ-%.P{C UD۪:ӿ|W?,7-+hnRpheQ6e$}Pf( l.s`+Z(]Y^7eM<,78NLo5Rs9 MgVp@}0ywJи ymM:p) K+v8J0gU. D z 2\;pQc4G?I|0}pM Lӟc}N(yp˜{[K||m/,Kk4:2B`1;Ygn4NO>1(Ě9[ym."f(i_G3judF5oiً*_Lm ٗYK{ AQSFl^ ʝIL٥|Sўkh"CwEE2f6Y9d^dvCU-vb/؞Y9bN*Y'j\=T x.YpGpu[+$GlQyv<.Im3&'wFaSlB^ibRC /3~ g" af |)g8Z"7}0ܯ.tS1ykN|򿭨O,C%x;j\fYY+F rUm"rv2cL.ڰC[+/ ʣq,]ҚQ-g%[!p,ʌCǬ'h~KoK%1K1ZENeʙ; $$pxq۾v.zK=_Xs#2®ac&Ą"wg47V:5È.nLzC+ (!~>ۼrwc} =24>,܉lt(:K(q>fdc{Z'CgUHwz~,~* 7 { ʡ/98Vvu@TSM6|#BH<=S6ԏ ){8Z]qulDpV@ 3?]:޿+! T7p Y8sJjI(Ctn"OA+-ug)DUv~ e&0p7:,7Z/kIdsX9K#,Q ;Uks =}/1 D-Q{Z%ntO+>;̃Oi1xإRfӅ&w8O QTl{-vx1sUMut|I/0ug -r9B #>+S_d^\oǿI؏`y+\:deXin034hYA0(RyEdjaZuOLגJZvu  ^ɍ辶K5ҍS:] unjRE7gc RbORF =O.!ѭ躮l]M p,\q:%h,t;{.w`Nn%юr(WTn[+SQ[R;6WH6Rhf@I|BVPk_qdd`Oo'$0<h*]# 0!]eC=@_(XvNq=Q!@jţdԔ0nW,71^fA^ii(08vx8PJ Wt՝uwr,i;A}ӬҠ^afS .ww-^m EEbzo썸F*p05hzlh3J#y3z4N:*<"Lg;Bk8nH:v1Ij>z%߉46f,)Q͎s̬Cdr@elB%nvZ9uc]K@R1$4b&Qfg0~H6k7G?԰HԽA,@-@pt,4N^:ֽzЭ|v6>I,tWm 80.p.'=Q%b]@=Z;ٖ.o[aYF!#e 7s6h oIhqvW-ٻn F ?rHM*cKyQ| ,`[ Dn0Fδ" HDc(6ʇS (ԨqyԚlG<㝊gL!{yDj&MFnBv@&gլe]ΐUSn<#hKGMe] B; +dw=OYE)&žHb<9OovK gnMci(͚)}:V"Q&| ԛF3O7D)6]c}ԋ쬕>u\X)PlO"c$&鵋+lYm 8 &WƥP0߽2kIᔖ[ h $Wk) K%)eeO$<9t]'Ir&DS4P:β퍏RX:VCµ @( ۘx|BNYv脿H0,2zk嗩yNlNAvɡU DU\ҋarT]3c$r /#^I@Toc(;fgH:-P=ϟʹ/N×JJvzGU.AH7NR 8>QYa%u%hƍ[GCI&zCMLdͥk]eXs5;oes@PTA,,K>3YЂuB!盚~PI6 >=NGQ`{cN=3dK5<\t5f?N"tVSxbv2*"7*L>"m6Jqz'a SY{v^О >yǽGvIWoz& 1}.[IeI,ȩ\̎jy ZYX&L||HZL,L9>C-uD+F # JB=s\lYy*deDп8g G"j}̥k wozS?} O-QSԽ?""hP e2ñy0]Vj;%RA\Y`zdbU*m&$w O=虽I@" <`19&q%I7u5Ox%87G7.z A=9 S8Ȓp)?20M2QKG,& Z Pw $&C d(l[q!mu#`Jqǡ7O6sk:4̔ȥv*C3ޭqK WAIZi" 8)xG ˕䦗 kUYgt4HQf#eڌEu޷U4$ hpH yZ*>%KKˠ}Jz0 Bw܊- P4N +˱^ݐ6z5. ܤcÑh_op;6 Y *K-!D ,_]="x{嫩 v6kvQHmm4g}A!D\¦P5ˋ?_ek?랪tm=TRTo9=V>Z7)s*&,5vjM~2%]|M~%#?5}sZZJ3jtNFtrK )8sw8+QCMGz l{P'FaS!{bs Si]I/'v@D7bLP8F^dD#{s'&x`{*SA-z`~N1v~ Awo8'ٚ)W$+VW|H8X}"x{MPKϻ݈ qbrq/kCG@)0TD`*+x~-'Ȏ5E9%1ϯ(*EN4;!'yl14[Ez1όW[I5Oo[!2!IpӼiyj8ΛL4j3eG]fhѪ# "q7!\ xziMx$uPLjp)CęD+HV*- DyNE\è RcJ6o Yy4:N#A6T tk٣C8AC(i,moWe#MJk~wΰxzctqxi Rmu)ż#6Ǡ0޲v\ yU4 V\lt "a Z*5`_~?EzNو[Ƀ64r0L_GO@ed[L&TeF{AaŚ Y1fL PHh=QKE\wv,poi */P%ą@U8:9}r$M:ʾnde^ȘݗH\ql)$a1Ax%3s{ӀyꆧP.Qib׻L =Q |.dq7A.^F2"xsbEGk}z:.9⵰ݸNBw3ZzXy Ӧɓ_HEsr{G"b2U.'dKkĽ%gp0?VD-H52X$ d$",C>dBI.g"ٝp{=oԔ=Qh͈;Ӟ\8)#GJJb*fc(ּ!GDz/HBʮqvOgKp 0X3I' {Juszz+<(KSc&mdᄸAOa䜁K^j>is)szl.'c 5Ȏj6*$ "3Ww\JDD}"׌K Ml&U̇ioj1_lI#Ѷ C6aΧyFcjR+bLe^i6Dgt~etGy,[8tۣH齎תgF/%>@^eh5)lttr /0Nٝ.d=]CS]WsK+ZU_tX[~(o{zjqA:K' pWQ T^[ +xn?qyɊGx~fKzjf&,o? = 9Bx߷ t' g%m5>q9C;3H%pBY#? yjėYgښU|qJqB6`nEz7fWЩtи6c觯՟;]dB{tz40PP E G2; ӝy4ؑZBycHU& HCnf1Iٯ*n5_<b<{C.Jж"W[ HQVU&Sgٌi'%5myZLP ”޷՝:n8 deh ҧXGx Ɵ- wR*酟:>;lط.:$/{y'KK?g8x4ʈhI5UYЪ*r' 3?s[3o^ȤDv+#xoF}R,"˜S yoڞbZ^+LС>쵷niώR>} #-W;ᠡLל?9 @0[2/{@]U6 Ez^Yp C_#(q}3Á: 5 SCsnGt?ɜɯt"38zЮc7Iw( TKk[  a/YN v?@vi`su\aeVݩŒ-p[󇕳@|-i)dћ`CHvL O30Y`BVvg7 (tMz9͢I2r`{ $j [uV5U\A/t<Lzf䀸HIƠ5f +FHѥ}"/ ?CzAї~ ՝2 oBĒa3qtaM;Ih }T)CK*N#cK'̀.!fsxυ9K.`eUӸJͷr7V`B ̖`A =yHS<@.G1ϩj q>7~Ό{diS pPmU(YR{ Q)̅\U}}aա&%N X 1e0FIjȸim^JM&3UEchI4!g߈6IaKf4Ɵ!Zc$Ÿm2QAxgX dZŌI% X]'hM0(tד?!(םOO@^e9PH|w{^ 5jjħ6|p@R4L z`ƒu|G2' LE;2a.!d}R F (/QLz.9?{$j 5l p7^D$0l8?v,:P J.O(fs_vVepo85KEn;otXf%}JXQu:*zgEKH<nU+hR_Q6rg;Fn.`t4*vA1̀l|T4D8 Kty NZ8r [Ϧ+< 'Sr-NA鄒D]肼jƗTiA2* F۳67U݄ n**@|]-e sޯG\HuJ\߆s"CadC$Wgi2%΋Hq9- r3+@j) [u''aSRZ:5Z F-E0+:ѿs C|dÈ;ȗ xfU:M*=P'Y KGn{n\6ơC[C M]Mp`jy۟\vʹODW}sVS." ɨ!R&7Bf'l9T:+S!&tV ̭+@/pmVmu榄d%wƉHZNuz"WjXwx40g $ԞBߎ 3Mc8: {10jeR?zWN M1ߎ{繇rW!u+ҎZR_EGM/ɯN39n*8hٓ/KtE:QheJhYX'DH$|}˭Ͱ)s+)naCǚijRf[z䔒2+׈*T \pB vP+phYp ?ME9H~[~Ę)+YJSIoGV_#rŚe k+9!P]p0褄mh`杬C F)Űoo#ma{Qwu/9X恰N;y!Aqz|DȷSQDgO25pS( ksXjzsF3߭Xb.0q`K I D6x ɞ\'])l.ۚ[9I=XZl7\Rd'\"_(8i B*ZRt=9 9vgrYԤf0ANQ FSS~jC܄Ldi۾ O)e+KzԞJ;نn6Y#pko7{J 4DL)谺+/쵅r4|k_R y n(#NWnZ<\_)S:?]5vH–Ȓ3Fqq1<ETS71c)\p-0oqa+QmkfbKL ==^*a,6mm!^urGg"PLq'ZOa.14%4dg%Һ3X&(5༛)AT,MQȉ놸d!=oC#Pf@Rk}jUqo"UUESz5-Y.S̒ǚ ZPXƅ yCx6UM6M^-"#YFRB+l- #oaߦ;dWZ?WT~W3 .oŒfފe:λYQڦ[5RKf5J: X(PI0K6$IrVĨ!OIPԋT7,k.lQ:͇aGU M{87БK|ۀ ]`Y35''\U)XfKK44[$ tOʺ~$Ie#%L^DӔXn%ʃ.x˂37|7Ko.;f-ag[>Sl1J_m C\ƻ`u'ws+- b,MvEDܤF=I.MK# p?SbOfarWNE,ʳӹC#+ )w){VŪňjhTnGNrayRi,{;|^lV/Te)cP'Fy|59o]!w :4|Uΰj!,H'h"(i0=Q&/e١tb~8_&wC3{\I}>tjV$[|8ŃTo<6ֈוk i4[jz5A 7V]H|ᯂ]r!=$|KS+1uFuezkw|r)ۡ#(Q1i6tU|`)/ab巺<8;:nJy_:-I)M*!d2익jSk?%u^$;8At1DX8"1+D?M?՗0"<1].Ene(ֺ_Y!n4`l{X[ *^Cj&Sxn(cyI-YfH>1P@kPzUg 740K-ƅu҇E "dt s^.rH(ҷcC4OAxf9`ج/ G/]6C7uKE(G-*ڔ^9mI4#25wR/CpF~mqƻ'l{h0BH42y=^Cq?Ki[Ld9U0FBD%fb5{K+"0mj+^tUd%ái)yf_=qDnh||J=_{pUZ#mK R9Ԁl &#%}ӹoe7PL3ca` vsN+3m@(XC_!@X/=_ ZP!wv"S v'K x$M̓4pvulp'Y髹6JnªQ֊t@̨.&kE} e|P ʃ:jUݕoElJhA< CqBg|<}T4O~7l8ӿ8I\QjdP``8.T9׾^<(Xɻ L2! F梆 U>uk.^ mb&Ei xejȓ lnS]Gg~4{QԤaUTNEcƾ*AP< 'w@0Kbؖ*9SiiB|HG|/Hٰ~,ԏGa*+c/ߟhBv/͖ix4rGB"DpOke9ÞĐzeHjV>YqrPl,ݿ4_!n GRS1u`aSfFu;զFs 4ЇVӮ ٺR^!-T)x[g 1 /+&w/7fx@7OF1&Ayi(S@%kҷ }VwGp=@䬈<+XΨYW~&;}ɞWmq7 ;2Ww6! ˘i.#ԘQJ Y5=kBM;vWP47nz*e% q{Ut$wǤ9>`ZwMFI}g$E p|-G8.0I4&BCY3>O[gieL~ϒEN:[^/-dN!5 }Fm Bs0q+/*P͡s ߺꯈJ.{ Κo:2MkɐRE,G[MXr t2x{˲AD\u.[)Rݵ೺BĬy\)ge:,=JG-|P97&o|jah2A )̂r V;IuiwRT^(]? gjQN ɣe.±Zm۱)X(+]W%KRi0fEAOZGx>: K\X*OellVigfg|aS6grx幩a֡N!FvǍy/԰a?}rx˒ߜH^B7_h p] 7K 7g&ލu53 H_wvVPߌQKf%A |( ",ZGE+*գw_OMG)2flpkO{bdPE+Dk<md?Fԍ\n?Kor}'xD?ղ(\cUɾF?'A}Y-Ds48 Ae<ԭ5ӲuGV}e0?.zUUǧ_}Lx3fU}lz,aD"{#m/Īfץ'y|A?oVP k@MpO#p&࢕EնОef#:Q'0Ś& ='qJX<\tdg{[ _ pQekC;ԛEST1j(ӱz'3aQIWcZm?*1ujg z 4%Fqz=f Bi`آsJp`!@z|ti0tWN,Ţ@Tؓ{#,(7A8_4C An W(j#H?;WS8U3x Xc6;phGI^'a}Ѣs:5ΜNjNl?,ۅc19>5XD>[&t8fL slNێ167Ϟ L[e-؂GB.4U_xmFQLP{YPWq^*ȋnexF <NJ2DlRp[+y 6Hs[FI`[tq]~7jqާ=jzu2XNlfY5zK_(S8d83OE/rVxjLb&d؅W`z tF6K9oK c+FAK. SS 2e'fz{w=UƸ3ӴnVCp9o>ɶҠ{[tSMčXeW+Hq6k_&5G/N*D@0^T ma//Hឯ9s#%VK{ h+]7x= ꙁ xK\v4R38a ڤkb?V@}rFJ@]EpCreGϜxt3ɣ:|GZ'ҭEKO_Qr0_e6_4FoVL2y]Pռ8^N:5:We (ᵴi!ES{ {+n2i@>فe7A/ۖzZ:cIAFfYsb&)-EqY<JNbp{28lc6$r28wm@e[$ >CpR/V&yܤ"IXmxwi~6)M"r?ߪMW1DVT`qjP<-N *WXz@R?MciFY 2Y'+YVufp.3ECD,Q#*уlhDfr(M zJzs=cيv< cΖcߙkܾ \=('3 %*ӣzeHQXۭ0vۂobQZ:\M}įkYk;nyAi14LoHll7T>WH Q`arw@7^SLz {T55"ޅ݊#ƬZ_wy{ḅpGED%H1Ō (q_uX :>Pv"M$~yhaEA1֘v\KLb)ʞy9]d#VLJxrB*Pq w$"!Eld`5s φ6kL1e=2q0L `{PFWa+kqln˹M]jυN:iHM!+١X: K6ik+>1T&dG9;Z3|`rjR{,ᗈ!,^Z]l,:>N6?Rv7X왔lAԍ]̋4Ëw>{bBEUccZԶYH0))vjF^aKv)jyv:ZZ gDo!AF"D+ƍ;0>VCiUE)9. z赧wupRuIu&(W)N33G.6-n<< aͩh$K[is= nӹ1 l We*[JGC_B%̌n}wp /4 +uEvs3 I.ßew֏e7MV1ȴ'o!QEN4mλL=>Rel7(N3 5`Xw{NT\#ˡT,N,Sp7UtX_VWÔrsZ}ɏZaR}Dٓ>ϬN/i{Pkr:=DR{} b SdES찕W" ('U췪v Ƞ)>YJ=zqܾCL/dVO~r ^=5݇5l_%e`Z4v#K䜝Lg:KX)X J_ƅ֞ja #^kR1(u7Y7'7)j2>t^} ܭ\9OτSQ,}ǫOT/]!8xXk,7 z s-&iˌ;g~s ,V*#/ehHjTVYHHi|e%+&H/, rR۞ j8C٤O&y0#X?,}quQ>o$#A,AmQK,ZE4VN{yAԷF,EܱsWwuOqhߞ#=\(xYLxl|VA_ 8)@گnӂCm{qrz*5&T WY~[ +Is 1bTfՔzլU_Ut&d|MXl/j02(phspֲY|5ͮv֧2&3,lS7~ I%4aDtB[ Vxa44oGG"E0Ű!?_==x}YMٛkہR$Y JU;ٷ5yB꬝v?)cJ$^ZzƱ҄ڀ y"OyM fu3&gS[@BRu8&ޝ^"oG Caiљ _{NROQK'u}& PgT >XA WlL(ͳȦ)YipדPF3ȰpJ)EH8ndOxG2^bntG_Z |&N|+4{iIۓv 4nr39Z?d+ƍC"G7ųC9/:!^i}kzSO* l͡OeV.a <"xp=IqqK- zB]=dit8}#+BTPWI{Ѡ<:)IR:8)YT& UiK c,wIԮd(ٞhwŬ~m HYAhm ڦsF.*Ņu!K%FTk~Qh)_GqɐPbjagnf 3/254 ziB-ݐy+3vKn3t*HR5T#sM| =A+TuYG)}[󃡽2u~dnNy@@DJf@{ϊpiL cR͞HS`>Ɨ{yi=t"'pĕΑG+CCSAJh+dnw7fui8ӊsj Q^X@q `E6(iIbsr`a>9Hvk \ZG g)ήHX m0_ɵؕ& CȢOH\F_yG7LY++M黎kf,L+g5Z^ypUzϻZ}`n|xB;x 20A˦ r4yw) }!ݡ0%3&Mw!56we~zL8odoHMPYѪB_<"t%!4W)޹q'6X>H[(k&b}f;뷟A:_|ekqd/oYm=Grx?1PߥƮy#PI]% 8PmdkO M,ir#`7P,`e%Z)4FVFϷ$ުnj\S+҄>gU=NNGճն2'Na} sنԦC|ꄗPːKhU1%j[(dOzFW(/eQ/)ݥ#yB;<+tS%W=#s؟ !u і('؃AF>l»1 t !ʎkQý ?ѺP`^D~!fQ`."VM j~M- 47FCtc9x #7"@_U o>8~?+I!72=#\ݻRu+̵k=í6(e=\.%8+e> eW_RMqE2A 1:~z{<;eՓJj\ A#Q%\f("UU$MJũy i%Bxvӎ`6n.)} C6T+pG pa/.R~rw6ĕc;R[ 'WҾ'Q]2ͭx;ۖݷJ1 %PTPi NW 2+fYr–hϛ02<[4Kui}U`g f ?Gcߵ=ou^FFfbH"Z9^>E:D^Μddž~]t@BrhtX&uVtf\H@VM8ũ{RF@B:5"#Jjbdqѹ*ﱥe4-J#+KRcc5^NQ{t^#('n#藢#W|we+M%TdQ:n-4vM\#~ {p .arvS PZ lb˨޿l m7٠7:fn=C+Ɍhm=obNz|'ŨSIsg,]WGnۜD-̏ ԊGsg"'Ebէ][^(uL;y~ut%x<*@0N]rE qDg97}1I3Br8T& 5uyFқt`[. :Uw=vJ2O\A;IQx=$x͌F`(`!`ɇ.fnAhƦuD:`Q?jdu1a8ti[5O dGxXI: [-Gel |/ԊjbТO%|Oc-u-¬;YA+_79DyĘKE0!kpPN>(tI3F[lazh39cZ)R8cR~(M\@L]j56;Z-bz5½20 -'M^AGֲ#Sعsk-ڀ{zm ~O}B%g#g6 2),UemLi<+c ET_QbJudeFIng#MIRd2`C)s%\iKi-lN@?gJ `ج#:W^"-CsqQi YXJyp-}RHۓT=ճ {kmqmXylڟm; Pu֫EkB[`Z-D$X] }I^9}0U0zW@ r=b:K8S_܁kZ.]ɽ"RM!."-$5RoT e>aU&DA3O4'TyE;z"gk ?T#!Q- aI@PQ 3}ک[Vk*W!m"Z;}:c&Lhs~Y7mTG:(DT3>Zƥ`KGjZ+wxK+cO遄lqUZ_Oucfx2}^ iB;P8RR%9Wqt;kǐבky$WMpyRkr9pQ%A59,-{~p]ocJG}S(߱m B9r3viEH)ա ?C6 LB6a4}uxcϿ%G6+uIw7Y%Ԝ5\+À'`[qgol l\!^uӳvC7gnSKq$^S32:&~E"jmkUcNefCc2]ٯ co3G̖m%F%o:-|r]>mGr:J11:(Ma*4C̽  QnqGW^%uW1,K#~%G^+.WNY+`?8мu11ā1XJwm)vY5fL`v5R\"<?,1Ɖ"|E獲LzO+["fV%[_: ~d  UnLeĞjƌ&LTbh+I{ꁑ!t?aA2BeN߁欌P6fwBՌX6wԎh 2w+iodrTG(ҳʍ4)%5w7 @m@^WjFZĒGL7C$OM.ꛧcLNR/4YT5CiFG T2IgentOzI<9lE@Cۿ)̮'TMJ\)Y9S]1+ lCQ@&h̋IKovkTli{:n|SbA:v*d!$F xօH %`aO״I0 FݠXo2k }۟О|>6XzT糗 Z"G3]CM{?z 4Իgd 8-x%_0dA,>+ 27$܈Fi̢ k%f":SFRc 0w(+GE.uw06N]*0+\亄$ʕĂ幈 B1_;GʐE=@zϯpN`tpC(5y_mP) z> X&L^qDO&J|>'\,5~<)B_HD5*zg:tYC21V )~'ZбL94'C0dj$qЌbٰ Ȕ6 Grx|fy8&զ ř|)K$jhte%pj gZݱcoȕ s^OSV5%R*oœ.meV[ڨ2&GDBd[Vݰ(;95ǴNԆ$ ;ŜY*]8vRdRd`! Ad&b)?4Zu'[5EJnz u6;2^CM8@81 PZIcQ>>C%":Gv<'E_6@ r_4 H _#̳c ,fIKqpHpMi{r۲W/hHd73N,f?@kqK٤]4Gwlsɢ*: ӽM'9 6f3)}rMVX(v33lx@ǨTfXO4UBmAY`j>#>}<'x|QxA(t,?or%Q(RJAuc"jɥ[40S\7NNÛ0Tګ(hbl: |-rx sM˄ M4ɳwcBx|Fm)`ſOjUA)CE1QCv3O3X,0& Q:F͗k;i˾]Ty@=o?jg bS`FQvA%+ B1Q?0x_RUk!Fu* $OXd`~g+_؆^Wvh&z[G9L&R4fY<+ñ& AKu:ٲxܶ3sA=UP42oں,eУ-"^K xXhR) :IAl~/;9GSC.DUXJLUOrf)F#:򮹱Z< IP=/' ݔNv_jVK[EzmdaZ[E+\~C1!sQĐkv'Z]ݰpO](@rLJUh:G<%P Ά^99Ϩ0 Yjkp-ai[ A<^zhHgO>(=!அf]i X jd*cYcg͊|/;أQPr6JCBj8rh:B]^.1Z`srJƿ]~ΐG.ÒHg¸6 !jp:}9$Q5!֡7;(rv͔L:Y"Y/#S& @"޾&:P6~dbm^e4@0e&@t ȷ% xSإcV̟:35iḣѱmt) (䒺iRo(Q-&tJ&g` ?ݡwJuҚ ƾ6Qb{4hR dWu!j{nIF[%拺\MQZQ {ː4LU \G_pZ ,()xsn3(, _VvGt zዝG!?ݿF]^$&bz^Jsv2">C7)s"^5,1K8@'9:&]Y S{/s &[b:*bXvC$hw?Kŵ>!myH[3fy)q=@~RCcYX`0%F# 2++ mz l+7&rҍfK￵7"* t:*na:-\ ĞCWe"E(aYPz)b=ݍ9Krv䷅;P%[Wd ZIw1Fa n >;`zhZ Y0XhwCTҽVT Ͼ|K %0db 쌡1 }탱[c=:,@-VB{FE?$iWĖ"fi~,{GT; cW q" s `_uMW ?؇6\{ʩF=]f5 (rڝM֑1 ua& w;zQuO ~:/_pg ǂ {u~c`'R(mԺ=>;gcm-/ @Q~Y5F]h)cв*,%1$t1Em?Ǽ {nDfKNP9z_" {irqz:2Su^.;z!,$z>g w\<^Ci9Ix,^idG~ Cp}vr~)'߰?:9"}]Z08m{Oask{ޯ FLPw|P,-6 x*P!eZMaIsŐ68h;L8$ T.LA8'"w:RQ?HøCE`Dt&д@Q8ew+UInI M;jjsr5H6x1$RvrE1km;zY껽۶fJklMm$H^7ś%QI#8'N3=ƼZ}ЋФ۶]CD> ;d^,kgQ4BDR-%yG]  \ o7,VMC">GLVװyꉋpE]H$j>؟N[ūqlb_ƃ~/3q0<{S!M'c$We93`8S- ,e&iY ˴6Ҋ"F+Mѿwi3}K,A#>/ŒUk<l/w*#~ΡŹ}4'x`[\2;ˢtІ0׉a VBn.*F(BOg:@l]mQ3bVQfR$yٵdr$M$3|%x_,߇O6W䠌 ]C-*yPJ=w ۠_/(f"Q^v%& \[BaåbINL3&?Gu?'Z c710rq"ͲEޜ&T'UTFR~ZO0r`i$}Ga$AEF[G4$,fO7EVe%q^-;\>qۃCct `HR 5%>!%,PvbΈZ#͂|'&Ǻrv}kWâN`-W{Jq@?b#GK[$$Χ*5KSuu&oVKճKJvP~ֿ`jŀV@B7g'`Hdk=g"]Ŭ3za >Q bcs^.s~H[r9_m<]&4ol L #ql_a-!4pe{kʾ9L|wgEќg8Q4VayH}:׭J[e_9IۋFM"FC}Әq+PQ:Tmc `qS兕 -w*t!)A2uRy=^|?v4W`44OI~~_= # `wlU4+& D}Z20KHw|xmZX{u) e ̀lm1~I] . e7d0Ai3 ԘQ Le=itF^Pҳ8$9ϩ.o0@JS¿D PfK&AGcp ,7g_5^-8z9ب¿Im}0s1uѯx{H >ďN>5wDc%ƀ^q3"? ע0m~ʻpm\ނDּv}ʩb,=}>̵mBOEVՋ^(22k\'()\i~pķm jϞ^h. ̆YI~W||4"|{[X\ %Pp1u7&3'?%0ʌլ%/[DӨ61FM);`t{N;a`zj+$ !f)o"oNnqs9EDl*#1EjNGι98:?>_=}NhjݚW|Ss5чp;HP^̒@8:]s|g`/N087{sa%8cLĸo(+ĸ2R @66-ŊZ.O9j 8D(k> myf{L9+% 9Hl屺g bEn7]J01x.`xC(fk]b,#[ez`/2ae-Vڧ8 D(ESopGsc,qƭSjٛk$^խ cM%r70w{j5X17/h-nX2sR#,eĚ%IW[BSV{]gIO?ސp C 9D(Ox[v04)[>ozq?"[-ZLJKuYܒ(000<6ao{ČlofF~@ jIiq+;hTѾ\@t ~i3GvXO˒z+?c$QU;=4CՊ,w@ { MK8ފtȚgavNے=?eUն_9U~e1.EKC5MG,~6{k{VM(K/RQ20)ReK~E4~W`IAB4xY/ғ}\l@Aw9@,@϶ jZD摁  ._v|KT#kÎ3e(wq߼/s'Ylnn*$=>y; ~$o.r3 .9^rlDv1 !Q?7ldYdK M꒞7HHs$~2|+Xe5T d)kh 3bmO(?YsHk(amL5w`HcUD{GF& ,bkZ]!X6l:͸F7Ьx\O 7R"g7՜`iL6>BmN[f#j%[Ӱ /a:g6ЧUzj2Na?rNrYF%yŜVG(-F#hH) 3M.Zb|3G^P4/46$H>PЇӺF roRY6LXb/mBt` +Zo5 Dzc9ձh2QN:(!lEW8KR =xٴ{?j#,o2$dдy>Y`< Ԙ6h,nz̏LGBfiZv#6h2h(PСU0^P1CnBF_ŵ cJ2^/:KFYQm15F@ne'BޒA%pX{RɚU;i1:u/LjVr2uuVIs@5aN87 " Ðω+Law?T3A8H$r9HQ%-pOw>a`S|.^&J@Շg *1Qt\b~kUL8E7Er(SLҼ ҲS_SQYޛPq)4/OdNFGxkhJmyy5`p`LЊoŐci+.6 (cAj$tmp@B;_Ȇ:#E!?J7K1p?P*b@Qz?Htbl A6޴ƒY̘F\>Q6-u*9kڴ)'<믡6|Z:Y7%s_T7O0D=3mb4OT2< L-ywA\͇.0 F.l%rz8 *oaHRLZfAvu] /%LC}vIńw׻ M>T8: cߞOaEP9kx~'Fmz'KM*:EQڏдZPuğY"N>RNf2Ա ʚ◈cP瑣@ZcCUVWpҸBMvTB)n~qq`̫z+7)d *chl;ƴ~5AZ@:e阝MrB,<ʅSe$ٴ4JSVCMA˄ (*BW۲p,#^(sfZ>*_EO[z2w<7f("JgXv ZGb6&#V3}f`ݱNˌrdž8S-~ᜬQՐ<:-e ̒EhT=yt*q2bp=xrXOI]+(dHo'%N+1D=8IE|R1; "ӾJ#ڰsS6𥭠G;B3aQ P9嵐+9O_h=^xUTŏlW_k&_sqcZ+o,V53 * 5cz>bJDQs4G?ϓt6E/o?+Q|\fuOkHt58Bվl(m0S?~TsSx BZ>4fGyBm1}0?dd7} tߔPI(Kc6]Y (kn}Bl1e ̚T ER"r!KQ ]0.S5S)QW&u&# #JWt}Tfh_|$1"*{nqN-' jE  [4qo}DYRǂ29s~*b 7}^o2A?5^)gI,6sxx ܍n݋3v=7lj\4,m_\JZ&h?4z#n[babgz~zsidg"ȖtO,40xg棨a9niAAv"GF*='ÃyW2`~vB,(A{\Dž?n|uP )$5>_صEi;Mcپ sU% TX൹}dN@rwy: =)I8{ūQ@^LM>26$ae<㢠WT5#P,wc}0 3_+@BTAyns{ijŤCqBS `?z$ž݂_B%xuTVIR{ȪXFl ( 6F͏@WK7):䟟r m~%рp}.+Bu{q*B-!LY;{LeQ@=? (+Q3ZὯxpno Ho\$>*&o9K( 7ePO(&xo\}j΀օ. yd?)ߣep!Fzay?ݴU,̮)aQ|H֮YZVVt2?fk3/F⺞BkF i>#4iI$zpɉQ33Ӱis?98VW`s`Xl vDxX/UGc k,=bcǼVb:v)'5J_!R+2-cA[1Lyb>G=HFP;.p7.tZ;f;_5M#~eB$^n"y1"(aFײY0~L0CV}6KьsHN O?.۫jO4XG zLId&CKl.OUin'.wWEbH= : Z'5f+/7-f\ڛ .?s'&UGhyƒ@/~׿nc7PKe}]=څlMȢ%+#.Y8pmOŗ. ]w-ɯ,?!-wFb&k!_LSY ,qRd+pߪ;+O 9^>Xjo!k3l%kspl@e`1@ay<6@AN&ߦ_qFy0sV؋;m8_]k~}Wn+$u{|uu[2dHvo^js ~%NцE0Ō\&.%8CU5v lqCxFg WcugxӘngR3>< 43+=qB`M\tv *'\Z;=Ӟ4Rq,L wa9SW}@ҥd+n y#q~^%r!.y?[(2H'dL>Ƥ5aeoVO+E㔙F/OCz6J_\|(-7&ڦ_ W掮~v7n非*^cJYCeY:%:e1%讬0J2s^Oifۃ\T@/!kh&E3eoD H9CⰅ&3 3$*Ȩ;FWclFś RVл&CHC',*[*fjgz{Y@D"n+5] K zVv HϸW"vZazۥLm~"'D|aYLG5U HSڪ^x‘ZCMXkj`㦣V7f6,x\1W)FCHSs}d[W{3:J/A8kޢ^~' Wnl)Zo%d4Y(c:`ҵG55bg'ٿq̏b'Xϡa0dӺԕX.)C/TڈCKk{gIV%*{* Όa)\-;f:-&8=a _ *q 2FHeDzF 4B ӂTyCzØ}򊾷vZde 79ccʖ#Z~aBtWEE6t3uOY1~Ƭ;={yXи( ԾhXYEcU;.IM?7= x'ړEn6gP)҅Au F75 v"̦4ApE%i%Bn*LC_.\M!S L^!փ׊7*B4nNH@@7e#vxn1}؏OPyWovN*RAGԩsku<[@89ށ;%@3U\fê H1 k Z1yn~8G z([JZ/"3fb^J∫~Zk0 $%]&4|풆"Nb(XۍׇȁkܰW݁3+:ABMdD~C\,$O "1Oh|뷙kdkNݥawj_\rQ{ PX6:[0" ߠԥswlSh`u%I@TOzYtC*}h;zEx6ЧGyvt-WM5X h[rlކpWwq9q āWvD-C{EWHdk2M[<è/_ލP0){c$kըsvžwo*';Z$"@m]fR&v1| 9q7V^M`X~\ŪZ'0QSR=\XB7¨ʹaIqFqQZAj40][v;/8ZCr;DO24&fI,Uop}Tֹl/_vM)!@nq?nz:[vK5}h1ѿb>%sߐq`Yi7,PѪӫc?/s\܍MIhQ=do5)$M.P(H^&،RGFf$]2kžSw:o [%9v2I뀽GR3,wL|C/b|SlG6eI=G-P$^)p){/d> 8VR>]qk m*zH F ^߳ˋȹ9I>%Ш3h* ݦ!pnu/f2FK4^ĶˇQ&IRp>U=6h_NhY^]Nj֗ZoJ|~?`OT+ԐhbjRL'D;L1dV1:TBhk&A5RZ=k}&xT7L@Iry4x)3n;p%*Ľlo; dYFG?GC5?[^NeKuۯͱBrO) _HEC24$Z<+nH+c V.\_KSVpyw@]כּ O6gF]hK̭#mx-0X WI p$"@M(ϝ4.7>[:ԾR?DVg6w=| ;b&ng zSTn5nm^nx /bʦm3ͪXb܊p&t9Q-B6X*%INe٭8>BK=R˗*grTK}fj\:miM?}{P?a<ͨ-աudrx$$xc6bAS=ҊˀK%t7W; ;*P/#Z@Ծ.}lXy}=r+5/ dÌa ԮSVwΤ xcH ŭR؉^33_FA+hð˫,O%e! ƾ6VJU_ o[_Bn2 1\k;7kK7.ANnMgB -\A<8˓7$* dB@.D ՝HVGi7 ĝ5Yy<+<^H3<䔛q\Z!~iUAwYY| he#թ:Öz6J7qKӉ}:굓w>Y`9>}QU$3ghlmr_H~RZeib0?)qS-7rN,\lih`w>ap\+ޠ #JƳ cMKr~= d7ւM ULXl_& gfXKoe+,~"!R QY)+|SV NJ6%q&?(&JBk9G鯡gكE<]ю@j[3Ĕ SWpcę({d7XB $SN,_Ǵ3k8^xK k#%rZPy,Ql$kK Ty9`G0UܥޠL@jmm[jwH-A.Z&s7F3"ϧO"uK{W7&kӬ ; v0 s H/ouI{p^}P˧F;p;7 Pz+% ~0ca|Ie.:vFxȟ!GLjgi0ei} PmpO&,CL=5q@$@'}:f >$AKZ"$C7N) gAlH&"TS>jB1|v/UA3K; y'*ٹw*?#FD.I? E_H⋽ZVO~vB$#ǔiw?}zLb^%a(ţHQuƦ g{2,ZZ F`3[f^Stp% p4MD4J񡜉CZ9oZr k׾?Wr˴a*J7Dm{=L$0.`! hAnb ˧ZҨ ܄x!n>Ae,QtҚsXvd(~u1%y>fVByCa ~AphanT%%\|/S9e4܍㪙#PzjK0!*n%Q1ax4@:M/cnrAkH sݓPGws] Ys1z+ ) _peo 's!pm;F0-To9kfBV yNPN>ph2p.7[Dض( .y R"d.u5xs/r؂z6Z:4ihXLѷ.DARFKࣝ@us2>v1RѽsE:MiEYfmj]*Zr%W] 31(~mܪ;NEiAZ=@®hGyOc橶WvN4V=RpIoL/)1xF.a>Rjg8f*PI6Blm珶 V?y.:9cow& swl!jUڀ-%p=U.X_I 0Qj^A#/8 I.e[X[Esǣ^~„lblw.5l? ]kW%`@3ajG@jE=sV ƝoD·/n pyhcJai$5qn9jA*mƮ@sv;|w }<(sR q+,xT25S =(\܆~ Q[a21kf|3_ %[k $ -^t(9.ԫEi|RA/?< Qe?ЩP} ]f;ܳ$: |kx{13W~{֞#: GIԜS(F -hzmѰfCat)Fɸi74фiw6jnF\0/\}|Hu\҇vkRXj?\%63[a]P]AO9 _ArVzC@dm ؍6)U'Hw])N 74$u j,6^PY;inbS1=[fgJ'[|@gȤ-Ūљ=+nǻA= aFP(t(_AACV+ ]Rv8cy_6B/iVJH {Z#cT7dW] vsGR(& zw9'(ҧ-ɾ5L#.F%Ձ@J qdZ98&G#|t8 uLy 2ol([l$N 1r-qf^[a~䔗6,'K4 ֿ|݊h/P& D擼&{ܴ-E6oZ y$Lϫ7.6Vt_o4.'\U HP/_Onx^k%ƚ. 7rqͬg-BtV88ᡲ)P]iօ?7 cVMՙr5I02ۉ.> \Fk6잤zvN Z9K]9~4~Z4:R G+j*s~΁H `?"yy 4.:qԼ7P-dK^XPNZYEyV̱D6p=Gnw>$w݈>zzf|?X417敗m yLpdP*#Lر~Ѓ(KC8h ǻt;7.~G U*kbtILHGgd{)`Cjt`A$vf _hpk~F*53&P7'+CtTG $$pM^D٭|.\_ mggA1K>y ¹mKE\~BiQĕhIlr. 3!< 5 )r{NþA=V;8ApK}L~}߀UX"y|aA$WIdx>aU&~[J6D%&@hv(_#^DU+Nh},/K5 s #"ʌ_>IyVi[›@*V{#. TF CONHdYZDMDIB@@?2J(טI@B:iJ 8/ .Ts9O3_>, LY`g3 >"[UNӄQ8 IRz ڼwF~G(O#QuIːudU ipz„U>u6nrX>, HKﰚH+Z5~17n)M( #tCn㭮ջf@6anߟ#rքrjEPNơN6qV) M4ڰ`/gYb릟4ƗF̱II?0o: l}(Pqs}AXV ٳprHwxpmwB,mzFslCRDgOx\XzRYˮVp߭#T`T!*ɀAs^"tPU|e:05,}(<'u^fJa@MYp|<ʫMrg1f[(VxB9b]65X,nc򣎶O/')u#Y/ZW Y{Z1K1 Q9A}Qt.Q6; l J& 篴@D%ά.L,iɠIHse>v&uG.InAS4,9f}jD FbaP5uzRdaA@,;yo?#iQ{ }!S8/婤%3_pSy:Ic;e i,DYxE tҝMFW}0$Rt0#Օ,ɱ.5#5?Jih)Y\c>H# ;up&zZI9[[n/I]nZI/u=1pHljV,8of)Eh|xfT:GO%p|;y/8"2x; F7kqB[!FvqJ]OA--GHuGŊ+A.ްaVA.-_ߢ^v>L.c3D大$fw\UF>sd#ff:GLFsmW 5- J! *%EQT U/?X9jM;÷ˑD)RL9jGi1e?t!B{Xg`= l}xѹQ5n +hQI̚[c 1[wu$S9 /]P:Az{ :dQLv .V ׯ~'= ձ4M܏a5{5oBىSnpۅx`e ~ L&*~z\N-si! aC+bzKP.sV>IK{_2!&Y>>=vK$<=$Vڷ̤QLګQ :3b;O1?5UDX*ME;a[T]f.ߢ?Z W@4<)'ò P8 [nQCT1{W11 lMg\X1 NCLkʯkQvUͤMBis7^fM>!HAΝk:䯔9edih~e_ XVn9fmD (;b΍oqH'|c<R š0)(cZw ZlOmV~gM IfI/H*3hOn5.ԧsk S#ؔOX2 y0gm0T۞VƆKO!+h+0h xⰄs-\\_9XWC#Eq {*JZ?Zؗ ek=.R+/F^̝XCZ?(ֹ#e {nƱ*|+lVkt'3Hp/+ѫ#Q(떙ulo|]\[~Hi;w`9#r P*?܌lNj3 z_ji#:s6Nh );Z<[؇5&k1Xuj,ʎ&hLwn!%J}˩n c Qг}hU) (ǶԝVloӋׅ4ZӪC `>dZ7'B 'j6dXj#!lasU86 snXbK*:޼blpw, bSJ[*c Ltfc\~|,% "N~OQWK0ӑAkvԼvxWg@K%5Db 8`+ X.W'̧cЋzW YUz="C8#?Rjxc^ ,O *דT"qj g'j̴١`tg~ [ǴlTYʰRObh:xMJͰm "*bfYZD=*7ND4V_I  {yH#'l`t}~6 N^p\ם6qb٦%/y2"-{]MX4E*P:w4 ,b \*&-N',0[b ٔ!a|C~?0PV^">Սԣ*uBf*h?~p;-áUw)I2 1`|zuHorBt%؝3̲=Ҟ{fYǩ Qp̞UBs{L7~?t`.GZ g8MSz! "יLN=ʆޑ"8!%|J1Zs7+lDO_tMִ[-:ׯ8X:XVxߦʪ#6sþgH`J+R/&e +A寻~6NSSrE)G 9h"8 ^Ti#,nhh5K 79sU!_8|aLxG2{|z,{pˋ#&6͂a*OkBÚ{U./oL=U QIlm[ ¡n^{1ŻXW$3+ W(/_Ʈ``@M<љ8:o{єbqOb s)vDj.j7~3KU\}Tŭ< GWyS ?H^H$-Mh4CKD͎N$.ftOSj y *]s{>OfMn}~"6>J6bWtE*0Sݓ NX}k*آetPO:<0[;(VUGVI]U)x ʅ)ZOL٦ %L|؃+[t"}60c Dig~|$ag '$&Ii%^џNW7GM"efh [ۘ~+ JMpk@ܤuGiAS_ZX;>/$ ..ǀ컂T'Ѭ;؂ev4Fw:S{2 _~<-m߶tWmӔkAs]&i xOҮ ؿ[ 0lr10rT; g3.<+Ԕ'?A/MR֞$Okf,#+fAOdqSGڢ'fw͇7 Δ! ҖrZkeL?H {cDN 6푤z@!!׻ߝHnw:f%7$/íoߤar://W^Ţ +]e>F]iZ:NCgzž;Df?!Ɛ J\QЛC.=V™ (_/`yYL/p{n|"'ɏ4-n|, q#Sj L^M3%X>C9kBtO'$0Ue^]kVy* ME"8Ep5[ 8taܪa-%`B2KrbNHѲͭ.ckV`1|L4Il k+y!XS$_hWt]lvH ĭCg69a2=!vbUqQR HtQ%]'5S,DuF!:{"rd"ѐZRVȉ$lBI s/y0n.j!{W 餝P+#MrG6+ (B)9  1v6SUa5,\Փ'">D:c %O=R ZTr az.'+Ԩ;-cUyp!; XGUbS]5GQP_ ,[ !J#拤{S\a7i}W$wQ }Kr2x[ٯ2Z DAFx "f2z~j獤)lb('f3?p:\29 'n*d_1HOO]} YP MY^gR4{H /]=zIΟww#0[cY& <8aK}#TIjN0!6X -uPonx8FV+eUDIR)yEiJSu+#5ӌiD?'Y2}q&cYǍ*Vg%TvW{T78o.If*r^ᒽ j{S,c#|0+\@=o 6 }Ϸ㳌- YM%tL!L܊qNR'q%뗡R,!5RSPFTY=-nh?R`'b`>&_iv MBKh@byx\hKeW }", "GM}8b~ݪ {gOgf'IyV\F`R P$ ge- dPX|FD]a [#f:Wyp#Rvⵦ}'Fnh ho 'ԕBXg6kf8yp n;-$6E* ;n8QT19=1 qK#<]sF/]d#S4PWTId )kVmpu98ΒJ+r , L^kW;KbBa)Y&$_޲C*mEB60HeQb,r|JٌfPrP䟉:X˝g7z1L$Y d8rtn=XeU=ɯyrOͨFg߹pC!g9xP/,[Y`*yb3(hGzTC ޵q}+FTf"pŬZhH8% BIP+vGj@ bPN"_NAh_]-8deĘ'0W L5S7N%wK<6;B^ePqpg@f4"ThD:&OCVG55b6JPQMzn[znqTQ-b mO~/Mg]fi,:@߿N0ýWOVzީ#m"lt '_GҚQ M3ri .)zir/-z#C1y>l\:m` #'&EޖC]i!Izd&y^j[qD4 :p &Dž#fV.zibR+18gR3D.W㎐Wy/Mdȱ,m/]F

    E(|_(5/sMNeB;E:m|7+Bwch??95]GNnOa ߿W GVxFńQؠllԤlڇi?7a| V<.?@e9(Sϊq ![5v㮻/yaL j ΄%z=EFRp42fpwW)6o X?ݕyc %h(Nnr xjDڴYI ]Ŝ'w==N"oi@מ_~Ӈ QztʶȏwCҔ?gRha|T_w T9yH4b\xA[1 mӚ+-;zrI2kӊ01NEr,sjTx4O I0:4'{x)U߇gu-#J܋5Ј賫CPxw`B_?c1OݴHMGdrpGu_tU-ia q+i%!lhQ+2sy*e070V9X}(fk40]vvA8&vʯ==S8>_`OQuh%#A6㭕|fFϛlq Q9~4w\EgY\| ׶ yejK*鋱]<)Mw}a2.[eX.P>'WDӍҭ<;/ zM~&+ pN:3(<7N/Dnq$g;*@žBC7QYeB\Л@q;mg%Ai}Ќ2V_ޣXݧנJӃRZ\pl:],^DMHۨ;r8.PY":NZC,̔-In_ȧf b4orf}?4 fUE5O 9S| hLn~4a.Kw^o' j(V&sMck"kPUWDn IK71b-=FqK\x2)I2pveƳj7PB#uvE~>zGrKҾ8aQ9U?6\6uv@M*E@IʈcQtJGjk HwJ ĩkh)\lDMIizS14m!\- 2e'ՠlJἈUM@KB7yh-EÙ[WBV46=VASQ"BGY탠"iuҐNg~7tX]k">bhxU=$(L\Vш2:Am CzrތKYUMj}W3 n8mN'AveD~V~ 2K&ܵDefPQ|N!T] S'_D4"Z.=)@3(Hg͂A"CYu<8^S)qOȳl?)әOXgLoٹTZg U\"rS9 "F8{͞XʽN]:% mtxDMvx( f#Sus zTL[0VUM6 †My!Le6`(-f clCNH*}PXȊT}NزzįNG&Ŀϒ7G;ɪZgiH/lv8}9M2O6G w~w6?D><}|`b>_1d+E䦉>} WZ*t)PVL/C0o4w UbF;Pls U#;$M0gIρ[5Gm,w>nɒ-_oF0R\ ,"^C)պB  m[qdX R"a>k숍m+촻wRzf~E/ժkkˡ{8Ck]ߣ7xbk^ASj3#3M2ʭ+P2\dEc/3 ˬ=$a0g:7uߩ6jC=ˀ/l߭nx/_]Zd(t_Я1֮gLt*`X{AKܙR ~܃_~uZ͏g":Ygr\@:䜩҉B0Is$)04٢ ʹC:i;a>qHY32q UvC_)N hZJ:=jt DGL}Ȯg!r'@N^=Σ[R (X(őTO}S>2Tr]D> NaYtZXy!zD:HeZJ{;GOF%'Rz% 210TG3(,='Њ(VEI& 9S;,8ޕX[1Uy%6Xfk=JAB,_ʐܷbmLf0MĨLYc{ӋI=.So\f2庴*v{|\S3=ٳ!@_1Fd̰`rH~Aʁ 58{]jfL2W𦀑KRO4ӅB[U92.Vz`An{FU+5 ,GZ'[̆VKK7: Y^ӿ|~2c!V+ewĜ7uJ $KPz̡%,gt<_oYDy6z By0ynػEqGw#*ټ.:tXELgL3Q(;Qry"̺ek(ke-PJ{iq|\pr7/]8G22TsmbN]-U-ּ | Մz Dc夦>& Ѫr@Iu#f{6EA2H7f.X}c l*4{0IFVglKF(s7\%\h*G>>jnx87`HGKIeu]gbPYV2'@DULKm>+lpȉ@eie2˖mlGҶ}<) =%ԼM]$/%n᭲[u#M C/=Z?qD6T0cA\*ɲ<}~U>~S=Cza%Kޥ\kPZ^D]7K t./p c˦W .L4|2C`UhvPٱךYX4sZؓpRqY?vOe|Ђ’ǎ"QuXP5&0LY4 W;բ3K\Hc4MB\  P=ݗyf\sU1&kYG])LrmHS?7Nۥ{/{%P!ㅶX*v5od 3^L[B*y3uVL%P,w7lѡ&t.`K < e2 E)s\n*UX=l'/%1/xI92.k`Ud^bt:IgJ"TʝB"iScepgv?fȌl]O}ho [SDs3ߧtZ.!ux}Qkl[q`>9&*Lط:߸[AؑF+m wI\p #|ܟ+lh#% L^-"Ѯfo%5,Z;i%#Vm@ubT_Wk/]{nM1Ni猤WǐY9Rx8u>(wJ[y&[IidoS6MO[9 ߧty p]%Y*~Tv8RGfн-!Bpsہ3?׀W] w eq 'WHRz1}i0U,#E`E+uPud[`TF"Mv;Ѽ›L;2~®BchUvx`vވ \ysFĻ0gpٯ)4+*[r5/Fƃ*@+!*(Vd0td IUHp/}z5+rO/W 0Ӿ5wTT+ (eNE?̆qg?{5zda^A/%ܝWc5&`2nJC"Pm:CJ@_\.ummB9 cb8XEis(?M oЯz̔TGa k+ \bˈ \m71)+VADbj8_2qY|5P=KOon );_MQ9i=h~pg!.e8Kڴ^JIWLwYn-E@,+fF<]ⳓE/ZId7nIq 3SvJx72;]ȲcLo"9aumz{V\dr8ӓn(Mppߊ_ ;Ov,ZMn 4b9z@01ʑUwvEgNNV2Sr>h4V*X:Zn6xQd;fdXx$eh1+9΃s?,rk6G L2s  ȱ6BלX irtNIem"cGaEKK@Jr'5QwO[Qd4ŏ3utөsl>{͚7|я+AW'\tUV>xu 9`J`b8>WR<5X}?pz &GuU}c)Oʺn1!2P&w۶jL|U"fR(9k!$O na 7_ּUL*+\10v0d>QXן~t4_w=wu&&𵗘h1FֲY֩ÏϬ;_6%/H) 4 Ģ_]Fyl*kIY|5ɴ3U$tp &m~d?ămCd",%xdWXp5/SOքOOQk8^"YJ@%Gĩx:*iݏ<0 qx{u4_ٸ;3nqwŮlI!n7F0Dو"lm3K To񱹤\%c3kKBp.yhF Sѱ+JoEv_ 7&{qc- bk~L'?)?5uݵ?eBr"l\;tDڋlseu&p!b 迋jM/*u2_/l~xTIVAfQo^x Kotw+c gJlHAwpWx>FV3]խ ؊Cz- $¼hIjâvdUs38ȫ I)v/y'E Y!\|Mȥb#a< oȇh 7G-O(k(h+^.vI!pg .PIUxBKSFD>is"~v:CpOU˕juPe;Nℏ9[oǥ5Ǡ,x{w,VX;A 7\5'nIoE.< ŷEy9ј#- ,ݑ#I_2wB$c1*z)_Ac/!os)}uG"/b"(ǿRM{R f`+ x\nS}{@p3RXN.aԃ;] ݎTlN -wӁWxZb}]tQv끪z2raT6~ $=Q  i㰉Ǒa(Nq5wy9aS03YC [@ǬM0p1Y8VZDA7ݴl7'e xh)- uLQ.bjs.[/n"|e|a;>kt~^(SIhwxYy J]I5"1< \{KZS"DFނm)'# UTXK\%ŋOLpG(h- oM_ͪxr5H7 l`84rV#C"D2}jrm Jgo '-hP$iYwJχƛ¾|lR,4Ò8rۣRtwpQF[I4(9|"Cx,2$ͯzOgtsƏN$89^F3_؜1Ȅo[[saYe5e!<%0+&="vl Ted}q'`eh6cuT$ ?=O"h$ lt<LwkBΔC߲a]3VNswQǷB.ɩ 7ULt)HУ,N η]>ˑ+iw>/UMAHLcb/t(߶`~'Ԏtlk@e 6#TEV"oI$|t'e_ɈL@,@-wZ Py7-YYuk>x?W>[:A F $ Enst09`MVFB;6DlC9p^WJv 4㱸oR2K!΅b4OT xH+~C>V衙C Y QF!&Sȣ`V|^ SgNS35{S0!cHRcS):{ng^8yNӐٷ~j/@p6*\m<_Br?qe GLzW补]>8mWӚ  {kt WӁ n ɓ[.巽no4BbLk@ܘar sgԆ}PIGS-6;V|}5%UՃ+D^(LےB󺅦Fw^o\~. .| w ^} i6!f9XZW{0 S,A4Hn03{SɞچFԉOY+yR9zF5[@ET$f0K~X=H=Kv$SX;QiE9Bب8T5 &$'´H6]JZ_vp2o| E<󨮭Xt7SB1Tby\Сf)@G& W6Ğ'C ka Ad "evMJWJcHŞ15UG4IE4̸'ӴŋyiM8nkYca5bUkۣO~TI#, "WX}]."=gVmDxRn2Œk6 _O)J=]^ ϋnoڇ25UE7 {^ 4{V@ʤtC3 vL [ ";Ϫ@ZiZz1d!2kX^7KUQ $eԘ`&[tR[Jډ jgnfߍ|;ٙpV87lh'ZAA+]^R\r3{B""z9tM^1ݘ37n,;TE/=T=c*IDXh͛S^)QFw7y} C Mlƒ)^8~2 Hȵ&2忺3AlXWۛ:OX casnK1<-Ap 0++P9򸻿eo)gp53, B_5vhըlVgI 9(֗H[E9-8NCQuQrd~`m3/p J'e1 s" j( Ĵ]@8=?P-~}'}h>.xQWjՕØ4X.mÈ%CsԕxXuw5:&p:]qR?H,ڪfIi.:DFnR$XGΒPY51X Cr!6a$DI'Kd%d :scF$k傫f+TzFճVm {SSCeJSKykz^8iFks;YX\y"p_Z$y,sqVSn_i"4f؏e)xҗ9\&{ 4{Hl)_g5,ĿsG>闱LFYzx3pz ys_;92/9ZO /azEer_Ё uf Z ·"Ch!P蝸"p偶svuC:>pJZmP,L{B__Pm$`κ˙MK֊So[QNX4 ~/:投kIew'8H=hr>XsO`H+aeBX[Iڧ?@!0 ݶ?Wo&G=x*]he뼧Аזj֠,_G)報I{b4t{RC%#1qy³򼱩>WΨ6M[хn\"KB6k7;eβ!5u}͢!v>Ȍ7l<"l ^u־KR!qQ#UGjwOxte?el: ن˖k#M;^EX=x# :"'b+&7Q2LatHtH>p`]Qy-`/I$ .Dx+< s\N,A'M& i%{AmxRU_!j׊+?- q@@Z6s$ OrULpV{j?9;م(h ~LcDaf\":lS<ٹ6v3>oi_Z##,^?mN4); ND Y`yh "457xEZgiyy䁅m};0Ȩ#|}A\M5'IGt"wsl ,LO ھ^\r0imŬ:oz}кКCbX|Ж}u" Ȝҙ3- !1k9swS{tG)~bBvщ'`@-NQiּz̀I1Cg"Ï\N6^c?4mhКq^_^>H/P b9w9b f p&6.<2X+B-[*H6+efmۀٚծ ÛfZ2B#fǤ0|ڊu('P k[s(FMǠO,i$ýȻOYF;>QP+o_ꘜjZ,,7ކ@"7aukynS:xcjSH){^dww-C9-{'g4aV +: etuߴG‰-į6vydyY >dBpHN-@O1!e 7<& O{ x(v5qh ANcFˉ\Mao,lJ]KsQ2NI& 2C%RMޝݟل1㧩W>)\|xrO,$G?%4\.'4tnj|{m2R~'rW>_4gz֭@W#p-C\Fi;&oOy!#+fybK8(mZ s#ׁ L.qVH  7#a% 9ޘ]P >ll H9FpdU~)e~c6 ]_r ٪?("^\ R/ϽY#cռO%5rܖt v/mnEb\>:;Ǖ1E-G zFk_^_Tl.t2T0:PFEݺTY-6XcJ~]wATq\<=9_ř ?#"n֖mq y17Ң SCf8 i: \p:_J-GkxdMߗvY+d,ֽPMpΝ'D ҽWs#P1>1@QxK]O׆ Ӛ\s}_034dUנg@TeW(z:vDZXdaZO⩨yZu#~'NQre]>jhgyy~i'1lƌME$YM~]H)(as1j2 ՗UX?b+aD; W`ƥ_UdbKX eȹ1Qw_3Os]t'<4JعPH֔`%GޱOOk%,/sƉF-i!^ +};1 콗C7ȹlC?&י (Mjxt%<<Iex]18m8b|ެM@ " ύ)AC?q5 ζa 'T^wju?7x) \DڻA3(#Ɔjc9:4G<$\nQyV+o'`z?zy6v M2q&#I`G)8O/+ρJQd%^\ZS46ZkWЊ{-v]Aa:GJ\y Qm[c()EVn+)Uc[a3 d` Hetﯧ^x3If܃o 儣E\-`uuՂe8vkV wB!pL ZFjS$^3Wdt'{Y 6MV87T[8+U<bMvZ chZT 4T(;dnrh``hI2IXH)\Bt[0jww%R(\5dxrnFGX Ljk9y|mjLԹɤe'?02{^< =`נv2m!aos Pt=o5|bOp|ofzѿ+zEHHŇ GU!h^P?dub{f_"ojQD ]hF.y ֪ȐAhU3_z= 5y\l4IȞ3|x"?Kwm>0CAįp5ĻSdEO-PF:# 58E!T;* WsƺtMKץ[[3ǂ`(%lXtϓteWȅh3c'QS"u26!,cI޾#O0۲;`Ez) Wd)>yk?E]G$ \\##s 8lYwl(YI^{Wn0{lF% Ybأ ȃsUouB#FVY` %/40[Ns;+Z^ҭ| aAs~06ciYn;lK609>t%%&RK%6[ˢJKsU8}␞)N2_mxȮS>Ϧ= ך焋qIPr&*1? yN==꛿˻LTҕ?'=XYD6 xEpt|}@s~N [d3Ff(M6-j3Kni;OnBIxk%Ώ d.#ӑ +O,dA! 1]5ƪ,wdgg'-ukMiT$.7wY DBGk/=}&k$3Ldި&sY N"pm!+&bMwq=5vƙljp@" 3e{s ՝dorJT a6&6/1tWKb6gn`nlτ!q"T4q0JWdi885E5y%GQw6[ w̼:Uϊ]gw$`yFJxW 4B-Gd7hx3jEvwK!tfa*S#8F3$䠆'JxF@~9vN}X?TF-cY0`y0X5/t!!45a02a*vגR3qDoo9}|W)Z:IN*X蠇 "YOMZNk2}*5˾y!"|*ح/Y爀,%BYlBv4758耲KW_Cy(tZa*-RKprS Y GA l]ct)~1(eBk:TP֦G9黳Nf&o)pgc[CKtN/nF%jAŲh93=0[+Dn#|:(4D漇#iA`k!ȼ? Wobg@ri. HE0ZFreW,cD2dRN5ن*I9=gg_0\]m C "_Ma1>zP<-hk'"}q>;bOVGqi= !v ]PB|f∆AQIWۍ&%O(&_h-mWػI,;b.Lh\+W;F9񰹩u5MeVRJ߃]8L5}gYt//R_uhƳX}?JB cp'=):fJ}8N-a~3%F%rGX ?`>&jte(n1!D9Ơ 2mz[g tmw4$nZPM @ ܐfҠ菛(9PgG5;JQIpQAa@.A.)h^k阜0ٚIbt1m>ܚ5˳}Ĉbqȷмh(|Vٰ) 2FK Q87F\* c5u8ڭ)MҝZr&;%@13 G [ 8Cn^҃`{rAɩ%NT4ۏp#6ğ nv8^xH ؑ$ݨ%≐H~DD';LBMbId[.pMlкOLxVx˷3fпdbi6;_ZCv[+fa>rdP.]⼅̨,&2F !+WN1+ x!xE@N6U*>qLh6 WSׇy4JoՌj'xT3S -_~2NYJ+Re}{0YPCA?Yvg证x~~ZQL,X7*Q)`ޡ"GsIo[八F'X)')6EKL'"p&>cL?U\;0Op OJNTe1~[ENuw/[j>l<)Bm=B}.iwQdϖF㶿-84Y}^%,oLɗwq~W ¥U<ǛEVQ5?oٖQC \ׇkB/P{cWYP^m=晔z,¡a005D;NDS=Tr-\h\ouRpf+zaܔ>-#!~by%]sP6yo@?Vt |(qI1]. xyc%w_^I4Z>| O rM&Ȧޚ:agQP998R?Q)΍c/wd,U\ϛ6(V&7zV?P$Xb'̃;1>i-v؛aڑ&y8 ')F1P_N=1ciC%~lo\2hxREG}`6Yx> 4xIPp=S NdQI'f%C~ [*X(GhƦ^@K0!PA֮]pGʌQ-~6v}rUvJsEi#h,#\R>zet֩-1jJi7 Kq @EN`ԥyqMS0vnhHo1F@f μ휌AivwVi3>ۧSBKVJ"Z=19KN#<gǀdC9~z' Kv\6ub6 ?>uy8Ev}nMyߞSb&0(ĹFeι-8ɬB^I5wS%>"T]AZcp2h`.Jv5]m1zaicYPG'yp9hG`QY LhYZEN] ,^6Z$عqd@H*Rr"ToqpRl3d]3X3;u*cfc 01NaY -iinx3R. 9 aw ~uZ>r 5-gTQY|)]x +~jb+nwe{W+:bTR陒dpBߝ85=`D=y!>I˞l&Vs8m dG^z"Gܔ (s活Aw.N@B|2ar\O?P ! lkQbk6BOk9:ku9hQ g0[PfQ?? Z,ΊJe:܃)G#l2F3 {i%`:;cnXbPU5%OdiN&(vt=p,5";xC6ܩ5T|gS%v~_?/c䀖E ݪL "Ʒݪ6#D_ dQYhF準Oppb㰀kJq`lqXvn[\T>? Fch5ף݂֨uȮkQ*h/\bL qaytgx cԻA~%oI  ߗq1HMKaoz`׹ՏB0gzDFF!:&lz$(۲գ ]@; K\8ccP7cp (I~" iUQ1c]Iʠ?,؝©_ޥ$[fw='w TԒn#yuvyJ1332  &+gQ cWVũRLT_1N4_!l^C%P d\ȁ$Q:? һ'&#mUxIGPbI=VvJK15zM?`V^N6N]8 w'ϠBƮ}SN>AV ]fh2W8rii%~9mzbk8ܪIo\/,gC?CJYXtPuΎXd]&slX2bT| gvKO=) : qFXjr6m,G31b"qX7%´?o) ( p MbQ3mI#yᦵ;8ؑSłWx!ۇ.,;S18X<@CvgSG\U~t~dL ~}&bޚ#7G S)D\qmxzM  [vgI.Ng *vߠmJǕ&^OHhsqz]79rn)aՋ<& [`󫕜Zvⓔg&Fu<+M4QE7x1Fh'Xy6K@Nq!#:+Gh֮a;e 1i@L矫3uuTզ*X'^BmU$H(|ȈMmTqTS[v <+V>GVQeXO#5z=jY^5~ W5Qd!г 7.!ӿiI-/7 '~1h|~@p45XwQ_ıLEBf?R1s"6 'WCL)^a4W68 o"zƞy/ m):2_,2*܈yF\Cs41/\*0g^W>voX^Pw jŚ2wS]L/P9;20ca~C~Xv8p-Jku%D]B@atØeE?=3OK0g)?HaCD 22INT}W٠t P ie睋aٺ%_Y_ʔH-k@o?GHvt;R:|LAt7s@6!Z(k̎3k`g8/U,~*e_KAľ.5ƴXd"OL Sl˦nR.gt od? w&574w%[썌w4#xa{湶ab6겖j/{jԿ\MqJ\Xg,G&4 j1e֑ jZ$x >i\:P4DpVQcZ]ei՞2̌k\m|F+ý$, m1W9B-uCy5 8XstBk+aeLޏQʵZqvMj"BNq|++#$v.gD;-ćxtM"kNnrƽJfETOk-,%g ~u!;iXb}w!yq} fӏ.]pLқ13]1NI[PM%!"K Yפ1baRaCՓ{dޮM/˿T9PA Y@7n7¯qُ2<|+ȩ̲= ~L\~-M19xĶf/:ʙ @bT;F(EڱFN|gdh|&} QW1'w_+juD pkoj麅ؓJSؒ6`@Ǘص w5MZ7Z)PWSּ2/UCnՇ-a p FN1yBR1G}ZB^¥S2mH_ë_E8/-1HRs~_1Q r}N~<_tm2ɴ>n]a%V쭺7ؿhK۝ !o"'riR3Ҫr RurJʴVQ%]`iq =1zެ/PCDʋiF14xts|d egx*UÒ%+Hut|S2n۠vрS3Гच1`E q Hf D褶0%QSaH!њ pvQr}ʛqLt0h5*>uSvb ~rJXM짺`9~L ]fmFjKMO)Єrw v~Fmq8ḀÜ q["uPppffk&EV?RE3eIQKŽdX RM׎AۨOIZ-֍k;<˰N %MJhV:lz Vq,TXbuq֥J%f4rūu aqdbK\%63!3!;߶QAxY ?ב38q4"lXFpPp-bZ.X;ϥK#֥>1|h2p'}Vb9"GU3RN0CGN/x(h)iaL>rΡxobݔ9pB{'HJ)G%S ǿFwG3qJ?.F:Qb ů7iR]36,#$][{rxOj,D$i6S2̌{ Qlziq,3ߤ9f̕ï=oP*n-'N=maX™ ;mFPP~RLϨeV~~״α̠]fBJG P? f2g 6bVT 7*S3C2 d/0@mO\VaT9dBZo/+߼2\(ޝ]C[x!$Gu4*|2=\RMr?۷\w|tM0{j1m{/eT3O­l#5TMX* B!rv+h2܃@\I(BR{4 5/~1䙤7K_GZek.? B|EPB{=זbWBma̿<u!xp<-\55$}t_l`n3ynlևz?Y" $;)Gp[˵"q@5xDMS.eM BK취J5i?7fr !ҰjNϰ)E-cq I%V(e4_ glj6q=a;03/'Ç#$V£w\;ZZ/tmڧ^7Yh)&oAf_r eI ZRXY?FR[Y%^BFW&ELwCh_180ٲ;2Ͻi< &UW^%2)V(nb TW*f ([-.>!:?@ۏ#f/< NR@NQRHj(1í0"7]xҦ*eu)1ZCh*ZmtAӔ1񢚿iIP <[B?șHy +;݇'\ݯ1XDeFַ1ur;a}!"'2àSSһ6#q9^g̦AZ6HQSa 7m-\RNi^ y?@8DuSo341]]x50UXB콼,m&STl٨uO'URgZ'j\zqF˥]500,uӕ3l:f1:[)smYN)3Swyʁ*IN- 3߃  m /@Bd7΋${:K/&ҭx͇5! w*o̔cmΒjϟ֯3aRG߹G~I+6P:շ۫vlJI<*…Tl|ْsinuŁXpR4- @#'zaK,Y*WS1u9a@B{DMQBiݸ[#JOH >pfsuS[Bwe)i *DUnPBm#V.՞W Ο pֆFV1 nz}Tsmp0uZU8u!'c(yQR`(cOmC۟/9Z@l3t~%ޠp&R3H<@{2~7acAPEަ"j:Zk@*%A/GJS-Rhc80YZf)2&Hߚ~`y`ʸ,TbAk,Eb1> 4u,_܆ T$y>!eM%k(O&=kVoaٷKN 6 R? [1 Ns e\C{4v·jPbj!d^^Z/#dR%9ڑ ({$6?E(8`i]fL~יO[ *`do@ Ľ9gr^!/ʍ[ qG[KԘPLXYueAk3:gوi/1W:EܬTDZ6$\D-7(ʟ(Su5 oǺ$\F'-04: )wP:3]tWVʒ Q6p.`Lvb6M2Id5eޓA"wEFMXnM؆G,;2vg|(^]zSqRG\{`IӍ?},^1^I%Kƺ4۬#|.PQVuasC@Yzl^҈idd*ya6 7XR3)Wb#3v3oTґI]i`d/[Aik}Bg*\*0LNCNtUyF~E'ď2|Gf])_Q@-PE4{ۿx&kTEP! %k)qV;͓{?eS ?ٺ50M ZVtUňj5gS[Zn(LS*RvLY0ߐ 'feXg\bQ'Aw'V_ں=B"-{ UW{FApen*v2ws3h1[8Zmt_A ɹrp!A 5iM5漚p~+L~ 꽨"c|1Wx,mfd!"%zdڠRxA|G[Tn4D PabzF9mݶ <hSͰFy}AHݰ"1#aexF3[~)njb-1ozp\# ry3YI"Zb! r :uUG@ J/\7y~&S|6ʄu½ckӀvP䘓8E?U >>zg惜2/h^҇}[No0d]0Z/L6 oW |r m- h-T=o^7C%rMcl5xB1|8C E_֎ x#"|_7ZQfI/Oq$OO!6+u[E̳P7KZ?k\b'̐0_r'_bvZC+CVO}뼹%n9Hց*jԫL>F7r_N7WZ}XTe͝>6کQHJ6\56IFYn2[r^b:LpA&mTzWbjۓ!ydHHT`~A0ͪxԵ; 6uz`v t"b8=2}ML0LN+\t8f>nh0cOǭC~.W_L''69(zonE٩ʢ2vo(H_SW>nXK#&)hlن~u_lF׽S^]uʥ+?G.y-jE,|eW>&ab[19&n2]ŧX{m }G":GޅSzK~tC.[aH}icvmZf:"Uq%[R !@ M'n?+Caȉ߯¹eS;tS!jpBA6Pka2瞮uOlzڳ;D ]k~RdHZs@Kخ vdU, &jDhV=r-#@Mjx_"c=\bzj=-;OE:MPpiW1Z{qJ]=>^<8 ?Aqj;*XX0'ܿ0lHc ;Qxϡࠦ/-ƷogQdsQMq'mڬT2&"4Tۖq -o>4U^x鋬nM 4L7GoK C2Tz߈fłsAۮ;Kf_tch19ʑlXZ~,aJ;c F!E0 _z4-xϞ b !Of^#[tv "S,kN/=G,!t]&4Tf1Fã0,$Lb}s( 끑Pr&efU*s3Tj ilJf)<^#3+td4Ioƾfi.{Rr2&Kq |5i8DC*sgB҆K~f*~ %O"ӤD>dƿMRIrED[f|nOrd`ALK#ܻ6 %qDPaS*/2 Iiv#Gm$W_40 V9l(6|DAGQ?cR<&b6!<T3J"󌑲 Yݯ򪭀v5{TEb!D'}ȯR-İOUS(N=&Y^.*3L)wd5{6ϥ1 2(y{_ O5,ȫxͤJƃ/ >+J3DbJ<ͅT߳+Tqa J60aWoԻgS |\@m.zLIXGG%Iv(D>}0gaS۫0{9qVMSRsfC w)?47wm!i{-%q>uqc (;7wZ;c8`N)BAvz#lAb5뤓8c!åao PN\@()aTZ*j9R]oq֦'R.'n]Sw@,yE*!Ei]QU/vKV3uiMm⢩]xD!c`<׼8[M ?bd :7 mݎE5_Y2ŢZ\oͻQ!%脅cȧT<{ʭt99 {Y!?6@iQN.*U%?PhMfƌ˾IEߕBta:ˤd<.sJkd)A$g\jE~ܱF(oAVz>~`.0PLUocۻe+}oD5/P+i=)M銨ؼPs,7#-U#PU(۞՟{E&f˹Pgu E~&A8j{"W N;TJYV[ 6# -tt"I6){./ n|o&ꮱVa}n+uQy؍GW)sVΡAP{Yi; &SD^Lw*Ψ<*,9a"~<%i60LLh#5)|eIJnq*{p]`Q]@.FJȬ6/ z3Gvwhi 3 *I%OoB_8R}va%WHK|16Qr9 x#E&{ocLLӾE}|8g޶K-M`r^tZF"$ħg _-?t&O`%aX_p+7'aB/ϖt ]}ٕjpVa E5GżUrAw_{o%66zZkqS\!NKG-#41/E_-Ry}GϒÂ̅b8k@icUs 4\# =Dj>azwoA嬸;Ck2OM/]˿3C SGڗ(/|uG,C>Gdʍ l$5g[HnKC i _5I(Aǘ-Ͳ?!j=&ЪT$MhBL)W%Ĵw W#o?t- ZC]!B)eCEEQŢqs^щlEͣRYcK>5Hl"=ާ8Ǐ}\͈r"CUJŦuτfdZaJSz\ ^ (<v=QY;z_d0m⺰P(>T^:$pF,_ 7Gs.v"k8xlr K-{~{-Պ#m!4A#t~'IUC{$ â3SE[7vglGf*Z W?̨zC*J2YuN[A^4meuz% _qiAIϵfC:|ؚp[{y#9|kB a{\cW)ܼηW 5N!p4\d S!Tkf486` 0g|67Q[`"_j~Ŧ~k^9N+7~0I.WMF D30!fP6ZLM'mNAtN[uͥ/( [[}+ ] ;4]1͐vՊE-U@f=q8 kHtgx}fZz%~,Wi^:8+V /hZ?k2c{<8 /JJ1-P-{ϲ#$Y>Uvwbc\ȯ;ù]͉Rx%ӟCEX&lu(YeQqp`ڬKf2y{iF霾Rp5_ S7~<{\$z7TX&qhp#&LHHRvBGߎ/ =Q[ U9*:Pٶ6MJ)hYCHcA'!FSs~uזfaDJzy"s2 ,(*f3b7g*$fPKJ_+bzacm@/=ve,ᅋڞ}` Cubx״bT\- M#N})1.bbÌC ,Uțu nySc=Ḃ}'YӲr,LQC~j7{m( nl,Xŀxܚ M% 0WyStIذS?/v,t4M֍oS!a:>ldumbl}?-O֗r8,2`PZmCKwDQWT@m)N<.zmZz"L+Q}-zRO91CwU-l Rc77Kj.HǼhE8zl INO]ZtĊLYJ(XKPpL-,<0L-n+3G(֮hSD`a ˆpInʱ{U(ɃbtGnZK|$(d̒ N2U_ -EjH|źkF{څnĝ_ڗV0H+i%ϓ a8eQ5eQ"C{y3:xOxD}c 0bنC};&esR7rwOFHTT~4 [Bc$TjXȐ/zרڨjઑ4\O,sWԤ4{mP o8f 8UD1|u!pՀ1Psǎ⼆퇑q]2AAwR{I:,(u] VsUnwh,'-o2!+([¤T:سfB*FPZdKw]]Xl%sH]C؂~  ;`@vJ]R\uZociip;8 W&;+2- Vq\՛Ѧ;4־6+1y"[))|Yi^T*M8,z7[AS/8aYQg|~A4:u8 nbYy=$n0.Gʹ1[sPA#V /yUBS {"_!ι+Ri'QK!>]=(@ee56oA R\Fwk(8Q>_2F֤NSJD`'c癞]8t,N_*rˈ k1ے:ef߹:jQȤ$)@w 9!;ʸWyC<.!o:0[.&rEAw;PK#Lj.|ήUA,,+iͭj?|7hWG2;nsG”ȸPT#ÁD'-u(vJ<ڀ|ZPZHWz&qnen~+^A9,=1I #A9 9OP,+A]+YşLל_!g(Du TW/ґ0R.w%ad@/o_C>Z_V2L I-ub5gŃLwbT!V*$%[&>c)T$P~Apwy'D 6tߴ+447 70(-bl] x抯4"Y`$ZK.˘̯L,蔽n˚MI, 0yvlP6PB׉Uh6xi7ڛH$vW#"Af{0 1ϯ/ƣ=x<EٍIDvMT0XO3n% @wpwƳ!m\TPȃjlL/ .0w"E`כ^RoG GE3乂~izwPѨ:W_-T] lrLm7u8t [AޛN<6[wUP-f}c 3NŐXe/ ܑ(A͗X٦4}]B3k=^*5_[ɟTj=rHc^7REV'!#O`Uh :vu͋贸 &oXjo ˒Ɇ6Za2|ā|0*3^uH߭0 PneyTuMDf=7Bp’~2ة%[P'']iw7!op\scʵG̓Q/WirЋ[ګZ3C?bp bc:{=mhP27uGĹ* ec0B'[ XGOw|} vaըyhrЄy%u" FdžQVoΤ#5u[3\MVzD$y +/Xo0d!ΕNz(*nPbJTjh^|amXQUXuEnlđ^dڗЯ%4D]3zcb~ # n1xW^dX`뛸Nl{K}% v ~[C y [F/9ցp坿!?2bB7` n*Me3ʅЁN$s' HćV![+&q» @k?}s%=@!EI[g/A#jnh87}_2U]H]Gzg|7sg cL4Pt]i!2x2pLtJid.҇l)/țȜyGKq"n`b0 I[%]amv xKZU֛z pZ/Z-ʅ/uz,ȝT]uD *7g M1 )R12O֎$jVF|,b0/71: Ԫم2{J,[[\V>dП9[=q]rdFſ)*^RH6nN :K~&)Gn4$fHèBsK]\ sqsYm, t ׭T6 7>$ou:ף D?WZ}K~w3CF/O=XIVSb 0w w;!$'U[jǪq|q^5Bo{ ^oPT9m[Q :+ɸɓG}pʹ Ҩj3pݫ]}{{*7G MtHyօwߋ56uM(&VjL+7ݿJ7~jk3#lj,$(҂#Ng5ɋ1Ajp;|^23+ed2s4pD*rS˰ϫ0@Y=yu3DD>MspIۏj +Irʚg2HWp4&:vԮtFEB"{P(u[%:=,[Q88!}iUKFmUM% I(3ffElY)#r@Vϴe iU慝tCJLQĤܘ3 MxҶ?#|pl5XG$/jr4Kv{$:*HרL+//c#tUFYLb(i 8."di'-FaY(ݔ8zٙmLci?e$tntYo6,*M_Z7 ۓ%,wҴl*C;N-Xe&o{~.G7&pv4gW^=/*NGΑ-'ߊ&Q]6ԕZGWܛn<"{RxJBhO+ς5fG_e=WEPXVT:T2"͏ϋ׹E'Q83N\p}=.C8/ԇ8HA,}lW1B xm1+xĉF.(.طo%QޤaP/ ӯvTHZ$T߁E0f͕!l\˵tcC _cr JI#zrW%Eb6c1<չeU ~քҬWv~MY< <Y6 eP)g)O6mS(=L^|wO+]~4ka흗ieU*@\7![)n%fq`{Pw ]G7VE3>c֥=nC qSBT ?:2ʽ`@,Dž,vE"!k9؀怾pNջ ~7+p:OA Oћ)uΒԂgtO9Z][F?gv$S(j;d0rgvXvWOe {D~/A?a@iRZoU޶73Fx>V8D(z>tp 6:kx]&9ov;\óf0ӣ~Z;Rtt&T"qtBEΆ0 1$^Wb*IyyHɛ}h<#!* -fh_Ay4'X:[Ga4|OTOj<P`4wuњixoE_vhȐFG#Lt;FYx&pԊB >s Dr,TwdY=6܅3u ]B|ˏj`XOf섓kC,*=hމNJM>+ұ@sR7k,Di=&_Y<~j]Gh86{ɼ otCx -tog`-PA^C+(* ŇP]{ڋYfך-:a-~;@BiF<sABKpxO]wNFD= GҺ!h:출N*ŅdbFe7p9-5YU%s(AE3}s,W_/MXo!`wkKM2?DIU,]s=| oKoXw?SY.T:.~BjiM6rR9ͩ,y9O-v6_{/@$Pk"o`a M\$,aQ5D?u 5v8`e1\TW 0bYuޏv"5ڌ;uBfnG ޼<&bğ\cO84C_ZPCsSAyUnDSlE|cs_Oo 7uU=RJ3b< keoe+M潣ƿ/Q)uズ[)-^=ᰯO,èj–E)SVKs^< J@k更v1nPUK JbÆ\D,%ftԃ#V> (Hgԅ6Zi;'Wz4CB5â3 lɱ1Ld%y&ٱO{ Z8߀Od6\Edny& k1J/ Y8/_nw XhT{Gw^]M a!tJq(duԨĸڐK`<%>!RORta%zp1ߙ:~W*W|_AE ń<"r7=DǔwK<0҃.'D@\DŽ08M>gBP#&u$qU<|M\$ƹW]/)mGƓ}a~\ՄO68ah {PrNAnEEo`x]]\W8Qq!{lkL*K30:OR>V 7|EkofQ-=Liţq"1|C 6p{r>Iđ/3ܙ6}>TR7,۪tg젻F0kR؇zO]$p+)9kLP̺xABo; Ʈ5QaVCxW,r863I{i)Nc,y'mab#cRf߉7Q?ü@w ~`v]vW2nGu8.:>Hb)!-L- m:QT{k%XD(0 g!ޣQo>tlb$ڪO :g RV r_ަlSiMCSf(k$cyDۀoGbbMH5s'R<8<-.E#(){hрlF:?\Jhq#Xb҆i͙Jjb-'+ڮLcyPcSBʍہ7 gW[B4v)@3ɋ2ewo{'NCK_X%Y{ķn @?pO~TrNx ^f"S* ӟ %{{vg2@%YXQn bHU"Y9SJHЫ?K)T5G]dѠcbDpgٹ sJQ"9?wN:L_O0_5u]$Uk+T&VbfZԅMłLj%4q?:zY-arhgWRv|fx=ŴɂCts,!n]Շ|QRZS0ʻGBG@lCs=Х3]m˂OwbYrM_=MBa\MV=~%Qprv"cDϩruAfG"8+$3VUHQw?Pvm5cd {O0($^b}U. ԾOfݘ- o~@VFڒmX>y)n)~* hmdQ"g-D-2:Q]~/ נ9bh`&pM&rY>Xj=jpF/9BY{׺8`ɈHӴ"^ 6(K%Bþ*PYÓw#@ÓD[@quQ?/ygW>)u uoP"Q /}C?ca$K&[) |3aѧ8 :EޚN*> C&>],Ԩ=5 U%_zq_!r}-bnN?GS&/=sldKҗqx'|RBьG iǃ˒jd9* 9f43B/Ns>(g2R`mz}.ؾK`$)e(ȉC-,똍|G)nQ'_vx>/| PY#(R*UKi0 J8F55YM(!m@|UWhfOJvl&;r%_FFw JJ[I*B.U7>ywr3"5-(uE yYLnL7Z\G(殳MMS >V'91GYh~.guy mM l)d7bf(w>U?ȹ1xQҮM3|P.7ODՈ}K}™57bm((JdE"-3LJmfyQ8ٍV4cK]X:OB8Yʥeye; Xm%PEZIts jG鮼H"b}ei;oG A},ŀ6I%m*H5w >È 'Z-gV K27Y{j{)Tnk̙M8+CWɄ/@0s6>eJiwCwf>X0V9hH`|ggק˃!(`ɺcB]!X~1"$B-M (3R2xn;kB^#|/_Fݿ׀ph\q[\Ci1g)ӘQ*^`QFTQ\޹Ur~0F`<[C튢J(r] ĿLF_l$s$uX{zy!eU]*Ucr8 묷#c'.~R)z>pSLh,!󗡌alnz',}~ 7< p4!ri3ߍ1c^15y`1_i!#2\c,EČq@ug"!3iv? !vyx‡Az"*fZt(E`}O(P{L\C]xczvm \L=Nވm|?At]h¢#:lhnV㵼2^NWhQ_hOԑX[Lhj=$=XHge//b6mBϪwC.ix1(u 4ߣfFĿHJ+]M\T%og0>7YGp'g(z pcQJȆd!߇tKZtE#qWKx)-s]?07%=$zb|[اkV9T70WBil}q}r- XJl9/poX<]e{v1X'{2u}kNHԺFJMZ|uOL?SG^iֳ&;Cڪ LwMlj#]dݦ+(VbhEI >O m9lrx PP u}Jٱ0xD:y4k t{]E.+]QvXV5$蔜bZڋpՙp̩X;lj^okO3Шw@{jߗ4>".Z{W7g,\n`nyRm׾F|!U}U Sp<~'ᣕ~v ІyWIW4*Z3[Ury ?n3&K,T9g rͱ ndmVM0XXLƿ^ڏ /8b?۔{On5-222Y-as5f m}1[T }Vȵq] 9J DQ,mvU*ٍ9 tW{PKۣeKk*2){9ˑ9Gd7s@-y Dks̅vG!DŽsvL8!Tx@r{d-%DJnayo fpu=/cqc?: ab0woI5ۢvXJi;2&KV'_煴tdGd*K[Rhq-,ҋq#n? Ph>~jmU_4gG 'DЊGAu;ڍ:uZe-ZLjmG!;4^)SqT.{ àȰ_]Xel&ڈ (7KPǒ7Q_ԪzkPȤ`?:b"|`H#~F+qe*h63 C?d)Tlz*Ѳ#Ȁcq ϋL.w+sCrGH7iKF[[DwY6;uhYİ* XwGC]oZR-h'o40[_\fPpW`GJu c0q!;Mm(~p>+q0p7[c=%(\7`s׷Ϟ")i2 ]j Hˬd i2:厹BziM4ބNw(ÀJBt6;o1Mb^:bG;Ƃ$[Nag#`"KWMTy "]sa׭?DW;R}JuD'y@h4!@+K!?ΐ`ٳ.P='-dD,i1e<:SU1Ʀ$x2n"34ckrH39$WE"Kƪ/6/ͱ $$B4NEy;8 1)J'/1pu[x@E ̕mNY.;ia9E^jo6 _E".mp^muʎryx; L'P~*OZ +s‰=|$;ivZrūڛ.g6#]|2-}5$bȨ@:$Tb&} QAd&$_ekqz7iX&6J%vc7 `6u]])|pdi B .]pL3Jsr$+ ݇?Q1RBN[(.>juP2w9Ʃ-űN8h0p+ ")]s%1DR-Ю]yw2ʧiw!;cUW; lөPoo/xwgp^%,&4{Շ񚌜 jQ6ѺaЋ}gh|-\\#s/SKay6ƚ10M|Dc(04d`.Zm&W0t--rP90*ND m;Vx IcM:2ОrMt;R}^uP㊸H=~t382aix/\'7ԛy*(f뻱5Uw2r }l?Rq{ AK9u+G[+SyR6XN,AlvT˲^H1ܛ0 :j>U)%tw8hHwH%2и=>I9{ 'f]ܼm@ ?Rep'*<=3fE#9F,,9 utNӿE +a>P-ͻ1Q|<{І"E/Ill{3YY|H3է(Ё"q=*iY7GEU "?S`w c%mDX+N˞܆gбe@ 7$7<$مL˺aF;d[-$|tVc(,f65PG[qY-4w$NoJyi=~vO&yy^:?X#DEya QSY*.7` y:1Ɩ &<"E5{ehw7|ѭvѬ0%uuC(T1޶[u#|Еyז!SrAD1/J7-tF67~{a;)'M-0N, `#7^ }$Q×G_0;|}g[QAX S5zQe `X"PIt,fO12#pnS/#T|d8#F؝䍱\"uKI͌?`v.;o~ڢʊy%ʸyvt\FM(Z~3sj-p 5 ϥ&x VAdQ5))7R?gr$FL&fk4l:Spf?iScDEm RVy s8| QHn2rd/m[2[;c$VnGL]ҿIgF9W1_6lRS/Kj(YRd!-<ҁEܳ1.(wt)mc8 po IQ9ڄ ͜ PanWuan;#| au1EcbH/ב9]$!@͇SMcɰX}6]oW;Dx1,$Ox[ނC1툀T&e` g0iV ̅8s"0w?M{BJQn/$` 9T(H "LFLpˣ?ٸb<HH.Bs*A=Y~Ch<3A3īY8R>ԅ~t=8ܼRݽX2 -&\dPNFNe /hYP)$(#ݱSKz*&=\zqdm`aId:\v6[.9bjݜ9]Y+PlE<Qzb^Fu#ۭqiw Sq ԙi.xD9RR{{ߣ5`C32V=?w˂xhwDcɎ]@V>m7hHdgꨶ%fSL'5ʴ8/Pb!T߿5STI:L?aSR87j1Yv|)n JK._5~wu[>56rK@7UV\@ؾ>o7/k je=>P5qޖB$irmo M|[JQ3Eg^$H<B"<'* \h}iUwD`Y&~ nAB$lF{u;gr)sz{뢾.z[< -39znbP@ȦcKWenYDQ8fWpaJq {]c)q#+K+D]b*Ppn10=$DDzLgH6Yїi3Y@'][Csa.fqܴ*FyqY>&pNdi@ .gE^{.jzx!4͸j?M<RL|c7Č5gG('vֵ*wjB&>vgj-~,7Ds AY )v\ӠqJ+AS`AXbxf#7%4zys.8h _Ȧ@? @ l($89EuG7 5c}5DnR,*3q/$sdT][dcc`Iw+:oH? |. HxW.=$|I],K! eKD^3-]J^|K  "Bijc/:ęIk8Z%8h(U6 _s3QxTuD7I6^3{oV|se1J5Go!I@AKa{8I F6jor_SW\iݓ4sL0<3jz9954詳>=lq}/g>Tv` R_Wbk RI4]EGDZ9ۄ`Q]2}I+{44߱ZF; 6:Eec狳qo83hd^fTۙsw}g>j;I&EW suJ]W˖W|T+dYb .Ovp`f^"Տ~/zƣa`&#pn[V>+gڢ~+K妉*NNؕRD}H.cG(S EݦѮأ8`\O:0%ݚL #ha# \J'$He% ԥˆisMmp|6{FBա"?C,h ݢ:]aK)ׅFň| L/]Ќe?Tp-!Wr"N(8S"aZriABIgukp{ "ȉ8`'g}y:ˡoMed }F$Li`<H2ea3Q>Ca;5rc+G>QhF@Jd7JKP"HLʜJx TꢏY t3XU6Ͷj:YR1 t6#ݼnJI9S$ۢhG W驧{1za4iF3_3>U{bw>an:02V>"Z4%qЄkl۲fseۤRWy Rp"L+@3*"}5F}+匕mp&_,Vyŀ=g@hro)"P0<:OZ˫Qdidq6FYe}uVX2fXHI;B kE`PQaOY|,DE[8CLߖBA'H$]YޜDf!s^uaH4ٵ ~[FHX6qdeR w,`PAN\:0K/PZ+]]M`R``s]"DŽn}NP͑_ːgNz}{X̏toά/EL{n<0uv`jzzRK#7WzƫAerԹ:,42 )-V.=*WD6|LzT+Y i Nb2o0UvR`:NJK5}3 1 5?v[P9s?QȦ9[h?jJAe:۔Y?d0SأlCO"vUԤz\C"i#^ -6T%:+/ŨkWE{Py4bwi"{+2Jij g!\,KmX v ᭖ԃ.*nuiwj+]dMWno63l@m\*}/b_*0L[S)ӖI*86IS]cI cB]3 ,=X[iٛ'pLtE[W-xߚd tyd\hKh FnTE2l(kH Q]yע"gE˪y> 97fPt*=:L裚J٥{pn0_Qg k*k D,mgͰtg8hm@K v4z_VGxkTcm3Uؿว*љLاR9նm2lP04dRH%y k ȃ%F!DܲY+dwZ@C!~_QWr![=p8Ʊ~JxM4H98OVwAKQYP=ҐZ9$px;HƇLFmyy͞GD'hljTD?\ 8gg>Sh2oz~sC*ax:mP 7H"38kN:&l%=)Y[?5=dkfw܈RǤ$Xqb_Dn3X&aZHE1v)6Mс>_׶y:',<p N^n'%G,&8(BƤ=n0\C~D&=zdr'~m^Cv:}XavI/LG&ixjBTJ=Է6DY).Up\Nט xSMw}tc{:$} 2 CzRw {}!iCxӋI& EH)e1IqF;ZB*_zA +&uZ,ɍX<>h{:0;:q\F,݋H ^>Jhr{gaJ>݂ Z%mb !xWY ؅&$NYJispfH ?,`WG`^3#tV_wUU /qS1mT;z˭N¬+ 7l%laY\Y"6LEFLYltJbY6k4ʫTW|C٫`o>Zs/\i O"BrD8 iP3!Fd+q쳦Y2ʅ@ zS!]Rri z%JC)Ro]|,r7tU*F1IUT:{K_ܹӠ\XyHtfFd}9fLm $q|6uiPmz!:WU*]׎maĸ]O!z%78R|AQ]_eSp+sGy7avMlK"9+8Ldmd37"8-lg5 5\`,>} Jf_22-,&EELRʦXYDO$ܵV"ҳl.&}T~-=z* *NY c`4fj.dS:#yzt&db"?nfm~ !^3; Z`3Q2S<®ϫقT+ л"r& "H5 XD;֍TH>s~fqٚXwJ6(h~ǟX͑  bS^J ,?RJ7zl]S;s>‰`@]͝Y6 ²ΰ84Aa&!ЏSК.Ѧ''j^,aBMt"̷SX7wڟ×:ZpT7?BcxɃ=CN_> Ԏf&)3!$Ar[{B \T$=Z7MTm ܆]6nrdhjS)fUճYEH4-ӎ|tְ9+Tt4_6ż(Aǰ\@j>.P*Vť@+W 䵵+#qb嬼@[3}+~%4+n&4Y &;}93٠53)Fɴj*d&T_(%"ޯ6Q" JǛbx.? "/d:vȖǤFvnvauJSFc& kU z4_j;Hӏ.DmG!lZb>0Q[iY`6z,}dd acpәY.TKݦyM`^hB urÿsw& RN+PFakcnj|W=K7"/|Kv)q1C@rZXĒ5v}W9'K8x 4F3H`玫[8j]-F0ץN'+18X0H/J_sy7:Q5!23nWۿ22p y#x7k~~eNE;ȋ6%#'(Z'L %_8@BbYsX&Xz 0R=o oZmf[B{gj^b=Mr=vWd8Yqd)G vA\ K_Ml@&)߹!#{XÌ\U*IgJ;1S=V8]S!" A\˛,ixN&,}%VMFfc? Bo#X-mUb3Bi_5k\z9.[Z`~7>dtζU҈t1|d !pPIV 0ZTƋ7"5<0]ۚ+Qo^R,VoFt ;yu^A/EC=p\i!Uv/%N$+s*ET-a1f1&S*Vy5qra7ϒ|- btBێ4I}3F#c4k_BȶuiUDZ3ӯ_z6׋8q:𠹧n&̏4ttXD,b'q^[ 6cmYюTNScȑ*Gtqu2.͹;O8Uip3ZU>r]{Wϻp&׼$諢r*4U.5+V_ R )k &7tMQL= 3+ow}fj/H!vB#d%ft $%|DW`NͺsVc#^)U3b-gGxW`ƀDZb8\NEiv 6Cx sPI)8LTT18G 08 K[ހ/egz=8^BQ| Eg:GĀf* d(LCJ3TRg!ZQ/'!FYh:qtWhx)=S"uΑ\y<;!M88I멳KZV[nlT?xBe> ݮ0m VezJ5bzk%:̇ uΧ5rӥfw(&KBNܬm;,fʙ:) kVV&D}ELز@0RYaFQ0}ҚaII@! x3a4LAYTۙ+V?߯rqriT6PAsR*6s@e3Qi+`}:Jhϭt]W٦aAa,|Vy| 0(YBMOx%/SU'ݫd27S'TlT 3ʙzZ.FD-Y8:Gxkت4hʹg$?Ŷ^bC\bM~,0 DcPI %} _1dz?ⷧd{'FFc\L _:0T5:;;~~ JJpZHҬ{BYxHP]Һ$^yp0HЧ 2J6djP:WżŨlh~ w< L;s @wxJ0K-6G@.$#KqYHgޱ# Qma*{Pnm_ O\{*f+aŠmQ+]wj6oj̶l40Zc/d] D:nBJ<#X~~5mH۱тJ5g9_0˾vƉ*ƶ&B4CAiSFܹ,c啒 UO|\6y e VEot>7-*~YTƁP ݽ1{u~ZWfL'}d>!J&,xNrFք%ɶ <b]S`w"=ϗhNޕd%rwν9rJ0%.P4FC; cHػG2p0ݖY?^dJ: (1)n3j|=#cvGơc$f; ORr8\6v .bT>UJ[EPOl4Q'l,jn۴"k>\!3M<f Ǵr6; tI#6%~[~9Q4ƮOIçjRe{jkc `yoVFw~5FQUWf,x^Far7G S\5FOؓ,=6x biLEUmܦ0 *żH!B6= }_|'<eNNkt!T*P\p*Q|@za:_8rGy2 eQ>Gщ U*%t[Iq߀yHiz8)gX8n1)݆{[CaE%.dzī|aS$97װwN66g im g>u4򨚶ӏo_,1IL\kԔ$$6!ڱ\"։z,T$j0Ooˣ6{s6)"4-#aO?@Afx'PE&( c8f5D+E` r~0eb ?7<,+9/cP%]AHKT`(NҏPԪhZ A&&kt #/4ZqsE?llA77 _ҍ-, LtZ.2]%(V`&DQMuFT/f*t۪1o~EꈇCwj'{¶E-y mN 5{C٦2MqS'r#QeRpf}^X[[X(]zBJ?28B) Z42QCahHIrYi{L$H"s@YNƻR2׿nwT+ӵU<"BGC#J*\@g N=cTd9FkfAT6E ʨBgqCUSj1S~x,[:TvdCBZb&Ł"ؑ"zAoe) 4^F;05b8:6Pz){Z 2ÈգVA h)JsGj w>Ph%V%`e0p8?:^A'Ufn4HԵK tsl &%\Htt*QuobzE7?|Up6I㧟pR*up]S*,9ʻ?8BR:<> t%0b^S"N kCX \)$ sMLҶMKsz=<; cswRז%`T/vYŽ wq}̆5JLm06A#LfKeWО0%ꥴh1bx9zYW!!G֣0 <kz7f`\YiPy h2rcW(h( * ~myvQDp[Rz*`Q0a0վK걇\6p}ʴ=ˍ*]ɾ]FY4>3pѝF8(7'$odʸK|1] FVa8-'Ეtz[Vy\[8GZO۽jw rxơ%{ʟ9y?N ~X-A2qqAmKYX8?Zݽ׽ 9zӽR:''p v};zρeGo\Puw߂BS`S_9\7xloK U|I8OOkU έt lVA;pCwctU%`Qp ^y*>]p\pAoKoUӴ8Y~(LKUFS-Q3&M$!B &@pS`Z:'Y |WF 2'Pv)f@'cGOh0T2W#3x/L=cbS<+;SO-#wg+  RgFꎲw2ٷZ]/Og4'En&\*dqsXbiw;V2ybF֭,ޭ>G4.RurCM>'Q/-fm恇DW ;\ 6cBSC li@JvC}k ރBmI` e*D<"W{#;_-3! u !u3j4aW${cfZϓsZ˨mm \:s'kpZ#F?k_9)2IN`"R&AS`NDh~YYf Hi9Pj fj[y?WVv@]H?gߋ=Q_gY<F=2P?|Ǡz Wtd<ef 1:SFS|Y,fy)YB4{ckR̸z_V\ [4Vw1E0)X;H eF !uJQ#^sQ0_5DA ~T#Dd?%MU'xKH & _{m64 5wŎn 5'2Ŀ}3zW)8tW_.Mb} c6O;ŠW&1(1r,VT^?\j&M6tߙxdr_iuoʛU[=D - o}F[HoˎnEy!h^iރSk LNp̓p n}6PN":~*֭Ù? 7Uγռ<' )3vg@*z;}5_OUJtT<#5J,1R=*r gC+3<#2t19ۄbk]Tܑ+p0_Axmx$~UpKW3^&/AN^5SZ,gvɛe2^D#?z4{L8?|a}"| ~:]mls4h`A8E Z 'V]mX_A~`>!L5R ZNb9OGK.է#B!ͅ 1F_vڲ|kѪhK4&vҎ힧3jH( l!E՗؏gW=gnwtrABQG'V-ɻdw-yx75nFȑ 94%Ê!q&EʀNwb]ת@}3OY|`YI sSe|GO_R׼̆r"% e~-$$zC':EM?{8I5Hønm7NvƟSD(?]3)ez2qa28|%crK/ma!}RG?,?1$# ȴڞ?c%cq9Ӵ-쳆2iw$@Sef8W:T_s @zj'̂[z6W,6Qgl uRTb|ujxU:K"ДQinCŪdH+̭r@Cd-vϭs Pb=AI O):#563t0Mov4l=LzнPkVIǎ'/3 1gVkeLĎFo_n?GT)~~#l*1ڿk^(~rI}ŷIXo˖b]n}ny(HN] w=޷-Nal&gg\ш}68$&B ~af,e]0-!!'N-\ @(EΤٴqdxS[ZKoPק+`fBWKI-:~imTϫ(r*KIVՏQ`\q%S!S4kmjT_&YShl`Hv;2zdMx/8P/H7kxhbbB@G ߎ3 IV9ao1m 蘘-)4Y.(Dnaj mJ:K2f*Fǻ"NrSineJhpb^6Uv͂"|T3({g7BI$؆s[k;K) nL>JgXB;AeF9jtT#t4zEX. Iq{Ǐy=,_| ê)i&RiAI5(9 P< `F gZ7J[=c"Ŏ0.ܒ]|\,eu|F5T|ȩ(닏 b)mby%ݜ=mhG y/rELVyQn&U4_>Y[=u oJ̨&^rgJWnҼmT\eխ뀯X6L mKMk;cqSxK$! ͪM!DέTQl=ûڥj]i|kRrŠ/6 zy?; =ӽbR;1eۛwMf[o01*$&3PXkgx !"OW{p㗚=i|-t/tfS>ZFCc)m1;+^/:P7Ke6E~fXc?RS鹥\|{ xЛxAiׂEFVm6<ZsOE$?l^V/PG@]6lf6'A= Ԕ"pQcc0cemCƧ¡ AVѱMw 'gNuRVC3{䡴,<ƃsAtIg~K+R72 Pt7Zh''= .BwFI/{ +\NմE}?N[]1\%qݙfal-٘zPՆ}sQ8ܲ#O[ƽ4Z/Zs))SiH W${\aKގ$hDC ؝>aQoq~#F3_Uⱕ^13}[zB@xAW%pmRS%7Q OsmbS>Mvm싍2rxя4xleGtirg ?K#s xWׄn `a Vq@2ծ7Sˀq1l[ "=P|NF+tg jZ΄lj[v"ۙ)x= fFgn*p\AjRLe8 @C@*\ZJT-LZSӗ>YOd%_ruyəV+}g4)\ds4K/H9,[>kX0/ \ O:.\+ XUf͘ҕcI`fh TQS|tї_UW?w4⸧0+C0oƭ;:AfU,L$קSkiLu!/qQX>(Ev/%GY`DK3HJJ[]q 1%@k# }0GLT4̃1@kqx$4DlZ9 Pt aUM7bR+3at!p/-̘76Hy*7ze:kB"#I>mw up&-OʓW9nvBӞM;Gyvߚ D]TǏʿ |0+CC/L{H;;<܇h5#]k׺>,ȭ.z\Ǧ䳺vxQ u͍DW[| śQ}TkHҪJZ|eNq@1|LUFkrmQ`c0",\x9o:QhB/Fˬ'ی48GWvˬ))q .ч3=Upc97fv] y&{~ D$Ԯ.ɮZi34l_YzpȨA2fVq8[2T筛 AW|e[QF(*ㅓ[kqǫb }WJV-:iѤ*KT S&W(PoEG67 JOjE_С̑Er ۍVca3T^T[3)59#qSy0xR6Qr&(#s_Ąr8O%۸i'TuAV{C,Oʊ^G|q26N}ĵsi\o X{{E,6 4qnd[LۈNdy {' ɼE9-0+z!*\i>f/oħpZi*gai>؛)c$\GԂ(ì,TS)FR*"GUh=#-7grJX|/iK)"7*>D{Ifz3Yf*N۸@RIʡd]iTm {j1 YquoݣR2mQeOUh{ټ-<@%Hߡ$:QIs_uE"1N.m `2˯薤]5Ɯ$#_ t4yhȎ^=\Om)gnr1 Q)ecU,.*w`v7_#&F{8o.:ly /UIxgE>qIzZPPAW.~m;O^IB.I:o/# J\&* /3cUFf"Nvӧ\(N>:Xy7ͪiIw?|E7/¶mY_zI2eڔtҫ05LWuAH oןX*?8ey`檜`_ph YD/ U9?elԓ;eApTlaġv$L97v3g=T}Ag޿g'O'=g$ZOdhQ<놖I:\G_ MQm& @Q`Mr}Uz>KCWki4aJA*>#oZ:z;AkI=wim@綼OXq:ÿV-B;w4EH ai-DUGO=!שZZ0' R}A'Cp 2@aQ e_/E!UP)ӺNE8?s4wlBbǼ!)3Pz[ Ji C|!CU]b%s<;Z1 ҷTm;KE{Bt?P4-&ixa0POjћ"!AJ˚2|ܢ?nTgndрaha@ Vާ/u h)b:FY2(tq%bBŴn2F{Dc d#44XLga8 Q&v>!e+˸-\dž)x*2z;j]!APZnHd"(Rً̟ <{šYML9koAnU7߰ꚵI"DRI= 蓍ɴfZhOԵHkLP CU 6y -hyUXJ>—j8pO.{X:g5<:FI{ @355A03 t l+_& 9Bi4!ϸO,0)=k;5RX$E487n9LI]d^,fm+SLYŔ&5-nZi|iЫ&2Yl}[#0h~XV7hJW!aU9` /qrKt0G(#DN"t鮳nOkUai;-l\@lf?z (vͿkP0NS:Pu xC2nܺĜm@̨:NF,'=" D@|TJkq&Rˊtc Q/雗}cތ= VL{ 叱˞kěZ%}*8g  [ܒ ;39kہK#[Q~ NIl֘0 eNj:|[; bƝ-5Sh%،/W,`*2QijIl=L@;Xx3qs~E5V*<26JX\#o g%A;`o!p7ܞ3`@qcHW|,9c{ gU#V{ [_8`Rr/1>U|),!ޙa̰zϋ!L4V6ǍI1]>%FjJ%Wѿg!&ks{ȋ"3_ܽW89S;IoR6IE;WvZi0+k/W => o6]/esBJ= s”*_q (Rc(BHyvJE(UoҟI SZF{lyu?Qs;,m\me9^釉9[`kK G};VMJ瓩6ޅdほgWF-쬛Սp`WHu~ӟe 8tW@^o`C&8[F##@c#'C-lSb%PJyYr%z31aY˪Y{piq; :R-+o&"kR),(QuMY( PNƕ785ĬkD܈NfObF>aMOXL@Tһ{4IS|x gmJ] |5 *dOWj$.S~`8A.CC{̔el ,(|G*Sn1T7[V AM̵b9/|f)BRP_7ܫQUmMJ1! a)?p\ .)*n^3oH7pφ]ŴGaphpKuL#5wÕt<t&i~oe@Hò|%nI cWS-Ƃ_hbNsDz%"?k[J=2 h7muߞuirI~pJ%w(k;s"uԚz*3]nѢ0ۮRTM7Ž Oaj\K˕W"Mc ;n0]0vǹcծXN^xYFUWO(fDeѫ_DNA3Em{Z2p{B"zdP&ewV @8[ 18'yqM 7)&fpYWam#ѶID ^֛X/jrb6׆qIr׀sTGOMk  Ui2(qhb֥ v[\E߀q[1I(7@8ɵ&L eҜ _B_!ٹmˍj}(9ܵC@[fdzĹnV0N'T kN+(Lɗhi#Iל+1L,}/֟ *&"!F9q1?)S#.*NisgO"%*a42rul1" =g !dixXpehwA(h# |B E%<")eq?͐UD_[+0H' Y\mB)|ީ/I3O:Jei҇cnˤYks=heuN]4)l4vCԇGjt?#OX*$DJIĄSTҫ]~nU@$2LRfɯ/-(#YXSwMwgerHy)@x,VihB] -mP\2USތ6|w|q(,Y>mQ&+_(5S{V]Ãx O?o)+:lRO 3DJx]XL@iޗ  RBJ*`qq:29|bZ$ lAziڵ={1}[ompyLQd p62EXCeȫ"NpΈ|:'|s)0;F\Ҏt lKXzFmzcN0 |Cּ8cp\0lCIZ܁3//TN6pP\R;s6g} |]99|궺_@u"{~}2C|h0]U@Ÿ/M2blq.-PזT%z-ȼ^g3cKpF\JSlOԊ_&(zyg A^ aC,_z ɺkţ`sۚ0YD*Vgo+lYM$׸0eFHA6VKϡ G90T'Wi1X3LOe7GY]GE3YGG5y?Y{մ#J+}#"9;tp vH;|WQoUb޹dWO4\>uQ.D+~FQls` }NrIxuof@Z==k#jZ2cZK\2Rs@4VGGV=1O=İ !7qʽ<])rdX`$/ȕU]\C湵"YO t,8I<<9aͤ~$7B!峐0b%K0d ܪlA/ΙRK:$tf8$&:-Vh°a~\lM.*TB6'tA E%fR N0n874: CtYӍ\@G(?OJ[԰n߸yMQ;?)cGaC`1ݏS2UQHD= ͡r;@/ad9xC \qʋ=vQP~0`\p`68>MX#UQ9̨ҥz f78iwL0?rqnR vVᄄ\=F vPOG2!lE Z#.JLW}ĥ=V1?mN0d ڏ&?EN ZZX?4o*nWDնa$6"ykD \nUv6Xg#(O@4VW-n1@C&8t𑛤 vx˶/_gWш':6_n{s K+g&F!SoύbajKWv 係8cg۫L8kQior&vS@#лUsY|5xNuj"8p`9'`%Qo6V27G`RЪO!) W\rfPʢ`j~ TtH'%}؝n1Oxn;`r }KE**a07݇y2ܢ`2rP?"3?<3ܢKk{tBD?jh*hԼ|:y4$Ī:_Ӑ=9*kW7.^ij0eogfJ&y^ai3eQ8 y(nr s5,#\Kͷ\}x&jBҪO $njY[[j-ժzi?MCz-"-mct|EqEd˸/0W{J$,3FӪZkgU6:umn* &t-=G6uR`}5f:9ew *A 4bޗ]ͦ7݃l*fV#6>ρVo )/}D}zz j'1݋щZ5/_mZ56Kk/LUDYX U TSNyQ ;z(fT^1dr,)m0ڮQRQj6UHBZ )tSA7X$,8WTv0Hdq >>4+f^e֚ݤ) NHw -YiM+ ?^>d$qH Wr3ڿT,{ Th~L1O]Y)yx~k%. ,N5=0-RBn2F9oj' +.яa.~3 tcMb{:ۖ}!3~G0or`)oY]!tj9ޔ@n<= vH(d;4^A6.T[SڱQN#°RnAB#3V+h? 9<[Ά1HȰg(VbFI .AH&s`H*DzG4"p-ާmxjr۪M_31cS5zATm"u!buqCFq&0Z2mE=~GXSHZi䂮V30ŗuNYrg&%jA{klW*]fXwV҅fA-'FԾaT zQ /^6J)K#[ZC{矂C-vS{;7}s" [e%jZR_K1ނm2*9͠m7/< xcA @1o"vB.;Dct'1 +ρx+rɂ'E%&:5F(Y8_ac;8R1vtΡ|dcS'q~N%]6tt8u-K7ߙO?g{[޷Znq^Do$;eoFquhB0݂UgY~Vi7g$i!}XYy0؅HFDgYUZha >ytע4|AqY=笝K& E]hx,n~G'1I@Fk+%| w|+r働ͥ6vn7S=\А 72hʔJ7:CnLm}!ӣX>^9nr4*E?(^7m#"P|(Kw+f؝ A`RJ[,Շ6>8RcLmHr~qRmT̲"4Ӵn[(yBYH qKx TOzCWgLF0NgD6 N<?`jI;!㣶[RC%8׸KIyHY|C{ܤsSM5̶΍Aѫk(&k~ZO}-"IÊϫ޲gǷ+v !jU ?0oX7`fuhm$2+I_Euci zn'.8 ٔ(_ROU FR ~3⛥OMz1t_>#3J]Ryeć/ʷQo܈G9|u-m4v x t,ܦU i+.y^lNL,nҊ ֭#E [?39 ~'ԄY"NCkP϶mt,lEI-Yc"!4|:D!#je˝dJ"FI1|9*)ܥil@Hks\jGHT!q#8<ʝC2f?C9>NT*94 YwD7U'bx[2{'dLqssuoWF$pey{:1Y(Q`I89<`7~5Vo"[T[Q # otrC4Dc.ĈKԗ@~ FĽ`I'|[VGWSfIU6 ka9;n DNk(eN~={C%<骊[9)eXI>Cpe{rXxI$trIJ.VPJN. yT6HGP^AUE +MIic2̸AEGzB bǀwӇ 2*r#'q'H7 8pws:;Nc>(5=D._k)'$8z6rJMH"K,vz>Sٳ& Ҽ@ P[r.B[)xcԋBAtۓj( ;-=j?" 6#'ɧ%2T'pqY-+8~ =QwDeD e4D\c{ ܗu"KzKUW,S3Zkbw᤹3&+}ȶB 21d%ʪQӨn .g._(Q&m#׮gR)kV50(|!Wa!wx$xPs|L+7pq4O^sRv稚LoJ&PLP f]lpʇ gwi3VW6+ rL5M.C\Tdn #@$ ˿IåWGXU(+1#f&?n};TCU/).y^c+8sbh p) 㬝WOF# J|X5Mu YhwZL_r |賹]@9|@25:w}5џ{""NL  Wgh5PwfK` ]vC Y ^۹>P\*1=8[߬qs73ت/:|7*Cy.b0I9E v-;ji1 }"z&o'FB 4+@6|Q2]EJ׻QF$O:lӪRA/HE69);v$5~8uD@F/ͷk,F+/Gl䨋n7d.U&`ۢ?x NH0[ -1:S?4g!y_eDZxFԐ^6+O$뾭QpRe6[[,5lct9:Jh9$jƔe =F?{KI@€iK "17XՕ~둮-Ѝޕw"Qe!e^y^)F$h4yO|L:G%W>IoKɹAWwswA걫 _}v'訩W+|9:á*zI /q+0[fROĩ"ڗڏy5֧lBqjULb>mi}z}JHiU"UPXᠠS$,v6p>1+.lY]}O#Pkxqh)T:'fI'gN6c F.R̶(InTF]ݠ:x+h&lX쌜qAti6H_tFħ2\tB=Qxπ=*0Mc ֍^n$4 /3fD:+}F:yeDK,0cn4v085Sw5 3Ӏg.+Mk~J hj7yx^$qY}TҦPzu0âٔCn8WWG6ƄE)l{I 3C3fGN<;U:Y+vÔ {A.3*0`l *q1= 1$yi׷q4G5.M ~^Ild92g {曍|._6h^h& *>,=/iqr3i`fdO8l^w%O#\ur>A&ϹIJ[:Idby1FQ'qu|Hk7wzvMbĺh\n?Ees?p5GWV=SC *g ~G3_NT*fXxD[6o{8cɱAY!Ҥ?n\tf0<PO7+'cBxآZTaBvC|ga'EfixmIxɹ1iʣy9Yhtw}K譊I-?8vxh, m³n O MIcR:yYi2i;7QV>fC¥xl?I Ql=c))]"GܪNNvMѫW~rHƁϙU䣸y$j3 V>l.U{ơ &|]`)jM8+]+F#<[b-s'E}~^W xz'akdּ?uCU$FFu<r&:fP,t/sm"Olu JxD( 3U5doiskڮ2J$3WKVjI ֹkCZTWڝlLDo&RĠf2`|=+k(,y{.b X&ImMᛓI Ru3= nwV[^cQ[gsP=Ej85L;%,hS!4~n | 3GTZaJ%i#睼>#/ks0O+#nIWc/DN\s5'[[Qש^g%XI) f IT YZ\bB>z^U {bk0[KeqP3#4&zWCGA /ZW՗UՁUtYz3#{UKڇdcnTF֥hr}^ji5G M2Zт.N#Ц 1]I 5 k MfC َQR;C4wc,OFNcX2%_uSzY@o W7b;1\\V:qj$o`7~, ;٩p>"܃bki0N9`ri 3E]mcV8/R_Bz0^,؅>eEӤO$tw!9&wn0\^*IncX b:jλED_ N.leU( b8$=JLˬ A~V8A0y̛ 3J Ӱ;u^XS5.7ڳZxR,,m~b(q/e**JnnaQiتgC]N̛xMeہ@E"Ild8Z"fs4,|g=)lzo3QšsIie^He;[iHwc@^(!Qyj)}̾.- Pc15j F0?t{6%\{9Pr9ۗok'ٮ9by=)dy&(nK=BqOS: x4m/'\6f^DjkzGHTOLUQUx%{5؀AK^P`CrsTv*^MX?lpp/uV jNR6trrbi4 Jn~DppK1o,ŶEiTR"#=8 r|=B=ojB1: ,rÑ+,7 IE3O`$^.oRyB3d$/E\t:aaHQ FEH̏UIxTDfP1pq'fEzR"pC~UM1o^aeԗRFD+3b_Uh13N[2!02SU!-&s&\A\!?sLrwz3VrּM+Pb>Y2mRnEJ`X%ˤ6x$*J0H;$r(Nk~/)z]yZ!M{A֧.D%_^J.L9h$ ˈ`B܄lюh/TP^ h!aMTa"VoS$Xd̀ɺ灁Z;6Si4񮥟^kCMn|:,v}a\`Ij $ UY_OEQQp/2ࢰHTH'hOEh14>h]~O8V9@C1lVD4Ը_0s mN, ArPG~G]t ).@y(X~LAR;USqO9Oz~*Be8.규Tm^f5ǭNM:,sgr4кu'j+:H#' =nPS1K,i$2gQKbB5D O ͊E+#DBhVm6[EJ*|τO{f,hf3ϝoѧ<S+ElH`-$Esǥ9F +T",-u8.H>sTH.5h&G:e?,rVA]Rg4?.N{Fb(O"4d|p6].nϔ@GϨrh+5!RG"xXda4yQ0fld@#iQ@q+j>_֨2$G"/if7p}ZK40"Xy@8J2R3oMP@]8ĸ:qR>'= pX@؟~+fxV$*9K+:W*fOf?P V;8Ǯzv '?TP+8K8Ƒsj״bY4B`eiE g7x>wz ,^y#mXasHoZfWH';xZPZ\CccB,2<%dوۙ\X BWr[@jLN f4a _  x`@ r\.PL2SA0 :zRb:ɪdpR{^ NN;T\KA?kUvދ>! HטQ5ޮ~ϰʡҙ+lCwO4uCTe~(u^68h]C,;>LÅ)?Ѻ(-fd䴝`"/-⥛Y^UbHl8y@*4Y&֐S_-$@}hE-yw ^0rl+x%2F㱮2ԁSל_-80coV(AߓDm'y#XL4lFC̳ȭ 4{ uhwRнW #[Ы9xY`3GYTNJ v5I&ԍ ~Ne9<&;8'"JOfzp?P\~@TV( `;%Q7p@ `'2k`T@s;SbA܌/;VߑrCմPF/Ty5O3j`8xWWR?9!C>QU_:8vSV@1>:*Kܻ~~/J"ph%ϐƎ _c[8N U]@Mff4ّw^rLE m1ܸI r/! =UckN:ϕ r~R+pΐU ȴo xoIHrjsLE1pq}NRA\z 1 N̻>X迎D3Itᨅ qkp$c^vyg~тKQ\\bp =>&m>u⁹o2jĽh7!|;~Pu`Vߜadz99'0ZA >gQó)kcE:^qq)ߣtxr=?Ra+ͰBg7= CUSƑ\zZh4(%Z&LE %wQǿt{b_;wNFwW9)]ÙiM+wqz6=G57ڙEp7RtE.w|__%=\&]$|f\]$ @q;Ms=6 м+x.~=$5z'JeLB]W׊uA(='Jڴcl,%α:q{D-<5GUQ&e/p$Nabr>D3nm*}B pl`իv%jzu\hHoޣ5i`؆0Iptѽ~x^9H&R F#s ӽvƘ"X$hݸgdy}{pmk?og|lħ-;"\^(nN&Ι \S*ֱl^owBO4|OCICݗ.vnȗLԻnU¨9V(aƍXsM Ǧfp:up$A7j4/AbF}b.<Kt@)-BVwǟ  x *Ԁ6}+He!חG)s[Qw${23e4? ?x+;eDSmɉ&.B;[V D"`3恳Gk_z󣳥a`n<ֹ| Qj5M+V=t\mw X FGGԛGX s03PjXվ-I ZgC~l3*5 #.ft@nw? H.HɛQۅ鸌i0;"4Ӓjw[x~ԑ ;?Dͣ '4,Zw҅"j,}n1§<Ykؖ1d|=r0-ǰoҮjwL-^S:Egc_$gmxsXR5W#[wxP0.vn| dzή-70l˝\ T=:s^룺3 1v/cISwLm#UM>LGe}h?ReVC 0"E0}rC58(^?M\5ʚ) jszs ,2%f 9tdByb*9aUǘ $v3f?´(~NꨖzFBҵIK"bkmOA Ղ91pALdhgwS.@:aQA o49Ş`޵lR *U}R(lPJ].JxI 9E-H=_##[?~fLWjEpyNHWEs}l Q'ឡBKxI0=ۤVZ5|w~Twi#h6ukgVy9V#^D{`x$$&OeDTtpwT" Q FLT(|D: P|Nnk!dnkr>̲ω̦R dT`ҙx9D+ *\Lj1D hXMћ~ֱFxL(v#H}:opk-_gq/Ѝw=-cD GEۚ┹ir*3q˼ݼN)cvm5QЁ`DZrx7LcIk\0Yz8wS'uDR u;{.\dV1(G'Lt㟄ײ;F]uY2`!6cbLf4Cof?V)J] 7~ |e]'^XK#rM6Յn#2dl`s*Պaޅr>9WRb}IX힜.^%@£䴎ɇo$&jAsI8@kք> %"4b^=B1 0^A&!s־DPۏ68ùuXXPرgA1~acScWhID!|xvӰ =˃|d=.ӥh;6M @!JǷx7wˆE6Fw/D0r92934< qo1T?mܿCiWONeQJArsJJ^N|ِ]Si-;8'"bCMusOyȓ2alwyx, d24l{eJĠ+CPXqNlJfEK` \`34%~,#Yh 94!~'MӤZ! kμرVg')6;FZDg6v71Re1.Smoݙ+P^"'Ǻ!|H߼A `SJ2KwOpg䶶tzmF!E{Lt":4@0{4yq:Ohֶ,d+!&vHE0-w\ =ȸc!KXѷR0Vެz#zAdeՎ͹AT׿/DZ<ˬX @鮑&MF5ƛ$iюI 2!ELbJΉk 7Y:寧M[v!ӳC_#=+*X 8\=B*6ͽ²'4BVH8ՔG7XcnѪ ᨂvB(5Gٳ߾E^.&ݢp1EvoȽi!!l% _ ;+f2bnY(1z.7ɖ^ ܈5]Yj.>`A3l`B,HJkrٓo`r 7Fb#kA?IU2}5L^vݳT: .e41t8e Τ#{k62g*3) x2TXV>N*JW2D<%Sog <7&FYh COq)"%sNpx1+7]4[2EfS!t\z@fućH$Þ šDHE|\ q>1R M=]ƌ/> e5Ғs_~!U#[֙^NN$\Us"ShT}DޓtOGq[{~w?^dk_{o6Aבj3;_ >pN Ԉ-@Ba 5wolu(?MF4\L54o漊i%)t),gwv`ص&ʋLXJM hP5W7I,ic6 q[/Q$hۈ%#ݙJ3wˎ'n+o` ܁r=5HFnor<ľ y5؊$ kQ ~pAl"gQ_LY]a?!k 3+kY!6z^;T=|Gp#$PN͚7Ֆ,%fpmDf =><49 /z u|vy0YcXER"L r'(̈́s#-ag!;;|@zhy#1qA`m;^$saHwG+NOۍ]\ C^X1;B* [05jԄ:c2zG$sagp]vչpA%[Ϣ":'唀beEc!dGX:iT3 c>q21_^~OIgFq(fBOObbk"qb߆;<ՓSH)1"q7g_ynH1z3Ac{aQ޿za-6i]0jVxy<0p+0b=:eSc{P 2lYzsmQ7}8q!ߏߤ_憰'㻂1ⶻߎZhb/W?] j]& 2/a!Y=E# \ <;Ra cr%\_ /Ėq4f2|<ц;'x4I6 I`-Yz,r#q`e ǠkNV_?mI:I53- 'f\'s[tt7QO.2+_Cec(P6Tbn 3$G,CsqiC5Ż]x;ʝE,XkjX<c.؍بվ"sm Vp D֖Oz&ۼFWYOӜ&(Gq(FB (З~cON9tdlQ.޹G_b^TD,Bx8(~GFz#n!Tw1G9ZB՞*z%a5SߖHK,ۃԵT}aQ- xSV b.jU;}^)l]jm~秏bN8ؑlPP40j{摍5]ld~6:r۳3~wlV4]*w!= J}SQ%x%AR5-وg k[{œ7 &K[{s lT0vvMő/l_FVr"e;A.v]qhܝ3&GӾ#[''vw1]bOuosQlXcjf)d3B{fx@9SH:LS*pOR3P=[Fazhh` *1IH 7kF\ h?LL PH 09d>sY.^;{?i(lSUw$q{JYJn*a)lZ?iq.,U +Ax.7:=ҟӼ-sCqP+CN9 C\L㦙iy@qG ~ 1HMW3&kd+\3FaѺWjct:&4WYXeUոt50'QJ{Ts]B$1̩OIʾA/^-p ZjZ&1ߖz1O<8f$qʷ].=T C\<3F\B "OvSAr&O`s[bC۟!{QD&mXnxaX'`f!>r*kdV A Yh- A]k=K>_%Ɠ^+M.Z@CeM-hā5}Ӫ2T_4ۉȀ-[55-B,ËgǵPΔOm^Eb$wƩtxCF BG/u7m:3szMv18톦aT8e,]XzݜW* 8O-̿=OwS#=zxAa%Q7Dh:{ CmsQ{PK?5mpT5<?6!DMW%U" r5#Y}V\|*/&C л/d+!^bt=/`&2C_$͐ ge>n0\c.w d(ߔ"!4i7{;<| SyF' w-7,kt 4@lyCh 2?-^ .ẖڞ huQRi X-R(v;7z}O( M%P[cf#G: d7GsDgkӴź&z:I0x XK!4#gҟʥLٜQ'IMi˝U;bjSDQn7e2OU)B;I904` EJpӳ8sdX,I;/XZuJn妍«ji۾*Pf;JGeuBi|;>gܛln BpŇT]PKu:ͣj*Ѧfg%!s7)F `0_Mg3{W]@7V&¿?F/ɰqd>JpBj T^t# %w%%tרˆn'ֶ'~iwZY`C1p4dyxɃj Q:NWe^#[^hdubPE"p'FZZxoyfo>>އX>D-ʫcvw:U}P80K +ٺ˲{ \baȑc_5H01u -7T#uaƪvx>II_ GxWV:黁T(+.I7@r<iؤmY8uЂSh1dYAohXRBKw<_|8/:rlk:#3 у@: wnĔ![)`~D+zpHw|BBkN' /n5fzw*l<&-up@ FU^ f&Hf'm>qzAx5&Q\| 6@0dlsr ם,ŚS/扞صD'rD`g`]W =B0.^ aXֿ,*Y6`Vªe4{HdGG7=-pD+/Kl~G粧Вoϯv*U Ҫü1T<򝔶ze2Ǧ`(給ۺ8|bG{;œV (q5Ƒ^#hիY!dJ>QqRqxJX@&j #)rS ~M{E -orfcF~=@@H~vp]}\-޻^VZbV\7!t^ҡh6VKa_=M\P˜=B `iVF&eeQCKl4DBlp85@&]I|5t|/qը?ڄ^vP@" >5SV}f?)6?b R% ;KYv:ӒSiGB0RX9n {>uTt?az6Jh92s <)Na5 - H .W|tx #и]IxFܢlRXqe]3T>02F˯- ܂4BTI9#+J <ÀōNrp;h@e[Rl Zi*R:!n8%;Z9:]7ڶ;l9HSC^ܕ袃 sYן{ӑzy\۔k\E(j\lwY *4Kl],:8RYtPڼziךe-}n}lD2J'FxkoA^v/Iljyg¼5.×yA<_\2ۙJӽ;l*B)'n$/ fX sߊZ)W L|.ۋx]oN p +>0ad>>3 )UZɳ8>$jo+MW޷yδ8nz:hTk ίM11@bQm6%p6ЇCz&Aϖo,f}8]eؖ4Y@__ßuj5w{UcKC#8u(dcll% ϻˠ4u#w@Fx&|̐5cҽ%@H'WVl9R]>B3B,f0"gp7ւd |a) C:n\r7+TOgUG__,QO-c90J=5BS[ =S@HL?p x4Dcs;a⅋:4c @;_+-&wGf-QƔK퀡Z@U /gp>X2עɧf{"?^An~i6 NAC6y>I;*xFGEY>^@km $ki.Շ f8T: lhcUcheE*In/4r@D]e_$|(Y@\ :𤳚IhJLF4!оvFҀBDȷ,+k@xX"Nr!pj2m7&^P ! (0-)METv0 inL?tZwKa*KvWg­eDF8j2{MU<}d EYb{ܗE -@oY|Ae7.7p41. I?k F?^áLio&afԛnN3Ԯw9fm(XiQ\ljo\fF-}&`GXn6Iyai'4x/A3qAwQ?<݃/ ni6~6ȢL>O )hr8*081v Qy5dfO)oM}t 8cm`d>=d2LJ= :үY?C§'ֹ(N<{h_kٗR.ܮ, 3j:0@ʉM֍ل3oy¦t(,k(/7ͻ>5I-Џ kVӁ}yE<~FEϦ?8iII3MzGC%mT,iBUOf ?x3\a:QRN0;k+5...6q'ka0\UYtcXp}Z5`5HgAhN1 ۞(+gF"_vN9H=%bxPRʕFB~Ǎj"45y V\ 3յHw(,̕IF0# 9K% @#9"O=XkV %{n绻%-yqzfcyn;AEVŢTܦc\`0j qoM\b:Ji *؞92zbʚI,h-KłcZ̙yʜ{w@#dM_t9p¶0WlTu'@WQr5!# ObH(}*QB[N{ECmLs K d)+G]8f[>=l)p[9ުo^]hyU~ðf[aM3gwGISkA<^A")]̹[I=epHG\HT4)E`qP>$Gĭ~~/`#,b#25yNՃiϦt72MGJ("mЩO uh+/u{\8w⩫S8o ː s"s}Ic\^h>k0mle%*b޿´qgR][z7҉aMDlkVWG*;t`Bg?M.\̏;З ^XgE'95u3r bZNڐiLF+g_l n2ۛ<,2=%9ߡHqnռ#OʈfX)$rAd CL#1q0 Ø*O64toKY4Xl- 2sKt](Ɩ[l"&~g@/p~\u\BL4 T3ܱa|suf3Y`Nt<<蝝zs5b͖iW.?!aŔW̭ ǦCzO}uA ~=ZR0 mC!-;R͈*O,RRMqǟ[tN;ȈC% SWIU4bw!l:4'vL5~T-L":?ͯڕYfXhb;L0s`_p;FD\4bOI 7>[),Ox珡 w=^ѽVh-9d;x`@Z:v2t"72^5Tox'T9Eé#i y)}UB `m:䇄x]c5-(2C`ͫ<|)nr!`ssOnFi ڌr @G}B'x3?u]_SQx" ߈ݮsze_(Tbɹ>O\l@QAF9'&F9--ž7pdڐM0&h}hGCЪM̞z6"Ė\ ̵[PL8/?0jnЮa9!(Z5b*8?]ܝe߱.cv#aMyw[e$/Մ+ܙMPu鈤/mцx,<0FDe-wh+/b6,cc ŸA?6gE*) x,qgʌm?&I73:o:S~ޯ虮ÄKgFV *Wy7R6CCFL']^b}%-/l,v SٟЉ~Zn mwKTO)|68|FcT^KE_h> E%Oo_wWCwK>'i44&Q2u&L5?q-(!.G7E4d yK627 ]Vuu*^ qq T7krS%O-Ֆ?UݦJ1O)9v&Dpo{={C4r 4Ǿ Gӥm"?KkS!Ky &ތomؽ͜mB.i#8ij OP.љ(YzۡP$gQR:n8^poi2v5ĭxTejd괖ݮVBɸ]Z=f^j/QRn"1ywA{v-GoZ.@BtPmأaձL#S6Uw*}TLq3=>j$SSZ@jLu@{<e7{4RwT_Dtbt|7~F9%LPXE޽n3:NiW~|T,!!6a*qK*G|1Zxf(߫˪5}^>@[@j D+f4CD,oB0?m@N=vqxΌ$$|< ~" U鵾 c:K5*u*,Epj_8 a `lۮ-i#ȲtF8 Sݯ)HM Z[(l>Bļ.?ԝmB7}[)LT*"v(coo|E &3a|eMm6j2S!Qx2;Yp2G syl/Ɓ@ B$,rU=Ĕ;.XoQlu,ډAωvY8ӫyR1aB$WZ5<HDwzM2Y7Lq`bXHXP6^x3^0AOXEڥGoԶ=J1T{OmҢ0*nB)IZu@Wb5AUoj(HմR- ytH}E ~3=U$I,'@G^y:)H1CҎ/3Ҧfrb[̣+HTSxa7#i7dϞE䥾{TR7 #j ض\Pbd *hb[R&.C]*Jnֈ!+l 60Fy-Ċ-gئ_+䌞# z/<>Ŭw#KD)+DH\X}BJ+,#I J0>j?/Řz0M iJA5ɽ[SRwj^#'hn%Apu$)!>RKwn}tA=-#GA49ʛ 8v24ù*w3x0?Oz&+y#]@.=:w(qck3ӀN/{9<sCʆ9JUcZRX1^7>0:MTTG)(#e}kL- $q/D'^nZ ~F׆3 ޺bMsԬ \C_WkB|\#ЫerZ.6@*!uMU %*qʶo`<&@̅8q3%52=E@p0sIw1<&b% P%њUN94Nl}2X`gp,3֓{:7mj:&2FO#vNn;|hwQ‘uH?5 qr=Cni~P۱M4o?zm.Mm _;zzlJOVq%KzIg]0/Ne$?Æd'1{+3- c[+d. AT~>%a#bq:Ɯ5'@Gsg{.`$>WIJcFD,RWX i:#`!tZ"ǎZY_n@PVwMb35KZ\jKqmlR#.FOyλ A*y\d6S5"z "o=Ph؃,g5XBf )U8ύ̗ͽR'sm) [͆2 ƾs:Ҍ[e Q8=mz98/g:B|drVr =ݷgdKXݛq(r]XV[H;n \H$;z2n!kQ߷``]K9_e2`3lJ(=߷KƟrE{ƻt'!+%?tmF,3o\ Cˏ{\/c0~A"E=T. aImI=lTIU3T#Nq! ^V繛Upq֥kօy6xeTɩ`Rwi t:R8ċGߒ"IH ߊ^'3ޙtRt44z^+흽Z]4u~^%Fr\w uAЛȰs;_P_}XЈ^$eKOn;I=س"Mn`Z_ږ;VhjRC)q޵%+2rP |GY]|ؘ1 kaR:heXċD2.{vV*+Z/Q|=ѦsZgŠ;<+t96=@mO,@glƚ8:(N!kR[h%݌ S2w;Wr-@6u-$ 5R~3pb~&l QUs_Hj@h+Јq%- X9M^WAnSJasGt`n."oa oRē^p@A^$ުWJWk8 H w-K=b(.OD_)z^&2uXWΑ ّaIM'%H2:#E ?A "6*T _IglmG[G+rjҦiQMstlg~s䣊讳{ȋ,RguMэ|@ŋ4\ed%mdW2rS>W贕G(~У118uW{mJ۞fZ-9)*mԶle?V3K0ӱY@ _;$+6LER *r6zo&)j Z޻kRm561sՎEZ ͐/,0OGbRƸL])ETTMڢ䡁3t§/'a٠}Pـ!ψlxx*%(^K wJv=\8G갛F9 R{7b~KQ; e#P ڌoCy[jOz'1j怅b 7\o%]#kU\OcSRmQ +*9 pkqjm@!Fi#RtXnZR*ZA]\Ӭ~_t˛K@x6UjU(g`>I-V搛ia-)򾅒b2 5I/0!x w2>Ҫܼ:kA C - *buhzgۄ)eT͚D:U&[S].WʔAGʏx,mu2E@ُ˧X ,7K0~`I=C9c5,-Ucan(cYV?0Bo

    nON[ڀTBBuP.ѳI)}1$d4P6EBV) y0^vF6 7;t~R`Kw-3)ba񪂮\2) 4?Fv8{1{KTo~a2Dۃ6: FXawCvm%UQA/kdk9joj.rr?,4F uꮂJ\i8\sEh و=SNt\pvSn<29QA~BQ(=(._DN_f2sR؟ al{lrP; }߀*+AY.!. 8[b?G: bICUna4a/5jq 0lt< )Z UWZ#< &i- D qUS60ux|5Wn3:4/FMDZ2(Q۽6HͪcS@Cऔ2"#n||{]--_"e ~N' _YE_'WK6N(maTNvmˆGe81Q3"{r:3Ӏ\`p:ƬNJbu+}jF[='J`ԾI1q?RLbqEW88<ӊեԤ.ʠ;# W)c~-+94_i򁤏W _c^ԑ)0zs4 Š0H]uNb0٧Mw%ӚNR( sG@|UcGRq{RO %~s%{ tji3$zyÖRmCmxnWS)_Gr6ҥȶ䧚sxA' !㎳auM{;1տ : .H`B,hg,e iFhBl3vG3) Uaj2li}jV4QH m9pW%x[69D˷CX%C]'NPnS7*]b+B<~qD͑ Zo_ DA!A%"-8[0rn<$scH@ÅF4^{/`ʨ^ǶxhfOJ񆜡1ް뵨>V?,Tjbnx x a#O;ǽ7^]|#}lO'ghp;!!īzxz:^}U$6uvLp:ҜDѤɧyh*9tm`1 &s_x9JƱ1$!`xIJ;ĸ!)PET PV64tzZ5>xcڀmIIUgEDc`FyꚹJ<$Px3VaSѢRvtt#S<?sW-; J(8 @m?b:Ab T;Wo cAf gբKh U{ft^VTŭ# w݂&xJ+s߫^1]B֩駏aqqǖ0+*v qy9v~|Kħ9bTȋ_TΨPHqS=V4QB5˫i.o+I9‰V)MLڕNq.b.VSN(># Vz*+bԘX[\sUD0קRMs+7铰 &y'}$4.,b~9xwyCs1'0"[u-lڀ]E^9 s@%5IC yl#:1̕&V\d9GhNaPgqz4|=.X,P1m2|Ky |FYglϧ '8a&#^opӘ-B~X^[cSfeĹ}ֲDj5ۀ0Njw"Ad>ZQ33KA/ÏЁ"]]790QyvQU?a_p@͚lDkvz3ZLR,` + خW¿A=lK$оTT8RλĜuV0a@Y)!cQS,R0N\Gr RHtٰQWWIXh^MgjV}Eϫ~% vJ*E|(GK !Q8kg0wĮu­ܴ66_0N~%ZM.!ZiwyR ?}[{D]$/їXU5nQ RN5oʡ/^ âOݥKW{[X;(Hs M&% 9)#,@?\G .oڥEWRH>_e^?awOǯ7@Yhző F0rطSߐG~O_!'zL2iI# $B?O{FMgk@HLHKH# 1 @x7us ʒ1qntu2O;/vζTpvW }OA'<{d'qSx8`V%v:Fev^  wH&O`@ ]eW~Wn{$8T{y=+n ` AKXC`m ,>4Z r@#onuh* KE:KXleЌlH)3f]W.4C]YCn}oZE'oȲ\{@w+lqnk#OD`,ۿK}ƽԫ=A LdEq*VuB6\=?4zK& , itijFF]+ 9۪UGt<2mA\?9(ӆǶ}!\QɃ"+Tf ,ABFFuGT5k.87[e\@lMIu/4bۜ}.$+!+!lJlhMlTɎk%W]3a Yw41Oncbr&}-5DCx&rQ\٨vX&@2]yĄ;}b?tHτT`7ao,]]kiN鉫MJ~ִ&kx*PCr[Q)~aRĊޟdG b0x6 @`Km[Oڽ)$F9*6hF8r >7$KqÏg`5L)OAgQTilyYH.t "$fCk,yS Q_xWd%̤deROۖ6hr@6"p@^2{%M01;s>SUJ Τ)Cz*:.O* c7\E S&Td~_Fy53O^Yԃ,TN/< ƭ 2aۏ4,>lh2=˜swx79Q&],"ʇ0^ȂlDS]b`_9*`R*^ʉK'{8.JёtXiv֦eJ.ܐ8|نepX`|]?3?Ze8־nIpVz,w}VRO? -J %ƊOw+E|hۣl-^]Cw~Yw^Lc\nr#x gֱ@뿉u1f@6"m8 뿨/r(4M7;|.M4E8q_%"àIv/#DIT;ͳf%{g{YxǁAA`1aښSbItEp %+ 1,ÓgڛMl{#ӂ1 0%]I0yτ1"55}IZwd F8}+q-b".夢 8svw~lOJ,:,önڵoJb \a5M,-@8JS"lM+Ѥ7-.r523m;Nuoo?=]g 3uQbfg!}{anh"@I2qC8'I@AYu8eTzl!a8~5͔,\ͅO>g Ol݇D?xB!ڂf ATЄbu= 2-33@}r)6Ffw@3ru\a~&,g0Hpd&(},=˱,؍e$qKʰ5i λKtP"Ey\%ٷ Ƽ f4[|RG9* y I tqq1G诵%U5:j48|*PhSBRme:9sgXe(aY;`SK&œ3KX`f0}@V} AYt3'ʴg"\{dz-K_Av4 SvHgU-zSqrJq}4x̾ጔ;7b_ϻ&K(^%cjmw5#˶B>f=e /t;pmݰڵXS6l |n՘_C|&  )DŽ]ZO]kDO'`KŨ:#ֆׯnފE!L"#;x| ciiEqO◶usE:=ol]tta6" |H3D 2=(#30!?ӆ,M_"gμ oƐd^nW[#+ycLFP M.Jy,5 c66sRO=)a;B4>.Ӊ>vXX#tC],=c'gP9cS9G_C6IJM뺍fp(܅*~bZ? ؒ+$f2ᡧ"ZqDQV&~wH_h=+Xhsepřo,Z#oϛ>?Fm.Yu(6"O?""&Ceg_q˿n|{Ct,Y 3 do %ɖyZ7!̳_7}/KØ3}&j;B] 8@՝,$AlT}KN:3Hֺ lNcT Bͧk qե< ~d-vS9Dn˴Cj{>.2WT!bX[Zpsuh|;U2B:Cw Ъau-h~q{XPЃinr%0H)\cjcQcAvf`s,ket@&d}U`O,5YѲ9x: T}p^Wɡ>o5%3s ss-!ތ0 v!@nv7r7SX\T_*ng~%}v[HIf[Kd$g- |L7sHhC$RBK"FjK@X蚇p%)xHd\dtxEi)~}ئ%+UfWL5eRD0d?ۄ䳮Bl4.&L\P߭V{Nsa E BsxtN^ ^mlMˀFy7>MCץoaRŢX.)^юaY%@a/J6[%sUzpfc!K]OcxFNסiWs>,q)|֏K"cRunKgnG)̅oR1RP-OU8ӡi- ^X\PLQ3n &6*3#^6,fW``:' C֬๮ ܠ{`BIs6Yy' hΚ %> I6|r씮3'p{q M?"Q܂(/+ >t?`vڬaWIzf#;(wP4 ZKEKd-6~4maPB/͉!kIJY[ ?@3՞TaoƱ0A]j7S>$ƿo3L5 j-<:fOWvŅ:k}-Ɩp`h@m((eȪB47v[:eT ك?CxFΟ1/8u; 98oImn\_)'ƺqś"A*gX!(^ TQK}rgsWSSk|Ϸ4!U<)ēkᢶNe ~+m߲8W횃?I6~rl+|b%5nm\^(ֽ{A 2:Y) M;xDvz)m*ZݎQ7yummNAZI&M+8eN"miYpA&m~a{ o FK5~[2{I!G<5WivxptCd '\]s0V@6CD F΁Q!-t ]Q'{?Ks֜Œ27>t0nv8uy>aA3S۪kTk$[H]'̳xAIt1qg),s Ƃ㊘U`i!"gGV_zN+!!q a/ Rht^*\P& f;o 2[B5:u{^[1=T`dE YSE)z,nҩM7%bxVkrױiiOuCs't'\]M۞){wE6VڑzTe+t5(U)| _I >$D`X59C<UNhcM|C 1]qW&%&d*~}rЅDŽ:0O:ˡm= Nk)$` iī}&WňE'xPPa{`PnCnxL:w"eѾR$xp*E}L흶8ӓ9:5ZW[2Ph8\`oǶ mBp>մZɪ;2V \ Va6A+V:?ImO5WΛN(]@ڑ[ވ^"L<ƜxЕTw 4\-UECCS(7$A\stgRd'}E |@nގw\fY+&ـo7 _-cAP8n'Sd6Ղk.TP[d3_-淅XBJ(ʀӧiZ-]Udha܃K/z6⎧Fg9HhOQ|ksѨP.^Ѿ7wBn? |^˓fR+*6'00/>A)8-4u@4߮_n/=I6ʰVz*]Uc <~vI73s:ҫ]2F]>uPD4j`A[L~qS~wnFS gZv0?ҵv;2Ւ.J7'R ȍ 2뽸"zEIO#T"qՠ,5;}NO'Fcqq?o{\o|/3G-I^Ɍϕgu3z~-Ԫ.OB:'@@Bحcxn."萇zGiX,?vV}i&yr jO+f񡧥*|~FXy/*$sT?n/.Z$,)p{q HȉաMu-'&1cr=%wT'MF-~$d0=x w˳\#p8C'[|µ;E(hͬ3[\(4iGb& `'NIP27C}84!*2iU( Ŗ!GGŮc,x'F}H`wzPU w @eKGd 7GuJ֋&CJ15usZPF~}ǜ(AyӔ(Ғ)OP>'.a嚌ija:r1AlP+"+B*t D'(0B%}pA{:fK Wb  2 YnV^T^vJ`;wګ'$\3xQ|C6~=_Q8lm_ R/3v gJO,|./ww X)Zv"/F%DpihG_MvM-EDTEM$Rʚ e)[(nEXztC6]?r`YZˊYiz0b8al^9c!hQPZj` (x~i¶aK M@g#M.Nq)`L5Df6i2+U2LIYXf;wnyɕjHuX?{VA 1K7G(W; - K#+XwG@yEEy&l+;/#]ԑjk%%}02z7ȭtg]h}/ }cof#",m`8CD&~XPupdZLz%ЬPNE6_ k8$kE![iܙ\ " aU&NR&698Q CzC(Fҍp} vY,1 ܞl{,Q鷚\S7oDϥVP=th}8Uӧ ;_dHP1[y/b/>UzJOkeO~GlkS[4G b<$C"s1iM-mn^4jl(>0v8sl?>o,^m8k - 0z<؋~QeXf7S⎒'QER (8hh1>>vƊ3[lwzbH՞7I{*o%e 7ௌoa 8f st4[HkH?2g8$Q2u 4U遹ːL"+0|q):H5F]jdf7a$KPtXO=O7lhz^CcINiu`5)q]2pr&bz!B(F&~6mq@V8t;x?V2˜J'JJ#t!nl!CEܙ!Pt7 $Ci O| 7ϏdDGX"[aoNchdSj#M'_N=$x/@n 4KsH <=L~#ꞈp_ CaQ"9PScmi*eOXm,}^D$>GS՛E?J"*Vc.%,hcd،ͷ!`I_iO20“|?K.evc}y3mx-3AHԟG*q`|,MO2u7".~FNh9w `q2 IjrKOdĽsq^J<)eQ FSF8oZ-MÆ]2}-M:sN{5]nRn(a+cbe -QqctOL\e\[=A] M~ mo@e^ӠÅI TBd$V0sn7cK6,E|f>t!{9F@7X| |0ޮpk>BƠDxr{c '[ЪRqCg=,4Ͱ'F=O&[@N/ @2~ !W@fh] MJ-bh/ ZSk}<1 Pw}B^4lUJdIpominX/&N0qϼ~| ˂gn孞}ebL0§,1 ţcӁO%nmA?/XJ7d5 2]Voj Zb wRap] l#gHwڃ>Lp Qh=Ŕ SpdIc㖵ȧP!Hhg*F3*J C2JaFv*zUqXV. JF_)դ*~a Z :AwFu-T\جIl -+GZ'Xq)o`?ˏ$zjmèQ۳IE1S|47s۾<w :S9+4 KltbSŷTj*ҼX\Z|,@ hDb"_HV7Al V6t{ʋFZ(&JFꦾwNwNYey,W?TyJGknZ<,1en_ֺ ~Txo} |lO吰V93`!$L--D;4s.Rs+5Zn'?ГLgDQ>S:6UXxjnSkao+J1.fP*g&V"BpE1" ǡB̵=9Zw6w;*D8f̹l"ّD# _P| h^kqVNaFLO0nVŗ T;qh& ׻УT2$S*8vГ.'Ւ&d9P>z$Dy FӸ#u$-M4Z V/KTK 3U,rUM\([ʧrf$v\`[]fA+w$FZd[@!Z| [\/;}kohN*>qC#I0Ira/Ml5l-IF"@, Fc&*c}g:hkH)9q5}81h -!0S5sxyl~@|•i$g+vA}VZcȇרr01xpUHÂ9W!f6hVxVZGMMFZ@ Nm WC|EZiTVZe ޢsKGN8^ 7p1qd*nURX3_}N@h&=[>G-Le1ъe (be@֦*5Jܢ?oyΈA<'= @qb9eZb]Wj=&}K*) {yB/pMS@UQEF:mxib s\ho(i,I-FB . ;'jC!]P&3>H4]3vŨ2L{B>!n4fmDBDo$/ eWIKdhU+$!K#,<JwzsL`)8}K1銹m:oqo-BMy780Kufΰ&6LJDu۰RԎA Sc»8%FeLlD'-|k,V8zodz@ `NT/{\IN(dhϙIX} N1kʵǁe|R]hE#ҼMXxiL*abecAS%3> K3|1Ŕ| tW, >`l:CBzfYv,Y $ 5tc·ګ:,m%FfbzH#!F{^ܬ29 y$!(ZMCԇtݡ[a}D+6¿cJ\eU';:aَpG%WW,?_nYU^29*z9"GSƶꨭoXPg1ܜ.'%ߢy|/bC|BB}bfF'cvtFCeMAFKBif#A?Wr[$( $_ }.m+zĞkbbEDVRlɓ,rrBY#5 ITQJw ;.ҾDR:qҺџ\q> ry*,/K5k!nt L?v,v o0+SM)Y%v53@D~# yGgs?;)-Z%9.AnKޘ[ "I2:fPRtK[ R1=@&bVV@id!CR ,G0pv!M3-o#lw6/g{NZj+sxhM@9WiWhT0~u.6}nlIhS9XY>FO!r!]<,R*GPYtOwi^Sx1E4sgw_u|'P+OE0͔2_Xkm!۟XcqNeCʨN6byXf0TmRbT*TOSMwS OF,d@VcrTA|@:u8żی :wO -Fi<5 ͢၍a4')C1vKqslO U^\Dxū7(2mS?DoiB' :(Y}9`7Ax\$9ҵKu Etnn@Z=0`}ج'r3ʽQ-}O剏M1/y9uрE& !6$(T J,EnF/? -#< t^S 0A yu?eͅyȜeu`3bbkBlwK%f6+zǷ$y=^_e@HOc=tK6LHntk1pCZ_^Pq-L6f\9q4^D\MEe;Zpuqu̵?yLT5 3TAK63] nrz 4r`0f('Ѵ58[-,vpVV] ՟;j]@)i03Ϛצ"(|OBEl["X}'{ج)w +(F"9ews{>&7RPЯ-b=O͖Zxthkbao;6@r'gl=-C]c% BV{Smw7RD2[ʐ:`/BAneVUMQg"H36Nu_S j_e_1yW؎.U*I'݆6į)} tCps݁ YĤL/h3Ė"ciԘOhXcq.XV|M*exLҮ i`MEA/PaVņ ]t)]8׻B~_=e7 `b9={%w-|s_4/Q/ׂyLOJgߚq) $BW:nal+t\[mQs; ~?5Z>% [̘GJ<Ё($t*ئ֘EֱD?t z0f8BӲus4weVࢻ.|snÖd':VGu誄G-+ .U9Y@(?='b=`m.0kf o7#O|UK-bdO fl|Ѱ˥Eg3)9GXj \PEc*!Յ0xWYYFm!YsdwVȂYXSHT*)Bxd^!H=$]{t\lLuG-*-v*^׽rI02N~dS3^@r;Ty?}\(:KKwMXPyD6S>|JB-G|W7}9Ha.̲QMy0tAdOw wǞZ49ϥK(pvݒn34#++W:߇ҖoM"EKH UǝT-m]8E:Pec"T%QhW>Wg3#{(%5/"z0M$ǢOHa24͍]'pGѦ*Tb)od2=$A5ql=#@28VC\yL^[-BQw΅hҢ Sf?>AӚ?Ԟ=-C4*{Y{O[+1*qtinzG-~@;%^7%WT񿱗b H*e@zf07%Bww1Oni\UMIuAR|#;lNba-w\eQus"/T&|IY2?U>mL":al 7Yr~`6v+-Nl#俐IH >7Aۇ LXFmG/Tf=!i%3:.|N ,BD{-SȢj9MY`<7$X3"{8bb$r34|^%Q3AUK%) /E47ĥnrEZX3ݩyJ=ScАR-x$f:.l5 .0.˨q Cq! kC٫bs̖QT^ ۬ wÃ>EjPrqL-V^X\dh%Ο$@Kį]ŷ`* 3HU&jtԲ7ˈsO>;v7 " @?sgEOoo%'VO,"->Ju7lv" -qy{mU/7r\9gy4ݸ6WŭCYM?HgVE >?F eԚo"pC,ے4ďUִu#^5\d=C#.ulmgt/ڽGF@jK,HX MdB㬗3dxkcnU^ws):i4"6$ @*brgWD%entlԖ@X__Bg?kN-Rk<82I u Q 9 {<p":<=if#16m?FniLB#e%VD[2%ƒ Qڣl'ծ;Va5ZGf;|Wa~~lljT>{39 M:Ynhv1f-ҏg͐X@[ljqNɧH 鼪Ckް¥5ԚY ^fD:X!!㷻[bT60\!(wc9pM0O 02g<jf%s7x9rU'&R⧤6wYE{sQ& V"a ֤Lji8kh"7#3dc"F7ʾθif0Es[?'}_,7mP==)=qnp$|UR-Eq)ow&SR~A iބzsPQu&~x$-psVkN:R`å5^蹜7f G(GKwFQ3%BQD PI|J(ernMًP#ωsHT:"kky@n\ HK,bƻw ,?s#өK#D;k釙=ALvRuVF&)-0^[A/`#8֌Ѥdd_["('S&am^7?ĤV pei:{-dwt3ɰr`h06m^l? Vt;E:I`nP+(g)m#Z՞Rj3֪)KE>yAk9ufvǯWe \^*24JDfPRG}`v'7y}c4 _8;]KY#rm!ux^NK|202RM*Tܒ-aPe jB9/;PyY9NmR%%o[aOf)wDD0&ȝ˕|L#2Go0笹ĭ>_r_*2KΟ'`8䪔v >>aup]NqÎ>%J̪lV#S K7=t7r%'P6[>XT\5g@O^[ptѐ'<ỷ\%:6 x _˹vE}̘U:=Lq]t <. vYߔRC јsdd>v.";(5'2HNkGL5PŞ<ɜՍ# gk6tz)xKvL)qp6NpBVi5AJPO%aٌ\pMXd|)® sl,5l`x5ԎRvP,P3""(<~u<q LP𸃻c7š| wg%A6+х8|5/eQuL]]>cLd>mmP^gL,,<)Ѡ3ÐJ(pX֪ݠDI $knlRt7lh̀^E{ J?yO*2);@Wg3y:Hl;Wwix^Dށyo:ҫ6aG Mc L]񇨹7**60.zɮm|0^_,qwCJ4KΗ Zmz`Pߙk[=?\tiqU*u,K\+7~rv[nfn"P60T~vjP}Bj LCSRNyF 40ـ`p<+mW6-לF%nm,?Zp47o\B+EM)#1UUCF4he =x^g X佔R ޛaS2+^TzI%jP\]aKv* 8`NcK/ ժq' dׄd3N.Nw3rowg}q8R呣 P~5IJѥ"?:Ģ3iǛOG-ͻ)1f6s^Pc[9/*?pMX=Y&n:`Ne16+_^\v`Fz&싷¹S}(?w+6c[^2`ҽ g'd;^=LmeΣo$ Z_}6UbΕQrN`cŭT FCፆ+ F\B3q0utƗ7 Ge%B72DSI.M䡅 ~63T !~4fXgl۩ 5AQޗ$=Hڡo+I`f&Gs ؔNyPm(Ici Dh ܁ċ[Kdɘ:j(íy8Ub, e}~@K%PYoA:CQ#`zzJqCĖIkp^7*{bD-T"LIh0$79oLƳ0c(P7N,"3CbcUۤX&H^wcB0&W"9dk6h Zsd'j[g1di0g_ :mA43zvѰ+9mNpD |.SzCr\ ߙh/(qzu̍dQ^gu k% 7թB(!xb_F$sF "G))-ޡ mu [?j T]/ bXʘ`7^]&uc@2}Yxj-*mfp%쯔]P;|0*a,Xr?J7TgIC"S-#@J aHϊc eoG@hĒtD޿bqLWDوH4םp ș?ИM]2.)$.,|4tz>0+ ;A6 4cVt]~ Y"p_̄O(yj k'^篇-f`UigL!3FU\:]B)^B+Hh/BzP`jctOTrdޞ|tEHPS ojV!CϸMAΡYvmhji|CHqoඍã@@i][=Cx>,T#ZvY4mrʏL/Wǵ:v!WA~¸[Jͯ:Up;[AY8hH[_j\*ags Oo.[(jzpS_FO0"o|C_wY$J XONvv#yb[.%ofRoԲli`Jola7x蔗O&@8 KABt*3ރ$UA}WFI}S!cXj/i+ߺ ٴ@|ZRr+R!  Ll+xpb/~Ch?hJpElbXhul$#\G;"n>WS>e'iATIwbu#j?pɲBPe8>Y8׀N[ G7AcDҒCġƇ4B[[4Vd5v-z m[̅jtL%]ϋ04rnePj#/4暽Z L%mZ|"_w:IFFlJi24PJf =*#&l5l?llɀgꕩcW ;Dx2(Jroba3BōB^mQE/Koɢ/Xf*/cbH ú'tGl07DgN;.1^VV;o^j^~O+`'+IGxdR@Qi1WpKe? /ggpX='qϹ~8b-}dk-,!n_@0ݴIvÒU벫Iz[Q21}c}!I{XC)8;:M>%`;Ia (-.u@lX;EGtfػ$ʎC^P_X`-Ν[]w"Xns~\ ^"55u5k|qw%xA|1 Bο0!ۯE4m%@ wTWmwpC2keFD(mt$A!l&\˵q`Ն/\$@9ͱw|EiSDnjCC(4'>YӘǹxMע? cp'mgo@k<%Iiu f&g^j'Tܙw[CJyq,s_*_Q1d"Y"PPhϫ#3_i %.SW8O4Y+*L: >WE6~>ۥ}6.ЫrE׼ KbcGI%Qc^1B/X󲉄{|G5CòOm`%FduUDô,%ԨP1CB" D">dE_+To9(Sa Q`yLl ;>#J~2/l[4({6DeBS5)ra sվdssO:m{($5rɂ1e '27X!Sj,cxUJ}5WzGaIEg`J3d3JE%/ClfX/n, 7rF)O2G&g(nFbjP#PuIomǣfK*+,yz崍G]xyZcJ4 ߨiLup!yEuہqW+0X ~K:Ch"#ƴ1t\*m.̅{T+s{cf',ii#;xg[r1}ad#Phr{zXNB>}T 2AlAr>GAnp>ß *o|pxiׇjaGU3 hmsÊi{/Aܡ:J~9bYD8"|:D^fcTs~2zzi.;V2z]% 23Ȯ 0@$PR) e:F<< "͇KG#H,,M .l %go1ټpI!~ zU UkץOy}8 3Ur$-"{BXDY s%\C0vvWv5҂u?jUm2oM5\]q|F0x+cܙ;;pz_Ơ;>@ub+=F"]cbBŷ}O>(Jf)R2"~rB-5|B=d;ȫﲊEʋ Pi '\3h6Y7>?7&Пrqҵk uL(vf~S,+B/a)V]MڟP~d1 bKC1&o#M 8Xy: 8H~ WdlS6' t+nT?9vIW"5gF}{Oh'<:).[*b0Bl3MyyZrp9UP6viz>@I,c$N}ylv5獵P|& $+ks_ dQTSbLJҰtg ?5ԣ o˲LBՏYgn«")Mr,ANeP=VI( -v7{FjXJ6EnJ@Y) @\ѦvJH Ķ}{ Ǹr 쭾4"!1BOMO&: Pp0&FČaweg3$4lfi5vv6Q}X68=:$mdi3o7]\o3?"uwGfXUtB%G͌,wzQI׀&iDYT {Ò$VH;IJ9Zz{g?qdKYN*zC 6%AeiջG-Ց]qѦ,3x܆cR0丐|-?E릂9 T7t}Bi3g.KS97Bt𡨧QY]CԲZeS?jtŠNY$Gj[EnGtMaad^lFEĉx!*bA *ݻ,ŀWϘ?L\ZW6\e#2ZzK!}W%%; 8O M>z|kH UU邕4m|#X?ܒ$xmc"k[B$2 F_ Z$vq1:X{&[@~N593Rj иWɳ62xlŹl\JßD[:Pa2oINw!=?K#6ɬ:Oɷ4eAy_TnfmݭHBqwuby^F68E/ vMB G_ej/d;;EeAWl\H& ?d0 ɨ ?,S=;:/7q̲Nέg@6?4N``CJ/98GSftMa-t#nn:VolRSVfX;}+XH: 3">ѵ3&qrbx ;:0Q\qfmMHl#$'M/&G;ɊUZgd(>"9BoG[!+rΡ(|EPKq`<, Lg!c.Rpf&t4~.bГ-w9;Mg<6sΰ3@/NKP_ٕ I#-fb O[PD`yeAx}~ZDK~2j!ocC}e1̆%:>e wfs8 Agb+L~4T\=~Mplw9%EȪkwF\< Fh Z#;pL:۶#gjW:n-.t5&ǭJ['|nHJRBY=yDvs NLjS/fVNzE;GВ_E5H"PыEy C~sH=mG!N2sw_LV50ydKɚpk}sKHXln')EL؅;-F%u 9FFƏ¹۠c:^? jl4ngsL8U" wåQħTȳ27puC/Rat^(wTđL"#h4doo)jA7a׊VQ_-)) c{ wm KND)qx')ffX9nv&1J7\dҏSF_M?Gzʫg.ψXxљ)0.o02'k)»>@tt"?ySZ]U2TƑ}ôy1~ɡjV޴6 ²Ӿ䵴OE9~fB7G+a:S%q->K #D_7礮IE\LQA5D΃`lU6ЬzTZ`8 KPy6QhL6EhvzCUrI+kI!X6 0p#R& "H8..r+X43BrYQ%(eAZIiǟRddt!6YJ`'%f~òP HF1r*bmazXbJ *8j²yŤs^Cz,iE4qi4*s&f ACUxUzxhWg4!vrrX? 3v({xY⍜b]sP׿BVfԨw.L->Ve%F0j'i- 1=5}!' hV[&^ ~*KՋ}螭CqH ΐ>`ܩS)K<̼N O/id7TCxN P)i>Ԟ _@7?(JvMQhWt2,J@REa L}vK*$cG761Sp^)_5Cx^:냍utD)'n*hV{O)"D?K}c+f_,^Q# {CSf XlJ{E_q %P9nż4)"BsA"DSƂr U:NqWJh:$;wQ5Ȓ?ȚMas;q ^?45^F:،!QwWB6m{FX>WM+YxOKvO0 eVi{QJQ-a?Jͼb/BLt}MYdޟIkRG_Ibc==5𠴦MZ„QmRL/MWF0UzPFy \DxOo)^#x,y95ЍU9_3*fnR#iȜY?4LG|f{CIM)h8"nN%5WOV(/Uf1w p> @ـ/-cٔ͵+ML6b(AfO~Z'Wqh* \9 =?-emtks >ב9d3Gn/6"VA+VC0.%! eg[::1sA%L &<#2.\P7 yyRIgBp\ݨo(%Pѡ $Kf7BB1pa)(Zy}iWҭE)]c0~ z:[Dg.dS2> ]s20KQ}-(ˑ:TL_'CR%910l c"aj>46[;~p}5 AA|ފI;'$tx=Ҳ,x6n拹$||1O.Iˇ5{}}Z8mZ'b,̇\kc0%KO,S0 'U7`9'+ŹDܹW.:1(S~n7 eʲF&TM߯c*/!4Ct/}(X3I pTY-2E&bI[iɟle`m(*-ɻ䡆sK,ͤAOB0r]5+Ȕ'h!x:+wmro[-:Xfj55oy{KrqFPmE;%{tht n Ā֕`ba$7+t kZnt R$Ws-t+Qmq4;Bfo5 E^G=ᄪ Qh$Xm7;,.}B0\}k[K=6??;\Us^d7r axSaj٧E0s~A&0\j5j玜[홸F^3, qD՝tE'od<}T7rt{*8b׏i?b*pQ/"~ׄ7BNSjI`J |%NW.껐 g](V)a֧AzH|#"St*=Ψqsr VGܙ!"l\ XNUv4 Ӽp>,ԇ;-3K6ݺtL4,$aѣ9Xza: Ilw pT [lRl>g眔J V m_ ,s+!n D`5𞦌i^q3eJ7xg~(DX͏6}?P?A8}koAgkV8@޹"x: 8y)]xjfa=h^ʝ* D7 0+cnCw5:IL{%>\P߀HLPTf൭V##SdA*QRS֤.c#(*(!|oW - Օh:l^ }p>pjwo_`mbM~=B˪M& 쟰&|d {IZ~evuƯdqϘ7;3ջn?׽JR}Q ӤY'Pw?wO (TIRztDh2 Tٱ^ʣg̃Ŵd72̼u*-1l" PA[Y f\%l,#)IWv{:g@CĊ3Q)A5<6!VoN4 i*Cay†}dıxynR &F|{qGv٠hƆgH|LNIũR༺^P/DLwтC4w߼/`L7ruR2X\BBVz.JPಢYՁqcQݣ1 "?6~A$܏AqkMF9x2}r 6GcOE\7m9/`]xqY;d %gUPAנ*[L[BDNQ$f%2E϶`*M#Edv}pƌ+~4@:,6{Ei*aEm/=X\%aS!SMu`1Q "yMKCÑعN#TM U3cM3{ Š`a3xtLD |;cU_R^['uXȲ5N㹣eYN_خJ `=DC r^b!(*r ;l'ʟ *)f.}/͠HM4MA휤+&%=fư2k8B4,Hݲ F|yw WYyA~Ǻ 7cKǽA&Q/X;+44-&kJ6[w5Fެ3 LiN-sn/ ,wSSf0 9'}qE HSeQ:_=1+S!dJ IwKG*߽o,LQ7g|G$=_i 3 vּc[!ʄ=H_G͞34}=t3}Yq oHA|@?$ xW ڗqnGrM]d>+GՖ$hר? Sْ Dn \«&?ar~]LKzvKS:jTKOU?H`rB A/h K@F (ʁ+ ']$|߮ZHQ#(S7,`?B ~`dP;fۭ0GĖk[oMԹkek%x@j M;~1k1:omð̪v}ݭy|o240b66#_[Q".CsZ#I]mڷy%'53yxb^5.*19/ѮU]GyifziG9AJ}G1L4mAYRݫ( WJ 2Uf^:ೱXU9:fBl%ǧPQBZTX1ִo{7r ޑ} %>mz $zc7/NHÒ+l*1u7 Hv3$-%7*OǮ1ěD.g`# !a>[TC⋕'b.W`{]Ip/&XED[ A?(V8z:87"b% 5r,\ԊF(2!'AƼ(;=dƪ }B8O 8J Ty {/'|x#G#,dF-8]҄ }( YN'i;Zϡ~ e}p˓ }umr3?P0}1UߵIUV} ;7Q[J5s~@Rj*n/.+jz "ҽ>W2JY *݈Vm q\GMz?"AsZ J fYiLmI7cRƕz~=f'1gGنa[Y?03p 6&"ػN7>Q&M'-=OFKπ#s`rM-f/Â_:_X'wG;fH`DxbFUa*[qsTgu3n?=NB;{I?Šj$pG:~hW;[OP ^˟+<Ξ ywԣti#  C?# v!-)6k&%#Y0C~N7G1f/.|ՆdjFUlg[ھAYjNNf^`B((ȮPlf5]k>J;4U77fIT:_uP7u ǐΛIN[]N|%b:E-yTOtn#o-uaݚd:Q<njZظf evj6=Nd Ϸ[/RG9}I2_*0p oK#[甧K:_rYE` qӼu6XN7-S<{.5J{#֏3y{?:[;]jTg<0RqGTb(&7jOP%7KPآ+}c~C6nVzA|'.\HN}]t.2`/Xf~]f(Cnl |sefhG)~|]x~\~]RM+*P> {C'!YM;d2we]aH'2#S)ix8AL!F+M>:\n'Q!cx  ]a~",l,ӯ#iEٟza=_hwq0bڇcQ.SԔ+Vf L,HzW]]f離Umr(t>@P :檭~7^rã:o}LNb)QT?boz" Ϧp2J<4e[U(EI):_N='`˂% Ì_Paډ՜_( 9<ߊO+~6n}\A:K2[owK_M{}b|;Rdʣ+B^֘<<1lQ3 +pU%]n8N5vj)&2Nk)?<(5ΰ6[LJm"]UB  )A2J|}ሽ[X{XGqZj!L仸X~yG6q,(Aoi:U LaBzsa 64!{K@D-f]PʴC첉Ͳ=||~yA8ܱ9*56Z  {|zO55LhU}"nj⿁ﰆgIl7O<66DL#{ RG?"l@I7 7>>aE/˕$T <\n jtevj4DSʼn7.΄`!Q T l5yt;O齘 ?qzU9B6(>?M{ZS>e) i4(':RM:P`aU.< EUW;'z[P#i *=[ZO{XN:aeT∠P`^i}n%qB 0EǙJXHp bAqܹfs]\/ZJo4 v) 0$]!MˁU;U](b6$շKFIӴ׫$L"TSWIZE׋G%-JAĴ1O)]=lg=qMƊf?LC_}Q^p`J'E%SdȌ+l]MG][ߐO~此Z{N>:cy mz>g.&͸8= :->Oұ~#[6{Ձ,Î@̘:j~ j^FƖt$Ȱk_ hp:g#K=lx9 ;*Z@brR{Sۤ{]h0  D3rjS*MO#_cR:p {B&yN 5rPa)46bXA*'[K Q{67uo2}M)=:r)VDCTΫhT\菜r~W8G"a^9׫6"=dWKuU \bʖS! E$IiFdR/+&0K)0=NɷQ]#W$^x6LǟYw iq~3_H<4X^HjK4j'wh\+~eȇcQz%\ !-yo.wUZj<\-b2'tRULI9_b|ox<_G7޳f ;#8NeN/F[߮? Y,n 4bpU>f6n*eqڊgk7 LugY" ҂;!iJ0>F(UFJk&`<;V4&PRNTzhcÛ9j\<1b6X#k<[rƹnW3c{?#wـo7#)ȱin*x(H*I; Y.o W U5 Ń@CmC!\幱bh8S:?#I}H kNGڬ{3Q|$#c+Z4WM lE$jC&߲{d&_H.)i^+-ghG8A,4dHveb& i/{ \g(km\q: FM#  ||1IܢP}|*y@*{*I:|;)*K\u#'ΖSxeSg36uO45s4*!e^4J=ro|,p !?1 (fPڰfޘKӫH DCt&R}.m>#TGW$29W[zz%k8SoS fN'ZE<3,oZPV֌SnuC/S`<'`kL'h}Ӵ-tc{Q8`IsM|3/ѴQ AC#c dvfk1!oIY *-+_>3e p$'?C|q  ],Qyi]u abVĠ?`eH<_1CCsG Tޚ^ufEV_+h/X#(U0s2W#.+[Cr8A=\D<N18n:equ%br7/uŻ7= p:\>c8'}V}luHf;t|JqrXFVWҽ·J'LodN'izV|D~|~|xq\!@ީˋG*!|*zAl` f h#HΥy($j!=g1 !?1-zZ~4i(nt;4)H~7:sMPxSНIp@-/!1&љ*eI$HqLTP tSlhn0ʵ*'luN|^3jIf"A7?=\ w2S|b3ZP$yiRV7cؑ1-5[+gsP# ˘\1(Ze.=b/n~HkIh+Y}($n E`Þ'Blodih -ClY oqP:oq2}6o}WѰ`q _0<2#=0ʷkVz1XmSkwE.\ҒǪ~hGbsnqq:H d[~ǂ?&R}p?9KYNm8ª_c%AXNMp S|V7굷f341鄁6 F>w ^➛D%1S"O> 7T}@>H/Ya qwFZQ[3r Pwk Y;= <*p}"n>eGD9!]<u5ݱ|NM>x8 13fIVA}zTH$ܞ.KQvuDud@ۢ׼_ŠbWw  cMC lU]:=- Vã~*}S|jYД$HC{jz\XϗlҋѓKF @ߏ=Չ+qZ_QyZ Oݦ'c6[q6&eڥz}+*ϼ{FeaH NK\1SQv9/A\n;hvDf sX IzhB2y T@9tRQ:q7iB:sM\eE8˞\~!=e\Dӻr rj6 :fqf5uhI]Spc}BUrc=M mEQݙgP_D>:`W,Rɇ|CX8t-xRlm )6|@ )$Wsx-ƫ|hWg̜6$30&,6 ^1bE00%^uvǎs$|(C <+}npμo"o2렸(CU%|Hv )Wb$ uѭ?YA}{4 v|ZՕqW)-x/Ka$Ձet܉93>s'?{2O6I\qh VGDcxޅ/ks( \d> 5ΙM q@M|< OzuKZ ^'DT Mo\sXw†0S?+Q ɜ6ljkt g-p6 |=Sdufx4ӄ_1_n5EF9%f=i"eTb`ԁe \2զ,{U~qޝY*'rNUUh Y8J|,ͮ <歓tlTn Ӛiw$_x%7x>6AY5(_{Ț<ڀ.<id=cB%WJǧ>n#j5ݼrDR a7'2w@[oʫK\a1P ʸPf+T! tD`(U%Ul!a\KXX݃>2v; ow{ٍ=iåZ+o%yMvBJ/Z9:gxc/)?l~?_ޗyH-EWwt9X*]}e֎st#emz<^.u>\PH(&K^ [IJٮaU2cR͊*,):3o~6q_a7/"%DhU9HyH\1=6守vzoF9ʸ3 Ɗ*cW@C--1?۾]qưұcߣ `w9 ֡kOdǗ)OB1OKjgn>+krE/9w}R\].kNLSKnЁTa-ڃ 3<&ic`<խYخ643'A>6pFkڬR8N0=W$]̽L2˃@bMsy{ Veĕ6 (c7II7aZ8nlYe0 F1>B穀#MveqT@gidUm*}cH/l+|!%,I2fՋJr9UF+M\u-ƘHUߥ'*g5^@/wFa/E R7?$k 0Ѭp~|@Bp"`-eߙwZ?4SjRȐ`GO]z.$/QE8NK3nvՌ[!>Ŀ'Iŏ?j%tfh7.R&A̔n"گpIi|w6bGih*^w1"A5k "h`xV}]W5EI] 5#6 ([h1@=1ѴG~*dnc\Df /Ϯ+w`C2'|R61iSG[Wn[meQWbj7')88 SK!Q(fnc]5&:E|ACt1 'kV [52%i uBb;?0IJC]"Lpմ]b,񰠲+d/|1IOev%;Yn`*+=<B9㝚'fr%Dos-%A󬌕` L`T0ɼI=|l!P޵cLTPb~wOoXEIZd~r]O.m K"RT~f~C?мxJP(ΚZ 4poC8/zMF~ ͩa.Y }fV8Dt؈z -:] rcr nr*)|%{ud;2URع9'É } tb@QE`VzK0š*w{!@Qe6H]Y|>#cDa^a@ml|TMl4qvjSkz(>im[1C %9;ZxY4EhV#bl0WK|_@([v`65о n;{iY*Zi]'8֙Mrrpm\t6Vs'ln4 -9[* eٙǫPox6qipO\.cvR:ˊd<Ǥ,8os@fuņ%qҁX9]EmnjN@ܱQGXڜ!͌Dz;OfD|W=LSԫtqu@ebĽ[ڴ&u(&r}6ZJ(QoL/^7]_PҪ@8; p\\~ëFo`GC$=.}Zuxy'8¡r6Px5]xI3oe }n gX.Mա珝Euvns/=l@BDpz}mp\RЃ-1ñ3%ήkfxwƥe4)| jˮUtJ??䡤6.idtT~_dZ\d\ƦP'9*ZO͑qTtX?Le]h(89/`Wt'3*JMwe*DT|!7$7Y;,lh.$0;@6GܡpRw@%Tnkf@&kX" 'Elqég1qd `[gPVozׯϗhE>|)X 2=AĽ/U X7ށw7!5fj=H)6elTh-BBl o5)NaV˶_el"^b%A6< pW"Jg?7W&vل,aFqQir$lO拼ɸt},#bĉ daRЂ< ,FOv]+1ȃR"ax RP*ow/hkۧED\r?٘ l6I3D̙9SPeXHUF=ofNNKɊؒB|'yCXJѳaȂ]Lo@3vQǘYv!xT}q!|#w?ܰqМ Nlzǻ>"g{ ;nʂ;`.g6?A|.uiBXõOvw[(d^*LgV"zMu[n?.4vHJ޿mJ[hnIGB>Һ{x͇Fk\é *MWLn/PT͞#GA@Q'4v0+WYN`=-SÒw GxN˯.Qu*}r݌ wC;q9)k2ױq:r+'Zb76 9sz&LA&lFP@9o;"d!~4~eyk<[q&X}!Pzψ'Mb fzѳc9RA! •+o6}wތPP_cb^+ǩ:dDXG Ǩ fX, -2&ʶvêo8?1QHStm:v9:XݷPbb0JLfh_D Д]UE#0H5aaTYB^wC~AiƗBE~w?痒%_(Im'8|vIpOYI6L٭H]$7V(4he XDJk? `Pkp0w2^e?!>aRnd,u{XjF;@8H vdR{~sl朒siM1P@Eb@@rM\ぁȀa"X"v?s&5|'|L[V߆ ,¤OG$lQGtnr/I(@Y?k)0*aۏfy&428Pb(JS\5jIx#=}=@"n%ύ_IXQbq"yWsă,.AuֽFtvFU'Hߪ{s7R;z6o+Lىg}*& $^{0PFW_.̏7!]}-=媁r#ӊ^vrޖED)glt=#~#VY(2QSvWPderKʸkWx6u_-:y }z=L7,@ox?<KB F@EYm .6EШ2^1䨾\ ~V 9֎|I%Z ͩ3LK ZV޼j$%m,  3xSTXJrmv%0]̛F^@[y RŁ #qwvѓERr/ LYtyaqId'_id=TDWhv}&ꌞʟ_RbPTqɑȊ;"Ĝ.z!bvR60uyqNCZ-a"ڵ[\ (m_$g,zP A3X}]2 3*Rӊn*%j@F ++ s4)\sy$R2:ՀVO.9=HYĆ={ F(^#Iu R Jz&<FAƘi\ *SgՕ]" Yj@t,#hq3|/t6CdE8{t—vJ;"9Bo;X"*OtGͲla4]']-4~2r~ ;_kiT,N/d8 etgk<.=t-+ Hu_6 LK'ߏ )ZALg͎puVL7])]`!5/Xz={5<$y;yY Ûr%WYn=9:/Nt=7 B*+|$?2 +ռyi #RSZգ¼3JK Ze=> =H.Z2V/r[ i{ԥ$8$?悼cpjG)$Hc :whR;$G^nqWeƐ;!ST<ߩG頁gHMt)v<2w$B\sз&&e]3I}qxv yXJ"JdĒ`u$jG\-CQfJMgF bqr^ Wlrپr`{AEIٻo| f*trO˨;b&2N (s:A"]{UbcဖEk*RX.\Pxٵ"[N?TykUKn)h0jl7(*kמ50N# "g y bLJ#Oð;æ,eTbz Wy@/Np5}X{pqō3YL#>q$0u;vqYq"D~-~ z ]"8q2E`yC8]ْ?A`Ug#ebNM%\̲[9TXJR$W+WqWz~J%S<=MI̳M:M'G/usX֥;T"kKO@ynoxr堻ؠr.,Be \1l3LNGɧ>ך1U}ڼTz)\[T;4F-^ZqwwCIUᥖۂI[LmP؇ۿzc3fyoGB~@bSq#ibbHB 8_ŭʟx5RRwZh  8굝׮3{A(uJYe2LQK9W*V{CKΊe6Ii?9=mwvK*  RߙA= [  y%6.*}¨7G gqCEqҹ>g}_~)PƂ[# a(NfiO@S0y`%J/R[XT,-WȷT9hV%d.#+ i2֚|1R܋ަuTg AxNĠΑE<&l414ʒA2,}Fc{:A+X3[RE,ܜxAb sڕ[nYx BU1?H -Q57pSON5# hfˬ=*ˈU׏>9ӄ(iys=:I:7:v!~.tZT`F ۅt<h=w9GU6u@TτH$-i{2ͬV 2KuǃAnGtN7:wIuɵdċD}3y s],0}sѭt HgSgYS[sh19qT#ک.6<%!C٫. YhB~'* <|2epNe(K7Q?-,_ПSБ Bdz_YrM&pn@X6 1%9!F+>AsYP *^g$iF8l%aS:!L5@>uUGc,ᶂګhh}s RBHE*=Jy@hT+v- s t-a7v(^&,{=dh2" ~B{3f|!"d3y+O %+7j` M%yf雹ӥv[bS F CӒ!.öۻc$c<7$aKY'|*;bWo I a7.Oځ|\I=??Bl>Y;Nړ}N|9ʣӴiB8`KY>a @1 \ t^GK;1:l !$K `8 ]3)%ʁP){B؟`__94 &'gK9v~\JBߌǾҲZ H.ust ua]kYZ%15W#l` B,UzA*D 1_bu"uh hqb %R\_,:I~E%|!ɇMv5h4 JpS!]^?ΦzP*a3uh1GG7e$+eƃ~5VqZK+0D!AuPKdž!#GФM^{LH-Aw*ғ&CA0APʐi|UBta?=ɼH(2zV;CAﻞӬqFFjٵŀΣ';-噯|>pCjcYԅ+͛#:JW#Sa5ϕ"[>tOF )ebkm^D6w˙cpDϼc*[lCG+yis]n7a < Jen6>7II>kUE1dؓ~rbʴ}0'Y=TH?{l# :"^)5pVnXh};)f쭂ԍC'w}I|{Qs7pRق![r6Dѳ12 ߝ&2g@P;}Nk~ނRs6)Lk\T詿 |2fu߻G;@ofd!p-S'ejZzMJ%sg8N^=ZJ =A`Zng;̓ c <{k؍O 0&Lm*wٗo}&T}HzSĐw4TNƆۚ@Ýq{@Gj*hya'ܿ %=Jb:;ip.ŗiMGӲ4Mniq k*¦R=عx4!%(ATأ *PzsPHŖ3sB!ƣa֝S@հ0J>3VKw޸e-֥^WծX ܫhh>+xS=B+\(*K@2>vd'jab=xB 8uŮ&AG sӋm֤W̗-18wkΠFs6+W\,61o/paTo+&Br筸gW[ߤ<\c\^.=}̳ghNLh ,.5čKmr`%J]mybA'>] g^ߑHv.v;wro[z )~'U; 7p FFql>qC!1 %*;Omq;O+AïwRVc+M P7 bIӝ$B{4~*dt7%ӳŊX'XXYXoBɈCV,l~'#|J2' "F1ʫ9V%Ð!?M ɂk4d(m/ jP3TMTFngm; ;]տ\I$OH7@B;YH%抂S q6b53nD6j"Wdl9*،dX Dl\$heT[ Kj&~Nhø4;=U\Sa!acX8 Xn17 2y?y\z:HMeƔ(<8 z zHFੁ[9|Ny +G08Md5kd܂%72i# $ TRhF$xV*uqz\%#Ň?#F@]Ȧ[p84ƠǺrې @`׋Sipu-D&J)ޭ_h~ut{ Yʒ8C1@>.Yꯒ7 "FP[y}6YtmIV@<@9&Xh*2T(ѩ/ :Nڿ|ܦw'/K5k"ga_+P]hTw-9z 48sm$P=)=bpAukGtQ ͈W`8P" fw@'AJ|h.ۙE՟L+<,MΩB <6>'bQ1`Gq`t:x0BwrȧxdM h^iѓˉ5(^]E1ވ Fo$H~Z,uneWG1"蘘{+ԡ  )KMn͍F4E+afΨ稅َ24; Q"Io(_ a'uy 8dw8[@у87,'(-]wZH#I+ؗa,x-.ƪn2qV"ۜOb!_/T-G]b#t/RǞ%yqU{}Iߌrf!a5{\K4v!WxťK*ˡCyIQ?[7bxX-͜;Q.!b!ba G^¤y5fSSʆr,|9ͭ/E.iֳ[>[i*x!NZ$NxLJNuO+Lb.iBT˅0=.ȖB,.#{0g?8A'>2IL'`9n=-C'|Q?W?z6,WǒcC[+gDInP˒8lj%O{ Uk$~ѭp)jIb c1<a*$Sg )IJz$c wJ73‚dgPiPbbSK`2RD uKIأ͈rL;!id{єUd`\f{9Lմ$ _ƭ{]fYj  q괢h m`Θiv$ؼ(2ݥp4?ȈPFoI>f?,OL(]1,8zB?r%5WwlLjRqכE208y0$[ɬum&bµ $A yH+A;8S*XGCV xͰT֜-2,! 幐|LΨU[;kEWrQN^mÆ}]TE`rRGA >"M,ScqGKb>j+v<'5[gׯg FQ33yjvk\+2V\KWSY 9ߙɹL6PP\U{R~<9 &x>*q:Mw*ؘw4d "K4}=(ڕD7R㨁⿧s>*%AoivL7!C%OO9ʁ]/kfi߸AW=״"$}PP_ idqm )M _dDsf|1/c6\I hcV&,5}2X" f﯍H/-ӲJx߹B>}J-t|$C?ixbO@rrnE{ ^ou0*,ވ#Ќ\cT ٯ hʯFV8`G L)w)|ldž'<۵A/+v>E=4 s ztŬŕn}8=UYBFӥq\5aj>Qh#Xoi7ͫY#=`gYzEd5K+vLxnPuLi3_.7]H4Q lyRφ.V7J.k;?qؿK\׻|g"zR [hZR sr Jgv%M<4oȨ Nk%iӸOW+h)#VU*=ER.#dY(Wbah { L"Aϱخ DPwԻ v*FD:MŦ6DɊ7AxhHz]_w/rCP/5ZKem8VaWr"&T/纘ΛU6: 8D5M1Weʨ-*^̢@PsG:PƁOĎx*H6KaW M9bl=XzhZ|(J gָG6LwU+| ctZZ&9:| WG.i.!+t㵆 G~l1Ȧ#<NƒEcz%CcI>(#1atNAÜ(J^B(cvw!C>1/P*@PIA*(a4нaGMY+X0.3YJKQo2=%!@d>B)DmzhEzi;C7oM6GcΌ| ͤF6jG\Xˍ2Z[ K+*ys#hacuj3#MC5F[;4[ԮJjR`}>t.M8e^}wLjٜkBc.ݓ^cy`kDa]j-! HlpmI.^ 70G_c>%=< 2FJйu=Ǎh H\P hEَ_:!"&i,R=hxjw}mk9C \Λnh1%'iH Dj}/Fqe KAr VygYBRQyhQb 34И$}#Skaplf<ȹ2| fgՠ;lcH˷7oʇD)V% H ~[ҁ)xsߑ`JXeŻ7#)$'ZAU) bMr!fzV]W7W.!P[ڲ 62p--F|2ُR, .pQt>K~gb[$I<0>)?!b8Uy kkv1HnTUU)d>Mbۖ2W c\A zJ6pM۟d=@^Puℎ$屃 Dl@Q7m7,V,I\Z-qF:!K>3;UW,m]WO"spJ;ˢ-Z *C(H}ﭡlIQK(+{x52@ VC"goDy!wP]3ZȦ3}Xڽ&rD3C(H* ͤ p_j,a&D@c+3&poduZ9( 0X,c1#)0K\Tszxę_<U*]"poy7: Xzފ[? 6AhXѥbE1l=G%q*6Wd$_%ȴMua 1S%?ej?\K"G:#ØGv0u! a,=d1ӎ{SA66fG=o Dd¼P2sw*PKuu-#RZZAnT~I (Yoi=V\S%[av+ 0Av5ri8b+ZHѹHvHqmvf FʎL:* N޷zuim#=雒(/Cowļ  '@]l2/I] gc5Q%)ä4-'B џ #j^hXq$dH- ˠ_BΞy2ʯ9W)!e e fL`PѤ0ѼE0 ",&'=Y+?!Qpe.)HsUnͫlӊLׁoZ%۲G|x=w[5^=M] 88~,RYwBAG?CPz5A}_ l$ŽcTq\ے vzʄT~iA^a)Y31aZ;]VXw w!٪Cw*HҤ ־[<FtF$A2h.NlM J-cKKো$GS\@᤭! a}]sFM(˳n֣'0R;FAzvf %QD|˜5H֋W '1}@:}:Tr#c(V$$hU4;ʹ1Y6JR)hs69pɆUVku"ҩ?̳1#+a~늖xUw(PE Z!]|^¿cEp;:zv$1l:ggNWHD2P%kjPWO_P#\[=@?Ml7EɃr5)LwNyIXMfV5k Hs/X0'*Gljuj"T /G͙:Ӟřfm;*jbL}nK?BaZPNYo5ُ2x`E(DFu;T6C;û*|+a^KBSꞷ3C'@v09\=ئ7fX64]]q '!(,!\VEɯښ|яvx=]Wnس#Xq \s T0;WG^bbög`WIvd3B vݓy)9Ue/gzLT)t)CyA5@7,}￀k5tp xjZ'JB57x8H#o6jc {j Q'"g)iS 6Uk~,w( LJ =55jI$xFM9Y"B( ,}ﭼ4Լp}bz+eڑ"u _a:?øPIA:{G -AC8&6Z>͋"Sl.z{;g%&*=u eH~>C&pWYgެBT HwƊqbX?+|]RZ.0aJzZ< ̞|DN;Oye<1uĦ9tO#=L,W34!,wBqDwkCf+F"g\opz+p@9C- ه:ЛN__},WFY̚[;PISnJ&Sۻ?} |Xʆ:<ؕ֨+)!z#F[ 6`oI  (C pI%iTp? =PlY1bBtN@Awy5ElTHWٳ'<Io m>dA8 >*Xǡ;M~|r*+f`pKmڬ 0"WmwB|gԛnsK%ܮz|:|TwU\NʐbjOv`Y9>egksxVT܈lB\RYԌכ'Z` ֞qDVW[0E@ـǝ.!qI([nQ7$̡|pې:偕fUEG:P>պƦTGwVwͺfEZEy4UN[n5&v&[0Hjqj3 (h$r}TU_HE(훯q@|;{*W+Ufu>`*3q_wM"J;KHpE6J<?N/\g?+ݨ.Ie-N)#l|޹\p=Cn_nD 5K %ֹHZgq21`{$9mg1%iY7)=N0AY&%`x>^¶RO8SUȵ{{DД#{ /HNW?`4ol½&34Ig)S5*gߋsICx=1wr1a*LósewRsh]]oiir89U{oK wB/JA#xf4UGE̷Q|yĢo^Pe(8's _eEg YPnɐơ1^*K Ip@gn)@" lO&7 yK?A%y>Vu0;S,8, NqMr*)iuP" ]5 cWcVOoGeJR F3;·"`ì-@+tG7iE ۍAjuk-E!~.,I+c7\2G_74'.Z aN.չ[.M#5j"sO-J ϗ|n'PnnuclQon]]Wv9=u )dʢWZfBk[*E|@"_ҭUJ..ReQ V: <R$zj[َxC![t'~Ղ@ - S,JS*żlaGoH3)P= V,<Ǖvxe:8>oɒ8CQBSk'+ g}}3ٟ5; CB]diٱAF)G{vtk9W-^g; *ճmhCS5/eo!"uIA @ݑuwuOM ^0B,G7̖J3VX_hlbE ]Jq> w{3w [!!~G>e»qJYߎ01=+mpZ:Į'3ީGP~s ж+EX箇eC.Yz LYփyNe^ )OYrEK6`ғR!<[.M ;^vFI43dZF)~{f3R VD4dGm]QCk"!J4R ]5⍯U;z\tHuT j|0l=Ll`~Ff_yOk/*0nvvjACLsNi[>Hjh+ @顲QGg{"(p,[9 dj`D޿}=0QD"/dt[9ق˽U[J#Ew+BK-0S!c$R'<=D>!yPdm䷰xz}'zc,CQ;j#>LmNW9R4yzA [O)IRR40; Sv>(] M醻ףx|}VP4muoo} @O')*1[pqE]-$ҖCe9β29^j1=D Jku{Rw;ÍݯSSDƐvjѢAiMiЛ- `)+xLGdT\zc O~^rE::+.Aō"@ d|x'_E.q.n|=s$k;]Ȯ |M(`'|eabn+*zRGNA!R:+YrB?nE‰ )UщZ*YЧR~cHcOY)-b]F͏kA8vӰW frL8-T8#U9;能G±wS1֌sGf֜J&/ 9*bwǻS#co=\l t(fBWT#K0'z3jl~mKǠƨ>Sngs]V+0gbjarFwZ2Rدg hrL˞>,n& Jۑ׵4DAxq:|"@(oDGQm{xc+ӂ]5)\> 5F5UH *b^!쑰'(.ee[nFQX#7[)Ge6&z [M[[Rއ2*d8;:R W!?et@Q>i0x$ʸt #T\i2q8$v*mK09=t>&vQ)t ='jq0ɇ`7~mDĦ ̵ޛ .d}7Es9-]! } 3Yїԣ"ߚ]x˟IiҊ9&pRާLj̰HT2PdB~3U=P#z@l? *CPr^Wu{*53'غh5JU {7fQ.3YмYa"豆l@8 .%JWa >z˸2Ѕ؎=UquE?tr(Js%`z=/Ee_XָFDcQCkuӋАpNzKt/мADꙫ_sgX+r MH8Ч$c `tVVq\$ Pʳ?¼bX/6F">?W y'[wVqJ |o4s@)ܧȎt:}%anq$w2¥H@3H98H ^䑺>ﱄ7S#p!!,BR\&[z-* ц>0>KG cz؎_xDnjWr.mR|g,ay 4G~cc!33D!+qw[Qy*;=VEwWg(wMO'l:v e]D  SmA RLn$rS*c_tR铺rmDЯ2'G;E!=Px&z꿖Wڄ㰮^КV"4A$j@JȶURLp=Sb*=( o6%̩j pԘ]g*hJF!p;>=1"uHpkimWCY8^Ԩ=H"ɶʝ`0SvɤyXƴ/=xW RF?qCcg櫅cK h^c:Jo'aBt$J+q3 Dmx8mtkLC ̏DBc&j;FT**wDD hYmiH&50͹%xZv7@AwA]ǻ e|"sՂ 53#;Uds/i}w/f:|7]7 y \3CxGj78]B VşFT V.G*qD~Acw:Vzvϗ1q #5GWjP*}RdbJgƁ1NXb@0~GC$}b=V?fGhD -qP̿-H<˒![Tsŋ&Bke amv4D޷ۆ$& U8yz9c{4<,j8(uOu|bÊk7ďln'A߬U$-y#4am@X$UaTus 3}Ðg(%յ)-gB9m #w]LAd xyfdjU:jǘVR(Z^)aഠoSq7*㠰,,t5.e68mFFvwd+Z[oTs3*P#oȒClyhkn _t٠bB4}TXsai/V0Igs4Bd^W70'&,ZnX]pRso͝&{Z3 N#M#*{?֦ IVNm[00U[ˢt#b|[G]Աh0 @H>A$Sojkyfyh?[By2P,(zi dEM埡͔Tz{s"[i\xxڨċ'Tk;?xq:_=h`p^D.KJ:Mk@xKG*`8InUYT]L?T`:e\ipӻm`)ޓ"SRCFU6Y&簐mlܨB}jrmnJ\s($%lSϵ+6ˇCk{CSAdyg+=(n,x̫Pam6LJ~ϘZVьch(_6 ~MX#݅eUX`VR>o,2G=KheF#8{_oXdOb+Oxw6)JGQN$(aҔjg4?Ǟ31ݫZ7A0P)h Ba;o?ЊK#byk$vxɺcѧP64W:٥"jUr&pM*'*xI< =Pj pBj鑔IE$Xl5Mw``iwfig71,A~*UR`L9Ǔ~v|vbt%gRsqGa(3]Cidx!u@ö ffh% 2Aw1k&Kl4~s[Whhwm&벎ݚ͊l C%Y8fP +$YO̤XxQYmXh~34=Y>ņf%F]2JU sKF]Gך~@gŹ<2wƠ^kYd`  }MM/՚./G@hRPźAAGޟ@.AvlB$?KQv߬wUF%%!MF";w2\f&ln~ [f"X C,у.SȬ` Gߛ\ y$z 3y#Fn`jhk+b4 ٬덤>B&G u=Idž>G4^CvQvנ1,ps̉YB,+,USs(%рZٽބ|PT۾5y "Ժ/Rh̛Ҕ&|%?<GЕƜmth 3K#LG8>-:.r5yD%"Z3z}܌v<5vhd6{YaԮpD(x||/jV+6"f;Ơ 4;AjeU)Ɇ @넧p&Mъ8 *0YMʫkઽ?>V+ŲD$Ѕu\P +RVLbiNg;y[V&ZbM=C9F?=m0Js{s]HPvV`U cߎD$oXD}0 Fޗj9XcHdCi4T!Uu^83J0#o^ni"v_w2_,kq$v lD;?} 8\ ӂ%A$B%WGѵu& 1{aì^Ҭu92.Jz2HM׃_Yt9wfWtJ37>:lz.֋q[p2β$[3;ga n|]h<noB9$e5 (z73Oe'~=!Ew4Jֹ"r#㘖 a;P?> gD/$X6`I#cľ'Wg__2o o4s%;!\a$bg[olE <+#t(ۮ PXSx.0v;ꫥ̇YEDgiA_"! 2,Q')Ypx+ˊradNKE˦C|w5H>S"2ϨZ1 FsO$qa .jU?x_]-@rEBД>">OOZP>Ml^}&YX?".˴|b,b$!h)>DGA"[7YROMY~EH]T9o!t[A胔!:=V,yn ^$l9 CN Cy/maH6XKE kYlrufPFO1kNOFş"wd_>IGeE{Pn^ʂ*̏N4gLTPYa,Nh7Q\ceWJ7qԙ(VB(?4xS &="G8%>l{=/B!#u΄7jpq^Sdn|OeS*Iau^vE~$P`#$ay ahnB ,=ޱ?63C<_#oq^{ UﯗV:Xe0/I m_B{AWϕg㏥͐*n l̒Ȫݼ0uub7NߩvN>ax[w1Ʊj3a&(e=}aQ:4tS9ћe5 -)g`lv ^do%.Fbx;7(hA޿sTqGY:k4 EK5f@Ak8,a2Th 'g3x#!6p+PE7?T-#.zV;mn頏xKѰĒ'̎cZ G\藢w1=+F 2曾Ȭz 4wAoÙܯט %0*5<-˻+el^ &xZK֜EݨA;BN闷gq1r\FWsM*`CrasIJ0'k3br*}wX념rc)eNu"*c 3iY`ayYmH^H= SJɥEx 8$_UM޼OqZ?4*a%CcܾbDܞ[dCo5_^!Ǟ`e>\މFH9+&L'άwށvN{>0!X;-9+?scp/*sԵ+X y g\#wlkׯt>So~m¦w쵒**n{J'%h/G<:FR'{=4f׃&5L/7e^JCe,EwX=x$ ۧq"qy\R8HZЛ kCX&)Lo"Q_>K)>U:2%BFK*^G{GCOUjg1. fhuPyTq_M6mi#Bxp}=cQU|Q u|Β& :0u_UcN2_{P0yN9f0ifs.cܿ[M^#LKzz` _y!\3- >[q@:]1+b!ݕHVBlv )}m9U3kZgaOJCv =*3{}N}2PMTډ`XDZr%pIOUV;UPX3o|B"(˫}Ş_8]T%OAhԼZ"eZ[9rU5[GJ"a(MK03/ium`Ǻۗ:c.Âv9rMA{x}u9xJK, Rs`}2 /QGRϓ7M޼eQV<]7vZHFS2?1z$EH4no[=x+8A<hJ!$Ș/,?%uQSv|OG}i#,i+UnaO*4˦@vrؖjMiΜҸ.ﭡRTh?<賐K;^b:O *h^{'4Ԁ>󍪱Do捚T=1k~3VsB7OZt])֮̈́/f,WH\zֿg5Gw,x JW]BeW P6^Xz%0 u2SZoBGp5Q&sd ^rZ'zGiNL;4(Zx k }8G8vm(Z(F/ Bo*Y. Py`J~(/uWWzJsGk>Y~&eHިBzw0F4Z`gTu,׾Oyl8i/Qǡ ߔbͅ-FX aާ-JpWi%M928;rȤ2X|pvk5ܣl=v%mLk q҇!8`(m )5-梜v];?0l;§ao*#g}_$RPxAU[؎'y6Vt@l*('2FR#ӋՐM  i.A:77mswɟR}(ĺ.J@eG#_P[oo%8NoZ>6ېaSyDwqVq*HYU:u%~(,a(_S'T8 C;t Ubb-81][RY1uWFv5EWr`{] !$G('|jĶ(T0 DusK\7~uԴ}0ݳEыy)s/7rINe3[*lʍ3xZe,Ebr.x|$ [HҴYh,ЅMQ\z qOB3VFCXolGC쵟#{s4NPXW$hJfs·>ì2uu]Bu p0;MQO<9:PXyc f WT@RWRN]rT{UNnbtaBX糞v"..·L*o\%ȏSmg}k`NVM؞t)^&{:|"ەA^Z5H{y-\@Lp|R-4T755DyՓ} 8ڰiISoFCV>ÓCL`'UYϔ߲9-VM6,O(!|G#_Gz')۱eZdE.q[7RB:3s˟{8b^=㡈 &qi؈nTlwjS0pbSVmmmʉ)[! aFsc~9zl;TlGUPC> [d|zM¹'|jؙʌťHF({s {LH?d^H; @U_G]:TG:4Zc3B`aMOʜ'F8f'~]J~,X^>M R^c-?nm$Xp6h'`SzXMO&8XzVbՙtȯώ7 Jt6.*`;gVKjK%dCzZvP1@޲ 3ζ LL{̪WnƬ1ќrWA;-e|~T+v)Pݰo& ڞl*+ڧRQ[FǟgIpӫ}pݠ>H1pEml` &ù9:iTƀ?P>l4j֌8Z83@bc&F;Bs9o:^hp,fP|dWgװ`ǔg=|Ex mv6<<8\RxMQYpL ~ 8V_! E~: .ț#HT#w Mf@%3td 6[@-ȋ;,:hK>Dk5 F6(=hS)\WcqʁZ jQYJ$B'ò# 2N)*_B|O{z?e[cQY/ N 2Kk\%Zd|>!8L~>[NR|N"N ;Qei8x$QP8:SsZ :&* Q2ܓ`P4gh)[ъ4x=mM7ަ; VwGe@$Lfp/њG(FcAXh\+4ؒ41 Ԁ[)(s̊D!p6h^ysAqCޞ6[Q WlO5$n`߈Wi|j#'lm* &;orUk34l7(''=mC[&FJi&[a :S| c`VzNx 5qyH Lt;/$ϣΤ"|}a#1ȞzOKʞmǾWeu~]A]a˕1;MtBs#"|5s6*'тEd+}+z7qn vJd7hu|QwUYa{\mU /,BAjQ*{NnOt=Ũ +ibIjPgIV6,&)HPBarUagy}k[!H쒯V2pdcX~!z#Cv\L[e}7KIC6dkjNR'(Kdޟok7\%ےv=$CJ᭕]g@4*Ht7<90iÌ>o"wly\KG-2pmP"eӛ=vkddw6>Sp*I>Al/;%{:@4JZ~raК[{%dZԾ8x m%,!0$߈U~9 S"Y %J@|nPlށDvmzh[B&M4]EĿKM`*E{,F_<IzPr*& UE)qs`SQܿs,f<@~>o+}#U9[R.h fKCyO^$Jl2rǡ_ugW6nMi.:k,.W ax< c*AVXA6M;#&VDnoR .[ZF4=ձ8󮀗j+n [jnsδ2om G~iӰgf~cBd$.Iqt[gFI{\˾;PͤN.z2t@u ?t3au@#jT.uܘ'(Xy6m,z1Sy%@;xMZMky["jkVƻLv*x]`'BtoOXq1Z[lmrۗ\Ev; L3&1 ۱&$#",aPQ\(XZ͏BdGP:RjC♮Z]x˩VPiͲ/B4c),kz1?Z`4d_)8?B]2&ȷ!-^`֏FNٱJm+/Z[qjmo̙E{i@8їg:/wݞo;6R( 32vmHfLZrkiu<tRyx>MKmK k kNXAh_GH4'!|Rx`yP;= ڞӜ+hŧnGZ7NB]iGB* c&$P*J #\xM&eٓ$Blµ@[m=@埲;svP[|X tP@\xoKH TR?iE'!+QrlFC=Ң-Vp|zR=&$7Q^MT6?z_Cƈsd >9t/۴ƩJ08>X[~By^SqB_CQ[`S'OJg& ZV{[D ю@ wv+aAǤ0U7W)2?bjd = ov&V؈)]gʬ0z-oQvThj٘Vȴwkz 3?+QiR853}LnB;~]e* cjgɟOmQ OnKYcL@BNLB8댜?cIRCu]g$> Qrr*~zʶM2t1)vS$7T~L4k-JEQbBsg1s}'V9uAXEa~h;dȒWVy>B) E ˁ;B^8qȬ,I (ҊA"at2B8]Ȟ>ɤӄIBF@Pߘb`-K4jpX@ЎGQ<@wxJn(]lyo@leHwa J2Q4Ui\lHM(I.~x/S(p$sf)d|;5O2.(! D{4|c\ց# *X1U8ϭm83łUC;Ş7(l>H=C* v(ށ:T CPymBIJDžCfXn =oƪSx:)18o(P" Z kStFg+l^EoWfPDj<8kjff18$zpNEVNX0I6 V:ݑh'f@^:GXN6Jwհ` Dd]`L7}{\AKlQa Tj7mB[* u$'K*@(: +/;Y,bo9BֆB]5 m*RGKiJ@U*P~VK{Xy$t {ڰjfLb@2augp5g:0ҧt4r*шdnܧ/a%7tvOkܙ EekIv|8iTQ f/][)aMPKq7 EY_`iOlăcΠ =<&@3xoc6Nx&4=coe\U/q֝ )drls70ˆ@|B% %STV^ 3ȟ&Sqm6#7F~V!Psga+T4 (&E U/ӦI3H>Ql3 I*>8 L*׶a^YJүm=fkN [յ˨.c#r$+ vJ"CUhQʺ UL:O4-kh ^&%ڙSQ ~%"j v"yAD2 }?:K,Xw"B#77As{MN#VC ?F͆A:zFʭv}Q_ݺL 7ӛKA@ g!BsoGĕJ 4,vGn2At+O-IVB&41ˆ1|#}] d𞞋/D~2|yFz_WȟOv69/Ԟ(,,x)2MfmMO K|,z q͗cO-CW5BC?Cvm:cܿiv29x0cr79s# '@1@fH"$rUy!>8ֵ] Lࡻ[xGѼ%# W)Ub(Jv-m#t>E$RB'U~kzc"gK=gwЪ e G&UNz Ui%YjrǦUݜ\M#)Unϸ󸪚*Cv*wMLQ%N'pSrmyB:8o9wZJe_cVrgX^?a;]c!wP\dCb(S1@~-b,XoG?pP259=[$POcтr[鄰SmBn-U!EK{fz!ә_ЄE |C"wlt1;5mRnh{:K|*8e\+t\u5$l\ 9X-c}" OZj#ϊ){p-{C,b|ώRk98!&I eisw `9;J Q+4eRH`%W]fKF BDQq ( 14Л$Exڍ^ $6DOϿm(TNP5MWr=7RD{fDvuV 8J/Զ.}k5S_g# AsmNL/fU6y*zT0/qLqFEB3&IgvwzcI x\RT3ugyz)ħ'' lxeEi%e\bxǎ4i`ʠq`am}=|1&mK,u vҳ #! GmY {$6ϾvS̩k V6p>$:v._cGɈA;;QoEjg *@b]my`O1 YsW$~~]%J`HQG3NN@׭D{F%=5"E-!a\O'%ft}͌Vq&@_]-RE@KLU{P+d,M `Het9D]^ߣ?`UDA""$`0!GS-MvaYwr%U$ 8)_O?0F62\o{yf7X4{8wt>rt0j@*1$@iL.Eȡ-Cኈ[ct(}T: )G%B7^'!Dǚy6ub91 ̱@\4*40#PP{'5 tFQ kLtT鍎] Fe6r g Z5L=[SWBJK@&q>}1 |j%tDPpU ms {z4!M/(E_EF|BELb=~rl^%NVBݓ5ÝV1zfB*eikAU.^OK10bp19OI^sz{O zykPPjY=MCH$C*.-r:Idz3?`˟!RU6yh=wHlxʑxkawx[PxѨ;*ݎbb.asH`[$jK(W@R~'Cn|!` W f{#_Wh>1 0bz>!$anJqp+<~-l%pܶgPPV^{:ZoM«Omx2 PZO8YeHӁG(P [6Fz99LJ+*cا=hOBKJTjJ铟@17cO.`eo{~$%45I>׆C(5!:*ZcMP|{$`bIIԘ <H4H;>n^Qmեyj6TvIkw<9ɨb]!OC;HW 1Yħym'Sg5vJ aF?PX_6s s۱,8}a齆]`0{22:QM5b5mӢ ݟoP_͌g4h撸(VpKXJrmuݡŚf}ɷ ]]jB5`~; 2]׎'?.qs{evNd:XEHi6E9k[7M_T#>ֶ?2eʊ+\|Pe6-dT}G~ԒoaZ4؉1i6]E3 ϧ;}=#d&K$Αֵ%/D00!n㭅ɢ= ^-?zEJ1fP˸Kg-3Kb{/f+/g!U$70}{7-D0&' Ҕy=2ٳ CpEژ6|DjoQ%95)"= +2S=' Ӗ%54cCntъzR w!Yu0xFǝ>doh佼O#,F*̧n$J gR%*X7=4~geɃNOн}Xe (COO?HnFM;Ok\7!W!PHONQxh 8Be;hL(j5D݄ ~{ы(]C}XgD 8euI@asHt+:|?35J`4fd}|鵮l|Q9(c6 x/RAtliL =$?$-E7˯vYg:Es2^G?tR]ܶPxL16kBwHI!K]A34ɅtLEzJbO]hȖ߼s};=o %1&cvTkE%WYzy5HƪFfT1Oh".y{#TEb!^lxgO{!%y쯚 ގܱYgY(^Β&n2JCC漉~ Nď"m?ڽ#Qюlu6EH/1p*KI('pѳ0gk< w1l?Bfg8VY7z4MT8Ymyfb(iՃI-*lD'CMݡC @bO-͖R12>mk,T1P д~cC?zz7>x-BD%%|Ys̪sD 6\ -v?Dn^JRWʸ<ɯK^hF=nBQcz+DObZ?0|ۑqkӉ5쏃zvQ^`RgJ}pBʏ[ ~|\as-̣tG})ޅ UM#e(T/)bZUUn(rگ٫fK.=qKF*_R\c SS|G'p_ZN>b@Zj$b\ 5x3|Kpseˀc9\/*tz1~C| t2J>E+3'!JYrN^>uJ-\^q;@&m9^f)̘!rA?/V_; f_uUxԡ,by`-(]0l+p~g2!1Va?e=?'|.\B4< D#2l~f,wH=*F[ZVQZp^0n&rRgx`|۸^#qR YP>gcfxwN(gEGd.%|q̅/u4pJyxJ3t~z}$_ET>٬yO` K?m<L Ѷ͑+^pd_^AfWV2q@np)PxZ>3qsAV\9R<+[o" ~@~wxONm=w#CjbqA~ET6X9FD E|12G6ǘ=kqߏ;zzyn/ h1&bKRKf,=K$ꞳSpkکЊox,;JHn=!]ȓ&}p?%DCW|EDnODiuD3ڻ褫i\P_ۗ6Q+ilh7:l/71d@}Hh" |xIpLN`Go)(" 0UUG뫬j"?g` #Uu?y!렴t<dz [4"1kƠYfvHT("k/a:4 ҍ5ÚKh$]>=KNut|n*Sr[`TLI3kҲ{14ꖴ-2Y!׽ F]NHbQ5B[io'A+?6UQBW49w;yHlxdOW ׉M]Vc~~i'Mi&iGA ƞH3IkfDpml!WuرA?5*)&&ёUh:9lVTTd엡t9} $Q L" ꃰϩ K(w5sH閄?}UJkBj͝OБՙl"aE"eFQtV9("i$E?&'vZ`DbŧtbryEdÃbJ>;aM>>U^ٝ^4ՈNSQR;6^Uџ{" NEnWP_?Daa+qkH@LiPDY$,q'3VΫyV57 <])(ᰋ`fj9fNpǼ š(l H~1>K,Z!ǟi;mi/ HH&ohgCUiv߼'[BD%G7$8f8ltf_SU5k"Y0*dZa59^Eq~j;S?{5&8| ّ;DPqsXN ,|yHf7>s|gdhma/]42/(JU86xCHǣE,:ov)¹ )Wks+X6#F;:|EHW0-C'HTIY(5K~1DǺ&PӃHZu0%酆XK<_q ',J~Y9wmD?`W0̡PgfMhd;wG6ͯ,d'[qj6TVCKK2NdNLt,hk])o_SCa]So<| sgwϛXN?.:]#3# iMd(/{I9~OiRcX0Nks.Et9IpR?r"Ժ^P%<`,7ݹ$eK.)n߮#  ?B;e5jQ} l{!Epjp4?9jG5,3HNDR<>8I+<cr1K2QF{{s iM;PͿ"G;s5spi WP0 M.KEsV4FA vu F%8nexZ+q*]2KްI0(vc xUa.тkq[|'Kɿӷ{K%/T囷m[w ų& "bZNL_ý6k-V 5/ro7zַеGUӾ\Nc@|7TPSy|]G? 2Dʩ`Tms*4#clyDƃN~vj$@!L 3ȳ8;[nL7?b(n6X?0w3J6Q1F!~N!&Pb2} 4\l0X)19rxkW q8ɤks ~fy`/"M^ i2KE'"Y"h?,W5Wc^#&Ձ c!XshVȞZ)fŢMoyMhjY8 5; 4j D8ȴ:DUy;Ɨ~(+k9 ):JQˋ/:()tQIahSrŞQ'hаnT_tqZimrBS&Iy\3ʶ*#-2RxYB1W!h>p!B!Q d`>έ>kk|޾+ϼE&ܛ<)@]\Ia3H6;u>c} SY$cA>3 30n`[H5auUt/W;//_bk&qby{-{.j\qy|4Edl崒;c-!2wo_V$AGZc% ȀM3 Q#%)[4`H֏,ܟp'oaoid iBEW_@/+fƜW ?-EͿ0OPIoYօ<BcFBFyaO(Jt&}ƈDư  G<{YO/s(2m|#Rp`1b_Giʑxq^\^N)pf}Ehr_OP9B/eȯqm1WgxA ]^@RWz}]m(EwȮ3o\ߖUiq1lZoн%9ȇɢФi_̗>._خƛ5g^[oYASEL+&M$N cx/'0Ce(CzE>x9>rP0Nl+t.tqӧ^Kѕ{MLbw"xsUw6_sgM Ѫ$LbD# tR΄<Cc窓E)#At؁9J+,}X8P@=b+aN\S]bav7|d G\ے|M2#~} o;3{*0n~ߪIjS#)3nb?|ȉp.![ˁo͠rtv- o= +%dgDGɥE iݎAmL6X>EλZ3ޕtBIu'<-R͜0?=;攭<*%V@rB !Qby6'3-pq6yxc~/T$M@0eCR*h8M]c;ec-}Peh?Py"l0wJqW("$=)qo;(& _eVPWyši\'~FwDF+EB-;F_&r)"hQ|"j ED< `wD)?uµPݬ+ Ӿ_~4 75yF@KF}<@Xo6x,|7W(,˧7Sz$5C Fo6m\̉ u>P1䒶LwL.\g J MD}l,|LV|W*;{#&2c n_tX4 F /mu5 1p|Dl)&菵'=_`}[&G*,a-jO߹&P_4QX*{V ݯ5[:Gb$f~]yBV3l#AAsġ=4V*`y S~:X=o>(b,ج~ج֯oPC;jXtWsΏy 0[ JhWٗxkלAqz~Aw{e회f ڍ2-3Fԙ&eQ^x8oQMO +^﷒]]@YMq{~΁Iիam&C V Bl"tܼBCm7XTJ:ᮂZ}`5UG.^yLآeAAJ\l36Ypwf;'x= Co*b=I88Mi?$XYOʡ ΈMx kX(cf1!,bZ4%pX <8z4m,RkK z@&cϝHN)C]%(?w*#+wnԆ%.0-+ ҿ)}jB\U Sgz1 xuy|#ٸ`T~u5|h41>bgN5:N܄ ASe7OKuf"u'0Ev#[ g:eU(`NEy_kz0Ak8y?QwqQ3SM1PF"*h8BJD[ R^Г2&;28 \Q7![m4 0 h> 7X~Y`Qy=mK AZݮXiR*Xu,Xd? "FIO7Z{iiL3TBfsrB'Ner!;QG;D/xB87i|_T(X |kkpgfߚ78Rr.{A:R+ On]"j206@(0s۫%+4z $ J"xJJZ2F9k4j)` [<'(aVzȒp\H[,q+Bz53=/9nZE,b.2t{ʪ!T3}䄍 3-0 !^)!]GR/S_! Zn` Vu~ ߳ujmr]QQmԝ-$vX\-HI/[a\vI`йQHQ1Tis{Rҏmxou ǐASQmί|j5N籛r0%@#ю(>ZDi85[y t+t e$x*@?'kN BFTEp# V d1=Fw E`ARRV8jҚ$IȣQR+  ]`WpfW>_wtA${ei}Lp$~0m5spyur9%͌gcŗiM˄fxg'q@碸vA\Й~.apFstqT"0g (N)c|1K3pr%ϼ*53nW4e҂mz;Jf=lCpE7^٢{I!Y ]o ~@MDgz\ID zAm)܋,ൔdLݶnA}"PmF@8bJǽSX|.^ͥzfn)$t{yi#s3S-}Nɓ[TX|4A pk08,>FZ;uZЭ龥%3DF}y_C2q;L{ܦO@GRPgSGܔdFg,c[+f?LgرlYK;x۾Ux\:Aw޿hi:Tb r˕?FIv*ʓKCqJ(n_e/%FJjצb=f&a?+2RfY0uZo/FJ/zIm+/Su ޞ)Ur40n Υ3p}o xb}Gvb-'x&48X"o]ß't.wF ^[>txUx6%$xu=3 a&MZ9݊.el5p[zbbDH GlQz׫z XOdȢš`Du=Ma6XvgF w`)//!>CG&l2\G!erdz EtRJq/?B.{=2Gk? "as)sUOgÌUP! ¾YETQ! DQqxO,#P #<e6T耏}H5%s[QV̤3nΰNQqfwY¦>e˃3j4Sa90ރҝȽjc(tcT;avIgkp 7u>J@P;*}X|8sDH} (^'+/u*Y ^.sWY;ppr6$ C; ֪v7radKfxO8ryra:Xl=0[FS0VO#p]M|c [#6 h; _DDv9NaǟxKvMB.MELdv8/+HàDO=k 6<č/d&[]sO!Nes%#$ՠPQ3&$pIhQkL+4i:_/?sk_co\VsخYFA_vX˘3 T]Y'BMډ^AE{͟Wv'DFC2=_6ܹ~W#nʚG]e1G\*W=a #嫥{*Ey:aBR#1i4NAwi )LsC"g#s.31dֆI}QRs+w˓'BY:/8ʉ\` VKH@TQ?e켐]{*"7L-/Hr ďE<ʘpL;&;zPc" v=Z y;ZKa%erH>>mkq$-ݍ[LHN)|QiOTD _yp_`<,!-ڋYR69 *b[;82t&{=6OBp@Kcl8θ,Cfبj,by ._X<:xLOTJ⨔BCY?z5M' B2S6@Ivx$!f*ofDž诰F\7.uZS[:ԄlGuU$GK,O9 ; =Fk5n'tD ҅5GzK4\4ֶȟ;*IgIgqH -8Vxz] (ޖRnZ-g!5tLS~CM'EŲ֜QRS x1kiQpwгC(>T^1=5.#z:G2(s{F[*Rt\fJWħv#hpڀ=D*+$e4b@UZ Ѓu+PAe GUI0b9x^K[K¤XdatuoN_oRw_zTdч4W-W"rO~y71w/Sg?~OPjꅅ5ɣ5xa2w,j9QcNSj:>_P̻oSDrL?1 [¤݃Uśie! *? vٳ)4n3_{[bp'N6Tc6=k烵Ÿ FW {g6qs&Kى{ zd6 |U*=LLPĄd Gg^0nV(8B!Td@{o MdtS">x%h7{(yP+ w+ Vㆼ֜GE!ƆI|~8\2XvdC M=7n@DP m#E Q%?dnQbFZM"Srl{y&Ѻ4>#u<:Ej{itO] HB'Q4}hz/%!FV`H#C>vc`6wKc@\< l |ek@DsZno|zu[NoUb]ġh77%x4慥ZIvÍ.)k-ج ˇ{;3 KѾ>.ҵ9Q{30v/YG Ro~O2–=87_ʯz+OL/bY]`؊DCj2ƶߎUtnZ+¢<Mj&_^Ľ;gCE<ݡ*g j*1\C%!!; FMAzjQd 'l^k Xv~.BҤ PG:~c\zvEvI_\ŕ$VyڥPo[yHeW I'Q2i$<_i>PLfz0sӅrS Uђ;w?ҡ(I\1rI6x :5wtpe @aQ&B=(Dh:?qQ1TQ_.Ji"vQZ۫'Qbl􋶹)TIxR.z \ERl`>3{ԿcUkq7f \3?P/=>zI)fk ڈ 9%5ENig@,`T\s/{H0g JVcjС%fIwǵ6X\o C;L]6& &m٣rBC-;kL_6ߦWcGՇN˺"& : ~|s0_;Qom  q3;j,9mw_H%2ЭvBw3׌n Ŋ i7F^vPРTVfr<}w@U z4)yhPmKٱ,?>[!ɴ%mu*q 2'b#k5x*ٕin*zoa HӾs8=~pC8o D4dzG 7rByHv)VΡwtH>3 qe]Wi ; *Gtgr2D>=שRP8xre ^z(8ze"IV:ԍ9hϦm<@Uݷ%BZ(/rX6 nYXБP  m;Ђ^C79"4^U^KU^B^n2+G| QKiwcd Zf~@2p`րGc~ºJsG% QE^>HHc+`Ά ZX!V% 9%4rlIY^uV-f+8M@sn=*3 Q~1W 2Aylt}ѧ2SRvvIهO1]QR@S!-ll[i䏗.?`5[~ˆUyLm9@FV :'.6B)4՚V;DA]S°b~Yf4&(^VZG=қЀ}]Y*=븲$HyV :J}S!HoBlɰLlP틐TU?^ ´B-}X rw5 S7&;! ;=)jP,yLyS+C;(ǜ.Q]ijTM ʘ$pZ ~̸RS%LM(`-pmHDrr k;47Z5)%"ڢ6F*A }`5\zpD>Fs(dꉷmӊ@ONe,|N)W YL\-q]IL\S1 KO.puAb'P+^)X$v/_҂dfRӪJL7P"gq򼘜7Sc9/vza'n vpxtٰ'R{ߕpF!~ZFaty3aSD >t(ָ#A(wx5]k]dAl ȤDQ#[=}M6H62+n.ƉA0xn{ݺTzaDe_)k7>RVmJY-jֻ*. Y;uc({P$|*m%^ЭBbrX]KDL «# &01D 7j=mWK^]i0LЁeH[EI\Q ,χ!DoBoDk/S ۀ{ȎYy@0Z=0mc*]Xb*RhxΒ肘mܤZrU262AXXq.i2An@ &n+kBs.C.=K1+eқQw o@ӒqlbcpZt4>>|F>zEAR&']g!$m$ڗ07IzV59tKƯP cKf̢eR\>^;R@L1(򆱐R)ѭ>9J֑Bݟ?)͊)=urbٿOQ1ľgDi/޳r]VH<3SP+`G, vʲg p Xu!y5AHzsAMYvsBxiwS:[q]n3φp}@S7#!'˴wLfT{͔H &]= 3OFqA1Kk F$Omlf<7zA8PG3AtX)]&әnNȰCKǪ*J&\܊X8P(lVΕ=A=5ă$ ([**.q07kГ~ ]:9uysZe( Ê س$3rш||BT>ްErbjĿNjN2mZB@ ;82w6b\Vb0D$7:56NzTد:ZRG,'fE::gtBSyj |BxExaSAlMV}#16w]eߴA*p7.ؕUf^!5NPsuIl;WkU:qY꜖~DX} 0vҢ{T'm}-;12QU;)gtc")s*lH!Jڤȳ NASk -`D.CT8m؞ՄIz/=\)Yًp!nl@Qq`ZqJ-fBz4nTI6UX)`fKd/^¦*@ 9 d hbJ`/gbClC"3K Gm\֟r tPʭ&bYK2Qx/Rj;PV%*A~RGK LhI}"5_3٭bw"o% -}|YZ'#rʗAǝGV5[T&6x)JSXRU#&8>ǔ) ~j'[RZcbΰY{#ȑx:jBO-SJWw7͊Ar-03cU"ٗ7wyznF_KO.&8JwKE2M&mRFpMSE]O C9ڬ0i{25#%1Ȉ뿸n Ƃ5SJ>P-*bK0!nA&h^Mtīl~'[Oo}-}C_eLDFO޼W۫ Պlܾ$a> :guv߄І6'}y|?mg˛õ#Ur2kIJ 79 \<\2^9s}ܺMë́]QrۉߗBUQݘSu!ɡ8K"N4mGMkMukגV"ЪQEbDj 4 l${ ">FEyO<<1㤟`F&WԲ~p\) CЁ~_~=dퟋq0 =)p/z?^ud9y/'g >GMED0>cu,IayӉ7͝ =mmjt8/~#o'w\.;\wj| y<iѨcE`C\5!7$"@&*P̀Niʕ! So!u"qQ ($837it`{.Y^h5e7Ig{u7ƒu;vc74A鶿X ,W="vդeX\[M=*p.m*$ =?胿D%^xcHCnnr/`8\;\~g2M&7lT} c-NfL) nO-n'4CRf\OJ JauA %AIpO@ WL QfEh^fdϙoiG@€ sK0t7Riy4y#GL>S$:(ͼ`Ed0t&F` \O+v}S-Q`_Dг0pTOs}ĴߝGqr$ 1/E{q uki7(U#@N p..z?l'K1A]dXv׌F_8=x .>*Or:TF 'c +; @C8a! 4'̑WͶ)E◓|VD!ۻf\Jʩ $IS6$MRX]`)H[uԄSFg)^Z4Ҙ~ LppJF1Nϲނ)Tqh\ `V{Ĉ- 8  l=:mrĿFhHۭXh"#|~ Ky<,58(1$GThө\) /LS*A`Rn|Q4Q2rGËڕx,adG/oQŎ:U*r/K)sۮAmpױIyr6Ninf[UN|j .~go Yq 1bpʭpRuN0jG2Slm )I J,"0BI!tLK' #F'ʌ$m]??-"Z<ou;sICd&w,1wbSNROݖdSkRnkq^?3) bv#?@N1[)$x Yߴ3L|ĔyU/T8I}1]8꾤ЛVbɫ%ežتF._c ω!vh;3 >HE4Ǐ-9W #edͰ(գ9(u~:ȴ~ L,O 9TuGF;k2#tZq` (4W{!DNK31nm vYtF,Y[3CRD~\b&rG~t @m]5z{<J:7 *B۱zO,eIT'ܷ2۫tUp WUo6E? W[YYģUg>hIB~8yuiݙ r|+*e~l-iɝQ2qPVQ6 6mg˩yڷkm. Ti Bec97_m(!qt@=([m$C"íBz6 aS/T'mTe4,_/'ulTRh=DHh0hbuQruCٝhatJc9^ET,_ES&MR-}`3|mR{bRN]e>a\u/-W}!9?8ѐGd*aURy{m݂ʆ;h|ӣy%LR }ƨZ̷[au4RI|R|@6:KSଷnBޢ:#iגe><$A>pul ]hdb]ieA aT@CҼÏvDA7%J1U|-*{?I[ӣàY+Ѓ-qo*eR}B&;^QE+*jNEñ1lc4ab˧g|/] eViu$q9KS,VYvI.VcV9CMJujkƄnvpbJz5Y_,M)J6Έj~9L &+T,xȫM s&qe*W-~"FR -cA֢,ꉉ-dy]v'C oI?/gTtaGՃJXjk,i9Bd8WB܏Ж _<Պ͆}w㶴3' Lwj ؤɢ3aiSEb~WKWs`lʴ}.sw5&i- Ē6J.YT q*7?75>.y!nr(f)= BY3>t(aCג7fNՀO|n;Xȕuy(tY[Ŝ 4bX{/ Mދ<7jcZϰ,@dkЫŰ~8:<9 KlR̀G09hXIjf~Bm57KMtWxݧ2y_"S1'ƱV+޽M;U^M]= :ӭFq(0}̟Y1^^f7b 7@}AfY8tP]LoeCidd>}NT AR[;$!6[X8ʺˬ؎i$#3Cln% ak#)heg5%U#':M~d os'2vLQ[:lhZUL JHcϩm4$q$Jk6S0uX1? [@t 0ϳJ`pR˼5_=ʃ5^WK!b-~DBerBzny͈Bz 7l:{lWnVͮ7ݔE䄁 ҋܜ`퉻:|]hPzf0dXykwL 6}[e+=3f>D| #.v! GZMtz>% ' 6Ua׼YiE2B ?Q$~l*_65d|,b*gg+u +n\c\8-ncdž=L=7rM}0!TAuHPERѕjȐ%ʑc Y$:5 gPuiݯw'ikCƶP+]?1pr>^͉Ē={kL Jn^ob:|S"lu&&HM/&JCL?\>;]IB)#D7[M8q~-dRUR+s:w*z(zlJCQ^нJyٶݮ38AyCHq [vKmƏ`7GD(E2U]&?,ґogҫ@N<3_PکܞnFXrK,99@0zFK[?U>ـ~aŲhѯxLE0~}e"DU=K7ЩV3ьn[R[Ө xSTR~n l@.~!/.^Z 嗻10R?-3$Vn<µ 5izlF`j6[ y -[oQۮ3B&yMv:!YG[&+c T>Gd>Ru ;$8{P).?]@2>L> ,N ';GrX$jyw+_ͭt5>>iƟ[8Ec1`/U1 e8ApgњiO(2[҄ VZoEWdV8+[iL>J3pdZ^XtlqPeּNy,r=ZѐK{a^l4%$\v]L^\GuAgif wSKNtm(?s!( mHGj[Y؊ sF90X[0tmZf^TR^29 h)c> Ĕ$jC@gX9w:`20|Ul]m?<+Suݧdg*:wpM`8}E Et, clIwM4-@s&@#)#Cu3jo *+~# Y#w'UKr2ӻSdNJNwZl|iFAp y+ X,Y$‘a7zh=#polQGB?KUTsiiy1tlq5{VnK_K-L^z6ZW512ĺ:i>>{|%6xP &cGi*#]!O,mYT J׎"1•"CL" *W,0[ngZ$d۱īϲ.|iH{u3 "ug0A%\6y8 +qi*#"ËIHAi21y_u? 7IO+I椉3۸+A]`B?Ggˉw-t7t!'rPɁ{^广O@V'`JktBk鬻OO"hVr8q87 C-n_Iٯz!m<^ђ%!fqA/l8bb8)|oce= _J9ni X*t J!R0 kihY7+$Z TuErOXs7 C|ۓz|[il2&hLBu,c.&J^9!Ց(&04&\-c0LmhO 7Jr3?4;o$%-@] 4=~Q=UAa" z)e:f5DE|6⍨ c׃i~kЪ$6 yHEo G x (s5$p]S Q4 {QHmY=9ocYkD^KFNm#-},> 9Sجśͷ`d]}uq?6R pڼOmxЫ..YGkS I-{ń=YbKߪYO/ |A=XKbA-W>uK,3}=NmdJ ZS2wS+,\Nj{lV|ۤ y[;L`,YSoȀA9MbH *'㘞z6z0"n|ć:Y}Gt 'M*ʄ(*H Z) ~,E[LkH`F`RXkAP5/T(@{N` hBf$ f0ѧ{'I-:!Mկ֦w)PVޯO\CZp8`y<ʓ{,n:j~"1g@Sd̸&۾JFl}j3E`I\}GRtna)lV=ٲ>&3ҶNuX*a-s (`i7̐B[<.bXSB3 Jfcam v4 q=>X?pxm:;<5>i[`sW Ml[C- N~*@W81%:\^!7 JPq_}ڵT{1#;X荖@Z>T4.Y;GͬAOEZ8J&T)$dY~lB1o )ЈRzL&ZjD4jHvDD0Wt$ZxAFfL_&,٣?<,aDbHcJ=9򺟠|9#k3g#B=Q+[N:JWnRadJ4p-׿U{b|@24KݏX6YrGungoOD򯙆3Cmx/R`{1G51(FrH1 PzxM=bg|FHZkDjcpu1}i*/kb@qh/ 5{L[qZV?J&N}6`ނoD/%[Ԑ@fnLTuqO1rR3QJ0< ۯLِB}7=ccV .=Y2(y0VŲP][-R54agKM&œ=wS`y9(SO_08L'/;¼| ` 0Y8Teo$B32zQLf(M^no["9T|jM̋L׳wxx~ݳjOϮ픴7?$}5H6gw~$ZyjTNeF<8}1 ֬qKj,{q1È^fXNtְ F&ĞYeAF^"((UV2@l@#8ͱy`Į5^c/^+x_M$Q=T^m96x&;4 RcPN~VzKe 0?*zmPqy-ܞ"º=fu&"nW* 0}gp%k"7|\oFΜr*R:$#糚/eh?Z BL3N lcňCİҗTknнn0 $|C1D4oa1yV.Njmyr%"\KsXk_QD)_Ƹo-zm>jLaZ^?CarNA}شxZ+Sɯk\6B}|۾&{hsPJ 2-P%i~x=P$Q{[A'HX˯>8M9mnDdJ fk԰76 XsVУr15X dxAY("90##zmK˧ҟkU}H II#K4j0=B!q㇏3t"MYqM{}˃-뮝 %*d-=~ұDuRi=t_,R2+.8@)gL>_ BWyso)qmjyeU.n.wQWVݝOuj2uf%e7RW bro&b^Gh#VDqY죢La}zWWi'6r,\_d_8d{JG3h\5Cٝnk\&=TvYB2P0s߼,~f{"½ewm}#j;Nm_ ,#<]C$O_ܤ46@$lmЊ,icQ; AhZ2 ) ;dfO~zmY6͉4D4ݵר@Nѣ"sg]{hCDPsG x>C^NV0͆|c# /?K |^oÞCl`cMCh='CBXǓJ2k:vX,biJ햙'gH'pg­M"iHa25N;KWNl( j|lv0q5Uj:,b%󃖲8E\u3.lM z>=Dv},) ob'DИ(bpmOY7[P+ߦߖERuZ?%3ĠA)MT S]evXM3N1mǑġ~OHOM f3:[FwI(ܜ"V qkb׈报.+op @ H˵IH.-&r>kTp?:YH1x^-|#s'(񚖄{h%ku_\l<a Вm1s#b ة(#/LjA\>bɩ8!ǮO -O_Kȓ1!SBHmI AGlނww`T\zFgtyaFVF,,~sJ7lV4ט?HJ"<6!b"=^It\+(?' *o_n^##B15=wgXP}nPHK2Y1XѤ TW~ +b8W,~F 2 57LAA-K]g#%=Zq~AoӉ|Yk>JH=#!_ d+nd"9ҷ PEkeiLٿ\25S*q|4Dx.JTBDa"4Y _ibEjw BfPpF?R ($9;Y{ ,>g#qxtHF *΂IOa`b W45:2jq ܯ-;td_1?\D7/r[&~xҖ74"G9#]5PW\,s9RoQd2DOQE7[p% %gMpɔi'80_޹w͘O?MHvpg% Irb|*!)LWsۑ<&7r1º;WY*E)6 RXW! H9z{1n 1^6ct :&E3So%p-z]UsQG`yS]s(=7 ٕV~>=`|50 G+Ԟk*rsw1Jc*ɒP i v+(`:=rMulh7#TdXW-TnK\^`vDmLubiRriE=;5t:glN$V8N: ()-?;!슒0Tne t2 gW=h`j(F4_;Ė/izsnwq]]Yي|0ul&srƣ,iLu;To1caEw2S= 1ah<U͗s$3Wly{q[wM>hv?Z+lv|QLsĖ`7ʼU?p!~-NZx5E3 ܢ&4 (*3]~ڠץ@y2@~%R!b"f`mV?'^*SI%U\tyi #X8 |dYUe$ZAx7'>]9?25b 3u(֎uTkr`Au-l3K|;_}*<4mET ; Bʆ7tsEG5=5P JgAIk܆SSX-Fi.8&{Dwh~q6 h,k4\8xEh 5|bᄻ0B.(3S+2 /u+ lls }Efk_n?n_|2)y c']ynEvM{M'@gWoz-K}K&ӏ} .ⶰ8 `eT,?6|)+f}fд*;f0yXңCE];#}m7ʿ\[{ԛ u-8|{]!(wdrLJ5yKѱf#=$<@&!aS#fg!pvHd1OIT _5X7ϞkNRx~,0o4qq,%KpbݎJc+PU*8}w ZTkZ/RJovAhh+-c}މ4BR0LMW^:: $gBݰ$a\% 4ɜQ\fWfⷘol`>T4"+bP5~WO+(b`/3YX`xzOq:˗ L%z9t_V#yan_ELBbf"wqa+5J/Γ-ժ;.ޜEk8i ̝GO/cOO"sNh$t ͵Uu'[B_JXW`G彡2Q{a2(0_M:h1~p`?/Y'*.-F|PBVo/8t:\7 8ذZ:wDE}ߚʾߗB~KmjV=D `} @ۆ%CPar=.5u+lbZn}z+df 3e ȡ䏸_ Xѻ%l$T>?SpuʧhOyo(Li.{:[}k䵜^'loJ*~NP71WFY -PT?>< O ou1VkuPmB~F"Vwu>1-2u 7z]10"{Uʽ6EjCӛTꘅq,7nhloraV# MW4Ѽ`@L ]%g7ʪ%f). [;[K@ͪ2X"9g qin1p !v@+T׾rvUvK`<e4 0蟘 vBM?C |0y787keX sM ]Q`h́Q#HI fy^,ud]T>7,;.ݞTݪW1.&2žh]bςqû V$ Ƽa4=8QIvӫ?vU~Fw1I%LUddM+wpdR~M5IJCEAV)_tmc#sթS`edA6tZ*cJiVvl6#RB^6Kė(a faޣI+Q0E;$SVS0Z{Ϡxi5hԼR!PtPJk 05 &R]b]iR%&:ϲ@*fadpϳS`5#vP09ECAWةcJҙ/ss#5BHWSbCú [fJ_R)h0hBa՝o}a덐Ͽ)d6 Zse&c/od|QX.>K )֫@,|vq_4TlHDFSD̷en38':veTx=~r_#d41"Ðp=mb49#}pδdBtY"\ o!=(ue5}òg)qӸբ(XZ= [G"\}d:t% !z#(Rl+ΥZu3+daf>q0w& Vg0HWvepM]Q*q&RK[jnnA\9 `2ic`=tUa! K;2leg_ FVzCS+ޓoQ27Tz#tpV>| N9H}$w%#Â*""~|ݖq,ؐ/8Js?,$?&[?)V 7}tIE 8uA:Uy7<"HqR8LYy^V*]cfl;Y~=BV!x>3@PO:kӷhHng V+aU0\ d&.Q$^Q}tjw!>h\1-Y|涁1eTcI?\6-pmkS tWO*sLE5N]/TUX\=H9Fa/ǎ"uf.Ҧ fηvz"*8wa6NmXNCUܿB8R }^ BMxжHoaNZf2D./|AwP_`F`0(qv2/kv GK ]ޅ颔r .Kϧ]'j]`.KSݭL5a׎%l(kZUgɶ8;%`(8Õ*#~tJ"o'lt%S2o@>Y"aLb Vmy}삮5o+ te;0 V芞 kL þoL!Ko!'ݨ$Ju|awLts 'ݡF Tk6[_8R6+}d| bߩ84팾ْLsw"ZV}QŲ#)\A gYhɶ/́3rѝ۔{0YR_|OXmT2-YyAC@ 3헮ÞD |983ILKh׃bN `FיSθ65/2UiUqLlB./0D!fJb.gc _=Yo_1 g*?(͐a }c{Yve^lp:$SJ}_vZ6p$:v!"iϒ6>F\14맟gB WX;=fD`Zq"nRvLزb׼jS'ܧ.vg]Jqrb/gCG i_RѱHi*bNh_Zzʴ{f"?DQI(x!:wwG<8oT%'3D{\)FmgA{moL$LVqm+>SDǐv nӂ+ےN?JE Wsg.dhUݸ`1wHᶪW{J}#6yzpGU{ckPuXB#JWj=f"g.mZTnnێ|xE @q.NE(&aC7=}Vt)̉>o0"<;*b^:ka ŭ90\u9r^` ,^5}CFӔ'P^.0Xa-=Zp3Gk7aKlYw ձg2[f;,. y+cSΡ*KfrBWA'IAhhj`ܷ37,OZ W¬ LU)J|5WY\n++^s"A9/ hXkT s+}=5`0^|?8 H֑ iYwɑ1h?> vˏ'z31 E_4N9=wi$ωt:`*ư|2ˉ!'ܯ_,IqJ2s&z±B=>wVm} Yorķ^8g=WkXmcf nό#P:LvƊ\[RA u”rla-|Ssb 쉵*FI5, @ 'guzKۃ7[e4JD_D!2o,7<e(< C {",++c/Jh_EN7@XdQ#4n+Z_nvI{%=܊H$Vx ghAe 0VkEVO THsZ"FZ1}N/恛ױDހEhK C}ީ4ޜFRC/Vj 8o^X1J}.6"<\v-^v` s*4)xf| ݫ&n=ZSdmEm("8㳌u}&WV eIz c|ސzO*3|jN;֬hGWbmֿ2us zsGՀU, }7=߻h\h±<`X'ӚkD:o<fEU3%x҈Un٘rLX-ރoKz71>ialcAt{QX+Q5ɚUݳ2 l$Dp LeXfA0jB%gw r}[85l3F*ާ'@ ]] QNy/vZpgc(J :ߣe[*g?ձ,~kLol#n1`(vԱF:Wm#. r@[J5ۭb~p2}2{X8}IiB*M7A_Z3Qڵ ^lӂTece[0 {yG ^DrR6LyעF)_DFi" qv_9.($\ cL^nSJb.f7n-^ A,!`~VA\0WJw|7C8c.Hd UcSR`+ű(F(qAF-Vx ȑ_9/5 =Yl E2߄ ry౯(جjfjwy֏u(xZ*aGd\$ʊ-:"G>bs8\3FQ^2kDu `9plh(i[O?,7RK|@CXsXNJF!@L6F0KﶈGe fѹxW|lr*ua;g1R3Wt@/0)T`ٌp˹%gtǮ AxQ*J0+ oeJ ^@nRKC<D1T ;Ĥ,7G6^HPWPq  6Hf$T(#ښFKi}FbZbZP%4uy&6YذVupR-;"f eJQa2 ) H8V-K4qjf_/hO? ]br}%4U8栢[czD?hJ i2Y+%oVyy,)XF 4}dqƸ8#%QHO@Xָrʦ*b|dOʍAƁd,=ϻTH!!C?pXx$ e([3-JK޶̝QޟaU4ҩʫWI)tRq u !F?[ȽTc-ZSvj6o'l\}hƾѣBTn+ɫEVb (W٦+8!VV$E IƅlTgB$]$h04S30S)O*J6?DN?|yF9!uØd'9M9]c#gUXϗKV>Ek( C*U֭b8?5M ͫ7zIxO ƽVl j=fy{Kp/ڼ350Do z;x$V> uEm~p₵1ȹiSN82 lf?a8sICy4&Ue4Y2nqR ]L!Q*4s]I80$i{AXD5H}Z⭒Z4?e&Η03Ʋ /=TuصOCnHp]- ]N4iBHt6T')!rHI~+ i箩BQH{f l==ͯ7q^6ぽ +hDq O8GQlAFv<Y,P5uq*g?f͝C~sHz~  Aw,eJmxEN+ը\4ts҂p%CWﵳ(? 8 L* T.ѫ>Xp ۩o,bnW ˆw!Cq!&r*'=g{sÕ_ `BxpܿG԰ l/+[x`r1)|.9d81ae`zE'@ͨIt<\h8Y 0́O9'fŬ,^BegJt/ϩ {jӆWǴ}hkp[kf0s}r-SghD"a@nأ*FSDžU5S_rZ(L壭K7s-2 ǠӉ!X0I[v_ػ=f( B?a7 :I[I c$.r+9Cu@GKx<.hٞGK kd.Me#|܌yZTUP4ãW;F5$8wYrpD®t<ɽXo)vW؞lA&UY㺊鼎؎ |:GJ\|Jj13KdB7kRB?u_d٭|RިqAWkwҋ7T]5@P7vJrEN823.hR8 { +e-5'YX K_GVWRp7oܔ}"#z~J{dI/CytpiF1^rE|n $ ^}[zXTKBci\ SP  VLzҴa#&e3BH _odn6dt SYԡWzf=h%RJﶿ1KC (K76`,Sԟ)Ynnf= c}V3s3~(')$Rror8d֊4ԕE> C,E">CQQb*0F~$0FE`Z[aAc}hk^pXł6F:ƽ󔨨e9.ixBHdi$\Lцe幥jk5^Ż^7>Yge_&Ktr5Mima ACs"F{neXK.x35s[ۛ ?侵r91 aɬ.]m'CZorkW`}~mI KP9L—<|~AȚc( 722@1xos豠+.C&u >Kr DG{CBR.ri aNÖfC\'^o-!ěX!.c4jşT+ګ},Yߜ%ʲFFȓb/ bЊH` ۷X"_t$43=2"}Tkj=`?ESUaӼ Ig]{|UdS U~4F &d}xt&H.Q60NQvdf0[jH [Χ>2| [oDžPwdy. ZÅ `9a&;|;QfeաW7%ݒcLsAaPA(gJ;8{C{ElP -{(! V̺~{o;ˌvbvc "~}mNxP+/ӹs BVyxnukњxsU_9Ytcjzi鄩[=qivthɧ]ms E٠IR9?DaLff ?v-4L߿q2Y!$m|Xw@U)]eFA%{72?ֵuq-xÓ+iҔiJ<53B̄]n$ZGFI`VZ$N2":f*j*6rjTkͻOyhXOQB,;N 5L&f$r" hiO[56t`rYWRSo/+, ,,T9 7^@3̋ɳ[7Zp{%t|lRyzug@~8 z9*;.YoǞGARɜ_ǶNf|n/{}eo@s!-TWSa[:L4/k0T9 D5R9Z]XQ5j NzVPva)u_ oN@AK-R{+F\ec͌y ʟG0l'/#y?sm`Ēr %Q-rz*Ѳ;q 5GR' Gėq%E>CmNlH [_AvأHW!,NU,^9#ZӾ"B!OjL]H,jM1r"aGl\͍(&b=CJVm.7hA-fҿץcHCbwz;;D X`_A:IXAp.zQ\|˱)(\Łp::|Diäomt́͘ւOom|~neNv֪pb0|(Nn*CJc$|֋|{=>e(!%\Mr, G"?$O/5r2x^2vOsio/W&"+'>&+!__9}fvt񑨤8$BVp4/qpߴ% C1&NoYwdiBO%CT4Z[X_ {CGl`B)/9J@U(8$f/G*ȡe/hrj{.~Eɓ$o5l (-_KIl+Ih$-(Z;0@lT`XbQ$+\<LxX5-]ɃD@W jh^la{][‹_|kfuݙLԽR޺ڌ5f)iJ 5ҕP7f'3u%lwL@^"w9ҝ>s:TF|]{5xK̸2z|^ا̈ʲY3]nmԧ^7!.)tln~m@gH}QnV ߍ0\JOmcn5:S 4ywo3ɜȈ\E^v Fc <;[I:(imAxlGlp`,8c [+, ISL+7sQ/zm-ebzPziKſ 7]e>[ӆ-{KG`mO[][C^[Y2Co2Q1]#j+Oɹ6b@7@R`x~r";NY#ty^hֵ c(|Oc:MwvwyFHX4}DJى8sF\y3_SfUvf mŮa9oh>|B|/ۈZ%Ȳu4hX܊{(e)&i]6pv̠0&8gkxb5Q/>EpSj^lPa©qpmʻVfՀ'ǫ2"۬8y,YdHD`iiIfD*^`v!b`'ڋZ}ĪRqSv4D""uBFN*?%}B Z7D@M'l[ #gV^'05Jrsǻ]}mub3K;>N$  |ZPe$;\7%Q>Pq*eqh/σbLEKue\{_h^4,.w={LN#"zFHl &JbBy H.`?:V7MG.ъ=D,+-KM֧L=HȑtTl3ň$9\Tyhin̋f]zZ&:^ma߈{)bPE +Wu,ɘݶ[I6ԧm˺gO,MFlS,5/Җ`q^ "@xTZc֌y{=*)TLXnb#e-$F:<]uO|A/(/uV120ӡW_ ~ \@T&M@ַ`TҸ M"p@lrLn,P.v-9뱦|2&Z+Ǹ]x[cK']r1gJ[]8qԫw~[&2V /#\`z}dBnX)3~`7xzO}뷋\IUsx ' 5Za)]U5Ze8D*sɊh uɘKarqfJ>xA.os(Аwp%;C3dT'uv 2+i/' ه/Y+dĘ&xZGNu b4_4Y?uƙT9$)X_Uw ij?|ˆHH0[(Uͫ,jr]IMr|g[Q9~!0 V/C|J3E/LmuDdv B ?$vϋO""mJqn7=-A74Ja/c+[.y-vz_k'Q%HQi4A:KWNwGzUl^ܶ',U"|qFv^4Iįă<i`_^<;@c&a( >Q腼G2hxEk"s>B=XR>~(3yrF )\~QtbSj%l< _w"v1h#=.UoQYABo I C=Q<0 fXvY5=;|Um張Y}Ic׎CRo9=T1S9L%B0TjXfRt;<&lWX5q)N#9`[bdjfνc Ћ&J%Y>0bM !C?ĩ@n`@T @FZcGd;7ЁiUI3o"HޥoLޛ]K f@5)9?f{Wc<ƨu\x(^">PDiU< αF]̋KwUMȳI*z]ǹT#֦Pk;?T*oX1wldW*}](6("][01-zj>$J+a?Tr;I>}9cOhXUEMMmh7fLG(cK&+:ۂ%>癯k- ǿmP>vH?rliJp18oKo߅=:k9ZAZlCf~ȏ(be_S ]f]b&o0$5P5- 7\>{4. +UԖvWN):dRP.#@~9et$VTtOA4wgPd3FOrAX珐78vwJTJQ6-@פåE2ԷX9*?UWw:aotff_^6WR0OvPv1!S`W5su-Žalm} " iу"" e cnC)9 =1 &ľeAS oDc3%pw Ї>K] vC - ÑR1kMT2 ߑd^]aDźkRra dqܮeOOd}d,VMxN?g7RgVtW QIUIx8x4)!3PI3)lJ逾ٽ$fָ ~LTw <)\Ϳ93seJ}klQ3;٣sIe m7Y&0g;oգdX{zE؅ũsR*a(υ TR%80d/VɒT崖 T/_9cs_?zEx@+' f!/¸au@cqjP@({6 R `[<{ykwYQ"bHbKFozdEhNpu2LaId%2XdN0˔PAY l>.h" rX&Ϻw0lv#.)Nry&?D/텑Bq8-iP(dP6D@ɢq,NFco eYe=6袾#Z'm͇YrvV rUÉ[BKq+7qk_2^ ]եbEIoѷYy8kieIF+SS)QC)O&=*|f-qƆqXN=.X\?ns bt-,?j'Xxhk5$OiѯH?Y%4 (=[G+=81fexT)!g4m˲Yj)P>o':vN88JR>co늵d\syiW,q* ٢fQ)Z.γ@ϛVD]%ZgBjx\f2w{wjX;c#27\_e;aў\tM \;b 5rzCwra =>8m56$sL=e KԄ M`%P)^L%ND=ݐr <* |M.n :(&G#w1h+f*;^UG5I2/*p\5pjVKks r</7<T?i(O~j6׉hv5{\ܽn?>r8C(C0xlsΆ\⏪5UV̤^>Qͯ8,b> f[O@(#XYn^5:ZfnI)p(0gb:d.:C7 ?uBm 9j>i`ηgAEl\`M!wWr};Rx9SRbZ[ƨHx& 179,*Ű]՛Z ~߉ghrqRۄjX#'IUOc|j#xyX\95c^dȮ5FQ@bIӗaWU&K |6Kp)p'˝Laσm u=gkt嘸dϘA;xAak)B%S%їIm(~ԏUUb _*50=Yk3 ^pﮁx4S5 0@{9kߥO'/= Hn/*-ʨdr;E+Se}q[yH(ZO ٜ\Q3[(RF.pg tHϚKHM^niWi-ч-(uv(t pLx5| z?X[] W&[q}ݶqdA5W m MbU#Wl])}mL ZƆ[zru``84%?2Rphh[.͜K鐜כF GͥM|H@8/$1z; r@M4v!/lHk`:a\Vռ UQ855t9W9c#>A'rf6Z>Þ4lh:4޴ANSMg3YWx^rUU$d 2fbyҊ<@Pj8mIJţ7Ўİ~ qє͖W=w,Nc|k.Lo^4z~|]rvk0x4I Wk_\ǘeVeur%];q ĩ[P㰢kC)8' Lƿ֭hJ]pGHM4B,+E #+)ydeŘrP$kJS'dNW#VpKzSw*;b`!b24]yi+?&DW^Nnp{ g'z ٽJ= *sԀahCވ%%QBؒBsݗq[NܼM]f`ZG(7cVEBIo QochTNAE(iԤ^DqZz[@RSvI甲a"hHJI57ZttnCpf31p\)'XPz{`RpD汛vx#e|ɀ+Ly;qLJ~1>tcw" >+AnGЗ5 ĥwל{vɠl x>Lʔ4PZfk*?Vˊ?/~S`غe) :gShڻ̛< 8̅HtTeGD ljTw!WBc y.k:뷑lMӘ>*^ UfwwVGZƍӾ bF\>xg[֪rOQ-NXFTm`d`y~?y(ʵ55}dļib#1lLfϢ7+-AL؝+iQ2e3|7=)ěGbyӱ"V36UpҳЇ 7/8]Q`w$E#ZTzĕx7j=’*h]kq}V(8\|Ħ_ؾ[!i(%#i h+|$0׀J/֎z1kkB" 츖nO V4[bvk^W< VbD,sEȢaqF|pz'}>2Mɲj&, EnJBP~+,5P+qQHk9?vq\iUQՋxHQV9υNVb#nY9sba9Hͦ/Mr*S=9 <)E +?(JbNt_T\3.:@'m7q$:zuR~a|L,*؆Tyāɬzې;cFŸ&cX^poPBM)qLK5j 闆ɏeIk?sAҠ!X^^}St9 xMus"S Lv8WV5'eMw/K1sI[t3!lGe[*}Kb{ZZ6pQ0?wBevMQ"a5ot\DdeWM";>4NIJ8] 3Dաa8KBM䣅=≸0d#V ռHfI3AwDeO&ľ_ayᩝA5T m=^DӑϽ]YuXв uo% 4. V~a`v~[ ,0FLu?Y^ҟ {<qhElBƽ>YL`թgv-4F\vk4p2 ^R9];D؛;j!?`)FS$f-z&+d2٘9,  _ˊseafq2H2;9!U5p8nUv\0߰rUe[Xx{:AVP2͛ Jb6wݶ-.H12=v|P 8@nu VCɲ C?TǥE[,fHwTғlj J1HR3NGDS^뻽 cP׏ 5? "MYVD6 ܖ4/5"e+1ޒS Psw6dȎ_xO!|e;S[=) g]! c|+4Ml,'J9ƕKrq,kdf`7& ܯt1ģ͠e1'$oqjJ[z^Wᬲu`lz&|9z=8R)H1ZG\"կo'KUCԥߡutU]ܥ~dM;{O#с}%U!gQWW4kΞwq7$OÚIgEc)ÝIVvx`Xy.{y7 .̠}9Ħ3}aHIw;ihc49F.k?(9,/QQԿimC7Wsm'$P vIʴ D+i-T.0"6@zJ3,g9mu6GMd%ǏinTLOmbL}(qь; SUZ$|yZFi9T^pK\AH8I":Lut|_PmQh4A&7ہ쒐-FxG Ho:>C͚`x׈Lu9n?Glv;Ҕ5IO2=0o, TE<sh9l#Ls 2eSld|s0hs#= 8^B[!۞y%=H q4Pbpxi VUnJ9%{*x:tix(EH{T/!"ލa&}GLi` _U{^dیZ2k BcԖ\tI1Y=\pJcf~[8g\SH*Lm0-' VW&*XUH$^R$@soα`=p]FCDFF">:c I/6Sa82Ӹn?Dl,1!0&x+nKt6Bo GAo&ztF`#<~Y#oEvxT©Hս E3ӿ =a7nQє#1,/<14 [_J,FϊD3:Y8Q9x'*Ev64̂w(h`7 W,ڒ;V|VnKɂo Zj3|5έ\2dMPs^!ɐ@N[;.;,=zzMۊիs 4"u[C}-@?nbArH 63'vfzDzoN}\̆` dD6GپD 4/` Vą:l; TWl:@^A΄F3IhgQX *0f#t&2dB=NXg of{.뢲8\SXn"O$[rKC['M96͈Hk,KjgaD 3AЫ:AU\Q:[/|%_T#XS! r W R꯱Zmd"L~cъp{5شfZ#HD[xu5 -:@ @okIrKa :S=%$C ^ȹE -S,^ɓ3c)|O ~R(!͜i R:mV۽z9N4qK4~ kd6q!}\8S<%f\X!u׼=s!L EF5?{;"rL&v" )֒y^c N$YiPi7q`ZƮpq)CC4,^43soȜ\T )0 1,dwJI=%MrYy}WQat>[o '_T)ǵI԰īhc2e XJLl$_OdBjWDѝ]"Z4j+_}2TϻTk5* F6JFyi:v<-H 'J=amĆ W5m*W#+tT[ȃΑ{P=֮3p qh˅5Y.eDX҆!7FOJ;xL]REBd(_t8z;G[X#dzSvѐsg~ a+xs-F.02+cސ0;D+Ƚe{VVЈU4oc +~_z$pب[Ç ^wSOG[o!*$ebwn> G9Zr.SiޞQ yFkH0O7g6A~1Խ㘪vojԜػ tFAR@v+@shx-YeO~;Gz=yCc,r.eWWGOي̦x۽va)ÕQr<N\9j-"dr1YlYmEʘܒLjvxRI2KDOuNG@Ag Dbv8kJ*C5GBJhʛ|#F0" \ŗ[v"~rRx%0 DXHbyX̃osSJJߏ%cǖ dr/5,Ŕ$}D{^Qշ|. A9<ð 6oPQo恪jf)Lc:#3+(ȕHtI-tu5Ra Kan<+Pmc=DrKcrڷfMusĖiˢϕSݎ0܊3PikY .VEuY[ Q(pI$FD)]N$ټY}s1s9E/9[b%&Ap*YJc@WbMEp%rT  UNR^ ϩ#vO9E}&捍MEzfS 0`;0g"FfȬTݤӪ//F-K>:VP8 *(6u  o̾>E_~\U eZůho%M;kJ0hP/[giݤ$[+Z81 qO~צ48zAH8=7.`׌nO|̘&ij[˯7p⤖ aZ Ca- \aяc".^B I+:uN&:fkwpѪ# M (XP5@a{cb3O.VUZ 2ݳ(E;;#/(504~Uw{3O4l6tFaUպa8[U F2wth^ҀJ 7EZ+Qč*B;{v+L2iur/Ow) \| b\+z|¶jO16ɮCA%dj۰ߚ?X\HL[ӤJCإ>15L1`fdDSۿrHwAXqn_j<u7zOP,; {i)ۤ$ďLq9bK {oB|8yX~:,|\W" ү賱Sa}P D?80Ĵ2a<9dn; 1;5%djVKNjN2's 4wlY!O-7lJ肥l(,j"qGgk!\9dsx,7jS")=giLpY"kQf[Y:ʅ>BzԊ-Fig} ~-󞬋}hDi#:g8Ĵ #9~B| Bs:Ws]%ͮfZXf Cj(׊ғKL'_47}U'9c턠>Z GHv*wy:(ol{1{2n\YY')uie~vAXG`{J8inP^ÜS4ֳ ř'Yk 4ģWlӎH'祜K:wKKJ"/0v7σCeOz :T1\XDOo/*m7O& R>j*Wa B/t^c?$kÞscw1_6IZY?LtVH^\$>0g|;*}rHLJR4pzo7i̸7SO#;c _Z*Yn\z$ʺLJ_(&b:4 NB{롧2̚)2 xqȁǎy,_ YNR k\i]#-&] Lg+{Rw_WwfsA0mngԌ%06~;EvTf+'>ߡ6#HOP+JiauE#J[h֤v(ޣ90Y/ #qM1;HU#$j's%3#7'T` > |*&,b87S,qqn])o'J6^q uQ~,E PYa_LrC\78VKmvsJ<x~˭o؜F-DL:9a +#E'\?XTjvdH;&U5qjz|q);8ߝ n]k EFc8pǭ, q׈wO4:;NDJ0VJh8ǕT4!lő¬.d\Xbf_OfLL[? M< j,]T >1!ev0R[m3wDc.`l4m(L'8fMA}7 O;S91 KKw9IJZ82CT?O hb}G28쁡&M܂XI%6Dضʈ / urߗn[-o`Osf}=|=i66 `r$!PϭpZ}J L0fx$offŸx{\zuOYxn"k]\ pN5kd[?7TEBV'VlS 9[vĜcğboDЪG1|ᢨ4|cG*V7@JVLDA &~`ܩ ASqţNJ_dPE!аܳ(t-%K*'0ߑY6 *]liB iN_ O$~!>*UV׆k<k*t.k)z^W?˺]`Ғ[)]WlZ+QW9P/G}X],&33|3z uf+ c5w¨Dh_̼}p'6].W~9iUZrxO^j1DN֙Ri>MYwҷv.}j_Rk{}(+x$9{؈G,~Z涹}$Ho|,zv2^]h#4/)z34(ayyQTUl>"ּ/Nݵ4wc2D%3I0ږ4;(i&y܂. 7)!({2t(eʣ/ʔa?XbT`z-oQ1>3^w䊴Us qԎڼWu]n uFU3?$'߂9ߕeo 3F}ߒ9{e!Hn5,?65 Iߴ]rP"WmU|/NC@ e/m]7`LZ:ٹ F8c[W+ s(Qu5I ?Xhs_rakO _Y#W0TĀHH5)NZ0 =P۾OZƴm3&B;YVQ)#z P{Vnmq^Bxt~ӱib}<}(,pUKZ^/ vl#j gI&f w}"Rh?LyĔq^r>l1{)3^zaպ_{0*x¬}g*4 T?ԫ\{=1J.uVVȳs#kIQiQ?#Lj!LAsH_ېhyc%K7;;R.> EtBAr*m ]6GBZ MGp5}M\?FH-G&1u)vK){ 3`)}]bG2gNL;kkj/aiƿq ʋtcOnHpG,L^#3Dz+޴C7F hn$t]Bx7o=U (Eb[E&j8 a b{AZͰ;WvDGviIfQFA`K o̜cZ&MmL9M]Wy0c8TOQyΛ9\V &=-5w,x%@T65 T}6]SNoAQRYU '"n~i_b% ;37trhVh<JA.7%-o4.ӉRyХA&4o2=- #6->-ҏvmO:OՖʪ$&e2pgk@`8| xü41a> Rhܝ|&`n{` Q~˥:8"baGZ"y:+E,q(e:t#L]5<]d͖ |\!6d ! MA" F"xVc' 5 N!;Ss)?l#q?KPd)0NP̻ -v-v"A#EY$r|" }9@+ꢝ-_=%lzT@[@bX nlw[Lv|r7 S_׃|Cl@Q1S6 qe1nJCNFyn'ᒣ( JP3%Id&ycx$ ڟLVgX EܼKTSӗҳ9ńZՀ}ῐwH(pU$KgM+ 6̫jKFcK G[Cu̾t\Y\/ɪ #.Q"iInF23ċTfN<=<Z]eib.C&y)EgOן&1ᑾXh D] as#t>?WK.piRHaR?I#;\40B;iD 䧓E"(2 >\%c6->DMx^HP,F{vsy$/?,YxY;qc˿J \"oeA8A}㋮6r,WWI;ŃKs_9szd8f>9i7IVk|}?w`{FxDzCYC7 6hIdU6^p*b 'ev0j~y&NB= %{_\8Ad g;'TFp l oi烁@T(*$d"%qcoNódoJ'Xi68ū.B8˙:[h#Q |J#E԰|;w0gv+ ^7-9]y r./e~mByr^G5+53x[~q WA^(f` 6l((ܩ\wefw#4s*$y!]P$FwBȄ-C>Ϝ+c2rhj%! w[wƽ@XN\f~؂Tͦ%yۂ_@(/FsH3UKi bExewp>8k#5L8oI6  LMN7澌ȚTڑ 1 -HN *܋EKEArXyO"5e5Y7/;VIJ?uqowKeP2(F=GQd{'+rp%PUн<Ο'Ct/PvA{g1wob>0n\3]1 4B2{[L6L0T7&cbU&YaPz%QfwfTA)X]kdOѢɔZ+h'qV n:fveVxJ:M|99|+'-ew ;5%٫%8'',W%`h}fJŃ9)ky4~5va Ѷ wO@~Z=,jhPW6>bUii2BIyJLԩ͋ crzӳߒ,WcH0JTuTQ>HK9ujNeI6SV+^Jޝ:!ͥ3 !km]~gZxK9>6>"W`z6EWP?}]iѕj람es t)晸i񲤪CR4tބnbi=E5)uj rSi';HI 6x</)Լ裯;1+C^Tm$n..j8IexɁw^'.XY|}`IlOS'- g5SY-g)' L|Ҷb tX0.3q#v"k;M}W[6U{W PJ+†`%;9dPu|upf*ȧG0Zl H2/=%[+؁L[eJoe6?H3m&B\4Kp]1#A~mn!"F⩋ 7d7  .cM{|j@[Ǿiw~RJ.G9BN>!|x{<7(#׉v <*"sQp34TKESi4l Y Sܬ+ C,#4[6cN#[2)" 3pQ'3mVKZJjEܬs YRe\GXʯ/Z5PB))ֺqaqy[Ddm]ԋ/`!"(^RtT=~S}BܭEdGhs]!;71؜{!C+1c&3|~d^ *^pzlPbm/èǐǀ=-ICdQAZETXM gVvlHqO9.L_HJu֖':$LfB=Y5Z)⭮cH7.~0[AY+ǂ6m~Q'8% U4&*Cvrpkh&k(uT5]d;({ޞdEq|FSN#X^.'x~d')DŽ\pLUzpMУtcUsFy_RmOfÂ,A/Λӷs̿IAq~'Sp+G{LT 1O;yFTʽ9:`SLT[-3~LF͌VIGaKZ> j4I:?šM{g{eWC 5=t$AXqSVxh?:~ uLNr#V7 V;͕a|`), V7?\}~}[ifJ,>O?` 5&|plثo2&!( `w<>BOal&Ihjs RV!G_0˸f= MDUVSwyr_i9Sʫ<`zD w,imuizBmf_!p}x5Z/.}3 \0ҭ.NM_n?RXHؽ/%KX]7Ϯ\2ۉm⁃UϚL^o5ܣCat?4N^ 1*`"HʠU$* %*Jv '-–AWgBzX8s9U !zqʑmO (z&Cl&~e[tjR׷{Zx$Z>kLZ< R4'F1 02eY9El_M~/+!*)Cj" 6l;󵛗-$PDw4DzLuR5̰+}QL\,7ԃZr)ny}&ffE'a=2Cwqv[C:ר'5xd8D֢cO7 8F5@k"SCp{dGTv᣷4@iZ"T.OJ[:knP."e\fm_e,iZѻ-E;.KXQ(crFR%hi Nk=éӝ+;蛪\6i*u#, uzw* :bDsJB9rjl H3W::#tY}$X^!mŅb+ͱ6ƺh/ti#i`Q{lj׸vu1;Dhz`G ЕAّ7$5#|Pr _OWMA*='v^A4z]7 jt O^{4堡FVɨEK.,:c1dmOU)!@쓡PvָaF$#3%m7 !2q^Orr;/`BxCۅ y0&zК3.h6WGƴ8gJz&#} ڴF8m7'I^~I CPZV*B6'U??>AZv$fЛqnyvo< Pr9Ӆӂ4٥yDi)}-!6닑GjKPX-Bkي lY<7 /1 gQz[/z] ~LU2)(pW̐G0qeۇRM8ی[N{K!9v>F}~ n|, 5?q¤?#Y/|2`RډF1Pb!s(!mYn-.v8Hw_2O^4ƙ嗷#B7u_l4@"a~wH-cHOd>K_}La(NVRYP+L,!3w^mC#aoV`BؕԾ:6FN Hۦ֡@Q{v.z_ B]䦌7o<r]3 lhkKT(3'\-aX "N* Y~ lۄcs69@X 7(ŬM o/嗜!Z& iS\ X5gL9uDsX-o?`?KD p ڊ({4Bfsrln>IL|\ C9ZkD;|IZiYսmC=e}Y16/|1%{ݻ?:UMzӜO[N[k|,k>.h #IQ4pTm#\DsN/ ;7_cxr&SzJ^6~ӬC%ja5iyawmj⠿BC'0MMB+/F%BQ].7=ovFw-COAXo, M:fvnW̺L. k7vGz2Yook[|F'15 F~sGkF6"!4ف t1_]Gfg_SP9F '-"?Φc9o^Nе]с`K[I9m#7 Y7j3p{y#C3lz lһǺsPI>lwnjR0l.9uKG@w+6Zcr{ )PkRq}~wҊn3+j^t!AӊW MsϪV _Ajݳ`tSDLU 6@r~yQ\b/,Jˉ>}lK媝*$xs޸,_1xPwn^8"^uQjĚD^?GKg8L{GU$m11r}Oz_0oG̿1\ E,TIN)KwǓDyEcN1}MO^7,c1;/oqWKgf$ 7,!0,Cʣzl`7V$Ķsd;{bnS6Mݙ0 kAqY8?0x%&R؅wjѩZ%5 [vxOrE39wL:@)@?oM vFF>[_vAmH+ iݢB&|^ncovSH5^&ĎcNњˢq p'CqB2V3@E?Љy5WF-SLiۛ3 NG%k S!̺ 5OO*4O Bv,b;]-gViTSDzzP-(K-Z˖j 3f⌴$tRb 퉯G tsd9ZVB 23 ltͺx},*bE-<=8&ߘiI@+ɫO &NDy/rnA.XpZ]axJr^DIy2눆 S6}ӅAd)Fjr'@ Ul]Xd+4ڇO@@R7l0cf=&Ci?T'3317f>;7w-bVMI3!BYb]]d""b\1A̪DB(Z9 {_]R[u÷(1kgHtAlhv#!+ gGV0P#X^X0ܒgh75~&Q\e}Ob [9F`$sk寰{ 9 ЅƦP\6WzݢLZUa#\AXT⇡h2Y-V:2Fs#/ >s=眳= j#%fv> ZI=F'̧K +rN?O9$ 5)x% J"9šx7g<Ӭp/;u` u["ix}9YDH /ɢG8)i(C:}:_6k )tdl{p\`~SxNecp>|#~' ?6f'U [C`l\ix!'w~Mƒf[}fWD]Xf.W{>ꨒִ!O$gji? h꣍bNHXt:S7Н8^^' UeuDF‚r22}G;M1p,ucL9c]SC\ - ԍR&o`Hvu0 ߼P&4,XNJxmi\tKi|Jn9S>s.N+ҙ*sS=N!:d[ Br+ ѡrn7uy@.(NdN@X1ՖP#:#I&˯YH7\х|Poo^tZW堦4”N 7<]MHQT5:hd2U Aj04k /,Kϲʌg1r8pȣogRg{ʓ|6^E&a0xwo/*<>.3UԊ >4T+xs:<-dw,;1O(-LW>M0SYMe{9c,[ԣpD(4YS)_zʦrb֥U˫Z.rF?/foH& Ġ@X*ְA|_HcBoXNklo*`̬.W4xvދ1M :$m34OgU8?OcFlOW&qSfx}NNנR~ Y:q8 WGU(yh_R X!x_պ!&ƅM[B"NxN=,h]l!0;gs@_tUdo@P%L{_G/4 u NHx[0>hRۧ95oʷR XXkt|Z- <+]Zu5}ؘF1O 7msFӯ B, ,HVGBXJNY &Hp^?ˆCEՔxᗜGnqFn&qt1O﹗ rT:k ~k ^z#k>nFe5/<އAArcUN lu6WSq _"ԘZFH4.qCs2rpx zZub#^A"d-IA?D'Lo ' :" 70ѐl\3끐 >HYK `qɍ0aQދ G_S7YDDr܅꥾'g4"~1O`~B{|^#e3nWyŖtH߭Í҉6k &焟{!gh<(WnWab1$ BLᆮ \d BUOK|amY!Olx^B٨:'$ U +5h?˞DnxXꋺ !2/hnK̜hbUkiJn9y5s*SÀUs*S)d eK–& ǗGL$Z N]kԫTg]f x/y*Z8;y>OzbPֳJl>Zoձz6LR= ܱklK=cF4?NUj`-֟}qu@l,1>V(ގB7蜵x[83}_$pIf΢[,(3{m>Ow QNuA+6eB4FTozeY|@0<c#8à eʑ2"q,S,P[@ՄtsP >\yQ`uϲԧa,v5:$#/8kqg+Mɜ{8&3R+ ~p7 ^Nрv\֢ja@+YzXkQn$5ȶ7fO ٥ApqSٙC"6yh3E#أv7Z K|T*%22-:|GCqGfE=UY.K± !]׎Cz< J+rSCc:n\iA/0 AWC-a8o&%"a46Vczl nk=|)8aq_fQ-Y%Ï;- .ș'J\(yq@Pg{c]f`c%1 ԄUh(RԩD ef6Q5=^-;/+{M7,MM܏@(7A26J V.'i'#Z2͑#g +0X*A(РTAp=;߽CIl5ha΍6u5\\F0+ޮSoA볂sϥ8|/&?(L{U_RIcu5=7R:'MJ2[ZA̛3nDQVA1\Xt/riW .EJɭMGo&vЮܤ]ըJX &\ {<Ə-!b^;%Z]߅;'4s[ [QF[jMPT~18(tEۙV!o~Tp8ϗ<N2d]c SmM:A:<^shZH)V HՂz INӀ`V+MAJ+y_(yz8D~DF.Lwڍ^B0z rK%ΘiySuz>»Ir&jlbNawZ%إD:! uEBJ KmrISKT+|oMN ;<9nn\ oq(+?wpiJgn 6R'p iI*InZL,.ΰ4 \\Zͺ~hZJX|t lO;Q(Hn;])O^R}⭗j4:Rɒ-J9Վ9sl4^pgbMmr x䲫eCMQ #<r%(iܛxYcYȏ]b+j' t%BY ;φÒ{WXtoxPW4,vYg,o6[0^L{rS b.RH6`8=s)EjA p.;?:|3ɢ~4`3hraTHtϾz8zbj޸(rIU!q=c89q'/m|9"=Yĵ"\"d͡UD.}֊*|(}N|T}© _!ci+J6h1T:ם9!H5F5I2h;"[l/IZmR2 n$6ݥBC#0"9 ꔗ1,ylunɓ+ {;љ-~Mͣ3((ZZ /C$ͫf'||x$E## C#PǬ[?rς}8~%xG-crw}O#i]+.Ë:A N.Ox5PϨ64-l`\@*,d_s;^! OAC:ǭ*d5)sun>/y?< /st vKin.)cF?(*V\P oV xv1/@%z"@exQёKYNȡtꐬ "$-b (־Gȑ~׊K{xюiO9dpւlUu.6܇Q"_޸tݘk&b=1f{ R8ݭÅf3h0/ G*mh'H +=ȍdTϓ٤Nq  b}pq\c.&⢇.(tedjSN݀6tr0wbU\mMllvHd>CԢ/"4clטICw]~0ƳT0xSe6?I;wP?֝ޫ\zwܑEXMZ*Dw@d$$nT"gӀS:њ}$;9uNN5ٟMw1z#fE|j8'By'ɑ3-HEɆwݶ"(_n\|UZ821-dLe$kԒY(3on Bjq! Im[P7%$Jo @W' c@[KhRSrıۚ%@Шr4e sCZHTVq#E #180]i'pI R+$e!QXYٖ. >Ʋ2_Hf# l;T X@BpD*pel^M;J,z7q/}7(: vU@.b]zM~XDM[G@v~zf7X{ݷ0c巨PD{ {\mkK}# .fZnK\>" |yإ|JLOɂptBIv 1nչwu4#BHð[[Ou_exaW-UWs"o.9Ѡ4<ຐnJ]ܸg'`+qx1}:oGw3u55<ܦIt R,|wzm{N$$SRLE5!Uvs ſ`fY@)IP _)ЁXorb)Jl8i^Ҩ~dw7O`J7#Dڳ-]$*@eҖ֞T{@M}t#p3WBi(hǎ=؉=%v09xx'1j&AXQ *3(^,D=eJqЛ"W9f#}~sPcA(E;BGTMܞ/u[1zfj6ϏZsd-c!̣v: | Iѕ-ϫ$UnpcL0tmEKX9_) sJtFc dgw01UN⑑ em;JdJC<<۷@P=o^P> *[O+ama;-ЫQ_oPU Geȕ-,`~T'6SdiƊ`ߥ&jZyE `\\ˬǯ.HFo98ۭ2mg5ƞP'P֚A$r}xʉSC~ j,p&*>@HdIm%+CeW@. #OH6կ7vD4*ȨUlo7O; On]4iL9Oi\4nɿ?XsJE ff+-la@[=)h3نEpgϑmf5ţըkk,:q .7[zcPf&b;Bgҥ(_;~s<1~l34Hx_3@㏖ l1gɣiw#'MBlt>N<{>zM/)zRj?0>jZנXcgu߻4jTg3*ˁzD$Ȃrkyuz{"d'T.z)r.nhFgf\ K mYն_rr'iKν:!Nd˚6vpX pݯRC#Q ZOHވ6NXqҟّc-{Yd DU6ҟ9behר Q]*:(^n)à<Ѕ퓯GDJk;I>WcP#: >PUkX0|vqrx2\STwzjee7 ocsB#[F *fOd|'>ZIѩ#7掦@y4 >5̸ $nϩJ㐨j13V+Z"h(U,BKQ<ÿjL )=-R'|?gURY|vN,<§5gUn LwIr,1yn/ dh~}eP<·Ni41:P,NZ+o M/!5ŐwiPrh^e&ݏ:= nHbrB4zAT!"[y9Obh,]:h5%"&w]hEQP/Oأ@܇Z_TѮj2(1{;pӱAba2ZĘEMR%}1H˶ 낆hQi9uY<*,nm㮴P6PfrhєMn ZŢ{?*P&كiq4ԫ$OW!wbe =O?hr_ǵ=!1g렊K:P#،͇<߱ NEє5VLVFA|ɂWniJ-IqxzYyyYS0=~[+m1}8=`M2@L1 Pd/\>Hd{Qeb<%I94G(;!eq[(< U| '=䢂ԴOI#[wWU O$TGp<`] fׅp\[t%3*5)cOw悎՝JԢ_v) eztH꯯Pz 1ɬg0&0u40RӠQ,pZELje~ HqhD*al/HS,GuPFupK{*-B w @cgL`trIɴdr,!L$,8tsx~ v~&2z 3J5UI*:]&bo&HCтtbO.HU?Y^W*ߔ C+N2~]^A;K 7O uR9՘Ӽ򧿬2G ts7BpewGOb5383da?7ȗr@V]%N+@\8nń^ ֪*T EX/&UAzpWK$6ƛhHrSS#Y].Cܑ a2rQ a׽\i;pݜud2L0פo{ 8k3 >9#oISdA.S:~7AݐX?M8_g0Q~I3} YgLV '4SY8[-V7 ɉT]K͋X(AgS39uWb!jjN-rT&ŤIyvc:yM_rI so_\\5q[ Er2瑞h8*5 ZG!'W7۔l8uZ}-r6u \pkA/NIg"6x(?EĵA`MgơQ=) G(pukmҎnpcQmŠ;@qx=wh/MHzm6< q5m p/r)~8^[{~"0F7uĚ">W""1_Og>O?wD!Xqp_d.0)|WMM|p¡ jaE0XnoSNׂIwVBܱW75"4gl-g-ǻ",r=T˷B rz"*sly@72T҂]81!YwIh\`dE˪RaQ T_4օjC5H+_Ɗģ5ȕFwBm p< _}_{Muެi8v4ћHt$&O1#Xlȗä5/xOh,uDXŐ0oX;>Z:wS5LY,/ {V*CE_IMR?bQh41Ghp.kF,Gx0i[\z2j#7$8oeY(_Gq+ Nצ16G~nԼ4Q.B}|紓'ڻK1v$K ?+}{\ ,q6o{gpgO$IZ7Go!}+Luzb E|)P #(~0 CB'_h\/iXf #TWcŚ;,G˸h{w^VUEFnkT0p$i VǟL`Ld[W _Z~>A2^BP.^g|4ow[J>o*5 $tjoaX_&;{]l0-{SW#06563ܴ4S'6ҥGFUNHxJMo+YJ0Rw6ª$eV"bEfSfh$)]*lwV1dHaȯ%m J9-}GTt(x_WT",cBC >+%pqN'OTߒU=*Jr5d`Scazy'kQ -ԇ.٭_0׬Gv /)"-n썃0 #'#~d RLڶJ#7㊠ w*;Ϣ1oKc^ݴҼBi5!b* yX͑SGs:(lu:nv؀JqP#.B: b:K+ݷ5i7T4dnjPG e˵2DOjb=_ "cܾ`ere($ kZ fnSռ@@f !:` \,D?e m-_Ka߆BIP`VGyN3[vaF:̇'G6mgdICuyYZ~T6}IeZ\j 4MCb7M.u mpl&4=Oh<[nWxk!fnWfc\S[=T$?z8ey}Aϙ=i0}1!˗?55ۑp!#ϗ5]=uTi raR. vGT-xo+Ѳ^XQv,PpUui7?^?#hHp:co]F &kh1CcUs2OG4¡ +2k-$OJC\ x.3;HaQXLv Ty8i8V'^lxjQ»%_Uz) .\Qe^&wE'8TsZ<<&ív+WlSWdRފgݖ(kQJXn_hyU萋6 NQ7:S𭟶(~h@;b/wX,~$dQ{~h&A9ˊ;)kD<7$pFꟕ"ٴb!Np`fu~ f ])kBV`RMci7!jVFQݤ#_!F [ҿH[͆,7`[ϫ:iKpMCCXk ~M!Rl^_º'3O%@vQbH]dUCh?69\}L 25!C_^;mG"&!bpIn>ۏާ8,P(GZɁ@䅬u 4GU1+ $9`w=Y}lǁ&ohx.$hKŝfmae0}->g<GeWѪN$Sa| rW1;Syp:O"nf_"^)sƟ:1 DHT1D~$q~"ݝ2"{W&C7܁¤RUL||9e `g:;tO=iH8pli,i9tЁ_A5B|"w8Ц:yXjO]{< ;o1DC~ ͌6_GX&9gPlH}[a-`?s B)!#1An!Իp i~=&Z'h6{'Y]oǥN, )=އ<$SgdA ($L1G=7>ZrNs!%60KN(Z,n['X)Ϡ['.n|5RZ6lװIgurƞmeP^5-2 NDXйL][I$#8ws0thHO"fA1&%.4=/MµYW@qOI" dNy9z=.XWL`ŽZ?։[S ;Bo~V̓{H #&+}rk#59>eM2u/A/TdʁDlrXD"B~某("ߋT^JD)Q&Ys +,¢!/C^'5Ua/ b[Duc.#ⳉ-fXDhu[MN8Պ/+JMgvUE)"`#7$<d̔$BK13,ð :IgT2$1b"erPa0q& `90_z:n+B?ū4^|'FŬSV, 3#9 ] E7]"Ep\7!A&' d\}IȀ).T H|&V۞|ZN@d}B: vun.4.;+Zl3'4ug%6ÈU c,y>!Z6 ^VSVdd{ں~ [.MP2\:3.qG{zs@vUƴ2V!obG|+ t^ !!Wi(ڸk潄]ڣYZDȜ״nmT1wr돹JյOKw/@f1Ha4WTE+$6@LC kؾC0X Ifip-V' V7r׵,.+۰LR,4;rgZ b\'qvjˏ _jT^ x/WMu2;q# Lp&2|O2C`R 8jc~W ]VD`̲FPS_naho(SgOҥd4S.?l M JfC%}6*omfvw 7=}2՟8gf%*L+OQ'Ype?Q=[vYK^d-EY q+a+ߪW i4xcyE#Y N !ED"1t$rbwHAC( PA*Gʔ .zsR6;L.IXnciS x}}Du&}4WGz!:: j+QS:@=L/WArcjd䤭S+cRKi yZNRcMJp0NHp=*aۃ=pRʴ$TO vLTKyaODO皱uݥ1,2v j= &}vuRbi$ޔvk( g4e ]KJv:f|G3bh'I[:O4_td(Pbe3Rhr[}~p 6=IB/.L^ϼQxӜ|y5 AJl~Z:k5W١-A8`0-G_o/y^0Fw=W)Q,nDM,cX=:f$ɧAOc}$b45u@6rP#LG<vzzӺM\@d4G6ToBl[>Ǘ /!׌'MNN0W hZ| Y\ @L7Rt:8ky dm7M=;(Ç;y )_m{Cv1}酪"l5.Uj=Jϸ‰'QWc56YƎÐ0y+U&Ka'5sCr2n alQv<O hcHu]ZX,{sdpK>?Ү"Z+ 5؎O?f;H' U IĊ7H~B.xˊ5Ԕ*mmu_Ǭ!aFfz<`ŨZs>C/9AeP5h 3D/BbWd%_,O9|&\ךp t?Cf (l֒CHDr5"`܀{\+GrP͞7-_զ͏S0ŝH9x՗2 @YQGP:eges pO'<>DD4q,۠s=12*]06]&-0DM?J XѬE,<|rdݶQ8UkUW\|KlI-i VLw-C`[*5!*M|J;pMwB.] ՠxb3{DoT Jm(9gwGrEm/+J򶢟 b٥O_Tn /u |{a]!)UE)-Im@gQW$z~\0c :~OHU|Ƨ Q~#'>b7RpJ)%Τ7J#=Kd03ShU҂=4D5zDD1#ۅ QOv蹕1^.#S`ǐVucGcP}Zl8X1A`33mÙ(10VHͲ} )q_ .i'YOA le SDpsW)z>J}1$^r8 ǖ50$%:׌KoxD4SȫuE֝c p`(C E7'݇:8kS9@{1IsaUx9Eq=]!`ЇaZn_|N#3* z$Hgc2m2P)OZC|2- o'\@?vŊ3K}jH\ o]SPxqll S]6#ʂ6q:Wk@فWiSeY%Nk=xwžs_Y~ʃICfKtLOskVT(+JCtSQN(oTv~|!ZvTw:Mp5 'R=[D*T $7ٓ@q;'0Dʫx":F&.7_CN(+@OA3Io3Q߫R'36GZ)8M{Uac9ebL"ZhW%Ԧӷ\~@/k f=>!PάOn8Җ?Zu p{7i\x:!R~hx(^8u*$7hA(i 8?k7뢝b·IB 8w*qz@9 3 Q`}Rk{~4ܦ1g]eR_ 9r,)&.Qe F<lb|"]5XGY5o#u`l^?hW7*V C}H*{QR7U 3w4\Q-˼vQ*g(R 0VjhZW7a $krD5VB\/bE3D4*s<^\DLm 6[9\Y<~y IiI05r^:kly1C|WL1La|G"&TY;hV`mpT~a6aktGgI!HhXQoM &F!j mXR9 e2'6+F\, !X;PVYFA[<a5:ӟwrLٝuD:O@s$ԑ@룧}k2l^wF$Աb@Y9:^3ux)m&ؠ;n2N\ucF' =m?l$+V>ði\,k:K`/e]7Ix|N\@r\#ؔ=Vɉ}iSQiu5<"W#1"e#}h/O΢\"* ]xUe2 {BEħ'V @C{P|}xf,7:-5D T=)N[k*Zfɮu8[oȊQY %M׫piv[vю/ <&-9Oj I-uRB)>A]$6 usK@t=Muz,SH3dKklOR`\z' T a8IY:J<&gˌRシy[MRDeM. e0!`W9kbZTشT_9 ]i/q5';r(AhGȽht-T2: 7ci`j۸Н/`T^PkQ{Yӗ#amG`B`- 64m~aB_;3u /dl1"%!؍!xRgY\AӨݗGĨSka:Dq j3bba2,XDcwGVWseĺެ/AȝWKZ>i_ֆH"N]ad{}O$C^>6g /%,`B5@tgCz3gqU# wܐ5QZq|Qu@vOEg<ȋa$iI{9xHᢧSdn 2? ?GЍ( gq3jjwKEB>K6rirr ׁlOjR#Qr M"ș*7~ 'Zn3ؒzID븑Ϸ,ըCk6Q8pY{dS'{]Q^"ֱnVcJoþ9uUЛyL{ +wZԬb'[pTtc.bj`@-6gL~[Վ^,;8*Q Xmس9 lEɟHIWMC_ax.03{VwU5,T8,riRz]~URm'uC"Bvц9M=>`py{RE" 5retQV.:Բ''=g'Q|t?:6wZQ GԌhtO&įY~Gu0v ǽ2%F;`@2y!Dx/IED9SLq-b鿖%>NHװGn (b!l%,~׋{@$! If֗{F1 +Rr[[-F1mMH \wU uI=c bm Y| 7vU*x_$l'ENBB՚`r 3#B%w7 )*0+4dgN#dŋxSmUQŪgqpmVgPhh^R( ?})dm3ɸH;,Np:iPcNĸ:_'U 29YX)$$(c?:>CL&U SA+69ܸ+0Kodu]ɤOW-vmٿabOg"&HpwUo}nYZ5נ< ?!S;uqIMҪ _Qhת̹譝l y00wgI"`ыd21 4q@Nꇲs G\{QixLA!uڒtqoS2qw佚c^f(o5H&eƕ?ƨkwݱ&l hTG/[ G;!"Rhm\@0ߥ,# N9C7u-,ӡNGὐ@p"ڴ01kb*99fzX{钥+p WN*Ȯ)&B \G#HCk~tHLj,{'׸4 Q"(U`gx֧1i 0gѼO%TQ}12(As%gtrેKB(/i_]uv?9`G$'8Am@BN_h1^c"sL @ _K #"n)>TG@ smډwL' <%5nK~KWɍXw7/0V7К2uyy@h:|U zRm/^Dԟ`y3z &]kB|g /֍Ӑ(Vcno w0!̠Mc`% d%{҉ˑ!~2n׭wfV7} l?ugzsV)xGݸe0l&vF]4~dҝ3)6D+Ǧ6Fꓪ1Ϙ,Hp,j)ʿSStӬ2BC3*hr!V-EMHʥEtx:ݘ2j-^[<$x;TQ{p\Hu:":*V?/`SMtmEj{v#uOeYj)1;YAOfmh٫!AvIsBk#LO] )K6R-auwp+sTlWEܨgoA=H|\lZ+YT#ڋ}$P'ʩa@zjԅ@2 07J"}N {]Rv !qgo]!>Hd-wtv/G ?EEMۍ>l%PHe(M(1! Mpk+gF6? ⒠$)ypjŤ}w(dh~" )0DEFRȥ͛[IFeV]e93bM4uod~ejv^Ey*EvF؆N`*,ۮM3 &ĈNO^v oOFLq`#t.~asWk4N>h[bG8QD;$4ᣠ\keЇx-e:]60JFgAC&ΘH7' ѺJLjWvJl%S3v2$7͐5xÅZ\;)|?jq@ ٗˌhr%5!m ZkL*MTN0koS>oMZGòRUFl6_'ypti[\g2Lp88't;mWmA#Ή/h=F^e<׶Ěy3p_nyWXʙz0~4Us4I]$dCJ|}T{n尪"UaJfUg7]2jkc4z?r#EoBچɖuMaӌgg'F %;51tz B[?Q.(c|/SnBؽl-b/ĭu G[T&D@j?ԡ+F`yU.gIw;G^p:7':zfH^mZy;HM&.gmXPL$JP2"v#\ y>aia6R:Aw<)#ʖC+˛K9_[S^EbE79y&s &D0 {7;lJT0& C7軟4 uW\>PT'+4rSdu"cNVsU*-(t O7~1$;M;u":D(BS-og$Ԑn7?# =?cqCρ]D[| TS.[S .zjq ge_ǧ4^CO ~BяPLm0AY:5so;"A;YJLՠ=xVFZ;겵='[ F96ۻFit!Ϣm>6:}/VxA5);~;w@$xH%Qw$HJw2e[/)RYq+F.8?Gkٞ 8سo[`&fxzH0Jn}jmx0h5oCC7,9k_zk/@Ն*@k*X?xroJO#`l |b5DN\ϕ&SCݔi7 ~ R ,hWKұ'ct̗UOiAJW`>2+6fⓢ7߾_7Aw^c㦪\g[+j2L Ub:_0HEG#>t9lUX,d1fÖT0_T pc`/P}o:k- ô'B9 5#ymkʼL= jHtďw7fzW]*~,jѤo5+0zD+6e0${/1{dRM4tpĮLR PGK'X~]sw3yvw֪*?݋C3N|2UçdurolZ~iCZ^/WqE"Fz:i{wBn`_*+iSy}&Upc87%q `S[ zgkb7 _ =#|cQ/cO:&O,pdQn?I3 &UJm*tRT\g. O$k8> Y1vM lw Wnl`F*{`XT߭쵹މ`+[CbAv9x>yNy3TT)TVr9ՏwӝF.C4,v.xDWHg%~A yjUz۪Di)ֵ?O/&d2ŮZlI-V㠘.5@[ ^+zsw}Gh.ׅ`[/'J֖gP7h=3"niO:z&HͫD3Ib$˖Xo?L^G?PԶRZo_'fHGq<"D=u$N֒=`?)\1he C۷d4"3xUE[$] ge@ H029m_L$M@"P߯8l6R-+L?c, K6n‰L%$)4XSG>o~LLtQbfώ*I&N> qnڧh^YX)/&B5ELc5Btu~E$u?Bn"7賤w:[ߗ3`Oe%ry;; k6N;|(O/kU[nNZʹv5I\jYHN.SAR|+P(Cmu6"ac#v7ܚߢ+ (?ݜHj3*hV <=%(Whg>4"vfcwr;W?_n=kQ1%InWx*(#RsM_#*߿XߨN3 1`ӻbXq&{'3F7 WסQWmKGŕ,I8/lt1~- sy%HU{ljʉn6IKX U!܉!R52 MJ* \+yJ͌7[*JM_(ٍWʞ4)VeVP՗wL)ʑ􅅲1]a:MF\nN,D)b.$;Q9"v\K͡H$QyU|A='B!=82ろjGXٜ ^Fg`MBX[h*- FB*-RP}?~<OӊD.j'(uj-z߭ERPob(@}9Jxnƺ@ h$_SO+wQ~cPB>!t?F N m9]Us`3b%sg+%s&+N.=ZX&nG7N2lg-o@TT\/27_ M<+mW5>ӡ95 [dA\>@Nr:ʔڿ=1bmByvA@z_ǹ;$.N pvaشD/cIphfu,ƼJ׬a}cB-?8@J-Fb[=2S'{ƫx؄:0{!arf8L|jkFuD!WSL4sO@`9mN3xFmUts :f)UoMk.?ddn=*vKjKT `cD=tq2gǯ)blgv`=!A ~9a T'6bsy@'@mWXS]f$L ԃD kIw+H[IYi3en - &ʘx`y΅;] Du[~Fdb12d!5nk5}#]?9)I p9 <꘎>EvT ~G:-Tr>"k`e,; k]0V8Wa_,C~J砽=KEzGL'/֟`:d0KuVj_QP '/ѡ>ׅ{LQ^{c*3 ZB碌N %^޷CWn&li0 `{FiKox &u'LGxCx˵8mt|\]?睎-1j[*GU2FBn+5tsM4Wk.oڃ+)3c# 4_l-n ι휽~aPY&`( [Yj_EۗF6j:Lgoezܡ6]"xl ݚaH|Pz>>ď ^6c5tvcÊF0A󭺂a_̬D2ħ[ x* k3!"9>?xXq?meBj)z}67v=3$ODz?G{wÁ7Lsmb}'5!K[At\O K *;~ XQfkgiyؗ]ԊV[z~%aMG7h'gn2I~| UxOD<6:Cp1s`\'kTJ= _Z^$9F$]/_ܦ%{LIQ?o8n9A0o*z} @!XP'L1H+AUӃhg]'ѡ}]&q5Ҟ$wJxBx*B<|Lgs2=\ę$P2drë^c$Q\ :e2KMC@=h583\G'j˰UZ@񅯖r 馁9k#]#Ai }4yBEjT<ͳ_꥖=xO6-ܭfY TѾFQX 3mϹB2I3 { z؟ǡVD0tcUןqlSg72k!I1a~׿=u$rN'-FWo<=(UЕ*冑x"*jE`<_tIJK3DER4k9OIn 0:;^ny׼Hn?PϹu5?jXI.Nn`ju =sp AS@| 4pKKL`OO{6P`: oVhBr@8.`[E  :l"ܞL藅{nKIeW'}Ey?/B['PY= L*Dܽ"R_A)-0*&U0/5*5:*A|>s.#y3 +x)Ʉp32>=b'x?v++sax@ۑ>uCq/!ʊ)$E/0ፎL?^i5r|xs.._X# 3gw{d ȁZf`R0ϥkZՅT< EPn:i0R L"Hsn >[3D7drM 8l'rÀ*r!`m LVh؁m#ܖ(W&y^$%nø +Ѥj>Z_|bLdA%a'A $o:p)7_@x_ncM4o/cgYvn&p{/tzD UƇ52lgb4~N] Q#H/ KxcF%JZ=(MǗ09]0eIy ef>NL!r1o4 6G4>h#_6:vA׍(yv&Gb7}Ԕ& @B{wer3`hR7lɰ`~w푛@qV8+i-'ߺhFdTRndK)h0d4nd2:$:e/?*,W펗ɥV_<߸x_VNG?B“#dY8pF99Ga1G1̽Ttau34{{Ŷ7}*oKuG 1^ߏr(7J+li+Fe.cC,}]X`X3GÜyƣUХ <#c17cXZ:'nTTlq&=^$.7|lz) [BƎ_Doڲ+QfiWZ)\Z&%%deFkOOe! `s8u1z(?Sf֭K?HruAKfsb_ iQqiU": T^Dϱ7ON5hE{ FJͮ AI l766d0fQ! dt%řh{\zE>Éņv#z@ha#峒Q)cb18x iUoОH jM<)|5̰{dWGO.5K?K0zu5l_~pnkFEl GW;m5Z;w~ Vz$ļ*}T)GgVx!wm2*r`Uj}H#VkEפ)iPt4n’-{h'%M"mY)/dЍo+KKidU]P8x,ǁb_geJC87qB3⥥ ysO] n7/2Κ\W'htoXH%Ŀ쳛QAռU- %<ݫ\}zMW|$W@NxO yUՍ̭P#rRF)o P =:DϼJ|JasK7P%%Nx9ˑ oƗnm + \Xt4~V/{#M]6ϟ]=E;-*tq A-ge6#`[?ْQWH#/b4g(q.}S2ה{˵`i~%aV- )߰(.*.>v>APW.rkӳѮ$!&klZ|h(v,VVFܵeE|Xɢ7zʞC'">C` zRYɆ}2/NƑ%xrfR BO!ֲUt=6k|CokQxXv²Ĥ: ɮ dVaT^~m^Ǻ>i 0wi_^At׭tږG+IQ4P6{ +[͜dgN8 ojD, b9#@Sqe |o Y1{,2ԿYDebvr|G@qc /\[եHN% C5oܭ$yrgERG ~yG_bhZ[A5T@a5JF]yU)̺&rA6kX!PF)}|SWw*XT rGݰSOj*. Kᅧ@;7y`&G|Akʇ>M9]%ZwqjnH˫$H'W=Njjp.h]{Ot06B.kc΄"\*kSqIYsnaxȕ-Y?"lo)m*Z'"'FTE@.nM٠Kє}k 9uʙ xf^[;{}N4i&.ADs;iV3ۍq2BI*\Ww[42| KS7Ld[t$hac),RtpEıs;-ddyF%.1ҳ$JGϭƁ䕼l߈k,PH~S'ش0ڒc e# Qv+NT*vJ⟇<E8$?Wra/WĹ5X.ָpri`k؞Þx3 0-&/D 69j,$@҈(-׎KE19lDE)ZDV煌{BT~')xtmj+^G[UD sI@"Ad<)ڂ<b9ji}E}(/$6pH_V>򔉍[[FA2Nj-SM`VHE,m1,9Ez-p );U%/G~w[R頦Q _9fzMQ "-r9o]g2m?LR q_/~ey?ZWn  32)2:I{?kP@/xYj/#pXikYim&l,ǵzґm&C}$Ut(k@?v%F¸@’K ҙc {eNQw'>yb{hQxS&SrJmUvE .<5 \$>HC)"$ër4 9Uթֵ"[Ʒx{n\!b.g58ȩXOOVlгd@1LoQw~ ?hm@rߍ4 *,i0aާ'*C҇Riͤ >]dπ8 ~}sϛȞ6`mķO}H(s-UJ:FCb|0ǘ8L 4YQq4ƾP|4ƧЎ*^&Co"^(1ycpMI³iJ2Ma4"űu|a^L~^~,1,1.~hU PݟaY8aZ\e0~>oc;d8@*34gץ嘾D Kj,=Jz?BE|$O0Wޭ?+jɑk L€Fɾ]o`C'b8\jLE[0шTxll_5B8t9l ^%82~U]la~PZm'V(Bd_#?pdg[#\UV蓑k_ݘf7 =Q&iϰ~ru ɼ~C"+ s̈x)_sf)cd'AbcRThF񎶦 Yy$ 5ch5z||jGP@~[VԂYSY ~ظN9Oy{مu2vSx*a]B?0|̠<)~;"p=?7;~sBݍqcA!fEcR5pw6 H4Ӹ:U~5G;`-Ӓ[qٸ"cbeЅ:nFdܦicAB .zKK1ZNCԯY[ Dr1X:<~ʶ>P U~(KQ J!ˊ=Iw؀]m n=E~߬Lؕkv~ o/"K}k%?)wd-˴< TϤB!RFQdU_eU(<=˺цIJ1ŏ4[^ڑY~0A9^(,#;("(A hy}#Z m UY;m+ܝ4}yFWY`?|72}Y? ^}} HCd 99Nj[Ew-ϵad5Z`QKMUDqeI(W Sgt#ɺ,زzNQ1鈼H0٠uw^@F\2s mv[yAC=޲NT M m[ݦ @y$15Ɠ=>j{`Æ2tiT zǕ#IT i}¸Xc.4ePX촮J &/G8r{7w4'&ګ :':F!b3~q*A6f%*bhC%BPf:XBC]̻r2Lhou=J0v{2Zk3fX0hLjFK}_Ћ[Io 'f87`̢k{d񟀏ӎ1E0+Cs;H;SoF[VyRzv;s3ʫ>Q Zͦ:BVn@Ӱ,"KS`6J!OlM`tr.~Lyz+5c4B3EBs ty*A#t|$}}-¯QM/S!aŪGA) ~e|>h[HpOsLM vr!X&Y|_|;u|QRW(t t"n~n=zM Ҳ2qq|e.#-o ]7/|*o&. RREG<6謂5h#Y{O:un{VͲ1NfnԘ=;fN=J\(4_hgXC굗pN}`j(z@0])TB$< GW{ !9c#*J!ɿ ٺ Kvhn>w'w@ԛ+'2ngUS'/`]:L$~GiMg̫!BZK@?Y*`y dPXӥ Isׅ/b+)4ſ8jnio^k\z/wgÔyB$EtQN%vKs}Fcy+`%*w`8;Y4䟑R| v`z( Lޚ]QA1:;p0UQ" WX蹥4/ ߼$ ?R$Jrݣ^VHu;}#M'Jz!0 M2+А=UbHߒ !d '#%51xtU[&B*+G+C̀+6aWRF^ݭD}}nc{$5qɹ)uR3(uB-?Sʭ}GX o תA=ʽ~?"'gf%toG*K S|}E¯I`+%d*4t؉= ! p;rMbO1"AᗺUg>iЕ CC,KLHݠ+XƈPqSobU,Qؠ\Sk ծrzyU=qt5'Z8j瘅*<ب2PsZ8^'w1['-!u:g9)S(^zܤWȥz>Ļ+ *SKPa0c_-' 7zpqI*wdWzc+3RNvK)WY0.U#㣤BRͯ2T:4l9M`E`{TEڿ`|"è ረsip$GxN&|OH45uv;CxOvPZ)'!b8H b9.)/K#bhr)o^& `\t\ bV4Xz 2JDڋz&IlH@w#ss~PU$ r7*3IS%yv3h'Yʹ3uդ;DǦwZeQy$vP֐箹8EoU5t6gG&7OB|.T;Qx}Wyyr]9.S*F&Q91%$?_H_' _O薚3eEOM@qP$4PX¤-P._qGõdyp:.J]\![[!^#Xh#\m7;U$TMNe9|,rg`G`N51YJ0{ekNW*(z /xݢ$ }aɰ+˯m$()~tlTp]W/N{9ӹbxcAY;O"ץ`-eNc}֚-m%PvYbA\Puqr?Q'E$bePOYm3O7&B@Ty.~;)WQy + p;; Qj] ݞǨ:c26`7n(7`pY9F塚f%pjЃ=;#l++!E A/%<L~]M%Lϋ5nnWA;+f*GT/0=@v Ca3:SYR-\ʶ- >WG^;H0t1˥( \JU'[_Db*3@v׍U&ʢD"A)$fy?S3pWsƪ Ips'ƻv&wT|WHBF!/EknsƘklYA=C=3)VH¹W0f65=}.j4פJ^ &*SQj cP'\o#˄;x#ªS;gUt(5n/!QCG㶃&R(dxF|gBн7ik^gؕaC*B)`Z!ptO sՃ\$vd &%.ٮ&1 |'!o!ӯ7;$mc%iuYa! ܿ;A^l0 k'܇ɛH2Y};IwèyZ &?( 3 B*ߎPmC58ͅMIYZ8=)CB* 0=2؊TAWއ&>J!8~*NץL Q;o_Q7VгQbAs[LWpLB1g9;N}'u/lRTdߖl×lVk?EjJL5yl3t.Y%K]ngkݰ[.g{[XPAѿ`Ľ.AP ct 16"(2}GOA2;2yb0pF`ȫIG6وr6ׯ_ zbYF:v}"+44 )Ulˉ q> (Σrn{\O4y-rrk'ҼwbLbYn: ?FtJypۤmqZpҠB(x[Ӣ\.w 56⣪uOr5wD v\ cXc(ݾtf{c+OF0 3pNeBx˔Y~ǃ3 ^Ħ8p+w .djꣳ+B p{D*Q:e͹/I*&^26$*(iMMχfI Fp[*=ZۙEPѻWMd; P"55;E˶!b [j˦qjm`WlsA=L*bws¢];6 Ĥ碮AB9dzܠzY#lB&LM!6w ƞyq-F/ߨQ(Il( |:h"@7Э)qW H;yEm:y?6cid)$b`g)zy i&Kӈ͊rT8@:[E š*p5o1u޷QԽ.E0S#I>ʸ%J7Q /O%7睪c}OU&wm2lly:G/uO>"n"wia0:eb#<9,;vfsǽ iKöse;菍ķ><"4D&o<]BhŸxƌٞqM1ȣH)H|S]ɨ1}]5Y#)NMIu\67{i֑V3*m~xU_ڙQ? >hVkwb,xhZŊӠ['p'¾ZbS}vXnwm("-\g? ;B`^ɍ0OnլZw ;f[f?'ī &ˀVB:j A ׈ OVv-Bg`,ٳTBHFN槼Ayxm^Q#l(|f9q^r2ԅi.`nVzg'q GOV:wIyXSq?z DP+úƴr!k NǸ)"2x7~7P$sH:J~_wyE5W/0L8V  N~mxל.6S!jzu,HkrgdNcyů./MPuBդBR [!zI'IL\?3 j-n*9Μՠ- %PK$nͣL$^fD#DA\RXkT-F`5N2ցwL|һ;g?^"B݁`÷(jE73] ծm^(+/9ީh_eoHA.%}Tcشx>f˓88UF˖lw?Ǚ&qf|aӼVFA5ugN#z AtWiK /nVN%8 '#2>OP ErRvܬ_sxC5pa{09e16J~.KRfυ) ~F(-!xXoC3^[;L @oZo2x7[+@dYX ̪Y'2CLZVbL 06Mڏ_6"`o r f "ȩN ž_<7=+(n+ *Z L~o`pd(m{ du"5J8o"HX(Uߎ0gBh l9sx,~vǐ <mj 7\<6#> 8k7"oρG8+܄Qǹkw^kW>16oٗ[$P:hWhQ!: ~ l,},F5$ o V 66+i Ѣ9 LOt-8%a! d[yj!3H*Tyoߟٔ]lȗg I̩ʞ#ZU/wT18TJ9i]VpaXqq;;n+yc̡GtUҼ*h/!x5VF{^  jDItDWr92JW-rUake{\XcnP@yN0/ԆwN6U'#Fz8r"uE(ŠH׶(zAY:,HCBxfC2Y@U(z$^zSQD&.>t^KՕcZä́'] MVx hڙoQm ژeXFX G|vƣVW)Ylsyx)LJ*,NfL>C]}tYcoOIFXk겨 &U@?aFIV7VW^NDRYA$W6B3yh|}-i41Ujo&'K-Nߔn?9dGFÉъJ2 ֺua'oN]H ]DgHyoӫVr6@!Yʙ p >ZW&UThKv ӱ[T/MkVMI{*[Z['~%։+^+P+"!- ppqV ".'S1{x"MsqcEA|ș܋DnaRhfpfby;Kwo$c[hex;qK$fd9CȺ@3trv @ƲJ$<RXD 6BÖr~Kt 2/f+]}e+ϊs|U],x6[ eN"y[MVſe/ lXAxt+"3 ER\:C:IyAL\b**ժΝ,ﰥEh]%Jl I8%k>\#ԏcII9=ݞaЮdӔl~̺-Tt Vob ˉ{B(; !Ȏ{<'Pv_/w@7v"==5_YɤJ85QxlMٿvG)21Kވ\@kώEz;E!3T2x&6{ :5<[]!ˤc:+IO~r$bYa[)J$^!6)lO< n|oEn߫SWЬYCe簸3zm{Z0]:Fx/O1mboG #svh@܃Wz13>rk)&mcZ<=> aO|]~|' i@= s%w?MZ=s4:z=گh g{O$+(aɟ.rgw)cpfm|_'TC—"BVu `Zqlaf#ai18 N+|8o\9SZuW$42ֳD&9]_ʋQ<!#|Q4OR?%2q;> ?R g낺'7pI@y*ۇ^X $b(JTn8chH.pT=07\uŵI|A2 rN/K-Τ6V03DUĸ|.^!%3ئ sIc(uB,G osɡ`HKp+Vͧ0UO$T0Z,^[v{3nxݯ<瓵 l+DC! U#c5Ĥh;=c!?' #l^kH1w)[5 w@ s:ҁ61<$@ĺHF8uY `p#>-ngA,.6i;?OƒP,i?O?h v8 .Kst?ItӖA r<3^DcK!_Y_mK<ꗙ)htUϨm$J/޿OX}i*)L؆T05Ie߽Y/pM*;}r`Vt"P j97Zج4PwjD-.Ơ_=EVZ^9C$ >FQ vjا~{m \EhCg^*4V6# <51Q.GH3ƽgP$"9X#qڵDf9oG9yr,V 8(M2DLA^;]+ؘlo@Kueib\_racwn g%H&rnPOː9o2;~hCE.C/'ENl8/͈Es%iO,ޤ!ъ4O)*ڣoJMnP$RnscǢưFS#аķrS+Cbg2AsS4d.B dV:Xip`Q5p-٥cORI5\K{ŤmݐN/:^xL{DΏ;s3DvaHiyeAN9Ճ> H7QMk&,L\ͺY*%u *DC\9@iiB0`?SNY s3mc!N $(4D0㞽Z҃ۤ(y=,tzE>F5|#ԱS<2WԈ GY2NwmKɾϖn?bfp T_hD[0mhnW~QZ<b0B2-SZы~2|υ{ v\$.X{b%[%o:2e0?hļLEjN' (7 u]&FoOlhl3IKk5v 9)yP6Aqo8IoE٥voLc'sdvvK*f֡ʻ-RxRVSLML|5KʭPPu\UOow!֚>DOE@*sB\Z{G%SYױL~FY|WhyGlB6cM #>'M Xm+ QxZ8lɝ-dS.VD yzob:N+Z&y\>w173#O'_"oe \r\4-3 3#8|r\9G(x? >~jC=DYZf ZQrQʨg-IC[69q{X²Djqb^#00?R :I/@t[/W*bW6^:M'QI.hܵ(&ѮFyq(p$Ȑm[lZKdSߡlۍyb$@ 2̪ksSd<'Qo.懓-?B&Q>t4ܑϏPQ|DX;E3 ]5޶LDjn%9}QcxdaBg+XYK|q zb;oxs͔dJz@bsT򍼈q0at+zĜ>0 {z"vr|hIr_ s2h߻G 0 2,OM:KV1f $kW:R ޿?]¬ҘF#ٸ&uʟ+N=V[h9T4*|*n'jO,ܮh_H'6?4䯌\OSk ܈#C""CFt?+}I.sL!L6R㇪Q+3I'̇M{b]b_ DfT-td{E /#5*),>P:}p=[$He{ŜVB |]dIpe :G)fFN jb|}Y߷[%NiίNlgd?DIk_cKY<+O,3Ut2c ZU{}DSU7 I71ʜ E5q*UU['/X$%[㔥+&qJ씽+ng^)/ AU'ar-wj`}M3EHHn!k" f=o|kHXUaw:$f4Mbhꀖ|x?Y*Tº|ՅwSgMQͪD p9AA[HW;ljUy0:yP->;вS@"f2y-TsH!# ܜWo0yL%Ω>!hS,[]T)_GH UEsXʭZ$^e`|gYmy17YfMN@4:mC$^QR/ aӛ4$VW!IڢvIq,坰#aG{ Mk {эJR:$lRMHmFٟ6[+3yԀťqs"|Xp\c(ޏnz8)[d Lt͗ˤS6,oSLcvy*yiGn\ FV˛(|O~?)bƋ/A~R:7.*@[>Uz㭋ĭ`ZaGcđcOr f]]bNa]CMBTEl?-)C* ?3LwPHmC?Pas}):ȼZpk,xā7vGb0"3t)5 g/1vEhEvuVw uak\ENnsg8P$B!6j$p/݌#JT믫\&^\"\ G!(7W;َ4x6ZtaTJs =+)p&)Tɧ9N&*30:{'$GM{&le>CXi-=Ku &x*Km#u=f(ěO ;N"M$n!i͑-sR5Ņ1cuK-[鼙S]Ӷ?Ň>fCC(6-q D;:ؗ^{NIN62R``>M:>8*"X ):IL[􆩐P=8PjsK\ ~Jsq!{g?uwQ -gt`6 @01L?8PrAi?}Jɥ<5ݶ+-Ls.B~(2C.~[c!t-{͖R^mnpxVÚx5kSvʠvb+pS >f\?A!`k{hw ғ mb}2ڬ`ݐ:ۑ?Lk1OH#TcI xA-tgH`{c[m.\Cg 0iXyDI@U'ڶLnE(,.!#;ʶ|^^b;nK1:Q8q'kO.Z&qXn dv'I !~EF:J|r!ȍ br47)A1%wC9"N[C0M-Kի?"j,eqWK3tbY J΋I z;[ ROpR|q㱇I!ƄkwfSg ˫rRPbs38p @wxȔU(04ݰ:`qBW.V?*'8½9~a2SyjP|' H+{`P:uZ'_m5ܗ#C{`(Oa< GGYXrk1c+l!e*Ƕ"H&QVZ܈sZn?m-#qXw'BvoֈȞTEG"[:t.h-+rFueůC#zdp FCW#miYezz> Ji-w"e*[Au>p09 ؘz[`u3р{* -݆ ^\0fn wqjҵ#Rlm"5@[T7eUnSt =Zҹ*>n^3e߁8~<kUfΔa?>}^~ ?JI?d<@;knlMda>;ԙ4D? cg )i'@7;ݚR.L$}Nzw-CbұМL؄C+SԢjHֆxWOR dqwS!LE ~)GS&]d< l3'kpBCz6A\aEJFlY2_\KlS20_ö&\~Ê6*BqM27Ǻ ãof uDZǾ+L7&* =9aHm˹vx|bb{tal/VPcVDLX^͊V*ϒVm8gfmB&G֩U_~ 9zG e%H JK^2%{J3 atIkpia_JBҽS!ĝ\QG5"2TוYU(q!wA+4CqY%AY-=ATlf Q\ "ʝ.[/ m`B[VVD8Sd=2Y>ʁ==šɅ,59Jx_wbN"IqD^,5B۞L4AwF /cJA 0ʾNw0pv:1<3Xx/ 'S.TLB!J"rŢ>a~8(/a^{LG1mZd>CޅzYHnmQI48VSЫly &C,}[p5 Պ$? r D7s땆e (CG^}ÖRLREta: mu%`#cFbƸ>]$CRD>loX>!w4D,vjl[#(K)Z3dZA2XFDYI#1 _~EV1ZkIȗ$=q ?pQ(U&]CqO2_mٚˢZdâff]4l>m1A}$P =A|z%} q3~'6%tUK_Pl#L8=-C.St(\U?6DQ7 B0-ѡ- i"тOh_kquլ{S[]TFduMz[.B :"u+oZftȒ|d,@1_ |B|77&Wr W FPmzv貂q1h@ zTUb%OořJ̾oX8)g\[@DZcbC |U}NŇu%}5BN!h:]>dV$cC%X!2A҃$ <c0_jf"nq ej: wŌuz*}f'6U[K>چRW fb]dc9cnw*+`!L-aS/c,ȋ!XCA[Sݞ41&he:p8DdJZ2 4iXHJ$JU]Uo6CPX'$m@Zq,Iekg8ú*A`լƌX$4٦=WZ)6OA#̯>[!:]z6G-Ž`Qvh5 N} 7⿩rZ5}&y`vz}!Xb%oڙNC@}re׈NbDm+'hNIi⬐ibqABXW x,}QA[Z/IqC !-׸G3qs2(<&c#m֏zLIs}6[e ȣ5(FKn;-Ӝ,fh:Hꆏ7|J9U=?0y `V:\ #Hr= @ay@jWLeirzg/-nkA/- , N+:k:zy+ӫZܨǍ',6%"0Ul'pZ)1fZ oOjk#A6 swkU wĝiXzH"L#KUA@~i!c@SY dkl*N~&S/QﵘA< I~N; "r ~s ޡ0E{C rݶm$>}>pa,~;T\,5]1ti||Y縕ߚ~}^ =s^ 8k)]? 3] q&s^Vz*_a\sv.iQ'U*&Z笡*\ÈyWCncKnesNmw+wb~`ipka/޻Tk\JjHC-_,kcgT~Zdkb.JUWfX,k)߮kM;.&6S旫X7%M4QCх127]ha/5u. ПIM}u6/I- W[;,Tͭ8Ŗc LYQ}&o{ZCMHY~[u~`V) $P ԿHg•%6[F#<~8m kUo-@0'x+SP]3WW'8W)T'LOx/{UfCיbqU\tL7Vn+(Vc;)-_ hF0d') zlPw;lu`Hqc$_o<`;NcEĦr uCjtCA)׌NrdcQgO/^T(|"Ġ( PMMDbmٵ1%UvMóC'Ӏne&5%-`%-"/ ΣThQO?* ciװϒU+QrL1nOA(ڪ}i(DqQaKd^y -쓻"e4ih#weONɇy Cĩjb-y<)kij~ xI̼rfR;N׋1ҞvI[nt<yRhQSx%JQʳvM1 34 G.2]ѓ~5~C&Es[5FDRl#w)m-})Jײ[%Tm:ZdZ64v*TaiKP`$Q& -av߮RA 縨M Լ?1Cnâܧse\2 ְjj'qs9P:9'IU~{Im`g1+>-n)tݶ}| ^z{klag}e&:Ly %(N=ַJ }rChA٬LfMyDP Bl~L* 5"t'I]T=I!6pR1[DN`=6^f7'(KIk`@,[cȦy 61ICe$0)Z'H7SyNBaF*q7UAuqg] ֍S vĖ쪉4 0>'ҨE{l]fF&J`\xL17R^6frA0ݔXmMM5;|a;cݣq]Ng )VAR+~jG}-!5%G\[|џS{|rTyԁFh\M0dԈ*["~7c//YHO| hhǦQʳe 4 k<"$S۰cbV/RbEx@CF-%f|824?f{1Go޳fF7N ;Ɛ` 2 RQ ' ÒX\ud2ԕt,RKS}=`b.L%ny;b{`RpZR K C1ʦxʻ0I?R!J'Eș"6ioA}ƪ?#d4<z,}7xVxZcvbP&LsQqs71-rAw^gFvz[.ZO]S]=W]f*/[ym=wqAlL'MH(&2愈~=sK?{.QA:P5Z^JH$ە`~eוOxʅIpE}'|2\3`N)TPV3} BUݔ%҃͝5uW'([ cHw ׍#,P~gx8DN#6N҃A"[GyF G+hEΞ eUv{gjaYE رYa+KIo|3ﳨ(#7_ Kq7ԛ-٘4'rLK9P*tc K{%qNNSG2駈 aYQ,>a.o񵬏~ Mp\PסZBcΥBcnwkOmƺG&?&}W2m7\SDݼZ4\]_kEa5?yb=4f |g3[|=}-S +ɦeU[*MfLQFz)<yR%)Y sF}3X'+619BZmߝt~KI *lcmD[H""CXK{4'?%Ѧ"<-#Ǎ>9r6ـEKhO~bkt6<+Y/`7dbLq? ~ian* n4|2S$Zi5/LԨ(N te\Qp=k8KAՄ]9)|ķq']DmUo= a=Tdޚi?ۤJzfԁExEA<DM`B: 5vr!tM8| ,i YQNEmC"N^.޺jJ A{`dgرh/SJձd:J{d_1‡5A`„n*SA3H,)䍢g?횢zj+T>ufji+n@0ɩ0j<MBܮEȔ]0'סx{!}eٽ*Eq|5w L m?Ķf}LRhE>3od'_rA"n(az 7 E_%LÞJu+;:_h{2{2oS ZEw4=[yIPǚKfp&w/l(TqW&_*F6,/j%^iX>T<2:itk8Dڟ sHC9M8MR>@OsUց7uE?lJoF!2ΪUņZa5םX6HێS3)797gƭSW=M0(KmJ9KkIj o)+p{mL8쌡-GPAoWn'?GGHAYmb-F.ȃ\ JIJv`Ś6qW5q*XT(m-M1FxυTmv_EKB1AS'ߕOE:VfR-Ӷ+\ljuPy[h~$A%N᷹ڣ@pN8e}dQ#Š:8(zhV2F=ALy"69;YFe@:Ǣ>U\j7C{C?: *btKGnoc- 8UKE:ڵkDB2 P ^ 88pZE,vzTQMXzeI%z%8kPgRcK9Ӗ nj\g'Z_dCD%{%ź=&h cPlc7#<VXEp{/G@nxDAQʺA,nt~?2ox8K-$ӭ>,=%ϑu+1,)ޕ#:5@Cҩ4OpFvڵ g)%񽿠n$$XNySN%EtO, Q!LN13}|3jZ+˨`oqRc(C s(䷮PR'Uex<4g-]D2hIi:xP5 I3!f4/{Ǧet!z-ҁ6~x>l.r<AC _.=}8X/{< ?Q51?ڱ:w~'̶%)BߌOD&M=h;mijD!Fpv͈X6x-1ĭpP>ɗ6I:Ɠ?kN~(#FRXR @*9)G945Fvgo{NrD#_@J=!w?1L-.Z8^}ݾc&*VI1WjPj|D[}9֑,2r(S?4$,x;, F/c&;.Y#`WVc<g5gu\ 2A?((<ڨ1.Hu@,40?8ωDi(I`,X_+T,kt4t}-צo)Y.qz3mcejJG^p)JɊenPKT޻TR2$$RX6uXj!H/w HC^^$PfN~2dhmH: I3>vFU)<̂ 0e-ZiXG5s<4/u;?D&|^bȡAyIom:lhƇ# \ {hWqM-H%ҥH0[^J>@4 ϸGn˰pdÌUk9B=7$ߒJ::C'9m%ŵ/2?q.,rYJ]Tfqx}U.Eti8Em~(/ld _6<>ԛz³ftLMUw]QRH )lFߊu-Bճvf8S iR{A$~KɖkQ[S0/wLLlz~,_Zd<}.crBDI2 L?PYo@mݚ#ݸ/; 4\jg06& -;j@a p—m.$H*Ocu(!ki7XW[S>M*kWTT Ce|NUfZq 籌RlA8p3[eGEb)z [粸(hoVA~IP"[(u&+1>MC.28m}a}>X#,.a]<:&f +rXd%wU3@g%LE &#$hRTz6+đY}O.C=.NFs34zt;Tpj|7 =X!Qz1, AŖbϑcx|geB Ks4b%c ]4$9iІѮ M;Aa%9T'FhL(^5"B׳vAF (bOv8lfa"pP~*h fZ2;s2g[":(VĆ?{1(5߈/(I etS5TQȿ`MDŽtg̣Ο~6fvCwr^U?_uIj;x3w{j$æFD6)~4ң7jq@^AQ?ӜOdKP@q|+.x2\{:rl8{l"x鷒]&)K eZcW dGXu}ޕ7 yDByN #qj kUu(L ?㰆$g; ﮯ0YsD^3q;<.m6O?iƒ& YdaALJe OR_s&>Su ࢭ5<Ɏ0?'A~VR.uִv"'9v+.B/ sٵ^ڜRҎ2mu?ݧM2=%3cֺ0@2CZ*˜ ˁA3 σOf)a 8HxCq!wZwb2'T++ 5*AX}? !T }r^Bs!ݢ%a^ac(ϙЂfK ,?OUvlBa^C 66bR.YNmѕc{t1}2;o)oߧg>ϳv eJ ESIーȏ,{V^# YuK @~ i85FL `.::bb0/It.+ psvw_)MuW,\hSKk %[P/sGdc? g;wڒ]`zKPl)G$ *i;v޷G\&Q siPU! b@Y̾q)[9/etB %C)ZaFu[.S Г"6cqMGhP'{b8'临' 7UōSR˪XR&IhxE4}R&F]%D@'1."US.CHKǘW7Я*3oЖ5A Qy~V/,?Blc;oN_vtZꏍ ҿ< P'mAjߞDqjEU9j%,lh:f_`+ٖ'<9 > \'M\t6D`!oǫS將^Ap.e0J輀d{&JYjNؑJR-7?!khG'Q?vԡmƇv݃vޠQmE .+,_Gщj'I'{\vo'L!q(ـ&6<4XajL&V;$΀P EwJkݩ4ih$AG|75<]uL]ToHCb9OO|dRz[;rdX~baAWSŬy/fUŵ9)F2Z03wP<`=k6_%ЎiĄBfM ^HnuY6Aѝbv(KK`=[ۡj-^[V %ע4Jn$ D*;:r:ϰGY-r4r-lyӝ*1N,3ʡ'E;)X(])M[U:\Re@ VnB_דPLpȉ mg΄+7}4'|[-Z~A n`[o-nK:8fAҐ}QcDB)e&wwwuCIL Į⯮ZVl_$/9|W':NC fGȣ8ou bBJa9+^3&;B>;=y/ _pU= 6:=ШlqsQsC算|\#: 2v҅%NNF%!qm7ˠUr|0-\a9 UՌ (rp"S򴣄^dFwFG)_#guP&cx}~>{o.~`hlyƳHyB`:?@v[-(6 p(Csi71ҝǨ$Ƒi.&STt[`Տ)12H[!]^(`s;/sJ ƃ1J]rye ec d0!-5Z|󛘓ƒp225\ ki*ѭ+sȀqđ"\QcMftʌID ɅB*/uBD;¬-&fvNhE| 1jGz1Wo-ϏPH$V6z$Ay˧..-V]V(i‰+H3s`2 =C:>(n^TgI|<:?c]J S',/~ޜSea& h>=NUaB,g݆/&ra{n5pɗ2Q5D{e8QhwW?r6P7;4eB<;$ W6,|wHn f K+1m Q276.$_W/Wu+K%9uXx5Ѥ^S;NuwM;.JeL`GDI\' _~j/YSNa~ZKCן cdrQ5W)s85T. V)w)J ǛJ#tr bDn.{@;$p֚^!u ?Xʑc2z⬯^ ]؋[ DA\!P}\Jb:rB4~dDoVSԯ5FLZ a=eԑT;‹H)cPP/zߠIG-B_{w2k5^!&[d>k]Z GY@HԷƫwpV7c* AڒP؜{H<=꽂T >(ɹM W]>=LDW4ŋ;l}ォ^?V0!X֟T:q>qȊ'R;rNd1I:VEؘю/!p|TO8+{c̼na ܡXfrfV]n 7cWíiCiy|b協Wz 2 F`{#EcGYz5J9HDnV LX+BXS2H:[;k!.F`ar@#0&̢r%BvD{ljw+a;:$O)41n[pak$bAצD&UP l;Vs7u' SFW]Wrz4&x9Nr,7i,R|QW>>M=﹵Z+cb4^efEg }ifs2͔>lk{Osw `Gϸc[6^p(Dj3R^1@(pM">,k"U$*wOьSn6`/y@_`%]@o97" h5:/uHZ.Au/!6$=ip;$1x@ U+ N kT"o婮)'@ (wwC8( r&Y.!($ W+f֦F:->>kW@ ]:#eSRvsp7Z=PZ>^$əVa#b<[0!; 7(BZ16= pFڔpP%B8ț> ]4SBƖښnm|"G \E]MPj1MŃ7n*orјd!8UB-|bO!ϊktBR;| @gJ{ ]T93Z n6֔mZ$%7\@@e goיDUzo*,g˙M5&ϭm;6ED'i^uPff`6yۼT.-z&(%}"QeH}wFJkDo &$FOHFDZ<[#CSŔJƂ>TP9NsrA;E}S6%3kݍیlbs'P\*;[hIp41H {*F JBk3~u-kM|CL ZC= Y# N#{WP jB ZqŮsʠ}dxJu!gdm!In]чBtEah8=,N3KT'ArT&&)vT]wzחMAѭgcX zVD3KLD!^3Bm d;aηEĎ F0fˎUĈƩ&Y4;Á۵̐\M3QOKD?cɨ m0"mP{.r0w!plFTQуD[˳]>Z TYä8 XtJ1AӼ/-q  NGQ>H1"c $}JTںM[hh%Mw E:t27]ǡ-łf[t7eJ-i?2U84Ԉl)fek.@sV2o7}dBc}ʬpiod Fp A|аs4cyK X ə'E;ܣس'=nY}ݳ,%-G}ȃƈ'.l<,n+zu)4 <"?e@۷:-3^dV vV] kz9:T/a, eB$i|b"\sfj]QٕJu H [.nK3d]>!sCbbq^6M,'*BmehuKRfZ=%7,ECRMK>%+زs|u=(LΌ)T,MsNznbKw,$`O@] {I{D2œr$v_)|x=F^͊zݏ:x9[Bq~ IY|S$7q5\\BۂeeH$r3fhvSO$kڀJLzk®"Q%mZBd40(xWu)OExc;/u_҄_ToG7ͰiNRIhHM|[!'HG06?[gjv+vf~޿u11jBC~]'H=O1Mv2y!i|̛V߉nE4g>@)ɋ[z?/~߂fon#}QN-ۻ+.p:҈R$Lad/JT9%ϠNA5P(7BǡjәTD߸[2dWtj7SJweɏ?x_#9i%$D^-1c*C(tz畅~2)S ͠Ra3,8zaJ([ZSx7Z{{ˋX\z )sHzc:XeDyKq3):+C{dJaQJixѠa-mal20nF(k I_̽0n ]mUC;! lULLhUu[_tQ0aP[I(3ooȫT|kjqvX`XhEI~.]K;r[OHCcI#.HckێޚX[zhaJLtb 4@Gs\FG( hZJ͟) ,n%ԩr@ڋLPQ6 :\)G-@ۇe WIk2'+`k?CvΏZ5CuI=밆@u&;p,Z؂w?I4Bo<6pRi3܊`Rc%~!#7fWZkJ_\-#b:l7Pf__N=7Pn7K2HfrPʄ^N1!h;=xk3LĜ Y%uLOs\Gͯ@v VMu~ ɿ@d=|0Ύ<5bpwi>xeBvHotG޸I Zt]eXހȵ~@uE)8+k`AUX՛gƜIR3p+"eRR&e/FF~:BR00)؏f3Tu<7酜'k ir.hU@ ,%.ppN| Tɢ0AM_̄X[b卫s1?v&uZ!FI;;U8oHH&\,Bq)\*%0^ SlX'Ԁ3s=:$_"߫&[. NL)\ ;TP [?l8#J]tDZP迌f}OtM8m-3an&.ʠ֬X]ߘj@n rϳ|u7Q8B<AL9B࿪1r!bFH5vsAbG*CvזI;eⶄzSxܝw\F{1:*4` TeDY<ʣytd *J)Z.Hl5 b,1Q՛|i2ij"E%_{Ƃ]ǿkJ>8?0FI!୊q P$:DF` upA!pRm#g[I_䐦q\Zb<+5 %t k0aOqdjM$圢E]vۘ/ \G[%^ H56ƹGI.~Sf{_Ld ߐ UTÄ>;pԬÙݯ#n2-B.u2DPgjY C0 `x`@H moJ?6,f@yc֞UMC@LM ?s4rA,8 ~V Ejv\F*trɀj͟ά۠q`Zμٯ:ٿg=Q#Ϧ5f1W&AEl{Xj%CbIWVfj`XϷs+dHOpS^ V y&MZS46ɃC6;?5D8k|uO9k%n/%46TbeXzgÓ3:sOfZSzk*mJE7~Yݽ6 k?ؠʒ#Þl#b$"+v]{g+3FĆ䗨۝^2Am,,(?\n`|FXXF]!ЪӖ`+hсH+$8i^Qp7#9hTB+!$#9ԃ4TTx࣋dXq[v*\n>r);Bcl>a&PPW&/~#7 D-]N։з)Mݓ6:S JNwRt _npͭ qGqr\,A/~T/vjyюvL 7T]7ʥH ag!\ f:"MDǭD4{I`피4&RDF@6ۊp-m 6,a`N]vNOQLnG{2'W-__b@ cYtC9 & qV{ t 8bQ1bdjטW(4h;SdlB l~X<1u񴑿Y d4LaTSylz#6ߖ`Ziz^A_O_RħfD` PMD46,v8U+>ESmuÅp 9(g `89kL .uژ75Y H&VءXj}*[MKOE逪 h!s7DGQ7g[V)@ٮvbM~[2ALLy#bXhjɋRѶ5A-mwC/u^& kWY46IF6ˍ GnPnj!~z{/)ά~ql9'I\/&h #5 Ap;HOL{h,>laɳRqymԎk0yB۷|+DwV1<ۢA4ݾ67d$ 0S8|a諴~ylrz@tZ}ϕYN쮮zaC8.EЄ'Kh~[?nڛ1*mGIl„[5TmP8M+d$ `=GjwYhjA}:Y5,ԁ!im#|Yu=[pWD-E*k=XqƮl-Y3Z%[(=(N _9LR-A7L$jp8mUAI:l+ Yu{'1O5ޥn=3*H(<4z@SJc63h(u}KQ \_$jz`#f͂-݉,(l_mWq>tܙN%/.a;$@FLZoh.TM&d )v5ï(Ɛd%;B=+&PÚvҕ$ղ^ SYX\j5hx2\~)XIP/|ت ;iT@!!3] U  hmQ]|d`d]e 9!ۮ]#޾2+ !iK:p\>REb}Aha3/-9R PB FyQ}CE!] IO~^aY1*VbZ9ީ$t /b V/Ѷ@uC-ηOq8S34[ٌ'8B f,`^q3BIatJu,ȺVe H92d !ip#| J *rxN#f32ʿ2P,RL!\wݩ]C9U Ndt=Aߖ<< Ft=UvA<вhd Y:D)3Sw=XUFʨ ]+**mt9MU24θcHNd5`S r \$k= R{Q,68a E,g(xi&ΟW/zYe @Z'_s ~2g>+)!/e P'Ts?Ktǖu-AƮ#LJyuVGVآQeUiq4Z]'%!q7֐,/CcN+÷5w5%)åZAiRLj(Ft;da#H\KL t>[K^D/p'>5UJed|„˨dɰ4܎Nh)YZ~2oCe$uA6:Vq_m)n. k '}jW2~w+퍸 vf+mX#^)9wu#..lUELbXܯئy%thĤyUhqa 4'=_{g*z-W?(`; @b!-OvV= MEĨ/&O* EF=P`vk "U^8·ARYS`68{֑4,V50zkYC|(5φKn9aVvՔڨ=e bV2yAOI"XWv"VX۹ guIo1#9̧FdK}qQ a{f~va#g!A%&l1Sqz6%,}[:]|aʋ /qn>֖ٓY#gj;:@""NNaJ=0x0R㎡@ +ITM4wٕpe[e'1^Q^mڽ8AƛG&W ͸0 U4|@-vfV:9nܿRlΞ'mե66&ܛ5 e֯˨QA4y YΈ O/PI *gR~!?Ym6G' ]•d.Gc쐯%7wY)Y\[%=]snode?'6>-9p5*fQB)z.2<$jI KP-b~bʷ oA4I$m7ߴϑ=w\:HCW ,my>n }6?iaɲr%!qɾ7BǟƷ{;JE5帣:i AZ0}iB3U'Ku(u=S_Ϥ[bOhK'i[pZ- X}ѢdZ X2:hzE$;R;HcW':G*$7LEjZ4:s`oPŤ{pf׾}p2&gTI98<¨ܝZdwlh2zg@ZKڧ`7H2HBc,LJEl/dݞ3jW̥AE.: `@8͸ViÀQ*҃ޝs*;ʵ//ʤ;ҡ TkpbnCm}c(1"Ĩ4XqC#hE۱*#Va?a 8mg+wKd7J41jPw谧Ne,˝F-Qg0ܸD?j9qJ) *!Jc1.8D(}ξԽ{zR2"Em .DByQldjq>]ڈn#b$TV׭ te^4~ϱd9 z5gzO./XQkH1WmI`Lg&zp=n$ǐ SRn~>Z"KQA}gsSB.K&4Eb>cV! VQ(͐JX=AtA-L$[ٛQ%&lfLup1GE_O+M"›(M *]W1sѝ1S l{U)$_= Y)`^F+8O(M쑆nQ" 4x5,Vw> |"D:u/ 0%5E~:=UM*z6^7rl4R 3)A)T` EtZy/t=_$씙wQ$W( eu3V Ne(d#Q!-v_}JP1W؈`&k?0\̔Z.>@!`~jbgel!J(' 񒠾s6`6g77h(̒:ѹƘC*d lju@j$  JyW ؝,78C9ފ@#iMˈ}-555@ l*qKD>`ţß :IڑV5}cY(뼴d{"ga; go cL픨&61ewK}܍1^tVVݛ%0(,qv}h;h ec9JX3+r޲.e~F9@gM AbX/JS83ᾶ*WxFUeK 5^|w)$蓩B }f.룞 ,>,CY[K(Z@-Ò8Φ2€kŲGKVuңG$نrP1/x@!z8=Cjp;|)1f?8?$(Tx9nscIӸ駐+zZ <1#^hhgbбD;N ڎ-e!䌁Q,#H5%8W֞άԆ6hјOyr#z(3,mutU#^1P, j`SD?"K-bp2ͫ"@xT#=]twRJS/&MWA_4w'lm%G*lđ/-N K+mx4OE#Cy$8^1PQg=Ka?+iy)X) zV8fsX AB2̆I3Ʋ;BY/\c?xtR2j +=}mwъ}r)% \j`-藘PbkðPΌ 8L8Yq7lAKAT{׸l KbeaHyaMmUW'PvjƝV!*)0ҶUVwUԉO FS O7^#EU$AUnw:$rǚZvS7Np%j<*u+]0ݑ:B~dDJfmwўJǚKy_[{t_A}KI>4LU$Y~ Sj|#R{ׯمf3ջY|Zc>bH d.lm޾QPw%?&'mޮM;f!Oy!>Id{~@>X.dIx[n|/6xb̏2SOpmb]H!W0kAt1@Β|_#ddmVA8쨕+ &cӌ^+`zٍ&W *m[v.7Z~lCZ+76NΒ ptQH޽$|};ÕY,z0vrXo7 i<2E<͗H0Bd+rwڅw 0 Ni &f%SMP j&)%߆R!׮5Zm5' ̙nCbipjE# [F+(qܫ7[dOɃՠ=Ici -td lYxCphFM{b.a͘1j orKn̿EW5 &j6Q|~ /c(`BA?ѽKjHXM%3f/v>q(IO3&Q8f34@8F(_ 9ն0Inġ'|&QSELNↅnz;G1d+mm >CLb!`WIQ >,E C-_ztJR [cYڳZ_܀xo_T ZE:̒vAd|>- ۋ$m?ol+7w퟈3ۑd+M{) ,W#rgQh_~=s764C1CG:q"xk$tJt< \8+Idžmk:wUCZA@eBp#$D3IPZ(`NQMatfrxcu=d\XhBZڨ<45` H"Wa@.S2f6 n8JA.zX )Z0ilj]8O kpAyw&xiOny=wֽ! 즚WcC׳0(Wb=l+nys!gi˟z_*Ļn_6qF9=l2'64tߡ{m 8AWjHݐ5(ͦzۤ|DH1)[¶eY[ טMkBѡFuqCxNk>#q? yۿ]]]|9Fg[sbzGDmhhwF"`Uo Gp5fvɃ R)5oO EG|v`74[ưItWdsor|32_op;W&&&='t-(Or>/ I =˜}vm %5qx>s8Em#9Wq`t'N8]/բu듧jI;fDds?clk7WhyjS-F|y1i?Ǐ{LחLDBfq8.1߱vؾ"JOXCP@M9 #pcn˕[ηZ*:{.r^ {Mth Vg M?k A)Tp)Btp ?1l.`ޔ+)w,؁<~$W!a' fDLoCjzAp!\&BM}i˲Y5H,ΓNj[ƭe؍Ht`|B(me Pi:f_roMDӜ)lՍ)_t00ӽ(^ੵ{`q0,Rg^ܑ-̸h[()hPk85KLQܩ C4Fv2B]M<"Cb!` g9:;ix!q .8GHed!skIƒ@m96۫`+*`(t~j5bCCU 8xP>BD1媥n[>a䥸Esk0#>4=W"5M,gS8_r0d*#~~dⳀMYEknkfK7Rat+Tpd#4LE\Fb/ 79f%w%[mpDG8FkhU(-b(A-i F& 7\֮J=*E3 }||^M孜bҮYr /AVXN v!^#nר)P֐p7V!lV ),9xgZKlvqA`#gw’:VH &Y5ohҭ:f:TʫߖENa1Ɖ7-,j/hfʎYRrjÕax9hܘ!.L $ q*SٻGk>ݴo8iy}qT0=JƼh42YpU u9aQRt3{bgA~t5j(Q'd̛%u\sDpR:!P\ݾuu[\TPckȓ6?Pu?ßƟbI%ZXSڊ(u@Y.K'n="v!cJ,;;= 8_-6ۚ ']=ECA爌0XP[`v?F8El-)-9|YhOH%FP) nǞ_B]|f1)6S!( M)~`|]ba4.AWZYtEO5 h$ccYɩe!Yjl?))w"x\ ڠM_w4(~yg{F`;ai׫55Hy׿TbNW)רv0t=^ 퓵^Wm inTϒ;ce/R-m?]qqY[B*n`(셖ђrtʨaqGK>:@G!M3SVQ *ULmM`8l2ӄ1_ Se2bfkfԼP$F5Yp~e?ooq~C3_ܪ{6&iv^Q wu?OXQ+['3sQ@ɛARψĔ5$UT2:ySD^$/ذ6cUr0׸К ullWtvT*x12-,bڢ\,̵%L'l6H"kapSZ#bזΌ._x D(hq 2a9q|^ 7Pά,'7n'j" e5sB7RXE0L:Sp8aY*]N'\szvじ ÚVֈdI3\sa1z!mpBJX& m|AT<|je\菐ι B}7A߽MYM \(Ջ{\;'c̪3d)zg AlN$~Q2a`r9*".OnvOi.v^BӔetGE@p2fNLRq7qa/ÿ,m })FxT>T .w,е_'(; N⎨ܦ~1}>T`Su$Y]G +r{-D@P(ӋMZ}ӝǡ/1֬YUcƪV}j8C)ya/:hCaq XȯzZ*,H8ZNw{jyg՝vFGv"9s e^7*/b)Ѡ+x\͉0 nkqavAܜbctՈ=`%}[jIXU+vȽ)8[J` s,-3e @N,l> bc%B`G|bឍb|Dӭb[z3{&RW;|w: MP?Uu(ۀBƀx$W:Ep8Ͽj@p+9`5:u[,A.& ?dfAG`Cp>3̙l](Oϖ28rMzG+e&"Of sul,ҴNmS%2=VEiOoʄ5Rj}?HE:Kي."S?\`Ѱ7 G1bpƂ WqRh۵!8"D6 OZPiVccUb*d? 2vj|!r'C/@7QcLԇt706AeO. E<C0[Y RGA)kc]jnMuE B!q8.i]]qD֍ kEVqߐhp 6-BJl*ථH3!NI9y}7=}Y|t \ e}Φ)vbi!loPMx肎C_1‹B蛋ښ:!H? t^iY<_KJz6BhL_@ށf ;aX_= vIQv7De cdc׌3|G?4_ecWV=vrI?enxhucH喇FU;Bteͨ6PRfUnLC䔭W@r\qJhOM:}M\D\ cb5Ԋ% ?z6`~쨺)ECefv[,QBODmn60F|tw/6Aktvvh][T<”sCWp{A5a =zj1فy9)Lj]TBW/p۽c9Se6\3;܏ ې<|K4hˀ;BQr,CH-)R8F,Z` `h:f$@o-#*YOj&Kfcͯ?DmR2{eyʍUHcH#BFd̋=OQ6VBqIxu0 [́P)]Q ;zKXĥXٸc|7NP_Hw*^gk`ڂW}|I)e H ->'🂄X.MlGI[6bʑr_yYe0f{o[Uwi6CƙQ&1$Y5`(.H0M] DŴ"Z?S$/q֝hc ؗu5{$J.0,a˯j2焛1do=M bפv Ko^Gwh+xIeA"׹ddK{WuR;BavShɢ %(; S%9{5q-l|]j̉Mh&7/Zp ,rXDn]E:AJH_-ܝPC eݱ)@ "n^áWHkræK\2 sF%or:ܛg%b&u4kh"og~6}h'W gl* MʱՖᬋ Fsƴ@Nk#־;}ԛKXƨKbBe=eu!Uʸ8~}@yL#|~[ `GrV#:asRφ%dh]Bڊ@0ty߾s1`hNOq{6 |l;d嗲.Axlw)>@+0+L j7Cs#_A?o5WhtTd*{wѐs~9(.tDfDRB_]Y\*,-֩ǩG{;I 13@@YB>(L9,'h̩CZd $GU>WMq_3p).잧&*A>MW TM؊DngI *w3ޖU/nx%=$ [nBՌtŷ mۍ̬zmγ~$X0YH{@O® Ouղ2ά 4ED]0Ӿ4s\N:H xNjU6-v²i:svl!0G; ,8XlW2ηnL6$(!m/MٲN.k͚ʝ$|+Ivfn P#m$*=x+p|)> _ :%6Qgʈyݘ՞nZ/kQJɔE AH֎9S{Z ?!%̽΁FW?I^uIn,#i(Y6!oea= asr~0s"4 &)xӬ4|F$*;'@Xv/΂ aQM8*w[r`-}wk#"l@Hח h ײkp:GQ@ΔΧ/P;\+/*VEj,ɐL;Q$::QPfMdiO%Cj\HK6Iu96?\qRG6%|TP1"5r7` /UVaN>m%}ABV2;EЩ.I+}=$K3_U瓡X Em Cv7R>*dZWI-USb<=P-WIߵOƑ^=2d2UvWĸDOivŕ?<-SG*+{4'UFJ˯pz\/IvO|2l)a)!5"ǝbˢAoFYss4X=Ji(s \2O7tD+k K>Yhv6pIr/iHnJBVk#GIz, x/H3 ?RlcbY63vWAMomhv[ >,yy3 ~;Wm=, RQtvXwemkjyKt[L1t9enPAZJ;B>?s6c7z<eրK E5syQJ=:!gض ,o6݄I=v+OxD`SipwRhiB-~tX|U<\⒋oJW/-LM|%MFݱZ5>K;Wu 1 y] 'Z&)^ Swq)\+#Ecph>Lt\YIBD3&H;ON)pɼou qf% *)o֫:"r<ƱvM9{xmŲJUe A3.y{Iyimq\uwA"Sq܎֓Uk pC\&w'TVފ&EbmʢnP {(jylÇF].PQP?g[J,ew DQGA[ˉ?|WOnf% +).)˝AZKTvV>o2\^ 6ݪtyH0}-16JBÞL O$icueR 44 nzGTY0UXF>`ٔ*j^?zCNq}T e~BnE:uΪn;9kUuMLQNilaIG'  ;Α[ve.1-Q*W9"S:kb4Ysi!?Bg?O>q]jg .X"A|@~[󎲁Vتմlm5q0[o*_C Z0ny-ÿ U2$$d7m` YfR=, HH,rPJ3q\3]'Gڷɴ *YyKԜ J*S ?r?@Sѕ F('5!/vVP, zw("$. `vtR;v>G HشV058yd>-v=R`m7J.nWPǴĠs4IQՋSni?,zW;kpd r]d`ܖh[:8|P ͗;qgh]6e` :ɥ։pB<ĭw-#pJ=Z6Lp8x:8)eSђ}I3z~6t,;HZ[P0mmA@sM3-繶Mz@(u@˳,JlOs^ɱƯ 8I%I> ݿըÿwŐ)5lVm8߭”(Qv*(*--~3(]uOv4$YvX|,f]֘h܎~=@%qTT˪P#tCm=Sޤ+#癜{'-aI"܈px\ouvA Q3$aND)peWeP :Z<( 4Xل{OrWhf?@)u-Y{k|-~h0fupQx"u4!AKA$D$e#c g& 7.[Q}?K[ ȸ Yxa)U׊c=CskEr O?HVvحCN:4/* w %AtfXX>E='ҝ2óE5gid¥ C`U"UAԷgkD.uf{y=O$aCrG_"[ 'яPk1s F!6]=Y2߯JSE.SW<"?!W.pxqSA#"4έ ON@NYNzKQB_@zP்v0&m8NȪ%ɉiֻYW0 !9Sș].0wGDg9Q!('N5Aϣ!%ި5 _[kS9]pT/V\c:́Щ'" Xd_^i?sܐ.b7QXCpoW(amRcs[~QvRma&Ҷ^ ,Ɖ2],T_Zcs9DQ2'<;|2Y[jkMb6G >S1=;j4g' ΨUY?0Ԙ 6/>O'va?UF3Gus`H:2@2J%*]$A/6Q>M;6p7 ;O`: .$Ʃ]ATʬgQ-ZdH?˱$;0>H >CKZ>g'WxJyXJ&<^6zJN_}z}s_nƭg[m[|z֟ި@\.gqt|K|#p2-qݰfmq#:hZ+uBYb <;5mT\{Z|W5{e೯=^;1Cz߃?ܔ̿}_Ђ s}9⌟v^ELYr3}sjmIFtUz ܘ(hiڛ&\)9&RM43&VL|t,ԩJ`h=! y^ST^%&ģ}[<< dl9Jql#. -.W)`XJ@r '5)gӳ+T2*M4 i#Um4T ]vld/ +BWR=4.=sCpP {Jb}n2?^gꊀ}MΧJ`S͟[G }X/ eX֫dIKݝ_6]Nfާ~z@M\= ^+ dUKIC,!|PI [%n,kEP/'-qbCX]5`<9q]l^[CBw6")=P P@֕y?JҡIPd%T@VH/u sKCoh%HdiH^ACBg_(hғU V LVJ9CWFu~iʀqd{6R 8bK4j#; ZEes|m@!0 f;2o V3"4ȃY6޹t<#Y6tR|QZd|c r6uաa+E v AVW W%9JGLFqPٵqUuI-w4 dO2 8@a/Tb+fORQHw07hV?)I"?y-MpJ[{bHI윈;;"y鯘3l04BiPB FdLiMA)4A U{fO ZQeԣ\jӐat؞댉uq\U)4^ rnccf&Y iA]_ f|Qj(z4*x BjԘ0Z֣þp2v'G _W\>ݔM|J\*qO.dPYP#|ǹLe+kn&oq_RT20[75x~J Ű$ޟucVe[C>(|~ut)b4D%cyԚ'δYX1Jh%[@s[092dD˲?ͮ=Cj-oIBZЄ pb)}\ӏmd}]pT+mv ,3́=pN?"1 wk6 >p9BftmQEBUKKA'bb))߶\e<`9/Q#H!ww ݘ5ltNQRY{»0]TC|Hr*ל/Ckp<ɂ~2勺1)Y*w8pIC4ӬΪ&961=bu* I N,j4FTrA1{9y@zrXQ>m&Bڪ493ѕzJXBg~I{T4HdQԨe\Mv~ 4a@]˜|X)_G? O jur >ã{%ǫg A\BQdktTL/ @7U㓛(9Pq-^{ (@Sd^Ɠ[φ|*}]!6uK(٥z䟭} ")00kr/*=b.,8==ӏRYhl~%ʍ4/!]:4Iu y{N4Tg>eXAVIB2ԻiŖ?Zb'9Jz BUhX TAXIq? {(&LCRH;C0$')a8NʧiJXm!2m28;:f-\.T^ M XwQ55O|,֥{X8k?z3'/jҦ#Ŵ;}Z{YWQ̨m>jSB-oaNC3ε=C#,`Oǥڜ{(x+XƽZ[MVo]%il)v 1]*Ꮽ$ZA;frS-C)g{Tzce +@oJһ0?H1 ?92^d gMrp0k,Q0QkgBD,o,(iNYr(UٓdCӲ #}:K|kc{HȌA=&e-WDM؂s1_iU$!JɈ2I܎ 9q~-/@B|@P"]yaVS?Vv W7 qďVXe=6Գ hО6@G]%mpωj U|סx݁xaYF"S]B2K ә uYbӼ4e20.9*7IoTLђBdZ'ޣXRFx+ィh;ʨvizMQdzak[9U,`ЊXCнobq33왼$w$n"UK#OF_/UΚ sn2JoƍKd&6#kIH[}m_8؆st ,mYrɯCӘFXuaZ9Ä1if6 uRU iOS.gW) ;Xu? G4b^"Y ԝ̄ g<Džx/Y*^݆򝠔t)}SW4ml:E|MC V]#v*B٦|+F>OPRQHY[MR=I:Zz[JZ susCdUjpIR' R$nnNjRh']Z>9(P$ҹc≙wIan2{Nדj۳_ƾsO2(7`,;D/fa DQTB9v&l*@ ]hH־~ڥ7MR=*kB;^ua<~A' P hɊ2P`w[g M%\̋?NG/[e't RMGnC>L :9> ݙ < WZ'rۙ?҇3k/8GYR+۟ O~%N Rڐ `ef[λ)99? 0ͩVf "<ũd>FxgO7sZ?WC24H0<)~ _:'o}ci `_WV|u  z(~L}.t豗 AgpTO#V@ܨX<_jpaPNޓBqpR<".';ӓ&aQ!5}*Jyo ]2Iܺk8WQ!7&Vk?IٶG)I+j\F5<sjŠ އY&db$Ʋ5fg; VA~'rpbZ9qDL51 )r(v^(FZ.=Da*\CO$h%A!:F~AHޚc_^X{hrB1] %|ee@SU +tj0/91 6T9!҆˯';[X^轋[*-wj!R,dZ2~^h$v:2JRGr3KvNL {2VOagEެUUtgϳ} YyC#II&ɃŴb 4nEDߋ:tDx JW/-oESHv7R~ɬ=U\|efpd7R݈P'i qD?٩Qrm wgC+rljYr_5;%!Ȳ-Lf}9‡npӍ CJ.7ғep)XłbڽmjZ!%.*6]"wˈuSAPx Ru +CNϢYТ~6PcF*@έzx+"8_քxǾ3q|Oʒ| ޅ\$W9<tc}p"`t56QRn$57@>3֌~AYJڮ"xWɚ :ol/3MX9JN^r.AЩЃ &6=Z=kAqGyy\=pt> % ӵ͹ o=x,9]% }4KL2rKl1+@[sӕ^+躴K꿭}!m7ykMgv/eeb _af|ړz)!Y_>MYL\NDZyҊ$xg&t "ҐBx]˚kl(QNނ'#C{?MabӒ$Dp)oIF诱P #)8'aAgJMWmiBYKf*>w:,ɟDU,9Ǎ]-X\R4{:)I`cJ/74h%qk y(|Cgf2Dv6(C9+ۼ1lIރC`>7֬J-1; :W R烑sQ՞E,U$t,H 7E󟤀 nf;!J0#+ijE5Ap_ϑ^:I60 5K)QQ><^ PTĪl[ H?'ol(ykFCZ^PVLw]:Zx$VK7$Q2ƺ]b @TEV;Cs]-[0"ׂ y>ԺDuxT%|{ꍣў&1o:Zu3!l/ ?CQ&q'qTb 83¯R XgG |m|,QNI*j$uuNZ Lz?`l`|ƥu%޼'q%Z~Wr@}k]#bؠu_{@%|:,*JkPKٱWſu􍅄sQ'2ew죌{TNupB%T'fK> Ke^zD;28 @gJ s}f/)aFZF.|//QF=Ht˿=L@_Og %Q(" ]Zlm X\tdz~>F腏b y( ?ac 08{\ 8W;n,~6@V6r!KT> rz;Ъ( ~X&pc"]+UrsT)ؒmp]S{vvIJ!ee3Ċ҇wp>epf4Z)=wH{WqA~c^O8ra=ðDyjx/\;{Ox:JN&l@L,H.K!^bVg!;OJ1G'3?Uztd'~eSFǗ.yEN yVH'ͳ#r bL]2Q |SHdRvKgW4A5%'ETKmkaF ɡ"|7{]~8r{6z! gBp=LJ t#_ @gW<ښ-Ĉg&ʩMU[{ A(2W.oȂwei~*Ih{VKF( jG?>)4Mwh0 m. ۚ$\~$VM)/YnPIҬ{UC̴e@k#sn5NPVkk ihz#yz93iJBw܋1_;b9ZTutL1 YOS* VhH_1qMnek f1Ӣ똗x5Dw'-Q9F)P%Tݵĸ{ f3"}Yctc64-Ac}$퀯9܊S]T$kVT_ӗ9X0J ukS/னE_6.ZvJ^̠+LE*PTbZ ApubBnGw!@ܜ-~-Y֐8r6'$3eBȣZ"`W:t6ЪšABx8竪47m$6c̟#rPEjl;(LfD9Q=v o6[xVUb =w敃ًr\Sу! G.*0C&)~42Ä[1 {!Ei_M8F/oUtb C:4 EڴsSYU'֐zro_h7czv9z٥410/XO O%ɱs,͞EEL0S{MܐS^h|ׅqEPk>94غ3ul_c9e~(ƓMms=,?F(Csm}4<,sa=A} #Oy4;s MnW\^_ ~?u>idX#MN~]"| kohE&\gv"a[Yg}AKP+6Bnݗ| Nɶm7V5*].X ;ҝ^TI~R_mripޱ)h`Pi5(y5BFC *=q'7haUX+EX"r%|Ɨ+eo]_p"BES-j8=klȵ,;Q-YS@M$:͂PPP$82Vj|j- /Z~%.y$=D?ۣ`1sį&{U H ԜFW|$jH6{-]86-ߚb2ZŽc dOU,1K Obgt]ڀb.r8P_#E_SAڡX}?vG~Ct2ID \ó+V uQcgjEJ pWjj_݂؟'IG(V#i_߳uBLuq_Wc30F*Ym!F\YS&?_\D BnYO-UyP5{R# ڃs3/i3#&zª߹8 >!_+::ˏo"4QAbur>ĺ`?'c0V)l^LaX٬ Ij {A:9C 扪"đauUĜ8eY`| }<;B<(#Ck3ڋ&:Qr"ryWVzH0zz.vGM0Y}қ֍ȑI2H qZPXˡ_oćZo[jJ9Ma3gӦq`o돏a-?)99KOԑר+M? A;on|̭}Y,-k~hZ51A= `^.4}SYw~=!GA~2 b{U|CiM:nUZxg%bN5md^wa2gg*9q=>w@={Q/}L)W5g%ZL`YgأB8!A%m!'o+/rKT]ϕ]% VL1w&rs]cN:"y s̩QtЈ#fV:Ik򂖔f=o#Vj_:um,{de9s,ܟnriMjm&kOb{قwN|[řF1 U}47_6\7hdļxZ27&&? .@(Рp|?[kU@F1w_a›Qve~zCF=YwR/lv vVW瑝9$YB*@+ m4BgI^ﯳq~zaa; )u 7x Q+X>̈́h->Æav *<[$mqC6;ӎhBl@eE,5)n;0Uܪ/DUΓK6= ;tQHec[˸3 )x3qIY0`S7O@.'F'l!-KH\ im4%%Z2r$ 密UbQ6sݕ⪥@mm4ߗ9HǷƩ֌GkGK͌ [yck:(D`H'ɘp߭}Q[0Z>;AGbq?2Q9%}ʎe\<.LnßVj BƢzIJ? ZV-^48O=/#|Tz=#òUx+RKڸԦ<^iЈ"cix")|ũ,t>^δSuWC2k+W+S+p6aˎgQ"UiJ#&*VTU,&`X4a*1\v'},]i h)o?yW{fC[Et pyɢc|kM.BNZؓ̐"e:Tg@d#;z`:)t0܎tJG=fWRFPЉ&xt [ \m@s(CRоUibE&řU-b9G_y nmr[P :a\%B[ds雁K=?TbKacj@Q.nEXM{Ix%\-Ɵ%ϻ]5e#>]+'ΖR b@%P<~X y X_e{/ȑVҴ P7j#qN$ \v*4"liֆ@kXaU/Rndb.6IƑ.e/LZR@X9l_s%-FUŦ h_L4=߁YFZb`J}rS.6|1)C. bӟzqA!&]գ.I}]< SͬB }]V,Rk u_JGD- ]d>޾ժZb1(ۧs Қ  \i}ĕG i)Py_%K%NkQ-VZ.JL>ݛ50:)>hi36O#k Vwzj:BA} iGJ[ v?!w]AσeXa0Sǃu1F&L=|ئ%?ɆS,B39&¼nW]BN)WH Fxm(#,TB@MWp "Ikk0lhGg{4n&ۼ.Mo uK S~Y)1'&'qKm(ſJ Q/vγ:7&Q9yV}=ö[ /_?C\slh:$&-b"u]V1#5`Я!W>HyjoYb=#Q9֕Xpx{YxM%se}1I DM_P¹Ah }(l 2/,m[G 0 Dt(] i'R_2"V>쮚zA@l#i\9Y1K;(2o~W.U- @LbGbyC.aC }Q-7r̾/ HC˛ $Qb0K+MI?\ >Qv{#{mg\{fCNЪ >#d)jC:@GB'IzHw`SBL5"4w5/68YἛMշw&, :vr90䐨#0_k`Kwϔ܂a#< 4[i~TFř g9 ʶS'tADʒc|Uᦚ\F'*pڨ"24Ar FRUoG 37-L@M2'[2<j&e} z‚26C\ots[(CWm85l1. NS} myr8<k]fx,~)ChFκ%; >{$1WtA^ʃjoJDdɞ?teq\<;:~=\N.Bm/OM A-?vXs5~pGˣhJRj̈K'`Rt48#jKSkn.!TJXv*I,T'Q塍AZo5dR Q}^[XR+szNyH F흧zKXE)6& t/ ʀJ + YéQY-LAlٯjӜ'6?" &[ ؚS*xԖ6A}Ps iPy@bD;ߡ|l6@4DaB_ѯnM(R!_#lpt8OXmu:V^aPxCi a;l.`2'k=Vc`J#':66{g`7#_^ƿpa>J1&?BhM-NjgS]κ6~I׺D[!4jkz>Irv3gtve$>GS6UMݒ?w{sh9PWy~7Ey/#v ρ׉?2J&KGΔO1yӸ[I)>af^ .IA*CcG[I8q7Ѵ C%y7vZ„pU_jP6+U9q;Ǥ5oB&{omM."񩻆tb2Q>^J1 2}ur=v?Pvq|4KZ\DH%\P]YQ`(efW# pPwJBYP+e1F~D !s]!}qWX9mU)tSv$µqΖ쀍XMe ov(ڊBQAj&L Z̏uQ/\G߁#,[ªLX42eIm8/2Q naIt"Sς>Q3YڍlH;8 -<ҧd犯[T).cPs0쥽;/xeOm6 X`3tX r-_]5"MӪ޽Y|1gxCi+}f'?R08D͵%7bvA=kuL>Q?Y3q⴯k_jQOj,U:3i35QJsJҔZ5"η~=r=kRN8H!yG>CrgpL͜[8"_R-1p fG;ty峸c hQaK\e9&}Cd_2- bE _?f6%VLq{D:h f Nq藥}qyC<8M4hWsve&3卐ڞp6A\RчW8؊9'ܣHGp[f..gŬM Y52GRRࣞLw4SxKUt:m\)u;`<藕W?`C:Ž^):NB|zR}Bl(K %,T2vmf:Y}nӘKkmOxb;SeR̔Ą8zDž-ˬ`Ӽ)usb M"XtMe(\cluh6@XC-jJ\'+FYNvĐ9eyJ_Vyd`Vwo-h}=`\2e5kL [Fdgu=s]Qo{pr6ƒԧC#a/Tt%_iP^LJ!|_?NǃQՂմL+Qn8*BM843+4~ 7vl?Ll=>ejžfmɛ=`puNx%8?Y"SnX&Rۺ ;d/crXRgI|XlCKF4 %4>6Wk&ƺյ1SRr׈WN)ijMQ fՇr b\P>zǍFA|Oq4iⵒn%YW_־ieJLr]xБ6;G~5 ɫ{q.Dz&Pԧ;B 0N eDIC&j&)$Б~6E9c;׭$7A6JLpވߛy ȍ7ԩHD((c݌ Y1G=;qM$s W!auoj|=ReQ AE|ĩ P^Ck\-][#Vz97yHŬ{u5ܬ>w~t4Dؒ|M)4N7BajJ}7kZ9 ̂-b }wn 6(2BLЈ?+Nz%f)kXゴƻJ|# jN$ajtdp7"*dlP6:{ճ{=RU6u;4'{@0Mt/6Qr(2Xm$˺BIBI|Q?b9WezL/\l)Y9U2hYT΁v~?5ULo$~$[?!X_E?~o.[!ZW;T> 8Uk۬tI@g;rÁQZC,C~O>#Ojb?)(\2rSm=a^s`[sȼĈ K3j5秽j(QcG@ Cpb1.|ZQ 0G?"sv|砿M} 5Qv[3#b0'wkIfkfh5UXNvŖhwjurU`ͫX 7iN1ֻ2)~K+|G f_b ]Z$}6Hsbflfq,J^%W4&p;/}iջwz@R锂]bh[/Y:>GWNwQ% Ό]S;傂j:xPNr3,5b :֊@EknU$@Fc]B tOb>yA ,5 P3pQ1UsmE%RE}'sC?1a,_.(ttdEp ^Ufl3%Rדs*$a>Jݍ]WsMJ))( bQYxO7s&v=e9_U%FPJv Kx@:3En=(Kj ]*Ng,=&㞟Z0(Kz]̨b_7)֬P+\ʣ8xvs?dPT}6as&Vz=,؄o A*9>X$X!K1/ R+v~ htxI2֓J|dTe~6qW#XR^^ Nķ{D"sU~+' d:ʸZ CC?ȚiN 2{'WBJnSCJ?/*5דCWL>+*.VDJ Qdn% y}_/rh0ďv^1+qqeaf ϢXK I+gQsBDzT]g_F g-Sܞ4,1g<6^2}9 %)RR1-x*`@N$&7n ,^6\+C.>>BީZ7Q9Yt ecCZ-,F31+&60. GזQ%BcƧ&x~*d+?%5Re|tsAɇǨpQTyoklr)\{NҸ,1̚wxtpYsZ;LznYFcâNnv̑ҿS_R@Ó gUlϔAM(-`gEsiZS&jHWܢ_xMnVӪJ=$7U:$*DQEhl./ Y-|7 ?ި3$]YBc(}+.)*f2W~FтI߲R}YW6g7qFT!ã%ho` h!cE6%I k z;r̈́8`k'QBE^VylQ~fLU4q#X̦8%fz\#mQƱ9`Ie~¸}J=!Ur`w|X#4^랜ffyS/e ;MD!1"ϮtΐG>;Ǹf#҂}^od7k)g ܣ[Ӳù,1u,d??Oh:4N+N"_~~bS6 _PG'o>Lr(gL:pQJga{/$6u8\µBv-] 譤{f_!Rvdb7_G'J)Q*ivB0aؚDS]R-1wI&f'́b^y?Bfjt{52 -8Ms]AL>@p0/U5OBxc34ՓsJfA| )xD_C3X->wZ"LkPvP U<(IaH+WDVc zȚW)2"omOj9CѺu utni0f6ԏF1;rCX*]Ծ\hi/մTpXgHNRH*a_.oZ9D| q~xuq: з<"4i[@N5HOeI3+%%]N'fj=t;tC+ƚ%ƍxT6e"g2 CjO##?IkκB',Bg@c *G~)es1M:g:Kւ#B4>N~X(gdS/d}PCTU& e<-)U^OgDi(r}D[-ǽ4Wv.!(6Χ1NS3VhƇ\o+pKXNNI@ɾ|(}"&p@Ct j?f8r`CM*d03#}@s³%u9,Trd܈6'x7]$kEעŰռi&o)lZD>V['c@ϕvut?lƂ"-)E(HU5|Yz/!hzK@=!'gwJA,oaFma*\9T^ooA}טH8i=0%rԂ0r* nct7E{dm) -\ձgpejx_T=T΅d@%vo%U2nlj>#H 更DǗ}S펋Nz,#R>ܚ@A^|]IE1JW_5bZ\!mҷt\"HU8һ@Z ~l}V)pBXtjFL fAr4Fj{U)JwZ^åR+W Y?9gŠ9nF)wp ϲ[>;ޑ-em)nÓ_<&cO"S7:geȍݾLAZ_+F D~mM;܈ P+W~;d^YuߝVkXhn؊D+Ѷvgl5lr5r[Ζy(@G^HձtFx- ݨ̛"@) z|N} K8:ȄAKw.[+ +T}ka}bN.<ū)@i`${t~59a _;\w#HMz! ֚ыȖʃx.K~ d#|kBo (.]XO0T-v|6zj _aG 2[ΓeMcX?zZa( fKlU D ]26XKǾٹ5g7/~nD۰jٖ/Ǵwx!xw-N3<|c%ڒ 2N\gmy4"CFs7^8`%ĞX,)|#wv_zNz[1qSvf[A/qm( BbP% FGy9}wxC([Ȭ㴴7[}P l1N nE2Og z>Ǻ]LݶJS`@[Se?w<;a=H8rJv^D?'z%DfO: {yhnO { q!Y0\Gmn *eIŖDޱEfG#>;E fv֖[L^C,0DCQ񏞭UUy!=-鲲 *2u:nil[P&򦌠H<ռi\:!T}5I\0 "  'oqSm; khE!+4kd%) 1kPOcGzΛe<$I'iIXGoDe=#P.п va\?l,?8̐3 IB9e 鈫<Js\.8kb !˹DgMN`bxu6X`0Fk4b%1viN!,n@њYӫ2[^jQG󝭒b|^ԅuaqVcpFI n=.yf0e9Xkd Rh;CV\,B[76;8y=t\ `gsưGt[sSgL!%3bxDS..Ӄ>޸`bGPy !0Q@̈}z5u-C_#yT`ydr(=P\WTÊU1xLu/{}p7WҽQx4dd:PWЕ'58d -B(:Nbx¥!p>LQ[1w`? y) ;D͖ȱ%+h/eq  fR.<֕1zHU9u)<x8:v;`GgV:ΗՌ9r|}LioIŭfhVv/a^Q8f]w;ŵk;F/E"c;.]I',ݚ?`TwIX_պI*:BSFHyQ,Bh@qAs2b\Fh܏GZ z쇙g m_auw HCG3|'+2FOiB;3Gy]/+S)tӨA naϋ3" W+'_= g^?&hU}ِFSlHON*K!¾o$1WS洔S+;^(#-oJGjAmman'GM_bKǞVJ\7X\Z QSx)eSGܷYeQF~ ^ro9$y%cReIw{@0vBPc1W#K5okf餄aʌ)ld?&4FtJ`nHȼ:jzh+͓ c}g^wf̪ #-@'Ȫdvqzy4U'IT6s: K;t̺as|  nʾ-doGaz#Oln:IPV6a]d^C+%J\)q AAn2x(*~낐 P 9)cȰ?Ē;JeC rʇ 3=f~*4i{v gԥϡs LZ{b9OnZR޺s#$ $79TkT E-*5vq8O8$}4_M(~'RbFb5cL1KzLMJtrFK&"'ݤ#t0jmVG K :Lc\?EB;-ĥyp7uN/}&;w ͦ7:VBvXzʀpǔ,kJ~;X %e'{Vp ƕ*Q?k%$2yKÞ{ñI*zGҲ6^a]Sb?{/5%APPhCAZ6Qs+eP=,Nn5͸8:%a~`#mn}v=P#y8[PО[fs&*4pK2`xeVoWf%b 6 ܶa& HJQC.7C!yJ|;1`Ϣ\7HÇ FDZ_7sH9*7;ײ7 {I]򸆀ZY:@m;`ou4w!2֥e֠od=A9a،w0OPdEP?%k$WxK2 <ѹu\D|ZYb1 }"\)hOKc5Wjqo-荓PRd|>hzn>Hf5SDi Y0vg qmV]FC4s$;E% CIX-Nf +8Pv#u/0Vqs10`*As jYl8(~bmۂ7ruk{Tfbȧhwux)J@FX*k^oe9<\FkI0FT0Y}j~7U ٰg")}3‰" %l_Q^W͗teC ;$%T/Z+`"J BX7$A9ZO.X@ YsM_k-_ƩJaQJˌ|`φطX<L1iѤΨE41 TL2 }d;DE0`fZNaS,>V^|c&w\v>e~ςLU5.1$^ ڗ.Ph ˖gzS7-a [ޏa.:O|'z͟>a %0E#Լ%/'=(BFs4ʅeWoK% \g(^[3O8['@v~B?{閽"^Võ|G=-ck'HtP=40Cq%3c^i^(B)I /|%h辍@ًlPKOTq]~(//UTe9}\w/90擬Bp)Ax@I1oх}wfGi2=RQҚ~\ZsC?p;f/C^Po&CwR4i0Smvkh#6Ľ\usvj{{ðVN)ǚ>}':,ZGlr&XRPH BXe-3 _i~BF՚.O~ (Wdz%XkH(ef)~|L?0xFbq A[T\Dd*G9|F2PEђ'ckEvˁ˗>o $L$hhXOt `;3i,PL|oХ" a,..$+ ifXPbƎYg&J&ii:K%:BQlf$K4)ā䟟h3Ux[EW%@=xibUm/H;'M-gӬ@ Vd;zzFO<gfm nܒQv9?P+Zݺ#n\|@nR#p]}(IMs>j#WN@R+=eKZ`!^η w PVf[u_EREoH*xB$֑diDmj) ^׉)8uDoD&h}I4}bS *%^J+0̄*"?j59xo(퍠Wt8+@).F,Jj&^z), %a@_b&EkDUH-A-W\1B+ㆍF qZW`eVm|oެ!z;bN\NopOHY19]/1 5qgq~g( RbAlv@W~]f<{qs/Fv /T AGU!$B4v^0Yt#<#e9_uF7- ‰35N`K<_]e]/^!?IZEI P:L*R,a^Nj4xImB4C!n`i@A*ٜy{i! »~31gBgл}ͱh )SNyؼbvOs8?z-/\xVA10e`҅D]=vW;[䷡>SG|5o(Go\P&LZڤB :mTyw9]MAnp)TxQ"S!)̀}Rj2եz.wK|:촳L-kzF }YMF):!QP*D+wbd X{ҐfXd~[-#Ws5$~e1lř3pA9vjN~\~VLq40a^>M;'{KʇV\WвXYg<6il=U^bE5DK * Q4=ϼCAGmYaoۜm /b%^v?m-W!)a; Ubῴ e1yc{K7i\vEHfAA{IX,2\I%|Oj"l {Ptw}kDLT|Th оIgSFac3Qna4\}%]?xcP}ڶ_A!<`3dHڝFsJ٥B 4!8oώ5@F) O+$hA~ #JөPJ<|dc,ws3-BHxbDY}wĶܽ%94wء%LKE>ѾZ(׋Y-Vߪm"ئc v@|ENe~}L.#ϔzAʴ%ulLwhS`^zUl/cc-{b1) M5%Gtla,GMNLN|&0=?O0e"%lĕ݃g9FUk,IulcPfF6mKy8$|v"J}p-7`PDUmNp";nMGղ  2%l͍oM*@g%c_'ȦMqRQ(sSB&<[K8l?WZ[e.uI~e+{)mCzH-o sFHds@{i<̶tH_Ҍ~!% <>'}GF@{D ! -IJnbգ' 4ɷNi2a5\JsKS_o{U.;L,߻oZJK q4(c2:(#ib -{HSk[ a0` ?~yHb1ڣeK4L<ʓCP%Pt Kt I7,V)MWCʁYSkqDgctSw\u =88-6e4 JJ@Kv-d܃5c涭Hǯ0>J$8*,uK ܽqu%[:u57ڝ@Podchجdd?eeo_:S: p$7g~ih59M^d_$6#b8Ô?"Q>pjn;-i\ VZ2_+|=L/QLEBaA8`^p!KFW/Nbb͙).fXkxy2㊞\N=ܳ>aaxUz'=Ee 4(@p'cEC"`rtQ0+X5d {c(YP>#xˏ07kj+CשR SI?C8ژP#R篛/]耧c7nKP./K9&R $VsvuόW{  kJ/p܋MwFH)=>@VuτMZD3h -?܂djKql0˥NRN*~ a,~h-TX'Oh&pz(p9viLvCA ɘuQN"k0r ԋ%Vְ0(޼gf˜P+7N*ly ݀j8A-M&'cxRoLަYHw e_Z tTUV/e$DzS0y4 F#)a54 @A_':yN&km%B<;^-R*B\J8 xK(◚}ε`nX4*8^1x<]rJ +r> Mq'KB^A? 2 uoz ㇭vt>%+KパDΊ{.xgRIE- ׄb/ HCj$h}1W)Sc4DYʓ.!S4nb0Ն'lDI![JJmaQ8F[(Ż=΅<L =5Cgs$Ӂ {Hަ-t=Kzp4BY B/U NOdeA.*`"I_)Y1?W.r!5AVBFѯXZŠ?.7>!:WJ1Cn1 s.qzy*] R3<(2`GuwcXԻg rlnFJ#Ճ6b\<\o53.,b'1qMR}KBϢϲ.{| 5F҂a{W )鸫8F BFz__ ;^G75:vZkVUlaW tk7)?%7ZJ+Nz8)':@g#BduosY gH9碀UЗ R{2gHؼ) m4FQBP1fK9^{q?k"[@?<19;l6~ 3:]~t\DGE,k!{lw-TdT4%iNNO=pPMQ^j B@u7_L.lW=Cj˱Wa22]^70B Ϥ 85bi[r<ٕ8NH~^Ji?@YVmSv5c偦"Ln7~F+,h VD#ty{pzT-45ȃG'_ۭ;2;HdgGdĕٌ~w &YJlfxgKpq|ZIPxE@bn&SUлQҼI w3a[c$}U@ӼɶO)Lri'  ?,5N; Sť=h-Ѧ wn'@a$T Bsd߽ ,4ҫcRJђDR9lrn gL2/cwws'"gc@h~z6)d9?eIޠ?qc$$3/S K71?Rtf\W ԩ_ >PeW 1 hֳh$g4$*C > ?Y>9{Eţ{}п25)/ LG حg4E KAf@!]"Ά9YꊢAz:XƾdSQ0g A3O)DBor{oT(= jmJ:(_>).$`sM5J ]JACySz8:0H-WuV1z,/z: ,BפUR| a )DijEv3zTe+"5ih-8\Z r5gu:kjduOR@Ԥ DL|hP;JWb) )86(}rZ[PٚUd@->xgb 9GWjǦn\͹tЃ [NV_G@q?78ʆQg^ݭ@఍z-,hL-v-m lgS Y-ϩB9G /Ъ_D*] F%MI 82L_8E @9]gQ cb HoEc1/SP=zA`aKLQPG?4M{9n%Qg( gq)1p=/3{wjZ3^@:$v_\\Xt šl@h6R:3|o3Q 4FGC1p|-PN1wᥕe[_C^:,6So9=Hr6BvYҕmiBV2t WIod޹S,q8oy ˼6rQ+ Ke5;Cʱf.~yhN وUQA,>L; E@LШ%Es͸ݯl:jfTRPeݫmUU)pa,HLkS/<[veM݁$#JLT3ONyWAMwa){s*f.[cp/&2Mme)4ENhW+6Ogئ::벁 ϕ:q^5g$fڻp )F8k_U9l.zy2q4*9iHѠU΂R ?_Iɭ\-~k4G<,xIW+=liMeHgWWI~H ٣຅Ws^{Ts@RCR4n<?Q--4mae۫o!HLo!kj rw—m $ǐ= 1#b%?׌ʐ4Xw#+X!+j0 -XSD1F3KU; ces;Ϩ)c."B)u1>-@':V5Rkk@C^P:5Bf=KeU d7+9jvd=X>Gp &4Zyi~&ʑ$75OZ7g>0צ?oP ܣoCok l9: lP.j@i?C_H"%XT,͢g?x,T"DOw(tAw K ۿ7 Ox=ivڵ у(?AdLoڶ}L \L9Q#пىv*Kk"Q/ݲq#Ij=e&T۾Yb.M$R`ɦMblμPlnjmLeZaaqe7!anrzMoHq.I{Pj9@& 7zoG=(+3.›BDs"E%wJ[z g28:K wְ4a}25yqys9>Gt6VL4ذiJWݑx/o} mxA|Vwo"ehS ј"qbݯ!Tuez6R?C:CRǝz_o]g4 cRYJ/_PuB0kK+W\LDxE=!ll667g؂N곛jcoGJ'.:,~e& 㗐J9w}_THGz!ؤ٬d~umH2qIf!iz/p)JFj>G5ͥwhk*.{؇Z{S+SUjvdיA_iO,'=mft y'8QՂ<a qvEto 03?:zH' i*BsZ BvwXAfxa' Lyj)hV9n%sp hJop{E!8D'\Z4T]# eS%e2-*/M6b ,zOKAISn9TO/}IokEҖ0396tA3Z]-rdOJe5^[ʖqZrw1)W׻>1zH-/¤vasdx,!aՊeUK=yr$n.{ 3=%/t˱q :CEī2?z>WRQ@^*a ᄜ%h fL9%^wGiV`N @]b~\T`L2WD4Z&sb I_–B,睺-OP=v 2^pTjK4s^Yum{A 12˫uRJw<(>_u ٘w!Ly@awAʍn$J}w=lUANSbvADKD*a7x2k[Bxlcy4;ހu٦+nVw='_eRm(g] #2u]lNY(%j#hpB)NH9|ɇJ45 J*;``0< 'Sdwɏ]2O(ȝ5pSBM>׋A셆(~Q:}&kf{{^ yؾ[G `NDnNq١cB1@\5І՗tTFPj, r1+*O?5*'a<>eX"J ݇޺gG%29":v\~ x^ Tޫ[Ǭ&:× (/[X,aŖ3O#@cj@lƫ/9͓Cw4X5;JAƑ*c7QD*v\'Vi9=`ʇ-q(ǰpŗA%^0hb 7uZ=iƳ,kek'6_tN<m qh.6w(qX*JEzUL7l-]UP@ZU bz*]`61[`p~MBXE==.U|x!<[JDILn|%ʖaX(h;NJx) QwH,o Rt"{SR]?oб|"l$&7Xh~AU՜xIӆ3J~➳R-ÎnP 3lm1 'f}0f-̃xE;;Ύۍ?iχTJ,gN)c51(1vI̤7|EN2=̼Z*Oov"xwŖhMĕx%gՖMS AZ56BDGHۨouMD3ƩuF^IZ1R>7lYӎod^m[jү72G<=˳Np./\]_"UQA ]TeG[O\1ʕſf:0q1d ^NTv@MVȂ`{o+/1swO Z*AjL/aQ`G]}%VfڀݔXOIڴ5ӇK+:x4?YʐQؐ'n.7Qx#a}zUdPs k0SvjON1y$o |7】 E `ԩilJʛJfBˀLЉkwHZqQY`|$Y/?Q>L2͑w :.jgKW2ɸv~R??s e`֮HǪ|ni?gpReY }mNwc1xΈEA?妀GAI&?`B Te-:kJ\>  <f"(k272fhs5uzYo;o{\dp=eBUjvW] pC l9yvŠId܏^jǭtzt@heHbEãKSUQmK.*xȃZ&}h=uFdrCc >y YмSjG?mKJ84K(ۻ[cZZ_!2_1  ;nQyBSLt;}%x yMN̡qn*}Ai؍-\U+ul;j: v筗 y7|fi yJjkJԞ*>!ȵ_HM{Uh+d2ukk TU3iNY!X0k)9B(.q)zEesk.x·/| ? ;Cj&bOt8'J[$qN[pc@iM1t9{MH?LG>4CV§"`27({ܑH38ţZ6dAN[N=V3]=x@*5/4!M?m[Ĉ8l#&㖬ԁNJW$U|3 g*&PZYHBQu &` f@r(‘DV4Bd롡){Z!C ;P~+2+ږNK ؕ0Gx{AE{OfXr'Nڒxc, cϮaWp9Ƚ?onKh}/!0 ":ÁTpbO yŪ&1a+Q#+bIŢ2xb"6h('r2~+WVe } /T€yb|!C+_esRڇZP bO3yÀ<e8h9~u%#$uy2OC)VP߿&680؝a 3^=r <Χ}tbrX# c1JUxɠ az>!Te\edO˱nPlv,`s?M oF_\nBBTEJgaGb:f}4ofJ>t 38xpCXyO6STN4'w68q%`wNăsgQn!6 Ǖ]9 laNl XNI0f6A ^ٙrVmppO#\9ʯUq$i/@QG&:g,nGF\Ifw&4Kf,wV<.0|61B tN?ptL~ z3-[fl&X=7[j%Xo`$}V޽`fo˾Do=)z o raY#Zͻǒ\%6ĺ*|f^.\YgM!OluQ51ђGew' Ep8uC&SL'=3VJ < !zzG*O>V'?P:)JvT^mEHbYbw! =6 U#4&b)3I2t-c I -ᚇ&O\UݍN8f-KA%O^-B0w91vR-M+G0Ey>5Tq|n0fdxZ圕v4noK{Mtsf _xەL+y h/J5>HF= zRw@{H!s ڒ3ē4[2f_òVC/5SK<=4lE[4˝ʨe73WFɁ1YHd=J:V~T} AG?AIj,*`Dk^"Y[N4u83G*O[0*q騰%f6.19 iLEk!¼8;]hx~cq&?.}5~C`xO&"u8I|@6z86rc, WO겍⽜ʔssb"*0D\n>d:4rT4.ꗌ pьe Ux4u8~k$e`+zfX W޶'?Nyb+!QV[& R.ؖM1,'abG8r[-gL5sWNlRlF@ut`J62ꖜg|b>Xs}D*mnMb&x!]BƉM{E\w3'/)z9BqBLiQH^?J8pE"hkE\Gv#|GVeDZ XTrXI1xS\Ӂ:g3w~1 nL .)$M质{ӲO8FUq Vo%l0-!iͿkTF /RFa4嘼#Wٔ5dMܺWCF"(AQX?s^wՋXWl{f-^ }%rӛ!| ΡO]Sn%8AD.+X fx [ nak'HwT;E tWt@#'ݪ`'`b\J' [u)tY[[?,ImYZfPCT'=ftt2si̿SOJ19-L5J Z$[va :DOS$O`7P#ɵ$^7׋S\f] UQNi7]dDwAD%U[6U"\@uU2ӣ8c[y},A^#C2ệ6& a[՚N p0˯+Ʋ[(k>MFI7޾0^)ϧ ]n@ʶxsĬ,6w;":N'0aa evօFC?>ÑE6Ĕ o|cOu5^ty\RKi`uȮJR2b\z8MȈhSd 9T+Բ%ػ0d ƿ.L0/,sٮyQr vvP2ɨ-3Z eWOFX"gõ͊R˖@E![3Z{: ϋ?6rֳ|[K^2 .GBkuq6m8k7Oم8+k enn?Q際Ӣ+t+6k!1сMГD↽V|p1U X95 4%NC|2? йYk5P.XFso"Œ){F~/e N*D>'(Ut &3HvMR,PL+ٛ&P.y$Q6ssHOTVAj3B;_z- h֯9bbJ?%E˟`?$;x8ĆcD>J(Ң`|s+bPœmW/~yc*s =ga mLԓ|ԊAJYA[F$?D*SZgiFAk4ðaH_6:]w?Q^hcJvMȅk|@"))"7DyF^A69  [WMkQ,dr S5w&Tc.*Dc0PUz#CMmRmAUFӟf(,* K_^(fp+RX$0+ cƺӳ,l3#4?[ mL'1Etx'-=^yoi7܄ۻй߳d@squū}igYtmb?]mMңPܺ~ jqFPE-ҕ4nvY>{ l鼲v-e3![U$CՅCn$a5%w&d!vq]¯Z=[w22IO|Ի6Ԙ ivh㴴z4 w[,٦c\ņb>oѐ>^H6aj~+RjVYq/LxwINѲ{v{n۳si տWa'M9d@h\AڎqZyS|# CnW]gyRZlrYn暭?9>_LwݱX~YE]+5X1TY`Q,Vfh*Dpr"l qѭIqB vVҲ|G'EVHfGhdgj Pv`HhjT6m b R}(㔥J$>C/JtES1Mx"ؼ'7S3$qryQbs܀p3ו25p)+(E8S_f.n4-y1"';ɗ+͡@ؓGnA:ɰGF+ 9 XjMD;ԋAJV1j?R괡 9x1 pS_PJ\ԕ)*R~^!2KMGR^$0L( e}!Îsi:oE>*~Ƒ't/P ?5Ntt$n rn;=mƭFJ#64wn\  'h 7˵d:Ms 4_R%+77W`OXv_"Ҍo(޽,!OɫglhAƅDQjqq<3Tom4qz>6-6F鼰ûۙ. `_F-% nl&\ ['КweFfթ83ܘpE{B|uJމ@DX ^SsFƊ0̢^v>ӗOB&>^zc%FG]fF"Z^ caK}2(^5*ws#.|!83K7j =M3a֣F'C>e/Q-6iӶWdj7H"Vquc* ^~pIA]5 .Q5w|j 2Jx7,ܤ_Kx~D-3 )4ǣ3"a?J do*zY\,|2Vtv5G37raTOZT.-u\Xl3;+3YÌpF/^H(ӗd WTez%bmaxoºID\jx}y{t,ux$(lqc (3 LGϯSq=^ 3oܷZrmB95>@b3ЖlՒnOz} ;8^J].y4iJc\6zwQ pY֞'.Bpܶ iG\)"a+Y`o0$ڏ^gaVrwH8N@3@bll%bQ9!56kY0>Ϡ)A/rF`ǩST1zH{v}D̆xr7 {c.YI4)w#@;Q_"C٪@ɯs=`ƹxe}k!DP=J~]I[ We1dw//weuR:5G p&, ЧejtZ&{_z&|- m,3* f\ņ"ϔWT>xy7I*c#]?v( _y Gb0֍%,D3NqNw=ԇ*TP.ȮRP^I/mHC,eJt J. \wџ'< ͍>:7kM(4AD]Oo-% $⬀'-^r%D8h n4eY@MXu|wN)A_.`n-'QZF|Z2_ERLӾkCYhw.d4Q\x,^Qˤy7Xr y\QlH"5B/͊cՔ=jHƢOYe'8ƅm!n";zSu}|bS?Bm+uM}Yyx?~z,8tk+0S Lu\z'Dn-= ,I?=q7ѹc,|]\So($ , Pr)!yJXYL\z;lhu_sW:I7@jAſ8sGCruc ]zԻ[umpCEʬ刼$|aNcY5L*dVfnRnzqs rXP8IXd^aܑ67`'o´0a$g8kҿ*,IME'H6U>,v'Ԧ1jqHA86ڝe ÇYlDW{ /{4 ~whYc`q3ď?OY6}p6}6d8 q zL?maI.WTFrjXCiʘәv}S,AOFٷDFGJ'dGP]E\ ["mݺuJ#%$c[>u΄/9GMkzeЕXc j휹#Y"/S'kKcjD'{h˭pnEqgK>!}o|W<7 mC`02@JSu82<Jg>`2|҃Pq4&k(<`5†?=KMmK_P5٭!ۃ+;=GgS_dQ"&xIb]'+afpO/4c=թb0Lvx?E Ѱ^owXۭRL8vZ} YyO1υ` XoV3}ʶKrڢ#pLΩ~Pe$p X1%8#JVڏ?\!NҦEH)>?o>5^:״.TKkٙS2l2֫&Κ<*NnwDZO- a(|UCڴ"۽aMoKLur:$$E^z]3D@XB!r4DZ@5 %O]J$ޫ fRTd*]M~B$_{'9$0MLDx,ei?t~bWo^EX@ҴSwV; z36L;kr= ol ,ks#&Sy#nWO`Oq͊16 tKBLB޽?}]YNo0lQh:nLcC.OﻳLrI\|11:%Z-<;Y)Fb >~^!wm3aU祥3M$zM|8/N=RJLs*c&_ʡ*JWY R,HtJwoHԣnZ_ep#u3 ,7eO6mXI)LpI hcՠ D ֕gVK^SXY-IPRƬ_+FˆeYTA5d)\AETlx9:DW."|-+2 .{aS.<2,&}nq܊ qHb.¡qQ—yW)K )-(KRFF8Zf`.j@/ :Rösi.9=N)oeJI6hzN!j#ø+UUkr$m39uQ#N@vu5'j2))r'7_uI]tÙf@sӥt7tYвT9 Ƭ|0@ zB.Lt! pw"W1G^@Ф6U78Ae6dŻ`L PXHKnx$΁N>p;2tNk9sJwӕrs覄aD}w2ѡbnk48'nzuFŦ~@bnlj0Ō5׆" !W{ m?3 z7v` Q!'0?|꫋UYo8HXhW0X( M8s]$[FPe%ȵH$]-,HY*im?)KM2~ T^əoJ$ xHSLĺ0*a#\| SC <v|`"$ 9KfQ?E,1O H`Xle;NqASZ#Nmrh̏Hj8^A_,tO]g~UKj@Sh`܅u:ucaYvxKVosŐJ"9-Х֡oBCdq”3u{ LV. >%{@:3WÅȏ$T;]7nCŇ8mTr&~HlZtX" s"_UUlcx J54PB3􉼷=2ݳ|G`^r8_)`0Ҥ t;O#膎u+P(F' /{*sPg>"W3O@KF $Lym7C:8W\<`ڃ=7f,Jq1nRʴ->֮rUlh1ãۺPx7K?H)n AnCIWzK٩QP-1$gOUDߔNZq|5YQ8j?Jӟ Pbd�`VŘ:"r9ȍk_z+2̡EzoGj/$efpI u/ 9X". 4sE^[/b8vĹzM]Qv6YhD{ѹ%&\'6a+CY[5 MyC$R,?<"rSl<}ӹd΋e76ذ9jVG-Dɒ] Mc)xq@Rt̖gSW>yp?B]g]'Q;Ok:G< C~Nԛ΀]hBR]qW1^eb+qez8Co{ttZ[;_P?0Č})#|]" xT@b@Gf^d¥my$5*<ʗ-YIwbK*! lU$}TA'yN 6of֚6-4C @Ҏ k 7aE 0] EϬ2]M zhsP$l1͘CꝠ~xvZVfI-'hY{0DŽh8-0D C_88]-@0/S( cD* \GSʅAdIrU2H < ȁT͜¾ۿI,P/ƙNpsC3 C^~ba+9/N2Eݿ#'1HU6s<0D< P4A%LJ7]i]0s󕔔&[zq%*+gŬ/FA &$S:}2%;fm;9daT/D9!M8,u"5S'??V+s`QT4mw㌃5nT]2sz<NuAp@c%F!( E*i9| ۋP"':A ;tu{#0FR")DfX [qeWxN_U{/@C\v'µk$D]ΕDX|ٯ.>'rlpC-f,w0pM!8B>EAȏ#u ouxI+ofޜ.Ez׆M5P5XAd%z"faj/\8sx'#%N \[`r̚޶?vt 13G?աXx''l'5MјO+038mw&KY/aKt r;~}[Ķ*Xn]'Oi\ĉ u|;&^k,APx? bϐ\RG[G%M!D}0F_˶iy6:DÚ8b9Cύ+T@ ž͹`ӍR]"Bx)[>ԱWh5|T$F#zN cHqqݕfߥX8p=xb5ʰL;ǚwl`굾M{5>jMր>KZ(]*Ieyulyo۩Rix^-F 3>hה2fޢ3<\_&o -fh#2jpHcP<&D1<_<"A3Gn,U`%T=eRY*> Ƽ5#C͖zO]^$qzWt1N 2B$nA;o;@O,kʟab]u":)-1(s{"x!ƫAyI;$ [gtx|8ӥ o:;73eO y9x9Wlf-3|-Lir#KȖd:k;8n;Wσ y|Kj^(ʠmf͵\}މm0X#ٮ1x<\L⥯N1?Ԛ@5XO\EL')d#aPGjUЋ8R[A&eИw!A6 SsO-?Kȧ"S x*YD=SPHEwO"b_S b ?9%a֌a(:z͢_` ճGv%)9h";PM&A "THh z ^` :sފ (bZ n o f[RUo;$QB5b^!-\p\4}VW,D;RI s*hRO5n2Pj!HV7#٨$}ZNKyWvX-GMȣ>5 ,q"(owrm*$NфGN/ML3%)SU%ݰɎ1ę&1 ?L#xta~ Z=}a۵=x(j%[kot&ÈX|f,O΃r4. |6@C;җԗZt.حbCN,;ft{ X;ڼ|P=vX{,?" z14 5z4J̹֟n3a#jhEk- sLz 9r6_].낚壅CN nO 2Hb/~  ۓ^z2X\v*AHrJHGVM8(m?f\2l cĥ_&qԺɚB#5 䱶-L-VA*h`Ժ "ҡxj 'Q R:({cjx`/=𞗢YhRP}0%Z{,aјH$^<}.%:YƮ)n強`Xv>/:S7uɋZ^`3bH /|M\JQ̸JiWs&I7{gZ|n% JHZP"ʓ7|8OOF~;vht{Ɉ;Uڡmu[̆n7 ==TuSd#X;ȉ\-%5ZWք+-Tԍ=בz$Z B~S?)IdW Z?s71:I#}7qͲvҶۣ/%,8 <8{j+!$Glm;p$z;BmJu[55?: *X\Y;ynnw9$N4A-QfJ6((%/S‰?z"RWN%%6)p1jp(L*=fo _=*dvV̜JrqőI+c \װ/o;٥"W|2 ra$Yz%FЙQOONG]x*v!H/gah[$j>?H9ձ;]-bV^D:S(Evy*ۜOpsv,N,uSSo]6(?ίe4y ;3 F%ԉcDvO*^8@xk7n=8c''Uty ylPQh`t˶=M"𺶴  1 MҐ#\۔fqExvTTrGq'c6 "d~=_Y0kmw):<*ȄX%)>xj`mH1D%x CGʹk*kc=&x7I@W>IuD7uΑ&O\#Dkod(}q/~f-5C>'XW / ?45 cUjZ2QMcXҦ7*FNIKp.PZa]+SC?͸8\ NsYPENu`#Q@ Vw䝋 O "d.v1~_7{)Onj LeT`㬶9]eGa`t6,#NRž zh7vcK<_I>1+>SH#WAC$tˉ#鯠_Y/ R;"*Ӷcu6|4e<#=AOMoUMMs NrԂTjuš[>B`WnA8u'6YBI!^~)G\^Di:lpEr'J(?x:;ş#f͵`{c/htqI:0-o.=:pw(`{]U7q%I{05BFoQ5 KgRb ylmo[ eX_wNRh~.P`+S{1aNW]bhՐOy]uFjOIMfB X9D[%xt|M;^n=4zь̓[e l))Sn42bq1?-(47 pks@-LxCbyęĵu`8M+*k$ހ IMæι$bAY[pho)6*3\gR.MgMݩg+Pm3*xMŧ4Rr/U'<_CGr:wQЂvMgbS2[ 㯆v.Wף&^.)nMN~mxq(g:}2|LJ[͟= ft *T2m Q50e9Bu= =eG@Yٳ'z5 ; (К^ %`Or/fc?lg'2WnI› =/{/yc\̻p?;M.swSp~vah(ՆѶ̄'Y;f#9]V[c/4kk)N OK$um%/ xy'hE0֒t :/65|Nb{MPF=۔^j9bhI/Z;> ?'M!ǖ.tjJec|Byǎݶ L$p TUU%EkV0q QrYE_!6KrY\2Î-gyٸ@1<ÉL%9nlk\=ԥ{.Ӄ{mG0 '<-: v$KWO_8ZωֹeT \a gD[shv3ɦQ&п*@b@.\"Ɖ؈`ӭKӚU'UZH,L4k%%KkL"k). N2Q wݧb;"NtFB9o,Cm30M VX3Zu`N<$n[K.h԰DYGe=3l@8$p9Z &uKs|(²"%01g2uzd _|W3 6A]wxrp!}$JlۙW^V𮙪?>Ⱈ/f-1`2ZŮBvʒq.j`1)Z4}Sl+-4fdGFums#RZEC\6/am.deJXٙւvC#\xdoƶX* pU)1erx,umOzÓI{Wݛ$. X'$89Rp #%HVJ+@V|C 9u~\mDߟYÖG}"6dw܉>31؉{2,=x$-K|FCja.JW Dz+Yܰ_l|$h$y!v7mh7^^'E*j>77a2KJ&vVFZNsjsSJ[ %P~PXI$No'!%"ap 2׊\Mk-3t𧧡޲BdON}Pr>FMVc$;kfm7d)Ih C>yzh 60Ou!/n*&jp}-On `G3&D629I` !剿ϋh ku D&$^jDZts.X?rPsٻWz8&m4F_&OO+jӂdXQv6q)|6]msܥnV쫵IyF=ֆOi~DmI"wB-&o4N 4}t@E~ 2nj~1ύ>YHS܉ kZjxbڥIa}KE8>U[a%^b)%bMܝ+Ρ}!&APw9XDxtu_w _RacdJj˩S&w㯴iH_5FVR0YݘpAmozN =%F շr{q )EW/g~nncG7B VTİtmLtPcfy}"#ҤH$YC"njÜwnGpK UF)v|ئUCLP50}۵,vSi|,V;@j۷Kv! }Sl|R|KJNJg~8qH?ۋ$BZo^nQEHbU"̿y5:muJW4Ũh30 즌Sq1MyeCƒ 9&AO Vt:ɻ#`4gZSyLiQ?Bq*S.XВ5 kpG1<}/ӭQUj"v'$V[GYc_*'&h%leՄBQbGT'+9Xi;T*O- +r&4'`ll'HUZ&)g+UKk%Q/ I<+߽O}~W[5$WLOazGIv-{tJCi{RU2>ӵM2P~> ;OޥOc,~w ӂ5^`."xv{ YU.&Kو2s隨X?UCϑq8Ȝ֍ю&^Q_c|IT00@m=ʞ[=]6Jg[zw*FErxbSH+˝3\]ׂt֡j]͓q{}vOy.O'7m2M!srC,B>W|S@\=8.mN\ t{2s뜧F'"@1sZLhXb `*%^9؅!sSmEt ;y &+۵ dvm"{oq(i_ % 8H1i3Iy̍F'MV~RH+6ZAm}ehn匿SRƳǖK{7YXl5%8W+J5M墳;'1g:e;aO}*DnV>ަ=tWY2j \/rٖ6_FV厃wU4k~Qv,ઃ?1Ҽj٤.r2,Ə5A3nHQ72*z7XJ*\BNRrpр;?x.AIhqhlzi]JyicxQ2-EV:,Dzx!/SL`#<gʓpuF|ai_B3o.QHy^JX\-bQ zY;lϸNBd?%eeBJ#I=+ոn6a%N_ǀ Az$.KE#F5y EF(,8T|wki58 ht~mYx?|>UM>6[BoY,E*|\_AO~- "3NA|Fr8H_|Q\8UɞiSNݓ*hC;*i끣Z'[7XPbYg7[Tr.1%ʖ -T]ZcJVs ӯx8KOE"@CB8ZeÄ|ex8ئ^8'(!W{A!jAZܭkJ֠h|%kFX}L~ƘĵQQj[)y:6dqY0[ v゘V=Y  Э~1c> _{ ΍R_KI?Sy5\^3`q¶o$?99<ٟ)E,sxdGqٺpռd1Qύz;* z(( q:*ZnĎ%T!tӇ^j /]آb`Y2k*=#z "Ʋ s< "mvjyE+};FhAGWG*BbchfLyb}Opvf!"B=##ܭ}@^).bB-\DeGwp]%Ȉ*VT0u/ꢄa)хB;]J߷ot-3|z'׭1tŹnʺAU)ŝT +o"gږ"$h8ꮚAE`cKu^=ȘYb4sɸ\ z쵰Vg o05&]ҧ`k qڸ>hi75:r2B5k .wx%Dptp0S>X;5Rz,w@@cpT;IJiRO8'$k8SZ6bD)nUKz,g{ DXfꈮ:yf# >qG zd=>7y$q gۿiF0FEN nG3%pٰ8'sh]v`j,st}څ7 y_q=:M?*7p,7:OKT0x\KX$m%D>;xG7RUq4ivaUFazWv3N= b Y"}Fm dPC !o_:>xaiڹuҊ\te0 ! '2cT`bB*uI]pd=Z2-B'eU(cSF Csd$|\CGO"zKx:~}ve@xhORLtv_~ZX+%9*)V܇ӳLA<1' q)tPDP2l_I$4rH3$YIVL_&Iw:Ny9 P(_J[%1?׻Sts9oo72 5>b29̙T7K-R 3>i 'DzxeUWVa%QTzr!;,HP}޺NrQÌEGrƝ93麱9Q]1R[|QJQѾβe_$tSSQ|-E(Nn %ec_Yh Cmcb]v˒/!JgY`}ڏWjJJRR(ѧP`[҅2msr%C`qәLL Eu}1HW7 Q^sӄbI23C3 Rd"1]BBjUxU$ؼ[dPu> ձ߳pm $Xc嫟uϼEMhs{ǁ/2'=_8vm@:zyTjR?OѻBP{L}rd33*pvLն$^!PTݰ ]k$^B2Lq(`u4D)6rf$Re()YpD6K`݁hY#V[]њ,z׾c"KG?a-FjrM1{ *ap\f^r>[z2N~ c8O~AoaLHJQhah9'~uag}MS6fcvbv܋KͱG܌~M{N '^“%F(uhM 'fag3q0NcPVjT8eHc1/sSsڴ%a wA.<-W7JɊW:}gL*Jf@[wdEC`'ΈH*v>wO$r)tAնGLu v]j3-EƲ>B/VNvÈdA<6O}J0F"A^YV " jk nYȊhCbshHDFqҸ_Eq FLu q6q'$0*٩֍OFj^};U6x'd (Qg 9HN {e\ٗV_®Ǥ/ aeɔwRjCiT:K?$,$`.l1[&iAO|i̮$ ]?t[i``_Ѝ(-W­E~27SY^bNi $;Q|ߎnyUg5YU&]=d7,aqKCTZoFϧ>(Ri!d ,*uj'$Wٙ"T0*"41NDu ;Vix6)U۵]q4 M {Yx59Z;%Ma ߽?˴mޣ>SRI$Xȁf#ઓ7 N.aH$e;*`S &u*fs vk=ifs:ܛy.fham"$j9m8 )Ovw|+[0'f 5iwQoH.Tx}3bSۯs 5J&ln{b s]#ҸPi{_BhȢ5Kw30TvO[:Ln;'@BN|{@8ləēb^nh|3s)/"+[`Ų: LE~\* VT}t [W'@b 8/g)[p41Kq)Bn(dI+hy8 0Hp2wzო Ic~ʴK'@h `4"eZ\LV)xN-DmuM 2Ax32BwV[p/Hc+BKȃx2RgTp\a9b3]>e?9Z &@4 otO\P}I_m3mBUoK, J=ۜ]oiq[vCԑ:`18o޷)D$G(+ m)RX[7A8?a "avui%< W:q@c#UFxh͕ ^ls@`e E!Ig`r%DF$<EA3m1J"7Ϣ5%Kп@U~'`҂*Ӓ[^..ddCa_#t|roq&˻Kj]v^]u_b7C*8m:i _AXV87b|Gs8/kH a\o ^ۘm]+WSK*+&^(5 z i@?d%I] B= @R>t0{_$!؎ĵk'rk &W'͏V);d]'5yvN@O{|(j-<s¦^ړE!VtyT+:.@^>9/(6ޗaYw >pビ vGeQN毉>#m@ MGaSQ:QvP5=rx!+F!fP ޔkkšg(o?@~څ_CDuڨ]NF6ІdփQt-$;QUtEI6a,ca,!jo ռHa.W ~&иvFFk*Q{T`RG6ɱ( ,Wɐ튃wƤ͸읭Ofs[ Kc<Ŭy.>mkOqPlδ3^fk-Ps Gir`LD@1ILC: Lg205y:UbP^Rf9^޴GQ\_[#fI z8GwsT䧓WM>p 5aDdG6޶<*Lv ʩ /1Xu Ϭ/joɊ)"u{2DP._N`iJѮLۈIW,q`3eS\|m;_^^(E [V/OIB癤bư9]+^ fIK7A,mn)/ƾ9F 'js3$ݲ TzV 9 nZnxE`M"C8FdҺ|[,ǯ@P"; g4 T n@EW t>NJ@9oNjG19l+W[cw"Z4 ${EGe |ג NY ,kCv9OWe::KhU=@?ƘswQDo 6}1Pz `]EFou-xͦA$>yLzp*-2bW-$=|ߚ YwlW4eFR EEEB4VÜ^ClMFj-g1VZ[G)y6e >BpD{$Vy|֦pwƄ.e堯5 ODL l.Trh[TQ,-H 8Np[rշHtTXo~QJJylѕB c/.0UeR R`^`A'VۀA 5EC^=Խ ,x:9`㟯D[DaAo^ul=3sJ!TZ9 (n'~[E\29 'TtM5WaϱFnS +~҈1nQ.5`_&[݈F0TqC~IW?V宅A =(f)`Zawb)/ R 7΀XO#ˬBbN0~]!iƲB g|4Қ,'%\W:YsøMmQ_J 8Q(JP܅>tno .?xgˍ. B,-eU=MtO0C!+JB+w-]sN _HkOlh$JV s-eIJ, Iw./.Ⴤ=GsQpZCRѳwA0򪚣A^cB5  P[! ;jW {Yw:eG>eF9kj,6 ęv0٥m9WưRG)J(ci,eG>XY_"+2<}|!I@;]G7  |'DxP@^`KE5|iǶ!zv&wJ&PE͒sRaPcku,5* <6%5S]* &m\a) ,A{ n/;, G].- hC$b;S$%s?.K^f)ۿi8Ks0tiʌ5adNf0y&NA\:w ga~tr&gMMa>~?ὰ%\,Zuuo%>`B}RF"׊̲CJRjB a%[tx@kRf7VXgBF]Ί`)3W9S⽫*1{?{|BUӥ Uݘ*Չ&U O ٦*~7/ [hK6 _~60i`m.lP2>N=Z+aF=FXTa-1,{d$@?[CcZ23b$6H>D1A"?N1n7PCOCjmyQMt#߰pՖX[}-PPw]'Nˬ L`3D 2QjH5N/!z$R2$x&&7poLk>_ta$*ݼKTt K"dzP< SN|dcbu?[{6Ԑ>tB/!*6y{|^;;ۭ*w2`ԍZ{ 1T)mTV(+9Ce\$|xtz,z0}heQA u Cڔ\py9dNR"F#U4pbJ:X]q%|8Jg(|x/BtQ[3A2jW3򌕿؁ӱZF !}4tRi~i+hy TbR]0v]-?Z~Sڅ/ѲʾM^CJ ;7UU=7ď Pq%@mk-^h?8ɜ'NV_-]>S40  >B?/ǽI"hEQla)\ԟ'Ó\qt`|#qh5'3t+H~Opj+hآE@6PtSz ˗wAbm}Aj<%Z쟰WVH^{RL?&ng- CM7#Nng4&QDO$@ HFRXL-}lOsIfaQ, 3}f=&%@$|ۯ器>cz V|,c5$S1# s]`Fk\OeU$r|7M 1sZ;KxGgʮ"bmS]Ov(%[d uoZwB[ bAE+C&7;,eɔXHw_n GVoocBgZK/5 frqcTг:j_%[* kXYT0?TTPdr/Ds_@[q+4K˥_i۠gc=wtٟNr,"^Zӄ5G~U _%݄ v*;~ȷO2oN&T#i'yS#5~d 9iP*%lC,qaswіs.{\vIsu9}蹺%wwc21k /Dj9n VhL}"oyfneM eq2h9C L@Wе/btrW̴46:lV{)W~pfXf^]]gN#_~ ѝ-DE.a-BގT{t122bP>M2"dHj_7 `֚Ze+OTcXt_cQ~&7F* GOcyWU^=H{rchl<Iy亁KEjYaʽ_-U0+>g^ F@~5S;%z̷cl =`_?qfBBmT9SCSb (͑-QzP}v:=Gx=4!lٶ()f {6P^ 易$}7DE Ns !V?-҇!H# ȸj|j/H]V`QO&dVqTHc)`hΜ8zp[?*QPbtbIFHi5ʟܶHRVblΚ*FxVƭ”穕첺j@F15g|qMLD/܏o&ZZqcU >@c@ R!M{ XPwY-u2>G!482,h@ [Pwj5\͕FR*|/4ܓyyuڕC1Ok:&X׉^KJ[E8KN|q'QUumAt_oYP)^D[վebκ-LБ0#FKSJEVq4ZM+NWib G*fGA⊩?4$ޮ!>2&융>pJ{jć&Efٯ}r޶3٢;vj/6 ʍb҄ŰVmG y-˪nnmf}W*Nuc2-C3R:)C`RMӼlM+]W!-oe:eVZx%)ueelk+.2Ou6̑ (^};r;tG'xr5鞑]}۷_H zbMff2e\|:U$KQ6e lrgC`ټ1 95B O2yx큫GeWCygLJW" ھFi-3|/_#Vcf(CI,{m]䩚%+@uCHoPC H2\ qQ6-q{ k1g\G|Zf~?,ٕPGA&[ oT@goxN.}ݦAjw ėPԍ$oC$4/`P$6%ı\˞2]3!zl\$ a^Fv~%ueܜI kp/B-BŠO'ѶFʵ7JR1=zSUf€pTs螳*Qߑ?O~-C9 ?{*+.4C0E=ڗO _oI3cv@E\ljh/)tgdwljH\9xB6zab'BkYO$>JQ7{duTBtm7v9rC/E?kg_t G2'*" a]/±;3L2:q½w+晢յr2]v!#o^|M5EYzce&HcprbE3+s;2 Q9jQ"F G˥3@t(W|TZ *zW ^Qqp9V&oV KG[CS-?D˰R6*));t1%hTeƠt0FX;[qXw\k }+c>`$aykжY3pnY8د+[ʉ) 'RK'ܗ%1hU 5iвm3n9kV+I6+o&ʀ zp^ ZmoVYpհ^=lq W:u\%ǖ?:s3aFPcĤA H⇰l6(nU#'_?Y/C> 8xN Z?lȢF7hLJ~QngJn+D A`P\B)óV#xB!uOg/Q]'5nX<5ўQ'DVs҃%_ LsQjdWXc:1~ngN[irBƔ|#&x9TS@r)0m%k]s*ud}qKe 0#bw&JQ߲ȩV'Y#jE-![_ %Φ Qln>Py3LD6zRގ4^|\&];{!B<_Z^nS+.t#[]0G ȐHAScS{qc~42F ճGK9Z-۴i/WżO ݷ#k#۞mvRƲ V={&v={66ӂ +" jy#MTm je.LPyoLYSD 4ʳ\MW(VmB/]$ZEB"/2r~vF?=v1q`)A/w Q-xwdйncgw=}hd vBZdءO:'mr,~Y5iQg,gҘ!^"_i^u \-rR 3-Ipeoc~ Q~I/%>ކ< UQ<̍MSZ^@J^|h Df*7R0Y`=PZݴu:$]'PO|҆C~S1)}nD͔CdmM_zXG'_:v}ΟzYhK,mʖ[7C?E! 3 ,<6"^Ië5Y˶@ 9%l?U 6>28m75T8Sm _Fޘu]pe 㙩49t}␚~vt FmxqM-=傤o +3.XnxqD %U=h! VᮌQڄ$F(c7f`~)u _*n>b sMĊSiV r 5`VjͶ]KBC"pBH C]W}!6's?w%ϩ(HUrzsH^RDI d46aqutGsouIj)N8J5'7[9R?hPQyY,N)ŗ65`ݏ9gMG5;l1#C ~D6'^#k}rGf[J ItkS>'ksD]KmMlʢDmRc%P;W]y;߃:ݔ c*!3MǶxcRiSIP 3Y u|Ov1b< j:$|i5HJ05QCfBe/6Rǂ}*X ¢h}4YsGPd_d) (Cz0Pd6r_ >)&K.UĘb7~ pJ3jTP჎#t sXYң3^B  6vFH*:8$@իEu˃l RM 23dLVORזi.A{mԗ/{ZB5(.kEr4=%me;Z;C(9peU wj2bk948.+@sf ~PTEĝ=}%9$o,?d\xBdn+yzPr?ۦ&ⱄ(/ ;X{~g/9˙λDFv ]0]F/TY\m. ؔ@yMk!ohN GM0[~jߺ^y *]cvo^ɾ%lKeDFl1rbxBZ۩>J^T{~6g_Ú1~S mv`>"23B* =l45q&y$RܪSeX; aS>a!eĬcu1l%GN3y`1)oemD.!]#U U;@уGuuq9:=L~ \G5w(Dme߸%v4IqT@\\{9'I:Fsk)us NQрW7DMٚ9}SbUܦ묙Y3)aIT"_8d*S^a.aR:ƆTaMQ,kRr%1qwck&2Rq^#|jfS@aJrѵȤI Ž.oݡE^!o'=zZ6+ ס*>MjAj"<e]@lg(RMyGaIr~f`船yqI^oUՎÃ9< ~)~v-4|iyTj%>\4j+d'fO)qўAx 6m:`IA |diЪ8T5Kƫvr=Ҳ݊jeЕX!&5p]wUد"]bRly9AT^#_h˂DkvEbԶ_)R@aQ&Ώr?#J%ocRMS9K5- 5~{_Hc{LޱO{xc_]8S0ģR)ILI%L-Zi#4Mu[/5|(w@cpϮ79 9}hQ.Ju̫-wP&.gF#6ʙ+ޑFm)_)xze?`V0J, Dm>}S?5 l+KF?!&*Lp1lnm.p=8ۯ(+uɵ6XPNO[Z=AjHbbvA/g?﫫xȃn$kK$ӎs3FՔsǃf-k*`$2J.[xucL ҤS=oZ<}|F>zlCgqT|En6s<#4.LFcE{k&]šh+FEߟ+X뗮7- M}G'jveh L3Fj-2D"=-ƛc:6j&ǿLt( 8Eod M5#۳A'5}r/Q4ao6Umv+Aj|8~ks@ʩ:/Zww;XKc;?6dJ3P LMm̗\R-+z $Q5ue^05 XY>Z5 dtTwۤ_O!D6Bڙ=OhȀhaPV4g!_>kHu.L:G$o5Rpg,!!8n#h??A͎WWsj_] {'-]` b96Q=AL+Fs$fX2 9֯Wu椂vWGq/ɮdB%nKׯdͺdf{Cn2ӀE&3bvd>0mVZ+U=ZH$k6wd3j7FocN}Ա} 86ϾR8ޥ}3#^`􅺺KZP˻\h!flˊ^\gV8Qha/pAWB뺐fuZ 4EWR4>l"5T.Xk ҙdiZ uQky S.bX\/[08 Xege 63ō= U37tX5e;Q$*`N Oly1o p܈Hq.tk3a>! -سev@@R(A ̄+C+ԠQHsxqTy t+8 ۘ'n6ΏPZV))qzQQIřH`.6Y_/r(["p ]pvQ^)jDuGk QRw51hau\k[g*Ys#,WmV7ũRa},dļMgɽ$ک#'ح3i- 5)D\HyP-+/.+#+;YJ,8=.f$%*QN(jE WaqrZ}-9yݡh^1y^K9g6h>}ea9#W&IFBε^C7\mXLԒWT;|G@θatJoTH\~XCR Wl͓Zr`#6OԚ{h OoYZ[2eH0E<{CTy}WgqXfLrs3LE)`z!͠rX\z{3.bœW ӎPe;o-*BCẺM^$߷8x e~h؞K` .01,82x~Y 3) "$~=XY堧/?dw)BUlz8LI56ŸHX{&>Tprq jWV~*C}Q~T/f=?W815RޙH{vx Bw!f;L77OuJ:mhSN ,6 CqI3T/hOtC ƒ'#CwtfafO)^D?d· B.mizxvOTIrzO^IQBa STt7YKh>Gn fέ3˂zEN XI^m!xC4tZZχKg(Kx棎-J]"sG_gU{huDZ&/V@Eei\ɘuX(mXi %4eؓݘpDVQ=?lAHM/To k_ 2NdTWdR2tU9 ݬb0I;GYF8F6CTnPd<|nֵYo))l3eP[mb`tT;dD/$ScY迀:[!W(Sk @*Pe$͙m!3 .`/5=M6͘a D|s-44~kؾ{:Wx`o3^Ɠ#5ԭ[፹1}su#R7^'݃ Mc$\]az$Zټƺ:ku`~(VC 6,˱]Y$<xV\{^_Q޹ٻU֝pmC%;8xYpIr|vUW =[B.ʹtWv> M|`Z3]Xэ jfUiצ:]Y'¥Hh9&۳AezA(.&Hr|57r^nl{#}9AQC Cc[Kx9H<ຊmxbmR [u(P'X)8c&>clS}5TMe:i!؊7*U)V|㖵ƿ6j:H LO\уL%#D`[dD,cbTh:KJns>NI'GԴ~ 1$CZwֶKXNy N~)^%C9j1T?{ħxp4$ UUq=Рl{vrk-CJvU(z.RhNz"֭C+5Hr>i1<_Gh>BWM,ICWA+oI>r:UZAA2׈ D~rzã !y w l}_݃ Bw7 0㧴;EBAY X m5ܳ)KJSqoHJm+A6k3RHr_JJVաj4, a9)P{%4Qk,F2%d]N$g?u}BXWSJ!Kgx2p} v*lSL4@s3=:ԄJ]? єs{6]l EnwD`c0J?%ڠ`0ΝSWPzy*bJzo͇ d%^zoEu< )o Zsic?-@[ǰ^H%}pk]\)_k2l0 +7ƛ߭FNfF-|縈7S\`brZ璘#_LF|y3qF^BņNXU3q,gFMyz-J +Sc#,=D[터>`%MN:gl\wW\c;CfV!>XR(voV=̬ήIAq{~oֵ:.K6SU~nybgfq,H*XM- %CD(Q(RƢ lVEz"ksF2ޜrXAK nY+Fu).xc#eoت@ /fS|8Z>L%b=!y,v3B!v[vZ1I`>ZOD@6^<&7?Q\0ྞ,ƵY{I }2RVahs>Տ^H6fO`kBb1ը6\Q{t=z%߲т h7g}!BQvν|&O-oLfRg?FV:Tr2ڼhS׽?d;6N '$.-fbIl TbYyq; !pOC94ٺwݞɐ 4_aq\"TB"/0bfSJeZ,֪8ґs bg nE4t'͢O.\;mLI36&4'xtC{*֥=OJm[wQF}y gL*6]I!Pt|ҲSRr@Jμ;mFSWww*n|1y$N'fTA7HY49diq5V; 6vQ 5MTZK<9 >;hBx y V5̄cl$fKNTc$9Kͧf ~.L5wnw\6w?hCo;k%[PF G FZz u5 *\xrjr)N+b˿zUPq͵i'l) hϟKIJ+/i b)Z0 Ԙc/^9"THzE?CFZY!j~ :!Tv4(mW}IY~U@lvtd^l}CN ٹZgܼQo@x[ ~a7OQ4\^Tx{VwShB_9DOb:Dlaʧi<m of.:sPε;Rno#pMLGyH#U`rEm#Gռ_G`i&i VQ)flg?XL=# SGfhG+PO#q܈H^lܒ]]:4#so<n=&Pk)jCix l6vmH?B*-BPHTۨ O6zODJ ק4c)KjGf+\.|7~XBMNJ/mnuU̫&ְ#rGiAG<:@Â,UQOrh-T{1,(?-N% r V##U`K+ \h~UenbO4lw Mz\,:Y^3dWu Jh0_.yc߻j48?yq-7$:e*9_K6R 1 ȓ䡬73(*L;c.P=ڪ=bku l+y~M}{r{EpF=Mcqyj{;U7ncWHO~c4A ,"A7u-pcɊV87^\]9IśS4,az=<%0Da&ʃd.J.ѵ2ӿ.EVDӕ4tβ t'qD6#i@kdBBw:3 |lxaI_̞.wz(n8я7 {ʿX]Rvnh@g;ODQ6zxb/1J۰thF~{F>CG mى_n5ɢs?YP*5ϊ^96S` g~~ȉT'CX҉;Y6hRYe,=g5sjskC;W;WcpCZ%4 n\NVԡ9ܘ,^o[[8Y K#1d5~yQ!:.&o@$ĭKc&dɓoSoV3íʺ6=7'X@Sӧ8V$H$X`jՏ@Gn1ck+KHfR!Bf,5P:(N兓9e9~|g6D}fpJ݉GEiOW;yq~uP< u L?C "%e&Egl܏lz)DAr˾(¦Џ< 󺒏ZGbDFd% @.ҧ!a|oV1YG{-' 5fTֵ8r뤁d?j&; #Ull\߄XNAc1Hwg9-pqgc;}:fW #lXDh|Rly7>K"acq!!x1^Naִ3d(5@`9HjbӳxW7~3g OFYySɇ{Y &'!) r?"1G]/?sB g8fqN_[Cޓ j݄-[3Evn'ANR?MԹP'xo xs?^j>}p(<1w2(I uPchCWO|l9ӎH)f vH"9ȫ;!y1.:yX]O|g! uO}j/ {®4:^R wza\ ., oѕ-N™ [el.,Sl2)30YHc>2T,D!VƍLxq;]>J#8L^&;Ԍ+Wj*V8c>]Ymf X{F67϶ȳ#}&]^XpF,w|JE3#J^EIT_^~=gy Ġp\f@nㄵ+S :3̰L?6*I 99!cu&jk ]mn󋐂d9',aˣO]Cq}z޵2AuUʰ5q7<+.B&@o5k&&fV#O/k~npܟN7cʴ ! `&$t‡69-+7^-֣\XDTmCUKM#AuQPCʉ>:-hyJh+"hS>iE uUpB^ /N./pAZTkXM AJbWM (4aS?Rl`^:~}$Xܝ_pI]y|OYĻ0G {ؕPBu8O C; j!GҤ`oѐ_=5&j9Ҍ2_W =IOa}Pvn"U\#x ly$oKUo6%! byB`CUyjGqӂz͋mS'#iX]kX}=nON9hi $6[hjNf5 ÓWZx?9؜PTv.r+0-3hGWk4*Mc>~0&nFA>{*P.\WWTǬQ! u/?ڐfg jTy .!, zԷ`Rlt@! :*Vÿq=[0wj<A&DvD ZN{x緒ʊB|j@؀ 3`W $f49+ ]Qk5ųFsZ##&;qGB5-m f &=,n.DY?EL`AEyJ?orm ax#!eT]K5_I/&/Qlf$GXB!~mSDWv]:jWo[Oi_t̓ t*Qd[3 –5 Ҋy+ mK{)Mr !=$$f)v>ODNwx|]T|K BqCYc`"`'L3g n nFk,-P$m'ygҨ޺Z._)WMi2;)J=ԅЙ6M7Cf^hF@b?{fk9G%չx"]p ~4 ;_kym0] !ڤldOaiʠ f2tVʑN:"1Yϧ)ed8K.&47fP FY5ÈQyN:eEdW׻W. N Isc'kǮCwt" uņ6 2 XDE)W oڪFfMe O0wHĒ};=Ź}aGz@xFA|C~R(; a0Hk l[RBZmϛֈhoa!fSL]]jSm5.PS7oНea3BS^~0/PfXF1,z7HIxH-^M?ht6Cv);؉\zb!4D5w3!$W^0?W˜g:оK#\ DG4MRۦ /܈- %1w&e֕}a;ޖ84R1Fxr6練 ^UG9'ihU> 9G4@(C#AMiOP(6audOlj )_L`dW]=)JɁz7ƴӚa;c]ѳ g<_Hp)'|GyCJ)?C:Ğ^b3߃`[%ʗ {8͒3">#GEs//y/-m|u`&^>彌4 ~zBRZ$mwZR$s, څI8&jzZ& %Y[pZFGɕ\b9a"IkU/fP ߉>bH &WQ"5`Y9Zֽ;/c-qb+XBNX~XTcmڐϭ eO:bk` iFpxi! Х?]9UYE'aIi2DQe/2,dJUvs8UΰHG)ӈL7OQgnYxU8%Ȩ]ˍop7yʴ:71їG6^B1zI[x햟N}w=*5VnCxRxY萪cxi_c#ɬ O*)(M-JY0A,p˝vUӴ^PrgyBU(ԙorϚC[9L}o8+ +HvJ{JFw~b,IiULXi}ChI@T8>ߡG6u /t. j{!!1t1 Tx dd@캕]zY݃gd },ITtրnn-չ6[ѥRecEFo7+}VߔE ~IsOXl3ٱhd<5$^-+-!a !bedYrmcvxƙ-?r9 #@ p#=s[4,^Uoaw1վAn\'QmLs2IA}#e z|)$e^^\b>P6J?TF[$`,+Ԏ>f L#NU:Cf[,wބ 4h*9d} ['~dⲯ0. [toa5s4U9I  $ h ?o|BWh7UQ&Fh꥜cPCl #%,;Ǘ'`m5&4І?:jh~@ ז,k]:nvXye1-JؕDD;ޛ7c(mc;Au#@ݟwk[ѳ,L4 a'm qf HDoG10 sS/l*VB ^ps qvC(UGHQCz;>l3BuЫ!(Ÿq rbk:$oЅRVѹ&~my6ݗA?{%ޥi+)|ޕb{ 7n?ZRiYՒ֨A;0@L&:8s8 iu3zX^Bh@<$̛mXN/.sF2su ?CWWu-xZUWj+q6 JK޹@wpvbiN!%[Rd?ߓS]/T6ng<7K%pVA^HL*vT Hp8g6XtGg̑V{g sV JI1aY]6$=wlCk3]bYտMdp:Rp +:|ʂ:7gD7e9&|kʯڏ8I6Z}GAX]'9) {E0!<*0 :A[(tuBK?!pR{`Hr$|>¹?@ǿ)B%߫`Z@ISqU*zT7ٝ 4*$f@2\]5Xp<+D64&K@Vs6aplOɟ3~uwQTGNFe9~o8` !韎PJB? 0>-͂zohxl(`Q ]JN-cuV6"@CD{GHުpMg1B5ˈV룻7o2#LAhe;l=DԾOB(H#Qģ6]5;I^Z]_zL6`.oK_vgZbqyAwMח&mb1AmPyiеWzɿU! #*/~H 4{x;{b elR̵ǘQi[1(XmK ZaF#,<7tY$Nhu Qb}2FHGdMFVTfI x3z3`@>+g#-B?jgʢ )zk L Yle #ǚ,K/qY8pVETBi1YNJ`@".yK X@8i Sh@PC]xy,Tb[һBjYifn31qlܯ}agfb_ +qɲ@⠁$bpIw|Hg }Նg"4oSTHYⅈ0; Z`pZt|hHn`gLsIJE7MRѥ0h0!!J @3ysFL{GW^[2j3 ]5ƙ#4{8(\;zNPUVA8;ZD>YuԉmDc0b q3~Y o`ɡƬZK4, BBZ(/DDӑcw+-||4= @lǵ槴^(/{ZB`侁Q^o5ǣ}¦G \Tk+u6_RT3l:l:l.!KԷ=Hl!Fiê7@9]W}YCB%WPkUPZdr*ICNVz|AVJةQdLm^,d+j[%b2۲ƸVuZ$>\A=$ k,n7L_vˊ ru98j5MG76-u\?K$Y= f26]j!e%N;Kn*dbl=v6\F".e4f" w5H0l|Z i Є<, +hzS7y5s Wj(t_RsAtzI: `3 I֪-yzĆR4R=Xod|”{3_u5i&xHu s3'8nB Zٞ^y׌p i8sȶFI{ s/[Xި^ƫA99͗bPE(ߡəI&x&bh|vXdʒ"_+rӯA@,\$LAAZb 6n{_s~߸Pt/ Z󶓗,ZxtC btYl;FӎuiCTeݴt U+ݾ[} R74ђ /5y}b%GK~кPlj36\gQРmbYqyNCsfex;1YWFD݀8CDJKR#By\nqK2nXnaF?SFַhk~KVՇ031߃,@A{/@*W+HŪ< Wj>xY2$36ڧ}<8dl"RϩG;u4{n$Gjq &6"P(/kME zZ7 F"0$%&2Dv⃒O':zid[~0R3!ICt{9sjcz0ȰL1GaJ%%3cʾXA]M$Mi-ʀ=;8QUZ.oKC bi/A')lj2w*F sSsk^\zp2.yؼjz*xp8)P ڥM&[n &(7,\|3?<_iPyҷgH8%-t3 x3:0/ϥn+u䷜I<ܢgm= 2}a+:[aYhMyz;NO-o{%a b*X!|p=imEy1#IWɯ#zM>]wr!$C-UF8}@ g㦚a!CbSfBs;! b x몝T6/ ,[f@΂MR6R3^ g &P{6 @JirП=*棣Cf)>0. bDZ\ 1X 8{6TBV8l:@tݸeGV ͕R.u?oI"i/f`^Sz=2$Rm9` 㬏iL0V&Sj_M]p=v7×M39w2QS,}Jto=F?+k69 rz¶n qp!QnNJD^ݷĕ\+(k *N01;/9xDiGWebf"#]^fg!3ӳJꁨ(j2undgI'm;Y׸ny95;i &vc<\۶Ko\TFDNυޒp0~SD w`I6{Y_~88Dd۽10WDDKP֨9|=lUi(fSS/`8+׉֦64vpA%e-MxoIjz2c 4Evh]Bp2}pPFS;s 6Q(O/RM}=cs*IgdD!YMG`f- 3r0 IT' o)w(@~vSN)/(?M*SZv;KBB|17@ 9,].MI>PO;{1c@s~]\Ao2#V郰xŹ䪞gQ}R ^ ?{8m[1eX .j !Jt讋U"%ZxlP8yx8bsv/DTfnA)}V"/`\c* ľaC{ʳAz4Tϱr&t).ve}0'bˊzYc0l\EØlO/ œVֆ=ཚ_WӰqy;E8+ֵakP)68|Fnç$o \/[2jJ J^ٵԉ%ҭ`pD֓ Rt/\ @QS(Z±QRgY+S#E;8?ё|yDF~@)<,Pq4_q B[Ÿ=~h뙩U:=r'h~VfW޹"ojBWqMVfw6e}XYTLp+β[_7 y UKH%|@'O}oho(826;գ% f?"eȰܾY0sx^/7^cړ+ VBTpσc.\2ꩩ_vc d9\T"_o$j(śԃw5 Fk_?}* ֘?*7HAjŰ:{bR,2-Hk({@*׮p.~N2laPL00~и>15Ȥ/G=l>3ߤ_E IVScTFmb7ys֨6WSk/w"PFS%v!唶\Gf{t͔m,U~-戏XJ6ΓO2rٰޥ$&]e֡кuz%z2i?)&7u3iB/fFtŖQdzNJ]\̟y&AC6s ӄTTa M^u1 |@Nob%`?8<9aY;$R~><3uXEėRvo\\J R9hA6-_p6A=Mʥb)pwUz2p8P1|(+{{9N#ѨȻ)+x[==rݠ>ؐgCu޵I&簋V<'Qt`sc<"X%i42鬋 ~r;oNM6nh}I2.\ܲ0Ÿ+(﹋^ +:}ŋu{lVm-9^u7|Ѳl&T$U[??h%npϱ+Oq ))5tHZ#I))He!Ez25(->Q0,j<2R]o[zqͦTEɠ%Nt,^RUEc1]5p.==tn*'mr7Wl1 CBr&JbUzo[[⸞NBZ͵•osc QmRUdԯ4Kyjxeźl>2KHyd(wE5W QD8f)ri Qᔯ`֡efV@^$b (ޢU f ͷsC/Ԏʔ 5ŭW2oK#qսL2_C ޅftL*';*=ڮuv,WOك7 s LV*Wneie#Ѷs?s_Y(&z,qI޾>#WtLXPnVY$_`E. *hS֥v@M!b+g+Ehk I ]x)! T{NX%W oWD[^v~8l'17R1ݹ\f waEs,`7QfMϬz,g{E-0>.qsʭ?)H1 p>XGb!zd)! ȤLe\!!hW`+as{KQZ%]ry&*uܪJk&eV TNE9Al ~776_^LwZY_0>^@#-vҤ[@2 d PUA: >~Bʒ}oc`Eƃ7N,BP4dzWLy:Au3Z=[Фo[otib^ڵy;yu{!a[yQx͟V]d/~{OÈ>hzF|N,Zϭ[D~xdSDN<b_c CZUFha_eEb/Xw.;zmv*Q55kv;c4=[pY-Ƚ P@rXS45K+/ճJD*JE<$/@3.d} Q2|DљY"KTm+x܆o8>qʍ#!̂nF olTdLu@jKL&P#.km:ݦe+,X}[3Ǭk .-ݣqle>}p?/j&ᵣ5-[r%Mm "L{3 ɻM߮ x&8L96}ѣXo1q][Z/0>*?dЯ%3韗 wFb: W|'`&^BouDpB8Y@kS43J#>7=4't@Bcn4^ =6jm=: hŽaZ īOفi&<)w0v͒BwVy g nAHARl&J%x*ǛɅӈvfLT|/3>;^ђc(|ޑL4K(m{UOJAؿ6[y̛Gdk84y8&IÃKMthSK_nzn}|?Єk,!1,ܞ'ˤ}V7aR7Bpk23@=Ֆfw%S~.Ia2|Q-!ZIŵ O4GmdHۏo׈ ah:u:A ?b. u>[rmo4A%+V̶+)%'r1;lKVٖ~0a1e-':hɩ3yE_RР ިj.<mKXAj] da ~]):dh8= ˄Kǭ;>r XDO,HJ*M_}]7b Y 9x"n]^;[ yz=Lhnz~~ƺS h-B384Bҍ|Ŵpe5 (tP5lM uo@źg6\HkƨiGqw*:6[,Oʯ{52Q~`!)c'!9Jf!Y j*ӏ+b1$Uq'O`rHpĻlykLP ]JZӥT$bsH: m/Ciz_dq]Hшr̈́#&$ p&%A 77m({v< |ƊkF -]h.bZ 37KP0)q/-$\u'D9gzȵ- "J/'iOr]bZb&O = 3ZDvQq\+UYU>~Ԧa$TGJdU1my@cZ [:q2_Q,|h{"R%Z%H tIQ즟{5}~Ե$6X-QЗSV+;2?~qY|kfTQt9.tUKx/U]*pbU.cKl28yi QЖW hB^/E OCߐQcH'ƻN5:*b98VjB4T+\z-©,iۀG]|?mh 6FD9냦>*HŪ&;\heikv$v0_ ;uӱw" -1Mx~3V$σ$Lx#G ]|B+'y-1*{K}k=܎y}qOH?yq-:^Zrg`21@k>klXǷ92.6țXbE>CS{j)sKAn;OqVȀ˩sa .X S=ߤ*+'FYk r~ M0DU aiϐ%փ_LxRKme@!4W6XLOII ٻ"ޓX]5rjIejJ+^q >pۋ?YSMʤ)NNqך|~BUqJ*$/R[X&m5q3 É[` Ym1ܐ4.N!^uy,sa evk; Mu*kØ E_0ɉ&Q sH\5\3Pb{* A_/!B1~țlØQ^/#Mo' ҳ+*ck}+"eG=Βo l9Sg7߾`*X4 uvP"џQwPya4sium<[R\mqx`>k^*(+)MEi7TNͮ/>JeG5yDH] 9*^H%4 hm CzgGT! VcF`J^_<\(I,7vi::`&n6v-׉+Hآ(nHJ"%=HRqjM)E!yҀ J'޿6 2WE^F46Rݻm$1xs&:9r>-0q4Wi%tf 6V?)jwj& "[ oxp>M UG4* e}փE5[7VFYĺnYd$"2 ;#;;? RDžqQ^5I/Mil?B xsKUn˹ @U-}yПrc*]iWԁY&1_gV ]pDrY WO+NkS]l)VC M"`9!l+@|{s ArEs?.2 NJmth}$e_ԢMO[q#oQ B>6fTG"-߭/[֕f|}K+GDÁIe-E> EZ7$GrVyC7T_ଜ^u"z,vAmr`a.a<1v<b;*iZYbvmkN41yC ;~=M)K aTDYɧ9n9}>KC'0 > 6 ϵ@>s߄}_fNz3% G ˀjFK]quܛ6b,'CbO9XA RCA]PidXwyt"//޶MbIȋ%Wkx@|G Ӏ> w! qrߪe٠fBH+i[ܒ7dz>5aqgA`Ed>")d=Ki^l ˣ!}/\'a7{D2yhjw=N8>d_ @bK;` <ìCgBw[c`$E٭/I?5l^mZ=Ayj<Se~˵OCsK5\|ؠ= M=$F Y͡GwBӜ߱f !M VQuP 6]6ғwU(% (?rGkZ^j5l>cpr{"P]7oHsd=hÒmv){ {leG^oU 3C2;V3ѿ!,?K:7&ڒXI]K?YE"mbS5~L$mI})j`d9j.iC ON;"`A8>8̿`[o@;[)*L'9jmwgp9i#C%Sc^>0㇋vNF[ 2&W RP])stTC?imB*~ rll?R~pZDEk]ߦ!5aFaͨ]qMgCj QNb_}\=:?h[4gZ|ttr4~`4&ұbҮ$1+ ,n3^,PDzP֌"FO])Gp]摡TہtYc<D?o*>/?W@ rY#gA5$ÊlW]j~K.F%ŀ;{d>~meItu`!-G ]n>@ZG,Є wԡ-oi<=Ğ۹彂AY.^eit#dUI~Ĵ,RiCixQϙW Z~ޏN Qldp&4y(+;]ȴeaXP#$Jh{ӧ9+hX`TV ew-ODh/״ؙ\cqXpBޥwYx>lZ-=a"PR>r՞lo'c86b5Q3Gco]>~OW38n!%Yh,Y/oQ+ь;鄸m৖_׷xI4?b?N3`EǪ>1(O zl]Yqh譞 F#PBޡ-!ӊwU&KFjB⣂X~{O9ِڀt)F9Y ԮQ4=ʥH?L?puӪwF&3غjԌp/ޟ(?d4ռO{*SEMoXzʧK';nDz@Fҋv!p}` K2 ͆٤\HLQ7<4F°[3WG` D 1G*GN6-IObBͩ8DZoh-[„؀AE0b\y'E:>veϪxݿ_a:*ג#l CPfօئ*WW |]-Ȗ͒*2Haқ)2&iWk0ϰH6 `iqbDNelbF*xBI;?_^`&L\E˴.+gr|5WA$ n 6JeGg̱O`U%b%iz+ 0ߚVhL93hi2r574K+g"fd fF;ǃwI~`KF)009꥓:L_]S8$0~z^tcI 4.#4ٷ ץAVw2pW>Eeh p"_b1ƝsT\ pC\t щzpOox "*p܆<}s~Rm(hgX-"kCЫ'=OWnr * #5 nBwGk^ߜp/9E}Bz+ K}zHCy9|Ssa^@ǓD&sBJdDw֙0%hL_28r#;hWM98#|@0E OȞ;#O1-7uhy}n\7D"O'ÂV` {90#6TU3 VM6_!JC;)ҳO}k U; mtT'bl鑾ǀ˭-#2 }wx4Os_s{R`czO KЌq&7yթ 3r[ԹҴј5~ѓ`jJ40˜r,osKn%eieΎpD?<ѻHK%y3z jȬly)FO\AĕoI/ǘ.fay? r7w(@ܠjb'6HJlo7eʯ x OQ0_ /2E.8Tu?Qو؀^*l$4F ٯ)>T漃]1sH- L~mTpIB):>Q˃8^=b5P\'EK)@CGZu|y>)z%EB=B2 /rDkU90yͣ({|Xǩ4_sw]Mϔ}Es-@niwR!-,GjGďd5 5 ;bI׼VEE&#=e P!cۂjyFDp/3f_Qd=Zx JG5VKtǂ(?;˛kbW85+T)ɻYzף1Jj IIxt*wf y^.„ep$U!QK`6GuoTZFːN>.!+1İgMa˱M$ޗvG%kgc. cGdwy.{ EX&PAԕ;%>K6?|853!]+'P @6[v4@]ĸ+tݠxüL[b>è=33cWNlvzw5W\v^B򯊰ts{'cf+E߬,Ȁ^ֹrg|-u[a%dfHoi:[:PM,=–ҫNf\DP!rZH#'4-zG`uĂ6ZSkEaQMZ[1(VWpilV ĺm}>ٓ /v X+1X*"\u +!kgZ9ZZm~1$ղ!GxTyFഥs,d9bi~cټ yάc#<~c;M)1c m9()#/6[|I`Q&K'{A|Uns3WN mٕ jrw@]>8=h`yu nƚ,U-&3-df|79Qi򑚮&kΆۧmrn;7'}t.سHN= dVKVQ_D#Z#{7.JӾK#p> ro9z\/%vq3@gdA_wE)~NǨޜ20ӈh }Qs)4`>B%C]QeT3r5si칆C芢X' J='Gs[Κ}CW X|gl=Jj{+-S40+c%H K$:C Cv#P}URG/`s.ˤ;.XfE[itAϙڞ7 >5yС+6~XêbDRĚn\+Q_)h!07R{~>x{ QhG[fq-Ԥ8ӷ74ǧE!I'g,Z{c]I/!Lƒz(~^_@ʜ+ħ?O F"ˌs,ϟiVn'8ՙ|4v̼>~x;!/JhZ=p_@5ܹ5:u|;&63+5z} GB`Px0Go z %p@Zb^~ɆwNEWp:(U%BNT&ТyC+6vZ˪$̄8`;s#q^N&0 S(A4o=-.'ĠmzWf @Ԟo1lR{^Ԅ/@@?s6)Wyqɴ-`K ]i8 ˍ$i{e̚^O / ]d0G;W Q":ޙc3ayߞ?ϐ3Uf;ߡ9.kܦ]D T4V9OK] #'H#,av%TT"[q%% "3, q2k<׬#_X>_{ KƎ+::O7;K.aVb Ϸt:st$QϚ%þv;w4nN$RJ8*Te~4 TGN9@ c^=P!K5u KT7 IiL鬺tD$'ʸ|JA@EL͚ q } 43YeŸ2}s:{b$`j*BfZ5~M+`{1+4ٻOG#P& 6'|,3ɡ瀖+A9u͒ xCZ}ث9(3誠sA3@2GEq48D 0EA =+% b])F@kn\OM l JַŞ+ aXůy;oF?NR }ٖ'nL=dJyL!.X2 #YQ'2lju@ -\;C,@R .AYHnɎU\ #6lE֘AyqA͹>~p_ B9!^tp]?b\4ou2SbIЖ8rsJD&P"brj1,SIp* eٺqOt }o|I Ŏn(duB-wâ4cٽ\9 BYı?"߇ծ046& i!Ekp$zQ <L+CRaG޽a1pXлy^>& +ºn(cr1ޠ^Gh cY+1o^i 0,_ŸIxDM;u)t&oG#a/2?Q&n bd"JeiɜHNj\&mSLeע5 #ou%E,2;Ž Z{ЗqLv_xaq0jf 1Fcy\1cSXﮚ݈AYWf?> H:O1-͈ÙrʩW!gT1Wq 0FJ?piJex9+wg`}Y`(zb|&CSE\)Q@s6a@Kp=X!r0M0BWe+jx75: FUԻ1YFƩeuŕx@lqn?,3"!]/#(B=|v>**tUP-ո͚]bO'sߜXEó BzbS$ ҥ$ q I<tUv޾!^_hJ'%*rLX[RAvu` %m{'}w]d3uΩ}&I˰)_k9rg?.=FgYKX 퀑h^F 0GfzRu'{?05!xtGl~-7ӈHmhJVZx_Cb&JOw|)ʻ֊nE+aD9"Y$FFr$^GHk7;E׼xlAx3kD)JR_$OKJhִl(pF_gWsy߉ٙN!X9܉B&ݺ-0"lBoP~[Y o!wPϖe|}kIf726<(iO ܚvh-j~? D"IhzhηfO9 [ƥR#.duF|y 1\g O1828],[͢>!_'ZƚT;Y9751GS KL(WԡFlNsB^d4 `tLvf/cef"<Ģ Zk=$Z42wL7}@4% sWY0䀜ӟHIܑI, |8T=7H T2,"nZf&~n 8j\g."%0nk6 ćdfFO"'*څjw*g'F5k :|ۇs*AyO6B1y  ,euYT,߹Cmǖ^{dASw%7vc!sė+HS$XW]l }7H[Wu 1n](mx<"P6TWPs,UߔLB&4'Zyx ա՘+=wބ ـ.GZpή6쳨ۻ]`㏰V+O|d L4@qhNW5pX9nΰau,2i4tZU]X@g|]-ftyٖ^8,&Abhy]h'bdɴ):FBD 5izd`ӂt8HԠษ>(ڐS1QL.9|.gMN#d$,b)?|*:DaXQ 8|67|OwĹ5(ٍ3t?mgac=%ؒ7&>5d_t`M62q78*;0s22I ahR뽓Z}x^b-2_amBj̫#L ꁁHj8h "<;Idu]slR'>00`,] a .yj/OeֱnޓMcb48sfF6DQ?EoR2S3OK28\)\\~};+d]Dft Зs h?F]?&_5dL88wЬnKuvr|[݁D|@MYֿpd=Y'+wRpՒrtnCb49iQe44O݉-z6+<sZn|X74boGBQlȷe)3+ <5b_$#mϑQ ~HzuL 5~@Fjgkxj+X  SZv'ZţLr 4y+}.MF 7 ɞ)s%j)3Z=6PCf p9U˅¨.~dZ扝%pQ4g+Yl5IvoeHv S'b6N_\cHn `YamEoog%ֲ&ol02랖ϛ`61Fas3pV;.bеd~vJJ=4#Vvc[ v@'ptsO63W ׶k O .q>dž/NfK :9ZvR3wU؛+1.5!$1= ] 4LP񫼢b4Ҝ3Sʄ'>l ;,2KDG@Zu[q[$1uHm|[RRYKPnoLR6*LQO)SJN MvahuY_{k{Áwq{y[^k( ZUMAzcN&@/7-rU@b6M4ُ0Dz5Z<?jߠN#;vmG.pTX aj1u o̚M*}Ib1ۡ6ßdE0lW#k `]nfi?w- q &t9ˤLaXͪa`RN҈ΞW4U;_q欟)䬕< SWaR&+ ԪZ';pPF B4`s|!]!RL4ZO#+%sz]2{nwfgԦun謯(bk,_9?"ܨΕs$1bmuDDɛѰ'$ʿl2os 4ǴBy/6Fve pp*E2Gs[ݗe ~5 2Wݢ" "$OeU=w[{&V?rWc4^TјHU/ A `Yt y ޝEE;mrA <} dۅS҂2@ĕTK.#cȤOx}:z|oxr..?y@hea-͕G~U_!ctֲc0>Ik?l  v9E#[ ]&*/Geа5Z[?JvKySgsPB"'u(sS r |vieVw6~l/ADńq;FZ'e)0MK!{+O peK:e5e2R asi]bDQL5q&炐m`狎?ذM#4Q6 T ]l e\7`u)I@jbAq+I7 X=5IL<8NyY]pvfp(KSA3x\5/(|HG̳-7&4}G.Pg9%]h_, V,҄cO*`U`]_O_GjG"3,BFvS]RsA~'5 Y-PG&gbnX;NA4*)I Sdpz>ܒҖiN"w>xu$;ճq= ,{+GxהHHNkTKO/0N6,PlaUUec7䀷lnwf񒙵|SQYr~ZEUkߥ]vGx,]oZUfn7m'A'DBli=Bv. u.nKekn&>=X%u ];b[!ˡ}j/l^IlNU@v,4vĶJH8rvF[m .)6y4{R⩰VD6mؽ,~M8\-9\.}a pT<#8EX.řK2s!97-^ՓVyM-N|:d5~[4C'ߓՈ+*@ JGx5Dr򰄮яÈ*c`v8VYir`~D~C; ƒOOk$θQS}L-C)%I]' ay` g^x3r 9qĭI!N„ Hzjv {n'>${2gZBEQ^O.jq?̎"7 ̸z~B,3`o11.L:y)1os`u/ԕ3sq4\7IŎv lj4٧㚪%z?UiF\ ?>^%N?L@Oڶv/?˪d塱t Cs1jוƭ|}o7eJ6ǃ}: ve2뎥ҘMOFɑ̸ @`JNǕn`նbmY UPU,3oXwYZܸ<Ȝ,7ت0.Y-ܻM_4ˌiF\{J*<>j#^4vaOrU|aH;"E94(@S % XUo,s%EQ >jϘ̧W+%03x|C2 ɖ#|"Φ,S5n4AF/LrSe}|[{LϞyf_tw{f5^՟v#S;O=(3vCO/~x4 ȥ_MYUvVRAez@$xɣ=F!C՜[2Hq*2@L;·eꩀ),7!iTG[ P}h; bS6\kgQV; W4r˶zW-MȞoѱҳ6reض$){vW7Sf7Vi`J)"Q?ۖkX+K _f!>D>"b3.v&ʡ˓p^8F9H#.j&HwEJcwsAuNɡ}YympG^= tڃ_[ 801Pg-fxu=Ep~ ´i \@f꜈ :&2,.g3 u!V ?mBO<ԙWF2myKӷ+׼5h=)'sq[+?!equsM@;0Js%,r]IFR{iZZ#S^rE/@/p{Ϟsxt98RǺ)t)L#:,Rcxި[Q:>lyI{UT<ve9eSёW3m\P%eVq- L89|&߇ӯ~]:;l|=ve0cرm=l ?T9_=)[@#z ,oSgUAOk/ݓ;&+)\SMbéz07ʸAoH%1gJBľ" g[:4&:-Iie"mMr vWt1阨r3O՚:K\Sz8_'܏a:KsUݖ?O %[JPMSrA Bj7z5(*\6rB=~m"N_"]_v-F,_jۧJAc3PZJf07wNc%_~czfaA]1-[D 8fj;\Fk.d"Y{У|7m iŽۨ$$yG%{8+I!p$eN;q?NYtb ;bDF4/%WNzfۉ du۬ #4s*M}ʊ&p~+gS Qb#KqH }YH6RW~Ȫj)ȯzv՞B`@*_Nh<@O._(7gV&JJ&=(2 W|MJm|MibŶ&.e|f\`9koz=p)}mxA|xj'FQu |d=/>{k24#y]mx-ގcGEꏦеÀ _U*Z# wz *Y4Y27 s?IO%Vۄ9K)uyO` ~A=̠'[ͷz-Ȥ),]'$ވ.suS%s1k]ߠLC45 z% ݺ@|v\~p?%5Y=y`9ǿK 7wjR{wb@4_[xNMy˭h#((eCx06 ׅ+1}%[n=>J*)ɳ^ʴY0$h"uCllF/p_f{K0DV?񭔓&*vJ`#"@g*9Ԁb-3~E.k$t܂ǛjۢGG3DuoEJB9,>:x޿A]_5kD|=ϰ7@[7Ef[8cMi,9?$!mP!IW^Ð⁅C o}iF@y=#p35oƋz,SgH/hRC k!Avha/FP"~iI{w_稙H(U+,fk7Q8Ow%joIr BQ+E%z?zt2X40 X8l\D?İSC5(qI_ޘYXT0BiwԚY|-U4{6U &%: I"5;dc!$B2:I@Y0b :z&a:.P?Zdr-'8: @ܜkyc75BpdⴽKrj Xrf>lJEl͜'Z$N2SFXٳwBX]C}Б\K^&JX]fCX/i3dp ƅQd `?%;tæ5nu9mLl)f"^PW,/޳O/6} {2< ZzA u$I٪]P9! VƯ{2;2{pֻɫFe LE}mT _eQvڽJfH$HPZO$#=4Em;ҷg}9[[)e+ oɰ3.eXᕮ]vW6!(Tnzz!!"^CSz.Ynhj,IZAWj*ǼI"De5gD=D|<ܴtVPp\q@Hq$dM^vaQY{ޣ9NT3Er}V'9gYl(J>A 2":[!)$N (1E70.I!J׏Ű24=5@@U6'ΑCj\'RcS׵ZO)2t.S߲ȰqmO tzO QNGےTײw !G ~&.*Lcݬ?[ *- !sK /f6#Ιe0Nwq߅̓Nlڄ~FQI6W5Zeҕub!^8TV!/CVKf:@vk$Rpc@l2aNad #7%xjmEexk&eχdN0}ɖA\? ١+V+CMˑІǻΓ;nRjvCFo: 6>BQ5ٚfΖGi9% p;W h,봁ဆjnZqY Y@ VLABY;X##-Тj/joO"԰ z!+L06vRu/̂?ﵲ&IO@5ţ-7ް->ce8H[ׯ~GGfMTzW7t\ё vN%cJjI.7({cV]dn#!oh:pN?T[XetN_Z",[NH2ԙ ky[8 f7%reJizl{s/Dt҃yBR;ZfUFZ%=] +";jt{&e1ߧRH4eJ;VT鉲Y16ҳIu #ޔߠ^lg?uvN3Q n4FVV4LFc M7'W" 3 Ad٢!)N0X.rBikM_"!ӕ*MT)4 -56A׷kxsGUII7+%ư,Щvʪ6H4aV:旲֩d'J-Pb2QUZ%W~+Ȭ}Tв g2_řЈVi;m'dvF6&pD-`qCDŽ_y9j]ҏri g " S\6Ai ?oO(몞Knw|um<A-mξz\Ծiy`/He殜!?zP? zm2' vۏK3M{>N\P-ǥI3vBN }Ejh-߿̔p>-P_ 陫 =widu!ۋksεFvuFo@ ?i4PWV0MCoQ+:5[p7Z؝gu$ PhCWL z )W"~9UVDC[ fhD"l4G䛛+~NF?Mfm9jC[]~/;Τ89= | YM^δQ(,wp<`Ju)A82'oUX՜>᧿h{1X7yG:eUӁ7! `,XB?4&Ɣ>~8ΌḮuaSvs?brr& l0̙' ]ptSlmd˻45VEғCF16H!y[9'Vdž˚'h|aglioDrzBu8bi{˚H%l)Ion ):pf)@|]~iR;uǟZX2Q"۟veG`_DNy˝ sݮ*b99)-\,GrN׋o':-`\ƽ$N{;l'=amn4eGs''J{8jF7$*S2eg@_U#׋N³hcM=g GwU0>^R剃x ^/6zSVᏴ~| (Xl s+wc+v;sV]g$v@NܬFaHOHT) W-U_jBNX'Zίh|xR=J~Zs!]w?PX1:  j0Y9 톳+Ǔ2a>*b`};vwpUt.,,$S=TȬ l~ \>7W0bL2M0[hAss$2_#V#H)#PP#F<;Zr-B_*7(w::ܨ}~^Dl#-6MSIћ-M\>}w/ie:z9ԑ/tF \ȴhR"v_cR w`o5 ފԢP[q~3b՞+L=d3p<)&&E$#[=s{@݆YM%w܆^ܵ!<*3F0SrgX֣A\-8n&]1-8h`Z'v(\M ~EmP%灟7>Â? *~];e  &vi4N[,q*'|xICvFϢ_+;uSr 須fdr+: tH /}[Jg>վ\ i9;yOy˻քLuh fһY0h AZhuƕ]!&HpBSBnC!v|W[hd Xfa;Mo$} BڦrKy g wx:_BFҊ*+&s/ܓ4D6 'f`#S b#knHWWz+?HK_{%j^:H5Ũ1 Ip_8Ot̗юK@+ی:8'Ń)QwGgR ]"q\8o8I@FhFz?knc*so(/ZZ-! taVJf̻W*+ ,Iַ@Nj63o*a4j#]{P+4r*zitv\"l>)=go-v뙛)$oct/F{V|TFh =Yݥna%V'Qd5m"ۭH0C/^>gۏR"]Wy7hS&8KÎɠ5/zM>;< 8^h)}(,x*+b}W,`./( ꝧ'H`7Lw6%M7X0cjCbG{n=\} o~3 SvZQqU#e|,Ial#cvSOP>Cxu+F66oKkO9+M\[F8W gbpH1ܔWo CetMl.۫'*#zFOo/6O0<DB.wF)y2N Qj@$ȱP}/ٓ }[+<[{SH=!\Y7#{t1vgH4Od7 Ry_)G:|S!RK}RUzà?t;f$E,Qvv}iQfw c2z AxrĚVԮ'Knٹឳ9*yF%D0յ4(SdTcKicPy3ءb՗o%r |0%Ɍ7!W(*\J0 '/g}]H\3ihӤЙUuy~U z̓nT^?lLwʳ4#S!:{俴^(K,uȆ%Ev&]y%wd݅~ITry"S>od/כ7L<'D0Ukwn~1?{t֨A|X7yvl8(m_48Kn`8:LScF4a ӣQ;9d)^-fİi"e'8u&HTf36uQ^Hೀ7kZܜ+ ACiaHSM5Nl`ZЏ2NA PG4ݰ dM$'tNJsEU}vu\nr^e(f$Zgs.X?0qKE$\vA`m@S gq`,kWvᩘYsM~Q8}&/)oX4loWFV`clC0  ܇}ێBՠU)4$wd$j1Q/M#^{zLÅpA61`SiL>>Bqp`Iϻp73^9^4'4[atoc ^wa75bksju'dV?fY&+!.-x;B18/%L]gϺY 6*U=YJh_ I˴Kh@&3ТtW'L?VF$ #СaN8IVF?@[ $hh/rMn u(w 9^ɠ {{*yDЄ̃f# z9P%:`AMT?m6]3 0ϴ F+ $[3#v'b%aېMНFՙRf<#P:1jC¹!wki2X~I$+@UyNB>۬h8n5bid֣S+<:RHK{Vl S?6ВerV]F#poW)F!>}8xj]"!~h9qf-h;i3[<)iNd: ]Ӓ4H3 OBG^q*; J͆l}צH $_{.3xp~Cs[lhE4oxi EH34C*\8i_"9$e04YYrI#;ubk4P|j!Y 8jWNS8F#PG Jک_-tQ <bJʐ/|>l{RM'^) 3x );_K;`OiLyjT}i`l7WrZ'+} ٣Lga eEjrea@C"D9GQJ`2':Ojd~/Rބfk,aQbQu;CcKɽ}h;oVgN?JH83mnKMk eKT3~zFTFC'IPxeV=қFpCqEpBOE͇*H')ZYz+Bq;K]CIcG9!E ,~eNl0'&=jC` Yׄ޷e>1!X1]D@tlRUIW˅ 15$L&Y(fXdrKL %1E3̯ j"8Զ\EIQ];!yYp*6t}s>H"Jh/@쩙c;!-^P@6\U\"͂[  "c'rwxґJ0Rxح{ZwptbbVJ3X%*q {.hܧ(H $)JKk[.;9XŻݩ<]C={-8C[Lqk'RY*: ~<Ȃ[{1-}P&CK_xX]g8ơpTJx[ OrÜDpi4d*s!Kg {@xn;V,0RXi[3g:SӡyM/;5Ǹs\Eؕ% 2٣y'%ST!Ed4%Dh50ԙjd4UXFDjZ3" {fh[IGYq:E Oo8/-Q.~߮uաǫP;s>ʉ V䵅Yica[ ߔQ'MGbe*{XnR uiH nF`M$d%@6&Ʀ9Sɽ*L&}9PiZ& \RdEXAJBӬACtڡsGbfd}sS<*1hzvbk.ǫ{=SMd T}݇f*rSð nؙr>yN_ı{xS^ &<˜xI`bT7-<v' .-kRd%ʱjV-.Sר3XO`zXpoUuqp$)բP$4^[;$:OCLBm{m~_,&:Y>`E&رfLeXQ3ua3"7t/C#6P#-=;7R`GΊ" ' ./ 4jk6˃#xWW57wepTn;hT˳pBa+u*PA1PкиsJޟ5{=C~][45\٤EPnZrU2MȤQb:"m~~I&< hq97u3ˠΛ{zޅC9?m zO WrŔn]!x%q,w@4SQHDO ajItbsyfI78E|Qn 66)} oS/l%tmlEN9`rL$uӋ3:/..^-̇]J`E` f(?Dmuu(a¸gə!8]Nm˪pCa#ZtgIg)d K: {5sb< eH[v7\Z ;j7lSl]|1OWOCYL믙P_ S]=́%3ܶFn cj@fSqV\k-7ٱ%}ˈtٓTlV_s2Bf53^ Uat?Ri}2ekX{Ctޥ|يǟ}"v(,M#WIPi5EakW/#θŻ}\+jjBה7:D# R$3ŋb+[#vx7-Ԉ9I H Hʽ8\KN"jhC%5B@ ]3 b `M* XJΆ;z/9[(OLlJ̅ &ރGjX ~L\"N.sσ+B.l6liXY-@u,mF NP5EX,`1g}k@of}Jvi,]RDLcWT!8r_ILW7bWV}zJU 1iEv#1/? HL2vb^FUҹrիB \lE{#&CR-u&V<Gθ{mnlP SɯP'VIwGszU&W'ƣheJ6p7 S[4VG:KZG8wsDA{7<98=م\_ms6byoZ? $)A$6 T$oPit&<;םǏ|-t\piU}e.1* z~5݈{դvB㫔*#7ɰۦj@}M l@kB:MѸfTEM$iz];PB<92V2!TqNh=c=<ӭ{w hR Ji\vѮ>-?ly|㼮?M4'K3ڥ*65Ǧ/%2E& ݙR5ΚOID`mijaaպw )`G)J;}d,,8YrY\ֻʪ,BocNc,ye;XYhh9ո7ZH1>,s-\l#Z\^VKi6:op'I7n#!A:id8` l*S̑HbrQU7ݎ ڇ{ϡxcYI8D]*|2'ȝLg6?}AᤤŻdllLY5M~5V--&؈ vF rIQD'ʭv'eSrX9/͏ (Feh+:lm WBNL)L?rb#Fa@|*8f?Rrռ,qQ L!_4rJ\X2xz83Y?V? đ 3nbuhhJ4f]}(:KftEkbqfȈ Mp1Dt$O+=xi:~}xFLßOs̢ xUC.Q̧&ppJT`L*r#b?CJ .!G8%5K8SLN F ,c$_j!/S*K2)u=IpD>y`} A%jE0zeRz凸SJ/s $1j+֪dqlN<#&ݙGw8?`FBOb$%uinԨa.2dTޥ5PUqYtuYD}V *z,8D7`3n.MDH|$&Nj/q${PCt&o|j'9ak_r³l.bKh@zNNX[ҴA{#45{P"#d"]r_\[: sP:ኳ(!bGӣۮ)B'S?xP H˼8aBG$/o#PQYgh2MMv$(+Fr|lG%d؍rٳWDjL=hGE\@H&Zy+Deƛ:QȢ"z[5 i+Z.oaIu^)3?Kw&ct ;.A4΋("D#zZi=5Bpjf=EsW:΀\'lD9yf|k3hs;Zi lj$u g]|H}dL5{`]ʖ2v`wak,4>3nHZTQsи}%:).Vݧ$F+JqiK}dGyD;%zx;6 PKVz~Q`ڠxsny@Hh a1Fl]+k-_.1q2/&مNFӉ&7k(hX_yjWX`\"!(jS.-h7*3YUYWȯ~3 SsbKA!C:5Q1]U+~mkn+P^Ń)B j|[xy#n9M͹mxKn dr#G˄1e6MVlKr߆( ĪcK0~i.9j2,Ÿ{03p+W ì4A2!mf#Oy;)qfodTT척u-JC_f a&807G{ \Dg g5va(;y6 EQ|A$]~e) Z_d761bY'<~bC796c[zx~^~$sɛU;9ѳO@hA{!W~L"MH0g7C9FI4'LҚ5eH^G4(M9;H5%U&; ̔1" Gp}'6k ֕g3ƈ@7x3>_%\ꅵ]!SAg xI{RM11elxvɪ[ۋ>R}ty-KSP))0Fwuc%VotF@N2,xBW&{:+dI%-UQp"WϿm% ]{l",Pkorj 0,tqŰR&֫#V[|(fVFeK(+ $ۛlK6V[SS <>i!"4sNH~}C:r"hU3c算#;\O:lǞCm$3uHP1nE)~ `r15\?b>v=0ݚ&?(s)=⚯1Т=jk m{E4e%z .7tg˱7PGvH!oPX[+[E_7+^ akϽӭdNan34f5 F?ZP!Ϣ\Пuy1U_^`da( 1q C )[z%HlXN1O#mp5xl#M ͢IHfC׶Аыh}0qy33"SЋ{&,1^ #ņۑb%26YGt]8M*nO_5%IVz'j{g@z(Re{^^ϐb”#$7WUT؅2n[KQ%6.6u"0o !bjSsJGx>H'ܿS!@ l[[M~õȬ='' p,0 '5޺6fb#Jk]m-u1<&܍^lT>F!W«A5o,P^Ql6=];En=/9#s|]>&#XqͧGEAmuoM3]vwr [W^weTTN<1rTn1Mx3~J[ KC*D<jx 6#}!m_XZ Wt5mTR3*N,SR쭀7K '{K oawN}o=^G1 &g9XpA"E@P&LQ0%,IʜFF1n> iDUVP{X~vSJcGtd{^a"4aYP$})1@=ѷi=6D\C״a44R8CРV]?b֝l;M!Pg_bY"?E'Gf0T>drF).)$[;Tu9)xwSQt}et ޶,^r>:x)\I3Boȗh\<q@$ze5ČSLꤒ&?s³>͋/]DoZᛴOU}E"Y&|bj W=^Pfzo WsRֳW#[9"r?t'ǜu}8;fk|T]+6}4Щ=f:OauM0S5qJ< 'G)d] _"G[;סwi[Fr*EISm",rݨuYP -v h#9=,b/v5z((b8+i"4dz{H]9X.Uc?KxPG'8V{]ҩQ~X~U)ׂJF팍ch2?yCX]t8 Ab$K0zʂel$+j\txN;t5`$5 ,twv;o"mV"M]wi0 1(wʼsx"Ym-x#@[^$Go~<8es 'qxd<[\WdJ 3&e_k_r6.`~ՁIӝ^7jQ+zbc6R O3j@#Cn&4%tڎcC.Dv3  Fk"@ҀZIжmy5חvXL^cxg5st]0ʾsO?bɈ: 8/nyր@Į̻W3V tq\^&2|gHyZ1_ W3.,BZ̙"cduUV!1b]U o~$'q]^%"׽E]k*\r[c lFi2=6.mo]\FtBE`GءeOVxw OT8݈8Joj5QBa+hm)#t=xuBj;='=4whJ>KPB\657h I@=̛Xa=p0 1ώ(+7]t6,n^7Bq+bt221~JUD"WME\|xֆ@IeSVznC_3MVg.ʔ?(+^4#6wr/Ե ,U!2JVF,0#B2C $P 4f")FҢY8~V[3&4YqT#b$>NwHҧ.ZvZqQsII ;k !;髀ɾ;9-~f&ܟg60840S+hW|3sװ #@3Dr?oNOکK7zu2h5&>U~[z(2_i*iا,x#noV^_.HIxos֓-+ Dtm>;yApFDl! Л5b}f6_z $j yObf]ՃTnaF4ļvuArLZc W$ΣOEpiS?d8mn0GI3=0ܩ*Zsw1.*ׁ/7`ڢ)ho{e~$d"QBYQƦ8չ,uwabςψ yIK"ÚT9.HYsctGDIJ~@ۣèQ$)KjFa+I&e +tLQ7QP6>oɺPvda ~Gortu!kdbXX=wzlB!9CފFneV%@GyefV#v>TniYކ]dg5*nA$q G21$R¤ò-f+iR6-xܰ!B/ݪҹL~| ll.epCw[ra'¼' ,u8ߙM;"8Ee8lJP{^zJhIJqrݞIaIr$3ω,~9^NQZ ݰS ^8L;"ھvF^$,C܅]?! d8-y|%JЛLsҦD=$E~SFRT4\PLƬ_Qb40H|l\ Llq 1~QW |m#X LtȉTX) D@-)Tr[G VL\cg[H6sJI [_R[UCi[E?M %GzS{KT(! oYkeb)oWHLp6~S>r?_LnVp&QiC l209č^5?o Tm'_;> Cak]g12a䍝u,f-6|7 @ `&Mne[Xb2`F5..hY{r:7Y*P<]8ZhvRIvnG3u'=uXril =+AM kA 6HT?)U&2Ⓥ.|kNc):Vpw_4k0Ī}@q]FBsyxzZ%ԄlYZ+␅"[HBl\T߶mD11ZEp)T/Ds6=vz9u[!e<F ׻KWwCvX|y4EsSãX#lAhӰ$>*:ZFԮVU\ mЏzqe:rJ\ @NV7G幤Nܱ v S4xTi77ꔒ@fpz^7i"c.fW՚ZKfUШ|.nzsw9j)*(k4})n`ўt rL{˷hƀN9E!ld8qjAi{hFDZ7*M7*"]vWv4zqI^\+7ZY#bO9pOMD|LD&Kǥu};ʞpʜ(j8Uk{<3n[YU#7iCqSSZRKa&ndɿP *n匶 1_My1 iJ X}frL![Q%+ҫ[Z^)kTDސZ!jBlŰ)[x} o,v6]MaX3v3j{(! y `M]<_M9DGHa`~xx$ 9pxWvGdխ{9r8)2\3cr'niݦ5>)x:ꂇ+*W>Ǘbc|ޥ|N14"EϹq;#ľ̥m`>]#>&XB^*9wy( t\' ~y3gm8ξa:jkv=m׃se!jP":WnRK`C!D'peDKŹ&?hE%π~{pd{@`W@(xc RbV~Yp ͱғm4P-g V u'璅eՉtu&#HfL؞w%W vLC@#Rn-X9FK01~PO$q y ;SDsfuqV{,H{aD~ O"&?mfI{)Ʒ%l >Sklp on w j7dYCϜ6 ~A YB  S+wO3 Uݗ,֐{-QuɅBK~*1lN .X%|ʖ*@Y_)3ձJ^QywZN &9rԟl=Bj^AƲ`@φ#SLByo rVRBgFpUDVt&_F7UIka1U I@_g$W{B.u7 Ϊ/`3@[`Q_lapY @H=n via '*`cIi+IK*odoYlXT:˶<0_g۷ǟ#{+)Jiv k^kp:h"AcIMշcJVhSbPh3gK4L fjϷ=?iv]1=AGۄb" @,s7JM~6nQosS;jr|] ',\gKp j %ǴJ;(̳]xf'ujd#OPmʼn;;V'ҐDQt^>V☕<~b"*a6܅\f:hQzƣ2/C(fwZNwKcK6t~H[0pESjXӴ7xKn-Zf{ؚ}c`u,UjHNɾgw񳝕SڑC!}zJkZ I=*6*e핢Iե ɵ9ӭ\rcK jx~]ng͠x!T4T1(]!hZZOL!)<&'U: OsT?|s&vX*-%η[vYR^ϒo~"6^D]= K 7P*/}{A=6 j!6R[g;SNAkzap|&(HH7܁7LPԈԻU0PD;4_K@͛gih1NdF'EwGU2?+IeܖA(OÀ8 QO+r۱ObR]JFx&j@tow(R"ϕ2*y?M)gR#{I؆Qn;Vi~:yܬҺ}Y9 * ){Y(f".tBu-ߔd,piFKӒW|` /!PRȾ&Z8EsӬAd"Mkw*̣?]P$i@TQ$%3KOg@byp' P ʪxsz1Q@jH@.ɳFmK ){GT&_gFsl_C\ΐpIȋeצ%֯=E)@ 68ӼT"q }Kc N=7Ma\VqIw@qֵNfz]+i(%>3&r(li*hmy𣸁vv s.@VmWV>lE; žl7[&h|㴱_tET&c8 juSNFv|1LuWěhz$!αMvɢwzt`\,8 i;+<x`P04m $=÷ԩFDz80If3we57he^2xbI-Ovo3Xz`qff%F%8qޗ!1E| (ӑ]uлp=oҡK{YҺAr^uƩw{u: QkBUf ]C$%'QȜ^IoOܳ}/jި(sXq!R|0V}VG o Q0h- I$$j'Bu~e 2[[x_!h^0`:ᛛۋB]ɣWIFֹɥ ~|bқOُ@VP\|(u_p_=Klgd(rL!MM<7Dmv xnBLJE*7aBpqazUJߛoyU v YkRii+B'BG B}H:= 6bV8&~G~(CW*-H("AMdƵ|D*Cz зhCV{ x<>v?uswl 4} Yv(ѦoX$Kr92+ M1;3~ !JpR%+Y[QK1 aB<10/g_4Ӥ`0~ndR@hhD|Ra_4EX?uW/~{MQjSmvŌ0#{=\4a;?7mb!špNtI|/_ YH_˙'PUbs#qWMU΁(XWC 4AK⃩"ZDM՟;i@,*AEqхڵ}I 9U@R`cg~D`™WO2deY}~֩Hw2(19f,bbjL2E l9P@?&HX0`UAg)F(Nx[4/C]X *GNI}oH.[J㺌;}G6ēXRY6+U:ht1FD< c(3ˀSd?)OqU9 p5.5zc+x7Oc=Oם 9s1.k~"[mS #E 0XX6}*d t|@-6|R͎o{7 +Jz>ČR#ۮ0xHY>~ʯ!];V])H k%Y~Vw;@l7ߙPZCɛ[%šPG+oud(k?LCtBf'˄  MɏVӝ / s51'0~/VZ[G՗-a!Kf X;ne!K@2nӝ,=o-T,e2X.T٭GsB+"$TryɴӨv 6[+Ջ2wC6E9Ko{ *Ѿg>a}85十4BڜPȁ-[^:. 3X=BiiCS,·E[0QvB}$h jOz nR?8 f7@C)zmҙbKڭ x-oҎ."ԬZa.|T-tQ?? 1"I{r/pXzes=_{.3&vG$ Oi%m $ZaF?3X;T]f#K}@D6!MUjN ҁRP()y['hywPQ~.cǮ{4 fU3̗DK/9 /.M `_K&bžA2 OP%"|;usəE#d{.B{.M3@aV*$C,aGmž?CJ" &dљk]fg ̏s_1Kͧ#6#¥APqGc"bͨOJ@ Ol.p&/60=d2%ƠCyk'jCi}ݙ*Y4NS9 # c:F5O$=)| 7,[[ l4Yo|=!c8Q^dO׊`Vk̡]yevL:(у7z釈W ;{h_/"GJ,pNɮ* ɘR{k?wcoBǑTb_2 V 8%,# {.U]SCޭv_bҤ*:5+CXKN-TrE%״ĽcpPM;4m"it,07/5VN_pY6᳑eN+xjb8DؽZA]o{cD+F &4]P)#z{)s ^e^<0Fr\1F2 $`:CHmұPN+? [tFMJ'['oF Sh|We˲ t};x4)dH[5Le6lGBT8nt Hy,(20=7\!N"1㱔8~/8m+KMzQz%(;A"b!܊ExaIpD3;Rp t&y**]PyaX2k 3z2!K$vdWQÄYȟʣv cw<R<9x= =z+lX3:ʹ>AD4e14?x7Շ7 'Dos$#~ Yi(ooʢy+B+w,W 'a"y츔 *}7!4v0)(>:zyl_bS4&6+^A< d}BZgSHĀZE/.,?fA(\0X1"R+ɖ˖OOg0 v Q"'"~駭hφ:,,y1cA --զo`6E{cӎUst&Z86N(:2SELqf ʦ^(A@NRlA gb'f^Ak7hf.y>jU;-b;˳I& ' v6.`%^$5+o(J:&LY Z(J@7,qLYBA[pv!Mv׽͢AQ.f4̥?OHSsYǬ:{n%V*t׫-tWa =Wbp&YjZaYc̈́^$<0KKsa x=O\` X9.l}zf,G`.pD<1~ny B}vAXZ M+JJ`$4H [շN &”GB}L}H 4z:J ^3NVMa7x\MX^)`6Msl]*s~Ò+~yMQǂlA.qV&wzξw:P).*" [wF7G`"{{l{ҤߔmD`ev݄ؾpJm^Q!Hx9(_@%qtCbzoz֜yW=D8 pȧzY_7*:u1 DahZX,UJc&!#l<./QHHۜ@uD_F= Tk>L*}EDam(UM{`xx0œBrrv͔X&:46V#e0V[ӖWe`9L( f'ygo]lrinyx{ 4Q4J i]9΋ {n}B({~3I݇{Vg%jtVWd-Gܾ]<o> |F}'MIp%V)ZrfnĒj%-Up¿vG+j8ˊMİ.}-0UN 07}5?(gv=ۄ]bB(B4̅ČX4M`FLg0euo 47YzT$1-$x 9re;umꃟ)lk!@cy0D /FuqyCAMIٖ2/DNf0}5sIrVz E~bi R5F D~3d_C !$\T(Egc=ܝi'aةC UTw-_ k0^bW'apehYА+>^fM>>1tр赫 =R:}iḶ-.U>?h( uiJ+Q{d%F%oj萀Є)g[$/Q_z\YdJ?2 ^@G k@,°BYk& } fFt1߼C~·xeyWױЖ ec;j5N7#:S~#Uv p"LEy_VSдǸº4#oCWގAR4' jN ~=Ds/ppYϜdsxGcQ0SDڛ+b}T1B`'o+ DtVjh*TN˓t6|"ꭃ\ ƂB-@#Ksz3=T9 a`O bXW"l_gXBi15gM 5בru&JLa*tXlAΗj2Vp9@1`j((dfB;f0>*w8+=?D \laD6XB)+zM+ ~C|j13 ߅0ƭ)] $~1 XͶ&;eT$T" *Bʖ=xz<9'Y_ -PQ0 ܳ]݋}|Rɵg3󟮐[58m7[C_$u+Ƚ2|Lh[H+=7_B;2U p \n-˝"hśV`͖zI4z0Oh*Nl."yӐ~mbre^ƒaf^Q>6 LGxb!֝Г -F[FXnseѿd 1w%YA?@bw!_*x^M,䬟ϒev)JdzGʖ,D$Nec(/)p 3qRizk`Jg"nq/%I`NYwaU9WF>΄bG;|3~.yY/^-+T}۪$tL sʅXaU+oo{aBǎҵ}-G@>:v,/̸7j c>ؘC #0耖&3q! :/URz( OS喿["Rv{/l¿^y#=;Ղ9!P#˅4 ]y쉮ؖ+5xgM*)wZT nXf-so3oa3klkTV35cCP &eXldaJ:)?g~8@"xٻ6O1*SFTd*:vY:O^&G?cz偖1Hf38#ZZN*(-ÈCjӷSDI}'CzHS2J$I IvQǏm?bD5[\yy#Jj.0#I3yTseHdBIc] v2X?_R:$ebCBĭ+Xg ApI@r#Ic2Gm0>t-~z/2Wc=/CA?ٵvCn! xkgb4Lo=n`[4-NX,Oa T5KS0pe"zPMdՊgBV佴PI̥a&ͻYjuI-u@>NA ݈fU+ q<1|6s%uɢ)u2f -/,ˆ&EvhufR?C0n1J qX"eu־Yѱ),! ZNg*֛ }&lJ̚؎^mz"Ur6#B?lMz^VuHFi: 3M[& E޽EG0g2Fd\.ޓքF֤'+}q)l2Z LU\j)\~d[f{E D7L甬 ǽ%En@OI|.ʶAIB4#E{ɸ7מ*iDoXs;Yr|#`DeE]Ҍ1FabLդao/'\'&}+% mDM-`(!7 ҙy!4W7=c`:%UF5/10}C!EwE8#Tu cŪFyl)L.v_hQ}}k6)?]V1' ! &<ۻ\a'_lraJmh֫džC@m<6M+gT JwޡxlP_VF=l,[vz-B#`+Vf/?W"6rlXG\5-B$T{aK m Zf`ޅ!&VnopWñAS$zL6tfS~0-N?JCmW2)Y[%'Pbq7lƎ&be2 N`=B#=BJ~y RH4v j3i-N)kd??X 57kaѮANs p& H78kJ_~[LDCk'L1s>=lG [F$Nq+ÊB q 'p'iSJ?U*ˌ1&%!zqㆣ.X$,P!{(.X Gydm1l2w#6/?=:FN@ھ^4ßĮujux,yF_&q|Gf|W4+ʀ_Ӿ͍=2b G;`g꧷lYoX. qP]E]YHC>GrrJm4[ռw1\ǡKG7apOʽ6NeICגXɯMaOyOiKt m[%C~\Cư0,j>* |lr=FPg,,w_LX6'PTseMJ®JƩ9-=o H D̮.hT1f vhe¼>h[']TA>e;VPpe5O]ĎLFX/<) ӣ#EGs~s\(Rhw lXG)`7 7*YKN L#"+#\3䕻Kx  ,\u&U>%]\F-.}WE2ڽ+wjZڍSO|3^6-/CZ[Sfqe[@J)zGCn]}ySavA=&;nM4,A8+)8w  Y*x1`~kb5YIԢQ+(ig 81|Ëʟ)|*5W添ȑ !H9Yѥ[5BDJ*xx+Ǭi }B ju[vyN .9Vֱmzyh?4nɏigYQP!ʴ6}'z|c]STRgOfFD@8j;' Jױ14ÛbhDcZ X*Vv;;;3nhT/Cr_k) P%qk[s4H;V+u4SS.%*}3v:ѣ{j { z&!]-cj,ÓsÐ'bIqga:ޯ]{eU,(D@SWJb; d$'~,otUf/  ,p1) k#}.qчf V ьt&`OFfy; xwA.Sz}8dwLc2y(YQlZq(;Q Aԭ{ϑQ~=#Cr8T㌳ZѥkzO[ fy485X$8_2z29S6ԑ^yAQթY~rW$9{_6Sۯ_^xŀ 4$ <|lB@ͧ uk5j$Y-4C8 Y%/ʈ̤d2&luw,[t/;cn1fjJD }-Ȧ:'yyʔP\3wq`k>Q0nJAh OrBbl/ ޝv!&b3T,%:N'5Bn᧍K BvIwK 6ɂ^' J>g-ץ(Tm)q|3`='8ޱ.i1|)1!eCn2RSy(v!/4fɎ9 `$sz*V:!**wĠYKf% U۟x$SٿDBt۩|%qi- >H>?\bْ(vx#Pt"r$*/\~< Wi. 2}5Kƴ iACXh80"~Nmu*W&l'޻"HTJҧI-Fgcr.Ǟ/r-,f9D# D͑8o`*2d0*(-"pYK봓PBuƼ-65?ITmURwJDM N"P.ޙY`~+K;D1O(⦞3&P/QF 3Bs,Vmj~:@)^ųI7"^0JF?!I/wWptf- ]\C.a6¢Tq@h:֯L: ^wxZ U y/('LP<w娘uyJ[JՁ3Cp%g5.kOqKp-4g>b8|Kz;?!I@Jغ/È:2] Awnf| 13M}Q~q`+%*&N(Hl,<@A9rtZrXNOF=b.Z6atX;J֔6Dj/F:l+QiTAv:c 8 G 03Xh@|BUZ vn@8ll^1(^ù^y\' r|$zF@+˞,UUnԫb:w&, #Ձxa qݔK^O@H_gzC=dti:Ƙ=)W^6iT Gn% 6?trZwQ #ZsE&1fq~' zզ^xD h&Y<\0jX 4u‚kUre3I{3#Dqn!o. n"\bqD씩!`k45nl&Fj*49jON)DvJaֵ٘rLD ۖuYVUr ejO!DџBP"yŧKwNoxI+n/eRcBcycgb[y;Mhg`WV{n-Qstt.t"qxj"9##ZXDy6h HX+48No,4`B6$`u,Ff<)'xO_M{Bߌ^ .xhB=bjd<੨ ?dGԚ]*X@!G , #)gc܎^wg8̯4"y 9+5ᦵ̌EXk'TWZGgjtuZwTR*" qtA3ܳ '`CȇN%U^w2b-PZmrch ]szs ړ`>KpeeѲ7r 0Ŝ-hR2}SJhXŌ Ox8CH-M^p>g=4eok- ,H >xQ<:9"MOSYwj_ĺ$j'G Q*޸vPbW?Z( }38;sj "L=>?zdᓁLJkr v:BKܹݛ|)W5y>$vj&gU1hz:/\: .푨nu)KwxZ>߸b&KE[;MrWlK|Q:#~Pz[b槞옵2j傔:e\t~sa=(I?ܲʡşU0e .m~@wC]/HrpkO:YԦ'°U#l:/qL%yݦq9dSˇnY6>My'l9Œ;_P)|F"ct7{۶ ODoidBXGV/} rbҲY%]Q}V<^Įt9VB`8 k.k鍴`pTxW0ceNfv=D_؀F_.0O*pxSn_}$"W`Nތg1tB/^Re t~eK=պ$7\l3VP5k].mnp 63ooCaupD;@s)8C^1P~(E},s^l0%u2Ɂ qw%$C<\<2Le۰ :_"2J[+E\vq*gf- /̗MIu%$hK,Da[څ`$4L kϐ<}S9A}|3M4쿦i93 U:LՃZT/n=@K !+P܅Ml $-"&%]?nY$;S-W%ü?Kk50G&,f>١Q;P+`y9Ur|\ejjk^='1agzSiLׁZ(q7]5ܡD:ZVsUh)-Gf ~|-T(/{/ń%TCeRT VԞ,UZ(ECmŭ|5^~8z]1c?~)vnfβu.QEISԛ~)jXo5['rFY3E+MU*^u }M,5Mph WN3 vqh5[n8JhXS/W4o#Kkvag,e/1"ƦK "pFĭq^c}m Fcm 1C>U tsW(IC'nv+['$w )\Ɲ?^F˫ߟ9pk;h1mt2s,ɨdTQ$(O<KSw܇b4yIEك"i\=we^DW[&sR<ɫXK bUj08 X]\Ɋq>XM`JT}"n1>;"!ě"Sȗ ]V}PDZ;]Q c! >IxdY)`c"[KQ:rQY>Z kcR$̍޴삵8jg.zh2<_"k׉=,E<6UR޴mEY7Hs2Klc2*PkPo|dUݙa4w(*=b(h]:Čk&>˳M{%oѼA`syz>J ۙy ,QB^qy;_\V,|e_'ȹ.S?Ϋ*}plT#_{% GXӺn(cbq韐PrrdzcIRZ%NۧC_M ?eΩŜ* % 2HEI;( Sߧ̷⯔^yh3'& j,ZjI;ͺ˕1,͕=wܐ ǔf s5 Bm\E n9Å9]B#x= fHIJdt1Տve*OV+pN*.(# OU=GOb Ta,}tϊ};g]`Bע2k6)THjg{Ϊo`FqjìU9S_Qva]%!bHߏMY^AJ`=_C}uvhsb x;AD2*TՌbD`-x圊pˉL)^Xx{0 W0Ǜ=,b]+@m$=-[;V\M]̀Dy nY"QᇴxCsicq•;r]9\Teؕ-(6ʀEw&#YjKDR87Mce8kEHMY8BAvџډ⌓d]B44mⱨD=")h]/d&-@8 fa.z6:Not5ºkL gT911ѬTtnweyz ܾEV!́'n_{%~Ʀ\LRys.lyda+9=TPFrEBƳr_ջ,lJt[ΠQ;&5`9UrI=!E-))Kx'}w G̞4\E3͗%ǎo^z1y4P{i2q&yl&nu_ ~Dz >WHK&4m/iF[G9Dg.{R,nLi~jly* ]-}L ]&lgf jE~QMSP0Gm@ Z~vb\@ OR3*t^Uv:`C<% OG]e2=y;Sy$mq4m53E w8[MKiq`͔g#c/q  = z{NGry+bt%n\&%~eIUrCF`0tdyr$~g^@DVepWr U=87lqC E> SŬgGdk>']~ 6-<{ݧH-'7Bl!1A#AE9G! >ݪW$܌MsHJ{ۚ{lOQ-[mws2ޢ/2&5 L !7qKn Å T&u1\ОzP7ޒp 4;̄p(EtU&Ez0xNʞXKWL[3qT[~fˑD&U֤6t[:oqΩZaqG#R~V Zjzt'< [P>.5$%X:6/[ 4w.UY-w( }YwR%ytfy `$5,1!P>ʂ|r~aWE'D'Q M]VSX6Cuܿ (A#n:=h" L N׉W=(,+ Lsr7T~1_kQeg&TYbΜ7lE3hߓẏyZ,qA2$^s0e7Vcn߰ Ai0bޮOB3âz# Y(D]Ha̾Կg? 8 Džl !q-G~23<4%@iZ4cةbx=Qė>Gg??ZM\KJ?qVfB+:: 4|ۊJ?#בI)yUVzNKmb]sk/!)h~s1[]- Vt*jP#ɜ@jvxٽ,V&u}+su1؄ m]\8BX٪_C:# ] %UD9ib?2k3)CAwMN̿FH X.˔v:9CGW2DUy3<h j(cV3K 6UDzA@s_B tΛrO\bX!Ʉ(Jf)SCd64ۜ.Xȼ-< m 0^N0 X[@5&*N?FnMw<k/@s!1Ql p\X }Tey+-)@v%SzΨ}ur,5#od/Օ5s"-dt2fՌIڨ9e/ОO>7Dh!浫B4S8Eа-wnR2N^%lnUP2t 0󠮞OH^] En9lHq%yTnѦ0Lz!QpetAc_gSGs$w]9[qiF||UŰ+Zw7V+Ps)+8|g%3WFyn?[l*l+Z*NPȰwK/ Βf=~K( \veF9PSQlѸQ֦5 G>jW5wGeL~'&99N0Y-nS{8as{4qT&G&4ז5Lz bٚ >҆w튖o<:Sx F5%Df WE MY `s?vkB2 n Kk^!-)p=ӓ(ɄWR*!j5yح&. 18:s%gSX'īnLq;-%G*H`gI^u+_gbsj?, a|v:a9R_?X}?m2e4y,j~R/MRK?_)=]G54CaS!4ZN.k+&t|ς*xRRT!YʔэSF E-plQ$o_lR[ZEX3Lgj( ub<ۺXG?(\덩Iؐd+:ؗ0UZ 0x^TuThMy4&ww.^KDop 8)(}YU WE~LG`8ajgƬ!_x"M:%Q֑ƙR1&0Zn@qRN>qD#xo [\,;{wmZR]2pnU4i =%Cɑ"gԊ<{t@ Fu<*T=jg7-wdZpu)LKR/OYu2Cvsh Qn۽!MB{%󯓼B 1BNX`e;#?`%>\VC#J [Ùe{$@hTmw,;wa1,7Xy^l$+U ClBǐ=  9 ~`QSGxU;BF&2we[#h' #u:A-Z;d_ *5$!i2A+(MN1dFz_ RS1zp:I > <.]LÚPݚQ0xXB'g* h"vJKZ hs(x9t2xǭWD-*sd8 lFqN ;? 3,ōEW],>ˊiy#aN2yg{/] 4Q ˴Ϗ-x~`-GǤθMWd{ɳ&*3(ҙt>e9 RW ؗȗZ4lL>(:y݌gzDÁz̸MR"Fm!a4u)q*j ]o@ WG{4Ux[7ro}h9 eum w{k;+FE.T.!wiBɫ;Hw-_TSmq0ӷhz8J1Q< @GLuVl'9`jJ`<+- BNJKmz[K>$WFND`m7HG(coFU1x & [P8Z"[ҪŃ[Ħ5Ň\Zwg l| ox;ɳ\ӂ[a"k]wՏ˄ OI4 nhR}Z"efB/QedEԌBL}Ԓxl&Ryo KWKWD xpo ξT.C*C\^ Ba#1Hv8tC!!ccy8jtyڭDOS_MS AIO_hZDD&Jykɋ\6Q9̙K8 < 2b+iqRmki7= ذ댻u(ԴIYpsZ(ъ[+1 tO. Vn袴cC \z^ԛR_Yȴ=Ox$Fʩ"<̟C/|kU+Kd@%;ocq[ӣ- kU-MlVoՋE@A=L*;MƯ qn}/J,.3ƏfdZJdɹnuO)PKL` 5:˰V@vf-{~yzh龯L2,r857N 1!z,Tt$Byږm{i> ֘h:yy`̒ZR(?O%~ժP]cg"mD3mt8e4ķ^"Ke mfkqǟFWy0$|J\o"#ѬF@\Β Z`meK+fjnK&މ2BDeqɉ#M)Ql#e zv2FsF0vWwpUwOe?$Usr,qE=R PEa/w \[&+H<=9=g꬚P/"fWn=w*s}4TGvKf (zT eY^ k=pg eW5EB-cd- jk  (pCzn8Rѧ+a %l( ט5'nC =*%;)5n#?%SN3~W?Gb)b v Ý gIb :)\ g &__qk2+f~5SbbF4#~Y16gaU(y3åȯ ߤ޺.P"& ҎRK;aGw\K5 2Fz$O?S8UxM2Wznխ7M5LY[~kfv{dJzD|= y Rv~L>瞗@0lY61mv61Ν:o)Uİ3axE*Ũ34?+ tbZ}C,m~!k l\Jψ[+I7;TkHm8z$ɀtt" ,k7|P]z"K u"'ֿ7NF*)=O0`u2giZzz(F[c6XbyNpN97 o0jf&4 ڂ2aԤW内kۈc4(qy\`LS;7gU}dM?4'ueנOIel\S|~XfdK7R/Mr/̵~iv#kX5ط2N 1ps3M>t|f_qRH)K'Xu%+; w%lx_kq4 Fqf` 58à^]xY2N`ɢ|}${ΗvÖs<|A}́._XQfY7r1~8(Qڬ.}5wj\g"lmQHUǃ~SYzZN%0;]^`8sD%WnMKhf*zxxCE,piIVKD||O~+=v&7Jqt^!+Z"[Oo׭a!;VYF؅~ZQ߫_#/JAx=lE^Z ODX.R9?cdJ8nDAW5ǎBW^8urm /}A$bȽ[7Op|rw4Bt<2Wu}i ÷=IlR&j7 =~&=S$?t(jSa9zrXU=G6PFdj'A\ۅ \00!. 7ũ[A5ÝUY#Cʬ3qD#8SmB$S2KMbX={Fy Isipt,KENU p|X[CRη.NI_c(.eAԧ>y~$e̤*nsCL O#d; &Kо8NNP=\_;KYBwCDExtrD=jRVmTp I_$5TwUGj(bQfg(<& ޥe-`lѡUF-b+Qiex0} fܹf0]*)C; bgt?s͙)@ -U.WFg'6X'IRP'p_0cNxa `xc g6$6+='zh5&^4("LVو2fB/έ) #[aw%^ub5|/s */ƳƜgm(G WP{Gȵzv5q )>4d"QriT;?š΅@"߉鄾tYJgFzA40h=ZCiSh Ru"P0/+|8MI ʢD%RԝgcNzF|\-6+f`c/KWnǝ웩%B6 d8۷rOMPMDbҵN,q!Ѳw:$?kY7ڒtDwtb|N_6 lE554|ھ(b3ʋpH5 g$}bʳ,F8Ẅ́瀤M+[T⤵GKhҼ\7R)["D Of1ZѦ_O1>wgeܟh2䧞HEnf3P̺:q˺#g\V;%N(p)`펯.xLDO;^65$ؙ,$]ϖ| A93<ݣW7qr\ 3l*=xz3"z7?aeaU UbЕOO)kCy%:K1yAqGJ6])sB$erǝepUhZĵ}]4RXӨtx6>xe`P5?w=~ oH6D(v95}č(,8ܑhܼ.[>o݌QSwn~{/2}N5qA {qn69CߤhW^׾Bfj֠nAbHC(O*S]n.x"&c<8݁exÒDW0b3 0f/hlELW~2Gn!3-6)9"e@(PXLV?xҬ_1wV/.)L{j0s7[٩@Jō5鶙 S (k? A5#Bn [L n~wDUf­SĎ3a"!] @8~'XE:kϘ-?{S(i:rR1Dג׫T?FȰ\)fIek3Ǻd̆ *Z9e{ZJR$2ԌOU,?pX4f/l+)B5A1i~$vA/n xjިZq{OadQB~EOYF1M. Ԗ̿W*?WuD:sl}(3ͪA,7*:0O[ah)e Q|ac0@Ҭ>oWUs[D$p|')+dT(طH]@ƒ>f6̃p6#ޅ7l|g2y$*Zwlp{FTҪDgSZ(vg,B}/.x؃N>e ǩ꼐\؍K3[h t -KhUQ47I/L7u9ӭń%ygb$-t$6Ք> *uC*\"&XsIN|?W=/nPPaqPml{I^'9ڨ6 NrZDȐ贝c[cc Ҳ$Q։8S"D7ݏG '\@#^J,f" S#8\3.p2h`aZ6'"^Eyۣ½=s2a?DOk`~AM`q<^" \) T@8۲@U6h\.wyܖD0gbMm}tA; #.a2KnP1ZrMZ/l [SDٻ/=qABl| w9X"b\gH鎆f?BP xRz6*9rĿ %I,ϴ9gt>x/GQ+M6^k˚^Zꢙ9My-w~87 ݏm@ȑ)f,]+'z= i- (&b(Gl+Րbh{H(B=2*B{9Q;[>!~T {D㽻H~e?YK(@iK Z3aK5 {mtva %0P⁶76Tקc' ?RY=):ek>k؊xK Pi$VYojQDYz_3Fq=ntWfŶb!)[Oj(8gԝc响=ʟ 9*C!,|w,$>^Υߥ{Bm Z`e~9h׬ik,åwnnUE^`|RW(Vz.3dldѳy`$+%>Ir}RVh)y~# j:ƛgLrUtv2BL=o2]}(I, Ff}oȍGUui^b d40ټpwH}Esj`p)g\I6ZtvFKBN;i$"=i_ĢS=|^̫[ơ!g }!uЩjOڃvʧyRRӳ߶P@f݊6gYF"T>tRցݖt?Oxj>-DWAfؽftA۟yNjs?ET NA^ќu$$o,h)YcC^) z@TChQ D$c:A.5AL$^]F.Lm N/ϡ Ӓ| SZQpWa-al1D%$~ɀVn58ZvDݢ;81K[%,ҁZM si]f;oJ/!ISJN\"_ C,<9]4̇ScxhT; 07]V]5dxfy3Tr\Q~ k%3#)@{K\lF|࢘;λG"Ͷ>؞UBv}ES$KH#٫y%-X*5FspGK՟Uy(2U`lMt ! b?[O:`# 7}wA"qٿ}m]ɗ!vjsCPsd÷SCY5L]lsK '6 L03<[&"/ZU^bn]mEOvnwΑE{*8N1$^W_[w"NLK#Ⲟ\k̄Ue- 1 5fnB#3{nqS5%גsʲhEY=ޛNe;M?̦>$#鳇2_|uDxX7~GQe0k `jB =$̽o 05$чEg2$8g(`MqB M4i p]&Uc)=0s;ѥ0&.ʾ9 9F F9k΃A'S;*?+h=Z^UY"Lhl`΢`9 󪇩Ha䔪(ܨ) Og\ԡ5@&4=>1P)eYߠ-nDm|<0z3射ABW^K#M"Tv3^-Ꙛ蝗?YɒuF+. ~w 4=6|a0ڎbj>.kIv0saWMZvy9BHO|IDz̀fs(Z}).6lYF1W9S"H=+ bIѠJb꧆)<œ98\\,ղ~2Eٷ's&7}3V)YG T2(sy3eEz_ 80E[AUl[(xf[#%@6tjW]R%@1t*]A3K)cc2smzOւo:hb:+>/} '9b`w@AH\rt+Ħ㿛ug"u q>-zFw yAJid%'Ev080QK+}a Ž!gXh   |Ѯk ?.+5v | |j'}(N:[/x^U^T,o0APEtkb0Y1҄+[GRfh- .._V7̴ihkYoDVoG xQmsH,O:q݋mբ 84ƻ0K75C)h:#8S&pzNǐ+Ia{Sr)?ri?`ΨAn1YaGL$ԡc MlE1n#k!i:\ݾo]-wP$A_ j͘SgWW2RWWМ(F6BReq<)Vo ,[F>@J@6vʷkm.Q%_X!\B/x5O|yaȣ6P? v@eÒ+?mbeԻ_r xvE#qݒ  5g0-N)Q*|AK>N H% ֌< 7OETUwo7T('զ+/xws4\Z]>fV] B 2LmR&`*9<,?0?C@pnA4(% ވΧ՝.{3߼b>A#u5hYR&ё/.ȥ9^P3GJ/Wmt.Ws$,2k:[/ =YG*CDyp#-Ck}(Th-S 9:sS]L zy{mtY6b*$luMiE`/\:= -%tƓֺۼ!4y&RgOca&^q0pZ,i;7R^ז m^ [08} W{xhvՏ#{@{" _5),jL=NHQ޴b ر~qOa) P?e^Ʃ~0"<6Frl %:k@Łt Hpb܋ͨ#[k6dnCg=wne 4'1R*[ïm^w1,AGYQTODg o u-U* Gn{IpJCRJM+|RA;xLG}"踖% uoWhp$]3t=> <<`9= !!FvyGB({VHE{oh_8Q6DzE<_q)h9㼼JlI"[)Fn e PU^G|˘HrT*Z0>clė^ E$yba8B Th"02 "G-<,]!21ԑ5QCY6 - 6 N/T?wtIdϋx'lJsk %Ln3GUqgfC0R'q-vZK>9WbUɕ:hBIűRp;ō56˓ݺ]AѬ]_`-oK@Pwބy<uޞEL<[*pySj=nv"pɠTzt>?olWߩ 0m+o<2!-Y hkMشUPm.GYqZOi1%+:$ .j$릦{Tۅ37YOE;饞+ꮲT۬ԝyӌ.r(F@.;rllȶ$yh}~_SGu3XO&}(~Q鏕{gWmCE*ZO 25PE)iٍI-Қm@n |i%EYP F tǑU6jXc}jMg^#?68 f(5bLP𐘠PHK\bD>n顋jlms0}ϑR%#%ղ)< -cR\pJqNwġϣ4ϭR:nE4Ƈ<,E%2>0ĐT6~?03)Ӱe?_ḇ3 ?Q2l^?-fdibÕ5c3/U-2'ΜUd@]5Wf=;p%@iuDop\<ᬱX[bC*!7S`]Lzr1 K# <3}N 4‹DPP1pH#SmU0\ild!^kGXZ 5%[\ųncC_.^^'{zX' Q#0O^o3XнܷXd|-GU.. |$•ac?ԙǹ(1 9p~5FHλ '# 1B}Rҗ$A29;f7gHF`%!1 vGТe"HO_n܄S #<XO=,V0#!݅?i*umW\ׇiD(aބWO7Q7(Vh4SHпorXU6u`HbZV^C!qYYN6l*]t~3's N,&im{;zs彺~2(猤pjB-hܱ^i7LRgjYSxzFQd߶R367>r9'Gɸ]N!x4Mܭ΍e:7wn\$uOJLl.{ύC֯\(ca3@k'wb|hIok??7XۡO"Sվ+Q %7ᆴ Klp79 o% 8B12DAf >1WZZ8CS9`?@Foo__or yEΑ\fTAߙ%,eXmPA2Sf`&ݶWt172[a:U~z~vߘ k^unENpIKKlLW~|`+=є*_ aڥĘɥE(fV!58[ dLTS{Q8ś!ʩ+?bGw%'*S>$#r6^VVKeႩHSt GЛiOb\<1iW}`+SaK"÷0kԨDt*M !"|F>y)C}s=Y{_ Js4|}#xOt'SҤ]iY5ELì6=ACySVsEkw,&H7':)JbL#mB)]fW >ax\yo%R1/];T'Ϫ|JQ@Lr!="C}j+ d#9iU˜!Qf2_8_,^+3ܛ.,?Hg}C=` MFhAx`>8& {a60EwhɌeZG1[uFXrJ~mIt<y|mYАdO )-=s\pJ M/CVDYio(:T Ll큉 c+pF:t:4rmPu4FlEӋo?l(.d* T_Rw9Cfh=VU 1ŊuSȮH!CJ4ω Ͽ^6U ,kp*~*ʷԠQuTəy,{y62"Us19ŋ'ֱt4/W)\=[5#aqw'؅.x,fg7P>r;cD١F%K_Є,`!]2|Em̥!-κHbDx" Px>n3sD L(Gw_0!UNe߳WC fYj4aJE<#k1NR'\߮5%"_P#<~LK<:nk#oD-5bAФQpq#+&FO* <o}bqN[iUׯ[ZѬn'aOT2c X!,eg\0-,TQS3qI]PE[S ٚ}lڍdSgfp'W 1 ߳^:y,ƃx-"zc1D0P{j/u*Lਸ)Iޓ\+Y{7vZ\Q(QPͮ"Zm%EƙИŎf)U׬>IC3jloh:κ׊I򚕷H<7bhS˲`ET}5m9weYrʁs|g͞sPQ: @:4YXz^h<#vr%Wj]{pm[M+O}s=})-p@Kڟ^i_M vȩ֎c/TU,kht4ۆn|Q wvrBײM:/pOV-jky !ϳZF-&NaaBلXee?QJ ӊK^0 ^,}KמEdwQuỳyn:IT^jVp̻ Bzz`E?wj ه~o`C# eݾ8STHu`|+pRGf}ζ¸†2䑔4aB_Uf}yI}B:?91aEZkV%My*|/0|qbư麥_Ԇa,% x=U Fe+l GI'[vJG8PqAi{DihW]JV)(M,FC3>;605 -im!.D" ךmf!J54J9oOlRD,0HTLO0޺BoV2h(J{=V gɷoQElfӤ]vH&XItI/uXQ`1Qӽhȣt?f^prH6שQ`ccr*ʈ3~f*-\/zx]}^"d;1貮h, %|iŀ5"#A$,M <% aIq*:Vׄ^APC[_ۏ=!Ky*&zmY9ˇZf,MfI tc+#܂-(JK+ bVZtw#sZOh}Fץ I]lu]V bL-OV谇QG%& Ɠe]">-P#gV0O=*V~?˙VT^zWŖ={4+a=@ "+G ~he΍H3V=4Ǒ ?{E0-t$N=ԉl  m/;xQ"E>FF6rC&gik *A葱o A2t^k6{P꬐+q~&' tM;0)#6$Gu 60ȹ D;ϛhXߋŬ#=Q!CܧqUg/"wAċ,HJ= '>C-^d۔XĚ,5}Siϖr 8_0tp  }7)Hͫbq9aX6pGi~窪XSBBs)1;~Il㉈ZO?lrz`ӌiU&@TR?R x ފm?9^JFy8T,0je凇Yl.3HQ6mŒ1R1iնr¬oB;{cRVyXG#9f%(Npq`?ό}ñ೅&vU:*G蓕)>47O0ůQZ րetzifӪλ`!HGѡݺ-7ssϋD .BGe?qgQ f~E,Y-*j0. &|ytվ7h:R!:grK1A)!#aU?Q%Sݡ„1VDJD§;bxbVʘE*ƞB/M|2"NYpVe546I(|ǃ\ǀAfD#w0a%2`Aje$s¿}+3]Ta8 ZsdŠGQSqu"B4"|J Զ3BlZ`SM >*5T>CB?I'*J)X֛;̣oC+:>&9&:]fgPʧ Kc$-p=4Zw(ywxLiS4u vuAJ͞?.m^@1.7*>'z^t"ϗ 9Xg(7`";s%HSu*J+I?7]P聏(9u'O=V|1( NL UMs壤+4V$0#O9m^3)-{)7vUΘA@}G d]Fb) ֓-&΄ =Ne >5n2hzh5dz.+WZphN~@wp?䧁X70`#|aFxWHG._'ke}{ NjqEq2=G[\yq85byйdKȊh npjd2DմdjCEmvL@^ `ДкN}2߉N#x_km'[RyGs;bd7&F 3W%yI2sI\ X3m.篗e|ġWsCğ\/v"~ۇdxh㨬7N]%8U6:?>w&sb\ǸcL_r- |VU7zoۏ+os a̱nV87e)@0JxE= LdWimނV/d/,&:PVniD Ϧ|/kPKw(nHNBJ`*+dE4`F…#!wh!ZRڨ%HUcli9(lk0ĮYp+: xF4ƾN9iy+$eG~8=0AmPE1VY!+dl%1vŗ̈Bim>NL"z)yqR*I&R T+"r=kp90 1پ9:2\@kSjGM5Yubxk ˒OKBXݑIA eo?,,eff[r*;P8 N=ב #$HWb 0ttqPpHt8c}=~:EAOqgxPKsn/'p[aqidog1L~"n R^8Mq.xd> I=m~V.b \ԐJKӦ¤F-VBk6ڼNBu<('\P,$E܃ހ*.;Q2FԄ=ilv%`0dj)+|UtfIHA \u{,ńvsr3>l GIj҉,] ^dd(9Oz@2TSJTGyD3Y{ދ9CFIVxdIy 7=B>uUbީc^;yE^1%YNiSM>;Iʀ\72v/EAC>nc&Y<%#=t[+m&&Ǜrj7/>[eo K"uZЯUʩ8S zg1p[ n/@Vz-zJ{*]b{9Fg v2 _Ǫ6L5A<;uH 4pIDGyz]7J.nozt7@_RYi}5:D's{nGV,L-D~dT$-1p$Chug |E Զ!{ahgw%q ,2PApP"]hRNheȦwKa\͚z TrΦٳiȎC\,*v-a䶐攞fʄA~Pi,\?{HY SC^/_l#Onpi1sl*J2, Vhߜ e'0ψgK'lx#rI;z\^O#kEAWf_hIOŅ$1;/NMꢬ) 2Y|(9< J$̫~v3< F]a>#Qq=k>4x$l@V@[8EcxkB޳peIw_wzS4'tZp᚛ӵm$(}HW=n3KHpճ,͏T _=o]f[hl)[[>In z9*^qv6 Vc$z\11o`f'S<trq&N7*f(Y,zL"j]QMrŒiCJDWoP9KHNW3`j?gp=-Nc)( :N0_fl?JM y%8Qħ=\"E>~8-6ݸuRQ0yjb#)ܵ(!3&!=}t[TNh0wNF/2~3H]'}>RyRtP:Iiڻg)q~yO@QcC*ѮtO)" D5O$Ax&D%k‚&v,X+̔vG~|Me-v*rIS$뒝IS;PV2.YM%#lsDB+r)s|2~H@D5>Lx$f p1HYE|t:u_pBڥ>e% {?rXKrsLNwtw2sɓ%Hu ]}5٨ԎyO.k$4*BHrث˦@7_]'DUŕx gU (*q7bO ;tSxQ?}Cta`ŀb@]ͼB`\Μ;c ]%aOK ?RA_U-ȩFXY"lD fϒ']ӯ 0)(=r(Zˇm^kA;l*uWxu ,3iG5*{rIv-CDnBJo]9Ӽ6HW A+PV0tϣyԹ,iѱ䠒D;">icSv,Pi?e0c9MHWq5TngʘW7#%LDfd2ˍ fH:z:tX!deu3g=48ogJTB|$mp%mOnVR(~dp?B/ߓ,`{4?C&6K{mU.a83Z &H87D|smSleuFtw|R~C>IeD)*.H9p;e$H)ŁlcB(j]I7Lɩܦ)uxa'0 "b˺ޛ-" OgK0UвRMIq~<۴dMבrBNn,WVlp}e|K_NʢqVpG ǟNAkIQ.qL=d2-@ 6|P6RWs8n$%{8~e 7|ützwe$͐S+H%ty%bmˊ#nR:]q MڱݫM.XrLv^7ܯ?m=+Xnk$':O҂SR {R|'-ނ bp6ke(x? GF 8(j݌8Ns%?oC_O~ a7!N#1j8ρN+ܿ6d@MDˋ@M'SVcY5I vZSj0ꝭ= v}J W j0vsM.D kTc} x.Ԑ3%3o&u[4/aMPRn>N"*.'/A8]2!|,Ⱦ j?N<ĤǴ&ƣ'R~iP6h';](x^~,K zT %_1bqσWwMw`1c0^ZPV̦b6(¢ XAi#L$sGJ_`ӂiZ)*|2SFqD֬ܔ殧q_IJ]ׇr!p"ClKJh@fC|! k~S>b=w5heTsX6^cd8t$H`zoCf[dŒމ-IZdbsAT$B&:f:&jyp4>4)ZU" 1>߮r|&&SxZ.{Va{B͘qB<)ukn"O`msh??N~ŭ1VdΖ$\g"Ph> 4CxH08#G:Q;pBN\28귫~ACvӨ| +(;c7TX9*1u[}lakq6{TA FVl)z{ńs:^#xH:8g 2:Zp 20-#A-:~Pe%sfy c&q|T4HR_5hA@gD{WnHm*8Er2iԐYQ9WkHm-ꒈxůlӺ؆i1i,d=ߢ&®CZSݩ{B2ԫX*)q}BvqAbܝ%&B=Np"Wm䋋H:Y.1Z>O+QuaT!sj{7kABnfμu{"_OnϳUF\i Sfq=閗 ={u6D$RA z3pi_DEPneGLYI^aI.$Z ,DӍ^_e e{̼)|c7] s,(\ Hu?B)(륁AHdZa͕4]l~Tzgo#jKubkYAgC0v*LmeNؔGyv;-+S8XڞHʅO v 9z77ygo!.ۦ]ZjNfANFCj[H]hʘV<ϋ,i+:$o APBĺeu> Gsf[uI37ڭ]OWoXֵyE ){EF^jYz1:ĐႲe5ƭin&ϣJjз[bdlĭ.Aߗ֛)G8: D,epZr`lI ;ܾE FXǢkAKR fmK|)2Iwy˙{f'/x@--գ /?nr_ ĉ+~Lؖ]`ʊo Jp[!lw^? 3+7 5~^ qJKl<i_<SZP+XHaR'Z~/ʳ$x-ݣ"&[I@)YO" }mKg zGJy?I7Cv6x++ד22l=$xyz7v3M.5gUSްqP@_N&##EBcEntԚ+Y?Jv19"-;bޓq?R{TKNqh(ʐ b \W^7;MbK}tҼ)SgIݒB; ]ӭ@CIդWrPWQP>ż4Kr;k| /X!ʼn٤@#vUun˗[3 6v OOEZ"@R6&b(,Tto`,͙*qbqOm^t ͗97Y$$i^6/ PvÐu#l 5v=-{!(D'7)' Ul~nx-:ǺF856#VxWhe' ɒ~dOzhNvnIa8Ŵ_vfjϸa0 nn,pkGf2QϙG]*l¾W#;> P7`tWLI35!J^9iC,ԔA׆ajɇ?g4z;6Eұtixf.w0QƕtJ!cAa˱#14[=hפ&(qyxYx0ZjXvdᦙFa.uƕIٜߦ,}P+GVCshj:끻\%YWt.z 5>!c0t`h{ppwEZg@T?vUdV6B =iVw~Bx@Msɜ ,D|Lȯ2C@}Rk`.;B+A)Lq\b`7ǐ+Ztوv*hB1:>{fJ)bVzg0b9rMqa*0Gc9: ^ 2'@+XRfJ}d-;;.]gAv8*l1$ț y4c?vBD|X`5#1 ̰9Iey|9 •U`)ZA청'䘉T,]}QRXd?F$2:ٞ.xu8Zٻ|4X_QeD<J$T%| o[8w H0D~F2.>K^`E·vo+uf~f-y8Y'GrpC&cS}|:ul=s .4YvBISDdduaM 5rTEƑG1JD9mZG#d>6[S%JO½)C6SP"xtW7*dQCH>>\'dRiWN,tξr' Vvg5ξ9r؊:V$rvX?9EK~edl6 mQ:oVg@KMavxq~GG5U&;%[xi`ڑԫtmrKaq`,N"n꧖u!E{-vNjSbŻ Et\0EďplG+RKmYkE`"ɘz8ӆܦgoV;phOH\UOa9F-[o3Иr8zINjz_5:MQaKFW6ֹb=M]#j'KMT`3$qU%fu:喒TC4DVR ?˵^ W+/3dzl8asϺ[SqyCw#U((eu!aWr)zzZ*]`aApsݷ4Oò+2& lĆ&DO]NĊIRUGl6Xv?3Նĉ7X]UmJXd4cSsG;qS}pc0ߨP!"k&70bP GP "zRwԵߋ$'}3}UGRHRѤ 720vm5gvvyePQS")?McRv€٧?ԇĦe, Z)5 \fh;G qc2)p*4D[DQSo槅><` 2$.oa|N֪\:ul- 6"BޣL2` tNR=p `xtpǞ/ JqA'{` ?oۯffa*9xn9,`{t9r@jt]ۇsMS>w0ekY4}#Әo1"1 W刨w /i )#ޗh痰,N{WlILM0pꘓn}>@ͦOz2 >>1r_m2f'w5qH+ /{E?KzE%xK]͋gjyG$K>,RY %#BֳZL>ePPP)78Zf(&eo⽞4~ӏc-cjVV*-w6ۈPJze㧮%^9G=KR >#w8 L+N\߲fL^E2lX5\U!a@ PŅ&dqq54x^!*3$D'M@ u[Tj7+TU4T(ϑz`ﳽ.8T(e(LJyKV]Oҍhָ]}j_Gf 49tD <D~Cì%W:hs[ʼn57uZ=Q{ԑ,ސ /lW4-481~XE @ZCaiŘ#lcaa1Zp ~ωЉx_kݘEYyrԣCڊ3MyZ'R#V'yx F$%RN0&Qq*7;'4]xZ;ŘG, 1nUm-jt yt*RD۵\<Bʮ!p8/lճ1'4{0o '*d`]@/ {ʓHUb7 DC4pQe3Gཪ^ 8v#rN k$LmfVg #eyI\&4rV2Z&%w=֔{G~0,Ϥdg.o.wRp$sߒ~zo0zUn˸lck^(n܆$ I"ή]1PٹڹxJPNH%%WI\~f"k/*w}0Zqw~!7 /|V%'.c8-%icR(͌iVN b}Shp-D_qf׆ٚ+C{`{i̥G!:XW~h10ELA68;zqpl R˗;9sR*wj%Hj`ȱSi%r 4ZY@ 9Usl7V-b5l񳆿C27F玠uf?9b|`TcЕTB$Z^N4UxOx5{}'m"gU}-d`Uxrk;$kt@S3_03PyH^ҺwTJ*7$f ;U8{;_-2>#b1uV~HG Hd2 bgS;5 3ˍ="dzj? TێƖ9NUaZ\7~w3]LDZt}2ȷBED5!fDXʞ{[>:]%hO^GP[Louŭ6 L. 6'^I~"4p#ΰ3|d5^UNc FK]XZ_C`ڥh&z]2كԫ#=pQV@SnI߾»de@p<A#ˊ^D(x#+FSkӰ ]҄E|K ?֙n܀JrrS _(k'IKp? hciܵ)N-Q ĞÀ!CCfJxxRsM^}ٸL ⭙^Fj ǣ;N2UU%|@;}(SG$:V;]$O`bC:-0]|LZ·6z}o 0iob'A\.ޘK ;eInkЗ66Fn7hK2Hڛ {EShpBn aIyd&r,Y]P`Z:uE"~f~XJ{]ܰAi2Nڕ&ZouG%OKYsC[:Fda{ 9 JΕ:4RgMnӐeR{t{enn&rតO=fvGUVRNMm ;UM+j7:MZ%O<騭 as[NnP:$>Y5YX=~/zj6Gbv4eS猓sÙW>e*JL-C#2[a \/` K42VA.aH gWG/Hw[k @L }DæՒĕ~&'7r*2eO2grMTj:i|~].Sna`hQ^.km32A ;i+w6vY7fXrnnU\=c-:@9bbeR zF~O, \E%Z1$d()bӈMV?v*r4j7{Wx ͙ݮ2,Pҳ9&( AB5&TAl_:,*qGk 48j+a㮮SБc)!+w-Wp\4+H*U8\ :HfV7c#X>M%'EEU->t}>Ӊj5D>\}[`֪ Q[Dk[+ 1]N%GsoiZ%҈=zKt*$iX)G1".l/0@s7SbRע$ʌ`{$5f{ֱ&2 P$}n<{~)>㇐]8Q~Dٙ\ٙ:k\WNheʐuO-eWGw/g9H_)C?C?PXUQ& $&7b~-U# p-67hv}pҝ?G]}Ń8ڇ8T"u OԸ$męGoOR(wд` U!aՓ^ JLe$QGj R|"v! YT_SQ]%r.؂cO`Mta\o}koGc2-Z/e(P6 Lyw_^4 Xx\%\8+FS]Zųs[%d4_":SAR'gVm{ʼnp.5?oLz3"X*, Q~_!eϘ8}a@ZX%#EjRf\vZʶ c [Vy,ƴF :<&=j`av*0v!Qȡ|ۣQ_r55LqIi⭍qiO55fxeC|#Vv}S@Z} /Cs Z\am\FB`oSG04@ YΫvv'=AJԟu!~\BnJo+_P..OePL`&0hﴯ-dܖZ@᣾:{jE%}v1Q :y-*Z1tB 9zA,I|‹b_$U 0;9Rc)bx>F0>,r OSPgLfG~Y{L3L]@ñ^k6][ی5E`ܒBlji.>~Owd7+9K&!E Yy}s'+b\]:ZiG.dX(2:)}UҤ#`új\w"XHw2$T0BmӚ8ڏt J?GIb[Mm`Fi;6>8+(C;" ( BiyM0}H*PR"[dɍf ^{1 kikRЕ caX#PHHSy^dX!dD+A7s# RE-m%x`fSεvYRG d@`Óݬ\&i+Ӑ#^`U,tNrIy!*ӱƂ)$^ kChg@;1y_,CBRH8^6ˈݟ[ @l咾$d76̹;*~xZ)Qzp` px%9,Fb14z|9WW.̠'6MQ 9DaQ ҍPI2QL@^OG_c v/A>41~>P۶;-@?ӜH z} ^nBD?Z n,l^S*M6y?u;]$=9'S@=%=)NBZ_L/y*3MEH#(b{+ktƱ &"JPvf>/}`j[܌ cHLos_zp뇧ͩ1NQdOdkS9B*L#ᷦo-)៣W{CDըeյ7m!IS5aQ W uekJuu\۬O&t>,=yT;^佼 o0D;z,MFH啙D/db/l-#?MSbAڙ{62Z@"UnXe{I! kf| TQ0TBp84s35me|U+R<&oZ)8']>>K )JwTJd]psgtfkY<=(=ܵjo<2쪻Wma*;Hѩ^#3^˲jQ_ C$\#VEvK7*[{z%$I4d)oD/6cѪ"G+θeKڒӘƸIѰ-<)lUsz1yˁOot/;ތ5=܇MCA #49ݜJ2}(ss;WM uX<9ofF <&$x!FRI#U1Re[Arb'ȶ먹#}OxI;]6dR8I?ۮ<)\8OrC5E`TIzz-,VQ+FjJcn>妍Xx %~k[}Pq-_ RN"L/\/u9ה&uf[8=+!i,@x#-6 MbM3{6 -@`-Z4h lO$Ob,]{/OKX^C}q gPA* ux}ǷdPᬱkma,X38!6Y1ͷUpLW##wϫM6w(_t,Tc:±&fb v+xШKq36A-(H(F(D/ Lp0xNs( jT! Wrc1>jP8)s[fuBpPkSZGɳLH,}'5 <_ Tݍ׃c[$5>cً^6ꍒr@aTО(`q֣ꤕ~+支+.'8>NM#k;=C5 229N̨p41؊F4=ʹ\R_ kj8gq! y&+ǰ! Gnw^u^Lʵ}E=O$O8%>}zEo. Jؔ+)$uԩ҃u,bЬ[.S9D\9 9uɔiktvY:aX hYsX#,U=1!7XO2[5ZL+Z Lp}HI+mh9C^_>&f0e1B*އl^"mq/Fl`Mg Sm"б ]@֑DzoL$榧ܡ/L݂p:n}si1 #$62'P*٬;P~2wR:fYepG#_XH"^.*S`;d,IsN|qrzGX$ h ƕì](0Y PJՔCѱMK>NmNh%CXpR>&MՋSv W(3 "7$LOc J4V|G,fnrMdLyWzC0&`ufxfe4yfWRQSܔpAv?łe0j/YҷBHE}8A3&T`9ù|EM]e;J&cIҙrq ,pYj5] DB+,,ϊ \c3SAO][)_|@W%G Gɬ`_35S) }Ks~5rc~;4rĂ49]7iwIEqN!ѝ|K< }{*wEY AvG"LLR3[Rm^Dph߸>A33D:N Z$E NO2?EbKAt؝9b{;f%8}'x8iCuDܵr ycXjkW9ٛ{o|fi5h S_C\qǑL6[f)f]9S8k%0;.Hre v 4ЋhѠU0ol1_0iP4,ht!$NʫI=y>Dž^%.Rwm1 ޡ4rBQZLtZF@}G3~ae3Jf NIU^?2Oa/nSu7/|w:!xYm0&3r-9Շ>Z&ESw w獇 ,;Eqdi| Yt')G$d9` 'v0A|X{q7OtV7~7f}04e:fEZJVwǼtA-yul#3B:V/]D~A0)aV&$fb\cJ[t!A/WV| `IxG\G:@W/)2ۺbU݋xMZZ4᧯+诹_.KUsb p,*K/*)3Z4)LIL6Pi 'k. o{اKYt:]_Wim#'ܮͨwSzH׹%-_apm4r.E %qi9?x1t&/`h|0nn@Sq-νԓJ_>u?;>cQPg9?ӭd * 3D]iT?FKvLꬆb@GNG_XJM'\ٹզ`PozO0{!ÌULR7:3*p/6a3˾`77ߐOUVg1+= Ꝓ[1&q>݀l)wWLLs\ U@ qQUo8XMsN^zmU@9b.S~sXwO4Dkq .Y+be;Ak.Kdm3=NMg,<]YB(N/0Xc0ܑ;(ZpF!oi~X%v8,l0C۰%7E,GH cdFNPeo򅫠inT%x|a҂/:]ƎSr\8Y-e!X MI(v`ϖ%{UFRuN*}DXO!^ieG 53MSL1hNJB*έ$ݴ wͻQ,LYw}5K@fB(iq:%:q:U8^=2WW06HKqz6[d ®G-k`$˺ݖf-!݌Y->4~T;Z28(]`´B~FoY7;M>*<|RGO~3Ag0 C" rV3ĹeG6,mʺ.f/FG ?Vئ,*I)_,hY* Z-ٿL-ˢ*;pV /JE)M4@b[04:FUX8mC)KitɪcMpMds>>&Sb>ـ o*˕ Vҕ 6KzC1tvTMI_%ȓ^Sݢ(kϙ t-xsr+O~1ǵl.@<.~NԎMڔݠǷxiji i%=.}:*8,GK9)⨔孱c/:c_]{q(v'EϸO Si7wVG$j]LdJ[O=Ʊ0a6wN7*}.(޺G1<1 iFSmJ7U!EdN3r6'a)ԇ?DgARkC1ðL6籩l֬0-X66RPY;Q S**wC<;\zҾ0rEL:yx*HCԏ&zzG(|Uӈj]R,pI^ w#a9@Q)Aԛtjk4n\xUie:ڝ=ָ|5==@G"BK;UQ$I|6|Hv_. yM&J /ҝM_M&2LL7{|~wi{yd/6>7i !#I ֮Fz U!R ]Y=qyy7 ~d D ##`5ճVR^ W@h,Hf cn_5uW s=Z|r`K"/!z]QNs#~ n=7b}zr'iׄ(ǨL6% ƷMd\=MϙЃ:6`8lJQuKb ;ecxu\goXfcnG@ꇽyR7y $Ήry42qH\C>%|y yXJ|C+<A[>s YIW0*ˮٰl̸zRwI$!+pLbgXt'ZG'+4wꏼn}GŊOyi"_Cvן؈35q=k"r7u(x/X\QaEƴgP<wZ9:.}x o"?IҠtep@v?n<_^Y݊ҭ0j0=w~+}أopCA)pTBԼw8 G >Xނ0g1cؗK)ة%8`y8/!ȭQ8 }x|̭Kh a3khs=j=J(]way!6}1Q0z6$!@,ߔP(7G6-B3h󦬕~̂.Z+/Hr=_ (:[*7A10q`VekܯT:x{W{\"}mV؄r̢KlNby8 .[t&R}'.B&GEh ctv8"Oےrfjci x(`}Y?hH12K=DsaoIg+/ڎDn7j$pS hug׎L~r=QIjwUs_GJ{rGamOOM%\[=X\\!Kӷޅaq'QHΧ'>0b3qjm1'NoU&zߦR+T~;}gb*e} &t/p_4*= K|* 5Q&>FKk& `Doh\j.s7W?qIBЌ2 wx'Ɋӑ3UX/J==/>vg΢ A~Ж !2҅Z(9gLnMQy5/M@.^P"[ARIze40-N8Q4#ݖG'| 0tϽKԛ/qC2,]Kh8ڴ*Uy>8~QZI|Uwp0g4Uw1n:ix|άJ)Ib0?le]CO*;`kʋ`mXKSEi!0mmEEt@oH 9;K ҽ/&Qȱߖ6 2` /?u~}w^w'@aϯ*xn=}d0MnY"&ǡُ+}E@(nBdrWq8B)CDCv<􄐣oz)#rbT=C)|2 %,Uj?hi#1]ADc;26d/,?_o|ȃ\.}&\OE™u0\ `9N\܊`Rco+Yp4nO{ ՖQ͋xxe;& <lʝsq`9Dq$4~`ӼP<աSٌe۴'8#WH1n:@Iؙ-OdNqٵvgCNFū9{+jFwO._$ lᛔ<}qVv{W1, C@ >?nN)psKKb4I֙l*^]fYw?(NO\d9-Ie4gLʧ3}Rr6(bFGAjN=d"f/(t TEc]/%hV^0#j}1:w%"^$m_x2jMo(I^b. 47c1 !`X[ɵ_4a/ȣ`Qq@<6byn~Je듉 , r\5F;DHXHuO>`Q1 Mfm(TӔ`h4]I*UMx^A^(S"1ʮRx@8&Unf?`2Ț^p|ʘo@kcCܔEPGˆY<ʏ&I d[R8"sH.qc)fP=&4 T2NZѰ/[s >4)2 Q z^T!+N[fS+1^(;]&pݠ%cW!|5Jv<4W(2-朳UdbE!A>#-U%P'pZ:!bj:U#nwn_*vO2VV\}&tMSA:0XwƧل3r2=2 \H~X0*82f,D7dT %lS@fk'y_"ya5Ka1F3_trǮә@od6U ҩĥT~"^?Mag?P«<Ȃڍ `ƒl/TrwM$&<3i|1]}qv>r jzzq!yQDH31ֆ}ZVƷHqr606[26BtZh+eiS{p՘3#Wgl 6hn(|$ΚD q?-Wg`)J58)4𜻳A 8ZPs,;=LA;&.&ُX^Mlpқ2Vu`EGBnk'ckpE . ߰%oTjMUTg.j3J5at T$#]7[=B0Sp1[EI9Q:~֊}JB fuknaᆽω0xt׵Kq¥W!ynOR2_g5g Z9ziB%_dg(ZBČDUy2¥\ܱ22 ldۀ *= `U9^NXp:CrS4]2;JsXqsV )nV.3W-#wkmyWKvalx ?oC01`4S' 0, gtXF# hPDa |eh2nAF7K%Ou ܗϜe[֖UzRB!4dW{oXZBwz0Hd %߂|ʄ.0fx9pR13HJo"{`MsLC& e즐J/V2L(HJDxDbBgA"<ۖ7 ׻uy1 ޿P#.8 _IʾS(aXQdxjn蝻aneQIW@6w8E9t<I~ܸF8"\yFC Tw^{ws$ME*5'xJ.ODk IixKGZbxLOT:2 ~5/T#`0$  mPFZTPC (m\j5=퀫]r3ĿrPW")m Q !_0YYQGFntgM7{e*If|w^$pSpqlW-2q+2BkSCpGYP#EI>%ykL;#@USQ4Rs~[Bkv 8"" fiƺD(?E<BCtsYrɷv#i`D1F)ˍA\{Jܸ\#T UeCWvhx+y"dQ!W<7;dU\vu|>܍}nB^WK97~=*mqHvq@G:*{5Q@,Vc`eTWM o8w2 a@́^Wcԓ+N'ؔ ft:Y'vC)S`+C2XJ&{b(qұVpɥW M*F"^NN}eH~+'|2^)0cvDۖbS%ap"s,єR#`"Z*֍.ťӦ "|k~*ݜc3R6@(OX=OjqҬD޾qcXܩZy ;܀]'A]qex(CKzn{Vx$|xix!WsNxu@rh֞8UClwfT]?12ºPLaǤi t^þO"{blحLEM$?%DR|ㇽyӾ §Q&rlr=̐$"|K<#JP }\#; @zKqP%I#'Q3M /)`)+~r2"2LWa{֪ɩGhR~ $t/!},u}'g>8v=cd:eRqßIw^^W-92 Sni.E@еg 9|+_t`5}WoAeHڶ ҁ^}ٶe l(u<-,8sQ @Ն+ @gerqҧ#MDEܵ+E.PYafFZ)_]F51bU=Bxo?%]he)zFޞ/}Cq53(1h$sD^z+_ Y{QCܬЌ0礷+Tj$H>{>62m'k x\od[ઌqkSK kꠞlBMy26c~ wI#L;3H)@Px~N@%1 IҏhTE▍wn oHT K&W8QߕMi#gTz M YϢ%oJ@q!S4c z3߬#z%J~R^^vė>lK?!& K vxصdXW.KïCBފ].y(Pcji/ǝ{FƼs%5bܱq}E9w,/xԈPYK(wj'3 P=k'P1SM:hM+ B-b?ȥKYOz|U"L2&#*x `CvD)։,u7E$i/"ds|WK_SyW-_$)-"tm0Uה7Ah-'w\q7Q/>Rľ;890T̔=.~FT4.-9!sC޵Z3t#EmO&@עeʇDrP?xGj"Q u  YC[<\~ǹgQ|a 1/Q!~kgy Ss5H{PZY{s7FKܽ& NR iG}PW@{cՓрټG=Q~QݟM\\)*UB 5?$C&:j.G=^'MRxڔٙ|w_fo5E{ P -+*-Ymoyit:pR_vxLkp+2\LpYF,x &G%&TpOD>YS>nV[1uFZ5PcsTbwu&RK[EWS}Ό6`G*ۭ9.[~WCQ6k:MGZfO3A[w9Jp~C 2i ص.nҶ,/t\(EiIj7Wϙr Ao3V#({e& tgKy@q5%]PDN\/koSI);4* w%O`iY癃U&.n3Е3B8kI5 V0 hr3O͸NZcQԴY PMRSF-(K,@ b^Jr>8im/Kt`($Ғ暫 &H$H|#Y*-h} ֟^U#sx?moRALZDhNsM^bv(qOEvxoNQJ92u_"i,6y`)\pb}uz-遳T*[ NЌ< EC]hor|Ѕl'k"4{Zs$y"A4dnK!԰)Nrfq!Vc|;}!SzTȴR~x@7q$l> aT$V0դR>V(rGlJR%z:?% av,WPwE+Ze+TAN"! H f1-˓nxOZz6!GKcUO ;P8m`qya[{j|w2pğБ me PIhpcsOQ#GSuۑvO8Q"=28T8:;Oߧ;_Ӱ Z{]!|&e*J?Ev 9id_yiilWEn;2!}SwvQM0'0_N+wc;kׅlshcbrmN]a!NXY6w00x3P;ᤨ$ N"{$X\AͨQC0AM.R{ر41bg<0, q&'A5…5M1k-wE%lTc.|!տ.Gv |*a$@pn4L@)bL!ZcK^`@I |$d OJSqrVT=PZ:蔈qE|z0CAr|v=;Dǚiw]HYi\8ubxC}O7hI?s"e|`7˲i"tZ@G'(27U% P1Y7e `/Ji@F?/@u~&@igjX5>ծ [9XU0/[Dc]QG Q\r1X!9H:Wp׹ʫ<{n7 t7D"Dl$%aCX 降C!pEc1g(%嬉u*L†3jtI&<ڟBkTlU41<% B TU p":a"H_()$mX/>z\~!IA5*%va'Il%/E-v,+xDJaxչk߸Ө\Qz{>!u&7x,kתy ߈:M(X둾rQ֠5߽Ί5[ ܬͻA|0fcESE?ȤP˻ P*b.H R%2sʶvI镠@*OvEd&BUtjYn0H%p}2$e$h ?b ⠩g:& af ]@J;S @|l̔# M;k2{\ ԣ:$ſ|h:1=\_ʑq0+Υ փ:*ہW5*d?\?s*XCůN\gQ.OWU]==(3ğ ǏXΉޥV2N ,T}u想Ծ@{Nw C>\ӔA\VVSJ9'8Oɞ";B2gs8ޟ?"1;-K=nt"e۬.8z*(~^u9A]sIxR%= aIFVq%CwRL2yx]Z7J\9ӛ\~7'seo* gG7Bm<(.a@&VI UrUTUôO%-`84v7'пZ?d;R}a#nS_o `*jB4󈥣8őu<3AWyoxIK-|V\*V[xu(1XZw}V]ֻeO0%9V6 ^=?G :#نc艿;nho`]8.jkx" I. zvG̺*qU]݊s\\ẄZ?.{yI+vx ,U Bo8ҙ[x9`Y>"~ҢQx >d ađ>H?qkeVC~tPN\%۱LxsOHcHv,"uᐿ@"^BL~y;!{{{ˈr!Maa@O^Vi54R {M6{,%EctEDV[lIՋ ;'G74duHa2?CαQ2g%`z̮@ĉv+T(6dK^6'mfbSgsRPd8ll~ԟx#}248ۃv :>8 6\$» 68 6'm3* z3(3.\P{ef_L;љZ0``vO R sZ]i@0pjl"b]扔% dJG3w=.o Ngɤ&~gGL@¦Ő4v;gz^sxSAj_T8QpFLԭZRXd)yB ْc +N%w K]{39Et2EJPKn),еns;ˉ?D=-=d͐7` =zgaZн(:I|0<q-0Qir_v4vX ?'{ A=wz Jԅ:aj WZꀎP,i׉yе%0%hrޟ4 fT7^7G l$W -\n "u0*w]c @7O3͵吙kjMwK( &>4є%jV ʢIDm- ~Cbl!A%͂S%ǶWGo7H"ul7sQ4 X)db-D jw 2<) ]߼zT!c\haoQ%^|/ɰfleC>5i ip?RŖaA{]M?h_ sԷyZiPB6!p2L7CO^Oi v ȠLquպ{05?p=a4? vyX5>k=ՏNP7)-Q.6[3pg)).SM-rmH)דY86< &u#V:ƛ QwpJO;4}Xے?v286݁쵻>;wR#kgӦS4%.Hnv],%9{3Pr,P$&)O 킣niR> Y2"}OJR{̉ǔb6H,bKM|Y(tTYspqc"!FSЄ/*)jBЗH 6(&R4G8eEi,[9o#[m@7 58/38,!,*᧹ʓkO `*q~0Kw+l>ganj549v`@M5*-9+I%tL<cH| GGd\{=KѮڰ'GhK`AA ZEy狫;6%"v&Ԁ;[CFt4 tGd)iF#MA%'هFڔ)x몾-g%ˌw"qFggp.hG8< =n!((O_]㧡7m&z^+A-VPXtHNI:S*ȖW`*oY Gh V~".EHRKHXbK]nq,|iuFyJt.E0=.rͽhrNyJ yJ㚉] u\2XB 2h.ׯVqӦ='GBcie$aNk(øN-Lݺ͝܁ DbtzS됓O5 ~͓c>k|8㹑P&M|H(FmVx^?sʓG?hn 82DE A&ԔRr=?~Ww(\~m:5EO$W4u5w| WvA-H!z9ܾ}tJLf D]ߖ 1CzgX`q+:2jmnRinvNN~ϩPo+Ϩ>1JE^oxkR}W}Z#O/y"K*zM.g$+{gf4$_c|^=3Ѱ} Ҋ_=KG[̈!`XZA M'bף_*q -اDD>qG}mP~ *wpjn" :DTKB2PmEسL 4RB fb;I'>.+1M5-~m]ե0T,qc`pjKIt򨵻Cϳ[| AZ$mGG.roG< ^aw?#8$El9/ ]1+U_hٲ gtzesaKgWnWM:w\5eŒ n>OЯ/-E ]d:q ɪueNu7'1Ϩ)!1A- =¡f$<04xobșPn%R1>rxֲ¤D};f Ycާn۝RJ>M$լ-V`~M밉\.4 ъy>UGsM௡) yɊ ^;6I-׻OZ`LPBry8[\dhe0݌$p1垨^PYT5rHں5'aPĉFhP>s<->v *op"@d~WCz;,gp25R};SōHL*.ƽDEVdANZw8S'ǴWYN*]ޖR-ݳFy7 ^ Elvom%HK{Gs7j*`y-aC`ef%_hBIRh ts6؏ߑ2`CS&IsNyM:yl~\}Xq,G̓e/]i ɉʐda7W"ѐ*@zH+. Ѝ0NƿPVߛN&hr<館Jh) -[lqBόؗf L9!Aa͏ah)9_d6p BkfvNJOY xďkPU؋ĥ4T 83qƙ{kQ=l ja:̅ /uM%sp;+nLQ|@"l7ل\e!x/xÌ'2^"~0*ώnOL+ ?!{c͇Ov~[ Z#GJ&vPh0kv+koT-:h =+2p7]!h,G)@2Z!%d' I7mۧ`"s/Zd2 =P]}㐤wBeӾVZal<2^zk QOs6|]c2Ƽشf\ӳ@;΅mi `.7cY=iS `6SA6 o=ߛ䦧k<Y?FDMfsS39 48.'Ev%Hv_|j9?!FW!8i,;pX "i1; X*-$S = FwX6mcrw!݌mo!]$z e ^E`G2G$XKoRѰl68BG~& fՃ޲J '#oEO mD0يJz*vZ5+z7VfKT 7v!*EOSٷ߶%NQ"TԂ䟍} W ^%jZIa$g`{)»I$B-+p;+`x΢߻]1݂2QA5F0YGגGHRrho7o0 x8 M3$j4 e'+ QKb9N DzUT!m|kqed0㣢+4t)X= GzpV* 'f~)Vz/`tIPfP%\l9@>K*؛jԎ><_bT=]YrůAi8Km_B Nc6i?9\̧R6jIĻ&4$Ngu2dEܯyߠ?T\MT-Q'O/y"OEStd%U@CӠ kX ~\o]]JyqF#&uFRs@b wmx35zkvtgӂ,' L7R0tb#Mqxj~.N'n6ɦ CAN9YN $3%H™@ab;DFD]FIA:v)hL{;l*ne_ Z-MNʠZCׇ|@ }؄2}:tEⓣDi i $^x)~s؋|4ܢdlu˛ܚx\"0MAFz ?hMe-DCCRQCap{ | Wf$>9Byya1k92wr !A7syHx7*'sY*QuآH;pD.iׁ~R%z:nxWE:$qINw]5^dJwA=4%rΔq >L0UXaWzoxX0_ 9}[oS2HϮ"&>dYv"&hTfnr1jїȏ$5"ڱ{ kő+x_75Cn>f"lyol3m/D=E3ٮUBt:0T&ʘT'+16a+'I{juUKVܥt Fp1D JUP=n0GJw<ގtgsNDTiRJcݎ|'l0wE c󄹫Sje.Z4fAck6ۜI(ҝӎ3|:>*Uz߭IxpW#}~k@8 3㽼3v!?.EғM Ф| .m H"0s=V#mm/4%zSn|T4ҍԞ yMcvR\ieV'"a-^TS&cvҪv_/ʛ:y7S; +e-/`:]{"N֌ښg^KMAJ\YЂ&|#$lH}"eakaL][ite`[W((mCld$o <誧̶I ¾@*-mǷRJYTa* +Ch7 )IHsA MYKS>PC}4}ܿ(S4cɔqTy@94:|p~"X'>es!\5?Gi-*Lo5dv@bڧ쓜MVrˁ 2\+%MKB8 ѪtI-9HK\7gNוVji<97,?7W&?MyTasyH֡*E x"8iwhn߿oD C\D'ipP^SEN4OveETmqNlssUAWHHۉR%ߴ|<}%J 9s7OUD$l PēC)nPM(@DEi]qHSB6֧?-N96z@$TM(;Th:${)܌x؍O_Gf{.0y:dD'ClgߛŇ8/Dӓg F@n?}9iƪ퉠nk2&si<4[ˉj_wc>N# us{M@# QwFz ]5 Zgzٜ/_6-2L]mđ6@#c#mfy[0ÊAf[Tþ,^79 d`yQ U60 N\<<%ƸKKmda'͋k ^<7޶H{ÑY#m#K]M98h)ʂK6H&uN vKrKeOn[!![}swZpN6D#> Ri`CMA$Y#'XZ-8풷iE%zhl` !| Y*E#ϺO.k/Mq{];ň344E#=N_d: a({l>l߳rE)SSz=Ձ4o5  S_8)lGcz3f)݊ Wcd~Ɛ]8{WpK B֯28 Yl <s\o)Pp!Z,@+Xwı2^dړHVNi;5`W*:Aw̢NOЗ6!c\TxIn<+oUtAэqI7$3\j:QTW9z߀6̿h0{ђI0[onfNhZcWwVf 8`ytI)H:ɩhC՛Wn +}x'w eru~B4&GZt`zIڛ 2ϴYߚ3*֖iߊ{h a8o{QI݊_))~$캲UY~!/=a鷵s.Pw|}x"qٸB5s>/7`Ku+!fGP[a"IgҴ= ft\o]$ة~:2\ב< UZpt\QЃe _OSXPik:#Q#zKS41[jxAd5S*/;hH\鋇4"6]e>o4_ m%(QB"tm`%d/Jk6]s5 9$܎c5QP  ӶPi)0$y]=E'K(K#%zVSl@dǡ۳SQ4!9R &8B^Ebh~= @s:yr;k0u6'g{>'=÷؅{x@. #ƻum:#n=[w֘5cPԼ^ u;SE lŬ{8lC/-m׼Pf C7y*Mhq A-T^̳=K'#\ Ө4[4»"i`)T M zb0ȲY 2r]H .[_Ң8lò+Ђv~ox$gi"Jf"L osKt(HXv:BInlYLgG3˫m_QE\,ONs)+F~YXV4dwtJ K4~dbPK3'͘uYU0ȿ݂ߧ 0||$pP9BfOjq-,FAWFߙ*4{04[_F]\[GJ nczq|]-/5S}ϢIBXqH~2 jò;/fB_a+phtL9;7Pwb~ ZSrט?h;\~iMR5Xu5ZO;> "XA[̑f)X'n D޲DV.GTE2cz8V-- ,m2SlCsνo }ra؏}W/N$y['n3'm\z (_ ӼX%w<ޑhpqy`Ub҄b,y UD?Wj] kT/ґ¼1 C&Z hzF'O."xlѰEzܤ(#;FUEؗ"#ș[~Ql*) |k]t#:]Gw) O '*2!ۼ-=ue`82[xA-~e=城6^BSi);di ]W!h: ,(԰U-elYْo6jVfȌ<tƞ dS'B[^ʉ`?4ze* kiʇSHH&Oʼn-19t*[Ʊ6=qf,SPҢ/Sypؠy>΃8(3rq>$& `JҞ:[;593'm˥/rE AZ֭^_̯tZN+7>yE#Q0~E ^كي[9"J;D/sP)$/2LmAx\E9s׎U49(qsxUОGZ3f,(vcWe'L U[3F{G}ԩna&B)Y#fHNq4-xygTUHKɠĻ3ZGFigawsj"(,69h ̈́;uZ! :nB[;>c\H3CHc&'fC~nMhR󏉔@V{f{މDk>8*zټYU!E{'y @Rjou3t r 9Ǒ#bx@v᪤Oᵢjc3kLg=wW/h =L2S!REZ'RXJ]_|\fgS܌dS1iUrD(_y={5o+*Tj*'hv/]k=~k zB<^Rw_\-d%-O,4 ?$E(cH[9Y}# SAr;ErSf+;|P1Xܦ[~@5X tOgR9\ɔF,8$s X#։o#qD36ոb4*5j؟[^+ 6l$OZB ҳ.+$QmTćo7j<æ[v>fޗӬsp??% ?sCGv_i}n xmٔ!0B4w^[c2#xC]@44Gd%!$ށ0LEC€k.hzѻgA!]> Ж^11/\㬸j6:aGX}kcʵU*.{HVDi` eZ q3udFp Ƌ{ 5t\B#jl-=?RB2#!%0rȄc$u)G"oSWVaTg:P6pGIJ-qj"͎w_MK0>,+ Ս ³q.wӉ,&O:-f1ё])hE%rOs&^o4m16c*q! AIOeN/9@b BQծmR=7Ve(;N>x>1kdΙ j˞UAK ViKT.`nƒN& 9_T?pUF {a *͘[W~+2t{|$Uim F]o8Hh WtrheжDbWJ-9=z^t l9:$]+Ez G;bAA%(Ӎ <`*%?1f}wr?{ʬo9^r!yɑVLKX^9'&obMU{JG5?T P%k7"NU2ZFn@&)Ͱʱ$uFcM-Gh\Ɠr^Do^@tW|(h{lN٬}j}cOEV*+QBtzQ9^0^Ԏ#P|B-g& {#%/ȃٕ],v1Hq*ʅ +OWN2hǑwNRk O\: 9K=|Eê.wyCPvԒ֎)zRE[Z/`*{إ/3E㫕#}*}uH;}bEL$G[DǑS$5OXPy|w*kt{Ͽ1(oņ!UXH '۔FSurօPCZF)lͯI_ DO~}ƣ GGU-`":И*0]G6l$x%Jiؽ!w9>2) u7cJ[ҥ|v/VCL U1s(?5Ym&sFG1_ݨ ̔BBk,+ڍݤCyUMkvs1 |A!Apdl+jTs Z*рOnqa3R yHch9].L & JZ|+ZeDMǻZDzN Gg="pzA'a6/HZ ?CRN)>e ,˓O$!g]z?|L3ܲo9j~a[yZJ#c+)tGqE0lA3{ƛxsAAlLhXfAWLB)`a+}j3O&;sBO`6Ɛ^u}N)Qm@:k]a}yA5jږq=ήB&-=J 7^YW^KZGZ1P暎9gZlcf&²[xC1+^1* " dlljQY> vDB{+Ff Bʀo*O$ô.9Yk `-f<ɁE ,GYTpdkI/M33 /lA }M]gr w25VJzhZ_C5wT+Fw/EcROU#"MIul>fd,;D8Rsrc*~Npo; -+bw?"7`[7E 5hgx봭8.cs1b6Cw]-VO"cUD0y"걷WÑ9# G]Ť.-As OVxA-}f15,e$"I6:j8~hw&%1N/;uU-$[`DOOo+ǴyL0q0Td$aqduv%8#+,:i00W @͓3f^&c~Ƣ6G) 4*PjO* bMm(L27FfcNOg4.FU@Dפ=FTD#70xY(uYOI6>< \:2%8ZOX©gEnyԎ ЊYS?Gt<{iQ BsQ3Z%4z/)sJM,hKȉc>}[cz; *E_y{ا׮leq?>,}X~b4DFwU|jL}/(mг.k_ ^qًZhi3 *3!μR7bmn#-_qxXbB*eɰG@U[w'!iX#zjR]ó*w"R]aY;u; }<-|JS_^u]yн蘱  >kfwfhOppjdɏS#Մ5)}צR͊ raKcZbS,Rq8tYQڵdU"9#DPCs;Ƶ9NhG )W?p5|Ri#kos ?!tuF-x*) *G" (${TjוԠX+6;ݯ% _pi}\ Gv%y$fG}anYy__X;J@zB7*w_dǹ8:+N5-+aɢhrJl[d ,H0 dޤе2N|r_ st[ȍMd HJw;tft&%v-{}* |˙aMɳ"6I.H5A@e8 Srx@y<٤GqYmao1OޛYh":}$Ú S܂-!mEYtKalzI -RPé|5x^jQv<#$Ś|wB~?!|[_my;/aWkdbiO+c\ߋF`3mlh~cU C[v|ls dli4i&݊t"'G\hqbtOV-̣嗠L7SBm/``뭃h\hܝBb.$BS,`O34C0ӯ2Z^N/8K6@D dWdW(6396T-KdOǔʉ[ B[6~"OrPؔwFdQDf$H%^]$jYw&lJC%ĘCZ1Di'Yz8LUI26xM4l.PNWeSd Vujv[Ѧރ-Ƨ20h#M.f "ywܧg^P7Bar )+ׂLQ :Xf4@/ۊ{R(§_bxv؉5e$yЈ&-˩ JW+0Pow~v p%J -^c /V\+଱>C7m<fƃ^Ȭ6DEȠ)y:6gF4 !!xI.Ξ"aV bMߴô!莌#wp{e'ᰯy : t`W_{6"\X5/s/#EaNN7CmX_₤2>ρΧ``[ȐbXqhF/q ꣛w!v!)zo ݚЦbA KL5X+ᰵmd|/wRj#":OgiUY iD{p!a1' :kP-,*zNw%7+aĐbؾ[s'[ۊHĎaH(=6q\tBAI*BXw_Q*Xw~ɶTOozQ6߰'H;f^( ]t8&[T>>/6 PPrh.[f3k}D u|VJJ u` KEqYLWM*nΖ gHghb Qk[-ާlYE$nCۊ|S<&qۈ^tJ_4 v^-Bygo@tT&y2pnܫk bv.:fyV(tUJsb>[WcN;̢D‡5+%clkiaK2B%Ο,lbl =B[WG畢C`҆'i xٷ=",X5,oT֦쎪1&zָ5j67}fM\]X:DtA%>ׄt^!xuKG fױJ=[lޗd Ζ ΄) =6GeTМ%{JEA2gE̝KAǴ@Z>'J >wdZ¢QnCM\?͠i.RHa,߱"^i,} `eۖ&9,.H'"tm|~A-=g`qr;ŭۨTt/u`a@U.mwcLSq$Eg)JAY/k(eYoCL{m^&\<[Eair%4;@A|/K:!eӬ )ziݻ2+=8bmv""v@r0!{v_'(Ȧ bw{015wSǟ i_2 ؠ!,TB?j`I̹TA'-Rv{jYA{șhvJG*`G:HL^ΐXjxf3wGrk4(dmp&OP"8w`+Y^|lW>(Di0ǽ UUeOqrhu[Y鲫fʲU?b4Ö):]λz  "`z{0.wo^&wŽ#%U.OolE<4Kl4,[>EƱu, BXqdqyLNc93QQ \>ٮ }`ʦ{ e18zOKUU uʳ1'C~<[Cԕ\3sM>B }S`)O=gszi:[Eq:A ˨U&;12$1\h{okAn>Ƶ)?'srtYŢ z軠D`c# X,}Xա|;6&t`NĠ(ÂFW}>Oj5%Dh_O/7lwb+Fǡ4۱%ó?L @2RT,e]Qq,`tLy(ceqᜍ؂|f!Nbހ70 wx`SXPFX\osRN[M2y6-2|0Lb5`kZ3Ux2}ׄ<#EcF! Qv)rf_.ޣ< p1:P} ]^rr}DJ{}N;@^V3Wy!Jb1W_Thx O/>UP 5 }趥dSl8.G[cVߝhJ[ӲGV&Χ, Tk d},ҬMDgYzW޸*u2 3:E﷡7Mkib MAÝMa^HOE?hՙH⻷oxŒVr\ yUiU:I~(-k9~$EOrTcًVڃP#Q $?h|:twj^ RwR1gX3CVkNm[JJw7Q3p,sއאa]Y?劮0AE1=%Ww#Bӭ{bZ1k.]4{ ī޲b5eov,qV}5p?UD'D~eG\7aKG7"f>t:YA(j͑'tY%R6N;*䇜tƛ1[.ztF!b.:>YG(Lf6Doź\N2:~lmnX S„ÕTqG1ݷ6NqԸ1-^aɇ&]xd@ |@@MR&ڳ$~K]vmZPn}\Guk7qPv |_A$XjYsx:;M(4T9϶Ш̇Ƀ6vw' Vum^'k!!LDVr>>qPdLlQMU'1a@sVWn#);oBĭu d8:`ffZnu#\TFib N=~HR$m; 'vZ ΃0(j?U4#JRQuɬLY(x҈ ı#N^H\Gu[(a)[WB1g^#I\LCr lAndDvfܷ؎?qE?an)* t|zkB(`Z1fr2FQ&,ާ :7Rz$I[~D= r7nW^60T  $:]D e-BBЌ#C + &u!26c*?UPUuB [.dh.I$ueq,%XAOb\N{TS RqefC-PHW.3tQ7j/(;5V\n)jh!VVA}\{IMYNjL]\eSׅ^P(zKTO8zRŔH&{!bBhκ6 ā׽sЬ{#aN XY|^FO/BN8NF -%2¸B>1 VVu;7f3Wh/aGk"QAwjyB 3l\dWLo鍊BޱtvE#'س|Jp=:x\\/Q^ eb6HeGeķ,{O#bu٨+ ~xҰ<ŨR6ot[3\˔z㯗igOazŷٚ/A@"Ē)fI| ¥6s )E5яdqҁ݃kZ+FX #f^##w`}x%R;<0$4qX=6% ƒ.2dM {`KqT[b{>֤DK,koɊӓHC)׫^-n򾛲?@8{^ߪA5"ȓgX@WOÂՄ]O2ѓ| n#,Bls9\Ȗh nm{e:^'`Vٍn'vCbaV[{XrQb N0JTT*qG6r\a3w ,¨ϽegyJS,xmlҳyq^‰;Z& Leup_WlIVi07ƘM*|86GhԽ/,U$73#EAĬ\+#zt*}o.dQJhۆ&uE#~ޢ;'8VPpp4n~LaA>9fl󰟾 "˃ՊG'B/g?G{$VKG/ݤ,vHt~y&7cI4b /{rλ>&eWNg*OXPAky`+𞂎b>z}<l1/lor7 Q!O(iq'P& X+AyH:+Dqy"A)D-fn "ۮMA,Zw*ٔ1O"Q~Oh q\2Ct@#Mxa˛Ƕrl|֨g莤x8ht*KgO~Y(!" %rR)ُxP(|m' tQh k((#4#,) YϏ K ~ ./#jE԰e )lw܌U[ $È vh7;)mS[)FJIwQx5c*ZHrL7\Uod+CzJnX- ѣ@U9F w/RuM9VH_зc=+\5%%ou*ݾp2m{8hN}.:>5 1ܛV P&}wDOL]x-t)r30P5t/?K;܏s&ޢ^M/]ÁFY5ӏP@dXw+=B) /sñ.O=h$6zȿpn=KvΚ)N.e|eŹb*F޺OsI!x VM1}‹/Kocby@]PN.n xlշGPXPK>J NoAU !tunjh󈬇̿'=t6/QN%?ӄ,+a/RClϺ.+ec4n'8^] 0[ֵا`e'<ۻ\9 A-\`J2E >;LLpj6*>Z:;~5ޭfh1zB!+тPRrB+c.xR ]$]]j7T"~{0fjJϸVyOn@e 6 6EƱzmˉRn%w{4'~T{E]7+Qtp1h-[,c0()ާ'ok GT8Am¯ABY!1t3wr-x0yޝ"7re:#=L\Q`6ٕG9Z=oMhj~5& G ذgR%IVn P@{qZ,ZK.u!􏣨RV{*RTERcC^_vJvG\Z, Kvmͮ*ZqR p£70pLG wSLE.=`q>޻fNޒ_cj8"Ỷ.,"\eKobgÇTݩ]}OcKn~3",@J&'2QTZ2TȓcswϴwdyHWNzt-xu22q)Cq#js0Yz $%A@ݡ^A,;o|O2-)52k\;t"MxhZ btݯfuGvp`S8CAG݆ *&cN_%'qLn5`;ryJ=nIX *ߜħa(S?v "Ga#P qh5&U8DG%=>c  봙`s\v%uo9ȣgo4wQL~Ҏ%Cd{ b!CL ~_ FGEf>[?Ef#9c5(D`?}C4f50> U+ (LuuAwqFϺ'U|+GO-9n;q'ߵSifAPTW}zOL&wm3RG{旦>cjyF.\.#ە F%¸$@8(VZ:)HP{n)3. 10 "4{yaR+|!eޱRE)]]<=oIV.V mOEs\ b `5sqlY1V 2DRmTl&+fe'Z :*T>Я{ߙF9&giO/J U7Q&=^FO1EGufes B';0&y+9+e~,hIO$b w(Ѽ::%p02/ë4XeyPZ2eJk3T mgvy3RiLA)'C J6F S~ SXSL` 5PRxǡt_o3`Jq')wsAg?E+8$|o ({3+i\l Iҙe<=!$Y9Pmz+qyXԶ7{n{ ܵjT#BG:m2_U3`7 'Z?AS܃'pY!iSaS!6,_zqww!6 #VI.3=f XVQ$ˆ`ۿ @eJ?YjhdLXGbyU+F<ᚮJ';h BSmi"rq F q a*eGx0s-vŜ Ш X NO<3qoޭ f"5^G2,wʦL~:[JKWcipRiPJYG4>aJMvxW+UQ;1mZL s~+fYjgI+[ 5ιM5p[>06l "`5@i6 "9Elؙ%>/۝de"c5]V&$V˚oߝ}dnu8:z.ݜ<-.5GPs:sr!IR=x"8wNIG~ X?U֦#9^ K!6 B FU^RI`}08688rd* cwZ O*RgL+ d` zq 1""SiIn dri1-Sz #Z2djX8.#NcxٌXQ U,Jr)}eOUޒ%$L`z@.c{Ǔ20dkO&wTs[SAOE'Z6j& */7az(BʕÕ5.eN?zRCյ%[тK&(%I6KY3Ǹ%%FTz=lZa4kei VȝM׶O^.byi.8 e]3SxpOjS&_|W5X$_Ug& H[Lm$@CJ2/B0lg &%KB3?a`υFsÒd۹@dWaЭ7._Y:d0Og碗q E_N5ĭabY8{ߡp`9Xo:JnriVPp|H12&(1^F9ҨlϺKxHQz!4BgxP&$7ƙ5IDCw.U%dMm2a*RxQV&Dm&ܭ~=BmZ2#b-X!칯 jT/YH'1TkW,0ׅ{3'F=ofI 9g~cL>\Bd]fS >0:f\B;!ʖO>_ _na%yĄ" )RTW Ѫsˆ ֍G2zCNaPk}?N,6S9Ծ]Y<;.[>g OaǂB]ވ7Bx+؋"N񫄱}wǟKhHs"~Jb4‹WTY1CF[V`xd)󾜞)O6Yw Zʅ\|:]V꺲Ԥ5Q,Y_FkԋlPHvc8Zb 9\W4ĔT7HW=˅O 2Q+ z{O I@+1# ?I^k#)†{<VT.'G›B*?콤6,'2*CxRl9#'mqNQO sY# Ԡ zoFu'd`Qh69,+It]u<N&VX9%A^I`j:ȅefKm%Qk~ݬn$l@^;} rd 9r0P&(v 2a 22):}mx.M| ":F~yT/vX_vHs0TEuu$Or2%ATq)#ZW @K9fv{kԪ=4c|5)u07_ի;9]yD- d)_*%' 3Hhx84oXR [I\@,"z7G6-ArDUB0?8/i+ Gu&;Rru8slKt+dɧ\߬>MS#@R)Y\j{4mѪr&B{GLJMԕ*P6͞V}*dm 4URoP; 3ۨY]JYTKb\ϸfj.~ҽ^I,H5~kFΩM(D}ջ۶Y|lR+i%w3i%X CDtC0j+?iNX@㶃Ej:x."YYf.ܢ}Lлy2҉Kݍ6(ON?P~ H2I'm@ *&p‡cL5+D80IZ!g~U4ٱJ7?$=_W`zhv;zC;ޞ\͖Z(i`D&v\z>Y_7 `ĩ1Wi;XCYk0ҭ#xJ:c>Uwl򀅻ix߼Txh3 JOk1xD=Bh*]@ j1OGor?LՋepp=dָC Mş|PgrZ@|cqg2ӎhK+,>iwIב4ژѫkLjE0jN s#X2]ӴS=n[OӪ:ZvM_vI6=`uyj5;f[>3=\C!a?_~ymy=wLp~B}ˮ['{j6} i+B 9(/9`dt€tOD4\;\яUaXGPco!U.`Sʖ41ebs%I◇t1L7ucuwW[ #>rZU|lն4T&3pzQ$-wac%8 Sz7M b>;ERQAX{;~."dnWv*. 'T6A'=]ו{U<{MgTKVD<#W;Q6A 2[2첶"*۱WGNy\ G89Cy }{ս KcR*,|m1c o^W6&iV<7BI=Vß o`@د{ ;Yz 槿MDj҅gfM17G>LS)<:KV.QQъ_u) ,K{=n=^leuqo“A}z#k\1=q#1}Qj_B+QSًӒA~ݚTԼ$w8 KRP?E=\';z<9ݘvRsqɵ:V!ࡃfhjKm"2CAqAilq)PNe>{'&͔zQb,c`<J@Y3§y|ȃ<[JȾ!:E6/פc;sۼfzn<䓹RPkΏY9:(xos=&ZUZȘI*dR߯ },}7gNu$U "C([<=VBP? & tEQpK{axL6ڏT, `ZxU}#Qk `+o0DF Vϛh:~qJPInT9X6CXMQ~?!2B >&Bky;gx<ldgSԦi>R˱`TGogϭ<5lGdSL܀oҙ{\70JԈ_;w:`77T_((ƣ?_.si4lhQa#, n)抒df;q Gb`vOU*t/ ^e=ߗ\!]F]EG&}\u#հF!/@TS߇YYgE}>6 pfzO"~ Rd&>^d_NVU﵁aujxt?w FG^(OSsc1!#[?W i*-VNi~$'>" XW;u$IJˆs $\8Y`TRqcv+ڈ[ȍ3б7rrDzdiL54Q8TJh.xT c/JB=se^ q91/]6K6eU] ݣ~ˎ ԇN]BiV#v)[Iuޛ/ [mn{}#jؔ1w Wg6)D)gD,#Oi/I|~8:B=V*<)K`,+JɹzsܫtEaUW0MfնD؍́U2zCޢ]F8XcM5"fL7֣`vѼʊ( |@[^#d Hy#\o8/y^V튲K<~Dz?p*Ԛ\tmt%[C$,Oɳ$LKQF,?5ںZw{K)YGY@`{ܩX&\Q 0V ==㒀i:IIOJxurNÂ"}0FkHbSe~j 9 _%(3[Ir]sRBPbvo ܀Ljqt$mBiL9U'ddPΝZAsc '#N fU,RRpxH..>Q g$\~QMA M?TR_.Nwt.az\>iȑ T}z_j]]XpVhLS(B\up! +-VD`0:3 <{wz#Y͘CM!Sc,$A)2a|jẌQ[ r6Kám1gR䪟1nj'Yf)e+?TxyO `\˦%!X̴/b?^ipuY&ך7^P{s vB{XFcfk Ԁi u]wmdlڂS@)mN1F&@`[30heJpRE Svi햢$0y>Oq}9g3|Ӛ'ٍ]-׾/.r ]5ĎˀV%aJnWƣ?z8 H/ز;B>bߖh2.G>6/HtkC<  k؇29=Jwun+-ZnZ_ڜ2Ř+Kʻ1RE>?mBmŇ μ#l*t4YPTNAC2sm/5,n۲apC6n.ap9oR YBD %zqiP~9E^M'b*5ؠa2 V>kPOiDǍbZc|{ -&lcw* .{KtEeR[$ӗ@:}ʁʣ0PZc&m 9d^mwF_}HWL00G,rM W/SS | ^S#Oxݿ۲қO==%F(^(tg|8Vw2=#x+0[t5?#E:;m`D3UItۜF<`=Ha7wH0V,HhdЏ['ߥV}!ً\v-d8)kɾHgOGt -"FP!.gk`E uL9[GG #҈Ɲ IMà-F tKNoccVdX<4zbʊ˄g(90&`E1rz jq3! um.c22ZM6cДkCW"cErs~ k=\DV9#7ʁ A lY/l<SVʚ'C;[8X%0K|JN&jUaMO ):/MD{Q$g髋gK|8y.#%KV訯M4Zu[p<POYR:dA4^pI΂٫$*"kA<&>9dSB^ e[$soYpv/qPҹrMD0 !dBPkRrjїἕٕ6(UԇXte(قZaW%8rw1wi(i5 QD~V-/`ھ{S{W<ò?k5xFxѨL 𼎾\i@eMHa9QMox4p|*GsOш>pwJЂFt$Y]ײ1Ѹ:uXSKSv|AevwIJ/)FVj4PzFfi+ _Ҫ.aUoN/I|;ט:Ĩg [݋elu٨NeAͅ5F&w0Kyᝏ++0/RȜiI$0UڑhKqeʰvPpwUjqѦZN6hx(Zx+9LKe \;&wͷ)+ʴ/U3j"ɣ8޼;ڽ"|@nZ<4ccLJ<oaP\c x.ؔ>5cEԕJL|'dsqu٦uXm}Bt۟ f_&[,Ȉf*BCZ#[Rd p˿eRO+cQ$bzپ^cWG4K`,٩Z" VT iUE}' v}ȧ?-/EWeoTgI&Ũ!ؒ94WIbK%vEĐ07)"h2v-l)n[; ~C^ky(tHa0ӏFG@#} I@,G*j曖#DW '3#U٠cm-ۀPKv9P{V4>ѣk13-+1ڏJnR+ nF\WFjO5vCčp<6:zxpb9')0 NyV|ekn_u# @鼜Ճ͝&9 F9ީ6rAHVE}4keVMM嘘rchin4.{d^(*+Ґ.U BO'@Vz`2Ȟ1_, I𗽛T&jN\dN7֬JQp~6Dqi\(^=QO/#|M?a/JNЂj(1@ؓF̪-Tn eIL`=*V ^ᡏOmH!H 'h3hH17l6z">/׋Q{ejz} ٢l v;OB>ӏX\3Iޅok4>[Kc͕s-xOƐ|X(@ 52L1"f&D.!QɆQn&-m_;N Q[״~Aq~mbWִ Jw( J}Jli h0.;17ĞؿE6t rYP4+9U< DOᦇm+ڻ;DK}ʝvI#1#`rH0<1ot#"oͫV3@ũ$j[~3cƶMkgcH7lhc H/$ox?NBu?EAhy/ƊrS}2̣q` ־]T/,M+ⳋo +K [ c9a "|֊KDĸM}3R,5Wղ(1"k5DQw2vX"Ӕ@ u1ezd<<67d"J+tTLV!m" dϼh&PҀt \6$(FK X ;ڪ>mptxH!|1sdQdw"\gTכAd="~ͽD,ӞVSB=>S0AR1o 6&r]xAN#5?;O'$17eo:9|$_ǭ1 sl[$ Y% d ;/a:(coH] {nMOE ݝaW1Mxn{tY$94h1mͫ2QG!?c5mvj +`w4q _/ZD !6XN3Ʒ66qÜ@ 3~dx@Fˁ`7S#ڧkw|l?e6Pη;z攫e. bNB֦ K`$m&W=__ec&wgԏC]s#2 _pɧ΁2D5+ܬ`j2'$ۼn"hDO;Û]6ib>%vӵ$FQ]W,ai"H͚&k"2As U{pRgO̽& 'e[_4-lF`>?$0cɻKUgd`p;Rvʎ^u|)Z^ #t f obY@{w| #ۤ B ӕ=3+0htkEFbҺhK7O-,`_16NՉH]]`:{eVWOppQ?vSkSpDˡrXI;G/a\e^.oR7` 5ޛ0h@x;Tsm7J]l5~6hcVdu-OgB;[͞4ԦRjW_=HsZ'&+q#Pgv0e+[" (=0&6'[)wԷ& XXp4;X5p8+?ɁśVtM >#: !SwO=!"Pm|–蒵/W#@'3a׿2KQ}G=_-EH"2N˸B/۔ ZB+3=di.` XvŀyؑB4dtCbv a "HX;RL%_{)28MW{L4Qo?I&d'Ҙi|O_1vtoVJ?hsSR հ.Ha-B!ø6B#)sSq/ЛTee;GbS(5Q] .8hԔgKc 66Cxh涋8s@OQ %4^0ϮɎCWI[̓iko2Pӵ|oԏ [I)7kycdIw-# P=[5v+EM5Wƙ;UV.Y, jsP,[kپޅ $!r?rmva\2 7ٲS?&s!tHTB K{A\YykV[6el8H.c0FLQ\cG`L[m E=*1f#sd\/wvLpxĸ,X"مw#G5Z HHmyS͎O KQY`+ O$ə"AD#[ Г^4_:Īh"vt0U)8FC'㣑w9+9f$V }/2>4X3FK,UX dbMn@t'@NhU+Xl"a8Z6fӹ9VڦҒs"Q[ +!qG{E|Wb+%|b-K= 3<~c䥟 /`@q:vF1vAim](fT jp19~>-=da|)7e1Hb ~vY`'_J*VnGM\d-BYYz92 t~TNi&ֹ)t&CǨ.yRodiGk@S\r5Kؗ'#e ((PG YvjAaGXj;BDBG L~IUH_m*8`g*n΃*Dv!;D~tV%'@Wk7L\eň3j[V~uy3WS8=r&d# o44 >VV OMמ ¦DCm*^|!Meck0u3XLw7 QKlZA[Ff=WiEO}{* (lݢϹA1TS' Nu+ m9ӈzoZcb8vs ͭY3&QQag/܀akW?*_! c3J{m1MbˆtMK5O;98`~Ow5w.?-M>Ig;A.. tWuF/|_ Mk*]3=\w~aܹ蹑s$H,cUo!D17;:P0&ނ/?2k[A{`Ze%:AqW;}mioMegI#6a S$aQ}9 VN뚝cSO%XAr F*mE\ ɴ~;P|1L! ] k|-OgV R t{,3THk:eC*dNvLdH.36'K+Fnnrt,x`;|pʉ>^tlb|af#hn-'-R*x7w6 tp~E&7** #M̠홪tRuBsda,fmh#zfyVXZy~{!%} ݙpҽ)tihe"&$v tC/48Zǜ"X 0{6r>nfl+oi8h@`36Luh 3SFn%VoHmC6\MkƘf&H6/-cIۃGmZ=v>(Y(rǶ.M$Pzjnn5oV;0t4 O_R1MSuPy睺/,5isI-oZ&" t+cwDNY ?T;͘-/+/Fr_HgƉ]6 57Da=W::c>-:Hw)+)$1YaQ.\ڴC[O~O9ݩi8ޤ|\ƇH>/\ZK:H43-_uGcO5C1C]UG"8wOρ~&%Bے\oU11-&keRة54f`3-MXɤmcw ^ɷvd|͹}ha_hd+Gu%uқ ; lON*&Ssocc ";#sU:<YIO%L b OV:$+]YGY x|o{pcx3)kc IvnY; /?dR8Y.֑\|U$ql_![(^cy#gW +rAnh4@&2L$8~}Ϳ NzUf pa~^GIGDCawR,mcx-D d/Uؒ$/5tpU! t^xwh-jl#>1Q) [)ܨ'+Ow2%g4"pI8]4H4p{I,i.&٩,,H5l^XsF"ͺo{X0؈Xg>*AJKa7PҍM/{GPӧ8]%̞PgIγ솄",'ؙOSecJ0݆c/\,a\`e> .Rsj|Pzȹv$}Y3y#'˴>8Q>Ӏ[$}\ol%1S(N!\5q,##]?3,~+y?oћb& +X@VLX6u3 9m*.l6osqz / T{^J[W7jONH'RV% UOl k!bnӵo.ua/Zs3DX%`jwlfS2XPm{Mx :žX%[7d Q~v=ϠU5dﬖTOutMڽc@g^C}Uw\[:3ؖ{ (^ Ht31I"QPH:T .8*% OY҄ cm81g~1EzGwYXN==9OEu0y1`.86 @M{ )79n\:Ff.yC!5Ǎwc@0έp W$ԖN/_gNPIЅJ*VR =DTޖB]zzL 3aF`mo`%nk!XR^l=ZyA}@_>BЎTVP18yA"A wC߀tAE3_ ԭ@+ 9PMkd-rnKl)t2$D^<1^Î$fUϥK ZEVhYw]FJc:AvT/67Q#z+A&V*1 w]XAS>?{re`*Of<j\]c8a~G78"U3⍶cg;7#AЭ^!,LzL҂>JJVhzL;]9E9iQ}5ja^=n>H",r|\HB?Z裺hpk-F0ʐ:xڀjut.=@tJ$vuVZ8NA$e]_ޓPT!Is|2frQZM*JGaCukl[-]^HzJsgy`hIbjDGȉ(% K}>eQ_lۖb^J*s_NutU`L^W7S||zJNuFgv^kYGY!aն!,]R иXHr]AJE*t_&>?b3)ýN5^S^ -K[Upހ+& Vn>ޯ^2rv<ш!YFs$A57b`EW`]kaRH0'wDCՙ*i@&$ &@ ' FV]>{FvOK" S2zyųR9LX0#|?޳*u-eY"ޤ9v\*rÏbLa6+Zx YlS_G,_ y_<\ʴЉ DrO*{m UX7H'ő6E-hyʾGuGU 1Qw1jaerAL*;d$~ !LO*r>Ӵ;臟H64a8{eh%C߹hjD3h-pXWT3e6$:GONK] rRYtCJvc{~R?qPaiER5Ba91gs"~u&INj6 Ikc;͉ <&w`{Ūirex u= 7ǧ8>O?u ڢLi?ӯH^RM qlm?m9||j1=x>Ҿ*C̩vI=Rl aa8}NAPi]>T DXʎĠcf._hfBc|{lo@*[DZQZڝm1bitMIa|z-.ufONHJJٓ+"nr}!="Qï K:" M4~:%WK5΅8pڐQL/w[qZn\P^A1m psk3(;Hl [۴^5MI%kq]p (tEj]s4|.s q/_׋[tJK#7%# {<\;KMb5$63n%hЈR߆"e%DZkVK_wm-rk@ EnT:o }<:{sv3~V֦Q=xYgi߹M N!.پ7%IP\i De No2WopDVufp"$nV"JA ٖiub0C[ 7N&f9x2_D kKluܙ`%< w@d)JHcZ,~cf }Y$c5spm(\]'iD8F ˹( bmmᾰ-DBYžMuS%m3K/sbLY-ɗkώ5mfX P%045SHOq{8 qX8 ݛtsrXXקj'ܳh0PZ1| yDz=̆ ? >mL~mP9d̀}͡BG .:pH<6+;nu+2,Z6JP;3.qkC!W{fVz I^YbM%;Iq2vEsOfq4aJMZkI:QV<=HYm?ܢ,x˛D[fP_>"jo)$H+Niʋ!$-Bn412?|e&E$p½{W%Tn[has{C媍 dmq և2 ZITE֏1ם_jٴfL̼HyYt~ޗ њp^0{/eМ+qZk8Nc{+6~Azg 4qgd{vΖ%>K"s cl@n֤o1t'jjJkMĤ } (*t&@d/-ΐJ Ȗ#qt?,6FWH_ONQ9ҳ&1xeo|H5ȐUai 1|s ݽ=EC"k\) KiBVu+QcoC@<`a㧺Q]Q$જYUG?Oy8q; $aEs@&^Pp=f(Oa&c,>Y+6ت;HՅgtl 6iLJpptW1M>k P[6vl{z,(U¬|e>~fl|͍XԽ!4Im}2K9ŬQ z#HmF&g:*`wC^^^L[̍\g}2Z-J_O!~[})E⥦Z7nL7Cv7QI up"ra!ȣ9}'-5u Z xxSg~â\6;e6jHY977IQ8WgF?erM^r0~ah< L߁&/׬^ 4 \D'߉}|&@bX^0Eȑ jefHU%~;zWa_ӈ~fS>6sk,g$#?KUyd| 5J8ez.UQQ8!\qS<¯ '6OK]NW xWD2u1 SzAbTL2g>!*\%my}pVMy MC&"KSQ׫dw/xgx ̮PԦ;kcI)ijBZ9\#̣+9i' DH[*OGLlREMo"e$L򶌛f`PRJHPD $)s#Q԰ [ʣ08A 4Zއ_[:50c*|dx8\[nȩI*箠];÷P\.St(=wLSM`|wA|v"хO&1h# `ۯaxa)kaA'Nj;a\U#jwCFϭ`^Pq;.'3%uB`Bb@w23?~l׍U҅: +["Rq`51q^2,X<9yJftBLaoDMx'h=|u^;^{@Kq+tOz"4qm_!LҶio?SZ| 8J5W]P1TM 9=+yt+* *GY˯/> 1NߔV[ҵU *U⹏/(:Ȝs)R{'*E󑊫 yП(>H-aSE47 ưD8K,xsP-#5j畘Tvׯ1xե뉊qWt`fRL'?\F]mԢ,+ akXoۃ S0-buqr h5̂ [ovUtn\"_m#TMj:/zRD=T'^Gi<-NPL.?'<˞>=phkÏ8V83ylުSXJP=Y[f&Rw/1=Ж·VS*0 aX$rNyT/Ô% aM2Li~G*0Bq@A+]'|"MsC%AT}qR{ ͷzdH=u*Ӊ_;H)f-;g )~͂iE[]ll ]&TIk\xe7"Y}S_ /xjdaB%S(4L|C-Lʈ`=(9v=SH>ٜLU؁.(߂6Sc$%K ȡYr5lEڽFIR*f.WwפUƟ f1r#ϊfez@w. R)sOuI(.ENڑVpTˀU:IO` Gr%S*}De^ TWFT*mI*#Mܬ Om8n卶n^N_Ġΰ]zƟX t^Qx K_=[ BCxeqMG)'4)ߛ61^)=kfOG DO<~{ba*-JWEC^@>68 c*o˟.`jD\k_by;o9WICdstݥ=QΩ;LטL %66>VZp |pO)屻znCU_< FE,=\ݿ#PڿQFr j;X<7S$u-b*J%j,`. +, 8;aͱ@-e1#£9.ՑƔ{8h^싿dCE AXKB{][HN}q&el:9QC"3ŸQSbɆR?̫:\`P!tļ\xkp%FITobr_h?ա#+~S6 zQTq|m0*lώ_c3҉++ 5S0?rߛ, +/n?(JnDnTEiPh)8m@(f9H)"K,e Ц`f:0oϥ'ܕWC =mw`fr;.{mʄ* cX,j8r'=qFҷ=A)KlvB w**W!pYСF=YlREBqIa}kgOq: XUVG\_$.ywTY rrEoHlNj+ߒSKցۥ^;<( yk)Y ^:z;Q{nKGh+0AS޼gIwq'_R2^@& a2~۴?bU'Em6S._1k pBKFW s5f>$sTDƧ/<>P[B M!՜A-nIUDv6]DIvVT&h6~,Ჸ5 35Dn8Zu3~%ceFuon3 -\Gٔrq9$HF>csͣL89\/wXpz>)*XFerᨁ30B2~f$~TXphp1P`yCP#Eu4ȫɻ]p?X|?r;aedgؿmxU0a/!;45w^ \eib>{ѧcf3Ж/寁+׷`&BE7e";Y㼬K;(ymG[ `ѽj5Pgh:ŏ.ri$MzT0gM9z6iِ -l಑@pI>AƘ+e6H6RZ@]ʘs6kius)6ߘ_ {7ey56r^y{Ac}ݜ~%uMWdFI=\ $<n:ڹp]Ka τnTK#d`Uë*tQY{5D>tq.s{AVWoI߄CKF#7qz~\$?$NFh֧4`m/rMحh*Cd9] ӛV dTzh'C]TYAo]wB:JN':Ep/c4[/ #ù)0,bZ95D9vP#E濯Bcd$8,HNG^eP*s8*PcVz\4A7ߏ^eJQ?FsaݮS˒c:l@@# wNӕ2ryDkA9ablML߀Kn}!)Xm^8(M6Ĕ9J ~mNRĂj5c:TѸ´q H.!28z 1|¦O#:"LY$h1DOmܥҠQ _u6sLx9Vo{t8Ge vFI*j,,Ye#h̰؊3׺l,9Wq5Aip6{'j5 {D vGϠHXi\wv`^;VϪLS.E/7z$pܽq2k9sl(&yw3Ǝ -54}Z tb1o680W/ !rMGmΠ_A٣|L Q^YUKO,[e25+&Ah a EQ ݀* 1|M(ײI)8\@x6̷gyWw#0Y\ZN%lrl+|i!*YGضVOV*2#"W^]f ޠ=wv,A7CozO!:mܶK"12o3H5ۿißUANZ-G^G{ZJ{a\(O?;>(Q ,UzPEqw^jD$ WcM7v'#[EdQ˿}er-@cvRq}H}[1#"E` #_vf\ 8 B 2L[[t+4-W:zzs?xBW BBl$V;%.Yɴ۴Sohd+гYu:DCe~wQXF)beU12zB9Fa1qA!RȔώfCLZ7T0eB@*-tA\D0޷d8*pՉ!貣Bܸl\JrY |f~g"ەfO56F?AjAINgT ч!O$ƖosaDA0yP2Ȝ4G PF+?H!HjיEߌ6,Z~٩1iCڰ qchjQ2 ٵ 4婸; o~ԌsHOsB25ѵ#촛drAp!h"Ԩq铤/U i $ezRXl]vH5[[ܜʜd@j44P4CTnǝY-d"BH-ǢIPA.7idtSm!OQk^SPz* F9*ez`x"4-fo|̅}XTb TQP`rf=rʽfM bAd|6igXNQ =Vd^CK/؅t>k~ I0fK@̟$T9ȃ"I:;tVG6D^u%{%"X;9}?м˼v0ϥs޲L8V v]VYqG}l16=Ge:p"}lSj4:V!>͔SNinۃi5*a3+Bv@OBLqu FV𔵘gU1Je ;L.Br̹/r_;[1Wa޽=e7(rb2^ŕ_R."M&~"r\ |\_z?g 6aRd0e E[b(oxT?~ncV/Eeiyʶr]ͱ$.~P(v'$-^/~.{]hP]G51:_vSBPAA )z?Z C5M 3[< VO8B6==='` Ēcib`)RȏUX `ejO YPxWedދ a9ĪLFˠi 㷏p WسoQu2\|`Nj%`N΋2pԽ0YԼpӭAB*5-\{%&CY[6ƷEmվʬOC8X  R{pZItWN9+MXϽ8p'.ڐ$#@$K{3}JU %щ6KhR7쉮2E*ZNWZaHROhglfoWN<}+Boՙf񅰓|&~ !\"o1.qls}̙hS|TWXco55h-!+naeԉD z*>9˗7j`ҒXwܾbڭ=!5 N-`ҥ$P13h@ZE<0n`&[v?ي#hjj}hwՏ4Ѽe[0}ύL}ϡ#tN(/<~Sc4 -wn!!#4"GL"@L|Zb aD|2Og;})\'&0>Ǜ̇D&ˡɋnYi o.H?3]`coꫭ6^֢M+,G7AF3# &R K/@ƭȘ: `i2%]XґP%$"qZڿB#m ֍N Şx.堌a4$p-w=. ,. /0Z0ɧ[)|NIz3ʚ,zeVEH˄iN+'LJd]'ՠoM="Lz_PD_|4w !N"2 hڨWSr?8<,\$X%;@A;cYZ̯aXL5I_aNOZS^TVq`0gm3nj ݜ XXߨpe@i"0M^wx|]π1פ /XoݴҝĚ Ai|yN,WyuDٚk_*GT)~=i\uZ+U7h v3%("7y7SR;gZt)f% 3P NuV'ߺWQ  SNES9uoCJU;.2*=+bɻQ(=_0j`͗S#(R5.Z/r4;@JTit i@շuFbi;\7$$"vXt 2p0(!n-*VPD3A)2ȭy;jYsNn|pw xdHHd|+T=5՛RbU:3Nk59NU&;GEGz\Y%U7ȭQ3q77*O'O"}՘߁c~'\eه$%C]'-ꔛ|cۀNi3qꈦΦDf,VnO.z'C6FH2bvw"ouEQ=Ժ 9&{].T"]-Y#ȵ:^?#ƓXrgCnA;40\t[ӶtEsBZMmM?%!^ciOeQ[*7+]6˖Gɜ7܅!͟**`*J !G+tI Fkz Zh^w,yOɽ!ĉ< X|]K*pa:@{w&nWR[P#O,1@>)c{jJ 3`JfHO>'hbG,&C-t+ߦ`3(k0v. WKq^"D'J2D򷊩ƉG"S#\&{ZѡP3D"f7*}h.e3.gx¾+ݜKF琢mV;qHpPRjuup?)FՉ#bqCf@zwFU7wN⹕#6n/ͷMB66>(pI|j}Sev6r4h~ZRCpYl!1*įiֱ\W_byሔ|$tl aˆzTA3n]1\*`ʰh8 dԚWJ4Z B3pW?rzDƸY('|.ZaJlW9TD0M18ȒwyUX\[ VSf]2 $ CT"ꋞ"Z Lngq :ܼo!ʧpG(eNSƠFSD/WxdCC*&9k4.Н w!Ҳ"=a7&=Cu344@܉JWh^&E,B]d!k/3Y8c:|H١p!1|ca"Fzx3uX8(8G]`(I>*A~{ے~ /[ͭC:cZylR,`ԺȎyֵ9'Q[}e{nQ:zdRNzTK_ vjjߋsĞÑ66Ә/AGU^u7,9YYtnAp@G`20S=Sf8'c9fc|5Ե9٭7D=ux̧#lkbRɲ~YAg~v$IeܒE!V>41/,DU&!" # Z( ty/"8VGf́NI^ '- qnH,B 8m I'tcڕz{wӺ~?-I7p ؘ҇~hMsqN0sG^4ǹKĦc%B׫Dӣ,AH}U2:_kJ`4m2|Oy/b&WԦb*c!4ᥔa2rBjCn*)+?1Z꛻'YXT!^Cw6D^"jخVG |[aZy:{a_aa`ذg~iCa`}O& >cx-Ybթ`{^hÖ.wW1M-$K4YK& c[)` 3Б nftX2C~ 5wa緞͇9H0\e+!D /?bd)7zX&U ˮDp͟,\,pSgM!Mp5G# IMXZbNu?,LcVXSJ, Y;p:D=b?,T2j\]VĪksJupAEg 5:S J<Dէ.nwUˎi|lG=-aCW{=21?; X*5;q1 VȯRKdFdH}==j$xS$_ԯpl q'oI~+`'9G罩UV)NuHRx6ɸ԰O|=|@du2VUo.O?Þ7Bn1i< h C/Mt[-P- Y2S ؜nG$YE1IBn kFWDP=%Ȏ'Zdw&}"9:긆9К0|eO/4_kܱa[ DJJNӠ &hO)1jKƷUKn#a; [ST"t0꯽%/!OH9 =j(f!~W=B՘ !C~ a'=Xu_|MQ y8/ n'!00nv6;a I'F ׋pV1gQӎoGDtSwBA|*f""U~0W w"X\ g@GLaR,3)M6茁?T ůQTtc8rS**9? WuՏdAgpȩ t$T_YnSWo c$|I *1kL}Ro),|s !R:U[k:#2{4f]/wyŏT~%3 w?ϙwZ)$4L O{. #LU+G!'3{FM1$d2 *E@ʞ.՟q}1m(wJ[>1tM1+&_=.% 6MQn5#촇LJ@}:S y-sMZޫJ'&|W DTb<6Y[)?cHe($5VujTǞ@н5}ӌ_-W ـNy20Q WKo'#U'P9 S&1b /X\|e.uCs6VS'FH&!CsVh%lgUV"#i#D?( uhk^1Zբ:Y FҷՔ0h){8ZBG$(_Jo Jc? =‘#r%N&ʤi/5}g0evbHp(#&7e9dC%lL%}m(]Rmpy⊠>h'a^prj}EVxog9` Ì2W&o wZu~$IL Hm^ *V}_c%XՌ صR*qN}%tleVojF @ 'UK9-cڃ7 o^҂4Z4YίSu5>rT}T^7Ea'֘ȁl<񺪠 ;Wy)v ltwIA1C醻BM|F7`A>#,Оuc)l벳8dJmOr_H^&HI6bD1ɏs2GX(9V1AٯG)U)>Ů6H۾<]#U]KDWmxH?]ݺP oWpi#K >CJ^1*@IN^։`2A&nB"k)bť3c>a)Ӥ#tڐEKɑWZ-ͨ.p g(7Y?'qD("uqF(|%/9-pm4?d1Ih/񛗴-V4Yi+N& p4›]$ơ[tp1M qb^Al6Wc.#`ۤ*V?RFi]LSOKqN ,JfRQd{gљQ@ lh;wyߢ LwDrFhVP /λ댐ow2$Ƀoݬvgif9@0Yz]gȳ3!&5Jw\ȎjJ@ ޼KKA⛖ oj(e-^Jgw@zܳL#tp tzҺ21]4:<_S:n"]p?x-),}`w)ub+0Ѐ#"(aTrx7(g 2&a,(]ģC.:B=']K ֊xTѵrm_E֣Q!9⫰;Cgf( ibnduKH>_r/@7y19]n@۰QZNՇv CkԩEj2+kۦ-GRGVz~.Z(dI6#&^zȅ|N@{Dw~to`%"C8δ(^1 ˪Z6Ⴔn͊8AzkQmRN/5TJ"LoZN /Qq2ح6!/ƈRfUz{g>!dqmo)<&_ZQUl n oX &f->9OL,c%V\6"ZO Xx\+7 *8J΁ ʩ"lmXM q#M?cX˫Gݳ(Ss9\iݻp7^6/cz|zh60w,q3}Qf*o]tdoMBqBkjfzݙAξ"}-_΁E]xazvd+ʪ$Lkk9LY1vB.[FMq |xaݒݧjΨζW%yqx$^2"vj M{677588}7;6Q캦4+Jíe(.9^ĩ2gmּmqU!Pw2#gO_eǸE,oM@:PMӧM TpkuL,3tv}&GQXT!(ƿi`0Zu;>hGC3hKP^3!aIb?ԼOզy"uYeP+%2>'r׾XUUV8!-Q,h$Į/&Gw-Jҭ섏˞*‰U`aM ]q/6rOrbi}e%+9p'K)0*n9Aqؿ3m˲tAn,1RR#W .qhvA)E _5hiu>؈ag(lQR_uk |kw˺`59V9V)AR=`OڠEݮwŽf`VItKqĔg#q/_ـ~@Ih0k[ΙEk15s㼒Y 7VA{byKmM}p&X ?iKnȟ/&ֳ/pϗz +_wCCAf%+-j̬Qυ%D®Y '?60-O."v([V#IBX ?Z= 1[V7qHs4ú"@{텊{jyw6=>K޽`a"mipZf~hHp'AY0FΑ賉ߚO߰-7\bo~bhzC'\k1\\OD&a\;_CwP:yz!9j f~w,k"m rL!#%tPt5B9jB:J "Rݓ Iy8uy7_(J%w~=vf4OzM?rNK\B"_v,LxyY ٸJC$D6HKRo#61)f8#NaδOTdD!ixpAMioi۶9S A-MJ*< &PjU` ;c*qi;R)K_0e.ԏgeD]}iU!W=#Y\! F@vb]I{dϽaطcMe0>o]#j:.4yKly+֕8yFD "s2q_ϭr`#Plws|/5Pf4&2f,w4_Au‡Dk;+g\>Y$?6\Z&O875b~mފԶAЦ}"{ҕM%uʵTo~1?WCPCtbYA"w.v$*/šjʯbDzd*e@E"ؘIE@3n\WW/[ݥLP*x'pɫǻxk8+T0MX]) .,/"zk,ڋHy0k!F}RA sV{%\P;~;ݱ4*_p]&KFҡRşAHղھi&܅/I0ݦg2:D,D2.qWg 5Qx竌]T p)_P`8xFqJtP+S)`KJ/nMys9"J) z`z3R7}EĢz<엲f(fkXZ4ZC1tz+O'>D}M2%Aߤ4*B\5vP:gu #=Λ2%%XdijX=25B"- ,}$gsB|w~k$]}G@/(󚄔}Pˇ,O+uBjV(M:?kQZF4WNJVXYv)en9uM)~Ah#OJئN" :-M:g*G}xY~& ܬ4ŎS& X?߮ gUq=#P%GL7_\p9c\a!_2zW<44ʹoh@MLPꞗ%ZIqd4';zuY3P|:T!\ rk]#4A~uҥ+֏0*Nnn[wiݝ|Lo5htrvNCHWb|.zCЃT QĄ+2RCR)X-b޷ xtoԾt@N^Eq t].A[kc pdi/fwDNؑg. C1;*-Cly;=0lOgwJ͍ԧ x@B-za%ޘfDjر7F w/"6}^qr(7~yO.vX*IFÆg;.}_wMlw0yA]I0]M)*|Ja/esɢz+# ѵҏǑlHJD_i)xAES7 Yѓ#P?<>%8;5r uKsWllpPߞG,ٱ4 4E !4s!8Yj.#l܆R-+W#(V^Xgџ"*7X`NP8`uB$Tun^eQE:n.$6KIx1iINj)W+:p}[!y6}/+ .ܛƧLR S  M)#LD$?Q 8:o q[-L6iJv>Q}Z^ySbNt0NT5 :IuSf*eqKG[f嵋Á$p'jD۝/~0,55 T KvhiZ8$>7W; b~^ $xSϯ[*x <\Gع;Y<9{XʒZfSkCWds[^N;`S$̞ kb)^,iXb,1 'ùޟxmp'aڨ3 `{kn̹LSX4wJ )Q\Ar-jh~;| ErAD"Eh7JTTBbJ t/rX㠹Wl2q]_;W֧ c?wԟ,co18)d-`ܿ"o5kU "o]Wg$@nXʸ)-m 8UR^X%nW1ZtU3^l* =9_PmF8sjCп(=+M =iGDJ:4)j ["X/H(la/(R_eΑϛN{>T7KtkI,qL_[1kep81Nn2JFJD9 LbA~ ƃ'ٻpzNDz3ӦTrdn?WƁ> h81[غp9OD.0}:ݰ[,{ss(0t%m\8CjqS-se .Pcy5- 9oƹB8}94SӨ-e ZlZe8/V^Dϲ)lYlhliH#HvwoZLO pW҄2:Ž`QB #: s&I7Ajײ3di)H7N?// z.;{=Ŀso'3:Hc^\9f 0"_  6C6\iQe UD$w;x)"&0Tmtnv ðSt'<`qG0't9@ȕtw6xCx\nJ8rHLtW%t]d; V7Vt1Fs7v2~u4 pͩxX+~g?!>XM}_6 /MzzYM> rf2@n٠!j6`H`{ƅM[zgwiȫ" hrr"D e:7!HmoK?Wbxif^Bk@ [ 5i@Ų\`X4':<(ٍO^9"mT0rJ] Tڠh?xN]^g+65pդ ]w֖o#vAxԒKU?_˸8lcPW%-cсykn~2kfc.3jV;7z;p&z"xzhŠ.=>GFfi 4+mS]@i^,K٘'$N)gIngWFd/vȵE23 |􉤟pn'ٕ=eqZZ=w`a:Tv&K&8NB]zkG%㒱a֑;?PqurZJEd<"8ARЂFF*)9xd}q Cj_^:ŐGsɴOۮ NIŠr`}it,,h"SfyhՐq ^_1̏)>Z#3:=VV '7ey⽍1 Rާ)J(>7=C'pLc8T_vX쳗CUCA]NN;%K,]f=RDI96~2k.ctvĄY[ m%suV0NooOX(Y-c.Jo. $iHօJ`tk 贂H1xC0үXc <&* 57 ]|lPy+|[,N)Ql:U۵6$: vƃx.sO^ʊ*Qabacހ..#Qb@>e([[a[` ݹvb %E4 i1[3Y* O:TncI \z&[ls Ţ"}Brd%{AHmn -L2_go\+#¢8{sf/3Nt]H 8l=Z R+bNJKuSgoA1\-^N^EG9RCWy+Pf]a }clfSȎn".}Y\D&nWV> U fȕcD}!99Iŵo㎼o"eFIN~e#+'B8m=~MY'w;:1t{ `)ѕq>qbt噚4\k|IDu> =P#|(!26lObuB-+XY=mfӊ`lLfQZp>>}|>D\ATHpv!.vhC}b wlG#3UhXl6S^ZZ?+1}P d+PSOdwLcX rz4F"y3}!)PDŽ'Ny}#WKMEʓ<3+?w+.FRVGr |m{wh_t:{PiK*Ed9' gE=;_ je:Ŋum1c9;@:%'n,3+ӪNz4xwdσit]]B{ST";-By\p Mw$jMpZ҅L»HA2ϥ ŠqK/2=uy9g7O(c/\fV γHY 8ʆ>  zԅ S阡(G•P2zM ~ONIe+oZeDU<H ĕV -8&8߶;*Oθ5–1qkP1ɽQb%,^DEyN ֥V7r\jdx01 oDs@zx6{R̹ G j$6*kTߩwrքS.\6Iul$`9Rؾp~FxrK\ݫibGƋϔvVly(&6JtAyh S3%,WBu3"_8 p ol"=ʉM%H[n,WN}$t6+`"\#.VfR7`BQ\mN57qBg*oIj=*vKF(VLV< F=+A[8Gc&:31YB ()pD"!KDNmۑuvNw=\⽷&dKN?^+1q>F3P&!.GA97}9kYeFԡC('gWFR0j-eSnXѼUIbLUN3d И&?6^eQl a ݢGYTb CSwآop9igVy7ǷzFd[71 c.'wq `!ѵ%q 2a`/?&j ;wV>\V-}Z:qq2dHzJވ+˲_ܥxiz/+xZ`_sz#OlyEL0G+lH̨͎)>LF-q™JZuAm0*.X^۲YOL]&S4,8>ȐLC{"bc"ܢ-42$!S~%*VJL!"^0[F=yJ?d-GQz m@yMgb a9=b?5|rIQw0Q/RNBj<U{U9xv6w_tV|g *{[YdYRg&,Ct ˝ m8Jucux}Fruf9j"@F+qLl2;ؼ ] rx^%:R\|!S\rvw3.ߺ4fK|IV 2TK_9ZYhQ^"ҥTeO3UN("{¦븵MF2Խd@8K׭c~UT&Fg!PzS6yb'=k?94A.g>ʪh"DTpZE"O]c4o{.h@<6ndi8ݴЎAj\f:avO J5dOS#ګaqyBV}XGWu)KVX^]z栔> ˥ _JҕZ^z^Twܲu΂n!aќ(Kw`4+j-&y O؇5L= 'Bfw]{PƬ>[;v9_t),zNzwm=!~cNHVYꢌDxЗ;xz֜2M`$ӾT%`lx%hEU ş>C&-l)}; ƓEMʵ&/kKhj4>5WH\!L9aWWshXeϓQ<. f#2"1]ѯS%.0;FZNf/z $;`xW/XFM:LExٔ}U=l쎔?K d2JЕ.M`Z}mH|1U[jAr{-蔥:|~AG!=D.L:l#8 Ԑ^.XP JgR^ d؊ ՙ[؇^ )fKC^%S@?囚44Zt*z4Q\2iQGfy* \ŁxTb5!9HW+jY eM~CDe}ԒdѴ(Z7|Kȋ^巖vfۓ8暈yDoc姙h^QL='嚊svlg tR @dS3cIy _XeZ7*[LǓ%d_h`'KDz>;U/OO,7d}h%#_rqoh*k;$kjKJߌ=Z4+9#Qtĵ]}QT6$B>ִz*fuSOpǿ)p=`8/U,f#+w[bM X͠^XVu pJN^L"@)5Cx3cs6o n:$M QZ>f cF'U1ڒ a8^:!,b!MI7^_udNB ?jeW.S[tʙJiAb2K 8eF$E 6}65V9T器v?SmD'EY:;r-!@̅aAɰi=OvMCqv _v ~A@Nʉ?"XUݢܧkQM=%JC#6Gb"W>Bkx눻P =$S}F@6p:tXE(Jy`Gn2N%\Ō(wY4+SUDZ֙N<֔ )AQ3~q=#`U.p5׷wvVyp%wZd.ٞ% =Z*> "[9|t6vLdF{nNɫdɘPusg5= ;K ! jI8\'{ؒ/.LZ57P_x-1.RkjQ:"PoxXT/d͒lO E3;с__mch4*O%c1>dC[JǤuӶܜx7]ً@h'JXo<>Cuwa`y^y7tE;fUU귒//toՃ%:_"sH4]zb='j+j :ls]chg Yzi!f[kvxMJ[ő[JXe,|sKҬQSrONrƯ)dd8n# IژS|ڗ(aAI]/ dFKU9tHb80b20 +Y֝"6=vo'!nY4Jm~ Q3l>_uwզ.'A&дFŜEmsj`+J}jMxtr 8>B4ڞ1(X2ǭ[}W vq۞/|PoִIn9Z" Y`3%%b_L8YɌ\V'WNp,yR`džyϳ-c2DT S)7G}q$?WzW`6.\ iA$_J|{]}C AF=I=0qsD/0 DDs M;)?CǮ2wi?xt~0-i,|:눇GOǓZ^L eTDُɷEX&ҏ@7"֧]#9୶-F@j|Ƽ +‡fY`&|Pk=#xsH`ةBPŜUQE/Gzatv&5;%BqL$?Rp)V,+ A5x4կ<~ΰdmU/?t LHpZA[st!\i,yDF._Gfiq Dp$Jw)i~3bQN&POY3mhGJ%HÖoF:>:SUV+dMC$ao9nwZ2Fیgӄ$6{%RC!nV*C Dt>B6r@I"*Uy0џ5(Y$R 6_[." FäQ̍{Yzɪ Ѐ@&7Y.w]o^辩`G&G,G tW  ʋ5Oeu5}rԁJ f׋MR_Sqwi7zAR!Q¢ǩ+~$JlgG'V=ELT'R&`vm"i;r.(1#:2u_ ?izDB|}ܗY|NЀJkysl5+HyGR$0q H̷..+bhjY &UErfc9r# u::pa͹m H#!~ϛT>->ђ4]x{>jTm"AvtЌͷo8y<8>%dsTpD}Mn/|'簮5`!RCgp%LlLҖf DRy" @^9 ,7sB-&nh4-C-Ron൞&_x$8ʥ ]x8:&2ˈ:ͷ *;sVZm߃~ IAwSN6݌ 52Akџf;Iq6_kt,8 GLu]i'S'Yyd4fmSÉ`&au YV!_ "zFˠ:?Av-#MVh%|uKVJvovO'm5?ǑӤBhchXq1i4RdSN(aw.[ㆂ@GQVKٹuE67ڻzN5Uc\k!(.E.pKu6*Mh|tΤ`:s x{|ń_AQABt]q6gca Y fXKn {mi(|VгJ\V&oԃ/8rrJof ƮVڿ*H[- ؕ'Sw>3|+DƗ=d b֟6l:EOBV5uϔό qk!%cδJjw>T-Vl0ə*{3K~2M-|ᱏ-~ ev/wnxwn@G鏆7wP5 4Lx_• !&ƮM*POF㠻G]([lOJ-Շ;nVT=8 `rG#7ȅ `Yr_B6јCqϳh8rt2VWqR -__4˄N c"^p]̬a ݽ89^]z z'Α ۇaue3j(xt_ocJXn.> G1t%^)V>Ӫ81xX(.xJJ".V14"ޡF 過 `gR%>%@96wχ V`?v߻1w3>.sYHc61|Pp}HmbYu |̬j'>mzv/ ΰ~cŒceRt]aJ튂W@Ĕ%%`Lމ[rx}|q31hF)7/:"n/s$ ¾V F"i0SlYYhH61+%%Q ӐX}*&g=ZBي[X%ѹq1Gm-}x?/ xeYS(39ڰ^S`#$hԷedɡd\+k݋cQ,~*dG]ՔKֲNipg]>J *o-NQc}\3CS f'|VF`߽GA% в<| Ih3?jT7_+u%Go,_x~M@}I`bl $4/]2.|(96rǼ~R.jt8δm@@Jd8xatjiH$0]|@6̓W%7Uk'HE,sbͺݻ`@wNH)ú J +E [8bP<Uub4.7&@7fNO ͩiGf[_e{;=y{W8U/ 6I;<o{ݞpob= ݌)V8W>osl%ZTL':A`ڎEp5h錅iݸ|RN.r/ #'j?TF<3;_Pѕ~*kG^ rxf_!7q#n#\ 9|[]q߈"4nxn 2CzT*FLke7m0@y㨡c[&f{3cIj_U<8OfJI[Cv!O6JNVdMi7_9~XprցǀC>_Q#ȥ X}-\`]#va5#!A;?3eit<sgLSiHT.@>vηI |aܚVy|0{~>ݼo˵X9(2oB--)3 !7-{WqMdsAy-x(hSp艃7"q:~4B̕G]"]U}py~iIsvM)K~ ĭ JF-=TlL qTj#iR(|:C.e VMtq ZE!q?SۨCXuav$'Y%#lH&pUaFB ck n&yhI52[9:Uɓ=X7p*c1둡Af%;JG:Lł cwY,qN镢BaAו0QIw 7`2xY"3>CYn@ZaW ퟯ I̊ cj>ZwcbB12EC1FEi Bj H'[0^|LOnь).gQ(9!1@F|]" NXW^ uj GoZxcߧɭ+wj$)U$ߨ (l2PR񰡷]9zƤ5xo &1蘘DϳfaZ/πH_<9ZK0Tf*o8-RwP߷3D8f*9͝܆%DKwl+АpLl$"CTKC4$b&|M {f^_}咳e࠱i_ ~ (* r}GVLRB< 0<4 h4hzkڳ${{EvlU4}/-uč{wQ~at\ͺ]U_#Eݫi5& QҽK/E\<+7_|BlЖxkD '{dZUu UNsR]bdYHw|7}m4 Q\HigxiFQS Ffª|=V1]l݁MTYj4]j mn/5_EG˱S̹ʠ ǗI2$rR4/$*9T-Cts~$~z|s:@<ީת1ـ%ͩ3wZO䜗N#XCh`wA֫Wĸkb2ҽØȽ۰ie325<7؂S)D:c"24Gnee$CWr6o;)hADЏ?#V}}䒯r3A?kj sv@queM!YϷ{CȰ1(]D1nU0ԫ( ǙXW%MjW:컍/,-8 =j8 SEᣪR4l3Ƴ9àglVu(}[Lv}HXjÙErGtP#@::_̣fpg|-Cq2V`5cCRrr<,†1cٟg}z&s 0?G6rh7+2T"P.x[Egn`JYT>޽P#i[W#nz+u )X=6d:MTĞC!ͼ怔g񳸢ӝɭ3&\05+>!9_toQGry*z={**ϡ?khQ*_w~Zǡ=)m6.diGΘvGT$2!xiI 'PB]-O2Jf둳HrMY.gێXGƙLV>e/ɮvShw̮MBnHO{d?\ 7jQC)4ʧ}j%$F$|`Yx\ό߮<EL&X ZZŠtnWD$a;BW8HNP⦑=;aǂ-&8 J Y/HtN>PVl4UnA6{i C;P%=<|{07Ul̦r&&Yb.ߋiN-7@?,Qe6yjʃaՁ% ~914OÞ^ZG ͹/6V9'=N xsFbxc'eŪD|y/Eٮ I}x >I֮f)c8n3O&hAJؓv/(Y}ᔩ\fa͡^ ےE1gLKXv1`#GFҜ\ƒ&\P}i۰uN߉-wof((IP$F[ꉆڏ< MGA7/or1>龏U?lA{F1o6Mk;i|VBk4:URRj׹lN]&"Q`E ʜ8"_D{};?rT9զJd{߃FAu]Xhof2RJi=eDku&9[nH)|޻r\-'ДIK4iKwcKUT>%"m=}zo5RS vTBvfLe;eS*6.# -!E+H7rnzsS Aj6&9GzӀ,ɬae5* "/LQ 21e$z ka3z2 gkQo=d }oh&{>M^O[}>Ȃk,i\{УPR`_Ib vrQʨDW 4ʢ?;P-iC'a c3C -"\|rt!3Ba@s{hdlrÄijfɟߤeg E۷ǒ!V{,c *5H{P\~aUw_,`$IA"Ȥ;f(rx b2|MP_T9g>Nؿ`>cFtBZ@ë5?Z52wE.Y[AkOaˢ$QF+qtcVwh5Hui^vMS%%ݩ?Ik #IJ76QKT r-}v2kpq0 mDLГ~㿧F'PkF5':[|֯ u~ |YWOV' x|n0:x"5#4b*e$1X$F&?T\s.ԢcZLG/ޮת3p7%ʇclvk!qQ` WE>o&P>`,{((s=M'C<؄sN"+aL˯=&bpTYeNq@u!J\ Gaݝڬmfі0$7T60q | r'w!4u{V[Yq7WNfxƀ ꋆXiѫe??HS 1C`"mK ѫ U_gP%pbuj*+UDU)`f ǕYwG뎳{S 8 Pm8 Jp/ZHwYJ>(8o(T^9K 8n,\DEtwc\ϣ"r<6W~R(֬ウgF?[+ }Mn3-+CD(E?,0! sio;pf\z^!Ľi6$5>X⿱b1}ntD[RJU:yR&T`Z/ e8ގRiwٛݔv\V@kX@5*:k8Fqk-A@uBhJLu .1(w) }>6nе^ Κ`b,Eld%F@Al"k-`PC|M{fHWtT-[eC}Xn'W#[ 86JZ1Q-^?¯5Ei$$H_DZml.1Dmʭ, `Z0t19xர PCO^xYx8MX sH:Ci<%Nxp$!W|[Bb<~CmDn+gLZMo38s&VXF;6ms xlrZP @/+>?*t(qCW . uیa,. YDI,PIDM 8[F5Q!oD|;Cƚba gZG,{է阱.8׷1R! ŭ" BTʕ Oջ16wٛZ z-T0ݕgoᰚqK̶:cJ27KT`ҶL%b6k%vZ-V$1ǫ^ءԩ14V}NËI)-9foa fHJ}hM[xK ǽ5kĢ[c*=V(CF) l}rA^x)i8 Yn\ӻ`g@Q'M&]2RR^1 0x06%NGD0 @&Ph_8ϧ?5?oeվ92} ή{z.ﱤ7}Iy6wn쫇Kps!` e^Fd}rƜzpoIɎ=2׋ ʹIg1dAn-2 O{ަȭΏϥQhvH4&ݲoU}q^p_z6ޱUXNBv5W MZTy OeS MP#E?я7ݼ}AՀd2MbaQ1wYE);FnHMi:pLg;0vO6Ğϥ*8 NJ/`\2h@ E69S ћKn^}D^oQ L*gl2(H_Jqģ@zOPRwΒ/R>!FyBQrXjߦ~PL8knk&uoּi61 4$10y >+L6Gjt2fq۞ٲi|za~ Uw~n i6SpsO'@p-m'`Jf%{Qg 6 >Cˊ-&)=Ө:bPvd pc,g*"B:nK\ _Þ7֡إxj!LV.`5p&R(6ρk,$9 _|Sn!|Vڢ^^UQWd?mڹ$E 'OBFKҝ)6EuI-õpMxQ8.*_B>/Z7=!@|, kkp']^/c+q 8g%F2FDej*%\€1Zwtމu 3?qyL2>O@f0iAwۤNwh Jns1ڢᐑB;Y|se@aȋYAs>O[SW1:3'zO ag{i kpJEa}k0Ng@hX"'@^`@{p͑nosM_$pB(%Uא;sDY $^F 6DcGW.P Tфhqd8"pCef3ޱ 8-~RyaA6h'Sl;?Ja3YAgѰ/&&bڤwAPGY&`xGc(͏9*Qok~G hϓ%JT0O*@@5b8bR!CRs`„D}i#qg7ϗ^t=aOߖ'qFfa$\@MJJS޳[n8ـ0U $Db?}$L6*94PgLIP DwDrAm'ȸ˺XI˅FZ׈`Hw8[.bluAxsɗjqK*ا3:P$`"P7It9ʛwD 2t9u(sz 0[ N9~q{!.G Gdd,QO{.?حc?j ^:Zc:Bx'wA_ V'p@뜞WV][$j&cDsXEt7 )1Ad=;sN`Bީg 0P?ڜO;֯1Ztg{~D34]bScL[`=VUļGUלi,9MV,zPM6FUSPQ--UDldhaKs )*'BK|ˤ. n8v!7Gyy6Zb`z^iByvHzrPAOA, #:SUpLmQv%֊3ijלkeEb /~ KG֧_lZ@ZJ$5F5GثewGYv 핝ׅ0㥿5w+Z: ߃*Fʸaר[2IEl?O^#V i66 Y ;Ų,gzʗ3˓I[_U蔓w7j(B (KO*saRB34P?:89 z#5XH}R5#z0 $t 황4M Vb46l=ĬySz%´)&ҷQ  &mi)fQC 7^@KM'_4ꂇ E}H>C/_q+ƄڈF٬H/ ZBJiL6q)|xH Zb'YOcSN$J4d2}&ĩ dax8#kW>X"lL=E zOH _n&X:U @k%A#2\ eY4=>@I2(@%2-\:?]t裏U 8S,o5Ӄ'(b}ZYqvw{kx:K0SV}$%Z%=o!=)bY# {%;_c=?b~:5BhP!6Ku]oqBBMݞ/~g󍁪Ϋ`T4S^%:8Q-zw̾6[OD˯t ɋCH0qdO yO(6.d O1M˅1&rMA'D⬐;gI>B]=g6w衂_1 4r&/)+AVi'¨`%&{E?qŜ+VU#$ΫtMXm=bMwd#1QZ+}]iv5~jגx$vYa(0\e#тW7ED eCAjIqu\ͮi*y~YVE]1I֕`Q#(yC%yG԰=;_N߆=tه)mYzY] * 5GUi _K"apOqp&GZ+n:8\sO)&qȕ( 'aM3yob뻤\9go"{tJv6A:zo q7÷Owx03A'd~nh_ԕm-tQB>19;!,ݤnD{G}Bs1!jH 2CeEm>UP!҄Qap sekNg $IX3k &vkrRLݤ6@;N3Q Ou H^~}쨱"Uv6`A(C.7&3b%FZ͹Ĺ\$Q_>4IbvvJsIdfm} F)ЦW] OWn)۞j~U٫5 <p{&RlOvFm*5-o "hq9 {r0Ѳ1qP +5bS!2!<s3HE? s+L ZS$9pN(˳ dzij+-Ib@V{ y#kHYɆ&6zB%k*hq TCf!kPǁIW"6Dщݧ}(q6Q%͌R Į q'[;|0 1BfKXaC/p\uLv*0^jWVK{*63 Qw$/C~)KN JsSNuMw#W>$JuS , ]*IhH-xEC$'Ȭ`&#%&v-k'e뮑p(T8QA.Qێs4Y$ޤG\zi5A4J[ԟ+TнGV€1FB"thg)"ڮpzuAcON^:/㙟(vҜY:k#_J}.q64&\ }Աq.tDM8-v lm󅈿gJ}gjdA3B>pbFG\ 1l&>> _x4 ;˴@fb[xDmXޝp Ժ@)-_/ V70X4"sPrVi1H''K۵+[KK5/gky!3VxhۃDϱmS~4Zm?rNE`ƈ9J1A_wydqlF-t{H?[ya:SYLt+6.ܡĮEx:my ,QOAƼeKɘ 3ɳ ZD;oϸ?z]W}Za f c';L;j7 :s/n(_P8b1'V^UH'Ge+JҤ=HDݒ'Ve"2ցYA4H9mK$X ݣR.}7:/ZAmb,J5P2=Nիo犋@D+  98K72$fӽnV$͇ɍ|-%y%/qԬ EȨ1'o>E*lBU5  ~mѡO0*.d:mɞXOZ4Ao$+8 ݳM)X;gRݼ>@2 LTRb%L <ۏcx0:(JAd.`.T30#5<(]6}%`5[m4!%RpS˖nR4N Id!*?Tد&}t, oz+BweT7јz^g6\ kT,4Z s3r Zz 2*ylQbKF8u`c*qhGO~m!s`߿%qClR v^RmPN\Z(i2;pu,EskErJĥ^ * ms Cx/PWKky }5ӣrU 4O;K Ub@_O+@a'&V$^i(^t~)q{Tl]&܎k&7`L뫋X)`9)tna\oyt~ yn*+@lh!e܀-خ aqEUM`jkB"_I;8"=̼hK$[VwdMDɤ:Yhcc6ULj50Sj.ҷKPO p6!3dY$-ҕf0-K6Z$h}aLǏ&T-i?`Wb'M>هpkޞb7_k͋*5[]L"Z vV7Ptyv"$UDӬkBWYvGһ+-puu~6$`sK?2=S!&7FNmX,JsnfݦZe[~of30G qCՄrJǹDءeX.PX@4ixʄM(Wâ90jfʬ}qQ6 QDZJ@JoZgTG3-??L ոh2L3_sㅵ `J⯢Coom-dl/r}ȔHXgoHwC9\XRm 6(yVʲ(R46p"~ˉ`TT|.v3#_RwU_8CPu_(uL+c㬍.xnMM2^&CG&Q7 ,\ZtiWNʕ>Q#mm Խ\ETUt舋G_4/[԰V$Ix6/Am|GL#gbI{ ߦf{"id1#e߾4v~%H t2@7M`bZZ߶ ?҂N^0q x[zbcwwԕg$现"}xd_AZ&-ܽpP|Q_Ddb;5ǀv@QF*A})1lɛCMg}e1;"[]_@#tY>-rb.!niXMjO 伀✸d^V-tpY"dUW&`]ܝbݘ&,{`@=Ou|a' ɭIܷ\` ۧu?z]ͮÒsݥEcEpu&; @> 3 aր~޴ҚĦF>bL/)N(a5G)٫oZZ0LxIJCCsĆ z i0vMKx.pF᳏ipa;-G@Gnz#삮R)7Css=*\$C$p[%rIU }*/JbhE <`ҷb?*/]OG$V"=ؑ8dnKbrXkD$ڸO""m 5-IIfM;XD숥 nr[(aqܪEy/2%aLd*;5ױ(z {7U)z>h@M4"ӺE4:45lt.,OV[HUv`T3/$^7Fx^,]{rDKV#~ AmwFt$"9J\ZމC^轄d5hp6h y iř7cK s p0}1Ma#)5[lo:zT_ml>F&О82\yZB~D5j 2IIf xAr Ơ7~Wv=!]eI:PF84kGuC nN3o?mE'3ߤWM"W*yd'3(Š> ī1y2<A重OjԔ£&X0 ͵.WJP/"zy*O:~,y)TrDL5RIev6KIMX^g Ck̢wjʜsM?EkhnF$U3~yV(\tq1r Fp"Ku;\ɍ^A6%ˬ@#k?Mnh]7OLsh^d*'MWD٨V5iu w+92_ P <:G7”iV~a"^F:rn4& Y(' u2',,^ i~U!F0β,{oM{~K>کhyKIHB>;V籈";to^c!\> "x=&}pf[[98a5oߐ㕩 C@f b49v|:w5D Xq3)Wo.=Tt_,/8SMZ⎀;zMWݼcޥyzHj M949Xx_qЧTcnat>GL0P= 3'W^Q~\ Ao!3}LWF528.ϟ]s"Wlg:ek*!VM (˰Pyj߭4Rw=# [?$zOI]u>|j&j|.'ʖ<zˤL9 |CRx}k+1f;aaidKL}[W7]8gJfЮ*a(5lgΟL(H ZْsbWcW\;l?~n]nmS$T0d=*+Ω.@@nߟj ShD:^)3PVL HQktr #zN"*;;>%9C$ ԥ=' ޼1{g9ۂ-d1xNsShъe;SReC醜 J:Xў< -MͲ[naʈ<,S OsoVOvp/W\2$"!SsQ׏-)vt؁a" Xр=D4)iZ,x&z)\'=iv|Y~e p{(ܽ88} wGU b ^naĪX!10ϭ jQϦؽL>?Y]ЪϱPC9wZP]bÃ]Ҹ"6`el,'*Q袕o/Pl*Nb9znGS%?۫-_ƚL]{(r;6Jl=J? Y;^r]npJ&(d^I"'a#man1p@X#"7e_;hdd\owbqp;s3Ʈ_-^a'%D4cm"P~⧅db1h9꼮W&S0ERWOԶ$ '_ߎ™^KU.oۈ* 4%?HYvWO|./FȨ[ҟ+ M :Bct}Y#QsEn0 З-:$|[91r4cB#q\`b7;k>>Yr+%4yիXuCjcrP5ZS)WfO)1o($Z%S#E5)61lT:*ZdȳϚ#gp"K*& 8Ƅ[^]p7ia  !\gD @; h$8Oɻ@ϒv3*ɠ\`ή iBˣmfZ4*փJo㫘 Xb͒}f~> a,F;&+d=۽|>q{峽Byͣ*l&dY{] GJ[~\^ՆÇf>[0U#?>(!=9.(TQ<سLfȗN_u|0C`BkvLM\[Bm;厊t?^LG?+8G>_49PV3v@z6C} lyeƤ7](G=EN7 1]M HeU˟FӲc+(r`嗭/vnfrnݍ;45A8s-ÉMsV(v6BMӭYi(!N[heMz@^Q]aB>ֲscG}6o YUiQlld^1 0fR[jk#FGK ƚI A e Tf\ l0^ 1Jղw_h4ph{ vu8EVm.֩q*Ԋ=*įρw6D?WL<jg+r$AqMŠ 0k^%# |'坼z߿Po F5i9yKa~.,Pi6D{,8S6kTza&xa@^6gj-+ڲsR-$M5T{Lk2ãg-J*䰫fH% eK51~y6~8:~G-XVV[SR"=x EjdO鞀CJu:wĀ;& ^yuM82~x!^ٔ)= Λ1ZXw&Hx2.Zn:pď.$:t梨8ݧtJ&bDpyl[(p- y[HN.>$.;b'%D y8Ce]!C5p:'L;:cbֆ'ew#m Bx?՞4˙Žf=03hd; p R bR ''Qy {Eh7v"3*C9rn/]yQ ?ϖjb4cT3E]|hF_] x*\jG- V=-7+;s&Ps暟x} @wq؈-ZS̄8 cU2E 0 Zy*B=PBB #݊Ÿz0ԩP, WYqP%LaD'6;gɭSYnMdg,ZPʱ+=Cdy[c80ql輯V#TL{P\-ʮ՜o 6}FWKxyqٮ_>_Vx*c5eF"tb 돳k)jWoֺ팆 ;X^۸dDUAHm1*e)QI~ň2/ Fwck ixCkM"D3T;ye;`s{Q =}磟#ͰS!yL\O *Nbb;AlaMR[g`s0}|xvT_WxΕ~k{D'K=k9"3Ly9,V[Ֆ GJSydCOuu <Ԙٳv"]*TݸбR yMOL9$ qLdNn0*/{>\K=h5Kΐ5h0A_HpbӓyCUǟVY4mCatUv?9lP?hqq&6suXP*7~ө];mX35*`VTs GM8mX@y/H8Xefs(tb.)jqqe-,iwCdJ?j"|Nȁ)Q#[ (O7CQ/O)P-ڗbE]Cۉ2ae :j%? [$>cԟe U]6*SV* t֧[}{j1W2xʿ1 }kUUJdq~kD{F~֢g^Q;,S86!4K婯*S1(XN;7794ළB춭RHQ~6iMεO{~58cTN\_(: V=X(|D:Y\ 2Js]?.¾a9O;C.2cc&dOdP/{4SRg2%,9gIo/Po*f=2tn;Fɡ(QYsڜHJ_΍L?e=~xJa ȭZiL%3fu_au7mbmGT29L;W`6I2!C`Za (fk^c>ynuJ%U~$7n {UXb2A,?Z~a r 8*/fz'Q07VQH;L00)=W!{ya5_MÎpn@oT-Jf[f4SkR4wm{裮N$(!טKnv;2aUWFA McXF7]fhٌEXUP|,{/FX(lcFRe$RXQSqU, tJ2>3K80!+Ap`9BuZ):6URsbN{2vN]fdABΟϧ5SͦO&û-1X.M}'ڪkd*\ >狱-dI9 E9E+CTkZGmـͥW6&B+>"\=ؙ}.-g`;}• Wh~!K Z=!N7*MϰEvi~Ӝw;9n}stfk$+Qh)+ˌ=]q3w]ۈnP gv4IeW~G.BkG\ü^`ke6J՗.?$'-VI+p XinXPǙ]2Iߦ\oΠnVR7gc"bTi*zi40]VO }k}b2es۝*Ğ?[ >T\O"^ [QJq/_@lB UTY&pKKчej# P p}T sO2.ֳ{:m=껹OŻwYc,lxg>յQ neՊ(`}駌!2=ֻ3P! -HP275ȘZv F&D#fp]<@+33 <*2#zu*mjG TP`ɐN v\V oΊHuH>0czݼdS%[*#Uȭԫּ HW4}ۜs萍,3.ŗ]f8dˊ7@818K.?N6l [)Z4LS[Z3G˃:\ O/8"m"#ؚo>%mJHE2_D2y#?YVcx˜.Fx%)`㩫蝸oAvJJoc5&dr&M`2"hU-({xVuJw1@\! q-ʜ@ifF +j8ݜ;;C΋EL`i).|[lמRpj_4#DWLș?LΣTyH")*R v!KiO"'N%RFAKY9 ]erlL&L;B@hNDECK-(^9VMJKa'@kt~V+qFBŚ5Mp S dř7qӨU^wJ& < RM=_y9mXi28|Mw*Q$& _7?.4w;-$kRz/2PZ)Hgi7ijdLd[t3-q%œ15KI'@=B>-.FRG*/^\sK!Q}klqތ@=m3a ~`/W[*V$kzUDcd .vLqT9lfBȏ!;j@s_gU,xtt?\{!H$*5>;7;AZN5T ϭ^hjH}(QV9QI[f LI'jA0 W"]E <f𑴳zR5[ExGmg]ފtAn;5xK5[G[ 5 ] 4= >ޟ^OHD*gu'rYNǯDhD*_]0."!Q{x56 橼qnANE_@6RAz:QPP쒻<\y$.?M?[nޫ " }QeɬvWzd8^ V_b[;urHז;sm߆Uv.h=ގf?>m!cq] AO|WdCq3j⏍E II+{"i0X R"2VNJs kj}J> ;[zɳhsGL^ܨ`-("\>{W#3S{G[I}pe ֑B!*Ȯ5q-o* WYj(R[*9$wEkxIT(O2ŋ~wm3uz *ǰ4WG;b֑˃ @$8;cFxӌ& ;ȡ*Cv'vECnV$i :Mߑԑ"ɿ>J7f|.E$=PwJi y M#Sy4S!/BQ9ng >dgՇ#]y[y? =HI#ox56p4ةʌi7jI`ޙbO`"5EǜxӍ^˪0…!ڣj̳ [}ΧtI{Q<+uW_j| :t-oC)WO^qTU h[:B! S^ JiryS,g-0K*DTv/ #K5Ae 2Pv360hTIf(FֈPr&G)`sZC"NqSӐx(+d+z>qX21(gHpmt/nT M+Ck\qұ~<{`3u`\|W|9z^ r+qΙKb%ni'o=r<3]ނ$Rb6rؽ<і7ߣ;ȭǚ&@PIKۃ䐔zJJ5##ebw4Z^wY1:ch.ã4QRx"!8y JOd񴛈}Cg __o+יig4*u9 bϊ=,RzTb-5bteţQsIb1o`C;J=&t | %^V6C&~^y'۔Czn[xui,Be,GYDDn F }; u50G㬺OJ*Zû!-/K jjNAE~㔛#:_nnL{r //G49>밯pDӍƝMP Lzn+PKn͋W)YVis'{^A3ƖjdBuNoŞo[dkfC7>+1))7_y#Р6*ŦKӒ4OϖO+k|@]{Nw#|`A?lTIc -K؅0^asT0'2\Wmʰdisob-Bq@n"nT& rTE#Y+YI-;aHI/ OZr 5ƱѫMT)ݲl-!!)Y-)l-r̩'9?+OEgUM7^aLvzt{:ʎKB )+泗 W"M>嬘oRتjһWO>16[S㍸CLբ}v(S5(n3V6>T[΁Hmz?uL)qSisb⦱v'8 ăZTF8  cZxٕ[u4&-B{P5޹Ұ yϢ 'D=ʢL2"(ځ.;~/NrU:g;C0 ̀zu]`{eWu-!m@72ׯnUzK zJ1H)[3kzyiJa: ~]R>TİT0)V*H|b9#Gyw:Ř&Q:D*B]AbX}ĎvZ/mDyJ01.'qՀ?(B}Tlũ\ R;rɅN LLXGAM>>8=rJ[iY$ \գGvM0M9VT{A? |f>H|>dRwM6 9zsS. !K`Qзl|uMOc'FHwOZaFb?\^̔.e97\lt4[׹̂/ZO'bcZ "j#XM[ه~ˤ%#?Ga!1-T'jisQ4Z|\P(;} "P#c<-"-8'CvLc# |@PB+cPu*\*#8PX PxA4R˩MUL|spĘ\cv󤒱1-anUûdE'!MA.cPtZ c/XZko!ib<"_gmƧa)>}'S/A쵆0F]tO"fjc-Z&}{ʗNjnNѻt!Boc Ϛg(Gqõ28j(묒n'30giun-y|7B[9 1\e ?2K) )&P/ȿ[@~ae Km.Bs;jb{SPpPQ 7ɦ pN}b[/]cw|9)SA9b?*%~^zb㥠 B[GYdv{9~\JܺhAgS'xK:aI^_U?-w vPpWa7^Vh[%}JU uا_O@D^ r\`!ZZX (O+}CxO맂/@-Rl!^E_uʡv@x鉽izQ?Z}A'@m>#rk#زhχyK9qR#PypPx_K<9;a }oJD 8D)׿.4:j_+ D uaû$nmi,s[^Q3_2?ek>4@]k4+7c@ףJ(x{?iRkq<5I:߿`,u>5Wse@{”$D}.&0?TV~.Z\Ziu(&'|V4X^lY< %1!ZAT'g=Yq[ 䩙Jf 569T0NW@4?RWbbo(K$_hO1t/5PMXJ7`P.m[o7MXkkFv6p׫gֿTWXӻ|Եu;{.d(:oBʣ*drbc6i; LyA֛p߰Y;tT܊]6ZV@Cc4 ƚEerυ |oiu4p>;C,(QjU/)HJBas(X'QrI̡1^ 94(p@,uÜҪA  F%CD~v$upvC9ht?\n3Pfyi  ]V3 q2*)ScLCtrx AhSNGi.=o ċ7& ڊ,$L 8H^FP/ nj[ +-qS'iس)lk)6\`,qlciފ%6'M`X![?'8(R?/pD.lF;;}ߖ[6if[LS)"/M1QN^IK MGL605e+aYnKa)]Me 4>LT[egA~;=3XCy~}\FۯX m"23r[\AZS=oc 육,~WlL,uSTU gh(a[/ǩnoHsť>,%6:~[fKWE^5#@FT`%4L 8 dTO-v\ .vDuc>dcu|+ډXSEXj5eȈDT U]8 3Č}0uqd.vļq+e Qa&',hY;רvJ6ҫUqdDI}7n#gBOnIgyMh6it]cv]}i:. xk4x1JEKq~e9#J71j wrŭӄNA>Wx8gPbS,@(Yz XV/yY+5HVJ}:y_/~Z`)OZ#7ܩ#Ϩ:/,֟^m mb2?ijYAŚH-v6JtW]8PP";k32;Qzr?1z ,5 > K53vT"}|u QBo9GaRX?<Q}4ո9&7lv͆ڈ^(Q¦ؗIBj2(ba)D')f"THz 0! PY%h5@~c#kl&װ@hYZa2T; Uo5ݯGoc}ZA,a;Z!-.T]}*=W01!zQ R y_Q~b?U\%ܬ ?jhbW8!ڭr Fem/2bd52gMM3ey.g,6h_k[1O>mҮ,V0bL&ȋv[ua ?뽪ϰ\N$oB@P瞄nt c7>Bq;L 0 31o}ʖsdMIԁppFN-5LxIU3-Xu-]v:;^)T Cr*( B4*)gIXK(\3+6[ !m9l! $qPF05KT*O8ز޴DyЕVb1s( fƈe2&pWnB[f` GG2Ql8jVhLh헙L)Èx>[a[{Têa"}s$BL#;d<|(CGYp2#)2Y6Ck"KFpU2jChIZ8;!륓Rɼ{£9]˸]d &yظ̴I n%7/őioG9]ZmJ7`jc Q\!89aq |gLV\Ia%<D}'/~~!]O46 gmܳt*Cm.i Gd +GQ'R g ~. a;^yZ7W:4jg!2373lP<6`IDX$nTEUZxODf;I^J31`D±Wūu.L ͠m~4K{ݦ@aź%bbvsHUYi|Lxv& _?á`mxYfws@oIT_t3ydWcyLoxa]d@F^Gօ!` \ %<ږZ=:[L|9'X@W- Bh^B UWXq^ʗ|@W"ހ߸*e$Rm9©2\EVQ2sDSz]o3aYLh?s^rɻ.Vt R6 |p`I̓bZ%xϺ鵳E[)5;?R/hM#E\yfS[BEEndBRTi?:|/՚8@ ƖvE˸x\=U!ϛ M~fl>Ӹo'* 뇊jxچؑ,0-'[WxNXI 6(Rv-aBD)OYK%|t-ȶr{`c(9 ۼ Yͺ1'j**1Z(Z ^ gR-SCPX*]} Sъ"goy{*5G\nK8qexc N2G1!1у3lgE2Niz8`u[]I;֨/q7k= #@yvĩhY=>\lŐulU\=n]sKs/aqEYpPdTLP]~y} ,0Y(JYE@62" y\G%@2z I1N{,>JrB2:% *-wA#NU,gqg^نh$mٶGdmsI.rk%0"A~d@Ss M1F.ӂܒ7+FBcKHFLC(-<~0t"WJ54J^\l*cȭIJVC(<y*\=|ib qE@r834Qm?*oam]U^,q`y?|S&!u%qΌŇP^,7r=$K %Yb} V&Ë5b7|o$7Je"={Aq&May;xi`rmRG[-|;U^)cx0ֈ4W˶ jt3s Z'sSW۶y#9Q y/]qICuMI_K k?yDj\&;\{X^ϕ֏ L"ktk|i Mf΀kbX$EvMݨ)u^2C:GKƆݱ=4M]`#/)5shD@nI|#qlYdllx&Qn͊`~)fgh.J a@spOWRHh[)7?)d\,hA郉;mAT||,CH<е:Bq3xww3?Cj^c 25R5;}[Q@'uG^{Z|QkG0sNcgcI1^#j+]0k2<4yIE%XLkLY92AX/ߺR,Hkgze.֦k&du7ܤGɹ>!F-&-ֶ}ٗp@ǸŸΟT|yX+^Bs<`|SR7CsWK*"TZbϯP b)o@LԘpX| _fP㞞Ai[S﬛[!I):ʈ˔ؿ!q‿*SUH(Meoy*DNNhT \E]FuKC'PjLN{?XT3Itu?ƫp{p"!iݥȏ+YjÇsvs,sr-' |+*3|$y9D_m#pKFU3QR- 1]Iޅ(bרq̳9Q__Q=#/z#qR 5S}e}Dh2TYN4tIM7ykӒi;JhAǰzz]n3ocS7쓽w0.d`vm2T4lhFlTI.wmNRi JM)4h߃S促b cK&`&I7BsPYflN?xfmW(Xse1F!VHDN^Ǽ|JzDbc☿ƍ`dM}`H[XO%=LREMY#[SORKkFw*A%b/5ίF=wl [j_71u5򭭂13,SHs&~A'LjY&m*ZՠIBO a }U#F` Y%+wNQ+{ +ކ 1Dwː'_ ZVp+lzxeR]Xa* 0J(ΎFqY s"лNEPVg@cVwItGƭ3W2+.r {pY7?ޗ k쵾L 7Mko&%Ћ.{n[ fECMVn[l^`}顄:VR,E-GRW=n(@aiݭfO{c(EbOA?0JFvz|(!rcFb2Ԣe8$5X Qu}tg!X~ m"ZI԰E~ig;NҴ_uCm"*qRo+Ap*TJN^攥k"z?bE>Ύg.`ZamP\AG$ܪQr ]&ټ`xEKf+QP:A M5s6,J뇷9 DѰ`4ff&]§yZ3.Yum:۸h~of׌^ ̠ro =„5|*nK'P{Vsɰ7m[J0B̘,"4G cktŇfiĚ԰EQmR̓NZИ-!#fs@.(FK~Eʛ4ɠ<4zRe+ԃ?1#]- vB>M,.W$U>s!])Һoϻϰ3)"[_m=}] :LsYhٞ|s]]\ ί`WgXfɱ,Nkf`FO $Uf)uԥl cbC4@(uQ7 Vqy<0t,;1QXvV>/,:m hmip T1;/]1}YG뮌u/ڰbցPE\-/bZs 䱣KBjhzE/hDD"sǍ~/.\jEdPNV9Nw ,SO,^JX~o*ڸ\ HS̚-EN+Sq^ŏ@E)":g"_߫:)v_䧪N Ϙ[N7=Ir;36'O9|A ădmاB)bxfP,}x}{["{9rCUkDzO:0O=vVGyA&֩Ö")S}&$-U$ ~=.E7?) &r;}Wq:`B('+119wsFqsV-^(*ݸGPKǐ9|^߃Brh8]8f*7bzdലq?O ?#^-*;l-Lʘd3k*v{6sӽ1:`ܖ ')eHT" RBN.x5m1z~mVe*/z5Z>=wPژVǸ$ d ܆@IL<7{`ݞnd{x].9*>{ PH"Ч岘qRO>; )}y@NU(.n8!߶?|kЦt_+RoY64;%|,MEPwbI-bd8W6H"`$՘?U6CBGL;|ērp`22S35DQ.X(5-HV!  e 4f4GHKu| NR'6uQM`S[p^ : $rg@{Z⢞sQ56q=`bDtKFʨ D4d][#Z6=GG]˜uy@3坉{#LfґXcʝ:#:\A=yN3Q,33F;˼q[y<* |c p7NoZJΏԀhs1?ǷsH-sLzRQQgw(ٛuwš G\^+a<8> N/MY:lCcRSTVRV;WD2'++J>_7 /`1(5b!Thպ"/uACL-TSTf^(<= OT1ԇZfH6u[ߴ`2n_OD5{]2 9iƚ_j"J9=] ?2dg}k?'1y =l @[q?kt-gG0b5ߪ٣~T'}ŚzS+~Ehk9,[ n,ﳈpj,f:!gH` m O̵5GFӷ 8QzGOYX\wYB7sa{H(P:~ `y\q=MìH+_܋(e/p*~An3K;̶I˫?W>%I'i+v>K!3O:P![s6|~dЮV`_$&Yda]ZsSB`-CSw5;)M$Ebo R,ݗp[K%靇;+ зKu'hB~Pvl\SgYl )2.?d:9/ۀNJT\ +?!5EʨT Nji{=q< +_>>ۏK`(#UIamJ<_5JõT|ȴ(U"'vwu"| ʑXE 9t֖ȣa KabCn'HI^-/6QXQB fNsj|K}i748W| FN&zY q7\1Sl JE8'xSaHRµvnG94BI=5iR,qBJfZYp H5p; ^vDxXh93e#j*tx`{sŽj{Q+{?>m6CǪ6vD|t=6(a\&RB5Z| ,_}Ɔn7 (XNb-6clFuU:DWv.n}4j.n)U߇IWHg3ٹ>7ɀ%(AWް{y$$AbPg&^ r344%}d- 9me1GK#X.3},՚ͶL'Kj+Bw`?S u0+35yV쵼܋d)s:~'kn;!jVt٤1xǘZU7Ԯ>X~6}G<@\2I܏a䦆p`@u Aְ.!a% ,JhhU v,nSC^?w [xKԌ h+z%Eʍam k @|҂cMQ:8+$0f4_f SDÈ!>_uosc#8EhyEU/jlK80ni R| *mv1@_/OކTӘ>N"IG2NdYڏ 0>AXZV֔jv!!IE2J/l⧂Y؉wgȍ#4d@$b̀ )%_W{wqsL\E.f&R Y _2wtI'sEӶFݠPz~Р}[cTSo1|1SUٞ&Y<ӳq͡Pm%l3yQPwf-7X^|h&ǝ wfIFZ:.S.N>o@Õ*̃Ovj qMM߭|{ \QtP,pKԫeV9Su7W=ӄC`Ϝ W'%R ,!!8;ؑy8s)⏭H>:? nz ]Y\E@3 &1,ZWWzY}5Gs!@hPy1l4J)MWKs"jn\7 i$ ^JbˏYңɡs?}" Qiv{%i2g $28Z &N6EIWla_rU&R^]l!`cm]% w 8q^1ϲԪ ɩ|&}Ay#,иzsc1yeb ׎≿|7\6fYyÌ/u.xk/L0N [qbtjp,'Gl8=qJ'pa58<'ZeRζ*zꫝN#gsP@lӪS@~69xjʦ{${YaGЗdhCyqE+k"Bbu(d \:m~P6֟Am9SBGs֌T|1JntbHWxHSsɻ6⤅'q4bg>B Fp"c8ORc_`+NE ݉ 6x&h`óE_EvÏ<ԠM& hԩMƯ@¶Lk`Λ:,BW6Z]<),$yE:rxO8Q?V}:.yKjT??U6r"8$+qB]P޷IȦG4e,݌3gBv@_FLP>rܞ7ȬRJ3ZŖ5?ԧjjS-* _=SI0+3tzr)N6-GN)'嶕D1|J VKH eQI}isоMYU] h$'+FğgФ@8$rѶ]H-qk"jh8(+FksG 8e3yM N9q>kOj2uEקq(\} fh#(-ys:7S(/"{o% B\]JO(xWaL萖NﴨC^S.jc;fo] E'>)ۣ^hG+2 m Ip5ڴ1RIs7'J5y*A?xDKz !;Lj0CS:Bl/Gʁ VL82 ͿackZ~><9#B0<Åo,3qn擨^3 SSnϦ.N 3LN%-4dҊD.+LO3 Б6NE%$zTwF ns=kʅ$'݀ X@5ԛ['||_\ɛ:8*m_,2V7!wfSS8*lQzzQ-8L=hͮ_c&B4}ٔXd ?}չ^SMH k,土 .p;x%cV13Pc3C8'It\z {_%|`jQhWm6abUKFx@t#&'] s9%ϘVm΅BHJtv}kG3[n&)&5o;p 8?z< Nc< |`2n6t4P4+U (o}5͉fZM##ݍO]MzxƃQz\쬝z-,Ж1kI6Mkx$phRkq Xo5iԙx-˕| _67ߙn]Y2 ]Ōſf DI !ئe]=Z $=XO.Tej"ѺNX?Ch^Nkp1XQ4ՇGk%B€\Ch6~X-Yr "\=[Cs[eJX'jLܒs!>j79H9(°zRxN#K?b.ޛCJ[ܔcuwlT) !+a{``] _ox#z37;[ߎ+em+R[Y9ԺR$w_H-[RcNd6|$ U{24q+k**Q}PX]G˂ʇMGn:*c&Q"(Vl;#2[&SV~': 7xΎ+hion0ol]ŞH[_Ykgq0 R6 &ŽOLt!#Fo/Ў `X9EpWQsI?>< }-$3awo<7P4e(,t~Սp@t7O OK%&-J69[)EmPbb}3\g$*l?~%lW5"/l__ QBYVDÊTq>Uβ>E}=0QN 1oLx#UZPT R!d:* tK\Ϩ&ިLel#ⓑi&`Xb 0{9L0sUzfv8_|.bn=Mq0XAA_z8{Xh}?KIZݪRv"=ȉEɱPYEvWz0 'ps^g)>)c!"{? Q*1א-'/(kFm|4p~@W9ez| @B(`/X8' YDme==p?vw5't/<]؃^@fCРV0+]KJ ͙Y PJ:8W2oдTDB~wP/MH!+Ğ|Ϻ)ڗSE(/! 푦i{_=QxĉQvi{IuzCRsvWK㷻v\TL5yFM#8g7ZO K6d-[GhŒ&wPxyI}/BFaUFXٕdn&BǭO/ߩ$M$J㿸=FUf'%N@1uIpKudbv-t?F^F&O>@jL3 p8i A'x1.2uKRE/sVn`tasid-v/hxr 7V:J͘[4M$7e(E<2#Vf?[ͦ8k7U-]52,tM:.]'9&Hm)\ΘE Ei~_XSSwHBvs30yUR`zi9bÝ߼Ƃrq7Ȑ_1e # X)(HkDUvxN%PpI'0~6-sP+`/tUpz8 E=C vQ-Hc!ixO*JmeOH!gR FޕrR9SYQ--/XZig))RyuK|| au{vn2kǪ7!X)UC|j{~paK>U,| foc;izLv//5)hZ/S,[o=aZ['m턦_ux)& 0f3~&6 muG?BKy\'pPFeGװrVw,Aiat;\"z[ @Sff4vQJdl Ǚv·~dWkصӚyʖcoˉc%ɸrIsʧ+O*6 Kڄ5 +Al!P:G7M88.^ "O>gCszocD[XF?Ã5w&0!6͘@t؍hZj͜8z0 2>BM+ZhݘsiF-!8Aq̋Om4; iAeY', B1!~;4:_w )Z#Ro^.bY cu\q8 !ڿ4f,[⥅*^H5$55^:Fj>&@2tUGGu(Jpg\TSjPRB; 4.--s;E uxTJL̇K+O0g+Z֘8:t5 [^\ q 3mDh;$ue]^57g#E1t =.x x5*1aч>e?߃LJL!1id܍bm7 4K$h ~(!`1ϬLxJP@x.~BƏA 2C"x/9*nbZ_|1"Ihp>z1 .bљ n`.alw3]1f>{Am 6穧`Fa^i/E 3 ÄsdxWF=Lz\5سL?sGPN0c@bt#$dcd Zk + %Q!AuYn10 g気ay3 )~f awPΟCw2t `R8GZ L֏!]l3JAS ݕTKADywzY9QR=,m~JP ֘js DF8^u[vJܦqmey ODh!ȅYD)L>^w)c?؅B x?k}T3qfL1SE0=g1<,ѭl~';};e9 1{;.F]^OLEs?y^oaẉ[ͺX#%P%-_(Q,__ %!q51kpF~R=d6g70X,Rہv\ mq[lAW&NXsu җӚ x >HKYTXICC%5dJEZdgH2TM7iRQ؂i,ú:J;#N x4*BEW T}3"<Hg..8o>ilU~v\d L28A_D %[+jj'R)hmLC+T.#DO\߿ pgJLTy3`Xy 4T֟jص|HX lr2?/@vV?d#)i-,ŰO7VUAs 9>-^z|ivʢ,(+]V jfbJ (#H8m{?/B]0n \fvt㠟k-Cɵe 6\:}i_i1׼7|F{`\舎Ŵc o67:b:s+xFSnS4㈧f:2uΏ>(DW9T/ ĂK42)|Xz樷oi ȅw(X%?bVߟg3`=KmMYGٚ S>VԐ(7.sE8V_MO% 4[gXx;{?x~f$H)9Wd~Eg]WU+ XZtև7? "@Y^ݽjLI-}_7K6> *&?vr[^3QEbh=nƷz'~ڜCS6(]gWōrC{pviLtgP`VlhGW fİAvgψ\Mo )S.ZZr=u0ؚ(wY?f6$pb©[E Zxpu;du[:DMma0In Tv`(ZG. / +ErSRw/  M]ǽvHioO#;c I ? `G voo_ Ul@ UY} ax02iܺ81$NߘW:a >  D@дђd*=">3mB[>~ D  2Oe/'٢QF3郷M4-魐fQ_tш,y9RĬrϞ}9i.ji =!o!@@RzDʠoc\L{Qǡ+:t.$ 8{7΍2W矗.Innɩ57W7fn$)š}~9nrgC[FײH%|mczuFB#0wlM ]:82͒k񀸙emi?oŎe6ʅrl}y^1}au R࢐0C"Z~DGp&uI&$ 'f¨awn%VD4[hŏ)Sq+:ۋ@ AW\Jnsܜxr3hK?&b=MY=kN75?i Ӎ'LNCX(7Z}(Yop&PG,j:ʁ@=l;1΃|.bwp|%^&VO)@1bnWk1W], 0Ql0PJk_|mrc]%gx*v?Y]Tj\|V)~ZAgOTی7Z6Lѩp3z0޺,h=_uň%A̟]DF*Yo}֕Oh;WqQO`BZUzND`mxUI[ֿ{fgSh8fAK cޮ*)(فQۼU;Jˢ*`]-S[hфOPI4~]zViD8x OKB0Nc> $5" ?kv ح`kS+J IhVlX!.&Ϭ}ݡXCC4XT f" 8aVZ>1m ɬ|aTF.f| ~pQ jԋilD۽yC :Xg' &y*sƦ߫^Qõe9?y{bqup& oNjɅZKXH{́iʛӸa*R獍Ϯ0My.C9C);kH`&~bb[-qWTYw\"س 5܁L$d9jqpoePI\IʢNYCFh0E[ΤH^g4rl+~(u- W\K9MݒIpN ֻ(V0H'ʴަ`QVb :h8Twr"!dNyާW`<ɊW %$X![ZVi&tY.=ݾ 1 yLlvw_]s@y5=*ؖ}i!M$I.9n\f ͮHۥx1W?w|DB#IU5>ɓ%&"Y0b?Zǩ%V*AV,yQ[VZ9)HCyd%f]<mj*EUiQ.q!UwL V_10&P^DtVAԂG>G/83Ըn儜aze/$0r=e(D^\A022]*ή >)Lu#8f%na'Tİ~NC^!Q8 mCOnUb{Ix=l4 k` Iۅ-~k"uKEO+:[ /N'ʹ*fL RelDv-W[M5*Sڳ5; 7CFro_DLxʆfKsGS0 QõH/ AnŢNyA'Ts;OW@oByς6$?Ȝ m%[V~;No#N?}RFy+oɏ6l˧(҇>uT^,DR4Im?='.%+=G~Fmlk6Zn~Xwķ^@o(U1fԧa$pFD^m$#E^~"($+6)!v4-PjRD|϶/ęW* bKWU O@bc͠GKPuHvk(J7ҵWFmJK6e*=k4 lǔWH,tRŽ͓>oCF/qѡZJN]` t5yJv$`?;*}̶ ܄btm{ Oɴ=o{SHde:k3*Z(P*h;hW7~`j~VVml>פQ)Xk7 I=Sw2&ogM1+(IzYhA'9STyp ͺ7ٳTtk-[=%t_l>ȿ{!cpÈ3xq[} OC#o<-*j%,}[۝_PU$7D"Hz8Xj ڹR+'5Ő*7W>p%Ȟ !v4I\%lbE쯙cL(;3~X& Ҏ,@l7 @[ǴMp;}=.@w-,oM'ͩmHm^w©Y6YdCoDZ\ny ;gW6Pus6%p1g͕(dhpeк& ~Yƨ<ԣ|:i3iXgf( .| %WyȚ6Ws2޽IAse:1]+( R6׵> k= ZF;o7׮ӹi͆`m<"g0||&XzZ׳Yb+!xmi(z2vfx;I#1! 2Lr < 啟\dE1:省o?:456} 8e2ЪDQڏ4@m?g\zիZr6ZU| HHiCe?jA?fw [BMۺXKotZ19.j<ఫ9=ɮQ4y0Y$[[QQ׻9JF>jrQpFL영 ZS'n;5tⴛ0|5‡il2|f|)Z㞂흄Tv/c*VE\F(='㥕)UڤOn%=0̲B*NHc.  (Pϙ1C(Չ*"8Y$ M#+?)c8boE\9;>VdrS,Je/q]+NoހUGR8)@4DajBt0-qZ0;N=jwqh y |o)h±m2E'VX/7:`;~FrWY,Uγ4[!37q BZX$#;10٢M0#GG?1?;pq@筭݀h~A{:!~Kc ]w X;zxر=m]iLǵ䇛]M}r{;I\anFViFg -#fz&dQ X{aغ𥋵W!]~;Sio]R;haŭ0E*?Cs:!;-5lFkw+۹#fVHW몰 >'=6 C-(]1ꞒaVic<"ާ b2 ; @5=b"-%+I'65*ӛegmFq0Ngq;_9h6ݫTݙ[ }f^0ymjy[._wLL MzMs|M{})$84fVG ՗kr֬hf ny^fN[7+-5 2\L"ROW!_Nw>o_17BWhZv39IHQm7;CbsT@݉h#;; 5ێ ߉PX,R{険< ns*iyM]SmQ;۞LbTeEQsQ}vOŐآtp4ul=CWR#!d9RN%sP RXwZV jgN|!.DK7%M Ȇo\-Ky: q~~σF[ڜ9H|]EʀZ @Q*uioz vт3)KXvdwņS}.rmo6?kz3rK9XTɻ?PKDiKGB ˌmېka-_VFm48$|&eKdث9 e$͜I2Ū<ڍOyׂF\߭.;Yp3R@*䟺ƎA_H/zv^ 7x7Z_&ij IA_;rSj$$֤׼] Kn%IUTAּd <Z㾌fkk‰7#`#$ ٢j+z[ívs1VNi,Hi|0r+f>0mχ<7'2ND!ۮF{ O׀Ϳ %\8@o i9jᣔʙ"7>ϐYec2p\k|Jj.6h˸#s`z"6b9}ջzi` Cc4/FÓL %Y.5s:Ac86pJ,ǐ#A$]ܬ=Lt%Ƌc8lFƩAI[֪dl{`ގsV2ᘵ5>?gDKM>ƄMyxݨG_vGSE oeqNNu>U l?FM=%ţ*."AX-`!R]PnRaf-l!lAE rHp kv#^ nA,[ WSiM0 3nBXʥo$"fr|MsaX}iC50M@c4e&2re_.0~5 ԅ/3]R9fsU#bQ` 9#N:B;2ΠCpv5NgTmcH1#f#_EldVÐbdg}ފRv”3$9|z}'<x))DD}./A7b8=k,UCBjh`.r,m}\i.khn "uK?cIgoFf49_ZE άBt7l=x #uVyëUƀ&oԋ@EgK .Dm6q5Գ$(QcyyJ*] 8fpNb(iΒbnꦟAYkK=ejm; )IRNsh|ˢ-r_BWNsW`1:ofV0x:RvӮ*2T 4H>Էc r|uwan=ihjD %"5xBv&&d|{bNܥӗi{m'4ĥmuG9 AJS4߃o; . jZrxx_M"eo(hX׃@6`PTZQ[6H$ς Y[1$xhGt>^ !#`] e kaxz(ShY:כTvxniD ZyjQg; o3BgdGl5py]૏<|z(/OklBQu c3E?q9X$$ܟ< Kq@[Rޑg~;Vu_.w^D]fW9n,EEг@ qeti>bA]P:ǟV$vwePUQjWL<ЕRH5|DDi ,LB~'5:˱8)bN;!&G sƑ`ݑ˥lh+--lcLEolEݺ4 ⳅ+wzҹS%EaĦ-;d SygwlN:9 .|bR UP)u7'vη&#Oۘ7@5˃tpվmY(5ݳr 1ÜJC`.韧!ZuiƘ bs7%i} [x{2=NޫeS[&6#Ј"O]fڼ4WM ZysWx5(>]xJ㢢JnH4xR'"b Ϛ)Z}iW_Ynhm^>n:8g]x٧"HM1AT4C?Rԩ.z 9? 4'R##*X!0y) ^&u1bѼhpSRNNhRmwp:%"~wqO uu3(=cH/c멛_DjqmZojZ*nV^mUB( 3'w`g#A-Hj7" w1EVs(@^3Әo\C0u/ ߔ6Lq~-5b? I3S}ٿG -rcNƋ,EwAp jU瞆 ݀v,9Nu?XZq= =8=W\wO S[GdOo"`HY+f%7y!_W4nZD_ô9Ҡf-7Mc-PD)C4G4O2awBYwJT:P{+(SڿZT,Jf=z"Z=";nK%f?@>7e-pJ݈ASܦxdS"8A84mfho͙HL^e\zb4ğe!5rdNxl)Iˏe&يt9,~t1{eryd>W)}cnW FG==0wO8}X.𙽼,ڋVʙa|)<+V(5CzP옛̋c6GQvPRrbA 1,YC$(`ߜM`=mXn #BOCHL cc7 4eCP 3ѳF-ķ;f'끇|aYr#SXU걎 b _?n<ȏܯD7|ڰR[cO]`8(4B쾽}7͆|Z^j380\?tK\ߘXu3rm|<}5"ugƫi~B:&ji{_M($Q0vn/Rid >d< paA8FVZx}OB7WCk{i\n`r$'ɜ&/` WT/LcʞA/8j5qJ6e 9ZwdUhj`P;-rYP z|)¸ dOxΣ^o]T^Zp 6#" BR~*2 b P!y+dctbLUZbY{?e>:[ ъ.LC8Y̜iX嫴<1j}7ጦZ2gO<'e ܠjD~4׉syN8 #h_=nb?YM=J+w $trw4&77o( s(?T^]>Kkj ʉG!_:E[jI ݧ-n˭"AiP̲ c'W1QНBsOk  "B{Z5#l-ʼ!9p+q:Չu>./ ȐK8 xגff'NF[<" Lx F1#).hpK4fWTwK4h?+xsP/ "LTgh*!$ 4eQu$G+/Yh\=^Q;n7VqK4Bxiz}N;K-\T1[x*b:Su+X2D+gʵ;J*0{4(R}v |'tq;D *h\>Gfʆr.tld=n.z##M2-I(ݪQD<ǧe$ן>?X9['?Cpl(2ѥԈ%IB&6^n2kϩ@L kiqb0.%.EB]nђ㾝5u`Mf ^ۄ! [ѵWѕz^9RC<(q<\ơdǤ)My~rƢvы >/D>;QЫ2+~K]tS {;m 2nNɜIe; P}XXu;'iCq<1FWeUlX'Fg,iG rFa%$2k퇝A7 bBtVT\Qs=5k1F19ad|  B1d->g\(.fzPO9 Jإ3W)#-k0Ez¡"̗ȄG^5t4A}Nh"/p`xPWH )&N&38ɍ L H!8'gEvhBc1r6jT@G&VpQGO=$OyBˣ<_hiy3]:.ǽ *qF~QOFS<'\h\)g~H݆ {IOA]oܼ70@Z a <`IYʫ9 k2ա7zVx`݉Pn23>w7vN&A.Xɻ|%P)C8_D$*PمE}sjɀ t)c'I@g~Jܗ͇';tm+zi˫c:[>ߑ[۸f@:5tg k_#]VD"y/A@G^cl8ctB'̙IKylȄ(+ى}qtu@vd#ӳ{JGRPu:qJP 3h@,| cWZ/Sj? ^tIŭ,S pZnyRG |4og'F~$Fe)JobR%-une#p7g#IB >ëάr"İʢʓ&) Lǿޢ'\8*&:q =o/5('BEeL/[D"C^2~̘<[ XCRօԛp *GaZTW"+ɟ/biBҎӧ5VAqNcdaI.2^0Èt~d:b85x;*'>K{ @rS95e${c^ta,ճ] <0IsVS%&i)Iga&7TCcn˜ţy| bc\c>o`4xB vBb߆J:Qvv .hԕG~J^%|<3?4&]^`CAɨ ,ؔMQ3:zUD_f~ZTh G[_(Lw4^ӵ$Ê7l]DPAEň݈QZF4z?Koofe7˰YwW>ͦddC~g?\\.Y}P 2*.e`(3 %:iY T fuGF+ą\;&"EEsk~-UNEIkzuIK@Bl =Fl43T~$y D\T*}'J#YEM^>4_xhy2]U+|NT]ǹ3Jr1]XU#Wc=Yl1h! à#<ݼEP׮Lj\gNEKP0k:&7i3Ãm9UB<Լ֏52o;%~[17U{tLD;Y5[GOT傢ԷS$8Uz]nRvRQۜvD4P)keW<[}THAS@}r=`;P9$y T"ؼń7pUhk{?'IASM]}E\6l" )kSW "(3P.߹Z M j 11* Mhordk$8OE9z@u!ی+ҦS FcX48Ե qlрiʒec[ywCy 7CmX=|zV%UfiiF E!œ}96W."37|x)n:1=^![U^ɫYgW5"M+Nz9e `WHͪ'?$i3"p37E/u5L.pXyVhW C~XnTtw?aTR4fY4[.H!d`P g{И?$ JF Ћ)*3BI1׋Ltmq}߇/x SɱOC(oױP epLr9'W W w lq0tlk..U} s[CQ^qsǐu}<ܣSH0H kH!"JipRX.U=p +>S=^d?ÄoS–z^NEǏߝ rob3Z;.[;+XL/Q]J9-.'AE4զ#Pz|gKSN)Q+ k$ /evK7Y;q!&h ?g`߳$K(&UOF/U^< [wmg[WLP >K-0$3ܶ7Ѯ6b.N|myED0wnm.3_%"l7dp}4 dBK]kf=ο'`ҟ&/N:eU>"2\rNݴi`XoWw:e!i5&ʉŘDZ=fP;!buM~(}dE(F~W9(tyN0adDD8ͣh|bڴq.dl0鉺ؒ9J]ΞWS^}G*0P`R'mUyX` GJC2Ա87^yiぱ>H4 Fwky BnD>hX2UE&VOoe*s6 L'TW8^^ Q7?iʶvJl1䰜1 ?qкAp^4>R | ކumǠDn"l/3[))aiȩynQoC9X_ ~]?oȢ2:D1QM+\%^yd8c->:\*.: dEW(jac?R`K; u{.OL1+|uNϑ XaN)Q@5Ԋn>%{b^P?3h.]Kx8Ֆ-< #h7ƢcPr$ %`,p^#is2Оm{OAR7]'?pOV( ŭKLzoBbtcYi"B(V< ݚQ;>C; 0N!0}fprཚƬΣTl+AYB0oJ_aVMNbz9s#&˙ͥ+Se,Qg{Rb "ŀ# x553pڸ4ll +cýɬsHcƲgd /Smp4/sb'CW(eFO4Ds+`:Sw` Fsd|aȡW`,ԸM0sjf\)8\vHL4K;/j`Y -4AK%$)G #\5-!r]!CN 5lŮ0` .fCfFҧFo(:A=p+)ò⪻_כSjֵ,` i"JR2dnJ6Uq'# `Kat?e Uj󉒜Y攼}LQs~6*I ֯S+cf>|m&*[bYSĸ z1YJU,d{#AdGuG-9R+!^|K.:y4!'hqD?^ ]¥A=NZ a$K)VJMP,m6`<iFsVXPQ˲H"f ΍zGxw+H)3ZֳD{s{Siy~r?)t9v.l:W<mM8t2AxJδ)G.Ec4~D&l_b3Pyޑ9{ e$e"Mzgyzj9[dng:kL ulQ7RsT ZUC :VeQ::f%E^m5~0/7[3U=bSMS 6qzI0[K;>7 p⃙ঢG c<h'(S+Vm3}HJ9Q_o*2tR;pPWnĒMJД׶l.Ƣ|+n ؔ x򿳫M?c62*T)pQ!y_ǡma>S&&G! kφqfEZN*bf0ܗtEkRL|}3GмQHyX P S?65P;Ng 5$2v5#ɘI8(854Fuq-Ae`r;jCQuOĩŃYzTjOu{䬤j/| VhN cVBwucj>ںe&M'Lބ4,ƱDx:+_7 N]+yw;ǫ d~7N_h4ξޕLZ0}ʦ{U}Vzt86Jzfߐ/kG6UROi'ݺ H<+:Ǣƀ^ v > 1GvS5ݑ61A~} F,>dέ+F<d! WnuQ> 14qY=0cx󺀚,;.Y)([TXHzxם(b\bO#>lVJKsapQw(x~NvxO݌7a Ѐ[(d۴NNO"00ϛ5[WEW؄E)գ%V&cB8wvj'^_JeSh{w~`З~>[7WmV+ǻ]2&)q @9cE/ ' e az8҂%ÿSX&/ qǜ~?OR%yh`0uSN ~U)xMhoYf04VYyIS8̄o6/ ߬1{IwmFSL1&6EءE;yZ[c40ˆ;PEG&~ǐ44dJAiz 4Y fܭXT[OQ-}Uv [W:h:r-4,*a *Hs5P3y5U^C?hqN/^Q˹L-H~SS_ C5ڳ rG3ؐ-wENC#Gg  x&)c*`5j/ΥO7HHoUо&¹ƚk'8FGxķm<qXVf^@ N&UC$<@szK}eѨ',aźSD(m1["NQ񙄦F·$U>%@݄=ݗMenYͪ>]tlyoo ]KRSFьy4*r\YJtB,hH[L1w??R PnqZT]Hd.d h@:d/Ynv(dƺzM57PywC?YN;QNp}+?bX}ݦ}M[Yk N{SL0u7!6?b]9wrV+u %&5^_;RtlaU4(w%֧;U:ehaV? ڜbrJظ##$_kĩͻH#L^JT@eMH28c"m d6FM8nKn0TçHàxfRPO|C]:RvDu;f7'-NAcǕ+epN%i8PCE:Jc*Ne9 #c275[3^\$ZT}w<6p}н˟&= ^c,ց2T2@KS:Hp5=;=drJ)nʇǏB%#N*\O4uCE8xOԷVYEo9S!|vrD2(H0ix_MgRf:⑀YBV#a/|>&6n˯(eà$\ 7*l7Lm5>_&d/Tvi˺甴_c!<^A.LR{plA%mWwf2VTh`9[NLyz$@g%iKƿ(jxP n-܄WBSG xBXv냣ED-X?TE;P.{)1!%ԋu(E0GDͰ̫]'9}O]k?@wyw,+J_\5@RJ<Ŭu4ԎqZnYÙLtZ[H .C`=@ W4MZt5pE$a_[h<,$#u.Jro;w2 /e_<2ށDPE|j ɩظ[}6P<$-j V-eo+ '{;VڻbKDTH}W-ŮqVq& Kn$t!_]PϻVtSRFe]anyifȤ&43$6St=xѯ߽}4S!Eorv {Ǔ Rfrc K ofg`t{f(_VCٽw = ֻ͙/nl77^̪kBB>gQtb I="ZAX* iSk/dU9?5FV%Pc(ETš,W)lL.6 iʊa<`-ct}/a:2)HVoN'[7x2_oP%^O[zac _σ_8'p,BhäDLoZ9v Bt@ZPPeH};Pz`K0E`|P.5|Ҁ@ff#Da`u,!إx1PÔ< ?lxea"A :~7܆xLp$%~N]^g|e^j.ZP{>3+L: ۞`6?aկ:iٵ;^KuJ"A"PгB΄I.zPE=ovZ.ت*uҨf9~@fA*M$;Gĝ''OXÀ4A;j4,]i63og]>)bNL'z},'+H?:nˇȆG]@oG6u[g2eLf;LwtIxl\dph].\+1w1Ti}a]&6?kt{k=? /xI;l4s3~fq^!MKΆoZzu3rE \$`Jxdi n dK$m0IxiJHMSҏKjh⤗&2ɉh _n)05 +)j ?*z% $mwߚzpmw]pPA BJwOC"gtvF0Z8' ' 'v 6NuA|!{ß_aa(=/NP?p]G0"Q iN8H2 #uZ/A88c7ǧ d`x662{.,P(EK>ۛ@0\U:UTPhMk+^zM-u!ؾAߏߐ=:w>A%>=VOLZzӀV'DV"S[lu2rt7^ܵI'Gf>}JC @!pXiUuJ,wNk}U~]*~6D&?IfabhhRN~= 6y?vn-~?N5M"̖* RC0z[`:RN[lטge@%1/GJD1^c)>5 JRUT[})G;|ڧ{-{m{(v+b ]}wڤl4OK/Ŏqbwx2fܩ&:%}`;4["a \8'@TO{j)[/bSM?]4O,kmdxAUW'A@ NYGʰ%~Ν`S1"*-X,V*f nookz6(ZƝa7 I= Fe .A3F=\ t-OTWE\h~c,qO~o5@-.$w]lۡcŪH?o1ZW*I|CD!&һVq3^^60oxRE/fj,B$NON$QRx:"E<5ͲE;.,;ۀ YCt1Q<0,׾pnqWHݫ҈vE(ӎ2ϸSO| V 1.@T?}aaUX-` YpC_V*Ix-'F\N Sz8$߸9sEj"WX%`pב-1GOVD ъ Ovi̖)>rl1ɒ`PC6=4c9>* KTT)i#C[*=fϪ#eA=\20̎Nk*ꋡ ^ZŅ'zBER% GkkTYT۩sUFGs5xt82xe*+ăΖc6Q%yjYb_~TȡH\$qiqs#X|,@-CBʍ^ę{GLdWxQcD#QW§f<9 ]`yWj0 C;"/j́s|:%SeM}xPJeMw`2#FKc=ٖDltP 󡴧פ{꯳ŵn&6q :E'R6!>UR CDaaPGQ'Y!~.MGGٜJ̌.mգ.B?a}gREq}4)IhZwDHOj ;XlJ~҄0Q$lp㻗 5c0Jx\cK fyD|Ɖ%~Yj++1YN'<`f] N( R, {BvSS)W|Nwڗo YIk¤xnV^IJ+!jJh1q?Z#e\X'Jm`5Cm0Jep2z|ǼDǽނ%}ƒ_-oxp^V^] P8Ls+/}x>Fhr:VuS@(]_ K6mZ]hUVGBL]'' :cL>#I6}&xo^ks63eej)Ao]aӂ`[_+& Y͟cS%@"I?3Pe^9sd,.}~"JL,z4 yI^2iO f f,U`H1ہ#T ďt No3NHɱc ƣv]yU)u YYH*@wXe5m.^)uyJXApDL9wd/}l q H@W!\_ PP!S^khېw{?N`7.x?du um8@h GTգZXkO)vts&xqObW H@v]S"'plOg"4ӍRyz* ̔w!&o3̱Íſ4pB^67ʉxQwrBKJS11:UzUZp,x.rʫ}v7( P:4}5 %DIzn[o=Oc&8|Yu6hKMyM{31p#gΏ(j!5gK  N8Fx2G K,x"[[hIZtl e'W\NV|{I'e.+ʻa9YoHe7=J[ԯ-{M^Gl&r&vG[cCTR.>5܄EOPc/}`n|nz {Vz:yq3QE#ji;{]Lݕ X1 k(Q(%-y<B5PCP㏍pݝI}  tKFE2pΨ]h3(kkW)Q R mgN=\P}RN31 kU9tτҔ̿t}C9$Iax4Gub>]'Ku3w ,JD*z;$jf6H0RvAߜ{yXmU+ j|/zM1 0'F+WGGq&r*Ԙ脸A4X;n ){_xz%Fq6BK IwΣacQbRcOHq.В FW&ϔdlj sVZ7 w=m"ǪF$׋!xW<&Ck^Q8υ buЃKѬkj=v=Fe*Ohffyu`Tw[ 5ٓ`u2n"ozTrkn *eOŀ_CDOA͐GN<},{nv.4@lb qn=݁]ӻ>hPߪL v6RTc # arBA~"O]gIU`цx@ӂA)@BuTJbM4o\ťWBo ECA,-5C]y~1m}\7SG}PW8^(A8 wx6̈́\c?1DY,:^UY@c kߙ|90/2HgI\.ehRf 1[+7 ]JȼgY$a|R~'j)vxHFyv~۵Ia qkVbEy~Uw -~J{΢{%Bfxh){ SUkO&$QDPJ70K ꄙ mR6Cv]֜]_滹*qB;7U:ymA'hxĺȕ&ElQ Lƅˣa?[ObHcrBY)BHRA25G$~*l,F#_sx(UVzIH2&ڒPr@1G%T̕W&FgHvq^Iߢ,m {[nv a)c(5T96\u3gN(!׊G &!]@^uU^+.[hcv:} pX' mO͐}u9aZ!=H`dͶ.3`= *9.1W,ۘPDGD[~`灦+,8 K񏺖ُV͝ l,fN#UӅ _ۮ=a\)6޼ eۖP*w`:6 C̥%b00W2S^E"b[d{/&vQ;Mmwd&nO lVT;ձ.EA %+IPvYcyN^^pd;+뽗cAMrߖ*# XJZ>FAf}۲&]wjȦEga͡n]m{ Vr4y]hDub=OrHbLYB74|y)1S.i?5nqu=7 Ho!eo/ߛT>>`Nx=wfw4OO!NH5ڏmMbt@gQR2@-!Õ|@ilOCKu|,Vx (vǙ20-b It0X8t0ó젠r Qr`OsFH䢯'x?3gV&Z"Q -: Kǎ7@ZBxk t&a8@IהrlGFH*Dd0]$tH޴=M]ۗ3$qBn4b $X.fH@w rr BVy][bִ#KS!c}Or/9JAκ0uy%q #!th #' nҶy?#Yiv'ҸQT <'Dܹkpϕ+'K a*iFTu9 $^"Ev?Rϧ =&ML?K&wx@Hv2q@"߫%Ks? >,rq)yKL|s1rVw޽҈b(Eu?Ԙ]1Pf1 e:7^7! "ʘS <ESOߢƑ#:L(u䁻{f H@'c{u7.}VH=3:{@s+V-UI'xf*btakƼSNC!(@'i5i{y*Wp#%Å%5;/Mʲ4g`DHnSo$)Ed/$Ed'HܹFLsޘ@ %S U#j!S{쩶9ıP|<ˆƤgX n\B9'FeBUC ZDyhE{VmޖI P:ތ}r#cƷћC6va+i).H@FZ욵*7Z9QW;(BɘrF{E1]TK-EO147r,RM–(#D~:Cc*2 wǫf_iIjZy:@T)%wDM|5GQWNlj)ңɬsF%@pݮ+x*Mp'$ኋ]VsH$C) fF;b E\u,u(hK;%\cŌ;e1NQFW&Oe8* ju4 I⢾爬䕩ŞR10"%ԢMKg8GV4f"X3 }ka~kԙH/"ip<>Tp(|EyX0gF0Ƈ[V8vў}">>g}F(0Cq4|sL OK?18*㾔^^D#'"K~9 SӠŋ48g˨v;e Yƿ«9O,Q + }W΍H .pA^7GX*h)as=UA >{.'^몶_ǦpC$U#'? ,Տ GA6D2 WTY.ZPe_sP,K^S\C5l T`s"j;GjRZ]>!Ym?fyTl~؆+3`qw VlԽOq(0G$2: )P\=@L}"i-,̓=]˼,€CX'cMZ o{,3Q8=bﳣ81o dJ9~Qb1҈AуpX+"ZVe|˝45qەf3bߥBe /n+"050ӎ-祍=!}Riyn) 2"q RjQtq4\Ml0At~Jp8P%Gm9RiIuA7ǐRϠP9(۾u v+h VBI`4zÒgy*!XITZNp-G_ԵRzvmo yHK|@r,]d1:K ř9DtɏNߎa {H!lv^5! \[Xi617Ǣ\UHyy>`kФ0ez]?8h)ڀJ~6AqT/B˘]!پw^R:tQW  DnINsARߵEdҞWunΟy %Ȩ0 xG# Dse@S6I8vC34H8Pl7ʴ53K\xI07$݃$,=Csm\&gr˵Bo1xCs[KJSβ1Iu`"{g/mU'bOB{2>vOQVco%10'rद5WVTW#ЌM<)3z^ ~JbS H'<}[颫_&*gx It%ﲬ$>?@3 wq]3<k5ÖwgPL,bD DL b,o'u?dUG8Ed~LI/DߨLw8[b/D> 2_q4V(|3n(JD!U-|Kתp97c̛+Cs"Հ O.k)+[ U)],RAnF$I§nˋ∆CŮylo@TQu?Lj`8fd}L_V7;H̢qJGiLɰKQ=졟G;;Z}fsMzvg9~cm U{58"(Q&jQO3AH?dj,3WY-jwyi{Z6#aZmˍ(ӡ$.=QԈPBZIXJ,ޕѓH @q|b;:^g*x0J*g RBPHi}nGvPFŦ$J:A|pLM7koO|2c::r'?0RX𻭨ͧeC<@YX %Kt̲S{M8tprd؋8E iqcWQv~2\0#%U"]6y$Qq쒤"\r̎vsuۀ٪- y Qx fK:@De~WO͂ b삻' r7;ߓv<>~ 'S\=稓SoJŇ}1*{*P.\zMmztW>*4g)8IU"t%g/ݨY_iS27paJ"%K!iogʎ&6 :GǩܮE'؄ JV4Zx9_pϮq_Mh?&CYx6]P#Skxv2nzxc7K#E3gOdqU-yLo)$Ƈy(A|僂?ct&=ߞ ހ':pSϯ翑Z]tw[E*rҤ-(NϜ2 3~79DB'Vv6$.% ڕ a?y$n/Ku p g1BcC*H3 W TC.e6M+ifni!xvR /\,| >=rקkƀ{|UniIՁo_UKjfTh[:pz9j䮥8r\Nǁ#~>sN3~s*{Z4$< bJR8CU㲭. C%9*9%0#_ˮ/hI"!Jie妡Q~T} VK -,א8؏.'Hg:d%"RT/SkT'W!q5}j6/msndLfwgl__:e)2Y tsA3/G]xa1rnqjNw˶~(..5< $8E .)ʧl4dAm&Fؖt:P.ǹ3wzz蓩'?nx5UAKZImeٮN|O g7G`{‹SH/EڵW]ԇm/O$ʥ(H5kGj,Uw qқ}z Z I-X6 Q N>UO Q|۫qM/c,J@]ى&.rT 5Ǎ:#CXJH:G3yrt(+#N ? c?0mn6Qe9`YD Fvw%\V8=%?]N7I}UOlXatX-pᐰ ~v,E^(q.Avݽo=^bV~HznD  *Dzǰ\\3TjI#yଜ@*KCdVʙ{;,xBi tuNά_<7%Gx8-?$)Kc6F諛hi <#6AYnASʸobX BMs}/Ε 0u 'aB3qV݋pxQJ'ft%3=sMda5zÕF%1m',K~"7I 3>;Vg} '.U]9b'늋Z$b"[3ɰ& \ ^Uˌ3F?t$ȧF4"r.qu6\U)qeVrƵ5l_QPZ,OhmQ|B)V#ּ֣ u?lL Y^"SC=~ۄ#޼ ҿ3MOto;:oyQ1,|!E8o+ :k SD+zEoAe F?;9ЂxUѦ %kAH}V!ִ0VFXLM7;I>w!R=bf'!^s&1_(_  `,g7-aaƣx+4@a^qV3pUq_[8#8;?E<촐 c)" %3Mwb1L\n1|]_IqU!M1'cygfŝ(\ ֣}!Lg2OVp.!(>۾Zb޶R EP/hUoӨFM +ڮqxT}"I^$ a@A)? qzgR݄_b:$g7| lAټDi"HWT+>9]{˓ ΃*qA) ZB@ތutG--W={_2466?{׊E%@"V2)r=39h/Sp[-W"+C{57qM$c2)|˯Ab$sdo18V_A] #` \{ʖ8.nGgkp/nM1ҨHaUi27?˕Ӫz !6K5l$- )LOb /ǏD=PTJF5V,M` >MuKH6q¹8tO!PjIH{E6Hi7q~,̊W '(,2[ #RH:W )s8Ċl3vj,)"6pcI="ɉCE-{_;!cܚTP+WCDj/Db˸|II0c ~sgˣ4UcwJk(iG[s@O øe+S2 Do>L&3`j\-XPΌuVk ēlt~"Odq|5l5AIWA e05ͱl{e)TK>̄f:p1^ v!yJ^3v#1(sg5s"Q`_VrI W\$i͓0.5b漯 :7A)K=ԉ$-Vxr;p߼-y( on2Us.KͿ6ѣ^"&3dLJTKǟcj*"-4œTWatAJMpu[I<Qs}!HM@3~gK[ w?8*Eߦ3Fw9,&{!aB3obѥZp! 3\3H j_urb,%Q H5Px!(- Tt-w6COjU+0)#DNk8iBw5q#}юU/II Q5J*aŁC-7r=-c{)L/Jy r}N^g62tA6m8>8Y~uA_K)~LO,R amrn8s=̖RV܀/#ODYJ_eaT"Iv5u<rB1CtM!\Vĉ%y|^0&E HU[A&UdDIhX9߭kPhW#]W%)v'VpbWD#SԧxbF7"[|- gAfcwf1šԲkb}6'z/ų5r ^M ÷SȎZ+pF\oO='M _836L &2,[{Ee* Yk(9pIC%^X oްy>"Se2P[ϟΈ>B4tIOuyKoD0.hG.9mEK`he91-rʅ]־ss`Ԟo:W[ WӧN h砘eaRNː%Ơz }`rwÝ2 R~ 0{td8.`VCh"-֘bNb6vֵ,$^@`*sr4싫'J;V JvMwLn5|GT^ɠ,)ViW8.le QI]jUQgƒ"a'h?co P*P1ɋpbBfO-ڂ/d?Aךb":# 4dޙW4Bv;uRq aP:o'0ʁw*s׍/eGu/ChcB=nƵS@W7'tSYiL6NtibB~GWh1=54#fb"VevHM`.K>G{9<>hbE+7,&cir[ʘnןtGHAX<;=ȹ=[-k$㻳ZҎ.M%%B,,܉R䚔 ka>~x\Ƀ6]Uc* eㄋWEٹA &]Mo|-- RG[4}o-JDxt ̔9 v-߼W^9u[NVW%-2}?K+Cvzh > |-9e1.Rt$_#YWz=O1 1K4[lI" gǾyJFeȍ`8b~F~fn`o#mu ks`(bb!.3#rҝz>d&;|$è,bbJ0}稯9_Y7Cm#ZsȋL¨|0.sMq*M Lfև^J!E!t W3@6~ ה oɤ% ?2ۓjCyZݓ$?f_:n1)tSL;MdjP&p:Mž?dX@x. _LH< U7}A+62ҫ]G:˺lKsBvSUΟV=tv  2(Olm5XVcKUC8 >8|Pz7SL Ҙ6 ΁*-vvepkW<4l+e6+:|qU['ƅrώ[ B xx0SXY/Wȩ BJ> _T }MǣZ[f:GK%¢]1$L]z*~VArvZ7d%pIvѸO+ťs&s=UvTG$~ÆPlz;8OwW-IezDV7{h\Lj/t⑶(stႩd^<$z}Qތ7DIGPZq^@ GX~b-9 $YCX /w`'kͯ~Ȝ8xc!=I t0wR1"YˑWg_R?4  >`"w^%Z؟jxWZ7DE=:%Iy{׼(s`SNl7;r5IG19Hm}|mm&FFܺNmWO?^-o%:SIl=f8'@1& eE;a{1G#ĚW0 ѫ6@=ƣ1{ x}OY]*L!9?FcnU^USH[!0@F fkP*:=MX7$1.(лܜX |Ф":b6!"LDvf7>x-%Ɔn潲:)O~}H}(Ρ SZ\iJW$Lm=d8Z^ւ0k/j.C隥2$A1ڊǚ@i՟%FR$zpBm koMw1ZŽM+yBvP/Wi`VK]AÇ@_/FTc)/ZPQ @nx[SE#l]>W1w.D~d xo(5 #|[ ݥqkEf;5MN wϰHeGH9':W$Fr~j7PYu ǟvS~&.ag97I֡jQ.qUP~Gড়sk5"9R(qF2|/)~,ݸ$YnS[qCTtT1PPy$!k؎HD1824]`\cL$PWQ g)pin#wK :nr`]ѯ0€6q yu=ïiGn͞SmxN^Hk34BIMΤޛ<}_e&\S_kN}` d%j$|yHP_~M,AKXq]0'!{܁ht6,`MO]/6T@JoøY}o¶i5P!QYQ6o͢- , iܖ>]c s38|wjMk$:j-3.(MZ\НW?R3fʀiH{Tu_Yqͤ ,FW&( ]Ck%Iv+`?dJ,փO7{\ͮ1Dg5ϠR7\_+bC&sU9}Lq~~_SY 4L!I5C095M|tEê:W`K.ߢI㷗xkPl[#U?*=q(jkhILCY"s_r!kܾob؂";9:%k#+sYxVF0i9A1 mŗe~^?wq-ɼMu0aWwxzb?ͲX]6`N98-ҔF@f!5=sSY{ YdJZ+on;T|4.;(=``'O>dQƐ̜qp6md)vaU\r,'2$[rUHve~ o'f>!;%'J=yOs#z,Uڸ74"נw0W1U,ıẃ줶)_ydܭ7kR* 阅'=E+x8j]CAXBI$uIQcԌ~쩙Τ^Zg7s3ZZp/Ώ[id~-GXA9] X]ݗQQ>2gM}Z n)!AJq2${.MvZ,t\~**ϊ,[M+CCA*sԯ lmdP\m)1oo._ğvяƗ mM;C1HuApY"g:z^0IF񩼹*S?'yS}F6̖cҟzAV} z,7bHѝ^42cn5sӦ8v4EJ+WpT?- k.-xuҁ\wBȲf9NJ8U*wcf^D4Ԑ6> <).4 .wl?J)~"/5_x3JmgޑzCmϽGoZHoA,^=Erb$#Oʁ/z,㢱P[үbzo?-M3UBYۋQ%fS:(hqTsB :B~?pd">Κ׺OgBz#<2}.=uBPZG?G51åII tte=H$-B geT_a8Ydwj6{ImͯCƜt3|sb@s$嵳ڄ#rrÞj~5@-p )ô.O痌Fb֞DaTb H9}FeRy8J6d:D2CCP ܘv-]!/u @Ξ0Md cREX9t3i"6)1xso @Daצ8$@Dbeǚz.m{sn3lR3"!cg_B[ϏK箱 @&[{"n59Nu~()8$E0E@e}= Ytl܋7\1%]?hBYGp.|"MZj!SR8y̧wF4ݗ1Oq*OXK(vJ8~/[ G+?opS}Ceg%Y7P`x4Fan{T{16^|Vc/Cb._5w5`᮫c}"^;_46@.g:7N\ydT-JY_~=!5hwj ROf|C>G2d?[@~ zʜi^x)tT˳C2({lz2**L䧈;$j&6<3@5Jښyw u :R.vU}NN)'?a3 _ƒ[1^o1t; CkFʊD`(dp3r]!t%!x{..yxW& ]|Ӓh///I-UD~%`>ZoN1mBP\=9>*_e p @N_eu&!{5R6H^yvMO+1 -Kc"Wnp?tY]2VT"oںتpS* ԡ m44s{śyvn$.Dq2֧MbGJ:5aOW_*֧h'<7|aARoDkZ";ÃU9'x@[~9Jǖv<NUZ2Wt>tQQp 06J<ӤJ9f3c`tb=8pDVgg1BG|GU#!,-9Da)-9lwn:E3N95 [*+(D6ba勿#<a;yW`I iԃLbZ$bL䙛H =Nfمe,Q(D!Ѽ؅ܕCD7˖mQFNy-װŭ c!b0*%_;F~s1@V}2-[vwڲZ"ǨªW yZ1&mEaXk Oz].)ĝtS}ᘱQ[x! NYbj\nD\tOk L.Y+@guKdZtm̹lX.o'Uçԍ^'iy AZUU zmA{/r!xSUvZ,DOuĴIQq@V%;)c=8M}{61O9ʠok5Di1R:dn>s'aKAu[R8q@z!Iy]Nr?6)6#DЇo(N"_I5;bQoH-_;M ꁾ0ɣ?ߛ㗵ݺ2͎[RvzK͏_DGFppOq;1ւc`6MZVgc͆rcݠp~Ɣ%yRAl6Mpclo &~8g0㩋T<w Zm6e/ݦC2=ȼhbDZW.a*/|M1yFg"~ dѓxwtSa&bE!k|_c^]4ߖew 9GdA;Oͫ?yeOvD[0%hB;@4"(` &U>!Y d@38 zoyƂFa-0NE5ɓVa[Q7c#o^Kw {* U/% B<7*Hfwqq/YVev)C4ݹXhp9} KEK]v6< t&$)a6 s,SmjANgnAF?OY?rtaMQaqMza7|k:3ڜo5kh)p1= P~ ,`Wn Em?H G^$|퟾8En7Bg1Vr]@V'@6N Jxnc.DXME\lxPʚ0 όX*^> З7]<%_[Kz~BeS8o;%v~-v =S "WL+ LRA$C{`csPrN*@X|h@ȤeG $Tv=e٠@#L~FcI~r:Val8IFی|fHJ2 Wo|#'; ߿=^w]a09 R3@/qJ1E{sE%\5|:"r 7\N}4Sm m03BX8+aXj65dʧEHj4VF,+dׁm7p?9xϝzp`f;O,\a&ؕ3jlYte=!b2aX{&Ίq!z K1ak,գKHJ<&m1"#*[A}Yh5ZWV"n3*豭SՈGlŧ"|o)d+*f7VV`4Bivϔ(6X^_1kdhNj2Zr Do~]ǛVII$iqT??WÂ4[pNi=}o! TqIt , tw@(RYR~AE"YXnt#o#$5XӸ-Io ;qR9FZP7گS.bLe*0 !iae4H3o#E&΅ UL<5/ƕi!{ >lIycǗdwdNSս.BShT"xi/%mղ:amȢQb=H#5tڛVdj -?C}Il/\ZY-, Ms˦'Mõ2 A5] qeq_SrNA6*ȵ׶3 @6|o IpN9b%[5,uh}z:OqNUԲ2IRl{G)d |`؁>W!dG _]g뫬s gВПhq9vR\Jc=$uHMɵЩ9|jetސQiUf}NUٳ΁T-K׿ͭKi8 AuȦa|Ry!CY7!ZnEKнgqDp@*e]]>]?Mi3t@}JbۨM5]vtqTSV@% T5_(aѠhſ,IvZs{NH2`+{y<Ť+Sg 9i\0%"^X _@P̠3; Zj(4s`n]ޑbu"m-Ř]Oʙ CZM7OSe|iڼ4uM64#{|j9aGٓnKG|j 9 6lbt( O('-"}o%inUFL7-ێ%#(gғyoJ_L~ >68nm`.K+7< ?ILl휐j̚F> c}IqfX% ~ػ [R`S\) = Ko6`\KH6d1` r|==~߀^ ܣ@JQEyek{"6b.0kO'yLt<9Bx@05"n/[`GѠc`(fL+)LQoi頨\DiV~c CꔶX ,FB dPm u D4XSPMਛ[m4f6Nۅ k#J_vs+a]A#3 3(goGsojyL`ʈl ܐbw @Bf.@'00ލG8XŰK_f3IJz7Xw hX#[ *Yf#>j4z)^(KGZ2\{ Q,*66?z?x Y^\T w/7)w0|~SPH_>g|,sWHjB Vhv2m!ñ+6h#hm?I5bk̡rJO7^"5\,{ǪK"bGMM!)\{C5ˬV>3;Ыva%6:kU럸alhZgvAuJiZ1*#7!RICŊeuyR<@5(]{ty8fnZU9rm`ܱk.oZwvlsڶ$EwS^VD@($rW]%۸kTp?Dt1c݊sBɆshIR8ŦJoY5{z6vTF lKEմC;/~kQFsOar1c1koI:|-ӮT/u|3qוo{z)HQ# SĴ,"/& 0&]qj:E#|CV1)Dpx^V=X8-FV:7+8P1ϔUdķ° p%Upi;8*3%T%: ,2rVcmLL&X|T(~ܲ;Ro^;}*a4IW;uZ 5;GZ_7.ƍ?q| e޲m^LF_'6d`&z *gBYoDGb4Ul@gZ."/g0kHkHy5Ԥ9IE g"VyaP`Ϊ݄' SAEf1q:w@7y6a V:rs0 MynB̗hz.,_{3Pҭ1F`ER~B(^;\=*T\LM .[ȅwnKeXʶgZc:/̞J/cNce v;|d +%R49Djx܃4|&$ˍp ^(uF-Aۗ EKF1WR/ܹހeڙzXJܹ; *ۧ lH'vTG;&Fu*'ZT4|ZHi &a&V!O:F,B\ Յo܉V<kQrFe@[+| z59jL>Tkwp,n`\ӆک3An'XUpm2l;@ RrJo^\ o{mU$;\㌈nIΪP5Պ<;=Wj|_(M7oc׽ʙaiJ|hY87<8T"H+D\e&3Q*^14ĵWqGKiOv.;S6i2,9P2}ұΉUg3Kߌ@I=ZҞڄI%5#+To".HzӑAXqf6"s-¦wNm}c~59d^Ô^E,#>5SozVa;v2}0!\~nn])'qCJ uTRR@,Ag\cOgy.g 1>DF@;GjP٢#3^ Юe^wܷNgӕzEUjjM+Yk[`,S 3K/5<!dTT7/3@y[ϘInd@; 캳<}O)|6FA\^b7)kJܬ+]OLkB\-h/2/)-9_Y5T@'u,DX[Oj23c~*q=gmO"XYn}à&&8)l%x+{m-~~8۹lύ_0˹-4w'k%Jpj+~Yb _2*a:~Qˮj04ړ7apSIIܠhpM4 m(bͼY cdNr&7n8,hMT$~g+C Ii$%0o~j+ " @=$cFE.l%eqe2} 6(k!t~nWr Z.:`ܖ\ʐU k]-#O Ft—(͐'BąCh?(T6Ĺ 32tލ xIx4vnc ok$ 8_:P9gXPE [!yVG6r}.k} Y,th4)KŔupeްPU?(T>m#r's)@o_c1{X\Fx+F}`UTK.08؃=ƒyW+r͉lEr2~zY C=92CeyŻ@L\%d{뭴'SmH%(}&ZrY4Q3>*l^1x0 Qv [@"&NO>4^i Xu]Nݑv+1]5G(05]˭%R\]Ks xRd^>kdaʚ40_[ zN@"gsvŝǸTBp~f9Ol3faJP߿i2DQpF>@=+Lq<ƙdE4x"~ ĺYeI)5B%"}}%C:}څIUKsl$ uq>'xBݢ VcaHd/v^'M#_Q\ʴ==X(KzܘgjUo*G`p{Z6MJ69AƸ\ }2$3:FyKR$ӥ} 0tgH[1C3UoV9USV5LlbЍ;rij>g mHKOdR'x?e{olL:l>V4ԡbsfücARY"輤N,kUzA텤=$k8BchSx8/?Qv^Y_VѬ=6xDz6hcrIH=F!VEo8~gIIVzac1}<[.C !oiX_bH6h=([(PB!z܈]W'\7+Dd2ECVajC;"?G-eηdvm>cȭ|LM~A7+kXZ"V.F0"A"h1y 2]K_fT<%Q2 LvI׍~Ѐ>j Vy)1K(B< α;9n&jZٖlb~XՁOwf"meoFvGwo!#ЕRVM @.@՛SycoFtItٛ$ő>L?vfAU&.XADD2@@U&:LG>5*>](ڕZnK8X&y]wGr.j4n#nւ-޳ ia:%-Щ}XJp}ڃNt~v?A{U HvNh{^f3H]/ N-В"C}: y;/?TV* O y?).$e#OM M(<Ud-b>"u]4@, HU2N, \T\1䚖mkw\fpªE=&av ;4~P$\ s7 0ot@]z(M #= s1jz%~#HrsH2%4s<?N=Z[Ew3VkMx}Bu+!.@)\H/!څ}0]Ao( 5%qj.[ b[Y˟沒G-~ƆRgN+e7k[pnǿH‚\G_DQ%Q "$2vFm'⬣! شޚ\è-DLE+AՈ+Dœ 9Jzj UoHG\1 E8q{? et8">$i=-KhhuY%>AJj~e ݇:=6|ceޛ޼fG$^y& N3}}0XdBGFXyM-45h,ε4eynAuI.ګH;e yVG^4YXPhdq`E''XɌ;!AtIZ_aBWB Aꎲ Ol ٔӷA*;K#|xczusn]ϼ)7 ~L9K_,zK&\+{Kkπv`^ ءq .P 9˥!ujQ3s)ְ*#Y@tj-Rn% AtHqq/7V{Hϧ?` LI(ɢWÇxD)+TlicČ;|Y=M(WcCs.;9Cؿ\9#j6Fdp. 2R|=X~@<گk&P{ВYC*8x duf0vg83)n|ZEv3<101U Qr.BI/6iƎϑ`$7#Z1u읃.b,||.)dcڈbc!]ɑ/3z65_r^KAAg=J:fԋ{ [njӈw8½q3Aqo%ɛTY[g*"r,t J!];(ث? HdIA)$(RםFMS΂l\ݜ^nG1EWL_kq rQZPsx|ׄ9 fiS5k·Сj/1jj%~hbt?V1F.baQFL|o,ʄƼ5d\yoV,}ƕ]#q {SUos3 רHc}"!-rQeA+q[A(,;tC_A?]Bg2e#6}TBD\1qNB@*uLN#0 +&;O*Ytq}j_xsWjL<<n}>!­jne=Eb,zU}iR%2T6=CGqP߂8;8sf};w cFg S<*p':Q6 bkD7:֟w}pJXV^d[ =-B2IXf 7-gQQ^T^UɢҥZ+FkˊT !hС _.[oSZτkf|:|i#"vt: VHr!2ŔR:i_cӑ*c F\BQ:(j ٓOuxߐnv*"BphI{X/NH/$滧wJ al&i=MZInΛKty8kP9;(jӛ1E/gl!{`< ,ڬ;R59Esni{ ೝ=a,HuFwny f;urY GPx232%S|B_iPc NP& O]lcx $/3^^"-R \Д8{RzU>n$; *eƑj:~XjύzC[:hqbCNa~ `W`KVVs1 ?/3cH_m_CnW-gcm,Aھ(Ĝp~DyB,kɔ&xH^܊! eYJ:ݯ3sq<CձBt\_n~;Qa2r,ouo8J̵`ڴo?|Mk[И30N=D6,mוzSVj .|"yr&aS2}c q*lϾ9_*3pT6* IG0O-Ҥ;Vn5oLPc@c5hVcޅѵh3X clv'y G^jB6) CM΁1 z)&e<_!}Kca$'6HA8xCT wm+kgР|'S,cܢP07vDzdNo|jN~)Ezِ*wNDYY#Ѽ*,SE=!_P-#c9.1Pf܂^ #s/ݳ, g4 { M ܩw|K ü^wuv@ HFrZp. 4(s7BR#f`h ;tl2v @dmseNn37b6vz{vJٕ+Wyb_*45ÞI/fW1HV+e\+jEO *Qmi\߰;ޱh̽w=<;h=t3bVw?1%$&NDf&!@SZ(ƾEC6,G"pooDW+LQ!/[x T\kdyLWQ@]Τox κf.%6/jhXE/04T]<IUF+߷2]AĀZ \# DCOˊ̂};toaN&X S+sBw ē>h=I=$ON־lXV%$ OZb>Ã1F6d!]淴b'iw0u#,t X`L Hw!vD5 w!<WbPpnKkCQ͓w.#lҸzJ?)Sjy=qൻ9k# *jw v^f#E&e)֝]Ԉ%UdC}(-5͓eR#%YmG}Teb:۱{+T>Q=v8WH& ߬ٯא 0 vjYGيFn- f@VޖKVwWΩ_+]a' Sևl&_"(DezgHENJNF ڨ̜`ǖKǪA)c2wcJ,;m,j$k*/h(P8m^s'ev O*.ZL{=.;p׊oBRuRyu v!8!OGĪtپiN,,W7uYmS_*C(NN̙ͦpJ' ͊&EuI'"e͆Ы{= K4%ۈ-l"(XUڲM;TԹ,\ib_esX|mU$/e~M=n)ooY1G@E]n..+~!w!z ېh7Sh4)bc f_q O#:Nщ|%!>Q"c47}Qiyd7I*nULuE@'J:tUO&3q}'W~BjE9Fg.Ȓgke+jLSFnY4眪 C[!ׂt@ۂω dd(?1ގȽI0KҶ~}Y2Ck.)-J[[pɏ>0 -5AB?mi wZ*?Qc/fhv5%lc W?iE'=HwY 49NLP!bxG^`}1.FP^řNQZm#;Xh#&_ k6p T\qܦ:)J (q~w;O~qb+E"@x`5%9VWʐ6H8Ki"UиЧWɁ³E.>Mr2I7hxiddGT݇X,bK5 fa޲s MWv 1@ %7yu]7p??% =ZX*_psr4a.9R%4KÏ=ϥl bbΙgԗTq.W%i ϦLDEW~?A#3`l)N4U@֌*BJy7 lcw-QMp2fCΌ0 <XC  X&l& ^5;C'HRyM}dY5~$.e i8w3T Xt]ٝOfj&癒 C:RNҿ5ߘ1xY%ksq5asm^rҲ 4$iM qޞ%ز ]e<7B-`-pdUC٭ώ U{(AD3u,gkC׾l4Sկ>>UߊY2Fln9p`9 ϋ.LQ-3y_[d|d'k {["UA׹ +d)K ~ك²r_vO&TW=qΉB0n//hV0\vΥțKQ77h7gJox٭[z)I0O l4{;>- [{ Z+P/]R8kjk+-H%]"I 3ϣ]'ϥAxc7TRU: .@PYhFTD?'C\qn rC;Ǖܖ@f3r1c[*cs'JOf:fjMŹyTap&>Dv|$є~hTut:v᥮mgˑsk* ZLi`)ߋ%8+x{7?lI^o'F'hXT(Bl@3yНyc&\&|Kpx GK;W9RUx@B_bY講 [NȜw5%P-IQ ɝédG+ f!q#zS}z="P-7u8t'\kjHD͞W<  b Ґ2 u(t/]'9W 4F߯<`9qmյ&+g({)-V.K\M`CҐ]r7r`S M;Xmi‘Tt։y'g2| !}XIs~ < >fO~;G^-r,!YUIu[b54Hja]˄=&5T]j̮ oumYcçYwp#xe [ݐt=R`]2g" q:} g&Ggx!Iu\rt/3Oֽu7j-$h ߶24!D )!u?k3s2ȾּCW've֛=ynl8z%o=IPi9e큳 ׇ 4glX-Yu :ӧSn~֤>pAGEMgSqFQk˴(4vI|g(Aud_I_Prx jǙ 0/(-l${-N=S4 1O0'tWiD;+>p#9)3ޜ*k |,Q(w wе}Od.ŝi%R.0:'(N4qUM ,8x\鵩2 Xm*x舨zLGlWkjq|ndtnxl"Rm_T>,hvLۏWO:G}}J9n;JӢzՌ",dM6Lo\`5=-@ڪM[ٞZּsY!d)Nkd:au Dʽ%=,(p,a8hAP_J%C &dhgL`X,NvNt)Z+*zShO{7ش Mz /:qȷA7-Ar]8aۙaQn1F'冺ϡKu:򪾓AJ W#WE{w*f1\ U0@V!vNO_6d8C3|rӖ n'ɡACng, 9Ps.e'<;w>`ӣjV.:jV.| D7&^Rg&o2}pUx@fbɒ:n&n-rը?Cݖ-g96g_9 P &nGs=ay0G!:*ƗݮlNѨpːw{)JVyLn<JҔl{7NM.DP>ֲɀӂAD`s&;[zχ cwƾZ?Deù%g^C)2|'Ck\Sz$/`x-$*3 ^S;ϰU'EM}hO+J<3݃f(h4Xw*~&7]JЌ[Y|#D٘CNlk'0Y}#)R\hOs~f*ώWs?hD6YG+NpC 2.,50`vؤ g 5B[U42LD+lJ}mf@}.8)7-#SVw<~-Y1D [ocYoh׶,vI2-aXQnjD1cݹ/ `^o *՞; !h4[/+_D/ ߊV0{ט#9eG@-H*Ӱh^(!p.KvJYk<{j( ZmӨ*W0YY'UNL5i@HPnQxKȡbHj@B8\hPp4] F[m@^$6غJ\Ҿ_Ǹ@ Ś"&C.rۀVXz1 1ʳT9cga9;$'soJjZ@גWXY>,w)e:Ų?f6`޹J 6؅}(rc H p72QaA(4,]<#4Cj&ei,B;2a?./ +kiIH"k3.UièD&gh)Rnǚh"_+ݿĄ"|$  >^ioM)g=9Ƭ:5)\XS)a0#& G͹&&N>tl-6 _r9Z(~V%+Pe~K9Aq͡Mtcvs! M\Y.e'9 pv&ߖRgRQOD3nzX-y#ZjC,Yҫ(bA4>gVXHi"W8 Ь@`dre&_>$2Tˆw<4yI`R9d :¹]&U=ROꖽ%+ds]ĶRR^\- C&9ѓ,$foǻijzsɘUvv}&(K> 1 }$e9vy&u&v}*.0˥/062OԺ=?!sHǛAX`*ޒ_vj%kX'$3bo[:kC=Vr1M}=5Odf@K#Ȏp^p-k؄ yȾ5uyL#}{e8P/83t92ygV`+t ?2'N[A: b4ɟS/7G xU+XQ,{-H)K yh"U Z1U5'%\r)z"ln@;8G{5~w @cR1okDB( GP^֐7+\!(>%HK# =_c`F:"㒯r^wmJA`{-gӈʱcٵ`uuDx7T;O(K֔)E%^Q R;o:.?s.}I+z9LMhxـ=9 %IY]/ sn;)HgtIV%;י-Q9t$)Dv|n T ^!s?)X; `۶~b~KQxC;Üae|H$*\7i@fib 1늾Iϋc7hma@, qy<.Y]C΢S>3 \~Z 坩G|fH֤-[) "={~nfvO穬¨AK ДGSCS#V}F}J@Di|(t'9f=1&BR2={ɢΗBgUx@Q&}/౳ f=MRfD Lz|͇behg;<)ٰ0pdÞCdd=VܢerTD/!zb[`@L3]g$ϕNA/_WUmW;ڡtû7;]ڷ入ymj#v@Nꥀz~վ1x, Hlua+$tA)zBp2젊+wPo8JT2'pZP` `|3ד`#^~ڍƈhp!2Td[w">7壳n.T Jmx4lYRvOSEE,ddPR!VT$haabKKn`4t}t쟟l?NvMDq@^/3P^G/#[sTnn_pԐ)#r "?KJ)8~_TEPahx\s8twkR?9UiV΍amZ[;u; ^0%V>kZ?k6O1F*PV8L!R5jћ}x2+T;LÌ^(MT?5FS\Ouu =S@bvW(4VLgca_Fݝ<+c S#+|m09uSpܷdb\_ R@7mk'p@0' CVXfΏʄ+Bu`I7Pwכ9&RA$ kP΋LIıiʾ/AC¬Tܙ&wOD̤5=[y)wWm@!D _]&<<5vsAӉ--ڵYBdgz<@GmM$˃\|hN9oV!d~7RK[A2TSV}ӉwAs9Y!I եl8w$'cb˨N2"tOPs,R(8>XgVe0 6CeF/poCC?)D#kE }`"wہiͲH--H|LΓCתinF!a\alKsb:{ MR&c?-KNWg/-۱&i-s_l; K Iqb0R4G\ǼaKw\3AvXk^2>`\ڹe~4IMV5#1[l1.=h{ 1љNu a4(|5GGY0"JBCaQ(<8?XMk8yD;74H 2߲ v7v@eMLjI)T)KY㒐+@#^!ژ8\?ф탤OC\W[cR:JIrYMk ls`FZ:^=+ l[sM*Yv8ͨ`z 2tt~buy[jGs(A~FBpѠwo*m^D?U_s `Za ~%6>h6.#@eFJO*n ZP&^SqEKbWXp A,8hb.BW뤯5/c`яMUJ ަ=62*8ˉ~9_w>X;o WuNo2@iz*F}AM8LwdzD02<)$u!4џÊsz36IţMs,6-ɟ] BwJguxH?uT$S*ٳvs:Q:F6Ģ|Ppnp EYZ'(2L%G5 yBY'#n?fkEY=>QD}zvOI 32}̀d%YG-*ͯΣ4#'ݰ8FyIc^~ E='sB / )),Q/O4byIm8GV*ilEZs29>|1 FT3Q4Dsʧ*sLޫ)6e%R޸ ߿ boNsc$]l]٦.9]8E?ыLY/SH433XaX?tXB*} 8N?wH>k(<1c_,'>^wedREw݁_jLEliщ83ȱT 60=b}\r;c4yݜЖܵ5=Mm/9룴жh: wX=Fa>hj AjmX_nډ \', }Y\I^\z( E/`˂N'Cݾ0+7aԵ"A~' rPN1py ;< +:*mVqK>lٿAu{n/=ܰ 8?o4+.O&^TOQ%y뭨(BK%"dk;mCnx72\hHyQEY]Nu}m "~Z盖P1T$ RNbl+$׼<ӎZgWyL;1fNj}A%aY(v)jPjd8u =&7|cdY Y4aBLڇvci('6?-U瘮.s\ÂZ32]]WÖ`AmvȺqN`磊D̂?͠B쎼ӥkhX1Cms>:T86 ̖oo4Rgʤ& Uߒja!EKF6fY5jCơ]f Ww4?!kJs |cgأs/l} E#}2|%Vʔtla@^C /gSM2". 0i$L  W ~Y_nA؄VR2o;:ԂY_SRw3!`۝q-hF8Oj-jC B0#CŊwZqN8_xFEa 8LDaQT ||bcnu}Q $}xy)AL&^jbr1d:@@|0cJ'Qe%I>W9,XY4]({v:Et =RGZ aw8_UN~EV?y G.Ƭ< i/3(8&*75JKXB1|na׽ KoV9H5@MۇuI!z>O*)gB ade7\YU!$.g ;f$j-k'3IVtNK-o՟#Jy1ӏK4$U׋BrMn|MFF ՞"ַ%U6!/k nPYѴ|l~$)LZpϓh=d)Uop{OAMD5wh< 6W [`R_2Sc|kh]%[kdT_gIHpud* NmBr1 gk=1[Ԍ X|1rFP)IcZ%6(36l9QzI$+/m֓T9mmC~d+Zw$ t.[ş|&彽|MMb~kx E6xKbB0Xxf)o1"KݓFDC< ^\흐!Kdc|gN'@J{2wJO]セX2̪z/!_o(>B0 pz1뀏((jb% ŌR DZ*46b?N.cR| ]OHjեR;c_-vb#<ɟF]?S˙wZ.׌[wMqrάM!܈ w YT~]#m۵C|P|C(C]ᒇ3Xeޖu2:s6z*;d.aT; ϗS4Z(sV~UԸ O+ |i3jFbIhTI1&6p9PgE@Pi+3 FtEv6k!:dTV1@]÷8I\醶;}hR AGfۘThTɺ\GLtWlya/)Ҭ PQ9|Qo J6^JI߃lQg?{7^3rdXql*TiGyMƖ:uqSikq 2c9Uav q,"K@ GTVO qHD}'ɜ,.7B>p]?Q$R^vTGZ"B'c6yX([J)4 jJ?뀋w xe`œɈF.C Ӛ oyfhÔYRӊ]Ӑ֩àwDGX+N,TJPRoAcTȚHr碌n3%UNã3E X?pb|x>AyARUR;d֍~0;4GŒELE3KQ~ܜsN4y' !~2G;'ؖTtRgTZK_fE+ nU )1 2>FG֧$?}WY K6ԑ^kӎv6=i `AVB"1mSBduq&lozz@Ya}.CL\O--t]w\rRQ%@k,ncOPc$q lF0¼R*amza;X=`;0P_';(ʼ~7u}aoQEdpd꿺9~5‚8mY_NZ~MǾoeGꑇG"Z&l;Q? 3JK#sZ!}FF,Ryf4|7t~dw ϙ)CnD5(۴[p珢f?VLþCږuˆ-d^%ƑOui5] R~bAf':/="M2GA|Z#%yCh s@EW'ݤiLŹvZWѶa2pJcq>#>mEwaK <JE蹾8@JF&) & V@cA|1gmN~XcvK@b0?3 "dvHЮ o ݿo+Vtt tIIo 3Sg.u-5C52$.>NFـ(4@礅YN}y7Y {uyPo\9Y Z/c V3sr1wU% p._(#Ӫ=NB/͟K)R" 11Ϗ3}9[v͜'&Aps /)ȕJ̢+1oZP% aRK4/LŁݥ!0S,P#)Q=PPX6e!Ѱ4~Lh-Y\nPTn ȱ[ /'W@lǿC=g*j`P zi]or">%5v_E)ͦ 0r/meu.[QdJ W>CLplZy|QK }'V@;D\ ]0JKwzŊmC Y` ׆1a@ZuOȨT JbOe iqm"0BJDcqjΎ=݈t\1wz(&;D˂#ڱ(ڋvڿ)g$8I5Pv3I#C*%qv6[`5 `ֽ~$Wc+Z;TÀy6kq2j" ŀ֟5щgҴK/*mF|3qvML}9Y'fwuGC:3nmbl=+C{Jլhy_NU+YٿsZ֢6q }eWjb#L1Fkw! IxI! Q Y#FiQ.\-;<8-?g\fȋп_BBtPc|&UKbSMۤ;}n+eug@~!WIApw4>v^VA{ L'QbVbqJѿ"[[!W0T:uy5[:~ը0;vH)cyгEHrCpvrI1 uYsT#*l+ՈB_׫rOdRe^J=̓Z7K8U%0EШ5tC~Yt(M?Q[R*KůuǦXM҈l=^2Yope73(MNǭjAFITؖLo 嬌Q,~L{>o@C?ր+BvZZcV/!n)9Pq Q\ڝ*/;鋣m79L)B3A iH,)w0z"duB˿..x a?9RqPf=Z18jρD13>T<%;9m cJ>_K+)ZXU?Yڦr 4ZOTp`*&ZgB"9~OUי5zuS_6eHF,==},Kh]Rayl֞"P7.9 !8; nOo<8x0 :?rKX:4τc_o|`Z4m#0AfktyZ-z*~/7> ",(샗醼7$9v$Jg` C( mSn1%?u, ҮĉJO-Z9!miB](w5lʁW馒qT3Ic"?ND]=QxCrɹ*>Ѥ_`UުGcGkeS4 Q6LQl׎MdA5)@v0ܧYQ|vNK3gWKUXCq 3#wf٠|?i\Ŷ&_ef#C;o>s콌]dx=m&6H gzH?|-tP}Fd_MI()Fs%092P| xX~=M.Nd~ZlgD4떶O7 ᆼ@<іN#XDoO%5dƉXpH9)ψʶ>2Wd7p9 Ώh㎺? IT?$>LG`J5X7=?,\E" %{EsDa=.'84[ 5Hd᭻y Yg:yBqڥ! &cV`d̏iV]?a hH"LQͅeM(sG~p;ac|yvE xiڬrhd-k95 Ne/vn0QC`ԡS7Aώ:PT _:/L.' ͌'b  v$XZ YbB%/(h"ԑ8w/ WJzʙcN^N|:Wg-cL5+3I v3@䩷K] 5^`+I0 ͉ۏPWޱfybm{;Ô4:Ss@2ϘpTJ?`9 4O,oJ=:%ՈD0dR~hTPQ«lE1/%YH$ͤlݲ7`i4 =}kuR0֍4x5b/[{.؄Se~LVbG\X}9,e!˜4N':{%.!gKW9di *QW[eV6A>l;*] C}.UJn:(f#~U1FÐ%F-&|(A+7E~o^wR|3VjBbo] |vDpMv(ְ6xu؇=E5T8NԞOCE%Z>ZɻF!ԓ,S%W$"=j3o7lT |]gr G{6߷! D~;פ:L3IdUi`J?R/a< U]D#f Vz{:*;{L_Il*&պ_ }* 0Ds S<])@2\aK.>\*)GJ<%h \{f(Iqv ilf=<7 xk񟪍d8z}5|{bu@Lv2\q#ʭiȧ$7鲄;V\J怔 /6E-ن'@=[84v3j9iSo]3ݐ$L*XΛcYl V vK"r ?ag+dKBT\[XbZ؝f R 1l1X 867oTZ$:.yNlKrB;3wCo#)K3P:Zu?I+*hԋ9 BW8_Oە,~ʨ3i\ J Ob8!̻G)G})qr"g}z:OК J&wx6553\ڪ]f,Gd^ ǁڥC˘Y[Gs |FlAʹKe#P oXYt T5jq H wu &ݔb` 0r=N!/-oQoW ` ]hK\6vY[mhY{L都3kcQy 3>BnGP)2Q-Rc/L{ ^g%:kBbbuŚ3V9u%=o~Iݶ#wz9 Zj{}C,RL(Xۄ°l^|[PO}Gw* K:9ꯏ؃f:8$6]dAn=)T4UMLqqǪޟM; ևU?rŠpShi h.#3o61dh^k.J>ɟ'8ZEvS L(;2H6ݳC$D V\RvK}sҺw>'R6C[;B,;b#ڕV-NL’a!$\<=y)N$ zu!Ô7woݳN;kԤX&Ť<_O 9kwT,s N,negH2 wQ`F焼dݜ)a^#?hq0rc2D7`}.Wf)w\iQ育V:p7R . 3ɬlލ~2z[i?UU-k!noN ">x678[ wW{7~[pD=qC|2x wkJ$\->ڶ#/zpwKOB-?1R.\ihҍbT.&<@^|Nb/=L}wOۑpV"rH}+5j3"_Po՟+ijCŝo9mT61$$ _jTb9VDYKK*=(D}:Rxlv`[*KE9(C" '<\Mfv~cv{0յD#_4UUꎥ ix 9L+-r4 Hn諘5)n:mP;o^=hdrQ~3|X9N {^3 `ja;\|Je= 99$1"Ps!"@u"(5Ax{GEMiPMÎa;)>EHC~\ 'ʆ&x(_!zGoiW|3yQMV?kVRV^ELH}YX> ]BD1rYU֪Dޖ L[Cx/18Z`z RTPuǒ޺EAjjI';vA+,|qx.'pnG7Bx\dʟ [w2BK`䛎a+ mchM[4(}M!Yް鑴qB<~Ŋ*̔lbUqӈ|0M-o]ڛJc۲(zé(%t'\7[;K֬35AY&)khMG,"Cf{"rnNl鴣N( .''=?uoX'sʧJT`W 7UOkrSRw+ c8=>MvMhzjxGp)#yhs^_y)K:$4,>\)8~DZ7nPX r>YAtwp<y:S" -]p,l.KAT1)d 3sPH8gE[ LH28؟1}Vcv"KbҦsAKG2enHokҥ q>lJY!m~űOhQ#ԤրcO2|W`]s8KDwT(mp2>#aou8݀ hKǒ6G-0ER_anq4]D1٪s,@`+dz 'm|?Qt>6s@znkh6B%55~rе\DzR7,?OQL׃\t[щ/k-5Y3x1:gJ}]:7HAoiѢ!H& >X-{:8RgXe|`L~L!LjkDtQn!W(w+[lFعQVekFH6}=oI:pb7}b_dSFuwӢ*$ҏ/Y6d_7{}O}yjwK`>M/=@bKpH+rdj`7gF1F#_gc2= VWi3l,OS3Mf ϡ Y fM yȘfT&3@|By`s Û)rp&xU8Io 7>g pp91i=h-wmޝVO1:g(ϗ)lrWtXsϘ}=3UK04{)C^u[0LH^hQ߫VۗSӠ# <_ܢ}N;yCIN^>8!Cʎ%JY `smͶV*CKh2 e'yzyLI!:Kl<麅c',, Z}LO/tj_/MʨoD9NPF>&7t$_|O$aG aU=7BkK.:4ffv=qiƙ/^DӴ@jOHObިxv\HX*(VPs .-賃V C*R>UXXGU߮yW-?E\*<09lBY:*DZ34ZLAv|S.J9FE9mCE·LzR/*n2B4,Kt v Yr0JB'sN/iUI4K~~k놼9,gɳwIa߾#>A MaWIAoQE(vɔ͋R>#'E+5*3e`vHF Qzg/dJLv(қ^,*N{D5l]t6HFvn8'yaxmT ;&mixvT|wXhDnK:@1lkIɒpj4 &{blWe~^wjVGWOy|azS8˟aWP`ctNbqY7$Q@&1#b%H[O%Yż-VoUn̎-Y$4Ҝ-96(@l׬Byȉg?d<HJCZv>_LP!ZV>]I(}|@Ng{$^p"͇4MMzʐs%x٥|vʓ sdRlym7sSSE58ڑQ`̃/;l~ՁcIpk [aa3`Q99d":wgYkM[s45޽J2hqol}pb:UPpLBŮݼW< ;FMэRDO wŸC黻ѐ.ղ%U棪B 9p ݐuЁIM֜[7tr&*7--kW dzݤ/z9<[ee0P~btnq1뎨1?v&5K)3Oex)Yk(Tkb[ tp&eVAe ,.|xg7v2xŸ0g@FL'N;1u TJ;awW俄j+.LU^e.@xŎ ƂhebGSSO޳7u%v2s2K 7zhN9#qԡ`<׎`8}}ʒG9m']Mk.-ᣙ-`k9Śgl00m|u4Ȋe9` W+',PlSS.Ci>"Ɲ}Rrsjꎙ-bHN3RUķFX2|Jg V +x(r$2,kQ|Oq>X>ȃÅBև@Nd W=+H%m>?2S=Yl!N U"d,+8 +{ jRлh,uYHSK!>2=lv9(WSF#@pWRXG'W!Jrme2y j2ǧ$f*/D*xELU$XG?jp HסY|\[ш&j\$Npĥ/iB KWZӨ?Vۄ o Lvm7nbu+Gf2+Õ o%FqZ#%-ԬfJ&(s:X f$ I\+phP7FACW]yH#s N|Yk~>MƲg3њ'Ҙ5j 3e& 42!dcfBO=m&-`f:NF}%0d ;.`5f}IB'~@;uXfwgq(JaE;`UW&÷ ;ߓ0QmY/FjQo(uoP.xm&6qZ.pu *Q(9FDe!kNkùev["yG]!t-9#WasmRڇVĝu1+[kS@B^x|MK@yciYP{Љi4ns:a𶴭P7^adgk7_'|%'SIy9VM$McA7]LӉRB剟X. %0$Cյ7IΟЯطɖR6O2}ôK/xc:{}}D_v3U@fd} u{CGH M*oTIuQRcI_]n'6g'iشq ''oUFx3 RYULN[į@y?ydO=4`<}EPxefP\,5NÏ?^z(73 ԭKԉvTՈ3r]8ЧC9V`@Z6h=u5я HgtDͷpTR[H wA'9o7SvBZWom蜥2]$PS ;R ܵKM7hmHmиC018X ϘNf̯9o. h rc{UhEN]/oϑy: vM $1d3G-.4?Cd# '-J;6)$,n'ܑy/Y k(>IO/jc o$1͢=Ȇ FɆވYxV_d{4%":HO NmMz~Ys:X ~ _S8 >%|&ڷyYdo=WuF޷!aǫ˼c/osS;]NYJ>&_&v%WXԿ|ۿՓДJbB@-qFHCoY |4?1P`M6I½If4M<6 Af(&ܹw?kE4|V#+_GPe 呙7ѣ.lts.ϐ, nyX/б6u)}M;7>uf3m8)C3 a>۱?#}%߄Ҋƙ WcƗhfÏk5l$ %O[\H2}umr5l̬:zEyv]Y% 8dOFn;*_$(H/%p =%47Dav8w]:Եrnɷz$$@0DbN5yݣ,>X^2"LЈ)bڳSleNbvꈉJ11J0cm_IBV66&Zd3:Â)FTxmXSbg zXBBuSt˜},zucVof%\`nϬqX{yH}āa`'$h.8~ u,s8(Ҹ@D?]l;Ib3QM\Z/q! ̼Am~50f\и!%E 4 %xfī97Hev4\dkcg ivn /-IOG.t˵fߤfyEځ&e.F%H _F4`Monco")У/*b"PD߫rJƛ= C2\hؙ>4/Ny˜$[jj >(?!?ƳC<Lm3=Q0xڈcf0!{N{fV69t}!%$7:\S.1׮<g2h)E+_37N5%%I6SJ?3՟^R%Uȭ XoB1)Szd H h0|0=b;Gpemw/AtnG?p-ͩxӔۄ6ڏu$Gy;a֝_|[X)5j9vڦ 1( `'~T5ǨK%b3ЋWU}?,=*~ےnxhtY-POa%QjS( wGe6g; ` /VY7, b BabǕaը,\Eb[Nٵ}P\`k^,w njklcuRS\]HyD܀goTp5*YH%q>KXx_e YV\|o q0V2 ژrT(8ʊԜ& eMV~ BF}8 =X){ڕ2"UH,m`+KT̨JNGf W:Y?ƻ@^>J>O˱N6VL_zNaѶ K{7f]e<_h3taQ` U/ʉEȺ<œj>L ar]x ̡Vo]|(.hdD岌uN(Sw}5.;7+~$X-Ksߌjt!_=5%şv g٩Hw=J6 j '$$-`נ4xL6Ċ3g+c55)~l}A=S՝J#FNkaSsUe(+n,LXߗ TqӊPs`(؈q2*j])3{]r&#RA]Qa*} mD}P2K(6϶?T.5Cr|+vxns;$29[V],' kkesAzV^Uh0t1 !&8vנ" R9J~ Ŷ | ,>j`v| 4}ucR% nXƥޒڥX0a'PF~K?,_i;]i4RmtY;XzIjW\ mOŎIX1yEb$!b\Fof"ǐ)w>_e[dH._)NC^\Ug)wBL(}+;^Kab{+= sL8M^Begb"ˬb-n rQk&`k/\C8Òl"6 TRT(dPx׊D]5LV\KZV]˯f BSm)0 gg;a뀎@¯$a[J|a.[,|a_̍BTs@93}hC?<hĆYlHc.'6ӣ+C`ܤ'GF ia.MN޿G5 Ő Y=ݵg3+sNfįm{F最A tk 2.q$!C t/v:\rP*K!%[bT0C !{Ek"aԁlYsAƩf`0D~U*0>D PɪTZi᫆[npGO:ŝ9bi#s[=*vċܜN0JDÏVZY =[\~XD^vYm4jR{={G(< ;.]"$h(WBD8Wjh6Xެ;ˢx(ʻu!Nu9Cwj >cĩΙdHHCs e\fXFlc![H?SrYVrc@KlUׂw1p \Fy$ is'h u]oiw܀z%o^bGn߇_tѣ5""XP;G\j ڤwN۝Ȧܙ"p6#js"lOQJXJqp_=ҷ;NVr_ٓhε$EG;̗yp J ]5e,f%"rb# `nk5_/\(0rV- ֕]H Lfu/d=πQ\WX&˜ՆKNwV6Mf0HX~l].o(*>lTO)&jD<ή>mY4Ms')r3c83ɟ Ga d UbPoYQ[lo/ހg2ˈ8|rxb&a, ȿW¹Jr60/8l~7s7.QȎ0ߗ?-);g,i95u P:JH檽V'J>P$a гTuOO$586. HR<3#,3\3\ioݾx "36ȦDh' g+$T%KX,!ޔcUB_Қ^fNkZ]IMvS%*N63FEsgKcd Aݞ$SF@-d,Pٝa'r.,`qthTMqL⟌\I09FOɜWGqpq H˻7\IC$bMi>69|Ƴc[lEǿegeN^fw1m1`NF|"%ZQ%;ѴXie\r$6,|T}%{+x3 (ȬE汚Z\, 20[aݘSY5%_rbe0\*|;p~ФJ5zܨ23,k𣬅+|z$ԊgFFZA_vc {qڷ k;$^M`"f`׆Hdӧ@o 4mz%6 !B.wJcq5V !: }`|p4:ѷT-Fƺc?w@c?cFA;  ÝG Fa,pGg_w!:}Dq|.I>]>A30$8 #uR6Z2Sߦ%MpS’AЭ(Hl ~t'_[)uA_ B>xB ouKa%F]ƷE*i~DMQ?X'~v8LiTDfD ,#13'_*Fq|Le%6廭]bކ4 jJd s+E%Y+OQ =T_(c޴grX*Hʻ /܈"/yj;ݥpx00/˨S*O^ؐrT֒9Q'âBGRlqKHV&6)P?՞Ar%[$/}I/Y˒~-l'Z ȭV"P< YSpol ly6 O!$/|ɞC54g^(Vq$`c'8×L?<"L,`9_9 Rc`OLlsk &'B"̪cɥ* yx3;>b|EVY4hޡ'vE6G~ 9)韑*ݓrOx<B90x [O} nw(s1a9pIOU3RTԣbkp/Ii4@,:Vkǰ}y6B)p!1d]1mc^6TnY rS`~jƫ3]zFLb_:fqY^ Q9r]t#= TKmT?\9glwSsgi(c+<-ъl#:vp:Lʞ'ÆSxMV׼j6ҮοQ)L;pQ;B tto. k ^h`cLfq}f.\ƧS i+w1zbC. *C=U#0M>^2P؀$ӇU(s֯A- IfyGEN@Z`sJ9i+C'fo LС2P Խc̹;w(w T1H<7y>6 $R,04?_86{r9+/|+iwh~ǰmbA;y |oGJ/,haM{n:p䯘> FR$EJ›9 _GaW#n_Pwev$:2@& v'7 tDYVh+⑝[my3;Y%KX pV-@pxZwǶ:DqQ*Hk#rA쾒u{I`g9A49zt37-7A Ak\jH䚐ڗ sf, +We6Nߤ&=C vز\'"e;YY[d7@**\1b֬'= ZH'eHsqi=la)ݳ$<(C[RJe6|)P>435m GjҶM2H BSܶC!7h5iI qpgߊڰ]et֠ LaDx+; \5^֓W0,*t wQu|~Y^l(PA&ɐ?0vvC+u  >ڸ4dXC4UB\ p"Cnc7%ԇ,?I:9ПP'vXZsN44|TL2TT},8}x2qm9mS0YW*"Ra%j ZF#TtjLK4hN/ krS~G/]4 J»('% #tT];W }9Aoz5H9D^Ne*C=vmfW+Z|҉ , h8Ǜ|$h{u=T#-#|&5&Lbq|D[tyVGE *T]N/AEc3_[FcE&ܟ0tv 7($cnUѠ(akk;oⲶn[r/aXbAuQH`=#T4}k6I憛'-kL7]ZHuye6Twҁ z $GP<6ɰg51Z3?e+M'p-+*{S躛9a3f%'<>oFB0Y.Y(IYL¡S $0|k1b16[3/D8;Q~wqWHrf*ws_*FkE]y\0"\UW)[h^ #]8rB_g/GWe(RT;ֿ \DDN8>-|-ZeРb ] 8\I̞R;x>:6XB>A\|dK5KЏݣ9Bdw9fƕ=O_`a -5oƶRʧN@b\PԬQ?¡Tl h*Ll#9Zg7"cPՒo$'ȫ i*!1⻉f,$yYa:!@qOcPc'=0gDűK?%׌)w)ٚj@U3.EPq6m9PؾԤ3#B9JIRL×| 0N6`;h]m^_5S`G1r3Rz3=pz-^& Bһloz;q(u3fߚ-\8 A "^HIL,ޮPCY4`V_QYEO5#}  Ah7B+zo\y'A%'sֈX-W,MIoRL4ߛfH5a*ngQ,Uͷۤ˫@:^`G% ϶N.`^*zȘ,U($!=$d/6{mEWQmyo R݉qaN2m=zEVAH*r~ɂ\Axa|f6_~t,0 zPpZőW"jxqbf׾۰:V/ j%9^hp&m)^9o>,?$5rwwxN/'^)$lW/"gs[!*aJ'%&-y;/ (iyJ?zVp \\<_LLa3s:xۥPCbfE>{`,W0VZ0G j:Y!D(avjNL{!K|' )8RKIck$ :B !npctqHиW4. Jڬsς}/})lURW^%^a0w<uX`EYeb#3:4RS9rxƺdܸw *qIAc5DeTt:>DVE)u"iLt\v|`+ W0HӆG街@3^Nw2խ,s\ZDsa<Ðb Ȓ56c둛N쪬;m! VJ;eJ+iN.o#&%qַ\K\2N,d:G#h%Szd hxpkxe44($пf"|VD' MO>[]^: a=rZ]իu#>֥ɉZw:I?XK _HBkd ~ճ©+t$~8@6{1pj֝TK>M84p,g*ߚ50^5"f?:H,-JE| d䬎4; ȹelE+'Ճ@T*Io^)Bߎd 8,glMWX3~{(H\xcTǜ fF=mf&D[i¥F{ajWwBr{3÷v˷«{!PR_H$9k<$;G>iujpV;뺹rNrOo2c(I*˕ ^;I͊ᰟKZN/x.miT` Ц(Ν9 Ax.a SUTPcWC]߂Voy TF H~PN?c<u>ڃ5egp'W\Wc8,) }69`%/%qɄQxYx"PCPΖ7dkkhg3g1->.W%,\0W^\)$qJNkdYd9Ǘoܖ'$;`@J/sE#ԃ-m a Scg gF5'V tYqh: (\ "/~nzF&uc 1mU~^,<F cnhܵp V5`w^]ede~O􃨗rH?Vy_Mga'+xlPA5ZD6y%$t1KοͺwP7QY7"ఠŽsziK! oχiH!~;LG9Uahh{Jp yUô?9E`J5F%3^/)7FVLd|7UEƛFIs Ҥ$]Q~5o@ ~0t9V{1i:Ym[Кk݂G#;!^|UZh?㌥%[pC=6E3 ꥃ}4gDYwt>dɚ 2NY:7ݡ5~eS6wM4M=[:l"3;)x z3AħC ZPZ]%Hcb:Lr8[ {oZů/յ 8Ӧ$%pS9MA')h_nIq3b$f؂Բz.vؒ.`H1lM,0,-BޜY"^Y{c#1f( I?EçR%Sy™fusɁ2W)]F'gXKxxC FI越>}> /gi `b_]3^ 'V ȃ݈7h.p/tG @֒Ja0;;h9.5C T˺ Vk<|  A/ԀRߡO׹ /vyt>)Xp/.\g'A竊ڍZGƺOJAv` i͉EUݥ2IRxezUiRtǞ۞ꙭ<\YdL?x7MY6Ă-Wx'ީ^}¤},*-׌MD!!- Yќ'0R)\!6 =枲Rۗ7]t1ucQ3 Š11CsUi*(uj7KC#HbFB6a*mxLV7[(0,s ER3/r:$kH;<8^QO$UH>!0pV6*&<S ƙ0|Y㹈Li7ZѯU´B)՘:OC}5Ұڟ8$dw  <a9[7!nTe__r '{(ȕ) |s͵Omb&L-\.c<<*g$MSO!d}^W29M7$t[)*լ os(\hlYt*0 TlAd&!BCu+͵ *6v{&HwFFےNp/FN3/*>E W>3MM؍v*>x%=S,bpu nNz:m/SnNg^vv=Nh"%uy}{-P1Y  - 9 _d_ГʨYMGz[k,1;}(QKm48uuuzW{`\pb߷dFx8 "r8Z<37psL7\ AXw$O ^dpRRG5,jȫ ǭ(uɮ]-z޾AKVӿcT*gOm_Rc]KĜQI]?{!u a|w1#x-pV3[\i@<$|?|l;n׋j@#8eE =Z?pDb}r/˶rک6B,&݌c/}x,=ȈVϸ/k #~h|-⥬3]-D q \vsW1m7V~b"",܃ P^=~:tC^u=7$l{E9Z(ʁ2\nqe2y>2ng?Bt,c(/&l_{ crގR샐i1,&Yg$ȟ+mmi2bk'+jEn}EL2a T൅*nN dy7,TV&(m*hi4D t$6:2TvZ6P "T٥I /Fi1k8H`'XTG4>>WuIk~)υt='N %;bvc0X ԑe1S jNf^|Uq2L̊v7isȣGՓk c>_2t&.(椺ooFNjY"M%߰%n <+xьԤɌc{.v]|9l+jv2Y`(th_x)$` 3/םg EቀPhĘw}#רMìLTdA^UM5frj&Ѣ I/v׹FJ7qڨa7tUS9wP$fW&ikq] ڦ4.¾~%FI~fsǠO!@CGC?ػIg8s7z'TjwhU{#}Pʦ}){I-c3j"ހon8O?7(i!rbHok5+v Jb^s2{X嶨;A[l?k.>2fj_jPϙ"[2k>lMQG'Zjta8}l% xFZjIA$B;oVXAA-?hbwCXԒaK2쾻W\ؚx?T_yl!}qzm5Dk<%H%TXI  c]ko7d] [HB+k A:$EA5ZL['Z*flک1!LvQɻDR?#qV< *L-c^:9a+kw>;CM䦱s8ng "XH1XE*f-0O>q)IHQzsK~`ZͩEB%HBDp)^U: XnWUVjNyy=/?73$[%HE"xLŌq.%T2d?5o8"u/m搱E:폛]yuXՔҾ&nUG&Nn򑘁va3ET][a(U{=CTyT71Rc?s^ -(PkR4Z=-Q2s?1}a#t?u߄̆~s*z~C܍x%~ޏ)H 1]#>qqZ>\wE`kpD0O"ҞCHe2/ [eoZ꺭G$v+9guxYX ?+k@P /i4,bfҔp-d.)+SY|},T|p¯Ji詡C'Wǝ?8=yIY?>$S*=[,2KK1ʤ]xMZfq_dw$]'a?7[v?ծx١ ] ؋PFxK;Eߋoff8}dM]0LTlJlQ_wAX*n)&3ܛ>8,l=xq1C 9 Lv >KoGzΣ6NՄg8Dwwى ءL{?cY[Z!vU)'Ô Kwi1] cJ\+88q+کYs_mKO6_YDiyNn0N;n8P \3d56IS[$a* UX M<lu,#]5*aߴ-<"ivْzLlK#4ş#5O-g?&7UBcwT^1|bH>˘+']%34}?„gfI~T1Y1 W 6~pw:GKh9ܡjBr ` .s9؛FL> HBpk~JlZp@4d,]OnRthűMŀo|RHmeי$uM<,ʲ 7,QnHL貥\̖qsZ&6a&7'Z*3p4>/P 5BDcXh_#7g8dX㮛 2zu\ͬuwHhzڝ]^;n"qz`#0WD xm,enL׆ TDFRVQdU`}0p:L^9wVߞMB ZnA*UEdH懯I q3P 'qaC#a?`I-B%P8GѯZkc}-7'KyߞY4سJ,`η~d *|VKP(J1ۣZ^=OJPfe= )QSls4͘q#YYk{fT+rS3tpGсvmeB,;j%c)!?\!]W_b1}OgQ6Ym韛:Ex [(IcXmqݠɪtТl´{#8d Sx0 0_b2X.T _RCIߤ YhUs|7mq WEЃb}~o s Cf.4J^4$Kg<-!˸YXrCE[=2HYyԘίoI "`ָJ@:>Ҋ1ܡ%F 46-l \;gI'&L  >_;O>GϠNyY=<9@zfaA2GUe5d{.`FJTjlSe;r0=CR-PXܸF+l iVC;Hq QCW6 Hl)\KBR;6~E.g⑍ץw\0:T$wEdF\Ypr ʣ0=pjD^8f=nYt#e;dd98xU\4e6e*ac 5dhʉ&A$_mZmyi$!?` jpxFpK enP*H'UM>jJUL}t!/4ܻ3o>;=Xͥ\7Yœ/G'70ń,-&ש']!zFIp*6$l(kuj@HT:I9xֵȪՆ@z+c{@i>-^E6j:"BX~>z>1,'M;O ! ,lwj̢?J;jX8J {:KxsvohäsFb7b܎  #KbxIe>ULp~ eQ0Fjg\>R!m|wi| ,{<-A(\}dYʑԞоTs_kO >^o1dcbflB3-/茱 `f$#N,ʇ02Lc1K Xq`/,qb\%:iY7Cx0׶grnS([b~1᰷נp|\^+lh_}M&] 7 v:,R]=^%}9Dc&by1W3 =fVsawՋxUT1TtwϔA,M 䓒Mv>>1.=M^ q]W (EC5ራ[xl/i71a YRߊS85KnȤ;-lZ'rɅX WZIMN!5zf--g;._vwp(qE`ӯ3Av: kjC',MƳ̱ H,?3ӱ.i ዑ.ifyQtFQM?:2O#遉W#,@B.mnj1:?SZhL Oq\k #7;fg5$3[5l]Up \:UO ~5f;\|ސ'X8_0q]ū)X~@qoas@o99L䄛H _a$!&8viJfG* @[_MK^Q^5a+pFGh)D?|B`@a K0םJS)4eɜM5I9iff#|9h 9gl //95TJ*"L{CTFZ^N&xP(êRB+ѻDWm$6HIt.#|w<8TBk1cXkU+z4 }J 2('WB_HMEiAdmVkL ]#pu@}虏ΤliӘ2fhGz\/ԛ㚟y͔yn|qe4 :t2|.o ґ!Iɕa[z/Ν;PClWҟ4P(0IwޗF D^'H^6W.̷v;v0QJLmŬDx=?XG,%7~i~eVUFqVSZ]~zHG$ƆdS9bP4V6gn ';EvZWOL[3nt & dFϦԿtBB!4Eαw1UU]i/ h Qu2ɮ3D:jGױF xUǷ$>Ϟ}M'wht'욝Q.=[c4JE2R;O4!dWZ'R|bq? %Hn?:XSE ^ot}!?ǒ{gPQG ˡ #[%cPwv'8}eӍ2eR(Q̛9ԻVCGJh2% j,~Y R0$al}vFGuԗlFHp'GWqbh~VROMl0Pe|6QAw lKJjvs`n@uwhEx`H4#i̮NJ )mzcq")s]ĠHF|e~hED`pxH$zQc=_XPiy5%ত!x;r_ãh \гXeE.MM֫Ԇ1E\:}Q9SIF殶Ed2^9шxRIy0чU]Wtq~临^[RI=M.Qt= GlObLir$rqƞ7KΖo_l.H(ϲĵRY&oC.OFnj,/Z[Z ہa:JWRs9:0Tmtzwr観J 7u\N ~Dz} {n-TIz2AxSG:+ ]!&Vy3{A-9 0f{PާJR[^ekߒ1X'j3jCMkxr4LйCY~MMԣmL6`&1W^R81u^>lף豩ST* E y{;@`r|$Y[fDYoB-8vFc4ۨ3VE43$tițYa0PAHVX68o*C%l&sO?@V|,O@ [E T "o%dût=gqe7T4z`.PVAe*HI b6b#b7=Zyt u856OmZ0[-mXxy܌S(#: TM 6ʄ1lbʵ(7u9+o8+yOC}\BP+gN75`ͮ*A34Y߭tVaBIEnx.a%n4Dh 5SK]sq.+l%/+ q$ѭ /) )""gF([:̱ _͙Hlct:yOPRSEb  A; dz K1]{!xَ}@wgpNrE.OV-w S.zWow"8[JJ{Qqpx",@& kUĞn}CM pT=-!=}}%3 UȎh5Wwj ìŗR|;l6tAVl~vPq̃iNwHJ{cgQr\3y> M*R(>FZcR ,-kٵJ2A(=,ĉ?PuZڣIuI-#AwQ4A*r;X=~ϙI#-X]GV8Sm*|iYs8tkiVy?9ڕ\9U (zxJ>0o'-o!PXnIuۧ=$,f:ge7D: #4XmTj +;,>UnAE=%`N,~d4T9y9Ǔ3dw HM|Cض܊D 뺹`߻vjRsqj>i]Ra?nB:%ҡ0ϋ\{v#h ?OwMTw#g/@ Yny?&k)-fUCąQSZՖpFw .BH텵-R}nxSbh&_ J}_-fŽԖw_H(>t дҊqSL5Fۧ5ʞ-kuدg//Ywb|Sq WIaqTn9}jSQl4 E|Y{/ ޻=qo/b zfx\)is@amm "jB"1~z ]@);XKZ4h#ʯO`\ΊCRA($jװBN pfVc@svUs4ɘU=PXf8A-L7ŰK=vM X/JB`z/`۸k=&5\ZC>8iy4zɆȯHci<5 p:z1ۣ3AOX9/P7 C,D ]~5ϏsEcFs`i?1%@"`#Đ[-k;2$Y~Re` ~,a MaE=cm rV髭M%a@ f_ %}dTO7g9u笑D-'#s&B ~yTJc4Du|4ԝj1eMr.wzƒYλ*J0w肰맣(Ckɪ€wHNB\^BZQ.ei2F3-e.fewaYAIJά=fr /bTyXҮOY.FG"rYM>R)]W(G >/g @}EWINyJ[ 8CD \R@*qZBga-= 3B~<%yb#/'3@#,zgZ2Kb=-:A@NHaLW\Wlx[a^3[kbt`-v=ihBC~Ts  9L|Ud$R|9:PL>ħS .״eG6 > 7zLui:{w^nITT?LMAkF5oQѡ1Զ*Պ8 宿==jq["wckH3VS)aޓ8g:VJi+N~t4dxkM#%|Q}5r^1ӽCmT&kf~-Ӡ`k]>o`+Hw/Qcy]903AuB9[|Ѩ% zPB+L%VkN 8Ӎ+y6dZtםZ/͡?P+J ]4XM8.eLpe F֢~oH O+Z0_tWt({WK>D9`H_ ҏL ߅4-nǯJeFq='/E\YYe 3@2#z.8C;s~@D$_-}%n>$rqLrH;@~3ֹy57|ze˩N.68Cu 9%a!>˰BrƊKF ܰfkOMݧQpLm;bgG@m`7) vpm,Eڧ w@wH ofhӚ^$737GCq Z6A:g}yB)og4an4nvn(C!Bq ^3bH7TXW xa 7j;^]Zڕ"U=1Hvg:Bzgw>ʐwi-1w%^|n^a*_ep#-Ȣcog@"JS*+.ks9tmc"]:F: Xư `MN*ǾsDR?.$S!q_MNG1؅02A<zo%gȝێ9/ L"J0 G؞<(:%w"ZBA8hDދ 2+7uF$v/դb`<qj,3^jV5:|lA{D95%E,4e/dˮ H˛D"3l}sLcžn\kpxwNp\sm&H'<S"XjhE=23L/.j~)ᚑ#۝w[m3CW0AHQ;x -b˧ݩ ^I}m @։3") Z (ZTgų:|'%&٬Y7Nʉ/C3z2PnWa+tFS.r7`׭RٚITE 56,I/;ڗ_YNϋն_19R=-r5o2`?h.1/'zA"FUw$˰-);AAAŰJg\KZKZ$\\rݐˋbyluXM^(e`MGȑ93Le6<%ZW)[au:!HP^DA 5P!mldۺc -$A1'cIv|f31s- a ]5Z7 71‡U!7 ;}]hۀr< | DStɭӉ Eu(`~\0Q CtRHr?? ̼Rh 8`ajaрg }n_8;v/!+g¥lF&iF{(΀xTgxPjǻdjX* /p. %oB+ݐV\C )_ۈ;;=Z 2, ]rQY^| b 񺫸/cLW]7Jg?Ȳ7U?\ơ: +z3z&CY`^)@̫BGO`)f_yT'BPkrn.=X}zuj%}KyQ8H"VW)LkN[nc3+?^sw56 QA,Ĥ@XE#rX]G{]gG=(?1֍ޅaLA\ME'F`4|>3Fh7>g?X iA~bh{G@}r~+I1m`w1:G 7ePषfK>HM@CrҺDAڴw} O Q0i֗|^!OZ(#K(*v{2;hppGP2#980W_S`X<~STv+!ajpj=!K7 {S卑'T<30&Ϡ|+mvL:u$Zp1O}nCJ]`o)Y&PϲP~$_U{ϴ"+h?l!1' ^&r~}|':^:5j̻N-5ʣ^TM~L[Mf4Z$٠8 ,dt 1F݂i/CwRYV ki;hxIMfSG싼ցVY.Yį}''jΥ r=&/-b وg|Kp1=cEB&zucÐZ=|qtm23"*ʴ (!- ķb5݃ϙeB”dh P y_)ǖoب>v8wLy cGt^Ƽ5tS+Uǎ,ʄ ]( ;짙"j#=4=c&Sx (i 91RkPϣ. Ee~GY| '*s;)+g]I CH kpxy7Q|avkt\\Z19D#8Yn5$PzX\bR(ƽ^YL^uL>nZ_?($ڙ҄K% ̓Anj,~mM8 W"܃#([IyRe 71~w袎 >eTazVgaZ/ / vVqMjvh G}P'b o(Xkcƍaɝ\X#kdYƖc+{a̞>Nf6{}oQS iJLtFB#TP606: q#,΂oVl5z$ee,ٿs )*[ u^B!sD<6ݏ0DnO=Qa#BG,F-7: -Zs˽S 8>Ϟ^b9g+v8"Ӿ/4c ᓂL Cj&SU Un 佁{W=p<:WAj)Eƽ76DTkKnb8~ߊ9{otH C&zSY$rNcT Uz$?aM^ a&ȵzӻm)?T_JlP(}3;HtA v{+Κ &Zk_Tو.:qĞ1+M)64S%}Yޱd\SN7=Ĝ`>jκ2OZFG"zʇ77O( đȪ?yzywْGʴ}(\1PLs1tqU)vl~R{7X 5PM6½G { ]KQ uT=/GPO  ڨoE3;(/ *C) 8-PTF.qvؑvx[57 TB?K]ieQ.dH8.k[走[x?`3C'{H:n$jQ0*J>W. k [x(W~)Km.m165JYz65̢79Мav<'/Ԙ/F*tmWS]-tǰȨ$m$ʄ"z/&Z_B$Є`;&xۊAavMʒdŦZ;{ףBjxHJT8ԗah癛)%Wnѕob4ۢ Jz!#t`TC8ϵ=p*Mзb-ġmXaF"m+d9P=IPtjg Лy8>a?md۔Jk|qx*4p;d'G;0`m2V5D,A㴎Wgng&/]sozD߃=,70<UESC^(zQKB9΃f'V._¸C!pgo0T[̟mյE-nnd!nqs 㠺}>pl9(!þDA><-?{OyJ$k]fdeGz6gk{vF)x9$'' e~XK!fÉ /FOT%v\*_gC:p8s">؄IesH,z22I[1oV9B)\%>uOa#^DFQه^/`Iפ7<٣6Ijڎcfa=a]*ܓp!kJVU :e7 0,v(=r *?3`'0 ]< 3\_}tQx Qg80k dnzҟZ*2ufԛOWaQCJ8|V2a `)ru]_e[YUs,;V)ۗ}YLW0s njK!aWc0\!IQ\]2hByj7־ȸå(͐ţ9vp({Y+#Qt<"C@1⻦=3[d)#ӋZ4GJԪ5a(ygS`^l64oW%`HJ'嬐ߙwvʑ|J 228w"R:=`%=dչ3BLvweO"p4 ?ȗ;zυܟpV' v;H\,$r71+;^J`u=GWsBG 8|gc,U)mnR~vgÞ7juԖ'EqƮQMPT+@Y3H"iN!6D^7Rv+D.~urWпP'$yRn\|YM|!Uq+19Q냪9%f46r;!k<Ųڪ('` B)5:=ο*R/WSPL !dS{VnCRo E$r\rGmEH/cp,~{[dc>hu:*{?8 P<—!-Fu#kIAAu^82GQ-Q`vQ_2kUnKS8"]X[Zvz$Wjvb5Tf<5~ $Ď2!K'rDŽNq_; 3.YMoM7Q0=,G %x-D)euk%DDux2M+1[lA@qeXG-l|B"ηIh%}j,U)|FwٍCT&'B{Xo?.NG#prྌ]~dZDźrƘV`rG<UfyP/6OT+MpՇK8lbΫI˴gv,4b'zZ?ptp~;ZRĖ{ƙugfOF.qyX<[@ i te!tJ 3&m{Im]D< /EWg4nEUTˌfѐ^?6) 4pC&&&끍͑CW!E"G]) 벅t9> B7=i[+ I=i+ź/[)ty;w&T{H||z ~G8<'Rzg?jebkIo4T "ȴ}*C8zh/{.D{hb/~ۤ#{%ɀ6u=B ~+@Dv=E$1fҋ'z"]!ZT$eyc[~#S[k{> 9^nFϵ##̗MoM!sv6rQPܣS.I*In%!a#nP:%ZlX((#q/}FڹNVݶyIʮI %[!MUW Ȝ r39"rёgDr~G)qz-3TWORU8q)zIv㵯'9rk95׎*l{ ]kk}QbۇޑB 6VV; gA|7/Mqv.q4>`♭'DcZz(qCRts[1mkmEC=w4} z7uc˾x J)eY[ޯMs&:K)&I|0]Y \I$tx7u̡;9tT-W@7`X .ދX]w<RfC-^I-5J˥Ŭgt>ͺD5Rƌ0 9Ck=:}MYfkDY"lI[ Xvr_3T/W(V kERwEUc5!nrgO;+st~}/Tq~V]ފq=i}KAa SDkNNѧg*I-Vpk/4B1gj'5\ Zz{"Gs\Cbbaٻv?R k$Vw60Wf;KDt/*C뻰}[G&2 otǚZszx*wURoYc\a U|t# Q];`CsC:=mQ Ʋ5(7I97d3"wGrdsIF\CӜݬw&Jo~3i~1 M'+u=״.r7ɞdN:L,S)fU/ FS65Yb<[lo#noʯmsbzEg$tWSEh)a[`%X30Weڣ cȕh(dkiXtp%2w}0PjSN{+_6:4 J'!*y _dWwQ u|tGL,`-qFtD( 1UGz5 Vo@S̤f, ^^K@K HOHvƶM]k"IK2PV?d)% 8,~/ ASk>6bsl۷rWq4xr [H̎ڢ⼅[:Pm.Գ L:0PVR+l\ƛzMjA;~0EhJw ~G1M<[kM<luz6|.R.x&QD_ Q1܎:0G@xSN9Q!U iDб=7i/ $ G A0F'g).bA0xeݒ S_}BMJ M-t;R3R혌{d6W^,xEDz&e_OE\D2f:m:fIj>NKtkTS3<(5bYS-V^gd*J37qvUtG\!ε>xI*ʆ6Ӏ!ZТNRX ]dC,̙pzhuVk̝#[dg1%5%7m}u;q] kyr\ï@ȷhܬ<#ZlQe 5+wI~"y-`auLN V K,`1sU`=Pz;`6{t R SPOCwkrZfY!%5P6*˜(ghlplZ# Ti;=S@ly6VN7uEݻ\ 3I1g2ג"*7FK^c5O?K+wZtc$yv@<һhu=@.NGΝ"N?shU<=΁,B9nQC/Z^>VVt-&Rͬ"'ؒsN+&;,B Y#QE$G+}?E%^U /+: w˫޾" =QCRYk*XDlkE`寲YUIj3l )$/-p~1 e0:$ԡDѰpcHm{14D_YӲZ[06vwmFl 1m9Ԇ(UK?s<JƉ)ޢnnRDSex!܎凤i;JDbUE;W:ת4>a۞}u}eM2:j!< \۱>k#BBRNIB+7z2kp0N"FЬL@S@s>Fzg}RhR͢ΨE,`S~n "e3R !;@kYzS^0B@.Oy@IU˼HCy{89:6hmX!Dx Q.`,gяloLyv@i 1v9A12r阙 {a_!9-[,|rD…kݘNo\lc"%u䳭:k fƬYB4j~Lܴel+KH(l`2jȖ`#VoE&/t{ȳ0}n@"kMvx5ͦ$/@O9ҁ/6SC=97`'uPj=.ҭWHʒ+z8]qg[p5x#Vr~g~DD+$ґj-qiin'^'zKToO2jSYmkc7Kl-̢4<nam#$h!O|ΏqCXp*i9y rK b*hEŇr1+y>Ẁ#<ĉ-WCYv%m%, JZ]i0TlrpqK-TD 7>砈fKs NKOw_,< !]P%su lgU?WDvwo}η36F؜ѣ*8v[)߁ε'žVE}qVrpۣ.~%F V 9 ;qx돖th`PUxhćq -a`ŇE1.?x5#RxQWM՝='~kp0v2OTDX^HIDht3s-b^0Jj({?Wխj.}>C t[(?&'ze ?ո5"3& SfDPAfź. ЭR|kP(M2{dkBClPbA '=B⧸WӃzlKܸͶ$J}> PY=91PRm:ʐX|Ņb)Ƒo{Vʭ/&cQ\+^ƀfee$ DN5J`4a\tY$ϦBPQLodg)yј꾱?˔1~KT7۾4ԡ8;;ކQQ~_+ }֍{JUŊQc-a~--(T_8^=+*P>a 9}Qf[ !tr1[/הiT7zQRTm@> z9S~c*8Ewkxyꆗ n,kIs/Z;z^FFI36_fc: 4|ӹd Pvc ;vk=f}r HA0qıp 4|..:833rλ\A\&n@nS{щ(#]׍HwrDפXY9;??,a̪Xmf'Y-x3JBtdğ~! &^kT;paGtS/unTؘB؆RJ5OTL}A4\+|y{Ym|(W3Z@YP)eƸ2|U!Ihjlbqț Xry̪jBCT{-fXeA(ԋ8b&1`3 s.-  ~*úq 9]]=3-bi?t~$ 7P"/#AԸs[0 [ a%tަ p!DžƒP{nA B=+aNzX[:r;oQ_)`^$40zO;#6/Ƨe0 }A<"/zL]B\:}$H9dܢp:pl]i6(l ?&P8 IUwi$$ˌe31n 2#eo,eM #GZWb48{ @WO/؞G~aSg5m%^6 a=.ɍʞ]Cx,]O hlx ]p1pW8wM$p?Wf+n 6u%5&mkZ<+xVgD6ٷex&9#q:FZd`-Y`rN5rra-xo7,HQՇJ ΠH{g$ x]/?OsӁfɈ ɼX[jNHtsr@֗Oȉt[e JQv%smeG“`ezKV2B0 korʔs ˝Xpih~lX !?p@حZYP$۱eh2evqe8%{m%;ۥy`= "2>-E0ˈs|=9vP=ems~Wtq%zLn8{"3Xs0cB+4z>!wOģ@`OC$V5FH 1з[}Jǿ&1s)ay ⫮;䢊Zc/m-@ue%!h-u9oY1ǐJ#5~Jm?R*XWč١.a"Lq0WMd'+%zխz٣L۰ϯFf\wD-{vulT ArhRDڣ۱ o9:DA@Bnܖ4Ą,Cصj )s#R(9]rŋ!b;Ƒ%#(/:SNf/ :0%Mm\C>%t\q$xב^8 '1 Ak>QU}{ 18XLu7Ԉ刚LɂLE*HTI) s5N:U qQG3ք8'bˈH1;.A\'ۤa̞zc֊U@[D΅Biם8Zj]̹̖Q`]r܀QvGUY\#5qWL7+|Edyt_ֿNQ,x}U8X w̚]0fw ]B3p!i.)3Q{__Kv :n  1$Ck=l\X߷9}XN*d x4rW ,ǹ<'dO{0U,g7 {Eo?bx>^REP"0'%vu #KJNTs`:*(фͨ SyW!QTڲHuvDAYgh{gƳ{y8( + s ̓R$LDȃi?H̾ZS`5O_Ǽz%v jM*ʹR|`[@)f5v-xL)C 8p {x}U+MGfAmi 3p+t$acއ*!6i^{4 (7=\l ыt0L*\bnl#҅3G4%_^b$N'rq=߼lފ_RNdKZ2(ƫAq =aAz7Ghf .[ίA01ҞPH^XjsЛ(Ǥ}YY46kdױ/Nh_LD+(\ך$S<6%y}wg* f3m R Jj1k*r<ӌQ?qॿ.)D [+l&HGȨA;~sV9m᰼gq[&0ͪ^1–i`#&rK H@x *2c\;42e3ҙuq<+CEE| :|Y 8K2J -fVowq-\i?BGwKގ)R2*DƎ 14M Ymt;EujRgԳީ%vl*f{oi <697VW{urm=(oNKspRD1qIFcom9#B49h[EXU 4ӯ_6o#AJp?L ]Z,^^*wo-]{~!Kg U 6,p67Bud)hԙu=e[JJPK2 9wX~" -b;Y{cΦ2 S"/‡!?:tLjL<"YXÓLHŤ/1{y| )vy] Fu%XYg 3,'29\kz|}lM$eZHGhv֫W.f*?wtRhOguZf\1.K-@st6J*._璌"tzɻE^c*8kOB !vmɮ@ݷ6m|)Y3ɋaҕe-BPo2 #R ?}&Z;*||*zgn[`v3\PjZq-e_|Z1m*Qp0yo`7|6!sGE7p=I3$8{iԢ1|J4?6BGl`K,H/r-jĖq㼤ESp\ˆ?ɗ *!Y/ef 0ž,'C ? 9 E9eVҌ*m?Ay/'Ih =Fe_BzCMW*@pAq'~6v< ?Z9rb4CR xe*ڪv'bs }ʥ&#F?BbsuLcƞ.T/n?a?VU=y "Մ"p=:F#,W8`Ɗ{o.\(3_:mBGiLCn>^nTϪ8֜ tB _ 71?C3ok"yxr&f0[=8n^c º^_%qGH#ol_{9CCТ+Bh/Mj !P7_$M"0|tl X*g%5G1pd-}&M|Į޼$+핽!7goa%^-s]+b)hh2h|ao^&+.ZO-~'ǖ<億`>ؼ91EOO>f)iM3AK^U?ti8յ7rB/dzD djc(=+\pD-R~֠-AUI2%~l\ kcx] QN 3,+8ĐhU@ =KcuI2?Z.@ޘI`ZU-~cӟ쏋HA!R `n4}#O3z{ybi Uˍ Jfӝ]*4̰ϭ LȞ [Q</p1/{3ͪI]‹0kkzY=4*i:O]cT'.ԑ9Q2a14T3&x6l+eKT!HT<#cLLM)QZ1TF`[(B|K=I'.oSʈ92^='y M/1Ij8̀4aI{&͜ )/]0j({AD `"w_,n"n玄{Vi rNnJ$l$@!F#ZKy34VuFC1u@Gi)=(ZǛe݆'/vzlQ h7fW|. ΎbR';;S^ZwB|o%xu~DƔRN*$7NcENyݗ996x=ׅzc ϮqЃf-`ER.?9[/a2԰[My=7`ryrV [>٠IybƘ,s1aY!A%џ) 7~j-hPjք$ !̠ V3Wdqe2CL* Rpz*ٟ;$-f6gQD+, ^:)?f Fڈ+$sϷyX8r ZPoMm]m 6/4 D/uӞ6Gꕓ˜¨ H3^ /b &Cc k0͠4 iuO T ɯ-2FnI D.Eĝ֤>l@'B "bE?0&]iS6~avVsg[f:* ujezNByy1FxS;O;!$p4"]vu]֌x H,e{AJ 7gC]%[FY3g̏Sp@*SERn.`p .mz󲅗 YA]5ٲ(ʊ<& {$#8K%3sm'*$#?QIANzD㔌zYb^4\ضԠHj;&`8;F}`p \*ayqV-DSu dn YοQ0Ir"l}8UMtܳDzAS2`&W7:yy<46eX .!{%buʃ>GIMXZ1Clbm> ;Ôv^,WaՖICڠzk(2 O C%)L/3eY1(>ٲx `5s&#/С=_'Z 0o;:GOytH͌ru4{~{]\io~dE`_,ȟ,9ɗzkByz{A7>]L'+Ш ]S FFhؖ& oj: s_b[uh>[ ] ع}RkB2LE?Fb75ƹL~ّnr; BZ3 5Ղ-LI(m ~F]#/bDjpL\a %kUUUbQ~y]"K#8WknAGo9zq3^'EHRϛ]$=dJDVb04S "KJ7ǒq1i]r`L>U6gXԆJaMڗTM nܪ.X#bp0ɱ%NcA]"mlYDUf.[|۹8ٯHHrctSZez upubOq`,lϺs[piR u=@$ w 8G_ Γ6oC Z)?B%]i u9DU\rJprF9ĜsEf]=˯e\It)U= .:"k@~E*nÒƆA= ocʻ`fO%~)y18!_8kss`̇g~|-iQ+!OI f)G7h?`oʘ~ jgqOpw<)+b#e^o҃u`V.]i#<&>aYޒh&H~ qK3pǍY8/7PEq Zw`WpYj-T4)mY;uȔg*[NIMܛ ry$+1iⷆZy$V70cF+"ފ;>~숅u1NPĜ9Nm.Ehm1#[ kFzPfYlwYIIi=if'F(!]o6[l-:biDlSz6rce/ Ě ozSP->-W!p^278eH~jAJ}В̹YB ԄٷմkKa) >(BŢ]tdKŧo y$HCW=76D-Ҫ.@P~.N8yqdS?}O2fCXdnꄼ?KzOBN4]GAeURz9`~Hdy| [Jx+}D׌R;`Zx"0P1a6ldT?0,K^p( K4B3,ҽEI Ap4x. Iڡu0 ׹z6*-|t={MtN%J[ƚ{ kX00EO5~kM{Pb#ᷭso".%+kce?;s_gK[Xv X(C8?&\fP^Q@?I=c #IԀϏ= pKPR>.y_{Ț%1/$xoݽ aeAwOhE d|k5zkA~Jdk؀lɸ^߉ڦbRڃA}@ojO)/sl@d>b[=BlZ2}{ѽ5ľD_Q y BAhVvψ"o:c[^m ųna^-  }g ќq6/T MPJ6~g(lp2%uh rL2r-g?mPP.pPGuC԰7Ln{|J]B7Sf[aDQILSx&x$ };Xx+4g&͋}S" tÉtkf7x_g1UČo S빩6 8iu1a /D8|GַŐoWaL՜=pui=LdOŠ9Cv n"16L.R'hhR?+B>F{5\Fh>7O#kQ"Q4ȳH r'7 6|4`KTm ‰z8nEn䖁m֯"6J*tUW4zq!=huD el= 2 {|訉sFlX9]F}/L6KrEl*y5_4Nn@|$JD]cX/J_h]na@}~b%ӮWnZ1J9F7 gT1ⱘ:M.SW7%׃n $#/PEyI7c&n`Nj fK2"Q (}$dM>4ZZ3;vU(6'TvF'(z{{M'`,*;4@K`u=|/S*GQ9dYDmܘvWd Pzaᶫ8u~ *gZ Wsv|Tf-`^IHPǽQF) o}ֱeU6m<ECqIFǾ\ Z 9bI% 5kp,5tkgɏBXUez$8IyA팡;v43q&3pb@p r$O5wHf L`"7t .cm %2ww4ʟ(0)e%I‰B/%]jfScF13OUͫ|Rl9M5 ybel~vk(;A./:z-u^8H1vc-$C@vtgkpࠛŗVuVAV'sfqǂs/tdu"k;>C,z~}=Ui$na*vؚ*Q")$luOЧhE\[;d*]s,T%Ie,! KTM1pI벪VdiA tjϛ5~œlʤyhۘ 29hl^{)%^iW-sXw!q4ݰLX"GݿE,1|⯲OZtn~a}(2ԦlOJ8%"!Ҁ/PTY朰 x dm3ۼgi6R/j}} UyR`&OPjM:8sCV;۾ ƥfeCo#UsҟQjaٚJ:O_G%(^JtgzDtVRk(|By? fԮ{'eϕT'aA7fpy: y_:I`=0`N^xrY/}P% |4ٚSC)h( {>*G'֧73fGw/JV{4JgrָUaEUy> G"mS> z47ajd3NB>)zIl#\n>P$rlP-)bqFGm)g2`]䃒j2z01D&\"OJ=] :yM/8jI?ՆWr(".m=?( ^bo@ :* '0uxM[E`ܹɑUaRIK-Uk`g^X5Zs6X=_9}/@ƺ?"$ C,Pg]Le XM 1XԬT!czU_=ٗ"_AUՆ+.x)'M ()`h="ԎbaLl^xci\$IfC>s'vKk <8c vKN0VwmfAMZ ߎמD4k Ͽ1Mm2׆(6n)i"Ohv^η즙lAkM,bnp.~@دm2 /:q&&\I8~'Qr>&]aNz#M 5ˇDJ )Nrd>Xs `z8W{Ȇ. wȩgµ23LN3{DM:sZPW&6Cf_U_eg?aiIDۋ+uKX7hq\Bl"RhJd4G~ԍW`DskJHg1SOAPVy eWHfzISH>~Mk*ZƒF&G*,qY3¦B0ç^'l~BApT[*ڐ%%#3E˜u-,eX~OޮiG;x n7VBpo(5/qn-xu."t^Rx(o|L;N7wRLiS#4T&.Q.W-:dds.<^oey2D ZQS,b 3݂Thg"`a>c  F*pҾ֢x-C|#GAQA;uё }9%1Nf\0fQ2;})QWnzq Nڎ't1vLWI5nlXg&Y_ e l7Fs},FQjxC+x ٙʿkT~25Z˰(;KBԥʘ*2%h`07,1X1D J0&*ʊJ[s7۳eKp7oXe bk7<%Q8JJkN1LaDb@Mmݺ]NO@M؜Ȃw)m)7D/o/YQkF' V]7hlQρ9uMl7~6D$ ٣7z89PJ/DN{hME cξWj"KO"ӓu#ޮ>FSxe-=fiJRIZE8n}90S$.ln C]uE lĚ\>H:!ȴ؛> \ڧ3Deƀu((cixC^H)sb#@)"mZ#u{?s-(P%&!A@:yfէ)ĐT=I4lj?G(ɪʓND{5t9xV*`9&EϓAwaavJkTo&$Z\Ж@& gĈt(u:+P$ʐ֤Iy̩cO&P̠'tMPOǚWnjX i.^̏צ*`2G}Q |Z[*Banނ_{L26gbߞۖ@XZWk/UC#>)k+pFEЋ\ȰZt9Fsi-O3Ya+&E)Qey) ˉo' $@ò,Rֻ`ʼn5שtgޤkme?S\%;+'U"h#pPJZvɁyAPզ"sľb+㘋]sV9/j:^0-"D"5S&bV9C>1ę+zżce01JIx(#$SC)N 13T~>8RXp_`+$"2pbTI\,l|-쾶 %T4i#"7zC 8xvwJəy@"r)CnzGX$l/|z_5  ;RL\:te~~ثm~S[>Tޏ|%[(ra<\&/;ދ!۳{ ӥ)otRH&kG-Y넥NKg>%Ae[K [b:-fSooǤ%PjE%4i$ SǠ]K ;s.o윣flޱ-N(dH %l&qd(] nx£(,E@3tQ=YӔo7;e)Si ` P%Cbn6GPx#C$ hv9?,XB$R0nDb/=6M*GflJ))nerRGA}C &n5U.[T hVq V8 \@S6zqa_A5zk;h o11䖱;e;)(>:谕iOY#9g]N?>^4nr"ҷ$gLR5Kɳ,{P|S<$cc^9-ҝM"E$~g~ub <z`cyKRᆆ/~_C(:>?Td !HZv{X"v?2.C8ݺޒ/dA3&4yIJ){52ffBdc`Q HYez΀y/|Xc = IԝC *{ Wn81]\pĴh4 4_zE0ߧA`T'*Xرq>fF'mzC-' 8 t6.q_ 0=p^x ˜|Xtgbp l+b]I :4F㨬1ȒkSr=>oB"bQp,GF-yXĊnMFMNEttxnqB_ҡ7:PO>!r \R p=Rm,\a'>`Ƌk!-"Q=1ZE-$[+w"rșݱ8~}XyTyӁ={F 8U B޴A|W4yRmz ѝhc"KpPjnKC=r_ډ¡1^ K+ac#۾Ҋ;?c(f^k yDWcTJZ؊ 5Q[(r!'a<­&R~F4sFtVQ\c7aљo\$xV  Bz滇ecre SZ !%(w7]~dX-t84:P'׷k;h >퍰<<_>\5E6 j-s Am [5b_fg]Ij(Cqy( 9zT; 6 ásQ ]4b ք̃ 0G<Cc3vyT=t ;*iFQfggQ86T+5,9v^Σl{>*ODC)+Îa|2y;3MʘEXGy[Th R48n.xöހ$Pl `-L`Ezckmu#1]=΢ftVB)^W2&Cd4 ;y,N\##dVmJ'|oB^WߏU^i5En뾇fɢKϬ M('4O]NJY "~ pk40#h5 [?WUkǵK-}ь 07`v PO<,O.!Sv|m3%;' tbˍKKZS9N[dc]>r$Nskb$<7M5ilv0&c]~ m_kkY1κ#$ޛ}<]^<u n`Op%;>K 9YN9QJY/W؂Gt[4wVs YUN[m:Sd{츉d"ow9unaMJ1Һހy 昶NV)lbfIUdNǟswOUaˣO-`ճ .uI~AI$. YƙyK+@oTPm2g (_@mnևb`D*ĮmA㗶  NOU(*vZ`fI77?ԫ'j`MAt~4?{ۺqv~7JCGA)=4ѶkRg9!~-<߀gpyf f5@y]̐Q/I~߉M6rhɖÁ EBdI x$SY'T `tԨ5P4N`{U BRLnAR'yh_G7ef9svrN"ܯG7BuktD2!FނWbq[DF/M6Ne^~y\YM7&0}(?ٺ@meM}䶚anYV_EF>X4QT%UrLk+7xlE?ks:iU SR+޴ Z)~P=ӿqIeIu'.A:0?dgTsg8|8=E7%=4Hb:mAZҁtxRFv&XlЌ0ϑo m=xH礨8~};UT{Q4ŷޏ-dj>DՖ~Β3ZXy$%$cpTZD8m)߭_yڗI7sUҤGInX&Nz/j39c4!Vm[|Lύ /祷dRzV*" bNX\fU/5}*|>m#LTE.T֠|UCFEɷvtD"Zl/+ǼHiFM1vP)Q'緋^lx"%GX?)W)v~~q%( (w3 J}顋)ণ6JEھ[(b{8ɿ*%2i @BCY1ӀۢH8X=;]Kv2A8B/ ",#p)f5w1Q-h^8AZ? ^H_Sm6[^P,D>8i2rp3:yu7bsφ|, J"vy$JUc~-N 8p!na^WA^`ρ{.DWj |pxȝBMc8/}tl?Lͭl"|ڼ]w8oSg--wdLiq HyșJْ|N gxoD&9KFߨJ!2)vl6aIy["5C<_xl:>.bx F4Hݻf;cCGq2ہoP5$vmW}|"~% |&'pK=nd'K"js- ll sW FeVb&k },(RNOm(y_zVϳQPUO_$+M(csOΑoGC{lsrBTvQ7uν!F\ց]"p Z˧Yf6n۔- 'f0E:ޖү-WWac0GgS=Mo2U"ud`"/t:pٝ>Mr7鷅rl|E5` " 9zQ-N>Tio_4'_ Ȯ9JcIh?ڿa8b=J|4;1& ??}HhO_Q,ڦM p9G1p)u& o!b^1ekUT {{el=ߟj 8~( 1*7g5dp%E˜Ꮿk}5ykE\S^H"9*ŏ>'qqrѩC| |'&'(:7̴RO E1%ۀ{VPG.Rԉ*3vs~):ƴ@df:2bmeqӪt i#rUY颮>h-IQQ]۩Kh,'!|m̌>GrKxk-[rx'i56p6|]YF4巙`>JJfCj#us"A6r YH=6̨%$7n)Y`gB_F[J0RMi=~ fLovm ivoL3pwr>zDmsB5 ݏ*Bk4y }hݦjX91JFa$FYtlG{0*ҍ4{O( #FZnӃjXp*p/[_7\A*I5{1Xe~^L.[ǍWVYJbvUP~N߄u0imH=tÄu9lsIMFm1 *İ+&g+Ҍ?}+ iak<+v[ ɯӱN^K<ذ*+o0|)62czԂas9D2S}8*oħ: Qi9ʵ].oTy哈k:ۦ6L=*mT0"Cf vH2[bg/9'Ձ@oerDrySy#|5o{T#c{WF(\9rҪDCqr6uhb>?GV'}5и`.?wGmDxAoEwu:cc-^z'фb@=h϶փ 2L5W*X96𒞔G)-wb") A_q9 @)Wsd7!F"FWf: (閂zNl$' 0S42vuan:lc"SՀcvU_*+97<= ÒF7y1bC؎j=IUNDFĂ3VvNg5\#گWywW5;ܻrlOfA931֧\Yk)PHvDbAz:J֔@BB#v_SMq,7r?X}`e7;V";{CLCLP^9 al;fǧ1/CBNDxEX)-"_r""ж2p L76XdK-7;`|Y4 Z[Ab n~5 )f`-޿YΙhOn'b8lix|Qa0QSe 毽!wn%51V 4CZ;7,FLb='nw+YKBᖈC4pF/{u=ܸ~ vTUXYY=r&zief0;?S^@wDDKvF4x9 =栐(.cҧ籖Jf4_"~޳ ?W.q #o.b6xYty8԰ci.ZҭV7nUTae$[ ?ȏh_+vmA0bG쾔ŅXxhk+L2K+ɱa^62Z.a/xK}11pm T +3 ;޺QޭNmh,0`u]=T7 fɇ<I9-cL2>ŽiXG ]eoGmH]z[<7d S.ze>X-ՋTR@J-=|SWG9AtM&uD6ǀrYЯe-ANzѻ޶9"I{EEb5;jQkZr!'09#F .> zȪjSla4=+&AD<]ȉY oa?jŃ:Y'R€+?%{5d?:MY'%.lcTzV/(acwχP)&C x<㤍bqx3;`)NnZGo8.R;?TV ޝGJ2[ gL}umRSĭ{C(gٓcOL@蚹'赴oNX. ֌,e n0rYH03\"ycqy@qV54M$67tDD?NM-2:=کICiJwcaQSm4xlbsn% /ZYgMGTh7Ʉ4Bd4¿qfkY~y)0U , nȼ&շ8Q3B LnaYT~;8~ ޶ԧ#- R6&i,!pV9 Oq3' \`?' ~Gu+.G*8`7Q݉f9),&?l?4)^9ӍFf%t,6=q2حї]RGoDžӷwm;Gq/ދ&ޞ˼dZaЦ x?A\$YI'o;%*Z&R zXuS we @΅czi7z#0D_IUڬV|- cJ?A7DH%vlm@8 \O!LxHHX=>}}Njw#[*O+׮Էȼ[;t@v3R9r^pW\P?C<ʴbL+o{wiY>M{yjͽ綉 ,ǾLzK4Q3B9Vn`al xd-wbS_D-@ˌmAnK<dU,:[n/[T2,5ot[7iuL7D񾇳{6|g?Cw肟8w*n\̆Y,kp@&ρV38.O4J›r{CTwn`K +7xHc^IA=S iWH{zI₸*Z Xخ_Áp(T蹡"`&;Ns<=# xc1П-N`WT;C;VPaխiz~'QسjϽx~}WYT7"osbm=w5^SdV M9v>EG6O[X2Zj/THL!0;w͂$pZe}8Q1t$5/ϭ;gfxH[Q7-$sO|/zkKcE&;56t9AnE3[< Vq+Fŝ'UFɭ:cgJ%za m7 ב?IdAw cR%>CR53x c~ ;:*kg_Č~C&' p ޽l+3֞GqJ9To@3./ .^SUҵH"nqH/a rf7VVE>x %S-庘tĒBSRQ@ U,6R0&fҲ/9l&S^v|J|{0{D' ȞZQ@|-_&%7iXqfKc(l45a觛ԋ 6 A)Z'Sj2U}Dk23&~DA߼H'U!T(K2ݴv-)f<S:x'#ߪԽ&6m)JI.E R94&uar%&@Aܙq nC e1k[$Bb`QuɬZ;3thYDGpH87uk# Y_@⫬smeXNpE(*c-*VSY`PH$pgD`7/ gji#~ [4ƮXܦڗ]ǥ8֭Nah.G=_*LZ+Pr'=~}[KYܑ Fh^f\fBA҅J؁L9v="~EK<;_VCBA+%(SzJa+Q9֩J .yI!MEL@8˫94CCZ $_!-jAۨ4C\5߱CfV+n9w{kaN?ݔx*3`RC`aio|ysRohuGhM ?31E<^ݓ0¾d}O (ycR{o +(뤅0_ڤqBbYмsXِ߽$BX.%mv5_ /$v |>BN9r,,| O2D0I$%Q/RR=Dm}׬vL(()=Y; k4>PnD:Iu!d7nlTĘǨ3g6 "lzBvOTtONdT 1P10X1غ6 \mˀ ϡ ( 1% \\ܭ IG(KĂ3zXS{|`MA ѵ\qE.6È*ek<ѓ[iOjlƢ ܁֭]ȳvi&I%#+s׵nE)tlRyc61[9UQ7#fuaz@TGbxWz S1CK/PT]v֋>g8{58WztøԮBяrN7 '[%D4H P_Z֍+~GKBy=%m h)uUPuZq;!fBGFQTV&vQ|hr-=(.q"pfW̙D8%@/N;*@ yGIJnCʕ?y&{@]ߍ[|_#Źpˈ"Mb`|p).FR)%ݥ@m(KkF\>Gw/HI$pӡ[闳~N bԷpYZ&͵5n[>;.fc{IZ6៩0!E$!vjo/e+'nbGmZ%7^4(.wB ;Հmf$jۿ$7Twqm^HL3pRs$׻'A{)+ѳ_̑]*tQI HvGxx?D(8ׅR⚄tX{}%Θ`Ln1/g"FI1 حXL/r_XW݁{ _#&Wjk)xBaa^mm * ^s4pWlV;ԃZtCrK*'S)tc(a>. 0HX s㋟k)>~Yo_ 0"ԓ^m"WvM*? dvQX¶2 (cTG#2Lga,g992DtY!fUZ>];z>,ĚuI~IKA3Gr!#Ӡ <FaF^4Va[8epDM8F3D\,+NZ, v6VvPm>,8\IrM7 ;~Ќju3fSF0sX3hw5hHO/7C:8TbnfTJ˂s oE tY.oX&6!)-7d&sԏ-= U4+t>¶ݗ8gXW`z ](oX1[p8f&,ekЀԁRDؠXl)}ajlV!JIaV⏞-ڈi|6Pw(qus^;}9 -"Ǥ Knß[d4o<B@k1aug=wU\Kū| B͐!")Oc4L咶66-H޻B)=BD#.2%y=Uyr<`XOpP24'&c,Vپ^|w%[Uu>DП*PƁ/*Zy|~?ʾHԹo܏NpSb 1tvtMSa#H {0 GcFM:7WtrJiEoG*e?QXRH}uRde>rŠ>IBV`>VXal G/q-0S&G%--UHy>N 3RaWֵȦNˁ}vt 7_glH=0`"/uĆy`"Mݤ.x]"oV( L18wݗm~$.vQ1lyL\v jĺ|I$i2ABtqA?N`ݩ'dfDtONwq+,RԴBaߴd!|Us+PƆH}*K=A䊀o(^ܧ ϣ, !s}IK!v /O&"6C!}V 4z8_~` 8X'N 3˙0ʛvd^riθs/XO#Vv:H9怎f7ތ9|Pmpd㉴F 7'/Ld'6( .Q-3`8\>. r$owvx^Oq Weϵk5lfĈ58/#Ll!ib-c%>m(E⏽33߃K2(YD N-Ȼsu V[fy{NwJI_mPЏ4Kе [ˊOF H5 Z+-w߿SZOvUCq yڅkmIൿEW}DDE~?Fag;\#c9vOGHUxs鹟Ln`OTL]򥓃(MSA6)-{7 zHi? h#&ۘ[;Fsf w'LK(o ]ЈO-t‡߇v}R~ _DhǾ 4"gaAu)nN[ A=}Y~ҭ3)9EϠ/ եzꄺa0kEСɳzM|GїXƫ*-ZM&gM ޯڠ ::^T \O?>! ѩ(}`:{j]5_P yjK5- +- 2#S;P]ypi&diI1 ~PF0ܔ՞5$,Hmk';LW}!˸0>v!-8($p;νilV[$;K>7i.kB<@,eCڝW+iʍZt&C3{ir2n[C&A~m-5`"Ȇn{jNg~|y Nj^|DFz7"_eA?.keEk­G} wgU d7b駱HGQNGMIIâ5Jq AN`CZ (_>ώ-C@ª{K, />KY2Rr2u\*HnhqtfV jr60 \0,@Bc@¹,˒i#2]9/gdOVuw NЎo`!Ϋ()jڞ6|M˼6pzn?d5:_*B+=%FKl$45H5Q.|I,X>>&~b.3#K!lrcFSҤM!k3g8!FmN`KrrB0`_kDbD;=֐ M $x%obaX^O+\ X{O=f41b $2Qj4M%b˒1hMV;H%>sdW}DnaRYqXa=tmٺšƒ9!Xe`~ 5AD ]~X8xUUmR?-'&&_%09v7)1V%L'I/n3*^1zt(gʞB'j5<_o%7!wHu#) k?pmU^/okpAʺUn#\nޛUG|&uU!:/nIh c9T_W[C]}XEz~[>+[2paN"B-&PUn ʣ(l&u 4t 1\1ii[^ c׌DEՂ_m9ď»2ŀ'k? ]a[/_?1+GC W쏨<فWrDۇ~We?p@ܶDNS79|}qf G!L@e3+8gq Yo/.bQm5 vE5R/=kw*7P櫕6`lNQMؐR tMkӧ#\ZI.j&k*MFI% rJAd!A݃7abubhL[)AMZ(N2K[L|j*w>ICNolnmzlh~yd_|~ÅrBYVuE$Gs18&7ظ|FM&LI3`Ӵϫ4]D*aQyo3_bмL݊(>/; ̉R`'cUÃ!MW qݱgȞSZzVqv@ډ%w;5C=x;u4_,EK7֌as;3, ֔YiIW fNUzg#.r_Wݐ9Vn:,sD̦DIo+p鍡@ f@>FVdW **Hﺑy zcj'_Ҩ]&5PԄ^ztp?R󥌀'[y2K"9 h쁪bPq#^KJ}RꐪNY 7S4kz~gn!zq1]4vZ[H8AK) CO%&ߠtn"XyW/lC_7~ @`q̋g]{![ר^gnIp6'Hn|ӼX<>it= 7WBKQ0q \Rç˖pgy3J>s ׬qIqtx+ܨI٪p[eIPʈ͍pe~yL'({ U#k4y uIRz]0 .n7;oD3JOQR跣nĿ$ۺ뎺^HH!y"=۷MgJtMY5kE+"\%׶K`T|&46ʅ >r-A6V HQjs,e#SϼeNkU oΨzv](d.qLGAAC̺^"tR*I@}{$(nۍc0=^vANF 0Mq;EW6uLT:7[C|$ϋ`~4~ٹŎ ?tSFW]>}A̍˺ЭAôܷ|[%f=6| t6GU&[0&4Bo+ɞt9DZ;^87le9%*o)嶍t3zoQ+!@s4(('lʊ% Uf,9L'M29K@7+Nko 5eN.f9Ŕ?XP(qj&`xH8b>(.d( paBL}ƾ叽bުsTq#RjTk7{K܉4YS Y/ ;n=408ʲU_s@S9U~l?innVžhJn!]=F6/Ѿį`߈ ңl|SKHa6Ժ~YQάU 5cULpu)I *6vL}1Ab0u)U2%fd1ı-V6P3W c_AU5ϊFp4a-Af6=( ,g}랋(,=R=dR$hMyՑJ\fA,ҹON>87 {y|Gk1rQ܂.zשD hϼ?K~+2˅ #ACG?Y0C8V_EdvS495V:H1ʮͪױ0GfMHƄ$oZReK&DcaKOQC'Hzs9YFm0Ȗ? ،hlw*W~OHrФx+3Y!0o`T#prnFgG>5r>c!xj<t/'#,PQwy!U BU92LcS'ڂظZ75 OW|7H*TӽT`jd]`5*vц؟ mN.=ke6ִ^$A#?5mB9- KԡY/?c+?  (_k̼6F9!§F?2 [ alUNz6CLm艅u?ѭ^I@#4uEK,!A,cLa}σpeBM];o^jA#9m0ґe I)$gH6 T?IŷVۂEPҔPDO{%ƾgO53i!2tUUQ[M`4fQ`=#1PMI<lCMe^<.nfSuNj? z?M=cVىd*WdOQamE,Id+OOp&=1#;Pxپ伽~zNMYH GkYnNNBח)Mlη\]D8~bn1jc\tt~@Z&0o*My1/ʗܢ/`LRX+Yq=U fl%s9J2 J !Ǻu]%)-s9 O]!V}LJܻ#TC9g؜[•STuJ+Q-j/̕DP dw4d6ӂo: gf4޵O(-Z#34Q5F\O7eOu_ zxS-e5+y(LGuV,71\Bt:6m50#~ UJρ&]NPv+)rЫŤx$x+Cd_N׃!A/^ ",;ۧCndO($H *<2د?\FEhI}qE#r4+AcQZ-- :.!_H9 %<$T5"5`q+>G*JZ%M(EG~Kx(PGG&Ep`r2\S2ݡ uiVBbSſm򡓖k1HVoy΍rTX)>@ėg Y4QV:9& Pz6ud)'9<)q|׮Vkkʷ?cUG~ :Htpܵ?&d_} @ B&yx,LKdCkLYTOCc]ޑB™R8 s@]aj&K7V&[G ÙA:lC`pf a< ;|;s 5dWY ½Y3TZz?8l Q̹gAAc)U*Ja;xy ]*0Æ|(>46@j4Ñ;?A#Q#?-Yw)|g %$D0:&bP%ği0F<ֱ,N=Q1tm91Z,/paњeNe*%hLUZ>(vڳA| S(ɗ6X}=qsΏ*v&Mtf*r?qiB\L$iLb_QjH* )>a7Y9W>ܵM? ;SH`"$&b$ڗv E'kЇp<:R qR. ZI> h <`l{E{4-:WۡI4H 8ƒ#wo?}B YWҳ"b'!O;e5Z!-U_"%^G 2!C䈃[O~A롲BGe;V6qCswh]. +j;!Gl,C송%X46XrZQ4^mxu/LQ_3#W!/l^8 ׏Mhd$Yop6kW覈"^VS"γV;vW<.(Xj.+OJ|>4"maZ>Ϣ5KXq@wHsB ؓ,n{>2< :IUע^v [r1$_6:޳AT]亜*H,G>O1]-D߳KXZ 3:D0ˏ 61r)x+21J G6_ؠoCoXXH>mS,&֬K&Z\HO HAx'1%ŁNJ`&砵[-b o$fHK:V){վj_VSb&IM( [_~G~ Fze\Lg6|=C@ TTF{ʒKLXy oC aڅWLS"Pb鵒(J_ =,r:!Li.p^L <C. ?So!(Ng*݃H-vCH`97zPѻ2]o粈 O>Pܯ/<Oѣ8sx|:׷fXCO})Um3HmjPs ̢>i@P Dr4NtoM *Յeo]WURpg Cl>Pp%dͳS1kHO痖`-Hjuj2%iDeb}'vtԘE[FJ,h]?iXO3P!{?1rT8]HOV6e`,i]~x/|4wpÝS?T$Yd6yOZ%n=q2up)̚GKԀFDpxGRGƐ`"4'1{P]5sRhKV<%L,R@5vtX8pٵUow2& Ѿ.GrqY{iYʕI +ǥ@N$9|[idr390,peƧIy=۳ Q9GQD 1}=1&zrPqq hxK5au]GR NSTCE)>Nјp+0"Ҫw"W'=F2 qkrx,WKajd2( )j[%b8~ba_ТPmq06Dt` [yc[6 JhZ),êb9KE|1N?_sic8=~UWlv_Gs"35-!cul? |m9iKH yYomb8:r1 qS-:K"IҒQ,0*}G=FB3[u6΃xX2lo=CI ܃=iՙŀ%( b^WQ WZ5xg'd)±$JF7^#$mwT, F٫7Pi3u`Ǡsw?Y;zTqo{`|&;T<yrgʁX,ڡT:- e{"R]+WN]|nyx 38 ̲5RF $0샡|?r{wEp}I[A(?[}!% ]oOOc쭹F끲z)ch;CH]{I6Liz"(.)^'GlQ/-8r`79.+W%۩=n2&? -ݺ uByag.ǛO\TS&mҸWL>krfPzOK~67Qf;%P ُf%+< Vf|.bt(ZKE`:19ڼ'){ ?v5qZWL3SCT K kJ$3g.KcGr\F:mE 4fkWp2Q-SKi4嶘4J01ѥX1e턦ڏ0Ԗ ݏyxU.G~C[I0FЊyOV:E5;MO6(k(L;|UZȃDBBA#]s`XN-q'U&`ǶzP˹qb!_q|S],[S*7!/׎xKfԕZ l!9#)'6y|;PL- O2ۘ~k9pK2ɉ_L/OCnRyidS/T]ڳE ETɿ[vz~PƠb3Nm{v9ڌ*J4J]Vǵe `ڗss'\p[T $NeϭEz?g؋m aNMkv;ǝ9$vűt _D18<:j{{eb؄ay[mȹ!i/y 614wD] |Qts(^e;Ejz)>~BIp-{rdC8n&WK/z/-ͭL!!ڱ~u$z6tbW\, 1HH.o??Ȏy[zUim#ԧQ5ܢi\l7@~-Qq,\i[<[Л9"E/y!eα:d&V W\YiEN . )-P›yr7][+@7ϫP0=I00 Ck_ŇuKw;K9%e緶Q8}r,)[~q͇^W=/ 9L?Ry[Eʼ6͆;UZINJ_9ysaʾ WtAJG 4 )45 N{M#%S]OfpM=֓9+!T2l.cx}MRQEƓG Yy|T.v7曑wλڊE0-2@dJ˾ 3>kT{^zz9+"Yl[޹Л=/6RK4r gzD\\}iߝT y:€e">?§nn!Q+D.ho @sW̱%;o1:yRL0mZs~P{^I.0ܻ$AmǨQ#@fc͎ c%1ړfSq1)|Fu~s=}%g%Z͂/, U:\f&lhOh(2$ 41>kLo颅J!&LBj(&V4~H7Mj'qb'c"5R֋:st! ҸmhmGx0;KӧLx8 qd>L؝'x8pOF$P̫NЪTl+Υ?Umf!n$9gMZ>sl /o3)1݈1q6Evh-a:ia7Vq]~4qt7"ifoF2Ȧk٨VWL4&r>\68BwQ #&yam ,tJ)ӮWȘ靎\NP4?< wap?8È|xlx|ue1tftї8:Դ"Hb̢B[5P4,u_NXdI47=qOޞWg5<_ˋu`W,@[dh|R`~%>Z7c`U6 fsMa,P`DZ醙۠pmhs<˪@l\= mxxS[_֥{VoP!am#}Al^^\ެdccUQ(Lǭ"V_|q˴\)n 2~i8@_G3N>B24F\e}DPOPwhCAFxD,10NJ7@sXk.@PVN=3݂8*RNqgv89VDcgdn]-~3p𗎖LN8X="Qz2쵧zi dz 0I#']k йJ"žgÃ^oN Xz<-?᷶jIlI)ͤ, uSEhVF2mPdVCtDcD1JI{ ^ 8}ǽZ-dA,0Zޘ 0LֳnzHg{fMv@&3òU@ZFj841 L KAwT%oD*!fuC:ڧ: Y3]pUKE>[q ߹"t=+HF /5D zʟ*uo8|ͬ" )|[QA= )0jzMjAR>—v};x`x#Zd’\ZON*Ҵ Tdl63'Qm Me?dtqFbZ^v d4\)Qco hD繈\MYst4l2]Pg! bM 0]l2^>e%ԡ}m׿=NBk i"˼;4֕zB$b,`16qvbІ7@\mcNYI\Zt;)/{el2(Yk*|0p5ڀb2D+aYٕ/À7\|92 72/::YUFjmTXY`ډFм+9A7E d3D4KFHJǮ+iūZ"sjg|h<}{X[S?W4)6Y`z-c(wN(`Og 'ciFLyI%OS* B2a;&×-FhS6vXN0!͈/S7*Koo3J_`zW/`OkIb~Yhs:SR㚇n[՗ϯrK[M3n9cOf~݊s ) /[^`&Iq+`8Ǔ1Zjoݩx.KPiMc+Xj9o]p-K9ҴLitP.}oR|itݒFQ2 YPmhGeSXH7یv.EIʛp@mpXOJ"]O_LLp6޼Oais$9nM԰xDH.D}{6x~>5 tITj<5s̾Ck yZVb;zD ]>R(\Q *iB((3h5B KLhET$hE 밊lZ|Vr QnA %~>+0`3ft#.P&կVµD11YK/Ϻb=|(=#G 4,_ <ˤ͐[Ӎ MN X(i6wnxg:>bGipނ* #hK2r8Bp圙T1752 [5O;+A I:ƣ׳8C;-\*Jt4(]kDq#9@*!xgn&:1nS"Ao;n-|e/\(X˯ρ>P퐧WD'1@4ie ?ÓZwȴIY`@l@2>Ϳ =(sIyÛ}kC_^[ଝ*ad]JPBUFn>k-[Y4`; \YGt(- NCz,!,XzЬ%>y-+|v#ҧN[u XdfQiT>J5.&HT* EQٶ[El$Nd9pt/[$nT\ r!1M5j|s N\UJ4S#0z#Zlk "Ubqϯhj}HtffbDICQ8LS`5]_]uiڿI4>yWH/P5`yIL:l/޽М<Zc&Q/_fzT`gY*19 qv+!ZUIAOS&v'3pxU{ǁᒚAa\gLNE#%iQyXcvAZɅM(>QGrdbė[<&O h;J0/*^ x3rV9U<et}TD$> sozr} opMI*p[[urڽe M>Q@9kw-ɖkFpeBJ64k ;U2mO;)o^Qf,epjFdH~+T%Ҏ~58@X= uYJ *ACZҝ*}p0iy|5mO$HŒPn^>}E]6"14U5aQb̍c;5Ϗi_n k^tLKPnH[2'9ۑA\'B^.V *G@6羧Ǵv\i&9$#R[f^j!CjWɳ/hd]mu+|@hN>`)7Zھfː{>&^; I>;hkz\i*@E1Iqd~4[$J]';+Թ]zdO nlo2Bܭflg\c8SbhoHdMT+>8 ߥNJ, fR#e!!Ie1ZoTt(U|\L۷\%12Xs{B2KSeQü6qZKW 7Rd+}C(/0m ~!vmk>FwrGaNk~_%bw|WȹƁd2ƣnFǘgb?&-GdآQ<{ɟ*6&@( )ΩYIQ|-WlTNmx=cFȇdj)H:88ݏ|T $tcMc0qeH.ڰvfu Ġ}8g%etKbO]'gT96j0WKވ\i$i'V%\玨\h]Q'EsK26A䯊}Sq!R? 33NbKKVq.w(Nc?hZ6yKʢH/Hgab崃rq렌uL{,MyXS; v DkX&d$y$ըPs*ðٺ3_CkVҹf4Aw6HXXEkΉTw6Z1Z&opeο b ^p5 09Q`70oO u-rYgIs6/>K 4}.-~P8L#׿{69wEWfͷuѺD&(~c+KÔS{{ ډ?j>KuՕwN954D%qF}(˭LJ/[}:}Ⲥ4sc>&ȩ !Rp]gѥǕqs*}mdKetIQJ2\fxs1غ blr8+`OsQ"$7;'% l C"@Ekەp)v\iF0D"[te ɌZ[mڅ6ܶkIʜlӪ(Xg"Q>I'uN3p \+N:hY JB#G|lH 9鎮~*}qP!؝73oqUX}ݺEVnbƛDּѿtIzEyfUD 4k/@o /Xd WQdp[u=cV] B~cy9+Wwvtm  Z[r&ie#@cymlQʵqLba_ˁ^G7sئ= ^tt)޳jSDpQР (b6X *k}&Y`"}Em>xHo8.Wf| d""'S lFR;_a m}!겏Njd όն"=qaX*`6TNro#)2WO|ZxYIC#ӛ$Zȹe6Ja:èLK #t*K>OV)N`9!&ɬe3PZx]kFlw g*Nli_ F##=4weCroHh# k'ӃI) ,+LS| `Ll+г'k^8kHș/B.1oCY"xr,/}qU8\%s뜜Tphs Y2)"t-vA4Gg1wR֖8phee1hgZtV7pY3iYD؇_*TZΑ[uH^☱K̿:ڢ&YtׄuA7=7\6$-/!g$SZ-TH̵6&mcN4YLyknV^:t+?OB\忎T"y+*ۺe:G2? bsŢW&izCx_+T; lP:FPersC;oanHKjE ˯ sĤ# Wz@RDΓH6y~qz~>%[WUPv)i7 }+1g ہwV'O^߳#eZdZԐOsx!ZZ"̸a ?'K- &'΂z?XLe+,ʘ飘VI^d!Gk²a`Xyg(^ԭGknoO,+N٩WeI'(cS~ٿ))$א^Zx9s"zFxKD{`հXݖaffV&Eh sUkd2q'*ǩ#r!; .tXYc oE 3u6ZW6r%&_$\zn. $>GB;8oSYP!Ϩtụf!/"2]n0 'ɖGeˑ,f?xwnb3m&e,fBs tORd:!. rxSiHHs9%{(*񢋌uCIA!hYg>G2dKHp:"=[`ܴDrdC Zs 6^sEFs,5f3YVo?WM7+` [ ׬B2kfTB#0s[KY`K-MBQl$S^̨H܄%bAQ)9DT&c,֊552LNT䬜_\ DquZw3ЏSpdOJ/ǭo)W p)tt۔Lm!`YnA7?ϩɸD)y\yLnǒFHCbƋi?+RLP PNW-VF$\*% ?PD#8\@tXBE4଒ެb\?ʑR ӍD Q38cNC0d'͡LDʢQE1Z_q!7O1>1xl65{#6j۽~}ɩoһK6:bouB_4O?ux#J^>UٳՎ;绦4+ڷh)[!(gՋ:ސG3عD4 "-9-tqeQEeuڦH:-xtL.S&n|mgAw &eK%y јW\UuDzIn*lzv:玜 ڭ7E.B<MAJNybAkAo7Ov&(fR~%y.xO+5+!> сh6,gV(hufF8h`[$Fw%l}{B QkKYyR@Qn%/YkR,E̐1v#lxF{8(>2{+ qsϣU }vܶ@W#% Z_!xr'%a0­;BxZiAd+ -T&™568|=|ohuEI KoGX, Wq\NVoE C{8ᤴ1U-ERo Z{?g-pdZs K` 1薳i)l>@k'סj225wxkԘe!;.YmA~V}fZJ 5oQw>6wgL'ĩMءw\sqO4g$BW=ޥU?5C__HAÉ1&.WHsAtU.o@0h'.qșlAe)S@gQyF)Opl.4w\H",<U4"H.ͮovSEhPF3PuOy g,l2rYY{ 6nPK*#2wc4$t?q Ւ@]tkH@;j+M*ns MЉFq:ҩAjr *^W{@|N ׁ `f2 c^B {F.4%]UJ ) C9OZS0X`N=UxW>mUbR㾠̡I~9[|7ѵG](α]aob*[j|~hz2=UJ_`S/5'h A>8-ġ3] 5Tz/=/qZmS㥬Q]Ԛ_|LAD $awC.:TR5:iHRݒ\F7C$;CA-mϒ,rsؑ|c_29S2PA1;e|P-4ο ab>gZEPҕCN;K #r3/No|K?JP-~M{}ymAEXDdn~H۾W1Jp~{I$ \=Z&P2=S%3╮ &l7H^MF86"7φFPX:A6dܴ67@HA2O]"YAhXM3It ʴb젠!퍴JGn 6헙GIRy &3I.&=2N>MepJH:>ӵYby'.~knp;IGa:`#6jn% j*;ܶn;><ʑ_g?Lb^ R~o8pl _ JHa:LV__cH98So^׻m gD0\a/ښ|HBȗJ¤W=L#ت{rʜI{yV&f GITf DJ41g9Cs}01tH㢤yZƋ"5ׅ!|R-2EA3duMA/OQWF;*~&Ŏ,FdB'ʉWCk'~sAq'C䎎JD)Z"#W^M/O"m,*21Q+:;XE2~aQwqJ |C_TJ" =T9_t%C:h1-bzY%[Py6 IߢYP6&T76rP>>ș 4~t/~ϴ'vAyۤ7!ǹH##Q|Xŋ<*qH-PGuW'w 3=BJ K7`y̡}UiS47{ܐ`-?ƮK)v>3llRxBg{Ϧ_7>>襤s>nXwZZ摣 cU;oj b}wQ]76λz1q?p$}t͸|8{ euYI\$ N})niN(G*x ƴ:C~zn]v2y xbn*51$}wt׍fڍk7쵖%8O!ȋVjѕ.ԫo^n*`ŪcBص@7 rNi논L-鱁@Dv@ɟUo7XOnִNZf aVSYسUGD(.!Û7/s25|:C(1]G-\,ZO#5X$]+*ѠXl6oE"@N F. V|[aҒ#*MQsǼOOذcLмirG@TVH4ǧA`{˂̽a*uKUǗiEeW2(1na5~Sr+>Q!uPk<:.y?d,@g!: dkFIOHF#wo: !yma41q,mΙr㦞ezUIhڽ7dyF9(,v XPқ4]yׂYJc?SM9]v*Xt>: wzl3͉GhA+ݘBqΙ?2A '+ wʖH0uFl5Kimoԑo!ۍ,8O>\G>f$s ;^r!tf2kUX5:c.dZNR?ދ1uջj#@]L w=L)9mDZHl2knT[t.Y9(j;ChPSykyjolUfa#: HS[{ p3RV(c6*^IOƳ4w?ݩ 8W4< S2.FDxk.o5Q'v8?w@r =ρ&5x 兕.E3nSئFiR1iG%(b 'JG+hKڤ3MN:VVe6QXvFX6\]Dg]wj.񴤾gb|hРqA6G#$XYwXuCG\=i5Cb ;"56. H!p` H.$_ QCig͍W.F<҈rLL_v@"FCkKG6):Jp[S`i"=N?faJ;IF܉k۝sD+KirJ a?` $})fŐ61f}yF/ăY'TW@~/y=<>֭ XiNLHl:ԇumdU&J8mX :F|Dp[[UػQٙ<b$=Xw/BQ_s^K`mά$N/870.6~͗;HR%#Olv*1=?qeə[xM0`/C$a. ozѴ ̸7xݗTPVI ⡚gz I ~&@1?%7.䅫RX(s-yԧۙP` ZK&bttF zpglPU m$7YSטV \}@/ c&{<s)<{&8@=e3^Vu3m&$R¨N+?;)1 iVLh.fg`Y&rr3s0mR~3ϴ&\9S^']K༁kL}F[b;g--\R;dX?!nqhEdIJZxBH  Kɂ#K` =阥XoV}-towUzm&1=eǮK:IpM=z5|̣Wӵ ~nSc>) NP>._j-0v89C3'%p‡??vE_O\RCi2N); ,[0Ϫ0]pYrXˎu1NfFDMA-œ:w`Yg.5a_UQDǩ B"lcZ쵇Րd'r%†}- נ SqSG}&3etDR{=#e:_ycSdAdtt$7,e6^MVhHnFIWh%WީHA7Jc/ߪ¿4Py/qHcEs.ހSy ߍCQ,{\2D'>׶ۋыp)^sZ%Kq꫑YZMZti :z%\v)֩]y1qIA@ۓOTBu8 % kġ%pz^(fwW𣻟j~IV0X#я~k\'$eCmFdhvz9&Lwpї N&N{`{s!MƄei21'#θ5-☆,ӻ-p*ƖA؇K0*\ְ<1 &wj\]p=Zna60Ĭ\jh q @)ϛjbb#&aX*Yq4}f Cv$ĿCu# 7'㲥H/㮙#o<]H2k6K'/FY6e- _Y~ٕt `MgP 3Z -ܙɝX-8#_kH,|n .E2ذdLd5PCd!TH}/89 "ecn=-eNJS?t81;c6DF/O;ݭov?Зw|^P|2%L >TEyH|q<7܇mIoPi g2ߝ]rOsź`8>MDU MLp`c @x| ;..m-&vNS{hO0%/l62~8E FSV=}P& "kO̾hߨ5;2Gr0c'.ɊݴDu upeȢy1^ ҩ~ZJmщơ (oӾRZ˘ʿ~`;WΞxԾ]F2or3.[kUlsAmO,¬y(/<X}`Ў%w\XRIU Ŕ39? O,'ɱzeewK_jZ+DvӒ!wZ|^pK""}l̛)ͧ!q`x1Č"]_QTt16Ys12 3a,=/[?VeS/"Gy°+vAda|6+Z6)ע% IEZTrS-Gxfy(y>!_Ia}jkCXüv[lĦhu5&[1~Z QeJ}3nZ2]}(Ae=s\0*Gròp&Z6? Kv/JcA1'3c7p$C|y sa6C͡rg ],tNm 18odE#xm_l"m81pذFPz㴷I XSx  IV5-Zʘe6f!*<_;?aUS 躸9n/c쀄_tJ&s0iھO@IQD،,oeAܯdG])3ӄʰɥnf޼?mt'HU}vՎ ~fX 6-Ķ Ѽ db@=tҚ8T:ddJ^lO?##!c[^AнǶއxڪ ڂxiIZGh(R)5RXƌwk'e[,|OE*ԫJ'oeGddclCUyyG,!B0t:)y |ԏm9]8YiNћ~UwD 0K%!HYcTELZaE}_`-Lfn '[-jmd!ΰQt/O\~s+ݤR+_l LQHC @!kSk,Uj1`G&Z7K3Qtu~hJXrNQe,'MO&f3&%]\U0@?LҴ"YD[2*͂QcǷf׺RO70ɠ֐M-1.0swpl!@@^3[TW4]c$iBr ?LlEy^uyuh>"dDy$쐿-w<\65?E)ۇn42[<&żI{TI4OmK}~5!LM%L>)lJ=P}/]^i |Db9?fWOn-/IXPuŭ:u@.xG {Ak5\ZE]mIy7;^z4[ɖ fd$BG z ڸHH$Y[ sx"*8耤zO#m$͸$GSęUq$k/oJfw9&dujҏ|rO4GB߿*v.-]XB!̞Vo#НED/`gr6{" Q(@T6p ݠ#: |uf:]J xNv$skL4yO.6 8dJ!*/qlEa p*.i5mp{]:)>:;0%^N>ög؀ۭ+]=-MVYa}nT%6S<7:IUs/f鲸::Zs;IE~tk ny5{"`aZ6$ȣϨ֊mO ``Ҡ g9걽RZĢDhj /DCkN7ZhUȢ=rx+3RfR\/lKKFE2kJ,/ݚܡFZFЦj%w;ISSrkLOblIt&9jNUz3Wz/ z sԝ".>N1 Q?YhQH":_x(wB:JAUP:D&I EV\*/!;8BQ $QWj'c'kB?6,er _.$ K OTSdi'2剋#$&0MQ"/Znwm71N!j ¥6lP_7qJU&x%xZgȯG6Fel&2%g$YVYC:^ j'yrϘ$A%dwkA|\ubZE˦P˿12w~|Ha'S3,gĘ>Bͽ-x9UWs2mbזEj, : .Fc.ú=ޛjل]h[e$~[OџVw zViUcZA `$k4Wčԍ3 MG}Uh-]\,*dlx(܋ئE BuIZQnTr^*iًWƂO%

    W{+ sǀtm!b%s_t! TϪkPb8,@-\ig6R\+twb:YJej%ݨU|kzިuo#fvJ'e))С Q^[xRO+󇠭əgkx}B͘&],է{a=f0?8ZN45>Ik Yu ÝIRa[B_5AQ;)h]XXp ,^4"v\2T#Mu?ep &e[7>oKcrMyEG \I%X U@0ElAV 5!aSysijƈ5_E8<DEuVwtذm\MFM6͂B?X{$ Ü4к 6D.) .r"8|5N2cP=Xש2yD? UXLȍu7]'hNd_XQeW˽킴iK˿'cPAhb[ivZglC+T[j&KH|rL5 =Y yV}TI;I[@ ܰlמZ74 M4մSs_os*t])+ kOY /X_ShgWV3H?; ``^T"D`㗇jy.#f佟yZY e \m+4HYK0w9zxxRC|ectW(jſ%0 0aa~I5궑^GZ-3ɅhiguD*UM4AXsf4(+ u(^(p~_6\z{!Gn'0D4bK%uE=DIѼ>aqyah~ yv0L"~݃&&Ru5 !bBZUwkLIՉڴI=yΊ,~A}lHM>EB[M,/dDKw08Z'g0]@^gKjG.LJ!N:nf@FK*`cַKv4l `SA=Ծ OYÿ!%1\Ķ>#=R}3D-z(l+se;ggL(_VXС72c'7qE@յô( =ψj'V:jpDdKK?+y;ZW]}1jOJ*0|<Ӥ]Jc9snETNJpJ D~Q\m W…Đ!Km;?c R/JoI~T{.WO&q}b-aB3וoh~”d sQfL5G zfpwSK+FN(h gۨjo)O:v6ExHUUk$xc=WҨ56X߃bU~XuuS</m<'0$.\邺,c 6yF*V#T6G! 3wPHsa=eGg|!QatXH[-VlAj }jiWzx,y %7<.DJ]A"QSږ2tIX|P*X 6~Oafc P/IܤQ\ LpJ|h VJoJN`_%X2?PaT@ch| 7d#lmJH)>}:18a_{ְ >|T!&{y`V=HJE5jp#4%I+\Z;GsK A1KiQۼZ\) _c3 )S"wԨg ' "욖(\7r\E\"|;xp[ܲ|=iT3(booDkM =p}X*>Li<1mɕocHRf[7iW@H.g;{ykkRQ,'3_wҹ(mԞAR,LƋ3o5MrHo=q0<~e QI#pLWռp۲c,?L?u)&خE p?nC\ԚZ9ީ\QY}K`E4~ w)28Հ1CL1-t {qoKX,J#WrLS[QIY"e0pI&F=t:'vi4+时:J?pI6+ >E{%k= _v2 m ZYd;j ~O5'.R-IxZP`4Ԣ{tK(X6.b|*~Bso9QE0Ӥ!:kZfR\4-3öT:E‚Q^ZMzD Q=c9cVέ!Df}-hE5]t)UD|3FG {%tYWNٯ={}b օdu|Yt\Qfz#<`ұ%7cf{JV^$%eVGrBқ], EnpF_7 1ky5tA@r_͖p/YmqZQ?Dٮmw?{ sM҄F5.mX?ǏW4ВǪMK} B:!K)mUM< ӝSU,k ;/W RStV`\-l* mC.ʴ,>~FN WQ@ei\)Q7U*3¢XKyvsq5Nj)2L;.?>?/A"oJ{M7+^^ #eL"]ypTZ!=O=@¶H&M5>hx(Syy))-P!ՏZ/I@2Xksm OXCMLjou%Aݨkh6;3)? G{a!9эr4~(׷.)/\XӁ]C( jIUVK uW嫢 \Rj(}RMG}{LY.3 ͽcƧL/87K^ Sfg}L$J(zd67/OQ:G?zQ^ZZ-\=qniKokB:zkg9vN?}BO>:+& sT'xlfbR™S{oIrXu HpFp@!{1\[K`˓lHd^}pHF{~v?~ѾTY7BN U((]]E%얍*Ms !]6jz+1aVYm.Wz [ը$%gDoTV N҇7x<%IZt&d?O`HA%^ Ly&(.ai-sOg~sm%dJ:p창,Aa4V[pY_uDj6deumBG4hxMVq:NnDzbgKeJsI߅_xB~즻A띯k\e^vl sb9D$I룱"?Ile&`F}Լ\:IǕ2Rk6ʫw7{K! _a'}BNL*@3êqMf_3j͹$l +Soذ0.hߥjwhm-Qc bwGlb#hZP81=JE:<_&+_ #a}?tɉTmnrXʄ$JsԦ<MXʉn%{a3:.OOw _G?k[T@?BO9$-*/=;hFA3[,qqv9 qDZ<%=ݱNz#ÊB}g<[7G, uT{p6ۈAg=ä7T9/q=AcQl#: ҳ8y[XeFV9n0P^H#"t׬z A=ډꇦZO/S: X\zVbnQtz?3]v׈3H㱿U܀T Od`l0 4\'OJv/X.3=wrR[!7=kK/Q+6zGn&x׋tW9u՞C1_h\mY m6n:zpޓ#*GΈBaBr7w2+օqS&ۋcYW$k`pag%[NbϏI`ahi o {&|5]6{/mALBs:n /(˘]DxHPOaRYwmI/k%IzAs_ ċQCYMMt*:~:]n21ʗ+IG&1ɿ/\C[ݑM NH㒬5}Jb`t2`tА3+|k=OHku~1=,FRMigBs9HVmjxȎ$5TLiIj7 iOM pRY{^ühoTP.h!2` d[{<ܟӅm$f?3mċ HY_if \ #Zo$ׯWWd.u=^Y'8fJ9/biެu@O^}P/sP"01R ̀ݒIlNH̱X60VV50J 5# ¥-@ƿ\2t3n(uȵY%lZLM QYeף]w>}<q4|kq>Wﶲ*|WrdyG$,1qh4lVHߞ g=Ny_|zuȦ`oӾPN ̄c9qLwRĨᮟ#gx7lhmB<\\!D!M17A*=F,|LAqno%v_zk Sbڪdm_ԫ"s#aKCBư0fwն.WaGpIX.m7i R@?]&jexL#gYst}] ]ޒqJk\rȌB1B]c;Yg}\F $DizA)+!T:n[!)͈+ m,>f(T,<lՖK_-g,ٕ/cIf>{Tr\s8˔cQ7ؙ{V;CJ3zpBHX]Dm,\B1I)1"Nee(fv!'f8A?@ 4wA`fR3` #Z}C7 -ݘqtDrݱQESi4zUYFz mÛr~W Vy>?dSP2 ʡk23O`t-c&&2J&&tS`=g~TݍR2Q2A3S5 R"e1T8k ڂ杍z{'(4eGoit19W:1K~yЬXh<7 ;㎁}] n+aԌ)|n+|#;̑Uy3mԗB(+J5D:_I<K2Z^·0ύ HO5QvD=5.Fw n$|stۯ!%(o/$ոO@훝kV$:Dp\Ԥ{m} {$oyZ[~g-PKPosˤw}wD(WFNVᴮ'Ñ!{zQeCx@2S:b ;ϝB̟}NCTd`,x*iD3X t|&4)a4{++*Pa9ݚ?tYud6!cٲa 6T~pFv _@({W]To/Y (`Z/njh-'E&8r Z}\V\JLe/9]x_-D ̱ڕRJn!~=Gþ!WM ԓ+t$bkuYXr4҈"|+ӭK i8q|P lz9kZ];_' F GU9חav 6~GzN[Lye _AM'A&4ŜxՏuL4 nK[/I܉i @A |0qRf8Л45G9r*Iǹ'harHD͗{ SxTJ+nƷIh?t{{W9;e=5}nDQ~ JfrpT2 Ag-"QpIM2>j&\ٲ7ַOwLen%pd[8GCNTjtAN`;ᵓ+TGހ=қse\V /:{UuMp`_ Hwk6 .nH.H/"!8/=\*;'D¯0&}rn$WT&|?A&̠U\?U!r^2+.H3 WM÷v[6,!f\Oe/G-*_ Ya ̏}g,,݋ϴ7LcL8uײ4gTB];U٫H!GF 1pX>+g9QZ3Pʛ3YP Srm@M< )|=N- ntpL>fw!%L,96dIw DCMĒ3|z.0"$(h.Dy1 M9m4"ֳYgv>89r7 ^JGzwlq,|j^jWY-0 ͣ>sCP f9KyGd,vNJȐAH k1fdB^I F3:^7Ifc{+j{A "-x%t/?1~f^ ZR'Ǹ%-,qE3B{ѧ@bnDPo/W*_; 4K>bjE|$],#0 p{Wi\ W2d~m#ɊO>&c7.WD "_[70P i;_{{lœOa̓g |v$K 3tēm dύ "0_Q,kixllw+PYCі*|(Rrțz8Dz^;=ǺjM.g4{%?SoC|?,!~DSIpF&_}bDPip TUZ1aJZ~TF)qlzd͍1 JwgqᄌbcoUh=Dਊ1%3 {PX[gޤD%&Rka'ZP$<+#\#-W$ AqvčR" mj^[.sY.j ‹N\uJk&_ٵ*k5r1L0˓d08;-u/.+fZϋ<=$8]uhaL#}Y⛰;:١.ogk%'BFZhTga3+RAK4R6~~Չ6QQ@3}h++}21DY959 2G԰e _9VѳNnc,֏.^V.]s]v3rvοrXs<"ZwAQ콇expqnrIaKV~[q ,e!X˔\q} LDWUVEHSs鶂9RR}̌T7򋲆1^?6?7VIA}^[*Lwװ>y WYaj ^k*…yHRV)r<(n~ŷ'*K69骆%A  bAS0 EΈkUn8dL^A2[vsvR)x?(ZX?Oe%%\Z";,A9^Zvߌg`Fvkl=;)tA$"Mv&b&SeSj 2Zlz5#k_7HQ}H58¡i "K[mCt"3-kZ}~p7/O V +;|P#qF2p0}42RhDɃ%n2 ZQCsFm%,JAW)˘q-ȧx*Q':;AhF}!]Ѥ@K^)Yt ':C) мxjBG7@ؑ=:9C[Y/qVpu$BFٲl ƅM0:muz3ھIMdu*8oAy2y}mMOث=1N1o?}'#?2U+|$`x{>f>Ԩ9J8FQכpN v+0!2kTb+hܱ{<ZC@ JERԋ.֪xܶ3EgP s3W;5fܰ P*eAlu+*ɒc?7k{%Ǚ~*\6F@ָ(-J*sWNh䞌3`*^y MB$592C[~ JƢ5* *ÏsRxPR5ȀquZC"'mI]]fv `3޲BOʇ79bwÐ\GtDέ9;@Cr~;o_# i_ZXϕ'B $y0Jo%TSa_W[<#AY{"s2Wbmuxv e;bS<:[$p)kohV"3|XP,S՚W~C NR,}٤fCc'W K98y_r_ E/Ć@n }`N]&s ă)(J5EKD) `a? MAx>%U$Pt#/Du+{嚡nAPzmWUPcnU s]O!T"%A3Vz9Fk/L[93:H7%-> _Dѯe#V,c1l.-Y7lozܰɎZINcK?}[PKyhtݥ$'$Jd/S^.rͤ9Uo坆 kN3ەhc{L U\tBWUw¯ـm$kt-R;~ O7*̽Uh}:_y4N(Coav|A99,!@?C &emI >P,^o qPX'p&u &ʳ>0}VIX !sqUW0YןV2STp/UCy cGyƪM۬&G{ݘ0Ւ?2PزLrGzoq\wwij+WXRrZ *8X]al"*xmEJ+^"&ob;֋T3}xE5|'pY+eLe%pƋ>AF4ͤE^{N#D=MG!P 3HN+C1 }2} %b:|WOK'شJ@ *+;Y>[v()b5^=Έq1 X-N2:[Ձsfٟɤ16ƤH%FI#E juVY+x΀M$F`+"F1U1S# hL^ZyF BϹ?ŤKN|OUwu߸4kZ_9ƨC0D r\:o7s`to)*ppgrP&as6}87!0˸5$. 2Um4haֺ.#=3x?%s/<`F)4lCJ/on eeH*5fVbq^qCkj Z&Q7=<,l!jK2wwt161cR>Aձ)̼bZbθGS:֘55yx_bE\rk~)nGoꦙL=&SQCl_0)S,_0dB<0GxLk꟥߃xޕԳY/0 CMԥZئJCL~C =BINߢ8yyw|lЛ]DI[T&^uvژ+yƒ p϶-=~fxb"˱ @A{?tN龎T`wl4ER^ǧ/yU|DxT -_ۚ=J$_x|Qp&b%n$*{}l.jfCbPR9YW40`Ad:5c3&<Γ-gWq뀿V'3׶G0xM@%$eY4k\4 b;߅h@Y˜ ֈ8N0z FYx.<)LbҬ)_(_س~0F7135 2HH&^1mFxtIYPEU@vE&k5GYCl&~Җ6".A1D?^^m+#Ps+*J9%|N oG KM`44O朽;X(fXG9eCp' %nݛEnuBCHeR=>irJ#&òK6sJdy: ,!^`%X:r;B{w]/Vik3-3PBga ^#n>"nbIm|܉1-}I+//_^k.CɼBE)E% BS=JLf״K3}RVQI+*8DO~؄?ǿTOuBA 5N-J z[?AjѩMJ c䓶X@ L咪+aQ L;)J<-^dO+xd:lu1Bb)UJ2rmׄ$DoN?,q I9FvC|yswo{~TOTtVϧrϴZ9ݛ64fjdtYn|R__c'ƱE ݰL?"u{ub/]JE8c/!/FkeZ5Db:077ݰ9p:o2%'-|ΒJlhJ9ەmlJ{Hnٺp`x{M11Ը$=;*Msx[MT\ݑB +3o/ל \</5)a'xSۃ,78G3?e2X%dud\_ҏ ~ۂ[T gEmr,p?Gfe*]5o@l%@XG]B4äg_X% X*>qKfYiƠ$QT|#*U͈88R6VBU¼=Dã}AQڲ0`f4%=uL x'Z}ƕ!w'c;N9uNj%`t4(Iiqf6Dz:TBXlx@,kZA,zz͊S`P#-'K0/ fv)c}>۫Ŕox.P j)C'%|-5 ;,R Cqruk.ێY9R_~5eC.jTӾ[>v>XROXxQDaiѢZ'✶wmVYClp-XvDs=NOv7!=ݡID.*jDC% 4d=`rift0 aX"j髭!nc\IZ;kK:_i~f Q]J#yčFR?"KKkҗB FWdw`/nIQ;dr4nkq~xS`Q$3RBLyTIiNO{&?= H˴tlanhQ-Ds͒v\NYJA𤙴ˢ0hjXtN%|91G"rՊ!SXU U/Ey8+P KcU>Rmf eRSEWtώ FW@R$NM#e1l~5{wHFo!FvpR֔z I^7sSW*JlJiEbq}AQXӁ*PzfMW8C*(7,(V p"uB,;e>DV[W x%水s=Qu"׆ňt X Af(6 SCڔ)Quf/ޫ/;=42(+w%{l ]H%8uy}캵mLJY߭ #Dy& M@H}8'Xd]x5}LjDW.wً/hd')Q:F ڿrdwZ{[Kl -eMj?F2>75êHTjd#=&2SpPDʱQ]]msEc"f);YzJEEH6W&&NΌ/ߒ}i |F}J04v (Y/qFZ^urhtHa<X$EtGfp蛰ł&7ٰW7Dy&Pw͍I`3\!kÉF)CE$^@|/:#-ՁlB%OQ!+ btwԗ+ĭ<&i$!hϵp0R(]-@ nAILCBc;OኩʺHMġIPȷv9s qߒ ThtNTMKKb߄A%k;2EQ%)1n#LSԔEƾL9t_l T7g E.΋,kP@ `MNqU@'F>P-A!k'IB/ /Bvmf遅GS= (,[' CԮQx7 n6s2w§$Pf:l8/iJ驼u=lQ"ʖj3/c;4B}ZpռWA,KÂ}) eX%7:-$_/JA5mF/Fj77)<_VK M :(sj-HXh3QߕjL^B_$"ZfV.ʕb .yVn 2:}^k;#b =MUDձ\46B2D6 ԏ?O ݾZw8k1n'MI1@rk1OTTt +)-Syy1.^+x$p zM͖9 bXv{1J]d.&ӂ00lЅxvnqdk?o5]&?a@kz dPxzװ $ Hj3goY` 1 L0oֱecSM*!b!+H B=R/RJ,03 {ʏʧHXA-ÆF<߁/kp()1U\/dLwA\WuE#UJE#:YtlZq!˙C?u|k'nۺ+{2[aQ/A#9Ș<,> I>6_1D!y`fS^׷9v]\ߛSE3GȤ RHJ)13UTʑ 48N\J>CѬm/tHK6N 4V?F&eF[S<_S#0'rs䦟5# PjEq)}}%/3Nڲzq WSlZur?:{@8STB>[7b7~ۤ1p&nEJP IWebC4I o.>MۧmT{;KktM"OU6>MS]lTv| XPXÕV㑩svafށ))6 ދM_DiW^6]o5y֎_~7]s1!yn']zK{ 1d#j8E4aDZaքw.-YQKM~upO..T yz'Tig;s6j5Pg[]/DfMn*5}phCaRo lAVݬ3IHBINrŲ( `ilRTY|?dj6kX0󧟼ZMMr479W'&I"5ϋ) -7ACq }Yj#o߾ 9\o5 Z3S[;d#r's=l1H Qg$ȋw/cL#2::e3:&.dž~\8 9Tvqrxd/3a?hݰPs 1yd2@2Zfl#wD -ȅzZ! 41gA6g5v,VЪ -M9WA@-/A:cW> +J.(hČPvODyXP8UDrڌμaAZm!]>H*2aHL2 CMъ~0Zi!$qx6P }?-y+u'ȉgzlIW]Noۼ+}Dy,U>i t W ;2ɾ_fbAՍ -2}^B1-=RZ0?}sV/L~9ҕDL V`u749YBF)-]ts>zdk^d8d8&E} xӸ6 \ӱ}Pz["s <!e]@Du#75(]a׉pN}cZO(I45pM lkR,-K3,ڳ;ZN/K"Qx.1o'sXm WFo$a^6gc#R _z6"+ix`=( 4Fv5^Xq7$\1t"ƚG\ӊ G4+w BA?-L |UO4IEeԎ.}ఉѴ$ԩ.B`%XXD8&$\Y,FTOO>q[K]U@(xq%u\3wel{8S!;R?/$F fTy#H$Tr :.y-E LFǝ PW}$ eoVqy܁⅜`X`Q.0YmJi8FpՒ,Vl@ߵg&6mȈS (|Sǹ'5M\wQ :RdXJx>汽kFPUʴu1}9wc ī$:v#ZSIm*d!َN$uf H̷+u$ՌQW$_20p H %dX ʊہ o\쑙 ";./4?m˒TVFrn]ug@cBjT4hle;ғ =Vˤ GpkE"4zV[Cnx>ʹI ||݋ZsotPm+!yRTJ dRX g:/%L0b /e &4(H_eho^* ^]'?v^8C_vqBĻT-c].fگ=X1d5#W;Z11FCz[F`rkH,a|TRʅׇ=bVMh~ "'dz%`,3tP{>RHDoD`}5+;פT16iݎLžk8 3}0mI7bdLp WA'j%ACinJs8ʞ{xn2' {7t.3~z4VFC ŻA@Ũ6?7'6af2b,sș} h!&؟2%b&FtQz7Y6#1q1GY2؄ܑIaiW;uRTq-G[2Z/B܆hO>s" 2H5 YE#3{.UB[lU})we  Jc)()ұ8>JE$7ѧm}l[zFV"$TîHEͰҷ6.W!pRuSNz6Ȑu׀2NsWVxlۋSUa٠' iCP /:6~QhoẂ.70QϒrǺ$y9^PG൑WN B8B-'̔Kc7پߚDҷP;.[tǾ/rY38/ၺ9Tv3FݩP\/bWpPAJCR4]}/~UBؼ2<"I͔ S~1S-7uu;&δYs@8::#1o'KBNƇ 1~]IV#mcU:m<-tYq7yFLtW.ET]<(֘eqQn5榉T+5A&*}գ-ܢYqⱇH׎q  e~Xv;aY;5@XLzkR؄ʭwpη;,wר9]T^J4|s\f=<.Kw[ 2o->X5rh;:YdV>QcOVQ7P1=2N9x>*JB>+TtT 濺# Y?n%m>c 3ze+\ʼ%{=J5hTaaPPWkcma >uAsA!, t1xIG>$pܓe$N^7 =#cYҤj φsǘX6.ʞ(s+3R1>:nl hf,X;y"ΈWP2x7H{OC#Et)dB |WuS@x@Emx '[gܙ $N2`Z9P1apc(ûo}s!Xpxw{']0*yV8~yGP tWR"MCmGNoq?×f0  5)-VX-(fO5|92 bL['|EoNd.`VyZJL138úBPG?-`y8Ȗib'gRX#RZ&M o;rO٫DŽ(F)3kk68E7Yǃ`-y~i@!ࣿPljcuxyYvJn;͹)Q/_sMj{$ꨦF㚂2D&dc-q-޺ pI&?uy6VE6f,މ>&Okc{LSi>_3nr-1ԛDuŸyYAtL!C/K}ՖTSHXjQwX}™wVj#: ɥBWͪQHÍd?I=|ECnBnX)Y{woq9(QV9uV3Nt.0dGY72:p/2hp|4>?6aH= )TTҕO TFIk ڽ^~ӑ vTrMEVyR_V;0k`?DKKD*X1.G-FftqE KEJ׹^"v4$qC y:g;)uFg58hlh gm `џ'QnxIGkNb'HU+,Ǣ{ i;}B_EReElGgԁ.8}::͊JAq1` ۘT435&4m0DFQ%ɓtɢ!2CϲȶeR>邺*/Rbe0ڥ& !ƛe*ixȄm"pqv?gUj\ 1(ܫނuD >^nl=Ā9{cfye h Fz+ܢjkL'BT]R+˄ TcDkʆ85!ޙ }2Zs-L5s6{hNM"ߚ.A@Xo1<+98MEՁ4VLǬ{.*Ŋ4P(dzH"Lh 0/ڭ呿/`DLGPjj qgѓC I qM ֏կ0qҁTS*,df1r&npz/!4CJjB)vҧm-h=ԁøv#<ٱSf. X.( uF&΋79g9֨OB CD[)pThE6%1ުME/Ηec9R_JZ(w^1M+.kѪE{aaQMCŴeqC'D8Ѓ4'fǮS$uPt#QR񑓣^Gc?r2!~`v?aTbv%Б4rڠMO ydB24]Ip-p!VnJF R_+3V϶[jU:)PA%/x*%a,c Gvr/;w3`W<Ov>1\X%(s)QCճ!W6~CUf$Y4yMi ήxb?GMXA"^DN]2Q@6ྔɗ3C]_mBw#LDdG ѹ=IGwD%ω]5^t_Yއ1Ek|:+ߛEbSs{2vBX2:nR~`j0_t~dk ߔcs( Sc_A-8@RK)[L/ -Ha+uOv'<6:G<Qq'fy7{Lsoٰ3UGV 1xg7ptO6Qau)'6MF84z6cKsNۼLѾ+#A;Yឤ-?n=|P(aW;4梥8{{аݤ(D[bO&x!LM>Mٿ^14yM=W1wۅxV[wNo(!+bn7jp>+d=-tp&>zf3gxb@t!O $9[FQnq٬YUcS̀tL9/5e`9U)ԣuܡyD҂<))F%uQ㟿 } Oϰ䨻eaZ7 <'TY5Iצx]ufYK3, Œ?[㧷lUufa{oQ~ ;8TQxx7;:] q >8᫫@U諾|Ĝ'D"HD7J^z@l/ju6>#wdwW1}j%yrJ3?Llܓm}<_;TWع礥1ר&C,=-XYaD|cJNgK _sXQuD%įιHU)dK[wƠKJϱDhtN0KJBq(ff 1EEP(ڄABPCkJJ9h.\B>2zjȂ6&q0# A &:¼ٔqmDbǮp ͱ ej]Qu\qM_ٓԝ+1?/.KUs}۬M SE?v9Zʅ&G6\E|:349CЌ"w ` CbҠ1~!2q 'תmf7D'rFE0¦iޔFы Ԃ* ]5="yXCaA^[6X,h%~IG mrȷojgdz+C?ùv79lV*̖;ª2F$eVgnr@6,>tN7ꈗn1PIJاzYu;|}фj11kGA\GN`MO ß6ڝYA o̭$Y1otʈ˩[:@Dr` WaIֶaNFCh"l|\v"ڂs*Sϱ"cVʕ݀aa1~2w4.pɆtC(|ϛrQxF^1'~>v:duɘK:!*Y(|;@hQUy}p@uk@! ͏̷=؝N_ *NwDO .];ڡ37 &L{u_ψ1ԍyS0%[Pg=|-?46g u31~V3]0")lD$S.a/ %Oamzes } G*opjc˨ӳ'b~d-gljSg2C, 4`)uvJb.>Dlp;xjVY<>a&[IUf6uovk/Cgٚk$lKYn$Z(5jCZ,[|-F/ qLeꫥ2r34SQBD-_e :LI1e}{dPLi6?j}"z[efKeu_8P]p_M_ܩ,5@+7frÐużH nE|$\9`r={0yIsza5_40]D+vl%h鵐aŐ)cHK*(u'`= L)6'8EG"/bZҚbhXX("R\udE`$嘈~0oMF]5X+MocKKc˼;A[K(IOװ` Lp:P.%d 33@C?= J,xwV_Yu 9 ͠BH]{nzgK䵳Kƈ|/.>U3NtSp4ZiSHQܳ.:SHhF4:IVUWY+o]QфC+r7#k+nh*r갞SXLdfQΘa!2O v3PSQyښʫ\ʍϛWZ\<ڶ:D ,M:( ܓ9_&0ǚv$Ҷgpd  ` v<1@tH v6E yHe /7oo *l!j5fh ?4'͑.|[@ R^j4F&c:݁a=BR TF(+)-o?is?DS]=L4˃]-B ~w "ׁ7j1Q\˜r^W&_A6Ec^yQ !)nfQ-o*pŅ$#4+sʆ_8?W)tzHL܇mm5SW~H%i/ѳIJ]<_> ~>qз* ERuG+3j5G Jq`P{hN>̳Gn; [7B)O9"8tF+\ 3< /}i# FE7wwf9hȤǫ! yp;g=ѨwTl[ğrw v )%͙c=N 2:[>qiJ> Ep6%NS'S 2kvjZ1#{D&k_A0 Be\vJ7 eUTC;EQ7W6zPԒ@ VU\m^B)fh.ni@t :E 6c wZkz|4Hp:f۝D SàI70LGwxrB,K1_{nbs45KjӈF24I][|LCyc9Roнܳf> 2o2fC+k?qJhb&L-X(Ȟ6]bElG! X>ی. `fXM_RLGxϗ҇ &GYYM:=qVڋ@T%.GsCmj!'%W/nW9?uv$NnCa=ۆ7/5N˧U = 搼Z!~toyg )^ ]|壵to2qM#: j #(Wg%5U( ++qӉ ς1Le4yf>Fsyb(!f vvO1T&YІKH[·&tȤpꚗ1Z%pҴl3*Wm"OFAc Ai)G*4# ;dVTޮֶw- -}c+;,WgY1m>^G#kjO,|orgtT ʀ:]x BA?C:r_uI| ylڥa:J\aDzMYŶv!*Ա!a_,FIeuh:9v[ƆF>uD]n7)~}\6Kt}b-{ZO٣#k㝃?\00wqV*N$HEy%1TDwb<"~km%׀=5I:V|3_9$sʒ>h:գ;K qتmZ0O/|0өP sXj,nBZ]?3}6(zS@EV70h+'ڡ%|wvN h#v$ЉSh&O)6So1v~AnJ}#ioOu]) ע#:">6_ 3Z+iL{+3B`s ttG}jRpr%u ]i_'ٜmƤ7 b?%4dmf׆- &-^ +9"*7vS dzy\&Y-e0ŜG}[ dGvwhU`N]ꪆӺ #XeAC>A:$8i{0,"?Ui-dʦ^>p?Og3u X~Hr0d>g7aNx8$^riH-5KvAY?TTQ}:?\\u\m틼w`'̬p l8׋١y5 ~CSu;ITdՌgRE5X/zByH6]jql˷_ jP ӊ@K~3 yD6yob 9lG(n!O2yJf:7<·9}蹺>Ȁ|!EiW*=[T(noYH]wεAbN*u.\s]v&GP!O{ =xp3}2&/ Ù͝PD/(}`%ECtg &TuSآ0j1OALB8OFϙ$%r/Ӓ`J!B d?m횳[B4m?"QZ?^kC^FTFB 7wwP՗<0POm;Gt[e5U0^\Ri0~cA| zpyN+X"ۦ4I[UcϸKxaѹ$Zv-ULpVRNYdG!iԆ&>'/m# ~~iJ&]Z|X<l9 xN։ UuHElgI5Cl2GtoQ1oQjyq6yR9;dQ?<ʅK쯅cTZԭkS?9 ;Rg3լ`+wW&1wl/-j܁:=_ vś尲s$#]Ȇ@Mv8'"lʈsyrHr^CD ŅbcNxg]M@֩ Y<,AUoyoѪ^|wQ2X&, E |獺rW8k2+L^Sq;Wŗ >g^~^Ũٶ"Yf4Zt)WB?x;:jMmahٍ3i.xSO IDo黎5eQs{^-6Cw%x_Rif4ݪ&ǽl0(6@nX%?TV#r1E?9+F -1.5!t[~r %K9{A‰va׻xڗGQGm8h/)` TtHkNNϴ0>tBnMg*nO~QĔ&@m4L< ;5r'O3;l _]aIwMp_dgK^T\69`K8AsKt$)]:ʆmvC\ݨp"xquB ҅`^EvݥvG&v=^/تs{0!3:^ЌDV$Od=Fq eߚaK lGbOz9]Q'Me}f  le :ݪEH;3F䏧>CZ亍c`Dj~=yųK8QL_GLj>?Lu{k^VF) r~pU,\l ͑՛Vd8>8Y]DD:MCkd,Dܜ7]90bXeNScc2FIZQ01BȔy&XFX_spRrG͘bW2Qꕛ@KJUNɏE1>irB:,r BQ\.,Qf+K*ܞV}٥%f>//&!~ k:UU'g+N} >Zzo>y"ڝ b'N'mΕBf6{yҘ$gk2wz=Aa?v΢#bt3ڳ=l.%C"8[B.2RviWF6h˱CVu6E*a2nqrD9Э:N1Fe$e;S5PLJqږdN~9rE<(<ބnEtJVRP6-~ bXoP PZdzUTj: Į!obX& Ja~}n.h﨎BV6ez̦xg@ALP>Y0O`՟>#7 ñ;1W*_vYKE^t9:Y1~ai셄G߾<~>{1H;EI_|#fy)]yD{{ _:IcU^J}Xs=ufG 9j;C(,HNWƀ#AE _=DȉRA!< 7K|Ǘ[8 _g/'ci݃X|{ޙ9#pkđ8/QIC)LF$u,*Jv`?97ƌ$I =2GY@_^Ӎr:^UjFd9XbZRWz4>+` m-.|jl\'Qcp6.nrpg15UIXs!ANCT n-4=/3zĵ@I=r#,`;J􁨇3qi68f/}F"DM߀JniUZrLfc}HP[@nOP928#';)`[Ij9uŢk.ߧĢYU dE0φ_omп:.]Ĉ \Lp?iwr xwcH1~(}o)ԁ!W9F5=p1nسD.0Ō;£ɷݟ-3梙+cfwoEvMAvT}{%ДgzH1'`pȋ{O@C3TI<)hѕ(G6T2 VA-\j$eN,'D[׹%GL z,=eJn]-fP$`Okf ~4C;lsv9P }ޏۻ t&K 6OҶdnF?&{`iUu76 rW{.yY# K*[L Ow=Vf)Tn@7yRZ}Y:껠BPUZJJ}cys&25GkH Ӧ F~? *aK!!ؤ->!?XVZO)5v;qKo;hy|zhC,> bY/B L2NyWdh,Sv# 8^U%QYB0r!n_SC՟J=~aoZ%eSmj41ќ>UsTK{wq 2+^ ID~AQHN|µ*qz;L"&N)k-4cBLrz}ir=}ǀ `73f+Eb.nm$`_ۧ【9f%KwZ^)7(MhU]`Ȋ0"Ȩg֚ Js9yYbhdG!0?ÞUeAŊʱZoSG n aSС5Gyx)@Z,^١Gr8!7'T~7q>L^Ƙ!?,+ؖ{/͓}gaBYs} C+\Q_KXÀg$ OqXݚ4d=~hBr"${ʿos3+jCC=h.զ蓼#HDNA f4~)8wT&!nڛL[YH{H>`nsk<i _Zk: =n(>VkV@o" 0H.NF_w] J$4gÑƻ7 -ќ{ȿZNSQI`);KJE&.) U@v7aY=|w^g %]/+nl>.]^܈G)8n02Xt.S0 ٟ^ADcBp 3jZ>0+ѦY7h=E*YPh&;XgY..5$5¼0=U2*RP mjPo|.C PD](y8YxSGTPBcza1,:Wd*bUku[i+~\:Apr3~`AӨwU_%2s1;f JY^Z6Qp2dr$!4¾ec?~hˀ+34!=e9|"tڙ@WK=}kk1C{aP4Gy}o+gSܛfS-Uz9R3ܗ1.͊&C{&c}UA],:{9\,ȭ3xx(bNÞg:2 ^_Yl٨e_ӑr nQ}DLF+<(-Zgjo2増D`Z7^Snɧ%gU;So.!ٝxK| >.dm fg븈=VRp(&1 \ZiR,km5uCmNp TԥwQ7ٿ_+ﻙ*Oُ_'Map=~ƒ 뾤W”drbxXڥF>Lr 6gK cS*{0b^zё.x{qZ.:Ǧ{9W,$amUinh1wB dAb xl<8F}du2~a  Y\t ]D6MvMr'ȂԬ0FUD^MvXohfK98wx`2PlPeO8%_vso12Pq@H|O@ rb6mؿ$W!]&kXwW&"8#VRu]0Lj:S dӡբUqT qsl.1׭>!RnJv&Sˬqڈ2Pq8 0_3J@Sґ`0Ԁ Uɓgϧ̾l%4:YH@)µ2a+4iEeyv~V⬣f& L  8݅|q#ۇYʻM'/-KLi QG{'PWi<EmĢ~gc^VA9Nhv 軕=2YNhBgi¢$GcX.PBoıh^n4azgxyAyjn[ 9}̮hlq˵2;ʙIÛ{23 }/;";QE3d#SI~+[kJPK6:BS':׀.Y}!b7 E22Bn$3krr-XLNbg和MȘ7- ZDpB.1ԁQ n8@;fF ѼyFuKSøwT{)8xDEJ(X?<js.AhrHՒ_G'G͐dbq"dMM>1c %^:MY~fGgn3Nng \f"@v Z-+5J\pv{D0bz͏K2l6(Ŕ#A8sHRk;p g߆˱դb#pdauPk,l9OL'rGGdi!_ĺ Dcm+Ӄ?Rew}GB-cWӁSQ(p@lm@ȇv@EmrdZ ,]K)vm%_&@7MҶX'=m-`%Qe$PzmP ۰@ k94M)z=9)J-_.9ޒ={Xsdw'3:d"~t${hPN激|#d e5A}.h)\J`Xz-ac=ON@Qwlc)72ܰWUc\Sn+10F:U[q~pm-CD +w9+Ch **RIWݑ*no6iiÉò^ӝ V ]Yل?x 2|4i}b5fMRnN½`ӳ8H 0/>2̏f)8p pΘ4VZ5:p'ħgʅZ^0vYAVJGGg%pϘHd&W6ZTȗjoRS =id,yIQ3jqF"SdϦ1yOep|Y1?G:'s1>4!gQS^zcw6Kj[`[i `<l|QeՄ?AF'd/5R*PVDiڨ L}/)CGpM_F~ܥQvoߜPCQ >M=5ӫwR8%nϨmTM=AzgA +H.^=-Vx" 1m[I;P0.F{Q^ˀgք>ނ$μM6[HQI%z-:~'(݇QR3SQ=`d(<. fΫKnCqp- 0FI 㦴\l):!ecRI}!V &}GZ^.L.G`]-c1:=`} T](U& 8<1\xSqpT]c'B SSg:ATAOKUa+ռ`Hwɨ0 5c.Dh$$ut Ŵ!-=/Dn1S1"p{[O!et/vJi.RR~MK*?P\3yO8ZO=,aXicl0'IL"Εk`E4/ )0?boWªޣB-XA]#$4lr\蘿XZ|s7yRbvLfpw!Na̳5jCB6rO~ڸ>ڷߑ ҂Vҧ% D%MΟ*iF>z\4R\yP>BG1ǽL^+u0Oq'ڂ],= ra( w-mVP <.9) 攰.66o$E֍ֲ6=b1搽*%(p}tml| =0”W$USiU@!DwjUyܼ- X=.bWPp]'vL2l?tT0h˕B"{4EV ,dY[,[q*+:wNW j/ W3p-GT૗UH.Ժ\]sz[~&ͭdrn Q[lsC8ٸB&{=BkK߲ O,qyewdnk$_Beڰ% eb`Dh&uBΓ >RМFm @&\GtyID 7 MM9ө=yIoj^^a=,ʍA[Z&| unCq0p'oT2F 5Edԣv5P,"2o:-ifr]^mEZO=%k:5DzgZH.#ڂ_ȗ.% g;'k/Q9 Ƨ=S/bPZrKlZ]e }#.K ǧr _L8&9tG#jn5ڡ/v1:4 ӵmNy[# >b5,UPJ H2 fkV,>nY s']78[  {nHR;Diq):Zwi v#3)B"&!<Y͂in'rjeB9#'𺃲dL(^5l cδ0Cz6?U1s}A_l(Rj,ܖX[@^gK^2#XҼiSǢJ*Yr=k2B9EC5CJ> e"$gaP7/RxU/8X|O _E$ޓF&DؒLpa媕7826^SlT{}ZLZChp+{Vn"anTb*’hfA։!bZ~Fι*"+=~+'=UI\b7ͬ$vm2E5AS g Ѻ@K*v 6Uj6jE_66Q8SE _Ȍ_E M|Q'VhsNSq z0PZk;4^4a'/SŰ>O^VmM,A_pw`'1ͽ%]^YWbe @<' `b2Aُ\cY̙r|)޿LR 7&OM_|4}$czڍW0ROut:\#y7F@\"vV%SgըKΟY3zf^Y@qAFZe s'z 0T:b:Q"E:63 PמmαzY"s&IKSO&֖Z@C& mMIj(?~ik;) u:̼nI6aпKl'Ũ-P_s^{z@n%OR Y`{J/."%rrNj%r<| *Nnfٍ⇾j\P=QsŸ)w'ώOnQ="6gv+f^5Iiik$/~t`Z !m^8lS0o6z %ݠ1T?ȂpLי—3;W}΁AWb :s"pSK s*k;I2"6wcxDջ _N24I6J='|@aNRW)d878RcBZ"#a[\PTňX7%eKhS[= m@*^Lg^i _+l]G;g+J{-]H`SgC4]I ȋ2%|u|kB$!Y&kYzH@Bq)jM!Krl_{ @ #`V|J qKm|{}y)҅CLmK}?Px?fhX& U~Qؒ8 w}Jq־!TB' ,x]WZ<{*'sZGmYt4muTu~-+ұe*Xͨv%bb,B;#^>UWv$Q.6[Pp ̐V%9.Ӹ]6gf" PT@i$8yEU8XsK#f*H[YY޲%m|56䧋 TOǠK:>=)W|Z7vj<V2JOg-t8&ʲSq[6t ǐ6bP29 H~LUT3l̡xM,Ƣ"YH50?i )$gSHc68v9Nf0o9 Q{d;u o.vZ ؉I5/>)??Hvus~[.B@QJ{!ɬqg$lfg3p$2*MuJ7Di*KV:Wd:~㎻Ѻ*v2#Wg}tثč_S:fA`2 c#spdAbtpLmgCȢ\+# G.:!nrNҒ|&\1{Oc{3CAA&dPKo >(%`rQ巤$k'ʀ$rTزbDH48wS6J$pWD$kK`BoLKLP<d8y0[N!yQIQNRԌIKG(De3TWK7#=e}3a?M7965NIA, ʶ3[,,MŶ#V%wN3S-ZxW1A3i9i3`tXosBdϣKF!+[Ice gm:6zu.oZ=LT췹@K3NӤȉ8r"|9lN%4g.2M&7;ꀴ2+Se` {f;LG _X $V5,w^6o1"ݗW}BS gu@2sTMr j2KoΩw8jS >>.;HeY/1&IbGFl踵¨ob{{H늊+hޟX=$mZ.Ibt!_YyxPXJĢN!y+<1+0ž5Q!3Yi6P#m|UZb&H!J 7&[+šys Q<܁BuW`TZ0/jp&;X0@&aCuB @Bj ;X $ ISff8{S⭉0 &ЂQ;+/Pcv27C9'wo~&t,[ w6u}}j3p݃) '/HmSo q?E2wϯ3p>XQh% 1IZ/8^*O'*Qj]W$rv7*2`/7ӟ_Y|ԚI܊ޮ$aG%r `ae!;]9g(\xP77Jv'"76SO^v~jnY \!czC+3 WDUY6jF=]sidnGfJ׳5h sλ^@K}ܒCNNXWj+0azWqow4{/(BiWTe_L`x 蔃#acsG\q2+j˔ 8g1MUzd|2[Fb܌߇z8ލa=~+*Ė _3g6b"W !A2x R1K#8u?gf@Xu.YKR2fAU, à 1 Cm1ޗn"W1:%#zt  R0c# ktQ {^N)&^p[6P}W$D'!{LR{u CY뺩Jd/; +eۗâD;n$蚥:&5g3j = @GN0ŢNoN 5gňGD`VɕVwZXXK^u ɪ#v!̩ /!d,[|1?bλTPrDL_L/M8}@Rʃ mQnN&+zS%Sd۶I:9a* At7?Հ"}<6 oʄDAMaKPgǠ4~HxD㓲!yw:dbdU.Y60h!t! 4YƘ (U/9BƨOy߆U1Džk-HKҿ%oO~NWehGyxEɼ6ߛA%Zrl<>6|ѓc3Ży**q9d*9d) \_x;r 1g0Iq2pP v2&~1?$VCm\'-1, }QA󭡳j*Y.U|5g9Q)ļnk7YǓY)b 籛#RV"[tZW혿.+ k<1UOp<rֱaoTz_l"KJN17] bԜdFqB=Wq-Gx?.wM̏mX_p`!",*nrO?ރI"zKozΘ_oTX{븢&{H4 'x/VٖoUst(ol)ܮsJ7CEg-&bQ`*CH9\VK8K:#)gJ unZηrβ60IF=+[^nq3QV(Ty4`Yz?|׋#y߮Nj~_ _UI1tgr'>;EQoftXɳU/v$5ƆY-O\6^-"eHܦFoNA^]rlݭw`~0f_tߣm /F@A岲MhBxI>_W^5> 9q,2T˝ʤAs3%-xcYɄv;рƂSj[ټ'6Kn Ec*ӷ^뼯: 9o_KHű8}#`K!UT zt?B񥁪6*$oѝUx1s+\V 汑4EyHL; hÍ@-͗[P6cmBeOvߜ-VzΗ|*!MΛC]`w=_j7L ..R!q1;$ߍH ͘Q ݸSU}dTYj?VF5xI]WZI_`3 ݍ^eW/ԝ.J\j1r,ތ*m'>/$XĞ0Jaӓb3g0 QSZ''z3&zDU"į?,Iu&7AIeËۆy*Dx8)Msh4Rezp"~:zgH2L3-~q ^!g'g {ݥ&@B "~vRCݝb9ccܖ|,5\=Jl$QY2ϝ7LWSOf0?jJ$DۜvY~^)G询-_Tdށ@owk+Jf١@Z!!-TÐ܎ kaSo(XtsAP΋􎢱1.~ELK#NQaksW֟$n(YnZ4 9+MaQ_(_MP# ]V< J'e1g0axWnx @6vWO }l |Epi&TD` n~P]&ntL\e; ̈́A~1s6o.A;lnKIM3 ?/+h-0$8l51I&*E_ep}i_T}a[ IӍ@jZܿ?z ^K hLelIiY~AswƵ]% i,$E3{G}䌋B eOȠ Lm(]+L bI 5TeesX`0HVŐ (XGO޸,;܀l^R r oLt==cA(c\rQ)9|&VtLh-N9*MXYYM${GpټsjhT\S<,9z d𸠁ti'Ǯ7_ Vx?I*0*2$GCQ |srQsQඥq3Ln{M,D^Cʑ"ma1X]'cn0#X`AvޡLJbЇ߿C`?˼<ʇ1X k. p+w%B묵e6dNJ2_kLFhkQ-xZO$ Ne\oY&%%`!ˁ$–5'Cb5?:ac/QEm1x{#siYϾW>[i+^uxQ$9G6&,Dp›nj$R fk?jXѲ}jCEKL셬]}l%u7"F}ů04ZRgR>[0dQHGO>*'O3#4~abWgty))oY2 _%rڗoEN,n`Y+ހlmccݺcs&h6#R?AjG{-̒%NGٮmQ}Ch$Qx(?[ GUlԛ>ZZ^)_$P*s iYn)`oU1QK2-hn!3 )`I'tlL-񑾋\pH.ܭvtbp_l2{,Ă~ZXb? E7 GKҚ!~K5Iˈb *:IIy$KMSd4mS./aHpV9r̪L|(5[W7u .:u Ybp,(x HշZFkM-':IU_٥zbgG'^tM`xo{^B 4OjQZ!>MN?$kC](BF/tcuKYߥqII ! m|8sjsðƖt u!;tcw1vK8-^MGXƛ#P&&gj5 #8X͋$Џ۲hBFFژ\\iՂuF1 $oHG+^ -jˣ-FDӆ\Q-:zh-ò!wT\iSiOWTwuYC}I/YmX3NȿV[q-@EKIXm;;*QpRr[WӰ=oNPOzdKAvկlGo܍hs@=qӉ߃ lKYc/je 0$<-{ؕ5W h~V9eN|z|to;ˑVvRLNqSlr'.\Rmb>a/Cbt:wY{??<-ˆGacgj+qާQ3?aS pbْ6ZP'; 4v)vpщeei(x@f(a>|MKw}C?SOo+w.4hzX _k妧͖_^%U(NUSBI[ʋT7_$&cK]`/`|hHw˷68ADWؗ@-0W̋4gV'UZa 1zчT̈֟"ntϽlJ% &+ z,*G -] (a-VQЭ ĊΉu`඾P~c؄I}WJ->?oߊ*W*VV6"I߹Qƌѭ8 <..6@F|͎y8E(WϔЮin)%nNm\u(% t =!5 &<^-e,Ui3ɜnYS32-$AΏԓZ9M~c P{gΞ z\8\TD3R(h;K'bayNͬM2&e!0\ޒ-%thBQB  )n_BDvFhw Ha(3䊞atD#0yܿ$a›2d ML;cS# nj$T1H '`# 6.eN 'u`RDEim|jހ[7#Y> vQ'9/+:yeeL|bHjxAu_ݍ40Ins5S'ԑd BeYN(*QIM)yt (v\rZU\$W.Vw[Rܚ}m]YŰU1P^z6iMR!"x"#\Xv^)Wl<7TՔϷN%?}dhûp{!yqlC'^''_N]ž^,D#Tں=qKsh/ܴRڗ|Ecf>H,]˄@JvPHDyF"aڮ$8 ncڈRUsQ 7VxuR|}EY/Y|v NO.b%Ĝ֮j̵Bez8X0Hb>~Ȳ`+4lLȹa = FwnldzxUIBEm>ao}y.*c J&p0l!OAO,WZ0³v5WҠ0TTF ) [3&u72JQfFե*(#%Vl'g~-7EE١K]`2Y=4:hU&)8&xNpAu0'/N`Z2( + .:9`D@3M_к,Hޝ^@zn^e\҂W=5ngSyp.#VWy(rFڈdS[c ^^51)A'cb&P}T^OVҿ?NG26D;H&b IZCV!YDj}5"ݟ? Kj(ѣW=%F҇I\Pl},uÂM "&GJg Wrȷ 63_cƺOFF6y"󸖉hP:ȚN 2W5Z?zT5)Y9p ܇Xj, [CN}-qS%E6:cTփ_d"NZӑ:Nu>-1ĐLM"Շ`::-5viy;ya#'.R-e<6 f8&߈]d Ax+KmyEUnTdەAENYn)X ``f 0OwyqQ?U=˧f6>, rLݑM P E:xnː?,sHcWSv, ;J <ݟitNVSfi@6(諒mZg#zKwU;GX`\AbaW q&.Y"&%;INHtGƬQ"SS$([q|X+ʔ}.iЈԦ{u^;700ARL$_Qk:zTۆ7b3,ݨp3-~:ra&djF̶נ"*̑q?<7BV+9~g_d="'dKF5Y>TSt/G?I,v]y^+&a ^ J}ygU p0TG(kqMN '+DH`6,1tP7)z >#Yw8ڮ}M^̖*Y^yzI8l6OT&% ː">ke.4ԑeJ*HP l ;I5P]>^Hvc˘EU.Ȑ c$dL:V:*軪]x\hLcEg%-$f5pLsJBaMqkj+0Pl>]XL8}?c \SjX̂$=d_۪ܳR@ `y&}s;VfTo{HN?d4/_H&S,јHLuz.qu? 7eܫdALF'B _^ 9 PUAWjBURi!&0?QN9`OT"ax0%)P59BYo†$뺉CzgipH3Isd'͞U|0; g@@;]ͤ4SbxI_ma*tq` ḭP츢DQ#; %B:z7Aae(H@=|N|0;ӕ#Gvg"R$^@-x3d#>k$2ܚ4˝@{J:LMЪq:Rr($WP C\ѕk3n8r\Ɓr]ݦ-cl}v-h@L`7LXy fEa *g}pe 8`(fX" [`IV^ZThnF?jcO8tp;.f"ט@8RyKK r m=<*%8 ZǴA/5*:,h9%_3&M4 rl#bmvyV$\YΎy$I{VοV^+0Ӳz:QkIy*1o"9Fu!CHGʿN PkjL!ِJN5 O:[Q\,i9R0, 4qTt𭬆pF؃N ܃V>zX^;Sϸ^&SOZ>TOS~/ 2\R8֋(;6NnUáv׃ռg8-Ю3m 5ڕ8ܞRF5D.ChTh8f^*pc]5q-GbY|1*EʄP}>N 2c::By7ƹWqx.PH35Z)].CTGtquaGҸ:sd,SnHΦ0G9 >lX bB|fL6?p7 <{R_iO9ߨrv́v]=3N{8~Ҙa@!S&6Þ7T)DfgT3()Q"D@V\ŃO,-vF)߰P0@T.N:$6I J癿~fS6:ssAK//$T?cXg6߯Dw+<}a2FGJ{|gqo҆ X_4 <$A3o|4) m1)g9jEc4mX.أۙ([&ZeV;TneYs$Oh ˤ#c /!{sD UٶErmG!В#اFϻ: sr~.0}BGAPVI-LAqކ"陵;E}6 !ٔ : <_AKJ3k{!hMΚvKۑP1!GsjaP'Ju@x]_ǑXY=e]v.9wIC}Όmiats! O q54l6hA(\FϚefM:B)dxDOT]s[sM3-֦NF٫j \SAq`6q!sqy]fBc1g#d`9g ي\2Aꣶl$1,;wzlǭi*ga ^a]W2{ S! mIĐy;X&aGL2yP2P+&dYpbh>t<:`::$̖Nh9zrZmQLhQjGPZޞɞ5 Ğ1Hh w+b5.`h 7$SRd1BHmf #*85C3G ٛ,xVp Wggv )9,ҧ?aG,@F\V^C 1PϾ"-0Nxxs,&]T x{qۥ! n7p nrcSA|>}By-.~G5Vv:'R8=@sdU+Mآ\N{a#+vF'"'K ]k_AjmWnz|WgVXԁ\U>58ZcHE0,~+K7xLw=Aw)Jv h),61¶O5=0&=9 7ͧ+\].葯$ N;p?-T]+ޜ)SO<8%q~Mim [W-CJ&Hυ$iIK@xKx`\nY67{v諦n($]W%w <oZ5~" cЫ@XU[.\: TM䰦FK+,vU:!PkHC9_!zʖg"~1 Ė_P ~h"ȵ!^|H! 0mk  C@:9(PrΏ _xSa~ {:A|?m\{q-1R|ьvd ;O>KSiK=F-hqڭ0G, zDC#4wyBDK GK?#p}S}PUQnLf[r iuqRS"x^Hz됰v2@ip+"i1ӿ545vB 2~-]%}Ks`)eEAo7f 7#>+)ˀ!·-sOken%xri%.8o~B/I-LhUM> vq|9$ˊ0p6Tx3Cm@ J#^V/ o/H$HGÕ602nn5\ XM?_]l.(Ω<'0\7Gq>lX03G:3Jb9c{X< 8hW9Lʅ|(:6}|>uZx,$K$s_h7vQ4{+Y0O=^E-iV{2xğ3Uo.H]WO!Ċ'!`y^ !DaJa)+-\ԤhoYROӌ] '*iMPDǺ&Z|ioyLYë+:, r߽d[F,`-x_ėBmݯex/#{4E]8zRs⨜Cvj]T(/ƕy_`×ŦIL іEVd5 &Ȥݿ%GLBQ%rn}-nț۸ T ZВڝDh#$iFcwt,ouOA(rN=d#oQUAge銓?м5 J `ȔUQ6[c=\o;D ˆ|l}Ha@+3I5''vQڱ Y=6J4<X]Թ<4j}] S}:dT^ג@p/ gIz+kDpL2DUnՔ9(g/d{]CvOfjLG=&+1"wbcX3Ɔ R RKѰԪ P{Ms SRkv|˫ :݋ [}A+ȪYʺٛ)\N :ct>!yjz-m z?9κĿLSoOVjZubtnAnŒ<@B ߆D[ޘθ-RfHʑ|<6',2*x% ޵H֥.ѽs+J?嬌D|WMgNbKbI.*}M:p, 5ؕi 2 EodNEj~`7؛Φ!Y,mk;A"桎ŚUvxQVHs?\#40yډeR#׸7ЉRSpj;o7X,IYkNIްfjO,DW~$lI }{<-+3SV%#Z0 ?3]$-.{Ǘ'52Kh&鲆GжHQ=fN ڀʞM>;h3Xkee|&Fn ҔSdrxjs4iЯ{jGUbvG,B'pm[~8O|cS6)b TI﹏^D9egR(t&V:GX{~U:/ HÇvA^D?ic9K(7Z& [6~u93GEG VDHP䧲 '‹Z07 +;!f9'4&QÁ?ы9x๊KƩP+*(yQz|vlQ34n:sDhQP]q[1հ+Ncb1R$j=sraR^=ӇJR.[@<C3>t1vn)g6 3˼=4Cz_F(\\֨|~j-ߪX0WE_}νnwbxYjp}'!gO4xh5i~$,U a*5lE߳py=0 &:מ1 1Y6$ˆ.Is]@)/o 5dqJZW& 6twmxikf/[3aѮi"sFq$Ξ wv!*]m, s#1JkXpo e !"x83?{mƸ(uGNE o>gl"+Ws뜳W;#Q, ZEIzf7=TBမMV@5B#~5.p[cp=] Y _b"MlfO27ڠp~ݸrKѻzc0L<+"⬃(m-9{lkr6U76OoW3#d1E&V+#[n0#=%L5htY:GZf?=Ƹ=yqrhLãNuΓ+3l ٲ|G/C޵-FGaE~rrjoԞ̚]L!R ;uadS݆v;dN64_?:Ogզ|o~N}<8&1[[9m8"ȇJ[g[L9AF ^2)CM7x,eP;Pl|cecڱ|1 #,x0sj^~(|!/{!JKL~䛔,9 r[G y %8z.|rd/ {#/dQ(^*4 9-M(15#85q^*bk"w] HQŸgp:{S!tB%6mbf+@ 8I.3?$;YD@ _oB4v1781{mZYIKa2~.'ԯd0sYHm%U\a"8bWb m`d: wSNuJ(8pn6sШfc^kU~U^e'ܐՂ14$ 9. Y?31 pH@@SE'B ̍%/{&{<\vцl=hǼDeH4r"G &}Ϊ@0Hm"s/̩F,4Ei!1p 5Zy^K/yImPUGl/k".f qK8gO>-A9H0jB<\VM[ "j\jF@;͙ĥeuk uzH>Drv&e`(m f\~|=?ѱAW556N Bv We4d1Fi(MjH1;PM2'+{v>rs4,=Tޝqx* 洵.wf5-YdCKw̨St`a'+^F}i(Z1FtfΤ v9VN'母jY cSe+lqfOXD.GOPԮQSa>̙f"ޡfnS{̥ҳQ6Ga(}dw:SFaTZB"ϳjִ'6Z*n=7ʨt}M\q֟ ن{-~F'kbǮb1pSvidN#^{ 6wl%2IT/+nQHYG:yiLh?Ϻ61-S%u5CP [6CeDjgSmFHjGRXm$NEHs_jvFMQ]hᦢWO bz&Gjv&l)1j`dEk{@&6!(Gt(Np"v &WJ_*"a#f,i S;}d|!$Dķc_oKM?Xj Qe@x˜,;#xK>SEt!t-gBr׼BJUO&M\k2%-M48AQP_$ָwҥoXFެն-*a6JxWB8F'VGفH49xyRt??P**#΃DjmR!yw$d~yΘPJPsE-p3B_vW4HӖeQ6|d,T1 $޹ˏ(#))#3q@ +`dDx͕rʪʈP &EnM=SF!aMAXg|1Ư'W҅ť6nڔGкCγ\QQƤ 4>q1(߼"+HC.y+U}f7]IuFc%8V8X5Ho!HeX1x?aFe"x ]ڟX٭OX!LL!Ђ R6!h<&/K}3|x붸X ejb Bd!m"F,+}k2`=8Eg2YueOdTyfv}(gϪұ4y՚ X+Fe4h潠o1ʺK ?M|4xO%mKc:d.a.N_pɦ qNr"&u[w/8M%vGΠ%~<>ZQsټu]*{yq藆mWτ%)mWUQ;X{O 9G" ZiXqKjeUJ݅]說./͂^w:KG|B2BUMg#jH[ g3p}d;\uX-[.s}N,U6̫ͭq4{z* 6_HkxL{Vε>s5dζő4#euWoSֺF?s<ݩ\@Rtʯ- 4a vJF~K\ySeo!鑑œC- ..ADw)-kt f)X˿Pty&F8 ܢ%njj5wE+*އcNO'AH#h8Hߧo #7H:ܐoiOiVۇKrI@&üۘ(>M ??cޝ{P<(ks]+hBB&)ñj̹?+A4:t##OV7V1o¯-]޼)I)cbmՖYfȫ$k>Y|Ĕ$~B}gKɠk%b_*Y^@R,XDќ*n%#C̊{ @BX3僞Y!3#PPrAsjLIm@4N ϸ(I5n0dHЫXθbdҤkv76H)Ё) Q3|7"5EV+"k^,`W]Kϊ.+ҋq+D?וW}:m*}'2!eEq1XZW=:OΗ?D g3kt?y]Z),D%2rD:mldrG;#yg4 /lY'.(ܰ~L[ьB:ѻ4bX5[mdV;^ QNٍ^.C-#HIl1uWK˔ .EDl}~qQ?S+C6[TZ-X`Vƴ Swu6,pPL%gũǡHR0|}7ͲHWX<D s${;r8]nF!Bpdo/s,q"BK@+U2}l[Ƿ;iY RqLdO|\mSKɊ*nHz9ӏp:V%Znr}$p9>5,m'/b"~h JJ$ZwyjF" {< H_b7ÄR7Y~3Z3c 4톘8z۔7gcg/~+6d{2q([9WVx<Wg"/݂؍Y@۾rsuFCG&f|MrTdwLǜ1J+nw-%^:nڸZmOT1>6o9urr,[p ld HY3#&OdPw;k%$[~{i^?BPK) ^)wA{ +˅wSѹM>clJy)3*{ݻb"}}%0 Uq7obp欻Yk^tޚ+Kd"{;ɋr{/TD)tgś Y?(y p̓oc{#DVTvfZGˑo)kkڝ%9W5=zu3~ sM oj0#].4ā?k wk{e򘑟x*;%%82zBrqe,2Xh.r@^!yVqY.q AH\p:q>:iдHk&ޓqT\-CWm]{屡N Q )-N-I$z˝l[ڄ?),,/ns)@|LWaV{c7MA3.ܰɕs5>aPZp 6M#zv&miy<ĥ:a;@/>uQI>sX~$lV6C&l|#r)5Zh@f c; w݊('<3jַaotX󱚡Th+;DĺK{y^)IB z'.`v^ą٬Ygx y KQMۍ Y466HK&Qdq b~@J{][ԟ^fȪ;R w?|jZV,v|o-#KdTqHzw'oAPq;?9f12\O2zI <T 1Hva+"c3hL FKj;cMB<w5L®̡, L jqzuhAļlmRiv|D3\q BP:D,vՋf̮6-:c^^" ~N ϯ TZo.!pЖA/hܩ0}OF1 Bل܎e_[654Ծ2eGrV=SF~V`g:GjȀ ۉOXJCAc>ၭYv@ӃaJ*?-! 'yqv۬Iح*DQ͹^TTݯ7m[=jP 锒JIBYMZU=0(6{,AI_29)DcX]|P_ ?ᓂ"WҲ7굎<sL R(9 '6oY6Ipvw5>NtAay9)O9 Uk0^oљf?QC(Kq5 cU,d!yz1L `{0˾0/:vgX .N2@y51}4 Y^c^͸w VSl J=ZMLo _|Ky!;k"L/MBF ЗZcG޼G,>0ַ1$i{鳥^pax xB'u Fh s\9 =fa>YG( X5h^ RʷyB2Ruv)*9'?^@Qw[1 kM]-sX؂Zy,+US5w֙|O7zPdN]!̥^%E ]}f" $k?$3n;Ƽ7 2gz.G_i c`lgή:s`r2Smhas!RvR;hvUdxD::3Sֺ۞օ)߫?F4 `s0.OYT_J4P,c^u0, 5AHm<;nܜJ2^b`vK;*s8|_ԯh;t$j r*H(ʔZZO88>+׵~w%?_0+w\(>ep̀ f>΅atpmC[&N<kVHPH V%zO 2xhbX`)ٙݴF|smW)Thy[c\ھ!x_-c?Pz8b6遠7v z\ZL=;J3K(#Kȁ}cs֩#2T ?Λ~i^j%X$M^žIЪi'8F2H QqF2LbsW'xCJ³?v I/ *t;sMŲql&:1?}*䶾/~̄^*ּϪ&5v%V4tͪ"7FهޔuBĖf Q#Z߭oZ^eP8PBzjPZQL-I22cwVuJ~l̠e\ qrq0+5H&tT* u蘰8,%>q}gƖgRF-r[ΣR#+}uMlOzA^nC٦Ho@d@miF8gxVbauy)| hsmۃZTUځ*~Evb*.v1tc>UTaI%R$hևuy +g^O[ ӯLw.g~llUB[=I><6Qu[̲< x7 7 VwL[CTtυB+ۊ[L?I"YWyBlH؏\ЄK̽nS<D_!\!|E";']=~:&.C]kD{Pp,Xў-=R8'].` ]\d!;ʑxX,D"S4%\of}#D[y0WAp*A݈DQ+z9=1ɈIC 'k!{ploqI}`Lw dJ|Ms Bo-VK'A#4/mxńVHcKѕF -äЈJ̕]D‰ۈ3!v$B>KPwhNWֱ68X&ϫїE#N!aR(rrUw 5Io8o)ϽssDaQJwA>wzZ֋6tDt.\ h :n OuW (wF.rIf6\1Sp*<Nx'cpTF_Lu! {\D7@ІAFZf&)F/-)=Mz.Tz4@4R]$U 윥sO} E+a9"]4Uf_뢏=Y9 gxӑK-m($xcp+ UI:X}0G+EHZNc!&t/ۈcc,eU>G<#6Rq &^$ ᆱs.(t>U?t'Uϝ-N..L$C][5: o@W =Ùޙ 9‚z/ۍ {Lr&yxuR[S &Ca{O abfH2h= ڕ*sȓ[FСC)Zb̃t9[^< ,!inE) \ jÄ+ ^dFKmI e7ylI.@Bnp{OA#KzrK@>H*KKu&276JM K_jɍgAW?˚CPq %t%0U C8}$ШW \չ `IXp8G&R`!,A7,/|2VRdx,7O7oQK㡼3٠`H`3 AYV#ԇ5wa.2lo_)@KKqqԑΊA~lg ,[@a_9O񦆮'B g]DtwZڍPkoFɀ{ RT|p_Q[;^g@Xxc`@{=Վ();p P<\=q}ЫҵG!"ckL;NO#qpUJ7a\#SXj pf~l;pK>{#=a6zsR;); 3 {Oޙr/bԄ@&dki ̀O{3CzY܌>05ސ 䎮\x*Ł) ՘5Wu-Ѹ jV{ar1eFni[jZxRϳa} H5+%FT6I WݽMY ψOi B,CkX.30%,N*o*FB$\-S[ii .Fշv:[&~aܢd£Źͪ-4Qdfz?՟U5+!Bm?e3s @tLzl@GGw$/D񈥯;]wVrH;*xFy'O-N p|-KȌ Anb U."Gqj#!)CNpm^3iW@&56`ĆRe=SEn!.jGǭ*!-[b_FScwpY*@P7Rʦ t@j[ʞQ,tHo^6aĖ;}3+DF|2t[Z)u`ƛ:.Z[kHXEf*~M|N؁2paQ]lڤ]{Aa8hd$I N*4|mbgO㇩+yˋ2d4WZ2/ٻNJق^UtX;JКC`+ Jy%AĈ9y$tbcC #qL5}L,I>& wc~#_2 砐ݬc2aO<2ɿ}fڇ:zqS} " {IslpĭS1~ͯK68p;ۍ;K$f$郔Bt5\äGm$WbmȀ7#uCcD'h6~DM&&}u#u8VvW\*J\Y~7"9zhٕc=XJ\*'mgJT U>v[QM,:%]3lE7 xBt.74WjFңQ[ *+j=yјfz },2zW'>Ϲo_ׇZURQ.쐙K z],i4ҫ"иwʯ{Gwky4\3SɁGZGz:~k}9~S)KZ_f2^y}ϼI>`7I/رu_G_N=Q >!  #j.3ƩQfݶZ*[ Aa[8k?@W6utFȝ> Nq*N\r7xw5*.]ȗN~gZ" 1"k=.w L!ct 懫.MCZ:X0P@pU@BM3+|x&9k|S\"d![Y@R/_$T,gIN". I1 [lke)lFM8.2mk@7l3lOC@;񔴮F.h>OEx=`EImbi"9U%UiYC;h"Wc+UK.U<ĭP#`З]PLT,ۓ3ZJ;HdnxFŁOW?̟-X΢Cl+?x9GFxN^,~8fxb :Fb9Gv͈Z8TԎhHMra #! )ԆC"ˬ mfAy)9gð0:4VVT$AzH i2#zS3@!^%\壚m No.>/܌שsU !2g&5Dg* 0UPV1ǥ PS a'x{m,k֪)c0%/ie3!Pka;Z(xo%2N'NV?YV/>z!c;uP*FCk5:48Y< / mBqiQ,AEvy =(2#i-?Tll^`'Xi#KG 6^D:~vv{ݝD@1@]ǞC?')V}6w";|Ha_Y.T,VX'p$~@e:D)߼IhHAZ ]=rpk;vnK >}! ')a[XtYm=aOqh) f0+k{40l(E р`{U~|8$ɩ]sL0CwesuG~`:?L<κ/)mqvv\  P#ۧ7j3ַeH\-@.fM naun69ʟǒUd]Mintﱴqƚ$C 8;`1Zq+_hl١\ez>ZB%Fyp{)X3nt'Y*bK2W##ZB,hfɝ&ꄏ!~x V #!ԚMإ\r$I>RqNF DrT^TVۑ!t+:J܈T2`AeU(8=$NP@*~Z߸jSqЗi鄏^z5Fx[͋RJ!%oXZWp*WWbQxR=H`^DU+ ^\Nͣ}+ ;yT/ K@meU6wJ-輞<mg=ӈ 703u$~f$ qvDV8d0cMTM5*2͡Uj8nG0?koW DƔ[DXVr/nܲtUrYW8f]e2V7c z stْmf X uݗ4A@b*ȫvk0 264#}g",Pc +c#JCt9{{:+2gOkxCN ja_6.A|@*tO*CE2[#zW%8{r$B4=SN'W}R藔LPv }v5#Vȝ"rh^\~.,L2.w\ n [ڞ_d?d?c̹$9yD_+ dSX7_* #p{0uf"J}O)A7o_Y{XEϦ<6$D)u!(j8HOiVec-I}XX%CT#[^R%VП^}p28({NT9eس5yJDzSVnhRB\D+S(1^˴I'JD+vX6/jE N^q"^,6)]50ޠ@N]3ixTG Yƃ~Q \l.E_GO$#l K= z䂫cr}5؇z Q"ib/_EӷltSsOZPu&S7_CC:X_e2CPfx[L@{?\-6Ì?KI:GX&94i"'zE^(VuB9:/r鷮I<>Ww:z<2TnL cqya` T[Y*zn] re}! sY0ÿj#6"v琥ߖOs"cN1 *SyZC- xIXtiHQnJΖAaևJ_r0sg6ԩ7 :D Z͑,][n4%mϦTzffggiC]AmW3f@0,nJZ> ](_桄&{f}Y$Tt<9LPkUK/h CwDӯZ0jN|: (eZv]`u 6n4Ћ%:ŚDܠ]IXǪ/Ru}kض6|mM'\07C cIV_! zo,I&O6j5xp`jC[7 x͖$h0g @u3n]8"fydp+}`A{o~27Grn;~l4DQ!xb?Ȅ@ y>U y2Rnv1 qosJ͢>czzyȭ6DݮAtihx=\T *CڽquQ;gq3@r;fˈg8̀Pk>('%hl-㠚gO h:=*ktm4(M]aOç"8Eb/W~Q 1J2x+l NukkO}xoIt2VQ ~ڠtLMq%JJ:2U9v(e &V$ 7>I-{-k^ [+,b'PkYqN.eB`ih,OEݬ}CTA7O#un4KkIЩ=\:4m܋iD,׵f1]r].40% +Bl}g ▤2E{iDFϕĹBnk! 2_N U-Cg?;;_!ӸdGjAa et{~kN8mCyXN'43]7&:w_5j)۳YMFR.o_`Q:EX<%VPDE>҂/ʆȧ׸-)]<ܼ_v`2ee'kJdkXUU:|6ʥnS'  y`SR!-La]i$DE;@.4 vBX~JhIRY:'Tabc FÌ2iFjsbEҋ]HzsZҏ9|M 6+έ6Gj!Z$-7sZn}vE:b4)jy? 7֧Beq33s$ .a Jˠ{ zh\[ʭ蓯{Y gcgٳ YOQXfW,[p+?zULDHqWnvOI(M!uQ'qWNF>VPd2X$߫c'"w:kG~Oz]t0-NZЕs1ۋ!ӿtMx&smGi@F>6;YGP"GjSwRm)Wz5xoշw^M> [”JZ$mV;Ldtφob%uU!;hC${g za<+~SJCpıYG/{P?Ol͍\p.2;<SwjluDۖ%`_6h0յ[WL&D.װ0)=0XlJ-dՆ:l4wBsRK.޺Z%?P $fBbC Y|8CMt;bWɐ'mMqLv4} Z?'}A/F:yvw8Ĝpw=A10K' \ (/~! K(pjD!zlʌb'wT}Bv 6դ768oJ .,T+& :j1zpEeNrDxx1aӂh$a,(-z o\v==nCpص kbT>r^w}3X+#\;dh~-y~T2vܻ@)37Hz`#Ͼu48%7:sXٸ8|s31w6E0A> !M/ۢC<cJEwrI%g)js?j7岐gM!p7oSxkEYܨ* |rMNgRp{#ђ>vbl5&ɕF-ab4s^?_Y ;]K;Q:ŏi]Het|6Z4z E/mI\vPh!y!̈3fqo8w![c:@XΑ-6ysq'>Cgҿ"x&1rN[b[sNS毧isV "%^Z'3bm|=n<9ۗT =ou;ch;{V2Kch [ҬWT󶟿u{<HXU77ϸ@ۮ,Iwwؓ})eݒ(6pU'{tUDs:^4B-)LrUmJ\L}^CL;@ا#L=5 :ocWO[ *9<_F)Kwim>Sf QJβ}8xFI'0v*PYpT B5F]l ʺ] BI& 9pomz vu9]ۧ298钼yELR/~P"bM82X9–q2)Ax$1F'OG :MQȪO VRm ɏў)AVYNe9N#YSf-;SSBڎɁ3z)UThxO]u*|p Μly'LYCbk*IRR%$=hx&gb -d1f5z(n)H6=hiD諫1vL1w]{uL(̰ɭM ı&*.|ZTDjy@' _q_ BX'ut62 Lg@|W^$r `/ 煒JtWu#G[ˆƯ;@Yд*1>ɀLh/i{QAFReDfD/  :AF(;* Bt._16z-WEhlsD_9Q0u⋂_^P A 3+= ucc.6jYU&y:" v\*zFc;>{H.g?5όfkUk-vSR&}e1;3O"9ʉbN:Uԋ8a>:`ˤQV&x&YyHܮo+MMAGuې 1m {?"``@&W\YXk"ұD^iM1:Y1Z]o4<_V3j`ۋ y,[k:L>)]{Z^Mg SR@pZ"k{/2A7_uWc =Gh)QT~>킍&*nqǭEKh z,j4`? mİkFnF꿟>*y>(,;roW ɑR0a?Dv}UVټPXHb=Ʋ YI:m^j%˿Mvߪr]{p٦6޹ǿFJb,Nhz__Z)% W@caOvw/ҥ*D')趕 =9;:Ak뭭n횂(|>N鐀[4ګA}ChqREZd=(VņlK Jx'TYo4o n6 fl{u%)i[s3U0A0F ]'#; QB,򯳢f$PvdW2:4Q)| 4سczU,kCb1MX*l=;l6>`,  I [V,m3]*dQU^ )zu/)hc,njXBE,h^=XBCg[02#0~oE#[ImF v0nhBK*ʅ7(YGKaYAS*&Ù#HmpP%]q30P֗/u6hhTt ⤓N/ D `K9)cqx2(ibqjY]c$RT`3)H27iHN{ ~|1ȹ,* Ϸ4|&iߙc.X {Vnzs] [L-~2ǨU37rwp1lF@Zh+;85xEJ ECOUG݂=*E*ێ=?<.jX/`}MNZUS+ߞNЬJG)6Irg\~!'"h4ň1́=9^⇾9RnTpɠZ v>uR\^!ʷҠ]/,8_*O*c%V_C8= u6[.$: k%9nRLj=fб7iz1?!= &6L x!̠_`nnN .+QJ:GoR,w6׵={1 Rhcp=If{X?{m8]Ǩޢ}$.4l“\˜j1'/qD2˸S B>7gz?VP"4 @o:̆ +tV#Tdlq4n@sW 2lKq'@;.cW0slcOԘ[hgu_ AXZ\|RTkwd6(tmdȲ1%tgϺa@bgyZJ;Iy5ߩy1U2VleK7 WXF4#;{ 1'@JimWfܛt |.x?%x@搮GOLupE_LX+}xq)=JJK2&&mwr~*)~>gdK5,7o[zїtt,ˋnIR&(MeQG;Tޗ`XA?ћsj ;uDŽm08,UQ F2395bƽձozm}W>>xaBdjx|Ӹ׬t_z8vpV|}v.Fg ~TzXe~Y8BKJ X(CJ vKt>7^0מoU@A7wi Poc&ȊS|o}J(`4uE/»+Pz6 B!f$UrP͏]<H7E'KCD9%x{}exo􄫉n1DF!¡0QLYb+Ȗ`4RN| T^n=dhUU]\l_7p80Q#֟G`,2fa,_ p5|s#2LcyDgfs9 <%'?r\FR<.I8/}m`\XBNpPup!-QyP%l׮eM jk>(Po^}`,ɥ,QiLy|zz"iטbrMzxBBdk Qe,/TrNMk췁1H_ob6O"dGK+=Q:r[Cؓ[Pב]8)} %8wK$e%?_g\pHθ/.)ȲIKK:MBwkpB|*]OóWChȟ˰$-q+67%Df8yp:$̦OyU5CDo_I4 Z9{/ؾ/LZSaʦIZV_RM1ţ|x5/Cڼ# (,qIB1P| ,hr FofZ ( ʄQYT-MUCwaڢ=2-GÈW=HGܴ¼'<.)xH ]YZu~]>#Ɋ(z Y(;XEЏ-1`QT.3V{Rа!d!_@yl-sK Xdn/ƕ\gņhCaIB֓"F:wI# "irY H<Gj[QbKλis5)MpN\3XjԸiJď`6 L |cPɜs& $cyf opGtK!ة갂 " c\8^> WJj&6vfkGol;ͧWLV"zZ$}yR]j7ZN ^ڴ3[2 CC6A U=1ğ)4i8l2C,xJ3~T+:XoYG.}Jj.261r3g|1_d t /< , |ZօFlշ?YDEzt}TΤ uBy`_zB8sOSn4M,FA125!{X 6yE[R;;(gb4T)0:i薺p 5Mڨ7(PwrQ42eua;Yf7%ݑ#`pQ,9PI$?47`*K S$lZ Q=CW`mNՊV;I Y- h_t=co2[tOhV<2,14Qtx?݅^OgkKet;D:'2?) &_;a]%WA-dlގ3f~F>4HǾoiu_T~Jia(|$+!󳌩ܬsdD-_j.̇R^!W8ĉB6:3iy BY"%Z-co2|OR>=U5xSu}U76NKۥA h<|mOM %:Opyw1&sfQ0(g`W/CW,]U'_d=vs{`˪4 _0ga}"Th54%.D اW_[LFv%ض:n2#`IDYfī~"B^ +dYk-Tpcji\Cߤbb:n1V`72ekۋ# [!,ʹ1.`5]!X_r`,î֜k`.Hj6(#t=b=@m_]8NEȹ6Xn߷(,_5zOnG#p;9jR*\./Q] !iWKn *'p}m:ˏ?rp⡪]oy^`4 aX~3w+<->!Їw)"Rゾ0[&&6fEtøDŽS@eo^qSb678Yο\vB'5 84-w_ԓvcE3b6Lڎ5Bi()H#~/F?'2;;1kk&*wn!W.@BI7O%&o;y9r%wKc|8qWuQ~N Id!K RwS6im^tw y3Y6j"a?~8j͠jMxH 1ʮRч7~ELD4*OE香bĮPjh [$[ TvF\NC eW/ `7ֻMJ11ǔ#t>e0I"Aul>NUS8eo<Xt>(ޞ]D.&t{;[V!|8e˟]VpGsҽH}ڤ:a JƕgE2ݜk6M1pʅVw/ŨskOωZtݶ嗎Op3$ڰ(̈́% Kf̆7h{k9jR)M(3ժHdH{C קՇUPAӣb xY>cW-R"[ktq*'uhIN_`IJ'cP%c1P4~+*D-s|![zIBK"qViUq d 0ޅ)o&݁ Zkw͙oz}MUXLVE?U@1ǣ˞Ck;TkJ;ŤQ`c.k1b6M+ew< bPJYCMN tw$A27O Z/jPQj3Ѱ $Ӷyj+VCTJLLbuH. 9ՅyWY{ > `G}pWMz 9h#YP yM? fpǯ=^Gt`{ŸOLoZtѾЏD@%C=z.T[54vD!-T`~Ewy.lMS+z% q O@Ԫz$g0SiXy)xms2~[aQ{5ԦFʼBAE}mE8VܳA~k02ɴr]3^pN4z$bܹnaXJ! gJFhPɏfT2˽nүCbz| ZϋsSAn__)ܖ&q~}tnvch͵B~ ,͋1>a}h>-(x`%t85=N#|`5VA!U;ϔ|?{σ򉗙jAdAHs{y-Dr<|v]ƱʍSÎRFzO!TCjRqVꎇޖ{H R$d3ɵqY>XLalغa@QY֊]RZ`"V4H!iҢlXa͍?|}xf0&0ZR+^{ _s"#%y*F1qDHCH6=˱@?;;ztRɕ,bN^qZ0f"Tr6or&Nd;^ S$ Aa?&b^dh.,FJ\ikH\CT!gOaLIzE]q(Vqkk52`Th:@=[yKS|[pGerK&u{Z^Ci(p9Ƹn钋5,{.iC0{K cDCC$)b< өT硤4 "}墱~1ME.w幺\$î3 &0M9k6d9g1dsz%é/D[P+`J;Ӧ_ tF3*P[v9)wGzwO+MKSSʆ{Rx;Uil{C`%]BYVBQU@m mskQgS=;H'6l&* Z*}R8KKCB' *Z62~@NI;_Ouxk!.A Xmp4-ˌwp6_ Q*)X'tPH |^%o5ppw{^zh\<.'Ezl@48(r$'O\SG+82%VNvp_O{sbjV[yt/)b78ctl.gcgW&,b ]񲔈GH9kIЁdƩn0pK'`AJ :ybXr#B49)2|`X 3>=#*-j|*IP*qGd8-FkP*~C5D.9h^#eo̠a:Tk#D;_;&Z@qvhh7 ද<8W9☣Rj9r"2CaoWM]JVh[gxV'9tӳGgqGH9\ v\Oe X*:IOJGl,o,=LU:D?cȳ03fВJF= RMl`9nJk3=C bX*mG B-bFx'|T_`C2Ai\F1sCtPj}@-wy}\TCՀӝ1a@u))7)#nd:hJ7{: w A^Wlz|{c`Q6Z% g~XK~W N!`H8՘` 2PncT*JU qsU[)vP%:\ j(R?z 觫LM7:S&\)tmSx!KrAP3}[x|8ݗjutU^FjEWij9B̉ (o o^ 9]Y{zԡ e r?=A< Z+8+Cb4 nX"QyrHjeܩ38P8P J4 d=|hw+o\%a~ JbF2oT_NNmzAlwN o.2MȈ2E9`FvqH;>lXZHKN᱘ctr#,PsT^A|VhOs>Nװ8Ip1oޕ[[rMB,cQ:@k`K" EkZıJX2Jbf(*+u]t[ &u'CmemͻzgI># -D7Jw$PXh%XIBշW f++{YC_I14MPR@ӷC(+B'I/ܱUU6̓N;IP'hrkWQޔƷBC}_KGn y. S7֡ԇ cyzy 01\x cEJ [j`IhBlIU gV*MFCP KXjTYmS-<&jt:V8 휦g֖~DNKtk"&9ti.}NKSVd?N02yisB}D>P _{-Y*ur^eLvX,i끊kU H )ڤ-ٯ%7:Q%co=r +yjuxǘ1)Yk_bc94Ϻgg!7~-;P`d8/yRb2 =xs=7 y1Q-MC,iOR[JLFb C']_hA ZDus0-eX9%كזI=NCRiA r>==T㘠Y-4?ΥX&7^ mJA= , dUjАen5O#tk kNGnk +N8^q|̞ݿDr. *;ܦp,)˦yh;O2ױEFY=8="m[ox6aV27 1z}D⍌ *ށ|ܱCuBO>^cV9LpѨ?}eD۰8 NJk)pgz`BZ2t3Mkqz^Ti:HH%}#jѸ% 0 @T.m.hZ-,ɏ7KT̙,u|q!oB嚅׻9JSqvP4q*tp lRqT{G"[6-A!՘MNMik]nW|6I [S6ߟY\|u]re̵pUc(_̎!?lsWuk4&ZבPF@bS>LƟ4[b:FnEPD#\,\af'q4[E-84@+6fIJJ_8;J%K-'㱋 QX5Q[xe4} M*6&%gGOo^vdKǕ>ͤ9iπDnj8b\8G~)xDA4K%є. 7\iYUlLeO?J$ibʑk[11_~귐ύkkNl#A% s~Z9x&' #ycvk,DEp- dĹ= 4Ma0Is#\>#.C 35a۝8NG68ߒ}X5bu0cq)V:ob" F9^QպZDzz̀u8rˏU|F:(uhYf'.acZgBalSC(hJ}O noCK~}hp1l0~"h>TENcE7=u.`4* u>efZzՏD=2f(mQfKVjrdfk.i*^etu-jؿ2/Tbl:{Z.gfՆh\ }uh|cR@%x-,7(k|/lYZ[hU@h ;_c"G̵VpVqvuEQ) aC,)IyX:)==f꺚yZ531ܟ]xI*:-d$Q/F)}3|Xɽ{ &,mwr[ W@{&S-k|I'¼dbaQ ilx]eR$@7p]!b!a܋)CDy܆i݀Bmq KJݞ-X茤{[7qShdTK!PP4O;9 sޖBf1C8Eu) oAʫ8WN .mt(kI;_ ZV=%t=q0!B,&+,b͌Ƴf ~Ht4]('j@>S 'AXkN3I?~(rG2cJ8\42DBsAVHdK{ҹԨu!WaJlI] }\{9tUT -a|.N*cVAł%xn<C&7+fU+@NCC_ RbfNwv}b(X| \Vyxfj^|8>6bml^ծ-L -:SO Эx }P5c!`,#,r?bm**Z-s"Fdp*˫^FO c `CovANo'},FZ֦Q!^vX1ݏ쥿+Xo1B0m,0yϏe;58  F4$ϔ2h8棓% H|a~O6Cp(t^0ذ/v#W`)ݜ7 F | #{;bYXr.ĻdQE9ig׾\`<} ї?"=Q2T"?+1Bԇ&8ꪹ-:8* Twpt$Z |igAQ<}V勬kJ[vZ=Wff_RAalӫ4o01XDw~aDv&늾̘&ةe8t^Yus#ď"֣vhvjRߪ0""g퐊!9˛&#R]\0.7,I*܍z͉875ְAl0R,26`FW9 GW6d|#AwRAO&^ FcGXv-$ihbW'H-C>X"  v7 +AS''2H*%9vq?w^_ijl"{(]Xj_:?M^p5>\[TDqS-Ay{qI|+.rrAi_|jF)a.KEqB٧ۃJ80x]r& #mlrrYd}iC{:ojh'pyW`jG}WcMP]ԙaSA`zEWYM}uj_gkІw\nSQjʬ;t4$etT3@)_ͼ=KU 9yE=Q)mFϮ}kw"4^Xm@l^WS{UOy/0%ER>9;f\Z?쯑 "fnqDF#@g;H2Ј4Dƣv[T0} 6`.Ջ✎ :hddRA֧AϪ;agY*E!q}ǟM̩6 6c.X%Ƞ%)Z{ղ:&W=)HH;⴮wĉWӻI;۽!} ±{Ұ'i$ax!Vր>cZ*F9d 0a E1Zaj11gD76YC~=fL/:^E5/l/u Ƌ"-zxMeO2ۼz&l˷ $}C3nUL&c#kMO̰,6[pʒ!ϙy L>SK-ZđG|( i:ߺ!Iy~F! VP˔qS3X5iג ӻs7n}=卡\nQSQ>Qj~afx#bm9` ,6<rچB z6g&p(-)\HXwi,G0Zc%c;K; f7u-t8((Zǚ9)ؗ+#" 2 d Ax6W:Ƕ8 Y υta!{*9- :Qڃ;~{ adu鸮OOV&eUݍ3wfv|DzYP,:u$W:H'Ԋ&DE\z[+:Ƥ̇fy֑8jLnOso0$ݪ,❄0$]JJ{b5v~7æO#S6i].|Ys-ꇨi($ V3qi xKܕ6lScѿ$d6$vKx#Gc*U^_Dz_RXNzNc\>+(>ht.Z^D3dOM_{E\&bzWؾpW(r&` lRX Yr6hv$1.1zWlጥBRC~&q_|.Ui$É%D׿ 5np+}0MMoS~amU'64DOˎFC$>RN!NtcUv]aŠWrP"RQon{.̗Z<<_b)R\B@ Yt  p y Ns3qő#Q_trҠR+j (M(}ԃ2lKaB&s -ɃVtv<_&HA'K1`doJTXBV͟3o,]GjR֯_gEK@j?\}* _@dS7d%r+.sT>O3Yp:Nb'<6>.aȸ~2gq7%-oAŅ}'OT̫r" U%b]p[M$R1̳&uNF@JLm2z.Bx'jP%2 –oN|Qu$KVZE]3o\rO5nit4v#DkŕRֹ@ʹP3 j@o唬[jsDdžL/قyH*)k]u\ avM&|dfv5v?ћstfߚ,=HOLWwAT)CP‡zd,= ̢y-Xxzv$z.c!auc!'2Z&O3PVW:$ a5X k`g q>D<.ЃM|٢ξ7etGvH 񾀰n3 [}X \/PJEEtiG_ D]:-}*?yqGi}nDhG"tnx%9HʃdS WAF+ bPzrB*83Hّb;2d"DǛiV2kwbObՉB :7L.hbjbWuh}Z}0XPd[r&;$@!ssٝ>Tw]:,ȕ`UG'wg^ x$C7 T&+HwF E_1$wH_ V.4gt9"L1jky䋜LE^EJW.kz /W >S9%4uiVmf(5E'agBNXnS]З3L^,Z JQGXs0)8yL(Ŝ*5 --ջ FH /S*C.?O-S 5Vf\F/_+-zM"}h9bnA"iu>Z0;-OHHn.\-[rTRn0AZPmd:1(Nr $#<ŤR0 1. 8(,7;_DR8KC.e)m](nV ֺ_<4PB/%Yu|÷S `=Z/&{[.aCq5vhes]DTGňMEᥘО$ So/둽1*d9/tx6ߊ;HPq"\\|,kRd\5-x~MHjBjx@%',?Zw]vygJc6]h YPU@#tPO֝\|9&QqL9b/߰!MS;aYڒkz| qӫ!E)aVoTCa[;}Ri&o ya݌'&S#$EepǭxHZEQNemn~2U4"[=6۸rԨ~ ת/ߥ eu{/eЬd-8kΖstt2|iᰯ_~ Amp(+Zf6VOeܺ<[s5Cxrh,Evԇ a_0b|vld*ncl0]>]|w3Gfu^<p)X"<Ҥq`vRm;!t..JSd{`#"r(\߯lG7B@%yєҌI6o%=5?Ow5; US@>l43[4Nd+ &#eV%A=|i ϋy*Mq"0UFwh?i@iر}ӜMIӒ6*>:hɾsZ/z /⋑=gZ]# ɰU PtМ~7i ]o.h"MqA|&+P}5(?ihiP S'j*k.)G[D~ >J J )8˯ھr Ķg$W(ތA~]_WB_T)8H/63  UY通4EkoFkwCn]@GȔ31oyYюSaMFV-U V|O = b1+Ĝ ipZL3z<4c,^k*Q/J()oFNнOI´k+W"fJ~Xt|Wpt 2>Ђ4)bEZ/.l= DS2FNx+PdiZ*V@j?1KsD4>4,5 pG{6TS7U^G&4]"ΫlRUn%L;HxSn}#97pA^uKd@!tӕՑ]x?rE2U4VqEY4T$ "_`kLAڟlB2RgΟQݔƦoF7M K0~FCF Q%sYPEf0~єSguE! C>uźYh!\idY%PCXrVF݉Q"0Mh{/з,fMMdz{a,KEKfD~K}gJp SoWh["ЙehtB4- <1TL@qSMCFnKhjsA/">c-Ҭh O!EfOM ="F~c S}^ AI_엇O8&/}YLK5zH뮨!\%Wȇ:TFMV/#n4tZ|p"ms:tFWp Fm7Ӛ?AX-6hFځzʈ uai Ꮺ{3&\ kwZN|@n)Nj5J#RtD-$8 33~FjN=96-ε  QB!ꄵY~ <`@2!Z &HoCJQj*yѵpy#\ŞRB#&d93 Dr;@%-<TZE %?SSK~dT JdL#}2xک׫'"Z]T8'),l^B)q vV E՛OekĊmzaH#Qc>D ݒ$SUgyUMga 쵎\E^y=w6 pt▎T46~dU H E@!: ^ۓdz5Vq9`]s!73nﻃ}>Ha⌺Gj%l/4I(ʒX!Gʼn0e m+ R,: 5eTU ٞniFgE_ԝWZ1ʲ,e*z UECN;6KJ7\S[ϴyΐk|%}kXΔW]lwFjC#zB  c WM /Gq^Hڶ9-۴uDq92Xֈ_h&8~A`J|D䇸{D\9ve(Ⅎ.oY%gSYħ %u1h}(83IQqkJT;.=tW1{]03?g!{x(#W|@2\zsA\ >Dnv_ ]kƃ@}JE*^]QN6 H k)ٰ}ɶxۭSw1TQ?eI)vL|zg"0+JɈ֑׍(̀=%Jf rn5L E3/5z(SB~ݼR Xz?vr<l_g擊oka@06^v0)7!%:oHwŇ\%j#s4^F! -\}\RC4ֹJQꕞw4gZ^(ئ(+Ky@VwYeGY7<{4tqvwk9935ڋ_4Z!B3d^mG@DF,L ec QgJ 8K:V%0a.Ht94$hֿmnd z,dmpnI;~\2cuA+=̞͂H7F症︩p]ۢ 6C0Ƴ-A:g1LgodQ<$L4J>wt=_ǞrZ{Y)P) ?$/7Qj+1?Deql\bJ/_[W뇧1 5H2Ffܩ$/xjhV/;=&t#oE/es򭗾?J:ʞ_7K# 5 * `s/GWܛw^u:ǃi0D"n0p>GʜMdžڷ9OG| w^-QtxWh?a O[ f\r(*ecY`N18#+Ԝ0BwH2봿ôoЁ yBjd ). 93zbQ(N6A (IT7&EEr`| o=lUkmkF^ĨP%LpdcStHǼЋRҤ0~/jbh5-Y. ڤ(zN Q~m+zzT6k@j7Yy/7EZKMS3?ɴ0]1/L@=Kl "k1J`M($1Gq9#Fgʇvl_vnX <Xfۅ9=0 aD(˿ 'k̄eyEM~!m(c>ӫQA! ::C`G_ub clot5ϛ8CL$RHMyn`kS < Vl*A9D}ABؤ Ch@oHTJ:F>xdn | %Wh7:)k)~S?ڼJibYy2)*MPIN r]ln(ǰ7ȖS5Ș%̦Nފkq5V6n9QC?g_;StmYNXM"~L[d#f@}: 6֗  PFxTaA V#嵽-i:D?RaBnG{t) WM.RUjKϼΤo6{2~X7{|RkȦD=ۻF Q+|Vu-Nno~wOQAq Ni@`$oTg⼃mWVe kf.kqzN_[ ĴiN}EAmk'mnH>2AϯwVI1ױ]_`%t 5(*$1*[ -)Zm K k/K3Eyx'Z 8'_.:M9^]&Q[9붘z4 xb2]Vkh\^ 3vA7.6b0%0"3K7IvP*N*p޿];1ra^ Ȯ I&C{0t5 `~K{#F$'ID("kJY4MKbF"ι\೸[4DWNE8FxukP誐O}3v}RL{,OI9נMtgY-UQZ0Cb0riɖagZiX$6t&6Y219W`Rфn3V*~N ZNF)x%!a5{L9.Y@KhhjQO_C#|L)eFӌ)roz8SK ,F$Q[P&-lWg~!FTV^w|3L͊c ׬4TOlLv2]t{em ڳ2qTV`18+uВ#{2J]{ZRU.bٔ,k'.nlhK31,ï˿it*f_8QS<[W9Sz\tOM)8l \M6+QFAAՠW570n9 Y4Zd ZsuHEi9nW([~vIM v,HBVB9j9j#cgB$xu5#m(V=` +2d>5La!hkLXۏ?ǟVܣa9RfmՔ=5G٧1 跓KB$̍lH1n4 2f820YPhQU OSj&n5͙r^B>fdT&=\쓡!:[6T 8ٳog^ZiF}Z\ R҆rPWʴ2BA͝&JDƈX1^oiT8ԖOO`$ƟDr胴 !2@e@ʨc#zK]NF_#H^.Ta,ڙLL\38&r[=km !U nct3(u;{QnTIX~r [\fa|/ ɠYmNڗ tl`(:-"x.=8~*q!k_꯹7@Bړ~Ɍs ,2=7 ~^#r>/.>Q5=fX9!K H]oM>Zp$V]JzS\9$a=M}q,le?|0ө Uvs֭Pp x$ e!*G4PWB e,$Aib^ѝu>AJNYK/Ki3ނ(dϊb;#*PPYCLwg%ϫ@*~zOM Œ_FL f=s j3fI%K;liĽn%T^1YY[ƽ0B#%gi֎A ^V:2J(V K-td㼴rSш$j!Vi:'c%têc't~=ѠNh3N`ilf`T _?t?@e4&[tc g+%IwØb\W40~P?UNڞ͕_~DB8nU)a@% #<"Js!g6XLXNBՖU,֭%I?Ƅ̴ZF[UV~iVy-i6@؛m6O^~1$ӌAH#7}M;޹/ipK G(YyZ`^'0ˆSsFx0Ri-8>_=#!{4sVEc)'@jc/&M׌cG>3 ף$d7"@ѐ#')r1olĬψF>ޣqyrތ'FZnolhuJ߁5yj8l% 6~`_O 9Rd w<0[98/}hjc6LtK>{lNP!mBF9iǓ8[C?dژkigK*n.Nx=<z$6S#Ec/d*L -rgSPhg6hK4-x]PQ]{/<(u4.\jIGq I\y 'S)?.K^6O9}kKz}Mh?l1rP{@t$rJ^Fvߥ|Z5V3VH6 dOն[ 洸p:45WmYI8;NXKȈ x)hU/" û3+H!Q__'wDv5hR<6-_DU5{gGp }#I\e]=4_2 o(e ciq#Ag_gb%&fOcjuFa J# (w/[]Sl/r*Ε W"s(WS!0nE)t ۚ|^D8|)$ikzX0u섒?).T:%[Е)wr+``^@4F&H҇y]؂|e,YH2sanƑ2MW_:=!Ns&>)~hr]*5oz$h}14- Tn*#ޘ Dɲ=>G}vš] z)V WoԢJHێ hӈd s >zwI.VUKl^GCr668i=TB^|H2^G#4b(TLT=㻻e? p5gu,1)h~Mղݫ`k|qkًRYcne&gZ h8VpP<iL#NR6sٺ{8J3Y^QKc+1idznCcS< in2+(e~{:y~@9)Ayz]YEEΗ 58zFPZ]$=NYg7 6l\Wd82ϓ%Ku;LUlLԒ,hV tP{޴;[?l }dla ؟ǯaؠ4EmXs;%}oh_Z!%aD>ub692cѸ=S=6 {G^p J|CP JyvΥQw>Kzo!u '0.ʂ!i@&7e/\f1[Jj[FqL +3gyN3f-Zb%)}23e* 뺨5 + #JC6w؛]xLDP}3Ϩ[BF ydQ3cQ/,CpO,ULF}w$"+rvw!R9FTh,TgOI3eFEQrnec.ܧuIUZqQS8g %.&F]S:!V(o",8uo^ qY-ܱCeDq9qsӔ5Є᠘&ܿlmw!맱*"Rp,03CO+ܖ1 ak頂@:!ݣ 21JE)UlLtXskNW^R+\!I%Ϯ G]1(C\- `#ƍit*s n ƿ%)j׈㫈ʮ=Szĺ6DT/Olt&o.k(=&_gKv!3!=$~ v#"x-\F#S;ﯵF ?RtNLm:ce {&L .rnUGCY3g$%DѸrʞzS}{1Q8 H,70Ff 5Kl31X8KңJz]}m9* rSgߏaGxe0QrfBB 5u \kt;l#PzvA\ wˊ "0)|bWJ&gQgq&L~ǰ1*Jh̸ǵ%0aJrpz' x8X ?]sR(L0t} TX0 O<+ :"][VOsKM`@]YV|D3{ /lmjloJ!r˖;Í[#ʹ[&'PjMZA\ɏ&C73!*%M @ 韈gs=+*UϢ,Too^CD$D"/kIڐH`YASׂzMl}dE1ٙcHǷqrS4ϴL }HmbȜ<ܝ?klJ)RMBJ;vdD!\!g3 P8.5PV.eְ<>KՒuyg7.&&0Bfe3V<݅aܛu8ڶb{Zp] -x`u@`(C GArk?`2^>c.8t{ 8UOOUTAɝTY^ŃۓV3VO}b**%|[>DB"=#LVUO1c C[-ٺKG''4z#ɖvN- 6`!@$!oNHbyxX ܋ N;Nj-E0Py ȥ{&`ha{EnjGJa#"JHjh{]cieZ(2,®YȬujH Z$HZP Z+F6~$*͡*&, %H"q/S l"o[fnk4eDJݪ\2mangP@'aW !Gm88Tk!WQXo$r>:"IzAj0N'v5 M:OhmF8l3a=AiIп ]h+S&5fxv' 92>}iw}.D#pt H;MSh"uAJX֣'^k4ZB錺m@:ζlrRzoAu>%zl Rƻ~)D@^K #z%gdDJy5Nh=EEv%C[I&^h?ϙKűTy~0YzdK c2/m`N_/{/vI_zϒpG酬.eӺdnJ^ jOϱj撀慼alޖ#jWTD%ʅ\!Ц0{,gf8di،msbbXȫ +n>"]??43w~xH'M-_l/ҢRZgE$P3^@M`N@g,wA8mZNՍ8P9Ρ G WX/S9Syť\h'>'lp@(JEJ=^Bvz]ʹ,UzoE*9v덆$v[y(ߙН WVa/e;7GmN(}qF)}V.NAewt$ɶkfjl+xGHadkxŌL>ۂb;}\\ّP^i)/\H!pz 5yNubCifPF"q u\p[ݞ Wc<B݋ǷLON*AM6rKz.VAn.Rv de)p9gWݵQ8)^N$7U%^#OńB͹@5Hsm*@=DI#z!lDvZC,=sVWnul0jU]dq nOa6}GaL ,;|W}ViB-kahŗMD02LdUjrM$& 0QF*+خ?Dz3;^_SC]5CE#Qkf11JKkTEW!l;O[ hu>E6b!ta78w΂7z0@ue`޻HV]_kD_@Irae煏bJwDFV h㦏9M _{,7'sg-%qL[Y'JDtbEko5F79SpvKv,uoY==LladMMO0T(Ə .|9?LEuJʉaɲjPQ'IXoh8F3f"W}C.)}>U#f(wLQS=>]e^\Ќg| %xakPl&ŋar~ <m2B*o.,TiHtNJ.}E@IٿS z5DcN 2k"Wr(ZC)r{ӫn毹Qu[}G|z?b2ľ XܸlPekg5E?&?ɖٌ;0ˬǦLoP%}%Es$hϭ쟺 :6{=D@:}&tōQe!sdNU'SHP5b:E^Q e;GlN##nA-,>+EI!VQjy?a)S݀ ,v#;`̬E ] t:%NuVjP~mҤE#~lSY NRI/tsF#8?CU; (lF_B ?p3Tu{-Y)M r?UbCD>j MU4W3 R'rt-g!y?Pٿ4N,^W_>jƔ 6 61 >!=ni&2-~ jl27X,PBPiMEJ:zPx~@pboVkVСۨT]YW<Y ')"o!/ aB_RospNm(eq5إĨ>"X Rl'x$d (pGr@o5/Bg)b@NM_UV#bhFq-z%6MeoU"Uq[X,) fd2KEǗt({B0CwfG~Z GC}$ľ,$wZh ̼͊, Z# ȾuŔdó ī&`LI\p%Fn++τlܖ**o1 4A@zn_]@OV ^}Cɪq+5j~{6J dnY"H҆\MOk*#nfr.( (T8 /v]d4dר ^d,fRwUtW.qKw)1(_~["C޳+{N8_l`a-udUqpZzר@<.7r:}ejU% ]wk. fnT$:abX=]6۸uw̾mU3:?d^)A;zQHѹKuNFJtp^^UXp7^Psͪ?I\wK\D }٪!.tHyL('zկhyjGdp24%~&hԧSVmRi`zH6Pkn{=\qNJ:.Jyj B*cs]yMb bxEkXJT,P(R8n~]C팉;_*jWn\R1u#eIKO!2̳,; F G:J*"sQ fj@pjQ桮 -UTzP0p:QmgL}qm C^WLz N|Q7pSt˕W,? QKaфM.^9\ gj~su6ܝG;jQȥRחe׋<Ӿ D秲Gw+vv\׆V 1OƋͫ ̊;u|Nd|Ɲiϻ H_ Z_N!'Ȟ&Qצt%?T.unP;XKf#'>1)GA}d̫p$BؑD.PE~Q-OJ 5_'aψ%Bµ5Q1`Q&ö P2;{S8C@wP}^VWsY ?L 8 wC-SOT=|bPhOΤ :2fC~[t88)arZ"rfMw('VDpAsɀ$y_dk4][l5 bG?Rd0_pm1d& K;{ɖ.. !QNRrolZyE$|jǦK:WT_VnV5^wN\Դ"hi+'or."gw.pH``N_.>C}IW8φC)H Zt3kjqA .,L=o!>>ң5Q>1n@bMk7^DԘ젴HmLh7xvFHu3ڪ諛w῅ɍ~lށ.|-/dPR3<^mMVQ1,5d63|4w6Yù_M{|u`!ij}7"Sb̐"Wh3-,Ғu7B'C#Ե$93Su5z_zgQ 8beK(3]S?(crfS;+qV.cΆ#F, 5Sy>zQ˧^,7fǞ>SS$U6nW6e/My8!سrH{n#ϿGm6Q2fU k1.afd/DZ.ϕ`TnOk& 0kCk@J7n.iCwy\\3t 4PGqD^CLle9Imɺ@f O:gJuc=~ -d$3*XdroPr瘸}(',`)jj9Հ|(!4v|ƐZ5A+cZFm ѓ{E+}CqFA#w_tBR ¾ ZN%/PTuF7Z1%!&/"g ]`(fn]9&'F?[q EB&0Wӎl5YõUiMA+e5WŌZ(;/V,XdgvO{ӯIRiwZ: c .T^<,r='m&ya⑨m%励Ih㲑{OkA|5ǬPİtPӢs˵ti]xzJbrFx|>6AE -H\'adiz>_gqh3;Y&͛>R(x#݅s6{JBD ߎ;B|hM9׍{kԱR`I*)2lqk<*n,| ,süE&AՕ s|RM"`*#_T TwN3]ӝyȹs-B;3 y.,.rIT]r)r`~mXkh[EC?e;T y+C'UN0n KkdpҸs&1 y9pSweIJtkQ~Kf98G0,ΐ(5Y%1ɇAMg w6d %\L}?Ox _dlN@u1?ѓiNJ\qr_!~n 7&/p'$PtK, D b3r_PWm!魃1^ZR|@d= CɢbxǕ!Ԫ.v>L5$yf*H&zqEL٨"2;ZԖ8JBnu$S|,.W"Cvhθ jC{t}i:*X;n+yI*({ǘoWs< c@@zQ]),rJt09ځk;J HWiIQmf-X40C?}B "SIAeI>ՖbM>rmdKtJXC։ x^2+kA)]{Ew#EV)hߎƝG7>vS( )3%pųub>%?9wAlEQlZrRpnlDYŗk\Eu6B CqIq6lHG$]Z@sI<f _?O]j/=~>1&=;Ј*6Yo|-|I)dh,HT56ѓvՖC0kƾ5R$-8`[- z5x@=v(]x[1R`7~_uT4q[ذqa`l8 e/P{R|4czJ .O r3q:5Us}qKR{7HLIQA6×_l։o8l[c D6H_si(8B,E'p8CH?91d{4oG=,VxEFZq2%MF 7bkBX(''!u~*/NQ.fB[:>_J*~Nԟ;js1]:RWOzJ(Ub#:p<0OYfF`tTW۱j83|8M-*eWp G#4;w>ްI3͓9|h5Nv6T\+Qf {F> DrEtQ=̄3HF_냞n2LCnSyOݘuhQMG9miOR#Qf-б2/fUm`~ CHjeظJxшj1|2:.mJAO&M=f =5h;9"ox @Ȭd%Fh%k ?ȏAά*/0 ΈK%c$Yul4gYv>0rm|TbvWkWR$ҍ#DO}g Ž^)PQcS0b\J-}+[`AΏ`5 p;gP:.-)K`=hZt,p2Drl@:ubIlUy|ZCb2h 3gG7H7Ίiz^)eyc&A}38]OZeiN)C a"]Q]']%ydPXn2*`4G-~IgT.}Z}xFb Ahlpqw90s91< bc>qqc??P}o|J& (ʷz} ]sӇɨK0*~KCOtCm\ҁ<". ԕnz6 ѓ]X-Xdj2i۱ַS+3_nœFZ M3g=.6ȁ]x02YQ&])<,r%M iΖWIhGBSǬ!:h45,l%'Io- G0m@{R}Eakls*0ҿj#M/!&b)cYaZ/:jDAo #a:l-?:rr_n\` 3H0UK$yq -ha˛iyd3U-2-.W)CHESސeqnK9}8j:B ZT;:C1d+oZ@|X~Dd ,U3kbzκPb.ϦJvw=B祑z s䠼-Γ#TWUښ[UkLcuTe$Ǜ5B@Dz,,95\0?[Fuùs;z-~@r4=Sa!9v=;jTuS x^ٜ.~O,,t9LLt?>~.HhGp%^!JjBlrqXI_KFEOCFտ(]CF]!H ˔zu¾og֢Bj_E[>xRq-ol%JT+_.{+l!)*%@ x"fh]G 0 2p,#tMN*IHl-ߤD8V}S8>>ݖQBxsS˜Wu x'˪YT}IA['pd w8sϣ>-!k EErzM*hʻ%eCΘdh }!Gf #;,𬌁hqeWUO }zڏȚp/3`2t5 Avb!1Mb6A–7y+"AΤ֮BO*TH" <M>;_8RH7>D=7_`qԃf6jt"x)`?7QJ4L!sߘ4/?}1۠ eB…v^Z=+%dlHY>#jʀAFfHRF?ur)y/ NqPN_`O>{>fC}V?i;Dê⦲kkvJ4ң> 'U2q{+4Ŧ8G rlxN룍;c ._ ptE-2π$l'Ѩ?ӆ\&<Ʒ%ۘPbx~[d J%=A{ UqR+ \ۗtfu6 T޳^1g쎔f,j;g:hRmg0bNn$=G6~t,8 J4j!i`'uh /ޏzI5v?QKvK882*2|}`N ɻ|{E=[ #ҘuDb<CS99Ji[5zWSD^rzQuMDDJ)-!\SkVs2<i)9Yķ ɐp?_eC#mCO.߃:iТna4zujy*{GI2UVP;ʹFEێޥ' =$G:%b\C4_6)h0(&Huyiª\5Cӭu0ݦKQxTl]p1kH%%|s5\̌=͛ߩU$=ruEOu G~~{BftMX\]8^kgYIFBSƜdYL6F'܉_;pոfD4uI6*Dma*:K6,~L"IAhzCah&w ^3!G-?ߢ#wWR.@:J{e~]COi DR!~mPPm!RK פՐBȺv#۹u*-=#x[m=j~NFXa'x3m~z&+jAVf `FzU,x*ALuH<^ڨ.0l~ޭA{ N94>l(H##cMA~߈{MϜjg+x9G\U=`,Γ؅ 61LJ򬡑%}]c *s}˻C]_& iisLb:52zZr.$kT ԅZޟ8Nn/ӔKx{s9cMNP .wگ` )I96HuH$>aZ7Jb-g;ZyeK(jCEBv]R]ԉPc[ф$|7c2Xt1j +u{--q 9 [vۗ!"Kztݥ_z;Ŏ?X5PEjLsCC@_xT?]@an*Q ⷈ?Wrx=Kl @Ah2ʰ4$i͵8`Szɵ |- s1l9 ;:⁲RJpaje\ֵtĵ\տm(&zKK<ηe J|=U:^iZL?Lq%N(m8\|)A(h(_~{*JçaUVUSݮJbXwV<'<5qc0caJ+?DbBs\z= FBksj@[;in =<"㋅3>)H!֗&[8$o`i-7,aNvмx$D W%F50#=ի*4rIV>%Q-f&IBL<];tSAMhfLZ5jQb*z/𱕶p'yMU9[HY=[`sQ># y S/[(hU+j,kPzgJlS$#|V'> W, `ZcHDEm6O?Zr̊5+zʺ=RBrvA#4oc0Ř_/a(QAgi@.ltyRd PHs=1.yщTo8'ii RgGxqQig(EW6mUAd\diuLVg1?G;L]T%ִYħ.O͑#{Q;Z`fTUfO(,},j6?+D=o:#7W\Fk,:j> aUzhp3:\)II+P\eVIlʗ}Ꙋ.&?}oLZBPťJN@FZbǞ C(B_FiM5 Y*'93R ̰jmh WS5Ч.W6ꬃՌZ"UiޥqO>Y7d2[͸&Llhh"j,f1yZ!f`H7- 3Cˇܔ8 ̂ED?SڌP޲L\ɱ^ >v+He"L;@^dk^2*T(ӇnMX2[Ż/+ tO^Rn5~WHF;e_C& ݙJU~f*YqtT6/Ăhce.X*%N<1C/M:%k= 4)*"+~gy/s%&ws'ZxlW|o0fgfnJN&[´f`[b)kGpiOdJ78 /5*0 s"wOVJYk/ꛨq,!X)D>0BdXNC~iمveݸ1VᲐ ҽS(=֟߳VAlJ]̀1Ys™{cF*RO۹:t"܃K 1Hlw ;1ɿnAfVͺjQrB?L|)V7WΛTc 18"jdR|(S#J+'.44b j0W9q{E,ˏ7I oؙrj)|>MႣscrE%7Ij&3{/#^! ehgmm`0Yl)9 t6uju@MN]#ѝ Wӂli]{tpwht=.m>@'Cɍ"#K?LSxnWG 7[E;V&G,9_q 7h4ۯϫW9%aCxRVpC6=Yl0K:|L}U?n3Xծ#Rq67hІRCow}d0 UVx׬.:"7g~!]^ۙl7#mStxM.#Yl};$\y 8톀U\£rHbNfrf!){gEȤ~K+ v)w Yʷy%+"-kрMRuyWŐ#8x r;zdehz<`䇺 \ j7:F*1ž:vLuaŹ":qc} e,$I C495k/(PVQ bn`UEyѺT(5Άz NjcpB㕝mέɟw!F9lڽ.KTS`t_!* u "B%NCslͯ%#28|5๹qf㹱Dt~0'5u 4jDvUN9,i)̇bm7j~_Yp1[:(t&Tj=3*( l[2ˀ _&ۻq|7Iϫ8 ׯ8t*`: BPO ?e#%LҰmk+w 8hGPC(hG|fYBuayA?[J^2g߂Dh|C!.bDOۉwqB@Yy'itIF$u:iSۦ$4Y{LJElrr^KQa 3~{UhZE4~deHOX:%0qk{%dA)~DԔ>[-].v ̤,/4m( 1/37DJ^eZMBb#GKLJ"7%8M>|8 GNzFRTL;VxJ)RE5T z":фZ7%v4P޶K7Ţ/~`nu-2I~>)qG F~R0< eS(Z_c' ; ?ʵGG}Lze%*b rL|;ӈbthGc;ɝ \㦤,iiqR1 UH!K|а;)eq[14[0L?|ȧDϸr"rIN/Po`Iyhj͖Xw܂0^_l|1HU;INHs: CS/ϋXy4 P2Kt+JpRo&kTa1x1w>V1FĀ7 {h]G63 Y_RVbCEF,ѱđgua}idkaPMR' x',VEdU#^65J lՔ9RSb'$.R|12 H3Ut[g~-d;ǫ[nL_q5(mq h,GMqu]T±E.63Tqp$T:WuѡX flӆ1ؚ/DdsF\6z+^v6?t4=/Y_<2ݯ]ۧٶýlYr~.PnPИ8"z]ii˧/-?ۂ.,)\`ݙe+LPa'鄒/ՑI^GR{ Z sOpv_򛅄En9}[::;hGT"mG;/#R:ٳ4 _W 0 yn1iU"܆y sEl`HV(E/^=+ݱPR,Gb36YNmny!N$? pJSzTSqbmdu.匶3B)סeTW>NN+y&H {<^Lt̢˹hWGX).o\SVTghAXϪEI6[ri6@hkiy#.T<'eN{ԁ|4 ѸQ|LgtgRMc7 #xFGv600A1B5YS-) $pɱ<k-ÿcpwVĠވdL>Un,\BAQ 6l4 *8{κ\ ċ]qz6 ꡄ!{ 8_3'ٽu O 뤻@Wq&7p@‰8/%OFTXH)C(=ly ݪ G/΁B"pޘa^ ?1mVIW?JG و?pNcUK)0gA2jzF 67 CGPq46&9L4?!m)MӛjHb߾fМ`d+uqk̡[64zD۹=LK*cc 抆 -{^3<*>d*B tnSaTWі98;>Æ/$JHA.3biwH}Yx0&7CĖiSwA755~/, $W ?<WXr $HH9#7AvX$SskiUE8\-'MAEvg&\U0K6pMx עuSzir8n*~a2WWs#a;/OUv01]iXUh1a>$J,JN&8dt i,0V Ij{ꨒ Ckȶ |lK_B'ر {vټ8;m;J}IJ(`;w^)]Yvv*4`YHb&,)@= /S(S0 axO]=cNV ,e qDvֶUGbΪ6QTI䀇Ţccs;^YsD@Z!a̭vG,AO͞)en#z+" ahq 54j3nYmǰ!!݄ͅs1q= b'uyh`ɦ}I0BnZp؇(ܱ=9@ u;wܔ8 u?V&Xkt)kl%n iAa :SRRG[$|k-s)v5F Ѱ6ѫoKHҳ '4.e2 R}c*Ȗ1fAG)~MTicĠ[a7i!KX8FwNBɹe9 4Jؗ#rE»=E-$~h 8󖦟BA"LU})V<~BE(Y` Tyx ;"oc̝FVKHgX 43a9pۃ.j6g*pu#(ꐥ,*$B"Uظ[Bd= y9)D:!qѲ7t?CB'8Z@<8ll?k{2eg{ Uz_qqj$6{ҽ8ݭN/6v+@:nAvm=D?՘8T8|\;zHTC?$Gb!^iW7Q6cD(G%lL8 1/kv[уivtջU9qHͷrͫP9=Gw?Uvau},ErޭXI΍mfQ-ل)n-.nAdPȺ(H,HNڪ<8*NTg<:izBi1hՑ'(5(JPVFu9*'FXz#&B8vzeG>BzFn,䝥yoOrUؚ-PQcGe)4I7j,z3aWn?/,('_(FQxٕ5NMe4jN8J yL!m׭{^fE:kL&rKXJ +L'XySٯ;>:l 1AޞD5DJఘ̻G-̊ 9oϸ-Ee# b"#{8k @sc(x^|$5L1 n"b*(F*0omzN Wb)%,'rN ;]ŠapBM:QLc4ؖ.oaIMD>eK+N]vSU:;)ߒn8 rIR{|oI[jZcA/v Q>CE;I$>:MZ}nے1M6SبuXOF*]j&5*(D}gdEе^e#7`:/%XJ#t \O\'wfCG86_Wt|zLTkt WJ%of"ǂXa/Mlz "zq\">T %#ˎ,R9Lzܧyy|U]mi +MU#^\x1t⤽k24cn(ݷ~ `_ G;?XI)q,Hǥ9_03ߚ`W'b4ao;9SU!l6k%+b-ȲJ>BMPqL٘[4[ĭSԨ%kI&ԛ[{jQ{T>gk<~I&eQ>ƬV1/1/VvCb~tv?WO % 0˜% .H!.DěoطQMK~1oUG]VhrW1w+ gu:! b{m[u0uKκ~žWkne~yvC=e+I_EEQi51+dXix ꉭ딯e"ui7G۟-v2^reҥ֎kR d +WѼBq8Mʔ>̉"/3!5Z$1s<Շo0'4N(OZ]L1 H݇r%?ČCPI ch=h!Y*3Gd|8YZrNvkK_u6%Kw6KGEȩL" x4rݔ6&{Fi!(50b1);^\abq>jFR0Y\Roq쭒ed]*ѶoCӘpAW¶:7Rٛ7)cPuHի~kPFi"wՇS4j+>Jܩ*+ۙsq*z(4bk1Z?D2<ܝz8l#,zFJ;fu%PqùN]ˏG;䎥k *Ĭorf>6}#ΗaQ/'d ,Fu\0.AۋfÊԸ=6FV Lo@ \7nni1c; DC$nԶ0倯LJ>)˽jO8pvZςH>kSP4?=mZIIhPV"u{꼯; /)T݊w*NT&rR ^qz}_AZ&63]Z37ɪRhsG]@rEM~"gvdKjҝ)QqaP `,6 4^`ҩoC 8Wͧ6mwOVd۾EsG2XIۨ^YH#f(dƯGc g W*o~f4 g[>ԙndb\* g%k/&B0~57p|y*0d[M7pĊɶ!54a1汓K#ox!XxmT@sU}K/C\Î<ᥜt(js,K7_@KTrFbgnW(QrRȘ5 JVӂ+c<}Eft?%5Ufݾھ?pO%bF|u$Hvagi}ksuyIcW@F9^ y^ ݵ?oOPe&v6Ͼ-y=ND:2&U+Q_ $R/pؾ{vxA5̅.M;vw(JU9:&c5xg0niСl,WW {&V ~nn+})) .폠1g=P5x.@FKޫĸ=ٟm~"y:"9pCh /% ,h13!*@t]VbCHg=~ 5BWI%_aG2>Re4*̄շB:t5 aaLK4CBb!Knn免[v~|CƁ2d3fU9Z+.-sJ g3zt-?f݄L۩gUE 15փE] ޮ7`2QyC%$*A(+0p(+!: fď5JqPu"rh6t}|hA ءsƱe%rKS;Ғw>3FxeL^뒑n tuV{# @whݐ[ XeC j'P˶^XBiD,3NFTnC8E] QIܹL-ߜ;]ߜ[g[b$Rՙ`_`;`z=0|9ŬIGWpQ YV3ٙ-}3}\ 9{$2}3؉K8O`>w#eq/Ome`71\3JXAEV=oI\n~TOJ7F8W1'h+T/7ϢaCnf `r<_#m鍳0H^BUݗyy\K$(s*AѨ.F:׶6 r 2NgTRax]u0!jxr] 9]J jv Ŧ`'}MA&N|_D*9q2M7w>moZA oX c̈CV \Jx)b9ւsBtnxI+VqKTN2-2:|3Iq:-~<jp"coIhm_Ύ#N/+H1l"kpTč'1&pͪ됶-TaF [ڬ2ِvb CKM*>1q}'"*iX}?b S*Ae(jؒ)#. ( ~'@45K [wS:!dHģYkeqq;_o;&E\\䜊WT7,BcY?Jz#( AjEEX4]w\P\þGmȅJ}99Hj;_ْ!igt)*˕B0*y45ͪ({@_*?@:,fNx;/}TN3{˾i"H\zӝWtu(H$%> 6Θŭ@hxP#9KÅdn .Aж=3$M,Ugt-vHd1d7 3wnNYDe#t^f%a+|LX9!=v&m}pK 4I:Z-/G3A)ЍRD}rH~#'PY d.{.3LZDv>/ҧb빐G1ʼnd _Z(3>Z6/'OCw}F9<AmMr [ luUC^}=^K|ls-=@&{>!ZZ8LnM7 FD`Jr׹U욏jc7~(2X{[zgWe-GĘda \$Ҙ^VGcRa$%f Qіx]|C"`y6/^jvr.Gn‡ <^c Y<%ÉnDP;?$~kj:yϕpHw؜X_2E2 z{=XT9Y4EԒ0G +^K8tV\؏Hh!fIc\#uIBo.Pf&,Tn,:,kdWSsE=m&`+VCcQ@gUd(#?'!=l}m& ]¿F\40 1Q(ѐ8[c.+?/FݏB(--Б(R~՜ t{Bm(R[(&/._b +@A9ZO)?eHrc;BQa1OQPi)y+Yc[OKx`m?1g^Ǩ8RE$:nlC˧4r8N_9RO ATB#jʹ6q|m;`%^krD 70^. ?/Zoܴ|`dU"Yd36J.=ߖNl%:Bؖb 7tR5 ;;S|5 JxH< X"[?A{ $lc+N)eulwO, FzIgKdhLh@mEN/Ƽ"<y ""}yi?{ϢtWC <YAQr?nH?so7g1KkڣI#>J\z$:PcHf|{&"M dD[bVJWG;/5սٸ^Ԓ#˭W;|}\0w#= Tp"-RV6m:`^bg%N`G;?A ka^Fև@WY|^J؄ՑOz ~V_!gpq .-=_W)OCĚUM=UK2X!K,g%d![ZE;ghѫ7&@IVK֢맟]bae`x.8 ){i ,lNHM&e 68#2:[6\@4#S9+g9*;ys/6@]~OWZC354v*t.(y@Lb4HxB$)l Ėx/HnQ^C'sQ|ru` x?6d=BZ$m]Ƥı0>c(K+#4s7XnQ`v=eM"O$◊=@KG7g͖,Bs_ZLRkZ:b1>`QV LPLl2WRWɵHΟ}FY넀MZ{*@ݏI-X7 ́4T0%}X>6Zfh:y H&ɐ 6̵&z+Fbzj`Sҗ־Vf B}NXE)<*3LƐMwdYMN+ Ww;+kCt]9n~|<<=μ)lju[r[`Kf$.y͔BHt7pN F ~XXMx#h&n i>_7/Zmkg1GVG]˾ VRuظsj)ђ rcX6 /H\0 zz:e~y:&](/(F6yp4?.^tGOnf)Mѥ 4&(9O-YU fgT1AXɛ_4h`4߬p0.eۃ:{|aPSM<$4 gkVR^OÖi0bfQi}.[Ҧ#1%h=;?9r'דM7#7Ư}>Ґ{D+Phͻu 9SflcM%b}26]GICL,HӏJr&#zz7(  H]TJO?#껔AC;S y#-UF)d3cӁ4+[L0b>Ŝ^dV6VJD:U}G`xei™ZBFT\0#Lx^ CW!x/GJQĒ(TF"CXbˠ|9c/0Kaƽsr8UyYo&kqLnvP @mdL<+Y6@_L#20>U/nkVKY< lYsMiNg!j ֨oqJO^ ]7˝nbfQXL7\ՁE!_e&>fiu+ݦh"?asx{@Ԋ*q%P$"'͛M޸SIWt ѭnbrPTC5n9#Tk&j`9q:gGXg,VM Xse8e$2VTH֊+Ec}LLh%REW|GT"gj3z~ΒQbx4>qH0 e}CA3VgoQ {:|Tt4P!q\p(aCqQ<5϶*@hԾ/bW}Ϛ{/AOR$au)6x>8VvM? [bA "8gvAċⳤ:'V#N%IslVbEV/=@AȿZּP|w#jZ1qc/)DQN4!np;2A_tUin{4(&k Hy#\ᦧ%$#.X5{ȵt?uWHy5]nX";,bsv`ȍ+c"QѤt2B܍7q)mArVf&ma~xW`rwaf:/Qi':EN`YG(]m㧅lAJ>PJ 4,30j›~݄Z #[:~% okM(/o-37@m紇Vd?(TOx58I.ے±2.>Ґga,nkž @^"W/,ѷ<_Q:cNma 5}s3j$ѫ0L亊%6'0?ӭۊ&KMZt;ޭ WΕű"N5)CsFlWjeӫa"}DL/ 2eՋ+o|7Hwp`Ie )Ogx(#^'Ł#+Bd@M xl#^f!o&I `pUT؏/J[쪅>|vlɢ殫ڭ޹^xhTwp7E h%>B T5aCStԚb!3?4&G|23 Kh[Rm>C%ѱ \x)`27|i4ن+ %f3]I='yDץgTٴUݐVP1eeگ7ૹ?&n6w!<]$F7ML%@pޥ:h{15D3@BJ=?Ty(CДo7cz`rZO~/LhӇ7;-<|~TA򖯌 ݅ByռduO<psp ? zyz1E 1 cYYD< 1oe^\g7v*_}awW5.+MnvGPg+M.ej)<|(!q\:QbSdثBУuܟZ1ooA.aqhV#><9_a"Ӫ0.:P_zkq7L㕗Lĺ!i=*4RDQǶ6WVn3.3y ?mdy^vg@|?F,j.! 􃼒V ׀&R>xoa ^O -F H'7lgAإ&wVYERȇ3 OAn̍;c/cz}6e{d7}c㥥q `"]: ~,$Cӽǥמ&ȕY"%(4˒)F!MINA.]oSVY@/$#H}\fp ڍ r [(2KA;hz~0CHuZ̸x8hy<{J |=tO|o;FuܛdLH81 #Vn e[PBwCK[t<|;hZ6WfZs)v ޭr\mr^\jt3Y\бJMVwˀRjULpU .!#D/tƳX)']: dUtE/)m /aF  Xt <>NnIs&l> Yf3$lPμd`H16mA2Nwb9ж:jYoY345*ڞvXItE5:fmnSV"< VOWn-S\0YKe2tI\L/tZf4- a."TӚG ep~BUf0E`@ Y.)a!KjYӠP1"1Hku XdFݘu(,c5,kud' O& Řil̸nzao⤼,5`<@7O'aZSNFጆ1r+LZL8V K}-SpdH @%׸3:)ZED "O|wxI-dw KRLꅉwCmHL4 ǽ5nH3ݍ\I\"U/1 kP0xnI=6?ST*2iE z@#VަU(z._d(#tk+[,{7 ɯ$#jtq)"w̤#NJG'vEn1FMk3I6[Uҕ@2T{ ^ "p wKjmU.;&'ٷS)nt[T)0k3I. f^B o?K/m+lXD!k-mGMyk, 3ԏ?2Mg6L-U }׊JL|VCWzJWNeRe2*@ٓc!zY_qiDH+L0NBQ|op?Bz){X}g+G K!`櫘tt)l&ՏYd^)K`S"R&xNk9GisiuxQt ;%`8MŸ;ԷVCYG 0*⺧̯_+YYߔ;_Ge׸[YdJ4~9N'ogXb`ȑ_V-FO$&\4 82N>,ZAps9:y9.vA+ʢEj0vP`6PuBL4Imidb4WlQ1Hܫ|DzHқ)҃Gꣁ/\>CynQG9 y~GSƫ~DI.#\: ʛ=qYH-ޒ{Efe"IAKk9.I"Uq JDݳkB%16Za ޣ*섫 ae;((g<}KFj@G\]+!$4l΢Q"YsqK5g7-{WD+;R[@>Fi24۪(c i݋+Aֹ~/ڎu"9Kie6|=ڝ)~fIut#<@j:"~DZ͍n]ČmjPFɳbl}Ji\VR5* #q.쟑/<%cYʗMxY}pѽWgVDǨTX=5Fjh|]o29q+L;uS̺ѡٶ.6隅^-)!"ؘ.vŔ#Zu?FZ Y|5G0oYq!ұ15! s'd\%yhM B&yIf:Q09~ jR#W /6pǎ> ׵̦DC\{}܇gLtJ Jٜ VY =yfzvT_nPqE\*{Uꢸ *QSvE#2ZdNCǪ!|Y /tYƵGyns.2ސA;ӏ9&c;dMKZ=4ۈqnDn@'-*śb;z?)mR1Uw$ʰ>H%D8ˊ.Ա R!ER}C^Z &>^MX+rNlmn/SX]LIn*Օ=Kދ+[>-,>Qgn׆Xmj6໖E!e2]| TWһ{Cd'AkIS pPtɌGMW:_℄rGvKjفZ$E1',T]p,A٘Mb2I֋t_ݵz/V'wHҒGz}B~vI/ &i[+_Qul6FjŨzu|(Iֵ}jjzf^kýVaFҩWΥyVkIO*U_W9TO藄d!HӡtR蕳=̍89'ܴU) !QmQ}/\BAZӵ~3;c$cg%]eApClk-HuP8͹@}Fݹ@k&E*v8R\wVMxaPGjWtXab>u[ pIOwc?;aHV+ <+PaPֽnKFEI[GA]!;ȝ!c+Q$i g2+GUcIgcZA'QBi@lφѸ0Y^ׂIy[UeB 27HŦiZ? qa!?ub|wEz,˿ÅLIm2).[@%XivAB`Nb sqckOwOǒ32@wOE/>Bv=a~BbWq%o%!9iWFy*n&,r5xA0cC7sǖIhU)pivF]'I YCr <6XW*գDԗڱ~Ma+0-3,Ǿ33`Pj(vF5SzZ6zz_Qa?#k@By=n떪jM=mД>-HUX2IGu O;z5>.A~UC+z/) _`j4ɛĤ2g 6S]*I{lKCU|~В6_eS}nվMP9wfHK1b /2o`q4[/ɾ[KҬ<}w<VӫJ|>M7Đ ,}J$?kme܊3ٳ{{2'%m{VYN-jOr?"IE_ reT8Xt`$ 3 B4XhעOEqm dDPoH`0Ǡ\U jft8&'599QM]֨)BM.bcmj +1C ɪI91~(IPxYv*UK|.8FǿSaKo?!\gN4zMܯ FsV=eC/SB7{ Ҕ+YLj(}$9P7aL_';|wY527M^Ja{r\-+im;[߬?n0U.^\`$xfB $SKv(Vv:Yln? H5>RT7&|!78 5'^Z xY{ !U@5\1?Zx"Zȋ䏷~H T4[w]Wvqgx8'ul^Y)[>,Gũ㈎Z{λs/*T!\K[wY"&lX0e& ۾ߝ*ie{hhēCaj`Œ**}}=YzIS>y$!Mwim&< &a|AJ(!(7L\U]· PG(s$_{m4ߏWDUnR^vKPuj ff[y]1c?*[XHpoDռ"|]0 v9 ~!JN jms<9d\!g̐~o{8165Di~gӰ ZYE] [t(BF=YP\ >Fv8D$l\!`U_h_*++v jR>qFjQսIxX ,պ 焽ebE9p0a^eCJx2fΓ!= _/Wx' Ø k4ooӲeF,T,ta}k<(%KFuEY>$5"'пմkr  7@(ǽ!ːؕ (H3gRQކǰ>Q{ӕ|Ͷ(+wv@#ՐAQ3:MK&ėUR/j#T3 CPc. eMAW{Yl8'RyQ}bY鵟5C? Xfh&=D!?d(ǔluҿMj5eͬ7YYX2?.}7:(T<kWg"OK˻f.-%Y!tQ<)s" XHFFNez Hk{F:@Ē 4j`boΖЊ%Mꪯgہ5"3yя^c#Bx(…؎!Q]hoyZ27gɻA*?. [AQ,JgA 3ynD;$Գ띎`q!pǚ~d|v*رNvLL.T^^;ɀ@B"Yr})8] K9.?\zw$]+=.Z "uY&/[v%\o0}GnJ@V8{e)K۸mȄZVU y"!8ZCnȎoOȠCexżgMwYۘ l4?WJVr6rDź"Ly1TcT5<], ,=!\@bDQd o+0 1f?'N $ԅޮMxXk2숔ɛh^_.e I߹+ wr2Ś.2‡h*EJb9^Qik&^7u_d(vSp[uh?dqTd/of~\]O>3QreD녩C֢Pol/[١Y"Kǯ0lszr+}O5CweiI;)ě0ZqYkМp:E &\YSnQ#y@*ȢзK%L_RfF]=%^"b =G[F9^J~7A͵l*,R^51"c-D-I[℅@V `_xg [>]psA~~Ml5QO4D݁%k߶!yʴS+n-AW X6rWjz+2F w=X,72\ 7\Om> իFz-0_Y 3Q"1|7J)۴s_$סlsOaXk`p: 5)T!NGK06of'\@zj '~ >o4*iJ,\]BiG&n-*G g IA +ctdo˹]1^`[P\a> pKtvr i F Ly<%&в+l)޺>Mjn))_؅x"WW={CC_ РKdNVu@F4!mwQb&dU ,@ԅӠ1~Uj} cQ(kb=6ρM>6HqsR*swtPr\!AMcB#^EY\| @_2%ޜx $DSU 4ef`+-U=X 2j\!) u>| |\5_m9ΫA:M&ɱ_u&_]d~1#>p<*n|q́)@41MA|!d&4 _> DzSF-feT;3҃ɉ %UVD EkOJ{:>y\b x@S;>q\ˊ.6w@tw]Fp$g(fnO*Y2xd&)N0cSz; R U/s6WI-))qkLuT!@>n/5+7/ [O*>w4o;3BE6$ʶ]QB ]e.#X ԠQu]^ M{; j` T}SY&`6}fZfi_Ü$(ОڄV)aN:${xYc_T5:wNF jp'Jgxߪg,M܊_sfy] VԢTӝ,`±dew=l L#=\9SHdH' NQ~H ಋdf1-pO+X aN ʩGpW<5``s4veq^CLɥrGW][>|ڎ\d?FqJihbʝﴕ5 z =.NpWV|/~rr;v嘌'aD'`W &2݈K=aWR%,ЀmiQ/e ~5ѓZnhBX} uST{RG&*us26T0ׄ? ^zC( %ąGH;NT58I(,xo@IG ڑ5 bl+Jo9}'}HOC*îP|#fZ6tBm`z.Rrd177Ϸ=ʊ\73Mw>5r.[GQR!X)DiV$IżaBS>MݷT9ReX`RN9|$bG8-c5T4] ˝#{x%2`r*jBO&J@hL Վy{=6ⴇ%iq`uȸ'̓bv@8©3 z= ] xV;bG`G+#[q6ЖkvYTR?7s!LOdQ}X 4}}kB1lbpލVA#pz)W'A`רvG?B)ԄGcVVm= l9ڬ2v_i-W>߭5 ᝅ)N,d8sM+f.+&ZCKyҠsX=Ok2f\YyN\5sZ/P`\e`GLܓ ,jlؕ8U]wopw1Gh}֡Vf0FH苜  \h̸xR\hڄ0 !9O=0sHl-5"O's$(VFNjA>Ry `rhަ5gGuPO|( 7\e~)q  ) Ngʛ0HQlYD ɸ./MY7 [ 7Ex\ax z$axmKvqōWBw!~M.]006ɖJnnkn}nXڄq0ɹ7 K;CoNJ\ʳnqh1[ RdoS3Ko~-\C m;6\ND<`6EN3; D0=}yʽо}jm|F*M'+]R)|yc2k߭!5y+/4\HV:H0Xٵ-j;%@FR ץ *6BJbC˧`ze:ݢ*= $ϤgĭRFe6PopTg ow#y4z]r=8 w ;D)޼-RH 1H#==Cxo LyUjbHG y\@E.rzOZ1]\dIL-:֠0 :r M)G^!1+Zҿ mRͽ" &э,QB!ٛ9@'KirP!Kde lm@gz7w$AW/-` ]n˰HM& -s.+42;K\m .6]AE90P- 0E$ }j͂i%o:*–1^o1Fp1|N*,ߢ\QCJ|C1aY}KZI"Q^y>CO6 )-5oj^YJ;Vy\IƉNMR3f3NC7w϶+{y[DŒT9p=~^ ^6]1Ot*&u 5{.TE~Dx$o0l= ee+0]Y>WD6S^˓]W}i>0N~#eFj!yJl^vaԖtt.ZG1mlݐ;&+.Y <^ӷZKܽશV3kVo^>]*RpPM"sgxQ~ՇM?kPI"\z6Ɍww3,ze1 4ud}TX˥!)\BibtQqb'LB^YhZƽlEI|lqZi3> ,^T~Ƙ9ŲWsa!Zˠ3[ o+fE"i-kf/Y> (> M7ǚuϻڊLUQ3.J3l$ڃk2O|f߶O=Jj HPccv̺$xnrlb=ū2[o x+撈9i$Q߫;yqrF41榟kSۋe!b$z "S|x(^9o&n (F}_}M9îX2^m]F.FwɦCQ<*<5 {pkQWo"ɻw%;C{W݄nFl]WC pR(`ߺ4~du9؎ܫ=u)RMw5/\CIIBp#4ұ .Gfk[Ӧ.s/)Д/`0׍/HNS@~ΜO+|.OyAy3$$H5/>0Z.ȝ+*Bd XS0烖^FxzzzCn?RЄϘX|fT.rxYxG%DފMe 2>В'2՗;xCNaЉ; ,"Q*ۦyVWaӷQX'NxLH-|ϐz*`kW #8⾒+wO CM[gQ~}*dX15r?ajt?zܰKqj vj0<T7SgЂ3,/RE4J3\ G:JZM!B>)R&4"D؞~Ţ1q^jgUT+NX=P+?ڈMNC6݋ۣ Mn j Esc7#tTc"wnR!K+^2 bIf' ܦ `Ī|׳?䀇]{ۻfb{H_NiִkA46U~^v7K(>Vқ߷EbsYN1l>mL,-$!ݡVG?AIסjо,&GڸB%򬥜r Ѥ80J?ұci侍DiC_LP0L.Y@裹XǦ O+%yՕ 0uўj~c`Wp2?kvq#\ŊI-/RơLWN%JZno\4D-Nf WP MVʑLCuz '~FQLe), t l3M S52}' ӂGv "4JXV6JaZP%tNêlg  Q =ɸ 1O-U!!`(gk*SmG5}yɅץhR [u 1Ք;aӯ0yf*b#9K 2pӜ^]@OJߐ*ɼ9HfDY|4}3̠q' NX7y$u.9HLΌ-|~Km+aN*I אzаYS#ۢ5Qr"AEcYOB@Yx`ajt]p+hnF6NW*}%V {YT5 Hv6 KcύyPNY$}ܡҍcՙrd>S1dC}`ds]U6-2iiכ3#E=ٲ ; Fˢcat<_q\KVoYHl08!ar{)s0n:VJ#gC4SrĖ1uFYAӄN[Uo姾Ѻ^; {KˣdfexPrXGGVkW}b+cM-\cVmެ8rN*ͽk>zAUdi0nNϒb }Sr.-?N/(ƞHi$=nzoGspID&0g!hP2 P6OR2v2 & _GƼ8pp?uECF7s@g|_]lEkWP!﷯~zx~p` 6f@Xw.5!n#{!GPQ^4NtDʎ(*?e lĩ4]? IJ]|\jn\ <,KF|P1= o&zxB*ĕS +HYi *\0NpWG:!\@߯`.?F84sP ]}<˹g(,ιef9YkpƬdC &AeIjp!{V|\8sE"GbB02rX!c7ybhYH$1#fk!mH3IInغ&ƹ룹`˿DUʞ#wk5##TOڃPyXf"pr:k'ٯ*v.(2$|"/ 2"x 0{=+-LJ>k`N`LuQ4R3V d6;IJ ԗF[ KBeהMDm;HG7{R4B9Bi*BxfJvvUYFS`rKM@;ÄӤ-f7UvZ0\t-\RɡKSO&]i֫G`zf8KviHn/P)[#c>FWXvnN}8f%b,q;)% s)7= %_Ln-^ʗ@GWE+PE jOB\6gpk4clP0"1QW\ݞ"=C7:~pj|i1nF2n<,< |C#ԇ`::)`;HͰlMI=b't|E5e4}qMc߷ëz`j.10WAjR(&;m7Ui{G+at*嗌vQY[";k9w*Dž{>y/!<P "8AxT"X Ylr {ٍEO15UYTM1۝ƼiuoV+.g}oȕ{(;H3',~wee"hU R 2AKbp$?*Xܽ !5$W=TdG*S~uOIVBZU${X۳JR*|@{@ǽ%/caTz؟Ar͂-W։Ep,ԍDkn:R\uR-5+9p˔T 5GF偻ƺxя0- O"[A[dϝ%r(K%o>~S'ꔶ )dsk>HH Xo䊅Ou 9ʇNAcya`ҢG{VwҨ]`S g BWX:"Sc 50#^RҲ[zґnhy򛆀bO Z7T,BoCJ9ssUhD !6{k(T{,ysJfSᮩ,qYv@n68 dԤZw5{L)Q?b>HfPO)pQ_U/]՟?*>C?]`"R 5IxG3U 2}4!ޛvh7W׆F5RboJ#[uCsyIR!XQQ]Zǔg*ՎPC]K-ݢ{bМ!Ůo^7NXP_Ν~f29|)#reBjeziw=şܕ4PAOEL T~ u/ '4`A)C>#o30 L&9r(d"@*i;=WX_OLb1 mXLKC%CC6&PR=/+ma!ExE?חaX^ZrE$FkqYr=#Yz2g&=tpf8+, Y^0Hs9'`kTb8NP !D|wyVMO7&_/m[qR[v zvc=K|pKmڏ" 6{.b8bzAAk`ҵu>%]»2#KWyT&fZ&>gt44[X`i>/ak`6z%NDV*c,Qy%ӌr5c@BըZNwS{KpZ8!aX^~EJT5,g![NTsi/hG=s_m,-F7;)˳P#Y7iJ{/ZS{81MjwSȩowr&??0nO4` .akŠxC;t8k֓EP+/MY@+F@^]D]Bki,j#fs/gU$7|1GeEvlHKY9l6UxW .pFkp@t Ѓ{3S|8zQq_F<!T6XK?ͱ\9 8-\Jes*J\Lja N4$UA9 40=Cu*%j?v\O-&~;,:8~h)Z/'F"H+yr| 4wN0!k.X}YSg70STl:iMVOO@:5Tʌ.0p $!W5 2߼uQOHくe喁N-7No}W HWknpX|<>Xf$DYt+p[l~U2)+cZ;,qBp+*Wry7Z2OzJ]1֗øm($ZK,+zdʪ]p\g˩VzΈ`͠/#ཁW- G45 oatv31 ݏEbץ2N8ny<7ztYawH|I[Ϫڋ0L`KnkmVl|bVߺN zw訣8mˆP3Cr/w0QmoVBX%eəؘ TjR#D'+R䒍˔){ٓ O#҈36dU`c>hI#AuBU#Cso|mġ`x>wx?Qfx`I{34cf:: Iu֒Es*݁qu&7h*CT,WOp)GӕQFCnEvf1,BF4w Mx;VHOs m]'_~=;BҬkGEO!\+mLɅ,R |`*3*,/:nG;n !/|TRBO}R{NV1' Ŷ؄ , qIYGw_T ۥ4Fﹶ3Om@7$R%JCn{Z~xǕ'ؠx$:MߟRb8&/˜3Af1c.>҉'|[r|C^TxjD;tIG>h@'xM=Gkϴd 9Y8_6 :6v 3:al_ѷlpBm5oIs}o| dӓZKAgwPL5!Ŕ=^ySj"-pO4eyKNI(7.F@yd8RxHdV+w[ FM CqF*؝2'w?a+jfH9 Qv,$3?is۪ͤ kDzBBR#GҼy`!zzkRO=B\D@%8 +9V<}Ԍ,nx&ׄ(vvd zZ'P/t=G)]MrJԙo0U7-nMPK(?(6O+zq}7֩ YcFDԹFiQu]=W0v6ݲVW zކK@&9+Vx]z_Yvzm~yBi|C''` {(GC6`.٤&q=/y;i|@Û.+c*9I[Ar@iG*ґ,!kd6ߵGHxx*;!P[}msp6E⺛){y;7zZraԛ Cw'[(?T_na*)?⒣.YB#Y`6dϰwsnoۧ LF+-|)U,{67İM/)S1ܵf yHCaJg#ৡ"1o{DlO/œB)FM!nMW#lZ?/`̐lαRpksA/*XV9Rr!ivw6QڠgE^);xE7`y8a s6Q(&y Җ\Tn#}06̛qu-l\˖ P{,CS#ꎍô\_ oݖp>A S_5- 4v†'w5ܬPJ~v}HN#*%Q&Ws]E'<`7#{O(P==vWՎVIx Σai5NND|.X nEN&kЯ1+ Fwn@){/Sٷ$Z679 `5J6z.ЗTz?އftN _BAlΝzxe5^-H DQ[G[e|1)VmJ{`5fҥ#j06 +$#6QHy4^yyN?V33v!܈:DBS*XKC ޶V臱 h+/ZYa Qw p{f/fO,9FJblls 5G]YA3ʥJgEWRldb/SadeVT"2ib7M[F'5>ϩ7@!NI&?h&;Vr/֠ji?ӎJzl!_2cPU YyC eWg†0(ʿ44 db:i/ V1qq]vl%+#f#EE%30C:6r tW.a87>gv_zqˁ`7K{~^G2MF-Ҭ,eNt_P4IZ,"C#݀2*h^ ,̮-mY~YǡO%%=,EM7xS2^/Q[fCi'wZƤ=&h¶C>xΑM^"'pI*׌/E G0x|Zϲ䝉;-]ZcyN8zH=`GM| >Wqy-T4Dlnq|GsϤ7a|ߺ *("@r9AԮ#<#ߕkP3(i%JbI&|j2l^X XLG-3>`ӂ$&ٮD@:M$)f<=L3`JjPۄi | z.RGet2l |* Nvgbꍊ 12Mӎn׺XW̮7?£?J4&x)7!l8yR m^kmۤp$XEʧ#9@4B nc?kxdyBTIm mNR[dƈ ./c(M.V0FS3Kmپ3$unw8e4XiWN`sWi2IJOWnm}r򋗷麵 /Dwd FU.qnkqvHM0j<-s,5yuLAƲ7i&_n.g}Q~; W O Cѱ"ӖA^v5I|\Q rޤdbQUt\v{~ 5PMy A&cB9_Z )E 'n95ֵ/ZPF;jwqELK4>FQ7w?@< {w 9AB΅yus9Ͳ;ޥZ~e$BǓKM{\H5"s!a-~sB7?M1d0Z@eK-ny2޾m}X1׷5;KGl52{u+h:+`CHC8b&k vxާΜ |_Ͳ@C8kȊ8-#A{C 2zl:eښԟ'*8D&䣸b!:}Qf~攆1&#l#͏pRpkAtihs<kco,nr/X1 O4jH%sl<FIjÜoDL[t1cDd!D.hOO8d":k8 0&ZjKMћ,kFͬWE^\m݈뢑@5>6q?i"=ŬN$dq8=.("0 ܃Nf1(sRIyѣDڟ MGʺ[ tʲ HF]n*!SԐL{z8;FyPyZ`(-~`)@n-\1H$+? 1Dy 15LKޯxZĨ\t0X-nSK6zގv/gVhSdQҰ^C)2,>1O.\fSx Bi8}, hfD<߃p.mBܤ1YP9Ms=]u;}N#J`"8Ã6]>hEhް]?.@;L2 _qGg1J(wB{?$$=vIyqJE&G.l^׀RXZJ[2SHX"1Kx"F-U};g'6]5qcP=p*3 LQtՎR2O#dX,+!fT3uoQj3@۟cucmX,0iKAX\* GSa>ުȫ? u0Hb>c䣄4T{REx $^.@t6~EK/|T`pWUcah*csiʞ?%4DZ,оS8=ze|;IkA^ɋ:s"?)H$׌ON{r},}5 @S dE2q,<{^l%*6ǔ\yu[+`1NξFi"qњG}wQ+ ;23B"3~YIA8Er@8ryhQSRT7≣zj+pzG)%X:<+EB55#?L8%E%c㋡#ƣw];ٛy2&S 9 +HNǖ(/X/a1޿VuY9Y3bZb^8 e߯{-IQֻ fM#IMnZ< h3?;@Fy-mUY@U`"+|A P8C\/ "K%>i1`sA8Y~ĘxB0JiR6,T#H%i0N߳jBlXv|ۅsO ߔ M!>5qݧa^ Ʊ(&cؘ"A/*4|:7Ƽ愝%W`oU *X2^tܛpfhBH,& [AIdXX=xN PǓw13zn>,nI@ DK)Ul|M@`}نUk%)@\&|@).`rsǚ jR=R 2Bσ)!;4ۑ9uhհ]AE ĦWe,Kc I'ybk2=Yrok8ҍ{fWc=):`r[nyVZ,N\M+;9#t}֧CaڥYIJxԟ( q MOjL^tr/M8ܹId{1i0VR)pmB<5NN}NYUN>]%4HY3uB4!B hA!ǬyӑKVe-bRg gg8 &5(Wа Ԧ} eϑG(2@" 0B3}^,[qH#zFM\d?s-]|.-V8j;. ,${ye+c@4/L`zws-?Y  H)C+aOUKS2Ѡf wxߎg5x[eϳ"a'}hYVtIb] !)`Dey0gwWZ?^IY'X{ ;,+A㕁 0twD06ll@H{/~1EEa֕ ưE& }?frEp] #kR:jZx?fxS=8,Cu/r5l M ]oEr=ϩ{vz*(?7^ףw7 ĥ'wds^HbbAe D5cYdIfsκM%*t6k| OW[3Ƥ:Ğ a ,˷V;8*J/=@\^W-g=kz4^hiI1G% ^3orHxT\\3q*t]ڌgmʫ#OFO(Ez1Pbf :ORTW^koK}yь +GɇF:oTypg& X O#/mKT/kNѭŮfd1 ~,!5VH'0tQ`s+`'v<'oϘ`3uM=)z4wqS!']Q~4)?r6' 9⊔lFR΂pi4 B{LB~DX9GBി9ghJ*_խ3 _ -AHx+wVS8BD;ă^[sHx3`]cZ=OX2ǣ8OW&m,aS52%+t-*BcH?^ "UYEmJ#6sOS5s^ j)4\Aֵ~+`4R6Qo'm |3Y'} ?a \`v+ ,Jar|'!LfABqY*ySBxl+uӥLMci1@paQ^{~tMF!^/&Zf. L"\5y﯒=`CHg[!q)_iOGr0ﺑ 8e;mE ۹X"3z\7{S gzζT ,Nl@fJ8Nnw̲63W._pKB*i#6YńPȸZW۟ۋѴE';M1[pu1^U`(*ru4w)`rCnI7;.UWsX/ox, OL_lX0Ӳ^%.`5\Rݓ|UCӳL״\ؚ`Cb|ykS̚LդhfK|Gv4#z|`9zh+Į[#/|VjFͰr}zܝTIٲtp/ nilo)C˙_M :;`P]gspi%",[nC8+?]CQ;_g.=%\ .j!}J;1d͡-ojA8~Q hezi零 ߎ0bWX%a ΧjW(n' z7_hq\Y?C⅑f_ĵkn .hATmOю*nۊ fMFtt5 ݇UH %:WTX^7KTw0G'mm?wsT_&{'ƚf˙ B66_'j-#kbŦT!EgOtMT.JT^dd7ˡ$b@GOi b*.S}vEق7O, ]yhM`{^g9/Ea`b)^ ڋ_$USZص7i``^vవ$]}:5:5 8(Jj14]|sEQb+ק@-NQ@T_в?:2XEn:%d`!rƖ^74d<ߖ8Bk3HNN#lM^sf)S Uڈ(":79`Qh]~2up~ @\ԲRV:$OP2nyw~ ƒ{B ˚E5d2R[pGB+IP >H)&XBқؗed 62ʖέ>^NYY0NjG OݯmN^g^.;NQvܜV0~;v(Kj;+5Js)0]Ndqoَ6ltuQxVY}d1.Nf7HJ*zNۆuF*6a~޸z`mzjf/pszA~SRI rjgQ `]1Q,7%yx'raPɔynUiBRlgm'6vh#K7+:E_{3;b e{7 ӭ70\LK@!pC :[X )bNZ>,fHa{J}*i{,i/IZژb7ƦM-g$jn8y|؆v `㨄צ@?=7[!.uDVs'~d;Zy[%Bg|I, ز5n(`=r>[ÌH>/Dh?dǙ5X-+Z(%)EyM騲mY'G:kN4$;y-@\PKHgt&X,VSn~Fޓ;g g: Qв`L6_uvC*yp=? e]N\i[TʍY #;zQsCo#;_ev$!9d.t|81"NHެuBݙuF' ?} ~e^D-_5uA ^G1mfeld=М\ y<.05i.(mܼXƒ /rȳzW)[9(C_AsB W%WC,n C(pe 5GSyhy}=ŸtqB>C-V8ꪓj!b*"[JUR2> 3M]O~FиŝNr'e{Z^\Ns0/ҍC_L6i+uyލ ^SX臻r9KlAph .68B'JsX*lySWGi!a56u\7ǟUF֢`9z{ ~ٙ3^R;JкL| Vlxܜ"yJ#!N<\| pٺ);ZtER.I!V:M`o}T $in)et}D?CgU'ř\2چ[Sdlv!š39Z Kp&E9ߴ\z 1",TYˋppMq<E[jR.es!MYjWUDej=,,t>X .Tx,ɥȏ}.]۴I=;h1 >CT!5`fvefޫ ȩlR~_-_7j<(K' ! YqnwZ#ݎS4AͪxU,zu.yPOQBGC((1>S>_,Gqb1KbkW4 zG7*7&fvvy6-+Gvg o `ں3Hd5$H5g6AYi'A|F{#K۵5jہ&1l|ي)!GG0Ulޘ= b2S³ j-H4iZVlU*NF#K<3GZlp;e՜( ωn.~~j^u"1D*6"~])>yb?ne ;Y}xd[$.~oDg2] .R(ߴvj)sXƕ4x({{ cדƒfᘑ\b0zY'<YEnQɻS:i.v]7>Wm!4s˭0wtѐ(ӫV 1Ul*;}iljܸ ԠM^;V@(Ӭ`1R#1rD,Q#(].eCW˙yݎ#j>28kb/Cd{.BM\@դ=Nl "/}mH Jq{hE0>u'VP_;>zIŏ'}(ƢG5B^޹)6@EϢ|8-4Nޒ W+sKA Dy5IמO¿[kQtI SKE0|6=ǿwt_(eʐ'+T'b-agD,244g_s5'+?wDwV+'E %v۠C-TEI@rEKq%J}!9~UlBe~f=|ha3W@wxmds֭[O_C`Ϋ"-aǜsCSrkXޗ:G 0ݷ;k`ׇiFFCH319'!mGsiاqKز 3`5n)+ "IjHLa* F@l;)yP" r.S%reլ ,$-]`iξy;o}Am-yC/jH8ohс,,1G +\:P[@RT|&M.`tԷuxdVF#vRtab}2) iX-f1q6-Gw^Kʽ8޷^7%DbpFlcS)Y|^ }B*?2p,$&,(x̶(;+56\aVŦCBPqE㒂0KpD}tiM.s9.E)UI#lT-a{tJ&~*O@tc;1 pqI.M6_e.jő~Ȳ5izR3JC;깒5 ]s -i}-ibD rj=/Ɩ*/9+m7nv䂚g¦1Wqɏ_٥n]l +3>.YLe^)JԊ8 @׸ &ߞs_y qޯzT٭! !>nzLXύG%1| H[)v@&gɢBլO-.圣E{(#_7qIJR *F0d[)Wk#Wr!,&lݩ= [lᭈOM]27 f「B1$Z:zxZ5ȭlQH:,wymɴJVc ʘָF[Cx'b(u)$P3WvENlԮAPVs|tE>g_WRݳye1y+] m-tZ,~9s8YC\q wFkP^lz$c{N EjRe8PO;V⮶`ܚS>6h,߳IPh6XHVb9'"ì[y@@hL}"aNSUڍ#AKxE="#xӛekQCRdfc\vàJm.ͭҩ"rDof#5*g9OAiL(3DZ v_ןKZ!o"䪣ZI n<l)mZ"# '_re$ljZ(GH?/І31Hv ߵJP\-4oN5;PB^RH pωxe:-9NN0yhu5^\0'ѽhJ3J}r&,_*j5Skuh>2,nD"w(Qu%l`Yo 6z( ;Nf XR3@4׌[y <8M::.1&Y;XCmDrL[R [N_'a33Uh1/t<͘UT8D`ƚ `Ō,bnwExGF:RuZFPsHtaQV>}oӶ+A%~LD)*Ҳ$zUD{sA|jD7dg_bzdFYҷG3nк%DR%X5hi٫Z:|dt!Tzsix9K`}u޸-6@3ȆҜ0FV fE 4 pE7_43UIK{ee6pR OOJޓr`[37eU)(iչxWAKku} si@MMţ"i_CUgE1NuݠɘGP-mSm=q:kb+ -Y'K4}0Q~h*S'`F]ߊuT3ҥ sZGYbl늧Upp+Cg TYބ9@3ψЃoZ±`ļHzcX[`fd5^%qwwQ`'@oCT˵%aR|P1r?=k`n |Dlz)5)޳}g6Jp%%kH73_γ>c&*C8.aSܴHk_wTr]cd) p?.TW[u4x&ؤy-+q4vA{LrDuL[G!5MPYh}ó߆$R}c&J ;Ͱa1̏Va>q 6p ( &^zѾx$dWM]J@MҚ.ZYvY!RHsG5Rʾ(5/GCCR= Ms:6m넁MA\)!˙]s2m*;69Iycq= #g}ILhϧq%N"@M+(h]+#_.M n ,0 j]\q}f4'EލQ l[Γ3_lk}'z>5T?< C?FuF2L8Zc\< ?iPlc7M~~_JE?O5!>qƾ| _WPO5pfVaOϒaȨ"xVS:oPa}{ey$|#MVb\*i|0-E΀Q>ř, zH[8}H3qVivPpULGPh U V~er:T )|Gyר֊T`ɌB42٢(AhXވ4C= J"4㦝ނ!˲]mDعlW^9P a56O8g mFϢ.D ktJvoc RXVy\䏋"R8S{WH+q4崤bBwm_ %$-q$r|baHGOc@(Cb8 ,)쮑 yנZFv&A0dW>%nGaۺWw\W`Dy/>ӋŽȜ)xV?BJ`M9 bAmT9HRQC ·Cb&ș<H·ZTB䰉1-dv{׃pdJ 8G"AO%m_ 7l7֢X*?$9PM).ޕڜH*iS=κpp2ր*l8]J.g(,6q-{XҊzl}ycoRp +],C̲7UjGzpM2i'i+<}c scYWw;'u5l6ӭwmZf8͔yS֔cg 9N«xng_ l$AFΠLeYÒ8OZQ  .EFF\/UՌXL מ^l hlU#Vl  ͽ;~I=T]0ؔު p,`B t5qTea<RU`Ey}(Up`H2Ѻuzp g#g-El7a-f mգUcxӣqֆǏY}jtff_sr/ \xɅ:&"I:svp29֏g8lDUTS=#Ên4qH3TuEF'a#0`t )˹찔뻟B6H#Twàn@*g1o>jB,V [x(oh+^iS&:1:yαmcY*9q.C[^]4ݧ!I0ۏ'zr^+[+ؖ:ō4c؆A̐@%@@[ Hn ^*Vmd1^ \[ֻ0>Pֆo @@OG~}0~>^Dzn`D>xhdԗ, c}'CMt{f"zc&ϐ)8?*U_c4) ^'lyWoveDǥ#\M=%*~セ 9&XBk0,T("OY2&Z^otb 2t' nTu`_2& !,;҇h bm5î}3gǗGC-4~S*O~3VqnyirflcxU|>! Q`[ )/` G[LYyҲhl7,*%Υ6)aN ƹaB`2`K:K B}FfcCLF?Cj TFc,pM{ _ BiluEDȰ;P +j~D{v9*@Y|'0<*3SA)1' ֬v,gHhdڨ]mRY Zw;sTs3ޤK⥱^!qUn6o+IImu&v"w_Vh(~p^VP*dlDi;4UW5*UQ VE`H|߅f65>)B=bE؅;mrc z,F$@ éBV/XďlbϸChrqAI8Cgdi3Yoҳ_YO+o)M, E8#Fꑘ.hws5¥||`i9 󟖅|qJyG`*)h>vNul;֬6:X՟8Rt;+R32iucXTǫRtčEf0O wlc(zᲽSiمb/>>ȋ|Xz O،_ųyhF}AvF:(Rlv$pJ77PH Ʒ6=ռJ,hlFA&FO[g9){D쁺*ny#"vs p}-Sq.+os'[/MAtJ OpT2ދXG>Ooȝœr">,U+H';n H#Ԁ ߳}UFgFYs_ ?d't#>c#&6`4.ݽi<bic)>p=ÊHZN0$Ʒ[tWLo )/vP]- E4xA.,w˯EfL/ʑčyY⭒f=1YzS# ^[KDR432MM\H1O'N] Ή14ɤwڿq .ue(z=Ε#C ~Yx޸)uM09 MXl5\b7[J9P Z 59!@'v%0E נr59{2yVO風1 5:e%eV%KN, lnqZbf'q DYwMRnߖkHEVJƃs{do⻸Wk' K+'flU\ @fFioοcB]I &Ft$Q,P$&U5:M5^@>50OIxGcv l )335TR3ʦ{!|k!8AE(&&KLQ$'FD 4M?C?qrA;!Gv d˂'wr-fh|kkr%Qd":[,TOq`wua?\W#}YFڬ2'idQ>)įЋ% Dw%6wRZܸFv":iވn-k"eU*Gҹ'ME^+Mg #@>EQ*d*jEcm=}Rlwi[BB]گ/snRLXߚ[f\I blM?&@ʺRi1Eҏv~?3BCO n^c~&ʆGQA=B'jq+ 2S.Z;ajX^KwMKyAVqy M9촳ur- ɉ)3kp,011}еd{vgP?NOxf;t ًC5;-iw)u~r]n%>0p\2?\>=R> Un}0+UR)Zd\T~{Jgq1]AygƋ =dJe* Z$_smjmC4= DQ3oŘZdPmJoL[BB'v'A&\\2PyMk(sE]2qENVR;ik&'!W)-Ai_ZH|>T l\\P_Zk f!Ms02n=oLG9 ^|9ukIyD$n3GKYѹvy5l^g>YpfgSslQ ;鍼'*X'ܕ5&O9TJEt Ȱ0gNXRJѧI<(#z.g[@V ;w!?)4>:')SQGD@=ڤ ٽ2äbb!"sϐBPfo UIMûLn:. yۖp)K>-Fu2]OR#I?h@iJ'\PNLd +Q>u5+J!"?w&gHg-7;g׊Myi:pHBBUXx%jADe~bP)eee (:9 AisiϏYl&$hkgaN-'.ZztЂSu љs67b.g$8$L:s_'$)U# j-\ŊlhbBMI:0 6 D- YCm"{|hO/:&?쑓Yrh +4;ỳnQS1ֽzؕB z8ԕ  }=h 3ܯ̐VEY?EmK@4"tZzZkAFZpL"9xߗFu<{`,"Dp4 6XGuTag%BL&قچ=@y͹E&7DmbGJ #%ݿSU0K).9$>(!+vSpbAO_!h0)5kōx)ړp tԥq/@g[ՙbcE [^1RJL7Hq)Y5 QŅZM0C5!#_fAOnOr;CKZy -8o)ʱ_dTA"/#Ef=$(7F3QΕ0ARX+(7&-O=h.}?ʀe0 ֑\9vz>2m@??˵.;A ܃`U}2gT힆'gYQT` ^ʶ{w>P3  S71D|zj%Z0m{ja C±dovM xbKVm~^H8W2[UmF O#\^vem']nBuJ 1:mlQC2*ڥVȷjlPIX5S,'ei \@D ?Yɦ ̝O7o2 0At+%L4 7Kο)kH ݭk>h+Y[.6z2KGb0*MP::*I2*aDLw7L#ԉKBLACn1<؛u{%|3a'FZ--\f AP/F"%  zލLHup_wh[D*cf@'][LIT(|-?N\^n \q}ؐOMqd)CfӮI.&ϼyԹj ,^jRHA1P\*ZSfp>6<4裄r(cr`GVzXK+91G;{b7>rOr@L2qcSGE>>ʵ#k5U^6 `5OLE5ŽZXI rͦ2 ;en<.P6ZoLo]`M3W<dr~,Zjag xr kFگ®yV*[91IހFcO^Y)R2sjӻp?$ h'(ZAv* 6urD*fWFd8z46-VTMM/xt407E&/WAu5 Td7sK,2w&ҎKO<-@G7p(ԛtO9>H@ "*UVAHD#;#1M6Lf ns l6gfq̝Tʠ*mDvO՝ v;@ag 'kTkA 5^ES%C-fH^Պ¦=ә Y_Vbj#>*w<140V6J򅜀bWvdIOi-PAfD$,.s>:Z5c{?@>"4@ᤕt"NL& d@靾H3DxY) Ld:x| jHr(imNɅt9hUs|`TdoBkT&<>㎐O([YqI!vzL#FijtF Odp%=%akS9XbN5z{4NiTߢk| )+ jSi 2!_'Nt1lG$d.y3e  ǛT .Ÿn\iD0ZC~#fqCXa $$?Y[ n.-{[1wOw57"sEjйbdWt3l%l[o;#Dmu,ۚ`ps̉HF Mq.&zJWRV 9 F1yk'a0Gy\7 HB =!Ɲ"Җ*ńXz2 VIb)狦 Ԣt=c*N~w'WuX}FK*i?ջw pzO "\\SlT@ճa2#/lZͺd1}r?k,fN)R1ȞGh^VϜws?lt2_+uoui`sBs }7}bBd2‚/Ae<|(yKNKk<  BF;Q_L R2u;Hi~DOdlH!e~^nʤER=Lg^B2bKw{z* G{>KZ2%| yPX[UmsKЏ!כa?^ai$`~Kǭ]㺊PuxI.Sw ?&Ihڝ_~av+.9amR䖰&Ɖ%zˢ(erۿN-[M QWJO_E6}nNHv8#r⋹ F/ým #5Y_3ge3Vc:yB;6uQAfv uNmJq3+FV!}M 5lRDPaə BʮV@_]8hgb5/7J.OchTvu[>2R})ljۡR;hN8TzJWRm]D5H:$mL.rCj^KzxqS][r՚Os? YbLZ0+^,s| ,-"8@RƼ-裏tHٕ$g[eyLA~!UQսb>ɺБVOta(-5h,˚w s׿X$ C~ \e╲޶;.ic.hly.9jBj-aF*8+ق I}K]x[vb{//-GD 9 h#X'Rsa^k| otfemc/]-`6kVȐjU n4ښ[}B.'ݘS _=TߜSfE> x.fW on\֞3ڌdhxpȊY$^A BAφc ESG˕#TVJ?)ыL0ؠw1kd/\lw3\4}Ɯ!գ}:*a[xn6$H8nՀ[:]3Pwch ybCm h!k2Q)S~A2>n鲗r *$9z%` '8p;ĵ4I~JkşBH~w&[|z91ᕅȤID0">ظSF@55T~`X/f܎^r+ p؟ꂣ0{ =9MDz $bXˢR(i|@k(-E`v)\ bz$2:=KV>a㌦֫0e^߭Q#s$`RO7f`5fmA~;bdӷVMwC=N\&U]Ӽxh'3Tؚ%*7ҭdSZaKɐS]0ش3DT?3ζꖡxȱ+F* {;k80r$DK6[>ݏY (ׯqRǾm4o{؀nvE0*14*yX&K|Ed^ v5{Aҩb,-5Ls`g D<[\reWo?6^*o4giZdH Z,PGYFRV~=_fehG @Kݩ6QD/ײb 8ܯYϴqWʷ>(Ig8% !!heVg;(@ጁA+J{0L8 7& sfC64 \-~ŁݖCJC:}xMC+ο0QysU`^%Ώ3r=R$KF#V+;̩Kiu(ٍ5d2zOiP"Ёvpحck.# 2S\7O^)Xb6_PUZ@ۼi+DW{Bu:% pq1rd:"8D:UӖ] pf*5qؖkKM<)GT~Z@#2Xs\{qi}v.cZ5*}!1 II@Dt:gf +@i$5G)P׺(Mx)la0htD e"W|1qR[q@]2hٛwRZ{ SBq+ev*+>C""`k?q7Yu'z%M@HMcRtJIĖ~Re oDo7sTY|,iY. lzBK /`s!^8|^kS1nu&ᖘŐE}xέPK̈ P&|d΍F+]SN2ȌVcӀ%ご eDF/\դ֧X_}(!xY^L]QtŸ%ř6GpqQػLJ8&߾֢ IHo,] k^KwC.P?B}iްZ4lQROlW\6oU 075%ߔXCϐeg>Du&,Et:]hyCһfZY6 n1(kya2,fC^^wuHÎCW,5YP!{<6UlXm>811z ̌@,~$]RPmNFhx_HAOV3GRprON48Tc>V~ {8So'+9Ux+AQkrU<:qDzx!!s^}3-w/SrHWk3ݞp}A&{t2Aeh7zX}97ErH}"te6g3_}Q|OW˺c8MZ@妮 /VT_ 击a`^Z L j 󜁆r 9Pź>t+W! 6WISb.kOvtM&*yAH =]Q{`x'"XTհ(@~擯]afrARʐslelɷuLwP8h7UW'"Њ{`y{H&k949ؖc,@%G&c7gXbKcQ,s Eiq!|=iʶi4dM"a.>Z5 (B~^v  4L 66Ʃ >#?^ 0 ЩT}\b(7Q{Jk J#QsVy274=~ {%$9ݦ 3ⷂ:6* Lg&a<;P?ԑ'6)Pυt>2 ՍTxQ ?po|덡uJ*QF)̆}7O˧mf[1tW&U6=݈`Չǐ'y،olBR͕N5!JYbXˤ'E~@S't[ĎYk0+UfsS5\S yCLaO!ԙ]hkIi%qyT{nwх(LՐm؛b!vl~/G:h^@q} gS;]_+֮)\N"Ex/ g'V ڵvZee\͠"F`%'?Wrs@সtOGՖKvȨ5׳`WE_fꊒG("8,g4{biBF b6 M1^C<L}k[ľ~o5qFh%Ŗb*Os;oV (yd֝2$43~Z.և_;4܌[}1F*zoEY5۵kW\.Kb]z ȨW64#46fVkzU*{{U[f#;:[3a4ge:uJ%S#WTb*~JlA7#V*kcʧ20y/5y޺j#" @{o^;TcA#xkwca}PtP#7MCN Xi G8Qq+10Epl@6&׬Vi)9Y%,5+: 5 P)\Wk>4~^v/>yS.`;wz 3s?Ŷf<l@}٢b LQ۾&Fd>S}YT*5iV4ůOsd.]J8sKӈz r3#֫OѫrƒG VX]v1UBFԸtyyHV&a!bd?#Rz8x4+k3**DT} ؒCn ~;\I/~y9ԯې$R _NUc'CS%/~/5[{BOW@K7b;A +$sz~\߫9z\ #7 CCưcΒH$4o|U:i.E%2 ,ߥf)% *ԆB)%^,D+VU9DWv*qpU \F!^VtZOλ>scIJT^1U嗳 9ֹ'nJ #xsk7 a#;9`%oWncY:Hp])E&#_fh& ϗZ4-zSc~*B>gtKCh9t $TYIlFD@޶8B@uJUD=z m kr( 0sz^A/_B B㹶`NbPztYKӾNlJ)@Umy\: ;~n_D~ j&6N=/0A }t;Mc掆6g9qi%=$~Da^7BpMhl&WE:☢D_~RWy9 LCs˰t5X0ȅˠgFC>"W>,,`cYzuKFΕ>7ݯO~GHN֚WO1oCK6 MAG sgu$`(^pXyVljfQVCRH7,Rc)я8J۔WlfvyzNmOT z)8/jڜ*/wC=s#D?͌\NDkQ`~3iwqOF ˢ˛&#|O`CBVnW^lM"`o|`|hބ<~:OSbcKgR\+k ǽuLn B ^t3;Y$3H:2r8O s @F[ϓ͒>%,XmĎ1~6s`;wbEpAG]ڈB5)e!#]v.խ(쬧|(4&l j\N[XZ6tf{ayx>AԞ(khL ]Z{^/RC9Z& b԰ğjz@^ZEm_k6b Vݭ* : T=5ʯW\>>M:Mh8SsܓD,"* ;Fp'_@S Z' ϕ,_2ب|[Y8F裾c=xSw<]|˜[TaR'堙Nr}P/&V v9OS@U%کLH۰,iԞY_ut~/Y8՘M9|owa.w[^htP.|nߣ7(kF7Kt72DDG3 O'gٜsFS? ɩ]V  D,߼m⮘W*#Z67JLS]FwU]%/? ]v>X&%H]>{lCh {xȏU\47eAƂWK %9IԸ-a֥Fayel5 *(엫u>أL:lB)nOY IUtG⢾>Rn zn )1kWE1yתAAa"ٱo7!K~ $9zFs$%|Nz+Ƿ Vxs-5v,Ȋ< ba:sEKF:Cuj-I섉ފ&.B;a\ lMa:##e @ D[JL$,T(w儤R" 0C?.=J7ݐ^t̂P۠e%Љ 41Pӎ7R\sʘ^q*caܟȩ[UgG*B0hv`4npGZfX#Li.!O!>؋},SgkT0v .ngl'vd-?T3ۋ@o(HaxUBnHbXi`H'/} aRnr#O^/YG:_OS 6[ot*^朘@eޑ+3|ѣ}'n=0Bwm/Xހ$hS,wN{L zMkcf=n\@~9K`.Ƴ$?V nddcy]fs]Z -Ң}EDZB}0Yg 34"iev3O]>D(맞%V~6 oYBw 'h%;CP)<1ЧT<7+VUHUm^2Xdc3kj|>!(5ӴI}yu3_q1k,?Oz{n"ҝÁw~s4^1&zW^Eɛ/ 32۸FowfkEތy٥I W'yߪ|{f;"*E t Ϻ' esHJxS*2l²W% l H>𓋩=UW0:"#ٍ2ۄto S~'Ub-72C>\lZXfѼSqf7zF `sۜNXz 5zsVmAuM?+cdWh<\ l]黟ϔG3B+o_>!>ttGjV@4qI/Ylk!xQb?\m?d6*[Ϝӵ>y ^!b z3p](,}읁}oؤHGGU]/vLZ,RrZ>ܱͧb(KўpbHq.[ 8ch&_rAP'՛U83c?D 6v-NNlwL"()e0$,L|Dkl |$(1rWt.PHmOymNgQf^FrHVZ#l=FL>F 摶:#a3*;"[,ʽo|9JNj\2lTO<ؔ^o Z~Nhܹ3n/D Uw/k-X!#IHl\e)LGF\z*AdOm˕[ P"f]|t=yL+= ێ.A9RIR< xfV>-|&d~^w%+t1jDŽv9<:[AW[{ 3?y/(ɐcP^WkX Xݚ?Pƺfz*:hW uC{ ˣSW0)%KGTS~|%d; Cc \_i>>0?9$N#$+p6k#2Ѩ"*0,ƚqTr% ^X3^df]w /}W0o/&鷎e>HiZKskV8 fDMN- heZv@#e`duWL;hGik(|^$='5N>R7'K(0gWPXeLFiB M!f/O@+sGFPeLᤪ9OѿwD񍽲?|N7Bʦwߔ0߯ Fg1õ!w/w?k&pX2L^Vhc,Uo\6jt;xM6g-43P1D5'H I4eLNaΟ- 7n$.,`D 慼^2x?M娄kTX /1غNay0HN篯&îdu@ IVNQ^х ߢت_0Ii;w&V@_⏴J@@xLd i4jA?U*g`Wjv? еc36dq26E$&B}p8da <ҦX.k4տ\K`V-I;]ɾO6E4iv)?7SxY`t9B!4@j@Fۅ.; lvyLD`1#*bщ.p,8bOhDTGjo;C&תdK=݂R[Ej-j U#ei%>MÔ[K4Gok: F2Qd@SI 4$a0h8@$\w|~bc`^%n{g W- F1klsȣR$`XUT7LN?Jz綑l:~ląYY<{cVsT(xvAӹ_C.9d#Ҽ&1Xv"iݞ:@σI=cų;S9{~'+d[q ]"a̞kZZ^|U w.B~J) ,l;[C6/M3ᴚ5CV`B=rd$+~m#`|wfωDrq)F8nzH?V"ֺvuڈpǃsȼf2Ä ac_s݂݅BL'4ysѧ4kͿB>oyMz8rw#E'ڸxN9cҲ =_%/ir},D!嵧cbeʽ؁Շǜ}*86x]a"5>wLxh,K]GK Eq/Iuyhr;Pn*OF ׽WZ-eؠcdު=ETxU=t*T5=ֆi 2dw҅s̄SKTZsxnM/}%~>S_ܕ}Q0mk>EK\H&ٍM֚%I "pHb4 D `e'jS?L&bs(VTaJ@ BOC9"Rph*Å=p{"=ON$n6U8(E0qInT^k1K#.UF':2#NE<Ŋf^u :2AHZV=]Kw¼Cfig5:k앱;bZo,W' kB~VB Ik[!ԣ~pC8=w"r;UK,`Fro#?-ߔf;iz{ ``ʷIa:ӌ-B(BpIfဍq^]gӦ/u?j:Xɧ3-# '4=K/D{);*ԘU5 T`\ۅ'*1/pzoJ]ZլH*``;YjrECѭZpp/W{kʗg(^F|}bȨC2aq7-;n8=KtԗZp|)A&l@RhPTJJ=$8 RnYx۽ס??V&dh 8b_j}HWsНZ <;Vy^hH:2--shG'h-!/PV<_8ȼrC`$<.cW宙e7s35A|3T?֝}rwR;YDX,ꂜS= v[BU;L+75B'zl)IS,P=#7VXk'lNʵk.k5Le׉S4&1սd^7UaG|pX*g8t!-Q>~C?{GJYnoS3 v1p5|2G0~!V8-S }&E$qڪH!Y`?..TD=.RN`w>:Œ'v(RN/zpw;U2b]x ?;A eTO#~!ih ֭ y084lF jw;$ 1顃5?0kī&x Hvg'7^I1Y^o$vG3a]l<ENFH&}Ŏ!n d󠉀#UmZ˸^BL~ };,lK&|1OJ6@3M=d)5vFe"zhZڎԿ|Qa M ^#01TcV [ۡn5qF% YC ?5&/Yb%Fwon5WO9IGB]&F):-61#^>(u K~JELC,\GB*ɼ-%,,w^F`dIow5 KUF߱ŀ ݍsw4cjAHÄ=mҼ25Ö&):6-Bf"|{f3QFVƭmvٝebјQ͜ xuv~YWzHE4ubYjL|&3!{3)/b6u˜R K Xlc67Oz "Z[3Yr}DD6!/T!?kC'g,~߸7n-Z;V߾p(AeѬkRÐ^uRj 9g2{_GLا)+ha;hVE},yc}t%`_m 'ajUV}8c}CNW幩*!VM sȍD珿l:{Ԯ /'w/qnyX!ޜ<~.p/;p!x֤*[[[% x"8\Bm^0HE_:Q]5U)݅@ &:[6GօUn“%26,ސޯ] N۶["k c><_\b1G2Sb|{ }ۦ`)Tgp&*a ]V8 Գ/!-A6>.޵dim ;zN 9l,Կ(;;WG2WY,-<:lg.qӈ!6$$]y2tVYF`KZ sz0"ئ~+GkrJBBb IUI-sO&D4p3KYS"[z9StU% >']Bf&K ] ?$sÃK\㛆LUe}8Dzo"!)Өԃ˫'`YWO?_ߎ6Ee {+7zj*CbnդQz`OMڥbZ|$7FW5߀(,b\[Yg&|6T3.y$+9E5]]G-mATz~jd2V\AU%w|rdjB+1YfWl@<%)y&9 ō&N;V* ӒS'EMx@Xlµ_-uY۫Vhb$Ą< ݘ5b?L'35 o,SwfG01m +~pRuyhe#TjMTSBՅf2frqhFNQ( )kNh5RQаq3| 9дhc޾o1U\S& 4H m>vqa)c&u~,_3\ Gd$"!| ^d4xBKi9-8}N0ī*'kkU+z1Ez}=ʯ =64TybVMnTepB EՇԊHߣ+ufʤAVlf }i=xV_&xCiSѽGe(4^Vk{ajG;ycxU F jAM:2V(~1#2^Ʌi@´1 1'IԼ4 K/͑HC(X(Z̕Yz&%r1wנO~ ^y._U(gvEPoq% 9{!$:?+,z|1PIBAZ‘^Dż~57grS[>;KzFs] , lv[2)[zF IݭtT9lU>!7Os1b'rt|#9״`NBPIn+g<{;\J㫣J_F7Q=AvW,m<Kc!PhqjP(<(pˉahX0%E+Cz:nuwuNT-`(ew NSUߣ4$J jDg`=4( f30xH%K&#tˆ$IK#t,S9+*|VocD%7؅;BI~L4pq.Vykׄl _[>HNV1*}fjskN=.7ߔĎ3OW>3,+MMe۞C)9 y)*>˜bFL*q9vlP ^e+qJ;s Pq;1x_JvD KYN ܖI8d ͅwү;k8}xOr_>\9 u[0m=j^,$L@wH'tlE;ԪNOˁo>I}bN֌gpm g0ZC3 )24"?fI=lg'=3ЅJ %#wԽ>+^g%7XOH \^N)>QCZY NNs[ ȩ0sG~dprsMyͶkGuߎv1h 8eDN y1Dʓn 񗤐,t9;^)as^퐋?*R ȍV :PֲD֒}K\MUǕlBOkꩤ:=t}bܬ6OB5.N$&/pR',8o9a Pyuj(Dd /+BP<&SNE\lB>kVUNW0n, (eA T[wPwg~x;T4?A?XЮwXB<[yk\h:c?fb̎b5F)J*Y3#:)} G'nİ+%N%zטHO8n Ш?Z{Xd |VwMҠ'mW@)A}>(Yj.)IDTh JA#ٮEs;9O7}Aiyy۴!FX1+^>Fp)5 4&BO<=v*8\@UYp%Tp .ܤi| }4zpME}ۼߣђRI婯[|2O/JwDřk-Hu$L&wq I`D /:{b6BAll@6%Su/俹$ V*)2;rviLJCrV2B9{\@W  ۷GʧAA]+~t4-R LJ#=ya08ؙFU,RNK EOj8FL_|RW߳z ]z%ڢvɁ3'aYkKlZFj 3X1hYܻ6xHkaķW1$?Ź7g(o5O7A!,lN`m^^pa~QG|Mz=#nomN3%Zv%)-(]ZݻGɾz,R6W33gaWMb3OD PّԺ^Е7ۓ({ ^p+ 7 #bw ~ xw2 /ÁdlDrl \uٿͩ(eecEE]5<5R MW 3[6yH/TMEwԅHLD<ͧLh;#"rP]ۤiyi@O$^R, \OI$9*ULuU~n!ϏFd;w 3;a4!5b2?}Xm YG| ԃa$NEdu[P f]dتe轇. ypdT6bv/l¾. wcјZ?3W+M],H^}SXPQxoDu"*;t|$FS)1M63>?M:arחߊbi*P̣nF>7C5F@t3F)TCi2oeîM1vm!s!@+Ui!#!y& fzW`(ӎ5|m8ʽt$l+yۆL;{;Zo䩟%ST@8->g]Y p^0ˈrhWF{9MI^&hHѫ"bb1Bm{eQwGҵb-ب@:+KAOS쩏UN(?0 ġGHTc}ߜ(b&7s6Bڃ Gxq0<bSLȻS|Et˂:J ш 7t %-(-s}C]:v/=tb0QkrƫoTs.=8YhfI=<<(y k~P̑ wrbU9Stk6e/sǛ2oasqE  /2 8wE<P;<κ((Z[?~MaţRҫs婑(t ƥz-':%PieeM:9Z@Ufb%'0\xY`&x8KPxJO}ȍ)/އ+aa_'gD<ѐkRV 1Gx-mj?0T' {eOWgf·8f7;- w\U:͒q۫~B_""&1(uێsW*r+*SB}`]""1eEѵ߫RC*9D\'?)N!1yy\CsvN9(0ɕ-ZȮ j{rD{#LhC⁂^;y˗>\]i)^M6s8/i\=L+ oFdyhFI/S F>Sk`mwlê6󴍨OJgK& 뀉-s i2G#͊C'fsOX*)ヴ 1~us)W#oM+I+  tgOyA8XbCٟ0YAmN'H*On 덜^U҅rgHz,;ґk!9Gߑ/9q`o[A9;p%1kZ YfE}~waG'Td[9 =C8k.i,؍DPzo}ř|U|I^SXh]Fm d( 5');-:gj^@QbD}FM:TiʁLѲrqZgD {ʾ uͧo4QHFlb7 \siarOg$=]^W R q64Lp'P=^>8;9P^a9料tUf_O<~9s^F3ʫHT>8~Nssxش5|ڬd4;QG9xgI~료!N5ɩpY o,tP!^2TwF+1'"}{Ds0a p|̤͉3쿍<[2 _@8N'(^[4Ma'm7eZGY|8$py^鵭LǺqS,ɪPp, X;%AyAaH__vb 'c$ˍG^?})6f0.=h"&o[v'~,)GW#]/`XKKHCԻq8jR -KbRx=$e{9oMӕiI&\gHb2ui)~Q`YO(c.ZLTm~ҁ:z Gps[91;[dl5B[nάz:OFY&ЕݝA +oY}p *(N ZbtEs$ǽ0Cܻ݇uD.jcIߡG|L5S#ěrq~->;s8aN @GI\(%p~H[~u齡۶;VUu?X{'Z#vV(lz ,VG_=T[ɗ>umED7sl@m>"RFdQAltyFGHt~;ڈKKW<0Kt+"Ew%ha ^Z- 1ףX]~fKQ}?K^Zk$h7f9OGy\H.}G:tH0r@< Q}~T{:&Wݤ>v[ܼd8!IW 1V~Ktbր~ۖ>hV^;4!F.ZyD E`<]U!C^{d9S\74q̙o͊nH<7"`X(caLl ƳwbMmTBɺ;B wF ,Q_k{1ɱ9(:mn\gkgoj9|g; 4={+1;M܆$ BZm_|Ϥ~Uiڵ ʆ[lFe.Ngu7w#;7E>kR>ޚ7x<'}>=~ud; ­@9ܒiĎE !D 8ΩVR̠-\iȜPJHo6VB9磬yQspAf?09uh7tojw6c)/MHެ0|g 7XFa6G \ʮK<$>Vhwwt{KUY^gf5}(!DSԽaYVdjPwy6&ʂ;S1= 2Ri4+]hIz:XK-M ">[=Qwl{Zwܫ^niH9 F:3SY#cS)d >kQdþ(죄^8{ʹK8D>=Nj {Jwn[k?4QA- =A'G?WeY$j&ru>T(HVG'rj3!E} 2 @%uFG9 47 jd[`j)v3&m;<]zk#`35+醹B72| AS Nˣt[_`vȯG5L{ a}OKESN<<61hDoF /?G`Uzqg"K] 8 ֆZ$K`ۉP(.?,L H Jč8EeYy̋hq&n50E9P_@EwI#hVGڤ> RfaQVT瑍_K cE2m{\=^kZ|Sz&ܸk&iNn4(:la~. p}yЯQIՕ*Uk$N Ew?4+<\Q2K(9;Z(ti! qpE-b|VHT2UZ I4XܡCd,Z] 8-'E)\_T ,%Kˌ:.궅g<.97ނZ9lJ_7!t=Ci3' 1LVL-\Oj/c||/`yrXbbd.gq^/l)sFm0Z}W2j^Ie>4zݝEiб#G-YىhzOWn梹H:ؼ|~ D}fv2F-+_'2Uc_Y/y$s/,@ =Q*Zuj">I# k> Wգ7@4by89[+Q͂g5# < p&.d*˒!ޅ]fc{@kfBIq!t'SEs[%t*8SQ Q-]ļB <|{ Ҝ},q%=:0x QȪ=rvd#Pnȳ|2ϐ@[pG8_RAjf&8kh,3guiS pׯM|jNiŨ Jhn*z%y¤'Bo+Vӱ9~=AJwi{n{} 2j&. XiymJa [2=zl7ccc;K?c#6K-K+K{qqlS. vP\5Vӗ؆Mwf#?~?\-9C"tk\&9g_HF`| oҚj:hŰlA4^ʷLJfjlтkm:vdIJ۲جt<9D 2_XI7EMPPݶF-̼>'RZ̔l1gI\0.3W[7d\*-c13Bg[SE(p<w5򊠻fӎC%M<&ᱛ}mҍHR .E󘯍!U.] >%54fqTE5aS|XŁv:L ծ!*mskGD5]i20&:l ڦ3&qIީdPl71{ t84S}!cj;cnN_PtC!FK'őS(3<֥h۰?(y5khĊpG1xjAb >؎dZ7wߺ5Zv H3a"stGkid;Zr?$ڮa}Y4{c#FJǜ4,OlxYKj+B~8eM@4~|!xRZJ'{QqtmEpS-Y4HmWL^Ls'R炅hE)qXγA`ɀZF_K^}6^sIo )~r<هFzFlX氵oQ,KTWѻzZG3+W'9!>/3mFvO? Vp$B j!<8nMuB2ޕzQ1RQQ̱li :Dowq '.0@KL h l/ jYMzg32{ >¤><5EY 1FTxV,0E;DRQe\q2qi R)jS.Y4i476)K>8m=9'}+'Z|#>~lRk3R V,ԙ<*D/SRη 鼂[,Ƴ#| L;$ajBn +PDf LCJψ侟:sQ#eq;X=+ 468'/Tg-0,W "\K)R`& _xep _Sؐe|hXE&`e`tm }Z-s򪭆[5O$m(75@dۣg~Ma]Ayr>RDnV5 M L4/;UR$d#lyi:;YEIowoD`g\oY;;8: r3N7iڏFсO;ldm 'wwQ6;dN-!1FŮ_\iL & ňCZ|1UUN`^̇/nYl[E`'I4riO[k,S93m_%_f'%q*e_;ENjɲk8_%ۚI2үYQG _lB#YU].TH Ţ}|$a21I#d~(p$\M3Hվb zkċ4nw}!Qa'ngh ,`i~W1`An5U09Vֵ_;,`&Wǔij;زt.(C6- /3`ΰމ!Ӫ#`'3l>9Z֥&L=Wwp&'7#;Xyhk7v!hww̑ww#΁qH)C KR7oS&)(^5^ܔmۙR.N7c{1 hMiÐ&>]V*ޏ_b J[ 4F`>kv_Q.2if-HWmp;BQse [ib B2@b0Kf|I@o;9_)[fHRWuj2!Q=Hg%/迨D{Z槤Z$QG*نr_u J8>fܵcZT&Yua}C1A?9 UB^kQOBƯbTɾx5IGDmf/vp7ؽċ^:k9wl`VoaOrŮ쿮!T asP(g\i1oaYJ: 2$:*h G97EA?|A=-Z4\Y+C6_n(qx bS2IE# 6JlZ|s[6q[Tq'u:&@L+mc4cϋ׎UZ79\\*JˡϞWퟒ=-ِzhB.EHD!1fBjs**(Mfg6! 篻8nKl<[H~BH3$)|gK3X?lA~H@iJ<dž$ty}so}p*OT+#[5 YUԫ`+ks^oJOX-*Q^="%ϴWi c4v-G@r\Ev ozS64 _X9LvyFݍa#_`!5 ٗ W "m#:7Y^4W)jx5T)ˀ7?gQu SXWM$~]SR4v1I,8an"sqB/~ܴMkj9g/ J;Q͡k ڢ 4آW7^v{X_[,@75T-1ϋ&Xnzb_~hp!a))/bBJ=ok8 5i*CkDEtycA`K_\Zsy4k~ZߧGt?k6 [М;U63ɈlskE \WlҗHzRbtatkv㯐f,UQ=~vN0l ԙ:;TYBIΞʮ ^uC@3Rp,"eeAX.\l՗Sf{#]b w"\s(E-m*7 ecjj+dAWެQ8o#eٴ.}MXPglicƏa~mO8@oA%_SuY8g؎|=$svҭn{pV])+"h%%UY $Zj׳ŗX=FDx0R ~?X|aX)SB;)P1^P׊[Y{tNj$EHJf'TdSɥ\'[ܚ%(VC^NB鄫+UѤ>U^eUElE$`'<\ܑw`} 8l!Q\MXnEp.8?pÑ*e':mv lWHY,XJ0IUH>WƠrOtfAOaڠO ba,m.Qիsա~̓5]9"ΘgKeF9P,1ɉ,E܄qb`~:V6ҿ8!%r& 73;S=E-؞9FHu &2$Xj)}MXPn`0K3#S`$[h2笝 _e [t?:3ixg{O9OL>ryʓϠd_#ZΧ0Snƒk=4f7im\2|( nx10tj zLsi  Jם%abm!}#K.z}:Wtә@5o._QKs=|`u]83?_|7+&{\. qv RM/6υx8YlC3f^:Bϣ˘{xGKlQ2AwEf0^)]`/'\l .Pz/ i|0;eݳ"}x!~ f8y89xKʊ\g.:R/GrMakt+= a~${˻ QRb [4\3H uQoufCf9c\żY]x{3O+Vʽ悪VGS+J[%xcF9\={^ F& #L @j0EnrҨJdab7Tze,^zLjO%N'6BȦkY.asSp3_c ǹd.MNNvc)}K 17|GazD&" a{\_]32 |¢y$ ܒDVb8ɳ{=i^>gA<;O !K +ǖ<4f*;ҁ6Xr0yiRu\ V`faZguT8ig}cާR{k>Q["šcpƶK)Xɍ"н|HOٯ8-A(+G2V_)$q?4$w.ªđ9w*15Ue.~vV|#u/%h/ש6`0W~̱"HcXi祌5I5,3\V{#~2cmBC7#=LvP*!0. (;|`فto׏n?(㷕15x: jߔ@,u|Ž(/i24RRyO,<'j7ls㶢byz<0GӌARtiXݹ lXx=apDhl^Hr5$Q{^kAgl}fOxOdY_ojS~Q~cw ?B\}!B[jKy) Yߤ ';>JyQac! r~cyi)jryǹ2LX~Ԯ{<~^ؔX֊v\]`x-~m~%P2iv):kU@~φXw T+osZ?0)3~W<"{ t]@ai4׺HqbkW/ܿG^~i[n-1CUK'̛}? L8^+Ъ;CRV]xs,7E]PfTDYp_} @T f+Ȇp0eV竿")r͸=s0\& `*,@cWTa[Q] }H`4O(T5>u0 -Y5i_4aQ'ý2}?)5 Ӑ Uq:s ^iKA-X댾RCN<0 l<$5٥߯Vx2yCK$&}az~%[Wn3*]NO,j;$jZRˏ^i2zz$S o$R>gVǵ7V{o{JNz+# bTRD˼:w"~ƫu9(9>hK3ԸͨxDú4*&86Nr +-_{(Oiey##t'_fF(t@|Hn>߼Pn-ɹ6TS2n(9PMӁ0< ;H{%k%TiOH> yD8Bw+ j$T"gN̋d~&n׆vg1]TW(gR~lj [b\fAk2,z`g >\C("Ҙ4R!6_Dψρޏ9' g3L,F746_sq br瑓ʹmQ/!S0Jv)W]pMzK>I;4CPZ't2Tx82 PJCTZt(S Vwcf؉íe f%0X][> GĆ;wo2<ք&+cvs- %qHq30n/H8-(kńTס5H ;lB,N"^ Fq>h` #P_ NNḰT'HsALW/{|GX/:qBv $VY*SCSޣ"sOf,9!ICflpIVʩ*c*6_$~񍗳 V%cfJ(fD9ĺ:uZi!# Ȝ?hݎ8nK_kM\a ӬrD#\B,'w |D@Ƽ>T:P)|ZphDAeN`{Qȸ+hIN sR3+ O-_AH⛄iBil ]LFWvt%ț8&j2+z]J tyLUɑ,鶶ˋ=0֎&U9kO@vS[,B#y9vfͺ`}z9eFM'=x (WgK Fo_w:R@OYq 8o?|vV8[ɒy15-o@eCnd6 evVoHcfۿj@3#>QOҨ"Ws=>7Igl,?UOh)Iv;ѣA/sRb6 M͆ 9$p7or7p!|?'Hx-Auf1SOq6&r C r2񱴱hB}&W[kzSUr(bsu[ˠL.xJQ[ fy1uv OMeݔ~c~=_{$ߪV x(B3"wԧL+c٣T32 <%fcvs'-3LHժTkCgF;w2<%/ m}f);V-;Y/.Y*%ɌvZD6`w *;H$OZ EV*`wyZd|mC ͏S l'/"E5݇ s,3o;#% 9.W8xw)&8ni#s.+L#\O$zʏG.WeGn̞wز /JZ@+u"8浗[ֹ4Wg*;8x*&o(nM8=pgOt+UɇK@qf!0ׯ-G'ojkwCfGVe$^IŴj\ =Oh*J!sԷ;p:X[7 =Wa}Pq34,/[:h&sBcY}*g]\D%R3Rz8U ,[ Z˟(]_Y/SyE4\\j Ңͱ~Q~T9OĖp_-KVFg1;o|_UR}}~9%yLm[ Z v*VnzBH Gxeԍ)9W]cFMuQ R%Y6<h`Hѭ8s˘/>OhԴ`Дk$`[H4SH+9zKfDoG63癅o:Vf3콕d暺Xmcَ6o TUlXLZ֌1祯I,[Vx{ߴ)x 4>I[@`gRmukMė2 IaMwi8:B/\-Lg/}P cT؟k/( rXDv`%3ru͸WGq;_XUVzȦ?7~vrHϸn˳DjRS7@ߍs}&!mJc˕ʔ?B=!tt5>{B_W.y=kc8,aOѺůak6)m`3^HͪnuDx! N.j,kt`_U*qx4T~6Wݓ;rcNv['g R5z~t"=-;ZB概v+%UѣVh AeVD, 5ǰ+ۆkpZ{vv9!DԥP`ۨxEPf&gQ{~KѬ%K&%߲XH)t0ʛH[0JgԏCJN Pe렃Z(Ou` TyWQAGJV]2 ij@٤PVl9W]M  ky*ĺGS _e Dqzv'[ОWG:[/SFM!戒6zW[gX"1I &7Ǽ^j |)&}1L&P`kmQPY6M,x9fnÕy?ۋQI%=)pb>0:v< HVkH Y1sue-i=SzL0uqe#.ŽR7:DK^ 9.? Nzϑx QmRrk|]|f.FW<1Pc1Q{"roa3w}%(tbdx9i&Lęzk}J k rKGn$ W-+HTa[dڡ"̾3iE>GC$ hrQم\͈45Ye!y`gZ+B:u ͛D9n:=K)D*g03h ZyVdboM@("Ág﯐{/Bu.`5%txr/RqB}[/*HE,Jo\h9ڙjmvZQ\GV|k]O9qcGT?oiᏚnyZ C*4v65bi[8ľK Z=L!mv/^/7 PL>-S"cw?Ȫ(q_P&k_R&r|̭.ZIכ2CO ,!n+*찉tsHch`ޗ"5-!%{4?E_J6ȑ 5ˆ]^7>`+KSp 0w3.|F??u'0VOş cװ)Ht0FOV$ڴu?Ts43KYP%>ԍ0r ӫ{6t84VM-h},h~A*Z}h0; 5R+y.Un0Ŗb g.:|u5ۑZgHph]=U3/M|2e +pqڴ"{۹֊mxTOp浅QLM%y*~f9Ct)'v1.@$ն@qEr,lf3bsxx\-T١ Үo6>g0p?^\/H?r&&5҆HGotc;V˞# QVn.F0ڲ`Ј" ohd 5Ft7X>|<.3 P&؛Xnah$ȈDg"X䛠KA:WAR;9^#ήfe-pzlg⭇r b†BzA5< EGܵZ\f͝.WʥMG=MAI6jJxtUԅ #&wHfZ~|6 C*.>m3__&\h,eB?$YJ 0]mJvCSWAjU0}%˼ȌM*5 fd͝r} !@c] ) >8JU4aTϖQ#(gSmr%o} OR?VܭFLްN`oR0)wcR~y=uϱ rJh,Y?9=s |O2Ԧ`13=7|SQ!0#|ş6]5oL.!׫񹝈SdM & 5 qQy%&66Klxe;mO)})ӺYGZ6oXa1b nIFCʧJ5؄LidزZ~ƨsR,PG<kq2vFռqlKjCa Fof8@fjj+դƆH\o4i5ndӦzoƮnYk1`FWG%#q}Kӷ46OTZ̋24U"lLQV/73/&j/a &F3mR@H惽C5l*V"!W^ͯgnFbCK 7\'$ BcNKji#։/jTFOs)tZ!&$CLOx*,m EEajVNP{ oH6-CcPY{puw (;JgQ8i~58gKڳn[ HORؽipTjSRBE/-N(eBg.ѵ%~~PW G mb(Rt~L5 1¤ 'vj4R $Ū</]t{)pŐMs]:?ކ z ub `1:Fp&2 IsDe ql}{>k2(5zu)f^ 0 3\ tZC O=wfL>Fak|'Tn6z\*gt֦}D ~]ލq3ɫ׳Ax2Q7 hЬ[jɊINn\Fݬ :Z`@aA[JZZWXgNCKڐ^]RS9/adXVYC[։׵UϟPSyrN֢.+B4({kamh.;8 ʜO2zԕeWNf1i7~eoսA_u14䁋m+l5a鸐!U|m Q4.O,=( lGjؚgR(n!5"ʨZjt{\wV}[4w 3ͱA#Co=TZRķGj3ik'I&4)<_y&W MZ('Y(ҏBd7{.mWwvtAsL( < ]Fock4}@@B$U"T#(rrِ uFodqxjtZ6ۃF^9$AFTCľUr B~$I*%b7؅#WaI  ;c =Tw制jL+JR/f,;) u"Qۅ7i߃Jʏ3$We9l]BI Y9'C2<.H! '3 w/o]TzV)3'g=*7R&huUkg ?H^b.660ra \`"^>jqQb3Ե M.U;#  4W2?TU^>RآGQU˄(£k_:3ھ(G_I J6Z3+FޮAy/lA~Ǻ4EFr3fOu0@i?:am;3Bv+RIUXG٤?Q0\#.=:+o "\ZyV z^6?'QUNicFW|0Uβ- C$ B>S:it8<^"3pis%UKIkn2]W]z!Ǫ<a!{EX30dPHҫ`Sc]na X~nIMAI $>qrmDxRL;e9&u*eGJ&{r,`S+$HfCShjA{woBss3HTZvVl/AV XjV+q \umH%a1I j9T Ik{9E+{i 9S#Z񱾇T qM\U4~#1y{SHƌߑ+݂A߀cV+bHQBSPr{v}[P'(!J"}pEB ׀Ktie1a|55c,EBy-;Ki[9џ}jI+6^JUC|bOɉ{vF-ܲ#<.HہeRbZ؂K'n)<׾D.߈$6֟_$ `*hK_\@p+MM=ʹԸ -s2?e^79w-O?h63@ ޗ駧xxa> $IrqwFZ@mvrTrePOq_fd?s\jN&C!{júwqWGڌ-ĺ< 1~R=̿IKQxKv][S62ALkCo%}w!a ۮc#8>\?qRG2ytjͶ^{[zh Gm5tIu'~?m$"3GOVnE$ e|~ЉʘPOD*/o=Z\_p? 3tbX-N"aP~%miy_9gv֕l1;}N8\W~-ipRĊsZz&/pAASRo&V;\gC'Z.T&z\N4V염0w46aKiJ(#k#ZNlNjLi'ƚjfq"0TwA8~+O&*ᤑ~͐|[E}iPnHԛ9/ʿmLGGa/&+tN`I: bGciQU C:PfɬJEIrRY(3Q07RBk8RTBKQ+lzѣa#@mMҹl qpw I+]FcwCLVt&|e>b 侈~JGFj;lt \k+ƎX@j&Fy# KaOPX Ccr'4y<ЮȫYUTV]i@4 M$x?^@qbz{QS#݃ \)[Z C(,LCG4Cch9bͽ|ЃUM_\RF*JR!1͙7`t@yS[Ӌ\v-m-Mٚ$1VD{su{r~gh(GvʀÃ~P=rL0=J;ÕiƌڄARHw C$"?fl51p+} `.8IVPH@([idbj,-,8ӛzVM2tW{Ϯ\iz0hIe @ͧȯ ͮ== Ä|ftv4bơG"â9pvXìs @I4S؋ȁNjSf&48( +;+5jNfu_3[7ON;#a7ٗCGAEV'-NƝ9@e!d\Ԋ7-t01VK*uR6Ziɋ; ދ$ch 7xW*3.Spϭp=3 =hVpF+2!Cavk «;UtWQ>IqcI!T=ޘ1 w'<r6TTl>Aae.cכC,fq%l޻`\;wf,l{ܡe! a"=Epq!Vӎ)1KGle"뚶=Ww^z*8G\W:[,..10.jޯHtU;/V^Fnv;E (i~;8 P1X49Zs-DIK;\֣! Ӎv誤%VZwxˁ,4CO(AR,cb~΃,Y^'pLrs6b9VzJo!To3õ0-ƶDưR̮iV*( (n [.i:U96̄lJ[py}^ʍ'‚^KGd_KN]0ː\׾k]<vGJ_$EBœ |_ڎA15PAm𼞁- fnz_5 uv mɞw:@.޷S*2:O[' SO+ofmRilpeJ$_:;nk ;$EUGkCwU"41pmE)W46ƦU~}Q3eTYe~Kru7M㰶/Ӓ,Þ42.w_jh; #5J) MbuS?\0IQ]-~cUf7^.\}:AQ hS?E%4^mqX^rI#{ CM4`Dڽ 3k7T:[ bf{A;t;?dmE(jRPШ-"A,86/SK\Q5mhㄯ:dPb jdZ&kYuW EkH i"[0reW=ձ tl\Z h疎PEEsPX^1<Ldn۳!f=O2MM=X|5 -U_#t_>S|y my4XqRͮ'vZb0!Ѐ?D?"R7C~^9>=R?L'U Kܽ6o Gj*i^ʃF;%e=n0'I2X~g">,fQba;)!',tn(pv([E8M3f[9`* Ka%Hk2lqtǴO-aa%D}щӫx& }7 45ˑ$/YlABL˸F ֨+2}WS8Vf/ڃ$%HgH\Auс@iD*e(~ RHRKW`d' 8?-Dt3`9w8>Ҽ55 j(Q9g59]# *O^LBl1)eޟpw 4 ` o,K%7H1jB?݇-x2B׃ 4uJ#.qloX"C24H*4I~ߟ " ѩaCG%Q׎;E2D^q>첸 m=!laS㑌}~=2+Ѵ6rHsSC=,к-=g&88dES %L2=&sͅq /c VB1"A8Ս%{ IVxtS~"TURV#pL!:iue-X碬NxGv&hǷ\>_R+dNO׃7{HhD >E;0M 9hVO™œG S#N_Πfm~` \ pAndZ`0*~S+V^Qc(|ƏND1Dǀ*GFe(T>/@wMBTwbYk{4Aik8l3NvܩeX2sn+*I1 >a 1Ou=_ksiY̰\X +u>Hy~#ڣ6ik]zx `HiM>ǵKM<Զq@l$9obVRIʔcRU7-GlM6ȹ\:K@ϺMC SQv+"+aIN7*ᕡ A"Y` &iа\𞈈/ /f#8W"Wێ'Wa{jYq~qJ;OL I5Ⱥ<#z"/˭̯Eꐛ![L 3>8zҒos9ܸȺއ"H8#Yڥ6XG%>TSS¬|Q;u?1gߑM9qPЙ7#21(X:J)̓%9K@.Xi~V(ieRv IʱT Q~u*pBČeʌo59q({?9YLA5i:2DzjM9br9&=xʨ6;A(܅A\&;@. )O=|~ΒE LtQh#^OVCP3BOcM 1-q\t*Ѳ4LBj燪467eyHUl؜@ 8 ?jkZ[$-' 19UqV]ז&_U(t^2 AbK8\ڱxZ1\Ȑ4'1: MF(L\ua\n= iP"~(TG_P\ brkuMbeIPՕ! >Y^D{63Hb0OcŔ<74Yl~(8֮5܈zhԟЙW{ !ߑn|1"(bۙd_#è.YTX@H gjY2Xʈd¾!>2현6hEmrb9XSc)ه ओ]dږ#Rܐ6CJpvPl8df23TFބecUENTGә:P>2%ȣ'*ZI4kghnCh0~jўuы?F#*4zgcU^-#ېȖt7[m0,)w'}_7?⊢?-0Ib{ZB}%>d ` Ȓ}y5qwjv[#8]7ײַ)hLe.Tv+O(aFJߡfFsnSȅfm "6t_Z> " ]Mw"T퇗 J5I!G粉*ƻ]q@s|=#XTd@ƖLZ[k5,k 3^cH%O ocL+B2%G=0И iGJ>!+n6.ʉwf2GoٲS,s.1,*f-^ף.9#rS%"Zxի)Ѧ'!]̣{9l9G.Wmm"{cǏd?OlD0`^8Ҍ-s#!NO(=j^3\r3nqFWy}Y@܉N0R[7 19LfON~3i|%j\-AC K~`GzMsM3hjHwKAn`.!yz`/*U+CP>k|wew\pmBXGJ-q I򿫉ް +E"l*ih `*cUz(Ki2?EBfhu-HV~5j:AƏ|6 Vt 8+{ 0'yir1t~_9y2pT5lA'4-XYNpU'iI҄=M>*FϢ]&7 NG!y21:z_(8X !l75|2t}L{1+V-%}Yq?A<^47+m]FZLg}J=f7 unFO0PAzcR7lka~mUnB*IOc1 pc}{1Qk섛]?CO%fʭTBp+OW^Ks~HV'V0,w]뼣/Lj?cpl"okzA˩{7YXɿX뼞뼆yOX \d*i#޲v&[].¾G tAČv;:sE7ؐN7?=kl0\`N{0# =؃0}'<(SRajug;-rҷDqmj,;0$ wp?&^  o9FI#3bgWVk8"#]#[#uQ%uVQ 1j\#0ݕ~!8>Cp﯊8.8[WC I*;_˓{ZЗV(m[8 ދ"jيiF>ޫoiI{a31+D59 ERhQ,6m{"#[:UUw ,s~[ԑzJ0NkGȄ;![c]y԰):ݓD%*:')"XCYDf11m8-Crj+KnB3 a#`r7"UM򑸛.8nɌ@8hX$jG ER\=}MiV ;`ӄƕ)+#Uժ>찈L<9hZr9lK> !ިάf4MV9TYi@o=$,)g)?]NݛtѲqOؾr2QxQPUNMUyt[7)p,ܖ4K$ifȋM8 4C rYfWZ&ta /?b? x\*@&<k3@([]ɷ_WjB9*GVYSbϝbEp=`72 NrA~ܪz|C2Cz< `?H%z[dӃ x0c+#ؾD IT׆dʐ{Q<̎7D=|EWעp45g3ʺu ]#|\Gm 6OmCfb|ߔU'Vr[˕+K>T\@BB8bdyr̔zJpn%>>` Wo_.T]ǐrí4vj׸ 6c iCLd$JӶ1Nu߫["M!ßzCVk μV8}Юmp"g.[@2%}2Tt2xzN(-ty~)QrS<>.k-,^Ar5#yZn<Z^)Ca7&gǽڋ[\Z\-$ᧄBn,YA]?uGhw-X*>i'DijLtAt IԠٹN/݄p[;l*Ms4:-5ٷ#OIb9 e'&3|GbJ[N,Iwruto[ܻ\t7JZ Yԝieug҅#jkq?+RSӻ^\N>$=9%1Q!&c%}-ynkذSCY*r6][Ot3ڻ#UU/'O,߿(I| duj2ֽn? M3Rn@qKxHul0Tk-q(}m͗Ric]vnvV#G9L)WyOLŗܬgxJm25{sa"Z6W#ը KW-^[x^ zֶ63EG#(YEk!v7߃,xB\FQ 1Ke45ϱ戚+呬Ѥ_UbgoNT'= /g)c 9 ;egw:Ⱦ7]R[Sx9!mOdq,鰾op2,6I_g刏o}T;D*UB"Kɭ({ǚgӹ2Sfâ["]ܰEALZׄ%Q5#H02o !GrB Մ^+jxl[䠿1Xj̦au h~dء B! VصF\F!w CuY ϱI/E"UZ}Jr$ag@drE_H>:<%чFNء_HChJI1CS^[RwF.C&;N;TQڰ9 oצDX7F4 *)wlo~ Sq-49% df#zhFE] "?f,:> woE62ߪALLFs\8 ÔF^nrնiSAn ۍ"3|udxv 3ԭ^dM !Uj&vٸibv J;4 _y"ퟀf@őòF("5Hd &?QIܹdCP#Vλ Hv~qէF@N EN]S6ڇ]նpooZs)XZ,70ߊ@Bq:l0:\aJ}JAKY궨 ,VVLdQ uM7JkE}tܺl$f0\T76&n`>{SAbBxzn0աڗDLXi6'Xqg,@fg3Ӭ[+CT܄Ix'珶Qo/*s_ 5]Ikk)NQ>ùOCr7TN@S5nx;-C~[Ff_ 'hgtk& Jb^$bRVKX#\mۦiAqi LWo)E>yzo0XJ:*XK+w{q[\}/O ^h :pvZ,Zމ =_/";\6*ʴ՝bᝫ;X3v%b %6o,UUza냞bPZȯG[s:%FA%*|XMGڋZgc j&jf`GT |sM|\M /b64 qF-lER޵9;=LtȉDk $-?loF<}vk}SevB,!xS8+ת!Q,P{Ă6wte띑MJ9l=AiZ%y^v /#uG$t]3 ՅINe j~VPH]gIGΚ q\=ڔ̐&M}p-p?*8*M^nv) ;DONڟKFS  AQ6!gYBdwP.ޛ>`Sui\X,!nwi_*xq:HCwL;FGedE9.gl2V˷1& {HwuEcֽmveOꎪQunp CHjzb*  " C^>mT+\Ҟfzx}GҌpn"WES-@3pnue2tAʏذj08o$E2|3y۔g>@ X\x`6saKzv\ -sE#؁AcXs} x7)L̡B 3eݱ rUHxG-\rs_ 2 F o|jHCEK:cCIk}JUɲ҆tb8l\^ֺ=8=FyO瑷S5)oz{t8/o8xAVZxVY9 xخ`^4l&I]'nMA \PO 1Q&.qCd˾*3OKbP6|a݃`L =ї"mv½ِ=n/H>^}a9eMa#C{5bPgK邔}Lφz*v,;ˬkg4(]lk?8RhM2!i*9wDKp;||L9'ҚPgHwLS.Z_孵|b^M z/#+$H)9y 7TS^KBڝ4&j#*kJ5%aE4V(mHϖ9\GR}Ƞ'? ^+csLpGvEDhaKLEfgj0!5p/KxVhA;&%McicƶTrXE/rQȍmYo#%%-mV| y;d: zMYVk)#SƊe6qbmmpcبY-,z%L MxK"$<2h (nł 0z3gNV*`N|?R1K9v5:t9ş`"؃ uuOC\(*UzU0 씂5DtKe;J$NJ Tdޠ;N/&+b90oBBuwc Hk@GICzܿvgf_K]88aRE[s oC9Ti)M;m $bfmd+?/VBM;ޑ Z㣯kP(t3 ƓY)]ڵ [.k[Y3> o `+Iu0h*vz҉v%&e# 4q9[⠬Zѽ ×[=ڎ =G1 eQWfE0XWx[]iY~%g5\B6F?^d^& Dౖz~Z{@RJ^R&SG܌FhGyxیU>s7%2,W(vw޳ԉޟssQ6ch:JwudV̤?/jKkS5A nʌ&-ClҲ4'\] v&0'deưnTy%p኿;l:ӯ0d D; ߨbCa*DqN[̵ J#g.lE'(6ŝ y5b~I]O{݅g0M!RgZqd.G(Sͣk0tk|Vn n/Iy^2s,۱7[[U[\jɪON ?@)nF W;˗ F"HِDIŒ~b9p>eנxѼ["%W5>˶(v×ASoŅ;|wD*U`^^?Frl6{M%lk .2:fhZ,*%?zpg1 ?jyF;{#GW8o- RÎOxě5d1]**j7ذ֋,j*h dOㆋ{ zdl/ I#)y *+FktW,kT<鬖}h/bWVp15BxwU~ Ug+( 2  ta 'qfou?JxyW4"$A(qPsow'3#7`3Qv?s=\uNpU$0a]&& }/p}Dp|tʸ-16Ǜ/oBu4B3:a>-eR&7wnQ!^lXݷB9ΓE:v6,vذ󱩧6]WVGz yJ0! $6"`T2˖V{ZK8Ҭen!mfdXaVY88ѻ tiф}{&ނ*~*F.JՓ~+*VsaVtX~8 BH.`MWiӿF%w^k)R .nW=7qc(FXLCSڛ*vI̔t9V6F+wP ovC XzS{ϐ!* ]Bb]rAη^ hĦ5d/>Wݎ_,owPю=T y Ȩ&c2zb#S + f:/hSۨBJt,rW$ #vP !9>A X}2'[hDeU?}L(-?H< >2$\kc~v/ـd!?U8a$Q錋zR 7W-!aŔKo]eGŒp["%<;Rr)ٞ&_rpr4j*?Pږz,9J2pp5I 4}5i]6m!uL⾸b:0RP?A2Ww! џVgP.~0h&"gD%iOboJX̄eqL^#hr{ 2bA/Β\PJon:*Z~{U ]u31R"yűmו1gb1Ԅ0OyM(*Up0:pZoznhoFD'v0uiVg%0y b"^3NTSa\O7oPcUԆK.N@Q(]&#<"X&w <ҹ9Vt\'Sz.g[!)p#f.A 8q/ vd؈6O<2BC6&rʣ$2*ԀurOp`@"yⴢ9pܯigJ z}ڕF1bhX%~ *4;=\=J\U5&W|[UЪ3}5QY/='&k_//[' I/q(v/j;-pP@ht _ Ji!T} w`RU(ګ*94޽O@ܢIN'0aMlZ1 6}G 5>vzk@_h P tH WEچ﹃{ZHT^~EhR}Ū+ Ms?RZg*qYV\gO6[擈 ٻZp !f=) ia~EXP'+]]A$ﶲ5ڃ=&ۉsW:"bRoiOC |1q7`i`H: SG邒PhsF=E BJ]# '5~qCѠ5[2gJwKg,7C\C+0A]75PKu##VG){FB3xi|d3T ưv`D| N4}T^) &FDQKƾg][\p &IJL7ժkƄt_j,6*"TD"`º1tvdoSi69p.;R{ %]¥5{MjPT |Or0Eg֔yRemu KD_NA4ep&!j3Cy2 I R0z`$ZĶvj҈m zH3㮈(~xQ+*h?KVxhSQ 8${ ag: +w; XJy2}_yoCeI|7ŔZ}s8EQ[|r䵬+(.'rzxP?,$!Iׁۋ0 3+iML!IG@yZxvYD9ʃ-#HwCuxS+ًVTեF!/) gw@yڽpȚD[;XM8/}U͍ k8< p\6OU6֓-M)ȠcbmWܞ/+dQ G,{"S#ƭPQc+hٞB9DeyEabPZ%T*REp(E9tc&D1AE+^dM7B9Heeu-/'Yuv1NU:|T88aD_y k +xЮ䧋;/fJƠm-2E|:;ހu'eϩ-,koНs5E0OJ'MX evE*#6z_s_~~@ѱca=znq.mТ{ = U%9]Dv-ri@Lبq >y,^߹), eO F^XW aPBf2 'uшT1vDYD^RwQ|[=s>.!gEMCF ۡA L\\b# 1Stzy \wxh?7$u%‘ˁ+6F6 v"'+hQ*wv 1BO yIy|.XRt s=d]_`]b5'~05aŰ&EfLҢV*U+|8Q$ZlX @N>nej2fV!)SHtݟԁdDDD5W׆g<* I-tBrpydf6&cܐ7+֯p%W=pZYyQi]5ft5Y1>Mcn"jwZT <"{UN \_M3S34ҘW{ڵV^&j1m}DRڑ7'( zNGמJaF ?Y&*V?e*pi|DžR[lk@#*KZnOÏfh8ۏFqk(&蛖884j &usлF6ӰJKAsU̱"g2{P#̉5٘ 4KE;Q?Ha[1"Jͮ3VK,D[[G̳+~tl $s 5ef[4 csP#Ƃ~[|lZ$~Ƒ!ҕ#<#aB.#G, yU*%\.lѦu0Xȗ \֋_ns uw'.6.kA@=QR$zPk06PCPGBuc7/R? wԖ }~zz,FJd?|__Ӊ"U$<oD'm%eMqJV dWn䴝$3$lL, dޒIׅ.LD-<4!eV, Sv"DM"yKoֽ ֆe8ڛ%L׳О3ğÔ`yz#hrs9 Gzm9TUpjA6_SZq n.ӿDZfs3F1ڃ/E5 aa\wNk" ^2~9ՐidADѨr5G&ͥ/K y)( 6Qڱk^Z=sRŊ?kWҳ Ʒ6,1|d3ָ._'BWDy/MKg!lKI'8}+(aB]+KG7N}=v?.t cPuF_Ms*1AIf77EmB:AA?6j` s!ڼDs>6nI'i 3L<$2faC1kK"ae9gh.ݳzj׹_ba/i68o!Ώ2V!NS*8Ogu'f[h08,ܖo[[&lmI[0;J dG۩l q.~N#~ @je@gI}lnU[1n7#|t]60/AyYI⸶t9k&TcW  ]%ԉu#'"ZhdSeTb7(1ָr/M$ĮDqF?;AusQ OGVtuHH՚5i9*]hoh4ٙDJZfݘ\T hJ/C[7({Uޝ piMBMfȫptܭu?FB|ӝH :n[ʓm _2H}Syr1ֺ$xK&HPƝg0$;.FZū&6f Rv!q]JDK^7*EiE`+!Qu,?/E=`Ut֤`4Q&JW8Z5>(I2,1\FG&ھ"۳BY5JA|~$G s'ed1ah\ {`%r1mrUbUG R4Qn9#nЧ9GRu"B6lݷNo"T;^&{jevɮ9-K{YPcsvPF?jlL2 tw:A!c7{j MX;[~E^!报v-4$ ts|iqZQHjКRr$(p_\ Tߧ-ߐ\9{C9rVwfvFpv o:nZl,Q\4,5/$ i[׍9Yw~Y:.tBJ{ PZ5U<1Mᢅ gw$jzdIM/#x{/>Й)];R ,[čp/;{N _/ם4@KXP8xpeæZ"ۡ e2k/VR)dC:f.XA]~n:dYƕ(Ogn1A"ސ{CdI7V+[xK(=P* E;+|!o.`7<\>* ^Ax1)B{ pxT`_l|aЁ$t@iTn- "2$)\݁CSţcBc55qJ:eOA5TNz-}jʿ|$YF1(}NJ{/tpڕwJ~T{<r׿0(iSO#!kOb"#ybOȥZՒռ^D}4mYN TtaOt@~:ߎxS£n |Ը\"㬉Gc@wU3"T/Ux2K]f6l\ s`C{ W,ې_V+OY {J̜I'`!:GʓX0::$KϹf"}lĖ( VqqO-GƧ7G lQQd7 CR͗=,- J/V/fb8 WS)޼`3o Ufr9Лi'InUCJW˺jha))4xƓaoUYE U g^`g䭗\0HmAYj=Vt"OUu]jÇFj} + h{z_"Z$%͝2"32e+  V)g\©dI# {'tScʺK{ׯߗX$'Cl@f'߫v6 `_ x GKoϑJ1;O1E6X ֬Ozo?_@f aӚ Ӧ.Vw@bt3q.^M.6.[[J ű(?Un!t48X>,4pq%ϑ]UYcV;׀I|ze@VeNɯ(RwZ]8vKȐ0< /(ѥ:S9qG'Fv?A ]7-?;xsMu_`=|~q}ΗRbO`$^_kHZm8lfPdn0 + #nPaBg' w%2-mE I̚ sRԄy{{(@DO6])NQVfxZ.ĖjgʩT邾,pF1̹ٓ)ujD}tt~"shs5.| jq 3<ȰļhMQw(j&wR~&1=Y BA-.H_/PX: Guָ>ǡgSo/ ^]_^3ә6S%E} &RaX nT$EuUjԪJNh_, *fHP{;hN5eq9uTs"1uԂnlT=~jP .߫򱅡r4JF5;.df+)q3C] Ȟ#g0G 8i_֥E Q#FF.A p+1ULa5hVmpQׂtR zӦm.rgDR;ϳ^6[&G Neq?[C4͜.1iƄ>@\tPgžGwMk,Lcd{Wr?)P(&(k@XG>"{n"~Pzm9'B;B:S`,ޗ4zAM I\UH6LJ {Ot3;28pfWtMŷ6IueOEW=YȹDZeֲH5L#}( N?Z/ij[Gv_, ]BjH 8.'KKCB;We[1'>ʪBTFɫVP. #Һr+ssH3h|Qg Ux<0m$"]}IzE^i*Qp~!퉙ZϪ2Pd @daFib[A#db2 M $I +EQ hIZiibҮĴ!6Eo--ڬRIl fvJZ}Cv7?/rZuRGQ/o:#W5w%TmҦ~c_^Vd!>AjP\\,kL*ptE a kfpimy?tnU3_oJ,C"K# Kbo圙ߔx1CVt?uJe3͂Dq+zeȀY{/-@=l |&dVJGHbA_ F.yw5%~QK$g# IkB ւeT+dBX3)ŻjhZ ^~SqMx3f~L~J zq]Ed)*>vx+{:M"Rw\2/zbK!vyl2Vj!GC?Sಊ@A叕@Q\*vW>v SzXӞxLb zU"X{ hHuA/{;Sd8G#37p[صs3Ӟo؟wa5qv~f֒8?0GavG[6U& I<67agSǻA+*-w(n%*W^7ǐw+)^u% /.TP4Oݾu#J&"Ohښ)k;j9(Ǹaov1vhV7ST_0WzWBc!S>:\|&.jXg1吧%i4gxDy9}_qStt_b{ x{?FM6aN_{@B`ޡH:g.85{K艣q>E{(d_|W8I#>f;.z<8']*]P9>?U EɜfL!Dږz*JwGBor)@ YOpaߩ Hȵ|Eyzi4ׅt^ zt'/jNIS@;^9bWQSO "UG.r*l1eGsS$s's y@,((gܓAK]x<2IޢDgKv HNT=Ƀ7(=M8W9m0U8W@7͸jZB |]i!`6qZ4X<Wv́ 7 C_A񐎡 1zEh5/54/J,͢F?~8Egc+/&lʣQ׹V%]+D 1韤/vFWFinTږ& 30./XS}0Y`4טؕnT.5iά(fOOSAOX?ff[ZԊo3uK$$uBx9:{mh"5ҷ+t6~K{*({t!]- (AfT @ ou 1wWoLl2E.yd1s#O j04 f&eT^ЩC(v9C~F2'ӧ.$F7b^١ߜt*c<' d1z-*H_gZ&rᇄ ^\zN`KYrABqYOydV_\0y\/DWL$1AE>@MU^ Rwqo HI;QDJ_/~^hjY E9XQsp<f ;0ѥ)nadp -fIp!m*`g"Ex4UH[m;iZ1 צmpOaFOO k.GMgL $¦Ͷ䄻frWPAx2昑CfM~Y,ቺV*D H[ZLB+7`$϶ҐA)7Lq$9"~eK*bgp~$]U̓*K`y4Q<Ή(tu`szZe #aXuB72|#SCfZ̽GtJ'I+_bb姡ˏv_+U|U&'͑W@ }F CORKĹꑑ_ߍ.ΰBWDZK`zHNN'LԸd?,{z׌R#ƛ#P=mhN*NI fE;9!,& Ggw9! ݷEb֦X9tXm*wXycA^5Y>Sc նgY)i컣~7-Ny 3H߁qU^1ٌ7)}"Bö 'x609wE*&GH7[[l>\bR\o$2BH='$j 7z5!h._p`3L0ie&=l{@mʣi;7Co4C^ Ϭ~9N# ڔ-sO_nZ~3l|&܍)!|A7 rȚK4++=.?^8  B;;?Gukǡb/pԑ+a 2` <C+R=Hk;VVX&}'t l4''W :8kgʩ[3q 4>P Ýhfn(ߒ+0GwmX"TȲFtE޵7 eIQ_HT9Im⠡nE0lpŹQ>k.Hozkk).9S,pfV6TtH+A3APqT 2q{6߀kIJ?KI {|ֹׂPSm ׄѵ۴i2(5V#'$B^uuNa? B]:P֩""\A -tWK&)Ke-%M׮jrimˊLs#AaZU^䉟0M̳p߭Os |l׀kRr?FlL7U1,s[/c/D&ί(HtLȤJzTkT'9o=`_ .Q 鹟Ɣy'ySk#2lVjkw+e10S.c6Ӭ$v^eJ;4nxh/@n:iVQ^4F+#;"8z?[|^mgf4Jbnp20EYw>>&~+f7a#oN/!]7.6gը[pGUsf$ʀ\RP;[7}@$&5`;ȉ@;A1`oW>PZJ,p5VaimDX}}OZsEb56lAM0'2Azv8V` 9ffPڲJ0+fA)G ΏQ@VɬM4ppbAtժbby>?A7et^A3kLxx#UlWaSR dIhIEgdsjp PR8щoFp#nZ`iGBa{w|UxFkF3d0=>֚kZNhm`@`aA- iS37wir wa5Q~EKe^+ hup Bf&@?ªMўg[?jxɻ+PdC6w] sf^%9,uE XC~Խ1@.̹G]cm9yOUTÝ%h{jr:nGb!+Wxc/xd_LKy (^D.bxlZuӦA–.5oWV(^![VBVc?t)ܼGPL ?nuT#lh^.P lYztgc~*tfjo I_OeT/5 gk}*^LgJ; $AysSs?ݙZʎ&zM7Y'kZ:v R_FDZ#R Nڴ@f+ M<R'[ l[*~%*^_/z 6qϩ&PlTTV.h"_H$UI7?Zl;:į3JOa~6佛gV*v^ܜ/63ZWiD#̹OeΤNt2:roO0僥ed(rcxoxrhJ.;aLjv{ @D9cީʑ%80[IO G._W-%Ls;xMsSqvRg8Sv aӣS8M~JE#ED^Ɂ4pOz6 ԧjlyCuxGJI-*rb,ڷ8e}$Curj/:B:m -K1>HrnvzEնi|DJnoLXV#586xWc13aCPV^Hl"Hf(;x>y6[3"g7*!ϩĕu%w{:`~R:c/82;ӵK(ϲOAal}@&`+(k[MiuSo^XKIQhS@lczvpXBe2Djʙ\zNIj7}}w8 up3$FATb >_{z3'rEGqzc$R^P ܃ŌRxQAbX߼6c(|h~MP0B>VC_ܰI+} (5*>7#'"r|+S~0"&VG{&mWԁ ٘L@W`]{w51l/0G@p#턏Lwֻf-'мr'۹y:^ͳZ}`.E )zfx;+CQ;LN &ixnA&c=sRnjFcjqN2SjelHxڑKcqRLRЊz!FrLµ"烸kq#DK!$m :Aq2. 8\.}uo.ά>`5}JLHl3#SPAK>RqZ;>o;-2vlZ[Dec\!qO0DB6lMv :8b蜥RW!v}(RFe5~5}7~Eaڙ7vs'R"tB޶ լ?]9ǒ?1"Nby19aUwJf@a1MA*Y_7j*&6i Ԉ$S+LŃi,Y7̸f{ʶk$\ѵ>_2G*U`4qBX^ʯW4x̸~)82LKtP~jMּjl,56ƻ"eoK[r|K|+{3U\`-0paш=9+'[]z#Z ;O2cqo SIhJ41 O.UdqH!~$y5OA\Z978DH}LLo1{,c/@VK?+vFuyύfȮSѥȖF?hkg|kf4mni>;Vtl:gwQqY:5Fԏ˚mwg\tvD0i&?R ^G#FL͌ƾj4/ SYwEt'Th^3sr@4:ze??SnJ=m6㞟@hH#GVhϖ-aOs!U3t'O n{%ܞWbȠ&@n%KevvāÖ]36'0{-`+SM1B5/A#G"Ai:ؠGKqm>kљIC LD!&aЯϪQ Ȉz@eAzsc5LD^p'!Kk 8qaHRy/޴dA&cbl1]hmKhRbܑV3 L;DŽ' Cw ˯pEGtb I߼+Fbf[;ga[.JDL" =CwbܪBSA7罯~,ُS4qndŨ,PL$ieɁ0|s[F9-8cm{=0|$,尟$@7: R4_y5+(C{A9nyuɺޠz5L$*WH~蔧 թ Z̎gY8,6;ZmĻZA,qE#3"8-noY=o_yiT*xӅ6T\&g۴EQXR(y#* vY? !͎??\^Zg3eD X-rM%0mCXQSMI,SȎr{`< TDkRJb4.^/ > X9ԙ[ ;G?A{'8ú~H*NC` 3]֤ϣc2mXX,7& >hͥ}.vُexm@Nkt!׊y&Dg9峸[dSe*^>&yi m(NPa|k@8(ˎBZYFr2)Og.cNS*/h3B&~+b6FE[bV; 6P)9Y|UIducϓPK.'Z#Ɇ29cK٘Γ*,{twPU>@&Y[w~ Pi2k£M2 h|&6nW*_V 6ߔC0 _¿FKsJSP+ delbnքN.c{C/v7(]t ˱ vx*C&j9tfre+ 0+ y!Lq^Ǖ6% Oh *.]J:ױ ~;˶Zc+LL"$:A(s1 ūmz~ tb1)UŃԾٍb[C)4,C.Vdv[b׵oӕ )DIE>/>~e }`QQ=ū9 9ש;?>5쮥~=TYXv{˻ KT&Ʃdsh+L/Adht.J!lI1VX2NEJc{'1e{}s{Nc%"aқ%rKnGGݱ+ 7EF >*&j#Sm5FH6bbX mIJzyT&aub37d{?F 8RU谿.2,#x悗B@{Ƌe!集 L(6NHVwuz|Sv3E?LR9: HNC}b0T0F` TwÇ@H筒/+M0hR*֎̳Gܴ#נfhEʱ4=evm2pv%Z0{jG&f.٣s,&Zٹ=!c;Mb`{Z-GNï9+B8-9 5+;NSg#ִnlYEI.:JjZL4\@ˈ/tZ/W>Qjy1QB0=c9V@Cˏ3bm0Z=!ZP e͎oz :^e0)f*D@w\RsTR@5ceHgGM=v\h٢6I@b8%$LBEj7%,xB.4EPvx&fIYHBq bL0Q{54n]6} WDTfT '!$-#_O-I*vPֺyOnTG 6~╤];-936\٥5,B/+WC lWDo_Թ/4f4"s{0rQtE$X&aS_ &!F!0N8*O)/4VYs~ܒjNɄ}ݖ{NuQx6$[Y匄\`a@%IRα{Lj#5rpgqu6dw"5M{ 7almJe\0oC>JW$'x1р j"G$h {V5"mksbDlך7/}"_N6&t~@bZ&io)n3%UP꽶 >gUuM3-Rs2:2/Mޙ]oխX_ Z?P~Lce P;)',TIİM?1tI_C GyVi YCUO4Mlj^'0 ]xmSh󚊈ݻ1 M'!9 W1;B4 jС53jָQS``^ƊǤ2K¦S^P p bCX߉W5{=u^ |=4ͣ5г1ޘ@bӦSS?^PҞ *| C\!bZ juTaONA#nmn*Id}ug6yE6ٖ6he+*eZP 9|9˹5@M'k)q2F3!oSNW_:oub!̳.n#; ru&?.#SBӣsDSnPGԟ-9Ofx1{dm]ڒf Z`nM3޷pN ?W;_Oev"!ڎom^~M͓/=-!72iQO`V"4)8w Hde@K]苦d;= Om 98au7?V~Rn5JR+/l ]$y`y q n_]ύ ہ62g=gDܽ~45;V͍MA6Xʹ3)my5}H Wf/Ɂ1(Ww}!dխT}? ":_'`t޷2۠mU9ŌOʎN3q'r22e$VK%F'F}qm8[eVU$@2^ us/w3)~*Z^ih&7* -X.=0q0mm$ˏ Qxd gY}XK5jPړrXBٜT#I 87И2˭/ /?ǻTo !~t5..RmwCiQKQEz]EoawLsY^,]z jz8[Os #\n<Ce 4gɵb(Ҋ"O~VN 9#E:c: ?0@h2&bSqEG%T3B'Dܨ!C``Z˶ܲ;*(~ޛ4SYrwd1XOLZra 7{h]*~y%ٙ79لk^R9G n2}N ,sԌ_TL= 187 Jtfd.5[-6+9klPHԘqCgMklr ʤ-D]jodWR} {bsHe 7y7<0Uq a o2 JC+B[f(u*)sԔ,C5] #"ݰOVW>sG'N;v (z2̳s]7IfrExXy|̋KD4$J!^}'3g0֑̈f(.1!~JpXy8އ$$ڶvTD: .8[@-3f Hh<72~]:IB5X/^4<ԁB$:J))Sݓ4 *2Da6wUϳNF*1o=O(EcMҫo -4 79b"oRn== a,`㢼cӺoPOe]#gxޞL6=I =﹫, R=D"G  [hf0i)F0vc|i"`Uf]R+m$wyC jI;xBc{ w$b)0LV2_ dT$ꋅMjm/ Zڏl+-8;01!q竳Chiq^HGnuzZw3x:zSvQۧ+ s?Ui;uu_,KTgŠw4ZOхg*;^aN((S tz$o˛)uȖT,o3a#n#Kxv]YkB0*ebq|Z 7^c Wpטe$"p_W38nj{UipG R~1+0-p\v+hpD`3 Wן81ٜӀĸ gu&c#9":m߁(~Ûʙ/ՙHԸvk |S78kފ)s@xԹ.!K@Pdi JY[ؾ"<1[q3WT6i;OHmٗ!Nei\NT:!iU} Qj{(-x&8X<3.P}9ύc8Cqv# -VU:p= :5prꖪiblޟ7c_~}Y_9T,"i(%ϑWj3njhB E\JէgUS +B:vJ mMchZ`Gvs%=dB9 aJpD .M%W?PaZO+}hG~6{]^vNӂaq 5BIwyga,㈑~U3H{wJn(oP%6l dVm04/a c! @zғؿJiJ̷eNEғ{qR>!=~ѲUy WKxWw|`/~@20!HVw~] ("$vʮIXJlC?Ib/wy5D`m34  7iMB|00+w$9VE$毰jӁ/WKvtn0XԤF22QV&e8JLx<6mχpq"+nVn&ڸ'yAð$|T{ G2t(YRͺ(vV^@$}JЀ l]2JB?y߃WfBg(nL|N=6z:DM͏p[(0:wT&wT^ VDC}:Xa^c{7YafXޘem?s+n,ē \g1>ORk8>`4,V4c `Eu ?y LUȯIOp儓[z"x^GOx;y(y ϻ6bp։{OdnJ,0$~Qej46$ӪZ g D0ﶔ/U=c`[#^V776F#׹:VaY{I+ZX~Ʃ`kX9٘Ur *}Jjm nLpj)X\.E0Ķ4QRxuȨaSwjxTњ9K\t쩉5(#Ө+km 曼m!c1/p#EJ0`x6K|{52g3REէ!3"񢡝PQ,bzI?/km-.632tv,(5$r7:. X|ʭ="'DgT Qy2JT7wsYxJ)eboNwNp ׯ0b2´y^PMNNt'ۦT+>M]!Wlv7u<#9t7\v +Gjrz/1,]O#ݰG}`#Ф `gxT/^s;hN{>98mR0r n9XY#R6dbߵeX-Uv|PY!ٗH챋*;/h,QE7I_dl0AGG-y .od/Ƃd*GC9\ Iw^YAjbKZACTɫӾ\|t`?Ikgt?9ܵ߹}^'X:УtdN)(V]؁x±J-B,nNYHsԐҲzdPڽ2w/ua :zv'41$+*xWj3`\%)ָg [&&i`aIS* _M_P;*6wp>ˑѥ\j.f~hbF;f }4kcGo81޺WzzdSPRg/l8]a_)E0 ِhUuLίy&$lN^8E%?ݔTr Lݝ#a}co.1s l)OH>xJgA :."c6Y}yzXESRGH^r6>%ApC &CterG/Vڽ834~hYKV7UfuxF{ fn2AƂ`߳}-ٚ<^%39st6n =K4Q%e@P E+8ΈŰNb)N•҇.P͙LwS˅'w.c3Cc^"S;u2PHEV(jggjRv3c[Ƣx+;J,oFh }_VWQ$XU55-<ָ7u33yf~%|IM?U( M<*&at7LCDJh~uu֘0IBY9m[d %' H s O`?i]i+(q#Qq)k~8m)#U8qz3D<.OebL;:SN"}V7\ww`G䌘 Y6dW\voE)Nvp.u PKY"zw-!sR.s \h;3GեfΤg!TۄeمkE@!}o?%Հ0mpqbvQG4@Iڸpǟ)!qR2Aҝ 8̂V~۳ȮӾUaTi@\WzHl'^-+W\JF cSM Cʾk ^#Xvuj\g&3)2O!P\1X u+KU>'xֽ/MxiaC->HEhGe$kath9֮֙+Lji8/\"@A'?`&A_  A{+A':RKcoem_ " z@VK[]\햛\41uI }Zl- l8_P ـ?w| f[9%Y{ 7e/BQ#3?Z+ѻnh\]h!mڃ3ɽAFgsYjqg1x+V!Y5<XOBj]PEnfhfl!d.mwo&hp1/p cHtp; h2цc凊yGB}>CT24&StxtOP8xvwS=gfD&~7@|h|uAZ/"ϸn)nؠ x(ʙjƏ;NR iIQX@]+Efb9#eE"]\;>Fn[=*ٵNj%oU=gNF'UD^/j} &QOsl&᣻z? %Flr W^yy"`eyfT$n| E'Qpia$D -OQg5'e@4B,Uy `g?3p*dEAet/,ܝ?8 x3IQ ԞP]6Ͻ.6ఢnrX~JAX'eI/&aUP<;  !QUeҎ_"B09Ut6nUP72r"Qa:_VhN[chUEG?H-İ5VRQ~oNb~6[M2I ݙ woT>J]Tpe/[H:9*aJnrV0:~G%O=TwM0%I8yġl(p eJjU[eowX#r1^w [B:&o#/F6DbL]ߨ~]:g @s$KM,Hke/;Cȳ̔>cYtoYQ:Nrfw6nʌJS^**X?tAd?C{VT,vlYۀ ʤswX8cwveI$2FA[ 'N&`V˳+#1.(8qS ^A꜓|>A-(~ 2>DmrqOe3}S MꧤEjZbt:i+ĵzNUhF- ĺ#=3%s%;m3Ek4)ShV1+"0wͦ [(->s*[qMɘ?#lZ(/G?'MΚϑ8`a<$Y&iu4:t@!! r㦇N?r 8G z߄]MH4/Y?}E6faA1V;kB+:ezUc{ن9ɭ:BX™ 7uz)7mOL$!gn; )A0DSd2%2GX3!ɬ;~߱YtԈ[|5rY}UL\ D_^(:];ѤgC0.-6 q0L: ~Z/ (+(քYﳸQCKnL@k`6guOF _fYRCD41'C5LzFGx)I=.PEbإZ2#nr-ZxWDs Ȕ5$N)ؗ^o6cզ)LZ%l1MvT<5$ VeB,\Jcgf[.[$0fh--v uKN RKuVh$x{GҞ| 5UW!%n.K5qm@24Sp(4+^-VDBbp -c)-i{J٥ cA)G.) l;Ay"R[L^$Q-cOH~f0$a=%a c0']&ä}ٌ0 ҲJ?U)2e^ZQBP(_jAY5^ic.~sc$4yt5ҢCSx:ײc~_ڡsڗ+|gڨo-oqkvZIE%*f@1|n:n 35WFNG0\M٪*ЗN*z+ =A^ F:[ +gԼ~g` Iji#J,8ҭ x9-'I}_Ugi/\пKCRo<>gQY(=A_bis3p`,q ߷FiN}T<"(dͿD3@ϓ a'_uFKdyL(ɵA7κڒ>#f)v@׋hsK%9,{%8.eu glL%9e[Q>x0oVm% d ?芄!SvKd3.﯇Z/D}dC ExL,ec*`@SpwDdtǗY4\^N+䘴YW-pk)=? / 1x u>#о1jTLwbYO_1F]"S]c{db.n{0~dTPNF1߽v/:a&Iܤ]i}gvC6a){dad"^3we!/}"q=kf/lJeG'Ծv@*C$U<tԷhwGX8Lm;zXвi$VxÄ.c@>#B* U޹ ة~IOu,Av` aԕga%g}oj<F:3 L_HSjRVjiL& V~he~IZyF.>4A>HMS _9g|E}2sޱ*kZ+|Z].{B(ݝdϚXo̾;Nu 7UeJJ`?(Aݬ, wEKK #Vj`ȏ)Ԇ q\/?iA`bԾ|F >& X#T[99QI HCBɬ䷓CR"Iiv91y^ B8M`jxq zloDO.t߈50_ZcGu>LbIkt[T[{w'X3=y_!Q^`o՞?/2JLCeJ1pZ=4jqnk\lW1*ؗgr·FjBγҮ7˝c H7oxyHY~%ɳC XxL:dSY51h%|y*0_c#ߛ!HCI`b߭4+m~vVI4QVLCOзnWwJ)"ye،e)"?~jl3]*_'wdU+D̶{yK ~a˹qrc9<dJ^jZ 墽Ǩ $jU^%{R܁'AʜBeC @fQAt}g ܍yg:n^^=~78R&TԪ~X(~Xq.cP O}S3jRK x8LCC}c[a0MʺEl<$5\۶nWH&އ߻1<].D=|2Z= 6Ss\yb5<>p.o4Ϩ U!e *Jf\|H]tuf` igc5Hp`Nz`Zk᏾6³&$dePA$aaKF `AThE(`p'.iީ% D~Aꏷdv7jXKQ&4bWlMIݒ5aM8;hLHqi5hl:Kgrە8D6[/(Uh jNnq eNɧ16AXdЎE e8 ZTB<m6zޙ2C3 mMC-\։ZbNbцX>ԄZ帮FJPu58†[B#7IsklxyFϡ'@#xکY6 pMgc=ikK?q*,Wb jW^j|O`2>UP'~WE[)$D He5cY S@,k4kpާFX% 7[kR L0}v}?cer/ ak퀎/n%^+ђ ~}q3Kʖ/[){ 6E47ׁm*¡ӞgcTMtN ?$C@p.4RV[Ĝ뀅kMv AZZD06MVC> $/BcDyv݂_t&ћ.mjH-̡iI~hԻ8ݡE>JVt1B}?E;d۸UtjRٜ{{/{ zhiOǚ`%uqVXlhI7ԅO 9Ӝ< zBʇ0EX(֨];HU ?hZ_ҳa"|9h^LoyEAvG+;SHq#ɡ10Rfm@Q7Ƕu>{QdbYDoiD {Eo~"]Uv:j3C F0rKu#&UvQMmqw!mN{nlى}?e]y`>z`*q(S'a.Hƴ®IFO4b1y%L>(H7-Uuq ~g #t:SoFH{'V9 CZʞ>ڒC AOĀ.]+lcZO!nʥ;f;GZ<[$2x"YMK-dQU7jq6%"돘ID$` `F d@pL22[#)axTJn6okt!u??UiiMU[: SKV_T콥(^P@gMѰ{k%"R^it얗.W{1w9wNO8?;:}0ZyL ]/P1<^q&YOv0g}\5HyԽ'&qNr?'1̪N_h)K RnT k7k@LhgݵŴ>Rf#f.BXs ߴ 9)PMۼ K"ߧ,8x2}"b &_@$w!=&()薊CֹShqׄ8 Jy\(jbOy`x6K(.2́Ϊ!L51Gqv(nfUWQuH{yk@!+ۈZBPn 6̌"Ŗ難0Dxu%"Ƶ%^M2׎ӷ) K݃JUײ;n7G /!{k5}.41&3z4ߗ!bDg|Xl6Ua3FF_X%5rm-xS1tvF|9@e>Yv~e^"đ& X~UcI:Ea| Sm7£IX'pq/C'?'gRG$"&~o;OA1%cu|m,PfW$w֬]{sr āYWQJVRZ֚-Q7P!qx\N؎u q:QQ"0W{!Z $d , <Ds&Vr+*8sSCw{y 4"LGZ;0'# Гź\ӸY-Ae<<武RCe]QR(>Pj^%Ld ȯ6 !7S-< o3(!xݨ $hu]#:I֍9SEsk;w ECG$opOT;ϕ  hwDًl)}UEeiZWa WYᜓG fP /9O^S]Ql-6AL#5i[r>v+|y]1ʑST>'GGSBNƬiH#{{"(5K^'W^o0ÌC"n%^yְJܲgPر`#X=z:w8e JE ȘD/A/Tk&>{u0!1 .˧ t?j`lbh}1_}e6 a,`5 SHMӶ6C!6G"o~ 8aXmX0FF7 B𹣵jṳ` ծ`j2q⎠TkȳM6 v~?zo |h{| ݜ;G](وM2>h$qX?BӾ")*c0}[s&Ѥ;jDq871IѨ0vJd(Zve%Eki5<fZF{湺H#L`g ł[޸=o~*YhP=hhL1^G40U$QT L׽ ]4^|H's8.pPO4ϭ[J*C=^Z o~`X'.>DBK1Bg\";pwwfRDF%~I?SyukNUd[)}شӞ\V%NRF DKz0Y8YS{ >A-醤[ށIӱī\qcrUaz $tKj>H*W=[03,@!B͂Tj-|7c~f0ѿ>/^{LQ5-e'_R;~+dN$܆ERJ_zr^O mV刼J.U?$UQhfw!x+z|{ "?@{FiNjx+ @-vp"y9X.lu|eΪA&<~_tcs]ޱ5; S1%Co s\A>cN(Ql^Ϩ]fA,f'w}0#TV :Ac|9y-! dvm#!pimX\آBx,4hէ݁Ϊ{I`T nEvH3{nPqU 3i;XrƱ^s?0?wC^P#!Օ)SpHNщegr8H9-@sLLySIDT'?*=&a I>N`,W2"F/4'| -l c#'=AxuzaJq~ * 1{hCJgi)?P3-?7Fֻ}՟}@4z³(ڞ9V퍾T4iƿ};uT b_1ʽGUP~9C;HgYF? +Fn'(]^tuqJKWSVh%ϐnc{44Wi(~[NS%/+k8w˹Z.݄ne kC# W0N˩#:נЧs`3 =**?0@YSyU g]ps C4kgG_@1Vί|yF݊3!cKn"Ui, LTwnFW9hT+|hŞt%[_s ٸICkvgk4)[jiaޕJ ߐYzj7_eZn&<gZ{pΪ+lMQJ!-f!k\ QZc5AQ-rʯS7!}Wb.> 4aJ0ᯂvΜ6֬8|.l`'DEz;=de#dwo4Vl X&_-k]G*h5T"y7#76?DZOI|"]jh@]w(C F%Z9{04^vX4FʍPRs^zc=2o ulU픀XԋL鯦 XCkƊ=݀ߕRt[pl,!+$(U24%|vgןiy@5 g[%f*yk) jz(YjԄ嬈"-aod3m[UGfqd2›D9+Bl;)14518˜[[p0w-Ƹ97AP\Qϧb~$J{يwD\ 3IZ%7 I"lЎf2\|@aJz #ܧyZ J>\W42s+*ϩWvLr,ǿBJ^wr8NT%}( DCm#78%a"Q7mٚ6Jdn- "63s@Cד/ќòt"XVk_L=`:>CiӮW:AUc$r\Eta/cF 4#ԖrPI ͽ+mE :u3=L,i0͓gT.gMT#e&6l?:[ܿ 6 mGvrڶczTz{„ 1gz 9!b Dp$ֲ@K i6?7͘rثJ:AF͌XlŶVJt2Q ()R7w~J#Z+ ϵTխJs+[* A+tk`|I }/gR5ONRܦNF&o3͈kk,WNySx_AzDtRyK(J=#ݹT~eŎ@>r-?+^7AHKjL'uM/Gcm99A yU?O J4_[M6yO*,eo/j]}fmj6Q 8kc9Wr8> " \Qf8.92ʯwV&wT? ǠW<#Q,xSmIt$2 +ƀ9MacPXvRp4XBUCet<8݊y^<@,}Jx^q|Oo#6A|Cia >fpH!*e|y Aʩ`m)0 "{eKjo,D<1 }>b#-4&'j$yfZjժJ{~(cHϏ^>( [j N$C4{z kKAi}bR튪RAxr5h+ Xc{@O[B ."4xХ̘1 :tK_3i0/m u??]IK&+ L.j^aMFj_В[[D}Z.0^-Y]V!a C 'quW>8Ҳ h`0Mj'AЩ]@1J./8Xro_+ vez]FfHad4Z''3H=؛sɬDG(qlD<y6Znj1NuJ@0TH( LOe^,[dq%,] <,n Mn$%z!|_81l&D9j:Xw(J $6c6~9Xp0_G? 'CQTj ';_Ta4z˵x53Jo+DP=j"L)<#-TXYMkTMAh|V7FZub.BI,1&G jN:Ž"gn )fgÃ+aFIRg=l$ÌWKnrqvN*? k-3QlUA+\=HKq "FЏ)b9zЄ}%A 腌CGR34m+-d+HPA|]Lj_EywQa:6^MrUe{n OmML"EcAi<8AcoNbyCsEhsMeSMWS pNfLRޡ7r0s(fC2<+mǶZ $H?yfS^Ʉ]a'` qi4H'6fZϑhvXb1oCGCz9['8`q;䵈G̖ӏvQ" 4^mDTb>܅_֛ e1EaU&6h~hvU7ib]`08NSÕ`++B7^Ӽa)G93޸ag,M/;|cNgje(E k !Kt.?  )@?wk'#j/ $l)u9(&)H n[@ sui ѩ 4J)=e8\)Iz\rIMΠ9 Sne膴K1s?]rn6'-KBvժ|jne^I>ւN$x*_P2_h?>_n| {8Z#pHp2\hO(2*T2Y*_FӱvNnNO_c!D8@f.MG)`1NeOp.҃Cݸ┖P l\vN9wfac4O:w+Q^>kٞQc1 LLlR۷3a!@jNвIaP'v3vLס +[#ve09,:pY^Y'X1$XCd*<܃iȘ !p@CGAKTܙ<Z$Ďw!}a\.*oƎ=%3”(w>Ę3ʎ%Hr Jt 6\|EAJl0_tuzS%TĶ0߄L8[#XW29~5*{M)H/0ϕ8AQL )ر074|n$?CjNAe^$Ϫq XS?CMަrC "$ \@|5GZQ{ClJ)ZGTahHn(.w{e9'`joQë ctzB)Oj#!"s([%M}Uh1u8K-47LǎoɽunFfbbp5hP&֗BO(e9m=Ț2Ξ71''򿔋sڜIsg%Xe"V1]dB3jY iSL\0G!-~ycJiڿDC/|g'J^tf n*qvD5jܟz뇦7>- ;5;E p{9 _^?)hd*F)aVA}O?!Km3NUS@df/`#UqS5vM'eYk/*=~CZ4J=7e8x)d?odYۡ>hn|r e2ĆDg(y)@͐KDp@sK'̞:5KB˩aUƷI 4~JCBб{%L G/ v:٪E];Dk~r4B |  xz !q ߘ9'|a*6p'6o[7M-=FzTY e(JK+DT]j}كPs1˰E(O+PYTdf 04BWfa!׵y1&K͐lm+*mK.AEa ) _(cQ<5O@"ǮUHˁq#㺧J[d} .ۓ1覘V2}9Md]Bva% h-E&deIwO}] :5}9ڵ7Y:O &@c,_,TX鬄B:ސF74=/ҷ; YT.@4<+86VjTSy͌p37g7ii_f jX zq5'՜/%/jR'CN&ك6*7'Wc3q;8JHEsb~\7 e f[5_*ܽ]OВ5s`pme]`+8ao`bdXla Wc,-{/Ʒ~^|$cu u\zExD--59Wz5I=&("['M5 k]@WUm)vvc,Oa y@o䕜^=M7V :]D:_Je#)w'BU%528!nNj %|/Qŵ;{O;+1`LLj#ƕ^QB  V(uI_u[>؎H,;ς/&j%euߥ<ț uԒre/ 0 ij+?hZ6&a !sڼg^{=xau?&#Њ[ . ,?2n>$^]}/XW> KN/+܏յ`}w岑I9Ţp Hyd'M=B=l忺"&e=v&w*F Lցvأ]CENk~%ˍ E:DÂ*R gO-AW<\#4[cQ'7% >j3H ii|f" `)dF9!n%=/olXܓݴu1)YvT O'EtKkטsu{\/g/RQ5_" MhAX)IqXr?l 9f<5YAz]'֧%eOlEpn6^ﱾ+\\n*`o>O 1 =+0ӟ3žDZ|0L{VSOu nZh.sCa#eTlګCVVμY>Xŵd:2j5oy)Q#_ΦuĭXATa- L{>y9zq;=*ZFm]ǝ@6P9(0TX 'p =˼89s߮'qt_!Bv{SfupՋ- 6U]Lj^^E!϶[4c2g{u+V<FI+9!e-ۥsϣ)xg/ի",?b?Ϗ1J(Jp$ĶѲ:GF-oⵢxdkb\Bfw#,YX7-x83p Gwob ("k|V 8OP⾝޹t3ΕL;,&s%M2O{Jr/_JNB>f}w-XyH2 7iaR,1@ т79tEӱg.[а4*6."8 3(`"=.հ`n)kԇ%s(q$ϧvlNU1GXp}[*_f iϧ/{ˁ (xݤL{*x-J$[ރVpWWF0zZ !x٠_&:cO&_2T$IKs !.vb"^ٚ鬎~& , >UW>;F^\!&z&W@\q~aP +lܓY,ob4f ~*XUΑ)\6](T\fe?1$iTuN+]G+zhrZuٔ° J'ZVĨ5"j q󧀬5Ȯ'{ڟPmUA磭bD:l;&NQ B3"^ʽׁbgZf)dѽ*79璛5z?xKV6G̃AK'xdF(/.R*v4؃22-3W]we5Wm{wAXPC_sEwck)U:O -m{|qw262lc*c~A驆=,yxA{ט*%nL#yc9kV/8'{W5AͶ='A2uOw;%\DX,;_KjO ffJid$AJ9b{1-mDZ).oJ; ͞j"w~s"dwCCll;EǾ$ȾOՇw/Æ\Nii} sf*|& {}QX)٬q.,4OJ lKxlŶr\Y YA wm_fiy(#Hz@fB=p;`_4rtZ?ܹ;Ȍмێз\53ޫBLd~cL O,?AG-c0,k$W,X[H|m |6I2k]ŹR@s︁XW!ZymWЪ48rsjBu~AL/_i??[cxw~/xȾo\HOB*˾LJQj;fЬ%g=zk]Fad ʼi-Mr1E$s=H IzsvYGfLգտ (X"k"o#[l>+Py`'}4>?" Op(4ӣT^J1Vzٲn/–`3́u=Ih<}m V^L`I_qi4ȓ&<SXx6&RzlEmjaG>5~WbT6Ro/4"UC_[TX,؊gdcE難6ֻlGg ACb_=%1vq~WL,'KM[^Ʒ/\W L1KBM\M˺(׭4UOQ:5wQyK̺ʏ=oLL  g|}:٪ք簃bDP3œiτo8KTyn@)YeKq-Bه)| 0GSmlYeԟ3%z=$d >-y|iCdW'c=fYcp8l '![5v;o^qQ!6]pxlmeBzHkѬhaS5{඿l-0dkGv|p=/P~v($|]ᔼga׾§GO4qPp~߻ )v'+4 W֪Uҏbu}ydŸ T+WCܮ4h&ٙTZ x6}p=Π_N%pE{;V6j'\v0 ~ݪwN8@8pP~Ǩ:h^$iȅYd J%7j _-==Yu WGHR Txd"Q3z2Ԣ2\X)$yh'Jt[idO^,`_;nGT|)$iqzg6*veO >8:Z%{h^7༺@kc[!0yPw J_7vlǬh-}X^QiH+S\"3?W "dU{4A5 .ݓ彚>Hj "u b!K6dYXm٥uv=0`}+*dah$p@mhw6r;AV, |l+@_~\U}@$q6RdkϑLtH AkYGij9usw%yWRHj$yݢt( IC+\_H IJ9<ȡ%yV\B=68և0'1r 5>gJѱH8{\%G/z4igo-U~[k*tz UHukh˅.}P7 cD@c3F+.88u32L"sQRjp'n~4g9ua ;cE2$+vpu@ֽ & V 'VX D_B,d1!'&~l Fa&W'݃mݲTkLeM:`[r\jtue}7z 1_2spâhA  /KaN5QH{l? ^NxT3,ubN$aXMIxKԖ;y`=fA rOʸ02o[n0q跠g;_" y>"ڊrKso`71"|_ ]|4#G B,qdIiqS hCw<4I{AК2Q+Uћ7ץ &m?׋2Rm.mxI=lC[*MNdH gFmz=8.PN!J '*'[P..& 4U+҅Abo5q^0!R+(gy =Ra)?Ɣj˰-)0wADָT-|ƭ$6dFzA!qS ȟFf?:Fsǵ)>N1޾z8sEay,tgL/RL% ^Jl~#aѭ&t˶ +]mFEkrc6tlSmP&P7]n `&隇Av_l yeR"ɒ5'{Mв$7_Pw,t:$ؾ %RmN01PW"ʵs$l0P[\ ’| *tLz)u|o]} Iy?Cj*QHՊʎ@#0'L?`Z˼861]K$ڠ_r\t6ys6?xIA-'ވ"\UMr P%r{N)˭Hi|>pUKcB?QrDOx63Z]üF]KњpCŘuS8ja0#ο.꫞R+18CӃx".ǖ_Cx %v pPmϥ[j+kssgr?cdrZiq!X֯V8 [ST(/T MJ9%}\(Ư:u^FyFk,K@wq|c#8~.{9;jLRKn1>F_=ԷH e([F}!6[;f/}5ib pR[mOw"Ys)P8ec p>?X=CɕO&!@W OQ~2:']t"8[FVG‘7ڟ]b+JСsEJ92\f Y8@g`Oιã63ÀeMt3ɢmܯ}3Y2a^ơQ~WNAy.8K / k-ƅ+!ji顊,ګד)눲 МoRo)w]*gR=K^&c,$O,[ d1IѼ;i{kLɻ'=>୒gS?S!:MHw 3Zxi`vobcU/:-.e\ղCKq/J/ӫwr-< &5r̽iZFT9 beVDZO,4d 緑t A WvASZ?MS/%g#ΩpWj OQm 7e9=t<69;z3&9V.e.VBʶS'}]B;34hzdVBmG6Ea. ѵe᧰Vn=\b^$NiB"-ηj*"XMjޏr's 'wKx8 FLZA=>avNY=H%u*}aAn[Eqt +]qbz.>2kuHCm F˕1HW>- Bܓ'z?YV%3Qe=XxVj_0#?Db WmGSBx2(tbD$aM t,\/ߟ\AVLB~A Hjҧ_)WNhrZgsĽMm"}m9L;1|[\8TC7z ~4Eb-tP"-[CfRCD@{ծ|]p싟m^2qV<\=%ѩe71l H!xg*'8."mq8Njᰯd d>l eB h LR{OBm?;VZxtXi~_ 75oݖ o/Ƈ)XN@{A&3%= ?==6^ ?-<B<%bT'mDW`:j7mC>ӹqdŘ]ͩ={+T6 J2W dސӻ+y%\11[4R>^Bd%~]u㤭+n;;l,kkٛLWV;p$C'l$J̔־kp Sՙ%% (>;݊aw& +܃Q'$W/w`4h ҥv|ifzQTM*Ky:x'Ϥ$) ϕl_ֆdvrjC"YDk4>\,}gFBn!QT4TdC4S5"4VfWեњDW|L b64d%x -TOf3l) Q[^==ix6|t֋Ɠ/CB{3{fDd,ޭ%/"v0n7M3LI{Y0$YڿN ^5YOXЅI;C6BI˖-E>)tQsu9];ͬ s },)G/lBwr PոlitxsG xDZ^i[G+anhzJ6 qgJNIJʭ$Rƴ(fX0Ə#?ɳLY,Zuu.Hk;0٬V2W W/[y]Kc :paWO5n)um]}B9ONmm^pдelzpDM R(: AOv4617c`OZaVF-^T'4R$hϥL3\H%JJlSmo%է9T2n>7]k.b}R)&-UV nUzWOMi%q(t:9㝓IHZ8@N!}#`BNݎ&Jq !? xTf Дvt*ƗD "Fvv-ao6vTʭ_X1/:wDV6q7pezHbʦma iwkr}٭Dg!j +:?3JGEW׵^@om `c?g?)TC ?Kgb&,`*bRo ۗ5d(ًJ!++.zPfJԁWL'?*ۀ̾o{/ 3Dd B.xQ9f%3KF>`\V F*츗bkOrא%S69,%7gܙI&-wFc*zD)E(V#VmW$vɦYmXRO!Ӹ4(a_ɯei>,=@|Q͋٥B ]( >?RpP!&5<%C^L 74ݰtQ,3XR9 RӁT 1R2|DBwQwh{][lt{g$>6G^n?| 1i~a)Zjߖs$tT/|WEv&3z7Uq;9;wF~ ǖuFNDDSU.E$vHDdū1C'f@W;RFƶU=g)4_QGc=v 8 ^H(i -B {(l"Tӭ,`;LY囧 &(ii O-ug` u?J@%7Gru vU+7 1gF 4Sd(^+w`]̔k$?Sŋ- rF9-[N[rV)wS5j߼n-^VQ6_m-ˢJg;5U׻ |AF%dz 'ڙ|ժR'6O[y+ vd 0ve e3h=)"yfu! |zSP۱1*j>ߝn9 u*0tAO³NL,l^[.ubM.&1Z0Jo}i *uI@M ߳ [7|}coaKxg@j3ZN׹Ƿ2,VB*LHoo.ɉ#8g]Jt+ajG\)yވ~Hܸ{=ae +@چeYKvs0Ncti Ϫ&XQ:7αEp?SKQܭN)~iBOmʐ?^ag3g{/7Q1#^|{P>ʵxH}Wq>>uz,xc c5BͼV$Rj{V`Р25n @@uk\Yi^k S>9ouW1;rdvrA% 9Z.o~p%'#زcbdj Va$(16 Whb+hire%:N+h~dHW/zx1C.f4yE.jcs~kpk$"ó)'H/1@j Ax3&f# Wui⎉4FF{OdZO#^GcOR8+:2k~&P(s^Wr62b~If3H[oi}%9<'[篥7>J~#/Gu4:.D*̎yK N:\%Қt!F`9C=Ϝ(*o WI '6\)k(^~rv"蠑yb;>+nx*H{sMCHq!2;&63Gx"%]R%2m큀5u/f;7JV+ٝb1*|Z7wjkM V8 QRNceʏ[)=jaE-D 8Tj;6 EõvV%P @ Üq=- eE% ¾Rjьf~]ҝh'OevM˳Ddkzk0x=ZSpcnmQ/? wR[Ul +J8 cab;uJu/T.'{Wۛg1fj;^W\-"5.,$ѦxyGX~bU2l듫ɭY`@}TM> ĎģN@ֱW!:D0ej|CNkbsGp7 8jH[83{@ܘ][ 1aSZ9z 8d~[X6AI٬X%x1 Xphʠ$ :nU"8©Nbգ#wi*Y5}ɇJ80Xr/} wX@oS(X7(IΥֱ] Hۜk  ԩřE0H-9͢G9Oc*0$Bb6p]Zb) s׾͙ \D5+d.1YӇ-J3 %5_vӏ;CW(!t=\dzƴsu ޴$d%:(%. Z4 ,a>i7zrZQh]y݃ѠЛ,&O+N}1=5~RTY1<8͜DmP*޻+nGm@WP]NwtxvR9c& f`-bMQ,X! FUd<$R:ۄPmz\eDyZľrNJ); AnMnDĒF^]gOo{i_P,zn܊{ M0DUӯ)sEIAƇw&es+X>,$abma!E`9NftUpùvٗHx=%^1oPh.pfP6USȍ\_ -|"&b-UQG`L~29Z ~nA!ġhkJ*-\ 712'6Ը [Wx坏h)'𯹘x2,e]]'Xj RG!Va3|mj[0cn[CjTq!A 62T[P]݀_%Ȁe 3u@ǎ]>Ζ#Lញqgp“i넂2ZyY7cР'DiE؃ag#`]?dLϸ#+ev;|0*DWP}~wD\`(+VņF3Amh"Rǥ{IK7?3;!q襖)lZ=} Ǻk2C(NJl>HMůJRU=w E9X?x VBϏ UA6iÞ >6:I:ڄ!bU;d'qUp ':H"f{{<׏~7M]OA)*[=:NVT-r A˄)_ۑM R/nhjVc\b-dmȿBq#$+(vU Xʖ*kidx@$_vL^ E6c9i,tQصumݳ˗m1L88[7PF8&}O0][?IrTw,!zwM4wӹISbr bfrgͽ!L 'ģ6&*IliẏGoi鎜jPi!ɒxjy0+Lg"IWΖwU<,q ͡,8 ?%-^ &VV߶ ;hILA@wWEE|9)j`FlDU:h0X%V۟ ѵҕtb(7 ˓wp/M?G7Y}Wj!Im?nޭ0h8g;Er'ǩ$^!d$j1NbqJp03U͇陝(0)|;5&|g>Mri'NbQS(g9l6 ihDYaemVxbaʧYB|Q+1]DZ:ٲӗHZ񖠜~*OOʛPޢ$mf@#(F[』[7::7VNWe ŭ*\ wpўusO߾VLJl7۬:w¦O wZtTO=p4`Dvڶo..R3Uc8o豾&$Ke@74 {y($;Lb͕!FD G P|g3/2$8G 0&UXGR*VEݪ $$UcG}W;ǸNg[6hU6sB( ؞y/SY Q@fjcd|o3wx_C`뺶#ʦ}%5ςnm {o6pc~5yѻ +Γ'S|WaCpQSeiѡ#2#5S%h}LgS R1q*b <aHqfA!k~a{uR yXR:3x c լ-N!e }s 5mwCV%, kVazB .'npjgQw# ]&N`Kؼ&>5\r3#}Kmx,|xa]iz0[+!Bi$5coU'xļ;(85/' M% B($7zi ]6BSJNEPީQ~c<d:=w)sK*[h"-<cth Ӿ ۉH̼R]^^@!@pAmG~Re,J[qZ00y 1̇7yu+Z haH-qˌQ|uh_[K j@/҅7A%-'Larjg0X>FP'ZBH$@GDEO  `*鱭YIE8ɬKg ]䝻3VuRhpqPUb7ͫ#f~A`/`1JƳ- yy٬%R^k6w;zS#֪TջMAWL2x~_ekt[Ѩ hs{V1z+*"L'INե'ͳ~ f  Y< ߾Ĥ,h(ten :e%e_=h@v>TnϨ8uks!LNIxNۘ=@EPأLK Er'yrkM-kNCo:|" 8-wa.ly@CH<~ox-lIP%|x>zѳ{{iϺl#.0] nh]ٮ%97YsWx,!ux`=hهk|]<#.o\ZT8xYf YUV`͠R;x(z.0^/pӔ0)nT4cj ={E=oa4;ztgU7aC1m+?9~>xC@(KgWX ¹J;MK!>w2N0"#?_ȟ$|^Y(L/m|s.E~բÏj[]+\8.hW5PS,Ц~J'|kXxeM̋-pR:'Mc7~ ܅:=0!4: Vzl/757U_CE <$ 畀g/. ѕ(fp 4"u% UJ:mo9(~&-?Vn ۫}gtE\}Zއ8̮SjAQ] @n"sY?\])j, 6I}XS΀ S֊X5unwkپG_Ց[~"/ %,i0`3-_/ͧŋO7:Hop oj,M7zH~$큄Cg-8#`oD֫cU1ew (IUr:\ &\xpR}7. E|)ʫơ;Uxr:qV'QP&Jr|C)o7sa cE[Sh Um5c?xl@t6_u .x)e" ]U_s@А1}Tj*K=J_>[}xE=u3n*iH){ٻy'xb6I:V x9WBw󔱞=Pp>"jzW|>&|*ys_#ze('oPFDG fa@ !v]cURu91{a|Spw)n o9R !c4[ܫrz DABc3IqO $1 ~^6і]| "dRq;'B'8AÑIneZ DR=Ǹ|?ET2QF"M^Iy%:5"Qұ=#+vR<'A/TP&126>zoEv$= ȉZSa0  Dd?!H+!xjND.aF">zT`d6b!nqqLp`EGj]2`|wdF< ˣ0+$At ?Uэ`Q,Rآ$or„?Lڮ\e\+&!θYk2< A=fY Cڨ|2tE/ \ S6s3^n8l Pc8r9眒c 2kT"9DW=U^5eL&Mv MrEgj|nx\cJ?\8˗cDAg/l@q%RIDǾf(vr{H"p?gMl0w~؍2%>S&}6Dd~X9S\)`uTƪHep3WUwWHnz@#MLD w7&1B1|N8ʋ:-9pDəMw6|@ k ʰ&54-EMX4{,Fre?C.\>mB8@wj/b Ӭvve& ;ҼE^d#}]hRvde{CY);I}"Qah.j`ٹqJ3:`C&"nb. 5 jǪҔu PN6NNxT ɕ3]=TjH*'XX,{ߏ2Ikn@5>):hh#8(~3V 7Ћ'I`s]=d>U ˓ҩ]ܩo>)21>/ ʨ>?2 O.t?DN_Ռ$h QY5>"7yP/D[B5<(勈׽k׷b3;]w=pѨ6_!Koͺ6h+JVv$[\|s+D?̫1SR*2(w ;O2+Vcq KSˢ?iWP^!2a(\d:1+u=@]쁷F[\O7im\e}fw"ho`WX^tEKDU*&㘷WͿtCVxI*~k2^Zcv oCZaDC?_r+Qo$]pw i3je&Ŋ@(JXM.z\Rk+'7TR3jBY%He8vLڔ)A07`iDp8,Lxp5tn9F#szdJI?:?;4#OA@=H,Hh ܒ/r}/!tQ=_c*wzUk$ޔwT`8oܽf:(1LY ri[b~6;0J)qypk.`ô 'ss(BIr*Jp`3,U7#ӈΡO{>e?-:{Q$6҇R+&){#p]{@oYR囶`*uy]C>QWP[/X7#CϯH@Nv4Z\V{[j!/ ʘPhnDm6`xqz!x (K}'LK\zLܜGALObMZy]9F11@:;̪gvJTp8nk0/c(ӹgנqQ֑1҉rQ/~ʞY jY } F[ @e%$3bsC(ΔI쳣 ~x#zE>gE6co!L t r (csZ۩ż8k;0ufk@p=Ӽ@>#',}4ywR*wfC3H 6M~dJu9M԰R*3JRT|p)"m(zۄB.&t}X(a!saؔ(And ؘ Bm[ޘ]wlDU_TJFC_- 9ol _Z!ԏ=Iı?#o1UsƀQbn4L& 5Wf[Cذ7L>d UCwR%kтӎšd#ZBf~ZAɕmbpLc~5>פ" Bku*uHozEcoVfF9G )TC/S=:vD_jO뻃2o/u+dIܫdpY6ڔT~ۈVyޛaH 5܎Oh<;&+<Ydڑ[]p-lg 1eґj{wCmӑ$[?;t˿sRhtk(}//@*r*){Tʃ 1/Ƃ'(oh qj#8=yJKf# .o J qfivygǘֻˡnL@N[5E]/?R{ іӶ`UƟomP󧊺лY92u۱ZOm@}B/c"A_'!pR_#LN:ٽhT*nBK^U-D~VėOXQbb~zݡZjs pH΀=3unWSfet򭍮4*ya+:$h ΆkƖJ ѝsB =N؞ Z<<=󴶟xfסP̍ mRrYvxW|%_Z\_8p8\@彭SKļFi,KPnqݎ7X\TQ,T:њ̉Tk_K hTUx Lv PG-2Ģ%șN6W6dh/ |U{L|wJfT[F!;Dh8`3:uNA'Q&U)GĪk(,A^Y{9)aSZ+jN!X2~5(V&؀P XePmRDF2 U @V 2*U'4},;BJAf֔K=G1,PY_:?⇃4#~F #2*y~"qƍMV^ 9J$+R~$L;8[ `?VDF>Y)思+Spk4:s8@941ϦEuO@_+$۹`vu $#–ˬc{biEJo;}iSV,vx з?N6b{1v~UNpG'1 %T22 ЬM^~Z=yBBf:h*Cb8&): >C ^e>HuA#n5ܲ+8kT!TZ\h?>Ah5Q^wqӆ>6.||I/ܬf49}dNS=pxF^AUl%Բy>e2̢4ed p+_pUwXeia 6b)C~a1ڤŲtS]Nda @`um:K5lq:5:fCsi~ٍ}Pב㛈D%^BPu}?s 4 ҃ R[qjb5s(g] ׯBVA:ZF@⢙xqmUF cOYlX6$(f[Aӗܡ#HB偽N)J$R"]]E'Tһ#D#t ڙ8-u&N/#ap#>uENVIu+> gk($e+0Ңlh nXYr%2L͊A ~79q+ 7f&=@h̥luU5x 3YnIL*>+ESvzcez,lyޜʥL 5oHR;>nw@*>|5(d3Թ?iU>mBv73W9D ni -҇G@ˢn$ᒮ7"E ݠ9H `AX ,ށbZcp*W]a!:= U3mN]OQYv3%-u/wuKQZcy1sMckAї +もqġIkf"(x#o@L5N0QUͭ@ѝ &HMD1T{pӜOPQ;.[*vDڵ -2eӛةf)lŠ9~8Vu]W"ծL@gSBc [Ie yuGSQbXZV'reTo'M6aHOEZLvRtD7΅hzSn'賃"e@kCF68(IT}DuM=D6^̬C)&R D w_94F/4|o@5;~)S  t?]zjZORiSuuT@qvo>*Œ65GNe0)P$ X 'CFXKImF5] c^6쒭w\+1&dTwwTak.D8PŔ\jCE+6H om9  s^x塿Zk3ÄDԡJBo=%#yƭsщ* &5%\:k:"̞r*X t(θm<к482%n|ҪM^Z#"3k`;j% >0dwѴbG9ӦrVF@n䵖OXh1㒾 V]йYοK (w8:5=5dSVBg/TPǰ-+ (!OYA$lF=%j('_!!s)k9Ս<\ԊKG̚тSbk3[8w-r}Tا=C.V(EdHˋTTKJjV Ox}32jJߎm4[ס7̆aŌ+HB`4\Os Mqd!+\URSHOb%LN(c&mC[+:7G~y6t5ikh}G-1cJ}Pa9bN8Y\F7&jT@8Sq̫4H-lk't1s,@BY1sݪ)gb[ѥ'0;Rw~ĥە¡Jꇫ|cX?Lf_<{i6ҵ,YRpcy4~LR bB2  >@i=vz<'7'8N={oL+OUL΋LtIU%\}NRW"$wi[J9n'c\*>! ~-[-geNsFqJo:5c"Z|U5ILvĶ e xؖGcSΨfMIؗR Z{n}ܓդŏb ] y{>HW_DA'\NLC\hJo4גjxΟ73*t1T[rrƹ~ ȭSlBi/$Z P-j^޻v>КрYn v6V+cȱ3 piXlk lP:R:)0EhyfDK} @皓 8l7%MP(VY);-&u\'d17[w5 ;Qq }ճhd^A:Lv?ױgǔrgv!؜erԷ"ֵZ>2) |QԞ^Fn7UVn1x#\7viQCqxT~u8N ,TVւf t0,7ID:AT}߬>:+~>D(᧱R^ D&8*6]X:EX4z0g`_[ !M{(\l,c!^2\k񧫳BɘAMW?08P! gYݾ=a9SEH3S-3T֫|M۲BPUTnSa7$钙l>i4l%ؽGsU ?luM~No핪 ءWԩ̻IC VZ_2"UYXz]gcق̻`bhCNkYPC نHݪܡ귣@ Y6Y!늝+8 EC譑04[E8[YK#Fdu94y & "lA7o߆$y0TDw Bfi#w_7Yla*GUHwY6mimYðz y5_t$b6>>q%')k,!%<ǾX bthr1wβ Ld!dx_/JKC/ksmm?Q{ovOQ"5/  m(kypC-(z?^O=R7ǁ('$"{Q~S!)KƕOUNIUgt^h8 {Qf w/9MxYrX8CGaw@2O̔+n`ū'HU$&),]0SXR'>@w8,57n%'ɻþN.FS_p\B{4Pd5VuҜoo&t&TQu1R! ֔!Dg.'ʫȮu37u98B| ZD]nS89HgXр6o|^'M.⊓0#%._tCֳ L(V=#f9]¶,"f'"$G_%\tOH+vZ=j=ׯE}̳^{cNz`vRӧUUfWR#g؏<~Vb}]$WACf"nFQi{ />AYrljDLd\f0bM=E-'"-ۍDTl9^^:K9B֙3T]#ٮq[(f8ןh\OA FR^!AI|Ku~$iimPL:'܊1A?34|`yMjU ^ЬS^ZΈ'Գ~,u°} obHx?ÑVja=&D^?ɸG,<)Z{!B /8_3-d1v>$ӄX_ScJAdV2̃&N ֈyz0[iْ0)W 8 L}R[d>B4շLX/H]BqMEs "W!$כXkq!rݶO8]c,K4B] RžQ->fݾ['P8h=j,F-ɥΟS%w`KFI)G#` Ч$<Łϣ~:E4j<+Zl Ǡʖ2v:qQYa4jMYpE 4!quӻ[ňDKؕdRgjkMA bnPV@,`p94@k˓cNXOaxސ;K|Xo/zqH˚~ 0\*"^8TRU6eMмt!R׆ԲJϷ : bK]B{O! o2ӄɼ¹R `'W LE)q'k-LDY-sʩ&KOBi[ch +9dVd.#aRp]ٵJA?? {; #xՆ YY! ;`nVTp}_ > c>E_b=BOfkK <Ќ7ՒnWBPY?`KJ  \ ƤНOw㍍G*+ C,"9GS[iQU㦆S/56eQ'DN)@nT[nM )"eNpqof˹KtlEԪT6jN4$!|A-L j8rq9 \U*kOb>0h~#ntO(TSWGKG&$g-9P>6Ji#-1l<%ǫ<`2)0Xz|v,t#NVK,v7Ɂu6"coNjj5 X<,\(𞴁drx*f3J5Ǔd?Eo0^5>1$W Nf 3)(Exl$4ٔ]<(% =+۲jqhĢR;0w> *H3GQAVS7JBkHännTj ZbEwi}G[Wtmg4ZZ0i}MZT~TڻzFoVcĜؙV랢vzNҽ.\ خ/_^FܫMk{G]I¿,NOչK2)`J-RFמ g$EG_/-eW;mZ$PSI§`"!;O URwݘU0VbrV.FDL9eP& ?IJ81a8.yƒnjg]qsXFcV~͍DaNΫk|YύpcmE8E:f8Tcg7Gq]uSLH.Ѫ $TyIc ; bX 7Y٥3e!NMNpN:Xlz3Xg@CBݔl0NH Uނ8&ɉHOsj2ފT0x4V֋t[6BSc̮j~-\>RKݽ\O> jP'L|u!7tG06iOkH]*6fS̒4u&xp.c7rL+Wb߇}@[! 9_& ";H@O,DG~SB,ZS*efj԰*mz`RV,4xRڹ4*xJQѳ'7"2;:O %zGAcgOu*¶%U\ep1(Aˏ5/X~6Efa i nZsVp?f!8u#" qr;lEymnZ~e:?#r}T6,ȅY7e?A}u]|(BK1B(qؽۥg;Aa\&kѦU}N/whٍ>H@1U }Kܴ:n ȸpbx2-YqD?ݶ"0Ig];>'B 1 ^?;m= yV`B19~ob$?THs`ݸ~h"UYYTđ0Mе(9{hIgUAtYPm H;10R%D'oc ´Y[U4aͫT`1WV[2#+h5ʆJ,eZuy"# ~~US/BzwjJ9Wsn݌ء3㋯0]f$BNgUH}^CE\dC>" %$2Ȇam8pBYJ¨I"lÊ۷+ vju YfȃYy Y d M^QZAUC^*dYdW9ջ _m6POY.Riqe$O+ϝ_WEkbO f vI=wPӧAu8(£0u_;z+J2zi8ʶ* O%ǁgDu -eղϬt|/iIȕ/5k`@UvNq=9gm7'Kz057.\ݦ,C% gR2g+QԤԦU-_p{K~Ek!o[,pi Bd$^jM<p23/ -Q9dl|9Vg2uGA'UK}TՁY`D3X\76 Y+xXjbEiVAd@TtvS&Q9R/itP5+sZ!2%$B+Q)Dv)U4kŊb.)=B=i[z*BM ߽&9~ ]/J/)Y]ym 5E E]ls_*׼J*y+g>"lKw 0E -;B]RyjӲn+kn.(RX%Aov}S)‘)R7;< ]kq! j]I;%E HY^i("X({Kf˄m!HM16 ?{J3{j9:’DI=Gȧm .c{q'CѧS˭*BSQ.[$k)P|kv@&LQf΁ݶ{elf?`̼:cZɩHEҫ~z19Eec'汘WXxff'XC4\NyI&6w1'7\?βɇ$.@GQ޵JZ!{~ - Y8n6~d*}q1po4!af*0^&HOVUȘ%m$[Sdz_Gql{pqQ TlB&j|kh|cbG .'v8nu,ӛ]ׂ:ԠdA3naW ڔ^Bkn)YZ4u2B~uJAܤwVYր'87# Lx8* uer.;3EOfy!'fbX.%Y_>i='Nkuc ih!ιc(`ҞQa(nϰ+^r3 "wG5x / "m5lu'A#Z}{i)ܢvJ +XqM_tr(49 FJBL`iñS~_P<Q #Wۃ`.casdR VC*fZy~E(98T]:LV\SB| ]JZ;-.82Ss\2qs|Wc4碃S7+/5Z(.xSZ؄V6=9|&S12?h=ZH߿䠌}}MO iV__Lž-9OHls9tD,Qo S1UG·O.Bk>˷.u)`bծyb]wEL>ǃ׋]-dA9=Kؿ-ZBБrZ^dt{Ԁ™`eixG`RQPA68$)إ%]. &rqJoɃ{y8[aZ?Ys U.gG).?2@A L`y!EzUY\RDpiscjW:ȚW?Eyte1I5N9O-u%uڏt)-6oc8%ś%,K_4ЇkM<Μ|hTLG'0+be둗wR?5 6mr۴#f5,{ }cɼ閿Q(t~3&tY#c/$9 ߇QŽ^C2ygL8lp2c%Қ[ljfM;AbT2UGwo=aCߡB6JqzO;v :L;cÀMo4|e$S^[MA\YD+ 읮mnJO#Uq`6y'-9%=U-KgrAscI7cKYP;+zlMtn'S.5A$]ØG "5X<]5 o6˕b:C!>>Xo;VtFst瘧=U*=}=_Γ W %Y5(* X ԿǏ<'p"Ң_PhYSA\uj-Z‡7Y"T} {~7X(XAv[n3N 'T+ .asVX*C^B wi&FON$B#Xw"d{?Ha 6#bq,W|Lyb^ MgyܑBycM" f#pkNb)N4bzTW},"vyF[bfݱLp=hƹb(.ṕj 2W^Pn~m wbNI7<)xZ-#zd]UQ1~촋(g)%X&*xX ;#koJP`%0~D]OicIFȽ=6mH%uhH)K..`&,_e-hq4Ŧ+o84m‰ã({έobtJYu9 7 l? yUiSse2Е=qt7s~ALu}G Myi ja$mDZS&/8~F(dJG΢L)RD X$Mł\"!nςX-..kցAM3Ob@\s)g]qL@3݅K&m' gṵ`>$l^X<(}5#xQNN&3RLl_dEΛaj?vOxdaYL-?ܔ#d:~H!O4ԧﰾ1?t$ 5ƛOe폾qm711a.cˤ S)FQSKgնxz(o|)ڲs]BUsB <U<*ط!$Sr\+ d}gB ,Ւ\T}wPf߹VL! $O[`56,:CUd*3q\HA>֯kބ}`WZ]EC.LX~q {[#ӡu/SdTCcQ4]5$\0K}ES /\b1%NH0?ل(%&HI)VuCMegὮ_HGWZ󐋛G5't0UZw+y\GȴKlåV8 Fl,?'b$Seo&É qxȟ!9[B*h~W9IY1~i'Y^`2_l]uhsy3!X;Fz#!CP[tdZO,H_|7et@eWeF;@:Czn?y4z!P"qߟ`adɍ+İ  ɽР+ԹE^<^P^VyZXؠA|~ <3=*(\yVv@}(Uי=}-ttH1=yV ܦʧu' *#H7( C}ROkyZS|²e!C-E39%PF0<T:^_Х ?zt0D }m@?jA;]T@jG-X~4Sl~/t0cװC8u1ɋ goXV1eDcҁ%Zh IdօN1s$' S) (θy E%fW\]H>B-*Pci K4/D OE]GM&"$Y7RסNG*魃/B挧˖u.i{.~_^ ʸ|V[7_͈o~<+A/J5JܗA킯l^%kW8۽kG~$\L3#R xLW}N1']1}EsbL=1/J޴^PϚx@d8BinO1mH MX3Vl]E/:m#|qȣ-&Lo!ESV+ iJ x_V%*/9WQAI %ˠZB$$>w)?:L} K 0Nq1=(:tlX*1[C2 ̔s&^ r)ˇMMSNI#l)pB"x?}Qw[q!]KP kFkyTkb:fh[eṪI6ҁ'G;5v/JVibU,=>T;B𐷑X6$#e-@\6 aXL[ ev M!VkW}짫 T{}Tcs5">,ɟ:U/-?q+m"j!aBa[lB InMA '}"__#A39736Kg9֧T'CIU-~};Cv$s.=y <¥!<2GƪFrEFa 2J'hʦZ_^*vsEy;_Û4yP/ ΍+j;Іݍ`o.MpYy Ǚi@nz@fHm!?j;<"ԫ\5&|kX1] Vv'@VK qEJeb4;R/]a'.vB*!BPQʥ +]?FuϘSh11}tgf7ݶ"/0pJ3 y:eN/@oGt8Jq]F 5&袢iD_nHkD64orc*<3cF[A+PҮ:m-}-]4oE 5ŗt$"8\e \> ~zŰB4n? VKo̫M?Uڶ)o̲sDi\!z @r ؚ.1YmniUϊpἍ{ʼnJ.V> * ]6CK%^=Kg*~F1јmٓA(OQb)`! vaɸhtD :T*% ʂ7%gi8[{(TQmM#MKdKe6X!uT}ݕ&Ȟ v`}8JݶDALsNPUh0݇ym~̌xŲoO_'~.3< ,^{.ЕH cˤ^Beg)%Qx`CnTDQv=R ˆ o:!n%ϦőXdPwLopz%xqm,p3)<I|'$XevGm>^F\ 8FUxssd Y^桧~?c;ml餋|eyj۞&4^+`lPHyC@?GK9 oo!E>kEu%l(Wٿ`ܿɘ`+A)K(w: G'J3͂;UeyN/ YhlPż].KxAegU.~KdXy]JՓaxI'V)gt 9Ci{kkh))OXcO)`5c':&@;E xۭH{.ޘ8K^ހ ΃8Ԛp`@ơ a;K$G%5T#%ғ*LrBrd+b^f,4? M܀'t[O3+Qb/ɲ#1*J Y3#a@*:p˝cncȧ'iv9L"0S* ֙U l=rp })N4TOo+ bf2|GKi||' s<ݠv$? >(X i as`Ϣ:LT,yy%OOOx^2$Ś ۫nauVI;ǽ‡nflfXO̗Te'tԹB{xb.Ol I7Ip(T@`? ukԺ)4ஜ#qj0mIc]\q]FC <}ump"6CɗOeڌ"9 4r|DZqg}ZkƬLрsE+sIEk/.ΓѴ9ϴllUYƕ9f_V#j$~1p^eUٖIѿ1\sG|VjT{&RgSaF$Xzt$kЇ/Y& =]ֻ5x:w=e$?}Xq:ABE-VE wس*v H(PPy̓5s'C;g< bj[?XLs7*@:`DtӲ h XJ#bhH˝dEyKD>W!i5̋d|.|7ϾIg@[?@b g&]F"P pr..nj̾b O$ qxO?+ #>(f8\פT_̙+qILU1Q$MNi~s^;^Dvc4bH1`ƅy%VEl68`w% 嚾 *՘ F6%_pMhTH";=2F VN| ` cuAأBĞ++pN+҆[]chE*O@iX$l + yyPtTmN:4rHȲ]g*:ޚ}v *qOudWBgW mn5ڎE۹ܢ./PX]P1H%9!Ò%+ cU@GB,kuKY&Xq;oavNTHq-rC5~b9-Yd|q˙ QțIͶ[yc_GPڕzm&HH[:Y}L@7;l0CA v݉#H_2GS'J6OZZDU nʎ[@y+-Qy5ZؾBnS5$ŕ3a G;隢8.Ddظjr-liYPXJvd֭QU9Dgw@hO6JcYNHVOˇm`g[=ѨtfKY1ZaVRl36UыӮuMjeY¡*=:S 3~#բnߥBYwyɄ] Eb]WcO<l8Rg=ӊni ?YqyY2\l.PMp 79ɻKZvxuyugy^:/`mYl%W#eVҚpnBǺ mQc͵~WJٕ\ﭸV DW27'?~ unRhyο~aknr q(H߮9g8O24$Z`|I.83SA n٬IxC{!b1-Of.l:p{~N46#iYu0%;I_J˞&%onτm, R>S`Դtlr/ A蔿$2Xf"zRZܳ*"L&]B!gDԌ9,f2h{`yh|-~ԆX1,`R.Aw̍OJ;70#MO$ZS(Vڳz `o#,ocMF^?UŸ"mDߡ $OR臚8Qh,>17IQ<_٭Բ&T@Ŭ밟1Ve PD%[l_';o`v`ev"^fG$YtԳe[̤feSQj HT@smJ%VT1HTbiFٱie#І*>AMF5 V' tpjQ7$?;`lql KKg:~V0% ] d"~_ g]%C 1c!Z݀[_XA0aE֍cQad1%Kp%~O/C(T̼ h2> *Qn|^qRF^`Gܐ?jyDgJe2ڠ2Qci7Qfz%ۋ/anv o2˫F)D"u+8oIP:Xi{%ew~Z!Sr0sP+lTl6Z柮okGQJQ"j L[_%R >u<=ھHUSU*qܑFt;HSʾ`cM9ʲOw"pl0)/wu^raտx-a˥Ŷ593adT8`mFfZUDh> @ 5ŋ2Mg֮PXWM}r(C!䭀"h|nnbjzsO̴ 7~aRl%m \̶|Y:P\ToaK.HzyMAM߭uhRILtp%& s-*L1VJZf]X.8J{t)+1 &O 1eXkE r^ݭEYQ@8)ehXŐx 29JͦC_Eڈ|HP8[)`XW:~A7%4qI9m`c!P#9aԷ:`rK)|!y$Fy/a*XfNN*BxƸ3zP\!cx%7Ȍñ .*AjR; )/4BK-$[";`vF9X%2);> [&thpsBo"N*&T@'0u}6 Qc{Hf>&uNY?cFʨS/H pW`/+ql%% FjY_\;>bpf>qL1 ,:Sf1~y*!LAg3HxJHj W.Jt ÈQ IE{Wni/g?1g/ k%o](htwa6A9%p l*ۚ6KWvlҙ@MO=I@/.ɍKVSA'iw / @C3mw@!̊ik0{K= tK2f=>__uօ"Vυq]9^. WšLɹk٥F*HHnDc[oat}PE w 2y*><>9plew }1n5nxQ+Ogy mg@u`$54gYKY댱?Do\;% bH0*T/i$$EiRLQKEL;l-S;՝Ԓ&$j.Jv*0"DqHx-?2]j .pԮyՂaBc5'RnB8qU;ޚ`ۋQ̴p/g[\Y(p% L9^o +`oz>I'<50B❣۩[tK[0Mo=`J!)j1Lq'b^; O@~C7m ocEGbj}"gNJ5|Vn֋mQ(lyw|ue!f3hXgcHRܧDxlv?t*|gY>BTr57J\nnZ-L)o߹{5gj &Bf`I^<2/>p|S\OlB"=jMm`wGc{!K9v?8U2<ط*n:N$c}+8Dڈ{=K^ʳ2iOd$v)"0!Cׇ?0_?y!\i^q>LA+h6Kv_ʕ5I?Bj$@-.A<4z8Ѧ!V\:pֶ/YwzMlY *̈,uK\Fe㼪I0JvGuVI38磕8<4?n6g%nн'MFdҤŌPCV媲=WYԩ?DzXpareCYF>2b^ev gQkYt2* AZBjbrna>ffCq$q.(JC,ûɹLsb<^۳s 3#5"ifb[[U_ִjS&ɦX [2=9lhKtH WUB ]7sӜJY@6 XE]CEG^a\H% El=pIsR*LMp (%C[ frB :+<.P}N 'GR6<^3>?̞P@%`;Z_X*zgONcLFuoƥbi@>C[*TAv5*?0u=&<^++NajΆF*RPug׮ cdK*2a S(HpݵBłU.پAqr6z^iolθ4y.LT&$ E*QXmC駓4>#DЏjܖri+tϺH =q!^84bѴ52P)DP.C:RF^8v8a2cɮߑתĺBG)HP,5A\unc Ao DJEErq<yA;LH'-w05<ZU͕]ߧW:a0 Ŀ__D|= 1Z(ho3ah y~|PDD15@4Z_P>rرCGƔ~Ip8ΕDTmcsZ:E4>0m4 i--C*ziի\}n>ёr Dlh.O'ɮ8v/&1ϡ2p[gL3h :VpaB,Uz ҝ[؜ϳXX;eCtiTЩfmwaf(:=0㏉dA1lțs?X{ 2i2sʿzBeMf2PB=:as_-o.-5zI8 7O>قlUn챐5-6~idɝd]vglt:7S$ĀFω9Nay%~xk!("ʃiv#E`jKS xPCgI4NFsG/e?'1I+=v<Ӎ} < %^RMׅ%Zg(ü[D}83G?h1l;:GbU3G-VSߘVVr/W q$~˓twD/Y"WpC=OcY R]QuXƧ^_`0_ʨIQ5S!HjYXD⋹F%P ?YtXuYP5I=l2/* , rqp,a}6FEiδ+RU;pQVKGDV!!rk[MSiյ8]N5w[1w8G(:ʡFk *Jx4^"[Ր<p4;+"&r@xh1x75VY j3` #$5`L1n@ 'g;XwݫgGcyWgyf`dڗ1jvuiP|p  ]o怇BH3 ٦8=l͡' .P7-]` NȊV8N(cEG |QN1NVD{qqo=)>BF̹Bn]@XOoQgf6k!Vkr[~.-8I${|Pp F`[)o`psfT@2F(iFĠć5nՍQA+e%KI\~cHac_ݱÃj俔F q ZhI%zEw { R]B0ƛNXmNlc?xPeS^øDSULv6,qҫ;dЦqʄJ5Xm} R;]"+UIͷ'?-ؖ žy@f*GK} uCo38w{ Mm ɝ@{'[咈_3&£g3-z: ]:8 3Wtw8.1^ J:$1{;@m i6|m,P?ۙ"šLMzz:8eF%sqַs[ B4P` )kz6.9^W1]dT>`NEhd6!ZQV"۾~1 {߬4ɻQlo0G 0v)6k{FR\LlL;u_+߇oOS5^gJ#x5n+wgnN(X(O'0O0ˬo-7ȢmY.Fo0Yu? ov;]甤$@3y5}{_n`q̽,р6 7,E}m[1Q$isrv9wX,7P'&7TZRƚ ;Jr;BBDJbͽIӡ[97mMwBSI 2>FYbŇ)H:k;6M'R%p[do] 9QjICiOYɟTs+bHn層B'KWf g#.#дV;ǩ6$ggSVeDetpOkNP[(bQùVDH0xW +-ZN|BR $,KO:f(,-7f]D)0}_?v7 ``I tkmF;g)ڥ&*K⩈dVXw$'T$>u&{peB4Nx} A(-;JPִ%pHb蔾 ZN4ѓ)%l纨WFQmav ߲#ÿu,^РwMz.˫P! XT܇aR@y3 yUM8DFt叫45n -> 6AE.ԺM1o:<#B1m$FBRqEsKӁlMћE}#HAXp)7gx} d>VUhi%=r׫!D= wWiRvy2};;8 A)Wh+tk-eo'8.H_Gj$ʌY_ƹ ,7iV 109pΈMY# x$w;4}D>{/2:R]¾}?Vޜaqm) urPay%/ ӔS"Ǡ_p&NS"P dAM!hȝ]4!0R_& gFv7w=\<xa95%Ęi޴ɘOb'2` \S\;Ywh(ǜ hH !Ƿ:mB7_JO O"3t=lb* t"HFJDLS|7P:̐1/C%:=C)"̲IC8uwN?_N' ex$lmaE)ڠ{;!%ldc7EDe!a Yb=x#"eԍjJ)?-ek1tq!1uri^FeRi;PϗOƐ ]Pa#׃]O+4Bz> Az=U\cbtw~םȊҴmT#n"vq0]Q!4qL'] Q8zn'w"nZf\ 1Փ0nwB8c\9s7bE-%Rb#X3swG;\-_k67i/` C];;?W|P aцuhU>g 5#Cf_ـN:%!=V0DL9^ u&(%,؜b)QH nVbڡ|quXx(4_zyw،̰GIYWң{-Qέʣp;"CFHTQC@yyDz[DMT.LEn0@6NFs'B`q}J e7>1ԷHIfjŒIqQ)R3[4̟1Aɭw_"!97B ,!\IDb ւ2L)ˬ\&ʸW"٘ܗ1$<_o"ov![p krY$ulT>o%LJ>0Bp :LQO+e.S'TJɵV-i/ٽи6ߙL1p$6\cڰBsY33yG!n8KjAMFB:@EJR_܇_!(+$h`=<% ':d^^9Xd8#"I93VR39ԱnVzx4s\lԝy}YpټR2̢iXKŭN [ {g^ވSD[pD0@y8V?=OQ |^qst8 ^>cFCYn}WԔ;C tiuЇ>\8X՟\<"E `<3K&jxFRe@Bm4/+ɠַl8y|ff.,j=P=!bW3Vš $ٛ@-MBt օz+RTOB luOJzQ=Hd G{)B8\bv=OU[TIR{R_8iOHEu}Pv@, @ot zhrCYS$V&`t W,`n OV]ASx4̖)_Gd@9 syp8+A2V/Xֆ?RɹD"פ y~-dE׺AQ\ۈs+TMUu߽9 l@PHEo)/nhB rE,OfygR;ٞN# %~tb\fc?]2Q O=S3C#nmbϦK TKSe fv` F|dzTmSF0 HrbY:e3 mFB:k:eI^ÄkXBh.;Uj=,Tx}svw1I*͍@5 f `!|QӠa˘٦/KgE,B3A$ RUߎ`10܅ 50 iϻJ_![W^(u+=nq|:B{KE;+'&iEbk#ũPmj[ɸi͠@R$1}r>!h&Ϸm){lNڌ8{N ޴vċ!v;0G+ α)D,#2ȁbIEX9$>߀9OoU9vȜqz@Z]&nc7BXH B2F6בi,wd%%dLJTSvƬх{&UwFM5 ϯPÏ lАۚ gRЗza * -0`L_|sP$p.aF9 .fkoFP2+`wɨb@ᤙmgnQTM] ~K\fT9Q(^Wm+-/㧛wea_reO$P^ psň{תjbOiO)W*SKxl)np4˭qADSXHd% I8i&Q^Xkl2k e=^(0 <ϡlI³-bF% VQ~b<:Wk\>);RvXfijhp;^-TϪ`r,Ho+ME O'ԽMU0aM:m_l*&cQt"xW y[e4}|_1&)Xe= HR8&&})`VcWŢE~0\%=;*(\D(9։.|fqzk-oWm[낾E¤;YA?u"j?=}"̈Qb(_Y2 :j ~By&6\x} X<@^B8o$zx(?60]2u/~}8n:[ٿUHfa+iZa젦eۥgK3)J^n%"xӷ|&Vn1Dx1vҠ/^l/?% < )\ w cт<͊C}kHbdD% #FN' +0cT]LL\)M$2RY~j,9X%¯}7Kԁfk\o*ق6)fيv5p7 7&՞M$er4u;|ñaM7W reH?]RÞߒ(pt`y0H7P O-2, |q0y#tko03Fn}]37p1Zt}aS,wwxTjLC&9J 'Q  !HO;ڄ%LSD#E` ya~he_7ְ}k8 Pӆ-*M(/ @|($DRoyr7]t84^B{XS]RCǫӇD-∑c)f:5-ߺtwwYSFp\nF<,z͜Lu)7JR0urjůo7r̼5XXU]CK b^U%A! Ѱ(r3UG2h m h?b,(gwѩ<R-(];\GC󀋨nUb~g?lL qeviSG[E`Q5mY_dn4GpZpCɲ휓%W̳gXF{4k5y+@ bce Axy ڜѝT9re׬&Q7PO"dl~AmIVo/3Y7cGڑ=sf<V%6- $|/U`ܣ7}\@ץs;zݸr rfƽRMw66, 8 TEY{66tU!_oNlW&4œZMDDiWܪƧ.dp. 53hxs/te{:o!狰0b z3>G1}`: zTYlyb gHt.+0*,-Kz1W/=gZ ۭfs+4V4dXkHGɀȥjR9fsG0aOܻ.OٽwSuJbK[(V^<[Wf')/Ap(숤E]#. p fdN!7"iHtY*ȅ<*tMvw&جnbv: /#RFgA$w.}QszQQ[y=V'-_+ҤnA<;c4r6 rr,rBh4su-Hz$Ý~Q=iFzzK35+{TJkC:%JߑQ~`5Z/t;A[ٻؽ7_Y YxΉ>'I7Q@/~,TOh_صnɆ Y+zhwٳ /kԦ't`Y U $-rE97_ º/%ɞr~ <NCįMGS+ifz-hD}?64|P>]E"R!|%EMMEцoJ-H]*7d4@8AAj|,>$RT?ZjfP;iqT}ϢC;+~[Ҥz@7i){Y50tX۽?]{ȻJtH) k{Ҹ7591iF BOB@B\=J?ϭDFKƗi)yi+ ;JL5OcWq'atwO9i0`j}0h>UΛ+ߴqWZp0\1:V*իcޫ;\v'ٓ28eSVr0_ daVcq uS[sZ@,B^l=C.zbce_[tjmlnHG:OBwx`LUYԤӎw^xg< _Uc-c#F`jZWyLw&!NiE+ZʐE],v T`8K<{:eʈ5.u7?>%3(:&l>~hŤ)z^SbMd"PBjhkȥ࢜/ q<$?kK}k[i